[grass] 04/13: Imported Upstream version 7.1.svn20160409

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Sat Apr 9 16:24:26 UTC 2016


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master-svn
in repository grass.

commit c2e0934569032f36e64946a3bb7cbeeecdd01041
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sat Apr 9 12:48:16 2016 +0200

    Imported Upstream version 7.1.svn20160409
---
 .travis.yml                                        |     95 +
 ChangeLog                                          | 213975 ++++++++++++++++++
 ChangeLog_7.0.3.gz                                 |    Bin 820475 -> 0 bytes
 INSTALL                                            |      2 +-
 Makefile                                           |      3 +-
 README.debian                                      |      3 +-
 REQUIREMENTS.html                                  |     10 +-
 Vagrantfile                                        |    113 +
 configure                                          |   1933 +-
 configure.in                                       |    208 +-
 contributors_extra.csv                             |      1 +
 db/db.columns/db.columns.html                      |      2 +-
 db/db.connect/db.connect.html                      |     45 +-
 db/db.copy/db.copy.html                            |      2 +-
 db/db.createdb/db.createdb.html                    |      2 +-
 db/db.databases/db.databases.html                  |      2 +-
 db/db.describe/db.describe.html                    |      2 +-
 db/db.drivers/db.drivers.html                      |      2 +-
 db/db.dropdb/db.dropdb.html                        |      2 +-
 db/db.execute/db.execute.html                      |      2 +-
 db/db.login/db.login.html                          |     16 +-
 db/db.login/main.c                                 |     37 +-
 db/db.select/db.select.html                        |      2 +-
 db/db.tables/db.tables.html                        |      2 +-
 db/drivers/dbf/grass-dbf.html                      |      2 +-
 db/drivers/mysql/db.c                              |      8 +-
 db/drivers/mysql/dbe.c                             |      6 +-
 db/drivers/mysql/grass-mesql.html                  |      2 +-
 db/drivers/mysql/grass-mysql.html                  |      2 +-
 db/drivers/odbc/grass-odbc.html                    |      2 +-
 db/drivers/ogr/grass-ogr.html                      |      2 +-
 db/drivers/postgres/db.c                           |     18 +-
 db/drivers/postgres/dbdriver.h                     |      3 +
 db/drivers/postgres/grass-pg.html                  |      2 +-
 db/drivers/postgres/listdb.c                       |     11 +-
 db/drivers/postgres/table.c                        |     44 +
 db/drivers/sqlite/db.c                             |      3 +
 db/drivers/sqlite/dbdriver.h                       |      4 +
 db/drivers/sqlite/grass-sqlite.html                |      2 +-
 db/drivers/sqlite/table.c                          |     44 +
 demolocation/PERMANENT/.bash_history               |     43 -
 demolocation/PERMANENT/.bashrc                     |     14 -
 display/d.barscale/d.barscale.html                 |      2 +-
 display/d.colorlist/d.colorlist.html               |      2 +-
 display/d.colortable/d.colortable.html             |      2 +-
 display/d.erase/d.erase.html                       |      2 +-
 display/d.extract/d.extract.html                   |      2 +-
 display/d.font/d.font.html                         |      2 +-
 display/d.fontlist/d.fontlist.html                 |      2 +-
 display/d.geodesic/d.geodesic.html                 |      2 +-
 display/d.graph/d.graph.html                       |      2 +-
 display/d.grid/d.grid.html                         |      2 +-
 display/d.his/d.his.html                           |      2 +-
 display/d.histogram/d.histogram.html               |      2 +-
 display/d.info/d.info.html                         |      2 +-
 display/d.info/main.c                              |     11 +-
 display/d.labels/d.labels.html                     |      2 +-
 display/d.legend/d.legend.html                     |      2 +-
 display/d.legend/histogram.c                       |    128 +-
 display/d.legend/local_proto.h                     |      5 +-
 display/d.legend/main.c                            |     31 +-
 display/d.linegraph/d.linegraph.html               |      2 +-
 display/d.mon/Makefile                             |      2 +
 display/d.mon/d.mon.html                           |      8 +-
 display/d.mon/list.c                               |    149 +-
 display/d.mon/main.c                               |     50 +-
 display/d.mon/proto.h                              |     11 +-
 display/d.mon/render_cmd.py                        |    119 +
 display/d.mon/start.c                              |    210 +-
 display/d.mon/stop.c                               |     93 +-
 display/d.northarrow/d.northarrow.html             |      2 +-
 display/d.path/d.path.html                         |      2 +-
 display/d.path/select.c                            |      2 +-
 display/d.profile/d.profile.html                   |      2 +-
 display/d.rast.arrow/d.rast.arrow.html             |     47 +-
 display/d.rast.arrow/main.c                        |     55 +-
 display/d.rast.num/d.rast.num.html                 |      2 +-
 display/d.rast.num/main.c                          |     35 +-
 display/d.rast/d.rast.html                         |      2 +-
 display/d.rast/display.c                           |      2 -
 display/d.rgb/d.rgb.html                           |      2 +-
 display/d.rhumbline/d.rhumbline.html               |      2 +-
 display/d.rhumbline/main.c                         |      4 +-
 display/d.text/d.text.html                         |      2 +-
 display/d.title/d.title.html                       |      2 +-
 display/d.vect.chart/bar.c                         |     47 +-
 display/d.vect.chart/d.vect.chart.html             |     19 +-
 display/d.vect.chart/d_vect_chart_pie_3d.png       |    Bin 0 -> 93951 bytes
 display/d.vect.chart/global.h                      |      8 +-
 display/d.vect.chart/main.c                        |     11 +-
 display/d.vect.chart/pie.c                         |    157 +-
 display/d.vect.chart/plot.c                        |      7 +-
 display/d.vect.thematic/d.vect.thematic.html       |      2 +-
 display/d.vect/d.vect.html                         |      2 +-
 display/d.vect/main.c                              |      2 +-
 display/d.where/d.where.html                       |      2 +-
 display/displaydrivers.html                        |     51 +
 doc/Makefile                                       |      7 +-
 doc/README                                         |    105 +
 doc/gi_3dview.jpg                                  |    Bin 0 -> 24639 bytes
 doc/gi_c.jpg                                       |    Bin 0 -> 5641 bytes
 doc/gi_cartography.jpg                             |    Bin 0 -> 23461 bytes
 doc/gi_database.jpg                                |    Bin 0 -> 16282 bytes
 doc/gi_display.jpg                                 |    Bin 0 -> 11901 bytes
 doc/gi_gallery.jpg                                 |    Bin 0 -> 15631 bytes
 doc/gi_general.jpg                                 |    Bin 0 -> 10679 bytes
 doc/gi_gui.jpg                                     |    Bin 0 -> 22020 bytes
 doc/gi_imagery.jpg                                 |    Bin 0 -> 23568 bytes
 doc/gi_misc.jpg                                    |    Bin 0 -> 15584 bytes
 doc/gi_python.jpg                                  |    Bin 0 -> 6554 bytes
 doc/gi_raster.jpg                                  |    Bin 0 -> 11312 bytes
 doc/gi_raster3d.jpg                                |    Bin 0 -> 21863 bytes
 doc/gi_temporal.jpg                                |    Bin 0 -> 12810 bytes
 doc/gi_vector.jpg                                  |    Bin 0 -> 8547 bytes
 doc/grass_database.html                            |    295 +
 doc/grass_database.png                             |    Bin 0 -> 46732 bytes
 doc/grass_database.svg                             |    510 +
 doc/gui/wxpython/example/g.gui.example.html        |      2 +-
 doc/howto_release.txt                              |     26 +-
 doc/infrastructure.txt                             |     48 +-
 doc/projectionintro.html                           |      2 +-
 doc/raster/r.example/r.example.html                |      2 +-
 doc/vector/v.example/v.example.html                |      2 +-
 general/g.access/g.access.html                     |      2 +-
 general/g.cairocomp/g.cairocomp.html               |      2 +-
 general/g.copy/g.copy.html                         |      6 +-
 general/g.copy/main.c                              |      2 +-
 general/g.dirseps/g.dirseps.html                   |      2 +-
 general/g.filename/g.filename.html                 |      2 +-
 general/g.findetc/g.findetc.html                   |      2 +-
 general/g.findfile/g.findfile.html                 |     31 +-
 general/g.gisenv/g.gisenv.html                     |      8 +-
 general/g.gui/g.gui.html                           |      2 +-
 general/g.gui/main.c                               |     45 +-
 general/g.list/g.list.html                         |      2 +-
 general/g.list/global.h                            |     21 +
 general/g.list/list.c                              |    172 +
 general/g.list/main.c                              |    213 +-
 general/g.list/testsuite/test_g_list.py            |      7 +-
 general/g.mapset/g.mapset.html                     |      2 +-
 general/g.mapsets/g.mapsets.html                   |      6 +-
 general/g.message/g.message.html                   |      4 +-
 general/g.mkfontcap/g.mkfontcap.html               |      2 +-
 general/g.parser/g.parser.html                     |      4 +-
 general/g.pnmcomp/g.pnmcomp.html                   |      2 +-
 general/g.ppmtopng/g.ppmtopng.html                 |      2 +-
 general/g.proj/datumtrans.c                        |      6 +-
 general/g.proj/g.proj.html                         |      4 +-
 general/g.proj/input.c                             |      4 +-
 general/g.proj/output.c                            |      2 +-
 general/g.region/g.region.html                     |      2 +-
 general/g.region/printwindow.c                     |     23 +-
 general/g.remove/g.remove.html                     |      2 +-
 general/g.remove/testsuite/test_g_remove.py        |      9 +-
 general/g.rename/g.rename.html                     |      3 +-
 general/g.rename/testsuite/test_overwrite.py       |    120 +
 general/g.setproj/g.setproj.html                   |      2 +-
 general/g.tempfile/g.tempfile.html                 |      2 +-
 general/g.version/g.version.html                   |     20 +-
 general/g.version/main.c                           |      3 +-
 grasslib.dox                                       |      9 -
 gui/icons/Makefile                                 |     15 +-
 gui/icons/grass.desktop                            |      4 +-
 gui/icons/grass.ico                                |    Bin 17542 -> 102134 bytes
 gui/icons/grass/select.png                         |    Bin 0 -> 629 bytes
 gui/icons/grass_osgeo.ico                          |    Bin 17542 -> 102134 bytes
 gui/wxpython/Makefile                              |     12 +-
 gui/wxpython/README                                |      2 +-
 gui/wxpython/animation/g.gui.animation.html        |      2 +-
 gui/wxpython/animation/g.gui.animation.py          |      4 +
 gui/wxpython/animation/nviztask.py                 |      4 +-
 gui/wxpython/animation/provider.py                 |      9 +-
 gui/wxpython/animation/utils.py                    |      8 +-
 gui/wxpython/core/debug.py                         |      8 +-
 gui/wxpython/core/gcmd.py                          |     50 +-
 gui/wxpython/core/gconsole.py                      |     56 +-
 gui/wxpython/core/giface.py                        |      2 +-
 gui/wxpython/core/globalvar.py                     |     14 +-
 gui/wxpython/core/gthread.py                       |      4 +-
 gui/wxpython/core/layerlist.py                     |     13 +-
 gui/wxpython/core/render.py                        |    794 +-
 gui/wxpython/core/settings.py                      |     13 +-
 gui/wxpython/core/test.toolboxes_menudata.xml      |     85 -
 .../data/test_toolboxes_menu.xml}                  |      0
 .../testsuite/data/test_toolboxes_menudata_ref.xml |     85 +
 .../data/test_toolboxes_user_toolboxes.xml}        |      0
 gui/wxpython/core/testsuite/toolboxes.sh           |      7 +
 gui/wxpython/core/toolboxes.py                     |     30 +-
 gui/wxpython/core/treemodel.py                     |     16 +-
 gui/wxpython/core/utils.py                         |    102 +-
 gui/wxpython/core/workspace.py                     |      4 +-
 gui/wxpython/core/ws.py                            |     85 +-
 gui/wxpython/{gmodeler => datacatalog}/Makefile    |      0
 gui/wxpython/datacatalog/__init__.py               |      5 +
 gui/wxpython/datacatalog/catalog.py                |     86 +
 gui/wxpython/datacatalog/frame.py                  |     92 +
 gui/wxpython/datacatalog/g.gui.datacatalog.html    |     58 +
 gui/wxpython/datacatalog/g.gui.datacatalog.py      |     51 +
 gui/wxpython/datacatalog/toolbars.py               |     48 +
 gui/wxpython/datacatalog/tree.py                   |    658 +
 gui/wxpython/dbmgr/base.py                         |      7 +-
 gui/wxpython/dbmgr/g.gui.dbmgr.html                |      2 +-
 gui/wxpython/dbmgr/g.gui.dbmgr.py                  |      4 +
 gui/wxpython/docs/wxGUI.components.html            |      7 +-
 gui/wxpython/docs/wxGUI.html                       |     34 +-
 gui/wxpython/docs/wxGUI.iscatt.html                |      2 +-
 gui/wxpython/docs/wxGUI.modules.html               |    191 +
 gui/wxpython/docs/wxGUI.nviz.html                  |      2 +-
 gui/wxpython/docs/wxGUI.toolboxes.html             |      4 +-
 gui/wxpython/docs/wxGUI.vnet.html                  |      2 +-
 gui/wxpython/docs/wxGUI_map_display.jpg            |    Bin 305686 -> 204014 bytes
 gui/wxpython/docs/wxGUI_modules_flags.png          |    Bin 0 -> 15136 bytes
 gui/wxpython/docs/wxGUI_modules_parameters.png     |    Bin 0 -> 25352 bytes
 gui/wxpython/docs/wxGUI_modules_style_left.png     |    Bin 0 -> 20874 bytes
 gui/wxpython/docs/wxGUI_modules_style_top.png      |    Bin 0 -> 10654 bytes
 gui/wxpython/docs/wxGUI_modules_widget_file1.png   |    Bin 0 -> 4568 bytes
 gui/wxpython/docs/wxGUI_modules_widget_file2.png   |    Bin 0 -> 5853 bytes
 .../docs/wxGUI_modules_widget_selection.png        |    Bin 0 -> 2359 bytes
 .../docs/wxgui_sphinx/_templates/oholosidebar.html |      9 -
 gui/wxpython/gcp/g.gui.gcp.html                    |      2 +-
 gui/wxpython/gcp/g.gui.gcp.py                      |      4 +
 gui/wxpython/gis_set.py                            |     12 +-
 gui/wxpython/gmodeler/Makefile                     |      5 +-
 gui/wxpython/gmodeler/dialogs.py                   |     15 +-
 gui/wxpython/gmodeler/frame.py                     |     33 +-
 gui/wxpython/gmodeler/g.gui.gmodeler.html          |    400 +-
 gui/wxpython/gmodeler/g.gui.gmodeler.py            |      5 +-
 gui/wxpython/gmodeler/g_gui_gmodeler_avg_map.png   |    Bin 0 -> 26111 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_avg_run.png   |    Bin 0 -> 31593 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_comment.png   |    Bin 0 -> 428 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_db.png        |    Bin 0 -> 1571 bytes
 .../gmodeler/g_gui_gmodeler_dlg_module.png         |    Bin 0 -> 7770 bytes
 .../gmodeler/g_gui_gmodeler_intermediate_data.png  |    Bin 0 -> 18188 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_items.png     |    Bin 0 -> 22397 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_loop.png      |    Bin 0 -> 1231 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_loop_dlg.png  |    Bin 0 -> 8777 bytes
 .../gmodeler/g_gui_gmodeler_loop_final.png         |    Bin 0 -> 11650 bytes
 .../gmodeler/g_gui_gmodeler_lower_toolbar.png      |    Bin 0 -> 66024 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png  |    Bin 0 -> 442 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png       |    Bin 0 -> 1688 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png     |    Bin 0 -> 1429 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png   |    Bin 0 -> 525 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png  |    Bin 0 -> 363 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_model_avg.png |    Bin 0 -> 15678 bytes
 .../g_gui_gmodeler_model_classification.png        |    Bin 0 -> 55170 bytes
 .../gmodeler/g_gui_gmodeler_model_landslides.png   |    Bin 0 -> 34352 bytes
 .../gmodeler/g_gui_gmodeler_model_properties.png   |    Bin 0 -> 8124 bytes
 .../gmodeler/g_gui_gmodeler_model_usle.png         |    Bin 0 -> 37558 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_modis_1.png   |    Bin 0 -> 119607 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_modis_1o.png  |    Bin 0 -> 126748 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_modis_2.png   |    Bin 0 -> 110025 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_modis_2o.png  |    Bin 0 -> 122316 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_modis_3.png   |    Bin 0 -> 119852 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_modis_3o.png  |    Bin 0 -> 124367 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_modul.png     |    Bin 0 -> 495 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_modulex.png   |    Bin 0 -> 363 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png   |    Bin 0 -> 1742 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png |    Bin 0 -> 1844 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png |    Bin 0 -> 604 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png   |    Bin 0 -> 1687 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png |    Bin 0 -> 19459 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_python.png    |    Bin 0 -> 16647 bytes
 .../gmodeler/g_gui_gmodeler_python_code.png        |    Bin 0 -> 16854 bytes
 .../gmodeler/g_gui_gmodeler_python_code_result.png |    Bin 0 -> 13366 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_raster.png    |    Bin 0 -> 1626 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_raster3d.png  |    Bin 0 -> 1812 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_relation.png  |    Bin 0 -> 600 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png   |    Bin 0 -> 10071 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_variables.png |    Bin 0 -> 18479 bytes
 .../gmodeler/g_gui_gmodeler_variables_raster.png   |    Bin 0 -> 14509 bytes
 .../gmodeler/g_gui_gmodeler_variables_run.png      |    Bin 0 -> 8146 bytes
 gui/wxpython/gmodeler/g_gui_gmodeler_vector.png    |    Bin 0 -> 1537 bytes
 .../g_gui_gmodeler_zipcodes_avg_elevation.gxm      |    339 +
 gui/wxpython/gmodeler/gmodeler_frame.png           |    Bin 67162 -> 0 bytes
 gui/wxpython/gmodeler/model.py                     |     90 +-
 gui/wxpython/gmodeler/preferences.py               |     17 +
 gui/wxpython/gui_core/dialogs.py                   |    731 +-
 gui/wxpython/gui_core/forms.py                     |    142 +-
 gui/wxpython/gui_core/goutput.py                   |     10 +-
 gui/wxpython/gui_core/gselect.py                   |    289 +-
 gui/wxpython/gui_core/mapdisp.py                   |     77 +-
 gui/wxpython/gui_core/menu.py                      |      7 +-
 gui/wxpython/gui_core/preferences.py               |     19 +-
 gui/wxpython/gui_core/pyedit.py                    |    566 +
 gui/wxpython/gui_core/pystc.py                     |     24 +-
 gui/wxpython/gui_core/query.py                     |      3 +-
 gui/wxpython/gui_core/simplelmgr.py                |      1 +
 gui/wxpython/gui_core/treeview.py                  |     45 +-
 gui/wxpython/gui_core/vselect.py                   |    407 +
 gui/wxpython/gui_core/widgets.py                   |    201 +-
 gui/wxpython/iclass/frame.py                       |      5 +-
 gui/wxpython/iclass/g.gui.iclass.html              |      2 +-
 gui/wxpython/iclass/g.gui.iclass.py                |      4 +
 gui/wxpython/iscatt/plots.py                       |      9 +-
 gui/wxpython/lmgr/__init__.py                      |      1 +
 gui/wxpython/lmgr/frame.py                         |    102 +-
 gui/wxpython/lmgr/giface.py                        |     27 +-
 gui/wxpython/lmgr/layertree.py                     |    147 +-
 gui/wxpython/lmgr/pyshell.py                       |     33 +-
 gui/wxpython/lmgr/toolbars.py                      |      2 -
 gui/wxpython/location_wizard/wizard.py             |    302 +-
 gui/wxpython/mapdisp/frame.py                      |    308 +-
 gui/wxpython/mapdisp/main.py                       |    280 +-
 gui/wxpython/mapdisp/statusbar.py                  |     10 +-
 gui/wxpython/mapdisp/toolbars.py                   |    127 +-
 gui/wxpython/mapswipe/frame.py                     |      6 +-
 gui/wxpython/mapswipe/g.gui.mapswipe.py            |      4 +
 gui/wxpython/mapswipe/mapwindow.py                 |      5 +-
 gui/wxpython/mapwin/analysis.py                    |      2 +-
 gui/wxpython/mapwin/buffered.py                    |    226 +-
 gui/wxpython/mapwin/decorations.py                 |     19 +-
 gui/wxpython/mapwin/graphics.py                    |     86 +-
 gui/wxpython/modules/colorrules.py                 |     71 +-
 gui/wxpython/modules/extensions.py                 |     20 +-
 gui/wxpython/modules/import_export.py              |    859 +
 gui/wxpython/modules/mapsets_picker.py             |      3 +
 gui/wxpython/modules/vkrige.py                     |     56 +-
 gui/wxpython/nviz/mapwindow.py                     |     26 +-
 gui/wxpython/nviz/tools.py                         |     68 +-
 gui/wxpython/psmap/dialogs.py                      |     17 +-
 gui/wxpython/psmap/g.gui.psmap.html                |      2 +-
 gui/wxpython/psmap/g.gui.psmap.py                  |      4 +
 gui/wxpython/psmap/instructions.py                 |      5 +-
 gui/wxpython/psmap/utils.py                        |     11 +-
 gui/wxpython/rdigit/__init__.py                    |      4 +
 gui/wxpython/rdigit/controller.py                  |    544 +
 gui/wxpython/rdigit/dialogs.py                     |    119 +
 gui/wxpython/rdigit/toolbars.py                    |    175 +
 gui/wxpython/rlisetup/g.gui.rlisetup.html          |      4 +-
 gui/wxpython/rlisetup/g.gui.rlisetup.py            |      4 +
 gui/wxpython/rlisetup/sampling_frame.py            |      8 +-
 gui/wxpython/timeline/frame.py                     |     15 +-
 gui/wxpython/timeline/g.gui.timeline.html          |      2 +-
 gui/wxpython/timeline/g.gui.timeline.py            |      4 +
 gui/wxpython/tplot/frame.py                        |     53 +-
 gui/wxpython/tplot/g.gui.tplot.html                |      2 +-
 gui/wxpython/tplot/g.gui.tplot.py                  |     11 +-
 gui/wxpython/vdigit/g.gui.vdigit.html              |      2 +-
 gui/wxpython/vdigit/g.gui.vdigit.py                |     12 +-
 gui/wxpython/vdigit/toolbars.py                    |     10 +-
 gui/wxpython/vdigit/wxdigit.py                     |      2 +-
 gui/wxpython/vdigit/wxdisplay.py                   |      4 +-
 gui/wxpython/vnet/vnet_core.py                     |      3 +-
 gui/wxpython/vnet/vnet_data.py                     |      5 +-
 gui/wxpython/web_services/dialogs.py               |     28 +-
 gui/wxpython/web_services/widgets.py               |      2 +-
 gui/wxpython/wxgui.py                              |     17 +-
 gui/wxpython/wxplot/dialogs.py                     |     21 +-
 gui/wxpython/xml/menudata.README                   |      2 +-
 gui/wxpython/xml/menudata_modeler.xml              |      6 +
 gui/wxpython/xml/menudata_pyedit.xml               |     98 +
 gui/wxpython/xml/toolboxes.xml                     |     29 +-
 imagery/i.albedo/bb_alb_aster2bands.c              |     14 +
 imagery/i.albedo/bb_alb_landsat8.c                 |     26 +
 imagery/i.albedo/functions.h                       |      1 +
 imagery/i.albedo/i.albedo.html                     |     13 +-
 imagery/i.albedo/main.c                            |    493 +-
 imagery/i.aster.toar/i.aster.toar.html             |      2 +-
 imagery/i.atcorr/geomcond.cpp                      |      8 +-
 imagery/i.atcorr/geomcond.h                        |      4 +-
 imagery/i.atcorr/i.atcorr.html                     |     17 +-
 imagery/i.atcorr/iwave.cpp                         |    215 +-
 imagery/i.atcorr/iwave.h                           |      8 +-
 imagery/i.atcorr/sensors_csv/geoeye1.csv           |    652 +
 imagery/i.biomass/i.biomass.html                   |      2 +-
 imagery/i.cca/i.cca.html                           |      2 +-
 imagery/i.cluster/i.cluster.html                   |      2 +-
 imagery/i.eb.eta/i.eb.eta.html                     |      2 +-
 imagery/i.eb.evapfr/i.eb.evapfr.html               |      2 +-
 imagery/i.eb.hsebal01/i.eb.hsebal01.html           |      2 +-
 imagery/i.eb.netrad/i.eb.netrad.html               |      2 +-
 imagery/i.eb.soilheatflux/i.eb.soilheatflux.html   |      2 +-
 imagery/i.emissivity/i.emissivity.html             |      2 +-
 imagery/i.evapo.mh/i.evapo.mh.html                 |      2 +-
 imagery/i.evapo.pm/i.evapo.pm.html                 |      2 +-
 imagery/i.evapo.pt/i.evapo.pt.html                 |      2 +-
 imagery/i.evapo.time/i.evapo.time.html             |      2 +-
 imagery/i.fft/i.fft.html                           |      4 +-
 imagery/i.gensig/i.gensig.html                     |      2 +-
 imagery/i.gensigset/i.gensigset.html               |      2 +-
 imagery/i.group/i.group.html                       |      2 +-
 imagery/i.his.rgb/i.his.rgb.html                   |      6 +-
 imagery/i.ifft/i.ifft.html                         |      2 +-
 imagery/i.landsat.acca/i.landsat.acca.html         |      4 +-
 imagery/i.landsat.toar/i.landsat.toar.html         |      2 +-
 imagery/i.maxlik/i.maxlik.html                     |      2 +-
 imagery/i.modis.qc/i.modis.qc.html                 |      2 +-
 imagery/i.ortho.photo/README                       |     15 +-
 .../i.ortho.camera/i.ortho.camera.html             |      2 +-
 .../i.ortho.photo/i.ortho.elev/i.ortho.elev.html   |      2 +-
 .../i.ortho.photo/i.ortho.init/i.ortho.init.html   |      2 +-
 .../i.ortho.rectify/i.ortho.rectify.html           |      2 +-
 .../i.ortho.transform/i.ortho.transform.html       |      2 +-
 imagery/i.pca/i.pca.html                           |      2 +-
 imagery/i.rectify/i.rectify.html                   |      2 +-
 imagery/i.rectify/target.c                         |      3 +-
 imagery/i.rgb.his/i.rgb.his.html                   |      6 +-
 imagery/i.segment/i.segment.html                   |      2 +-
 imagery/i.segment/open_files.c                     |      3 +-
 imagery/i.smap/i.smap.html                         |      2 +-
 imagery/i.target/i.target.html                     |      2 +-
 imagery/i.target/main.c                            |      2 +-
 imagery/i.topo.corr/i.topo.corr.html               |      2 +-
 imagery/i.vi/i.vi.html                             |      2 +-
 imagery/i.zc/i.zc.html                             |      2 +-
 include/Make/Doxyfile_arch_html.in                 |      6 +-
 include/Make/Doxyfile_arch_latex.in                |      4 +-
 include/Make/Grass.make                            |      4 +-
 include/Make/GuiScript.make                        |      6 +-
 include/Make/Html.make                             |      2 +-
 include/Make/Module.make                           |     10 +-
 include/Make/Platform.make.in                      |     19 +-
 include/Make/Script.make                           |      2 +-
 include/VERSION                                    |      4 +-
 include/calc.h                                     |     45 +
 include/config.h.in                                |      3 +
 include/dbmi.h                                     |      4 +-
 include/defs/calc.h                                |    107 +
 include/defs/dbmi.h                                |      4 +
 include/defs/gis.h                                 |     64 +-
 include/defs/neta.h                                |      2 +
 include/defs/raster.h                              |     11 +-
 include/defs/raster3d.h                            |      5 +
 include/defs/vector.h                              |     29 +-
 include/gis.h                                      |      4 +-
 include/gmath.h                                    |      6 +-
 include/la.h                                       |      8 +
 include/raster3d.h                                 |     12 +
 lib/Makefile                                       |      4 +-
 lib/btree2/Makefile                                |     10 +-
 lib/btree2/README                                  |     75 -
 lib/btree2/btree2.dox                              |    175 +
 lib/btree2/kdtree.c                                |   1247 +
 lib/btree2/kdtree.h                                |    181 +
 lib/cairodriver/cairodriver.html                   |      2 +-
 lib/calc/Makefile                                  |      8 +
 lib/calc/calc.c                                    |     62 +
 lib/calc/check.c                                   |    159 +
 lib/calc/function.c                                |     79 +
 lib/calc/xabs.c                                    |     67 +
 lib/calc/xacos.c                                   |     48 +
 lib/calc/xadd.c                                    |     76 +
 lib/calc/xand.c                                    |     39 +
 lib/calc/xand2.c                                   |     46 +
 lib/calc/xasin.c                                   |     48 +
 lib/calc/xatan.c                                   |     64 +
 lib/calc/xbitand.c                                 |     38 +
 lib/calc/xbitnot.c                                 |     35 +
 lib/calc/xbitor.c                                  |     38 +
 lib/calc/xbitxor.c                                 |     38 +
 lib/calc/xcos.c                                    |     47 +
 lib/calc/xdiv.c                                    |     79 +
 lib/calc/xdouble.c                                 |     76 +
 lib/calc/xeq.c                                     |     70 +
 lib/calc/xeval.c                                   |     73 +
 lib/calc/xexp.c                                    |     53 +
 lib/calc/xfloat.c                                  |     76 +
 lib/calc/xge.c                                     |     63 +
 lib/calc/xgraph.c                                  |    178 +
 lib/calc/xgt.c                                     |     63 +
 lib/calc/xif.c                                     |    303 +
 lib/calc/xint.c                                    |     76 +
 lib/calc/xisnull.c                                 |     64 +
 lib/calc/xle.c                                     |     63 +
 lib/calc/xlog.c                                    |     59 +
 lib/calc/xlt.c                                     |     63 +
 lib/calc/xmax.c                                    |     98 +
 lib/calc/xmedian.c                                 |    153 +
 lib/calc/xmin.c                                    |     98 +
 lib/calc/xmod.c                                    |     78 +
 lib/calc/xmode.c                                   |    142 +
 lib/calc/xmul.c                                    |     76 +
 lib/calc/xne.c                                     |     63 +
 lib/calc/xneg.c                                    |     62 +
 lib/calc/xnmax.c                                   |     98 +
 lib/calc/xnmedian.c                                |    150 +
 lib/calc/xnmin.c                                   |     98 +
 lib/calc/xnmode.c                                  |    139 +
 lib/calc/xnot.c                                    |     50 +
 lib/calc/xnull.c                                   |     25 +
 lib/calc/xor.c                                     |     39 +
 lib/calc/xor2.c                                    |     46 +
 lib/calc/xpow.c                                    |     96 +
 lib/calc/xrand.c                                   |     89 +
 lib/calc/xround.c                                  |    203 +
 lib/calc/xshiftl.c                                 |     36 +
 lib/calc/xshiftr.c                                 |     36 +
 lib/calc/xshiftru.c                                |     36 +
 lib/calc/xsin.c                                    |     47 +
 lib/calc/xsqrt.c                                   |     43 +
 lib/calc/xsub.c                                    |     68 +
 lib/calc/xtan.c                                    |     48 +
 lib/db/dbmi_base/connect.c                         |     15 +-
 lib/db/dbmi_base/login.c                           |    201 +-
 lib/db/dbmi_base/string.c                          |      2 +-
 lib/db/dbmi_client/copy_tab.c                      |     30 +-
 lib/db/sqlp/sql.html                               |      2 +-
 lib/display/r_raster.c                             |    156 +-
 lib/driver/font.c                                  |      2 +
 lib/gis/adj_cellhd.c                               |      2 +-
 lib/gis/cmprbzip.c                                 |    175 +
 lib/gis/cmprlz4.c                                  |    145 +
 lib/gis/cmprrle.c                                  |    192 +
 lib/gis/cmprzlib.c                                 |    231 +
 lib/gis/colors/roygbiv                             |     15 +
 lib/gis/compress.c                                 |    375 +
 lib/gis/compress.h                                 |     53 +
 lib/gis/datum.table                                |      5 +-
 lib/gis/datumtransform.table                       |      4 +
 lib/gis/ellipse.table.solar.system                 |      2 +
 lib/gis/error.c                                    |      2 +-
 lib/gis/file_name.c                                |    184 +-
 lib/gis/flate.c                                    |    441 -
 lib/gis/get_window.c                               |      2 +-
 lib/gis/gis_local_proto.h                          |     23 +-
 lib/gis/gisinit.c                                  |      2 +-
 lib/gis/gislib.dox                                 |     42 +
 lib/gis/home.c                                     |      2 +-
 lib/gis/local_proto.h                              |     26 -
 lib/gis/location.c                                 |      2 +-
 lib/gis/lz4.c                                      |   1516 +
 lib/gis/lz4.h                                      |    360 +
 lib/gis/mapset_msc.c                               |     55 +-
 lib/gis/mapset_nme.c                               |      4 +-
 lib/gis/open.c                                     |     41 +-
 lib/gis/open_misc.c                                |      2 +-
 lib/gis/parser.c                                   |     91 +-
 lib/gis/parser_help.c                              |      1 +
 lib/gis/parser_standard_options.c                  |     53 +-
 lib/gis/parser_wps.c                               |      2 +-
 lib/gis/progrm_nme.c                               |     21 +
 lib/gis/put_window.c                               |      2 +-
 lib/gis/rd_cellhd.c                                |      2 +-
 lib/gis/remove.c                                   |     26 +-
 lib/gis/rename.c                                   |     17 +-
 lib/gis/renamed_options                            |     16 +-
 lib/gis/set_window.c                               |      2 +-
 lib/gis/tempfile.c                                 |     27 +-
 lib/gis/testsuite/gis_lib_tokenize.py              |     81 +
 lib/gis/verbose.c                                  |      2 +-
 lib/gpde/gpdelib.dox                               |      4 +-
 lib/gpde/test/test.gpde.lib.html                   |      2 +-
 lib/htmldriver/htmldriver.html                     |      2 +-
 lib/imagery/iclass_statistics.c                    |      2 +-
 lib/init/Makefile                                  |      2 +-
 lib/init/README                                    |     22 +-
 lib/init/grass.py                                  |   1640 +-
 lib/init/grass.sh                                  |      2 +-
 lib/init/grass7.html                               |     89 +-
 lib/init/helptext.html                             |      2 +-
 lib/init/variables.html                            |     81 +-
 lib/loc_struct.png                                 |    Bin 37444 -> 54377 bytes
 lib/manage/do_copy.c                               |      2 +
 lib/ogsf/gvld.c                                    |      4 +-
 lib/pngdriver/pngdriver.html                       |      2 +-
 lib/pngdriver/read_png.c                           |     24 +-
 lib/pngdriver/write_png.c                          |     12 +-
 lib/proj/Makefile                                  |     18 +-
 lib/proj/convert.c                                 |     36 +-
 lib/proj/iau2000.csv                               |   6864 +
 lib/proj/iau2009.csv                               |   7656 +
 lib/psdriver/psdriver.html                         |      2 +-
 lib/python/Makefile                                |      2 +-
 lib/python/ctypes/arraystats.py                    |    659 -
 lib/python/ctypes/cluster.py                       |    785 -
 lib/python/ctypes/date.py                          |   1037 -
 lib/python/ctypes/dbmi.py                          |   3919 -
 lib/python/ctypes/display.py                       |   1672 -
 lib/python/ctypes/g3d.py                           |   2842 -
 lib/python/ctypes/gis.py                           |   3879 -
 lib/python/ctypes/gmath.py                         |   1389 -
 lib/python/ctypes/grass.py                         |   3645 -
 lib/python/ctypes/imagery.py                       |   1389 -
 lib/python/ctypes/nviz.py                          |   1338 -
 lib/python/ctypes/ogsf.py                          |   6214 -
 lib/python/ctypes/proj.py                          |    907 -
 lib/python/ctypes/raster.py                        |   3597 -
 lib/python/ctypes/raster3d.py                      |   1037 -
 lib/python/ctypes/stats.py                         |    844 -
 lib/python/ctypes/trans.py                         |    628 -
 lib/python/ctypes/vector.py                        |   5751 -
 lib/python/ctypes/vedit.py                         |   2096 -
 lib/python/docs/Makefile                           |      2 +
 lib/python/docs/conf.py                            |      1 +
 lib/python/docs/src/gunittest_running_tests.rst    |    155 +
 lib/python/docs/src/gunittest_testing.rst          |    722 +
 lib/python/docs/src/index.rst                      |      2 +
 lib/python/docs/src/pygrass_vector.rst             |      7 +-
 lib/python/docs/src/script_intro.rst               |      6 +-
 .../exceptions/testsuite/test_ScriptError.py       |      4 +-
 lib/python/gunittest/Makefile                      |     28 +
 lib/python/gunittest/__init__.py                   |     16 +
 lib/python/gunittest/case.py                       |   1226 +
 lib/python/gunittest/checkers.py                   |    625 +
 lib/python/gunittest/gmodules.py                   |    132 +
 lib/python/gunittest/gutils.py                     |     58 +
 lib/python/gunittest/invoker.py                    |    257 +
 lib/python/gunittest/loader.py                     |    175 +
 lib/python/gunittest/main.py                       |    178 +
 lib/python/gunittest/multireport.py                |    504 +
 lib/python/gunittest/multirunner.py                |    125 +
 lib/python/gunittest/reporters.py                  |   1185 +
 lib/python/gunittest/runner.py                     |    493 +
 .../testsuite/data/samplecode/fake_code.py         |      1 +
 .../data/samplecode/submodule_errors/fake_code.py  |      1 +
 .../subsubmodule_errors/fake_code.py               |      1 +
 .../subsubmodule_errors/testsuite/test_error.py    |     58 +
 .../testsuite/test_import_error.py                 |     22 +
 .../subsubmodule_exiting/fake_code.py              |      1 +
 .../testsuite/test_gfatalerror.py                  |     16 +
 .../testsuite/test_osexit_one.py                   |     16 +
 .../testsuite/test_osexit_zero.py                  |     16 +
 .../subsubmodule_exiting/testsuite/test_segfaut.py |     23 +
 .../testsuite/test_sysexit_one.py                  |     16 +
 .../testsuite/test_sysexit_zero.py                 |     16 +
 .../samplecode/submodule_test_fail/fake_code.py    |      1 +
 .../submodule_test_fail/testsuite/test_fail.py     |     15 +
 .../data/samplecode/testsuite/test_good_and_bad.py |     24 +
 .../samplecode/testsuite/test_python_unittest.py   |     40 +
 .../data/samplecode/testsuite/test_success.py      |     35 +
 .../simple_vector_map_ascii_4p_2l_2c_3b_dp14.txt   |     67 +
 ...ctor_map_ascii_4p_2l_2c_3b_dp14_diff_header.txt |     67 +
 ..._vector_map_ascii_4p_2l_2c_3b_dp14_modified.txt |     67 +
 lib/python/gunittest/testsuite/test_assertions.py  |    357 +
 .../gunittest/testsuite/test_assertions_rast3d.py  |    127 +
 .../gunittest/testsuite/test_assertions_vect.py    |    233 +
 lib/python/gunittest/testsuite/test_checkers.py    |    398 +
 lib/python/gunittest/testsuite/test_doctests.py    |     41 +
 lib/python/gunittest/testsuite/test_gmodules.py    |     94 +
 .../gunittest/testsuite/test_module_assertions.py  |     81 +
 lib/python/gunittest/utils.py                      |     75 +
 lib/python/pygrass/Makefile                        |      3 +-
 lib/python/pygrass/errors.py                       |     12 +
 lib/python/pygrass/gis/__init__.py                 |     69 +-
 lib/python/pygrass/gis/region.py                   |    463 +-
 lib/python/pygrass/gis/testsuite/test_doctests.py  |     52 +
 lib/python/pygrass/gis/testsuite/test_gis.py       |     25 +
 .../pygrass/messages/testsuite/test_doctests.py    |     39 +
 lib/python/pygrass/modules/grid/grid.py            |     28 +-
 .../modules/grid/testsuite/test_doctests.py        |     39 +
 lib/python/pygrass/modules/interface/module.py     |      1 +
 .../modules/interface/testsuite/test_doctests.py   |     42 +
 .../modules/interface/testsuite/test_flag.py       |     49 +
 .../modules/interface/testsuite/test_modules.py    |     83 +
 .../modules/interface/testsuite/test_parameter.py  |    346 +
 lib/python/pygrass/modules/shortcuts.py            |      3 +-
 .../pygrass/modules/testsuite/test_doctests.py     |     43 +
 .../modules/testsuite/test_import_isolation.py     |     53 +
 lib/python/pygrass/raster/__init__.py              |    402 +-
 lib/python/pygrass/raster/abstract.py              |     98 +-
 lib/python/pygrass/raster/category.py              |     14 +-
 lib/python/pygrass/raster/history.py               |     52 +-
 lib/python/pygrass/raster/testsuite/data/a.png     |    Bin 0 -> 12452 bytes
 lib/python/pygrass/raster/testsuite/data/b.png     |    Bin 0 -> 40647 bytes
 lib/python/pygrass/raster/testsuite/data/c.png     |    Bin 0 -> 139346 bytes
 lib/python/pygrass/raster/testsuite/data/d.png     |    Bin 0 -> 10810 bytes
 lib/python/pygrass/raster/testsuite/data/e.png     |    Bin 0 -> 10810 bytes
 .../pygrass/raster/testsuite/data/geology_cats     |     16 +
 .../pygrass/raster/testsuite/test_category.py      |     86 +
 .../pygrass/raster/testsuite/test_doctests.py      |     74 +
 .../pygrass/raster/testsuite/test_history.py       |     76 +
 lib/python/pygrass/raster/testsuite/test_numpy.py  |     56 +
 lib/python/pygrass/raster/testsuite/test_raster.py |     83 +
 .../pygrass/raster/testsuite/test_raster_img.py    |    201 +
 .../pygrass/raster/testsuite/test_raster_region.py |    113 +
 lib/python/pygrass/rpc/Makefile                    |     32 +
 lib/python/pygrass/rpc/__init__.py                 |    450 +
 lib/python/pygrass/rpc/base.py                     |    184 +
 lib/python/pygrass/rpc/testsuite/test_doctests.py  |     49 +
 .../pygrass/shell/testsuite/test_doctests.py       |     40 +
 lib/python/pygrass/testsuite/test_doctests.py      |     39 +
 lib/python/pygrass/utils.py                        |    352 +-
 lib/python/pygrass/vector/__init__.py              |    580 +-
 lib/python/pygrass/vector/abstract.py              |    101 +-
 lib/python/pygrass/vector/basic.py                 |      4 +
 lib/python/pygrass/vector/find.py                  |    594 +-
 lib/python/pygrass/vector/geometry.py              |    627 +-
 lib/python/pygrass/vector/table.py                 |    223 +-
 .../pygrass/vector/testsuite/test_doctests.py      |     54 +
 .../pygrass/vector/testsuite/test_filters.py       |     82 +
 .../pygrass/vector/testsuite/test_geometry.py      |    250 +-
 .../vector/testsuite/test_geometry_attrs.py        |     75 +
 lib/python/pygrass/vector/testsuite/test_table.py  |    210 +
 lib/python/pygrass/vector/testsuite/test_vector.py |     70 +
 .../pygrass/vector/testsuite/test_vector3d.py      |      8 +-
 lib/python/script/__init__.py                      |     13 +-
 lib/python/script/array.py                         |    125 +-
 lib/python/script/core.py                          |    134 +-
 lib/python/script/db.py                            |     10 +-
 lib/python/script/raster.py                        |     12 +-
 lib/python/script/raster3d.py                      |      5 +-
 lib/python/script/setup.py                         |     18 +-
 lib/python/script/task.py                          |     82 +-
 lib/python/script/testsuite/test_core_make_val.py  |     31 +
 lib/python/script/testsuite/test_doctests.py       |     39 +
 lib/python/script/testsuite/test_raster.py         |     45 +
 .../testsuite/test_start_command_functions.py      |     42 +
 .../testsuite/test_start_command_functions_nc.py   |     54 +
 lib/python/script/testsuite/test_utils.py          |     62 +
 lib/python/script/utils.py                         |    195 +-
 lib/python/script/vector.py                        |     21 +-
 lib/python/temporal/aggregation.py                 |     28 +-
 lib/python/temporal/c_libraries_interface.py       |    602 +-
 lib/python/temporal/core.py                        |     90 +-
 lib/python/temporal/datetime_math.py               |     36 +
 lib/python/temporal/extract.py                     |     27 +-
 lib/python/temporal/list_stds.py                   |     57 +-
 lib/python/temporal/open_stds.py                   |      2 +-
 lib/python/temporal/space_time_datasets.py         |     37 +-
 lib/python/temporal/stds_export.py                 |     18 +-
 lib/python/temporal/stds_import.py                 |     11 +-
 lib/python/temporal/temporal_algebra.py            |     61 +-
 lib/python/temporal/temporal_granularity.py        |    270 +-
 .../temporal/temporal_raster_base_algebra.py       |      4 +-
 lib/python/temporal/testsuite/test_doctests.py     |     19 +-
 .../temporal/testsuite/test_register_function.py   |      7 +-
 .../temporal/testsuite/unittests_register.py       |    307 -
 .../testsuite/unittests_temporal_algebra.py        |     43 +-
 .../testsuite/unittests_temporal_algebra_grs.py    |     13 +-
 .../testsuite/unittests_temporal_conditionals.py   |      9 +-
 .../unittests_temporal_raster3d_algebra.py         |     13 +-
 .../testsuite/unittests_temporal_raster_algebra.py |     13 +-
 .../unittests_temporal_raster_algebra_grs.py       |     13 +-
 .../unittests_temporal_raster_conditionals.py      |     11 +-
 .../testsuite/unittests_temporal_vector_algebra.py |     16 +-
 lib/python/temporal/univar_statistics.py           |     18 +-
 lib/raster/R.h                                     |      2 +
 lib/raster/cats.c                                  |      2 +-
 lib/raster/close.c                                 |     72 +-
 lib/raster/format.c                                |     67 +-
 lib/raster/gdal.c                                  |      7 +-
 lib/raster/get_row.c                               |     75 +-
 lib/raster/init.c                                  |     30 +-
 lib/raster/open.c                                  |    110 +-
 lib/raster/put_row.c                               |    102 +-
 lib/raster/range.c                                 |      2 +-
 lib/raster/rast_to_img_string.c                    |    171 +
 lib/raster/rasterlib.dox                           |     23 +-
 lib/raster3d/fpcompress.c                          |      6 +-
 lib/raster3d/gradient.c                            |    179 +
 lib/vector/Vlib/box.c                              |     52 +-
 lib/vector/Vlib/build.c                            |     10 +-
 lib/vector/Vlib/build_ogr.c                        |      4 +-
 lib/vector/Vlib/build_pg.c                         |      2 +-
 lib/vector/Vlib/cindex.c                           |     15 +-
 lib/vector/Vlib/close.c                            |      8 +-
 lib/vector/Vlib/close_nat.c                        |    122 +-
 lib/vector/Vlib/close_pg.c                         |      3 +-
 lib/vector/Vlib/copy.c                             |      2 +-
 lib/vector/Vlib/field.c                            |     28 +-
 lib/vector/Vlib/geos.c                             |    433 +-
 lib/vector/Vlib/geos_to_wktb.c                     |    278 +
 lib/vector/Vlib/header.c                           |     12 +-
 lib/vector/Vlib/intersect2.c                       |    100 +-
 lib/vector/Vlib/local_proto.h                      |     12 +-
 lib/vector/Vlib/map.c                              |     74 +-
 lib/vector/Vlib/net.c                              |   1188 -
 lib/vector/Vlib/net_analyze.c                      |   1057 +
 lib/vector/Vlib/net_build.c                        |   1076 +
 lib/vector/Vlib/open.c                             |    109 +-
 lib/vector/Vlib/open_nat.c                         |     22 +-
 lib/vector/Vlib/open_pg.c                          |     20 +-
 lib/vector/Vlib/read_pg.c                          |      9 +-
 lib/vector/Vlib/snap.c                             |    373 +-
 lib/vector/Vlib/testsuite/test_vlib_box.py         |     86 +
 lib/vector/Vlib/write_nat.c                        |      2 +-
 lib/vector/Vlib/write_ogr.c                        |      6 +-
 lib/vector/Vlib/write_pg.c                         |      8 +-
 lib/vector/dglib/dglib.dox                         |      2 +-
 lib/vector/diglib/plus_struct.c                    |      2 +-
 lib/vector/diglib/struct_alloc.c                   |      6 +-
 lib/vector/neta/articulation_point.c               |      2 +-
 lib/vector/neta/components.c                       |    214 +-
 lib/vector/neta/flow.c                             |     25 +-
 lib/vector/neta/path.c                             |    177 +-
 lib/vector/neta/spanningtree.c                     |      7 +-
 lib/vector/neta/utils.c                            |     19 +-
 lib/vector/testsuite/test_topology_vgeneralize.sh  |     40 +
 lib/vector/vectorlib_pg.dox                        |      6 +-
 locale/po/grasslibs_ar.po                          |   1657 +-
 locale/po/grasslibs_cs.po                          |   1675 +-
 locale/po/grasslibs_de.po                          |   1714 +-
 locale/po/grasslibs_el.po                          |   1672 +-
 locale/po/grasslibs_es.po                          |   1746 +-
 locale/po/grasslibs_fi.po                          |   1535 +-
 locale/po/grasslibs_fr.po                          |   2073 +-
 locale/po/grasslibs_it.po                          |   1789 +-
 locale/po/grasslibs_ja.po                          |   1714 +-
 locale/po/grasslibs_ko.po                          |   1646 +-
 locale/po/grasslibs_lv.po                          |   1899 +-
 locale/po/grasslibs_ml.po                          |   1638 +-
 locale/po/grasslibs_pl.po                          |   1715 +-
 locale/po/grasslibs_pt.po                          |   1705 +-
 locale/po/grasslibs_pt_br.po                       |   1672 +-
 locale/po/grasslibs_ro.po                          |   1619 +-
 locale/po/grasslibs_ru.po                          |   1705 +-
 locale/po/grasslibs_sl.po                          |   1662 +-
 locale/po/grasslibs_th.po                          |   1683 +-
 locale/po/grasslibs_tr.po                          |   1674 +-
 locale/po/grasslibs_vi.po                          |   1699 +-
 locale/po/grasslibs_zh.po                          |   1691 +-
 locale/po/grassmods_ar.po                          |   5256 +-
 locale/po/grassmods_cs.po                          |   4876 +-
 locale/po/grassmods_de.po                          |   5698 +-
 locale/po/grassmods_el.po                          |   4912 +-
 locale/po/grassmods_es.po                          |   6219 +-
 locale/po/grassmods_fi.po                          |   4510 +-
 locale/po/grassmods_fr.po                          |   5762 +-
 locale/po/grassmods_it.po                          |   5291 +-
 locale/po/grassmods_ja.po                          |   5625 +-
 locale/po/grassmods_ko.po                          |   4876 +-
 locale/po/grassmods_lv.po                          |   6228 +-
 locale/po/grassmods_pl.po                          |   5437 +-
 locale/po/grassmods_pt.po                          |   5548 +-
 locale/po/grassmods_pt_br.po                       |   5550 +-
 locale/po/grassmods_ro.po                          |   4750 +-
 locale/po/grassmods_ru.po                          |   5680 +-
 locale/po/grassmods_sl.po                          |   5299 +-
 locale/po/grassmods_th.po                          |   5626 +-
 locale/po/grassmods_tr.po                          |   5215 +-
 locale/po/grassmods_vi.po                          |   5682 +-
 locale/po/grassmods_zh.po                          |   5292 +-
 locale/po/grasswxpy_cs.po                          |   3852 +-
 locale/po/grasswxpy_de.po                          |   3883 +-
 locale/po/grasswxpy_el.po                          |   3738 +-
 locale/po/grasswxpy_es.po                          |   7002 +-
 locale/po/grasswxpy_fi.po                          |   3530 +-
 locale/po/grasswxpy_fr.po                          |   3973 +-
 locale/po/grasswxpy_id.po                          |   3829 +-
 locale/po/grasswxpy_it.po                          |   3620 +-
 locale/po/grasswxpy_ja.po                          |   3815 +-
 locale/po/grasswxpy_ko.po                          |   3528 +-
 locale/po/grasswxpy_lv.po                          |   4081 +-
 locale/po/grasswxpy_ml.po                          |   3710 +-
 locale/po/grasswxpy_pl.po                          |   3732 +-
 locale/po/grasswxpy_pt.po                          |   3823 +-
 locale/po/grasswxpy_pt_br.po                       |   3836 +-
 locale/po/grasswxpy_ro.po                          |   3812 +-
 locale/po/grasswxpy_ru.po                          |   3821 +-
 locale/po/grasswxpy_th.po                          |   3762 +-
 locale/po/grasswxpy_tr.po                          |   3821 +-
 locale/po/grasswxpy_vi.po                          |   3807 +-
 locale/po/grasswxpy_zh.po                          |   3931 +-
 macosx/pkg/resources/ReadMe.rtf                    |      2 +-
 man/Makefile                                       |     59 +-
 man/build_class_graphical.py                       |    238 +
 man/build_graphical_index.py                       |    133 +
 man/build_html.py                                  |     26 +-
 man/build_manual_gallery.py                        |    187 +
 man/build_topics.py                                |      7 +
 man/jquery.fixedheadertable.min.js                 |     19 +
 man/parser_standard_options.css                    |    172 +
 man/parser_standard_options.js                     |      4 +
 man/parser_standard_options.py                     |    177 +
 misc/m.cogo/m.cogo.html                            |      2 +-
 misc/m.measure/m.measure.html                      |      2 +-
 misc/m.nviz.image/m.nviz.image.html                |      2 +-
 misc/m.nviz.script/m.nviz.script.html              |      2 +-
 misc/m.transform/m.transform.html                  |      2 +-
 mswindows/GRASS-Installer.nsi.tmpl                 |      2 +-
 mswindows/GRASS-Packager.bat.tmpl                  |      2 +-
 mswindows/osgeo4w/env.bat.tmpl                     |      4 +
 mswindows/osgeo4w/package.sh                       |      5 +-
 mswindows/osgeo4w/setup.hint                       |      8 +-
 ps/ps.map/ps.map.html                              |      2 +-
 raster/r.basins.fill/r.basins.fill.html            |      2 +-
 raster/r.buffer/r.buffer.html                      |      2 +-
 raster/r.carve/r.carve.html                        |      2 +-
 raster/r.category/r.category.html                  |      4 +-
 raster/r.circle/r.circle.html                      |      2 +-
 raster/r.clump/main.c                              |      3 +
 raster/r.clump/r.clump.html                        |      2 +-
 raster/r.coin/r.coin.html                          |      2 +-
 raster/r.colors.out/r.colors.out.html              |      2 +-
 raster/r.colors.out/r3.colors.out.html             |      2 +-
 raster/r.colors/.pgm                               |      4 -
 raster/r.colors/r.colors.html                      |      2 +-
 raster/r.colors/r3.colors.html                     |      2 +-
 raster/r.composite/r.composite.html                |      2 +-
 raster/r.compress/main.c                           |    150 +-
 raster/r.compress/r.compress.html                  |    220 +-
 raster/r.contour/r.contour.html                    |      2 +-
 raster/r.cost/main.c                               |      2 +-
 raster/r.cost/r.cost.html                          |      2 +-
 raster/r.covar/r.covar.html                        |      2 +-
 raster/r.cross/r.cross.html                        |      9 +-
 raster/r.describe/r.describe.html                  |      2 +-
 raster/r.distance/r.distance.html                  |      2 +-
 raster/r.drain/r.drain.html                        |      2 +-
 raster/r.external.out/r.external.out.html          |      2 +-
 raster/r.external/list.c                           |     48 +
 raster/r.external/main.c                           |     17 +-
 raster/r.external/proto.h                          |      1 +
 raster/r.external/r.external.html                  |      2 +-
 raster/r.fill.dir/r.fill.dir.html                  |      2 +-
 raster/r.flow/r.flow.html                          |      2 +-
 raster/r.grow.distance/main.c                      |     21 +-
 raster/r.grow.distance/r.grow.distance.html        |      5 +-
 .../testsuite/r_grow_distance_test.py              |     52 +
 raster/r.gwflow/r.gwflow.html                      |      2 +-
 raster/r.his/r.his.html                            |      5 +-
 raster/r.horizon/main.c                            |     21 +-
 raster/r.horizon/r.horizon.html                    |      2 +-
 raster/r.horizon/testsuite/test_r_horizon.py       |    132 +
 raster/r.in.ascii/r.in.ascii.html                  |      2 +-
 raster/r.in.bin/r.in.bin.html                      |      2 +-
 raster/r.in.gdal/main.c                            |     70 +-
 raster/r.in.gdal/r.in.gdal.html                    |     49 +-
 raster/r.in.gdal/testsuite/data/elevation.asc      |    140 +
 raster/r.in.gdal/testsuite/data/elevation.nc       |    Bin 0 -> 85028 bytes
 raster/r.in.gdal/testsuite/data/elevation.prj      |      1 +
 raster/r.in.gdal/testsuite/data/elevation.tif      |    Bin 0 -> 82289 bytes
 raster/r.in.gdal/testsuite/data/elevation.tiff     |    Bin 0 -> 82289 bytes
 raster/r.in.gdal/testsuite/data/elevation3d.nc     |    Bin 0 -> 407020 bytes
 raster/r.in.gdal/testsuite/data/generate_data.sh   |     20 +
 raster/r.in.gdal/testsuite/test_r_in_gdal.py       |    291 +
 raster/r.in.gridatb/r.in.gridatb.html              |      2 +-
 raster/r.in.lidar/Makefile                         |      9 +-
 raster/r.in.lidar/filters.c                        |     70 +
 raster/r.in.lidar/filters.h                        |     35 +
 raster/r.in.lidar/info.c                           |    182 +
 raster/r.in.lidar/local_proto.h                    |     58 +-
 raster/r.in.lidar/main.c                           |   1419 +-
 raster/r.in.lidar/point_binning.c                  |    845 +
 raster/r.in.lidar/point_binning.h                  |    105 +
 raster/r.in.lidar/projection.c                     |    142 +
 raster/r.in.lidar/r.in.lidar.html                  |     42 +-
 raster/r.in.lidar/rast_segment.c                   |     86 +
 raster/r.in.lidar/rast_segment.h                   |     14 +
 raster/r.in.lidar/string_list.c                    |     65 +
 raster/r.in.lidar/support.c                        |     20 +
 raster/r.in.lidar/test/sample_test.sh              |     11 +
 raster/r.in.lidar/testsuite/data/points.las        |    Bin 0 -> 547 bytes
 raster/r.in.lidar/testsuite/data/points.txt        |     16 +
 .../r.in.lidar/testsuite/test_base_resolution.sh   |     36 +
 raster/r.in.mat/r.in.mat.html                      |      2 +-
 raster/r.in.png/r.in.png.html                      |      2 +-
 raster/r.in.poly/r.in.poly.html                    |      2 +-
 raster/r.in.poly/testsuite/test_rinpoly.py         |     11 +-
 raster/r.in.xyz/main.c                             |     71 +-
 raster/r.in.xyz/r.in.xyz.html                      |     11 +-
 raster/r.info/r.info.html                          |      2 +-
 raster/r.kappa/r.kappa.html                        |     10 +-
 raster/r.lake/main.c                               |      2 +-
 raster/r.lake/r.lake.html                          |      2 +-
 raster/r.latlong/r.latlong.html                    |      2 +-
 raster/r.li/r.li.cwed/r.li.cwed.html               |      2 +-
 raster/r.li/r.li.daemon/r.li.daemon.html           |      2 +-
 raster/r.li/r.li.dominance/r.li.dominance.html     |      2 +-
 raster/r.li/r.li.edgedensity/r.li.edgedensity.html |      2 +-
 raster/r.li/r.li.html                              |     16 +-
 raster/r.li/r.li.mpa/mpa.c                         |      7 +-
 raster/r.li/r.li.mpa/r.li.mpa.html                 |      2 +-
 raster/r.li/r.li.mps/r.li.mps.html                 |      2 +-
 raster/r.li/r.li.padcv/r.li.padcv.html             |      2 +-
 raster/r.li/r.li.padrange/r.li.padrange.html       |      2 +-
 raster/r.li/r.li.padsd/r.li.padsd.html             |      2 +-
 .../r.li/r.li.patchdensity/r.li.patchdensity.html  |      2 +-
 raster/r.li/r.li.patchnum/r.li.patchnum.html       |      2 +-
 raster/r.li/r.li.pielou/r.li.pielou.html           |      2 +-
 raster/r.li/r.li.renyi/r.li.renyi.html             |      2 +-
 raster/r.li/r.li.richness/r.li.richness.html       |      2 +-
 raster/r.li/r.li.shannon/r.li.shannon.html         |      2 +-
 raster/r.li/r.li.shape/r.li.shape.html             |      2 +-
 raster/r.li/r.li.simpson/r.li.simpson.html         |      2 +-
 raster/r.mapcalc/Makefile                          |      4 +-
 raster/r.mapcalc/check.c                           |    160 -
 raster/r.mapcalc/evaluate.c                        |     32 +-
 raster/r.mapcalc/expression.c                      |     10 +-
 raster/r.mapcalc/expression.h                      |     30 +-
 raster/r.mapcalc/func_proto.h                      |     99 +-
 raster/r.mapcalc/function.c                        |     85 +-
 raster/r.mapcalc/globals.h                         |      5 +-
 raster/r.mapcalc/main.c                            |     62 +-
 raster/r.mapcalc/map.c                             |     16 +-
 raster/r.mapcalc/map3.c                            |     16 +-
 raster/r.mapcalc/mapcalc.h                         |      2 +
 raster/r.mapcalc/r.mapcalc.html                    |     16 +-
 raster/r.mapcalc/r3.mapcalc.html                   |     28 +-
 raster/r.mapcalc/testsuite/test_r3_mapcalc.py      |     15 +-
 raster/r.mapcalc/testsuite/test_r_mapcalc.py       |     37 +-
 raster/r.mapcalc/xabs.c                            |     69 -
 raster/r.mapcalc/xacos.c                           |     50 -
 raster/r.mapcalc/xadd.c                            |     78 -
 raster/r.mapcalc/xand.c                            |     41 -
 raster/r.mapcalc/xand2.c                           |     48 -
 raster/r.mapcalc/xasin.c                           |     50 -
 raster/r.mapcalc/xatan.c                           |     66 -
 raster/r.mapcalc/xbitand.c                         |     40 -
 raster/r.mapcalc/xbitnot.c                         |     37 -
 raster/r.mapcalc/xbitor.c                          |     40 -
 raster/r.mapcalc/xbitxor.c                         |     40 -
 raster/r.mapcalc/xcos.c                            |     49 -
 raster/r.mapcalc/xdiv.c                            |     81 -
 raster/r.mapcalc/xdouble.c                         |     78 -
 raster/r.mapcalc/xeq.c                             |     72 -
 raster/r.mapcalc/xeval.c                           |     75 -
 raster/r.mapcalc/xexp.c                            |     55 -
 raster/r.mapcalc/xfloat.c                          |     78 -
 raster/r.mapcalc/xge.c                             |     65 -
 raster/r.mapcalc/xgraph.c                          |    180 -
 raster/r.mapcalc/xgt.c                             |     65 -
 raster/r.mapcalc/xif.c                             |    305 -
 raster/r.mapcalc/xint.c                            |     78 -
 raster/r.mapcalc/xisnull.c                         |     66 -
 raster/r.mapcalc/xle.c                             |     65 -
 raster/r.mapcalc/xlog.c                            |     61 -
 raster/r.mapcalc/xlt.c                             |     65 -
 raster/r.mapcalc/xmax.c                            |    100 -
 raster/r.mapcalc/xmedian.c                         |    155 -
 raster/r.mapcalc/xmin.c                            |    100 -
 raster/r.mapcalc/xmod.c                            |     80 -
 raster/r.mapcalc/xmode.c                           |    144 -
 raster/r.mapcalc/xmul.c                            |     78 -
 raster/r.mapcalc/xne.c                             |     65 -
 raster/r.mapcalc/xneg.c                            |     64 -
 raster/r.mapcalc/xnmax.c                           |    100 -
 raster/r.mapcalc/xnmedian.c                        |    152 -
 raster/r.mapcalc/xnmin.c                           |    100 -
 raster/r.mapcalc/xnmode.c                          |    141 -
 raster/r.mapcalc/xnot.c                            |     52 -
 raster/r.mapcalc/xnull.c                           |     27 -
 raster/r.mapcalc/xor.c                             |     41 -
 raster/r.mapcalc/xor2.c                            |     48 -
 raster/r.mapcalc/xpow.c                            |     98 -
 raster/r.mapcalc/xrand.c                           |     91 -
 raster/r.mapcalc/xround.c                          |    205 -
 raster/r.mapcalc/xrowcol.c                         |     54 +
 raster/r.mapcalc/xshiftl.c                         |     38 -
 raster/r.mapcalc/xshiftr.c                         |     38 -
 raster/r.mapcalc/xshiftru.c                        |     38 -
 raster/r.mapcalc/xsin.c                            |     49 -
 raster/r.mapcalc/xsqrt.c                           |     45 -
 raster/r.mapcalc/xsub.c                            |     70 -
 raster/r.mapcalc/xtan.c                            |     50 -
 raster/r.mfilter/r.mfilter.html                    |      2 +-
 raster/r.mode/r.mode.html                          |      2 +-
 raster/r.neighbors/main.c                          |      2 +-
 raster/r.neighbors/r.neighbors.html                |     41 +-
 raster/r.null/main.c                               |     50 +-
 raster/r.null/r.null.html                          |      2 +-
 raster/r.out.ascii/r.out.ascii.html                |      2 +-
 raster/r.out.bin/r.out.bin.html                    |      2 +-
 raster/r.out.gdal/r.out.gdal.html                  |      2 +-
 raster/r.out.gridatb/r.out.gridatb.html            |      2 +-
 raster/r.out.mat/r.out.mat.html                    |      2 +-
 raster/r.out.mpeg/r.out.mpeg.html                  |      2 +-
 raster/r.out.png/r.out.png.html                    |      2 +-
 raster/r.out.pov/r.out.pov.html                    |      2 +-
 raster/r.out.ppm/r.out.ppm.html                    |      2 +-
 raster/r.out.ppm3/r.out.ppm3.html                  |      2 +-
 raster/r.out.vrml/r.out.vrml.html                  |      2 +-
 raster/r.out.vtk/r.out.vtk.html                    |      2 +-
 raster/r.param.scale/feature.c                     |      4 +-
 raster/r.param.scale/param.c                       |      4 +-
 raster/r.param.scale/param.h                       |      2 +-
 raster/r.param.scale/r.param.scale.html            |      2 +-
 raster/r.patch/main.c                              |     13 +-
 raster/r.patch/r.patch.html                        |      2 +-
 raster/r.patch/testsuite/test_rpatch_artificial.py |    223 +
 raster/r.profile/r.profile.html                    |      2 +-
 raster/r.profile/testsuite/test_profile_ncspm.py   |      3 +-
 raster/r.proj/main.c                               |      1 +
 raster/r.proj/r.proj.html                          |      4 +-
 raster/r.quant/r.quant.html                        |      2 +-
 raster/r.quantile/r.quantile.html                  |      2 +-
 raster/r.random.cells/indep.c                      |      7 +
 raster/r.random.cells/init.c                       |      7 +
 raster/r.random.cells/main.c                       |     10 +
 raster/r.random.cells/r.random.cells.html          |     85 +-
 raster/r.random.cells/r_random_cells.png           |    Bin 0 -> 21372 bytes
 raster/r.random.cells/ransurf.h                    |      2 +
 .../r.random.cells/testsuite/test_random_cells.py  |     77 +
 raster/r.random.surface/r.random.surface.html      |      2 +-
 raster/r.random/r.random.html                      |      2 +-
 raster/r.reclass/r.reclass.html                    |      2 +-
 raster/r.recode/main.c                             |      1 +
 raster/r.recode/r.recode.html                      |      2 +-
 raster/r.recode/testsuite/test_rrecode_ncspm.py    |      5 +-
 raster/r.region/r.region.html                      |      2 +-
 raster/r.regression.line/r.regression.line.html    |      2 +-
 raster/r.regression.multi/r.regression.multi.html  |      2 +-
 raster/r.relief/r.relief.html                      |      2 +-
 raster/r.report/r.report.html                      |      2 +-
 raster/r.resamp.bspline/r.resamp.bspline.html      |      4 +-
 raster/r.resamp.filter/r.resamp.filter.html        |      2 +-
 raster/r.resamp.interp/r.resamp.interp.html        |      2 +-
 raster/r.resamp.rst/r.resamp.rst.html              |      2 +-
 raster/r.resamp.stats/main.c                       |      2 +-
 raster/r.resamp.stats/r.resamp.stats.html          |      2 +-
 raster/r.resample/r.resample.html                  |      2 +-
 raster/r.rescale.eq/r.rescale.eq.html              |      2 +-
 raster/r.rescale/r.rescale.html                    |      2 +-
 raster/r.ros/main.c                                |      4 +-
 raster/r.ros/r.ros.html                            |      2 +-
 .../r.series.accumulate/r.series.accumulate.html   |      2 +-
 raster/r.series.interp/r.series.interp.html        |      2 +-
 raster/r.series/main.c                             |    133 +-
 raster/r.series/r.series.html                      |      4 +-
 raster/r.sim/r.sim.sediment/r.sim.sediment.html    |      4 +-
 raster/r.sim/r.sim.water/r.sim.water.html          |     15 +-
 raster/r.sim/simlib/Makefile                       |      3 -
 raster/r.slope.aspect/r.slope.aspect.html          |      2 +-
 .../testsuite/test_r_slope_aspect.py               |     13 +-
 raster/r.solute.transport/r.solute.transport.html  |      2 +-
 raster/r.spread/r.spread.html                      |      2 +-
 raster/r.spreadpath/r.spreadpath.html              |      2 +-
 raster/r.statistics/r.statistics.html              |      2 +-
 raster/r.stats.quantile/r.stats.quantile.html      |      2 +-
 raster/r.stats.zonal/r.stats.zonal.html            |      2 +-
 raster/r.stats/r.stats.html                        |      2 +-
 raster/r.stream.extract/do_astar.c                 |      6 +-
 raster/r.stream.extract/r.stream.extract.html      |      5 +-
 raster/r.sun/main.c                                |     29 +-
 raster/r.sun/r.sun.html                            |      4 +-
 raster/r.sunhours/r.sunhours.html                  |      2 +-
 raster/r.sunmask/r.sunmask.html                    |      2 +-
 raster/r.support.stats/r.support.stats.html        |      2 +-
 raster/r.support/main.c                            |     22 +-
 raster/r.support/r.support.html                    |      2 +-
 raster/r.surf.area/r.surf.area.html                |      2 +-
 raster/r.surf.contour/r.surf.contour.html          |      2 +-
 raster/r.surf.fractal/r.surf.fractal.html          |      2 +-
 raster/r.surf.gauss/r.surf.gauss.html              |      2 +-
 raster/r.surf.idw/r.surf.idw.html                  |     25 +-
 raster/r.surf.random/r.surf.random.html            |      2 +-
 raster/r.terraflow/r.terraflow.html                |      2 +-
 raster/r.texture/r.texture.html                    |      2 +-
 raster/r.thin/r.thin.html                          |      2 +-
 raster/r.thin/thin_lines.c                         |      1 -
 raster/r.tile/r.tile.html                          |      2 +-
 raster/r.timestamp/r.timestamp.html                |      2 +-
 raster/r.to.rast3/r.to.rast3.html                  |      2 +-
 raster/r.to.rast3elev/r.to.rast3elev.html          |      2 +-
 raster/r.to.vect/r.to.vect.html                    |      2 +-
 raster/r.topidx/main.c                             |      2 +-
 raster/r.topidx/r.topidx.html                      |      2 +-
 raster/r.topidx/topidx.c                           |     33 +-
 raster/r.topmodel/file_io.c                        |     56 +-
 raster/r.topmodel/global.h                         |     18 +-
 raster/r.topmodel/main.c                           |      8 +-
 raster/r.topmodel/r.topmodel.html                  |     42 +-
 raster/r.topmodel/topmodel.c                       |      9 +-
 raster/r.transect/main.c                           |      4 +-
 raster/r.transect/r.transect.html                  |      2 +-
 raster/r.univar/globals.h                          |      2 +-
 raster/r.univar/r.univar.html                      |      2 +-
 raster/r.univar/r.univar_main.c                    |     26 +-
 raster/r.univar/r3.univar.html                     |      2 +-
 raster/r.univar/stats.c                            |     13 +-
 raster/r.univar/testsuite/test_r_univar.py         |    185 +
 raster/r.uslek/r.uslek.html                        |      2 +-
 raster/r.usler/r.usler.html                        |      2 +-
 raster/r.viewshed/main.cpp                         |      1 +
 raster/r.viewshed/r.viewshed.html                  |      2 +-
 raster/r.viewshed/testsuite/test_r_viewshed.py     |      9 +-
 raster/r.volume/r.volume.html                      |      2 +-
 raster/r.walk/main.c                               |      2 +-
 raster/r.walk/r.walk.html                          |      2 +-
 raster/r.water.outlet/r.water.outlet.html          |      2 +-
 raster/r.watershed/front/main.c                    |     17 +-
 raster/r.watershed/front/r.watershed.html          |     26 +-
 raster/r.watershed/ram/Gwater.h                    |      6 +-
 raster/r.watershed/ram/close_maps.c                |     85 +-
 raster/r.watershed/ram/close_maps2.c               |      2 +-
 raster/r.watershed/ram/do_cum.c                    |     44 +-
 raster/r.watershed/ram/do_flatarea.c               |      2 +-
 raster/r.watershed/ram/init_vars.c                 |     24 +-
 raster/r.watershed/ram/main.c                      |      6 +-
 raster/r.watershed/seg/Gwater.h                    |     14 +-
 raster/r.watershed/seg/close_maps.c                |    198 +-
 raster/r.watershed/seg/do_cum.c                    |     56 +-
 raster/r.watershed/seg/init_vars.c                 |     25 +-
 raster/r.watershed/seg/main.c                      |      8 +-
 raster/r.watershed/testsuite/r_watershed_test.py   |    154 +
 raster/r.what/r.what.html                          |      6 +-
 raster/rasterintro.html                            |     57 +-
 raster3d/Makefile                                  |      3 +
 raster3d/r3.cross.rast/r3.cross.rast.html          |      2 +-
 raster3d/r3.flow/Makefile                          |     15 +
 raster3d/r3.flow/flowline.c                        |    223 +
 raster3d/r3.flow/flowline.h                        |     18 +
 raster3d/r3.flow/integrate.c                       |    227 +
 raster3d/r3.flow/integrate.h                       |     35 +
 raster3d/r3.flow/interpolate.c                     |    337 +
 raster3d/r3.flow/interpolate.h                     |     16 +
 raster3d/r3.flow/main.c                            |    537 +
 raster3d/r3.flow/r3.flow.html                      |    100 +
 raster3d/r3.flow/r3flow_flowlines.png              |    Bin 0 -> 94261 bytes
 raster3d/r3.flow/r3flow_flowlines_color.png        |    Bin 0 -> 52304 bytes
 raster3d/r3.flow/r3flow_structs.h                  |     40 +
 raster3d/r3.flow/test.r3flow.html                  |     14 +
 raster3d/r3.flow/test_main.c                       |    105 +
 raster3d/r3.flow/testsuite/data/flowline.ascii     |    220 +
 raster3d/r3.flow/testsuite/r3flow_test.py          |     97 +
 raster3d/r3.flow/voxel_traversal.c                 |     96 +
 raster3d/r3.flow/voxel_traversal.h                 |      9 +
 raster3d/r3.gradient/Makefile                      |     10 +
 raster3d/r3.gradient/main.c                        |    302 +
 raster3d/r3.gradient/r3.gradient.html              |     31 +
 raster3d/r3.gradient/r3gradient_structs.h          |     13 +
 raster3d/r3.gradient/testsuite/data/test_map_1     |     61 +
 raster3d/r3.gradient/testsuite/data/test_map_2     |     36 +
 raster3d/r3.gradient/testsuite/r3gradient_test.py  |    160 +
 raster3d/r3.gwflow/r3.gwflow.html                  |      2 +-
 raster3d/r3.in.ascii/r3.in.ascii.html              |      4 +-
 raster3d/r3.in.lidar/Makefile                      |     15 +
 raster3d/r3.in.lidar/main.c                        |    264 +
 raster3d/r3.in.lidar/r3.in.lidar.html              |     74 +
 raster3d/r3.in.lidar/r3_in_lidar.png               |    Bin 0 -> 40608 bytes
 raster3d/r3.in.v5d/r3.in.v5d.html                  |      2 +-
 raster3d/r3.info/main.c                            |     18 +-
 raster3d/r3.info/r3.info.html                      |      2 +-
 raster3d/r3.mask/r3.mask.html                      |      2 +-
 raster3d/r3.mkdspf/r3.mkdspf.html                  |      2 +-
 raster3d/r3.neighbors/main.c                       |      2 +-
 raster3d/r3.neighbors/r3.neighbors.html            |      2 +-
 raster3d/r3.null/r3.null.html                      |      2 +-
 raster3d/r3.out.ascii/r3.out.ascii.html            |      2 +-
 raster3d/r3.out.netcdf/r3.out.netcdf.html          |      2 +-
 raster3d/r3.out.v5d/r3.out.v5d.html                |      2 +-
 raster3d/r3.out.vtk/r3.out.vtk.html                |      2 +-
 raster3d/r3.retile/r3.retile.html                  |      2 +-
 raster3d/r3.showdspf/r3.showdspf.html              |      2 +-
 raster3d/r3.stats/r3.stats.html                    |      2 +-
 raster3d/r3.support/r3.support.html                |      2 +-
 raster3d/r3.timestamp/r3.timestamp.html            |      2 +-
 raster3d/r3.to.rast/r3.to.rast.html                |      2 +-
 raster3d/raster3dintro.html                        |     54 +-
 scripts/Makefile                                   |      4 +-
 scripts/d.correlate/d.correlate.html               |      2 +-
 scripts/d.frame/Makefile                           |      7 +
 scripts/d.frame/d.frame.html                       |     95 +
 scripts/d.frame/d.frame.py                         |    256 +
 scripts/d.frame/d_frame.png                        |    Bin 0 -> 420916 bytes
 scripts/d.out.file/d.out.file.html                 |      4 +-
 scripts/d.out.file/d.out.file.py                   |      4 +-
 scripts/d.polar/d.polar.html                       |      2 +-
 scripts/d.rast.edit/d.rast.edit.html               |      2 +-
 scripts/d.rast.leg/d.rast.leg.html                 |      2 +-
 scripts/d.rast.leg/d.rast.leg.py                   |      1 +
 scripts/d.redraw/d.redraw.html                     |      2 +-
 scripts/d.redraw/d.redraw.py                       |     25 +-
 scripts/d.shade/d.shade.html                       |      2 +-
 scripts/d.to.rast/d.to.rast.html                   |      4 +-
 scripts/d.to.rast/d.to.rast.py                     |      4 +-
 scripts/d.what.rast/d.what.rast.html               |      2 +-
 scripts/d.what.rast/d.what.rast.py                 |      6 +-
 scripts/d.what.vect/d.what.vect.html               |      2 +-
 scripts/d.what.vect/d.what.vect.py                 |      4 +-
 scripts/db.dropcolumn/db.dropcolumn.html           |      2 +-
 scripts/db.droptable/db.droptable.html             |      2 +-
 scripts/db.in.ogr/db.in.ogr.html                   |      2 +-
 scripts/db.in.ogr/db.in.ogr.py                     |     10 +-
 scripts/db.out.ogr/db.out.ogr.html                 |      2 +-
 scripts/db.test/db.test.html                       |      2 +-
 scripts/db.univar/db.univar.html                   |      2 +-
 scripts/g.extension.all/g.extension.all.html       |      2 +-
 scripts/g.extension/g.extension.html               |    100 +-
 scripts/g.extension/g.extension.py                 |   1521 +-
 scripts/g.extension/testsuite/data/modules.xml     |    253 +
 .../data/sample_modules/r.plus.example.tar.gz      |    Bin 0 -> 836 bytes
 .../data/sample_modules/r.plus.example.zip         |    Bin 0 -> 1410 bytes
 .../data/sample_modules/r.plus.example/Makefile    |      7 +
 .../r.plus.example/r.plus.example.html             |     25 +
 .../r.plus.example/r.plus.example.py               |     36 +
 .../data/sample_modules/r.plus.example_sep.tar.gz  |    Bin 0 -> 802 bytes
 scripts/g.extension/testsuite/data/toolboxes.xml   |     22 +
 scripts/g.extension/testsuite/doctest.sh           |      6 +
 .../g.extension/testsuite/test_addons_modules.py   |    125 +
 .../g.extension/testsuite/test_addons_toolboxes.py |     52 +
 scripts/g.manual/g.manual.html                     |      2 +-
 scripts/g.search.modules/Makefile                  |      7 +
 scripts/g.search.modules/g.search.modules.html     |     70 +
 scripts/g.search.modules/g.search.modules.py       |    238 +
 .../testsuite/test_g_search_modules.py             |     64 +
 scripts/i.colors.enhance/i.colors.enhance.html     |      2 +-
 scripts/i.image.mosaic/i.image.mosaic.html         |      2 +-
 scripts/i.in.spotvgt/i.in.spotvgt.html             |      2 +-
 scripts/i.oif/i.oif.html                           |      2 +-
 scripts/i.pansharpen/i.pansharpen.html             |     11 +-
 scripts/i.pansharpen/i.pansharpen.py               |      2 +-
 scripts/i.pansharpen/rgb_brovey321.jpg             |    Bin 157408 -> 83788 bytes
 scripts/i.pansharpen/rgb_ihs321.jpg                |    Bin 152140 -> 81565 bytes
 scripts/i.pansharpen/rgb_landsat321.jpg            |    Bin 105300 -> 57826 bytes
 scripts/i.pansharpen/rgb_pca321.jpg                |    Bin 161207 -> 85141 bytes
 scripts/i.spectral/i.spectral.html                 |      2 +-
 scripts/i.spectral/i.spectral.py                   |     22 +-
 scripts/i.tasscap/i.tasscap.html                   |      2 +-
 scripts/m.proj/m.proj.html                         |      2 +-
 scripts/m.proj/m.proj.py                           |    157 +-
 scripts/r.blend/r.blend.html                       |     11 +-
 scripts/r.buffer.lowmem/r.buffer.lowmem.html       |      2 +-
 scripts/r.colors.stddev/r.colors.stddev.html       |      2 +-
 scripts/r.fillnulls/r.fillnulls.html               |      2 +-
 scripts/r.grow/r.grow.html                         |      2 +-
 scripts/r.import/r.import.py                       |     25 +-
 scripts/r.import/testsuite/data/data1.tif          |    Bin 0 -> 1641 bytes
 scripts/r.import/testsuite/data/data2.asc          |      9 +
 scripts/r.import/testsuite/data/data2.asc.aux.xml  |    274 +
 scripts/r.import/testsuite/data/data2.prj          |      1 +
 scripts/r.import/testsuite/test_r_import.py        |     50 +
 scripts/r.in.aster/r.in.aster.html                 |      4 +-
 scripts/r.in.srtm/r.in.srtm.html                   |      2 +-
 scripts/r.in.wms/r.in.wms.html                     |      2 +-
 scripts/r.mask/r.mask.html                         |      2 +-
 scripts/r.out.xyz/r.out.xyz.html                   |      2 +-
 scripts/r.pack/r.pack.html                         |      2 +-
 scripts/r.plane/r.plane.html                       |      2 +-
 scripts/r.reclass.area/r.reclass.area.html         |      2 +-
 scripts/r.rgb/r.rgb.html                           |      4 +-
 scripts/r.rgb/r.rgb.py                             |      5 +
 scripts/r.shade/r.shade.html                       |      2 +-
 scripts/r.tileset/r.tileset.html                   |      2 +-
 scripts/r.unpack/r.unpack.html                     |      2 +-
 scripts/r3.in.xyz/r3.in.xyz.html                   |      2 +-
 scripts/v.build.all/v.build.all.html               |      2 +-
 scripts/v.centroids/v.centroids.html               |      2 +-
 scripts/v.db.addcolumn/v.db.addcolumn.html         |      2 +-
 scripts/v.db.addtable/v.db.addtable.html           |      2 +-
 scripts/v.db.dropcolumn/v.db.dropcolumn.html       |      2 +-
 scripts/v.db.droprow/v.db.droprow.html             |      2 +-
 scripts/v.db.droptable/v.db.droptable.html         |      2 +-
 scripts/v.db.join/v.db.join.html                   |      2 +-
 scripts/v.db.join/v.db.join.py                     |     53 +-
 scripts/v.db.reconnect.all/v.db.reconnect.all.html |      2 +-
 scripts/v.db.renamecolumn/v.db.renamecolumn.html   |      2 +-
 scripts/v.db.univar/v.db.univar.html               |      2 +-
 scripts/v.db.update/v.db.update.html               |     23 +-
 scripts/v.db.update/v.db.update.py                 |     20 +-
 scripts/v.dissolve/v.dissolve.html                 |      2 +-
 scripts/v.import/v.import.py                       |     35 +-
 scripts/v.in.e00/v.in.e00.html                     |      2 +-
 scripts/v.in.geonames/v.in.geonames.html           |      2 +-
 scripts/v.in.lines/v.in.lines.html                 |      2 +-
 scripts/v.in.mapgen/v.in.mapgen.html               |      2 +-
 scripts/v.in.wfs/v.in.wfs.html                     |      2 +-
 scripts/v.krige/v.krige.html                       |      5 +-
 scripts/v.krige/v.krige.py                         |     31 +-
 scripts/v.pack/v.pack.html                         |      2 +-
 .../v.rast.stats/testsuite/test_v_rast_stats.py    |     72 +
 scripts/v.rast.stats/v.rast.stats.html             |      2 +-
 scripts/v.rast.stats/v.rast.stats.py               |     27 +-
 scripts/v.report/v.report.html                     |      2 +-
 scripts/v.to.lines/v.to.lines.html                 |      2 +-
 .../{test_suite => testsuite}/test.v.unpack.sh     |      0
 scripts/v.unpack/v.unpack.html                     |      2 +-
 scripts/v.unpack/v.unpack.py                       |      3 +-
 scripts/v.what.strds/v.what.strds.html             |      2 +-
 scripts/v.what.vect/v.what.vect.html               |      2 +-
 scripts/v.what.vect/v.what.vect.py                 |      4 +
 scripts/wxpyimgview/wxpyimgview.html               |      2 +-
 temporal/Makefile                                  |     10 +-
 temporal/t.connect/t.connect.html                  |      2 +-
 .../testsuite/test_distr_tgis_db_raster.py         |    238 +-
 .../testsuite/test_distr_tgis_db_raster3d.py       |    207 +-
 .../testsuite/test_distr_tgis_db_vector.py         |    227 +-
 temporal/t.create/t.create.html                    |      2 +-
 temporal/t.info/t.info.html                        |      2 +-
 temporal/t.list/t.list.html                        |      2 +-
 temporal/t.list/t.list.py                          |     34 +-
 temporal/t.merge/t.merge.html                      |      2 +-
 temporal/t.merge/t.merge.py                        |      1 +
 temporal/t.merge/testsuite/test.t.merge.sh         |      2 +-
 temporal/t.rast.accdetect/t.rast.accdetect.html    |      2 +-
 temporal/t.rast.accdetect/t.rast.accdetect.py      |     40 +-
 .../testsuite/test.t.rast.accdetect.reverse.sh     |      4 +-
 .../testsuite/test.t.rast.accdetect.sh             |      6 +-
 temporal/t.rast.accdetect/testsuite/test_simple.py |     96 +
 temporal/t.rast.accumulate/t.rast.accumulate.html  |      4 +-
 temporal/t.rast.accumulate/t.rast.accumulate.py    |     30 +-
 .../t.rast.accumulate/testsuite/data/acc_1.ref     |     39 -
 .../t.rast.accumulate/testsuite/data/acc_2.ref     |     39 -
 .../t.rast.accumulate/testsuite/data/acc_3.ref     |     39 -
 .../t.rast.accumulate/testsuite/data/acc_4.ref     |     39 -
 .../t.rast.accumulate/testsuite/data/acc_5.ref     |     40 -
 .../testsuite/test.t.rast.accumulate.sh            |     80 -
 .../testsuite/test_accumulation.py                 |    240 +
 .../t.rast.aggregate.ds/t.rast.aggregate.ds.html   |      2 +-
 .../t.rast.aggregate.ds/t.rast.aggregate.ds.py     |     16 +-
 .../testsuite/test.t.rast.aggregate.ds.sh          |      2 +-
 temporal/t.rast.aggregate/t.rast.aggregate.html    |      2 +-
 temporal/t.rast.aggregate/t.rast.aggregate.py      |     28 +-
 .../testsuite/test_aggregation_absolute.py         |     75 +-
 .../test_aggregation_absolute_parallel.py          |     50 +-
 .../testsuite/test_aggregation_relative.py         |     46 +-
 temporal/t.rast.algebra/t.rast.algebra.html        |      2 +-
 .../testsuite/test_raster_algebra.py               |     12 +-
 .../testsuite/test_raster_algebra_fails.py         |     13 +-
 .../testsuite/test_raster_algebra_granularity.py   |     12 +-
 .../test_raster_algebra_granularity_fails.py       |     15 +-
 temporal/t.rast.colors/t.rast.colors.html          |      2 +-
 temporal/t.rast.contour/Makefile                   |      7 +
 temporal/t.rast.contour/t.rast.contour.html        |     43 +
 temporal/t.rast.contour/t.rast.contour.py          |    284 +
 temporal/t.rast.contour/testsuite/test_convert.py  |    246 +
 temporal/t.rast.export/t.rast.export.html          |     14 +-
 temporal/t.rast.export/t.rast.export.py            |     17 +-
 .../t.rast.export/testsuite/test_rast_export.py    |     74 +
 temporal/t.rast.extract/t.rast.extract.html        |      2 +-
 temporal/t.rast.extract/t.rast.extract.py          |     14 +-
 temporal/t.rast.extract/testsuite/test_extract.py  |     36 +-
 temporal/t.rast.gapfill/t.rast.gapfill.html        |     23 +-
 temporal/t.rast.gapfill/t.rast.gapfill.py          |    117 +-
 temporal/t.rast.gapfill/test.t.rast.gapfill.sh     |     37 -
 temporal/t.rast.gapfill/testsuite/test_gapfill.py  |    262 +
 temporal/t.rast.import/t.rast.import.html          |      2 +-
 temporal/t.rast.import/t.rast.import.py            |     14 +-
 .../testsuite/data/precip_2000.tar.bzip2           |    Bin 0 -> 46755 bytes
 .../testsuite/test_temporal_rast_import.py         |     47 +
 temporal/t.rast.list/t.rast.list.html              |      2 +-
 temporal/t.rast.list/t.rast.list.py                |      9 +-
 temporal/t.rast.mapcalc/t.rast.mapcalc.html        |      2 +-
 temporal/t.rast.neighbors/t.rast.neighbors.html    |      2 +-
 temporal/t.rast.neighbors/t.rast.neighbors.py      |     21 +-
 .../t.rast.neighbors/testsuite/test_neighbors.py   |     86 +
 temporal/t.rast.out.vtk/t.rast.out.vtk.html        |      2 +-
 temporal/t.rast.series/t.rast.series.html          |      2 +-
 temporal/t.rast.series/t.rast.series.py            |      1 +
 temporal/t.rast.series/testsuite/test_series.py    |    154 +
 temporal/t.rast.to.rast3/t.rast.to.rast3.html      |      2 +-
 .../testsuite/test_strds_to_rast3.py               |    113 +-
 temporal/t.rast.to.vect/Makefile                   |      7 +
 temporal/t.rast.to.vect/t.rast.to.vect.html        |     42 +
 temporal/t.rast.to.vect/t.rast.to.vect.py          |    274 +
 temporal/t.rast.to.vect/testsuite/test_to_vect.py  |    189 +
 temporal/t.rast.univar/t.rast.univar.html          |      2 +-
 temporal/t.rast.univar/testsuite/test_univar.py    |     30 +-
 temporal/t.rast.what/Makefile                      |      7 +
 temporal/t.rast.what/t.rast.what.html              |    138 +
 temporal/t.rast.what/t.rast.what.py                |    526 +
 temporal/t.rast.what/testsuite/test_what.py        |    173 +
 temporal/t.rast3d.algebra/t.rast3d.algebra.html    |      2 +-
 .../testsuite/test_raster3d_algebra.py             |     13 +-
 temporal/t.rast3d.extract/t.rast3d.extract.html    |      2 +-
 temporal/t.rast3d.extract/t.rast3d.extract.py      |     12 +-
 .../t.rast3d.extract/testsuite/test_extract.py     |     17 +
 temporal/t.rast3d.list/t.rast3d.list.html          |      2 +-
 temporal/t.rast3d.list/t.rast3d.list.py            |      9 +-
 .../t.rast3d.list/testsuite/test.t.rast3d.list.sh  |      8 +-
 temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html    |      2 +-
 temporal/t.rast3d.univar/t.rast3d.univar.html      |      2 +-
 temporal/t.rast3d.univar/testsuite/test_univar.py  |     25 +-
 temporal/t.register/t.register.html                |     48 +-
 temporal/t.remove/t.remove.html                    |      2 +-
 temporal/t.rename/t.rename.html                    |      2 +-
 temporal/t.sample/t.sample.html                    |      2 +-
 temporal/t.select/t.select.html                    |      2 +-
 temporal/t.shift/t.shift.html                      |      2 +-
 temporal/t.shift/t.shift.py                        |      1 +
 temporal/t.shift/test.t.shift.absolue.sh           |     46 -
 temporal/t.shift/test.t.shift.relative.sh          |     32 -
 temporal/t.shift/testsuite/test_shift.py           |    526 +
 temporal/t.snap/t.snap.html                        |      2 +-
 temporal/t.snap/t.snap.py                          |      1 +
 temporal/t.snap/testsuite/test_snap.py             |    291 +
 temporal/t.support/t.support.html                  |      2 +-
 temporal/t.support/t.support.py                    |     17 +-
 .../t.support/testsuite/test_support_str3ds.py     |    105 +
 temporal/t.support/testsuite/test_support_strds.py |    105 +
 temporal/t.support/testsuite/test_support_stvds.py |     96 +
 temporal/t.topology/t.topology.html                |      2 +-
 temporal/t.unregister/t.unregister.html            |      2 +-
 temporal/t.unregister/testsuite/test_unregister.py |      4 +-
 temporal/t.vect.algebra/t.vect.algebra.html        |      2 +-
 .../testsuite/test_vector_algebra.py               |     15 +-
 temporal/t.vect.db.select/t.vect.db.select.html    |      2 +-
 temporal/t.vect.export/t.vect.export.html          |     16 +-
 temporal/t.vect.extract/t.vect.extract.html        |      2 +-
 temporal/t.vect.extract/t.vect.extract.py          |     13 +-
 .../t.vect.extract/testsuite/test_vect_extract.py  |    107 +
 temporal/t.vect.import/t.vect.import.html          |      2 +-
 temporal/t.vect.list/t.vect.list.html              |      2 +-
 temporal/t.vect.list/t.vect.list.py                |      9 +-
 .../testsuite/test.t.vect.list.layer.sh            |     10 +-
 temporal/t.vect.list/testsuite/test.t.vect.list.sh |     10 +-
 .../t.vect.observe.strds/t.vect.observe.strds.html |      7 +-
 .../t.vect.observe.strds/t.vect.observe.strds.py   |      8 +-
 temporal/t.vect.univar/t.vect.univar.html          |      2 +-
 temporal/t.vect.what.strds/t.vect.what.strds.html  |      2 +-
 temporal/temporalintro.html                        |      2 -
 testsuite/raster/rmapcalc_test.sh                  |    177 -
 tools/g.html2man/g.html2man.py                     |     25 +-
 tools/g.html2man/groff.py                          |    396 +-
 tools/g.html2man/html.py                           |    131 +-
 tools/g.html2man/rest.py                           |     10 +-
 tools/mkhtml.py                                    |     36 +-
 tools/vagrant/clean.sh                             |     14 +
 tools/vagrant/compile.sh                           |     57 +
 vector/Makefile                                    |      4 +
 vector/v.buffer/main.c                             |      1 -
 vector/v.buffer/v.buffer.html                      |      4 +-
 vector/v.build.polylines/main.c                    |      7 +-
 vector/v.build.polylines/v.build.polylines.html    |      5 +-
 vector/v.build.polylines/walk.c                    |     53 +
 vector/v.build.polylines/walk.h                    |      2 +
 vector/v.build/main.c                              |      2 +-
 vector/v.build/v.build.html                        |      4 +-
 vector/v.category/testsuite/copy_multiple_cats.sh  |     30 +
 vector/v.category/v.category.html                  |      2 +-
 vector/v.clean/test/description.html               |      2 +-
 vector/v.clean/v.clean.html                        |      4 +-
 vector/v.cluster/Makefile                          |     12 +
 vector/v.cluster/main.c                            |   1285 +
 vector/v.cluster/v.cluster.html                    |    207 +
 vector/v.cluster/v_cluster_4_methods.png           |    Bin 0 -> 104033 bytes
 vector/v.colors.out/v.colors.out.html              |      2 +-
 vector/v.colors/v.colors.html                      |      2 +-
 vector/v.db.connect/v.db.connect.html              |      2 +-
 vector/v.db.select/main.c                          |     56 +-
 vector/v.db.select/testsuite/test_v_db_select.py   |    218 +
 vector/v.db.select/v.db.select.html                |     67 +-
 vector/v.decimate/Makefile                         |     14 +
 vector/v.decimate/count_decimation.c               |    134 +
 vector/v.decimate/count_decimation.h               |     43 +
 vector/v.decimate/grid_decimation.c                |    179 +
 vector/v.decimate/grid_decimation.h                |     79 +
 vector/v.decimate/main.c                           |    465 +
 vector/v.decimate/v.decimate.html                  |    138 +
 vector/v.decimate/v_decimate_count.png             |    Bin 0 -> 81942 bytes
 vector/v.decimate/v_decimate_grid_cat.png          |    Bin 0 -> 110543 bytes
 vector/v.decimate/v_decimate_original.png          |    Bin 0 -> 128839 bytes
 vector/v.delaunay/v.delaunay.html                  |      2 +-
 vector/v.distance/distance.c                       |     18 +-
 vector/v.distance/main.c                           |      2 +-
 vector/v.distance/testsuite/test_areas_points.py   |    150 +
 vector/v.distance/v.distance.html                  |      2 +-
 vector/v.drape/main.c                              |      1 +
 vector/v.drape/v.drape.html                        |      2 +-
 vector/v.edit/testsuite/select_all_flag.sh         |     35 +
 vector/v.edit/v.edit.html                          |      2 +-
 vector/v.external.out/v.external.out.html          |      2 +-
 vector/v.external/args.c                           |      6 +-
 vector/v.external/dsn.c                            |     78 +
 vector/v.external/local_proto.h                    |      3 +
 vector/v.external/main.c                           |     19 +-
 vector/v.external/v.external.html                  |      2 +-
 vector/v.extract/v.extract.html                    |      9 +-
 vector/v.extrude/v.extrude.html                    |      2 +-
 vector/v.generalize/main.c                         |     36 +-
 vector/v.generalize/misc.c                         |    614 +-
 vector/v.generalize/misc.h                         |      7 +-
 vector/v.generalize/v.generalize.html              |     10 +-
 vector/v.hull/v.hull.html                          |      2 +-
 vector/v.in.ascii/main.c                           |      2 +-
 vector/v.in.ascii/testsuite/test_csv.py            |    182 +
 vector/v.in.ascii/v.in.ascii.html                  |      4 +-
 vector/v.in.db/v.in.db.html                        |      2 +-
 vector/v.in.dwg/v.in.dwg.html                      |      2 +-
 vector/v.in.dxf/v.in.dxf.html                      |      2 +-
 vector/v.in.lidar/attributes.c                     |    242 +
 vector/v.in.lidar/attributes.h                     |     32 +
 vector/v.in.lidar/count_decimation.c               |    134 +
 vector/v.in.lidar/count_decimation.h               |     54 +
 vector/v.in.lidar/filters.c                        |     89 +
 vector/v.in.lidar/filters.h                        |     37 +
 vector/v.in.lidar/info.c                           |     89 +
 vector/v.in.lidar/info.h                           |     21 +
 vector/v.in.lidar/lidar.c                          |     41 +
 vector/v.in.lidar/lidar.h                          |     69 +
 vector/v.in.lidar/main.c                           |    961 +-
 vector/v.in.lidar/projection.c                     |    140 +
 vector/v.in.lidar/projection.h                     |     29 +
 vector/v.in.lidar/testsuite/basic_test.py          |     68 +
 vector/v.in.lidar/testsuite/decimation_test.py     |    161 +
 vector/v.in.lidar/testsuite/filter_test.py         |    208 +
 vector/v.in.lidar/testsuite/mask_test.py           |    157 +
 vector/v.in.lidar/v.in.lidar.html                  |     41 +-
 vector/v.in.lidar/vector_mask.c                    |     70 +
 vector/v.in.lidar/vector_mask.h                    |     34 +
 vector/v.in.ogr/dsn.c                              |     78 +
 vector/v.in.ogr/main.c                             |    141 +-
 vector/v.in.ogr/v.in.ogr.html                      |     50 +-
 vector/v.in.pdal/Makefile                          |     19 +
 vector/v.in.pdal/filters.c                         |    156 +
 vector/v.in.pdal/filters.h                         |     47 +
 vector/v.in.pdal/lidar.c                           |     77 +
 vector/v.in.pdal/lidar.h                           |     94 +
 vector/v.in.pdal/main.cpp                          |    547 +
 vector/v.in.pdal/projection.c                      |    214 +
 vector/v.in.pdal/projection.h                      |     35 +
 vector/v.in.pdal/testsuite/basic_test.py           |     71 +
 vector/v.in.pdal/testsuite/filter_test.py          |    208 +
 vector/v.in.pdal/v.in.pdal.html                    |     39 +
 vector/v.in.region/v.in.region.html                |      2 +-
 vector/v.info/v.info.html                          |      6 +-
 vector/v.kcv/v.kcv.html                            |      2 +-
 vector/v.kernel/main.c                             |      6 +-
 vector/v.kernel/v.kernel.html                      |      2 +-
 vector/v.label.sa/v.label.sa.html                  |      2 +-
 vector/v.label/v.label.html                        |      2 +-
 vector/v.lidar.correction/v.lidar.correction.html  |      2 +-
 .../v.lidar.edgedetection.html                     |      2 +-
 vector/v.lidar.growing/v.lidar.growing.html        |      2 +-
 vector/v.lrs/lrs.html                              |      2 +-
 vector/v.lrs/v.lrs.create/v.lrs.create.html        |      2 +-
 vector/v.lrs/v.lrs.label/v.lrs.label.html          |      2 +-
 vector/v.lrs/v.lrs.segment/v.lrs.segment.html      |      2 +-
 vector/v.lrs/v.lrs.where/v.lrs.where.html          |      2 +-
 vector/v.mkgrid/main.c                             |      2 +-
 vector/v.mkgrid/v.mkgrid.html                      |      2 +-
 vector/v.neighbors/v.neighbors.html                |      2 +-
 vector/v.net.alloc/Makefile                        |      2 +-
 vector/v.net.alloc/alloc.c                         |    266 +
 vector/v.net.alloc/alloc.h                         |     20 +
 vector/v.net.alloc/main.c                          |    212 +-
 vector/v.net.alloc/v.net.alloc.html                |     71 +-
 vector/v.net.alloc/v_net_alloc_from_centers.png    |    Bin 0 -> 47054 bytes
 vector/v.net.alloc/v_net_alloc_to_centers.png      |    Bin 0 -> 47005 bytes
 vector/v.net.allpairs/v.net.allpairs.html          |      2 +-
 vector/v.net.bridge/v.net.bridge.html              |      2 +-
 vector/v.net.centrality/v.net.centrality.html      |      4 +-
 vector/v.net.components/main.c                     |     46 +-
 vector/v.net.components/v.net.components.html      |     39 +-
 vector/v.net.connectivity/v.net.connectivity.html  |      2 +-
 vector/v.net.distance/main.c                       |    113 +-
 vector/v.net.distance/v.net.distance.html          |     31 +-
 vector/v.net.flow/v.net.flow.html                  |      2 +-
 vector/v.net.iso/main.c                            |    233 +-
 vector/v.net.iso/v.net.iso.html                    |     25 +-
 vector/v.net.path/main.c                           |     68 +-
 vector/v.net.path/path.c                           |     42 +-
 vector/v.net.path/v.net.path.html                  |     27 +-
 vector/v.net.salesman/main.c                       |    179 +-
 vector/v.net.salesman/v.net.salesman.html          |     24 +-
 vector/v.net.spanningtree/v.net.spanningtree.html  |     21 +-
 vector/v.net.steiner/main.c                        |     79 +-
 vector/v.net.steiner/v.net.steiner.html            |      7 +-
 vector/v.net.timetable/v.net.timetable.html        |      2 +-
 vector/v.net.visibility/v.net.visibility.html      |      2 +-
 vector/v.net/Makefile                              |      4 +-
 vector/v.net/args.c                                |     44 +-
 vector/v.net/main.c                                |     33 +-
 vector/v.net/proto.h                               |      7 +-
 vector/v.net/testsuite/test_v_net.py               |     50 +
 vector/v.net/turntable.c                           |    744 +
 vector/v.net/v.net.html                            |     42 +-
 vector/v.normal/v.normal.html                      |      2 +-
 vector/v.out.ascii/v.out.ascii.html                |      2 +-
 vector/v.out.dxf/v.out.dxf.html                    |      2 +-
 vector/v.out.lidar/Makefile                        |     16 +
 vector/v.out.lidar/main.c                          |    822 +
 vector/v.out.lidar/testsuite/test_v_out_lidar.py   |     76 +
 vector/v.out.lidar/v.out.lidar.html                |     52 +
 vector/v.out.ogr/v.out.ogr.html                    |      2 +-
 vector/v.out.postgis/v.out.postgis.html            |      2 +-
 vector/v.out.pov/v.out.pov.html                    |      2 +-
 vector/v.out.svg/v.out.svg.html                    |      2 +-
 vector/v.outlier/v.outlier.html                    |      2 +-
 vector/v.overlay/v.overlay.html                    |      2 +-
 vector/v.parallel/v.parallel.html                  |      2 +-
 vector/v.patch/main.c                              |     25 +-
 vector/v.patch/v.patch.html                        |      2 +-
 vector/v.perturb/v.perturb.html                    |      2 +-
 vector/v.proj/main.c                               |      1 +
 vector/v.proj/v.proj.html                          |     18 +-
 vector/v.qcount/v.qcount.html                      |      2 +-
 vector/v.random/main.c                             |      7 +-
 vector/v.random/v.random.html                      |      4 +-
 vector/v.reclass/v.reclass.html                    |      2 +-
 vector/v.rectify/v.rectify.html                    |      4 +-
 vector/v.sample/v.sample.html                      |      2 +-
 vector/v.segment/v.segment.html                    |      2 +-
 vector/v.select/main.c                             |     10 +-
 vector/v.select/overlap.c                          |      4 +-
 vector/v.select/proto.h                            |      6 +-
 vector/v.select/select.c                           |      8 +-
 vector/v.select/v.select.html                      |      2 +-
 vector/v.select/write.c                            |     27 +-
 vector/v.split/main.c                              |     21 +-
 vector/v.split/v.split.html                        |     32 +-
 vector/v.support/v.support.html                    |      2 +-
 vector/v.surf.bspline/v.surf.bspline.html          |      4 +-
 vector/v.surf.idw/v.surf.idw.html                  |     50 +-
 vector/v.surf.rst/v.surf.rst.html                  |      2 +-
 vector/v.timestamp/v.timestamp.html                |      2 +-
 vector/v.to.3d/testsuite/test_vto3d.py             |     38 +
 vector/v.to.3d/v.to.3d.html                        |      2 +-
 vector/v.to.db/areas.c                             |     27 +-
 vector/v.to.db/find.c                              |     66 +-
 vector/v.to.db/global.h                            |      1 +
 vector/v.to.db/lines.c                             |      1 +
 vector/v.to.db/main.c                              |     66 +-
 vector/v.to.db/query.c                             |      1 +
 vector/v.to.db/report.c                            |      2 +-
 vector/v.to.db/v.to.db.html                        |      2 +-
 vector/v.to.points/v.to.points.html                |     21 +-
 vector/v.to.rast/do_areas.c                        |      3 +-
 vector/v.to.rast/main.c                            |      2 +-
 vector/v.to.rast/v.to.rast.html                    |     21 +-
 vector/v.to.rast/vect2rast.c                       |     23 +-
 vector/v.to.rast3/v.to.rast3.html                  |      2 +-
 vector/v.transform/main.c                          |      2 +-
 vector/v.transform/v.transform.html                |      5 +-
 vector/v.type/v.type.html                          |      2 +-
 vector/v.univar/v.univar.html                      |      2 +-
 vector/v.vect.stats/main.c                         |      2 +-
 vector/v.vol.rst/user3.c                           |      1 -
 vector/v.vol.rst/v.vol.rst.html                    |      2 +-
 vector/v.voronoi/v.voronoi.html                    |      2 +-
 vector/v.what.rast/main.c                          |     40 +-
 vector/v.what.rast/v.what.rast.html                |     31 +-
 vector/v.what.rast3/main.c                         |      1 +
 vector/v.what.rast3/v.what.rast3.html              |      2 +-
 vector/v.what/testsuite/test_vwhat_layers.py       |      3 +-
 vector/v.what/testsuite/test_vwhat_ncspm.py        |    173 +-
 vector/v.what/v.what.html                          |      2 +-
 visualization/Makefile                             |      3 +-
 visualization/wximgview/Makefile                   |     25 -
 visualization/wximgview/main.cpp                   |    283 -
 visualization/wximgview/wximgview.h                |     48 -
 visualization/wximgview/wximgview.html             |     45 -
 visualization/ximgview/ximgview.html               |      2 +-
 1713 files changed, 442753 insertions(+), 157496 deletions(-)

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..f2d47e6
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,95 @@
+# Author: Ivan Mincik, ivan.mincik at gmail.com
+
+language: c
+
+compiler:
+        - gcc
+        - clang
+
+cache: apt
+
+before_install:
+        # build dependencies
+        - sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable -y
+        - sudo apt-get update -qq
+
+        # test dataset
+        - wget http://grass.osgeo.org/sampledata/north_carolina/nc_basic_spm_grass7.tar.gz
+        - tar xzf ./nc_basic_spm_grass7.tar.gz
+
+install:
+        - sudo apt-get install --no-install-recommends
+                autoconf2.13
+                autotools-dev
+                debhelper
+                fakeroot
+                flex
+                bison
+                libcairo2-dev
+                libfftw3-dev
+                libfreetype6-dev
+                libgdal-dev
+                libgeos-dev
+                libglu1-mesa-dev
+                libjpeg-dev
+                libpng-dev
+                libtiff-dev
+                libmysqlclient-dev
+                libncurses5-dev
+                libpq-dev
+                libproj-dev
+                proj-bin
+                libreadline-dev
+                libsqlite3-dev
+                libwxgtk2.8-dev
+                libxmu-dev
+                python
+                python-wxgtk2.8
+                python-dev
+                unixodbc-dev
+                libnetcdf-dev  
+                netcdf-bin
+                dpatch
+                libblas-dev
+                liblapack-dev
+                python-numpy
+
+env:
+  global:
+    - CFLAGS="-Werror=implicit-function-declaration"
+
+script:
+        - ./configure --host=x86_64-linux-gnu --build=x86_64-linux-gnu
+                --prefix=/usr/lib
+                --sysconfdir=/etc
+                --sharedstatedir=/var
+                --enable-shared
+                --with-postgres
+                --with-cxx
+                --with-gdal
+                --with-freetype
+                --with-readline
+                --with-nls
+                --with-odbc
+                --with-geos
+                --with-lapack
+                --with-netcdf
+                --with-blas
+                --with-sqlite
+                --enable-largefile
+                --with-freetype-includes=/usr/include/freetype2/
+                --with-postgres-includes=/usr/include/postgresql/
+                --with-proj-share=/usr/share/proj
+                --with-wxwidgets=/usr/bin/wx-config
+                --with-python
+                --with-cairo
+        - make -j2
+
+notifications:
+        email:
+            recipients:
+                - grass-dev at lists.osgeo.org
+                - landa.martin at gmail.com
+                - wenzeslaus at gmail.com
+            on_success: change
+            on_failure: always
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..4434e39
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,213975 @@
+2016-04-09 08:46  martinl
+
+	* vector/v.generalize/v.generalize.html: v.generalize: remove
+	  broken link + parameters in bold
+
+2016-04-08 14:25  martinl
+
+	* gui/wxpython/core/treemodel.py,
+	  gui/wxpython/datacatalog/catalog.py,
+	  gui/wxpython/datacatalog/frame.py,
+	  gui/wxpython/datacatalog/toolbars.py,
+	  gui/wxpython/datacatalog/tree.py: wxGUI/datacatalog: add toolbar
+	  and implement two functions - reload whole tree or current mapset
+	  only (new feature)
+
+2016-04-07 08:14  martinl
+
+	* vector/v.what.rast/main.c, vector/v.what.rast3/main.c:
+	  v.what.rast|3: add keyword surface information
+
+2016-04-07 07:46  martinl
+
+	* vector/v.drape/main.c: v.drape: add keyword for ArcGIS users
+
+2016-04-07 07:39  martinl
+
+	* raster/r.recode/main.c: r.recode: add keyword for
+	  reclassification
+
+2016-04-06 21:36  martinl
+
+	* vector/v.in.ascii/main.c: v.in.ascii: cosmetics in module
+	  description, paramater should start with uppercase
+
+2016-04-05 12:03  martinl
+
+	* mswindows/osgeo4w/env.bat.tmpl: wingrass: document GRASS_SH (how
+	  to switch from cmd to bash)
+
+2016-04-03 20:37  martinl
+
+	* general/g.proj/datumtrans.c: g.proj: fix -p & datumtrans r68205
+
+2016-04-02 12:35  martinl
+
+	* general/g.proj/datumtrans.c: g.proj: force datumtrans if defined
+
+2016-04-02 10:21  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/location_wizard/wizard.py: wxGUI: ReadEpsgCodes()
+	  raise OpenError exception of failure (no need for backport)
+
+2016-04-02 10:01  martinl
+
+	* general/g.proj/datumtrans.c: g.proj: do not require -t flag when
+	  datumtrans=-1 given (keep consistency with grass70)
+
+2016-04-01 13:47  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/gmodeler: avoid recursive deletion when undefining module
+	  parameters
+
+2016-04-01 12:39  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: disable
+	  reordering (see #2951)
+
+2016-04-01 12:23  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: errors when
+	  changing order of commands (indexation of items seems wrong)
+	  #2836
+
+2016-04-01 11:12  martinl
+
+	* display/d.mon/start.c: d.mon: fix width/height handling when no
+	  output is given
+
+2016-04-01 10:56  martinl
+
+	* lib/pngdriver/write_png.c: png driver: i18n cosmetics (write)
+
+2016-04-01 10:28  martinl
+
+	* lib/pngdriver/read_png.c: png driver: fix typo from r68191
+
+2016-04-01 10:19  martinl
+
+	* lib/pngdriver/read_png.c: png driver: i18n cosmetics
+
+2016-04-01 10:03  martinl
+
+	* imagery/i.rectify/target.c: i.rectify: fix error format not a
+	  string literal and no format arguments
+
+2016-03-31 22:07  neteler
+
+	* temporal/t.register/t.register.html: t.register manual: ECAD
+	  example added (contributed by Vero Andreo)
+
+2016-03-29 13:45  zarch
+
+	* lib/python/script/testsuite/test_utils.py: script.utils: change
+	  tests to avoid decorator
+
+2016-03-29 09:23  zarch
+
+	* lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/factory.py,
+	  lib/python/temporal/gui_support.py,
+	  lib/python/temporal/list_stds.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/spatial_topology_dataset_connector.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_operator.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_topology_dataset_connector.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/univar_statistics.py: temporal: revert
+	  changes (r68139 and r68177) since they are not fixing bugs and
+	  therefore they should go in relbr72
+
+2016-03-29 08:10  zarch
+
+	* scripts/d.correlate/d.correlate.py, scripts/d.frame/d.frame.py,
+	  scripts/d.polar/d.polar.py, scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py, scripts/d.redraw/d.redraw.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py, scripts/db.univar/db.univar.py,
+	  scripts/g.extension.all/g.extension.all.py,
+	  scripts/g.extension/g.extension.py,
+	  scripts/g.extension/testsuite/test_addons_modules.py,
+	  scripts/g.manual/g.manual.py,
+	  scripts/g.search.modules/g.search.modules.py,
+	  scripts/g.search.modules/testsuite/test_g_search_modules.py,
+	  scripts/i.colors.enhance/i.colors.enhance.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py, scripts/i.oif/i.oif.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.import/r.import.py, scripts/r.in.aster/r.in.aster.py,
+	  scripts/r.in.srtm/r.in.srtm.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.in.wms/srs.py, scripts/r.in.wms/wms_base.py,
+	  scripts/r.in.wms/wms_cap_parsers.py, scripts/r.in.wms/wms_drv.py,
+	  scripts/r.in.wms/wms_gdal_drv.py, scripts/r.mask/r.mask.py,
+	  scripts/r.out.xyz/r.out.xyz.py, scripts/r.pack/r.pack.py,
+	  scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.shade/r.shade.py, scripts/r.tileset/r.tileset.py,
+	  scripts/r.unpack/r.unpack.py, scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.build.all/v.build.all.py,
+	  scripts/v.centroids/v.centroids.py,
+	  scripts/v.db.addcolumn/v.db.addcolumn.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droprow/v.db.droprow.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.import/v.import.py,
+	  scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.lines/v.in.lines.py,
+	  scripts/v.in.mapgen/v.in.mapgen.py, scripts/v.in.wfs/v.in.wfs.py,
+	  scripts/v.krige/v.krige.py, scripts/v.pack/v.pack.py,
+	  scripts/v.rast.stats/testsuite/test_v_rast_stats.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.unpack/v.unpack.py,
+	  scripts/v.what.strds/testsuite/test_what_strds.py,
+	  scripts/v.what.strds/v.what.strds.py,
+	  scripts/wxpyimgview/wxpyimgview.py,
+	  scripts/wxpyimgview/wxpyimgview_gui.py: grass71/scripts: revert
+	  changes (r68140 and r68178) since they are not fixing bugs and
+	  therefore they should go in relbr72
+
+2016-03-29 06:29  zarch
+
+	* lib/python/script/utils.py: script.utils: fix bug in
+	  decode/encode function
+
+2016-03-29 06:24  zarch
+
+	* lib/python/script/testsuite/test_utils.py: script.utils: add test
+	  to highlight bug in encode/decode functions
+
+2016-03-29 06:13  zarch
+
+	* scripts/m.proj/m.proj.py: m.proj: fix undefned global variable
+	  'grass'
+
+2016-03-29 06:11  zarch
+
+	* lib/python/temporal/temporal_operator.py: temporal python
+	  library: fix doctest to return a tuple
+
+2016-03-28 21:23  neteler
+
+	* raster/r.cost/main.c,
+	  raster/r.stream.extract/r.stream.extract.html,
+	  raster/r.walk/main.c, raster/r.watershed/ram/do_flatarea.c,
+	  vector/v.net.centrality/v.net.centrality.html: various typo fixed
+	  (#2971)
+
+2016-03-25 20:17  martinl
+
+	* lib/python/script/utils.py: libpython/set_path(): fix compilation
+	  of some addons, see #2968
+
+2016-03-25 19:51  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  g.gui.gmodeler - not possible to remove data from model (trac
+	  #2947)
+
+2016-03-25 16:22  martinl
+
+	* raster/r.topmodel/main.c, raster/r.topmodel/r.topmodel.html:
+	  r.topmodel: manual syntax cosmentics
+
+2016-03-25 14:35  martinl
+
+	* lib/gis/parser.c: don't launch GUI dialogs from command line when
+	  GUI is text (fix when GUI is not defined)
+
+2016-03-25 14:32  martinl
+
+	* lib/gis/parser.c: don't launch GUI dialogs from command line when
+	  GUI is text
+
+2016-03-25 14:00  martinl
+
+	* mswindows/osgeo4w/package.sh: osgeo4w: add missing library (see
+	  #2959)
+
+2016-03-25 08:32  martinl
+
+	* configure, configure.in, lib/init/Makefile: svn revision 00000 to
+	  exported (no need for backport)
+
+2016-03-25 05:50  zarch
+
+	* scripts/d.correlate/d.correlate.py, scripts/d.frame/d.frame.py,
+	  scripts/d.polar/d.polar.py, scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py, scripts/d.redraw/d.redraw.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py, scripts/db.univar/db.univar.py,
+	  scripts/g.extension.all/g.extension.all.py,
+	  scripts/g.extension/g.extension.py,
+	  scripts/g.extension/testsuite/test_addons_modules.py,
+	  scripts/g.manual/g.manual.py,
+	  scripts/g.search.modules/g.search.modules.py,
+	  scripts/g.search.modules/testsuite/test_g_search_modules.py,
+	  scripts/i.colors.enhance/i.colors.enhance.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py, scripts/i.oif/i.oif.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.import/r.import.py, scripts/r.in.aster/r.in.aster.py,
+	  scripts/r.in.srtm/r.in.srtm.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.in.wms/srs.py, scripts/r.in.wms/wms_base.py,
+	  scripts/r.in.wms/wms_cap_parsers.py, scripts/r.in.wms/wms_drv.py,
+	  scripts/r.in.wms/wms_gdal_drv.py, scripts/r.mask/r.mask.py,
+	  scripts/r.out.xyz/r.out.xyz.py, scripts/r.pack/r.pack.py,
+	  scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.shade/r.shade.py, scripts/r.tileset/r.tileset.py,
+	  scripts/r.unpack/r.unpack.py, scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.build.all/v.build.all.py,
+	  scripts/v.centroids/v.centroids.py,
+	  scripts/v.db.addcolumn/v.db.addcolumn.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droprow/v.db.droprow.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.import/v.import.py,
+	  scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.lines/v.in.lines.py,
+	  scripts/v.in.mapgen/v.in.mapgen.py, scripts/v.in.wfs/v.in.wfs.py,
+	  scripts/v.krige/v.krige.py, scripts/v.pack/v.pack.py,
+	  scripts/v.rast.stats/testsuite/test_v_rast_stats.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.unpack/v.unpack.py,
+	  scripts/v.what.strds/testsuite/test_what_strds.py,
+	  scripts/v.what.strds/v.what.strds.py,
+	  scripts/wxpyimgview/wxpyimgview.py,
+	  scripts/wxpyimgview/wxpyimgview_gui.py: grass71/scripts: apply
+	  pep8 and make them readable for python3
+
+2016-03-25 05:45  zarch
+
+	* lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/factory.py,
+	  lib/python/temporal/gui_support.py,
+	  lib/python/temporal/list_stds.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/spatial_topology_dataset_connector.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_operator.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_topology_dataset_connector.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/univar_statistics.py: temporal: make temporal
+	  python library importable from python3
+
+2016-03-25 05:22  zarch
+
+	* lib/python/pygrass/rpc/base.py: pygrass: remove old exception
+	  style to be compatible with python3
+
+2016-03-24 17:28  neteler
+
+	* lib/gis/datum.table, lib/proj/convert.c: libgis/libproj: +datum
+	  related to SIRGAS 2000/EPSG:4674
+
+2016-03-24 17:05  mmetz
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table,
+	  lib/proj/convert.c: libgis/libproj: +S_JTSK datum
+
+2016-03-24 14:55  mlennert
+
+	* vector/v.to.db/areas.c: v.to.db: allow (unitless) calculation of
+	  perimeter in XY location
+
+2016-03-24 14:12  mmetz
+
+	* lib/proj/convert.c: libproj: fix mixing of projection name and
+	  coordinate system name
+
+2016-03-24 13:24  mmetz
+
+	* general/g.proj/output.c: g.proj: fix typo
+
+2016-03-24 13:06  mmetz
+
+	* general/g.proj/input.c, lib/proj/Makefile, lib/proj/convert.c:
+	  read CSV from GDAL data directory (solve #2456)
+
+2016-03-23 21:29  hcho
+
+	* lib/gis/parser_standard_options.c: parser: Fix indentation
+
+2016-03-23 16:05  mmetz
+
+	* raster/r.series/main.c: r.series: sync weights handling to
+	  r.neighbors, use w_* fns
+
+2016-03-23 15:10  lucadelu
+
+	* gui/wxpython/tplot/frame.py: g.gui.tplot: fixed bug with wxPython
+	  2.8
+
+2016-03-23 14:35  lucadelu
+
+	* gui/wxpython/tplot/g.gui.tplot.py: g.gui.tplot: add capabilities
+	  to save figure more formats
+
+2016-03-23 14:06  lucadelu
+
+	* gui/wxpython/tplot/frame.py: g.gui.tplot: improved tool with
+	  stvds
+
+2016-03-23 03:55  wenzeslaus
+
+	* vector/v.vol.rst/user3.c: v.vol.rst: remove unused write to array
+	  
+	  Causes segfaut when number of points is much smaller
+	  then number of columns (valgrind: invalid write of
+	  size 8).
+	  
+	  Is seems that A is not used anymore in these loops
+	  and for next run it is initialized again.
+	  
+	  The index used is completely out of range
+	  (number of columns versus number of points).
+
+2016-03-22 20:20  mmetz
+
+	* vector/v.select/main.c, vector/v.select/overlap.c,
+	  vector/v.select/proto.h, vector/v.select/select.c,
+	  vector/v.select/write.c: v.select: fix reverse selection of areas
+
+2016-03-22 10:35  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po: i.target: Fix a message (complete
+	  r68090)
+
+2016-03-22 02:24  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: apply natural sort also
+	  when filtering data
+
+2016-03-21 13:39  wenzeslaus
+
+	* scripts/m.proj/m.proj.py: m.proj: add test for the presence of +
+	  in proj_in string (author: Rob Parsons)
+	  
+	  Change for proj_out already in r68094 by mistake.
+
+2016-03-21 13:27  wenzeslaus
+
+	* scripts/m.proj/m.proj.py: m.proj: PEP8 compliant code (author:
+	  Rob Parsons)
+	  
+	  File header according to
+	  https://trac.osgeo.org/grass/wiki/Submitting/Python
+
+2016-03-21 10:14  mlennert
+
+	* lib/gis/parser.c, lib/gis/parser_help.c: parser: add superquiet
+	  flag that suppresses non-fatal warnings (#2967 - patch by
+	  rouault)
+
+2016-03-21 06:37  hcho
+
+	* imagery/i.rectify/target.c: i.rectify: Add a newline between
+	  messages
+
+2016-03-21 06:23  hcho
+
+	* imagery/i.target/main.c: i.target: Fix a message
+
+2016-03-19 20:03  wenzeslaus
+
+	* raster/r.in.lidar/main.c, raster/r.in.lidar/point_binning.c,
+	  raster/r.in.lidar/support.c: r.in.lidar: cast to size_t before
+	  multiplying rows and cols
+	  
+	  Otherwise it segfaults with number of cells larger
+	  than max of signed int.
+
+2016-03-19 07:51  marisn
+
+	* raster/r.neighbors/r.neighbors.html: r.neighbors: list all
+	  methods in documentation (fixes #2965); Provide an example of use
+	  (related to #2620)
+
+2016-03-18 16:46  neteler
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: wxGUI gmodeler manual:
+	  MODIS NDVI url; language fixes
+
+2016-03-18 14:09  neteler
+
+	* scripts/r.blend/r.blend.html, scripts/r.rgb/r.rgb.html,
+	  scripts/r.rgb/r.rgb.py: r.rgb: more keywords; fix example;
+	  r.blend manual: add r.rgb reference
+
+2016-03-18 12:44  hcho
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: Fix a message
+
+2016-03-17 01:31  annakrat
+
+	* gui/wxpython/docs/wxGUI.modules.html: wxGUI/man: fix image names
+	  on modules page
+
+2016-03-16 20:21  wenzeslaus
+
+	* scripts/r.rgb/r.rgb.py: r.rgb: at least one of rgb is required
+	  (avoid r.mapcalc parse error later)
+
+2016-03-16 20:17  mmetz
+
+	* vector/v.extract/v.extract.html: v.extract: update manual
+
+2016-03-15 22:01  annakrat
+
+	* gui/wxpython/docs/wxGUI.components.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI.modules.html,
+	  gui/wxpython/docs/wxGUI_modules_flags.png,
+	  gui/wxpython/docs/wxGUI_modules_parameters.png,
+	  gui/wxpython/docs/wxGUI_modules_style_left.png,
+	  gui/wxpython/docs/wxGUI_modules_style_top.png,
+	  gui/wxpython/docs/wxGUI_modules_widget_file1.png,
+	  gui/wxpython/docs/wxGUI_modules_widget_file2.png,
+	  gui/wxpython/docs/wxGUI_modules_widget_selection.png: wxGUI/doc:
+	  add manual page on module dialogs
+
+2016-03-15 21:06  neteler
+
+	* general/g.findfile/g.findfile.html: g.findfile manual: shell
+	  examples extended
+
+2016-03-15 08:56  hcho
+
+	* lib/gis/parser.c: G_recreate_command: Add empty answers.
+	  Fix the command history for e.g., v.edit where="". Without this
+	  fix, where="" is not included, which makes an invalid command.
+
+2016-03-15 08:48  hcho
+
+	* lib/gis/parser.c: parser: Fix compilation warnings
+
+2016-03-15 08:24  hcho
+
+	* lib/gis/parser.c: parser: Revert r68057 since this fix changes
+	  the meaning of answers[0]
+
+2016-03-15 07:59  hcho
+
+	* lib/gis/parser.c: Don't ignore an empty answer when splitting
+	  options.
+	  Fixes the command history for e.g., v.edit where="". Without this
+	  fix, where="" is not included, which makes an invalid command.
+
+2016-03-14 23:03  ychemin
+
+	* lib/proj/iau2000.csv, lib/proj/iau2009.csv: bugfix in Mollweide
+	  and Robinson descriptions
+
+2016-03-13 10:11  martinl
+
+	* gui/wxpython/gmodeler/model.py: g.gui.gmodeler - strange
+	  duplicity when setting comment (#2944)
+
+2016-03-13 09:53  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix issue related
+	  to r68050
+
+2016-03-13 09:33  martinl
+
+	* gui/wxpython/gmodeler/model.py: g.gui.gmodeler - all layers
+	  rewritten by last output for more than one parameter (#2909)
+
+2016-03-12 23:15  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix datasource
+	  handling in modeler (do not backport)
+
+2016-03-12 18:34  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: wxGUI/gmodeler:
+	  re-enable link to user models available from SVN repository
+
+2016-03-12 18:21  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_avg_auto.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_avg_map.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_avg_run.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_comment.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_db.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_dlg_module.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_frame1.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_frame2.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_frame3.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_intermediate_data.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_items.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_loop.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_loop_dlg.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_loop_final.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_lower_toolbar.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_model_avg.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_model_classification.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_model_landslides.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_model_properties.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_model_usle.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_modis_1.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_modis_1o.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_modis_2.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_modis_2o.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_modis_3.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_modis_3o.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_modul.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_modulex.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_python.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_python_code.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_python_code_result.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_raster.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_raster3d.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_relation.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_variables.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_variables_raster.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_variables_run.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_vector.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_zc.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_zc_items.png:
+	  wxGUI/gmodeler: major improvements of the manual by Ludka
+	  Furtkevicova
+	  small images replaced by original (file size optimized by
+	  svn-image.sh)
+	  scaling done by <img width=>
+
+2016-03-12 16:45  ychemin
+
+	* lib/proj/iau2000.csv, lib/proj/iau2009.csv: Corrected AUTO Albers
+	  Equal Area bug that made Proj crash
+
+2016-03-12 15:31  martinl
+
+	* gui/wxpython/gmodeler/Makefile,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_zipcodes_avg_elevation.gxm:
+	  g.gui.gmodeler: link sample model in the manual (by Ludka
+	  Furtkevicova)
+
+2016-03-12 15:18  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: do not force fully
+	  qualified map names (keep it on the user, forcing can cause
+	  problems to the modeler)
+
+2016-03-10 17:02  neteler
+
+	* vector/v.split/v.split.html: v.split manual: examples updated
+
+2016-03-10 16:47  neteler
+
+	* vector/v.to.points/v.to.points.html: v.to.points manual: new NC
+	  data example
+
+2016-03-10 13:00  neteler
+
+	* REQUIREMENTS.html: REQUIREMENTS: added python-termcolor
+
+2016-03-09 22:18  mmetz
+
+	* vector/v.net.alloc, vector/v.net.alloc/Makefile,
+	  vector/v.net.alloc/alloc.c, vector/v.net.alloc/alloc.h,
+	  vector/v.net.alloc/main.c, vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.alloc/v_net_alloc_from_centers.png,
+	  vector/v.net.alloc/v_net_alloc_to_centers.png: v.net.alloc: add
+	  option to use costs from centers or costs to centers
+
+2016-03-09 20:38  mmetz
+
+	* lib/vector/neta/articulation_point.c,
+	  lib/vector/neta/components.c, lib/vector/neta/spanningtree.c,
+	  lib/vector/neta/utils.c: netalib: minor updates
+
+2016-03-08 21:04  mmetz
+
+	* vector/v.net.spanningtree/v.net.spanningtree.html:
+	  v.net.spanningtree: update manual
+
+2016-03-08 13:03  lucadelu
+
+	* scripts/v.db.join/v.db.join.py: v.db.join: PEP8 cleanup
+
+2016-03-08 09:44  martinl
+
+	* lib/raster/gdal.c: libraster: support linking GDAL2
+
+2016-03-08 08:06  neteler
+
+	* gui/wxpython/dbmgr/base.py,
+	  gui/wxpython/docs/wxGUI.toolboxes.html, gui/wxpython/gis_set.py,
+	  gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  imagery/i.fft/i.fft.html, lib/db/dbmi_base/login.c,
+	  lib/db/dbmi_base/string.c, lib/raster/cats.c, lib/raster/gdal.c,
+	  lib/vector/Vlib/build_pg.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/write_pg.c,
+	  lib/vector/vectorlib_pg.dox, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fi.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ro.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  raster/r.category/r.category.html, raster/r.lake/main.c,
+	  raster/r.param.scale/feature.c, raster/r.param.scale/param.c,
+	  raster/r.param.scale/param.h,
+	  raster/r.resamp.bspline/r.resamp.bspline.html,
+	  raster/r.ros/main.c,
+	  raster/r.sim/r.sim.sediment/r.sim.sediment.html,
+	  raster/r.sim/r.sim.water/r.sim.water.html,
+	  raster/r.what/r.what.html, raster/rasterintro.html,
+	  vector/v.build/main.c, vector/v.build/v.build.html,
+	  vector/v.clean/v.clean.html,
+	  vector/v.surf.bspline/v.surf.bspline.html: various spelling
+	  errors fixed
+
+2016-03-08 07:58  neteler
+
+	* vector/v.buffer/v.buffer.html: v.buffer manual: demystify caps
+
+2016-03-08 07:50  neteler
+
+	* vector/v.net.steiner/v.net.steiner.html: fix r68003
+
+2016-03-05 22:34  mmetz
+
+	* vector/v.net.path/path.c: v.net.path: no duplicate vertices
+
+2016-03-05 22:32  mmetz
+
+	* lib/vector/neta/flow.c: netalib: consider closed nodes
+
+2016-03-05 22:27  mmetz
+
+	* lib/vector/neta/components.c: netalib: fix network components
+
+2016-03-05 22:25  mmetz
+
+	* vector/v.net.components/main.c,
+	  vector/v.net.components/v.net.components.html: v.net.components:
+	  various bug fixes
+
+2016-03-05 09:22  marisn
+
+	* vector/v.net.steiner/v.net.steiner.html: v.net.steiner: add a
+	  warning on high memory demand for computation. Related to #1761
+
+2016-03-05 08:41  marisn
+
+	* vector/v.net.steiner/main.c: v.net.steiner: make less verbose and
+	  more translator friendly
+
+2016-03-04 23:36  marisn
+
+	* vector/v.net.steiner/main.c: v.net.steiner: fix out of bounds
+	  reads and writes
+
+2016-03-04 23:07  marisn
+
+	* vector/v.net.steiner/main.c: v.net.steiner: shortest road is
+	  searched between node not line id's (Fixes #2743)
+
+2016-03-04 15:56  wenzeslaus
+
+	* .travis.yml: use -Werror=implicit-function-declaration for Travis
+	  CI
+	  
+	  Alternative would be
+	  before_script:
+	  - export CFLAGS=...
+
+2016-03-04 14:41  neteler
+
+	* doc/infrastructure.txt: doc/infrastructure.txt: mention coverity
+	  scan tool
+
+2016-03-04 14:13  wenzeslaus
+
+	* include/defs/gis.h: parser: add missing fun decl from r67994
+	  (-Werror=implicit-function-declaration)
+
+2016-03-04 09:36  neteler
+
+	* doc/infrastructure.txt: doc/infrastructure.txt: updated
+
+2016-03-04 04:37  wenzeslaus
+
+	* lib/gis/parser.c, lib/gis/progrm_nme.c: parser: provide wxGUI
+	  forms.py with a full path if available (#2133)
+	  
+	  The GUI form/dialog now opens for a script
+	  which is not on path and from command line
+	  and main GUI the dialog will actually execute
+	  the module because the full path is available.
+	  (Needs also r67993.)
+
+2016-03-04 04:23  wenzeslaus
+
+	* lib/python/script/task.py: wxGUI: carry on the full path to
+	  executable for form.py if provided (#2133)
+
+2016-03-03 21:20  mmetz
+
+	* lib/vector/neta/path.c: netalib, path.c: consider node costs,
+	  update documentation
+
+2016-03-03 21:12  mmetz
+
+	* lib/vector/neta/utils.c: netalib, utils.c: fix cost multiplier,
+	  update documentation
+
+2016-03-03 20:44  mmetz
+
+	* vector/v.net.distance/main.c,
+	  vector/v.net.distance/v.net.distance.html: v.net.distance: change
+	  path categories, adjust line directions
+
+2016-03-03 09:38  huhabla
+
+	* lib/gis/mapset_nme.c: libgis: Fixed function name in debug
+	  message
+
+2016-03-02 14:54  wenzeslaus
+
+	* gui/wxpython/gui_core/pyedit.py,
+	  gui/wxpython/xml/menudata_pyedit.xml: wxGUI/pyedit: svn propset,
+	  file header, typo
+
+2016-03-01 23:25  mmetz
+
+	* vector/v.net.distance/main.c,
+	  vector/v.net.distance/v.net.distance.html: v.net.distance: fix
+	  path calculation, add new flag to produce single line paths
+
+2016-03-01 23:21  mmetz
+
+	* include/defs/neta.h, lib/vector/Vlib/net_build.c,
+	  lib/vector/neta/path.c: vectorlib: +NetA_distance_to_points()
+
+2016-03-01 02:43  wenzeslaus
+
+	* raster/r.sim/r.sim.water/r.sim.water.html: r.sim.water: add
+	  reference from 2015
+
+2016-02-29 04:39  wenzeslaus
+
+	* gui/wxpython/lmgr/pyshell.py: wxGUI/lmgr: open simple Python
+	  editor from Python tab
+
+2016-02-29 04:36  wenzeslaus
+
+	* gui/wxpython/gui_core/pystc.py: wxGUI: show whitespace in the
+	  python editor (pyedit and gmodeler)
+
+2016-02-29 04:32  wenzeslaus
+
+	* gui/wxpython/gui_core/pystc.py: wxGUI: use monospaced font the
+	  python editor (pyedit and gmodeler)
+
+2016-02-29 04:25  wenzeslaus
+
+	* gui/wxpython/gui_core/pyedit.py,
+	  gui/wxpython/xml/menudata_pyedit.xml: wxGUI: add simple Python
+	  editor [news]
+	  
+	  Provides Open, Save and Run plus examples and templates.
+	  Always shows a simple template which can run right away
+	  with simple text output. Links online resources related
+	  to Python. Focused on absolute beginners.
+
+2016-02-27 22:36  mmetz
+
+	* include/defs/gis.h, lib/gis/compress.h, lib/raster/get_row.c,
+	  lib/raster/put_row.c: generalize compression interface
+
+2016-02-27 21:20  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix undefined variable from
+	  r67864
+
+2016-02-27 21:10  annakrat
+
+	* raster/r.transect/main.c: r.transect: use new r.profile parameter
+	  names, #2938
+
+2016-02-26 18:01  lucadelu
+
+	* temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.vect.export/t.vect.export.html: t.*.export: improved
+	  documentation related to #2416
+
+2016-02-26 15:01  lucadelu
+
+	* raster/r.grow.distance/testsuite,
+	  raster/r.grow.distance/testsuite/r_grow_distance_test.py:
+	  r.grow.distance: added test thanks to aandre (#2937)
+
+2016-02-26 14:36  lucadelu
+
+	* lib/python/temporal/stds_import.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.import/testsuite,
+	  temporal/t.rast.import/testsuite/data,
+	  temporal/t.rast.import/testsuite/data/precip_2000.tar.bzip2,
+	  temporal/t.rast.import/testsuite/test_temporal_rast_import.py:
+	  t.rast.import: added memory option #2375, added answer /tmp to
+	  directory option, added test
+
+2016-02-26 14:17  lucadelu
+
+	* lib/python/temporal/stds_export.py: temporal export: fixed export
+	  of datasets if where option is used
+
+2016-02-26 13:45  lucadelu
+
+	* lib/python/temporal/stds_export.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.export/testsuite,
+	  temporal/t.rast.export/testsuite/test_rast_export.py:
+	  t.rast.export: added type option to propagate in r.out.gdal
+
+2016-02-26 12:24  martinl
+
+	* gui/icons/grass_osgeo.ico: fix grass_osgeo.ico size (updated icon
+	  provided by Vincent Bain)
+
+2016-02-26 11:04  lucadelu
+
+	* temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.reverse.sh,
+	  temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.sh,
+	  temporal/t.rast.aggregate.ds/testsuite/test.t.rast.aggregate.ds.sh:
+	  temporal modules: fixed tests
+
+2016-02-26 11:01  martinl
+
+	* gui/icons/grass.ico, gui/icons/grass_osgeo.ico: update grass
+	  icons (default and osgeo4w) - done by Vincent Bain
+
+2016-02-26 10:45  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: wxGUI/modeler:
+	  comment-out broken link to user-defined models
+
+2016-02-26 01:35  wenzeslaus
+
+	* vector/v.patch/main.c: v.patch: remove unnecessary description
+	  (provided in std flag since r67953)
+
+2016-02-26 01:31  wenzeslaus
+
+	* lib/gis/parser_standard_options.c: libgis: more details for the
+	  standard flag -b
+	  
+	  Shows same labels for all modules,
+	  some modules provide custom description.
+
+2016-02-25 21:08  mmetz
+
+	* lib/raster/get_row.c: libraster: complete r67943
+
+2016-02-25 18:11  ychemin
+
+	* gui/wxpython/location_wizard/wizard.py: Added support for IAU
+	  Planetary bodies
+
+2016-02-25 18:05  ychemin
+
+	* lib/proj/iau2000.csv, lib/proj/iau2009.csv: add PROJ4-styled
+	  description of IAU2000 and IAU2009 SRS
+
+2016-02-25 13:10  mlennert
+
+	* general/g.copy/main.c: Claryfing message when to filename already
+	  exists
+
+2016-02-25 09:12  lucadelu
+
+	* temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.gapfill/testsuite/test_gapfill.py:
+	  t.rast.gapfill: added suffix option
+
+2016-02-24 22:23  lucadelu
+
+	* lib/python/temporal/aggregation.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py:
+	  t.rast.aggregate*: replace -s flag with suffix option
+
+2016-02-24 22:02  mmetz
+
+	* lib/raster/close.c, lib/raster/open.c, lib/raster/put_row.c:
+	  rasterlib: change name of compressed null file, set default
+	  compression method to LZ4
+
+2016-02-24 20:45  lucadelu
+
+	* temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.neighbors/testsuite,
+	  temporal/t.rast.neighbors/testsuite/test_neighbors.py,
+	  temporal/t.rast.to.vect/t.rast.to.vect.py,
+	  temporal/t.rast.to.vect/testsuite/test_to_vect.py:
+	  t.rast.neighbors, t.rast.to.vect: added suffix option
+
+2016-02-24 15:26  lucadelu
+
+	* lib/python/temporal/extract.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.extract/testsuite/test_extract.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.extract/testsuite/test_extract.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.extract/testsuite,
+	  temporal/t.vect.extract/testsuite/test_vect_extract.py: temporal
+	  extract: added suffix option
+
+2016-02-24 15:09  lucadelu
+
+	* lib/python/temporal/datetime_math.py,
+	  temporal/t.rast.accdetect/testsuite/test_simple.py,
+	  temporal/t.rast.accumulate/testsuite/test_accumulation.py,
+	  temporal/t.rast.contour/testsuite/test_convert.py: temporal
+	  framework: replace '.' with '_'
+
+2016-02-24 13:04  lucadelu
+
+	* temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accdetect/testsuite/test_simple.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.accumulate/testsuite/test_accumulation.py,
+	  temporal/t.rast.contour/t.rast.contour.py,
+	  temporal/t.rast.contour/testsuite/test_convert.py:
+	  t.rast.accdetect, t.rast.accumulate, t.rast.contour: added suffix
+	  option
+
+2016-02-24 12:59  lucadelu
+
+	* lib/python/temporal/datetime_math.py: temporal library: added
+	  functions to create time and numeric suffix
+
+2016-02-24 09:25  mmetz
+
+	* raster/r.in.xyz/r.in.xyz.html: r.in.xyz: n map sum is fixed
+
+2016-02-24 08:47  mmetz
+
+	* raster/r.in.xyz/main.c: r.in.xyz: fix r67928
+
+2016-02-23 21:22  mmetz
+
+	* raster/r.in.lidar/main.c, raster/r.in.lidar/r.in.lidar.html:
+	  r.in.lidar: bugfix for percent < 100 and other fp precision
+	  management errors
+
+2016-02-23 21:19  mmetz
+
+	* raster/r.in.xyz/main.c, raster/r.in.xyz/r.in.xyz.html: r.in.xyz:
+	  bugfix for percent < 100 and other fp precision management errors
+
+2016-02-23 17:33  martinl
+
+	* raster3d/r3.in.lidar: update svn prop
+
+2016-02-22 10:13  mmetz
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed: fix
+	  manual (#2664)
+
+2016-02-22 09:48  mmetz
+
+	* raster/r.watershed/ram/close_maps.c: r.watershed: avoid segfault
+	  with SPI (#2839)
+
+2016-02-22 09:20  mmetz
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/main.c,
+	  vector/v.to.rast/v.to.rast.html, vector/v.to.rast/vect2rast.c:
+	  v.to.rast: fix #2239
+
+2016-02-21 10:34  mmetz
+
+	* imagery/i.segment/open_files.c: i.segment: fix #2856
+
+2016-02-20 21:45  mmetz
+
+	* raster/r.compress/r.compress.html, raster/rasterintro.html:
+	  update documentation for raster compression
+
+2016-02-20 18:08  neteler
+
+	* REQUIREMENTS.html: REQUIREMENTS.html: mention python-matplotlib
+
+2016-02-20 17:15  neteler
+
+	* gui/wxpython/iscatt/plots.py, gui/wxpython/timeline/frame.py,
+	  gui/wxpython/tplot/frame.py: wxGUI: print more detailed error
+	  message in case of matplotlib failure
+
+2016-02-20 15:37  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: build against GDAL 2.0.0
+	  (osgeo4w switched to GDAL 2.0.0)
+
+2016-02-20 11:55  martinl
+
+	* gui/wxpython/core/toolboxes.py: wxGUI: fix _getAddons (use
+	  'g.extension -ag')
+
+2016-02-20 11:54  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: -ag output
+	  cosmetics (bin -> executables)
+
+2016-02-20 11:49  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: implemenent
+	  flags combination -ag to print installed extension in shell
+	  script style (useful in wxGUI)
+
+2016-02-20 10:40  martinl
+
+	* lib/python/script/utils.py: libpython: formating cosmetics in
+	  get_lib_path()
+
+2016-02-20 10:37  martinl
+
+	* lib/python/script/utils.py: get_lib_path(): fix g.extension logic
+	  when libname is defined
+
+2016-02-20 10:09  mmetz
+
+	* raster/r.compress/r.compress.html: r.compress: example with
+	  GRASS_COMPRESSOR
+
+2016-02-20 10:08  mmetz
+
+	* lib/init/variables.html: libinit: document GRASS_COMPRESSOR
+
+2016-02-20 10:04  martinl
+
+	* lib/python/script/utils.py: pythonlib: fix get_lib_path() for
+	  g.extension
+
+2016-02-20 00:04  mmetz
+
+	* raster/r.compress/r.compress.html: r.compress: update manual
+
+2016-02-19 23:40  mmetz
+
+	* raster/r.compress/main.c, raster/r.compress/r.compress.html:
+	  r.compress: raster map must be in current mapset, support
+	  recompression
+
+2016-02-19 13:03  lucadelu
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py:
+	  t.connect: fixed testsuite, return to the right mapset
+
+2016-02-19 01:42  wenzeslaus
+
+	* general/g.findfile/g.findfile.html,
+	  lib/python/docs/src/script_intro.rst, raster/r.sun/r.sun.html,
+	  scripts/d.out.file/d.out.file.html,
+	  scripts/d.to.rast/d.to.rast.html, vector/v.info/v.info.html:
+	  wxGUI/lmgr: fix documentation enteries for tabs missed in r67852
+
+2016-02-18 11:14  lucadelu
+
+	* lib/python/temporal/list_stds.py, temporal/t.list/t.list.py:
+	  temporal: output parameter close file
+
+2016-02-18 10:40  lucadelu
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py:
+	  testsuite: added tests for t.list, t.rast.list, t.vect.list,
+	  t.raster3d.list with output parameter
+
+2016-02-18 10:16  martinl
+
+	* gui/wxpython/datacatalog/tree.py,
+	  gui/wxpython/gui_core/treeview.py: wxGUI/datacatalog:
+	  expand/collapse on double click
+
+2016-02-18 09:26  lucadelu
+
+	* gui/wxpython/gui_core/query.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapswipe/frame.py, lib/python/script/raster.py,
+	  lib/python/script/testsuite/test_raster.py: python script: fixed
+	  raster_what function to work with or without localized labels
+	  [#2912], added also tests
+
+2016-02-18 09:19  martinl
+
+	* gui/wxpython/datacatalog/tree.py: wxGUI: fix various datalog
+	  issues (copying, renaming, deleting)
+
+2016-02-18 06:44  zarch
+
+	* lib/python/script/utils.py: scipt utils: fix set_path when load
+	  libraries from GRASS_ADDON_BASE directory
+
+2016-02-17 20:43  martinl
+
+	* gui/wxpython/datacatalog/catalog.py: wxGUI/datacatalog: expand
+	  current mapset instead of location
+
+2016-02-17 20:40  martinl
+
+	* gui/wxpython/datacatalog/tree.py: g.gui.datacatalog: add node for
+	  grass locations
+
+2016-02-17 20:16  martinl
+
+	* gui/wxpython/datacatalog/frame.py,
+	  gui/wxpython/datacatalog/tree.py: g.gui.datacatalog: expand
+	  current mapset instead of location
+
+2016-02-17 18:54  martinl
+
+	* gui/wxpython/datacatalog/frame.py: g.gui.gdatacatalog: set icon
+
+2016-02-17 13:52  martinl
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/core/giface.py,
+	  gui/wxpython/core/layerlist.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/utils.py, gui/wxpython/core/workspace.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/giface.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py:
+	  wxGUI: rename map layer type '3d-raster' to 'raster_3d' (sync
+	  with g.list)
+
+2016-02-17 13:23  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: change standardized
+	  option 3d-raster to raster_3d
+
+2016-02-17 13:22  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI/gmodeler: limit data dialog only to raster,raster_3d and
+	  vector
+
+2016-02-17 10:20  neteler
+
+	* lib/python/temporal/list_stds.py: temporal lib: minor doc typos
+	  fixed
+
+2016-02-17 10:08  lucadelu
+
+	* lib/python/temporal/list_stds.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.vect.list/t.vect.list.py: temporal: add output file
+	  support for modules listing temporal information
+
+2016-02-17 09:06  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: fixes g.gui.gmodeler -
+	  blue diagram when adding a raster data (#2906)
+
+2016-02-17 08:39  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI: fixes g.gui.gmodeler - Set comment after erasure (#2904)
+
+2016-02-17 08:23  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/TextEntryDialog: set
+	  focus on text widget
+
+2016-02-17 03:48  wenzeslaus
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: update keyboard shortcuts
+	  (#2756)
+
+2016-02-17 03:27  wenzeslaus
+
+	* gui/wxpython/datacatalog/tree.py, gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gui_core/preferences.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/lmgr: simplify notebook tabs names
+	  
+	  This saves horizonatal space, so all items can
+	  fit well on all platfroms.
+	  
+	  GRASS-dev Layer Manager notebook
+	  https://lists.osgeo.org/pipermail/grass-dev/2016-January/078645.html
+	  https://lists.osgeo.org/pipermail/grass-dev/2016-February/078935.html
+
+2016-02-17 01:13  glynn
+
+	* raster/r.mapcalc/map.c: Fix row cache (issue #2917)
+
+2016-02-16 18:31  martinl
+
+	* Vagrantfile, tools/vagrant/compile.sh: Vagrant: enable liblas
+
+2016-02-16 17:34  martinl
+
+	* Vagrantfile: Vagrant: move from precise64 to trusty64
+
+2016-02-16 13:33  neteler
+
+	* doc/howto_release.txt: doc/howto_release.txt: another web page to
+	  update
+
+2016-02-16 11:27  martinl
+
+	* Vagrantfile: Vagrant: add notes how to sync GRASS data dir
+
+2016-02-16 08:37  martinl
+
+	* Vagrantfile, tools/vagrant/clean.sh, tools/vagrant/compile.sh,
+	  tools/vagrant/grass.sh: vagrant: add support for provisioning
+
+2016-02-16 07:09  lucadelu
+
+	* temporal/t.list/t.list.py: t.list: added output option, started
+	  working on #2319
+
+2016-02-16 01:29  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix raster querying broken
+	  r67751 (#2920)
+
+2016-02-15 22:06  lucadelu
+
+	* lib/python/pygrass/modules/grid/grid.py: pygrass: fixed grid
+	  doctest, working on #2261
+
+2016-02-15 14:34  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: g.gui.gmodeler: manual
+	  cosmetics (author -> authors)
+
+2016-02-15 10:48  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_avg_auto.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_dlg_module.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_frame1.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_frame2.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_frame3.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_lower_toolbar.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_zc.png,
+	  gui/wxpython/gmodeler/g_gui_gmodeler_zc_items.png,
+	  gui/wxpython/gmodeler/gmodeler_frame.png: g.gui.gmodeler: major
+	  manual improvements done by Ludmila Furtkevicova
+
+2016-02-15 08:50  martinl
+
+	* gui/icons/grass.ico, gui/icons/grass_osgeo.ico: update grass
+	  icons, sizes 128,64,48,32,24,16 (fix r67817, white background)
+
+2016-02-14 03:28  wenzeslaus
+
+	* gui/wxpython/mapdisp/toolbars.py: wxGUI/mapdisp: remove erase and
+	  print buttons (#2799)
+	  
+	  Follows r65774 and r67699.
+	  
+	  Leaving the related functions there.
+	  
+	  Results in shorter toolbar.
+
+2016-02-11 18:12  martinl
+
+	* gui/icons/grass.ico, gui/icons/grass_osgeo.ico: update grass
+	  icons, sizes 256,128,64,48,32,24,16
+
+2016-02-11 17:43  martinl
+
+	* gui/icons/Makefile: disable special 64bit grass icon (using
+	  different icons can be confusing for the user)
+
+2016-02-11 08:06  martinl
+
+	* doc/howto_release.txt: revert r67796, this is done automatically
+	  by
+	  https://trac.osgeo.org/grass/browser/grass-addons/tools/wingrass-packager/cronjob.sh#L54
+
+2016-02-10 09:21  neteler
+
+	* doc/howto_release.txt: doc/howto_release.txt: update links to
+	  point to new dot-release
+
+2016-02-10 03:18  annakrat
+
+	* raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/seg/close_maps.c: r.watershed: change warning
+	  to message, see #2901
+
+2016-02-09 16:51  neteler
+
+	* scripts/i.pansharpen/i.pansharpen.html,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/i.pansharpen/rgb_brovey321.jpg,
+	  scripts/i.pansharpen/rgb_ihs321.jpg,
+	  scripts/i.pansharpen/rgb_landsat321.jpg,
+	  scripts/i.pansharpen/rgb_pca321.jpg: i.pansharpen: fix r.colors
+	  call; HTML cosmetics; shrink screenshots to 600px width as per
+	  documentation rules
+
+2016-02-08 13:11  neteler
+
+	* raster/r.mapcalc/r3.mapcalc.html: r.mapcalc manual: fix if()
+	  statement formula (trac #2883)
+
+2016-02-07 23:10  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI/gmodeler: fix
+	  ModelDataDialog
+
+2016-02-07 22:37  neteler
+
+	* locale/po/grasswxpy_es.po: Daniel Torres: ES translation cont'ed
+
+2016-02-07 22:27  neteler
+
+	* vector/v.proj/v.proj.html: v.proj manual: describe automated
+	  vertex densification (default)
+
+2016-02-07 22:18  martinl
+
+	* gui/wxpython/core/settings.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gmodeler/preferences.py: wxGUI/gmodeler: add support
+	  for dbtables
+
+2016-02-07 22:15  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: use standardized
+	  option for output table
+
+2016-02-07 21:44  annakrat
+
+	* gui/wxpython/modules/import_export.py: wxGUI: fix adding layers
+	  to tree in import dialog also for vectors and dxf (#2860)
+
+2016-02-07 20:46  martinl
+
+	* ., Vagrantfile, tools/vagrant, tools/vagrant/grass.sh: add
+	  experimental Vagrantfile, see
+	  https://grasswiki.osgeo.org/wiki/Vagrant
+
+2016-02-07 20:18  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: add --overwrite flag
+
+2016-02-07 19:53  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: fix parametrized
+	  dialog on more items with the same label
+
+2016-02-07 19:52  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix gdalselect when
+	  no layer option is defined
+
+2016-02-07 12:09  turek
+
+	* vector/v.net/turntable.c: v.net operation=turntable: fix for
+	  turntable name if output map is given with mapset name
+
+2016-02-07 11:59  turek
+
+	* vector/v.net/main.c, vector/v.net/turntable.c: v.net
+	  operation=turntable: use directly functions for GRASS vector
+	  native format
+
+2016-02-07 11:13  turek
+
+	* vector/v.build.polylines/main.c: v.build.polylines: cats option -
+	  desc formatting fix
+
+2016-02-07 10:43  turek
+
+	* vector/v.build.polylines/main.c,
+	  vector/v.build.polylines/v.build.polylines.html,
+	  vector/v.build.polylines/walk.c, vector/v.build.polylines/walk.h:
+	  v.build.polylines: added cats=same option
+
+2016-02-06 20:54  martinl
+
+	* gui/wxpython/mapdisp/toolbars.py: wxGUI: disable vector selection
+	  tool in 3D (patch by krejcmat)
+
+2016-02-06 20:37  martinl
+
+	* gui/wxpython/gui_core/vselect.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI: hightlight queried features (patch by krejcmat)
+
+2016-02-06 19:45  martinl
+
+	* gui/wxpython/wxplot/dialogs.py: wxGUI Histogramming Tool: small
+	  (cosmetic changes) in the gui of the plot statistics frame
+	  (#2894) - patch by tmsz
+
+2016-02-06 11:59  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix quit dialog focus,
+	  default is close gui
+
+2016-02-06 11:55  martinl
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: remove non-needed wxPython3 mapdislay size hacks
+
+2016-02-05 13:46  neteler
+
+	* db/drivers/mysql/dbe.c: mysql driver: fix -Wformat-security issue
+
+2016-02-04 23:34  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/core/settings.py,
+	  gui/wxpython/mapdisp/frame.py: wxGUI: fix windows layout (on
+	  gnome)
+
+2016-02-04 23:34  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix quit layout (on
+	  gnome)
+
+2016-02-04 14:09  neteler
+
+	* doc/howto_release.txt: doc/howto_release.txt: update Wiki as well
+
+2016-02-04 13:27  neteler
+
+	* lib/init/variables.html: variables manual: document
+	  GRASS_ZLIB_LEVEL (lib/gis/cmprzlib.c)
+
+2016-02-02 18:23  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po: i18n: remove duplicate messages with
+	  msguniq
+
+2016-02-01 18:54  wenzeslaus
+
+	* raster/r.li/r.li.html: r.li: highlight GUI and configuration file
+	  in manual
+
+2016-01-31 03:54  annakrat
+
+	* lib/python/script/array.py: pythonlib/array: fix reading raster
+	  on Windows, make read method deprecated
+
+2016-01-31 00:38  wenzeslaus
+
+	* lib/init/grass.py: init: provide informative message for broken
+	  MS Win APPDATA settings
+
+2016-01-29 21:52  wenzeslaus
+
+	* raster3d/raster3dintro.html: update 3D raster intro page
+
+2016-01-29 21:17  wenzeslaus
+
+	* raster3d/Makefile, raster3d/r3.in.lidar,
+	  raster3d/r3.in.lidar/Makefile, raster3d/r3.in.lidar/main.c,
+	  raster3d/r3.in.lidar/r3.in.lidar.html,
+	  raster3d/r3.in.lidar/r3_in_lidar.png,
+	  raster3d/raster3dintro.html: r3.in.lidar: basic implementation
+	  [news]
+	  
+	  Experimental, major limitations described in manual.
+
+2016-01-29 09:29  mlennert
+
+	* general/g.proj/g.proj.html, gui/wxpython/lmgr/frame.py,
+	  imagery/i.landsat.acca/i.landsat.acca.html, lib/gis/verbose.c,
+	  lib/imagery/iclass_statistics.c, lib/ogsf/gvld.c,
+	  lib/python/gunittest/testsuite/test_assertions_vect.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/temporal_algebra.py, lib/raster/range.c,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/map3.c, raster/r.neighbors/main.c,
+	  raster/r.proj/r.proj.html, raster/r.resamp.stats/main.c,
+	  raster/r.series/main.c, raster/r.series/r.series.html,
+	  raster/r.stream.extract/r.stream.extract.html,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.neighbors/main.c, scripts/r.in.aster/r.in.aster.html,
+	  vector/v.rectify/v.rectify.html, vector/v.transform/main.c,
+	  vector/v.vect.stats/main.c: Various typos (fixes #2882 Patch for
+	  various spelling errors (sebastic))
+
+2016-01-29 03:40  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: remove print statement
+	  coming from r67627
+
+2016-01-29 03:15  wenzeslaus
+
+	* gui/wxpython/lmgr/toolbars.py: wxGUI/lmgr: reduce num of
+	  separators in toolbar (see r67699 and #2799)
+
+2016-01-29 01:09  wenzeslaus
+
+	* gui/wxpython/mapdisp/toolbars.py: wxGUI: remove separators which
+	  just take space from toolbar
+	  
+	  There were separators separating individual buttons (too dense)
+	  and also one separating the combo box from the rest
+	  (might have been actually useful on some plaftorms where
+	  buttons have shades and combox boxes small borders).
+	  
+	  Results is one button shorter on Ubuntu with Unity.
+	  
+	  See also #2799.
+
+2016-01-28 20:28  neteler
+
+	* raster/r.support/main.c, scripts/r.import/r.import.py: r.import:
+	  added title support (contributed by pmav99); sync'ed title msg in
+	  r.support
+
+2016-01-28 19:04  neteler
+
+	* doc/howto_release.txt: release howto: small update
+
+2016-01-28 11:21  neteler
+
+	* display/d.mon/d.mon.html, general/g.copy/g.copy.html,
+	  general/g.gisenv/g.gisenv.html, general/g.mapsets/g.mapsets.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  imagery/i.his.rgb/i.his.rgb.html,
+	  imagery/i.rgb.his/i.rgb.his.html, raster/r.cross/r.cross.html,
+	  raster/r.his/r.his.html: manual: avoid specific gender; HTML
+	  cosmetics
+
+2016-01-27 22:51  ychemin
+
+	* imagery/i.evapo.mh/i.evapo.mh.html: fixed manual
+
+2016-01-27 21:03  wenzeslaus
+
+	* gui/wxpython/datacatalog/catalog.py,
+	  gui/wxpython/gui_core/simplelmgr.py: wxGUI: use explicit import
+	  for the underscore function
+
+2016-01-27 21:02  wenzeslaus
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: add timeline and tplot to
+	  GUI tools toolbox
+	  
+	  Also sort alphabetically.
+
+2016-01-27 18:02  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: check insert new records
+	  by default
+
+2016-01-27 11:01  neteler
+
+	* locale/po/grasslibs_es.po: i18N: msg update from template
+
+2016-01-27 10:46  neteler
+
+	* locale/po/grasslibs_es.po: Javier Garcia Prieto: ES cont'ed
+
+2016-01-27 07:57  neteler
+
+	* Makefile: make libs target: also compile lib/python
+
+2016-01-27 03:05  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: use native notebook for Layer
+	  manager tabs on linux and mac to avoid glitches, keep the
+	  FlatNotebook for Windows because native looks ugly
+
+2016-01-27 01:53  annakrat
+
+	* include/Make/Script.make: make: fix compilation of certain addons
+	  on mac, lowercase r flag does not work on Mac
+
+2016-01-26 16:48  martinl
+
+	* lib/python/script/utils.py: pythonlib: ascii only (r67669)
+
+2016-01-26 16:32  neteler
+
+	* locale/po/grasslibs_es.po: Javier Garcia Prieto: ES cont'ed
+
+2016-01-26 12:09  glynn
+
+	* raster/r.sim/simlib/Makefile: Remove redundant installation rule
+
+2016-01-26 08:19  huhabla
+
+	* lib/python/pygrass/rpc/base.py: pygrass rpc: Terminate the server
+	  process instead of joining to avoid deadlock
+
+2016-01-26 08:18  huhabla
+
+	* lib/python/pygrass/raster/abstract.py: pygrass raster: Improved
+	  version of get_value
+
+2016-01-25 22:38  turek
+
+	* gui/wxpython/modules/import_export.py: update header comment
+
+2016-01-25 20:56  wenzeslaus
+
+	* lib/python/pygrass/utils.py: fix wrong module import in r67669
+
+2016-01-25 19:57  wenzeslaus
+
+	* lib/python/pygrass/utils.py, lib/python/script/utils.py:
+	  pythonlib: move the package path functions for modules from
+	  pygrass where influenced by ctypes requirement to grass.script
+
+2016-01-25 16:20  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extensions: list only
+	  first 10 files
+
+2016-01-25 13:23  marisn
+
+	* raster/r.mapcalc/func_proto.h, raster/r.mapcalc/function.c,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.mapcalc/testsuite/test_r3_mapcalc.py,
+	  raster/r.mapcalc/testsuite/test_r_mapcalc.py,
+	  raster/r.mapcalc/xrowcol.c: r.mapcalc: Introduce new variables to
+	  access current region dimensions in number of cells
+
+2016-01-25 12:49  huhabla
+
+	* temporal/t.merge/t.merge.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.what/t.rast.what.py, temporal/t.shift/t.shift.py,
+	  temporal/t.snap/t.snap.py: temporal modules: Better keywords for
+	  module_items.xml
+
+2016-01-25 10:23  zarch
+
+	* lib/python/pygrass/utils.py: pygrass: utils.set_path function fix
+	  revert r66637, setting sys.path to handle local path and add
+	  docstring to clarify the use
+
+2016-01-25 09:28  glynn
+
+	* include/Make/Grass.make, include/calc.h, include/defs/calc.h,
+	  lib/Makefile, lib/calc, lib/calc/Makefile, lib/calc/calc.c,
+	  lib/calc/check.c, lib/calc/function.c, lib/calc/xabs.c,
+	  lib/calc/xacos.c, lib/calc/xadd.c, lib/calc/xand.c,
+	  lib/calc/xand2.c, lib/calc/xasin.c, lib/calc/xatan.c,
+	  lib/calc/xbitand.c, lib/calc/xbitnot.c, lib/calc/xbitor.c,
+	  lib/calc/xbitxor.c, lib/calc/xcos.c, lib/calc/xdiv.c,
+	  lib/calc/xdouble.c, lib/calc/xeq.c, lib/calc/xeval.c,
+	  lib/calc/xexp.c, lib/calc/xfloat.c, lib/calc/xge.c,
+	  lib/calc/xgraph.c, lib/calc/xgt.c, lib/calc/xif.c,
+	  lib/calc/xint.c, lib/calc/xisnull.c, lib/calc/xle.c,
+	  lib/calc/xlog.c, lib/calc/xlt.c, lib/calc/xmax.c,
+	  lib/calc/xmedian.c, lib/calc/xmin.c, lib/calc/xmod.c,
+	  lib/calc/xmode.c, lib/calc/xmul.c, lib/calc/xne.c,
+	  lib/calc/xneg.c, lib/calc/xnmax.c, lib/calc/xnmedian.c,
+	  lib/calc/xnmin.c, lib/calc/xnmode.c, lib/calc/xnot.c,
+	  lib/calc/xnull.c, lib/calc/xor.c, lib/calc/xor2.c,
+	  lib/calc/xpow.c, lib/calc/xrand.c, lib/calc/xround.c,
+	  lib/calc/xshiftl.c, lib/calc/xshiftr.c, lib/calc/xshiftru.c,
+	  lib/calc/xsin.c, lib/calc/xsqrt.c, lib/calc/xsub.c,
+	  lib/calc/xtan.c, raster/r.mapcalc/Makefile,
+	  raster/r.mapcalc/check.c, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/expression.c, raster/r.mapcalc/expression.h,
+	  raster/r.mapcalc/func_proto.h, raster/r.mapcalc/function.c,
+	  raster/r.mapcalc/globals.h, raster/r.mapcalc/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/xabs.c, raster/r.mapcalc/xacos.c,
+	  raster/r.mapcalc/xadd.c, raster/r.mapcalc/xand.c,
+	  raster/r.mapcalc/xand2.c, raster/r.mapcalc/xasin.c,
+	  raster/r.mapcalc/xatan.c, raster/r.mapcalc/xbitand.c,
+	  raster/r.mapcalc/xbitnot.c, raster/r.mapcalc/xbitor.c,
+	  raster/r.mapcalc/xbitxor.c, raster/r.mapcalc/xcos.c,
+	  raster/r.mapcalc/xdiv.c, raster/r.mapcalc/xdouble.c,
+	  raster/r.mapcalc/xeq.c, raster/r.mapcalc/xeval.c,
+	  raster/r.mapcalc/xexp.c, raster/r.mapcalc/xfloat.c,
+	  raster/r.mapcalc/xge.c, raster/r.mapcalc/xgraph.c,
+	  raster/r.mapcalc/xgt.c, raster/r.mapcalc/xif.c,
+	  raster/r.mapcalc/xint.c, raster/r.mapcalc/xisnull.c,
+	  raster/r.mapcalc/xle.c, raster/r.mapcalc/xlog.c,
+	  raster/r.mapcalc/xlt.c, raster/r.mapcalc/xmax.c,
+	  raster/r.mapcalc/xmedian.c, raster/r.mapcalc/xmin.c,
+	  raster/r.mapcalc/xmod.c, raster/r.mapcalc/xmode.c,
+	  raster/r.mapcalc/xmul.c, raster/r.mapcalc/xne.c,
+	  raster/r.mapcalc/xneg.c, raster/r.mapcalc/xnmax.c,
+	  raster/r.mapcalc/xnmedian.c, raster/r.mapcalc/xnmin.c,
+	  raster/r.mapcalc/xnmode.c, raster/r.mapcalc/xnot.c,
+	  raster/r.mapcalc/xnull.c, raster/r.mapcalc/xor.c,
+	  raster/r.mapcalc/xor2.c, raster/r.mapcalc/xpow.c,
+	  raster/r.mapcalc/xrand.c, raster/r.mapcalc/xround.c,
+	  raster/r.mapcalc/xshiftl.c, raster/r.mapcalc/xshiftr.c,
+	  raster/r.mapcalc/xshiftru.c, raster/r.mapcalc/xsin.c,
+	  raster/r.mapcalc/xsqrt.c, raster/r.mapcalc/xsub.c,
+	  raster/r.mapcalc/xtan.c: Move vectorised functions from r.mapcalc
+	  into a separate library
+
+2016-01-24 19:52  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fi.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ro.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fi.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ko.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18N: msg
+	  update from template
+
+2016-01-24 19:33  neteler
+
+	* scripts/v.import/v.import.py: v.import: support overwriting
+
+2016-01-24 09:36  marisn
+
+	* locale/po/grasslibs_lv.po, locale/po/grassmods_lv.po,
+	  locale/po/grasswxpy_lv.po: Latvian language translation update
+
+2016-01-24 09:31  marisn
+
+	* gui/wxpython/psmap/dialogs.py, lib/init/grass.py,
+	  lib/vector/diglib/struct_alloc.c: Add comments for translators
+	  and fix gettext usage
+
+2016-01-24 08:09  marisn
+
+	* gui/wxpython/gis_set.py: Add comments for translators to help
+	  differentiating between similar words.
+	  Comment must be on preceding line to string!
+
+2016-01-23 22:16  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: msg fix (see r67645)
+
+2016-01-23 20:49  neteler
+
+	* scripts/r.import/r.import.py, scripts/v.import/v.import.py: msg
+	  fix
+
+2016-01-23 19:26  annakrat
+
+	* gui/wxpython/core/gconsole.py,
+	  gui/wxpython/modules/import_export.py: wxGUI: fix adding layers
+	  to tree in import dialog (#2860)
+
+2016-01-23 16:35  martinl
+
+	* gui/wxpython/gui_core/vselect.py, lib/python/script/vector.py:
+	  pythonlib: vector_what(): add new parameter to skip quering
+	  attributes (no backport is needed)
+
+2016-01-23 13:56  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: remove extra print statement
+
+2016-01-23 13:49  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: pretify quit dialog
+
+2016-01-23 12:45  martinl
+
+	* scripts/r.import/r.import.py: r.import: add -o flag
+
+2016-01-23 12:34  martinl
+
+	* gui/wxpython/modules/import_export.py: wxGUI/import: don't ignore
+	  -o flag
+
+2016-01-23 12:33  martinl
+
+	* scripts/v.import/v.import.py: v.import: add -o flag
+
+2016-01-23 12:30  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI/gdal: label cosmetics
+
+2016-01-23 11:10  martinl
+
+	* mswindows/env.bat, mswindows/osgeo4w/env.bat.tmpl,
+	  mswindows/osgeo4w/package.sh: attempt to fix d.fontlist crashes
+	  on Windows (#2870)
+
+2016-01-23 10:48  martinl
+
+	* lib/driver/font.c: libdriver: add some debug message when loading
+	  fonts
+
+2016-01-23 09:23  turek
+
+	* gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/modules/import_export.py: wx.import dialogs - added
+	  all flags and parameters of modules used for import
+
+2016-01-23 04:03  annakrat
+
+	* gui/wxpython/gui_core/menu.py, gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/pyshell.py,
+	  gui/wxpython/nviz/tools.py: wxGUI: correct parent hierarchy in
+	  layer manager bottom notebook, it's first step to use wx.Notebook
+	  instead of FlatNotebook
+
+2016-01-21 13:23  neteler
+
+	* raster/r.grow.distance, raster/r.grow.distance/main.c,
+	  raster/r.grow.distance/r.grow.distance.html: r.grow.distance: new
+	  flag to calculate distance to nearest NULL cell (trac #2368)
+
+2016-01-21 11:45  neteler
+
+	* raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.grow.distance/r_grow_distance_sea.png: r.grow.distance
+	  manual: distance to see screenshot added; HTML cosmetics
+
+2016-01-21 11:10  neteler
+
+	* raster/r.buffer/r.buffer.html, raster/r.buffer/r_buffer_road.png:
+	  r.buffer manual: screenshot added to example
+
+2016-01-21 10:35  neteler
+
+	* vector/v.buffer/main.c, vector/v.buffer/v.buffer.html: v.buffer:
+	  add more keywords
+
+2016-01-19 22:08  neteler
+
+	* raster/r.horizon/r.horizon.html: r.horizon manual: describe
+	  default maxdistance
+
+2016-01-19 08:52  martinl
+
+	* gui/wxpython/core/debug.py, gui/wxpython/core/gconsole.py,
+	  lib/python/script/core.py: fix pythonlib and GUI when
+	  debug/wx_debug value is invalid (do not fail, just print warning
+	  message)
+
+2016-01-19 04:04  annakrat
+
+	* gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/utils.py:
+	  wxGUI/psmap: fix #2852 - fit frame to match current region
+
+2016-01-19 03:19  annakrat
+
+	* lib/init/grass.py: grass.py: fallback to UTF8 if no default
+	  encoding found - #2869
+
+2016-01-19 03:08  annakrat
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: fix removing layer
+	  together with table
+
+2016-01-18 15:58  neteler
+
+	* doc/howto_release.txt: howto_release: add trac milesstone update
+
+2016-01-18 12:22  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix wingrass
+	  link, see
+	  https://lists.osgeo.org/pipermail/grass-dev/2016-January/078472.html
+
+2016-01-16 19:47  neteler
+
+	* raster/r.in.ascii/r.in.ascii.html: r.in.ascii manual: remove
+	  outdated link
+
+2016-01-16 09:35  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr Segmentation fault (#2868) -
+	  patch by mlennert
+
+2016-01-14 23:19  neteler
+
+	* temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html:
+	  t.rast.aggregate.ds manual: example for MODIS 8-day aggregation
+	  (contributed by Vero Andreo)
+
+2016-01-14 23:10  neteler
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.html:
+	  t.vect.observe.strds manual: remove reference to t_where
+	  parameter deleted in r64560
+
+2016-01-13 13:01  lucadelu
+
+	* tools/mkhtml.py: documentation: fixed link to source list for
+	  each module
+
+2016-01-13 12:24  mlennert
+
+	* lib/vector/vedit/break.c: vedit vector lib: forward port r58512
+	  and r58516 (fixing #719: unexpected line with v.edit tool=break)
+
+2016-01-13 09:18  neteler
+
+	* raster/r.external/r.external.html,
+	  raster/r.in.ascii/r.in.ascii.html, raster/r.in.bin/r.in.bin.html,
+	  raster/r.in.gdal/r.in.gdal.html, raster/r.in.png/r.in.png.html,
+	  vector/v.external/v.external.html,
+	  vector/v.in.ascii/v.in.ascii.html, vector/v.in.ogr/v.in.ogr.html:
+	  manual: links to r.import and v.import added
+
+2016-01-12 23:28  neteler
+
+	* temporal/t.rast.algebra/t.rast.algebra.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html,
+	  temporal/t.rast.series/t.rast.series.html,
+	  temporal/t.register/t.register.html: t.rast.series manual: added
+	  new examples; HTML cleanup (contributed by Vero Andreo)
+
+2016-01-12 23:22  neteler
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html: t.rast.aggregate
+	  manual: removed non-working MODIS example (use
+	  t.rast.aggregate.ds instead); HTML fixes
+
+2016-01-12 18:13  martinl
+
+	* lib/python/pygrass/utils.py: pygrass: introduce minimalistic
+	  documentation of set_path()
+
+2016-01-12 16:55  martinl
+
+	* vector/v.out.ogr/export_areas.c, vector/v.out.ogr/export_lines.c:
+	  fix indentation issue introduced in r67451
+
+2016-01-12 16:35  hellik
+
+	* mswindows/env.bat: env.bat: R-winGRASS coupling - improve adding
+	  R-installation path to %PATH%
+
+2016-01-12 16:19  lucadelu
+
+	* include/Make/GuiScript.make, include/Make/Html.make:
+	  documentation: fixed links to scripts source code makefiles
+
+2016-01-12 16:16  lucadelu
+
+	* tools/mkhtml.py: documentation: fixed links to scripts source
+	  code
+
+2016-01-12 15:30  lucadelu
+
+	* vector/v.db.select, vector/v.db.select/testsuite,
+	  vector/v.db.select/testsuite/test_v_db_select.py: v.db.select:
+	  added testsuite
+
+2016-01-12 08:16  lucadelu
+
+	* tools/mkhtml.py: documentation: add link to source code (see
+	  #2864)
+
+2016-01-11 20:33  glynn
+
+	* include/defs/sqlp.h, lib/db/sqlp/sqlp.l: Fix warnings (see also
+	  r67518)
+
+2016-01-11 14:24  annakrat
+
+	* gui/wxpython/web_services/dialogs.py: wxGUI/wms: dialog
+	  improvements (see #2859)
+
+2016-01-11 10:33  lucadelu
+
+	* lib/python/docs/src/pygrass_raster.rst: pygrass: updated
+	  documentation
+
+2016-01-11 09:43  martinl
+
+	* lib/python/pygrass/utils.py: pygrass: fix error message when path
+	  not found
+
+2016-01-10 20:42  martinl
+
+	* mswindows/GRASS-Packager.bat.tmpl: Copy 'Windows batchfiles for
+	  use with R' (GRASS-R-integration) from source to
+	  PACKAGE_DIR\extrabin not done (#2861)
+
+2016-01-10 12:39  martinl
+
+	* doc/howto_release.txt: how_to_release: note setup.hint file which
+	  should be also updated
+
+2016-01-10 12:35  martinl
+
+	* mswindows/osgeo4w/setup.hint: wingrass: add psycopg2 to OSGeo4W
+	  dependecies (required by pygrass)
+
+2016-01-10 12:25  martinl
+
+	* lib/python/pygrass/utils.py: pygrass: fix set_path() when
+	  compiling g.gui.mwprecip addons (GRASS installed from package)
+
+2016-01-10 11:11  martinl
+
+	* lib/python/pygrass/utils.py: pygrass: change dirname in
+	  set_path() to optional - this functions needs major revision
+
+2016-01-10 03:06  annakrat
+
+	* gui/wxpython/datacatalog/tree.py: wxGUI/datacatalog: fix
+	  deadlock, see #2697
+
+2016-01-09 17:23  martinl
+
+	* gui/wxpython/datacatalog/tree.py: wxGUI: data catalog does not
+	  show all raster layers, while showing some non-existing (#2697)
+
+2016-01-09 17:19  martinl
+
+	* gui/wxpython/datacatalog/tree.py: wxGUI/datacatalog: add more
+	  debug messages
+
+2016-01-09 16:24  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI: fix digitizer when used
+	  second time
+
+2016-01-09 13:58  annakrat
+
+	* raster/r.fill.dir/main.c: r.fill.dir: remove temporary files when
+	  done
+
+2016-01-09 10:10  martinl
+
+	* lib/python/script/db.py: pythonlib: fix db_connection(True) when
+	  default DB connection is not defined
+
+2016-01-08 10:51  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/gmodeler: fix add command
+	  dialog layout
+
+2016-01-08 10:11  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/dialogs.py:
+	  wxGUI/gmodeler: replace wx.TextEntryDialog with
+	  gui_core.TextEntryDialog (fix set comment multiline input)
+
+2016-01-07 17:45  glynn
+
+	* raster/r.mapcalc/mapcalc.l, raster/r.mapcalc/mapcalc.y: Fix
+	  warnings
+
+2016-01-07 16:25  mlennert
+
+	* vector/v.in.ogr/main.c: v.in.ogr: declare missing values in
+	  string and date fields as NULL, not empty strings
+
+2016-01-07 11:43  neteler
+
+	* gui/icons/grass.desktop: grass.desktop Appdata file: keywords
+	  updated; +GenericName,URL
+
+2016-01-07 11:01  neteler
+
+	* doc/howto_release.txt: doc/howto_release.txt: be sure to clean
+	  garbage (trac #2845)
+
+2016-01-07 10:58  martinl
+
+	* vector/v.external/dsn.c, vector/v.external/local_proto.h,
+	  vector/v.external/main.c, vector/v.in.ogr/dsn.c,
+	  vector/v.in.ogr/main.c: v.in.ogr doesn't use information from
+	  dblogin file about external PostgreSQL server (#2385)
+	  experimental implementation containing duplicated code (TODO:
+	  will be probably moved to Vlib)
+
+2016-01-07 08:34  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py, include/defs/vector.h,
+	  lib/python/pygrass/vector/__init__.py, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c: digitizer crashes, leaves vector
+	  broken (#2814)
+	  fix restore logic broken by r64214
+
+2016-01-06 18:28  martinl
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI: debug cosmetics
+
+2016-01-06 12:34  martinl
+
+	* gui/wxpython/vdigit/g.gui.vdigit.py: g.gui.vdigit: be less
+	  verbose when creating a new map
+
+2016-01-06 12:11  martinl
+
+	* lib/init/grass.py: fix syntax typo introduced in r67501
+
+2016-01-06 12:08  martinl
+
+	* lib/init/grass.py: grass.py: cache exception when closing GUI
+	  fails
+
+2016-01-06 10:16  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py, gui/wxpython/vdigit/wxdisplay.py:
+	  wxvdigit: debug cosmetics
+
+2016-01-06 09:55  martinl
+
+	* lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c: vlib: debug
+	  messages cosmetics
+
+2016-01-05 17:00  huhabla
+
+	* lib/python/temporal/temporal_granularity.py: temporal framework:
+	  Minor changes
+
+2016-01-05 00:10  huhabla
+
+	* lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py:
+	  temporal framework: Improved common granularity computation and
+	  related fixes
+
+2016-01-04 23:26  huhabla
+
+	* lib/python/temporal/temporal_granularity.py: temporal framework:
+	  Better common granularity computation that checks the start times
+	  of space time datasets
+
+2016-01-04 21:12  hellik
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.html: g.gui.rlisetup.html:
+	  fix description where config files are stored
+
+2016-01-04 19:36  wenzeslaus
+
+	* raster3d/raster3dintro.html: make cube primary term and emph the
+	  that cuboid is rectangular
+
+2016-01-04 13:02  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: rewrite
+	  install_extension_win() to use new layout
+
+2016-01-03 20:57  hellik
+
+	* mswindows/env.bat: winGRASS-R-integration: fix check R
+	  installation
+
+2016-01-02 16:22  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/gmodeler: fix extension
+	  python save as issue
+
+2016-01-02 16:15  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: fix python save as
+
+2016-01-02 16:08  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI: modeler problems with
+	  variable (#2782)
+
+2016-01-02 15:54  neteler
+
+	* INSTALL, REQUIREMENTS.html, doc/howto_release.txt,
+	  general/g.version/g.version.html, grasslib.dox, include/VERSION,
+	  lib/init/grass.py, man/build_rest.py: Happy new year
+
+2016-01-02 15:52  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix g.remove/g.list
+	  all selection
+
+2016-01-02 12:39  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: check validity of
+	  input file when loading
+
+2015-12-31 16:56  martinl
+
+	* gui/icons/Makefile: attempt fix Makefile to install 32bit/64bit
+	  icon
+
+2015-12-31 15:13  annakrat
+
+	* scripts/v.rast.stats/v.rast.stats.html: v.rast.stats: fix example
+	  in manual
+
+2015-12-31 15:12  annakrat
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: remove
+	  unnecessary code related to mask
+
+2015-12-31 10:31  mlennert
+
+	* vector/v.out.ogr/export_areas.c, vector/v.out.ogr/export_lines.c:
+	  v.out.ogr: Forcing use of OGR_G_AddPoint_2D when map is not 3D
+	  (attempt to fix #2300 "")
+
+2015-12-31 10:25  neteler
+
+	* locale/po/grasswxpy_lv.po: i18N: deduplicate Latvian translation
+	  using msguniq; msg fixes
+
+2015-12-31 10:09  marisn
+
+	* locale/po/grasswxpy_lv.po: wxGUI translation update for Latvian
+	  language
+
+2015-12-31 08:19  neteler
+
+	* binaryInstall.src, general/g.message/g.message.html,
+	  gui/wxpython/iscatt/controllers.py, gui/wxpython/mapwin/base.py,
+	  lib/init/grass7.html, lib/ogsf/gs.c,
+	  lib/python/ctypes/ctypesgencore/parser/cparser.py,
+	  lib/python/gunittest/utils.py, lib/python/imaging/images2avi.py,
+	  lib/vector/Vlib/box.c, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fi.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ro.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_fi.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po, raster/r.basins.fill/main.c,
+	  raster/r.out.gdal/r.out.gdal.html,
+	  raster/r.statistics/r.statistics.html, raster3d/r3.in.v5d/v5d.c,
+	  raster3d/r3.out.v5d/v5d.c, scripts/r.fillnulls/r.fillnulls.html,
+	  vector/v.out.ascii/main.c, vector/v.perturb/normalrs.c,
+	  vector/v.perturb/normalsv.c: various typos fixed (via Debian
+	  lintian QA tool, contributor: sebastic; trac #2841)
+
+2015-12-30 18:03  ychemin
+
+	* imagery/i.albedo/bb_alb_aster2bands.c,
+	  imagery/i.albedo/functions.h: corrected double definition for
+	  Aster problem
+
+2015-12-30 17:49  wenzeslaus
+
+	* vector/Makefile, vector/v.in.pdal, vector/v.in.pdal/Makefile,
+	  vector/v.in.pdal/filters.c, vector/v.in.pdal/filters.h,
+	  vector/v.in.pdal/lidar.c, vector/v.in.pdal/lidar.h,
+	  vector/v.in.pdal/main.cpp, vector/v.in.pdal/projection.c,
+	  vector/v.in.pdal/projection.h, vector/v.in.pdal/testsuite,
+	  vector/v.in.pdal/testsuite/basic_test.py,
+	  vector/v.in.pdal/testsuite/filter_test.py,
+	  vector/v.in.pdal/v.in.pdal.html: v.in.pdal: LiDAR import tool
+	  based on PDAL [news]
+	  
+	  Contains most of the v.in.lidar filters/selection tools.
+	  Supports two advaced PDAL filters.
+	  
+	  Tests for basic functonality.
+	  
+	  Doesn't build topology. Stores
+	  return, class and color info in predefined
+	  layers as categories.
+	  
+	  
+	  Tests and other .c files are similar
+	  to those in v.in.lidar.
+	  
+	  See also #2732 and r67293.
+
+2015-12-30 17:02  ychemin
+
+	* imagery/i.albedo/bb_alb_aster2bands.c,
+	  imagery/i.albedo/i.albedo.html: Uploaded new ASTER 2 bands Albedo
+	  equation
+
+2015-12-30 15:21  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fi.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ro.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fi.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ko.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18N:
+	  update from template files
+
+2015-12-30 14:45  neteler
+
+	* config.guess, config.sub, configure: config.guess + config.sub:
+	  updated from http://git.savannah.gnu.org/cgit/config.git/plain/
+
+2015-12-30 14:28  neteler
+
+	* gui/wxpython/tplot/g.gui.tplot.py: g.gui.tplot: msg cosmetics
+
+2015-12-30 13:00  neteler
+
+	* imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.vi/i.vi.html, imagery/i.vi/i_vi_arvi.png,
+	  imagery/i.vi/i_vi_gari.png, imagery/i.vi/i_vi_ndvi.png: i.vi,
+	  i.landsat.toar manuals: several examples added
+
+2015-12-30 09:11  lucadelu
+
+	* gui/wxpython/tplot/frame.py: g.gui.tplot: fixed bugs when
+	  coordinates are missing or not in the right region
+
+2015-12-29 18:57  hellik
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed: fix typo
+	  in manual
+
+2015-12-29 12:53  lucadelu
+
+	* gui/wxpython/tplot/frame.py: g.gui.tplot: try to fix error during
+	  exit
+
+2015-12-29 09:54  neteler
+
+	* REQUIREMENTS.html: REQUIREMENTS.html: hint about xxx-devel
+	  packages added
+
+2015-12-29 09:51  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension (wingrass): http
+	  -> https (needs some testing)
+
+2015-12-28 11:18  neteler
+
+	* vector/v.mkgrid/main.c: v.mkgrid: fix tables of the output differ
+	  depending on the grid size (patch proposed by Michel Wortmann,
+	  pik-potsdam.de)
+
+2015-12-27 20:55  neteler
+
+	* raster/r.category/r.category.html: r.category manual: minor HTML
+	  formatting (more needed)
+
+2015-12-26 21:51  martinl
+
+	* mswindows/osgeo4w/mklibs.sh: wingrass: attempt to fix mklibs.sh
+	  for X64
+
+2015-12-26 12:35  martinl
+
+	* vector/v.what.rast/main.c, vector/v.what.rast/v.what.rast.html:
+	  v.what.rast: create a new column if not exists
+
+2015-12-25 22:21  martinl
+
+	* mswindows/osgeo4w/mklibs.sh: fix machine in mklibs.sh
+
+2015-12-25 20:42  martinl
+
+	* scripts/v.db.join/v.db.join.py: v.db.join: rename variable
+	  introduced in r67376
+
+2015-12-25 20:40  martinl
+
+	* scripts/v.db.join/v.db.join.py: v.db.join: fix db.describe and
+	  mysql (#2792)
+
+2015-12-24 17:26  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: message
+	  cosmetics
+
+2015-12-24 16:56  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats and mySQL
+	  (#2759)
+
+2015-12-24 16:55  martinl
+
+	* lib/python/script/db.py: pythonlib: implement
+	  db_begin/commit_transaction (see #2759)
+
+2015-12-24 15:59  martinl
+
+	* lib/db/dbmi_client/start.c: dbmi: define close_on_exec as static
+
+2015-12-24 14:52  martinl
+
+	* vector/v.in.ascii/main.c: v.in.ascii: remove not needed mingw32
+	  ifdef
+
+2015-12-24 13:02  martinl
+
+	* scripts/v.db.renamecolumn/v.db.renamecolumn.py:
+	  v.db.renamecolumn: syntax cosmetics
+
+2015-12-24 03:05  wenzeslaus
+
+	* vector/v.in.lidar/main.c,
+	  vector/v.in.lidar/testsuite/basic_test.py,
+	  vector/v.in.lidar/testsuite/filter_test.py: v.in.lidar: change
+	  filter order to a faster one
+	  
+	  First check coordinates, then return and class
+	  and then do potentially very slow areas check.
+	  
+	  This changes the reported counts of filtered points
+	  and splits the 2D spatial checks but for user
+	  all is still AND relation anyway, only the counts
+	  are different.
+	  
+	  Place for z may change if there is some expensive
+	  modification of z needed.
+	  
+	  Adding tests for zrange option.
+
+2015-12-24 02:29  wenzeslaus
+
+	* vector/v.in.lidar/filters.c, vector/v.in.lidar/filters.h,
+	  vector/v.in.lidar/main.c,
+	  vector/v.in.lidar/testsuite/filter_test.py: v.in.lidar: move
+	  class and return filter code out of main
+	  
+	  Files taken from r.in.lidar and extended.
+	  
+	  Tests added for return and class filters and both together.
+
+2015-12-24 01:05  wenzeslaus
+
+	* vector/v.in.ascii/v.in.ascii.html: v.in.ascii: right translation
+	  for the Czech word kadibudka
+
+2015-12-23 22:35  wenzeslaus
+
+	* vector/v.in.lidar/testsuite/mask_test.py,
+	  vector/v.in.lidar/vector_mask.c, vector/v.in.lidar/vector_mask.h:
+	  v.in.lidar: check bbox of the whole mask before checking
+	  individual areas
+
+2015-12-23 21:35  wenzeslaus
+
+	* vector/v.in.lidar/testsuite/mask_test.py: v.in.lidar: test for
+	  vector mask
+
+2015-12-23 21:34  wenzeslaus
+
+	* vector/v.in.lidar, vector/v.in.lidar/attributes.c,
+	  vector/v.in.lidar/attributes.h, vector/v.in.lidar/info.c,
+	  vector/v.in.lidar/info.h, vector/v.in.lidar/lidar.c,
+	  vector/v.in.lidar/lidar.h, vector/v.in.lidar/projection.c,
+	  vector/v.in.lidar/projection.h,
+	  vector/v.in.lidar/testsuite/basic_test.py,
+	  vector/v.in.lidar/testsuite/decimation_test.py: v.in.lidar: svn
+	  prop set with addons/tools/module_svn_propset.sh
+
+2015-12-23 21:32  wenzeslaus
+
+	* vector/v.in.lidar/main.c, vector/v.in.lidar/vector_mask.c,
+	  vector/v.in.lidar/vector_mask.h: v.in.lidar: refactor out vector
+	  mask
+
+2015-12-23 11:37  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: fix quit end modal issue
+
+2015-12-23 11:15  mlennert
+
+	* vector/v.db.select/main.c: Group most important parameters in a
+	  'Main' tab
+
+2015-12-23 11:14  mlennert
+
+	* gui/wxpython/lmgr/layertree.py: add attribute export to vector
+	  layer context menu
+
+2015-12-23 01:44  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix encoding issue from
+	  #2835
+
+2015-12-22 22:17  wenzeslaus
+
+	* vector/v.in.lidar/info.c, vector/v.in.lidar/info.h,
+	  vector/v.in.lidar/main.c: v.in.lidar: move print info to a file
+	  
+	  Function in sync with r.in.lidar.
+
+2015-12-22 19:29  wenzeslaus
+
+	* vector/v.in.lidar/attributes.c, vector/v.in.lidar/attributes.h,
+	  vector/v.in.lidar/lidar.c, vector/v.in.lidar/lidar.h,
+	  vector/v.in.lidar/main.c, vector/v.in.lidar/projection.h:
+	  v.in.lidar: move most of db code out of main, separate
+	  lidar-related defs
+
+2015-12-22 16:10  neteler
+
+	* imagery/i.vi/main.c, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fi.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ro.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: fix msg
+	  typo
+
+2015-12-22 15:50  annakrat
+
+	* gui/wxpython/mapdisp/main.py: wxGUI/dmon: fix import path after
+	  recent changes
+
+2015-12-22 15:44  annakrat
+
+	* gui/wxpython/gui_core/query.py: wxGUI/query: convert everything
+	  to unicode to fix #2617
+
+2015-12-22 14:50  martinl
+
+	* gui/wxpython/modules/mapsets_picker.py: fix g.mapset -s issue
+	  (set_gui_path)
+
+2015-12-22 14:48  annakrat
+
+	* gui/wxpython/timeline/frame.py: g.gui.timeline: show better error
+	  when dataset is empty
+
+2015-12-22 14:37  annakrat
+
+	* gui/wxpython/timeline/frame.py: g.gui.timline: beautify error
+	  message
+
+2015-12-22 04:11  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: sync the lu version (fixes
+	  r67316 and r67317)
+
+2015-12-22 04:01  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: initialize zrange filter
+	  counter
+
+2015-12-22 03:59  wenzeslaus
+
+	* vector/v.in.lidar/main.c, vector/v.in.lidar/projection.h:
+	  v.in.lidar: define functions in header file (finish r67318)
+
+2015-12-22 03:55  wenzeslaus
+
+	* vector/v.in.lidar/main.c, vector/v.in.lidar/projection.c:
+	  v.in.lidar: move out code for projection checking
+	  
+	  Code moved out was almost identical with r.in.lidar.
+
+2015-12-22 03:49  wenzeslaus
+
+	* vector/v.in.lidar/count_decimation.h: v.in.lidar: use long ints
+	  for counts (finish r67316)
+
+2015-12-22 02:02  wenzeslaus
+
+	* vector/v.in.lidar/count_decimation.c,
+	  vector/v.in.lidar/count_decimation.h, vector/v.in.lidar/main.c:
+	  v.in.lidar: move out count-based decimation
+	  
+	  Files identical with v.decimate.
+
+2015-12-22 01:50  martinl
+
+	* scripts/v.db.renamecolumn/v.db.renamecolumn.py: v.db.renamecolumn
+	  mysql error (#2819) - applied patch proposed by Markus Neteler
+
+2015-12-22 01:33  wenzeslaus
+
+	* vector/v.in.lidar/testsuite,
+	  vector/v.in.lidar/testsuite/basic_test.py,
+	  vector/v.in.lidar/testsuite/decimation_test.py: v.in.lidar: basic
+	  and decimation test
+
+2015-12-22 01:31  wenzeslaus
+
+	* vector/v.out.lidar/main.c, vector/v.out.lidar/testsuite,
+	  vector/v.out.lidar/testsuite/test_v_out_lidar.py,
+	  vector/v.out.lidar/v.out.lidar.html: v.out.lidar: scale the data
+	  with .01, add basic tests
+
+2015-12-22 01:14  martinl
+
+	* gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/datacatalog/g.gui.datacatalog.py,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.py, gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/timeline/g.gui.timeline.py,
+	  gui/wxpython/tplot/g.gui.tplot.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py, lib/init/grass.py,
+	  lib/python/script/setup.py: remove wxpath from PYTHONPATH (set
+	  path only locally)
+
+2015-12-21 15:58  martinl
+
+	* lib/python/script/setup.py: pythonlib: optionally add wxpython
+	  modules to pythonpath when calling
+	  gsetup.init()
+
+2015-12-21 15:47  martinl
+
+	* lib/python/script/setup.py: revert r67282
+
+2015-12-21 15:41  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/wxgui.py,
+	  lib/init/grass.py: Close wxGUI on GRASS CLI exit (#770) -
+	  experimental prototype
+
+2015-12-21 14:20  annakrat
+
+	* lib/python/pygrass/modules/grid/grid.py: GridModule: fix leaving
+	  processes behind
+
+2015-12-21 10:07  mmetz
+
+	* raster/r.stream.extract/do_astar.c: r.stream.extract: fix
+	  correction for diagonal flow bias
+
+2015-12-21 10:06  mmetz
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c: r.watershed: +SPI
+
+2015-12-21 10:06  mmetz
+
+	* raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/seg/do_astar.c: r.watershed: fix correction
+	  for diagonal flow bias
+
+2015-12-21 08:00  mmetz
+
+	* lib/raster/init.c, lib/raster/open.c: rasterlib: more tests for
+	  raster compression
+
+2015-12-21 07:58  mmetz
+
+	* include/defs/gis.h, lib/gis/compress.c, lib/gis/compress.h:
+	  libgis: improve compressor interface
+
+2015-12-21 03:38  wenzeslaus
+
+	* vector/v.decimate/count_decimation.c: v.decimate: fix counting of
+	  points at the beginning (r67160 in v.in.lidar)
+
+2015-12-21 02:50  wenzeslaus
+
+	* configure, configure.in, include/Make/Platform.make.in: add PDAL
+	  C++ lib dependency to configure
+
+2015-12-20 22:59  martinl
+
+	* lib/init/grass.py: grass.py: fix cleaning up GRASS variables
+	  (ingore those which starts with MONITOR)
+
+2015-12-20 22:27  martinl
+
+	* lib/db/dbmi_client/shutdown.c, lib/db/dbmi_client/start.c,
+	  lib/db/dbmi_driver/driver.c: Hangs when closing db drivers
+	  (#2775)
+
+2015-12-20 22:09  martinl
+
+	* lib/python/script/setup.py: libpython/setup: define also
+	  GRASS_PYTHON if not defined
+
+2015-12-20 21:17  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix handling error
+	  when unable to open input model file
+
+2015-12-20 18:13  turek
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/modules/import_export.py: wx.gui data import: show
+	  reprojection dialog
+
+2015-12-20 16:35  turek
+
+	* raster/r.external/list.c, raster/r.external/main.c,
+	  raster/r.external/proto.h: r.external: added -t flag for listing
+	  bands
+
+2015-12-20 15:04  martinl
+
+	* lib/python/script/setup.py: pythonlib: add wxpython modules to
+	  pythonpath when calling gsetup.init()
+
+2015-12-20 13:51  ychemin
+
+	* imagery/i.vi/main.c: minor typo
+
+2015-12-20 13:43  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: fix checking
+	  undefined variables
+
+2015-12-20 13:21  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/gselect: don't ingored set
+	  value for GdalSelect
+
+2015-12-20 13:06  martinl
+
+	* lib/vector/Vlib/ascii.c, vector/v.out.ascii/main.c: v.out.ascii +
+	  vlib: use cross-platform newline character
+
+2015-12-20 13:00  martinl
+
+	* imagery/i.cluster/checkpt.c, imagery/i.cluster/main.c,
+	  imagery/i.cluster/print1.c, imagery/i.cluster/print2.c,
+	  imagery/i.cluster/print4.c: i.cluster: use cross-platforn newline
+	  character for reports (rest of issues)
+
+2015-12-20 12:51  martinl
+
+	* imagery/i.cluster/main.c, imagery/i.cluster/print1.c,
+	  imagery/i.cluster/print2.c, imagery/i.cluster/print3.c,
+	  imagery/i.cluster/print4.c, imagery/i.cluster/print5.c,
+	  imagery/i.cluster/print6.c: i.cluster: use cross-platforn newline
+	  character for reports
+
+2015-12-20 12:50  martinl
+
+	* include/gis.h: libgis: add cross-platform newline character
+
+2015-12-20 11:41  martinl
+
+	* gui/wxpython/gui_core/forms.py: fix r67272 in better way
+
+2015-12-20 11:39  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix OnSetValue for
+	  ComboBox widgets on Windows
+
+2015-12-20 11:20  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix size of Quit dialog
+	  on Windows
+
+2015-12-20 11:06  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: quit dialog cosmetics
+
+2015-12-20 03:10  annakrat
+
+	* lib/python/script/task.py: task.py: fix encoding again (#2827)
+
+2015-12-20 02:05  hamish
+
+	* vector/v.what.rast/main.c: bugfix: when the interpolation flag
+	  was used with FCELL maps, and the query point was on the northern
+	  or southern row of the map, only the first half of the
+	  out-of-region row was flushed to NULL as floats are only half as
+	  wide as doubles. Force NULL flush for the entire DCELL row buffer
+	  to avoid uninitiated 0s being included in the weighted average
+	  result for query points on the eastern side of the raster row.
+	  (backport candidate)
+
+2015-12-20 01:31  annakrat
+
+	* vector/v.to.db/areas.c, vector/v.to.db/lines.c,
+	  vector/v.to.db/v.to.db.html: v.to.db: apply patch from #2658 to
+	  fix units inconsistency
+
+2015-12-19 22:34  mmetz
+
+	* lib/imagery/iscatt_core.c: imagerylib: C compliance
+
+2015-12-19 22:27  neteler
+
+	* raster/r.lake/r.lake.html: r.lake manual: minor example cleanup
+	  (trac #2806)
+
+2015-12-19 22:15  mmetz
+
+	* lib/gis/lz4.c: gislib: no C++ style comments in C code
+
+2015-12-19 22:14  mmetz
+
+	* lib/imagery/iscatt_core.c: imagerylib: no C++ style comments in C
+	  code
+
+2015-12-19 21:10  neteler
+
+	* lib/python/pygrass/modules/grid/grid.py: pygrass grid module: fix
+	  references to old map type names (trac #2612)
+
+2015-12-19 12:06  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: add support for directory data type
+
+2015-12-19 10:35  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/lmgr/frame.py: wxGUI: replace message dialog with
+	  customized QuitDialog
+
+2015-12-19 05:06  mlennert
+
+	* vector/v.surf.idw/main.c, vector/v.surf.idw/proto.h: reverting
+	  last fix and using Paul's static var solution
+
+2015-12-19 00:53  pkelly
+
+	* vector/v.surf.idw/v.surf.idw.html: Add extra hint on including
+	  points outside region in interpolation
+
+2015-12-18 21:07  mmetz
+
+	* raster/r.stream.extract/do_astar.c: r.stream.extract: fix
+	  correction for diagonal flow direction bias
+
+2015-12-18 21:03  mmetz
+
+	* raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/seg/do_astar.c: r.watershed: fix correction
+	  for diagonal flow direction bias
+
+2015-12-18 21:03  martinl
+
+	* gui/wxpython/core/gconsole.py: wxGUI: implement mechanism which
+	  allows to pass giface to g.gui.* modules
+
+2015-12-18 19:34  pkelly
+
+	* vector/v.surf.idw/v.surf.idw.html: Add description of point
+	  indexing algorithm
+
+2015-12-18 18:34  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: pid not used (cosmetics)
+
+2015-12-18 17:35  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/xml/wxgui_items.xml:
+	  wxGUI: remove not needed OnCloseWindowExitGRASS
+
+2015-12-18 17:28  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: explain better quit/close
+	  dialog
+
+2015-12-18 15:21  wenzeslaus
+
+	* raster/r.in.lidar/main.c: r.in.lidar: add flag to set region
+	  according to the new raster
+	  
+	  This is the same as -e flag in v.in.lidar.
+	  Perhaps -e and -n i r.in.lidar and -e in v.in.lidar
+	  should be somehow synchronized.
+
+2015-12-18 11:04  neteler
+
+	* lib/python/temporal/testsuite/unittests_temporal_algebra_mixed_stds.py,
+	  lib/rst/rstlib.dox,
+	  raster/r.in.gdal/testsuite/data/generate_data.sh,
+	  raster/r.in.gdal/testsuite/test_r_in_gdal.py,
+	  raster/r.univar/testsuite/test_r_univar.py,
+	  scripts/g.search.modules/testsuite/test_g_search_modules.py,
+	  scripts/v.rast.stats/testsuite/test_v_rast_stats.py,
+	  temporal/t.rast.accumulate/testsuite/test_accumulation.py,
+	  temporal/t.rast.series/testsuite/test_series.py,
+	  temporal/t.rast.univar/testsuite/test_univar.py,
+	  temporal/t.rast3d.univar/testsuite/test_univar.py,
+	  temporal/t.shift/testsuite/test_shift.py,
+	  temporal/t.snap/testsuite/test_snap.py,
+	  temporal/t.support/testsuite/test_support_str3ds.py,
+	  temporal/t.support/testsuite/test_support_strds.py,
+	  temporal/t.support/testsuite/test_support_stvds.py: svn propset
+
+2015-12-18 11:03  neteler
+
+	* lib/gis/compress.h, lib/gis/lz4.c, lib/gis/lz4.h: svn propset
+
+2015-12-18 08:59  mmetz
+
+	* lib/raster/get_row.c: rasterlib: update for new compression fns
+
+2015-12-18 08:42  mmetz
+
+	* lib/gis/lz4.c, lib/gis/lz4.h: libgis: include lz4
+
+2015-12-18 08:37  mmetz
+
+	* lib/raster/init.c, lib/raster/open.c, lib/raster/put_row.c,
+	  lib/raster3d/fpcompress.c: rasterlib, raster3dlib: use new
+	  compression fns
+
+2015-12-18 08:30  mmetz
+
+	* configure, configure.in, include/Make/Grass.make,
+	  include/Make/Platform.make.in, include/config.h.in: configure:
+	  add bzip2 support
+
+2015-12-18 08:28  mmetz
+
+	* lib/gis/cmprbzip.c, lib/gis/cmprlz4.c, lib/gis/cmprrle.c: libgis:
+	  add more compression methods
+
+2015-12-18 08:18  mmetz
+
+	* include/defs/gis.h, lib/gis/cmprzlib.c, lib/gis/compress.c,
+	  lib/gis/compress.h, lib/gis/flate.c: libgis: generalize
+	  compression interface
+
+2015-12-18 04:10  annakrat
+
+	* vector/v.surf.idw/main.c, vector/v.surf.idw/proto.h: v.surf.idw:
+	  fix serious bugs - wrong choice of nearest points when using
+	  indexing, missing sqrt, see #2820
+
+2015-12-18 03:44  wenzeslaus
+
+	* raster/r.in.lidar/Makefile, raster/r.in.lidar/local_proto.h,
+	  raster/r.in.lidar/main.c, raster/r.in.lidar/point_binning.c,
+	  raster/r.in.lidar/point_binning.h,
+	  raster/r.in.lidar/testsuite/test_base_resolution.sh: r.in.lidar:
+	  vector output with grid-based decimation [news]
+	  
+	  Creates one point per raster cell. Point gets
+	  XYZ which are mean of all points in the cell.
+	  No categories are created or preserved as it
+	  would be unclear what to take (we cannot average
+	  retrun number).
+	  
+	  Some improvements are needed for history and done
+	  message code. Vector writting could be more separated.
+
+2015-12-17 19:27  wenzeslaus
+
+	* lib/python/docs/src/gunittest_running_tests.rst,
+	  lib/python/docs/src/gunittest_testing.rst: gunittest: link sample
+	  data and say it is basic loc
+
+2015-12-17 14:38  neteler
+
+	* lib/db/sqlp/sql.html, scripts/db.in.ogr/db.in.ogr.html,
+	  scripts/v.db.join/v.db.join.html,
+	  vector/v.lrs/v.lrs.create/v.lrs.create.html,
+	  vector/v.lrs/v.lrs.segment/v.lrs.segment.html: SQL related manual
+	  entries: update some SQL examples to NC; fix db.select table
+	  calls
+
+2015-12-17 13:33  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: continue fix for #2827
+
+2015-12-17 13:23  neteler
+
+	* lib/gis/gislib.dox: libgis doxygen: added Glynn's notes on data
+	  access
+	  (https://lists.osgeo.org/pipermail/grass-dev/2015-September/076434.html)
+
+2015-12-17 12:48  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix 32bit issue
+
+2015-12-17 11:32  neteler
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: fix missing
+	  layer option in v.to.rast call (trac #2831)
+
+2015-12-17 09:12  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: header + comment
+	  cosmetics
+
+2015-12-17 09:07  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix windows
+	  32/64bit issue
+
+2015-12-17 08:42  neteler
+
+	* locale/po/grasslibs_fr.po: grasslibs_fr.po: minor fix
+
+2015-12-17 08:40  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grasswxpy_fr.po: Sylvain
+	  Maillard: FR cont'ed
+
+2015-12-17 08:33  mmetz
+
+	* raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/seg/do_astar.c: r.watershed: fix correction
+	  for diagonal flow bias
+
+2015-12-17 03:43  annakrat
+
+	* lib/python/script/task.py: wxGUI: fix unicode error from #2827
+
+2015-12-16 23:45  martinl
+
+	* include/Make/Rules.make: Rules.make: add $(GISBASE)/bin to
+	  $(LD_LIBRARY_PATH_VAR) to fix addons compilation issue on windows
+
+2015-12-16 17:37  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: grass_icon variable
+	  not needed anymore
+
+2015-12-16 17:18  martinl
+
+	* gui/icons/Makefile, gui/icons/grass64bit.ico,
+	  gui/icons/grass64bit_osgeo.ico, gui/icons/x86_64,
+	  gui/icons/x86_64/grass.ico, gui/icons/x86_64/grass_osgeo.ico:
+	  icons: separate 64bit icons into separate directory
+
+2015-12-16 15:44  martinl
+
+	* mswindows/GRASS-Packager.bat.tmpl, mswindows/osgeo4w/package.sh:
+	  winGRASS: add zlib1.dll dependecy, cleanup GRASS-Packager script
+
+2015-12-16 15:40  martinl
+
+	* mswindows/env.bat: wingrass: don't try to launch R if not
+	  available
+
+2015-12-16 15:33  martinl
+
+	* mswindows/env.bat, mswindows/osgeo4w/env.bat.tmpl,
+	  mswindows/osgeo4w/package.sh: wingrass: cleanup env.bat files,
+	  change destination for extra libs
+
+2015-12-16 13:48  martinl
+
+	* gui/icons/grass64bit.ico, gui/icons/grass64bit_osgeo.ico: 64bit
+	  icons cosmetics
+
+2015-12-16 13:25  martinl
+
+	* mswindows/osgeo4w/setup.hint: fix typo in setup.hint
+
+2015-12-16 12:50  martinl
+
+	* mswindows/osgeo4w/preremove.bat: wingrass: cleanup preremove.bat
+	  file
+
+2015-12-16 11:32  martinl
+
+	* mswindows/osgeo4w/package.sh, mswindows/osgeo4w/preremove.bat:
+	  wingrass: move extra libs from bin to lib directory
+
+2015-12-15 22:09  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: fix counting of points at
+	  the beginning
+	  
+	  When both offset and preserve were active, preserve
+	  was one point higher causing the don't trust the
+	  numbers warning.
+
+2015-12-15 22:03  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: add RGB import as
+	  categories
+	  
+	  Adds also a missing number of returns needed for first/mid/last
+	  indentification.
+	  
+	  Gives a message when layer number for table is automatically
+	  determined.
+	  
+	  RGB values can be stored separately or in one category.
+	  This is in sync with v.out.lidar r66855.
+
+2015-12-15 20:36  wenzeslaus
+
+	* vector/v.in.lidar/v.in.lidar.html: v.in.lidar: table for selected
+	  decimation percentages and corresponding option values
+
+2015-12-15 19:37  wenzeslaus
+
+	* lib/btree2/kdtree.h: keep inline comments between parentheses to
+	  be accepted by Doxygen
+	  
+	  Tested with Doxygen 1.8.9.1.
+	  The indent script was exectuted.
+
+2015-12-15 19:29  wenzeslaus
+
+	* lib/python/gunittest/case.py: gunittest: explicitely check if
+	  there is an executable for the module
+
+2015-12-15 19:28  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib/script: tell the name of not
+	  found executable
+
+2015-12-15 19:16  wenzeslaus
+
+	* lib/gis/adj_cellhd.c: libgis: tell the value in the bad
+	  resolution error message
+
+2015-12-15 16:42  wenzeslaus
+
+	* vector/v.out.lidar/main.c: v.out.lidar: check the right variable
+	  for null
+	  
+	  Fixes Coverity CID 1341834.
+
+2015-12-15 15:06  martinl
+
+	* mswindows/grass.ico: revert 67144
+
+2015-12-15 14:17  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: cosmetics
+	  (32/64bit)
+
+2015-12-15 14:15  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl,
+	  mswindows/GRASS-Packager.bat.tmpl, mswindows/osgeo4w/package.sh:
+	  wingrass: various fixes (32/64bit)
+
+2015-12-15 12:51  martinl
+
+	* gui/icons/msys.ico: remove unused icon
+
+2015-12-15 12:50  martinl
+
+	* mswindows/grass.ico: remove unused icon
+
+2015-12-15 11:14  mlennert
+
+	* vector/v.buffer/v.buffer.html: enhanced explanation of -t flag
+
+2015-12-15 10:48  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: fix about dialog reporting
+	  64bit platform
+
+2015-12-15 10:23  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS installer: fix
+	  msvcrt path (32bit vs 64bit)
+
+2015-12-15 10:19  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS installer: fix
+	  instalation dir (32bit vs 64bit)
+
+2015-12-15 09:55  martinl
+
+	* mswindows/GRASS-Packager.bat.tmpl: wingrass: include msys2
+	  dependecies into packager
+
+2015-12-14 22:49  martinl
+
+	* doc/infrastructure.txt: infrastructure: add travis ci section
+
+2015-12-14 21:13  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl, mswindows/Makefile: wingrass
+	  installer: fix platform definition
+
+2015-12-14 21:06  wenzeslaus
+
+	* vector/v.out.lidar/main.c: v.out.lidar: handle the error state of
+	  potential caller error
+	  
+	  This fixes Coverity CID 1341810 if it understands G_fatal_error.
+
+2015-12-14 20:47  martinl
+
+	* mswindows/osgeo4w/setup.hint: wingrass (osgeo4w): setup.hint
+	  moved from addons
+
+2015-12-14 20:44  martinl
+
+	* mswindows/osgeo4w/msys.bat: osgeo4w: remove unsed file
+
+2015-12-14 20:40  wenzeslaus
+
+	* raster/r.in.lidar/string_list.c: r.in.lidar: check if the file is
+	  open
+	  
+	  This is already (supposed to be) checked by the caller.
+	  This fixes Coverity CID 1341833.
+
+2015-12-14 20:24  martinl
+
+	* gui/icons/grass64bit.ico, gui/icons/grass64bit_osgeo.ico,
+	  mswindows/GRASS-Installer.nsi.tmpl: wingrass: add special icon
+	  for 64bit installation
+
+2015-12-14 20:10  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS: name package
+	  cosmetics (note platform)
+
+2015-12-14 12:50  neteler
+
+	* vector/v.net.distance/v.net.distance.html: v.net.distance manual:
+	  remove OS specific paths; break long lines
+
+2015-12-14 11:34  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: start GRASS cmd in
+	  normal mode again
+
+2015-12-14 11:28  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: change installer
+	  name to contain also platform
+
+2015-12-14 11:05  hellik
+
+	* vector/v.net.distance/v.net.distance.html: v.net.distance: add
+	  example with streams and points (NC sample data set)
+
+2015-12-13 13:59  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS: update nsis
+	  installer for mingw32-w64 (msys2)
+
+2015-12-13 12:24  martinl
+
+	* mswindows/GRASS-Packager.bat.tmpl: wingrass: update
+	  GRASS-Packager for msys2 (drop msys dependency)
+
+2015-12-12 14:20  martinl
+
+	* mswindows/osgeo4w/mklibs.sh, mswindows/osgeo4w/package.sh: update
+	  mklib.sh for 64bit builds
+
+2015-12-12 13:34  martinl
+
+	* general/g.mkfontcap/freetype_fonts.c, general/g.mkfontcap/main.c:
+	  g.mkfontcap: i18n cosmetics
+
+2015-12-12 03:58  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py, lib/python/script/utils.py:
+	  wxGUI: natural sort for map selection and add many maps dialog,
+	  #2818
+
+2015-12-12 03:08  annakrat
+
+	* gui/wxpython/timeline/frame.py: g.gui.timeline: attempt to fix
+	  #2824
+
+2015-12-11 23:27  martinl
+
+	* mswindows/osgeo4w/preremove.bat: wingrass: update preremove
+	  script for mingw32-w64
+
+2015-12-11 22:38  martinl
+
+	* mswindows/osgeo4w/package.sh: update package.sh to ming32-w64
+	  toolchain
+
+2015-12-11 21:31  martinl
+
+	* lib/python/ctypes/Makefile: ctypes: link against intl-8 on mingw
+	  (intl3 is obsolete)
+
+2015-12-11 11:33  martinl
+
+	* lib/vector/dglib/examples/components.c: partly revert r67057
+
+2015-12-11 10:45  huhabla
+
+	* include/defs/vector.h, lib/python/pygrass/vector/__init__.py,
+	  lib/vector/Vlib/geos_to_wktb.c: vector library and pygrass rpc:
+	  Fixed bug in vector line to wkb conversion
+
+2015-12-10 22:06  martinl
+
+	* general/g.proj/create.c, imagery/i.topo.corr/main.c,
+	  lib/vector/dglib/examples/components.c: several modules:
+	  snprintf() -> G_snprintf()
+
+2015-12-10 17:55  martinl
+
+	* include/config.h.in: config.h: fix compilation on mingw32-w64
+
+2015-12-10 17:51  martinl
+
+	* configure, configure.in: configure: fix pwd -W unknown option on
+	  mingw32
+
+2015-12-10 10:41  martinl
+
+	* configure: update configure to support w64-mingw32 builds
+
+2015-12-10 10:39  martinl
+
+	* aclocal.m4: aclocal.m4: add support for w64-ming32 builds
+
+2015-12-10 10:09  martinl
+
+	* raster/r.external/main.c: r.external: use CPLGetCurrentDir()
+	  instead of getcwd() - mingw/msvc issue
+
+2015-12-10 09:20  martinl
+
+	* raster/r.in.gdal/main.c: use G_snprintf() instead of snprintf()
+
+2015-12-09 16:34  martinl
+
+	* lib/gis/env.c: libgis: revert r67044:5 (it causing strange
+	  compilation problem with g.mkfontcap -s)
+
+2015-12-09 15:44  martinl
+
+	* lib/gis/env.c: libgis: turn r67044 into debug (no fatal error)
+
+2015-12-09 14:05  martinl
+
+	* lib/gis/env.c: libgis: call fatal error when unable to read GISRC
+	  file
+
+2015-12-08 23:54  martinl
+
+	* include/vect/dig_defines.h, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/write_pg.c: rename SF_UNKNOWN to SF_GEOMETRY
+	  (SF_UNKNOWN defined in oaidl.h on Windows)
+
+2015-12-08 20:01  wenzeslaus
+
+	* raster/r.in.lidar/string_list.c: r.in.lidar: use G_getl2 to
+	  support MS Windows CRLF (fixes r66601)
+
+2015-12-07 16:52  annakrat
+
+	* lib/python/pygrass/modules/grid/grid.py: GridModule: add option
+	  to name mapsets
+
+2015-12-07 14:47  martinl
+
+	* general/g.mkfontcap/freetype_fonts.c, general/g.mkfontcap/main.c:
+	  g.mkfontscap: fix segfault on cygwin & Windows 7
+
+2015-12-07 12:15  martinl
+
+	* db/drivers/odbc/describe.c, db/drivers/odbc/odbc.h: odbc db
+	  driver: fix compilation issue on Cygwin (64bit)
+
+2015-12-07 11:36  martinl
+
+	* lib/ogsf/gsd_img_tif.c: ogsf: fix compilation issue on Cygwin
+	  (64bit)
+
+2015-12-07 10:57  martinl
+
+	* lib/proj/Makefile: libproj: fix nad2bin issue for cygwin
+
+2015-12-07 09:26  martinl
+
+	* lib/proj/Makefile: fix nad2bin logic
+
+2015-12-07 08:36  martinl
+
+	* vector/v.out.lidar: update svn ignore prop
+
+2015-12-06 10:23  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: fix postinstall and
+	  preremove script names
+
+2015-12-05 15:12  martinl
+
+	* mswindows/osgeo4w/gdal-config, mswindows/osgeo4w/geos-config,
+	  mswindows/osgeo4w/liblas-config: wingrass: remove hardcoded
+	  options from config scripts
+
+2015-12-05 15:10  martinl
+
+	* mswindows/osgeo4w/proj4-config: wingrass: remove unused script
+
+2015-12-05 15:06  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: fix compilation issue
+	  with proj4 4.9 (avoid hacking Platform.make)
+
+2015-12-05 14:51  annakrat
+
+	* vector/v.surf.bspline/main.c: v.surf.bspline: move opening raster
+	  after opening driver, closing is in reverse order, attempt to fix
+	  #2434
+
+2015-12-05 11:52  martinl
+
+	* mswindows/osgeo4w/preremove.bat: preremove: define batch variable
+
+2015-12-05 11:22  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: fix compilation issue
+	  proj4 4.9 (workaround)
+
+2015-12-04 23:15  hcho
+
+	* raster/r.topmodel/r.topmodel.html: r.topmodel: description for
+	  lnTe
+
+2015-12-04 17:14  martinl
+
+	* mswindows/osgeo4w/proj4-config: wingrass: add proj4-config (4.9
+	  issue)
+
+2015-12-03 16:34  neteler
+
+	* raster/r.texture/r.texture.html: r.texture manual: reflect -s
+	  flag in manual
+
+2015-12-03 15:33  annakrat
+
+	* gui/wxpython/animation/utils.py: replace PIL obsolete function
+	  fromstring to frombytes #2815
+
+2015-12-03 03:13  annakrat
+
+	* gui/wxpython/core/utils.py, gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/psmap/frame.py, gui/wxpython/psmap/utils.py,
+	  lib/python/imaging/images2gif.py,
+	  lib/python/imaging/images2swf.py,
+	  scripts/wxpyimgview/wxpyimgview_gui.py: replace PIL obsolete
+	  function tostring to tobytes
+
+2015-12-02 15:47  lucadelu
+
+	* vector/v.db.select/main.c, vector/v.db.select/v.db.select.html:
+	  v.db.select: added group option to use GROUP BY SQL clause
+
+2015-12-02 09:04  neteler
+
+	* scripts/g.search.modules/g.search.modules.py: g.search.modules:
+	  print error msg if python-termcolor is not installed
+
+2015-12-01 21:53  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/mapcalc.h: Add -l (list maps) flag (issue #2592)
+
+2015-12-01 16:40  neteler
+
+	* raster/r.sun/r.sun.html: r.sun manual: better reflect shadow
+	  calculation default setting
+
+2015-12-01 08:49  jachym
+
+	* scripts/Makefile, scripts/g.search.module,
+	  scripts/g.search.modules, scripts/g.search.modules/Makefile,
+	  scripts/g.search.modules/g.search.module.html,
+	  scripts/g.search.modules/g.search.module.py,
+	  scripts/g.search.modules/g.search.modules.html,
+	  scripts/g.search.modules/g.search.modules.py,
+	  scripts/g.search.modules/testsuite/test_g_search_module.py,
+	  scripts/g.search.modules/testsuite/test_g_search_modules.py:
+	  renaming g.search.module -> g.search.modules
+
+2015-11-30 21:20  martinl
+
+	* scripts/g.search.module/g.search.module.html: g.search.module:
+	  manual page cosmetics
+
+2015-11-30 21:18  martinl
+
+	* scripts/g.search.module/Makefile,
+	  scripts/g.search.module/g.search.module.html,
+	  scripts/g.search.module/g.search.module.py: g.search.module: set
+	  up svn props
+
+2015-11-30 21:09  jachym
+
+	* scripts/Makefile, scripts/g.search.module,
+	  scripts/g.search.module/Makefile,
+	  scripts/g.search.module/g.search.module.html,
+	  scripts/g.search.module/g.search.module.py,
+	  scripts/g.search.module/testsuite,
+	  scripts/g.search.module/testsuite/test_g_search_module.py: Adding
+	  new g.search.module script
+
+2015-11-30 08:22  jachym
+
+	* raster3d/r3.info/main.c: Comments in shell script written
+	  according to r.info
+
+2015-11-29 20:49  jachym
+
+	* raster3d/r3.info/main.c: Adding more generic support for -g flag
+	  in r3.info
+
+2015-11-29 14:12  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: ask user if to quit GRASS when
+	  closeing GUI from title bar
+
+2015-11-29 13:35  martinl
+
+	* scripts/v.import/v.import.py: v.import: show reprojection
+	  progress
+
+2015-11-28 17:59  neteler
+
+	* general/g.parser/g.parser.html, lib/gis/parser.c: Link added to
+	  overview table of parser standard options
+
+2015-11-28 17:30  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: syntax cosmetics typo
+
+2015-11-28 17:01  martinl
+
+	* scripts/v.import/v.import.py: v.import: add new parameters <epsg>
+	  and <datum_trans> to override input SRS
+
+2015-11-28 16:12  martinl
+
+	* general/g.proj/local_proto.h, general/g.proj/main.c,
+	  general/g.proj/output.c: g.proj: don't ignore epsg as parameter
+	  when printing info (-p/g)
+
+2015-11-28 15:07  martinl
+
+	* scripts/v.import/v.import.py: v.import: catch exception when
+	  unable to open datasource
+
+2015-11-28 14:32  martinl
+
+	* gui/wxpython/core/ws.py: wxGUI/wms: fix when reordering map
+	  layers
+
+2015-11-28 11:30  martinl
+
+	* mswindows/osgeo4w/package.sh: winGRASS: remove ununsed shell
+	  startup script - another attempt to fix builds
+
+2015-11-28 11:27  martinl
+
+	* gui/wxpython/core/ws.py: wxGUI/wms: replace CmdThread by gThread
+
+2015-11-28 09:47  martinl
+
+	* general/g.remove/main.c: g.remove: print warning when no files
+	  found
+	  turn important message to warning
+
+2015-11-28 09:18  martinl
+
+	* mswindows/osgeo4w/package.sh: winGRASS: remove ununsed shell
+	  startup script - attempt to fix builds
+
+2015-11-28 00:32  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: add 'set color table
+	  interactively' to the raster menu
+
+2015-11-28 00:14  martinl
+
+	* gui/wxpython/modules/colorrules.py: wxGUI/colortable: fix saving
+	  color table to fi
+
+2015-11-28 00:01  martinl
+
+	* gui/wxpython/datacatalog/tree.py: wxGUI/datacatalog: enable
+	  rename, delete, remove in the current mapset
+
+2015-11-27 23:48  martinl
+
+	* vector/v.decimate: update svn props
+
+2015-11-27 23:43  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix setting
+	  parametrized options multiple times
+
+2015-11-27 23:16  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: fix GetParams()
+
+2015-11-27 23:03  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: update item panel
+	  when page changed
+
+2015-11-27 22:59  martinl
+
+	* gui/wxpython/gmodeler/frame.py: fix small typo introduced in
+	  r66941
+
+2015-11-27 22:57  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: add Refresh button
+	  to the items panel
+
+2015-11-27 22:51  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py: wxGUI/modeler: show in item list
+	  parameterized options
+
+2015-11-27 19:38  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI modeler: overwrite flag not
+	  saved when reopening module dialog (#2801)
+
+2015-11-27 19:34  martinl
+
+	* lib/gis/parser.c: libgis: don't ignore global options in
+	  G_recreate_command()
+
+2015-11-26 23:10  martinl
+
+	* lib/init/variables.html: variables: fix env defintion file in the
+	  manual
+
+2015-11-26 21:59  martinl
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/lmgr/frame.py: wxGUI:
+	  enable map layers add from wxGUI prompt
+
+2015-11-26 19:57  martinl
+
+	* gui/wxpython/datacatalog/tree.py: wxGUI datacatalog cosmetics
+
+2015-11-26 00:23  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI: fix run model from menu
+
+2015-11-25 21:09  martinl
+
+	* gui/wxpython/modules/colorrules.py: wxGUI: fix colorrules preview
+	  including restoring original color table (no backport needed)
+
+2015-11-25 20:32  martinl
+
+	* gui/wxpython/modules/colorrules.py: wxGUI: fix colorrules preview
+	  (no backport needed)
+
+2015-11-25 18:58  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS: partly revert
+	  r66926
+
+2015-11-25 18:53  martinl
+
+	* mswindows/GRASS-Packager.bat.tmpl: winGRASS: do not expect apt
+	  1.0.10.2 for amd64 compiled on Aug 21 2015 17:41:29
+	  Usage: apt [options] command
+	  
+	  CLI for apt.
+	  Basic commands:
+	  list - list packages based on package names
+	  search - search in package descriptions
+	  show - show package details
+	  
+	  update - update list of available packages
+	  
+	  install - install packages
+	  remove - remove packages
+	  
+	  upgrade - upgrade the system by installing/upgrading packages
+	  full-upgrade - upgrade the system by
+	  removing/installing/upgrading packages
+	  
+	  edit-sources - edit the source information file in osgeo4w
+	  directory
+
+2015-11-25 18:50  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl,
+	  mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: winGRASS: Reduce number of Start
+	  menu shortcuts on MS Windows (#2811)
+
+2015-11-25 17:43  martinl
+
+	* mswindows/osgeo4w/postinstall.bat: winGRASS: remove ununsed shell
+	  startup script (cont'ed)
+
+2015-11-25 17:42  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS: launch cmd
+	  minimized
+
+2015-11-25 17:39  martinl
+
+	* mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: winGRASS: remove ununsed shell
+	  startup script (cont'ed)
+
+2015-11-25 17:31  martinl
+
+	* mswindows/osgeo4w/grass.tmpl, mswindows/osgeo4w/package.sh:
+	  winGRASS: remove ununsed shell startup script
+
+2015-11-25 17:24  martinl
+
+	* general/g.gui/main.c, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/wxgui.py, lib/init/grass.py: simplify GRASS exiting
+	  from GUI (see r66917:8)
+
+2015-11-24 22:55  wenzeslaus
+
+	* vector/Makefile: v.decimate: enable in the parent Makefile
+
+2015-11-24 22:11  martinl
+
+	* general/g.gui/main.c, lib/init/grass.py: Exit GRASS from GUI (see
+	  r66917) - implement also for g.gui
+
+2015-11-24 21:56  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/toolboxes.xml, gui/wxpython/xml/wxgui_items.xml,
+	  lib/init/grass.py: wxGUI: add experimental option to exit GRASS
+	  shell from GUI session
+
+2015-11-24 21:54  martinl
+
+	* general/g.gui/main.c: g.gui: add missing header
+
+2015-11-24 15:56  martinl
+
+	* lib/gis/parser.c: libgis: fix parser when GUI is not available
+	  and asked by user
+
+2015-11-24 15:47  martinl
+
+	* general/g.gui/main.c: g.gui: ends with fatal error, when GUI is
+	  not available
+
+2015-11-24 15:42  martinl
+
+	* lib/init/grass.py: grass.py: fix initialization script when
+	  gis_set.py is not available, explain to the user how to solve
+	  this issue
+
+2015-11-24 13:40  martinl
+
+	* lib/python/pygrass/vector/__init__.py: pygrass: fix writing
+	  categories for features
+
+2015-11-24 08:46  neteler
+
+	* doc/howto_release.txt: release howto: updated
+
+2015-11-24 08:07  neteler
+
+	* db/drivers/postgres/grass-pg.html, general/g.proj/g.proj.html,
+	  lib/db/sqlp/sql.html, scripts/db.in.ogr/db.in.ogr.html,
+	  scripts/v.in.e00/v.in.e00.html,
+	  vector/v.external.out/v.external.out.html,
+	  vector/v.external/v.external.html, vector/v.in.ogr/v.in.ogr.html,
+	  vector/v.out.ogr/v.out.ogr.html,
+	  vector/v.out.postgis/v.out.postgis.html: manual: OGR links
+	  updated (trac #2763)
+
+2015-11-23 20:10  martinl
+
+	* scripts/v.in.e00/v.in.e00.py: v.in.e00: input is a binary file
+
+2015-11-23 19:23  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: add zrange to filter out
+	  outliers [news]
+
+2015-11-23 14:05  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: cosmetics when db
+	  connection is not defined
+
+2015-11-23 07:01  neteler
+
+	* scripts/r.in.wms/r.in.wms.html: r.in.wms manual: url update (trac
+	  #1495)
+
+2015-11-22 20:16  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix launching v.krige, see
+	  #2795
+
+2015-11-22 17:43  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: add encoding option
+	  (useful for DBF tables)
+
+2015-11-20 15:19  neteler
+
+	* raster/r.sun/main.c: r.sun: advertise the actually used
+	  values/maps as user mesgs
+
+2015-11-20 13:00  neteler
+
+	* gui/icons/Makefile: grass.desktop: fix r66867 (trac #2777)
+
+2015-11-20 11:46  neteler
+
+	* AUTHORS: AUTHORS: partial update
+
+2015-11-20 11:33  neteler
+
+	* lib/gis/strings.c, lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/vector/Vlib/cindex.c, raster/r.in.xyz/r.in.xyz.html,
+	  scripts/g.extension/g.extension.html: various typo fixed (trac
+	  #2803)
+
+2015-11-20 06:00  neteler
+
+	* scripts/r.reclass.area/r.reclass.area.html: r.reclass.area
+	  manual: update examples (trac #2802)
+
+2015-11-20 05:36  neteler
+
+	* gui/icons/Makefile, gui/icons/grass.menu, gui/icons/grass.svg,
+	  gui/icons/grass.xpm: grass.desktop: high res icons added, Debian
+	  specific xpm removed (trac #2777)
+
+2015-11-20 05:28  neteler
+
+	* gui/icons/grass.desktop: grass.desktop: add version number (trac
+	  #2777)
+
+2015-11-20 05:08  annakrat
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: fix handling
+	  column prefixes
+
+2015-11-18 14:12  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fi.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ro.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fi.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ko.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18N:
+	  update from template files
+
+2015-11-17 02:34  wenzeslaus
+
+	* vector/Makefile, vector/v.out.lidar, vector/v.out.lidar/Makefile,
+	  vector/v.out.lidar/main.c, vector/v.out.lidar/v.out.lidar.html:
+	  v.out.lidar: export vector as LAS
+	  
+	  Supports vector color tables (associated with category),
+	  attribute table with GRASS RGB column or individual columns.
+	  It also supports colors stored as category of a feature
+	  (individually or in one number). See
+	  https://lists.osgeo.org/pipermail/grass-dev/2015-September/076552.html
+	  
+	  From other typical lidar attributes, only subset is
+	  currently supported (as both attributes and categories
+	  in individal layers).
+	  
+	  Writes meta for the coordinate system taken from GRASS Location
+	  info.
+	  
+	  Can limit export 2D extent using computatioal region.
+	  
+	  Offset and scale for coordinates is not currently supported.
+	  Where and other cases when point must be skipped are not
+	  implemented. Doesn't handle well G_OPT_V_FIELD_ALL.
+
+2015-11-16 13:07  neteler
+
+	* mswindows/env.bat, mswindows/osgeo4w/env.bat.tmpl: mswindows
+	  env.bat*: fix spurious trailing white spaces
+
+2015-11-16 00:13  hellik
+
+	* mswindows/osgeo4w/env.bat.tmpl: env.bat.tmpl: set RStudio
+	  temporarily to %PATH% if it exists for OSGeo4W-wingrass
+
+2015-11-15 13:06  neteler
+
+	* lib/python/gunittest/case.py: gunittest: minor msg typo
+
+2015-11-12 22:51  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: import points only in
+	  selected areas [news]
+	  
+	  It uses a vector map with areas as a mask to specify
+	  where to import the points (ignores points outside
+	  the mask, does the opposite with -i flag).
+	  
+	  Cashing the bboxes seems to be slightly faster
+	  than just creating them all over again. Otherwise,
+	  this implementation is the simplest (not fastest) way possible.
+
+2015-11-12 22:28  wenzeslaus
+
+	* vector/v.patch/main.c: v.patch: flags to work without topology
+	  and with z [news]
+	  
+	  Merge point clouds with -nzb flags to skip z check,
+	  not require topology and use z even when it was not detected
+	  (since the topology/index/meta was missing).
+
+2015-11-12 14:38  lucadelu
+
+	* imagery/i.atcorr/i.atcorr.html: i.atcorr: removed -o flag from
+	  documentation
+
+2015-11-12 09:30  glynn
+
+	* lib/db/dbmi_base/Makefile, lib/db/dbmi_base/dbstubs.h,
+	  lib/db/dbmi_driver/Makefile, lib/db/dbmi_driver/dbstubs.h: Move
+	  dbstubs.h to fix build failures from r66773
+
+2015-11-11 16:15  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/vdigit/toolbars.py:
+	  wxGUI: fix creating new vector map from digitizer and menu (trunk
+	  only issue)
+
+2015-11-11 15:41  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix menu when vector map
+	  open for editing (bgmap is currently disabled)
+
+2015-11-11 15:38  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: menu cosmetics (raster3d
+	  -> 3d raster)
+
+2015-11-11 15:35  martinl
+
+	* vector/v.what.rast/main.c: v.what.rast: exit when no features of
+	  given type found
+
+2015-11-11 15:15  martinl
+
+	* lib/init/variables.html: variables: formatting cosmetics
+
+2015-11-11 15:15  martinl
+
+	* lib/vector/Vlib/open.c: vlib: fix GRASS_VECTOR_TMPDIR_MAPSET when
+	  opening existing map
+
+2015-11-10 21:53  marisn
+
+	* gui/wxpython/modules/vkrige.py, scripts/v.krige/v.krige.html,
+	  scripts/v.krige/v.krige.py: v.krige:
+	  * introduce kappa smoothing parameter of the Matern model;
+	  * use correct model names;
+	  * allow to reuse automatic fit values.
+
+2015-11-09 14:10  hcho
+
+	* lib/manage/do_copy.c: M_do_copy: Add a warning for failed copy
+
+2015-11-09 12:06  glynn
+
+	* lib/db/stubs/add_col.c, lib/db/stubs/bindupdate.c,
+	  lib/db/stubs/close_cursor.c, lib/db/stubs/closedb.c,
+	  lib/db/stubs/create_index.c, lib/db/stubs/create_table.c,
+	  lib/db/stubs/createdb.c, lib/db/stubs/delete.c,
+	  lib/db/stubs/deletedb.c, lib/db/stubs/desc_table.c,
+	  lib/db/stubs/drop_col.c, lib/db/stubs/drop_index.c,
+	  lib/db/stubs/drop_table.c, lib/db/stubs/execute.c,
+	  lib/db/stubs/fetch.c, lib/db/stubs/finddb.c,
+	  lib/db/stubs/finish.c, lib/db/stubs/init.c,
+	  lib/db/stubs/insert.c, lib/db/stubs/list_index.c,
+	  lib/db/stubs/list_tables.c, lib/db/stubs/listdb.c,
+	  lib/db/stubs/open_insert.c, lib/db/stubs/open_select.c,
+	  lib/db/stubs/open_update.c, lib/db/stubs/opendb.c,
+	  lib/db/stubs/priv.c, lib/db/stubs/rows.c,
+	  lib/db/stubs/transaction.c, lib/db/stubs/update.c: Include
+	  dbstubs.h, fix prototypes for open_select_cursor and
+	  describe_table
+
+2015-11-09 11:47  glynn
+
+	* db/drivers/dbf/dbdriver.h, db/drivers/mk_dbdriver_h.sh,
+	  db/drivers/mysql/dbdriver.h, db/drivers/odbc/dbdriver.h,
+	  db/drivers/ogr/dbdriver.h, db/drivers/postgres/dbdriver.h,
+	  db/drivers/sqlite/dbdriver.h, lib/db/dbmi_driver/dbstubs.h,
+	  lib/db/dbmi_driver/mk_dbstubs_h.sh, lib/db/stubs/open_update.c:
+	  Add parameter types to declarations
+
+2015-11-09 03:42  annakrat
+
+	* lib/python/pygrass/modules/grid/grid.py: pygrass: fix GridModule
+	  when using flags
+
+2015-11-08 16:40  hellik
+
+	* mswindows/env.bat: env.bat: fix typo
+
+2015-11-08 16:38  hellik
+
+	* mswindows/env.bat: env.bat: set RStudio temporarily to %PATH% if
+	  it exists
+
+2015-11-08 12:05  hellik
+
+	* mswindows/env.bat: env.bat: add newline at end of file
+
+2015-11-08 11:54  hellik
+
+	* mswindows/env.bat: env.bat: fix R temporarily set to %PATH% in
+	  windows
+
+2015-11-07 12:02  neteler
+
+	* scripts/g.extension/g.extension.html: g.extension manual:
+	  demystify 'Please install GRASS development package' error
+	  message
+
+2015-11-06 13:59  ychemin
+
+	* lib/gmath/la.c: more precise warning
+
+2015-11-06 03:05  annakrat
+
+	* lib/python/pygrass/modules/grid/grid.py: pygrass: fix GridModule
+	  on windows - popen must be called with shell=True on windows;
+	  fixed typo
+
+2015-11-06 02:49  annakrat
+
+	* lib/python/pygrass/modules/grid/grid.py: pygrass: fix GridModule
+	  on Windows - colon can be in rc file in path
+
+2015-11-05 02:43  annakrat
+
+	* lib/python/pygrass/gis/__init__.py: pygrass: fix GridModule after
+	  renaming a method in r60491, see #2791
+
+2015-11-05 00:57  wenzeslaus
+
+	* scripts/v.rast.stats/testsuite/test_v_rast_stats.py: remove
+	  unnecessary pass statement (follows r66742)
+
+2015-11-04 12:59  neteler
+
+	* scripts/v.rast.stats/testsuite/test_v_rast_stats.py:
+	  test_v_rast_stats.py: fix indentation. TODO: understand pass in
+	  tearDown()
+
+2015-11-04 11:09  huhabla
+
+	* temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py:
+	  temporal modules: Fixed test for t.rast.to.rast3
+
+2015-11-04 10:01  huhabla
+
+	* raster/r.univar/testsuite/test_r_univar.py: Fixed r.univar test
+
+2015-11-04 10:00  huhabla
+
+	* temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py,
+	  temporal/t.rast3d.univar/testsuite/test_univar.py: temporal
+	  modules: Fixed some tests
+
+2015-11-04 02:25  glynn
+
+	* lib/gis/worker.c: Set default workers to zero (threads only used
+	  by explicit request)
+
+2015-11-03 17:02  zarch
+
+	* vector/v.in.ogr/main.c: v.in.ogr: add #ifdefs to fix r66726
+
+2015-11-03 16:34  neteler
+
+	* aclocal.m4, configure: Makefile system: add soname on linux (trac
+	  #68)
+
+2015-11-03 12:53  zarch
+
+	* vector/v.in.ogr/main.c: v.in.ogr: Support int64 for key column
+	  too, see #2769
+
+2015-11-03 10:59  huhabla
+
+	* lib/python/temporal/univar_statistics.py: temporal framework:
+	  Added output file support for vector time series univar stats
+	  output
+
+2015-11-03 09:31  neteler
+
+	* lib/python/script/core.py: pygrass docs: add link to table of
+	  parser standard options
+
+2015-11-03 09:30  neteler
+
+	* raster/r.univar/testsuite/test_r_univar.py,
+	  scripts/v.rast.stats/testsuite/test_v_rast_stats.py,
+	  temporal/t.unregister/testsuite/test_unregister.py: testsuite:
+	  g.remove (and likely also t.remove) require -f flag
+
+2015-11-03 08:40  glynn
+
+	* lib/gis/ls.c: Call closedir() after reading directory
+
+2015-11-02 14:08  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: GRASS-Installer.nsi.tmpl:
+	  typo fix
+
+2015-11-02 12:11  huhabla
+
+	* raster/r.in.gdal/main.c, raster/r.in.gdal/r.in.gdal.html,
+	  raster/r.in.gdal/testsuite, raster/r.in.gdal/testsuite/data,
+	  raster/r.in.gdal/testsuite/data/elevation.asc,
+	  raster/r.in.gdal/testsuite/data/elevation.nc,
+	  raster/r.in.gdal/testsuite/data/elevation.prj,
+	  raster/r.in.gdal/testsuite/data/elevation.tif,
+	  raster/r.in.gdal/testsuite/data/elevation.tiff,
+	  raster/r.in.gdal/testsuite/data/elevation3d.nc,
+	  raster/r.in.gdal/testsuite/data/generate_data.sh,
+	  raster/r.in.gdal/testsuite/test_r_in_gdal.py: raster modules:
+	  Added number of band digits (option num_digits) and map names
+	  output file
+	  (map_names_file option) to provide better support for raster time
+	  series from stacked raster layers like netCDF.
+	  Added several tests and test-data based on the NC location.
+
+2015-11-02 09:19  martinl
+
+	* mswindows/osgeo4w/postinstall.bat: postinstall.bat: update paths
+	  to fonts during an OSGeo4W-winGRASS installation; attempt to fix
+	  #2784
+	  (add missing backslashes from r66691)
+
+2015-11-01 17:08  neteler
+
+	* gui/wxpython/xml/menudata.README: wxGUI menudata.README: add
+	  links to docs
+
+2015-11-01 16:52  neteler
+
+	* mswindows/osgeo4w/postinstall.bat: postinstall.bat: minor typos
+	  fixed
+
+2015-10-31 22:59  hellik
+
+	* mswindows/osgeo4w/postinstall.bat: postinstall.bat: update paths
+	  to fonts during an OSGeo4W-winGRASS installation; attempt to fix
+	  #2784
+
+2015-10-31 13:37  neteler
+
+	* gui/wxpython/xml/wxgui_items.xml: wxgui_items.xml: update of a
+	  few of several outdated module descriptions. Really a job for
+	  tools/update_menudata.py (also outdated)
+
+2015-10-31 12:04  neteler
+
+	* gui/wxpython/xml/menudata.README: menudata.README: comments added
+
+2015-10-30 19:09  ychemin
+
+	* imagery/i.modis.qc/main.c: added parentheses to sub-groups of
+	  logic
+
+2015-10-30 15:14  lucadelu
+
+	* gui/wxpython/tplot/frame.py: g.gui.tplot: fixed error during
+	  exit; #2789
+
+2015-10-30 14:29  neteler
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: r.import and v.import
+	  entry wording
+
+2015-10-30 13:14  huhabla
+
+	* temporal/t.rast.univar/testsuite/test_univar.py,
+	  temporal/t.rast3d.univar/testsuite/test_univar.py: temporal
+	  modules: Fixed univar tests to ingore the map id (the id includes
+	  the mapset name)
+
+2015-10-30 11:23  huhabla
+
+	* temporal/t.shift/test.t.shift.absolue.sh,
+	  temporal/t.shift/test.t.shift.relative.sh,
+	  temporal/t.shift/testsuite,
+	  temporal/t.shift/testsuite/test_shift.py: temporal modules: Added
+	  t.shift tests
+
+2015-10-30 11:03  neteler
+
+	* lib/temporal/lib/connect.c: minor comment fix
+
+2015-10-29 17:08  zarch
+
+	* lib/python/docs/src/pygrass_vector.rst: pygrass: improve
+	  documentation on open mode on pygrass Vector class
+
+2015-10-29 16:58  zarch
+
+	* lib/python/pygrass/vector/testsuite/test_geometry_attrs.py:
+	  pygrass: Fix unittest not check the whole text on the exception,
+	  see mail:
+	  http://lists.osgeo.org/pipermail/grass-dev/2015-October/076858.html
+
+2015-10-29 16:49  zarch
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: Verify pp_isle[i]
+	  is not a NULL pointer before trying to use it to instantiate line
+	  coordinates, get Area cat as an attribute from th centroid
+
+2015-10-29 16:47  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: add r.import and v.import
+	  to the menu
+
+2015-10-29 16:44  zarch
+
+	* lib/python/pygrass/vector/abstract.py: pygrass: Create a
+	  link/table also when open a vector map in rw mode
+
+2015-10-29 15:51  neteler
+
+	* raster/r.resamp.interp,
+	  raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.resamp.interp/r_resamp_interp_new_250m.png,
+	  raster/r.resamp.interp/r_resamp_interp_orig_500m.png,
+	  raster/r.resamp.stats/r.resamp.stats.html: r.resamp.interp
+	  manual: screenshots added
+
+2015-10-29 12:04  huhabla
+
+	* temporal/t.shift/t.shift.py: temporal modules: Fixed wrong type
+	  in t.shift
+
+2015-10-29 08:40  neteler
+
+	* doc/howto_release.txt: release procedure: new name for OSGeo
+	  download server due to upcoming infrastructure change
+
+2015-10-28 13:40  annakrat
+
+	* gui/wxpython/wxplot/profile.py: wxGUI: revert busy cursor r66625
+	  for profile tool
+
+2015-10-28 11:36  martinl
+
+	* lib/python/pygrass/utils.py: pygrass util set_path bug (#2785)
+
+2015-10-28 10:42  ychemin
+
+	* imagery/i.modis.qc/main.c: bug fix for qc flags differentiation
+	  for products 11A1 and 11A2
+
+2015-10-28 10:36  ychemin
+
+	* imagery/i.modis.qc/main.c: added a debug line
+
+2015-10-28 10:29  ychemin
+
+	* imagery/i.modis.qc/main.c: bug fix for checking qc flag for each
+	  product
+
+2015-10-28 10:06  ychemin
+
+	* imagery/i.modis.qc/main.c: bug fix for checking qc flag for each
+	  product
+
+2015-10-28 09:33  ychemin
+
+	* imagery/i.modis.qc/main.c: bug fix again for constraint on band
+	  number for 09 and 43
+
+2015-10-28 08:47  ychemin
+
+	* imagery/i.modis.qc/main.c: Bug fix to constrain band number check
+	  only to 09 and 43 products
+
+2015-10-28 02:50  annakrat
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/modeler: fix for wxPython
+	  3, see #2781
+
+2015-10-28 02:34  annakrat
+
+	* gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/profile.py,
+	  gui/wxpython/wxplot/scatter.py: wxGUI: add waiting cursor for
+	  wxplot tools
+
+2015-10-27 17:40  neteler
+
+	* raster/r.regression.line/main.c,
+	  raster/r.regression.line/r.regression.line.html,
+	  raster/r.regression.multi/main.c,
+	  raster/r.regression.multi/r.regression.multi.html,
+	  scripts/d.correlate/d.correlate.html,
+	  scripts/d.correlate/d_correlate_plot.png: d.correlate manual:
+	  screenshot added; r.regression.line, r.regression.multi: keyword
+	  and man crosslinks added
+
+2015-10-27 15:45  neteler
+
+	* raster/r.external.out/r.external.out.html,
+	  raster/r.external/r.external.html: r.external, r.external.out
+	  manual: minor text improvements
+
+2015-10-27 15:39  neteler
+
+	* vector/v.net/v.net.html: v.net manual: minor text improvements
+
+2015-10-27 11:44  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: fix when DB connection
+	  is not defined
+
+2015-10-27 01:26  wenzeslaus
+
+	* raster/r.in.lidar/main.c, raster/r.in.lidar/string_list.c:
+	  r.in.lidar: move clean of list of files (fixes r66601)
+	  
+	  List of files dealloc at the end, not inside the loops.
+	  Also use standard library for string copy instead of
+	  custom code marked by valgrind as wrong.
+	  
+	  Change done message to tell more.
+
+2015-10-26 15:49  neteler
+
+	* man/build_html.py: man: fix uppercase for topic_GUI.html
+
+2015-10-26 13:42  neteler
+
+	* raster/r.regression.line/r.regression.line.html:
+	  r.regression.line manual: update example to NC dataset; HTML
+	  cosmetics
+
+2015-10-26 13:30  neteler
+
+	* gui/wxpython/wxplot/scatter.py: wx scatterplot: update
+	  r.regression.line call
+
+2015-10-26 11:55  huhabla
+
+	* scripts/v.rast.stats/testsuite,
+	  scripts/v.rast.stats/testsuite/test_v_rast_stats.py,
+	  scripts/v.rast.stats/v.rast.stats.py: Added gunittest for
+	  v.rast.stats, removed the "-g" for table output from r.univar.
+
+2015-10-26 11:51  huhabla
+
+	* raster/r.univar/r.univar_main.c, raster/r.univar/stats.c,
+	  raster/r.univar/testsuite/test_r_univar.py: Fixed zone map region
+	  bug, introduced with the -r
+	  flag for map specific regions.
+	  Modified the output of the -g flag in case of zones. Now the
+	  shell
+	  style is consistent. Instead of "\nzone num cat\n\n" ->
+	  "zone=num;cat"
+	  is printed to stdout.
+
+2015-10-26 04:18  wenzeslaus
+
+	* raster/r.in.lidar/info.c, raster/r.in.lidar/local_proto.h,
+	  raster/r.in.lidar/main.c, raster/r.in.lidar/projection.c,
+	  raster/r.in.lidar/string_list.c: r.in.lidar: read multiple LAS
+	  files specified in a text file [news]
+	  
+	  Printing and projection check is simply repeated for multiple
+	  files.
+	  
+	  guisection Required and part of Optional moved to Input and
+	  Output.
+	  input option preserved as single file input and made binary.
+	  
+	  Related code in main moved together. Files open (and closed) as
+	  needed.
+	  Files iterated on the level of points, so still writting the
+	  raster
+	  just once.
+	  
+	  Custom resolution and data-based extent supported. Base raster
+	  segment reading fixed for the case of using current region.
+	  Data-based extent is still limited by the current region
+	  when base raster is used unless base raster resolution flag
+	  is used.
+	  
+	  Follows refactoring in r66593, r66594, r66595 and r66596.
+	  
+	  Individual file extents could be preserved to avoid reading the
+	  files for some row groups. Alternativelly, segement-based
+	  reading and writting could be used.
+
+2015-10-25 08:02  martinl
+
+	* vector/v.external/main.c: v.external compile error --without-gdal
+	  --with-postgres (#2779)
+
+2015-10-25 03:55  wenzeslaus
+
+	* raster/r.in.lidar/filters.c, raster/r.in.lidar/filters.h,
+	  raster/r.in.lidar/local_proto.h, raster/r.in.lidar/main.c:
+	  r.in.lidar: separate class and return filters
+
+2015-10-25 03:42  wenzeslaus
+
+	* raster/r.in.lidar/main.c, raster/r.in.lidar/point_binning.c,
+	  raster/r.in.lidar/point_binning.h: r.in.lidar: separate binning
+	  code, split to functions
+
+2015-10-25 03:10  wenzeslaus
+
+	* raster/r.in.lidar/info.c, raster/r.in.lidar/local_proto.h,
+	  raster/r.in.lidar/main.c, raster/r.in.lidar/projection.c:
+	  r.in.lidar: move info and projection code to separate files
+
+2015-10-25 02:52  wenzeslaus
+
+	* raster/r.in.lidar/local_proto.h, raster/r.in.lidar/main.c,
+	  raster/r.in.lidar/rast_segment.c,
+	  raster/r.in.lidar/rast_segment.h, raster/r.in.lidar/support.c:
+	  r.in.lidar: separate code for base raster
+	  
+	  But leaving the two options (row array and segment) in the main
+	  code.
+
+2015-10-25 02:29  wenzeslaus
+
+	* raster/r.in.lidar/main.c: r.in.lidar: free base raster after main
+	  (pass) loop (fixes r66094 and r66151)
+
+2015-10-24 22:20  martinl
+
+	* lib/raster3d/test/test_put_get_value_large_file.c,
+	  raster/r.carve/enforce_ds.c, vector/v.cluster/main.c,
+	  vector/v.external.out/format.c, vector/v.net/turntable.c: add
+	  missing headers (compiled without GDAL)
+
+2015-10-24 16:45  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py: wxGUI/nviz: fix coloring
+	  isosurfaces, broken in r64301
+
+2015-10-23 21:30  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxGUI/nviz: fix selecting 3D raster
+
+2015-10-23 18:41  annakrat
+
+	* gui/wxpython/core/workspace.py: wxGUI: fix loading workspace on
+	  Windows when workspace was saved when map window is minimized
+
+2015-10-22 22:21  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fi.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ko.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: Various
+	  typo fixes, part 2 (#2776)
+
+2015-10-22 10:37  huhabla
+
+	* temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.vect.univar/t.vect.univar.py: temporal modules: Added
+	  file based output to t.vect.univar
+
+2015-10-22 10:14  huhabla
+
+	* temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.rast3d.univar/testsuite/test.t.rast3d.univar.sh,
+	  temporal/t.rast3d.univar/testsuite/test_univar.py: temporal
+	  modules: Added output option to t.rast3d.univar and new python
+	  tests
+
+2015-10-22 09:48  huhabla
+
+	* lib/python/temporal/univar_statistics.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast.univar/testsuite/test.t.rast.univar.sh,
+	  temporal/t.rast.univar/testsuite/test_univar.py: temporal
+	  framework: Added output and region flag to t.rast.univar
+
+2015-10-21 22:44  martinl
+
+	* scripts/v.krige/v.krige.html: partially revert r66567
+
+2015-10-21 22:30  martinl
+
+	* gui/wxpython/docs/wxGUI.iscatt.html,
+	  gui/wxpython/iscatt/controllers.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/tplot/g.gui.tplot.py,
+	  lib/gis/parser_standard_options.c, lib/init/grass7.html,
+	  lib/python/docs/src/gunittest_testing.rst,
+	  lib/vector/Vlib/dgraph.h, lib/vector/Vlib/write_nat.c,
+	  lib/vector/vectorlib.dox, lib/vector/vectorlib_lists.dox,
+	  lib/vector/vectorlib_pg.dox, mswindows/env.bat,
+	  mswindows/osgeo4w/env.bat.tmpl, scripts/r.in.wms/srs.py,
+	  scripts/v.import/v.import.py, scripts/v.krige/v.krige.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.what/t.rast.what.py,
+	  vector/v.in.ogr/v.in.ogr.html,
+	  vector/v.out.postgis/v.out.postgis.html,
+	  vector/v.select/v.select.html: Various typo fixes (#2776)
+
+2015-10-21 20:56  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix r66564 for GDAL < 2.0
+
+2015-10-21 20:26  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr not supporting OFTInteger64
+	  field type (#2769)
+	  add support also for Integer64List
+
+2015-10-21 14:13  martinl
+
+	* db/drivers/dbf/column.c, db/drivers/ogr/select.c,
+	  db/drivers/postgres/db.c, imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/cp.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/target.c,
+	  imagery/i.ortho.photo/lib/camera.c,
+	  imagery/i.ortho.photo/lib/conz_points.c,
+	  imagery/i.ortho.photo/lib/fopen_camera.c,
+	  imagery/i.ortho.photo/lib/init_info.c,
+	  imagery/i.ortho.photo/lib/m_mult.c,
+	  imagery/i.ortho.photo/lib/open_camera.c,
+	  imagery/i.ortho.photo/lib/ref_points.c, imagery/i.rectify/cp.c,
+	  imagery/i.rectify/target.c, raster/r.external/proj.c,
+	  raster/r.flow/mem.h, raster/r.in.gdal/main.c,
+	  raster/r.in.lidar/main.c, raster/r.in.xyz/main.c,
+	  raster/r.profile/main.c, raster/r.quant/read_rules.c,
+	  raster/r.random.surface/init.c, raster/r.reclass/main.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.to.vect/main.c, raster/r.to.vect/util.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.retile/main.c,
+	  raster3d/r3.to.rast/main.c, vector/v.in.ascii/main.c,
+	  vector/v.in.ascii/points.c, vector/v.in.lidar/main.c,
+	  vector/v.in.ogr/main.c, vector/v.net.allpairs/main.c,
+	  vector/v.net.centrality/main.c, vector/v.net.components/main.c,
+	  vector/v.net.distance/main.c, vector/v.net.flow/main.c,
+	  vector/v.net.path/path.c, vector/v.net.timetable/main.c,
+	  vector/v.net/main.c, vector/v.out.postgis/create.c,
+	  vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/main.c, vector/v.random/main.c,
+	  vector/v.rectify/cp.c, vector/v.rectify/target.c,
+	  vector/v.surf.rst/main.c, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/vector.c, vector/v.what.rast/main.c,
+	  vector/v.what.rast3/main.c: grass-7.0.1 fails to build when
+	  compiled with -Werror=format-security (#2773)
+
+2015-10-21 13:15  neteler
+
+	* lib/python/docs/Makefile, lib/python/docs/conf.py: sphinx Python
+	  lib docs: fix language definition for 'make libpythonlatexpdf'
+
+2015-10-21 13:00  huhabla
+
+	* temporal/t.rast.accumulate/t.rast.accumulate.py: temporal
+	  modules: Fixed t.rast.accumulate interface
+
+2015-10-21 12:40  huhabla
+
+	* temporal/t.rast.accumulate/testsuite/data,
+	  temporal/t.rast.accumulate/testsuite/test.t.rast.accumulate.sh,
+	  temporal/t.rast.accumulate/testsuite/test_accumulation.py:
+	  temporal modules: Converted bash test of t.rast.accumulate into
+	  Python gunittest
+
+2015-10-21 12:01  huhabla
+
+	* raster/r.univar/testsuite/test_r_univar.py: Added module fail
+	  test
+
+2015-10-21 11:18  huhabla
+
+	* temporal/t.list/t.list.py,
+	  temporal/t.merge/testsuite/test.t.merge.sh,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py,
+	  temporal/t.rast3d.list/testsuite/test.t.rast3d.list.sh,
+	  temporal/t.vect.algebra/testsuite/test_vector_algebra.py,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.sh: temporal
+	  modules: Fixed several wrong t.register calls in the module tests
+
+2015-10-21 10:16  huhabla
+
+	* lib/temporal/lib/connect.c: temporal library: Ignore the warning
+	  of missing mapset ownership
+
+2015-10-21 10:09  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py:
+	  temporal framework: Fixed several tests that were using wrong
+	  t.register calls
+
+2015-10-21 10:07  huhabla
+
+	* lib/python/pygrass/rpc/base.py: Better error message for test
+	  cases
+
+2015-10-21 09:50  huhabla
+
+	* raster/r.univar/globals.h, raster/r.univar/r.univar_main.c,
+	  raster/r.univar/testsuite,
+	  raster/r.univar/testsuite/test_r_univar.py: Added raster region
+	  flag "-r" to use the native region
+	  and resolution of a raster map, independent from the
+	  current region settings. Added tests.
+
+2015-10-20 11:16  marisn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: r.mapcalc documentation update:
+	  "Using the same map for input and output results in undefined
+	  behaviour"
+	  https://lists.osgeo.org/pipermail/grass-dev/2011-July/054983.html
+
+2015-10-19 22:15  huhabla
+
+	* lib/python/temporal/temporal_raster_base_algebra.py: temporal
+	  framework: Fixed bug in algebra expression that contains temporal
+	  topological statements in the if section
+
+2015-10-19 22:13  huhabla
+
+	* lib/python/pygrass/rpc/__init__.py,
+	  lib/python/pygrass/rpc/base.py: pygrass rpc: Better error
+	  handling in rpc server
+
+2015-10-19 21:26  neteler
+
+	* doc/howto_release.txt: howto_release.txt: URL update
+
+2015-10-19 20:45  neteler
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: r3.mapcalc manual: partial sync
+	  to r.mapcalc manual; HTML cosmetics
+
+2015-10-19 20:09  neteler
+
+	* temporal/t.register/t.register.html: t.register manual: HTML
+	  cosmetics for r66524 (following
+	  https://trac.osgeo.org/grass/wiki/Submitting/Docs#HTMLPages)
+
+2015-10-19 19:47  neteler
+
+	* scripts/r.import/r.import.html, scripts/r.import/r.import.py,
+	  scripts/v.import/v.import.html: r.import manual: example added;
+	  v.import manual: minor cleanup
+
+2015-10-19 16:55  marisn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: r.mapcalc documentation: output
+	  type of rand depends on input type
+
+2015-10-19 01:03  huhabla
+
+	* lib/python/temporal/register.py,
+	  lib/python/temporal/testsuite/test_register_function.py: temporal
+	  framework: Better error handling in register function
+
+2015-10-18 14:05  huhabla
+
+	* temporal/t.register/t.register.html,
+	  temporal/t.register/t.register.py: temporal modules: t.register
+	  documentation update about increment and -i flag
+
+2015-10-18 08:55  neteler
+
+	* scripts/i.pansharpen/i.pansharpen.html,
+	  scripts/v.db.join/v.db.join.html, vector/v.net/v.net.html:
+	  manual: fix broken links; HTML cosmetics
+
+2015-10-16 10:32  martinl
+
+	* scripts/r.import/r.import.py: r.import: input is binary file
+
+2015-10-16 08:09  neteler
+
+	* scripts/r.import/r.import.py: r.import: button for import (like
+	  r.in.gdal); properly align to requested resolution
+
+2015-10-16 08:05  lucadelu
+
+	* scripts/v.import/v.import.py: v.import: added snap option,
+	  default 1e-13
+
+2015-10-15 16:18  annakrat
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: synchronize gui with
+	  r.unpack
+
+2015-10-15 14:02  wenzeslaus
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in: dox: add G_matvec_ related
+	  defines
+	  
+	  This adds previously disabled G_matvec_ functions to the C
+	  programming documentation.
+
+2015-10-15 02:40  annakrat
+
+	* gui/wxpython/vnet/dialogs.py: wxGUI/vnet: fix known problem with
+	  StaticBoxes on Mac
+
+2015-10-14 03:34  annakrat
+
+	* gui/wxpython/core/treemodel.py,
+	  gui/wxpython/datacatalog/catalog.py,
+	  gui/wxpython/datacatalog/frame.py,
+	  gui/wxpython/datacatalog/tree.py,
+	  gui/wxpython/gui_core/treeview.py: wxGUI/catalog: major
+	  refactoring
+
+2015-10-13 09:54  neteler
+
+	* scripts/g.extension/g.extension.html: g.extension manual: explain
+	  proxy usage
+
+2015-10-13 02:25  wenzeslaus
+
+	* include/gmath.h, include/la.h: remove la.h from standard gmath
+	  header
+	  
+	  Now we can easilly indentify modules which depend on la.h and its
+	  dependencies.
+	  We fail in la.h if the dependencies are not fulfilled.
+	  This shouln't require any additional work in modules except for
+	  including
+	  la.h unless they want to use la.h conditionally.
+
+2015-10-13 02:07  annakrat
+
+	* scripts/r.import/r.import.html, scripts/r.import/r.import.py:
+	  r.import: add r.in.gdal's -l flag
+
+2015-10-12 11:10  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in: Remove
+	  wxWidgets support
+
+2015-10-12 10:31  glynn
+
+	* visualization/Makefile, visualization/wximgview: Remove wximgview
+
+2015-10-12 08:09  lucadelu
+
+	* lib/init/grass.py: init/grass.py: check if owner mapset is valid
+
+2015-10-12 07:11  neteler
+
+	* lib/python/pygrass/vector/table.py: pygrass: msg cosmetics
+
+2015-10-12 06:22  zarch
+
+	* lib/python/pygrass/vector/testsuite/test_geometry_attrs.py:
+	  pygrass: Add tests for geometry attrs (set/get item methods)
+
+2015-10-12 06:19  zarch
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: Attrs support
+	  multiple columns get/set
+
+2015-10-12 06:18  zarch
+
+	* lib/python/pygrass/vector/table.py: pygrass: Table.execute add
+	  values in the exception message
+
+2015-10-11 04:19  wenzeslaus
+
+	* raster/r.in.lidar/main.c, raster/r.in.lidar/testsuite,
+	  raster/r.in.lidar/testsuite/data,
+	  raster/r.in.lidar/testsuite/data/points.las,
+	  raster/r.in.lidar/testsuite/data/points.txt,
+	  raster/r.in.lidar/testsuite/test_base_resolution.sh: r.in.lidar:
+	  use base raster with its resolution
+	  
+	  Computational region is used by default for input and output,
+	  when flag -d is enabled,
+	  input follows base raster resolution (and also extent, this is
+	  suboptimal).
+	  
+	  Adding also Bash test with small artificial data for different
+	  resolutions
+	  in combination with base raster.
+	  
+	  This commit follows r66094 and r66151.
+
+2015-10-10 20:01  wenzeslaus
+
+	* raster/r.random.cells/indep.c, raster/r.random.cells/init.c,
+	  raster/r.random.cells/main.c,
+	  raster/r.random.cells/r.random.cells.html,
+	  raster/r.random.cells/r_random_cells.png,
+	  raster/r.random.cells/ransurf.h, raster/r.random.cells/testsuite,
+	  raster/r.random.cells/testsuite/test_random_cells.py:
+	  r.random.cells: generate only limited number of cells [news]
+	  
+	  Also improve documentation with a picture and example of creating
+	  vector points.
+	  
+	  Add test for old and new functionality.
+
+2015-10-10 15:13  wenzeslaus
+
+	* include/defs/vector.h: vlib: add missing declaration for 2D point
+	  in box, fixes r66459 (r66460 broke compilation)
+
+2015-10-10 00:02  wenzeslaus
+
+	* vector/v.distance/distance.c, vector/v.distance/main.c,
+	  vector/v.distance/testsuite,
+	  vector/v.distance/testsuite/test_areas_points.py: v.distance: use
+	  bbox in 2D and 3D accordingly (see #2734)
+	  
+	  Check if we are considering z and use appropriate point in box
+	  function. This should
+	  fix #2734 where point inside an area is classified as outsie of
+	  that area when point
+	  3D but the area is 2D. The expected behavior is reduction to 2D.
+	  
+	  The test works with this commit but its 3D part fails with code
+	  prior to this commit.
+	  
+	  This commit depens on r66459 which adds Vect_point_in_box_2d()
+	  function.
+
+2015-10-09 23:51  wenzeslaus
+
+	* lib/vector/Vlib/box.c, lib/vector/Vlib/testsuite,
+	  lib/vector/Vlib/testsuite/test_vlib_box.py: vlib: add 2D version
+	  of point in box function
+	  
+	  Include also ctypes-based test and documentation of both the 2D
+	  and the original 3D version.
+	  
+	  The 2D version has suffix _2d. There are some functions in the
+	  lib already which are using this style.
+	  The 3D version has same name for compatibility reasons. There are
+	  some other functions which are just 2D
+	  these might need _3d versions one day.
+	  
+	  Alternative or an additional solution would be one function which
+	  would either use additional variable
+	  like with_z or it would accept coordinates as pointers so that z
+	  could be NULL pointer.
+	  This could make some caller code shorter.
+
+2015-10-09 22:09  huhabla
+
+	* lib/python/temporal/space_time_datasets.py: temporal framework:
+	  Added relative time stamp doc-tests
+
+2015-10-09 21:47  huhabla
+
+	* lib/raster/rast_to_img_string.c: Fixed documentation
+
+2015-10-09 18:15  annakrat
+
+	* scripts/v.import/v.import.py: v.import: pep8 cleanup, fix copy
+	  and paste bug in error message
+
+2015-10-09 18:04  annakrat
+
+	* scripts/v.import/v.import.py: v.import: add guisection
+
+2015-10-09 18:00  annakrat
+
+	* scripts/r.import/r.import.py, scripts/v.import/v.import.py:
+	  v/r.import: fix typo in description
+
+2015-10-09 17:56  annakrat
+
+	* scripts/v.import/v.import.html, scripts/v.import/v.import.py:
+	  v.import: synchronize extent option name with r.import
+
+2015-10-09 16:45  wenzeslaus
+
+	* raster/r.patch/main.c, raster/r.patch/r.patch.html,
+	  raster/r.patch/testsuite,
+	  raster/r.patch/testsuite/test_rpatch_artificial.py: r.patch: test
+	  and doc improvements
+
+2015-10-09 15:49  annakrat
+
+	* scripts/r.import/r.import.py: r.import: fix temporary vector
+	  handling (need to remove it for multi bands import, cleanup),
+	  improve messages about resolution, with e flag report for all
+	  bands
+
+2015-10-09 14:29  annakrat
+
+	* lib/gis/parser.c: fix error output for GUI - misplaced
+	  translation, wrong format string (co-author: wenzeslaus)
+
+2015-10-08 02:11  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/toolbars.py: wxGUI/vnet: fix adding points
+	  because of unregistered handler (author: turek)
+
+2015-10-07 20:19  turek
+
+	* gui/wxpython/vnet/vnet_data.py: wx.vnet points list fixes
+
+2015-10-07 08:15  neteler
+
+	* scripts/v.what.vect/v.what.vect.html, vector/v.distance/main.c,
+	  vector/v.distance/v.distance.html: v.distance: tell user if input
+	  is 3D (esp. relevant for v.what.vect)
+
+2015-10-06 15:24  neteler
+
+	* temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.import/t.vect.import.html: temporal manual:
+	  filter example added; some cross-page standardization
+
+2015-10-06 14:30  martinl
+
+	* vector/v.mkgrid/main.c, vector/v.mkgrid/write_grid.c: v.mkgrid:
+	  finish progress (G_percent) info, be less verbose about progress
+
+2015-10-06 14:08  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: check for
+	  MASK only in the current mapset
+
+2015-10-04 12:09  martinl
+
+	* lib/python/pygrass/utils.py: pythonlib: check also libname in
+	  get_lib_path()
+
+2015-10-02 18:27  hcho
+
+	* raster/r.reclass/r.reclass.html: r.reclass: Remove duplicate
+	  words from the manual
+
+2015-10-02 17:38  hcho
+
+	* raster/r.thin/io.c, raster/r.thin/main.c: r.thin: Remove an
+	  unused variable, Update the copyright block
+
+2015-10-02 17:35  hcho
+
+	* raster/r.thin/io.c: r.thin: Support reclassified raster maps
+
+2015-10-02 14:44  martinl
+
+	* general/g.proj/main.c: g.proj: fix compilation issue when OGR is
+	  disabled
+
+2015-10-02 14:35  martinl
+
+	* lib/raster/open.c: libgis: include <errno.h> explicitly
+
+2015-10-01 21:06  neteler
+
+	* db/db.login/db.login.html, vector/v.db.connect/v.db.connect.html:
+	  db.login + v.db.connect manuals: added where connection info is
+	  stored
+
+2015-10-01 16:11  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: check
+	  content-type of downloaded addons file (must be a zip file)
+
+2015-10-01 10:23  neteler
+
+	* vector/v.in.db/v.in.db.html: v.in.db manual: Open Document
+	  spreadsheet added
+
+2015-10-01 10:19  neteler
+
+	* scripts/v.krige/v.krige.html: v.krige manual: updated to rgrass7
+	  (contributed by pvanbosgeo)
+
+2015-10-01 01:55  wenzeslaus
+
+	* vector/v.decimate, vector/v.decimate/Makefile,
+	  vector/v.decimate/count_decimation.c,
+	  vector/v.decimate/count_decimation.h,
+	  vector/v.decimate/grid_decimation.c,
+	  vector/v.decimate/grid_decimation.h, vector/v.decimate/main.c,
+	  vector/v.decimate/v.decimate.html,
+	  vector/v.decimate/v_decimate_count.png,
+	  vector/v.decimate/v_decimate_grid_cat.png,
+	  vector/v.decimate/v_decimate_original.png: v.decimate: grid and
+	  count based decimation [news]
+
+2015-09-30 20:12  neteler
+
+	* scripts/v.krige/v.krige.py: v.krige: update to rgrass7
+	  (contributed by pvanbosgeo)
+
+2015-09-30 19:11  neteler
+
+	* imagery/i.segment, imagery/i.segment/i.segment.html,
+	  imagery/i.segment/i_segment_lsat7_pan.png,
+	  imagery/i.segment/i_segment_lsat7_seg_min100.png,
+	  imagery/i.segment/i_segment_lsat7_seg_min5.png,
+	  imagery/i.segment/i_segment_ortho_segs_final.jpg,
+	  imagery/i.segment/i_segment_ortho_segs_l1.jpg,
+	  imagery/i.segment/i_segment_ortho_segs_l2_l5.jpg,
+	  imagery/i.segment/ortho_segs_final.jpg,
+	  imagery/i.segment/ortho_segs_l1.jpg,
+	  imagery/i.segment/ortho_segs_l2_l5.jpg: i.segment manual:
+	  Landsat7 example added
+
+2015-09-30 16:42  hcho
+
+	* display/d.rast.arrow/d.rast.arrow.html: d.rast.arrow: Remove
+	  trailing spaces
+
+2015-09-30 16:37  hcho
+
+	* display/d.rast.arrow/d.rast.arrow.html,
+	  display/d.rast.arrow/main.c: d.rast.arrow: Added the Drainage
+	  aspect type (r.watershed drainage= output)
+
+2015-09-30 02:31  wenzeslaus
+
+	* raster/r.in.lidar/main.c: r.in.lidar: more gui sections
+
+2015-09-30 01:07  wenzeslaus
+
+	* vector/v.random/main.c: v.random: use unsigned long and strtoul
+	  for number of points
+
+2015-09-28 21:48  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation: prevent
+	  drawing empty bitmap which causes problems with wxGTK3
+
+2015-09-28 10:55  neteler
+
+	* locale/po/grasslibs_fr.po: Sylvain Maillard: FR translation
+	  cont'ed
+
+2015-09-28 10:43  neteler
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html: t.rast.aggregate
+	  manual: more examples (contributed by Veronica Andreo)
+
+2015-09-28 10:41  neteler
+
+	* contributors_extra.csv: t.rast.aggregate manual: more examples
+	  (contributed by Veronica Andreo)
+
+2015-09-28 10:40  neteler
+
+	* contributors_extra.csv: contributors extra: some countries added
+
+2015-09-27 20:12  annakrat
+
+	* gui/wxpython/vdigit/g.gui.vdigit.py: wxGUI/vdigit: fix standalone
+	  tool initialization #2746
+
+2015-09-27 12:51  neteler
+
+	* temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py: temporal: fix typo
+	  in msg
+
+2015-09-27 11:10  neteler
+
+	* temporal/t.remove/t.remove.html, temporal/t.remove/t.remove.py:
+	  t.remove: msgs added to tell user what it does; enhance manual
+
+2015-09-27 02:12  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: check cat counter only when
+	  actually used
+	  
+	  This fixes 66344 which ignored r66343. Also fixes 66345 which
+	  reported
+	  unrelated warning when 66344 actually happened.
+
+2015-09-27 01:59  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: count imported points
+	  explicitly
+	  
+	  This avoids limits imposed by header reading functions in libLAS.
+	  Assuming that the libLAS reading functions will actually still
+	  work.
+	  Ignoring the issue for messages before processing, percentage and
+	  info.
+
+2015-09-27 01:30  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: catch case when we run out
+	  of categories
+	  
+	  We should be able to import more points then we can have unique
+	  categories.
+	  This protects against (signed) integer overflow, ends as if
+	  GV_CAT_MAX would
+	  be an import limit and reports a warning.
+	  
+	  This also fixes wrong format string in case of unsigned long
+	  implementation.
+
+2015-09-27 00:14  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: store return and class as
+	  cats or store no cats
+	  
+	  If requested, return, class and generated ID will be stored in
+	  separate layers
+	  specified by the user. ID is stored by default (original
+	  behavior).
+	  Storing of IDs can be disabled by -c flag. This offers a slight
+	  speed up
+	  comparing to just not storing the attributes.
+	  
+	  Using this one can get return and class to GRASS without
+	  creating the attribute table.
+
+2015-09-26 23:23  neteler
+
+	* temporal/t.rast.series/t.rast.series.py: t.rast.series: inform
+	  user then -z flag is switched on (much slower)
+
+2015-09-26 14:18  neteler
+
+	* lib/python/temporal/stds_import.py: t.rast.import: report
+	  progress to the user
+
+2015-09-26 13:14  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix LayersList import
+	  (forms)
+
+2015-09-26 13:12  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: remove unused import
+	  (dialogs)
+
+2015-09-26 12:42  martinl
+
+	* gui/wxpython/modules/import_export.py: wxGUI: switch back from
+	  r.imprort/v.import to r.in.gdal/v.in.ogr
+
+2015-09-25 13:48  neteler
+
+	* gui/wxpython/vnet/dialogs.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fi.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ro.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fi.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ko.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po,
+	  scripts/v.what.strds/v.what.strds.py, vector/v.net/turntable.c:
+	  fix msg grammar
+
+2015-09-25 13:17  neteler
+
+	* raster/r.timestamp/main.c, raster3d/r3.timestamp/main.c,
+	  temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py, temporal/t.merge/t.merge.py,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.algebra/t.rast.algebra.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.contour/t.rast.contour.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.to.vect/t.rast.to.vect.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast.what/t.rast.what.py,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py, temporal/t.remove/t.remove.py,
+	  temporal/t.rename/t.rename.py, temporal/t.sample/t.sample.py,
+	  temporal/t.select/t.select.py, temporal/t.shift/t.shift.py,
+	  temporal/t.snap/t.snap.py, temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.algebra/t.vect.algebra.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py,
+	  vector/v.timestamp/main.c: temporal: add 'time' keyword for index
+
+2015-09-25 11:08  neteler
+
+	* temporal/temporalintro.html: temporal manual: reference
+	  v.what.strds
+
+2015-09-25 11:07  neteler
+
+	* temporal/t.rast.what/t.rast.what.html,
+	  temporal/t.vect.what.strds/t.vect.what.strds.html: temporal
+	  manual: reference v.what.strds
+
+2015-09-25 10:59  neteler
+
+	* scripts/v.what.strds/v.what.strds.py: v.what.strds: fix English
+	  in msgs; gcopy
+
+2015-09-25 10:32  lucadelu
+
+	* scripts/v.what.strds/v.what.strds.py: add capabilities to add
+	  columns and values in the input vector file
+
+2015-09-25 09:19  huhabla
+
+	* lib/python/temporal/aggregation.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py:
+	  temporal framework: Fixed bug in t.rast.aggregate that does not
+	  wait for processes in the process queue.
+	  Now a warning is printed if the file limit is exceeded and the z
+	  flag is used in r.series.
+	  A new option was added to t.rast.aggregate to set the file limit.
+
+2015-09-24 13:48  martinl
+
+	* man/parser_standard_options.py: attempt to fix travis
+	  parser_standard_options.py issue (thanks to Ivan Mincik)
+
+2015-09-24 12:36  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation: attempt to
+	  fix initialization on wxgtk3
+
+2015-09-24 07:22  huhabla
+
+	* temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.series/testsuite,
+	  temporal/t.rast.series/testsuite/test_series.py: temporal
+	  modules: Fixed usage of the "z" flag and added tests
+
+2015-09-24 05:04  ychemin
+
+	* gui/wxpython/location_wizard/wizard.py: fixed bug for planetary
+	  ellipsoid access
+
+2015-09-23 21:39  neteler
+
+	* display/d.legend/main.c, display/d.vect.thematic/main.c:
+	  d.legend, d.vect.thematic: add keyword
+
+2015-09-23 14:35  huhabla
+
+	* lib/python/temporal/extract.py: temporal framework: Fixed stds
+	  name replacement to avoid conflicts with basenames
+
+2015-09-23 13:58  neteler
+
+	* lib/python/temporal/register.py: temporal revert r66278 for
+	  t.register register.py
+
+2015-09-23 07:43  lucadelu
+
+	* man/Makefile: try to fix travis ci bug: use quote to protect the
+	  options
+
+2015-09-23 07:23  lucadelu
+
+	* man/Makefile: try to fix travis ci bug
+
+2015-09-23 02:46  annakrat
+
+	* scripts/r.import/r.import.py: r.import: fix import in latlon
+	  location
+
+2015-09-22 12:04  neteler
+
+	* imagery/i.cluster/i.cluster.html,
+	  temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.list/t.list.html: manual: minor tweaks
+
+2015-09-22 11:34  neteler
+
+	* lib/python/temporal/register.py: t.register: assume current
+	  mapset if not specified (as for other t.*)
+
+2015-09-22 11:30  neteler
+
+	* lib/python/temporal/open_stds.py, locale/po/grasslibs_ar.po,
+	  locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_el.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fi.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po: temporal: fix msg typo
+
+2015-09-22 08:10  neteler
+
+	* temporal/t.connect/t.connect.html, temporal/t.info/t.info.html,
+	  temporal/t.merge/t.merge.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.what/t.rast.what.html,
+	  temporal/t.register/t.register.html,
+	  temporal/t.sample/t.sample.html, temporal/t.shift/t.shift.html,
+	  temporal/t.vect.db.select/t.vect.db.select.html,
+	  temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.extract/t.vect.extract.html,
+	  temporal/t.vect.import/t.vect.import.html,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.html,
+	  temporal/t.vect.univar/t.vect.univar.html,
+	  temporal/t.vect.what.strds/t.vect.what.strds.html: temporal
+	  manual: do not abbreviate parameters in man as it is confusing
+
+2015-09-21 20:49  neteler
+
+	* lib/temporal/lib/connect.c: temporal lib: clarify
+	  G_mapset_permissions2() output
+
+2015-09-21 17:01  neteler
+
+	* man/Makefile: man: attempt to fix Travis CI issue with relative
+	  path
+
+2015-09-21 15:54  neteler
+
+	* vector/v.kernel/main.c: v.kernel: always show target raster
+	  resolution; fix dangling curly braces -Wdangling-else
+
+2015-09-21 11:15  mlennert
+
+	* lib/python/temporal/space_time_datasets.py: added missing import
+	  of array library (fix #2688)
+
+2015-09-19 04:39  lucadelu
+
+	* man/Makefile: fixed Makefile, thanks to Travis CI
+
+2015-09-19 04:17  lucadelu
+
+	* man/Makefile, man/build_html.py,
+	  man/jquery.fixedheadertable.min.js,
+	  man/parser_standard_options.css, man/parser_standard_options.js,
+	  man/parser_standard_options.py, tools/parser_standard_options.py:
+	  improved parser standard option to have a better output table,
+	  added it to Makefile; TODO add link to a GRASS manual
+
+2015-09-19 00:48  neteler
+
+	* temporal/t.info/t.info.html, temporal/t.list/t.list.html,
+	  temporal/t.merge/t.merge.html, temporal/temporalintro.html:
+	  temporal manual: explain usage of temporal databases stored in
+	  other mapsets
+
+2015-09-18 12:53  neteler
+
+	* temporal/t.rast.list/t.rast.list.html: t.rast.list manual: where
+	  example added; HTML cosmetics
+
+2015-09-18 12:05  neteler
+
+	* temporal/t.register/t.register.html: t.register manual: extend
+	  manual
+
+2015-09-18 09:07  martinl
+
+	* general/g.version/main.c: g.version: add off_t size to shell
+	  output (see
+	  https://lists.osgeo.org/pipermail/grass-dev/2015-September/076366.html)
+
+2015-09-18 01:43  annakrat
+
+	* vector/v.in.lidar/main.c: v.in.lidar: use unsigned long long for
+	  counting point counts, fixes #2472 (co-author wenzeslaus)
+
+2015-09-17 20:32  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: GRASS-Installer.nsi.tmpl:
+	  GrantOnFile => FullAccess
+
+2015-09-17 20:21  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: GRASS-Installer.nsi.tmpl:
+	  
+	  - elevate run_gmkfontcap.bat
+	  - add debug if AccessControl:GrantOnFile succeeded
+
+2015-09-16 18:41  huhabla
+
+	* temporal/t.snap/testsuite,
+	  temporal/t.snap/testsuite/test_snap.py: temporal modules: Added
+	  t.snap gunittests
+
+2015-09-16 16:24  huhabla
+
+	* temporal/t.support/t.support.py, temporal/t.support/testsuite,
+	  temporal/t.support/testsuite/test_support_str3ds.py,
+	  temporal/t.support/testsuite/test_support_strds.py,
+	  temporal/t.support/testsuite/test_support_stvds.py: temporal
+	  modules: Added python tests to t.support, added aggregation type
+	  setting
+
+2015-09-16 13:50  wenzeslaus
+
+	* lib/gis/renamed_options: v.outlier: add missing 6.4 compatibility
+	  option
+
+2015-09-15 20:10  huhabla
+
+	* lib/python/pygrass/vector/geometry.py: pygrass vector:
+	  Implemented memory management for geometries to avoid memory
+	  leaks from line_cats and line_points structures
+
+2015-09-15 14:29  neteler
+
+	* imagery/i.cluster/i.cluster.html: i.cluster manual: expanded for
+	  algorithm description
+
+2015-09-15 08:00  lucadelu
+
+	* doc/help_loc_structure.odg: added temporal dataset to location
+	  structure
+
+2015-09-15 03:05  annakrat
+
+	* gui/wxpython/datacatalog/tree.py: wxGUI/datacatalog: fix tree
+	  rendering on Windows
+
+2015-09-14 17:06  neteler
+
+	* imagery/i.pca, imagery/i.pca/i.pca.html,
+	  imagery/i.pca/i_pca_result.png: i.pca manual: screenshot added
+
+2015-09-14 16:36  neteler
+
+	* imagery/i.cluster/i.cluster.html: i.cluster manual: example fix
+
+2015-09-14 16:35  neteler
+
+	* imagery/i.maxlik, imagery/i.maxlik/i.maxlik.html,
+	  imagery/i.maxlik/i_maxlik_classes.png,
+	  imagery/i.maxlik/i_maxlik_rejection.png,
+	  imagery/i.maxlik/i_maxlik_rgb.png: i.maxlik manual: screenshots
+	  added
+
+2015-09-14 12:22  neteler
+
+	* imagery/i.ortho.photo/README: i.ortho.photo: minor notes added
+
+2015-09-14 11:32  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: temporal library:
+	  Fixed wrong check in _available_mapsets() function
+
+2015-09-14 10:22  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py, lib/python/temporal/list_stds.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra_mixed_stds.py:
+	  temporal library: Added more debug messages, added new map
+	  algebra tests, list_stds supports now user created database
+	  interfaces
+
+2015-09-14 02:49  annakrat
+
+	* gui/wxpython/core/toolboxes.py,
+	  gui/wxpython/tplot/g.gui.tplot.py: workaround some compilation
+	  problems on Mac (see #2142, #1819)
+
+2015-09-13 12:47  martinl
+
+	* vector/v.lidar.edgedetection/v.lidar.edgedetection.html:
+	  v.lidar.edgedetection: manual cosmetics (authors last)
+
+2015-09-12 22:09  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: wrong projection check when
+	  importing geometry column from table with multiple geometry
+	  columns (#2740)
+
+2015-09-12 18:50  neteler
+
+	* temporal/t.info/t.info.html: t.info manual: remark about
+	  granularity added
+
+2015-09-12 18:35  wenzeslaus
+
+	* vector/v.in.lidar/main.c: v.in.lidar: add decimation based on
+	  counting
+	  
+	  Simple decimation using skipping or preserving every n-nt,
+	  ignoring points at the beginning or limiting number of points.
+	  
+	  Four new options added to group Decimation.
+	  The rest reordered and put into groups Selection and Speed.
+
+2015-09-12 18:04  neteler
+
+	* temporal/t.list/t.list.py, temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.univar/t.vect.univar.py: temporal separator
+	  parameter: use label to re-enable standard description
+
+2015-09-12 09:38  neteler
+
+	* temporal/t.connect/t.connect.html, temporal/t.list/t.list.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.register/t.register.html,
+	  temporal/t.rename/t.rename.html, temporal/t.sample/t.sample.html,
+	  temporal/t.shift/t.shift.html: temporal manual: explain absolute
+	  and relative time; HTML cosmetics
+
+2015-09-12 09:02  neteler
+
+	* raster/r.proj/r.proj.html, vector/v.proj/v.proj.html: r.proj,
+	  v.proj manuals: references updated
+
+2015-09-11 15:06  neteler
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html: r.watershed manual:
+	  mention 'depression' parameter properly
+
+2015-09-11 02:25  annakrat
+
+	* gui/wxpython/docs/wxGUI_map_display.jpg: wxGUI: update screenshot
+	  of map window in manual
+
+2015-09-10 18:14  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: GRASS-Installer.nsi.tmpl:
+	  attempt to fix #2448
+	  make folder and file writeable before run g.mkfontcap
+	  change after g.mkfontcap run back to only readable
+
+2015-09-10 17:53  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: GRASS-Installer.nsi.tmpl:
+	  (BU) -> (S-1-5-32-545)
+	  see https://support.microsoft.com/en-us/kb/243330
+	  Well-known security identifiers in Windows operating systems
+	  SID: S-1-5-32-545
+	  Name: Users
+
+2015-09-10 14:54  neteler
+
+	* raster/r.resamp.rst/r.resamp.rst.html: r.resamp.rst manual: hint
+	  added about extent and resolution of computational region
+
+2015-09-10 10:51  neteler
+
+	* vector/v.what.rast/v.what.rast.html: v.what.rast manual: improved
+	  examples
+
+2015-09-09 18:21  neteler
+
+	* grasslib.dox, lib/rst/rstlib.dox, lib/vector/dglib/dglib.dox:
+	  progman: title cosmetics
+
+2015-09-09 03:29  wenzeslaus
+
+	* raster/r.in.lidar/Makefile, raster/r.in.lidar/main.c: r.in.lidar:
+	  use segment lib to enable different resolution for output
+	  
+	  Using Segment library is easier than implementing another
+	  segmentation
+	  similar to the existing one (based on rows); the impl. would also
+	  require
+	  way of getting the right row/col based on corrdinates.
+	  
+	  Leaving there the raster row based approach for cases when
+	  resolution
+	  of output is not set. It is faster since it does not create the
+	  segments.
+	  
+	  This fixes segfault and fatal when the resolution option was
+	  lower or
+	  higher than the current one (introduced in r66094).
+	  
+	  Deliberately not using the old formatting style.
+
+2015-09-08 16:35  neteler
+
+	* lib/init/grass7.html: grass7 manual: minor cosmetics
+
+2015-09-08 08:32  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: GRASS-Installer.nsi:
+	  SetOnFile -> GrantOnFile
+
+2015-09-08 02:45  wenzeslaus
+
+	* vector/v.lidar.correction/v.lidar.correction.html,
+	  vector/v.lidar.edgedetection/v.lidar.edgedetection.html,
+	  vector/v.lidar.edgedetection/v_lidar_edgedetection.png,
+	  vector/v.lidar.edgedetection/v_lidar_edgedetection_objects.png,
+	  vector/v.lidar.growing/v.lidar.growing.html:
+	  v.lidar.edgedetection: complete example and 2D and 3D picture
+
+2015-09-07 20:51  wenzeslaus
+
+	* grasslib.dox, lib/gis/gislib.dox, lib/rst/rst.dox,
+	  lib/rst/rstlib.dox: dox: improve index and add rst lib
+
+2015-09-07 20:46  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po: keywords cosmetics: completing r66133
+
+2015-09-07 20:11  wenzeslaus
+
+	* lib/rst/data/DESCRIPTION.DATA, lib/rst/data/dataquad.c,
+	  lib/rst/data/dataquad.h, lib/rst/interp_float/DESCRIPTION.INTERP,
+	  lib/rst/qtree/DESCRIPTION.TREE, lib/rst/qtree/qtree.c,
+	  lib/rst/qtree/qtree.h, lib/rst/rst.dox: dox: Doxygen
+	  documentation for lib rst qtree and data
+	  
+	  Using existing documentation in source code or text files plus
+	  some observations. Also creating a general library page.
+
+2015-09-07 17:28  huhabla
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/rpc/__init__.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/table.py: pygrass: Using name and
+	  mapset in the rpc module, fixed two tests, editor removed white
+	  spaces
+
+2015-09-07 08:09  martinl
+
+	* vector/v.cluster/main.c, vector/v.cluster/v.cluster.html:
+	  v.cluster: module description wording
+	  options in bold (manual cosmetics)
+
+2015-09-07 07:46  neteler
+
+	* vector/v.cluster/v_cluster_4_methods.png: v.cluster manual:
+	  shrink image to 600px width
+
+2015-09-07 04:47  wenzeslaus
+
+	* lib/rst/interp_float/DESCRIPTION.INTERP,
+	  lib/rst/interp_float/func2d.c, lib/rst/interp_float/init2d.c,
+	  lib/rst/interp_float/input2d.c, lib/rst/interp_float/interp2d.c,
+	  lib/rst/interp_float/interpf.h, lib/rst/interp_float/matrix.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/point2d.c,
+	  lib/rst/interp_float/secpar2d.c, lib/rst/interp_float/segmen2d.c,
+	  lib/rst/interp_float/vinput2d.c, lib/rst/interp_float/write2d.c:
+	  dox: Doxygen documentation for lib rst interp float
+	  
+	  Using existing documentation in source code or text files.
+	  
+	  Inline Doxygen docs seems as appropriate for paramters since
+	  already used without Doxygen
+	  but it requries slight divergence of what grass_indent would like
+	  to see.
+
+2015-09-07 04:23  wenzeslaus
+
+	* gui/wxpython/Makefile: wxGUI/toolboxes: build_modules_xml script
+	  has no validation (fixes r65199)
+
+2015-09-06 22:43  wenzeslaus
+
+	* vector/v.cluster/v.cluster.html,
+	  vector/v.cluster/v_cluster_4_methods.png: v.cluster: add image to
+	  manual
+	  
+	  make simple example primary, show how to display, add see also
+
+2015-09-06 21:34  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: temporal framework:
+	  add time stamp support in read_*_full_info() functions
+
+2015-09-06 19:21  martinl
+
+	* vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c: keywords cosmetics: Linear
+	  Reference System -> linear reference system (looks more
+	  consistent at topics page)
+
+2015-09-06 19:08  martinl
+
+	* man/build_topics.py: fix topics: allow uppercase (fix eg. GUI vs.
+	  gui topic)
+
+2015-09-06 15:32  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: update manual, 'display map'
+	  tool has been removed in r65774
+
+2015-09-06 15:12  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/datacatalog,
+	  gui/wxpython/datacatalog/Makefile,
+	  gui/wxpython/datacatalog/__init__.py,
+	  gui/wxpython/datacatalog/catalog.py,
+	  gui/wxpython/datacatalog/frame.py,
+	  gui/wxpython/datacatalog/g.gui.datacatalog.html,
+	  gui/wxpython/datacatalog/g.gui.datacatalog.py,
+	  gui/wxpython/datacatalog/tree.py,
+	  gui/wxpython/docs/wxGUI.components.html,
+	  gui/wxpython/lmgr/datacatalog.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: data catalog now also available as standalone tool
+	  (g.gui.datacatalog)
+	  note: the tool needs a lot of improvements, please free to
+	  contribute!
+
+2015-09-06 13:05  neteler
+
+	* raster/r.resamp.filter/r.resamp.filter.html: r.resamp.filter
+	  manual: expanded based on Glynn's comments in
+	  https://trac.osgeo.org/grass/ticket/1401#comment:8
+
+2015-09-06 02:44  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: temporal framework:
+	  Added new function to C-library RPC Server that are based on
+	  PyGRASS to receive full raster and vector map layer info
+
+2015-09-06 02:43  huhabla
+
+	* lib/python/pygrass/raster/history.py,
+	  lib/python/pygrass/rpc/__init__.py,
+	  lib/python/pygrass/vector/abstract.py: pygrass rpc,raster,vector:
+	  Added try/except/finally to RPC server functions
+	  and date conversion functions
+
+2015-09-05 16:13  neteler
+
+	* doc/README, doc/gi_3dview.jpg, doc/gi_c.jpg,
+	  doc/gi_cartography.jpg, doc/gi_database.jpg, doc/gi_display.jpg,
+	  doc/gi_gallery.jpg, doc/gi_general.jpg, doc/gi_gui.jpg,
+	  doc/gi_imagery.jpg, doc/gi_misc.jpg, doc/gi_python.jpg,
+	  doc/gi_raster.jpg, doc/gi_raster3d.jpg, doc/gi_temporal.jpg,
+	  doc/gi_vector.jpg, doc/grass_database.svg,
+	  general/g.list/global.h, general/g.list/list.c,
+	  general/g.remove/construct_pattern.c,
+	  general/g.remove/testsuite/test_g_remove.py,
+	  general/g.rename/testsuite/test_overwrite.py,
+	  gui/images/startup_banner.txt,
+	  gui/wxpython/core/testsuite/toolboxes.sh,
+	  gui/wxpython/docs/wxgui_sphinx/Makefile,
+	  gui/wxpython/docs/wxgui_sphinx/conf.py,
+	  gui/wxpython/docs/wxgui_sphinx/make.bat,
+	  gui/wxpython/docs/wxgui_sphinx/src/index.rst,
+	  gui/wxpython/docs/wxgui_sphinx/src/wxgui_libraries.rst,
+	  gui/wxpython/docs/wxgui_sphinx/src/wxgui_toolboxes.rst,
+	  gui/wxpython/docs/wxgui_sphinx/src/wxgui_tools.rst,
+	  imagery/i.albedo/bb_alb_landsat8.c,
+	  imagery/i.modis.qc/mod09CMGa.c, imagery/i.modis.qc/mod09CMGc.c,
+	  imagery/i.modis.qc/mod09CMGd.c, imagery/i.modis.qc/mod09CMGe.c,
+	  imagery/i.modis.qc/mod09CMGia.c, imagery/i.modis.qc/mod09CMGib.c,
+	  imagery/i.modis.qc/mod09CMGic.c, imagery/i.modis.qc/mod09CMGid.c,
+	  imagery/i.modis.qc/mod09CMGie.c, imagery/i.modis.qc/mod09CMGif.c,
+	  imagery/i.modis.qc/mod09CMGig.c, imagery/i.modis.qc/mod09CMGih.c,
+	  imagery/i.modis.qc/mod09CMGii.c, imagery/i.modis.qc/mod09CMGij.c,
+	  imagery/i.modis.qc/mod09CMGik.c, imagery/i.modis.qc/mod09CMGil.c,
+	  imagery/i.modis.qc/mod09CMGim.c, imagery/i.modis.qc/mod09CMGin.c,
+	  lib/cdhc/cdhclib.dox, lib/cluster/clusterlib.dox,
+	  lib/gis/testsuite/gis_lib_env_test.py,
+	  lib/gis/testsuite/gis_lib_tokenize.py, lib/manage/managelib.dox,
+	  lib/pngdriver/pngdriverlib.dox, lib/psdriver/psdriverlib.dox,
+	  lib/python/docs/src/gunittest_testing.rst,
+	  lib/python/docs/src/script_intro.rst,
+	  lib/python/docs/src/temporal_framework.rst,
+	  lib/python/exceptions/Makefile,
+	  lib/python/exceptions/__init__.py,
+	  lib/python/exceptions/testsuite/test_ScriptError.py,
+	  lib/python/gunittest/gmodules.py, lib/python/gunittest/main.py,
+	  lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14.txt,
+	  lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_diff_header.txt,
+	  lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_modified.txt,
+	  lib/python/gunittest/testsuite/test_module_assertions.py,
+	  lib/python/gunittest/utils.py,
+	  lib/python/pygrass/gis/testsuite/test_doctests.py,
+	  lib/python/pygrass/gis/testsuite/test_gis.py,
+	  lib/python/pygrass/messages/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/grid/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/interface/docstring.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/testsuite/test_doctests.py,
+	  lib/python/pygrass/raster/testsuite/data/a.png,
+	  lib/python/pygrass/raster/testsuite/data/b.png,
+	  lib/python/pygrass/raster/testsuite/data/c.png,
+	  lib/python/pygrass/raster/testsuite/data/d.png,
+	  lib/python/pygrass/raster/testsuite/data/e.png,
+	  lib/python/pygrass/raster/testsuite/test_category.py,
+	  lib/python/pygrass/raster/testsuite/test_doctests.py,
+	  lib/python/pygrass/raster/testsuite/test_history.py,
+	  lib/python/pygrass/raster/testsuite/test_numpy.py,
+	  lib/python/pygrass/raster/testsuite/test_raster.py,
+	  lib/python/pygrass/raster/testsuite/test_raster_img.py,
+	  lib/python/pygrass/raster/testsuite/test_raster_region.py,
+	  lib/python/pygrass/rpc/Makefile,
+	  lib/python/pygrass/rpc/__init__.py,
+	  lib/python/pygrass/rpc/base.py,
+	  lib/python/pygrass/rpc/testsuite/test_doctests.py,
+	  lib/python/pygrass/shell/testsuite/test_doctests.py,
+	  lib/python/pygrass/testsuite/test_doctests.py,
+	  lib/python/pygrass/vector/testsuite/test_doctests.py,
+	  lib/python/script/testsuite/test_doctests.py,
+	  lib/python/temporal/temporal_operator.py,
+	  lib/python/temporal/testsuite/test_doctests.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py,
+	  lib/raster/rast_to_img_string.c, lib/raster3d/gradient.c,
+	  lib/raster3d/testsuite/raster3d_lib_test.py,
+	  lib/vector/Vlib/geos_to_wktb.c,
+	  lib/vector/testsuite/test_topology_vgeneralize.sh,
+	  lib/vector/vectorlib_faq.dox, lib/vector/vectorlib_lists.dox,
+	  man/build_class_graphical.py, man/build_graphical_index.py,
+	  man/build_manual_gallery.py,
+	  raster/r.gwflow/testsuite/validation_7x7_grid.py,
+	  raster/r.gwflow/testsuite/validation_excavation.py,
+	  raster/r.horizon/rhorizon_polar_plot.png,
+	  raster/r.horizon/testsuite/test_r_horizon.py,
+	  raster/r.mapcalc/testsuite/test_r3_mapcalc.py,
+	  raster/r.series.interp/testsuite/data/infile_2.txt,
+	  raster/r.series.interp/testsuite/data/outfile_1.txt,
+	  raster/r.series.interp/testsuite/data/outfile_2.txt,
+	  raster/r.series.interp/testsuite/data/outfile_corrupt.txt,
+	  raster/r.series.interp/testsuite/interp_test.py,
+	  raster/r.slope.aspect/testsuite/data/fractal_surf.ascii,
+	  raster3d/r3.flow/testsuite/data/flowline.ascii,
+	  scripts/d.what.rast/Makefile,
+	  scripts/d.what.rast/d.what.rast.html,
+	  scripts/d.what.rast/d.what.rast.py, scripts/d.what.vect/Makefile,
+	  scripts/d.what.vect/d.what.vect.html,
+	  scripts/d.what.vect/d.what.vect.py,
+	  scripts/g.extension/testsuite/data/modules.xml,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example/Makefile,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.html,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.py,
+	  scripts/g.extension/testsuite/data/toolboxes.xml,
+	  scripts/g.extension/testsuite/doctest.sh,
+	  scripts/g.extension/testsuite/test_addons_modules.py,
+	  scripts/g.extension/testsuite/test_addons_toolboxes.py,
+	  scripts/r.import/testsuite/data/data2.asc.aux.xml,
+	  scripts/r.import/testsuite/test_r_import.py,
+	  scripts/v.what.strds/testsuite/test_what_strds.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py,
+	  temporal/t.rast.contour/Makefile,
+	  temporal/t.rast.contour/t.rast.contour.html,
+	  temporal/t.rast.contour/t.rast.contour.py,
+	  temporal/t.rast.contour/testsuite/test_convert.py,
+	  temporal/t.rast.extract/testsuite/test_extract.py,
+	  temporal/t.rast.gapfill/testsuite/test_gapfill.py,
+	  temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py,
+	  temporal/t.rast.to.vect/Makefile,
+	  temporal/t.rast.to.vect/t.rast.to.vect.html,
+	  temporal/t.rast.to.vect/t.rast.to.vect.py,
+	  temporal/t.rast.to.vect/testsuite/test_to_vect.py,
+	  temporal/t.rast.what/Makefile,
+	  temporal/t.rast.what/t.rast.what.html,
+	  temporal/t.rast.what/t.rast.what.py,
+	  temporal/t.rast.what/testsuite/test_what.py,
+	  temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py,
+	  temporal/t.rast3d.extract/testsuite/test_extract.py,
+	  temporal/t.unregister/testsuite/test_unregister.py,
+	  temporal/t.vect.algebra/testsuite/test_vector_algebra.py,
+	  vector/v.category/testsuite/copy_multiple_cats.sh,
+	  vector/v.edit/testsuite/select_all_flag.sh,
+	  vector/v.in.ascii/testsuite/test_csv.py,
+	  vector/v.net/testsuite/test_v_net.py,
+	  vector/v.to.3d/testsuite/test_vto3d.py,
+	  vector/v.what/testsuite/data/testing.ascii: svn propset
+
+2015-09-05 15:57  neteler
+
+	* lib/python/gunittest/reporters.py, lib/symbol/README,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fi.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ko.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po,
+	  scripts/d.polar/d.polar.html, scripts/r.pack/r.pack.html,
+	  scripts/r.unpack/r.unpack.html, scripts/v.krige/v.krige.html,
+	  scripts/v.pack/v.pack.html, scripts/v.unpack/v.unpack.html,
+	  vector/v.build/main.c: various typo fixes, found by the Debian
+	  lintian QA tool (trac #2725)
+
+2015-09-05 12:47  huhabla
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/history.py: pygrass raster: Added
+	  iterators to iterate over raster info and history
+
+2015-09-05 00:42  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: temporal framework:
+	  CLibrariesInterface inherits RPCServerBase from pygrass.rpc
+
+2015-09-05 00:41  huhabla
+
+	* lib/python/pygrass/Makefile, lib/python/pygrass/rpc,
+	  lib/python/pygrass/rpc/Makefile,
+	  lib/python/pygrass/rpc/__init__.py,
+	  lib/python/pygrass/rpc/base.py, lib/python/pygrass/rpc/testsuite,
+	  lib/python/pygrass/rpc/testsuite/test_doctests.py,
+	  lib/python/pygrass/utils.py,
+	  lib/python/pygrass/vector/__init__.py: pygrass: Added rpc data
+	  provider that deliver WKB representations of vector maps, numpy
+	  image
+	  representations of raster maps and vector map attribute tables as
+	  dict using cats as keys.
+
+2015-09-04 21:44  wenzeslaus
+
+	* include/gmath.h: no G2C necessary for la.h
+	  
+	  This finishes incomplete r54193 and is necessary after r66101.
+
+2015-09-04 20:00  wenzeslaus
+
+	* lib/btree2/README, lib/btree2/btree2.dox, lib/btree2/kdtree.h:
+	  dox: basic Doxygenization of btree2/kdtree docs
+	  
+	  Include text provided by mmetz in:
+	  https://lists.osgeo.org/pipermail/grass-dev/2015-January/072701.html
+	  https://lists.osgeo.org/pipermail/grass-dev/2015-January/072784.html
+
+2015-09-04 19:40  wenzeslaus
+
+	* include/Make/Doxyfile_arch_html.in: dox: do not strip Doxygen
+	  comments
+	  
+	  When generating HTML for source code, do not strip Doxygen
+	  comments, so that
+	  the license stays there if in this in there. It also reduces
+	  switching in between
+	  the documentation and code. The disadvanatge is that before the
+	  code was just pure code.
+
+2015-09-04 18:14  neteler
+
+	* gui/icons/grass.desktop: grass.desktop: syntax fix
+
+2015-09-04 18:06  neteler
+
+	* raster/r.in.lidar/r.in.lidar.html: r.in.lidar manual: minor fixes
+
+2015-09-04 02:40  wenzeslaus
+
+	* raster/r.in.lidar/main.c, raster/r.in.lidar/r.in.lidar.html,
+	  raster/r.in.lidar/test, raster/r.in.lidar/test/sample_test.sh:
+	  r.in.lidar: add base raster to get height above ground
+
+2015-09-03 22:06  huhabla
+
+	* lib/python/pygrass/vector/__init__.py: pygrass vector: Added
+	  areas_to_wkb_list() and tests
+
+2015-09-03 21:16  huhabla
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/table.py: pygrass vector:
+	  Re-establishing of the generator functionality in finder classes,
+	  added convenient functions to convert a vector map layer into WKB
+	  representation
+	  and to read the whole attribute table as dictionary. Plenty of
+	  doctests implemented.
+
+2015-09-03 21:12  huhabla
+
+	* lib/python/pygrass/utils.py: pygrass utils: Doctest update
+
+2015-09-03 21:10  huhabla
+
+	* include/defs/vector.h, lib/vector/Vlib/geos_to_wktb.c: vector
+	  library: Added WKB read feature function based on GEOS
+
+2015-09-03 19:28  neteler
+
+	* vector/v.extract/main.c: v.extract: add 'random' keyword
+
+2015-09-02 11:26  martinl
+
+	* raster/r.univar/r.univar.html,
+	  raster/r.univar/runivar_basins.png,
+	  raster/r.univar/runivar_basins_elev_zonal.png: r.univar: manual
+	  extended (by Ludmila Furtkevicova)
+
+2015-09-02 11:01  martinl
+
+	* scripts/r.shade/r.shade.html: r.shade: manual cosmetics (with
+	  contribution of Ludmila Furtkevicova)
+
+2015-09-01 15:33  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: GRASS-Installer.nsi: grant
+	  modifying/overwriting fontcap file
+
+2015-09-01 13:26  huhabla
+
+	* lib/python/pygrass/vector/__init__.py: pygrass vector: Added
+	  simple area.centroid test
+
+2015-09-01 13:26  huhabla
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/testsuite/data/d.png,
+	  lib/python/pygrass/raster/testsuite/data/e.png,
+	  lib/python/pygrass/raster/testsuite/test_raster_img.py: pygrass
+	  raster: Added 32Bit RGB image generation and tests
+
+2015-09-01 13:22  huhabla
+
+	* lib/raster/rast_to_img_string.c: raster library: Added 32bit RGB
+	  type
+
+2015-08-31 11:06  huhabla
+
+	* lib/vector/Vlib/geos_to_wktb.c: vector library: Typo fix in
+	  documentation
+
+2015-08-31 11:00  huhabla
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py:
+	  temporal modules t.connect: Fixed tests
+
+2015-08-31 10:40  huhabla
+
+	* lib/python/pygrass/utils.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/testsuite/test_doctests.py: pygrass
+	  raster: Fixed several doctests
+
+2015-08-30 20:55  huhabla
+
+	* lib/python/pygrass/raster/testsuite/data/a.png,
+	  lib/python/pygrass/raster/testsuite/data/b.png,
+	  lib/python/pygrass/raster/testsuite/data/c.png: pygrass raster:
+	  Added test images
+
+2015-08-30 20:52  huhabla
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/testsuite/test_raster_img.py: pygrass
+	  raster: Implemented the generation of numpy arrays out of raster
+	  map layers that
+	  represent 32bit ARGB or 8bit gray scale images. To be used in
+	  PyQt or Wx based map
+	  canvas that support pan, zoom or time series animations.
+
+2015-08-30 20:49  huhabla
+
+	* include/defs/raster.h, lib/raster/rast_to_img_string.c: raster
+	  library: Added a function to convert a raster map to unsigned
+	  char array that represent a
+	  32bit ARGB or 8bit gray scale image. This function is used by
+	  pygrass to very fast
+	  create image representations out of raster map layers at
+	  different resolutions
+	  to be used by PyQt4 or Wx based canvas that support zoom and pan
+	  or time series animation.
+
+2015-08-30 04:17  wenzeslaus
+
+	* doc/README, doc/gi_3dview.jpg, doc/gi_c.jpg,
+	  doc/gi_cartography.jpg, doc/gi_database.jpg, doc/gi_display.jpg,
+	  doc/gi_gallery.jpg, doc/gi_general.jpg, doc/gi_gui.jpg,
+	  doc/gi_imagery.jpg, doc/gi_misc.jpg, doc/gi_python.jpg,
+	  doc/gi_raster.jpg, doc/gi_raster3d.jpg, doc/gi_temporal.jpg,
+	  doc/gi_vector.jpg, man/Makefile, man/build_graphical_index.py,
+	  man/build_manual_gallery.py: docs: manually created index with
+	  images
+	  
+	  The generated index of all images is now 'manual gallery'. The
+	  graphical index is now manually created list with links to
+	  selected parts or, potentially, other manually created indexes.
+	  
+	  Images are low res JPGs because the page must load quickly.
+	  
+	  Images on page are relative to font size (em), this kind of
+	  relative size but not dependent on browser window size. More
+	  importantly, the items are in a list rather than a table, so they
+	  layout on the wide screens as wide and as one column on narrow
+	  displays.
+
+2015-08-30 04:01  wenzeslaus
+
+	* doc/grass_database.svg: docs: clean up empty element in db SVG
+
+2015-08-30 03:47  wenzeslaus
+
+	* doc/grass_database.png, doc/grass_database.svg: docs: use white
+	  background instead of transparent for db img
+
+2015-08-30 00:49  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix import order so that
+	  GUI doesn't crash when there is a problem with ctypes
+
+2015-08-29 22:55  annakrat
+
+	* gui/wxpython/core/toolboxes.py: wxGUI: sync message formatting
+	  with releasebranch
+
+2015-08-29 22:01  huhabla
+
+	* lib/python/pygrass/raster/testsuite/test_raster_region.py:
+	  pygrass raster: Added computational raster region setting test
+
+2015-08-29 21:44  huhabla
+
+	* lib/python/pygrass/modules/interface/env.py: pygrass modules:
+	  Fixed #2731 reading gisrc with multiple : in an entry caused
+	  problems
+
+2015-08-29 18:19  huhabla
+
+	* lib/python/pygrass/gis/region.py, lib/python/pygrass/utils.py,
+	  lib/python/pygrass/vector/testsuite/test_geometry.py,
+	  lib/python/pygrass/vector/testsuite/test_vector.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py: pygrass
+	  library: Make use of the gunittst framework methods for module
+	  calls. The region class can now set the computational raster
+	  region of a process.
+
+2015-08-29 17:21  huhabla
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/raster/history.py,
+	  lib/python/pygrass/raster/testsuite/data/geology_cats,
+	  lib/python/pygrass/raster/testsuite/test_category.py,
+	  lib/python/pygrass/raster/testsuite/test_doctests.py,
+	  lib/python/pygrass/raster/testsuite/test_history.py,
+	  lib/python/pygrass/raster/testsuite/test_numpy.py,
+	  lib/python/pygrass/raster/testsuite/test_raster.py,
+	  lib/python/pygrass/raster/testsuite/test_raster_region.py:
+	  pygrass raster: Modified several tests and added some new, now
+	  all tests are location independent
+
+2015-08-29 16:25  huhabla
+
+	* raster/r.support/main.c: raster module r.support: Use the history
+	  to store the map title
+
+2015-08-29 07:37  huhabla
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/category.py: pygrass raster: More
+	  doctests
+
+2015-08-28 16:22  huhabla
+
+	* lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/gis/region.py,
+	  lib/python/pygrass/gis/testsuite/test_doctests.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/history.py: pygrass raster: Updated and
+	  corrected the Region class, changed and added doctests in several
+	  raster classes
+
+2015-08-28 07:41  huhabla
+
+	* lib/vector/Vlib/geos_to_wktb.c: vector library: Documentation
+	  cleanup
+
+2015-08-27 13:22  huhabla
+
+	* include/defs/vector.h, lib/vector/Vlib/map.c: vector library:
+	  Patch from Radim, enhancement request #2729, to allow Map_info
+	  struct allocation and deletion
+
+2015-08-27 13:11  huhabla
+
+	* lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/testsuite/test_geometry.py: pygrass
+	  vector: Implemented area, boundary, centroid and isle specific
+	  unit-tests.
+	  Changed the API a bit and some functions. Buffer methods are not
+	  generating areas anymore, since
+	  areas are topological objects.
+	  Implemented the use of GEOS WKT and WKB generation from the
+	  vector library (r66046).
+
+2015-08-27 12:48  huhabla
+
+	* include/defs/vector.h, lib/vector/Vlib/geos.c,
+	  lib/vector/Vlib/geos_to_wktb.c: vector library: Added new methods
+	  to generate Well Known Text (WTK) and Well Known Binary (WTB) out
+	  of GEOS geometries
+
+2015-08-27 02:06  wenzeslaus
+
+	* man/build_html.py, man/build_topics.py: docs: link keywords index
+	  entry at the end of the page
+	  
+	  User should first read the topic modules and then look for more.
+	  
+	  Also replace 'Note: see...' by simple and more readable 'See...'
+
+2015-08-27 01:51  wenzeslaus
+
+	* man/Makefile, man/build_topics.py: docs: do not add small topics
+	  to index
+	  
+	  Topics with less than 3 modules in them are not included in
+	  Topics index. This makes the index shorter and easier to
+	  navigate. Topics are still included in keyword index as keywords,
+	  so there is no need to list them when they are not so important
+	  (assuming importance/impact equals module count).
+	  
+	  The topic pages are still generated, so there is no need to
+	  change anything for the modules. By clicking at the second
+	  keyword users still gets to the topic page. It is just not
+	  advertised in the Topics index.
+
+2015-08-27 01:32  annakrat
+
+	* scripts/v.unpack/test_suite, scripts/v.unpack/testsuite:
+	  v.unpack: testsuite, not test_suite
+
+2015-08-27 01:22  wenzeslaus
+
+	* man/build_graphical_index.py: docs: include module name in
+	  graphical index (gallery) and make image size dependent on em
+	  rather than percentage
+
+2015-08-27 00:31  wenzeslaus
+
+	* man/Makefile, man/build_class_graphical.py, man/build_html.py:
+	  docs: build same pages as for module families/categories/classes
+	  but with images
+	  
+	  Images are indentified based on the module name which is
+	  determined from the HTML file name.
+
+2015-08-26 21:24  annakrat
+
+	* gui/wxpython/core/toolboxes.py, lib/python/script/task.py: wxGUI:
+	  fix loading addons (with different locale) which are compiled for
+	  different version - use only byte strings
+
+2015-08-26 21:12  annakrat
+
+	* gui/wxpython/core/settings.py: wxGUI: forgot to commit new
+	  animation settings defaults, related to r65736
+
+2015-08-26 20:37  wenzeslaus
+
+	* doc/Makefile, doc/grass_database.html, doc/grass_database.png,
+	  doc/grass_database.svg: docs: GRASS GIS Database structure and
+	  description
+	  
+	  Based on helptext.html from r59690 but completely rewritten,
+	  updated, and focused on user (rather then programmer or
+	  sysadmin).
+	  
+	  New image showing the structure doesn't include internal files
+	  and dirs (like cell); that's for programming manual. SVG created
+	  in Inkscape.
+	  
+	  Page not meant to be a tutorial but rather a description with
+	  some practical info how to get the database/location/mapset.
+	  
+	  Using capital in Database, Location and Mapset (experimental).
+	  Unclear on GRASS GIS Database vs GRASS Database.
+
+2015-08-26 14:02  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: we don't need to
+	  check dependencies when just listing local extensions
+	  
+	  Fixes issue when GUI was started, listed addons for module tree
+	  and failed because of missing make, gcc (and svn potentionally).
+
+2015-08-26 13:30  huhabla
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/geometry.py: pygrass vector: Added
+	  to_wkt to Node class
+
+2015-08-26 12:30  huhabla
+
+	* lib/python/pygrass/utils.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/testsuite/test_doctests.py,
+	  lib/python/pygrass/vector/testsuite/test_geometry.py: pygrass
+	  vector: Better finder class documentation, usage and additional
+	  tests using the generated vector maps.
+	  Additional metadata for test vectors and better description.
+
+2015-08-26 01:58  annakrat
+
+	* scripts/v.db.addtable/v.db.addtable.py: v.db.addtable: fix wrong
+	  formatting code and condition
+
+2015-08-26 01:54  annakrat
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: fix unpacking when name
+	  of archive and the packed map differ
+
+2015-08-26 01:06  annakrat
+
+	* scripts/r.unpack/r.unpack.py: r.unpack: fix importing to xy
+	  location
+
+2015-08-26 00:55  annakrat
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: fix importing to xy
+	  location
+
+2015-08-26 00:25  wenzeslaus
+
+	* man/build_graphical_index.py: docs: g.gui. from image when
+	  wxGUI.*.html was picked in graphical index
+
+2015-08-25 21:14  huhabla
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/basic.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/testsuite/test_doctests.py,
+	  lib/python/pygrass/vector/testsuite/test_geometry.py,
+	  lib/python/pygrass/vector/testsuite/test_vector.py: pygrass
+	  vector: Updated and modified several doc- and unittests to use a
+	  generated vector map layer
+
+2015-08-25 15:20  huhabla
+
+	* lib/python/pygrass/utils.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/geometry.py: pygrass vector: API
+	  changes: removed "get_" prefix from several functions to
+	  harmonize method names,
+	  added vector map layer generator that is used in several doc
+	  tests. Modified many doctests in __init__.py and geometry.py
+	  to use generated vector maps.
+
+2015-08-25 13:41  huhabla
+
+	* lib/python/temporal/core.py: temporal framework: Better error
+	  message in case the mapset is not accessable
+
+2015-08-25 10:13  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets.py: temporal library:
+	  Fixed wrong mapset access method
+
+2015-08-25 10:02  neteler
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html: t.rast.aggregate
+	  manual: fix t.rast.aggregate call
+
+2015-08-25 08:37  hcho
+
+	* vector/v.what/what.c: v.what: gettext
+
+2015-08-24 16:26  neteler
+
+	* temporal/t.register/t.register.html,
+	  temporal/t.remove/t.remove.html, temporal/t.snap/t.snap.html:
+	  temporal manual: g.list calls updated
+
+2015-08-24 15:47  wenzeslaus
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: move advanced info to the
+	  bottom in the main docs
+
+2015-08-24 12:27  huhabla
+
+	* lib/python/pygrass/vector/geometry.py: pygrass vector: Added wkt
+	  generation for Areas
+
+2015-08-24 04:09  wenzeslaus
+
+	* man/Makefile, man/build_graphical_index.py, man/build_html.py,
+	  tools/mkhtml.py: docs: add graphical index
+	  
+	  * takes some time to create (finding images in HTML files)
+	  * image titles created from HTML name and image name
+	  * page is large (images scaled by browser)
+	  * title is visible only on hower (perhaps different element would
+	  be better)
+	  * assumes every image is used just once
+	  * on hover change of border (using padding and background)
+
+2015-08-24 03:56  wenzeslaus
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html,
+	  vector/v.to.rast3/v.to.rast3.html: docs: html changes for unified
+	  picture names (for r65996 and r65997)
+
+2015-08-24 03:44  wenzeslaus
+
+	* raster/r.li/r.li.richness/r_li_richness_formula.png,
+	  raster/r.li/r.li.richness/rliRichness_formula.png,
+	  raster/r.li/r.li.simpson/r_li_simpson_formula.png,
+	  raster/r.li/r.li.simpson/rliSimpson_formula.png: docs: unify
+	  picture names (the worst cases, finish r65996)
+
+2015-08-24 03:36  wenzeslaus
+
+	* gui/wxpython/rlisetup/g_gui_rlisetup_sampleAreas.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_sample_areas.png,
+	  raster/r.li/r.li.dominance/r_li_dominance_formula.png,
+	  raster/r.li/r.li.dominance/rliDominance_formula.png,
+	  raster/r.li/r.li.edgedensity/r_li_edgedensity_formula_1.png,
+	  raster/r.li/r.li.edgedensity/r_li_edgedensity_formula_2.png,
+	  raster/r.li/r.li.edgedensity/rliEdgeDensity_formula1.png,
+	  raster/r.li/r.li.edgedensity/rliEdgeDensity_formula2.png,
+	  raster/r.li/r.li.shannon/r_li_shannon_formula.png,
+	  raster/r.li/r.li.shannon/rliShannon_formula.png,
+	  vector/v.to.rast3/v.to.rast3.test.png,
+	  vector/v.to.rast3/v_to_rast3_test.png: docs: unify picture names
+	  (the worst cases)
+
+2015-08-24 01:51  wenzeslaus
+
+	* man/build_html.py, tools/mkhtml.py: docs: sync capital latter for
+	  indexes in footer and make it more readble in the code
+
+2015-08-21 07:38  hcho
+
+	* raster/r.water.outlet/basin.h, raster/r.water.outlet/flag.h,
+	  raster/r.water.outlet/flag_clr_all.c,
+	  raster/r.water.outlet/flag_create.c,
+	  raster/r.water.outlet/flag_destroy.c,
+	  raster/r.water.outlet/flag_get.c,
+	  raster/r.water.outlet/flag_set.c,
+	  raster/r.water.outlet/flag_unset.c, raster/r.water.outlet/main.c:
+	  r.water.outlet: Remove unused files and variables
+
+2015-08-20 13:04  neteler
+
+	* vector/v.select/v.select.html: v.select manual: fix INTERSECTS
+	  caption
+
+2015-08-20 11:48  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: catch and handle error
+	  from typo in console
+
+2015-08-20 11:05  neteler
+
+	* raster/r.external/r.external.html: r.external manual: added
+	  processing workflow example
+
+2015-08-20 10:55  neteler
+
+	* display/d.vect.chart/d.vect.chart.html: d.vect.chart manual:
+	  consider v.voronoi for meteo stations (comment)
+
+2015-08-19 19:15  martinl
+
+	* translators.csv: fix translators file
+
+2015-08-19 14:53  martinl
+
+	* lib/python/ctypes/ctypesgencore/expressions.py: Description:
+	  Enclose Python ternary in parenthesis.
+	  This fixes an issue with the C to Python conversion of the stat &
+	  stat64
+	  structs on GNU/Hurd. The structs define the final member
+	  conditionally:
+	  .
+	  #define _SPARE_SIZE ((sizeof (__fsid_t) == sizeof (int)) ? 9 : 8)
+	  int st_spare[_SPARE_SIZE]; /* Room for future expansion. */
+	  #undef _SPARE_SIZE
+	  .
+	  This gets converted by ctypesgen to:
+	  .
+	  ('st_spare', c_int * (sizeof(__fsid_t) == sizeof(c_int)) and 9 or
+	  8),
+	  .
+	  Which causes a TypeError:
+	  .
+	  TypeError: second item in _fields_ tuple (index 17) must be a C
+	  type
+	  .
+	  Enclosing the Python expression in parenthesis to become:
+	  .
+	  ('st_spare', c_int * ((sizeof(__fsid_t) == sizeof(c_int)) and 9
+	  or 8)),
+	  .
+	  fixes the TypeError.
+	  .
+	  While the and/or idiom is common it's also unsafe, because it can
+	  return
+	  wrong results when the "and" value has a false boolean value.
+	  See:
+	  .
+	  https://docs.python.org/3.4/faq/programming.html#is-there-an-equivalent-of-c-s-ternary-operator
+	  .
+	  In the st_spare case this is not a problem, but it can cause
+	  problems for
+	  other conversions in the future.
+	  .
+	  Instead of the and/or idiom the recommended if/else idiom is
+	  used.
+	  .
+	  The st_spare member thus becomes:
+	  .
+	  ('st_spare', c_int * (9 if (sizeof(__fsid_t) == sizeof(c_int))
+	  else 8)),
+	  .
+	  Author: Bas Couwenberg <sebastic at xs4all.nl>
+	  Forwarded: https://trac.osgeo.org/grass/ticket/2581
+
+2015-08-18 15:51  huhabla
+
+	* lib/python/temporal/stds_import.py: temporal library: Fixed
+	  import of STRDS generated from R
+
+2015-08-18 15:18  zarch
+
+	* lib/python/pygrass/utils.py: pygrass: doctest in utils file
+	  update the elevation value
+
+2015-08-18 12:57  huhabla
+
+	* temporal/t.rast.what/t.rast.what.py: temporal modules: Correct
+	  option description
+
+2015-08-18 12:50  huhabla
+
+	* temporal/t.rast.what/t.rast.what.py,
+	  temporal/t.rast.what/testsuite/test_what.py: Implemented the use
+	  of stdin provided as patch in ticket #2721.
+	  Implemented unittest to test the enhancement.
+
+2015-08-18 11:27  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fi.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ro.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fi.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fi.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ko.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18N:
+	  update from template files
+
+2015-08-18 11:08  neteler
+
+	* lib/gis/get_window.c: libgis: catch empty region file (suggested
+	  in
+	  https://lists.osgeo.org/pipermail/grass-dev/2015-August/075933.html)
+
+2015-08-18 10:47  neteler
+
+	* locale/po/grasslibs_fi.po, locale/po/grassmods_fi.po,
+	  locale/po/grasswxpy_fi.po, translators.csv: Kari Salovaara:
+	  Finnish translation started
+
+2015-08-18 06:01  zarch
+
+	* lib/python/pygrass/utils.py: pygrass: update doctests
+
+2015-08-18 06:00  zarch
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: fix Geo init, set
+	  attrs as last thing and only if cat is set
+
+2015-08-18 05:58  zarch
+
+	* lib/python/pygrass/vector/__init__.py: pygrass: vector, revert
+	  r62034, add points to the _NUMOF dictionary and fix doctests
+	  examples
+
+2015-08-18 05:22  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: pygrass: fix raster
+	  doctest range outputs from integer to float
+
+2015-08-18 05:20  zarch
+
+	* lib/python/pygrass/shell/testsuite/test_doctests.py: pygrass: Fix
+	  shell doctest file
+
+2015-08-18 05:19  zarch
+
+	* lib/python/pygrass/gis/__init__.py: pygrass: fix doctests, now
+	  they are not dependent by mapset name
+
+2015-08-18 05:17  zarch
+
+	* lib/python/pygrass/gis/testsuite/test_doctests.py: pygrass: Fix
+	  gis doctest file
+
+2015-08-17 11:47  zarch
+
+	* lib/python/script/db.py: script.db: Fix absolute import inside
+	  function
+
+2015-08-15 21:41  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/shortcuts.py,
+	  lib/python/pygrass/modules/testsuite/test_doctests.py: pygrass:
+	  fix modules doctests and make the tests indipendent from the
+	  mapset/location name
+
+2015-08-14 09:04  huhabla
+
+	* lib/python/pygrass/errors.py,
+	  lib/python/pygrass/vector/geometry.py: pygrass vector: Added
+	  mapinfo pointer checks and some alive() methods
+
+2015-08-14 05:36  hamish
+
+	* ps/ps.map/ps_vlegend.c: bugfix: crazy y values for vpoints in
+	  vector legend as vector.layer[i].offset was being used
+	  uninitialized (offset and coffset are only used for parallel road
+	  feature of vlines). another approach might be to init them to 0
+	  in ps.map/vector.h. should be backported to all branches
+
+2015-08-13 16:28  mlennert
+
+	* vector/v.kernel/main.c, vector/v.kernel/v.kernel.html: make
+	  documentation conform to std to radius change in parameter names
+
+2015-08-13 07:17  neteler
+
+	* man/build_html.py, man/build_rest.py: manual: main page name
+	  cosmetics
+
+2015-08-12 14:47  neteler
+
+	* temporal/t.rast.accumulate/t.rast.accumulate.py:
+	  t.rast.accumulate: explain method parameter (todo: make identical
+	  to r.series.accumulate)
+
+2015-08-12 14:03  annakrat
+
+	* gui/wxpython/modules/import_export.py: wxGUI: r.import does not
+	  have k flag
+
+2015-08-12 12:20  martinl
+
+	* gui/wxpython/modules/import_export.py: wxGUI: use r.import
+	  instead of r.in.gdal
+
+2015-08-12 12:15  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: indent cosmetics
+
+2015-08-12 12:14  martinl
+
+	* scripts/v.import/v.import.py: v.import: use v.in.ogr -j to
+	  compare projections, use CalledModuleError
+
+2015-08-12 12:13  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: do not perform overwrite check
+	  if -j flag given
+
+2015-08-12 12:05  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: add -j flag to perform
+	  projection check only (used by v.import)
+
+2015-08-12 11:56  martinl
+
+	* scripts/r.import/r.import.py: r.import: use r.in.gdal's -j flag
+	  to compare projection, resample default to nearest
+
+2015-08-12 11:55  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: add -j flag to perform
+	  projection check only (used by r.import)
+
+2015-08-12 11:11  neteler
+
+	* locale/po/grasslibs_fr.po: Sylvain Maillard: FR cont'ed
+
+2015-08-12 09:45  neteler
+
+	* raster/r.slope.aspect, raster/r.slope.aspect/r.slope.aspect.html,
+	  raster/r.slope.aspect/r_slope_aspect_4_directions.png:
+	  r.slope.aspect manual: compass oriented aspect map example added
+
+2015-08-12 08:03  martinl
+
+	* raster/r.out.gdal/main.c: r.out.gdal: note how to override data
+	  loss check (message cosmetics)
+
+2015-08-12 06:52  martinl
+
+	* scripts/d.to.rast/d.to.rast.py: d.to.rast: fix for new monitors
+	  mechanism
+
+2015-08-12 06:25  martinl
+
+	* scripts/d.out.file/d.out.file.py: d.out.file: fix for new
+	  monitors mechanism
+
+2015-08-12 06:08  martinl
+
+	* display/d.mon/render_cmd.py: d.mon: be less verbose, modules
+	  usually prints error message already
+
+2015-08-12 00:03  neteler
+
+	* vector/v.overlay/v.overlay.html: v.overlay manual: figure caption
+	  cosmetics
+
+2015-08-11 23:36  neteler
+
+	* vector/v.select, vector/v.select/v.select.html,
+	  vector/v.select/v_select_op_contains_pnts.png,
+	  vector/v.select/v_select_op_contains_pol.png,
+	  vector/v.select/v_select_op_crosses.png,
+	  vector/v.select/v_select_op_disjoint.png,
+	  vector/v.select/v_select_op_equals.png,
+	  vector/v.select/v_select_op_intersects.png,
+	  vector/v.select/v_select_op_overlap.png,
+	  vector/v.select/v_select_op_overlaps.png,
+	  vector/v.select/v_select_op_touches.png,
+	  vector/v.select/v_select_op_within.png: v.select manual: full set
+	  of NC example added (contributed by Carol X Garzon-Lopez)
+
+2015-08-11 22:08  neteler
+
+	* vector/v.overlay/v.overlay.html,
+	  vector/v.overlay/v_overlay_op_and.png,
+	  vector/v.overlay/v_overlay_op_not.png,
+	  vector/v.overlay/v_overlay_op_or.png,
+	  vector/v.overlay/v_overlay_op_xor.png: v.overlay manual:
+	  semi-synthetic NC example added (contributed by Carol X
+	  Garzon-Lopez)
+
+2015-08-11 22:08  martinl
+
+	* scripts/d.rast.edit/d.rast.edit.py: d.rast.edit: select wxPython
+	  3.0 by default
+
+2015-08-11 21:06  neteler
+
+	* display/d.vect.thematic,
+	  display/d.vect.thematic/d.vect.thematic.html,
+	  display/d.vect.thematic/d_vect_thematic.png,
+	  display/d.vect.thematic/main.c: d.vect.thematic manual: NC
+	  example added (contributed by Vero Andreo); msg enhancement
+
+2015-08-11 09:53  neteler
+
+	* lib/db/sqlp/sql.html: sql manual: FP calc example added
+
+2015-08-10 18:10  wenzeslaus
+
+	* scripts/g.extension/g.extension.html,
+	  scripts/g.extension/g.extension.py: g.extension: add and improve
+	  messages and docs
+
+2015-08-10 14:17  neteler
+
+	* vector/v.neighbors/main.c: v.neighbors: change G_fatal_error to
+	  G_warning (modification of r62746)
+
+2015-08-10 13:56  neteler
+
+	* vector/v.delaunay/v.delaunay.html, vector/v.mkgrid/main.c: revert
+	  unwanted part of r65872
+
+2015-08-10 13:49  neteler
+
+	* lib/db/sqlp/sql.html, vector/v.delaunay/v.delaunay.html,
+	  vector/v.mkgrid/main.c: sql manual: Example of conditions added
+
+2015-08-09 11:08  wenzeslaus
+
+	* gui/wxpython/modules/extensions.py, lib/gis/renamed_options,
+	  scripts/g.extension/g.extension.py,
+	  scripts/g.extension/testsuite/test_addons_modules.py,
+	  scripts/g.extension/testsuite/test_addons_toolboxes.py:
+	  g.extension: rename option svnurl to url
+	  
+	  The name url is not 100% friendly for all when used for local
+	  files but source
+	  (with unclear meaning) and input (usually an actual file to
+	  process) don't
+	  seem better.
+	  
+	  Also clean up in the GUI wrapper, document tests and fix bug in
+	  listing from HTML
+	  (introduced in r65868).
+
+2015-08-09 02:45  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: avoid using
+	  option svnurl outside main fun
+
+2015-08-08 21:17  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: i18N: update from template files
+
+2015-08-08 21:15  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grasswxpy_fr.po: Sylvain
+	  Maillard: FR translation cont'ed
+
+2015-08-08 14:37  neteler
+
+	* scripts/v.db.join/v.db.join.html: v.db.join manual: NC example
+	  added for geology map
+
+2015-08-08 14:15  neteler
+
+	* display/d.vect.thematic/d.vect.thematic.html: d.vect.thematic
+	  manual: example expanded (contributed by Vero Andreo)
+
+2015-08-08 14:11  annakrat
+
+	* gui/wxpython/docs/wxGUI.html: fix html tags from previous commit
+
+2015-08-08 14:04  annakrat
+
+	* gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI_layer_manager.jpg,
+	  gui/wxpython/docs/wxGUI_map_display.jpg: wxGUI: partial update of
+	  main wxGUI manual page
+
+2015-08-08 10:14  neteler
+
+	* display/d.mon/start.c, lib/gis/parser.c,
+	  raster/r.mapcalc/evaluate.c, raster/r.proj/main.c,
+	  vector/v.external/main.c, vector/v.proj/main.c: Existing map
+	  case: improve overwrite user msg
+
+2015-08-07 21:24  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: fix listing of
+	  modules from the official source (uses generated XMLs at
+	  grass.osgeo.org)
+
+2015-08-07 20:06  wenzeslaus
+
+	* gui/wxpython/gis_set.py, lib/init/grass.py: init: change gis_init
+	  return code
+	  
+	  Previous return code was overlapping with Python when file is not
+	  found (e.g. not installed grass-gui).
+	  In theory, it could be even handled separately, but the possible
+	  return/exit codes are unclear.
+
+2015-08-07 19:41  neteler
+
+	* lib/init/grass.py: init: msg cosmetics as -text is a flag
+
+2015-08-07 19:34  wenzeslaus
+
+	* lib/init/grass.py: init: end immediately when GUI not available
+	  
+	  When GUI to select the Location and Mapset is not available
+	  (usually because of missing wxPython),
+	  end execution right away instead of trying the text mode. The
+	  text mode was not starting anyway when
+	  GRASS was just compiled. When GRASS was installed, it got into a
+	  loop with 'Hit RETURN to continue'
+	  (for unknown reasons). User anyway had not specified the Mapset,
+	  so there is no point in selecting
+	  the last one used.
+
+2015-08-07 04:09  wenzeslaus
+
+	* raster/r.mode/main.c, raster/r.quant/main.c,
+	  raster/r.statistics/main.c, raster/r.stats.zonal/main.c,
+	  vector/v.outlier/main.c: use statistics as second keyword, use
+	  zonal, add more to v.outlier
+
+2015-08-07 04:07  wenzeslaus
+
+	* raster/r.external/main.c, raster/r.in.lidar/main.c,
+	  vector/v.in.lidar/main.c, vector/v.in.ogr/main.c: fix wrong
+	  variable names introduced in r65846
+
+2015-08-07 03:34  wenzeslaus
+
+	* raster/r.external/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.lidar/main.c, scripts/r.unpack/r.unpack.py,
+	  scripts/v.unpack/v.unpack.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.vect.import/t.vect.import.py,
+	  vector/v.in.lidar/main.c, vector/v.in.ogr/main.c: change and
+	  extend description of -o (override projection) flags
+
+2015-08-07 03:24  wenzeslaus
+
+	* raster/r.region/r.region.html,
+	  vector/v.transform/v.transform.html: interlink modules which move
+	  a map
+
+2015-08-07 03:03  wenzeslaus
+
+	* display/d.grid/main.c, raster/r.grow.distance/main.c,
+	  raster/r.param.scale/interface.c, raster/r.proj/main.c,
+	  raster/r.topidx/main.c, raster/r.viewshed/main.cpp,
+	  scripts/r.grow/r.grow.py, vector/v.extract/main.c,
+	  vector/v.kernel/main.c, vector/v.proj/main.c: add various
+	  keywords to modules
+
+2015-08-07 02:17  wenzeslaus
+
+	* raster/r.ros/main.c, raster/r.sim/r.sim.sediment/main.c,
+	  raster/r.sim/r.sim.water/main.c, raster/r.spread/main.c,
+	  raster/r.topmodel/main.c: introduce keyword model in sense of
+	  computational model or simulation
+
+2015-08-06 14:56  neteler
+
+	* raster/r.sunhours/main.c: r.sunhours: more keywords
+
+2015-08-05 16:47  annakrat
+
+	* gui/wxpython/gcp/manager.py: gcpmanager: gisrc must be string not
+	  unicode - causes problems on Windows
+
+2015-08-05 14:05  neteler
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS installer: fix
+	  spearfish60_grass7 DB (use G7 version, not G6 version)
+
+2015-08-05 03:19  wenzeslaus
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py:
+	  t.connect: add missing setting of region for newly created
+	  mapsets
+
+2015-08-04 22:15  annakrat
+
+	* scripts/r.import/testsuite, scripts/r.import/testsuite/data,
+	  scripts/r.import/testsuite/data/data1.tif,
+	  scripts/r.import/testsuite/data/data2.asc,
+	  scripts/r.import/testsuite/data/data2.asc.aux.xml,
+	  scripts/r.import/testsuite/data/data2.prj,
+	  scripts/r.import/testsuite/test_r_import.py: r.import: add
+	  testsuite
+
+2015-08-04 22:13  annakrat
+
+	* lib/python/gunittest/case.py: gunittest: add new assert methods
+
+2015-08-04 22:09  annakrat
+
+	* scripts/Makefile, scripts/r.import: r.import copied from addons
+	  to trunk
+
+2015-08-04 20:08  neteler
+
+	* scripts/v.pack/v.pack.py: v.pack: also package PROJ_EPSG is
+	  available (as in newer locations)
+
+2015-08-03 12:53  neteler
+
+	* gui/wxpython/vdigit/g.gui.vdigit.html: g.gui.vdigit manual:
+	  update 'Copy features from (background) vector map' description
+	  (contributed by Aldo Clerici)
+
+2015-08-01 19:15  neteler
+
+	* imagery/i.evapo.mh/i.evapo.mh.html,
+	  imagery/i.evapo.pm/i.evapo.pm.html, imagery/imageryintro.html:
+	  imagery intro manual: mention i.eb.* and i.evapo.*
+
+2015-07-31 15:07  zarch
+
+	* lib/python/gunittest/invoker.py: gunittest: fix the invoker for
+	  the execution of all the tests
+
+2015-07-31 15:06  zarch
+
+	* lib/python/script/core.py: script: remove decode to convert bytes
+	  to unicode, work just with bytes
+
+2015-07-31 12:55  lucadelu
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/testsuite/test_numpy.py: pygrass: added
+	  functions to convert raster to numpy array and vice versa; added
+	  also tests
+
+2015-07-29 14:21  zarch
+
+	* lib/python/script/testsuite/test_core_make_val.py:
+	  script:testsuite add test to _make_val function
+
+2015-07-29 14:19  zarch
+
+	* lib/python/script/testsuite/test_start_command_functions.py,
+	  lib/python/script/testsuite/test_start_command_functions_nc.py:
+	  script:testsuite update tests
+
+2015-07-29 14:18  zarch
+
+	* lib/python/script/core.py: scipt:core add python3 support
+
+2015-07-29 14:12  zarch
+
+	* lib/python/script/array.py: scipt:array add python3 support
+
+2015-07-29 14:11  zarch
+
+	* lib/python/script/raster3d.py: scipt:raster3d add python3 support
+
+2015-07-29 14:10  zarch
+
+	* lib/python/script/raster.py: scipt:raster add python3 support
+
+2015-07-29 14:10  zarch
+
+	* lib/python/script/setup.py: scipt:setup add python3 support
+
+2015-07-29 14:09  zarch
+
+	* lib/python/script/task.py: scipt:task import regexp module that
+	  it is used
+
+2015-07-29 14:07  zarch
+
+	* lib/python/script/db.py: scipt:db add python3 support
+
+2015-07-29 14:06  zarch
+
+	* lib/python/script/vector.py: scipt:vector add python3 support
+
+2015-07-29 14:05  zarch
+
+	* lib/python/script/utils.py: scipt:utils add python3 support
+
+2015-07-29 14:04  zarch
+
+	* lib/python/script/__init__.py: scipt:init add python3 support
+
+2015-07-28 16:09  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grasswxpy_fr.po: Sylvain
+	  Maillard: FR translation cont'ed
+
+2015-07-27 12:27  zarch
+
+	* lib/python/pygrass/utils.py: pygrass: remove unnecessary import
+
+2015-07-27 11:56  zarch
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/main.py, lib/python/gunittest/reporters.py,
+	  lib/python/gunittest/runner.py, lib/python/gunittest/utils.py:
+	  gunittest: Support also Python3
+
+2015-07-27 08:37  zarch
+
+	* lib/init/grass.py: Changes to add Python3 compatibility
+
+2015-07-24 01:37  neteler
+
+	* vector/v.to.rast/v.to.rast.html,
+	  vector/v.to.rast/v_to_rast_binning.png: v.to.rast manual: added
+	  raster binning example
+
+2015-07-23 21:08  neteler
+
+	* lib/raster/rasterlib.dox: rasterlib doxygen: added Null/NaN
+	  explanations from
+	  https://lists.osgeo.org/pipermail/grass-dev/2015-July/075790.html
+
+2015-07-23 12:07  glynn
+
+	* lib/raster/close.c: Close null file before attempting to rename()
+	  it (issue #2712)
+
+2015-07-22 17:17  martinl
+
+	* gui/wxpython/mapdisp/toolbars.py: wxGUI: remove 'display map'
+	  tool from mapdisplay toolbar (most of users don't know what is
+	  difference between display and re-render map)
+
+2015-07-22 15:29  lucadelu
+
+	* gui/wxpython/tplot/frame.py: g.gui.tplot: fixed small bug
+	  querying data
+
+2015-07-22 15:08  lucadelu
+
+	* gui/wxpython/tplot/frame.py: check if all categories used exist
+	  in the vector
+
+2015-07-22 05:49  lucadelu
+
+	* gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/vselect.py, gui/wxpython/tplot/frame.py:
+	  wxpython gui: fixed VectorCategorySelect, added support of
+	  VectorCategorySelect into g.gui.tplot (thank to Matej Krejci)
+
+2015-07-21 22:36  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: use Trac
+	  directory ZIP files by default
+	  
+	  Subversion (svn command) is not longer a requied dependency.
+	  However, it is still possible to use it (so it will fail with
+	  traceback if it is not installed).
+
+2015-07-21 19:10  martinl
+
+	* gui/wxpython/lmgr/frame.py: fix #2713 (GUI hangs when adding
+	  vector map from cli)
+
+2015-07-21 18:09  lucadelu
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/tplot/frame.py:
+	  g.gui.tplot: fixed bugs; fixed start up from GUI
+
+2015-07-21 18:01  wenzeslaus
+
+	* scripts/g.extension/g.extension.py,
+	  scripts/g.extension/testsuite/test_addons_modules.py:
+	  g.extension: fix wrong var overwrite, naming chanages, style
+	  changes
+
+2015-07-21 16:44  lucadelu
+
+	* scripts/Makefile: v.what.strds: added into Makefile
+
+2015-07-21 16:35  martinl
+
+	* vector/v.buffer/geos.c: v.buffer: fix bug introduced in r65715
+
+2015-07-21 16:32  lucadelu
+
+	* gui/wxpython/tplot/frame.py, gui/wxpython/tplot/g.gui.tplot.py:
+	  g.gui.tplot: implemented categories for vector temporal datasets
+
+2015-07-21 15:57  wenzeslaus
+
+	* scripts/g.extension/g.extension.py,
+	  scripts/g.extension/testsuite/data/sample_modules,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example.tar.gz,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example.zip,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example/Makefile,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.html,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.py,
+	  scripts/g.extension/testsuite/data/sample_modules/r.plus.example_sep.tar.gz,
+	  scripts/g.extension/testsuite/test_addons_modules.py,
+	  scripts/g.extension/testsuite/test_addons_toolboxes.py:
+	  g.extension: support tar without root directory, fix install
+	  prefix for relative paths, add tests
+
+2015-07-21 14:00  wenzeslaus
+
+	* scripts/g.extension/g.extension.py,
+	  scripts/g.extension/testsuite/doctest.sh: g.extension: proper
+	  implementation for tar related archives
+
+2015-07-21 11:53  lucadelu
+
+	* gui/wxpython/tplot/frame.py, gui/wxpython/tplot/g.gui.tplot.py:
+	  g.gui.tplot: add support for vector temporal dataset and
+	  coordinates, cats are not supported yet
+
+2015-07-21 11:41  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: support
+	  incomplete URLs for download from (well) known hosting services
+
+2015-07-21 11:13  martinl
+
+	* README.debian, debian: move README.debian to root directory,
+	  remove debian directory to simplify debian packaging
+
+2015-07-21 11:12  martinl
+
+	* gui/wxpython/modules/import_export.py, scripts/Makefile: wxGUI:
+	  use v.import instead of v.in.ogr
+	  enable v.import
+
+2015-07-21 10:45  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix reopening
+	  d.vect.thematic properties with multiple colors
+
+2015-07-21 10:40  martinl
+
+	* scripts/v.import/v.import.py: v.import: add encode option
+
+2015-07-21 10:36  martinl
+
+	* scripts/v.import/v.import.py: v.import: sync with addons
+
+2015-07-21 10:15  martinl
+
+	* vector/v.patch/main.c: This is a test commit for Travis CI builds
+	  which should run again.
+
+2015-07-21 09:55  martinl
+
+	* vector/v.patch/main.c: This is a test commit for Travis CI builds
+	  which should not run.
+
+2015-07-21 09:47  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation: resize
+	  images when window size changes without rerendering them
+
+2015-07-21 09:46  martinl
+
+	* include/defs/dbmi.h, lib/db/dbmi_client/handler.c,
+	  lib/db/dbmi_client/shutdown.c: attempt to fix #2711 (segfault
+	  caused by db error handler)
+
+2015-07-21 09:38  wenzeslaus
+
+	* scripts/g.extension/g.extension.py,
+	  scripts/g.extension/testsuite/doctest.sh: g.extension: introduce
+	  doctest for supported sources, fix errors reported by Pylint and
+	  PEP8 issues
+
+2015-07-21 08:46  martinl
+
+	* scripts/v.import: copy v.import from addons to trunk (will be
+	  integrated to wxGUI, work in progress)
+
+2015-07-21 07:35  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: replace CRFL in
+	  downloaded files by LF
+	  
+	  Motivation are Trac download links for directories as ZIP files
+	  where all files have CRLF. Iterates over all files and rewrites
+	  all of them every time (suboptimal but straightforward). Base for
+	  code taken from Python crlf.py file.
+	  
+	  g.extension r.sample.category
+	  svnurl=https://trac.osgeo.org/grass/browser/grass-addons/grass7/raster/r.sample.category?format=zip
+
+2015-07-21 06:53  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/utils.py: wxGUI/animation: add text
+	  background/foreground in settings
+
+2015-07-20 20:01  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: add other source
+	  code sources
+	  
+	  Local directories supported by copying the data over to tmp dir
+	  (doesn't mess with user files and doesn't require changes in the
+	  source code). Support for short GitHub URLs. Local zip, tar and
+	  other archives and general URLs with archives supported too but
+	  not tested. Subversion access still works and is the default.
+	  Trac zips are not supported because the files have CRLF in them.
+	  
+	  g.extension r.local.relief
+	  svnurl=/home/.../grass-addons/grass7/raster/r.local.relief/
+	  g.extension r.sun.hourly
+	  g.extension g.remote svnurl=github.com/wenzeslaus/g.remote
+
+2015-07-20 20:00  martinl
+
+	* raster/r.flow/r_flow_accumulation.png,
+	  raster/r.flow/r_flow_length.png, raster/r.flow/r_flow_line.png,
+	  raster/r.slope.aspect/r_slope_aspect_aspect.png,
+	  raster/r.slope.aspect/r_slope_aspect_pcurv.png,
+	  raster/r.slope.aspect/r_slope_aspect_slope.png,
+	  raster/r.slope.aspect/r_slope_aspect_tcurv.png: fix svn props
+	  (cosmetics)
+
+2015-07-20 19:13  martinl
+
+	* raster/r.slope.aspect/r.slope.aspect.html,
+	  raster/r.slope.aspect/r_slope_aspect_aspect.png,
+	  raster/r.slope.aspect/r_slope_aspect_pcurv.png,
+	  raster/r.slope.aspect/r_slope_aspect_slope.png,
+	  raster/r.slope.aspect/r_slope_aspect_tcurv.png: r.slope.aspect:
+	  examples added (thanks to Ludmila Furtkevicova)
+
+2015-07-20 19:03  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py: wxGUI/animation: select number
+	  of processes in preferences
+
+2015-07-20 18:56  neteler
+
+	* display/d.legend/d.legend.html, display/d.legend/d_legend.png:
+	  d.legend manual: example + screenshot added
+
+2015-07-20 18:30  annakrat
+
+	* gui/wxpython/core/settings.py: wxGUI: change default command
+	  dialog style on Linux
+
+2015-07-20 18:24  martinl
+
+	* vector/v.buffer/geos.c, vector/v.buffer/local_proto.h,
+	  vector/v.buffer/main.c: fix v.buffer to be compiled with GEOS <
+	  3.2 (see r65710)
+
+2015-07-20 17:50  lucadelu
+
+	* lib/python/pygrass/raster/__init__.py: pygrass: try to fix
+	  RasterSegment (#2599)
+
+2015-07-20 17:41  lucadelu
+
+	* man/build_keywords.py: added TOC to keywords page
+
+2015-07-20 16:19  neteler
+
+	* vector/v.buffer, vector/v.buffer/v.buffer.html,
+	  vector/v.buffer/v_buffer_area.png,
+	  vector/v.buffer/v_buffer_area_s.png,
+	  vector/v.buffer/v_buffer_line.png,
+	  vector/v.buffer/v_buffer_line_c.png,
+	  vector/v.buffer/v_buffer_line_s.png,
+	  vector/v.buffer/v_buffer_no_cap.png,
+	  vector/v.buffer/v_buffer_rounded_cap.png,
+	  vector/v.buffer/v_buffer_square_cap.png: v.buffer manual: explain
+	  corners (caps) with screenshots
+
+2015-07-20 16:16  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: move more code
+	  to separate functions
+	  
+	  Fixes function calls in operation=remove -f -t. Improves
+	  parameter handling (excludes). Uses parser to handle option
+	  combinations.
+
+2015-07-20 15:46  martinl
+
+	* vector/v.buffer/geos.c, vector/v.buffer/local_proto.h,
+	  vector/v.buffer/main.c, vector/v.buffer/v.buffer.html,
+	  vector/v.buffer/v_buffer_area.png,
+	  vector/v.buffer/v_buffer_area_s.png,
+	  vector/v.buffer/v_buffer_line.png,
+	  vector/v.buffer/v_buffer_line_c.png,
+	  vector/v.buffer/v_buffer_line_s.png: v.buffer: implement -c -s
+	  flags also for GEOS
+
+2015-07-20 15:04  wenzeslaus
+
+	* .travis.yml: add grass-dev list to Travis CI recipients
+
+2015-07-20 14:16  neteler
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.algebra/t.rast.algebra.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.series/t.rast.series.html: temporal manual: HTML
+	  fix
+
+2015-07-20 13:57  annakrat
+
+	* raster/r.horizon/r.horizon.html,
+	  raster/r.horizon/rhorizon_polar_plot.png: r.horizon: add polar
+	  plot example
+
+2015-07-20 13:19  lucadelu
+
+	* scripts/v.what.strds/testsuite,
+	  scripts/v.what.strds/testsuite/test_what_strds.py: v.what.strds:
+	  added test suite
+
+2015-07-20 12:56  neteler
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.algebra/t.rast.algebra.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.series/t.rast.series.html: temporal manual: wiki
+	  link added (crontributed by Vero Andreo)
+
+2015-07-20 11:01  lucadelu
+
+	* locale/po/grasswxpy_it.po: update italian translation
+
+2015-07-20 11:00  lucadelu
+
+	* locale/po/grassmods_it.po: update italian translation
+
+2015-07-20 10:59  neteler
+
+	* raster/r.spread/main.c: r.spread: remove unused variable from msg
+
+2015-07-20 10:37  neteler
+
+	* testsuite/raster/rhemisphere.sh: testsuite rhemisphere.sh: update
+	  r.mapcalc call
+
+2015-07-20 10:29  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: split code into
+	  more functions
+
+2015-07-20 10:12  lucadelu
+
+	* scripts/v.what.strds: v.what.strds: moved from addons to trunk
+
+2015-07-20 10:04  annakrat
+
+	* raster/r.external/proj.c, raster/r.in.gdal/main.c,
+	  raster/r.in.lidar/main.c, scripts/r.unpack/r.unpack.py,
+	  scripts/v.unpack/v.unpack.py, vector/v.in.lidar/main.c,
+	  vector/v.in.ogr/main.c: improve override projection message
+
+2015-07-20 10:04  neteler
+
+	* raster/r.flow/r.flow.html: r.flow manual: wording fixes; HTML
+	  cosmetics
+
+2015-07-20 10:01  lucadelu
+
+	* gui/wxpython/tplot/frame.py: g.gui.tplot: fixed problem with null
+	  value in CELL maps
+
+2015-07-20 09:04  martinl
+
+	* raster/r.flow/r.flow.html, raster/r.flow/r_flow_accumulation.png,
+	  raster/r.flow/r_flow_length.png, raster/r.flow/r_flow_line.png:
+	  r.flow: examples added (thanks to Ludmila Furtkevicova)
+
+2015-07-20 08:45  martinl
+
+	* raster/r.param.scale/r.param.scale.html,
+	  raster/r.surf.fractal/r.surf.fractal.html,
+	  scripts/d.polar/d.polar.html, scripts/i.oif/i.oif.html,
+	  vector/v.buffer/v.buffer.html: change REFERENCE to REFERENCES in
+	  the manual pages (thanks to Ludmila Furtkevicova)
+
+2015-07-20 08:34  martinl
+
+	* lib/vector/Vlib/close.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/local_proto.h, lib/vector/Vlib/open.c: vlib: fix
+	  GRASS_VECTOR_TEMPORARY when creating temporary maps using
+	  Vect_open_new_tmp()
+
+2015-07-20 08:02  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: docstrings,
+	  better variable names
+
+2015-07-20 07:57  lucadelu
+
+	* scripts/i.tasscap/i.tasscap.py: update PEP8, thanks Nikos
+	  Alexandris r2690
+
+2015-07-20 07:56  wenzeslaus
+
+	* scripts/g.extension/testsuite,
+	  scripts/g.extension/testsuite/data,
+	  scripts/g.extension/testsuite/data/modules.xml,
+	  scripts/g.extension/testsuite/data/toolboxes.xml,
+	  scripts/g.extension/testsuite/test_addons_modules.py,
+	  scripts/g.extension/testsuite/test_addons_toolboxes.py:
+	  g.extension: add tests for -l flag
+
+2015-07-20 07:51  zarch
+
+	* scripts/g.extension/g.extension.py: g.extension: make it works
+	  with python3
+
+2015-07-20 07:11  wenzeslaus
+
+	* .travis.yml: specify notifications for Travis CI
+
+2015-07-19 17:27  martinl
+
+	* lib/gis/location.c: libgis: use HOST_DIRSEP in filenames (see
+	  r65639)
+
+2015-07-19 17:16  martinl
+
+	* vector/v.in.ogr/main.c: v.out.ogr: guisection cosmetics
+
+2015-07-19 17:06  annakrat
+
+	* lib/python/temporal/gui_support.py: temporal: missing WHERE
+	  caused listing temporal datasets multiple times in selection
+	  widget
+
+2015-07-19 17:05  lucadelu
+
+	* gui/wxpython/tplot/frame.py, gui/wxpython/tplot/g.gui.tplot.py:
+	  update tplot; starting implementation of stvds thanks to matej
+	  krejci for the initial patch
+
+2015-07-19 16:53  martinl
+
+	* lib/gis/file_name.c: libgis: use HOST_DIRSEP in filenames (see
+	  #2712)
+
+2015-07-19 16:07  martinl
+
+	* lib/python/script: update svn props
+
+2015-07-19 15:58  annakrat
+
+	* raster/r.horizon/testsuite/test_r_horizon.py: r.horizon: fix test
+
+2015-07-19 15:53  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/modules/import_export.py: wxGUI: move import/export
+	  dialogs from `gui_core` to `modules`
+
+2015-07-19 15:44  annakrat
+
+	* raster/r.horizon/main.c: r.horizon: revert r65619, reorganize
+	  options in gui tabs, fix crash when step is not provided in
+	  raster mode
+
+2015-07-19 15:38  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/widgets.py:
+	  wxGUI: fix GdalSelect usage in forms
+
+2015-07-19 15:31  annakrat
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: include
+	  in command also parameters with value equal 0
+
+2015-07-19 15:07  wenzeslaus
+
+	* scripts/g.extension/g.extension.py: g.extension: clean code using
+	  PEP8 rules
+
+2015-07-19 14:52  martinl
+
+	* display/d.mon/d.mon.html: d.mon: note also d.frame
+
+2015-07-19 14:45  wenzeslaus
+
+	* raster/r.slope.aspect/main.c: fix missing semicolon in r65623
+	  
+	  This is a test commit for Travis CI builds which should not run.
+
+2015-07-19 14:44  martinl
+
+	* vector/v.external/args.c, vector/v.in.ogr/main.c:
+	  v.in.ogr/v.external: define gisprompt for input/layer to enable
+	  GdalSelect/LayersList to be used
+
+2015-07-19 14:43  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/widgets.py: wxGUI: implement possibility to
+	  use GdalSelect and LayersList in forms.py
+	  LayerList moved to widgets
+
+2015-07-19 14:37  wenzeslaus
+
+	* raster/r.slope.aspect/main.c: great improvement
+	  
+	  This is a test commit for Travis CI builds which should now fail.
+
+2015-07-19 14:16  madi
+
+	* vector/v.to.points/v.to.points.html: small typo fixed
+
+2015-07-19 13:53  annakrat
+
+	* raster/r.horizon/testsuite,
+	  raster/r.horizon/testsuite/test_r_horizon.py: r.horizon: add
+	  testsuite
+
+2015-07-19 13:51  annakrat
+
+	* raster/r.horizon/main.c: r.horizon: add default value 0 for step
+
+2015-07-18 17:09  annakrat
+
+	* raster/r.horizon/r.horizon.html: r.horizon: fix example
+
+2015-07-18 17:00  annakrat
+
+	* lib/gis/basename.c: r.horizon: fix formatting string, see #2624
+
+2015-07-18 16:05  wenzeslaus
+
+	* lib/python/gunittest/testsuite/test_assertions.py,
+	  lib/python/gunittest/testsuite/test_assertions_vect.py,
+	  lib/vector/testsuite/test_topology_vgeneralize.sh,
+	  raster/r.recode/testsuite/test_rrecode_ncspm.py,
+	  vector/v.net/testsuite/test_v_net.py,
+	  vector/v.what/testsuite/test_vwhat_ncspm.py: migrate tests to NC
+	  basic location (mostly aligned with new std dataset)
+
+2015-07-18 15:48  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib: use Sphinx links and other
+	  syntax changes
+
+2015-07-18 15:11  neteler
+
+	* gui/images/startup_banner.svg, gui/images/startup_banner.txt:
+	  startup banner: original SVG added
+
+2015-07-18 14:32  martinl
+
+	* gui/wxpython/gui_core/forms.py: attempt to fix 'ascii' codec
+	  can't decode byte 0xf6 in position 12: ordinal not in range(128)
+	  (#2703)
+
+2015-07-18 13:31  annakrat
+
+	* gui/wxpython/dbmgr/dialogs.py, gui/wxpython/vdigit/mapwindow.py:
+	  wxGUI/vdigit: fix attribute dialog blocking window on MacOSX with
+	  wxpython 3
+
+2015-07-18 13:00  wenzeslaus
+
+	* .travis.yml: add config file for Travis CI (author: Ivan Mincik)
+
+2015-07-18 10:47  glynn
+
+	* lib/raster/get_row.c: Fix NaN check in GDAL (r.external) support
+
+2015-07-17 07:40  martinl
+
+	* lib/vector/diglib/plus_struct.c: vlib: note v.build/v.build.all
+	  module when topology format is old (#2386)
+
+2015-07-16 12:39  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix r|v.proj functionality
+	  (see r65587)
+
+2015-07-16 09:44  zarch
+
+	* lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_modules.py:
+	  pygrass: Add a new method to check the correctness of the provide
+	  parameter, a new special parameter: check_ is added to skip the
+	  check
+
+2015-07-16 09:40  zarch
+
+	* lib/python/pygrass/modules/interface/testsuite/test_flag.py:
+	  pygrass: add test for Flag object
+
+2015-07-16 09:38  zarch
+
+	* lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/read.py: Add
+	  suppress_required attribute to the Flag object
+
+2015-07-15 17:27  zarch
+
+	* lib/python/pygrass/modules/interface/testsuite/test_modules.py:
+	  pygrass: change test to work on both python2 and python3
+
+2015-07-15 17:26  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: Add
+	  unicode variable to support python3
+
+2015-07-15 08:01  zarch
+
+	* lib/python/pygrass/modules/testsuite/test_import_isolation.py:
+	  pygrass: Add test to verify isolation of pygrass.modules.* from
+	  ctypes, thank you to Vaclav to share ideas
+
+2015-07-15 03:18  glynn
+
+	* raster/r.mapcalc/map.c: Prevent concurrent raster reads when a
+	  mask is present
+
+2015-07-14 19:06  annakrat
+
+	* gui/wxpython/animation/controller.py: wxGUI/animation: fix
+	  exporting animation with multiple views and no data frames
+
+2015-07-14 15:50  martinl
+
+	* raster/r.proj/main.c: r.proj: reorder options to avoid user
+	  confusion
+
+2015-07-14 15:49  martinl
+
+	* vector/v.proj/main.c: v.proj: reorder options to avoid user
+	  confusion
+
+2015-07-14 13:11  martinl
+
+	* lib/gis/file_name.c, lib/init/variables.html,
+	  lib/vector/Vlib/map.c: rename GRASS_TMPDIR_MAPSET to
+	  GRASS_VECTOR_TMPDIR_MAPSET
+
+2015-07-14 12:50  martinl
+
+	* lib/init/grass.py: partly re-introduce r65307 (see r65584)
+
+2015-07-14 05:41  hcho
+
+	* lib/init/grass.py: grass.py: reverted part of r65307 to allow
+	  aliases and custom prompt in ~/.grass7/bashrc again
+
+2015-07-11 14:01  neteler
+
+	* doc/parms_flags.txt, gui/wxpython/docs/wxGUI.nviz.html,
+	  gui/wxpython/gui_core/vselect.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/rlisetup/wizard.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.html,
+	  gui/wxpython/web_services/widgets.py, imagery/i.atcorr/6s.cpp,
+	  imagery/i.segment/create_isegs.c, include/iostream/empq_impl.h,
+	  lib/ogsf/gs2.c, lib/python/gunittest/case.py,
+	  lib/python/gunittest/reporters.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/utils.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/vector/Vlib/net_build.c, locale/po/grassmods_pt.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ko.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po,
+	  mswindows/GRASS-Installer.nsi.tmpl, raster/r.distance/defs.h,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.neighbors/r.neighbors.html, raster/r.null/r.null.html,
+	  raster/r.relief/r.relief.html, raster3d/r3.flow/r3.flow.html,
+	  temporal/t.rast.accdetect/t.rast.accdetect.html,
+	  temporal/t.rast.contour/t.rast.contour.html,
+	  temporal/t.rast.to.vect/t.rast.to.vect.html: various typo fixes,
+	  found by the Debian lintian QA tool
+
+2015-07-11 12:59  neteler
+
+	* raster/r.slope.aspect/r.slope.aspect.html: r.slope.aspect manual:
+	  cosmetics for hint on transformation of ccw aspect to azimuth
+	  (r65553)
+
+2015-07-11 10:20  neteler
+
+	* vector/v.colors/main.c: v.colors: msg fix
+
+2015-07-10 21:45  martinl
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI: menu label cosmetics
+
+2015-07-10 21:43  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapwin/decorations.py:
+	  wxGUI: fix rendering overlays (render by default)
+
+2015-07-10 21:08  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI: remove boundary from
+	  default options
+	  see r65567
+
+2015-07-10 21:05  martinl
+
+	* display/d.vect/main.c: d.vect: remove boundary from default
+	  options (boundaries are render
+	  when area type is given)
+	  It can speed up rendering maps with larger number of areas
+	  --
+	  This line, and those below, will beignored--
+	  
+	  M display/d.vect/main.c
+
+2015-07-10 16:40  martinl
+
+	* vector/v.colors/main.c: v.colors: reading from stdin is not
+	  supported, inform user about that
+
+2015-07-10 13:54  hcho
+
+	* general/g.list/list.c: g.list: Rename cmp to compare_elist
+
+2015-07-09 17:58  hcho
+
+	* general/g.list/main.c: g.list: Use G_options_* for checking
+	  parameter dependencies
+
+2015-07-09 17:42  hcho
+
+	* general/g.list/main.c: g.list: Remove unused define
+
+2015-07-09 17:40  hcho
+
+	* general/g.list/global.h, general/g.list/list.c,
+	  general/g.list/main.c: g.list: Split out list functions
+
+2015-07-09 11:27  mlennert
+
+	* raster/r.slope.aspect/r.slope.aspect.html: Added hint on
+	  transformation of ccw aspect to azimuth
+
+2015-07-08 04:13  zarch
+
+	* tools/g.html2man/g.html2man.py, tools/g.html2man/groff.py,
+	  tools/g.html2man/html.py, tools/g.html2man/rest.py: clean code
+	  using PEP8 rules, substitute mixed tab/space indentation with
+	  space
+
+2015-07-06 18:23  annakrat
+
+	* gui/wxpython/animation/data.py: wxGUI/animation: fix setting
+	  region, broken in r65226
+
+2015-07-02 20:45  neteler
+
+	* vector/v.vect.stats/main.c,
+	  vector/v.vect.stats/v.vect.stats.html: v.vect.stats: fixed error
+	  msgs; examples added
+
+2015-07-02 07:43  zarch
+
+	* tools/parser_standard_options.py: Add tool to generate a csv/html
+	  table from lib/gis/parser_standard_options.c file
+
+2015-07-02 06:32  zarch
+
+	* lib/python/pygrass/vector/testsuite/test_filters.py: pygrass: Add
+	  tests for Filters class
+
+2015-07-02 06:29  zarch
+
+	* lib/python/pygrass/vector/table.py: pygrass: Fix bug when the
+	  parameter in the order_by and group_by method is not unicode
+
+2015-07-01 22:00  annakrat
+
+	* lib/python/script/core.py, lib/python/script/task.py: wxGUI: fix
+	  #2634 by bringing back r64834 and removing unnecessary decode()
+
+2015-07-01 19:49  martinl
+
+	* lib/python/script/core.py: revert r64834, causes #2634
+
+2015-06-29 16:02  wenzeslaus
+
+	* lib/python/docs/src/pygrass_modules.rst,
+	  lib/python/docs/src/pygrass_vector.rst,
+	  lib/python/pygrass/tests/benchmark.py: pygrass: fix imports in
+	  doc to grass.pygrass
+
+2015-06-28 01:12  wenzeslaus
+
+	* lib/manage/do_remove.c: fix r65524 (wrong variable name)
+
+2015-06-26 21:29  huhabla
+
+	* lib/manage/do_remove.c: Avoid segfaults in case the mapset name
+	  is larger than 50 chars
+
+2015-06-26 19:12  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib: extend and modernize
+	  documentation of run and write_command functions
+
+2015-06-24 22:23  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py, lib/temporal/lib/default_name.c:
+	  temporal library: Store the default database connection as shell
+	  variable substitude to avoid wrong temporal database path's in
+	  cases the location was renamed or the path to the grass database
+	  changed.
+
+2015-06-23 16:19  neteler
+
+	* imagery/i.atcorr/geomcond.cpp, imagery/i.atcorr/geomcond.h,
+	  imagery/i.atcorr/i.atcorr.html, imagery/i.atcorr/iwave.cpp,
+	  imagery/i.atcorr/iwave.h,
+	  imagery/i.atcorr/sensors_csv/geoeye1.csv: i.atcorr: Geoeye1
+	  support added (contribution by Marco Vizzari, Perugia Italy)
+
+2015-06-22 02:43  annakrat
+
+	* gui/wxpython/wxplot/profile.py: wxGUI/plot: fix truncating values
+	  when exporting to csv
+
+2015-06-20 21:42  annakrat
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/iscatt/controllers.py,
+	  gui/wxpython/iscatt/core_c.py,
+	  gui/wxpython/iscatt/iscatt_core.py: wxGUI/iclass: fix basic
+	  functionality for Windows
+
+2015-06-18 19:00  glynn
+
+	* lib/gis/token.c: Fix handling of quotes in G_tokenize() (issue
+	  #2692)
+
+2015-06-18 15:55  mlennert
+
+	* locale/po/grasslibs_fr.po: one of the ERROR strings does not need
+	  a colon
+
+2015-06-17 14:14  mlennert
+
+	* locale/po/grasslibs_fr.po: cosmetics
+
+2015-06-17 03:04  annakrat
+
+	* vector/v.to.3d/testsuite, vector/v.to.3d/testsuite/test_vto3d.py:
+	  v.to.3d: add testsuite
+
+2015-06-17 02:29  annakrat
+
+	* vector/v.to.3d/trans3.c, vector/v.to.3d/v.to.3d.html: v.to.3d:
+	  make reverse transformation possible also for lines - contours
+
+2015-06-17 02:26  annakrat
+
+	* vector/v.to.3d/description.html: v.to.3d: remove redundant
+	  description.html
+
+2015-06-16 23:50  glynn
+
+	* include/defs/raster.h, lib/raster/get_row.c, lib/raster/open.c,
+	  raster/r.null/main.c: Expose Rast__read_null_bits()
+	  Fix bug in Rast__open_null_write()
+	  Fix r.null -z (read bits, not bytes)
+
+2015-06-16 23:22  glynn
+
+	* raster/r.null/main.c, raster/r.support/main.c: Set window before
+	  writing null file
+	  Add option to re-create null file to r.null
+
+2015-06-16 23:09  glynn
+
+	* include/defs/raster.h, lib/raster/put_row.c,
+	  raster/r.null/main.c, raster/r.support/main.c: Clean up
+	  compressed null support
+	  Fix r.null, r.support to handle compressed nulls
+
+2015-06-16 15:28  wenzeslaus
+
+	* vector/v.edit/testsuite,
+	  vector/v.edit/testsuite/select_all_flag.sh: v.edit: simple Bash
+	  test case for selecting all features (#2309)
+
+2015-06-16 15:18  wenzeslaus
+
+	* vector/v.category/testsuite/copy_multiple_cats.sh: v.category:
+	  wrong map name intest (fixes r65485)
+
+2015-06-16 14:18  wenzeslaus
+
+	* vector/v.category/testsuite,
+	  vector/v.category/testsuite/copy_multiple_cats.sh: v.category:
+	  add basic bash test case for #2618
+
+2015-06-15 02:55  wenzeslaus
+
+	* vector/v.extract/extract.c: v.extract: add main debug message to
+	  the extract_line function
+
+2015-06-14 21:18  wenzeslaus
+
+	* lib/python/script/setup.py: pythonlib: use 7, not 64 and bin not
+	  lib in init call example
+	  
+	  Alternative would be to use just universal /usr/bin/grass or even
+	  grass.
+
+2015-06-14 20:22  neteler
+
+	* doc/howto_release.txt: release notes updated
+
+2015-06-14 20:19  neteler
+
+	* config.guess, config.sub: config.guess + config.sub: updated from
+	  http://git.savannah.gnu.org/cgit/config.git/plain/
+
+2015-06-13 23:06  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: select msvrt libs
+	  by default
+
+2015-06-13 23:01  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: upgrade to
+	  msvcrt-1.0.1-12
+
+2015-06-13 09:25  martinl
+
+	* imagery/i.atcorr/i.atcorr.html: i.atcorr: fix typo in manual
+
+2015-06-12 22:03  martinl
+
+	* gui/wxpython/core/render.py: Rendering failed: Error reading PPM
+	  file (#2691)
+
+2015-06-12 21:40  martinl
+
+	* lib/gis/open.c: libgis: construct path after the mapset has been
+	  determined
+
+2015-06-12 20:23  martinl
+
+	* gui/wxpython/core/render.py: adding 3d raster layer broken
+	  (#2694)
+
+2015-06-12 19:51  wenzeslaus
+
+	* lib/python/gunittest/gmodules.py: gunittest: ellipsis in this
+	  contex has meaning for interpreter, using the actual keys (missed
+	  in r65435, originates in r65224)
+
+2015-06-12 07:57  mlennert
+
+	* vector/v.split/main.c: added flag to impose fixed length segments
+
+2015-06-12 01:45  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: automatically check and render d. commands entered through
+	  gui console
+
+2015-06-11 21:55  wenzeslaus
+
+	* vector/v.in.ascii/testsuite/test_csv.py: v.in.ascii: add test
+	  case with field delimeter in text field (extends r65427)
+
+2015-06-11 19:59  huhabla
+
+	* lib/python/temporal/core.py: Show a warning if a temporal
+	  database connection is defined, but the database file is not
+	  present
+
+2015-06-11 16:02  glynn
+
+	* lib/raster/close.c: Partial revert of r65348
+
+2015-06-11 15:03  annakrat
+
+	* mswindows/GRASS-Installer.nsi.tmpl: mswindows installer: attempt
+	  to fix #2448 by providing dummy GISRC
+
+2015-06-11 10:12  zarch
+
+	* lib/python/pygrass/modules/interface/env.py: pygrass: Remove
+	  dictionary comprehension for backward compatibility with
+	  python2.6
+
+2015-06-10 19:17  martinl
+
+	* lib/gis/open.c: r.info picks map from current Mapset instead of
+	  PERMANENT (#2687)
+
+2015-06-10 19:00  martinl
+
+	* include/defs/gis.h, lib/gis/file_name.c, lib/gis/tempfile.c,
+	  lib/init/clean_temp.c, lib/init/variables.html,
+	  lib/vector/Vlib/open.c: change GRASS_TMPDIR_MAPSET to be accepted
+	  only by vector library
+	  (see https://trac.osgeo.org/grass/ticket/2349#comment:36)
+
+2015-06-10 18:48  wenzeslaus
+
+	* lib/python/gunittest/gmodules.py,
+	  lib/python/gunittest/testsuite/test_gmodules.py: gunittest: add
+	  ellipsis to test data for additional items added in r65224
+
+2015-06-10 17:00  wenzeslaus
+
+	* vector/v.in.ascii/testsuite/test_csv.py: v.in.ascii: extend test
+	  case with more characters
+
+2015-06-10 13:09  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: check permission
+	  only when GRASS_ADDON_BASE exists
+
+2015-06-10 04:16  wenzeslaus
+
+	* lib/python/script/Makefile, lib/python/script/setup.py:
+	  pythonlib: use non-py extension for tmp file (r65345) to avoid
+	  picking of the file by autodoc, fix syntax in r65346
+
+2015-06-10 03:43  wenzeslaus
+
+	* vector/v.in.ascii/testsuite/test_csv.py: v.in.ascii: fix typo in
+	  real world data (fixes r65427)
+
+2015-06-10 03:40  wenzeslaus
+
+	* vector/v.in.ascii/testsuite,
+	  vector/v.in.ascii/testsuite/test_csv.py: v.in.ascii: simple CSV
+	  file test case
+	  
+	  The test file delimeter is failing. The text delim was added in
+	  r63581.
+
+2015-06-09 22:37  wenzeslaus
+
+	* lib/gis/testsuite/gis_lib_tokenize.py: libgis: simple test for
+	  number of tokens from G_tokenize2
+
+2015-06-08 09:18  zarch
+
+	* lib/python/pygrass/utils.py: pygrass: remove duplicated code, the
+	  code is now in: pygrass.modules.interface.docstring
+
+2015-06-08 07:23  neteler
+
+	* lib/python/temporal/temporal_raster_base_algebra.py:
+	  temporal_raster_base_algebra.py: white space cleanup
+
+2015-06-08 07:21  neteler
+
+	* lib/python/docs/src/temporal_framework.rst: temporal_framework
+	  docs: fix links
+
+2015-06-08 07:20  neteler
+
+	* vector/v.voronoi/main.c, vector/v.voronoi/v.voronoi.html:
+	  v.voronoi manual: fix examples
+
+2015-06-07 18:56  neteler
+
+	* raster/r.profile/r.profile.html: r.profile manual: examples
+	  tuning
+
+2015-06-07 18:50  neteler
+
+	* raster/r.profile/r.profile.html: r.profile manual: examples
+	  change to NC
+
+2015-06-07 18:26  neteler
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: fix msg
+
+2015-06-07 12:21  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: fix overwrite logic
+
+2015-06-07 11:35  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: wording (su or
+	  sudo)
+
+2015-06-07 11:27  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: run db.tables in quiet
+	  mode
+
+2015-06-07 11:22  martinl
+
+	* db/db.tables/main.c: db.table: check if driver is defined
+
+2015-06-07 11:21  neteler
+
+	* scripts/g.extension/g.extension.html: g.extension manual:
+	  extended
+
+2015-06-07 09:25  martinl
+
+	* raster/r.terraflow/main.cpp: r.terraflow: missing dot in
+	  description (cosmetics)
+
+2015-06-07 09:21  martinl
+
+	* raster/r.terraflow/main.cpp: r.terraflow: description cosmetics,
+	  more keywords
+
+2015-06-06 15:58  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: check if target
+	  directory is writable
+
+2015-06-06 14:25  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/dbmgr: attempt to fix
+	  #2661 (verify button)
+
+2015-06-06 14:09  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/dbmgr: enlarge SQL
+	  builder windows, see #2661
+
+2015-06-06 13:31  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: menu database
+	  consolidation (db.in/out.ogr)
+
+2015-06-06 12:37  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: fix variable typo (r65382)
+
+2015-06-06 09:55  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/import: add encoding
+	  widget when importing vectors
+
+2015-06-05 18:12  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.ogr: more guisections
+
+2015-06-04 21:31  neteler
+
+	* gui/wxpython/vdigit/g.gui.vdigit.html: wxGUI vdigit manual:
+	  expanded; HTML cosmetics
+
+2015-06-04 15:28  martinl
+
+	* gui/wxpython/location_wizard/wizard.py: wxGUI/location wizard:
+	  reorder options (EPSG by default)
+	  rename variables
+	  focus location name widget
+
+2015-06-04 13:26  martinl
+
+	* mswindows/osgeo4w/mklibs.sh: winGRASS: update VC version used on
+	  build server
+
+2015-06-03 14:08  neteler
+
+	* raster/r.relief/r.relief.html: r.relief manual: added Exporting
+	  shaded relief maps to GeoTIFF
+
+2015-06-02 12:04  neteler
+
+	* vector/v.to.points/main.c: v.to.points: keyword added
+
+2015-06-01 14:57  martinl
+
+	* include/defs/gis.h, lib/gis/file_name.c, lib/gis/mapset_msc.c,
+	  lib/gis/open.c, lib/gis/remove.c, lib/gis/rename.c,
+	  lib/gis/tempfile.c, lib/init/clean_temp.c, lib/init/grass.py,
+	  lib/init/variables.html, lib/raster/close.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_nat.c, lib/vector/Vlib/close_pg.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/local_proto.h, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c: make GRASS
+	  data TMPDIR configurable (GRASS_TMPDIR_MAPSET && TMPDIR)
+	  changes in API (new fns): G_file_name_tmp(),
+	  G_make_mapset_element_tmp(), G_recursive_remove()
+	  change GRASS_VECTOR_TEMPORARY to support various modes (delete,
+	  keep, and move)
+	  update GIS/Raster/Vector API to support this feature
+	  update initialization script to allow defining TMPDIR
+
+2015-06-01 14:42  wenzeslaus
+
+	* lib/init/grass.py: init: escape backslash in prompt string
+	  
+	  This avoids anomalous-backslash-in-string warning (W1401) in
+	  Pylint. It is just a warning because the unknown escape sequence
+	  is ignored and thus the backslash is preserved for bash. The
+	  other solution would be to use raw strings but this complicates
+	  usage of newline character. BTW, backslash lowercase w means
+	  'current absolute path' for bash.
+
+2015-06-01 04:04  wenzeslaus
+
+	* lib/python/script/setup.py: pythonlib: add example and addons to
+	  setup.init function
+	  
+	  Motivation:
+	  http://grasswiki.osgeo.org/w/index.php?title=Working_with_GRASS_without_starting_it_explicitly&diff=next&oldid=20818
+	  
+	  Adding also an example which is simplified but fully sufficient
+	  (and tested for extreme cases) version of the first example on
+	  the wiki page:
+	  http://grasswiki.osgeo.org/w/index.php?title=Working_with_GRASS_without_starting_it_explicitly&oldid=21422
+	  
+	  
+	  Documentation should be kept with API. There is a too many
+	  misteries related to this topic. More improvementes could be done
+	  with lib/init/grass.py functions generalized and moved to
+	  lib/python/script/setup.py (see TODOs in the code).
+
+2015-06-01 02:19  wenzeslaus
+
+	* lib/python/script/Makefile, lib/python/script/setup.py,
+	  lib/python/script/setup.py.sed: pythonlib: use .py extension for
+	  python files
+	  
+	  The tmp file is now directly in the source directory and deleted
+	  with make clean.
+	  
+	  This should enable autogenerating documentation from setup.py
+	  even when GRASS was not compiled. It also contributes to better
+	  editing.
+
+2015-05-31 14:44  martinl
+
+	* vector/v.random/main.c: v.random: add dblink after creation of
+	  attribute table
+
+2015-05-29 09:35  neteler
+
+	* general/g.mapsets/g.mapsets.html,
+	  general/g.mapsets/g_mapsets_gui.png: g.mapsets manual: screenshot
+	  added for g.mapsets GUI; text improvements; HTML cosmetics
+
+2015-05-28 16:07  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: pygrass: Fix
+	  exception check
+
+2015-05-28 15:58  zarch
+
+	* lib/python/pygrass/modules/interface/Makefile,
+	  lib/python/pygrass/modules/interface/env.py,
+	  lib/python/pygrass/modules/interface/module.py: pygrass: rm
+	  get_msgr from modules to avoid the ctypes use
+
+2015-05-26 18:02  martinl
+
+	* lib/db/dbmi_client/copy_tab.c: fix db_copy_table() for pg driver
+	  (db_list_tables() return names including schema name)
+
+2015-05-26 18:00  martinl
+
+	* db/drivers/postgres/dbdriver.h, db/drivers/postgres/table.c: pg
+	  driver: implement db__driver_drop_table
+
+2015-05-26 17:08  martinl
+
+	* lib/db/dbmi_base/login.c: dbmilib: fix get_login() initialize
+	  also host and port
+
+2015-05-26 17:07  martinl
+
+	* lib/db/dbmi_client/copy_tab.c: dbmilib: fix db_copy_table() -
+	  overwrite existing table
+
+2015-05-26 16:45  martinl
+
+	* db/drivers/sqlite/dbdriver.h, db/drivers/sqlite/table.c: sqlite
+	  driver: implement db__driver_drop_table()
+
+2015-05-26 13:19  martinl
+
+	* gui/wxpython/core/gthread.py, gui/wxpython/core/render.py: wxGUI:
+	  fix aborting render threads
+
+2015-05-26 12:49  martinl
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: simplify query code
+	  (cosmetics)
+
+2015-05-26 12:48  martinl
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: render query layers when
+	  added
+
+2015-05-26 12:32  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: fix debug message syntax
+	  ('command' can be list of commands)
+
+2015-05-26 12:29  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI: change default font
+	  encoding in settings to UTF-8
+
+2015-05-26 11:52  glynn
+
+	* include/defs/raster.h, lib/raster/close.c, lib/raster/open.c: Fix
+	  bugs in r65272 (compressed nulls)
+	  Add Rast__open_null_write, Rast__close_null
+
+2015-05-26 11:51  glynn
+
+	* lib/raster/put_row.c: Remove unused Rast__open_null_write()
+	  function
+
+2015-05-26 07:59  martinl
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI: fix SaveToFile() -
+	  multithread rendering
+
+2015-05-26 07:37  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: skip map layers which failed
+	  to be rendered
+
+2015-05-25 19:11  neteler
+
+	* lib/gis/renamed_options: renamed_options: added v.to.rast
+
+2015-05-25 19:04  neteler
+
+	* raster/r.surf.contour/r.surf.contour.html,
+	  vector/v.to.db/v.to.db.html, vector/v.to.rast/v.to.rast.html:
+	  manual: fix v.to.rast examples; HTML cosmetics
+
+2015-05-22 13:45  martinl
+
+	* display/d.mon/render_cmd.py: d.mon: fix overlays in standalone wx
+	  monitors
+
+2015-05-22 09:12  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: fix overlay id for
+	  standalone monitors (northarrow and legend has still issue with
+	  transparency, work in progress)
+
+2015-05-22 08:45  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/ws.py,
+	  gui/wxpython/mapdisp/main.py: wxGUI: fix zooming in wx monitors
+	  together with d.frame
+
+2015-05-22 08:42  martinl
+
+	* display/d.mon/render_cmd.py: d.mon: write frame info to cmd line
+	  (allows zooming in wx0 monitors)
+
+2015-05-21 21:45  martinl
+
+	* lib/init/grass.py: grass.py: don't overwrite environmental
+	  variables in bash_startup()
+
+2015-05-21 21:01  wenzeslaus
+
+	* general/g.gui/main.c: g.gui: add -f for start in the foreground,
+	  i.e. block the command line
+	  
+	  This is advantageos when passing g.gui as paramter to grass
+	  command (--exec, #2579, r65252, r65294). Without -f g.gui will
+	  exit which will end the GRASS session but running GUI will still
+	  be there without valid GISRC.
+	  
+	  This is also potentially advantageous for QGIS or any other 3rd
+	  party usage of some part of GUI, most notably 3D view (NVIZ)
+	  which can be imediately invoked using (properly generated)
+	  workspace file.
+
+2015-05-21 20:32  martinl
+
+	* scripts/d.frame/d.frame.py: d.frame: now also works with wx0
+	  monitors
+
+2015-05-21 20:20  martinl
+
+	* lib/python/script/task.py: pythonlib: fix typo
+
+2015-05-21 20:03  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: d.mon: input file has
+	  incorrect dimensions (#2680)
+
+2015-05-21 17:51  martinl
+
+	* display/d.mon/render_cmd.py: d.mon: fix r65300 to work with
+	  file-based monitors
+
+2015-05-21 17:42  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapdisp/main.py: wxGUI:
+	  avoid double rendering for new map layers (standalone wx
+	  monitors)
+
+2015-05-21 17:39  martinl
+
+	* display/d.mon/render_cmd.py, display/d.mon/start.c: d.mon: avoid
+	  doubled rendering for standalone wx monitors
+
+2015-05-21 16:34  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: don't modify render cmd,
+	  standalone monitors currently compares render commands
+
+2015-05-21 09:25  marisn
+
+	* display/d.linegraph/main.c, display/d.rast.num/main.c,
+	  display/d.vect/area.c, display/d.vect/lines.c,
+	  display/d.vect/main.c: Rename _n macro to n_ to avoid clashes
+	  with other libs (as sugested in dev ML) (some missed files in
+	  r65297)
+
+2015-05-21 09:23  marisn
+
+	* include/glocale.h, lib/gis/get_ellipse.c, lib/proj/ellipse.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_sfa.c,
+	  lib/vector/Vlib/cats.c, locale/Makefile, locale/README,
+	  raster/r.clump/main.c, raster/r.contour/cont.c,
+	  raster/r.cost/main.c, raster/r.fill.dir/dopolys.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.resamp.bspline/crosscorr.c, raster/r.resamp.rst/main.c,
+	  raster/r.sim/simlib/input.c,
+	  raster/r.stream.extract/del_streams.c, raster/r.surf.idw/main.c,
+	  raster/r.texture/main.c, raster/r.thin/io.c,
+	  raster/r.thin/thin_lines.c, raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  vector/v.build.polylines/main.c, vector/v.category/main.c,
+	  vector/v.edit/main.c, vector/v.edit/select.c,
+	  vector/v.external/list.c, vector/v.extract/main.c,
+	  vector/v.in.ascii/points.c, vector/v.in.db/main.c,
+	  vector/v.kernel/main.c, vector/v.lidar.correction/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.net.distance/main.c,
+	  vector/v.out.ascii/main.c, vector/v.out.ogr/main.c,
+	  vector/v.out.postgis/main.c, vector/v.out.pov/main.c,
+	  vector/v.overlay/area_area.c, vector/v.sample/main.c,
+	  vector/v.segment/main.c, vector/v.surf.idw/main.c,
+	  vector/v.surf.idw/read_sites.c, vector/v.voronoi/main.c,
+	  vector/v.voronoi/sw_main.c, vector/v.what.rast3/main.c: Rename _n
+	  macro to n_ to avoid clashes with other libs (as sugested in dev
+	  ML)
+
+2015-05-20 17:50  wenzeslaus
+
+	* lib/init/grass.py, lib/init/grass7.html: init: use standard long
+	  flag syntax for 'exec', improve its help
+
+2015-05-20 13:18  neteler
+
+	* raster/r.clump/clump.c: r.clump: G_percent() step cosmetics
+
+2015-05-20 13:04  annakrat
+
+	* gui/wxpython/modules/mapsets_picker.py: g.mapset: dialog must be
+	  destroyed, app.MainLoop seems not necessary here; remove unused
+	  imports, whitespace clean up
+
+2015-05-20 08:31  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: Change
+	  import
+
+2015-05-20 08:12  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: Remove
+	  unused code: mdebug decorator
+
+2015-05-19 19:17  wenzeslaus
+
+	* lib/init/grass.py: init: introduce main function, remove most of
+	  the global vars
+	  
+	  Add docstrings. Use better names where change was trivial.
+	  
+	  Code related to gisbase and language would still use some
+	  improvements.
+
+2015-05-19 17:47  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: Remove
+	  dependencies from ctypes for the Module class
+
+2015-05-19 15:27  neteler
+
+	* gui/wxpython/modules/mapsets_picker.py: wxGUI/g.mapsets -s:
+	  remove GuiModuleMain (see also r65163)
+
+2015-05-19 15:12  wenzeslaus
+
+	* lib/init/grass.py: init: move code from 'main' to functions,
+	  remove more usages of global variables
+
+2015-05-19 03:11  wenzeslaus
+
+	* lib/init/grass.py: init: pass explicitly variables related to
+	  shell, move code from 'main'
+
+2015-05-19 02:34  wenzeslaus
+
+	* lib/init/grass.py: init: introduce Cleaner class to manage files
+	  to clean up, reduce scope of variables
+
+2015-05-18 22:27  wenzeslaus
+
+	* lib/init/grass.py: init: introduce class for mapset and related
+	  variables to allow for return by value semantics
+
+2015-05-18 21:57  wenzeslaus
+
+	* lib/init/grass.py: init: simplify conditions for getting location
+	  and mapset, use more descriptive names for functions, add doc,
+	  fix bug in reading params from r65271
+
+2015-05-18 21:13  wenzeslaus
+
+	* lib/init/grass.py: init: refactor function for detecting and
+	  creating location and mapset
+
+2015-05-18 20:03  glynn
+
+	* lib/raster/open.c: Prioritise uncompressed null file over
+	  compressed null file (issue #2349)
+
+2015-05-18 19:41  glynn
+
+	* include/defs/raster.h, lib/raster/R.h, lib/raster/close.c,
+	  lib/raster/format.c, lib/raster/get_row.c, lib/raster/init.c,
+	  lib/raster/open.c, lib/raster/put_row.c: Support compressed null
+	  bitmap (issue #2349)
+
+2015-05-18 19:36  wenzeslaus
+
+	* lib/init/grass.py: init: store cmd line parameters in one object
+	  and avoid some global variables
+
+2015-05-18 18:04  wenzeslaus
+
+	* lib/init/grass7.html: init: simple example incluing GUI for exec
+	  param
+
+2015-05-18 17:22  wenzeslaus
+
+	* lib/init/grass.py: init: update help documentation, add exec
+	  param (see r65252)
+
+2015-05-18 16:39  wenzeslaus
+
+	* lib/init/grass.py: init: use format function with keys instead of
+	  % operator with positional params
+	  
+	  This is advantageous when num of items is higher then 1 or 2 (or
+	  20 in this case).
+	  
+	  Also moving version number to the second phase of help string
+	  construction to other vars it fits with.
+
+2015-05-18 15:39  wenzeslaus
+
+	* lib/init/grass.py: init: remove global variables from user,
+	  tmpdir and check GUI functions
+
+2015-05-18 09:16  neteler
+
+	* lib/cairodriver/cairodriver.html: cairodriver manual: SVG example
+	  added
+
+2015-05-17 17:24  neteler
+
+	* raster/r.surf.idw/r.surf.idw.html: r.surf.idw manual: commented
+	  example added (needs #2672 to be fixed)
+
+2015-05-17 12:40  neteler
+
+	* raster/r.surf.idw/main.c: r.surf.idw: exit with fatal error in
+	  case of FCELL or DCELL input
+
+2015-05-17 09:35  martinl
+
+	* lib/gis/parser.c: libgis: debug message cosmetics
+	  (option_to_separator moved to level 3)
+
+2015-05-17 01:08  martinl
+
+	* lib/init/grass.py: grass.py: fix cleanup - must be registered
+	  when tmpdir variable is initialized
+
+2015-05-17 01:01  martinl
+
+	* lib/init/grass.py: grass.py: don't discard clean_temp stderr
+	  output
+
+2015-05-16 17:28  martinl
+
+	* lib/init/grass.py: grass.py: promote TMPDIR environmental
+	  variable
+
+2015-05-16 16:20  martinl
+
+	* gui/wxpython/core/render.py: wxGUI/render: fix multithread
+	  rendering to work in mapswipe
+
+2015-05-16 14:49  martinl
+
+	* gui/wxpython/core/render.py: wxGUI/render: layer.Render() env
+	  optional (attempt to fix mapswipe)
+
+2015-05-15 21:56  wenzeslaus
+
+	* lib/init/grass.py: init: cleanup some strings and comments
+
+2015-05-15 20:57  wenzeslaus
+
+	* lib/init/grass.py: init: execute command specified as parameter,
+	  see #2579
+	  
+	  Implements parameter (subcommand) exec for executing 'batch jobs'
+	  from command line. The current syntax is:
+	  grass71 /grassdata/location/mapset exec g.region -p
+	  where any original grass71 parameter can stand before exec and
+	  after exec arbitrary command line parameters can be placed (first
+	  is considered to be the executable).
+	  
+	  Tested for modules and Python scripts. Probably cannot work under
+	  MS Windows for Python (modules and user scripts) but it should
+	  work when an interpreter is specified explicitly.
+
+2015-05-15 16:04  wenzeslaus
+
+	* lib/init/grass.py: init: remame gfile to gpath and use it as it
+	  was designed, see also r65248
+
+2015-05-15 15:46  wenzeslaus
+
+	* lib/init/grass.py: init: implement functions for debugging
+	  
+	  Solves the debug mode by proper means, not by ad hoc tests.
+	  Follows style which is in grass.script.core.
+
+2015-05-15 15:42  hcho
+
+	* raster/r.topidx/main.c, raster/r.topidx/topidx.c: r.topidx:
+	  indent
+
+2015-05-15 14:45  wenzeslaus
+
+	* lib/init/grass.py: init: use a separate function for wxpython gui
+	  paths
+	  
+	  The previous code was using os.path.join feature which ignores
+	  previous paths when absolute path was given in somewhere in the
+	  list. This does not look like an intention.
+	  
+	  Also fixing one usage of global variable which should have been
+	  already removed in r65246.
+
+2015-05-15 14:11  wenzeslaus
+
+	* lib/init/grass.py: init: remove usage of invalid parameters in
+	  startup screen related code
+	  
+	  Start of the main GUI is controlled in different way then with
+	  gis_set.py, so the parameter was unused.
+	  
+	  Instead, use parameter for GUI type and call function only when
+	  it is needed.
+
+2015-05-15 13:52  wenzeslaus
+
+	* lib/init/grass.py: init: make gui type related decisions explicit
+	  
+	  * remove few more usages of global variables (still using the
+	  same name, so shadowing the globals, but this will disappear in
+	  the future)
+	  * provide details in no GUI message, fix strange (and harmless)
+	  syntax
+	  * call functions only when they are needed, rather then doing
+	  these checks inside the fuctions (be explicit)
+
+2015-05-15 12:38  martinl
+
+	* include/Make/Compile.make: Compile.make: change order of ldflags
+	  (gcc 4.8+ is more sensitive)
+
+2015-05-15 09:22  martinl
+
+	* gui/wxpython/core/render.py: wxGUI/render: fix rendering overlays
+
+2015-05-15 03:30  annakrat
+
+	* gui/wxpython/rdigit/controller.py: wxGUI/rdigit: fix undo and
+	  saving when quitting
+
+2015-05-15 03:17  wenzeslaus
+
+	* lib/init/grass.py: init: explicitly pass gisrc and tmpdir paths
+	  
+	  Also removes one unnecessary cleanup call and removes need for
+	  one top level variable.
+	  
+	  Adding also missing global statement reported by pylint.
+
+2015-05-15 02:51  annakrat
+
+	* gui/wxpython/core/render.py: wxGUI: fix after the new rendering
+	  implementation - force rerendering map when activated (zoom and
+	  position could change)
+
+2015-05-15 02:38  annakrat
+
+	* gui/wxpython/core/render.py: wxGUI: recover after rendering fails
+
+2015-05-15 02:13  wenzeslaus
+
+	* lib/init/grass.py: init: simplify batch job code
+	  
+	  * remove usage of global variable (prefer parameters and return
+	  values)
+	  * also fixes bug where gis_set was started for batch job (setting
+	  variable without global statement sets a new local one)
+	  * remove dead code
+	  * merge scattered if branches
+
+2015-05-15 01:20  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: removed item (g.region
+	  zoom) from layer context menu
+
+2015-05-14 13:00  martinl
+
+	* gui/wxpython/gui_core/mapdisp.py: wxGUI/MapFrame: define default
+	  values from name/title as empty string instead of None (avoid
+	  wx.Frame initialization failure)
+
+2015-05-13 12:47  martinl
+
+	* gui/wxpython/core/render.py: wxGUI/render: replace CmdThread by
+	  gThread (multithread rendering optimization)
+
+2015-05-13 06:52  neteler
+
+	* raster/rasterintro.html, vector/vectorintro.html: manual: mention
+	  r.[un]pack and v.[un]pack in intro texts
+
+2015-05-12 21:11  wenzeslaus
+
+	* raster/r.out.gdal/r.out.gdal.html, scripts/r.pack/r.pack.html,
+	  scripts/r.pack/r.pack.py, scripts/r.unpack/r.unpack.html,
+	  scripts/r.unpack/r.unpack.py, scripts/v.pack/v.pack.html,
+	  scripts/v.pack/v.pack.py, scripts/v.unpack/v.unpack.html,
+	  scripts/v.unpack/v.unpack.py,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.import/t.vect.import.html,
+	  vector/v.out.ogr/v.out.ogr.html: clear meaning of packing (use
+	  export as in temporal), interlink the modules
+
+2015-05-12 19:20  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: fix calling
+	  wx.EndBusyCursor() on Windows (render in threads)
+
+2015-05-12 18:13  martinl
+
+	* lib/python/script/core.py: pythonlib: fix region() - support
+	  'projection' and 'zone'
+
+2015-05-12 18:12  martinl
+
+	* display/d.mon/render_cmd.py: d.mon: refactorize render command
+	  script into functions
+	  speed-up: perform region adjustment
+
+2015-05-12 18:09  martinl
+
+	* general/g.region/printwindow.c: g.region: print projection and
+	  zone info in shell script output (it's useful when building
+	  GRASS_REGION string)
+
+2015-05-11 00:11  annakrat
+
+	* raster/r.carve/r.carve.html, raster/r.drain/r.drain.html,
+	  raster/r.in.lidar/r.in.lidar.html, raster/r.in.mat/r.in.mat.html,
+	  raster/r.in.xyz/r.in.xyz.html, raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.out.mpeg/r.out.mpeg.html, raster/r.random/r.random.html,
+	  raster/r.surf.idw/r.surf.idw.html,
+	  raster/r.texture/r.texture.html,
+	  raster/r.timestamp/r.timestamp.html,
+	  raster/r.to.vect/r.to.vect.html,
+	  raster3d/r3.timestamp/r3.timestamp.html,
+	  scripts/r.tileset/r.tileset.html,
+	  scripts/r3.in.xyz/r3.in.xyz.html,
+	  vector/v.net.visibility/v.net.visibility.html,
+	  vector/v.parallel/v.parallel.html, vector/v.qcount/v.qcount.html,
+	  vector/v.reclass/v.reclass.html, vector/v.segment/v.segment.html,
+	  vector/v.surf.bspline/v.surf.bspline.html,
+	  vector/v.timestamp/v.timestamp.html,
+	  vector/v.vol.rst/v.vol.rst.html: rename section BUGS to KNOWN
+	  ISSUES in manuals
+
+2015-05-10 21:26  annakrat
+
+	* raster/r.surf.idw/r.surf.idw.html: r.surf.idw: add known issue to
+	  manual
+
+2015-05-10 21:06  annakrat
+
+	* raster/r.surf.idw/main.c: r.surf.idw: fix null value condition,
+	  #2671
+
+2015-05-10 19:52  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapwin/buffered.py:
+	  wxGUI: partly re-enable layerChanged events (rendering in
+	  threads, work in progress)
+
+2015-05-10 12:16  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/ws.py: wxGUI: fix
+	  RenderWMSMgr to work with RenderMapMgr
+
+2015-05-10 11:14  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: fix Map.AbortAllThreads()
+
+2015-05-10 09:53  martinl
+
+	* gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/web_services/widgets.py: wxGUI: cosmetics in WMS
+	  dialog
+
+2015-05-10 09:51  martinl
+
+	* gui/wxpython/web_services/widgets.py: wxGUI/ws: fix dialog for
+	  wxPython 3.0
+
+2015-05-10 09:13  martinl
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI: update vdigit to r65205
+
+2015-05-10 09:01  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/ws.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/mapwin/buffered.py:
+	  wxGUI: implement RenderLayerMgr and RenderMapMgr to render map
+	  layers in threads
+
+2015-05-09 20:47  wenzeslaus
+
+	* general/g.list/testsuite/test_g_list.py,
+	  general/g.remove/testsuite/test_g_remove.py,
+	  general/g.rename/testsuite/test_overwrite.py,
+	  lib/python/docs/src/gunittest_testing.rst,
+	  lib/python/exceptions/testsuite/test_ScriptError.py,
+	  lib/python/gunittest/__init__.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_error.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_import_error.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_gfatalerror.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_one.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_zero.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_segfaut.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_one.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_zero.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_test_fail/testsuite/test_fail.py,
+	  lib/python/gunittest/testsuite/data/samplecode/testsuite/test_good_and_bad.py,
+	  lib/python/gunittest/testsuite/data/samplecode/testsuite/test_success.py,
+	  lib/python/gunittest/testsuite/test_assertions.py,
+	  lib/python/gunittest/testsuite/test_assertions_rast3d.py,
+	  lib/python/gunittest/testsuite/test_assertions_vect.py,
+	  lib/python/gunittest/testsuite/test_checkers.py,
+	  lib/python/gunittest/testsuite/test_doctests.py,
+	  lib/python/gunittest/testsuite/test_gmodules.py,
+	  lib/python/gunittest/testsuite/test_module_assertions.py,
+	  lib/python/pygrass/gis/testsuite/test_doctests.py,
+	  lib/python/pygrass/gis/testsuite/test_gis.py,
+	  lib/python/pygrass/messages/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/grid/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_modules.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_parameter.py,
+	  lib/python/pygrass/modules/testsuite/test_doctests.py,
+	  lib/python/pygrass/raster/testsuite/test_category.py,
+	  lib/python/pygrass/raster/testsuite/test_doctests.py,
+	  lib/python/pygrass/raster/testsuite/test_history.py,
+	  lib/python/pygrass/raster/testsuite/test_raster.py,
+	  lib/python/pygrass/shell/testsuite/test_doctests.py,
+	  lib/python/pygrass/testsuite/test_doctests.py,
+	  lib/python/pygrass/vector/testsuite/test_doctests.py,
+	  lib/python/pygrass/vector/testsuite/test_geometry.py,
+	  lib/python/pygrass/vector/testsuite/test_table.py,
+	  lib/python/pygrass/vector/testsuite/test_vector.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py,
+	  lib/python/script/testsuite/test_doctests.py,
+	  lib/python/script/testsuite/test_start_command_functions.py,
+	  lib/python/script/testsuite/test_start_command_functions_nc.py,
+	  lib/python/temporal/testsuite/test_doctests.py,
+	  lib/python/temporal/testsuite/test_register_function.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py,
+	  raster/r.in.poly/testsuite/test_rinpoly.py,
+	  raster/r.mapcalc/testsuite/test_r3_mapcalc.py,
+	  raster/r.mapcalc/testsuite/test_r_mapcalc.py,
+	  raster/r.profile/testsuite/test_profile_ncspm.py,
+	  raster/r.recode/testsuite/test_rrecode_ncspm.py,
+	  raster/r.slope.aspect/testsuite/test_r_slope_aspect.py,
+	  raster/r.viewshed/testsuite/test_r_viewshed.py,
+	  raster/r.watershed/testsuite/r_watershed_test.py,
+	  raster3d/r3.flow/testsuite/r3flow_test.py,
+	  raster3d/r3.gradient/testsuite/r3gradient_test.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py,
+	  temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py,
+	  temporal/t.vect.algebra/testsuite/test_vector_algebra.py,
+	  vector/v.net/testsuite/test_v_net.py,
+	  vector/v.what/testsuite/test_vwhat_layers.py,
+	  vector/v.what/testsuite/test_vwhat_ncspm.py: gunittest: use empty
+	  init file to avoid unnecessary imports in extreme cases
+	  
+	  Imports now must be more explicit and longer but they are copy
+	  pasted anyway.
+	  
+	  Changing all usages to new style. Only doctest test files are
+	  using different style.
+
+2015-05-09 20:27  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: #2313 copy button added
+	  (author Robert Kuszinger)
+
+2015-05-09 19:18  martinl
+
+	* display/d.mon/Makefile, display/d.mon/render_cmd.py,
+	  display/d.mon/start.c: d.mon: store default render command
+	  program in a separate file
+
+2015-05-09 18:17  martinl
+
+	* include/Make/Module.make: Module.make: add rule for ETCFILES
+
+2015-05-09 03:31  wenzeslaus
+
+	* lib/python/script/task.py: pythonlib: more error for
+	  script.task.parse_interface
+	  
+	  Trying to avoid any possible unhandled excpetion when parsing
+	  modules. This helps modules which are parsed on startup to
+	  construct menus (toolboxes).
+	  
+	  Motivation is an the following reported
+	  (http://lists.osgeo.org/pipermail/grass-dev/2015-May/074999.html)
+	  error:
+	  ParseError: not well-formed (invalid token): line 17, column 19
+	  which occured in parse_interface during _expandRuntimeModules in
+	  toolboxes.py
+
+2015-05-09 02:53  wenzeslaus
+
+	* gui/wxpython/Makefile, gui/wxpython/core/toolboxes.py:
+	  wxGUI/toolboxes: try to read XMLs after writing them
+	  
+	  
+	  This is just to be sure they are basically OK.
+	  
+	  We cannot use DTD validation beacause it is not available in
+	  standard Python and even if we would use lxml, if available, we
+	  would have to do the same for writing to write down DOCTYPE line.
+
+2015-05-05 10:36  martinl
+
+	* lib/gis/error.c, lib/gis/get_window.c, lib/gis/gis_local_proto.h,
+	  lib/gis/gisinit.c, lib/gis/home.c, lib/gis/local_proto.h,
+	  lib/gis/mapset_nme.c, lib/gis/open.c, lib/gis/open_misc.c,
+	  lib/gis/put_window.c, lib/gis/rd_cellhd.c, lib/gis/set_window.c,
+	  lib/gis/tempfile.c: libgis: merge local_proto.h with
+	  gis_local_proto.h
+
+2015-05-04 16:50  martinl
+
+	* lib/gis/copy_dir.c: libgis: doxygenize copy_dir.c
+
+2015-05-04 13:48  zarch
+
+	* lib/python/pygrass/modules/interface/Makefile,
+	  lib/python/pygrass/modules/interface/docstring.py,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/typedict.py: pygrass: Remove
+	  import from utils, because utils require ctypes
+
+2015-05-03 14:28  martinl
+
+	* display/d.mon/start.c: d.mon: remove unused variables (see
+	  r65182)
+
+2015-05-03 14:26  martinl
+
+	* display/d.mon/main.c, display/d.mon/start.c: d.mon: fix
+	  width/height handling with respect to `resolution`
+
+2015-05-03 14:11  martinl
+
+	* display/d.mon/proto.h, display/d.mon/start.c: d.mon: write
+	  WIDTH/HEIGHT variables to env file also on default value
+
+2015-05-03 11:24  martinl
+
+	* lib/init/grass.py, mswindows/env.bat,
+	  mswindows/osgeo4w/env.bat.tmpl, scripts/g.manual/g.manual.py:
+	  attempt to fix g.manual on Windows (see also r65179)
+
+2015-05-03 11:16  martinl
+
+	* scripts/g.manual/g.manual.py: g.manual: use webbrowser package
+	  (attempt to fix g.manual on Windows)
+
+2015-05-03 10:07  martinl
+
+	* display/d.mon/main.c, display/d.mon/start.c: d.mon: fix to
+	  respect GRASS_RENDER_HEIGHT and GRASS_RENDER_WIDTH
+
+2015-05-03 09:46  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix importing vectors
+	  with one geometry column
+
+2015-05-01 10:25  neteler
+
+	* display/d.rast.num/d.rast.num.html: d.rast.num manual: example +
+	  screenshot added
+
+2015-05-01 10:24  neteler
+
+	* display/d.rast.num/d_rast_num_zoom.png: svn propset
+
+2015-05-01 10:19  neteler
+
+	* raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.grow.distance/r_grow_distance_zoom.png: r.grow.distance:
+	  screenshot added
+
+2015-04-30 04:54  hcho
+
+	* raster/r.carve/enforce_ds.c: r.carve: Add points closest to the
+	  center of each stream grid rather than adding each vertex
+	  multiple times at the same location
+
+2015-04-30 03:55  hcho
+
+	* raster/r.carve/enforce_ds.c: r.carve: Remove a duplicate variable
+	  name; Combine two ifs
+
+2015-04-30 03:51  hcho
+
+	* raster/r.carve/enforce_ds.c: r.carve: Fix the distance
+	  calculation/comparison and add bounding row & col.
+	  
+	  http://osgeo-org.1560.x6.nabble.com/r-carve-not-working-in-GRASS7-td5105018.html
+
+2015-04-28 05:49  hcho
+
+	* raster/r.topmodel/main.c: r.topmodel: remove trailing tabs (test
+	  commit from a new pc)
+
+2015-04-27 19:06  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/mapdisp/main.py: wxGUI: modify standalone wx0
+	  monitors to render map layers into
+	  mapfile to void g.pnmcomp call (work in progress) see also #2286
+
+2015-04-27 19:04  martinl
+
+	* gui/wxpython/mapwin/decorations.py: wxGUI: define OverlayId class
+
+2015-04-27 06:49  lucadelu
+
+	* scripts/d.rast.leg/d.rast.leg.py: d.rast.leg: fixes trunk r64459;
+	  PEP8 cleanup
+
+2015-04-27 03:59  wenzeslaus
+
+	* raster/r.watershed/testsuite,
+	  raster/r.watershed/testsuite/r_watershed_test.py: r.watershed:
+	  add test (author: Stephanie Wendel, swendel621, #2663)
+	  
+	  * original repository:
+	  https://github.com/swwendel/GRASS-r.Watershed-UnitTest
+	  * additional PEP8 changes, introducing few more variables,
+	  changed cls to self for normal methods, shorten or reformated
+	  comments, TODOs, optimize imports, simplify list syntax for
+	  g.remove
+
+2015-04-26 20:26  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: FR translation
+	  cont'ed
+
+2015-04-25 20:50  martinl
+
+	* lib/python/docs, lib/python/docs/_templates: libpython svn:ignore
+	  cosmetics
+
+2015-04-25 20:49  martinl
+
+	* lib/python/docs, lib/python/docs/_build: libpython: clean up docs
+	  (remove empty _build dir)
+
+2015-04-25 20:19  martinl
+
+	* vector/v.colors/write_rgb.c: v.colors: do not escape table name
+	  (breaks tables with schema)
+
+2015-04-25 10:31  martinl
+
+	* vector/v.overlay/main.c: v.overlay: more keywords
+
+2015-04-25 10:30  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: enlarge OFTIntegerListlength to
+	  handle larger values
+
+2015-04-25 10:29  martinl
+
+	* lib/vector/Vlib/copy.c, lib/vector/Vlib/write_ogr.c,
+	  lib/vector/Vlib/write_pg.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/struct_alloc.c: vlib: consolidate debug levels
+	  (cosmetics)
+
+2015-04-25 10:28  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib: fix Vect__execute_pg() to handle
+	  long SQL statements on failure
+
+2015-04-24 17:52  annakrat
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/sqlbuilder: fix button
+	  placement #2661
+
+2015-04-24 15:17  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: remove old comment related to
+	  r65110
+
+2015-04-23 14:27  annakrat
+
+	* scripts/v.in.e00/v.in.e00.py: v.in.e00: fix interface, import
+	  only 1 vector type
+
+2015-04-23 06:20  neteler
+
+	* raster/r.thin/io.c: r.thin: msg standardization
+
+2015-04-21 22:24  lucadelu
+
+	* lib/python/docs/src/pygrass_raster.rst,
+	  lib/python/pygrass/tests/benchmark.py: pygrass: removed
+	  references to RasterNumpy
+
+2015-04-21 16:36  neteler
+
+	* raster/r.compress/r.compress.html: r.compress manual: mention
+	  GRASS_ZLIB_LEVEL
+
+2015-04-21 13:27  neteler
+
+	* raster/r.compress/main.c, raster/r.compress/r.compress.html:
+	  r.compress: print flag added; examples added
+
+2015-04-20 15:15  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix change current writing
+	  directory on Mac - style=wx.DD_CHANGE_DIR is not working on Mac
+
+2015-04-20 14:08  neteler
+
+	* raster/r.thin/r.thin.html: r.thin manual: cosmetics
+
+2015-04-20 10:11  marisn
+
+	* raster/r.thin/io.c, raster/r.thin/main.c,
+	  raster/r.thin/thin_lines.c: r.thin: Remove unused error_prefix
+
+2015-04-19 11:13  martinl
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: fix
+	  Area.boundaries()
+
+2015-04-19 09:23  martinl
+
+	* lib/python/docs/src/pygrass_vector.rst: pygrass manual cosmetics
+	  (highlight)
+
+2015-04-19 09:20  martinl
+
+	* man/build_html.py: manual index: add link to pygrass
+
+2015-04-19 09:15  martinl
+
+	* lib/python/docs/src/pygrass_vector.rst: pygrass docs: fix syntax
+	  typos (cosmetics)
+
+2015-04-18 15:26  martinl
+
+	* lib/python/docs/src/pygrass_modules.rst: pygrass manual: add
+	  missing import (PIPE)
+
+2015-04-17 21:26  madi
+
+	* vector/vectorintro.html: v.vect.stats added to vectorintro.html
+
+2015-04-17 09:10  martinl
+
+	* temporal/t.connect/t.connect.html: t.connect: fix manual syntax
+	  typo
+
+2015-04-17 09:08  martinl
+
+	* db/db.connect/db.connect.html: db.connect: update manual to use
+	  `db.login host= port=`
+
+2015-04-17 08:16  marisn
+
+	* raster/r.thin/main.c, raster/r.thin/r.thin.html: Change r.thin
+	  documentation to match module behaviour introduced in r44866
+
+2015-04-16 11:20  zarch
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: Check returned
+	  value from Vect_point_on_line function
+
+2015-04-16 09:59  zarch
+
+	* lib/python/pygrass/vector/table.py: pygrass: Add VARCHAR column
+	  support on Table
+
+2015-04-15 07:14  martinl
+
+	* db/db.login/db.login.html, db/db.login/main.c,
+	  db/drivers/mysql/db.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/listdb.c: db.login + pg & mysql driver:
+	  support hostname and port
+
+2015-04-15 07:11  martinl
+
+	* include/dbmi.h, include/defs/dbmi.h, lib/db/dbmi_base/connect.c,
+	  lib/db/dbmi_base/login.c, lib/vector/Vlib/open_pg.c: dbmi: add
+	  db_get|set_login2() which supports also hostname and port
+
+2015-04-15 01:43  annakrat
+
+	* scripts/v.in.e00/v.in.e00.py: v.in.e00: fix different mistakes,
+	  see #2652
+
+2015-04-14 19:45  hcho
+
+	* display/d.mon/list.c: d.mon: Allocate less memory
+
+2015-04-14 19:41  hcho
+
+	* display/d.mon/list.c: d.mon: Fix d.mon -l/stop
+
+2015-04-09 02:40  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: attempt to fix #2650
+
+2015-04-08 20:18  turek
+
+	* gui/wxpython/vnet/vnet_core.py: wx.vnet: completion of r64373
+
+2015-04-08 19:58  turek
+
+	* gui/wxpython/vnet/vnet_data.py: wx.vnet: merge with G7 r63953
+
+2015-04-08 19:10  neteler
+
+	* raster/r.random.cells/r.random.cells.html: r.random.cells manual:
+	  no data areas are now set to Null, not 0 (fixes trac #2621)
+
+2015-04-07 19:18  neteler
+
+	* raster/r.random.cells/indep.c: r.random.cells: set no data areas
+	  to Null, not 0 (fixes trac #2621)
+
+2015-04-07 12:51  neteler
+
+	* gui/wxpython/vdigit/g.gui.vdigit.html: g.gui.vdigit manual: Wiki
+	  ref added
+
+2015-04-07 12:08  zarch
+
+	* lib/python/docs/src/pygrass_modules.rst: Update documentation,
+	  thanks to Martin
+
+2015-04-07 10:00  neteler
+
+	* vector/v.vol.rst/v.vol.rst.html: v.vol.rst manual: wmult ->
+	  wscale
+
+2015-04-07 09:59  neteler
+
+	* vector/v.vol.rst/v.vol.rst.html: v.vol.rst manual: zmult ->
+	  zscale
+
+2015-04-06 21:28  annakrat
+
+	* lib/nviz/nviz.c: libnviz: fix stupid for loop mistake when
+	  freeing memory
+
+2015-04-06 20:58  neteler
+
+	* AUTHORS: AUTHORS: some updates
+
+2015-04-06 09:49  turek
+
+	* gui/wxpython/vnet/vnet_data.py: wx.vnet: merge with G7 r63962
+
+2015-04-06 01:39  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/composer: catch error due to
+	  Ghostscript missing or not on path
+
+2015-04-04 04:07  annakrat
+
+	* gui/wxpython/animation/dialogs.py: wxGUI/animation: fix speed
+	  dialog caused by granularirty problem (day vs days), do not
+	  restrict the animation speed
+
+2015-04-02 22:26  turek
+
+	* gui/wxpython/vnet/dialogs.py: wx.vnet: fix windows layout
+
+2015-04-01 12:38  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Fix undefined
+	  limits in the Parameter class
+
+2015-04-01 11:23  huhabla
+
+	* lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py:
+	  temporal framework: Patch from Thomas Leppelt, adding merge
+	  function to algebra
+
+2015-03-31 02:55  annakrat
+
+	* lib/rst/interp_float/output2d.c: v.surf.rst: sync elevation color
+	  table with the new elevation table
+
+2015-03-30 21:43  martinl
+
+	* demolocation/grassrc.tmpl, lib/init/variables.html,
+	  lib/python/script/core.py: GRASS_DB_ENCODING is environmental
+	  variable
+
+2015-03-26 17:12  neteler
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed manual:
+	  clarify low mem max amount of pixels
+
+2015-03-25 20:12  martinl
+
+	* scripts/g.extension/g.extension.py: g.extention: improve handling
+	  of broken zipfiles on Windows
+
+2015-03-25 13:25  annakrat
+
+	* scripts/v.what.vect/v.what.vect.py: v.what.vect: add parser
+	  guidependency property for 2 vectors, still it is not working in
+	  GUI properly
+
+2015-03-24 13:01  neteler
+
+	* lib/raster/put_row.c: libraster: use strerror(errno)
+
+2015-03-24 09:23  lucadelu
+
+	* scripts/r.unpack/r.unpack.py: r.unpack: added -o flag to
+	  overwrite project system; thanks to Nikos Alexandris
+
+2015-03-23 19:44  wenzeslaus
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.daemon/r.li.daemon.html, raster/r.li/r.li.html:
+	  r.li: change calculateIndex interface to respect the way how it
+	  is used in r.li modules
+	  
+	  * r.li modules were returning 1 as return code on success
+	  * now r.diversity works
+	  * alternative, more invasive change would be to leave
+	  calculateIndex interface as is a change all calls (it's not clear
+	  what was the original intention)
+	  * add r.le paper to r.li references
+	  * more explanation for developer things in user documentation
+
+2015-03-21 10:42  neteler
+
+	* general/g.mapset/main.c: g.mapset: msg modified to be less
+	  mysterious when used in scripts
+
+2015-03-20 20:25  neteler
+
+	* raster/r.to.rast3/r.to.rast3.html: r.to.rast3 manual: some
+	  improvements
+
+2015-03-19 18:24  wenzeslaus
+
+	* lib/python/gunittest/invoker.py: gunittest: switch to more plain
+	  percentage output (#2458, percentage in standard format are
+	  replaced by new percentage which might give strange results when
+	  included into a text file)
+
+2015-03-18 20:31  wenzeslaus
+
+	* raster/r.mapcalc/testsuite/test_r_mapcalc.py: r.mapcalc: new
+	  reference data for test generated using new seed implementation
+	  (r64709)
+	  
+	  As noted in grass-dev 'r.mapcalc random result different on MS
+	  Windows with same seed'
+	  (http://lists.osgeo.org/pipermail/grass-dev/2015-February/074134.html)
+	  r64709 changes the results for rand in r.mapcalc when CELL
+	  (integer) type raster is generated and although the
+	  implementation is still not perfect, it should work on most
+	  common platforms.
+	  
+	  This result was generated on 64bit GNU/Linux but should also work
+	  on 64bit MS Windows with 32bit GRASS GIS. No further changes
+	  should be necessary after r64709. (r.mapcalc random results are
+	  expected to be consitent across different platfroms since r61353
+	  and r61350.)
+
+2015-03-18 19:55  wenzeslaus
+
+	* temporal/t.rast.what/testsuite/test_what.py: t.rast.what: update
+	  test to use MD5 for text files (implemented in r64734), remove
+	  unused imports from test
+
+2015-03-16 21:44  wenzeslaus
+
+	* raster/r.patch/do_patch.c, raster/r.patch/local_proto.h,
+	  raster/r.patch/main.c: r.patch: call Rast_cell_size just once,
+	  not for every cell
+	  
+	  Function do_patch has one more parameter but the speedup is
+	  approximately 10% (e.g., real 0m37.935s, user 0m37.405s, sys
+	  0m0.480s to real 0m34.181s, user 0m33.697s, sys 0m0.436s).
+
+2015-03-16 18:14  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: implement MapValidator
+	  update NewVectorDialog and OnCopyMap to use this validator
+
+2015-03-16 14:31  martinl
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasswxpy_cs.po: Fix merging Czech translation from
+	  relbr70
+
+2015-03-15 20:22  neteler
+
+	* display/d.vect.chart, display/d.vect.chart/d.vect.chart.html,
+	  display/d.vect.chart/d_vect_chart_pie_2d.png,
+	  display/d.vect.chart/d_vect_chart_pie_3d.png: d.vect.chart
+	  manual: screenshot for 2D and 3D pie chart added
+
+2015-03-15 20:14  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: v.in.ogr: fix
+	  r64353
+
+2015-03-15 17:55  martinl
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasswxpy_cs.po, translators.csv: Czech translation
+	  updated by Stanislav Horáček
+
+2015-03-15 13:01  mmetz
+
+	* display/d.vect.chart/bar.c, display/d.vect.chart/global.h,
+	  display/d.vect.chart/main.c, display/d.vect.chart/pie.c,
+	  display/d.vect.chart/plot.c: d.vect.chart: bug fixes, +3D charts
+
+2015-03-15 09:13  marisn
+
+	* raster/r.neighbors/r.neighbors.html: r.neighbors: Add a notice on
+	  iclusion of centre into calculation (related to #2620)
+
+2015-03-14 19:12  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix layertree error when
+	  switching to different location
+
+2015-03-14 18:07  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix gselect OnClose()
+	  when called from Graphical Modeler
+
+2015-03-14 18:01  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/lmgr/giface.py:
+	  wxGUI: LayerList - add __len__()
+
+2015-03-14 17:55  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/lmgr/giface.py:
+	  wxGUI: gselect.Select() - show grouped maps from map display
+
+2015-03-14 14:46  wenzeslaus
+
+	* gui/wxpython/lmgr/toolbars.py: wxGUI/nviz: manual page was
+	  renamed in r55573, so fixing the name in the toolbar (now manual
+	  page opens)
+
+2015-03-13 02:40  annakrat
+
+	* raster/r.walk/r.walk.html: r.walk: add example to man page
+
+2015-03-13 02:19  annakrat
+
+	* raster/r.walk/r.walk.html: r.walk: explain coefficients and
+	  friction in manual
+
+2015-03-12 22:37  neteler
+
+	* locale/po/grasswxpy_zh.po: Shulin Yang: Chinese translation
+	  cont'ed
+
+2015-03-12 22:27  neteler
+
+	* lib/init/grass.py: msg cosmetics
+
+2015-03-12 21:17  lucadelu
+
+	* lib/init/grass.py: grass.py: fixed check if Platform.make exists
+	  otherwise return an error
+
+2015-03-12 14:31  mlennert
+
+	* gui/wxpython/vdigit/g.gui.vdigit.html: Added a paragraph on
+	  topological digitizing of polygons (+ some language corrections)
+
+2015-03-12 13:12  lucadelu
+
+	* lib/init/grass.py: grass.py: check if Platform.make exists
+	  otherwise return an error
+
+2015-03-12 09:10  neteler
+
+	* locale/po/grassmods_zh.po, locale/po/grasswxpy_zh.po: Shulin
+	  Yang: Chinese translation cont'ed
+
+2015-03-11 08:50  glynn
+
+	* lib/python/script/core.py: Attempt to fix gettext behaviour
+	  (issue #2617)
+
+2015-03-10 17:54  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/vselect.py: wxGUI:
+	  gselect.VectorCategorySelect() implemented by Matej Krejci
+	  (krejcmat)
+
+2015-03-10 14:49  annakrat
+
+	* lib/python/script/array.py,
+	  lib/python/script/testsuite/test_doctests.py: script.array: make
+	  it into real doctest
+
+2015-03-10 14:13  annakrat
+
+	* lib/python/script/array.py: script.array: fix returncode,
+	  unintended change of API in r62566
+
+2015-03-10 08:02  mmetz
+
+	* vector/v.category/main.c: v.category: fix r56286, #2618
+
+2015-03-09 19:29  mlennert
+
+	* vector/v.to.db/report.c: include fractal dimension into the
+	  printed output
+
+2015-03-09 19:11  annakrat
+
+	* gui/wxpython/gui_core/query.py: wxGUI: revert r64818 as not
+	  working fix, see #2617
+
+2015-03-09 06:45  glynn
+
+	* lib/python/script/array.py: Fix examples
+
+2015-03-09 06:30  glynn
+
+	* lib/python/script/array.py: Fix destruction (issue #2616)
+
+2015-03-08 20:47  annakrat
+
+	* gui/wxpython/gui_core/query.py: wxGUI/query: decode strings
+	  before creating tree, solves #2617
+
+2015-03-08 17:11  neteler
+
+	* REQUIREMENTS.html: REQUIREMENTS.html: cosmetics
+
+2015-03-08 16:44  neteler
+
+	* raster/r.watershed/front/main.c: r.watershed: style sync of
+	  descriptions of output maps
+
+2015-03-08 12:09  neteler
+
+	* locale/Makefile, locale/po/grassmods_lv.po: i18N: minor fixes
+
+2015-03-08 11:40  marisn
+
+	* locale/po/grassmods_lv.po: GRASS module Latvian translation
+	  cleanup
+
+2015-03-07 18:01  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: encode from unicode when
+	  saving module output to file, see #2614
+
+2015-03-06 11:00  martinl
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: layout cosmetics in
+	  ManageSettingsWidget (wxPython
+
+2015-03-03 12:02  marisn
+
+	* locale/po/grasswxpy_lv.po: Update Latvian translation (also fixes
+	  #2602; needs backporting to release branch)
+
+2015-03-03 08:12  martinl
+
+	* raster/r.report/header.c: r.report: fix broken layout (units
+	  moved to right)
+
+2015-03-02 21:07  annakrat
+
+	* vector/v.vol.rst/user3.c: v.vol.rst: do not ignore null values in
+	  cross_input, causes serious slow down on Windows
+
+2015-03-02 15:57  martinl
+
+	* raster/r.report/global.h, raster/r.report/main.c,
+	  raster/r.report/parse.c: define default answers for page_width
+	  and page_length
+
+2015-03-02 14:13  martinl
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/manager.py:
+	  wxGUI/dbmgr: add clear button to reload all data (drop current
+	  selection)
+
+2015-03-02 12:31  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dmgr: fix focus on Deselect all
+
+2015-02-28 13:50  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: improve handling string
+	  where values (check for quotes)
+
+2015-02-28 12:16  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: force default where
+	  operator (wxPython 3 fix)
+
+2015-02-28 09:00  martinl
+
+	* lib/init/grass.py: grass.py: move message about language override
+	  to debug (it's too verbose from user POV)
+
+2015-02-27 19:48  martinl
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: hack writing workspace for wxPython (incorrect height)
+	  (TODO: find out why this bug appears with wxPython)
+
+2015-02-27 11:03  neteler
+
+	* imagery/i.eb.soilheatflux/i.eb.soilheatflux.html:
+	  i.eb.soilheatflux manual: more explanations about overpass time
+	  maps
+
+2015-02-27 09:38  lucadelu
+
+	* locale/po/grasswxpy_it.po: luca delucchi cont'ed
+
+2015-02-27 09:38  lucadelu
+
+	* locale/po/grasslibs_it.po, translators.csv: add carlo cormio as
+	  translator; carlo cormio cont'ed
+
+2015-02-27 01:48  ychemin
+
+	* imagery/i.eb.soilheatflux/i.eb.soilheatflux.html: Added info on
+	  landsat time input processing
+
+2015-02-26 17:14  neteler
+
+	* vector/v.to.rast/v.to.rast.html: v.to.rast manual: added remarks
+	  from
+	  http://lists.osgeo.org/pipermail/grass-user/2015-February/072008.html
+
+2015-02-25 17:52  wenzeslaus
+
+	* general/g.parser/standard_option.c: parser: add new standard
+	  options also to g.parser (fix r64732)
+	  
+	  When adding new item to STD_OPT you should also
+	  update STD_OPT_STRINGS array in
+	  general/g.parser/standard_option.c.
+
+2015-02-25 04:49  wenzeslaus
+
+	* lib/python/gunittest/__init__.py, lib/python/gunittest/case.py,
+	  lib/python/gunittest/checkers.py,
+	  lib/python/gunittest/testsuite/test_checkers.py: gunittest:
+	  support text files for MD5 sum comparisons in multiplatform way
+
+2015-02-25 00:54  annakrat
+
+	* general/g.mapset/main.c, include/gis.h,
+	  lib/gis/parser_standard_options.c, raster/r.proj/main.c,
+	  vector/v.proj/main.c: create standardized option for location and
+	  dbase, use it in r.proj, v.proj, g.mapset
+
+2015-02-23 13:43  neteler
+
+	* db/drivers/postgres/README: pg driver: update URLs to pg_type.h
+	  and datatypes
+
+2015-02-23 11:53  martinl
+
+	* gui/wxpython/core/treemodel.py: wxGUI: fix extension manager when
+	  metadata are not available
+
+2015-02-22 12:33  martinl
+
+	* AUTHORS: note vector lib lead in authors file
+
+2015-02-22 09:39  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: message
+	  cosmetics (addons metadata)
+
+2015-02-22 09:08  martinl
+
+	* general/g.mapset/main.c: g.mapset: dbase option cosmetics
+
+2015-02-22 04:12  ychemin
+
+	* general/g.mapset/main.c: added G_OPT_M_DIR for gisdbase selection
+
+2015-02-21 08:44  martinl
+
+	* doc/howto_release.txt: update Launchpad notes (recipe)
+
+2015-02-21 01:50  glynn
+
+	* raster/r.mapcalc/xrand.c: Improve consistency of rand() between
+	  32-bit and 64-bit platforms
+
+2015-02-20 16:49  martinl
+
+	* scripts/Makefile: fix Makefile: v.out.gps removed
+	  fix indent
+
+2015-02-20 16:42  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: remove v.out.gps from menu
+
+2015-02-20 16:41  martinl
+
+	* scripts/v.in.gps, scripts/v.out.gps: remove disabled v.in.gps and
+	  related v.out.gps (will be moved to addons)
+
+2015-02-20 16:40  martinl
+
+	* scripts/Makefile, scripts/r.mapcalculator,
+	  scripts/r3.mapcalculator: remove remaining (already disabled)
+	  shell scripts
+
+2015-02-19 23:29  annakrat
+
+	* gui/wxpython/mapwin/analysis.py: wxGUI/profile: use SafeYield to
+	  prevent recursion error
+
+2015-02-19 18:41  martinl
+
+	* vector/v.surf.bspline/main.c: v.surf.bspline: fix when no default
+	  DB is defined
+
+2015-02-19 18:13  martinl
+
+	* lib/init/grass.py: grass.py: don't fail on invalid RC file (parse
+	  line to key, value)
+
+2015-02-19 18:09  martinl
+
+	* general/g.gui/main.c: g.gui: improve logic
+
+2015-02-19 17:50  martinl
+
+	* lib/init/grass.py: grass.py: r64684 cosmetics (second attempt)
+
+2015-02-19 17:49  martinl
+
+	* general/g.gui/main.c, gui/wxpython/core/render.py,
+	  lib/init/grass.py: revert r64686 (wrong commit)
+
+2015-02-19 17:46  martinl
+
+	* general/g.gui/main.c, gui/wxpython/core/render.py,
+	  lib/init/grass.py: grass.py: r64684 cosmetics
+
+2015-02-19 16:56  ychemin
+
+	* gui/images/startup_banner_isis.png: Thanks to Vincent Brain, we
+	  have an new banner for ISIS-GRASS
+
+2015-02-19 15:03  neteler
+
+	* lib/init/grass.py: grass.py: fix startup in case of missing SHELL
+	  var (eg docker)
+
+2015-02-19 04:32  wenzeslaus
+
+	* lib/python/gunittest/case.py,
+	  lib/python/gunittest/testsuite/test_assertions.py: gunittest:
+	  improve the implementation of newline tests using os.linesep
+	  
+	  * use the same also in assertLooksLike function
+	  * fix message handling in assertMultiLineEqual function
+	  * update tests accordingly
+	  * tell user MD5 sums when testing against a MD5 sum
+
+2015-02-18 22:21  wenzeslaus
+
+	* lib/python/gunittest/reporters.py: gunittest: fix ending tag for
+	  test file report
+
+2015-02-18 22:18  wenzeslaus
+
+	* lib/python/gunittest/reporters.py: gunittest: use slashes in
+	  links in generated HTML on all platforms
+
+2015-02-18 22:05  mmetz
+
+	* lib/btree2/kdtree.c, lib/btree2/kdtree.h: btree2lib: add range
+	  (box) search to kdtree
+
+2015-02-18 21:11  wenzeslaus
+
+	* lib/python/gunittest/main.py: gunittest: add missing key to
+	  format error message (fix for r64662)
+
+2015-02-18 19:21  wenzeslaus
+
+	* gui/wxpython/core/toolboxes.py: wxGUI/toolboxes: fix typo in
+	  r64677 and add docstrings
+	  
+	  This was discovered by automatic tests where wxGUI is not on
+	  Python path and thus fallback encoding was used.
+
+2015-02-18 03:53  wenzeslaus
+
+	* gui/wxpython/core/toolboxes.py: wxGUI/toolboxes: make tooboxes a
+	  little bit more independent from GUI
+	  
+	  This uses various workarounds, lazy imports and wrappers to not
+	  import anything from wxGUI (and thus wx) or to import it only if
+	  it is really needed. This avoids issues when building toolboxes
+	  during compilation and the environment is not set correctly and
+	  wx (and thus wxGUI) cannot be imported properly. This does not
+	  make GUI toolboxes mechanism independent on wxGUI (#2142). It
+	  just makes compilation more robust and shows which dependencies
+	  must be solved to create standalone toolboxes mechanism. See also
+	  #1819.
+
+2015-02-18 02:03  wenzeslaus
+
+	* gui/wxpython/core/test.toolboxes_menu.xml,
+	  gui/wxpython/core/test.toolboxes_menudata.xml,
+	  gui/wxpython/core/test.toolboxes_user_toolboxes.xml,
+	  gui/wxpython/core/testsuite, gui/wxpython/core/testsuite/data,
+	  gui/wxpython/core/testsuite/data/test_toolboxes_menu.xml,
+	  gui/wxpython/core/testsuite/data/test_toolboxes_menudata_ref.xml,
+	  gui/wxpython/core/testsuite/data/test_toolboxes_user_toolboxes.xml,
+	  gui/wxpython/core/testsuite/toolboxes.sh,
+	  gui/wxpython/core/toolboxes.py: wxGUI/toolboxes: wrap
+	  toolboxes.py custom test as sh test
+
+2015-02-17 23:08  martinl
+
+	* vector/v.surf.bspline/main.c: v.surf.bspline: more guisections
+	  logical order of parameters
+
+2015-02-17 23:08  wenzeslaus
+
+	* gui/wxpython/tplot/g.gui.tplot.py: wxGUI: import only after
+	  grass.script.parser() call in g.gui.* modules (tplot forgotten in
+	  r64664, #1819)
+
+2015-02-17 22:46  mmetz
+
+	* vector/v.to.db/find.c, vector/v.to.db/global.h,
+	  vector/v.to.db/lines.c, vector/v.to.db/main.c,
+	  vector/v.to.db/report.c: v.to.db: faster
+
+2015-02-17 22:45  mmetz
+
+	* vector/v.to.db/query.c: v.to.db: add comment for query option,
+	  suspected wrong handling of no category
+
+2015-02-17 22:43  mmetz
+
+	* vector/v.to.db/areas.c: v.to.db: fix area options
+
+2015-02-17 22:08  annakrat
+
+	* vector/v.net/testsuite/test_v_net.py: v.net: update testsuite
+	  based on the fixes in #2583
+
+2015-02-17 21:55  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapwin/decorations.py:
+	  wxGUI/legend: small improvements of its behavior; at param when
+	  used in command line is respected now, IsShown now reports False
+	  when the rendering failed
+
+2015-02-17 21:01  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix iclass launching,
+	  broken in r63534
+
+2015-02-17 20:46  annakrat
+
+	* gui/wxpython/animation/g.gui.animation.py: wxGUI/animation: fix
+	  crash with wxPython 3 when starting with parameter
+
+2015-02-17 20:44  wenzeslaus
+
+	* gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/core/utils.py, gui/wxpython/dbmgr/g.gui.dbmgr.py,
+	  gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/timeline/g.gui.timeline.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py: wxGUI: import only after
+	  grass.script.parser() call g.gui.* and PEP8 clean up
+	  
+	  * function GuiModuleMain() completely removed (just simple call
+	  since r62649) because it was creating unnecessary import
+	  dependency which would prevent posibility of post-parser import
+	  * changes according to PEP8 and removing unused imports (using
+	  pep8 and pylint tools in Spyder)
+	  * use grass.script as gscript rather than grass which is
+	  ambiguous
+	  * call parser in main function to avoid global variables options
+	  and flags (there is no need for them)
+	  * see also #1819 (comment:6:ticket:1819) and grass-dev Add link
+	  to manual page on the addon wiki
+	  (http://lists.osgeo.org/pipermail/grass-dev/2015-February/073734.html)
+
+2015-02-17 20:42  annakrat
+
+	* gui/wxpython/mapswipe/mapwindow.py: wxGUI/mapswipe: fix needed
+	  after changes in Draw function parameter in BufferedWindow
+
+2015-02-17 16:42  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/main.py,
+	  lib/python/gunittest/testsuite/test_assertions.py: gunittest:
+	  improvements to make it work better on MS Windows
+	  
+	  * use short, although unreadable, map and file names to overcome
+	  problems with 260 character limit (MAX_PATH) of Win32 API
+	  (GPATH_MAX is 4096)
+	  * override assertMultiLineEqual() to replace CRLF by LF, so that
+	  test authors can just use unix line endings
+	  * register assertMultiLineEqual() for strings so that the CRLF
+	  replacement happens for assertEqual() as expected
+	  * explicitly check for existence of a provided Location
+	  
+
+2015-02-17 14:37  annakrat
+
+	* gui/wxpython/core/toolboxes.py: wxGUI: attempt to fix loading
+	  incompatible addons during startup when the error has non-ascii
+	  characters
+
+2015-02-17 10:48  mmetz
+
+	* vector/v.to.db/find.c: v.to.db: bsearch cat
+
+2015-02-16 20:05  wenzeslaus
+
+	* tools/grass_indent.sh: do not use tabs which are 8 spaces wide
+	  when indent level is 4 spaces
+	  
+	  Indent script was creating source code with 4 spaces for indent
+	  level 1,
+	  1 tab for indent level 2, 1 tab and 4 spaces for indent level 3,
+	  2 tabs
+	  for indent level 4 etc. This is style which is hard to do
+	  manually
+	  and cannot be easily guessed and supported by a text editor
+	  because it
+	  mixes spaces and tabs
+	  (http://lists.osgeo.org/pipermail/grass-dev/2014-September/070653.html).
+	  
+	  The indent rules are still the same, each level must be in
+	  multiplies
+	  of 4 spaces (columns) as specified in
+	  http://lists.osgeo.org/pipermail/grass-dev/2014-August/070497.html.
+	  
+	  No backwards compatibility is needed because just small portion
+	  of the
+	  current code has no diff after applying the (original version of)
+	  indent
+	  script. Now tested with v.external, i.segment and r.slope.aspect.
+	  
+	  The -ut (--use-tabs) was in the list at
+	  https://trac.osgeo.org/grass/wiki/Submitting/C.
+	  But it was not in the list at
+	  http://grasswiki.osgeo.org/w/index.php?title=Development&oldid=21058#Explanation_of_C_indentation_rules.
+	  And tabs are explicitly forbidden in instructions for Emacs users
+	  at
+	  http://grasswiki.osgeo.org/w/index.php?title=GRASS_Programming_Howto&oldid=20573#Emacs.
+	  
+	  See also #1663 (Tabs in C source code) and grass-dev Tabs and
+	  spaces in C code
+	  (http://lists.osgeo.org/pipermail/grass-dev/2014-August/070484.html).
+
+2015-02-16 19:48  mmetz
+
+	* vector/v.net/connect.c: v.net: initialize z
+
+2015-02-16 18:31  annakrat
+
+	* raster/r.in.poly/testsuite/test_rinpoly.py: r.in.poly: fix test
+	  for Windows
+
+2015-02-16 17:48  annakrat
+
+	* scripts/r3.in.xyz/r3.in.xyz.py: r3.in.xyz: use standardized
+	  option for separator
+
+2015-02-16 14:44  huhabla
+
+	* temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/t.rast.gapfill/testsuite,
+	  temporal/t.rast.gapfill/testsuite/test_gapfill.py: temporal
+	  modules: Enabled granularity gap sampling. New python tests are
+	  implemented.
+
+2015-02-16 14:40  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py: temporal
+	  framework: One additional maplist granularity sampling test
+
+2015-02-16 13:09  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: FR translation
+	  cont'ed)
+
+2015-02-16 11:17  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/Vlib/write_pg.c,
+	  lib/vector/Vlib/write_sfa.c: Vlib: sync write fns, fix for #2583
+
+2015-02-16 03:11  wenzeslaus
+
+	* lib/python/docs/src/gunittest_running_tests.rst,
+	  lib/python/docs/src/gunittest_testing.rst: gunittest: briefly
+	  document how to write tests dealing with mapsets etc.
+
+2015-02-16 02:42  wenzeslaus
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py:
+	  t.connect: delete created mapsets in tear down step in tests
+	  
+	  * only the given (current) mapset is deleted with automatic runs
+	  * TODO: the names should be more unique or a custom gisdbase
+	  should be used
+	  * whitespace and unused variable cleanup using pep8, autopep8,
+	  pyflakes and pylint
+	  * before: automatic tests were failing because location already
+	  contained the mapsets, so set up step was failing
+
+2015-02-15 23:03  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: temporal framework:
+	  Making the C-library RPC interface more reliable using suggestion
+	  from Glynn
+
+2015-02-15 21:07  annakrat
+
+	* vector/v.net/testsuite, vector/v.net/testsuite/test_v_net.py:
+	  v.net: test added
+
+2015-02-15 06:09  wenzeslaus
+
+	* general/g.rename/testsuite,
+	  general/g.rename/testsuite/test_overwrite.py: g.rename: test for
+	  raster rename with and without overwrite
+	  
+	  Commands r.mapcalc 'a1 = 1' && r.mapcalc 'a2 = 2' && g.rename
+	  rast=a1,a2; give 'WARNING: <a2> already exists in mapset
+	  <practice2>', not an ERROR and process ends with 0 but nothing
+	  was renamed.
+
+2015-02-15 04:54  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/gutils.py,
+	  lib/python/gunittest/testsuite/test_assertions.py: gunittest:
+	  functions to test existence of raster, 3D raster and vector
+	  
+	  Using g.findfile because it is faster than g.list but translating
+	  the g.list names to g.findfile names. Including tests of basic
+	  functionality of the assert functions.
+
+2015-02-15 03:56  wenzeslaus
+
+	* raster/r.ros/spot_dist.c, raster/r.spread/pick_dist.c: r.ros and
+	  r.spread: document spotting functions accoding to the source code
+
+2015-02-14 22:44  wenzeslaus
+
+	* gui/wxpython/dbmgr/base.py: wxGUI: use FitInside instead of
+	  deprecated SetVirtualSizeHints
+	  
+	  * fixes #2028 (SetVirtualSizeHints is deprecated in wxWidgets
+	  2.9)
+	  * using code from gui_core/goutput.py
+	  * should be replaced by simple FitInside call in the future
+
+2015-02-14 21:07  neteler
+
+	* general/g.filename/g.filename.html,
+	  general/g.findetc/g.findetc.html, general/g.region/g.region.html,
+	  imagery/i.gensigset/i.gensigset.html,
+	  scripts/v.out.gps/v.out.gps.html: manual: fix broken links
+
+2015-02-14 17:39  neteler
+
+	* vector/v.net/connect.c: v.net: fix coverity scan CID 1256093
+
+2015-02-14 17:19  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapwin/buffered.py:
+	  wxGUI: debug message showing rendering speed fixed and moved to
+	  Map.Render()
+
+2015-02-14 14:34  neteler
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_sampleAreas.jpg,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_sampleAreas.png:
+	  wxGUI/rlisetup manual: sampling scheme quality manually improved
+	  from jpg original
+
+2015-02-14 11:32  neteler
+
+	* gui/wxpython/gmodeler/gmodeler_frame.png: wxGUI/gmodeler manual:
+	  screenshot readability improved
+
+2015-02-14 10:55  neteler
+
+	* lib/init/grass_start.png: manual: grass_start.png updated
+
+2015-02-14 10:33  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: wxGUI/gmodeler: author
+	  cosmetics (note osgeorel)
+
+2015-02-14 10:28  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: FR translation
+	  cont'ed)
+
+2015-02-14 10:19  martinl
+
+	* gui/wxpython/gmodeler/gmodeler_frame.png: fix r64615
+
+2015-02-14 10:15  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/gmodeler/gmodeler_frame.jpg,
+	  gui/wxpython/gmodeler/gmodeler_frame.png: update screenshot of
+	  graphical modeler in better quality
+
+2015-02-13 18:46  martinl
+
+	* gui/icons/grass.desktop: grass.destop: Add Keywords
+	  Author: Bas Couwenberg
+	  (based on
+	  http://anonscm.debian.org/cgit/pkg-grass/grass.git/tree/debian/patches/desktop.patch?h=experimental)
+
+2015-02-13 16:13  martinl
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/core/globalvar.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/wxplot/profile.py: Fix to work with wxPython 3.0
+	  Author: Olly Betts <olly at survex.com>
+	  (taken from http://anonscm.debian.org/cgit/pkg-grass/grass.git/)
+
+2015-02-13 15:24  martinl
+
+	* lib/init/grass.py: Prefer xdg-open and x-www-browser for HTML
+	  browser.
+	  GRASS 6 used a shell script to set the GRASS_HTML_BROWSER
+	  environment variable.
+	  GRASS 7 reimplemented the shell script in Python.
+	  .
+	  The original version of this patch was made by Francesco Paolo
+	  Lovergine, and
+	  ported to Python by Bas Couwenberg.
+	  Author: Francesco Paolo Lovergine <frankie at debian.org>
+	  Author: Bas Couwenberg <sebastic at xs4all.nl>
+	  (taken from http://anonscm.debian.org/cgit/pkg-grass/grass.git/)
+
+2015-02-13 15:14  martinl
+
+	* gui/wxpython/animation/data.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/toolbars.py,
+	  gui/wxpython/docs/wxGUI.iscatt.html,
+	  gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/timeline/g.gui.timeline.py,
+	  include/vect/dig_structs.h, lib/arraystats/arraystatslib.dox,
+	  lib/init/variables.html, lib/python/pydispatch/signal.py,
+	  raster/r.horizon/r.horizon.html,
+	  raster/r.in.lidar/r.in.lidar.html, raster/r.li/r.li.html,
+	  raster/r.regression.multi/r.regression.multi.html,
+	  scripts/d.shade/d.shade.html,
+	  scripts/db.droptable/db.droptable.html,
+	  scripts/r.in.wms/wms_drv.py, scripts/r.unpack/r.unpack.html,
+	  scripts/v.krige/v.krige.html, scripts/v.unpack/v.unpack.html,
+	  temporal/t.support/t.support.html, vector/v.colors/v.colors.html,
+	  vector/v.in.db/v.in.db.html, vector/v.in.lidar/v.in.lidar.html,
+	  vector/v.out.postgis/v.out.postgis.html, vector/v.vol.rst/README:
+	  Fix 'allows to' typo, replace with 'allows <word>ing'
+	  (author: Bas Couwenberg)
+	  (see http://anonscm.debian.org/cgit/pkg-grass/grass.git/)
+
+2015-02-13 13:35  annakrat
+
+	* vector/v.support/main.c: v.support: open vector on level 1, not
+	  2, related to #2588
+
+2015-02-13 02:59  annakrat
+
+	* gui/wxpython/gis_set.py: wxGUI/start up: remove sentence about
+	  setting default region, it was already moved to a different
+	  dialog
+
+2015-02-12 17:40  neteler
+
+	* README: Update urls in README
+
+2015-02-12 17:31  neteler
+
+	* CHANGES: Update CHANGES file content to a GRASS GIS 7 summary
+
+2015-02-12 14:26  neteler
+
+	* general/g.version/g.version.html, general/g.version/main.c,
+	  man/build_html.py: manual: refer in topics also to keyword index;
+	  g.version: more keywords + citation
+
+2015-02-12 08:02  martinl
+
+	* gui/wxpython/core/treemodel.py,
+	  gui/wxpython/modules/extensions.py: wxGUI/extension: print number
+	  of loaded extensions
+
+2015-02-12 06:46  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: remove non-existing
+	  modules from menu
+	  (r.surf.idw2, v.label.sa, r.bitpattern)
+
+2015-02-12 06:29  martinl
+
+	* scripts/Makefile, scripts/v.convert.all: v.convert.all moved to
+	  addons
+
+2015-02-12 06:28  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: remove non-existing
+	  modules from menu
+	  (v.convert, v.convert.all, v.in.gps, v.in.gns)
+
+2015-02-12 03:17  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: revert part of accidentally
+	  commited r64571
+
+2015-02-12 03:12  annakrat
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_core/widgets.py:
+	  wxGUI/start up: use normal StaticText instead of StaticTextWrap
+	  for error message since it causes emitting events continually on
+	  wxPython 3
+
+2015-02-12 02:33  annakrat
+
+	* gui/wxpython/gis_set.py: wxGUI/start up: avoid error message
+	  after multiband import when creating location
+
+2015-02-11 21:23  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI startup: layout cosmetics
+	  (dicrease border value)
+
+2015-02-11 20:09  mmetz
+
+	* vector/v.generalize/main.c, vector/v.generalize/misc.c:
+	  v.generalize: fix type=area input
+
+2015-02-11 16:58  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/nviz/tools.py:
+	  wxGUI/nviz: revert r64473 because it causes problems on Mac
+
+2015-02-11 16:52  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py: wxGUI/nviz: do not use progress
+	  bar on mac, causes recursion for unknown reason
+
+2015-02-11 15:16  annakrat
+
+	* gui/wxpython/gui_core/query.py: wxGUI/query: increase the width
+	  of column to display longer labels
+
+2015-02-11 15:10  annakrat
+
+	* gui/wxpython/gui_core/forms.py: fix r.category dialog - cats
+	  input field broken introducing special cats gisprompt in r64276
+
+2015-02-11 13:45  huhabla
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.py: temporal
+	  modules: removed t_where from t.vect.observe.strds since it is
+	  not supported in case of multiple strds sampling
+
+2015-02-11 13:44  huhabla
+
+	* temporal/Makefile, temporal/t.rast.contour,
+	  temporal/t.rast.contour/Makefile,
+	  temporal/t.rast.contour/t.rast.contour.html,
+	  temporal/t.rast.contour/t.rast.contour.py,
+	  temporal/t.rast.contour/testsuite,
+	  temporal/t.rast.contour/testsuite/test_convert.py: temporal
+	  modules: New module that creates a stvds with contours from a
+	  strds
+
+2015-02-11 13:31  neteler
+
+	* vector/v.generalize/v.generalize.html: v.generalize manual: fix
+	  broken URLs
+
+2015-02-11 12:57  neteler
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: update param
+	  description completing r58735
+
+2015-02-11 09:54  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix http
+	  replacement handling
+	  message cosmetics
+
+2015-02-11 09:46  martinl
+
+	* include/Make/Module.make: fix Module.make to install addons
+	  (images, etc)
+
+2015-02-11 08:39  mlennert
+
+	* vector/v.in.lidar/main.c: Literal strings should be enclosed in
+	  single, not double quotes
+
+2015-02-11 04:40  annakrat
+
+	* scripts/v.what.vect/v.what.vect.py: v.what.vect: fix after
+	  renaming v.distance options
+
+2015-02-11 04:26  annakrat
+
+	* raster/r.relief/r.relief.html: r.relief: update parameter name in
+	  man page
+
+2015-02-11 01:51  annakrat
+
+	* raster/r.ros/main.c: r.ros: fix label, remove unused variable
+
+2015-02-11 01:46  annakrat
+
+	* raster/r.ros/main.c: r.ros: remove unnecessary checks which
+	  caused crash when using spotting
+
+2015-02-10 22:24  martinl
+
+	* display/d.mon/start.c: d.mon: replace setenv() by putenv() - fix
+	  compilation on Windows
+
+2015-02-10 20:58  annakrat
+
+	* gui/wxpython/rdigit/controller.py: wxGUI/rdigit: fix setting
+	  color table
+
+2015-02-09 17:59  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: check
+	  Module.make and suggest solution (missing grass-dev package)
+
+2015-02-09 17:27  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix man dir
+	  handling (MANDIR -> MANBASEDIR)
+
+2015-02-09 17:21  annakrat
+
+	* gui/wxpython/core/toolboxes.py, gui/wxpython/gui_core/menu.py:
+	  wxGUI: do not load addons metadata at gui start on Windows
+	  because it results in crash dialog when addon is incompatible
+	  with the current version
+
+2015-02-09 16:39  martinl
+
+	* gui/wxpython/core/toolboxes.py: wxGUI: add message when some
+	  addons failed, suggest solution to the user
+
+2015-02-09 15:05  neteler
+
+	* vector/v.generalize/main.c,
+	  vector/v.generalize/v.generalize.html: v.generalize: add user
+	  message about threshold; explain in manual
+
+2015-02-09 14:45  martinl
+
+	* gui/wxpython/wxgui.py: wxgui.py: import GMFrame from GMApp
+
+2015-02-09 14:43  martinl
+
+	* gui/wxpython/wxgui.py: wxgui.py: go back to old version of splash
+	  screen (r64455)
+
+2015-02-09 12:44  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/testsuite/test_doctests.py: temporal library:
+	  Using a thread to observe the state of the libgis server process,
+	  since the fatal_error SIGABRT signal can not be catched in Python
+	  and the Python error handler function can not be registered in
+	  the libgis error handling system.
+
+2015-02-09 11:10  martinl
+
+	* doc/howto_release.txt: how-to-release: add notes about Launchpad
+
+2015-02-08 20:51  neteler
+
+	* doc/howto_release.txt: small release procedure fix
+
+2015-02-08 20:34  neteler
+
+	* locale/po/grasswxpy_fr.po, locale/po/grasswxpy_it.po: i18N:
+	  (partial) translation of welcome screen
+
+2015-02-08 20:02  neteler
+
+	* locale/po/grasswxpy_de.po, locale/po/grasswxpy_it.po: i18N:
+	  translation of welcome screen
+
+2015-02-08 19:21  neteler
+
+	* locale/po/grasslibs_es.po: gettext fix
+
+2015-02-08 19:01  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: i18N: update from template files
+
+2015-02-08 18:49  neteler
+
+	* gui/wxpython/rlisetup/frame.py, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: fix msg typo
+
+2015-02-08 17:29  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: add debug message to print startup
+	  time (cosmetics)
+
+2015-02-08 17:03  martinl
+
+	* locale/po/grasswxpy_cs.po: wxGUI: translate main items in the
+	  menu
+
+2015-02-08 16:36  martinl
+
+	* gui/wxpython/core/toolboxes.py: wxGUI: report errors when unable
+	  to parse addons interface
+
+2015-02-08 09:34  martinl
+
+	* display/d.mon/list.c: d.mon: fix list_mons() on Windows
+	  (dp->d_type)
+
+2015-02-07 21:40  neteler
+
+	* aclocal.m4, config.guess, config.sub, configure: updated
+	  config.guess config.sub from upstream repo; fix aclocal.m4 for
+	  hurd-i386 and kfreebsd-* architectures (trac #2580)
+
+2015-02-07 19:27  martinl
+
+	* gui/wxpython/core/toolboxes.py: wxGUI: attempt to fix failure
+	  when loading broken addons
+
+2015-02-07 19:07  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: hide splash screen slighty before
+	  wxGUI is shown
+
+2015-02-07 19:04  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: remove unused import
+
+2015-02-07 18:38  martinl
+
+	* gui/images/splash_screen.png: update splash screen (optimized by
+	  Vincent Bain)
+
+2015-02-07 16:16  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: FR translation
+	  cont'ed)
+
+2015-02-07 08:49  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: splash screen cosmetics (use named
+	  arguments)
+
+2015-02-07 08:47  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: splash screen changed to 2sec
+
+2015-02-07 08:43  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: new version of splash screen (based
+	  http://wiki.wxpython.org/SplashScreen)
+
+2015-02-06 23:08  mmetz
+
+	* vector/v.cluster/main.c: v.cluster: restore dbscan2 cluster size
+
+2015-02-06 22:52  mmetz
+
+	* vector/v.cluster/main.c: v.cluster: fix cluster id assignment
+
+2015-02-06 20:08  mmetz
+
+	* vector/v.generalize/main.c: v.generalize: simplify code
+
+2015-02-06 12:50  huhabla
+
+	* temporal/Makefile: temporal modules: Added new strds to stvds
+	  converter module to Makefile
+
+2015-02-06 12:49  huhabla
+
+	* temporal/t.rast.to.vect, temporal/t.rast.to.vect/Makefile,
+	  temporal/t.rast.to.vect/t.rast.to.vect.html,
+	  temporal/t.rast.to.vect/t.rast.to.vect.py,
+	  temporal/t.rast.to.vect/testsuite,
+	  temporal/t.rast.to.vect/testsuite/test_to_vect.py: temporal
+	  modules: New module to convert strds into stvds
+
+2015-02-06 12:29  martinl
+
+	* gui/images/startup_banner.png: update startup banner (alpha)
+	  from http://grasswiki.osgeo.org/w/images/Banner_3_alpha.png
+	  (author: Vincent Bain)
+
+2015-02-05 22:43  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: v.in.ogr: improve
+	  cleaning suggestions
+
+2015-02-05 21:32  mmetz
+
+	* vector/v.to.rast/vect2rast.c: v.to.rast: disable wrong messages
+	  about converted features
+
+2015-02-05 16:10  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/nviz/tools.py:
+	  wxGUI/nviz: attempt to fix error on Windows when switching to 3D
+	  for the second time due to different order of initialization
+	  steps
+
+2015-02-05 12:22  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: temporal library:
+	  Trying to partly fix #2337
+
+2015-02-04 21:15  martinl
+
+	* scripts/d.frame/d.frame.py, scripts/d.redraw/d.redraw.py,
+	  scripts/d.what.rast/d.what.rast.py,
+	  scripts/d.what.vect/d.what.vect.py: update scrips to use `d.mon
+	  -g`
+
+2015-02-04 21:11  martinl
+
+	* display/d.mon/main.c: d.mon: fix key conflict introduced in
+	  r64467, sfile flag renamed to '-g'
+
+2015-02-04 21:08  martinl
+
+	* display/d.mon/list.c, display/d.mon/main.c,
+	  display/d.mon/proto.h: d.mon: add -s flag to print support files
+	  (moved from d.mon)
+
+2015-02-04 21:05  martinl
+
+	* display/d.info/main.c: d.info: remove monitors-related code (see
+	  #2577)
+
+2015-02-04 20:22  martinl
+
+	* gui/wxpython/gui_core/vselect.py: wxGUI/vselect:
+	  remove unused getSelectedFeatures()
+	  check self._dialog if exists
+
+2015-02-04 17:02  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/lmgr: fix OnCopy()
+
+2015-02-04 13:30  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: document interactive
+	  selection
+
+2015-02-04 13:15  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: add Matej Krejci to the
+	  authors, note OSGeoREL @ CTU
+
+2015-02-04 13:13  martinl
+
+	* gui/wxpython/gui_core/vselect.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/toolbars.py:
+	  wxGUI: add functionality to interactively select vector features
+	  in map display
+	  currently only selection by clicking is supported
+	  
+	  Original author: Matej Krejci, OSGeoREL, CTU in Prague
+	  
+	  todo:
+	  - select by bbox
+	  - highlight selected features also in dbmgr
+
+2015-02-04 12:25  glynn
+
+	* display/d.info/main.c, include/defs/display.h,
+	  lib/display/r_raster.c: Fix d.info with regard to r62026 (ticket
+	  #2577)
+
+2015-02-04 08:28  martinl
+
+	* gui/images/silesia_splash.png, gui/images/splash_screen.png,
+	  gui/wxpython/wxgui.py: Update of splash screen to new version
+	  (contributed by Vincent BAIN)
+	  (see related r64447)
+
+2015-02-04 05:42  ychemin
+
+	* gui/images/startup_banner_isis.png: Modernized isis-grass banner
+
+2015-02-03 22:31  neteler
+
+	* gui/images/startup_banner.png: Update of welcome screen banner to
+	  new version (contributed by Vincent BAIN)
+
+2015-02-03 21:15  neteler
+
+	* vector/v.build/v.build.html: v.build manual: point to progman for
+	  topology dump
+
+2015-02-03 21:04  martinl
+
+	* lib/display/r_raster.c: libdisplay: add debug message about
+	  redirection
+
+2015-02-03 20:59  martinl
+
+	* display/d.mon/start.c: d.mon: partly revert r64437, another
+	  attempt to fix launching wx-monitors
+
+2015-02-03 20:52  martinl
+
+	* display/d.mon/start.c: d.mon: fix starting wx-monitors
+
+2015-02-03 20:51  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: standalone monitors clean
+	  startup (support -x flag)
+
+2015-02-03 17:55  martinl
+
+	* display/d.mon/start.c, display/d.mon/stop.c: d.mon: fix handling
+	  wx-monitors
+	  message cosmetics (<>)
+
+2015-02-03 17:54  martinl
+
+	* display/d.info/main.c: d.info: report also monitor path (-s)
+
+2015-02-03 17:53  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: first steps to fix
+	  standalone monitors to work with new architecture
+
+2015-02-03 17:02  martinl
+
+	* scripts/Makefile: enable d.frame
+
+2015-02-03 16:55  martinl
+
+	* scripts/d.frame/d.frame.html, scripts/d.frame/d.frame.py:
+	  d.frame: update to the new monitor architecture
+
+2015-02-03 16:54  martinl
+
+	* display/d.mon/start.c: d.mon: improve render.py - process
+	  comments in env file
+
+2015-02-03 15:50  martinl
+
+	* scripts/d.what.rast/d.what.rast.py,
+	  scripts/d.what.vect/d.what.vect.py: update d.what.rast and
+	  d.what.vect to the new monitor architecture
+
+2015-02-03 15:41  martinl
+
+	* display/d.mon/main.c, display/d.mon/start.c: d.mon: improve
+	  python renderer command (set list of ignored commands)
+
+2015-02-03 15:20  glynn
+
+	* lib/python/script/array.py: numpy.memmap() no longer has _close;
+	  use __del__ instead
+
+2015-02-03 15:01  martinl
+
+	* scripts/d.redraw/d.redraw.py: d.redraw: use d.info -s
+
+2015-02-03 14:44  martinl
+
+	* display/d.info/main.c: d.info: implement -s flag to print monitor
+	  support files
+
+2015-02-03 13:20  martinl
+
+	* display/d.mon/list.c, display/d.mon/start.c: d.mon: improve list
+	  menthod
+	  fix renderer when display command fails
+
+2015-02-03 13:04  martinl
+
+	* lib/gis/parser_dependencies.c: libgis: improve doxygen
+	  documentation of parser_dependencies.c
+
+2015-02-03 12:52  martinl
+
+	* display/d.info/main.c: d.info: use G_option_required()
+
+2015-02-03 12:46  neteler
+
+	* lib/init/grass.py: startup: cleanup of r64408
+
+2015-02-03 12:03  martinl
+
+	* scripts/d.frame: d.frame: copy from addons (waiting for upgrade
+	  to the new d.mon architecture)
+
+2015-02-03 11:48  martinl
+
+	* scripts/d.redraw/d.redraw.py: d.redraw: update for new d.mon
+	  architecture
+
+2015-02-03 11:03  martinl
+
+	* general/g.gisenv/main.c: g.gisenv: check for mandatory variable
+	  which cannot be unset
+
+2015-02-03 10:36  martinl
+
+	* display/d.mon/list.c: d.mon: fix segfault when no MONITOR dir
+	  exists
+
+2015-02-03 10:26  martinl
+
+	* display/d.mon/list.c, display/d.mon/proto.h,
+	  display/d.mon/start.c, display/d.mon/stop.c: d.mon: rewrite to
+	  use GRASS_RENDER_COMMAND mechanism
+
+2015-02-03 02:49  wenzeslaus
+
+	* lib/init/grass.py: startup: do not show old-school command line
+	  welcome
+	  
+	  * user who needs the info such as website URL will not read it in
+	  the command line
+	  * do not require first time user to press Enter (or hit RETURN)
+	  in command line to make GRASS start
+	  * rename function according to the part which is creating a dummy
+	  rc file
+	  * fixes #2572 for 7.x
+	  * see also r57549, r64345, r64405 and r64407
+
+2015-02-03 02:08  wenzeslaus
+
+	* gui/wxpython/gis_set.py: wxGUI/startup: make warnings, hints and
+	  infos show the same; number boxes
+	  
+	  * number boxes to lead user through dialog
+	  * use GRASS (GIS) database (directory) to emphasize that it is
+	  something special (and it is the term used inside GRASS anyway)
+	  * make Location and Mapset list vertically smaller (the window is
+	  just little bit higher and wider now then the 64 one), however it
+	  is hard to say what actually drives the height
+	  * do not use Warning to prefix a message which is informative and
+	  might be as well as hint or info
+	  * improve i18n by using format to combine user visible strings
+	  * add info what to do to the no Location found message
+	  * use Location and Mapset in changed messages
+	  * see also r57549, r64345 and r64405
+	  * see also GRASS-dev 'Making start of GRASS GIS easier for
+	  newcomers'
+	  (http://lists.osgeo.org/pipermail/grass-dev/2015-January/073286.html,
+	  http://lists.osgeo.org/pipermail/grass-dev/2015-February/073655.html)
+
+2015-02-02 18:30  martinl
+
+	* gui/wxpython/animation/nviztask.py,
+	  gui/wxpython/animation/provider.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/utils.py, gui/wxpython/core/ws.py,
+	  gui/wxpython/gmodeler/model.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/psmap/instructions.py,
+	  gui/wxpython/vnet/vnet_core.py, gui/wxpython/vnet/vnet_data.py,
+	  gui/wxpython/web_services/dialogs.py: wxGUI: replace utils cmd
+	  list <-> tuple by grass.script.gtask functions
+
+2015-02-02 18:25  wenzeslaus
+
+	* gui/wxpython/gis_set.py: wxGUI/startup: show warning text instead
+	  of error dialog and browse dialog
+	  
+	  * follows be more friendly philosophy of r64345
+	  * instead of error dialog show warning message inside a window,
+	  provide explanation and let user hit the browse button after it
+	  is clear what is the next step
+	  * allow multiline error/warning message by using StaticWrapText
+	  (needs more Layout calls and dummmy text to start with)
+	  * refactor construction of location and mapset boxes
+	  * using what was used for mapset box because location box does
+	  not show description on MS Windows (wx.EXPAND was missing)
+	  * slightly change the descriptions
+	  * remove unused imports (possible speed up beacause
+	  gui_core.ghelp is not needed at all)
+	  * use system gray text color (wx.SYS_COLOUR_GRAYTEXT) for
+	  descriptions
+	  * fix problem with OGR mapset dialog (wrong variable name
+	  detected by pylint)
+	  * PEP8 whitespace changes around changed lines
+	  * more vertical space around error/warning message and under
+	  banner
+
+2015-02-02 18:23  martinl
+
+	* lib/python/script/task.py, lib/python/script/utils.py: libpython:
+	  move cmd list <-> tuple from wxGUI
+
+2015-02-02 17:28  martinl
+
+	* display/displaydrivers.html, lib/init/variables.html: document
+	  GRASS_RENDER_COMMAND
+
+2015-02-02 16:21  martinl
+
+	* lib/display/r_raster.c: libdisplay: implement
+	  GRASS_RENDER_COMMAND
+	  prepare D_save_command() for removal
+	  (work in progress)
+
+2015-02-02 15:18  madi
+
+	* imagery/i.segment/parse_args.c: updating error message since
+	  threshold values 0 or 1 are not valid options (ticket #2575)
+
+2015-02-02 13:34  mmetz
+
+	* db/drivers/dbf/db.c, db/drivers/dbf/describe.c,
+	  db/drivers/dbf/table.c, db/drivers/mysql/parse.c,
+	  db/drivers/mysql/replace.c, db/drivers/ogr/execute.c,
+	  db/drivers/postgres/parse.c, db/drivers/sqlite/db.c: db drivers:
+	  chop tokens
+
+2015-02-02 03:27  wenzeslaus
+
+	* display/d.colortable/d.colortable.html: fix typo from r64384
+	  
+	  Also remove a space from the end of line, however they are all
+	  over the file.
+
+2015-02-01 12:35  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix height of mapdisplay
+	  loaded from workspace (wxPython 3)
+	  TODO: replace this hack in the future
+
+2015-02-01 10:54  martinl
+
+	* display/d.colortable/d.colortable.html,
+	  display/d.colortable/main.c: d.colortable: fix manual page syntax
+	  add keyword
+	  remove ununsed variable
+
+2015-02-01 09:43  martinl
+
+	* lib/init/variables.html: variables: document GRASS_RENDER_FILE
+
+2015-01-31 13:36  martinl
+
+	* man/grassdocs.css: css cosmentics, define padding for li.box
+
+2015-01-31 13:17  martinl
+
+	* lib/init/grass.py: grass.py: i18n cosmetics
+
+2015-01-31 13:14  martinl
+
+	* lib/init/grass.py: grass.py: warning to message when language
+	  override (cosmetics)
+
+2015-01-30 18:32  martinl
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/modules/vclean.py, gui/wxpython/vnet/vnet_core.py:
+	  wxGUI: update onDone methods to pass event as argument
+
+2015-01-30 18:29  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix GDALImport dialog to
+	  add multiple imported layers to layer manager
+
+2015-01-30 18:17  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: add flag to print number of
+	  raster bands
+	  fix overwrite check for all bands
+	  add error handler to close data source correctly
+
+2015-01-30 13:17  huhabla
+
+	* temporal/t.rast.what/t.rast.what.html: temporal modules:
+	  t.rast.what documentation update
+
+2015-01-30 13:04  glynn
+
+	* lib/init/grass.py: Fix r59652
+
+2015-01-30 13:00  glynn
+
+	* lib/init/grass.py: Fix r41856
+
+2015-01-30 12:53  huhabla
+
+	* temporal/t.rast.what/t.rast.what.py,
+	  temporal/t.rast.what/testsuite/test_what.py: temporal modules:
+	  Fixed col layout header, messages are now verbose, integrated
+	  stdout output and text coordinates support, integrated
+	  suggestions from Stefan Blumentrath. All new features are covered
+	  by tests.
+
+2015-01-30 12:49  glynn
+
+	* lib/init/grass.py: Revert r64335
+
+2015-01-30 12:03  neteler
+
+	* lib/init/grass.py, lib/init/license.txt: grass.py: show version
+	  with --version; minor cosmetics
+
+2015-01-29 08:50  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: do not use old projection for
+	  area calculations in new projection
+
+2015-01-28 23:05  huhabla
+
+	* temporal/Makefile: temporal modules: Added t.rast.what to the
+	  Makefile
+
+2015-01-28 23:02  huhabla
+
+	* temporal/t.rast.what/t.rast.what.html,
+	  temporal/t.rast.what/t.rast.what.py: temporal modules: Disabled
+	  several r.what flags, documentation update
+
+2015-01-28 22:39  huhabla
+
+	* temporal/t.rast.what/t.rast.what.py,
+	  temporal/t.rast.what/testsuite,
+	  temporal/t.rast.what/testsuite/test_what.py: temporal modules:
+	  Added test, disabled some (for now) unimportant options
+
+2015-01-28 20:19  neteler
+
+	* locale/po/grassmods_es.po: Daniel Torres: ES translation cont'ed
+
+2015-01-28 18:44  wenzeslaus
+
+	* gui/wxpython/gis_set.py: wxGUI/startup: change layout of
+	  startup/welcome window/screen
+	  
+	  Using philosophy of editing lists (list of X with buttons to
+	  manage items). There are three things to select, so there are
+	  three boxes to organzie things. Each box has a description of
+	  what it is directly in the window, so there is no need to open
+	  manual in order to understand basic things. Delete and rename is
+	  done through buttons rather then choice/combo which, unlike
+	  button, should not triger any action.
+	  
+	  Size of the window and inner elements might be good change.
+	  Window could be wider and minimal height lower.
+	  
+	  The green title text in the window was removed. The version and
+	  revision are now in the window title.
+	  
+	  Some changes to layout should be considered. Head picture might
+	  be too close to the first group and the message/warning/error
+	  area could go somewhere else (typicaly at top or bottom, top
+	  would be under head image in our case); now using the old one
+	  (under gisdbase).
+	  
+	  For location and mapset using GRASS Location, Location, GRASS
+	  Mapset and Mapset. Alternative primary names as well as box
+	  labels (e.g. with numbers) and box descriptions should be easy to
+	  introduce by simple change of the strings (without a need to
+	  modify layout).
+	  
+	  Start button is now using 'Start GRASS session' to expose the
+	  concept of session (one can start GUI multiple times, one GRASS
+	  session on gisdbase/loc/map combination, session must run to run
+	  Pyrthon scripts, ...).
+	  
+	  Naming of GISDBASE is unclear, programming manual is using
+	  (GRASS) database but it seems more that location is the databse
+	  and mapset the namespace and it is a quite normal directory, so
+	  startup screen is using GRASS GIS data directory.
+
+2015-01-28 15:51  huhabla
+
+	* temporal/t.rast.what, temporal/t.rast.what/Makefile,
+	  temporal/t.rast.what/t.rast.what.html,
+	  temporal/t.rast.what/t.rast.what.py: temporal modules: New module
+	  that utilizes r.what for STRDS sampling
+
+2015-01-27 22:30  mmetz
+
+	* lib/vector/Vlib/line.c: Vlib: fix Vect_line_geodesic_distance()
+	  documentation
+
+2015-01-27 22:24  mmetz
+
+	* lib/vector/Vlib/find.c: Vlib: fix Vect_find_area()
+
+2015-01-27 22:22  mmetz
+
+	* lib/vector/Vlib/area.c: Vlib: sync Vect_point_in_area() to the
+	  other Vect_point_in*() fns
+
+2015-01-27 16:21  annakrat
+
+	* lib/init/grass.py: startup: attempt to fix #2552 by encoding
+	  string
+
+2015-01-27 08:31  neteler
+
+	* raster/r.in.gdal/r.in.gdal.html: r.in.gdal: NOAA DEM url fix
+	  (trac #2562); minor cleanup
+
+2015-01-26 19:35  neteler
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.html:
+	  t.vect.observe.strds manual: minor cleanup
+
+2015-01-26 13:26  neteler
+
+	* locale/po/grasswxpy_zh.po: Shulin Yang: ZH cont'ed
+
+2015-01-26 11:39  neteler
+
+	* doc/howto_release.txt, gui/wxpython/Makefile: wxGUI: clean must
+	  remove *.pyc
+
+2015-01-26 10:58  neteler
+
+	* gui/wxpython/iclass/frame.py: wxGUI iclass: fix indentation
+
+2015-01-25 17:55  neteler
+
+	* general/g.parser/g.parser.html, gui/wxpython/lmgr/frame.py,
+	  imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html,
+	  imagery/i.eb.hsebal01/i.eb.hsebal01.html,
+	  imagery/i.ortho.photo/README, lib/gmath/la.c,
+	  lib/init/grass7.html, lib/init/variables.html,
+	  lib/python/docs/src/pygrass_raster.rst,
+	  lib/python/docs/src/temporal_framework.rst,
+	  lib/python/gunittest/invoker.py,
+	  lib/python/imaging/images2gif.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/vector/table.py, lib/python/script/task.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_operator.py,
+	  lib/temporal/lib/map_list.c, lib/vector/Vlib/open.c,
+	  lib/vector/diglib/spindex_rw.c, locale/grass_po_stats.py,
+	  raster/r.solute.transport/r.solute.transport.html,
+	  raster/r.volume/main.c, raster/r.watershed/shed/com_line.c,
+	  raster/r.what/r.what.html, raster3d/r3.gwflow/r3.gwflow.html,
+	  scripts/r3.in.xyz/r3.in.xyz.html, temporal/t.info/t.info.html,
+	  temporal/t.rast.colors/t.rast.colors.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.select/t.select.html,
+	  temporal/t.vect.algebra/t.vect.algebra.html,
+	  temporal/temporalintro.html, vector/v.colors/v.colors.html,
+	  vector/v.lrs/MAIL, vector/v.out.postgis/v.out.postgis.html: Fixed
+	  various typos (trac #2560)
+
+2015-01-24 20:00  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/nviz/wxnviz.py, include/ogsf.h, lib/ogsf/gv.c,
+	  lib/ogsf/gv2.c, lib/ogsf/gvd.c: libogsf/wxGUI: fix selecting if
+	  render 3d lines as draped or as 3D
+
+2015-01-24 17:58  wenzeslaus
+
+	* lib/python/docs/src/gunittest_running_tests.rst,
+	  lib/python/docs/src/gunittest_testing.rst: gunittest: more
+	  detailed documentation of running tests including shell scripts
+
+2015-01-24 17:20  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py: wxGUI/nviz: pass only existing
+	  maps for surface/3d raster attributes to avoid crashing
+
+2015-01-24 16:58  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxGUI/nviz: fixes map selection
+	  widget for wxPython 3, and fix element type raster_3d
+
+2015-01-24 16:54  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: fix finding fully qualified
+	  name for 3d rasters
+
+2015-01-24 16:03  zarch
+
+	* lib/python/pygrass/modules/interface/read.py: Add rules tag in
+	  the pygrass module interface
+
+2015-01-24 14:41  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: avoid illegal name
+	  warning when parsing input of g.copy, for example g.copy
+	  raster=elevation,elevation2
+
+2015-01-24 14:12  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/xml/toolboxes.xml,
+	  gui/wxpython/xml/wxgui_items.xml: wxGUI: fix launching tplot tool
+	  from the menu
+
+2015-01-23 20:28  ychemin
+
+	* scripts/i.spectral/i.spectral.py: added text file output of
+	  spectrum
+
+2015-01-23 20:13  mmetz
+
+	* raster/r.cost/main.c, raster/r.walk/main.c: r.cost, r.walk: fix
+	  debug level
+
+2015-01-23 19:38  mmetz
+
+	* raster/r.cost/cost.h, raster/r.cost/main.c,
+	  raster/r.cost/r.cost.html, raster/r.cost/stash.h,
+	  raster/r.walk/main.c, raster/r.walk/r.walk.html,
+	  raster/r.walk/stash.h: r.cost, r.walk: change percent_memory to
+	  memory (in MB)
+
+2015-01-23 02:45  annakrat
+
+	* gui/wxpython/wxplot/profile.py: wxGUI/profile: fix case when map
+	  has defined units
+
+2015-01-22 15:54  mlennert
+
+	* lib/gis/colors.desc, lib/gis/colors/blues, lib/gis/colors/greens,
+	  lib/gis/colors/oranges, lib/gis/colors/reds: adding some very
+	  simple mononchrome color tables for general usage
+
+2015-01-22 11:02  mmetz
+
+	* vector/v.vect.stats/main.c: v.vect.stats: accommodate SQLite
+
+2015-01-22 10:26  mmetz
+
+	* vector/v.overlay/main.c: v.overlay: accommodate SQLite
+
+2015-01-22 09:50  mmetz
+
+	* vector/v.reclass/main.c: v.reclass: accommodate SQLite
+
+2015-01-22 09:38  mmetz
+
+	* vector/v.extract/copy_tab.c: v.extract: +index, grant privileges
+	  on table
+
+2015-01-22 08:04  mmetz
+
+	* lib/vector/Vlib/copy.c, lib/vector/Vlib/map.c: Vlib: avoid code
+	  duplication
+
+2015-01-22 07:47  mmetz
+
+	* vector/v.patch/main.c: v.patch: SQLite fix
+
+2015-01-21 17:30  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: define gisprompt also
+	  for G_OPT_V_CAT(S)
+
+2015-01-21 16:56  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: don't select new map layer
+	  in the layer tree when it's not active
+
+2015-01-21 03:31  wenzeslaus
+
+	* lib/raster3d/README, lib/raster3d/r3_volume_layout.png,
+	  lib/raster3d/r3_volume_layout.xcf,
+	  lib/raster3d/r3_volume_layout_large.png,
+	  lib/raster3d/raster3d_layout.png,
+	  lib/raster3d/raster3d_layout.xcf,
+	  lib/raster3d/raster3d_tile_cell_generator.sh,
+	  lib/raster3d/raster3dlib.dox,
+	  lib/raster3d/volume_tile_cell_generator.sh,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.in.ascii/r3_volume_layout.png,
+	  raster3d/r3.in.ascii/raster3d_layout.png,
+	  raster3d/r3.out.ascii/r3.out.ascii.html,
+	  raster3d/r3.out.ascii/r3_volume_layout.png,
+	  raster3d/r3.out.ascii/raster3d_layout.png,
+	  raster3d/raster3dintro.html: change terminology in 3D raster
+	  layout image
+	  
+	  * replace G3D, volume, and voxel
+	  * all should related to the image file be unified now (e.g., cell
+	  was already used in script name)
+	  * font in the image changed a little bit, the text area is now
+	  wider
+	  * xcf file should be ok now, see r57780 for note about broken
+	  file and r64263 for restoration from r47531
+	  * files in r.in.ascii and r.out.ascii are svn cp from the file in
+	  lib (one of them is the one going to documentation)
+	  * related file names changed too
+
+2015-01-21 02:36  wenzeslaus
+
+	* lib/vector/testsuite,
+	  lib/vector/testsuite/test_topology_vgeneralize.sh: add topology
+	  test which uses v.generalize debug mode (author: mmetz)
+	  
+	  See also: Planning GRASS GIS 7.0.0RC1,
+	  http://lists.osgeo.org/pipermail/grass-dev/2015-January/073231.html
+
+2015-01-21 01:54  annakrat
+
+	* gui/wxpython/psmap/dialogs.py: wxGUI/psmap: fix accidently
+	  renamed dict keys during rast(er) element name change
+
+2015-01-20 22:31  neteler
+
+	* include/defs/la.h, lib/gmath/la.c: libgmath: move new
+	  matrix/vector functions from i.spec.unmix Addon here
+
+2015-01-20 21:02  neteler
+
+	* lib/raster3d/r3_volume_layout.xcf: r3_volume_layout.xcf: restored
+	  from r47531
+
+2015-01-20 19:46  mmetz
+
+	* vector/v.generalize/misc.c: v.generalize: update topology test
+
+2015-01-20 19:38  mmetz
+
+	* lib/vector/Vlib/poly.c: Vlib: more robust centroid calculation
+
+2015-01-20 18:38  martinl
+
+	* general/g.proj/create.c, general/g.proj/local_proto.h,
+	  general/g.proj/main.c: g.proj: generate PROJ_EPSG file when
+	  `location` is given #2490
+
+2015-01-19 21:30  neteler
+
+	* locale/po/grasswxpy_zh.po: Shulin Yang: Chinese translation
+	  cont'ed
+
+2015-01-19 13:44  huhabla
+
+	* temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py: temporal modules:
+	  Documentation fix
+
+2015-01-19 09:47  neteler
+
+	* locale/Makefile, locale/po/grasswxpy_fr.po: Sylvain Maillard:
+	  cont'ed
+
+2015-01-19 09:45  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/datacatalog: fix failure
+	  when mapsets are not readable
+
+2015-01-19 09:29  martinl
+
+	* lib/init/variables.html: document GRASS_VECTOR_TOPO_DEBUG
+	  variable
+
+2015-01-18 23:14  mmetz
+
+	* vector/v.generalize/main.c, vector/v.generalize/misc.c,
+	  vector/v.generalize/misc.h: v.generalze: add extremely fast mode
+	  (default) and exremely slow mode (debugging)
+
+2015-01-18 22:10  neteler
+
+	* gui/wxpython/rlisetup/wizard.py: wxGUI rlisetup: msg
+	  standardization
+
+2015-01-18 22:00  neteler
+
+	* locale/po/grassmods_es.po: Daniel Torres: ES translation cont'ed
+
+2015-01-17 13:39  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: FR translation
+	  cont'ed)
+
+2015-01-17 04:12  glynn
+
+	* gui/xml/grass-interface.dtd, lib/gis/parser_dependencies.c,
+	  lib/gis/parser_interface.c, lib/gis/parser_local_proto.h: Add
+	  inter-dependency rules to --interface-description output
+
+2015-01-16 13:45  neteler
+
+	* raster/r.horizon/main.c: r.horizon: bug with distant mountains
+	  not being seen: more debug
+
+2015-01-16 13:42  neteler
+
+	* general/g.parser/g.parser.html, general/g.parser/test.pl,
+	  general/g.parser/test.py, general/g.parser/test.sh: g.parser
+	  manual: minor white space fixes
+
+2015-01-16 13:39  neteler
+
+	* general/g.parser/g.parser.html: g.parser: explain also condition
+	  syntax for flags
+
+2015-01-16 12:43  huhabla
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.html:
+	  Documentation update
+
+2015-01-16 11:09  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_ogr.c,
+	  lib/vector/Vlib/write_pg.c, lib/vector/Vlib/write_sfa.c: Vlib:
+	  fix vector IO, enable level 1 fns
+
+2015-01-16 02:19  annakrat
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI/gselect: fix g.remove in wxPython 3, Select widget behaves
+	  differently
+
+2015-01-15 21:34  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c: Vlib: update Vect_attach_isle() and
+	  Vect_isle_find_area()
+
+2015-01-15 21:11  mmetz
+
+	* lib/vector/Vlib/poly.c: Vlib: sync Vect_point_in_*() fns, add
+	  comments
+
+2015-01-15 21:03  mmetz
+
+	* lib/vector/Vlib/find.c: Vlib: optimize Vect_find_area(), add
+	  comments
+
+2015-01-15 20:54  mmetz
+
+	* lib/vector/Vlib/poly.c: Vlib: fix segments_x_ray(),
+	  Vect_point_in_poly() and Vect_point_in_area_outer_ring() must
+	  return the same result
+
+2015-01-15 20:45  mmetz
+
+	* lib/vector/diglib/linecros.c: diglib: add numerical stability to
+	  dig_test_for_intersection()
+
+2015-01-15 20:44  mmetz
+
+	* lib/vector/diglib/line_dist.c: diglib: add numerical stability to
+	  dig_distance2_point_to_line()
+
+2015-01-15 20:37  mmetz
+
+	* lib/vector/diglib/inside.c: diglib: add numerical stability to
+	  dig_x_intersect()
+
+2015-01-15 13:29  neteler
+
+	* general/g.parser/g.parser.html, general/g.parser/test.pl,
+	  general/g.parser/test.py, general/g.parser/test.sh: g.parser
+	  manual: examples updated
+
+2015-01-15 13:00  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI/gselect: put back element
+	  mappings removed in r64105 which fixes g.remove
+
+2015-01-15 08:42  neteler
+
+	* vector/v.hull, vector/v.hull/v.hull.html,
+	  vector/v.hull/v_hull_3d.png: v.hull manual: 3D screenshot added
+
+2015-01-14 22:23  neteler
+
+	* lib/gis/renamed_options: renamed_options: some missing entries
+	  added
+
+2015-01-14 22:07  neteler
+
+	* doc/howto_release.txt: release procedure: minor fixes
+
+2015-01-14 15:45  neteler
+
+	* general/g.parser/g.parser.html: g.parser manual: added Glynn's
+	  notes about conditional rules from
+	  http://lists.osgeo.org/pipermail/grass-dev/2014-November/071916.html
+
+2015-01-14 15:32  annakrat
+
+	* raster/r.slope.aspect/main.c,
+	  raster/r.slope.aspect/r.slope.aspect.html: r.slope.aspect: change
+	  behavior for locations where units are not meters #2536
+
+2015-01-14 15:26  neteler
+
+	* locale/po/grasswxpy_de.po: cont'ed DE translation
+
+2015-01-14 15:22  neteler
+
+	* general/g.parser/g.parser.html: g.parser manual: mention OR rules
+
+2015-01-14 13:13  lucadelu
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'ed
+
+2015-01-14 11:39  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: force height for colour
+	  widget (wxPython 3 fix)
+
+2015-01-14 11:36  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: set focus on start button
+	  (wxPython 3)
+
+2015-01-14 09:03  mmetz
+
+	* lib/vector/Vlib/build.c: Vlib: fix topology updating
+
+2015-01-14 08:26  neteler
+
+	* raster/r.terraflow/r.terraflow.html: r.terraflow manual: some
+	  cleanup; limit added
+
+2015-01-14 07:53  neteler
+
+	* lib/gpde/test/test_arrays.c: update g.remove calls (trac #2409)
+
+2015-01-14 06:06  wenzeslaus
+
+	* scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r3.mapcalculator/r3.mapcalculator: remove minor
+	  differences to r64155 release 70 branch (probably due to improper
+	  backports)
+
+2015-01-14 05:27  wenzeslaus
+
+	* lib/python/pygrass/modules/shortcuts.py: pygrass: use raster3d
+	  instead of raster3D for module family/class (see also #2409,
+	  r64109 and r64055)
+
+2015-01-14 00:16  martinl
+
+	* lib/init/variables.html: remove extra lines from r64151
+
+2015-01-14 00:15  martinl
+
+	* gui/wxpython/mapdisp/frame.py: partly revert r64150
+
+2015-01-14 00:12  martinl
+
+	* gui/wxpython/core/globalvar.py, lib/init/variables.html:
+	  introduce GRASS_WXVERSION variable
+
+2015-01-13 23:22  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI: fix statusbar prop for wxPython3
+
+2015-01-13 20:10  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: modify CheckForWx() to
+	  enable selection of wxPython version (eg. 2.8 over 3.0)
+
+2015-01-13 19:56  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: button layout cosmetics
+	  (wxPython 3)
+
+2015-01-13 19:24  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: system info cosmetics
+
+2015-01-13 19:12  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI menu cosmetics 3D rasters
+	  -> 3D raster
+
+2015-01-13 18:59  martinl
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI: set background color for
+	  map window (wxPython 3)
+
+2015-01-13 18:46  martinl
+
+	* gui/wxpython/gui_core/treeview.py,
+	  gui/wxpython/lmgr/layertree.py: wxGUI: set background color for
+	  LayerTree and CTreeView to white (wxPython 3)
+
+2015-01-13 17:38  hcho
+
+	* general/g.rename/main.c: g.rename: update_basemap =>
+	  update_base_map
+
+2015-01-13 17:15  hcho
+
+	* general/g.rename/main.c: g.rename: rename_child_reclass_maps =>
+	  update_reclass_maps
+
+2015-01-13 16:54  hcho
+
+	* general/g.rename/main.c: g.rename: variable scoping
+
+2015-01-13 16:50  hcho
+
+	* general/g.rename/main.c: g.rename: Update reclass info in base
+	  map (Fix #2546)
+
+2015-01-13 16:42  annakrat
+
+	* scripts/v.report/v.report.py: v.report: fix when using vector map
+	  without db connection, part of the code was not used at all, see
+	  colnames variable
+
+2015-01-13 15:04  hcho
+
+	* lib/raster/reclass.c: libraster: Correct parameter names in doc
+
+2015-01-13 14:55  hcho
+
+	* general/g.rename/main.c: g.rename: Rename child reclass maps
+	  properly
+
+2015-01-13 14:47  hcho
+
+	* general/g.rename/main.c: g.rename: Allow renaming when the same
+	  name exists in other mapsets
+
+2015-01-13 13:15  martinl
+
+	* imagery/i.segment/open_files.c: i.segment: message cosmetics
+
+2015-01-13 12:22  martinl
+
+	* imagery/i.segment/open_files.c, imagery/i.segment/write_output.c:
+	  i.segment: clarify error message - group must be located in the
+	  current mapset
+
+2015-01-13 10:37  neteler
+
+	* INSTALL, REQUIREMENTS.html, grasslib.dox, include/VERSION,
+	  man/build_html.py, man/build_rest.py: happy new year
+
+2015-01-13 10:17  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'ed
+
+2015-01-13 10:05  neteler
+
+	* locale/po/grassmods_es.po: Daniel Torres: cont'ed
+
+2015-01-13 09:56  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: i18N: msg update from template
+
+2015-01-13 02:32  wenzeslaus
+
+	* include/Make/Docs.make, man/Makefile, man/build_class.py,
+	  man/build_full_index.py, man/build_html.py,
+	  raster3d/raster3dintro.html, tools/mkhtml.py: use raster3d
+	  instead of raster3D for r3. module family/class keyword
+	  
+	  * use 3D raster for titles and links
+	  * stay with raster3d keyword in modules (alternatives would be
+	  raster_3d and 3D raster, the later may need some special handing
+	  to remove number from beginning of file, just to be sure)
+	  * also use index rather then Index for keywords index link in
+	  modules (other links use index but index pages actually use
+	  Index)
+	  * it's unclear if we are using 'Title Case' or just 'Capital at
+	  the beginning', also cases such as PostScript and misc are
+	  unclear
+	  * see also #2409 and r64055
+
+2015-01-12 22:50  martinl
+
+	* gui/xml/grass-interface.dtd: clean up gisprompt's element in
+	  grass-interface.dtd
+
+2015-01-12 22:48  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: clean up elementdict
+
+2015-01-12 16:50  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix adding labels when
+	  element renamed
+
+2015-01-12 15:46  martinl
+
+	* vector/v.external/list.c: v.external: fix -t flag output for PG
+	  format (print also geometry column)
+
+2015-01-12 13:58  neteler
+
+	* lib/python/pygrass/gis/__init__.py: element_list: labels -> label
+	  for consistency
+
+2015-01-12 13:56  neteler
+
+	* lib/manage/element_list, lib/python/pygrass/gis/__init__.py:
+	  element_list: labels -> label for consistency
+
+2015-01-12 13:48  neteler
+
+	* lib/gis/renamed_options, raster/r.param.scale/interface.c,
+	  raster/r.walk/main.c: r.param.scale+r.walk: parameter
+	  standardization (trac #2409)
+
+2015-01-12 13:47  martinl
+
+	* gui/icons/grass/select.png: add icon to select features
+	  interactively from map display
+
+2015-01-12 13:40  neteler
+
+	* lib/gis/renamed_options: renamed_options: update for r64083
+
+2015-01-12 13:36  neteler
+
+	* vector/v.lidar.correction/main.c,
+	  vector/v.lidar.correction/v.lidar.correction.html,
+	  vector/v.lidar.edgedetection/main.c,
+	  vector/v.lidar.edgedetection/v.lidar.edgedetection.html:
+	  v.lidar.correction,v.lidar.edgedetection: sync spline parameter
+	  names to v.surf.bspline (trac #2409); minor cleanup
+
+2015-01-12 11:10  neteler
+
+	* vector/v.to.db/main.c: v.to.db: test exit status of
+	  Vect_open_old()
+
+2015-01-12 02:31  wenzeslaus
+
+	* lib/gis/renamed_options: clarify period when the option were
+	  renamed
+	  
+	  * improves r64058
+	  * makes sense in case we will be changing options and
+	  depreciating the old ones using renamed_options file during 7.x
+	  while keeping the options carried over from 6.4
+
+2015-01-11 22:32  mmetz
+
+	* vector/v.generalize/misc.c: v.generalize: speed-up with another
+	  topo check
+
+2015-01-11 19:35  mmetz
+
+	* lib/vector/Vlib/build.c: Vlib: fix r49178
+
+2015-01-11 18:55  neteler
+
+	* lib/gis/renamed_options, vector/v.qcount/main.c: renamed_options:
+	  missing modules updated; typos fixed; alphabetical order for
+	  easier human lookup for GRASS GIS 6 users and
+	  https://github.com/qgis/QGIS/tree/master/python/plugins/processing/algs/grass7
+	  (trac #2409)
+
+2015-01-11 14:17  neteler
+
+	* doc/howto_release.txt, lib/gis/renamed_options: minor doc fixes
+
+2015-01-11 14:14  neteler
+
+	* imagery/i.evapo.pt/main.c, lib/gis/renamed_options,
+	  raster/r.sun/main.c, raster/r.sun/r.sun.html: renamed_options:
+	  alphabetical order, fixed dupes and typos; sync coeff
+	  abbreviation
+
+2015-01-11 04:46  wenzeslaus
+
+	* gui/wxpython/docs/wxGUI.nviz.html, gui/wxpython/nviz/tools.py:
+	  wxGUI/nviz: replace volume by 3D raster in 3D view controls and
+	  documentation
+	  
+	  * no change for 'volume' used with vectors
+	  * now there is strange inconsistency with surfaces and 3D rasters
+	  (considering as minor)
+
+2015-01-11 04:42  wenzeslaus
+
+	* gui/wxpython/xml/toolboxes.xml, gui/wxpython/xml/wxgui_items.xml:
+	  wxGUI/toolboxes: replace volume by 3D raster in toolboxes and
+	  menu
+	  
+	  * no change to toolbox names (it would require extensive testing)
+	  * using 'a' as shortcut for 3D raster menu (was 'o'), adding 't'
+	  for Temporal menu
+	  * removing dot at the end of GUI label
+
+2015-01-11 04:36  wenzeslaus
+
+	* raster3d/raster3dintro.html: r3: replace occurences of volume,
+	  voxel and 3D grid by 3D raster in introduction page
+	  
+	  * discussion for the names included
+	  * minor clean up of import and export sections
+	  * some 'GRASS' to 'GRASS GIS'
+	  * 3D visualization and temporal to see also
+	  * short data types description provided
+	  * unclear how to change note about Vis5D
+
+2015-01-10 14:11  neteler
+
+	* vector/v.cluster/v.cluster.html: v.cluster manual: simplify color
+	  management
+
+2015-01-10 14:10  marisn
+
+	* gui/wxpython/location_wizard/wizard.py: Read GISENV in stdin
+	  encoding and convert to unicode (fixes #2205)
+
+2015-01-10 10:53  neteler
+
+	* lib/python/pygrass/gis/__init__.py: fix r63972
+
+2015-01-09 21:00  annakrat
+
+	* vector/v.what/what.c: v.what: escape backslash in database path
+	  on Windows to create valid JSON
+
+2015-01-09 20:04  mmetz
+
+	* vector/v.generalize/main.c, vector/v.generalize/misc.c:
+	  v.generalize: add another test to check_topo()
+
+2015-01-09 20:03  mmetz
+
+	* lib/vector/Vlib/poly.c: Vlib: optimize
+	  Vect_point_in_area_outer_ring() and Vect_point_in_island()
+
+2015-01-09 15:08  annakrat
+
+	* gui/wxpython/mapwin/decorations.py: wxGUI: fix sizer issue in
+	  wxPython 3, #2542
+
+2015-01-09 08:59  neteler
+
+	* raster3d/r3.flow/main.c, raster3d/r3.flow/test_main.c,
+	  raster3d/r3.gradient/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.bin/main.c, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.info/main.c, raster3d/r3.mask/main.c,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.neighbors/main.c,
+	  raster3d/r3.null/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.bin/main.c, raster3d/r3.out.netcdf/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.stats/main.c, raster3d/r3.support/main.c,
+	  raster3d/r3.timestamp/main.c,
+	  raster3d/r3.timestamp/r3.timestamp.main.c: r3.*: keyword
+	  standardization; minor compiler warnings fixed; use standard file
+	  name for main.c of r3.timestamp
+
+2015-01-09 08:37  neteler
+
+	* raster3d/r3.info/main.c, raster3d/r3.info/r3.info.main.c:
+	  r3.info: 3d cell -> raster_3d in msg; use standard filename
+
+2015-01-08 22:28  mmetz
+
+	* vector/v.cluster/main.c, vector/v.cluster/v.cluster.html:
+	  v.cluster: add methods dbscan2,density,optics,optics2
+
+2015-01-08 18:49  martinl
+
+	* lib/manage/element_list: remove ascii_vector from element_list
+	  #2440 (part 2)
+
+2015-01-08 18:37  martinl
+
+	* general/g.rename/g.rename.html, lib/manage/option.c,
+	  lib/python/pygrass/gis/__init__.py: remove ascii_vector from
+	  element_list #2440
+
+2015-01-08 17:09  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: slight reformulation of the
+	  message in r63997
+
+2015-01-08 17:02  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: attempt to fix launching
+	  script on Windows #2532
+
+2015-01-08 13:56  neteler
+
+	* raster/r.horizon/main.c, raster/r.horizon/r.horizon.html:
+	  r.horizon: implement -c flag for compass oriented output
+
+2015-01-07 20:51  neteler
+
+	* scripts/v.in.lines/v.in.lines.py,
+	  scripts/v.to.lines/v.to.lines.html, vector/v.to.points/main.c:
+	  manual: minor keyword and cross link fixes
+
+2015-01-07 10:52  martinl
+
+	* display/d.vect.thematic/main.c, lib/gis/renamed_options:
+	  d.vect.thematic: rename nbclasses to nclasses (#2409)
+
+2015-01-07 10:48  martinl
+
+	* display/d.vect.thematic/d.vect.thematic.html,
+	  display/d.vect.thematic/main.c: d.vect.thematic: update manual
+	  (syntax)
+
+2015-01-07 09:50  martinl
+
+	* display/d.vect.thematic/main.c: d.vect.thematic: more guisections
+
+2015-01-07 09:45  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/lmgr/layertree.py,
+	  lib/gis/renamed_options, vector/v.class/v.class.html: rename
+	  d.thematic.area to d.vect.thematic (part 4)
+
+2015-01-07 09:34  martinl
+
+	* display/d.vect.thematic/Makefile: rename d.thematic.area to
+	  d.vect.thematic (part 3)
+
+2015-01-07 09:31  martinl
+
+	* display/d.vect.thematic/d.thematic.area.html,
+	  display/d.vect.thematic/d.vect.thematic.html,
+	  display/d.vect.thematic/main.c: rename d.thematic.area to
+	  d.vect.thematic (part 2)
+
+2015-01-07 09:27  martinl
+
+	* display/Makefile, display/d.thematic.area,
+	  display/d.vect.thematic: rename d.thematic.area to
+	  d.vect.thematic (part 1)
+
+2015-01-07 09:24  martinl
+
+	* scripts/Makefile, scripts/d.vect.thematic: move d.vect.thematic
+	  to addons as d.vect.thematic2 (part 3)
+
+2015-01-07 09:16  martinl
+
+	* general/g.rename/g.rename.html: remove reference to old_vector
+
+2015-01-07 08:37  zarch
+
+	* lib/python/pygrass/gis/__init__.py: pygrass: update Element Types
+	  removing: G_ELEMENT_ICON and G_ELEMENT_SITES and rename labels to
+	  label
+
+2015-01-06 15:45  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix selection widget
+	  problem #2533
+
+2015-01-06 15:23  annakrat
+
+	* scripts/v.to.lines/v.to.lines.py: v.to.lines: fix striping mapset
+	  from input map
+
+2015-01-06 07:58  neteler
+
+	* locale/po/grassmods_es.po: Daniel Torres: ES translation cont'ed)
+
+2015-01-05 21:10  martinl
+
+	* include/defs/gis.h, lib/gis/local_proto.h: libgis:
+	  G__read_gisrc_env() is used by testsuite
+
+2015-01-05 20:36  hellik
+
+	* scripts/v.to.lines/v.to.lines.py: v.to.lines: strip mapset
+
+2015-01-05 16:03  neteler
+
+	* lib/gis/gislib.dox, lib/gis/testsuite/gis_lib_env_test.py:
+	  testsuite + doxygen: update for r63830
+
+2015-01-05 15:45  neteler
+
+	* lib/gis/gislib.dox, lib/gis/testsuite/gis_lib_env_test.py:
+	  testsuite + doxygen: update for r63830
+
+2015-01-04 19:36  mmetz
+
+	* vector/Makefile, vector/v.cluster, vector/v.cluster/Makefile,
+	  vector/v.cluster/main.c, vector/v.cluster/v.cluster.html,
+	  vector/v.cluster/v.example.html: add v.cluster: identify clusters
+	  in a point cloud
+
+2015-01-04 19:32  mmetz
+
+	* lib/btree2/kdtree.c, lib/btree2/kdtree.h: btree2lib: add kdtree
+	  traversal
+
+2015-01-03 20:26  annakrat
+
+	* lib/gis/renamed_options, raster/r.sim/r.sim.sediment/main.c,
+	  raster/r.sim/r.sim.sediment/r.sim.sediment.html: r.sim.sediment:
+	  rename parameters
+
+2015-01-03 15:11  annakrat
+
+	* gui/wxpython/core/utils.py: do not use str with unicode, relates
+	  to #2524
+
+2015-01-03 12:42  martinl
+
+	* general/g.version/main.c: improve r63940
+
+2015-01-03 12:38  martinl
+
+	* general/g.version/main.c: g.version: fix segfault on unknown svn
+	  revision/date
+
+2015-01-03 03:33  annakrat
+
+	* gui/wxpython/mapwin/analysis.py, gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/mapwin/graphics.py,
+	  gui/wxpython/rdigit/controller.py,
+	  gui/wxpython/rlisetup/sampling_frame.py: wxGUI: specify pdc in
+	  Graphics API, change pdc where rdigit objects are drawn to avoid
+	  problems with pen styles (other than solid) when drawing using
+	  wx.GCDC
+
+2015-01-03 01:43  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI: fix toolbars problem - #2523 and raster digitizer must be
+	  destroyed not just hidden
+
+2015-01-02 18:32  neteler
+
+	* display/d.grid/main.c, display/d.grid/plot.c: d.grid: attempt to
+	  demystify user msgs (but see trac #2520)
+
+2015-01-02 11:24  martinl
+
+	* vector/Makefile, vector/v.convert: remove v.convert
+
+2015-01-02 11:22  martinl
+
+	* include/gis.h, lib/manage/element_list, lib/manage/option.c,
+	  lib/python/pygrass/gis/__init__.py: remove old_vector from
+	  element list
+
+2015-01-02 08:24  martinl
+
+	* include/defs/site.h, include/site.h,
+	  lib/rst/interp_float/point2d.c, vector/v.surf.rst/main.c,
+	  vector/v.vol.rst/main.c: remove site.h and references to this
+	  header
+	  (sitelib has been already removed in r62179)
+
+2015-01-01 20:56  mmetz
+
+	* lib/vector/Vlib/snap.c: Vlib: activate faster snapping method
+
+2015-01-01 20:56  mmetz
+
+	* lib/btree2/kdtree.c, lib/btree2/kdtree.h: kd tree: optimize, add
+	  comments
+
+2015-01-01 20:03  martinl
+
+	* lib/arraystats/arraystatslib.dox: arraystatslib: doxygen update
+	  (AS_option_to_algorithm)
+
+2015-01-01 20:02  martinl
+
+	* lib/arraystats/arraystatslib.dox,
+	  lib/arraystats/discont.README.txt: arraystatslib: doxygen update
+	  (discont algorithm) and author
+
+2015-01-01 19:45  martinl
+
+	* display/d.thematic.area/main.c, include/arraystats.h,
+	  include/defs/arraystats.h, lib/arraystats/class.c,
+	  vector/v.class/main.c: arraystatslib: add
+	  AS_option_to_algorithm()
+
+2015-01-01 19:26  martinl
+
+	* lib/arraystats/arraystatslib.dox: doxygen cosmetics
+
+2015-01-01 19:24  martinl
+
+	* display/d.thematic.area/main.c, include/defs/arraystats.h,
+	  lib/arraystats/arraystatslib.dox, lib/arraystats/basic.c,
+	  lib/arraystats/class.c, vector/v.class/main.c: arraystatslib:
+	  rename fns to use prefix (AS)
+
+2015-01-01 19:00  martinl
+
+	* lib: update svn:ignore props
+
+2015-01-01 18:53  martinl
+
+	* lib/arraystats/Makefile, lib/arraystats/arraystatslib.dox: add
+	  template for arraystats library
+
+2015-01-01 17:39  martinl
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: d.vect.thematic:
+	  check if monitor or direct rendering is enabled
+
+2015-01-01 17:31  martinl
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: d.vect.thematic: fix
+	  calculating range min/max
+
+2015-01-01 14:13  martinl
+
+	* scripts/v.db.univar/v.db.univar.py: v.db.univar: check if table
+	  linked to layer
+
+2015-01-01 14:07  martinl
+
+	* scripts/v.db.univar/v.db.univar.py: v.db.univar: check if map
+	  exists
+	  catch error from db.univar
+
+2015-01-01 14:06  martinl
+
+	* scripts/db.univar/db.univar.py: db.univar: check if column is
+	  numeric
+	  replace print by sys.stdout.write()
+
+2015-01-01 13:40  martinl
+
+	* scripts/v.db.dropcolumn/v.db.dropcolumn.py: v.db.dropcolumn: fix
+	  find_file() call
+
+2015-01-01 13:33  martinl
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: d.vect.thematic: skip
+	  rgb_column if not map not found in current mapset
+	  be quiet when --q is given
+
+2015-01-01 13:05  martinl
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: d.vect.thematic: fix
+	  interval count
+
+2015-01-01 13:01  martinl
+
+	* scripts/d.vect.thematic/d.vect.thematic.html,
+	  scripts/d.vect.thematic/d.vect.thematic.py: d.vect.thematics:
+	  replace -u flag by rgb_column option (sync'ed with v.colors)
+	  manual updated
+	  check v.univar result
+
+2015-01-01 12:05  martinl
+
+	* vector/v.univar/main.c, vector/v.univar/v.univar.html: v.univar:
+	  extend example in the manual
+
+2015-01-01 11:51  martinl
+
+	* vector/v.univar/main.c: v.univar: check if column exists
+
+2014-12-31 16:33  neteler
+
+	* lib/raster/alloc_cell.c, lib/raster/cats.c,
+	  lib/raster/cell_stats.c, lib/raster/close.c,
+	  lib/raster/color_compat.c, lib/raster/color_free.c,
+	  lib/raster/color_get.c, lib/raster/color_hist.c,
+	  lib/raster/color_invrt.c, lib/raster/color_range.c,
+	  lib/raster/color_rule_get.c, lib/raster/color_set.c,
+	  lib/raster/color_shift.c, lib/raster/color_write.c,
+	  lib/raster/color_xform.c, lib/raster/get_cellhd.c,
+	  lib/raster/get_row.c, lib/raster/get_row_colr.c,
+	  lib/raster/history.c, lib/raster/maskfd.c, lib/raster/open.c,
+	  lib/raster/put_cellhd.c, lib/raster/put_row.c,
+	  lib/raster/quant.c, lib/raster/quant_io.c, lib/raster/quant_rw.c,
+	  lib/raster/range.c, lib/raster/raster.c,
+	  lib/raster/raster_metadata.c, lib/raster/reclass.c,
+	  lib/raster/sample.c, lib/raster/set_window.c,
+	  lib/raster/window.c, lib/raster/zero_cell.c,
+	  lib/vector/Vlib/intersect2.c: minor doxygen header updates
+
+2014-12-31 10:25  martinl
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: fix bug introduced in
+	  r63807
+
+2014-12-31 05:59  annakrat
+
+	* gui/wxpython/xml/toolboxes.xml, gui/wxpython/xml/wxgui_items.xml:
+	  wxGUI: add web service to menu
+
+2014-12-30 17:52  neteler
+
+	* configure.in: configure: hardcode GRASS_VERSION_SVN=00000 for
+	  platforms without svnversion program available (needed for
+	  g.version)
+
+2014-12-30 17:33  neteler
+
+	* configure: configure: hardcode GRASS_VERSION_SVN=00000 for
+	  platforms without svnversion program available (needed for
+	  g.version)configure.in
+
+2014-12-29 23:14  neteler
+
+	* raster/r.tile/main.c: r.tile: reasonable error msg if input map
+	  does not exist
+
+2014-12-29 21:00  neteler
+
+	* doc/gui/wxpython/example/g.gui.example.py,
+	  doc/python/m.distance.py, general/g.parser/g.parser.html,
+	  general/g.parser/parse.c, general/g.parser/test.pl,
+	  general/g.parser/test.py, general/g.parser/test.sh,
+	  gui/scripts/d.rast3d.py, gui/scripts/d.wms.py,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.py, gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/timeline/g.gui.timeline.py,
+	  gui/wxpython/tplot/g.gui.tplot.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py, lib/gis/parser_script.c,
+	  lib/python/docs/src/script_intro.rst,
+	  scripts/d.correlate/d.correlate.py,
+	  scripts/d.out.file/d.out.file.py, scripts/d.polar/d.polar.py,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py, scripts/d.redraw/d.redraw.py,
+	  scripts/d.shade/d.shade.py, scripts/d.to.rast/d.to.rast.py,
+	  scripts/d.vect.thematic/d.vect.thematic.py,
+	  scripts/d.what.rast/d.what.rast.py,
+	  scripts/d.what.vect/d.what.vect.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py, scripts/db.univar/db.univar.py,
+	  scripts/g.extension.all/g.extension.all.py,
+	  scripts/g.extension/g.extension.py, scripts/g.manual/g.manual.py,
+	  scripts/i.colors.enhance/i.colors.enhance.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py, scripts/i.oif/i.oif.py,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/r.in.srtm/r.in.srtm.py,
+	  scripts/r.in.wms/r.in.wms.py, scripts/r.mask/r.mask.py,
+	  scripts/r.out.xyz/r.out.xyz.py, scripts/r.pack/r.pack.py,
+	  scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py, scripts/r.rgb/r.rgb.py,
+	  scripts/r.shade/r.shade.py, scripts/r.tileset/r.tileset.py,
+	  scripts/r.unpack/r.unpack.py, scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.build.all/v.build.all.py,
+	  scripts/v.centroids/v.centroids.py,
+	  scripts/v.convert.all/v.convert.all.py,
+	  scripts/v.db.addcolumn/v.db.addcolumn.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droprow/v.db.droprow.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gps/v.in.gps.py, scripts/v.in.lines/v.in.lines.py,
+	  scripts/v.in.mapgen/v.in.mapgen.py, scripts/v.in.wfs/v.in.wfs.py,
+	  scripts/v.krige/v.krige.py, scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.pack/v.pack.py, scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.to.lines/v.to.lines.py,
+	  scripts/v.unpack/v.unpack.py, scripts/v.what.vect/v.what.vect.py,
+	  scripts/wxpyimgview/wxpyimgview.py,
+	  scripts/wxpyimgview/wxpyimgview_gui.py,
+	  temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py, temporal/t.merge/t.merge.py,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.algebra/t.rast.algebra.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py, temporal/t.remove/t.remove.py,
+	  temporal/t.rename/t.rename.py, temporal/t.sample/t.sample.py,
+	  temporal/t.select/t.select.py, temporal/t.shift/t.shift.py,
+	  temporal/t.snap/t.snap.py, temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.algebra/t.vect.algebra.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: scripts/parser:
+	  keywords -> keyword (old style remains accepted)
+
+2014-12-29 20:24  martinl
+
+	* lib/python/pygrass/gis/__init__.py, lib/python/pygrass/utils.py,
+	  lib/python/temporal/c_libraries_interface.py: update pygrass to
+	  recent libgis
+
+2014-12-29 20:18  neteler
+
+	* scripts/d.vect.thematic/d.vect.thematic: removed leftover
+	  d.vect.thematic shell script (more recent version is in G6.4)
+
+2014-12-29 20:16  martinl
+
+	* include/defs/gis.h, lib/gis/error.c, lib/gis/get_window.c,
+	  lib/gis/gisinit.c, lib/gis/home.c, lib/gis/local_proto.h,
+	  lib/gis/mapset_nme.c, lib/gis/open.c, lib/gis/open_misc.c,
+	  lib/gis/put_window.c, lib/gis/rd_cellhd.c, lib/gis/set_window.c,
+	  lib/gis/tempfile.c: move libgis-related G__ fns to local_proto.h
+
+2014-12-29 19:41  martinl
+
+	* include/defs/gis.h: fix gis.h to r63853
+
+2014-12-29 19:35  martinl
+
+	* raster/r.mapcalc/map.c: update to r63858
+
+2014-12-29 19:34  martinl
+
+	* lib/gis/parser_interface.c, lib/raster/get_row.c,
+	  lib/raster/get_row_colr.c, lib/raster/put_row.c: libgis:
+	  G__alloca() -> G_alloca()
+
+2014-12-29 19:30  martinl
+
+	* general/g.parser/rules.c: update to r63855
+
+2014-12-29 19:30  martinl
+
+	* include/defs/gis.h, lib/gis/parser_dependencies.c: libgis:
+	  G__option_rule() -> G_option_rule()
+
+2014-12-29 19:26  martinl
+
+	* general/g.list/main.c, general/g.mkfontcap/stroke_fonts.c,
+	  general/g.remove/main.c: update modules to r63851
+
+2014-12-29 19:25  martinl
+
+	* lib/gis/color_rules.c, lib/gis/list.c, lib/gis/ls.c,
+	  lib/imagery/list_subgp.c: libgis: G__ls -> G_ls2
+
+2014-12-29 19:18  martinl
+
+	* general/g.tempfile/main.c: update modules to r63849
+
+2014-12-29 19:17  martinl
+
+	* include/defs/gis.h, lib/gis/tempfile.c: libgis: G__tempfile() ->
+	  G_tempfile_pid()
+
+2014-12-29 19:12  martinl
+
+	* general/g.filename/main.c: update to r63846
+
+2014-12-29 19:12  martinl
+
+	* include/defs/gis.h, lib/db/dbmi_base/default_name.c,
+	  lib/gis/mapset_msc.c, lib/gis/open.c, lib/gis/tempfile.c,
+	  lib/manage/do_copy.c, lib/raster/close.c, lib/raster/gdal.c,
+	  lib/raster/open.c, lib/raster/quant_io.c, lib/raster3d/mapset.c,
+	  lib/vector/Vlib/map.c: libgis: G__make_mapset_element() ->
+	  G_make_mapset_element()
+
+2014-12-29 19:07  martinl
+
+	* db/drivers/dbf/table.c, raster/r.flow/io.c: update to r63843
+
+2014-12-29 19:07  martinl
+
+	* include/defs/gis.h, lib/gis/tempfile.c, lib/init/clean_temp.c,
+	  lib/vector/Vlib/open.c: libgis: G__temp_element() ->
+	  G_temp_element()
+
+2014-12-29 19:04  martinl
+
+	* raster/r.timestamp/main.c,
+	  raster3d/r3.timestamp/r3.timestamp.main.c,
+	  vector/v.timestamp/main.c: update modules to r63839
+
+2014-12-29 19:03  martinl
+
+	* include/defs/gis.h, lib/gis/timestamp.c: libgis:
+	  G__write_timestamp() -> G_write_timestamp()
+
+2014-12-29 19:00  martinl
+
+	* general/g.list/main.c, general/g.mapset/main.c,
+	  general/g.mapsets/main.c, general/g.setproj/main.c,
+	  imagery/i.ortho.photo/i.ortho.elev/main.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/target.c,
+	  imagery/i.rectify/target.c, raster/r.in.gdal/main.c,
+	  raster/r.proj/main.c, vector/v.proj/main.c,
+	  vector/v.rectify/target.c: update to r63837
+
+2014-12-29 18:58  martinl
+
+	* include/defs/gis.h, lib/gis/gisinit.c, lib/gis/mapset_msc.c,
+	  lib/gis/mapset_nme.c, lib/temporal/lib/connect.c: libgis:
+	  G__mapset_permissions -> G_mapset_permissions
+
+2014-12-29 18:47  martinl
+
+	* display/d.geodesic/main.c, display/d.rhumbline/main.c,
+	  general/g.setproj/main.c: update r63834
+
+2014-12-29 18:45  martinl
+
+	* include/defs/gis.h, lib/gis/proj2.c, lib/gis/proj3.c,
+	  lib/raster/open.c, lib/vector/Vlib/header.c: -int
+	  G__projection_units(int);
+	  -const char *G__projection_name(int);
+	  +int G_projection_units(int);
+	  +const char *G_projection_name(int);
+	  
+	  libgis: G__projection_units() -> G_projection_units()
+	  G__projection_name() -> G_projection_name()
+
+2014-12-29 18:09  martinl
+
+	* db/drivers/dbf/db.c, db/drivers/mysql/replace.c,
+	  db/drivers/sqlite/db.c, display/d.mon/list.c,
+	  display/d.mon/main.c, display/d.mon/select.c,
+	  display/d.mon/start.c, display/d.mon/stop.c,
+	  general/g.gisenv/main.c, general/g.gui/main.c,
+	  general/g.mapset/main.c, imagery/i.find/main.c,
+	  imagery/i.ortho.photo/i.ortho.elev/main.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/env.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/target.c,
+	  imagery/i.rectify/env.c, imagery/i.rectify/target.c,
+	  raster/r.in.gdal/main.c, raster/r.proj/main.c,
+	  vector/v.lidar.correction/main.c,
+	  vector/v.lidar.edgedetection/main.c,
+	  vector/v.net.salesman/main.c, vector/v.outlier/main.c,
+	  vector/v.proj/main.c, vector/v.rectify/env.c,
+	  vector/v.rectify/target.c: update modules to r63830
+
+2014-12-29 18:09  martinl
+
+	* include/defs/gis.h, lib/db/dbmi_base/connect.c,
+	  lib/db/dbmi_base/default_name.c, lib/db/dbmi_client/start.c,
+	  lib/db/dbmi_driver/driver.c, lib/display/r_raster.c,
+	  lib/gis/debug.c, lib/gis/env.c, lib/gis/make_loc.c,
+	  lib/gis/make_mapset.c, lib/gis/mapset.c, lib/gis/overwrite.c,
+	  lib/gis/parser.c, lib/temporal/lib/connect.c,
+	  lib/vector/Vlib/intersect.c, lib/vector/Vlib/intersect2.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/diglib/file.c,
+	  lib/vector/diglib/plus_area.c: libgis: G__getenv() ->
+	  G_getenv_nofatal()
+	  G__getenv2() -> G_getenv_nofatal2()
+	  G__setenv() -> G_setenv_nogisrc()
+	  G__setenv2() -> G_setenv_nogisrc2()
+
+2014-12-29 17:10  martinl
+
+	* general/g.proj/create.c, general/g.region/main.c,
+	  general/g.setproj/main.c, raster/r.external/window.c,
+	  raster/r.in.gdal/main.c, vector/v.in.ogr/main.c: update modules
+	  to r63827
+
+2014-12-29 17:09  martinl
+
+	* include/defs/gis.h, lib/gis/make_loc.c, lib/gis/make_mapset.c,
+	  lib/gis/put_window.c: libgis: G__put_window() ->
+	  G_put_element_window()
+
+2014-12-29 16:46  martinl
+
+	* display/d.grid/main.c, general/g.list/main.c,
+	  general/g.region/main.c, ps/ps.map/r_wind.c,
+	  raster/r.region/main.c: update modules to r63823
+
+2014-12-29 16:45  martinl
+
+	* include/defs/gis.h, lib/gis/get_window.c: libgis: G__get_window()
+	  renamed to G_get_element_window()
+
+2014-12-29 13:40  martinl
+
+	* lib/gis/renamed_options, vector/v.vol.rst/main.c: v.vol.rst:
+	  wmultiplier to wscale (#2409)
+
+2014-12-29 12:59  martinl
+
+	* lib/gis/renamed_options: update ranamed_options to r63807, r63812
+	  and r63814
+
+2014-12-29 12:49  martinl
+
+	* display/d.path/main.c: d.path: update name of parameters based on
+	  v.net modules (#2409)
+
+2014-12-29 12:45  martinl
+
+	* display/d.path/main.c, vector/v.label/main.c,
+	  vector/v.lrs/v.lrs.label/main.c: hcolor/width renamed to
+	  highlight_color/width (#2409)
+
+2014-12-29 11:53  lucadelu
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.html,
+	  temporal/t.vect.what.strds/t.vect.what.strds.html: temporal
+	  documentation: added t.vect.what.strds manual, fix typo in
+	  t.vect.observe.strds manual, #2259
+
+2014-12-29 10:56  martinl
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: d.vect.thematic:
+	  rename color options (#2409)
+
+2014-12-29 08:56  neteler
+
+	* temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.rename/t.rename.html, temporal/t.sample/t.sample.html,
+	  temporal/t.vect.univar/t.vect.univar.html: temporal manual:
+	  cosmetics
+
+2014-12-29 07:41  neteler
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: d.vect.thematic: fix
+	  db.execute call (trac #2517)
+
+2014-12-28 15:42  neteler
+
+	* display/d.rgb/d.rgb.html, raster/r.coin/r.coin.html,
+	  raster/r.composite/r.composite.html, raster/r.covar/r.covar.html:
+	  manual: examples updated
+
+2014-12-28 13:22  neteler
+
+	* display/d.geodesic/d.geodesic.html,
+	  display/d.geodesic/d_geodesic.png,
+	  display/d.geodesic/local_proto.h, display/d.geodesic/main.c,
+	  display/d.geodesic/plot.c, display/d.rhumbline/main.c:
+	  d.geodesic: hardcoded miles changed to units choice; new
+	  screenshot (related to trac #2417); d.rhumbline: minor sync with
+	  d.geodesic
+
+2014-12-28 04:35  annakrat
+
+	* display/d.barscale/main.c, display/d.colortable/main.c,
+	  display/d.erase/main.c, display/d.geodesic/main.c,
+	  display/d.grid/main.c, display/d.histogram/main.c,
+	  display/d.legend/main.c, display/d.mon/main.c,
+	  display/d.northarrow/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/main.c,
+	  display/d.rhumbline/main.c, display/d.thematic.area/main.c,
+	  display/d.vect.chart/main.c, display/d.vect/main.c,
+	  general/g.cairocomp/main.c, general/g.parser/standard_option.c,
+	  general/g.pnmcomp/main.c, include/gis.h,
+	  lib/gis/parser_standard_options.c, misc/m.nviz.image/args.c,
+	  raster/r.his/main.c, vector/v.label/main.c,
+	  vector/v.lrs/v.lrs.label/main.c: change color standard options to
+	  differentiate between allowing and not allowing none as color
+	  instead of bg/fg color, apply the change in modules and in this
+	  way fix several modules with incorrect options
+
+2014-12-28 04:24  wenzeslaus
+
+	* scripts/r.rgb/r.rgb.py: replace output basename by red, green,
+	  and blue
+	  
+	  * compute only maps which were requested
+	  * avoid 'import grass.script as grass'
+	  * minimalize pep8 and pylint errors and warnings (tabs,
+	  unnecessary global variables)
+
+2014-12-28 02:21  wenzeslaus
+
+	* lib/python/gunittest/reporters.py: gunittest: provide (relative)
+	  path to the test file in the report
+	  
+	  * to open it with text editor
+	  * quick fix, needs to be done properly (needs to go to data
+	  structures and files)
+
+2014-12-28 02:10  annakrat
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: fix editing values in
+	  attribute manager on Windows
+
+2014-12-28 00:09  neteler
+
+	* vector/v.out.ogr/v.out.ogr.html: v.out.ogr manual: mention 10
+	  chars colnames limit for DBF
+
+2014-12-27 23:20  neteler
+
+	* vector/v.mkgrid/v.mkgrid.html,
+	  vector/v.mkgrid/v_mkgrid_hexagons.png: v.mkgrid manual: hexagon
+	  example added
+
+2014-12-27 22:28  neteler
+
+	* display/d.mon/d.mon.html, display/displaydrivers.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  imagery/i.evapo.time/i.evapo.time.html, lib/init/grass7.html,
+	  lib/python/docs/src/gunittest_testing.rst,
+	  raster/r.surf.area/r.surf.area.html,
+	  raster/r.surf.contour/r.surf.contour.html,
+	  raster/r.surf.fractal/r.surf.fractal.html,
+	  raster/r.surf.gauss/r.surf.gauss.html,
+	  raster/r.surf.idw/r.surf.idw.html,
+	  raster/r.surf.random/r.surf.random.html, raster/rasterintro.html,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/temporalintro.html, vector/v.surf.idw/v.surf.idw.html:
+	  manual: minor fixes
+
+2014-12-27 21:24  hellik
+
+	* vector/v.build.polylines/v.build.polylines.html:
+	  v.build.polylines: add some notes from #2505 to the manual
+
+2014-12-27 17:51  wenzeslaus
+
+	* general/g.parser/g.parser.html, lib/gis/parser.c: rename
+	  --rest-description to --rst-description
+	  
+	  * avoids possible confusion with REST in this context
+	  * GRASS GIS should generally prefer reStructuredText (full name)
+	  or rst (file extension)
+	  * main Docutils page (http://docutils.sourceforge.net/rst.html)
+	  is not consistent when using both reST and ReST
+	  * Sphinx (http://sphinx-doc.org/rest.html) is consistent in using
+	  reST (but does not solve the problem with REST when everything is
+	  lowercased)
+	  * Wikipedia uses reST and says: reStructuredText is sometimes
+	  abbreviated as RST, ReST, or reST. This can create confusion with
+	  Representational State Transfer (REST), an unrelated technology.
+	  
+	  * changing only the API and documentation
+	  * no changes to the source code, filenames, or scripts made
+	  * the other changes would be good but are not pressing because
+	  they don't change API
+
+2014-12-27 04:51  wenzeslaus
+
+	* raster/r.ros/main.c, raster/r.spread/main.c: r.ros and r.spread:
+	  replace basename/prefix by separate options
+	  
+	  * basename with small number of clearly defined maps does not
+	  make sense because it is just harder to understand and parse
+	  * also sync r.ros output option names with r.spread inputs
+	  * use full(er) names where possible
+	  * introduction of separate option for spotting removes the need
+	  for -s flag in r.ros (the same could be potentially done for
+	  r.spread too)
+
+2014-12-26 23:33  neteler
+
+	* general/g.list/g.list.html, raster/r.patch/r.patch.html,
+	  raster/r.watershed/front/r.watershed.html,
+	  scripts/i.spectral/i.spectral.html,
+	  scripts/v.dissolve/v.dissolve.html,
+	  temporal/t.merge/t.merge.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.register/t.register.html,
+	  temporal/t.remove/t.remove.html, temporal/t.sample/t.sample.html,
+	  temporal/t.shift/t.shift.html, temporal/t.snap/t.snap.html,
+	  temporal/t.unregister/t.unregister.html,
+	  temporal/t.vect.import/t.vect.import.html,
+	  vector/v.distance/v.distance.html,
+	  vector/v.lrs/v.lrs.create/v.lrs.create.html: docs: update
+	  examples to use new element names (#2409)
+
+2014-12-26 23:18  neteler
+
+	* lib/gis/parser.c, lib/init/variables.html: libgis parser: attempt
+	  to document GRASS_FULL_OPTION_NAMES (trac #2409)
+
+2014-12-26 22:33  neteler
+
+	* lib/temporal/lib/default_name.c: temporal: docs update for trac
+	  #2258
+
+2014-12-26 21:22  neteler
+
+	* grasslib.dox, lib/external/ccmath/ccmathlib.dox: doxygen: short
+	  ccmathlib doxfile added
+
+2014-12-26 20:30  glynn
+
+	* lib/gis/parser.c: Add GRASS_FULL_OPTION_NAMES environment
+	  variable (issue #2409, comment:175)
+
+2014-12-26 11:01  neteler
+
+	* general/g.rename/g.rename.html,
+	  gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/core/render.py: docs: update some calls to use new
+	  element names (#2409)
+
+2014-12-25 16:32  annakrat
+
+	* gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapwin/decorations.py: wxGUI/legend: avoid opening
+	  legend window when entering command from gui command line and fix
+	  after renaming parameters
+
+2014-12-25 15:57  martinl
+
+	* display/d.mon/main.c, display/d.mon/proto.h,
+	  display/d.mon/start.c: d.mon: erase output file when --overwrite
+	  is given
+
+2014-12-25 15:09  martinl
+
+	* display/d.colortable/main.c, display/d.font/main.c,
+	  display/d.geodesic/main.c, display/d.grid/main.c,
+	  display/d.histogram/main.c, display/d.labels/main.c,
+	  display/d.linegraph/main.c, display/d.mon/start.c,
+	  display/d.path/main.c, display/d.rast.num/main.c,
+	  display/d.rast/main.c, display/d.rhumbline/main.c,
+	  display/d.thematic.area/main.c, display/d.vect.chart/main.c:
+	  update display modules to r63747 (no need to check return code of
+	  D_open_driver()) - part 2
+
+2014-12-25 15:01  martinl
+
+	* display/d.barscale/main.c, display/d.erase/main.c,
+	  display/d.fontlist/main.c, display/d.graph/main.c,
+	  display/d.his/main.c, display/d.info/main.c,
+	  display/d.legend/main.c, display/d.mon/main.c,
+	  display/d.northarrow/main.c, display/d.profile/main.c,
+	  display/d.rast.arrow/main.c, display/d.rgb/main.c,
+	  display/d.text/main.c, display/d.vect/main.c,
+	  display/d.where/main.c: update display modules to r63747 (no need
+	  to check return code of D_open_driver())
+
+2014-12-25 14:12  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: fix regression from r63738
+	  (frame title)
+
+2014-12-25 13:04  martinl
+
+	* lib/init/variables.html: fix wording in r63751
+
+2014-12-25 13:00  martinl
+
+	* lib/init/variables.html: variables: document
+	  GRASS_RENDER_IMMEDIATE=default
+
+2014-12-25 12:45  martinl
+
+	* lib/init/variables.html: variables.html: replace internal links
+	  by auto-generated links
+
+2014-12-25 12:26  martinl
+
+	* lib/display/r_raster.c: libdisplay: improve error message
+	  introduced in r63747
+
+2014-12-25 12:12  glynn
+
+	* lib/display/r_raster.c: Check for either MONITOR or
+	  GRASS_RENDER_IMMEDIATE
+
+2014-12-25 11:59  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: reflect r63745 in standalone
+	  monitors
+
+2014-12-25 11:53  martinl
+
+	* general/g.gisenv/main.c: g.gisenv: change unset option to be
+	  multiple
+
+2014-12-25 11:51  glynn
+
+	* lib/gis/parser.c: Change handling of ambiguous matches (issue
+	  #2409)
+
+2014-12-25 11:34  martinl
+
+	* lib/cairodriver/raster.c: cairolib: debug messages cosmetics
+
+2014-12-25 11:28  martinl
+
+	* lib/display/r_raster.c: libdisplay: add debug message when
+	  reading env variables from file
+
+2014-12-25 03:14  wenzeslaus
+
+	* gui/wxpython/core/utils.py, raster/r.relief/r.relief.html,
+	  raster/r.surf.fractal/r.surf.fractal.html,
+	  raster/r.texture/r.texture.html,
+	  raster/r.watershed/front/r.watershed.html,
+	  scripts/d.shade/d.shade.html, scripts/d.shade/d.shade.py,
+	  scripts/r.shade/r.shade.html, scripts/r.shade/r.shade.py: d.shade
+	  and r.shade: replace 'reliefmap' by more general 'shade' and
+	  'drapemap' by more straight forward 'color'
+	  
+	  * this also follows the practice of not putting map when it is
+	  not necessary and not merging the words together
+	  * the change in GUI makes it work as before (probably also for
+	  d.his and r.his) but a strange or wrong behavior remains when the
+	  guessing of layer name fails (in case of other commands)
+	  * not changing variables in code, these might be changed during
+	  some refactoring
+	  * not changing descriptions and manual and leaving 'drapping',
+	  examples are already there and no better idea for description now
+	  * not adding to renamed_options because also the modules were
+	  renamed and there is not mechanism for this, so changes in users'
+	  code is necessary anyway
+
+2014-12-25 02:55  wenzeslaus
+
+	* lib/gis/renamed_options: r.his and d.his: add renamed options
+	  (table introduced after rename in r62828)
+
+2014-12-24 19:10  martinl
+
+	* gui/wxpython/gui_core/mapdisp.py: wxGUI: close also standalone
+	  monitor on Ctrl+W
+
+2014-12-24 17:39  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: minor changes when starting
+	  standalone monitor (decorations)
+
+2014-12-24 17:30  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: add start debug message
+	  (time) for standalone monitor
+
+2014-12-24 17:05  martinl
+
+	* gui/wxpython/vnet/dialogs.py, gui/wxpython/vnet/vnet_core.py,
+	  gui/wxpython/vnet/vnet_data.py: wxGUI/vnet: update to new
+	  parameter names (#2409)
+
+2014-12-24 14:55  martinl
+
+	* vector/v.net.visibility/v.net.visibility.html: v.net.visibility:
+	  manual cosmetics (syntax issues)
+
+2014-12-24 14:51  martinl
+
+	* vector/v.net.path/v.net.path.html: update v.net.path manual
+	  (syntax issues)
+
+2014-12-24 14:41  martinl
+
+	* vector/v.overlay/main.c, vector/v.overlay/v.overlay.html,
+	  vector/v.select/args.c: v.overlay|v.select: fix bug introduced
+	  r63717
+
+2014-12-24 14:27  martinl
+
+	* lib/gis/renamed_options, vector/v.net.alloc/main.c,
+	  vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.distance/v.net.distance.html,
+	  vector/v.net.iso/main.c, vector/v.net.iso/v.net.iso.html,
+	  vector/v.net.path/main.c, vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/main.c,
+	  vector/v.net.salesman/v.net.salesman.html: v.net modules: tlayer
+	  -> turn_layer and tuclayer -> turn_cat_layer (#2409)
+
+2014-12-24 14:24  martinl
+
+	* lib/gis/renamed_options, vector/v.net.visibility/main.c,
+	  vector/v.net.visibility/v.net.visibility.html: v.net.visibility:
+	  coordinate -> coordinates and vis -> visibility (#2409)
+
+2014-12-24 14:17  martinl
+
+	* lib/gis/renamed_options, vector/v.net.steiner/main.c,
+	  vector/v.net.steiner/v.net.steiner.html: v.net.steiner: tcats ->
+	  terminal_cats and nsp -> npoints (#2409)
+
+2014-12-24 14:11  martinl
+
+	* lib/gis/renamed_options, vector/v.net.alloc/main.c,
+	  vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.allpairs/main.c,
+	  vector/v.net.allpairs/v.net.allpairs.html,
+	  vector/v.net.bridge/main.c, vector/v.net.centrality/main.c,
+	  vector/v.net.components/main.c, vector/v.net.connectivity/main.c,
+	  vector/v.net.distance/main.c,
+	  vector/v.net.distance/v.net.distance.html,
+	  vector/v.net.flow/main.c, vector/v.net.flow/v.net.flow.html,
+	  vector/v.net.iso/main.c, vector/v.net.iso/v.net.iso.html,
+	  vector/v.net.path/main.c, vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/main.c,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.spanningtree/main.c, vector/v.net.timetable/main.c:
+	  v.net modules: afcolumn -> arc_column and abcolumn ->
+	  arc_backward_column (#2409)
+
+2014-12-24 13:28  martinl
+
+	* lib/gis/renamed_options, vector/v.net.alloc/main.c,
+	  vector/v.net.allpairs/main.c, vector/v.net.bridge/main.c,
+	  vector/v.net.centrality/main.c, vector/v.net.components/main.c,
+	  vector/v.net.connectivity/main.c,
+	  vector/v.net.connectivity/v.net.connectivity.html,
+	  vector/v.net.distance/main.c, vector/v.net.flow/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.path/main.c,
+	  vector/v.net.spanningtree/main.c, vector/v.net.timetable/main.c:
+	  v.net: ncolumn -> node_column (#2409)
+
+2014-12-24 13:19  martinl
+
+	* lib/gis/renamed_options, vector/v.net.alloc/main.c,
+	  vector/v.net.alloc/v.net.alloc.html, vector/v.net.iso/main.c,
+	  vector/v.net.iso/v.net.iso.html, vector/v.net.salesman/main.c,
+	  vector/v.net.salesman/v.net.salesman.html: v.net: ccats ->
+	  center_cats (#2409)
+
+2014-12-24 13:06  martinl
+
+	* lib/gis/renamed_options: libgis: update renamed_options (v.net) -
+	  #2409
+
+2014-12-24 13:06  martinl
+
+	* vector/v.net.alloc/main.c, vector/v.net.distance/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.path/main.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c: v.net:
+	  type -> arc_type (#2409)
+
+2014-12-24 12:33  martinl
+
+	* vector/v.net/args.c, vector/v.net/v.net.html: v.net:
+	  turn_uc_layer -> turn_cat_layer (#2409)
+
+2014-12-24 12:30  martinl
+
+	* vector/v.net/args.c, vector/v.net/v.net.html: v.net: tlayer ->
+	  turn_layer and tuc_layer -> turn_uc_layer (#2409)
+
+2014-12-24 12:22  martinl
+
+	* vector/v.net/args.c: v.net: type -> arc_type (#2409)
+
+2014-12-24 12:19  martinl
+
+	* vector/v.net.alloc/main.c, vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.allpairs/main.c,
+	  vector/v.net.allpairs/v.net.allpairs.html,
+	  vector/v.net.bridge/main.c, vector/v.net.centrality/main.c,
+	  vector/v.net.components/main.c, vector/v.net.connectivity/main.c,
+	  vector/v.net.distance/main.c,
+	  vector/v.net.distance/v.net.distance.html,
+	  vector/v.net.flow/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.iso/v.net.iso.html, vector/v.net.path/main.c,
+	  vector/v.net.path/v.net.path.html, vector/v.net.salesman/main.c,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.spanningtree/main.c, vector/v.net.steiner/main.c,
+	  vector/v.net.steiner/v.net.steiner.html,
+	  vector/v.net.timetable/main.c, vector/v.net/args.c,
+	  vector/v.net/v.net.html, vector/v.overlay/main.c,
+	  vector/v.overlay/v.overlay.html, vector/v.select/args.c: v.net
+	  modules: alayer -> arc_layer and nlayer -> node_layer (#2409)
+
+2014-12-24 11:24  martinl
+
+	* lib/gis/renamed_options, raster/r.sun/main.c,
+	  raster/r.sun/r.sun.html: r.sun: num_partitions -> npartitions
+	  (#2409)
+
+2014-12-24 11:21  martinl
+
+	* lib/gis/renamed_options, raster/r.param.scale/interface.c:
+	  r.param.scale: tol -> tolerance (#2409)
+
+2014-12-24 11:14  martinl
+
+	* lib/gis/renamed_options, raster/r.cost/main.c,
+	  raster/r.cost/r.cost.html, raster/r.walk/main.c: r.cost|r.walk:
+	  stream_rast -> stream_raster (#2409)
+
+2014-12-24 11:06  martinl
+
+	* imagery/i.eb.netrad/main.c, lib/gis/renamed_options: i.eb.netrad:
+	  transmissivitysingleway -> transmissivity_singleway (#2409)
+
+2014-12-24 11:01  martinl
+
+	* lib/gis/renamed_options: libgis: register renamed options for
+	  r.stream.extract
+
+2014-12-24 10:59  martinl
+
+	* raster/r.stream.extract/main.c,
+	  raster/r.stream.extract/r.stream.extract.html: r.stream.extract:
+	  stream_rast -> stream_raster & stream_vect -> stream_vector
+	  (#2409)
+
+2014-12-24 10:53  martinl
+
+	* lib/gis/renamed_options, raster/r.colors/edit_colors.c,
+	  raster/r.colors/r.colors.html,
+	  temporal/t.rast.colors/t.rast.colors.py, vector/v.colors/main.c,
+	  vector/v.colors/v.colors.html: r.colors|r3.colors|v.colors:
+	  rename 'volume' to 'raster_3d' - #2409
+
+2014-12-24 10:33  martinl
+
+	* vector/v.colors/v.colors.html: v.colors: update manual (rast ->
+	  raster)
+
+2014-12-24 10:31  martinl
+
+	* vector/v.colors/v.colors.html: v.colors: avoid unix commands
+	  (head) in the manual
+
+2014-12-24 10:19  martinl
+
+	* vector/v.colors/main.c, vector/v.colors/v.colors.html,
+	  vector/v.colors/write_rgb.c: v.colors: fix creating column in pg
+	  driver (be case-sensitive)
+
+2014-12-24 09:40  martinl
+
+	* vector/v.to.db/main.c: v.to.db: check if the map is in the
+	  current mapset (when modifying data)
+
+2014-12-23 21:54  mmetz
+
+	* raster/r.proj/bordwalk.c, raster/r.proj/main.c,
+	  raster/r.proj/r.proj.h: r.proj: fix #2100, r40560
+
+2014-12-23 14:08  neteler
+
+	* raster/r.sunhours/r.sunhours.html,
+	  raster/r.sunhours/r_sunhours.png, scripts/d.shade/d.shade.html:
+	  r.sunhours manual: example screenshot added
+
+2014-12-22 23:37  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: remove v.in.sites from
+	  menu
+
+2014-12-22 22:54  annakrat
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI: missed one occurrence of
+	  Get when changing the function definition in r63544
+
+2014-12-22 21:16  martinl
+
+	* vector/v.in.ogr/v.in.ogr.html: v.in.ogr: add example from
+	  multiple geometry columns to the manual
+
+2014-12-22 20:53  neteler
+
+	* gui/wxpython/rlisetup/functions.py: g.gui.rlisetup: fix typo in
+	  g.region call
+
+2014-12-22 20:46  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix description for 'geometry'
+	  option
+
+2014-12-22 20:35  mmetz
+
+	* raster/r.out.gdal/export_band.c: r.out.gdal: fix #2512
+
+2014-12-22 20:27  martinl
+
+	* mswindows/env.bat: wingrass cosmetics in comment
+
+2014-12-22 20:20  martinl
+
+	* mswindows/env.bat, mswindows/osgeo4w/env.bat.tmpl: wingrass: use
+	  cmd.exe as default prompt also for standalone installer
+
+2014-12-22 19:05  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/datacatalog: fix g.list
+	  for new element names (#2409)
+
+2014-12-22 15:19  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: PL translation
+	  cont'ed)
+
+2014-12-22 15:15  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: i18N: update from templates
+
+2014-12-22 13:38  neteler
+
+	* doc/howto_release.txt: update release procedure
+
+2014-12-21 23:44  annakrat
+
+	* general/g.remove/testsuite/test_g_remove.py,
+	  lib/gis/renamed_options,
+	  raster/r.profile/testsuite/test_profile_ncspm.py: fix r.profile
+	  and g.remove test after renaming options
+
+2014-12-20 20:33  neteler
+
+	* gui/wxpython/iscatt/iscatt_core.py,
+	  gui/wxpython/lmgr/datacatalog.py,
+	  gui/wxpython/rdigit/controller.py,
+	  gui/wxpython/vnet/vnet_core.py,
+	  lib/python/pygrass/raster/testsuite/test_raster.py,
+	  lib/python/pygrass/tests/set_mapset.py, lib/python/script/db.py,
+	  scripts/d.rast.edit/d.rast.edit.py, scripts/r.in.wms/wms_base.py,
+	  scripts/v.out.gps/v.out.gps.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py: update g.copy calls to
+	  use new element names (#2409)
+
+2014-12-20 17:17  neteler
+
+	* general/g.list/testsuite/test_g_list.py,
+	  lib/python/pygrass/modules/shortcuts.py,
+	  lib/python/pygrass/raster/testsuite/test_raster.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py,
+	  lib/python/script/raster.py,
+	  raster/r.category/test_rcategory_doctest.txt,
+	  raster/r.gwflow/testsuite/validation_7x7_grid.py,
+	  raster/r.gwflow/testsuite/validation_excavation.py,
+	  raster/r.in.poly/testsuite/test_rinpoly.py,
+	  raster/r.mapcalc/testsuite/test_r3_mapcalc.py,
+	  raster/r.mapcalc/testsuite/test_r_mapcalc.py,
+	  raster/r.recode/testsuite/test_rrecode_ncspm.py,
+	  raster/r.slope.aspect/testsuite/test_r_slope_aspect.py,
+	  raster3d/r3.flow/testsuite/r3flow_test.py,
+	  raster3d/r3.gradient/testsuite/r3gradient_test.py,
+	  scripts/r3.in.xyz/r3.in.xyz.py,
+	  vector/v.what/testsuite/test_vwhat_layers.py: update
+	  g.list/g.remove calls to use new element names (#2409)
+
+2014-12-20 17:00  neteler
+
+	* lib/gis/renamed_options, lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.export/test.t.rast.export.sh,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.import/test.t.rast.import.relative.sh,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.import/test.t.rast.import_locations.sh,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.export/test.t.vect.export.sh,
+	  temporal/t.vect.import/t.vect.import.html,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.import/testsuite/test.t.vect.import.sh: temporal:
+	  renamed parameters extrdir/workdir -> directory for consistency
+	  (trac #2409)
+
+2014-12-20 14:23  mmetz
+
+	* lib/vector/Vlib/snap.c: Vlib: fix debug level
+
+2014-12-20 14:10  neteler
+
+	* general/g.remove/testsuite/test_g_remove.py,
+	  gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py,
+	  lib/python/gunittest/case.py,
+	  lib/python/gunittest/testsuite/test_assertions_vect.py,
+	  lib/python/script/db.py, lib/python/temporal/aggregation.py,
+	  raster3d/r3.flow/testsuite/r3flow_test.py,
+	  raster3d/r3.gradient/testsuite/r3gradient_test.py,
+	  raster3d/r3.in.bin/test_suite/test.r3.in.bin.sh,
+	  raster3d/r3.out.netcdf/test_suite/test.r3.out.netcdf.sh,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.mask/r.mask.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.to.lines/v.to.lines.py, scripts/v.unpack/v.unpack.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py,
+	  tools/thumbnails.py: update g.region/g.rename calls to use new
+	  element names (#2409)
+
+2014-12-20 12:27  martinl
+
+	* gui/wxpython/gui_core/gselect.py, lib/manage/option.c,
+	  lib/python/pygrass/gis/__init__.py: remove references to region3d
+	  and view3d
+
+2014-12-20 12:14  neteler
+
+	* lib/gis/adj_cellhd.c, lib/gis/area.c, lib/gis/area_ellipse.c,
+	  lib/gis/area_poly1.c, lib/gis/area_poly2.c,
+	  lib/gis/area_sphere.c, lib/gis/ascii_chk.c, lib/gis/asprintf.c,
+	  lib/gis/bres_line.c, lib/gis/color_str.c, lib/gis/commas.c,
+	  lib/gis/date.c, lib/gis/debug.c, lib/gis/done_msg.c,
+	  lib/gis/endian.c, lib/gis/find_file.c, lib/gis/find_rast.c,
+	  lib/gis/find_vect.c, lib/gis/geodist.c, lib/gis/get_ellipse.c,
+	  lib/gis/getl.c, lib/gis/gisdbase.c, lib/gis/is.c,
+	  lib/gis/key_value4.c, lib/gis/locale.c, lib/gis/ls.c,
+	  lib/gis/ls_filter.c, lib/gis/mapset_msc.c, lib/gis/myname.c,
+	  lib/gis/open.c, lib/gis/parser_interface.c,
+	  lib/gis/pole_in_poly.c, lib/gis/put_window.c, lib/gis/radii.c,
+	  lib/gis/remove.c, lib/gis/rename.c, lib/gis/rhumbline.c,
+	  lib/gis/rotate.c, lib/gis/short_way.c, lib/gis/snprintf.c,
+	  lib/gis/spawn.c, lib/gis/timestamp.c, lib/gis/trim_dec.c,
+	  lib/gis/units.c, lib/gis/user_config.c, lib/gis/view.c,
+	  lib/gis/whoami.c, lib/gis/wind_2_box.c, lib/gis/wind_format.c,
+	  lib/gis/wind_in.c, lib/gis/wind_limits.c, lib/gis/wind_overlap.c,
+	  lib/gis/worker.c, lib/gis/wr_cellhd.c, lib/gis/writ_zeros.c,
+	  lib/gis/xdr.c, lib/gis/zero.c, lib/gis/zone.c: libgis: minor
+	  doxygen header updates
+
+2014-12-20 12:02  martinl
+
+	* include/gis.h: gislib: remove G_ELEMENT_3DVIEW and
+	  G_ELEMENT_REGION3D
+
+2014-12-19 23:46  neteler
+
+	* raster/r.cost/test_suite/profile.sh,
+	  raster/r.series.accumulate/test_suite/test.r.series.accumulate.sh,
+	  raster/r.series/test_suite/test.r.series.sh,
+	  raster/r.stats/test_suite/profile.sh,
+	  raster/r.timestamp/test_suite/test.r.timestamp.sh,
+	  raster3d/r3.in.bin/test_suite/test.r3.in.bin.sh,
+	  raster3d/r3.neighbors/test_suite/test.r3.neighbors.sh,
+	  raster3d/r3.timestamp/test_suite/test.r3.timestamp.sh,
+	  scripts/v.unpack/test_suite/test.v.unpack.sh,
+	  vector/v.surf.bspline/test_suite/profile_cmd.sh,
+	  vector/v.surf.rst/test_suite/profile.sh,
+	  vector/v.timestamp/test_suite/test.v.timestamp.sh,
+	  vector/v.what.rast3/test_suite/test.v.what.rast3.sh: some shell
+	  test scripts updated
+
+2014-12-19 22:17  neteler
+
+	* gui/wxpython/lmgr/datacatalog.py, gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/psmap/utils.py,
+	  raster/r.mapcalc/testsuite/const_map_test.sh,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.mask/r.mask.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  testsuite/raster/raster_md5test.sh: update g.region/g.rename
+	  calls to use new element names (#2409)
+
+2014-12-19 21:17  neteler
+
+	* display/d.barscale/thumbnails/README,
+	  display/d.geodesic/d.geodesic.html, display/d.his/d.his.html,
+	  display/d.path/d.path.html, display/d.rhumbline/d.rhumbline.html,
+	  display/d.vect.chart/d.vect.chart.html,
+	  display/d.vect/d.vect.html, general/g.list/g.list.html,
+	  general/g.region/g.region.html, general/g.region/main.c,
+	  gui/wxpython/gcp/manager.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/psmap/instructions.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/rlisetup/wizard.py, imagery/i.atcorr/i.atcorr.html,
+	  imagery/i.atcorr/test_suite/README.txt,
+	  imagery/i.cluster/i.cluster.html, imagery/i.fft/i.fft.html,
+	  imagery/i.pca/i.pca.html, imagery/i.segment/i.segment.html,
+	  imagery/i.smap/i.smap.html, imagery/i.vi/i.vi.html,
+	  lib/cairodriver/cairodriver.html, lib/pngdriver/pngdriver.html,
+	  lib/psdriver/psdriver.html,
+	  lib/python/docs/src/gunittest_testing.rst,
+	  lib/python/gunittest/testsuite/test_assertions.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/script/testsuite/test_start_command_functions.py,
+	  lib/python/script/testsuite/test_start_command_functions_nc.py,
+	  lib/python/temporal/stds_import.py,
+	  misc/m.nviz.image/m.nviz.image.html,
+	  misc/m.nviz.script/m.nviz.script.html, ps/ps.map/ps.map.html,
+	  raster/r.carve/r.carve.html, raster/r.clump/r.clump.html,
+	  raster/r.contour/r.contour.html, raster/r.cost/r.cost.html,
+	  raster/r.cost/test_suite/profile.sh,
+	  raster/r.drain/tests/test.r.drain.sh,
+	  raster/r.external/r.external.html,
+	  raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.his/r.his.html, raster/r.horizon/r.horizon.html,
+	  raster/r.in.lidar/r.in.lidar.html,
+	  raster/r.in.poly/testsuite/test_rinpoly.py,
+	  raster/r.kappa/r.kappa.html, raster/r.lake/r.lake.html,
+	  raster/r.latlong/r.latlong.html, raster/r.li/TODO,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.html, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html,
+	  raster/r.li/r.li.testing_nc_asc.sh,
+	  raster/r.li/r.li.testing_sp_mov.sh,
+	  raster/r.mapcalc/test_suite/README, raster/r.mode/r.mode.html,
+	  raster/r.out.gdal/r.out.gdal.html,
+	  raster/r.out.ppm/r.out.ppm.html,
+	  raster/r.out.ppm3/r.out.ppm3.html,
+	  raster/r.param.scale/r.param.scale.html,
+	  raster/r.patch/r.patch.html,
+	  raster/r.profile/testsuite/test_profile_ncspm.py,
+	  raster/r.proj/r.proj.html, raster/r.quantile/r.quantile.html,
+	  raster/r.random/r.random.html, raster/r.reclass/r.reclass.html,
+	  raster/r.recode/testsuite/test_rrecode_ncspm.py,
+	  raster/r.regression.line/r.regression.line.html,
+	  raster/r.regression.multi/r.regression.multi.html,
+	  raster/r.relief/r.relief.html,
+	  raster/r.resamp.bspline/r.resamp.bspline.html,
+	  raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.resamp.rst/BUGS, raster/r.resamp.rst/r.resamp.rst.html,
+	  raster/r.resamp.stats/r.resamp.stats.html,
+	  raster/r.sim/r.sim.water/r.sim.water.html,
+	  raster/r.sim/r.sim.water/spearfish.sh,
+	  raster/r.slope.aspect/testsuite/test_r_slope_aspect.py,
+	  raster/r.stats/test_suite/profile.sh,
+	  raster/r.stream.extract/r.stream.extract.html,
+	  raster/r.sun/r.sun.html, raster/r.sunmask/r.sunmask.html,
+	  raster/r.surf.area/r.surf.area.html,
+	  raster/r.surf.contour/r.surf.contour.html,
+	  raster/r.surf.fractal/r.surf.fractal.html,
+	  raster/r.terraflow/r.terraflow.html,
+	  raster/r.texture/r.texture.html, raster/r.thin/r.thin.html,
+	  raster/r.tile/r.tile.html,
+	  raster/r.to.rast3elev/r.to.rast3elev.html,
+	  raster/r.to.vect/r.to.vect.html, raster/r.univar/r.univar.html,
+	  raster/r.viewshed/r.viewshed.html, raster/r.volume/r.volume.html,
+	  raster/r.water.outlet/r.water.outlet.html,
+	  raster/r.what/r.what.html, scripts/d.correlate/d.correlate.html,
+	  scripts/d.polar/d.polar.html, scripts/d.shade/d.shade.html,
+	  scripts/d.to.rast/d.to.rast.html,
+	  scripts/d.vect.thematic/d.vect.thematic.html,
+	  scripts/db.univar/db.univar.html,
+	  scripts/i.colors.enhance/i.colors.enhance.html,
+	  scripts/i.oif/i.oif.html, scripts/i.pansharpen/i.pansharpen.html,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/i.spectral/i.spectral.html,
+	  scripts/i.tasscap/i.tasscap.html, scripts/r.blend/r.blend.html,
+	  scripts/r.colors.stddev/r.colors.stddev.html,
+	  scripts/r.fillnulls/r.fillnulls.html, scripts/r.grow/r.grow.html,
+	  scripts/r.mask/r.mask.html, scripts/r.out.xyz/r.out.xyz.html,
+	  scripts/r.reclass.area/r.reclass.area.html,
+	  scripts/r.rgb/r.rgb.html, scripts/r.shade/r.shade.html,
+	  scripts/v.db.droprow/v.db.droprow.html,
+	  scripts/v.db.univar/v.db.univar.html,
+	  scripts/v.db.update/v.db.update.html,
+	  scripts/v.krige/v.krige.html,
+	  scripts/v.rast.stats/v.rast.stats.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  vector/v.drape/spearfish.pov, vector/v.label.sa/v.label.sa.html,
+	  vector/v.lrs/v.lrs.create/v.lrs.create.html,
+	  vector/v.lrs/v.lrs.label/v.lrs.label.html,
+	  vector/v.lrs/v.lrs.segment/v.lrs.segment.html,
+	  vector/v.lrs/v.lrs.where/v.lrs.where.html,
+	  vector/v.mkgrid/v.mkgrid.html,
+	  vector/v.neighbors/v.neighbors.html,
+	  vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.steiner/v.net.steiner.html,
+	  vector/v.net.visibility/v.net.visibility.html,
+	  vector/v.normal/v.normal.html, vector/v.overlay/v.overlay.html,
+	  vector/v.random/v.random.html, vector/v.sample/v.sample.html,
+	  vector/v.surf.rst/v.surf.rst.html, vector/v.to.db/v.to.db.html,
+	  vector/v.transform/v.transform.html,
+	  vector/v.univar/v.univar.html, vector/v.voronoi/v.voronoi.html,
+	  vector/v.what.rast/v.what.rast.html,
+	  vector/v.what.rast3/v.what.rast3.html: update g.region calls to
+	  use new element names (#2409)
+
+2014-12-19 20:29  neteler
+
+	* general/g.rename/g.rename.html, lib/manage/option.c,
+	  lib/python/pygrass/gis/__init__.py: completion of r63624
+
+2014-12-19 20:16  martinl
+
+	* lib/manage/element_list: rename oldvector -> old_vector and
+	  asciivector -> ascii_vector (#2409)
+
+2014-12-19 20:06  martinl
+
+	* general/g.remove/g.remove.html: g.remove: update manual (element
+	  names)
+
+2014-12-19 19:52  neteler
+
+	* general/g.rename/g.rename.html,
+	  temporal/t.rast.to.rast3/test.t.rast.to.rast3.sh,
+	  temporal/t.rast3d.extract/testsuite/test.t.rast3d.extract.sh,
+	  temporal/t.rast3d.list/testsuite/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.mapcalc/test.t.rast3d.mapcalc.sh,
+	  temporal/t.rast3d.univar/testsuite/test.t.rast3d.univar.sh,
+	  temporal/t.register/test.t.register.raster3d.sh: update shell
+	  scripts to use new element names (#2409)
+
+2014-12-19 19:20  neteler
+
+	* raster/r.mapcalc/testsuite/const_map_test.sh,
+	  raster/r.series.accumulate/test_suite/test.r.series.accumulate.sh,
+	  raster/r.sim/r.sim.water/spearfish.sh,
+	  raster/r.to.rast3elev/test.r.to.rast3elev.sh,
+	  raster3d/r3.cross.rast/test.r3.cross.rast.sh,
+	  raster3d/r3.in.bin/test_suite/test.r3.in.bin.sh,
+	  raster3d/r3.retile/test.r3.retile.sh,
+	  raster3d/r3.to.rast/test.r3.to.rast.sh,
+	  scripts/r.unpack/test_suite/test.r.unpack.sh,
+	  scripts/v.unpack/test_suite/test.v.unpack.sh,
+	  temporal/t.merge/testsuite/test.t.merge.sh,
+	  temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.reverse.sh,
+	  temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.sh,
+	  temporal/t.rast.accumulate/testsuite/test.t.rast.accumulate.sh,
+	  temporal/t.rast.aggregate.ds/testsuite/test.t.rast.aggregate.ds.sh,
+	  temporal/t.rast.colors/test.t.rast.colors.sh,
+	  temporal/t.rast.export/test.t.rast.export.sh,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/t.rast.import/test.t.rast.import.relative.sh,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.import/test.t.rast.import_locations.sh,
+	  temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.rast.mapcalc/example.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.operators.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast.neighbors/test.t.rast.neighbors.sh,
+	  temporal/t.rast.out.vtk/test.t.rast.out.vtk.sh,
+	  temporal/t.rast.series/test.t.rast.series.sh,
+	  temporal/t.rast.to.rast3/test.t.rast.to.rast3.sh,
+	  temporal/t.rast.univar/testsuite/test.t.rast.univar.sh,
+	  temporal/t.register/test.t.register.raster.file.reltime.sh,
+	  temporal/t.register/test.t.register.raster.file.sh,
+	  temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.vector.file.layer.sh,
+	  temporal/t.register/test.t.register.vector.sh,
+	  temporal/t.rename/test.t.rename.sh,
+	  temporal/t.sample/testsuite/test.t.sample.sh,
+	  temporal/t.select/test.t.select.sh,
+	  temporal/t.shift/test.t.shift.absolue.sh,
+	  temporal/t.shift/test.t.shift.relative.sh,
+	  temporal/t.snap/test.t.snap.absolute.sh,
+	  temporal/t.snap/test.t.snap.relative.sh,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  testsuite/raster/raster_md5test.sh,
+	  testsuite/raster/rhemisphere.sh: update shell scripts to use new
+	  element names (#2409)
+
+2014-12-19 19:16  martinl
+
+	* vector/v.external/list.c, vector/v.in.ogr/main.c: fix compilation
+	  of v.in.ogr and v.external agaist GDAL < 1.11
+
+2014-12-19 18:16  martinl
+
+	* temporal/t.info/testsuite/test.t.info.sh: bugfix: 3draster ->
+	  raster_3d
+
+2014-12-19 18:11  martinl
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py:
+	  bugfix 3draster -> raster_3d
+
+2014-12-19 17:59  martinl
+
+	* gui/wxpython/core/layerlist.py: fix small typo in comment
+
+2014-12-19 13:51  zarch
+
+	* lib/python/pygrass/raster/__init__.py: pygrass: remove
+	  RasterNumpy class.
+
+2014-12-19 10:41  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: GDAL importer add
+	  support for GDAL RFC41 (Support for multiple geometry fields in
+	  OGR)
+
+2014-12-19 10:28  martinl
+
+	* vector/v.external/list.c: v.external: fix feature type for -t
+
+2014-12-19 10:23  martinl
+
+	* vector/v.external/args.c, vector/v.external/list.c: v.external:
+	  -t print also geometry column (useful when layer has multiple
+	  geometries)
+
+2014-12-19 09:29  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: gdal file selector - all
+	  files at first position
+
+2014-12-19 09:18  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: support GDAL RFC41 (Support for
+	  multiple geometry fields in OGR)
+
+2014-12-19 08:21  martinl
+
+	* lib/gis/renamed_options, vector/v.in.ogr/main.c: v.in.ogr: cnames
+	  renamed to columns (#2409)
+
+2014-12-18 21:50  mmetz
+
+	* lib/vector/Vlib/snap.c: Vlib: reduce memory consumption for
+	  Vect_snap_lines(_list)()
+
+2014-12-18 21:10  mmetz
+
+	* vector/v.out.ascii/main.c: v.out.ascii: fix return code
+	  interpretation
+
+2014-12-18 21:08  mmetz
+
+	* lib/vector/Vlib/ascii.c: Vlib: enhance ascii export
+
+2014-12-18 18:45  mmetz
+
+	* lib/vector/Vlib/ascii.c: Vlib: fix segfault in ascii export
+
+2014-12-18 16:28  neteler
+
+	* lib/gis/parser.c, lib/gis/parser_dependencies.c: libgis parser:
+	  more descriptive error messages
+
+2014-12-18 16:04  martinl
+
+	* gui/scripts/Makefile: attempt to fix #580
+
+2014-12-18 15:53  martinl
+
+	* lib/python/script/core.py: fix libpython to handle 'raster'
+	  (#2409)
+
+2014-12-18 15:46  martinl
+
+	* temporal/t.info/t.info.py, temporal/t.list/t.list.py,
+	  temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py,
+	  temporal/t.rast3d.extract/testsuite/test_extract.py,
+	  temporal/t.remove/t.remove.py: update temporal modules to
+	  `raster_3d` (#2409)
+
+2014-12-18 15:43  martinl
+
+	* lib/python/gunittest/case.py,
+	  lib/python/gunittest/testsuite/test_assertions_rast3d.py,
+	  lib/python/pygrass/gis/__init__.py, lib/python/script/core.py,
+	  lib/python/script/raster3d.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/factory.py,
+	  lib/python/temporal/list_stds.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py:
+	  libpython: update to `raster_3d` (#2409)
+
+2014-12-18 15:35  martinl
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/core/layerlist.py, gui/wxpython/core/render.py,
+	  gui/wxpython/gmodeler/model.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/simplelmgr.py,
+	  gui/wxpython/lmgr/datacatalog.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapwin/decorations.py,
+	  gui/wxpython/modules/mcalc_builder.py: wxGUI: update for
+	  `raster_3d`
+
+2014-12-18 15:18  martinl
+
+	* general/g.list/main.c, lib/gis/parser_standard_options.c,
+	  lib/gpde/test/test_arrays.c, lib/manage/do_remove.c,
+	  lib/manage/do_rename.c, lib/manage/option.c: update c files to
+	  use raster_3d
+
+2014-12-18 15:14  martinl
+
+	* display/d.legend/main.c, general/g.region/main.c,
+	  vector/v.what.rast3/main.c: update modules: change parameter to
+	  `raster_3d`
+
+2014-12-18 15:06  martinl
+
+	* lib/manage/element_list: 3draster -> raster_3d (see #2409)
+
+2014-12-18 12:27  glynn
+
+	* lib/cairodriver/raster.c: Make cairo driver rescale rasters
+	  rather than having cairo do it (ticket #2403)
+
+2014-12-18 08:28  mmetz
+
+	* vector/v.in.ascii/local_proto.h, vector/v.in.ascii/main.c,
+	  vector/v.in.ascii/points.c: v.in.ascii: add text delimiter
+
+2014-12-17 15:48  neteler
+
+	* scripts/i.pansharpen/i.pansharpen.html,
+	  scripts/i.pansharpen/i.pansharpen.py: i.pansharpen: update
+	  parameters of IHS module calls (trac #2409)
+
+2014-12-17 10:52  mmetz
+
+	* lib/btree2/README, lib/btree2/kdtree.c, lib/btree2/kdtree.h:
+	  btree2lib: improve k-d tree
+
+2014-12-17 09:11  lucadelu
+
+	* scripts/i.pansharpen/i.pansharpen.py: i.pansharpen: added group
+	  creation for the output, PEP8 cleaning
+
+2014-12-16 12:10  martinl
+
+	* lib/vector/Vlib/hist.c: vlib: Vect_hist_command() check return
+	  value of Vect_hist_write()
+
+2014-12-15 23:05  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: Keyboard short-cuts on one
+	  place
+
+2014-12-15 13:13  martinl
+
+	* display/d.his/main.c, display/d.rast/display.c,
+	  display/d.rgb/main.c: update modules to r63558
+
+2014-12-15 13:13  martinl
+
+	* include/defs/display.h, lib/display/raster.c,
+	  lib/display/raster2.c: displaylib: D_draw_cell() removed/replaced
+	  by D_draw_c_raster()
+	  D_cell_draw_begin() renamed to D_raster_draw_begin()
+	  D_cell_draw_end() rename do D_raster_draw_end()
+
+2014-12-15 12:54  martinl
+
+	* lib/display/raster.c: display: doxygen cosmetics
+
+2014-12-15 12:40  martinl
+
+	* lib/display/raster.c, lib/pngdriver/raster.c: displaylib: doxygen
+	  cosmetics
+
+2014-12-15 12:21  martinl
+
+	* lib/pngdriver/raster.c: fix small typo introduced in r63551
+
+2014-12-15 12:18  martinl
+
+	* lib/pngdriver/raster.c: pngdriver: doxygen cosmetics
+
+2014-12-15 12:15  martinl
+
+	* display/d.rast/display.c: d.rast: do not call D_setup() twice
+
+2014-12-15 07:37  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: OFTStringList is supported
+	  column type
+
+2014-12-15 05:26  neteler
+
+	* scripts/v.dissolve/v.dissolve.py,
+	  scripts/v.to.lines/v.to.lines.py,
+	  scripts/v.what.vect/v.what.vect.py, vector/v.buffer/main.c,
+	  vector/v.build.polylines/main.c, vector/v.edit/main.c,
+	  vector/v.parallel/main.c, vector/v.segment/main.c,
+	  vector/v.split/main.c, vector/v.transform/main.c,
+	  vector/v.type/main.c: manual: some keyword cleanup
+
+2014-12-15 03:45  annakrat
+
+	* gui/wxpython/animation/nviztask.py,
+	  gui/wxpython/core/settings.py, gui/wxpython/core/workspace.py,
+	  gui/wxpython/gui_core/preferences.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapswipe/dialogs.py, gui/wxpython/nviz/mapwindow.py,
+	  gui/wxpython/nviz/preferences.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/nviz/workspace.py, gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI/settings: make dialog
+	  nonmodal and destroy it instead of hiding (caused problems on
+	  MacOSX with wxPython3); make apply button label more
+	  understandable; fix Set to default behavior not to apply changes
+	  but just set default values in widgets
+
+2014-12-14 22:19  mmetz
+
+	* lib/btree2/Makefile, lib/btree2/kdtree.c, lib/btree2/kdtree.h:
+	  libbtree2: add kdtree for nearest neighbor search
+
+2014-12-14 13:01  martinl
+
+	* display/d.mon/d.mon.html: d.mon: manual cosmetics
+
+2014-12-14 12:59  martinl
+
+	* display/d.mon/d.mon.html: d.mon: fix syntax typo in the manual,
+	  add author info
+
+2014-12-14 12:52  martinl
+
+	* display/d.mon/main.c, display/d.mon/proto.h,
+	  display/d.mon/start.c: d.mon: add -x flag to start wx monitors
+	  without toolbars and statusbar
+
+2014-12-14 12:49  martinl
+
+	* gui/wxpython/gui_core/mapdisp.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/main.py: wxGUI: allow start monitor without
+	  toolbar and statusbar
+
+2014-12-13 17:02  martinl
+
+	* lib/python/script/core.py: pythonlib: make_command(): do not
+	  include Popen opts
+
+2014-12-13 15:14  martinl
+
+	* general/g.gui/main.c, gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.py, gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/timeline/g.gui.timeline.py,
+	  gui/wxpython/tplot/g.gui.tplot.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py: keep topic_gui (the main
+	  page requires this topic)
+
+2014-12-13 14:55  martinl
+
+	* lib/cairodriver/graph.c: cairodriver: add more debug messages
+
+2014-12-13 14:50  martinl
+
+	* lib/init/grass.py: grass.py: do not call g.gisenv three times...
+
+2014-12-13 14:50  martinl
+
+	* general/g.gisenv/g.gisenv.html, general/g.gisenv/main.c:
+	  g.gisenv: support multiple variables (get)
+	  update parser (exclusive options)
+	  update manual
+
+2014-12-13 14:48  martinl
+
+	* lib/gis/parser.c, lib/gis/parser_dependencies.c: libgis: enclose
+	  options in <%s>
+	  debug messages cosmetics
+	  fix compilation warnings
+
+2014-12-13 11:15  neteler
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasswxpy_es.po, translators.csv: Daniel Torres: ES
+	  translation cont'ed)
+
+2014-12-12 22:00  wenzeslaus
+
+	* display/d.mon/start.c: d.mon: use GPATH_MAX rather than PATH_MAX
+	  (probably typo in r63457, breaks compilation on Mac OS X 10.10)
+
+2014-12-12 18:56  martinl
+
+	* raster/r.surf.idw/main.c, raster/r.surf.idw/r.surf.idw.html:
+	  r.surf.idw: change module description (based on v.surf.idw)
+	  manual cosmetics
+
+2014-12-12 18:39  martinl
+
+	* raster/Makefile, raster/r.surf.idw2: r.surf.idw2 moved to trunk
+
+2014-12-12 15:01  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI: don't use tabs in the code
+	  (introduced in r63341)
+
+2014-12-12 12:20  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix grass_logo
+	  URL in installed addons
+
+2014-12-11 23:12  neteler
+
+	* display/d.his/d.his.html, display/d.text/d.text.html,
+	  display/d.where/d.where.html, imagery/i.modis.qc/i.modis.qc.html,
+	  lib/init/grass7.html, ps/ps.map/ps.map.html,
+	  raster/r.category/r.category.html, raster/r.circle/r.circle.html,
+	  raster/r.coin/r.coin.html, raster/r.covar/r.covar.html,
+	  raster/r.flow/r.flow.html, raster/r.his/r.his.html,
+	  raster/r.mfilter/r.mfilter.html,
+	  raster/r.neighbors/r.neighbors.html,
+	  raster/r.out.gdal/r.out.gdal.html,
+	  raster/r.out.mat/r.out.mat.html, raster/r.patch/r.patch.html,
+	  raster/r.reclass/r.reclass.html, raster/r.stats/r.stats.html,
+	  raster/r.sunmask/r.sunmask.html,
+	  raster3d/r3.mkdspf/r3.mkdspf.html, vector/v.label/v.label.html:
+	  manual: minor cosmetics
+
+2014-12-10 21:42  martinl
+
+	* gui/wxpython/mapdisp/main.py: fix typo in comment introduced in
+	  r63475
+
+2014-12-10 21:41  martinl
+
+	* gui/wxpython/mapdisp/main.py: d.mon wx0: don't call g.gisenv in
+	  the watcher (it's too much invasive) - TODO: find better solution
+
+2014-12-10 20:09  neteler
+
+	* scripts/i.tasscap/i.tasscap.py: i.tasscap: MODIS added; partial
+	  code rewrite by Leonardo Perathoner, Trento
+
+2014-12-10 16:54  zarch
+
+	* lib/python/pygrass/utils.py: pygrass: add function to handle
+	  local and system path in modules
+
+2014-12-10 11:21  zarch
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: Fix a bug in the
+	  lines method of the class Node and improve documentation of the
+	  distance method of the Line class and change the returned value
+	  from tuple to namedtuple
+
+2014-12-10 10:46  martinl
+
+	* lib/display/r_raster.c: partialy revert r63469
+
+2014-12-10 10:44  martinl
+
+	* display/d.mon/start.c, lib/display/r_raster.c: d.mon: print
+	  warning when overwritting the output file
+
+2014-12-10 10:05  martinl
+
+	* lib/display/r_raster.c: displaylib: display driver lower case by
+	  default (cosmetics)
+
+2014-12-10 09:45  martinl
+
+	* display/d.mon/start.c: d.mon: stop monitor on failure (#2509)
+
+2014-12-10 09:37  martinl
+
+	* display/d.mon/start.c: d.mon: fix #2509 (d.mon output overwrite)
+
+2014-12-10 09:28  martinl
+
+	* display/d.mon/start.c: d.mon: use always full path for output
+	  files (even if using default file name) - #2509
+
+2014-12-10 09:21  martinl
+
+	* include/defs/display.h, lib/cairodriver/cairodriver.h,
+	  lib/cairodriver/driver.c, lib/cairodriver/graph.c,
+	  lib/display/setup.c, lib/driver/driver.h, lib/driver/graph.c,
+	  lib/htmldriver/driver.c, lib/pngdriver/driver.c,
+	  lib/pngdriver/graph_set.c, lib/pngdriver/pngdriver.h,
+	  lib/psdriver/driver.c, lib/psdriver/graph_set.c,
+	  lib/psdriver/psdriver.h: displaylib: add D_get_file (#2509)
+
+2014-12-10 06:03  zarch
+
+	* lib/python/pygrass/raster/buffer.py: pyrass: make buffer.py
+	  working under windows (I hope)
+
+2014-12-09 21:55  martinl
+
+	* lib/driver/text3.c: driverlib: fix some compilation warnings
+
+2014-12-09 20:28  martinl
+
+	* lib/driver/driver.h: driverlib: header cosmetics (file renamed to
+	  lower-case)
+
+2014-12-09 19:19  martinl
+
+	* display/d.mon/start.c: d.mon: output - rely always on full path
+
+2014-12-09 18:51  neteler
+
+	* raster/r.circle/main.c, vector/v.buffer/main.c: r.circle,
+	  v.buffer: circle keyword added
+
+2014-12-09 18:39  neteler
+
+	* imagery/i.smap/i.smap.html, imagery/i.topo.corr/i.topo.corr.html,
+	  misc/m.cogo/m.cogo.html, raster/r.carve/main.c,
+	  raster/r.carve/r.carve.html,
+	  raster/r.colors.out/r3.colors.out.html,
+	  raster/r.colors/r3.colors.html,
+	  raster/r.rescale.eq/r.rescale.eq.html,
+	  raster/r.rescale/r.rescale.html,
+	  vector/v.colors.out/v.colors.out.html,
+	  vector/v.colors/v.colors.html,
+	  vector/v.vect.stats/v.vect.stats.html: manual: some cleanup of
+	  HTML and examples
+
+2014-12-09 17:23  neteler
+
+	* display/d.vect.chart/d.vect.chart.html,
+	  general/g.copy/g.copy.html, general/g.filename/g.filename.html,
+	  general/g.findfile/g.findfile.html, general/g.list/g.list.html,
+	  general/g.message/g.message.html, general/g.proj/g.proj.html,
+	  general/g.rename/g.rename.html, general/g.version/g.version.html,
+	  imagery/i.albedo/i.albedo.html, imagery/i.albedo/main.c,
+	  imagery/i.aster.toar/i.aster.toar.html,
+	  imagery/i.biomass/i.biomass.html, imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.hsebal01/i.eb.hsebal01.html,
+	  imagery/i.eb.netrad/i.eb.netrad.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.emissivity/i.emissivity.html,
+	  imagery/i.evapo.mh/i.evapo.mh.html,
+	  imagery/i.evapo.pm/i.evapo.pm.html,
+	  imagery/i.evapo.pt/i.evapo.pt.html,
+	  imagery/i.evapo.time/i.evapo.time.html,
+	  imagery/i.his.rgb/i.his.rgb.html,
+	  imagery/i.landsat.acca/i.landsat.acca.html,
+	  imagery/i.modis.qc/i.modis.qc.html,
+	  lib/htmldriver/htmldriver.html, lib/init/grass7.html,
+	  scripts/d.vect.thematic/d.vect.thematic.html,
+	  scripts/i.tasscap/i.tasscap.html, vector/v.info/v.info.html:
+	  manual: some cleanup of HTML and examples
+
+2014-12-09 16:27  martinl
+
+	* display/d.mon/start.c: d.mon: revert bogus commit r63449
+
+2014-12-09 16:17  martinl
+
+	* display/d.mon/start.c: d.mon: store output as full path
+
+2014-12-09 15:14  martinl
+
+	* lib/cairodriver/raster.c: cairolib: clarify error message when
+	  unable to create a surface
+	  improve doxygen documentation
+
+2014-12-09 08:08  zarch
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: add documentation
+	  to method segment
+
+2014-12-08 12:42  martinl
+
+	* gui/wxpython/gui_core/mapdisp.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI: resize MapFrame - fix 'd.mon wx0 w= h='
+
+2014-12-08 12:22  martinl
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: SingleMapFrame is already
+	  doing Map initialization
+
+2014-12-08 12:13  martinl
+
+	* gui/wxpython/core/gcmd.py: wxGUI: RunCommand() avoid non-sense
+	  debug messages
+
+2014-12-08 12:08  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI: avoid creating Map() instance twice
+
+2014-12-08 09:53  martinl
+
+	* include/Make/Docs.make, lib/Makefile: attempt to fix
+	  htmldocs-single
+
+2014-12-07 22:22  neteler
+
+	* db/db.createdb/db.createdb.html,
+	  db/db.databases/db.databases.html, db/db.dropdb/db.dropdb.html,
+	  display/d.geodesic/d.geodesic.html, display/d.mon/d.mon.html,
+	  display/d.path/d.path.html, display/d.rhumbline/d.rhumbline.html,
+	  scripts/d.correlate/d.correlate.html,
+	  scripts/db.in.ogr/db.in.ogr.html,
+	  scripts/i.tasscap/i.tasscap.html, vector/v.univar/v.univar.html:
+	  manual: some cleanup of HTML and examples
+
+2014-12-07 19:11  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: cosmetics in DMonMap
+	  (self.mapfile has already extension defined)
+
+2014-12-07 17:27  martinl
+
+	* display/d.mon/start.c: d.mon: remove redundant comment
+
+2014-12-07 17:21  martinl
+
+	* display/d.mon/d.mon.html: d.mon: manual cosmetics
+
+2014-12-07 15:29  martinl
+
+	* gui/wxpython/lmgr/giface.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapwin/buffered.py: wxGUI: allow to hide/show
+	  toolbars and statusbar in map display
+
+2014-12-07 12:11  martinl
+
+	* include/Make/Script.make: fix bogus in r63416
+
+2014-12-07 11:57  martinl
+
+	* include/Make/Script.make: Script.make: install also image files
+	  for addons modules
+
+2014-12-07 09:58  martinl
+
+	* lib/init/variables.html: r63408: improve wording
+
+2014-12-07 09:53  martinl
+
+	* lib/init/variables.html: explain that display frame coordinates
+	  are measured from top-left corner
+
+2014-12-06 22:27  mmetz
+
+	* lib/vector/Vlib/write_nat.c: Vlib write_nat.c: fix memory leak,
+	  fix compiler warnings, avoid redundant seek and read operations,
+	  implement V2_rewrite_line_nat()
+
+2014-12-06 18:57  wenzeslaus
+
+	* lib/python/docs/src/script_intro.rst: pythonlib: basic
+	  description of standard options and flags for script doc
+	  
+	  * link to C API beacuse there is no other list of std options and
+	  flags
+	  * mention --script flag (but also source code since --script does
+	  not give standard options and flags)
+	  * mention also pylint besides pep8 (unfortunately, PEP8 does not
+	  allow #% but not mentioning that for now)
+
+2014-12-06 18:27  wenzeslaus
+
+	* raster/r.surf.fractal/r.surf.fractal.html,
+	  raster/r.surf.fractal/r_surf_fractal_simple.png: r.surf.fractal:
+	  add simple example to manual (the existing is too complicated to
+	  be the only example)
+
+2014-12-06 10:35  martinl
+
+	* vector/v.univar/v.univar.html: v.univar: manual syntax cosmetics
+
+2014-12-06 10:28  martinl
+
+	* vector/v.univar/main.c: v.univar: static fn cosmetics
+
+2014-12-05 21:15  wenzeslaus
+
+	* vector/v.random/v.random.html, vector/v.random/vrandom_z.png:
+	  v.random: create true 3D vector in the example, add image for the
+	  example
+
+2014-12-05 18:51  neteler
+
+	* scripts/r.fillnulls/r.fillnulls.py: r.fillnulls: update
+	  r.resamp.bspline call
+
+2014-12-05 18:47  neteler
+
+	* lib/python/script/core.py: libpython make_command(): say in msg
+	  which module call needs an update
+
+2014-12-05 18:37  neteler
+
+	* scripts/d.rast.leg/d.rast.leg.py: d.rast.leg: update d.legend
+	  call
+
+2014-12-05 17:59  neteler
+
+	* vector/v.univar/main.c, vector/v.univar/v.univar.html: v.univar:
+	  messages improved; manual: notes added and example updated to NC
+
+2014-12-05 17:58  neteler
+
+	* vector/v.in.lidar/main.c: v.in.lidar: messages clarified
+
+2014-12-05 17:50  wenzeslaus
+
+	* gui/wxpython/core/utils.py,
+	  imagery/i.topo.corr/test_i.topo.corr_synthetic_DEM_NC.sh,
+	  raster/r.texture/r.texture.html,
+	  raster/r.watershed/front/r.watershed.html,
+	  scripts/r.blend/r.blend.html: r.relief, r.shade, d.shade: finish
+	  rename from d.shadedmap and r.shaded.relief (fixes r63305)
+
+2014-12-05 16:26  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: fix RAT import, do #2507
+
+2014-12-05 14:34  martinl
+
+	* lib/init/grass.py: grass.py: add -f flag to force removal of
+	  .gislock
+
+2014-12-05 07:09  neteler
+
+	* scripts/i.tasscap/i.tasscap.py: i.tasscap: fix calc for Landsat8
+	  and MODIS
+
+2014-12-05 01:53  wenzeslaus
+
+	* man/build_html.py: doc: link only main Python API page from the
+	  main page
+
+2014-12-05 01:50  wenzeslaus
+
+	* lib/python/docs/src/index.rst,
+	  lib/python/docs/src/script_intro.rst: pythonlib: add basic intro
+	  for grass.script (it is more basic tutorial then intro in GRASS
+	  sense, can be renamed later), improve list of libraries
+	  
+	  * converted from python.html from
+	  https://github.com/ncsu-osgeorel/grass-intro-workshop
+	  (be23f71d3cfaf3ed)
+	  * converted using pandoc --from=html --to=rst < python.html >
+	  script_intro.rst (no sphinx-related improvements done)
+
+2014-12-04 08:20  martinl
+
+	* lib/gis/parser.c: libgis: another attempt to clarify warning
+	  about renamed options
+
+2014-12-03 23:21  wenzeslaus
+
+	* lib/python/gunittest/multireport.py: gunittest: reverse order in
+	  report for location (latest first), add more graphs (especially
+	  percentages)
+
+2014-12-03 21:52  mmetz
+
+	* gui/wxpython/vdigit/wxdigit.py: wx vdigit: another undo/redo fix
+
+2014-12-03 21:50  mmetz
+
+	* lib/vector/diglib/update.c: diglib: adjust dig_line_add_updated()
+	  to digitizer
+
+2014-12-03 19:39  lucadelu
+
+	* temporal/t.connect/t.connect.html,
+	  temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.list/t.list.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.colors/t.rast.colors.html,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.html,
+	  temporal/t.rast.series/t.rast.series.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.register/t.register.html,
+	  temporal/t.remove/t.remove.html, temporal/t.rename/t.rename.html,
+	  temporal/t.snap/t.snap.html, temporal/t.support/t.support.html,
+	  temporal/t.topology/t.topology.html,
+	  temporal/t.unregister/t.unregister.html,
+	  temporal/t.vect.db.select/t.vect.db.select.html,
+	  temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.extract/t.vect.extract.html,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.html,
+	  temporal/t.vect.univar/t.vect.univar.html: documentation: update
+	  several space time docs with the coming NC temporal dataset
+
+2014-12-03 18:16  martinl
+
+	* lib/gis/parser.c: libgis: clarify warning about renamed option
+
+2014-12-03 17:47  glynn
+
+	* lib/display/r_raster.c: Remove bogus check for
+	  GRASS_RENDER_IMMEDIATE or MONITOR
+
+2014-12-03 15:03  neteler
+
+	* imagery/i.vi/i.vi.html, scripts/v.rast.stats/v.rast.stats.html,
+	  vector/v.univar/main.c, vector/v.univar/v.univar.html,
+	  vector/v.vect.stats/v.vect.stats.html: manual: minor updates
+
+2014-12-03 10:44  neteler
+
+	* raster/r.walk/main.c, raster/r.walk/r.walk.html: r.walk: sync
+	  length of module description to r.cost
+
+2014-12-03 10:41  mmetz
+
+	* lib/vector/diglib/update.c: diglib: dig_line_add_updated() go
+	  back to r57347
+
+2014-12-03 10:01  mmetz
+
+	* gui/wxpython/vdigit/wxdigit.py: wx vdigit: fix r63341
+
+2014-12-03 10:00  mmetz
+
+	* lib/vector/diglib/update.c: diglib: fix list of updated lines
+
+2014-12-03 08:45  neteler
+
+	* imagery/i.cca/main.c, imagery/i.pca/main.c: fix r63345
+
+2014-12-03 08:31  neteler
+
+	* general/g.dirseps/main.c, general/g.filename/main.c,
+	  general/g.findetc/main.c, general/g.findfile/main.c,
+	  general/g.gisenv/main.c, general/g.gui/main.c,
+	  general/g.parser/g.parser.html, general/g.tempfile/main.c,
+	  general/g.version/main.c,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.py, gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/timeline/g.gui.timeline.py,
+	  gui/wxpython/tplot/g.gui.tplot.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py, imagery/i.cca/i.cca.html,
+	  imagery/i.cca/main.c, imagery/i.landsat.acca/main.c,
+	  imagery/i.pca/main.c, raster/r.clump/main.c,
+	  raster/r.neighbors/main.c, raster/r.patch/main.c,
+	  raster/r.sim/r.sim.sediment/main.c,
+	  raster/r.sim/r.sim.water/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.usler/main.c, raster3d/r3.neighbors/main.c,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  temporal/t.info/t.info.py, temporal/t.merge/t.merge.py,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.algebra/t.rast.algebra.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.remove/t.remove.py, temporal/t.rename/t.rename.py,
+	  temporal/t.select/t.select.py, temporal/t.snap/t.snap.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.vect.algebra/t.vect.algebra.py,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py,
+	  vector/v.clean/main.c, vector/v.db.select/main.c,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.net.alloc/main.c,
+	  vector/v.out.dxf/main.c: manual: keywords cleanup
+
+2014-12-03 03:33  annakrat
+
+	* gui/wxpython/animation/g.gui.animation.py: wxGUI/animation: fix
+	  interface after recent changes
+
+2014-12-03 02:50  annakrat
+
+	* raster/r.sim/r.sim.sediment/main.c,
+	  raster/r.sim/r.sim.water/main.c: r.sim: reorganize options in
+	  guisections
+
+2014-12-02 22:22  mmetz
+
+	* gui/wxpython/vdigit/wxdigit.py: wx vidigit: fix undo/redo and
+	  save changes or not
+
+2014-12-02 22:10  neteler
+
+	* lib/python/temporal/stds_import.py, lib/raster3d/close.c,
+	  scripts/db.out.ogr/db.out.ogr.html,
+	  scripts/db.out.ogr/db.out.ogr.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.gps/v.in.gps.py, scripts/v.in.gps/v.in.gpsbabel,
+	  scripts/v.in.wfs/v.in.wfs.py: update keys to use new element
+	  names (#2409); db.out.ogr manual update
+
+2014-12-02 19:44  martinl
+
+	* raster/r.to.vect/main.c: r.to.vect: fix type opt description
+
+2014-12-02 17:30  neteler
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: update for renamed dsn
+	  parameter
+
+2014-12-02 17:26  neteler
+
+	* lib/gis/renamed_options: v.external: dsn -> input
+
+2014-12-02 17:15  huhabla
+
+	* lib/python/temporal/aggregation.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/factory.py,
+	  lib/python/temporal/mapcalc.py, lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/testsuite/test_register_function.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py,
+	  temporal/t.info/t.info.py,
+	  temporal/t.info/testsuite/test.t.info.sh,
+	  temporal/t.list/t.list.py,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py,
+	  temporal/t.rast.extract/testsuite/test_extract.py,
+	  temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py,
+	  temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py,
+	  temporal/t.rast3d.extract/testsuite/test_extract.py,
+	  temporal/t.remove/t.remove.py,
+	  temporal/t.sample/testsuite/test.t.sample.sh,
+	  temporal/t.select/test.t.select.sh,
+	  temporal/t.unregister/testsuite/test_unregister.py,
+	  temporal/t.vect.algebra/testsuite/test_vector_algebra.py,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  temporal/t.vect.export/test.t.vect.export.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.layer.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.sh,
+	  temporal/t.vect.import/testsuite/test.t.vect.import.sh,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.layer_bug.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.relative.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.sh,
+	  temporal/t.vect.univar/testsuite/test.t.vect.univar.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.layer.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds_relative.sh:
+	  temporal framework: Fixing the framework caused by option
+	  renaming
+
+2014-12-02 07:47  mmetz
+
+	* vector/v.build.polylines/walk.c: v.build.polylines: fix cats=no
+
+2014-12-02 04:19  annakrat
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI:workspace loading fixed when multiple 2D displays on
+	  Windows
+
+2014-12-01 17:04  neteler
+
+	* lib/gis/renamed_options: renamed_options: register v.in.ogr
+	  changes
+
+2014-12-01 16:43  glynn
+
+	* scripts/d.correlate/d.correlate.py,
+	  scripts/d.rast.leg/d.rast.leg.py, scripts/d.shade/d.shade.py,
+	  scripts/d.vect.thematic/d.vect.thematic.py: Remove nonsense
+	  MONITOR checks from scripts
+
+2014-12-01 15:53  annakrat
+
+	* gui/wxpython/rdigit/controller.py,
+	  gui/wxpython/rdigit/toolbars.py: wxGUI/rdigit: small fixes for
+	  Windows
+
+2014-12-01 10:49  hellik
+
+	* scripts/v.db.join/v.db.join.py: v.db.join: fix for new option
+	  syntax
+
+2014-12-01 07:47  mmetz
+
+	* lib/gis/strings.c: libgis: optimize G_chop()
+
+2014-12-01 07:46  mmetz
+
+	* vector/v.proj/main.c: v.proj: add line densification
+
+2014-12-01 00:44  wenzeslaus
+
+	* scripts/d.shade/d.shade.py,
+	  scripts/d.vect.thematic/d.vect.thematic.py: d.* scripts: check if
+	  graphics device is open or render immediate set for modules which
+	  run from wxGUI
+	  
+	  * changing r62845 for d.shade and d.vect.thematic
+	  * MONITOR GRASS GIS variable is set by d.mon but
+	  GRASS_RENDER_IMMEDIATE environmental variable is set in wxGUI
+	  * similar change might be needed for other modules too in case
+	  they are used with GRASS_RENDER_IMMEDIATE
+	  * better error message might be needed for
+	  GRASS_RENDER_IMMEDIATE, common implementation might be
+	  advantageous
+
+2014-12-01 00:21  wenzeslaus
+
+	* display/d.his/d.his.html, gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/xml/toolboxes.xml, raster/Makefile,
+	  raster/r.his/r.his.html, raster/r.lake/r.lake.html,
+	  raster/r.relief, raster/r.relief/Makefile,
+	  raster/r.relief/main.c, raster/r.relief/r.relief.html,
+	  raster/r.relief/r.shaded.relief.html,
+	  raster/r.relief/r_relief.png,
+	  raster/r.relief/r_shaded_relief.png, raster/r.shaded.relief,
+	  scripts/Makefile, scripts/d.shade, scripts/d.shade/Makefile,
+	  scripts/d.shade/d.shade.html, scripts/d.shade/d.shade.py,
+	  scripts/d.shade/d.shadedmap.html, scripts/d.shade/d.shadedmap.py,
+	  scripts/d.shade/dshade.png, scripts/d.shade/dshadedmap.png,
+	  scripts/d.shadedmap, scripts/r.shade, scripts/r.shade/Makefile,
+	  scripts/r.shade/r.shade.html, scripts/r.shade/r.shade.py,
+	  scripts/r.shade/r.shadedmap.html, scripts/r.shade/r.shadedmap.py,
+	  scripts/r.shade/rshade.png, scripts/r.shade/rshadedmap.png,
+	  scripts/r.shadedmap: r.relief, r.shade, d.shade: rename from
+	  r.shaded.relief, r.shadedmap and d.shadedmap (also improve
+	  keywords, see also and examples, add r.shade to toolboxes)
+
+2014-11-30 22:25  wenzeslaus
+
+	* raster/r.his/main.c, scripts/r.shadedmap/r.shadedmap.html,
+	  scripts/r.shadedmap/r.shadedmap.py: r.his and r.shade(edmap):
+	  propagate all NULLs by default, flag for NULLs color from color
+	  table, option for constant color for NULLs
+
+2014-11-30 21:53  annakrat
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: fix
+	  errorcode, bug introduced when rewriting scripts to use new
+	  python scripting library error handling
+
+2014-11-30 11:38  neteler
+
+	* temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py,
+	  temporal/t.shift/t.shift.py, temporal/t.snap/t.snap.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.layer_bug.sh:
+	  temporal: minor whitespace fixes
+
+2014-11-30 09:28  neteler
+
+	* lib/gpde/test/test_arrays.c, lib/python/gunittest/case.py,
+	  lib/python/gunittest/testsuite/test_assertions_rast3d.py,
+	  lib/python/pygrass/gis/__init__.py, lib/python/script/core.py,
+	  lib/python/script/raster3d.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/factory.py,
+	  lib/python/temporal/list_stds.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py:
+	  fix rast3d -> 3draster
+
+2014-11-30 00:10  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix rast3d -> 3draster
+
+2014-11-29 21:59  annakrat
+
+	* gui/wxpython/rdigit/controller.py: wxGUI/rdigit: fix
+	  disconnecting signal when rdigit is closed
+
+2014-11-29 21:48  annakrat
+
+	* gui/wxpython/mapdisp/main.py, gui/wxpython/wxgui.py: wxGUI: add
+	  set_raise_on_error(True) to prevent crashing gui when using
+	  grass.mapcalc
+
+2014-11-29 16:15  annakrat
+
+	* raster/r.colors/edit_colors.c: r.colors: flag l missing in option
+	  rules
+
+2014-11-29 15:43  neteler
+
+	* temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.remove/t.remove.py, temporal/t.select/t.select.py,
+	  temporal/t.shift/t.shift.py, temporal/t.snap/t.snap.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py: temporal: standardization
+
+2014-11-29 15:21  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI/gselect: try to catch
+	  different key events, it's unclear which events are emitted from
+	  which part of the widget, on the same version of Ubuntu and
+	  wxPython, I get different behavior
+
+2014-11-29 14:43  neteler
+
+	* temporal/t.info/testsuite/test.t.info.sh,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.to.rast3/test.t.rast.to.rast3.sh,
+	  temporal/t.rast3d.extract/testsuite/test.t.rast3d.extract.sh,
+	  temporal/t.rast3d.list/testsuite/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.mapcalc/test.t.rast3d.mapcalc.sh,
+	  temporal/t.rast3d.univar/testsuite/test.t.rast3d.univar.sh,
+	  temporal/t.register/test.t.register.raster3d.sh: temporal
+	  testsuite: update keys to use new element names (#2409)
+
+2014-11-29 07:37  lucadelu
+
+	* temporal/t.vect.export/t.vect.export.py: t.vect.export: fixed
+	  wrong parameter name
+
+2014-11-29 03:31  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI/gselect: treectrl
+	  OnKeyDown doesn't exist anymore
+
+2014-11-29 03:18  annakrat
+
+	* lib/gis/renamed_options, raster/r.sim/r.sim.sediment/main.c,
+	  raster/r.sim/r.sim.sediment/r.sim.sediment.html,
+	  raster/r.sim/r.sim.water/main.c,
+	  raster/r.sim/r.sim.water/r.sim.water.html: r.sim: change option
+	  names
+
+2014-11-29 03:08  annakrat
+
+	* raster/r.viewshed/r.viewshed.html: r.viewshed: update manual
+
+2014-11-29 02:59  annakrat
+
+	* raster/r.viewshed/testsuite/test_r_viewshed.py: r.viewshed:
+	  rename option - update testsuite
+
+2014-11-29 02:58  annakrat
+
+	* lib/gis/renamed_options, raster/r.viewshed/main.cpp: r.viewshed:
+	  rename options
+
+2014-11-28 22:40  martinl
+
+	* include/Make/Script.make: attempt to fix install rules for scrips
+	  (etc - addons)
+
+2014-11-28 22:25  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: attempt to fix
+	  ETC var
+
+2014-11-28 20:33  turek
+
+	* scripts/r.in.wms/wms_drv.py: r.in.wms: wmts fix for maxrow/col
+
+2014-11-28 20:14  mmetz
+
+	* gui/wxpython/iclass/frame.py: iclass: add vdigit settings to
+	  toolbar
+
+2014-11-28 20:13  mmetz
+
+	* gui/wxpython/vdigit/preferences.py: vdigit: settings cancel
+	  button does not cancel anything, it just closes the dialog
+
+2014-11-28 20:01  mmetz
+
+	* include/vect/dig_externs.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/update.c:
+	  diglib: change content of list of changed lines
+
+2014-11-28 16:41  mmetz
+
+	* general/g.list/main.c: g.list: if possible, sort output by 1.
+	  type, 2. name, 3. mapset
+
+2014-11-28 16:22  martinl
+
+	* display/d.rhumbline/d.rhumbline.html,
+	  display/d.vect.chart/d.vect.chart.html,
+	  display/d.vect/d.vect.html, imagery/i.fft/i.fft.html,
+	  imagery/i.landsat.toar/i.landsat.toar.html,
+	  raster/r.distance/r.distance.html,
+	  raster/r.fill.dir/r.fill.dir.html,
+	  raster/r.horizon/r.horizon.html, raster/r.lake/r.lake.html,
+	  raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.random/r.random.html,
+	  raster/r.resamp.rst/r.resamp.rst.html, raster/r.sun/r.sun.html,
+	  raster/r.water.outlet/r.water.outlet.html,
+	  raster3d/r3.gwflow/r3.gwflow.html,
+	  scripts/d.rast.leg/d.rast.leg.html,
+	  scripts/i.pansharpen/i.pansharpen.html,
+	  scripts/i.spectral/i.spectral.html, scripts/r.blend/r.blend.html,
+	  scripts/v.db.join/v.db.join.html,
+	  scripts/v.db.update/v.db.update.html,
+	  scripts/v.what.vect/v.what.vect.html,
+	  vector/v.clean/v.clean.html, vector/v.drape/v.drape.html,
+	  vector/v.edit/v.edit.html, vector/v.extrude/v.extrude.html,
+	  vector/v.kcv/v.kcv.html,
+	  vector/v.lrs/v.lrs.create/v.lrs.create.html,
+	  vector/v.mkgrid/v.mkgrid.html, vector/v.net/v.net.html,
+	  vector/v.out.ogr/v.out.ogr.html,
+	  vector/v.out.postgis/v.out.postgis.html,
+	  vector/v.surf.rst/v.surf.rst.html,
+	  vector/v.vol.rst/v.vol.rst.html: update manuals (#2409)
+
+2014-11-28 16:15  martinl
+
+	* lib/gis/renamed_options: update renamed options
+
+2014-11-28 16:04  martinl
+
+	* lib/python/temporal/stds_export.py,
+	  raster/r.in.poly/testsuite/test_rinpoly.py,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/v.out.gps/v.out.gps.py: fix renamed options in scripts
+	  (#2409)
+
+2014-11-28 15:50  martinl
+
+	* lib/gis/renamed_options: renamed_options: remove spaces on the
+	  end of line
+
+2014-11-28 15:43  martinl
+
+	* display/d.colortable/d.colortable.html,
+	  display/d.vect.chart/d.vect.chart.html,
+	  display/d.vect/d.vect.html, imagery/i.fft/i.fft.html,
+	  misc/m.transform/m.transform.html, raster/r.cost/r.cost.html,
+	  raster/r.drain/r.drain.html, raster/r.out.mpeg/r.out.mpeg.html,
+	  raster/r.slope.aspect/r.slope.aspect.html,
+	  raster/r.spreadpath/r.spreadpath.html,
+	  raster/r.topmodel/r.topmodel.html, scripts/d.polar/d.polar.html,
+	  scripts/v.what.vect/v.what.vect.html, vector/v.edit/v.edit.html,
+	  vector/v.kcv/v.kcv.html, vector/v.kernel/v.kernel.html,
+	  vector/v.out.postgis/v.out.postgis.html,
+	  vector/v.qcount/v.qcount.html, vector/v.surf.rst/v.surf.rst.html,
+	  vector/v.to.points/v.to.points.html,
+	  vector/v.vol.rst/v.vol.rst.html: update manual pages (#2409)
+
+2014-11-28 15:32  neteler
+
+	* lib/db/sqlp/sql.html: SQL manual: examples updated
+
+2014-11-28 14:45  martinl
+
+	* lib/gis/renamed_options, raster/r.resamp.rst/main.c,
+	  raster/r.shaded.relief/main.c, raster/r.slope.aspect/main.c,
+	  raster3d/r3.out.vtk/parameters.c, vector/v.out.vtk/main.c,
+	  vector/v.sample/main.c, vector/v.surf.rst/main.c,
+	  vector/v.vol.rst/main.c: rename zmultiplier to zscale (#2409)
+
+2014-11-28 14:41  neteler
+
+	* vector/v.db.select/v.db.select.html: v.db.select manual: examples
+	  updated
+
+2014-11-28 14:27  mmetz
+
+	* raster/r.out.vtk/parameters.c, raster/r.out.vtk/r.out.vtk.html:
+	  r.out.vtk: sync option names
+
+2014-11-28 13:17  martinl
+
+	* raster/Makefile, raster/r.sim, raster/simwe: rename simwe ->
+	  r.sim
+
+2014-11-28 13:09  martinl
+
+	* lib/gis/renamed_options: renamed_options: fix typo, removed
+	  modules, expand r.li
+
+2014-11-28 10:15  neteler
+
+	* db/drivers/sqlite/db.c, scripts/v.db.update/v.db.update.html,
+	  scripts/v.db.update/v.db.update.py: v.db.update: add support for
+	  extended SQLite functions
+
+2014-11-28 10:10  martinl
+
+	* lib/manage/element_list: element list cosmetics
+
+2014-11-28 10:08  martinl
+
+	* lib/manage/element_list: remove windows3d from element list
+
+2014-11-28 10:05  neteler
+
+	* scripts/d.to.rast/d.to.rast.py,
+	  scripts/d.what.rast/d.what.rast.py: Fix for r63227: remove double
+	  check
+
+2014-11-28 10:04  martinl
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/animation/provider.py,
+	  gui/wxpython/animation/temporal_manager.py,
+	  gui/wxpython/core/layerlist.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/workspace.py, gui/wxpython/gis_set.py,
+	  gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/prompt.py,
+	  gui/wxpython/gui_core/simplelmgr.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/iscatt/iscatt_core.py,
+	  gui/wxpython/lmgr/datacatalog.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapwin/decorations.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/psmap/instructions.py,
+	  gui/wxpython/rdigit/controller.py,
+	  gui/wxpython/rdigit/dialogs.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/rlisetup/wizard.py, gui/wxpython/vnet/vnet_core.py,
+	  gui/wxpython/vnet/vnet_data.py,
+	  gui/wxpython/web_services/dialogs.py: wxGUI: update to the new
+	  element names
+
+2014-11-28 09:57  neteler
+
+	* db/db.columns/db.columns.html, db/db.connect/db.connect.html,
+	  db/db.copy/db.copy.html, db/db.createdb/db.createdb.html,
+	  db/db.databases/db.databases.html,
+	  db/db.describe/db.describe.html, db/db.drivers/db.drivers.html,
+	  db/db.dropdb/db.dropdb.html, db/db.execute/db.execute.html,
+	  db/db.login/db.login.html, db/db.select/db.select.html,
+	  db/db.tables/db.tables.html, display/d.geodesic/d.geodesic.html,
+	  display/d.grid/d.grid.html, display/d.path/d.path.html,
+	  lib/cairodriver/cairodriver.html,
+	  scripts/db.univar/db.univar.html: manual: some examples updated;
+	  HTML cosmetics
+
+2014-11-28 09:50  martinl
+
+	* display/d.legend/main.c, general/g.region/main.c,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  lib/gis/parser_standard_options.c,
+	  lib/python/temporal/open_stds.py, raster/r.carve/main.c: update
+	  keys to use new element names (#2409)
+
+2014-11-28 09:43  neteler
+
+	* scripts/d.correlate/d.correlate.py,
+	  scripts/d.out.file/d.out.file.py,
+	  scripts/d.rast.leg/d.rast.leg.py, scripts/d.redraw/d.redraw.py,
+	  scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/d.to.rast/d.to.rast.py,
+	  scripts/d.vect.thematic/d.vect.thematic.py,
+	  scripts/d.what.rast/d.what.rast.py,
+	  scripts/d.what.vect/d.what.vect.py: d.* scripts: check if
+	  graphics device is open
+
+2014-11-28 09:30  martinl
+
+	* general/g.list/main.c, general/g.remove/main.c,
+	  general/g.rename/main.c, lib/manage/do_copy.c,
+	  lib/manage/do_remove.c, lib/manage/do_rename.c,
+	  lib/manage/option.c, raster/r.reclass/reclass.c: fix managelib
+	  and modules to understand new element names
+
+2014-11-28 09:17  martinl
+
+	* scripts/db.droptable/db.droptable.py: db.droptable: run
+	  db.connect in quiet mode
+
+2014-11-28 09:01  martinl
+
+	* gui/scripts/d.wms.py, raster/r.in.bin/main.c,
+	  raster/r.in.png/main.c, raster3d/r3.in.bin/main.c,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.unpack/r.unpack.py, scripts/v.unpack/v.unpack.py:
+	  update modules to use G_OPT_F_BIN_INPUT
+
+2014-11-28 09:01  martinl
+
+	* general/g.parser/standard_option.c, include/gis.h,
+	  lib/gis/parser_standard_options.c: libgis: add G_OPT_F_BIN_INPUT
+	  (make distclean REQUIRED)
+
+2014-11-28 08:30  martinl
+
+	* lib/manage/element_list: libmanage: rename volume to 3draster
+
+2014-11-28 03:39  annakrat
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/hydro.c,
+	  raster/simwe/simlib/random.c, raster/simwe/simlib/waterglobs.h:
+	  simwe: change random number generator to the standard one, #2272
+
+2014-11-27 17:59  neteler
+
+	* scripts/i.tasscap/i.tasscap.py: i.tasscap: write out some
+	  metadata
+
+2014-11-27 17:53  mlennert
+
+	* scripts/v.db.update/v.db.update.py: v.db.update: complete
+	  parameter key change
+
+2014-11-27 17:05  martinl
+
+	* lib/gis/Makefile, lib/gis/parser.c, lib/gis/parser_local_proto.h,
+	  lib/gis/renamed_options: add oldkey:newkey lookup table (#2049)
+
+2014-11-27 16:20  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: disable
+	  mdebug decorator
+
+2014-11-27 16:18  zarch
+
+	* lib/python/pygrass/vector/table.py: pygrass: improve error
+	  message on column type
+
+2014-11-27 15:55  mmetz
+
+	* scripts/i.colors.enhance/i.colors.enhance.py: i.colors.enhance:
+	  optimize
+
+2014-11-27 15:27  annakrat
+
+	* gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py: wxGUI/vdigit: fix closing
+	  digitizer window problem due to not implemented giface
+	  progressbar interface
+
+2014-11-27 15:20  martinl
+
+	* raster/r.sun/main.c: r.sun: use standardized options (#2409)
+
+2014-11-27 15:05  martinl
+
+	* db/db.select/main.c: db.select: vseparator -> vertical_separator
+	  (#2409)
+
+2014-11-27 14:38  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix commit r63173
+
+2014-11-27 14:34  martinl
+
+	* scripts/i.pansharpen/i.pansharpen.py, scripts/r.blend/r.blend.py,
+	  scripts/r.rgb/r.rgb.py: fix script to use G_OPT_R_BASENAME_OUTPUT
+
+2014-11-27 14:24  neteler
+
+	* scripts/i.tasscap/i.tasscap.py: i.tasscap: added support for
+	  Landsat8
+
+2014-11-27 14:18  martinl
+
+	* display/d.colorlist/main.c: d.colorlist: description cosmetics,
+	  default sep changed to comma
+
+2014-11-27 14:16  martinl
+
+	* display/d.colorlist/main.c: d.colorlist: fix separator handling
+
+2014-11-27 13:15  lucadelu
+
+	* temporal/t.rast.out.vtk/t.rast.out.vtk.py: t.rast.out.vtk: fixed
+	  wrong parameter name
+
+2014-11-27 11:30  martinl
+
+	* lib/manage/element_list: element renamed (#2409)
+	  rast -> raster
+	  rast3d -> volumn
+	  vect -> vector
+	  oldvect -> oldvector
+	  asciivect -> asciivect
+
+2014-11-27 11:09  martinl
+
+	* lib/manage/option.c: managelib: fix M_get_option_desc() - enlarge
+	  buffer
+
+2014-11-27 10:50  huhabla
+
+	* temporal/t.rast.neighbors/t.rast.neighbors.py: temporal modules:
+	  Fixed wrong check for output strds in t.rast.neighbors, thanks to
+	  Luca for the report
+
+2014-11-27 09:40  turek
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: capfile_output doc desc
+
+2014-11-27 09:39  turek
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: capfile and
+	  capfile_output - added mutually exclusive rule
+
+2014-11-27 09:27  turek
+
+	* general/g.parser/g.parser.html: g.parser: doc of rules
+
+2014-11-27 09:01  mmetz
+
+	* gui/wxpython/vdigit/wxdigit.py: vdigit: fix r63077
+
+2014-11-27 08:35  martinl
+
+	* general/g.parser/standard_option.c: fix g.parser to support also
+	  G_OPT_M_NULL_VALUE
+
+2014-11-27 05:11  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI/gselect: yet another
+	  attempt to improve map selection widget for wxPython 2.8, needs
+	  testing on other platforms than Linux, fortunately the widget is
+	  fixed in wxPython 3
+
+2014-11-27 04:57  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix updating
+	  dependent widgets with wxPython 3
+
+2014-11-26 23:20  neteler
+
+	* display/d.colorlist/main.c, imagery/i.biomass/main.c,
+	  imagery/i.evapo.mh/main.c, imagery/i.evapo.pt/main.c,
+	  raster/r.to.rast3/main.c, raster3d/r3.gradient/main.c,
+	  raster3d/r3.gradient/r3.gradient.html,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  vector/v.mkgrid/main.c, vector/v.surf.rst/main.c,
+	  vector/v.vol.rst/main.c: use standardized options (#2409)
+
+2014-11-26 23:13  turek
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: default format changed to
+	  png
+
+2014-11-26 23:11  turek
+
+	* gui/scripts/d.wms.py: d.wms: default format changed to png
+
+2014-11-26 21:38  neteler
+
+	* vector/v.external.out/args.c,
+	  vector/v.external.out/v.external.out.html: v.external.out: use
+	  standardized options (#2409); update manual
+
+2014-11-26 18:50  mmetz
+
+	* lib/vector/dglib/sp-template.c: dglib: fix sp cache
+	  initialization
+
+2014-11-26 17:58  martinl
+
+	* lib/init/grass.py: grass.py: remove PY from PATHEXT
+
+2014-11-26 17:32  martinl
+
+	* scripts/v.what.vect/v.what.vect.py: v.what.vect: use standardized
+	  options (#2409)
+
+2014-11-26 17:30  neteler
+
+	* scripts/v.db.update/v.db.update.py: partially revert r63154
+
+2014-11-26 17:28  neteler
+
+	* db/drivers/postgres/grass-pg.html,
+	  scripts/db.in.ogr/db.in.ogr.html, scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/v.db.update/v.db.update.py, vector/v.external.out/args.c,
+	  vector/v.external.out/v.external.out.html,
+	  vector/v.external/v.external.html, vector/v.in.ogr/main.c,
+	  vector/v.in.ogr/v.in.ogr.html, vector/v.info/v.info.html,
+	  vector/v.out.ogr/v.out.ogr.html,
+	  vector/v.out.postgis/v.out.postgis.html: dsn ->
+	  input/output/directory, use standardized options (#2409)
+
+2014-11-26 17:26  martinl
+
+	* vector/v.vol.rst/main.c: v.vol.rst: use standardized options
+	  (#2409)
+
+2014-11-26 17:15  martinl
+
+	* vector/v.vect.stats/main.c: v.vect.stats: use standardized
+	  options (#2409)
+
+2014-11-26 17:10  martinl
+
+	* vector/v.transform/main.c: v.transform: use standardized options
+	  (#2409)
+
+2014-11-26 17:08  martinl
+
+	* vector/v.to.rast/main.c: v.to.rast: use standardized options
+	  (#2409)
+
+2014-11-26 17:05  martinl
+
+	* vector/v.to.points/main.c: v.to.points: use standardized options
+	  (#2409)
+
+2014-11-26 17:02  martinl
+
+	* vector/v.to.db/parse.c: v.to.db: use standardized options (#2409)
+
+2014-11-26 16:59  martinl
+
+	* vector/v.surf.rst/main.c: v.surf.rst: use standardized options
+	  (#2409)
+
+2014-11-26 16:59  neteler
+
+	* vector/v.segment/main.c: v.segments: fix r63137, standardized
+	  options (#2409)
+
+2014-11-26 16:54  martinl
+
+	* vector/v.segment/main.c: v.segments: use standardized options
+	  (#2409)
+
+2014-11-26 16:52  martinl
+
+	* vector/v.sample/main.c: v.sample: use standardized options
+	  (#2409)
+
+2014-11-26 16:49  martinl
+
+	* raster/r.random/main.c: r.random: use standardized options
+	  (#2409)
+
+2014-11-26 16:48  martinl
+
+	* vector/v.random/main.c: v.random: use standardized options
+	  (#2409)
+
+2014-11-26 16:45  martinl
+
+	* vector/v.qcount/main.c: v.qcount: use standardized options
+	  (#2409)
+
+2014-11-26 16:43  martinl
+
+	* vector/v.outlier/main.c: v.outlier: use standardized options
+	  (#2409)
+
+2014-11-26 16:43  neteler
+
+	* raster/r.info/r.info.html, raster/r.slope.aspect/main.c,
+	  raster/r.slope.aspect/r.slope.aspect.html: r.slope.aspect:
+	  min_slp_allowed -> min_slope (r63053)
+
+2014-11-26 16:41  martinl
+
+	* vector/v.out.vtk/main.c: v.out.vtk: use standardized options
+	  (#2409)
+
+2014-11-26 16:39  martinl
+
+	* vector/v.out.postgis/args.c: v.out.postgis: use standardized
+	  options (#2409)
+
+2014-11-26 16:36  martinl
+
+	* vector/v.out.ogr/args.c: v.out.ogr: use standardized options
+	  (#2409)
+
+2014-11-26 16:33  martinl
+
+	* vector/v.out.ascii/args.c: v.out.ascii: use standardized options
+	  (#2409)
+
+2014-11-26 16:33  neteler
+
+	* raster/r.info/r.info.html: r.info manual: example updated
+
+2014-11-26 16:30  martinl
+
+	* vector/v.kernel/main.c: v.kernel: use standardized options
+	  (#2409)
+
+2014-11-26 16:28  martinl
+
+	* vector/v.kcv/main.c: v.kcv: use standardized options (#2409)
+
+2014-11-26 16:26  martinl
+
+	* vector/v.extrude/main.c: v.extrude: use standardized options
+	  (#2409)
+
+2014-11-26 16:24  martinl
+
+	* vector/v.external.out/args.c: v.external.out: use standardized
+	  options (#2409)
+
+2014-11-26 16:20  martinl
+
+	* vector/v.external/args.c: v.external: use standardized options
+	  (#2409)
+
+2014-11-26 16:17  martinl
+
+	* scripts/v.db.update/v.db.update.py: v.db.update: use standardized
+	  options (#2409)
+
+2014-11-26 16:16  martinl
+
+	* vector/v.db.select/main.c: v.db.select: use standardized options
+	  (#2409)
+
+2014-11-26 16:13  martinl
+
+	* scripts/v.db.join/v.db.join.py: v.db.join: use standardized
+	  options (#2409)
+
+2014-11-26 16:09  martinl
+
+	* vector/v.buffer/main.c: v.buffer: use standardized options
+	  (#2409)
+
+2014-11-26 16:04  martinl
+
+	* temporal/t.vect.import/t.vect.import.py: t.vect.import: use
+	  standardized options (#2409)
+
+2014-11-26 16:02  martinl
+
+	* temporal/t.vect.export/t.vect.export.py: t.vect.export: use
+	  standardized options (#2409)
+
+2014-11-26 16:00  martinl
+
+	* temporal/t.rast.out.vtk/t.rast.out.vtk.py: t.rast.out.vtk: use
+	  standardized options (#2409)
+
+2014-11-26 15:59  martinl
+
+	* temporal/t.rast.mapcalc/t.rast.mapcalc.py: t.rast.mapcalc: use
+	  standardized options (#2409)
+
+2014-11-26 15:56  martinl
+
+	* temporal/t.rast.mapcalc/t.rast.mapcalc.py: t.rast.mapcalc: use
+	  standardized options (#2409)
+
+2014-11-26 15:51  martinl
+
+	* raster3d/r3.out.vtk/parameters.c: r3.out.vtk: use standardized
+	  options (#2409)
+
+2014-11-26 15:45  martinl
+
+	* display/d.rast.num/main.c, raster/r.out.ascii/main.c,
+	  raster/r.out.vtk/parameters.c: dp -> precision (#2049) -
+	  standardized options
+
+2014-11-26 15:39  martinl
+
+	* raster3d/r3.out.ascii/main.c: r3.out.ascii: use standardized
+	  options (#2409)
+
+2014-11-26 15:37  mmetz
+
+	* gui/wxpython/vdigit/wxdigit.py: vector digitizer: fix #2439
+
+2014-11-26 15:35  martinl
+
+	* raster3d/r3.in.v5d/main.c: r3.in.v5d: use standardized options
+	  (#2409)
+
+2014-11-26 15:30  martinl
+
+	* raster3d/r3.in.ascii/main.c: r3.in.ascii: use standardized
+	  options (#2409)
+
+2014-11-26 15:23  martinl
+
+	* lib/gpde/n_parse_options.c: gpde: #2049 (standardized options)
+
+2014-11-26 15:23  martinl
+
+	* raster3d/r3.gwflow/main.c: r3.gwflow: use standardized options
+	  (#2409)
+
+2014-11-26 15:13  martinl
+
+	* raster/r.what/main.c: r.what: use standardized options (#2409)
+
+2014-11-26 15:10  martinl
+
+	* raster/r.viewshed/main.cpp: r.viewshed: use standardized options
+	  (#2409)
+
+2014-11-26 15:07  martinl
+
+	* raster/r.transect/main.c: r.transect: use standardized options
+	  (#2409)
+
+2014-11-26 14:44  martinl
+
+	* raster/r.texture/main.c: r.texture: use standardized options
+	  (#2409)
+
+2014-11-26 14:41  martinl
+
+	* raster/r.terraflow/main.cpp: r.terraflow: use standardized
+	  options (#2409)
+
+2014-11-26 14:28  turek
+
+	* gui/wxpython/web_services/widgets.py: wx.web_services: fix for
+	  srs codes with urn
+
+2014-11-26 14:25  martinl
+
+	* raster/r.stats/main.c: r.stats: use standardized options (#2409)
+
+2014-11-26 14:20  martinl
+
+	* raster/r.spreadpath/main.c: r.spreadpath: use standardized
+	  options (#2409)
+
+2014-11-26 14:11  martinl
+
+	* raster/r.slope.aspect/main.c: r.slope.aspect: use standardized
+	  options (#2409)
+
+2014-11-26 14:06  martinl
+
+	* raster/r.shaded.relief/main.c: r.shaded.relief: use standardized
+	  options (#2409)
+
+2014-11-26 14:01  martinl
+
+	* raster/r.resamp.rst/main.c: r.resamp.rst: use standardized
+	  options (#2409)
+
+2014-11-26 13:50  martinl
+
+	* scripts/r.rgb/r.rgb.py: r.rgb: use standardized options (#2409)
+
+2014-11-26 13:42  martinl
+
+	* raster/r.report/parse.c: r.report: use standardized options
+	  (#2409)
+
+2014-11-26 13:42  neteler
+
+	* scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: option
+	  description cosmetics
+
+2014-11-26 13:35  martinl
+
+	* raster/r.regression.line/main.c: r.regression.line: use
+	  standardized options (#2409)
+
+2014-11-26 13:35  turek
+
+	* scripts/r.in.wms/srs.py, scripts/r.in.wms/wms_drv.py: r.in.wms:
+	  wmts epsg:4326 with urn fix, srs.py parameter fix
+
+2014-11-26 13:33  martinl
+
+	* scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: use
+	  standardized options (#2409)
+
+2014-11-26 13:25  neteler
+
+	* temporal/t.connect/t.connect.html,
+	  temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.list/t.list.html, temporal/t.merge/t.merge.html,
+	  temporal/t.rast.accdetect/t.rast.accdetect.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.algebra/t.rast.algebra.html,
+	  temporal/t.rast.colors/t.rast.colors.html,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.html,
+	  temporal/t.rast.series/t.rast.series.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.html,
+	  temporal/t.rast3d.extract/t.rast3d.extract.html,
+	  temporal/t.rast3d.list/t.rast3d.list.html,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.html,
+	  temporal/t.register/t.register.html,
+	  temporal/t.sample/t.sample.html, temporal/t.select/t.select.html,
+	  temporal/t.shift/t.shift.html, temporal/t.snap/t.snap.html,
+	  temporal/t.support/t.support.html,
+	  temporal/t.topology/t.topology.html,
+	  temporal/t.vect.algebra/t.vect.algebra.html,
+	  temporal/t.vect.db.select/t.vect.db.select.html,
+	  temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.extract/t.vect.extract.html,
+	  temporal/t.vect.import/t.vect.import.html,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.html,
+	  temporal/t.vect.univar/t.vect.univar.html,
+	  temporal/t.vect.what.strds/t.vect.what.strds.html: temporal
+	  manual: HTML cosmetics and small additions
+
+2014-11-26 13:19  martinl
+
+	* raster/r.random/main.c: r.random: use standardized options
+	  (#2409)
+
+2014-11-26 13:16  martinl
+
+	* gui/wxpython/core/utils.py, lib/python/temporal/stds_import.py:
+	  g.mapset: gisdbase -> dbase
+
+2014-11-26 13:13  martinl
+
+	* general/g.mapset/main.c: g.mapset: use standardized options
+	  (#2409)
+
+2014-11-26 13:08  martinl
+
+	* raster/r.profile/main.c: r.profile use standardized options
+	  (#2409)
+
+2014-11-26 13:05  martinl
+
+	* raster/r.param.scale/interface.c: r.param.scale use standardized
+	  options (#2409)
+
+2014-11-26 12:59  martinl
+
+	* raster/r.out.vrml/main.c: r.out.vrml use standardized options
+	  (#2409)
+
+2014-11-26 12:55  martinl
+
+	* raster/r.out.mpeg/main.c: r.out.mpeg use standardized options
+	  (#2409)
+
+2014-11-26 11:33  martinl
+
+	* raster/r.out.ascii/main.c: r.out.ascii use standardized options
+	  (#2409)
+
+2014-11-26 11:30  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal use standardized options
+	  (#2409)
+
+2014-11-26 11:28  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: G_OPT_M_NULL_VALUE
+	  cosmetics
+
+2014-11-26 11:27  martinl
+
+	* db/db.select/main.c, raster/r.describe/main.c: use
+	  G_OPT_M_NULL_VALUE
+
+2014-11-26 11:21  martinl
+
+	* raster/r.in.ascii/main.c: r.in.ascii use standardized options
+	  (#2409)
+
+2014-11-26 11:20  martinl
+
+	* include/gis.h, lib/gis/parser_standard_options.c: libgis:
+	  G_OPT_M_NULL_VALUE added - make distclean NEEDED
+
+2014-11-26 10:54  martinl
+
+	* raster/r.in.ascii/main.c: r.in.ascii use standardized options
+	  (#2409)
+
+2014-11-26 10:50  martinl
+
+	* raster/r.horizon/main.c: r.horizon use standardized options
+	  (#2409)
+
+2014-11-26 10:43  martinl
+
+	* raster/r.fill.dir/main.c: r.fill.dir use standardized options
+	  (#2409)
+
+2014-11-26 10:40  martinl
+
+	* raster/r.drain/main.c: r.drain use standardized options (#2409)
+
+2014-11-26 10:37  martinl
+
+	* raster/r.category/main.c: r.category: revert rast -> raster
+	  (there are a lot of modules which uses 'raster')
+
+2014-11-26 10:35  martinl
+
+	* raster/r.composite/main.c: r.composite use standardized options
+	  (#2409)
+
+2014-11-26 10:33  martinl
+
+	* raster/r.coin/main.c: r.coin use standardized options (#2409)
+
+2014-11-26 10:29  martinl
+
+	* raster/r.circle/main.c: r.circle use standardized options (#2409)
+
+2014-11-26 10:26  martinl
+
+	* tools/thumbnails.py: fix tools/thumbnails.py
+
+2014-11-26 10:23  martinl
+
+	* raster/r.category/main.c: r.category use standardized options
+	  (#2409)
+
+2014-11-26 10:19  martinl
+
+	* scripts/r.blend/r.blend.py: r.blend use standardized options
+	  (#2409)
+
+2014-11-26 10:15  martinl
+
+	* misc/m.transform/main.c: m.transform use standardized options
+	  (#2409)
+
+2014-11-26 10:07  martinl
+
+	* misc/m.cogo/main.c: m.cogo use standardized options (#2409)
+
+2014-11-26 10:03  martinl
+
+	* imagery/i.vi/main.c: i.vi use standardized options (#2409)
+
+2014-11-26 09:47  martinl
+
+	* scripts/i.tasscap/i.tasscap.py: i.tasscap use standardized
+	  options (#2409)
+
+2014-11-26 09:47  turek
+
+	* scripts/r.in.wms/Makefile, scripts/r.in.wms/srs.py,
+	  scripts/r.in.wms/wms_drv.py: r.in.wms: improved axes order for
+	  wms 1.3.0
+
+2014-11-26 09:45  mmetz
+
+	* vector/v.in.ascii/local_proto.h, vector/v.in.ascii/main.c,
+	  vector/v.in.ascii/points.c: v.in.ascii: add ignore flag, code
+	  clean-up
+
+2014-11-26 09:43  martinl
+
+	* imagery/i.rgb.his/main.c: i.his.rgb: use standardized options
+	  (#2409)
+
+2014-11-26 09:41  martinl
+
+	* imagery/i.rectify/main.c: i.rectify: use standardized options
+	  (#2409)
+
+2014-11-26 09:38  martinl
+
+	* imagery/i.pca/main.c: i.pca: use standardized options (#2409)
+
+2014-11-26 09:32  martinl
+
+	* imagery/i.landsat.toar/main.c: i.landsat.toar: use standardized
+	  options (#2409)
+
+2014-11-26 09:28  martinl
+
+	* imagery/i.landsat.acca/main.c: i.landsat.acca: use standardized
+	  options (#2409)
+
+2014-11-26 09:28  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: basename keydesc
+	  cosmetics
+
+2014-11-26 09:26  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: basename ->
+	  input/output
+
+2014-11-26 09:22  martinl
+
+	* imagery/i.ifft/main.c: i.ifft: use standardized options (#2409)
+
+2014-11-26 09:19  martinl
+
+	* imagery/i.his.rgb/main.c: i.his.rgb: use standardized options
+	  (#2409)
+
+2014-11-26 09:15  martinl
+
+	* imagery/i.fft/main.c: i.fft: use standardized options (#2409)
+
+2014-11-26 09:04  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/vdigit/mapwindow.py: wxGUI: d.vect's fcolor ->
+	  fill_color
+
+2014-11-26 08:48  martinl
+
+	* include/Make/GuiScript.make: wingrass: generate bat files also
+	  for GUI modules
+
+2014-11-26 08:47  martinl
+
+	* gui/scripts/Makefile: wingrass: generate bat files also for GUI
+	  scripts
+
+2014-11-25 16:48  neteler
+
+	* imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/main.c: i.landsat.toar: fix message
+	  description of Sun Azimuth Angle; manual cosmetics
+
+2014-11-25 15:15  martinl
+
+	* display/d.vect.chart/main.c: d.vect.chart: use standardized
+	  options (#2409)
+
+2014-11-25 15:08  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: report none color also
+	  for G_OPT_C_FG
+
+2014-11-25 15:07  martinl
+
+	* display/d.vect/main.c: d.vect: use standardized options (#2409)
+
+2014-11-25 14:54  martinl
+
+	* display/d.thematic.area/main.c: d.thematic.area: use standardized
+	  options (#2409)
+
+2014-11-25 14:43  martinl
+
+	* display/d.rhumbline/main.c: d.rhumbline: use standardized options
+	  (#2409)
+
+2014-11-25 14:31  lucadelu
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: fix bug with
+	  infinity value (#2343)
+
+2014-11-25 14:30  martinl
+
+	* display/d.rast.arrow/main.c: d.rast.arrow: use standardized
+	  options (#2409)
+
+2014-11-25 14:19  martinl
+
+	* display/d.profile/main.c: d.profile: use standardized options
+	  (#2409)
+
+2014-11-25 14:13  martinl
+
+	* scripts/d.polar/d.polar.py: d.polar: use standardized options
+	  (#2409)
+
+2014-11-25 11:36  martinl
+
+	* gui/scripts/Makefile: gui scripts: makefile cosmetics
+
+2014-11-25 11:34  lucadelu
+
+	* gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup: improved tool:
+	  check temporal files already exist, add capability to choose the
+	  layer number; some PEP8 cleanup
+
+2014-11-25 11:24  mmetz
+
+	* vector/v.mkgrid/main.c, vector/v.mkgrid/v.mkgrid.html: v.mkgrid:
+	  make grid option optional for position=region, update examples
+
+2014-11-25 11:14  lucadelu
+
+	* lib/python/pygrass/modules/grid/grid.py: pygrass grid: fix the
+	  right name parameter to remove raster
+
+2014-11-25 10:59  martinl
+
+	* lib/gis/parser.c: libgis: cosmetics in static declarations
+	  (parser.c)
+
+2014-11-25 10:46  lucadelu
+
+	* scripts/r.tileset/r.tileset.py: r.tileset: catch m.proj error if
+	  the proj string is wrong
+
+2014-11-25 10:30  lucadelu
+
+	* scripts/r.tileset/r.tileset.py: r.tileset: added some check for
+	  possible errors, PEP8 cleanup
+
+2014-11-25 09:28  martinl
+
+	* display/d.histogram/main.c: d.histogram: don't use uppercase
+	  options (#2409)
+
+2014-11-25 09:25  martinl
+
+	* display/d.grid/main.c: d.grid: use standardized options (#2409)
+
+2014-11-25 09:21  martinl
+
+	* display/d.geodesic/main.c: d.geodetic: use standardized options
+	  (#2409)
+
+2014-11-25 09:14  martinl
+
+	* display/d.fontlist/main.c: d.fontlist: don't use uppercase keys
+	  (#2409)
+
+2014-11-25 09:12  martinl
+
+	* display/d.font/main.c: d.font: don't use uppercase keys (#2409)
+
+2014-11-25 09:08  martinl
+
+	* display/d.colortable/main.c: d.colortable: use standardized
+	  options (#2409)
+
+2014-11-25 08:54  martinl
+
+	* vector/v.label/main.c, vector/v.lrs/v.lrs.label/main.c: use
+	  G_OPT_C_BG (#2409)
+
+2014-11-25 08:17  mmetz
+
+	* vector/v.mkgrid/v.mkgrid.html: v.mkgrid: update examples
+
+2014-11-25 08:16  martinl
+
+	* lib/gis/progrm_nme.c: libgis: strip also .py extension from
+	  program name
+
+2014-11-25 08:15  martinl
+
+	* lib/gis/basename.c, lib/gis/progrm_nme.c: libgis: doxygen
+	  cosmetics
+
+2014-11-24 23:39  lucadelu
+
+	* scripts/Makefile, scripts/v.in.gns: v.in.gns: moved from trunk to
+	  addons in r62900
+
+2014-11-24 23:25  lucadelu
+
+	* scripts/v.in.gns/v.in.gns.py: v.in.gns: update with new gns
+	  format
+
+2014-11-24 22:27  neteler
+
+	* man/build_keywords.py: keywords: remove debug output
+
+2014-11-24 20:57  mmetz
+
+	* vector/v.mkgrid/grid_structs.h, vector/v.mkgrid/hexgrid.c,
+	  vector/v.mkgrid/local_proto.h, vector/v.mkgrid/main.c,
+	  vector/v.mkgrid/rotate.c, vector/v.mkgrid/v.mkgrid.html,
+	  vector/v.mkgrid/write_grid.c: v.mkgrid: simplify user interface,
+	  optimze rotation, add hexagon creation
+
+2014-11-24 17:22  neteler
+
+	* raster/r.usler/r.usler.html: r.usler manual: minor change
+
+2014-11-24 17:15  neteler
+
+	* raster/r.uslek/r.uslek.html: r.uslek manual: example now visible
+
+2014-11-24 17:03  neteler
+
+	* raster/r.uslek/prct2tex.c, raster/r.uslek/r.uslek.html,
+	  raster/r.uslek/tex2usle_k.c: r.uslek manual: example added with
+	  randomized values; use G_verbose_message()
+
+2014-11-24 17:00  neteler
+
+	* raster/r.uslek/main.c, raster/r.uslek/tex2usle_k.c: r.uslek:
+	  organic matter range fix; fp precision fix
+
+2014-11-24 16:49  annakrat
+
+	* raster/r.in.lidar/r.in.lidar.html,
+	  vector/v.in.lidar/v.in.lidar.html: r.in.lidar: copy note from
+	  v.in.lidar about laz
+
+2014-11-24 15:42  ychemin
+
+	* raster/r.uslek/r.uslek.html: Added meaningful test data in manual
+
+2014-11-24 10:19  mmetz
+
+	* display/d.vect/d.vect.html, display/d.vect/shape.c: d.vect:
+	  revert r59117, update manual
+
+2014-11-24 09:49  martinl
+
+	* vector/v.what.rast/v.what.rast.html: v.what.rast: remove link to
+	  v.what.rast.buffer (GRASS 6 only addon)
+
+2014-11-24 04:08  annakrat
+
+	* raster/r.colors/edit_colors.c: r.colors: use new parser option
+	  dependencies
+
+2014-11-23 22:54  huhabla
+
+	* temporal/temporalintro.html: temporal modules: Documentation
+	  update
+
+2014-11-23 22:32  neteler
+
+	* man/build_html.py, raster/r.colors/r.colors.html,
+	  raster3d/r3.out.vtk/r3.out.vtk.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.html,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.unregister/t.unregister.html,
+	  temporal/t.unregister/t.unregister.py,
+	  vector/v.vol.rst/v.vol.rst.html,
+	  vector/v.what.rast3/v.what.rast3.html: manual: 3d raster -> 3D
+	  raster
+
+2014-11-23 21:16  huhabla
+
+	* temporal/t.rast.algebra/t.rast.algebra.html,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.html,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.html,
+	  temporal/t.rast3d.list/t.rast3d.list.html,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.html,
+	  temporal/t.remove/t.remove.html, temporal/t.rename/t.rename.html,
+	  temporal/t.sample/t.sample.html, temporal/t.sample/t.sample.py,
+	  temporal/t.select/t.select.html, temporal/t.shift/t.shift.html,
+	  temporal/t.snap/t.snap.html, temporal/t.support/t.support.html,
+	  temporal/t.unregister/t.unregister.html: temporal modules: New
+	  manual pages and updates
+
+2014-11-23 16:12  huhabla
+
+	* temporal/t.connect/t.connect.html,
+	  temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.list/t.list.html, temporal/t.merge/t.merge.html,
+	  temporal/t.rast.accdetect/t.rast.accdetect.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.algebra/t.rast.algebra.html,
+	  temporal/t.rast.colors/t.rast.colors.html,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.html,
+	  temporal/t.rast.series/t.rast.series.html,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py: temporal modules:
+	  New manual pages added and existing manual pages updated.
+
+2014-11-23 00:17  huhabla
+
+	* temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py:
+	  temporal modules: Fixed hash operator test
+
+2014-11-22 12:11  neteler
+
+	* lib/gis/parser_html.c, man/build_keywords.py: manual: keyword
+	  index HTML'ized
+
+2014-11-22 12:08  neteler
+
+	* vector/v.mkgrid/main.c: v.mkgrid: expand module description
+
+2014-11-22 11:55  neteler
+
+	* scripts/v.pack/v.pack.py, scripts/v.unpack/v.unpack.py: fix
+	  broken keyword list
+
+2014-11-21 18:31  glynn
+
+	* general/g.parser/rules.c: Support "required" rule
+
+2014-11-21 16:13  neteler
+
+	* raster/r.uslek/prct2tex.c, raster/r.uslek/r.uslek.html,
+	  raster/r.uslek/tex2usle_k.c: r.uslek: trying to generate a
+	  working test case
+
+2014-11-21 15:47  neteler
+
+	* raster/r.thin, raster/r.thin/r.thin.html,
+	  raster/r.thin/r_thin_network.png,
+	  raster/r.thin/r_thin_vectorized.png: r.thin manual: example added
+
+2014-11-21 04:00  wenzeslaus
+
+	* scripts/Makefile, scripts/d.shadedmap/d.shadedmap.html,
+	  scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/d.shadedmap/dshadedmap.png, scripts/r.shadedmap,
+	  scripts/r.shadedmap/Makefile,
+	  scripts/r.shadedmap/d.shadedmap.html,
+	  scripts/r.shadedmap/d.shadedmap.py,
+	  scripts/r.shadedmap/r.shadedmap.html,
+	  scripts/r.shadedmap/r.shadedmap.py,
+	  scripts/r.shadedmap/rshadedmap.png: d.shadedmap: split into two
+	  modules d.shadedmap for display and r.shadedmap for creating
+	  raster
+	  
+	  * the raster creation functionality was anyway not sharing any
+	  code with the display part in the original d.shadedmap
+	  * similar things are parameters and manual, so there is now some
+	  duplication in this
+	  * thanks to r.shadedmap, GRASS shading is available to QGIS and
+	  others
+	  * in wxGUI one can create the raster in usual way (before:
+	  pressing OK or Apply in d command dialog with no overwrite
+	  support)
+	  * adds also brighten functionality for r.shadedmap implemented
+	  according to r.his manual (probably not perfect)
+	  * changing examples to NC and adding images (different image for
+	  each module)
+
+2014-11-21 02:32  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI/search: fix commit r62608
+	  by removing additional event binding
+
+2014-11-20 21:29  neteler
+
+	* temporal/t.connect/t.connect.html, temporal/t.info/t.info.html,
+	  temporal/t.list/t.list.html, temporal/t.merge/t.merge.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.register/t.register.html,
+	  temporal/t.remove/t.remove.html,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.what.strds/t.vect.what.strds.html,
+	  temporal/temporalintro.html: temporal manual: minor updates
+
+2014-11-20 21:05  martinl
+
+	* general/g.copy/g.copy.html: g.copy: manual cosmetics
+
+2014-11-20 11:07  neteler
+
+	* scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: minor
+	  code cleanup of location check
+
+2014-11-20 09:41  neteler
+
+	* vector/v.kcv/main.c, vector/v.mkgrid/main.c,
+	  vector/v.mkgrid/v.mkgrid.html,
+	  vector/v.mkgrid/v_mkgrid_ppattern.png, vector/v.normal/main.c,
+	  vector/v.normal/v.normal.html, vector/v.perturb/main.c,
+	  vector/v.qcount/main.c, vector/v.qcount/v.qcount.html,
+	  vector/v.random/main.c, vector/v.random/v.random.html: manual:
+	  minor cleanup; v.mkgrid example screenshot added; keyword added
+
+2014-11-20 07:39  mmetz
+
+	* imagery/i.segment/i.segment.html: i.segment: update manual
+
+2014-11-20 04:23  annakrat
+
+	* gui/wxpython/rdigit/controller.py: rdigit: finish drawing of
+	  line/area before saving or switching tools
+
+2014-11-20 03:53  wenzeslaus
+
+	* display/d.his/d.his.html, display/d.his/main.c,
+	  raster/r.his/main.c, raster/r.his/r.his.html: d.his and r.his:
+	  use whole words in the option names rather than letters, do not
+	  repeat obvious map in option names (breaks d.shadedmap)
+
+2014-11-20 03:32  annakrat
+
+	* gui/wxpython/dbmgr/vinfo.py, gui/wxpython/mapdisp/frame.py,
+	  lib/python/script/vector.py: pythonlib/wxGUI: better error
+	  handling of vector_what
+
+2014-11-20 02:46  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix closing d.* dialog of
+	  a new layer which was removed
+
+2014-11-20 02:32  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib/script: ignore any errors
+	  from g.version which may segfault with incomplete build (see also
+	  #2351, r61589 and r62748)
+
+2014-11-19 23:02  wenzeslaus
+
+	* raster/r.grow: r.grow: move the C version of r.grow to addons as
+	  r.grow.shrink since it supports shrinking
+	  
+	  * remove C version of r.grow in release branch 7.0
+	  * see also #2368 and #1024
+	  * note: trunk and 7.0 now contains Python version of r.grow which
+	  is using r.grow.distance and does not support shrinking
+
+2014-11-19 23:00  annakrat
+
+	* raster/r.in.poly/getformat.c: r.in.poly: fix writing cell value 0
+
+2014-11-19 22:06  neteler
+
+	* vector/v.mkgrid/v.mkgrid.html: v.mkgrid manual: point pattern
+	  example added
+
+2014-11-19 16:42  huhabla
+
+	* temporal/t.rast.algebra/testsuite/test_raster_algebra.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py:
+	  temporal modules: Fixed algebra tests
+
+2014-11-19 16:41  huhabla
+
+	* lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py:
+	  temporal framework: New functions to define stds of different
+	  types in an algebra expression.
+
+2014-11-19 14:24  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix #2493 (wxgui file
+	  import wizards: all files should be defined as *)
+
+2014-11-19 05:05  annakrat
+
+	* gui/wxpython/rdigit/controller.py,
+	  gui/wxpython/rdigit/toolbars.py: wxGUI/rdigit: reflect recent
+	  changes in r.in.poly, small bugfixes including fixing drawing
+	  order, setting color table
+
+2014-11-19 04:17  annakrat
+
+	* raster/r.in.poly/testsuite,
+	  raster/r.in.poly/testsuite/test_rinpoly.py: r.in.poly: added
+	  testsuite (showing unresolved bug with labels)
+
+2014-11-19 04:15  annakrat
+
+	* raster/r.in.poly/format.h, raster/r.in.poly/get_item.c,
+	  raster/r.in.poly/getformat.c, raster/r.in.poly/local_proto.h,
+	  raster/r.in.poly/main.c, raster/r.in.poly/poly2rast.c,
+	  raster/r.in.poly/raster.c: r.in.poly: add support for FCELL,
+	  DCELL output map and fix writing zeros and nulls
+
+2014-11-18 20:05  mmetz
+
+	* lib/gis/parser_html.c: libgis: code cosmetic, sync
+	  G__usage_html() to G_usage()
+
+2014-11-18 17:56  neteler
+
+	* scripts/r.rgb/r.rgb.html, scripts/r.rgb/r_rgb_elevation.png:
+	  r.rgb: example screenshot
+
+2014-11-18 17:20  neteler
+
+	* scripts/d.vect.thematic/d.vect.thematic.html,
+	  scripts/d.vect.thematic/d_vect_thematic_equake.png:
+	  d.vect.thematic manual: earthquake screenshot added
+
+2014-11-18 16:57  martinl
+
+	* scripts/r.rgb/r.rgb.html: r.rgb: add example
+
+2014-11-18 16:52  martinl
+
+	* scripts/r.rgb/r.rgb.html, scripts/r.rgb/r.rgb.py: r.rgb:
+	  output_prefix -> basename
+
+2014-11-18 16:43  martinl
+
+	* vector/v.out.postgis/v.out.postgis.html: v.out.postgis: fix
+	  postgis topology link
+
+2014-11-18 08:44  mmetz
+
+	* imagery/i.segment/write_output.c: i.segment: fix goodness of fit
+
+2014-11-18 04:00  annakrat
+
+	* gui/wxpython/Makefile, gui/wxpython/core/render.py,
+	  gui/wxpython/gui_core/toolbars.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/mapwin/buffered.py, gui/wxpython/mapwin/graphics.py,
+	  gui/wxpython/rdigit, gui/wxpython/rdigit/__init__.py,
+	  gui/wxpython/rdigit/controller.py,
+	  gui/wxpython/rdigit/dialogs.py, gui/wxpython/rdigit/toolbars.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI: raster digitizer added,
+	  enables drawing areas, lines, points and setting buffer for
+	  individual features [news]
+
+2014-11-18 00:21  martinl
+
+	* man/grassdocs.css: manual: enlarge body
+
+2014-11-17 21:56  mmetz
+
+	* lib/gis/parser_html.c: libgis: fix G__usage_html() if no flags
+	  were defined
+
+2014-11-17 13:30  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py:
+	  temporal framework: Bugfixing and code cleanup in the temporal
+	  algebra
+
+2014-11-17 13:05  neteler
+
+	* vector/v.neighbors/v.neighbors.html: v.neighbors manual: example
+	  expanded (closes trac #2488)
+
+2014-11-17 13:02  mmetz
+
+	* lib/python/pygrass/raster/testsuite/test_category.py,
+	  lib/python/pygrass/raster/testsuite/test_history.py,
+	  lib/python/pygrass/vector/testsuite/test_vector.py: pygrass:
+	  testsuit based on basic nc data
+
+2014-11-17 11:49  mmetz
+
+	* lib/python/pygrass/vector/testsuite/test_vector.py: pygrass:
+	  testsuite vector points_of_interest does not exist in nc_spm
+
+2014-11-17 11:43  mmetz
+
+	* lib/python/pygrass/raster/testsuite/test_category.py,
+	  lib/python/pygrass/raster/testsuite/test_history.py: pygrass:
+	  testsuite raster geology does not exist in nc_spm
+
+2014-11-17 11:30  neteler
+
+	* grass.pc.in: pkg-config file: update
+
+2014-11-17 11:20  martinl
+
+	* general/g.parser/g.parser.html: g.parser: add -n to synopsis
+	  section
+
+2014-11-17 11:08  martinl
+
+	* general/g.parser/g.parser.html, tools/mkhtml.py: g.parser:
+	  generate header & footer
+
+2014-11-17 10:27  mmetz
+
+	* lib/gis/parser.c: libgis: chop options
+
+2014-11-17 08:48  lucadelu
+
+	* lib/gis/parser_html.c, man/build_keywords.py,
+	  man/build_topics.py, man/grassdocs.css: manual: cliccable topics
+	  refs, anchors for keyword page, pep8 cleanup
+
+2014-11-17 08:00  neteler
+
+	* raster/r.in.xyz/r.in.xyz.html: r.in.xyz manual: explain import of
+	  x,y,string data trick
+
+2014-11-16 12:51  martinl
+
+	* gui/wxpython/gmodeler/model.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: fix ;File -> Run model'
+
+2014-11-16 12:31  martinl
+
+	* lib/gis/parser_help.c, lib/gis/parser_html.c: libgis: document
+	  --ui flag
+
+2014-11-16 03:08  wenzeslaus
+
+	* display/d.thematic.area/d.thematic.area.html,
+	  vector/v.class/v.class.html: d.thematic.area: option is key is
+	  column not data
+
+2014-11-16 00:05  annakrat
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/nviz/mapwindow.py:
+	  wxGUI/layertree: fix weird behavior when there is a lot of layers
+	  caused by wrong CustomTreeCtrl API usage, fixed also #2257 and
+	  partially groups drag and drop problem
+
+2014-11-15 23:58  wenzeslaus
+
+	* imagery/i.cluster/i.cluster.html, imagery/i.maxlik/i.maxlik.html,
+	  imagery/i.maxlik/i_maxlik_classes.png: i.maxlik: add example
+	  image, add rejection handling suggestion, change map names (do
+	  the same for i.cluster example)
+
+2014-11-15 23:14  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: add r|v.pack a r|v.unpack to layer manager's contextual
+	  menu
+
+2014-11-15 20:41  mmetz
+
+	* general/g.version/main.c, lib/gis/token.c: libgis: fix and
+	  simplify G_tokenize()
+
+2014-11-15 20:24  mmetz
+
+	* vector/v.neighbors/main.c: v.neighbors: add messages
+
+2014-11-14 18:08  neteler
+
+	* vector/v.neighbors/main.c, vector/v.neighbors/v.neighbors.html:
+	  v.neighbors: more reasonable warnings
+
+2014-11-14 17:18  martinl
+
+	* general/g.gisenv/g.gisenv.html: g.gisenv: document store=mapset
+
+2014-11-14 16:46  martinl
+
+	* general/g.gisenv/g.gisenv.html: g.gisenv: note also wx_debug
+
+2014-11-14 16:31  martinl
+
+	* lib/init/variables.html: variables: note that on Windows the
+	  files are stored in %APPDATA%
+
+2014-11-14 15:10  neteler
+
+	* vector/v.generalize/main.c: v.generalize: check that input map
+	  contains lines
+
+2014-11-14 11:46  neteler
+
+	* vector/v.neighbors/v.neighbors.html: v.neighbors manual: example
+	  updated
+
+2014-11-14 11:37  neteler
+
+	* vector/v.neighbors/main.c: v.neighbors: more informative error
+	  message
+
+2014-11-14 04:15  annakrat
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI/menu: add r.category into
+	  Change category values and labels submenu
+
+2014-11-13 15:30  neteler
+
+	* vector/v.neighbors/v.neighbors.html: v.neighbors manual: example
+	  added
+
+2014-11-13 15:05  martinl
+
+	* scripts/d.to.rast/d.to.rast.py: d.to.rast: remove print statement
+
+2014-11-13 10:35  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: i18N: update from templates; cleanup
+
+2014-11-13 10:21  lucadelu
+
+	* gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup: improved vector
+	  input
+
+2014-11-12 16:19  neteler
+
+	* lib/cairodriver/graph.c, lib/pngdriver/graph_set.c: pngdriver,
+	  cairodriver: debug msg added
+
+2014-11-12 08:56  neteler
+
+	* raster/r.in.xyz/main.c: r.in.xyz: add keyword
+
+2014-11-12 00:19  huhabla
+
+	* temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py:
+	  temporal modules: New tests for parallel processing of
+	  t.rast.aggregate
+
+2014-11-11 23:36  huhabla
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: More
+	  tests and fixed function for the ParallelModuleQueue
+
+2014-11-11 20:55  huhabla
+
+	* lib/python/docs/src/temporal_framework.rst,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_operator.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/univar_statistics.py: temporal framework:
+	  Sphinx documentation fixes
+
+2014-11-11 20:09  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib: describe more error and
+	  fatal functions
+
+2014-11-11 15:43  zarch
+
+	* lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/testsuite/test_table.py: pygrass: Fix
+	  Table update and Column add methods, Fix test.
+
+2014-11-11 13:28  glynn
+
+	* lib/python/script/core.py: Allow control of error handling for
+	  run_command() etc
+
+2014-11-11 12:31  huhabla
+
+	* lib/python/temporal/temporal_algebra.py: temporal framework:
+	  Better error handling when enabling the temporal granularity
+	  algebra
+
+2014-11-11 12:31  huhabla
+
+	* temporal/t.rast.algebra/t.rast.algebra.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py,
+	  temporal/t.rast.extract/testsuite/test_extract.py,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.py,
+	  temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py,
+	  temporal/t.rast3d.extract/testsuite/test_extract.py: temporal
+	  modules: More tests; enabled temporal granularity algebra in
+	  t.rast3d.algebra
+
+2014-11-11 03:54  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: better cleanup
+	  handling - #2482
+
+2014-11-10 21:56  neteler
+
+	* vector/v.sample/v.sample.html: v.sample manual: example updated
+
+2014-11-10 15:29  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: handle CalledModuleError
+	  coming from checking db connection in d.vect dialog
+
+2014-11-10 07:25  hcho
+
+	* general/g.remove/g.remove.html: g.remove: Update the manual
+
+2014-11-09 14:47  mmetz
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c: r.li.edgedensity: add
+	  flag to exclude border egdes
+
+2014-11-09 14:44  mmetz
+
+	* vector/v.net/connect.c: v.net: fix #2473
+
+2014-11-09 14:40  mmetz
+
+	* lib/db/dbmi_client/start.c: dblib: no more db driver zombies in
+	  wingrass (fix #1579)
+
+2014-11-08 15:42  martinl
+
+	* gui/wxpython/gcp/manager.py: wxGUI/gcp: fix settings dialog on
+	  save method (giface defined by parent)
+
+2014-11-08 15:08  neteler
+
+	* lib/pngdriver/box.c, lib/pngdriver/color.c, lib/pngdriver/draw.c,
+	  lib/pngdriver/draw_bitmap.c, lib/pngdriver/driver.c,
+	  lib/pngdriver/erase.c, lib/pngdriver/graph_close.c,
+	  lib/pngdriver/graph_set.c, lib/pngdriver/line_width.c,
+	  lib/psdriver/draw.c: minor doxygen fixes
+
+2014-11-07 20:45  martinl
+
+	* vector/v.in.ogr/geom.c: v.in.ogr: skip polygons with no rings (do
+	  not fail)
+
+2014-11-07 16:50  martinl
+
+	* gui/wxpython/mapwin/decorations.py: wxGUI: define min size for
+	  TextLayerDialog
+
+2014-11-07 16:41  martinl
+
+	* gui/wxpython/mapwin/decorations.py: wxGUI: make TextLayerDialog
+	  resizable
+
+2014-11-07 15:13  mmetz
+
+	* vector/v.what/what.c: v.what: fix json output
+
+2014-11-07 13:54  martinl
+
+	* display/d.legend/main.c: d.legend: fix typo in module description
+
+2014-11-07 03:23  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: change GuiModuleMain
+	  implementation, calls simply main() instead of forking new
+	  process because it was not stable and not working on Windows and
+	  Mac
+
+2014-11-07 02:53  annakrat
+
+	* raster/r.param.scale/find_normal.c,
+	  raster/r.param.scale/process.c: r.param.scale: propagate NULL
+	  values instead of ignoring them - #2466
+
+2014-11-06 23:00  huhabla
+
+	* temporal/t.rast.algebra/t.rast.algebra.py,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py:
+	  temporal modules: Enabled granularity based algebra in
+	  t.rast.mapcalc and added tests
+
+2014-11-06 22:19  huhabla
+
+	* lib/python/temporal/extract.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py:
+	  temporal framework: Small fix and test header cleanup
+
+2014-11-06 22:10  annakrat
+
+	* lib/python/script/vector.py: pythonlib: fix for
+	  comment:4:ticket:2431 - object_pairs_hook not implemented in
+	  python 2.6, it's needed for using OrderedDict instead of normal
+	  dict, but vector_what will still work, only the order in which
+	  the results are presented is not defined
+
+2014-11-06 22:07  huhabla
+
+	* temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py: temporal modules:
+	  Small test modification and bugfixing
+
+2014-11-06 22:02  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: fix d.northarrow
+	  thumbnail selection widget - change of directory structure was
+	  not reflected
+
+2014-11-06 20:47  huhabla
+
+	* temporal/Makefile: temporal modules: Fixed algebra module names
+	  in Makefile
+
+2014-11-06 20:07  huhabla
+
+	* temporal/t.rast.algebra/testsuite,
+	  temporal/t.rast.algebra/testsuite/test_raster_algebra.py,
+	  temporal/t.rast3d.algebra/testsuite,
+	  temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py,
+	  temporal/t.vect.algebra/testsuite/test.t.vect.algebra.sh,
+	  temporal/t.vect.algebra/testsuite/test_vector_algebra.py:
+	  temporal modules: New temporal algebra tests
+
+2014-11-06 14:48  neteler
+
+	* temporal/Makefile: small fix for r62637
+
+2014-11-06 14:24  neteler
+
+	* imagery/i.atcorr/iwave.cpp: i.atcorr: remove duplicate entry of
+	  'worldview 2 blue'
+
+2014-11-06 14:17  huhabla
+
+	* temporal/t.rast.algebra, temporal/t.rast.algebra/Makefile,
+	  temporal/t.rast.algebra/t.rast.algebra.html,
+	  temporal/t.rast.algebra/t.rast.algebra.py,
+	  temporal/t.rast.algebra/t.rast.mapcalc2.html,
+	  temporal/t.rast.algebra/t.rast.mapcalc2.py,
+	  temporal/t.rast.algebra/test.t.rast.mapcalc2.sh,
+	  temporal/t.rast.mapcalc2, temporal/t.rast3d.algebra,
+	  temporal/t.rast3d.algebra/Makefile,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.html,
+	  temporal/t.rast3d.algebra/t.rast3d.algebra.py,
+	  temporal/t.rast3d.algebra/t.rast3d.mapcalc2.html,
+	  temporal/t.rast3d.algebra/t.rast3d.mapcalc2.py,
+	  temporal/t.rast3d.algebra/test.t.rast3d.mapcalc2.sh,
+	  temporal/t.rast3d.mapcalc2,
+	  temporal/t.vect.algebra/t.vect.algebra.html,
+	  temporal/t.vect.algebra/t.vect.algebra.py: temporal modules:
+	  Renaming of the temporal algebra modules from t.*.mapcalc2 to
+	  t.*.algebra
+
+2014-11-06 14:05  huhabla
+
+	* temporal/t.vect.algebra, temporal/t.vect.algebra/Makefile,
+	  temporal/t.vect.algebra/t.vect.algebra.html,
+	  temporal/t.vect.algebra/t.vect.algebra.py,
+	  temporal/t.vect.algebra/t.vect.mapcalc.html,
+	  temporal/t.vect.algebra/t.vect.mapcalc.py,
+	  temporal/t.vect.algebra/testsuite/test.t.vect.algebra.sh,
+	  temporal/t.vect.algebra/testsuite/test.t.vect.mapcalc.sh,
+	  temporal/t.vect.mapcalc: temporal modules: Renaming vector
+	  mapcalc module into vector algebra module
+
+2014-11-06 13:53  huhabla
+
+	* lib/python/temporal/register.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py:
+	  temporal framework: New temporal algebra functionality
+	  implemented to support granularity sampling instead of
+	  topological sampling.
+
+2014-11-06 07:59  glynn
+
+	* include/defs/gis.h: Fallback in case RELDIR not defined
+
+2014-11-06 00:06  huhabla
+
+	* lib/python/temporal/open_stds.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py:
+	  temporal framework: New temporal algebra approach implemented,
+	  that uses the common granularity of all STDS in an expression to
+	  perform map algebra. Some minor fixes and a new function to
+	  compute the common granularity for relative time.
+
+2014-11-05 20:46  martinl
+
+	* raster/r.shaded.relief/main.c: r.shaded.relief: remove
+	  non-standard output handling (default answer)
+	  more guisections
+
+2014-11-05 20:31  huhabla
+
+	* temporal/t.unregister/testsuite/test_unregister.py: temporal
+	  modules: Fixed docs and function names
+
+2014-11-05 20:30  huhabla
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.aggregate/testsuite/test.t.rast.aggregate.relative_time.sh,
+	  temporal/t.rast.aggregate/testsuite/test.t.rast.aggregate.sh,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py,
+	  temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py:
+	  temporal modules: fixed aggregation computation, converted bash
+	  tests into python tests
+
+2014-11-05 20:29  huhabla
+
+	* lib/python/temporal/register.py,
+	  lib/python/temporal/temporal_granularity.py: temporal framework:
+	  Fixed wrong granularity computation and name check befor deletion
+	  in register function.
+
+2014-11-05 20:28  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: be less verbose when
+	  changing computational region contextual menu
+
+2014-11-05 20:23  martinl
+
+	* gui/wxpython/core/utils.py: remove print statement (accidentally
+	  introduced in r62622)
+
+2014-11-05 20:19  martinl
+
+	* gui/wxpython/core/utils.py: wxGUI: catch ValueError in
+	  utils.split()
+
+2014-11-05 18:34  martinl
+
+	* raster/r.patch/main.c: r.patch: message cosmetics
+
+2014-11-05 14:06  huhabla
+
+	* temporal/t.unregister/t.unregister.html,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.unregister/testsuite/test_unregister.py: temporal
+	  modules: Improved description of t.unregister
+
+2014-11-05 13:55  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: call vector_db only with
+	  valid parameters; fixed previously ignored error coming from vnet
+	  initialization after run_command API change #2326
+
+2014-11-05 13:32  huhabla
+
+	* temporal/t.unregister/testsuite,
+	  temporal/t.unregister/testsuite/test_unregister.py: temporal
+	  modules: New test for t.unregister
+
+2014-11-05 05:07  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/frame.py: wxGUI: fix renaming map displays
+
+2014-11-05 03:53  annakrat
+
+	* gui/wxpython/gui_core/treeview.py,
+	  gui/wxpython/gui_core/widgets.py: wxGUI/search tab: fixes for
+	  wxPython 3, fixed finding and showing modules in tree
+
+2014-11-05 02:58  annakrat
+
+	* gui/wxpython/gui_core/toolbars.py: wxGUI: fix vdigit toolbar
+	  (selection arrow button) with wxPython 3
+
+2014-11-05 02:30  annakrat
+
+	* gui/wxpython/vdigit/dialogs.py: wxGUI: fix wxPython 3 related bug
+	  #2471: wxgui digitizer update categories dialog is not closable
+
+2014-11-04 16:50  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: remove extra separators
+	  between g.copy/rename/remove
+
+2014-11-04 15:48  huhabla
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py:
+	  temporal modules: Correct header comment in tests
+
+2014-11-04 15:47  huhabla
+
+	* temporal/t.rast.mapcalc2/t.rast.mapcalc2.html,
+	  temporal/t.select/t.select.html,
+	  temporal/t.vect.mapcalc/t.vect.mapcalc.html: temporal modules:
+	  New temporal algebra approach implemented by Thomas Leppelt.
+
+2014-11-04 15:45  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_operator.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_raster_operator.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/temporal_vector_operator.py,
+	  lib/python/temporal/testsuite/test_doctests.py,
+	  lib/python/temporal/testsuite/test_register_function.py,
+	  lib/python/temporal/testsuite/test_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/test_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_conditionals.py,
+	  lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py:
+	  temporal framework: New temporal algebra approach implemented by
+	  Thomas Leppelt. Additional algebra tests implemented.
+
+2014-11-04 15:03  neteler
+
+	* vector/vectorintro.html: vectorintro.html: minor fixes
+
+2014-11-04 12:22  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: fix ids for contextual
+	  menu
+	  add null/stddev to field statistics
+	  fix field statistics for DBF driver
+
+2014-11-04 07:54  mmetz
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c: r.li.edgedensity: fix
+	  edge count
+
+2014-11-03 21:29  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: implement
+	  FieldStatistics
+
+2014-11-03 19:57  mmetz
+
+	* raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.shape/main.c: r.li: fix total area: sample area
+	  without NULL cells
+
+2014-11-03 19:46  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/datacatalog: fix when
+	  destination mapset has no maps
+
+2014-11-03 16:39  annakrat
+
+	* tools/pep8config.txt, tools/pylintrc.txt: tools: add info where
+	  to place pep8 and pylint config files
+
+2014-11-03 15:27  annakrat
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI/docs: clarify misleading text
+	  about removing/renaming layers
+
+2014-11-03 15:16  annakrat
+
+	* vector/v.what/testsuite/test_vwhat_layers.py: v.what: fix test by
+	  initializing db
+
+2014-11-03 09:56  neteler
+
+	* raster/Makefile, raster/r.bitpattern: r.bitpattern moved to
+	  Addons in r62568
+
+2014-11-03 05:32  wenzeslaus
+
+	* gui/wxpython/vdigit/g.gui.vdigit.py,
+	  lib/python/exceptions/__init__.py, lib/python/script/array.py,
+	  lib/python/script/core.py, lib/python/script/db.py,
+	  lib/python/script/raster.py, lib/python/script/raster3d.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py,
+	  scripts/g.extension.all/g.extension.all.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.in.srtm/r.in.srtm.py, scripts/r.in.wms/wms_base.py,
+	  scripts/r.mask/r.mask.py, scripts/r.out.xyz/r.out.xyz.py,
+	  scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.build.all/v.build.all.py,
+	  scripts/v.convert.all/v.convert.all.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droprow/v.db.droprow.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.gps/v.in.gps.py, scripts/v.in.mapgen/v.in.mapgen.py,
+	  scripts/v.in.wfs/v.in.wfs.py, scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.to.lines/v.to.lines.py, scripts/v.unpack/v.unpack.py,
+	  scripts/v.what.vect/v.what.vect.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: pythonlib: raise
+	  exceptions from run_command and others (#2326)
+	  
+	  * run_command and write_command are raising exception instead of
+	  returning subprocess retrun code
+	  * read_command is raising instead of being silent in case of
+	  error (same for parse_command)
+	  * code using/checking return code changed to try-except, rest
+	  left as it was
+	  * basic functions in GUI and tests are running
+
+2014-11-02 23:42  annakrat
+
+	* temporal/t.vect.what.strds/t.vect.what.strds.py: temporal: fix
+	  g.remove call
+
+2014-11-02 23:05  annakrat
+
+	* gui/wxpython/vnet/widgets.py: wxGUI/vnet: fix encoding problem
+	  with French locale
+
+2014-11-02 23:05  hellik
+
+	* lib/python/pygrass/messages/__init__.py:
+	  pygrass/messages/__init__.py: fix typo
+
+2014-11-02 22:25  neteler
+
+	* gui/wxpython/xml/toolboxes.xml, raster/Makefile,
+	  raster/r.stream.channel, raster/r.stream.distance,
+	  raster/r.stream.extract/r.stream.extract.html,
+	  raster/r.stream.order, raster/r.stream.segment,
+	  raster/r.stream.slope, raster/r.stream.snap,
+	  raster/r.stream.stats: selected r.stream modules: removed
+	  r.stream.channel, r.stream.distance, r.stream.order,
+	  r.stream.segment, r.stream.slope, r.stream.snap, r.stream.stats
+	  as moved back to Addons (r62511 and r62512)
+
+2014-11-02 20:52  neteler
+
+	* TODO, doc/projectionintro.html, gui/wxpython/gcp/g.gui.gcp.html,
+	  gui/wxpython/gcp/g.gui.gcp.py, imagery/i.group/i.group.html,
+	  imagery/i.ortho.photo/lib/TODO, imagery/i.points,
+	  imagery/i.rectify/main.c, imagery/i.target/i.target.html,
+	  imagery/i.vpoints, imagery/imageryintro.html,
+	  lib/imagery/group.c, lib/imagery/imagerylib.dox,
+	  lib/imagery/target.c, misc/m.transform/m.transform.html,
+	  scripts/g.extension/g.extension.html, tools/dep_tree2sql.sh,
+	  vector/v.rectify/main.c, vector/v.rectify/v.rectify.html,
+	  vector/v.transform/v.transform.html: unused i.points + i.vpoints
+	  removed: replaced by g.gui.gcp
+
+2014-11-02 20:07  neteler
+
+	* doc/vector/v.modules.html, doc/vector/vector.html: outdated docs
+	  removed
+
+2014-11-02 19:46  neteler
+
+	* vector/v.mapcalc: v.mapcalc: moved to Addons
+
+2014-11-02 19:19  neteler
+
+	* include/Make/Doxyfile_arch_latex.in: Doxyfile_arch_latex.in:
+	  merge updates from Doxyfile_arch_html.in
+
+2014-11-02 16:34  neteler
+
+	* gui/wxpython/xml/toolboxes.xml: fix toolbox (bug introduced in
+	  r62539, trac #2470)
+
+2014-11-02 13:58  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix zoom to saved
+	  region, broken by r61356
+
+2014-11-02 10:54  neteler
+
+	* grasslib.dox, gui/wxpython/xml/toolboxes.xml, raster/Makefile,
+	  raster/r.le, raster/r.li/r.li.html: r.le suite (r.le.setup,
+	  r.le.trace, r.le.pixel, r.le.patch) moved to Addons
+
+2014-11-02 04:47  wenzeslaus
+
+	* gui/wxpython/docs/wxgui_sphinx/Makefile,
+	  lib/python/docs/Makefile: sphinx: do not build API documentation
+	  for standalone program internals (removes messages from
+	  documentation build and empty sections from HTML)
+
+2014-11-02 04:45  wenzeslaus
+
+	* gui/wxpython/docs/wxgui_sphinx/Makefile,
+	  lib/python/docs/Makefile, lib/python/exceptions/__init__.py,
+	  lib/python/script/core.py, scripts/g.extension/g.extension.py,
+	  scripts/r.grow/r.grow.py: revert r62535 (accidental commit of
+	  whole tree)
+
+2014-11-02 04:42  wenzeslaus
+
+	* gui/wxpython/docs/wxgui_sphinx/Makefile,
+	  lib/python/docs/Makefile, lib/python/exceptions/__init__.py,
+	  lib/python/script/core.py, scripts/g.extension/g.extension.py,
+	  scripts/r.grow/r.grow.py: sphinx: do not build API documentation
+	  for standalone program internals (removes messages from
+	  documentation build and empty sections from HTML)
+
+2014-11-02 00:06  neteler
+
+	* grasslib.dox: grasslib.dox: some updates
+
+2014-11-01 19:57  neteler
+
+	* gui/wxpython/xml/toolboxes.xml, raster/Makefile, raster/r.in.arc,
+	  raster/r.in.ascii/r.in.ascii.html, raster/r.in.bin/r.in.bin.html,
+	  raster/r.in.gdal/r.in.gdal.html, raster/r.out.arc,
+	  raster/r.out.ascii/r.out.ascii.html,
+	  raster/r.out.bin/r.out.bin.html,
+	  raster/r.out.gdal/r.out.gdal.html,
+	  raster/r.out.png/r.out.png.html, raster/r.out.ppm/r.out.ppm.html,
+	  raster/r.out.tiff: r.in.arc, r.out.arc, r.out.tiff modules moved
+	  to Addons
+
+2014-11-01 18:35  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: d.to.rast: use r.in.gdal instead
+	  of r.in.png in case r.in.png is removed
+
+2014-11-01 17:00  neteler
+
+	* include/vect/dig_structs.h, lib/cairodriver/box.c,
+	  lib/cairodriver/color.c, lib/cairodriver/draw.c,
+	  lib/cairodriver/draw_bitmap.c, lib/cairodriver/driver.c,
+	  lib/cairodriver/erase.c, lib/cairodriver/graph.c,
+	  lib/cairodriver/line_width.c, lib/cairodriver/raster.c,
+	  lib/cairodriver/read_bmp.c, lib/cairodriver/set_window.c,
+	  lib/cairodriver/text.c, lib/cairodriver/write.c,
+	  lib/cairodriver/write_bmp.c, lib/cairodriver/write_ppm.c,
+	  lib/ogsf/gk.c, lib/ogsf/gk2.c, lib/ogsf/gp2.c, lib/ogsf/gp3.c,
+	  lib/ogsf/gs.c, lib/ogsf/gs2.c, lib/ogsf/gs3.c, lib/ogsf/gs_bm.c,
+	  lib/ogsf/gs_norms.c, lib/ogsf/gs_query.c, lib/ogsf/gs_util.c,
+	  lib/ogsf/gsd_cplane.c, lib/ogsf/gsd_fonts.c,
+	  lib/ogsf/gsd_fringe.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c, lib/ogsf/gsd_label.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c, lib/ogsf/gsd_prim.c,
+	  lib/ogsf/gsd_surf.c, lib/ogsf/gsd_views.c, lib/ogsf/gsd_wire.c,
+	  lib/ogsf/gsdiff.c, lib/ogsf/gsdrape.c, lib/ogsf/gsds.c,
+	  lib/ogsf/gsget.c, lib/ogsf/gsx.c, lib/ogsf/gv2.c, lib/ogsf/gv3.c,
+	  lib/ogsf/gv_quick.c, lib/ogsf/gvl.c, lib/ogsf/gvl2.c,
+	  lib/ogsf/gvl3.c, lib/ogsf/gvl_calc.c, lib/ogsf/gvl_calc2.c,
+	  lib/ogsf/gvl_file.c, lib/ogsf/gvld.c, lib/ogsf/mc33_table.h,
+	  lib/ogsf/ogsflib.dox, lib/ogsf/trans.c, lib/pngdriver/box.c,
+	  lib/pngdriver/color.c, lib/pngdriver/draw.c,
+	  lib/pngdriver/draw_bitmap.c, lib/pngdriver/driver.c,
+	  lib/pngdriver/erase.c, lib/pngdriver/graph_close.c,
+	  lib/pngdriver/graph_set.c, lib/pngdriver/line_width.c,
+	  lib/pngdriver/pngdriver.h, lib/pngdriver/pngdriverlib.dox,
+	  lib/pngdriver/point.c, lib/pngdriver/polygon.c,
+	  lib/pngdriver/raster.c, lib/pngdriver/read.c,
+	  lib/pngdriver/read_bmp.c, lib/pngdriver/read_png.c,
+	  lib/pngdriver/read_ppm.c, lib/pngdriver/set_window.c,
+	  lib/pngdriver/write.c, lib/pngdriver/write_bmp.c,
+	  lib/pngdriver/write_png.c, lib/pngdriver/write_ppm.c,
+	  lib/vector/Vlib/net_analyze.c, lib/vector/Vlib/net_build.c: minor
+	  doxygen fixes
+
+2014-11-01 16:47  annakrat
+
+	* raster/r.recode/read_rules.c: r.recode: fix #2053 - change input
+	  type to be always double
+
+2014-11-01 10:07  neteler
+
+	* imagery/i.gensig/i.gensig.html,
+	  imagery/i.gensigset/i.gensigset.html, imagery/i.ifft/i.ifft.html,
+	  raster/r.digit, raster/r.in.poly/r.in.poly.html,
+	  raster/r.le/r.le.setup/r.le.setup.html: cleanup of unused r.digit
+
+2014-10-31 23:48  neteler
+
+	* general/g.pnmcat: cleanup of unused g.pnmcat
+
+2014-10-31 23:17  neteler
+
+	* display/Makefile, display/d.colorlist/d.colorlist.html,
+	  display/d.colors, display/d.measure, display/d.what.rast,
+	  display/d.what.vect, display/d.zoom,
+	  general/g.region/g.region.html,
+	  raster/r.category/r.category.html, raster/r.his/r.his.html,
+	  scripts/i.spectral/i.spectral.html, tools/dep_tree2sql.sh,
+	  vector/v.lrs/v.lrs.where/v.lrs.where.html: cleanup of unused
+	  display modules (d.colors, d.measure, d.what.rast, d.what.vect,
+	  d.zoom
+
+2014-10-31 21:57  annakrat
+
+	* general/g.region/main.c: g.region: add G_option_required so that
+	  g.region without options starts dialog
+
+2014-10-31 15:20  annakrat
+
+	* raster/r.recode/testsuite,
+	  raster/r.recode/testsuite/test_rrecode_ncspm.py: r.recode: add
+	  testsuite
+
+2014-10-31 14:58  neteler
+
+	* imagery/i.modis.qc/main.c, imagery/i.modis.qc/mod09CMGa.c:
+	  i.modis.qc: comment unproductive flag checking for MOD09CMG
+
+2014-10-31 10:41  lucadelu
+
+	* lib/python/pygrass/vector/table.py: pygrass table: fix update
+	  function
+
+2014-10-31 08:46  mmetz
+
+	* vector/v.category/main.c: v.category: improve option description
+
+2014-10-31 01:59  annakrat
+
+	* gui/wxpython/psmap/dialogs.py: wxGUI/psmap: move AddGrowable
+	  after adding items for wxPython 3
+
+2014-10-31 01:26  annakrat
+
+	* gui/wxpython/modules/colorrules.py: wxGUI: AddGrowableRow must be
+	  after adding rows for wxPython 3
+
+2014-10-30 10:10  martinl
+
+	* imagery/i.fft/i.fft.html, imagery/i.ifft/i.ifft.html,
+	  imagery/i.maxlik/i.maxlik.html, imagery/i.maxlik/main.c: manual:
+	  replace i.class by g.gui.iclass
+
+2014-10-30 08:12  zarch
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: Fix perimeter
+	  method for areas and isles
+
+2014-10-29 21:38  mmetz
+
+	* lib/segment/init.c, lib/segment/open.c, lib/segment/pageout.c:
+	  libsegment: improve error handling
+
+2014-10-29 14:44  annakrat
+
+	* ps/ps.map/ps_vpoints.c: ps.map: fix uninitialized pointer found
+	  by coverity scan
+
+2014-10-29 14:27  annakrat
+
+	* raster/r.viewshed/grass.cpp: r.viewshed: fix small memory leak
+	  reported by coverity
+
+2014-10-29 10:59  neteler
+
+	* imagery/i.eb.hsebal01/main.c: i.eb.hsebal01: source code
+	  indenting with grass_indent.sh
+
+2014-10-29 06:17  zarch
+
+	* raster/r.horizon/main.c: r.horizon: Remove -Wunused-variable
+	  warnings
+
+2014-10-29 03:36  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, lib/python/script/vector.py,
+	  vector/v.what/main.c, vector/v.what/testsuite/data/table1.csv,
+	  vector/v.what/testsuite/test_vwhat_layers.py,
+	  vector/v.what/testsuite/test_vwhat_ncspm.py,
+	  vector/v.what/what.c, vector/v.what/what.h: v.what: add json
+	  format to simplify parsing output and thus to fix #2431
+
+2014-10-29 02:24  ychemin
+
+	* imagery/i.eb.hsebal01/main.c: fixed logic for input wet/dry
+	  pixels coordinates, flag2 and flag3
+
+2014-10-29 00:42  annakrat
+
+	* raster/r.viewshed/grass.cpp, raster/r.viewshed/grass.h,
+	  raster/r.viewshed/visibility.cpp: r.viewshed: fix #1788
+	  (r.viewshed binary flag (-b) not working correctly)
+
+2014-10-29 00:27  annakrat
+
+	* general/g.mapset/main.c, general/g.mapsets/main.c,
+	  raster/r.spread/main.c, raster/r.sun/main.c,
+	  raster3d/r3.in.bin/main.c, raster3d/r3.out.bin/main.c,
+	  vector/v.distance/main.c: fix gui layout of modules which had
+	  defined guisections but are required at the same time; v.distance
+	  now doesn't require dummy column when printing to stdout
+
+2014-10-28 23:47  martinl
+
+	* imagery/i.class: remove obsolete i.class
+
+2014-10-28 23:40  lucadelu
+
+	* raster/r.li/r.li.setup: r.li.setup: removed because obsolete
+
+2014-10-28 23:06  martinl
+
+	* vector/v.to.rast/raster.c: v.to.rast: fix debug level
+
+2014-10-28 22:09  martinl
+
+	* lib/python/script/db.py, scripts/v.unpack/v.unpack.py: v.unpack:
+	  fix when default DB connection is not set
+
+2014-10-28 19:33  hcho
+
+	* lib/gis/legal_name.c: G_legal_filename: Update a warning message
+	  to be more correct
+
+2014-10-28 19:26  hcho
+
+	* general/g.list/main.c, general/g.remove/main.c: g.list/g.remove:
+	  Add -i flag for case-insensitive search
+
+2014-10-28 19:24  hcho
+
+	* include/defs/gis.h, lib/gis/ls_filter.c: G_ls_*_filter: Add
+	  case-insensitive option to the ls filters
+
+2014-10-28 15:57  ychemin
+
+	* imagery/i.eb.hsebal01/main.c: fixed a bunch of variables not set
+
+2014-10-28 15:36  glynn
+
+	* include/Make/Compile.make, include/defs/gis.h: Include directory
+	  in filenames for allocation failure errors
+
+2014-10-28 14:29  ychemin
+
+	* imagery/i.eb.hsebal01/main.c: fixed logic for input wet/dry
+	  pixels coordinates, flag2 and flag3
+
+2014-10-28 13:50  martinl
+
+	* lib/cairodriver/raster.c: libcairo: improve error message when
+	  unable to create surface
+
+2014-10-28 13:30  martinl
+
+	* lib/driver/Box.c, lib/driver/Color.c, lib/driver/Draw.c,
+	  lib/driver/Erase.c, lib/driver/Font.c, lib/driver/Get_t_box.c,
+	  lib/driver/Graph.c, lib/driver/Line_width.c, lib/driver/Move.c,
+	  lib/driver/Raster.c, lib/driver/Set_window.c, lib/driver/Text.c,
+	  lib/driver/Text_size.c, lib/driver/box.c, lib/driver/color.c,
+	  lib/driver/draw.c, lib/driver/erase.c, lib/driver/font.c,
+	  lib/driver/get_t_box.c, lib/driver/graph.c,
+	  lib/driver/line_width.c, lib/driver/move.c, lib/driver/raster.c,
+	  lib/driver/set_window.c, lib/driver/text.c,
+	  lib/driver/text_size.c, lib/gpde/N_arrays.c,
+	  lib/gpde/N_arrays_calc.c, lib/gpde/N_arrays_io.c,
+	  lib/gpde/N_geom.c, lib/gpde/N_gradient.c,
+	  lib/gpde/N_gradient_calc.c, lib/gpde/N_gwflow.c,
+	  lib/gpde/N_heatflow.c, lib/gpde/N_les.c,
+	  lib/gpde/N_les_assemble.c, lib/gpde/N_parse_options.c,
+	  lib/gpde/N_solute_transport.c, lib/gpde/N_tools.c,
+	  lib/gpde/N_upwind.c, lib/gpde/n_arrays.c,
+	  lib/gpde/n_arrays_calc.c, lib/gpde/n_arrays_io.c,
+	  lib/gpde/n_geom.c, lib/gpde/n_gradient.c,
+	  lib/gpde/n_gradient_calc.c, lib/gpde/n_gwflow.c,
+	  lib/gpde/n_heatflow.c, lib/gpde/n_les.c,
+	  lib/gpde/n_les_assemble.c, lib/gpde/n_parse_options.c,
+	  lib/gpde/n_solute_transport.c, lib/gpde/n_tools.c,
+	  lib/gpde/n_upwind.c, lib/ogsf/GK2.c, lib/ogsf/GP2.c,
+	  lib/ogsf/GS2.c, lib/ogsf/GSX.c, lib/ogsf/GS_util.c,
+	  lib/ogsf/GV2.c, lib/ogsf/GVL2.c, lib/ogsf/Gp3.c, lib/ogsf/Gs3.c,
+	  lib/ogsf/Gv3.c, lib/ogsf/Gvl3.c, lib/ogsf/gk2.c, lib/ogsf/gp2.c,
+	  lib/ogsf/gp3.c, lib/ogsf/gs2.c, lib/ogsf/gs3.c,
+	  lib/ogsf/gs_util.c, lib/ogsf/gsx.c, lib/ogsf/gv2.c,
+	  lib/ogsf/gv3.c, lib/ogsf/gvl2.c, lib/ogsf/gvl3.c: lib: rename
+	  files to lowercase
+
+2014-10-28 13:23  martinl
+
+	* lib/htmldriver/README, lib/htmldriver/readme: fix r62431, revert
+	  renaming for README
+
+2014-10-28 13:17  martinl
+
+	* lib/cairodriver/Makefile, lib/cairodriver/makefile,
+	  lib/htmldriver/Makefile, lib/htmldriver/makefile,
+	  lib/pngdriver/Makefile, lib/pngdriver/makefile,
+	  lib/psdriver/Makefile, lib/psdriver/makefile: fix r62431, revert
+	  renaming for Makefiles
+
+2014-10-28 13:15  martinl
+
+	* lib/cairodriver/Box.c, lib/cairodriver/Color.c,
+	  lib/cairodriver/Draw.c, lib/cairodriver/Draw_bitmap.c,
+	  lib/cairodriver/Driver.c, lib/cairodriver/Erase.c,
+	  lib/cairodriver/Graph.c, lib/cairodriver/Line_width.c,
+	  lib/cairodriver/Makefile, lib/cairodriver/Raster.c,
+	  lib/cairodriver/Set_window.c, lib/cairodriver/Text.c,
+	  lib/cairodriver/box.c, lib/cairodriver/color.c,
+	  lib/cairodriver/draw.c, lib/cairodriver/draw_bitmap.c,
+	  lib/cairodriver/driver.c, lib/cairodriver/erase.c,
+	  lib/cairodriver/graph.c, lib/cairodriver/line_width.c,
+	  lib/cairodriver/makefile, lib/cairodriver/raster.c,
+	  lib/cairodriver/set_window.c, lib/cairodriver/text.c,
+	  lib/htmldriver/Box.c, lib/htmldriver/Draw.c,
+	  lib/htmldriver/Driver.c, lib/htmldriver/Graph_Clse.c,
+	  lib/htmldriver/Graph_Set.c, lib/htmldriver/Makefile,
+	  lib/htmldriver/Polygon.c, lib/htmldriver/README,
+	  lib/htmldriver/Text.c, lib/htmldriver/box.c,
+	  lib/htmldriver/draw.c, lib/htmldriver/driver.c,
+	  lib/htmldriver/graph_clse.c, lib/htmldriver/graph_set.c,
+	  lib/htmldriver/makefile, lib/htmldriver/polygon.c,
+	  lib/htmldriver/readme, lib/htmldriver/text.c,
+	  lib/pngdriver/Box.c, lib/pngdriver/Color.c,
+	  lib/pngdriver/Color_table.c, lib/pngdriver/Draw.c,
+	  lib/pngdriver/Draw_bitmap.c, lib/pngdriver/Draw_line.c,
+	  lib/pngdriver/Draw_point.c, lib/pngdriver/Driver.c,
+	  lib/pngdriver/Erase.c, lib/pngdriver/Graph_close.c,
+	  lib/pngdriver/Graph_set.c, lib/pngdriver/Line_width.c,
+	  lib/pngdriver/Makefile, lib/pngdriver/Point.c,
+	  lib/pngdriver/Polygon.c, lib/pngdriver/Raster.c,
+	  lib/pngdriver/Set_window.c, lib/pngdriver/box.c,
+	  lib/pngdriver/color.c, lib/pngdriver/color_table.c,
+	  lib/pngdriver/draw.c, lib/pngdriver/draw_bitmap.c,
+	  lib/pngdriver/draw_line.c, lib/pngdriver/draw_point.c,
+	  lib/pngdriver/driver.c, lib/pngdriver/erase.c,
+	  lib/pngdriver/graph_close.c, lib/pngdriver/graph_set.c,
+	  lib/pngdriver/line_width.c, lib/pngdriver/makefile,
+	  lib/pngdriver/point.c, lib/pngdriver/polygon.c,
+	  lib/pngdriver/raster.c, lib/pngdriver/set_window.c,
+	  lib/psdriver/Box.c, lib/psdriver/Color.c, lib/psdriver/Draw.c,
+	  lib/psdriver/Draw_bitmap.c, lib/psdriver/Driver.c,
+	  lib/psdriver/Erase.c, lib/psdriver/Graph_close.c,
+	  lib/psdriver/Graph_set.c, lib/psdriver/Line_width.c,
+	  lib/psdriver/Makefile, lib/psdriver/Raster.c,
+	  lib/psdriver/Set_window.c, lib/psdriver/box.c,
+	  lib/psdriver/color.c, lib/psdriver/draw.c,
+	  lib/psdriver/draw_bitmap.c, lib/psdriver/driver.c,
+	  lib/psdriver/erase.c, lib/psdriver/graph_close.c,
+	  lib/psdriver/graph_set.c, lib/psdriver/line_width.c,
+	  lib/psdriver/makefile, lib/psdriver/raster.c,
+	  lib/psdriver/set_window.c: display drivers, rename files to
+	  lowercase
+
+2014-10-28 08:05  mmetz
+
+	* lib/segment/format.c: libsegment: improve messages on write
+	  failure
+
+2014-10-28 07:40  mmetz
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/raster.c, vector/v.to.rast/vect2rast.c:
+	  v.to.rast: replace custom cell type with raster cell type; use
+	  size_t
+
+2014-10-27 22:29  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: enlarge buffer to avoid
+	  segfault on long text attributes
+
+2014-10-27 19:43  martinl
+
+	* lib/init/grass.py, lib/init/grass7.html: grass.py: support
+	  datum_trans when creating new location based on EPSG code
+
+2014-10-27 17:15  martinl
+
+	* display/d.barscale/thumbnails/README, display/d.mon/main.c,
+	  display/d.mon/start.c, general/g.cairocomp/main.c,
+	  gui/scripts/d.wms.py, gui/wxpython/animation/provider.py,
+	  gui/wxpython/core/render.py, gui/wxpython/core/ws.py,
+	  lib/cairodriver/Graph.c, lib/cairodriver/cairodriver.html,
+	  lib/display/r_raster.c, lib/driver/init.c,
+	  lib/htmldriver/Graph_Set.c, lib/htmldriver/README,
+	  lib/htmldriver/htmldriver.html, lib/init/grass.py,
+	  lib/init/variables.html, lib/pngdriver/Graph_set.c,
+	  lib/pngdriver/pngdriver.html, lib/pngdriver/write_png.c,
+	  lib/psdriver/Graph_set.c, lib/psdriver/psdriver.html,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ro.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  raster/r.out.ppm/r.out.ppm.html,
+	  scripts/d.correlate/d.correlate.py, scripts/d.polar/d.polar.py,
+	  scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/d.vect.thematic/d.vect.thematic.py,
+	  scripts/wxpyimgview/wxpyimgview.html, tools/thumbnails.py,
+	  visualization/wximgview/wximgview.html,
+	  visualization/ximgview/ximgview.html: consolidate naming of
+	  environmental rendering-related variables
+
+2014-10-27 17:10  hcho
+
+	* general/g.remove/g.remove.html, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iscatt/iscatt_core.py,
+	  gui/wxpython/lmgr/datacatalog.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/vnet/vnet_core.py, gui/wxpython/vnet/vnet_data.py,
+	  lib/gpde/test/test_arrays.c, lib/python/gunittest/case.py,
+	  lib/python/gunittest/testsuite/test_assertions_rast3d.py,
+	  lib/python/gunittest/testsuite/test_assertions_vect.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/raster/testsuite/test_raster.py,
+	  lib/python/pygrass/utils.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py,
+	  lib/python/script/core.py, lib/python/script/db.py,
+	  lib/python/script/raster.py, lib/python/script/raster3d.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/testsuite/test_register_function.py,
+	  raster/r.category/test_rcategory_doctest.txt,
+	  raster/r.li/r.li.setup/masked_area_selection.sh,
+	  raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.mapcalc/testsuite/const_map_test.sh,
+	  raster/r.mapcalc/testsuite/test_r3_mapcalc.py,
+	  raster/r.mapcalc/testsuite/test_r_mapcalc.py,
+	  raster/r.slope.aspect/testsuite/test_r_slope_aspect.py,
+	  raster/r.viewshed/testsuite/test_r_viewshed.py,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/simwe/r.sim.water/spearfish.sh,
+	  raster3d/r3.flow/testsuite/r3flow_test.py,
+	  raster3d/r3.gradient/testsuite/r3gradient_test.py,
+	  raster3d/r3.out.netcdf/test_suite/test.r3.out.netcdf.sh,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.in.wms/wms_base.py, scripts/r.mask/r.mask.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.unpack/test_suite/test.r.unpack.sh,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.to.lines/v.to.lines.py,
+	  scripts/v.unpack/test_suite/test.v.unpack.sh,
+	  scripts/v.unpack/v.unpack.py,
+	  temporal/t.merge/testsuite/test.t.merge.sh,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/t.rast.import/test.t.rast.import.relative.sh,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.import/test.t.rast.import_locations.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/test.t.rast.series.sh,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.register/test.t.register.vector.file.layer.sh,
+	  temporal/t.register/test.t.register.vector.sh,
+	  temporal/t.remove/t.remove.py,
+	  temporal/t.rename/test.t.rename.sh,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.layer.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.sh,
+	  temporal/t.vect.import/testsuite/test.t.vect.import.sh,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.layer_bug.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.relative.sh,
+	  temporal/t.vect.univar/testsuite/test.t.vect.univar.sh,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.layer.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds_relative.sh,
+	  testsuite/raster/raster_md5test.sh,
+	  testsuite/raster/rhemisphere.sh, tools/thumbnails.py,
+	  vector/v.distance/v.distance.html,
+	  vector/v.lrs/v.lrs.create/v.lrs.create.html,
+	  vector/v.what/testsuite/test_vwhat_layers.py: Rename g.remove's
+	  names= to name= and use name= instead of pattern= as needed
+
+2014-10-27 15:40  hcho
+
+	* general/g.remove/construct_pattern.c, general/g.remove/main.c:
+	  g.remove: Rename names= to name=
+
+2014-10-27 15:35  neteler
+
+	* raster/r.ros/r.ros.html, raster/r.spread/r.spread.html,
+	  raster/r.spreadpath/r.spreadpath.html, raster/wildfire: wildfire
+	  manual: cleanup
+
+2014-10-27 14:57  annakrat
+
+	* scripts/Makefile: d.what.rast/vect: forgot to activate modules in
+	  Makefile
+
+2014-10-27 08:19  neteler
+
+	* imagery/i.atcorr/aerosolmodel.cpp, raster/r.contour/cont.c,
+	  raster/r.sunmask/main.c, raster/simwe/r.sim.sediment/main.c:
+	  Fixes for Coverity Scan: UNINTENDED_INTEGER_DIVISION (proposed by
+	  Glynn)
+
+2014-10-27 01:39  hcho
+
+	* general/g.remove/construct_pattern.c: g.remove: Add ctype.h
+
+2014-10-27 01:39  annakrat
+
+	* general/g.remove/main.c: g.remove: reorganize guisections, to
+	  better reflect the typical usage
+
+2014-10-27 01:36  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: guisection is
+	  preferred to requiredwhen organizing options into tab, also red
+	  star added to required options to better distiguish them
+
+2014-10-27 01:33  hcho
+
+	* general/g.remove/construct_pattern.c: g.remove: Escape special
+	  characters in names= and ignore=
+
+2014-10-27 01:14  hcho
+
+	* lib/gis/ls_filter.c: wc2regex: Fix backslash escape
+
+2014-10-27 01:06  hcho
+
+	* lib/gis/ls_filter.c: wc2regex: Fix a segmentation fault
+
+2014-10-27 00:24  hcho
+
+	* general/g.list/main.c: g.list: Remove new element gisprompts from
+	  pattern and exclude because they are strings, not element names
+
+2014-10-26 20:27  mmetz
+
+	* lib/vector/Vlib/open.c: Vlib: sync messages
+
+2014-10-26 20:23  mmetz
+
+	* lib/vector/Vlib/legal_vname.c: Vlib: fix r12350, sync
+	  Vect_check_input_output_name() to Vect_open_new()
+
+2014-10-26 17:18  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py: pygrass:
+	  fix other import after functions has been renamed
+
+2014-10-26 17:00  zarch
+
+	* lib/python/pygrass/Makefile, lib/python/pygrass/functions.py,
+	  lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/grid/patch.py,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/typedict.py,
+	  lib/python/pygrass/testsuite/test_doctests.py,
+	  lib/python/pygrass/utils.py: pygrass: rename functions to utils
+
+2014-10-24 15:04  neteler
+
+	* raster/r.horizon/r.horizon.html, raster/r.sun/r.sun.html: manual
+	  cosmetics
+
+2014-10-24 12:56  zarch
+
+	* lib/python/pygrass/messages/__init__.py: pygrass: avoid to call
+	  libgis.G_gisinit('') in messages
+
+2014-10-24 11:13  neteler
+
+	* temporal/t.connect/t.connect.html,
+	  temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.list/t.list.html, temporal/t.merge/t.merge.html,
+	  temporal/t.rast.accdetect/t.rast.accdetect.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.colors/t.rast.colors.html,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.html,
+	  temporal/t.rast.series/t.rast.series.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.rast3d.extract/t.rast3d.extract.html,
+	  temporal/t.rast3d.list/t.rast3d.list.html,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html,
+	  temporal/t.rast3d.mapcalc2/t.rast3d.mapcalc2.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.html,
+	  temporal/t.register/t.register.html,
+	  temporal/t.rename/t.rename.html, temporal/t.sample/t.sample.html,
+	  temporal/t.select/t.select.html, temporal/t.shift/t.shift.html,
+	  temporal/t.snap/t.snap.html, temporal/t.support/t.support.html,
+	  temporal/t.topology/t.topology.html,
+	  temporal/t.unregister/t.unregister.html,
+	  temporal/t.vect.db.select/t.vect.db.select.html,
+	  temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.extract/t.vect.extract.html,
+	  temporal/t.vect.import/t.vect.import.html,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.mapcalc/t.vect.mapcalc.html,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.html,
+	  temporal/t.vect.univar/t.vect.univar.html,
+	  temporal/t.vect.what.strds/t.vect.what.strds.html,
+	  temporal/temporalintro.html: t.* temporal manual: some HTML
+	  cleanup; example stubs added
+
+2014-10-24 09:50  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: back to
+	  a pickable Module instance
+
+2014-10-24 07:30  mmetz
+
+	* include/segment.h, lib/segment/address.c, lib/segment/flush.c,
+	  lib/segment/get.c, lib/segment/get_row.c, lib/segment/init.c,
+	  lib/segment/local_proto.h, lib/segment/pagein.c,
+	  lib/segment/pageout.c, lib/segment/put.c, lib/segment/put_row.c,
+	  lib/segment/seek.c, lib/segment/setup.c: libsegment: fix r62324,
+	  separate internal and external functions
+
+2014-10-24 07:01  mmetz
+
+	* lib/vector/Vlib/read.c: Vlib: fix r55582, restore behaviour of
+	  Vect_*_alive() fns
+
+2014-10-23 20:14  annakrat
+
+	* include/gis.h: change default separator to one underscore
+
+2014-10-23 00:37  wenzeslaus
+
+	* lib/python/docs/src/gunittest_running_tests.rst: testing: remove
+	  note about specific test server (introduced in r62358)
+	  
+	  The documentation does not document specific how tests are
+	  executed at specific machine but it is a general description how
+	  things works. The file contains example how to set up a cron job
+	  using a (example) shell script which wraps several steps
+	  together. There can (and should) be (any) number of machines
+	  running the test and different other checks besides the fact that
+	  developers should run the tests on their machines before the
+	  commit for example using a script similar to one provided.
+
+2014-10-22 16:50  huhabla
+
+	* lib/python/temporal/temporal_granularity.py: temporal framework:
+	  Method for common granule computation implemented
+
+2014-10-22 16:03  martinl
+
+	* lib/vector/Vlib/write_pg.c: fix #2436 (v.out.postgis: Unsupported
+	  geometry type / Unable to write feature in vector map)
+
+2014-10-22 14:25  neteler
+
+	* lib/python/pydispatch/__init__.py: pydispatch docs: added
+	  minimalistic intro (from Vaclav email 2013)
+
+2014-10-22 13:56  neteler
+
+	* lib/python/docs/src/gunittest_running_tests.rst,
+	  lib/python/docs/src/index.rst,
+	  lib/python/docs/src/pygrass_vector.rst,
+	  lib/python/docs/src/temporal_framework.rst,
+	  lib/python/exceptions/__init__.py, lib/python/gunittest/Makefile,
+	  lib/python/gunittest/__init__.py, lib/python/gunittest/case.py,
+	  lib/python/gunittest/checkers.py,
+	  lib/python/gunittest/gmodules.py, lib/python/gunittest/gutils.py,
+	  lib/python/gunittest/invoker.py, lib/python/gunittest/loader.py,
+	  lib/python/gunittest/main.py,
+	  lib/python/gunittest/multireport.py,
+	  lib/python/gunittest/multirunner.py,
+	  lib/python/gunittest/reporters.py,
+	  lib/python/gunittest/runner.py, lib/python/gunittest/utils.py,
+	  lib/python/script/__init__.py: python docs: documentation
+	  improved
+
+2014-10-22 13:12  martinl
+
+	* vector/v.select/main.c, vector/v.select/proto.h,
+	  vector/v.select/select.c: v.select: print info about skipped
+	  features separately for ainput and binput
+
+2014-10-22 12:43  martinl
+
+	* vector/v.category/main.c: v.category: do not print done message
+	  when reporting/printing categories
+
+2014-10-22 12:33  martinl
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: fix
+	  debug level (0->1)
+
+2014-10-22 12:31  martinl
+
+	* lib/python/pygrass/modules/interface/module.py: fix r62349 (print
+	  full cmd)
+
+2014-10-22 11:53  martinl
+
+	* ., lib/python/pygrass/modules/interface/module.py: pygrass:
+	  Module.__call__() - print debug message
+
+2014-10-22 11:39  martinl
+
+	* lib/python/temporal/core.py: fix typo in comment
+
+2014-10-22 10:51  neteler
+
+	* raster/r.out.gdal/export_band.c: r.out.gdal: tell user which GDAL
+	  data type is used
+
+2014-10-22 10:49  lucadelu
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/factory.py,
+	  lib/python/temporal/gui_support.py,
+	  lib/python/temporal/list_stds.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/spatial_topology_dataset_connector.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_raster_operator.py,
+	  lib/python/temporal/temporal_topology_dataset_connector.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/temporal_vector_operator.py,
+	  lib/python/temporal/testsuite/test_doctests.py,
+	  lib/python/temporal/unit_tests.py,
+	  lib/python/temporal/univar_statistics.py: python temporal lib:
+	  PEP8 cleaning; markdown cleaning
+
+2014-10-22 10:22  neteler
+
+	* scripts/v.rast.stats/v.rast.stats.html,
+	  scripts/v.what.vect/v.what.vect.html,
+	  vector/v.what.rast3/v.what.rast3.html, vector/v.what/v.what.html:
+	  v.what* manual: crosslinks added
+
+2014-10-22 07:35  neteler
+
+	* lib/python/docs/src/pygrass_raster.rst, lib/segment/seek.c,
+	  lib/segment/setup.c, raster/r.stream.channel/stream_topology.c:
+	  libsegment: minor updates for r62324
+
+2014-10-22 03:57  annakrat
+
+	* lib/python/gunittest/case.py: gunittest: fix documentation
+
+2014-10-22 03:54  annakrat
+
+	* raster/r.viewshed/testsuite/test_r_viewshed.py: r.viewshed: add
+	  more tests
+
+2014-10-21 20:33  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI:dbmgr: select item
+	  automatically when WHERE statement is given
+
+2014-10-21 20:07  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/sqlbuilder: GoTo -
+	  process ENTER
+
+2014-10-21 20:00  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: sqlbuilder: check if vector map
+	  exists
+
+2014-10-21 19:24  annakrat
+
+	* raster/r.profile/main.c: r.profile: simplify computation based on
+	  Glynn's suggestions to avoid infinity values
+
+2014-10-21 17:45  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix driver_name usage (can be
+	  NULL)
+
+2014-10-21 15:46  neteler
+
+	* imagery/i.segment/create_isegs.c, imagery/i.segment/open_files.c,
+	  imagery/i.segment/write_output.c, include/defs/segment.h,
+	  include/segment.h, lib/lidar/raster.c, lib/lidar/zones.c,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/segment.py, lib/segment/address.c,
+	  lib/segment/close.c, lib/segment/flush.c, lib/segment/format.c,
+	  lib/segment/get.c, lib/segment/get_row.c, lib/segment/init.c,
+	  lib/segment/local_proto.h, lib/segment/open.c,
+	  lib/segment/pagein.c, lib/segment/pageout.c, lib/segment/put.c,
+	  lib/segment/put_row.c, lib/segment/release.c, lib/segment/seek.c,
+	  lib/segment/segmentlib.dox, lib/segment/setup.c,
+	  lib/vector/Vlib/open.c, raster/r.cost/main.c, raster/r.flow/io.c,
+	  raster/r.flow/mem.c, raster/r.flow/mem.h,
+	  raster/r.resamp.bspline/main.c, raster/r.resamp.bspline/resamp.c,
+	  raster/r.spreadpath/drawline.c, raster/r.spreadpath/main.c,
+	  raster/r.spreadpath/path_finder.c, raster/r.stream.channel/io.c,
+	  raster/r.stream.channel/stream_topology.c,
+	  raster/r.stream.channel/stream_write.c,
+	  raster/r.stream.distance/distance_calc.c,
+	  raster/r.stream.distance/distance_init.c,
+	  raster/r.stream.distance/io.c, raster/r.stream.extract/bseg.c,
+	  raster/r.stream.extract/cseg.c, raster/r.stream.extract/dseg.c,
+	  raster/r.stream.extract/seg.c, raster/r.stream.order/io.c,
+	  raster/r.stream.order/stream_raster_close.c,
+	  raster/r.stream.order/stream_topology.c,
+	  raster/r.stream.order/stream_vector.c,
+	  raster/r.stream.segment/io.c,
+	  raster/r.stream.segment/stream_topology.c,
+	  raster/r.stream.snap/io.c, raster/r.stream.snap/points_io.c,
+	  raster/r.stream.snap/snap.c, raster/r.stream.stats/io.c,
+	  raster/r.stream.stats/stats_prepare.c, raster/r.walk/main.c,
+	  raster/r.watershed/seg/bseg_close.c,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/cseg_close.c,
+	  raster/r.watershed/seg/cseg_get.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_close.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/sseg_close.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_open.c,
+	  raster/r.watershed/seg/sseg_put.c, vector/v.surf.bspline/main.c,
+	  vector/v.surf.bspline/resamp.c: libsegment: function prefixes
+	  change from segment_ to Segment_ (trac #2422)
+
+2014-10-21 14:52  neteler
+
+	* lib/python/docs/src/index.rst,
+	  lib/python/docs/src/pygrass_gis.rst,
+	  lib/python/docs/src/pygrass_messages.rst,
+	  lib/python/docs/src/pygrass_raster.rst,
+	  lib/python/docs/src/pygrass_vector.rst: pygrass manual: cosmetics
+
+2014-10-21 14:08  neteler
+
+	* lib/proj/README.txt: libproj: hints for CSV files from GDAL, see
+	  http://trac.osgeo.org/grass/ticket/2456
+
+2014-10-21 13:40  neteler
+
+	* gui/wxpython/docs/wxgui_sphinx/Makefile: wxgui_sphinx: fix sphinx
+	  binaries test
+
+2014-10-21 08:00  lucadelu
+
+	* scripts/r.unpack/r.unpack.py, scripts/v.unpack/v.unpack.py:
+	  r/v.unpack: check if the pack is the right type for that command
+	  (ticket #2455)
+
+2014-10-20 16:12  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib: fix ** CID 1248541: Untrusted
+	  loop bound (TAINTED_SCALAR)
+
+2014-10-20 15:13  annakrat
+
+	* vector/v.what/testsuite/test_vwhat_layers.py,
+	  vector/v.what/testsuite/test_vwhat_ncspm.py: v.what: fix tests -
+	  do not test database path
+
+2014-10-20 15:12  lucadelu
+
+	* lib/python/script/core.py: lib/python/script/core.py: fix check
+	  of differences between upper and lower case in units file
+
+2014-10-20 14:49  hcho
+
+	* general/g.remove/construct_pattern.c: g.remove: Minor refactoring
+
+2014-10-20 14:40  hcho
+
+	* general/g.remove/construct_pattern.c, general/g.remove/main.c:
+	  g.remove: names= and ignore= accept fully qualified names
+
+2014-10-20 13:41  hcho
+
+	* lib/gis/nme_in_mps.c: G_unqualified_name: Correct the usage
+
+2014-10-20 03:22  annakrat
+
+	* vector/v.surf.rst/main.c: v.surf.rst: attempt to fix #2452
+
+2014-10-20 02:39  annakrat
+
+	* raster/r.profile/main.c,
+	  raster/r.profile/testsuite/test_profile_ncspm.py: r.profile:
+	  fixed failing tests on 64bit - using double instead of float, add
+	  additional test
+
+2014-10-19 22:15  annakrat
+
+	* vector/v.what/testsuite, vector/v.what/testsuite/data,
+	  vector/v.what/testsuite/data/table1.csv,
+	  vector/v.what/testsuite/data/table1.csvt,
+	  vector/v.what/testsuite/data/table2.csv,
+	  vector/v.what/testsuite/data/table2.csvt,
+	  vector/v.what/testsuite/data/testing.ascii,
+	  vector/v.what/testsuite/test_vwhat_layers.py,
+	  vector/v.what/testsuite/test_vwhat_ncspm.py: v.what: added
+	  testsuite
+
+2014-10-19 20:43  neteler
+
+	* display/d.fontlist/main.c: comments from Glynn added about
+	  d.fontlist implementation
+
+2014-10-19 20:27  annakrat
+
+	* lib/python/docs/src/gunittest_testing.rst: gunittest: fix import
+	  in example on manual page
+
+2014-10-19 11:52  martinl
+
+	* lib/proj/pcs.csv: assign datum transformation options to
+	  EPSG:5514
+
+2014-10-17 22:00  annakrat
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI: remove unnecessary
+	  gisenv call
+
+2014-10-17 21:38  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: avoid unnecessary calling
+	  grass.gisenv
+
+2014-10-17 20:53  annakrat
+
+	* general/g.list/main.c, lib/python/script/vector.py,
+	  vector/v.what/main.c, vector/v.what/what.c, vector/v.what/what.h:
+	  partially revert r62281 (committed by mistake)
+
+2014-10-17 20:42  annakrat
+
+	* general/g.list/main.c, gui/wxpython/core/utils.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/main.py, lib/python/script/vector.py,
+	  scripts/Makefile, scripts/d.to.rast, scripts/d.to.rast/Makefile,
+	  scripts/d.to.rast/d.to.rast.html, scripts/d.to.rast/d.to.rast.py,
+	  scripts/d.to.rast/d_to_rast_3D_example.jpg, vector/v.what/main.c,
+	  vector/v.what/what.c, vector/v.what/what.h: d.to.rast: new module
+	  for wxGUI and d.mon to save map display content as raster map
+
+2014-10-17 15:56  wenzeslaus
+
+	* raster/r.li/r.li.daemon/avl.c,
+	  raster/r.li/r.li.shannon/shannon.c: remove C++ style comments of
+	  old code (overleft from r61812)
+
+2014-10-17 15:53  annakrat
+
+	* gui/wxpython/gui_core/forms.py: g.remove: fix dialog to allow
+	  input more maps
+
+2014-10-17 15:14  annakrat
+
+	* gui/wxpython/gui_core/query.py: wxGUI/query: convert to string
+	  only when necessary
+
+2014-10-17 06:47  neteler
+
+	* scripts/v.in.geonames/v.in.geonames.py: remove unneeded tmp file
+
+2014-10-17 01:14  neteler
+
+	* scripts/v.in.geonames/v.in.geonames.py: v.in.geonames: fix
+	  indentation; save elevation as integer; use tab as separator
+
+2014-10-16 22:25  annakrat
+
+	* gui/wxpython/gui_core/preferences.py: fix #2451 - pass string
+	  instead of unicode to environment
+
+2014-10-15 08:34  madi
+
+	* raster/r.texture/r.texture.html: updated example - measure is not
+	  a valid parameter
+
+2014-10-15 03:42  annakrat
+
+	* raster3d/r3.flow/main.c: r3.flow: fix using option dependencies
+
+2014-10-15 00:28  annakrat
+
+	* raster3d/r3.flow/flowline.c, raster3d/r3.flow/voxel_traversal.c,
+	  raster3d/r3.flow/voxel_traversal.h: r3.flow: fix pointers freeing
+
+2014-10-14 21:12  neteler
+
+	* vector/v.what.rast/main.c: v.what.rast: better treat points on
+	  region boundary, see
+	  http://lists.osgeo.org/pipermail/grass-dev/2014-October/071158.html
+	  (Glynn)
+
+2014-10-14 20:25  neteler
+
+	* scripts/v.in.geonames/v.in.geonames.py: v.in.geonames: fix
+	  indentation; save elevation as integer
+
+2014-10-14 01:39  wenzeslaus
+
+	* general/g.list/main.c, general/g.remove/main.c: g.list and
+	  g.remove: make guisections consistent and put related things
+	  together
+	  
+	  * group print options together (move from optional)
+	  * group pattern flags together (move from optional)
+	  * remove raster (contained just one flag)
+	  * move names group to be first (not perfect, names and ignore
+	  have different usages, related in implementation, not for user)
+
+2014-10-13 15:28  lucadelu
+
+	* gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup: remove non used
+	  option in RLiSetupMapPanel function
+
+2014-10-12 12:15  glynn
+
+	* include/Make/Grass.make: Add RELDIR
+
+2014-10-12 12:08  glynn
+
+	* raster/r.in.bin/main.c, raster/r.out.bin/main.c: Explicit support
+	  for null=nan
+
+2014-10-10 16:23  hcho
+
+	* general/g.remove/main.c: g.remove: Add names= and ignores= for a
+	  list of filenames
+
+2014-10-10 14:14  hcho
+
+	* include/defs/gis.h: defs/gis.h: Add missing G_option_excludes
+
+2014-10-09 14:54  neteler
+
+	* vector/v.to.rast/main.c: fix msg typo
+
+2014-10-09 09:21  mmetz
+
+	* lib/gis/colors.desc, lib/gis/colors/precipitation_daily: libgis:
+	  add color rule precipitation_daily
+
+2014-10-09 09:11  annakrat
+
+	* general/g.list/main.c, general/g.remove/main.c: g.list/remove: do
+	  not add mapset to the selected name in GUI
+
+2014-10-08 21:19  wenzeslaus
+
+	* lib/gis/parser.c, lib/gis/parser_dependencies.c: lib/parser: more
+	  doxygen documentation
+
+2014-10-08 19:55  neteler
+
+	* raster/r.quantile/r.quantile.html,
+	  raster/r.series.accumulate/r.series.accumulate.html,
+	  raster/r.series/r.series.html,
+	  raster/r.stats.quantile/r.stats.quantile.html,
+	  raster/r.stats.zonal/r.stats.zonal.html: manual: more crosslinks
+	  added
+
+2014-10-08 19:18  neteler
+
+	* raster/r.series/r.series.html: r.series manual: cleanup;
+	  quantiles explained
+
+2014-10-08 16:32  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/testsuite/test_raster.py: pygrass:
+	  Rewrite RasterRow open method
+
+2014-10-08 09:13  mmetz
+
+	* raster/r.in.bin/main.c, raster/r.in.bin/r.in.bin.html: r.in.bin:
+	  +header +bands
+
+2014-10-08 00:21  annakrat
+
+	* raster/r.neighbors/r.neighbors.html: r.neighbors: remove obsolete
+	  part from manual about running module on command line
+
+2014-10-07 20:02  wenzeslaus
+
+	* include/Make/Doxyfile_arch_html.in: doxygen: remove local classes
+	  from documentation
+	  
+	  now there is approx. 45 items less in the Data structures section
+	  
+	  For example, vector and rules from parser_dependencies.c is not
+	  present, nor the other vector from cnversions.c which was merged
+	  into the former one.
+
+2014-10-07 17:44  wenzeslaus
+
+	* include/Make/Doxyfile_arch_html.in: doxygen: remove remaining
+	  (and potential) Python files from the Doxygen documentation, add
+	  C++ used by lib/iostream, remove unused *.i files
+
+2014-10-07 15:36  zarch
+
+	* lib/python/pygrass/raster/buffer.py: pygrass: Fix #2442
+	  np.float128 does not always exist
+
+2014-10-07 15:30  zarch
+
+	* lib/python/pygrass/errors.py,
+	  lib/python/pygrass/messages/__init__.py,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/modules/grid/__init__.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/shortcuts.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/shell/__init__.py,
+	  lib/python/pygrass/vector/__init__.py: pygrass: Separate ctypes
+	  from not ctypes modules and remove spyder header
+
+2014-10-07 14:39  neteler
+
+	* general/g.version/g.version.html,
+	  gui/wxpython/animation/g.gui.animation.html: manual: HTML fixes
+
+2014-10-07 10:29  martinl
+
+	* db/db.columns/main.c, db/db.databases/main.c,
+	  db/db.select/main.c, display/d.thematic.area/plot1.c,
+	  display/d.vect.chart/plot.c, display/d.vect/shape.c,
+	  misc/m.nviz.image/vector.c, raster/r.stream.extract/close.c,
+	  raster/r.stream.order/stream_vector.c, raster/r.to.vect/main.c,
+	  raster3d/r3.flow/main.c, vector/v.buffer/main.c,
+	  vector/v.colors.out/make_colors.c, vector/v.colors/scan_attr.c,
+	  vector/v.colors/write_rgb.c, vector/v.convert/att.c,
+	  vector/v.db.select/main.c, vector/v.edit/select.c,
+	  vector/v.in.db/main.c, vector/v.in.dwg/main.c,
+	  vector/v.in.dxf/write_vect.c, vector/v.in.lidar/main.c,
+	  vector/v.kcv/main.c, vector/v.label.sa/labels.c,
+	  vector/v.lidar.correction/main.c,
+	  vector/v.lidar.edgedetection/main.c,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c, vector/v.mkgrid/main.c,
+	  vector/v.net.allpairs/main.c, vector/v.net.centrality/main.c,
+	  vector/v.net.distance/main.c, vector/v.net.flow/main.c,
+	  vector/v.net.path/path.c, vector/v.net/turntable.c,
+	  vector/v.out.postgis/table.c, vector/v.out.vtk/writeVTK.c,
+	  vector/v.outlier/main.c, vector/v.overlay/main.c,
+	  vector/v.patch/main.c, vector/v.reclass/main.c,
+	  vector/v.sample/main.c, vector/v.surf.bspline/main.c,
+	  vector/v.surf.rst/main.c, vector/v.to.db/update.c,
+	  vector/v.to.rast/vect2rast.c, vector/v.to.rast3/main.c,
+	  vector/v.univar/main.c, vector/v.vol.rst/main.c,
+	  vector/v.what.rast/main.c, vector/v.what.rast3/main.c,
+	  vector/v.what/what.c: update modules: use
+	  db_set_error_handler_driver()
+
+2014-10-07 10:06  zarch
+
+	* lib/python/pygrass/gis/__init__.py: pygrass: Fix circular import
+	  dependency between gis.__init__ and functions
+
+2014-10-07 10:05  zarch
+
+	* lib/python/pygrass/__init__.py, lib/python/pygrass/functions.py:
+	  pygrass: Fix circular import dependency between gis.__init__ and
+	  functions
+
+2014-10-07 05:57  neteler
+
+	* scripts/i.tasscap/i.tasscap.html, scripts/i.tasscap/i.tasscap.py:
+	  i.tasscap: added MODIS support
+
+2014-10-06 14:56  wenzeslaus
+
+	* lib/python/script/core.py, lib/python/script/testsuite,
+	  lib/python/script/testsuite/test_start_command_functions.py,
+	  lib/python/script/testsuite/test_start_command_functions_nc.py:
+	  pythonlib: allow underscore at the end of core start_command
+	  family of functions as a way of avoiding conflict with Python
+	  keywords
+	  
+	  The older undocumented behavior was undersocre at the beginning
+	  which does not follow PEP8 was depreciated.
+	  
+	  Tests added for location without maps and for location with
+	  stadard map names (not curretly supported in gunittest). The ones
+	  using existing maps are more precise.
+
+2014-10-06 12:26  zarch
+
+	* lib/python/pygrass/raster/abstract.py: pygrass: Fix raster range
+	  for for FCELL and DCELL rasters
+
+2014-10-06 12:12  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: remove print from r62191
+
+2014-10-06 04:16  annakrat
+
+	* general/g.list/main.c, general/g.remove/main.c,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py,
+	  lib/python/script/core.py: g.list/remove: instead of text field
+	  use selection widget with multiple elements
+
+2014-10-06 03:33  wenzeslaus
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/lmgr: expand user directory for
+	  fake cd command; improve error handling from r59388 by accepting
+	  only one parameter (#2152)
+
+2014-10-06 01:20  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/main.py, lib/python/gunittest/runner.py,
+	  lib/python/gunittest/utils.py: gunittest: basic support for
+	  Python 2.6 and appropriate help for individual test file
+	  
+	  Only import of modules is supposed to work with 2.6 to allow
+	  documentation build and perhaps running the machinery.
+	  
+	  However, the individual tests may or may not work since a lot of
+	  assert methods and set up class step are missing and are
+	  impossible to provide without reimplementing unittest for 2.7.
+	  The full compatibility for 2.6 would be possible with unittest2
+	  which even provides 3.2 features in 2.7 but this is a package
+	  which has to be installed separately.
+	  
+	  The default help is fortunately the right one. The other help is
+	  not meant for individual files and is not possible to easily
+	  import for both 2.6 and 2.7 (and is not part of the API).
+
+2014-10-05 19:10  zarch
+
+	* lib/python/pygrass/raster/buffer.py: pygrass: Change mtype
+	  attribute in read-only, now is using numpy dtype.
+
+2014-10-05 19:07  zarch
+
+	* lib/python/pygrass/raster/__init__.py: pygrass: Fix docstring in
+	  get_row method
+
+2014-10-05 03:53  wenzeslaus
+
+	* raster/r.univar/r.univar_main.c,
+	  raster/r.univar/r3.univar_main.c: r.univar and r3.univar: move
+	  short description to label, include list of statistics into
+	  description (for example, now you can find r.univar in Search
+	  module in wxGUI by searching for 'sum')
+
+2014-10-05 03:12  wenzeslaus
+
+	* raster/r.univar/r.univar.html, raster/r.univar/r3.univar.html,
+	  raster/r.univar/r3.univar_main.c: r.univar and r3.univar: mention
+	  sum in manual, use 3D raster term, add trivial example for
+	  r3.univar
+
+2014-10-04 21:45  neteler
+
+	* lib/python/docs/src/temporal_framework.rst: temporal manual:
+	  added References
+
+2014-10-04 21:31  wenzeslaus
+
+	* include/Make/Sphinx.make: remove strange GRASS style indentation
+	  from Makefile
+	  
+	  Makefiles were always picky about indentation, so removing the
+	  ambiguous 4 column indent style done using 8 column tabs. Using
+	  tabs only, this is what Makefiles like.
+
+2014-10-04 21:27  annakrat
+
+	* general/g.list/main.c, general/g.region/main.c,
+	  gui/wxpython/gui_core/gselect.py, lib/manage/element_list,
+	  raster/r.region/main.c: remove unused 3dview element, keep
+	  library
+
+2014-10-04 21:26  neteler
+
+	* imagery/i.atcorr/sensors_csv/landsat_8.csv: i.atcorr:
+	  landsat_8.csv added (refers to trac #2305)
+
+2014-10-04 21:08  annakrat
+
+	* lib/manage/element_list: remove icon element as unused
+
+2014-10-04 20:48  annakrat
+
+	* gui/wxpython/gui_core/gselect.py, lib/Makefile,
+	  lib/manage/element_list, lib/manage/option.c, lib/sites,
+	  scripts/Makefile, scripts/v.in.sites.all, vector/Makefile,
+	  vector/v.in.sites: remove sites element and library - #2440
+
+2014-10-04 18:40  annakrat
+
+	* vector/v.surf.rst/main.c: v.surf.rst: change debug to verbose
+	  message
+
+2014-10-04 14:02  neteler
+
+	* raster/r.viewshed/main.cpp: fix minor msg typo
+
+2014-10-03 20:07  wenzeslaus
+
+	* gui/wxpython/docs/wxgui_sphinx/conf.py,
+	  gui/wxpython/docs/wxgui_sphinx/src/index.rst,
+	  gui/wxpython/docs/wxgui_sphinx/src/wxgui_toolboxes.rst,
+	  gui/wxpython/docs/wxgui_toolboxes: wxGUI/toolboxes: documentation
+	  converted from Doxygen to Sphinx (#2435)
+	  
+	  Documentation introduced in r56035 as dox and removed in r62097.
+	  
+	  This commit also removes the standalone Sphix documenation added
+	  in r62138 whcih was created by conversion of Doxygen generated
+	  HTML
+	  to ODF and to Sphinx.
+
+2014-10-03 18:35  annakrat
+
+	* raster/r.clump/main.c: r.clump: fix reporting number of clumps
+	  when map is empty
+
+2014-10-03 17:49  wenzeslaus
+
+	* general/g.parser/g.parser.html,
+	  lib/gis/gislib_cmdline_parsing.dox, lib/gis/parser_html.c,
+	  lib/gis/parser_rest.c: parser: use '--help' in manual pages
+	  rather than 'help' to promote use of standardized flag
+	  
+	  This was also suggested by Glynn in #1778:
+	  
+	  ...it would be nice if we could train users to use that so that
+	  we can remove the argv[1]=='help' check; although help isn't
+	  likely to be particularly common as an option value, I dislike
+	  having special cases on principle.
+
+2014-10-03 15:17  wenzeslaus
+
+	* raster/r.viewshed/main.cpp,
+	  raster/r.viewshed/testsuite/test_r_viewshed.py: r.viewshed:
+	  improve error messages; fix test (set region, delete maps, remove
+	  prints)
+
+2014-10-03 07:47  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: close RAT files
+
+2014-10-03 05:16  neteler
+
+	* scripts/v.krige/v.krige.html: v.krige manual: example updated to
+	  NC
+
+2014-10-02 21:06  wenzeslaus
+
+	* raster3d/r3.flow/testsuite/r3flow_test.py: tests: pass string
+	  with commas instead of a list for the pattern option of g.remove
+	  (PyGRASS does not allow list when not specified in module
+	  interface)
+
+2014-10-02 20:27  mmetz
+
+	* vector/v.generalize/misc.c: v.generalize: add test for
+	  self-intersection, use Vect_line_intersection2()
+
+2014-10-02 20:24  mmetz
+
+	* lib/vector/Vlib/intersect2.c: Vlib: self-intersection in
+	  Vect_line_intersection2()
+
+2014-10-02 20:20  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: +print raster attribute
+	  tables to files
+
+2014-10-02 20:19  mmetz
+
+	* raster/r.in.bin/main.c: r.in.bin: +Flip input horizontal and/or
+	  vertical
+
+2014-10-02 01:41  wenzeslaus
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: change working from
+	  'interactively' to 'directly', add colon and tooltips
+	  
+	  It is a direct input of file content. It is not interactive which
+	  usually means that there are some actions and reactions.
+
+2014-10-01 16:46  martinl
+
+	* raster/r.random/random.c: r.random: set db error hander
+
+2014-10-01 16:10  wenzeslaus
+
+	* raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/testsuite/test_r3_mapcalc.py,
+	  raster/r.mapcalc/testsuite/test_r_mapcalc.py: use no workers
+	  (#2074)
+	  
+	  one still creates one worker, zero avoids any creation (see
+	  lib/gis/worker.c)
+	  one worker was still causing Rast3d_get_tile_ptr error
+	  
+	  added also tests for r3.mapcalc which should sometimes show the
+	  error for WORKERS=1
+
+2014-10-01 15:59  neteler
+
+	* raster/r.random/random.c, vector/v.random/main.c:
+	  r.random/v.random: create DB index
+
+2014-10-01 15:20  mmetz
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/main.c: v.out.ogr: fix
+	  append mode
+
+2014-10-01 15:03  mmetz
+
+	* lib/raster/range.c: rasterlib: sync Rast_read_fp_range() to
+	  Rast_write_fp_range()
+
+2014-10-01 07:09  lucadelu
+
+	* scripts/r.reclass.area/r.reclass.area.html,
+	  scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: added
+	  new method using v.clean with tool=rmarea
+
+2014-09-30 21:42  neteler
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI menu: added
+	  r.series.accumulate and r.series.interp; moved buffer and
+	  distance/grow into submenu to shorten Raster menu
+
+2014-09-30 20:55  neteler
+
+	* gui/wxpython/docs/wxgui_toolboxes,
+	  gui/wxpython/docs/wxgui_toolboxes/Makefile,
+	  gui/wxpython/docs/wxgui_toolboxes/_static,
+	  gui/wxpython/docs/wxgui_toolboxes/_static/pygrass.css,
+	  gui/wxpython/docs/wxgui_toolboxes/_templates,
+	  gui/wxpython/docs/wxgui_toolboxes/_templates/layout.html.template,
+	  gui/wxpython/docs/wxgui_toolboxes/conf.py,
+	  gui/wxpython/docs/wxgui_toolboxes/make.bat,
+	  gui/wxpython/docs/wxgui_toolboxes/src,
+	  gui/wxpython/docs/wxgui_toolboxes/src/.directory,
+	  gui/wxpython/docs/wxgui_toolboxes/src/files_overview.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/generation_of_files_and_menu.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/how_to_write_a_custom_toolbox.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/index.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/introduction.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/main_menu_file.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/menudata_file.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/modules_items_file.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/toolboxes_file.rst,
+	  gui/wxpython/docs/wxgui_toolboxes/src/toolboxes_filestructure.png,
+	  gui/wxpython/docs/wxgui_toolboxes/src/toolboxes_flowchart.png,
+	  gui/wxpython/docs/wxgui_toolboxes/src/wxgui_items_file.rst:
+	  wxgui_toolboxes sphinx documentation added (converted from
+	  wxguitoolboxes.dox doxygen original, r57001)
+
+2014-09-30 08:48  zarch
+
+	* lib/python/pygrass/vector/testsuite/test_vector.py: pygrass: Add
+	  test on __getitem__ method in VectorTopo class
+
+2014-09-30 08:46  zarch
+
+	* lib/python/pygrass/vector/__init__.py: pygrass: Fix how slice are
+	  handled (contribution: Maurizio Cingi)
+
+2014-09-30 08:45  zarch
+
+	* lib/python/pygrass/vector/abstract.py: pygrass: Fix setter
+	  function for the organization property of the Vector class, and
+	  transform the private method: _write_header to write_header
+	  (contribution: Maurizio Cingi)
+
+2014-09-29 17:42  annakrat
+
+	* lib/rst/interp_float/input2d.c,
+	  vector/v.surf.rst/v.surf.rst.html: v.surf.rst: fix using standard
+	  mask and mask as option
+
+2014-09-28 21:52  neteler
+
+	* include/defs/cdhc.h, lib/cdhc/README, lib/cdhc/andrsnde.c,
+	  lib/cdhc/andrsndn.c, lib/cdhc/as177.c, lib/cdhc/as181.c,
+	  lib/cdhc/as241.c, lib/cdhc/as66.c, lib/cdhc/cdhclib.dox,
+	  lib/cdhc/chisqe.c, lib/cdhc/chisqn.c, lib/cdhc/cvmw2e.c,
+	  lib/cdhc/cvmw2n.c, lib/cdhc/dagstndn.c, lib/cdhc/dcmp.c,
+	  lib/cdhc/dmax.c, lib/cdhc/dmaxe.c, lib/cdhc/durbins.c,
+	  lib/cdhc/enormp.c, lib/cdhc/extreme.c, lib/cdhc/geary.c,
+	  lib/cdhc/kotz.c, lib/cdhc/kse.c, lib/cdhc/ksn.c,
+	  lib/cdhc/kuiprsve.c, lib/cdhc/kuiprsvn.c, lib/cdhc/local_proto.h,
+	  lib/cdhc/normp.c, lib/cdhc/omnibus.c, lib/cdhc/royston.c,
+	  lib/cdhc/shapiro1.c, lib/cdhc/shapiro2.c, lib/cdhc/shapiroe.c,
+	  lib/cdhc/test.c, lib/cdhc/watsonue.c, lib/cdhc/watsonun.c,
+	  lib/cdhc/weisberg.c, lib/cdhc/xinormal.c, vector/v.normal/main.c:
+	  cdhc lib: prefix added (trac #2421)
+
+2014-09-28 21:44  neteler
+
+	* lib/cdhc/doc, lib/cdhc/doc/goodness.pdf: cdhc lib: added original
+	  documentation (svn copy from releasebranch_5_5)
+
+2014-09-28 20:46  neteler
+
+	* scripts/i.tasscap/i.tasscap.html: i.tasscap manual: update
+	  example to new user interface
+
+2014-09-28 10:34  martinl
+
+	* man/grassdocs.css: manual: change container size to 60% (avoid
+	  overlap with toc)
+
+2014-09-28 02:53  annakrat
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI/digitizer: fix selecting
+	  area tools
+
+2014-09-28 01:46  huhabla
+
+	* lib/python/docs/src/index.rst,
+	  lib/python/docs/src/temporal_framework.rst,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/factory.py,
+	  lib/python/temporal/gui_support.py,
+	  lib/python/temporal/list_stds.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/spatial_topology_dataset_connector.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_raster_operator.py,
+	  lib/python/temporal/temporal_topology_dataset_connector.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/temporal_vector_operator.py,
+	  lib/python/temporal/unit_tests.py,
+	  lib/python/temporal/univar_statistics.py: temporal framework:
+	  Changed the temporal framework code documentation from doxygen
+	  style to sphinx style
+
+2014-09-28 01:40  huhabla
+
+	* include/Make/Sphinx.make: makesystem: Added a dedicated sphinx
+	  library build command make sphinxdoclib
+
+2014-09-27 23:17  neteler
+
+	* REQUIREMENTS.html: REQUIREMENTS.html: say what Python PLY is
+
+2014-09-27 22:19  neteler
+
+	* man/grassdocs.css: manual: change hardcoded container size
+	  (r62109 and previous) to percentage
+
+2014-09-27 21:56  neteler
+
+	* display/d.profile/d.profile.html: d.profile manual: fix missing
+	  'SEE ALSO'
+
+2014-09-27 20:06  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: do not fail because of
+	  missing icon when running d.histogram from GUI command line
+
+2014-09-27 17:04  huhabla
+
+	* REQUIREMENTS.html: Added Python PLY requirements for the temporal
+	  algebra in tgis
+
+2014-09-27 16:59  huhabla
+
+	* lib/python/docs/src/temporal.rst,
+	  lib/python/docs/src/temporal_framework.rst: Have to rename the
+	  temporal framework rst file, since it gets deleted while make
+	  sphinxdoc
+
+2014-09-27 16:54  huhabla
+
+	* lib/python/docs/src/temporal.rst: Added sphinx documentation for
+	  the temporal framework
+
+2014-09-27 11:40  martinl
+
+	* man/build_html.py: manual: main page cosmetics
+
+2014-09-27 11:00  martinl
+
+	* man/grassdocs.css: manual: enlarge container to 750px
+
+2014-09-27 03:10  glynn
+
+	* lib/gis/parser.c: Check that option names are valid
+
+2014-09-26 23:44  glynn
+
+	* raster/r.in.bin/main.c: -h (GMT header) and -n (vertical flip)
+	  are incompatible
+
+2014-09-26 21:28  martinl
+
+	* man/grassdocs.css: manual: define li.box's margin-left
+	  (cosmetics)
+
+2014-09-26 21:25  martinl
+
+	* man/build_html.py: manual: separate heading for GUI and Display
+
+2014-09-26 19:34  martinl
+
+	* man/build_html.py, man/grassdocs.css: manual: change table
+	  background to white (increase readability)
+
+2014-09-26 19:18  martinl
+
+	* general/g.mapset/g.mapset.html: g.mapset: manual cosmetics
+
+2014-09-26 19:00  martinl
+
+	* ., lib/db, lib/gis, lib/gmath, lib/gpde, lib/ogsf, lib/proj,
+	  lib/raster3d, lib/segment, lib/vector, lib/vector/dglib,
+	  lib/vector/diglib: update svn:ignore props (doxygen)
+
+2014-09-26 18:57  martinl
+
+	* grasslib.dox, gui/wxpython/Makefile,
+	  gui/wxpython/wxguitoolboxes.dox, gui/wxpython/wxpythonlib.dox,
+	  include/Make/Docs.make, include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in, lib/python/ctypes/Makefile,
+	  lib/python/imaging/Makefile, lib/python/imaging/imaginglib.dox,
+	  lib/python/pydispatch/Makefile,
+	  lib/python/pydispatch/pydispatchlib.dox,
+	  lib/python/pygrass/Makefile, lib/python/pygrass/pygrasslib.dox,
+	  lib/python/script/Makefile, lib/python/script/pythonlib.dox,
+	  lib/python/temporal/Makefile,
+	  lib/python/temporal/pythontemporallib.dox: doxygen: remove python
+	  documentation (replaced by sphinx)
+
+2014-09-26 15:27  martinl
+
+	* vector/v.select/copy_tabs.c: fix r62093: close DB driver on
+	  failure (db_set_error_handler_driver)
+	  fix indentation
+
+2014-09-26 14:04  neteler
+
+	* vector/v.select/copy_tabs.c: v.select: create DB index
+
+2014-09-26 12:52  mmetz
+
+	* vector/v.select/overlap.c, vector/v.select/proto.h,
+	  vector/v.select/select.c: v.select: speed up OP_OVERLAP
+
+2014-09-26 12:47  mmetz
+
+	* vector/v.select/args.c: v.select: fix default answers
+
+2014-09-26 12:45  mmetz
+
+	* lib/vector/Vlib/intersect2.c: Vlib: fix
+	  Vect_line_check_intersection2()
+
+2014-09-26 12:43  mmetz
+
+	* lib/vector/Vlib/open.c: Vlib: fix messages if open failed
+
+2014-09-25 16:34  hcho
+
+	* general/g.remove/g.remove.html, general/g.remove/main.c:
+	  g.remove: Add more examples in the manual; Clarify the
+	  description of pattern=
+
+2014-09-25 15:31  hcho
+
+	* general/g.list/main.c: g.list: Add output= support for
+	  pretty/full printing; Redirect non-pretty/full output to pager
+
+2014-09-25 14:49  hcho
+
+	* general/g.list/main.c, general/manage/lister/cell.c,
+	  general/manage/lister/vector.c: lister, g.list: Add support for
+	  multiple mapsets to listers, Fix g.list -f mapset=... (ticket
+	  #2432)
+
+2014-09-25 14:42  neteler
+
+	* vector/v.select/args.c, vector/v.select/main.c: v.select: attempt
+	  to improve parameter description
+
+2014-09-25 13:27  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: nsis: attempt to fix optional
+	  MS runtime installation
+
+2014-09-25 08:11  mmetz
+
+	* raster/r.in.bin/main.c: r.in.bin: add flag to flip North and
+	  South
+
+2014-09-24 15:43  neteler
+
+	* vector/v.select/v.select.html: v.select manual: NC examples added
+
+2014-09-24 15:38  neteler
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix after removing
+	  g.mlist (completes r62027)
+
+2014-09-24 14:27  hcho
+
+	* raster/r.topmodel/r.topmodel.html: r.topmodel: Removed outdated
+	  info
+
+2014-09-24 14:08  mmetz
+
+	* lib/vector/Vlib/geos.c: Vlib: fix memory leaks in read GEOS
+
+2014-09-24 13:16  neteler
+
+	* raster/r.patch/r.patch.html,
+	  raster/r.series.accumulate/r.series.accumulate.html,
+	  raster/r.series.interp/r.series.interp.html,
+	  raster/r.series/r.series.html: manual: notes added about max file
+	  open limits
+
+2014-09-24 13:01  neteler
+
+	* vector/v.select/select.c: v.select: msg if GEOS or GRASS GIS
+	  functions are used
+
+2014-09-24 00:36  annakrat
+
+	* lib/gis/proj1.c, lib/gis/proj2.c, lib/gis/proj3.c,
+	  lib/gis/wind_scan.c, lib/vector/Vlib/header.c,
+	  raster/r.in.gdal/main.c, raster/r.in.lidar/main.c,
+	  vector/v.in.lidar/main.c, vector/v.in.ogr/main.c: remove unused
+	  PROJECTION_SP
+
+2014-09-24 00:12  annakrat
+
+	* include/gis.h, lib/gis/proj2.c, lib/gis/proj3.c, lib/gis/units.c:
+	  add support for us survey foot, #2417
+
+2014-09-23 18:34  annakrat
+
+	* scripts/r3.in.xyz/r3.in.xyz.py: r3.in.xyz: remove tabs from code,
+	  make it pep8 compatible
+
+2014-09-23 18:20  annakrat
+
+	* scripts/r3.in.xyz/r3.in.xyz.py: r3.in.xyz: fix this script on
+	  Windows
+
+2014-09-23 15:27  annakrat
+
+	* raster/r.in.lidar/main.c, vector/v.in.lidar/main.c: r/v.in.lidar:
+	  fix first return filter
+
+2014-09-22 15:08  annakrat
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: don't save default
+	  window layout when window is minimized, checking size is not
+	  enough on Windows 8
+
+2014-09-22 06:45  mmetz
+
+	* vector/v.clean/v.clean.html: v.clean: fix manual for tool=rmarea
+
+2014-09-21 03:37  annakrat
+
+	* raster/r.profile/main.c, raster/r.profile/r.profile.html,
+	  raster/r.profile/testsuite/test_profile_ncspm.py: r.profile:
+	  enable to use more units
+
+2014-09-20 14:46  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/intersect2.c: Vlib: add
+	  Bentley-Ottmann algorithm to find line intersections
+
+2014-09-20 14:36  mmetz
+
+	* raster/r.cost/main.c, raster/r.walk/main.c: sync r.cost and
+	  r.walk
+
+2014-09-20 12:09  mmetz
+
+	* raster/r.walk/heap.c, raster/r.walk/main.c: r.walk: fix fp format
+	  in messages
+
+2014-09-20 12:06  mmetz
+
+	* raster/r.cost/cost.h, raster/r.cost/heap.c: r.cost: fix heap
+
+2014-09-20 03:50  neteler
+
+	* scripts/r.in.wms/r.in.wms.html, scripts/r.in.wms/wms_base.py:
+	  r.in.wms: fix example + debug msg
+
+2014-09-19 03:02  glynn
+
+	* lib/pngdriver/Raster.c: Fix bug in PNG driver triggered by r62026
+
+2014-09-18 18:55  annakrat
+
+	* gui/wxpython/wxplot/profile.py, raster/r.profile/local_proto.h,
+	  raster/r.profile/main.c, raster/r.profile/r.profile.html,
+	  raster/r.profile/testsuite,
+	  raster/r.profile/testsuite/test_profile_ncspm.py: r.profile: use
+	  location units, revert gui profile tool changes, add r.profile
+	  test, see #2417
+
+2014-09-18 10:09  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/testsuite/test_geometry.py: pygrass:
+	  Add Node topology class (contribution: Maurizio Cingi)
+
+2014-09-18 03:49  annakrat
+
+	* gui/wxpython/core/settings.py, lib/nviz/map_obj.c: wxNviz: use
+	  black as default for vectors
+
+2014-09-18 01:54  neteler
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c: r.sim.*: user message
+	  harmonization
+
+2014-09-18 01:14  annakrat
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI: fix after removing g.mlist
+
+2014-09-17 22:43  glynn
+
+	* display/d.info/main.c, include/defs/display.h,
+	  lib/display/r_raster.c, lib/display/setup.c: Change handling of
+	  display frame, graphical clip window
+	  Replace D_get_window with D_get_frame
+	  Add D_get_clip_window, D_set_clip_window
+	  Add D_set_clip_window_to_map_window,
+	  D_set_clip_window_to_screen_window
+	  Store initial frame size within display library
+	  Change D_setup* functions to set graphical clip window
+
+2014-09-17 20:43  huhabla
+
+	* lib/python/temporal/core.py: temporal framework: Better handling
+	  on none-existing temporal databases in existing mapsets
+
+2014-09-17 19:47  mmetz
+
+	* lib/vector/Vlib/legal_vname.c: Vlib: do not allow @ in vector
+	  name
+
+2014-09-17 19:37  huhabla
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py:
+	  temporal modules testsuite: Tests for mixing shared and
+	  distributed temporal databases
+
+2014-09-17 17:52  huhabla
+
+	* lib/python/pygrass/messages/__init__.py: pygrass messages: Better
+	  string length libgis restriction handling
+
+2014-09-17 17:47  hcho
+
+	* raster3d/r3.gradient/testsuite/r3gradient_test.py: r3.gradient:
+	  g.remove pattern takes only one string
+
+2014-09-17 16:54  hcho
+
+	* scripts/v.out.gps/v.out.gps.py: v.out.gps: Add a missing comma
+
+2014-09-17 16:49  wenzeslaus
+
+	* lib/python/gunittest/loader.py: gunittest: workaround to support
+	  more location types (r61652 uses hardcoded values instead of
+	  parsing the file and finding suporated location type(s))
+
+2014-09-17 16:47  wenzeslaus
+
+	* lib/python/gunittest/multireport.py,
+	  lib/python/gunittest/reporters.py: gunittest: improve handling of
+	  extereme cases (when no tests were executed)
+
+2014-09-17 16:30  huhabla
+
+	* lib/python/pygrass/messages/__init__.py: pygrass messages: Fixed
+	  typo
+
+2014-09-17 16:24  hcho
+
+	* gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/core/globalvar.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iscatt/iscatt_core.py,
+	  gui/wxpython/lmgr/datacatalog.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/vnet/vnet_core.py, gui/wxpython/vnet/vnet_data.py,
+	  gui/wxpython/xml/toolboxes.xml, lib/gpde/test/test_arrays.c,
+	  lib/manage/managelib.dox, lib/python/gunittest/case.py,
+	  lib/python/gunittest/testsuite/test_assertions_rast3d.py,
+	  lib/python/gunittest/testsuite/test_assertions_vect.py,
+	  lib/python/pygrass/functions.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/shortcuts.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py,
+	  lib/python/script/core.py, lib/python/script/db.py,
+	  lib/python/script/pythonlib.dox, lib/python/script/raster.py,
+	  lib/python/script/raster3d.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/testsuite/test_register_function.py,
+	  raster/r.category/test_rcategory_doctest.txt,
+	  raster/r.li/r.li.setup/masked_area_selection.sh,
+	  raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.mapcalc/testsuite/const_map_test.sh,
+	  raster/r.mapcalc/testsuite/test_r_mapcalc.py,
+	  raster/r.out.mpeg/main.c, raster/r.patch/r.patch.html,
+	  raster/r.reclass/r.reclass.html,
+	  raster/r.series.accumulate/r.series.accumulate.html,
+	  raster/r.series.accumulate/test_suite/test.r.series.accumulate.sh,
+	  raster/r.series/r.series.html,
+	  raster/r.slope.aspect/testsuite/test_r_slope_aspect.py,
+	  raster/r.to.rast3elev/test.r.to.rast3elev.sh,
+	  raster/r.viewshed/testsuite/test_r_viewshed.py,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/simwe/r.sim.water/spearfish.sh,
+	  raster3d/r3.cross.rast/test.r3.cross.rast.sh,
+	  raster3d/r3.flow/testsuite/r3flow_test.py,
+	  raster3d/r3.gradient/testsuite/r3gradient_test.py,
+	  raster3d/r3.in.bin/test_suite/test.r3.in.bin.sh,
+	  raster3d/r3.out.netcdf/test_suite/test.r3.out.netcdf.sh,
+	  raster3d/r3.retile/test.r3.retile.sh,
+	  raster3d/r3.to.rast/test.r3.to.rast.sh,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/i.spectral/i.spectral.html,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.in.wms/wms_base.py, scripts/r.mask/r.mask.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.unpack/test_suite/test.r.unpack.sh,
+	  scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.dissolve/v.dissolve.html,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.to.lines/v.to.lines.py,
+	  scripts/v.unpack/test_suite/test.v.unpack.sh,
+	  scripts/v.unpack/v.unpack.py, temporal/t.list/t.list.html,
+	  temporal/t.merge/testsuite/test.t.merge.sh,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/t.rast.import/test.t.rast.import.relative.sh,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.import/test.t.rast.import_locations.sh,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/test.t.rast.series.sh,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py,
+	  temporal/t.rast3d.list/t.rast3d.list.html,
+	  temporal/t.register/test.t.register.vector.file.layer.sh,
+	  temporal/t.register/test.t.register.vector.sh,
+	  temporal/t.remove/t.remove.html, temporal/t.remove/t.remove.py,
+	  temporal/t.rename/test.t.rename.sh,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.layer.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.sh,
+	  temporal/t.vect.import/testsuite/test.t.vect.import.sh,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.layer_bug.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.relative.sh,
+	  temporal/t.vect.univar/testsuite/test.t.vect.univar.sh,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.layer.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds_relative.sh,
+	  testsuite/raster/raster_md5test.sh,
+	  testsuite/raster/rhemisphere.sh, tools/thumbnails.py,
+	  vector/v.distance/v.distance.html,
+	  vector/v.lrs/v.lrs.create/v.lrs.create.html: Rename g.mlist to
+	  g.list and update g.remove usage
+
+2014-09-17 14:00  hcho
+
+	* general/Makefile: Remove g.mlist/g.mremove from Makefile
+
+2014-09-17 13:55  wenzeslaus
+
+	* lib/python/pygrass/modules/grid/grid.py: pygrass/grid: provide at
+	  least basic error message
+	  
+	  the error is visible in the
+	  lib/python/pygrass/modules/testsuite/test_doctest.py test
+
+2014-09-17 13:53  hcho
+
+	* general/g.list/Makefile, general/g.list/g.list.html,
+	  general/g.list/g.mlist.html, general/g.list/main.c,
+	  general/g.list/testsuite/test_g_list.py,
+	  general/g.list/testsuite/test_g_mlist.py,
+	  general/g.remove/Makefile, general/g.remove/g.mremove.html,
+	  general/g.remove/g.remove.html, general/g.remove/main.c,
+	  general/g.remove/testsuite/test_g_mremove.py,
+	  general/g.remove/testsuite/test_g_remove.py: Replace
+	  g.list/g.remove with g.mlist/g.mremove
+
+2014-09-17 13:46  hcho
+
+	* general/g.list, general/g.mlist, general/g.mremove,
+	  general/g.remove: Rename g.mlist/g.mremove to g.list/g.remove
+
+2014-09-17 13:44  hcho
+
+	* general/g.list, general/g.remove: Remove g.list/g.remove
+
+2014-09-17 06:41  neteler
+
+	* display/d.colorlist/main.c, display/d.colortable/main.c,
+	  display/d.path/main.c, display/d.rgb/main.c,
+	  display/d.thematic.area/main.c, general/g.cairocomp/main.c,
+	  general/g.copy/main.c, general/g.findfile/main.c,
+	  general/g.gisenv/main.c, general/g.mapsets/main.c,
+	  general/g.remove/main.c, general/g.rename/main.c,
+	  imagery/i.albedo/main.c, imagery/i.eb.eta/main.c,
+	  imagery/i.eb.evapfr/main.c, imagery/i.eb.hsebal01/main.c,
+	  imagery/i.eb.netrad/main.c, imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.pca/main.c, imagery/i.rectify/main.c,
+	  raster/r.colors/edit_colors.c, raster/r.describe/main.c,
+	  raster/r.external/main.c, raster/r.gwflow/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.kappa/main.c, raster/r.neighbors/main.c,
+	  raster/r.out.gdal/main.c, raster/r.out.png/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.vrml/main.c,
+	  raster/r.out.vtk/parameters.c, raster/r.proj/main.c,
+	  raster/r.quantile/main.c, raster/r.random.cells/main.c,
+	  raster/r.random.surface/r.random.surface.html,
+	  raster/r.reclass/main.c, raster/r.recode/main.c,
+	  raster/r.report/parse.c, raster/r.resamp.bspline/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.series.accumulate/main.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.stats.quantile/main.c, raster/r.stream.extract/main.c,
+	  raster/r.sunhours/main.c, raster/r.sunmask/main.c,
+	  raster/r.terraflow/main.cpp, raster/r.topmodel/main.c,
+	  raster/r.viewshed/main.cpp, raster/r.walk/main.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.null/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  scripts/g.extension/g.extension.py, scripts/m.proj/m.proj.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.mask/r.mask.py, temporal/t.info/t.info.py,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.sample/t.sample.py,
+	  temporal/t.vect.import/t.vect.import.py, vector/v.buffer/main.c,
+	  vector/v.clean/main.c, vector/v.colors.out/main.c,
+	  vector/v.colors/main.c, vector/v.edit/args.c,
+	  vector/v.in.ascii/main.c, vector/v.in.lidar/main.c,
+	  vector/v.label/main.c, vector/v.lidar.growing/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.centrality/main.c,
+	  vector/v.net.components/main.c, vector/v.net.connectivity/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.path/main.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.net.visibility/main.c, vector/v.net/args.c,
+	  vector/v.out.postgis/args.c, vector/v.qcount/main.c,
+	  vector/v.rectify/main.c, vector/v.surf.bspline/main.c,
+	  vector/v.to.rast/main.c, vector/v.transform/main.c,
+	  vector/v.univar/main.c, vector/v.vol.rst/main.c,
+	  vector/v.what.rast3/main.c, vector/v.what/main.c: user message
+	  harmonization update (trac #2409)
+
+2014-09-17 03:02  annakrat
+
+	* gui/wxpython/animation/g.gui.animation.html: wxGUI/animation:
+	  remove TODOs from manual
+
+2014-09-16 21:19  wenzeslaus
+
+	* lib/python/script/setup.py.sed: script/init: add extrabin to
+	  PATH, do not add extralib (extralib removed from WinGRASS
+	  installer somewhere around r57646)
+
+2014-09-16 20:05  mmetz
+
+	* include/display.h, include/raster.h: move RGBA_Color to display.h
+
+2014-09-16 16:47  huhabla
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.reverse.sh,
+	  temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.sh,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.accumulate/test_suite,
+	  temporal/t.rast.accumulate/testsuite,
+	  temporal/t.rast.accumulate/testsuite/acc_1.ref,
+	  temporal/t.rast.accumulate/testsuite/acc_2.ref,
+	  temporal/t.rast.accumulate/testsuite/acc_3.ref,
+	  temporal/t.rast.accumulate/testsuite/acc_4.ref,
+	  temporal/t.rast.accumulate/testsuite/acc_5.ref,
+	  temporal/t.rast.accumulate/testsuite/data,
+	  temporal/t.rast.accumulate/testsuite/data/acc_1.ref,
+	  temporal/t.rast.accumulate/testsuite/data/acc_2.ref,
+	  temporal/t.rast.accumulate/testsuite/data/acc_3.ref,
+	  temporal/t.rast.accumulate/testsuite/data/acc_4.ref,
+	  temporal/t.rast.accumulate/testsuite/data/acc_5.ref,
+	  temporal/t.rast.accumulate/testsuite/test.t.rast.accumulate.sh,
+	  temporal/t.rast.aggregate.ds/testsuite/test.t.rast.aggregate.ds.sh,
+	  temporal/t.rast.aggregate/testsuite/test.t.rast.aggregate.sh,
+	  temporal/t.rast.extract/testsuite/test_extract.py,
+	  temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.remove/t.remove.py,
+	  temporal/t.vect.mapcalc/testsuite/test.t.vect.mapcalc.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.layer_bug.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.relative.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.sh:
+	  temporal modules: Improved tests, using g.mremove instead of
+	  g.remove to avoid buffer overflows when g.remove is called from
+	  within the gtestsuite framework.
+
+2014-09-16 16:41  huhabla
+
+	* lib/python/temporal/testsuite/test_register_function.py: temporal
+	  framework testsuite: Using g.mremove instead of g.remove in tests
+
+2014-09-16 16:40  huhabla
+
+	* lib/python/pygrass/messages/__init__.py: pygrass messages:
+	  Reducing the size of the string passed to the libgis messaging
+	  functions to avoid buffer overflows
+
+2014-09-16 16:38  huhabla
+
+	* lib/temporal/lib/connect.c: temporal library: Better environment
+	  management
+
+2014-09-16 15:26  wenzeslaus
+
+	* temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py:
+	  testing: do not use user or machine specific values in tests
+	  
+	  (assertModuleKeyValue considers the reference input to by subset
+	  of the module actual output)
+
+2014-09-16 12:05  glynn
+
+	* general/g.parser/global.h, general/g.parser/main.c,
+	  general/g.parser/parse.c, general/g.parser/proto.h,
+	  general/g.parser/rules.c, include/defs/gis.h, include/gis.h,
+	  lib/gis/parser_dependencies.c: Extend g.parser to support
+	  dependency rules
+
+2014-09-16 11:31  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: load data in
+	  different thread
+
+2014-09-16 08:27  lucadelu
+
+	* lib/python/pygrass/gis/testsuite,
+	  lib/python/pygrass/gis/testsuite/test_doctests.py,
+	  lib/python/pygrass/gis/testsuite/test_gis.py,
+	  lib/python/pygrass/messages/testsuite,
+	  lib/python/pygrass/messages/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/grid/testsuite,
+	  lib/python/pygrass/modules/grid/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_doctests.py,
+	  lib/python/pygrass/modules/testsuite,
+	  lib/python/pygrass/modules/testsuite/test_doctests.py,
+	  lib/python/pygrass/raster/testsuite,
+	  lib/python/pygrass/raster/testsuite/data,
+	  lib/python/pygrass/raster/testsuite/data/geology_cats,
+	  lib/python/pygrass/raster/testsuite/test_category.py,
+	  lib/python/pygrass/raster/testsuite/test_doctests.py,
+	  lib/python/pygrass/raster/testsuite/test_history.py,
+	  lib/python/pygrass/raster/testsuite/test_raster.py,
+	  lib/python/pygrass/shell/testsuite,
+	  lib/python/pygrass/shell/testsuite/test_doctests.py,
+	  lib/python/pygrass/testsuite,
+	  lib/python/pygrass/testsuite/test_doctests.py,
+	  lib/python/pygrass/vector/testsuite/test_doctests.py: pygrass:
+	  add new tests, specially doctests
+
+2014-09-16 08:05  lucadelu
+
+	* lib/python/pygrass/functions.py,
+	  lib/python/pygrass/messages/__init__.py,
+	  lib/python/pygrass/vector/abstract.py: pygrass: fix some doctests
+
+2014-09-16 08:04  ychemin
+
+	* gui/wxpython/xml/toolboxes.xml: fixed typo to re-enable menu item
+
+2014-09-16 02:31  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: extend import GeoTIFF
+	  wildcard to work with double f
+
+2014-09-15 22:34  huhabla
+
+	* temporal/t.connect/testsuite,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py,
+	  temporal/t.connect/testsuite/test_distr_tgis_db_vector.py,
+	  temporal/t.info/t.info.py, temporal/t.list/t.list.py,
+	  temporal/t.vect.list/t.vect.list.py: temporal modules: Enabling
+	  mapset specific temporal databases in temporal modules, added new
+	  tests. This feature is very experimental.
+
+2014-09-15 22:33  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py, lib/python/temporal/gui_support.py,
+	  lib/python/temporal/list_stds.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/testsuite/test_register_function.py,
+	  lib/python/temporal/testsuite/test_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/test_temporal_raster_algebra.py:
+	  temporal framework: Enabling mapset specific temporal databases.
+	  This feature is very experimental.
+
+2014-09-15 22:29  huhabla
+
+	* include/temporal.h, lib/temporal/lib/connect.c,
+	  lib/temporal/lib/default_name.c: temporal library: Default
+	  temporal database path is now mapset specific. Correct handling
+	  of environment switch for mapset specific metadata reading.
+
+2014-09-15 18:39  martinl
+
+	* raster/r.bitpattern/main.c: r.bitpattern: remove -q (quiet) flag
+	  - replaced by standardized flag --q
+
+2014-09-15 18:36  mmetz
+
+	* vector/v.distance/distance.c, vector/v.distance/local_proto.h,
+	  vector/v.distance/main.c: v.distance: use
+	  Vect_line_geodesic_distance()
+
+2014-09-15 18:27  mmetz
+
+	* lib/vector/Vlib/line.c: Vlib: add Vect_line_geodesic_distance()
+
+2014-09-15 08:43  martinl
+
+	* mswindows/osgeo4w/env.bat.tmpl: winGRASS: use cmd instead of sh
+
+2014-09-15 07:08  neteler
+
+	* raster/r.out.gdal/r.out.gdal.html: r.out.gdal manual: examples
+	  improved
+
+2014-09-15 06:42  neteler
+
+	* lib/python/docs/src/pygrass_index.rst: pygrass manual: progman
+	  URL added
+
+2014-09-15 06:37  martinl
+
+	* gui/wxpython/modules/extensions.py: fix r61967 - add missing _()
+
+2014-09-15 06:34  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extensions: change
+	  button's labels to be more clear
+
+2014-09-15 05:55  neteler
+
+	* scripts/v.rast.stats/v.rast.stats.html,
+	  scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: manual
+	  updated by Stefan Blumentrath; msg cosmetics
+
+2014-09-15 05:16  neteler
+
+	* locale/po/grassmods_ko.po: attempt to fix duplicate KO
+	  translations
+
+2014-09-15 05:06  zarch
+
+	* lib/python/exceptions/__init__.py,
+	  lib/python/exceptions/testsuite,
+	  lib/python/exceptions/testsuite/test_ScriptError.py: Restore
+	  ScriptError value attribute and add relative tests, see #2410
+
+2014-09-14 19:37  huhabla
+
+	* lib/gis/testsuite, lib/gis/testsuite/gis_lib_env_test.py: libgis:
+	  Added tests for libgis
+
+2014-09-14 19:34  huhabla
+
+	* include/defs/gis.h, lib/gis/env.c: libgis: Added support to force
+	  the reading of VAR and gisrc files at runtime and tests.
+	  Discussed in ticket #2408.
+
+2014-09-14 19:24  huhabla
+
+	* temporal/t.rast.mapcalc/test.t.rast.mapcalc.operators.sh:
+	  temporal t.rast.mapcalc: Test update
+
+2014-09-14 18:49  neteler
+
+	* scripts/i.pansharpen/i.pansharpen.html: i.pansharpen manual: fix
+	  URL
+
+2014-09-14 18:30  hellik
+
+	* mswindows/FileAssociation.nsh,
+	  mswindows/GRASS-Installer.nsi.tmpl: nsis: remove not needed py
+	  file association (bat-file solution for python scripts)
+
+2014-09-14 18:23  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: nsis: Clean downloaded MS
+	  runtime files by .onInstSuccess
+
+2014-09-14 16:38  marisn
+
+	* locale/po/grasslibs_lv.po, locale/po/grassmods_lv.po,
+	  locale/po/grasswxpy_lv.po: Latvian PO file fix (broken by me at
+	  r61868)
+
+2014-09-14 16:07  wenzeslaus
+
+	* man/grassdocs.css: doc: images should be not wider then 100% of
+	  the parent element
+
+2014-09-14 15:05  martinl
+
+	* AUTHORS: AUTHORS: fix web URLs
+
+2014-09-14 13:47  lucadelu
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/gmodules.py,
+	  lib/python/imaging/images2gif.py,
+	  lib/python/imaging/images2swf.py,
+	  lib/python/pygrass/functions.py,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/shell/conversion.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/basic.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/table.py, lib/python/script/db.py,
+	  lib/python/script/raster.py, lib/python/script/task.py,
+	  lib/python/script/utils.py, lib/python/script/vector.py: lib
+	  python: documentation cleanup, fix sphinx warning
+
+2014-09-14 13:37  mmetz
+
+	* vector/v.distance/distance.c: v.distance: fix z coordinate
+
+2014-09-14 02:28  neteler
+
+	* temporal/t.remove/t.remove.html: t.remove manual: updated manual
+	  by Stefan Blumentrath
+
+2014-09-14 02:15  lucadelu
+
+	* lib/python/docs/src/pygrass_raster.rst,
+	  lib/python/docs/src/pygrass_vector.rst: pygrass doc: extended
+	  (contribution Jarrett Keifer)
+
+2014-09-14 02:13  wenzeslaus
+
+	* include/Make/Doxyfile_arch_html.in: dox: make doxygen manual
+	  green (using color from logo)
+
+2014-09-14 01:47  annakrat
+
+	* gui/wxpython/core/workspace.py: wxGUI: save and load wxnviz
+	  rotation in workspace
+
+2014-09-14 01:27  wenzeslaus
+
+	* lib/gis/parser_html.c, man/build_html.py, man/grassdocs.css,
+	  tools/mkhtml.py: doc: new style for manual pages (co-author:
+	  neteler)
+	  
+	  * page in block with given width to have shorter lines on wide
+	  screens (selected width 700px)
+	  * improved style for TOC: smaller spacing, links green,
+	  underlined on hover, heading, unfolds on hover (might not be need
+	  with narrow content), transparent when folded
+	  * all links green
+	  * headings has different sizes (h2 and h3 had the same size -
+	  large)
+	  * the whole page must be in containder div for narrow content to
+	  work
+
+2014-09-14 00:28  neteler
+
+	* raster/r.viewshed/testsuite, raster/r.viewshed/testsuite/data,
+	  raster/r.viewshed/testsuite/data/elevation.ascii,
+	  raster/r.viewshed/testsuite/data/lake_viewshed.ascii,
+	  raster/r.viewshed/testsuite/test_r_viewshed.py: r.viewshed test
+	  added for testsuite
+
+2014-09-14 00:16  lucadelu
+
+	* scripts/Makefile, scripts/v.to.lines,
+	  scripts/v.to.lines/v.to.lines.html,
+	  scripts/v.to.lines/v.to.lines.py: scripts: add v.to.lines from
+	  addons
+
+2014-09-13 23:17  neteler
+
+	* raster/r.slope.aspect/testsuite/test_r_slope_aspect.py: minor
+	  typos
+
+2014-09-13 21:58  annakrat
+
+	* temporal/t.vect.import/t.vect.import.html,
+	  temporal/t.vect.import/t.vect.import.py: t.vect.import: added
+	  basename option and updated manual by Eric Goddard
+
+2014-09-13 21:56  wenzeslaus
+
+	* scripts/i.tasscap/i.tasscap.html, scripts/i.tasscap/i.tasscap.py:
+	  i.tasscap: change flags to option and band options to one input
+	  option with multiple enabled (#2407)
+
+2014-09-13 21:46  annakrat
+
+	* raster/r.in.lidar/r.in.lidar.html: r.in.lidar: update man page
+
+2014-09-13 21:45  lucadelu
+
+	* lib/python/script/array.py, lib/python/script/core.py,
+	  lib/python/script/db.py, lib/python/script/raster.py,
+	  lib/python/script/raster3d.py, lib/python/script/task.py,
+	  lib/python/script/utils.py, lib/python/script/vector.py: python
+	  script library: update documentation and doctest; fix pep8
+
+2014-09-13 21:27  annakrat
+
+	* raster/r.in.lidar/main.c: r.in.lidar: add class_filter option,
+	  filter option renamed to return_filter, from v.in.lidar
+
+2014-09-13 20:59  annakrat
+
+	* temporal/t.vect.export/t.vect.export.html: t.vect.export: better
+	  html formatting
+
+2014-09-13 20:45  annakrat
+
+	* temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.export/t.vect.export.py: temporal: update
+	  t.vect.export man page by Eric Goddard
+
+2014-09-13 19:50  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl:
+
+2014-09-13 19:07  mmetz
+
+	* vector/v.to.rast/main.c, vector/v.to.rast/raster.c,
+	  vector/v.to.rast/vect2rast.c: v.to.rast: change rows option to
+	  memory option
+
+2014-09-13 19:03  annakrat
+
+	* temporal/t.rast.import/t.rast.import.html: t.rast.import: fix
+	  html and fix map names in example
+
+2014-09-13 18:33  annakrat
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI: completely remove
+	  GetRealCmd, hopefully not needed anymore for Windows
+
+2014-09-13 18:31  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: diglib: fix file-based temporary
+	  spatial index
+
+2014-09-13 17:50  wenzeslaus
+
+	* gui/wxpython/xml/toolboxes.xml, raster/Makefile,
+	  raster/r.horizon/r.horizon.html, raster/r.los,
+	  raster/r.viewshed/r.viewshed.html,
+	  raster/r.viewshed/testscript.sh: r.los: move to addons; move the
+	  r.viewshed test to r.los because it requires both
+
+2014-09-13 17:12  lucadelu
+
+	* lib/python/script/db.py, scripts/db.droptable/db.droptable.py:
+	  python db: fix output of db_table_in_vector and changed
+	  db.droptable.py behaviour; some pep8 and doctest fix
+
+2014-09-13 17:07  annakrat
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/dialogs.py,
+	  gui/wxpython/dbmgr/vinfo.py: wxGUI/dbmgr: attempt to fix unicode
+	  errors from #1681
+
+2014-09-13 16:55  martinl
+
+	* scripts/db.test/test1: db.test: test1 SQL statements to uppercase
+
+2014-09-13 16:51  martinl
+
+	* scripts/db.test/db.test.py, scripts/db.test/test1: fix db.test
+	  for sqlite (~ is PostgreSQL specific)
+
+2014-09-13 16:11  lucadelu
+
+	* scripts/db.droptable/db.droptable.py: db.droptable: fix pep8
+
+2014-09-13 01:58  hcho
+
+	* locale/po/grassmods_ko.po: Korean translations
+
+2014-09-12 23:45  annakrat
+
+	* lib/python/script/utils.py, lib/python/temporal/aggregation.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/stds_import.py: temporal: better formatting
+	  of suffixes of new maps - include padding zeros
+
+2014-09-12 23:21  annakrat
+
+	* lib/python/gunittest/testsuite/test_checkers.py: update import,
+	  forgot in r61854
+
+2014-09-12 22:14  lucadelu
+
+	* gui/wxpython/animation/provider.py, gui/wxpython/core/debug.py,
+	  gui/wxpython/core/giface.py, gui/wxpython/core/render.py,
+	  gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/giface.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapwin/base.py,
+	  gui/wxpython/mapwin/buffered.py, gui/wxpython/mapwin/graphics.py,
+	  gui/wxpython/nviz/workspace.py, gui/wxpython/rlisetup/wizard.py,
+	  gui/wxpython/web_services/widgets.py: wxgui: fix warning in
+	  sphinx documentation; some pep8 cleanup
+
+2014-09-12 20:36  huhabla
+
+	* lib/raster3d/test/test_raster3d_lib.h,
+	  lib/raster3d/test/test_tools.c: raster3d library test: Moved time
+	  include to header file for correct function prototype definition
+
+2014-09-12 16:11  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/shortcuts.py: pygrass: Fix doctest
+
+2014-09-12 16:10  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: Return
+	  always the Module instance and rename max_num_procs to nprocs to
+	  be more consistent with other GRASS libraries
+
+2014-09-12 16:04  mmetz
+
+	* vector/v.distance/main.c: v.distance: fix search for geodesic
+	  distance in latlong
+
+2014-09-12 15:43  martinl
+
+	* imagery/i.his.rgb/main.c: i.his.rgb: add missing G_percent(1, 1,
+	  1) - cosmetics
+
+2014-09-12 15:42  zarch
+
+	* lib/python/pygrass/raster/category.py: pygrass: Fix doctest.
+
+2014-09-12 15:41  zarch
+
+	* lib/python/pygrass/raster/__init__.py: pygrass: Fix doctest and
+	  improve RasterNumpy close/write methods
+
+2014-09-12 15:39  zarch
+
+	* lib/python/pygrass/raster/abstract.py: pygrass: Fix enter
+	  statement on raster classes and fix the doctest.
+
+2014-09-12 13:36  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/find.py: pygrass: Fix and update
+	  doctest
+
+2014-09-12 13:35  zarch
+
+	* lib/python/pygrass/vector/geometry.py: pygrass: Fix negative
+	  indexes to select geometry features and fix get_centroid
+
+2014-09-12 09:19  marisn
+
+	* locale/po/grasslibs_lv.po, locale/po/grassmods_lv.po,
+	  locale/po/grasswxpy_lv.po: Latvian translation update
+
+2014-09-12 08:45  zarch
+
+	* lib/python/pygrass/gis/region.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/table.py: Remove DeprecationWarning:
+	  Overriding __eq__ blocks inheritance of __hash__ in 3.x when
+	  running in mode python3, and fix some doctests.
+
+2014-09-11 23:20  lucadelu
+
+	* gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup fixed problem
+	  with wxpython3; fixed problem for circle creation
+
+2014-09-11 21:24  lucadelu
+
+	* lib/python/pygrass/vector/__init__.py: pygrass vector: fix wrong
+	  function r2413
+
+2014-09-11 09:52  mmetz
+
+	* vector/v.distance/main.c: v.distance: fix geodesic distance
+
+2014-09-11 08:14  ychemin
+
+	* imagery/i.modis.qc/i.modis.qc.html, imagery/i.modis.qc/main.c,
+	  imagery/i.modis.qc/mod09A1sb.c, imagery/i.modis.qc/mod09A1sf.c,
+	  imagery/i.modis.qc/mod09A1sg.c, imagery/i.modis.qc/mod09A1sh.c,
+	  imagery/i.modis.qc/mod09A1si.c, imagery/i.modis.qc/mod09A1sj.c,
+	  imagery/i.modis.qc/mod09A1sk.c: Updated Mod09CMG State QA, fixed
+	  binary classes typos
+
+2014-09-11 06:50  mmetz
+
+	* lib/gis/intersect.c: libgis: restore return codes for
+	  G_intersect_line_segments()
+
+2014-09-11 06:25  ychemin
+
+	* imagery/i.modis.qc/main.c: Added Internal Climatology for
+	  MOD09CMG and MYD09CMG
+
+2014-09-11 05:54  annakrat
+
+	* gui/wxpython/animation/data.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/toolboxes.py, gui/wxpython/core/ws.py,
+	  gui/wxpython/gmodeler/frame.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapwin/analysis.py, gui/wxpython/rlisetup/frame.py,
+	  gui/wxpython/vnet/vnet_core.py, gui/wxpython/vnet/vnet_data.py,
+	  lib/python/script/Makefile, lib/python/script/__init__.py,
+	  lib/python/script/array.py, lib/python/script/core.py,
+	  lib/python/script/db.py, lib/python/script/pythonlib.dox,
+	  lib/python/script/raster.py, lib/python/script/raster3d.py,
+	  lib/python/script/task.py, lib/python/script/utils.py,
+	  lib/python/script/vector.py, scripts/d.correlate/d.correlate.py,
+	  scripts/d.polar/d.polar.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.univar/db.univar.py,
+	  scripts/g.extension/g.extension.py, scripts/g.manual/g.manual.py,
+	  scripts/i.oif/i.oif.py, scripts/i.spectral/i.spectral.py,
+	  scripts/m.proj/m.proj.py, scripts/r.pack/r.pack.py,
+	  scripts/r.tileset/r.tileset.py, scripts/r.unpack/r.unpack.py,
+	  scripts/v.in.e00/v.in.e00.py, scripts/v.in.gns/v.in.gns.py,
+	  scripts/v.in.lines/v.in.lines.py,
+	  scripts/v.in.mapgen/v.in.mapgen.py, scripts/v.in.wfs/v.in.wfs.py,
+	  scripts/v.pack/v.pack.py, scripts/v.unpack/v.unpack.py:
+	  pythonlib: create new file utils not to clutter core with simple
+	  functions and move some of them from core and change all affected
+	  imports
+
+2014-09-10 21:55  glynn
+
+	* lib/gis/find_file.c: Fix bug in r61840
+
+2014-09-10 19:29  mmetz
+
+	* lib/gis/colors/ndvi, lib/gis/flate.c, lib/gis/getl.c,
+	  lib/gis/gisinit.c, lib/gis/ll_scan.c, lib/gis/wind_format.c:
+	  libgis: partially revert r61851
+
+2014-09-10 19:14  mmetz
+
+	* lib/gis/colors/ndvi, lib/gis/flate.c, lib/gis/getl.c,
+	  lib/gis/gisinit.c, lib/gis/intersect.c, lib/gis/ll_scan.c,
+	  lib/gis/wind_format.c: libgis: fix G_intersect_line_segments()
+
+2014-09-10 18:46  mmetz
+
+	* vector/v.distance/distance.c, vector/v.distance/main.c,
+	  vector/v.distance/v.distance.html: v.distance: use geodesic
+	  distance for latlong
+
+2014-09-10 00:48  annakrat
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/catalog: fix using text
+	  entry dialog
+
+2014-09-09 21:21  huhabla
+
+	* temporal/t.unregister/t.unregister.html: temporal modules: Manual
+	  page update of r.unregister
+
+2014-09-09 18:28  neteler
+
+	* lib/python/temporal/aggregation.py,
+	  lib/python/temporal/register.py: temporal: more clear user
+	  messages
+
+2014-09-09 16:59  neteler
+
+	* lib/python/temporal/mapcalc.py, lib/python/temporal/register.py:
+	  temporal: more clear user messages
+
+2014-09-09 14:38  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: nsis: $INSTDIR ->
+	  $INSTALL_DIR (attempt to fix MS runtime installation)
+
+2014-09-09 09:05  martinl
+
+	* scripts/g.extension.all/g.extension.all.html,
+	  scripts/g.extension/g.extension.html: g.extension: fix link to
+	  g.extension.all
+
+2014-09-08 22:00  glynn
+
+	* lib/gis/find_file.c: When searching the mapset search path, find
+	  the first map,
+	  not the first map with the requested element
+
+2014-09-07 18:10  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: nsis: quoting ExecWait
+	  following nsis documentation
+	  (http://nsis.sourceforge.net/Docs/Chapter4.html#execwait)
+
+2014-09-07 17:56  annakrat
+
+	* vector/v.in.lidar/main.c, vector/v.in.lidar/v.in.lidar.html:
+	  v.in.lidar: add class_filter option, filter option renamed to
+	  return_filter
+
+2014-09-07 14:09  annakrat
+
+	* scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: add -d
+	  flag for clumping diagonal cells - #2400
+
+2014-09-07 08:36  martinl
+
+	* include/gis.h: libgis: missing word in the comments (cosmetics)
+
+2014-09-07 03:26  neteler
+
+	* lib/gis/colors/elevation: elevation color table: brighten up high
+	  values
+
+2014-09-06 16:25  neteler
+
+	* vector/v.to.rast/raster.c: v.to.rast: tell user about actual RAM
+	  consumption
+
+2014-09-06 13:18  annakrat
+
+	* gui/wxpython/gis_set.py: wxGUI: add DB initialization before
+	  importing vector during creating new location
+
+2014-09-06 12:08  neteler
+
+	* raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html: r.li manual: North
+	  Carolina example added
+
+2014-09-06 02:42  wenzeslaus
+
+	* raster/r.li/r.li.daemon/avl.c, raster/r.li/r.li.daemon/avl.h,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.simpson/simpson.c: r.li: fix memory handling
+	  (memory leak in avl_to_array function)
+	  
+	  avl_to_array function was allocating one by one structures which
+	  were already allocated by callers. Callers were not freeing the
+	  memory allocated for structures. Also avl_to_array function was
+	  not respecting the size and type of the passed array, so the
+	  dereferencing was probbaly not working correctly. The type of
+	  array passed to the function is now AVL_table, not the pointer to
+	  it, because this is already a pointer.
+	  
+	  The influenced modules now should run faster, for small
+	  resolutions, and with better (correct) results.
+	  
+	  The naming of AVL_table and AVL_tableRow is still strange.
+
+2014-09-06 00:11  neteler
+
+	* lib/gis/proj3.c: libgis: units defined here and in
+	  ../proj/units.table
+
+2014-09-05 21:50  annakrat
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI/preferences: fix font
+	  dialog on Windows
+
+2014-09-05 19:48  huhabla
+
+	* temporal/t.info/test.t.info.sh, temporal/t.info/testsuite,
+	  temporal/t.info/testsuite/test.t.info.sh,
+	  temporal/t.merge/test.t.merge.sh, temporal/t.merge/testsuite,
+	  temporal/t.merge/testsuite/test.t.merge.sh,
+	  temporal/t.rast.accdetect/test_suite,
+	  temporal/t.rast.accdetect/testsuite,
+	  temporal/t.rast.accdetect/testsuite/data,
+	  temporal/t.rast.accdetect/testsuite/data/test_1_temp_accumulation.ref,
+	  temporal/t.rast.accdetect/testsuite/data/test_1_temp_indi.ref,
+	  temporal/t.rast.accdetect/testsuite/data/test_1_temp_occ_a.ref,
+	  temporal/t.rast.accdetect/testsuite/data/test_1_temp_occ_b.ref,
+	  temporal/t.rast.accdetect/testsuite/data/test_2_temp_accumulation.ref,
+	  temporal/t.rast.accdetect/testsuite/data/test_2_temp_indi.ref,
+	  temporal/t.rast.accdetect/testsuite/data/test_2_temp_occ.ref,
+	  temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.reverse.sh,
+	  temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.sh,
+	  temporal/t.rast.accdetect/testsuite/test_1_temp_accumulation.ref,
+	  temporal/t.rast.accdetect/testsuite/test_1_temp_indi.ref,
+	  temporal/t.rast.accdetect/testsuite/test_1_temp_occ_a.ref,
+	  temporal/t.rast.accdetect/testsuite/test_1_temp_occ_b.ref,
+	  temporal/t.rast.accdetect/testsuite/test_2_temp_accumulation.ref,
+	  temporal/t.rast.accdetect/testsuite/test_2_temp_indi.ref,
+	  temporal/t.rast.accdetect/testsuite/test_2_temp_occ.ref,
+	  temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py,
+	  temporal/t.rast3d.extract/test.t.rast3d.extract.sh,
+	  temporal/t.rast3d.extract/testsuite,
+	  temporal/t.rast3d.extract/testsuite/test.t.rast3d.extract.sh,
+	  temporal/t.rast3d.list/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.list/testsuite,
+	  temporal/t.rast3d.list/testsuite/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.univar/test.t.rast3d.univar.sh,
+	  temporal/t.rast3d.univar/testsuite,
+	  temporal/t.rast3d.univar/testsuite/test.t.rast3d.univar.sh,
+	  temporal/t.select/t.select.py,
+	  temporal/t.select/test.t.select.sh,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.layer.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.relative.sh:
+	  temporal modules: Fixed some tests added more test shell scripts
+	  to the gunittest testsuite
+
+2014-09-05 19:39  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py, lib/python/temporal/extract.py,
+	  lib/python/temporal/gui_support.py,
+	  lib/python/temporal/mapcalc.py, lib/python/temporal/register.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/univar_statistics.py: temporal framework:
+	  Trying to fix import issues that lead to malfunction temporal
+	  framework
+
+2014-09-05 04:24  annakrat
+
+	* lib/python/temporal/extract.py: temporal: add missing import
+
+2014-09-03 14:38  martinl
+
+	* scripts/i.tasscap/i.tasscap.py: i.tasscap: use standardized
+	  option (output_prefix->basename)
+
+2014-09-03 14:32  martinl
+
+	* scripts/i.pansharpen/i.pansharpen.py: i.pansharpen: be less
+	  verbose
+
+2014-09-03 14:28  martinl
+
+	* scripts/i.pansharpen/i.pansharpen.py: i.pansharpen: use
+	  standardized options
+	  ms1->blue
+	  ms2->green
+	  ms3->red
+	  output_prefix->basename
+	  sharpen->method
+
+2014-09-03 14:24  martinl
+
+	* general/g.parser/standard_option.c: g.parser: update standard
+	  options checking to use string array
+
+2014-09-03 14:22  martinl
+
+	* include/gis.h: libgis: add doxygen note about
+	  general/g.parser/standard_option.c
+
+2014-09-03 12:17  martinl
+
+	* scripts/i.pansharpen/i.pansharpen.py: i.pansharpen: check for
+	  numpy
+
+2014-09-02 07:45  neteler
+
+	* raster/r.in.xyz/r.in.xyz.html: r.in.xyz manual: fix XYZ data URL;
+	  example cosmetics
+
+2014-09-01 15:32  neteler
+
+	* lib/gis/colors.desc, lib/gis/colors/fahrenheit: Fahrenheit
+	  temperature scale added
+
+2014-08-29 23:15  hamish
+
+	* raster/r.in.lidar/main.c, raster/r.in.xyz/main.c: cut back
+	  clicker update frequency to a more human observable value
+
+2014-08-29 13:05  neteler
+
+	* man/build_html.py: manual: add link to Addons man pages
+
+2014-08-29 09:53  neteler
+
+	* vector/v.in.ascii/v.in.ascii.html: v.in.ascii manual: CSV table
+	  import example added
+
+2014-08-28 10:45  lucadelu
+
+	* gui/wxpython/gui_core/preferences.py: wxgui core: fix uid bug
+	  when uid is missing, for example with network shared data
+
+2014-08-27 21:16  lucadelu
+
+	* lib/python/imaging/images2avi.py,
+	  lib/python/imaging/images2gif.py,
+	  lib/python/imaging/images2ims.py,
+	  lib/python/imaging/images2swf.py,
+	  lib/python/pydispatch/dispatcher.py,
+	  lib/python/pydispatch/errors.py, lib/python/pydispatch/robust.py,
+	  lib/python/pydispatch/robustapply.py,
+	  lib/python/pydispatch/saferef.py,
+	  lib/python/pydispatch/signal.py: lib python: improve
+	  documentation; PEP8 cleaning
+
+2014-08-27 19:48  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py: python temporal: First steps to
+	  allow distributed temporal databases. The C-library interface
+	  supports now the request of temporal database driver and
+	  name/connection string. Added several TODOs to the
+	  SQLDatabaseInterfaceConnection class that must implement mapset
+	  specific database connections and cursors.
+
+2014-08-27 19:45  huhabla
+
+	* lib/python/pygrass/messages/__init__.py: python pygrass messages:
+	  The message interface must be explicitely stopped using the stop
+	  function at exit, a destructor is not needed and leads to errors.
+
+2014-08-27 19:43  huhabla
+
+	* lib/python/ctypes/Makefile: python ctypes: Enable Python wrapper
+	  for the temporal C-library
+
+2014-08-27 19:42  huhabla
+
+	* include/temporal.h, lib/temporal/lib/connect.c: temporal
+	  C-library: New functions to receive the temporal database driver
+	  and name from different mapsets in a location. Needed for
+	  handling distributed temporal databases.
+
+2014-08-27 14:14  neteler
+
+	* imagery/i.modis.qc/i.modis.qc.html, imagery/i.modis.qc/main.c,
+	  imagery/i.modis.qc/mod09CMGii.c: i.modis.qc: activate
+	  mod09CMG/mod09CMGs (r61754); minor fixes and msg cosmetics
+
+2014-08-27 12:06  neteler
+
+	* imagery/i.modis.qc/mod09CMGie.c: i.modis.qc: minor fixes for
+	  r61754
+
+2014-08-27 09:27  ychemin
+
+	* imagery/i.modis.qc/mod09CMGa.c, imagery/i.modis.qc/mod09CMGc.c,
+	  imagery/i.modis.qc/mod09CMGd.c, imagery/i.modis.qc/mod09CMGe.c,
+	  imagery/i.modis.qc/mod09CMGia.c, imagery/i.modis.qc/mod09CMGib.c,
+	  imagery/i.modis.qc/mod09CMGic.c, imagery/i.modis.qc/mod09CMGid.c,
+	  imagery/i.modis.qc/mod09CMGie.c, imagery/i.modis.qc/mod09CMGif.c,
+	  imagery/i.modis.qc/mod09CMGig.c, imagery/i.modis.qc/mod09CMGih.c,
+	  imagery/i.modis.qc/mod09CMGii.c, imagery/i.modis.qc/mod09CMGij.c,
+	  imagery/i.modis.qc/mod09CMGik.c, imagery/i.modis.qc/mod09CMGil.c,
+	  imagery/i.modis.qc/mod09CMGim.c, imagery/i.modis.qc/mod09CMGin.c:
+	  MYD09CMG/MOD09CMG Qa functions upload
+
+2014-08-26 22:32  neteler
+
+	* lib/pngdriver/Box.c, lib/pngdriver/Color.c,
+	  lib/pngdriver/Draw_bitmap.c, lib/pngdriver/Driver.c,
+	  lib/pngdriver/Erase.c, lib/pngdriver/Graph_close.c,
+	  lib/pngdriver/Graph_set.c, lib/pngdriver/Line_width.c,
+	  lib/pngdriver/Point.c, lib/pngdriver/Polygon.c,
+	  lib/pngdriver/Raster.c, lib/pngdriver/Set_window.c,
+	  lib/pngdriver/pngdriver.h, lib/pngdriver/read.c,
+	  lib/pngdriver/read_bmp.c, lib/pngdriver/read_png.c,
+	  lib/pngdriver/write.c, lib/pngdriver/write_bmp.c,
+	  lib/pngdriver/write_ppm.c: pngdriver: added minimalistic doxygen
+	  documentation
+
+2014-08-26 18:03  martinl
+
+	* lib/python/script, lib/raster3d/test: update svn:ignore props
+
+2014-08-26 13:47  neteler
+
+	* general/g.proj/output.c: g.proj: fix -g output in XY location for
+	  eval()
+
+2014-08-26 05:47  neteler
+
+	* vector/v.distance/v.distance.html: v.distance manual: more
+	  examples
+
+2014-08-26 05:46  neteler
+
+	* vector/v.distance/main.c: v.distance: allow map read access from
+	  other mapsets in search path
+
+2014-08-25 20:14  neteler
+
+	* imagery/i.cluster/i.cluster.html, imagery/i.maxlik/i.maxlik.html:
+	  i.cluster, i.maxlik manuals: example fixes
+
+2014-08-25 16:19  huhabla
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html: temporal: Typo
+	  fix
+
+2014-08-25 10:23  glynn
+
+	* lib/cdhc/Makefile, lib/python/script/Makefile: Minor build
+	  clean-up
+
+2014-08-25 09:53  huhabla
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html: Manual page
+	  update to describe the new nprocs option and the new temporal
+	  relation scheme
+
+2014-08-24 22:13  neteler
+
+	* vector/v.generalize/v.generalize.html: v.generalize manual: fix
+	  TOC navigation
+
+2014-08-24 00:05  martinl
+
+	* temporal/t.vect.mapcalc/t.vect.mapcalc.py: t.vect.mapcalc: fix
+	  second keyword (topics)
+
+2014-08-23 23:28  martinl
+
+	* man/build_html.py: fix major index manual page: libpythonhtml is
+	  called by default
+
+2014-08-23 22:09  martinl
+
+	* man/build_html.py: manual cosmetics (index): set proportion
+
+2014-08-23 21:36  martinl
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.html: g.gui.rlisetup: manual
+	  cosmetics (missing <p> tag)
+
+2014-08-23 16:37  neteler
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_1.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_2.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_3.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_4.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_5.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_6.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_7.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_8.png,
+	  gui/wxpython/rlisetup/g_gui_rlisetup_sampleAreas.jpg:
+	  g.gui.rlisetup manual: screenshots and explanations added (yet
+	  incomplete)
+
+2014-08-23 11:20  neteler
+
+	* lib/python/docs/Makefile, man/build_html.py: pygrass/python
+	  sphinx documentation: fix Makefile, update link in HTML manual
+
+2014-08-22 13:18  martinl
+
+	* include/Make/Script.make, scripts/windows_launch.bat: winGRASS:
+	  fix bat wrapper generation for addons (patch provided by glynn,
+	  see #2150)
+
+2014-08-22 13:08  martinl
+
+	* gui/wxpython/core/globalvar.py: winGRASS: fix addons scanning
+	  (python scripts have now bat wrapper)
+
+2014-08-21 13:47  neteler
+
+	* vector/v.generalize/v.generalize.html: v.generalize manual:
+	  examples added
+
+2014-08-20 20:53  neteler
+
+	* raster/r.horizon/main.c, raster/r.horizon/r.horizon.html,
+	  vector/v.buffer/main.c, vector/v.clean/main.c,
+	  vector/v.in.ogr/main.c: Tell user about degree unit for buffers
+	  and thresholds in PROJECTION_LL
+
+2014-08-20 15:34  wenzeslaus
+
+	* lib/init/grass.py: using sys.platform to determine if running in
+	  Cygwin
+	  
+	  Checking CYGWIN environmental variable is unreliable. See ticket
+	  #2395.
+	  
+	  It is not clear if sys.platform should be used with equals, in,
+	  or startswith but using equals here since it is safe for cygwin
+	  and it is used elsewhere.
+
+2014-08-20 14:39  annakrat
+
+	* lib/python/script/task.py: fix displaying translated 'required'
+	  string (to German) in modules' status bar
+
+2014-08-19 20:39  neteler
+
+	* temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.info/test.t.info.sh, temporal/t.list/t.list.html,
+	  temporal/t.merge/t.merge.html, temporal/t.merge/test.t.merge.sh,
+	  temporal/t.rast.accumulate/test_suite/test.t.rast.accumulate.sh,
+	  temporal/t.rast.aggregate/testsuite/test.t.rast.aggregate.relative_time.sh,
+	  temporal/t.rast.aggregate/testsuite/test.t.rast.aggregate.sh,
+	  temporal/t.rast.export/test.t.rast.export.sh,
+	  temporal/t.rast.import/test.t.rast.import.relative.sh,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.import/test.t.rast.import_locations.sh,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.operators.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast.mapcalc2/test.t.rast.mapcalc2.sh,
+	  temporal/t.rast.neighbors/test.t.rast.neighbors.sh,
+	  temporal/t.rast.out.vtk/test.t.rast.out.vtk.sh,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.rast.univar/testsuite/test.t.rast.univar.sh,
+	  temporal/t.rast3d.extract/test.t.rast3d.extract.sh,
+	  temporal/t.rast3d.list/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.mapcalc/test.t.rast3d.mapcalc.sh,
+	  temporal/t.rast3d.mapcalc2/test.t.rast3d.mapcalc2.sh,
+	  temporal/t.rast3d.univar/test.t.rast3d.univar.sh,
+	  temporal/t.register/test.t.register.raster.file.reltime.sh,
+	  temporal/t.register/test.t.register.raster.file.sh,
+	  temporal/t.register/test.t.register.raster.file.timezone.sh,
+	  temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.raster.timestamp.sh,
+	  temporal/t.register/test.t.register.raster3d.sh,
+	  temporal/t.remove/test.t.remove.sh,
+	  temporal/t.rename/test.t.rename.sh,
+	  temporal/t.sample/testsuite/test.t.sample.sh,
+	  temporal/t.shift/t.shift.html,
+	  temporal/t.shift/test.t.shift.absolue.sh,
+	  temporal/t.shift/test.t.shift.relative.sh,
+	  temporal/t.snap/t.snap.html,
+	  temporal/t.snap/test.t.snap.absolute.sh,
+	  temporal/t.snap/test.t.snap.relative.sh,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh: temporal: add
+	  seeding in r.mapcalc calls (completes r61353)
+
+2014-08-19 16:41  neteler
+
+	* raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.grow.distance/r_grow_distance.png: r.grow.distance
+	  manual: screenshot added
+
+2014-08-19 16:28  neteler
+
+	* vector/v.select/v.select.html: v.select manual: improve example
+	  wording
+
+2014-08-19 16:26  neteler
+
+	* raster/r.clump/r.clump.html: r.clump manual: fix example
+
+2014-08-19 16:09  neteler
+
+	* raster/r.clump/r.clump.html: r.clump manual: example added
+
+2014-08-19 15:52  neteler
+
+	* raster/r.clump/clump.c: r.clump: msg cosmetics
+
+2014-08-18 19:59  hellik
+
+	* raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.html, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html: r.li.*: better
+	  wording in manual for folder where conf file is stored in windows
+	  platform
+
+2014-08-18 18:43  annakrat
+
+	* raster3d/r3.flow/flowline.c, raster3d/r3.flow/flowline.h,
+	  raster3d/r3.flow/main.c, raster3d/r3.flow/r3.flow.html: r3.flow:
+	  added option to sample a 3D raster by flowlines
+
+2014-08-17 21:52  neteler
+
+	* raster/r.viewshed/r.viewshed.html: r.viewshed manual: better
+	  explain view angle
+
+2014-08-17 18:01  neteler
+
+	* raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.html, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html: r.li manual: describe
+	  where config files are stored; minor cleanup
+
+2014-08-15 21:27  wenzeslaus
+
+	* temporal/t.rast.aggregate.ds/test.t.rast.aggregate.ds.sh,
+	  temporal/t.rast.aggregate.ds/testsuite,
+	  temporal/t.rast.aggregate.ds/testsuite/test.t.rast.aggregate.ds.sh,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.relative_time.sh,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.sh,
+	  temporal/t.rast.aggregate/testsuite,
+	  temporal/t.rast.aggregate/testsuite/test.t.rast.aggregate.relative_time.sh,
+	  temporal/t.rast.aggregate/testsuite/test.t.rast.aggregate.sh,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.layer_bug.sh,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.relative.sh,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh,
+	  temporal/t.vect.observe.strds/testsuite,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.layer_bug.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.relative.sh,
+	  temporal/t.vect.observe.strds/testsuite/test.t.vect.observe.strds.sh,
+	  temporal/t.vect.univar/test.t.vect.univar.sh,
+	  temporal/t.vect.univar/testsuite,
+	  temporal/t.vect.univar/testsuite/test.t.vect.univar.sh: testing:
+	  add more shell scripts to the testing framework
+
+2014-08-15 21:11  martinl
+
+	* raster3d/r3.gradient/r3.gradient.html: r3.gradient: switch order
+	  of 'author' and 'see also' sections
+
+2014-08-15 20:39  wenzeslaus
+
+	* temporal/t.rast.univar/test.t.rast.univar.sh,
+	  temporal/t.rast.univar/testsuite,
+	  temporal/t.rast.univar/testsuite/test.t.rast.univar.sh,
+	  temporal/t.sample/test.t.sample.sh, temporal/t.sample/testsuite,
+	  temporal/t.sample/testsuite/test.t.sample.sh,
+	  temporal/t.vect.import/test.t.vect.import.sh,
+	  temporal/t.vect.import/testsuite,
+	  temporal/t.vect.import/testsuite/test.t.vect.import.sh,
+	  temporal/t.vect.list/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/test.t.vect.list.sh,
+	  temporal/t.vect.list/testsuite,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/testsuite/test.t.vect.list.sh,
+	  temporal/t.vect.mapcalc/test_suite,
+	  temporal/t.vect.mapcalc/testsuite: testing: use shell scripts in
+	  testing framework
+	  
+	  There is no assurance that tests will fail when something is
+	  wrong (e.g. when they test something and then print a message but
+	  not exit with non-zero return code). However, when some module
+	  fails, test will fail too (thanks to sh -e).
+
+2014-08-15 20:34  wenzeslaus
+
+	* lib/python/gunittest/invoker.py: gunittest: execute sh script
+	  using sh command with -e to always fail on error
+	  
+	  This is independent on shebag and error handing in script but
+	  needs sh executable
+
+2014-08-15 20:10  martinl
+
+	* raster3d/r3.flow, raster3d/r3.gradient: r3.flow/r3.gradient: set
+	  svn:ignore prop
+
+2014-08-15 20:06  martinl
+
+	* raster3d/r3.flow/r3.flow.html: r3.flow: switch order of 'author'
+	  and 'see also' sections
+
+2014-08-15 19:58  wenzeslaus
+
+	* raster/r.mapcalc/testsuite/const_map_test.sh,
+	  testsuite/raster/rmapcalc_test.sh: testing: move r.mapcalc test
+	  from root testsuite dir to r.mapcalc testsuite dir
+
+2014-08-15 19:55  wenzeslaus
+
+	* lib/python/gunittest/invoker.py, lib/python/gunittest/loader.py:
+	  gunittest: do not import test file, support also sh files
+	  
+	  Implemented quickly and simply on the cost of loosing support for
+	  unittest-like discovery and execution. It can be added back again
+	  using the old code.
+	  
+	  Also the support for different location tests was dropped for now
+	  because parsing of the file to get the location type is missing
+	  (attribute access after import was used before). This has to be
+	  implemented anyway. However, for now support for scripts seems to
+	  be a more important feature.
+
+2014-08-15 14:38  neteler
+
+	* include/Make/Install.make: make bindist: also package gui and
+	  share
+
+2014-08-15 14:26  neteler
+
+	* binaryInstall.src: make bindist: update script to G7
+
+2014-08-15 10:22  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_parameter.py:
+	  pygrass: revert r61587
+
+2014-08-14 17:21  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: avoid failure
+	  to_translate.c: Directory nonexistent
+	  TODO: handle locales also for addons
+
+2014-08-14 16:43  wenzeslaus
+
+	* lib/python/gunittest/reporters.py: gunittest: unified and more
+	  robust way of printing success rate
+
+2014-08-14 15:34  annakrat
+
+	* raster3d/r3.flow/test.r3flow.html: r3.flow: missing test html
+	  file
+
+2014-08-14 15:33  wenzeslaus
+
+	* lib/python/gunittest/runner.py: gunittest: fix wrong variable
+	  name in r61631 (inconsistent names should be fixed in future)
+
+2014-08-14 15:27  wenzeslaus
+
+	* lib/python/gunittest/runner.py: gunittest: fix inconsistent test
+	  counts (test report not created because of diving by zero
+	  (total=0))
+
+2014-08-14 15:18  annakrat
+
+	* raster3d/Makefile, raster3d/r3.flow, raster3d/r3.flow/Makefile,
+	  raster3d/r3.flow/test_main.c, raster3d/r3.gradient,
+	  raster3d/r3.gradient/testsuite/r3gradient_test.py: move r3.flow
+	  and r3.gradient to trunk
+
+2014-08-14 12:21  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: -d -> message
+	  cosmetics
+
+2014-08-14 12:19  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: wording
+	  cosmetics
+
+2014-08-14 02:20  annakrat
+
+	* lib/ogsf/Gp3.c, lib/ogsf/Gv3.c: libogsf: uninitialized variable
+	  causes unresponsive vector style settings
+
+2014-08-13 21:09  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: run install
+	  routine also for wxGUI extensions
+
+2014-08-13 21:04  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: wording
+	  cosmetics
+
+2014-08-13 21:03  annakrat
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: fix font dialog
+	  #2391 - d.font was missing monitor
+
+2014-08-13 20:49  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: produce full
+	  make command also for wxGUI extensions
+
+2014-08-13 20:48  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: do not require
+	  -s flag for wxGUI extensions
+
+2014-08-13 20:21  annakrat
+
+	* lib/python/temporal/aggregation.py: temporal: another fix of
+	  calling pygrass in aggregation method
+
+2014-08-13 10:45  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: Robert Nuske: DE translation cont'ed)
+
+2014-08-12 20:04  wenzeslaus
+
+	* gui/wxpython/mapdisp/toolbars.py: wxGUI/mapdisp: disable zoom to
+	  region in 3D mode (button introduced in r58445)
+	  
+	  This does not fix the problem when these buttons are not enabled
+	  when switching from 3D view to Digitize
+
+2014-08-12 18:54  wenzeslaus
+
+	* general/g.version/main.c: g.version: more robust way of reporting
+	  libgis version (good for partially broken distributions, #2351)
+
+2014-08-12 18:14  wenzeslaus
+
+	* display/d.rast.num/main.c: d.rast.num: add font name, path and
+	  charset (now possible to change font), no font size since this is
+	  automatic
+
+2014-08-12 15:15  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_parameter.py:
+	  pygrass: Add quotes to bash string representation if the
+	  parameter is of type string
+
+2014-08-09 11:24  neteler
+
+	* vector/v.clean/main.c, vector/v.in.ogr/main.c: v.clean/v.in.ogr:
+	  tell user that degree is unit in LL locations
+
+2014-08-09 02:21  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix a few minor issues
+	  with loading and checking layers when 3d view is set
+
+2014-08-09 02:15  wenzeslaus
+
+	* lib/python/docs/src/gunittest_testing.rst: gunittest: testing C
+	  functions using special module
+
+2014-08-08 21:31  annakrat
+
+	* lib/raster3d/gradient.c: r3.gradient: set voxels which have
+	  neighbors nulls to zero
+
+2014-08-08 17:08  annakrat
+
+	* lib/raster3d/gradient.c: libraster3d/gradient: do not ignore
+	  nulls completely
+
+2014-08-07 22:04  wenzeslaus
+
+	* lib/python/docs/src/gunittest_testing.rst: gunittest: more for
+	  the general documentation part
+
+2014-08-06 22:55  wenzeslaus
+
+	* lib/python/docs/src/gunittest_testing.rst: gunittest: remove
+	  obsolate notes and add quick links to documentation
+
+2014-08-06 21:46  wenzeslaus
+
+	* lib/python/docs/src/gunittest_testing.rst: gunittest: simple
+	  example at the beginning and terms
+
+2014-08-06 21:45  hcho
+
+	* raster/r.stream.distance/main.c: r.stream.distance: Don't
+	  allocate too much fifo memory. Use the same size as other
+	  r.stream.* modules
+
+2014-08-06 19:58  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI/search: fix finding next
+	  match on Mac - workaround for Enter resulting in EVT_TEXT
+
+2014-08-06 15:51  lucadelu
+
+	* vector/v.mkgrid/main.c, vector/v.mkgrid/write_grid.c: v.mkgrid:
+	  added breaks for vertical lines (ticket #1686)
+
+2014-08-06 13:52  martinl
+
+	* doc/howto_release.txt: how-to-release: add WinGRASS-related notes
+
+2014-08-06 13:30  martinl
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI/widgets: add missing
+	  import
+
+2014-08-06 07:07  martinl
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: add missing import
+
+2014-08-05 22:51  neteler
+
+	* INSTALL, doc/debugging.txt: updated supporting docs
+
+2014-08-05 21:45  neteler
+
+	* doc/raster/r.example/r.example.html,
+	  doc/vector/v.example/Makefile: raster/vector sample code: fixed
+
+2014-08-05 18:43  annakrat
+
+	* include/defs/raster3d.h, include/raster3d.h,
+	  lib/raster3d/gradient.c: libraster3d: add gradient computation
+	  for r3.flow and r3.gradient developed during GSoC 2014
+
+2014-08-05 06:59  neteler
+
+	* vector/v.outlier/main.c, vector/v.outlier/v.outlier.html:
+	  v.outlier: standardized soe/son parameters to ew_step/ns_step
+	  (trac #2299); minor code/msg style sync with v.surf.bspline
+
+2014-08-05 00:11  hamish
+
+	* display/d.legend/d.legend.html: spelling
+
+2014-08-04 22:01  neteler
+
+	* raster/r.resamp.bspline/crosscorr.c,
+	  raster/r.resamp.bspline/main.c,
+	  raster/r.resamp.bspline/r.resamp.bspline.html,
+	  scripts/r.fillnulls/r.fillnulls.py,
+	  vector/v.surf.bspline/crosscorr.c, vector/v.surf.bspline/main.c,
+	  vector/v.surf.bspline/v.surf.bspline.html:
+	  r.resamp.bspline/v.surf.bspline: standardized se/sn and sie/sin
+	  parameters to ew_step/ns_step (trac #2299); manual:
+	  r.resamp.bspline example added
+
+2014-08-04 21:54  lucadelu
+
+	* vector/v.mkgrid/local_proto.h, vector/v.mkgrid/main.c,
+	  vector/v.mkgrid/write_grid.c: v.mkgrid: added support to lines
+	  output through -l flag (ticket #394)
+
+2014-08-04 21:37  neteler
+
+	* raster/r.resamp.bspline/bspline.h,
+	  raster/r.resamp.bspline/crosscorr.c: r.resamp.bspline: sync
+	  formatting and output to vector/v.surf.bspline/crosscorr.c
+
+2014-08-04 21:37  neteler
+
+	* vector/v.surf.bspline/crosscorr.c: trivial formatting fixes
+
+2014-08-04 19:36  neteler
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI manual: cosmetics
+
+2014-08-04 12:46  zarch
+
+	* lib/python/pygrass/modules/interface/read.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_modules.py:
+	  pygrass: Substitute lambda with function to make Module instances
+	  pickable
+
+2014-08-04 12:44  zarch
+
+	* lib/python/pygrass/modules/interface/testsuite/test_modules.py:
+	  pygrass: exclude modules: g.parser and g.gui.* from the testsuite
+
+2014-08-04 10:10  martinl
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: new validators
+	  (EmailValidator, TimeISOValidator) by krejcmat (GSoC 2014)
+
+2014-08-03 22:01  neteler
+
+	* vector/v.generalize/main.c: v.generalize: create optionally error
+	  vector map (trac #2373)
+
+2014-08-03 03:09  annakrat
+
+	* gui/wxpython/animation/controller.py: wxGUI: fix syntax error
+	  introduced by previous commit r61503
+
+2014-08-03 03:01  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py: wxGUI/animation: update format
+	  automatically after editing in preferences
+
+2014-08-03 02:02  annakrat
+
+	* gui/wxpython/core/gconsole.py: wxGUI: fix unnecessary rerendering
+	  when running r.colors with multiple input maps
+
+2014-08-02 03:44  glynn
+
+	* raster/r.compress/r.compress.html: ZLIB compression is now the
+	  default (ticket #2349)
+
+2014-08-01 17:47  wenzeslaus
+
+	* lib/python/docs/src/gunittest_running_tests.rst,
+	  lib/python/docs/src/gunittest_testing.rst: gunittest: example of
+	  a bash script to run test scripts as a cron job, document new CLI
+
+2014-08-01 12:28  neteler
+
+	* raster/simwe/r.sim.water/r.sim.water.html: r.sim.water manual:
+	  explain nwalk + ref added
+
+2014-08-01 04:08  wenzeslaus
+
+	* lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/multireport.py,
+	  lib/python/gunittest/reporters.py: gunittest: index page for
+	  report with two links (to testsuites and to test files), proper
+	  HTML header for file with Unicode character (atempt to fix it in
+	  Chrome)
+
+2014-08-01 00:52  wenzeslaus
+
+	* lib/python/gunittest/multireport.py: gunittest: skip reports
+	  which does not contain key-value summary file (issue warning but
+	  not fail)
+
+2014-07-31 20:48  mmetz
+
+	* lib/vector/Vlib/build.c: Vlib: speed up Vect_isle_find_area()
+
+2014-07-31 20:46  mmetz
+
+	* lib/vector/Vlib/remove_areas.c: Vlib: fix native version of
+	  Vect_remove_small_areas()
+
+2014-07-31 20:34  wenzeslaus
+
+	* lib/python/gunittest/multirunner.py: gunittest: Python script to
+	  run tests in different locations from outside GRASS session
+
+2014-07-31 20:32  wenzeslaus
+
+	* lib/python/gunittest/__init__.py,
+	  lib/python/gunittest/checkers.py,
+	  lib/python/gunittest/invoker.py, lib/python/gunittest/loader.py,
+	  lib/python/gunittest/main.py,
+	  lib/python/gunittest/multireport.py,
+	  lib/python/gunittest/reporters.py: gunittest: new command line
+	  interface for main using argparse, additional info to test run
+	  main key-value file, do not fail when test cannot be imported,
+	  only try to import grass modules if possible to improve behavior
+	  when not running in proper GRASS session
+
+2014-07-31 18:40  annakrat
+
+	* gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py: wxGUI/wms: fix main dialog
+	  on Mac
+
+2014-07-31 17:56  annakrat
+
+	* gui/wxpython/web_services/dialogs.py: wxGUI/wms: fix finding
+	  named region
+
+2014-07-31 17:18  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: i18n: messages updated from template
+
+2014-07-31 17:04  neteler
+
+	* gui/wxpython/xml/toolboxes.xml, scripts/Makefile,
+	  scripts/i.colors.enhance, scripts/i.colors.enhance/Makefile,
+	  scripts/i.colors.enhance/i.colors.enhance.html,
+	  scripts/i.colors.enhance/i.colors.enhance.py,
+	  scripts/i.colors.enhance/i.landsat.rgb.html,
+	  scripts/i.colors.enhance/i.landsat.rgb.py,
+	  scripts/i.colors.enhance/i_col_enh_corr.jpg,
+	  scripts/i.colors.enhance/i_col_enh_uncorr.jpg,
+	  scripts/i.colors.enhance/i_landsat_rgb_corrected.jpg,
+	  scripts/i.colors.enhance/i_landsat_rgb_uncorrected.jpg,
+	  scripts/i.landsat.rgb, scripts/i.pansharpen/i.pansharpen.html,
+	  scripts/i.pansharpen/i.pansharpen.py: i.landsat.rgb renamed to
+	  i.colors.enhance (trac #2340)
+
+2014-07-31 16:53  neteler
+
+	* raster/r.in.lidar/main.c: r.in.lidar: support for intensity
+	  values added
+
+2014-07-31 16:51  neteler
+
+	* raster/r.series.interp/main.c: r.series.interp: msg cosmetics
+
+2014-07-31 15:13  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py: wxNviz: fix weird vector
+	  rendering on Mac in #2381
+
+2014-07-31 11:48  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI/vdigit: enable 'break lines
+	  on intersection' by default
+
+2014-07-31 11:47  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: break lines before
+	  adding centroids (add new area)
+
+2014-07-31 11:39  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI/vdigit: enable snapping to
+	  verteces by default
+
+2014-07-31 11:24  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/LocationMapTree: add
+	  style parameter (see r61469)
+
+2014-07-31 10:57  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/LocationMapTree: allow
+	  multiple selection
+
+2014-07-31 10:52  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/datacatalog: header
+	  cosmetics
+
+2014-07-31 03:13  annakrat
+
+	* lib/ogsf/gvd.c: libogsf: fix color rendering of 3D vector lines
+	  with defined color table
+
+2014-07-30 15:06  wenzeslaus
+
+	* temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py:
+	  testing: remove also rasters and 3D rasters (although rasters
+	  should be removed by t.remove)
+
+2014-07-30 15:04  wenzeslaus
+
+	* lib/python/gunittest/case.py: gunittest: possibility to
+	  automatically test non-empty module output (implemented for
+	  runModule and used in assertModuleKeyValue, motivation: zero
+	  return code but empty output by r3.univar in case of region diff
+	  from map region)
+
+2014-07-30 13:46  huhabla
+
+	* temporal/t.rast.to.rast3/testsuite,
+	  temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py:
+	  t.rast.to.rast3: Added gunittest framework tests
+
+2014-07-30 11:12  huhabla
+
+	* temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.to.rast3/test.t.rast.to.rast3.sh:
+	  t.rast.to.rast3: Fixed ticket #2366 by applying the patch from
+	  Anna
+
+2014-07-29 08:52  neteler
+
+	* man/build_html.py: manual: add FAQ url to index page
+
+2014-07-29 06:37  mmetz
+
+	* lib/vector/Vlib/level_two.c: Vlib: revert r60691, fix the module
+	  instead
+
+2014-07-29 03:37  wenzeslaus
+
+	* lib/python/gunittest/multireport.py: gunittest: script to collect
+	  data from several reports (uses keyvalue files as input, has HTML
+	  output only)
+
+2014-07-29 01:45  wenzeslaus
+
+	* lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/reporters.py: gunittest: different name for
+	  toplevel testsuite index (because of conflict with main index),
+	  close file, and finish main test files index sooner
+
+2014-07-29 01:01  wenzeslaus
+
+	* lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/reporters.py,
+	  lib/python/gunittest/runner.py: gunittest: generate keyvalue file
+	  for the whole report
+
+2014-07-28 18:59  huhabla
+
+	* lib/python/temporal/testsuite/test_register_function.py,
+	  lib/python/temporal/testsuite/test_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/test_temporal_raster_algebra.py,
+	  lib/python/temporal/testsuite/unittests_register.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py:
+	  temporal: Better test file names
+
+2014-07-28 18:53  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: temporal: Fixed
+	  mapset name doctest
+
+2014-07-28 18:37  huhabla
+
+	* lib/python/temporal/testsuite/test_doctests.py: temporal: Added
+	  temporal framework doctests to teststuite
+
+2014-07-28 18:36  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: temporal: Changed
+	  gras into gscript
+
+2014-07-28 16:54  huhabla
+
+	* temporal/t.rast.extract/testsuite/test_extract.py: Added error
+	  handling tests. Using SimpleModule() for t.info runs.
+
+2014-07-28 15:57  glynn
+
+	* lib/python/script/raster.py: Add env= parameter to mapcalc,
+	  mapcalc_start, raster_what
+
+2014-07-28 12:24  neteler
+
+	* raster/r.info/main.c: r.info: fix map name output with -e flag
+
+2014-07-28 10:56  mmetz
+
+	* lib/gis/flate.c: libgis: fix memory leak in G_zlib_compress()
+
+2014-07-28 07:17  mmetz
+
+	* lib/gis/gisinit.c: libgis: -1 is a valid compression level
+	  (Z_DEFAULT_COMPRESSION)
+
+2014-07-28 07:12  mmetz
+
+	* lib/gis/flate.c: libgis: add sanity check for compression_level
+
+2014-07-28 07:00  mmetz
+
+	* lib/init/variables.html: libinit: fix GRASS_ZLIB_LEVEL
+	  documentation
+
+2014-07-27 04:02  wenzeslaus
+
+	* lib/python/gunittest/invoker.py, lib/python/gunittest/main.py,
+	  lib/python/gunittest/reporters.py: gunittest: functions to remove
+	  full paths from standard output and other files
+
+2014-07-27 01:53  annakrat
+
+	* lib/python/imaging/images2gif.py: wxGUI/animation: fix GIF export
+	  for Pillow, #2177
+
+2014-07-26 23:37  glynn
+
+	* imagery/i.ortho.photo/i.ortho.rectify/readcell.c,
+	  imagery/i.rectify/readcell.c, raster/r.proj/readcell.c: Use
+	  lib/gis PRNG for readcell()
+
+2014-07-26 23:22  glynn
+
+	* include/defs/gmath.h, lib/gmath/gauss.c, lib/gmath/rand1.c,
+	  lib/raster/color_rand.c, raster/r.flow/main.c,
+	  raster/r.li/r.li.daemon/daemon.c, raster/r.random/creat_rand.c,
+	  raster/r.spread/main.c, raster/r.spread/pick_dist.c,
+	  raster/r.spread/pick_ignite.c, raster/r.surf.fractal/spec_syn.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.random/randsurf.c,
+	  vector/v.extract/main.c, vector/v.kcv/main.c,
+	  vector/v.qcount/findquads.c, vector/v.random/main.c: Replace
+	  rand/random/lrand48/etc with lib/gis random number functions
+
+2014-07-25 22:10  wenzeslaus
+
+	* lib/python/gunittest/runner.py: gunittest: call the right method
+	  in multi reporter (was breaking test_geometry test in pygrass)
+
+2014-07-25 21:59  wenzeslaus
+
+	* lib/python/gunittest/main.py, lib/python/gunittest/reporters.py:
+	  gunittest: remove Python coverage (needs settings and test types
+	  to work properly)
+
+2014-07-25 21:51  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/reporters.py,
+	  lib/python/gunittest/runner.py: gunittest: add summary table and
+	  stderr to test file HTML report
+
+2014-07-25 20:10  wenzeslaus
+
+	* lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/reporters.py: gunittest: add reports for
+	  testsuites and their summary
+
+2014-07-25 14:39  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS: wrong file
+	  permissions for grassXY.py on Windows (#2290)
+
+2014-07-25 13:58  wenzeslaus
+
+	* lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/reporters.py: gunittest: add function to
+	  obtain SVN authors and store test file authors to key-value
+	  summary
+
+2014-07-25 09:52  martinl
+
+	* vector/v.external.out/main.c: v.external.out: print message about
+	  output format only when settings changed
+
+2014-07-25 09:50  martinl
+
+	* vector/v.external.out/main.c: v.external.out: print message about
+	  output format
+
+2014-07-25 02:50  wenzeslaus
+
+	* lib/python/pygrass/modules/interface/testsuite/test_modules.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_parameter.py,
+	  lib/python/pygrass/vector/testsuite/test_geometry.py,
+	  lib/python/pygrass/vector/testsuite/test_table.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py:
+	  testing: use gunittest instead of Python unittest (now key-value
+	  summary can be collected)
+
+2014-07-25 02:46  wenzeslaus
+
+	* lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/reporters.py: gunittest: store returncode,
+	  color for percentages
+
+2014-07-25 01:53  wenzeslaus
+
+	* lib/python/gunittest/reporters.py,
+	  lib/python/gunittest/runner.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_error.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_import_error.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_gfatalerror.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_one.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_zero.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_segfaut.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_one.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_zero.py,
+	  lib/python/gunittest/testsuite/data/samplecode/submodule_test_fail/testsuite/test_fail.py,
+	  lib/python/gunittest/testsuite/data/samplecode/testsuite/test_good_and_bad.py,
+	  lib/python/gunittest/testsuite/data/samplecode/testsuite/test_python_unittest.py,
+	  lib/python/gunittest/testsuite/data/samplecode/testsuite/test_success.py:
+	  gunittest: count (and store) successful tests to get the right
+	  number; use gunittest for gunittest's test data
+
+2014-07-24 22:23  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/main.py, lib/python/gunittest/reporters.py,
+	  lib/python/gunittest/runner.py: gunittest: multi test result
+	  class and key-value report for one test file and their
+	  aggregation (aggregation not well tested)
+
+2014-07-24 14:19  glynn
+
+	* lib/python/script/raster.py: Add seed= parameter to
+	  grass.script.mapcalc()
+
+2014-07-24 03:25  wenzeslaus
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/gui_core: use standard
+	  format for option name with type in box label in forms (e.g.
+	  g.mlist now has 'type=string' instead of 'type, string')
+
+2014-07-24 02:38  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/xml/toolboxes.xml,
+	  gui/wxpython/xml/wxgui_items.xml: wxGUI: launch Timeline Tool
+	  directly from menu
+
+2014-07-24 00:58  annakrat
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI/mapswipe: fix drawing
+	  cross in mirror mode reported in #2377
+
+2014-07-23 21:06  glynn
+
+	* lib/gis/G.h, lib/gis/flate.c, lib/gis/gisinit.c,
+	  lib/init/variables.html, lib/raster/init.c: Enable zlib
+	  compression by default (set GRASS_INT_ZLIB=0 to use RLE)
+	  Allow zlib compression to be set via GRASS_ZLIB_LEVEL environment
+	  variable
+
+2014-07-23 19:09  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix showing and hiding
+	  legend which has histogram
+
+2014-07-23 18:57  annakrat
+
+	* lib/python/temporal/aggregation.py: temporal: fix calling pygrass
+	  in aggregation method
+
+2014-07-23 10:41  martinl
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: r.mapcalc: manual cosmetics
+	  (options in bold)
+
+2014-07-23 09:43  neteler
+
+	* raster/r.in.gdal/main.c: r.in.gdal: predefine 300 MiB as default
+	  cache size
+
+2014-07-23 09:33  neteler
+
+	* raster/r.in.gdal/main.c: r.in.gdal: predefine 300 MiB as default
+	  cache size; msg cosmetics
+
+2014-07-23 08:33  neteler
+
+	* raster/r.in.gdal/main.c: r.in.gdal: user msg about actually used
+	  GDAL cache size
+
+2014-07-23 07:37  martinl
+
+	* lib/init/variables.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html: GRASS_RND_SEED
+	  replaced by seed= (see r61353)
+
+2014-07-23 02:31  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: check named region name
+	  for illegal characters only when saving the region
+
+2014-07-23 02:09  wenzeslaus
+
+	* raster/r.mapcalc/testsuite,
+	  raster/r.mapcalc/testsuite/test_r_mapcalc.py: r.mapcalc: tests
+	  for seed option and -s flag (testing r61353)
+
+2014-07-23 02:04  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: seed
+	  handling added to the interface
+
+2014-07-22 23:51  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/globals.h,
+	  raster/r.mapcalc/main.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html, raster/r.mapcalc/xrand.c:
+	  Replace GRASS_RND_SEED with seed= option and -s flag
+	  Use lib/gis PRNG
+	  Store seed in history
+
+2014-07-22 23:49  glynn
+
+	* lib/gis/lrand48.c: Add documentation comments
+	  Generate fatal error if requesting values without having seeded
+
+2014-07-22 23:31  annakrat
+
+	* lib/gis/parser.c, lib/gis/parser_dependencies.c,
+	  lib/gis/parser_local_proto.h: parser: use new option rule to
+	  launch module dialog when there is at least one option in a group
+	  specified as required
+
+2014-07-22 22:26  glynn
+
+	* include/defs/gis.h, lib/gis/lrand48.c: Add portable lrand48 (etc)
+	  implementation
+
+2014-07-22 21:45  neteler
+
+	* vector/v.vect.stats/main.c: v.vect.stats: fix compiler warning
+
+2014-07-22 20:01  wenzeslaus
+
+	* lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/reporters.py: gunittest: introduce
+	  possibility of multiple reports for test file invoker (now HTML
+	  report and simple text report)
+
+2014-07-22 19:55  martinl
+
+	* translators.csv: translators: fix typo
+
+2014-07-22 18:42  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: fix typo in fn name
+	  (split line)
+
+2014-07-22 18:36  annakrat
+
+	* raster/r.proj/main.c: r.proj: fix #1262, r.proj was still
+	  crashing on Windows
+
+2014-07-22 16:24  wenzeslaus
+
+	* lib/python/gunittest/invoker.py,
+	  lib/python/gunittest/reporters.py: gunittest: summary of test
+	  files (count and percentage)
+
+2014-07-22 13:30  neteler
+
+	* imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html,
+	  imagery/i.eb.netrad/i.eb.netrad.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html: fix r60937
+	  (this is really the job of the module author)
+
+2014-07-22 13:24  neteler
+
+	* imagery/i.eb.hsebal01/i.eb.hsebal01.html: fix r60937
+
+2014-07-22 13:03  neteler
+
+	* raster/r.series.accumulate/r.series.accumulate.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html:
+	  r.series.accumulate + t.rast.accumulate manual: reference added
+
+2014-07-22 08:37  neteler
+
+	* imagery/i.aster.toar/main.c, vector/v.lrs/v.lrs.label/main.c:
+	  avoid use of private PI definitions
+
+2014-07-22 04:35  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: warning not to use
+	  illegal characters in named region, #1370
+
+2014-07-22 03:46  annakrat
+
+	* gui/wxpython/web_services/dialogs.py: wxGUI/wms: implement saving
+	  layer based on display geometry, small dialog changes
+
+2014-07-22 03:03  wenzeslaus
+
+	* REQUIREMENTS.html, configure, configure.in,
+	  include/Make/Grass.make, include/Make/Platform.make.in,
+	  include/config.h.in, include/defs/ogsf.h, lib/nviz/Makefile,
+	  lib/ogsf/Makefile, lib/ogsf/gsd_img_mpeg.c: remove unused ffmpeg
+	  (libavutil) dependency (used by older nviz, now creating issues
+	  with includes #2017)
+
+2014-07-21 19:28  huhabla
+
+	* lib/python/temporal/univar_statistics.py: temporallib: Fixed
+	  error message
+
+2014-07-21 16:02  neteler
+
+	* locale/po/grasslibs_es.po: Javier Garcia Prieto: ES translation
+	  cont'ed)
+
+2014-07-21 13:45  neteler
+
+	* configure, configure.in: configure: use standard system directory
+	  for PROJSHARE (--with-proj-share)
+
+2014-07-21 13:32  neteler
+
+	* raster/r.resamp.stats/r.resamp.stats.html,
+	  raster/r.resamp.stats/r_resamp_stats_6m_20m.png: r.resamp.stats
+	  manual: screenshot added
+
+2014-07-21 13:16  neteler
+
+	* raster/r.shaded.relief/r.shaded.relief.html,
+	  raster/r.shaded.relief/r_shaded_relief.png: r.shaded.relief
+	  manual: screenshot added
+
+2014-07-21 12:54  neteler
+
+	* vector/v.overlay/v.overlay.html,
+	  vector/v.overlay/v_overlay_poly_1_2.png,
+	  vector/v.overlay/v_overlay_poly_1_2_a_o_n_x.png: v.overlay
+	  manual: examples with screenshots added
+
+2014-07-21 09:02  huhabla
+
+	* scripts/i.oif/i.oif.py: i.oif: Fixed r.covar output parsing
+
+2014-07-20 16:03  huhabla
+
+	* lib/raster3d/raster3d_intern.h, lib/raster3d/region.c,
+	  lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value.c,
+	  lib/raster3d/test/test_put_get_value_large_file.c,
+	  lib/raster3d/testsuite/raster3d_lib_test.py: raster3dlib: Using
+	  Macros to reduce function nesting in coordinate to index
+	  conversion.
+	  Updated the testsuite.
+
+2014-07-20 15:59  huhabla
+
+	* raster3d/r3.neighbors/test_suite/test.r3.neighbors.sh:
+	  r3.neighbors: testsuite: Better overwrite handling in test script
+
+2014-07-20 15:55  huhabla
+
+	* lib/raster3d/raster3dlib.dox: raster3dlib: Small doxygen update
+
+2014-07-20 13:52  huhabla
+
+	* raster/r.gwflow/testsuite/validation_7x7_grid.py,
+	  raster/r.gwflow/testsuite/validation_excavation.py: r.gwflow:
+	  testsuite: Use class functions to run modules.
+
+2014-07-20 00:18  huhabla
+
+	* raster/r.series.interp/testsuite/data,
+	  raster/r.series.interp/testsuite/data/infile_2.txt,
+	  raster/r.series.interp/testsuite/data/outfile_1.txt,
+	  raster/r.series.interp/testsuite/data/outfile_2.txt,
+	  raster/r.series.interp/testsuite/data/outfile_corrupt.txt,
+	  raster/r.series.interp/testsuite/infile_2.txt,
+	  raster/r.series.interp/testsuite/interp_test.py,
+	  raster/r.series.interp/testsuite/outfile_1.txt,
+	  raster/r.series.interp/testsuite/outfile_2.txt,
+	  raster/r.series.interp/testsuite/outfile_corrupt.txt:
+	  r.series.interp: Use data directory to store test input data
+
+2014-07-20 00:02  huhabla
+
+	* include/defs/raster3d.h, lib/raster3d/region.c,
+	  lib/raster3d/test/test_coordinate_transform.c,
+	  lib/raster3d/test/test_put_get_value.c, lib/raster3d/window.c:
+	  raster3dlib: Fixed wrong northern coordinates to row conversion
+	  resulting from wrong
+	  index scheme for rows in the raster3d library unittest. Updated
+	  the tests accordingly.
+	  Added Rast3d_location2coord_double() to receive col,
+	  row and depth indices as double values.
+	  
+	  Unfortunately changed the editor that i use the indention and
+	  converted
+	  all tabs into spaces at save time. Hence,
+	  the commit contains 95% tab to space conversion noise.
+	  
+	  The important changes are in region.c in Rast3d_location2coord()
+	  and in test_coordinate_transform.c and test_put_get_value.c in
+	  the test directory.
+
+2014-07-19 16:58  wenzeslaus
+
+	* gui/icons/grass/aspect-arrow.png, gui/icons/grass/cell-cats.png,
+	  gui/icons/grass/his.png, gui/icons/grass/label.png,
+	  gui/icons/grass/raster.png, gui/icons/grass/raster3d.png,
+	  gui/icons/grass/rgb.png, gui/icons/grass/shaded-relief.png,
+	  gui/icons/grass/vector-chart.png,
+	  gui/icons/grass/vector-thematic.png, gui/icons/grass/vector.png,
+	  gui/icons/grass/wms.png, gui/wxpython/lmgr/layertree.py: wxGUI:
+	  icons for layers in lmgr tree without 'layer' and 'add' symbols
+	  
+	  Size of icons is 16x16 to avoid imperfect resampling at some (or
+	  all) platforms.
+	  The motivation is to make the icons more useful, they now can
+	  actually help to recognize type of layer.
+	  The commit assumes that the icon objects defined in layertree are
+	  used only for layers, not for other things although item label
+	  suggests that.
+	  Command and grid layer still use the layer-xxx-add icon because
+	  there is no SVG for them in OSGeo icons
+	  (trac.osgeo.org/osgeo/browser/graphics/trunk/).
+	  Geodesic and rhumbline layers are already using an icon with this
+	  style (the same icon, actually).
+
+2014-07-19 14:56  wenzeslaus
+
+	* gui/wxpython/core/workspace.py: wxGUI/workspace: do not parse
+	  task node for command layer
+	  
+	  Parsing caused TypeError because task node is not saved for
+	  command layer.
+	  But command layer is loaded or rendered in some other way which
+	  makes 'pass' to be a sufficient solution.
+
+2014-07-19 11:48  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: nsis-script: SW_SHOWMINIMIZED
+	  => SW_SHOWNORMAL (Ticket #2372); description fix
+
+2014-07-18 09:18  huhabla
+
+	* vector/v.generalize/main.c: Use G_warning() to warn about not
+	  generalized lines and boundaries
+
+2014-07-18 08:55  huhabla
+
+	* lib/raster3d/test/test.raster3d.lib.html,
+	  lib/raster3d/test/test_main.c: Fixed manpage keyword parsing bug
+
+2014-07-18 08:16  martinl
+
+	* lib/init/grass.py: grass.py: revert "do not override already set
+	  GRASS environmental variables"
+	  http://lists.osgeo.org/pipermail/grass-dev/2014-July/069986.html
+
+2014-07-18 03:43  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib/script: return debug level
+	  also for the first invocation (inconsistent undocumented function
+	  return values inconsitency found by python -3 option used in
+	  tests - None > 0 is DeprecationWarning in 2.7, TypeError in 3.x)
+
+2014-07-17 22:14  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix #1972 (v.in.ogr
+	  wrapper fails with UnicodeEncodeError)
+
+2014-07-17 21:30  annakrat
+
+	* gui/wxpython/wxplot/profile.py: wxGUI/profile: fix #1787 - wxplot
+	  now converts distance from meters to the current units
+
+2014-07-17 20:42  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py: wxGUI: fix full screen on
+	  Windows by using accelerator table
+
+2014-07-17 18:38  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/main.py,
+	  lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14.txt,
+	  lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_diff_header.txt,
+	  lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_modified.txt,
+	  lib/python/gunittest/testsuite/test_assertions_vect.py:
+	  gunittest: assert methods for testing vector equality based on
+	  v.info and diff of ascii, most notably assertVectorEqualsVector
+	  and assertVectorEqualsAscii (with tests)
+
+2014-07-17 03:51  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/main.py,
+	  lib/python/gunittest/testsuite/test_assertions.py,
+	  lib/python/gunittest/testsuite/test_assertions_rast3d.py,
+	  lib/python/gunittest/testsuite/test_assertions_vect.py:
+	  gunittest: 3D raster assert methods (with tests), vector assert
+	  methods (v.info-based with tests)
+
+2014-07-16 15:57  hcho
+
+	* raster/r.stream.distance/main.c: r.stream.distance: Error message
+	  (one output raster maps => one output raster map)
+
+2014-07-16 15:55  hcho
+
+	* raster/r.stream.distance/r.stream.distance.html:
+	  r.stream.distance: 80 chars/line in the manual
+
+2014-07-16 15:49  hcho
+
+	* raster/r.stream.distance/r.stream.distance.html:
+	  r.stream.distance: Correct the manual. The farthest
+	  maximum/divide is the default option
+
+2014-07-16 11:15  hcho
+
+	* raster/r.clump/main.c: r.clump: -p => -g for consistency
+
+2014-07-14 19:03  wenzeslaus
+
+	* gui/wxpython/core/utils.py: wxGUI/core: use gray always, sync
+	  purple with lib/gis/color_str.c although it is probably wrong
+	  
+	  before: depending on dict ordering gray or grey was used,
+	  (un)checking Transparent in GUI caused switching from gray to
+	  grey
+	  purple: accoring to Wikipedia it is different from violet and was
+	  correctly defined in the GUI before but this was not the same as
+	  in library
+
+2014-07-14 18:27  wenzeslaus
+
+	* display/d.rast.num/main.c: d.rast.num: fix grid option label (was
+	  Backgroud color), readable lables, text color first
+
+2014-07-14 08:24  mmetz
+
+	* raster/r.series.accumulate/main.c: r.series.accumulate: fix gdd
+	  and related
+
+2014-07-13 16:30  neteler
+
+	* raster/r.neighbors/r.neighbors.html: r.neighbors manual: HTML
+	  cosmetics
+
+2014-07-13 16:29  neteler
+
+	* raster/r.neighbors/r.neighbors.html: r.neighbors manual: HTML
+	  cosmetics
+
+2014-07-12 20:21  wenzeslaus
+
+	* lib/python/docs/src/gunittest_testing.rst,
+	  lib/python/gunittest/invoker.py, lib/python/gunittest/main.py,
+	  lib/python/gunittest/reporters.py: gunittest: support older
+	  version of svn by getting relative URL from absolute one (ticket
+	  #2364), also improve documentation about data directory (ticket
+	  #2365)
+
+2014-07-12 11:51  huhabla
+
+	* lib/vector/rtree/test_suite/test.gmath.lib.html,
+	  lib/vector/rtree/test_suite/test_main.c: Fixed wrong description
+	  and obsolete options and flags. Removed wrong html description
+	  file.
+
+2014-07-12 11:33  huhabla
+
+	* lib/Makefile, lib/raster3d/test/test_main.c,
+	  lib/raster3d/testsuite,
+	  lib/raster3d/testsuite/raster3d_lib_test.py: Raster3d library
+	  test module is now activated in the library directory Makefile.
+	  Removed obsolete integration test options in test.raster3d.lib
+	  and added a gunittest library test to the raster3d library.
+
+2014-07-12 10:54  huhabla
+
+	* raster/r.series.interp/test_suite: Removed obsolete shell script
+	  test
+
+2014-07-12 10:51  huhabla
+
+	* raster/r.series.interp/testsuite/interp_test.py: Correct test
+	  function name
+
+2014-07-12 10:38  huhabla
+
+	* raster/r.series.interp/main.c, raster/r.series.interp/testsuite,
+	  raster/r.series.interp/testsuite/infile_2.txt,
+	  raster/r.series.interp/testsuite/interp_test.py,
+	  raster/r.series.interp/testsuite/outfile_1.txt,
+	  raster/r.series.interp/testsuite/outfile_2.txt,
+	  raster/r.series.interp/testsuite/outfile_corrupt.txt: Converted
+	  shell test script into Python using the gunittest framework.
+	  Fixed command line description.
+
+2014-07-11 17:24  wenzeslaus
+
+	* lib/python/docs/src/gunittest_testing.rst,
+	  lib/python/gunittest/case.py, lib/python/gunittest/gmodules.py,
+	  lib/python/gunittest/testsuite/test_assertions.py,
+	  lib/python/gunittest/testsuite/test_module_assertions.py:
+	  gunittest: use PyGRASS for the whole module run (use finish_ and
+	  try-except), few updates in doc
+
+2014-07-10 19:03  wenzeslaus
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/datacatalog: use GRASS
+	  standard message format with <>, use string formatting instead of
+	  plus (to enable good translations), use keyword arguments when
+	  parameter names are unclear, prefer shorter lines
+
+2014-07-10 15:57  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/checkers.py,
+	  lib/python/gunittest/testsuite/test_assertions.py,
+	  temporal/t.rast.extract/testsuite/test_extract.py: gunittest:
+	  rename assertCommandKeyValue to assertModuleKeyValue to be
+	  consistent with pygrass and rest of gunittest
+
+2014-07-10 15:37  wenzeslaus
+
+	* lib/python/gunittest/case.py, lib/python/gunittest/gmodules.py,
+	  lib/python/gunittest/testsuite/test_assertions.py,
+	  lib/python/gunittest/testsuite/test_module_assertions.py,
+	  lib/python/pygrass/modules/interface/module.py: gunittest: handle
+	  process manually since pygrass would raise an exception
+	  (introduced in r61229, alternative would be to use try-except,
+	  SimpleModule doctest is failing), clean up some module calls (use
+	  SimpleModule), improve CalledModuleError creation in pygrass
+
+2014-07-10 09:24  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: Module
+	  class raise a CalledModuleError if return code is not 0, when
+	  user run a Module instance without asking to handle the process
+	  (therefore with finish_==True).
+
+2014-07-10 03:24  wenzeslaus
+
+	* lib/python/docs/Makefile, lib/python/docs/conf.py,
+	  lib/python/docs/src/gunittest_testing.rst,
+	  lib/python/docs/src/index.rst, lib/python/gunittest/testing.rst:
+	  sphinx: add gunittest and exceptions to sphinx, few improvements
+	  in testing doc
+
+2014-07-10 02:18  wenzeslaus
+
+	* lib/python/temporal/testsuite/unittests_register.py: testing: use
+	  gunittest methods for temporary region, remove trailing
+	  whitespace
+	  
+	  motivation for fix is actually a change of 'grass' from
+	  'grass.script' back to 'grass' after 'import grass.gunittest' and
+	  subsequent error when acessing grass.script.use_temp_region (this
+	  is not a problem of gunittest, its import or Python, this shows
+	  how 'import grass.script as grass' is a bad practice)
+	  
+	  moreover, grass.script.overwrite is a function, so assigning True
+	  does nothing (although the suggested API is interesting)
+
+2014-07-10 02:00  wenzeslaus
+
+	* general/g.list/testsuite/test_g_list.py,
+	  general/g.mlist/testsuite/test_g_mlist.py,
+	  general/g.mremove/testsuite/test_g_mremove.py,
+	  lib/python/Makefile, lib/python/gunittest/Makefile,
+	  lib/python/gunittest/testsuite/test_assertions.py,
+	  lib/python/gunittest/testsuite/test_checkers.py,
+	  lib/python/gunittest/testsuite/test_doctests.py,
+	  lib/python/gunittest/testsuite/test_gmodules.py,
+	  lib/python/gunittest/testsuite/test_module_assertions.py,
+	  lib/python/temporal/testsuite/unittests_register.py,
+	  raster/r.gwflow/testsuite/validation_7x7_grid.py,
+	  raster/r.gwflow/testsuite/validation_excavation.py,
+	  raster/r.slope.aspect/testsuite/test_r_slope_aspect.py,
+	  temporal/t.rast.extract/testsuite/test_extract.py: gunittest:
+	  makefiles and import as a standard grass package (so far no
+	  reason for different import)
+
+2014-07-10 00:59  wenzeslaus
+
+	* lib/python/gunittest,
+	  lib/python/gunittest/grass_py_static_check.py: gunittest: move
+	  package from sandbox to trunk (leave static check script in
+	  sandbox)
+
+2014-07-09 15:16  wenzeslaus
+
+	* lib/python/exceptions/__init__.py: pythonlib: add
+	  CalledModuleError exception used by gunittest and potentially to
+	  be used by PyGRASS or script.core
+
+2014-07-09 12:08  martinl
+
+	* lib/init/grass.py: fix grass.py to accept custom PS1 and aliases
+	  (bashrc)
+
+2014-07-09 11:05  huhabla
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.py: Fixed wron
+	  start_time assinment
+
+2014-07-09 10:34  zarch
+
+	* lib/python/pygrass/vector/abstract.py: pygrass: Clean code for
+	  with statement of Vector classes
+
+2014-07-09 10:32  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: pygrass: Avoid
+	  conversion if default parameter is an empty string
+
+2014-07-09 08:45  hellik
+
+	* raster/r.neighbors/r.neighbors.html: r.neighbors.html: annulus
+	  shaped neighborhood example added
+
+2014-07-09 03:09  hcho
+
+	* raster/r.stream.distance/distance_calc.c,
+	  raster/r.stream.distance/distance_init.c,
+	  raster/r.stream.distance/local_proto.h,
+	  raster/r.stream.distance/local_vars.h,
+	  raster/r.stream.distance/main.c,
+	  raster/r.stream.distance/r.stream.distance.html:
+	  r.stream.distance: Change the output type from FCELL to DCELL for
+	  a higher precision (ticket #2359)
+
+2014-07-09 03:01  wenzeslaus
+
+	* raster/r.slope.aspect/testsuite,
+	  raster/r.slope.aspect/testsuite/data,
+	  raster/r.slope.aspect/testsuite/data/fractal_surf.ascii,
+	  raster/r.slope.aspect/testsuite/data/gdal_aspect.grd,
+	  raster/r.slope.aspect/testsuite/data/gdal_aspect.grd.aux.xml,
+	  raster/r.slope.aspect/testsuite/data/gdal_slope.grd,
+	  raster/r.slope.aspect/testsuite/data/gdal_slope.grd.aux.xml,
+	  raster/r.slope.aspect/testsuite/test_r_slope_aspect.py: testing:
+	  add tests of slope and aspect to r.slope.aspect
+
+2014-07-08 21:37  wenzeslaus
+
+	* general/g.list/testsuite/test_g_list.py,
+	  general/g.mlist/testsuite/test_g_mlist.py,
+	  general/g.mremove/testsuite/test_g_mremove.py: testing: rewrite
+	  tests to use gunittest (foreing mapset not expected on the path
+	  and not added)
+
+2014-07-08 16:09  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_parameter.py:
+	  pygrass: Fix BASH rapresentation of a parameter
+
+2014-07-08 16:08  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: Fix
+	  stdout and stderr
+
+2014-07-08 14:49  huhabla
+
+	* lib/python/temporal/testsuite/unittests_register.py: Use
+	  runModule outside test functions, locate tearDown() near setUp()
+
+2014-07-08 14:42  huhabla
+
+	* raster/r.gwflow/testsuite/validation_7x7_grid.py,
+	  raster/r.gwflow/testsuite/validation_excavation.py: Cite from
+	  Vaclav: it is a good idea to write tear down just after set up
+
+2014-07-08 14:39  huhabla
+
+	* temporal/t.rast.extract/test.t.rast.extract.sh,
+	  temporal/t.rast.extract/testsuite,
+	  temporal/t.rast.extract/testsuite/test_extract.py,
+	  temporal/t.remove/t.remove.py: Converted shell test into
+	  gunittest. Added testsuite directory.
+
+2014-07-08 14:36  huhabla
+
+	* raster/r.gwflow/testsuite/validation_7x7_grid.py,
+	  raster/r.gwflow/testsuite/validation_excavation.py: Use
+	  runModule() outside test functions
+
+2014-07-08 14:24  annakrat
+
+	* raster/r.info/main.c: r.info: fix reporting categories on
+	  Windows, related to #2357 (r3.info crash on Windows)
+
+2014-07-08 13:00  hcho
+
+	* raster/r.stream.distance/r.stream.distance.html:
+	  r.stream.distance: Fix typos in the manual
+
+2014-07-08 12:09  zarch
+
+	* gui/wxpython/wxgui.py, lib/python/Makefile,
+	  lib/python/exceptions, lib/python/exceptions/Makefile,
+	  lib/python/exceptions/__init__.py, lib/python/pygrass/errors.py,
+	  lib/python/pygrass/messages/__init__.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/script/core.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/temporal_algebra.py: exceptions: Move
+	  exceptions from around the GRASS code to one place
+
+2014-07-08 10:58  huhabla
+
+	* raster/r.gwflow/testsuite/validation_7x7_grid.py,
+	  raster/r.gwflow/testsuite/validation_excavation.py: Test update
+	  to use the latest improvements in PyGRASS
+
+2014-07-08 08:24  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_parameter.py:
+	  pygrass: Better handling of multiple and keydescvalues parameters
+
+2014-07-08 07:10  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/testsuite/test_parameter.py:
+	  pygrass: modify the parameter check function to be less stringent
+	  with strings parameters
+
+2014-07-07 23:00  huhabla
+
+	* lib/python/temporal/testsuite/unittests_register.py: PyGRASS
+	  module run error workaround implemented
+
+2014-07-07 22:49  huhabla
+
+	* raster/r.gwflow/testsuite,
+	  raster/r.gwflow/testsuite/validation_7x7_grid.py,
+	  raster/r.gwflow/testsuite/validation_excavation.py,
+	  raster/r.gwflow/valid_calc_7x7.py,
+	  raster/r.gwflow/valid_calc_excavation.py: Moved the validation
+	  code into the testsuite directory that contains now gunittests
+	  with r.info and r.univar validation of raster results.
+
+2014-07-07 22:17  wenzeslaus
+
+	* general/g.list/test_g_list.py, general/g.list/testsuite,
+	  general/g.list/testsuite/test_g_list.py,
+	  general/g.mlist/test_g_mlist.py, general/g.mlist/testsuite,
+	  general/g.mlist/testsuite/test_g_mlist.py,
+	  general/g.mremove/testsuite,
+	  general/g.mremove/testsuite/test_g_mremove.py: testing: move
+	  g.mlist, g.mremove and g.list tests to testsuite directory (so
+	  that gunittest can find them)
+
+2014-07-07 21:25  wenzeslaus
+
+	* lib/python/temporal/testsuite/unittests_register.py: testing: use
+	  runModule for general runs, use name TestCase and simpler imports
+	  (introduced in r61174)
+
+2014-07-07 20:11  annakrat
+
+	* raster3d/r3.info/r3.info.main.c: r3.info: attempt to fix #2357
+	  (r3.info crash on Windows)
+
+2014-07-07 19:50  annakrat
+
+	* gui/wxpython/core/gcmd.py: wxGUI: do not add extension to
+	  scripts, this should fix launching gui for now, need to be
+	  revised
+
+2014-07-07 15:21  hcho
+
+	* raster/r.clump/clump.c, raster/r.clump/local_proto.h,
+	  raster/r.clump/main.c: r.clump: Add -p flag to print only the
+	  number of clumps in shell script style
+
+2014-07-07 10:24  hcho
+
+	* raster/r.reclass/reclass.c: r.reclass: Delete fp raster maps only
+
+2014-07-07 10:24  zarch
+
+	* lib/python/pygrass/modules/interface/testsuite/test_parameter.py:
+	  pygrass: Add test to check Parameter value check
+
+2014-07-07 10:20  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: pygrass:
+	  Parameter check refactoring and add examples and documentation
+
+2014-07-07 10:00  zarch
+
+	* lib/python/pygrass/modules/interface/read.py: pygrass: Add
+	  parameter tag: guidependency
+
+2014-07-07 09:03  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/global.h,
+	  raster/r.topmodel/topmodel.c: r.topmodel: Refactored area
+	  calculation
+
+2014-07-07 04:21  hcho
+
+	* raster/r.reclass/main.c, raster/r.reclass/parse.c: r.reclass:
+	  Print messages to stderr
+
+2014-07-07 00:45  hcho
+
+	* raster/r.reclass/Makefile, raster/r.reclass/reclass.c: r.reclass:
+	  Fix "Unable to write range file" error when overwriting fp maps
+
+2014-07-04 17:54  huhabla
+
+	* lib/python/temporal/testsuite,
+	  lib/python/temporal/testsuite/unittests_register.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/unittests_register.py,
+	  lib/python/temporal/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/unittests_temporal_raster_algebra.py: Moved
+	  unittests of the temporal framework into a testsuite directory.
+	  The unittest_register.py test
+	  was implemented to use the gunittest framework from Vaclav GSoC
+	  project.
+
+2014-07-04 16:44  huhabla
+
+	* lib/python/temporal/unittests_register.py,
+	  lib/temporal/lib/default_name.c: Enable default mapset specific
+	  temporal database creation using g.gisenv
+	  set="TGIS_USE_CURRENT_MAPSET=1". This variable can be located in
+	  gisrc or in the mapset settings.
+
+2014-07-04 14:01  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: Move and
+	  add documentation
+
+2014-07-04 13:59  zarch
+
+	* lib/python/pygrass/modules/interface/flag.py: pygrass: Add
+	  documentation
+
+2014-07-04 10:32  lucadelu
+
+	* gui/wxpython/docs/wxgui_sphinx/Makefile,
+	  gui/wxpython/docs/wxgui_sphinx/index.rst,
+	  gui/wxpython/docs/wxgui_sphinx/src,
+	  gui/wxpython/docs/wxgui_sphinx/src/index.rst,
+	  gui/wxpython/docs/wxgui_sphinx/src/wxgui_libraries.rst,
+	  gui/wxpython/docs/wxgui_sphinx/src/wxgui_tools.rst,
+	  gui/wxpython/docs/wxgui_sphinx/wxgui_libraries.rst,
+	  gui/wxpython/docs/wxgui_sphinx/wxgui_tools.rst,
+	  include/Make/Sphinx.make, lib/python/docs/Makefile: sphinx
+	  documentation: fix requirements check; move rst files into src/
+	  directory for wxgui
+
+2014-07-04 10:00  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/datacatalog: change
+	  method name from r61150 (cosmetics)
+
+2014-07-04 09:49  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/datacatalog: select
+	  current location and expand it when loading tree
+
+2014-07-04 07:56  zarch
+
+	* lib/python/pygrass/gis/region.py: pygrass: Add documentation and
+	  indent code blocks
+
+2014-07-04 06:27  zarch
+
+	* lib/python/pygrass/gis/__init__.py: pygrass: Add docs to
+	  Gisdbase, Location, Mapset classes and small clean code
+
+2014-07-03 15:02  martinl
+
+	* lib/init/grass.py: grass.py: do not include 'scripts' tp the path
+	  on windows
+
+2014-07-03 14:56  lucadelu
+
+	* include/Make/Sphinx.make, lib/python/docs,
+	  lib/python/docs/Makefile, lib/python/docs/_build,
+	  lib/python/docs/_static, lib/python/docs/_static/pygrass.css,
+	  lib/python/docs/_templates,
+	  lib/python/docs/_templates/layout.html.template,
+	  lib/python/docs/_templates/oholosidebar.html,
+	  lib/python/docs/conf.py, lib/python/docs/make.bat,
+	  lib/python/docs/src, lib/python/docs/src/index.rst,
+	  lib/python/docs/src/pygrass_gis.rst,
+	  lib/python/docs/src/pygrass_index.rst,
+	  lib/python/docs/src/pygrass_messages.rst,
+	  lib/python/docs/src/pygrass_modules.rst,
+	  lib/python/docs/src/pygrass_raster.rst,
+	  lib/python/docs/src/pygrass_vector.rst, lib/python/pygrass/docs,
+	  man/Makefile: python documentation: start sphinx documentation
+	  for lib/python
+
+2014-07-03 14:51  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI: fix calling
+	  g.extension on windows
+
+2014-07-03 14:43  martinl
+
+	* scripts/windows_launch.bat: windows_launch.bat: update svn props
+
+2014-07-03 14:42  martinl
+
+	* include/Make/Script.make, scripts/windows_launch.bat: wingrass:
+	  produce bat files for scripts
+
+2014-07-03 14:39  martinl
+
+	* lib/python/script/core.py: wingrass: fix Popen class
+	  (contribution of Glynn and Anna)
+
+2014-07-03 02:50  annakrat
+
+	* gui/wxpython/core/units.py, gui/wxpython/mapwin/analysis.py:
+	  wxGUI/measuring: don't report meters when units are not
+	  recognized like foot_uss
+
+2014-07-02 21:05  martinl
+
+	* lib/python/Makefile: remove unused code from makefiles
+
+2014-07-02 20:31  martinl
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in: doxygen: remove obsolete
+	  configuration options
+
+2014-07-02 14:57  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl,
+	  mswindows/osgeo4w/postinstall.bat: wingrass: fix icons location
+
+2014-07-02 10:02  zarch
+
+	* lib/python/pygrass/functions.py,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/typedict.py: pygrass: Fix
+	  generated documentation for decorated __doc__ methods, for more
+	  details about the problem look:
+	  https://bitbucket.org/birkenfeld/sphinx/issue/1273/error-when-__doc__-is-a-property,
+	  thanks to Luca.
+
+2014-07-01 15:08  annakrat
+
+	* gui/wxpython/gui_core/prompt.py: wxGUI/prompt: fix browsing
+	  command history on Windows
+
+2014-07-01 11:18  martinl
+
+	* raster/r.horizon/main.c: r.horizon: label/description cosmetics
+	  (description is still too long)
+
+2014-07-01 09:31  zarch
+
+	* raster/r.sun/r.sun.html: r.sun: Update the manual page
+
+2014-07-01 09:29  zarch
+
+	* raster/r.sun/main.c: r.sun: Change parameters name as discussed
+	  in #2338 and read the new r.horizon outputs
+
+2014-07-01 09:27  zarch
+
+	* raster/r.horizon/r.horizon.html: r.horizon: Update the manual
+	  page
+
+2014-07-01 09:24  zarch
+
+	* raster/r.horizon/main.c: r.horizon: Change parameters name as
+	  discussed in #2338, add new parameters: start and end as
+	  discussed in #2331, and change the output name using the angle
+	  instead of the angle index, as discussed in #2332
+
+2014-07-01 09:17  zarch
+
+	* include/defs/gis.h, include/gis.h, lib/gis/basename.c: basename:
+	  Add basename functions as discussed in #2136
+
+2014-07-01 05:07  zarch
+
+	* lib/python/pygrass/modules/interface/typedict.py: pygrass: Fix
+	  error massage when trying to insert to a TypeDict and instance of
+	  the wrong type
+
+2014-07-01 01:21  hamish
+
+	* gui/icons/grass.menu: prepare for parallel package installs of
+	  grass 6 and 7
+
+2014-07-01 01:19  hamish
+
+	* gui/icons/grass.desktop: prepare for parallel package installs of
+	  grass 6 and 7
+
+2014-07-01 00:20  huhabla
+
+	* lib/python/pygrass/modules/interface/module.py: Fixed wrong
+	  stdout and stderr handling that result in an exception
+	  when the module is run twice and stderr was set to PIPE.
+
+2014-06-30 12:50  hcho
+
+	* general/g.region/main.c: g.region: Read vector header only for
+	  performance improvement
+
+2014-06-30 12:48  hcho
+
+	* general/g.mlist/main.c: g.mlist: Read vector head only for
+	  performance improvement
+
+2014-06-29 23:59  huhabla
+
+	* temporal/t.sample/t.sample.py,
+	  temporal/t.sample/test.t.sample.sh: Changes column print flag
+	  from -h to -c
+
+2014-06-29 23:45  huhabla
+
+	* lib/python/temporal/list_stds.py,
+	  lib/python/temporal/univar_statistics.py,
+	  temporal/t.list/t.list.html, temporal/t.list/t.list.py,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.rast.mapcalc2/test.t.rast.mapcalc2.sh,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast.univar/test.t.rast.univar.sh,
+	  temporal/t.rast3d.list/t.rast3d.list.html,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.list/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.univar/t.rast3d.univar.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.rast3d.univar/test.t.rast3d.univar.sh,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.list/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/test.t.vect.list.sh,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.univar/test.t.vect.univar.sh: Fixing suboptimal
+	  flag names as described in ticket #2317.
+	  Changed -h flag into -s to suppress column names or -c to print
+	  column names
+
+2014-06-29 18:44  turek
+
+	* vector/v.net/v.net.html: v.net: list all modules with turntable
+	  support in manual
+
+2014-06-29 18:41  turek
+
+	* vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.salesman/main.c:
+	  v.net.path/alloc/iso/salesman: move -t flag into turntable
+	  guisection
+
+2014-06-29 18:24  turek
+
+	* vector/v.net.path/main.c: v.net.path: description of options,
+	  order of options in guisections
+
+2014-06-29 18:12  turek
+
+	* vector/v.net.alloc/main.c, vector/v.net.alloc/v.net.alloc.html:
+	  v.net.alloc: added support for the turntable, guisections
+	  reorganized
+
+2014-06-29 18:05  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate.ds/test.t.rast.aggregate.ds.sh,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.relative_time.sh,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.sh: New
+	  experimental aggregation method implemented that is faster and
+	  allows parallel processing.
+	  Integrated enhancement request #2294 to generate datetime based
+	  map name suffixes.
+
+2014-06-29 16:51  turek
+
+	* vector/v.net.iso/main.c, vector/v.net.iso/v.net.iso.html:
+	  v.net.iso: added support for the turntable, guisections
+	  reorganized
+
+2014-06-29 15:24  turek
+
+	* vector/v.net.salesman/main.c,
+	  vector/v.net.salesman/v.net.salesman.html: v.net.salesman: added
+	  support for the turntable, guisections reorganized
+
+2014-06-29 14:32  hcho
+
+	* gui/wxpython/nviz/mapwindow.py: nviz: Add WX_GL_RGBA to the
+	  attributes list
+
+2014-06-29 14:18  martinl
+
+	* gui/wxpython/lmgr/datacatalog.py: wxGUI/datacatalog: refactoring
+	  (initial steps, work in progress)
+
+2014-06-29 13:53  turek
+
+	* vector/v.net.path/main.c, vector/v.net.path/path.c,
+	  vector/v.net.path/v.net.path.html: v.net.path: added support for
+	  the turntable, guisections reorganized
+
+2014-06-29 11:54  turek
+
+	* vector/v.net/Makefile, vector/v.net/args.c, vector/v.net/main.c,
+	  vector/v.net/proto.h, vector/v.net/turntable.c,
+	  vector/v.net/v.net.html: v.net: turntable operation added
+
+2014-06-29 11:49  martinl
+
+	* lib/init/grass.py: grass.py: do not override already set GRASS
+	  environmental variables
+	  (explain better)
+
+2014-06-29 11:11  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: update authors, Tereza
+	  Fiedlerova added
+
+2014-06-29 11:08  martinl
+
+	* contributors_extra.csv: add Tereza Fiedlerova (DataCatalog) to
+	  contributors_extra.csv
+
+2014-06-29 10:33  hcho
+
+	* locale/po/grassmods_ko.po: Korean translation: Fix renamed
+
+2014-06-29 10:28  hcho
+
+	* gui/wxpython/nviz/mapwindow.py: nviz: import order
+
+2014-06-29 10:25  hcho
+
+	* gui/wxpython/nviz/mapwindow.py: nviz: Use double buffering to
+	  avoid flickering (ticket #2339)
+
+2014-06-29 10:23  hcho
+
+	* include/defs/ogsf.h, lib/ogsf/GS2.c, lib/ogsf/gsd_prim.c:
+	  libogsf: Avoid double calling the same function with the same
+	  argument. Change the prototypes of gsd_*buffer()
+
+2014-06-29 10:22  martinl
+
+	* lib/init/grass.py: grass.py: do not override already set GRASS
+	  environmental variables
+
+2014-06-29 10:04  martinl
+
+	* lib/init/grass.py: grass.py: wording
+
+2014-06-29 09:59  glynn
+
+	* lib/raster/close.c: Describe underlying error if rename() fails
+
+2014-06-29 01:03  hcho
+
+	* lib/nviz/draw.c, lib/nviz/map_obj.c: libnviz: Fix uninitialized
+	  warning and invalid pointer conversion
+
+2014-06-28 23:48  hcho
+
+	* temporal/t.vect.observe.strds/test.t.vect.observe.strds.layer_bug.sh:
+	  g.mremove: update shell scripts
+
+2014-06-28 22:18  hcho
+
+	* general/g.mlist/g.mlist.html: g.mlist: Add more examples
+
+2014-06-28 22:09  hcho
+
+	* general/g.mlist/main.c: g.mlist: Clarify no region support in old
+	  3dview files
+
+2014-06-28 22:05  hcho
+
+	* general/g.mlist/main.c: g.mlist: cosmetic indentation
+
+2014-06-28 21:55  hcho
+
+	* general/g.mlist/Makefile: g.mlist: Add GDALCFLAGS to Makefile
+
+2014-06-28 21:29  hcho
+
+	* general/g.mlist/main.c: g.mlist: List old 3dview files always
+	  with a warning
+
+2014-06-28 16:46  martinl
+
+	* gui/wxpython/lmgr/__init__.py, gui/wxpython/lmgr/datacatalog.py,
+	  gui/wxpython/lmgr/frame.py: wxGUI: first experimental prototype
+	  of Data Catalog in Layer Manager (author: Tereza Fiedlerova)
+
+2014-06-28 16:26  huhabla
+
+	* lib/python/pygrass/modules/interface/module.py: Added doctests to
+	  verify the handling of PIPE's for stdin, stdout and stderr.
+	  Handling of ParallelModuleQueue is now easier.
+
+2014-06-28 16:22  martinl
+
+	* general/g.mlist/Makefile: g.mlist: fix compilation (missing
+	  EXTRA_INC)
+
+2014-06-28 14:16  hcho
+
+	* general/g.mlist/main.c: g.mlist: coding style
+
+2014-06-28 14:04  hcho
+
+	* general/g.mlist/main.c: g.mlist: help cosmetics
+
+2014-06-28 13:59  hcho
+
+	* general/g.mlist/Makefile, general/g.mlist/g.mlist.html,
+	  general/g.mlist/main.c: g.mlist: Add region= for finding maps
+	  whose region intersects with the input region (ticket #2355)
+
+2014-06-27 15:08  martinl
+
+	* SUBMITTING, SUBMITTING_DOCS, SUBMITTING_PYTHON, SUBMITTING_WXGUI:
+	  SUBMITTING files moved to Trac
+	  http://trac.osgeo.org/grass/wiki/Submitting
+
+2014-06-27 15:06  hcho
+
+	* locale/po/grassmods_ko.po: Korean translation
+
+2014-06-27 15:00  hcho
+
+	* general/g.mremove/check_reclass.c, general/g.remove/main.c:
+	  g.mremove, g.remove: messages synced
+
+2014-06-27 12:57  hcho
+
+	* general/g.mremove/g.mremove.html, general/g.mremove/main.c,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/r3.in.xyz/r3.in.xyz.py: g.mremove: Changed the interface
+	  to that of g.mlist and added exclude= (ticket #2228)
+
+2014-06-27 12:32  hcho
+
+	* include/defs/gis.h: gis.h: parser_dependencies.c comment
+
+2014-06-26 21:49  annakrat
+
+	* gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/toolbars.py,
+	  gui/wxpython/modules/histogram.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/toolbars.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/profile.py, gui/wxpython/wxplot/scatter.py:
+	  wxGUI: workaround for not visible toolbars on Mac with wxPython 3
+
+2014-06-26 21:08  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: fix adding
+	  map
+
+2014-06-26 20:44  wenzeslaus
+
+	* configure, configure.in: configure: compile with SQLite by
+	  default to avoid unintentional builds without SQLite
+
+2014-06-26 20:26  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/psmap/frame.py: wxGUI: fix windows size for
+	  wxPython3 on Mac
+
+2014-06-26 19:47  neteler
+
+	* raster/r.tile/main.c, raster/r.tile/r.tile.html: r.tile: msg
+	  cosmetics; example fix
+
+2014-06-26 19:04  neteler
+
+	* raster/r.tile/main.c: r.tile: fix title output
+
+2014-06-26 17:27  hcho
+
+	* vector/v.distance/local_proto.h, vector/v.distance/main.c,
+	  vector/v.distance/print.c: v.distance: Added separator= for -p
+
+2014-06-26 16:34  annakrat
+
+	* gui/wxpython/gui_core/prompt.py: wxGUI/prompt: fix crashing on
+	  Mac with wxPython3
+
+2014-06-26 16:13  annakrat
+
+	* gui/wxpython/tplot/frame.py: wxGUI/tplot: use one text field for
+	  coordinates instead of two, it is easier to input coordinates
+	  from map display
+
+2014-06-26 15:24  annakrat
+
+	* gui/wxpython/tplot/frame.py, gui/wxpython/tplot/g.gui.tplot.py:
+	  wxGUI/tplot: clean up
+
+2014-06-26 13:50  lucadelu
+
+	* gui/wxpython/Makefile, gui/wxpython/docs/wxGUI.components.html,
+	  gui/wxpython/tplot, gui/wxpython/tplot/Makefile,
+	  gui/wxpython/tplot/__init__.py, gui/wxpython/tplot/frame.py,
+	  gui/wxpython/tplot/g.gui.tplot.html,
+	  gui/wxpython/tplot/g.gui.tplot.py, gui/wxpython/tplot/tplot.png,
+	  gui/wxpython/xml/toolboxes.xml: wxgui: add new tool to plot the
+	  values of temporal datasets for a queried point
+
+2014-06-26 13:32  lucadelu
+
+	* gui/wxpython/xml/menudata.README: wxgui: update readme how to add
+	  new item in the menu
+
+2014-06-25 17:10  hcho
+
+	* general/g.rename/main.c: g.rename: Rename basemaps only for rast=
+	  after successful renaming
+
+2014-06-25 16:59  hcho
+
+	* lib/raster/get_cellhd.c: libraster: message cosmetics
+
+2014-06-25 15:13  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py: wxGUI: added fullscreen mode on
+	  F11
+
+2014-06-25 14:35  zarch
+
+	* lib/python/pygrass/vector/testsuite/test_table.py: Add tests for
+	  Table and Columns classes
+
+2014-06-25 14:33  zarch
+
+	* lib/python/pygrass/vector/table.py: Change Table update method to
+	  avoid to overwrite the primary key values and update the
+	  documentation
+
+2014-06-25 14:09  martinl
+
+	* vector/v.external/v.external.html: v.external: manual cosmetics
+	  (author -> authors)
+
+2014-06-25 13:03  hcho
+
+	* raster/r.to.vect/lines.c: r.to.vect: Removed unnecessary
+	  variables
+
+2014-06-25 12:39  hcho
+
+	* raster/r.to.vect/lines.c: r.to.vect: corrected x in the crowded
+	  message
+
+2014-06-25 12:25  hcho
+
+	* raster/r.to.vect/lines.c: r.to.vect: Fixed crowded cell message
+
+2014-06-25 12:13  neteler
+
+	* imagery/i.gensigset/i.gensigset.html: i.gensigset manual: explain
+	  'Unreliable clustering' warning; HTML cosmetics
+
+2014-06-25 12:08  hcho
+
+	* lib/raster/window.c: libraster: Removed incorrect comment
+
+2014-06-25 12:00  neteler
+
+	* imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/main.c: i.landsat.toar: added scale
+	  parameter to make output usable for i.gensigset
+
+2014-06-25 11:53  neteler
+
+	* imagery/i.smap/i.smap.html, imagery/i.smap/parse.c: i.smap:
+	  larger default block size for speed
+
+2014-06-25 11:49  hcho
+
+	* raster/r.to.vect/lines.c: r.to.vect: print useful info before
+	  quitting
+
+2014-06-24 18:24  annakrat
+
+	* gui/wxpython/core/render.py: wxGUI/render: attempt to fix #560
+
+2014-06-24 14:38  hcho
+
+	* lib/gis/parser.c: parser.c: \code, \verbatim cosmetics
+
+2014-06-24 14:35  hcho
+
+	* lib/gis/parser.c, lib/gis/parser_dependencies.c: libgis:
+	  G_parser() calls G__check_option_rules()
+
+2014-06-24 08:20  zarch
+
+	* lib/python/pygrass/modules/interface/testsuite,
+	  lib/python/pygrass/modules/interface/testsuite/test_modules.py:
+	  Add test to read the xml interface of all the GRASS modules
+
+2014-06-24 08:16  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Improve how
+	  range are handled in the Parameter class and handle empty
+	  gisprompt option
+
+2014-06-24 08:11  zarch
+
+	* lib/python/pygrass/modules/interface/flag.py: Set the flag
+	  description as optional
+
+2014-06-24 08:07  lucadelu
+
+	* lib/python/script/core.py: python script: add exclude parameter
+	  to g.mlist interfaces
+
+2014-06-24 04:07  ychemin
+
+	* imagery/i.eb.hsebal01/i.eb.h_sebal01.html,
+	  imagery/i.eb.hsebal01/i.eb.hsebal01.html: naming convention
+	  corrected
+
+2014-06-24 03:55  ychemin
+
+	* imagery/Makefile, imagery/i.eb.h_sebal01, imagery/i.eb.hsebal01,
+	  imagery/i.eb.hsebal01/Makefile, imagery/i.eb.hsebal01/main.c:
+	  Naming convention for modules now respected (would bug pyGRASS)
+
+2014-06-24 03:31  annakrat
+
+	* gui/wxpython/core/gconsole.py: wxGUI: add each layer and not
+	  throw error when defined output maps are multiple, e.g. in
+	  r.series.interp
+
+2014-06-24 03:21  annakrat
+
+	* raster/r.series.interp/main.c: r.series.interp: samplingpos
+	  option is multiple
+
+2014-06-23 20:59  neteler
+
+	* vector/v.in.ogr/main.c: v.in.ogr: msg cosmetics
+
+2014-06-23 01:36  wenzeslaus
+
+	* raster/r.spread/collect_ori.c, raster/r.spread/local_proto.h,
+	  raster/r.spread/main.c: r.spread: add a flag (-i) to use start
+	  raster map values instead of init time
+
+2014-06-22 07:31  neteler
+
+	* vector/v.vol.rst/v.vol.rst.html: v.vol.rst manual: fix section
+	  order
+
+2014-06-22 02:06  annakrat
+
+	* raster/r.spread/main.c: r.spread: specify default parameter
+	  (fixed copy paste error)
+
+2014-06-22 01:46  annakrat
+
+	* raster/r.spread/spread.c: r.spread: initialize uninitialized
+	  value
+
+2014-06-21 17:35  glynn
+
+	* lib/gis/parser_dependencies.c: Add G_option_excludes()
+	  Fix rule descriptiosn (don't list first option twice)
+	  Formatting (80-column limit)
+
+2014-06-21 08:21  zarch
+
+	* lib/python/pygrass/vector/testsuite/test_geometry.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py: Add propset
+	  to new files
+
+2014-06-21 08:11  zarch
+
+	* lib/python/pygrass/vector/testsuite,
+	  lib/python/pygrass/vector/testsuite/test_geometry.py,
+	  lib/python/pygrass/vector/testsuite/test_vector3d.py: Add tests
+	  to write and read 3D vector points
+
+2014-06-21 07:46  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Remove unnecessary
+	  'grass.script.gisenv()' as pointed out by Glynn and remove some
+	  useless comment
+
+2014-06-21 03:49  hcho
+
+	* lib/raster/get_row.c, lib/raster/put_row.c: libraster: Added
+	  raster name and row info to get/put_row error messages
+
+2014-06-20 17:35  neteler
+
+	* lib/gis/colors.desc: colors: fix r60889 as Kelvin is not referred
+	  to as a degree
+
+2014-06-20 16:30  martinl
+
+	* include/Make/Doxyfile_arch_html.in: cosmetics in doxyfile
+	  (replace hardcoded value)
+
+2014-06-20 16:19  martinl
+
+	* include/Make/Docs.make: fix makefile (rfc directory has been
+	  removed)
+
+2014-06-20 15:11  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: wording (cosmetics in
+	  basename option)
+
+2014-06-20 15:08  zarch
+
+	* include/gis.h, lib/gis/parser_standard_options.c: libgis: add
+	  standardize options for input/output raster basename, see ticket
+	  #2136
+
+2014-06-20 13:42  martinl
+
+	* rfc: rfc moved to Trac (http://trac.osgeo.org/grass/wiki/RFC)
+
+2014-06-20 13:07  ychemin
+
+	* lib/gis/colors.desc: Updated colors description
+
+2014-06-20 11:22  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: fix msvcrt path
+	  (32bit) (merge r60867 from trunk)
+
+2014-06-20 08:25  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Handle missing
+	  prompt key in gisprompt
+
+2014-06-20 07:33  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/geometry.py: Fix tickets #2311 ans
+	  #2320, add support to read and write 3D vector maps in PyGRASS.
+
+2014-06-20 06:33  ychemin
+
+	* lib/gis/colors/kelvin: Added Kelvin palette
+
+2014-06-20 04:30  ychemin
+
+	* imagery/i.eb.evapfr/main.c, imagery/i.evapo.pt/main.c: Updated
+	  naming conventions
+
+2014-06-19 16:45  hcho
+
+	* lib/gis/parser_dependencies.c: parser_dependencies.c: use
+	  get_name where needed
+
+2014-06-19 16:04  hcho
+
+	* general/g.mlist/main.c, general/g.mlist/test_g_mlist.py: g.mlist:
+	  1. Support multiple mapsets
+	  2. Allow -p/-f with all mapsets (mapset=*)
+	  3. Outputs from different types lumped into one pager output
+	  (-p/-f)
+	  Two advantages:
+	  a. One pager call per type does not allow the user to go back to
+	  previous
+	  types.
+	  b. Some pagers (eg., more) do not prompt the user to hit a key
+	  before
+	  quitting, which causes a problem where the user cannot see maps
+	  already
+	  listed from a previous type because they are simply scrolled
+	  up/cleared
+	  and another set of maps from a new type are displayed.
+
+2014-06-19 14:35  glynn
+
+	* include/defs/gis.h, lib/gis/parser_dependencies.c,
+	  lib/gis/parser_local_proto.h: First draft of inter-option
+	  dependency rules
+
+2014-06-19 14:35  glynn
+
+	* lib/python/script/core.py: Use subprocess.Popen() directly for
+	  calling g.parser
+
+2014-06-18 19:58  martinl
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI: syntax typo
+
+2014-06-18 17:54  hcho
+
+	* scripts/m.proj/m.proj.html: m.proj: updated the manual to reflect
+	  recent changes to the default separator
+
+2014-06-18 16:02  martinl
+
+	* gui/wxpython/core/gthread.py: wxGUI: class description cosmetics
+
+2014-06-18 15:41  martinl
+
+	* gui/wxpython/core/gthread.py, gui/wxpython/iscatt/controllers.py,
+	  gui/wxpython/mapwin/buffered.py: wxGUI: move gThread to `core`
+	  package
+
+2014-06-18 15:19  martinl
+
+	* gui/wxpython/iscatt/controllers.py: wxGUI: syntax typo
+
+2014-06-18 08:52  neteler
+
+	* raster/r.viewshed/grass.cpp, raster/r.viewshed/r.viewshed.html:
+	  r.viewshed: error msg cosmetics; manual cosmetics
+
+2014-06-18 08:27  neteler
+
+	* raster/r.viewshed/grass.cpp: r.viewshed: more informative error
+	  message if maxDimension (rows/cols) is exceeded
+
+2014-06-18 01:24  hcho
+
+	* raster/r.topmodel/topmodel.c: r.topmodel: fixed topidxstats file
+	  generation
+
+2014-06-17 17:39  neteler
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed manual:
+	  wording cosmetics
+
+2014-06-17 13:44  martinl
+
+	* vector/v.clean/v.clean.html: v.clean: fix link to vdigit
+
+2014-06-16 17:46  hcho
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed: removed
+	  redundant a in the manual
+
+2014-06-16 17:27  hcho
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed: mention
+	  no need for sink filling in the manual
+
+2014-06-16 16:21  hcho
+
+	* raster/r.patch/main.c: r.patch: check west & east bounds as well
+
+2014-06-16 15:29  hcho
+
+	* raster/r.stats/global.h, raster/r.stats/main.c: r.stats: removed
+	  an unused prototype; updated copyright
+
+2014-06-16 13:05  hcho
+
+	* raster/r.patch/main.c: r.patch: updated copyright
+
+2014-06-16 13:04  hcho
+
+	* raster/r.patch/do_patch.c, raster/r.patch/main.c,
+	  raster/r.patch/r.patch.html: r.patch: Don't read rows if an
+	  individual raster doesn't overlap with the
+	  current row. In my test with 171 raster maps, it took 202 minutes
+	  and 29
+	  minutes before and after this change, respectively.
+
+2014-06-16 06:08  hcho
+
+	* raster/r.patch/do_patch.c: r.patch: rename G_is_zero_value to
+	  is_zero_value
+
+2014-06-15 19:51  martinl
+
+	* gui/wxpython/docs/wxgui_sphinx,
+	  gui/wxpython/docs/wxgui_sphinx/_build: remove _build dir
+
+2014-06-15 19:49  martinl
+
+	* gui/wxpython/docs/wxgui_sphinx,
+	  gui/wxpython/docs/wxgui_sphinx/_build,
+	  gui/wxpython/docs/wxgui_sphinx/_templates,
+	  lib/python/pygrass/docs, lib/python/pygrass/docs/_templates:
+	  update svn:ignore for sphinx
+
+2014-06-14 12:11  neteler
+
+	* lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/list_stds.py,
+	  lib/python/temporal/mapcalc.py, lib/python/temporal/open_stds.py,
+	  lib/python/temporal/stds_import.py: temporal: minor msg cosmetics
+
+2014-06-14 11:58  neteler
+
+	* lib/python/temporal/core.py: temporal: attempt to clarify
+	  temporal database version mismatch error message
+
+2014-06-13 14:37  hcho
+
+	* general/g.mlist/main.c: g.mlist: suppress messages for
+	  non-terminal output
+
+2014-06-13 09:32  lucadelu
+
+	* Makefile, gui/wxpython/animation/anim.py,
+	  gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/data.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/mapwindow.py,
+	  gui/wxpython/animation/nviztask.py,
+	  gui/wxpython/animation/provider.py,
+	  gui/wxpython/animation/temporal_manager.py,
+	  gui/wxpython/animation/toolbars.py,
+	  gui/wxpython/animation/utils.py, gui/wxpython/core/debug.py,
+	  gui/wxpython/core/gcmd.py, gui/wxpython/core/gconsole.py,
+	  gui/wxpython/core/giface.py, gui/wxpython/core/globalvar.py,
+	  gui/wxpython/core/layerlist.py, gui/wxpython/core/menutree.py,
+	  gui/wxpython/core/render.py, gui/wxpython/core/settings.py,
+	  gui/wxpython/core/toolboxes.py, gui/wxpython/core/treemodel.py,
+	  gui/wxpython/core/units.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/core/workspace.py, gui/wxpython/core/ws.py,
+	  gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/dialogs.py,
+	  gui/wxpython/dbmgr/manager.py, gui/wxpython/dbmgr/sqlbuilder.py,
+	  gui/wxpython/dbmgr/vinfo.py, gui/wxpython/docs/wxgui_sphinx,
+	  gui/wxpython/docs/wxgui_sphinx/Makefile,
+	  gui/wxpython/docs/wxgui_sphinx/_build,
+	  gui/wxpython/docs/wxgui_sphinx/_static,
+	  gui/wxpython/docs/wxgui_sphinx/_static/pygrass.css,
+	  gui/wxpython/docs/wxgui_sphinx/_templates,
+	  gui/wxpython/docs/wxgui_sphinx/_templates/layout.html.template,
+	  gui/wxpython/docs/wxgui_sphinx/conf.py,
+	  gui/wxpython/docs/wxgui_sphinx/index.rst,
+	  gui/wxpython/docs/wxgui_sphinx/make.bat,
+	  gui/wxpython/docs/wxgui_sphinx/wxgui_libraries.rst,
+	  gui/wxpython/docs/wxgui_sphinx/wxgui_tools.rst,
+	  gui/wxpython/gcp/g.gui.gcp.py, gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gcp/statusbar.py,
+	  gui/wxpython/gcp/toolbars.py, gui/wxpython/gis_set.py,
+	  gui/wxpython/gis_set_error.py, gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/giface.py,
+	  gui/wxpython/gmodeler/menudata.py,
+	  gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gmodeler/preferences.py,
+	  gui/wxpython/gmodeler/toolbars.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/gui_core/pystc.py,
+	  gui/wxpython/gui_core/query.py,
+	  gui/wxpython/gui_core/simplelmgr.py,
+	  gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/gui_core/treeview.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/iclass/dialogs.py,
+	  gui/wxpython/iclass/digit.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/plots.py, gui/wxpython/iclass/statistics.py,
+	  gui/wxpython/iclass/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/iscatt/controllers.py,
+	  gui/wxpython/iscatt/core_c.py, gui/wxpython/iscatt/dialogs.py,
+	  gui/wxpython/iscatt/frame.py, gui/wxpython/iscatt/iscatt_core.py,
+	  gui/wxpython/iscatt/plots.py, gui/wxpython/iscatt/toolbars.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/giface.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/lmgr/menudata.py,
+	  gui/wxpython/lmgr/pyshell.py, gui/wxpython/lmgr/toolbars.py,
+	  gui/wxpython/location_wizard/base.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/gprint.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/mapswipe/dialogs.py, gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/mapswipe/toolbars.py,
+	  gui/wxpython/mapwin/analysis.py, gui/wxpython/mapwin/base.py,
+	  gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/mapwin/decorations.py,
+	  gui/wxpython/mapwin/graphics.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/modules/vclean.py, gui/wxpython/modules/vkrige.py,
+	  gui/wxpython/nviz/animation.py, gui/wxpython/nviz/main.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/preferences.py,
+	  gui/wxpython/nviz/tools.py, gui/wxpython/nviz/workspace.py,
+	  gui/wxpython/nviz/wxnviz.py, gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/psmap/frame.py, gui/wxpython/psmap/instructions.py,
+	  gui/wxpython/psmap/menudata.py, gui/wxpython/psmap/toolbars.py,
+	  gui/wxpython/psmap/utils.py, gui/wxpython/rlisetup/frame.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/rlisetup/wizard.py, gui/wxpython/timeline/frame.py,
+	  gui/wxpython/tools/build_modules_xml.py,
+	  gui/wxpython/tools/update_menudata.py,
+	  gui/wxpython/vdigit/dialogs.py, gui/wxpython/vdigit/main.py,
+	  gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/vdigit/wxdisplay.py, gui/wxpython/vnet/dialogs.py,
+	  gui/wxpython/vnet/toolbars.py, gui/wxpython/vnet/vnet_core.py,
+	  gui/wxpython/vnet/vnet_data.py, gui/wxpython/vnet/vnet_utils.py,
+	  gui/wxpython/vnet/widgets.py,
+	  gui/wxpython/web_services/cap_interface.py,
+	  gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/profile.py,
+	  gui/wxpython/wxplot/scatter.py, include/Make/Sphinx.make: wxgui:
+	  add support for sphinx documentation
+
+2014-06-13 07:15  hcho
+
+	* include/defs/gis.h: libgis: revert partially renamed
+	  G__reset_mapsets to G_reset_mapsets.
+	  
+	  This function is used with other G_ functions
+	  (G_create_alt_search_path,
+	  G_switch_search_path, and G_add_mapset_to_search_path).
+
+2014-06-13 06:55  neteler
+
+	* raster/r.compress/r.compress.html: r.compress manual: mention
+	  zlib; explain relationship map precision vs compression (may be
+	  improved)
+
+2014-06-12 21:02  glynn
+
+	* imagery/i.atcorr/Makefile, imagery/i.atcorr/makefile: Fix case of
+	  filename
+
+2014-06-12 18:38  annakrat
+
+	* display/d.rast.num/main.c: d.rast.num: fix segfault due to
+	  uninitialized variable
+
+2014-06-12 11:03  ychemin
+
+	* imagery/i.albedo/bb_alb_landsat8.c, imagery/i.albedo/main.c:
+	  better temporary fix
+
+2014-06-11 21:48  hcho
+
+	* raster/r.topmodel/topmodel.c: r.topmodel: moved local variables
+
+2014-06-11 20:57  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/main.c,
+	  raster/r.topmodel/topmodel.c: r.topmodel: create properly sorted
+	  topidxstats file
+
+2014-06-11 13:53  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/global.h,
+	  raster/r.topmodel/topmodel.c: r.topmodel: added tcsub for the
+	  time of concentration in the subcatchment
+
+2014-06-11 07:02  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/main.c, raster/r.topmodel/topmodel.c:
+	  r.topmodel: translate fatal errors and warnings
+
+2014-06-11 06:53  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/global.h,
+	  raster/r.topmodel/topmodel.c: r.topmodel: more comments
+
+2014-06-11 02:14  annakrat
+
+	* gui/wxpython/animation/temporal_manager.py: wxGUI/animation: fix
+	  slider label for relative point data
+
+2014-06-11 01:48  annakrat
+
+	* gui/wxpython/animation/toolbars.py: wxGUI/animation: fix toolbar
+	  orientation
+
+2014-06-10 19:58  neteler
+
+	* scripts/m.proj/m.proj.html: m.proj manual: input=- is needed
+	  (while it should be default like in G6?)
+
+2014-06-10 13:46  lucadelu
+
+	* gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup: fix problem of
+	  configuration file on windows
+
+2014-06-10 07:46  martinl
+
+	* raster/r.info/main.c: r.info: sync -e keys with r.support
+
+2014-06-10 07:41  martinl
+
+	* raster/r.info/main.c: r.info: print all information in shell
+	  script style
+	  fix flag's description
+
+2014-06-10 06:37  neteler
+
+	* contributors_extra.csv: contributors_extra.csv: added CERL
+	  developer; cleanup for developer listed in contributors.csv
+
+2014-06-09 13:08  wenzeslaus
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI/toolboxes: add i.topo.core
+	  to Imagery
+
+2014-06-09 12:57  lucadelu
+
+	* man/Makefile: pygrass doc: check if executable is sphinx-build or
+	  sphinx-build2
+
+2014-06-09 09:49  ychemin
+
+	* imagery/i.albedo/bb_alb_landsat8.c,
+	  imagery/i.albedo/i.albedo.html, imagery/i.albedo/main.c: Added a
+	  weighted average function for Landsat 8
+
+2014-06-09 09:18  martinl
+
+	* imagery/i.atcorr/README, imagery/i.atcorr/readme: i.atcorr:
+	  rename readme back to uppercase
+
+2014-06-09 09:12  martinl
+
+	* imagery/i.atcorr/6s.cpp, imagery/i.atcorr/Abstra.cpp,
+	  imagery/i.atcorr/Abstra.h,
+	  imagery/i.atcorr/AerosolConcentration.cpp,
+	  imagery/i.atcorr/AerosolConcentration.h,
+	  imagery/i.atcorr/AerosolModel.cpp,
+	  imagery/i.atcorr/AerosolModel.h, imagery/i.atcorr/Altitude.cpp,
+	  imagery/i.atcorr/Altitude.h, imagery/i.atcorr/AtmosModel.cpp,
+	  imagery/i.atcorr/AtmosModel.h, imagery/i.atcorr/Date.h,
+	  imagery/i.atcorr/Gauss.h, imagery/i.atcorr/GeomCond.cpp,
+	  imagery/i.atcorr/GeomCond.h, imagery/i.atcorr/Interp.cpp,
+	  imagery/i.atcorr/Interp.h, imagery/i.atcorr/Iwave.cpp,
+	  imagery/i.atcorr/Iwave.h, imagery/i.atcorr/Makefile,
+	  imagery/i.atcorr/Output.cpp, imagery/i.atcorr/Output.h,
+	  imagery/i.atcorr/README, imagery/i.atcorr/Transform.cpp,
+	  imagery/i.atcorr/Transform.h, imagery/i.atcorr/abstra.cpp,
+	  imagery/i.atcorr/abstra.h,
+	  imagery/i.atcorr/aerosolconcentration.cpp,
+	  imagery/i.atcorr/aerosolconcentration.h,
+	  imagery/i.atcorr/aerosolmodel.cpp,
+	  imagery/i.atcorr/aerosolmodel.h, imagery/i.atcorr/altitude.cpp,
+	  imagery/i.atcorr/altitude.h, imagery/i.atcorr/atmosmodel.cpp,
+	  imagery/i.atcorr/atmosmodel.h, imagery/i.atcorr/common.h,
+	  imagery/i.atcorr/computations.cpp, imagery/i.atcorr/date.h,
+	  imagery/i.atcorr/gauss.cpp, imagery/i.atcorr/gauss.h,
+	  imagery/i.atcorr/geomcond.cpp, imagery/i.atcorr/geomcond.h,
+	  imagery/i.atcorr/interp.cpp, imagery/i.atcorr/interp.h,
+	  imagery/i.atcorr/iwave.cpp, imagery/i.atcorr/iwave.h,
+	  imagery/i.atcorr/main.cpp, imagery/i.atcorr/makefile,
+	  imagery/i.atcorr/output.cpp, imagery/i.atcorr/output.h,
+	  imagery/i.atcorr/readme, imagery/i.atcorr/transform.cpp,
+	  imagery/i.atcorr/transform.h: i.atcorr: rename files to lowercase
+
+2014-06-09 06:43  neteler
+
+	* imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/Iwave.h: i.atcorr:
+	  fix landsat8 support (fix for #2305)
+
+2014-06-08 19:12  annakrat
+
+	* gui/wxpython/mapswipe/frame.py: wxGUI/mapswipe: zoom only when
+	  there are layers, bug mentioned in #2315
+
+2014-06-08 16:41  warmerdam
+
+	* debian/README.debian: test commit for #1346
+
+2014-06-08 13:33  annakrat
+
+	* gui/wxpython/gui_core/simplelmgr.py: wxGUI/mapswipe: attempt to
+	  fix adding layers bug, discussed in #2315
+
+2014-06-08 12:57  hcho
+
+	* general/g.mlist/main.c: g.mlist: break a long line
+
+2014-06-08 12:44  hcho
+
+	* general/g.mlist/g.mlist.html, general/g.mlist/main.c: g.mlist:
+	  changed mapset=.. to mapset=* for all mapsets
+
+2014-06-08 11:03  hcho
+
+	* general/g.mlist/main.c: g.mlist: check if mapset exists
+
+2014-06-06 22:31  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/stds_import.py: Small bugfixes
+
+2014-06-06 22:29  huhabla
+
+	* lib/python/temporal/core.py: Better error handling in case the
+	  database connection can not be established ticket #2258
+
+2014-06-06 07:47  glynn
+
+	* general/g.mlist/main.c, general/g.mremove/main.c,
+	  general/g.parser/main.c, general/g.parser/parse.c, include/gis.h,
+	  lib/gis/parser.c, lib/gis/parser_local_proto.h: Revert attempt to
+	  impose option dependency mechanism without discussion
+
+2014-06-05 21:47  neteler
+
+	* gui/icons/Makefile: fix the fix
+
+2014-06-05 21:41  neteler
+
+	* grass.appdata.xml, gui/icons/Makefile,
+	  gui/icons/grass.appdata.xml: grass.appdata.xml: move to dir of
+	  grass.desktop (trac #2306)
+
+2014-06-05 21:23  neteler
+
+	* grass.appdata.xml: grass.appdata.xml: added for GNOME Software
+	  Center, Apper in KDE etc (trac #2306)
+
+2014-06-05 18:12  hcho
+
+	* lib/gis/parser.c: parser.c: check_either_or_inputs() minor
+	  changes
+
+2014-06-05 17:50  hcho
+
+	* include/gis.h, lib/gis/parser.c: parser.c: Moved exclusive
+	  examples to parser.c; Removed * between \code\endcode
+
+2014-06-05 17:32  hcho
+
+	* include/gis.h, lib/gis/parser.c: The "exclusive" member of the
+	  Option and Flag structures is a comma-separated
+	  string. Whitespaces are not ignored. Each name separated by comma
+	  can be used
+	  to group options/flags together, make them mutually exclusive, or
+	  make one of
+	  them conditionally required.
+	  
+	  Names starting with "+" tie together options/flags and names
+	  starting with "*"
+	  (name ignored) make them conditionally required (not always
+	  required, but if
+	  some other options/flags are not used, they become required).
+	  Other names make
+	  options/flags mutually exclusive in the same group. These three
+	  different types
+	  of grouping can be mixed.
+	  
+	  EXAMPLES
+	  
+	  1. opt1 & opt2 are mutually exclusive.
+	  opt2 & opt3 are mutually exclusive.
+	  
+	  opt1->exclusive = "1";
+	  opt2->exclusive = "1,2";
+	  opt3->exclusive = "2";
+	  
+	  2. opt1 & opt2 must be used together.
+	  
+	  opt1->exclusive = "+1";
+	  opt2->exclusive = "+1";
+	  opt3->exclusive = "";
+	  
+	  3. opt1 or opt2 must be used. Both can be used together. Naming
+	  ignored.
+	  
+	  opt1->exclusive = "*ignored";
+	  opt2->exclusive = "*";
+	  opt3->exclusive = "";
+	  
+	  4. (opt1 & opt2 together) or (opt3 & opt4 together) must be used.
+	  All four can
+	  be used together.
+	  
+	  opt1->exclusive = "+1,*";
+	  opt2->exclusive = "+1"; /* * is optional because opt2 is tied
+	  with opt1 */
+	  opt3->exclusive = "+2,*";
+	  opt4->exclusive = "+2";
+	  
+	  5. Only one of (opt1 & opt2 together) or (opt3 & opt4 together)
+	  must be used.
+	  All four cannot be used together.
+	  
+	  opt1->exclusive = "+1,*,1";
+	  opt2->exclusive = "+1"; /* * is optional because opt2 is tied
+	  with opt1 */
+	  opt3->exclusive = "+2,*,1";
+	  opt4->exclusive = "+2"; /* 1 is optional because opt4 is tied
+	  with opt3 */
+
+2014-06-05 04:48  hcho
+
+	* lib/gis/parser.c: G_parser(): minor cosmetics
+
+2014-06-05 00:22  hcho
+
+	* lib/gis/parser.c: add_exclusive(): refactored to avoid double
+	  find_exclusive calls
+
+2014-06-04 23:39  hcho
+
+	* lib/gis/parser.c: G_parser(): shorter mutually exclusive message
+
+2014-06-04 23:34  hcho
+
+	* general/g.mlist/main.c: g.mlist: one exclusive group is enough
+
+2014-06-04 23:34  hcho
+
+	* lib/gis/parser.c: G_parser(): Do not print the same options/flags
+	  in the exclusive list multiple times
+
+2014-06-04 22:58  hcho
+
+	* general/g.mlist/main.c, general/g.mremove/main.c,
+	  general/g.parser/main.c, general/g.parser/parse.c, include/gis.h,
+	  lib/gis/parser.c, lib/gis/parser_local_proto.h: 1. Added
+	  Option.exclusive and Flag.exclusive for supporting mutually
+	  exclusive groups.
+	  2. G_parser() checks for mutually exclusive options/flags based
+	  on the exclusive string and stops if any found.
+	  3. g.mlist and g.mremove for examples.
+	  4. Doesn't support option values (e.g., g.mlist -p/-f and
+	  mapset=..)
+	  5. Existing modules are not affected, but make distclean is
+	  required.
+	  6. If exclusive is NULL (default) or "", no grouping is done and
+	  the exclusive check has to be done manually as before.
+	  
+	  USAGE
+	  
+	  C modules:
+	  
+	  opt1 = G_define_option();
+	  opt1->exclusive = "group1,group2";
+	  
+	  opt2 = G_define_option();
+	  opt2->exclusive = "group1";
+	  
+	  flag1 = G_define_flag();
+	  flag1->exclusive = "group2";
+	  
+	  opt1 & opt2 are mutually exclusive because they are in group1.
+	  opt1 & flag1 are mutually exclusive because they are in group2.
+	  
+	  Python scripts:
+	  
+	  #%option
+	  #% key: opt1
+	  #% exclusive: group1,group2
+	  #%end
+	  #%option
+	  #% key: opt2
+	  #% exclusive: group1
+	  #%end
+	  #%flag
+	  #% key: f
+	  #% exclusive: group2
+	  #%end
+
+2014-06-04 19:08  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: i18n: messages updated from template
+
+2014-06-04 17:52  hcho
+
+	* locale/po/grassmods_ko.po, locale/po/grasswxpy_ko.po: Korean
+	  translation
+
+2014-06-04 17:30  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po,
+	  locale/po/grasswxpy_ko.po: Korean translation
+
+2014-06-04 17:17  hcho
+
+	* display/d.vect/shape.c, general/g.gisenv/main.c,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  lib/python/temporal/register.py, raster/r.colors/edit_colors.c,
+	  raster/r.external/main.c, raster/r.in.bin/main.c,
+	  raster/r.mapcalc/main.c, raster/r.neighbors/main.c,
+	  raster/r.out.bin/main.c, raster/r.quant/main.c,
+	  raster/r.resamp.filter/main.c, raster/r.series.accumulate/main.c,
+	  raster/r.series.interp/main.c, raster/r.series/main.c,
+	  raster/r.stats.quantile/main.c, vector/v.colors/main.c,
+	  vector/v.external.out/args.c: 1. Consolite option/flag mutually
+	  exslusive messages.
+	  
+	  %s= and %s= are mutually exclusive
+	  %s= and %s= are mutually exclusive. %s= will be ignored.
+	  %s= and %s=/%s= are mutually exclusive
+	  %s=, %s=, %s= and %s= are mutually exclusive.
+	  %s=, %s= and %s= are mutually exclusive
+	  -%c and %s= are mutually exclusive
+	  -%c and -%c are mutually exclusive
+	  -%c, -%c, %s=, %s= and %s= are mutually exclusive
+	  -%c/-%c and %s= are mutually exclusive
+	  -%c/-%c and %s=%s are mutually exclusive
+	  -%c/-%c and -%c are mutually exclusive
+	  
+	  2. Option(s) <opt>, ... => opt=, ...
+	  3. Flag(s) -f, ... => -f, ...
+
+2014-06-04 15:48  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po,
+	  locale/po/grasswxpy_ko.po: Korean translation
+
+2014-06-04 13:22  hcho
+
+	* raster/r.what/main.c: r.what: Char string => String
+
+2014-06-04 11:40  neteler
+
+	* imagery/i.landsat.toar/main.c: i.landsat.toar: call r.timestamp?
+
+2014-06-04 03:27  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib/script: more doctests for
+	  core
+
+2014-06-04 02:40  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py,
+	  scripts/d.what.rast, scripts/d.what.rast/Makefile,
+	  scripts/d.what.rast/d.what.rast.html,
+	  scripts/d.what.rast/d.what.rast.py, scripts/d.what.vect,
+	  scripts/d.what.vect/Makefile,
+	  scripts/d.what.vect/d.what.vect.html,
+	  scripts/d.what.vect/d.what.vect.py: d.mon: implement d.what.vect,
+	  d.what.rast
+
+2014-06-03 19:11  hcho
+
+	* vector/v.out.ogr/local_proto.h: v.out.ogr: removed unnecessary
+	  function prototype
+
+2014-06-03 17:57  hcho
+
+	* vector/v.out.ogr/attrb.c, vector/v.out.ogr/export_areas.c,
+	  vector/v.out.ogr/export_lines.c, vector/v.out.ogr/main.c:
+	  v.out.ogr
+	  
+	  1. Fixed counting # features written without category and related
+	  messages.
+	  2. Fixed multi-feature export by checking all available cats, not
+	  just the first one.
+	  3. Fixed multi-feature area export with no category.
+
+2014-06-03 14:44  hcho
+
+	* lib/vector/Vlib/level_two.c: Vect_get_centroid_area(): fix seg
+	  fault with no centroid
+
+2014-06-03 13:36  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: fix #2026 on Windows
+
+2014-06-03 10:11  martinl
+
+	* SUBMITTING, SUBMITTING_PYTHON, SUBMITTING_WXGUI: SUBMITTING: fix
+	  URL
+
+2014-06-03 08:03  neteler
+
+	* scripts/i.pansharpen/i.pansharpen.html: i.pansharpen manual: NC
+	  example added
+
+2014-06-03 07:54  neteler
+
+	* macosx/pkg/resources/ReadMe.rtf: macosx: update mentioned GRASS
+	  version
+
+2014-06-03 07:45  neteler
+
+	* temporal/t.merge/t.merge.py,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.shift/t.shift.py, temporal/t.snap/t.snap.py,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: t.*: unify
+	  module description
+
+2014-06-03 05:24  glynn
+
+	* lib/python/script/core.py: Remove Popen() "magic" on Windows; it
+	  creates more problems than it solves
+
+2014-06-02 19:52  hcho
+
+	* vector/v.in.ogr/main.c: v.in.ogr: print the estimated range of
+	  snapping threshold for reference
+
+2014-06-02 16:40  hcho
+
+	* scripts/v.report/v.report.py: v.report: tab to spaces
+
+2014-06-02 15:59  hcho
+
+	* vector/v.surf.rst/main.c, vector/v.vol.rst/dataoct.c,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/user.h,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/user4.c:
+	  v.surf.rst/v.vol.rst: reduce messages to translate
+
+2014-06-02 14:14  hcho
+
+	* vector/v.vol.rst/dataoct.c, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/vector.c: v.vol.rst:
+	  translate error/warning messages
+
+2014-06-02 12:08  neteler
+
+	* vector/v.vol.rst/main.c, vector/v.vol.rst/user1.c: v.vol.rst:
+	  more messages about maps which are actually created
+
+2014-06-02 04:03  hcho
+
+	* lib/gis/parser.c: G_option_to_separator(): only accept separator
+	  options
+
+2014-06-02 03:42  hcho
+
+	* locale/po/grasslibs_ko.po: Korean: fixed %s locations
+
+2014-06-02 03:13  glynn
+
+	* lib/python/script/raster.py: Pass r.mapcalc expressions via stdin
+	  rather than expression=
+
+2014-06-01 18:39  hcho
+
+	* vector/v.in.ogr/main.c: v.in.ogr: pg driver only supports
+	  timestamp without time zone
+
+2014-06-01 18:29  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_ko.po, locale/po/grasswxpy_fr.po: Sylvain
+	  Maillard: FR translation cont'ed; set incomplete ko msg to fuzzy
+	  (checked with 'make verify')
+
+2014-06-01 14:23  hcho
+
+	* vector/v.in.ogr/main.c: v.in.ogr: assign max(abs(box.N),
+	  abs(box.S)) to ymax rather than to xmax
+
+2014-05-31 22:57  neteler
+
+	* raster/r.univar/r.univar.html: r.univar manual: new NC example;
+	  cleanup of commented draft examples since v.rast.stats does the
+	  job
+
+2014-05-31 22:09  neteler
+
+	* raster/r.resamp.filter/main.c: r.resamp.filter: add keyword
+
+2014-05-31 21:08  neteler
+
+	* lib/python/temporal/temporal_extent.py: temporal doxygen: fix
+	  typo
+
+2014-05-31 20:05  neteler
+
+	* lib/python/pygrass/docs/index.rst,
+	  lib/python/pygrass/docs/intro.rst,
+	  lib/python/pygrass/docs/messages.rst,
+	  lib/python/pygrass/docs/modules.rst,
+	  lib/python/pygrass/docs/modules_grid.rst,
+	  lib/python/pygrass/docs/raster.rst,
+	  lib/python/pygrass/docs/vector.rst,
+	  lib/python/pygrass/modules/grid/grid.py: pygrass docs: minor
+	  improvements
+
+2014-05-31 15:17  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: define gisprompt for
+	  G_OPT_F_SEP
+
+2014-05-31 15:16  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI: add SeperatorSelect widget
+
+2014-05-31 15:13  hcho
+
+	* gui/wxpython/core/gcmd.py: gcmd.py: too many values to unpack
+	  error fixed. <> escaped
+
+2014-05-31 14:16  hcho
+
+	* gui/wxpython/core/gcmd.py: gcmd.py: more comment
+
+2014-05-31 14:14  hcho
+
+	* gui/wxpython/core/gcmd.py: gcmd.py: escape special characters
+	  (^|&) on Windows
+
+2014-05-31 14:09  annakrat
+
+	* lib/python/temporal/extract.py: t.rast.extract: fix bug when
+	  running parallel processes
+
+2014-05-31 12:25  neteler
+
+	* temporal/t.list/t.list.py, temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py, temporal/t.sample/t.sample.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.univar/t.vect.univar.py: t.* modules: use
+	  grass.separator() and allow multi-character separators
+
+2014-05-31 12:21  neteler
+
+	* lib/python/script/core.py: core.py: document grass.separator()
+	  (updates r60622)
+
+2014-05-31 09:56  hcho
+
+	* scripts/r.tileset/r.tileset.py: r.tileset: assign fs outside
+	  while loop
+
+2014-05-31 09:39  hcho
+
+	* scripts/v.in.lines/v.in.lines.py: v.in.lines: use grass.separator
+	  and allow multi-character separators
+
+2014-05-31 09:36  hcho
+
+	* scripts/r.tileset/r.tileset.py: r.tileset: use grass.separator
+
+2014-05-31 09:30  hcho
+
+	* scripts/m.proj/m.proj.py: m.proj: use grass.separator and allow
+	  multi-character separators
+
+2014-05-31 09:28  hcho
+
+	* lib/python/script/core.py: grass.separator: added \t and \n
+
+2014-05-31 09:26  hcho
+
+	* lib/gis/parser.c: G_option_to_separator: added \n
+
+2014-05-31 09:20  hcho
+
+	* lib/python/script/core.py: core.py: added grass.separator() for
+	  G_OPT_F_SEP
+
+2014-05-31 08:38  hcho
+
+	* general/g.parser/main.c: g.parser: -n added to usage; fixed usage
+
+2014-05-31 00:38  wenzeslaus
+
+	* general/g.list/test_g_list.py: g.list: tests for most important
+	  functionality
+
+2014-05-31 00:30  wenzeslaus
+
+	* general/g.mlist/test_g_mlist.py: g.mlist: test of wrong flag
+	  combinations (test for r60617)
+
+2014-05-31 00:17  wenzeslaus
+
+	* general/g.mlist/main.c: g.mlist: replace incorrect usage of
+	  answer (flag state) by key (flag character)
+
+2014-05-30 21:00  hcho
+
+	* lib/vector/Vlib/break_polygons.c: Vect_break_polygons_file:
+	  message synced with the memory version
+
+2014-05-30 17:34  annakrat
+
+	* lib/python/script/raster3d.py, raster3d/r3.info/r3.info.main.c:
+	  r3.info: output also rows, cols and depths
+
+2014-05-30 16:05  hcho
+
+	* lib/gis/parser.c, lib/gis/parser_standard_options.c: G_OPT_F_SEP:
+	  added "pipe" for "|"
+
+2014-05-30 15:54  hcho
+
+	* vector/v.db.connect/main.c, vector/v.out.ascii/args.c,
+	  vector/v.rectify/main.c, vector/v.vect.stats/main.c: v.rectify,
+	  v.vect.stats, v.out.ascii, v.db.connect: use
+	  G_option_to_separator()
+
+2014-05-30 15:53  hcho
+
+	* raster/r.univar/r.univar_main.c,
+	  raster/r.univar/r3.univar_main.c: r.univar: use
+	  G_option_to_separator()
+
+2014-05-30 15:16  annakrat
+
+	* gui/wxpython/mapswipe/dialogs.py: wxGUI/mapswipe: missing part of
+	  commit r60594
+
+2014-05-30 15:14  neteler
+
+	* imagery/i.atcorr/GeomCond.cpp, imagery/i.atcorr/GeomCond.h,
+	  imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/Iwave.h,
+	  imagery/i.atcorr/create_iwave.py, imagery/i.atcorr/i.atcorr.html:
+	  i.atcorr: added Landsat8 support for testing (vesnikos, trac
+	  #2305)
+
+2014-05-30 13:38  neteler
+
+	* temporal/run_all_tests.sh, temporal/t.list/t.list.py,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.mapcalc2/t.rast.mapcalc2.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.mapcalc2/t.rast3d.mapcalc2.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py, temporal/t.sample/t.sample.py,
+	  temporal/t.select/t.select.py, temporal/t.shift/t.shift.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.mapcalc/t.vect.mapcalc.py,
+	  temporal/t.vect.univar/t.vect.univar.py: t.*: consistency changes
+	  for parameters and flags
+
+2014-05-30 11:55  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-30 10:49  neteler
+
+	* gui/wxpython/timeline/frame.py: g.gui.timeline: msg cosmetics
+
+2014-05-30 05:34  hcho
+
+	* lib/vector/Vlib/clean_nodes.c: Vlib: translate Modifications
+
+2014-05-30 05:13  hcho
+
+	* lib/vector/Vlib/remove_duplicates.c: Vlib: translate "Removed
+	  duplicates"
+
+2014-05-30 04:53  hcho
+
+	* vector/v.in.ogr/main.c: v.in.ogr: no need to G_store
+	  datetime_type
+
+2014-05-30 04:46  hcho
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fallback datetime type for pg
+	  and dbf drivers
+
+2014-05-30 04:01  hcho
+
+	* vector/v.in.ogr/main.c: v.in.ogr: error message
+
+2014-05-30 02:30  annakrat
+
+	* gui/wxpython/core/layerlist.py,
+	  gui/wxpython/gui_core/simplelmgr.py: wxGUI/mapswipe: add support
+	  for RGB maps
+
+2014-05-30 01:49  annakrat
+
+	* gui/wxpython/vnet/dialogs.py: wxGUI/vnet: remove vnet toolbar
+	  from tool switching mechanism when vnet dialog closes to avoid
+	  PyDeadObjectError
+
+2014-05-29 23:27  glynn
+
+	* scripts/r.out.xyz/r.out.xyz.py: Manually revert r57904, r60569
+
+2014-05-29 22:23  glynn
+
+	* include/defs/gis.h, lib/gis/error.c: Add G_fatal_longjmp()
+
+2014-05-29 21:02  neteler
+
+	* raster/r.series/r.series.html: r.series manual: explain approach
+	  for Windows with g.mlist and file output
+
+2014-05-29 12:54  martinl
+
+	* vector/v.external.out/args.c, vector/v.external.out/format.c,
+	  vector/v.external.out/link.c,
+	  vector/v.external.out/local_proto.h,
+	  vector/v.external.out/main.c, vector/v.external.out/status.c,
+	  vector/v.external.out/v.external.out.html: v.external.out:
+	  implement input/output options
+
+2014-05-29 11:25  martinl
+
+	* vector/v.external.out/link.c, vector/v.external.out/main.c:
+	  v.external.out: fix options parsing for PostgreSQL format
+
+2014-05-29 10:48  lucadelu
+
+	* lib/python/pygrass/docs/attributes.rst,
+	  lib/python/pygrass/docs/gridmodules.rst,
+	  lib/python/pygrass/docs/index.rst,
+	  lib/python/pygrass/docs/modules.rst,
+	  lib/python/pygrass/docs/modules_grid.rst,
+	  lib/python/pygrass/docs/raster.rst,
+	  lib/python/pygrass/docs/raster_elements.rst,
+	  lib/python/pygrass/docs/vector.rst,
+	  lib/python/pygrass/docs/vector_attributes.rst,
+	  lib/python/pygrass/docs/vector_database.rst,
+	  lib/python/pygrass/docs/vector_features.rst,
+	  lib/python/pygrass/docs/vector_utils.rst,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/vector/basic.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/sql.py: pygrass doc: several
+	  improvements to sphinx documentation
+
+2014-05-29 10:33  martinl
+
+	* man/build_html.py: fix pygrass manual link
+
+2014-05-29 10:15  lucadelu
+
+	* lib/python/pygrass/docs/gridmodules.rst,
+	  lib/python/pygrass/docs/index.rst,
+	  lib/python/pygrass/docs/messages.rst,
+	  lib/python/pygrass/docs/vector_database.rst,
+	  lib/python/pygrass/messages/__init__.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/grid/patch.py,
+	  lib/python/pygrass/modules/grid/split.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/sql.py,
+	  lib/python/pygrass/vector/table.py: pygrass doc: add gridmodule,
+	  vector database and messages documentation
+
+2014-05-29 09:54  martinl
+
+	* db/drivers/sqlite/describe.c: sqlite-db: correct debug level
+	  (cosmetics)
+
+2014-05-29 05:05  hcho
+
+	* general/g.mlist/g.mlist.html: g.mlist: more examples
+
+2014-05-29 04:54  hcho
+
+	* general/g.mlist/main.c: g.mlist: -p/-f produce the same output as
+	  g.list
+
+2014-05-29 04:23  neteler
+
+	* raster/r.external.out/r.external.out.html: r.external.out manual:
+	  fix example
+
+2014-05-29 04:11  hcho
+
+	* general/g.mremove/check_reclass.c: g.mremove: deleted an unused
+	  include
+
+2014-05-29 03:38  hcho
+
+	* general/g.mlist/main.c: g.mlist: Allow comma-separated map names
+	  for wildcard patterns
+
+2014-05-29 03:19  hcho
+
+	* lib/gis/ls_filter.c: wc2regex(): allow nested braces in wildcard
+	  expressions
+
+2014-05-29 03:17  hcho
+
+	* general/g.mlist/main.c: g.mlist: fatal error on bad pattern
+
+2014-05-29 00:26  hcho
+
+	* scripts/r.out.xyz/r.out.xyz.py: r.out.xyz: separator default to
+	  space because | is not allowed (but why?)
+
+2014-05-28 21:51  neteler
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: fix
+	  error message
+
+2014-05-28 21:43  hcho
+
+	* raster/r.distance/parse.c: r.distance: separator= fixed
+
+2014-05-28 21:40  hcho
+
+	* raster/r.distance/defs.h, raster/r.distance/distance.c,
+	  raster/r.distance/edges.c, raster/r.distance/labels.c,
+	  raster/r.distance/parse.c, raster/r.distance/report.c:
+	  r.distance: copyright block updated
+
+2014-05-28 21:34  hcho
+
+	* raster/r.distance/parse.c: r.distance: sort -s/-r => sort=
+
+2014-05-28 21:09  hcho
+
+	* raster/r.distance/defs.h, raster/r.distance/main.c,
+	  raster/r.distance/parse.c, raster/r.distance/report.c:
+	  r.distance: -s/-r sort by distance implemented
+
+2014-05-28 21:00  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/pg: column check must be
+	  case-insensitive
+
+2014-05-28 20:56  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/close_pg.c,
+	  lib/vector/Vlib/write_pg.c: vlib/pg: add field_info to
+	  Format_info_pg struct
+	  `make distclean` required...
+
+2014-05-28 17:39  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: check return code for
+	  Vect_close (related to PostGIS Topology)
+
+2014-05-28 16:47  martinl
+
+	* lib/gis/parser_html.c, man/build_html.py, tools/mkhtml.py:
+	  manual: link logo with index page
+
+2014-05-28 15:58  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: case insensitive check if
+	  layer exists
+
+2014-05-28 15:55  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: do not ignore epsg code if
+	  defined
+
+2014-05-28 15:37  huhabla
+
+	* gui/wxpython/animation/utils.py: Renamed
+	  open_old_space_time_dataset into open_old_stds
+
+2014-05-28 15:35  huhabla
+
+	* lib/python/temporal/extract.py, lib/python/temporal/list_stds.py,
+	  lib/python/temporal/mapcalc.py, lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/unittests_register.py,
+	  lib/python/temporal/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/unittests_temporal_raster_algebra.py,
+	  lib/python/temporal/univar_statistics.py,
+	  temporal/t.create/t.create.py, temporal/t.merge/t.merge.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.remove/t.remove.py, temporal/t.shift/t.shift.py,
+	  temporal/t.snap/t.snap.py, temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: Renamed
+	  space_time_dataset into stds in several functions
+
+2014-05-28 15:06  martinl
+
+	* lib/vector/Vlib/simple_features.c: vlib: fix sf table name
+	  handling
+
+2014-05-28 14:54  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib: do not ignore connection
+	  settings defined for PG driver when opening external maps
+
+2014-05-28 14:29  hcho
+
+	* general/g.mlist/g.mlist.html, general/g.mremove/g.mremove.html:
+	  g.mlist/g.mremove: long lines in manual broken
+
+2014-05-28 14:22  hcho
+
+	* general/g.mlist/g.mlist.html: g.mlist: remove locale-specific
+	  file version
+
+2014-05-28 14:18  hcho
+
+	* general/g.mlist/g.mlist.html: g.mlist: manual fix
+
+2014-05-28 14:14  hcho
+
+	* lib/gis/parser.c: G_open_option_file(): message read => open
+
+2014-05-28 14:10  hcho
+
+	* general/g.mlist/main.c: g.mlist: mutually exclusive messages
+
+2014-05-28 14:07  martinl
+
+	* Makefile: svn (r)ev in Makefile (cosmetics)
+
+2014-05-28 11:09  lucadelu
+
+	* lib/python/pygrass/docs/raster.rst,
+	  lib/python/pygrass/docs/vector.rst,
+	  lib/python/pygrass/raster/history.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/basic.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/table.py: pygrass doc: improve
+	  documentation on vector and raster classes
+
+2014-05-28 08:20  martinl
+
+	* general/g.mlist/g.mlist.html, general/g.mlist/main.c: g.mlist:
+	  mapset=.. prints data files from all available mapsets
+
+2014-05-28 05:57  neteler
+
+	* lib/python/temporal/c_libraries_interface.py: ctypes: update for
+	  r60508
+
+2014-05-27 23:06  glynn
+
+	* raster/r.series/main.c: Allow file=- for stdin
+
+2014-05-27 22:30  neteler
+
+	* gui/wxpython/vnet/toolbars.py: wxGUI vnet tool: fix icon import
+
+2014-05-27 16:15  hcho
+
+	* vector/v.in.ascii/main.c: v.in.ascii: use G_open_option_file,
+	  G_option_to_separator
+
+2014-05-27 16:14  hcho
+
+	* lib/gis/parser.c: G_open_option_file(): more useful error message
+
+2014-05-27 15:29  hcho
+
+	* lib/gis/parser.c: G_open_option_file(): multiple files not
+	  supported
+
+2014-05-27 15:15  hcho
+
+	* general/g.mlist/main.c: g.mlist: Use G_open/close_option_file
+
+2014-05-27 15:13  hcho
+
+	* include/defs/gis.h: libgis: Added G_open/close_option_file
+
+2014-05-27 15:13  hcho
+
+	* lib/gis/parser.c: libgis: Added G_open/close_option_file
+
+2014-05-27 14:15  neteler
+
+	* raster/r.resamp.stats/r.resamp.stats.html: r.resamp.stats manual:
+	  fix example
+
+2014-05-27 11:20  lucadelu
+
+	* lib/python/pygrass/docs/gis.rst,
+	  lib/python/pygrass/docs/index.rst,
+	  lib/python/pygrass/docs/raster.rst,
+	  lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/gis/region.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/raster/history.py: pygrass: improve
+	  documentation about grass database managment, region and raster
+
+2014-05-27 09:32  martinl
+
+	* general/g.mlist/main.c: g.mlist: use G_option_to_separator
+
+2014-05-27 09:17  martinl
+
+	* display/d.mon/list.c, display/d.mon/stop.c,
+	  general/g.gisenv/main.c, general/g.mapset/main.c,
+	  general/g.mapsets/get_maps.c, general/g.mapsets/list.c,
+	  general/g.mapsets/main.c, general/g.mlist/main.c,
+	  imagery/i.find/main.c, imagery/i.ortho.photo/i.ortho.elev/main.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/env.c,
+	  imagery/i.points/target.c, imagery/i.rectify/env.c,
+	  imagery/i.vpoints/target.c, include/defs/gis.h, lib/gis/env.c,
+	  lib/gis/find_file.c, lib/gis/gisinit.c, lib/gis/list.c,
+	  lib/gis/make_mapset.c, lib/gis/mapset_nme.c,
+	  raster/r.in.gdal/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.proj/main.c, raster/r.proj/readcell.c,
+	  vector/v.in.lidar/main.c, vector/v.proj/setenv.c,
+	  vector/v.rectify/env.c: libgis: rename env-related G__ used in
+	  the modules to G_
+	  G__env_name -> G_get_env_name
+	  G__create_alt_env -> G_create_alt_env
+	  G__switch_env -> G_switch_env
+	  G__mapset_name -> G_get_mapset_name
+	  G_get_list_of_mapsets -> G__get_list_of_mapsets
+	  G__create_alt_search_path -> G_create_alt_search_path
+	  G__switch_search_path -> G_switch_search_path
+	  G_reset_mapsets -> G__reset_mapsets
+	  G_available_mapsets -> G_get_available_mapsets
+	  update modules
+
+2014-05-27 08:31  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-27 08:25  hcho
+
+	* general/g.mlist/main.c: g.mlist: error message
+
+2014-05-27 07:55  hamish
+
+	* gui/images/symbols/geology/circle_cross.png,
+	  gui/images/symbols/geology/strike_cleavage.png,
+	  gui/images/symbols/geology/strike_parallel.png,
+	  lib/symbol/symbol/geology/circle_cross,
+	  lib/symbol/symbol/geology/strike_cleavage,
+	  lib/symbol/symbol/geology/strike_parallel: a frew more symbols
+	  useful for mapping structural geology
+
+2014-05-27 07:48  hcho
+
+	* general/g.mlist/main.c: g.mlist: G_strcasecmp => strcmp
+
+2014-05-27 07:46  hcho
+
+	* lib/gis/mapset_nme.c: mapset_nme.c: Removed \return 0 from void
+	  functions
+
+2014-05-27 07:35  hcho
+
+	* lib/gis/mapset_nme.c: G__mapset_name(): description made clear
+
+2014-05-27 07:26  hcho
+
+	* general/g.mlist/main.c: g.mlist: output= implemented by Martin &
+	  Huidae; check for mutually exclusive options/flags
+
+2014-05-26 20:15  hcho
+
+	* raster/r.distance/defs.h, raster/r.distance/edges.c,
+	  raster/r.distance/main.c, raster/r.distance/parse.c,
+	  raster/r.distance/report.c: r.distance: Added -n flag to report
+	  null as *. Otherwise, no nulls reported. Only CELL maps allowed
+
+2014-05-26 13:49  lucadelu
+
+	* lib/python/pygrass/docs/gis.rst,
+	  lib/python/pygrass/gis/__init__.py: pygrass: improve
+	  documentation of Region class; add method to reset the
+	  SEARCH_PATH
+
+2014-05-26 11:53  martinl
+
+	* lib/gis/verbose.c: libgis: fix G_set_verbose (missing
+	  initialization)
+
+2014-05-25 21:47  martinl
+
+	* vector/v.external.out/list.c, vector/v.external/list.c,
+	  vector/v.in.ogr/main.c: v.in.ogr/v.external/v.external.out:
+	  standardize -f message (cosmetics)
+
+2014-05-25 21:39  martinl
+
+	* raster/r.external.out/main.c: r.external.out: fix r60483
+
+2014-05-25 21:31  martinl
+
+	* raster/r.external.out/main.c, raster/r.in.gdal/main.c,
+	  raster/r.out.gdal/main.c: r.external.out: Starting with GDAL 2.0,
+	  vector drivers can also be returned (fix -f flag)
+
+2014-05-25 21:24  martinl
+
+	* raster/r.out.gdal/main.c: r.out.gdal: Starting with GDAL 2.0,
+	  vector drivers can also be returned (fix -f flag)
+
+2014-05-25 21:22  martinl
+
+	* raster/r.external/list.c: r.external: Starting with GDAL 2.0,
+	  vector drivers can also be returned (fix -f flag)
+
+2014-05-25 21:21  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: Starting with GDAL 2.0,
+	  vector drivers can also be returned (fix -f flag)
+
+2014-05-25 09:22  neteler
+
+	* scripts/db.test/db.test.py: db.test: print which DB driver is
+	  tested
+
+2014-05-25 08:55  martinl
+
+	* db/db.login/main.c: db.login: implement print flag
+
+2014-05-25 08:54  martinl
+
+	* include/defs/dbmi.h, lib/db/dbmi_base/login.c: libdbmi:
+	  db_get_login_dump() added
+
+2014-05-25 05:29  hcho
+
+	* vector/v.segment/main.c: v.segment: Work with features with
+	  multiple cats
+
+2014-05-25 04:06  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-24 21:09  martinl
+
+	* lib/db/dbmi_base/login.c: db_get_login(): database can be NULL
+	  (ignored)
+
+2014-05-24 21:08  martinl
+
+	* db/drivers/postgres/listdb.c: pg-db: fix list_databases() to
+	  accept user/passwd
+
+2014-05-24 20:51  martinl
+
+	* db/drivers/postgres/listdb.c: pg-db: debug message cosmetics
+
+2014-05-24 20:35  martinl
+
+	* db/db.databases/main.c: db.database: note db.login when
+	  connection fails
+
+2014-05-24 20:32  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: reports error from
+	  db.databases
+
+2014-05-24 20:13  annakrat
+
+	* vector/v.vol.rst/user1.c, vector/v.vol.rst/v.vol.rst.html:
+	  v.vol.rst: 3D aspect maps should be in degrees to be consistent
+	  with 2D
+
+2014-05-24 12:25  neteler
+
+	* gui/wxpython/gcp/manager.py: g.gui.gcp: tell in msg which
+	  recification order is currently active
+
+2014-05-23 14:26  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: fix broken import dialog on
+	  Windows and Mac due to wrong wildcard format
+
+2014-05-23 13:54  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ko.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: i18N: msg update from template
+
+2014-05-23 12:33  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-23 12:28  hcho
+
+	* general/g.remove/main.c: g.remove: translate "removed"
+
+2014-05-23 12:17  neteler
+
+	* lib/python/pygrass/docs/Makefile: pygrass: clean compilation
+	  layout _template
+
+2014-05-23 12:17  hcho
+
+	* general/g.mremove/main.c: g.mremove: description refined. regular
+	  expression => search pattern
+
+2014-05-23 12:13  neteler
+
+	* lib/python/pygrass/docs/index.rst: pygrass manual: intro text
+	  expanded
+
+2014-05-23 11:20  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-23 10:55  lucadelu
+
+	* man/build_html.py: grass doc: change number of row and column in
+	  the table of main page; add pygrass documentation link to main
+	  page
+
+2014-05-23 10:51  lucadelu
+
+	* lib/python/pygrass/docs/Makefile,
+	  lib/python/pygrass/docs/_static,
+	  lib/python/pygrass/docs/_static/pygrass.css,
+	  lib/python/pygrass/docs/_templates,
+	  lib/python/pygrass/docs/_templates/layout.html.template,
+	  lib/python/pygrass/docs/conf.py,
+	  lib/python/pygrass/docs/index.rst: pygrass doc: improved pygrass
+	  documentation
+
+2014-05-23 10:43  lucadelu
+
+	* man/Makefile: pygrass doc: generate pygrass doc in the main grass
+	  documentation directory
+
+2014-05-23 08:39  hamish
+
+	* display/d.legend/histogram.c, display/d.legend/local_proto.h,
+	  display/d.legend/main.c: add support for histograms with
+	  constrained ranges (so far only FP maps)
+
+2014-05-23 07:37  mlennert
+
+	* display/d.vect/lines.c: Correcting wrong variable declaration
+	  (fixing #2308)
+
+2014-05-23 07:15  neteler
+
+	* rpm/README.txt, rpm/fedora, rpm/mandriva, rpm/opensuse: rpm SPEC
+	  files: remove outdated files, add README.txt with links
+
+2014-05-23 07:07  mlennert
+
+	* vector/v.category/main.c: improve description of add option
+
+2014-05-23 07:04  neteler
+
+	* tools/reindent.py: tools: removed unused 3rd party Python
+	  reindent script
+
+2014-05-23 00:55  annakrat
+
+	* gui/wxpython/iscatt/controllers.py: wxGUI: attempt to fix #2253 -
+	  console window hanging
+
+2014-05-22 22:50  neteler
+
+	* raster/r.regression.multi/main.c: r.regression.multi: enumerate
+	  predictor name output
+
+2014-05-22 22:11  neteler
+
+	* raster/r.regression.multi/main.c: r.regression.multi: output also
+	  (map) name of predictor
+
+2014-05-22 21:31  hcho
+
+	* lib/gis/parser_standard_options.c: libgis: standard option
+	  descriptions refined
+
+2014-05-22 20:54  hcho
+
+	* lib/python/temporal/mapcalc.py: lib/python/temporal: absolutetime
+	  => absolute time
+
+2014-05-22 18:31  hcho
+
+	* raster/r.topidx/main.c, raster/r.topmodel/main.c:
+	  r.topidx,r.topmodel: updated the header block
+
+2014-05-22 18:21  hcho
+
+	* raster/r.topidx/main.c, raster/r.topmodel/main.c: r.topidx,
+	  r.topmodel: description, copyright years, email address
+
+2014-05-22 18:09  hcho
+
+	* raster/r.topidx/main.c: r.topidx: description refined
+
+2014-05-22 18:07  hcho
+
+	* raster/r.topidx/main.c, raster/r.topmodel/main.c:
+	  r.topidx,r.topmodel: parameter description refined
+
+2014-05-22 17:48  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-22 15:00  hcho
+
+	* include/defs/gis.h, lib/gis/units.c, misc/m.measure/main.c,
+	  raster/r.surf.area/area.c, vector/v.to.db/units.c: libgis,
+	  r.surf.area, v.to.db, m.measure: Renamed
+	  G_units_to_meters_factor* to G_meters_to_units_factor*
+
+2014-05-22 14:41  hcho
+
+	* raster/r.surf.area/main.c: r.surf.area: Fix segmentation fault
+	  and nan report with a single row map
+
+2014-05-22 13:44  lucadelu
+
+	* lib/python/pygrass/docs/Makefile: pygrass: set html documentation
+	  output to main html grass documentation; remove superfluous
+	  output formats
+
+2014-05-22 13:42  hcho
+
+	* lib/gis/area.c: libgis: Fixed the description for
+	  G_area_of_polygon
+
+2014-05-22 09:27  mlennert
+
+	* scripts/db.in.ogr/db.in.ogr.html: Added hint on
+	  PG_LIST_ALL_TABLES variable for PostGIS driver
+
+2014-05-22 02:51  hamish
+
+	* raster/r.in.xyz/main.c: consistent printf type
+
+2014-05-21 15:03  hcho
+
+	* vector/v.edit/main.c: v.edit: Don't try to build topology when no
+	  features selected
+
+2014-05-21 08:24  mmetz
+
+	* include/gis.h, lib/gis/parser_standard_options.c: libgis: add
+	  G_OPT_R_OUTPUTS
+
+2014-05-21 06:39  martinl
+
+	* raster/r.contour/main.c: r.contour: use G_FLG_V_TABLE
+
+2014-05-21 03:06  annakrat
+
+	* gui/wxpython/mapwin/decorations.py: wxGUI/legend: change default
+	  legend position so that legend histogram is not cut off
+
+2014-05-21 02:38  wenzeslaus
+
+	* display/d.rast.arrow/d.rast.arrow.html,
+	  display/d.rast.arrow/main.c: d.rast.arrow: do not draw unknown
+	  and null values when color is none
+	  
+	  since none was allowed by interface it also fixes bug in wxGUI
+	  where setting Transparent caused the module to fail and layer not
+	  to render
+
+2014-05-21 02:32  annakrat
+
+	* raster/r.contour/main.c: r.contour: flag to not create attribute
+	  table, #2201
+
+2014-05-20 15:14  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/ws.py:
+	  wxGUI/rendering: change environment only for subprocesses; wxGUI
+	  amd d.mon should now work together
+
+2014-05-20 14:55  neteler
+
+	* raster/r.neighbors/r.neighbors.html: r.neighbors manual: explain
+	  new precision logic (from grass-dev, Glynn Clements)
+
+2014-05-20 09:56  hellik
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed: manual
+	  cosmetics
+
+2014-05-20 09:44  hellik
+
+	* raster/r.stream.segment/main.c: r.stream.segment: correction of
+	  option description
+
+2014-05-20 08:52  zarch
+
+	* gui/wxpython/gui_core/goutput.py: Remove deprecated warning in
+	  wxpython3
+
+2014-05-20 03:35  hcho
+
+	* scripts/v.report/v.report.py: v.report: Forgot to uncomment if
+	  not colnames
+
+2014-05-20 03:32  hcho
+
+	* scripts/v.report/v.report.py: v.report: cat mismatch bug fixed.
+	  
+	  How to reproduce the bug
+	  
+	  1. Merge multiple lines into polylines:
+	  v.build.polylines input=lines output=polylines cat=first
+	  
+	  lines attribute table is copied to polylines attribute table, but
+	  not all
+	  records have associated polyline features because only first
+	  attribute was
+	  linked to a feature.
+	  
+	  2. v.db.select -c map=polylines, which is called by v.report,
+	  returns all
+	  records, which then are stored in records1.
+	  
+	  E.g,. three lines 1, 2, and 3 are merged into a polyline 3.
+	  Attributes 1 and
+	  2 are orphaned.
+	  
+	  cat|desc
+	  1|
+	  2|
+	  3|new polyline
+	  
+	  3. v.to.db -p map=polylines option=option... returns only
+	  attributes that are
+	  linked to features and they are stored in records2.
+	  
+	  E.g.,
+	  cat|length
+	  3|1000
+	  
+	  4. Now, sorted records1 and sorted records2 may not have the same
+	  ordered cats
+	  or even len(records1) != len(records2).
+	  
+	  5. v.report always reports cats starting from 1 to #features,
+	  which can be
+	  wrong, because records1 has all the records in the attribute
+	  table, but
+	  records2 only has a subset of records1. Zipping two lists of
+	  different
+	  sizes...
+	  
+	  E.g., 1 from v.db.select, new polyline|1000 from v.to.db
+	  
+	  cat|desc|length
+	  1|new polyline|1000
+
+2014-05-20 02:51  hcho
+
+	* vector/v.db.select/main.c: v.db.select: -f flag added to skip
+	  attributes not linked to features
+
+2014-05-20 01:17  hcho
+
+	* lib/vector/Vlib/write_pg.c: Vlib: message typo
+
+2014-05-19 20:49  neteler
+
+	* scripts/d.vect.thematic/d.vect.thematic.html: d.vect.thematic
+	  manual: update example to NC; script still broken
+
+2014-05-19 20:40  neteler
+
+	* vector/v.sample/main.c: v.sample: use DB TRANSACTION to speed up
+
+2014-05-19 19:20  neteler
+
+	* scripts/d.rast.leg/d.rast.leg.py: d.rast.leg: put title on top of
+	  legend
+
+2014-05-19 13:06  glynn
+
+	* raster/r.neighbors/main.c: Be more aggressive about generating
+	  CELL output
+
+2014-05-19 12:29  glynn
+
+	* raster/r.neighbors/main.c: Don't provide default value for
+	  quantile=
+
+2014-05-18 20:31  wenzeslaus
+
+	* gui/wxpython/Makefile: wxGUI: fully revert r60307 (rest of revert
+	  in r60328)
+
+2014-05-18 20:04  glynn
+
+	* gui/wxpython/sitecustomize.py: Revert attempt to hide encoding
+	  bug
+
+2014-05-18 18:20  annakrat
+
+	* gui/wxpython/mapswipe/frame.py: wxGUI/mapswipe: fix tracking
+	  cursor in mirror mode
+
+2014-05-18 16:13  hcho
+
+	* vector/v.edit/args.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.net/args.c,
+	  vector/v.support/main.c: v.edit, v.lrs.create, v.lrs.where,
+	  v.net, v.support: Option thresh => threshold for consistency
+
+2014-05-18 16:12  hcho
+
+	* locale/po/grassmods_ko.po, locale/po/grasswxpy_ko.po: Korean
+	  translation
+
+2014-05-18 16:12  hcho
+
+	* locale/po/grassmods_ko.po, locale/po/grasswxpy_ko.po,
+	  vector/v.edit/args.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.net/args.c,
+	  vector/v.support/main.c: Reverted 60318 because of mixed commits
+
+2014-05-18 16:06  hcho
+
+	* locale/po/grassmods_ko.po, locale/po/grasswxpy_ko.po,
+	  vector/v.edit/args.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.net/args.c,
+	  vector/v.support/main.c: v.edit, v.lrs.create, v.lrs.where,
+	  v.net, v.support: Option thresh => threshold for consistency
+
+2014-05-18 14:01  martinl
+
+	* vector/v.in.ogr/main.c: v.inl.ogr: remove duplicated guisection
+
+2014-05-18 13:17  annakrat
+
+	* gui/wxpython/gui_core/menu.py: wxGUI/menu: don't disable
+	  non-grass commands in menu, motivation is creating toolboxes from
+	  non-grass commands such as Isis
+
+2014-05-18 09:41  hcho
+
+	* vector/v.clean/main.c: v.clean: Option thresh => threshold
+
+2014-05-18 08:44  hcho
+
+	* raster/r.stream.channel/main.c, raster/r.stream.distance/main.c,
+	  raster/r.stream.order/main.c, raster/r.stream.segment/main.c,
+	  raster/r.stream.slope/main.c, raster/r.stream.snap/main.c,
+	  raster/r.stream.stats/main.c: r.stream.*: Name of input/Name for
+	  output
+
+2014-05-18 08:05  hcho
+
+	* gui/wxpython/Makefile, gui/wxpython/sitecustomize.py: wxPython
+	  GUI: Set the default encoding based on LC_CTYPE. Fix tickets
+	  #1856 and #2120.
+
+2014-05-18 06:27  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-18 05:48  hcho
+
+	* raster/r.colors/edit_colors.c: r.colors: error message cosmetics
+
+2014-05-18 05:48  hcho
+
+	* vector/v.colors/main.c: v.colors: error message cosmetics
+
+2014-05-18 05:14  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-17 22:31  annakrat
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI/mapwindow: fix #2277
+
+2014-05-17 22:13  hellik
+
+	* raster/r.stream.segment/r.stream.segment.html: r.stream.segment:
+	  manual cosmetics
+
+2014-05-17 21:49  hellik
+
+	* raster/r.stream.extract/r.stream.extract.html,
+	  raster/r.stream.snap/r.stream.snap.html,
+	  raster/r.stream.stats/r.stream.stats.html: r.stream*: manual
+	  cosmetics
+
+2014-05-17 21:32  hellik
+
+	* raster/r.stream.channel/r.stream.channel.html,
+	  raster/r.stream.distance/r.stream.distance.html,
+	  raster/r.stream.extract/r.stream.extract.html,
+	  raster/r.stream.order/r.stream.order.html,
+	  raster/r.stream.segment/r.stream.segment.html,
+	  raster/r.stream.slope/r.stream.slope.html,
+	  raster/r.stream.snap/r.stream.snap.html,
+	  raster/r.stream.stats/r.stream.stats.html: r.stream.*: more
+	  cosmetics in manuals
+
+2014-05-17 19:46  hellik
+
+	* raster/r.stream.channel/main.c: r.stream.channel: cosmetics
+
+2014-05-17 18:29  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py, gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/toolbars.py, gui/wxpython/mapwin/base.py:
+	  wxGUI/mapswipe: add query tool
+
+2014-05-17 17:18  glynn
+
+	* lib/gis/error.c: Replace SIGSEGV-on-error with SIGABRT-on-error
+
+2014-05-17 16:59  neteler
+
+	* raster/r.resamp.bspline/main.c: r.resamp.bspline: fix broken
+	  method selector
+
+2014-05-17 15:25  neteler
+
+	* gui/wxpython/core/utils.py, scripts/d.rast.leg/d.rast.leg.py:
+	  d.rast.leg/wxGUI: fix 'Unsupported command d.text' bug; fix font
+	  size
+
+2014-05-16 21:08  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li.daemon: simplification for
+	  r60221
+
+2014-05-16 21:07  neteler
+
+	* raster/r.li/r.li.testing_nc_asc.sh: r.li: fix test script
+
+2014-05-16 20:08  neteler
+
+	* vector/v.vol.rst/Makefile, vector/v.vol.rst/dataoct.c,
+	  vector/v.vol.rst/oct.c, vector/v.vol.rst/user1.c,
+	  vector/v.vol.rst/user2.c, vector/v.vol.rst/user3.c,
+	  vector/v.vol.rst/user4.c, vector/v.vol.rst/v.vol.rst.html,
+	  vector/v.vol.rst/vector.c: v.vol.rst: remove unused SITESLIB
+	  dependency; header + manual cosmetics
+
+2014-05-16 18:05  neteler
+
+	* vector/v.buffer/main.c: v.buffer: msg about degree units in
+	  lat-long
+
+2014-05-16 17:00  neteler
+
+	* vector/v.mkgrid/v.mkgrid.html: v.mkgrid manual:
+	  latitude-longitude example added
+
+2014-05-16 14:53  hcho
+
+	* general/g.mlist/main.c: g.mlist: Don't add mapset if only one
+	  mapset is searched.
+
+2014-05-16 14:37  hcho
+
+	* general/g.mlist/main.c: g.mlist: Suppress "found in more mapsets"
+	  warnings. Fix ticket #2255.
+
+2014-05-16 07:31  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c, raster/r.surf.random/main.c:
+	  i18n: minor message standardization
+
+2014-05-15 21:03  neteler
+
+	* imagery/i.pca/i.pca.html: i.pca: manual example cosmetics
+
+2014-05-15 15:50  martinl
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI: #2277 (add -a flag)
+
+2014-05-15 12:49  neteler
+
+	* lib/python/pygrass/docs/gis.rst: pygrass: document gis
+
+2014-05-15 10:21  neteler
+
+	* raster/r.in.lidar/main.c, raster/r.in.lidar/r.in.lidar.html:
+	  r.in.lidar: return filter added (from v.in.lidar)
+
+2014-05-14 19:46  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS standalone: wording
+	  cosmetics
+
+2014-05-14 19:43  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS standalone: higher
+	  compression of the installer
+
+2014-05-14 05:10  neteler
+
+	* raster/r.shaded.relief/main.c: r.shaded.relief: overwrite test
+	  added (from r.in.gdal)
+
+2014-05-13 17:19  hcho
+
+	* vector/v.mkgrid/write_grid.c: v.mkgrid: Reverted a debug line
+
+2014-05-13 17:16  hcho
+
+	* vector/v.mkgrid/main.c, vector/v.mkgrid/write_grid.c: v.mkgrid:
+	  Remove unused line
+
+2014-05-13 15:16  hcho
+
+	* vector/v.out.ascii/v.out.ascii.html: message
+
+2014-05-13 12:47  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation consistency
+
+2014-05-13 12:40  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-13 12:26  hcho
+
+	* lib/vector/Vlib/color_read.c: Rast__read_colors (and
+	  G_find_file2) needs name.
+	  
+	  Fixed ticket #2289.
+
+2014-05-13 10:19  martinl
+
+	* lib/init/grass.py: fix r60216 (i18n)
+
+2014-05-13 10:08  martinl
+
+	* lib/init/Makefile: fix bug introduced in r60216
+
+2014-05-13 10:06  martinl
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li: use G_config_dir() - see
+	  r60220
+
+2014-05-13 09:50  lucadelu
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li.daemon: fix creation of
+	  path to r.li configuration files and output files, before it was
+	  working only on unix
+
+2014-05-13 08:04  lucadelu
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/rlisetup/wizard.py:
+	  g.gui.rlisetup: fix problems encountered on windows and clean up
+
+2014-05-13 05:18  neteler
+
+	* doc/gui/wxpython/example/frame.py,
+	  gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/data.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/temporal_manager.py,
+	  gui/wxpython/core/gcmd.py, gui/wxpython/core/gconsole.py,
+	  gui/wxpython/core/globalvar.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/settings.py, gui/wxpython/core/toolboxes.py,
+	  gui/wxpython/core/utils.py, gui/wxpython/dbmgr/base.py,
+	  gui/wxpython/gcp/manager.py, gui/wxpython/gis_set.py,
+	  gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/prompt.py,
+	  gui/wxpython/gui_core/simplelmgr.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/iclass/statistics.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/iscatt/core_c.py,
+	  gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapwin/analysis.py, gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/extensions.py, gui/wxpython/nviz/main.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/instructions.py,
+	  gui/wxpython/timeline/g.gui.timeline.py,
+	  gui/wxpython/tools/update_menudata.py,
+	  gui/wxpython/vdigit/main.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/profile.py, gui/wxpython/wxplot/scatter.py,
+	  lib/init/grass.py,
+	  lib/python/ctypes/ctypesgencore/libraryloader.py,
+	  lib/python/ctypes/ctypesgencore/parser/lex.py,
+	  lib/python/ctypes/ctypesgencore/parser/pplexer.py,
+	  lib/python/ctypes/ctypesgencore/parser/yacc.py,
+	  lib/python/ctypes/ctypesgencore/processor/operations.py,
+	  lib/python/ctypes/loader.py, lib/python/pydispatch/robust.py,
+	  lib/python/pydispatch/saferef.py, lib/python/script/core.py,
+	  lib/python/script/task.py, lib/python/temporal/gui_support.py,
+	  man/build_html.py, man/build_rest.py,
+	  scripts/d.redraw/d.redraw.py,
+	  scripts/g.extension.all/g.extension.all.py,
+	  scripts/g.extension/g.extension.py, scripts/r.in.wms/wms_base.py,
+	  scripts/r.in.wms/wms_drv.py, scripts/r.pack/r.pack.py,
+	  scripts/v.krige/v.krige.py, temporal/t.register/t.register.py,
+	  tools/g.html2man/g.html2man.py, tools/reindent.py: Python3
+	  support: exception objects require 'as' keyword (compliant with
+	  Python >= 2.6) (trac #2288)
+
+2014-05-13 04:15  hcho
+
+	* lib/init/grass.py, lib/init/prompt.py: Replaced prompt.py with a
+	  bash function for bash startup.
+	  Fixed ticket #2284.
+
+2014-05-13 03:28  hcho
+
+	* gui/wxpython/mapdisp/main.py, lib/display/r_raster.c: Allow
+	  MONITOR=wx* and GRASS_RENDER_IMMEDIATE at the same time to avoid
+	  calling
+	  display commands without MONITOR while the wx monitor is
+	  rendering.
+	  
+	  Fix ticket #2285.
+
+2014-05-12 23:07  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_extent.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.unregister/t.unregister.py: API fixes for consistent
+	  method naming
+
+2014-05-12 15:16  neteler
+
+	* lib/gis/gisinit.c: libgis: msg cosmetics
+
+2014-05-12 03:21  hcho
+
+	* lib/gis/gisinit.c: Added a space between sentences
+
+2014-05-12 03:18  hcho
+
+	* display/d.mon/start.c: Prevent starting the same monitor multiple
+	  times.
+	  
+	  d.mon start=wx0
+	  d.mon start=wx1
+	  d.mon start=wx0 # Creates another wx0 monitor rather than
+	  selecting the
+	  # existing one.
+
+2014-05-12 02:05  hcho
+
+	* display/d.mon/start.c: Typo
+
+2014-05-12 02:03  hcho
+
+	* display/d.mon/start.c, display/d.mon/stop.c: Removed unnecessary
+	  variables
+
+2014-05-12 01:55  hcho
+
+	* display/d.mon/list.c, display/d.mon/start.c,
+	  display/d.mon/stop.c, gui/wxpython/mapdisp/main.py,
+	  include/defs/gis.h, lib/display/r_raster.c,
+	  scripts/d.out.file/d.out.file.py, scripts/d.redraw/d.redraw.py:
+	  Convert MONITOR_*_*FILE variable names to upper case
+
+2014-05-12 01:53  hcho
+
+	* lib/gis/strings.c: Added G_store_upper/lower()
+
+2014-05-11 20:42  neteler
+
+	* lib/gis/gisinit.c: libgis: finetuning of msg change in r60135)
+
+2014-05-11 20:40  neteler
+
+	* lib/gis/gisinit.c: libgis: finetuning of msg change in r60135)
+
+2014-05-11 19:48  hellik
+
+	* mswindows/external/rbatch/R.bat,
+	  mswindows/external/rbatch/Rpathset.bat: R-batch files update to
+	  rev 149 - step 2: svn propset
+
+2014-05-11 19:43  hellik
+
+	* mswindows/external/rbatch/R.bat,
+	  mswindows/external/rbatch/Rpathset.bat: R-batch files update to
+	  rev 149 - step 2
+
+2014-05-11 19:41  hellik
+
+	* mswindows/external/rbatch/R.bat,
+	  mswindows/external/rbatch/README.grass,
+	  mswindows/external/rbatch/Rpathset.bat: R-batch files update to
+	  rev 149 - step 1
+
+2014-05-11 12:24  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Fix regexp to
+	  handle also negative range like in g.proj (datum_trans).
+
+2014-05-11 11:51  hcho
+
+	* locale/po/grasslibs_ko.po: Korean translation
+
+2014-05-11 00:33  huhabla
+
+	* temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate.ds/test.t.rast.aggregate.ds.sh,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.sh,
+	  temporal/t.rast.extract/test.t.rast.extract.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.register/test.t.register.raster.sh: Added offset
+	  option to aggregation modules and tests. More tests that check
+	  correct
+	  error handling in case r.mapcalc fails in spatio-temporal
+	  processing.
+
+2014-05-11 00:32  huhabla
+
+	* lib/python/temporal/aggregation.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/space_time_datasets.py: Added offset option
+	  to aggregation function. Fixed wrong exit value checks of
+	  r.mapcalc runs.
+	  Better error handling when loading map data. Added patch from
+	  ticket #2281 to speedup
+	  r.series runs for aggregation.
+
+2014-05-10 22:57  hellik
+
+	* raster/r.watershed/front/r.watershed.html: cosmetics
+
+2014-05-10 20:50  neteler
+
+	* raster/r.shaded.relief/r.shaded.relief.html: r.shaded.relief
+	  manual: clarify azimuth direction
+
+2014-05-10 09:55  neteler
+
+	* locale/po/grassmods_de.po, locale/po/grassmods_ru.po: msg: update
+	  for r60161
+
+2014-05-09 15:48  hcho
+
+	* locale/po/grassmods_ko.po: Korean translation
+
+2014-05-09 15:16  hcho
+
+	* general/g.setproj/get_stp.c: Message cosmetics
+
+2014-05-09 15:14  hcho
+
+	* general/g.setproj/get_stp.c: Message cosmetics
+
+2014-05-09 14:56  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-09 14:55  hcho
+
+	* lib/gpde/N_gwflow.c: Minor message change
+
+2014-05-09 11:11  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: catch all
+	  exceptions when unable to read metadata
+
+2014-05-09 05:13  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: better placement of horizontal legend
+	  tick labels and units text
+
+2014-05-08 19:45  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-07 19:29  hcho
+
+	* locale/po/grassmods_ko.po: Korean translation
+
+2014-05-07 18:14  mmetz
+
+	* lib/gis/open.c, lib/gis/open_misc.c: libgis: do not open
+	  non-existing files; add warning when opening a file failed
+
+2014-05-07 18:13  mmetz
+
+	* lib/raster/open.c: rasterlib: report reason when no temp files
+	  available
+
+2014-05-07 16:07  neteler
+
+	* lib/init/grass.py: start script: cosmetics for r60146
+
+2014-05-07 14:10  lucadelu
+
+	* lib/init/grass.py: added flag -e in startup script to exit after
+	  creation of location or mapset
+
+2014-05-07 08:05  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: very wide and height not set triggers a
+	  horizontal legend
+
+2014-05-07 07:33  hamish
+
+	* ps/ps.map/ps.map.html, ps/ps.map/ps_fclrtbl.c: add support for
+	  generating horizontal gradient legends, tweak tickbar style
+
+2014-05-07 02:53  hamish
+
+	* display/d.legend/histogram.c, display/d.legend/local_proto.h,
+	  display/d.legend/main.c: histogram support for categorical maps,
+	  run grass_indent.sh on histogram.c
+
+2014-05-06 20:28  neteler
+
+	* raster/r.sun/main.c, raster/r.sunmask/main.c: manual: add
+	  'shadow' keyword
+
+2014-05-06 20:27  neteler
+
+	* lib/gis/gisinit.c: libgis: improve version mismatch compilation
+	  warning (patch from trac #1467)
+
+2014-05-06 16:44  neteler
+
+	* lib/python/pygrass/docs/index.rst,
+	  lib/python/pygrass/docs/intro.rst,
+	  lib/python/pygrass/gis/__init__.py: PyGRASS sphinx manual: added
+	  gis docs; msg cosmetics
+
+2014-05-06 16:22  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/lmgr: fix #2279
+
+2014-05-06 12:48  hcho
+
+	* locale/po/grasslibs_ko.po: Korean translation
+
+2014-05-06 12:31  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-06 12:14  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po,
+	  locale/po/grasswxpy_ko.po: Korean translation
+
+2014-05-05 21:47  neteler
+
+	* raster/r.stream.channel/io.c, raster/r.stream.channel/io.h,
+	  raster/r.stream.channel/stream_topology.c,
+	  raster/r.stream.distance/io.c, raster/r.stream.distance/io.h,
+	  raster/r.stream.order/io.c, raster/r.stream.order/io.h,
+	  raster/r.stream.segment/io.c,
+	  raster/r.stream.segment/stream_topology.c,
+	  raster/r.stream.snap/io.c, raster/r.stream.snap/io.h,
+	  raster/r.stream.stats/io.c, raster/r.stream.stats/io.h:
+	  r.stream.*: trivial synchronization between cloned files
+
+2014-05-05 20:59  martinl
+
+	* vector/v.out.postgis/create.c: v.out.postgis: do not ignore
+	  PROJ_EPSG if available
+
+2014-05-05 20:58  martinl
+
+	* include/defs/gis.h, include/gis.h, lib/gis/get_projinfo.c,
+	  lib/gis/proj3.c: libgis: G_get_projepsg() and
+	  G_database_epsg_code()
+
+2014-05-05 19:29  neteler
+
+	* raster/r.kappa/r.kappa.html: r.kappa manual: simple NC example
+	  added
+
+2014-05-05 19:09  martinl
+
+	* lib/python/script/task.py: libpython: fix grass-interface.dtd
+	  location
+
+2014-05-05 17:27  annakrat
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/utils.py: wxGUI/animation: support also
+	  registered vector layers, not just registered vector maps, in 2D
+
+2014-05-05 16:50  martinl
+
+	* gui/xml/Makefile: move grass-interface.dtd to gui/xml
+
+2014-05-05 13:34  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: Korean
+	  translation
+
+2014-05-05 11:18  hamish
+
+	* display/d.legend/d.legend.html, display/d.legend/main.c: display
+	  map data units, if known
+
+2014-05-05 09:52  hamish
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapwin/decorations.py: Vaclav: add support for 3D
+	  raster legends (#2083)
+
+2014-05-05 09:45  hamish
+
+	* scripts/d.rast.leg/d.rast.leg.py: update d.legend command line
+	  parameter
+
+2014-05-05 09:43  hamish
+
+	* display/d.legend/Makefile, display/d.legend/d.legend.html,
+	  display/d.legend/get_stats.c, display/d.legend/histogram.c,
+	  display/d.legend/local_proto.h, display/d.legend/main.c: add
+	  support for 3D raster map legends (#2083, thanks Vaclav)
+
+2014-05-05 09:06  hamish
+
+	* raster3d/r3.stats/local_proto.h, raster3d/r3.stats/main.c,
+	  raster3d/r3.stats/support.c: add flag to print only bin number
+	  and cell counts
+
+2014-05-05 08:50  hamish
+
+	* raster3d/r3.stats, raster3d/r3.stats/local_proto.h,
+	  raster3d/r3.stats/main.c, raster3d/r3.stats/support.c: split up
+	  into bite sized chunks
+
+2014-05-05 08:36  hamish
+
+	* raster3d/r3.stats/main.c: be more verbose, 3D can be huge
+
+2014-05-05 08:27  hamish
+
+	* raster/r.univar/r3.univar_main.c: be more verbose, 3D can be huge
+
+2014-05-05 07:17  hamish
+
+	* display/d.legend/main.c: trivial whitespace
+
+2014-05-05 06:30  hamish
+
+	* raster/r.stats/main.c: -q flag is gone
+
+2014-05-05 06:27  hamish
+
+	* display/d.histogram/dhist.h, display/d.histogram/get_stats.c,
+	  display/d.histogram/main.c: quiet handled by --quiet
+
+2014-05-05 06:07  hamish
+
+	* display/d.legend, display/d.legend/get_stats.c,
+	  display/d.legend/histogram.c, display/d.legend/local_proto.h,
+	  display/d.legend/main.c: add support for histogram sidebars
+	  (#1049)
+
+2014-05-05 02:25  hamish
+
+	* display/d.legend/local_proto.h, display/d.legend/main.c: drop
+	  unused code
+
+2014-05-05 01:27  hamish
+
+	* display/d.legend/d.legend.html, display/d.legend/main.c: replace
+	  funny text scaling parameter with absolute font size.
+	  Bug: D_text_size() does not respect GRASS_TEXT_SIZE. Is the
+	  solution to
+	  test for the enviro var and not call D_text_size() at all if it
+	  exists?
+	  or is it better to put that in the lib fn itself?
+
+2014-05-04 20:18  neteler
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po,
+	  locale/po/grasswxpy_ko.po: Korean po files: header
+	  standardization
+
+2014-05-04 19:49  martinl
+
+	* general/g.mapsets/Makefile,
+	  general/g.mapsets/g.mapsets_picker.py, general/g.mapsets/main.c,
+	  gui/wxpython/modules/mapsets_picker.py: g.mapsets -s: major
+	  clean-up
+
+2014-05-04 19:31  martinl
+
+	* general/g.mapsets/main.c: fix g.mapsets -s
+
+2014-05-04 16:45  neteler
+
+	* lib/raster/gdal.c: libraster: enable also gdal111.dll
+
+2014-05-04 10:16  martinl
+
+	* scripts/v.krige/v.krige.py: v.krige: fix GUI import
+
+2014-05-04 10:10  martinl
+
+	* gui/wxpython/scripts: empty scripts dir removed
+
+2014-05-04 10:09  martinl
+
+	* gui/wxpython/modules/vkrige.py, gui/wxpython/scripts/vkrige.py:
+	  move vkrige from scripts to modules
+
+2014-05-04 10:04  martinl
+
+	* gui/wxpython/core/globalvar.py: Add GUIDIR/scripts into path
+
+2014-05-04 09:52  martinl
+
+	* gui/scripts/Makefile: fix gui/scripts Makefile
+
+2014-05-04 09:16  martinl
+
+	* general/g.mapsets/Makefile: g.mapsets: fix makefile for GUI
+	  script
+
+2014-05-03 21:33  hcho
+
+	* locale/po/grasslibs_ko.po: More Korean translation
+
+2014-05-03 21:04  hcho
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po,
+	  locale/po/grasswxpy_ko.po: Added grasswxpy_ko.po template
+
+2014-05-03 20:19  hcho
+
+	* vector/v.in.db/main.c: Minor changes in error message
+
+2014-05-03 19:21  martinl
+
+	* gui/wxpython/mapdisp/frame.py: fix typo #2277
+
+2014-05-03 17:15  martinl
+
+	* general/g.proj/create.c, general/g.proj/main.c: g.proj:
+	  description cosmetics
+
+2014-05-03 17:08  martinl
+
+	* display/d.mon/main.c, display/d.mon/start.c: d.mon: fix wxpython
+	  path
+
+2014-05-03 17:05  martinl
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapwin/base.py,
+	  gui/wxpython/mapwin/buffered.py: wxGUI: set computational region
+	  extent interactiverly (#2277)
+
+2014-05-03 13:49  hcho
+
+	* display/d.extract/main.c, display/d.path/main.c,
+	  display/d.vect.chart/main.c, general/manage/lister/vector.c,
+	  lib/sites/sites.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/open.c,
+	  ps/ps.map/do_vectors.c, raster/r.carve/main.c,
+	  raster/r.carve/vect.c, raster/r.contour/main.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.random/random.c,
+	  raster/r.random/support.c, raster/r.stream.extract/close.c,
+	  raster/r.stream.order/stream_vector.c,
+	  raster/r.stream.segment/stream_vector.c,
+	  raster/r.stream.snap/points_io.c, raster/r.to.vect/main.c,
+	  raster/r.volume/main.c, raster/simwe/simlib/output.c,
+	  vector/v.buffer/main.c, vector/v.build.polylines/main.c,
+	  vector/v.build/main.c, vector/v.class/main.c,
+	  vector/v.clean/main.c, vector/v.clean/test/topocheck.c,
+	  vector/v.colors.out/make_colors.c,
+	  vector/v.colors.out/scan_cats.c, vector/v.colors/main.c,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  vector/v.delaunay/main.c, vector/v.distance/main.c,
+	  vector/v.drape/main.c, vector/v.edit/main.c,
+	  vector/v.external/main.c, vector/v.extract/main.c,
+	  vector/v.extrude/main.c, vector/v.in.ascii/main.c,
+	  vector/v.in.db/main.c, vector/v.in.dwg/main.c,
+	  vector/v.in.lidar/main.c, vector/v.in.ogr/main.c,
+	  vector/v.in.region/main.c, vector/v.in.sites/main.c,
+	  vector/v.kernel/main.c, vector/v.label.sa/labels.c,
+	  vector/v.label/main.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.neighbors/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.salesman/main.c,
+	  vector/v.net.steiner/main.c, vector/v.normal/main.c,
+	  vector/v.out.dxf/main.c, vector/v.out.ogr/main.c,
+	  vector/v.out.pov/main.c, vector/v.out.svg/main.c,
+	  vector/v.overlay/main.c, vector/v.parallel/main.c,
+	  vector/v.patch/main.c, vector/v.perturb/main.c,
+	  vector/v.proj/main.c, vector/v.qcount/main.c,
+	  vector/v.reclass/main.c, vector/v.rectify/main.c,
+	  vector/v.sample/main.c, vector/v.segment/main.c,
+	  vector/v.select/main.c, vector/v.split/main.c,
+	  vector/v.surf.idw/read_sites.c, vector/v.surf.rst/main.c,
+	  vector/v.to.db/main.c, vector/v.to.points/main.c,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c,
+	  vector/v.to.rast3/main.c, vector/v.transform/main.c,
+	  vector/v.type/main.c, vector/v.univar/main.c,
+	  vector/v.vect.stats/main.c, vector/v.vol.rst/main.c,
+	  vector/v.voronoi/main.c, vector/v.what.rast/main.c,
+	  vector/v.what.rast3/main.c: Added missing checks for Vect_open_*
+	  return value to avoid potential segmentation fault
+
+2014-05-03 02:48  annakrat
+
+	* gui/wxpython/animation/utils.py: wxGUI/animation: fix #2273 -
+	  search path
+
+2014-05-03 02:48  annakrat
+
+	* gui/wxpython/timeline/frame.py: wxGUI/timeline: fix #2275 -
+	  search path
+
+2014-05-02 23:45  annakrat
+
+	* gui/wxpython/timeline/frame.py: wxGUI/timeline: fix case when
+	  there are no registered datasets
+
+2014-05-02 21:20  hcho
+
+	* vector/v.in.db/main.c: exit => G_fatal_error
+
+2014-05-02 16:53  hcho
+
+	* vector/v.in.db/main.c: Fixed a seg fault
+
+2014-05-02 16:39  hcho
+
+	* vector/v.in.db/main.c: dblinks in other mapsets are OK because we
+	  won't be able to overwrite them anyway
+
+2014-05-02 16:30  hcho
+
+	* vector/v.in.db/main.c: Disallow overwriting the output vector
+	  when the input table is linked to the output vector because
+	  overwrting will delete the table first.
+
+2014-05-02 15:25  hcho
+
+	* vector/v.in.db/main.c: Don't check if the table exists when -t
+	  option is given
+
+2014-05-02 14:50  neteler
+
+	* raster/r.covar/r.covar.html: r.covar manual: fix m.eigensystem
+	  reference (still points to G6 Addons)
+
+2014-05-02 14:17  hcho
+
+	* vector/v.in.db/v.in.db.html: not not => not
+
+2014-05-02 12:46  annakrat
+
+	* gui/wxpython/timeline/g.gui.timeline.html: g.gui.timeline: fix
+	  typo in man page
+
+2014-05-02 09:21  mlennert
+
+	* raster/r.covar/main.c: Add output of N value (number of cells
+	  considered)
+
+2014-05-02 08:33  neteler
+
+	* gui/wxpython/timeline/g.gui.timeline.html: g.gui.timeline manual:
+	  cosmetics
+
+2014-05-02 07:20  neteler
+
+	* lib/python/pygrass/docs/conf.py,
+	  lib/python/pygrass/pygrasslib.dox: pyGRASS docs: Reference added;
+	  cosmetics
+
+2014-05-01 20:55  neteler
+
+	* lib/cairodriver/Raster.c: cairodriver: improved error message
+	  (triggered via d.mon/d.rast)
+
+2014-05-01 20:33  neteler
+
+	* vector/v.in.ogr/v.in.ogr.html: v.in.ogr manual: added snapping
+	  warning to WARNINGS section
+
+2014-05-01 20:21  huhabla
+
+	* temporal/t.list/t.list.py: Sort the mapset correctly, make the
+	  current mapset the first one
+
+2014-05-01 20:20  neteler
+
+	* vector/v.kcv/main.c, vector/v.kcv/v.kcv.html: v.kcv manual
+	  updated; main.c header cosmetics
+
+2014-05-01 20:20  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py: Order the mapset
+	  names, make the current mapset the first entry in the list
+
+2014-05-01 19:18  huhabla
+
+	* temporal/t.list/t.list.py: Use function to list stds and maps
+	  that is sensitive to the users mapset access permissions, making
+	  the output more g.list like
+
+2014-05-01 19:17  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/list_stds.py: Added stds and time stamped map
+	  list function that is sensitive to the user mapsets access rights
+
+2014-05-01 18:49  martinl
+
+	* vector/v.in.ogr/main.c, vector/v.in.ogr/v.in.ogr.html: v.in.ogr:
+	  add 'key' option
+
+2014-05-01 16:42  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/psmap/dialogs.py: wxGUI: fix symbol path
+
+2014-05-01 16:36  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: fix flags file path
+
+2014-05-01 16:23  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: fix wxGUI AboutWindow (broken
+	  icon path)
+
+2014-05-01 16:19  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: fix typo in r60011
+
+2014-05-01 16:17  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS: add wxpython to
+	  PYTHONPATH
+
+2014-05-01 16:16  martinl
+
+	* lib/init/grass.py: init: wxGUI moved to DISTDIR/gui
+
+2014-05-01 16:14  martinl
+
+	* general/g.gui/main.c, lib/gis/parser.c: libgis+g.gui: wxGUI moved
+	  to DISTDIR/gui
+
+2014-05-01 16:12  martinl
+
+	* gui/icons/Makefile, gui/images/Makefile, gui/scripts/Makefile,
+	  gui/wxpython/Makefile, gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/animation/nviztask.py,
+	  gui/wxpython/animation/provider.py,
+	  gui/wxpython/animation/temporal_manager.py,
+	  gui/wxpython/core/giface.py, gui/wxpython/core/globalvar.py,
+	  gui/wxpython/core/menutree.py, gui/wxpython/core/toolboxes.py,
+	  gui/wxpython/core/units.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/g.gui.dbmgr.py,
+	  gui/wxpython/dbmgr/manager.py, gui/wxpython/dbmgr/sqlbuilder.py,
+	  gui/wxpython/gcp/g.gui.gcp.py, gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gis_set.py, gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gmodeler/menudata.py,
+	  gui/wxpython/gmodeler/model.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py, gui/wxpython/gui_core/query.py,
+	  gui/wxpython/gui_core/simplelmgr.py,
+	  gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/gui_core/treeview.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/iscatt/frame.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/menudata.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/modules/vclean.py, gui/wxpython/nviz/preferences.py,
+	  gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/psmap/menudata.py, gui/wxpython/rlisetup/frame.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/rlisetup/wizard.py, gui/wxpython/scripts/vkrige.py,
+	  gui/wxpython/timeline/frame.py,
+	  gui/wxpython/timeline/g.gui.timeline.py,
+	  gui/wxpython/tools/update_menudata.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vnet/dialogs.py,
+	  gui/wxpython/vnet/widgets.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxplot/base.py, gui/xml/Makefile: wxGUI: moved to
+	  DISTDIR/gui
+	  eliminate hardcoded paths
+
+2014-05-01 16:10  martinl
+
+	* include/Make/Rules.make: Rules: add wxpython dir to PYTHONPATH
+
+2014-05-01 16:08  martinl
+
+	* include/Make/Grass.make: define GUIDIR
+
+2014-04-30 23:42  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/lmgr: fix using more
+	  displays when one is 3D
+
+2014-04-30 20:20  hcho
+
+	* lib/raster/color_range.c: typo
+
+2014-04-30 18:16  neteler
+
+	* config.guess, config.sub: autoconf support file update from
+	  git.savannah.gnu.org
+
+2014-04-30 18:16  neteler
+
+	* doc/howto_release.txt: release notes: update to G7
+
+2014-04-30 15:38  neteler
+
+	* vector/v.buffer/v.buffer.html: v.buffer manual: minor cleanup
+
+2014-04-30 14:43  neteler
+
+	* scripts/r.mask/r.mask.html: r.mask manual: fix examples
+
+2014-04-30 14:29  neteler
+
+	* vector/v.buffer/Makefile: v.buffer: compile only if GEOS present
+
+2014-04-30 14:09  mmetz
+
+	* vector/v.random/main.c, vector/v.random/v.random.html: v.random:
+	  add option to restrict points to vector areas
+
+2014-04-30 13:44  neteler
+
+	* lib/init/variables.html: manual variables.html: explain TMPDIR
+	  for wxGUI settings
+
+2014-04-29 19:19  martinl
+
+	* gui/wxpython/animation/frame.py, gui/wxpython/timeline/frame.py:
+	  wxGUI animation/timeline: add 'GRASS GIS' to the frame titles
+
+2014-04-29 12:33  martinl
+
+	* lib/python/pygrass/docs: update svn:ingore props
+
+2014-04-29 12:14  neteler
+
+	* general/g.list/g.list.html, general/g.mlist/g.mlist.html,
+	  temporal/t.list/t.list.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast3d.list/t.rast3d.list.html,
+	  temporal/t.vect.list/t.vect.list.html: manual: cross-ref
+	  t.*.list, g.list, g.mlist
+
+2014-04-29 10:59  martinl
+
+	* temporal/t.list/t.list.html, temporal/t.list/t.list.py: t.list:
+	  manual+desc cosmetics
+
+2014-04-29 09:00  hamish
+
+	* lib/gis/gislib_cmdline_parsing.dox: svn props (not an executable)
+
+2014-04-29 08:13  mmetz
+
+	* lib/vector/diglib/frmt.c: diglib: fix buffer size
+
+2014-04-29 08:09  mmetz
+
+	* lib/vector/Vlib/init_head.c: Vlib: fix G_zero() usage
+
+2014-04-29 08:08  mmetz
+
+	* lib/raster/close.c: rasterlib: fix double close
+
+2014-04-29 07:01  hamish
+
+	* lib/gis/colors/roygbiv: improved rainbow
+
+2014-04-27 18:25  neteler
+
+	* lib/python/pygrass/docs/attributes.rst,
+	  lib/python/pygrass/docs/conf.py,
+	  lib/python/pygrass/docs/index.rst,
+	  lib/python/pygrass/docs/intro.rst,
+	  lib/python/pygrass/docs/modules.rst,
+	  lib/python/pygrass/docs/raster.rst,
+	  lib/python/pygrass/pygrasslib.dox: pyGRASS docs: English fixes;
+	  ref vector attribute management; minor improvements
+
+2014-04-27 09:02  martinl
+
+	* lib/python/Makefile, lib/python/pygrass/Makefile,
+	  lib/python/pygrass/pygrasslib.dox, lib/python/pythonlib.dox,
+	  lib/python/script/Makefile, lib/python/script/pythonlib.dox:
+	  pygrass dox file added
+	  python dox file updated
+
+2014-04-26 13:59  neteler
+
+	* lib/python/pygrass/docs/Makefile,
+	  lib/python/pygrass/docs/conf.py,
+	  lib/python/pygrass/docs/raster.rst: pygrass docs: enable 'make
+	  html' in virtual GRASS session; update copyright year/version;
+	  fix progman link
+
+2014-04-26 12:22  martinl
+
+	* lib/python/pygrass/docs/conf.py: fix pygrass conf.py to import
+	  modules correctly (requires GISBASE to be defined)
+
+2014-04-25 13:01  martinl
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/map_calc: fix
+	  selection
+
+2014-04-24 13:15  martinl
+
+	* raster/r.stream.order/r.stream.order.html: r.stream.order:
+	  eliminate options section in the manual
+
+2014-04-24 12:31  martinl
+
+	* raster/r.flow/r.flow.html: r.flow: clean-up the manual
+
+2014-04-24 11:55  martinl
+
+	* raster/r.flow/main.c: r.flow: more guisections
+
+2014-04-24 11:45  martinl
+
+	* man/grassdocs.css: css: fix code div width
+
+2014-04-24 11:23  martinl
+
+	* raster/r.stream.extract/r.stream.extract.html: r.stream.extract:
+	  eliminate option section in the manual
+
+2014-04-24 10:31  martinl
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed: link
+	  r.stream.extract in the manual
+
+2014-04-24 10:15  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix copying command
+	  containing spaces
+
+2014-04-24 10:01  martinl
+
+	* raster/r.stream.channel/r.stream.channel.html,
+	  raster/r.stream.distance/r.stream.distance.html,
+	  raster/r.stream.extract/r.stream.extract.html,
+	  raster/r.stream.order/r.stream.order.html,
+	  raster/r.stream.segment/r.stream.segment.html,
+	  raster/r.stream.slope/r.stream.slope.html,
+	  raster/r.stream.snap/r.stream.snap.html,
+	  raster/r.stream.stats/r.stream.stats.html: update r.stream.*
+	  modules: link other r.stream.* modules
+
+2014-04-24 09:55  hcho
+
+	* raster/r.out.ascii/main.c: Use the standard options
+
+2014-04-24 09:35  hcho
+
+	* raster/r.rescale.eq/main.c, raster/r.rescale/main.c: Use the
+	  standard options
+
+2014-04-23 22:15  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/univar_statistics.py: Fix for #2264 and #2264
+
+2014-04-23 22:14  huhabla
+
+	* lib/temporal/SQL/stds_map_register_table_template.sql,
+	  lib/temporal/SQL/update_stds_spatial_temporal_extent_template.sql,
+	  lib/temporal/SQL/update_str3ds_metadata_template.sql,
+	  lib/temporal/SQL/update_strds_metadata_template.sql,
+	  lib/temporal/SQL/update_stvds_metadata_template.sql: Fix for
+	  #2264
+
+2014-04-23 19:43  martinl
+
+	* db/drivers/postgres/index.c: PG driver: message cosmetics
+
+2014-04-23 19:34  martinl
+
+	* vector/v.db.connect/main.c, vector/v.in.db/main.c,
+	  vector/v.transform/trans_digit.c: v.*: column not found (clarify
+	  message)
+
+2014-04-23 19:23  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI/vdigit: fix vdigit toolbar
+	  for simple features editing (work in progress)
+
+2014-04-23 18:58  martinl
+
+	* vector/v.external.out/status.c: v.external.out: print dsn for
+	  PostgreSQL format
+
+2014-04-23 17:48  martinl
+
+	* temporal/t.register/t.register.py: t.register: catch exception
+	  and print fatal error
+
+2014-04-23 16:08  lucadelu
+
+	* lib/python/pygrass/functions.py,
+	  lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/gis/region.py,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/modules/grid/__init__.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/grid/split.py,
+	  lib/python/pygrass/modules/interface/__init__.py,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/shortcuts.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/buffer.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/raster/rowio.py,
+	  lib/python/pygrass/raster/segment.py,
+	  lib/python/pygrass/shell/__init__.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/vector_type.py: update doctest for
+	  pygrass, some should be fixed. please check #2261
+
+2014-04-23 14:48  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix encoding error when
+	  removing layer with opacity #2260
+
+2014-04-22 20:12  neteler
+
+	* man/build_html.py: manual TOC: html fix for full_index.html
+
+2014-04-22 19:49  neteler
+
+	* tools/mkhtml.py: manual TOC: fix " in labels
+
+2014-04-22 18:12  mmetz
+
+	* raster/r.watershed/ram/no_stream.c,
+	  raster/r.watershed/seg/no_stream.c: r.watershed: skip real
+	  depressions in basin extension
+
+2014-04-21 21:12  neteler
+
+	* raster/r.statistics/r.statistics.html,
+	  raster/r.stats/r.stats.html, raster/r.univar/r.univar.html:
+	  r.stat* manual: cross-ref manual pages
+
+2014-04-21 19:27  madi
+
+	* raster/r.stream.order/r.stream.order.html: description tweaking
+	  to align with other r.stream modules wording
+
+2014-04-21 17:31  madi
+
+	* raster/r.stream.distance/r.stream.distance.html: minor edit
+
+2014-04-21 17:21  madi
+
+	* raster/r.stream.distance/main.c: Added description for outlet map
+
+2014-04-21 17:11  madi
+
+	* raster/r.stream.distance/r.stream.distance.html: Added example
+
+2014-04-21 16:18  madi
+
+	* raster/r.stream.snap/r.stream.snap.html: some typos corrected
+
+2014-04-21 11:55  martinl
+
+	* general/g.gui/g.gui.html, general/g.gui/main.c: g.gui: rename -u
+	  flag to -d
+	  manual tuning
+
+2014-04-21 09:44  neteler
+
+	* general/g.gui/g.gui.html: g.gui manual: cosmetics
+
+2014-04-20 22:00  martinl
+
+	* general/g.gui/g.gui.html, general/g.gui/main.c: g.gui: change
+	  option 'gui' to more suitable 'ui'
+
+2014-04-20 21:53  martinl
+
+	* general/g.gui/g.gui.html: g.gui: update manual page
+
+2014-04-20 21:06  neteler
+
+	* doc/howto_release.txt: release notes: small updates
+
+2014-04-20 20:33  neteler
+
+	* REQUIREMENTS.html: REQUIREMENTS.html: XDR ref removed as it is
+	  included in libgis (trac #2236)
+
+2014-04-20 20:26  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI welcome screen: show revision
+	  number only for dev versions
+
+2014-04-20 20:24  martinl
+
+	* lib/init/grass.py: grass.py: show revision number only for dev
+	  versions
+
+2014-04-20 20:20  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: show revision number also in
+	  welcome screen
+
+2014-04-20 20:19  neteler
+
+	* raster/r.grow/DEPRECATED: r.grow not maintained any more, use
+	  ../r.grow.distance/
+
+2014-04-20 20:18  martinl
+
+	* lib/init/grass.py: grass.py: show also revision number if
+	  available
+
+2014-04-20 17:36  neteler
+
+	* raster/r.resamp.rst/r.resamp.rst.html: r.resamp.rst manual:
+	  example added
+
+2014-04-20 13:28  martinl
+
+	* man/build_html.py: index: change printing to cartography, link
+	  g.gui.psmap
+
+2014-04-20 13:20  martinl
+
+	* gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.html,
+	  gui/wxpython/gcp/g.gui.gcp.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/iclass/g.gui.iclass.html,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/timeline/g.gui.timeline.html,
+	  gui/wxpython/vdigit/g.gui.vdigit.html: update index link for
+	  g.gui manual pages
+
+2014-04-20 13:19  martinl
+
+	* tools/mkhtml.py: mkhtml: support labels in page index
+
+2014-04-20 12:48  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI forms: 0-margin for title
+	  text
+
+2014-04-20 12:19  martinl
+
+	* tools/mkhtml.py: TOC: fix   tag, change _ to - in href names
+
+2014-04-20 11:31  martinl
+
+	* man/build_full_index.py, man/build_html.py: generate TOC also for
+	  full_index
+
+2014-04-20 10:47  martinl
+
+	* raster/r.li/r.li.daemon/r.li.daemon.html, raster/r.li/r.li.html,
+	  vector/v.lrs/lrs.html: use standardized header and footer for
+	  rest of manual pages
+
+2014-04-20 10:40  martinl
+
+	* lib/cairodriver/cairodriver.html, lib/htmldriver/htmldriver.html,
+	  lib/pngdriver/pngdriver.html, lib/psdriver/psdriver.html: use
+	  standardized header and footer for display drivers manual pages
+
+2014-04-20 10:28  martinl
+
+	* db/drivers/dbf/grass-dbf.html, db/drivers/mysql/grass-mysql.html,
+	  db/drivers/odbc/grass-odbc.html, db/drivers/ogr/grass-ogr.html,
+	  db/drivers/postgres/grass-pg.html,
+	  db/drivers/sqlite/grass-sqlite.html, lib/db/sqlp/sql.html: use
+	  standardized header and footer for DB drivers manual pages
+
+2014-04-20 10:09  martinl
+
+	* db/drivers/dbf/grass-dbf.html, db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html,
+	  db/drivers/odbc/grass-odbc.html, db/drivers/ogr/grass-ogr.html,
+	  db/drivers/postgres/grass-pg.html,
+	  db/drivers/sqlite/grass-sqlite.html, doc/vector/vector.html,
+	  general/g.parser/g.parser.html, imagery/i.atcorr/i.atcorr.html,
+	  lib/cairodriver/cairodriver.html, lib/gis/parser_html.c,
+	  lib/htmldriver/htmldriver.html, lib/pngdriver/pngdriver.html,
+	  lib/psdriver/psdriver.html, macosx/app/build_html_user_index.sh,
+	  man/build_html.py, man/grassdocs.css,
+	  raster/r.li/r.li.daemon/r.li.daemon.html, raster/r.li/r.li.html,
+	  tools/mkhtml.py, tools/module_synopsis.sh, vector/v.lrs/lrs.html:
+	  TOC: fix names
+	  prettify
+	  add class for hr
+
+2014-04-20 01:41  glynn
+
+	* tools/g.html2man/g.html2man.py: Remove ToC (added in r59673)
+
+2014-04-19 21:40  neteler
+
+	* man/build_html.py: manual index: reorganize intro page links into
+	  the respective boxes
+
+2014-04-19 20:20  martinl
+
+	* raster/r.colors/Makefile: fix generating color table thumbnails
+	  (missing dependency)
+
+2014-04-19 20:10  neteler
+
+	* man/build_html.py: manual index: mention keyword index and wxGUI
+	  toolboxes
+
+2014-04-19 20:04  martinl
+
+	* man/build_html.py, man/grassdocs.css: prettify index page
+
+2014-04-19 19:10  martinl
+
+	* tools/mkhtml.py: Fix TOC for pages with no h2 tag
+
+2014-04-19 18:47  martinl
+
+	* imagery/i.maxlik/i.maxlik.html: i.maxlik: major manual clean-up
+
+2014-04-19 18:27  neteler
+
+	* doc/projectionintro.html, imagery/imageryintro.html,
+	  raster3d/raster3dintro.html, temporal/temporalintro.html: intro
+	  manual pages: standardize first subsection
+
+2014-04-19 18:09  martinl
+
+	* man/build_html.py, tools/mkhtml.py: fix remaining TOC issues, no
+	  TOC for index, topics, and keywords
+
+2014-04-19 18:08  martinl
+
+	* gui/wxpython/docs/wxGUI.components.html: revert r59804
+
+2014-04-19 17:44  martinl
+
+	* man/grassdocs.css, tools/mkhtml.py: Manual pages: avoid <table>
+	  tag in TOC
+
+2014-04-19 17:42  martinl
+
+	* gui/wxpython/docs/wxGUI.components.html: wxGUI: add <h2> to
+	  components manual page
+
+2014-04-19 15:49  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: winGRASS: fix SQLBuilder to get
+	  values on Windows
+
+2014-04-19 12:16  neteler
+
+	* locale/po/grasslibs_zh.po, translators.csv: YusiJi: Chinese
+	  translation cont'ed
+
+2014-04-18 17:21  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: import dialog - fix
+	  extension list for vectors
+	  define default formats: GeoTIFF and Shapefile
+
+2014-04-18 15:18  annakrat
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py,
+	  gui/wxpython/wxplot/profile.py, gui/wxpython/wxplot/scatter.py:
+	  wxGUI/wxplot: fix a few issues related to wxPython 3
+
+2014-04-17 21:31  neteler
+
+	* raster/r.li/TODO, raster/r.li/r.li.testing_nc_asc.sh,
+	  raster/r.li/r.li.testing_sp_mov.sh: r.li: test scripts added
+
+2014-04-17 18:29  mmetz
+
+	* include/defs/linkm.h, lib/linkm/README, lib/linkm/new.c:
+	  linkmlib: clarify linkm usage
+
+2014-04-17 18:21  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI: define min size for
+	  SQLBuilder
+
+2014-04-17 18:16  mmetz
+
+	* lib/vector/Vlib/poly.c: Vlib: fix linkm usage
+
+2014-04-17 17:12  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI: report g.extension
+	  error
+
+2014-04-16 21:29  martinl
+
+	* raster/r.param.scale/interface.c,
+	  raster/r.param.scale/r.param.scale.html: r.param.scale: manual
+	  cosmetics
+
+2014-04-15 12:34  mmetz
+
+	* raster/r.resamp.rst/main.c: r.resamp.rst: fix #1718
+
+2014-04-15 12:16  mmetz
+
+	* lib/rst/interp_float/input2d.c, lib/rst/interp_float/resout2d.c:
+	  rstlib: fix mask and region (#1775)
+
+2014-04-15 10:42  mmetz
+
+	* raster/r.grow/main.c, raster/r.grow/r.grow.html: r.grow: shrink
+	  for negative radius
+
+2014-04-14 07:25  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2014-04-13 19:46  mmetz
+
+	* vector/v.distance/main.c: v.distance: fix percent counter
+
+2014-04-13 19:37  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grasswxpy_fr.po: Sylvain
+	  Maillard: FR translation cont'ed
+
+2014-04-13 19:16  neteler
+
+	* locale/po/grasslibs_el.po, locale/po/grassmods_el.po: Greek .po
+	  files converted to UTF8 for transifex
+
+2014-04-13 19:01  neteler
+
+	* general/g.mapset/main.c, general/g.region/main.c,
+	  lib/db/dbmi_client/delete_tab.c, lib/ogsf/gvl_calc.c,
+	  lib/proj/get_proj.c, lib/symbol/read.c, raster/r.out.ppm/main.c,
+	  raster/r.to.vect/areas_io.c, vector/v.surf.rst/main.c,
+	  vector/v.to.3d/trans3.c: fix compiler warnings (contributed by
+	  Volker Froehlich, sync of r59714)
+
+2014-04-13 18:15  marisn
+
+	* display/d.rast.num/main.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.thin/io.c: Fix wrong message
+	  plural form handling introduced in r59255
+
+2014-04-13 18:08  marisn
+
+	* vector/v.build.polylines/main.c, vector/v.category/main.c,
+	  vector/v.edit/main.c, vector/v.edit/select.c,
+	  vector/v.external/list.c, vector/v.extract/main.c,
+	  vector/v.in.ascii/points.c, vector/v.in.db/main.c,
+	  vector/v.kernel/main.c, vector/v.lidar.correction/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.net.distance/main.c,
+	  vector/v.out.ascii/main.c, vector/v.out.ogr/main.c,
+	  vector/v.out.postgis/main.c, vector/v.out.pov/main.c,
+	  vector/v.overlay/area_area.c, vector/v.sample/main.c,
+	  vector/v.segment/main.c, vector/v.surf.idw/main.c,
+	  vector/v.surf.idw/read_sites.c, vector/v.voronoi/main.c,
+	  vector/v.voronoi/sw_main.c, vector/v.what.rast3/main.c: Enable
+	  plural forms for translatable messages of vector modules
+
+2014-04-13 12:28  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: update
+	  downloading/installing latest Microsoft Runtime DLLs delivered by
+	  OSGeo4W
+
+2014-04-13 12:08  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass-R: remove unused
+	  hardcoded path to R as path to R is loaded now dynamically to
+	  path
+
+2014-04-12 19:12  hellik
+
+	* mswindows/GRASS-Packager.bat.tmpl: wingrass: remove
+	  tcl/tk-leftover
+
+2014-04-12 18:17  hellik
+
+	* mswindows/GRASS-Packager.bat.tmpl: wingrass rbatch: attempt to
+	  fix path for copy 'Windows batchfiles for use with R'
+
+2014-04-11 18:23  martinl
+
+	* man/grassdocs.css: colorize toc's li items
+
+2014-04-11 15:46  martinl
+
+	* imagery/i.gensigset/i.gensigset.html,
+	  imagery/i.vpoints/i.vpoints.html,
+	  raster/r.basins.fill/r.basins.fill.html,
+	  raster/r.digit/r.digit.html, raster/r.in.poly/r.in.poly.html,
+	  raster/r.le/r.le.setup/r.le.setup.html,
+	  raster/r.surf.contour/r.surf.contour.html,
+	  raster/r.thin/r.thin.html,
+	  vector/v.build.polylines/v.build.polylines.html,
+	  vector/v.build/v.build.html, vector/v.category/v.category.html,
+	  vector/v.net.alloc/v.net.alloc.html: update manuals - fix link to
+	  vdigit
+
+2014-04-11 13:03  neteler
+
+	* gui/wxpython/docs/wxGUI.html, lib/gis/parser_wps.c,
+	  lib/gpde/gpdelib.dox, lib/init/README, lib/init/grass.py,
+	  lib/init/grass.sh, lib/init/grass7.html,
+	  lib/python/pygrass/modules/shortcuts.py: version update: trunk is
+	  grass71
+
+2014-04-11 12:57  martinl
+
+	* tools/mkhtml.py: fix mkhtml.py when h3 has no parent (h2)
+
+2014-04-11 12:38  martinl
+
+	* lib/init/helptext.html: helptext: remove static toc
+
+2014-04-11 12:28  martinl
+
+	* tools/mkhtml.py: fix mkhtml.py to handle tags correctly
+
+2014-04-11 10:49  martinl
+
+	* man/grassdocs.css: toc: minor css changes
+
+2014-04-11 10:33  lucadelu
+
+	* man/grassdocs.css, tools/mkhtml.py: mkhtml.py: add ul-li to toc,
+	  PEP8 cleanup
+
+2014-04-11 10:11  huhabla
+
+	* lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/unittests_temporal_raster_algebra.py: New
+	  tests for missing features and temporal algebra bug added.
+
+2014-04-11 08:47  martinl
+
+	* vector/v.net/v.net.html: v.net: manual cosmetics (fix sections)
+
+2014-04-11 07:58  neteler
+
+	* man/grassdocs.css, tools/mkhtml.py: layout cosmetics for toc for
+	  manuals
+
+2014-04-10 18:39  glynn
+
+	* raster/r.neighbors/main.c: Fix r59669; weights= implies
+	  non-integer result
+
+2014-04-10 18:15  martinl
+
+	* vector/v.edit/v.edit.html: v.edit: fix link in the manual
+
+2014-04-10 18:09  martinl
+
+	* man/grassdocs.css, raster/r.in.gdal/r.in.gdal.html,
+	  tools/mkhtml.py: write toc for manuals
+
+2014-04-10 16:38  martinl
+
+	* db/db.connect/main.c: db.connect: substitute variables for
+	  database name (-cpd)
+
+2014-04-10 16:24  martinl
+
+	* vector/v.in.ogr/main.c, vector/v.in.ogr/v.in.ogr.html: v.in.ogr:
+	  fix default DB connection handling (dsn option is still required)
+
+2014-04-10 13:19  neteler
+
+	* raster/r.neighbors/main.c: r.neighbors: preserve map type (as in
+	  r.series)
+
+2014-04-09 11:49  neteler
+
+	* lib/init/grass.py: grass.py: fix odd msg typo
+
+2014-04-09 10:41  marisn
+
+	* lib/init/grass.py: Catch misconfigured locale settings
+
+2014-04-09 09:53  martinl
+
+	* raster/r.proj/main.c, raster/r.proj/readcell.c: r.proj: percent
+	  cosmetics
+
+2014-04-09 09:26  marisn
+
+	* lib/init/grass.py: Even more robust locale handling. Do not fail
+	  if no locale has been detected.
+
+2014-04-08 19:42  mmetz
+
+	* vector/v.type/main.c: v.type: from_type and to_type can not be
+	  multiple types
+
+2014-04-08 19:41  mmetz
+
+	* lib/raster/close.c: rasterlib: add comments
+
+2014-04-08 17:43  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: sync'ed with
+	  relbr70
+
+2014-04-08 15:22  neteler
+
+	* raster/r.watershed/front/main.c: r.watershed: remove duplicate
+	  param description
+
+2014-04-08 12:23  mlennert
+
+	* locale/po/grassmods_fr.po: slight correction of translation
+
+2014-04-07 11:07  martinl
+
+	* vector/v.in.ogr/main.c, vector/v.in.ogr/v.in.ogr.html: v.in.ogr:
+	  use default DB settings when dsn is omitted (see the manual
+	  `dsn=./` - it was not working) - pg driver only
+	  manual updated
+
+2014-04-07 10:44  martinl
+
+	* lib/db/dbmi_base/connect.c: dbmi: fix db_get_connection() to get
+	  info about user/passwd
+
+2014-04-07 09:43  martinl
+
+	* vector/v.out.ogr/v.out.ogr.html: v.out.ogr: manual postgis
+	  cosmetics
+
+2014-04-07 09:30  martinl
+
+	* vector/v.distance/v.distance.html: v.distance: manual cosmetics
+	  (syntax)
+
+2014-04-07 03:40  annakrat
+
+	* gui/wxpython/animation/nviztask.py: wxGUI/animation: color of
+	  isosurface should match the volume
+
+2014-04-06 22:04  neteler
+
+	* vector/v.out.svg/main.c: v.out.svg: fix msg string format
+
+2014-04-06 15:18  madi
+
+	* raster/r.stream.distance/main.c: removing word accumulation in
+	  description. The output is a distance map, in meters, not
+	  accumulation.
+
+2014-04-06 14:26  madi
+
+	* raster/r.stream.distance/r.stream.distance.html: improved
+	  readability of documentation
+
+2014-04-06 14:21  madi
+
+	* raster/r.stream.distance/r.stream.distance.html: improved
+	  readability of documentation
+
+2014-04-06 13:56  madi
+
+	* raster/r.stream.distance/r.stream.distance.html: improved
+	  readability of ducumentation
+
+2014-04-06 12:51  madi
+
+	* raster/r.stream.distance/r.stream.distance.html: improved
+	  readability of ducumentation
+
+2014-04-06 10:44  neteler
+
+	* rfc/psc_motions.dox: PSC motions updated
+
+2014-04-06 10:39  neteler
+
+	* contributors.csv: contributors.csv: +Margherita Di Leo
+
+2014-04-06 08:14  mmetz
+
+	* vector/v.to.db/areas.c: v.to.db: fix area perimeter
+
+2014-04-06 08:14  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/area.c: Vlib: fix area
+	  perimeter
+
+2014-04-06 03:06  annakrat
+
+	* gui/wxpython/animation/provider.py: wxGUI/animation: fix
+	  formatting of background color
+
+2014-04-05 22:02  neteler
+
+	* lib/loc_struct.png: help_loc_struct.png: update picture cloned
+	  from lib/init/help_loc_struct.png (to be deduplicated)
+
+2014-04-05 21:38  hellik
+
+	* mswindows/external/rbatch/#Rscript2.bat,
+	  mswindows/external/rbatch/R.bat,
+	  mswindows/external/rbatch/README,
+	  mswindows/external/rbatch/README.html,
+	  mswindows/external/rbatch/Rpathset.bat,
+	  mswindows/external/rbatch/copydir.bat,
+	  mswindows/external/rbatch/make-batchfiles-pdf.bat,
+	  mswindows/external/rbatch/movedir.bat: svn_propset
+
+2014-04-05 20:47  hellik
+
+	* mswindows/external/rbatch/#Rscript2.bat,
+	  mswindows/external/rbatch/ANNOUNCE,
+	  mswindows/external/rbatch/COPYING,
+	  mswindows/external/rbatch/LICENSE,
+	  mswindows/external/rbatch/NEWS, mswindows/external/rbatch/R.bat,
+	  mswindows/external/rbatch/README,
+	  mswindows/external/rbatch/README.html,
+	  mswindows/external/rbatch/RESOURCES,
+	  mswindows/external/rbatch/Rpathset.bat,
+	  mswindows/external/rbatch/THANKS,
+	  mswindows/external/rbatch/batchfiles.md,
+	  mswindows/external/rbatch/batchfiles.tex,
+	  mswindows/external/rbatch/clip2r.js,
+	  mswindows/external/rbatch/copydir.bat,
+	  mswindows/external/rbatch/el.js,
+	  mswindows/external/rbatch/find-miktex.hta,
+	  mswindows/external/rbatch/make-batchfiles-pdf.bat,
+	  mswindows/external/rbatch/movedir.bat: update Windows batchfiles
+	  for use with R: part 3 - check in new files
+
+2014-04-05 20:43  hellik
+
+	* mswindows/external/rbatch/#Rscript.bat,
+	  mswindows/external/rbatch/ANNOUNCE,
+	  mswindows/external/rbatch/COPYING,
+	  mswindows/external/rbatch/COPYRIGHTS,
+	  mswindows/external/rbatch/NEWS, mswindows/external/rbatch/R.bat,
+	  mswindows/external/rbatch/README,
+	  mswindows/external/rbatch/RESOURCES,
+	  mswindows/external/rbatch/Rcmd.bat,
+	  mswindows/external/rbatch/Rgui.bat,
+	  mswindows/external/rbatch/RguiStart.bat,
+	  mswindows/external/rbatch/Rscript.bat,
+	  mswindows/external/rbatch/Rtidy.bat,
+	  mswindows/external/rbatch/Rtools.bat,
+	  mswindows/external/rbatch/RtoolsVersion.bat,
+	  mswindows/external/rbatch/Rversions.bat,
+	  mswindows/external/rbatch/Stangle.bat,
+	  mswindows/external/rbatch/Sweave.bat,
+	  mswindows/external/rbatch/THANKS,
+	  mswindows/external/rbatch/WISHLIST,
+	  mswindows/external/rbatch/clip2r.js,
+	  mswindows/external/rbatch/copydir.bat,
+	  mswindows/external/rbatch/el.js,
+	  mswindows/external/rbatch/find-miktex.hta,
+	  mswindows/external/rbatch/movedir.bat,
+	  mswindows/external/rbatch/rterm.bat,
+	  mswindows/external/rbatch/show-svn-info.hta: update Windows
+	  batchfiles for use with R: part 2 - delete old files
+
+2014-04-05 20:38  hellik
+
+	* mswindows/external/rbatch/README.grass: update Windows batchfiles
+	  for use with R: part 1 - update notes
+
+2014-04-05 09:33  martinl
+
+	* vector/v.external.out/v.external.out.html: v.external.out: manual
+	  cosmetics
+
+2014-04-05 08:36  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: toolbox cosmetics,
+	  separator added
+
+2014-04-04 22:18  hellik
+
+	* gui/wxpython/xml/toolboxes.xml, raster/r.stream.snap/main.c,
+	  raster/r.stream.snap/r.stream.snap.html: r.stream.*: streamline -
+	  river to streams; cosmetics
+
+2014-04-04 14:10  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/import dlg: fix closing
+	  dialog, #2243
+
+2014-04-03 15:46  neteler
+
+	* lib/raster3d/windowio.c, misc/m.cogo/main.c: string format fixes
+	  (from Volker Froehlich)
+
+2014-04-03 09:25  martinl
+
+	* lib/vector/Vlib/map.c: vlib: continue in deleting vector map even
+	  linked table not found or unable to delete
+
+2014-04-03 06:17  ychemin
+
+	* lib/gis/ellipse.table.solar.system: removed tainted ellipsoids
+
+2014-04-03 05:18  ychemin
+
+	* lib/gis/ellipse.table.solar.system: uploaded planetary ellipsoid
+	  from standard names
+
+2014-04-02 21:30  turek
+
+	* vector/v.net.path/path.c: v.net.path: Vect_net update for r59562
+
+2014-04-02 21:29  turek
+
+	* display/d.path/select.c: d.path: Vect_net update for r59562
+
+2014-04-02 21:27  turek
+
+	* vector/v.kernel/main.c: v.kernel: Vect_net update for r59562
+
+2014-04-02 21:23  turek
+
+	* include/defs/vector.h, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/net_analyze.c, lib/vector/Vlib/net_build.c:
+	  vector net: implementation of turntable in library
+
+2014-04-02 20:50  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/data.py: wxGUI/animation: fix rendering
+	  when zooming in animation tool
+
+2014-04-02 15:09  annakrat
+
+	* gui/wxpython/animation/frame.py: wxGUI/animation: change tmp
+	  directory where pictures are generated
+
+2014-04-02 14:18  neteler
+
+	* imagery/i.topo.corr/Makefile,
+	  imagery/i.topo.corr/i.topo.corr.html,
+	  imagery/i.topo.corr/terrain_correction.fig,
+	  imagery/i.topo.corr/terrain_correction.png,
+	  imagery/i.topo.corr/test_i.topo.corr_synthetic_DEM_NC.sh:
+	  i.topo.corr manual: figure added; test script updated
+
+2014-04-02 13:21  neteler
+
+	* raster/r.sunmask/main.c: r.sunmask: preset seconds to 0
+
+2014-04-02 13:19  neteler
+
+	* gui/wxpython/animation/frame.py, imagery/i.landsat.toar/main.c,
+	  imagery/i.topo.corr/i.topo.corr.html,
+	  imagery/i.topo.corr/test_i.topo.corr_synthetic_DEM_NC.sh,
+	  lib/init/variables.html, lib/vector/Vlib/open.c,
+	  raster/r.sunmask/main.c: revert accidential commit r59555
+
+2014-04-02 12:57  neteler
+
+	* gui/wxpython/animation/frame.py, imagery/i.landsat.toar/main.c,
+	  imagery/i.topo.corr/i.topo.corr.html,
+	  imagery/i.topo.corr/test_i.topo.corr_synthetic_DEM_NC.sh,
+	  lib/init/variables.html, lib/vector/Vlib/open.c,
+	  raster/r.sunmask/main.c: r.sunmask: preset seconds to 0
+
+2014-04-02 12:34  neteler
+
+	* raster/r.sunmask/main.c, raster/r.sunmask/r.sunmask.html:
+	  r.sunmask manual: minor updates
+
+2014-04-02 12:07  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: fix r.colors dropdown to
+	  show at least names when it can't find the thumbnails
+
+2014-04-02 03:56  hamish
+
+	* lib/pngdriver/Draw_line.c: enable vertical width for lines, still
+	  suffers from rendering issues (#1283)
+
+2014-04-02 03:49  hamish
+
+	* lib/pngdriver/Draw_line.c: add FIXME note re. uninitialized
+	  variables leading to lines rendering with no vertical width
+
+2014-04-02 03:42  hamish
+
+	* lib/pngdriver/Line_width.c: bugfix: line width wasn't working in
+	  the PNG driver
+
+2014-04-01 21:34  neteler
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.series/t.rast.series.html: t.* manuals: examples
+	  from ML added
+
+2014-04-01 19:47  annakrat
+
+	* gui/wxpython/modules/histogram.py: wxGUI/d.histogram: fix export
+	  histogram on Windows
+
+2014-04-01 08:01  neteler
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html: t.rast.aggregate
+	  manual: example template added from ML
+
+2014-04-01 07:59  lucadelu
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/animation/provider.py,
+	  gui/wxpython/animation/utils.py: g.gui.animation: fix small bug
+	  with vector input; fix .format() function to be compatible also
+	  with python 2.6
+
+2014-03-31 21:14  neteler
+
+	* vector/v.buffer/v.buffer.html: v.buffer manual: link to
+	  v.parallel
+
+2014-03-31 21:10  neteler
+
+	* vector/v.parallel/main.c: v.parallel: add buffer keyword
+
+2014-03-31 19:37  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18N:
+	  cleanup duplicate messages
+
+2014-03-31 04:00  annakrat
+
+	* misc/m.nviz.image/args.c: m.nviz.image: vpoint_size,position are
+	  double, not integer
+
+2014-03-30 23:14  annakrat
+
+	* gui/wxpython/animation/nviztask.py: wxGUI/animation: support 3D
+	  animation for points
+
+2014-03-30 10:29  martinl
+
+	* include/VERSION: trunk is now 7.1.svn version
+
+2014-03-30 08:36  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ro.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  raster/r.stream.channel/main.c, raster/r.stream.distance/main.c,
+	  raster/r.stream.order/main.c, raster/r.stream.segment/main.c,
+	  raster/r.stream.snap/main.c, raster/r.stream.stats/main.c:
+	  r.stream.order: fix msg wording (trac #2238)
+
+2014-03-30 04:30  annakrat
+
+	* gui/wxpython/animation/frame.py: wxGUI/animation: fix closing
+	  window when animation is running
+
+2014-03-29 22:57  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: add copy
+	  button and show overwrite flag in command
+
+2014-03-29 21:55  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: fix map
+	  name and function insertion event handling for wxPython 3
+
+2014-03-29 20:04  neteler
+
+	* lib/vector/vectorlib.dox: vectorlib.dox: point to user wiki,
+	  mention boundaries and categories
+
+2014-03-29 17:06  neteler
+
+	* raster/r.stream.segment/main.c: r.stream.segment: sync param name
+	  to other r.stream.* commands (trac #2238)
+
+2014-03-29 00:08  hamish
+
+	* raster/r.terraflow/main.cpp: trivial whitespace
+
+2014-03-29 00:06  hamish
+
+	* raster/r.terraflow/main.cpp: long ints for number of elements
+	  (#1421)
+
+2014-03-28 23:46  hamish
+
+	* REQUIREMENTS.html: python now needed (#2236)
+
+2014-03-28 22:39  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: : Helmut Kudrnovsky DE translation
+	  cont'ed
+
+2014-03-28 20:22  annakrat
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/modeler: fix dialog for
+	  wxPython 3
+
+2014-03-28 19:58  annakrat
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/widgets.py:
+	  wxGUI: fix StaticWrapText used in generated dialogs for wxPython
+	  3
+
+2014-03-28 14:34  hellik
+
+	* raster/r.stream.snap/main.c: r.stream.snap: label cosmetics
+
+2014-03-28 13:23  hellik
+
+	* gui/wxpython/xml/toolboxes.xml: r.stream.*: add new modules to
+	  toolbox
+
+2014-03-28 10:52  hellik
+
+	* raster/r.stream.distance/main.c, raster/r.stream.order/main.c,
+	  raster/r.stream.stats/main.c: r.stream.*: cosmetics
+
+2014-03-27 19:54  martinl
+
+	* lib/python/script/core.py: modify libpython to fix calling Python
+	  script from Python script on Windows
+
+2014-03-27 19:53  martinl
+
+	* include/Make/Rules.make: modify Rules.make to fix
+	  build_modules_xml.py on Windows (TODO: replace this workaround)
+
+2014-03-27 19:53  neteler
+
+	* doc/howto_release.txt: release howto: add branch info
+
+2014-03-27 19:46  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18n:
+	  messages updated from template
+
+2014-03-27 19:29  martinl
+
+	* gui/wxpython/xml/toolboxes.xml,
+	  raster/r.stats.quantile/r.stats.quantile.html: r.statistics2
+	  renamed to r.stats.zonal (in progress)
+
+2014-03-27 19:27  martinl
+
+	* raster/r.stats.zonal/Makefile, raster/r.stats.zonal/main.c,
+	  raster/r.stats.zonal/r.stats.zonal.html: r.statistics2 renamed to
+	  r.stats.zonal (in progress)
+
+2014-03-27 19:25  martinl
+
+	* raster/r.stats.zonal/r.statistics2.html,
+	  raster/r.stats.zonal/r.stats.zonal.html: r.statistics2 renamed to
+	  r.stats.zonal (in progress)
+
+2014-03-27 19:24  martinl
+
+	* raster/Makefile, raster/r.statistics2, raster/r.stats.zonal:
+	  r.statistics2 renamed to r.stats.zonal (in progress)
+
+2014-03-27 19:23  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: r.statistics3 renamed to
+	  r.stats.quantile (finished)
+
+2014-03-27 19:16  martinl
+
+	* raster/r.stats.quantile/r.stats.quantile.html: r.statistics3
+	  renamed to r.stats.quantile (in progress)
+
+2014-03-27 19:05  martinl
+
+	* raster/r.stats.quantile/Makefile, raster/r.stats.quantile/main.c,
+	  raster/r.stats.quantile/r.statistics3.html,
+	  raster/r.stats.quantile/r.stats.quantile.html: r.statistics3
+	  renamed to r.stats.quantile (in progress)
+
+2014-03-27 19:03  martinl
+
+	* raster/Makefile: r.statistics3 renamed to r.stats.quantile (in
+	  progress)
+
+2014-03-27 19:01  martinl
+
+	* raster/r.statistics3, raster/r.stats.quantile: rename
+	  r.statistics3 to r.stats.quantile
+
+2014-03-27 18:51  martinl
+
+	* raster/r.stream.slope/r.stream.slope.html: r.stream.slope: fix
+	  syntax typo in the manual
+
+2014-03-27 18:43  martinl
+
+	* raster/Makefile: enable r.stream.* modules which were moved to
+	  trunk from addons
+
+2014-03-27 18:41  martinl
+
+	* raster/r.stream.stats: r.stream.stats moved from grass-addons to
+	  trunk
+
+2014-03-27 18:41  martinl
+
+	* raster/r.stream.snap: r.stream.snap moved from grass-addons to
+	  trunk
+
+2014-03-27 18:40  martinl
+
+	* raster/r.stream.slope: r.stream.slope moved from grass-addons to
+	  trunk
+
+2014-03-27 18:39  martinl
+
+	* raster/r.stream.segment: r.stream.segment moved from grass-addons
+	  to trunk
+
+2014-03-27 18:38  martinl
+
+	* raster/r.stream.order: r.stream.order moved from grass-addons to
+	  trunk
+
+2014-03-27 18:37  martinl
+
+	* raster/r.stream.distance: r.stream.distance moved from
+	  grass-addons to trunk
+
+2014-03-27 18:36  martinl
+
+	* raster/r.stream.channel: r.stream.channel moved from grass-addons
+	  to trunk
+
+2014-03-27 18:06  lucadelu
+
+	* gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup: add some checks
+	  about user choose, PEP8 cleaning
+
+2014-03-27 17:28  martinl
+
+	* raster/r.watershed/front/r.watershed.html: r.watershed: major
+	  manual update
+	  options section removed
+
+2014-03-27 15:48  lucadelu
+
+	* gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/sampling_frame.py: g.gui.rlisetup: check if
+	  masked area raster already exist
+
+2014-03-27 15:12  wenzeslaus
+
+	* raster/r.in.xyz/main.c: r.in.xyz: close the input file when it
+	  should be closed (variable was not set, so behavior was random)
+
+2014-03-27 14:44  lucadelu
+
+	* gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup: all features of
+	  r.li.setup have been ported to g.gui.rlisetup, please testing is
+	  really welcome
+
+2014-03-27 14:13  martinl
+
+	* raster/r.stream.extract/bseg.c, raster/r.stream.extract/close.c,
+	  raster/r.stream.extract/cseg.c,
+	  raster/r.stream.extract/del_streams.c,
+	  raster/r.stream.extract/do_astar.c,
+	  raster/r.stream.extract/dseg.c,
+	  raster/r.stream.extract/init_search.c,
+	  raster/r.stream.extract/load.c, raster/r.stream.extract/main.c,
+	  raster/r.stream.extract/seg.c, raster/r.stream.extract/streams.c:
+	  r.stream.extract: messages consolidation
+
+2014-03-27 10:15  lucadelu
+
+	* gui/wxpython/rlisetup/frame.py: g.gui.rlisetup: change button to
+	  save and exit in the view configuration window
+
+2014-03-27 10:04  martinl
+
+	* raster/r.stream.extract/main.c,
+	  raster/r.stream.extract/r.stream.extract.html: r.stream.extract:
+	  follow manual rules (bold parameters, linked modules)
+
+2014-03-27 09:47  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: use tempfile
+	  instead of grass.tempdir()
+
+2014-03-27 05:23  hamish
+
+	* raster/r.param.scale/interface.c: increase buffer size, #2235
+
+2014-03-27 02:18  wenzeslaus
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/lmgr: implement cd command for wxGUI Command console,
+	  possibility to ignore any commands in gconsole, printing cd log
+	  for cd from menu
+
+2014-03-26 23:13  hamish
+
+	* lib/python/pygrass/gis/region.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/script/core.py: only read region, don't alter WIND
+	  file (#2230)
+
+2014-03-26 17:07  martinl
+
+	* lib/init/grass7.html: grass7: document gtext switch
+
+2014-03-26 17:02  martinl
+
+	* lib/init/grass.py, lib/init/variables.html: grass.py: add -gtext
+	  switch
+
+2014-03-26 16:00  lucadelu
+
+	* scripts/r.reclass.area/r.reclass.area.html,
+	  scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: apply
+	  patch from ticket #2090; PEP8 cleaning; update documentation with
+	  new flag
+
+2014-03-26 15:53  martinl
+
+	* scripts/v.dissolve/v.dissolve.py: v.dissolve: add warning when
+	  column is not given (dissolving based on cats)
+
+2014-03-26 15:49  neteler
+
+	* doc/gui/wxpython/example/Makefile,
+	  doc/gui/wxpython/example/g.gui.example.py,
+	  gui/wxpython/core/menutree.py, gui/wxpython/core/treemodel.py,
+	  gui/wxpython/gcp/Makefile, gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gcp/statusbar.py, gui/wxpython/gui_core/treeview.py,
+	  gui/wxpython/timeline/Makefile,
+	  gui/wxpython/timeline/__init__.py, lib/python/imaging/Makefile,
+	  lib/python/imaging/README, lib/python/imaging/__init__.py,
+	  lib/python/imaging/images2avi.py,
+	  lib/python/imaging/images2gif.py,
+	  lib/python/imaging/images2ims.py,
+	  lib/python/imaging/images2swf.py,
+	  lib/python/pygrass/messages/Makefile,
+	  lib/python/pygrass/messages/__init__.py,
+	  lib/python/pygrass/modules/grid/Makefile,
+	  lib/python/pygrass/modules/grid/__init__.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/grid/patch.py,
+	  lib/python/pygrass/modules/grid/split.py,
+	  lib/python/pygrass/modules/interface/Makefile,
+	  lib/python/pygrass/modules/interface/__init__.py,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/read.py,
+	  lib/python/pygrass/modules/interface/typedict.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/factory.py,
+	  lib/python/temporal/gui_support.py,
+	  lib/python/temporal/list_stds.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/spatial_topology_dataset_connector.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_raster_operator.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/temporal_vector_operator.py,
+	  lib/python/temporal/unittests_register.py,
+	  lib/python/temporal/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/unittests_temporal_raster_algebra.py,
+	  lib/raster3d/r3_volume_layout_large.png,
+	  lib/temporal/SQL/postgresql_delete_trigger.sql,
+	  lib/temporal/SQL/postgresql_indexes.sql,
+	  lib/temporal/SQL/sqlite3_indexes.sql,
+	  lib/temporal/lib/map_list.c,
+	  lib/vector/rtree/test_suite/Makefile,
+	  lib/vector/rtree/test_suite/test.gmath.lib.html,
+	  lib/vector/rtree/test_suite/test.rtree.lib.html,
+	  lib/vector/rtree/test_suite/test_basics.c,
+	  lib/vector/rtree/test_suite/test_main.c,
+	  lib/vector/rtree/test_suite/test_rtree_lib.h,
+	  locale/po/grassmods_ro.po, scripts/d.out.file/Makefile,
+	  scripts/d.out.file/d.out.file.html,
+	  scripts/d.out.file/d.out.file.py, temporal/benchmark.sh,
+	  vector/v.out.ogr/export_areas.c, vector/v.out.ogr/export_lines.c:
+	  svn propset
+
+2014-03-26 15:40  martinl
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/vinfo.py:
+	  wxGUI/dbmgr: fix inserting records
+
+2014-03-26 15:21  neteler
+
+	* temporal/t.merge/Makefile, temporal/t.merge/t.merge.html,
+	  temporal/t.merge/t.merge.py, temporal/t.merge/test.t.merge.sh,
+	  temporal/t.rast.accdetect/Makefile,
+	  temporal/t.rast.accdetect/t.rast.accdetect.html,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accdetect/test_suite/test.t.rast.accdetect.reverse.sh,
+	  temporal/t.rast.accdetect/test_suite/test.t.rast.accdetect.sh,
+	  temporal/t.rast.accumulate/Makefile,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.accumulate/test_suite/test.t.rast.accumulate.sh,
+	  temporal/t.rast.import/test.t.rast.import.relative.sh,
+	  temporal/t.rast.import/test.t.rast.import_locations.sh,
+	  temporal/t.rast.mapcalc2/Makefile,
+	  temporal/t.rast.mapcalc2/t.rast.mapcalc2.html,
+	  temporal/t.rast.mapcalc2/t.rast.mapcalc2.py,
+	  temporal/t.rast.mapcalc2/test.t.rast.mapcalc2.sh,
+	  temporal/t.rast.neighbors/Makefile,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.neighbors/test.t.rast.neighbors.sh,
+	  temporal/t.rast3d.mapcalc2/Makefile,
+	  temporal/t.rast3d.mapcalc2/t.rast3d.mapcalc2.html,
+	  temporal/t.rast3d.mapcalc2/t.rast3d.mapcalc2.py,
+	  temporal/t.rast3d.mapcalc2/test.t.rast3d.mapcalc2.sh,
+	  temporal/t.register/test.t.register.raster.file.timezone.sh,
+	  temporal/t.register/test.t.register.raster.timestamp.sh,
+	  temporal/t.remove/test.t.remove.sh, temporal/t.select/Makefile,
+	  temporal/t.select/t.select.html, temporal/t.select/t.select.py,
+	  temporal/t.select/test.t.select.sh, temporal/t.shift/Makefile,
+	  temporal/t.shift/t.shift.html, temporal/t.shift/t.shift.py,
+	  temporal/t.shift/test.t.shift.absolue.sh,
+	  temporal/t.shift/test.t.shift.relative.sh,
+	  temporal/t.snap/Makefile, temporal/t.snap/t.snap.html,
+	  temporal/t.snap/t.snap.py,
+	  temporal/t.snap/test.t.snap.absolute.sh,
+	  temporal/t.snap/test.t.snap.relative.sh,
+	  temporal/t.vect.mapcalc/Makefile,
+	  temporal/t.vect.mapcalc/t.vect.mapcalc.html,
+	  temporal/t.vect.mapcalc/t.vect.mapcalc.py,
+	  temporal/t.vect.mapcalc/test_suite/test.t.vect.mapcalc.sh: svn
+	  propset
+
+2014-03-26 15:11  lucadelu
+
+	* gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup: several
+	  improvements; change order of wizard functions to have a more
+	  clear situation
+
+2014-03-26 14:56  martinl
+
+	* db/db.connect/main.c: fix typo r59364
+
+2014-03-26 14:56  neteler
+
+	* raster/r.out.gdal/attr.c, raster/r.series.accumulate/Makefile,
+	  raster/r.series.accumulate/main.c,
+	  raster/r.series.accumulate/r.series.accumulate.html,
+	  raster/r.series.accumulate/test_suite/test.r.series.accumulate.sh:
+	  svn propset
+
+2014-03-26 14:50  martinl
+
+	* db/db.connect/main.c: db.connect: use HOST_DIRSEP on Windows
+	  (only for dbf and sqlite driver)
+
+2014-03-26 14:31  neteler
+
+	* raster/r.mapcalc/func_proto.h, raster/r.mapcalc/function.c,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html, raster/r.mapcalc/xgraph.c:
+	  r.mapcalc/r3.mapcalc: graph2() function added (contributed by
+	  glynnc, trac #1802)
+
+2014-03-26 14:24  turek
+
+	* lib/vector/Vlib/build.c: Vect_build_partial: doc note about
+	  building of category index
+
+2014-03-26 14:22  neteler
+
+	* raster/r.colors/r.colors.html: r.colors manual: cosmetics
+
+2014-03-26 13:51  neteler
+
+	* vector/v.db.connect/v.db.connect.html: v.db.connect manuals:
+	  mention SQLite (trac #1862)
+
+2014-03-26 13:49  neteler
+
+	* db/db.columns/db.columns.html, db/db.describe/db.describe.html,
+	  db/db.tables/db.tables.html: db.* manuals: add SQLite examples
+	  (trac #1862)
+
+2014-03-26 11:41  neteler
+
+	* vector/v.parallel/v.parallel.html,
+	  vector/v.segment/v.segment.html, vector/v.split/v.split.html:
+	  v.split/segment/parallel manuals: improvements (contributed by
+	  Milena Nowotarska)
+
+2014-03-26 11:11  lucadelu
+
+	* scripts/i.oif/i.oif.py: i.oif: check the number of input maps
+	  (minimum should be 4), update messages
+
+2014-03-26 11:01  martinl
+
+	* lib/python/script/core.py: winGRASS: fig debug() to handle '&' on
+	  Windows, check debug_level
+
+2014-03-26 10:56  turek
+
+	* lib/vector/Vlib/open.c: Vect_open_tmp_new - with_z param
+	  documentation
+
+2014-03-26 10:54  lucadelu
+
+	* scripts/i.oif/i.oif.html, scripts/i.oif/i.oif.py: i.oif: now it
+	  can work with several bands
+
+2014-03-26 10:24  neteler
+
+	* imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html,
+	  imagery/i.eb.h_sebal01/i.eb.h_sebal01.html,
+	  imagery/i.eb.netrad/i.eb.netrad.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.evapo.pt/i.evapo.pt.html,
+	  imagery/i.evapo.time/i.evapo.time.html: i.eb.* manuals: some HTML
+	  cleanup; references added (trac #899)
+
+2014-03-26 09:58  martinl
+
+	* gui/wxpython/gui_core/forms.py: winGRASS: fix dialogs to show
+	  manual pages also for python scripts
+
+2014-03-26 04:54  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix options range
+	  for negative values
+
+2014-03-26 04:51  annakrat
+
+	* raster/r.param.scale/interface.c: r.param.scale: standardize
+	  range in parameter size
+
+2014-03-26 03:54  annakrat
+
+	* gui/wxpython/animation/frame.py: wxGUI/animation: always create
+	  new temporary file
+
+2014-03-26 00:16  wenzeslaus
+
+	* raster/r.slope.aspect/r.slope.aspect.html: r.slope.aspect: remove
+	  outdated note about zero slope handling, improve the current info
+	  (manual contained two oposite pieces of information)
+
+2014-03-25 20:51  turek
+
+	* gui/wxpython/wxplot/scatter.py: raster names in axes of bivariate
+	  scatter plot
+
+2014-03-25 20:38  neteler
+
+	* vector/v.what.rast/main.c, vector/v.what.rast/v.what.rast.html:
+	  v.what.rast: centroid support added
+
+2014-03-25 19:23  martinl
+
+	* lib/python/script/task.py: grass.script.task: code cosmetics
+
+2014-03-25 17:40  martinl
+
+	* lib/python/script/core.py: wingrass: attempt to fix building
+	  manuals for py scripts (first step)
+
+2014-03-25 17:40  martinl
+
+	* lib/gis/home.c: doxygen header cosmetics
+
+2014-03-25 16:36  martinl
+
+	* db/db.login/main.c, lib/db/dbmi_base/login.c: dbmilib+db.login:
+	  use HOST_DIRSEP
+
+2014-03-25 16:24  turek
+
+	* scripts/r.in.wms/wms_drv.py: r.in.wms: windows fix
+
+2014-03-25 16:22  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix checking
+	  svnurl
+
+2014-03-25 15:12  turek
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py:
+	  wxplot hist: if log scale is chosen show it in plot labels
+
+2014-03-25 15:12  neteler
+
+	* lib/raster/rasterlib.dox: rasterlib.dox: added Glynn's comments
+	  from trac #1576
+
+2014-03-25 13:42  neteler
+
+	* gui/wxpython/web_services/widgets.py: wms: msg cosmetics
+
+2014-03-25 13:39  neteler
+
+	* vector/v.what.rast/v.what.rast.html: v.what.rast manual: fix
+	  wording
+
+2014-03-25 13:30  turek
+
+	* gui/wxpython/web_services/widgets.py: wms: check for name
+	  collision of user defined server and default server
+
+2014-03-25 13:17  turek
+
+	* gui/wxpython/web_services/dialogs.py: wms: url of default server
+	  OSM-WMS_EUROPE modified
+
+2014-03-25 13:13  lucadelu
+
+	* gui/wxpython/rlisetup/frame.py: update text in a button
+
+2014-03-25 13:05  turek
+
+	* gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py: wms: add default servers
+	  button added
+
+2014-03-25 11:51  neteler
+
+	* lib/gis/parser_standard_options.c: parser msg: clarify which
+	  feature type is meant
+
+2014-03-24 22:47  neteler
+
+	* raster/r.contour/r.contour.html: r.contour manual: +NC example
+
+2014-03-24 21:06  neteler
+
+	* vector/v.split/v.split.html: v.split manual: new NC examples
+	  (contributed by Milena Nowotarska)
+
+2014-03-24 19:39  martinl
+
+	* db/db.login/main.c: db.login: use G_config_path()
+
+2014-03-24 19:39  martinl
+
+	* lib/db/dbmi_base/login.c: dbmilib: use G_config_path() in
+	  db_set_login()
+
+2014-03-24 19:38  martinl
+
+	* include/defs/gis.h, include/gis.h, lib/gis/home.c: libgis:
+	  introduce G_config_path(), fix CONFIG_DIR for winGRASS
+
+2014-03-24 19:36  turek
+
+	* gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py: wms fill layer name if it
+	  is empty according to selected item
+
+2014-03-24 18:22  martinl
+
+	* lib/db/dbmi_base/login.c: db_set_login(): report message on
+	  failure
+
+2014-03-24 18:12  neteler
+
+	* temporal/t.register/t.register.html: t.register manual: add MODIS
+	  timestamp example
+
+2014-03-24 17:44  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: #1940 (wingrass - nsis -
+	  script in release mode: !define SVN_REVISION
+	  "@GRASS_VERSION_SVN@" not set)
+
+2014-03-24 17:42  turek
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapwin/base.py,
+	  gui/wxpython/mapwin/buffered.py, gui/wxpython/nviz/mapwindow.py:
+	  wxgui:fix wms in vdigit
+
+2014-03-24 16:28  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS: disable
+	  registerExtension in stand-alone installer
+
+2014-03-24 15:33  neteler
+
+	* vector/v.outlier/v.outlier.html: v.outlier.html: cosmetics
+
+2014-03-24 15:33  neteler
+
+	* temporal/t.register/t.register.py: t.register: enable overwrite
+	  (untested)
+
+2014-03-24 15:26  martinl
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/core/giface.py,
+	  gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/lmgr/giface.py:
+	  wxGUI: update prompt history when running command from dialog
+
+2014-03-24 13:47  lucadelu
+
+	* lib/python/script/core.py: python core: fix function to check if
+	  location is latlong
+
+2014-03-24 11:33  neteler
+
+	* demolocation/Makefile, demolocation/PERMANENT/WIND,
+	  demolocation/PERMANENT/sqlite,
+	  demolocation/PERMANENT/sqlite/sqlite.db,
+	  demolocation/PERMANENT/vector/country_boundaries,
+	  demolocation/PERMANENT/vector/country_boundaries/cidx,
+	  demolocation/PERMANENT/vector/country_boundaries/coor,
+	  demolocation/PERMANENT/vector/country_boundaries/dbln,
+	  demolocation/PERMANENT/vector/country_boundaries/head,
+	  demolocation/PERMANENT/vector/country_boundaries/hist,
+	  demolocation/PERMANENT/vector/country_boundaries/sidx,
+	  demolocation/PERMANENT/vector/country_boundaries/topo:
+	  demolocation: country_boundaries vector map added from
+	  http://www.naturalearthdata.com/downloads/110m-cultural-vectors/
+
+2014-03-24 11:33  neteler
+
+	* lib/init/helptext.html: manual: helptext, location creation
+	  expanded
+
+2014-03-24 11:33  neteler
+
+	* doc/help_loc_structure.odg, doc/loc_structure.odg,
+	  lib/init/help_loc_struct.png: Milena Nowotarska: location
+	  structure graphics beautified
+
+2014-03-24 11:30  neteler
+
+	* raster/r.li/r.li.cwed/r.li.cwed.html, raster/r.li/r.li.mpa/mpa.c,
+	  raster/r.li/r.li.padsd/padsd.c, raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shape/main.c: r.li: header standardization;
+	  example fix
+
+2014-03-23 14:18  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib/pg: fix drop_table() when no
+	  PostGIS Topology is available
+
+2014-03-23 12:05  martinl
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: AboutWindow/AboutSystem - show build platform
+
+2014-03-23 12:04  martinl
+
+	* general/g.version/Makefile, general/g.version/main.c: g.version:
+	  report also build platform
+
+2014-03-22 14:54  annakrat
+
+	* raster/r.sun/r.sun.html: r.sun manual: how to get day of year
+	  using Python
+
+2014-03-22 10:01  martinl
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py: wxGUI: more fixes related to
+	  grass.version()
+
+2014-03-22 09:47  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/mapdisp/frame.py: wxGUI:
+	  don't fail if not possible to determine GRASS version
+
+2014-03-21 03:52  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py, gui/wxpython/animation/utils.py:
+	  wxGUI/animation: fix some issues related to wxPython 3
+
+2014-03-20 02:17  hamish
+
+	* raster/r.in.xyz/main.c: add skip= option to avoid free-form
+	  header lines
+
+2014-03-18 18:34  neteler
+
+	* vector/v.outlier/main.c: v.outlier: warn user if no subregions
+	  found (broken outlier map will be created)
+
+2014-03-18 16:54  turek
+
+	* lib/vector/Vlib/level_two.c: Vect_get_line_nodes: extended dox
+	  params description
+
+2014-03-18 10:42  turek
+
+	* gui/wxpython/web_services/widgets.py: web services, list of
+	  layers: if clicked item is not requestable, show selected
+	  descendants
+
+2014-03-18 07:17  neteler
+
+	* gui/wxpython/core/utils.py: fix r59279 (revert accidential extra
+	  commit)
+
+2014-03-18 07:13  neteler
+
+	* gui/wxpython/core/utils.py, lib/gis/colors.desc: colors: register
+	  NDWI
+
+2014-03-17 17:38  martinl
+
+	* vector/v.overlay/main.c: v.overlay: fix `atype=auto` for area
+	  type
+
+2014-03-17 17:08  turek
+
+	* gui/wxpython/web_services/widgets.py: web services: select
+	  descendands, if selected layer is not requestable, keep layer
+	  tree collapsed by default
+
+2014-03-17 14:10  neteler
+
+	* vector/v.perturb/main.c: v.random: add keyword random
+
+2014-03-17 13:48  martinl
+
+	* gui/wxpython/gmodeler/giface.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI/modeler: fix bug reported
+	  at
+	  http://gis.stackexchange.com/questions/89412/runtimeerror-from-r-viewshed-in-graphic-modeler
+
+2014-03-16 16:58  neteler
+
+	* vector/v.overlay/v.overlay.html: v.overlay manual: fix typo
+	  (fixes trac #2222)
+
+2014-03-16 12:56  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ro.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: po files:
+	  typo (#2221, thanks Johannes)
+
+2014-03-16 12:53  neteler
+
+	* vector/v.buffer/v.buffer.html,
+	  vector/v.buffer/v_buffer_areas.png,
+	  vector/v.buffer/v_buffer_lines.png,
+	  vector/v.buffer/v_buffer_points.png: v.buffer manual: more
+	  example screenshots
+
+2014-03-16 09:00  neteler
+
+	* gui/icons/grass.desktop: grass.desktop: Encoding entry is
+	  deprecated
+	  (http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#deprecated-items)
+
+2014-03-16 01:40  hamish
+
+	* vector/v.overlay/main.c: typo (#2221, thanks Johannes)
+
+2014-03-15 21:06  neteler
+
+	* REQUIREMENTS.html: REQUIREMENTS.html: mention python-dateutil;
+	  mention python-pillow
+
+2014-03-15 18:59  marisn
+
+	* gui/wxpython/core/utils.py: Fix documentation of function to
+	  match code
+
+2014-03-15 15:23  martinl
+
+	* gui/wxpython/core/gconsole.py: wxGUI: add created map for
+	  v.proj/r.proj
+
+2014-03-15 14:08  annakrat
+
+	* raster/r.carve/README, raster/r.carve/r.carve.html,
+	  raster/r.flow/r.flow.html, raster/r.terraflow/r.terraflow.html,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/simwe/r.sim.sediment/r.sim.sediment.html,
+	  raster/simwe/r.sim.water/r.sim.water.html,
+	  scripts/r.fillnulls/r.fillnulls.html,
+	  vector/v.surf.rst/v.surf.rst.html,
+	  vector/v.vol.rst/v.vol.rst.html: fix links pointing to skagit
+
+2014-03-15 13:00  martinl
+
+	* vector/v.in.db/main.c, vector/v.in.db/v.in.db.html: v.in.db:
+	  allow key option to be optional (currenly only supported when
+	  output DB driver is SQLite)
+	  update manual accordingly
+
+2014-03-15 11:51  marisn
+
+	* display/d.linegraph/main.c, display/d.rast.num/main.c,
+	  display/d.vect/area.c, display/d.vect/lines.c,
+	  display/d.vect/main.c, raster/r.clump/main.c,
+	  raster/r.contour/cont.c, raster/r.cost/main.c,
+	  raster/r.fill.dir/dopolys.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.resamp.bspline/crosscorr.c,
+	  raster/r.resamp.rst/main.c,
+	  raster/r.stream.extract/del_streams.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.texture/main.c,
+	  raster/r.thin/io.c, raster/r.thin/thin_lines.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/seg/init_vars.c, raster/simwe/simlib/input.c:
+	  Expose plural forms for translations
+
+2014-03-14 18:41  martinl
+
+	* gui/wxpython/gui_core/mapdisp.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/main.py: wxGUI: change map display title
+	  when mapset changed from wxGUI
+
+2014-03-13 21:19  neteler
+
+	* vector/v.lrs/v.lrs.segment/main.c: v.lrs.segment: store vector
+	  history
+
+2014-03-13 21:18  neteler
+
+	* vector/v.lrs/v.lrs.create/main.c: v.lrs.create: store vector
+	  history
+
+2014-03-13 21:16  neteler
+
+	* vector/v.lrs/v.lrs.label/main.c: v.lrs.label: store vector
+	  history
+
+2014-03-13 21:07  neteler
+
+	* vector/v.net.visibility/v.net.visibility.html: v.net.visibility:
+	  wording and example improvment attempts
+
+2014-03-13 20:57  neteler
+
+	* vector/v.net.visibility/main.c: v.net.visibility: store vector
+	  history
+
+2014-03-13 15:33  neteler
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: also show the mapset in
+	  map display window title
+
+2014-03-13 11:24  neteler
+
+	* gui/icons/Makefile: grass.desktop: install file into
+	  share/applications/
+
+2014-03-13 11:15  neteler
+
+	* gui/icons/Makefile: grass.desktop: install it into
+	  share/applications/
+
+2014-03-13 11:14  neteler
+
+	* gui/icons/grass.desktop: grass.desktop: encoding string added
+
+2014-03-13 10:49  neteler
+
+	* gui/icons/grass.desktop: grass.desktop: no absolute path to the
+	  icon; fixes https://bugzilla.redhat.com/show_bug.cgi?id=986852;
+	  following
+	  http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#extra-actions-keys
+
+2014-03-12 10:43  marisn
+
+	* scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.mask/r.mask.py, scripts/v.krige/v.krige.py,
+	  scripts/v.report/v.report.py: Unify error messages
+
+2014-03-12 10:29  marisn
+
+	* scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.mask/r.mask.py,
+	  scripts/v.db.addcolumn/v.db.addcolumn.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.in.mapgen/v.in.mapgen.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py: Remove tab and space mixture in
+	  Python scripts before message cleanup
+
+2014-03-11 16:58  marisn
+
+	* scripts/r.grow/r.grow.py: Stop on failure of r.grow.distance
+
+2014-03-11 16:18  marisn
+
+	* scripts/r.grow/r.grow.py: Replace tabs with spaces of a mixed
+	  indent
+
+2014-03-11 15:43  marisn
+
+	* scripts/r.fillnulls/r.fillnulls.py: Change inrepolation method
+	  names to match r58903
+
+2014-03-10 22:14  martinl
+
+	* scripts/m.proj/m.proj.py: m.proj: guisection cosmetics
+
+2014-03-10 20:16  martinl
+
+	* scripts/m.proj/m.proj.py: m.proj: add new option 'coordinates'
+
+2014-03-10 19:59  martinl
+
+	* scripts/m.proj/m.proj.py: m.proj: print reasonable error message
+	  when unable to parse output
+
+2014-03-10 17:26  martinl
+
+	* vector/v.to.points/main.c: v.to.points: print warning about
+	  skipped fearures
+
+2014-03-10 17:01  neteler
+
+	* vector/v.split/v.split.html, vector/v.to.points/v.to.points.html:
+	  manual: crosslink v.split and v.to.points
+
+2014-03-10 16:26  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: implement SetSelection()
+	  from MapsetSelect (backward compatibility)
+
+2014-03-10 13:33  annakrat
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.py, gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gis_set_error.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/gui_core/query.py,
+	  gui/wxpython/gui_core/treeview.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py: wxGUI: use wx.App instead of
+	  wx.PySimpleApp to avoid deprecation warning in wxPython 3
+
+2014-03-09 23:24  martinl
+
+	* lib/init/grass.py: revert r59210 (#2213)
+
+2014-03-09 21:33  neteler
+
+	* raster/r.ros/main.c: r.ros: do not double close spotdist map
+
+2014-03-09 12:28  martinl
+
+	* lib/init/grass.py: grass.py: clarify error message from r59210
+
+2014-03-08 23:53  marisn
+
+	* lib/init/grass.py: Always set locale for GRASS during startup;
+	  gettext needs LANG environmental variable on Windows even for
+	  default locale
+
+2014-03-08 22:20  marisn
+
+	* gui/wxpython/gui_core/preferences.py: Do not store language
+	  override as an environmental variable; Correctly display word
+	  system for no language override.
+
+2014-03-08 14:54  turek
+
+	* gui/wxpython/gui_core/gselect.py: coordinates select: avoid
+	  getting warning message when button is unpressed
+
+2014-03-08 13:41  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py:
+	  wxGUI: show GRASS version in lmgr and mapdisp frame title
+
+2014-03-08 10:43  marisn
+
+	* lib/init/grass.py: Use system default locale for a GRASS session.
+	  Fixes #2210
+
+2014-03-08 10:27  martinl
+
+	* lib/init/grass.py: grass.py: check if GRASS is already running
+
+2014-03-07 13:37  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix error which happens
+	  when layertree is empty and you press a key
+
+2014-03-07 09:11  martinl
+
+	* display/d.vect/main.c: d.vect: display boundaries by default
+
+2014-03-06 19:20  annakrat
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/iscatt/frame.py:
+	  wxGUI/g.gui.iclass: fix #2211 (wxPython 3 issue)
+
+2014-03-06 15:15  turek
+
+	* gui/wxpython/mapwin/buffered.py: more comments for r59204, handle
+	  negative delay in same way as zero delay
+
+2014-03-06 13:12  turek
+
+	* gui/wxpython/iscatt/controllers.py,
+	  gui/wxpython/mapwin/buffered.py: r59204 cosmetics
+
+2014-03-06 12:59  turek
+
+	* gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/iscatt/controllers.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapwin/buffered.py: merge more update map requests
+	  into one according to delay limit
+
+2014-03-06 04:31  annakrat
+
+	* gui/wxpython/gui_core/toolbars.py: wxGUI: omit word 'graphic' in
+	  'Save display to file' (mentioned in #822)
+
+2014-03-06 01:37  annakrat
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/rlisetup/sampling_frame.py: g.gui.rlisetup: fix
+	  drawing regions
+
+2014-03-05 12:57  lucadelu
+
+	* gui/wxpython/rlisetup/__init__.py,
+	  gui/wxpython/rlisetup/frame.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/rlisetup/wizard.py: g.gui.rlisetup: a lot of
+	  improvements, thanks also to Mohammed Rashad
+
+2014-03-04 16:48  martinl
+
+	* vector/v.surf.idw/main.c, vector/v.surf.idw/proto.h,
+	  vector/v.surf.idw/read_sites.c,
+	  vector/v.surf.idw/v.surf.idw.html: v.surf.idw: remove -z flag
+	  (sync with v.surf.rst), z-coordinate is used when input is 3D and
+	  column not specified
+	  manual updated
+
+2014-03-04 15:23  zarch
+
+	* lib/python/pygrass/raster/__init__.py: Before closing the
+	  RasterNumpy class check if is open or not and add an additional
+	  parameter to set the name of the raster map.
+
+2014-03-04 09:41  zarch
+
+	* lib/python/pygrass/raster/history.py: Fix history line and length
+	  methods
+
+2014-03-03 21:48  mmetz
+
+	* raster/r.li/TODO: r.li TODO: remove zero data test because all
+	  values but NULL are valid patch types
+
+2014-03-03 20:21  marisn
+
+	* include/glocale.h: Add missing _n() macro for non-NLS
+	  compilations. (Blame marisn on r59156 for breaking the build)
+
+2014-03-03 17:00  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18n:
+	  messages updated from template
+
+2014-03-03 16:34  neteler
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18N: fix
+	  headers
+
+2014-03-03 16:08  neteler
+
+	* locale/po/grasswxpy_lv.po: Latvian i18n: fix header
+
+2014-03-03 15:58  zarch
+
+	* lib/python/pygrass/functions.py: rm utf-8 charaters in the
+	  is_clean_name function
+
+2014-03-03 09:43  marisn
+
+	* lib/init/grass.py: Language parameter migh be missing in the wx
+	  file. Thanks to Luca Delucchi for spotting this.
+
+2014-03-03 09:31  marisn
+
+	* SUBMITTING, locale/README: Add a short notice and some examples
+	  on plural form handling in the source code with _n() macro
+
+2014-03-03 07:34  lucadelu
+
+	* lib/python/script/core.py: script/core.py: fix bug in
+	  compare_key_value_text_files
+
+2014-03-03 03:53  hamish
+
+	* imagery/i.atcorr/computations.cpp,
+	  imagery/i.evapo.pm/functions.c, imagery/i.landsat.toar/landsat.h,
+	  imagery/i.topo.corr/main.c, lib/arraystats/class.c,
+	  lib/raster/color_look.c, lib/raster/color_set.c,
+	  raster/r.sunmask/g_solposition.c, raster/r.sunmask/main.c,
+	  raster/r.watershed/ram/do_flatarea.c,
+	  vector/v.net.salesman/main.c: remove non-ASCII chars
+
+2014-03-02 22:37  mmetz
+
+	* raster/r.li/r.li.mps/mps.c, raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c: r.li: sync indices based on
+	  patch number
+
+2014-03-02 22:35  mmetz
+
+	* raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.pielou/pielou.c,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.simpson/r.li.simpson.html,
+	  raster/r.li/r.li.simpson/simpson.c: r.li: sync diversity indices
+
+2014-03-02 22:34  mmetz
+
+	* raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.shape/r.li.shape.html: r.li.shape: calculate
+	  shape index
+
+2014-03-02 21:03  mmetz
+
+	* raster/r.li/r.li.cwed/cwed.c: r.li.cwed: sample area bug fix
+
+2014-03-02 20:49  mmetz
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c: r.li.edgedensity:
+	  update module header
+
+2014-03-02 20:43  mmetz
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html:
+	  r.li.edgedensity: rewrite, optimize, sync to fragstats
+
+2014-03-02 16:09  martinl
+
+	* vector/v.in.db/main.c: v.in.db: guisection cosmetics
+
+2014-03-02 14:01  martinl
+
+	* vector/v.in.db/v.in.db.html: v.in.db: pg related cosmetics in the
+	  manual
+
+2014-03-02 14:00  marisn
+
+	* lib/init/grass.py: A different and more correct language
+	  overriding approach
+
+2014-03-02 13:45  martinl
+
+	* vector/v.colors: update svn ignore prop
+
+2014-03-02 13:44  martinl
+
+	* vector/v.to.3d/args.c: v.to.3d: default layer=1 (we expect that
+	  user usually wants to define attribute table with height)
+
+2014-03-02 12:02  martinl
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/manager.py:
+	  wxGUI/dbmgr: fix OnReload
+
+2014-03-01 18:02  marisn
+
+	* locale/po/grasslibs_lv.po, locale/po/grasswxpy_lv.po: Latvial
+	  translation update for wxGUI and library; Contains correct plural
+	  form use
+
+2014-03-01 18:00  marisn
+
+	* lib/gis/get_ellipse.c, lib/proj/ellipse.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_sfa.c,
+	  lib/vector/Vlib/cats.c: A correction of plural form text strings
+	  to use the new ngettext support
+
+2014-03-01 17:56  marisn
+
+	* locale/Makefile: Extract messages with multiple plural forms to
+	  POT files
+
+2014-03-01 17:55  marisn
+
+	* include/defs/glocale.h, include/glocale.h, lib/gis/locale.c:
+	  Introduce ngettext support and a new macro _n for it
+
+2014-03-01 14:02  neteler
+
+	* raster/r.li/TODO: r.li tests simplified
+
+2014-03-01 13:13  martinl
+
+	* vector/v.overlay/main.c, vector/v.overlay/v.overlay.html:
+	  v.overlay: implement `atype=auto`
+
+2014-03-01 12:30  marisn
+
+	* locale/po/grasswxpy_lv.po: LV translation update for wxGUI
+
+2014-02-28 22:11  martinl
+
+	* raster/r.slope.aspect/aspect_diagram.dia,
+	  raster/r.slope.aspect/aspect_diagram.png,
+	  raster/r.slope.aspect/r.slope.aspect.html: r.slope.aspect: aspect
+	  diagram added to the manual
+
+2014-02-28 21:57  mmetz
+
+	* raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.simpson/simpson.c: r.li: fix more bugs
+
+2014-02-28 21:55  martinl
+
+	* raster/r.slope.aspect/main.c,
+	  raster/r.slope.aspect/r.slope.aspect.html: r.slope.aspect: manual
+	  cosmetics
+
+2014-02-28 11:32  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: try to recover when WIND is
+	  broken
+
+2014-02-27 10:28  lucadelu
+
+	* lib/python/script/core.py, scripts/r.unpack/r.unpack.py,
+	  scripts/v.unpack/v.unpack.py: r.unpack/v.unpack: fix problems for
+	  duplicate names in proj info and units, there is still a problem
+	  if second file has more keys, eg south:defined; PEP8 cleaning
+
+2014-02-27 08:09  neteler
+
+	* raster/r.param.scale/param.h: r.param.scale: set max window size
+	  to higher arbitrary limit
+
+2014-02-26 10:30  neteler
+
+	* gui/wxpython/wxplot/profile.py: wxplot/profile.py: fix call of
+	  r.profile
+
+2014-02-26 08:06  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li.daemon: tell user which
+	  map has been generated
+
+2014-02-25 21:02  mmetz
+
+	* lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/vector/table.py: pygrass: restore python 2.6
+	  compatibility
+
+2014-02-25 20:45  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: Add the
+	  documentation of the GRASS module to the class Module.
+
+2014-02-25 19:29  neteler
+
+	* raster/r.recode/r.recode.html: r.recode manual: fix example
+
+2014-02-24 21:33  mmetz
+
+	* lib/gis/colors/ndwi, lib/gis/colors/population_dens: libgis: add
+	  ndwi colors, make population_dens a gradient
+
+2014-02-24 21:18  mmetz
+
+	* raster/r.clump/clump.c, raster/r.clump/main.c: r.clump: fix
+	  register usage, update authors
+
+2014-02-24 12:40  marisn
+
+	* locale/po/grasswxpy_lv.po: Update Latvian translation of wxGUI
+
+2014-02-24 10:30  turek
+
+	* lib/imagery/iclass_perimeter.c: typo in comment
+
+2014-02-24 10:28  turek
+
+	* lib/imagery/iclass_perimeter.c, lib/imagery/iscatt_core.c:
+	  wx.iscatt: make it work in latlong locations
+
+2014-02-24 10:14  turek
+
+	* gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/mapwin/graphics.py: coordinates select: show
+	  inserted coordinates in mapwindow
+
+2014-02-24 09:17  mmetz
+
+	* raster/r.clump/clump.c: r.clump: reduce code duplication
+
+2014-02-23 22:09  mmetz
+
+	* raster/r.clump/clump.c, raster/r.clump/local_proto.h,
+	  raster/r.clump/main.c: r.clump: optimize, remove code duplication
+
+2014-02-23 20:45  zarch
+
+	* lib/python/pygrass/__init__.py, lib/python/pygrass/errors.py,
+	  lib/python/pygrass/functions.py,
+	  lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/gis/region.py,
+	  lib/python/pygrass/messages/__init__.py,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/modules/grid/__init__.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/grid/patch.py,
+	  lib/python/pygrass/modules/grid/split.py,
+	  lib/python/pygrass/modules/interface/__init__.py,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/read.py,
+	  lib/python/pygrass/modules/interface/typedict.py,
+	  lib/python/pygrass/modules/shortcuts.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/buffer.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/raster/history.py,
+	  lib/python/pygrass/raster/rowio.py,
+	  lib/python/pygrass/raster/segment.py,
+	  lib/python/pygrass/shell/__init__.py,
+	  lib/python/pygrass/tests/benchmark.py,
+	  lib/python/pygrass/tests/set_mapset.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/basic.py,
+	  lib/python/pygrass/vector/find.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/vector_type.py: Add support for python2
+	  code and python3
+
+2014-02-23 15:01  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: highlight selected
+	  feature only when where cond is given
+
+2014-02-23 14:37  martinl
+
+	* gui/wxpython/dbmgr/manager.py, gui/wxpython/dbmgr/sqlbuilder.py:
+	  wxGUI/dbmgr: field calculator emits signal to update dbmgr
+
+2014-02-23 11:18  ychemin
+
+	* gui/wxpython/xml/main_menu.xml: Enabled Temporal Menu
+
+2014-02-22 13:23  mmetz
+
+	* raster/r.clump/clump.c, raster/r.clump/local_proto.h,
+	  raster/r.clump/main.c, raster/r.clump/r.clump.html: r.clump: add
+	  flag to also consider diagonal neighbors
+
+2014-02-21 22:25  wenzeslaus
+
+	* raster/r.spread/main.c, raster/r.spread/r.spread.html: r.spread:
+	  manual improvements, moving parameters descriptions from HTML
+
+2014-02-21 22:24  wenzeslaus
+
+	* raster/r.ros/main.c, raster/r.ros/r.ros.html: r.ros: manual
+	  improvements, moving parameters descriptions from HTML
+
+2014-02-21 21:58  martinl
+
+	* vector/v.colors/scan_z.c: v.colors: add missing file (fix broken
+	  r59113)
+
+2014-02-21 21:19  martinl
+
+	* display/d.vect/lines.c, display/d.vect/main.c: d.vect: 'zcolor'
+	  applicable only for point features include centroids or kernels
+
+2014-02-21 20:16  martinl
+
+	* display/d.vect/shape.c: d.vect: don't render boundaries when
+	  doesn't include them
+
+2014-02-21 20:06  martinl
+
+	* vector/v.colors/read_rgb.c, vector/v.colors/scan_attr.c,
+	  vector/v.colors/v.colors.html: v.colors: fix segfault when
+	  converting RGB values into color table
+
+2014-02-21 18:11  martinl
+
+	* raster/r.colors.out/raster3d_main.c,
+	  raster/r.colors.out/raster_main.c, vector/v.colors.out/main.c:
+	  r|r3|v.colors.out: do not require 'rules' option (usage
+	  cosmetics)
+
+2014-02-21 18:01  martinl
+
+	* vector/v.colors/v.colors.html: v.colors: avoid unix tricks in the
+	  manual (redirection)
+
+2014-02-21 17:54  martinl
+
+	* vector/v.colors/Makefile, vector/v.colors/local_proto.h,
+	  vector/v.colors/main.c, vector/v.colors/scan_attr.c,
+	  vector/v.colors/v.colors.html: v.colors: implement color rules
+	  built from z-coordinate (points only)
+	  various minor fixes
+	  manual updated accordingly
+
+2014-02-21 17:52  martinl
+
+	* lib/raster/color_read.c, lib/vector/Vlib/color_read.c: vlib:
+	  allow colors == NULL for Vect_read_colors()
+
+2014-02-21 15:20  martinl
+
+	* gui/wxpython/core/settings.py, gui/wxpython/dbmgr/base.py,
+	  gui/wxpython/gui_core/preferences.py: wxGUI/dbmgr: highlight
+	  selected features in mapdisplay by default (could be disabled
+	  from preferences)
+
+2014-02-20 20:34  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/SQLBuilder: add 'go to'
+	  widget
+
+2014-02-20 19:36  annakrat
+
+	* vector/v.surf.idw/main.c, vector/v.surf.idw/v.surf.idw.html:
+	  v.surf.idw: added missing power parameter from develbranch
+
+2014-02-20 14:39  lucadelu
+
+	* lib/init/grass.py: move creation of .grass7 directory the first
+	  time that you run grass7, not at the end of first session
+
+2014-02-20 05:08  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix error when saving empty
+	  map display to graphic file
+
+2014-02-20 01:27  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: creating tmp file
+	  (enter values interactively) in m.proj is fixed, before it
+	  created a file '-' when text was entered
+
+2014-02-19 18:47  martinl
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI/vdigit: don't check
+	  topology for temporary maps, see #2198
+
+2014-02-18 22:12  neteler
+
+	* raster/r.li/TODO: r.li TODO: added ASCII output NC example;
+	  +TODO: backport all GRASS 7 fixes to GRASS 6
+
+2014-02-18 21:02  mmetz
+
+	* raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.pielou/pielou.c,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c: r.li: use function prototype
+	  for index calculation
+
+2014-02-18 21:01  mmetz
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.daemon/index.h,
+	  raster/r.li/r.li.daemon/worker.c: r.li.daemon: use a function
+	  prototype, new modules do not need to modify the daemon code
+
+2014-02-18 20:27  martinl
+
+	* vector/v.surf.bspline/main.c: v.surf.bspline: linear,cubic ->
+	  bilinear,bicubic
+
+2014-02-18 16:43  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: rename 'advanced' to
+	  'builder' (don't scare user)
+
+2014-02-18 16:39  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: do not check if default
+	  connection is defined (really needed?)
+
+2014-02-18 16:12  mmetz
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li.daemon: print NULL for
+	  NULL values
+
+2014-02-18 15:32  martinl
+
+	* lib/gis/make_mapset.c: G_make_mapset(): print clear error message
+	  when location doesn't exist
+
+2014-02-18 14:39  mmetz
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c: r.li.edgedensity:
+	  update rli mask handling
+
+2014-02-18 14:06  mmetz
+
+	* raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c: r.li: modules work in current
+	  region
+
+2014-02-18 14:03  mmetz
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.li/r.li.daemon/list.h,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.daemon/worker.c: r.li.daemon: fix sampling frame
+	  and sample area logic, consider current region
+
+2014-02-18 14:00  mmetz
+
+	* raster/r.clump/clump.c: r.clump: fix r59076
+
+2014-02-18 11:44  neteler
+
+	* raster/r.li/TODO, raster/r.li/r.li.padsd/r.li.padsd.html: r.li:
+	  test sequence added
+
+2014-02-18 10:07  neteler
+
+	* raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.html, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html: r.li manual:
+	  cosmetics
+
+2014-02-17 20:12  mmetz
+
+	* raster/r.clump/clump.c: r.clump: do not clump NULL data; slight
+	  speed-up
+
+2014-02-17 19:47  mmetz
+
+	* raster/r.statistics2/main.c: r.statistics2: add missing break
+
+2014-02-17 16:09  mmetz
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.renyi/renyi.c: r.li: bug fixes
+
+2014-02-17 13:47  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: read category labels from
+	  raster attribute table
+
+2014-02-17 10:05  mmetz
+
+	* raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/mps.c, raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c: r.li overhaul
+
+2014-02-16 22:29  huhabla
+
+	* temporal/t.rast.gapfill/t.rast.gapfill.py: Added command history
+	  creation
+
+2014-02-16 18:05  huhabla
+
+	* lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/unittests_temporal_raster_algebra.py:
+	  Included td(strds) into temporal raster algebra
+
+2014-02-16 15:02  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: display
+	  correct command in statusbar
+
+2014-02-16 12:10  huhabla
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.py: Fixed new
+	  introduced bug in t.rast.aggregate
+
+2014-02-16 11:02  martinl
+
+	* display/d.vect/shape.c: d.vect: add warnings about mutually
+	  exclusive color options
+
+2014-02-16 10:20  huhabla
+
+	* temporal/Makefile: Added t.vect.mapcalc to Makefile
+
+2014-02-16 09:33  neteler
+
+	* gui/wxpython/docs/wxGUI.components.html: wxGUI.components.html:
+	  cosmetics
+
+2014-02-16 06:39  hamish
+
+	* raster/r.li/r.li.richness/r.li.richness.html: missing quote
+	  around url
+
+2014-02-16 06:12  hamish
+
+	* gui/icons/grass/area-measure.png, gui/icons/grass/label-add.png,
+	  gui/icons/grass/layer-bottom.png, gui/icons/grass/layer-down.png,
+	  gui/icons/grass/layer-edit.png, gui/icons/grass/layer-info.png,
+	  gui/icons/grass/layer-up.png, gui/icons/grass/mapset-add.png,
+	  gui/icons/grass/raster-stats.png, gui/icons/grass/region.png,
+	  gui/icons/grass/zoom-layer.png, gui/icons/grass/zoom-region.png:
+	  run 'optipng -o5'
+
+2014-02-15 22:25  neteler
+
+	* db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html, lib/db/sqlp/sql.html:
+	  sql.html, MySQL manual: explain syntax error in case of using a
+	  reserved SQL word (help for trac #2184)
+
+2014-02-15 16:51  martinl
+
+	* gui/wxpython/modules/colorrules.py: wxGUI: update (d.vect's -a
+	  flag removed)
+
+2014-02-15 16:48  martinl
+
+	* display/d.vect/d.vect.html, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/shape.c: d.vect: simplify
+	  usage (zcolor), -z flag removed
+
+2014-02-15 16:26  martinl
+
+	* display/d.vect/area.c, display/d.vect/d.vect.html,
+	  display/d.vect/lines.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/shape.c: d.vect: simplify
+	  usage (colorize features), `-a` flag removed
+
+2014-02-15 01:17  hamish
+
+	* raster/r.profile/main.c, raster/r.profile/r.profile.html: rename
+	  options: profile -> coordinates, coord_file -> file, res ->
+	  resolution
+
+2014-02-15 01:08  hamish
+
+	* raster/r.profile/r.profile.html: d.where and d.profile not in G7
+
+2014-02-14 15:29  wenzeslaus
+
+	* raster/r.profile/main.c: r.profile: make profile option a
+	  standard option G_OPT_M_COORDS (mouse can be now used to input
+	  coordinates when started from GUI)
+
+2014-02-14 15:07  mmetz
+
+	* raster/r.li/r.li.padsd/padsd.c: r.li.padsd: fix segfault
+
+2014-02-14 15:06  mmetz
+
+	* raster/r.li/r.li.padrange/padrange.c: r.li.padrange: fix segfault
+
+2014-02-14 15:06  mmetz
+
+	* raster/r.li/r.li.padcv/padcv.c: r.li.padcv: fix segfault
+
+2014-02-14 13:11  mmetz
+
+	* raster/r.li/r.li.mps/mps.c: r.li.mps: fix segfault
+
+2014-02-14 13:10  mmetz
+
+	* raster/r.li/r.li.mpa/mpa.c: r.li.mpa: fix mask
+
+2014-02-14 13:09  mmetz
+
+	* raster/r.li/r.li.dominance/dominance.c: r.li.dominance: sync to
+	  r.li.shannon
+
+2014-02-14 13:08  mmetz
+
+	* raster/r.li/r.li.cwed/cwed.c: r.li.cwed: fix segfault
+
+2014-02-14 13:04  mmetz
+
+	* raster/r.li/r.li.daemon/avl.c, raster/r.li/r.li.daemon/avlID.c,
+	  raster/r.li/r.li.daemon/avlID.h: r.li.daemon: add avlID_destroy
+
+2014-02-14 10:40  mmetz
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c: r.li.edgedensity: fix
+	  memory management, mask
+
+2014-02-14 10:27  mmetz
+
+	* raster/r.li/r.li.pielou/pielou.c: r.li.pielou: sync to
+	  r.li.shannon
+
+2014-02-14 10:27  mmetz
+
+	* raster/r.li/r.li.shannon/shannon.c: r.li.shannon: simplify
+	  algorithm
+
+2014-02-14 10:26  mmetz
+
+	* raster/r.li/r.li.daemon/daemon.c, raster/r.li/r.li.daemon/list.c,
+	  raster/r.li/r.li.daemon/worker.c: r.li.daemon: fix parseSetup,
+	  memory management, mask
+
+2014-02-14 08:53  hamish
+
+	* raster/r.profile/input.c, raster/r.profile/local_proto.h,
+	  raster/r.profile/main.c, raster/r.profile/r.profile.html: add
+	  option to read from a file, stdin usage moved to coord file
+	  called '-'
+
+2014-02-14 04:51  wenzeslaus
+
+	* raster/r.profile/r.profile.html: r.profile: remove -i flag from
+	  the rest of the documentation (following r59031)
+
+2014-02-14 02:51  wenzeslaus
+
+	* raster/r.profile/main.c, raster/r.profile/r.profile.html:
+	  r.profile: note standard input in options and remove -i flag from
+	  documentation
+
+2014-02-14 00:08  huhabla
+
+	* temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.mapcalc2/t.rast.mapcalc2.py,
+	  temporal/t.rast3d.mapcalc2/t.rast3d.mapcalc2.py: Fixed
+	  decomposition bug in t.rast.aggregate, added empty map removing
+	  to raster algebra modules.
+
+2014-02-14 00:04  huhabla
+
+	* lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py: Fixed
+	  several bugs in raster algebra. Added removing of empty maps.
+
+2014-02-13 23:35  marisn
+
+	* scripts/g.manual/g.manual.py: Do not mix tabs and spaces in
+	  Pyhton as per PEP 8
+
+2014-02-13 23:23  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI/legend: fix various problems
+	  related to updating legend with different map
+
+2014-02-13 16:01  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/xml/module_tree.xml,
+	  gui/wxpython/xml/toolboxes.xml: wxGUI/toolboxes: add export,
+	  import, link and other tools to search module tree
+
+2014-02-13 13:36  mmetz
+
+	* raster/r.li/r.li.daemon/avl.c, raster/r.li/r.li.daemon/avl.h:
+	  r.li.daemon: add avl_destroy()
+
+2014-02-13 13:35  mmetz
+
+	* raster/r.li/r.li.patchdensity/main.c: r.li.patchdensity: fix mask
+
+2014-02-13 13:34  mmetz
+
+	* raster/r.li/r.li.patchnum/main.c: r.li.patchnum: fix mask
+
+2014-02-13 11:38  mmetz
+
+	* raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html:
+	  r.li.patchdensity: fix number of patches
+
+2014-02-13 11:31  mmetz
+
+	* raster/r.li/r.li.patchnum/main.c: r.li.patchnum: fix number of
+	  patches
+
+2014-02-13 09:13  mmetz
+
+	* raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.daemon/worker.c: r.li.daemon: fix cache
+	  management
+
+2014-02-12 21:25  huhabla
+
+	* temporal/Makefile, temporal/t.rast.mapcalc2,
+	  temporal/t.rast.mapcalc2/Makefile,
+	  temporal/t.rast.mapcalc2/t.rast.mapcalc2.html,
+	  temporal/t.rast.mapcalc2/t.rast.mapcalc2.py,
+	  temporal/t.rast.mapcalc2/test.t.rast.mapcalc2.sh,
+	  temporal/t.rast3d.mapcalc2, temporal/t.rast3d.mapcalc2/Makefile,
+	  temporal/t.rast3d.mapcalc2/t.rast3d.mapcalc2.html,
+	  temporal/t.rast3d.mapcalc2/t.rast3d.mapcalc2.py,
+	  temporal/t.rast3d.mapcalc2/test.t.rast3d.mapcalc2.sh: New
+	  temporal raster algebra modules added.
+
+2014-02-12 21:19  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py: Implemented
+	  parallel r.mapcalc and r3.mapcalc calls in temporal raster
+	  algebra.
+
+2014-02-12 20:54  annakrat
+
+	* gui/wxpython/mapdisp/main.py: wxGUI/d.mon: fix r59010
+
+2014-02-12 20:27  annakrat
+
+	* gui/wxpython/core/utils.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py,
+	  scripts/Makefile, scripts/d.out.file,
+	  scripts/d.out.file/Makefile, scripts/d.out.file/d.out.file.html,
+	  scripts/d.out.file/d.out.file.py: wxGUI: d.out.file module added,
+	  can be run from gui command line and with d.mon
+
+2014-02-12 20:02  zarch
+
+	* REQUIREMENTS.html: Update python requirement from python 2.4 to
+	  python 2.6
+
+2014-02-12 18:59  martinl
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI: fix digitizer when
+	  opening vector map on level 1
+
+2014-02-12 18:39  martinl
+
+	* gui/icons/grass/layer-bottom.png, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI/vdigit: use special icon
+	  for background map
+
+2014-02-11 16:23  neteler
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.html, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html: r.li.* manuals:
+	  cosmetics
+
+2014-02-11 15:15  annakrat
+
+	* raster/r.report/r.report.html: r.report: document undocumented
+	  feature of r.report - multiple maps report
+
+2014-02-11 14:58  neteler
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.html: g.gui.rlisetup.html:
+	  HTML fix
+
+2014-02-11 14:06  neteler
+
+	* raster/r.li/TODO, raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.html, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html: r.li.* manual:
+	  cleanup; example added
+
+2014-02-11 14:04  neteler
+
+	* raster/r.li/r.li.dominance/dominance.c: r.li.dominance: code
+	  style updated to that of r.li.simpson (port of r58994)
+
+2014-02-11 14:04  neteler
+
+	* raster/r.li/r.li.mps/mps.c: r.li.mps: avoid double free
+	  corruption; trivial white space
+
+2014-02-11 14:03  neteler
+
+	* raster/r.li/r.li.padcv/padcv.c: r.li.padcv: trivial white space
+
+2014-02-11 01:20  hamish
+
+	* raster/r.stats/main.c, raster/r.stats/raw_stats.c: export FP data
+	  values with better precision (#335)
+
+2014-02-11 01:11  annakrat
+
+	* gui/wxpython/gui_core/prompt.py: wxGUI/prompt: fix character
+	  events for keyboard layouts different from US
+
+2014-02-10 21:55  annakrat
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI/preferences: add
+	  color table widget
+
+2014-02-10 18:09  neteler
+
+	* vector/v.what/v.what.html: v.what.html: fix descriptions; added
+	  NC examples
+
+2014-02-10 17:22  neteler
+
+	* vector/v.build.polylines/v.build.polylines.html:
+	  v.build.polylines.html: fix odd typo
+
+2014-02-10 17:20  neteler
+
+	* vector/v.build/v.build.html: v.build.html: fix map name
+
+2014-02-09 22:12  huhabla
+
+	* lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  temporal/t.vect.mapcalc/t.vect.mapcalc.py: t.vect.mapcalc update
+
+2014-02-09 20:48  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_raster3d_algebra.py,
+	  lib/python/temporal/temporal_raster_algebra.py,
+	  lib/python/temporal/temporal_raster_base_algebra.py,
+	  lib/python/temporal/temporal_raster_operator.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/unittests_temporal_raster3d_algebra.py,
+	  lib/python/temporal/unittests_temporal_raster_algebra.py: Added
+	  temporal raster and 3D raster algebra classes and tests
+
+2014-02-09 11:47  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li.*: tell user where the
+	  ASCII file output is written to
+
+2014-02-09 06:34  hamish
+
+	* raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html: r.li files moved into
+	  ~/.grass7/r.li/
+
+2014-02-09 06:28  hamish
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c: minor whitespace
+
+2014-02-09 06:21  hamish
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c: minor whitespace (merge from
+	  devbr6 up to r58956)
+
+2014-02-09 06:16  hamish
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.setup/area_query,
+	  raster/r.li/r.li.setup/masked_area_selection.sh,
+	  raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.li/r.li.setup/r.li.setup.procedures.tcl,
+	  raster/r.li/r.li.setup/r.li.windows.tcl,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.li/r.li.setup/square_query: sync old r.li.setup scripts
+	  with devbr6 (up to r58929)
+
+2014-02-09 06:05  hamish
+
+	* raster/r.li/r.li.setup/masked_area_selection.sh,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh: sync old
+	  r.li.setup scripts with devbr6 (up to r58914)
+
+2014-02-09 05:57  hamish
+
+	* raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.setup/masked_area_selection.sh,
+	  raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.li/r.li.shannon/r.li.shannon.html: sync with devbr6 up
+	  to r58899
+
+2014-02-09 04:59  hamish
+
+	* raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.li/r.li.setup/sample_area_vector.sh: remerge Rashad's
+	  patch from #2024 with some adjustments; note bugifx in daemon.c:
+	  m.f.f_ma.x and m.f.f_ma.y were reversed in older versions of the
+	  code.
+
+2014-02-09 01:55  hamish
+
+	* raster/r.li/TODO, raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.shape/main.c:
+	  minor comment cosmetics sync with devbr6
+
+2014-02-08 10:54  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix typo in icon name
+
+2014-02-08 01:34  huhabla
+
+	* lib/python/temporal/core.py: Better error message in case the
+	  temporal database version is outdated.
+
+2014-02-08 01:33  huhabla
+
+	* lib/python/pygrass/messages/__init__.py: Raise on error in
+	  get_msgr() function.
+
+2014-02-07 23:23  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: allow stop editing from layer
+	  manager toolbar
+
+2014-02-07 23:13  martinl
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI: change icon of layer item
+	  when start/stop editing
+
+2014-02-07 21:12  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI/lmgr: move icons to directory (continued)
+
+2014-02-07 20:50  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI/lmgr: move icons to directory (cosmetics)
+
+2014-02-07 19:36  annakrat
+
+	* gui/wxpython/psmap/utils.py: wxGUI/psmap: update PIL import for
+	  pillow
+
+2014-02-07 17:43  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix rendering issue
+	  reported in #2088
+
+2014-02-07 17:38  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI/lmgr: simplify checking first layer
+
+2014-02-07 15:34  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI/vdigit: introduce dialog
+	  for selected background vector map (see #2088)
+
+2014-02-07 14:40  neteler
+
+	* raster/r.out.tiff/main.c: r.out.tiff: less compiler warnings
+
+2014-02-07 13:23  martinl
+
+	* gui/wxpython/vdigit/mapwindow.py: wxGUI/vdigit: fix type (#2088)
+
+2014-02-07 11:53  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: Fix Popen using
+	  grass.script.core.Popen instead of subprocess.Popen
+
+2014-02-07 11:52  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: Revert fix for
+	  Popen on win platforms
+
+2014-02-07 08:06  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py: Check for
+	  matching mapsets updated
+
+2014-02-07 00:14  huhabla
+
+	* lib/python/temporal/pythontemporallib.dox,
+	  lib/python/temporal/temporal_vector_algebra.py: Do not create
+	  PyGRASS module instances at import time.
+
+2014-02-06 18:53  martinl
+
+	* raster/r.resamp.interp/main.c: r.resamp.interp: module desc
+	  cosmetics
+
+2014-02-06 18:18  annakrat
+
+	* include/raster.h, lib/gis/parser_standard_options.c,
+	  lib/raster/interp.c, lib/raster/sample.c, raster/r.proj/main.c,
+	  raster/r.proj/r.proj.html, raster/r.resamp.bspline/main.c,
+	  raster/r.resamp.bspline/r.resamp.bspline.html,
+	  raster/r.resamp.interp/main.c,
+	  raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.shaded.relief/r.shaded.relief.html,
+	  raster/r.viewshed/r.viewshed.html, vector/v.surf.bspline/main.c:
+	  rasterlib: rename interpolation methods again to use correct
+	  names (linear->bilinear, cubic->bicubic)
+
+2014-02-06 16:54  annakrat
+
+	* lib/python/pygrass/modules/interface/module.py: pygrass: fix
+	  launching modules - shell=True needed (see #2189)
+
+2014-02-06 01:18  hamish
+
+	* raster/r.li/r.li.shape/main.c: minor whitespace
+
+2014-02-05 22:11  mmetz
+
+	* raster/r.out.gdal/attr.c, raster/r.out.gdal/local_proto.h,
+	  raster/r.out.gdal/main.c: r.out.gdal: new flag to write raster
+	  attribute table
+
+2014-02-05 19:34  neteler
+
+	* include/Make/Grass.make, include/defs/gis.h,
+	  lib/iostream/ami_stream.cpp: libiostream (r.terraflow,
+	  r.viewshed): use G_mkstemp() (trac #2153)
+
+2014-02-05 09:51  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: Clarify the error
+	  message and add additional informations
+
+2014-02-05 03:14  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: do not import tgis
+	  during gui start (#2188)
+
+2014-02-04 10:11  glynn
+
+	* lib/gis/mkstemp.c: Add parentheses to avoid warning
+
+2014-02-04 08:49  lucadelu
+
+	* man/build_keywords.py: man: allow for empty lines html file, trac
+	  #2187
+
+2014-02-03 22:34  neteler
+
+	* locale/po/grasslibs_fr.po: Sylvain Maillard: FR translation
+	  cont'ed
+
+2014-02-03 21:57  hamish
+
+	* raster/r.li/r.li.setup/r.li.setup.html: msg cosmetics (merge from
+	  devbr6)
+
+2014-02-03 21:51  hamish
+
+	* raster/r.li/r.li.setup/r.li.setup.main: msg cosmetics (merge from
+	  devbr6)
+
+2014-02-03 21:48  neteler
+
+	* raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.html, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html: r.li.* manuals:
+	  content standardization, HTML cosmetics
+
+2014-02-03 21:19  hamish
+
+	* raster/r.li/r.li.setup/r.li.setup.procedures.tcl: message
+	  cosmetics (this dir is unused in trunk, but keeping in sync
+	  anyway)
+
+2014-02-03 17:28  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.setup/sample_area_vector.sh: r.li.*: revert
+	  r58850 (fixes from G6, still to be done here)
+
+2014-02-03 15:01  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.setup/sample_area_vector.sh: r.li.*: fixes for
+	  trac #2024 (author: rashadkm, forward port of r58848)
+
+2014-02-03 08:23  hamish
+
+	* lib/ogsf/gsd_legend.c: typo (#2186)
+
+2014-02-03 06:39  hamish
+
+	* AUTHORS: +GSoC 2013 awardees
+
+2014-02-02 11:41  martinl
+
+	* gui/wxpython/animation/g.gui.animation.html: g.gui.animation:
+	  manual cosmetics, link wiki page
+
+2014-02-02 03:57  annakrat
+
+	* gui/wxpython/modules/histogram.py: wxGUI:d.histogram: open dialog
+	  if no map selected; use selected map even when it's not checked;
+	  still mysterious why it draws content of map window when it
+	  starts without map
+
+2014-02-01 23:02  wenzeslaus
+
+	* raster/r.mode/main.c: r.mode: rules parameter of r.reclass is
+	  mandatory (introduced in r42423)
+
+2014-02-01 22:23  neteler
+
+	* vector/v.lrs/lrs.html: lrs manual: fix PDF URL to R Blazek's
+	  paper
+
+2014-02-01 22:10  neteler
+
+	* lib/gis/mkstemp.c: libgis: attempt to document G_mkstemp() etc
+	  according to
+	  http://lists.osgeo.org/pipermail/grass-dev/2014-January/066964.html
+
+2014-02-01 21:56  neteler
+
+	* raster/r.grow.distance/r.grow.distance.html: r.grow.distance
+	  manual: mention Geodesic metric
+
+2014-02-01 17:54  neteler
+
+	* db/db.login/db.login.html: db.login manual: fix password comment
+
+2014-02-01 15:53  neteler
+
+	* db/db.login/db.login.html: db.login manual: cosmetics
+
+2014-02-01 15:04  neteler
+
+	* imagery/i.biomass/i.biomass.html, imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html,
+	  imagery/i.eb.h_sebal01/i.eb.h_sebal01.html,
+	  imagery/i.eb.netrad/i.eb.netrad.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.vi/i.vi.html: i.biomass, i.eb.*, i.vi manuals: fix
+	  references
+
+2014-02-01 11:32  martinl
+
+	* db/db.login/db.login.html, db/db.login/main.c: db.login: update
+	  manual + module usage description (cosmetics)
+
+2014-01-31 21:38  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: ignore
+	  --help flag
+
+2014-01-30 23:08  huhabla
+
+	* lib/python/temporal/pythontemporallib.dox,
+	  lib/python/temporal/temporal_vector_algebra.py: Documentation
+	  update.
+
+2014-01-30 22:26  wenzeslaus
+
+	* raster/r.category/test_rcategory_doctest.txt: r.category:
+	  improved test with input separators, multiple word labels,
+	  extreme cases and non-random data
+
+2014-01-30 21:37  wenzeslaus
+
+	* scripts/r.buffer.lowmem/r.buffer.lowmem.py: r.buffer.lowmem:
+	  reflect change in r.category input separator handling (separator
+	  option is used, so it need to be specified for :, r58811)
+
+2014-01-30 18:18  annakrat
+
+	* raster/r.category/main.c, raster/r.category/r.category.html,
+	  raster/r.category/test_rcategory_doctest.txt: r.category: apply
+	  separator also for input, more robust input checking, update
+	  manual page, doctest (co-author wenzeslaus)
+
+2014-01-30 17:37  wenzeslaus
+
+	* raster/r.category/test_rcategory_doctest.txt,
+	  raster/r.category/test_rcatetgory_doctest.txt: r.category: fix
+	  typo in file name from r58809
+
+2014-01-30 17:36  wenzeslaus
+
+	* raster/r.category/test_rcatetgory_doctest.txt: r.category: test
+	  for input of cell, dcell, cell range, and outputs (test witten as
+	  python doctest)
+
+2014-01-30 17:31  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: be less verbose & fix percent
+	  usage (cosmetics)
+
+2014-01-30 17:00  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/temporal_algebra.py,
+	  lib/python/temporal/temporal_vector_algebra.py,
+	  lib/python/temporal/temporal_vector_operator.py,
+	  temporal/t.vect.mapcalc, temporal/t.vect.mapcalc/Makefile,
+	  temporal/t.vect.mapcalc/t.vect.mapcalc.html,
+	  temporal/t.vect.mapcalc/t.vect.mapcalc.py,
+	  temporal/t.vect.mapcalc/test_suite,
+	  temporal/t.vect.mapcalc/test_suite/test.t.vect.mapcalc.sh: Added
+	  modified temporal vector algebra code from GSoC 2013 student
+	  Thomas Leppelt.
+
+2014-01-29 19:13  martinl
+
+	* raster/r.contour/main.c: r.contour: write attributes in one
+	  commit (speed-up)
+
+2014-01-29 18:10  mmetz
+
+	* vector/v.patch/main.c: v.patch: create index for table
+
+2014-01-29 18:09  mmetz
+
+	* vector/v.overlay/main.c: v.overlay: fix copy attributes
+
+2014-01-29 17:56  annakrat
+
+	* gui/wxpython/nviz/animation.py: wxGUI/nviz: fix output format in
+	  simple animation
+
+2014-01-29 16:54  zarch
+
+	* lib/python/pygrass/messages/__init__.py: Fix the docstring.
+
+2014-01-29 16:50  zarch
+
+	* lib/python/pygrass/messages/__init__.py: Add a function that
+	  return an instance of the Messenger class and remove trailing
+	  spaces
+
+2014-01-29 16:19  martinl
+
+	* raster/r.contour/r.contour.html: r.contour manual cosmetics
+
+2014-01-29 16:14  martinl
+
+	* raster/r.contour/main.c: r.contour: more guisections
+
+2014-01-28 20:05  mmetz
+
+	* raster/r.to.vect/areas.c, raster/r.to.vect/areas_io.c,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/points.c: r.to.vect:
+	  strip out duplicate points, free memory
+
+2014-01-28 20:02  mmetz
+
+	* vector/v.in.region/main.c: v.in.region: no categories for
+	  boundaries
+
+2014-01-28 16:19  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: do not create help
+	  flag checkbox
+
+2014-01-28 15:40  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Use Location instance
+	  instead of gisenv
+
+2014-01-28 15:37  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Fix extra parameters in
+	  VectorTopo init
+
+2014-01-28 02:12  hamish
+
+	* misc/m.nviz.image/args.c: try to make the usage error messages a
+	  bit easier to follow
+
+2014-01-28 01:57  hamish
+
+	* misc/m.nviz.image/args.c, misc/m.nviz.image/local_proto.h,
+	  misc/m.nviz.image/main.c, misc/m.nviz.image/surface.c,
+	  misc/m.nviz.image/vector.c, misc/m.nviz.image/volume.c,
+	  misc/m.nviz.image/write_img.c: run grass_indent.sh
+
+2014-01-27 19:06  wenzeslaus
+
+	* gui/wxpython/gui_core/prompt.py: wxGUI/prompt: reacting to -
+	  (minus) key in all cases in command console (relates to #2152)
+
+2014-01-26 10:40  neteler
+
+	* gui/wxpython/core/utils.py, lib/gis/parser.c,
+	  lib/gis/parser_help.c, lib/gis/parser_html.c,
+	  lib/gis/parser_interface.c: parser: support --h and --help in
+	  wxGUI command line (trac #2152)
+
+2014-01-26 10:27  neteler
+
+	* scripts/r.tileset/r.tileset.py: r.tileset: declaration fixes
+	  provided by sbl (trac #1825)
+
+2014-01-25 23:43  wenzeslaus
+
+	* display/d.rast/d.rast.html: d.rast: more examples to manual
+
+2014-01-25 18:47  neteler
+
+	* raster/r.li/r.li.html: r.li manual: synchronize footer
+
+2014-01-25 13:50  mmetz
+
+	* scripts/r.in.srtm/r.in.srtm.html, scripts/r.in.srtm/r.in.srtm.py:
+	  r.in.srtm: support V3
+
+2014-01-24 11:43  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: drop highly confusing GIS lib
+	  revision from 'about system'
+
+2014-01-23 18:42  wenzeslaus
+
+	* raster/r.mapcalc/r.mapcalc.html: r.mapcalc: remove illegal p tag
+	  in div code pre tags (fix compilation for r58767)
+
+2014-01-23 03:58  annakrat
+
+	* raster/r.resample/r.resample.html: r.resample: better explanation
+	  in manual (by Helena)
+
+2014-01-23 02:57  wenzeslaus
+
+	* raster/r.mapcalc/r.mapcalc.html: r.mapcalc: change manual h3
+	  headings from all caps to standard, add references section, minor
+	  markup changes
+
+2014-01-22 23:45  huhabla
+
+	* lib/gis/parser_wps.c,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.vect.extract/t.vect.extract.py: Better basename
+	  options for temporal modules, better title and abstract support
+	  for wps services
+
+2014-01-22 18:58  wenzeslaus
+
+	* raster/r.mapcalc/r.mapcalc.html: r.mapcalc: add note about eval
+	  function variables and existing maps
+
+2014-01-22 17:19  wenzeslaus
+
+	* raster/r.mapcalc/r.mapcalc.html: r.mapcalc: fix syntax in eval
+	  function example in manual, add note about EOF syntax
+
+2014-01-22 15:37  wenzeslaus
+
+	* raster/r.viewshed/r.viewshed.html: r.viewshed: correct image
+	  caption
+
+2014-01-22 13:29  martinl
+
+	* raster/r.viewshed/r.viewshed.html: r.viewshed: add see also
+	  section to the manual
+
+2014-01-22 13:27  martinl
+
+	* raster/r.viewshed/r.viewshed.html: r.viewshed: manual update (fix
+	  broken article link & cosmetics)
+
+2014-01-22 09:51  martinl
+
+	* general/g.parser/g.parser.html, tools/mkhtml.py: synchronize
+	  footer
+
+2014-01-22 09:24  martinl
+
+	* general/g.parser/g.parser.html: g.parser: manual update
+
+2014-01-21 16:18  neteler
+
+	* gui/wxpython/gui_core/dialogs.py: wx i.group: fix msg typo
+
+2014-01-21 07:39  mmetz
+
+	* raster/r.what/main.c: r.what: fix reading vector points
+
+2014-01-20 18:01  huhabla
+
+	* lib/gmath/la.c: Fixed wrong memory allocation, detected and
+	  reported by Eva Stopkova.
+
+2014-01-19 21:07  neteler
+
+	* raster/r.grow.distance/r.grow.distance.html: r.grow.distance
+	  manual: mention Geodesic metric in NOTES (trac #2166)
+
+2014-01-19 09:11  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix r58739
+
+2014-01-18 23:11  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: speed-up exporting
+	  areas (update statements in one transaction)
+
+2014-01-17 23:30  huhabla
+
+	* lib/python/temporal/stds_import.py,
+	  temporal/t.rast.import/t.rast.import.py: Added flag to set the
+	  computational region after import of raster maps.
+
+2014-01-17 19:45  glynn
+
+	* lib/gis/mkstemp.c: Replacement for mkstemp() etc (issue #2153)
+
+2014-01-17 18:25  martinl
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/vdigit/wxdisplay.py: g.gui.iclass: allow to import
+	  training areas from other mapsets
+
+2014-01-17 12:26  martinl
+
+	* gui/wxpython/docs/wxGUI_iscatt.jpg: wxGUI/iscatt: image size
+	  manual cosmetics
+
+2014-01-17 12:24  martinl
+
+	* gui/wxpython/iclass/plots.py: wxGUI/iclass: error message (no
+	  matplotlib) cosmetics
+
+2014-01-17 12:17  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: be less
+	  verbose (cosmetics)
+
+2014-01-16 15:02  lucadelu
+
+	* scripts/v.rast.stats/v.rast.stats.py: remove e flag and add the
+	  methods to method option
+
+2014-01-16 11:10  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: don't fail when pOpt
+	  is None
+
+2014-01-16 11:00  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: fix broken
+	  r58731
+
+2014-01-16 09:30  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: parameter
+	  'vector' renamed to 'map'
+
+2014-01-16 08:38  lucadelu
+
+	* scripts/v.rast.stats/v.rast.stats.py: fix problem with abbreviate
+	  option
+
+2014-01-16 01:36  huhabla
+
+	* temporal/Makefile: Added t.select to Makefile
+
+2014-01-16 01:31  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/temporal_algebra.py, temporal/t.select,
+	  temporal/t.select/Makefile, temporal/t.select/t.select.html,
+	  temporal/t.select/t.select.py,
+	  temporal/t.select/test.t.select.sh: New temporal algebra module
+	  t.select and temporal algebra base class added from GSoC 2013.
+	  GSoC student and author is Thomas Leppelt. Modifications to merge
+	  the temporal algebra
+	  into grass7 by Soeren Gebbert.
+
+2014-01-15 13:18  lucadelu
+
+	* scripts/v.rast.stats/v.rast.stats.py: fix bugs with dbf driver
+
+2014-01-14 23:15  lucadelu
+
+	* scripts/v.rast.stats/v.rast.stats.py: fix bug introduced in
+	  r58726, remove unuseful functions and for cicle
+
+2014-01-14 22:14  lucadelu
+
+	* scripts/v.rast.stats/v.rast.stats.py: add method option to choose
+	  the methods to save in the database table
+
+2014-01-14 18:22  annakrat
+
+	* gui/wxpython/dbmgr/dialogs.py: wxGUI: fix for not closing of
+	  attribute dialog with wxPython 3 (#2162)
+
+2014-01-14 13:26  glynn
+
+	* lib/raster/get_row.c: Fix for applying MASK to reclass maps
+	  (issue #1999)
+
+2014-01-14 01:43  kyngchaos
+
+	* macosx/Makefile, macosx/app/build_html_user_index.sh,
+	  macosx/pkg/resources/postflight.in: install all OS X help links
+	  at startup
+
+2014-01-13 23:41  huhabla
+
+	* raster/r.series.accumulate/main.c,
+	  raster/r.series.accumulate/r.series.accumulate.html,
+	  raster/r.series.accumulate/test_suite/test.r.series.accumulate.sh,
+	  raster/r.series.accumulate/test_suite/test_accu_0.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_1.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_2.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_3.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_4.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_6.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_7.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_8.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_9.ref,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py: Merged changes
+	  from r.gdd into r.series.accumlate and t.rast.accumulate.
+
+2014-01-13 23:06  neteler
+
+	* REQUIREMENTS.html, SUBMITTING_PYTHON,
+	  general/g.parser/g.parser.html, grasslib.dox,
+	  include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in, man/build_html.py,
+	  man/build_rest.py, raster/r.li/r.li.daemon/r.li.daemon.html:
+	  manual cosmetics
+
+2014-01-13 22:00  neteler
+
+	* raster/r.li/r.li.html: r.li manual: fix title
+
+2014-01-13 18:40  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: speed-up -
+	  use db transactions
+
+2014-01-13 18:40  martinl
+
+	* db/db.execute/main.c: db.execute: revert r58703 (bad idea to
+	  force transaction in low level module)
+
+2014-01-13 18:20  martinl
+
+	* db/db.execute/main.c: db.execute: perform statements from input
+	  file in one transaction
+
+2014-01-13 17:12  martinl
+
+	* gui/wxpython/gui_core/gselect.py, gui/wxpython/wxplot/base.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/profile.py,
+	  gui/wxpython/wxplot/scatter.py: wxGUI: do not crash when numpy is
+	  missing
+
+2014-01-13 13:12  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: another fix related to
+	  MapsetSelect (changed to wx.combo.ComboCtrl)
+
+2014-01-13 13:05  martinl
+
+	* general/g.parser/standard_option.c: g.parser: support
+	  G_OPT_M_REGION
+
+2014-01-13 12:50  martinl
+
+	* raster/r.series.accumulate: set svn prop
+
+2014-01-13 09:20  neteler
+
+	* vector/v.proj/v.proj.html: v.proj manual: ASPRS url update;
+	  cosmetics
+
+2014-01-13 08:24  mmetz
+
+	* vector/v.proj/v.proj.html: v.proj: add v.split to manual
+
+2014-01-13 02:51  wenzeslaus
+
+	* raster/r.los/main.c: r.los: use standard coordinates
+	  (G_OPT_M_COORDS) option instead of custom coordinate, change
+	  wording of the options description (to more simple one)
+
+2014-01-13 00:01  annakrat
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI: change delimeter (comma
+	  is more used in commands) when copying coordinates from map
+	  window
+
+2014-01-12 23:03  annakrat
+
+	* gui/wxpython/gui_core/prompt.py: wxGUI/prompt: fix #1963 ('ls -'
+	  error); improve autocompletion just after command
+
+2014-01-12 23:02  wenzeslaus
+
+	* raster/r.lake/main.c, raster/r.lake/r.lake.html: r.lake: add
+	  standard option for coordinates (xy changed to coordinates),
+	  change wl option to water_level (backwards compatible in bash),
+	  parameters and user manual cosmetics (partially backported from
+	  r.lake.series in addons)
+
+2014-01-12 21:14  neteler
+
+	* vector/v.buffer/v.buffer.html,
+	  vector/v.buffer/v_buffer_lines.png: v.buffer manual: example
+	  updated to NC; screenshot added
+
+2014-01-12 21:09  neteler
+
+	* raster/r.in.ascii/main.c: r.in.ascii: msg typo
+
+2014-01-12 20:17  martinl
+
+	* raster/r.category/main.c: r.category: more guisections
+
+2014-01-12 18:11  neteler
+
+	* raster/r.statistics/main.c: r.statistics: expand methods
+	  description in help text (as in r.statistics2)
+
+2014-01-12 11:08  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI/forms: fix MapsetSelect updating
+
+2014-01-11 21:15  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/modeler: disable sorting
+	  for ModelListCtrl
+
+2014-01-11 18:52  martinl
+
+	* scripts/r.pack/r.pack.py: r.pack: fix windows bug
+
+2014-01-11 18:35  martinl
+
+	* scripts/r.pack/r.pack.py: r.pack: remove print statement
+
+2014-01-11 17:43  martinl
+
+	* gui/wxpython/gcp/manager.py: wxGUI: fix self.OnMapset handler
+
+2014-01-11 16:09  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix another bug related
+	  with change to accept multiple values
+	  in MapsetSelect
+
+2014-01-11 01:57  huhabla
+
+	* gui/wxpython/gui_core/gselect.py, gui/wxpython/timeline/frame.py,
+	  lib/python/temporal/core.py: Fixed GUI crash when a fatal error
+	  occurs by calling the init() function of the temporal database
+
+2014-01-10 23:21  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: define UI when
+	  exporting to Python
+	  improve _substituteVariable
+
+2014-01-10 19:31  martinl
+
+	* general/g.region/main.c: g.region: use standardized option for
+	  region
+
+2014-01-10 19:31  martinl
+
+	* include/gis.h, lib/gis/parser_standard_options.c: libgis: define
+	  new standardized option G_OPT_M_REGION
+
+2014-01-10 19:29  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: support 'region' type in variables
+
+2014-01-10 16:35  martinl
+
+	* imagery/i.group/main.c: i.group: print warning instead of fatal
+	  error when input raster map not found
+
+2014-01-10 16:24  martinl
+
+	* general/g.mlist/main.c: g.mlist: fix segfault when mapset is not
+	  in the path
+
+2014-01-10 15:26  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: define default name for exported Python script
+
+2014-01-10 15:03  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: do not hide
+	  progress bar
+
+2014-01-10 13:43  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: action shape size
+	  cosmetics
+
+2014-01-10 10:22  martinl
+
+	* mswindows/osgeo4w/package.sh: winGRASS: fix subversion path -
+	  installed in c:\Subversion
+
+2014-01-09 23:55  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po: Sylvain
+	  Maillard: FR translation cont'ed
+
+2014-01-09 23:28  neteler
+
+	* raster/r.random.cells/main.c: r.random.cells: keyword added
+
+2014-01-09 23:26  neteler
+
+	* raster/r.random.cells/r.random.cells.html: r.random.cells manual:
+	  examples added (NC location)
+
+2014-01-09 21:28  huhabla
+
+	* lib/python/temporal/core.py: Fixed wrong tgis_db_version commit
+
+2014-01-09 21:27  huhabla
+
+	* lib/python/temporal/core.py: Environmental variable handling
+	  improvement
+
+2014-01-09 21:18  huhabla
+
+	* lib/python/pygrass/messages/__init__.py,
+	  lib/python/script/core.py, lib/python/temporal/core.py: Better
+	  handling of fatal error behavior in temporal framework and the
+	  pygrass messenger
+
+2014-01-09 20:34  huhabla
+
+	* lib/python/temporal/core.py, temporal/t.info/t.info.py: Give more
+	  information in case the temporal database is incompatible.
+	  GRASS_TGIS_RAISE_ON_ERROR environmental variable introduced.
+
+2014-01-09 02:10  huhabla
+
+	* raster/Makefile, raster/r.series.accumulate,
+	  raster/r.series.accumulate/Makefile,
+	  raster/r.series.accumulate/main.c,
+	  raster/r.series.accumulate/r.series.accumulate.html,
+	  raster/r.series.accumulate/test_suite,
+	  raster/r.series.accumulate/test_suite/test.r.series.accumulate.sh,
+	  raster/r.series.accumulate/test_suite/test_accu_1.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_2.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_3.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_4.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_5.ref,
+	  raster/r.series.accumulate/test_suite/test_accu_6.ref,
+	  temporal/Makefile, temporal/t.rast.accdetect,
+	  temporal/t.rast.accdetect/Makefile,
+	  temporal/t.rast.accdetect/t.rast.accdetect.html,
+	  temporal/t.rast.accdetect/t.rast.accdetect.py,
+	  temporal/t.rast.accdetect/test_suite,
+	  temporal/t.rast.accdetect/test_suite/test.t.rast.accdetect.reverse.sh,
+	  temporal/t.rast.accdetect/test_suite/test.t.rast.accdetect.sh,
+	  temporal/t.rast.accdetect/test_suite/test_1_temp_accumulation.ref,
+	  temporal/t.rast.accdetect/test_suite/test_1_temp_indi.ref,
+	  temporal/t.rast.accdetect/test_suite/test_1_temp_occ_a.ref,
+	  temporal/t.rast.accdetect/test_suite/test_1_temp_occ_b.ref,
+	  temporal/t.rast.accdetect/test_suite/test_2_temp_accumulation.ref,
+	  temporal/t.rast.accdetect/test_suite/test_2_temp_indi.ref,
+	  temporal/t.rast.accdetect/test_suite/test_2_temp_occ.ref,
+	  temporal/t.rast.accumulate, temporal/t.rast.accumulate/Makefile,
+	  temporal/t.rast.accumulate/t.rast.accumulate.html,
+	  temporal/t.rast.accumulate/t.rast.accumulate.py,
+	  temporal/t.rast.accumulate/test_suite,
+	  temporal/t.rast.accumulate/test_suite/acc_1.ref,
+	  temporal/t.rast.accumulate/test_suite/acc_2.ref,
+	  temporal/t.rast.accumulate/test_suite/acc_3.ref,
+	  temporal/t.rast.accumulate/test_suite/acc_4.ref,
+	  temporal/t.rast.accumulate/test_suite/acc_5.ref,
+	  temporal/t.rast.accumulate/test_suite/test.t.rast.accumulate.sh:
+	  New temporal accumulation modules.
+
+2014-01-09 02:03  huhabla
+
+	* gui/wxpython/animation/g.gui.animation.py: Added missing
+	  tgis.init() call in case a stds is provided at the command line.
+
+2014-01-08 20:49  mmetz
+
+	* lib/vector/Vlib/remove_areas.c: Vlib: fix
+	  Vect_remove_small_areas_nat()
+
+2014-01-08 20:47  martinl
+
+	* include/VERSION: Happy New Year
+
+2014-01-08 20:36  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/modules/extensions.py,
+	  gui/wxpython/xml/toolboxes.xml, gui/wxpython/xml/wxgui_items.xml:
+	  wxGUI: update extensions wrapper (g.extension.rebuild.all has
+	  been removed)
+
+2014-01-08 19:38  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: disable read-only
+	  MapsetSelect (related to r58618)
+	  @todo: fix MapsetSelect to allow read-only mode
+
+2014-01-08 17:58  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix MapsetSelect
+	  (backward compatibility)
+
+2014-01-08 17:23  martinl
+
+	* gui/wxpython/lmgr/giface.py, gui/wxpython/modules/extensions.py:
+	  wxGUI/extension: show manual page (via contextual menu)
+
+2014-01-08 17:16  martinl
+
+	* scripts/g.manual/g.manual.py: g.manual: add flag for display
+	  online manuals including addons
+
+2014-01-08 10:49  martinl
+
+	* gui/wxpython/vnet/widgets.py: wxGUI/vnet: fix failure on Windows
+
+2014-01-07 15:40  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Add some optional
+	  parameter and fix the cat of the geometry features
+
+2014-01-07 15:38  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Transform gtype attribute
+	  to a class attribute and rewrite some functions and methods
+
+2014-01-07 01:34  annakrat
+
+	* lib/gis/proj3.c: libgis: fix G_units segfault when units are not
+	  identified; recognize metre as meter
+
+2014-01-06 23:15  neteler
+
+	* vector/v.delaunay/v_delaunay.png: optipng -o5 v_delaunay.png
+
+2014-01-06 23:15  neteler
+
+	* vector/v.delaunay/v.delaunay.html,
+	  vector/v.delaunay/v_delaunay.png: v.delaunay manual: example
+	  updated to NC; figure added
+
+2014-01-06 18:09  zarch
+
+	* lib/python/pygrass/vector/table.py: Add additional parameters to
+	  the Table methods
+
+2014-01-06 17:54  zarch
+
+	* lib/python/pygrass/vector/find.py: Add additional parameters to
+	  reduce the memory foot print during a cicle
+
+2014-01-06 17:50  zarch
+
+	* lib/python/pygrass/vector/basic.py: Fix the __repr__method of the
+	  Ilist class
+
+2014-01-06 17:46  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Improve the with-statement
+	  of the Vector classes and add optional build parameter in the
+	  close method
+
+2014-01-06 17:32  zarch
+
+	* lib/python/pygrass/modules/grid/split.py: Add a function to get
+	  the overlapped regions
+
+2014-01-06 17:31  zarch
+
+	* lib/python/pygrass/modules/grid/patch.py: Free unused memory
+
+2014-01-06 17:28  zarch
+
+	* lib/python/pygrass/errors.py: Not hide the docstring of the
+	  decorate methods
+
+2014-01-05 23:44  neteler
+
+	* imagery/i.vi/i.vi.html: i.vi manual: NDVI example added
+
+2014-01-05 18:55  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI: modify MapsetSelect to allow multiple selection
+
+2014-01-05 18:22  martinl
+
+	* general/g.mapsets/main.c: g.mapsets: use standardized option for
+	  mapset
+
+2014-01-05 17:58  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: show dialog also
+	  for commands with no argument
+
+2014-01-05 16:38  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/gmodeler/gmodeler_frame.jpg: wxGUI/modeler: update
+	  figure in the manual
+
+2014-01-05 16:26  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix python export
+	  & variable substitution
+
+2014-01-05 13:56  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI: fix enabling/disabling
+	  loops
+
+2014-01-05 11:34  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix Normalize() fn
+	  + sort variables
+
+2014-01-05 04:29  annakrat
+
+	* gui/icons/grass/area-measure.png, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/mapwin/analysis.py, gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/mapwin/graphics.py: wxGUI: adds area measurement
+	  tool
+
+2014-01-05 02:43  huhabla
+
+	* gui/wxpython/timeline/frame.py: Removed unneeded code.
+
+2014-01-04 21:47  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapwin/analysis.py:
+	  wxGUI: fix ending measuring on display
+
+2014-01-04 17:27  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: fix r58607
+
+2014-01-04 17:18  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/modeler: no need for
+	  normalizing
+
+2014-01-04 17:09  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix moving item in
+	  the loop
+
+2014-01-04 16:45  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI: fix OnSetLabel() for
+	  actions
+
+2014-01-04 16:40  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py:
+	  wxGUI/modeler: allow multiple selection, label size column width
+
+2014-01-04 01:35  huhabla
+
+	* gui/wxpython/timeline/frame.py: Removed explicit termination of
+	  the TimeLineFrame stand alone process
+
+2014-01-03 22:17  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: revert accidentaly
+	  commited code
+
+2014-01-03 22:16  annakrat
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/timeline/frame.py:
+	  wxGUI/timeline: fix #2151
+
+2014-01-03 21:02  huhabla
+
+	* gui/wxpython/timeline/frame.py: Implemented explicit kill in the
+	  destructor of g.gui.timeline.
+	  The tgis messenger and C-interface subprocesses are terminated as
+	  well
+	  to avoid orphaned processes.
+	  A SLQ connection object is now created in the constructor to
+	  reduce the
+	  number of expensive database connection openings and closing
+	  while data preparation.
+
+2014-01-03 18:28  neteler
+
+	* display/d.vect.chart/d.vect.chart.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.watershed/front/r.watershed.html: manual pages: fix
+	  r.to.vect parameter in examples
+
+2014-01-03 18:28  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/modeler: reset label and
+	  comment in search dialog
+
+2014-01-03 18:24  neteler
+
+	* raster/r.to.vect/r.to.vect.html: r.to.vect manual: examples added
+
+2014-01-03 18:11  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/modeler: fix focus when
+	  moving items up/down
+
+2014-01-03 03:39  annakrat
+
+	* doc/gui/wxpython/example/Makefile,
+	  doc/gui/wxpython/example/README,
+	  doc/gui/wxpython/example/dialogs.py,
+	  doc/gui/wxpython/example/frame.py,
+	  doc/gui/wxpython/example/g.gui.example.html,
+	  doc/gui/wxpython/example/g.gui.example.py,
+	  doc/gui/wxpython/example/toolbars.py,
+	  doc/gui/wxpython/example/wxGUI.example.html: wxGUI example
+	  application update to work with current gui
+
+2014-01-03 03:36  huhabla
+
+	* temporal/t.info/t.info.py: API changes
+
+2014-01-03 03:36  huhabla
+
+	* include/temporal.h: TGIS C-API modifications.
+
+2014-01-03 03:35  huhabla
+
+	* lib/temporal/lib/map_list.c: New TGIS C-API functions.
+
+2014-01-03 03:34  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/gui_support.py: Better performance of
+	  tgis.init() and code cleanup. Reduced number of external module
+	  calls.
+
+2014-01-02 21:45  neteler
+
+	* raster/r.reclass/r.reclass.html: r.reclass manual: added
+	  g.mremove trick (hint from Nikos Alexandris
+
+2014-01-02 14:27  neteler
+
+	* raster/r.to.vect/r.to.vect.html: r.to.vect manual: fixed feature=
+	  -> type=
+
+2014-01-02 13:53  neteler
+
+	* raster/wildfire/README: wildfire: update sample data URL
+
+2014-01-02 02:56  huhabla
+
+	* gui/wxpython/core/utils.py: Fixed wrongly placed os._exit() call,
+	  that prevents exit handler from work.
+	  The child should not call os._exit(), otherwise existing
+	  subprocesses will not
+	  terminated correctly. os._exit() should be called in the parent.
+
+2014-01-02 02:53  huhabla
+
+	* lib/python/pygrass/messages/__init__.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py, lib/python/temporal/register.py,
+	  lib/python/temporal/unittests_register.py: Better exit handling
+	  of messenger and C-interface subprocesses
+
+2014-01-02 01:44  annakrat
+
+	* gui/wxpython/animation/data.py, gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/provider.py,
+	  gui/wxpython/animation/temporal_manager.py: wxGUI/animation:
+	  remove redundant tgis.init() calls
+
+2014-01-01 21:57  annakrat
+
+	* gui/wxpython/animation/g.gui.animation.html: wxGUI/animation:
+	  update manual
+
+2014-01-01 20:57  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/data.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/provider.py,
+	  gui/wxpython/animation/utils.py: wxGUI/animation: add option to
+	  change region during animation (suggested by lucadelu and
+	  neteler)
+
+2014-01-01 19:54  huhabla
+
+	* lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/unittests_register.py: Fixed relative time
+	  converstion bug in the C-interface, fixed unit request in the
+	  register function, added more register unittests.
+
+2013-12-31 16:07  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: fix contextual menu for ModelComment object - set
+	  comments
+
+2013-12-31 15:44  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix handling
+	  ^Ction comments
+
+2013-12-31 15:41  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: show comments as
+	  DividedShape
+
+2013-12-31 14:34  neteler
+
+	* raster/r.viewshed/distribute.cpp: r.viewshed: update
+	  MAX_STREAMS_OPEN comment
+
+2013-12-31 02:41  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py, lib/python/temporal/register.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/unittests_register.py,
+	  lib/temporal/SQL/map_stds_register_table_template.sql,
+	  lib/temporal/SQL/map_tables_template.sql,
+	  lib/temporal/SQL/postgresql_delete_trigger.sql,
+	  lib/temporal/SQL/postgresql_indexes.sql,
+	  lib/temporal/SQL/raster3d_metadata_table.sql,
+	  lib/temporal/SQL/raster3d_views.sql,
+	  lib/temporal/SQL/raster_metadata_table.sql,
+	  lib/temporal/SQL/raster_views.sql,
+	  lib/temporal/SQL/sqlite3_delete_trigger.sql,
+	  lib/temporal/SQL/sqlite3_indexes.sql,
+	  lib/temporal/SQL/stds_map_register_table_template.sql,
+	  lib/temporal/SQL/stds_raster3d_register_trigger_template.sql,
+	  lib/temporal/SQL/stds_raster_register_trigger_template.sql,
+	  lib/temporal/SQL/stds_tables_template.sql,
+	  lib/temporal/SQL/stds_vector_register_trigger_template.sql,
+	  lib/temporal/SQL/str3ds_metadata_table.sql,
+	  lib/temporal/SQL/str3ds_views.sql,
+	  lib/temporal/SQL/strds_metadata_table.sql,
+	  lib/temporal/SQL/strds_views.sql,
+	  lib/temporal/SQL/stvds_metadata_table.sql,
+	  lib/temporal/SQL/stvds_views.sql,
+	  lib/temporal/SQL/test.temporal.py,
+	  lib/temporal/SQL/update_stds_spatial_temporal_extent_template.sql,
+	  lib/temporal/SQL/update_str3ds_metadata_template.sql,
+	  lib/temporal/SQL/vector_metadata_table.sql,
+	  lib/temporal/SQL/vector_views.sql, temporal/benchmark.sh,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/test.t.rast.import.relative.sh,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast3d.univar/test.t.rast3d.univar.sh,
+	  temporal/t.register/t.register.py,
+	  temporal/t.register/test.t.register.raster.file.timezone.sh,
+	  temporal/t.remove/t.remove.py, temporal/t.support/t.support.py,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.unregister/t.unregister.py: Modifications are:
+	  - Removed the creation of a register table for each registered
+	  map, which speeds things up massively
+	  - Added modification time to space time datasets
+	  - Added aggregation type to space time datasets that will be set
+	  by t.rast.aggregate
+	  - Keeping the SQL scripts as simple as possible
+	  - Removed foreign primary keys and created indexes for primary
+	  keys in sqlite3 (postgreql does this automagically)
+	  - Using delete trigger instead of foreign primary keys in
+	  postgresql backend
+	  - Removed unneeded SQL scripts
+	  - Using Python dateutil module for time string parsing if
+	  installed, or a much more simpler parser without time zone
+	  support
+	  - Added GRASS environmental variables to allow registration of
+	  maps from different mapsets in a space time dataset
+	  - Simplified code for map registration
+	  - Code cleanup ...
+
+2013-12-30 17:48  martinl
+
+	* gui/wxpython/xml/wxgui_items.xml: wxGUI: define more menu icons
+
+2013-12-30 17:36  martinl
+
+	* gui/wxpython/core/menutree.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/xml/menudata.README,
+	  gui/wxpython/xml/wxgui_items.xml: wxGUI/menu: add icon tag
+
+2013-12-30 12:51  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: fix draging
+	  objects
+
+2013-12-30 11:50  martinl
+
+	* gui/icons/grass/label-add.png: wxGUI: add missing icon
+
+2013-12-30 11:47  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: update _setPen for
+	  ModelData items
+
+2013-12-30 11:25  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: change pen style
+	  for disabled actions
+
+2013-12-30 11:21  martinl
+
+	* gui/wxpython/core/settings.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gmodeler/preferences.py,
+	  gui/wxpython/gmodeler/toolbars.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: implement
+	  new objects to hold comments
+
+2013-12-30 10:43  neteler
+
+	* temporal/temporalintro.html: temporalintro.html: TGRASS reference
+	  paper added
+
+2013-12-30 01:07  huhabla
+
+	* include/temporal.h: C-Interface design approach of the temporal
+	  framework
+
+2013-12-30 00:38  neteler
+
+	* raster/r.sun/TODO, raster/r.sun/r.sun.html: r.sun manual: update
+	  to NC dataset; TODO file updated
+
+2013-12-30 00:10  neteler
+
+	* raster/r.horizon/r.horizon.html,
+	  raster/r.horizon/rhorizon_shaded_dem_point.png,
+	  raster/r.horizon/rhorizon_singlepoint_plot.png,
+	  raster/r.horizon/rhorizon_testplot.sh: r.horizon manual:
+	  screenshots added; rhorizon_testplot.sh added
+
+2013-12-29 23:43  neteler
+
+	* raster/r.horizon/main.c, raster/r.horizon/r.horizon.html:
+	  r.horizon: added output parameter (CSV file) for single point
+	  mode
+
+2013-12-29 23:18  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/animation/temporal_manager.py,
+	  gui/wxpython/animation/toolbars.py,
+	  gui/wxpython/animation/utils.py, gui/wxpython/core/settings.py,
+	  gui/wxpython/lmgr/frame.py: wxGUI/animation: create application
+	  settings (bgcolor, time format)
+
+2013-12-29 23:09  neteler
+
+	* raster/r.horizon/TODO, raster/r.horizon/main.c,
+	  raster/r.horizon/r.horizon.html: r.horizon: added sanity check
+	  for dist parameter; fixed wrong user msg; format single point
+	  mode output as CSV; expand parameter names properly; update
+	  manual examples to NC
+
+2013-12-29 22:30  neteler
+
+	* display/d.vect/main.c, display/d.vect/vert.c,
+	  lib/vector/vedit/vertex.c: typo verteces -> vertices
+
+2013-12-29 21:47  neteler
+
+	* vector/v.edit/main.c, vector/v.to.points/main.c: v.edit,
+	  v.to.points manuals: add keywords node and vertex
+
+2013-12-29 15:43  neteler
+
+	* scripts/db.test/db.test.py: db.test: fix db.select call
+
+2013-12-29 04:35  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/data.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/nviztask.py,
+	  gui/wxpython/animation/provider.py,
+	  gui/wxpython/core/layerlist.py, gui/wxpython/core/workspace.py,
+	  gui/wxpython/lmgr/frame.py: wxGUI/animation: enable volume
+	  animation; volumes now saved also in workspace file
+
+2013-12-28 15:16  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix loop item
+	  definition
+	  fix condition objects
+
+2013-12-28 13:04  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI/modeler: set label and
+	  comment when adding new command to the model
+
+2013-12-27 16:53  neteler
+
+	* vector/v.extract/v.extract.html: Milena Nowotarska: update
+	  examples to NC dataset
+
+2013-12-27 02:45  annakrat
+
+	* gui/wxpython/mapswipe/g.gui.mapswipe.html: wxGUI/mapswipe: update
+	  man page
+
+2013-12-27 02:30  annakrat
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapswipe/dialogs.py, gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/mapswipe/toolbars.py: wxGUI/mapswipe: add
+	  preferences dialog to change mirrored cursor appearance
+
+2013-12-27 02:24  annakrat
+
+	* gui/wxpython/mapwin/analysis.py, gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/mapwin/graphics.py: wxGUI/mapwin: DrawCircle added
+	  and specify which coordinate type is to be used for GraphicsSet
+
+2013-12-26 22:22  neteler
+
+	* gui/wxpython/web_services/dialogs.py, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: wxGUI msg:
+	  fix typo
+
+2013-12-25 23:28  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix loop condtion
+	  handling for python editor
+
+2013-12-25 22:58  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix loop condition
+	  handling (quick fix, work in progress)
+
+2013-12-25 22:36  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: fix GetLabel() usage
+
+2013-12-25 20:17  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: other fixes
+	  related to labels
+
+2013-12-25 17:20  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py: wxGUI/modeler: synchronize model
+	  objects, text->label
+
+2013-12-25 16:59  martinl
+
+	* gui/wxpython/xml/grass-gxm.dtd: update grass-gxm.dtd (comment
+	  added)
+
+2013-12-25 16:57  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/psmap/frame.py:
+	  wxGUI/modeler+psmap: show separators
+
+2013-12-25 16:45  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: fix deleting
+	  objects by 'delete key'
+
+2013-12-25 16:30  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py:
+	  wxGUI/modeler: name->label (cosmetics)
+
+2013-12-25 16:23  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: implement comments #2148
+
+2013-12-25 09:31  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: fix handling model item labels
+	  write labels to model file
+
+2013-12-24 12:14  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI: fix usage
+	  GraphicalModelerGrassInterface for property dialogs
+
+2013-12-24 12:11  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: skip variables in
+	  model.GetMaps()
+
+2013-12-24 12:07  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/giface.py, gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gui_core/forms.py: wxGUI/modeler: implement
+	  GrassInterface class (just few issues related to forms.py)
+
+2013-12-24 11:13  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py:
+	  wxGUI/gmodeler: fix ModelListCtrl editable mode (variables)
+
+2013-12-23 16:31  annakrat
+
+	* vector/v.vol.rst/user1.c: v.vol.rst: finally fixed mask issue,
+	  although I still don't fully understand, see change between rev
+	  58477 and this one
+
+2013-12-23 16:13  neteler
+
+	* locale/po/grasslibs_pt.po, translators.csv: Luisa Teixeira: PT
+	  cont'ed
+
+2013-12-22 21:09  annakrat
+
+	* raster/simwe/r.sim.water/r.sim.water.html: simwe: update manual
+	  (for r58507)
+
+2013-12-22 21:04  annakrat
+
+	* raster/simwe/r.sim.water/main.c, raster/simwe/simlib/hydro.c,
+	  raster/simwe/simlib/output.c: simwe: write timestamps of output
+	  maps to simplify registering into temporal framework, use minutes
+	  instead of seconds as postfix of maps
+
+2013-12-22 08:35  hcho
+
+	* raster/r.topmodel/file_io.c: Removed double quotes around the
+	  study area name in output
+
+2013-12-22 08:32  hcho
+
+	* raster/r.topmodel/r.topmodel.html: minor text changes
+
+2013-12-22 08:30  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/global.h,
+	  raster/r.topmodel/main.c, raster/r.topmodel/r.topmodel.html,
+	  raster/r.topmodel/topmodel.c: Added dt, ntimesteps, and nch in
+	  output.
+	  Removed the obsflow parameter and let the user evaluate the model
+	  performance.
+
+2013-12-21 17:39  hcho
+
+	* raster/r.topmodel/file_io.c: Added ntimesteps in output
+
+2013-12-20 22:10  neteler
+
+	* raster/r.info/main.c: r.info: bugfix for title printing in -e
+	  output
+
+2013-12-20 22:09  neteler
+
+	* raster/r.info/main.c: r.info: also print
+	  source1,source2,description fields in extended metadata printing
+
+2013-12-20 17:49  neteler
+
+	* raster/r.external/r.external.html: r.external: merged in comments
+	  from grass-dev about NULL data handling
+
+2013-12-20 16:35  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/r.topmodel.html:
+	  Changed the format of the parameters and input files.
+	  ntimesteps removed from the input file and automatically
+	  determined.
+
+2013-12-19 23:46  wenzeslaus
+
+	* raster/r.external/r.external.html: r.external: update manual (see
+	  also), adding v.external omitted in r58492
+
+2013-12-19 15:17  martinl
+
+	* raster/r.external/r.external.html: r.external: update manual (see
+	  also)
+
+2013-12-19 08:25  martinl
+
+	* scripts/r.pack/r.pack.html: r.pack: authors cosmetics (manual)
+
+2013-12-19 03:53  annakrat
+
+	* gui/wxpython/vnet/vnet_data.py: wxGUI/vnet: fix #2145
+
+2013-12-19 02:59  annakrat
+
+	* gui/wxpython/gui_core/simplelmgr.py: wxGUI/simplelmgr: copy
+	  layers to clipboard
+
+2013-12-18 22:02  wenzeslaus
+
+	* REQUIREMENTS.html, macosx/pkg/resources/ReadMe.rtf,
+	  man/build_html.py, man/build_rest.py, tools/module_synopsis.sh,
+	  visualization/Makefile: xganim: removing xganim from Makefile and
+	  other places (following r58484)
+
+2013-12-18 22:00  annakrat
+
+	* vector/v.vol.rst/user1.c: v.vol.rst: fix r58478 - flip rows for
+	  mask only
+
+2013-12-18 21:35  wenzeslaus
+
+	* visualization/xganim: xganim: removing xganim (replaced by
+	  g.gui.animation, motivation: it does not compile with clang)
+
+2013-12-17 21:29  martinl
+
+	* imagery/i.segment/create_isegs.c,
+	  imagery/i.segment/i.segment.html, imagery/i.segment/open_files.c,
+	  imagery/i.segment/ortho_segs_final.jpg,
+	  imagery/i.segment/ortho_segs_l1.jpg,
+	  imagery/i.segment/ortho_segs_l2_l5.jpg,
+	  imagery/i.segment/write_output.c: i.segment: fix G_percent()
+	  usage
+	  message cosmetics
+	  update manual + add screenshots
+
+2013-12-17 15:21  annakrat
+
+	* vector/v.vol.rst/user1.c: v.vol.rst: fixed masking with 2D
+	  raster: mask rows were intentionally flipped, reason unknown, it
+	  does not seem to be related to changes for #1389 (major g3d lib
+	  review in G7) because the same problem is in G64.
+
+2013-12-16 18:33  wenzeslaus
+
+	* gui/wxpython/iclass/toolbars.py: wxGUI/iclass: fixing typo in
+	  toolbar label (from r58468)
+
+2013-12-16 12:07  martinl
+
+	* gui/wxpython/vdigit/wxdisplay.py: wxGUI: be less verbose
+
+2013-12-16 12:00  martinl
+
+	* gui/wxpython/mapswipe/mapwindow.py: wxGUI/mapswipe: define
+	  default background color for map name labels
+
+2013-12-16 11:59  martinl
+
+	* gui/wxpython/mapwin/buffered.py: wxGUI/mapwindow: support
+	  background color for text overlays
+
+2013-12-16 11:29  martinl
+
+	* imagery/i.cluster/main.c: i.cluster: define gisprompt for seeds
+
+2013-12-16 11:28  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix dialogs with
+	  more signature file params (i.cluster)
+
+2013-12-16 11:09  turek
+
+	* gui/wxpython/iscatt/plots.py: wx.iscatt: zoom to rectangle fix
+
+2013-12-16 10:30  martinl
+
+	* gui/wxpython/iscatt/dialogs.py: wxGUI/iscatt: dialog layout
+	  cosmetics
+
+2013-12-16 10:22  martinl
+
+	* gui/wxpython/iclass/toolbars.py: wxGUI/iclass: improve labels
+	  (cosmetics)
+
+2013-12-16 10:18  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: get sorted list of
+	  maps from subgroup
+
+2013-12-15 14:48  mmetz
+
+	* raster/r.to.vect/areas_io.c: r.to.vect: fix G_percent() usage
+
+2013-12-14 22:36  neteler
+
+	* db/db.connect/db.connect.html: db.connect.html: explain dbname
+	  parameter
+
+2013-12-14 14:33  glynn
+
+	* imagery/i.atcorr/GeomCond.cpp, imagery/i.atcorr/common.h:
+	  Eliminate "using namespace std"
+
+2013-12-14 14:23  glynn
+
+	* lib/iostream/mm.cpp, lib/iostream/mm_utils.cpp: Remove remaining
+	  "using namespace std" cases
+
+2013-12-13 19:48  annakrat
+
+	* misc/m.nviz.image/args.c, misc/m.nviz.image/local_proto.h,
+	  misc/m.nviz.image/volume.c: m.nviz.image: added flag to draw
+	  volume box
+
+2013-12-13 12:10  glynn
+
+	* include/iostream/ami_stream.h, include/iostream/empq_impl.h,
+	  include/iostream/mem_stream.h, include/iostream/minmaxheap.h,
+	  include/iostream/queue.h, raster/r.terraflow/3scan.h,
+	  raster/r.terraflow/ccforest.h, raster/r.terraflow/common.cpp,
+	  raster/r.terraflow/common.h, raster/r.terraflow/direction.cpp,
+	  raster/r.terraflow/direction.h, raster/r.terraflow/nodata.cpp,
+	  raster/r.terraflow/nodata.h, raster/r.terraflow/sortutils.h,
+	  raster/r.terraflow/stats.h, raster/r.terraflow/streamutils.h,
+	  raster/r.terraflow/types.cpp, raster/r.terraflow/types.h,
+	  raster/r.terraflow/unionFind.h, raster/r.terraflow/water.cpp,
+	  raster/r.viewshed/rbbst.cpp, raster/r.viewshed/rbbst.h,
+	  raster/r.viewshed/statusstructure.cpp,
+	  raster/r.viewshed/statusstructure.h: Eliminate "using namespace
+	  std"
+
+2013-12-12 10:09  turek
+
+	* gui/wxpython/iscatt/core_c.py,
+	  gui/wxpython/iscatt/iscatt_core.py, gui/wxpython/iscatt/plots.py:
+	  wx.iscatt: workaround for non pickability of memmap in older
+	  numpy versions
+
+2013-12-12 09:45  mmetz
+
+	* lib/gis/token.c: libgis: revert r58417
+
+2013-12-12 07:49  lucadelu
+
+	* lib/python/pygrass/vector/table.py: add default values to Link
+	  object
+
+2013-12-11 23:41  martinl
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/local_proto.h,
+	  vector/v.out.ogr/main.c: v.out.ogr: replace -p flag with
+	  `otype=boundary`
+
+2013-12-11 23:33  martinl
+
+	* vector/v.out.ogr/v.out.ogr.html: v.out.ogr: wording
+
+2013-12-11 23:28  lucadelu
+
+	* lib/python/pygrass/vector/table.py: fix to small bug on dblinks
+
+2013-12-11 23:22  martinl
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/attrb.c,
+	  vector/v.out.ogr/create.c, vector/v.out.ogr/export_areas.c,
+	  vector/v.out.ogr/export_lines.c, vector/v.out.ogr/local_proto.h,
+	  vector/v.out.ogr/main.c, vector/v.out.ogr/v.out.ogr.html:
+	  v.out.ogr: implement multi-feature support
+
+2013-12-11 20:21  martinl
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/iclass/toolbars.py:
+	  wxGUI/iclass: add zoom to region icon to the toolbar
+
+2013-12-11 20:14  martinl
+
+	* gui/icons/grass/zoom-region.png,
+	  gui/wxpython/gui_core/toolbars.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/toolbars.py: wxGUI: zoom to region icon
+	  added to the map display
+
+2013-12-11 19:58  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: no attribute dialog
+	  when area is not closed
+
+2013-12-11 19:47  martinl
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI/vdigit: fix switching area
+	  tools
+
+2013-12-11 19:35  martinl
+
+	* gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/g.gui.iclass.py: g.gui.iclass: fix setting
+	  group/subgroup from cli
+
+2013-12-10 21:54  wenzeslaus
+
+	* raster/r.terraflow/r.terraflow.html,
+	  raster/r.terraflow/rterraflow_accumulation.png,
+	  raster/r.viewshed/r.viewshed.html,
+	  raster/r.viewshed/r.viewshed.png: r.vievshed and r.terraflow: NC
+	  example to manual and image to manual
+
+2013-12-10 17:59  annakrat
+
+	* gui/wxpython/tools/build_modules_xml.py: wxGUI: workaround for
+	  gui toolboxes compilation (g.version -r crashes and menu is not
+	  generated)
+
+2013-12-10 17:32  martinl
+
+	* lib/gis/token.c: libgis: partially revert r58417
+
+2013-12-10 17:21  wenzeslaus
+
+	* include/bitmap.h, include/defs/dig_atts.h,
+	  include/vect/dig_structs.h, ps/ps.map/local_proto.h: diglib and
+	  ps.map: removing _STDIO_H preprocessor ifndefs and ifdef because
+	  they break compilation with clang (LLVM) on Mac OS X Mavericks‎
+	  where _STDIO_H define is not defined (we suppose to have stdio
+	  always so there is no point in checking it and this define is not
+	  a part of standard library interface)
+
+2013-12-10 16:50  wenzeslaus
+
+	* raster/r.terraflow/direction.cpp, raster/r.terraflow/nodata.cpp,
+	  raster/r.terraflow/nodata.h, raster/r.viewshed/rbbst.cpp,
+	  raster/r.viewshed/rbbst.h, raster/r.viewshed/statusstructure.cpp,
+	  raster/r.viewshed/statusstructure.h: r.terraflow and r.viewshed:
+	  using longer names instead of function overloading to fix
+	  compilation error with C++11 (reference to is_empty/is_void is
+	  ambiguous)
+
+2013-12-10 15:39  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py: wxGUI/animation: center
+	  dialogs on parent
+
+2013-12-09 20:10  neteler
+
+	* gui/wxpython/docs/wxGUI.components.html: wxGUI.components manual:
+	  g.gui.rlisetup added; HTML cosmetics
+
+2013-12-09 16:34  martinl
+
+	* gui/wxpython/iclass/toolbars.py: wxGUI/iclass: wording
+
+2013-12-09 12:26  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/iclass/dialogs.py:
+	  wxGUI/iclass: clean-up IClassGroupDialog layout
+
+2013-12-09 12:00  martinl
+
+	* gui/wxpython/core/giface.py: wxGUI: add GetLayerTree() to
+	  StandaloneGrassInterface
+
+2013-12-09 11:57  martinl
+
+	* gui/wxpython/vdigit/mapwindow.py: wxGUI/vdigit: fix add vertex
+	  tool
+
+2013-12-09 11:53  martinl
+
+	* gui/wxpython/gui_core/toolbars.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI/vdigit: toolbar cosmetics
+
+2013-12-09 10:48  martinl
+
+	* lib/vector/vedit/render.c: veditlib: revert r58420
+
+2013-12-09 10:46  martinl
+
+	* gui/wxpython/vdigit/wxdisplay.py: wxGUI/vdigit: fix selecting
+	  areas
+
+2013-12-09 00:59  martinl
+
+	* gui/wxpython/vdigit/mapwindow.py: wxGUI: remove unused import
+
+2013-12-09 00:58  martinl
+
+	* lib/vector/vedit/render.c: veditlib: Vedit_render_map() centroid
+	  as fid for areas
+
+2013-12-09 00:57  martinl
+
+	* gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/wxdisplay.py: wxGUI/vdigit: fix deleting
+	  areas
+
+2013-12-08 23:13  martinl
+
+	* raster/r.in.xyz/main.c: r.in.xyz: description cosmetics, fix
+	  compiler warning (cosmetics)
+
+2013-12-08 23:05  martinl
+
+	* lib/gis/token.c: libgis: tokenize string using strtok()
+
+2013-12-08 21:58  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix overwrite flag
+	  from settings
+
+2013-12-08 21:51  martinl
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/gui_core/forms.py:
+	  wxGUI: re-render display when mask set
+
+2013-12-08 21:49  mmetz
+
+	* vector/v.outlier/main.c, vector/v.outlier/outlier.c,
+	  vector/v.outlier/outlier.h, vector/v.outlier/v.outlier.html:
+	  v.outlier: add option to filter out only positive or negative
+	  outliers
+
+2013-12-08 21:25  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: enlarge about window
+
+2013-12-08 21:21  martinl
+
+	* gui/wxpython/web_services/dialogs.py: wxGUI/save wms dialog:
+	  cosmetics in terminology
+
+2013-12-08 20:54  martinl
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI: do not switch tabs when
+	  stop editing
+
+2013-12-08 20:48  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: start/stop editing menu
+	  item cosmetics
+
+2013-12-08 20:39  martinl
+
+	* gui/icons/grass/layer-info.png, gui/icons/grass/polygon.png,
+	  gui/icons/grass/raster-stats.png, gui/icons/grass/region.png,
+	  gui/icons/grass/zoom-layer.png, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: define icons for layer contextual menu
+
+2013-12-08 20:23  mmetz
+
+	* raster/r.stream.extract/main.c: r.stream.extract: fix typo in
+	  description
+
+2013-12-07 23:14  hcho
+
+	* raster/r.topidx/r.topidx.html, raster/r.topmodel/r.topmodel.html:
+	  Added a reference
+
+2013-12-07 23:11  hcho
+
+	* raster/r.topmodel/r.topmodel.html: Added a reference
+
+2013-12-07 23:04  hcho
+
+	* raster/r.topmodel/r.topmodel.html: minor text
+
+2013-12-07 23:00  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/r.topmodel.html:
+	  Added more information about the parameters and input files
+
+2013-12-06 22:32  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/cindex.c: vlib: implement
+	  Vect_cidx_get_unique_cats_by_index()
+
+2013-12-06 18:59  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/utils.py: wxGUI/animation: autodetect
+	  number of CPUs
+
+2013-12-06 16:41  martinl
+
+	* lib/vector/Vlib/cindex.c: vlib: update cindex.c doxygen
+	  documentation
+	  check_index() added (cosmetics)
+
+2013-12-06 16:24  martinl
+
+	* raster/r.report/parse.c, raster/r.stats/main.c: r.stats/r.report:
+	  synchronize description of -n/N flags
+
+2013-12-06 16:20  martinl
+
+	* raster/r.report/global.h, raster/r.report/main.c,
+	  raster/r.report/parse.c, raster/r.report/r.report.html,
+	  raster/r.report/stats.c: r.report: implemente 'sort' parameter
+	  major update of manual page
+	  guisection cosmetics
+
+2013-12-06 16:16  martinl
+
+	* raster/r.stats/main.c: r.stats: NULL -> no-data (cosmetics)
+
+2013-12-06 15:24  martinl
+
+	* raster/r.stats/main.c: r.stats: reorder options + add more
+	  guisections (cosmetics)
+
+2013-12-06 15:06  martinl
+
+	* raster/r.stats/cell_stats.c, raster/r.stats/global.h,
+	  raster/r.stats/main.c, raster/r.stats/r.stats.html,
+	  raster/r.stats/stats.c: r.stats: implement 'sort' parameter
+	  update manual page, add examples
+	  use G_option_to_separator()
+
+2013-12-05 18:43  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/pg: fix writing attributes
+
+2013-12-05 18:42  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib/pg: mark category as up-to-date
+	  (build from topo)
+
+2013-12-05 18:41  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: enable creating empty OGR
+	  layers
+
+2013-12-05 18:34  martinl
+
+	* vector/v.out.ogr/attrb.c: v.out.ogr: fix exporting features with
+	  no category
+
+2013-12-05 18:28  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: clarify warning message about
+	  skipped features without category
+
+2013-12-05 11:23  turek
+
+	* gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/modules/colorrules.py: vector colors dialog fix
+
+2013-12-05 08:14  lucadelu
+
+	* imagery/i.vi/gari.c, imagery/i.vi/i.vi.html: update GARI formula
+
+2013-12-04 23:28  annakrat
+
+	* gui/wxpython/core/layerlist.py: wxGUI: fix LayerList for vectors
+
+2013-12-04 22:34  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/pg: support SF_UNKNOWN (for
+	  empty layers)
+
+2013-12-04 17:14  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/factory.py,
+	  lib/python/temporal/list_stds.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/spatial_topology_dataset_connector.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_topology_dataset_connector.py,
+	  lib/python/temporal/univar_statistics.py: Using the PyGRASS
+	  message interface for all API functions.
+
+2013-12-04 15:19  lucadelu
+
+	* lib/python/pygrass/vector/table.py: add group by option in the
+	  Filters class
+
+2013-12-04 11:19  huhabla
+
+	* lib/python/temporal/mapcalc.py: Fixed wrong import.
+
+2013-12-04 10:11  martinl
+
+	* display/d.mon/main.c, display/d.mon/proto.h,
+	  display/d.mon/start.c: d.mon: implement `resolution` parameter
+	  (similar to d.out.file in G6)
+
+2013-12-04 00:55  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/list.py,
+	  lib/python/temporal/list_stds.py, lib/python/temporal/open.py,
+	  lib/python/temporal/open_stds.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/unittests_register.py,
+	  lib/python/temporal/univar_statistics.py: Better Python file
+	  naming. New unittests to test the map register function
+	  in register.py. Fixes for map registration bugs with relative
+	  time
+	  reported by Vaclav.
+
+2013-12-03 21:34  neteler
+
+	* scripts/r.out.xyz/r.out.xyz.html, scripts/r.out.xyz/r.out.xyz.py:
+	  r.out.xyz: added support for multiple file export, example added
+	  (with support of Vincent Bain)
+
+2013-12-03 18:44  hcho
+
+	* raster/r.topmodel/topmodel.c: Renamed variables
+
+2013-12-03 18:16  neteler
+
+	* locale/po/grassmods_es.po, locale/po/grasswxpy_es.po: i18N ES:
+	  zum -> zoom (suggested by C. A. Ramírez Franco); sync with
+	  relbranch
+
+2013-12-03 15:23  annakrat
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/simplelmgr.py: wxGUI/animation: fix
+	  (workaround) for mysterious gui segfault when modules dialogs
+	  were hidden and not destroyed in SimpleLayerManager
+
+2013-12-03 15:08  huhabla
+
+	* lib/python/temporal/core.py, lib/python/temporal/register.py:
+	  Using the the message interface in register.py.
+
+2013-12-03 13:45  wenzeslaus
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: escaping (all)
+	  characters for XML using Python saxutils (fixes #1791)
+
+2013-12-03 12:02  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/copy.c: vlib/pg: fix
+	  creating simple features from topo - force level 2 and write also
+	  polygons without category
+
+2013-12-03 11:47  huhabla
+
+	* lib/python/pygrass/messages/__init__.py: Implemented fatal
+	  function the emulates the behavior of G_fatal_error(),
+	  but can also raise a FatalError exception.
+
+2013-12-03 11:22  neteler
+
+	* vector/v.vol.rst/v.vol.rst.html: v.vol.rst manual: example
+	  cosmetics
+
+2013-12-03 10:48  martinl
+
+	* vector/v.external.out/link.c,
+	  vector/v.external.out/v.external.out.html: v.external.out:
+	  document option=simple_feature=yes
+
+2013-12-03 10:47  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/build_sfa.c,
+	  lib/vector/Vlib/copy.c, lib/vector/Vlib/local_proto.h,
+	  lib/vector/Vlib/pg_local_proto.h, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/write_pg.c: vlib/pg: implement creating simple
+	  features from topogeometry data
+
+2013-12-02 19:05  martinl
+
+	* lib/vector/Vlib/open.c: vlib: fix compilation issue (no pg
+	  support)
+
+2013-12-02 19:00  martinl
+
+	* vector/v.in.region/main.c: v.in.region: set category also for
+	  boundaries
+
+2013-12-02 18:57  martinl
+
+	* display/d.vect/d.vect.html, display/d.vect/main.c: d.vect:
+	  attrcolumn renamed to attribute_column (old name still works)
+
+2013-12-02 18:52  martinl
+
+	* display/d.vect/d.vect.html, display/d.vect/main.c: d.vect: update
+	  manual (display=attr) removed
+
+2013-12-02 18:47  martinl
+
+	* display/d.vect/main.c, display/d.vect/opt.c,
+	  display/d.vect/plot.h: d.vect: remove `display=attr` attributes
+	  are display when `attrcol` is given
+
+2013-12-02 18:44  martinl
+
+	* display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/opt.c, display/d.vect/plot.h,
+	  display/d.vect/vert.c: d.vect: add option to display vertices
+	  (`display=vert`)
+
+2013-12-02 18:04  martinl
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/pg_local_proto.h,
+	  lib/vector/Vlib/read_pg.c, lib/vector/Vlib/write_pg.c: vlib/pg:
+	  fix adding new features into PostGIS Topology
+
+2013-12-02 17:57  martinl
+
+	* lib/vector/Vlib/close.c: vlib: cosmetics when closing spatial
+	  index file
+
+2013-12-02 17:11  annakrat
+
+	* gui/wxpython/animation/provider.py: wxGUI/animation: processes
+	  must be functions not methods
+
+2013-12-02 04:40  annakrat
+
+	* gui/wxpython/animation/utils.py: wxGUI/animation: fix removing
+	  wrong files
+
+2013-12-01 23:34  annakrat
+
+	* gui/wxpython/animation/g.gui.animation.html: wxGUI/animation:
+	  update manual
+
+2013-12-01 19:48  annakrat
+
+	* gui/wxpython/animation/provider.py,
+	  gui/wxpython/core/layerlist.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/workspace.py, gui/wxpython/dbmgr/base.py,
+	  gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/simplelmgr.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/vdigit/toolbars.py:
+	  wxGUI: unify opacity values to range <0; 1>
+
+2013-12-01 03:49  annakrat
+
+	* gui/wxpython/core/render.py: wxGUI: fix legend image cropping for
+	  png driver
+
+2013-12-01 03:46  annakrat
+
+	* gui/icons/grass/mapset-add.png,
+	  gui/wxpython/animation/__init__.py,
+	  gui/wxpython/animation/anim.py,
+	  gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/data.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/animation/mapwindow.py,
+	  gui/wxpython/animation/nviztask.py,
+	  gui/wxpython/animation/provider.py,
+	  gui/wxpython/animation/temporal_manager.py,
+	  gui/wxpython/animation/toolbars.py,
+	  gui/wxpython/animation/utils.py, gui/wxpython/core/layerlist.py,
+	  gui/wxpython/gui_core/simplelmgr.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/animation: adding support for multiple base layers/series;
+	  pep8 compliance
+
+2013-11-30 19:48  hcho
+
+	* raster/r.topidx/r.topidx.html, raster/r.topmodel/r.topmodel.html:
+	  Updated links.
+
+2013-11-30 18:09  mmetz
+
+	* lib/vector/Vlib/merge_lines.c: Vlib: merge only lines or
+	  boundaries
+
+2013-11-30 16:47  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: break lines only for lines
+	  or boundaries
+
+2013-11-30 13:41  glynn
+
+	* general/g.parser/g.parser.html, general/g.parser/main.c,
+	  general/g.parser/parse.c, general/g.parser/proto.h,
+	  lib/python/script/core.py: Deal with newlines in option values
+	  (issue #2139)
+
+2013-11-30 12:11  martinl
+
+	* vector/v.clean/main.c: v.clean: cosmetics in option description
+
+2013-11-30 08:34  martinl
+
+	* vector/v.clean/main.c: v.clean: remove redundant message
+	  (cosmetics)
+
+2013-11-30 08:33  martinl
+
+	* vector/v.clean/main.c: v.clean: use error handlers to clean up
+	  when fails
+
+2013-11-29 19:53  martinl
+
+	* lib/python/script/vector.py: pythonlib: fix vector_what() for
+	  case when one of the attributes is 'Layer'
+	  TODO: it would be nice if v.what would produce parsable format
+	  (eg. XML)
+
+2013-11-29 17:29  martinl
+
+	* lib/vector/Vlib/build.c: vlib: set level2 only when built level
+	  >= GV_BUILD_NONE
+	  remove unused variables
+
+2013-11-29 17:28  martinl
+
+	* lib/vector/Vlib/build_pg.c: vlib/pg: force GV_BUILD_NONE level
+	  when cache is empty
+
+2013-11-29 13:58  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: check if addons are in the
+	  path
+
+2013-11-29 13:29  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: avoid double-rendering when
+	  loading workspace
+
+2013-11-29 13:00  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: avoid double rendering on
+	  auto-zoom to the first layer
+
+2013-11-29 12:35  martinl
+
+	* lib/vector/Vlib/open_pg.c, lib/vector/diglib/frmt.c: vlib/pg: fix
+	  fid_column usage in several SQL statements
+
+2013-11-29 12:16  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib/pg: fix remaining issues in SQL
+	  statements related to the schema name
+
+2013-11-29 11:34  martinl
+
+	* vector/v.out.postgis/v.out.postgis.html: v.out.postgis: update
+	  manual - add link to wiki page
+
+2013-11-29 11:29  martinl
+
+	* lib/vector/Vlib/read_pg.c, lib/vector/Vlib/write_pg.c: vlib/pg:
+	  fix issues in SQL statements related to the schema name
+
+2013-11-29 09:43  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/pg_local_proto.h: vlib/pg: fix clean-up GRASS DB
+	  topology tables in full mode
+
+2013-11-29 08:27  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/close_pg.c, lib/vector/Vlib/local_proto.h,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/pg_local_proto.h, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/rewind_pg.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_pg.c: vlib/pg: fix building PostGIS
+	  Topology in update mode (line deleted)
+	  add 'line' topo DB table into topology schema (full mode only)
+	  various related fixes and improvements
+	  (work in progress)
+
+2013-11-28 16:32  hcho
+
+	* raster/r.topmodel/file_io.c: nch parameter now automatically
+	  determined from the number of distance increments to avoid
+	  mistakes
+
+2013-11-28 16:05  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/global.h,
+	  raster/r.topmodel/main.c, raster/r.topmodel/r.topmodel.html,
+	  raster/r.topmodel/topmodel.c: Renamed qobs to obsflow
+
+2013-11-27 21:00  neteler
+
+	* general/g.parser, general/g.parser/g.parser.html,
+	  general/g.parser/g_parser_test.png: g.parser manual: GUI window
+	  screenshot added to example
+
+2013-11-27 03:58  annakrat
+
+	* gui/wxpython/mapswipe/frame.py: wxGUI/mapswipe: fix launching
+	  from menu when maps are selected in lmgr
+
+2013-11-26 22:08  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/pg: do not change constrains to
+	  deferrable in topo_geo_only mode
+
+2013-11-26 20:43  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/write_pg.c: vlib/pg: speed-up topology building -
+	  make all constraints deferrable
+
+2013-11-26 14:17  mmetz
+
+	* vector/v.category/main.c: v.category: do not add new centroids by
+	  default
+
+2013-11-26 09:44  mmetz
+
+	* imagery/i.pca/main.c, raster/r.texture/main.c: i.pca/r.texture:
+	  add --overwrite flag for output prefix
+
+2013-11-25 21:59  martinl
+
+	* vector/v.out.postgis/create.c: v.out.postgis: replace
+	  setenv()/unsetenv() by portable putenv()
+
+2013-11-25 21:23  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: fix
+	  GetFeatureType() for PostGIS Topology
+
+2013-11-25 20:23  mmetz
+
+	* lib/gis/key_value3.c: libgis: be more verbose when opening a file
+	  fails
+
+2013-11-25 19:54  martinl
+
+	* vector/v.info/print.c: v.info: use Vect_get_finfo_topology_info()
+
+2013-11-25 19:53  martinl
+
+	* include/defs/vector.h, include/vect/dig_defines.h,
+	  lib/vector/Vlib/header_finfo.c: vlib:
+	  Vect_get_finfo_topology_info() added
+
+2013-11-25 19:50  mmetz
+
+	* raster/r.out.gdal/export_band.c, raster/r.out.gdal/main.c:
+	  r.out.gdal: close raster band after range check
+
+2013-11-25 15:34  mmetz
+
+	* raster/r.out.gdal/export_band.c: r.out.gdal: close raster after
+	  export
+
+2013-11-25 13:10  martinl
+
+	* display/d.mon/Makefile, display/d.mon/main.c: d.mon: change -r
+	  flag - release and *stop* currently selected monitor
+	  add -u flag to open output file in update mode, otherwise output
+	  file is simply overwritten
+
+2013-11-25 10:48  martinl
+
+	* db/drivers/postgres/listtab.c: db-pg: fix
+	  db__driver_list_tables() for tables which contain 'pg_' in the
+	  name
+
+2013-11-25 10:30  lucadelu
+
+	* temporal/t.rast.univar/t.rast.univar.html: update t.rast.univar
+	  documentation
+
+2013-11-25 10:26  martinl
+
+	* lib/vector/Vlib/build_pg.c: vlib/pg: message cosmetics
+
+2013-11-25 10:06  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/read_pg.c: vlib/pg: fix sequatial access when
+	  features cached
+	  update category index
+
+2013-11-25 10:05  martinl
+
+	* vector/v.out.postgis/main.c: v.out.postgis: build from scratch,
+	  fix message
+
+2013-11-24 21:01  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: comment-out not-finished
+	  functionality
+
+2013-11-24 19:41  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass7: enable PostgreSQL
+	  support
+
+2013-11-24 19:11  martinl
+
+	* lib/imagery/iscatt_core.c, vector/v.to.points/write.c: add
+	  missing header when compiled without GDAL and PostgreSQL support
+
+2013-11-24 19:04  martinl
+
+	* lib/vector/Vlib/read_pg.c, lib/vector/Vlib/rewind_pg.c: vlib: fix
+	  compilation issue when configured without GDAL
+
+2013-11-24 18:47  martinl
+
+	* lib/vector/Vlib/local_proto.h, lib/vector/Vlib/pg_local_proto.h:
+	  vlib: fix compilation issue when configures without PostgreSQL
+	  support
+
+2013-11-24 18:01  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix auto-zooming when
+	  first layer is added to the layer tree
+
+2013-11-24 17:18  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib(pg): fix typo in SQL statement
+
+2013-11-24 16:26  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/area.c,
+	  lib/vector/Vlib/build_pg.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/close_pg.c,
+	  lib/vector/Vlib/local_proto.h, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/pg_local_proto.h, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/rewind_pg.c: vlib/pg: speed up PostGIS Topology
+	  by caching lines (experimental, work in progress)
+
+2013-11-24 15:46  martinl
+
+	* display/d.vect/area.c: d.vect: clarify warning message (invalid
+	  area)
+
+2013-11-24 02:27  hamish
+
+	* vector/v.what.rast/main.c: simplify V_open call
+
+2013-11-23 01:26  hamish
+
+	* vector/v.what.rast/main.c: vector map does not need to be in the
+	  current mapset if the print flag is used (r58265 broke it for
+	  vect maps in the search path given without an explicit @mapset
+	  part); only report DB select count when DB is used
+
+2013-11-22 19:31  martinl
+
+	* lib/vector/Vlib/area_pg.c: vlib/pg: fix
+	  Vect__get_area_points_pg()
+
+2013-11-22 16:46  martinl
+
+	* lib/vector/Vlib/open_pg.c, lib/vector/Vlib/read_pg.c: vlib/pg:
+	  fix reading categories for centroids
+
+2013-11-22 15:54  annakrat
+
+	* REQUIREMENTS.html, gui/wxpython/README: updated requirements for
+	  PIL
+
+2013-11-22 15:28  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: show progressbar and stop
+	  button when the module starts (fix for #2137)
+
+2013-11-22 13:58  martinl
+
+	* scripts/r.fillnulls/r.fillnulls.html,
+	  scripts/r.fillnulls/r.fillnulls.py: r.fillnulls: update manual
+	  (new methods)
+
+2013-11-22 05:19  wenzeslaus
+
+	* raster/r.proj/main.c, vector/v.proj/main.c: r.proj, v.proj:
+	  better option description (maps are only from mapset, coordinates
+	  without dash)
+
+2013-11-21 22:30  neteler
+
+	* locale/po/grasslibs_ro.po, translators.csv: Dana Grad: Romanian
+	  translation cont'ed
+
+2013-11-21 22:12  neteler
+
+	* imagery/i.landsat.toar/landsat_met.c: i.landsat.toar: fixes for
+	  Landsat-8 metadata file support (author: E. Jorge Tizado)
+
+2013-11-21 21:32  neteler
+
+	* scripts/i.pansharpen/i.pansharpen.py: i.pansharpen: fix overwrite
+	  flag handling
+
+2013-11-21 21:27  neteler
+
+	* scripts/i.pansharpen/i.pansharpen.py: i.pansharpen: fix msg typo
+
+2013-11-21 19:55  wenzeslaus
+
+	* raster/simwe/simlib/waterglobs.h: r.sim.*: increasing number of
+	  walkers (revert r56935)
+	  
+	  
+	  it seems that memory is not an issue but the small number of
+	  workers is
+
+2013-11-21 15:53  lucadelu
+
+	* locale/po/grassmods_it.po: Anna Zanchetta: translation cont'ed
+
+2013-11-21 15:30  martinl
+
+	* vector/v.what.rast/main.c: v.what.rast: vector map must be in the
+	  current mapset
+
+2013-11-21 15:18  martinl
+
+	* vector/v.surf.bspline/v.surf.bspline.html: v.surf.bspline: update
+	  manual (-z flag removed)
+
+2013-11-21 15:13  martinl
+
+	* vector/v.surf.bspline/main.c: v.surf.bspline: remove -z flag,
+	  synchronized with v.surf.rst
+
+2013-11-21 08:34  hamish
+
+	* vector/v.what.rast/main.c: fixes for print flag: vect map doesn't
+	  need to be in current mapset, and doesn't need to have a DB
+
+2013-11-20 20:22  mmetz
+
+	* vector/v.category/main.c: v.category: improve r58202
+
+2013-11-19 16:27  neteler
+
+	* gui/wxpython/animation/g.gui.animation.py: g.gui.animation: typo
+	  fix in module description
+
+2013-11-19 16:01  annakrat
+
+	* gui/wxpython/animation/controller.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/mapwin/decorations.py: wxGUI: handle case when PIL
+	  is missing for decorations and add warning
+
+2013-11-19 14:08  martinl
+
+	* gui/wxpython/gui_core/prompt.py: wxGUI: don't fail when
+	  addon_path contains files with non-ascii characters (TODO: fix
+	  it, now the problem is just reported)
+
+2013-11-19 13:30  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: close current workspace and
+	  create new one when creating new location
+
+2013-11-18 23:35  neteler
+
+	* raster/r.what/main.c, raster/r.what/r.what.html: r.what: file
+	  output parameter added (from r.stats) incl. example
+
+2013-11-18 23:32  neteler
+
+	* raster/r.what/r.what.html: r.what manual: examples rewritten to
+	  North Carolina
+
+2013-11-18 21:42  neteler
+
+	* gui/wxpython/animation/g.gui.animation.html: g.gui.animation
+	  manual: added example with extended regular expressions
+
+2013-11-18 13:40  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: check if export modules
+	  are available (vector contextual menu)
+
+2013-11-18 00:26  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/c_libraries_interface.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets.py: New G_fatal_error()
+	  safe C-libraries interface to access C-functions via ctypes
+	  implemented
+	  to reduce the use of ctype functions in the temporal framework.
+
+2013-11-17 18:22  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib/pg: fix typo in sql statement
+	  (getting 0D topological elements in random order)
+
+2013-11-17 18:20  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib/pg: fix error_tuples()
+
+2013-11-17 17:59  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/read_pg.c: vlib/pg: fix reading categories from
+	  PostGIS Topology (work in progress)
+
+2013-11-17 17:58  martinl
+
+	* display/d.vect/label.c: d.vect: fix reading centroids from
+	  PostGIS Topology
+
+2013-11-17 11:10  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix producing external formats
+
+2013-11-17 11:08  martinl
+
+	* lib/vector/Vlib/copy.c: vlib/pg: fix copying map features for
+	  external formats when using temporary maps
+
+2013-11-17 00:29  neteler
+
+	* raster/r.neighbors/r.neighbors.html: r.neighbors manual: weight
+	  explanations from glynnc on ML added
+
+2013-11-16 18:55  turek
+
+	* gui/wxpython/iscatt/controllers.py: wx.iscatt: show right name of
+	  raster in warning
+
+2013-11-16 18:46  turek
+
+	* gui/wxpython/iscatt/controllers.py,
+	  gui/wxpython/iscatt/dialogs.py,
+	  gui/wxpython/iscatt/iscatt_core.py: wx.iscatt: checks for input
+	  data
+
+2013-11-16 18:12  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib/pg: check also topology extension
+	  when required
+
+2013-11-16 17:19  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib/pg: check if DB is spatial
+
+2013-11-16 17:01  neteler
+
+	* raster/r.buffer/r.buffer.html, raster/r.clump/r.clump.html,
+	  raster/r.distance/r.distance.html,
+	  raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.grow/r.grow.html: manual: more cross-references
+
+2013-11-16 15:51  martinl
+
+	* vector/v.out.postgis/args.c: v.out.postgis: guisections cosmetics
+
+2013-11-16 15:49  martinl
+
+	* vector/v.out.postgis/args.c: v.out.postgis: more guisections
+
+2013-11-16 09:46  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: add 'PostGIS export' to
+	  vector contextual menu
+
+2013-11-16 08:19  hamish
+
+	* vector/v.what.rast/main.c: expand FIXME comment
+
+2013-11-15 20:36  neteler
+
+	* scripts/i.oif/i.oif.html: Nikos Alexandris: manual generalized;
+	  HTML cosmetics
+
+2013-11-15 19:13  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: menu cosmetics (external
+	  data)
+
+2013-11-15 18:59  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: better handling of
+	  PostGIS database in GdalSelect and GdalOutputDialog
+
+2013-11-15 15:13  glynn
+
+	* lib/init/grass.py: Revert r58200 for grass.py
+
+2013-11-14 20:58  martinl
+
+	* gui/wxpython/core/gconsole.py: wxGUI: fix py script interface
+	  check (when script is not found)
+
+2013-11-14 20:50  martinl
+
+	* gui/wxpython/gui_core/menu.py, gui/wxpython/gui_core/widgets.py:
+	  wxGUI: search modules - fix numpad enter
+
+2013-11-14 20:45  martinl
+
+	* gui/wxpython/gui_core/prompt.py: wxGUI: run command also when
+	  numpad enter key is pressed
+
+2013-11-14 20:00  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: menu label cosmetics
+	  (r.proj/v.proj)
+
+2013-11-14 19:36  martinl
+
+	* raster/r.region/main.c: r.region: more guisections
+
+2013-11-14 19:30  martinl
+
+	* raster/r.proj/main.c: r.proj: more gui sections
+
+2013-11-14 19:28  martinl
+
+	* gui/wxpython/gui_core/forms.py: fix bug introduced in r58212 (no
+	  GUI dialogs from CLI)
+
+2013-11-14 06:52  hamish
+
+	* vector/v.what.rast/local_proto.h, vector/v.what.rast/main.c,
+	  vector/v.what.rast/v.what.rast.html: add flag to interpolate
+	  values from the nearest four cells instead of using nearest
+	  neighbor
+
+2013-11-14 03:16  hamish
+
+	* vector/v.what.rast/main.c, vector/v.what.rast/v.what.rast.html:
+	  add flag to allow printing to stdout
+
+2013-11-14 02:19  hamish
+
+	* vector/v.what.rast/main.c: cosmetic whitespace from
+	  grass_indent.sh
+
+2013-11-13 22:47  wenzeslaus
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/gui_core: fixing test for
+	  task and task frame (module dialog, form)
+
+2013-11-13 17:39  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py:
+	  More usage of the PyGRASS message interface
+
+2013-11-13 16:58  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py: wxGUI/animation: let the user
+	  enter options for creating AVI (different ffmpeg versions require
+	  different options)
+
+2013-11-13 16:20  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/register.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatio_temporal_relationships.py: Started to
+	  use the new PyGRASS message interface in some classes.
+
+2013-11-13 09:59  martinl
+
+	* raster/r.in.xyz/main.c: r.in.xyz: message cosmetics + fix
+	  progress info
+
+2013-11-13 09:55  martinl
+
+	* raster/r.in.xyz/r.in.xyz.html: r.in.xyz: update manual examples
+
+2013-11-13 09:54  martinl
+
+	* raster/r.in.xyz/main.c: r.in.xyz: use G_option_to_separator()
+
+2013-11-13 08:28  hamish
+
+	* raster/r.in.xyz/local_proto.h: increase scan line buffer length
+	  (#2125)
+
+2013-11-12 22:04  zarch
+
+	* vector/v.category/main.c: Add a flag to skip to copy the
+	  attribute tables
+
+2013-11-12 14:00  huhabla
+
+	* lib/python/pygrass/Makefile, lib/python/pygrass/__init__.py,
+	  lib/python/pygrass/messages,
+	  lib/python/pygrass/messages/Makefile,
+	  lib/python/pygrass/messages/__init__.py: Fast and exit-safe
+	  interface to GRASS C-library message functions
+
+2013-11-12 13:49  martinl
+
+	* lib/init/grass.py, lib/python/script/core.py: attemt to fix
+	  failure when user name contains non-ascii characters
+
+2013-11-11 22:52  annakrat
+
+	* gui/wxpython/mapswipe/g.gui.mapswipe.html: wxGUI/mapswipe: update
+	  manual
+
+2013-11-11 22:39  annakrat
+
+	* gui/icons/grass/layer-down.png, gui/icons/grass/layer-edit.png,
+	  gui/icons/grass/layer-up.png, gui/wxpython/core/layerlist.py,
+	  gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/simplelmgr.py,
+	  gui/wxpython/mapswipe/dialogs.py, gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/toolbars.py: wxGUI/mapswipe: added
+	  possibility to display multiple raster/vector maps; reusable
+	  SimpleLayerManager created
+
+2013-11-11 15:28  zarch
+
+	* lib/python/pygrass/functions.py: Add optional parameters to
+	  functions: copy, rename, remove and add new functions to split a
+	  list in chunk, and to check if a table already exist in the DB
+
+2013-11-11 12:47  annakrat
+
+	* gui/wxpython/animation/frame.py: wxGUI/animation: fix related to
+	  the r58190
+
+2013-11-11 02:48  annakrat
+
+	* gui/wxpython/animation/anim.py, gui/wxpython/animation/frame.py:
+	  wxGUI/animation: fix case when there is only one map
+
+2013-11-10 21:36  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/pystc.py:
+	  wxGUI: fix pystc import (moved to gui_core)
+
+2013-11-10 21:31  martinl
+
+	* gui/wxpython/gmodeler/pystc.py, gui/wxpython/gui_core/pystc.py:
+	  wxGUI: move pystc from gmodeler to gui_core
+
+2013-11-10 21:29  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: python export
+	  cosmetics
+
+2013-11-10 12:55  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/gmodeler: fix moving item
+	  down, re-select origninaly selected items
+
+2013-11-10 12:31  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py:
+	  wxGUI/gmodeler: fix defining items in the loop (including order
+	  change)
+
+2013-11-10 06:16  neteler
+
+	* gui/wxpython/animation/g.gui.animation.html: g.gui.animation
+	  manual: example with wildcard added
+
+2013-11-10 04:10  annakrat
+
+	* lib/python/Makefile: libpython: fix Makefile for imaging
+
+2013-11-10 04:00  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py: wxGUI/animations: use new
+	  grass.imaging lib for exporting animations
+
+2013-11-10 03:58  annakrat
+
+	* lib/python/imaging, lib/python/imaging/Makefile,
+	  lib/python/imaging/README, lib/python/imaging/__init__.py,
+	  lib/python/imaging/images2avi.py,
+	  lib/python/imaging/images2gif.py,
+	  lib/python/imaging/images2ims.py,
+	  lib/python/imaging/images2swf.py,
+	  lib/python/imaging/imaginglib.dox: libpython: add library for
+	  animations (from visvis project)
+
+2013-11-09 17:55  turek
+
+	* gui/wxpython/gui_core/dialogs.py: i.group dialog: select all -
+	  data changed message
+
+2013-11-09 15:52  zarch
+
+	* vector/v.category/main.c: Fix the option transfer for the areas
+
+2013-11-09 15:24  neteler
+
+	* general/g.mlist/g.mlist.html, general/g.mremove/g.mremove.html:
+	  g.mlist, g.mremove: examples improved
+
+2013-11-08 22:03  wenzeslaus
+
+	* raster/r.mapcalc/r.mapcalc.html: r.mapcalc: section in notes with
+	  small eval function example
+
+2013-11-08 16:16  turek
+
+	* gui/wxpython/gui_core/dialogs.py: group dialog: select all
+	  checkbox, ok button is not default
+
+2013-11-08 08:40  lucadelu
+
+	* lib/init/grass.py: add possibility to create new location using
+	  espg in lowercase
+
+2013-11-07 15:31  wenzeslaus
+
+	* lib/gis/area_poly1.c: libgis/dox: verbatim for equations in
+	  G_ellipsoid_polygon_area
+
+2013-11-07 13:00  lucadelu
+
+	* gui/wxpython/dbmgr/base.py: in attribute table manager if remove
+	  more columns all the names are written in the warning dialog
+
+2013-11-07 12:11  neteler
+
+	* lib/gis/area_poly1.c: area_poly1.c function documentation
+	  improved (contributed by Richard Roger richard.roger at water dot
+	  nsw dot gov dot au)
+
+2013-11-07 06:14  neteler
+
+	* scripts/i.tasscap/i.tasscap.html: i.tasscap: added more
+	  background material
+
+2013-11-06 15:12  lucadelu
+
+	* lib/python/temporal/univar_statistics.py: fix separator position
+
+2013-11-06 15:12  martinl
+
+	* gui/wxpython/lmgr/frame.py: fix bogus from r58157
+
+2013-11-06 15:08  martinl
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/lmgr/frame.py: wxGUI:
+	  move iterface check (r58156) to gconsole
+
+2013-11-06 14:56  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: avoid double launching
+	  user-defined scripts
+
+2013-11-06 13:45  lucadelu
+
+	* raster/r.out.vtk/parameters.c,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py: unify default value
+	  for null cell in vtk output
+
+2013-11-06 13:17  lucadelu
+
+	* lib/python/temporal/univar_statistics.py: replace print with
+	  string variable and only at the end print the string
+
+2013-11-06 12:44  martinl
+
+	* gui/wxpython/lmgr/toolbars.py: wxGUI: add new icon to the layer
+	  manager toolbar to launch user-defined script
+
+2013-11-06 11:26  lucadelu
+
+	* lib/python/pygrass/vector/__init__.py: add function to check if
+	  vector has color table
+
+2013-11-05 07:26  glynn
+
+	* raster/r.mfilter/r.mfilter.html: Remove reference to r.mfilter.fp
+
+2013-11-04 02:19  wenzeslaus
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in: dox: ignoring g.gui.*
+	  commands in dox (not part of iface, removes main functions,
+	  workaround for some Doxygen with dots in Python module name)
+
+2013-11-03 22:40  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py:
+	  wxGUI/modeler: item list cosmetics
+
+2013-11-03 21:53  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: fix loops in
+	  python export
+
+2013-11-03 21:51  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix OnSave()
+
+2013-11-03 21:46  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: fix reordering items inside loop
+
+2013-11-03 21:40  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix reposition
+	  when ordering items
+
+2013-11-03 19:16  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py: wxGUI/modeler: implement
+	  reordering items (work in progress)
+
+2013-11-03 01:07  neteler
+
+	* imagery/i.vi/i.vi.html: i.vi manual: HTML demessified
+
+2013-11-02 21:38  hcho
+
+	* raster/r.topmodel/infiltration.c: Added accidentally removed code
+
+2013-11-02 20:02  hcho
+
+	* raster/r.topmodel/infiltration.c: Infiltration routine bug fixed
+
+2013-11-02 19:40  hcho
+
+	* raster/r.topmodel/infiltration.c, raster/r.topmodel/topmodel.c:
+	  variables renamed
+
+2013-11-02 13:56  hcho
+
+	* raster/r.topmodel/global.h, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/topmodel.c: Renamed functions.
+	  Print a warning and calculate infiltration when max no. of
+	  iterations reached.
+
+2013-11-02 12:41  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix wrong order of layers when
+	  reading from workspace file
+
+2013-11-01 00:34  annakrat
+
+	* misc/m.measure/main.c: m.measure: use standard option coordinates
+
+2013-10-31 15:40  martinl
+
+	* lib/python/pygrass/functions.py: pygrass: use G_find_raster2()
+	  instead of G_find_raster(), same for vectors
+
+2013-10-31 10:33  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grasswxpy_fr.po: Sylvain
+	  Maillard: FR translation cont'ed
+
+2013-10-31 06:26  hcho
+
+	* raster/r.topidx/global.h, raster/r.topidx/topidx.c: Easy-to-read
+	  macro names
+
+2013-10-31 02:08  hcho
+
+	* locale/po/grasslibs_ko.po: More Korean translation
+
+2013-10-30 21:42  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po,
+	  locale/po/grasswxpy_fr.po: Sylvain Maillard: FR translation
+	  cont'ed
+
+2013-10-30 21:32  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: msg update
+	  from template
+
+2013-10-29 21:39  hcho
+
+	* lib/raster/window.c: Added a space between sentences.
+
+2013-10-29 13:40  martinl
+
+	* lib/pngdriver/read_png.c, lib/pngdriver/write_png.c,
+	  lib/raster/gdal.c: #2095 (GRASS changes for OSGeo4W 64bit)
+	  patch provided by jef
+
+2013-10-29 01:33  glynn
+
+	* raster/r.random/count.c: Promote cell count to long
+
+2013-10-28 14:29  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Avoid to copy raster
+	  maps if not necessary
+
+2013-10-28 14:10  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Add some more check and
+	  options
+
+2013-10-28 14:08  zarch
+
+	* lib/python/pygrass/functions.py: Add a function to look for a map
+	  in a different mapset, location, gisdbase
+
+2013-10-28 12:35  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: Add execution
+	  time attribute to the class Module
+
+2013-10-28 03:18  annakrat
+
+	* gui/wxpython/animation/nviztask.py: wxGUI/animation: display
+	  default color map when animating elevation (not the one in
+	  workspace file)
+
+2013-10-27 22:27  hamish
+
+	* imagery/i.smap/i.smap.html: quiet flag is removed
+
+2013-10-25 11:07  neteler
+
+	* raster/r.proj/r.proj.html: r.proj example: use -d densify for
+	  v.in.region
+
+2013-10-25 11:04  neteler
+
+	* general/g.proj/g.proj.html: g.proj manual: link to r|v.proj
+
+2013-10-25 08:17  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: run with local
+	  gisrc
+
+2013-10-24 15:11  mmetz
+
+	* gui/wxpython/gcp/manager.py: wxGUI gcp bug fixes
+
+2013-10-24 12:20  mmetz
+
+	* lib/gis/mapset_nme.c: libgis: fix r34486
+
+2013-10-24 06:19  lucadelu
+
+	* locale/po/grassmods_it.po: Anna Zanchetta: IT translation cont'ed
+
+2013-10-23 21:31  neteler
+
+	* imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/landsat.c,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/main.c: i.landsat.toar: fixes for
+	  Landsat-8 metadata file support (author: E. Jorge Tizado); sync
+	  with r58093
+
+2013-10-22 15:41  neteler
+
+	* lib/init/variables.html: GRASS_FRAME: specified in pixel values
+
+2013-10-22 02:53  annakrat
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/core/giface.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/lmgr/giface.py:
+	  wxGUI/gconsole: rename write methods parameter
+
+2013-10-22 02:42  annakrat
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/core/giface.py,
+	  gui/wxpython/gui_core/goutput.py: wxGUI/gconsole: partial replace
+	  of events by signals (co-author: wenzeslaus)
+
+2013-10-22 02:21  annakrat
+
+	* gui/wxpython/gui_core/goutput.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: change notification for setting comp region from selected
+	  map (do not switch tab); add docstring
+
+2013-10-22 02:12  annakrat
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/core/giface.py,
+	  gui/wxpython/gcp/manager.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/giface.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapwin/analysis.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/scripts/vkrige.py:
+	  wxGUI: clean up message handling related to GConsole (co-author:
+	  wenzeslaus)
+
+2013-10-21 12:29  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib: fix typo in message (cosmetics)
+
+2013-10-21 12:06  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/register.py,
+	  temporal/t.register/t.register.html,
+	  temporal/t.register/test.t.register.raster.timestamp.sh: Added
+	  (r|r3|v).timestamp read support in t.register.
+
+2013-10-21 10:42  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Avoid to copy rasters
+	  when not necessary
+
+2013-10-21 00:15  hcho
+
+	* raster/r.topmodel/check_ready.c: Removed check_ready.c
+
+2013-10-21 00:14  hcho
+
+	* raster/r.topmodel/misc.c: Removed misc.c
+
+2013-10-20 23:24  hcho
+
+	* raster/r.topidx/r.topidx.html: Reformatted the credit
+
+2013-10-20 23:17  hcho
+
+	* vector/v.segment/v_segment_spaced_percent_points.jpg: Redone to
+	  show all six points
+
+2013-10-20 21:47  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/space_time_datasets.py: Read support for
+	  timestamps set with *.timestamp modules implemented.
+
+2013-10-20 13:08  wenzeslaus
+
+	* imagery/i.landsat.toar/landsat_met.c: i.landsat.toar: function
+	  should be static (private for file), not inline (not simple
+	  enough), fixes clang compilation (undefined reference to
+	  date_replace_slash)
+
+2013-10-20 13:01  hcho
+
+	* raster/r.topmodel/file_io.c: Given => For
+
+2013-10-20 12:58  hcho
+
+	* raster/r.topmodel/main.c: Comments
+
+2013-10-20 12:32  hcho
+
+	* raster/r.topmodel/main.c: Preprocess only flag (-p) added
+
+2013-10-20 12:19  hcho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/global.h,
+	  raster/r.topmodel/infiltration.c, raster/r.topmodel/main.c,
+	  raster/r.topmodel/r.topmodel.html, raster/r.topmodel/topmodel.c:
+	  Used to do too much preprocessing. Now, it optionally takes the
+	  masked topidx
+	  map only for generating the topographic index statistics file.
+	  This change
+	  reduces user confusion and simplifies GUI.
+
+2013-10-20 03:57  annakrat
+
+	* SUBMITTING_WXGUI: add rule to submitting wxGUI document
+
+2013-10-20 03:45  annakrat
+
+	* gui/wxpython/dbmgr/manager.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/dbmgr: message dialog and BusyInfo should not overlap
+	  (wxpython 2.9 issue)
+
+2013-10-20 03:27  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/group dialog: fix sizers
+	  for wxpython 2.9
+
+2013-10-20 03:16  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/import dialog: fix
+	  closing dialog with wxpython 2.9
+
+2013-10-20 02:45  annakrat
+
+	* gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/wxnviz.py:
+	  wxGUI: remove wx.Yield from progress bar because with wxpython
+	  2.9 it causes problems
+
+2013-10-20 00:52  hcho
+
+	* raster/r.topidx/file_io.c, raster/r.topidx/global.h,
+	  raster/r.topidx/main.c, raster/r.topidx/topidx.c: parameter
+	  descriptions updated; routine names changed
+
+2013-10-20 00:46  hcho
+
+	* raster/r.water.outlet/main.c: more descriptive parameter
+	  descriptions
+
+2013-10-19 23:00  hcho
+
+	* raster/r.topmodel/misc.c: nsteps parameter fixed
+
+2013-10-19 22:41  hcho
+
+	* raster/r.topmodel/misc.c: Removed --quiet from internal commands
+
+2013-10-19 22:26  hcho
+
+	* vector/v.segment/v_segment_spaced_percent_points.jpg: Redone to
+	  include the first point
+
+2013-10-19 22:05  hcho
+
+	* raster/r.topmodel/misc.c: Updated the r.fill.dir dir= parameter
+	  name to outdir=
+
+2013-10-19 13:58  neteler
+
+	* raster/r.mapcalc/r.mapcalc.html: r.mapcalc manual: cosmetics for
+	  r57997
+
+2013-10-19 13:58  neteler
+
+	* raster/r.mapcalc/r3.mapcalc.html: r3.mapcalc manual: sync with
+	  r.mapcalc
+
+2013-10-19 12:22  hcho
+
+	* raster/r.fill.dir/main.c: raste map => raster map
+
+2013-10-19 10:29  neteler
+
+	* vector/v.segment/v_segment_spaced_percent_points.jpg: v.segment:
+	  screenshot redone after r58055
+
+2013-10-19 10:24  hcho
+
+	* vector/v.segment/v.segment.html: Percent example corrected
+
+2013-10-19 10:01  neteler
+
+	* doc/infrastructure.txt: updated
+
+2013-10-19 09:27  neteler
+
+	* vector/v.segment/v.segment.html,
+	  vector/v.segment/v_segment_spaced_percent_points.jpg,
+	  vector/v.segment/v_segment_spaced_points.jpg,
+	  vector/v.segment/v_segment_spaced_right_points.jpg,
+	  vector/v.segment/v_segment_subline.jpg: v.segment: examples added
+	  (NC location)
+
+2013-10-19 09:27  neteler
+
+	* vector/v.segment/main.c: v.segment: accept stdin as default
+
+2013-10-19 07:58  hcho
+
+	* vector/v.segment/main.c, vector/v.segment/v.segment.html: Added
+	  an input format for reversed & percent offsets.
+	  * -offset # start from the end node
+	  * offset% # start from offset% of the line's length
+	  * -offset% # start from offset% of the line's end node
+
+2013-10-18 18:00  wenzeslaus
+
+	* include/gis.h, lib/gis/gislib_cmdline_parsing.dox,
+	  lib/gis/parser_standard_options.c: gislib/dox: documenting
+	  Option, Flag and related enums using doxygen
+
+2013-10-18 17:56  wenzeslaus
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in: dox: exclude various test
+	  files and dirs and local_proto.h files
+
+2013-10-18 15:14  glynn
+
+	* lib/gis/parser.c: Relax ambiguity check for option names, similar
+	  to r58034 for option values
+
+2013-10-18 13:10  turek
+
+	* gui/wxpython/iscatt/iscatt_core.py: wx.iscatt: take only integer
+	  rasters
+
+2013-10-18 12:49  turek
+
+	* raster/r.info/main.c: r.info -g: format resolution in same way as
+	  g.region -g do
+
+2013-10-18 11:39  huhabla
+
+	* temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.import/test.t.rast.import.sh: Integrated AAIGrid
+	  format for export and import of space time raster datasets.
+
+2013-10-18 11:39  huhabla
+
+	* lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py: Integrated AAIGrid format for
+	  export and import of space time raster datasets.
+
+2013-10-18 08:49  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Improving docstring
+
+2013-10-18 08:40  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Improving the isolation
+	  between processes and clean the code
+
+2013-10-18 04:38  annakrat
+
+	* gui/wxpython/gui_core/query.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI/querying: enable to redirect output to console
+
+2013-10-18 04:07  wenzeslaus
+
+	* lib/gis/gislib.dox, lib/gis/gislib_cmdline_parsing.dox:
+	  gislib/dox: cmd line parsing doc updated, modernized and polished
+
+2013-10-18 04:00  wenzeslaus
+
+	* lib/gis/gislib.dox, lib/gis/gislib_cmdline_parsing.dox:
+	  gislib/dox: move cmd line parsing to separate file (incomplete
+	  change)
+
+2013-10-17 21:22  glynn
+
+	* lib/gis/parser.c: Ignore ambiguities caused by r57999
+	  abbreviations when option is a unique prefix
+
+2013-10-17 20:04  zarch
+
+	* lib/python/pygrass/gis/region.py: Make the repr of the class
+	  consistent with the attributes name
+
+2013-10-17 19:55  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Improve
+	  message error for parameter with multiple values
+
+2013-10-17 13:15  neteler
+
+	* lib/raster3d/test/test_coordinate_transform.c,
+	  lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value.c,
+	  lib/raster3d/test/test_put_get_value_large_file.c: raster3d test
+	  suite: do not i18N messages in test suites
+
+2013-10-17 12:28  huhabla
+
+	* temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.remove/t.remove.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh: Fixed
+	  map removal in t.remove
+	  Added multiple strds observation to t.vect.observe.strds
+	  Added flag to t.rast.series
+
+2013-10-17 09:46  martinl
+
+	* lib/init/grass.py: grass.py: don't say hello for batch jobs
+
+2013-10-17 09:10  hcho
+
+	* lib/gis/find_file.c: Fixed segmentation fault
+
+2013-10-17 08:04  huhabla
+
+	* lib/raster3d/cache.c, lib/raster3d/test/Makefile,
+	  lib/raster3d/test/test.g3d.lib.html,
+	  lib/raster3d/test/test.raster3d.lib.html,
+	  lib/raster3d/test/test_coordinate_transform.c,
+	  lib/raster3d/test/test_g3d_lib.h, lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value.c,
+	  lib/raster3d/test/test_put_get_value_large_file.c,
+	  lib/raster3d/test/test_raster3d_lib.h,
+	  lib/raster3d/test/test_tools.c: Fixed wrong variable types in
+	  cache.c, updated name scheme in the raster3d test framework.
+
+2013-10-17 07:48  huhabla
+
+	* lib/python/temporal/core.py, lib/python/temporal/sampling.py,
+	  lib/temporal/lib/default_name.c: Fixed t.connect $MAPSET issue,
+	  enhanced the sampling code
+
+2013-10-17 07:28  hcho
+
+	* vector/v.reclass/main.c: Call db_set_value_string only once.
+
+2013-10-17 07:16  hcho
+
+	* vector/v.reclass/main.c: Consistent NULL handling across
+	  different db drivers. For example, Postgres
+	  sorts and returns NULLs at the bottom and v.reclass skipped those
+	  values in the
+	  new attribute table. SQLite returns NULLs at the top and
+	  v.reclass created an
+	  empty string for the new category column. As a result, the pg
+	  driver created
+	  one less row in the table than the sqlite driver did. With this
+	  fix, the pg
+	  driver handles NULLs as an empty string and creates the same
+	  table as sqlite.
+
+2013-10-16 23:31  huhabla
+
+	* temporal/t.rast.neighbors/t.rast.neighbors.py: New handling of
+	  mapset names
+
+2013-10-16 23:30  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/core.py, lib/python/temporal/extract.py,
+	  lib/python/temporal/mapcalc.py, lib/python/temporal/open.py,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/univar_statistics.py: Implemented a check for
+	  the correct mapset when datasets are modified.
+
+2013-10-16 19:10  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: add r.report to the raster
+	  layer contextual menu
+
+2013-10-16 18:57  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: add 'make a copy' item to the map layer contextual menu
+
+2013-10-16 12:14  huhabla
+
+	* lib/temporal/lib/connect.c: Fixed function description
+
+2013-10-16 12:09  huhabla
+
+	* include/temporal.h, lib/temporal/lib/connect.c,
+	  lib/temporal/lib/default_name.c: Improved handling of the
+	  temporal database default connection
+
+2013-10-16 09:45  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: Removed keyword arguments from
+	  decode() to support versions of Python
+
+2013-10-16 09:37  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: attempt to fix about
+	  dialog on Windows
+
+2013-10-16 08:44  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix colortable
+	  widget for wx 2.9
+
+2013-10-15 23:19  lucadelu
+
+	* locale/po/grassmods_it.po: Anna Zanchetta: IT translation cont'ed
+
+2013-10-15 21:17  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI/about: change to
+	  FormNotebook (FormListbook is broken on Windows)
+
+2013-10-15 16:13  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: set mask for file
+	  browser to (*)
+
+2013-10-15 15:54  martinl
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mcalc: fix inserting
+	  point for one-character operators
+
+2013-10-15 15:25  martinl
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: i.landsat.rgb: progress &
+	  messages cosmetics
+
+2013-10-15 13:32  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layer tree: allow multiple
+	  selections for r.colors, r.univar, and wx-histogramming tool
+
+2013-10-15 13:13  martinl
+
+	* gui/wxpython/wxplot/histogram.py: wxGUI/histogramming: title
+	  frame cosmetics
+
+2013-10-15 11:49  martinl
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/histogram.py:
+	  wxGUI/histogram: use fully-qualified names
+	  cosmetics
+
+2013-10-15 09:52  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/grid/patch.py: Improve isolations
+	  between mapsets when copy data, remove temporary GISRC, add
+	  support for groups and vectors as input, copy them to the
+	  temporary mapset if needed
+
+2013-10-14 17:43  glynn
+
+	* lib/gis/parser.c: Use abbreviation-matching for option values as
+	  well as for option names
+
+2013-10-14 17:37  glynn
+
+	* vector/v.voronoi/main.c: Fix bug in r57996
+
+2013-10-14 16:10  wenzeslaus
+
+	* raster/r.mapcalc/r.mapcalc.html: r.mapcalc: manual improvements
+	  (adding notes about MASK, headings for notes, notes about cmd
+	  line syntax and GRASS 6)
+
+2013-10-14 14:42  mmetz
+
+	* vector/v.voronoi/main.c, vector/v.voronoi/skeleton.c: v.voronoi:
+	  fix skeleton extraction
+
+2013-10-14 13:46  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: Check required
+	  parameters only if run_ is True
+
+2013-10-14 13:20  martinl
+
+	* lib/cairodriver/Raster.c: Cairo_begin_raster(): print error
+	  status message
+
+2013-10-14 09:05  martinl
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: fix on search module
+	  widget (zero-length string to reset)
+	  sort commands in the choice widget (modeler)
+
+2013-10-14 08:45  martinl
+
+	* gui/wxpython/gui_core/menu.py: wxGUI/search module: add help text
+
+2013-10-14 07:52  neteler
+
+	* vector/v.voronoi/v.voronoi.html: v.voronoi: fix manual typo
+
+2013-10-13 21:01  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix EVT_TEXT for
+	  PictureComboBoxes
+
+2013-10-13 20:47  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix dialogs with
+	  more 'save as' buttons (like r.colors)
+
+2013-10-13 20:32  martinl
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI/mapdisp: show
+	  computational region extent by default when selected from the
+	  statusbar
+
+2013-10-13 19:57  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: re-render display when
+	  computational region set from selected maps
+
+2013-10-13 19:48  mmetz
+
+	* vector/v.voronoi/v.voronoi.html: v.voronoi: update manual for
+	  skeletons
+
+2013-10-13 19:37  mmetz
+
+	* vector/v.voronoi/main.c, vector/v.voronoi/skeleton.c,
+	  vector/v.voronoi/sw_defs.h: v.voronoi: complete skeletons
+
+2013-10-13 15:24  mmetz
+
+	* vector/v.voronoi/Makefile, vector/v.voronoi/clean_topo.c,
+	  vector/v.voronoi/defs.h, vector/v.voronoi/main.c,
+	  vector/v.voronoi/skeleton.c, vector/v.voronoi/sw_defs.h,
+	  vector/v.voronoi/sw_main.c, vector/v.voronoi/sw_voronoi.c,
+	  vector/v.voronoi/v.voronoi.html,
+	  vector/v.voronoi/v_voronoi_areas.png,
+	  vector/v.voronoi/v_voronoi_delaunay.png,
+	  vector/v.voronoi/v_voronoi_points.png,
+	  vector/v.voronoi/v_voronoi_skeleton.png,
+	  vector/v.voronoi/vo_write.c: v.voronoi: abuse it for skeletons
+
+2013-10-11 13:08  mmetz
+
+	* lib/gis/mapset_nme.c: libgis: G__create_alt_search_path()
+	  requires new initialization
+
+2013-10-11 12:02  mmetz
+
+	* lib/proj/convert.c: libproj: GRASS expects meter not metre
+
+2013-10-10 22:16  neteler
+
+	* AUTHORS: fix mailman url
+
+2013-10-10 11:56  martinl
+
+	* general/g.mapsets/main.c: g.mapsets: print message when mapset
+	  already in the path
+
+2013-10-10 07:14  huhabla
+
+	* lib/python/script/core.py: Fixed spelling mistakes
+
+2013-10-10 02:45  annakrat
+
+	* lib/python/script/core.py, lib/python/temporal/stds_import.py,
+	  scripts/r.unpack/r.unpack.py, scripts/v.unpack/v.unpack.py:
+	  unpacking maps: show projection file difference
+
+2013-10-09 19:10  ychemin
+
+	* imagery/i.vi/i.vi.html: fixed manual
+
+2013-10-09 19:02  ychemin
+
+	* imagery/i.vi/gari.c: fixed GARI equation
+
+2013-10-09 18:38  martinl
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapwin/buffered.py: wxGUI/mapdisp: add 'set
+	  computational region from saved region' to the zoom menu
+
+2013-10-09 07:47  huhabla
+
+	* raster/r.mapcalc/map3.c: Fix for ticket #2074 as usggested by
+	  Glynn
+
+2013-10-09 07:40  huhabla
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.py: Cosmetics
+
+2013-10-09 06:52  neteler
+
+	* lib/init/help_loc_struct.png: helptext manual: update location
+	  structure image to G7
+
+2013-10-09 00:21  annakrat
+
+	* gui/wxpython/animation/dialogs.py: wxGUI/animation: fix
+	  PyAssertionError on Windows
+
+2013-10-08 23:02  huhabla
+
+	* lib/python/ctypes/Makefile, lib/python/ctypes/__init__.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/unit_tests.py: Created separate rtree ctypes
+	  interface, so that the rtree
+	  library can be accessed directly without the vector library.
+	  This should also fix the dll rtree issue on windows systems.
+
+2013-10-08 20:25  mmetz
+
+	* imagery/i.landsat.toar/main.c: i.landsat.toar: fix window
+	  handling
+
+2013-10-08 14:22  turek
+
+	* imagery/i.ortho.photo/i.ortho.camera/main.c: i.ortho.camera:
+	  uninitialized num_fid fix, reading existing camera file fix
+
+2013-10-07 19:52  neteler
+
+	* raster/r.statistics2/main.c: r.statistics2: fix typos
+
+2013-10-07 08:30  martinl
+
+	* vector/v.in.lidar/main.c: v.in.lidar: fix compilation, typo in
+	  variable
+
+2013-10-07 07:09  mmetz
+
+	* vector/v.voronoi/dt_write.c, vector/v.voronoi/main.c,
+	  vector/v.voronoi/sw_defs.h, vector/v.voronoi/sw_geometry.c,
+	  vector/v.voronoi/sw_main.c, vector/v.voronoi/sw_output.c,
+	  vector/v.voronoi/sw_voronoi.c, vector/v.voronoi/vo_extend.c,
+	  vector/v.voronoi/vo_write.c, vector/v.voronoi/write.h: v.voronoi:
+	  remove unused functions
+
+2013-10-07 06:27  mmetz
+
+	* vector/v.in.lidar/main.c: v.in.lidar: test if file exists
+
+2013-10-07 06:27  mmetz
+
+	* raster/r.in.lidar/main.c: r.in.lidar: test if file exists
+
+2013-10-06 23:31  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix #2091, #1808, #1814
+
+2013-10-06 21:02  neteler
+
+	* raster/r.in.lidar/r.in.lidar.html: r.in.lidar manual: points.las
+	  is from California, not NC
+
+2013-10-06 16:59  martinl
+
+	* scripts/v.report/v.report.py: v.report: replace '-s/r' flags by
+	  'sort' option
+	  fix sorting itself
+
+2013-10-06 13:16  neteler
+
+	* raster/r.in.lidar/r.in.lidar.html,
+	  raster/r.in.lidar/r_in_lidar_dem_mean3D.jpg: r.in.lidar manual:
+	  major update
+
+2013-10-06 12:09  neteler
+
+	* raster/r.in.lidar/local_proto.h, raster/r.in.lidar/main.c:
+	  r.in.lidar: -p Print LAS file info and exit added from v.in.lidar
+
+2013-10-06 10:21  neteler
+
+	* raster/r.in.lidar/main.c, raster/r.in.lidar/r.in.lidar.html:
+	  r.in.lidar: still crashing on cmd line if LAS file not existing
+
+2013-10-06 09:01  neteler
+
+	* raster/r.in.lidar/main.c: r.in.lidar: use standard -e msg text
+
+2013-10-05 17:37  neteler
+
+	* gui/icons/grass.desktop: grass.desktop: key 'Encoding' in group
+	  'Desktop Entry' is deprecated
+
+2013-10-05 13:14  mmetz
+
+	* vector/v.category/main.c, vector/v.category/v.category.html:
+	  v.category: fix manual for option=del
+
+2013-10-04 12:47  turek
+
+	* gui/wxpython/gui_core/dialogs.py: group dialog: edit maps only
+	  which belong to group in subgroup mode, patern search added
+
+2013-10-04 12:14  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix SyntaxError from r57913
+
+2013-10-04 12:00  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation: fix
+	  progress dialog
+
+2013-10-04 11:16  neteler
+
+	* imagery/i.landsat.toar/earth_sun.c,
+	  imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/landsat.c,
+	  imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/local_proto.h,
+	  imagery/i.landsat.toar/main.c: i.landsat.toar: fixes for
+	  Landsat-8 metadata file support (author: E. Jorge Tizado); sync
+	  with G6 version
+
+2013-10-04 10:35  neteler
+
+	* imagery/i.landsat.toar/main.c: i.landsat.toar: standard code
+	  indentation
+
+2013-10-04 09:03  neteler
+
+	* gui/wxpython/core/utils.py: wxGUI core/utils.py: fix PIL call
+
+2013-10-04 01:50  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation:
+	  automatically reload after adding animation
+
+2013-10-03 23:10  martinl
+
+	* gui/wxpython/xml/grass-gxw.dtd: grass-gxw.dtd: add cwd tag info
+
+2013-10-03 23:01  martinl
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: store current working directory (if set up) in the
+	  workspace file
+
+2013-10-03 22:16  neteler
+
+	* imagery/i.cluster/main.c, imagery/i.gensig/parse.c,
+	  imagery/i.gensigset/parse.c: i.cluster, i.gensig, i.gensigset:
+	  make signature list browseable
+
+2013-10-03 12:45  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/lmgr: set icon for unknown
+	  items (eg. run d.rast.leg from cmd)
+
+2013-10-03 12:34  martinl
+
+	* gui/wxpython/core/utils.py: wxGUI: GetLayerNameFromCmd() return
+	  empty mapset if type unsupported
+
+2013-10-03 11:48  martinl
+
+	* scripts/d.rast.leg/d.rast.leg.py: d.rast.leg: check d.info output
+
+2013-10-03 11:18  martinl
+
+	* scripts/d.rast.leg/d.rast.leg.html: d.rast.leg: fix parameter
+	  name
+
+2013-10-03 11:08  martinl
+
+	* gui/wxpython/modules/colorrules.py: wxGUI/colorrules: use
+	  ColorTablesComboBox widget
+
+2013-10-03 10:59  martinl
+
+	* raster/r.colors/edit_colors.c: r.colors: guisection cosmetics
+
+2013-10-03 10:56  martinl
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: update map for [r|r3].colors modules
+
+2013-10-03 08:25  turek
+
+	* gui/wxpython/gui_core/dialogs.py: i.group dialog: bug fixes
+
+2013-10-03 02:16  annakrat
+
+	* raster/r.series.interp/r.series.interp.html:
+	  r.series.interp.html: fix param name in example
+
+2013-10-03 00:59  annakrat
+
+	* gui/wxpython/timeline/frame.py: wxGUI/timeline: display only name
+	  without mapset to make it shorter
+
+2013-10-02 20:30  neteler
+
+	* raster/r.bitpattern/r.bitpattern.html: r.bitpattern.html:
+	  +i.modis.qc
+
+2013-10-02 15:27  annakrat
+
+	* lib/python/script/vector.py: pythonlib: v.db.select wrapper: do
+	  not add key column when we don't want it
+
+2013-10-02 10:12  neteler
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/lmgr: fix the comment (r57909)
+
+2013-10-02 08:43  glynn
+
+	* lib/python/script/core.py: Remove bogosity from r57910
+
+2013-10-02 02:55  wenzeslaus
+
+	* gui/wxpython/core/gcmd.py, lib/python/script/core.py,
+	  lib/python/script/task.py: handling of scripts on MS Win using
+	  Python which (uses PATH) and sys.executable (for grass.script and
+	  wxGUI), fixes MAXREPEAT error when running Python script
+
+2013-10-01 18:32  wenzeslaus
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/lmgr: comment for r57865
+	  (handling non-ascii characters returned by platform.platform
+	  function)
+
+2013-10-01 14:10  annakrat
+
+	* scripts/r.out.xyz/r.out.xyz.py: r.out.xyz: fix for windows (pipe
+	  problem)
+
+2013-10-01 13:52  annakrat
+
+	* scripts/r.out.xyz/r.out.xyz.py: r.out.xyz: fix for the case when
+	  output is not set
+
+2013-10-01 13:34  annakrat
+
+	* scripts/r.rgb/r.rgb.py: r.rgb: out prefix must be name of input
+	  without mapset, remove unused imports
+
+2013-10-01 03:31  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation: add warning
+	  when rendering fails
+
+2013-09-30 22:47  martinl
+
+	* lib/gis/parser_html.c: libgis: partly disable r57897 (work in
+	  progress)
+
+2013-09-30 22:28  martinl
+
+	* lib/gis/parser.c, lib/gis/parser_html.c: libgis/html-description:
+	  print second keyword as a link to the 'topic' page
+
+2013-09-30 22:05  martinl
+
+	* vector/v.net.visibility/main.c,
+	  vector/v.net.visibility/v.net.visibility.html: v.net.visibility:
+	  description module cosmetics
+	  manual cleaning
+
+2013-09-30 21:58  martinl
+
+	* vector/v.net.steiner/main.c: v.net.steiner: module description
+	  cosmetics
+	  remove unused variable
+
+2013-09-30 21:56  martinl
+
+	* gui/wxpython/docs/wxGUI.vnet.html,
+	  gui/wxpython/docs/wxGUI_vnet.jpg: wxGUI/vnet: add screenshot to
+	  the manual, link to network topic
+
+2013-09-30 21:07  martinl
+
+	* gui/wxpython/docs/wxGUI.components.html: wxGUI components: note
+	  g.gui.gcp
+
+2013-09-30 21:05  martinl
+
+	* gui/wxpython/docs/wxGUI.components.html: wxGUI: tote iscatt in
+	  the wxGUI components page
+
+2013-09-30 21:03  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.html: g.gui.iclass: link iscatt
+	  tool in the manual
+
+2013-09-30 21:01  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: render imported layers
+
+2013-09-30 21:01  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.html: g.gui.iclass: fix
+	  description (manual)
+
+2013-09-30 21:00  martinl
+
+	* gui/wxpython/docs/wxGUI.iscatt.html,
+	  gui/wxpython/docs/wxGUI_iscatt.jpg: iscatt manual cosmetics +
+	  figure cropped
+
+2013-09-30 20:51  martinl
+
+	* gui/wxpython/iclass/plots.py: wxGUI/iclass: fix module name
+	  (iscatt)
+
+2013-09-30 18:25  turek
+
+	* gui/wxpython/docs/wxGUI.iscatt.html,
+	  gui/wxpython/docs/wxGUI_iscatt.jpg,
+	  gui/wxpython/docs/wxGUI_iscatt.png: wx.iscatt: doc image changed
+	  from png to jpg
+
+2013-09-30 15:09  annakrat
+
+	* gui/wxpython/animation/g.gui.animation.html: wxGUI/animation: add
+	  note about comp region
+
+2013-09-30 01:42  wenzeslaus
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/lmgr: attempt to handle
+	  non-ascii characters returned by platform.platform function
+
+2013-09-29 20:58  turek
+
+	* gui/wxpython/Makefile: wx.iscatt Makefile
+
+2013-09-29 20:56  turek
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/iclass/plots.py:
+	  wx.iscatt: run from wx.iclass
+
+2013-09-29 20:55  turek
+
+	* gui/wxpython/docs/wxGUI.iscatt.html,
+	  gui/wxpython/docs/wxGUI_iscatt.png: wx.iscatt: manual
+
+2013-09-29 20:54  turek
+
+	* gui/wxpython/iscatt, gui/wxpython/iscatt/__init__.py,
+	  gui/wxpython/iscatt/controllers.py,
+	  gui/wxpython/iscatt/core_c.py, gui/wxpython/iscatt/dialogs.py,
+	  gui/wxpython/iscatt/frame.py, gui/wxpython/iscatt/iscatt_core.py,
+	  gui/wxpython/iscatt/plots.py, gui/wxpython/iscatt/toolbars.py:
+	  wx.iscatt: frontend
+
+2013-09-28 21:22  mmetz
+
+	* vector/v.db.connect/main.c: v.db.connect: topo is not needed
+
+2013-09-27 14:28  mmetz
+
+	* vector/v.net/connect.c, vector/v.net/main.c,
+	  vector/v.net/proto.h: v.net op=connect: new arcs need unique cat
+
+2013-09-27 12:37  turek
+
+	* gui/wxpython/core/workspace.py: wx.workspace: handle empty
+	  strings
+
+2013-09-27 08:33  turek
+
+	* lib/imagery/iscatt_core.c: wx.iscatt backend: removed unused
+	  parameter
+
+2013-09-26 23:52  hamish
+
+	* lib/imagery/iscatt_core.c: fix syntax error
+
+2013-09-26 20:46  turek
+
+	* lib/imagery/list_subgp.c: list subgroup: wrong pointer type fix
+
+2013-09-26 20:32  turek
+
+	* include/defs/imagery.h, include/imagery.h,
+	  lib/imagery/iscatt_core.c, lib/imagery/iscatt_structs.c:
+	  wx.iscatt: c backend
+
+2013-09-26 18:39  martinl
+
+	* lib/vector/diglib/spindex_rw.c: diglib: attempt to clarify 'wrong
+	  node position' fatal error message
+
+2013-09-26 10:24  mmetz
+
+	* lib/gis/plot.c: libgis: fix FPE error tolerance for plotting
+
+2013-09-26 05:40  hcho
+
+	* raster/r.water.outlet/main.c,
+	  raster/r.water.outlet/r.water.outlet.html,
+	  raster/r.water.outlet/r_water_outlet.png,
+	  raster/r.water.outlet/ramseg.h: Added recommended parentheses to
+	  make gcc happy.
+	  Updated the example coordinates and screenshot in the manual
+	  using nc_spm_08_grass7.tar.gz.
+
+2013-09-25 17:56  wenzeslaus
+
+	* gui/wxpython/tools/build_modules_xml.py: wxGUI/toolboxes:
+	  removing unintentionally committed debug line from r57815
+
+2013-09-25 13:15  mmetz
+
+	* lib/gis/plot.c: libgis: fix FPE tolerance for plotting
+
+2013-09-25 10:39  hcho
+
+	* include/dbmi.h: Fall back to dbf if configured without sqlite.
+	  Non-existing DB drivers can create unremovable vectors.
+
+2013-09-25 10:26  mmetz
+
+	* vector/Makefile: revert r57832
+
+2013-09-25 08:34  mmetz
+
+	* vector/v.clean/main.c: v.clean: improve topo handling, warning
+	  for non-native formats
+
+2013-09-25 08:32  mmetz
+
+	* vector/v.clean/main.c: v.clean: revert r57832
+
+2013-09-25 08:26  mmetz
+
+	* vector/Makefile, vector/v.clean/main.c: v.centerpoint: geometric
+	  mean -> arithmetic mean
+
+2013-09-25 03:58  hamish
+
+	* raster/r.sunmask/main.c: bump year
+
+2013-09-25 03:58  hamish
+
+	* raster/r.sunmask/main.c: hour=08 and hour=09 were being scanned
+	  as '0' due to %i reading those as base 8, so use %d instead
+
+2013-09-25 01:02  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/mapwindow.py: wxGUI/animation: fix legend
+	  hiding
+
+2013-09-24 19:46  annakrat
+
+	* gui/wxpython/animation/controller.py: wxGUI/animation: add busy
+	  info
+
+2013-09-23 15:57  turek
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/frame.py:
+	  wx.iclass: event veto fix, rgb rasters as backgroud
+
+2013-09-23 15:21  turek
+
+	* gui/icons/grass/polygon.png: icons: add polygon icon
+
+2013-09-23 14:07  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: Add the with statement
+	  also when opening a raster class in write mode
+
+2013-09-23 14:06  turek
+
+	* gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py:
+	  vdigit: signals used by scatter plot
+
+2013-09-23 03:59  annakrat
+
+	* gui/wxpython/animation/controller.py: wxGUI/animation: fix legend
+	  when showing 3d
+
+2013-09-23 03:28  wenzeslaus
+
+	* gui/wxpython/core/toolboxes.py,
+	  gui/wxpython/tools/build_modules_xml.py: wxGUI/toolboxes:
+	  improving error handling in module items generation and doctest
+	  workaround
+
+2013-09-23 02:49  wenzeslaus
+
+	* include/Make/Rules.make: build: adding script directory into PATH
+	  for build GRASS session
+
+2013-09-23 00:40  wenzeslaus
+
+	* testsuite/raster/raster_md5test.sh,
+	  testsuite/raster/rmapcalc_test.sh: tests: update r.mapcalc
+	  expression syntax for GRASS 7
+
+2013-09-22 11:09  martinl
+
+	* display/d.northarrow/main.c: d.northarrow: update style opt
+
+2013-09-22 11:07  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix barscale/northarrow
+	  widgets
+
+2013-09-22 11:04  martinl
+
+	* display/d.barscale/Makefile, display/d.barscale/main.c:
+	  d.barscale: update barscale opt, no need for sed tricks
+
+2013-09-22 11:03  martinl
+
+	* lib/gis/parser_html.c: libgis: G_usage_html(): add support for
+	  barscale thumbnails
+
+2013-09-22 10:47  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: update colortable widget
+	  handling, see r57804
+
+2013-09-22 10:47  martinl
+
+	* raster/r.colors/Makefile: r.colors: no need to thumbnails sed
+	  tricks, see r57804
+
+2013-09-22 10:45  martinl
+
+	* lib/gis/parser_html.c, lib/gis/parser_standard_options.c: libgis:
+	  update G_usage_html() to include colortable thumbnails
+
+2013-09-22 09:11  martinl
+
+	* gui/wxpython/gui_core/widgets.py, raster/r.colors/Makefile,
+	  tools/thumbnails.py: r.colors: move colortable thumbnails to the
+	  separate directory (similarly to barscales)
+
+2013-09-22 09:00  martinl
+
+	* display/d.barscale/Makefile: d.barscale: use relative thumbnails
+	  path
+
+2013-09-22 08:54  martinl
+
+	* display/d.barscale/Makefile, display/d.barscale/thumbnails,
+	  gui/images/Makefile, gui/images/barscales,
+	  gui/wxpython/gui_core/widgets.py: barscale thumbnails:
+	  gui/images/barscales moved to display/d.barscale/thumbnails
+
+2013-09-22 03:11  wenzeslaus
+
+	* lib/raster3d/color.c, lib/raster3d/raster3dlib.dox: dox: updating
+	  the color section of raster 3D main page and adding comments into
+	  color.c file
+
+2013-09-22 00:28  hamish
+
+	* raster/r.grow.distance/main.c: wording tweak (merge from devbr6)
+
+2013-09-21 23:50  wenzeslaus
+
+	* lib/raster3d/defaults.c, lib/raster3d/range.c,
+	  lib/raster3d/raster3dlib.dox: dox: updating the range section of
+	  raster 3D main page and documenting compression variables
+
+2013-09-21 22:45  wenzeslaus
+
+	* lib/raster3d/README, lib/raster3d/r3_volume_layout.png,
+	  lib/raster3d/r3_volume_layout.xcf,
+	  lib/raster3d/r3_volume_layout_large.png,
+	  lib/raster3d/raster3dlib.dox, lib/raster3d/volume_layout.png,
+	  lib/raster3d/volume_layout.xcf,
+	  raster3d/r3.in.ascii/g3d_volume_layout.png,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.in.ascii/r3_volume_layout.png,
+	  raster3d/r3.out.ascii/g3d_volume_layout.png,
+	  raster3d/r3.out.ascii/r3.out.ascii.html,
+	  raster3d/r3.out.ascii/r3_volume_layout.png,
+	  raster3d/raster3dintro.html: docs: changing size and name of
+	  volume layout image
+
+2013-09-21 03:03  hamish
+
+	* vector/v.mapcalc/Makefile, vector/v.mapcalc/v.mapcalc.html: now
+	  it builds; add help page with content from README
+
+2013-09-21 02:06  hamish
+
+	* vector/v.mapcalc/v.mapcalc.y: missing ';'
+
+2013-09-21 01:47  hamish
+
+	* vector/v.mapcalc/any.c, vector/v.mapcalc/list.c,
+	  vector/v.mapcalc/map.c, vector/v.mapcalc/number.c,
+	  vector/v.mapcalc/vector.c: missing includes, change broken printf
+	  call
+
+2013-09-20 14:59  mmetz
+
+	* lib/vector/diglib/poly.c: diglib: partially revert r36395, line
+	  integral is more robust than surveyor's formula
+
+2013-09-20 13:00  martinl
+
+	* raster/r.water.outlet/main.c: r.water.outlet: remove unused
+	  variable
+
+2013-09-20 12:55  martinl
+
+	* raster/r.water.outlet/basin.h, raster/r.water.outlet/main.c,
+	  raster/r.water.outlet/r.water.outlet.html: r.water.outlet: #2084
+	  (Combine r.water.outlet easting=, northing= into
+	  coordinates= (G_OPT_M_COORDS) for mouse interactivity in g.gui).
+	  update manual
+	  fix compiler warning for MIN define
+
+2013-09-20 10:39  turek
+
+	* gui/wxpython/iclass/plots.py: wx.iclass: missing giface argument
+	  (to be used by scatter plot)
+
+2013-09-20 10:31  turek
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/toolbars.py: wx.iclass: show colors of
+	  classes in class manager, and classes choice, signals for
+	  integration with scatter plot
+
+2013-09-20 09:08  hcho
+
+	* raster/r.stats/main.c, raster/r.stats/r.stats.html: Areas are
+	  always reported in square meters.
+
+2013-09-20 05:26  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py: wxGUI/animation: only hide
+	  export dialog to keep values there
+
+2013-09-20 04:31  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/mapwindow.py: wxGUI/animation: export also
+	  legend overlay
+
+2013-09-20 03:32  wenzeslaus
+
+	* lib/raster3d/raster3dlib.dox, raster3d/raster3dintro.html: dox:
+	  raster3d documentation cosmetics
+
+2013-09-20 00:31  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/mapwindow.py: wxGUI/animation: fix legend
+	  placement
+
+2013-09-19 12:53  annakrat
+
+	* gui/images/barscales/README: add README to barscale images (needs
+	  to be completed)
+
+2013-09-19 08:25  mmetz
+
+	* scripts/db.univar/db.univar.py: db.univar: fix precision
+
+2013-09-19 07:27  zarch
+
+	* lib/python/pygrass/raster/__init__.py: Fix a segmentation fault
+	  when copy the segment to a map in RasterSegment class
+
+2013-09-19 07:09  hamish
+
+	* gui/images/barscales/arrow_ends.png,
+	  gui/images/barscales/both_ticks.png,
+	  gui/images/barscales/classic.png,
+	  gui/images/barscales/down_ticks.png,
+	  gui/images/barscales/full_checker.png,
+	  gui/images/barscales/hollow.png, gui/images/barscales/line.png,
+	  gui/images/barscales/mixed_checker.png,
+	  gui/images/barscales/part_checker.png,
+	  gui/images/barscales/solid.png,
+	  gui/images/barscales/tail_checker.png,
+	  gui/images/barscales/up_ticks.png: crop off romans '5km', fix png
+	  canvas placement. also removes alpha layer but I'm not sure if
+	  that matters (was rendering pink in wx)
+
+2013-09-19 06:23  hamish
+
+	* display/d.northarrow/draw_n_arrow.c: update symbol name
+
+2013-09-19 06:16  hamish
+
+	* display/d.northarrow/draw_n_arrow.c, display/d.northarrow/main.c,
+	  gui/images/symbols/n_arrows/basic_compass.png,
+	  gui/images/symbols/n_arrows/compass.png,
+	  lib/symbol/symbol/n_arrows/basic_compass,
+	  lib/symbol/symbol/n_arrows/compass: rename 'compass' symbol to
+	  'basic_compass'
+
+2013-09-19 06:08  hamish
+
+	* display/d.northarrow/d.northarrow.html,
+	  display/d.northarrow/main.c: note TODOs
+
+2013-09-18 17:29  annakrat
+
+	* display/d.northarrow/draw_n_arrow.c, display/d.northarrow/main.c,
+	  gui/wxpython/gui_core/widgets.py: d.northarrow: rename
+	  basic_compass to compass and fix gui
+
+2013-09-18 16:57  mmetz
+
+	* raster/r.in.lidar/local_proto.h, raster/r.in.lidar/main.c:
+	  r.in.lidar: add new option + flag to define output raster region
+
+2013-09-18 16:44  annakrat
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/mapwin/base.py, gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/mapwin/decorations.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/wxnviz.py:
+	  wxGUI: improve decorations handling (see #2080)
+
+2013-09-18 13:49  martinl
+
+	* display/d.barscale/d.barscale.html: d.barscale: previews already
+	  in the manual, cosmetics
+
+2013-09-18 13:43  martinl
+
+	* display/d.barscale/Makefile, display/d.barscale/main.c:
+	  d.barscale: add priviews to the manual
+
+2013-09-18 08:03  hamish
+
+	* scripts/d.shadedmap/d.shadedmap.html,
+	  scripts/d.shadedmap/d.shadedmap.py: add option to save result to
+	  a new raster map (merge from devbr6)
+
+2013-09-17 13:53  martinl
+
+	* display/d.barscale/main.c: d.barscale: make 'coords' paramater
+	  optional (with default answer)
+	  sync'ed with d.northarrow
+
+2013-09-17 13:48  martinl
+
+	* display/d.northarrow/main.c: d.northarrow: more guisections
+
+2013-09-17 13:41  martinl
+
+	* gui/images/Makefile, gui/images/arrow_ends.png,
+	  gui/images/barscales, gui/images/barscales/arrow_ends.png,
+	  gui/images/barscales/both_ticks.png,
+	  gui/images/barscales/classic.png,
+	  gui/images/barscales/down_ticks.png,
+	  gui/images/barscales/full_checker.png,
+	  gui/images/barscales/hollow.png, gui/images/barscales/line.png,
+	  gui/images/barscales/mixed_checker.png,
+	  gui/images/barscales/part_checker.png,
+	  gui/images/barscales/solid.png,
+	  gui/images/barscales/tail_checker.png,
+	  gui/images/barscales/up_ticks.png, gui/images/both_ticks.png,
+	  gui/images/classic.png, gui/images/down_ticks.png,
+	  gui/images/full_checker.png, gui/images/hollow.png,
+	  gui/images/line.png, gui/images/mixed_checker.png,
+	  gui/images/part_checker.png, gui/images/solid.png,
+	  gui/images/tail_checker.png, gui/images/up_ticks.png,
+	  gui/wxpython/gui_core/widgets.py: wxGUI: move barscale images to
+	  the separate directory
+
+2013-09-17 12:38  martinl
+
+	* display/d.northarrow/d.northarrow.html: d.northarrow: fix typo in
+	  the manual, simplify 'Author' section
+
+2013-09-17 10:51  neteler
+
+	* imagery/i.pca/i.pca.html: i.pca manual: refer to Wiki article
+
+2013-09-17 10:07  turek
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/plots.py, gui/wxpython/iclass/toolbars.py:
+	  wx.iclass: support for any name of subgroup, not just same name
+	  as group
+
+2013-09-17 10:04  turek
+
+	* gui/wxpython/gcp/manager.py: wx.gcp: reflecting changes of group
+	  dialog
+
+2013-09-17 10:02  turek
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: GroupDialog: subgroup support
+	  improvements
+
+2013-09-17 07:17  hcho
+
+	* raster/r.water.outlet/r.water.outlet.html: Corrected parameter
+	  names
+
+2013-09-17 06:30  hamish
+
+	* display/d.northarrow/draw_n_arrow.c, display/d.northarrow/main.c,
+	  display/d.northarrow/options.h: add line width option (line width
+	  currently broken in display library also for d.vect)
+
+2013-09-17 06:07  hamish
+
+	* display/d.northarrow/draw_n_arrow.c, display/d.northarrow/main.c:
+	  add support for basic and fancy compass
+
+2013-09-17 05:45  hamish
+
+	* display/d.northarrow/main.c: rename bg color option to more
+	  appropriate 'fill color'
+
+2013-09-17 04:52  hamish
+
+	* display/d.barscale/d.barscale.html,
+	  display/d.barscale/draw_n_arrow.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h: remove north arrow code (now in
+	  d.northarrow), bugfix font size scanning to allow sub-integer
+	  sizes
+
+2013-09-17 04:44  hamish
+
+	* display/d.northarrow/draw_n_arrow.c, display/d.northarrow/main.c:
+	  background color bugfix
+
+2013-09-17 04:33  hamish
+
+	* display/Makefile, display/d.northarrow,
+	  display/d.northarrow/Makefile,
+	  display/d.northarrow/d.barscale.html,
+	  display/d.northarrow/d.northarrow.html,
+	  display/d.northarrow/draw_scale.c, display/d.northarrow/main.c,
+	  display/d.northarrow/options.h: move north arrow code from
+	  d.barscale into its own module
+
+2013-09-17 02:07  hamish
+
+	* display/d.grid/d.grid.html, display/d.grid/local_proto.h,
+	  display/d.grid/main.c, display/d.grid/plot.c,
+	  display/d.grid/plotborder.c: add direction= option to allow
+	  rendering only lines of latitude or longitude (merge #1372 from
+	  devbr6);
+	  fix text & tick placement (#1442), and try to work-around missing
+	  border/grid edge
+
+2013-09-17 00:09  hamish
+
+	* general/g.list/g.list.html: spelling, minor whitespace
+
+2013-09-16 23:56  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI/GdalImportDialog: fix
+	  loading settings
+
+2013-09-16 23:56  hamish
+
+	* display/d.barscale/d.barscale.html, display/d.barscale/main.c:
+	  minor wording, spelling
+
+2013-09-16 21:33  turek
+
+	* gui/wxpython/gui_core/dialogs.py: GroupDialog bug fix
+
+2013-09-16 21:31  turek
+
+	* lib/imagery/iclass.c: iclass backend: make subgroup optional
+
+2013-09-16 19:53  martinl
+
+	* general/g.list/g.list.html: g.list: standardize 'see also'
+	  section
+	  various minor changes in the manual
+
+2013-09-16 19:14  turek
+
+	* general/g.list/g.list.html: g.list: note about subgroup list in
+	  i.group
+
+2013-09-16 16:10  turek
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: allow to edit subgroups in
+	  i.group gui front end
+
+2013-09-16 15:32  martinl
+
+	* imagery/i.group/main.c: i.group: use standardized option from
+	  subgroups
+
+2013-09-16 13:52  turek
+
+	* imagery/i.group/main.c: i.group: adding s flag for printing out
+	  the subgroup files
+
+2013-09-16 13:47  turek
+
+	* include/defs/imagery.h, lib/imagery/list_subgp.c: adding
+	  I_list_subgroups fucntion for getting list of subgroups in a
+	  group
+
+2013-09-16 13:24  martinl
+
+	* display/d.barscale/d.barscale.html, display/d.barscale/main.c:
+	  d.barscale: more guisection + i18n
+	  use standardized key for bgcolor
+	  manual cosmetics
+
+2013-09-16 12:54  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix bug introduced in
+	  r57698
+
+2013-09-16 11:07  zarch
+
+	* lib/python/pygrass/raster/__init__.py: Update and fix
+	  RasterSegment methods: get/put/get_row/put_row
+
+2013-09-16 01:13  annakrat
+
+	* gui/images/arrow_ends.png, gui/images/both_ticks.png,
+	  gui/images/classic.png, gui/images/down_ticks.png,
+	  gui/images/full_checker.png, gui/images/hollow.png,
+	  gui/images/line.png, gui/images/mixed_checker.png,
+	  gui/images/part_checker.png, gui/images/solid.png,
+	  gui/images/tail_checker.png, gui/images/up_ticks.png,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/widgets.py:
+	  wxGUI: add barscale and arrow pictures to d.barscale gui (see
+	  #2077)
+
+2013-09-15 21:23  annakrat
+
+	* gui/wxpython/nviz/tools.py, gui/wxpython/nviz/workspace.py:
+	  wxNviz: fix error when switching to 3D second time for 3d rasters
+
+2013-09-15 11:55  martinl
+
+	* lib/init/grass.py: grass.py: bugfix creation of new locations (-c
+	  geofile|epsg)
+
+2013-09-15 03:20  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxNviz: fix string formatting and
+	  update formatting method
+
+2013-09-15 03:04  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: assume layer is 1
+	  instead of Nonewhen module does not have layer option (like
+	  v.vol.rst)
+
+2013-09-14 04:58  hamish
+
+	* configure, configure.in: support for newer svnversion output
+	  string (#587)
+
+2013-09-14 02:28  hamish
+
+	* raster/simwe/r.sim.water/main.c: named for Robert Manning c.1890,
+	  see http://en.wikipedia.org/wiki/Manning_formula
+
+2013-09-13 22:11  mmetz
+
+	* vector/v.distance/main.c: v.distance: clean up search steps
+
+2013-09-13 22:01  mmetz
+
+	* vector/v.distance/main.c: v.distance bugfix for min > 0
+
+2013-09-13 21:52  wenzeslaus
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/lmgr: it was not possible to
+	  start wxIClass from Search modules tab
+
+2013-09-13 15:24  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass (standalone):
+	  comment-out unused start scripts
+
+2013-09-13 15:19  martinl
+
+	* mswindows/env.bat: wingrass (standalone): use bash instead of cmd
+	  (workaround for missing completion and python's MAX_REPEAT
+	  problem)
+
+2013-09-13 10:11  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Copy data back to
+	  original mapset and log
+
+2013-09-13 09:58  zarch
+
+	* lib/python/pygrass/modules/grid/patch.py: Add prefix option
+
+2013-09-13 02:22  annakrat
+
+	* vector/v.in.ascii/points.c: v.in.ascii: fix skip parameter, it
+	  required one line more (related to G_getl2 usage)
+
+2013-09-12 20:36  hamish
+
+	* lib/rst/interp_float/BUGS: rm (effectively) empty file
+
+2013-09-12 12:46  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl, mswindows/env.bat: wingrass:
+	  remove references to extralib
+
+2013-09-11 23:54  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix wildcard format
+	  (attempt to fix #2075)
+
+2013-09-11 19:54  huhabla
+
+	* lib/python/temporal/spatio_temporal_relationships.py: Fixed
+	  spatial topology computation for equivalent relation.
+
+2013-09-11 18:29  huhabla
+
+	* lib/python/temporal/spatio_temporal_relationships.py: Fixed
+	  topology computation
+
+2013-09-11 15:53  martinl
+
+	* mswindows/GRASS-Packager.bat.tmpl: wingrass: copy DLL files to
+	  extrabin, remove extralib from standalone installer
+
+2013-09-11 09:04  neteler
+
+	* COPYING, lib/init/grass.py: Use main Web site URL; minor updates
+
+2013-09-11 02:00  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/nviz/wxnviz.py: wxNviz: fix displaying 3d points on
+	  surface and with z coordinate
+
+2013-09-10 20:29  mmetz
+
+	* vector/v.voronoi/main.c, vector/v.voronoi/sw_geometry.c,
+	  vector/v.voronoi/sw_voronoi.c, vector/v.voronoi/vo_write.c:
+	  v.voronoi: change option segf to smoothness, clean up code
+
+2013-09-10 14:13  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapwin/buffered.py: wxGUI/layertree: add more
+	  options to 3d raster context menu, fix context menu for multiple
+	  different selected maps
+
+2013-09-10 13:01  annakrat
+
+	* gui/wxpython/core/render.py: wxGUI: fix statusbar progressbar
+	  when there is a 3d raster loaded
+
+2013-09-10 12:38  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layertree: fix case when
+	  layer has no properties yet
+
+2013-09-10 12:33  annakrat
+
+	* gui/wxpython/core/workspace.py: wxNviz: point size and height are
+	  float (fix #2072)
+
+2013-09-09 18:17  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Fix trac #2067, avoid to
+	  instantiate the Module('g.region') when import the grid module
+
+2013-09-08 22:27  annakrat
+
+	* misc/m.nviz.image/args.c, misc/m.nviz.image/local_proto.h,
+	  misc/m.nviz.image/volume.c: m.nviz.image: add flag to change
+	  normal direction of isosurfaces
+
+2013-09-08 17:36  mmetz
+
+	* vector/v.voronoi/defs.h, vector/v.voronoi/main.c,
+	  vector/v.voronoi/sw_defs.h, vector/v.voronoi/sw_main.c,
+	  vector/v.voronoi/sw_voronoi.c, vector/v.voronoi/vo_write.c:
+	  v.voronoi: add tesselation of areas
+
+2013-09-08 16:52  annakrat
+
+	* lib/ogsf/gvld.c: ogsf: change field size to prevent crash
+
+2013-09-06 18:32  mmetz
+
+	* vector/v.voronoi/main.c, vector/v.voronoi/sw_defs.h,
+	  vector/v.voronoi/sw_geometry.c, vector/v.voronoi/sw_main.c,
+	  vector/v.voronoi/sw_output.c, vector/v.voronoi/vo_extend.c,
+	  vector/v.voronoi/vo_write.c: v.voronoi bugfix for special cases
+
+2013-09-06 17:42  martinl
+
+	* mswindows/osgeo4w/package.sh: package.sh: unix2dos (sync'ed with
+	  G64)
+
+2013-09-06 17:04  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl,
+	  mswindows/osgeo4w/grass.bat.tmpl, mswindows/osgeo4w/grass.tmpl:
+	  wingrass: pause on error (bat file)
+	  add header to osgeo4w init files
+
+2013-09-06 16:47  martinl
+
+	* mswindows/Installer-Files/WinGRASS-README.url:
+	  WinGRASS-README.url: fix url for G7
+
+2013-09-06 13:22  annakrat
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI: fix creating new vector
+
+2013-09-05 14:16  huhabla
+
+	* lib/vector/rtree/test_suite,
+	  lib/vector/rtree/test_suite/Makefile,
+	  lib/vector/rtree/test_suite/test.gmath.lib.html,
+	  lib/vector/rtree/test_suite/test.rtree.lib.html,
+	  lib/vector/rtree/test_suite/test_basics.c,
+	  lib/vector/rtree/test_suite/test_main.c,
+	  lib/vector/rtree/test_suite/test_rtree_lib.h: New rtree testsuite
+
+2013-09-05 13:57  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/sampling.py,
+	  lib/python/temporal/spatio_temporal_relationships.py: Enabled
+	  deepcopy of map and space time datasets.
+	  Fixed some topology builder issues. Implemented a fast sample
+	  method
+	  that makes use of the topology builder.
+
+2013-09-05 13:51  huhabla
+
+	* temporal/t.sample/test.t.sample.sh: New sample tests
+
+2013-09-05 13:47  huhabla
+
+	* lib/vector/rtree/split.c: Allocate the maximum number of
+	  dimensions to avoid unexpected behavior when switching dimensions
+	  in a process.
+
+2013-09-05 13:45  huhabla
+
+	* include/defs/gis.h, lib/gis/ilist.c: Fixed potential memory leak
+	  in integer list init, added new and free ilist functions.
+
+2013-09-05 03:23  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation: move with
+	  legend
+
+2013-09-05 01:41  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/mapwindow.py,
+	  gui/wxpython/animation/utils.py: wxGUI/animations: possibility to
+	  add raster legend
+
+2013-09-04 01:12  martinl
+
+	* display/d.vect.chart/main.c: d.vect.chart: more guisections
+
+2013-09-04 01:07  martinl
+
+	* display/d.vect.chart/main.c: d.vect.chart: use standardized
+	  option for columns
+
+2013-09-03 21:07  hamish
+
+	* display/d.text/main.c: drop compatibility flag with removed grass
+	  6 module feature
+
+2013-09-03 17:00  martinl
+
+	* gui/icons/grass/calculator.png,
+	  gui/icons/grass/raster-calculator.png, gui/icons/grass/stats.png,
+	  gui/wxpython/lmgr/toolbars.py, gui/wxpython/wxplot/base.py:
+	  wxGUI: better icons for raster calculator and histogram's stats
+
+2013-09-03 10:09  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: set region if auto-zooming
+	  is enabled or layer tree contains
+	  only one map layer
+
+2013-09-02 15:03  martinl
+
+	* lib/init/grass.py: grass.py: header cosmetics
+
+2013-09-02 14:47  martinl
+
+	* lib/init/grass.py: grass.py: improve location valid check
+
+2013-09-01 09:21  huhabla
+
+	* temporal/t.remove/t.remove.py: More efficient use of pygrass
+	  Module class
+
+2013-08-30 22:18  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Small fixes when create
+	  a new directory
+
+2013-08-30 17:14  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Fix typo when setting
+	  GISDBASE
+
+2013-08-30 09:49  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Fix warning: Parameter
+	  unpacking ha been removed in python3.x
+
+2013-08-30 09:39  zarch
+
+	* lib/python/pygrass/raster/history.py: Fix typo in the name of the
+	  method
+
+2013-08-30 09:37  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/grid/patch.py: Add more feature to the
+	  GridModule
+
+2013-08-30 09:24  martinl
+
+	* lib/init/helptext.html: helptext: fix sample data sets url
+
+2013-08-29 22:01  mmetz
+
+	* raster/r.sunhours/r.sunhours.html: r.sunhours: add link for
+	  SOLPOS algorithm
+
+2013-08-29 22:00  mmetz
+
+	* raster/r.sunmask/r.sunmask.html: r.sunmask: update link
+
+2013-08-29 21:35  wenzeslaus
+
+	* gui/wxpython/gis_set.py: wxGUI/startup: replacing dialog which
+	  was showed during initialization by a message in the main window
+	  (smoother gui start, less annoying dialogs)
+
+2013-08-29 14:57  annakrat
+
+	* gui/wxpython/animation/controller.py: wxGUI/animation: fix export
+
+2013-08-29 14:23  annakrat
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/temporal_manager.py: wxGUI/animation:
+	  various fixes
+
+2013-08-29 11:53  glynn
+
+	* configure, configure.in: Add LIBLAS_INC to CPPFLAGS when
+	  compiling test case
+
+2013-08-29 11:36  glynn
+
+	* lib/raster/color_rules.c: Fix memory leak (bug #2063)
+
+2013-08-29 11:19  martinl
+
+	* lib/vector/Vlib/build_sfa.c, vector/v.in.ogr/main.c: vlib/ogr:
+	  empty geometry message cosmetics
+
+2013-08-29 09:48  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Remove an
+	  unnecessary print
+
+2013-08-29 00:18  wenzeslaus
+
+	* general/g.gui/main.c: g.gui: using interpreter path rather than
+	  script path as zeroth argument to fix max os x posix_spawn error
+	  (No such file or directory)
+
+2013-08-29 00:13  wenzeslaus
+
+	* lib/init/grass.py: init: it is not needed to check DISPLAY
+	  environmental variable on mac os x
+
+2013-08-28 21:53  huhabla
+
+	* temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.neighbors/test.t.rast.neighbors.sh: New module
+	  structure.
+
+2013-08-28 21:13  huhabla
+
+	* lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/modules/interface/__init__.py,
+	  lib/python/pygrass/modules/interface/module.py: New process queue
+	  class to easily run grass.pygrass.modules.Module processes in
+	  parallel.
+
+2013-08-28 15:01  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: Skip special
+	  parameters
+
+2013-08-28 13:18  zarch
+
+	* lib/python/pygrass/modules/interface/module.py: Fix the last test
+	  using deepcopy and neighbors
+
+2013-08-28 12:31  huhabla
+
+	* lib/python/pygrass/modules/interface/module.py: New test
+
+2013-08-28 11:56  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: import tgis only when
+	  needed
+
+2013-08-28 11:48  huhabla
+
+	* lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py: Fixed floating
+	  point range value handling and command string creation. Added
+	  test.
+
+2013-08-28 08:32  martinl
+
+	* lib/python/script/core.py: pythonlib: add overwrite argument to
+	  create_location()
+
+2013-08-28 07:46  martinl
+
+	* mswindows/env.bat, mswindows/osgeo4w/env.bat.tmpl: wingrass: fix
+	  PROJ_LIB (osgeo4w), cosmetics
+
+2013-08-27 15:11  wenzeslaus
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/lmgr: increasing width for some platforms because of
+	  missing menu items (#1742)
+
+2013-08-27 12:28  huhabla
+
+	* temporal/t.rast.import/t.rast.import.py: Base name is not
+	  mandatory
+
+2013-08-27 12:02  huhabla
+
+	* temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.sample/t.sample.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py: Use new
+	  check and open functions
+
+2013-08-27 12:01  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/open.py, lib/python/temporal/register.py:
+	  Added check map/stds dataset functions
+
+2013-08-27 11:00  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: enable cairo (work in
+	  progress)
+
+2013-08-27 09:55  neteler
+
+	* general/g.parser/g.parser.html: g.parser: mention the --ui switch
+
+2013-08-27 08:38  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: path cosmetics
+
+2013-08-26 12:25  zarch
+
+	* lib/python/pygrass/modules/interface/typedict.py: Fix Ticket
+	  #2060, deepcopy now works
+
+2013-08-26 10:03  neteler
+
+	* gui/wxpython/iclass/g.gui.iclass.py: g.gui.iclass: make it
+	  visible in 'Topic: Gui' manual page
+
+2013-08-25 22:22  annakrat
+
+	* gui/wxpython/gui_core/forms.py, lib/python/script/task.py: wxGUI:
+	  apply patch from #1941 (Japanese locale) for testing
+
+2013-08-25 12:12  annakrat
+
+	* gui/wxpython/timeline/frame.py: wxGUI/timeline: fix 3d
+
+2013-08-25 10:54  martinl
+
+	* gui/wxpython/docs/wxGUI.components.html: wxGUI components: add
+	  timeline tool
+
+2013-08-25 10:52  martinl
+
+	* gui/wxpython/timeline/g.gui.timeline.html: g.gui.timeline manual:
+	  fix link
+
+2013-08-25 09:41  martinl
+
+	* gui/wxpython/timeline/g.gui.timeline.py: g.gui.timeline: add
+	  keywords
+
+2013-08-24 17:52  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: add button for
+	  timeline tool to widget selecting datasets
+
+2013-08-24 17:50  annakrat
+
+	* gui/wxpython/Makefile, gui/wxpython/timeline,
+	  gui/wxpython/timeline/Makefile,
+	  gui/wxpython/timeline/__init__.py,
+	  gui/wxpython/timeline/frame.py,
+	  gui/wxpython/timeline/g.gui.timeline.py: wxGUI: move Timeline
+	  Tool (help tool for temporal framework) from addons to trunk,
+	  make it pep8 compliant
+
+2013-08-23 18:55  huhabla
+
+	* lib/python/temporal/stds_import.py: Added base name for imported
+	  maps
+
+2013-08-23 18:54  huhabla
+
+	* temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.import/t.rast.import.py: Manpage updates, added
+	  base option to import
+
+2013-08-23 17:02  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Fix writing and add methods
+
+2013-08-23 11:39  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Manage string
+	  parameter
+
+2013-08-23 11:36  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Add visible mappsets
+
+2013-08-23 11:35  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Add path methods and manage
+	  errors when create a new mapset
+
+2013-08-23 11:27  zarch
+
+	* lib/python/pygrass/functions.py: Add get_lib_path
+
+2013-08-22 10:40  huhabla
+
+	* lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/spatio_temporal_relationships.py: New
+	  relative time computation approach from time delta to minimize
+	  rounding errors
+
+2013-08-22 10:14  huhabla
+
+	* lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/temporal_extent.py: Corrected
+	  overlaps/overlapped relations and added new tests to check the
+	  temporal topology builder.
+
+2013-08-21 18:57  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.info/test.t.info.sh, temporal/t.merge/t.merge.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.remove/t.remove.py, temporal/t.shift/t.shift.py,
+	  temporal/t.snap/t.snap.py, temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: Replaced lots of
+	  code with the new open functions for space time datasets.
+
+2013-08-21 18:54  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/create.py, lib/python/temporal/extract.py,
+	  lib/python/temporal/list.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/open.py, lib/python/temporal/register.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/univar_statistics.py: Implemented open_old
+	  and open_new space time raster dataset functions
+	  and replaced lots of code with this functions. Renamed create.py
+	  to open.py.
+
+2013-08-20 14:27  kyngchaos
+
+	* macosx/Makefile: strip out isysroot flags so extensions will
+	  compile at runtime
+
+2013-08-19 10:03  martinl
+
+	* lib/vector/Vlib/open.c: vlib: fix opening temporary vector maps
+	  (when `mapset == ""`)
+
+2013-08-18 16:20  huhabla
+
+	* lib/python/temporal/temporal_extent.py: Added absolute time test
+
+2013-08-18 16:17  huhabla
+
+	* lib/python/temporal/temporal_extent.py: Fixed wrong argument name
+
+2013-08-18 16:11  huhabla
+
+	* lib/python/temporal/temporal_extent.py: Fixed wrong object
+	  creation for temporal operators
+
+2013-08-17 22:28  huhabla
+
+	* temporal/t.rast.import/test.t.rast.import_locations.sh: Test the
+	  import of a space time raster dataset into a new location.
+
+2013-08-17 22:25  huhabla
+
+	* temporal/benchmark.sh: Benchmark script to measure the speed of
+	  TGRASS handling 50000 maps in two space time datasets.
+
+2013-08-17 22:20  huhabla
+
+	* temporal/t.info/t.info.py, temporal/t.remove/t.remove.py: Added
+	  tgis metadata output to t.info. Improved map removal speed in
+	  t.remove.
+
+2013-08-17 22:18  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/core.py, lib/python/temporal/register.py:
+	  Code refracturing. Added metadata table to allow tgis database
+	  version check.
+	  Sqlite database build speedup.
+
+2013-08-17 22:15  huhabla
+
+	* lib/temporal/SQL/map_stds_register_table_template.sql,
+	  lib/temporal/SQL/map_tables_template.sql,
+	  lib/temporal/SQL/raster3d_metadata_table.sql,
+	  lib/temporal/SQL/raster_metadata_table.sql,
+	  lib/temporal/SQL/stds_map_register_table_template.sql,
+	  lib/temporal/SQL/stds_tables_template.sql,
+	  lib/temporal/SQL/str3ds_metadata_table.sql,
+	  lib/temporal/SQL/strds_metadata_table.sql,
+	  lib/temporal/SQL/stvds_metadata_table.sql,
+	  lib/temporal/SQL/vector_metadata_table.sql,
+	  lib/temporal/SQL/vector_views.sql: Code cleanup. Added index for
+	  faster sqlite access.
+
+2013-08-17 21:17  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grasswxpy_fr.po: Sylvain
+	  Maillard: FR translation cont'ed
+
+2013-08-16 13:46  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/core.py: More temporal extent setting tests
+
+2013-08-13 21:48  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: fix deleting
+	  records when removing feature
+
+2013-08-13 21:26  martinl
+
+	* gui/wxpython/vdigit/g.gui.vdigit.py: g.gui.vdigit: add new flag
+	  to create new vector map if doesn't exist
+
+2013-08-13 21:14  martinl
+
+	* gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/psmap/toolbars.py, gui/wxpython/vdigit/toolbars.py,
+	  gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: add button for
+	  digitization of area feature
+
+2013-08-13 09:51  martinl
+
+	* gui/wxpython/iclass/digit.py, gui/wxpython/iclass/frame.py:
+	  wxGUI/iclass: use temporary vector map for training areas
+
+2013-08-13 09:49  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: add MapLayer.IsHidden()
+
+2013-08-13 09:48  martinl
+
+	* gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/vdigit/wxdisplay.py: wxGUI/vdigit: allow to open
+	  temporary vector map for editing
+
+2013-08-11 21:34  martinl
+
+	* vector/v.in.region/v.in.region.html: v.in.region: manual
+	  cosmetics
+
+2013-08-11 19:16  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/open.c: vlib: add
+	  Vect_open_tmp_old/update
+
+2013-08-11 18:27  martinl
+
+	* lib/init/variables.html: document GRASS_VECTOR_TEMPORARY variable
+
+2013-08-11 18:08  martinl
+
+	* lib/vector/Vlib/cindex.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/diglib/head.c: vlib: fix
+	  open topo/cidx for temporary vector maps
+	  introduce GRASS_VECTOR_TEMPORARY variable
+	  debug messages cosmetics
+
+2013-08-11 09:11  martinl
+
+	* gui/wxpython/xml/wxgui_items.xml: wxGUI: add g.gui.gcp to the
+	  menu (cosmetics)
+
+2013-08-10 16:32  martinl
+
+	* raster/r.volume/local_proto.h: r.volume: add missing header
+
+2013-08-10 16:31  martinl
+
+	* raster/r.volume/Makefile, raster/r.volume/main.c,
+	  raster/r.volume/r.volume.html: r.volume: major update to G7
+	  use vlib instead of sites
+	  fix writing centroid attributes
+	  update manual
+
+2013-08-09 08:26  annakrat
+
+	* gui/wxpython/mapwin/decorations.py: wxGUI: fix closing legend
+	  dialog in 3d mode
+
+2013-08-09 08:11  annakrat
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapswipe/frame.py, gui/wxpython/mapwin/base.py,
+	  gui/wxpython/rlisetup/sampling_frame.py: wxGUI: setting zoom,
+	  pan, pointer mode moved from frame to window
+
+2013-08-08 16:20  wenzeslaus
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/vdigit/toolbars.py,
+	  gui/wxpython/web_services/dialogs.py: wxGUI/giface: giface for
+	  ImportDialog and SaveWMSLayerDialog (also removing wrong param
+	  for ManageSettingsWidget, adding some info messages)
+
+2013-08-08 13:45  annakrat
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gcp/toolbars.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/toolbars.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/toolbars.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/toolbars.py, gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/toolbars.py,
+	  gui/wxpython/mapwin/decorations.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/toolbars.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vnet/dialogs.py,
+	  gui/wxpython/vnet/toolbars.py: wxGUI: improved system of
+	  switching tools in toolbars
+
+2013-08-08 11:26  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix launching import dialogs
+
+2013-08-08 10:10  wenzeslaus
+
+	* gui/wxpython/core/giface.py, gui/wxpython/lmgr/giface.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/vnet/vnet_core.py:
+	  wxGUI/giface: using giface in vnet and thus extending giface
+
+2013-08-07 22:50  wenzeslaus
+
+	* gui/wxpython/gui_core/gselect.py, gui/wxpython/mapwin/base.py,
+	  gui/wxpython/vnet/dialogs.py, gui/wxpython/vnet/vnet_data.py:
+	  wxGUI/mapwindow: reflecting changes from r57397 in registered
+	  mouse handlers
+
+2013-08-07 22:33  wenzeslaus
+
+	* gui/wxpython/core/giface.py, gui/wxpython/lmgr/giface.py,
+	  gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/vnet/dialogs.py, gui/wxpython/vnet/vnet_core.py:
+	  wxGUI/vnet: using giface instead of tree (fixes broken vnet, one
+	  usage of tree remains)
+
+2013-08-07 21:08  wenzeslaus
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/modules/histogram.py,
+	  gui/wxpython/nviz/mapwindow.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI/mapdisp: avoiding usage of
+	  lmgr and related objects in mapdisplay (some still remains, some
+	  are in used classes; note that this is not an attempt to fix nviz
+	  start and end procedures)
+
+2013-08-07 09:51  annakrat
+
+	* gui/wxpython/rlisetup/wizard.py: wxGUI/rlisetup: sample frame
+	  computations added
+
+2013-08-06 19:06  annakrat
+
+	* gui/wxpython/mapwin/decorations.py: wxGUI: fix launching scale
+	  bar dialog
+
+2013-08-06 17:41  annakrat
+
+	* gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/mapwin/buffered.py, gui/wxpython/mapwin/graphics.py,
+	  gui/wxpython/rlisetup/sampling_frame.py,
+	  gui/wxpython/rlisetup/wizard.py: wxGUI/rlisetup: add option do
+	  draw sample frame (not fully implemented yet)
+
+2013-08-06 16:10  wenzeslaus
+
+	* gui/wxpython/Makefile, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/mapwindow.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/mapdisp/analysis.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/overlays.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/mapwindow.py, gui/wxpython/mapwin,
+	  gui/wxpython/mapwin/__init__.py, gui/wxpython/mapwin/analysis.py,
+	  gui/wxpython/mapwin/base.py, gui/wxpython/mapwin/buffered.py,
+	  gui/wxpython/mapwin/decorations.py,
+	  gui/wxpython/mapwin/graphics.py, gui/wxpython/nviz/mapwindow.py,
+	  gui/wxpython/vdigit/dialogs.py, gui/wxpython/vdigit/main.py,
+	  gui/wxpython/vdigit/mapwindow.py, gui/wxpython/vdigit/wxdigit.py:
+	  wxGUI/mapwin: new mapwin subdirectory with map window related
+	  code including buffered window
+
+2013-08-06 11:18  hamish
+
+	* ps/ps.map/error.c: avoid 'format not a string literal and no
+	  format arguments'
+
+2013-08-06 10:32  annakrat
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/test_mapdisp.py,
+	  gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/vdigit/mapwindow.py: wxGUI: remove frame parameter
+	  from BufferedWindow
+
+2013-08-06 09:15  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py: wxGUI/mapdisplay: remove unused
+	  variables
+
+2013-08-05 21:02  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/mapdisp/frame.py:
+	  wxNviz: fix minor issues with legend overlay
+
+2013-08-05 20:56  wenzeslaus
+
+	* gui/wxpython/mapdisp/test_mapdisp.py: wxGUI/mapdisp: test module
+	  for mapdisplay and mapwindow
+
+2013-08-05 20:44  wenzeslaus
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/wxplot/profile.py: wxGUI/profile: improved
+	  parameters for profile frame, fixing start of profile tool from
+	  lmgr
+
+2013-08-05 20:36  wenzeslaus
+
+	* gui/wxpython/gui_core/mapwindow.py: wxGUI/mapwindow: adding
+	  missing attribute into initialization of cursors
+
+2013-08-05 19:43  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/temporal_extent.py: Map list resampling by
+	  granularity rewritten to gain massive speedup and have some test.
+	  Metadata test update. White space removal.
+	  Temporal topology computation bugfix for time instances.
+
+2013-08-05 17:18  annakrat
+
+	* gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI: move launching decoration
+	  dialogs to frame
+
+2013-08-05 15:10  annakrat
+
+	* gui/wxpython/mapdisp/analysis.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py, gui/wxpython/wxplot/base.py,
+	  gui/wxpython/wxplot/profile.py: wxGUI: base class for profile and
+	  measure tool
+
+2013-08-05 11:07  huhabla
+
+	* lib/python/temporal/temporal_granularity.py: Fixed granularity
+	  check
+
+2013-08-05 01:39  glynn
+
+	* lib/raster/put_row.c: Fix GDAL output (bug introduced in r38127)
+
+2013-08-04 21:57  martinl
+
+	* misc/m.nviz.script/main.c, misc/m.transform/main.c: fix keywords
+	  (cosmetics)
+
+2013-08-04 21:44  martinl
+
+	* general/g.copy/main.c, general/g.findfile/main.c: keyword
+	  cosmetics
+
+2013-08-04 21:31  martinl
+
+	* raster/r.stream.extract/main.c: r.stream.extract: description
+	  cosmetics
+
+2013-08-04 21:22  martinl
+
+	* db/db.connect/main.c, db/db.drivers/main.c, display/d.mon/main.c:
+	  keyword cosmetics: remove confusing 'driver' keyword
+
+2013-08-04 21:20  neteler
+
+	* imagery/i.smap/main.c: i.smap: keep supervised classification
+	  keyword
+
+2013-08-04 21:16  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py, imagery/i.gensig/main.c,
+	  imagery/i.gensigset/main.c, imagery/i.smap/main.c: keywords
+	  cosmetics: supervised classification
+
+2013-08-04 20:55  martinl
+
+	* scripts/r.in.wms/r.in.wms.py, scripts/v.in.wfs/v.in.wfs.py:
+	  r.in.wms/v.in.wfs: clean up keywords
+
+2013-08-04 20:51  martinl
+
+	* scripts/g.extension.all/g.extension.all.py: g.extension.all:
+	  implement `operation: remove`
+
+2013-08-04 19:39  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix #2054 (merge
+	  from releasebranch, r57401)
+
+2013-08-04 17:51  wenzeslaus
+
+	* gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/vdigit/toolbars.py:
+	  wxGUI: removing dead code related to vdigit button in lmgr (not
+	  needed, might be useful but this was not working for multiple map
+	  displays), fixing query in nviz (frame required), fixing
+	  statusbar error displaying
+
+2013-08-04 17:02  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix distance formatting for
+	  ll projection (recent change broke it)
+
+2013-08-04 16:47  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI: encapsulate measure functionality
+
+2013-08-04 16:37  annakrat
+
+	* gui/wxpython/gcp/manager.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/wxplot/base.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/profile.py,
+	  gui/wxpython/wxplot/scatter.py: wxGUI: improve map display cursor
+	  handling
+
+2013-08-04 16:13  wenzeslaus
+
+	* gui/wxpython/gui_core/toolbars.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI/mapwindow: implementing
+	  mouse moving signal (r57383) and zoom history signals (r57078)
+	  for nviz
+
+2013-08-04 15:07  martinl
+
+	* mswindows/env.bat: fix GRASS_PROJSHARE
+
+2013-08-04 13:05  wenzeslaus
+
+	* gui/wxpython/core/units.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI: moving code from BufferedWindow and map display to utils,
+	  adding doctests, removing unused functions
+
+2013-08-04 12:29  martinl
+
+	* scripts/g.extension.all/Makefile,
+	  scripts/g.extension.all/g.extension.all.html,
+	  scripts/g.extension.all/g.extension.all.py,
+	  scripts/g.extension.all/g.extension.rebuild.all.html,
+	  scripts/g.extension.all/g.extension.rebuild.all.py: rename
+	  g.extension.rebuild.all to g.extension.all (step 2)
+
+2013-08-04 12:28  martinl
+
+	* scripts/Makefile, scripts/g.extension.all,
+	  scripts/g.extension.rebuild.all: rename g.extension.rebuild.all
+	  to g.extension.all (step 1)
+
+2013-08-04 12:26  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: cosmetics in
+	  description
+
+2013-08-04 11:37  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py: PEP8 fix
+
+2013-08-04 09:22  martinl
+
+	* gui/wxpython/core/utils.py: wxGUI: fix GuiModuleMain on Windows,
+	  os.fork() is supported only on Unix
+
+2013-08-04 09:06  martinl
+
+	* gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/core/utils.py, gui/wxpython/dbmgr/g.gui.dbmgr.py,
+	  gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py: g.gui.*: define common
+	  GuiModuleMain fn
+
+2013-08-03 21:57  wenzeslaus
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI/mapwindow: frame parameter added to the BufferedWindow
+	  (fixing r57385), todos added
+
+2013-08-03 21:46  neteler
+
+	* imagery/i.landsat.toar/landsat_met.c: i.landsat.toar: getting rid
+	  of 'undefined reference' compilation issue
+
+2013-08-03 20:44  wenzeslaus
+
+	* gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI/mapwindow: unused
+	  parameters removed, depreciation warnings added
+
+2013-08-03 20:29  wenzeslaus
+
+	* gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/mapdisp/statusbar.py: wxGUI/gcp: implementing r57383
+	  for gcp and fixing default statusbar mode which was ignored
+
+2013-08-03 19:43  wenzeslaus
+
+	* gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/vdigit/mapwindow.py: wxGUI/mapwindow: removing mouse
+	  motion handlers, using signals for coordinates and for vdigit
+	  info
+
+2013-08-03 01:26  hamish
+
+	* display/d.barscale/main.c: minor wording tweak
+
+2013-08-03 01:23  hamish
+
+	* display/d.barscale/main.c: make at= label more relevant to this
+	  module
+
+2013-08-02 19:29  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.unregister/t.unregister.py: Implementing spatial
+	  buffering and direct extent object exchange for map objects.
+	  Removed spaces.
+
+2013-08-02 17:11  martinl
+
+	* gui/wxpython/psmap/g.gui.psmap.py: g.gui.psmap: launch GUI in the
+	  background
+
+2013-08-02 17:10  martinl
+
+	* gui/wxpython/vdigit/g.gui.vdigit.py: g.gui.vdigit: launch GUI in
+	  the background
+
+2013-08-02 17:10  martinl
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.py: g.gui.rlisetup: launch
+	  GUI in the background
+
+2013-08-02 17:10  martinl
+
+	* gui/wxpython/mapswipe/g.gui.mapswipe.py: g.gui.mapswipe: launch
+	  GUI in the background
+
+2013-08-02 17:07  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.py: g.gui.gmodeler: launch
+	  GUI in the background
+
+2013-08-02 17:06  martinl
+
+	* gui/wxpython/gcp/g.gui.gcp.py: g.gui.gcp: launch GUI in the
+	  background
+
+2013-08-02 17:05  martinl
+
+	* gui/wxpython/dbmgr/g.gui.dbmgr.py: g.gui.dbmgr: launch GUI in the
+	  background
+
+2013-08-02 17:03  martinl
+
+	* gui/wxpython/animation/g.gui.animation.py: g.gui.animation:
+	  launch GUI in the background
+
+2013-08-02 17:01  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py: g.gui.iclass: launch GUI in
+	  the background
+
+2013-08-02 16:38  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl, mswindows/Makefile: wingrass:
+	  remove unused OSGEO4W_DIR_POSTFIX
+
+2013-08-02 13:39  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl, mswindows/env.bat: wingrass:
+	  restore PROJ_LIB variable (fix r57344)
+
+2013-08-02 10:26  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: launch gdal/ogr GUI front-end
+	  dialog also from cmd, autogenerated dialog can be launch by --ui
+	  switch (TODO: rewrite mechanism to prefer front-ends)
+
+2013-08-02 10:23  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py:
+	  revert accidental r57363
+
+2013-08-02 10:21  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py:
+	  wxGUI: launch gdal/ogr GUI front-end dialog also from cmd,
+	  autogenerated dialog can be launch by --ui switch (TODO: rewrite
+	  mechanism to prefer front-ends)
+
+2013-08-02 09:50  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: remove unnecessary
+	  reference to frame in BufferedWindow
+
+2013-08-02 09:11  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py: wxGUI: move legend related
+	  code from BufferedWindow
+
+2013-08-02 08:25  hamish
+
+	* misc/m.nviz.script/main.c: avoid 'format not a string literal and
+	  no format arguments' warnings (merge from devbr6)
+
+2013-08-02 08:17  hamish
+
+	* display/d.colors/get_info.c: avoid 'format not a string literal
+	  and no format arguments' warnings (merge from devbr6)
+
+2013-08-02 08:02  hamish
+
+	* lib/rst/interp_float/point2d.c: avoid 'format not a string
+	  literal and no format arguments' warnings (merge from devbr6)
+
+2013-08-02 07:53  hamish
+
+	* lib/db/dbmi_client/copy_tab.c: avoid 'format not a string literal
+	  and no format arguments' warnings (merge from devbr6)
+
+2013-08-01 21:30  wenzeslaus
+
+	* gui/wxpython/animation/mapwindow.py,
+	  gui/wxpython/core/workspace.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/vdigit/mapwindow.py: wxGUI/mapwindow: introducing
+	  object with map window properties (and showRegion SbItem
+	  simplified)
+
+2013-08-01 21:02  annakrat
+
+	* gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py: wxGUI/mapswipe: fix zoom
+	  to map for different map extents
+
+2013-08-01 20:43  annakrat
+
+	* gui/wxpython/gcp/manager.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gui_core/mapdisp.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapswipe/frame.py:
+	  wxGUI/statusbar: fix widgets repositioning
+
+2013-08-01 20:15  annakrat
+
+	* gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/statusbar.py: wxGUI: fix rendering and
+	  statusbar problem caused recently by adding wx.Yield
+
+2013-08-01 18:47  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: further fixes for import
+	  dialog
+
+2013-08-01 16:45  martinl
+
+	* lib/vector/diglib/update.c: vlib: enable check for duplications
+	  in dig_line_add_updated()
+	  assuming that uplist is not large (list is reseted for every
+	  operation)
+
+2013-08-01 16:42  turek
+
+	* gui/wxpython/mapdisp/frame.py: reverting r57345 (did not noticed
+	  57340)
+
+2013-08-01 16:17  turek
+
+	* gui/wxpython/mapdisp/frame.py: calling VDigitWindow - removed
+	  tree parameter (not yet used in constructor)
+
+2013-08-01 16:15  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl,
+	  mswindows/GRASS-Packager.bat.tmpl, mswindows/env.bat: wingrass:
+	  major clean up of standalone installer
+
+2013-08-01 15:24  annakrat
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/widgets.py: wxGUI: rewrite GdalSelect
+	  widget for better maintenance, remove format selector for files
+
+2013-08-01 14:35  wenzeslaus
+
+	* gui/wxpython/vdigit/mapwindow.py: wxGUI/mapwindow: tree parameter
+	  needed in vdigit (fixing r57244, reverting r57288)
+
+2013-08-01 08:33  mmetz
+
+	* raster/r.grow.distance/main.c: r.grow.distance: write history to
+	  output
+
+2013-07-31 23:40  huhabla
+
+	* lib/raster/range.c: Bugfix, the open range file descriptor must
+	  be closed in case the cell range file exists but its empty.
+
+2013-07-31 23:26  neteler
+
+	* lib/gis/copy_file.c, lib/raster/open.c,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ro.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ro.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po, raster/r.mapcalc/main.c,
+	  raster/r.viewshed/rbbst.cpp,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.in.gps/v.in.gpsbabel,
+	  scripts/v.in.mapgen/v.in.mapgen.py,
+	  testsuite/raster/raster_md5test.sh,
+	  testsuite/raster/rmapcalc_test.sh: msg typo: occured -> occurred
+
+2013-07-31 17:53  mmetz
+
+	* raster/r.to.vect/main.c: r.to.vect: add option to not create an
+	  attribute table (#2051)
+
+2013-07-31 17:45  mlennert
+
+	* scripts/i.pansharpen/i.pansharpen.html: added note that module
+	  currently only works for 8-bit images
+
+2013-07-31 15:49  neteler
+
+	* raster/r.sun/main.c: r.sun: param reorder by topic (cosmetics)
+
+2013-07-31 14:20  huhabla
+
+	* temporal/t.remove/t.remove.py,
+	  temporal/t.remove/test.t.remove.sh: Implemeted recursive deletion
+	  of space time datasets and their registered maps
+
+2013-07-31 09:16  martinl
+
+	* scripts/v.krige/v.krige.py: v.krige: import globalvar only if
+	  needed
+
+2013-07-30 15:31  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Allow to reset
+	  a parameter with None
+
+2013-07-29 09:00  martinl
+
+	* gui/wxpython/xml: update svn:ignore prop
+
+2013-07-29 08:35  hamish
+
+	* display/d.linegraph/main.c: another fix for 'error: format not a
+	  string literal and no format arguments [-Werror=format-security]'
+
+2013-07-29 08:22  hamish
+
+	* lib/gis/datum.c, lib/proj/get_proj.c, lib/vector/Vlib/hist.c:
+	  some fixes for 'error: format not a string literal and no format
+	  arguments [-Werror=format-security]'
+
+2013-07-28 17:32  martinl
+
+	* configure, configure.in: configure.in: enable `pwd -W` (testing
+	  in progress)
+
+2013-07-28 15:21  martinl
+
+	* configure.in: fix comment in r57291
+
+2013-07-27 20:37  neteler
+
+	* gui/wxpython/xml/toolboxes.xml: i.latlong: renamed to r.latlong
+	  for consistency
+
+2013-07-27 20:34  neteler
+
+	* imagery/Makefile, imagery/i.biomass/i.biomass.html,
+	  imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.h_sebal01/i.eb.h_sebal01.html, imagery/i.latlong,
+	  raster/Makefile, raster/r.latlong, raster/r.latlong/Makefile,
+	  raster/r.latlong/i.latlong.html, raster/r.latlong/main.c,
+	  raster/r.latlong/r.latlong.html: i.latlong: renamed to r.latlong
+	  for consistency
+
+2013-07-27 19:55  neteler
+
+	* doc/howto_release.txt: howto_release.txt: small updates
+
+2013-07-27 13:34  martinl
+
+	* configure, configure.in: configure.in: disable pwd -W (WinGRASS)
+
+2013-07-27 09:55  martinl
+
+	* mswindows/osgeo4w/package.sh: update package.sh for new
+	  msys/mingw osgeo4w packages
+
+2013-07-27 03:04  turek
+
+	* gui/wxpython/vdigit/mapwindow.py: vdigit mapwin: missing
+	  self.tree quick fix
+
+2013-07-27 00:06  turek
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/iclass/toolbars.py:
+	  wx.iclass: added button for scatter plot
+
+2013-07-27 00:04  turek
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/plots.py, gui/wxpython/iclass/statistics.py:
+	  wx.iclass: added interface for statistics data
+
+2013-07-26 13:39  mmetz
+
+	* raster/r.to.vect/lines_io.c: r.to.vect: fix another memory leak
+
+2013-07-26 13:36  mmetz
+
+	* raster/r.to.vect/areas_io.c: r.to.vect: fix memory leak
+
+2013-07-26 11:40  neteler
+
+	* raster/r.proj/r.proj.html, raster/r.resamp.bspline/main.c,
+	  raster/r.resamp.bspline/r.resamp.bspline.html,
+	  raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.shaded.relief/r.shaded.relief.html,
+	  raster/r.viewshed/r.viewshed.html: bilinear -> linear; bicubic ->
+	  cubic
+
+2013-07-25 19:40  mmetz
+
+	* db/drivers/sqlite/db.c: sqlite driver: create directory if not
+	  existing
+
+2013-07-25 18:48  mmetz
+
+	* vector/v.voronoi/sw_main.c: v.voronoi: at least 3
+	  points/centroids are needed
+
+2013-07-25 18:44  mmetz
+
+	* db/db.columns/main.c, db/db.copy/main.c, db/db.select/main.c:
+	  db.*: add test if table exists where appropriate
+
+2013-07-25 18:35  mmetz
+
+	* db/db.describe/main.c: db.describe: fix return code if table does
+	  not exist
+
+2013-07-25 11:14  mmetz
+
+	* vector/v.voronoi/main.c, vector/v.voronoi/sw_geometry.c:
+	  v.voronoi: fix #957, #1682
+
+2013-07-25 10:30  mmetz
+
+	* imagery/i.segment/write_output.c: i.segment: avoid integer
+	  overflow in Rast_make_random_colors()
+
+2013-07-24 14:05  mmetz
+
+	* db/db.describe/main.c: db.describe: fix #1866
+
+2013-07-23 21:06  martinl
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: fix global var
+
+2013-07-23 13:13  glynn
+
+	* lib/db/sqlp/sqlp.l: Add (more) missing %{ ... %}
+
+2013-07-23 09:59  huhabla
+
+	* lib/python/pygrass/modules/interface/module.py: Dont wait for the
+	  process to terminate in case finish_==False
+
+2013-07-22 13:46  wenzeslaus
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/mapwindow: tree is still
+	  needed for map display although it is not needed for map window
+	  (fix bug in nviz from r57243)
+
+2013-07-22 12:07  wenzeslaus
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/vdigit/mapwindow.py: wxGUI/mapwindow: removing
+	  unused tree variables from BufferedWindow
+
+2013-07-22 06:48  wenzeslaus
+
+	* gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/mapwindow.py: wxGUI/mapwindow: removing lmgr
+	  layertree specific code from mapwindow (now rerender request
+	  handled fully in layertree)
+
+2013-07-21 21:25  neteler
+
+	* locale/po/grasswxpy_de.po: DE translation cont'ed
+
+2013-07-21 20:09  annakrat
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: fix showing statusbar
+	  text
+
+2013-07-21 19:01  wenzeslaus
+
+	* gui/wxpython/core/render.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/mapwindow.py: wxGUI/mapwindow: removing call
+	  to layer tree by direct calls from tree to map object
+
+2013-07-21 16:03  glynn
+
+	* lib/db/sqlp/sqlp.l: Add missing %{ ... %}
+
+2013-07-21 15:59  glynn
+
+	* include/defs/glocale.h: Add format_arg attribute to G_gettext()
+
+2013-07-21 08:54  mmetz
+
+	* imagery/i.segment/create_isegs.c, imagery/i.segment/open_files.c:
+	  i.segment: fix best neighbor
+
+2013-07-21 08:38  martinl
+
+	* lib/vector/vectorlib_pg.dox: vlib(pg): doxygen cosmetics
+
+2013-07-20 19:29  wenzeslaus
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gcp/statusbar.py,
+	  gui/wxpython/mapdisp/statusbar.py: wxGUI/gcp: moving gcp
+	  statusbar items to gcp directory
+
+2013-07-20 18:41  wenzeslaus
+
+	* gui/wxpython/Makefile, gui/wxpython/docs/wxGUI.gcp.html,
+	  gui/wxpython/docs/wxGUI_gcp_frame.jpg, gui/wxpython/gcp/Makefile,
+	  gui/wxpython/gcp/g.gui.gcp.html, gui/wxpython/gcp/g.gui.gcp.py,
+	  gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gcp/wxGUI_gcp_frame.jpg: wxGUI/gcp: enabling GCP
+	  manager (with wizard) as g.gui.gcp module
+
+2013-07-20 17:32  wenzeslaus
+
+	* gui/wxpython/gcp/manager.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gcp/toolbars.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/gcp: removing remaining connection to lmgr and obsolate
+	  variables
+
+2013-07-20 10:05  wenzeslaus
+
+	* lib/imagery/iclass_statistics.c: imagerylib: avoid the compiler
+	  warning (discards 'const' qualifier) by explicit const cast
+
+2013-07-19 20:53  mmetz
+
+	* vector/v.kcv/histo.c, vector/v.kcv/kcv.h, vector/v.kcv/main.c:
+	  v.kvc optimization
+
+2013-07-18 17:41  neteler
+
+	* SUBMITTING_DOCS: SUBMITTING_DOCS: updated for PNG compression and
+	  svn propset script; cosmetics
+
+2013-07-18 17:22  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI: fix python -3 compilation
+	  warnings
+
+2013-07-18 17:01  wenzeslaus
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/core/globalvar.py,
+	  gui/wxpython/core/utils.py, gui/wxpython/gis_set.py:
+	  wxGUI/translations: fixing broken compilation and startup (caused
+	  by r57219)
+
+2013-07-18 16:34  wenzeslaus
+
+	* gui/wxpython/animation/anim.py,
+	  gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/animation/mapwindow.py,
+	  gui/wxpython/animation/nviztask.py,
+	  gui/wxpython/animation/temporal_manager.py,
+	  gui/wxpython/animation/toolbars.py,
+	  gui/wxpython/animation/utils.py, gui/wxpython/core/gcmd.py,
+	  gui/wxpython/core/gconsole.py, gui/wxpython/core/giface.py,
+	  gui/wxpython/core/globalvar.py, gui/wxpython/core/menutree.py,
+	  gui/wxpython/core/render.py, gui/wxpython/core/settings.py,
+	  gui/wxpython/core/toolboxes.py, gui/wxpython/core/units.py,
+	  gui/wxpython/core/utils.py, gui/wxpython/core/workspace.py,
+	  gui/wxpython/core/ws.py, gui/wxpython/dbmgr/base.py,
+	  gui/wxpython/dbmgr/dialogs.py, gui/wxpython/dbmgr/g.gui.dbmgr.py,
+	  gui/wxpython/dbmgr/manager.py, gui/wxpython/dbmgr/sqlbuilder.py,
+	  gui/wxpython/dbmgr/vinfo.py, gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gcp/toolbars.py,
+	  gui/wxpython/gis_set.py, gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gmodeler/preferences.py,
+	  gui/wxpython/gmodeler/pystc.py,
+	  gui/wxpython/gmodeler/toolbars.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/gui_core/query.py,
+	  gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/gui_core/treeview.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/iclass/dialogs.py,
+	  gui/wxpython/iclass/digit.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/iclass/plots.py, gui/wxpython/iclass/statistics.py,
+	  gui/wxpython/iclass/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/lmgr/menudata.py, gui/wxpython/lmgr/pyshell.py,
+	  gui/wxpython/lmgr/toolbars.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/gprint.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/mapswipe/dialogs.py, gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/mapswipe/toolbars.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/modules/vclean.py, gui/wxpython/nviz/animation.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/preferences.py,
+	  gui/wxpython/nviz/tools.py, gui/wxpython/nviz/workspace.py,
+	  gui/wxpython/nviz/wxnviz.py, gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/psmap/frame.py, gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/psmap/instructions.py,
+	  gui/wxpython/psmap/toolbars.py, gui/wxpython/psmap/utils.py,
+	  gui/wxpython/rlisetup/frame.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/rlisetup/wizard.py, gui/wxpython/scripts/vkrige.py,
+	  gui/wxpython/vdigit/dialogs.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py,
+	  gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/vdigit/wxdisplay.py, gui/wxpython/vnet/dialogs.py,
+	  gui/wxpython/vnet/toolbars.py, gui/wxpython/vnet/vnet_core.py,
+	  gui/wxpython/vnet/vnet_data.py, gui/wxpython/vnet/vnet_utils.py,
+	  gui/wxpython/vnet/widgets.py,
+	  gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/profile.py,
+	  gui/wxpython/wxplot/scatter.py: wxGUI/translations: different way
+	  of accessing gettext underscore ('_') function (attempt to fix
+	  #1739 for grasswxpy)
+
+2013-07-18 15:59  annakrat
+
+	* lib/python/script/task.py: pythonlib: fix launching d.rast3d on
+	  windows
+
+2013-07-18 15:09  neteler
+
+	* locale/po/grassmods_ro.po, locale/po/grasswxpy_ro.po: Andreea
+	  Marin: Romanian translation cont'ed
+
+2013-07-18 13:40  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/modules/extensions.py:
+	  wxGUI: add help button to install extension dialog
+
+2013-07-18 13:29  annakrat
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: rename command to
+	  module in preferences
+
+2013-07-18 13:24  annakrat
+
+	* gui/wxpython/core/settings.py: wxGUI: change default module
+	  dialog style to 'basic top'
+
+2013-07-18 13:23  annakrat
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py: wxGUI/preferences: fix
+	  error when setting default
+
+2013-07-18 13:02  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: add icon only to manual
+	  page of dialog, make it smaller
+
+2013-07-18 12:42  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: fix dialog styles on
+	  Windows
+
+2013-07-18 12:27  annakrat
+
+	* gui/wxpython/core/menutree.py, gui/wxpython/lmgr/menudata.py:
+	  wxGUI/toolboxes: do not expand addons tag during compilation
+
+2013-07-18 10:31  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: PL translation
+	  cont'ed
+
+2013-07-18 09:59  annakrat
+
+	* gui/wxpython/modules/extensions.py: wxGUI: fix opening extension
+	  dialog
+
+2013-07-18 08:19  annakrat
+
+	* scripts/db.univar/db.univar.py,
+	  scripts/g.extension/g.extension.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.spectral/i.spectral.py,
+	  scripts/r.in.aster/r.in.aster.py: add missing parameters for
+	  find_program
+
+2013-07-17 17:25  annakrat
+
+	* gui/wxpython/gui_core/goutput.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: show and hide progress in command console, simplify module
+	  command console, remove search engine from command console
+
+2013-07-17 17:19  mmetz
+
+	* imagery/i.segment/create_isegs.c, imagery/i.segment/open_files.c:
+	  i.segment: fix more special cases
+
+2013-07-17 17:10  neteler
+
+	* vector/vectorintro.html: vectorintro.html: avoid potential
+	  confusion about raster MASK usage
+
+2013-07-17 16:04  wenzeslaus
+
+	* gui/wxpython/Makefile, gui/wxpython/core/menutree.py,
+	  gui/wxpython/core/test.toolboxes_menudata.xml,
+	  gui/wxpython/core/toolboxes.py, gui/wxpython/lmgr/menudata.py:
+	  wxGUI/toolboxes: finishing r57187 and 57188 (basic version of
+	  generation of translation files, code clean up)
+
+2013-07-17 14:55  neteler
+
+	* locale/po/grassmods_it.po, translators.csv: Elena Mezzini: IT
+	  translation cont'ed
+
+2013-07-17 11:53  wenzeslaus
+
+	* gui/wxpython/Makefile: wxGUI/toolboxes: fix broken compilation
+
+2013-07-17 11:17  wenzeslaus
+
+	* gui/wxpython/Makefile, gui/wxpython/core/menutree.py,
+	  gui/wxpython/core/toolboxes.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/menudata.py, gui/wxpython/xml/main_menu.xml,
+	  gui/wxpython/xml/module_tree.xml: wxGUI/toolboxes: different tree
+	  for menu and for search module (missing some formal things)
+
+2013-07-17 10:08  mmetz
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: do not save zero
+	  size window size
+
+2013-07-17 08:22  mmetz
+
+	* scripts/db.univar/db.univar.py: db.univar: extended stats only on
+	  request
+
+2013-07-17 08:02  annakrat
+
+	* lib/python/script/task.py: pythonlib: fix adding .py extension on
+	  windows
+
+2013-07-16 17:30  mmetz
+
+	* vector/v.voronoi/sw_geometry.c: v.voronoi: fix unsuccessfull hack
+
+2013-07-16 14:40  mmetz
+
+	* scripts/Makefile: activate db.univar
+
+2013-07-16 14:37  mmetz
+
+	* scripts/db.univar/db.univar.html,
+	  scripts/v.db.univar/v.db.univar.html: update manuals for
+	  (v.)db.univar
+
+2013-07-16 14:36  annakrat
+
+	* gui/wxpython/core/menutree.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/search tree: simplify graphical interface, add tooltips
+
+2013-07-16 14:32  mmetz
+
+	* scripts/v.db.univar/v.db.univar.py: v.db.univar works now with
+	  vector maps
+
+2013-07-16 14:32  mmetz
+
+	* scripts/db.univar, scripts/db.univar/Makefile,
+	  scripts/db.univar/db.univar.html, scripts/db.univar/db.univar.py,
+	  scripts/db.univar/v.db.univar.html,
+	  scripts/db.univar/v.db.univar.py: v.db.univar -> db.univar
+
+2013-07-16 13:28  wenzeslaus
+
+	* gui/wxpython/core/test.toolboxes_menu.xml,
+	  gui/wxpython/core/test.toolboxes_menudata.xml,
+	  gui/wxpython/core/test.toolboxes_user_toolboxes.xml,
+	  gui/wxpython/core/toolboxes.py: wxGUI/toolboxes: new larger test
+
+2013-07-16 13:27  mmetz
+
+	* vector/v.surf.mass: pycnophylactic interpolation needs to go to
+	  addons
+
+2013-07-16 13:26  mmetz
+
+	* vector/v.surf.mass: add pycnophylactic interpolation
+
+2013-07-16 13:05  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2013-07-16 11:03  mmetz
+
+	* raster/Makefile: activate r.stream.extract
+
+2013-07-16 11:01  mmetz
+
+	* raster/r.stream.extract: move r.stream.extract to trunk
+
+2013-07-16 10:14  aghisla
+
+	* gui/wxpython/scripts/vkrige.py, scripts/v.krige/v.krige.py: Fixed
+	  the missing Formula parameter in doKriging function, and some
+	  other edits in GUI.
+
+2013-07-15 21:58  hamish
+
+	* scripts/v.krige/v.krige.html: typo
+
+2013-07-15 16:31  neteler
+
+	* imagery/imageryintro.html: typo fixed
+
+2013-07-15 16:23  martinl
+
+	* raster/r.external/main.c, vector/v.external/main.c: r|v.external:
+	  remove unused keyword
+
+2013-07-15 16:00  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/modules/extensions.py:
+	  wxGUI/extension: generate message error dialog when loading fails
+
+2013-07-15 15:48  neteler
+
+	* imagery/imageryintro.html: imageryintro.html: general intro added
+
+2013-07-15 15:28  huhabla
+
+	* temporal/t.info/t.info.html, temporal/t.list/t.list.html,
+	  temporal/t.merge/t.merge.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py: Documentation update
+	  and t.rast.gapfill map overwrite handling corrected.
+
+2013-07-15 14:03  annakrat
+
+	* gui/wxpython/core/toolboxes.py,
+	  gui/wxpython/modules/extensions.py: update toolboxes after change
+	  in addons
+
+2013-07-15 13:33  aghisla
+
+	* gui/wxpython/scripts/vkrige.py, scripts/v.krige/v.krige.py:
+	  v.krige works again in GRASS7
+
+2013-07-15 12:20  annakrat
+
+	* gui/wxpython/core/toolboxes.py: wxGUI/toolboxes: add <addons> tag
+	  to list addons in menu
+
+2013-07-15 11:22  annakrat
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: add grass dev team to
+	  about window's info page
+
+2013-07-15 11:13  martinl
+
+	* general/g.version/local_proto.h: g.version: fix MONTH macro
+
+2013-07-15 11:03  martinl
+
+	* scripts/Makefile: fix r57134
+
+2013-07-15 10:57  annakrat
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: unicode character for
+	  copyright instead of (C)
+
+2013-07-15 10:49  annakrat
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/psmap/frame.py: wxGUI: reusable about dialog, not
+	  translatable
+
+2013-07-15 10:42  aghisla
+
+	* gui/wxpython/scripts/vkrige.py: Fixed variable names in gui
+	  script.
+
+2013-07-15 10:41  aghisla
+
+	* scripts/v.krige/v.krige.html: Documentation updated with
+	  meaningful parameters for CLI run.
+
+2013-07-15 09:53  aghisla
+
+	* gui/wxpython/scripts/vkrige.py, scripts/Makefile,
+	  scripts/v.krige/v.krige.py: Removed global variables from GUI and
+	  core scripts.
+
+2013-07-15 09:49  annakrat
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: fix previous commit
+	  r57132
+
+2013-07-15 09:38  annakrat
+
+	* gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/wxnviz.py:
+	  wxNVIZ: fix crash accidentally introduced in r57082
+
+2013-07-15 09:34  mmetz
+
+	* lib/cdhc/Makefile: cdhc: change make rules order inclusion
+
+2013-07-15 08:24  ychemin
+
+	* scripts/Makefile, scripts/g.isis3mt: moved g.isis3mt from trunk
+	  to grass-addons
+
+2013-07-14 16:59  wenzeslaus
+
+	* gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/mapdisp/mapwindow.py: wxGUI/mapwindow: introducing
+	  mouseLeftUpPointer signal and removing gcp manager code
+
+2013-07-14 16:56  ychemin
+
+	* scripts/Makefile, scripts/g.isis3mt, scripts/g.isis3mt/Makefile,
+	  scripts/g.isis3mt/g.isis3mt.html, scripts/g.isis3mt/g.isis3mt.py:
+	  Generate an ISIS3 map template from actual location
+
+2013-07-14 16:45  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI: mapwindow/frame code decoupling
+
+2013-07-14 16:29  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: revert accidentally committed
+	  code
+
+2013-07-14 16:27  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/nviz/mapwindow.py:
+	  wxNviz: fix color initializing of vector
+
+2013-07-14 16:11  martinl
+
+	* scripts/v.pack/v.pack.py: v.pack: fix global var usage
+
+2013-07-14 16:07  martinl
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: output table name
+	  cosmetics when only one table is linked to the map
+
+2013-07-14 15:58  martinl
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: fix on MS Windows
+
+2013-07-14 15:07  neteler
+
+	* lib/cdhc/cdhclib.dox: +Author
+
+2013-07-14 14:32  martinl
+
+	* scripts/v.pack/v.pack.py: v.pack: move db and proj file to the
+	  root, preparation for packaging multiple maps
+
+2013-07-14 14:12  martinl
+
+	* scripts/v.pack/v.pack.py: v.pack: remove tmp dir when exiting
+
+2013-07-14 13:56  martinl
+
+	* scripts/v.pack/v.pack.py: v.pack: use temp dir for packaging, fix
+	  on Windows
+
+2013-07-14 13:30  neteler
+
+	* grasslib.dox: doxygen: fix references to sublibs
+
+2013-07-14 12:27  neteler
+
+	* grasslib.dox: doxygen: standardization
+
+2013-07-14 12:21  wenzeslaus
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI/mapwindow: introducing mouseEntered signal and removing gcp
+	  manager code
+
+2013-07-14 12:13  neteler
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in: doxygen: improve manual
+	  title
+
+2013-07-14 12:12  neteler
+
+	* lib/cdhc/Makefile, lib/cdhc/cdhclib.dox: cdhclib: doxygenization
+	  started
+
+2013-07-14 11:05  annakrat
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: remove debug prints
+
+2013-07-14 10:24  martinl
+
+	* include/Make/Script.make: Script.make: copy etc dir only if it's
+	  not empty
+
+2013-07-14 10:05  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/statusbar.py:
+	  wxGUI: fix statusbar update
+
+2013-07-14 09:51  turek
+
+	* gui/wxpython/vnet/vnet_data.py: wx.vnet points list bug fixing
+
+2013-07-14 09:37  martinl
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: add v.pack and v.unpack to
+	  the menu
+
+2013-07-14 09:33  wenzeslaus
+
+	* gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/toolbars.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py: wxGUI/mapwindow: removing
+	  direct StatusbarUpdate calls from mapwindow, replaced by
+	  zoomChanged signal (statusbar text partialy broken, temporarily)
+
+2013-07-14 08:34  annakrat
+
+	* gui/wxpython/core/events.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/vnet/dialogs.py, gui/wxpython/vnet/vnet_core.py:
+	  wxGUI: remove gUpdateMap events and replace by signals
+
+2013-07-14 08:23  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extensions: fix loading
+	  on windows, parent is not wxWindow
+
+2013-07-14 08:22  martinl
+
+	* gui/wxpython/core/gcmd.py: wxGUI: RunCommand() print debug if no
+	  parent defined
+
+2013-07-13 17:53  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/stds_export.py,
+	  temporal/t.connect/t.connect.html,
+	  temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.info/t.info.py, temporal/t.merge/t.merge.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.vect.list/test.t.vect.list.sh: Documentation update
+	  and history print function.
+
+2013-07-13 17:30  ychemin
+
+	* gui/images/startup_banner_isis.png: updated banner to high
+	  colours
+
+2013-07-13 16:55  martinl
+
+	* lib/init/grass.py: fix r57087
+
+2013-07-13 16:47  annakrat
+
+	* gui/wxpython/gis_set.py: wxGUI/startup: initialize picture to
+	  black when it fails to display
+
+2013-07-13 16:43  ychemin
+
+	* lib/init/grass.py: If ISIS is installed, run ISIS-GRASS bridge
+
+2013-07-13 16:40  ychemin
+
+	* gui/wxpython/gis_set.py: typo correction
+
+2013-07-13 16:36  martinl
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: be less verbose when
+	  saving settings (cosmetics)
+
+2013-07-13 16:16  wenzeslaus
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapswipe/frame.py: wxGUI/mapwindow: reflecting new
+	  way of handling zoom history (gcp, mapswipe and iclass were
+	  broken before r57078 for unknown reason)
+
+2013-07-13 16:06  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/ws.py,
+	  gui/wxpython/gui_core/mapwindow.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/giface.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/web_services/dialogs.py: wxGUI: remove
+	  wxUpdateProgress event completely, gUpdateMap partly
+
+2013-07-13 16:04  ychemin
+
+	* gui/images/startup_banner_isis.png: Added ISIS-GRASS banner and
+	  condition to display it
+
+2013-07-13 16:03  ychemin
+
+	* gui/wxpython/gis_set.py: Added ISIS-GRASS banner and condition to
+	  display it
+
+2013-07-13 15:49  wenzeslaus
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI/mapdisp: improving
+	  handling of zoom history
+
+2013-07-13 15:47  wenzeslaus
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI/mapdisp: using signals to decouple mapwindow and frame
+	  (query, zoom history and mouse handlers signals)
+
+2013-07-12 19:58  mmetz
+
+	* imagery/i.segment/open_files.c: i.segment: fix -w flag
+
+2013-07-12 06:43  annakrat
+
+	* misc/m.nviz.image/args.c: m.nviz.image: fix parameters check
+
+2013-07-11 23:12  neteler
+
+	* doc/howto_release.txt: howto_release.txt: small updates
+
+2013-07-11 11:30  glynn
+
+	* raster/r.neighbors/main.c: Don't add 0.5 to floating-point output
+	  maps
+
+2013-07-10 10:44  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix #2030
+
+2013-07-09 23:27  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ro.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ro.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: i18n:
+	  messages updated from template
+
+2013-07-09 22:28  neteler
+
+	* locale/po/grasslibs_ro.po, locale/po/grassmods_ro.po,
+	  locale/po/grasswxpy_ro.po: Andreea Marin: Romanian translation
+	  cont'ed
+
+2013-07-09 21:27  mmetz
+
+	* lib/vector/Vlib/remove_areas.c: Vlib: enhance
+	  Vect_remove_small_areas()
+
+2013-07-09 19:40  mmetz
+
+	* lib/vector/Vlib/read.c: Vlib: fix Read_next_line_array()
+
+2013-07-09 08:08  turek
+
+	* gui/wxpython/dbmgr/base.py: dbmgr: put sql query part into own
+	  panel
+
+2013-07-08 22:39  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grasswxpy_fr.po: Sylvain
+	  Maillard: cont'ed
+
+2013-07-08 08:54  hamish
+
+	* mswindows/GRASS-Installer.nsi.tmpl: add show details button
+	  (merge from devbr6)
+
+2013-07-07 04:50  hamish
+
+	* scripts/r.in.wms/wms_base.py: trivial whitespace
+
+2013-07-07 04:18  hamish
+
+	* gui/wxpython/core/utils.py, scripts/m.proj/m.proj.py,
+	  scripts/r.in.wms/wms_base.py: back to orig option name; refers to
+	  direction of travel, not entity being passed
+
+2013-07-07 03:45  hamish
+
+	* man/build_keywords.py: svn props
+
+2013-07-06 17:13  marisn
+
+	* scripts/r.fillnulls/r.fillnulls.py: Speed up r.fillnulls by using
+	  vector based holes.
+	  A modified version of Stefan Blumentrath patch from #1938
+
+2013-07-06 13:57  neteler
+
+	* man/build_html.py: rename wxGUI.Components to wxGUI.components
+	  (one more for r57007)
+
+2013-07-06 10:21  turek
+
+	* gui/scripts/d.wms.py: d.wms: move method option to optional tab
+
+2013-07-06 10:20  turek
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: move method option to
+	  optional tab
+
+2013-07-06 09:42  turek
+
+	* gui/wxpython/web_services/dialogs.py: web service dialog: avoid
+	  resizing if the dialog when web service is changed
+
+2013-07-06 09:34  turek
+
+	* gui/scripts/d.wms.py: d.wms: add png8 format option
+
+2013-07-06 09:31  turek
+
+	* scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms_base.py:
+	  r.in.wms: add png8 format option
+
+2013-07-06 09:28  turek
+
+	* scripts/r.in.wms/wms_drv.py: r.in.wms: do not add bgcolor to
+	  request if it is not set
+
+2013-07-06 08:29  hamish
+
+	* include/symbol.h, lib/symbol/read.c, lib/symbol/stroke.c: store
+	  stroked symbol coords as double not int to avoid some rounding
+	  wiggle
+
+2013-07-05 11:43  marisn
+
+	* scripts/r.fillnulls/r.fillnulls.py: Allow user to adjust npmin
+	  and segmax values for RST interpolator.
+	  High default values choosen to promote no segmentation for
+	  smaller holes as data around holes are not
+	  uniformly distributed and thus prone to segment edge problem.
+
+2013-07-05 10:51  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: less confusing message
+
+2013-07-05 08:45  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix OGR field evaluation
+
+2013-07-04 20:40  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: patch by Glynn for running
+	  r.mapcalc from command line with quotes
+
+2013-07-04 14:11  turek
+
+	* gui/wxpython/gui_core/gselect.py: LayerSelect: include -1 fix
+
+2013-07-04 12:49  wenzeslaus
+
+	* gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI.toolboxes.html: wxGUI/toolboxes: fix
+	  compilation issue in man dir (br tag has no and tag)
+
+2013-07-04 12:10  mmetz
+
+	* imagery/i.segment/create_isegs.c: i.segment: fail-safe check for
+	  minsize merging
+
+2013-07-04 11:06  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: do not update properties
+	  dialog
+
+2013-07-04 09:13  mmetz
+
+	* imagery/i.segment/create_isegs.c, imagery/i.segment/iseg.h,
+	  imagery/i.segment/open_files.c: i.segment: fix NULL handling,
+	  bounds input, min size
+
+2013-07-04 07:55  martinl
+
+	* doc/gui/wxpython/example/wxGUI.Example.html,
+	  doc/gui/wxpython/example/wxGUI.example.html,
+	  gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.html,
+	  gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/docs/wxGUI.components.html,
+	  gui/wxpython/docs/wxGUI.gcp.html, gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI.nviz.html,
+	  gui/wxpython/docs/wxGUI.toolboxes.html,
+	  gui/wxpython/docs/wxGUI.vnet.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/iclass/g.gui.iclass.html,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/vdigit/g.gui.vdigit.html: rename wxGUI.Components to
+	  wxGUI.components
+
+2013-07-03 20:58  wenzeslaus
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI/toolboxes: fix link (lower
+	  case letters preferred)
+
+2013-07-03 15:57  martinl
+
+	* db/db.login/main.c: db.login: cosmetics in keywords, `attribute
+	  table` is misleading
+
+2013-07-03 15:30  annakrat
+
+	* gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI.toolboxes.html,
+	  gui/wxpython/docs/wxGUI_toolboxes.jpg: wxGUI/toolboxes: add user
+	  manual
+
+2013-07-03 15:29  wenzeslaus
+
+	* gui/wxpython/wxguitoolboxes.dox: wxGUI/toolboxes: reflecting the
+	  change in r57000 and noting the need for valid XML file
+
+2013-07-03 15:23  annakrat
+
+	* gui/wxpython/core/toolboxes.py: wxGUI/toolboxes: remove Toolboxes
+	  menu item when there are no custom toolboxes in toolboxes file
+
+2013-07-03 15:01  martinl
+
+	* raster3d/r3.neighbors: set svn prop
+
+2013-07-03 12:38  turek
+
+	* gui/wxpython/vnet/dialogs.py, gui/wxpython/vnet/vnet_core.py,
+	  gui/wxpython/vnet/vnet_data.py: wx.vnet: cleanup fix
+
+2013-07-03 11:06  hamish
+
+	* scripts/r.in.wms/r.in.wms.py: document needed color format
+
+2013-07-03 09:03  turek
+
+	* gui/scripts/d.wms.py: d.wms:porting back most of Hamish Bowman's
+	  changes of the G6 r.in.wms2 module options (r56970)
+
+2013-07-03 08:52  turek
+
+	* scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms_base.py:
+	  r.in.wms:porting back Hamish Bowman's changes from G6 r.in.wms2
+	  (r56972, r56975 and r56986)
+
+2013-07-03 08:37  turek
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms:porting back most of
+	  Hamish Bowman's changes of the module options from G6 r.in.wms2
+	  (r56970)
+
+2013-07-03 08:04  neteler
+
+	* locale/po/grasswxpy_ro.po: Andreea Marin: Romanian translation
+	  cont'ed
+
+2013-07-02 21:44  mmetz
+
+	* raster/r.volume/main.c: r.volume; fix count
+
+2013-07-02 15:01  mmetz
+
+	* raster/r.volume/main.c: r.volume: fix nodata handling, add fp
+	  support
+
+2013-07-02 15:01  mmetz
+
+	* include/defs/gis.h: defs/gis.h: include sys/stat.h for
+	  G_(l)stat()
+
+2013-07-02 14:37  mmetz
+
+	* display/d.font/main.c, general/g.access/get_perms.c,
+	  general/g.mkfontcap/freetype_fonts.c, include/config.h.in,
+	  include/defs/gis.h, include/iostream/ami_stream.h,
+	  lib/db/dbmi_base/isdir.c, lib/gis/copy_dir.c,
+	  lib/gis/mapset_msc.c, lib/gis/mapset_nme.c, lib/gis/paths.c,
+	  lib/gis/remove.c, lib/gis/user_config.c, lib/init/clean_temp.c,
+	  lib/vector/Vlib/open.c, lib/vector/dglib/examples/parse.c,
+	  lib/vector/diglib/file.c, raster/r.li/r.li.daemon/daemon.c,
+	  vector/v.mapcalc/map.c: simplify wingrass LFS
+
+2013-07-02 13:56  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: msvcrt-1.0.1-7.tar.bz2 ->
+	  msvcrt-1.0.1-8.tar.bz2
+
+2013-07-02 13:35  turek
+
+	* gui/wxpython/web_services/widgets.py: wxgui wms: do not ignore
+	  CRS projections
+
+2013-07-02 13:30  turek
+
+	* scripts/r.in.wms/wms_base.py, scripts/r.in.wms/wms_drv.py,
+	  scripts/r.in.wms/wms_gdal_drv.py: r.in.wms: added support for CRS
+	  projections (WMS 1.3.0)
+
+2013-07-02 10:49  mmetz
+
+	* include/config.h.in: wingrass LFS: do not use _FILE_OFFSET_BITS,
+	  rely on HAVE_LARGEFILES
+
+2013-07-02 09:31  huhabla
+
+	* lib/python/temporal/spatio_temporal_relationships.py: Added
+	  topology build test
+
+2013-07-02 08:38  huhabla
+
+	* lib/python/temporal/spatial_topology_dataset_connector.py,
+	  lib/python/temporal/temporal_topology_dataset_connector.py: Grant
+	  access to a copy of the internal topology relation dictionary.
+
+2013-07-02 00:14  hamish
+
+	* raster/r.volume/centroids.c, raster/r.volume/main.c: sync max cat
+	  datatype, note sites_list fixme, drop unneeded message
+
+2013-07-01 07:35  hamish
+
+	* raster3d/r3.neighbors/Makefile, raster3d/r3.neighbors/main.c,
+	  raster3d/r3.neighbors/r3.neighbors.html,
+	  raster3d/r3.neighbors/test_suite/test.r3.neighbors.sh: svn props
+
+2013-06-30 22:57  huhabla
+
+	* raster3d/r3.neighbors/main.c: Corrected indention
+
+2013-06-30 22:26  huhabla
+
+	* raster3d/Makefile, raster3d/r3.neighbors,
+	  raster3d/r3.neighbors/Makefile, raster3d/r3.neighbors/main.c,
+	  raster3d/r3.neighbors/r3.neighbors.html,
+	  raster3d/r3.neighbors/test_suite,
+	  raster3d/r3.neighbors/test_suite/test.r3.neighbors.sh,
+	  raster3d/r3.neighbors/test_suite/test_neighbor_double_average.ref,
+	  raster3d/r3.neighbors/test_suite/test_neighbor_double_sum.ref,
+	  raster3d/r3.neighbors/test_suite/test_neighbor_float_average.ref,
+	  raster3d/r3.neighbors/test_suite/test_neighbor_float_sum.ref,
+	  raster3d/r3.neighbors/test_suite/test_neighbor_null_sum.ref: New
+	  module to perform voxel neighborhood operations
+
+2013-06-30 00:56  hamish
+
+	* imagery/i.landsat.toar/main.c: msg cosmetics (#1997)
+
+2013-06-29 10:42  hamish
+
+	* scripts/i.spectral/i.spectral.py: use == for value comparison
+
+2013-06-29 10:40  hamish
+
+	* scripts/i.spectral/i.spectral.py: merge gnuplot rendering cleanup
+	  and image output format from devbr6, bugfix gnuplot x-data file
+
+2013-06-27 12:30  mmetz
+
+	* aclocal.m4, configure: enable AIX shared libs
+
+2013-06-27 12:24  huhabla
+
+	* raster/r.gwflow/main.c: Added inner iteration set option.
+
+2013-06-26 22:25  hamish
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/core/menutree.py,
+	  gui/wxpython/core/toolboxes.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/g.gui.dbmgr.py,
+	  gui/wxpython/dbmgr/sqlbuilder.py, gui/wxpython/gis_set.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/query.py,
+	  gui/wxpython/gui_core/treeview.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/g.gui.iclass.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/overlays.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/modules/vclean.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/rlisetup/wizard.py, gui/wxpython/scripts/vkrige.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py,
+	  gui/wxpython/web_services/cap_interface.py,
+	  gui/wxpython/web_services/widgets.py, gui/wxpython/wxgui.py,
+	  lib/init/grass.py: avoid repetition in PYTHONPATH
+
+2013-06-26 21:29  hamish
+
+	* raster/r.li/r.li.setup/OBSOLETE: no longer used
+
+2013-06-26 18:11  neteler
+
+	* locale/po/grasswxpy_ro.po: Andreea Marin: Romanian translation
+	  cont'ed
+
+2013-06-26 14:30  mmetz
+
+	* include/config.h.in: remove AIX hack
+
+2013-06-26 14:23  neteler
+
+	* raster/simwe/simlib/waterglobs.h: r.sim.*: reduce static memory
+	  allocation
+
+2013-06-26 07:45  mmetz
+
+	* include/iostream/empq_adaptive_impl.h: iostream: init var, fix
+	  assert()
+
+2013-06-26 05:18  hamish
+
+	* general/g.mkfontcap/g.mkfontcap.html, general/g.mkfontcap/main.c:
+	  also search for locally installed fonts (see
+	  http://www.x.org/releases/X11R7.7/doc/xorg-docs/fonts/fonts.html#Installing_fonts)
+
+2013-06-26 02:05  hamish
+
+	* lib/init/grass.sh: GRASS_PYTHON needs to be quoted as path may
+	  contain a space
+
+2013-06-26 02:03  hamish
+
+	* mswindows/osgeo4w/grass.bat.tmpl: GRASS_PYTHON needs to be quoted
+	  as path may contain a space
+
+2013-06-26 02:00  hamish
+
+	* mswindows/GRASS-Installer.nsi.tmpl: GRASS_PYTHON needs to be
+	  quoted as path may contain a space
+
+2013-06-26 00:29  hamish
+
+	* gui/wxpython/scripts/vkrige.py, scripts/v.krige/v.krige.py: allow
+	  cat column as data column (mostly for testing);
+	  tweak default variance map name;
+	  some linewrap and wording
+
+2013-06-25 23:30  hamish
+
+	* scripts/v.krige/v.krige.py: fix a fix missed in merge of fixes
+	  from devbr6 r42003
+
+2013-06-25 20:58  annakrat
+
+	* gui/wxpython/scripts/vkrige.py: wxGUI/vkrige: another gui fix for
+	  #1619
+
+2013-06-25 15:48  mmetz
+
+	* include/config.h.in: AIX LFS support
+
+2013-06-25 15:43  neteler
+
+	* lib/rst/interp_float/point2d.c, vector/v.vol.rst/user3.c: rst
+	  lib, v.vol.rst: avoid namespace pollution on AIX
+
+2013-06-25 15:34  neteler
+
+	* lib/python/ctypes/Makefile: ctypes: in case of static libraries
+	  built, bail out with error status for error.log
+
+2013-06-25 14:22  annakrat
+
+	* gui/wxpython/scripts/vkrige.py: wxGUI: small fix for v.krige gui,
+	  see #1619
+
+2013-06-25 13:57  mmetz
+
+	* vector/Makefile: remove addons from vector Makefile
+
+2013-06-25 12:10  turek
+
+	* gui/wxpython/dbmgr/base.py: dbmgr: remeber sql query also after
+	  record editation
+
+2013-06-24 23:21  hamish
+
+	* tools/dep_tree2sql.sh, tools/sql.sh: rename script to something
+	  less generic
+
+2013-06-24 23:18  hamish
+
+	* tools/module_synopsis.sh: note breakage
+
+2013-06-24 15:49  mmetz
+
+	* imagery/i.landsat.toar/main.c: i.landsat.toar: multiple lsatmet
+	  options
+
+2013-06-24 15:34  mmetz
+
+	* imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/landsat.c,
+	  imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/local_proto.h,
+	  imagery/i.landsat.toar/main.c: i.landsat.toar: sync to relbr6
+
+2013-06-24 09:34  mmetz
+
+	* lib/gis/colors/population: avoid integer overflow for color rule
+	  population
+
+2013-06-24 09:08  mmetz
+
+	* tools/thumbnails.py: thumbnails tool: skip empty lines
+
+2013-06-23 21:00  zarch
+
+	* lib/python/pygrass/shell/Makefile,
+	  lib/python/pygrass/shell/__init__.py,
+	  lib/python/pygrass/shell/conversion.py,
+	  lib/python/pygrass/shell/show.py: Add 'show' to init and set
+	  propset
+
+2013-06-23 20:11  hamish
+
+	* gui/wxpython/docs/wxGUI.nviz.html: wording, linewrap
+
+2013-06-23 20:03  mmetz
+
+	* lib/vector/neta/path.c: netalib: revert r56890
+
+2013-06-23 20:03  zarch
+
+	* lib/python/pygrass/functions.py,
+	  lib/python/pygrass/raster/abstract.py: Add '_repr_html_' to
+	  raster Info and RasterAbstract, add r_export to functions, and
+	  fix some indent in the the docstring.
+
+2013-06-23 20:00  hamish
+
+	* gui/wxpython/docs/wxGUI.nviz.html: +Glynn
+
+2013-06-23 20:00  zarch
+
+	* lib/python/pygrass/gis/region.py,
+	  lib/python/pygrass/vector/basic.py: Add '_repr_html_' to Region
+	  class and Bbox
+
+2013-06-23 19:51  hamish
+
+	* gui/wxpython/docs/wxGUI.nviz.html: historic helpers (thanks
+	  Helena)
+
+2013-06-23 19:42  mmetz
+
+	* lib/vector/Vlib/dgraph.c: remove debug code from dgraph.c
+
+2013-06-23 19:25  mmetz
+
+	* lib/vector/Vlib/dgraph.c, lib/vector/Vlib/e_intersect.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/portable.c,
+	  lib/vector/neta/articulation_point.c, lib/vector/neta/path.c,
+	  lib/vector/rtree/node.c, lib/vector/vectorlib.dox: update
+	  vectorlib.dox
+
+2013-06-23 19:20  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/read.py: Fix parameter with
+	  file.
+
+2013-06-23 19:13  zarch
+
+	* lib/python/pygrass/Makefile, lib/python/pygrass/__init__.py,
+	  lib/python/pygrass/shell, lib/python/pygrass/shell/Makefile,
+	  lib/python/pygrass/shell/__init__.py,
+	  lib/python/pygrass/shell/conversion.py,
+	  lib/python/pygrass/shell/show.py: Add support for ipython
+	  notebook.
+
+2013-06-23 19:08  mmetz
+
+	* vector/Makefile, vector/v.net.salesman/Makefile,
+	  vector/v.net.salesman/main.c, vector/v.voronoi/sw_geometry.c,
+	  vector/vectorintro.html: update vectorintro
+
+2013-06-23 18:39  mmetz
+
+	* display/d.vect/main.c: d.vect: more user-friendly
+
+2013-06-23 11:16  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Fix Parameter
+	  class to manage float range and remove unnecessary hide attribute
+	  '_type'.
+
+2013-06-22 23:14  hamish
+
+	* scripts/g.manual/g.manual.py: put back check for browser, needed
+	  on Linux and/or when GRASS_HTML_BROWSER is unset or malformed
+
+2013-06-22 19:51  wenzeslaus
+
+	* scripts/g.manual/g.manual.py: g.manual: no test for browser, only
+	  catching error if start was not successful (#2008)
+
+2013-06-22 14:28  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py: Using Pythons
+	  abstract base class to define abstract classes and methods.
+
+2013-06-21 19:01  wenzeslaus
+
+	* scripts/g.manual/g.manual.py: g.manual: execlp raises OSError on
+	  error, message standardization
+
+2013-06-21 17:33  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib/scripts: can concatenate
+	  only list and list
+
+2013-06-21 16:19  glynn
+
+	* lib/python/script/core.py, tools/thumbnails.py: Revert more of
+	  r56800
+
+2013-06-21 16:14  glynn
+
+	* gui/wxpython/core/render.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py, lib/python/script/core.py:
+	  Change find_program to take arguments as additional paramters
+	  rather than a list
+
+2013-06-21 11:24  zarch
+
+	* lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/read.py: Show the
+	  documentation of the special parameters available for the class
+	  Module
+
+2013-06-21 09:42  mmetz
+
+	* gui/wxpython/core/render.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py: wxGUI: revert r56800
+
+2013-06-21 07:23  hamish
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h: add another checkered barscale
+	  variant
+
+2013-06-21 07:12  huhabla
+
+	* temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py: Correct output
+	  options must be used to enable the overwrite flag in the GUI.
+
+2013-06-21 06:34  hamish
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c: a
+	  couple more rendering tweaks
+
+2013-06-21 06:21  hamish
+
+	* display/d.barscale/main.c: better wording in the tooltip
+
+2013-06-21 06:17  hamish
+
+	* display/d.barscale/draw_n_arrow.c,
+	  display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h: add new barscale styles: mixed
+	  checker and technical drawing dimension arrows;
+	  avoid segfault when traversing >5000 miles (merge from devbr6);
+	  split north arrow drawing code off into its own function+file;
+	  all fonts taller than 1";
+	  rendering and background mask positioning tweaks.
+
+2013-06-21 03:31  hamish
+
+	* display/d.barscale/draw_scale.c: add support for new north arrow
+	  symbol
+
+2013-06-21 02:44  hamish
+
+	* display/d.barscale/main.c: new north arrows
+
+2013-06-21 02:24  hamish
+
+	* gui/images/symbols/extra/dim_arrow.png,
+	  gui/images/symbols/extra/simple_zia.png,
+	  gui/images/symbols/n_arrows/n_arrow8b.png,
+	  gui/images/symbols/n_arrows/n_arrow9.png: thumbnails for new
+	  symbols
+
+2013-06-21 02:04  hamish
+
+	* gui/images/symbols/n_arrows/n_arrow8.png,
+	  gui/images/symbols/n_arrows/n_arrow8a.png: renamed symbol (merge
+	  from devbr6)
+
+2013-06-21 02:04  hamish
+
+	* lib/symbol/symbol/extra/dim_arrow,
+	  lib/symbol/symbol/extra/simple_zia,
+	  lib/symbol/symbol/n_arrows/n_arrow8,
+	  lib/symbol/symbol/n_arrows/n_arrow8a,
+	  lib/symbol/symbol/n_arrows/n_arrow8b,
+	  lib/symbol/symbol/n_arrows/n_arrow9: more symbols and north
+	  arrows (merge from devbr6)
+
+2013-06-21 00:26  hamish
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c:
+	  enable checkerboard barscale with left side twice the freq of the
+	  right
+
+2013-06-20 18:05  glynn
+
+	* lib/python/script/core.py: Revert r56800
+
+2013-06-20 15:35  hamish
+
+	* display/d.barscale/main.c: gui sections, set at least one option
+	  to required so that module gui popup happens
+
+2013-06-20 15:21  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.html: change to new
+	  d.barscale cli options
+
+2013-06-20 15:18  hamish
+
+	* display/d.barscale/Makefile, display/d.barscale/d.barscale.html,
+	  display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h: major rewrite and expansion
+
+2013-06-20 15:02  annakrat
+
+	* lib/python/script/raster.py, lib/python/script/raster3d.py,
+	  lib/python/script/task.py, lib/python/script/vector.py:
+	  pythonlib: clean tabs in script
+
+2013-06-20 14:59  neteler
+
+	* locale/po/grasslibs_ml.po, locale/po/grasslibs_ro.po,
+	  locale/po/grasswxpy_lv.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ro.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: set svn
+	  propset
+
+2013-06-20 14:58  neteler
+
+	* locale/po/grasslibs_ro.po, locale/po/grasswxpy_ro.po,
+	  translators.csv: Andreea Marin: Romanian translation started
+
+2013-06-20 14:31  neteler
+
+	* locale/po/grasslibs_ro.po, translators.csv: Mihai Moise: Romanian
+	  translation started
+
+2013-06-20 14:03  lucadelu
+
+	* lib/init/grass.py: fix string format and PEP 8
+
+2013-06-20 14:00  annakrat
+
+	* raster/r.resamp.bspline/main.c: fix r.resamp.bspline option
+	  description - no nearest option
+
+2013-06-20 13:53  neteler
+
+	* lib/gpde/test/test.gpde.lib.html, lib/gpde/test/test_arrays.c,
+	  lib/gpde/test/test_assemble.c, lib/gpde/test/test_geom.c,
+	  lib/gpde/test/test_gradient.c, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_heat.c, lib/gpde/test/test_les.c,
+	  lib/gpde/test/test_main.c, lib/gpde/test/test_solute_transport.c,
+	  lib/gpde/test/test_tools.c: gpde test suite: do not mark messages
+	  for gettext; added dummy HTML file for compilation
+
+2013-06-20 13:27  lucadelu
+
+	* lib/python/script/core.py: fix string format and PEP 8
+
+2013-06-20 13:12  hamish
+
+	* lib/symbol/symbol/n_arrows/n_arrow2: scale closer to other north
+	  arrows
+
+2013-06-20 13:02  lucadelu
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/create.py, lib/python/temporal/extract.py,
+	  lib/python/temporal/mapcalc.py, lib/python/temporal/register.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/univar_statistics.py: fix string format and
+	  PEP 8
+
+2013-06-20 12:13  hamish
+
+	* lib/display/draw2.c: document the difference between two similar
+	  named functions. todo: doxygenize
+
+2013-06-20 12:02  wenzeslaus
+
+	* include/Make/Python.make: make: -3 parameter added to python to
+	  avoid Python 3 incompatibilities
+
+2013-06-20 09:57  annakrat
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: another small fixes
+	  for #2001
+
+2013-06-20 09:01  annakrat
+
+	* gui/wxpython/xml/toolboxes.xml, gui/wxpython/xml/wxgui_items.xml:
+	  wxGUI/toolboxes: fix name clash
+
+2013-06-20 08:37  zarch
+
+	* lib/python/pygrass/modules/interface/parameter.py: Fix to manage
+	  parameters that are not multiple but are more than one, like
+	  range in i.atcorr
+
+2013-06-20 03:05  hamish
+
+	* vector/v.colors/Makefile: also work for color maps with
+	  underscores in their name
+
+2013-06-19 23:34  hamish
+
+	* raster/r.colors/Makefile, raster/r.colors/thumbnails.py,
+	  tools/thumbnails.py, vector/v.colors/Makefile,
+	  vector/v.colors/thumbnails.py: move thumbnails.py to common dir,
+	  fix v.colors html page insertion
+
+2013-06-19 23:23  hamish
+
+	* configure, configure.in: alpha sort result, fix upper casing
+
+2013-06-19 15:58  neteler
+
+	* raster/r.univar/r3.univar_main.c,
+	  scripts/v.rast.stats/v.rast.stats.py: keywords added
+
+2013-06-19 15:38  wenzeslaus
+
+	* lib/python/script/core.py: pythonlib: turning documentation into
+	  doctests (for grass.core)
+
+2013-06-19 15:22  neteler
+
+	* raster/r.univar/r.univar_main.c, vector/v.vect.stats/main.c:
+	  keywords added
+
+2013-06-19 15:22  neteler
+
+	* vector/v.colors/thumbnails.py: sync with
+	  raster/r.colors/thumbnails.py
+
+2013-06-19 14:51  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py, lib/python/script/core.py,
+	  raster/r.colors/thumbnails.py,
+	  scripts/g.extension/g.extension.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.spectral/i.spectral.py,
+	  scripts/r.in.aster/r.in.aster.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  vector/v.colors/thumbnails.py: pythonlib: change implementation
+	  of find_program (see #2008) and related changes
+
+2013-06-19 14:42  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/composer: fix #2003
+
+2013-06-19 14:42  neteler
+
+	* raster/r.mfilter/main.c, raster/r.neighbors/main.c: keyword
+	  filter added
+
+2013-06-19 12:16  hamish
+
+	* gui/wxpython/location_wizard/wizard.py: note that WYSInotWYG here
+	  (os.linesep needed?)
+
+2013-06-19 11:23  hamish
+
+	* lib/python/script/core.py: add usage example for find_program,
+	  note that the exe needs to return with a non-zero exit code
+
+2013-06-19 06:34  hamish
+
+	* gui/wxpython/location_wizard/wizard.py: present estimated +proj4
+	  terms for Georef'd files and WKT creation
+	  options (merge from devbr6), sync some whitespace with devbr6 for
+	  easier patches.
+
+2013-06-19 04:52  hamish
+
+	* gui/images/loc_wizard.png: drop unused image
+
+2013-06-19 01:04  hamish
+
+	* raster/r.out.gdal/export_band.c: full name in metadata
+
+2013-06-18 23:57  hamish
+
+	* raster/r.colors/Makefile, raster/r.colors/thumbnails.py: fix
+	  thumbnails insert into help page (#2009), add header comments to
+	  .py script, trivial linewrap
+
+2013-06-18 15:04  annakrat
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/widgets.py:
+	  wxGUI: show color table thumbnails in r.colors combo box
+
+2013-06-18 10:10  hamish
+
+	* lib/symbol/symbol/n_arrows/n_arrow8: cleanup to avoid sliver
+	  visible after conversion to pdf (merge from devbr6)
+
+2013-06-18 09:57  hamish
+
+	* lib/symbol/stroke.c: do rotation calcs as doubles then round to
+	  int at the last minute for crisper rendering (merge from devbr6)
+
+2013-06-18 06:52  hamish
+
+	* misc/m.cogo/m.cogo.html: add an example of how to build the
+	  results into an area (#1144)
+
+2013-06-18 05:58  hamish
+
+	* gui/images/symbols/n_arrows/n_arrow1.png,
+	  gui/images/symbols/n_arrows/n_arrow1a.png,
+	  gui/images/symbols/n_arrows/n_arrow1b.png,
+	  gui/images/symbols/n_arrows/n_arrow7a.png,
+	  gui/images/symbols/n_arrows/n_arrow7b.png,
+	  gui/images/symbols/n_arrows/n_arrow8.png,
+	  lib/symbol/symbol/n_arrows/n_arrow1,
+	  lib/symbol/symbol/n_arrows/n_arrow1a,
+	  lib/symbol/symbol/n_arrows/n_arrow1b,
+	  lib/symbol/symbol/n_arrows/n_arrow5,
+	  lib/symbol/symbol/n_arrows/n_arrow7a,
+	  lib/symbol/symbol/n_arrows/n_arrow7b,
+	  lib/symbol/symbol/n_arrows/n_arrow8: add a few more N arrow
+	  symbols
+
+2013-06-18 02:01  hamish
+
+	* gui/images/symbols/n_arrows/n_arrow6.png,
+	  lib/symbol/symbol/n_arrows/n_arrow6: add a concave deltoid N
+	  arrow symbol
+
+2013-06-17 11:07  hamish
+
+	* misc/m.cogo/m.cogo.html, misc/m.cogo/main.c: add flag to repeat
+	  the first coord, closing a boundary (wish #1725)
+	  and increase precision to ensure a lossless round trip. (merge
+	  from devbr6)
+
+2013-06-17 09:24  hamish
+
+	* gui/wxpython/Makefile: limit install to .py where it can be
+	  (#2006), alpha-sort dirs, linewrap
+
+2013-06-17 09:11  hamish
+
+	* gui/wxpython/vnet/vnet_core.py, gui/wxpython/vnet/vnet_data.py,
+	  gui/wxpython/vnet/vnet_utils.py: svn props
+
+2013-06-17 07:31  hamish
+
+	* gui/wxpython/core/gcmd.py: spelling in comment
+
+2013-06-17 02:38  hamish
+
+	* gui/wxpython/xml/menudata.README: OnXTerm, OnXTermNoXMon no
+	  longer exist in frame.py
+
+2013-06-16 21:36  turek
+
+	* gui/wxpython/vnet/__init__.py, gui/wxpython/vnet/dialogs.py,
+	  gui/wxpython/vnet/toolbars.py, gui/wxpython/vnet/vnet_core.py,
+	  gui/wxpython/vnet/vnet_data.py, gui/wxpython/vnet/vnet_utils.py,
+	  gui/wxpython/vnet/widgets.py: wx.vnet: basic refactoring (work in
+	  progress), added code for turns support (curently hidden until
+	  turns backend will be in GRASS)
+
+2013-06-16 18:05  zarch
+
+	* lib/python/pygrass/modules/interface/flag.py: Fix Flag __doc__
+	  attribute
+
+2013-06-16 17:20  lucadelu
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: try to fix problem when
+	  dbf or sqlite directory is missing
+
+2013-06-16 17:01  wenzeslaus
+
+	* lib/python/pygrass/modules/interface/parameter.py: pygrass: use
+	  keydescvalues only when defined
+
+2013-06-16 11:18  hamish
+
+	* raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html: move
+	  Rast_allocate_c_buf() after possible return, whitespace (merge
+	  from devbr6)
+
+2013-06-16 08:39  hamish
+
+	* raster/r.colors/thumbnails.py: also skip lines defining the
+	  'default' color (i.e. the color to use beyond max and min). trac
+	  #2009
+
+2013-06-16 03:00  hamish
+
+	* raster/r.gwflow/r.gwflow.html,
+	  raster/r.li/r.li.daemon/r.li.daemon.html, vector/v.clean/main.c,
+	  vector/v.clean/prune.c, vector/v.generalize/misc.c,
+	  vector/v.overlay/v.overlay.html: spelling fixes picked up by
+	  Lintian
+
+2013-06-16 02:41  hamish
+
+	* mswindows/env.bat: use locally installed python.exe by default to
+	  avoid out-of-sync breakage vs .grass's PYTHONPATH, tcl/tk no more
+
+2013-06-15 12:07  neteler
+
+	* raster/r.li/r.li.html: r.li.html: avoid that
+	  man/build_keywords.py dies with 'IndexError: string index out of
+	  range'; fix title tag
+
+2013-06-15 10:39  hamish
+
+	* demolocation/PERMANENT/PROJ_INFO: "no defaults" not needed here.
+	  (see /usr/share/proj/proj_def.dat)
+
+2013-06-15 10:28  neteler
+
+	* demolocation/PERMANENT/PROJ_INFO: demolocation: update to current
+	  file structure as generated with 'grass70 -c EPSG:4326
+	  ~/grassdata/ll/PERMANENT'
+
+2013-06-15 10:20  neteler
+
+	* display/d.vect.chart/d.vect.chart.html,
+	  display/d.vect.chart/main.c: d.vect.chart: +keyword; HTML
+	  cosmetics
+
+2013-06-15 09:54  neteler
+
+	* display/d.thematic.area/d.thematic.area.html,
+	  display/d.thematic.area/main.c: d.thematic.area: +keyword; HTML
+	  cleanup
+
+2013-06-15 07:01  hamish
+
+	* raster/r.li/r.li.setup/area_query,
+	  raster/r.li/r.li.setup/circle.txt,
+	  raster/r.li/r.li.setup/polygon.txt,
+	  raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.li/r.li.setup/square_query: merge fixes from devbr6
+
+2013-06-15 06:01  lucadelu
+
+	* lib/python/pygrass/vector/table.py: pygrass fix creation of
+	  sqlite database where sqlite directory is missing
+
+2013-06-15 05:51  hamish
+
+	* raster/r.li/r.li.html: merge fixes from devbr6
+
+2013-06-14 16:02  glynn
+
+	* demolocation/Makefile: Rename DIRS -> SRCDIRS
+
+2013-06-14 10:52  mmetz
+
+	* scripts/v.db.addtable/v.db.addtable.py: v.db.addtable: add schema
+	  to table name if schema exists
+
+2013-06-14 10:24  mmetz
+
+	* include/Make/Grass.make, include/Make/Platform.make.in: Make
+	  system: remove crude hack for global LFS
+
+2013-06-14 10:22  mmetz
+
+	* aclocal.m4, configure, configure.in: configure: save LFS_FLAGS
+
+2013-06-14 09:19  mmetz
+
+	* vector/v.to.rast/dense_line.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/raster.c, vector/v.to.rast/vect2rast.c:
+	  v.to.rast: add new -d flag to create densified lines
+
+2013-06-14 09:15  mmetz
+
+	* vector/v.split/main.c: v.split: add option to not split lines
+	  when adding vertices
+
+2013-06-14 08:29  hamish
+
+	* gui/wxpython/core/settings.py, gui/wxpython/dbmgr/base.py,
+	  gui/wxpython/gui_core/preferences.py: #1633: make it very
+	  unlikely that field sep will collide with values in the ascii
+	  flat table, without requiring user intervention (merge from
+	  devbr6)
+
+2013-06-13 13:22  annakrat
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: fix #2001
+
+2013-06-13 08:10  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Fix the docstring.
+
+2013-06-13 08:08  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Add a method to VectorTopo
+	  class to access directly to the geometry feature through the cat.
+
+2013-06-13 08:05  zarch
+
+	* lib/python/pygrass/functions.py: Add a function that return a
+	  list of files contained in a directory
+
+2013-06-12 14:10  neteler
+
+	* raster/r.colors/thumbnails.py: thumbnails.py: convert tab to
+	  spaces
+
+2013-06-12 14:06  neteler
+
+	* vector/v.colors/thumbnails.py: thumbnails.py: convert tab to
+	  spaces
+
+2013-06-12 08:16  mmetz
+
+	* scripts/v.dissolve/v.dissolve.py: v.dissolve requires a valid
+	  layer
+
+2013-06-11 12:33  zarch
+
+	* lib/python/pygrass/raster/abstract.py: Fix bug get_value method,
+	  row and col were inverted.
+
+2013-06-11 09:21  mmetz
+
+	* lib/vector/Vlib/net.c: Vlib: Stephan Turek: fix node costs
+
+2013-06-10 19:42  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: use frexp, ldexp instead of
+	  log2, pow
+
+2013-06-10 12:31  neteler
+
+	* install-sh: install-sh: updated to newer version (source:
+	  https://svn.met.no/viewvc/fimex/branches/version0_28_x/install-sh,
+	  GPL)
+
+2013-06-10 10:45  neteler
+
+	* lib/vector/diglib/Makefile: diglib: use cmp for byte-wise
+	  comparison of portability test (diff is ASCII only on AIX)
+
+2013-06-10 10:36  neteler
+
+	* lib/init/grass.py: grass.py: catch existing but unwritable tmp
+	  dir
+
+2013-06-10 09:51  hamish
+
+	* gui/images/Makefile: new north arrows section
+
+2013-06-10 09:47  hamish
+
+	* lib/symbol/Makefile: new north arrows section
+
+2013-06-10 09:45  hamish
+
+	* gui/images/symbols/n_arrows/n_arrow5.png: thumbnail for new north
+	  arrow
+
+2013-06-10 09:39  hamish
+
+	* gui/images/symbols/extra/compass.png,
+	  gui/images/symbols/extra/fancy_compass.png,
+	  gui/images/symbols/extra/n_arrow1.png,
+	  gui/images/symbols/extra/n_arrow2.png,
+	  gui/images/symbols/extra/n_arrow3.png,
+	  gui/images/symbols/extra/n_arrow4.png,
+	  gui/images/symbols/n_arrows/compass.png,
+	  gui/images/symbols/n_arrows/fancy_compass.png,
+	  gui/images/symbols/n_arrows/n_arrow1.png,
+	  gui/images/symbols/n_arrows/n_arrow2.png,
+	  gui/images/symbols/n_arrows/n_arrow3.png,
+	  gui/images/symbols/n_arrows/n_arrow4.png: move images into new
+	  section for north arrows
+
+2013-06-10 09:37  hamish
+
+	* gui/images/symbols/n_arrows: new section for north arrows
+
+2013-06-10 09:37  hamish
+
+	* lib/symbol/symbol/extra/compass,
+	  lib/symbol/symbol/extra/fancy_compass,
+	  lib/symbol/symbol/extra/n_arrow1,
+	  lib/symbol/symbol/extra/n_arrow2,
+	  lib/symbol/symbol/extra/n_arrow3,
+	  lib/symbol/symbol/extra/n_arrow4,
+	  lib/symbol/symbol/n_arrows/compass,
+	  lib/symbol/symbol/n_arrows/fancy_compass,
+	  lib/symbol/symbol/n_arrows/n_arrow1,
+	  lib/symbol/symbol/n_arrows/n_arrow2,
+	  lib/symbol/symbol/n_arrows/n_arrow3,
+	  lib/symbol/symbol/n_arrows/n_arrow4: move north arrows into their
+	  own section
+
+2013-06-10 09:29  hamish
+
+	* lib/symbol/symbol/n_arrows, lib/symbol/symbol/n_arrows/n_arrow5:
+	  new north arrow, new north arrow section
+
+2013-06-10 08:35  neteler
+
+	* lib/init/grass.py: grass.py: catch undefined sys_man_path (for
+	  AIX 7.1)
+
+2013-06-10 04:41  hamish
+
+	* ps/ps.map/vect.c: rename nearest() fn to avoid namespace conflict
+	  with libm on AIX 7.1
+
+2013-06-09 20:15  hamish
+
+	* vector/v.in.ogr/main.c: compatibility with C89 compilers
+
+2013-06-09 17:01  neteler
+
+	* config.guess, config.sub, configure: config.guess + config.sub:
+	  updated from http://git.savannah.gnu.org/cgit/config.git/plain/
+
+2013-06-09 16:41  neteler
+
+	* doc/howto_release.txt: howto_release.txt: sync to relbranch64
+	  file
+
+2013-06-09 13:23  neteler
+
+	* imagery/i.cluster/open_files.c, imagery/i.gensig/parse.c,
+	  imagery/i.gensigset/parse.c, imagery/i.maxlik/open.c,
+	  imagery/i.smap/parse.c: i18n: more understandable error messages
+	  since I_find_group() only searches in the current mapset; re-use
+	  existing messages
+
+2013-06-09 13:21  neteler
+
+	* vector/v.transform/main.c: v.transform: + GCP keyword for index
+
+2013-06-09 12:37  neteler
+
+	* imagery/i.gensig/i.gensig.html: i.gensig: explain SIG file
+	  structure
+
+2013-06-09 12:22  hamish
+
+	* gui/wxpython/gui_core/preferences.py: minor text cosmetic
+
+2013-06-09 07:12  hamish
+
+	* vector/v.in.ogr/main.c: include math.h for log2(), pow(), and
+	  log10()
+
+2013-06-08 19:32  mmetz
+
+	* db/drivers/sqlite/index.c: sqlite driver: avoid error when index
+	  exists already
+
+2013-06-08 09:05  hamish
+
+	* raster/r.in.gridatb/main.c: use G_define_standard_option()s
+
+2013-06-07 16:59  mmetz
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI menu: r.shaded.relief2 ->
+	  r.shaded.relief
+
+2013-06-07 15:25  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/datetime_math.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py: Implemented
+	  temporal buffering
+
+2013-06-07 09:16  hamish
+
+	* lib/ogsf/gsd_img_mpeg.c: tweaks to get it working on
+	  Debian/squeeze, Ubuntu 10.04, and Ubuntu 12.04 (#1423, merge from
+	  devbr6)
+
+2013-06-06 09:23  mmetz
+
+	* imagery/i.segment/write_output.c: i.segment: fix goodness of fit
+
+2013-06-06 01:15  kyngchaos
+
+	* macosx/Makefile: sync Mac install target to fix demolocation
+
+2013-06-05 22:57  hamish
+
+	* gui/wxpython/lmgr/frame.py: spelling in comment
+
+2013-06-05 18:57  mmetz
+
+	* gui/wxpython/modules/vclean.py: wxGUI. v.clean interface
+	  cosmetics
+
+2013-06-05 15:22  mmetz
+
+	* raster/r.grow.distance/main.c: r.grow.distance: output distance
+	  in meters for lat/lon is only possible with metric=geodesic
+
+2013-06-05 15:11  mmetz
+
+	* raster/r.shaded.relief2: remove r.shaded.relief2
+
+2013-06-05 15:10  huhabla
+
+	* gui/wxpython/animation/temporal_manager.py: Updated function name
+	  to use the new tgis API naming
+
+2013-06-05 15:09  mmetz
+
+	* raster/Makefile, raster/r.shaded.relief,
+	  raster/r.shaded.relief/Makefile,
+	  raster/r.shaded.relief/r.shaded.relief.html,
+	  raster/r.shaded.relief/r.shaded.relief2.html: r.shaded.relief2 ->
+	  r.shaded.relief
+
+2013-06-05 15:06  mmetz
+
+	* raster/r.shaded.relief2/Makefile,
+	  raster/r.shaded.relief2/r.shaded.relief.html,
+	  raster/r.shaded.relief2/r.shaded.relief2.html: r.shaded.relief2
+	  -> r.shaded.relief
+
+2013-06-05 15:04  mmetz
+
+	* scripts/Makefile, scripts/r.shaded.relief: r.shaded.relief:
+	  replace script with C module
+
+2013-06-05 15:01  mmetz
+
+	* raster/r.patch/support.c: r.patch: do not assign colors of first
+	  map to result because the output range might not be covered
+
+2013-06-05 14:16  neteler
+
+	* lib/cairodriver/cairodriver.html: cairodriver example: use vector
+	  font
+
+2013-06-05 14:05  neteler
+
+	* lib/cairodriver/cairodriver.html: cairodriver: vector example
+	  added (but commented out)
+
+2013-06-05 13:41  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py: Snapping and
+	  shifting of map lists implemented
+
+2013-06-05 13:38  neteler
+
+	* display/d.mon/d.mon.html, display/d.mon/main.c: d.mon: better
+	  crosslink drivers
+
+2013-06-05 09:13  martinl
+
+	* vector/v.db.select/main.c: v.db.select: fix vertical separator,
+	  use G_option_to_separator()
+
+2013-06-05 08:36  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/list.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/unit_tests.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh: Added
+	  spatial and temporal extent intersection, union and disjoint
+	  union. Renamed some functions.
+
+2013-06-04 19:31  mmetz
+
+	* raster/r.in.gdal/main.c, raster/r.in.gdal/r.in.gdal.html:
+	  r.in.gdal: create target location if not existent from GCP
+	  projection info; update comments wrt thin plate spline
+
+2013-06-04 19:23  mmetz
+
+	* imagery/i.rectify/i.rectify.html: i.rectify: update manual for
+	  thin plate spline
+
+2013-06-04 16:37  martinl
+
+	* vector/v.db.select/main.c: v.db.select: fix sep=newline
+
+2013-06-04 15:36  mmetz
+
+	* imagery/i.pca/main.c: i.pca: fix #1991 and r56494
+
+2013-06-04 08:18  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix next issue in #1987
+
+2013-06-03 19:43  mmetz
+
+	* raster/r.watershed/ram/do_cum.c, raster/r.watershed/seg/do_cum.c:
+	  r.watershed: skip NULL cells for streams
+
+2013-06-03 19:01  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py: wxNviz: fix error from #1961,
+	  comment 15
+
+2013-06-03 18:21  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix #1987
+
+2013-06-03 07:11  turek
+
+	* scripts/r.in.wms/r.in.wms.html: r.in.wms: manual - new example
+	  added and not working example removed (server does not respond)
+
+2013-06-02 21:37  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: fix l1bdriver, TODO: figure
+	  out the need to flip GCP line
+
+2013-06-02 21:33  mmetz
+
+	* imagery/i.rectify/cp.c, imagery/i.rectify/get_wind.c,
+	  imagery/i.rectify/global.h, imagery/i.rectify/main.c,
+	  imagery/i.rectify/rectify.c: i.rectify: add thin plate spline
+	  coordinate transformation
+
+2013-06-02 21:33  mmetz
+
+	* include/defs/imagery.h, lib/imagery/georef_tps.c: imagery lib:
+	  add thin plate spline coordinate transformation
+
+2013-06-02 17:02  huhabla
+
+	* lib/temporal/Makefile, lib/temporal/t.connect, temporal/Makefile,
+	  temporal/t.connect, temporal/t.connect/Makefile: Moved t.connect
+	  into the temporal module directory
+
+2013-06-02 15:40  annakrat
+
+	* lib/ogsf/gvd.c: ogsf: fix changing height of vector lines
+
+2013-06-02 15:39  annakrat
+
+	* lib/ogsf/Gs3.c: ogsf: fix initialization of variables
+
+2013-06-02 15:18  martinl
+
+	* lib/external/README.license: update readme - bwidget has been
+	  removed
+
+2013-06-02 12:18  turek
+
+	* scripts/r.in.wms/wms_drv.py: r.in.wms: repeat request for tile
+	  after some break if request was not successful
+
+2013-06-02 09:40  annakrat
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/nviz/tools.py:
+	  wxNviz: fix error when reordering layers
+
+2013-06-01 17:03  martinl
+
+	* vector/v.to.points/v.to.points.html: v.to.points: note in the
+	  manual that input can be 3D
+
+2013-06-01 16:55  martinl
+
+	* vector/v.to.points/local_proto.h, vector/v.to.points/main.c,
+	  vector/v.to.points/v.to.points.html, vector/v.to.points/write.c:
+	  v.to.points: split code into more files
+	  support faces and kernels
+	  change -v/n flag by `use` option
+
+2013-06-01 09:23  neteler
+
+	* raster/r.out.vtk/main.c, raster3d/r3.out.vtk/main.c,
+	  vector/v.out.vtk/main.c: keyword cleanup cont'ed
+
+2013-05-31 19:48  neteler
+
+	* locale/po/grasswxpy_de.po: minor typo fix
+
+2013-05-31 16:19  turek
+
+	* scripts/r.in.wms/wms_base.py: r.in.wms: use urlparams also in
+	  getcapabilities request
+
+2013-05-31 12:49  turek
+
+	* scripts/r.in.wms/wms_base.py, scripts/r.in.wms/wms_drv.py:
+	  r.in.wms: url fix
+
+2013-05-31 07:57  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/core.py, lib/python/temporal/mapcalc.py:
+	  Implemented the rollback function of postgresql, fixed
+	  t.*.mapcalc bug
+
+2013-05-30 18:28  annakrat
+
+	* lib/ogsf/gpd.c: ogsf: fix z shift of points
+
+2013-05-30 15:57  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxNviz: limit perspective values
+
+2013-05-30 14:51  mmetz
+
+	* imagery/i.pca/i.pca.html: i.pca: update manual
+
+2013-05-30 14:36  mmetz
+
+	* vector/v.net/v.net.html: v.net: update manual
+
+2013-05-30 13:13  mmetz
+
+	* scripts/v.db.update/v.db.update.py: v.db.update: move layer
+	  number to required tab because column is required and dependent
+	  on layer
+
+2013-05-30 12:12  martinl
+
+	* lib/vector/Vlib/build_pg.c: vlib(pg): fix updating topogeom data
+	  for faces
+
+2013-05-30 06:30  hamish
+
+	* misc/m.nviz.image/vector.c: rm unused variable
+
+2013-05-30 06:28  hamish
+
+	* misc/m.nviz.image/args.c, misc/m.nviz.image/local_proto.h,
+	  misc/m.nviz.image/vector.c: add option to drape 3D points on DEM
+	  surface
+
+2013-05-29 22:20  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxNviz: fix slider range
+
+2013-05-29 21:40  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py:
+	  wxNviz: merge fix (r56122) for #1961
+
+2013-05-29 21:21  annakrat
+
+	* lib/ogsf/Gv3.c: ogsf: fix crash when unloading areas
+
+2013-05-29 21:18  annakrat
+
+	* lib/ogsf/GS2.c: ogsf: fix exag guess
+
+2013-05-29 21:15  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py:
+	  wxNviz: load areas as boundaries and centroids
+
+2013-05-29 19:57  mmetz
+
+	* imagery/i.pca/Makefile, imagery/i.pca/main.c: i.pca: accept
+	  imagery group as input (#1984)
+
+2013-05-29 19:53  mmetz
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: disable nonsense
+	  subgroup support, TODO: add subgroup support with name of
+	  subgroup
+
+2013-05-29 18:08  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxGUI/nviz: fix starting 3D when no
+	  map loaded
+
+2013-05-29 17:07  hamish
+
+	* misc/m.nviz.image/args.c: expand option descriptions and limits
+	  (merge from devbr6)
+
+2013-05-29 16:30  zarch
+
+	* scripts/g.extension/g.extension.py: Union of different proxy
+	  parameters in one using the following syntax:
+	  proxy=http=<value>,ftp=<value>
+
+2013-05-29 15:29  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI/search: fix #1985
+
+2013-05-29 14:45  martinl
+
+	* lib/vector/Vlib/header_finfo.c: vlib: Vect_get_finfo() returns
+	  for native format NULL
+	  warning -> debug (native format detected)
+
+2013-05-29 13:46  martinl
+
+	* lib/init/variables.html, lib/vector/Vlib/copy.c,
+	  lib/vector/Vlib/open.c, vector/v.external/main.c: vlib: add
+	  GRASS_VECTOR_EXTERNAL_IGNORE variable
+	  update v.external to use this variable
+
+2013-05-29 12:48  martinl
+
+	* lib/vector/Vlib/open.c: vlib: report map format for created maps
+	  in verbose mode
+
+2013-05-29 12:43  neteler
+
+	* scripts/i.pansharpen/i.pansharpen.py: i.pansharpen: raise fatal
+	  error if input data pixels are NULL only
+
+2013-05-29 12:12  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: create tmp map by
+	  Vect_open_tmp_new()
+
+2013-05-29 12:10  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: cosmetics in done message
+
+2013-05-29 12:09  martinl
+
+	* vector/v.out.postgis/main.c: v.out.postgis: correct done message
+
+2013-05-29 12:08  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/simple_features.c: vlib:
+	  add Vect_sfa_get_num_features()
+
+2013-05-29 11:59  mmetz
+
+	* gui/wxpython/gui_core/forms.py: tab to space
+
+2013-05-29 11:57  mmetz
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: protect whitespace with
+	  quotes when copying a command
+
+2013-05-29 11:43  mmetz
+
+	* lib/python/script/task.py: revert r56351, it breaks the GUI
+	  because it interferes with subprocess.Popen. TODO: fix GUI
+	  TaskFrame.OnCopy()
+
+2013-05-28 23:44  hamish
+
+	* scripts/r.plane/r.plane.html: track option changes
+
+2013-05-28 23:42  hamish
+
+	* scripts/r3.in.xyz/r3.in.xyz.py: minor whitespace in comment
+
+2013-05-28 21:25  hamish
+
+	* mswindows/osgeo4w/grass.tmpl: don't export with "$", quote paths
+	  (#1981)
+
+2013-05-28 19:59  mmetz
+
+	* vector/v.surf.bspline/main.c: v.surf.bspline: fix type_opt
+
+2013-05-28 14:46  mmetz
+
+	* vector/v.reclass/main.c: v.reclass: fix segfault if string
+	  attribute is NULL
+
+2013-05-28 13:35  martinl
+
+	* lib/vector/Vlib/build_pg.c: vlib(pg): fix writing
+	  nodes/areas/isles into DB for large array (allocate dynamic
+	  buffer for SQL command)
+
+2013-05-28 12:55  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib(pg): enable attaching centroids
+	  for topo-geo-only mode
+
+2013-05-28 12:29  mmetz
+
+	* raster/r.watershed/front/main.c: r.watershed: fix typo
+
+2013-05-28 12:07  zarch
+
+	* scripts/g.extension/g.extension.py: Add proxy support.
+
+2013-05-28 11:55  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib(pg): fix bug in scan_array
+	  remove unused variables
+
+2013-05-28 11:38  martinl
+
+	* vector/v.info/print.c: v.info: report topo-geo-only for PG links
+
+2013-05-28 11:31  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib: fix typo in message
+
+2013-05-28 11:23  martinl
+
+	* lib/vector/Vlib/build_pg.c: vlib(pg): fix write_areas() for areas
+	  which do not have centroid
+
+2013-05-28 10:39  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: p['value'] must be
+	  string (see task.py)
+
+2013-05-28 10:19  hamish
+
+	* gui/wxpython/core/render.py: better use of tempfile.mkstemp()
+	  (#560, #943,comment:10, merge from devbr6 r56444)
+
+2013-05-27 20:27  neteler
+
+	* imagery/i.segment/parse_args.c: i.segment: msg cosmetics
+
+2013-05-27 19:20  neteler
+
+	* locale/po/grassmods_de.po, locale/po/grasswxpy_de.po: Robert
+	  Nuske: DE translation updated
+
+2013-05-27 17:47  martinl
+
+	* vector/v.external.out/v.external.out.html,
+	  vector/v.out.postgis/v.out.postgis.html: v.out.postgis &
+	  v.external.out: update PG creation options
+
+2013-05-27 17:46  martinl
+
+	* include/vect/dig_defines.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/copy.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/pg_local_proto.h,
+	  lib/vector/Vlib/write_pg.c: vlib(pg): store GRASS topology in DB
+	  (can be optionally disabled by the user)
+	  various fixes reading and writing topological elements from DB
+	  use offset to map nodes
+	  doxygen cosmetics
+
+2013-05-27 14:17  martinl
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/wxplot/histogram.py: wxGUI/histogram(pyplot): avoid
+	  dialog for selecting raster when launching tool for context menu
+	  or from map display
+
+2013-05-27 14:11  neteler
+
+	* raster/r.shaded.relief2/r.shaded.relief2.html: r.shaded.relief2:
+	  author added
+
+2013-05-27 13:48  neteler
+
+	* db/drivers/dbf/grass-dbf.html, db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html,
+	  db/drivers/odbc/grass-odbc.html, db/drivers/ogr/grass-ogr.html,
+	  db/drivers/postgres/grass-pg.html,
+	  db/drivers/sqlite/grass-sqlite.html: DB driver meta manuals:
+	  header/footer completed
+
+2013-05-27 13:41  neteler
+
+	* vector/v.lrs/lrs.html: LRS meta manual: header/footer completed
+
+2013-05-27 13:33  neteler
+
+	* general/g.parser/g.parser.html: g.parser: use standard one-liner
+	  description
+
+2013-05-27 13:23  neteler
+
+	* general/g.parser/g.parser.html: g.parser: header/footer
+	  completed; HTML style updated
+
+2013-05-27 10:57  martinl
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/profile.py: wxGUI: contex menu for rasters -
+	  switch from d.histogram-based dialog to
+	  HistogramPlotFrame
+
+2013-05-27 08:50  huhabla
+
+	* lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/space_time_datasets.py: Fixed indention error
+
+2013-05-27 08:24  neteler
+
+	* mswindows/GRASS-Installer.nsi.tmpl, mswindows/osgeo4w/grass.tmpl:
+	  winGRASS installer: protect white spaces in GRASS_PYTHON
+
+2013-05-26 20:03  neteler
+
+	* display/d.his/main.c, imagery/i.his.rgb/main.c,
+	  imagery/i.rgb.his/main.c, raster/r.his/main.c,
+	  scripts/i.pansharpen/i.pansharpen.py: keyword cleanup: HIS == IHS
+
+2013-05-26 19:52  neteler
+
+	* db/db.connect/main.c, display/d.erase/main.c,
+	  display/d.his/main.c, display/d.path/main.c,
+	  display/d.rgb/main.c, general/g.mremove/main.c,
+	  general/g.version/main.c,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py, imagery/i.albedo/main.c,
+	  imagery/i.biomass/main.c, imagery/i.cca/main.c,
+	  imagery/i.class/main.c, imagery/i.gensig/main.c,
+	  imagery/i.his.rgb/main.c, imagery/i.landsat.acca/main.c,
+	  imagery/i.maxlik/main.c, imagery/i.modis.qc/main.c,
+	  imagery/i.rgb.his/main.c, misc/m.transform/main.c,
+	  raster/r.composite/main.c, raster/r.composite/r.composite.html,
+	  raster/r.his/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.png/main.c,
+	  raster/r.in.xyz/main.c, raster/r.info/main.c,
+	  raster/r.li/r.li.daemon/r.li.daemon.html, raster/r.li/r.li.html,
+	  raster/r.los/main.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/main.c, raster/r.out.png/main.c,
+	  raster/r.shaded.relief2/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.info/r3.info.main.c, raster3d/r3.mask/main.c,
+	  raster3d/r3.out.ascii/main.c, scripts/d.redraw/d.redraw.py,
+	  scripts/r.in.wms/r.in.wms.py, scripts/r.out.xyz/r.out.xyz.py,
+	  scripts/r.rgb/r.rgb.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/r3.in.xyz/r3.in.xyz.py, scripts/v.in.wfs/v.in.wfs.py,
+	  temporal/t.rename/t.rename.py, temporal/t.support/t.support.py,
+	  vector/v.in.ascii/main.c, vector/v.in.dxf/main.c,
+	  vector/v.in.ogr/main.c, vector/v.net.visibility/main.c,
+	  vector/v.net/main.c, vector/v.out.ascii/main.c,
+	  vector/v.out.ogr/main.c: keyword cleanup cont'ed
+
+2013-05-26 18:31  neteler
+
+	* imagery/i.segment/main.c, imagery/i.smap/main.c: keyword
+	  improvements
+
+2013-05-26 18:09  neteler
+
+	* imagery/i.aster.toar/i.aster.toar.html, imagery/i.class/main.c,
+	  imagery/i.gensig/main.c, imagery/i.gensigset/main.c,
+	  imagery/i.landsat.acca/main.c,
+	  imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/main.c, imagery/imageryintro.html,
+	  scripts/i.tasscap/i.tasscap.py: manual and keyword improvements
+
+2013-05-26 13:28  neteler
+
+	* imagery/i.fft/main.c, imagery/i.ifft/main.c: i.fft/i.ifft: add
+	  keyword for keywords.html
+
+2013-05-26 10:14  hamish
+
+	* raster/r.in.mat/main.c: avoid 'or enter text here' for binary
+	  input file
+
+2013-05-26 09:37  martinl
+
+	* vector/v.external.out/v.external.out.html: v.external.out: fix
+	  link to `v.out.postgis` in the manual
+
+2013-05-25 19:59  neteler
+
+	* vector/v.label.sa/Makefile, vector/v.label.sa/labels.c:
+	  v.label.sa: DIG2LIB,GRAPHLIB used; free_freetypecap() ->
+	  free_fontcap() since r34923; still not compiling
+
+2013-05-25 19:43  neteler
+
+	* vector/v.label.sa/Makefile: v.label.sa: DBMILIB used
+
+2013-05-25 17:37  kyngchaos
+
+	* macosx/app/build_gui_user_menu.sh, macosx/app/grass.sh.in: handle
+	  script extensions, more for #854
+
+2013-05-25 15:51  neteler
+
+	* gui/wxpython/docs/wxGUI.nviz.html: manual: HTML cosmetics
+
+2013-05-25 15:51  kyngchaos
+
+	* macosx/Makefile: sync OS X install target, fixes #854
+
+2013-05-24 20:32  neteler
+
+	* tools/mkhtml.py: manual: add Topics and Keywords Index link to
+	  all pages
+
+2013-05-24 20:16  neteler
+
+	* vector/v.build.polylines/v.build.polylines.html,
+	  vector/v.build/v.build.html, vector/v.edit/v.edit.html,
+	  vector/v.split/v.split.html: manual: cross-references added
+
+2013-05-24 19:28  neteler
+
+	* raster/r.basins.fill/main.c,
+	  raster/r.basins.fill/r.basins.fill.html,
+	  raster/r.water.outlet/main.c,
+	  raster/r.water.outlet/r.water.outlet.html,
+	  raster/r.watershed/front/main.c: watershed keyword (for index);
+	  cross-references added
+
+2013-05-24 12:56  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/pg: faces are exported as 3D
+	  polygons (simple features)
+
+2013-05-24 12:05  martinl
+
+	* vector/v.out.postgis/args.c, vector/v.out.postgis/local_proto.h,
+	  vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/v.out.postgis.html: v.out.postgis: added
+	  force2D flag (see v.out.ogr)
+
+2013-05-24 11:45  martinl
+
+	* vector/v.out.postgis/args.c, vector/v.out.postgis/local_proto.h,
+	  vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/v.out.postgis.html: v.out.postgis: add
+	  'type' parameter
+	  update manual - add note about 3D data support
+
+2013-05-24 10:54  martinl
+
+	* lib/vector/Vlib/type.c: vlib: fix Vect_option_to_types() for
+	  `type=auto` (v.out.ogr)
+
+2013-05-23 21:36  neteler
+
+	* doc/loc_structure.odg, lib/loc_struct.png: loc_struct.png:
+	  updated to GRASS 7
+
+2013-05-23 20:56  hamish
+
+	* visualization/wximgview/main.cpp, visualization/ximgview/main.c:
+	  fix std option def'ns
+
+2013-05-23 20:25  mmetz
+
+	* raster/r.watershed/seg/do_cum.c: r.watershed.seg: fix SFD TCI
+
+2013-05-23 20:07  mmetz
+
+	* raster/r.watershed/seg/do_cum.c: r.watershed.seg: fix edge check
+
+2013-05-23 19:59  neteler
+
+	* vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.bridge/v.net.bridge.html,
+	  vector/v.net.centrality/v.net.centrality.html,
+	  vector/v.net.components/v.net.components.html,
+	  vector/v.net.connectivity/v.net.connectivity.html,
+	  vector/v.net.distance/v.net.distance.html,
+	  vector/v.net.flow/v.net.flow.html,
+	  vector/v.net.iso/v.net.iso.html,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.spanningtree/v.net.spanningtree.html,
+	  vector/v.net.timetable/v.net.timetable.html,
+	  vector/v.net.visibility/v.net.visibility.html,
+	  vector/v.net/v.net.html: v.net.*: HTML layout fixes
+
+2013-05-23 17:04  annakrat
+
+	* gui/wxpython/core/gconsole.py: wxGUI: check created maps after
+	  command finished only for grass commands
+
+2013-05-23 16:30  neteler
+
+	* vector/v.net.path/v.net.path.html: v.net.path: explain that nodes
+	  can be inserted interactively; HTML cosmetics
+
+2013-05-23 16:06  neteler
+
+	* locale/po/grasslibs_it.po: grasslibs_it.po: msg cosmetics
+
+2013-05-23 15:21  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib: write_line_sf() - clarify
+	  message (skipping features)
+
+2013-05-23 14:42  martinl
+
+	* lib/vector/Vlib/copy.c: vlib: report number of skipped area when
+	  copying vector features (as simple features)
+
+2013-05-23 11:56  martinl
+
+	* vector/v.out.postgis/v.out.postgis.html: v.out.postgis: fix
+	  manual (syntax cosmetics)
+
+2013-05-23 11:54  martinl
+
+	* vector/v.out.postgis/v.out.postgis.html: v.out.postgis: update
+	  todo section in the manual
+
+2013-05-23 10:39  mmetz
+
+	* raster/r.random.cells/init.c: r.random.cells: add NULL value test
+
+2013-05-23 10:23  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/copy.c,
+	  vector/v.out.postgis/main.c: v.out.postgis: avoid segfault when
+	  no features exported
+	  print warning about number of skipped features
+
+2013-05-23 10:05  martinl
+
+	* vector/v.out.postgis/main.c: v.out.postgis: cosmetics in done
+	  message
+
+2013-05-23 08:50  martinl
+
+	* lib/vector/Vlib/header_finfo.c: vlib(pg):
+	  Vect_get_finfo_geometry_type() reports 3D for coord_dimension ==
+	  3
+
+2013-05-23 08:49  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layertree: fix layer
+	  selection (results in wrong layer order when loading workspace)
+
+2013-05-23 07:23  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/composer: fix r56363
+
+2013-05-22 19:50  mmetz
+
+	* raster/r.walk/main.c: r.walk: cumulative costs must be DCELL
+
+2013-05-22 19:49  mmetz
+
+	* raster/r.cost/main.c: r.cost: cumulative costs must be DCELL
+
+2013-05-22 19:44  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html, raster/r.mapcalc/xround.c:
+	  Allow control over return type, rounding to arbitrary multiples
+	  (issue #1976)
+
+2013-05-22 16:33  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/composer: fix multiline text
+	  on Windows
+
+2013-05-22 15:52  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: fix refreshing in symbol
+	  dialog on Windows
+
+2013-05-22 15:50  martinl
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/local_proto.h,
+	  vector/v.out.ogr/main.c: v.out.ogr: change logic for 3D data
+	  (sync with v.in.ogr)
+	  if input is 3D then output is also 3D (currently only Shapefiles
+	  supported)
+
+2013-05-22 15:45  annakrat
+
+	* gui/wxpython/psmap/dialogs.py: wxGUI/composer: fix font issue on
+	  Windows
+
+2013-05-22 15:41  martinl
+
+	* vector/v.out.ogr/main.c: v.in.ogr: fix reporting number of
+	  features to export (cosmetics)
+
+2013-05-22 15:29  annakrat
+
+	* gui/wxpython/core/toolboxes.py: wxGUI/toolboxes: fix case when
+	  grass7 directory in home is missing
+
+2013-05-21 15:57  martinl
+
+	* vector/v.out.postgis/v.out.postgis.html: v.out.postgis: add srid
+	  example to the manual
+
+2013-05-21 15:42  annakrat
+
+	* gui/wxpython/gis_set.py: wxGUI/startup: assure user that location
+	  was created
+
+2013-05-21 15:36  martinl
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/area_pg.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_pg.c, lib/vector/Vlib/local_proto.h,
+	  lib/vector/Vlib/pg_local_proto.h: vlib(pg): speed up
+	  Vect_get_area|isle_points() for PostGIS Topology
+	  access (work in progress)
+
+2013-05-21 15:25  annakrat
+
+	* lib/python/script/task.py: pythonlib/task: include quotes when
+	  spaces are in parameter
+
+2013-05-21 13:28  annakrat
+
+	* gui/wxpython/location_wizard/wizard.py: wxGUI: fix location
+	  wizard for wx 2.9
+
+2013-05-21 12:56  annakrat
+
+	* gui/wxpython/location_wizard/wizard.py: wxGUI/locwizard: minor
+	  change (don't delete search string when search fails on epsg
+	  page)
+
+2013-05-21 11:05  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: use accelerator
+	  table, use ctrl+c for standard text copying (not to copy
+	  command), ESC to quit (probably working on wx 2.9 only)
+
+2013-05-21 07:13  hamish
+
+	* gui/wxpython/gis_set.py: language cleaning (merge from devbr6)
+
+2013-05-21 06:36  turek
+
+	* scripts/r.in.wms/wms_base.py: r.in.wms: convert reprojection
+	  method parameters to form suitable for gdalwarp
+
+2013-05-20 17:09  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py: wxNVIZ: fix different glcontext
+	  handling in wx 2.9
+
+2013-05-20 17:07  annakrat
+
+	* gui/wxpython/nviz/wxnviz.py: wxNVIZ: fix progress error on wx 2.9
+
+2013-05-20 16:42  zarch
+
+	* lib/python/pygrass/vector/basic.py: Add a new method to the Bbox
+	  class that return a tuple with the bbox values.
+
+2013-05-20 16:39  martinl
+
+	* gui/wxpython/gcp/manager.py: wxGUI/gcp: 'bilinear' methods rename
+	  to 'linear'
+
+2013-05-20 16:37  martinl
+
+	* imagery/i.ortho.photo/i.ortho.rectify/main.c,
+	  imagery/i.rectify/main.c: i.rectify/i.ortho.rectify: rename
+	  'bilinear' to 'linear'
+
+2013-05-20 16:32  martinl
+
+	* gui/wxpython/web_services/widgets.py: wxGUI/wms: fix
+	  interpolation method names
+
+2013-05-20 13:06  martinl
+
+	* raster/r.proj/main.c: r.proj: rename bilinear to linear
+
+2013-05-20 13:02  martinl
+
+	* gui/scripts/d.wms.py, scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/r.in.wms/r.in.wms.py: scripts: rename interpolation
+	  methods (use standardized names)
+
+2013-05-20 12:49  martinl
+
+	* include/raster.h, lib/gis/parser_standard_options.c,
+	  lib/raster/interp.c, lib/raster/sample.c,
+	  raster/r.resamp.bspline/main.c, raster/r.resamp.interp/main.c,
+	  vector/v.sample/main.c, vector/v.surf.bspline/main.c: rasterlib:
+	  rename interpolation methods (bilinear->linear, bicubic->cubic)
+	  update modules
+
+2013-05-20 12:35  martinl
+
+	* misc/m.nviz.image/local_proto.h, misc/m.nviz.image/vector.c:
+	  m.nviz.image: fix check_thematic logic
+	  fix z-mode for 3D vector maps
+
+2013-05-20 12:27  martinl
+
+	* lib/ogsf/GP2.c: libogsf: doxygen cosmetics
+
+2013-05-20 11:16  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Fix Vector name attribute.
+
+2013-05-20 06:54  annakrat
+
+	* gui/wxpython/animation/frame.py: wxGUI/animation: fix copy and
+	  paste error which appears only on Windows
+
+2013-05-19 18:38  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2013-05-19 17:22  neteler
+
+	* imagery/i.vi/main.c: i.vi: fix help text
+
+2013-05-19 16:31  neteler
+
+	* imagery/i.vi/i.vi.html, scripts/i.tasscap/i.tasscap.html:
+	  i.tasscap, i.vi: crossref manuals
+
+2013-05-19 13:30  mmetz
+
+	* raster/r.mapcalc/function.c, raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html, raster/r.mapcalc/xround.c:
+	  r.mapcalc: enhance round()
+
+2013-05-19 10:49  martinl
+
+	* vector/v.extrude/extrude.c: v.extrude: fix min points for
+	  roof/floor
+
+2013-05-19 08:42  hamish
+
+	* gui/wxpython/core/render.py: fix enviro variable name, speeding
+	  up rendering (merge from devbr6)
+
+2013-05-18 22:40  neteler
+
+	* vector/v.category/main.c: v.category: add keyword layer
+
+2013-05-18 22:39  neteler
+
+	* vector/v.db.connect/main.c: v.db.connect: add keyword layer
+
+2013-05-18 08:55  martinl
+
+	* misc/m.nviz.image/vector.c: m.nviz.image: close vector map
+
+2013-05-18 08:52  martinl
+
+	* misc/m.nviz.image/vector.c: m.nviz.image: fix r56288
+
+2013-05-18 08:27  martinl
+
+	* misc/m.nviz.image/vector.c: m.nviz.image/vector: add error
+	  handlers to close vector map and db driver
+
+2013-05-17 23:07  martinl
+
+	* misc/m.nviz.image/args.c: m.nviz.image: check `vpoint_pos` and
+	  `vpoint_layer` parameters inconsistency
+
+2013-05-17 20:33  mmetz
+
+	* vector/v.category/main.c: v.category: fix option=transfer
+
+2013-05-17 14:45  glynn
+
+	* raster/r.mapcalc/xmod.c: Fix potential integer overflow in modulo
+	  function
+
+2013-05-17 12:44  mlennert
+
+	* scripts/v.rast.stats/v.rast.stats.py: Use correct layer when
+	  adding columns to table
+
+2013-05-16 20:55  mmetz
+
+	* vector/v.generalize/main.c, vector/v.generalize/smoothing.c:
+	  v.generalize: make loop support the default for smoothing
+
+2013-05-16 15:47  mmetz
+
+	* vector/v.generalize/smoothing.c: v.generalize: fix chaiken loop
+	  support
+
+2013-05-16 10:06  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/net.c: Vlib: avoid
+	  compiler warning
+
+2013-05-16 10:05  mmetz
+
+	* lib/vector/Vlib/build.c: Vlib: clean up r56166, activate faster
+	  Vect_isle_find_area()
+
+2013-05-16 06:17  hamish
+
+	* lib/gis/ellipse.table.solar.system: +svn props
+
+2013-05-15 21:33  martinl
+
+	* locale/po/grassmods_cs.po, translators.csv: czech translation
+	  updated by Lukas Bocan
+
+2013-05-15 21:07  neteler
+
+	* locale/po/grasswxpy_de.po: grasswxpy_de.po: cont'ed
+
+2013-05-15 20:34  martinl
+
+	* raster/r.surf.random/main.c: r.surf.random: description cosmetics
+
+2013-05-15 16:27  martinl
+
+	* scripts/v.dissolve/v.dissolve.py: v.dissolve: assume `layer=1`
+	  when `column` is given (default is `layer=-1`)
+
+2013-05-15 14:25  mmetz
+
+	* vector/v.generalize/displacement.c, vector/v.generalize/main.c,
+	  vector/v.generalize/matrix.c, vector/v.generalize/matrix.h,
+	  vector/v.generalize/operators.h, vector/v.generalize/point.c,
+	  vector/v.generalize/point.h,
+	  vector/v.generalize/simplification.c,
+	  vector/v.generalize/smoothing.c: v.generalize: add loop support
+	  for boyle, chaiken, distance_weighting, hermite, snakes
+
+2013-05-15 13:35  martinl
+
+	* vector/v.extrude/extrude.c, vector/v.extrude/local_proto.h,
+	  vector/v.extrude/main.c: v.extrude: sync with v.drape
+	  add scale and null options
+
+2013-05-15 13:29  martinl
+
+	* vector/v.drape/local_proto.h, vector/v.drape/main.c,
+	  vector/v.drape/sample.c, vector/v.drape/v.drape.html: v.drape:
+	  major rewrite for G7
+
+2013-05-15 11:06  hamish
+
+	* gui/wxpython/location_wizard/wizard.py,
+	  lib/python/script/core.py: sync datum transform fixes for proj
+	  4.8.0 from devbr6 (#1849)
+
+2013-05-15 07:46  hamish
+
+	* vector/v.to.rast/support.c: update history, improve titles (merge
+	  from devbr6)
+
+2013-05-14 14:44  mmetz
+
+	* vector/v.generalize/main.c, vector/v.generalize/operators.h,
+	  vector/v.generalize/point.c, vector/v.generalize/point.h,
+	  vector/v.generalize/smoothing.c: v.generalize: add loop support
+
+2013-05-14 13:35  mmetz
+
+	* lib/vector/vectorlib_topology.dox: Vlib documentation: points do
+	  not have nodes
+
+2013-05-14 13:34  mmetz
+
+	* gui/wxpython/xml/toolboxes.xml: add r.regression.multi to wxGUI
+
+2013-05-14 12:20  martinl
+
+	* lib/init/grass.py, mswindows/env.bat,
+	  mswindows/osgeo4w/env.bat.tmpl, mswindows/osgeo4w/grass.tmpl,
+	  mswindows/osgeo4w/ini.bat.tmpl: remove GRASS_WISH, tcl/tk
+	  dependency has been removed
+
+2013-05-13 14:26  martinl
+
+	* vector/v.extrude/v.extrude.html: v.extrude: note v.drape in the
+	  manual
+
+2013-05-13 12:35  mmetz
+
+	* lib/vector/Vlib/open.c: Vlib: fix 3D info
+
+2013-05-13 12:34  mmetz
+
+	* lib/vector/diglib/spindex.c: diglib: add safety check
+
+2013-05-13 12:33  mmetz
+
+	* lib/vector/diglib/struct_alloc.c: diglib: fix doxygen
+
+2013-05-13 10:37  martinl
+
+	* include/vect/dig_structs.h: vlib: add note for Plus_head struct
+
+2013-05-13 10:35  mmetz
+
+	* lib/vector/diglib/linecros.c: diglib: fix find intersection
+
+2013-05-13 10:29  mmetz
+
+	* lib/vector/diglib/linecros.c: diglib: fix find/test
+	  forintersection
+
+2013-05-13 10:24  martinl
+
+	* vector/v.extrude/main.c, vector/v.extrude/v.extrude.html:
+	  v.extrude: copy attribute tables
+
+2013-05-13 10:22  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/copy.c: vlib: added new subrouties to the public
+	  API
+	  * Vect_cat_list_to_array()
+	  * Vect_copy_table_by_cat_list()
+
+2013-05-13 10:16  mmetz
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/geos.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/diglib/head.c,
+	  vector/v.convert/read.c: fix r56095: do NOT store vector backward
+	  version info one place
+
+2013-05-12 20:53  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2013-05-12 20:53  neteler
+
+	* locale/po/grasswxpy_de.po: type fix
+
+2013-05-12 17:15  martinl
+
+	* vector/v.drape/main.c: v.drape: use G_OPT_R_INTERP_TYPE &
+	  Rast_option_to_interp_type
+
+2013-05-12 17:12  martinl
+
+	* vector/v.sample/main.c: v.sample: use G_OPT_R_INTERP_TYPE &
+	  Rast_option_to_interp_type
+
+2013-05-12 17:08  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: define descriptions
+	  for G_OPT_R_INTERP_TYPE
+
+2013-05-12 15:46  martinl
+
+	* vector/v.extrude/extrude.c, vector/v.extrude/main.c: v.extrude:
+	  fix trace elevation logic
+
+2013-05-12 14:18  martinl
+
+	* vector/v.extrude/extrude.c, vector/v.extrude/main.c,
+	  vector/v.extrude/v.extrude.html: v.extrude: support only points,
+	  lines, and areas
+	  update manual
+
+2013-05-12 13:42  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: forms - self._giface can
+	  be None
+
+2013-05-12 13:30  martinl
+
+	* vector/v.extrude/extrude.c: v.extrude: close a volume (write also
+	  floor)
+
+2013-05-12 13:12  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix TaskFrame - goutput
+	  can be None
+
+2013-05-12 11:40  martinl
+
+	* vector/v.extrude/db.c, vector/v.extrude/extrude.c,
+	  vector/v.extrude/local_proto.h, vector/v.extrude/main.c,
+	  vector/v.extrude/v.extrude.html: v.extrude: major clean up & code
+	  reorganization
+	  new parameters: cats, where, method
+	  support for lines disabled (use v.to.3d instead)
+
+2013-05-12 11:30  martinl
+
+	* include/defs/raster.h, include/raster.h, lib/raster/interp.c:
+	  libraster: Rast_option_to_interp_type() added
+
+2013-05-12 11:07  martinl
+
+	* include/gis.h, lib/gis/parser_standard_options.c: libgis: add
+	  standardized option for interpolation methods
+	  G_OPT_R_INTERP_TYPE
+
+2013-05-11 20:12  martinl
+
+	* vector/v.to.3d/args.c: v.to.3d: use standardized flag (cosmetics)
+
+2013-05-11 16:59  martinl
+
+	* vector/v.to.3d/local_proto.h, vector/v.to.3d/main.c,
+	  vector/v.to.3d/trans2.c, vector/v.to.3d/trans3.c: v.to.3d: call
+	  G_fatal_error() immediately
+
+2013-05-11 16:50  martinl
+
+	* vector/v.to.3d/main.c, vector/v.to.3d/trans2.c,
+	  vector/v.to.3d/trans3.c: v.to.3d: use G_progress()
+	  message cosmetics
+	  assume layer=1 when column is given
+	  use standard error handlers
+
+2013-05-11 15:12  martinl
+
+	* vector/v.random/main.c: v.random: use DB_SQL_MAX
+
+2013-05-11 15:09  martinl
+
+	* vector/v.random/main.c: v.random: use standard error handlers
+
+2013-05-11 15:08  martinl
+
+	* include/defs/dbmi.h, lib/db/dbmi_client/handler.c: dbmi: add
+	  db_set_error_handler_driver()
+
+2013-05-11 13:37  martinl
+
+	* db/db.connect/main.c: db.connect -p: substitute variables in
+	  database settings
+
+2013-05-11 13:23  neteler
+
+	* doc/projectionintro.html, general/g.proj/g.proj.html,
+	  imagery/i.atcorr/i.atcorr.html, imagery/i.cca/i.cca.html,
+	  imagery/i.cluster/i.cluster.html,
+	  imagery/i.eb.h_sebal01/i.eb.h_sebal01.html,
+	  imagery/i.evapo.mh/i.evapo.mh.html,
+	  imagery/i.evapo.pm/i.evapo.pm.html,
+	  imagery/i.evapo.pt/i.evapo.pt.html,
+	  imagery/i.evapo.time/i.evapo.time.html, imagery/i.fft/i.fft.html,
+	  imagery/i.gensig/i.gensig.html, imagery/i.latlong/i.latlong.html,
+	  imagery/i.maxlik/i.maxlik.html, imagery/i.pca/i.pca.html,
+	  imagery/i.segment/i.segment.html, imagery/i.smap/i.smap.html,
+	  imagery/i.target/i.target.html, imagery/imageryintro.html,
+	  misc/m.cogo/m.cogo.html, raster/r.proj/r.proj.html,
+	  raster/rasterintro.html, scripts/i.in.spotvgt/i.in.spotvgt.html,
+	  scripts/v.db.addtable/v.db.addtable.html,
+	  vector/v.normal/v.normal.html, vector/v.proj/v.proj.html,
+	  vector/vectorintro.html: links fixed
+
+2013-05-11 13:00  martinl
+
+	* db/db.connect/main.c: db.connect: cosmetics (print flags)
+
+2013-05-11 12:49  neteler
+
+	* imagery/i.ortho.photo/README: start to document current state
+
+2013-05-11 11:41  neteler
+
+	* locale/po/grasswxpy_de.po: Robert Nuske: DE translation updated
+
+2013-05-11 09:26  martinl
+
+	* vector/v.extrude/v.extrude.html, vector/v.to.3d/v.to.3d.html:
+	  v.to.3d/v.extrude: manual cosmetics
+
+2013-05-11 08:46  neteler
+
+	* raster/r.sun/r.sun.html, raster/r.sunmask/r.sunmask.html: refer
+	  to r.sunhours
+
+2013-05-10 22:22  huhabla
+
+	* lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  temporal/t.rast.import/test.t.rast.import.relative.sh,
+	  temporal/t.rast.import/test.t.rast.import.sh: Correct handling of
+	  relative time in stds import and export implemented.
+
+2013-05-10 11:22  huhabla
+
+	* raster/r.drain/filldir.c, raster/r.drain/main.c: Dynamic memory
+	  allocation for start points. Fixed possible segfault.
+
+2013-05-10 09:48  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix related to #1968
+
+2013-05-09 13:05  martinl
+
+	* lib/init/grass.py: grass.py: improve check_shell() for Windows
+
+2013-05-09 07:03  mmetz
+
+	* imagery/i.sunhours: remove i.sunhours
+
+2013-05-09 07:02  mmetz
+
+	* imagery/Makefile: deactivate i.sunhours
+
+2013-05-09 06:33  mmetz
+
+	* raster/Makefile: activate r.regression.multi
+
+2013-05-09 06:32  mmetz
+
+	* raster/r.regression.multi: move r.regression.multi to trunk
+
+2013-05-08 19:23  martinl
+
+	* include/vect/dig_defines.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/build_sfa.c, lib/vector/Vlib/close_pg.c,
+	  lib/vector/Vlib/local_proto.h, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/pg_local_proto.h, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/rewind_pg.c: vlib(pg): implement PG version for
+	  Vect_get_area_points()
+	  improve reading features open/close cursor (work in progress)
+
+2013-05-08 16:32  martinl
+
+	* gui/wxpython/xml: update svn:ignore (menudata.xml)
+
+2013-05-08 11:29  hamish
+
+	* gui/wxpython/location_wizard/wizard.py: fix for traceback when
+	  specifying by proj4 terms (#1849) and when ellipsoid is used
+	  instead of datum (#1967), merge from devbr6
+
+2013-05-07 23:48  hamish
+
+	* gui/wxpython/psmap/dialogs.py: spelling
+
+2013-05-07 14:11  mmetz
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: remove i.sunhours from GUI
+	  (replaced by r.sunhours)
+
+2013-05-07 13:59  mmetz
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: add r.sunhours
+
+2013-05-07 13:36  mmetz
+
+	* raster/Makefile: activate r.sunhours
+
+2013-05-07 13:35  mmetz
+
+	* raster/r.sunhours: move r.sunhours to trunk
+
+2013-05-07 10:31  turek
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: ApplyCommands: close
+	  sqlFile after for loop
+
+2013-05-06 13:58  zarch
+
+	* lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/vector/abstract.py: Fix exist method of vector
+	  and raster classes and fix the with statement when try to open a
+	  map that does not exist
+
+2013-05-06 10:02  annakrat
+
+	* gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/utils.py: wxGUI/composer: fixes for #1959 and
+	  #1960 (merge from develbranch, r56120,r56121,r56133,r56134)
+
+2013-05-05 12:59  martinl
+
+	* lib/vector/Vlib/open.c: vlib: Vect_open_new(): call
+	  G_fatal_error() when name is invalid
+
+2013-05-05 09:29  hamish
+
+	* mswindows/GRASS-Installer.nsi.tmpl: back to orig nsis variable
+	  quoting
+
+2013-05-05 04:43  hamish
+
+	* gui/icons/grass.desktop: updated DE translation from MarkusN
+	  (#1573)
+
+2013-05-05 04:25  hamish
+
+	* scripts/r.mask/r.mask.html, scripts/r.mask/r.mask.py: sync
+	  updated strings from devbr6
+
+2013-05-04 10:49  martinl
+
+	* vector/v.out.svg/main.c: v.out.svg: bugfix (exporting points and
+	  lines)
+
+2013-05-04 10:17  martinl
+
+	* gui/wxpython/nviz/mapwindow.py: wxGUI/nviz: m.nviz.image do not
+	  require elev map to be defined
+	  switchPage -> priority
+
+2013-05-04 10:06  martinl
+
+	* misc/m.nviz.image/args.c: m.nviz.image: allow rendering without
+	  specified elevation map/value
+
+2013-05-04 09:53  martinl
+
+	* vector/v.delaunay/main.c: v.delaunay: fix building topology
+	  (attach centroids)
+
+2013-05-04 09:36  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI: show boundaries by default
+
+2013-05-04 08:54  hamish
+
+	* gui/wxpython/gui_core/goutput.py: rename 'Protocol' to 'Log file'
+	  and make it append not overwrite (#1936, merge from devbr6)
+
+2013-05-04 08:33  hamish
+
+	* mswindows/GRASS-Installer.nsi.tmpl: another attempt at getting
+	  rid of .svn in demolocation on wingrass (#1946, merge from
+	  devbr6)
+
+2013-05-03 21:13  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: Robert Nuske: DE translation updated
+
+2013-05-03 19:45  neteler
+
+	* vector/v.in.ascii/v.in.ascii.html: v.in.ascii manual: typo fixes
+
+2013-05-03 09:36  martinl
+
+	* include/vect/dig_structs.h: vlib: fix doxygen
+
+2013-05-03 09:28  martinl
+
+	* vector/v.convert/read.c: v.convert: update for r56095
+
+2013-05-03 09:28  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/geos.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/diglib/cindex_rw.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/spindex_rw.c:
+	  vlib: store backward version info one place
+
+2013-05-02 21:37  martinl
+
+	* vector/v.generalize/network.c, vector/v.net.bridge/main.c,
+	  vector/v.net.centrality/main.c, vector/v.net.components/main.c,
+	  vector/v.net.connectivity/main.c, vector/v.net.distance/main.c,
+	  vector/v.net.flow/main.c, vector/v.net.spanningtree/main.c,
+	  vector/v.net.timetable/main.c: update v.net modules to use
+	  Vect_net_get_graph()
+	  remove unused variables
+
+2013-05-02 21:36  martinl
+
+	* include/defs/vector.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/net.c: vlib: separate graph related info to new
+	  struct Graph_info
+	  add Vect_net_get_graph() to public API
+
+2013-05-02 20:43  martinl
+
+	* include/vect/dig_structs.h: vlib: doxygen cosmetics (Map_info
+	  struct)
+
+2013-05-02 20:36  martinl
+
+	* include/vect/dig_structs.h: vlib: doxygen cosmetics (improve
+	  constraint struct)
+
+2013-05-02 19:33  wenzeslaus
+
+	* gui/wxpython/core/toolboxes.py, gui/wxpython/wxguitoolboxes.dox:
+	  wxGUI/toolboxes: doctests, deleting of special element and
+	  documentation
+
+2013-05-02 16:47  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/composer: fix showing and
+	  hiding statusbar messages
+
+2013-05-02 16:45  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/composer: fix generating PDF
+	  on Windows
+
+2013-05-02 14:32  annakrat
+
+	* gui/wxpython/xml/toolboxes.xml: wxGUI: temporal toolboxes added
+
+2013-05-02 08:19  huhabla
+
+	* lib/gis/parser_standard_options.c, lib/raster/cell_stats.c,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.in.bin/main.c,
+	  raster3d/r3.out.ascii/main.c, raster3d/raster3dintro.html:
+	  Several tiny improvements to 3D modules and docs.
+
+2013-05-02 08:17  huhabla
+
+	* lib/python/temporal/metadata.py,
+	  temporal/t.merge/test.t.merge.sh: Better STDS info layout.
+
+2013-05-02 01:32  hamish
+
+	* gui/wxpython/docs/wxGUI.html, gui/wxpython/xml/wxgui_items.xml:
+	  merge/revert wording from devbr6; keep it applicable to all
+	  platforms (see #1891 and earlier discussions about tcltk gui
+	  closing the terminal); repeating the label doesn't add much help
+
+2013-05-01 20:48  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2013-05-01 18:53  neteler
+
+	* lib/temporal/SQL/map_stds_register_table_template.sql,
+	  lib/temporal/SQL/map_tables_template.sql,
+	  lib/temporal/SQL/raster3d_metadata_table.sql,
+	  lib/temporal/SQL/raster3d_views.sql,
+	  lib/temporal/SQL/raster_metadata_table.sql,
+	  lib/temporal/SQL/raster_views.sql,
+	  lib/temporal/SQL/sqlite3_delete_trigger.sql,
+	  lib/temporal/SQL/stds_map_register_table_template.sql,
+	  lib/temporal/SQL/stds_raster3d_register_trigger_template.sql,
+	  lib/temporal/SQL/stds_raster_register_trigger_template.sql,
+	  lib/temporal/SQL/stds_tables_template.sql,
+	  lib/temporal/SQL/stds_vector_register_trigger_template.sql,
+	  lib/temporal/SQL/str3ds_metadata_table.sql,
+	  lib/temporal/SQL/str3ds_views.sql,
+	  lib/temporal/SQL/strds_metadata_table.sql,
+	  lib/temporal/SQL/strds_views.sql,
+	  lib/temporal/SQL/stvds_metadata_table.sql,
+	  lib/temporal/SQL/stvds_views.sql,
+	  lib/temporal/SQL/update_stds_spatial_temporal_extent_template.sql,
+	  lib/temporal/SQL/update_str3ds_metadata_template.sql,
+	  lib/temporal/SQL/update_strds_metadata_template.sql,
+	  lib/temporal/SQL/update_stvds_metadata_template.sql,
+	  lib/temporal/SQL/vector_metadata_table.sql,
+	  lib/temporal/SQL/vector_views.sql: svn propset
+
+2013-05-01 11:30  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po,
+	  locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2013-04-30 20:37  martinl
+
+	* vector/v.in.ascii/main.c: v.in.ascii: be translators friendly
+	  no need for Vect_delete() - already using standard i/o error
+	  handler which deletes output map automatically
+
+2013-04-30 09:51  hamish
+
+	* mswindows/GRASS-Installer.nsi.tmpl: sync to g7 dataset size
+
+2013-04-30 09:48  hamish
+
+	* mswindows/GRASS-Installer.nsi.tmpl: merge updates from devbr6
+
+2013-04-30 07:50  mlennert
+
+	* scripts/v.db.update/v.db.update.html,
+	  scripts/v.db.update/v.db.update.py: clarify difference between
+	  value and qcol options
+
+2013-04-30 06:58  hamish
+
+	* display/d.grid/plot.c: improved label placement not dependent on
+	  region resolution (merge from devbr6)
+
+2013-04-29 14:00  wenzeslaus
+
+	* gui/wxpython/wxguitoolboxes.dox, gui/wxpython/wxpythonlib.dox:
+	  wxGUI/toolboxes: documentation of initial version (co-author:
+	  annakrat)
+
+2013-04-29 13:59  annakrat
+
+	* gui/wxpython/Makefile, gui/wxpython/core/menutree.py,
+	  gui/wxpython/core/toolboxes.py, gui/wxpython/lmgr/menudata.py,
+	  gui/wxpython/tools/build_modules_xml.py,
+	  gui/wxpython/xml/main_menu.dtd, gui/wxpython/xml/main_menu.xml,
+	  gui/wxpython/xml/menudata.dtd, gui/wxpython/xml/menudata.xml,
+	  gui/wxpython/xml/module_items.dtd,
+	  gui/wxpython/xml/toolboxes.dtd, gui/wxpython/xml/toolboxes.xml,
+	  gui/wxpython/xml/wxgui_items.dtd,
+	  gui/wxpython/xml/wxgui_items.xml: wxGUI/toolboxes: initial
+	  version of wxGUI toolboxes (co-author: wenzeslaus)
+
+2013-04-29 13:03  martinl
+
+	* display/d.vect/dir.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/topo.c: d.vect: node box
+	  sizeable (size=)
+	  show dir also for faces
+
+2013-04-29 11:22  hamish
+
+	* display/d.grid/plot.c: fix geogrid longitude text label
+	  placement, especially for projections with highly rotated
+	  meridians like LCC (merge from devbr6)
+
+2013-04-29 06:59  annakrat
+
+	* gui/wxpython/docs/wxGUI.nviz.html: wxGUI/nviz: note problem
+	  related to r55967 in documentation
+
+2013-04-28 21:06  hamish
+
+	* raster/r.li/TODO: hints on where to find grass7 upgrade work
+
+2013-04-28 18:59  annakrat
+
+	* gui/wxpython/gui_core/menu.py: wxGUI/menu: fix displaying
+	  commands
+
+2013-04-28 17:53  huhabla
+
+	* raster3d/r3.out.bin/r3.out.bin.html: Fixed module links
+
+2013-04-28 17:53  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/register.py, temporal/Makefile,
+	  temporal/t.merge, temporal/t.merge/Makefile,
+	  temporal/t.merge/t.merge.html, temporal/t.merge/t.merge.py,
+	  temporal/t.merge/test.t.merge.sh, temporal/t.rename/t.rename.py:
+	  New module to merge different space time datasets in a single
+	  output dataset.
+
+2013-04-28 15:04  martinl
+
+	* lib/nviz/render.c, misc/m.nviz.image/main.c: m.nviz.image:
+	  Nviz_create_render_window(): check return code
+
+2013-04-28 14:52  martinl
+
+	* lib/vector/Vlib/ascii.c, vector/v.in.ascii/main.c: v.in.ascii:
+	  fatal error when import fails
+	  Vect_read_ascii(): return -1 and print warning instead of fatal
+	  error
+	  skip 3D features when map is 2D
+
+2013-04-28 14:28  annakrat
+
+	* gui/wxpython/core/menutree.py: wxGUI: fix menustrings
+
+2013-04-28 11:57  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/psmap: add statusbar messages
+
+2013-04-27 16:08  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/pythontemporallib.dox,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/temporal/SQL/raster3d_metadata_table.sql,
+	  lib/temporal/SQL/raster3d_views.sql,
+	  lib/temporal/SQL/raster_metadata_table.sql,
+	  lib/temporal/SQL/raster_views.sql,
+	  lib/temporal/SQL/str3ds_metadata_table.sql,
+	  lib/temporal/SQL/str3ds_views.sql,
+	  lib/temporal/SQL/strds_metadata_table.sql,
+	  lib/temporal/SQL/strds_views.sql,
+	  lib/temporal/SQL/stvds_metadata_table.sql,
+	  lib/temporal/SQL/stvds_views.sql,
+	  lib/temporal/SQL/vector_metadata_table.sql,
+	  lib/temporal/SQL/vector_views.sql,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.layer_bug.sh:
+	  Added bottom and top to views and separated them in new files.
+	  Support for spatio-temporal topology analysis.
+
+2013-04-27 01:50  hamish
+
+	* lib/arraystats/discont.README.txt: utf char fix
+
+2013-04-27 01:46  hamish
+
+	* lib/arraystats/discont.README.txt: linewrap
+
+2013-04-26 21:26  martinl
+
+	* Makefile: update Makefile: 'form' lib removed
+
+2013-04-26 18:27  martinl
+
+	* Makefile: add version info to the compilation log (error.log)
+
+2013-04-26 09:41  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: fix G_OPT_DB_KEYCOLUMN
+	  description
+
+2013-04-26 09:39  martinl
+
+	* vector/v.db.connect/main.c: v.db.connect: fix sep param
+	  description
+
+2013-04-26 09:36  martinl
+
+	* lib/vector/Vlib/open.c: vlib: Vect__open_old(): call
+	  G_fatal_error() when vector map is not found
+
+2013-04-26 06:44  hamish
+
+	* configure, configure.in: OpenCL on Mac uses '-framework OpenCL'
+	  instead of libOpenCL.so, try to make that work (#1446)
+
+2013-04-25 23:31  mmetz
+
+	* lib/vector/Vlib/remove_duplicates.c: Vlib: speed up
+	  Vect_remove_duplicates
+
+2013-04-25 23:29  mmetz
+
+	* lib/vector/Vlib/remove_duplicates.c: Vlib: speed up
+	  Vect_remove_duplicates)
+
+2013-04-25 23:07  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/abstract_spatial_dataset.py,
+	  lib/python/temporal/abstract_temporal_dataset.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_topology_dataset_connector.py,
+	  lib/python/temporal/spatio_temporal_relationships.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/temporal_topology_dataset_connector.py,
+	  lib/python/temporal/unit_tests.py: Better naming scheme. Added
+	  spatial topology class.
+
+2013-04-25 22:46  mmetz
+
+	* mswindows/osgeo4w/msys.bat: update msys.bat to 2009 version
+
+2013-04-25 12:31  mmetz
+
+	* lib/vector/diglib/plus_line.c: diglib: avoid segfault for POstGIS
+	  topology
+
+2013-04-25 12:30  mmetz
+
+	* lib/vector/diglib/plus_line.c: diglib: follow node-line logic
+
+2013-04-25 10:46  huhabla
+
+	* lib/python/temporal/core.py: Fixed wrong command column creation
+	  for old tgis databases.
+
+2013-04-25 09:16  mmetz
+
+	* scripts/db.out.ogr/db.out.ogr.py: fix db.out.ogr
+
+2013-04-25 09:15  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Add as option if the
+	  memory occupied by the spatial index must be release or not
+
+2013-04-25 06:17  huhabla
+
+	* lib/python/temporal/abstract_spatial_dataset.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/pythontemporallib.dox,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_relationships.py: New abstract
+	  dataset class to access spatial topology. Added
+	  Vect_set_release_support() to redduce memory consumption for
+	  vector datasets.
+
+2013-04-24 19:19  annakrat
+
+	* gui/wxpython/psmap/g.gui.psmap.html: wxGUI/psmap: update manpage
+
+2013-04-24 19:05  annakrat
+
+	* gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/instructions.py,
+	  gui/wxpython/psmap/toolbars.py: wxGUI/psmap: add labels support
+
+2013-04-24 17:32  mmetz
+
+	* vector/v.net.allpairs/main.c: v.net.allpairs: fix
+	  Vect_copy_table() args
+
+2013-04-24 17:31  mmetz
+
+	* lib/vector/Vlib/copy.c: Vlib: fix documentation
+
+2013-04-24 17:30  mmetz
+
+	* scripts/db.out.ogr/db.out.ogr.py: db.out.ogr: input -> output
+
+2013-04-24 13:02  hamish
+
+	* ps/ps.map/r_colortable.c: spellging
+
+2013-04-24 11:05  hamish
+
+	* gui/wxpython/core/utils.py: rm ref to SWIG
+
+2013-04-24 11:02  hamish
+
+	* lib/init/variables.html: minor fixes (merge from devbr6)
+
+2013-04-24 08:03  annakrat
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI/nviz: fix for strange
+	  vector rendering on wxGTK
+
+2013-04-24 02:45  hamish
+
+	* configure, configure.in: more fixes related to #1943
+
+2013-04-24 02:34  hamish
+
+	* configure, configure.in: the first arg of LOC_CHECK_LIB_PATH()
+	  needs to match the --with-xx-libs= line (#1943)
+
+2013-04-23 21:38  hamish
+
+	* configure: OpenCL on Mac uses a different header.. (#1446),
+	  autoconf2.13'd
+
+2013-04-23 21:37  hamish
+
+	* configure.in, raster/r.sun/main.c: OpenCL on Mac uses a different
+	  header.. (#1446)
+
+2013-04-23 14:58  zarch
+
+	* lib/python/script/core.py: Fix undefined variable
+
+2013-04-23 14:47  zarch
+
+	* lib/python/script/core.py: From tab to space
+
+2013-04-23 10:46  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: Add the *with statement*
+	  to the Raster classes and add an example in the docstring.
+
+2013-04-23 10:45  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Update the docstring with
+	  the *with statement*.
+
+2013-04-23 09:52  hamish
+
+	* configure, configure.in: minor error message cosmetic
+
+2013-04-23 09:41  hamish
+
+	* configure: sync autoconf2.13'd ./configure for preliminary
+	  support for OpenCL (#1446)
+
+2013-04-23 09:40  hamish
+
+	* configure.in, include/Make/Platform.make.in,
+	  raster/r.sun/Makefile, raster/r.sun/main.c: preliminary support
+	  for OpenCL (#1446)
+
+2013-04-22 18:14  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Add support for with
+	  statement in the Vector classes
+
+2013-04-22 15:48  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Fix if set_cats is True
+	  reset the previous cat values and set the new one.
+
+2013-04-22 10:24  mmetz
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI: fix and use fast v.category option
+
+2013-04-22 04:42  hamish
+
+	* doc/python/m.distance.py: NumPrt not needed any more (was used to
+	  pass memory pointers via SWIG)
+
+2013-04-20 17:17  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Add a new parameter in the
+	  write method of the Vector class, to allow user to manage
+	  directly the category
+
+2013-04-20 13:08  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/create.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/gui_support.py, lib/python/temporal/list.py,
+	  lib/python/temporal/pythontemporallib.dox,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/univar_statistics.py, temporal/Makefile,
+	  temporal/t.info/t.info.py, temporal/t.shift,
+	  temporal/t.shift/Makefile, temporal/t.shift/t.shift.html,
+	  temporal/t.shift/t.shift.py,
+	  temporal/t.shift/test.t.shift.absolue.sh,
+	  temporal/t.shift/test.t.shift.relative.sh, temporal/t.snap,
+	  temporal/t.snap/Makefile, temporal/t.snap/t.snap.html,
+	  temporal/t.snap/t.snap.py,
+	  temporal/t.snap/test.t.snap.absolute.sh,
+	  temporal/t.snap/test.t.snap.relative.sh,
+	  temporal/t.topology/t.topology.py: Fixed missing imports. Added
+	  two new modules for temporally shifting and snapping. Improved
+	  doxygen docs.
+
+2013-04-20 09:40  zarch
+
+	* lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/find.py: Add Finder classes from point,
+	  bbox, polygon
+
+2013-04-20 09:38  zarch
+
+	* lib/python/pygrass/vector/basic.py: Add some new attributes to
+	  the BoxList
+
+2013-04-20 09:36  zarch
+
+	* lib/python/pygrass/modules/grid/grid.py: Add debug option, and
+	  fix the mapset of inputs
+
+2013-04-20 09:33  zarch
+
+	* lib/python/pygrass/vector/table.py: Fix isertion of numpy values
+	  on a sqlite table and fix some spaces
+
+2013-04-20 09:30  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fix WKT export for Point
+	  class and return more than one value from the Attrs class
+
+2013-04-19 17:54  wenzeslaus
+
+	* tools/pep8config.txt, tools/pylintrc.txt: python: configuration
+	  files for pep8 and pylint tools (a lot of messages now ignored)
+
+2013-04-19 17:00  mmetz
+
+	* vector/v.in.ogr/main.c, vector/v.in.ogr/v.in.ogr.html: v.in.ogr:
+	  improve suggest snap threshold value
+
+2013-04-19 13:48  wenzeslaus
+
+	* gui/wxpython/Makefile, gui/wxpython/animation/__init__.py,
+	  gui/wxpython/core/__init__.py, gui/wxpython/create__init__.py,
+	  gui/wxpython/dbmgr/__init__.py, gui/wxpython/gcp/__init__.py,
+	  gui/wxpython/gmodeler/__init__.py,
+	  gui/wxpython/gui_core/__init__.py,
+	  gui/wxpython/iclass/__init__.py, gui/wxpython/lmgr/__init__.py,
+	  gui/wxpython/location_wizard/__init__.py,
+	  gui/wxpython/mapdisp/__init__.py,
+	  gui/wxpython/mapswipe/__init__.py,
+	  gui/wxpython/modules/__init__.py, gui/wxpython/nviz/__init__.py,
+	  gui/wxpython/psmap/__init__.py,
+	  gui/wxpython/rlisetup/__init__.py,
+	  gui/wxpython/vdigit/__init__.py, gui/wxpython/vnet/__init__.py,
+	  gui/wxpython/web_services/__init__.py,
+	  gui/wxpython/wxplot/__init__.py,
+	  tools/create_python_init_file.py: wxGUI: python package init
+	  files now part of source code (not in created my make, script for
+	  creation is in tools)
+
+2013-04-19 13:31  annakrat
+
+	* SUBMITTING_WXGUI: wxGUI: note to submitting
+
+2013-04-19 13:26  annakrat
+
+	* gui/wxpython/modules/vclean.py: wxGUI/vclean: add main, remove
+	  unused imports
+
+2013-04-19 13:21  annakrat
+
+	* gui/wxpython/modules/vclean.py: wxGUI/vclean: whitespace changes
+	  (remove tabs, pep8 compliance)
+
+2013-04-19 12:20  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/create.py,
+	  lib/python/temporal/factory.py,
+	  lib/python/temporal/gui_support.py, lib/python/temporal/list.py,
+	  lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/pythontemporallib.dox,
+	  lib/python/temporal/register.py, lib/python/temporal/sampling.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/stds_import.py: Better code and file
+	  structure. Fixed several doxygen errors and warnings.
+	  More API documentation.
+
+2013-04-19 08:52  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: suggest a minimum snapping
+	  threshold if topological errors are encountered
+
+2013-04-19 08:07  mmetz
+
+	* vector/v.clean/main.c: v.clean: enable -c flag also for lines
+
+2013-04-19 06:40  mmetz
+
+	* vector/v.overlay/main.c: v.overlay output is 2D
+
+2013-04-19 06:31  wenzeslaus
+
+	* include/Make/Python.make: python: using Python flag to warn about
+	  inconsistent tab usage
+
+2013-04-18 22:06  huhabla
+
+	* grasslib.dox, lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/abstract_temporal_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/pythontemporallib.dox,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/univar_statistics.py,
+	  temporal/t.unregister/t.unregister.py: Better doxygen support.
+	  Added time stamps to command history.
+
+2013-04-18 16:35  turek
+
+	* gui/wxpython/gui_core/gselect.py: layerselect: set default value
+	  only if exists
+
+2013-04-18 16:20  martinl
+
+	* lib/init/grass.py: grass.py: fix for cmd.exe
+
+2013-04-18 13:44  annakrat
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: make random layout
+	  (avoid hidden actions), fix removing by right click
+
+2013-04-18 13:40  martinl
+
+	* lib/init/grass.py: grass.py: add support for Z Shell
+
+2013-04-18 13:23  martinl
+
+	* vector/v.out.postgis/Makefile: v.out.postgis: fix Makefile
+	  (missing PQLIBPATH)
+
+2013-04-18 12:20  hamish
+
+	* raster/r.report/r.report.html: minor word tweak
+
+2013-04-18 12:17  hamish
+
+	* raster/r.report/r.report.html: note how to get computer-parsable
+	  output (#1929)
+
+2013-04-18 11:55  turek
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  synchronize vector map select, layer select and column select
+
+2013-04-18 11:52  hamish
+
+	* mswindows/GRASS-Installer.nsi.tmpl: revert r55888 (#1891)
+
+2013-04-18 11:48  wenzeslaus
+
+	* gui/wxpython/docs/wxGUI.html, gui/wxpython/xml/menudata.xml:
+	  wxGUI/xml: changing Exit GUI to more general Quit (because of MS
+	  Win no-cmd line mode)
+
+2013-04-18 10:43  hamish
+
+	* mswindows/GRASS-Installer.nsi.tmpl: cmd terminal was removed so
+	  remove it from the tooltip; minimize the dos box (merge from
+	  devbr6)
+
+2013-04-18 09:45  wenzeslaus
+
+	* gui/wxpython/Makefile, gui/wxpython/core/menutree.py: wxGUI/xml:
+	  mark generated file, fix indentation
+
+2013-04-18 09:09  turek
+
+	* gui/wxpython/gui_core/forms.py: forms.py: use for vector's map
+	  layer/column widgets dependencies also layer_all element
+
+2013-04-18 09:07  wenzeslaus
+
+	* gui/wxpython/xml/menudata.dtd, gui/wxpython/xml/menudata.xml:
+	  wxGUI/xml: updating dtd schema and fixing validity
+
+2013-04-18 08:30  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl: add option to download and
+	  install MSVCRT by winGRASS-standalone installer (fix #1428)
+
+2013-04-18 08:07  hellik
+
+	* mswindows/GRASS-Packager.bat.tmpl: don't ship MSVCRT with
+	  wingrass for legal issues
+
+2013-04-18 07:00  mmetz
+
+	* raster/r.univar/stats.c: r.univar: fix buffer overflow
+
+2013-04-18 06:42  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: fix cursor
+	  position when adding function
+
+2013-04-18 05:38  hamish
+
+	* display/d.where/d.where.html, general/g.mapset/g.mapset.html,
+	  gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.html,
+	  gui/wxpython/docs/wxGUI.nviz.html,
+	  gui/wxpython/docs/wxGUI.vnet.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/iclass/g.gui.iclass.html,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.html,
+	  imagery/i.topo.corr/i.topo.corr.html, lib/init/variables.html,
+	  raster/r.in.gdal/r.in.gdal.html, raster/r.region/r.region.html,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.update/v.db.update.html,
+	  scripts/v.db.update/v.db.update.py, vector/v.what/v.what.html,
+	  vector/vectorintro.html: clean up language (#1591)
+
+2013-04-17 21:57  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.rename/t.rename.py, temporal/t.support/t.support.py,
+	  temporal/t.unregister/t.unregister.py: Implemented command
+	  history support for several commands that modify space time
+	  datasets.
+
+2013-04-17 21:43  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: reinstate Vect_break_lines()
+	  speed-up (sorry for the noise)
+
+2013-04-17 21:19  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/abstract_temporal_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/unit_tests.py: Fixed granularity computation.
+	  Added and fixed many doc-tests and unit tests.
+
+2013-04-17 16:55  martinl
+
+	* lib/init/grass.py: grass.py: print warning when shell is not
+	  recognized.
+
+2013-04-17 15:48  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/copy.c,
+	  lib/vector/Vlib/write_pg.c, vector/v.out.postgis/main.c:
+	  vlib(pg): various fixes related to v.out.postgis (export also
+	  attributes)
+
+2013-04-17 14:48  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: fix #1933
+
+2013-04-17 12:22  martinl
+
+	* vector/v.out.postgis/args.c, vector/v.out.postgis/create.c,
+	  vector/v.out.postgis/local_proto.h, vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/options.c: v.out.postgis: rename file
+	  (follow naming conventions)
+	  remove create_table() - table is created automatically when
+	  writing new feature to the output
+
+2013-04-17 09:37  martinl
+
+	* lib/vector/Vlib/copy.c: fix logic r55847
+
+2013-04-17 09:36  mmetz
+
+	* lib/vector/Vlib/intersect.c: Vlib: fix
+	  Vect_segment_intersection()
+
+2013-04-17 09:34  martinl
+
+	* lib/vector/Vlib/copy.c: vlib(pg): copy features (set constraint
+	  type when determine feature type)
+
+2013-04-17 09:33  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: temp fix for
+	  Vect_break_lines() confirmed
+
+2013-04-17 08:39  turek
+
+	* gui/wxpython/vnet/dialogs.py: wx.vnet: column select fix
+
+2013-04-17 06:03  hamish
+
+	* lib/external/shapelib/shpopen.c: avoid mem leak (#1318)
+
+2013-04-16 17:37  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/abstract_temporal_dataset.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  temporal/t.topology/t.topology.py: Fixed temporal relationship
+	  computation. Avoid using the reserved python word "connect".
+
+2013-04-16 10:28  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/animation/mapwindow.py,
+	  gui/wxpython/animation/temporal_manager.py: wxGUI/animation:
+	  vector rendering (patch by Soeren Gebbert)
+
+2013-04-16 08:31  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.unregister/t.unregister.py: Massive speed gain by
+	  removing verbose and percent messages.
+
+2013-04-16 07:51  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/mapwindow.py,
+	  gui/wxpython/core/gconsole.py: wxGUI/animation: apply patch by
+	  Soeren Gebbert (#1926 parallel rendering)
+
+2013-04-16 07:25  hamish
+
+	* mswindows/env.bat: gpsbabel moved to extrabin
+
+2013-04-16 06:59  hamish
+
+	* debian/README.debian: git-core pkg renamed to just 'git' (merge
+	  from devbr6) plus some other hints and TODOs
+
+2013-04-15 23:18  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast.out.vtk/test.t.rast.out.vtk.sh,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rename/test.t.rename.sh,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.layer_bug.sh:
+	  Better handling of space time dataset granularity
+
+2013-04-15 14:14  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: fix Vect_break_lines()
+
+2013-04-15 10:48  martinl
+
+	* lib/vector/Vlib/build.c: vlib: Vect_topo_dump(): extend dump
+	  header (topology format)
+
+2013-04-15 10:12  martinl
+
+	* lib/vector/Vlib/build_pg.c: vlib(pg): comments cosmetics
+
+2013-04-15 09:58  mmetz
+
+	* lib/vector/Vlib/intersect.c: Vlib: clean up
+	  Vect_segment_intersection()
+
+2013-04-15 08:30  lucadelu
+
+	* locale/po/grassmods_it.po: Anna Zanchetta: cont'ed
+
+2013-04-15 04:23  hamish
+
+	* general/g.gui/g.gui.html: +CLI example
+
+2013-04-15 02:43  hamish
+
+	* gui/wxpython/mapdisp/frame.py: fix angle math and document
+	  convention used (#1827, merge from devbr6)
+
+2013-04-15 02:16  hamish
+
+	* general/g.region/main.c: hint about the -s flag usage
+
+2013-04-14 22:03  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: Vect_break_lines(), bug has
+	  been fixed
+
+2013-04-14 22:01  mmetz
+
+	* lib/vector/Vlib/intersect.c: Vlib: fix
+	  Vect_segment_intersection()
+
+2013-04-14 12:10  neteler
+
+	* mswindows/GRASS-Installer.nsi.tmpl: winGRASS installer: use
+	  standard and clear name without white space
+
+2013-04-14 11:24  mmetz
+
+	* lib/vector/Vlib/break_polygons.c: Vlib: Vect_break_polygons()
+	  stop rtree search on first hit
+
+2013-04-14 11:22  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: Vect_break_lines() avoid bug
+	  in Vect_line_intersection()
+
+2013-04-14 11:21  mmetz
+
+	* lib/vector/Vlib/intersect.c: Vlib: Vect_line_intersection()
+	  describe bug, clean up code, add 2.5D support
+
+2013-04-14 09:48  neteler
+
+	* imagery/i.atcorr/i.atcorr.html, raster/r.sun/r.sun.html,
+	  raster3d/r3.gwflow/r3.gwflow.html: HTML cosmetics
+
+2013-04-14 09:47  neteler
+
+	* raster/r.to.rast3elev/r.to.rast3elev.html: r.to.rast3elev: HTML
+	  cosmetics
+
+2013-04-14 09:40  neteler
+
+	* raster/r.solute.transport/r.solute.transport.html:
+	  r.solute.transport: r.mapcalc white space fixes; HTML cosmetics
+
+2013-04-14 09:38  neteler
+
+	* raster/r.series.interp/r.series.interp.html: r.series.interp:
+	  HTML cosmetics
+
+2013-04-14 09:35  neteler
+
+	* raster/r.gwflow/r.gwflow.html: r.gwflow: r.mapcalc white space
+	  fixes; HTML cosmetics
+
+2013-04-14 09:21  neteler
+
+	* imagery/i.evapo.pm/i.evapo.pm.html: HTML cosmetics
+
+2013-04-14 09:10  neteler
+
+	* scripts/r.fillnulls/r.fillnulls.py: r.fillnulls: fix v.surf.rst
+	  call ('zcol' removed)
+
+2013-04-14 08:53  neteler
+
+	* vector/v.hull/v.hull.html: v.hull: example updated to GRASS 7 but
+	  it looks strange
+
+2013-04-14 06:15  hamish
+
+	* AUTHORS: +GSoC 2012 awardees
+
+2013-04-14 03:32  hamish
+
+	* gui/icons/grass/player-pause.png,
+	  gui/icons/grass/player-repeat-back-forward.png,
+	  gui/icons/grass/player-stop.png,
+	  gui/icons/grass/vector-tools.png, lib/init/grass_start.png,
+	  scripts/i.spectral/i_spectral.png,
+	  vector/v.overlay/v_overlay_census_wake2000.png,
+	  vector/v.overlay/v_overlay_urban_census2000.png,
+	  vector/v.overlay/v_overlay_urbanarea.png: Run 'optipng -o5' to
+	  compress PNG images
+
+2013-04-13 18:59  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/copy.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/write_pg.c: vlip(pg): fix creating topogeometry
+	  objects
+	  fix transfering attributes
+	  (work in progress)
+
+2013-04-13 18:58  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib(pg): optimize V2_read_line_pg()
+
+2013-04-13 18:57  martinl
+
+	* lib/vector/Vlib/field.c: vlib: Vect_map_del_dblink(): -1 to
+	  delete all dblinks
+
+2013-04-13 15:23  neteler
+
+	* scripts/v.in.wfs/v.in.wfs.html: v.in.wfs: new example
+
+2013-04-13 15:12  mmetz
+
+	* lib/vector/diglib/cindex.c: diglib: resolve ties for
+	  dig_cidx_sort()
+
+2013-04-13 14:57  annakrat
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/gui_core/preferences.py:
+	  wxGUI/dbmgr: workaround for #1633 (merged from releasebranch,
+	  r55719)
+
+2013-04-13 14:35  mmetz
+
+	* lib/vector/Vlib/cindex.c: Vlib: use custom bsearch for
+	  Vect_cidx_find_next()
+
+2013-04-13 13:52  mmetz
+
+	* vector/v.to.db/lines.c: v.to.db: fix indent
+
+2013-04-13 12:17  mmetz
+
+	* lib/vector/Vlib/cindex.c: Vlib: fix #740
+
+2013-04-13 11:24  hamish
+
+	* general/g.gui/g.gui.html: + "last changed"
+
+2013-04-13 10:04  mmetz
+
+	* vector/v.to.db/lines.c: v.to.db: fix #1928, clean up a bit
+
+2013-04-12 22:25  huhabla
+
+	* gui/wxpython/animation/temporal_manager.py: Fixed wrong indention
+	  style
+
+2013-04-12 22:23  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/abstract_temporal_dataset.py: Fixed temporal
+	  topology check
+
+2013-04-12 18:51  huhabla
+
+	* gui/wxpython/animation/temporal_manager.py: More usage of the
+	  tgis space time dataset API
+
+2013-04-12 11:48  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/psmap/frame.py:
+	  wxGUI/psmap: show more useful message when preview fails
+
+2013-04-12 08:21  huhabla
+
+	* lib/python/temporal/__init__.py,
+	  lib/python/temporal/space_time_datasets.py: Enabled 3D raster
+	  numpy access in the temporal GIS library.
+	  Added missing module to __init__.py
+
+2013-04-12 00:05  huhabla
+
+	* lib/python/temporal/Makefile,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/abstract_temporal_dataset.py,
+	  lib/python/temporal/core.py, lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/unit_tests.py,
+	  lib/temporal/SQL/str3ds_metadata_table.sql,
+	  lib/temporal/SQL/strds_metadata_table.sql,
+	  lib/temporal/SQL/stvds_metadata_table.sql,
+	  lib/temporal/lib/default_name.c,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.topology/test.t.topology.abstime.sh: Default temporal
+	  database will now be created in tgis/sqlite.db.
+	  The temporal topology computation has been updated to use the
+	  GRASS RTree implementation.
+	  The command history will now saved for space time datasets.
+	  The "command" column has been added to the stds metadata tables.
+
+2013-04-11 22:43  neteler
+
+	* raster/r.category/r.category.html: r.category manual: fs ->
+	  separator
+
+2013-04-11 18:58  martinl
+
+	* lib/vector/Vlib/copy.c: vlib: fix r55643 (is_isle)
+
+2013-04-11 18:48  martinl
+
+	* lib/vector/Vlib/open.c: vlib(pg): use tmp maps also for PostGIS
+	  Topology
+	  (work in progress)
+
+2013-04-11 18:46  martinl
+
+	* lib/vector/Vlib/close.c, lib/vector/Vlib/close_nat.c: vlib: fix
+	  r55681 side-affect for external formats (Vect__delete() recursive
+	  call)
+
+2013-04-11 18:22  martinl
+
+	* lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/read_pg.c, lib/vector/Vlib/write_pg.c,
+	  lib/vector/diglib/plus_line.c: vlib(pg): add_line_to_topo_pg()
+	  and delete_line_from_topo_pg() added
+	  various minor improvements in PostGIS Topology support
+	  (work in progress)
+
+2013-04-11 15:49  annakrat
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: fix layout for wx 2.9
+
+2013-04-11 15:13  annakrat
+
+	* gui/wxpython/mapswipe/frame.py: wxGUI/mapswipe: various fixes for
+	  wx 2.9
+
+2013-04-11 09:20  martinl
+
+	* lib/vector/Vlib/ascii.c, vector/v.out.ascii/args.c: v.out.ascii:
+	  more guisections
+
+2013-04-11 09:18  martinl
+
+	* vector/v.out.ascii/args.c, vector/v.out.ascii/main.c,
+	  vector/v.out.ascii/v.out.ascii.html: v.out.ascii: layer=-1 ->
+	  exports also features without category
+	  update manual
+	  parameter 'output' optional
+
+2013-04-10 22:53  mmetz
+
+	* lib/vector/Vlib/ascii.c: Vlib: ascii export all features for
+	  field < 1
+
+2013-04-10 21:20  martinl
+
+	* display/d.graph/d.graph.html: d.graph: manual formatting
+
+2013-04-10 21:13  martinl
+
+	* display/d.legend/d.legend.html: d.legend: manual formatting
+
+2013-04-10 20:57  martinl
+
+	* lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/open_pg.c:
+	  vlib/ogr|pg: remove unused function
+	  dox cosmetics
+
+2013-04-10 20:37  martinl
+
+	* vector/v.edit/main.c, vector/v.out.postgis/create.c:
+	  v.edit/v.out.postgis: remove V2_open_new_ogr|pg()
+	  new OGR/PG layer is created by Vect_write_line()
+
+2013-04-10 20:35  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/write_ogr.c,
+	  lib/vector/Vlib/write_pg.c: vlib: remove V2_open_new_ogr|pg()
+	  from public API
+
+2013-04-10 18:38  annakrat
+
+	* gui/wxpython/gcp/manager.py: wxGUI/gcp: fix various issues with
+	  wx 2.9
+
+2013-04-10 15:51  neteler
+
+	* raster/r.quantile/r.quantile.html: r.quantile: quantile
+	  classification example added
+
+2013-04-10 14:56  mmetz
+
+	* raster/r.watershed/front/main.c: r.watershed: check threshold
+	  option
+
+2013-04-10 13:27  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/psmap: fix segfault (wxPython
+	  2.9)
+
+2013-04-10 13:20  glynn
+
+	* lib/python/script/array.py: Don't force verbose=True (ticket
+	  #1925)
+
+2013-04-10 13:16  zarch
+
+	* lib/python/pygrass/modules/shortcuts.py: Fix infinite loop.
+
+2013-04-10 12:52  mmetz
+
+	* gui/wxpython/lmgr/pyshell.py: wxGUI: revert r55395, it breaks the
+	  GUI
+
+2013-04-10 12:41  mmetz
+
+	* lib/vector/Vlib/map.c: Vlib: fix r55401, windows can not delete
+	  files that are open, we have fixed that problem here before
+
+2013-04-10 12:14  annakrat
+
+	* gui/wxpython/gui_core/treeview.py: wxGUI: fix TreeListView for
+	  wx2.9.4
+
+2013-04-10 12:05  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: quick fix for import
+	  dialog for wxPython 2.9.4
+
+2013-04-10 10:09  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: missing parameter giface
+
+2013-04-09 21:13  annakrat
+
+	* gui/wxpython/gcp/manager.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/vdigit/wxdigit.py, gui/wxpython/vdigit/wxdisplay.py:
+	  wxGUI: remove tabs (except of gui for v.clean)
+
+2013-04-09 18:48  martinl
+
+	* general/g.gisenv/main.c: g.gisenv: GRASS variables must be
+	  uppercase. Lowercase variables are changed to uppercase.
+
+2013-04-09 16:54  neteler
+
+	* db/db.select/db.select.html: db.select: GROUP BY example added
+
+2013-04-08 15:02  mmetz
+
+	* raster/r.watershed/ram/slope_len.c,
+	  raster/r.watershed/seg/slope_len.c: r.watershed: fix resolution
+	  for slope length
+
+2013-04-07 14:18  turek
+
+	* gui/wxpython/mapdisp/main.py: wxGUI d.mon:fix of d.erase and
+	  managment of map layers
+
+2013-04-07 09:23  turek
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py,
+	  scripts/v.db.join/v.db.join.py: gselect: added new widget
+	  ListCtrlComboPopup for multiple selection, v.db.join: added
+	  scolumns parameter using the widget
+
+2013-04-06 20:43  annakrat
+
+	* gui/wxpython/gui_core/query.py,
+	  gui/wxpython/gui_core/treeview.py: wxGUI: improve copying from
+	  query dialog
+
+2013-04-06 20:39  mmetz
+
+	* raster/r.watershed/ram/Gwater.h: r.watershed.ram clean up
+
+2013-04-06 20:38  mmetz
+
+	* raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/do_astar.c: r.watershed.ram fix diagonal
+	  flow bias, fix aspect colors
+
+2013-04-06 20:37  mmetz
+
+	* raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/do_astar.c: r.watershed.seg fix diagonal
+	  flow bias, fix aspect colors
+
+2013-04-06 13:38  mmetz
+
+	* lib/vector/Vlib/copy.c: Vlib: add comments for topology
+	  conversion
+
+2013-04-06 13:14  martinl
+
+	* vector/v.in.dxf/dxf_to_vect.c: v.in.dxf: fix compilation error
+
+2013-04-06 11:40  mmetz
+
+	* lib/vector/Vlib/copy.c: Vlib: fix isle/area check
+
+2013-04-06 09:58  hcho
+
+	* vector/v.in.dxf/dxf_to_vect.c: Removed an empty line
+
+2013-04-06 09:54  hcho
+
+	* vector/v.in.dxf/dxf_to_vect.c: Fixed a possible infinite loop
+
+2013-04-05 13:46  neteler
+
+	* vector/v.in.region/Makefile: v.in.region: add missing RASTERLIB,
+	  trac #1918
+
+2013-04-04 23:36  hamish
+
+	* vector/v.db.select/main.c: support for fs alias words; needs
+	  possible malloc issue addressed before backporting
+
+2013-04-04 21:16  mmetz
+
+	* raster/r.proj/r.proj.html, raster/r.proj/readcell.c: r.proj:
+	  update manual for v.in.region
+
+2013-04-04 21:15  mmetz
+
+	* vector/v.in.region/main.c, vector/v.in.region/v.in.region.html:
+	  v.in.region: add -d flag for raster reprojection
+
+2013-04-04 17:41  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: fix compilation issue
+
+2013-04-04 17:35  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: fix r55611; import
+	  GDT_Float64 as DCELL_TYPE
+
+2013-04-04 08:06  martinl
+
+	* imagery/i.segment/main.c, imagery/i.segment/parse_args.c:
+	  i.segment: description cosmetics
+
+2013-04-04 04:25  neteler
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI map calculator: fix
+	  function insert for int()
+
+2013-04-03 19:36  mmetz
+
+	* vector/v.univar/main.c: v.univar: add weight flag (Roger Bivand:
+	  treat each feature as a discrete, unweighted, unit unless some
+	  reason to the contrary is given)
+
+2013-04-03 17:27  martinl
+
+	* general/g.proj/create.c, lib/gis/make_loc.c,
+	  lib/gis/make_mapset.c: libgis: G_make_location() - check for
+	  legal name
+
+2013-04-03 17:04  martinl
+
+	* lib/gis/parser.c: libgis: typo in comment
+
+2013-04-03 16:43  martinl
+
+	* lib/gis/parser.c: libgis: G_parser(): don't call G_find_file()
+	  for element 'mapset'
+
+2013-04-03 16:28  martinl
+
+	* general/g.proj/create.c, raster/r.in.gdal/main.c,
+	  vector/v.in.lidar/main.c, vector/v.in.ogr/main.c: update several
+	  modules: G_make_location() doesn't call G_fatal_error()
+
+2013-04-03 16:27  martinl
+
+	* include/defs/gis.h, lib/gis/make_loc.c: libgis: remove
+	  G__make_location from public API
+	  G_make_location return error-code on failure
+	  remove unused report_file from G_make_location()
+	  doxygen improvements
+
+2013-04-03 16:03  martinl
+
+	* general/g.mapset/main.c: g.mapset: check return code of
+	  G_make_mapset()
+
+2013-04-03 16:03  martinl
+
+	* include/defs/gis.h, lib/gis/make_mapset.c: libgis: simplify API
+	  (remove G__make_mapset)
+	  G_make_mapset return -1 on failure
+
+2013-04-03 16:01  martinl
+
+	* lib/gis/file_name.c, lib/gis/legal_name.c: libgis: dox cosmetics
+
+2013-04-03 11:28  martinl
+
+	* gui/wxpython/gui_core/treeview.py: wxGUI: fix CTreeView for
+	  wxPython 2.8.10.1 (no agwStyle)
+
+2013-04-03 10:57  zarch
+
+	* lib/python/pygrass/modules/Makefile,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/modules/grid,
+	  lib/python/pygrass/modules/grid/Makefile,
+	  lib/python/pygrass/modules/grid/__init__.py,
+	  lib/python/pygrass/modules/grid/grid.py,
+	  lib/python/pygrass/modules/grid/patch.py,
+	  lib/python/pygrass/modules/grid/split.py: Add the new GridModule
+	  class
+
+2013-04-03 10:53  zarch
+
+	* lib/python/script/setup.py.sed: Add a new function, rename dit to
+	  etcpy
+
+2013-04-03 10:45  zarch
+
+	* gui/wxpython/lmgr/pyshell.py,
+	  lib/python/pygrass/modules/Makefile,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/modules/interface,
+	  lib/python/pygrass/modules/interface/Makefile,
+	  lib/python/pygrass/modules/interface/__init__.py,
+	  lib/python/pygrass/modules/interface/flag.py,
+	  lib/python/pygrass/modules/interface/module.py,
+	  lib/python/pygrass/modules/interface/parameter.py,
+	  lib/python/pygrass/modules/interface/read.py,
+	  lib/python/pygrass/modules/interface/typedict.py,
+	  lib/python/pygrass/modules/shortcuts.py: Split
+	  pygrass/modules/__init__ in smaller files
+
+2013-04-03 09:40  martinl
+
+	* lib/vector/Vlib/copy.c, lib/vector/Vlib/local_proto.h,
+	  lib/vector/Vlib/pg_local_proto.h, lib/vector/Vlib/write_ogr.c,
+	  lib/vector/Vlib/write_pg.c, lib/vector/Vlib/write_sfa.c: vlib:
+	  implement V2__write_area_ogr() + V2__write_area_sfa()
+	  update V2__write_area_pg()
+	  fix off_t formatting issues
+
+2013-04-03 08:14  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Add global environments
+	  to the Module class and add a method that return a dictionary
+
+2013-04-03 08:14  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: Fix behaviour when
+	  instantiate a Raster class with name and mapset.
+
+2013-04-03 08:14  zarch
+
+	* lib/python/pygrass/vector/basic.py: Add new items method to the
+	  Bbox class.
+
+2013-04-03 08:13  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Add new methods to the Mapset
+	  class to set, delete mapsets.
+
+2013-04-03 08:13  zarch
+
+	* raster/r.tile/main.c: Add overlap option to r.tile
+
+2013-04-03 08:13  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Change new_mapset from a
+	  method of the class to a function
+
+2013-04-02 21:16  neteler
+
+	* lib/init/grass7.html: grass7.html: examples for location creation
+
+2013-04-02 19:17  annakrat
+
+	* gui/wxpython/Makefile, gui/wxpython/core/menudata.py,
+	  gui/wxpython/core/menutree.py, gui/wxpython/core/modulesdata.py,
+	  gui/wxpython/core/treemodel.py, gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/menudata.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/gui_core/query.py,
+	  gui/wxpython/gui_core/treeview.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/menudata.py,
+	  gui/wxpython/modules/extensions.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/menudata.py, gui/wxpython/scripts/vkrige.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI: refactoring tree structures
+	  (menu, search tree, extensions, query)
+
+2013-04-02 18:18  neteler
+
+	* raster/r.cost/main.c, raster/r.cost/r.cost.html: r.cost: +cost
+	  allocation explanations; HTML cosmetics
+
+2013-04-02 12:21  neteler
+
+	* scripts/db.out.ogr/db.out.ogr.py: use CSV as default
+
+2013-04-02 12:15  neteler
+
+	* scripts/db.out.ogr/db.out.ogr.html,
+	  scripts/db.out.ogr/db.out.ogr.py: db.out.ogr: also support
+	  attribute export in case of line and area vectors; support for
+	  multilayers
+
+2013-04-01 16:09  martinl
+
+	* lib/gis/verbose.c: libgis: doxygen cosmetics (verbose.c)
+
+2013-04-01 16:01  martinl
+
+	* vector/v.buffer/main.c: v.buffer: verbosity level cosmetics
+
+2013-04-01 15:18  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/read_pg.c, lib/vector/Vlib/write_pg.c: vlib/pg:
+	  implement V2_delete_line_pg() and V2_rewrite_line_pg() (work in
+	  progress)
+	  various minor issues
+
+2013-04-01 15:15  martinl
+
+	* lib/vector/Vlib/bridges.c, lib/vector/Vlib/local_proto.h,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_sfa.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_sfa.c: vlib: add V2__delete_line_topo_nat()
+	  update V2__add_line_topo_nat()
+	  add extra checks (invalid line id) + update doxygen (note
+	  required build level)
+	  various minor issue
+
+2013-04-01 14:13  martinl
+
+	* vector/v.buffer/main.c: v.buffer: add some debug messages
+
+2013-04-01 14:06  martinl
+
+	* lib/vector/Vlib/box.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/select.c: vlib: Vect_get_line|area|isle_box()
+	  return -1 on error
+	  doxygen update - note requested built level
+	  formatting issues
+
+2013-04-01 13:04  martinl
+
+	* include/vect/dig_defines.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/update.c: diglib: pass const variables to
+	  dig_add/restore_line
+	  track also removed nodes (uplist)
+	  doxygen cosmetics
+
+2013-03-31 17:56  martinl
+
+	* raster/r.tile: r.tile: update svn props
+
+2013-03-28 20:30  martinl
+
+	* gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.gcp.html, gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI.nviz.html,
+	  gui/wxpython/docs/wxGUI_GCP_Manager.jpg,
+	  gui/wxpython/docs/wxGUI_gcp_frame.jpg,
+	  imagery/i.rectify/i.rectify.html, imagery/i.target/i.target.html,
+	  misc/m.nviz.image/m.nviz.image.html,
+	  misc/m.nviz.script/m.nviz.script.html,
+	  scripts/d.shadedmap/d.shadedmap.html,
+	  vector/v.extrude/v.extrude.html, vector/v.rectify/v.rectify.html:
+	  wxGUI: rename nviz and gcp html pages (follow naming conventions)
+
+2013-03-28 20:05  martinl
+
+	* lib/vector/Vlib/copy.c: vlib: Vect_copy_lines_field(): fix
+	  copying areas (simple features output) - skip isles (work in
+	  progress)
+
+2013-03-28 19:35  neteler
+
+	* lib/init/helptext.html: helptext.html: intro update; link to
+	  start manual; doc url update
+
+2013-03-28 16:54  martinl
+
+	* lib/python/script/core.py: pythonlib:
+	  compare_key_value_text_files() - remove print statements
+	  update doxygen
+
+2013-03-28 16:53  martinl
+
+	* scripts/v.unpack/v.unpack.py: v.unpack: message cosmetics (fix
+	  brackets position)
+
+2013-03-28 16:42  martinl
+
+	* scripts/v.pack/v.pack.py: v.pack: only native format supported
+	  cosmetics
+
+2013-03-27 21:42  neteler
+
+	* raster/r.tile/r.tile.html, raster3d/r3.retile/r3.retile.html:
+	  r.tile: +description, +example
+
+2013-03-27 21:18  martinl
+
+	* scripts/v.pack/v.pack.py: v.pack: message cosmetics
+
+2013-03-27 21:14  mmetz
+
+	* lib/gis/plot.c: libgis: fix for AIX
+
+2013-03-27 21:05  martinl
+
+	* lib/gis/plot.c: libgis: doxygen cosmetics (plot.c)
+
+2013-03-27 19:07  mmetz
+
+	* vector/v.net.distance/main.c: v.net.distance: fix module
+	  description
+
+2013-03-26 20:28  annakrat
+
+	* raster/r.cost/r.cost.html, raster/r.gwflow/r.gwflow.html,
+	  raster/r.to.rast3/r.to.rast3.html,
+	  raster/r.to.rast3elev/r.to.rast3elev.html,
+	  raster3d/r3.cross.rast/r3.cross.rast.html,
+	  raster3d/r3.to.rast/r3.to.rast.html,
+	  vector/v.delaunay/v.delaunay.html, vector/v.hull/v.hull.html,
+	  vector/v.voronoi/v.voronoi.html: add missing quotes to html tags
+	  attribute values (to render images in wxGUI man properly)
+
+2013-03-26 14:55  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: fix typo
+
+2013-03-26 13:49  martinl
+
+	* lib/vector/Vlib/level_two.c: vlib: Vect_get_line_areas() return
+	  -1 on error + doxygen update
+
+2013-03-26 12:44  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: wxGUI/gmodeler: add
+	  intro to the manual
+
+2013-03-26 11:40  mmetz
+
+	* aclocal.m4, configure: fix FreeBSD support
+
+2013-03-26 10:52  mmetz
+
+	* vector/v.db.select/main.c: v.db.select: change guisection
+
+2013-03-26 09:03  mmetz
+
+	* include/defs/gis.h: gis.h: fix for BSD
+
+2013-03-25 19:53  neteler
+
+	* temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py: temporal modules:
+	  standardize field separator parameter
+
+2013-03-25 12:48  neteler
+
+	* raster/Makefile: +r.tile
+
+2013-03-25 09:13  neteler
+
+	* raster3d/r3.in.ascii/r3.in.ascii.html: sub in div fails
+
+2013-03-25 09:04  neteler
+
+	* raster/r.tile/Makefile, raster/r.tile/main.c,
+	  raster/r.tile/r.tile.html: svn propset
+
+2013-03-25 08:38  neteler
+
+	* raster3d/r3.gwflow/main.c, raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.mkdspf/calc_linefax.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/r3_find.c, raster3d/r3.null/main.c,
+	  raster3d/r3.out.ascii/main.c, raster3d/r3.out.bin/main.c,
+	  raster3d/r3.out.netcdf/main.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c, raster3d/r3.retile/main.c,
+	  raster3d/r3.showdspf/r3_find.c, raster3d/r3.support/check.c,
+	  raster3d/r3.support/main.c,
+	  raster3d/r3.timestamp/r3.timestamp.main.c,
+	  raster3d/r3.to.rast/main.c: more msg standardization
+
+2013-03-25 07:31  neteler
+
+	* raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.out.ascii/r3.out.ascii.html: manual cosmetics
+
+2013-03-25 02:54  glynn
+
+	* raster/r.tile, raster/r.tile/Makefile, raster/r.tile/main.c,
+	  raster/r.tile/r.tile.html: r.tile - split raster map into tiles
+
+2013-03-24 12:27  huhabla
+
+	* temporal/t.vect.univar/t.vect.univar.py: changed fs to separator
+
+2013-03-24 08:55  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/toolbars.py,
+	  gui/wxpython/nviz/preferences.py: wxGUI/wxNviz: fix preferences
+	  dialog
+
+2013-03-24 08:36  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix loading workspace with
+	  nviz
+
+2013-03-23 16:56  martinl
+
+	* vector/v.external.out/link.c, vector/v.external.out/main.c:
+	  v.external.out: add some verbose messages
+
+2013-03-23 00:42  glynn
+
+	* include/Make/Grass.make, lib/db/sqlp/sqlp.l,
+	  raster/r.mapcalc/mapcalc.l: Remove (non-portable) -s switch from
+	  LFLAGS
+	  Add error rule to lex files
+
+2013-03-22 18:54  huhabla
+
+	* temporal/t.register/t.register.html: Manual page update
+
+2013-03-22 18:54  glynn
+
+	* db/drivers/mysql/describe.c, imagery/i.evapo.pm/functions.c,
+	  imagery/i.evapo.pm/main.c, imagery/i.evapo.time/main.c,
+	  imagery/i.landsat.toar/landsat_met.c, include/imagery.h,
+	  lib/arraystats/class.c, lib/imagery/iclass_local_proto.h,
+	  lib/imagery/iclass_perimeter.c, lib/imagery/iclass_signatures.c,
+	  lib/nviz/draw.c, lib/nviz/position.c,
+	  lib/vector/neta/articulation_point.c, lib/vector/neta/bridge.c,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/indexm.c,
+	  lib/vector/vedit/render.c, lib/vector/vedit/zbulk.c,
+	  raster3d/r3.out.netcdf/main.c,
+	  vector/v.net.visibility/data_structures.c,
+	  vector/v.to.points/main.c: Don't use // comments (C89
+	  compatibility)
+
+2013-03-22 17:42  mmetz
+
+	* raster/r.watershed/seg/close_maps.c: r.watershed: fix cut'n paste
+	  typo
+
+2013-03-22 16:45  neteler
+
+	* locale/po/grasslibs_es.po: Javier Garcia Prieto: cont'ed
+
+2013-03-22 16:40  neteler
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasswxpy_es.po: converted to UTF-8
+
+2013-03-22 15:53  martinl
+
+	* vector/v.out.postgis/main.c: v.out.postgis: bugfix (don't use
+	  temporary vector map)
+
+2013-03-22 13:55  annakrat
+
+	* contributors.csv: wedding announcement
+
+2013-03-22 11:25  mmetz
+
+	* aclocal.m4, configure: add support for netbsd
+
+2013-03-21 20:33  mmetz
+
+	* aclocal.m4: fix remove unused variable, towards netbsd support
+
+2013-03-21 19:50  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: use text field
+	  instead of FloatSpin for type float
+
+2013-03-21 16:06  mmetz
+
+	* db/drivers/sqlite/describe.c: sqlite: report text fields without
+	  width as text, not character
+
+2013-03-21 15:58  mmetz
+
+	* lib/vector/Vlib/ascii.c: Vlib: fix ascii export selection
+
+2013-03-21 14:57  mmetz
+
+	* lib/vector/Vlib/cats.c: add layer number to cat list
+
+2013-03-21 13:59  mmetz
+
+	* lib/vector/vectorlib_faq.dox: more answers
+
+2013-03-21 13:22  martinl
+
+	* lib/vector/Vlib/build.c: vlib: don't print building message for
+	  temporary maps (cosmetics)
+
+2013-03-21 12:47  martinl
+
+	* include/vect/dig_defines.h: vlib: describe LEVEL_3 (dox)
+
+2013-03-21 11:06  wenzeslaus
+
+	* lib/vector/vectorlib_lists.dox: vlib/dox: improving lists of funs
+	  and structs page sectioning
+
+2013-03-21 11:02  wenzeslaus
+
+	* lib/vector/vectorlib.dox, lib/vector/vectorlib_lists.dox:
+	  vlib/dox: moving lists of funs and structs to a separate page
+
+2013-03-21 09:39  mmetz
+
+	* lib/db/dbmi_base/sqltype.c: revert r54684
+
+2013-03-20 18:11  huhabla
+
+	* temporal/Makefile,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.neighbors, temporal/t.rast.neighbors/Makefile,
+	  temporal/t.rast.neighbors/t.rast.neighbors.html,
+	  temporal/t.rast.neighbors/t.rast.neighbors.py,
+	  temporal/t.rast.neighbors/test.t.rast.neighbors.sh: Added new
+	  module to perform neighborhood computations on STRDS
+
+2013-03-20 17:53  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI menu: cosmetics (manage
+	  color rules interactively)
+
+2013-03-20 15:00  annakrat
+
+	* REQUIREMENTS.html, gui/wxpython/README,
+	  gui/wxpython/core/globalvar.py: wxGUI: raise minimum version to
+	  2.8.10.1
+
+2013-03-20 08:19  huhabla
+
+	* include/defs/raster3d.h, include/raster3d.h: Committed correct
+	  header files for the 3D raster library
+
+2013-03-20 01:58  glynn
+
+	* lib/raster3d/volume.c: Convert K&R-style functions to ANSI C
+
+2013-03-20 00:14  huhabla
+
+	* lib/raster3d/cache.c, lib/raster3d/changeprecision.c,
+	  lib/raster3d/close.c, lib/raster3d/defaults.c,
+	  lib/raster3d/fpcompress.c, lib/raster3d/header.c,
+	  lib/raster3d/headerinfo.c, lib/raster3d/index.c,
+	  lib/raster3d/open.c, lib/raster3d/open2.c, lib/raster3d/param.c,
+	  lib/raster3d/putvalue.c, lib/raster3d/raster3d_intern.h,
+	  lib/raster3d/region.c, lib/raster3d/resample.c,
+	  lib/raster3d/retile.c, lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value.c,
+	  lib/raster3d/test/test_put_get_value_large_file.c,
+	  lib/raster3d/tileio.c, lib/raster3d/tileread.c,
+	  lib/raster3d/tilewrite.c,
+	  raster3d/r3.cross.rast/test.r3.cross.rast.sh,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.mask/main.c, raster3d/r3.null/main.c,
+	  raster3d/r3.null/test.r3.null.sh,
+	  raster3d/r3.out.ascii/test.r3.out.ascii.sh,
+	  raster3d/r3.out.vtk/test.r3.out.vtk.sh,
+	  raster3d/r3.retile/main.c, raster3d/r3.retile/test.r3.retile.sh,
+	  raster3d/r3.stats/test.r3.stats.sh,
+	  raster3d/r3.to.rast/test.r3.to.rast.sh: Removed buggy LRE
+	  compression from 3D raster library as discussed here:
+	  http://trac.osgeo.org/grass/ticket/1752
+	  3D raster modules have been adjusted to the API changes. Tests
+	  have been improved.
+
+2013-03-19 21:31  mmetz
+
+	* aclocal.m4, configure: add support for Solaris and FreeBSD
+	  (confirmed) and AIX (experimental)
+
+2013-03-19 21:02  wenzeslaus
+
+	* grasslib.dox, gui/wxpython/core/utils.py,
+	  gui/wxpython/dbmgr/sqlbuilder.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/lmgr/giface.py,
+	  gui/wxpython/web_services/dialogs.py, lib/display/symbol.c,
+	  lib/gis/gislib.dox, lib/ogsf/gvl_file.c: dox: syntax errors
+
+2013-03-19 17:31  wenzeslaus
+
+	* lib/vector/vectorlib.dox, lib/vector/vectorlib_files.dox,
+	  lib/vector/vectorlib_indices.dox,
+	  lib/vector/vectorlib_libraries.dox: vlib/dox: removing dglib from
+	  the main Doxygen documentation (removing references and cleaning
+	  duplicated text)
+
+2013-03-19 17:29  wenzeslaus
+
+	* lib/vector/rtree/rect.c: vlib/dox: changing comments to not
+	  conflict with Markdown syntax
+
+2013-03-19 16:16  wenzeslaus
+
+	* lib/vector/vectorlib_faq.dox: vlib/dox: fixing vector FAQ
+	  (missing comment end)
+
+2013-03-19 15:24  zarch
+
+	* lib/python/pygrass/vector/Makefile,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/find.py: Add the Finder class to the
+	  vector map
+
+2013-03-19 15:24  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Transform the method of
+	  the vector abstract class into a function
+
+2013-03-19 15:24  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fix small typo errors and
+	  change the name of some method
+
+2013-03-19 15:24  zarch
+
+	* lib/python/pygrass/vector/basic.py: Fix __iter__ method of the
+	  Ilist class, now return an iterator
+
+2013-03-19 15:24  wenzeslaus
+
+	* lib/vector/vectorlib_faq.dox: vlib/dox: vector FAQ formatting
+	  (src and output)
+
+2013-03-19 15:24  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fix bug using vector
+	  category
+
+2013-03-19 15:24  zarch
+
+	* lib/python/pygrass/vector/vector_type.py: Remove duplicate
+
+2013-03-19 15:24  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/geometry.py: Move some geometry code
+	  from __init__ to geometry
+
+2013-03-19 15:06  mmetz
+
+	* vector/v.univar/main.c: v.univar: fix for SunOS 5 and Solaris 2
+
+2013-03-19 15:02  mmetz
+
+	* lib/vector/vectorlib_faq.dox: answering vector questions
+
+2013-03-19 14:25  lucadelu
+
+	* locale/po/grassmods_it.po: Anna Zanchetta: cont'ed
+
+2013-03-19 12:37  wenzeslaus
+
+	* lib/vector/vectorlib.dox, lib/vector/vectorlib_faq.dox: vlib/dox:
+	  vector FAQ (answered by mmetz)
+
+2013-03-18 20:19  wenzeslaus
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/lmgr: connecting the updateMap
+	  signal from the main giface object
+
+2013-03-18 17:52  neteler
+
+	* db/db.copy/db.copy.html: docs prettified
+
+2013-03-18 11:44  zarch
+
+	* gui/wxpython/lmgr/giface.py: Improve the interaction with Layer
+	  and LayerList objects
+
+2013-03-18 10:49  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: fix unsetting environmental
+	  variables (problem with 'system' locale in preferences)
+
+2013-03-18 10:27  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: report all possible
+	  projection mismatches
+
+2013-03-18 10:25  mmetz
+
+	* lib/gis/make_loc.c: fix #1905
+
+2013-03-17 21:49  glynn
+
+	* aclocal.m4, configure, include/Make/Platform.make.in: Remove
+	  unused variables
+
+2013-03-17 17:24  martinl
+
+	* lib/vector/Vlib/write_nat.c: vlib: doxygen cosmetics
+
+2013-03-17 16:41  martinl
+
+	* lib/vector/Vlib/level_two.c: Vect_get_node_coor: return -1 on
+	  invalid index
+
+2013-03-17 14:41  martinl
+
+	* lib/init/variables.html, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/open.c: vlib: document
+	  GRASS_VECTOR_EXTERNAL_IMMEDIATE variable
+
+2013-03-17 14:18  martinl
+
+	* lib/vector/Vlib/close.c, lib/vector/Vlib/header_finfo.c,
+	  lib/vector/Vlib/open.c: vlib(pg): use temporary map in native
+	  format when output is simple features
+
+2013-03-17 13:41  martinl
+
+	* lib/vector/Vlib/close.c, lib/vector/Vlib/copy.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/read_nat.c: vlib: use
+	  temporary maps for OGR output by default
+	  
+	  if GRASS_VECTOR_OGR_DIRECT exists, then the features are written
+	  to
+	  output OGR layer directly
+
+2013-03-17 10:51  martinl
+
+	* vector/v.buffer/main.c: v.buffer: use temporary map
+
+2013-03-17 10:40  martinl
+
+	* lib/vector/Vlib/field.c: vlib: read_dblinks_ogr(): fatal error ->
+	  warning
+
+2013-03-16 17:37  martinl
+
+	* lib/init/variables.html: document GRASS_VECTOR_OGR env variable
+
+2013-03-16 17:21  martinl
+
+	* lib/vector/Vlib/open.c: vlib: note that temporary vector maps are
+	  overwritten if they exist
+
+2013-03-16 14:41  martinl
+
+	* vector/v.overlay/main.c: v.overlay: use temporary vector maps
+
+2013-03-16 14:40  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/local_proto.h,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/diglib/head.c: vlib:
+	  Vect_open_tmp_new() implemented
+	  basic support for temporary vector maps (work in progress)
+
+2013-03-16 14:20  martinl
+
+	* lib/gis/file_name.c, lib/gis/mapset_msc.c, lib/gis/open.c,
+	  lib/gis/tempfile.c: gislib: add some extra debug messages
+
+2013-03-16 11:40  mmetz
+
+	* lib/cairodriver/Text.c: cairodriver fix typo
+
+2013-03-15 19:47  annakrat
+
+	* gui/wxpython/nviz/animation.py, gui/wxpython/nviz/tools.py:
+	  wxGUI: continue replacing events (animationFinished,
+	  animationUpdateIndex)
+
+2013-03-15 19:13  annakrat
+
+	* gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI: continue replacing events
+	  (promptRunCmd)
+
+2013-03-15 17:53  wenzeslaus
+
+	* gui/wxpython/lmgr/pyshell.py: wxGUI/PyShell: pygrass and giface
+	  available
+
+2013-03-15 17:12  wenzeslaus
+
+	* lib/python/pydispatch/pydispatchlib.dox: pythonlib/pydispatch:
+	  documentation intro
+
+2013-03-15 11:14  mmetz
+
+	* db/db.describe/main.c: db.describe: print string not dbString
+
+2013-03-15 11:11  mmetz
+
+	* include/dbmi.h: dbmi.h: remove unused OK ERROR
+
+2013-03-15 10:23  neteler
+
+	* config.guess, config.sub: config.guess: updated
+
+2013-03-14 22:59  wenzeslaus
+
+	* lib/python/pydispatch/dispatcher.py,
+	  lib/python/pydispatch/pydispatchlib.dox,
+	  lib/python/pydispatch/signal.py: pythonlib/pydispatch: API
+	  documentation
+
+2013-03-14 22:56  annakrat
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/frame.py: wxGUI: continue replacing events
+	  (speedChanged)
+
+2013-03-14 22:44  annakrat
+
+	* gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/modules/extensions.py: wxGUI: continue replacing
+	  events (moduleSelected), disable currently unused wxGdalSelect
+	  event
+
+2013-03-14 21:04  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/widgets.py: wxGUI: continue replacing
+	  events (symbolSelectionChanged)
+
+2013-03-14 20:49  wenzeslaus
+
+	* lib/python/pydispatch/pydispatchlib.dox: pythonlib/pydispatch:
+	  doxyen documentation
+
+2013-03-14 20:26  annakrat
+
+	* gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py: wxGUI: continue replacing
+	  events (capParsed)
+
+2013-03-14 19:50  mmetz
+
+	* lib/db/dbmi_driver/driver.c: add missing header
+
+2013-03-14 19:45  annakrat
+
+	* gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/web_services/dialogs.py: wxGUI: continue replacing
+	  events
+
+2013-03-14 19:40  mmetz
+
+	* lib/db/dbmi_driver/driver.c: fix #1866
+
+2013-03-14 19:39  mmetz
+
+	* include/Make/Grass.make: revert r55359
+
+2013-03-14 16:34  annakrat
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: remove redundant import
+
+2013-03-14 16:03  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapswipe/frame.py: wxGUI: change event by signal
+	  (EVT_AUTO_RENDER)
+
+2013-03-14 15:07  turek
+
+	* gui/wxpython/vnet/dialogs.py: wx.vnet: avoid creation of Panes
+	  with same name
+
+2013-03-13 23:12  martinl
+
+	* include/vect/dig_structs.h: document GV_FORMAT_POSTGIS
+
+2013-03-13 22:17  annakrat
+
+	* gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: replace events by signals in opacity dialog and multiple
+	  maps dialog
+
+2013-03-13 14:48  mmetz
+
+	* vector/v.overlay/line_area.c: v.overlay reduce IO
+
+2013-03-13 14:47  mmetz
+
+	* scripts/v.db.addtable/v.db.addtable.py: v.db.addtable minor bug
+	  fix
+
+2013-03-13 14:43  mmetz
+
+	* include/defs/rbtree.h, lib/btree2/rbtree.c: rbtree: add backward
+	  traversal
+
+2013-03-13 14:40  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Fix the flags managements
+
+2013-03-13 13:42  mmetz
+
+	* include/Make/Grass.make: workaround for #1866, restore r55332
+
+2013-03-13 09:29  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Fix table creation
+
+2013-03-13 08:56  annakrat
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: fix indentation
+
+2013-03-13 08:46  annakrat
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: fix editing table
+	  records
+
+2013-03-13 08:25  annakrat
+
+	* gui/wxpython/dbmgr/base.py: wxGUI: fix #1270 (merge from release
+	  branch, r55306)
+
+2013-03-12 23:20  wenzeslaus
+
+	* lib/python/pydispatch/signal.py: pythonlib/pydispatch: more doc
+	  test for signal
+
+2013-03-12 21:49  annakrat
+
+	* man/build_html.py, man/build_keywords.py: man/keywords: use
+	  description instead of bullet list
+
+2013-03-12 18:19  mmetz
+
+	* db/db.select/main.c: db.select: do not use ERROR
+
+2013-03-12 18:01  martinl
+
+	* man/grassdocs.css: grassdocs.css: remove out-dated note
+	  (cosmetics)
+
+2013-03-12 17:37  glynn
+
+	* include/Make/Grass.make: Revert r55332
+
+2013-03-12 13:54  zarch
+
+	* lib/python/pygrass/vector/abstract.py: The mapset attribute of a
+	  vectormap cannot be None
+
+2013-03-12 09:01  lucadelu
+
+	* man/build_html.py, man/build_keywords.py: small fix on keywords
+	  page
+
+2013-03-12 00:48  mmetz
+
+	* include/Make/Grass.make: fix #1866
+
+2013-03-11 22:16  wenzeslaus
+
+	* lib/python/pydispatch/signal.py: pythonlib/pydispatch: doc test
+	  for signal, fixing disconnect (i.e. g.gui.iclass)
+
+2013-03-11 20:29  wenzeslaus
+
+	* gui/wxpython/core/events.py, gui/wxpython/core/gconsole.py,
+	  gui/wxpython/core/giface.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/mapdisp.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/prompt.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/giface.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/vnet/dialogs.py: wxGUI: replacing wx events by
+	  pydispatcher signals, first steps (co-author: annakrat)
+
+2013-03-11 20:24  wenzeslaus
+
+	* lib/python/pydispatch/Makefile,
+	  lib/python/pydispatch/__init__.py,
+	  lib/python/pydispatch/dispatcher.py,
+	  lib/python/pydispatch/errors.py,
+	  lib/python/pydispatch/license.txt,
+	  lib/python/pydispatch/robust.py,
+	  lib/python/pydispatch/robustapply.py,
+	  lib/python/pydispatch/saferef.py,
+	  lib/python/pydispatch/signal.py: libpython/pydispach: svn propset
+
+2013-03-11 20:20  wenzeslaus
+
+	* lib/python/pydispatch/Makefile,
+	  lib/python/pydispatch/dispatcher.py,
+	  lib/python/pydispatch/pydispatchlib.dox,
+	  lib/python/pydispatch/robust.py, lib/python/pydispatch/signal.py:
+	  libpython/pydispach: simple API (Signal) and small fix for
+	  unloading
+
+2013-03-11 16:41  neteler
+
+	* man/build_html.py, man/build_keywords.py: cosmetics
+
+2013-03-11 15:21  wenzeslaus
+
+	* lib/python/Makefile, lib/python/pydispatch,
+	  lib/python/pydispatch/Makefile, lib/python/pydispatch/PKG-INFO,
+	  lib/python/pydispatch/__init__.py,
+	  lib/python/pydispatch/dispatcher.py,
+	  lib/python/pydispatch/errors.py,
+	  lib/python/pydispatch/license.txt,
+	  lib/python/pydispatch/pydispatchlib.dox,
+	  lib/python/pydispatch/robust.py,
+	  lib/python/pydispatch/robustapply.py,
+	  lib/python/pydispatch/saferef.py: libpython: pydispacher library
+	  (PyDispatcher 2.0.3 source code)
+
+2013-03-11 12:43  lucadelu
+
+	* man/Makefile, man/build_keywords.py: add first version of script
+	  to create keywords page
+
+2013-03-11 12:30  annakrat
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  lib/python/script/core.py: wxGUI/startup: merge changes from
+	  release branch (r55185,r55278,r55297)
+
+2013-03-10 21:18  martinl
+
+	* lib/vector/Vlib/build_pg.c: vlib(pg): report error when inserting
+	  faces fails
+
+2013-03-10 21:17  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib(pg): fix inserting face when
+	  srid is specified
+
+2013-03-10 21:09  martinl
+
+	* vector/v.out.postgis/Makefile, vector/v.out.postgis/main.c:
+	  v.out.postgis: remove feature table on error
+
+2013-03-10 20:48  annakrat
+
+	* gui/wxpython/scripts/vkrige.py: wxGUI/vkrige: fix attribute name
+
+2013-03-10 18:43  martinl
+
+	* vector/v.out.postgis/v.out.postgis.html: v.out.postgis: document
+	  'options=srid=3358'
+
+2013-03-10 18:42  martinl
+
+	* lib/vector/Vlib/open.c, lib/vector/Vlib/open_pg.c: vlib(pg):
+	  enable srid support
+
+2013-03-10 18:08  mmetz
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: layer contect menu:
+	  restore use standard r.colors interface
+
+2013-03-10 17:24  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib(pg): fix create_table() for text
+	  type
+
+2013-03-10 15:26  mmetz
+
+	* raster/r.resamp.rst/main.c: r.resamp.rst: avoid integer overflow,
+	  cnt'd
+
+2013-03-10 15:25  mmetz
+
+	* raster/r.resamp.rst/main.c: r.resamp.rst: avoid integer overflow
+
+2013-03-08 18:18  martinl
+
+	* include/Make/GuiScript.make, include/Make/Html.make,
+	  man/Makefile, man/build_class.py, man/build_html.py,
+	  man/build_topics.py, tools/mkhtml.py: cosmetics in building
+	  manual
+
+2013-03-08 16:54  martinl
+
+	* grasslib.dox: grasslib.dox: cosmetics in header
+
+2013-03-08 15:52  martinl
+
+	* REQUIREMENTS.html: update REQUIREMENTS
+
+2013-03-07 09:30  neteler
+
+	* locale/po/grasslibs_fr.po: Sylvain Maillard: cont'ed
+
+2013-03-06 09:19  ychemin
+
+	* gui/wxpython/xml/menudata.xml: i.segment menu in gui:
+	  imagery>classification> (last one)
+
+2013-03-04 20:32  mmetz
+
+	* vector/v.in.ogr/geom.c: v.in.ogr: prune input
+
+2013-03-04 09:00  huhabla
+
+	* temporal/t.rast.mapcalc/t.rast.mapcalc.html: Docu update
+
+2013-03-04 07:14  lucadelu
+
+	* locale/po/grassmods_it.po: Anna Zanchetta: cont'ed
+
+2013-03-01 21:01  glynn
+
+	* raster/r.cross/Makefile, raster/r.cross/cross.c,
+	  raster/r.cross/glob.h, raster/r.cross/local_proto.h,
+	  raster/r.cross/main.c, raster/r.cross/renumber.c,
+	  raster/r.cross/tree.c: Fix handling of null values
+	  Use btree library instead of inlined version
+
+2013-03-01 20:45  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: fix Vect_break_lines_list()
+
+2013-03-01 20:43  mmetz
+
+	* lib/vector/Vlib/merge_lines.c: Vlib: simplify code
+
+2013-03-01 20:40  mmetz
+
+	* vector/v.overlay/line_area.c: v.overlay: optimize line-area
+	  overlay
+
+2013-03-01 15:42  martinl
+
+	* general/g.version/date.c, general/g.version/local_proto.h,
+	  general/g.version/main.c: g.version: simplify build date
+	  formatting
+
+2013-03-01 14:16  mmetz
+
+	* vector/v.mkgrid/main.c: v.mkgrid: speedup and fix r53891
+
+2013-02-28 19:00  mmetz
+
+	* vector/v.clean/main.c, vector/v.clean/split.c: v.clean cosmetics
+
+2013-02-28 18:57  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: fix missing var
+
+2013-02-28 18:53  mmetz
+
+	* vector/v.clean/prune.c, vector/v.generalize/misc.c: update vector
+	  modules for Vect_line_intersection()
+
+2013-02-28 18:52  mmetz
+
+	* lib/vector/vedit/zbulk.c: vedit lib update
+
+2013-02-28 18:51  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: update Vect_break_lines()
+
+2013-02-28 18:51  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/intersect.c: Vlib:
+	  optimize Vect_line_intersection()
+
+2013-02-28 17:56  neteler
+
+	* vector/v.transform/v.transform.html: mention m.transform
+
+2013-02-28 17:26  neteler
+
+	* gui/wxpython/vnet/dialogs.py: fix r55256
+
+2013-02-28 16:59  neteler
+
+	* mswindows/Makefile: dummy default target for non-Windows
+	  compilation
+
+2013-02-28 13:58  turek
+
+	* gui/wxpython/vnet/dialogs.py: wx.vnet: add vector map button
+	  works also for d.mon, post gUpdateMap event instead of calling
+	  UpdateMap map method
+
+2013-02-28 13:47  turek
+
+	* gui/wxpython/mapdisp/mapwindow.py: remove self from arguments in
+	  calling of UpdateMap method
+
+2013-02-28 10:43  wenzeslaus
+
+	* lib/gis/gislib.dox: dox: removing markdown incompatible syntax
+
+2013-02-28 08:30  mmetz
+
+	* vector/v.transform/v.transform.html: v.transform: update manual
+
+2013-02-28 08:30  mmetz
+
+	* vector/v.transform/main.c: v.transform: remove refs to GCP and
+	  unused flag
+
+2013-02-27 19:12  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: msg update from templates
+
+2013-02-26 11:42  turek
+
+	* gui/wxpython/core/gconsole.py: gconsole: Only creation and
+	  sending of event belongs to condition.
+
+2013-02-26 11:24  wenzeslaus
+
+	* lib/python/script/core.py: Added comment to legal_name function
+
+2013-02-26 11:22  turek
+
+	* gui/wxpython/mapdisp/main.py: wxGUI d.mon: Use same rendering
+	  system as wxGUI mapdisplay uses.
+
+2013-02-26 10:50  glynn
+
+	* lib/python/script/core.py: Added legal_name() function
+
+2013-02-25 08:27  hamish
+
+	* raster/r.sun/r.sun.html: minor tweak
+
+2013-02-25 08:22  hamish
+
+	* raster/r.sun/main.c, raster/r.sun/r.sun.html: invert shading flag
+	  (#1241), g7ize various option names with underscores
+
+2013-02-24 18:10  martinl
+
+	* lib/init/grass.py: grass.py: --help: print header (version, short
+	  desc)
+
+2013-02-22 19:00  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: fix #1896
+
+2013-02-22 17:06  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: wxgui - adding v.outlier to menu
+
+2013-02-22 13:33  annakrat
+
+	* display/d.thematic.area/main.c: enable color gisprompt
+
+2013-02-22 11:31  hamish
+
+	* vector/v.distance/main.c: gui section orphan
+
+2013-02-22 11:30  hamish
+
+	* raster/r.spread/main.c: gui section can handle spaces
+
+2013-02-22 11:29  hamish
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c: gui section can handle spaces
+
+2013-02-22 11:28  hamish
+
+	* raster/r.horizon/main.c: gui section can handle spaces
+
+2013-02-22 11:27  hamish
+
+	* raster/r.sun/main.c: gui section can handle spaces
+
+2013-02-22 11:06  hamish
+
+	* ps/ps.map/main.c: stray whitespace
+
+2013-02-22 11:05  hamish
+
+	* ps/ps.map/box.c, ps/ps.map/do_grid.c, ps/ps.map/do_header.c,
+	  ps/ps.map/getgrid.c, ps/ps.map/map_setup.c,
+	  ps/ps.map/ps_outline.c, ps/ps.map/r_header.c: stray whitespace
+	  (merge from devbr6)
+
+2013-02-22 08:25  hamish
+
+	* scripts/r.pack/r.pack.html, scripts/r.pack/r.pack.py: also stash
+	  a copy of the PROJ_EPSG file, if it exists
+
+2013-02-22 03:07  hamish
+
+	* display/d.legend/main.c: slightly clearer warning
+
+2013-02-22 02:43  hamish
+
+	* lib/python/pygrass/docs/make.bat, man/sphinx/make.bat,
+	  mswindows/env.bat, mswindows/external/rbatch/#Rscript.bat,
+	  mswindows/external/rbatch/R.bat,
+	  mswindows/external/rbatch/Rcmd.bat,
+	  mswindows/external/rbatch/Rgui.bat,
+	  mswindows/external/rbatch/RguiStart.bat,
+	  mswindows/external/rbatch/Rscript.bat,
+	  mswindows/external/rbatch/Rtidy.bat,
+	  mswindows/external/rbatch/Rtools.bat,
+	  mswindows/external/rbatch/RtoolsVersion.bat,
+	  mswindows/external/rbatch/Rversions.bat,
+	  mswindows/external/rbatch/Stangle.bat,
+	  mswindows/external/rbatch/Sweave.bat,
+	  mswindows/external/rbatch/copydir.bat,
+	  mswindows/external/rbatch/movedir.bat,
+	  mswindows/external/rbatch/rterm.bat, mswindows/osgeo4w/msys.bat,
+	  mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: svn props using
+	  module_svn_propset.sh, especially eol-style=CRLF
+
+2013-02-21 20:20  turek
+
+	* scripts/r.in.wms/wms_base.py: r.in.wms: avoid droping of
+	  +nadgrids parameter in gdalwarp
+
+2013-02-21 18:11  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: allow multiple
+	  colors
+
+2013-02-21 14:42  neteler
+
+	* vector/v.category/main.c: v.category: use existing message
+	  strings
+
+2013-02-21 14:37  neteler
+
+	* vector/v.category/main.c: v.category: use existing message
+	  strings
+
+2013-02-21 13:23  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI: fix #1793
+
+2013-02-21 10:48  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/composer: fix multiline lables
+	  on Windows
+
+2013-02-21 10:13  mmetz
+
+	* gui/wxpython/core/utils.py: wxGUI: GetVectorNumberOfLayers use
+	  v.category op=layers
+
+2013-02-21 10:12  mmetz
+
+	* vector/v.category/main.c: v.category: add option=layers
+
+2013-02-20 17:55  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: update mapdisp/main.py
+	  header
+
+2013-02-20 10:46  hamish
+
+	* imagery/i.ortho.photo/i.ortho.transform/main.c: m.transform was
+	  g.transform
+
+2013-02-20 10:16  neteler
+
+	* imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html,
+	  imagery/i.ortho.photo/i.ortho.camera/main.c,
+	  imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html,
+	  imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html,
+	  imagery/i.ortho.photo/i.ortho.init/main.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html,
+	  imagery/i.ortho.photo/i.ortho.rectify/main.c,
+	  imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html,
+	  imagery/i.ortho.photo/i.ortho.transform/main.c: HTML fixes;
+	  mention former module names
+
+2013-02-20 10:04  hamish
+
+	* raster/r.in.lidar/r.in.lidar.html: typo
+
+2013-02-20 10:04  hamish
+
+	* raster/r.in.lidar/r.in.lidar.html: preserve tense (merge from
+	  r.in.xyz)
+
+2013-02-20 10:01  hamish
+
+	* raster/r.in.xyz/r.in.xyz.html: preserve tense
+
+2013-02-20 09:52  neteler
+
+	* man/build_html.py, man/build_rest.py: manual file name is module
+	  name
+
+2013-02-20 09:44  hamish
+
+	* raster/r.out.arc/main.c: output is to a file not a raster
+
+2013-02-19 23:02  hamish
+
+	* raster/r.terraflow/main.cpp: minor wording
+
+2013-02-19 23:02  neteler
+
+	* lib/raster3d/windowio.c: glynn: attempt to fix trac #1784
+
+2013-02-19 12:25  martinl
+
+	* raster/r.terraflow/main.cpp: r.terraflow: do not define default
+	  answer for d8cut
+
+2013-02-18 22:43  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/psmap: show help text in
+	  statusbar
+
+2013-02-18 22:15  annakrat
+
+	* gui/wxpython/psmap/g.gui.psmap.py: wxGUI/psmap: missing import
+
+2013-02-18 13:14  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: msg update from templates
+
+2013-02-18 13:05  neteler
+
+	* db/db.columns/Makefile, db/db.connect/Makefile,
+	  db/db.copy/Makefile, db/db.createdb/Makefile,
+	  db/db.databases/Makefile, db/db.describe/Makefile,
+	  db/db.drivers/Makefile, db/db.dropdb/Makefile,
+	  db/db.execute/Makefile, db/db.select/Makefile,
+	  db/db.tables/Makefile, display/d.fontlist/Makefile,
+	  display/d.thematic.area/Makefile, doc/python/README,
+	  general/g.cairocomp/Makefile, general/g.copy/Makefile,
+	  general/g.list/Makefile, general/g.mlist/Makefile,
+	  general/g.mremove/Makefile, general/g.pnmcat/Makefile,
+	  general/g.ppmtopng/Makefile, general/g.remove/Makefile,
+	  general/g.rename/Makefile, gui/icons/flags/README,
+	  gui/images/symbols/README, gui/wxpython/README,
+	  gui/wxpython/animation/Makefile, gui/wxpython/gui_core/query.py,
+	  gui/wxpython/mapdisp/overlays.py, gui/wxpython/rlisetup/Makefile,
+	  gui/xml/Makefile, imagery/i.albedo/Makefile,
+	  imagery/i.biomass/Makefile, imagery/i.emissivity/Makefile,
+	  imagery/i.evapo.time/Makefile, imagery/i.landsat.toar/Makefile,
+	  imagery/i.latlong/Makefile, imagery/i.ortho.photo/lib/TODO,
+	  imagery/i.segment/Makefile, imagery/i.sunhours/Makefile,
+	  imagery/i.vi/Makefile, imagery/i.vi/evi2.c, include/Makefile,
+	  lib/arraystats/Makefile, lib/btree2/Makefile, lib/btree2/README,
+	  lib/cluster/Makefile, lib/db/dbmi_base/test/Makefile,
+	  lib/external/ccmath/Makefile, lib/external/ccmath/README,
+	  lib/gmath/test/Makefile, lib/htmldriver/Makefile,
+	  lib/htmldriver/README, lib/lidar/README,
+	  lib/python/ctypes/Makefile, lib/python/pygrass/Makefile,
+	  lib/python/pygrass/docs/Makefile,
+	  lib/python/pygrass/gis/Makefile,
+	  lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/modules/Makefile,
+	  lib/python/pygrass/raster/Makefile,
+	  lib/python/pygrass/tests/Makefile,
+	  lib/python/pygrass/vector/Makefile, lib/python/temporal/Makefile,
+	  lib/raster3d/test/Makefile, lib/temporal/SQL/Makefile,
+	  lib/temporal/lib/Makefile, lib/temporal/t.connect/Makefile,
+	  lib/vector/vedit/Makefile, man/sphinx/Makefile,
+	  mswindows/external/rbatch/README, raster/r.external.out/Makefile,
+	  raster/r.external/Makefile, raster/r.horizon/TODO,
+	  raster/r.in.png/Makefile, raster/r.quantile/Makefile,
+	  raster/r.resamp.bspline/Makefile, raster/r.resamp.bspline/README,
+	  raster/r.resamp.filter/Makefile, raster/r.series.interp/Makefile,
+	  raster/r.solute.transport/Makefile,
+	  raster/r.statistics2/Makefile, raster/r.statistics3/Makefile,
+	  raster/r.sun/Makefile, raster/r.sun/README, raster/r.sun/TODO,
+	  raster/r.uslek/Makefile, raster/r.usler/Makefile,
+	  raster3d/r3.in.bin/Makefile, raster3d/r3.info/Makefile,
+	  raster3d/r3.out.bin/Makefile, raster3d/r3.out.netcdf/Makefile,
+	  raster3d/r3.retile/Makefile, raster3d/r3.support/Makefile,
+	  raster3d/r3.timestamp/Makefile, scripts/db.droptable/Makefile,
+	  scripts/r.grow/Makefile, scripts/r.rgb/Makefile,
+	  scripts/v.in.geonames/Makefile, scripts/v.pack/Makefile,
+	  scripts/v.unpack/Makefile, scripts/wxpyimgview/Makefile,
+	  temporal/t.create/Makefile, temporal/t.info/Makefile,
+	  temporal/t.list/Makefile, temporal/t.rast.aggregate.ds/Makefile,
+	  temporal/t.rast.aggregate/Makefile,
+	  temporal/t.rast.colors/Makefile, temporal/t.rast.export/Makefile,
+	  temporal/t.rast.extract/Makefile,
+	  temporal/t.rast.gapfill/Makefile,
+	  temporal/t.rast.import/Makefile, temporal/t.rast.list/Makefile,
+	  temporal/t.rast.mapcalc/Makefile,
+	  temporal/t.rast.out.vtk/Makefile,
+	  temporal/t.rast.series/Makefile,
+	  temporal/t.rast.to.rast3/Makefile,
+	  temporal/t.rast.univar/Makefile,
+	  temporal/t.rast3d.extract/Makefile,
+	  temporal/t.rast3d.list/Makefile,
+	  temporal/t.rast3d.mapcalc/Makefile,
+	  temporal/t.rast3d.univar/Makefile, temporal/t.register/Makefile,
+	  temporal/t.remove/Makefile, temporal/t.rename/Makefile,
+	  temporal/t.sample/Makefile, temporal/t.support/Makefile,
+	  temporal/t.topology/Makefile, temporal/t.unregister/Makefile,
+	  temporal/t.vect.db.select/Makefile,
+	  temporal/t.vect.export/Makefile,
+	  temporal/t.vect.extract/Makefile,
+	  temporal/t.vect.import/Makefile, temporal/t.vect.list/Makefile,
+	  temporal/t.vect.observe.strds/Makefile,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.layer_bug.sh,
+	  temporal/t.vect.univar/Makefile,
+	  temporal/t.vect.what.strds/Makefile, tools/g.html2man/Makefile,
+	  vector/v.buffer/Makefile, vector/v.class/Makefile,
+	  vector/v.class/TODO, vector/v.delaunay/Makefile,
+	  vector/v.lidar.correction/README,
+	  vector/v.lidar.edgedetection/README,
+	  vector/v.lidar.growing/README, vector/v.outlier/README,
+	  vector/v.surf.bspline/README, vector/v.timestamp/Makefile,
+	  vector/v.what.rast3/Makefile: svn propset
+
+2013-02-18 11:13  mmetz
+
+	* lib/vector/Vlib/close.c: Vlib:fix Vect_close()
+
+2013-02-18 10:25  hamish
+
+	* gui/wxpython/gui_core/preferences.py: comment fix
+
+2013-02-18 10:22  hamish
+
+	* gui/wxpython/gui_core/preferences.py: explain what the Projection
+	  tab does (for users who are used to on-the-fly reprojection GISs
+	  and might expect that). merge from devbr6
+
+2013-02-18 04:09  hamish
+
+	* gui/wxpython/mapdisp/statusbar.py: don't abbreviate non-obvious
+	  word
+
+2013-02-18 04:04  hamish
+
+	* gui/wxpython/core/settings.py: tweak drop down wording
+
+2013-02-17 20:51  mmetz
+
+	* imagery/i.ortho.photo/i.ortho.rectify/Makefile: clean
+	  i.ortho.rectify Makefile
+
+2013-02-17 20:50  mmetz
+
+	* imagery/i.ortho.photo/i.ortho.transform,
+	  imagery/i.ortho.photo/i.ortho.transform/Makefile,
+	  imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html,
+	  imagery/i.ortho.photo/i.ortho.transform/m.transform.html,
+	  imagery/i.ortho.photo/i.ortho.transform/main.c: add
+	  i.ortho.transform
+
+2013-02-17 20:49  mmetz
+
+	* imagery/i.ortho.photo/i.ortho.init,
+	  imagery/i.ortho.photo/i.ortho.init/Makefile,
+	  imagery/i.ortho.photo/i.ortho.init/description.html,
+	  imagery/i.ortho.photo/i.ortho.init/globals.h,
+	  imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html,
+	  imagery/i.ortho.photo/i.ortho.init/main.c,
+	  imagery/i.ortho.photo/i.ortho.init/mod_info.c: add i.ortho.init
+
+2013-02-17 20:47  mmetz
+
+	* imagery/i.ortho.photo/lib/orthophoto.h: ortholib: fix name length
+
+2013-02-17 17:51  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: fix method from utils
+	  (although it is currently unused)
+
+2013-02-17 16:10  martinl
+
+	* scripts/r.fillnulls/r.fillnulls.py: r.fillnulls: fix v.surf.rst
+	  call ('z' flag removed)
+
+2013-02-17 13:03  martinl
+
+	* gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/psmap/psmap_frame.jpg: g.gui.psmap: add screenshot
+	  to manual page
+
+2013-02-17 12:59  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.html: g.gui.iclass: link other
+	  g.gui.* modules in the manual page
+
+2013-02-17 12:56  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.html,
+	  gui/wxpython/iclass/iclass_frame.jpg: g.gui.iclass: add
+	  screenshot to manual page
+
+2013-02-17 10:33  martinl
+
+	* general/g.mapsets/g.mapsets.html, general/g.mapsets/get_maps.c,
+	  general/g.mapsets/local_proto.h, general/g.mapsets/main.c:
+	  g.mapsets: substitute '.' as name of current mapset
+
+2013-02-16 07:59  neteler
+
+	* doc/howto_release.txt: + Google+ GRASS GIS community
+
+2013-02-15 22:08  neteler
+
+	* db/databaseintro.html,
+	  doc/gui/wxpython/example/wxGUI.Example.html,
+	  general/g.gui/g.gui.html, general/g.parser/g.parser.html,
+	  general/g.version/g.version.html,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html, gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI.vnet.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/iclass/g.gui.iclass.html,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/vdigit/g.gui.vdigit.html,
+	  imagery/i.atcorr/i.atcorr.html, imagery/i.segment/i.segment.html,
+	  imagery/imageryintro.html, lib/init/grass7.html,
+	  lib/init/helptext.html, misc/m.nviz.image/m.nviz.image.html,
+	  ps/ps.map/ps.map.html, raster/r.colors/r.colors.html,
+	  raster/r.in.lidar/r.in.lidar.html,
+	  raster/r.out.vtk/r.out.vtk.html,
+	  scripts/g.extension.rebuild.all/g.extension.rebuild.all.html,
+	  scripts/g.extension/g.extension.html,
+	  scripts/r3.in.xyz/r3.in.xyz.html, scripts/v.krige/v.krige.html,
+	  vector/v.colors/v.colors.html,
+	  vector/v.external.out/v.external.out.html,
+	  vector/v.external/v.external.html,
+	  vector/v.generalize/v.generalize.html,
+	  vector/v.in.dxf/v.in.dxf.html, vector/v.in.lidar/v.in.lidar.html:
+	  new Wiki URL
+
+2013-02-15 11:00  ychemin
+
+	* imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/main.c: corrected typo sunza->sunaz
+	  (azimuth)
+
+2013-02-14 20:23  martinl
+
+	* contributors.csv, contributors_extra.csv: update contributors
+	  files: Stepan Turek moved from extra contributors
+
+2013-02-14 19:55  martinl
+
+	* rfc/psc_motions.dox: update psc_motions.dox: write access granted
+	  to Stepan Turek and Pietro Zambelli
+
+2013-02-14 18:08  lucadelu
+
+	* locale/po/grassmods_it.po, translators.csv: Anna Zanchetta:
+	  cont'ed; add Anna Zanchetta to the translator list
+
+2013-02-14 15:41  lucadelu
+
+	* lib/python/pygrass/vector/table.py: fix drop table function
+
+2013-02-14 15:30  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Add support for modules
+	  with key with more than one values and that are not multiple
+
+2013-02-14 15:29  zarch
+
+	* lib/python/pygrass/raster/abstract.py: Add full_name method to
+	  the raster abstract class to be consistent with the Vector
+	  classes, thank you to Stefano Cavallari
+
+2013-02-14 15:29  zarch
+
+	* lib/python/pygrass/functions.py: Fix: the mapset parameter were
+	  not used, thank you to Stefano Cavallari
+
+2013-02-14 15:00  lucadelu
+
+	* lib/python/pygrass/functions.py: add quiet to copy, rename,
+	  remove function to suppress messeges
+
+2013-02-14 14:57  lucadelu
+
+	* lib/python/pygrass/raster/__init__.py: fix variable in
+	  RasterRowIO
+
+2013-02-14 14:56  lucadelu
+
+	* lib/python/pygrass/functions.py: add more capabilities to the
+	  function to query raster from vector point
+
+2013-02-14 13:08  lucadelu
+
+	* lib/python/script/db.py, scripts/db.droptable/db.droptable.py:
+	  add function to check if a table is connected with some vectors;
+	  use the new function in db.droptable
+
+2013-02-14 12:36  lucadelu
+
+	* lib/python/pygrass/vector/geometry.py: pygrass fix vector
+	  geometry doctest
+
+2013-02-14 10:33  lucadelu
+
+	* lib/python/pygrass/modules/__init__.py: pygrass modules: change a
+	  little bit parameters and flags; add doctest
+
+2013-02-14 05:47  glynn
+
+	* general/g.mlist/main.c: Fix r55041 - g.mlist isn't specific to
+	  vectors (issue #1390)
+
+2013-02-14 05:43  glynn
+
+	* general/g.mlist/main.c: Add mapset when required for
+	  disambiguation (issue #1390)
+
+2013-02-14 05:22  glynn
+
+	* configure, configure.in: Get linker flags for fontconfig (issue
+	  #1884)
+
+2013-02-13 20:52  martinl
+
+	* imagery/i.segment: i.segment: update svn prop
+
+2013-02-13 17:37  mmetz
+
+	* imagery/i.segment/create_isegs.c, imagery/i.segment/open_files.c:
+	  i.segment: faster default, code comments
+
+2013-02-13 17:36  lucadelu
+
+	* lib/python/pygrass/raster/abstract.py: fix doctest pygrass raster
+	  abstract
+
+2013-02-13 16:46  lucadelu
+
+	* lib/python/pygrass/vector/table.py: fix doctest vector table
+
+2013-02-13 15:46  lucadelu
+
+	* lib/python/pygrass/vector/abstract.py: fix remove function of
+	  vector according the previous commit
+
+2013-02-13 11:09  mmetz
+
+	* imagery/i.segment/i.segment.html,
+	  imagery/i.segment/i.segment.xl.html,
+	  imagery/i.segment/parse_args.c: i.segment manual and option
+	  cosmetics
+
+2013-02-13 10:57  mmetz
+
+	* imagery/i.segment/create_isegs.c,
+	  imagery/i.segment/i.segment.html, imagery/i.segment/iseg.h,
+	  imagery/i.segment/main.c, imagery/i.segment/open_files.c,
+	  imagery/i.segment/parse_args.c: i.segment update, fix mess by two
+	  people working at the module at the same time
+
+2013-02-13 10:13  lucadelu
+
+	* lib/python/pygrass/functions.py: fix remove function; add doctest
+
+2013-02-13 09:30  martinl
+
+	* vector/v.vol.rst/main.c: v.vol.rst: use standardized options
+	  more guisections
+	  messages cosmetics
+
+2013-02-13 09:22  martinl
+
+	* vector/v.vol.rst/main.c: partly revert accidental commit r55029
+
+2013-02-13 09:14  martinl
+
+	* man/grassdocs.css, vector/v.vol.rst/main.c: update css: collapse
+	  table only for class 'border'
+
+2013-02-13 09:06  martinl
+
+	* man/grassdocs.css: update css: add table.border
+
+2013-02-13 09:05  martinl
+
+	* lib/db/sqlp/sql.html: sql.html: update manual (formatting issues)
+
+2013-02-13 08:34  martinl
+
+	* lib/db/sqlp/sql.html: sql.html: remove header and footer (it's
+	  autogenerated from build system)
+
+2013-02-13 08:28  martinl
+
+	* lib/db/sqlp/sql.html: fix compilation issue
+
+2013-02-13 08:23  martinl
+
+	* imagery/i.segment/main.c: i.segment: fix compilation issue from
+	  r55022
+
+2013-02-13 08:10  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: use latest coordinates
+	  in query
+
+2013-02-12 23:43  mmetz
+
+	* imagery/i.segment/create_isegs.c, imagery/i.segment/main.c,
+	  imagery/i.segment/ngbrtree.c, imagery/i.segment/parse_args.c,
+	  imagery/i.segment/rclist.c, imagery/i.segment/regtree.c,
+	  imagery/i.segment/write_output.c: i.segment update
+
+2013-02-12 20:21  neteler
+
+	* lib/db/sqlp/sql.html: +concatenate example; cosmetics
+
+2013-02-12 12:40  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: quick fix fo addind text
+	  decoration when legend is active
+
+2013-02-12 12:21  annakrat
+
+	* gui/wxpython/modules/histogram.py: wxGUI/histogram: properly
+	  initialize bitmap
+
+2013-02-12 12:14  annakrat
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/preferences.py,
+	  gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/iclass/dialogs.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/nviz/preferences.py, gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/scripts/vkrige.py,
+	  gui/wxpython/vdigit/preferences.py, gui/wxpython/vnet/dialogs.py,
+	  gui/wxpython/web_services/widgets.py,
+	  gui/wxpython/wxplot/dialogs.py: wxGUI: move AddGrowableCol after
+	  adding items
+
+2013-02-12 11:44  mmetz
+
+	* imagery/i.segment/i.segment.html: i.segment manual update
+
+2013-02-12 11:43  mmetz
+
+	* imagery/i.segment/Makefile: i.segment: fix Makefile
+
+2013-02-12 11:18  neteler
+
+	* db/db.copy/db.copy.html: partial fix for trac #1862
+
+2013-02-12 11:01  neteler
+
+	* scripts/v.build.all/v.build.all.html: +example, even if simple
+
+2013-02-12 10:59  neteler
+
+	* db/db.connect/db.connect.html, db/db.connect/main.c: manual and
+	  msg wording cosmetics
+
+2013-02-12 10:28  martinl
+
+	* imagery/i.segment/i.segment.xl.html: x.segment.xl: manual
+	  cosmetics (formatting issues)
+
+2013-02-12 10:18  martinl
+
+	* imagery/i.segment/i.segment.xl.html, imagery/i.segment/main.c,
+	  imagery/i.segment/parse_args.c: i.segment.xl: more guisections
+	  remove trailing dots
+
+2013-02-12 09:51  martinl
+
+	* scripts/r.in.wms/r.in.wms.html: r.in.wms: manual - add link to
+	  wxGUI video
+
+2013-02-12 09:35  mmetz
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnect.all bugfix
+
+2013-02-12 08:49  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxGUI: move AddGrowableCol after
+	  adding items
+
+2013-02-12 08:32  annakrat
+
+	* gui/wxpython/gui_core/query.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI: add query coordinates to dialog
+
+2013-02-11 19:51  annakrat
+
+	* gui/wxpython/gui_core/query.py: wxGUI: fix tree size of query
+	  dialog on Windows
+
+2013-02-11 10:00  mmetz
+
+	* imagery/i.segment: move i.segment.xl to trunk
+
+2013-02-11 09:58  mmetz
+
+	* imagery/i.segment: move i.segment to grass-addons
+
+2013-02-11 09:54  annakrat
+
+	* gui/wxpython/gui_core/query.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI: close query dialog properly
+
+2013-02-11 08:59  annakrat
+
+	* lib/python/script/raster.py: fix raster querying on Windows
+	  (problem with pipe character as a separator)
+
+2013-02-10 16:16  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: attempt to fix map
+	  selection widget keyboard navigation
+
+2013-02-10 14:57  martinl
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py,
+	  gui/wxpython/wxplot/scatter.py: wxGUI: fix scatter plot
+
+2013-02-10 00:49  cmbarton
+
+	* scripts/i.pansharpen/i.pansharpen.py: Make sure that maps are
+	  float for Brovey and PCA transformations
+
+2013-02-09 17:24  annakrat
+
+	* gui/wxpython/wxplot/histogram.py: wxGUI: fix histogram tool
+	  statistics
+
+2013-02-09 13:43  martinl
+
+	* imagery/i.vi/main.c: i.vi: rename opt variables - use reasonable
+	  variable names
+
+2013-02-08 15:14  lucadelu
+
+	* locale/po/grasswxpy_el.po, translators.csv: Nikos Ves cont'ed
+
+2013-02-08 14:44  martinl
+
+	* scripts/r.in.wms/wms_base.py: r.in.wms: be more specific when
+	  fetching capabilities fails
+
+2013-02-08 14:34  lucadelu
+
+	* lib/python/pygrass/vector/geometry.py: fix return value; change
+	  line with cat
+
+2013-02-08 14:25  ychemin
+
+	* imagery/i.vi/evi2.c, imagery/i.vi/i.vi.html, imagery/i.vi/main.c:
+	  Added EVI2
+
+2013-02-08 11:41  martinl
+
+	* lib/python/script/raster.py: libpython: raster_what() - chnage
+	  null string indicator
+
+2013-02-08 11:38  martinl
+
+	* gui/wxpython/gui_core/query.py, gui/wxpython/mapdisp/frame.py,
+	  lib/python/script/vector.py: wxGUI/query: report also 'nothing
+	  found'
+
+2013-02-08 11:35  martinl
+
+	* vector/v.what/what.c: v.what: print Map/Mapset even nothing found
+	  remove unused notty
+
+2013-02-08 09:00  martinl
+
+	* gui/wxpython/gui_core/query.py, gui/wxpython/mapdisp/frame.py:
+	  wxGUI: do not switch to output tab on querying
+
+2013-02-08 07:20  neteler
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.html: wording
+
+2013-02-07 18:35  mmetz
+
+	* imagery/Makefile: activate i.segment
+
+2013-02-07 18:34  mmetz
+
+	* imagery/i.segment: move i.segment to trunk
+
+2013-02-07 17:02  annakrat
+
+	* gui/wxpython/mapswipe/frame.py: wxGUI/mapswipe: fix zooming box
+
+2013-02-07 16:13  lucadelu
+
+	* lib/python/pygrass/vector/sql.py,
+	  lib/python/pygrass/vector/table.py: modify some doctest, add
+	  method to drop table
+
+2013-02-07 16:11  lucadelu
+
+	* lib/python/pygrass/vector/geometry.py: change name of variable
+	  from line to cat
+
+2013-02-07 15:31  wenzeslaus
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/lmgr/menudata.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/overlays.py,
+	  gui/wxpython/mapdisp/statusbar.py: wxGUI: small code cleanup
+
+2013-02-07 15:09  annakrat
+
+	* gui/wxpython/gui_core/query.py, gui/wxpython/mapdisp/frame.py,
+	  lib/python/script/raster.py: wxGUI: new dialog for query results
+
+2013-02-07 14:22  martinl
+
+	* scripts/r.in.wms/wms_base.py: r.in.wms: debug message cosmetics
+
+2013-02-07 14:17  martinl
+
+	* gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py,
+	  scripts/r.in.wms/wms_base.py: wxGUI/r.in.wms: better error
+	  reporting (patch provided by Stepan Turek)
+
+2013-02-07 13:43  martinl
+
+	* db/db.select/main.c: db.select: rename paramater `vs` to
+	  `vseparator`
+
+2013-02-07 09:56  annakrat
+
+	* db/db.execute/db.execute.html, db/db.select/db.select.html,
+	  display/d.graph/d.graph.html, display/d.text/d.text.html,
+	  raster/r.category/r.category.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.out.mat/r.out.mat.html, raster/r.out.pov/r.out.pov.html,
+	  raster/r.profile/r.profile.html,
+	  raster/r.series.interp/r.series.interp.html,
+	  raster/r.series/r.series.html, raster/r.univar/r.univar.html,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.what/r.what.html, raster3d/r3.gwflow/r3.gwflow.html,
+	  raster3d/r3.stats/r3.stats.html, vector/v.clean/v.clean.html,
+	  vector/v.net.iso/v.net.iso.html, vector/v.net/v.net.html,
+	  vector/v.segment/v.segment.html: html: replace less than by <
+	  to fix displaying manual in gui
+
+2013-02-07 08:51  annakrat
+
+	* gui/wxpython/vdigit/mapwindow.py: wxGUI/vdigit: missing imports
+
+2013-02-06 18:13  wenzeslaus
+
+	* gui/wxpython/lmgr/giface.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI/giface: correcting the handling of current vs map window's
+	  layer tree
+
+2013-02-06 18:08  martinl
+
+	* db/db.select/main.c, raster/r.category/main.c,
+	  raster/r.what/main.c, vector/v.to.db/global.h,
+	  vector/v.to.db/report.c: update modules which are using
+	  G_option_to_separator() to support multi-character separators
+	  @todo change rest of modules which have separator as one of the
+	  options to use G_option_to_separator()
+
+2013-02-06 18:04  martinl
+
+	* include/defs/gis.h, lib/gis/parser.c: libgis: update
+	  G_option_to_separator() to return string instead of
+	  character (support multi-character separators)
+
+2013-02-06 17:57  neteler
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.html: +Convert
+	  GRASS 6 vector map to GRASS 7 including attribute transfer from
+	  DBF to SQLite
+
+2013-02-06 17:10  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/layer manager: do not show
+	  workspace extension in the title
+
+2013-02-06 17:00  annakrat
+
+	* gui/wxpython/gmodeler/model.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/iclass/plots.py,
+	  gui/wxpython/nviz/tools.py, gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/psmap/frame.py, gui/wxpython/psmap/utils.py,
+	  gui/wxpython/vdigit/wxdisplay.py,
+	  gui/wxpython/web_services/widgets.py,
+	  gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/profile.py, gui/wxpython/wxplot/scatter.py:
+	  wxGUI: wx.Color to wx.Colour because of wxPython 2.9
+
+2013-02-06 16:12  mmetz
+
+	* raster/r.random/random.c: r.random: fix #1082 and #1874
+
+2013-02-06 14:16  wenzeslaus
+
+	* SUBMITTING, SUBMITTING_DOCS, SUBMITTING_PYTHON, SUBMITTING_WXGUI:
+	  wxGUI: submitting file created
+
+2013-02-06 10:41  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: check for invalid map size
+
+2013-02-06 10:15  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI/prompt: add help text
+
+2013-02-06 09:35  wenzeslaus
+
+	* gui/wxpython/vnet/dialogs.py: wxGUI/vnet: network analysis works
+	  for d.mon (patch provided by Stepan Turek)
+
+2013-02-06 08:47  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Change the behaviour not
+	  support multiple kys because it is not consistent with python
+	  dictionary and it was not possible to be consistent with the
+	  __setitem__
+
+2013-02-05 20:05  neteler
+
+	* gui/wxpython/docs/wxGUI.Components.html: +g.gui.animation
+
+2013-02-05 18:30  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: Remove rows and column
+	  attribute that are linked with the region and not with raster
+	  itself
+
+2013-02-05 18:22  wenzeslaus
+
+	* gui/wxpython/core/giface.py, gui/wxpython/lmgr/giface.py:
+	  wxGUI/giface: documentation, creating interface class for doc
+	  reasons, small fix of argument, ws changes
+
+2013-02-05 17:37  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Add intersaction and fix
+	  some docstring
+
+2013-02-05 17:29  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: Add Info class with all
+	  the data of the raster file
+
+2013-02-05 16:40  mmetz
+
+	* lib/raster/color_write.c: libraster: fix fp precision export
+
+2013-02-05 16:27  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/overlays.py:
+	  wxGUI: fix moving overlays in d.mon
+
+2013-02-05 15:31  mmetz
+
+	* lib/vector/Vlib/cindex.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/open.c: Vlib: simplify init/free of support
+	  structures
+
+2013-02-05 15:30  mmetz
+
+	* lib/vector/diglib/plus.c: diglib: simplify init/free of support
+	  structures
+
+2013-02-05 15:21  lucadelu
+
+	* lib/python/pygrass/vector/basic.py: fix doctest and documentation
+
+2013-02-05 15:04  mmetz
+
+	* lib/vector/diglib/cindex.c, lib/vector/diglib/cindex_rw.c:
+	  diglib: fix cidx memory leaks
+
+2013-02-05 14:34  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/rect.c: rtree: free
+	  all memory
+
+2013-02-05 14:20  martinl
+
+	* gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py: wxGUI/web services: fix
+	  default buttons
+	  overwrite temp cap files
+	  (patch provided by Stepan Turek)
+
+2013-02-05 14:04  mmetz
+
+	* lib/vector/Vlib/close.c: Vlib: restore release support
+
+2013-02-05 14:03  mmetz
+
+	* lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c:
+	  diglib: fix spidx tmpfile handling
+
+2013-02-05 14:03  mmetz
+
+	* lib/vector/diglib/cindex.c: diglib: really free cidx
+
+2013-02-05 13:44  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix sizers (for wxpython
+	  2.9 on Mac)
+
+2013-02-05 13:22  annakrat
+
+	* gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/nviz/tools.py: wxGUI: fix sizers (for wxpython 2.9
+	  on Mac)
+
+2013-02-05 13:16  lucadelu
+
+	* lib/python/pygrass/vector/__init__.py: fix doctest and
+	  documentation
+
+2013-02-05 13:09  lucadelu
+
+	* lib/python/pygrass/vector/abstract.py: fix doctest and
+	  documentation
+
+2013-02-05 13:01  annakrat
+
+	* gui/wxpython/location_wizard/wizard.py: wxGUI: AddGrowableCol
+	  after adding items
+
+2013-02-05 12:53  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI: attempt to fix #1554
+
+2013-02-05 12:32  mmetz
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/close.c: Vlib: always
+	  clean up spatial index
+
+2013-02-05 11:02  lucadelu
+
+	* lib/python/pygrass/gis/__init__.py: fix doctest for
+	  gis/__init__.py
+
+2013-02-05 10:12  lucadelu
+
+	* lib/python/pygrass/gis/region.py: add doctest and documentation
+	  to region.py; add new function to set region from bbox, rename
+	  bbox to get_bbox
+
+2013-02-05 08:42  annakrat
+
+	* gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/gis_set.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/histogram.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/psmap/frame.py, gui/wxpython/psmap/g.gui.psmap.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.py, gui/wxpython/wxgui.py:
+	  wxGUI: ensure compatibility with wxPython 2.9
+
+2013-02-05 08:19  zarch
+
+	* lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: Read the cats and the
+	  history when opening an existing maps
+
+2013-02-05 08:19  zarch
+
+	* lib/python/pygrass/raster/history.py,
+	  lib/python/pygrass/raster/rowio.py,
+	  lib/python/pygrass/raster/segment.py: Change the C struct
+	  attribute name to be consistent with the other classes
+
+2013-02-05 08:19  zarch
+
+	* lib/python/pygrass/vector/basic.py: Add docstring to the Bbox
+	  contains
+
+2013-02-05 08:19  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fix update method in the
+	  Attrs class
+
+2013-02-05 08:19  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Fix stdout in Modules
+	  class
+
+2013-02-05 06:18  ychemin
+
+	* imagery/i.landsat.toar/landsat_met.c: removed illegal c++ style
+	  commenting characters
+
+2013-02-04 18:11  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/overlays.py,
+	  gui/wxpython/mapdisp/toolbars.py, gui/wxpython/nviz/mapwindow.py:
+	  wxGUI: refactoring overlays (legend, barscale)
+
+2013-02-04 17:44  wenzeslaus
+
+	* gui/wxpython/core/settings.py: wxGUI/scatter: quick fix for
+	  scatterplot (adding useless settings values)
+
+2013-02-04 16:16  ychemin
+
+	* imagery/i.landsat.toar/main.c: fixed typo to enable/disable -p
+	  flag
+
+2013-02-04 16:15  mmetz
+
+	* display/d.vect/label.c: d.vect: fix sprintf abuse
+
+2013-02-04 16:10  wenzeslaus
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI/mapdisp: using giface to
+	  initialize scatterplot and tmp vector map
+
+2013-02-04 16:02  ychemin
+
+	* imagery/i.landsat.toar/main.c: fail gracefully if -p does not
+	  have any lsatmet= arguments
+
+2013-02-04 16:02  lucadelu
+
+	* lib/python/pygrass/__init__.py, lib/python/pygrass/errors.py,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/vector/table.py: move classes for errors in
+	  errors.py
+
+2013-02-04 15:26  lucadelu
+
+	* lib/python/pygrass/functions.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/vector/abstract.py: add and fix doctest to
+	  functions.py, remove and unused function, fix abstract for vector
+	  and raster according the changes in functions.py
+
+2013-02-04 15:26  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2013-02-04 15:22  ychemin
+
+	* imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/main.c: New function to call metadata file
+	  values one by one for external use
+
+2013-02-04 15:06  mmetz
+
+	* vector/v.net.allpairs/main.c: v.net.allpairs: fix array index
+
+2013-02-04 14:20  wenzeslaus
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/wxplot/dialogs.py,
+	  gui/wxpython/wxplot/histogram.py: wxGUI/mapdisp: using giface to
+	  initialize wxplot histogram (histogram works for d.mon); small
+	  improvements in histogram multiple raster handling
+
+2013-02-04 13:47  mmetz
+
+	* vector/v.net.allpairs/main.c: v.net.allpairs: avoid duplicate
+	  line segments
+
+2013-02-04 11:35  wenzeslaus
+
+	* gui/wxpython/mapdisp/main.py: wxGUI/d.mon: adding only layers
+	  which are new
+
+2013-02-04 11:27  mmetz
+
+	* vector/v.net.allpairs/main.c: v.net.allpairs: remove duplicate
+	  lines
+
+2013-02-04 10:51  wenzeslaus
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI/mapdisp: using giface for
+	  profile tool initialization, multiple rasters are now transfered,
+	  works for d.mon
+
+2013-02-04 10:23  huhabla
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.layer_bug.sh:
+	  Test to check the layer number bug added
+
+2013-02-04 09:08  huhabla
+
+	* lib/python/temporal/mapcalc.py: Fixed base name is identical to
+	  output strds bug
+
+2013-02-04 08:27  neteler
+
+	* configure, gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/core/gconsole.py, gui/wxpython/rlisetup/frame.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/rlisetup/wizard.py,
+	  imagery/i.ortho.photo/i.ortho.rectify/bilinear.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/bilinear_f.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/cubic.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/cubic_f.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/nearest.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/readcell.c,
+	  lib/proj/README.txt, mswindows/osgeo4w/grass.tmpl,
+	  raster3d/r3.in.bin/test_suite/test.r3.in.bin.sh,
+	  temporal/t.rast.mapcalc/example.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.operators.sh: svn
+	  propset
+
+2013-02-03 21:45  huhabla
+
+	* lib/python/temporal/mapcalc.py: Fixed wrong placed error check
+
+2013-02-03 21:09  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/mapwindow.py: wxGUI/mapswipe: add cross
+	  mirroring cursor
+
+2013-02-03 21:02  wenzeslaus
+
+	* gui/wxpython/gui_core/goutput.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py: wxGUI/mapdisp: handling distance
+	  measuring messages with giface, measuring in d.mon works
+
+2013-02-03 21:00  lucadelu
+
+	* lib/python/pygrass/__init__.py, lib/python/pygrass/errors.py,
+	  lib/python/pygrass/functions.py,
+	  lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/gis/region.py,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/orderdict.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/buffer.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/raster/history.py,
+	  lib/python/pygrass/raster/raster_type.py,
+	  lib/python/pygrass/raster/rowio.py,
+	  lib/python/pygrass/raster/segment.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/basic.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/sql.py,
+	  lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/vector_type.py: cleanup pygrass: change
+	  method of import, add newline at the end of files
+
+2013-02-03 20:05  wenzeslaus
+
+	* gui/wxpython/core/giface.py, gui/wxpython/lmgr/giface.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI/mapdisp: querying uses
+	  giface to ask for layers (layer representation not finished),
+	  querying in d.mon works
+
+2013-02-03 19:54  mmetz
+
+	* lib/ogsf/gvl_calc.c: ogsf lib: avoid compiler warnings
+
+2013-02-03 19:28  mmetz
+
+	* include/defs/ogsf.h, lib/ogsf/gvl_calc.c: ogsflib: fix for #1736
+
+2013-02-03 18:25  mmetz
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnect.all: db.create does not substitute variables
+
+2013-02-03 18:01  lucadelu
+
+	* doc/gui/wxpython/example/dialogs.py: update wxpython example
+
+2013-02-03 16:06  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix r54872 for linux
+
+2013-02-03 16:01  martinl
+
+	* gui/wxpython/web_services/widgets.py: wxGUI: wx.RA_SPECIFY_COLS
+	  is invalid flag for wx.Choice
+
+2013-02-03 15:08  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix r54839 for wingrass
+
+2013-02-03 14:19  mmetz
+
+	* include/defs/dbmi.h: dbmi header: fix fn declearation
+
+2013-02-03 14:17  mmetz
+
+	* lib/db/dbmi_driver/d_error.c: dbmi_driver lib: fix driver error
+	  state
+
+2013-02-03 12:31  lucadelu
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po,
+	  locale/po/grasswxpy_it.po, translators.csv: update italian
+	  translation and add new translator, Alessandro Palmas
+
+2013-02-03 12:13  mmetz
+
+	* lib/ogsf/gvl_calc.c: ogsf lib: fix initialization
+
+2013-02-03 11:45  martinl
+
+	* vector/v.surf.rst/main.c, vector/v.surf.rst/v.surf.rst.html:
+	  v.surf.rst: remove -z flag
+	  update manual
+
+2013-02-03 09:39  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxNviz: set minimum line width to 1
+	  (merge from release branch, r54853)
+
+2013-02-02 22:26  cmbarton
+
+	* lib/gis/colors/srtm_plus: update to srtm_plus colorable
+
+2013-02-02 19:48  lucadelu
+
+	* gui/wxpython/rlisetup/frame.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/rlisetup/wizard.py: fix r.li.setup on windows, some
+	  cleaning of code
+
+2013-02-02 18:41  neteler
+
+	* imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/local_proto.h,
+	  imagery/i.landsat.toar/main.c: Jorge Tizado: better management of
+	  metadata file
+
+2013-02-02 17:58  mmetz
+
+	* lib/vector/Vlib/intersect.c: Vlib: speed up Vect_break_lines()
+
+2013-02-02 17:32  martinl
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/dialogs.py,
+	  gui/wxpython/dbmgr/sqlbuilder.py, gui/wxpython/dbmgr/vinfo.py:
+	  wxGUI/dbmgr: fix updating existing attributes (encoding and
+	  casting issues)
+
+2013-02-02 17:06  martinl
+
+	* gui/wxpython/dbmgr/vinfo.py: wxGUI/dbmgr: assuming utf-8 encoding
+	  for text attributes
+
+2013-02-02 17:01  martinl
+
+	* vector/v.in.ogr/main.c, vector/v.in.ogr/v.in.ogr.html: v.in.ogr:
+	  add new parameter to set encoding value (useful for Esri
+	  Shapefiles)
+	  update manual
+
+2013-02-02 15:33  annakrat
+
+	* gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/iclass/dialogs.py,
+	  gui/wxpython/mapswipe/dialogs.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI: refactor ElementDialog; include validator
+
+2013-02-02 15:14  lucadelu
+
+	* doc/gui/wxpython/example/README,
+	  doc/gui/wxpython/example/frame.py: update example of wxpython gui
+
+2013-02-02 11:12  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/pg: fix "'" occurrence in text
+	  attribute
+
+2013-02-02 10:54  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: handle "'" in strings
+
+2013-02-01 18:46  mmetz
+
+	* lib/stats/sort_cell.c: statslib: do not qsort NULL values
+
+2013-02-01 16:10  martinl
+
+	* general/g.version/date.c: g.version: fix build date (day < 10)
+
+2013-01-31 21:59  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layertree: improve command
+	  layer
+
+2013-01-31 20:35  mmetz
+
+	* lib/db/dbmi_driver/driver.c: dblib: always print errors
+
+2013-01-31 19:43  mmetz
+
+	* vector/v.external/Makefile: v.external: fix Makefile
+
+2013-01-31 16:57  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation: attempt to
+	  fix animation tool for Mac
+
+2013-01-31 14:43  huhabla
+
+	* temporal/t.rast.mapcalc/t.rast.mapcalc.html: Typo fix
+
+2013-01-31 14:31  huhabla
+
+	* lib/python/temporal/mapcalc.py,
+	  temporal/t.rast.mapcalc/example.sh,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py: Added manual page and
+	  example to t.rast.mapcalc
+
+2013-01-30 22:01  huhabla
+
+	* lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.operators.sh:
+	  Introduction of temporal operators in t.rast.mapcalc
+
+2013-01-30 16:34  mmetz
+
+	* raster/r.neighbors/gather.c, raster/r.neighbors/local_proto.h,
+	  raster/r.neighbors/main.c, raster/r.neighbors/ncb.h,
+	  raster/r.neighbors/null_cats.c: r.neighbors: support multiple
+	  methods and outputs
+
+2013-01-30 14:50  martinl
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: show 'build date' in about window and system info
+
+2013-01-30 14:47  martinl
+
+	* general/g.version/date.c, general/g.version/local_proto.h,
+	  general/g.version/main.c: g.version: print also build date in
+	  shell script style
+
+2013-01-30 14:10  martinl
+
+	* db/db.select/main.c: db.select: fix r54815 (use %c for
+	  characters)
+
+2013-01-30 13:27  lucadelu
+
+	* db/db.select/main.c: fix separator in db.select
+
+2013-01-30 11:24  martinl
+
+	* raster/r.category/main.c: r.category: use G_option_to_separator()
+
+2013-01-30 11:19  lucadelu
+
+	* raster/r.category/main.c: fix separator in r.category
+
+2013-01-28 13:23  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Make it easier to get/set
+	  inputs and outputs values of the Module class
+
+2013-01-28 10:12  mlennert
+
+	* vector/v.net.distance/v.net.distance.html: Added note indicating
+	  that from and to nodes should be different (#1861)
+
+2013-01-27 20:56  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po,
+	  locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2013-01-27 20:10  neteler
+
+	* lib/gis/colors.desc, lib/gis/colors/srtm_plus: libgis: new
+	  srtm_plus color table
+
+2013-01-27 16:05  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/table.py: Replace script.core.gisenv
+	  with pygrass.gis.Mapset
+
+2013-01-27 16:05  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Move stdin, stdout,
+	  stderr from attributes of the Module class in to the inputs and
+	  outputs attributes
+
+2013-01-27 09:13  mmetz
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.html:
+	  v.db.reconnect.all: update manual
+
+2013-01-27 09:13  mmetz
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnect.all: add safety checks
+
+2013-01-26 22:35  mmetz
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnect.all: make it work
+
+2013-01-26 22:34  mmetz
+
+	* scripts/db.droptable/db.droptable.py: db.droptable bug fixes
+
+2013-01-26 15:22  neteler
+
+	* demolocation/Makefile: svn propset
+
+2013-01-26 13:13  mmetz
+
+	* demolocation/PERMANENT/VAR,
+	  demolocation/PERMANENT/vector/mysites/sidx,
+	  demolocation/PERMANENT/vector/mysites/topo,
+	  demolocation/PERMANENT/vector/point/sidx,
+	  demolocation/PERMANENT/vector/point/topo: update demolocation for
+	  trunk
+
+2013-01-25 14:53  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Fix multi values
+	  parameters
+
+2013-01-25 13:24  zarch
+
+	* lib/python/pygrass/raster/__init__.py: Fix Attribute error on
+	  RasterNumpy class
+
+2013-01-25 07:52  huhabla
+
+	* lib/python/script/core.py: Take special care of the "+towgs84"
+	  value list comparison
+
+2013-01-23 17:06  mmetz
+
+	* raster/r.watershed/front/main.c: r.watershed front fix typo
+
+2013-01-23 13:53  mmetz
+
+	* include/defs/gis.h, lib/gis/asprintf.c: libgis: fix vsnprintf
+	  usage in G_rasprintf
+
+2013-01-23 13:51  mmetz
+
+	* lib/vector/Vlib/ascii.c: Vlib: fix buffer overflow and column
+	  handling for ascii export
+
+2013-01-23 06:13  neteler
+
+	* imagery/i.modis.qc/i.modis.qc.html: url update
+
+2013-01-22 21:55  annakrat
+
+	* gui/wxpython/mapdisp/toolbars.py: wxGUI: quick fix for #1859
+
+2013-01-22 16:17  glynn
+
+	* general/g.parser/parse.c: Don't accept "answer" in flag
+	  definitions
+
+2013-01-22 15:01  martinl
+
+	* gui/wxpython/ogc_services: remove empty dir
+
+2013-01-22 14:54  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/dbmgr: change button (quit
+	  -> close)
+
+2013-01-22 13:44  huhabla
+
+	* lib/python/temporal/extract.py,
+	  lib/python/temporal/unit_tests.py, temporal/t.info/t.info.html,
+	  temporal/t.list/t.list.html, temporal/t.list/t.list.py,
+	  temporal/t.rast.extract/test.t.rast.extract.sh,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.list/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.mapcalc/test.t.rast3d.mapcalc.sh,
+	  temporal/t.sample/t.sample.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.list/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/test.t.vect.list.sh,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/temporalintro.html: Using "separator" instead of "fs".
+	  Relative time fixes and doc update.
+
+2013-01-22 13:26  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix
+	  GetDisplayVectSettings() usage
+
+2013-01-22 00:02  lucadelu
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po,
+	  locale/po/grasswxpy_it.po: update italian translation
+
+2013-01-21 20:25  neteler
+
+	* raster/r.sun/r.sun.html: HTML cosmetics
+
+2013-01-21 18:08  martinl
+
+	* gui/wxpython/mapdisp/toolbars.py, gui/wxpython/nviz/wxnviz.py:
+	  wxGUI/nviz: fix error handling (needs some refactoring - avoid
+	  `nviz.main`)
+
+2013-01-21 17:52  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix installation
+	  process when metadata file is broken or not available
+
+2013-01-21 17:46  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extensions: no need for
+	  'fetch full info' checkbox
+
+2013-01-21 17:29  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: scan svn when
+	  module.xml is not available or broken
+
+2013-01-21 17:06  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extensions dialog:
+	  fetch extensions when dialog is created
+
+2013-01-21 12:59  martinl
+
+	* vector/v.out.postgis/v.out.postgis.html: v.out.postgis: note
+	  requirements for topological export
+
+2013-01-20 18:06  wenzeslaus
+
+	* lib/gis/area.c: libgis: noting necessary call in documentation
+
+2013-01-20 17:19  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Add area method to
+	  Boundary class
+
+2013-01-20 17:19  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Merge layer and link_layer
+	  parameter of the open method
+
+2013-01-20 17:19  zarch
+
+	* lib/python/pygrass/vector/table.py: Fix update_odict method of
+	  Columns class for an unexisting table using postgresql connection
+
+2013-01-19 21:50  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension dialogs:
+	  remove 'command dialog' button
+
+2013-01-19 20:43  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/main.py: support more d. commands
+
+2013-01-19 18:54  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix
+	  install_extension_xml() when no metadata available
+
+2013-01-19 13:40  martinl
+
+	* vector/v.build/main.c, vector/v.build/v.build.html: v.build:
+	  explain -e flag
+
+2013-01-19 13:39  martinl
+
+	* lib/vector/Vlib/build.c: vlib: improve doxygen docs for
+	  Vect_topo_check()
+
+2013-01-18 12:14  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix handling bin
+	  files & none colors
+
+2013-01-18 12:06  martinl
+
+	* display/d.font/main.c, display/d.graph/main.c,
+	  display/d.legend/main.c, display/d.rast.arrow/main.c,
+	  display/d.text/main.c, display/d.vect/main.c,
+	  general/g.pnmcat/main.c,
+	  imagery/i.ortho.photo/i.ortho.camera/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.mat/main.c,
+	  raster/r.in.png/main.c, raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/main.c, raster/r.out.mat/main.c,
+	  raster/r.out.tiff/main.c, raster/r.out.vrml/main.c,
+	  raster/r.out.vtk/parameters.c, raster/r.profile/main.c,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.in.bin/main.c,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/db.out.ogr/db.out.ogr.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.unpack/r.unpack.py, scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.pack/v.pack.py, scripts/v.unpack/v.unpack.py,
+	  vector/v.db.connect/main.c, vector/v.edit/args.c,
+	  vector/v.net/args.c, vector/v.out.vtk/main.c,
+	  visualization/wximgview/main.cpp, visualization/ximgview/main.c:
+	  use standardized options (files)
+
+2013-01-18 11:14  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix usage element vs
+	  prompt
+
+2013-01-18 11:06  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: fix gisprompt for
+	  standardized options
+
+2013-01-18 10:58  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI/forms: fix SignatureSelect for sig/sigset files
+
+2013-01-18 10:56  martinl
+
+	* imagery/i.maxlik/main.c, imagery/i.smap/parse.c: i.maxlik/i.smap:
+	  fix gispromt for sigfiles
+
+2013-01-18 10:38  martinl
+
+	* lib/imagery/sigfile.c, lib/imagery/sigsetfile.c: imagerylib:
+	  update signature functions to use G_unqualified_name()
+
+2013-01-18 10:37  martinl
+
+	* lib/gis/nme_in_mps.c: libgis: G_unqualified_name() accepts not
+	  specified mapset
+
+2013-01-18 10:34  martinl
+
+	* imagery/i.smap/write_img.c: i.smap: progress info cosmetics
+
+2013-01-17 23:06  martinl
+
+	* lib/imagery/sigsetfile.c: imagerylib: fix
+	  I_fopen_sigset_file_old() for fully-qualified group names
+
+2013-01-17 22:27  martinl
+
+	* gui/wxpython/iclass/frame.py: g.gui.iclass: fix reading maps from
+	  subgroup (patch by Anna Kratovilova)
+
+2013-01-17 22:25  martinl
+
+	* include/defs/imagery.h, lib/imagery/iclass.c,
+	  lib/imagery/iclass_statistics.c: imagerylib: fix
+	  I_iclass_init_group() to read raster maps from subgroup (patch
+	  provided by Anna Kratochvilova)
+
+2013-01-17 19:17  martinl
+
+	* imagery/i.group/main.c: i.group: cosmetics in listing (-l/-g)
+
+2013-01-17 18:39  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/pg: fix writing text-based
+	  attributes, don't use G_str_to_sql()
+
+2013-01-17 18:37  martinl
+
+	* lib/db/dbmi_base/sqltype.c: db_sqltype_name(): report
+	  variable-width string instead of fixed-width n-character string
+
+2013-01-17 14:06  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fix distance method in the
+	  class Line and add buffer method to Point, Line and Area classes
+
+2013-01-17 13:56  huhabla
+
+	* temporal/t.rename/t.rename.py: Correct module description
+
+2013-01-17 10:07  martinl
+
+	* vector/v.out.postgis/create.c,
+	  vector/v.out.postgis/local_proto.h, vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/table.c: v.out.postgis: check for fid and
+	  geometry column
+
+2013-01-17 10:05  martinl
+
+	* include/vect/dig_defines.h, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/pg_local_proto.h,
+	  lib/vector/Vlib/write_pg.c: vlib/pg: don't skip fid column if
+	  exists, check data type - must be integer
+
+2013-01-16 10:48  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: correct position of WMS dialog
+
+2013-01-16 10:42  martinl
+
+	* gui/wxpython/web_services/dialogs.py: wxGUI/WMS: btn default fix
+
+2013-01-16 10:14  martinl
+
+	* gui/wxpython/web_services/widgets.py: wxGUI/wms: various minor
+	  fixes by Stepan Turek
+
+2013-01-16 10:13  martinl
+
+	* scripts/r.in.wms/wms_cap_parsers.py, scripts/r.in.wms/wms_drv.py:
+	  r.in.wms: fix importing ParseError (patch by Stepan Turek)
+
+2013-01-16 10:03  mmetz
+
+	* vector/v.in.ascii/v.in.ascii.html: v.in.ascii: input is now
+	  required, update examples
+
+2013-01-16 09:50  martinl
+
+	* raster/r.kappa/main.c: r.kappa: more guisections
+
+2013-01-16 09:45  mmetz
+
+	* raster/r.neighbors/main.c: r.neighbors: add method=count
+
+2013-01-15 16:50  martinl
+
+	* general/g.mkfontcap/g.mkfontcap.html, general/g.mkfontcap/main.c:
+	  g.mkfontcap: update description & manual page
+
+2013-01-15 16:46  martinl
+
+	* general/g.ppmtopng/g.ppmtopng.html, general/g.ppmtopng/main.c:
+	  g.ppmtopng: update options
+	  update manual page
+
+2013-01-15 16:11  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Fix parameter with values
+	  that not raise a TypeError
+
+2013-01-15 15:13  martinl
+
+	* general/g.cairocomp/g.cairocomp.html: g.cairocomp: manual
+	  cosmetics
+
+2013-01-15 15:12  martinl
+
+	* general/g.pnmcomp/g.pnmcomp.html, general/g.pnmcomp/main.c:
+	  g.pnmcomp: fix options
+	  update manual page
+
+2013-01-15 15:00  martinl
+
+	* general/g.cairocomp/g.cairocomp.html: g.cairocomp: update manual
+	  page
+
+2013-01-15 14:56  martinl
+
+	* general/g.cairocomp/main.c: g.cairocomp: options cosmetics
+
+2013-01-15 13:11  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Modify the write and
+	  rewrite method of the Vector class
+
+2013-01-15 13:11  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Rewrite the open method of
+	  the vector classes
+
+2013-01-15 13:10  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fix if table exist but it
+	  is empty
+
+2013-01-15 13:10  zarch
+
+	* lib/python/pygrass/vector/table.py: Add update method to the
+	  Table class
+
+2013-01-15 13:10  zarch
+
+	* lib/python/pygrass/vector/sql.py: Add UPDATE string
+
+2013-01-15 13:00  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py: Fixed wrong
+	  error message
+
+2013-01-15 11:13  martinl
+
+	* man/build_html.py: update Display/Graphical User Interfaces
+	  section
+
+2013-01-15 11:03  martinl
+
+	* man/Makefile, man/build_class.py, man/build_full_index.py,
+	  man/build_html.py, man/build_index.py, man/build_topics.py: fix
+	  build_index scripts: report current year (GRASS_VERSION_DATE)
+
+2013-01-14 23:06  martinl
+
+	* include/VERSION: happy new year
+
+2013-01-14 22:52  martinl
+
+	* display/d.grid/main.c: d.grid: more guisection, use standardized
+	  options
+
+2013-01-14 22:45  martinl
+
+	* gui/wxpython/lmgr/toolbars.py: wxGUI/lmgr: toolbar cosmetics
+
+2013-01-14 20:34  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/startup: check if gisdbase exists
+	  or contains at least one GRASS location
+
+2013-01-14 15:03  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass/nsis: associate .py
+	  file with pythonw.exe (fix no response)
+
+2013-01-14 12:20  martinl
+
+	* mswindows/FileAssociation.nsh: fix svn prop (eol)
+
+2013-01-14 12:12  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass/nsis: add file
+	  association for pyw files
+
+2013-01-14 12:07  martinl
+
+	* mswindows/FileAssociation.nsh,
+	  mswindows/GRASS-Installer.nsi.tmpl: wingrass/nsis: fix file
+	  association
+
+2013-01-14 10:37  martinl
+
+	* display/d.legend/main.c: d.legend: more guisections
+
+2013-01-14 09:41  hamish
+
+	* display/d.legend/main.c: add support for RGB text color, or
+	  'none' (merge from devbr6)
+
+2013-01-14 08:43  annakrat
+
+	* gui/wxpython/mapdisp/main.py: wxGUI/d.mon: update code according
+	  to recent changes
+
+2013-01-14 08:28  annakrat
+
+	* gui/wxpython/web_services/widgets.py: wxGUI/wms: fix importing
+	  ParseError with Python < 2.7
+
+2013-01-13 21:05  huhabla
+
+	* lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  temporal/t.rast.series/t.rast.series.py: Bugfix: Correct relative
+	  time handling
+
+2013-01-13 18:02  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: remove 'command dialog'
+	  btn from import/link dialogs
+
+2013-01-13 18:02  martinl
+
+	* gui/wxpython/lmgr/toolbars.py: wxGUI: layer toolbar tooltip
+	  cosmetics
+
+2013-01-13 16:46  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: attempt to define
+	  python file association
+
+2013-01-13 14:57  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/ws.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI: fix AbortAllThreads & EVT_UPDATE_PRGBAR
+	  patch provided by Stepan Turek
+
+2013-01-13 14:54  martinl
+
+	* gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py: wxGUI: wms dialog layout
+	  cosmetics
+
+2013-01-12 16:55  martinl
+
+	* gui/wxpython/ogc_services/wms.py: wxGUI: remove unused file
+
+2013-01-12 16:45  martinl
+
+	* gui/wxpython/web_services/cap_interface.py,
+	  gui/wxpython/web_services/widgets.py: fix svn props
+
+2013-01-12 16:41  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/core/events.py,
+	  gui/wxpython/core/gconsole.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/utils.py, gui/wxpython/core/ws.py,
+	  gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/lmgr/toolbars.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/ogc_services/wms.py, gui/wxpython/web_services,
+	  gui/wxpython/web_services/cap_interface.py,
+	  gui/wxpython/web_services/dialogs.py,
+	  gui/wxpython/web_services/widgets.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: fully-featured support for
+	  web services (work in progress)
+	  patch provided by Stepan Turek
+
+2013-01-12 16:13  martinl
+
+	* scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms_base.py:
+	  r.in.wms: fix 'region' option (patch by Stepan Turek)
+
+2013-01-12 11:38  martinl
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: remove
+	  command dialog button,
+	  autogenerated dialog can be launched by 'r.mapcalc --ui'
+
+2013-01-12 11:36  martinl
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/command line: force autogenerated GUI dialogs by '--ui'
+	  flag
+
+2013-01-12 11:03  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: menu cosmetics
+
+2013-01-12 11:00  martinl
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI/preferences: label
+	  cosmetics
+
+2013-01-11 16:39  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Rewrite the write method
+	  of the Vector class
+
+2013-01-11 16:39  zarch
+
+	* lib/python/pygrass/vector/abstract.py: For consistency change
+	  number to layer, and build automatically the topology when a
+	  Vector map has been opened using 'w' or 'rw' mode
+
+2013-01-11 16:39  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Modify __getitem__ method
+	  of Attrs class to support multiple values and update the
+	  docstring of the Point class and a method to return Cats object
+	  of an Area
+
+2013-01-11 16:39  zarch
+
+	* lib/python/pygrass/vector/table.py: Change number => layer,
+	  change the execute method of the Table class and add the insert
+	  method
+
+2013-01-11 16:38  zarch
+
+	* lib/python/pygrass/vector/basic.py: Refactoring of the Cats class
+	  and add CatsList class
+
+2013-01-11 16:38  zarch
+
+	* lib/python/pygrass/vector/sql.py: Add SQL insert string
+
+2013-01-11 16:38  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Add doctest with glist and
+	  pattern
+
+2013-01-11 16:38  zarch
+
+	* lib/python/pygrass/gis/__init__.py: Add pattern option in glist
+	  method of the Mapset class
+
+2013-01-11 16:38  zarch
+
+	* lib/python/pygrass/vector/basic.py: Add a new method to the Bbox
+	  class that check if a Point is inside or not
+
+2013-01-11 16:38  zarch
+
+	* lib/python/pygrass/gis/region.py: Add a method to return a Bbox
+	  object of the region
+
+2013-01-11 16:38  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fix reading attribute
+	  table for areas
+
+2013-01-11 16:37  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Modify the open method to
+	  create the attribute table
+
+2013-01-11 16:37  zarch
+
+	* lib/python/pygrass/vector/table.py: Add create method in the
+	  Columns class
+
+2013-01-11 16:37  zarch
+
+	* lib/python/pygrass/vector/sql.py: Add CREATE_TAB string
+
+2013-01-09 16:53  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib: fix typo (PostGIS Topology)
+
+2013-01-09 11:14  neteler
+
+	* gui/wxpython/gmodeler/model.py: avoid grey indicated comment line
+
+2013-01-09 09:38  mmetz
+
+	* gui/wxpython/core/render.py: wxGUI: fix #1846
+
+2013-01-09 08:49  mmetz
+
+	* display/d.vect/main.c: d.vect: fix gui section
+
+2013-01-08 16:34  mmetz
+
+	* raster/r.walk/main.c: r.walk: fix r54418 (sync to r.cost)
+
+2013-01-08 15:57  martinl
+
+	* scripts/db.in.ogr/db.in.ogr.html, scripts/db.in.ogr/db.in.ogr.py:
+	  db.in.ogr: update manual
+	  add example for XLS file
+
+2013-01-08 15:35  martinl
+
+	* lib/python/script/db.py: pythonlib: db_table_exist() - be silent
+
+2013-01-08 14:58  martinl
+
+	* gui/wxpython/lmgr/toolbars.py: wxGUI: fix tooltip (delete ->
+	  remove)
+
+2013-01-08 13:41  mmetz
+
+	* vector/v.external/Makefile: v.external: fix Makefile for r54571
+
+2013-01-08 10:57  martinl
+
+	* lib/gis/parser_script.c: libgis: G__script(): generate valid
+	  python script
+
+2013-01-08 10:46  martinl
+
+	* vector/v.external/list.c: v.external: suppress warnings for
+	  projection check
+
+2013-01-08 10:29  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: import vector data, add
+	  column for projection match
+
+2013-01-08 10:17  martinl
+
+	* vector/v.external/args.c, vector/v.external/list.c: v.external:
+	  -t -> print name,type,projection_check
+
+2013-01-08 09:48  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI: add FileGDB to db formats
+
+2013-01-08 09:34  martinl
+
+	* lib/python, lib/python/Makefile, lib/python/__init__.py,
+	  lib/python/array.py, lib/python/core.py, lib/python/db.py,
+	  lib/python/grass__init__.py, lib/python/raster.py,
+	  lib/python/raster3d.py, lib/python/script,
+	  lib/python/script/Makefile, lib/python/script/__init__.py,
+	  lib/python/script/array.py, lib/python/script/core.py,
+	  lib/python/script/db.py, lib/python/script/raster.py,
+	  lib/python/script/raster3d.py, lib/python/script/setup.py.sed,
+	  lib/python/script/task.py, lib/python/script/vector.py,
+	  lib/python/setup.py.sed, lib/python/task.py,
+	  lib/python/vector.py: pythonlib: update layout
+
+2013-01-08 08:35  martinl
+
+	* gui/wxpython/gui_core/forms.py, lib/python/task.py: wxGUI: don't
+	  show extension on windows
+
+2013-01-08 08:00  martinl
+
+	* gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: add missing keywords
+
+2013-01-08 07:50  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menu
+
+2013-01-08 07:41  martinl
+
+	* scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: don't
+	  use '|' as separator (fails on Windows)
+
+2013-01-07 21:03  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: turn vector layers to
+	  be optional parameter by default
+
+2013-01-07 19:27  martinl
+
+	* vector/v.buffer/main.c: v.buffer: more guisections
+
+2013-01-07 19:25  martinl
+
+	* vector/v.overlay/main.c: v.overlay: more guisections
+
+2013-01-07 17:21  martinl
+
+	* gui/wxpython/gmodeler/model.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: list extra map items for
+	  Graphical Modeler
+
+2013-01-07 16:23  martinl
+
+	* vector/v.to.db/parse.c: v.to.db: description cosmetics
+
+2013-01-07 16:18  martinl
+
+	* vector/v.to.db/global.h, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/report.c: v.to.db: fix
+	  totals flag
+	  add separator paramater for print mode
+
+2013-01-07 07:42  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Add __repr__ method to
+	  the Module object
+
+2013-01-07 07:41  zarch
+
+	* lib/python/pygrass/modules/__init__.py: stdin_ parameter now it's
+	  working
+
+2013-01-07 07:41  zarch
+
+	* lib/python/pygrass/raster/abstract.py: Fix raster range for CELL
+	  maps, and add mustbeopen to some attributes and functions
+
+2013-01-06 17:29  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: add g.gui.animation to the
+	  menu
+
+2013-01-06 17:19  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: add g.gui.gmodeler to the
+	  menu
+
+2013-01-06 17:03  martinl
+
+	* vector/v.kernel/main.c, vector/v.kernel/v.kernel.html: v.kernel:
+	  clarify module's description
+	  message cosmetics
+	  update manual
+
+2013-01-06 15:32  martinl
+
+	* scripts/g.manual/g.manual.html, scripts/g.manual/g.manual.py:
+	  g.manual: add flag to display topics
+
+2013-01-06 15:18  martinl
+
+	* raster/r.flow/io.c, raster/r.flow/main.c,
+	  raster/r.flow/precomp.c: r.flow: progress info cosmetics
+
+2013-01-06 13:53  martinl
+
+	* raster/r.fill.dir/main.c, raster/r.fill.dir/r.fill.dir.html:
+	  r.fill.dir: sync parameters with other modules
+	  elevation -> input
+	  depressionless -> output
+	  direction -> outdir
+	  type -> format
+
+2013-01-06 13:47  martinl
+
+	* raster/r.fill.dir/main.c: r.fill.dir: copy color table from input
+	  for depressionless map
+
+2013-01-06 13:23  martinl
+
+	* raster/r.fill.dir/main.c, raster/r.fill.dir/r.fill.dir.html,
+	  raster/r.fill.dir/resolve.c, raster/r.fill.dir/wtrshed.c:
+	  r.fill.dir: be less verbose
+	  update manual
+
+2013-01-06 12:34  martinl
+
+	* raster/r.viewshed/main.cpp: r.viewshed: description cosmetics
+
+2013-01-06 12:19  martinl
+
+	* raster/r.drain/main.c, raster/r.drain/r.drain.html: r.drain:
+	  description cosmetics (elevation X cost surface)
+	  more guisections
+
+2013-01-06 11:50  martinl
+
+	* raster/r.cost/main.c: r.cost: message cosmetics
+	  fix -i flag
+
+2013-01-06 11:23  martinl
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: fix progress bar range
+	  (include overlays)
+	  patch provided by Stepan Turek
+
+2013-01-06 09:31  annakrat
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: fix starting 3D view
+
+2013-01-05 22:17  martinl
+
+	* raster/r.cost/main.c, raster/r.walk/main.c: r.cost/r.walk: fix
+	  bug introduced in r54538
+
+2013-01-05 21:58  martinl
+
+	* raster/r.cost/main.c: r.cost: message cosmetics (reading vector
+	  map)
+
+2013-01-05 20:25  martinl
+
+	* raster/r.drain/filldir.c, raster/r.drain/main.c,
+	  raster/r.drain/r.drain.html: r.drain: sync with r.walk, r.cost
+	  voutput renamed to vector_output
+	  coordinate renamed to start_coordinates
+	  vector_points renamed to start_points
+
+2013-01-05 20:05  martinl
+
+	* raster/r.cost/main.c, raster/r.walk/main.c: r.walk/r.cost: remove
+	  unused variables
+	  rename coordinate to coordinates (see G_OPT_M_COORDS)
+
+2013-01-05 19:31  martinl
+
+	* raster/r.what/Makefile, raster/r.what/main.c,
+	  raster/r.what/r.what.html: r.what: `points` option added (read
+	  coordinates from vector points map)
+
+2013-01-05 18:20  martinl
+
+	* include/defs/gis.h, lib/gis/parser.c: libgis: add
+	  G_option_to_separator()
+
+2013-01-05 15:26  annakrat
+
+	* gui/wxpython/iclass/digit.py: wxGUI/iclass: do not allow the
+	  users to create training areas out of the region
+
+2013-01-05 14:19  martinl
+
+	* raster/r.cost/main.c, raster/r.walk/main.c: r.walk/r.cost: more
+	  guisections
+
+2013-01-05 14:04  martinl
+
+	* raster/r.cost/main.c, raster/r.cost/r.cost.html,
+	  raster/r.walk/main.c, raster/r.walk/r.walk.html: r.walk/r.cost:
+	  sync parameters
+	  update manual pages
+
+2013-01-05 09:25  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: temporary fix for
+	  switching tools (needs refactoring)
+
+2013-01-04 16:14  mmetz
+
+	* vector/v.buffer/main.c: v.buffer: fix #1845
+
+2013-01-04 15:21  martinl
+
+	* raster/r.buffer/main.c, raster/r.buffer/r.buffer.html,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.html,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py:
+	  r.buffer/r.buffer.lowmem: manual page clean up
+
+2013-01-04 14:18  martinl
+
+	* raster/r.surf.gauss/r.surf.gauss.html: r.surf.gauss: manual page
+	  clean up
+
+2013-01-04 14:12  martinl
+
+	* raster/r.surf.gauss/gaussurf.c, raster/r.surf.gauss/main.c:
+	  r.surf.gauss: add progress info
+	  clean up module description
+
+2013-01-04 13:51  martinl
+
+	* raster/r.what/main.c: r.what: stderr -> G_warning (point outside
+	  of the region)
+
+2013-01-04 13:29  martinl
+
+	* vector/v.build.polylines/main.c: v.build.polylines: fix bug in
+	  type
+	  be less verbose
+
+2013-01-04 13:02  martinl
+
+	* vector/v.buffer/main.c, vector/v.buffer/v.buffer.html: v.buffer:
+	  define GRASS_VECTOR_BUFFER to force using built-in algorithm
+	  instead of GEOS
+	  update manual
+
+2013-01-04 11:23  martinl
+
+	* include/Make/GuiScript.make: fix GuiScript for wingrass
+
+2013-01-03 22:47  martinl
+
+	* lib/rst/interp_float/vinput2d.c: librst: be less verbose
+	  (cosmetics)
+
+2013-01-03 19:37  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: layout cosmetics
+
+2013-01-03 19:33  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: use FloatSpin for
+	  float parameters
+
+2013-01-03 18:14  martinl
+
+	* gui/icons/grass/vector-tools.png,
+	  gui/wxpython/docs/wxGUI.vnet.html,
+	  gui/wxpython/mapdisp/toolbars.py: change icon for vnet tool
+
+2013-01-03 18:02  martinl
+
+	* gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/docs/wxGUI.vnet.html, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/vnet/toolbars.py: wxGUI/vnet: update manual
+	  various minor fixes
+
+2013-01-03 17:46  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/docs/wxGUI.vnet.html,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/toolbars.py, gui/wxpython/vnet,
+	  gui/wxpython/vnet/dialogs.py, gui/wxpython/vnet/toolbars.py,
+	  gui/wxpython/vnet/widgets.py, gui/wxpython/xml/menudata.xml:
+	  wxGUI: wx.vnet moved from addons to trunk
+
+2013-01-03 16:59  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI/menudata: add g.gui.iclass
+
+2013-01-03 12:13  martinl
+
+	* gui/wxpython/gui_core/mapdisp.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/mapdisp/statusbar.py:
+	  wxGUI/iclass: show computation region box (fix r54512)
+	  toogle computation region box for both windows
+	  show the box by default
+
+2013-01-03 11:51  martinl
+
+	* gui/wxpython/iclass/digit.py: wxGUI/iclass: show computation
+	  region box
+
+2013-01-03 10:50  martinl
+
+	* configure, configure.in, mswindows/osgeo4w/geos-config: fix
+	  configure & geos-config for osgeo4w
+	  geos 3.3.6 installs geos_c.lib, see
+	  http://osgeo-org.1560.n6.nabble.com/osgeo4w-329-update-geos-to-3-3-6-td5024605.html
+
+2013-01-02 18:57  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: attempt to fix
+	  LayerSelect (check v.category instead of v.db.connect)
+
+2013-01-02 18:42  martinl
+
+	* lib/python/vector.py: pythonlib: vector_db() - be quiet
+
+2013-01-02 18:00  martinl
+
+	* vector/v.net/v.net.html: v.net: fix typo in manual page
+
+2013-01-02 17:26  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: be silent when
+	  checking connections for imported vector map
+
+2013-01-02 17:24  martinl
+
+	* gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/g.gui.iclass.py: wxGUI/iclass: check topology
+	  also for vector maps imported from command line (g.gui.iclass
+	  tr=)
+
+2013-01-02 17:16  martinl
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/toolbars.py:
+	  wxGUI/iclass: windows-related fixes
+
+2013-01-02 16:54  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix broken
+	  connections when importing vector training areas map
+
+2013-01-02 16:33  martinl
+
+	* gui/wxpython/iclass/dialogs.py: wxGUI/iclass: set focus for
+	  IClassExportAreasDialog
+
+2013-01-02 16:29  martinl
+
+	* gui/wxpython/iclass/digit.py: wxGUI/iclass: be silent when
+	  closing the map
+
+2013-01-02 16:22  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix bug introduced in
+	  r54496
+
+2013-01-02 16:22  martinl
+
+	* gui/wxpython/core/gcmd.py: wxGUI/RunCommand: set caption for
+	  error dialog
+
+2013-01-02 15:37  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/toolbars.py: wxGUI/iclass: better error
+	  handling when importing/exporting areas
+
+2013-01-02 15:05  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix SignatureSelect
+
+2013-01-02 15:01  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/GroupDialog: fix
+	  group/subgroup listing
+
+2013-01-02 14:36  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/GroupDialog: fix OnSize
+	  layout
+
+2013-01-02 07:56  martinl
+
+	* gui/wxpython/core/utils.py: wxGUI/launch script: modify PATH for
+	  given session
+
+2013-01-02 07:56  martinl
+
+	* vector/v.in.ogr/geom.c: v.in.ogr: debug messages cosmetics
+
+2013-01-01 22:12  martinl
+
+	* lib/init/grass.py: grass.py: fix cleanup() when no location is
+	  defined
+
+2013-01-01 21:46  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py: g.gui.iclass: center on
+	  screen before showing the frame
+	  TODO: why Maximize doesn't work for frame which is not shown
+
+2013-01-01 21:34  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py: g.gui.iclass: flag to
+	  maximize window
+
+2013-01-01 21:13  annakrat
+
+	* gui/wxpython/iclass/dialogs.py,
+	  gui/wxpython/iclass/statistics.py: wxGUI/iclass: allow space in
+	  class name
+
+2013-01-01 20:59  martinl
+
+	* gui/wxpython/iclass/digit.py: wxGUI/iclass: don't draw centroids
+
+2013-01-01 20:48  martinl
+
+	* imagery/i.maxlik/main.c, imagery/i.smap/parse.c: i.maxlik/i.smap:
+	  fix gisprompt for sigfiles
+
+2013-01-01 20:36  martinl
+
+	* imagery/i.maxlik/main.c: i.maxlik: sync params with other modules
+	  sigfile renamed to signaturefile
+	  class renamed to output
+
+2013-01-01 20:34  martinl
+
+	* imagery/i.smap/parse.c: i.smap: description cosmetics
+
+2013-01-01 20:21  martinl
+
+	* gui/wxpython/gui_core/forms.py: fix r54481
+
+2013-01-01 20:14  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI: SigantureSelect implemented
+
+2013-01-01 18:54  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py: fix r54477
+
+2013-01-01 18:52  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: add 'Zoom to
+	  computational region' to the zoom menu
+
+2013-01-01 18:51  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix GroupDialog when
+	  group with given name does not exist
+
+2013-01-01 18:49  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py: g.gui.iclass: add new
+	  parameter to load training map
+
+2013-01-01 17:16  martinl
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: statusbar text
+	  cosmetics
+
+2012-12-30 17:23  martinl
+
+	* scripts/v.in.geonames/v.in.geonames.html,
+	  scripts/v.in.geonames/v.in.geonames.py: v.geonames: update manual
+	  page, add example
+
+2012-12-30 14:15  neteler
+
+	* scripts/r.in.wms/r.in.wms.html: example cosmetics
+
+2012-12-30 12:57  martinl
+
+	* lib/init/grass.py: grass.py: clean up also location-based tmp dir
+
+2012-12-29 22:44  martinl
+
+	* vector/v.in.ogr/v.in.ogr.html: v.in.ogr: manual page clean up
+
+2012-12-29 22:11  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: fix rendering into image
+
+2012-12-29 21:35  martinl
+
+	* vector/v.in.ascii/main.c: v.in.ascii: be less verbose on standard
+	  verbosity level
+
+2012-12-29 21:31  neteler
+
+	* scripts/r.in.wms/r.in.wms.html: r.in.wms: +OSM example (provided
+	  by Stepan Turek)
+
+2012-12-29 21:26  martinl
+
+	* vector/v.in.ascii/points.c: v.in.ascii: message cosmetics
+
+2012-12-29 20:41  martinl
+
+	* scripts/r.in.wms/wms_base.py,
+	  scripts/r.in.wms/wms_cap_parsers.py: r.in.wms: fix typos (patch
+	  provided by Stepan Turek)
+
+2012-12-29 20:38  martinl
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: description cosmetics
+
+2012-12-29 18:05  mmetz
+
+	* lib/vector/Vlib/remove_duplicates.c: Vlib: optimize
+	  Vect_remove_duplicates()
+
+2012-12-29 17:51  mmetz
+
+	* vector/v.distance/main.c, vector/v.distance/print.c: v.distance:
+	  fix precision
+
+2012-12-29 13:42  martinl
+
+	* vector/v.in.ascii/main.c: v.in.ascii: define error handler to
+	  delete output map
+
+2012-12-29 11:34  martinl
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: wms download message
+	  cosmetics
+
+2012-12-29 11:27  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/main.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/nviz/tools.py, gui/wxpython/vdigit/g.gui.vdigit.py,
+	  gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI: rename layer attributes
+	  (no l_ prefix)
+
+2012-12-29 10:45  martinl
+
+	* gui/scripts/d.wms.py, gui/wxpython/core/gconsole.py,
+	  gui/wxpython/core/render.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/core/ws.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gui_core/mapwindow.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py: wxGUI: add support for WMS
+	  layers (work in progress)
+	  author: Stepan Turek
+
+2012-12-28 21:49  martinl
+
+	* vector/v.build/v.build.html: v.build: manual updated
+
+2012-12-28 17:09  martinl
+
+	* scripts/r.in.wms/Makefile, scripts/r.in.wms/r.in.wms.py:
+	  r.in.wms: update Makefile
+
+2012-12-28 17:06  martinl
+
+	* include/Make/Script.make, include/Make/ScriptRules.make:
+	  Script.make: added support for etc py files
+
+2012-12-28 16:48  martinl
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: header cosmetics
+	  (r.in.wms2 -> r.in.wms)
+
+2012-12-28 16:46  martinl
+
+	* scripts/r.in.wms/Makefile, scripts/r.in.wms/r.in.wms.html,
+	  scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms_base.py,
+	  scripts/r.in.wms/wms_cap_parsers.py, scripts/r.in.wms/wms_drv.py,
+	  scripts/r.in.wms/wms_gdal_drv.py: r.in.wms: backport from addons
+	  (r.in.wms2)
+	  author: Stepan Turek
+
+2012-12-28 15:33  martinl
+
+	* vector/v.proj/main.c: v.proj: description & message cosmetics
+
+2012-12-28 15:31  martinl
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: v.in.org: message
+	  cosmetics (degenerated polygons)
+
+2012-12-28 15:25  martinl
+
+	* vector/v.surf.bspline/main.c,
+	  vector/v.surf.bspline/v.surf.bspline.html: v.surf.bspline: fix
+	  default driver/db
+	  rename sparse param to sparse_input
+	  rename raster param to raster_output
+
+2012-12-28 15:17  martinl
+
+	* tools/mkhtml.py: mkhtml: fix for meta page index
+
+2012-12-28 13:52  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix progress message (counting
+	  polygons)
+
+2012-12-28 13:50  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix message when no layer is
+	  selected
+
+2012-12-28 11:59  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI/import (OGR): support zip/tgz/gzip files
+
+2012-12-28 10:56  lucadelu
+
+	* scripts/i.spectral/i.spectral.py: update i.spectral using tempdir
+	  to save temporary files
+
+2012-12-28 10:52  lucadelu
+
+	* display/d.linegraph/d.linegraph.html, display/d.linegraph/main.c:
+	  d.linegraph removed answer to directory option, fix also
+	  documentation
+
+2012-12-28 09:35  lucadelu
+
+	* scripts/i.spectral/i.spectral.py: cleaning i.spectral according
+	  PEP8
+
+2012-12-28 09:18  neteler
+
+	* imagery/Makefile: re-added i.ortho.photo
+
+2012-12-28 09:17  neteler
+
+	* imagery/i.ortho.photo/i.ortho.camera/main.c: typos fixed
+
+2012-12-28 09:14  neteler
+
+	* imagery/i.ortho.photo/lib/Makefile: added missing variables
+
+2012-12-28 09:12  neteler
+
+	* raster/r.resamp.rst/Makefile: cleanup
+
+2012-12-27 22:07  martinl
+
+	* gui/wxpython/location_wizard/wizard.py: wxGUI/Location Wizard:
+	  prj file wildcard added
+
+2012-12-27 20:41  annakrat
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/iclass/toolbars.py:
+	  wxGUI/iclass: add RGB layer
+
+2012-12-27 18:46  annakrat
+
+	* gui/wxpython/core/events.py, gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/mapwindow.py: wxGUI: synchronize displays
+	  in wxIClass; improve implementation
+
+2012-12-27 17:21  neteler
+
+	* lib/gpde/gpdelib.dox, vector/v.surf.bspline/v.surf.bspline.html:
+	  URLs demessified
+
+2012-12-27 16:29  mmetz
+
+	* imagery/i.ortho.photo/i.ortho.rectify/lanczos.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/local_proto.h,
+	  imagery/i.ortho.photo/i.ortho.rectify/main.c: i.ortho.rectify:
+	  add lanczos
+
+2012-12-27 16:29  mmetz
+
+	* imagery/i.ortho.photo/Makefile: add i.ortho.camera
+
+2012-12-27 16:28  mmetz
+
+	* imagery/i.ortho.photo/lib/cam_info.c,
+	  imagery/i.ortho.photo/lib/fopen_camera.c,
+	  imagery/i.ortho.photo/lib/georef.c: ortholib update
+
+2012-12-27 16:27  mmetz
+
+	* imagery/i.ortho.photo/i.ortho.camera/main.c: add i.ortho.camera
+
+2012-12-27 16:06  mmetz
+
+	* raster/r.drain/main.c, raster/r.drain/r.drain.html: r.drain: use
+	  standard GRASS directions, update manual
+
+2012-12-27 16:06  mmetz
+
+	* raster/r.walk/main.c, raster/r.walk/r.walk.html: r.walk: use
+	  standard GRASS directions
+
+2012-12-27 16:06  mmetz
+
+	* raster/r.cost/main.c, raster/r.cost/r.cost.html: r.cost: use
+	  standard GRASS directions
+
+2012-12-26 12:17  martinl
+
+	* gui/wxpython/vdigit/g.gui.vdigit.html: wxGUI/vdigit: note
+	  g.gui.vdigit
+
+2012-12-26 12:14  martinl
+
+	* gui/wxpython/vdigit/g.gui.vdigit.html: wxGUI/vdigit: update
+	  manual
+
+2012-12-26 11:13  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: delete line tool
+	  added
+
+2012-12-26 11:10  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: accept mapset in the
+	  exported vector map name
+
+2012-12-26 11:01  martinl
+
+	* lib/vector/vedit/render.c: vedit: fix area ids in
+	  Vedit_render_map()
+
+2012-12-26 11:00  martinl
+
+	* gui/wxpython/iclass/digit.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/vdigit/wxdigit.py: wxGUI/iclass: colorize areas
+
+2012-12-25 21:58  martinl
+
+	* gui/wxpython/iclass/dialogs.py: wxGUI/iclass: class manager, set
+	  focus when editing color
+
+2012-12-25 21:43  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: fix ElementDialog
+	  (disable OK button only when no element is defined)
+
+2012-12-25 17:29  martinl
+
+	* gui/wxpython/iclass/digit.py: wxGUI/iclass: close boundaries
+	  (snap to first node)
+
+2012-12-25 16:35  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix typo
+
+2012-12-25 16:34  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py: wxGUI/iclass: fix r54399
+
+2012-12-25 16:32  martinl
+
+	* gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/g.gui.iclass.py: g.gui.iclass: add parameters
+	  - 'group' and 'map'
+
+2012-12-25 12:02  martinl
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI/vdigit: simplify Help()
+
+2012-12-25 11:40  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix OnHelp()
+
+2012-12-25 11:00  martinl
+
+	* gui/wxpython/iclass/g.gui.iclass.py: g.gui.iclass: define
+	  keywords
+
+2012-12-25 10:58  martinl
+
+	* gui/wxpython/Makefile,
+	  gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.html,
+	  gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/iclass/g.gui.iclass.html,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/vdigit/g.gui.vdigit.html: update manuals - note
+	  g.gui.iclass
+
+2012-12-25 10:26  martinl
+
+	* gui/wxpython/docs/wxGUI.IClass.html,
+	  gui/wxpython/iclass/Makefile, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/g.gui.iclass.html,
+	  gui/wxpython/iclass/g.gui.iclass.py,
+	  gui/wxpython/vdigit/g.gui.vdigit.html: g.gui.iclass added
+
+2012-12-24 22:52  martinl
+
+	* gui/wxpython/vdigit/preferences.py: wxGUI/vdigit: fix
+	  UpdateSettings (missing close boundary option)
+
+2012-12-24 22:49  martinl
+
+	* gui/wxpython/core/settings.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI/vdigit: fix settings
+	  dialog (use giface)
+
+2012-12-24 22:31  martinl
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: option to close
+	  boundary (snap to the first node)
+
+2012-12-24 16:29  martinl
+
+	* gui/wxpython/vdigit/wxdisplay.py: g.gui.vdigit: fix build
+	  messages formatting
+
+2012-12-24 15:43  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix iclass init
+
+2012-12-24 15:37  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: set cross cursor when
+	  digitizing training areas
+
+2012-12-24 15:27  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix message
+
+2012-12-24 14:57  annakrat
+
+	* gui/wxpython/iclass/dialogs.py: wxGUI/iclass: map selection
+	  widget instead of textctrl when exporting vector map
+
+2012-12-24 14:52  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: remove db connection
+	  before export
+
+2012-12-24 14:48  martinl
+
+	* gui/wxpython/vdigit/g.gui.vdigit.py: g.gui.vdigit: fix map frame
+	  title
+
+2012-12-24 13:18  martinl
+
+	* gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.html,
+	  gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/vdigit/g.gui.vdigit.html: update manual - add
+	  g.gui.vdigit
+
+2012-12-24 13:02  martinl
+
+	* gui/wxpython/Makefile,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI_vector_digitizer_toolbar.jpg,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/toolbars.py, gui/wxpython/vdigit/Makefile,
+	  gui/wxpython/vdigit/g.gui.vdigit.html,
+	  gui/wxpython/vdigit/g.gui.vdigit.py, gui/wxpython/vdigit/main.py,
+	  gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/vdigit/toolbars.py,
+	  gui/wxpython/vdigit/vdigit_toolbar.jpg: g.gui.vdigit added
+
+2012-12-24 12:59  zarch
+
+	* lib/python/pygrass/vector/abstract.py: Close db-connection when
+	  the vector map is closed
+
+2012-12-24 12:59  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fixing write method for a
+	  generic geometry
+
+2012-12-23 20:52  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.py: g.gui.gmodeler: module
+	  description cosmetics
+
+2012-12-23 20:00  martinl
+
+	* raster/r.viewshed/grass.cpp, raster/r.viewshed/viewshed.cpp:
+	  r.viewshed: progress messages cosmetics
+
+2012-12-23 14:53  martinl
+
+	* scripts/r.mask/r.mask.py: r.mask: use convex hull as a mask for
+	  vector maps with no area
+
+2012-12-23 14:28  martinl
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/vect2rast.c: v.to.rast: progress message should
+	  be printed on verbosity level 1
+
+2012-12-23 12:23  martinl
+
+	* vector/v.hull/chull.c, vector/v.hull/main.c: v.hull: message
+	  cosmetics, add keyword for 3D
+
+2012-12-23 11:53  zarch
+
+	* lib/python/pygrass/functions.py,
+	  lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: Fixing import path
+
+2012-12-23 11:32  zarch
+
+	* lib/python/pygrass/Makefile: Forgot to add the gis directory in
+	  the Makefile
+
+2012-12-23 11:13  zarch
+
+	* lib/python/pygrass/Makefile, lib/python/pygrass/gis/Makefile:
+	  Fix: makefile
+
+2012-12-23 11:13  zarch
+
+	* lib/python/pygrass/__init__.py, lib/python/pygrass/gis,
+	  lib/python/pygrass/gis/__init__.py,
+	  lib/python/pygrass/gis/region.py, lib/python/pygrass/region.py:
+	  Add the 'gis' module with Gisdbase, Location and Mapset, and move
+	  region.py to gis/region.py
+
+2012-12-23 10:43  zarch
+
+	* lib/python/pygrass/vector/geometry.py: Fix access to table
+	  attributes
+
+2012-12-23 10:43  zarch
+
+	* lib/python/pygrass/vector/__init__.py: Fix write => writable
+
+2012-12-22 10:23  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/dialogs: enlarge checkboxes
+	  in row (see d.vect)
+
+2012-12-20 13:32  martinl
+
+	* mswindows/osgeo4w/package.sh: revert r54360
+
+2012-12-20 13:00  neteler
+
+	* raster/r.drain/tests/test.r.drain.sh: trying FP map to no avail
+
+2012-12-20 13:00  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: no libtiff_i.lib in
+	  osgeo4w framework
+
+2012-12-20 12:58  neteler
+
+	* raster/r.drain/tests/test.r.drain.sh: added how to check results
+	  once working
+
+2012-12-20 12:51  neteler
+
+	* raster/r.drain/tests, raster/r.drain/tests/test.r.drain.sh,
+	  raster/r.drain/tests/testascii_nc.asc: test case from manual
+	  added
+
+2012-12-19 22:16  mmetz
+
+	* imagery/i.maxlik/i.maxlik.html: i.maxlik: update manual
+
+2012-12-18 21:49  neteler
+
+	* doc/howto_release.txt: updated to CMS
+
+2012-12-18 21:07  martinl
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/frame.py:
+	  wxGUI/IClass: use non-qualified group name (group must be placed
+	  in the current mapset)
+
+2012-12-18 17:19  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layertree: fix setting comp
+	  region for more maps
+
+2012-12-18 13:16  glynn
+
+	* include/iostream/ami_stream.h, include/iostream/embuffer.h,
+	  include/iostream/empq_impl.h, lib/iostream/ami_stream.cpp,
+	  raster/r.viewshed/distribute.cpp: Fix some C++ portability
+	  warnings
+
+2012-12-18 08:34  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/geometry.py: Fix: Change write
+	  attribute into writable, to not overwrite the write method
+
+2012-12-17 22:03  martinl
+
+	* vector/v.buffer/main.c: v.buffer: use layer=1 when cats or where
+	  options are given
+
+2012-12-17 21:42  martinl
+
+	* lib/vector/Vlib/snap.c: vlib: Vect_snap_lines(): progress
+	  messages should be printed on verbosity level 1
+
+2012-12-17 14:14  annakrat
+
+	* gui/wxpython/animation/controller.py,
+	  gui/wxpython/animation/dialogs.py,
+	  gui/wxpython/animation/utils.py: wxGUI/animation: export to swf,
+	  gif, avi using external python library visvis
+
+2012-12-17 13:58  mmetz
+
+	* imagery/i.smap/interp.c, imagery/i.smap/region.h,
+	  imagery/i.smap/segment.c: i.smap: add goodness of fit for MLE
+
+2012-12-17 13:38  neteler
+
+	* raster/r.rescale.eq/main.c: apply r45358 also here, fixes trac
+	  #1836
+
+2012-12-17 13:33  mmetz
+
+	* imagery/i.smap/bouman.h, imagery/i.smap/closefiles.c,
+	  imagery/i.smap/i.smap.html, imagery/i.smap/interp.c,
+	  imagery/i.smap/openfiles.c, imagery/i.smap/parse.c,
+	  imagery/i.smap/region.h, imagery/i.smap/segment.c,
+	  imagery/i.smap/write_img.c: i.smap: new goodness of fit output
+	  map
+
+2012-12-17 00:46  glynn
+
+	* include/iostream/empq_impl.h: Replace VLA with std::vector
+
+2012-12-16 23:16  mmetz
+
+	* imagery/i.ortho.photo/i.ortho.camera,
+	  imagery/i.ortho.photo/i.ortho.elev/main.c,
+	  imagery/i.ortho.photo/i.photo.camera: i.photo.camera ->
+	  i.ortho.camera
+
+2012-12-16 23:14  mmetz
+
+	* imagery/i.ortho.photo/i.ortho.rectify/Makefile,
+	  imagery/i.ortho.photo/i.ortho.rectify/angle.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/bilinear.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/bilinear_f.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/cubic.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/cubic_f.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/equ.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/exec.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/get_wind.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/main.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/nearest.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/readcell.c,
+	  imagery/i.ortho.photo/i.ortho.rectify/rectify.c: i.ortho.rectify
+	  update
+
+2012-12-16 23:14  mmetz
+
+	* imagery/i.ortho.photo/i.photo.camera,
+	  imagery/i.ortho.photo/i.photo.camera/Makefile,
+	  imagery/i.ortho.photo/i.photo.camera/camera.h,
+	  imagery/i.ortho.photo/i.photo.camera/description.html,
+	  imagery/i.ortho.photo/i.photo.camera/globals.h,
+	  imagery/i.ortho.photo/i.photo.camera/i.ortho.camera.html,
+	  imagery/i.ortho.photo/i.photo.camera/main.c,
+	  imagery/i.ortho.photo/i.photo.camera/mod_cam_info.c:
+	  i.photo.camera update
+
+2012-12-16 12:56  neteler
+
+	* imagery/i.cluster/i.cluster.html, imagery/i.maxlik/i.maxlik.html,
+	  imagery/i.smap/i.smap.html, raster/r.kappa/r.kappa.html: examples
+	  added; HTML cosmetics
+
+2012-12-16 12:17  neteler
+
+	* imagery/i.gensigset/i.gensigset.html,
+	  imagery/i.gensigset/parse.c: less sub-signatures to speed module
+	  up
+
+2012-12-16 10:33  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix removing
+	  temporary maps
+
+2012-12-16 08:46  annakrat
+
+	* lib/imagery/iclass.c: iclass: fix usage of region
+
+2012-12-16 07:26  wenzeslaus
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/iclass: passing giface in lmgr
+	  (help was not available)
+
+2012-12-15 23:59  mmetz
+
+	* vector/v.to.rast/main.c: v.to.rast: update header
+
+2012-12-15 23:54  mmetz
+
+	* scripts/r.mask/r.mask.py: r.mask: fix typo
+
+2012-12-15 23:53  mmetz
+
+	* scripts/r.mask/r.mask.py: r.mask: update header
+
+2012-12-15 23:41  mmetz
+
+	* scripts/r.mask/r.mask.py: r.mask: improve option description
+
+2012-12-15 23:37  martinl
+
+	* scripts/r.mask/r.mask.py: r.mask: show --overwrite flag
+
+2012-12-15 23:34  martinl
+
+	* scripts/r.mask/r.mask.py: r.mask: improve param's description
+	  (raster/vector)
+
+2012-12-15 23:25  mmetz
+
+	* scripts/r.mask/r.mask.py: r.mask: fix #1838
+
+2012-12-15 23:17  mmetz
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/vect2rast.c: v.to.rast: add cats and where
+	  option (fix #1798)
+
+2012-12-15 23:15  mmetz
+
+	* lib/vector/Vlib/cats.c: Vlib: fix Vect_cats_set_constraint()
+	  warning
+
+2012-12-15 19:15  annakrat
+
+	* temporal/t.list/t.list.py,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.register/t.register.py, temporal/t.remove/t.remove.py,
+	  temporal/t.sample/t.sample.py: temporal: add more guisections
+
+2012-12-15 16:59  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix layout for too
+	  many checkboxes
+
+2012-12-15 13:09  martinl
+
+	* db/drivers/ogr/db.c: ogr dbdriver: try to open data source
+	  read-only when read-write access fails
+
+2012-12-15 12:58  martinl
+
+	* vector/v.in.db/main.c: v.in.db: use Vect_set_error_handler_io()
+
+2012-12-15 12:31  martinl
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizer.html: wxGUI/vdigit:
+	  manual cosmetics
+
+2012-12-15 11:51  martinl
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: srs param seems to be
+	  required
+
+2012-12-14 22:13  mmetz
+
+	* imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html:
+	  i.ortho.elev: add dummy manual
+
+2012-12-14 22:11  mmetz
+
+	* imagery/i.ortho.photo/Makefile,
+	  imagery/i.ortho.photo/i.ortho.rectify,
+	  imagery/i.ortho.photo/i.ortho.rectify/Makefile,
+	  imagery/i.ortho.photo/i.ortho.rectify/description.html,
+	  imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html,
+	  imagery/i.ortho.photo/i.photo.rectify: i.photo.rectify ->
+	  i.ortho.rectify
+
+2012-12-14 22:06  mmetz
+
+	* imagery/i.ortho.photo/Makefile,
+	  imagery/i.ortho.photo/i.ortho.elev,
+	  imagery/i.ortho.photo/i.ortho.elev/Makefile,
+	  imagery/i.ortho.photo/i.ortho.elev/ask_elev.c,
+	  imagery/i.ortho.photo/i.ortho.elev/elev.h,
+	  imagery/i.ortho.photo/i.ortho.elev/local_proto.h,
+	  imagery/i.ortho.photo/i.ortho.elev/main.c,
+	  imagery/i.ortho.photo/i.ortho.elev/mod_elev.c,
+	  imagery/i.ortho.photo/i.photo.rectify: add i.ortho.elev
+
+2012-12-14 22:03  mmetz
+
+	* imagery/i.ortho.photo/lib/ask_camera.c,
+	  imagery/i.ortho.photo/lib/cam_info.c,
+	  imagery/i.ortho.photo/lib/camera.c,
+	  imagery/i.ortho.photo/lib/conz_points.c,
+	  imagery/i.ortho.photo/lib/ls_cameras.c,
+	  imagery/i.ortho.photo/lib/ls_elev.c,
+	  imagery/i.ortho.photo/lib/m_mult.c,
+	  imagery/i.ortho.photo/lib/orthophoto.h,
+	  imagery/i.ortho.photo/lib/orthoref.c: ortho lib update
+
+2012-12-14 21:36  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: prefer color rules over color
+	  tables
+
+2012-12-14 14:07  martinl
+
+	* vector/v.proj/main.c: v.proj: use Vect_set_error_handler_io()
+
+2012-12-14 13:06  neteler
+
+	* scripts/r.tileset/r.tileset.html: example fix
+
+2012-12-14 10:01  neteler
+
+	* lib/init/variables.html: document r54264
+
+2012-12-14 00:02  mmetz
+
+	* raster/r.out.gdal/Makefile, raster/r.out.gdal/export_band.c,
+	  raster/r.out.gdal/local_proto.h, raster/r.out.gdal/main.c:
+	  r.out.gdal: code clean up, add GRASS version to metadata
+
+2012-12-13 23:49  mmetz
+
+	* include/defs/gis.h, lib/gis/paths.c: libgis: G_owner returns
+	  owner id
+
+2012-12-13 23:44  mmetz
+
+	* general/g.mapset/main.c: g.mapset: remove G_owner
+
+2012-12-13 16:03  martinl
+
+	* gui/wxpython/docs/wxGUI.GCP_Manager.html: wxGUI/GCP Manager: note
+	  video tutorials in the manual
+
+2012-12-13 15:11  martinl
+
+	* gui/wxpython/gcp/mapdisplay.py: wxGUI/GCP manager: fix
+	  OnPointer()
+
+2012-12-13 10:31  martinl
+
+	* lib/init/variables.html: variables: remove ADDON_PATH
+	  note bashrc and env.bat
+
+2012-12-12 21:58  mmetz
+
+	* vector/v.kernel/function.c, vector/v.kernel/main.c,
+	  vector/v.kernel/v.kernel.html: v.kernel: stddeviation -> radius
+
+2012-12-12 15:53  martinl
+
+	* gui/wxpython/psmap/g.gui.psmap.py: g.gui.psmap: explain 'file'
+	  paramater (cosmetics)
+
+2012-12-12 12:52  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: enable subgroup by
+	  default (most of imagery modules require subgroup to be set)
+
+2012-12-11 21:16  glynn
+
+	* lib/raster/history.c: Fix memory leak
+
+2012-12-11 13:29  glynn
+
+	* lib/gis/mapset_msc.c: Allow mapset ownership test to be skipped
+
+2012-12-10 10:26  zarch
+
+	* lib/python/pygrass/functions.py: Change parameter order in
+	  looking function
+
+2012-12-10 10:25  martinl
+
+	* vector/v.select/v.select.html: v.select: cosmetics in the manual
+
+2012-12-10 10:25  zarch
+
+	* lib/python/pygrass/region.py: Fix, region methods: zoom and align
+	  after the module is called update the region attributes
+
+2012-12-10 10:06  martinl
+
+	* lib/vector/Vlib/remove_areas.c: Vect_remove_small_areas(): report
+	  number of removed areas on standard message level (it's quite
+	  important info)
+
+2012-12-09 20:13  annakrat
+
+	* raster/r.colors/edit_colors.c: r.colors: change gui section for
+	  file option
+
+2012-12-09 11:10  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/sqlbuilder: add tooltip
+	  for sample btn
+
+2012-12-09 11:06  martinl
+
+	* gui/wxpython/dbmgr/g.gui.dbmgr.html: wxGUI/dbmgr: manual - add
+	  link to the wiki page
+
+2012-12-09 10:18  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/sqlbuilder: cosmetics
+
+2012-12-08 19:32  martinl
+
+	* gui/wxpython/dbmgr/vinfo.py: wxGUI/dbmgr: rewrite unicodeValue()
+
+2012-12-08 18:15  martinl
+
+	* vector/v.db.select/main.c: v.db.select: more gui sections
+
+2012-12-08 13:54  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: call unicode() with
+	  `errors=replace' (avoid failure)
+
+2012-12-08 13:26  martinl
+
+	* gui/wxpython/core/gcmd.py: wxGUI: store default encoding as
+	  gcmd._enc variable (used by Encode/Decode string)
+
+2012-12-08 13:11  neteler
+
+	* include/la.h: added to make Ubuntu happy (from
+	  https://bugs.launchpad.net/ubuntu/+source/gcc-3.4/+bug/61623/comments/3)
+
+2012-12-08 11:40  martinl
+
+	* db/db.connect/db.connect.html: db.connect: manual cosmetics
+
+2012-12-08 00:08  martinl
+
+	* gui/wxpython/dbmgr/vinfo.py: wxGUI/dbmgr: don't fail on unknown
+	  encoding
+
+2012-12-07 23:54  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: message cosmetics
+	  remove not used variable
+
+2012-12-07 23:37  martinl
+
+	* gui/wxpython/dbmgr/dbmgr_frame.jpg,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.html: wxGUI/dbmgr: update manual +
+	  add screenshot
+
+2012-12-07 23:15  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: enlarge columns widget
+
+2012-12-07 22:45  martinl
+
+	* gui/wxpython/dbmgr/g.gui.dbmgr.py: g.gui.dbmgr: check if vector
+	  map exists
+
+2012-12-07 22:28  martinl
+
+	* gui/wxpython/dbmgr/Makefile, gui/wxpython/dbmgr/g.gui.dbmgr.py:
+	  add missing files from r54239
+
+2012-12-07 22:27  martinl
+
+	* gui/wxpython/Makefile,
+	  gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/dbmgr/g.gui.dbmgr.html,
+	  gui/wxpython/dbmgr/manager.py,
+	  gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html: add g.gui.dbmgr
+	  (Attribute Table Manager)
+
+2012-12-07 21:53  martinl
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnnect.all: bugfix - don't use substituted new_database
+
+2012-12-07 20:35  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: better check for
+	  allowed file extension (add always `*.*` mask)
+
+2012-12-07 20:22  martinl
+
+	* scripts/r.unpack/r.unpack.py: r.unpack: fix for fully qualified
+	  map names
+	  various minor issues
+
+2012-12-07 09:56  annakrat
+
+	* gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/mapswipe/mapswipe_tsunami.jpg: wxGUI/mapswipe:
+	  update manual
+
+2012-12-07 09:40  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/mapswipe/frame.py:
+	  wxGUI/mapswipe: minor fix
+
+2012-12-07 08:59  annakrat
+
+	* gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/mapswipe/toolbars.py: wxGUI/mapswipe: add mirror map
+	  functionality
+
+2012-12-06 22:06  annakrat
+
+	* gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py: wxGUI/mapswipe: fix
+	  zooming to map
+
+2012-12-06 21:53  neteler
+
+	* lib/proj/README.txt: EPSG DB to CSV procedure
+
+2012-12-06 21:33  annakrat
+
+	* gui/wxpython/psmap/frame.py, gui/wxpython/psmap/g.gui.psmap.py:
+	  wxGUI/psmap: implement file option
+
+2012-12-06 21:21  martinl
+
+	* gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html: update g.gui.* manual
+	  pages - note g.gui.psmap
+
+2012-12-06 21:12  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/psmap/Makefile, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/g.gui.psmap.html,
+	  gui/wxpython/psmap/g.gui.psmap.py: introduce g.gui.psmap
+
+2012-12-06 17:34  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/mapswipe/toolbars.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI/mapswipe: add text label
+	  with map name
+
+2012-12-06 14:04  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: map layer menu - minor
+	  clean (multiple maps selected)
+
+2012-12-06 12:56  martinl
+
+	* gui/wxpython/core/gcmd.py: fix typo in r54219
+
+2012-12-06 12:52  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/core/workspace.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI: add GetDefaultEncoding
+	  fix writing workspace and model file
+
+2012-12-06 12:29  martinl
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI/statusbar: positioning
+	  cosmetics
+
+2012-12-06 10:59  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: update list flag description
+	  (see r54216)
+
+2012-12-06 10:57  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr -l: report only layer name (same
+	  for `v.external -l`)
+
+2012-12-05 17:31  martinl
+
+	* include/Make/GuiScript.make: fix GuiScript.make for parallel
+	  builds (patch provided by Glynn Clements)
+
+2012-12-05 16:34  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI/import dialog: fix db
+	  source type
+	  various minor issues
+
+2012-12-05 15:30  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/Gdal dialog cosmetics
+
+2012-12-05 14:58  martinl
+
+	* gui/wxpython/rlisetup/frame.py: wxGUI/RLi Setup: fix manual link
+
+2012-12-05 14:57  martinl
+
+	* gui/wxpython/mapswipe/frame.py: wxGUI/Map Swipe Tool: fix manual
+	  link
+
+2012-12-05 14:56  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/Graphical Modeler: fix
+	  manual link
+
+2012-12-05 14:55  martinl
+
+	* gui/wxpython/animation/frame.py: wxGUI/Animation Tool: fix manual
+	  link
+
+2012-12-05 14:52  annakrat
+
+	* gui/wxpython/animation/toolbars.py: wxGUI/animation: fix r54204
+
+2012-12-05 14:15  annakrat
+
+	* gui/wxpython/animation/toolbars.py: wxGUI/animation: disable
+	  tools when no animation loaded
+
+2012-12-05 13:48  martinl
+
+	* gui/wxpython/animation/Makefile,
+	  gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/mapswipe/Makefile,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/rlisetup/Makefile: update Makefile (use
+	  GuiScript.make) for g.gui.* modules
+	  update also manual: link other g.gui.* modules
+
+2012-12-05 13:35  martinl
+
+	* gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py: g.gui.rlisetup - fix
+	  module's description
+	  update manual, link other g.gui modules
+
+2012-12-05 13:27  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: wxGUI/GModeler: link
+	  other g.gui.* modules
+
+2012-12-05 12:59  martinl
+
+	* include/Make/GuiScript.make, include/Make/Html.make,
+	  include/Make/HtmlRules.make: add HtmlRules.make, update Html.make
+	  and GuiScript.make to use HtmlRules.make
+
+2012-12-05 12:14  martinl
+
+	* display/d.vect/label.c, lib/gis/token.c,
+	  lib/temporal/lib/default_name.c, lib/vector/Vlib/dgraph.c,
+	  raster3d/r3.in.ascii/main.c, vector/v.lidar.growing/ConvexHull.c,
+	  vector/v.lrs/v.lrs.label/main.c, vector/v.perturb/myrng.c: avoid
+	  debug level 0 -- G_debug(0, ...)
+
+2012-12-05 10:42  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.create/t.create.py, temporal/t.sample/t.sample.py,
+	  temporal/t.sample/test.t.sample.sh: Temporal sampling method now
+	  returns the map matrix.
+	  Sampling was moved from t.sample into the temporal library.
+	  STDS creation was moved from t.create into the temporal library.
+
+2012-12-05 10:18  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix debug level
+
+2012-12-05 08:11  neteler
+
+	* lib/gmath/la.c: g2c.h no longer exists
+
+2012-12-04 19:43  mmetz
+
+	* vector/v.in.ogr/main.c, vector/v.in.ogr/v.in.ogr.html: v.in.ogr:
+	  write 3D output if input is 3D
+
+2012-12-04 17:49  neteler
+
+	* aclocal.m4, configure: real fix for r54167
+
+2012-12-04 08:11  neteler
+
+	* aclocal.m4, configure: fix/workaround for r54167
+
+2012-12-03 23:33  neteler
+
+	* config.guess, config.sub, configure, configure.in: config.guess +
+	  config.sub updated from new URL
+
+2012-12-03 23:25  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2012-12-03 19:12  glynn
+
+	* aclocal.m4, configure: Accept "*-pc-msys" as an alias for
+	  "*-pc-mingw32"
+
+2012-12-03 18:50  mmetz
+
+	* lib/vector/diglib/plus_area.c: diglib: revert r54090: lines are
+	  added to nodes with dig_node_add_line() and are removed with
+	  dig_del_line(). If a dead line is registered with a node, this is
+	  a bug further up in topo building
+
+2012-12-03 18:20  mmetz
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/local.h, vector/v.overlay/main.c: v.overlay: use
+	  tmp vector
+
+2012-12-03 12:02  martinl
+
+	* display/d.rast/d.rast.html: d.rast: update manual, add example
+
+2012-12-03 09:54  martinl
+
+	* gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/docs/wxGUI.html, gui/wxpython/gmodeler/Makefile:
+	  update gmodeler's Make to use GuiScript
+
+2012-12-03 09:49  martinl
+
+	* include/Make/GuiScript.make: GuiScript.make added
+
+2012-12-02 23:04  neteler
+
+	* gui/wxpython/location_wizard/wizard.py: msg cosmetics
+
+2012-12-02 22:18  neteler
+
+	* configure.in: URL update
+
+2012-12-02 21:22  neteler
+
+	* vector/v.clean/v.clean.html: documentation more readable
+
+2012-12-02 19:41  mmetz
+
+	* raster/r.in.lidar/main.c: r.in.lidar: fix spatial filter
+
+2012-12-02 19:34  mmetz
+
+	* vector/v.what.rast/main.c: v.what.rast: remove nonsense special
+	  case handling
+
+2012-12-02 15:34  annakrat
+
+	* gui/wxpython/mapswipe/frame.py: wxGUI/mapswipe: fix #1817
+
+2012-12-02 12:43  mmetz
+
+	* lib/vector/Vlib/snap.c: Vlib: reduce memory consumption in
+	  Vect_snap_line()
+
+2012-12-02 09:34  mmetz
+
+	* vector/v.overlay/v.overlay.html: v.overlay manual cosmetics
+
+2012-12-01 19:46  mmetz
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/main.c,
+	  vector/v.overlay/v.overlay.html: v.overlay: use Vect_snap_line()
+
+2012-12-01 19:45  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/snap.c: Vlib: new
+	  Vect_snap_line()
+
+2012-12-01 08:55  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxGUI/nviz: FloatSpin instead of
+	  SpinCtrl for points size
+
+2012-11-30 16:51  martinl
+
+	* raster/r.colors/edit_colors.c: r.colors: param `map` should be
+	  more visible in guisections
+
+2012-11-30 16:36  martinl
+
+	* vector/v.external/list.c, vector/v.external/local_proto.h,
+	  vector/v.external/main.c: v.external: dimension is set later from
+	  data source
+
+2012-11-30 15:45  martinl
+
+	* general/g.version/Makefile: g.version: missing GEOSCFLAGS
+
+2012-11-30 14:41  neteler
+
+	* locale/po/grasswxpy_de.po: Robert Nuske: cont'ed
+
+2012-11-30 14:36  martinl
+
+	* gui/wxpython/gis_set.py: remove print statement - fix r54109
+
+2012-11-30 14:32  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome screen: fix ImportFile()
+
+2012-11-30 11:43  mmetz
+
+	* vector/v.kernel/global.h, vector/v.kernel/main.c: v.kernel speed
+	  up
+
+2012-11-30 10:34  mmetz
+
+	* lib/vector/diglib/spindex_rw.c, lib/vector/rtree/index.c,
+	  lib/vector/rtree/index.h, lib/vector/rtree/indexf.c,
+	  lib/vector/rtree/indexm.c, lib/vector/rtree/io.c,
+	  lib/vector/rtree/node.c, lib/vector/rtree/rtree.h: huhabla: rtree
+	  dynamic memory allocation
+
+2012-11-30 10:07  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix switching page for system
+	  info
+
+2012-11-30 10:02  martinl
+
+	* general/g.gui/main.c: g.gui: more guisections
+	  filemask for workspace
+
+2012-11-30 09:32  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: use codecs.open()
+	  when writing text files
+
+2012-11-30 09:22  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gui_core/forms.py: g.gui.gmodeler: use '*.gxm' as a
+	  filemask
+
+2012-11-30 09:08  martinl
+
+	* vector/v.out.postgis/v.out.postgis.html: v.out.postgis: add more
+	  references to the manual
+
+2012-11-29 10:06  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/write_pg.c: vlib/PostGIS Topology: report correct
+	  number of centroids and isles (work in progress)
+
+2012-11-29 09:35  martinl
+
+	* vector/v.out.postgis/main.c: v.out.postgis: allow to export only
+	  maps in native formats
+
+2012-11-29 09:01  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib: allow writting PostGIS
+	  topological elements on level 1
+
+2012-11-29 08:59  martinl
+
+	* vector/v.external.out/link.c,
+	  vector/v.external.out/v.external.out.html: v.external.out: fix
+	  on/off options
+	  update manual page
+
+2012-11-29 08:18  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/pg_local_proto.h,
+	  lib/vector/Vlib/read_pg.c, lib/vector/Vlib/write_pg.c:
+	  vlib/PostGIS Topo: handle isles as faces (work in progress)
+
+2012-11-28 22:10  neteler
+
+	* man/build_html.py, man/build_rest.py,
+	  misc/m.nviz.script/m.nviz.script.html,
+	  scripts/d.shadedmap/d.shadedmap.html,
+	  vector/v.extrude/v.extrude.html: doc: nviz -> wxGUI.Nviz
+
+2012-11-28 22:04  neteler
+
+	* man/Makefile: removed old nviz css + logo
+
+2012-11-28 17:46  martinl
+
+	* general/g.version/Makefile: g.version: add missing LIBES
+
+2012-11-28 16:51  martinl
+
+	* lib/vector/Vlib/open_pg.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/write_pg.c: vlib/PostGIS Topo: better support for
+	  areas (work in progress)
+
+2012-11-28 16:34  martinl
+
+	* lib/vector/diglib/plus_area.c: dig_angle_next_line(): avoid
+	  segfault on dead line
+
+2012-11-28 16:24  zarch
+
+	* lib/python/pygrass/raster/rowio.py: Fix RasterRowIO class with
+	  CELL and DCELL maps
+
+2012-11-28 15:05  neteler
+
+	* vector/v.clean/main.c: fix lost prune
+
+2012-11-28 12:11  zarch
+
+	* lib/python/pygrass/modules/__init__.py: If is not able to get the
+	  xml of a module suggest to the user to check if the module exist
+
+2012-11-28 09:24  lucadelu
+
+	* lib/python/pygrass/vector/__init__.py: vector: add method to
+	  return the number of all primitives; add method to return is map
+	  is empty; add decorator to check if a map is open
+
+2012-11-28 09:01  martinl
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/local_proto.h,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_pg.c:
+	  vlib/PostGIS Topo: implement deleting faces (work in progress)
+
+2012-11-28 08:28  martinl
+
+	* lib/vector/dglib/dglib.dox, lib/vector/neta/netalib.dox,
+	  lib/vector/vectorlib.dox, lib/vector/vectorlib_ascii.dox,
+	  lib/vector/vectorlib_files.dox, lib/vector/vectorlib_indices.dox,
+	  lib/vector/vectorlib_libraries.dox, lib/vector/vectorlib_ogr.dox,
+	  lib/vector/vectorlib_pg.dox, lib/vector/vectorlib_tin.dox,
+	  lib/vector/vectorlib_topology.dox, lib/vector/vedit/veditlib.dox:
+	  vlib/dox: add subpage for GRASS-PostGIS data provider
+	  clean up
+
+2012-11-28 08:06  annakrat
+
+	* gui/wxpython/animation/mapwindow.py: wxGUI/animation: add debug
+	  messages
+
+2012-11-27 21:22  neteler
+
+	* mswindows/GRASS-Installer.nsi.tmpl: new package
+	  nc_spm_08_grass7.tar.gz available
+
+2012-11-27 21:12  neteler
+
+	* locale/po/grassmods_de.po: fix wrong ; to , since breaking tool
+	  management
+
+2012-11-27 13:53  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/copy.c: vlib (PostGIS
+	  Topo): update TopoGeometry data also for centroids
+
+2012-11-27 13:24  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/PostGIS Topo: fix
+	  update_topo_edge() - next left/right edge
+
+2012-11-27 12:41  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: add v.out.postgis to the
+	  menu
+
+2012-11-27 11:29  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: launch animation with maps
+	  only if more than 1 map is selected
+
+2012-11-27 10:58  martinl
+
+	* lib/init/grass.py: grass.py: fix reading GRASS_ADDON_PATH
+
+2012-11-27 10:00  martinl
+
+	* lib/vector/Vlib/copy.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/pg_local_proto.h, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/rewind_pg.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_pg.c, lib/vector/diglib/plus_area.c: vlib
+	  (PostGIS Topo): better support for areas/faces (work in progress)
+
+2012-11-27 09:15  martinl
+
+	* raster/r.to.vect/areas_io.c, raster/r.to.vect/main.c: r.to.vect:
+	  print progress when exporting areas
+
+2012-11-27 07:36  annakrat
+
+	* gui/wxpython/rlisetup/wizard.py: wxGUI/rlisetup: fix
+	  enabling/disabling next button
+
+2012-11-27 00:21  neteler
+
+	* raster/r.surf.fractal, raster/r.surf.fractal/r.surf.fractal.html,
+	  raster/r.surf.fractal/r_surf_fractal.jpg: + example, +image
+
+2012-11-26 22:16  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix OnImportWMS handler
+
+2012-11-26 21:06  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_fr.po: Robert Nuske: cont'ed
+
+2012-11-26 20:30  neteler
+
+	* db/drivers/sqlite/grass-sqlite.html: updated to reflect new
+	  behaviour of storing sqlite DB in subdir
+
+2012-11-26 20:21  annakrat
+
+	* gui/icons/grass/player-back.png,
+	  gui/icons/grass/player-pause.png,
+	  gui/icons/grass/player-repeat-back-forward.png,
+	  gui/icons/grass/player-stop.png, gui/wxpython/Makefile,
+	  gui/wxpython/animation, gui/wxpython/animation/Makefile,
+	  gui/wxpython/animation/__init__.py,
+	  gui/wxpython/animation/anim.py,
+	  gui/wxpython/animation/animation.py,
+	  gui/wxpython/animation/frame.py,
+	  gui/wxpython/animation/g.gui.animation.html,
+	  gui/wxpython/animation/g.gui.animation.py,
+	  gui/wxpython/animation/toolbars.py,
+	  gui/wxpython/animation/wxGUI_animation_tool.jpg,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  Animation tool moved from addons to trunk; g.gui.animation module
+	  created
+
+2012-11-26 20:15  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layertree: fix newly
+	  introduced method
+
+2012-11-26 18:27  zarch
+
+	* lib/python/pygrass/region.py: Add iteritems method to the Region
+	  class.
+
+2012-11-26 18:27  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Fix, get stdout and
+	  stderr even if finish_=True
+
+2012-11-26 16:21  neteler
+
+	* vector/v.db.connect/v.db.connect.html: updated to reflect new
+	  behaviour of storing sqlite DB in subdir
+
+2012-11-26 16:19  neteler
+
+	* db/db.copy/db.copy.html: updated to reflect new behaviour of
+	  storing sqlite DB in subdir; modernized
+
+2012-11-26 16:09  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/geometry.py: Fix, before to modify the
+	  attribute table check if we are in the current mapset.
+
+2012-11-26 16:08  zarch
+
+	* lib/python/pygrass/functions.py: Add a new function to get grass
+	  environment variables
+
+2012-11-26 15:58  neteler
+
+	* db/db.connect/db.connect.html: updated to reflect new behaviour
+	  of storing sqlite DB in subdir
+
+2012-11-26 11:48  lucadelu
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/xml/menudata.xml: add
+	  rlisetup to gui
+
+2012-11-26 11:31  lucadelu
+
+	* gui/wxpython/Makefile, gui/wxpython/rlisetup,
+	  gui/wxpython/rlisetup/Makefile, gui/wxpython/rlisetup/frame.py,
+	  gui/wxpython/rlisetup/functions.py,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.html,
+	  gui/wxpython/rlisetup/g.gui.rlisetup.py,
+	  gui/wxpython/rlisetup/wizard.py,
+	  gui/wxpython/scripts/r.li.setup.py: add first version of rlisetup
+	  for wxpython
+
+2012-11-26 09:50  marisn
+
+	* scripts/r.fillnulls/r.fillnulls.html,
+	  scripts/r.fillnulls/r.fillnulls.py: Fill each hole separately
+	  when run with RST. Provides significant quality improvement and
+	  up to 2x speed up.
+
+2012-11-26 09:41  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/geometry.py: Add an easy way to access
+	  (read/write) to the attributes of a geometry feature in a vector
+	  map
+
+2012-11-26 09:41  zarch
+
+	* lib/python/pygrass/vector/table.py: Control column type before to
+	  try to add a new column
+
+2012-11-26 09:18  marisn
+
+	* lib/raster/set_window.c: Print failing map name to help with
+	  issue solving
+
+2012-11-26 08:02  annakrat
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: fix search
+	  by command
+
+2012-11-26 07:47  wenzeslaus
+
+	* gui/wxpython/modules/extensions.py: wxGUI/InstallExtensionWindow:
+	  show notification in statusbar (before: event propagated into
+	  Layer Manager)
+
+2012-11-26 07:38  annakrat
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: fix bug
+	  caused by recent changes
+
+2012-11-25 22:10  annakrat
+
+	* gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/vdigit/mapwindow.py: wxGUI/mapwindow: remove unused
+	  constructor parameters
+
+2012-11-25 18:26  annakrat
+
+	* gui/wxpython/gui_core/mapwindow.py, gui/wxpython/nviz/tools.py:
+	  wxGUI/mapwindow: remove method used in nviz only
+
+2012-11-25 17:55  annakrat
+
+	* gui/wxpython/core/render.py: wxGUI/d.mon: removed parameter was
+	  not unused
+
+2012-11-25 16:28  annakrat
+
+	* gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py:
+	  wxGUI/layertree: move method from mapwindow to layertree
+	  (co-author: wenzeslaus)
+
+2012-11-25 13:52  annakrat
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/settings.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/core/workspace.py: wxGUI: fix indentation, remove
+	  unused code
+
+2012-11-25 12:15  wenzeslaus
+
+	* gui/wxpython/mapdisp/main.py: wxGUI/d.mon: grass interface for
+	  d.mon
+
+2012-11-25 12:14  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI: fix indentation, remove
+	  unused code
+
+2012-11-25 11:22  annakrat
+
+	* gui/wxpython/mapdisp/gprint.py,
+	  gui/wxpython/mapdisp/statusbar.py: wxGUI: fix indentation
+
+2012-11-25 11:13  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI/mapdisp: minor fixes, removed unused code
+
+2012-11-25 10:59  neteler
+
+	* display/d.colortable/d.colortable.html, display/d.his/d.his.html,
+	  display/d.histogram/d.histogram.html,
+	  display/d.legend/d.legend.html, display/d.profile/d.profile.html,
+	  imagery/i.evapo.time/i.evapo.time.html,
+	  imagery/i.sunhours/i.sunhours.html, imagery/imageryintro.html,
+	  raster/r.his/r.his.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.profile/r.profile.html,
+	  raster/r.transect/r.transect.html,
+	  scripts/v.db.droprow/v.db.droprow.html,
+	  scripts/v.db.droptable/v.db.droptable.html,
+	  scripts/v.pack/v.pack.html, scripts/v.unpack/v.unpack.html: fix
+	  non-existing HTML pages
+
+2012-11-25 10:54  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: do not load
+	  layer if command failed
+
+2012-11-25 10:44  wenzeslaus
+
+	* gui/wxpython/core/events.py, gui/wxpython/core/gconsole.py,
+	  gui/wxpython/lmgr/frame.py: wxGUI/GConsole: fixing usage of
+	  command event and fixing d commands without parameters (in Layer
+	  Manager)
+
+2012-11-25 10:31  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/toolbars.py:
+	  wxGUI/lmgr: remove unused code, imports
+
+2012-11-25 10:07  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: remove unused code
+
+2012-11-25 09:43  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: remove redundant code, fix
+	  icons for group
+
+2012-11-25 07:25  annakrat
+
+	* gui/wxpython/modules/histogram.py: wxGUI/histogram: fix launching
+	  histogram tool (merge from releasebranch, r54018)
+
+2012-11-25 07:09  annakrat
+
+	* gui/wxpython/gmodeler/model.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/gconsole: fix running model
+
+2012-11-24 22:18  wenzeslaus
+
+	* gui/wxpython/lmgr/layertree.py, vector/v.distance/main.c:
+	  wxGUI/layertree: layer info: deleting unused code and using the
+	  old way when necessary (fixing r54014)
+
+2012-11-24 22:12  annakrat
+
+	* gui/wxpython/core/giface.py, gui/wxpython/core/workspace.py,
+	  gui/wxpython/dbmgr/base.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/mapwindow.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/preferences.py: wxGUI/layertree: better
+	  access to layer info (part 2)
+
+2012-11-24 20:26  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layertree: better access to
+	  layer info (part 1)
+
+2012-11-24 18:27  martinl
+
+	* vector/v.out.postgis/create.c: v.out.postgis: fix feature type
+	  (use only points, lines or boundaries)
+
+2012-11-24 17:22  mmetz
+
+	* lib/vector/Vlib/open.c: Vlib: open old sidx in file mode
+
+2012-11-24 13:18  martinl
+
+	* lib/vector/Vlib/write_pg.c: vlib/PostGIS Topology: insert
+	  topological element with defined id (=line)
+
+2012-11-24 12:40  annakrat
+
+	* gui/wxpython/lmgr/giface.py, gui/wxpython/vdigit/toolbars.py,
+	  gui/wxpython/vdigit/wxdigit.py: wxGUI/interface: temporary fix
+	  for progressbar
+
+2012-11-24 12:26  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI/layertree: selected layer as a property
+
+2012-11-24 12:03  annakrat
+
+	* gui/wxpython/core/giface.py: wxGUI/interface: using GConsole for
+	  executing commands
+
+2012-11-24 11:12  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib/pg: fix sequential access (order
+	  by fid)
+
+2012-11-24 09:33  annakrat
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/gselect.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/giface.py, gui/wxpython/scripts/vkrige.py:
+	  wxGUI: use interface for CoordinatesSelect (co-author:
+	  wenzeslaus)
+
+2012-11-24 09:30  lucadelu
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: fix links to pdf in r.mapcalc
+	  documentation
+
+2012-11-23 20:41  mmetz
+
+	* vector/v.generalize/displacement.c, vector/v.generalize/main.c,
+	  vector/v.generalize/misc.c, vector/v.generalize/misc.h,
+	  vector/v.generalize/operators.h,
+	  vector/v.generalize/simplification.c: v.generalize: fix cats and
+	  where options
+
+2012-11-23 20:02  martinl
+
+	* lib/vector/Vlib/build_pg.c: vlib/PostGIS Topology: fix
+	  `topology.grass` definition (allow overwrite)
+
+2012-11-23 19:39  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: diglib: add buffer for searching
+	  spatial index
+
+2012-11-23 19:37  mmetz
+
+	* vector/v.buffer/main.c: v.buffer: use new vector lib fns for cats
+	  and where options
+
+2012-11-23 19:37  mmetz
+
+	* vector/v.hull/main.c, vector/v.hull/read.c: v.hull: use new
+	  vector li fns for cats and where options
+
+2012-11-23 19:31  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/cats.c: Vlib: add cats
+	  constraint functions
+
+2012-11-23 18:18  wenzeslaus
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/core/giface.py,
+	  gui/wxpython/core/workspace.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/preferences.py,
+	  gui/wxpython/scripts/vkrige.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/wxplot/dialogs.py: wxGUI/GConsole: fixing usage of
+	  goutput, temporary keeping also old interface (co-author:
+	  annakrat)
+
+2012-11-23 17:07  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI/goutput: remove redundant
+	  code
+
+2012-11-23 16:08  mmetz
+
+	* vector/v.overlay/main.c, vector/v.overlay/v.overlay.html:
+	  v.overlay: snap by default with 1e-8
+
+2012-11-23 15:32  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/pg_local_proto.h: vlib/PostGIS Topology: store
+	  map bounding box in 'topology.grass' table
+	  calculating map bbox from TopoGeometry objects is quite time
+	  consuming
+
+2012-11-23 14:54  wenzeslaus
+
+	* gui/wxpython/core/gconsole.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/giface.py,
+	  gui/wxpython/psmap/frame.py, gui/wxpython/scripts/vkrige.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI/GConsole: splitted into two
+	  classes GConsole (logic) and GConsoleWindow (GUI) (co-author:
+	  annakrat)
+
+2012-11-23 14:53  lucadelu
+
+	* lib/python/pygrass/raster/abstract.py: fix get_value function for
+	  point outside region
+
+2012-11-23 14:28  lucadelu
+
+	* lib/python/pygrass/functions.py,
+	  lib/python/pygrass/raster/abstract.py: fix erroneus import
+
+2012-11-23 14:22  lucadelu
+
+	* lib/python/pygrass/Makefile: fix compilation to new name of
+	  functions module
+
+2012-11-23 14:21  annakrat
+
+	* gui/wxpython/core/giface.py, gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gmodeler/preferences.py,
+	  gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/iclass/digit.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/giface.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/mapswipe/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/vdigit/mapwindow.py:
+	  wxGUI: unified grass interface (to be continued) (co-author:
+	  wenzeslaus)
+
+2012-11-23 13:53  lucadelu
+
+	* lib/python/pygrass/vector/__init__.py: removed dblinks set up
+	  before opening vector map
+
+2012-11-23 13:27  martinl
+
+	* vector/v.out.postgis/options.c: v.out.postgis: more guisections
+
+2012-11-23 13:23  martinl
+
+	* vector/Makefile: enable building v.out.postgis
+
+2012-11-23 12:42  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/write_pg.c,
+	  vector/v.out.postgis/main.c: vlib (PostGIS topo access): full
+	  support for lines (work in progress)
+
+2012-11-23 12:03  lucadelu
+
+	* lib/python/pygrass/__init__.py, lib/python/pygrass/env.py,
+	  lib/python/pygrass/functions.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/vector/abstract.py: rename env.py to
+	  functions.py
+
+2012-11-23 11:52  lucadelu
+
+	* lib/python/pygrass/raster/__init__.py: rewrite method to get
+	  pixel value from pair of coordinates for RasterNumpy
+
+2012-11-23 11:49  lucadelu
+
+	* lib/python/pygrass/raster/abstract.py: add method to get pixel
+	  value from pair of coordinates
+
+2012-11-23 11:45  lucadelu
+
+	* lib/python/pygrass/env.py, lib/python/pygrass/errors.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py: fix must_be_open; add
+	  must_be_open to raster methods; moved generic functions to env
+
+2012-11-23 11:28  martinl
+
+	* vector/v.out.postgis/create.c, vector/v.out.postgis/main.c:
+	  v.out.postgis: bugfix (create_pgfile)
+	  add error handler for map link
+
+2012-11-23 09:59  lucadelu
+
+	* lib/python/pygrass/errors.py,
+	  lib/python/pygrass/vector/abstract.py: Moved must_bo_open
+	  decorator to errors
+
+2012-11-22 12:26  martinl
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.html,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnect.all: fix default SQLite settings (see `db.connect
+	  -c`)
+
+2012-11-22 12:24  martinl
+
+	* db/drivers/sqlite/listdb.c: SQLite DB driver: list databases from
+	  default directory (`mapset/sqlite`)
+
+2012-11-22 11:31  zarch
+
+	* lib/python/pygrass/raster/__init__.py: Add two functions to
+	  convert (north, east) into (row, col) and back
+
+2012-11-22 08:51  martinl
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.html,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnect.all -c: tries also to create index on key column
+
+2012-11-21 22:39  martinl
+
+	* general/g.version/g.version.html, general/g.version/main.c,
+	  gui/wxpython/lmgr/frame.py: g.version -e: report also SQLite
+	  version
+	  update wxGUI to report also SQLite
+
+2012-11-21 21:48  martinl
+
+	* gui/wxpython/gis_set.py: fix r53940
+
+2012-11-21 21:08  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix loading workspace on
+	  Windows (show map display)
+	  (merge r53957 from devbr6)
+
+2012-11-21 20:57  mmetz
+
+	* vector/v.kernel/function.c, vector/v.kernel/global.h,
+	  vector/v.kernel/main.c: v.kernel optimization
+
+2012-11-21 20:56  mmetz
+
+	* lib/vector/Vlib/sindex.c: Vlib: optimize
+	  Vect_select_lines_by_box()
+
+2012-11-21 20:50  martinl
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI: use default locales for writing workspace and model files
+	  (merge r53952 from devbr6)
+
+2012-11-21 15:26  glynn
+
+	* raster/r.quantile/main.c: Allow more than 255 bins
+
+2012-11-21 12:38  annakrat
+
+	* gui/wxpython/gmodeler/dialogs.py: wxGUI/prompt: remove redundant
+	  code
+
+2012-11-21 09:39  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: error message
+	  cosmetics
+	  (merge r53947 from devbr6)
+
+2012-11-21 09:37  annakrat
+
+	* gui/wxpython/gui_core/prompt.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI/prompt: remove unused and not maintained classes -
+	  PromptListCtrl, TextCtrlAutoComplete, GPromptPopUp
+
+2012-11-21 09:08  mlennert
+
+	* lib/gis/parser_standard_options.c: Changed description of "layer"
+	  option in order to avoid confusion.
+
+2012-11-21 09:05  annakrat
+
+	* gui/wxpython/core/events.py, gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/GPrompt: decoupling GPrompt and GConsole; standalone
+	  GConsole for testing available (co-author: wenzeslaus)
+
+2012-11-20 21:10  annakrat
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/scripts/vkrige.py: wxGUI/GConsole: decoupling layer
+	  manager, moving display commands to layer manager (co-author:
+	  wenzeslaus)
+
+2012-11-20 18:39  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome screen: don't report error
+	  on unknown location
+
+2012-11-20 18:04  martinl
+
+	* locale/po/grasswxpy_cs.po: minor update of czech localization
+
+2012-11-20 17:52  martinl
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI/settings: don't
+	  define fixed size for buttons
+
+2012-11-20 15:40  mmetz
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/local.h,
+	  vector/v.overlay/main.c, vector/v.overlay/v.overlay.html:
+	  v.overlay: fix areas x areas, update manual
+
+2012-11-20 15:39  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/snap.c: Vlib: new snapping
+	  fn
+
+2012-11-20 10:53  wenzeslaus
+
+	* gui/wxpython/core/events.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/lmgr/frame.py: wxGUI/GConsole: decoupling
+	  LayerManager and TaskForm/ModuleForm (co-author: annakrat)
+
+2012-11-20 08:38  mmetz
+
+	* vector/v.overlay/area_area.c: v.overlay: fix r53904
+
+2012-11-19 22:34  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Fix Parameter class for
+	  parameters with a range like v.mkgrid
+
+2012-11-19 22:09  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI/GConsole: replace
+	  SetStatusText by event
+
+2012-11-19 22:01  wenzeslaus
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI/GConsole: improving
+	  r53925: Skip in handlers (co-author: annakrat)
+
+2012-11-19 21:55  wenzeslaus
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/goutput.py:
+	  wxGUI/GConsole: removing Modeler specific code, Modeler now uses
+	  events (co-author: annakrat)
+
+2012-11-19 21:16  wenzeslaus
+
+	* gui/wxpython/gui_core/goutput.py, gui/wxpython/scripts/vkrige.py:
+	  wxGUI/GConsole: various fixes related to r53921
+
+2012-11-19 18:45  annakrat
+
+	* gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: move highlighting of command tab from lmgr to notebook
+
+2012-11-19 18:11  wenzeslaus
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/forms.py:
+	  wxGUI/GConsole: fix 53921 (applying changes for forms and
+	  gmodeler)
+
+2012-11-19 17:57  wenzeslaus
+
+	* gui/wxpython/core/events.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/GConsole: new event, removing notebook dependecy and
+	  related NotebookControler changes (co-author: annakrat)
+
+2012-11-19 17:23  glynn
+
+	* lib/raster/set_window.c: Fix cruft left over from r42876
+
+2012-11-19 17:22  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI/GConsole: move code
+	  (styling output) from GConsole to GStc
+
+2012-11-19 17:04  martinl
+
+	* gui/wxpython/gmodeler/model.py: gmodeler: encode also
+	  model/variables name
+
+2012-11-19 14:55  wenzeslaus
+
+	* gui/wxpython/core/events.py, gui/wxpython/core/modulesdata.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/modules/extensions.py: wxGUI/SearchModuleWidget:
+	  general notification event, removing GConsole-statusbar
+	  dependency (co-author: annakrat)
+
+2012-11-19 10:39  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Fix default value in
+	  Parameter class and rephrase the string error
+
+2012-11-19 10:20  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/io.c,
+	  lib/vector/rtree/rtree.h: rtree: spatial index with buffered
+	  external memory, work in progress
+
+2012-11-19 09:54  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Improve the error
+	  message, when the parameter is not found.
+
+2012-11-19 07:43  mmetz
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/main.c: v.overlay: copy attributes
+
+2012-11-18 20:30  martinl
+
+	* vector/v.out.postgis/create.c,
+	  vector/v.out.postgis/v.out.postgis.html: v.out.postgis: add more
+	  examples to the manual page
+	  fix topology export
+
+2012-11-18 19:22  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: diglib: changed rtree API
+
+2012-11-18 19:21  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/io.c,
+	  lib/vector/rtree/node.c, lib/vector/rtree/rect.c,
+	  lib/vector/rtree/rtree.h: rtree: spatial index with buffered
+	  external memory, work in progress
+
+2012-11-18 19:00  annakrat
+
+	* gui/wxpython/core/modulesdata.py, gui/wxpython/lmgr/menudata.py,
+	  gui/wxpython/modules/extensions.py: wxGUI/extension: fix search
+	  module (co-author wenzeslaus)
+
+2012-11-18 18:40  martinl
+
+	* lib/vector/Vlib/close.c, lib/vector/diglib/frmt.c,
+	  vector/v.external/main.c: v.external: use lower case for keys (as
+	  r.external or r|v.external.out)
+	  links with upper case keys are still suppored by vector library
+
+2012-11-18 18:14  martinl
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_pg.c, lib/vector/Vlib/open_pg.c,
+	  vector/v.external.out/v.external.out.html,
+	  vector/v.out.postgis/create.c,
+	  vector/v.out.postgis/local_proto.h, vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/options.c,
+	  vector/v.out.postgis/v.out.postgis.html: v.out.postgis: better
+	  support for creation options
+	  new parameter for creating links (link is not created by default)
+	  update Vlib
+	  v.external.out: manual cosmetics
+
+2012-11-18 16:32  annakrat
+
+	* gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/modules/extensions.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI/SearchModule: rename classes
+
+2012-11-18 16:13  mmetz
+
+	* vector/v.kernel/function.c, vector/v.kernel/global.h,
+	  vector/v.kernel/main.c: v.kernel optimization
+
+2012-11-18 16:05  wenzeslaus
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/modules/extensions.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI/SearchModuleWindow: move from ghelp to widgets
+
+2012-11-18 13:43  annakrat
+
+	* gui/wxpython/modules/extensions.py: wxGUI: fix opening extension
+	  window
+
+2012-11-18 13:34  annakrat
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/menu.py:
+	  wxGUI/SearchModuleWindow: fix r53879
+
+2012-11-18 13:19  wenzeslaus
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI/SearchModuleWindow:
+	  decoupling SMW and GPrompt; dangling of autocomplete list fixed
+	  (co-author: annakrat)
+
+2012-11-18 12:40  marisn
+
+	* vector/v.mkgrid/main.c: Make some errors more fatal; Write
+	  attribute data in batches per 20 to speed up module 16x times
+
+2012-11-18 12:35  marisn
+
+	* vector/v.mkgrid/write_grid.c: Breaks are vertex points not
+	  segments (make code to match description)
+
+2012-11-18 12:21  marisn
+
+	* raster/r.neighbors/bufs.c, raster/r.neighbors/main.c: Fix
+	  shifting of original data with selection option
+
+2012-11-18 12:18  marisn
+
+	* SUBMITTING, locale/Makefile, locale/README: Ability to add
+	  comments for GRASS translators with GTC keyword in code comments
+
+2012-11-18 11:28  annakrat
+
+	* gui/wxpython/core/modulesdata.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI/prompt: fix autocompletion
+
+2012-11-18 10:45  annakrat
+
+	* gui/wxpython/core/menudata.py, gui/wxpython/core/modulesdata.py,
+	  gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/menudata.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/menudata.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/menudata.py,
+	  gui/wxpython/tools/update_menudata.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI/menudata: rename menudata
+	  classes
+
+2012-11-18 10:25  martinl
+
+	* configure, configure.in: configure: ffmpeg don't use new and
+	  deprecated fns for LOC_CHECK_LIB
+
+2012-11-18 10:24  martinl
+
+	* lib/ogsf/gsd_img_mpeg.c: ogsf: support also older FFMPEG API (see
+	  r53854)
+
+2012-11-18 10:14  wenzeslaus
+
+	* gui/wxpython/core/modulesdata.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI/gprompt: module info moved from GPrompt (co-author:
+	  annakrat)
+
+2012-11-18 07:46  hcho
+
+	* display/d.barscale/draw_scale.c: Fixed the broken -s barscale
+	  (ticket 422).
+
+2012-11-17 20:18  huhabla
+
+	* lib/python/array.py: Small bugfix and some example code
+
+2012-11-17 19:14  wenzeslaus
+
+	* gui/wxpython/gui_core/goutput.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/goutput: GConsole styles (co-author: annakrat)
+
+2012-11-17 17:17  wenzeslaus
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/scripts/vkrige.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI/goutput: rename GM (gis manager) classes to G (grass)
+	  classes (limited to goutput classes)
+
+2012-11-17 16:46  wenzeslaus
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/pystc.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI: move PyStc class to modeler
+
+2012-11-17 12:07  martinl
+
+	* lib/ogsf/gsd_img_mpeg.c: update ogsf for ffmpeg, replace
+	  deprecated fns
+
+2012-11-17 11:27  martinl
+
+	* configure, configure.in: configure: fix ffmpeg switch - replace
+	  deprecated fns avcodec_init() and av_set_parameters()
+	  see
+	  http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7221139ba0486c24afeac1f41ba97c75f58046b9
+
+2012-11-16 15:37  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/composer: fix name of
+	  ghostscript binary for Windows
+
+2012-11-16 14:26  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Fix flags support of the
+	  modules, and add the capability to export the Module object into
+	  a bash and python string
+
+2012-11-15 17:09  annakrat
+
+	* gui/wxpython/mapdisp/statusbar.py: wxGUI: fix MASK status for
+	  different mapset
+
+2012-11-15 14:00  huhabla
+
+	* lib/python/array.py: PEP8 compliance.
+	  Added 3D array using r3.out.bin and r3.in.bin.
+
+2012-11-15 13:27  huhabla
+
+	* raster3d/r3.in.bin/test_suite/test.r3.in.bin.sh: Try to remove
+	  test files safely
+
+2012-11-15 13:18  huhabla
+
+	* raster3d/r3.in.bin/main.c, raster3d/r3.in.bin/r3.in.bin.html,
+	  raster3d/r3.in.bin/test_suite/test.r3.in.bin.sh,
+	  raster3d/r3.out.bin/main.c, raster3d/r3.out.bin/r3.out.bin.html:
+	  Fixed tests, removed swap flag
+
+2012-11-15 09:32  huhabla
+
+	* raster3d/r3.out.ascii/r3.out.ascii.html: Removed redundant text
+
+2012-11-15 09:29  huhabla
+
+	* raster3d/r3.out.ascii/r3.out.ascii.html: Correct input option
+	  name
+
+2012-11-15 09:27  huhabla
+
+	* raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.out.ascii/g3d_volume_layout.png,
+	  raster3d/r3.out.ascii/r3.out.ascii.html: Updated documentation
+
+2012-11-15 08:34  huhabla
+
+	* raster3d/r3.out.ascii/r3.out.ascii.html: Better description of
+	  the output ordering.
+
+2012-11-14 18:33  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: don't use fullyqualified
+	  names when saving region
+
+2012-11-14 18:21  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py: wxGUI/mapdisplay: add 'Save
+	  computational region to named region' to the zoom menu
+
+2012-11-14 17:43  martinl
+
+	* gui/wxpython/tools/update_menudata.py: fix update_menudata.py
+
+2012-11-14 17:33  martinl
+
+	* raster3d/r3.in.bin/main.c, raster3d/r3.out.bin/main.c:
+	  r3.in/out.bin: cosmetics - fix keywords and description
+
+2012-11-14 17:29  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: add r3.in/out.bin to the
+	  menu
+
+2012-11-14 17:21  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menu from module's
+	  desc
+
+2012-11-14 17:20  martinl
+
+	* raster3d/r3.in.bin, raster3d/r3.out.bin: defined missing svn
+	  props (ignore)
+
+2012-11-14 17:19  martinl
+
+	* gui/wxpython/core/render.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/lmgr/layertree.py, lib/python/task.py: wxGUI: fix
+	  command layer (unnamed parameter)
+
+2012-11-14 16:55  neteler
+
+	* raster3d/r3.in.bin/main.c, raster3d/r3.in.bin/r3.in.bin.html: svn
+	  propset
+
+2012-11-14 16:00  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/modules/colorrules.py: wxGUI/layertree: show color
+	  rules dialog
+
+2012-11-14 15:31  martinl
+
+	* gui/wxpython/modules/colorrules.py: wxGUI/colorrules: add also
+	  pre-defined color tables
+
+2012-11-14 15:09  huhabla
+
+	* raster3d/Makefile, raster3d/r3.in.bin,
+	  raster3d/r3.in.bin/Makefile, raster3d/r3.in.bin/main.c,
+	  raster3d/r3.in.bin/r3.in.bin.html, raster3d/r3.in.bin/test_suite,
+	  raster3d/r3.in.bin/test_suite/test.r3.in.bin.sh,
+	  raster3d/r3.in.bin/test_suite/test_out_bin_double.ref,
+	  raster3d/r3.in.bin/test_suite/test_out_bin_float.ref,
+	  raster3d/r3.out.bin/main.c: New module to import 3D raster binary
+	  data as 3D raster maps.
+
+2012-11-14 14:58  mmetz
+
+	* vector/v.distance/main.c: v.distance: uniform category handling
+
+2012-11-14 14:48  mmetz
+
+	* vector/v.distance/main.c: v.distance fix to area cats
+
+2012-11-14 12:05  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  define separate handlers for color rules
+
+2012-11-14 11:56  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: don't mention r.colors for
+	  'create color rules' dialog, it's misleading
+
+2012-11-14 09:34  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/gis_set: welcome screen - location
+	  or mapset doesn't exists
+
+2012-11-14 07:20  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/indexm.c,
+	  lib/vector/rtree/io.c, lib/vector/rtree/rect.c: rtree bug fixes
+
+2012-11-14 06:19  neteler
+
+	* raster3d/r3.out.bin/main.c, raster3d/r3.out.bin/r3.out.bin.html:
+	  svn propset
+
+2012-11-13 23:47  huhabla
+
+	* raster3d/Makefile, raster3d/r3.out.bin,
+	  raster3d/r3.out.bin/Makefile, raster3d/r3.out.bin/main.c,
+	  raster3d/r3.out.bin/r3.out.bin.html: New module to export a 3D
+	  raster map as binary array
+
+2012-11-13 21:31  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI: attempt to fix composer
+	  preview on Windows
+
+2012-11-13 17:53  martinl
+
+	* lib/python/core.py: pythonlib: fix bug in get_commands (don't
+	  ignore scripts)
+
+2012-11-13 16:29  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: encode variables
+	  description
+
+2012-11-13 11:42  martinl
+
+	* SUBMITTING_PYTHON: note Python pep08
+
+2012-11-13 08:40  huhabla
+
+	* raster/r.colors/edit_colors.c: Fixed wrong GUI section for map
+	  and file options.
+
+2012-11-12 18:14  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Adding support for
+	  autocomplete in MetaModule class.
+
+2012-11-12 18:13  zarch
+
+	* gui/wxpython/core/globalvar.py, lib/python/core.py: Move
+	  gui.wxpython.core.globalvar.GetGRASSCommands to
+	  lib.python.core.get_commands
+
+2012-11-12 16:08  martinl
+
+	* include/nviz.h: nvizlib: no need for XmuLookupStandardColormap
+
+2012-11-12 15:26  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Add modules shortcuts for
+	  pygrass
+
+2012-11-12 15:26  zarch
+
+	* lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/geometry.py: Fix vector methods: close
+	  and build topology
+
+2012-11-11 20:12  annakrat
+
+	* gui/wxpython/gui_core/gselect.py,
+	  lib/python/temporal/space_time_datasets_tools.py: wxGUI:
+	  distinguish dataset types (strds, stvds, ...) in gselect
+
+2012-11-11 18:45  mmetz
+
+	* lib/vector/Vlib/intersect.c: Vlib: optimization
+
+2012-11-11 18:43  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/indexf.c,
+	  lib/vector/rtree/indexm.c, lib/vector/rtree/rtree.h: rtree: add
+	  option to fine-tune rtree creation
+
+2012-11-10 23:35  mmetz
+
+	* lib/vector/Vlib/merge_lines.c: Vlib: clean up code
+
+2012-11-10 21:03  mmetz
+
+	* lib/vector/Vlib/remove_duplicates.c: Vlib: speed up
+	  Vect_remove_duplicates()
+
+2012-11-10 06:48  mmetz
+
+	* vector/v.buffer/main.c: v.buffer: fix cats parsing
+
+2012-11-10 06:48  mmetz
+
+	* vector/v.hull/read.c: v.hull: fix cats parsing
+
+2012-11-09 22:30  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.py: g.gui.gmodeler: typo in
+	  model file extension
+
+2012-11-09 21:44  mmetz
+
+	* vector/v.distance/main.c: v.distance: fix to_column bug
+
+2012-11-09 21:19  mmetz
+
+	* vector/v.buffer/main.c: v.buffer: add cats and where selection
+	  options
+
+2012-11-09 21:18  mmetz
+
+	* vector/v.hull/Makefile, vector/v.hull/hull.h,
+	  vector/v.hull/main.c, vector/v.hull/read.c: v.hull: remove -a
+	  flag, add -r flag and cats and where options
+
+2012-11-09 18:49  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI menu cosmetics
+
+2012-11-09 15:21  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl,
+	  mswindows/GRASS-Packager.bat.tmpl, mswindows/osgeo4w/package.sh:
+	  update wingrass files: no TCL/TK dependency
+
+2012-11-09 15:08  martinl
+
+	* display/d.what.vect/Makefile, include/Make/Grass.make: FORM
+	  library removed: fix remaining artefacts
+
+2012-11-09 15:04  martinl
+
+	* db/drivers/mysql/Makefile, display/d.what.vect/Makefile,
+	  doc/debugging.txt, gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  include/config.h.in, mswindows/osgeo4w/config.h.vc,
+	  raster3d/r3.in.v5d/vis5d.h, raster3d/r3.out.v5d/vis5d.h: remove
+	  rest of TCL/TK artefacts
+
+2012-11-09 14:52  martinl
+
+	* configure, configure.in, include/Make/Platform.make.in: remove
+	  tcl/tk switch from configure (no TCL/TK dependency in G7)
+
+2012-11-09 14:46  martinl
+
+	* lib/Makefile, lib/gtcltk: remove gtcltk library (no TCL/TK
+	  dependency in G7)
+
+2012-11-09 14:43  martinl
+
+	* lib/external/Makefile, lib/external/bwidget: remove bwidget
+	  library (no TCL/TK dependency in G7)
+
+2012-11-09 14:38  martinl
+
+	* lib/Makefile, lib/form: remove form library (no tcl/tk dependency
+	  in G7)
+
+2012-11-09 14:32  martinl
+
+	* gui/wxpython/xml/menudata.xml: update wxGUI menu - nviz has been
+	  removed
+
+2012-11-09 14:29  martinl
+
+	* visualization/Makefile, visualization/nviz: remove nviz (part 1)
+
+2012-11-09 14:12  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: wxGUI/modeler: fix svn
+	  models url
+
+2012-11-09 14:07  martinl
+
+	* gui/wxpython/gmodeler/g.gui.gmodeler.html: wxGUI/Modeler: fix
+	  wiki url
+
+2012-11-09 14:06  martinl
+
+	* gui/wxpython/gmodeler/g.gui.mapswipe.html: remove accidentally
+	  commited file
+
+2012-11-09 13:45  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI_modeler.jpg,
+	  gui/wxpython/gmodeler/Makefile, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.html,
+	  gui/wxpython/gmodeler/g.gui.gmodeler.py,
+	  gui/wxpython/gmodeler/g.gui.mapswipe.html,
+	  gui/wxpython/gmodeler/gmodeler_frame.jpg: implement
+	  g.gui.gmodeler
+
+2012-11-09 13:21  martinl
+
+	* lib/init/grass.py: grass.py: don't report errors when launching
+	  manpath
+
+2012-11-09 11:28  glynn
+
+	* include/defs/stats.h, lib/stats/c_reg.c, raster/r.series/main.c,
+	  raster/r.series/r.series.html: Add t-value for linear regression
+
+2012-11-08 23:35  neteler
+
+	* lib/cdhc/Makefile, lib/cdhc/test.c: tests updated from v.normal
+	  code
+
+2012-11-08 17:27  mmetz
+
+	* lib/vector/Vlib/net.c: Vlib: fix index to array
+
+2012-11-08 14:37  martinl
+
+	* gui/wxpython/docs/wxGUI.MapSwipe.html,
+	  gui/wxpython/docs/wxGUI_map_swipe.jpg,
+	  gui/wxpython/mapswipe/Makefile,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.html,
+	  gui/wxpython/mapswipe/mapswipe_tsunami.jpg: generate separate
+	  manual pages for g.gui.mapswipe script and wxGUI component
+	  TODO: Makefile should be generalized
+
+2012-11-08 13:38  martinl
+
+	* gui/wxpython/Makefile: wxGUI: run makefile also from mapswipe dir
+
+2012-11-08 13:35  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapswipe, gui/wxpython/mapswipe/Makefile,
+	  gui/wxpython/mapswipe/dialogs.py, gui/wxpython/mapswipe/frame.py,
+	  gui/wxpython/mapswipe/g.gui.mapswipe.py,
+	  gui/wxpython/mapswipe/main.py, gui/wxpython/swipe,
+	  gui/wxpython/wxpythonlib.dox: wxGUI: rename swipe to mapswipe
+
+2012-11-08 13:27  martinl
+
+	* gui/wxpython/swipe/Makefile,
+	  gui/wxpython/swipe/g.gui.mapswipe.py, gui/wxpython/swipe/main.py:
+	  wxGUI/MapSwipe: add Makefile for g.gui.mapswipe (part 1)
+
+2012-11-08 13:00  martinl
+
+	* doc/gui/wxpython/example/frame.py: fix wxGUI example
+
+2012-11-07 22:10  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2012-11-07 21:24  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2012-11-07 09:33  martinl
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: layout
+	  cosmetics
+	  (merge r53717 & r53718 from devbr6)
+
+2012-11-07 00:04  glynn
+
+	* lib/python/core.py: Fix infinite recursion
+
+2012-11-06 17:46  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI/modeler: recenter also loops
+	  (merge r53714 from devbr6)
+
+2012-11-06 16:30  martinl
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnect.all: count vector maps (sync with v.build.all)
+
+2012-11-06 16:29  martinl
+
+	* scripts/v.build.all/v.build.all.py: v.build.all: message
+	  cosmetics
+
+2012-11-06 15:27  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/legend: enable 'resize'
+	  button when map is defined
+	  (merge r53707 from relbr64)
+
+2012-11-06 15:26  martinl
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py,
+	  gui/wxpython/wxplot/profile.py: wxGUI/profiler: fix CVS export
+	  (merge r53696 & r53706 from relbr64)
+
+2012-11-06 13:56  mmetz
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c:
+	  v.overlay add TODOs
+
+2012-11-06 13:34  mmetz
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/main.c: v.overlay speed-up
+
+2012-11-06 13:32  mmetz
+
+	* lib/vector/Vlib/merge_lines.c: Vlib: improve Vect_merge_lines()
+
+2012-11-06 13:32  mmetz
+
+	* lib/vector/Vlib/remove_duplicates.c: Vlib: improve
+	  Vect_remove_duplicates()
+
+2012-11-06 13:16  neteler
+
+	* lib/cdhc/test_numbers.csv: left skewed distribution as test case
+
+2012-11-06 13:02  neteler
+
+	* lib/cdhc/Makefile, lib/cdhc/c-drive.c.txt, lib/cdhc/test.c,
+	  lib/cdhc/test_numbers.csv: activated automated test
+
+2012-11-06 00:23  huhabla
+
+	* raster/r.series/main.c: Fixed description
+
+2012-11-05 13:40  mmetz
+
+	* vector/v.overlay/area_area.c: v.overlay: area-area needs more
+	  cleaning
+
+2012-11-05 13:07  martinl
+
+	* lib/vector/Vlib/copy.c: vlib: add missing #ifdef
+	  (--without-postgres)
+
+2012-11-05 12:45  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: Vect_break_lines_list()
+	  speed-up
+
+2012-11-05 12:43  mmetz
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/local.h, vector/v.overlay/main.c: v.overlay
+	  speed-up
+
+2012-11-05 09:34  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_pg.c, lib/vector/Vlib/build_sfa.c,
+	  lib/vector/Vlib/close_pg.c, lib/vector/Vlib/copy.c,
+	  lib/vector/Vlib/e_intersect.c, lib/vector/Vlib/local_proto.h,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/pg_local_proto.h,
+	  lib/vector/Vlib/read_pg.c, lib/vector/Vlib/rewind_pg.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_pg.c: PG topo support major update
+	  V2__write_line_pg() and V2__write_node_pg() implemented
+	  internal subroutines renamed (use Vect__ prefix)
+	  move some internal subroutines to local_proto.h
+
+2012-11-04 21:34  mlennert
+
+	* vector/v.net/v.net.html: Added explanation for new -s flag.
+
+2012-11-04 16:24  neteler
+
+	* general/g.version/Makefile: fix for proj/gdal
+
+2012-11-04 15:21  neteler
+
+	* vector/v.extract/v.extract.html: doc update; fix for trac #1772
+
+2012-11-04 15:05  neteler
+
+	* binaryInstall.src, config.guess, config.sub,
+	  db/drivers/mysql/dbe.c, db/drivers/mysql/replace.c,
+	  gui/icons/grass_dialog.ico, gui/icons/grass_map.ico,
+	  gui/icons/grass_sql.ico, gui/scripts/d.rast3d.py,
+	  gui/wxpython/docs/wxGUI_map_swipe.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_light.jpg,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/swipe/main.py,
+	  gui/wxpython/xml/menudata.xml,
+	  gui/wxpython/xml/menudata_modeler.xml,
+	  imagery/i.atcorr/test_suite/README.txt, include/defs/ogsf.h,
+	  include/defs/rbtree.h, include/defs/vector.h, include/rbtree.h,
+	  include/temporal.h, install-sh,
+	  lib/db/dbmi_base/test/test.dbmi_base.lib.html,
+	  lib/db/dbmi_base/test/test_columns.c,
+	  lib/db/dbmi_base/test/test_dbmi_base_lib.h,
+	  lib/db/dbmi_base/test/test_main.c,
+	  lib/db/dbmi_base/test/test_table.c,
+	  lib/external/bwidget/LGPL-2.1.txt, lib/external/ccmath/atou1.c,
+	  lib/external/ccmath/atovm.c, lib/external/ccmath/ccmath.h,
+	  lib/external/ccmath/chouse.c, lib/external/ccmath/chousv.c,
+	  lib/external/ccmath/cmattr.c, lib/external/ccmath/cmcpy.c,
+	  lib/external/ccmath/cminv.c, lib/external/ccmath/cmmul.c,
+	  lib/external/ccmath/cmmult.c, lib/external/ccmath/cmprt.c,
+	  lib/external/ccmath/csolv.c, lib/external/ccmath/cvmul.c,
+	  lib/external/ccmath/eigen.c, lib/external/ccmath/eigval.c,
+	  lib/external/ccmath/evmax.c, lib/external/ccmath/hconj.c,
+	  lib/external/ccmath/heigval.c, lib/external/ccmath/heigvec.c,
+	  lib/external/ccmath/hevmax.c, lib/external/ccmath/hmgen.c,
+	  lib/external/ccmath/house.c, lib/external/ccmath/housev.c,
+	  lib/external/ccmath/ldumat.c, lib/external/ccmath/ldvmat.c,
+	  lib/external/ccmath/matprt.c, lib/external/ccmath/mattr.c,
+	  lib/external/ccmath/mcopy.c, lib/external/ccmath/minv.c,
+	  lib/external/ccmath/mmul.c, lib/external/ccmath/ortho.c,
+	  lib/external/ccmath/otrma.c, lib/external/ccmath/otrsm.c,
+	  lib/external/ccmath/psinv.c, lib/external/ccmath/qrbdi.c,
+	  lib/external/ccmath/qrbdu1.c, lib/external/ccmath/qrbdv.c,
+	  lib/external/ccmath/qrecvc.c, lib/external/ccmath/qreval.c,
+	  lib/external/ccmath/qrevec.c, lib/external/ccmath/rmmult.c,
+	  lib/external/ccmath/ruinv.c, lib/external/ccmath/smgen.c,
+	  lib/external/ccmath/solv.c, lib/external/ccmath/solvps.c,
+	  lib/external/ccmath/solvru.c, lib/external/ccmath/solvtd.c,
+	  lib/external/ccmath/sv2u1v.c, lib/external/ccmath/sv2uv.c,
+	  lib/external/ccmath/sv2val.c, lib/external/ccmath/svdu1v.c,
+	  lib/external/ccmath/svduv.c, lib/external/ccmath/svdval.c,
+	  lib/external/ccmath/trncm.c, lib/external/ccmath/trnm.c,
+	  lib/external/ccmath/unfl.c, lib/external/ccmath/unitary.c,
+	  lib/external/ccmath/utrncm.c, lib/external/ccmath/utrnhm.c,
+	  lib/external/ccmath/vmul.c, lib/external/shapelib/safileio.c,
+	  lib/gis/ilist.c, lib/gis/parser_rest.c,
+	  lib/gmath/test/bench_blas2.c, lib/gmath/test/bench_blas3.c,
+	  lib/gmath/test/bench_solver_direct.c,
+	  lib/gmath/test/bench_solver_krylov.c,
+	  lib/gmath/test/test.gmath.lib.html, lib/gmath/test/test_blas1.c,
+	  lib/gmath/test/test_blas2.c, lib/gmath/test/test_blas3.c,
+	  lib/gmath/test/test_ccmath_wrapper.c,
+	  lib/gmath/test/test_gmath_lib.h, lib/gmath/test/test_main.c,
+	  lib/gmath/test/test_matrix_conversion.c,
+	  lib/gmath/test/test_solvers.c, lib/gmath/test/test_tools.c,
+	  lib/gmath/test/test_tools_les.c,
+	  lib/raster3d/test/test.g3d.lib.html,
+	  lib/raster3d/test/test_coordinate_transform.c,
+	  lib/raster3d/test/test_g3d_lib.h, lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value.c,
+	  lib/raster3d/test/test_put_get_value_large_file.c,
+	  lib/raster3d/test/test_tools.c, lib/vector/Vlib/rtree_search.c,
+	  lib/vector/rtree/split.c, lib/vector/rtree/split.h,
+	  locale/grass_po_stats.py, macosx/app/grass.sh.in,
+	  macosx/app/python_wrapper, man/sphinx/conf.py,
+	  mswindows/Installer-Files/InstallHeaderImage.bmp,
+	  mswindows/Installer-Files/UnInstallHeaderImage.bmp,
+	  mswindows/Installer-Files/UnWelcomeFinishPage.bmp,
+	  mswindows/Installer-Files/WelcomeFinishPage.bmp,
+	  mswindows/README.html, mswindows/grass.ico,
+	  mswindows/osgeo4w/gdal-config, mswindows/osgeo4w/geos-config,
+	  mswindows/osgeo4w/liblas-config, mswindows/osgeo4w/mklibs.sh,
+	  mswindows/osgeo4w/package.sh,
+	  raster/r.colors/tests/test.r.colors.multiple.sh,
+	  raster/r.colors/tests/test.r.colors.sh,
+	  raster/r.cost/test_suite/profile.sh, raster/r.mapcalc/xnmax.c,
+	  raster/r.mapcalc/xnmedian.c, raster/r.mapcalc/xnmin.c,
+	  raster/r.mapcalc/xnmode.c,
+	  raster/r.series.interp/test_suite/infile_2.txt,
+	  raster/r.series.interp/test_suite/outfile_1.txt,
+	  raster/r.series.interp/test_suite/outfile_2.txt,
+	  raster/r.series.interp/test_suite/outfile_corrupt.txt,
+	  raster/r.series.interp/test_suite/test.r.series.interp.sh,
+	  raster/r.series/test_suite/test.r.series.sh,
+	  raster/r.stats/test_suite/profile.sh,
+	  raster/r.timestamp/test_suite/test.r.timestamp.sh,
+	  raster/r.watershed/ram/do_flatarea.c,
+	  raster/r.watershed/seg/flag.h,
+	  raster/simwe/simlib/observation_points.c,
+	  raster/simwe/simlib/utils.c, rpm/mandriva/README.txt,
+	  scripts/r.unpack/test_suite/test.r.unpack.sh,
+	  scripts/v.unpack/test_suite/test.v.unpack.sh,
+	  temporal/t.rast.colors/t.rast.colors.html,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.colors/test.t.rast.colors.sh,
+	  temporal/t.rename/t.rename.html, temporal/t.rename/t.rename.py,
+	  temporal/t.rename/test.t.rename.sh, tools/g.echo.c,
+	  tools/g.html2man/g.html2man.py, tools/g.html2man/groff.py,
+	  tools/g.html2man/html.py, tools/g.html2man/rest.py,
+	  tools/mkhtml.py, tools/mkrest.py: svn propset
+
+2012-11-04 14:54  neteler
+
+	* lib/gis/gisinit.c: fwd-port of improved error msg
+
+2012-11-03 16:53  glynn
+
+	* raster/r.proj/bordwalk.c, raster/r.proj/main.c,
+	  raster/r.proj/r.proj.h: Refactor bordwalk.c
+	  Improve accuracy of -p/-g output
+
+2012-11-03 16:50  glynn
+
+	* include/defs/gprojects.h, lib/proj/convert.c, lib/proj/datum.c,
+	  lib/proj/do_proj.c, lib/proj/ellipse.c, lib/proj/get_proj.c: Add
+	  "const" to function parameters where appropriate
+
+2012-11-03 14:48  glynn
+
+	* scripts/Makefile: Enable d.rgb
+
+2012-11-03 14:48  glynn
+
+	* lib/python/core.py: Fix handling of debug_level (don't execute
+	  programs from top-level code)
+
+2012-11-03 11:30  martinl
+
+	* gui/wxpython/lmgr/frame.py, lib/python/core.py: pythonlib:
+	  version() prints also info about additional libraries
+	  update wxGUI's OnSystemInfo()
+
+2012-11-03 11:24  martinl
+
+	* general/g.version/g.version.html, general/g.version/main.c:
+	  g.version: new flag for printing libraries info (GDAL, PROJ and
+	  GEOS)
+	  manual updated
+
+2012-11-02 20:21  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix
+	  update_manual_page for multiple modules (eg. r.modis)
+
+2012-11-02 13:28  mmetz
+
+	* vector/v.net/args.c, vector/v.net/connect.c, vector/v.net/main.c,
+	  vector/v.net/proto.h: v.net: new flag to snap points to network
+
+2012-11-02 13:02  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI/prompt: hide auto-complete
+	  when closing dialog
+
+2012-11-02 12:46  huhabla
+
+	* temporal/t.rast.list/test.t.rast.list.sh: Test adjustment to new
+	  feature
+
+2012-11-02 12:44  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py: Added
+	  handling of time instances and mixed time to sample by
+	  granularity.
+
+2012-11-02 11:55  martinl
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/menu.py:
+	  wxGUI: fix OnSearchModule (SearchModuleWindow)
+
+2012-11-02 11:29  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI Modeler: better positioning
+	  new actions
+
+2012-11-02 10:49  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI Modeler: select object on
+	  right click
+
+2012-11-02 09:48  martinl
+
+	* imagery/Makefile: ychemin: module name from upper case to lower
+	  case
+
+2012-11-02 04:11  ychemin
+
+	* imagery/i.eb.h_SEBAL01, imagery/i.eb.h_sebal01: changed module
+	  name to lower case
+
+2012-11-02 01:05  huhabla
+
+	* temporal/Makefile: Added new modules to Makefile
+
+2012-11-02 00:56  huhabla
+
+	* temporal/t.rast.colors/t.rast.colors.html,
+	  temporal/t.rast.colors/t.rast.colors.py, temporal/t.rename,
+	  temporal/t.rename/Makefile, temporal/t.rename/t.rename.html,
+	  temporal/t.rename/t.rename.py,
+	  temporal/t.rename/test.t.rename.sh: New renaming module
+
+2012-11-02 00:54  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Implemented
+	  renaming of existing space time datasets
+
+2012-11-01 18:29  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.rast.colors,
+	  temporal/t.rast.colors/Makefile,
+	  temporal/t.rast.colors/t.rast.colors.html,
+	  temporal/t.rast.colors/t.rast.colors.py,
+	  temporal/t.rast.colors/test.t.rast.colors.sh,
+	  temporal/t.register/t.register.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: New module to
+	  apply color tables to space time raster datasets.
+	  Small bugfixes.
+
+2012-11-01 18:21  huhabla
+
+	* raster/r.colors/edit_colors.c, raster/r.colors/local_proto.h,
+	  raster/r.colors/r.colors.html, raster/r.colors/stats.c,
+	  raster/r.colors/tests/test.r.colors.multiple.sh,
+	  raster/r.colors/tests/test.r.colors.sh,
+	  raster/r.colors/tests/test_elev_double_maps_difference_1.ref,
+	  raster/r.colors/tests/test_elev_double_maps_difference_hist.ref,
+	  raster/r.colors/tests/test_elev_double_maps_difference_invert.ref,
+	  raster/r.colors/tests/test_elev_double_maps_difference_logabsscale.ref,
+	  raster/r.colors/tests/test_elev_double_maps_difference_logscale.ref,
+	  raster/r.colors/tests/test_elev_int_maps_difference_1.ref,
+	  raster/r.colors/tests/test_elev_int_maps_difference_hist.ref,
+	  raster/r.colors/tests/test_elev_int_maps_difference_invert.ref,
+	  raster/r.colors/tests/test_elev_int_maps_difference_logabsscale.ref,
+	  raster/r.colors/tests/test_elev_int_maps_difference_logscale.ref,
+	  raster/r.colors/tests/test_elev_int_maps_grey_eq.ref,
+	  raster/r.colors/tests/test_elev_int_maps_grey_log.ref,
+	  raster/r.colors/tests/test_elev_int_maps_random.ref: Added color
+	  table creation support for multiple maps
+
+2012-11-01 18:07  mmetz
+
+	* vector/v.net.centrality/main.c: v.net.centrality: fix for #1779
+
+2012-11-01 17:23  mmetz
+
+	* display/d.vect/area.c: d.vect: fix r53626
+
+2012-10-31 21:24  mmetz
+
+	* vector/v.net.alloc/main.c, vector/v.net.allpairs/main.c,
+	  vector/v.net.bridge/main.c, vector/v.net.centrality/main.c,
+	  vector/v.net.components/main.c, vector/v.net.connectivity/main.c,
+	  vector/v.net.distance/main.c, vector/v.net.flow/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.path/main.c,
+	  vector/v.net.salesman/main.c, vector/v.net.spanningtree/main.c,
+	  vector/v.net.steiner/main.c, vector/v.net.timetable/main.c:
+	  v.net*: option->description -> option->label
+
+2012-10-31 21:01  mmetz
+
+	* include/defs/vector.h, lib/vector/Vlib/bridges.c,
+	  vector/v.clean/main.c, vector/v.in.ogr/geom.c,
+	  vector/v.in.ogr/main.c: vector cleaning: adjustment for
+	  pathological cases
+
+2012-10-31 20:02  mmetz
+
+	* lib/vector/Vlib/remove_duplicates.c: Vlib: fix for
+	  Vect_remove_duplicates()
+
+2012-10-31 19:55  mmetz
+
+	* lib/vector/Vlib/merge_lines.c: Vlib: release memory in
+	  Vect_merge_lines()
+
+2012-10-31 19:50  mmetz
+
+	* display/d.vect/area.c: d.vect: skip isles asap
+
+2012-10-31 19:36  mmetz
+
+	* vector/v.kernel/main.c: v.kernel: use topology to get line type
+
+2012-10-31 19:34  mmetz
+
+	* scripts/r.blend/r.blend.py: r.blend: fix NULL handling
+
+2012-10-31 17:27  martinl
+
+	* lib/init/grass.py: wxGUI: report only second attempt to set
+	  locales
+
+2012-10-31 17:16  martinl
+
+	* lib/init/grass.py: grass.py: fix set_language (if LANG is
+	  defined)
+
+2012-10-30 11:18  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl,
+	  mswindows/GRASS-Packager.bat.tmpl, mswindows/Makefile: wingrass:
+	  define osgeo4w dir postfix
+
+2012-10-30 09:43  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix expanding in map
+	  selection widget
+
+2012-10-29 17:52  martinl
+
+	* scripts/db.droptable/db.droptable.html,
+	  scripts/db.droptable/db.droptable.py: db.droptable:
+	  driver/database options added (required by v.db.reconnect.all)
+
+2012-10-29 17:33  martinl
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.html,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py:
+	  v.db.reconnect.all: major update
+	  flag for creating tables in target database if not exist
+
+2012-10-29 15:22  martinl
+
+	* db/drivers/sqlite/listdb.c: SQLite DB driver: list_databases() -
+	  report full path to the databases
+
+2012-10-29 14:59  martinl
+
+	* db/db.createdb/db.createdb.html, db/db.createdb/main.c,
+	  db/db.dropdb/db.dropdb.html, db/db.dropdb/main.c:
+	  db.createdb/db.dropdb: major update
+	  now modules are functional for SQLite/PostgreSQL driver
+
+2012-10-29 14:57  martinl
+
+	* db/drivers/postgres/db.c: PostgreSQL DB driver:
+	  create/delete_database() implemented
+
+2012-10-29 14:56  martinl
+
+	* db/drivers/sqlite/db.c: SQLite DB driver: implement
+	  delete_database()
+
+2012-10-28 19:01  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: list PG databases, try
+	  `db.databases` first
+
+2012-10-28 18:24  martinl
+
+	* db/drivers/sqlite/listdb.c: SQLite DB driver: list_databases() -
+	  check full path to the DB file
+
+2012-10-28 18:16  martinl
+
+	* db/db.tables/main.c: db.tables: msg cosmetics
+
+2012-10-28 18:09  martinl
+
+	* db/db.databases/db.databases.html, db/db.databases/main.c:
+	  db.databases: module now working for SQLite and PostgreSQL driver
+	  manual extended
+
+2012-10-28 18:05  martinl
+
+	* db/drivers/README, db/drivers/postgres/listdb.c,
+	  db/drivers/sqlite/db.c, db/drivers/sqlite/listdb.c: DB drivers:
+	  SQLite - create_database() and list_databases() implemented
+	  PostgreSQL - list_databases() enabled
+
+2012-10-28 17:49  martinl
+
+	* general/g.rename/main.c, vector/v.proj/main.c: replace
+	  G__location_path() by G_location_path()
+
+2012-10-28 17:48  martinl
+
+	* include/defs/gis.h, lib/gis/file_name.c,
+	  lib/gis/gis_local_proto.h, lib/gis/location.c, lib/gis/mapset.c:
+	  libgis: add G_mapset_path()
+	  remove subroutines used only by gis library from gis.h
+	  add gis_local_proto.h
+	  improve dox documentation for location.c and mapset.c
+
+2012-10-28 10:20  neteler
+
+	* imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/main.c: Jorge Tizado: better management of
+	  metadata file
+
+2012-10-28 09:52  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: define osgeo4w dir
+	  postfix (use separate dirs for building
+	  G6 a G7)
+
+2012-10-28 09:31  neteler
+
+	* imagery/i.landsat.toar/landsat_set.c: msg cosmetics
+
+2012-10-27 09:49  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: fix font settings for
+	  command output
+
+2012-10-27 07:55  martinl
+
+	* mswindows/osgeo4w/package.sh: package.sh: use only defined
+	  variables
+
+2012-10-27 06:59  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Use dictionary method:
+	  get, istead of if condition
+
+2012-10-27 05:53  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Add stdout and stderr as
+	  optional in the Module class
+
+2012-10-26 14:59  martinl
+
+	* gui/wxpython/Makefile: change menustrings.py rule (based on
+	  Glynn's notes)
+
+2012-10-26 14:50  martinl
+
+	* gui/wxpython/core/debug.py: revert r53557
+
+2012-10-26 10:19  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: enlarge (500->525) Layer Manager Window (buttons in
+	  Command Console)
+
+2012-10-26 09:50  martinl
+
+	* gui/wxpython/core/debug.py: attempt to fix compilation issue
+	  (menustrings.py)
+	  (merge r53555 from relbr64)
+
+2012-10-25 15:21  mmetz
+
+	* vector/v.transform/trans_digit.c: v.transform: fix memory issues
+
+2012-10-25 14:41  zarch
+
+	* lib/python/pygrass/modules/__init__.py: Change value type check
+	  and add __str__ method to the Module class
+
+2012-10-25 10:01  martinl
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/menu.py:
+	  wxGUI: improve search module widget (Ctrl+Enter to run selected
+	  command)
+
+2012-10-24 17:10  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI: fix when GDAL support is missing
+
+2012-10-24 07:28  neteler
+
+	* vector/v.univar/main.c: mlennert: added missing sum output
+
+2012-10-23 18:31  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/ghelp.py:
+	  bugfix #1769 + variables in CamelCase
+
+2012-10-23 18:11  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI cosmetics: rename internal
+	  variable (CamelCase)
+
+2012-10-23 07:11  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py: wxGUI: fixed #1766
+
+2012-10-22 21:41  lucadelu
+
+	* man/Makefile: fix topics html pages
+
+2012-10-22 20:51  lucadelu
+
+	* man/Makefile, man/build_topics.py: re-add creation of topics html
+	  pages
+
+2012-10-22 12:25  martinl
+
+	* lib/gis/parser_script.c: libgis: specify python interpret for
+	  --script output (GRASS currently
+	  supports only Python scripts)
+
+2012-10-22 08:24  annakrat
+
+	* gui/wxpython/gui_core/forms.py, temporal/t.info/t.info.py,
+	  temporal/t.register/t.register.py, temporal/t.remove/t.remove.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py: wxGUI: improve gui forms
+	  for t. modules - change element of selection widget dynamically +
+	  related changes in t. modules headers
+
+2012-10-22 07:19  neteler
+
+	* lib/init/grass.py: added missing \n
+
+2012-10-21 18:12  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: move tgis.init() to be
+	  called only for GUI forms with t-elements gselect
+
+2012-10-21 06:39  neteler
+
+	* lib/temporal/lib/default_name.c: fix debug level
+
+2012-10-20 20:29  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: GMConsole's `frame`
+	  argument should be optional
+
+2012-10-20 11:32  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/core/globalvar.py: wxGUI:
+	  define BIN/SCT_EXT
+
+2012-10-19 22:07  huhabla
+
+	* lib/python/temporal/core.py: Check for sqlite3 Python module
+	  added.
+
+2012-10-19 16:00  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI/form: respect `key_desc` for map selector
+
+2012-10-19 15:02  martinl
+
+	* gui/wxpython/core/globalvar.py,
+	  gui/wxpython/modules/extensions.py: wxGUI: remove addon also from
+	  prompt
+
+2012-10-19 14:48  martinl
+
+	* lib/init/grass.py: init: better check for invalid lang settings
+
+2012-10-19 14:25  martinl
+
+	* lib/init/grass.py: init: set language before set_data()
+
+2012-10-19 13:48  martinl
+
+	* lib/init/grass.py: eliminate gisenv LANG
+
+2012-10-19 12:37  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gui_core/preferences.py:
+	  wxGUI: StoreEnvVariable() - variable mismatch
+	  write also skipped lines
+
+2012-10-19 12:11  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/modules/extensions.py,
+	  lib/init/grass.py: eliminate gis env ADDON_PATH, see #1696
+
+2012-10-19 10:55  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: OnSystemInfo - fix OSGeo4W
+	  logic
+	  (merge r53486 from trunk)
+
+2012-10-19 01:26  huhabla
+
+	* gui/wxpython/gui_core/gselect.py, include/Make/Grass.make,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/stds_import.py,
+	  temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py, temporal/t.remove/t.remove.py,
+	  temporal/t.sample/t.sample.py, temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: Modified
+	  initialization procedure of the temporal Python library
+	  and removed unnecessary module calls while importing the
+	  database backend modules.
+
+2012-10-18 18:24  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/lmgr/toolbars.py: wxGUI: move WMS import to
+	  'import/link' pop-up menu
+
+2012-10-18 17:08  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: don't fail when
+	  desc or keyw is not defined
+
+2012-10-18 16:09  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: allow
+	  verbose output
+
+2012-10-18 15:02  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/modules/extensions.py: wxGUI: update prompt when new
+	  addon is installed
+
+2012-10-18 11:46  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: OnSystemInfo - print also info
+	  about OSGeo4W
+
+2012-10-18 11:35  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: don't fail on invalid GISRC file
+	  (unable to parse line)
+	  (merge r53461 from devbr6)
+
+2012-10-18 11:26  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: improve OnSystemInfo(), Proj4
+	  added
+
+2012-10-18 06:50  mmetz
+
+	* vector/v.distance/main.c, vector/v.distance/v.distance.html:
+	  v.distance: manual update, bug fix
+
+2012-10-17 19:26  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: Select - mapset is not
+	  selectable (don't dismiss)
+
+2012-10-17 19:06  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: GetMenuCmd - initialize cmd
+	  variable
+
+2012-10-17 19:02  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix search module (OnRun)
+
+2012-10-17 18:49  martinl
+
+	* raster/r.univar/r.univar_main.c: r.univar: more guisections
+	  fix compiler warnings
+
+2012-10-17 17:00  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: experimental Animation tool
+	  added to the menu
+
+2012-10-17 13:16  annakrat
+
+	* raster/r.out.ppm/main.c: r.out.ppm: added flag to suppress
+	  printing header of ppm file - needed by animation tool for
+	  loading raw image data
+
+2012-10-17 11:24  huhabla
+
+	* REQUIREMENTS.html: Removed python dateutil dependency.
+
+2012-10-17 11:00  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets.py: Removed dateutil
+	  dependency. Now only a subset of ISO formatted time strings are
+	  supported for parsing in the temporal GIS framework.
+
+2012-10-16 18:52  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2012-10-16 15:03  huhabla
+
+	* temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.info/t.info.py, temporal/t.info/test.t.info.sh,
+	  temporal/t.list/t.list.py: Added more documentation and corrected
+	  tests
+
+2012-10-16 13:38  wenzeslaus
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: add mutiple map dialog
+	  tooltip
+
+2012-10-16 09:36  annakrat
+
+	* gui/wxpython/swipe/frame.py, gui/wxpython/swipe/toolbars.py:
+	  wxGUI/mapswipe: export display to graphic file added
+
+2012-10-16 07:48  mmetz
+
+	* vector/v.distance/distance.c, vector/v.distance/main.c,
+	  vector/v.distance/v.distance.html: v.distance update for areas to
+	  areas
+
+2012-10-15 22:41  huhabla
+
+	* temporal/t.create/t.create.html: Added more documentation to
+	  t.create
+
+2012-10-15 18:02  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: system info cosmetics
+
+2012-10-15 18:01  martinl
+
+	* gui/wxpython/core/workspace.py: wxGUI: variable clean up
+
+2012-10-15 16:06  neteler
+
+	* vector/v.net/v.net.html: HTML cosmetics
+
+2012-10-15 16:00  neteler
+
+	* vector/v.net/v.net.html: list all v.net.* modules
+
+2012-10-15 14:14  mmetz
+
+	* vector/v.distance/distance.c, vector/v.distance/main.c:
+	  v.distance update
+
+2012-10-15 13:56  huhabla
+
+	* scripts/Makefile, scripts/v.pack, scripts/v.unpack: Moved v.pack
+	  and v.unpack from grass-addons to trunk.
+
+2012-10-15 13:26  huhabla
+
+	* lib/python/core.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/stds_import.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.list/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/test.t.vect.list.sh: Moved raise_on_error to
+	  fatal(). Modified dependent python modules.
+	  Updated tests and bugfixing of the temporal GIS framework.
+
+2012-10-15 13:19  martinl
+
+	* raster/r.out.mpeg/main.c, raster/r.out.mpeg/r.out.mpeg.html:
+	  r.out.mpeg: manual page clean up
+	  more guisections
+
+2012-10-15 06:46  neteler
+
+	* vector/v.net/v.net.html: HTML cleanup
+
+2012-10-15 01:29  cmbarton
+
+	* vector/v.net/v.net.html: v.net-enhancing ddocumentation for
+	  v.net. Make prefers <p> to come after <li> instead of before <li>
+	  for some reason
+
+2012-10-15 01:09  cmbarton
+
+	* vector/v.net/v.net.html: v.net-enhancing ddocumentation for v.net
+	  - fixing typo
+
+2012-10-15 01:07  cmbarton
+
+	* vector/v.net/v.net.html: v.net-enhancing ddocumentation for v.net
+
+2012-10-13 19:07  mmetz
+
+	* imagery/i.pca/i.pca.html, imagery/i.pca/local_proto.h,
+	  imagery/i.pca/main.c, imagery/i.pca/support.c: i.pca: change
+	  output back to DCELL for no rescaling, update manual, copy color
+	  table from input band for filtering
+
+2012-10-13 12:50  mmetz
+
+	* vector/v.distance/distance.c, vector/v.distance/local_proto.h,
+	  vector/v.distance/main.c, vector/v.distance/v.distance.html:
+	  v.distance: any feature to any feature
+
+2012-10-13 11:56  mmetz
+
+	* imagery/i.pca/i.pca.html, imagery/i.pca/main.c,
+	  imagery/i.pca/support.c: i.pca: add filtering option to remove
+	  noise
+
+2012-10-13 11:40  mmetz
+
+	* lib/vector/Vlib/overlay.c: Vlib overlay: adjust for new topology
+
+2012-10-13 11:34  mmetz
+
+	* vector/v.what/main.c, vector/v.what/what.c: v.what: init
+	  variables, add comments
+
+2012-10-13 11:06  martinl
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/dbmgr/manager.py,
+	  gui/wxpython/gcp/manager.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/modules/colorrules.py: wxGUI: internal variables
+	  clean up - use methods to access them
+
+2012-10-13 11:01  mmetz
+
+	* vector/v.what/what.c: v.what: adjust for new topology
+
+2012-10-13 11:00  mmetz
+
+	* display/d.what.vect/what.c: d.what.vect: adjust for new topology
+
+2012-10-13 09:00  mmetz
+
+	* vector/v.net.allpairs/main.c,
+	  vector/v.net.allpairs/v.net.allpairs.html: v.net.allpairs: change
+	  output
+
+2012-10-13 07:48  mmetz
+
+	* vector/v.net/main.c, vector/v.net/nodes.c, vector/v.net/report.c:
+	  v.net: fix node handling for new topology
+
+2012-10-13 07:43  mmetz
+
+	* lib/vector/Vlib/net.c: Vlib: fix node costs for new topology
+
+2012-10-12 16:23  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix r53375
+
+2012-10-12 14:41  lucadelu
+
+	* scripts/g.extension/g.extension.py: fix hardcoded url for
+	  modules.xml; clean code using spyder
+
+2012-10-11 21:00  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: OnSystem - report also GDAL
+	  version
+
+2012-10-11 20:30  martinl
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/wxpythonlib.dox: wxGUI:
+	  move MenuTree and MenuTreeWindow from gui_core.ghelp to
+	  gui_core.menu
+
+2012-10-11 20:21  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: use menustyle also for
+	  menutree
+
+2012-10-11 14:26  annakrat
+
+	* gui/wxpython/core/workspace.py: wxNviz: minor fix for saving
+	  workspace
+
+2012-10-11 12:16  mmetz
+
+	* lib/python/pygrass/vector/basic.py: pygrass remove questions
+
+2012-10-11 11:08  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/modules/extensions.py: wxGUI: define generic
+	  ListCtrl (GListCtrl)
+
+2012-10-11 10:56  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: menu for extensions
+
+2012-10-10 18:42  mmetz
+
+	* vector/v.net/v.net.html: v.net manual update
+
+2012-10-10 18:41  mmetz
+
+	* vector/v.net/main.c: v.net minor bugfix
+
+2012-10-10 17:51  mmetz
+
+	* lib/python/pygrass/vector/basic.py: pygrass questions
+
+2012-10-10 17:22  mmetz
+
+	* include/defs/rbtree.h, lib/btree2/rbtree.c: rbtreelib maintenance
+
+2012-10-10 17:20  mmetz
+
+	* include/defs/vector.h, include/vect/dig_externs.h,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/spindex.c: change
+	  boxlist_add args
+
+2012-10-10 12:59  neteler
+
+	* lib/python/Makefile, lib/python/ctypes/__init__.py,
+	  lib/python/ctypes/ctypesgen.py,
+	  lib/python/ctypes/ctypesgencore/__init__.py,
+	  lib/python/ctypes/ctypesgencore/ctypedescs.py,
+	  lib/python/ctypes/ctypesgencore/descriptions.py,
+	  lib/python/ctypes/ctypesgencore/expressions.py,
+	  lib/python/ctypes/ctypesgencore/libraryloader.py,
+	  lib/python/ctypes/ctypesgencore/messages.py,
+	  lib/python/ctypes/ctypesgencore/options.py,
+	  lib/python/ctypes/ctypesgencore/parser/__init__.py,
+	  lib/python/ctypes/ctypesgencore/parser/cdeclarations.py,
+	  lib/python/ctypes/ctypesgencore/parser/cgrammar.py,
+	  lib/python/ctypes/ctypesgencore/parser/cparser.py,
+	  lib/python/ctypes/ctypesgencore/parser/ctypesparser.py,
+	  lib/python/ctypes/ctypesgencore/parser/datacollectingparser.py,
+	  lib/python/ctypes/ctypesgencore/parser/lex.py,
+	  lib/python/ctypes/ctypesgencore/parser/lextab.py,
+	  lib/python/ctypes/ctypesgencore/parser/parsetab.py,
+	  lib/python/ctypes/ctypesgencore/parser/pplexer.py,
+	  lib/python/ctypes/ctypesgencore/parser/preprocessor.py,
+	  lib/python/ctypes/ctypesgencore/parser/yacc.py,
+	  lib/python/ctypes/ctypesgencore/printer/__init__.py,
+	  lib/python/ctypes/ctypesgencore/printer/defaultheader.py,
+	  lib/python/ctypes/ctypesgencore/printer/preamble.py,
+	  lib/python/ctypes/ctypesgencore/printer/printer.py,
+	  lib/python/ctypes/ctypesgencore/printer/test.py,
+	  lib/python/ctypes/ctypesgencore/processor/__init__.py,
+	  lib/python/ctypes/ctypesgencore/processor/dependencies.py,
+	  lib/python/ctypes/ctypesgencore/processor/operations.py,
+	  lib/python/ctypes/ctypesgencore/processor/pipeline.py,
+	  lib/python/ctypes/loader.py, lib/python/ctypes/preamble.py,
+	  lib/python/pygrass/__init__.py,
+	  lib/python/pygrass/docs/attributes.rst,
+	  lib/python/pygrass/docs/conf.py,
+	  lib/python/pygrass/docs/index.rst,
+	  lib/python/pygrass/docs/intro.rst,
+	  lib/python/pygrass/docs/modules.rst,
+	  lib/python/pygrass/docs/raster.rst,
+	  lib/python/pygrass/docs/vector.rst, lib/python/pygrass/env.py,
+	  lib/python/pygrass/errors.py,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/orderdict.py,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/buffer.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/raster/history.py,
+	  lib/python/pygrass/raster/raster_type.py,
+	  lib/python/pygrass/raster/rowio.py,
+	  lib/python/pygrass/raster/segment.py,
+	  lib/python/pygrass/region.py,
+	  lib/python/pygrass/tests/__init__.py,
+	  lib/python/pygrass/tests/benchmark.py,
+	  lib/python/pygrass/tests/set_mapset.py,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/basic.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/sql.py,
+	  lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/vector_type.py,
+	  lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/unit_tests.py,
+	  lib/python/temporal/univar_statistics.py: svn propset
+
+2012-10-10 12:24  zarch
+
+	* lib/python/Makefile, lib/python/pygrass,
+	  lib/python/pygrass/Makefile, lib/python/pygrass/__init__.py,
+	  lib/python/pygrass/docs, lib/python/pygrass/docs/Makefile,
+	  lib/python/pygrass/docs/attributes.rst,
+	  lib/python/pygrass/docs/conf.py,
+	  lib/python/pygrass/docs/index.rst,
+	  lib/python/pygrass/docs/intro.rst,
+	  lib/python/pygrass/docs/make.bat,
+	  lib/python/pygrass/docs/modules.rst,
+	  lib/python/pygrass/docs/raster.rst,
+	  lib/python/pygrass/docs/vector.rst, lib/python/pygrass/env.py,
+	  lib/python/pygrass/errors.py, lib/python/pygrass/modules,
+	  lib/python/pygrass/modules/Makefile,
+	  lib/python/pygrass/modules/__init__.py,
+	  lib/python/pygrass/orderdict.py, lib/python/pygrass/raster,
+	  lib/python/pygrass/raster/Makefile,
+	  lib/python/pygrass/raster/__init__.py,
+	  lib/python/pygrass/raster/abstract.py,
+	  lib/python/pygrass/raster/buffer.py,
+	  lib/python/pygrass/raster/category.py,
+	  lib/python/pygrass/raster/history.py,
+	  lib/python/pygrass/raster/raster_type.py,
+	  lib/python/pygrass/raster/rowio.py,
+	  lib/python/pygrass/raster/segment.py,
+	  lib/python/pygrass/region.py, lib/python/pygrass/tests,
+	  lib/python/pygrass/tests/Makefile,
+	  lib/python/pygrass/tests/__init__.py,
+	  lib/python/pygrass/tests/benchmark.py,
+	  lib/python/pygrass/tests/set_mapset.py,
+	  lib/python/pygrass/vector, lib/python/pygrass/vector/Makefile,
+	  lib/python/pygrass/vector/__init__.py,
+	  lib/python/pygrass/vector/abstract.py,
+	  lib/python/pygrass/vector/basic.py,
+	  lib/python/pygrass/vector/geometry.py,
+	  lib/python/pygrass/vector/sql.py,
+	  lib/python/pygrass/vector/table.py,
+	  lib/python/pygrass/vector/vector_type.py: Add pygrass library
+	  into grass
+
+2012-10-09 09:06  neteler
+
+	* contributors.csv: +Pietro Zambelli
+
+2012-10-08 20:00  neteler
+
+	* imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/local_proto.h,
+	  imagery/i.landsat.toar/main.c: forward port of r53209: removed
+	  sat zenit (given by NASA for all their sats in metadata);
+	  sun_elev -> solar_elev to use same terminology as MTL files;
+	  improvement reads all metadata
+
+2012-10-07 10:29  martinl
+
+	* scripts/m.proj/m.proj.html: m.proj manual clean up, url links
+	  fixed
+
+2012-10-07 10:06  martinl
+
+	* scripts/m.proj/m.proj.py, scripts/r.out.xyz/r.out.xyz.py,
+	  scripts/r.tileset/r.tileset.py, scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.in.lines/v.in.lines.py: Keys in `options` dictionary
+	  cannot be shortened. Patch provided by Stepan Turek.
+
+2012-10-06 22:14  glynn
+
+	* tools/g.html2man/Makefile: Don't set executable bits on
+	  non-script Python files
+
+2012-10-05 15:19  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fixed map selection
+	  widget key bindings
+
+2012-10-05 06:17  cmbarton
+
+	* gui/wxpython/location_wizard/wizard.py: wxgui location wizard:
+	  update location wizard to match updates to g.proj and
+	  core.create_location
+
+2012-10-05 06:08  cmbarton
+
+	* lib/python/core.py: core.create_location update to match new
+	  g.proj arguments
+
+2012-10-04 14:13  mmetz
+
+	* lib/vector/Vlib/ascii.c: Vlib: init variable
+
+2012-10-04 13:47  martinl
+
+	* lib/python/setup.py.sed: pythonlib: no need to add 'msys\bin` to
+	  PATH (see #1671)
+
+2012-10-03 17:22  pkelly
+
+	* general/g.proj/main.c: Rename datumtrans= option to datum_trans=
+	  as suggested by Glynn. Add
+	  key_desc values for epsg(=code) and datum_trans(=index) options.
+
+2012-10-03 13:18  martinl
+
+	* general/g.proj/Makefile, vector/v.net.visibility/Makefile: remove
+	  -Wall from Makefiles (it should be defined when running
+	  configure)
+
+2012-10-03 13:08  glynn
+
+	* tools/sql.sh: Minor changes to nonansi* tables
+
+2012-10-03 12:55  pkelly
+
+	* general/g.proj/Makefile, general/g.proj/datumtrans.c,
+	  general/g.proj/g.proj.html, general/g.proj/local_proto.h,
+	  general/g.proj/main.c: Always also change the ellipsoid when
+	  overriding the datum
+
+2012-10-03 12:26  glynn
+
+	* lib/raster3d/doubleio.c, lib/raster3d/intio.c: Fix r53301
+
+2012-10-03 10:13  lucadelu
+
+	* lib/python/core.py: add option to return also extension and
+	  central point from region
+
+2012-10-02 07:01  neteler
+
+	* lib/raster3d/doubleio.c, lib/raster3d/intio.c: attempt to define
+	  u_int etc for MinGW
+
+2012-10-02 06:44  annakrat
+
+	* gui/wxpython/gui_core/prompt.py: wxGUI: added error handling for
+	  #1750
+
+2012-10-01 21:37  pkelly
+
+	* general/g.proj/datumtrans.c, general/g.proj/g.proj.html,
+	  general/g.proj/local_proto.h, general/g.proj/main.c: Add new
+	  datum= option allowing the datum in the input co-ordinate
+	  system to be overridden (or added if missing). Should be used
+	  very
+	  sparingly, as it doesn't check that the correct ellipsoid is used
+	  which could potentially result in ellipsoid/datum mis-matches.
+
+2012-10-01 20:53  huhabla
+
+	* lib/raster3d/test/test_put_get_value_large_file.c: Added test of
+	  3D raster maps with different value generators.
+
+2012-10-01 14:53  neteler
+
+	* raster/r.coin/make_coin.c, raster/r.kappa/stats.c,
+	  raster/r.report/stats.c, raster/r.statistics/run_cmd.c: fs -->
+	  separator (fixes trac #1751)
+
+2012-09-30 06:40  annakrat
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: enable temporal elements
+	  in command dialogs
+
+2012-09-30 06:24  annakrat
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.vect.univar/t.vect.univar.py: temporal: fixed options
+
+2012-09-29 18:26  martinl
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: #1743 (WXGUI About GRASS
+	  dialog should allow to copy version information)
+
+2012-09-29 18:00  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI/menudata: untabify
+
+2012-09-29 09:08  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: AboutWindow - use
+	  FormListbook
+
+2012-09-29 00:31  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py: Added space
+	  time dataset listing functionality implemented by Anna
+	  Kratochvílová.
+
+2012-09-28 23:11  huhabla
+
+	* lib/python/temporal/base.py, raster/rasterintro.html,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py: Handle empty maps ids
+
+2012-09-28 12:49  neteler
+
+	* vector/v.univar/main.c: print also number of vectors
+
+2012-09-28 12:31  neteler
+
+	* vector/v.univar/main.c: print also number of vectors
+
+2012-09-28 11:57  martinl
+
+	* vector/v.out.ascii/args.c, vector/v.out.ascii/main.c,
+	  vector/v.out.ascii/v.out.ascii.html: v.out.ascii: add support for
+	  `columns=*` (see #1744)
+
+2012-09-28 11:49  martinl
+
+	* lib/vector/Vlib/ascii.c: vlib: Vect_write_ascii() - support '*'
+	  for all columns (see #1744)
+	  doxygen cosmetics
+
+2012-09-27 18:01  mmetz
+
+	* vector/v.univar/main.c: v.univar: forward port new -d flag, some
+	  fixes for -d flag (to be backported)
+
+2012-09-27 11:33  marisn
+
+	* vector/v.to.points/main.c: Don't write original line cat, if user
+	  requested to ignore CATs. Enhances r53273
+
+2012-09-27 08:19  marisn
+
+	* gui/wxpython/wxplot/base.py: Allow black in wxplot (prevents key
+	  error); Prevent list index error.
+
+2012-09-26 17:10  marisn
+
+	* vector/v.to.points/main.c, vector/v.to.points/v.to.points.html:
+	  v.to.points allow to use llayer -1 to convert features without
+	  category (i.e. boundaries)
+
+2012-09-23 20:11  huhabla
+
+	* lib/raster3d/test/test_put_get_value_large_file.c: Print wrong
+	  values in large file test.
+
+2012-09-23 00:42  huhabla
+
+	* raster3d/r3.cross.rast/test.r3.cross.rast.sh,
+	  raster3d/r3.retile/test.r3.retile.sh,
+	  raster3d/r3.retile/test_retile_map_10_info.ref,
+	  raster3d/r3.retile/test_retile_map_1_info.ref,
+	  raster3d/r3.retile/test_retile_map_2_info.ref,
+	  raster3d/r3.retile/test_retile_map_3_info.ref,
+	  raster3d/r3.retile/test_retile_map_4_info.ref,
+	  raster3d/r3.retile/test_retile_map_5_info.ref,
+	  raster3d/r3.retile/test_retile_map_6_info.ref,
+	  raster3d/r3.retile/test_retile_map_7_info.ref,
+	  raster3d/r3.retile/test_retile_map_8_info.ref,
+	  raster3d/r3.retile/test_retile_map_9_info.ref,
+	  raster3d/r3.to.rast/test.r3.to.rast.sh: Tests updated to generate
+	  text files for reference file comparison.
+
+2012-09-23 00:40  huhabla
+
+	* lib/raster3d/defaults.c, lib/raster3d/fpcompress.c,
+	  lib/raster3d/open.c, lib/raster3d/test/Makefile,
+	  lib/raster3d/test/test_g3d_lib.h, lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value_large_file.c: Disbaled the
+	  use of XDR and RLE when opening a new 3D raster map.
+	  New maps are using now the non-XDR related functions for reading
+	  and writing
+	  and the LZW compression. RLE was disabled since it is buggy with
+	  large tiles and files.
+
+2012-09-21 22:52  neteler
+
+	* general/g.mapsets/g.mapsets_picker.py,
+	  scripts/r.out.xyz/r.out.xyz.py, scripts/r3.in.xyz/r3.in.xyz.py:
+	  turek: separator fix (bug #1741)
+
+2012-09-21 15:56  annakrat
+
+	* gui/wxpython/core/settings.py, gui/wxpython/nviz/wxnviz.py:
+	  wxNviz: remove unused symbols from gui
+
+2012-09-21 15:46  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: fix bug introduced by r53243
+
+2012-09-21 10:33  glynn
+
+	* lib/form/Makefile: Clean-up
+
+2012-09-21 10:13  glynn
+
+	* include/Make/Platform.make.in: Remove unused make variables
+
+2012-09-21 10:09  glynn
+
+	* configure, configure.in, include/Make/Compile.make,
+	  include/Make/Platform.make.in, lib/form/Makefile,
+	  raster/r.le/r.le.setup/polytocell/Makefile: Remove configure
+	  checks for XDR
+	  Remove remaining references to XDRLIB
+
+2012-09-21 09:55  glynn
+
+	* include/Make/Grass.make, lib/raster3d/alloc.c,
+	  lib/raster3d/cats.c, lib/raster3d/color.c,
+	  lib/raster3d/doubleio.c, lib/raster3d/error.c,
+	  lib/raster3d/filecompare.c, lib/raster3d/fpxdr.c,
+	  lib/raster3d/header.c, lib/raster3d/intio.c, lib/raster3d/misc.c,
+	  lib/raster3d/range.c, lib/raster3d/raster3d_intern.h,
+	  lib/raster3d/tilealloc.c, lib/raster3d/tileread.c,
+	  lib/raster3d/tilewrite.c: Eliminate XDR dependency from raster3d
+	  library
+
+2012-09-20 19:31  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grasswxpy_pl.po: Milena
+	  Nowotarska: cont'ed
+
+2012-09-20 15:29  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/nviz/tools.py: wxNviz:
+	  attempt to fix crash on Windows when closing gui
+
+2012-09-20 10:28  annakrat
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/gui_core/preferences.py:
+	  wxGUI/dbmgr: disable fs option in attribute manager for Windows
+	  until better solution is found (merge from releasebranch, r53233)
+
+2012-09-20 08:27  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: add right mapset to map names
+	  in command line (merge from releasebranch, r53241)
+
+2012-09-20 07:34  glynn
+
+	* db/Makefile, display/Makefile, doc/Makefile, general/Makefile,
+	  imagery/Makefile, imagery/i.find/Makefile, include/Make/DB.make,
+	  include/Make/Dir.make, include/Make/Docs.make,
+	  include/Make/Etc.make, include/Make/Grass.make,
+	  include/Make/Lib.make, include/Make/Module.make,
+	  include/Make/Multi.make, include/Make/NoRest.make,
+	  include/Make/Other.make, include/Make/Rest.make,
+	  include/Make/Rules.make, include/Make/Script.make,
+	  lib/gtcltk/Makefile, lib/vector/Makefile, man/Makefile,
+	  misc/Makefile, ps/Makefile, raster/Makefile,
+	  raster/r.watershed/ram/Makefile, raster/r.watershed/seg/Makefile,
+	  raster3d/Makefile, scripts/Makefile, temporal/Makefile,
+	  tools/Makefile, tools/timer/Makefile, vector/Makefile: Revert
+	  r52656
+
+2012-09-20 06:48  marisn
+
+	* gui/wxpython/gui_core/ghelp.py: WXGUI: Help shouldn't fail if
+	  locale isn't set. See also r53238
+
+2012-09-20 06:40  glynn
+
+	* general/g.mkfontcap/Makefile: Cross-compiling fix
+
+2012-09-19 13:59  glynn
+
+	* include/defs/gis.h, lib/gis/xdr.c: Add XDR functions for int
+
+2012-09-19 13:09  glynn
+
+	* vector/v.kcv/kcv.h, vector/v.kcv/main.c, vector/v.kcv/utils.c:
+	  Fix RNG handling
+
+2012-09-19 12:57  glynn
+
+	* vector/v.extract/main.c: Don't include <search.h>
+
+2012-09-19 12:53  glynn
+
+	* include/Make/Multi.make: Don't try to generate documentation when
+	  cross-compiling
+
+2012-09-19 12:40  glynn
+
+	* include/Make/Grass.make: lib/manage doesn't depend upon
+	  lib/raster3d
+
+2012-09-18 22:15  neteler
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table,
+	  lib/proj/convert.c: support ITRF_1992 datum
+
+2012-09-18 21:53  neteler
+
+	* lib/gis/colors/gdd: optimize GDD colors
+
+2012-09-18 21:18  neteler
+
+	* lib/gis/ls.c: revert r53207 with better fix
+
+2012-09-18 21:03  glynn
+
+	* include/defs/gis.h, include/defs/raster.h, lib/gis/G.h,
+	  lib/gis/gisinit.c, lib/gis/xdr.c, lib/raster/R.h,
+	  lib/raster/get_row.c, lib/raster/init.c, lib/raster/put_row.c,
+	  lib/raster/range.c, lib/raster/xdr.c: Move XDR functions from
+	  lib/raster to lib/gis
+
+2012-09-18 20:39  neteler
+
+	* raster/r.surf.contour/r.surf.contour.html: new example
+
+2012-09-18 20:32  glynn
+
+	* lib/init/clean_temp.c, lib/init/lock.c: Don't attempt to declare
+	  errno
+
+2012-09-18 15:09  mmetz
+
+	* lib/proj/ellipse.c: projlib: fix r35667
+
+2012-09-18 13:50  neteler
+
+	* lib/gis/ls.c: fix includes for Android
+
+2012-09-18 13:35  glynn
+
+	* include/Make/Html.make: Cross-compilation fixes
+
+2012-09-18 13:29  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2012-09-18 13:24  glynn
+
+	* lib/vector/diglib/Makefile: Don't run test when cross-compiling
+
+2012-09-17 22:11  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2012-09-17 21:29  neteler
+
+	* scripts/Makefile: commented broken v.krige, unless ticket #1619
+	  is fixed
+
+2012-09-17 21:02  neteler
+
+	* display/d.where/d.where.html: HTML cosmetics
+
+2012-09-17 14:43  neteler
+
+	* scripts/r.grow/r.grow.html: link to r.grow.distance
+
+2012-09-17 14:37  neteler
+
+	* raster/r.category/main.c, raster/r.stats/main.c,
+	  raster/r.univar/r.univar_main.c,
+	  raster/r.univar/r3.univar_main.c, vector/v.rectify/main.c,
+	  vector/v.vect.stats/main.c: avoid useless overriding of
+	  G_OPT_F_SEP
+
+2012-09-17 08:40  martinl
+
+	* raster/r.distance/main.c, raster/r.distance/parse.c: r.distance:
+	  bugfix #1731
+
+2012-09-16 12:18  martinl
+
+	* lib/python/db.py: pythonlib: fs -> sep
+
+2012-09-16 10:56  martinl
+
+	* vector/v.out.postgis/local_proto.h, vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/options.c: v.out.postgis: parameter `schema`
+	  removed
+	  keep syntax synchronized with `v.out.ogr`
+
+2012-09-16 09:57  neteler
+
+	* vector/v.overlay, vector/v.overlay/v.overlay.html,
+	  vector/v.overlay/v_overlay_census_wake2000.png,
+	  vector/v.overlay/v_overlay_urban_census2000.png,
+	  vector/v.overlay/v_overlay_urbanarea.png: +overlay example
+
+2012-09-16 07:49  hamish
+
+	* scripts/v.in.wfs/v.in.wfs.html, scripts/v.in.wfs/v.in.wfs.py:
+	  featurify
+
+2012-09-14 05:43  hamish
+
+	* scripts/v.in.wfs/v.in.wfs.html: minor whitespace
+
+2012-09-12 13:17  neteler
+
+	* db/drivers/postgres/grass-pg.html: SQL typo fix; order cosmetics
+
+2012-09-12 12:44  neteler
+
+	* db/drivers/sqlite/fetch.c: debug cosmetics
+
+2012-09-11 16:10  martinl
+
+	* vector/v.out.ascii/args.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/main.c: v.out.ascii: fix for layer names
+
+2012-09-11 15:20  martinl
+
+	* db/drivers/postgres/grass-pg.html: PG DB driver manual page:
+	  minor cleanup
+
+2012-09-10 23:47  hamish
+
+	* raster/r.slope.aspect/local_proto.h,
+	  raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.slope.aspect/r.slope.aspect.html: prec= renamed to
+	  precision=; CELL,FCELL,DCELL instead of int,float,double for
+	  raster map type
+
+2012-09-10 23:19  hamish
+
+	* scripts/r.plane/r.plane.py: CELL,FCELL,DCELL instead of
+	  int,float,double for raster map type
+
+2012-09-10 13:59  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  temporal/t.rast.to.rast3/test.t.rast.to.rast3.sh,
+	  temporal/t.register/test.t.register.raster.file.reltime.sh,
+	  temporal/t.register/test.t.register.raster.file.sh,
+	  temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.raster3d.sh,
+	  temporal/t.register/test.t.register.vector.file.layer.sh,
+	  temporal/t.register/test.t.register.vector.sh: Implemented
+	  alternative method to access map metadata information
+	  to avoid the use of the ctypes library.
+
+2012-09-10 13:53  huhabla
+
+	* lib/raster/cats.c: Corrected function documentation
+
+2012-09-10 10:41  huhabla
+
+	* temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh: Fixed tests
+
+2012-09-10 10:40  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Fixed bug in
+	  map granularity handling in case of gaps
+
+2012-09-10 10:27  neteler
+
+	* scripts/v.krige/v.krige.py: complete list of models
+
+2012-09-10 09:23  neteler
+
+	* scripts/v.krige/v.krige.py: fix logger bug; add new variogram
+	  models
+
+2012-09-10 08:58  annakrat
+
+	* gui/wxpython/scripts/vkrige.py, scripts/v.krige/v.krige.py:
+	  vkrige: fix notebook
+
+2012-09-10 08:20  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2012-09-09 19:11  neteler
+
+	* misc/m.cogo/m.cogo.html, raster/r.category/r.category.html,
+	  raster/r.distance/r.distance.html, raster/r.in.xyz/r.in.xyz.html,
+	  raster/r.profile/r.profile.html, raster/r.what/r.what.html,
+	  scripts/i.spectral/i.spectral.html, scripts/m.proj/m.proj.html,
+	  scripts/r.out.xyz/r.out.xyz.html,
+	  scripts/r3.in.xyz/r3.in.xyz.html, scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.dissolve/v.dissolve.html,
+	  scripts/v.in.lines/v.in.lines.html,
+	  vector/v.in.ascii/v.in.ascii.html: completion of r53139 (revert
+	  fs back to sep(arator))
+
+2012-09-09 18:54  neteler
+
+	* include/la.h, include/vect/dig_defines.h, lib/python/core.py,
+	  lib/python/raster.py, lib/python/raster3d.py: doxygen errors
+	  fixed
+
+2012-09-09 16:08  mmetz
+
+	* db/db.select/main.c, vector/v.db.select/main.c: (v.)db.select:
+	  fix duplicate option lables
+
+2012-09-09 11:20  mmetz
+
+	* vector/v.to.rast/support.c: v.to.rast: respect output map type
+
+2012-09-09 11:15  mmetz
+
+	* lib/init/lock.c: init lib: don't guess error, get error
+	  description from system
+
+2012-09-09 11:01  mmetz
+
+	* gui/wxpython/core/utils.py, gui/wxpython/dbmgr/base.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/psmap/instructions.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/scatter.py,
+	  lib/gis/parser_standard_options.c, lib/python/core.py,
+	  lib/python/vector.py, scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/i.pansharpen/i.pansharpen.py, scripts/m.proj/m.proj.py,
+	  scripts/r.out.xyz/r.out.xyz.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.tileset/r.tileset.py, scripts/r3.in.xyz/r3.in.xyz.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py, scripts/v.in.lines/v.in.lines.py,
+	  scripts/v.rast.stats/v.rast.stats.py: revert fs back to
+	  sep(arator)
+
+2012-09-09 10:54  mmetz
+
+	* raster/r.buffer/read_map.c: r.buffer: fix integer overflow
+
+2012-09-09 10:43  mmetz
+
+	* lib/gpde/N_arrays.c: gpde lib: fix integer overflow
+
+2012-09-09 09:42  mmetz
+
+	* vector/v.split/main.c: v.split latlong bugfix
+
+2012-09-08 19:39  neteler
+
+	* rfc/psc_motions.dox: motions updated
+
+2012-09-08 19:34  neteler
+
+	* lib/cairodriver/Color.c, lib/cairodriver/Text.c,
+	  lib/cluster/c_distinct.c, lib/cluster/c_exec.c,
+	  lib/cluster/c_merge.c, lib/datetime/change.c,
+	  lib/datetime/incr3.c, lib/db/dbmi_base/cursor.c,
+	  lib/db/dbmi_base/dirent.c, lib/db/dbmi_base/index.c,
+	  lib/db/dbmi_client/c_desc_table.c,
+	  lib/db/dbmi_client/c_list_idx.c, lib/db/dbmi_client/c_listdb.c,
+	  lib/db/dbmi_client/copy_tab.c, lib/db/dbmi_client/delete_tab.c,
+	  lib/db/dbmi_driver/d_error.c, lib/db/dbmi_driver/d_execute.c,
+	  lib/display/cnversions.c, lib/display/draw2.c, lib/driver/init.c,
+	  lib/driver/parse_ftcap.c, lib/gis/debug.c, lib/gis/file_name.c,
+	  lib/gis/find_etc.c, lib/gis/find_file.c, lib/gis/get_window.c,
+	  lib/gis/gisinit.c, lib/gis/ilist.c, lib/gis/mapcase.c,
+	  lib/manage/list.c, lib/nviz/change_view.c,
+	  lib/nviz/cplanes_obj.c, lib/raster/cats.c,
+	  lib/raster/color_hist.c, lib/raster/color_rule.c,
+	  lib/raster/color_set.c, lib/raster/get_row.c, lib/raster/init.c,
+	  lib/raster/rasterlib.dox, lib/raster3d/defaults.c,
+	  lib/raster3d/error.c, lib/rowio/fileno.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/geos.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/portable.c, lib/vector/diglib/spindex.c,
+	  lib/vector/diglib/struct_alloc.c, lib/vector/diglib/type.c,
+	  lib/vector/neta/centrality.c, lib/vector/neta/flow.c,
+	  lib/vector/vedit/cats.c, lib/vector/vedit/distance.c: doxygen
+	  errors fixed
+
+2012-09-08 06:59  glynn
+
+	* raster/r.mapcalc/map3.c: Fix warnings
+
+2012-09-08 00:06  neteler
+
+	* locale/po/grasswxpy_pl.po: Robert Szczepanek: cont'ed
+
+2012-09-07 23:55  neteler
+
+	* gui/wxpython/scripts/vkrige.py, scripts/v.krige/v.krige.py:
+	  v.krige update (fixes bug #1619)
+
+2012-09-07 22:31  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2012-09-07 13:15  annakrat
+
+	* general/g.mlist/main.c: g.mlist: use separator instead of newline
+	  between maps of different mapsets
+
+2012-09-07 09:15  neteler
+
+	* lib/db/sqlp/sql.html: db drivers: manual cleanup
+
+2012-09-07 08:59  neteler
+
+	* db/drivers/dbf/grass-dbf.html, db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html,
+	  db/drivers/odbc/grass-odbc.html, db/drivers/ogr/grass-ogr.html,
+	  db/drivers/postgres/grass-pg.html,
+	  db/drivers/sqlite/grass-sqlite.html: db drivers: manual cleanup
+
+2012-09-06 18:59  mmetz
+
+	* scripts/v.db.univar/v.db.univar.py: add TODO
+
+2012-09-06 18:38  mmetz
+
+	* vector/v.univar/main.c: v.univar: fix r52924
+
+2012-09-06 08:23  neteler
+
+	* vector/v.lidar.growing/v.lidar.growing.html: manual fix; HTML
+	  cosmetics
+
+2012-09-06 00:26  neteler
+
+	* imagery/i.class/main.c: J. Westervelt: fix for bug #1712
+
+2012-09-06 00:20  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2012-09-05 09:43  annakrat
+
+	* gui/wxpython/core/utils.py: wxGUI: utils.GetLayerNameFromCmd:
+	  fixed case when flags go first (merge from releasebranch, r53091)
+
+2012-09-05 09:14  wenzeslaus
+
+	* lib/gis/adj_cellhd.c, lib/gis/put_window.c, lib/gis/set_window.c:
+	  dox: region (window) functions doc improvements
+
+2012-09-05 06:07  cmbarton
+
+	* gui/wxpython/nviz/tools.py: wxnviz: initialize surface position
+	  slider to sane values
+
+2012-09-04 22:53  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py: Fixed overwrite
+	  flag check
+
+2012-09-04 17:04  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.unregister/t.unregister.py: Bugfix in t.sample and
+	  t.unregister.
+
+2012-09-04 16:14  wenzeslaus
+
+	* lib/vector/vectorlib.dox, lib/vector/vectorlib_files.dox,
+	  lib/vector/vectorlib_indices.dox,
+	  lib/vector/vectorlib_libraries.dox,
+	  lib/vector/vectorlib_spatialindex.dox: dox: fixing titles and
+	  references (including invisible problem with vlibs label)
+
+2012-09-04 13:48  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: Affected space
+	  time datasets will be updated in case time stamps are changed for
+	  registered maps.
+
+2012-09-04 12:00  wenzeslaus
+
+	* lib/python/temporal/spatial_extent.py, lib/vector/vectorlib.dox:
+	  dox: only one mainpage is alowed for doxygen
+
+2012-09-04 11:12  mmetz
+
+	* lib/db/dbmi_client/select.c: db lib: use G_asprintf
+
+2012-09-04 10:16  wenzeslaus
+
+	* lib/python/temporal/abstract_map_dataset.py: dox: missing endcode
+
+2012-09-04 00:55  glynn
+
+	* include/iostream/embuffer.h, include/iostream/minmaxheap.h: Fix
+	  iostream bugs (bug #1714)
+
+2012-09-03 15:44  annakrat
+
+	* gui/wxpython/core/settings.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py:
+	  wxNviz: small changes in tooltips, default values suggested by
+	  Michael Barton
+
+2012-09-03 15:23  neteler
+
+	* raster/r.viewshed/main.cpp: revert r53072
+
+2012-09-03 15:18  neteler
+
+	* raster/r.viewshed/main.cpp: make Ubuntu's gcc happy
+
+2012-09-03 11:39  neteler
+
+	* temporal/temporalintro.html: temporalintro.html: added missing
+	  modules; cosmetics
+
+2012-09-03 10:50  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fixed #1717
+
+2012-09-03 09:16  ychemin
+
+	* imagery/i.vi/gari.c, imagery/i.vi/main.c: Corrected GARI and a
+	  missing free memory (NIRchan) condition
+
+2012-09-02 19:23  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix closing gui from menu
+
+2012-09-02 12:53  neteler
+
+	* raster/r.grow.distance/r.grow.distance.html: r.grow.distance:
+	  +latitude-longitude example
+
+2012-09-01 23:10  cmbarton
+
+	* gui/wxpython/wxplot/dialogs.py: adding tooltips and tweaking
+	  labels for plot options
+
+2012-09-01 10:51  neteler
+
+	* raster/r.grow.distance/r.grow.distance.html: manual prettified
+
+2012-08-31 21:18  hellik
+
+	* mswindows/external/rbatch/README.grass: link to
+	  http://trac.osgeo.org/grass/ticket/1149#comment:9
+
+2012-08-31 19:52  hellik
+
+	* mswindows/GRASS-Installer.nsi.tmpl,
+	  mswindows/GRASS-Packager.bat.tmpl: better GRASS-R-integration
+	  (Ticket #1149) - step 2: adapt GRASS-Installer.nsi.tmpl,
+	  GRASS-Packager.bat.tmpl
+
+2012-08-31 19:34  hellik
+
+	* mswindows/external/README.license, mswindows/external/rbatch,
+	  mswindows/external/rbatch/#Rscript.bat,
+	  mswindows/external/rbatch/ANNOUNCE,
+	  mswindows/external/rbatch/COPYING,
+	  mswindows/external/rbatch/COPYRIGHTS,
+	  mswindows/external/rbatch/NEWS, mswindows/external/rbatch/R.bat,
+	  mswindows/external/rbatch/README,
+	  mswindows/external/rbatch/README.grass,
+	  mswindows/external/rbatch/RESOURCES,
+	  mswindows/external/rbatch/Rcmd.bat,
+	  mswindows/external/rbatch/Rgui.bat,
+	  mswindows/external/rbatch/RguiStart.bat,
+	  mswindows/external/rbatch/Rscript.bat,
+	  mswindows/external/rbatch/Rtidy.bat,
+	  mswindows/external/rbatch/Rtools.bat,
+	  mswindows/external/rbatch/RtoolsVersion.bat,
+	  mswindows/external/rbatch/Rversions.bat,
+	  mswindows/external/rbatch/Stangle.bat,
+	  mswindows/external/rbatch/Sweave.bat,
+	  mswindows/external/rbatch/THANKS,
+	  mswindows/external/rbatch/WISHLIST,
+	  mswindows/external/rbatch/clip2r.js,
+	  mswindows/external/rbatch/copydir.bat,
+	  mswindows/external/rbatch/el.js,
+	  mswindows/external/rbatch/find-miktex.hta,
+	  mswindows/external/rbatch/movedir.bat,
+	  mswindows/external/rbatch/rterm.bat,
+	  mswindows/external/rbatch/show-svn-info.hta: better
+	  GRASS-R-integration (Ticket #1149) - step 1: check in Windows
+	  batchfiles for use with R
+
+2012-08-31 19:19  hellik
+
+	* mswindows/external:
+
+2012-08-31 18:02  neteler
+
+	* locale/po/grasswxpy_it.po: typo
+
+2012-08-31 17:24  cmbarton
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py:
+	  Fixes for plotting modules
+
+2012-08-31 17:14  cmbarton
+
+	* gui/wxpython/core/settings.py, gui/wxpython/wxplot/base.py,
+	  gui/wxpython/wxplot/dialogs.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/profile.py, gui/wxpython/wxplot/scatter.py:
+	  Fix for broken plotting modules
+
+2012-08-31 11:38  neteler
+
+	* lib/init/grass7.html: cosmetics
+
+2012-08-31 11:00  martinl
+
+	* imagery/i.latlong/main.c: i.latlong: cosmetics in
+	  description/messages
+
+2012-08-31 10:55  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grasswxpy_pl.po: Milena
+	  Nowotarska: cont'ed
+
+2012-08-31 10:51  neteler
+
+	* imagery/i.latlong/i.latlong.html: +example
+
+2012-08-31 10:42  neteler
+
+	* imagery/i.sunhours/i.sunhours.html: +example
+
+2012-08-31 10:34  neteler
+
+	* raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster3d/r3.out.vtk/main.c: Milena Nowotarska: msg
+	  standardization
+
+2012-08-31 08:44  annakrat
+
+	* gui/wxpython/location_wizard/dialogs.py: wxGUI: fix last commit
+
+2012-08-31 08:36  annakrat
+
+	* gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/location_wizard/wizard.py: wxGUI/locationWizard:
+	  fixes related to Windows
+
+2012-08-31 06:10  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: cont'ed
+
+2012-08-31 06:05  neteler
+
+	* lib/init/helptext.html: cosmetics
+
+2012-08-30 15:45  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: check if event is
+	  not None
+
+2012-08-30 15:33  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: hopefully fixed
+	  dialog styles on Windows
+
+2012-08-30 10:20  annakrat
+
+	* gui/wxpython/location_wizard/dialogs.py: wxGUI: attempt to fix
+	  default region dialog on Windows (still don't understand how
+	  collapsible pane should be treated)
+
+2012-08-30 08:06  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2012-08-30 07:52  neteler
+
+	* imagery/i.cluster/main.c: msg typo
+
+2012-08-29 14:00  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_lv.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: messages updated from source code
+
+2012-08-29 13:39  neteler
+
+	* lib/ogsf/gsd_img_mpeg.c: support for more recent FFMPEG lib
+	  versions (fixes #1423)
+
+2012-08-29 12:55  neteler
+
+	* temporal/t.create/t.create.html, temporal/t.info/t.info.html,
+	  temporal/t.list/t.list.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.html,
+	  temporal/t.rast.series/t.rast.series.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.rast3d.extract/t.rast3d.extract.html,
+	  temporal/t.rast3d.list/t.rast3d.list.html,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.html,
+	  temporal/t.register/t.register.html,
+	  temporal/t.remove/t.remove.html, temporal/t.sample/t.sample.html,
+	  temporal/t.support/t.support.html,
+	  temporal/t.topology/t.topology.html,
+	  temporal/t.unregister/t.unregister.html,
+	  temporal/t.vect.db.select/t.vect.db.select.html,
+	  temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.extract/t.vect.extract.html,
+	  temporal/t.vect.import/t.vect.import.html,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.html,
+	  temporal/t.vect.univar/t.vect.univar.html,
+	  temporal/t.vect.what.strds/t.vect.what.strds.html: manual page
+	  stub
+
+2012-08-29 12:49  neteler
+
+	* raster/r.series/main.c, vector/v.vect.stats/main.c: homogenize
+	  keywords
+
+2012-08-29 12:34  neteler
+
+	* visualization/nviz/nviz.html: homogenize keywords
+
+2012-08-29 12:29  neteler
+
+	* scripts/d.vect.thematic/d.vect.thematic.py,
+	  scripts/v.db.addcolumn/v.db.addcolumn.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droprow/v.db.droprow.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  visualization/nviz/src/nvizMain.c: homogenize keywords
+
+2012-08-29 11:58  neteler
+
+	* display/d.colors/main.c, display/d.his/main.c,
+	  display/d.profile/d.profile.html, display/d.profile/main.c,
+	  display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.rast/main.c, display/d.rgb/main.c,
+	  display/d.vect/main.c, misc/m.nviz.image/main.c,
+	  misc/m.nviz.script/main.c, raster/r.neighbors/main.c,
+	  raster/r.profile/r.profile.html, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.to.rast/main.c, scripts/d.correlate/d.correlate.py,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/i.spectral/i.spectral.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/v.krige/v.krige.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/wxpyimgview/wxpyimgview.py, vector/v.neighbors/main.c,
+	  visualization/wximgview/main.cpp, visualization/ximgview/main.c:
+	  homogenize keywords
+
+2012-08-29 08:34  neteler
+
+	* general/g.filename/g.filename.html,
+	  imagery/i.topo.corr/i.topo.corr.html, imagery/i.topo.corr/main.c:
+	  homogenize keywords; HTML cosmetics
+
+2012-08-29 08:30  neteler
+
+	* imagery/i.eb.netrad/main.c: msg cosmetics
+
+2012-08-29 08:19  neteler
+
+	* display/d.fontlist/d.fontlist.html,
+	  general/g.findetc/g.findetc.html,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_sebal01.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.evapo.time/i.evapo.time.html,
+	  imagery/i.rectify/i.rectify.html,
+	  imagery/i.sunhours/i.sunhours.html: fix broken links; HTML
+	  cosmetics
+
+2012-08-29 07:59  neteler
+
+	* imagery/i.eb.netrad/i.eb.netrad.html: fix broken links; HTML
+	  cosmetics
+
+2012-08-29 07:56  neteler
+
+	* lib/init/grass_start.png: Version (6.4.0) removed from screenshot
+
+2012-08-29 07:53  neteler
+
+	* imagery/i.emissivity/main.c, raster/r.gwflow/main.c,
+	  raster3d/r3.gwflow/main.c,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py, scripts/i.oif/i.oif.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.unregister/t.unregister.py,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c: homogenize keywords
+
+2012-08-29 07:49  neteler
+
+	* man/build_html.py, tools/mkhtml.py: list topics in list pages;
+	  html tags cosmetics
+
+2012-08-29 07:47  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: add newly created 3d
+	  raster to layer tree as 3d-raster, not vector
+
+2012-08-28 18:00  glynn
+
+	* lib/gis/parser_html.c, tools/g.html2man/rest.py: Make
+	  --html-description output easier to parse
+	  Add ReST generator
+
+2012-08-28 10:06  wenzeslaus
+
+	* gui/wxpython/gis_set.py: wxGUI: tooltip for location wizard
+
+2012-08-28 09:59  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: add pages to
+	  notebook after they are ready
+
+2012-08-28 09:55  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: fix loading manual
+	  page for listbook style
+
+2012-08-28 09:37  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix raising error
+
+2012-08-28 09:04  martinl
+
+	* lib/vector/Vlib/open.c: vlib: improve dox docs of Vect_open_new()
+
+2012-08-28 08:51  martinl
+
+	* vector/v.random/main.c: v.random: check Vect_open_new()
+
+2012-08-28 07:50  martinl
+
+	* include/Make/Lib.make: fix broken Lib.make
+
+2012-08-27 18:26  mmetz
+
+	* vector/v.transform/main.c: v.transform: add warning for columns
+	  option
+
+2012-08-27 13:17  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layertree: fixed second
+	  issue in #1616
+
+2012-08-27 11:21  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/layertree: fix broken drag
+	  and drop in r52913
+
+2012-08-27 09:36  lucadelu
+
+	* man/Makefile, man/build_html.py, man/build_topics.py: add script
+	  to create topics in html documentation
+
+2012-08-26 17:16  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: merge from releasebranch,
+	  r52928
+
+2012-08-26 15:34  annakrat
+
+	* gui/wxpython/core/settings.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/scripts/vkrige.py: wxGUI: command dialog notebook
+	  styles added (experimental)
+
+2012-08-26 13:03  mmetz
+
+	* mswindows/osgeo4w/msys.bat: wingrass, msys.bat: 2009.03.17 Keith
+	  Marshall: start in --norxvt mode by default
+
+2012-08-26 12:54  mmetz
+
+	* gui/wxpython/core/settings.py: wxGUI: display only points, lines,
+	  areas by default (alike simple features)
+
+2012-08-26 12:39  mmetz
+
+	* vector/v.univar/main.c: v.univar: default answers should not
+	  toggle warnings
+
+2012-08-25 20:06  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: icon size is float, not int
+	  (#1035)
+
+2012-08-25 19:17  mmetz
+
+	* raster/r.quant/read_rules.c: r.quant: fix buffer size, fix fp
+	  precision
+
+2012-08-25 18:41  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/lmgr: fix layer
+	  selection/checking (related ticket #1616)
+
+2012-08-25 15:21  mmetz
+
+	* lib/raster/color_write.c: rasterlib: rephrase comment
+
+2012-08-25 13:25  mmetz
+
+	* raster/r.reclass/reclass.c: hamish: don't segfault on long map
+	  names (#800)
+
+2012-08-25 12:34  mmetz
+
+	* vector/v.what/what.c: v.what: fix segfault when querying multiple
+	  maps
+
+2012-08-25 11:07  mmetz
+
+	* lib/raster/color_write.c: format code
+
+2012-08-25 11:03  mmetz
+
+	* lib/raster/color_write.c: fix GRASS_EPSILON usage
+
+2012-08-25 10:09  mmetz
+
+	* raster/r.proj/main.c: r.proj: disable parallelization because of
+	  segfaults
+
+2012-08-25 09:27  annakrat
+
+	* gui/wxpython/dbmgr/dialogs.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py:
+	  wxGUI: fixed #1617, when closing attribute dialog do not rerender
+	  everything
+
+2012-08-24 13:15  mmetz
+
+	* scripts/v.db.dropcolumn/v.db.dropcolumn.py: v.db.dropcolumn: use
+	  vector database and driver, update comment
+
+2012-08-24 12:45  martinl
+
+	* lib/init/helptext.html: grass7 has no text-based location wizard
+
+2012-08-24 11:08  mmetz
+
+	* raster/r.fill.dir/main.c: r.fill.dir: fix flag behaviour
+
+2012-08-24 09:24  mmetz
+
+	* vector/v.what.rast/main.c: v.what.rast: fix fp precision
+
+2012-08-23 22:12  neteler
+
+	* lib/init/helptext.html: cosmetics
+
+2012-08-23 21:11  annakrat
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/location_wizard/wizard.py: wxGUI/locationWizard:
+	  help opens in web browser now (g.manual)
+
+2012-08-23 20:40  wenzeslaus
+
+	* lib/init/helptext.html: docs: Quickstart: Location Wizard
+
+2012-08-23 17:19  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxNviz: tooltips added
+
+2012-08-23 16:41  neteler
+
+	* imagery/i.sunhours/main.c, raster/r.contour/main.c,
+	  raster/r.horizon/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/main.c, vector/v.overlay/main.c,
+	  vector/v.select/main.c: homogenize keywords
+
+2012-08-23 16:22  neteler
+
+	* display/d.info/main.c, display/d.mon/main.c,
+	  general/g.message/main.c, imagery/i.aster.toar/main.c,
+	  imagery/i.fft/main.c, imagery/i.ifft/main.c,
+	  imagery/i.landsat.toar/main.c, scripts/r.in.aster/r.in.aster.py,
+	  temporal/t.list/t.list.py, temporal/t.vect.list/t.vect.list.py:
+	  homogenize keywords
+
+2012-08-23 16:08  annakrat
+
+	* gui/wxpython/gis_set.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/location_wizard/wizard.py: wxGUI/locationWizard:
+	  automatic import of file used for creating location, automatic
+	  GUI start (co-author wenzeslaus), merge from releasebranch,
+	  r52789
+
+2012-08-23 15:37  neteler
+
+	* raster/r.grow/main.c, scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/d.shadedmap/d.shadedmap.py, scripts/r.blend/r.blend.py:
+	  homogenize keywords
+
+2012-08-23 12:17  mmetz
+
+	* vector/v.what.rast/main.c: v.what.rast: fix fp precision, close
+	  raster map, support centroids
+
+2012-08-23 10:39  neteler
+
+	* scripts/i.spectral/i_spectral.png: +screenshot of output
+
+2012-08-23 08:32  mmetz
+
+	* vector/v.generalize/main.c: v.generalize: copy attributes by
+	  default
+
+2012-08-23 08:09  lucadelu
+
+	* scripts/g.extension/g.extension.py: remove pdb for testing
+
+2012-08-23 07:54  lucadelu
+
+	* scripts/g.extension/g.extension.html,
+	  scripts/g.extension/g.extension.py: fix rest documentation
+	  creation for scripts installed by g.extension
+
+2012-08-23 07:35  lucadelu
+
+	* include/Make/Script.make: fix rest documentation creation for
+	  scripts
+
+2012-08-23 07:14  lucadelu
+
+	* gui/wxpython/gis_set.py: small cosmetic change in error dialog of
+	  OnCreateMapset
+
+2012-08-22 20:45  mmetz
+
+	* raster/r.report/header.c: r.report: fix for #970
+
+2012-08-22 20:13  mmetz
+
+	* vector/v.build.polylines/main.c,
+	  vector/v.build.polylines/v.build.polylines.html:
+	  v.build.polylines: code cosmetics, manual
+
+2012-08-22 19:35  neteler
+
+	* display/d.path/main.c, display/d.where/main.c,
+	  raster/r.what/main.c, vector/v.reclass/main.c: homogenize
+	  keywords
+
+2012-08-22 19:17  neteler
+
+	* display/d.colorlist/main.c, display/d.font/main.c,
+	  display/d.fontlist/main.c, imagery/i.pca/main.c,
+	  ps/ps.map/main.c, raster/r.random.cells/main.c,
+	  raster/r.random.surface/main.c, raster/r.random/main.c,
+	  raster3d/r3.out.netcdf/main.c, raster3d/r3.retile/main.c,
+	  scripts/v.dissolve/v.dissolve.py,
+	  scripts/v.in.sites.all/v.in.sites.all.py,
+	  scripts/v.what.vect/v.what.vect.py,
+	  temporal/t.create/t.create.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.register/t.register.py, temporal/t.remove/t.remove.py,
+	  temporal/t.sample/t.sample.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  vector/v.buffer/main.c, vector/v.build.polylines/main.c,
+	  vector/v.build/main.c, vector/v.clean/main.c,
+	  vector/v.distance/main.c, vector/v.edit/main.c,
+	  vector/v.net.visibility/main.c, vector/v.random/main.c,
+	  vector/v.sample/main.c, vector/v.what.rast/main.c,
+	  vector/v.what.rast3/main.c, vector/v.what/main.c: homogenize
+	  keywords
+
+2012-08-22 15:47  neteler
+
+	* db/db.createdb/main.c, db/db.databases/main.c,
+	  db/db.dropdb/main.c, db/db.login/main.c,
+	  imagery/i.modis.qc/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster3d/r3.info/r3.info.main.c,
+	  temporal/t.info/t.info.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  vector/v.class/main.c, vector/v.in.lidar/main.c,
+	  vector/v.to.db/main.c, vector/v.to.rast/main.c,
+	  vector/v.to.rast3/main.c: homogenize keywords
+
+2012-08-22 14:45  neteler
+
+	* raster/r.to.rast3/main.c, vector/v.to.rast3/main.c,
+	  vector/v.vol.rst/main.c: homogenize keywords
+
+2012-08-22 14:37  annakrat
+
+	* gui/wxpython/dbmgr/vinfo.py: wxGUI/dbmgr: fix querying for areas
+	  (v.what returns no Id) again
+
+2012-08-22 14:07  annakrat
+
+	* gui/wxpython/dbmgr/dialogs.py, gui/wxpython/dbmgr/vinfo.py:
+	  wxGUI/dbmgr: fix querying for areas (v.what returns no Id)
+
+2012-08-22 13:47  neteler
+
+	* man/build_check.py, man/build_check_rest.py, man/build_class.py,
+	  man/build_class_rest.py, man/build_full_index.py,
+	  man/build_full_index_rest.py, man/build_html.py,
+	  man/build_index.py, man/build_index_rest.py, man/build_rest.py:
+	  svn propset
+
+2012-08-22 12:54  annakrat
+
+	* gui/wxpython/dbmgr/vinfo.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py: wxGUI: reorganize querying, if
+	  vector has no db connection, show query output in gui commmand
+	  output instead of Nothing found message #1606, #1469, show more
+	  layers in attribute dialog - #1522
+
+2012-08-22 10:46  mmetz
+
+	* vector/v.build.polylines/main.c: v.build.polylines: do not throw
+	  away area attributes
+
+2012-08-21 20:30  mmetz
+
+	* vector/v.net.salesman/main.c: v.net.salesman: fix #1659, should
+	  be applied to all other v.net.* modules
+
+2012-08-21 19:48  mmetz
+
+	* lib/db/dbmi_base/default_name.c: dblib: sqlite needs exclusive
+	  access to the folder with the database
+
+2012-08-21 19:04  mmetz
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: use faster and more
+	  accurate r.shaded.relief2
+
+2012-08-21 18:21  mmetz
+
+	* vector/v.in.ogr/v.in.ogr.html: v.in.ogr: explain boundary
+	  snapping
+
+2012-08-21 16:06  wenzeslaus
+
+	* lib/python/vector.py: pythonlib: fixing #1522 (vector_what
+	  respects multiple layers)
+
+2012-08-21 15:16  mmetz
+
+	* lib/vector/diglib/cindex_rw.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/spindex_rw.c: diglib: more understandable
+	  messages
+
+2012-08-21 14:46  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: quick fix for #1565
+
+2012-08-21 14:31  mmetz
+
+	* raster/r.report/header.c, raster/r.report/label.c: r.report: fix
+	  for #970
+
+2012-08-21 12:57  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: fix for #173
+
+2012-08-21 12:49  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: fixed #1306
+
+2012-08-21 12:45  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: add safety checks and warnings
+
+2012-08-21 10:43  annakrat
+
+	* gui/wxpython/modules/mcalc_builder.py: wxGUI/mapcalc: fix #1305,
+	  improving focus problem when adding map
+
+2012-08-21 10:07  mmetz
+
+	* vector/v.in.ogr/geom.c: remove debug info
+
+2012-08-21 10:02  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: v.in.ogr: fix
+	  #1339 by using OGR extents as spatial filter
+
+2012-08-21 09:23  mmetz
+
+	* vector/v.info/print.c: v.info increase buffer sizes
+
+2012-08-21 08:06  mmetz
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: d.vect.thematic: do
+	  not forget the layer for v.univar
+
+2012-08-21 07:50  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/psmap/dialogs.py: wxGUI: attempt to fix #1700
+
+2012-08-21 07:47  mmetz
+
+	* lib/vector/Vlib/cats.c: Vlib: optimized category fns
+
+2012-08-21 07:46  mmetz
+
+	* lib/vector/vedit/cats.c: vedit lib: safer return type check
+
+2012-08-21 07:46  mmetz
+
+	* vector/v.category/main.c: v.category: safer return type check
+
+2012-08-20 17:58  mmetz
+
+	* vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/trans_digit.c: v.transform close database
+	  shutdown driver when done; remove ugly table hack
+
+2012-08-20 16:07  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: skip updating
+	  manual when 'd' flag is given
+
+2012-08-20 15:32  mmetz
+
+	* vector/v.transform/main.c: v.transform fix for #1615
+
+2012-08-20 14:26  neteler
+
+	* scripts/d.vect.thematic/d.vect.thematic.html: fix example
+
+2012-08-20 14:16  mmetz
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/remove_areas.c: Vlib partially revert r52776
+
+2012-08-20 14:07  mmetz
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/remove_areas.c: Vlib fix
+	  for multiple cats in the same layer
+
+2012-08-20 12:55  mmetz
+
+	* vector/v.distance/main.c: v.distance fix #672
+
+2012-08-20 12:49  huhabla
+
+	* raster/r.mapcalc/xcoor3.c: Fixed wrong z() coordinate
+	  computation. Since the depth counts from bottom to top, the
+	  z-coordinate should do the same.
+
+2012-08-20 12:38  neteler
+
+	* gui/wxpython/docs/wxGUI.Components.html: order alphabetically
+
+2012-08-20 11:47  annakrat
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/location_wizard/base.py,
+	  gui/wxpython/location_wizard/wizard.py: wxGUI/locationWizard:
+	  added help button to wizard, tooltips, HelpFrame base class
+	  changed to dialog (merged from releasebranch, r52759)
+
+2012-08-20 11:46  neteler
+
+	* scripts/i.spectral/i.spectral.html: NC example added
+
+2012-08-20 10:46  neteler
+
+	* scripts/i.spectral/i.spectral.py: get the r.what call right
+
+2012-08-20 09:43  neteler
+
+	* vector/v.out.pov/main.c: be sure to have an empty string
+
+2012-08-20 07:51  mmetz
+
+	* raster/r.cost/main.c: r.cost fix for #545
+
+2012-08-20 07:29  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: fix zooming out by one
+	  click (not box)
+
+2012-08-19 21:25  martinl
+
+	* display/d.rgb/d.rgb.html: d.rgb/manual: remove link to d.colors
+	  add simple usage example
+
+2012-08-19 21:21  martinl
+
+	* display/d.rgb/d.rgb.html: d.rgb: major manual clean up
+
+2012-08-19 17:27  mmetz
+
+	* ps/ps.map/main.c: ps.map: map composition is done when everything
+	  is done, not earlier
+
+2012-08-19 17:20  mmetz
+
+	* ps/ps.map/r_instructions.c: ps.map: help for interactive CLI
+	  users
+
+2012-08-19 16:38  mmetz
+
+	* ps/ps.map/colortable.h, ps/ps.map/do_scalebar.c,
+	  ps/ps.map/get_scalebar.c, ps/ps.map/ps_clrtbl.c,
+	  ps/ps.map/ps_fclrtbl.c, ps/ps.map/r_colortable.c: ps.map: add
+	  missing and new options, preserve backwards compatibility
+
+2012-08-19 15:26  mmetz
+
+	* ps/ps.map/border.h, ps/ps.map/catval.c, ps/ps.map/distance.c,
+	  ps/ps.map/do_geogrid.c, ps/ps.map/do_grid.c,
+	  ps/ps.map/do_labels.c, ps/ps.map/do_plt.c,
+	  ps/ps.map/do_scalebar.c, ps/ps.map/do_vectors.c, ps/ps.map/eps.c,
+	  ps/ps.map/get_scalebar.c, ps/ps.map/local_proto.h,
+	  ps/ps.map/main.c, ps/ps.map/map_setup.c, ps/ps.map/ps_clrtbl.c,
+	  ps/ps.map/ps_fclrtbl.c, ps/ps.map/ps_map.c,
+	  ps/ps.map/ps_vareas.c, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_border.c, ps/ps.map/r_colortable.c,
+	  ps/ps.map/r_labels.c, ps/ps.map/r_plt.c, ps/ps.map/r_vpoints.c,
+	  ps/ps.map/read_cfg.c, ps/ps.map/session.c,
+	  ps/ps.map/show_scale.c, ps/ps.map/textbox.c: ps.map: major code
+	  clean up, part 1
+
+2012-08-19 14:02  annakrat
+
+	* gui/wxpython/psmap/frame.py, gui/wxpython/psmap/toolbars.py:
+	  wxGUI/psmap: improved toolbar popup menu behaviour
+
+2012-08-19 13:48  annakrat
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/dbmgr: continue to fix #1633
+
+2012-08-19 13:23  mmetz
+
+	* ps/ps.map/local_proto.h, ps/ps.map/main.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_instructions.c: fix various bugs introduced with
+	  r45580 including memory corruption, fix buffer overflow
+
+2012-08-18 18:02  glynn
+
+	* raster/r.mapcalc/expression.c: Eliminate fixed-size buffer
+
+2012-08-18 09:12  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI/settings: fix r52719 - check
+	  also subkey
+
+2012-08-17 16:47  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI/settings: Append() - add
+	  overwrite argument
+
+2012-08-17 15:53  martinl
+
+	* gui/wxpython/swipe/dialogs.py, gui/wxpython/swipe/frame.py,
+	  gui/wxpython/swipe/mapwindow.py, gui/wxpython/swipe/toolbars.py:
+	  wxGUI/swipe: header cosmetics
+
+2012-08-17 15:34  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/nviz/workspace.py:
+	  wxNviz: minor bugfixes
+
+2012-08-17 14:43  annakrat
+
+	* gui/wxpython/core/settings.py, gui/wxpython/dbmgr/base.py,
+	  gui/wxpython/gui_core/preferences.py: wxGUI/dbmgr: choose
+	  separator for loading table (related ticket #1633)
+
+2012-08-17 13:20  neteler
+
+	* lib/gis/alloc.c: fix copyright initial year (from G6)
+
+2012-08-17 12:50  mmetz
+
+	* gui/wxpython/mapdisp/statusbar.py: wx GCP Manager: ensure GCP is
+	  visible
+
+2012-08-17 12:50  mmetz
+
+	* gui/wxpython/gcp/manager.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gcp/toolbars.py: wx GCP Manager: fix indentation
+
+2012-08-17 10:13  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: close button instead of
+	  cancel in import dialog, close on finish added
+
+2012-08-17 09:41  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI/lmgr: add apply button to opacity dialog
+
+2012-08-17 07:01  annakrat
+
+	* gui/wxpython/swipe/frame.py: wxGUI/swipe: check if raster exists
+
+2012-08-16 09:31  martinl
+
+	* gui/wxpython/dbmgr/base.py: wxGUI/ATM: db.select - overwrite
+	  output tmp file
+
+2012-08-16 09:12  martinl
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/dialogs.py,
+	  gui/wxpython/gui_core/widgets.py: wxGUI/ATM: change layout for
+	  'SQL Query'
+	  new dialog to 'add new column'
+	  DeletePage() RemovePage() implemeneted for GNotebook
+	  various minor changes
+	  patch provided by Stepan Turek (GSoC 2012)
+
+2012-08-15 15:26  huhabla
+
+	* lib/python/core.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/vector/vectorlib.dox, temporal/Makefile,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py: Small bugfixing and
+	  error message cleanup
+
+2012-08-14 10:18  annakrat
+
+	* scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: fp maps
+	  support, remove temp maps, spaces instead of tabs
+
+2012-08-14 09:16  neteler
+
+	* raster/r.univar/r.univar.html, raster/r.univar/r3.univar.html:
+	  explain multiple input map support; cosmetics
+
+2012-08-13 20:44  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/pythontemporallib.dox,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py: PEP8 compliance and
+	  documentation update
+
+2012-08-13 16:51  neteler
+
+	* gui/wxpython/swipe/frame.py: advertise GRASS GIS for standalone
+	  windows
+
+2012-08-13 15:33  mmetz
+
+	* include/vect/dig_structs.h: vector include: GV_AREA and GV_VOLUME
+	  are not legal line types
+
+2012-08-13 15:31  neteler
+
+	* display/d.rgb/d.rgb.html, display/d.vect.chart/d.vect.chart.html,
+	  display/d.vect/d.vect.html, lib/cairodriver/cairodriver.html,
+	  raster/r.in.xyz/r.in.xyz.html,
+	  scripts/d.rast.edit/d.rast.edit.html,
+	  vector/v.label/v.label.html, vector/v.net.iso/v.net.iso.html,
+	  vector/v.overlay/v.overlay.html: HTML fixes for pandoc/sphinx
+
+2012-08-13 14:24  lucadelu
+
+	* man/sphinx/conf.py, tools/mkrest.py: improvements in
+	  restructuredtext creation
+
+2012-08-13 13:48  annakrat
+
+	* gui/wxpython/swipe/frame.py: wxGUI/swipe: remove rendered images
+	  after quitting
+
+2012-08-13 13:33  mmetz
+
+	* lib/vector/rtree/index.c: rtree: doxygenize
+
+2012-08-13 13:19  neteler
+
+	* raster/r.li/r.li.pielou/r_li_pielou.png: added missing img
+
+2012-08-13 13:17  neteler
+
+	* raster/r.li/r.li.renyi/r_li_renyi.png: added missing img
+
+2012-08-13 13:13  neteler
+
+	* raster/r.lake/r_lake_lidar_dem.jpg: added missng img
+
+2012-08-13 13:10  lucadelu
+
+	* vector/v.in.ogr/v.in.ogr.html: fix wrong commit
+
+2012-08-13 13:09  lucadelu
+
+	* db/Makefile, display/Makefile, doc/Makefile, general/Makefile,
+	  imagery/Makefile, imagery/i.find/Makefile, include/Make/DB.make,
+	  include/Make/Dir.make, include/Make/Docs.make,
+	  include/Make/Etc.make, include/Make/Grass.make,
+	  include/Make/Lib.make, include/Make/Module.make,
+	  include/Make/Multi.make, include/Make/NoRest.make,
+	  include/Make/Other.make, include/Make/Rest.make,
+	  include/Make/Rules.make, include/Make/Script.make,
+	  lib/gtcltk/Makefile, lib/vector/Makefile, man/Makefile,
+	  man/build_check_rest.py, man/build_class_rest.py,
+	  man/build_full_index_rest.py, man/build_index_rest.py,
+	  man/build_rest.py, man/sphinx, man/sphinx/Makefile,
+	  man/sphinx/conf.py, man/sphinx/make.bat, misc/Makefile,
+	  ps/Makefile, raster/Makefile, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/seg/Makefile, raster3d/Makefile,
+	  scripts/Makefile, temporal/Makefile, tools/Makefile,
+	  tools/mkrest.py, tools/timer/Makefile, vector/Makefile,
+	  vector/v.in.ogr/v.in.ogr.html: first implementation of
+	  restructredtext documentation
+
+2012-08-13 10:39  neteler
+
+	* gui/wxpython/docs/wxGUI.MapSwipe.html,
+	  gui/wxpython/docs/wxGUI_map_swipe.jpg: example replaced with
+	  Japan 2011 tsunami
+
+2012-08-13 09:09  mmetz
+
+	* vector/v.in.lidar/v.in.lidar.html: v.in.lidar: explain return
+	  type
+
+2012-08-13 08:58  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/sqlbuilder: bugfix
+	  (advance sql mode) - patch provided by Stepan Turek
+
+2012-08-13 08:26  neteler
+
+	* gui/wxpython/swipe/main.py: +header
+
+2012-08-13 08:19  neteler
+
+	* gui/wxpython/docs/wxGUI.MapSwipe.html: cosmetics
+
+2012-08-13 08:05  martinl
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: use 'g.gisenv
+	  unset=' to unset GRASS variables
+
+2012-08-12 23:10  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py, temporal/t.remove/t.remove.py,
+	  temporal/t.sample/t.sample.py, temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.extract/test.t.vect.extract.layer.sh,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: PEP8 compliance.
+	  Using the new class naming scheme.
+
+2012-08-12 23:08  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/unit_tests.py: PEP8 compliance. Added RTree
+	  unit tests for 1 - 4 dimensional trees.
+	  Bug fixing after class name conversion to camel case style.
+
+2012-08-12 23:06  huhabla
+
+	* lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/snap.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c,
+	  lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/indexm.c,
+	  lib/vector/rtree/node.c, lib/vector/rtree/rect.c,
+	  lib/vector/rtree/rtree.h: Added methods to modify rectangle
+	  boundary coordinates of different dimensions. Modified the names
+	  of several functions. Added doxygen style function descriptions.
+
+2012-08-12 20:28  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/dbmgr: update sqlbuilder
+	  main fn (select|update) - patch provided by Stepan Turek
+
+2012-08-12 19:47  lucadelu
+
+	* general/g.parser/g.parser.html: add documentation for
+	  --rest-description in g.parser.html
+
+2012-08-12 19:20  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/sqlsizer: fix OnClose
+	  indent & layout cosmetics
+
+2012-08-12 19:11  martinl
+
+	* gui/wxpython/dbmgr/base.py, gui/wxpython/dbmgr/manager.py,
+	  gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/DbMgr: major refactoring
+	  done by Stepan Turek (GSoC 2012)
+	  initial version of Field Calculator (SQL Update Builder)
+
+2012-08-12 18:06  martinl
+
+	* gui/wxpython/docs/wxGUI.Components.html: wxGUI: note Map Swipe on
+	  components page
+
+2012-08-12 16:47  annakrat
+
+	* gui/wxpython/docs/wxGUI.MapSwipe.html,
+	  gui/wxpython/docs/wxGUI_map_swipe.jpg,
+	  gui/wxpython/swipe/frame.py, gui/wxpython/swipe/toolbars.py:
+	  wxGUI/swipe: added manual page
+
+2012-08-12 14:44  annakrat
+
+	* gui/wxpython/swipe/frame.py: wxGUI/swipe: move code from OnSize
+	  to OnIdle, cosmetics
+
+2012-08-12 14:29  annakrat
+
+	* display/d.thematic.area/main.c, display/d.vect/main.c,
+	  general/g.gui/main.c, imagery/i.landsat.toar/main.c,
+	  imagery/i.modis.qc/main.c, imagery/i.vi/main.c,
+	  misc/m.nviz.image/args.c, misc/m.transform/main.c,
+	  raster/r.report/parse.c, raster/r.usler/main.c,
+	  vector/v.build.polylines/main.c, vector/v.category/main.c,
+	  vector/v.class/main.c, vector/v.distance/main.c,
+	  vector/v.drape/main.c, vector/v.edit/args.c,
+	  vector/v.in.ascii/main.c, vector/v.in.ogr/main.c,
+	  vector/v.kernel/main.c, vector/v.mkgrid/main.c,
+	  vector/v.net.bridge/main.c, vector/v.net.components/main.c,
+	  vector/v.net/args.c, vector/v.out.ascii/args.c,
+	  vector/v.overlay/main.c, vector/v.parallel/main.c,
+	  vector/v.select/args.c, vector/v.to.db/parse.c,
+	  vector/v.to.rast/main.c: option name in descriptions must not be
+	  translatable
+
+2012-08-12 09:38  neteler
+
+	* scripts/Makefile, scripts/i.fusion.brovey,
+	  scripts/i.pansharpen/Makefile,
+	  scripts/i.pansharpen/i.pansharpen.html,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/i.pansharpen/rgb_brovey321.jpg,
+	  scripts/i.pansharpen/rgb_ihs321.jpg,
+	  scripts/i.pansharpen/rgb_landsat321.jpg,
+	  scripts/i.pansharpen/rgb_pca321.jpg: Functionality of
+	  i.fusion.brovey now provided by i.pansharpen; i.fusion.brovey
+	  moved out into GRASS Addons-SVN
+
+2012-08-12 06:39  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: updated image menu to replace
+	  i.fusion.brovey with i.pansharpen
+
+2012-08-12 06:14  cmbarton
+
+	* scripts/i.pansharpen, scripts/i.pansharpen/Makefile,
+	  scripts/i.pansharpen/i.pansharpen.html,
+	  scripts/i.pansharpen/i.pansharpen.py,
+	  scripts/i.pansharpen/rgb_brovey321.jpg,
+	  scripts/i.pansharpen/rgb_ihs321.jpg,
+	  scripts/i.pansharpen/rgb_landsat321.jpg,
+	  scripts/i.pansharpen/rgb_pca321.jpg: Added new pan sharpening
+	  script
+
+2012-08-12 01:54  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/unit_tests.py,
+	  lib/python/temporal/univar_statistics.py: PEP8 compliance and
+	  better doxygen formatting. New rtree tests.
+
+2012-08-11 21:26  wenzeslaus
+
+	* gui/wxpython/swipe/main.py: wxGUI/swipe: fix checking params
+
+2012-08-11 20:48  wenzeslaus
+
+	* gui/wxpython/swipe/main.py: wxGUI: swipe: main with g.parser
+	  (experimental)
+
+2012-08-11 20:45  wenzeslaus
+
+	* gui/wxpython/swipe/dialogs.py, gui/wxpython/swipe/frame.py,
+	  gui/wxpython/swipe/mapwindow.py, gui/wxpython/swipe/toolbars.py:
+	  wxGUI: swipe: small clean up
+
+2012-08-11 19:10  glynn
+
+	* general/g.proj/input.c: Revert bogus "fix warnings" changes from
+	  r52516
+
+2012-08-11 18:19  glynn
+
+	* raster/r.lake/main.c: Revert bogus "fix warning" changes from
+	  r52607
+
+2012-08-11 13:32  mmetz
+
+	* raster/rasterintro.html: rasterintro clean html
+
+2012-08-10 18:33  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets.py: PEP8 compliance and
+	  new doctests
+
+2012-08-10 14:48  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/univar_statistics.py,
+	  temporal/t.create/t.create.py, temporal/t.list/t.list.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.remove/t.remove.py, temporal/t.support/t.support.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: Major code
+	  review and application of pep8 coding standard.
+	  Several doctests added to temporal base classes.
+
+2012-08-10 12:33  neteler
+
+	* raster/rasterintro.html: +r.resamp.bspline; +r.in.lidar
+
+2012-08-10 12:24  neteler
+
+	* man/build_html.py: +Intro temporal data processing
+
+2012-08-10 07:35  wenzeslaus
+
+	* gui/wxpython/nviz/wxnviz.py: dox: fixing param warnings in wxnviz
+
+2012-08-09 23:07  lucadelu
+
+	* lib/gis/parser_rest.c: improvements for restructeredtext parser
+
+2012-08-09 20:16  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI/mapdisp: fix missing import
+	  (CLI)
+
+2012-08-09 14:41  wenzeslaus
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in, lib/python/db.py,
+	  lib/python/pythonlib.dox: dox: doxygen alias (newcommand) gmod
+	  for grass modules (when their params are referenced)
+
+2012-08-09 13:26  mmetz
+
+	* gui/wxpython/gcp/manager.py: wx GCP Manager: make selected points
+	  visible in the list
+
+2012-08-09 11:55  annakrat
+
+	* gui/wxpython/swipe/dialogs.py, gui/wxpython/swipe/frame.py,
+	  gui/wxpython/swipe/toolbars.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI/swipe: added quit button and other cosmetics
+
+2012-08-09 11:53  neteler
+
+	* raster/r.lake/r.lake.html: HTML fix
+
+2012-08-09 11:31  marisn
+
+	* raster/r.lake/main.c, raster/r.lake/r.lake.html: Explain better
+	  meaning of depth in output, as suggested by John Helly
+
+2012-08-09 09:16  wenzeslaus
+
+	* lib/gis/distance.c, lib/segment/address.c, lib/segment/close.c,
+	  lib/segment/flush.c, lib/segment/format.c, lib/segment/get.c,
+	  lib/segment/init.c, lib/segment/open.c, lib/segment/pagein.c,
+	  lib/segment/pageout.c, lib/segment/put_row.c,
+	  lib/segment/release.c, lib/segment/seek.c: dox: segment library
+	  (unnecessary fn and SEG/seg mess)
+
+2012-08-09 08:39  neteler
+
+	* grasslib.dox, lib/gpde/gpdelib.dox: vask lib is gone
+
+2012-08-09 08:13  neteler
+
+	* lib/bitmap/bitmap.c, lib/gis/alloc.c, lib/gis/asprintf.c,
+	  lib/raster3d/alloc.c, lib/vector/Vlib/ascii.c,
+	  lib/vector/Vlib/buffer2.c, lib/vector/neta/bridge.c,
+	  lib/vector/vedit/break.c: fix some doxygen warnings
+
+2012-08-09 07:36  annakrat
+
+	* gui/wxpython/swipe/frame.py: wxGUI/swipe: bugfix
+
+2012-08-09 07:20  annakrat
+
+	* gui/wxpython/Makefile, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gui_core/mapwindow.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/swipe,
+	  gui/wxpython/swipe/dialogs.py, gui/wxpython/swipe/frame.py,
+	  gui/wxpython/swipe/mapwindow.py, gui/wxpython/swipe/toolbars.py,
+	  gui/wxpython/vdigit/mapwindow.py, gui/wxpython/wxpythonlib.dox,
+	  gui/wxpython/xml/menudata.xml: wxGUI: new tool Map Swipe added, a
+	  few changes in base gui code needed
+
+2012-08-09 06:51  wenzeslaus
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/core/render.py,
+	  gui/wxpython/core/settings.py, gui/wxpython/dbmgr/manager.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/psmap/menudata.py,
+	  gui/wxpython/vdigit/wxdigit.py, gui/wxpython/vdigit/wxdisplay.py,
+	  include/ogsf.h, lib/db/dbmi_base/xdrprocedure.c,
+	  lib/display/r_raster.c, lib/display/raster.c,
+	  lib/display/setup.c, lib/gis/alloc.c, lib/gis/color_rules.c,
+	  lib/gis/list.c, lib/gis/location.c, lib/gis/make_loc.c,
+	  lib/gis/make_mapset.c, lib/gis/parser.c, lib/gis/rd_cellhd.c,
+	  lib/imagery/iclass.c, lib/imagery/iclass_perimeter.c,
+	  lib/imagery/iclass_statistics.c, lib/ogsf/GS2.c,
+	  lib/ogsf/gs_query.c, lib/ogsf/gvl_file.c, lib/proj/local_proto.h,
+	  lib/python/task.py, lib/python/temporal/base.py,
+	  lib/raster/color_look.c, lib/raster/init.c,
+	  lib/raster/null_val.c, lib/raster/quant_rw.c,
+	  lib/raster/window_map.c, lib/segment/close.c,
+	  lib/segment/format.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/open.c, lib/segment/put.c, lib/segment/put_row.c,
+	  lib/segment/release.c, lib/segment/seek.c, lib/segment/setup.c,
+	  lib/sites/sites.c, lib/vector/Vlib/dbcolumns.c,
+	  lib/vector/Vlib/header_finfo.c, lib/vector/Vlib/level_two.c: dox:
+	  fixing several doxygen warnings (wrong file names, typos, lt gt
+	  chars)
+
+2012-08-08 15:41  wenzeslaus
+
+	* grasslib.dox, lib/db/stubs/add_col.c,
+	  lib/db/stubs/close_cursor.c, lib/gis/error.c, lib/gis/gislib.dox,
+	  lib/manage/sighold.c, lib/ogsf/gsget.c, lib/ogsf/mc33_table.h,
+	  lib/proj/datum.c, lib/proj/local_proto.h,
+	  lib/raster/align_window.c, lib/raster/cell_stats.c,
+	  lib/raster/color_out.c, lib/raster/rasterlib.dox,
+	  lib/raster3d/raster3dlib.dox, lib/temporal/lib/connect.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/diglib/update.c,
+	  lib/vector/neta/bridge.c, lib/vector/neta/centrality.c,
+	  lib/vector/vectorlib.dox, rfc/RFC1_PSC.dox, rfc/rfc_list.dox:
+	  dox: reducing doxygen warnings
+
+2012-08-08 15:37  wenzeslaus
+
+	* lib/vector/dglib/dglib.dox: vectlib.dox: moving text from main
+	  page finished
+
+2012-08-08 13:44  mmetz
+
+	* raster/r.in.lidar/r.in.lidar.html, raster/r.in.xyz/r.in.xyz.html:
+	  r.in.[lidar|xyz]: update manual
+
+2012-08-08 11:52  marisn
+
+	* lib/init/grass.py: Better support of system unsupported locales
+
+2012-08-08 10:37  mmetz
+
+	* lib/gis/alloc.c: libgis: out-of-memory is usually caused by too
+	  many cells, print current rows, cols
+
+2012-08-08 10:30  mmetz
+
+	* raster/r.in.xyz/main.c: r.in.xyz: support for more than 2 billion
+	  cells in current region
+
+2012-08-08 10:26  mmetz
+
+	* raster/r.in.lidar/main.c: r.in.lidar: support for more than 2
+	  billion cells in current region
+
+2012-08-08 07:39  mmetz
+
+	* lib/vector/rtree/rtree.h: rtree: revert accidential change
+
+2012-08-08 06:40  marisn
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py: Add C locale as alias of EN
+	  for GUI language switcher
+
+2012-08-07 18:58  mmetz
+
+	* lib/vector/Vlib/copy.c: Vlib: Vect_copy_map_lines_field(), copy
+	  != export
+
+2012-08-07 18:55  mmetz
+
+	* lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_node.c:
+	  diglib: comments, documentation
+
+2012-08-07 18:41  martinl
+
+	* include/vect/dig_structs.h: vlib: remove commented dbdriver
+	  (dig_struct.h)
+	  dox cosmetics
+
+2012-08-07 17:45  wenzeslaus
+
+	* grasslib.dox, lib/vector/vectorlib.dox,
+	  lib/vector/vectorlib_ascii.dox, lib/vector/vectorlib_files.dox,
+	  lib/vector/vectorlib_libraries.dox, lib/vector/vectorlib_ogr.dox,
+	  lib/vector/vectorlib_spatialindex.dox,
+	  lib/vector/vectorlib_tin.dox, lib/vector/vectorlib_topology.dox:
+	  vectorlib.dox: splitted to several pages (files), proper usage of
+	  subpage
+
+2012-08-07 16:36  martinl
+
+	* lib/vector/Vlib/copy.c: vlib: document static fns in copy.c
+	  Vect_copy_map_lines(): return error code when writing new feature
+	  fails
+
+2012-08-07 16:28  martinl
+
+	* lib/gis/error.c: libgis: print message prefix also in plain mode
+
+2012-08-07 15:24  marisn
+
+	* gui/wxpython/core/settings.py: Fix WXGUI startup on non-NLS
+	  systems accidentaly broken by me :(
+
+2012-08-07 15:10  mmetz
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gcp/toolbars.py,
+	  gui/wxpython/gui_core/toolbars.py: wx GCP manager: toggle tools
+
+2012-08-07 14:56  martinl
+
+	* vector/v.out.postgis/create.c, vector/v.out.postgis/export.c,
+	  vector/v.out.postgis/export_topo.c,
+	  vector/v.out.postgis/local_proto.h, vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/options.c: v.out.postgis: simplify code, use
+	  Vect_copy_map_lines()
+
+2012-08-07 14:33  huhabla
+
+	* include/defs/vector.h: Fixed append boxlist naming issue, thanks
+	  to Pietro
+
+2012-08-07 14:24  martinl
+
+	* lib/vector/Vlib/copy.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/map.c: vlib: move Vect_copy_map_lines() and
+	  Vect_copy_tables() to the separate file (copy.c)
+	  simplify Vect_copy_map_lines() code
+	  update Vect_copy_map_lines() for better support of OGR/PostGIS
+	  formats
+
+2012-08-07 13:33  annakrat
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI/lmgr: attempt to fix tree
+	  selection
+
+2012-08-07 13:00  mmetz
+
+	* gui/wxpython/gcp/manager.py: wx GCP manager: keep point index
+
+2012-08-07 12:40  mmetz
+
+	* lib/vector/vectorlib.dox: vectorlib.dox: add examples, minor
+	  updates
+
+2012-08-07 09:58  wenzeslaus
+
+	* lib/vector/Vlib/cats.c: vlib: dox
+
+2012-08-06 21:38  martinl
+
+	* vector/v.out.postgis/local_proto.h, vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/options.c: v.out.postgis: new parameter to
+	  define output schema
+
+2012-08-06 21:34  martinl
+
+	* lib/vector/Vlib/close.c, lib/vector/Vlib/open.c: vlib: check
+	  GRASS_VECTOR_PGFILE (defined by v.out.postgis) when
+	  opening/creating vector map
+
+2012-08-06 20:10  martinl
+
+	* lib/vector/Vlib/open.c, lib/vector/Vlib/open_pg.c: vlib: fix
+	  clean up when creation of new vector map fails (pg)
+
+2012-08-06 19:07  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/header_finfo.c,
+	  vector/v.info/print.c: vlib: remove
+	  Vect_get_finfo_geometry_column()
+	  add Vect_get_finfo()
+	  update v.info & untabify
+
+2012-08-06 18:51  martinl
+
+	* vector/v.external.out/link.c, vector/v.out.ogr/main.c:
+	  v.external.out & v.out.ogr: print warning for dsn with prefix PG:
+	  when format is not PostgreSQL
+
+2012-08-06 16:52  martinl
+
+	* lib/raster/xdr.c: rasterlib: add missing header
+
+2012-08-06 16:41  martinl
+
+	* vector/v.out.postgis, vector/v.out.postgis/Makefile,
+	  vector/v.out.postgis/export.c,
+	  vector/v.out.postgis/export_topo.c,
+	  vector/v.out.postgis/local_proto.h, vector/v.out.postgis/main.c,
+	  vector/v.out.postgis/options.c,
+	  vector/v.out.postgis/v.out.postgis.html: v.out.postgis: new
+	  module to export GRASS vector data into PostGIS
+	  initial support for PostGIS topology
+	  very initial prototype (work in progress), disabled by default
+
+2012-08-06 16:17  martinl
+
+	* vector/v.external.out/link.c: v.external.out: message cosmetics
+
+2012-08-06 16:16  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/write_pg.c: vlib:
+	  postgis topology support (work in progress)
+	  Vect_write_area_pg() introduced
+
+2012-08-06 13:54  neteler
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasswxpy_cs.po: converted to UTF-8
+
+2012-08-06 13:25  annakrat
+
+	* locale/po/grassmods_cs.po: fix translation
+
+2012-08-06 13:17  neteler
+
+	* locale/po/grassmods_cs.po: backport of r52553
+
+2012-08-06 12:47  mmetz
+
+	* lib/vector/diglib/spindex.c: diglib: changed rtree search hit
+	  callback
+
+2012-08-06 05:52  marisn
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py, lib/init/grass.py: Add
+	  system locale option to language switching; Fail back to system
+	  locale in case of error
+
+2012-08-05 20:49  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib: speed up Vect_break_lines()
+
+2012-08-05 20:39  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: diglib: changed rtree search fn
+	  def
+
+2012-08-05 20:29  mmetz
+
+	* lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/snap.c: Vlib:
+	  static where possible
+
+2012-08-05 20:26  mmetz
+
+	* lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/rtree_search.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/snap.c: Vlib: changed rtree search fn
+
+2012-08-05 20:22  mmetz
+
+	* lib/vector/rtree/indexf.c, lib/vector/rtree/indexm.c,
+	  lib/vector/rtree/rtree.h: rtree search optimization: pass pointer
+	  instead of struct
+
+2012-08-05 19:42  mmetz
+
+	* include/vect/dig_externs.h, lib/vector/Vlib/box.c,
+	  lib/vector/diglib/spindex.c: vector libs: optimize bbox search
+
+2012-08-05 19:33  huhabla
+
+	* temporal/t.list/t.list.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py: Documentation
+	  update
+
+2012-08-05 19:14  neteler
+
+	* temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.export/test.t.vect.export.sh,
+	  temporal/t.vect.import/t.vect.import.html,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.import/test.t.vect.import.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds_relative.sh:
+	  svn propset
+
+2012-08-05 18:31  huhabla
+
+	* temporal/t.rast.aggregate/t.rast.aggregate.html: Added manpage
+	  content
+
+2012-08-05 08:17  mmetz
+
+	* vector/v.vect.stats/main.c: v.vect.stats fn def update
+
+2012-08-05 08:17  mmetz
+
+	* vector/v.select/overlap.c, vector/v.select/select.c: v.select fn
+	  def update
+
+2012-08-05 08:16  mmetz
+
+	* vector/v.distance/main.c: v.distance fn def update
+
+2012-08-05 08:14  mmetz
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/find.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/write_nat.c: Vlib: update for changed fn defs
+
+2012-08-05 08:12  mmetz
+
+	* lib/vector/Vlib/read_sfa.c: Vlib: minor bugfix
+
+2012-08-05 08:11  mmetz
+
+	* lib/vector/Vlib/build.c: Vlib: faster Vect_isle_find_area()
+
+2012-08-05 08:10  mmetz
+
+	* include/defs/vector.h: Vlib: pass pointer instead of struct
+
+2012-08-05 08:08  mmetz
+
+	* include/vect/dig_externs.h: update header for diglib
+
+2012-08-05 08:07  mmetz
+
+	* lib/vector/diglib/plus_area.c: diglib: optimization
+
+2012-08-05 08:04  mmetz
+
+	* lib/vector/Vlib/box.c: Vlib: simplify code
+
+2012-08-04 21:04  neteler
+
+	* imagery/imageryintro.html: link Wiki page
+
+2012-08-04 19:22  mmetz
+
+	* lib/vector/Vlib/intersect.c: Vlib inersect.c: print debug only on
+	  required debug level
+
+2012-08-04 19:02  mmetz
+
+	* lib/vector/Vlib/break_lines.c: Vlib break lines: optimization
+
+2012-08-04 19:00  mmetz
+
+	* lib/vector/Vlib/dgraph.c: Vlib dgraph.c: use GRASS_EPSILON
+
+2012-08-04 18:33  mmetz
+
+	* lib/vector/diglib/plus_node.c: diglib, dig_add_node(): use faster
+	  traditional list insert
+
+2012-08-04 18:26  mmetz
+
+	* lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c:
+	  diglib: cosmetics
+
+2012-08-04 18:24  mmetz
+
+	* lib/vector/diglib/inside.c: diglib: optimize dig_x_intersect
+
+2012-08-04 18:21  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/rect.c, lib/vector/rtree/rtree.h: rtree: prepare
+	  for future modifications
+
+2012-08-04 18:19  mmetz
+
+	* lib/vector/Vlib/find.c: Vlib: swap bboxes
+
+2012-08-04 05:11  marisn
+
+	* gui/wxpython/core/settings.py, lib/init/grass.py: For GUI
+	  language switching, use only languages with present translations.
+	  Don't allow to switch to unsupported locale.
+
+2012-08-04 05:06  marisn
+
+	* general/g.proj/input.c: Silence compiler warnings
+
+2012-08-03 23:55  huhabla
+
+	* lib/python/temporal/stds_import.py: Use absolute path for
+	  projection file comparison
+
+2012-08-03 01:00  huhabla
+
+	* lib/python/core.py, lib/python/temporal/Makefile,
+	  lib/python/temporal/__init__.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/stds_export.py,
+	  lib/python/temporal/stds_import.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.export/test.t.rast.export.sh,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.vect.export, temporal/t.vect.export/Makefile,
+	  temporal/t.vect.export/t.vect.export.html,
+	  temporal/t.vect.export/t.vect.export.py,
+	  temporal/t.vect.export/test.t.vect.export.sh,
+	  temporal/t.vect.import, temporal/t.vect.import/Makefile,
+	  temporal/t.vect.import/t.vect.import.html,
+	  temporal/t.vect.import/t.vect.import.py,
+	  temporal/t.vect.import/test.t.vect.import.sh: Added space time
+	  vector import and export. Import and export are
+	  consolidated for space time datasets and moved to the temporal
+	  library.
+	  Space time raster and vector datasets export and import modules
+	  are using the grass packing mechanism (v.pack, v.unpack, r.pack
+	  and r.unpack).
+	  Using new projection comparison method.
+	  Some bugfixing.
+
+2012-08-02 23:26  huhabla
+
+	* scripts/r.pack/r.pack.py, scripts/r.unpack/r.unpack.py,
+	  scripts/r.unpack/test_suite,
+	  scripts/r.unpack/test_suite/test.r.unpack.sh,
+	  scripts/r.unpack/test_suite/test_double.ref,
+	  scripts/r.unpack/test_suite/test_double_uncompressed.ref,
+	  scripts/r.unpack/test_suite/test_float.ref,
+	  scripts/r.unpack/test_suite/test_float_uncompressed.ref,
+	  scripts/r.unpack/test_suite/test_int.ref,
+	  scripts/r.unpack/test_suite/test_int_uncompressed.ref: Fixed
+	  small bugs (output name handling in r.unpack), added
+	  more robust projection file comparison, added compression flag
+	  and tests
+
+2012-08-02 23:24  huhabla
+
+	* lib/python/core.py: Added key-value text file comparison function
+
+2012-08-02 21:28  martinl
+
+	* raster/r.clump/main.c, raster/r.clump/r.clump.html: r.clump:
+	  better description for title, fix syntax typo in r52506
+
+2012-08-02 21:26  martinl
+
+	* raster/r.clump/r.clump.html: r.clump: manual cosmetics
+
+2012-08-01 14:11  marisn
+
+	* locale/po/grasslibs_lv.po, locale/po/grassmods_lv.po,
+	  locale/po/grasswxpy_lv.po: LV translation update
+
+2012-08-01 13:58  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py: wxGUI: added default
+	  implementation of method to MapFrameBase
+
+2012-08-01 08:40  annakrat
+
+	* imagery/i.maxlik/open.c: i.maxlik: added missing arguments for
+	  format string
+
+2012-07-31 18:09  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/indexm.c,
+	  lib/vector/rtree/node.c, lib/vector/rtree/rect.c,
+	  lib/vector/rtree/rtree.h, lib/vector/rtree/split.c: rtree
+	  optimizations
+
+2012-07-31 18:06  mmetz
+
+	* lib/vector/Vlib/poly.c: Vlib poly optimization
+
+2012-07-31 16:46  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: GMConsole - eliminate
+	  gtk_widget_size_allocate() warnings
+
+2012-07-31 16:04  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: CmdThread - parameters
+	  requestQ, resultQ optional
+
+2012-07-30 16:53  martinl
+
+	* include/raster.h, lib/gis/gislib.dox, lib/raster/rasterlib.dox:
+	  rasterlib: better documentation of History structure
+
+2012-07-30 16:20  annakrat
+
+	* lib/python/vector.py: pythonlib/vector: add option to query
+	  different topology types (related to r52425)
+
+2012-07-28 09:42  martinl
+
+	* scripts/r.in.wms/Makefile: fix Makefile for r.in.wms
+
+2012-07-28 09:20  martinl
+
+	* scripts/r.in.wms/r.in.wms.html, scripts/r.in.wms/r.in.wms.py:
+	  r.in.wms2 -> r.in.wms
+
+2012-07-28 09:19  martinl
+
+	* scripts/r.in.wms/Makefile, scripts/r.in.wms/gdalwarp.py,
+	  scripts/r.in.wms/r.in.gdalwarp.py,
+	  scripts/r.in.wms/r.in.wms.html, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.in.wms/wms_base.py, scripts/r.in.wms/wms_download.py,
+	  scripts/r.in.wms/wms_drv.py, scripts/r.in.wms/wms_gdal.py,
+	  scripts/r.in.wms/wms_gdal_drv.py, scripts/r.in.wms/wms_parse.py,
+	  scripts/r.in.wms/wms_request.py: r.in.wms replaced by new version
+	  from grass-addons (r.in.wms2)
+	  Module `r.in.wms2` has been written by Stepan Turek (bachelor
+	  project)
+
+2012-07-27 20:53  martinl
+
+	* include/gis.h: doxygen cosmetics: document `format: -1`
+
+2012-07-27 20:12  martinl
+
+	* include/gis.h: better doxygen documentation of project codes
+	  (gis.h)
+
+2012-07-27 20:06  martinl
+
+	* include/gis.h, lib/gis/gislib.dox, lib/raster/rasterlib.dox:
+	  better doxygen documentation of Cell_head structure
+
+2012-07-27 20:05  martinl
+
+	* lib/vector/Vlib/simple_features.c: vlib: better doxygen
+	  documentation for simple_features.c
+
+2012-07-27 14:24  martinl
+
+	* lib/gis/parser_html.c, lib/gis/parser_rest.c: libgis: add doxygen
+	  header (parser_rest|html.c)
+
+2012-07-27 08:04  lucadelu
+
+	* lib/gis/parser_rest.c: fix comment change // to /*
+
+2012-07-27 06:37  hamish
+
+	* lib/gis/parser.c, lib/gis/parser_rest.c, lib/gis/parser_rst.c:
+	  rename and upper case things so it is more obvious that this is
+	  to do with ReStructured Text and not the RST spline library or
+	  RESTful URLs
+
+2012-07-27 06:17  lucadelu
+
+	* lib/gis/parser.c, lib/gis/parser_local_proto.h,
+	  lib/gis/parser_rst.c: add parse to return as output rest format
+
+2012-07-27 01:17  hamish
+
+	* db/drivers/dbf/db.c: fix #1690: when dbf/ dir was missing it was
+	  making it, but continuing with dir still as (null), merge from
+	  devbr6
+
+2012-07-25 15:24  annakrat
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: rerender map when
+	  command finished
+
+2012-07-25 09:03  huhabla
+
+	* temporal/t.vect.what.strds/t.vect.what.strds.py,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds_relative.sh:
+	  Fixed bug reported by Peter Löwe and added a test.
+
+2012-07-24 00:05  hamish
+
+	* display/d.geodesic/d_geodesic.png,
+	  display/d.rhumbline/d_rhumbline.png, doc/grass7_arch.png,
+	  doc/vector/grass51concept.png, gui/icons/flags/af.png,
+	  gui/icons/flags/am.png, gui/icons/flags/ar.png,
+	  gui/icons/flags/bg.png, gui/icons/flags/cs.png,
+	  gui/icons/flags/da.png, gui/icons/flags/de.png,
+	  gui/icons/flags/el.png, gui/icons/flags/es.png,
+	  gui/icons/flags/fa.png, gui/icons/flags/fi.png,
+	  gui/icons/flags/fr.png, gui/icons/flags/hr.png,
+	  gui/icons/flags/hu.png, gui/icons/flags/is.png,
+	  gui/icons/flags/ka.png, gui/icons/flags/ko.png,
+	  gui/icons/flags/lo.png, gui/icons/flags/lt.png,
+	  gui/icons/flags/lv.png, gui/icons/flags/ml.png,
+	  gui/icons/flags/mn.png, gui/icons/flags/mr.png,
+	  gui/icons/flags/nl.png, gui/icons/flags/no.png,
+	  gui/icons/flags/pt.png, gui/icons/flags/pt_br.png,
+	  gui/icons/flags/ro.png, gui/icons/flags/ru.png,
+	  gui/icons/flags/sk.png, gui/icons/flags/sl.png,
+	  gui/icons/flags/sq.png, gui/icons/flags/sr.png,
+	  gui/icons/flags/sv.png, gui/icons/flags/ta.png,
+	  gui/icons/flags/th.png, gui/icons/flags/tr.png,
+	  gui/icons/flags/uk.png, gui/icons/flags/vi.png,
+	  gui/icons/flags/xh.png, gui/icons/flags/zh.png,
+	  gui/icons/flags/zh_tw.png, gui/icons/grass-48x48.png,
+	  gui/icons/grass-64x64.png, gui/icons/grass/3d-help.png,
+	  gui/icons/grass/3d-rotate.png, gui/icons/grass/3d-settings.png,
+	  gui/icons/grass/attributes-display.png,
+	  gui/icons/grass/boundary-create.png,
+	  gui/icons/grass/calculator.png, gui/icons/grass/cats-copy.png,
+	  gui/icons/grass/cats-display.png,
+	  gui/icons/grass/centroid-create.png, gui/icons/grass/check.png,
+	  gui/icons/grass/create.png, gui/icons/grass/data-add.png,
+	  gui/icons/grass/erase.png, gui/icons/grass/execute.png,
+	  gui/icons/grass/flythrough.png, gui/icons/grass/font.png,
+	  gui/icons/grass/gcp-add.png, gui/icons/grass/gcp-create.png,
+	  gui/icons/grass/gcp-delete.png, gui/icons/grass/gcp-remove.png,
+	  gui/icons/grass/gcp-rms.png, gui/icons/grass/gcp-save.png,
+	  gui/icons/grass/georectify.png, gui/icons/grass/help.png,
+	  gui/icons/grass/image-add.png, gui/icons/grass/image-export.png,
+	  gui/icons/grass/info.png, gui/icons/grass/layer-add.png,
+	  gui/icons/grass/layer-aspect-arrow-add.png,
+	  gui/icons/grass/layer-cell-cats-add.png,
+	  gui/icons/grass/layer-command-add.png,
+	  gui/icons/grass/layer-export.png,
+	  gui/icons/grass/layer-grid-add.png,
+	  gui/icons/grass/layer-group-add.png,
+	  gui/icons/grass/layer-his-add.png,
+	  gui/icons/grass/layer-import.png,
+	  gui/icons/grass/layer-label-add.png,
+	  gui/icons/grass/layer-more.png,
+	  gui/icons/grass/layer-opacity.png,
+	  gui/icons/grass/layer-open.png,
+	  gui/icons/grass/layer-raster-add.png,
+	  gui/icons/grass/layer-raster-analyze.png,
+	  gui/icons/grass/layer-raster-histogram.png,
+	  gui/icons/grass/layer-raster-more.png,
+	  gui/icons/grass/layer-raster-profile.png,
+	  gui/icons/grass/layer-raster3d-add.png,
+	  gui/icons/grass/layer-redraw.png,
+	  gui/icons/grass/layer-remove.png,
+	  gui/icons/grass/layer-rgb-add.png,
+	  gui/icons/grass/layer-shaded-relief-add.png,
+	  gui/icons/grass/layer-vector-add.png,
+	  gui/icons/grass/layer-vector-chart-add.png,
+	  gui/icons/grass/layer-vector-more.png,
+	  gui/icons/grass/layer-vector-thematic-add.png,
+	  gui/icons/grass/layer-wms-add.png,
+	  gui/icons/grass/legend-add.png, gui/icons/grass/line-add.png,
+	  gui/icons/grass/line-create.png, gui/icons/grass/line-delete.png,
+	  gui/icons/grass/line-edit.png, gui/icons/grass/line-move.png,
+	  gui/icons/grass/line-split.png, gui/icons/grass/loop-add.png,
+	  gui/icons/grass/map-add.png, gui/icons/grass/map-export.png,
+	  gui/icons/grass/map-info.png, gui/icons/grass/map-settings.png,
+	  gui/icons/grass/measure-length.png,
+	  gui/icons/grass/modeler-main.png, gui/icons/grass/module-add.png,
+	  gui/icons/grass/monitor-create.png,
+	  gui/icons/grass/north-arrow-add.png, gui/icons/grass/open.png,
+	  gui/icons/grass/options.png, gui/icons/grass/overlay-add.png,
+	  gui/icons/grass/page-settings.png, gui/icons/grass/pan.png,
+	  gui/icons/grass/pdf-export.png, gui/icons/grass/point-add.png,
+	  gui/icons/grass/point-create.png, gui/icons/grass/pointer.png,
+	  gui/icons/grass/polygon-create.png,
+	  gui/icons/grass/print-compose.png, gui/icons/grass/print.png,
+	  gui/icons/grass/ps-export.png, gui/icons/grass/python-export.png,
+	  gui/icons/grass/quit.png, gui/icons/grass/rectangle-add.png,
+	  gui/icons/grass/redo.png, gui/icons/grass/redraw.png,
+	  gui/icons/grass/relation-create.png, gui/icons/grass/reload.png,
+	  gui/icons/grass/save.png, gui/icons/grass/scalebar-add.png,
+	  gui/icons/grass/script-load.png, gui/icons/grass/script-save.png,
+	  gui/icons/grass/settings.png, gui/icons/grass/show.png,
+	  gui/icons/grass/table-manager.png, gui/icons/grass/table.png,
+	  gui/icons/grass/text-add.png, gui/icons/grass/tools.png,
+	  gui/icons/grass/undo.png, gui/icons/grass/vertex-create.png,
+	  gui/icons/grass/vertex-delete.png,
+	  gui/icons/grass/vertex-move.png, gui/icons/grass/zoom-extent.png,
+	  gui/icons/grass/zoom-in.png, gui/icons/grass/zoom-last.png,
+	  gui/icons/grass/zoom-more.png, gui/icons/grass/zoom-out.png,
+	  gui/images/grass_form.png, gui/images/loc_wizard.png,
+	  gui/images/loc_wizard_qgis.png, gui/images/qgis_world.png,
+	  gui/images/scalebar-fancy.png, gui/images/scalebar-simple.png,
+	  gui/images/silesia_splash.png, gui/images/small_down_arrow.png,
+	  gui/images/small_up_arrow.png, gui/images/startup_banner.png,
+	  gui/images/symbols/basic/arrow1.png,
+	  gui/images/symbols/basic/arrow3.png,
+	  gui/images/symbols/basic/box.png,
+	  gui/images/symbols/basic/circle.png,
+	  gui/images/symbols/basic/cross1.png,
+	  gui/images/symbols/basic/cross3.png,
+	  gui/images/symbols/basic/diamond.png,
+	  gui/images/symbols/basic/octagon.png,
+	  gui/images/symbols/basic/point.png,
+	  gui/images/symbols/basic/pushpin.png,
+	  gui/images/symbols/basic/star.png,
+	  gui/images/symbols/basic/triangle.png,
+	  gui/images/symbols/basic/x.png, gui/images/symbols/demo/smrk.png,
+	  gui/images/symbols/extra/4pt_star.png,
+	  gui/images/symbols/extra/adcp.png,
+	  gui/images/symbols/extra/airport.png,
+	  gui/images/symbols/extra/alpha_flag.png,
+	  gui/images/symbols/extra/bridge.png,
+	  gui/images/symbols/extra/compass.png,
+	  gui/images/symbols/extra/dive_flag.png,
+	  gui/images/symbols/extra/fancy_compass.png,
+	  gui/images/symbols/extra/fiducial.png,
+	  gui/images/symbols/extra/half-box.png,
+	  gui/images/symbols/extra/half-circle.png,
+	  gui/images/symbols/extra/n_arrow4.png,
+	  gui/images/symbols/extra/offbox_ne.png,
+	  gui/images/symbols/extra/offbox_nw.png,
+	  gui/images/symbols/extra/offbox_se.png,
+	  gui/images/symbols/extra/offbox_sw.png,
+	  gui/images/symbols/extra/pentagon.png,
+	  gui/images/symbols/extra/ring.png,
+	  gui/images/symbols/extra/target.png,
+	  gui/images/symbols/geology/strike_box.png,
+	  gui/images/symbols/geology/strike_circle.png,
+	  gui/images/symbols/geology/strike_half-bowtie.png,
+	  gui/images/symbols/geology/strike_triangle.png,
+	  imagery/i.cluster/landsat_cluster.png,
+	  lib/init/help_loc_struct.png, lib/loc_struct.png,
+	  lib/raster3d/volume_layout.png, man/grass_icon.png,
+	  man/grass_logo.png, raster/r.cost/rcost_knightsmove.png,
+	  raster/r.gwflow/r_gwflow_concept.png,
+	  raster/r.li/r.li.cwed/rlicwed_formula.png,
+	  raster/r.li/r.li.dominance/rliDominance_formula.png,
+	  raster/r.li/r.li.edgedensity/rliEdgeDensity_formula1.png,
+	  raster/r.li/r.li.edgedensity/rliEdgeDensity_formula2.png,
+	  raster/r.li/r.li.mpa/rlimpa_formula.png,
+	  raster/r.li/r.li.mps/rlimps_formula.png,
+	  raster/r.li/r.li.padcv/rlipadcv_formula1.png,
+	  raster/r.li/r.li.padcv/rlipadcv_formula2.png,
+	  raster/r.li/r.li.padrange/rlipadrange_formula.png,
+	  raster/r.li/r.li.padsd/rlipadsd_formula.png,
+	  raster/r.li/r.li.richness/rliRichness_formula.png,
+	  raster/r.li/r.li.shannon/rliShannon_formula.png,
+	  raster/r.li/r.li.simpson/rliSimpson_formula.png,
+	  raster/r.slope.aspect/aspect.png, raster/r.slope.aspect/dem.png,
+	  raster/r.slope.aspect/pcurv.png, raster/r.slope.aspect/slope.png,
+	  raster/r.slope.aspect/tcurv.png,
+	  raster/r.surf.gauss/r_surf_gauss_hist.png,
+	  raster/r.surf.random/r_surf_random_hist.png,
+	  raster/r.terraflow/rterraflow_dir2.png,
+	  raster/r.terraflow/rterraflow_dir3.png,
+	  raster/r.to.rast3/r.to.rast3.png,
+	  raster/r.to.rast3elev/r.to.rast3elev.png,
+	  raster/r.viewshed/sweep1.png, raster/r.viewshed/sweep2.png,
+	  raster/r.water.outlet/r_water_outlet.png,
+	  raster/simwe/r.sim.water/r_sim_water.png,
+	  raster3d/r3.cross.rast/r3.cross.rast.png,
+	  raster3d/r3.in.ascii/g3d_volume_layout.png,
+	  raster3d/r3.to.rast/r3.to.rast.png,
+	  scripts/d.polar/d_polar_aspect.png,
+	  vector/v.net.alloc/v_net_alloc.png,
+	  vector/v.net.alloc/v_net_alloc_time.png,
+	  vector/v.net.distance/vnetdistance.png,
+	  vector/v.net.iso/vnetiso.png, vector/v.net.iso/vnetisotime.png,
+	  vector/v.net.path/vnetpath.png,
+	  vector/v.net.salesman/vnetsalesman.png,
+	  vector/v.net.salesman/vnetsalesmantime.png,
+	  vector/v.net.steiner/vnetsteiner.png,
+	  vector/v.net.steiner/vnetsteinertime.png,
+	  vector/v.overlay/v_overlay_area_lines.png,
+	  vector/v.to.rast3/v.to.rast3.test.png,
+	  vector/v.voronoi/v_voronoi_delaunay.png,
+	  visualization/nviz/html/nvimg/panel/keyexample.png: compress PNG
+	  images with 'optipng -o5'; svn props
+
+2012-07-23 11:56  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: delete unused wx.Image
+	  instances when rendering
+
+2012-07-21 17:53  neteler
+
+	* vector/vectorintro.html: + v.rectify
+
+2012-07-20 17:53  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix v.external.out's
+	  front-end when no option is given
+
+2012-07-20 14:41  annakrat
+
+	* gui/wxpython/gui_core/menu.py, gui/wxpython/xml/menudata.xml:
+	  wxGUI: revert r52423 and hide commands in a different way
+
+2012-07-20 14:22  annakrat
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: should have been in r52423
+
+2012-07-20 14:18  mmetz
+
+	* vector/v.what/main.c, vector/v.what/what.c, vector/v.what/what.h:
+	  v.what: add type option with default point,line,area
+
+2012-07-20 14:08  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: Map Display: context
+	  menu for copying coordinates to clipboard
+
+2012-07-20 14:01  annakrat
+
+	* gui/wxpython/xml/menudata.xml: wxGUI/menudata: remove command
+	  name from menu when using custom dialog (not to confuse the user)
+
+2012-07-20 11:17  martinl
+
+	* doc/projectionintro.html: manual: gis.m -> wxGUI
+
+2012-07-20 07:30  neteler
+
+	* doc/projectionintro.html: mention v.rectify
+
+2012-07-19 16:56  neteler
+
+	* doc/raster/r.example/r.example.html,
+	  doc/vector/v.example/v.example.html: fix progman URL
+
+2012-07-19 10:11  neteler
+
+	* vector/v.sample/v.sample.html: mention v.what.rast
+
+2012-07-19 09:30  neteler
+
+	* raster/r.compress/r.compress.html: explain RLE and zlib
+
+2012-07-18 15:48  neteler
+
+	* man/build_html.py: add GRASSVERSION in footer
+
+2012-07-17 19:14  martinl
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI/preferences: layout
+	  cosmetics
+
+2012-07-17 15:41  neteler
+
+	* scripts/d.rast.leg/d.rast.leg.py: propagate -s flag from d.legend
+
+2012-07-17 08:30  annakrat
+
+	* lib/ogsf/gvld.c: ogsf: patch by Glynn (from #1423)
+
+2012-07-17 07:50  mmetz
+
+	* gui/wxpython/gui_core/goutput.py: fix for obscure bug:
+	  wxEvtHandler::ProcessPendingEvents(): Please call
+	  wxApp::ProcessPendingEvents() instead
+
+2012-07-16 22:10  martinl
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: better check for wx.vnet
+
+2012-07-16 21:30  martinl
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI: enlarge settings
+	  dialog
+
+2012-07-16 21:05  martinl
+
+	* lib/vector/Vlib/write.c, lib/vector/Vlib/write_ogr.c,
+	  lib/vector/Vlib/write_sfa.c: vlib: doxygen cosmetics
+
+2012-07-16 21:03  martinl
+
+	* lib/display/r_raster.c: displaylib: Replace strncmp() by
+	  G_strncasecmp()
+
+2012-07-16 07:54  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: fixed zoom (combination
+	  of recenter mode and backward wheel direction
+
+2012-07-16 07:37  wenzeslaus
+
+	* SUBMITTING_DOCS: removing blink and header HTML tags and adding
+	  further notes
+
+2012-07-16 07:03  neteler
+
+	* SUBMITTING_DOCS: note about g.html2man added
+
+2012-07-15 15:04  annakrat
+
+	* lib/ogsf/gsd_fringe.c: improved fringe rendering (GL_QUAD_STRIP
+	  instead of GL_POLYGON which can't draw concave polygons)
+
+2012-07-13 20:57  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: fix zooming out for
+	  recenter mode
+
+2012-07-13 16:26  wenzeslaus
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: add multiple map dialog:
+	  usage of regexp improved
+
+2012-07-13 16:22  annakrat
+
+	* scripts/r.pack/r.pack.py: r.pack: write output to given
+	  directory, not current working directory
+
+2012-07-12 12:50  neteler
+
+	* imagery/i.pca/main.c: label standardization (like r.texture)
+
+2012-07-12 12:48  neteler
+
+	* raster/r.texture/main.c: no gisprompt to avoid adding to wxGUI
+	  (like i.pca)
+
+2012-07-10 16:09  annakrat
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/psmap/frame.py:
+	  wxGUI: change default zoom behaviour - from zoom and recenter to
+	  zoom to mouse cursor - and added to settings
+
+2012-07-10 11:15  martinl
+
+	* lib/vector/Vlib/write_ogr.c: vlib: minor update of doxygen
+	  strings in write_ogr.c
+
+2012-07-10 07:57  martinl
+
+	* display/d.mon/start.c: d.mon: add missing GRASS_PNG_READ
+
+2012-07-09 16:42  martinl
+
+	* vector/v.generalize/main.c: v.generalize: use G_done_msg() when
+	  reporting results
+
+2012-07-09 16:37  martinl
+
+	* vector/v.generalize/main.c: v.generalize: module description
+	  cosmetics (more guisections)
+	  simplify localization of option->descriptions
+
+2012-07-09 12:30  annakrat
+
+	* general/g.mlist/main.c: fixed copy and paste error
+
+2012-07-08 13:49  martinl
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix r52335 (patch provided
+	  by Stepan Turek)
+
+2012-07-08 09:07  martinl
+
+	* display/d.mon/list.c, display/d.mon/start.c: d.mon: close file
+	  when listing monitors
+	  print env variable on verbose mode
+
+2012-07-07 21:53  martinl
+
+	* lib/display/icon.c: displaylib: update icon.c doxygen strings
+
+2012-07-07 18:30  mmetz
+
+	* raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/init_vars.c: r.watershed seg: close output
+	  raster
+
+2012-07-07 09:22  martinl
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/toolbars.py:
+	  wxGUI/mapdisp: add item for vector analysis tool (experimental,
+	  GSoC 2012)
+	  --- testing issues
+
+2012-07-07 00:21  martinl
+
+	* include/Make/Module.make: fix module install rule (man pages in
+	  `docs` directory)
+
+2012-07-07 00:15  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix installing
+	  wxGUI extensions
+
+2012-07-06 18:19  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: encode model
+	  properties and substitute variables when
+	  exporting to python
+
+2012-07-06 14:09  martinl
+
+	* imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/landsat.c,
+	  imagery/i.landsat.toar/landsat.h, imagery/i.landsat.toar/main.c:
+	  ejtizado: i.landsat.toar: backport r52320 from add-ons
+
+2012-07-06 10:39  wenzeslaus
+
+	* lib/vector/Vlib/cats.c, lib/vector/Vlib/line.c: Vlib: dox: note
+	  about freeing
+
+2012-07-05 16:19  mmetz
+
+	* general/g.parser/main.c: g.parser: revert r52297, issue fixed in
+	  r52313
+
+2012-07-05 16:16  mmetz
+
+	* lib/python/task.py: python lib: 'Unable to fetch interface
+	  description' is only try if g.parser exits with EXIT_FAILURE
+
+2012-07-05 15:01  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: added check if overlay
+	  mapfile is not None (d.barscale with latlon projection caused
+	  error)
+
+2012-07-05 14:36  wenzeslaus
+
+	* lib/vector/Vlib/constraint.c: Vlib: dox: updating documentation
+	  according to V2_read_next_line_nat etc. where Vect_box_overlap is
+	  used
+
+2012-07-05 13:19  martinl
+
+	* vector/v.delaunay/in_out.c, vector/v.delaunay/in_out.h,
+	  vector/v.delaunay/main.c: v.delaunay: fix
+	  output_edges/triangles() prototypes (pass pointer to output map)
+
+2012-07-05 11:26  martinl
+
+	* include/defs/vector.h, lib/gis/parser.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/close_pg.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/hist.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/pg_local_proto.h,
+	  vector/v.external/list.c: vlib: when writing to external formats
+	  (defined by v.external.out) vector library creates link
+	  automatically when closing the map (no need to run v.external
+	  explicitly)
+	  gislib: remove extra check for PG/OGR files
+
+2012-07-05 08:20  hamish
+
+	* debian/README.debian: mention apt-get build-dep method
+
+2012-07-04 14:10  mmetz
+
+	* misc/m.nviz.image/main.c: m.nviz.image: clean up resources
+
+2012-07-04 14:09  mmetz
+
+	* lib/nviz/render.c: nviz lib: XOpenDisplay must be followed by
+	  XCloseDisplay
+
+2012-07-04 10:51  hamish
+
+	* lib/python/raster.py: drop orphaned comment
+
+2012-07-04 09:14  annakrat
+
+	* gui/wxpython/core/settings.py, gui/wxpython/nviz/tools.py,
+	  gui/wxpython/nviz/workspace.py, gui/wxpython/nviz/wxnviz.py,
+	  include/defs/ogsf.h, include/ogsf.h, lib/ogsf/GVL2.c,
+	  lib/ogsf/gvl.c, lib/ogsf/gvld.c: wxNviz: optionally display wire
+	  box for volumes (not only for quick draw mode)
+
+2012-07-04 08:21  annakrat
+
+	* general/g.parser/main.c: bugfix: debug message in g.parser can
+	  cause error in wxGUI
+
+2012-07-03 11:49  martinl
+
+	* gui/wxpython/gmodeler/preferences.py: wxGUI/gmodeler: fix layout
+	  of model property dialog (missing wx.EXPAND flag)
+
+2012-07-03 10:59  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: uncheck protocol button
+	  when canceling file dialog
+
+2012-07-02 12:20  martinl
+
+	* general/g.version/main.c: g.version: improve module description
+	  more guisections added
+
+2012-07-01 17:08  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: destroy OGRDataset; restore -l
+	  flag because v.external is not working properly (no attributes)
+
+2012-07-01 17:05  mmetz
+
+	* raster/r.external/link.c, raster/r.external/main.c,
+	  raster/r.external/proto.h: r.external: close GDALDataset; remove
+	  r flag: approximate range is not ok
+
+2012-07-01 17:02  mmetz
+
+	* raster/r.in.gdal/main.c: r.in.gdal: close GDALDataset;
+	  G_done_msg() when we are really done
+
+2012-07-01 17:00  mmetz
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: i.landsat.rgb: fix global
+	  variable
+
+2012-07-01 11:41  neteler
+
+	* temporal/t.vect.db.select/t.vect.db.select.html,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.relative.sh:
+	  svn propset
+
+2012-07-01 10:46  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: note Stepan Turek as one of
+	  authors in the manual
+
+2012-07-01 10:40  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: fix CoordinatesSelect -
+	  register handler (patch provided by Stepan Turek)
+
+2012-07-01 10:30  martinl
+
+	* gui/wxpython/gcp/manager.py: wxGUI: fix typo from r52257
+
+2012-07-01 10:29  martinl
+
+	* gui/wxpython/gcp/manager.py: wxGUI/GCP Manager: use
+	  GraphicsSetItem (patch provided by Stepan Turek)
+
+2012-07-01 10:27  martinl
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI:
+	  GraphicsSet/GraphicsSetItem implemented by Stepan Turek
+
+2012-07-01 08:46  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/gui_core/toolbars.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/wxplot/profile.py:
+	  wxGUI: implementation of handlers registration
+	  (patch provided by Stepan Turek based on contribution with Vaclav
+	  Petras)
+
+2012-06-28 22:43  huhabla
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.relative.sh,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh: More
+	  robust implementation and bug fixing
+
+2012-06-28 16:09  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: diglib: fix
+	  rtree_load_to_memory()
+
+2012-06-28 16:07  mmetz
+
+	* lib/vector/rtree/index.h, lib/vector/rtree/node.c,
+	  lib/vector/rtree/rtree.h: rtree lib: fix RTreeNewNode(), make
+	  RTreeCopyNode() public
+
+2012-06-28 11:41  huhabla
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.relative.sh:
+	  Added relative time test. Fixed relative time handling bug.
+
+2012-06-28 09:21  annakrat
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/wxplot/profile.py:
+	  wxGUI: change in r.what parameter name affects query and profile
+	  tool
+
+2012-06-28 07:54  huhabla
+
+	* display/d.legend/d.legend.html, display/d.legend/main.c: Added
+	  fontscale flag to scale the font size in case of smoothed legend.
+	  Renamed the option structs to use meaningful names.
+
+2012-06-27 17:53  martinl
+
+	* gui/wxpython/docs/wxGUI.PsMap.html: wxGUI/psmap: note PIL
+	  requirement for preview mode
+
+2012-06-27 17:45  martinl
+
+	* REQUIREMENTS.html: requirements: note PIL for wxGUI Cartographic
+	  Composer
+
+2012-06-27 15:03  huhabla
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.py: Error
+	  message bugfix
+
+2012-06-27 10:43  hamish
+
+	* vector/v.surf.bspline/main.c,
+	  vector/v.surf.bspline/v.surf.bspline.html: cosmetic changes and
+	  subregion debug dump to vector ascii
+
+2012-06-27 08:24  wenzeslaus
+
+	* lib/segment/segmentlib.dox: segment lib: dox: more doxygen-style
+	  syntax to produce standardized output
+
+2012-06-27 06:48  annakrat
+
+	* gui/wxpython/wxplot/profile.py: wxGUI/profile: display warning
+	  when points are not inside computational region
+
+2012-06-26 11:24  martinl
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: i.landsat.rgb: more
+	  guisections
+
+2012-06-26 07:46  hamish
+
+	* raster/r.cost/main.c: use boolean macros to aid readability, only
+	  show memory use when it is interesting
+
+2012-06-26 06:59  annakrat
+
+	* gui/wxpython/gui_core/prompt.py,
+	  gui/wxpython/modules/histogram.py: wxGUI: #1679 fixed
+
+2012-06-26 06:37  hamish
+
+	* lib/python/vector.py: arg name must be exact
+
+2012-06-26 06:29  hamish
+
+	* lib/python/raster.py: mapcalc_start() code example
+
+2012-06-26 03:22  hamish
+
+	* raster/r.what/main.c, raster/r.what/r.what.html: rename input= to
+	  map=, sync help page
+
+2012-06-26 03:18  hamish
+
+	* display/d.where/main.c: avoid confusion with east_north coords
+
+2012-06-26 03:05  hamish
+
+	* lib/python/vector.py: expand example
+
+2012-06-26 02:57  hamish
+
+	* lib/python/vector.py: expand/fix vector_db_select() example
+
+2012-06-25 23:09  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: allow user to force
+	  serial execution mode
+
+2012-06-25 19:57  glynn
+
+	* imagery/i.his.rgb/his2rgb.c, imagery/i.rgb.his/rgb2his.c:
+	  Propagate nulls
+
+2012-06-25 12:26  wenzeslaus
+
+	* lib/segment/segmentlib.dox: fixing segmentlib dox file (missing
+	  closing tags)
+
+2012-06-25 02:28  hamish
+
+	* lib/python/raster.py: fn to start r.mapcalc but not wait 'til it
+	  finishes (experimental)
+
+2012-06-24 10:45  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: add support for
+	  multiprocessing python lib (somewhat experimental);
+	  bugfix: preserve flag now sets from all_max,min not blue channel.
+
+2012-06-24 08:27  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: run multiple percentiles
+	  at the same time, halving execution time
+
+2012-06-24 03:10  hamish
+
+	* raster/r.mapcalc/test_suite/README: linewrap
+
+2012-06-24 03:09  hamish
+
+	* raster/r.mapcalc/test_suite/README: rm old/all null region
+	  settting
+
+2012-06-24 03:00  hamish
+
+	* raster/r.mapcalc/test_suite/README: add r.blend example
+	  calculation variants
+
+2012-06-23 16:15  martinl
+
+	* contributors.csv, contributors_extra.csv: contributors update:
+	  Vaclav Petras moved to the contributors file
+	  Stepan Turek added to extra contributors
+
+2012-06-23 15:13  martinl
+
+	* raster/r.resamp.bspline/main.c,
+	  raster/r.resamp.bspline/r.resamp.bspline.html: r.resamp.bspline:
+	  cosmetics in module description
+	  update manual to use standard formatting
+
+2012-06-23 12:31  hamish
+
+	* display/d.what.rast/Makefile, display/d.what.rast/local_proto.h,
+	  display/d.what.rast/main.c, display/d.what.rast/opencell.c,
+	  display/d.what.rast/show.c, display/d.what.rast/what.c: export
+	  floats and doubles with correct precision (#335, merge from
+	  devbr6)
+
+2012-06-23 09:18  hamish
+
+	* scripts/r.blend/r.blend.py: fix cut and paste error
+
+2012-06-23 08:46  hamish
+
+	* scripts/r.blend/r.blend.html: fix html bug
+
+2012-06-23 08:42  hamish
+
+	* scripts/r.blend/r.blend.py: add flag to output single image;
+	  allow percent to be floating point (merge from devbr6)
+
+2012-06-22 10:39  annakrat
+
+	* raster/r.resamp.filter/main.c: use atof instead of atoi for input
+	  parameter
+
+2012-06-22 08:47  huhabla
+
+	* temporal/t.vect.observe.strds/t.vect.observe.strds.py: Correct
+	  input specifier
+
+2012-06-21 13:47  huhabla
+
+	* lib/gis/parser_standard_options.c,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/unit_tests.py,
+	  temporal/t.sample/test.t.sample.sh: Added follows and precedes to
+	  sampling methods
+
+2012-06-21 09:23  glynn
+
+	* raster/r.mapcalc/xnmedian.c, raster/r.mapcalc/xnmode.c: Fix
+	  r52178
+
+2012-06-21 09:16  glynn
+
+	* raster/r.mapcalc/func_proto.h, raster/r.mapcalc/function.c,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html, raster/r.mapcalc/xnmax.c,
+	  raster/r.mapcalc/xnmedian.c, raster/r.mapcalc/xnmin.c,
+	  raster/r.mapcalc/xnmode.c: Add null-ignoring nmin, nmax, nmedian,
+	  nmode functions
+
+2012-06-21 09:15  glynn
+
+	* raster/r.mapcalc/map.c: Don't open maps twice
+
+2012-06-21 02:03  hamish
+
+	* raster/r.buffer, raster/r.buffer/Makefile,
+	  raster/r.buffer/r.buffer.html, raster/r.buffer/r.buffer2.html,
+	  scripts/Makefile, scripts/r.buffer, scripts/r.buffer.lowmem,
+	  scripts/r.buffer.lowmem/Makefile,
+	  scripts/r.buffer.lowmem/r.buffer.html,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.html,
+	  scripts/r.buffer.lowmem/r.buffer.lowmem.py,
+	  scripts/r.buffer.lowmem/r.buffer.py: Rename classic r.buffer back
+	  to its original name, rename the python
+	  version to "lowmem". Describe the alternatives in the help pages.
+	  The classic C version runs more than 40x faster and memory only
+	  becomes
+	  an issue when the map size is abnormally massive. (32000x32000
+	  cells on
+	  a machine with 1 GB RAM, 90000x90000 cells on a machine with 8 GB
+	  RAM).
+
+2012-06-21 01:26  hamish
+
+	* raster/r.to.rast3/test.r.to.rast3.sh,
+	  raster/r.to.rast3/test_suite,
+	  raster/r.to.rast3/test_suite/test.r.to.rast3.sh,
+	  raster/r.to.rast3/test_suite/test_volume_3_raster.ref,
+	  raster/r.to.rast3/test_suite/test_volume_6_raster.ref,
+	  raster/r.to.rast3/test_suite/test_volume_double_raster.ref,
+	  raster/r.to.rast3/test_suite/test_volume_double_raster_res.ref,
+	  raster/r.to.rast3/test_suite/test_volume_float_raster.ref,
+	  raster/r.to.rast3/test_volume_3_raster.ref,
+	  raster/r.to.rast3/test_volume_6_raster.ref,
+	  raster/r.to.rast3/test_volume_double_raster.ref,
+	  raster/r.to.rast3/test_volume_double_raster_res.ref,
+	  raster/r.to.rast3/test_volume_float_raster.ref: test files ->
+	  test_suite/ subdir
+
+2012-06-20 14:47  mmetz
+
+	* vector/v.net.allpairs/main.c, vector/v.net.centrality/main.c,
+	  vector/v.net.connectivity/main.c, vector/v.net.distance/main.c,
+	  vector/v.net.flow/main.c: v.net modules: add safety checks
+
+2012-06-20 13:43  annakrat
+
+	* gui/wxpython/core/settings.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/preferences.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/lmgr/layertree.py: wxGUI/settings: added possibility
+	  to set default vector layer appearance
+
+2012-06-20 11:21  huhabla
+
+	* temporal/temporalintro.html: Added more documentation
+
+2012-06-20 10:55  hamish
+
+	* scripts/r3.in.xyz/r3.in.xyz.html, scripts/r3.in.xyz/r3.in.xyz.py:
+	  add support for data aggregation from non-spatial data columns
+
+2012-06-20 10:29  hamish
+
+	* raster/r.in.xyz/main.c: msg cosmetics
+
+2012-06-20 10:25  hamish
+
+	* raster/r.in.xyz/main.c: rm unused variable
+
+2012-06-20 10:13  hamish
+
+	* raster/r.in.xyz/main.c: gui sectioning
+
+2012-06-20 10:03  hamish
+
+	* raster/r.in.xyz/local_proto.h, raster/r.in.xyz/main.c,
+	  raster/r.in.xyz/r.in.xyz.html: add support for reading from
+	  alternate value column while filtering on z
+
+2012-06-20 08:24  annakrat
+
+	* gui/wxpython/gui_core/goutput.py, lib/python/db.py: wxGUI: fix
+	  missing quotes
+
+2012-06-20 07:45  annakrat
+
+	* gui/wxpython/gui_core/goutput.py, lib/python/db.py: wxGUI: fix
+	  gettext warnings
+
+2012-06-20 07:36  hamish
+
+	* scripts/Makefile, scripts/r3.in.xyz/r3.in.xyz.html,
+	  scripts/r3.in.xyz/r3.in.xyz.py: make r3.in.xyz opertational, add
+	  some notes about future improvements
+
+2012-06-20 01:02  hamish
+
+	* scripts/r3.in.xyz/r3.in.xyz.py: cut & pasted too much, part 2
+
+2012-06-20 01:00  hamish
+
+	* scripts/r3.in.xyz/r3.in.xyz.py: cut & pasted too much
+
+2012-06-20 00:58  hamish
+
+	* scripts/r3.in.xyz/r3.in.xyz.py: misc. fixes
+
+2012-06-20 00:47  hamish
+
+	* scripts/r3.in.xyz/r3.in.xyz.py: pid in mremove map name
+
+2012-06-20 00:42  hamish
+
+	* scripts/r3.in.xyz, scripts/r3.in.xyz/Makefile,
+	  scripts/r3.in.xyz/r3.in.xyz.html, scripts/r3.in.xyz/r3.in.xyz.py:
+	  initial port of r3.in.xyz from grass6 addons; raw and completely
+	  untested
+
+2012-06-19 16:29  mmetz
+
+	* lib/vector/neta/utils.c: neta lib: layer check
+
+2012-06-19 16:28  mmetz
+
+	* vector/v.net.distance/main.c: cosmetics
+
+2012-06-19 15:41  mmetz
+
+	* vector/v.net.distance/main.c: v.net.distance: add safety check,
+	  warning
+
+2012-06-19 15:40  mmetz
+
+	* lib/vector/neta/utils.c: neta lib: fix return value
+
+2012-06-19 09:51  hamish
+
+	* scripts/Makefile: I'm not planning on porting d.out.gpsdrive to
+	  grass7 right now
+
+2012-06-19 05:23  glynn
+
+	* include/iostream/ami_stream.h: Fix compilation errors (bug #1676)
+
+2012-06-19 01:49  hamish
+
+	* scripts/i.oif/i.oif.html, scripts/i.oif/i.oif.py: parallelize the
+	  r.univar calls, reduce insignificant noise in the output table
+
+2012-06-18 14:10  huhabla
+
+	* temporal/temporalintro.html: Added some documentation snips
+
+2012-06-18 13:50  mmetz
+
+	* vector/v.net.distance/main.c: v.net.distance fix for unreachable
+	  features
+
+2012-06-18 10:00  annakrat
+
+	* gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: reorder MapLayersDialog to more subclasses, add apply
+	  button
+
+2012-06-18 08:43  martinl
+
+	* lib/vector/vectorlib.dox: vlib: publish postgres/postgis related
+	  fns in doxygen manual page
+
+2012-06-17 18:40  mmetz
+
+	* raster/r.viewshed/grass.cpp, raster/r.viewshed/main.cpp,
+	  raster/r.viewshed/rbbst.cpp, raster/r.viewshed/rbbst.h,
+	  raster/r.viewshed/viewshed.cpp: r.viewshed: update rbtree search,
+	  change messages
+
+2012-06-17 18:38  mmetz
+
+	* raster/r.viewshed/eventlist.cpp: r.viewshed: fix event sorting
+
+2012-06-16 09:56  mmetz
+
+	* lib/vector/neta/utils.c: netalib bugfix
+
+2012-06-16 09:56  mmetz
+
+	* vector/v.net.distance/main.c,
+	  vector/v.net.distance/v.net.distance.html,
+	  vector/v.net.distance/vnetdistance.png: v.net.distance: update
+	  documentation
+
+2012-06-16 08:35  mmetz
+
+	* lib/vector/neta/utils.c: neta lib bugfix
+
+2012-06-16 08:35  mmetz
+
+	* vector/v.net.distance/main.c: v.net.distance: fix layers and
+	  types
+
+2012-06-15 23:55  huhabla
+
+	* temporal/Makefile: Added t.vect.db.select to Makefile
+
+2012-06-15 23:49  hamish
+
+	* scripts/i.spectral/i.spectral.html: apparently east_north= was
+	  renamed coordinates=, sync example in help page
+
+2012-06-15 23:42  hamish
+
+	* scripts/i.spectral/i.spectral.py: rm stray comment chars
+
+2012-06-15 23:38  hamish
+
+	* scripts/i.spectral/i.spectral.py: fix east_north=
+
+2012-06-15 18:24  mmetz
+
+	* vector/v.net.distance/main.c: v.net.distance: remove duplicate
+	  output option
+
+2012-06-15 16:26  annakrat
+
+	* gui/wxpython/core/gcmd.py: wxGUI: attempt to fix aborting command
+
+2012-06-15 15:15  mlennert
+
+	* vector/v.in.db/main.c: applied indent script
+
+2012-06-15 15:11  mlennert
+
+	* vector/v.in.db/main.c: add flag to allow reusing imported table
+	  as attribute table
+
+2012-06-15 10:48  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib/pg: fix for polygons with more
+	  then 20 rings
+	  build centroids from spidx or postgis topo
+
+2012-06-15 10:20  martinl
+
+	* lib/vector/Vlib/build_sfa.c: vlib (pseudo-topo): fix for polygons
+	  with more then 20 rings
+
+2012-06-14 14:15  mmetz
+
+	* vector/v.distance/main.c: v.distance: always sort results for -a
+
+2012-06-14 13:50  annakrat
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py:
+	  wxGUI: fixed aborting command by Ctrl+S
+
+2012-06-14 09:20  huhabla
+
+	* raster3d/r3.out.netcdf/main.c,
+	  raster3d/r3.out.netcdf/r3.out.netcdf.html,
+	  raster3d/r3.out.netcdf/test_suite/test.r3.out.netcdf.sh: Code
+	  indention and documentation update
+
+2012-06-13 22:14  huhabla
+
+	* raster3d/r3.out.netcdf/main.c,
+	  raster3d/r3.out.netcdf/test_suite/test.r3.out.netcdf.sh: Missing
+	  value and FillValue support added. Projection information is now
+	  optional, since some software get confused by it (ParaView).
+
+2012-06-13 11:30  martinl
+
+	* lib/vector/Vlib/open_pg.c, lib/vector/Vlib/write_pg.c: vlib/pg:
+	  initial support for writing PostGIS topology
+	  Vect_write_line() - points only (nodes in PostGIS topology)
+
+2012-06-12 21:45  huhabla
+
+	* db/db.connect/main.c, lib/python/db.py,
+	  lib/temporal/t.connect/main.c: Added -g option to db.connect and
+	  updated db.py interface
+
+2012-06-12 16:44  martinl
+
+	* lib/python/core.py: libpython: parse_key_val() - strip also value
+
+2012-06-12 13:59  mmetz
+
+	* lib/ogsf/GS2.c, lib/ogsf/gs.c, lib/ogsf/gsd_img_tif.c,
+	  lib/ogsf/gsd_wire.c, lib/ogsf/gsds.c: ogsf lib: fix return types
+	  and var types
+
+2012-06-12 13:20  mmetz
+
+	* lib/bitmap/sparse.c: bitmap lib: use bit manipulation
+
+2012-06-12 12:42  huhabla
+
+	* lib/python/ctypes/Makefile: Added segment and rowio library to
+	  the ctypes wrapper for the GSoC
+	  project
+
+2012-06-12 12:19  mmetz
+
+	* lib/vector/diglib/allocation.c: size_t: update vector diglib
+
+2012-06-12 12:12  mmetz
+
+	* lib/gmath/dalloc.c, lib/gmath/ialloc.c: size_t: update gmath lib
+
+2012-06-12 12:08  mmetz
+
+	* include/defs/ogsf.h, include/ogsf.h, lib/ogsf/gs.c,
+	  lib/ogsf/gsds.c, lib/ogsf/rowcol.h: size_t: update ogsf lib
+
+2012-06-12 11:48  mmetz
+
+	* lib/bitmap/bitmap.c: bitmap lib: use bit manipulation
+
+2012-06-12 11:45  mmetz
+
+	* include/bitmap.h, include/defs/bitmap.h, lib/bitmap/bitmap.c,
+	  lib/bitmap/sparse.c: size_t: update bitmap lib
+
+2012-06-12 10:03  mmetz
+
+	* vector/v.split/main.c: v.split: add map units and survey feet to
+	  units options
+
+2012-06-12 09:58  mmetz
+
+	* lib/vector/Vlib/line.c: Vlib: return clean output
+
+2012-06-12 09:57  martinl
+
+	* vector/v.external.out/link.c, vector/v.external.out/status.c,
+	  vector/v.external.out/v.external.out.html: v.external.out: new PG
+	  options - 'topology=on|off'
+
+2012-06-12 03:57  glynn
+
+	* lib/raster/xdr.c: Fix XDR functions for big-endian platforms
+
+2012-06-11 12:03  annakrat
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/dbmgr: add some padding when
+	  zooming to feature (needed especially for points)
+
+2012-06-10 23:18  hamish
+
+	* doc/howto_release.txt: updated DebianGIS ml addr
+
+2012-06-09 17:42  martinl
+
+	* include/vect/dig_externs.h: fix dig_spidx_add_line/area/isle()
+	  prototypes - see r52017
+
+2012-06-09 17:30  martinl
+
+	* lib/vector/Vlib/build_sfa.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/pg_local_proto.h, lib/vector/Vlib/read_pg.c,
+	  lib/vector/diglib/spindex.c: vlib/pg: fix various issues when
+	  building areas/isles from PostGIS topology schema
+
+2012-06-08 21:07  glynn
+
+	* include/Make/Grass.make, include/defs/raster.h, lib/raster/R.h,
+	  lib/raster/close.c, lib/raster/get_row.c, lib/raster/init.c,
+	  lib/raster/open.c, lib/raster/put_row.c, lib/raster/range.c,
+	  lib/raster/xdr.c: Eliminate RPC/XDR dependency from raster
+	  library
+
+2012-06-08 19:09  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: fix 'protocol' button
+	  size
+	  (merge r52013 from devbr6)
+
+2012-06-08 15:18  martinl
+
+	* vector/v.out.ascii/main.c: v.out.ascii: require topo level for
+	  external formats (centroids are build from topo)
+
+2012-06-08 08:49  martinl
+
+	* lib/python/db.py: pythonlib: fix db_select() dox comments
+
+2012-06-07 23:03  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib/pg: attach centroids when
+	  building topo from PostGIS topology schema
+
+2012-06-07 22:36  martinl
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/pg_local_proto.h:
+	  vlib/pg: build isles for PostGIS Topology access
+
+2012-06-07 19:19  martinl
+
+	* display/d.mon/main.c: d.mon: -p change verbosity - print only
+	  name of monitor on std verbosity level
+
+2012-06-07 19:16  martinl
+
+	* display/d.mon/main.c: d.mon: module description cosmetics
+
+2012-06-07 19:05  martinl
+
+	* lib/python/setup.py.sed: pythonlib: bugfix #1671 (patch suggested
+	  by artegion)
+
+2012-06-06 16:48  mmetz
+
+	* lib/segment/segmentlib.dox: segment lib: update documentation
+
+2012-06-06 15:48  martinl
+
+	* lib/vector/Vlib/build.c: vlib: print topo format info in dump
+
+2012-06-06 15:38  martinl
+
+	* vector/v.build/main.c: v.build: allow to dump topo/sidx/cidx/fidx
+	  also for vector maps from other mapsets
+
+2012-06-06 15:05  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib/pg: print PostgreSQL NOTICE
+	  messages only on verbose level
+
+2012-06-06 14:47  martinl
+
+	* lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/open_pg.c: vlib/pg:
+	  don't try to read fidx file for vector maps (PostGIS topology
+	  access)
+
+2012-06-06 13:54  martinl
+
+	* lib/vector/Vlib/close.c, lib/vector/Vlib/close_pg.c: vlib/pg:
+	  remove topo file for PG-links (full 2D topology)
+
+2012-06-06 13:26  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_pg.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_pg.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_pg.c: partly revert
+	  r51975 - keep two level (level 3 is reserved for 3D topology)
+
+2012-06-06 11:09  martinl
+
+	* vector/v.external.out/v.external.out.html: v.external.out: update
+	  manual page (note PG-related options)
+
+2012-06-06 10:52  martinl
+
+	* lib/vector/Vlib/open.c: vlib/pg: define new default values for
+	  PG-links (fid and geometry column)
+
+2012-06-05 19:54  martinl
+
+	* db/db.connect/main.c: db.connect -p: print extra space after the
+	  colon
+
+2012-06-05 12:44  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/box.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_pg.c, lib/vector/Vlib/build_sfa.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/pg_local_proto.h,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c:
+	  vlib: improve PostGIS topology support
+	  read topology tables instead of feature table
+	  introduce level 3 (PostGIS topology access)
+
+2012-06-04 18:49  martinl
+
+	* general/g.region/main.c: g.region: options desc cosmetics
+	  fix checking for open level (>=2)
+
+2012-06-04 15:27  martinl
+
+	* vector/v.build/main.c: v.build: no need to call exit() after
+	  G_fatal_error()
+
+2012-06-04 15:20  martinl
+
+	* vector/v.external/main.c: v.external: fix bug: open on level 1
+	  before building topology
+
+2012-06-04 14:22  mmetz
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/local.h,
+	  vector/v.to.rast/main.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c: v.to.rast: fix #175
+
+2012-06-04 13:03  mmetz
+
+	* lib/vector/Vlib/ascii.c: Vlib: speed up v.out.ascii for multiple
+	  column export
+
+2012-06-03 18:44  martinl
+
+	* general/g.parser/translate.c: g.parser: empty string == NULL (to
+	  unset property)
+
+2012-06-03 18:23  martinl
+
+	* db/drivers/postgres/db.c: db-pg driver: print notice message only
+	  on verbose level
+
+2012-06-03 17:17  mmetz
+
+	* raster/r.cost/main.c: r.cost: use new segment lib fns
+
+2012-06-03 17:02  mmetz
+
+	* lib/segment/segmentlib.dox: segment lib: update programmers
+	  manual
+
+2012-06-03 17:01  martinl
+
+	* raster/r.shaded.relief2: add missing svn:ignore prop
+
+2012-06-03 16:36  martinl
+
+	* vector/v.info/print.c: v.info: print geometry column for PG-links
+
+2012-06-03 16:36  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/header_finfo.c: vlib: separate fInfo-related
+	  subroutines into header_finfo.c
+	  introduced Vect_get_finfo_geometry_column()
+
+2012-06-03 13:22  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI/forms: use ScrolledPanel
+	  from gui_core.widgets
+
+2012-06-03 13:21  mmetz
+
+	* lib/segment/open.c: segment lib bugfix
+
+2012-06-03 13:13  mmetz
+
+	* lib/segment/local_proto.h: segment lib: add header with internal
+	  fns
+
+2012-06-03 13:00  mmetz
+
+	* lib/segment/address.c, lib/segment/close.c, lib/segment/flush.c,
+	  lib/segment/format.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/init.c, lib/segment/open.c, lib/segment/pagein.c,
+	  lib/segment/pageout.c, lib/segment/put.c, lib/segment/put_row.c,
+	  lib/segment/release.c, lib/segment/seek.c, lib/segment/setup.c:
+	  segment lib: add segment open/close routines, hide internal fns
+
+2012-06-03 12:59  mmetz
+
+	* include/defs/segment.h, include/segment.h: segment lib: update
+	  headers
+
+2012-06-03 11:34  mmetz
+
+	* raster/Makefile: add r.shaded.relief2 to Makefile
+
+2012-06-03 11:29  mmetz
+
+	* raster/r.shaded.relief2, raster/r.shaded.relief2/Makefile,
+	  raster/r.shaded.relief2/main.c,
+	  raster/r.shaded.relief2/r.shaded.relief.html,
+	  raster/r.shaded.relief2/r.shaded.relief.py,
+	  raster/r.shaded.relief2/r.shaded.relief2.html: r.shaded.relief2:
+	  enhanced fast C version of r.shaded.relief
+
+2012-06-03 11:23  martinl
+
+	* db/db.execute/db.execute.html, db/db.execute/main.c: db.execute:
+	  new option for single statements (sql)
+	  improve support for multiple sql statements
+	  manual updated
+
+2012-06-03 11:08  martinl
+
+	* db/db.select/main.c: db.select: truncate ';' where reading SQL
+	  statements from the file
+
+2012-06-03 09:58  martinl
+
+	* db/db.select/db.select.html, db/db.select/main.c: db.select: add
+	  support for multiple statements in the file
+	  fix r51929 (input=-)
+
+2012-06-03 09:57  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: G_OPT_DB_SQL (no
+	  stdin)
+
+2012-06-02 17:12  martinl
+
+	* db/db.select/main.c: db.select: option cosmetics
+
+2012-06-02 17:03  martinl
+
+	* include/gis.h, lib/gis/parser_standard_options.c: fix syntax typo
+	  in r51940
+
+2012-06-02 16:40  martinl
+
+	* db/db.select/main.c, include/gis.h,
+	  lib/gis/parser_standard_options.c: libgis: introduce G_OPT_DB_SQL
+	  use standarized option in db.select
+
+2012-06-02 15:54  martinl
+
+	* gui/wxpython/dbmgr/manager.py, gui/wxpython/dbmgr/sqlbuilder.py:
+	  wxGUI/dbmgr: apply query when closing SQL builder
+
+2012-06-02 15:38  martinl
+
+	* gui/wxpython/dbmgr/sqlbuilder.py: wxGUI/dbmgr: fix getting
+	  samples (db_select())
+
+2012-06-02 10:35  martinl
+
+	* lib/python/db.py: pythonlib: db_select() returns tuple of tuples
+
+2012-06-02 10:16  martinl
+
+	* lib/gis/parser.c, lib/python/db.py: libgis: fix parser when doing
+	  overwrite check for new files
+
+2012-06-02 09:15  martinl
+
+	* db/db.select/db.select.html, db/db.select/main.c: db.select:
+	  force `sql=-` for reading stdin
+
+2012-06-01 23:13  huhabla
+
+	* temporal/t.vect.db.select/t.vect.db.select.py: No need to use
+	  special database interface
+
+2012-06-01 22:39  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.series/test.t.rast.series.sh,
+	  temporal/t.vect.db.select, temporal/t.vect.db.select/Makefile,
+	  temporal/t.vect.db.select/t.vect.db.select.html,
+	  temporal/t.vect.db.select/t.vect.db.select.py,
+	  temporal/t.vect.db.select/test.t.vect.db.select.sh,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py: New module
+	  to print selected database columns from space time vector
+	  datasets. Small bugfixes.
+
+2012-06-01 18:42  huhabla
+
+	* lib/python/temporal/aggregation.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.sh: Support for
+	  aggregation in t.vect.what.strds. Aggregation interface
+	  simplified.
+
+2012-06-01 12:29  lucadelu
+
+	* locale/po/grassmods_it.po: cont'ed
+
+2012-05-31 15:09  martinl
+
+	* general/g.parser/parse.c: g.parser: support module->overwrite
+
+2012-05-31 14:56  martinl
+
+	* include/Make/Doxygen.make: dcheckdoxygen: check also for
+	  graphviz/dot
+
+2012-05-31 14:47  martinl
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in: update doxygen files by
+	  `doxygen -u`
+
+2012-05-31 13:10  mlennert
+
+	* raster/r.regression.line/main.c: Correcting F statistic
+	  calculation
+
+2012-05-31 12:47  martinl
+
+	* include/defs/vector.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/close_pg.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/read_sfa.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/diglib/frmt.c, lib/vector/diglib/spindex_rw.c: vlib:
+	  first steps for full PostGIS topology support
+	  untabify for given files
+
+2012-05-31 12:32  martinl
+
+	* lib/vector/diglib/file.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/struct_alloc.c: diglib: add doxygen strings
+	  (struct_alloc.c)
+	  use G_zero() for initialization
+
+2012-05-30 19:39  martinl
+
+	* raster3d/r3.out.netcdf: fix svn props (missing svn:ignore)
+
+2012-05-30 17:04  huhabla
+
+	* temporal/t.register/test.t.register.raster.sh: Check for correct
+	  increment check error
+
+2012-05-30 16:49  huhabla
+
+	* lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Better
+	  increment format check
+
+2012-05-30 15:54  huhabla
+
+	* temporal/run_all_tests.sh,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/t.register/t.register.py: Fixed bashism
+
+2012-05-30 14:15  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome screen: improve OnBrowse()
+	  handler, set defaultPath to $HOME if no GISBASE is set
+
+2012-05-30 13:25  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py: Removed redundant id
+	  build method
+
+2012-05-30 13:24  huhabla
+
+	* temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.vector.sh,
+	  temporal/t.unregister/t.unregister.py: Write a warning in case
+	  the map to unregister is not found.
+
+2012-05-30 10:37  neteler
+
+	* locale/po/grasslibs_el.po, locale/po/grassmods_vi.po,
+	  locale/po/grasswxpy_el.po: header fixes
+
+2012-05-30 10:09  neteler
+
+	* translators.csv: sort by column; minor cleanup
+
+2012-05-30 09:58  lucadelu
+
+	* gui/wxpython/gui_core/ghelp.py: white background color for tabs
+	  in About GUI
+
+2012-05-30 09:57  lucadelu
+
+	* translators.csv: add some missing translators
+
+2012-05-30 09:56  lucadelu
+
+	* locale/po/grasslibs_el.po, locale/po/grassmods_vi.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_it.po: fix some
+	  typos
+
+2012-05-30 08:00  lucadelu
+
+	* gui/icons/Makefile, gui/icons/flags, gui/icons/flags/README,
+	  gui/icons/flags/af.png, gui/icons/flags/am.png,
+	  gui/icons/flags/ar.png, gui/icons/flags/bg.png,
+	  gui/icons/flags/cs.png, gui/icons/flags/da.png,
+	  gui/icons/flags/de.png, gui/icons/flags/el.png,
+	  gui/icons/flags/es.png, gui/icons/flags/et.png,
+	  gui/icons/flags/fa.png, gui/icons/flags/fi.png,
+	  gui/icons/flags/fr.png, gui/icons/flags/he.png,
+	  gui/icons/flags/hr.png, gui/icons/flags/hu.png,
+	  gui/icons/flags/id.png, gui/icons/flags/is.png,
+	  gui/icons/flags/it.png, gui/icons/flags/ja.png,
+	  gui/icons/flags/ka.png, gui/icons/flags/ko.png,
+	  gui/icons/flags/lo.png, gui/icons/flags/lt.png,
+	  gui/icons/flags/lv.png, gui/icons/flags/ml.png,
+	  gui/icons/flags/mn.png, gui/icons/flags/mr.png,
+	  gui/icons/flags/nl.png, gui/icons/flags/no.png,
+	  gui/icons/flags/pl.png, gui/icons/flags/pt.png,
+	  gui/icons/flags/pt_br.png, gui/icons/flags/ro.png,
+	  gui/icons/flags/ru.png, gui/icons/flags/sk.png,
+	  gui/icons/flags/sl.png, gui/icons/flags/sq.png,
+	  gui/icons/flags/sr.png, gui/icons/flags/sv.png,
+	  gui/icons/flags/ta.png, gui/icons/flags/th.png,
+	  gui/icons/flags/tr.png, gui/icons/flags/uk.png,
+	  gui/icons/flags/vi.png, gui/icons/flags/xh.png,
+	  gui/icons/flags/zh.png, gui/icons/flags/zh_tw.png,
+	  gui/wxpython/gui_core/ghelp.py: add nations flags for the about
+	  gui
+
+2012-05-30 07:58  lucadelu
+
+	* locale/grass_po_stats.py: new version of translation stats file
+	  thankt to Pietro Zambelli
+
+2012-05-30 07:31  lucadelu
+
+	* translators.csv: move code for czech translator to cs like
+	  iso639-1, add new italian translator
+
+2012-05-29 13:57  mlennert
+
+	* display/d.vect/label.c: display cat values of areas even if
+	  centroids are not displayed
+
+2012-05-29 12:16  huhabla
+
+	* temporal/t.rast.extract/test.t.rast.extract.sh: New tests for
+	  optional basenames
+
+2012-05-29 12:15  huhabla
+
+	* temporal/t.rast.extract/t.rast.extract.py: Base names are
+	  optional.
+
+2012-05-29 12:14  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/extract.py: Poor man's solution to avoid SQL
+	  injection.
+
+2012-05-29 11:02  mmetz
+
+	* raster/r.terraflow/ccforest.cpp, raster/r.terraflow/fill.cpp,
+	  raster/r.terraflow/filldepr.cpp, raster/r.terraflow/flow.cpp,
+	  raster/r.terraflow/grass2str.h, raster/r.terraflow/main.cpp,
+	  raster/r.terraflow/nodata.cpp, raster/r.terraflow/plateau.cpp,
+	  raster/r.terraflow/sortutils.h, raster/r.terraflow/streamutils.h,
+	  raster/r.terraflow/sweep.cpp, raster/r.terraflow/water.cpp:
+	  r.terraflow make stats file optional
+
+2012-05-29 09:28  neteler
+
+	* locale/po/grasslibs_hi.po, locale/po/grasslibs_mr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_mr.po: delete
+	  untranslated files
+
+2012-05-29 07:08  annakrat
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: translation status tab:
+	  update scrolling
+
+2012-05-29 06:55  neteler
+
+	* locale/po/grassnviz_it.po, locale/po/grassnviz_pl.po: tcl nviz
+	  will be removed from GRASS 7, no need to translate
+
+2012-05-29 02:33  hamish
+
+	* vector/v.label.sa/labels.c: take care of some compiler warnings
+
+2012-05-28 22:52  lucadelu
+
+	* gui/wxpython/gui_core/ghelp.py: new version of translation status
+	  tab now using CollapsiblePane, to fix a problem with scrollbar
+	  that is not updated
+
+2012-05-28 21:03  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grassmods_vi.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2012-05-28 15:06  lucadelu
+
+	* gui/wxpython/gui_core/ghelp.py: improvement of translation
+	  status; better style for contributor and translator header
+
+2012-05-28 12:26  lucadelu
+
+	* gui/wxpython/lmgr/frame.py: restored previous version
+
+2012-05-28 12:18  lucadelu
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/lmgr/frame.py: new
+	  version of translation status, it has a bug for the scroll
+
+2012-05-28 11:52  mmetz
+
+	* lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/snap.c: Vlib:
+	  alloc rect boundaries
+
+2012-05-28 11:49  mmetz
+
+	* lib/vector/Vlib/intersect.c: Vlib: alloc rect boundaries
+
+2012-05-28 09:31  lucadelu
+
+	* gui/wxpython/gui_core/ghelp.py: add first version of translation
+	  statistics tab
+
+2012-05-28 09:25  lucadelu
+
+	* locale/grass_po_stats.py: output file write in GISBASE instead
+	  GISBASE/locale because if --nls it's not used return an error
+
+2012-05-28 09:22  neteler
+
+	* locale/Makefile: always generate msg statistics (used in wxGUI)
+
+2012-05-28 08:57  neteler
+
+	* gui/wxpython/xml/menudata.xml: menustrings updated with
+	  tools/update_menudata.py
+
+2012-05-28 08:57  neteler
+
+	* gui/wxpython/README: updated
+
+2012-05-28 08:23  neteler
+
+	* locale/Makefile, locale/grass_po_stats.py: script fixes (together
+	  with martinl); added Makefile target for po file statistics
+
+2012-05-28 08:04  neteler
+
+	* misc/m.nviz.image/args.c: msg fix
+
+2012-05-28 07:58  lucadelu
+
+	* locale/grass_po_stats.py: add script to create json file with
+	  statistics about translation status
+
+2012-05-27 16:52  annakrat
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: dmon supports zoom to extent
+	  and warns about missing cmd file (author Vaclav Petras)
+
+2012-05-27 15:47  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: remove unused method
+
+2012-05-27 15:11  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI/about: simplify LANG
+	  detection (use grass.gisenv())
+	  first page scrollable
+
+2012-05-27 15:03  annakrat
+
+	* gui/wxpython/mapdisp/main.py: wxGUI: dmon does not report errors
+	  after exiting GRASS (author Vaclav Petras)
+
+2012-05-27 14:41  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: ask to constrain resolution
+	  with d.rast.num and d.rast.arrow
+
+2012-05-27 14:31  martinl
+
+	* gui/wxpython/core/utils.py: wxGUI: update GDAL/OGR formats
+	  (db/protocol)
+
+2012-05-27 11:32  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, misc/m.nviz.image/args.c: fix typos
+	  (r51809)
+
+2012-05-27 09:57  lucadelu
+
+	* locale/po/grassmods_it.po: con't ed
+
+2012-05-27 09:45  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: hide protocol button in
+	  module dialog
+
+2012-05-27 09:44  annakrat
+
+	* lib/python/vector.py: pythonlib: fix vector querying - v.what has
+	  new parameter name
+
+2012-05-27 09:43  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: fix vector querying -
+	  v.what has new parameter name
+
+2012-05-27 08:05  lucadelu
+
+	* gui/wxpython/gui_core/ghelp.py: add language into about panel
+
+2012-05-26 17:12  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py: wxNviz: when there are no points,
+	  don't load them
+
+2012-05-26 16:38  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapdisp/main.py: wxGUI:
+	  fix bug introduced in r51758 (author Vaclav Petras)
+
+2012-05-26 15:46  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po: remove gettext junk
+
+2012-05-26 15:22  mmetz
+
+	* lib/vector/Vlib/select.c: adjust Vlib to changed rtree
+
+2012-05-26 15:21  mmetz
+
+	* lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c:
+	  adjust diglib to changed rtree
+
+2012-05-26 15:20  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/indexm.c,
+	  lib/vector/rtree/io.c, lib/vector/rtree/node.c,
+	  lib/vector/rtree/rect.c, lib/vector/rtree/rtree.h,
+	  lib/vector/rtree/split.c, lib/vector/rtree/split.h: n-dimensional
+	  rtree
+
+2012-05-26 15:10  martinl
+
+	* gui/wxpython/gui_core/goutput.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: save commands protocol when exiting wxGUI (if protocol is
+	  activated)
+
+2012-05-26 14:55  huhabla
+
+	* include/defs/gis.h, include/gis.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, lib/gis/adj_cellhd.c,
+	  lib/gis/ilist.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/rtree_search.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/Vlib/snap.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/spindex.c: Moved
+	  ilist from vector lib into libgis
+
+2012-05-26 14:50  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: cosmetics in messages
+	  (saving output/protocol)
+
+2012-05-26 14:49  huhabla
+
+	* lib/python/temporal/datetime_math.py, temporal/run_all_tests.sh,
+	  temporal/t.register/test.t.register.raster.sh: Small fixes
+
+2012-05-26 14:47  huhabla
+
+	* lib/raster3d/rle.c, lib/raster3d/test/test_g3d_lib.h,
+	  lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value.c,
+	  lib/raster3d/test/test_put_get_value_large_file.c: New test for
+	  large files that causes a segmentation fault in the rast3d
+	  library.
+	  The rle decoding and encoding is wrong for large numbers
+	  (>129032), hints are added to the sources.
+
+2012-05-26 14:40  martinl
+
+	* gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI: implement cmd protocol
+	  functionality
+	  fix GPrompt.OnRunCmd() to be called correctly
+
+2012-05-26 14:26  neteler
+
+	* raster/r.lake/r.lake.html: fix format
+
+2012-05-26 14:09  neteler
+
+	* raster/r.lake, raster/r.lake/r.lake.html: example added
+
+2012-05-26 12:43  huhabla
+
+	* temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.to.rast3/test.t.rast.to.rast3.sh: Using temporal
+	  information to scale the z-axis of space time voxel cubes.
+
+2012-05-26 12:20  huhabla
+
+	* lib/gis/wr_cellhd.c: Fixed wrong precision of top and bottom
+	  region storage.
+
+2012-05-26 10:28  annakrat
+
+	* gui/wxpython/mapdisp/frame.py: wxNviz: fix bug related to OnPaint
+	  method on Windows
+
+2012-05-26 10:10  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py: wxNviz: fix loading 3d vectors
+
+2012-05-25 15:47  neteler
+
+	* temporal/t.create/t.create.py, temporal/t.list/t.list.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py, temporal/t.sample/t.sample.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: Fix some message
+	  strings
+
+2012-05-25 15:10  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/mapdisp/mapwindow.py: wxGUI: map frame/map renderer
+	  refactoring - dmon related code in one place (author Vaclav
+	  Petras)
+
+2012-05-25 14:59  mmetz
+
+	* lib/vector/Vlib/open.c: Vlib: fix 2D/3D topo initialization
+
+2012-05-25 14:51  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, raster/r.lake/main.c: improve module
+	  description
+
+2012-05-25 14:39  annakrat
+
+	* gui/wxpython/modules/histogram.py: wxGUI: fix histogram tool (the
+	  one using the d.histogram)
+
+2012-05-25 14:16  neteler
+
+	* raster/r.lake/main.c: fix segfault with seed map
+
+2012-05-25 13:46  lucadelu
+
+	* locale/po/grasswxpy_it.po: Silvia Franceschi: cont'ed
+
+2012-05-25 13:20  annakrat
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI/digitizer: add help button
+	  to digitizer toolbar
+
+2012-05-25 12:51  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: removed close tab button
+	  in command dialogs notebook
+
+2012-05-25 12:08  lucadelu
+
+	* scripts/v.in.lines/v.in.lines.html: fix documentation of
+	  v.in.lines with new version of v.in.mapgen
+
+2012-05-25 11:15  lucadelu
+
+	* scripts/v.in.mapgen/v.in.mapgen.py: fix spaces, add categories
+
+2012-05-25 08:38  annakrat
+
+	* gui/icons/grass/line-add.png, gui/icons/grass/point-add.png,
+	  gui/icons/grass/rectangle-add.png,
+	  gui/wxpython/psmap/toolbars.py: wxGUI/wxpsmap: new icons for
+	  adding graphics (by Robert Szczepanek)
+
+2012-05-24 17:32  annakrat
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/: move wx.StaticBox
+	  initialization (problem on Mac)
+
+2012-05-24 17:19  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI: use keys instead (see
+	  r51719)
+
+2012-05-24 17:12  annakrat
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI: string must be translatable
+
+2012-05-24 17:07  martinl
+
+	* gui/wxpython/mapdisp/frame.py, gui/wxpython/wxplot/profile.py,
+	  scripts/i.spectral/i.spectral.py: update py scripts for r.what
+	  (east_north->coordinates)
+
+2012-05-24 17:06  martinl
+
+	* raster/r.what/main.c: update r.what (east_north->coordinates)
+	  miror clean up for g7
+
+2012-05-24 17:01  annakrat
+
+	* gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/tools.py,
+	  lib/nviz/draw.c, lib/nviz/nviz.c: wxNviz: removing of scale bars
+	  improved
+
+2012-05-24 17:00  huhabla
+
+	* lib/raster3d/test/test_put_get_value.c: Added G_percent to test
+
+2012-05-24 16:53  huhabla
+
+	* lib/raster3d/cachehash.c, lib/raster3d/test/test_put_get_value.c:
+	  Hunting cache hash 3D raster bug
+
+2012-05-24 16:45  martinl
+
+	* general/g.parser/standard_option.c, include/gis.h,
+	  lib/gis/parser_standard_options.c, raster/r.viewshed/main.cpp,
+	  vector/v.what/main.c: libgis; G_OPT_M_EN -> G_OPT_M_COORDS
+
+2012-05-24 11:17  annakrat
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/nviz/mapwindow.py:
+	  wxNviz: other z-exag changes
+
+2012-05-24 10:44  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: fix Gtk warnings when
+	  switching to 3D view (since r50013)
+
+2012-05-24 09:52  annakrat
+
+	* gui/wxpython/core/settings.py, gui/wxpython/nviz/mapwindow.py:
+	  wxNviz: revert changes in zexag and improve its behaviour for
+	  latlon projections
+
+2012-05-24 09:46  martinl
+
+	* gui/wxpython/core/render.py: wxGUI: fix rendering - skip map
+	  layers which haven't been rendered successfully
+
+2012-05-24 09:18  martinl
+
+	* vector/v.what.rast3: add missing svn prop (ignore)
+
+2012-05-23 17:41  lucadelu
+
+	* scripts/g.extension/g.extension.py: fix directory of man
+
+2012-05-23 17:30  huhabla
+
+	* temporal/run_all_tests.sh, temporal/t.info/test.t.info.sh,
+	  temporal/t.rast.aggregate.ds/test.t.rast.aggregate.ds.sh,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.relative_time.sh,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.sh,
+	  temporal/t.rast.export/test.t.rast.export.sh,
+	  temporal/t.rast.extract/test.t.rast.extract.sh,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast.out.vtk/test.t.rast.out.vtk.sh,
+	  temporal/t.rast.series/test.t.rast.series.sh,
+	  temporal/t.rast.to.rast3/test.t.rast.to.rast3.sh,
+	  temporal/t.rast.univar/test.t.rast.univar.sh,
+	  temporal/t.rast3d.extract/test.t.rast3d.extract.sh,
+	  temporal/t.rast3d.list/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.mapcalc/test.t.rast3d.mapcalc.sh,
+	  temporal/t.rast3d.univar/test.t.rast3d.univar.sh,
+	  temporal/t.register/test.t.register.raster.file.reltime.sh,
+	  temporal/t.register/test.t.register.raster.file.sh,
+	  temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.raster3d.sh,
+	  temporal/t.register/test.t.register.vector.file.layer.sh,
+	  temporal/t.register/test.t.register.vector.sh,
+	  temporal/t.sample/test.t.sample.sh,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.layer.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.sh,
+	  temporal/t.vect.list/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/test.t.vect.list.sh,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh,
+	  temporal/t.vect.univar/test.t.vect.univar.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.layer.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.sh: Added shell
+	  header to test files
+
+2012-05-23 16:42  martinl
+
+	* display/d.rast.num/main.c: d.rast.num: window -> region (see
+	  r51681)
+
+2012-05-23 16:36  martinl
+
+	* display/d.rast.num/main.c: fix typo in r51681
+
+2012-05-23 16:33  martinl
+
+	* display/d.rast.num/main.c: d.rast.num: minor clean up (named opts
+	  variables)
+	  error message more clear for the user
+
+2012-05-23 15:45  martinl
+
+	* mswindows/osgeo4w/liblas-config, mswindows/osgeo4w/package.sh:
+	  enable liblas for osgeo4w (part 2)
+
+2012-05-23 15:10  martinl
+
+	* mswindows/osgeo4w/liblas-config: enable liblas for osgeo4w
+	  package
+
+2012-05-23 15:01  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/node.c,
+	  lib/vector/rtree/split.h: rtree bugfix
+
+2012-05-23 14:27  neteler
+
+	* temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/t.vect.extract/test.t.vect.extract.layer.sh: svn propset
+
+2012-05-23 14:00  huhabla
+
+	* temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.vect.extract/test.t.vect.extract.layer.sh,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: New
+	  t.vect.extract test and several command line option fixes
+
+2012-05-23 12:56  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/node.c,
+	  lib/vector/rtree/rect.c, lib/vector/rtree/rtree.h,
+	  lib/vector/rtree/split.c: rtreelib: update header, change node
+	  init
+
+2012-05-23 12:29  huhabla
+
+	* lib/python/temporal/extract.py,
+	  lib/python/temporal/univar_statistics.py: Fixed wrong layer
+	  handling in vector ids
+
+2012-05-23 12:14  mmetz
+
+	* lib/vector/rtree/Makefile, lib/vector/rtree/card.c,
+	  lib/vector/rtree/card.h, lib/vector/rtree/index.h,
+	  lib/vector/rtree/rtree.h: rtreelib: clean up headers
+
+2012-05-23 12:13  mmetz
+
+	* lib/python/ctypes/Makefile: ctypes use rtree.h
+
+2012-05-22 10:30  neteler
+
+	* SUBMITTING: explain configure[.in] extensions
+
+2012-05-20 21:01  hamish
+
+	* doc/python/raster_example_ctypes.py: typo
+
+2012-05-17 20:28  neteler
+
+	* vector/v.type/v.type.html: fix manual
+
+2012-05-17 05:17  neteler
+
+	* raster3d/r3.out.netcdf/main.c,
+	  raster3d/r3.out.netcdf/r3.out.netcdf.html,
+	  raster3d/r3.out.netcdf/test_suite/test.r3.out.netcdf.sh,
+	  raster3d/r3.timestamp/test_suite/test.r3.timestamp.sh: svn
+	  propset
+
+2012-05-16 22:09  huhabla
+
+	* raster3d/r3.out.netcdf/Makefile: Correct CFLAGS
+
+2012-05-16 21:37  huhabla
+
+	* REQUIREMENTS.html: Added NetCDF to requirements
+
+2012-05-16 21:36  huhabla
+
+	* raster3d/r3.out.netcdf/r3.out.netcdf.html: Added more
+	  documentation
+
+2012-05-16 21:31  huhabla
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  raster3d/Makefile, raster3d/r3.out.netcdf/Makefile,
+	  raster3d/r3.out.netcdf/main.c,
+	  raster3d/r3.out.netcdf/test_suite/test.r3.out.netcdf.sh: NetCDF
+	  library support integrated in configuration.
+	  Projection specific metadata generation implemented in
+	  r3.out.netcdf.
+	  Added r3.out.netcdf to 3D raster Makefile.
+
+2012-05-16 19:51  hamish
+
+	* include/iostream/minmaxheap.h: declare scope for fns, making g++
+	  4.7 happy (#1655)
+
+2012-05-15 22:56  huhabla
+
+	* raster3d/r3.out.netcdf/main.c: Added spatial coordinates
+	  reference system metadata to netcdf files
+	  to fulfill CF-1.6 and gdal needs.
+
+2012-05-15 13:47  huhabla
+
+	* raster3d/r3.out.netcdf, raster3d/r3.out.netcdf/Makefile,
+	  raster3d/r3.out.netcdf/main.c,
+	  raster3d/r3.out.netcdf/r3.out.netcdf.html,
+	  raster3d/r3.out.netcdf/test_suite,
+	  raster3d/r3.out.netcdf/test_suite/test.r3.out.netcdf.sh:
+	  Incomplete but working version of a netcdf 3d raster map export
+	  module.
+	  This module exports spatial voxel cubes and space time voxel
+	  cubes.
+
+2012-05-15 12:17  hamish
+
+	* vector/v.surf.rst/test_suite/profile.sh: add missing steps
+
+2012-05-14 10:06  hamish
+
+	* gui/wxpython/location_wizard/wizard.py: further support for
+	  swapping ellipse.table list with ellipse.table.solar.system list
+	  (#1513), not fully functional yet (assistance is welcome :)
+
+2012-05-14 08:15  neteler
+
+	* vector/v.clean/test/v.clean.test,
+	  vector/v.surf.bspline/test_suite/profile_cmd.sh,
+	  vector/v.surf.rst/test_suite/profile.sh,
+	  vector/v.timestamp/test_suite/test.v.timestamp.sh,
+	  vector/v.what.rast3/local_proto.h, vector/v.what.rast3/main.c,
+	  vector/v.what.rast3/search.c,
+	  vector/v.what.rast3/test_suite/random_points.txt,
+	  vector/v.what.rast3/test_suite/test.v.what.rast3.sh,
+	  vector/v.what.rast3/v.what.rast3.html: svn propset
+
+2012-05-14 08:08  huhabla
+
+	* vector/Makefile, vector/v.what.rast3,
+	  vector/v.what.rast3/Makefile, vector/v.what.rast3/local_proto.h,
+	  vector/v.what.rast3/main.c, vector/v.what.rast3/search.c,
+	  vector/v.what.rast3/test_suite,
+	  vector/v.what.rast3/test_suite/random_points.ref,
+	  vector/v.what.rast3/test_suite/random_points.txt,
+	  vector/v.what.rast3/test_suite/random_points_db.ref,
+	  vector/v.what.rast3/test_suite/test.v.what.rast3.sh,
+	  vector/v.what.rast3/v.what.rast3.html: Added a new module to
+	  sample 3d raster maps with vector points.
+
+2012-05-14 07:57  huhabla
+
+	* lib/raster3d/test/test_put_get_value.c,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh: Fixed
+	  tests
+
+2012-05-12 11:58  hamish
+
+	* gui/wxpython/location_wizard/wizard.py: add initial
+	  infrastructure support for swapping ellipse.table list with
+	  ellipse.table.solar.system list (#1513)
+
+2012-05-11 11:59  mmetz
+
+	* raster/r.out.arc/main.c: r.out.arc: use full fp precision for LL
+
+2012-05-10 12:35  martinl
+
+	* gui/wxpython/lmgr/toolbars.py: wxGUI/lmgr: add icon 'import from
+	  wms server' to the toolbar
+
+2012-05-10 12:27  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/WMSDialog: remove redundant
+	  argument
+
+2012-05-09 16:38  mmetz
+
+	* raster/r.watershed/ram/do_cum.c, raster/r.watershed/seg/do_cum.c:
+	  r.watershed: more realistic drainage directions for MFD
+
+2012-05-09 13:53  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/lmgr/frame.py: wxGUI: fix
+	  broken r51610
+
+2012-05-09 13:17  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/modules/ogc_services.py,
+	  gui/wxpython/ogc_services, gui/wxpython/ogc_services/wms.py:
+	  wxGUI: new package for OGC services
+
+2012-05-09 12:33  mmetz
+
+	* vector/v.buffer/main.c: v.buffer: first areas then primitives,
+	  needed for negative distances for areas
+
+2012-05-09 10:22  mmetz
+
+	* raster/r.watershed/ram/def_basin.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_cum.c: r.watershed: fix drainage
+	  directions
+
+2012-05-09 06:06  glynn
+
+	* include/defs/ortholib.h: Remove misplaced and incorrect prototype
+	  for I_georef
+
+2012-05-09 05:52  glynn
+
+	* include/gis.h: Fix type of checker field in struct Option
+
+2012-05-08 13:35  mmetz
+
+	* vector/v.net.salesman/main.c: v.net.salesman: fix write sequence
+	  to stdout
+
+2012-05-08 11:33  mmetz
+
+	* lib/gmath/solvers_direct_cholesky_band.c: gmath lib: adjust
+	  G_percent()
+
+2012-05-08 11:31  mmetz
+
+	* lib/gmath/blas_level_2.c, lib/gmath/blas_level_3.c: gmath lib:
+	  fix typos
+
+2012-05-05 08:58  neteler
+
+	* lib/gis/gislib.dox: fix example
+
+2012-05-05 08:44  neteler
+
+	* lib/temporal/Makefile, lib/temporal/SQL/test.temporal.py,
+	  lib/temporal/lib/connect.c, lib/temporal/lib/default_name.c,
+	  lib/temporal/t.connect/main.c,
+	  lib/temporal/t.connect/t.connect.html: svn propset
+
+2012-05-05 01:57  huhabla
+
+	* include/defs/vector.h, lib/python/ctypes/Makefile,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/unit_tests.py,
+	  lib/vector/Vlib/rtree_search.c: Added the rtree library to ctypes
+	  Python wrapper and vector support functions
+	  to be used by the temporal GIS framework for efficient
+	  spatio-temporal topology creation.
+	  Added a new RTreeSearch function to use an ilist to store
+	  rectangle ids.
+
+2012-05-04 22:53  hamish
+
+	* lib/gis/ellipse.table.solar.system: Correction in Ganymede's
+	  minor radius from Alessandro Frigeri.
+	  See also
+	  @article{sohl2009interior,
+	  title={Interior Models of Icy Satellites and Prospects of
+	  Investigation},
+	  author={Sohl, F.},
+	  journal={Proceedings of the International Astronomical Union},
+	  volume={5},
+	  number={S263},
+	  pages={113--120},
+	  year={2009},
+	  publisher={Cambridge Univ Press}
+	  }
+
+2012-05-03 23:03  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: comment lines confuse i.atcorr
+
+2012-05-02 09:20  mmetz
+
+	* vector/v.net.salesman/main.c: avoid buffer overflow, fix sequence
+	  lists
+
+2012-05-01 18:19  mmetz
+
+	* vector/v.buffer/Makefile, vector/v.buffer/geos.c,
+	  vector/v.buffer/local_proto.h, vector/v.buffer/main.c: v.buffer:
+	  compile with GEOS < 3.3.x
+
+2012-05-01 12:15  mmetz
+
+	* vector/v.net.salesman/main.c: v.net.salesman: add option to print
+	  out node sequence; add code comments
+
+2012-05-01 08:37  mmetz
+
+	* vector/v.buffer/Makefile: add again GEOSLIBS ??? should be
+	  included by VECTORLIB
+
+2012-05-01 08:34  mmetz
+
+	* vector/v.buffer/Makefile, vector/v.buffer/geos.c,
+	  vector/v.buffer/local_proto.h, vector/v.buffer/main.c,
+	  vector/v.buffer/v.buffer.html: v.buffer: add flag to transfer
+	  categories
+
+2012-04-30 15:05  martinl
+
+	* lib/vector/vectorlib.dox: vlib: update topology management dox
+	  page
+
+2012-04-30 14:47  mmetz
+
+	* vector/v.buffer/local_proto.h: add new header
+
+2012-04-30 14:46  mmetz
+
+	* vector/v.buffer/geos.c, vector/v.buffer/main.c: v.buffer: full
+	  support for negative distances
+
+2012-04-30 11:08  neteler
+
+	* vector/v.buffer/Makefile: added missing GEOSLIBS
+
+2012-04-29 22:12  martinl
+
+	* gui/wxpython/mapdisp/main.py: wxGUI stand-alone monitor: use
+	  `unset` to discard gisenv variables
+
+2012-04-29 17:07  mmetz
+
+	* vector/v.buffer/main.c: negative distances only for areas
+
+2012-04-29 16:22  mmetz
+
+	* raster/r.watershed/seg/do_cum.c: r.watershed: contour lengths for
+	  TCI
+
+2012-04-29 16:22  mmetz
+
+	* raster/r.watershed/ram/do_cum.c: r.watershed: contour lengths for
+	  TCI
+
+2012-04-29 11:28  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gui_core/goutput.py:
+	  wxGUI/modeler: minor fixes (modification indicator) in python
+	  editor
+
+2012-04-29 10:27  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI modeler: implement python editor
+
+2012-04-28 17:19  mmetz
+
+	* vector/v.buffer/geos.c, vector/v.buffer/main.c: v.buffer: use
+	  GEOS
+
+2012-04-27 15:24  neteler
+
+	* vector/vectorintro.html: fixed patch mess
+
+2012-04-27 15:16  neteler
+
+	* locale/po/grassmods_de.po: typo
+
+2012-04-27 13:24  neteler
+
+	* scripts/db.in.ogr/db.in.ogr.py: fix for key=xxx (thanks to mmetz)
+
+2012-04-27 12:34  mlennert
+
+	* locale/po/grassmods_fr.po: little correction of French
+	  translation for r.null
+
+2012-04-27 12:30  mlennert
+
+	* vector/vectorintro.html: Improve description of layers. Fixes
+	  #1638 (forwardport from dev6)
+
+2012-04-27 10:40  mmetz
+
+	* vector/v.transform/main.c: add new flag to skip topology building
+
+2012-04-27 10:26  martinl
+
+	* raster/r.series.interp: missing svn:ignore prop
+
+2012-04-26 17:44  mmetz
+
+	* vector/v.rectify/orthorot.c: code cleanup
+
+2012-04-26 16:21  huhabla
+
+	* lib/python/array.py, lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/unit_tests.py,
+	  lib/python/temporal/univar_statistics.py, raster/Makefile,
+	  temporal/Makefile, temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.gapfill, temporal/t.rast.gapfill/Makefile,
+	  temporal/t.rast.gapfill/t.rast.gapfill.html,
+	  temporal/t.rast.gapfill/t.rast.gapfill.py,
+	  temporal/t.rast.gapfill/test.t.rast.gapfill.sh,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.topology/t.topology.py: New module to fill gaps in
+	  space time raster datasets using raster to raster interpolation
+	  of r.series.interp.
+	  Keys for temporal sorting of dataset lists by start or end time.
+	  Many new unit tests about sorting and temporal topology building.
+	  Temporal topology computation.
+
+2012-04-26 14:35  mmetz
+
+	* vector/v.rectify/crs.h, vector/v.rectify/orthorot.c,
+	  vector/v.rectify/svdm.c: v.rectify: use ccmath svd
+
+2012-04-26 06:54  mmetz
+
+	* vector/v.rectify/Makefile, vector/v.rectify/cp.c,
+	  vector/v.rectify/crs.h, vector/v.rectify/crs3d.c,
+	  vector/v.rectify/env.c, vector/v.rectify/global.h,
+	  vector/v.rectify/main.c, vector/v.rectify/orthorot.c,
+	  vector/v.rectify/svdm.c, vector/v.rectify/target.c,
+	  vector/v.rectify/v.rectify.html: v.rectify: othogonal rotation
+
+2012-04-24 22:55  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_relationships.py,
+	  lib/python/temporal/unit_tests.py: Extended abstract_map_dataset
+	  with temporal topology structure. Implemented a temporal topology
+	  builder.
+	  Small temporal relationships computation fix.
+
+2012-04-24 15:09  mmetz
+
+	* lib/init/grass.py: init lib bufix
+
+2012-04-24 12:28  neteler
+
+	* temporal/Makefile, temporal/temporalintro.html,
+	  temporal/tgisintro.html: standard file name; template style
+	  content added
+
+2012-04-24 12:21  neteler
+
+	* temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.register/t.register.py, temporal/t.remove/t.remove.py,
+	  temporal/t.sample/t.sample.py, temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: standardize
+	  module descriptions
+
+2012-04-24 12:01  glynn
+
+	* man/Makefile, man/build_class.py, man/build_html.py: Forward-port
+	  r51493
+
+2012-04-24 12:00  mmetz
+
+	* raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/do_cum.c: improve TCI (seg)
+
+2012-04-24 11:59  mmetz
+
+	* raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/init_vars.c: improve TCI (ram)
+
+2012-04-24 09:36  neteler
+
+	* gui/wxpython/lmgr/layertree.py, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: fix msg
+	  wording
+
+2012-04-24 08:28  neteler
+
+	* locale/po/grassmods_de.po: more clear module description
+
+2012-04-24 08:28  neteler
+
+	* vector/v.in.region/main.c: more clear module description
+
+2012-04-24 08:25  neteler
+
+	* vector/v.in.region/main.c: more clear module description
+
+2012-04-24 07:35  mmetz
+
+	* vector/v.select/main.c: v.select: GEOS is optional
+
+2012-04-23 22:32  huhabla
+
+	* temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.import/test.t.rast.import.sh: Enable location
+	  creation without data import
+
+2012-04-23 20:45  neteler
+
+	* vector/v.select/v.select.html: NC example
+
+2012-04-23 20:12  neteler
+
+	* temporal/Makefile, temporal/run_all_tests.sh,
+	  temporal/tgisintro.html: svn propset
+
+2012-04-23 20:06  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: convert to UTF8
+
+2012-04-23 19:44  neteler
+
+	* vector/v.to.rast3/v.to.rast3.html: wording updated
+
+2012-04-23 14:58  neteler
+
+	* locale/po/grassmods_de.po: don't translate method names
+
+2012-04-23 12:45  mmetz
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html: r.watershed: add TCI,
+	  update manual
+
+2012-04-23 12:44  mmetz
+
+	* raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/cseg.h, raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c: r.watershed: add TCI, remove edge
+	  artefacts for SFD (seg)
+
+2012-04-23 12:44  mmetz
+
+	* raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_astar.h,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c: r.watershed: add TCI, remove edge
+	  artefacts for SFD (ram)
+
+2012-04-23 11:30  neteler
+
+	* scripts/g.extension/g.extension.py: fix man installation
+
+2012-04-23 06:07  lucadelu
+
+	* locale/po/grassmods_it.po: Marco Curreli: cont'ed
+
+2012-04-22 17:12  mmetz
+
+	* raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_close.c,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg.h,
+	  raster/r.watershed/seg/cseg_close.c,
+	  raster/r.watershed/seg/cseg_get.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_astar.h,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_close.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/find_pour.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c,
+	  raster/r.watershed/seg/over_cells.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/slope_len.c,
+	  raster/r.watershed/seg/split_str.c,
+	  raster/r.watershed/seg/sseg_close.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_open.c,
+	  raster/r.watershed/seg/sseg_put.c: r.watershed: support for more
+	  than 2 billion cells
+
+2012-04-22 17:11  mmetz
+
+	* lib/segment/address.c, lib/segment/format.c, lib/segment/get.c,
+	  lib/segment/get_row.c, lib/segment/init.c, lib/segment/put.c,
+	  lib/segment/put_row.c, lib/segment/seek.c, lib/segment/setup.c:
+	  segment lib: support for more than 2 billion cells
+
+2012-04-22 17:11  mmetz
+
+	* include/defs/segment.h, include/segment.h: segment lib: support
+	  for more than 2 billion cells (header)
+
+2012-04-22 16:04  huhabla
+
+	* lib/gis/parser_wps.c: Space time raster and vector datasets
+	  supported. New mimetypes defined.
+
+2012-04-20 13:00  huhabla
+
+	* lib/python/temporal/core.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.support/t.support.py: Added ability to create a new
+	  location and import data into the new location to t.rast.import
+
+2012-04-19 15:47  huhabla
+
+	* lib/gis/parser_wps.c: The key_descr field is used to set the
+	  occurence or literals.
+	  Space time datasets are introduced.
+
+2012-04-19 14:27  mmetz
+
+	* raster/r.watershed/seg/init_vars.c: fix pointer, adjust segment
+	  size
+
+2012-04-18 19:13  mmetz
+
+	* vector/v.out.vtk/Makefile, vector/v.out.vtk/writeVTK.c: add
+	  DBMILIB, remove unused variable
+
+2012-04-18 17:35  mmetz
+
+	* vector/v.out.ogr/attrb.c, vector/v.out.ogr/local_proto.h,
+	  vector/v.out.ogr/main.c: v.out.ogr speed-up, depends on export
+	  format
+
+2012-04-18 17:05  mmetz
+
+	* vector/v.out.vtk/local_proto.h, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c: v.out.vtk: port -n flag to trunk
+
+2012-04-18 15:52  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: use `g.mapsets operation=set`
+	  (see r51471)
+
+2012-04-18 15:44  martinl
+
+	* general/g.mapsets/g.mapsets.html,
+	  general/g.mapsets/g.mapsets_picker.py,
+	  general/g.mapsets/get_maps.c, general/g.mapsets/list.c,
+	  general/g.mapsets/local_proto.h, general/g.mapsets/main.c:
+	  g.mapsets: change syntax - addmapsets,removemapsets replaced by
+	  operation
+	  avoid global variables
+	  update manual page accordingly
+	  untabify
+
+2012-04-18 10:34  mmetz
+
+	* raster/r.watershed/ram/do_cum.c: avoid integer overflow
+
+2012-04-17 21:41  martinl
+
+	* lib/init/variables.html: document GRASS_VERBOSE=-1 (see r51466)
+
+2012-04-17 21:34  martinl
+
+	* lib/gis/error.c, lib/gis/parser.c, lib/gis/verbose.c: libgis: new
+	  verbosity level
+	  GRASS_VERBOSE=-1 also discards error and warning messages
+	  doxygen documentation for verbose.c updated
+
+2012-04-17 21:03  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py: Small bugfix
+
+2012-04-17 20:50  huhabla
+
+	* lib/temporal/SQL/map_tables_template.sql,
+	  lib/temporal/SQL/vector_metadata_table.sql: Index creation for
+	  start and end time columns. Using boolean type in vector
+	  metadata.
+
+2012-04-17 20:15  martinl
+
+	* general/g.message/g.message.html, general/g.message/main.c:
+	  g.message: explain -i/-v flags
+	  note python wrapper in the manual
+
+2012-04-17 18:37  neteler
+
+	* temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.mapcalc/test.t.rast3d.mapcalc.sh,
+	  temporal/t.rast3d.univar/t.rast3d.univar.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.rast3d.univar/test.t.rast3d.univar.sh,
+	  temporal/t.vect.extract/t.vect.extract.html,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.extract/test.t.vect.extract.sh,
+	  temporal/t.vect.univar/t.vect.univar.html,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.univar/test.t.vect.univar.sh: svn propset
+
+2012-04-17 12:53  huhabla
+
+	* temporal/t.support/t.support.py,
+	  temporal/t.support/test.t.support.sh: Added the temporal database
+	  unregistration of removed maps and the update of effected space
+	  time datasets.
+
+2012-04-17 12:48  mmetz
+
+	* imagery/i.topo.corr/correction.c,
+	  imagery/i.topo.corr/local_proto.h, imagery/i.topo.corr/main.c:
+	  add scale option to i.topo.corr
+
+2012-04-15 07:34  mmetz
+
+	* vector/v.net.allpairs/main.c,
+	  vector/v.net.allpairs/v.net.allpairs.html: update documentation
+
+2012-04-15 01:03  huhabla
+
+	* temporal/Makefile: Fixed Makefile
+
+2012-04-15 00:58  huhabla
+
+	* temporal/Makefile, temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.vect.univar, temporal/t.vect.univar/Makefile,
+	  temporal/t.vect.univar/t.vect.univar.html,
+	  temporal/t.vect.univar/t.vect.univar.py,
+	  temporal/t.vect.univar/test.t.vect.univar.sh: Space time vector
+	  dataset univariate statistics module
+
+2012-04-15 00:48  huhabla
+
+	* lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/univar_statistics.py: Univariate statistics
+	  for space time vector datasets
+
+2012-04-14 15:57  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI(dbmbr): corrent column width
+	  (manage tables)
+
+2012-04-14 15:27  martinl
+
+	* db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/globals.h: dbdriver(pg): ignore topogeometry
+	  columns
+
+2012-04-14 07:26  neteler
+
+	* raster/r.sun/r.sun.html: + NC example
+
+2012-04-13 20:33  mmetz
+
+	* include/defs/neta.h: neta include:remove unused fn
+
+2012-04-13 20:32  mmetz
+
+	* lib/vector/neta/allpairs.c: neta lib:remove unused fn
+
+2012-04-13 18:52  mmetz
+
+	* vector/v.net.allpairs/v.net.allpairs.html: update manual
+
+2012-04-13 18:51  mmetz
+
+	* vector/v.net.allpairs/main.c: fix and speed up shortest path
+	  calcuation
+
+2012-04-13 18:21  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: import/link - report a
+	  message if no layers selected
+
+2012-04-13 18:10  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: import/link data (avoid
+	  multiple map layers in tree)
+
+2012-04-13 16:54  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: RunCmd() use valid env
+	  variables
+	  various fixes related to GdalSelect
+
+2012-04-13 13:27  martinl
+
+	* vector/v.external/main.c: v.external: no need to explicitly
+	  delete vector map (already done by io handler)
+
+2012-04-13 13:23  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: quick fix for
+	  PyAssertionError in SymbolButton on windows (merge from release
+	  branch, r51413)
+
+2012-04-13 13:15  martinl
+
+	* vector/v.external/main.c: v.external: add debug message
+	  (GRASS_VECTOR_OGR)
+	  untabify
+
+2012-04-13 12:54  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/univar_statistics.py, temporal/Makefile,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast.univar/test.t.rast.univar.sh,
+	  temporal/t.rast3d.univar, temporal/t.rast3d.univar/Makefile,
+	  temporal/t.rast3d.univar/t.rast3d.univar.html,
+	  temporal/t.rast3d.univar/t.rast3d.univar.py,
+	  temporal/t.rast3d.univar/test.t.rast3d.univar.sh: Added
+	  univariate statistics module for space time raster3d datasets
+
+2012-04-13 12:02  huhabla
+
+	* raster/r.univar/r3.univar_main.c: Use the same map identifier for
+	  raster and raster3d maps
+
+2012-04-13 11:13  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/temporal/SQL/stvds_metadata_table.sql,
+	  lib/temporal/SQL/update_stvds_metadata_template.sql,
+	  lib/temporal/SQL/vector_metadata_table.sql, temporal/Makefile,
+	  temporal/run_all_tests.sh, temporal/t.info/t.info.py,
+	  temporal/t.rast.export/test.t.rast.export.sh,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.register/test.t.register.raster.file.reltime.sh,
+	  temporal/t.register/test.t.register.raster.file.sh,
+	  temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.raster3d.sh,
+	  temporal/t.sample/test.t.sample.sh,
+	  temporal/t.support/t.support.py, temporal/t.vect.extract,
+	  temporal/t.vect.extract/Makefile,
+	  temporal/t.vect.extract/t.vect.extract.html,
+	  temporal/t.vect.extract/t.vect.extract.py,
+	  temporal/t.vect.extract/test.t.vect.extract.sh,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.list/test.t.vect.list.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.layer.sh: *
+	  Added vector metadata support in temporal database -> API and
+	  database layout changes
+	  * New module t.vect.extract to perform spatio-temporal and value
+	  based queries on vector maps
+	  * Test update and bugfixing
+	  * API use bugfixing
+
+2012-04-13 10:49  martinl
+
+	* man/Makefile, man/build_html.py: manual pages: add temporal
+	  commands
+
+2012-04-13 10:13  martinl
+
+	* tools/mkhtml.py: mkhtml: add 'temporal' class
+	  capitalize command index
+	  untabify
+
+2012-04-12 22:19  martinl
+
+	* lib/init/grass.py, scripts/g.manual/g.manual.py: define MANPATH
+	  also for addons (GRASS_ADDON_BASE)
+
+2012-04-12 22:06  martinl
+
+	* lib/init/grass.py: grass.py: untabify
+
+2012-04-12 18:07  mmetz
+
+	* gui/wxpython/gcp/manager.py, gui/wxpython/gcp/mapdisplay.py:
+	  wxGUI GCP manager: add OnIdle after resizing
+
+2012-04-12 18:04  mmetz
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: fix OnIdle after
+	  resizing
+
+2012-04-12 17:20  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: fix linking PostGIS data
+	  (v.external: 'p' flag removed)
+
+2012-04-12 16:56  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI/forms: expand also dbname
+	  various minor formating issues
+
+2012-04-12 16:44  martinl
+
+	* db/db.login/main.c: db.login: more guisections
+	  untabify
+
+2012-04-12 15:16  mmetz
+
+	* vector/v.net.allpairs/main.c: fix afield/nfield
+
+2012-04-12 15:15  mmetz
+
+	* lib/vector/Vlib/open.c: Vlib: restore native vector format for
+	  new vector
+
+2012-04-12 14:23  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: fix package.sh - proj
+	  4.8.0
+
+2012-04-12 14:18  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix r51390 (on
+	  windows)
+
+2012-04-12 14:16  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix file URIs in
+	  manual page
+
+2012-04-12 12:48  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: untabify
+
+2012-04-11 14:34  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/close_pg.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/rewind_pg.c, lib/vector/Vlib/write_pg.c:
+	  vlib(pg): follow C indentation rules
+	  no tabs (tabs -> spaces)
+
+2012-04-11 10:42  huhabla
+
+	* lib/python/temporal/extract.py, lib/python/temporal/mapcalc.py:
+	  New extraction algorithm for raster and raster3d space time
+	  datasets
+
+2012-04-11 09:59  huhabla
+
+	* lib/python/temporal/mapcalc.py: New raster and raster3d space
+	  time dataset map calculator
+
+2012-04-11 09:57  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  temporal/Makefile, temporal/t.info/t.info.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.extract/test.t.rast.extract.sh,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.extract/test.t.rast3d.extract.sh,
+	  temporal/t.rast3d.mapcalc, temporal/t.rast3d.mapcalc/Makefile,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html,
+	  temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py,
+	  temporal/t.rast3d.mapcalc/test.t.rast3d.mapcalc.sh: Parallelized
+	  implementation of mapcalc expressions in space time dataset
+	  extract and mapcalc modules.
+	  New space time raster3d dataset mapcalc module.
+
+2012-04-11 09:06  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/core/settings.py: wxGUI:
+	  don't fail when locale is invalid
+
+2012-04-10 22:26  martinl
+
+	* scripts/r.mask/r.mask.py: r.mask: `tmp` map is already remove by
+	  cleanup()
+
+2012-04-10 22:25  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: install manual
+	  pages into `docs` directory
+
+2012-04-10 22:23  martinl
+
+	* include/Make/Script.make: installing scripts(addons): manual
+	  pages are installed to `docs` directory
+
+2012-04-10 21:12  neteler
+
+	* raster/r.clump/r.clump.html, raster/r.mode/r.mode.html,
+	  raster/r.series/r.series.html,
+	  raster/r.statistics/r.statistics.html,
+	  raster/r.univar/r.univar.html, raster/r.univar/r3.univar.html,
+	  raster/rasterintro.html: r.average, r.median, r.sum -->
+	  r.statistics
+
+2012-04-10 19:00  martinl
+
+	* include/Make/Script.make: Script.make: install also etc-part
+	  (required by g.extension to properly install addons)
+
+2012-04-07 23:42  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.create/t.create.py, temporal/t.list/t.list.py,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.remove/t.remove.py, temporal/t.support/t.support.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py: * Using ctypes
+	  interface to libgis and libraster to read raster information to
+	  speed up map registration
+	  * Creation and removal of timestamps in the grass file based
+	  database is now realized using ctypes and libgis to avoid the
+	  execution of timestamp modules
+	  * Database interface connection handling changed
+
+2012-04-07 14:57  lucadelu
+
+	* locale/po/grassmods_it.po: Marco Curreli: cont'ed
+
+2012-04-07 11:06  martinl
+
+	* vector/v.edit/v.edit.html: v.edit: fix some examples (wrong map
+	  units threshold)
+
+2012-04-06 15:45  martinl
+
+	* scripts/r.unpack/r.unpack.py: r.unpack: add gisprompt for binary
+	  input
+
+2012-04-06 15:43  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menudata
+
+2012-04-06 13:55  mmetz
+
+	* gui/wxpython/xml/menudata.xml: wxGUI menu: more accurate labels
+
+2012-04-05 21:32  huhabla
+
+	* temporal/Makefile: Renamed space time raster modules
+
+2012-04-05 21:30  huhabla
+
+	* temporal/tr.aggregate.ds: Using new naming scheme
+
+2012-04-05 21:29  huhabla
+
+	* temporal/t.rast.aggregate.ds,
+	  temporal/t.rast.aggregate.ds/Makefile,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html,
+	  temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py,
+	  temporal/t.rast.aggregate.ds/test.t.rast.aggregate.ds.sh,
+	  temporal/t.rast.aggregate.ds/test.tr.aggregate.ds.sh,
+	  temporal/t.rast.aggregate.ds/tr.aggregate.ds.html,
+	  temporal/t.rast.aggregate.ds/tr.aggregate.ds.py: Using new naming
+	  scheme
+
+2012-04-05 21:24  huhabla
+
+	* temporal/tr.univar: Using new naming scheme
+
+2012-04-05 21:23  huhabla
+
+	* temporal/t.rast.univar, temporal/t.rast.univar/Makefile,
+	  temporal/t.rast.univar/t.rast.univar.html,
+	  temporal/t.rast.univar/t.rast.univar.py,
+	  temporal/t.rast.univar/test.t.rast.univar.sh,
+	  temporal/t.rast.univar/test.tr.univar.sh,
+	  temporal/t.rast.univar/tr.univar.html,
+	  temporal/t.rast.univar/tr.univar.py: Using new naming scheme
+
+2012-04-05 21:20  huhabla
+
+	* temporal/tr.to.rast3: Using new naming scheme
+
+2012-04-05 21:19  huhabla
+
+	* temporal/t.rast.to.rast3, temporal/t.rast.to.rast3/Makefile,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.html,
+	  temporal/t.rast.to.rast3/t.rast.to.rast3.py,
+	  temporal/t.rast.to.rast3/test.t.rast.to.rast3.sh,
+	  temporal/t.rast.to.rast3/test.tr.to.rast3.sh,
+	  temporal/t.rast.to.rast3/tr.to.rast3.html,
+	  temporal/t.rast.to.rast3/tr.to.rast3.py: Using new naming scheme
+
+2012-04-05 21:11  huhabla
+
+	* temporal/tr.series: Using new naming scheme
+
+2012-04-05 21:10  huhabla
+
+	* temporal/t.rast.series, temporal/t.rast.series/Makefile,
+	  temporal/t.rast.series/t.rast.series.html,
+	  temporal/t.rast.series/t.rast.series.py,
+	  temporal/t.rast.series/test.t.rast.series.sh,
+	  temporal/t.rast.series/test.tr.series.sh,
+	  temporal/t.rast.series/tr.series.html,
+	  temporal/t.rast.series/tr.series.py: Using new naming scheme
+
+2012-04-05 21:06  huhabla
+
+	* temporal/tr.out.vtk: Using new naming scheme
+
+2012-04-05 21:06  huhabla
+
+	* temporal/t.rast.out.vtk, temporal/t.rast.out.vtk/Makefile,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.html,
+	  temporal/t.rast.out.vtk/t.rast.out.vtk.py,
+	  temporal/t.rast.out.vtk/test.t.rast.out.vtk.sh,
+	  temporal/t.rast.out.vtk/test.tr.out.vtk.sh,
+	  temporal/t.rast.out.vtk/tr.out.vtk.html,
+	  temporal/t.rast.out.vtk/tr.out.vtk.py: Using new naming scheme
+
+2012-04-05 21:02  huhabla
+
+	* temporal/tr.mapcalc: Using new naming scheme
+
+2012-04-05 21:02  huhabla
+
+	* temporal/t.rast.mapcalc, temporal/t.rast.mapcalc/Makefile,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.html,
+	  temporal/t.rast.mapcalc/t.rast.mapcalc.py,
+	  temporal/t.rast.mapcalc/test.t.rast.mapcalc.sh,
+	  temporal/t.rast.mapcalc/test.tr.mapcalc.sh,
+	  temporal/t.rast.mapcalc/tr.mapcalc.html,
+	  temporal/t.rast.mapcalc/tr.mapcalc.py: Using new naming scheme
+
+2012-04-05 20:57  huhabla
+
+	* temporal/tr.import: Using new naming scheme
+
+2012-04-05 20:56  huhabla
+
+	* temporal/t.rast.import, temporal/t.rast.import/Makefile,
+	  temporal/t.rast.import/t.rast.import.html,
+	  temporal/t.rast.import/t.rast.import.py,
+	  temporal/t.rast.import/test.t.rast.import.sh,
+	  temporal/t.rast.import/test.tr.import.sh,
+	  temporal/t.rast.import/tr.import.html,
+	  temporal/t.rast.import/tr.import.py: Using new naming scheme
+
+2012-04-05 20:52  huhabla
+
+	* temporal/tr.extract: Using new naming scheme
+
+2012-04-05 20:52  huhabla
+
+	* temporal/t.rast.extract, temporal/t.rast.extract/Makefile,
+	  temporal/t.rast.extract/t.rast.extract.html,
+	  temporal/t.rast.extract/t.rast.extract.py,
+	  temporal/t.rast.extract/test.t.rast.extract.sh,
+	  temporal/t.rast.extract/test.tr.extract.sh,
+	  temporal/t.rast.extract/tr.extract.html,
+	  temporal/t.rast.extract/tr.extract.py: Using new naming scheme
+
+2012-04-05 20:47  huhabla
+
+	* temporal/tr.export: Using new naming scheme
+
+2012-04-05 20:46  huhabla
+
+	* temporal/t.rast.export, temporal/t.rast.export/Makefile,
+	  temporal/t.rast.export/t.rast.export.html,
+	  temporal/t.rast.export/t.rast.export.py,
+	  temporal/t.rast.export/test.t.rast.export.sh,
+	  temporal/t.rast.export/test.tr.export.sh,
+	  temporal/t.rast.export/tr.export.html,
+	  temporal/t.rast.export/tr.export.py: Using new naming scheme
+
+2012-04-05 20:39  huhabla
+
+	* temporal/tr.list: Using new naming scheme
+
+2012-04-05 20:39  huhabla
+
+	* temporal/t.rast.list, temporal/t.rast.list/Makefile,
+	  temporal/t.rast.list/t.rast.list.html,
+	  temporal/t.rast.list/t.rast.list.py,
+	  temporal/t.rast.list/test.t.rast.list.sh,
+	  temporal/t.rast.list/test.tr.list.sh,
+	  temporal/t.rast.list/tr.list.html,
+	  temporal/t.rast.list/tr.list.py: Using new naming scheme
+
+2012-04-05 20:24  huhabla
+
+	* temporal/tr.aggregate: Using new naming scheme
+
+2012-04-05 20:23  huhabla
+
+	* temporal/t.rast.aggregate, temporal/t.rast.aggregate/Makefile,
+	  temporal/t.rast.aggregate/t.rast.aggregate.html,
+	  temporal/t.rast.aggregate/t.rast.aggregate.py,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.relative_time.sh,
+	  temporal/t.rast.aggregate/test.t.rast.aggregate.sh,
+	  temporal/t.rast.aggregate/test.tr.aggregate.relative_time.sh,
+	  temporal/t.rast.aggregate/test.tr.aggregate.sh,
+	  temporal/t.rast.aggregate/tr.aggregate.html,
+	  temporal/t.rast.aggregate/tr.aggregate.py: Using new naming
+	  scheme
+
+2012-04-04 12:43  huhabla
+
+	* temporal/Makefile: New naming scheme
+
+2012-04-04 12:42  huhabla
+
+	* temporal/tv.what.strds: Removed tv.what.strds
+
+2012-04-04 12:41  huhabla
+
+	* temporal/t.vect.what.strds, temporal/t.vect.what.strds/Makefile,
+	  temporal/t.vect.what.strds/t.vect.what.strds.html,
+	  temporal/t.vect.what.strds/t.vect.what.strds.py,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.layer.sh,
+	  temporal/t.vect.what.strds/test.t.vect.what.strds.sh,
+	  temporal/t.vect.what.strds/test.tv.what.strds.layer.sh,
+	  temporal/t.vect.what.strds/test.tv.what.strds.sh,
+	  temporal/t.vect.what.strds/tv.what.strds.html,
+	  temporal/t.vect.what.strds/tv.what.strds.py: Renamed
+	  tv.what.strds to meet new naming scheme
+
+2012-04-04 12:26  huhabla
+
+	* temporal/tv.observe.strds: Removed tv.observe.strds
+
+2012-04-04 12:26  huhabla
+
+	* temporal/t.vect.observe.strds,
+	  temporal/t.vect.observe.strds/Makefile,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.html,
+	  temporal/t.vect.observe.strds/t.vect.observe.strds.py,
+	  temporal/t.vect.observe.strds/test.t.vect.observe.strds.sh,
+	  temporal/t.vect.observe.strds/test.tv.observe.strds.sh,
+	  temporal/t.vect.observe.strds/tv.observe.strds.html,
+	  temporal/t.vect.observe.strds/tv.observe.strds.py: Renamed
+	  tv.observe.strds to meet new naming scheme
+
+2012-04-04 12:21  huhabla
+
+	* temporal/tv.list: Remove tv.list
+
+2012-04-04 12:20  huhabla
+
+	* temporal/t.vect.list, temporal/t.vect.list/Makefile,
+	  temporal/t.vect.list/t.vect.list.html,
+	  temporal/t.vect.list/t.vect.list.py,
+	  temporal/t.vect.list/test.t.vect.list.layer.sh,
+	  temporal/t.vect.list/test.t.vect.list.sh,
+	  temporal/t.vect.list/test.tv.list.layer.sh,
+	  temporal/t.vect.list/test.tv.list.sh,
+	  temporal/t.vect.list/tv.list.html,
+	  temporal/t.vect.list/tv.list.py: Renamed tv.list to meet the new
+	  naming scheme
+
+2012-04-04 09:39  huhabla
+
+	* temporal/t.rast3d.list, temporal/t.rast3d.list/Makefile,
+	  temporal/t.rast3d.list/t.rast3d.list.html,
+	  temporal/t.rast3d.list/t.rast3d.list.py,
+	  temporal/t.rast3d.list/test.t.rast3d.list.sh,
+	  temporal/t.rast3d.list/test.tr3.list.sh,
+	  temporal/t.rast3d.list/tr3.list.html,
+	  temporal/t.rast3d.list/tr3.list.py, temporal/tr3.list: Renaming
+	  tr3.list to meet new naming scheme
+
+2012-04-04 09:37  huhabla
+
+	* temporal/tr3.list/Makefile, temporal/tr3.list/t.rast3d.list.html,
+	  temporal/tr3.list/t.rast3d.list.py,
+	  temporal/tr3.list/test.t.rast3d.list.sh,
+	  temporal/tr3.list/test.tr3.list.sh,
+	  temporal/tr3.list/tr3.list.html, temporal/tr3.list/tr3.list.py:
+	  Renaming tr3.list to meet new naming scheme
+
+2012-04-04 09:31  huhabla
+
+	* temporal/t.rast3d.extract, temporal/t.rast3d.extract/Makefile,
+	  temporal/t.rast3d.extract/t.rast3d.extract.html,
+	  temporal/t.rast3d.extract/t.rast3d.extract.py,
+	  temporal/t.rast3d.extract/test.t.rast3d.extract.sh,
+	  temporal/t.rast3d.extract/test.tr3.extract.sh,
+	  temporal/t.rast3d.extract/tr3.extract.html,
+	  temporal/t.rast3d.extract/tr3.extract.py, temporal/tr3.extract:
+	  Renaming tr3.extract to meet new naming scheme
+
+2012-04-04 09:24  huhabla
+
+	* temporal/t.info/t.info.py, temporal/t.remove/t.remove.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.py,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.export/tr.export.py,
+	  temporal/tr.extract/tr.extract.py,
+	  temporal/tr.mapcalc/tr.mapcalc.py,
+	  temporal/tr.out.vtk/tr.out.vtk.py,
+	  temporal/tr.series/tr.series.py,
+	  temporal/tr.to.rast3/tr.to.rast3.py,
+	  temporal/tr.univar/tr.univar.py,
+	  temporal/tr3.extract/tr3.extract.py,
+	  temporal/tv.observe.strds/tv.observe.strds.py,
+	  temporal/tv.what.strds/tv.what.strds.py: Unified error message
+	  when space time dataset is not found
+
+2012-04-04 08:55  huhabla
+
+	* temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.support/t.support.py,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.unregister/t.unregister.py: New map update
+	  functionality in t.support. Test update.
+
+2012-04-04 07:46  mmetz
+
+	* scripts/v.dissolve/v.dissolve.py: v.dissolve: column can be
+	  integer or string
+
+2012-04-03 18:08  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/t.register/test.t.register.vector.file.layer.sh,
+	  temporal/t.register/test.t.register.vector.sh: Reorganization of
+	  the SQL statement handling. Methods
+	  to gather SQL statements have been implemented to speed up
+	  the registration and unregistration of massive amounts of maps
+	  (>10000)
+
+2012-04-02 14:03  mmetz
+
+	* imagery/Makefile: add i.topo.corr
+
+2012-04-02 14:01  mmetz
+
+	* imagery/i.topo.corr: move i.topo.corr to trunk (sync to 6.x)
+
+2012-04-01 20:32  neteler
+
+	* grasslib.dox, lib/proj/projlib.dox: cosmetics
+
+2012-04-01 10:52  martinl
+
+	* lib/python/ctypes/__init__.py: ctypes: order modules by name, add
+	  missing
+
+2012-04-01 02:50  glynn
+
+	* lib/db/sqlp/Makefile: Keep lex/yacc-generated files
+
+2012-04-01 02:49  glynn
+
+	* lib/python/ctypes/__init__.py: Make grass.lib a package rather
+	  than a module
+
+2012-03-31 20:44  huhabla
+
+	* temporal/t.remove/t.remove.py,
+	  temporal/t.unregister/t.unregister.py: Use more efficient removal
+	  and unregistration methods.
+
+2012-03-31 20:41  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py: Documentation
+	  update
+
+2012-03-31 17:21  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py: SQL statement
+	  gathering for efficient and fast DELETE and DROP table
+	  execution for massive datasets.
+
+2012-03-31 10:36  neteler
+
+	* raster3d/raster3dintro.html: expanded
+
+2012-03-30 23:00  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po: fix typo
+
+2012-03-30 22:53  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po: fix typo
+
+2012-03-30 22:48  neteler
+
+	* vector/v.rectify/main.c: typo
+
+2012-03-30 17:53  martinl
+
+	* raster/r.in.ascii/main.c: r.in.ascii: replace i/f/d flags by
+	  `type` option
+
+2012-03-30 17:42  martinl
+
+	* raster/r.in.ascii/main.c: r.in.ascii: make interface compatible
+	  with v.in.ascii and other modules (read from stdin when '-'
+	  given)
+	  minor UI clean up
+
+2012-03-30 17:24  martinl
+
+	* raster/r.in.arc/main.c: r.in.arc: use standard options (input)
+
+2012-03-30 17:18  martinl
+
+	* raster/r.out.png/main.c, raster/r.out.png/r.out.png.html:
+	  r.out.png: lower-case keywords
+	  note r.in.png in the manual
+
+2012-03-30 17:17  martinl
+
+	* raster/r.in.png/main.c, raster/r.in.png/r.in.png.html: r.in.png:
+	  minor fix in manual
+	  add keyword (png)
+
+2012-03-30 17:12  martinl
+
+	* raster/r.in.png/main.c: r.in.png: declare binary input
+
+2012-03-30 17:10  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: interactive file input -
+	  check also for prompt
+
+2012-03-30 16:56  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: typo
+
+2012-03-30 13:48  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: fix context menu for
+	  vectors (external data, sql)
+
+2012-03-30 12:57  martinl
+
+	* lib/vector/Vlib/header.c: vlib: simplify
+	  Vect_get_finfo_format_info()
+
+2012-03-30 12:56  martinl
+
+	* vector/v.info/print.c: v.info: sync format (OGR/PostGIS) for
+	  external data
+
+2012-03-30 12:00  martinl
+
+	* lib/vector/Vlib/field.c: vlib(pg): report full table name
+	  (`schema.table`) for tables from non-public schema
+
+2012-03-30 11:56  neteler
+
+	* doc/projectionintro.html, general/g.proj/g.proj.html,
+	  general/g.setproj/g.setproj.html, raster/r.proj/r.proj.html,
+	  vector/v.proj/v.proj.html: new link for Grids & Datums
+
+2012-03-30 11:37  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib(pg): rewrite hex_to_wkb(), use
+	  static variable
+
+2012-03-30 11:29  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix -d flag
+
+2012-03-29 17:58  martinl
+
+	* lib/gis/parser_html.c: libgis (parser): html description
+	  - lower-case tags
+	  - escape tabs
+	  - wrap options (put extra space between options)
+	  - note required parameters
+
+2012-03-29 15:33  martinl
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/temporal_relationships.py: pythontemporal:
+	  make doxygen more happy
+
+2012-03-29 15:05  martinl
+
+	* lib/python/pythonlib.dox: pythonlib: fix doxygen page (list of
+	  files)
+
+2012-03-29 14:36  martinl
+
+	* lib/python/temporal/Makefile,
+	  lib/python/temporal/pythontemporallib.dox: add doxygen page for
+	  python/temporal
+
+2012-03-29 13:57  huhabla
+
+	* temporal/Makefile, temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.extract/tr.extract.py, temporal/tr.mapcalc,
+	  temporal/tr.mapcalc/Makefile,
+	  temporal/tr.mapcalc/test.tr.mapcalc.sh,
+	  temporal/tr.mapcalc/tr.mapcalc.html,
+	  temporal/tr.mapcalc/tr.mapcalc.py,
+	  temporal/tv.what.strds/tv.what.strds.py: New module tr.mapcalc,
+	  added parallel processing support for tr.extract and tr.mapcalc.
+
+2012-03-29 13:56  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/spatial_extent.py: Bugfixing
+
+2012-03-29 08:34  neteler
+
+	* raster/r.sunmask/r.sunmask.html: +examples
+
+2012-03-28 14:36  martinl
+
+	* include/gis.h, lib/gis/parser_standard_options.c,
+	  vector/v.in.dxf/main.c, vector/v.in.lidar/main.c,
+	  vector/v.in.ogr/main.c, vector/v.overlay/main.c,
+	  vector/v.select/args.c, vector/v.to.points/main.c,
+	  vector/v.voronoi/main.c: G_FLG_DB_TABLE -> G_FLG_V_TABLE
+	  update modules to use G_FLG_V_TABLE
+
+2012-03-28 13:59  martinl
+
+	* raster/r.random/main.c, vector/v.edit/args.c,
+	  vector/v.in.ascii/main.c, vector/v.in.dxf/main.c,
+	  vector/v.in.lidar/main.c, vector/v.patch/main.c,
+	  vector/v.perturb/main.c, vector/v.random/main.c,
+	  vector/v.rectify/main.c: use G_FLG_V_TOPO (do not build topology)
+
+2012-03-28 13:51  martinl
+
+	* vector/v.external.out/args.c, vector/v.external.out/link.c,
+	  vector/v.external.out/list.c, vector/v.external.out/main.c,
+	  vector/v.external.out/v.external.out.html,
+	  vector/v.external/Makefile, vector/v.external/args.c,
+	  vector/v.external/list.c, vector/v.external/local_proto.h,
+	  vector/v.external/main.c, vector/v.external/v.external.html:
+	  v.external & v.external.out: consolidate user interface
+	  replace extra flag (-p) by environmental variable
+	  various minor updates
+
+2012-03-28 13:20  martinl
+
+	* lib/vector/Vlib/header.c: vlib: fix
+	  Vect_get_finfo_geometry_type() for PG links (schema required)
+
+2012-03-28 13:18  martinl
+
+	* include/gis.h, lib/gis/parser_standard_options.c: libgis: add
+	  G_FLG_V_TOPO
+
+2012-03-28 10:28  lucadelu
+
+	* lib/python/core.py: rast, raster and cell can be used in all the
+	  function that search raster maps
+
+2012-03-28 08:07  martinl
+
+	* mswindows/osgeo4w/gdal-config: winGRASS: report gdal version
+	  1.9.0
+
+2012-03-27 08:22  mmetz
+
+	* raster/r.watershed/ram/close_maps2.c: add missing header
+
+2012-03-27 01:22  hamish
+
+	* display/d.vect/dir.c: make it easier to increase the number of
+	  arrow heads per line (currently 3 which can be too few for very
+	  long lines)
+
+2012-03-26 14:47  martinl
+
+	* vector/v.external.out/args.c, vector/v.external.out/link.c,
+	  vector/v.external.out/list.c,
+	  vector/v.external.out/local_proto.h,
+	  vector/v.external.out/main.c, vector/v.external.out/status.c:
+	  v.external.out: order formats by name also when listing formats
+	  (-f)
+
+2012-03-26 14:20  mmetz
+
+	* raster/r.watershed/ram/close_maps2.c: r.watershed: add safety
+	  check (2)
+
+2012-03-26 14:19  mmetz
+
+	* raster/r.watershed/ram/close_maps2.c: r.watershed: add safety
+	  check
+
+2012-03-26 14:19  mmetz
+
+	* raster/r.watershed/seg/close_maps2.c: r.watershed: add safety
+	  check
+
+2012-03-26 13:55  martinl
+
+	* vector/v.external.out/args.c, vector/v.external.out/format.c,
+	  vector/v.external.out/link.c, vector/v.external.out/list.c,
+	  vector/v.external.out/main.c,
+	  vector/v.external.out/v.external.out.html: v.external.out:
+	  simplify user interface
+	  GRASS-PostGIS data driver is used by default for
+	  `format=PostgreSQL`
+	  introduce GRASS_VECTOR_OGR env variable to force using OGR also
+	  for PostGIS output
+
+2012-03-26 06:52  martinl
+
+	* vector/v.external.out/status.c: v.external.out: print `format`
+	  explicitly for PostGIS links
+	  print all creation options in shell script style output
+
+2012-03-23 16:16  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib(pg): don't report error when
+	  feature table not found, print just a warning
+
+2012-03-23 15:59  martinl
+
+	* lib/vector/Vlib/close_pg.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/rewind_pg.c: vlib(pg): fix some schema-related
+	  issues
+
+2012-03-23 14:52  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/header.c: vlib:
+	  Vect_get_finfo_layer_name() return for pg links 'schema.table'
+
+2012-03-23 14:43  martinl
+
+	* vector/v.info/print.c: v.info: cosmetics in PostGIS-related info
+
+2012-03-23 14:34  martinl
+
+	* lib/vector/Vlib/open_ogr.c: vlib: partly revert r51126, don't use
+	  OGR_L_GetName()/OGR_L_GetGeomType() (introduced in GDAL 1.8.0)
+
+2012-03-23 14:18  martinl
+
+	* lib/vector/Vlib/build_sfa.c: vlib: show progress (reading
+	  primitives) when building topo also for ogr/pg links
+
+2012-03-22 19:30  huhabla
+
+	* lib/python/temporal/temporal_relationships.py: Added missing file
+
+2012-03-22 15:52  cmbarton
+
+	* gui/wxpython/gui_core/gselect.py: Fix bug in selecting maps for
+	  output.
+
+2012-03-22 13:39  huhabla
+
+	* temporal/t.register/test.t.register.raster.file.reltime.sh: New
+	  tests to register maps without space time datasets
+
+2012-03-22 13:38  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py: Enabled
+	  registration of maps without the need of a space time dataset
+
+2012-03-22 12:24  huhabla
+
+	* raster/r.gwflow/main.c, temporal/t.sample/t.sample.py,
+	  temporal/t.sample/test.t.sample.sh,
+	  temporal/tr.series/tr.series.py, temporal/tr.univar/tr.univar.py:
+	  Enabled spatio-temporal sampling
+
+2012-03-22 12:21  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/unit_tests.py: New spatial relationship
+	  computationi. Now spatio-temporal transition relations can be
+	  computed.
+	  Implemented spatio-temporal sampling. Support for multiple input
+	  for spatio-temporal sampling.
+
+2012-03-22 10:28  mmetz
+
+	* raster/r.proj/Makefile, raster/r.proj/bilinear.c,
+	  raster/r.proj/bilinear_f.c, raster/r.proj/cubic.c,
+	  raster/r.proj/cubic_f.c, raster/r.proj/lanczos.c,
+	  raster/r.proj/main.c, raster/r.proj/nearest.c,
+	  raster/r.proj/r.proj.h, raster/r.proj/readcell.c: r.proj
+	  parallelization with openmp
+
+2012-03-21 23:59  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib(pg): create schema if not exist
+	  fix creating sidx
+
+2012-03-21 23:33  martinl
+
+	* vector/v.edit/main.c: v.edit: better error handling (tool=create)
+
+2012-03-21 23:25  martinl
+
+	* gui/wxpython/gui_core/gselect.py, gui/wxpython/xml/menudata.xml:
+	  wxGUI: remove redundant ID from the menu
+
+2012-03-21 21:28  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py: wGUI/modeler: fix data dialog
+	  (remove unused variable)
+
+2012-03-21 21:13  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/close_pg.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/Vlib/write_pg.c:
+	  vlib(pg): implement writing attributes
+	  various minor improvements
+
+2012-03-21 21:12  martinl
+
+	* lib/gis/find_file.c, lib/gis/parser.c: libgis: cosmetics when
+	  checking for existing elements
+
+2012-03-21 16:04  cmbarton
+
+	* gui/wxpython/wxgui.py: Use normal wx.SplashScreen instead of
+	  AdvancedSplash on the Mac to avoid errors whenever GUI is started
+
+2012-03-21 14:21  martinl
+
+	* lib/vector/Vlib/open_pg.c, vector/v.edit/main.c: v.edit: fix
+	  `tool=create` for PostGIS data driver
+
+2012-03-21 11:37  martinl
+
+	* lib/vector/Vlib/open_pg.c: vlib: fix debug level
+
+2012-03-21 11:08  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_pg.c: vlib(pg):
+	  implement V2_open_new_pg()
+	  various improvements when writing creating new PostGIS layer
+	  cosmetics in OGR interface (use OGR_L_GetName)
+
+2012-03-21 11:05  martinl
+
+	* lib/gis/parser.c: libgis(parser): check also PG file
+
+2012-03-21 11:04  martinl
+
+	* lib/gis/key_value1.c, lib/gis/key_value2.c, lib/gis/key_value3.c:
+	  libgis: doxygen docs update (key_value_[1|2|3].c)
+	  use G_zero() when initializing Key_Value structure
+
+2012-03-21 02:00  martinl
+
+	* vector/v.external.out/link.c, vector/v.external.out/status.c:
+	  v.external.out(pg): add new options - spatial_index=on|off
+	  primary_key=on|off
+
+2012-03-21 01:11  martinl
+
+	* vector/v.external.out/link.c: v.external.out: skip pg options if
+	  not defined
+
+2012-03-20 21:14  martinl
+
+	* vector/v.external.out/link.c, vector/v.external.out/status.c:
+	  v.external.out: parse schema/fid/geometry_name for PG output
+	  format
+
+2012-03-20 17:26  neteler
+
+	* REQUIREMENTS.html: +XDR link
+
+2012-03-20 00:02  martinl
+
+	* vector/v.external/args.c, vector/v.external/main.c: v.external:
+	  fix dsn (missing \0)
+
+2012-03-19 23:58  martinl
+
+	* vector/v.external.out/main.c: v.external.out: be friendly,
+	  ignored 'PG:' prefix for PostGIS format
+
+2012-03-19 21:39  martinl
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: update GdalOutputDialog
+	  (pg support)
+
+2012-03-19 21:38  martinl
+
+	* vector/v.external.out/Makefile, vector/v.external.out/args.c,
+	  vector/v.external.out/format.c, vector/v.external.out/link.c,
+	  vector/v.external.out/list.c,
+	  vector/v.external.out/local_proto.h,
+	  vector/v.external.out/main.c, vector/v.external.out/status.c:
+	  v.external.out: major update for pg support
+
+2012-03-19 20:23  mmetz
+
+	* mswindows/osgeo4w/package.sh: wingrass: disable untested feature
+
+2012-03-19 19:13  mmetz
+
+	* lib/vector/Vlib/write_pg.c: Vlib write_pg: LITTLE_ENDIAN ->
+	  ENDIAN_LITTLE
+
+2012-03-19 15:29  lucadelu
+
+	* locale/po/grassmods_it.po: Marco Curreli: cont'ed
+
+2012-03-18 15:10  martinl
+
+	* include/Make/Platform.make.in: Platform.make: add USE_POSTGRES
+
+2012-03-18 13:49  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py: wxGUI: support postgis links
+	  (v.external -p)
+
+2012-03-18 12:59  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/build_sfa.c,
+	  lib/vector/Vlib/close_pg.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/diglib/frmt.c: vlib(pg): support schemas
+
+2012-03-18 12:50  martinl
+
+	* vector/v.external/list.c, vector/v.external/local_proto.h,
+	  vector/v.external/main.c: v.external: support schema info for
+	  postgis links
+
+2012-03-18 12:16  martinl
+
+	* lib/gis/token.c: libgis: fix doxygen docs (close tags)
+
+2012-03-18 12:00  martinl
+
+	* vector/v.external/list.c: v.external: -lp - report schema when
+	  there is at least one table in non-public schema, order by table
+	  name
+
+2012-03-18 10:03  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: reduce number of flags, remove
+	  extra flag for listing feature types (this job does v.external)
+
+2012-03-17 20:54  martinl
+
+	* db/drivers/postgres/describe.c: dbdriver(pg): silently skip
+	  geometry columns (print debug message, not a warning), useful
+	  when a map is linked directly using PG data provider
+
+2012-03-17 20:45  martinl
+
+	* .: svn:ignore: add TAGS (for emacs)
+
+2012-03-17 20:44  martinl
+
+	* lib/vector/Vlib/build_sfa.c, lib/vector/Vlib/read_pg.c: vlib(pg):
+	  fix reading polygon with holes
+
+2012-03-17 20:43  martinl
+
+	* vector/v.category/main.c: v.category: print message about added
+	  centroids only when at least one has been added to the map
+
+2012-03-17 20:18  martinl
+
+	* vector/v.delaunay/main.c: v.delaunay: be less verbose (cosmetics)
+
+2012-03-17 15:27  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/read_sfa.c: vlib(pg): improve reading PostGIS
+	  features
+	  eliminate feature_cache_id (use cache.fid)
+
+2012-03-17 15:26  martinl
+
+	* lib/vector/Vlib/read.c: vlib: Vect_read_line(): don't call
+	  G_fatal_error(), return error code
+
+2012-03-17 14:34  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/build.c: vlib: update
+	  prototype for Vect_build_sidx_from_topo()
+
+2012-03-17 14:21  annakrat
+
+	* gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI: attempt to get rid of
+	  CGContextRestoreGState on Mac (see wxWidgets ticket 4272)
+
+2012-03-17 10:57  neteler
+
+	* display/d.fontlist/main.c, display/d.grid/fiducial.c,
+	  display/d.thematic.area/area.c,
+	  display/d.thematic.area/local_proto.h,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot.h,
+	  display/d.thematic.area/plot1.c, general/g.cairocomp/main.c,
+	  general/g.mapsets/list.c, general/g.mlist/main.c,
+	  general/g.mremove/check_reclass.c, general/g.mremove/main.c,
+	  general/g.pnmcat/main.c, general/g.ppmtopng/main.c,
+	  imagery/i.albedo/bb_alb_aster.c,
+	  imagery/i.albedo/bb_alb_landsat.c,
+	  imagery/i.albedo/bb_alb_modis.c, imagery/i.albedo/bb_alb_noaa.c,
+	  imagery/i.albedo/functions.h, imagery/i.albedo/main.c,
+	  imagery/i.aster.toar/gain_aster.c, imagery/i.biomass/biomass.c,
+	  imagery/i.biomass/main.c, imagery/i.biomass/solar_day.c,
+	  imagery/i.emissivity/emissivity_generic.c,
+	  imagery/i.emissivity/main.c, imagery/i.landsat.toar/earth_sun.c,
+	  imagery/i.landsat.toar/earth_sun.h,
+	  imagery/i.landsat.toar/landsat.c,
+	  imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/local_proto.h,
+	  imagery/i.landsat.toar/main.c, imagery/i.latlong/main.c,
+	  imagery/i.modis.qc/mcd43B2a.c, imagery/i.modis.qc/mcd43B2b.c,
+	  imagery/i.modis.qc/mcd43B2c.c, imagery/i.modis.qc/mcd43B2qa.c,
+	  imagery/i.modis.qc/mod13A2a.c, imagery/i.modis.qc/mod13A2b.c,
+	  imagery/i.modis.qc/mod13A2c.c, imagery/i.modis.qc/mod13A2d.c,
+	  imagery/i.modis.qc/mod13A2e.c, imagery/i.modis.qc/mod13A2f.c,
+	  imagery/i.modis.qc/mod13A2g.c, imagery/i.modis.qc/mod13A2h.c,
+	  imagery/i.modis.qc/mod13A2i.c, imagery/i.rectify/bilinear.c,
+	  imagery/i.rectify/bilinear_f.c, imagery/i.rectify/cubic.c,
+	  imagery/i.rectify/cubic_f.c, imagery/i.rectify/lanczos.c,
+	  imagery/i.rectify/nearest.c, imagery/i.rectify/readcell.c,
+	  imagery/i.sunhours/main.c, imagery/i.vi/arvi.c,
+	  imagery/i.vi/dvi.c, imagery/i.vi/evi.c, imagery/i.vi/gari.c,
+	  imagery/i.vi/gemi.c, imagery/i.vi/gvi.c, imagery/i.vi/ipvi.c,
+	  imagery/i.vi/main.c, imagery/i.vi/msavi.c, imagery/i.vi/msavi2.c,
+	  imagery/i.vi/ndvi.c, imagery/i.vi/pvi.c, imagery/i.vi/savi.c,
+	  imagery/i.vi/sr.c, imagery/i.vi/vari.c, imagery/i.vi/wdvi.c,
+	  lib/arraystats/basic.c, lib/arraystats/class.c,
+	  lib/arraystats/discont.README.txt, lib/btree2/rbtree.c,
+	  lib/cairodriver/Draw.c, lib/cairodriver/Text.c,
+	  lib/cairodriver/read_xid.c, lib/cairodriver/write_xid.c,
+	  lib/display/clip.c, lib/display/clip.h, lib/display/r_raster.c,
+	  lib/driver/path.c, lib/driver/path.h, lib/gis/copy_dir.c,
+	  lib/gis/counter.c, lib/gis/handler.c, lib/gis/ls_filter.c,
+	  lib/gis/pager.c, lib/gis/parser_help.c, lib/gis/parser_html.c,
+	  lib/gis/parser_interface.c, lib/gis/parser_local_proto.h,
+	  lib/gis/parser_script.c, lib/gis/parser_standard_options.c,
+	  lib/gis/parser_wps.c, lib/gis/seek.c, lib/gis/units.c,
+	  lib/gis/worker.c, lib/gmath/ATLAS_wrapper_blas_level_1.c,
+	  lib/gmath/blas_level_1.c, lib/gmath/blas_level_2.c,
+	  lib/gmath/blas_level_3.c, lib/gmath/ccmath_grass_wrapper.c,
+	  lib/gmath/solvers_classic_iter.c, lib/gmath/solvers_direct.c,
+	  lib/gmath/solvers_direct_cholesky_band.c,
+	  lib/gmath/solvers_krylov.c, lib/gmath/sparse_matrix.c,
+	  lib/gmath/symmetric_band_matrix.c, lib/htmldriver/Box.c,
+	  lib/htmldriver/Draw.c, lib/htmldriver/Driver.c,
+	  lib/htmldriver/Graph_Clse.c, lib/htmldriver/Graph_Set.c,
+	  lib/htmldriver/Polygon.c, lib/htmldriver/Text.c,
+	  lib/htmldriver/htmlmap.h, lib/imagery/iclass.c,
+	  lib/imagery/iclass_bands.c, lib/imagery/iclass_local_proto.h,
+	  lib/imagery/iclass_perimeter.c, lib/imagery/iclass_signatures.c,
+	  lib/imagery/iclass_statistics.c, lib/init/grass.sh,
+	  lib/proj/ftol.c, lib/python/raster3d.py, lib/python/task.py,
+	  lib/raster/gdal.c, lib/raster/init.c, lib/raster/window.c,
+	  lib/raster3d/getvalue.c, lib/raster3d/putvalue.c,
+	  lib/raster3d/volume_layout.png, lib/raster3d/volume_layout.xcf,
+	  lib/raster3d/volume_tile_cell_generator.sh, lib/stats/c_kurt.c,
+	  lib/stats/c_skew.c, lib/stats/c_thresh.c,
+	  misc/m.nviz.image/cplane.c,
+	  raster/r.colors.out/r3.colors.out.html,
+	  raster/r.colors.out/raster3d_main.c,
+	  raster/r.colors.out/raster_main.c, raster/r.cost/heap.c,
+	  raster/r.external.out/main.c, raster/r.external/proto.h,
+	  raster/r.gwflow/valid_calc_7x7.py,
+	  raster/r.gwflow/valid_calc_excavation.py, raster/r.in.png/main.c,
+	  raster/r.out.gdal/export_band.c, raster/r.out.gdal/local_proto.h,
+	  raster/r.param.scale/cols.sh, raster/r.param.scale/param.sh,
+	  raster/r.proj/bilinear_f.c, raster/r.proj/cubic_f.c,
+	  raster/r.proj/lanczos.c, raster/r.quantile/main.c,
+	  raster/r.resamp.bspline/bspline.h,
+	  raster/r.resamp.bspline/crosscorr.c,
+	  raster/r.resamp.bspline/main.c, raster/r.resamp.bspline/resamp.c,
+	  raster/r.resamp.filter/main.c, raster/r.series.interp/main.c,
+	  raster/r.series.interp/r.series.interp.html,
+	  raster/r.solute.transport/example.py,
+	  raster/r.solute.transport/main.c,
+	  raster/r.solute.transport/seguin_verify.py,
+	  raster/r.solute.transport/seguin_verify_well.py,
+	  raster/r.statistics/run_cmd.c, raster/r.statistics2/main.c,
+	  raster/r.statistics3/main.c, raster/r.sun/local_proto.h,
+	  raster/r.sun/rsunglobals.h, raster/r.sun/rsunlib.c,
+	  raster/r.sun/sunradstruct.h, raster/r.surf.contour/read_cell.c,
+	  raster/r.to.rast3/test.r.to.rast3.sh,
+	  raster/r.to.rast3elev/test.r.to.rast3elev.sh,
+	  raster/r.uslek/main.c, raster/r.uslek/prct2tex.c,
+	  raster/r.uslek/tex2usle_k.c, raster/r.usler/elswaify85.c,
+	  raster/r.usler/foster81.c, raster/r.usler/main.c,
+	  raster/r.usler/morgan74.c, raster/r.usler/roose75.c,
+	  raster/r.walk/heap.c,
+	  raster3d/r3.cross.rast/test.r3.cross.rast.sh,
+	  raster3d/r3.in.ascii/g3d_volume_layout.png,
+	  raster3d/r3.null/test.r3.null.sh,
+	  raster3d/r3.out.ascii/test.r3.out.ascii.sh,
+	  raster3d/r3.out.vtk/test.r3.out.vtk.sh,
+	  raster3d/r3.retile/main.c, raster3d/r3.retile/r3.retile.html,
+	  raster3d/r3.retile/test.r3.retile.sh,
+	  raster3d/r3.stats/test.r3.stats.sh, raster3d/r3.support/check.c,
+	  raster3d/r3.support/local_proto.h, raster3d/r3.support/main.c,
+	  raster3d/r3.support/r3.support.html,
+	  raster3d/r3.to.rast/test.r3.to.rast.sh,
+	  scripts/d.correlate/d.correlate.py, scripts/d.polar/d.polar.py,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/d.vect.thematic/d.vect.thematic.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py, scripts/g.manual/g.manual.py,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py, scripts/i.oif/i.oif.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer/r.buffer.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/r.in.srtm/r.in.srtm.py,
+	  scripts/r.mask/r.mask.py, scripts/r.out.xyz/r.out.xyz.py,
+	  scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py, scripts/r.rgb/r.rgb.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/v.build.all/v.build.all.py,
+	  scripts/v.centroids/v.centroids.py,
+	  scripts/v.convert.all/v.convert.all.py,
+	  scripts/v.db.addcolumn/v.db.addcolumn.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py, scripts/v.in.mapgen/v.in.mapgen.py,
+	  scripts/v.in.sites.all/v.in.sites.all.py,
+	  scripts/v.in.wfs/v.in.wfs.py, scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.what.vect/v.what.vect.py,
+	  scripts/wxpyimgview/wxpyimgview.py,
+	  scripts/wxpyimgview/wxpyimgview_gui.py,
+	  temporal/t.create/t.create.html, temporal/t.create/t.create.py,
+	  temporal/t.info/t.info.html, temporal/t.info/t.info.py,
+	  temporal/t.info/test.t.info.sh, temporal/t.list/t.list.html,
+	  temporal/t.list/t.list.py, temporal/t.register/t.register.html,
+	  temporal/t.register/t.register.py,
+	  temporal/t.register/test.t.register.raster.file.reltime.sh,
+	  temporal/t.register/test.t.register.raster.file.sh,
+	  temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.raster3d.sh,
+	  temporal/t.register/test.t.register.vector.file.layer.sh,
+	  temporal/t.register/test.t.register.vector.sh,
+	  temporal/t.remove/t.remove.html, temporal/t.remove/t.remove.py,
+	  temporal/t.sample/t.sample.html, temporal/t.sample/t.sample.py,
+	  temporal/t.sample/test.t.sample.sh,
+	  temporal/t.support/t.support.html,
+	  temporal/t.support/t.support.py,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.topology/t.topology.html,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh,
+	  temporal/t.unregister/t.unregister.html,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.html,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.py,
+	  temporal/tr.aggregate/test.tr.aggregate.relative_time.sh,
+	  temporal/tr.aggregate/test.tr.aggregate.sh,
+	  temporal/tr.aggregate/tr.aggregate.html,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.export/test.tr.export.sh,
+	  temporal/tr.export/tr.export.html,
+	  temporal/tr.export/tr.export.py,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.extract/tr.extract.html,
+	  temporal/tr.extract/tr.extract.py,
+	  temporal/tr.import/test.tr.import.sh,
+	  temporal/tr.import/tr.import.html,
+	  temporal/tr.import/tr.import.py,
+	  temporal/tr.list/test.tr.list.sh, temporal/tr.list/tr.list.html,
+	  temporal/tr.list/tr.list.py,
+	  temporal/tr.out.vtk/test.tr.out.vtk.sh,
+	  temporal/tr.out.vtk/tr.out.vtk.html,
+	  temporal/tr.out.vtk/tr.out.vtk.py,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr.series/tr.series.html,
+	  temporal/tr.series/tr.series.py,
+	  temporal/tr.to.rast3/test.tr.to.rast3.sh,
+	  temporal/tr.to.rast3/tr.to.rast3.html,
+	  temporal/tr.to.rast3/tr.to.rast3.py,
+	  temporal/tr.univar/test.tr.univar.sh,
+	  temporal/tr.univar/tr.univar.html,
+	  temporal/tr.univar/tr.univar.py,
+	  temporal/tr3.extract/test.tr3.extract.sh,
+	  temporal/tr3.extract/tr3.extract.html,
+	  temporal/tr3.extract/tr3.extract.py,
+	  temporal/tr3.list/test.tr3.list.sh,
+	  temporal/tr3.list/tr3.list.html, temporal/tr3.list/tr3.list.py,
+	  temporal/tv.list/test.tv.list.layer.sh,
+	  temporal/tv.list/test.tv.list.sh, temporal/tv.list/tv.list.html,
+	  temporal/tv.list/tv.list.py,
+	  temporal/tv.observe.strds/test.tv.observe.strds.sh,
+	  temporal/tv.observe.strds/tv.observe.strds.html,
+	  temporal/tv.observe.strds/tv.observe.strds.py,
+	  temporal/tv.what.strds/test.tv.what.strds.layer.sh,
+	  temporal/tv.what.strds/test.tv.what.strds.sh,
+	  temporal/tv.what.strds/tv.what.strds.html,
+	  temporal/tv.what.strds/tv.what.strds.py, vector/v.buffer/main.c,
+	  vector/v.class/main.c, vector/v.delaunay/data_types.h,
+	  vector/v.delaunay/defs.h, vector/v.delaunay/edge.c,
+	  vector/v.delaunay/edge.h, vector/v.delaunay/geom_primitives.h,
+	  vector/v.delaunay/geometry.c, vector/v.delaunay/geometry.h,
+	  vector/v.delaunay/in_out.c, vector/v.delaunay/in_out.h,
+	  vector/v.delaunay/main.c, vector/v.delaunay/memory.c,
+	  vector/v.delaunay/memory.h, vector/v.edit/snap.c,
+	  vector/v.hull/chull.c, vector/v.hull/globals.h,
+	  vector/v.hull/hull.c, vector/v.hull/hull.h,
+	  vector/v.hull/macros.h, vector/v.hull/read.c,
+	  vector/v.hull/write.c, vector/v.random/test.v.random.sh,
+	  vector/v.select/proto.h, vector/v.timestamp/main.c,
+	  vector/v.timestamp/v.timestamp.html,
+	  vector/v.to.rast3/random_points.txt,
+	  vector/v.to.rast3/test.v.to.rast3.sh,
+	  vector/v.to.rast3/v.to.rast3.test.png,
+	  visualization/xganim/gui.cpp, visualization/xganim/main.cpp: svn
+	  propset
+
+2012-03-16 17:05  martinl
+
+	* include/defs/vector.h: vlib: fix compilation issues
+
+2012-03-16 16:47  neteler
+
+	* include/Make/Grass.make: fix r47525 (thanks Glynn)
+
+2012-03-16 16:25  martinl
+
+	* vector/v.build/main.c: v.build: more gui sections
+
+2012-03-16 16:12  martinl
+
+	* vector/v.build/main.c: v.build: implement fdump option (dump
+	  feature index for non-native formats)
+
+2012-03-16 16:11  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/build_sfa.c,
+	  lib/vector/Vlib/read_pg.c, lib/vector/Vlib/write_ogr.c,
+	  lib/vector/Vlib/write_pg.c, lib/vector/Vlib/write_sfa.c:
+	  vlib(pg): skip features without geometry
+	  fix offset for multi-features
+	  implement Vect_fidx_dump()
+
+2012-03-16 15:54  martinl
+
+	* display/d.vect/label.c: d.vect: don't show categories of
+	  boundaries for PostGIS link
+
+2012-03-16 15:49  mmetz
+
+	* gui/wxpython/gcp/toolbars.py: wxGUI: fix #1602 in GCPmanager
+
+2012-03-16 10:59  martinl
+
+	* lib/vector/Vlib/build_pg.c, lib/vector/Vlib/write_pg.c: vlib(pg):
+	  close transaction when unable to insert new feature
+
+2012-03-16 10:58  martinl
+
+	* lib/vector/Vlib/ascii.c, lib/vector/Vlib/write.c: vlib: don't
+	  call G_fatal_error() when unable to write/delete/rewrite a
+	  features, return -1 to indicate error
+
+2012-03-16 10:55  martinl
+
+	* vector/v.edit/main.c: v.edit: don't show message (features added)
+	  when failing
+
+2012-03-16 10:53  martinl
+
+	* gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py:
+	  wxGUI/vdigit: GetFeatureType() return ftype in lowercase
+
+2012-03-16 10:20  martinl
+
+	* lib/vector/Vlib/header.c: vlib: Vect_get_finfo_geometry_type() -
+	  return lowercase (same for OGR and PostGIS links)
+
+2012-03-16 10:18  martinl
+
+	* vector/v.info/print.c: v.info: print feature type for non-native
+	  formats
+	  print timestamp info also in shell script output
+	  minor re-ordering
+
+2012-03-16 08:41  mmetz
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: bug fix: wxPaintDC may
+	  be created only in EVT_PAINT handler
+
+2012-03-14 22:13  martinl
+
+	* lib/python/pythonlib.dox: pythonlib: note region_env() in dox
+	  documentation
+
+2012-03-14 22:10  martinl
+
+	* lib/python/core.py: pythonlib: fix region_env() for current
+	  region settings
+
+2012-03-14 20:56  martinl
+
+	* lib/python/core.py: pythonlib: introduce region_env()
+	  add 3D support for region()
+
+2012-03-12 20:59  annakrat
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: move AddGrowableColumn
+	  after adding widgets (attempt to fix assertion on mac)
+
+2012-03-12 14:50  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/Vlib/write_pg.c,
+	  lib/vector/Vlib/write_sfa.c, lib/vector/diglib/spindex.c:
+	  vlib(pg): introduce V1_rewrite_line_pg() and
+	  V1_rewrite_line_sfa()
+	  minor various updates
+
+2012-03-12 11:42  martinl
+
+	* lib/vector/vedit/vertex.c: veditlib: add some debug messages
+	  (cosmetics)
+
+2012-03-12 11:17  martinl
+
+	* vector/v.edit/main.c: v.edit: clarify message (no topo available)
+
+2012-03-12 10:55  martinl
+
+	* general/g.version/main.c: g.version: don't print SVN rev in basic
+	  output <version><revision> (<date>) is quite unreadable, SVN rev
+	  is printed in shell script output as extra info
+
+2012-03-12 10:46  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: fix adding new
+	  vertex
+
+2012-03-11 20:58  lucadelu
+
+	* locale/po/grassmods_it.po: Marco Curreli: cont'ed
+
+2012-03-11 20:20  neteler
+
+	* REQUIREMENTS.html: jpeg ref removed
+
+2012-03-11 19:53  neteler
+
+	* configure, configure.in: jpeg refs removed
+
+2012-03-11 15:27  martinl
+
+	* lib/vector/Vlib/close.c: vlib: force to write out sidx when
+	  closing the map
+
+2012-03-11 12:54  martinl
+
+	* lib/vector/Vlib/open_pg.c, lib/vector/Vlib/write_pg.c: vlib(pg):
+	  fix compilation issue (no-gdal)
+
+2012-03-11 12:08  neteler
+
+	* locale/po/grassmods_ja.po, locale/po/grasswxpy_ja.po: Naoki Ueda
+	  and team: cont'ed
+
+2012-03-11 10:37  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/read_sfa.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/Vlib/write_pg.c,
+	  lib/vector/Vlib/write_sfa.c: vlib(pg): introduce
+	  V2_read_line_sfa()
+	  implement V1_delete_line_pg() and V2_delete_line_sfa()
+
+2012-03-10 20:07  martinl
+
+	* include/defs/vector.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_pg.c, lib/vector/Vlib/pg_local_proto.h,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_pg.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/Vlib/write_pg.c,
+	  lib/vector/Vlib/write_sfa.c: vlib(pg): implement
+	  V1_write_line_pg() and V2_write_line_sfa()
+
+2012-03-09 18:47  martinl
+
+	* vector/v.external/list.c, vector/v.external/main.c: v.external:
+	  accept also 'PG:' prefix for PostGIS links
+
+2012-03-09 18:38  martinl
+
+	* lib/vector/Vlib/read_pg.c: fix r51022
+
+2012-03-09 16:04  martinl
+
+	* lib/vector/Vlib/read_pg.c: vlib(pg): fix caching features (reset
+	  also fparts)
+
+2012-03-07 22:12  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/build_pg.c, lib/vector/Vlib/build_sfa.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/pg_local_proto.h,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/read_pg.c: vlib/pg:
+	  support reading geometry collections
+
+2012-03-07 22:03  martinl
+
+	* display/d.vect/area.c: d.vect: skip invalid areas
+
+2012-03-07 13:42  martinl
+
+	* display/d.vect/shape.c: d.vect: r51007 - define handler to close
+	  DB connection of fatal error
+
+2012-03-07 13:19  martinl
+
+	* display/d.vect/shape.c: d.vect: switch invalid color definition
+	  from fatal error to warning (common user mistake)
+
+2012-03-07 12:21  martinl
+
+	* gui/wxpython/docs/wxGUI.Modeler.html: wxGUI: note user-defined
+	  models available from SVN
+	  (merge r51003 from devbr6)
+
+2012-03-07 10:52  martinl
+
+	* gui/wxpython/core/settings.py, gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/preferences.py: wxGUI/vdigit: color settings
+	  for new segment (line/boundary)
+
+2012-03-06 13:42  martinl
+
+	* scripts/v.build.all/v.build.all.py: v.build.all: prettified
+	  message ('-' * 80)
+
+2012-03-05 08:16  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: Naoki Ueda and team: cont'ed
+
+2012-03-04 12:43  martinl
+
+	* imagery/i.modis.qc/main.c: i.modis.qc: fix broken module's UI
+
+2012-03-03 05:24  neteler
+
+	* lib/htmldriver/htmldriver.html, lib/psdriver/psdriver.html: typo
+
+2012-03-02 17:24  glynn
+
+	* lib/python/core.py: Use KeyValue object for key-value data
+	  (allows use of e.g. region.rows as an alternative to
+	  region['rows'])
+
+2012-03-02 16:55  glynn
+
+	* lib/python/core.py: Add mlist_strings, mlist_pairs
+	  Add flag= option to mlist_*
+
+2012-03-02 13:56  neteler
+
+	* raster/r.series/r.series.html: +new example
+
+2012-02-28 19:38  hamish
+
+	* lib/vector/Vlib/README: spelling
+
+2012-02-27 23:29  hamish
+
+	* raster/r.topidx/file_io.c: resolution error message clarify
+	  (#1597) and make status messages less important (merge from
+	  devbr6)
+
+2012-02-27 23:23  hamish
+
+	* raster/r.topidx/arc.to.gridatb,
+	  raster/r.topidx/arc.to.gridatb.pl,
+	  raster/r.topidx/gridatb.to.arc,
+	  raster/r.topidx/gridatb.to.arc.pl: rename perl scripts to make it
+	  more obvious what they are (merge from devbr6)
+
+2012-02-27 20:30  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po: spelling (#1596)
+
+2012-02-27 18:38  hamish
+
+	* raster/r.topmodel/main.c: spelling (#1596, merge from devbr6)
+
+2012-02-26 23:00  huhabla
+
+	* temporal/tr.export/test.tr.export.sh,
+	  temporal/tr.export/tr.export.py: Set r.out.gdal nodata and
+	  precision
+
+2012-02-26 07:40  lucadelu
+
+	* locale/po/grassmods_it.po: Marco Curreli: cont'ed
+
+2012-02-26 03:48  hamish
+
+	* gui/images/symbols/extra/n_arrow4.png: new symbol
+
+2012-02-26 03:23  hamish
+
+	* lib/symbol/symbol/extra/n_arrow4: another north arrow symbol
+
+2012-02-25 13:38  neteler
+
+	* imagery/i.aster.toar/main.c, lib/gis/parser_wps.c,
+	  lib/init/Makefile, lib/raster/R.h,
+	  raster/r.li/r.li.setup/r.li.setup.html, raster/r.sun/r.sun.html,
+	  vector/v.external/v.external.html: typos fixed, part 3 (bug trac
+	  #1591)
+
+2012-02-25 13:21  neteler
+
+	* db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html, display/d.mon/d.mon.html,
+	  display/d.what.vect/d.what.vect.html, imagery/i.evapo.mh/main.c,
+	  imagery/i.evapo.pt/main.c, include/defs/vector.h, include/gis.h,
+	  lib/gpde/N_pde.h, lib/gpde/gpdelib.dox,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/raster/get_row_colr.c, lib/raster/rasterlib.dox,
+	  lib/vector/Vlib/break_polygons.c,
+	  lib/vector/dglib/examples/rtest01.sh, locale/README,
+	  scripts/v.krige/v.krige.py: typos fixed, part 2 (bug trac #1591)
+
+2012-02-25 12:58  neteler
+
+	* imagery/i.ortho.photo/lib/elev.c, lib/db/dbmi_base/connect.c,
+	  lib/db/dbmi_base/whoami.c, lib/python/core.py,
+	  lib/temporal/lib/connect.c, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_vi.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_zh.po, vector/v.extract/copy_tab.c: typos
+	  fixed (bug trac #1591)
+
+2012-02-24 07:37  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: wingrass: remove tcltk entry
+	  (wrong backport from devbr6)
+
+2012-02-23 21:56  hamish
+
+	* gui/icons/grass.desktop: more translations from jef/qgis
+
+2012-02-23 19:50  martinl
+
+	* mswindows/GRASS-Installer.nsi.tmpl: WinGRASS: GRASS_BASE - GRASS
+	  -> GRASS GIS
+
+2012-02-23 19:15  neteler
+
+	* Makefile: revert r50817
+
+2012-02-23 00:26  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py, temporal/t.register/t.register.py,
+	  temporal/t.remove/t.remove.py, temporal/t.sample/t.sample.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.unregister/t.unregister.py,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.py,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.export/tr.export.py,
+	  temporal/tr.extract/tr.extract.py,
+	  temporal/tr.import/tr.import.py, temporal/tr.list/tr.list.py,
+	  temporal/tr.out.vtk/tr.out.vtk.py,
+	  temporal/tr.series/tr.series.py,
+	  temporal/tr.to.rast3/tr.to.rast3.py,
+	  temporal/tr.univar/tr.univar.py,
+	  temporal/tr3.extract/tr3.extract.py,
+	  temporal/tr3.list/tr3.list.py, temporal/tv.list/tv.list.py,
+	  temporal/tv.observe.strds/tv.observe.strds.py,
+	  temporal/tv.what.strds/tv.what.strds.py: Use parser standard
+	  options
+
+2012-02-23 00:22  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py: Bug fixing
+
+2012-02-23 00:21  huhabla
+
+	* general/g.parser/standard_option.c, include/gis.h,
+	  lib/gis/parser_standard_options.c: Bug fixing and a new standard
+	  option
+
+2012-02-22 15:08  huhabla
+
+	* general/g.parser/standard_option.c, include/gis.h,
+	  lib/gis/parser_standard_options.c: New standard options and
+	  modifcation of g.parser to recognize them.
+
+2012-02-21 16:12  neteler
+
+	* locale/po/grasswxpy_it.po: typo fixed
+
+2012-02-20 15:21  annakrat
+
+	* ps/ps.map/decorations/NorthArrow1.eps,
+	  ps/ps.map/decorations/NorthArrow3.eps,
+	  ps/ps.map/decorations/NorthArrow5.eps,
+	  ps/ps.map/decorations/n_arrow1.eps,
+	  ps/ps.map/decorations/n_arrow1_fancy.eps,
+	  ps/ps.map/decorations/n_arrow2.eps,
+	  ps/ps.map/decorations/north-arrow_1_simple_half_arrow.eps: fixed
+	  eps north arrow images with eps2eps (and then line %.... in
+	  header has to be removed so that PIL can read it)
+
+2012-02-20 10:13  annakrat
+
+	* gui/wxpython/psmap/instructions.py, gui/wxpython/psmap/utils.py:
+	  wxGUI/wxpsmap: use
+	  '/usr/local/src/psmap_trunk/dist.i686-pc-linux-gnu' shortcut in
+	  eps file path if possible
+
+2012-02-20 00:26  huhabla
+
+	* lib/gis/parser_standard_options.c: New standard options related
+	  to the temporal GIS framework
+
+2012-02-20 00:26  huhabla
+
+	* include/gis.h: New standard options related to the temporal GIS
+	  framework
+
+2012-02-19 18:44  neteler
+
+	* config.guess, config.sub: updated from master git repository
+
+2012-02-18 13:04  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI/about: simplify
+	  python/wxpython version info
+
+2012-02-18 12:55  martinl
+
+	* gui/icons/grass-64x64.png, gui/wxpython/gui_core/ghelp.py: add
+	  grass-64x64 logo (png)
+
+2012-02-18 06:05  hamish
+
+	* gui/icons/grass.desktop: +fi,sv translations (thanks Morten)
+
+2012-02-17 23:30  martinl
+
+	* mswindows/Makefile: mswindows: fix EXTRA_CLEAN_FILES
+
+2012-02-17 23:29  martinl
+
+	* mswindows/Makefile: mswindows: update Makefile (no subdirs)
+
+2012-02-17 22:59  martinl
+
+	* mswindows: update svn props
+
+2012-02-17 22:58  martinl
+
+	* mswindows/Makefile: fix broken r50854
+
+2012-02-17 22:53  martinl
+
+	* Makefile, mswindows/GRASS-Installer.nsi,
+	  mswindows/GRASS-Installer.nsi.tmpl, mswindows/GRASS-Packager.bat,
+	  mswindows/GRASS-Packager.bat.tmpl, mswindows/Makefile: wingrass:
+	  first step for generic GRASS-Packager and GRASS-Installer files
+
+2012-02-17 20:56  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: simplify
+	  wingrass-addons url
+
+2012-02-17 20:29  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: catch error when
+	  unable to parse modules.xml
+
+2012-02-17 08:17  mmetz
+
+	* raster/r.grow.distance/main.c: glynn: scale needs to be squared
+	  for metric=squared
+
+2012-02-17 00:36  hamish
+
+	* lib/python/vector.py: fix for #1534
+
+2012-02-16 19:59  annakrat
+
+	* gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/instructions.py, gui/wxpython/psmap/utils.py:
+	  wxGUI/wxpsmap: simplified method for coordinates conversion,
+	  changed parameter name (map is python built-in function)
+
+2012-02-16 09:57  mmetz
+
+	* raster/r.in.poly/raster.c: r.in.poly: fix for #1576
+
+2012-02-16 08:55  hamish
+
+	* ps/ps.map/do_plt.c: allow drawing of line decorations entirely
+	  outside of the map window. This is deactivated for lat/lon as
+	  apparently it would bypass 180 longitude wrap-around safeguards.
+
+2012-02-16 08:25  mmetz
+
+	* scripts/r.buffer/r.buffer.py: compare squared distance for metric
+	  != geodesic
+
+2012-02-16 07:33  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/wxpsmap: split mouse actions
+	  to more functions
+
+2012-02-16 05:54  hamish
+
+	* gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html: add alt= tag to icon images to make
+	  the html validator happy.
+
+2012-02-16 05:49  hamish
+
+	* gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html: add alt= tag to icon images to make
+	  the html validator happy.
+	  $ sed -i -e 's|<\(img src="icons/.[^>]*\)>|<\1 alt="icon">|'
+
+2012-02-16 05:25  hamish
+
+	* lib/init/grass-xterm-mac, lib/init/grass.py: add relocated
+	  MANPATH to startup routine
+
+2012-02-16 01:43  hamish
+
+	* scripts/r.fillnulls/r.fillnulls.py: explicitly list lambda in
+	  options so it is easier to know how to change it
+
+2012-02-15 18:18  huhabla
+
+	* temporal/Makefile: Use correct module names
+
+2012-02-15 17:34  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: add some more debug messages
+
+2012-02-15 09:33  huhabla
+
+	* temporal/tv.observe.rast, temporal/tv.observe.strds,
+	  temporal/tv.observe.strds/Makefile,
+	  temporal/tv.observe.strds/test.tv.observe.rast.sh,
+	  temporal/tv.observe.strds/test.tv.observe.strds.sh,
+	  temporal/tv.observe.strds/tv.observe.rast.html,
+	  temporal/tv.observe.strds/tv.observe.rast.py,
+	  temporal/tv.observe.strds/tv.observe.strds.html,
+	  temporal/tv.observe.strds/tv.observe.strds.py,
+	  temporal/tv.what.rast, temporal/tv.what.strds,
+	  temporal/tv.what.strds/Makefile,
+	  temporal/tv.what.strds/test.tv.what.rast.layer.sh,
+	  temporal/tv.what.strds/test.tv.what.rast.sh,
+	  temporal/tv.what.strds/test.tv.what.strds.layer.sh,
+	  temporal/tv.what.strds/test.tv.what.strds.sh,
+	  temporal/tv.what.strds/tv.what.rast.html,
+	  temporal/tv.what.strds/tv.what.rast.py,
+	  temporal/tv.what.strds/tv.what.strds.html,
+	  temporal/tv.what.strds/tv.what.strds.py: More meaningful module
+	  naming
+
+2012-02-15 09:13  huhabla
+
+	* raster3d/r3.info/r3.info.main.c: Added missing new line
+
+2012-02-15 08:48  neteler
+
+	* include/Make/Install.make: added missing directories; man/
+	  removed
+
+2012-02-15 08:40  neteler
+
+	* Makefile: man/ gone in r49908
+
+2012-02-15 08:30  hamish
+
+	* lib/python/core.py: fn which lets you know if it's a lat/long
+	  location or not, using a low-overhead method
+
+2012-02-15 06:41  hamish
+
+	* vector/v.info/level1.c: throw an idea into a comment
+
+2012-02-14 22:40  huhabla
+
+	* temporal/t.info/test.t.info.sh,
+	  temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh,
+	  temporal/tr.aggregate/test.tr.aggregate.relative_time.sh,
+	  temporal/tr.aggregate/test.tr.aggregate.sh,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.import/test.tr.import.sh,
+	  temporal/tr.import/tr.import.py,
+	  temporal/tr3.extract/test.tr3.extract.sh,
+	  temporal/tr3.list/test.tr3.list.sh: Updated all tests to use
+	  t.register and t.unregister.
+	  Added color rules support in tr.import.
+
+2012-02-14 15:01  huhabla
+
+	* temporal/tr.export/test.tr.export.sh,
+	  temporal/tr.export/tr.export.py: Export GRASS GIS raster color
+	  rules and readme.txt with content description
+
+2012-02-14 09:19  hamish
+
+	* vector/v.surf.bspline/crosscorr.c: cross-validation table
+	  cosmetics;
+	  spelling in comments; whitespace (merge from devbr6)
+
+2012-02-14 08:22  mmetz
+
+	* raster/r.resamp.bspline/main.c: sync lambda to v.surf.bspline,
+	  adjust messages
+
+2012-02-14 00:04  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  temporal/tr.list/test.tr.list.sh,
+	  temporal/tr.out.vtk/test.tr.out.vtk.sh,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr.to.rast3/test.tr.to.rast3.sh,
+	  temporal/tr.to.rast3/tr.to.rast3.py: Modified tests to use
+	  t.register and t.unregister.
+	  tr.to.rast3 now creates space time voxel cubes with time stamps
+	  and
+	  vertical unit.
+
+2012-02-13 23:31  hamish
+
+	* vector/v.surf.bspline/main.c: change default lambda_i to 0.01
+	  (see #1088), add some code comments about where to multi-thread
+	  it, and a debug message
+
+2012-02-13 21:59  huhabla
+
+	* lib/gis/units.c: Fixed wrong plural unit definition
+
+2012-02-13 21:56  mmetz
+
+	* scripts/r.fillnulls/r.fillnulls.py: r.fillnulls: region fix
+
+2012-02-13 16:26  neteler
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.html,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py,
+	  scripts/i.landsat.rgb/i_landsat_rgb_corrected.jpg,
+	  scripts/i.landsat.rgb/i_landsat_rgb_uncorrected.jpg: example
+	  added
+
+2012-02-13 16:02  martinl
+
+	* lib/vector/Vlib/read_ogr.c: vlib: fix bug when reading OGR
+	  feature type geometry collection and multi-features
+
+2012-02-13 15:59  annakrat
+
+	* gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/instructions.py, gui/wxpython/psmap/utils.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI/wxpsmap: reorganize code into
+	  more files
+
+2012-02-13 15:12  annakrat
+
+	* gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/toolbars.py, gui/wxpython/psmap/utils.py:
+	  wxGUI/wxpsmap: support of point, line, rectangle instructions
+	  added
+
+2012-02-13 15:01  mmetz
+
+	* scripts/r.fillnulls/r.fillnulls.py: restore real region at the
+	  end, do not change input raster geometry
+
+2012-02-13 14:55  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.remove/t.remove.py,
+	  temporal/t.sample/test.t.sample.sh,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh,
+	  temporal/tr.univar/test.tr.univar.sh,
+	  temporal/tv.list/test.tv.list.layer.sh,
+	  temporal/tv.list/test.tv.list.sh: New semantic types. Maps are
+	  now removed from the temporal database
+	  using t.unregister rasther than t.remove. Updated several tests
+	  to use
+	  t.register and t.unregister.
+
+2012-02-13 14:35  mmetz
+
+	* scripts/r.fillnulls/r.fillnulls.py: r.fillnulls: use
+	  r.resamp.bspline instead of v.surf.bspline
+
+2012-02-13 14:27  huhabla
+
+	* temporal/t.register/t.register.py, temporal/t.time.abs,
+	  temporal/t.time.rel, temporal/tr.register,
+	  temporal/tr.unregister, temporal/tr3.register,
+	  temporal/tr3.unregister, temporal/tv.register,
+	  temporal/tv.unregister: Removed obsolete modules.
+
+2012-02-13 14:27  mmetz
+
+	* scripts/r.buffer/r.buffer.py: r.buffer fix for latlong
+
+2012-02-13 14:26  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Removed
+	  redundant code
+
+2012-02-13 14:08  huhabla
+
+	* temporal/Makefile: Fixed typo
+
+2012-02-13 14:07  huhabla
+
+	* temporal/tv.what.rast/test.tv.what.rast.layer.sh,
+	  temporal/tv.what.rast/test.tv.what.rast.sh: Use t.register and
+	  t.unregister
+
+2012-02-13 14:06  huhabla
+
+	* temporal/tv.observe.rast/test.tv.observe.rast.sh: Use t.register
+	  and t.unregister
+
+2012-02-13 13:23  huhabla
+
+	* temporal/Makefile, temporal/t.register/t.register.py,
+	  temporal/t.register/test.t.register.raster.file.reltime.sh,
+	  temporal/t.register/test.t.register.raster.file.sh,
+	  temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.raster3d.sh,
+	  temporal/t.register/test.t.register.vector.file.layer.sh,
+	  temporal/t.register/test.t.register.vector.sh,
+	  temporal/t.support/t.support.py,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.unregister, temporal/t.unregister/Makefile,
+	  temporal/t.unregister/t.unregister.html,
+	  temporal/t.unregister/t.unregister.py: Added t.unregister as
+	  replacement for tr.unregister, tv.unregister
+	  and tr3.unregister to reduce the complexity of the temporal GIS
+	  framework
+	  and to avoid redundant functionality.
+
+2012-02-13 13:19  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py: Allow dataset update
+	  after deletion of a map
+
+2012-02-13 11:00  hamish
+
+	* scripts/r.fillnulls/r.fillnulls.py: use 3D points instead of
+	  writing to a table; minor linewrap & topology comment
+
+2012-02-13 02:32  hamish
+
+	* scripts/r.fillnulls/r.fillnulls.py: zoom into tight region for
+	  RST; fix coeffs for bspline; note 'r.to.vect -b' might be a good
+	  idea. (#1088)
+
+2012-02-12 23:09  huhabla
+
+	* temporal/t.register, temporal/t.register/Makefile,
+	  temporal/t.register/t.register.html,
+	  temporal/t.register/t.register.py,
+	  temporal/t.register/test.t.register.raster.file.reltime.sh,
+	  temporal/t.register/test.t.register.raster.file.sh,
+	  temporal/t.register/test.t.register.raster.sh,
+	  temporal/t.register/test.t.register.raster3d.sh,
+	  temporal/t.register/test.t.register.vector.sh: Replacement for
+	  t.time.rel, t.time.abs, tr.register, tv.register
+	  and tr3.register to reduce the complexity of the temporal GIS
+	  framework
+	  and to avoid redundant functionality
+
+2012-02-12 23:06  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py: Correctly
+	  check return value of get_number_of_maps() when setting the
+	  relative time unit for a space
+	  time dataset
+
+2012-02-12 18:47  hamish
+
+	* gui/icons/grass.desktop: more translations from #1573
+
+2012-02-12 15:48  mmetz
+
+	* gui/wxpython/xml/menudata.xml: fix menu description: query ->
+	  select
+
+2012-02-12 12:27  martinl
+
+	* gui/icons/grass.desktop: #1573 (please donate a translation for
+	  the desktop icon comment)
+	  - cs
+
+2012-02-12 12:20  hamish
+
+	* gui/icons/grass.desktop: add de and fr translations of tooltip
+
+2012-02-12 08:29  neteler
+
+	* REQUIREMENTS.html: +python-dateutil
+
+2012-02-11 12:28  martinl
+
+	* lib/vector/Vlib/build_ogr.c: vlib/ogr: random access for
+	  OGR/PostgreSQL layers requires primary key - inform user about
+	  that
+
+2012-02-11 12:26  martinl
+
+	* vector/v.external/main.c: v.external: define error handler for
+	  output map
+
+2012-02-11 11:36  martinl
+
+	* vector/v.vect.stats/Makefile: v.vect.stats: add missing DBMILIB
+	  in Makefile
+
+2012-02-10 22:00  glynn
+
+	* display/d.extract/Makefile, display/d.what.vect/Makefile,
+	  display/d.zoom/Makefile, doc/vector/v.example/Makefile,
+	  general/manage/lister/Makefile, imagery/i.vpoints/Makefile,
+	  include/Make/Grass.make, lib/manage/Makefile,
+	  lib/python/ctypes/Makefile, lib/temporal/t.connect/Makefile,
+	  lib/vector/neta/Makefile, lib/vector/vedit/Makefile,
+	  raster/r.le/r.le.setup/Makefile,
+	  raster/r.resamp.bspline/Makefile, raster/simwe/simlib/Makefile,
+	  vector/v.clean/test/Makefile, vector/v.in.dwg/Makefile,
+	  vector/v.label.sa/Makefile, vector/v.out.ascii/Makefile,
+	  vector/v.vect.stats/Makefile, visualization/nviz/src/Makefile:
+	  Change $(VECTLIB) -> $(VECTORLIB)
+	  Eliminate unnecessary $(DBMILIB) usage
+
+2012-02-10 19:38  glynn
+
+	* aclocal.m4, configure, display/d.mon/Makefile,
+	  include/Make/Grass.make, include/Make/Platform.make.in,
+	  lib/python/ctypes/Makefile, misc/m.nviz.image/Makefile,
+	  raster/simwe/r.sim.sediment/Makefile,
+	  raster/simwe/r.sim.water/Makefile, raster3d/r3.mask/Makefile,
+	  raster3d/r3.mkdspf/Makefile, raster3d/r3.null/Makefile,
+	  raster3d/r3.timestamp/Makefile, vector/v.external.out/Makefile,
+	  vector/v.lidar.correction/Makefile,
+	  vector/v.lidar.edgedetection/Makefile,
+	  vector/v.lidar.growing/Makefile, vector/v.outlier/Makefile,
+	  vector/v.timestamp/Makefile, vector/v.timestamp/main.c,
+	  visualization/nviz/src/Makefile,
+	  visualization/wximgview/Makefile: Fix dependencies
+	  Fix "make GRASS_LIBRARY_TYPE=stlib"
+
+2012-02-10 19:37  glynn
+
+	* tools/sql.sh: Fix for 64-bit systems
+
+2012-02-10 17:53  martinl
+
+	* mswindows/osgeo4w/package.sh: revert r50755 (fixed by glynn in
+	  r50756)
+
+2012-02-10 17:32  glynn
+
+	* include/Make/Grass.make: Put Vlib -> libpq dependency where it
+	  belongs (fix r50670)
+
+2012-02-10 14:08  mmetz
+
+	* mswindows/osgeo4w/package.sh: deactivate wingrass7 postgres
+	  support because of direct postgis vector support
+
+2012-02-10 11:54  martinl
+
+	* raster3d/r3.support: update svn props
+
+2012-02-10 10:38  mmetz
+
+	* general/g.findfile/element.c: fix compiler warning
+
+2012-02-10 10:18  lucadelu
+
+	* locale/po/grassmods_it.po: Marco Curreli: cont'end
+
+2012-02-10 08:06  neteler
+
+	* locale/po/grasswxpy_ja.po: Naoki Ueda and team: cont'ed
+
+2012-02-09 17:45  martinl
+
+	* mswindows/osgeo4w/env.bat.tmpl: winGRASS: add msys/bin to PATH
+
+2012-02-09 15:46  martinl
+
+	* lib/db/dbmi_base/dbmscap.c: wingrass: fix dbmi_base compilation
+
+2012-02-09 10:29  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/osgeo4w/package.sh:
+	  winGRASS: reflect recent changes in osgeo4w framework (msys-dev)
+
+2012-02-08 21:40  neteler
+
+	* vector/v.what.rast/v.what.rast.html: examples prettified
+
+2012-02-08 13:16  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wGUI: MapLayersDialog - mapType
+	  should not depended on localized string
+
+2012-02-08 11:00  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/wxIClass: fix exported vector
+	  map
+
+2012-02-08 09:04  annakrat
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: redraw decorations
+	  (#1567)
+
+2012-02-08 04:49  hamish
+
+	* gui/wxpython/xml/menudata.xml: r.le.trace needs an Xmon and a
+	  terminal, so drop from menu
+
+2012-02-08 04:46  hamish
+
+	* raster/r.le/r.le.trace/main.c,
+	  raster/r.le/r.le.trace/user_input.c: better support for
+	  map at othermapset;
+	  remove some unused variables;
+	  d.colormode not ported to grass6;
+	  minor whitespace cleanup;
+	  initialize the 'pat' pointer to NULL;
+	  i18n; use G_std_opt()
+	  (sync from devbr6)
+
+2012-02-07 23:51  martinl
+
+	* gui/wxpython/gui_core/mapdisp.py: wxGUI: import missing module
+
+2012-02-07 19:43  annakrat
+
+	* gui/wxpython/docs/wxGUI.IClass.html,
+	  gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/plots.py, gui/wxpython/iclass/toolbars.py:
+	  wxGUI/wxIClass: import/export of training areas implemented
+
+2012-02-07 13:24  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: prettify
+	  table/database descriptions
+
+2012-02-07 13:21  martinl
+
+	* scripts/db.dropcolumn/db.dropcolumn.py: db.dropcolumn: cosmetics
+	  in messages
+
+2012-02-07 13:13  martinl
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: fix update dialog (reset
+	  value for bind'ed widgets)
+
+2012-02-07 12:30  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/gselect.py:
+	  wxGUI: SubGroupSelect widget should be editable
+
+2012-02-07 11:21  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po,
+	  locale/po/grasswxpy_fr.po: Vincent Bain: cont'ed
+
+2012-02-06 14:27  hamish
+
+	* raster/r.rescale/main.c: revert r5069, the paired input is
+	  controlled by key_desc. multiple=YES would mean it should take
+	  multiple pairs (e.g. see r.transect line=)
+
+2012-02-06 13:57  huhabla
+
+	* raster/r.rescale/main.c: Enable multiple support for the "from"
+	  and "to" option, since 2 integer values must be provided and
+	  otherwise the generated wps process description is wrong.
+
+2012-02-06 13:27  huhabla
+
+	* temporal/t.time.rel/test.t.time.rel.sh: Test to support negative
+	  years in relative time
+
+2012-02-06 13:26  huhabla
+
+	* raster3d/Makefile: Added new module r3.support to Makefile
+
+2012-02-06 13:25  huhabla
+
+	* raster3d/r3.support, raster3d/r3.support/Makefile,
+	  raster3d/r3.support/check.c, raster3d/r3.support/local_proto.h,
+	  raster3d/r3.support/main.c, raster3d/r3.support/r3.support.html:
+	  Added r3.support module to create/modify raster3d map metadata.
+
+2012-02-06 13:24  huhabla
+
+	* raster3d/r3.info/r3.info.main.c: Added vertical unit support,
+	  simplified command line interface to be
+	  more compatible with r.info. Reduced the number of flags.
+
+2012-02-06 13:22  huhabla
+
+	* include/datetime.h, include/defs/gis.h, include/defs/raster3d.h,
+	  include/gis.h, include/raster3d.h, lib/gis/units.c,
+	  lib/python/raster3d.py, lib/raster3d/close.c,
+	  lib/raster3d/defaults.c, lib/raster3d/header.c,
+	  lib/raster3d/headerinfo.c, lib/raster3d/open.c,
+	  lib/raster3d/raster3d_intern.h, lib/raster3d/raster3dlib.dox:
+	  Added vertical unit to raster3d map header structure. Temporal
+	  units are
+	  integrated into libgis.
+
+2012-02-06 11:05  hamish
+
+	* display/d.what.rast/d.what.rast.html: html fix, reorder sections
+	  (merge from devbr6)
+
+2012-02-06 10:19  neteler
+
+	* doc/gui/wxpython/example/README: propset
+
+2012-02-06 10:18  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: Robert Nuske: cont'ed
+
+2012-02-06 08:17  hamish
+
+	* raster/r.colors/Makefile: fix for color rules files with
+	  underscores in their names (#1566)
+
+2012-02-05 23:37  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI/about: set minimum window
+	  size
+
+2012-02-05 20:28  hamish
+
+	* AUTHORS: sync order with other branches
+
+2012-02-05 19:21  annakrat
+
+	* doc/gui, doc/gui/wxpython, doc/gui/wxpython/example,
+	  doc/gui/wxpython/example/README,
+	  doc/gui/wxpython/example/dialogs.py,
+	  doc/gui/wxpython/example/frame.py,
+	  doc/gui/wxpython/example/toolbars.py,
+	  doc/gui/wxpython/example/wxGUI.Example.html: wxGUI: example
+	  module added
+
+2012-02-05 17:43  martinl
+
+	* gui/wxpython/nviz/wxnviz.py, gui/wxpython/vdigit/main.py,
+	  gui/wxpython/vdigit/wxdisplay.py: wxGUI: attempt to fix #1563
+	  (wxGUI will not start)
+
+2012-02-05 17:19  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py, include/Make/Grass.make,
+	  include/defs/vector.h, include/gis.h, include/vect/dig_defines.h,
+	  include/vect/dig_structs.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/build_pg.c,
+	  lib/vector/Vlib/build_sfa.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/close_pg.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/dgraph.h,
+	  lib/vector/Vlib/e_intersect.h, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/open_pg.c,
+	  lib/vector/Vlib/pg_local_proto.h, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/read_pg.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_ogr.c,
+	  lib/vector/Vlib/rewind_pg.c, lib/vector/Vlib/simple_features.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/diglib/frmt.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/update.c,
+	  vector/v.external/Makefile, vector/v.external/args.c,
+	  vector/v.external/list.c, vector/v.external/local_proto.h,
+	  vector/v.external/main.c, vector/v.info/print.c: vlib: *initial*
+	  support for native reading PostGIS data (without OGR library)
+	  read-only access is implemented for points, linestrings and
+	  polygons
+	  OGR-like pseudo-topology is built on level 2
+	  todo: implemenent read access to other feature types
+	  (multipoints, geometry collections...)
+	  implemenent write access
+	  implemenent support for PostGIS Topology
+	  v.external: update for native PostGIS support
+	  
+	  more coming soon
+
+2012-02-05 12:33  hamish
+
+	* AUTHORS: +Anna's wxPsMap
+
+2012-02-05 12:26  hamish
+
+	* AUTHORS: add GoC recipients 2009-2011
+
+2012-02-05 11:38  hamish
+
+	* configure, configure.in: handle case when source tree is not a
+	  svn branch (#587)
+
+2012-02-04 11:12  neteler
+
+	* locale/po/grasswxpy_it.po: translation fixes
+
+2012-02-03 12:00  neteler
+
+	* gui/wxpython/xml/menudata.xml: further simplify vector menu
+	  structure
+
+2012-02-03 10:41  mmetz
+
+	* vector/v.rectify/cp.c: initialize message
+
+2012-02-03 10:00  mmetz
+
+	* vector/v.rectify/main.c, vector/v.rectify/v.rectify.html: update
+	  manual, add message
+
+2012-02-03 09:36  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py: Check for None not
+	  for 0
+
+2012-02-02 14:28  mmetz
+
+	* lib/raster/close.c, lib/raster/put_row.c: rasterlib: fix messages
+
+2012-02-02 12:50  martinl
+
+	* lib/db/dbmi_base/dbmscap.c: revert r50632 which doesn't work on
+	  Windows
+
+2012-02-02 12:26  martinl
+
+	* lib/db/dbmi_base/dbmscap.c: dbmi_base: skip manifest files when
+	  listing drivers - check permission X_OK
+
+2012-02-02 12:13  martinl
+
+	* db/db.drivers/main.c: db.drivers: cosmetics in description
+
+2012-02-02 12:10  martinl
+
+	* lib/db/dbmi_base/dbmscap.c: dbmi_base: skip manifest files when
+	  listing drivers
+	  (merge r50626 from relbr64)
+
+2012-02-02 05:49  annakrat
+
+	* gui/wxpython/docs/wxGUI.IClass.html,
+	  gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/iclass/plots.py,
+	  gui/wxpython/iclass/statistics.py,
+	  gui/wxpython/iclass/toolbars.py: set svn properties
+
+2012-02-01 18:08  annakrat
+
+	* gui/wxpython/iclass/frame.py, lib/imagery/iclass.c,
+	  lib/imagery/iclass_perimeter.c: wxGUI/wxIClass: when there is no
+	  area with given cat, display warning, not error message
+
+2012-02-01 14:19  martinl
+
+	* lib/vector/Vlib/area.c: vlib: fix typo
+
+2012-02-01 10:02  hamish
+
+	* debian/README.debian: further tweaks (merge from devbr6)
+
+2012-02-01 09:30  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grassnviz_it.po,
+	  locale/po/grassnviz_pl.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: updated from fresh template files
+
+2012-02-01 07:47  neteler
+
+	* locale/po/grassmods_ja.po, locale/po/grasswxpy_ja.po: Naoki Ueda
+	  and team: cont'ed
+
+2012-01-31 23:11  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po: Milena
+	  Nowotarska: con'ed
+
+2012-01-31 23:11  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_it.po: msg fixes
+
+2012-01-31 21:29  neteler
+
+	* gui/wxpython/xml/menudata.xml: menu organization cleanup (joint
+	  work with mmetz)
+
+2012-01-31 13:31  huhabla
+
+	* temporal/t.time.abs/test.t.time.abs.file.layer.sh,
+	  temporal/tv.what.rast/test.tv.what.rast.layer.sh: Updated
+	  v.category usage
+
+2012-01-31 11:10  annakrat
+
+	* gui/wxpython/gui_core/toolbars.py: wxGUI: extend documentation
+
+2012-01-31 10:36  mlennert
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: applied patch
+	  proposed by Patrice Dumas on grass-dev
+
+2012-01-31 10:06  glynn
+
+	* gui/images/Makefile: Fix rules for creating subdirectories
+
+2012-01-31 09:32  glynn
+
+	* lib/python/core.py: Revert r49565
+
+2012-01-31 02:32  hamish
+
+	* debian/README.debian: sudo as needed (merge from devbr6)
+
+2012-01-31 02:25  hamish
+
+	* debian/README.debian: wordo, beware old versions lying about
+	  (merge from devbr6)
+
+2012-01-30 20:33  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: change return type of
+	  RunCmd()
+
+2012-01-30 20:32  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/goutput.py, lib/python/core.py,
+	  lib/python/task.py: wxGUI: attempt to catch error when getting
+	  interface description
+
+2012-01-30 20:15  hamish
+
+	* general/g.list/main.c: unistd.h defines X_OK as '1'
+
+2012-01-30 20:10  annakrat
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/iclass/plots.py,
+	  gui/wxpython/iclass/statistics.py,
+	  gui/wxpython/iclass/toolbars.py: wxGUI/wxIClass: fix doxygen
+	  namespace
+
+2012-01-30 18:06  lucadelu
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po: update
+	  italian translation: Marco Curreli and Luca Delucchi cont'ed
+
+2012-01-30 17:26  glynn
+
+	* lib/gis/spawn.c: Close handles after spawning child process
+
+2012-01-30 16:09  martinl
+
+	* general/g.list/main.c, lib/manage/do_list.c: bugfix #1557 (g.list
+	  segmentation fault)
+
+2012-01-30 14:09  martinl
+
+	* mswindows/GRASS-Installer.nsi: winGRASS: show GRASS version also
+	  for 'uninstall item' in Start menu
+
+2012-01-30 13:04  huhabla
+
+	* temporal/tv.observe.rast, temporal/tv.observe.rast/Makefile,
+	  temporal/tv.observe.rast/test.tv.observe.rast.sh,
+	  temporal/tv.observe.rast/tv.observe.rast.html,
+	  temporal/tv.observe.rast/tv.observe.rast.py: New module to
+	  observe space time raster datasets using vector points.
+
+2012-01-30 12:32  glynn
+
+	* man/Makefile: Update timestamps
+	  Minor clean-up
+
+2012-01-30 11:49  glynn
+
+	* gui/images/Makefile: Use real make rules instead of shell script
+
+2012-01-30 11:24  glynn
+
+	* db/drivers/mysql/dbe.c: Fix breakage from r50443
+
+2012-01-30 11:11  hamish
+
+	* lib/raster/gdal.c: look for debian/ubuntu versions of the library
+	  name too (apparently not needed for 1.8.0+; merge from devbr6)
+
+2012-01-30 11:11  martinl
+
+	* lib/vector/Vlib/handler.c: vlib: free allocated string in
+	  error_handler_io()
+
+2012-01-30 10:57  mmetz
+
+	* vector/v.extrude/main.c: add check if column exists
+
+2012-01-30 10:46  huhabla
+
+	* lib/raster/raster_metadata.c: Doku cleanup
+
+2012-01-30 09:51  mmetz
+
+	* vector/v.extrude/main.c: check column type only once
+
+2012-01-30 04:28  hamish
+
+	* debian/README.debian: minor sync text
+
+2012-01-30 04:24  hamish
+
+	* debian/README.debian: update to modern; svn props (merge from
+	  devbr6)
+
+2012-01-29 12:31  martinl
+
+	* display/d.vect/shape.c: d.vect: try to display area only if map
+	  contains some centroids/boundaries
+
+2012-01-28 20:56  neteler
+
+	* raster/r.timestamp/r.timestamp.html,
+	  raster3d/r3.timestamp/r3.timestamp.html,
+	  vector/v.timestamp/v.timestamp.html: typo fix
+
+2012-01-28 17:51  annakrat
+
+	* gui/wxpython/gui_core/mapdisp.py: wxGUI: implement OnRender
+	  method in SingleMapFrame
+
+2012-01-28 17:46  annakrat
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/iclass/toolbars.py: wxGUI/wxIClass: remove redundant
+	  code, fix zoom back tool
+
+2012-01-28 12:38  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUIwxpsmap: minor changes in
+	  generating temp file
+
+2012-01-28 12:35  martinl
+
+	* vector/v.info/print.c: v.info: show name and mapset also for
+	  non-native formats
+
+2012-01-28 12:26  martinl
+
+	* vector/v.info/print.c: v.info: fix map type detection also for
+	  shell style output
+
+2012-01-28 12:02  martinl
+
+	* lib/vector/Vlib/header.c: vlib: Vect_get_ogr_*() - better check
+	  for HAVE_OGR
+
+2012-01-28 10:48  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/wxpsmap: reopened bug #1547
+	  hopefully fixed
+
+2012-01-28 10:44  glynn
+
+	* lib/db/dbmi_base/xdrprocedure.c: Revert r50496
+
+2012-01-28 10:32  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: updated
+	  from fresh template files
+
+2012-01-28 10:26  martinl
+
+	* gui/wxpython/gmodeler/model.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/psmap/dialogs.py, gui/wxpython/vdigit/toolbars.py,
+	  gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/scatter.py: wxGUI: fix gettext warning
+
+2012-01-28 09:50  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix layer order when loading
+	  from workspace
+
+2012-01-27 21:33  martinl
+
+	* vector/v.info/print.c: v.info: fix map type check
+
+2012-01-27 21:00  neteler
+
+	* vector/v.to.rast3/main.c: fix r50489
+
+2012-01-27 18:10  huhabla
+
+	* vector/v.category/main.c, vector/v.category/v.category.html:
+	  Enabled multi-layer transfer
+
+2012-01-27 16:55  martinl
+
+	* lib/db/dbmi_base/cursor.c, lib/db/dbmi_base/string.c,
+	  lib/db/dbmi_client/c_fetch.c, lib/db/dbmi_client/c_openselect.c,
+	  lib/db/dbmi_client/db.c: dbmi: use G_zero() for initialization
+	  cosmetics in dox documentation
+
+2012-01-27 15:38  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/temporal_extent.py,
+	  temporal/t.time.abs/t.time.abs.py,
+	  temporal/t.time.abs/test.t.time.abs.file.layer.sh,
+	  temporal/t.time.rel/t.time.rel.py: Better time-stamped vector
+	  layer support implemented.
+
+2012-01-27 12:26  glynn
+
+	* lib/gis/spawn.c: SF_CLOSE_DESCRIPTOR should actually close the
+	  descriptor
+
+2012-01-27 12:26  glynn
+
+	* lib/db/dbmi_base/xdrprocedure.c: db__recv_procnum() shouldn't
+	  return DB_OK for errors or short reads
+
+2012-01-27 10:13  mmetz
+
+	* vector/v.to.rast3/main.c: fix typo
+
+2012-01-27 09:59  mmetz
+
+	* vector/v.to.rast/support.c: port r50487 to trunk with
+	  modifications
+
+2012-01-27 08:15  mmetz
+
+	* lib/vector/Vlib/header.c: Vlib: read proj number
+
+2012-01-27 08:12  lucadelu
+
+	* locale/po/grassmods_it.po: update italian translation, cont'ed
+
+2012-01-26 21:02  huhabla
+
+	* temporal/t.time.rel/t.time.rel.py,
+	  temporal/t.time.rel/test.t.time.rel.file.sh: Fixed option type of
+	  start and end time
+
+2012-01-26 14:33  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/wxpsmap: attempt to fix #1547
+
+2012-01-26 14:13  martinl
+
+	* lib/imagery/Makefile: imagerylib: include VECT_INC
+
+2012-01-26 14:12  martinl
+
+	* display/d.path/Makefile: d.path: remove extra empty lines from
+	  Makefile (cosmetics)
+
+2012-01-26 14:10  martinl
+
+	* vector/v.to.3d/Makefile: v.to.3d: include VECT_INC
+
+2012-01-26 13:57  mmetz
+
+	* lib/raster/null_val.c: fix typo
+
+2012-01-26 13:57  mmetz
+
+	* include/defs/raster.h: fix typo
+
+2012-01-26 13:33  huhabla
+
+	* temporal/t.sample/test.t.sample.sh,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.import/test.tr.import.sh,
+	  temporal/tr.out.vtk/test.tr.out.vtk.sh,
+	  temporal/tr.out.vtk/tr.out.vtk.py,
+	  temporal/tr.to.rast3/test.tr.to.rast3.sh,
+	  temporal/tr3.list/test.tr3.list.sh,
+	  temporal/tv.what.rast/test.tv.what.rast.layer.sh: Test update and
+	  bug fixing
+
+2012-01-26 12:23  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py, lib/python/temporal/base.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py: Implemented handling
+	  of time-stamped vector layers
+
+2012-01-26 12:22  huhabla
+
+	* lib/temporal/SQL/map_tables_template.sql,
+	  lib/temporal/SQL/vector_metadata_table.sql: Implemented handling
+	  of time-stamped vector layers
+
+2012-01-26 12:22  huhabla
+
+	* temporal/tr.register/tr.register.py,
+	  temporal/tv.list/test.tv.list.layer.sh,
+	  temporal/tv.list/tv.list.py, temporal/tv.register/tv.register.py,
+	  temporal/tv.unregister/tv.unregister.py,
+	  temporal/tv.what.rast/test.tv.what.rast.layer.sh,
+	  temporal/tv.what.rast/tv.what.rast.py: Implemented handling of
+	  time-stamped vector layers
+
+2012-01-26 07:58  hamish
+
+	* vector/v.info/print.c: use boolean macros; fix broken sprintf();
+	  only print timestamp info when it exists.
+
+2012-01-26 07:44  hamish
+
+	* lib/vector/Vlib/header.c: write out PROJ code to vector/head if
+	  known; move obvious handling of PROJECTION_OTHER by
+	  Vect_get_proj_name()
+
+2012-01-26 06:30  hamish
+
+	* include/vect/dig_structs.h: minor spelling
+
+2012-01-26 05:49  hamish
+
+	* lib/vector/Vlib/header.c: add a debug statement and a comment
+	  about its error handling
+
+2012-01-26 05:26  hamish
+
+	* vector/v.info/print.c: use map's projection info not location's;
+	  handle cases where utm zone isn't set correctly better
+
+2012-01-25 20:56  martinl
+
+	* mswindows/GRASS-Installer.nsi: winGRASS: sync VERSION_NUMBER with
+	  include/VERSION
+
+2012-01-25 17:36  annakrat
+
+	* gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py:
+	  wxGUI/wxpsmap: fixed bug #1545
+
+2012-01-25 17:20  martinl
+
+	* mswindows/osgeo4w/package.sh: winGRASS: fix GRASS_EXECUTABLE
+
+2012-01-25 14:43  huhabla
+
+	* vector/v.timestamp/test_suite/test.v.timestamp.sh: Added to the
+	  test the output of v.info to print the timestamp for the first
+	  layer.
+
+2012-01-25 14:42  huhabla
+
+	* vector/v.info/print.c: Print timestamp from the first layer
+
+2012-01-25 14:20  huhabla
+
+	* include/defs/gis.h, lib/gis/timestamp.c,
+	  vector/v.timestamp/main.c,
+	  vector/v.timestamp/test_suite/test.v.timestamp.sh: Timestamp
+	  support for vector layers added.
+
+2012-01-25 14:06  martinl
+
+	* db/drivers/dbf/column.c, db/drivers/dbf/create_table.c,
+	  db/drivers/dbf/cursor.c, db/drivers/dbf/db.c,
+	  db/drivers/dbf/dbfexe.c, db/drivers/dbf/describe.c,
+	  db/drivers/dbf/driver.c, db/drivers/dbf/error.c,
+	  db/drivers/dbf/execute.c, db/drivers/dbf/main.c,
+	  db/drivers/dbf/proto.h, db/drivers/dbf/select.c,
+	  db/drivers/dbf/table.c, db/drivers/mysql/create_table.c,
+	  db/drivers/mysql/cursor.c, db/drivers/mysql/db.c,
+	  db/drivers/mysql/dbe.c, db/drivers/mysql/describe.c,
+	  db/drivers/mysql/error.c, db/drivers/mysql/execute.c,
+	  db/drivers/mysql/fetch.c, db/drivers/mysql/index.c,
+	  db/drivers/mysql/listtab.c, db/drivers/mysql/parse.c,
+	  db/drivers/mysql/proto.h, db/drivers/mysql/select.c,
+	  db/drivers/odbc/connect.c, db/drivers/odbc/create_table.c,
+	  db/drivers/odbc/cursor.c, db/drivers/odbc/db.c,
+	  db/drivers/odbc/describe.c, db/drivers/odbc/driver.c,
+	  db/drivers/odbc/error.c, db/drivers/odbc/execute.c,
+	  db/drivers/odbc/listdb.c, db/drivers/odbc/listtab.c,
+	  db/drivers/odbc/proto.h, db/drivers/odbc/select.c,
+	  db/drivers/odbc/table.c, db/drivers/ogr/cursor.c,
+	  db/drivers/ogr/db.c, db/drivers/ogr/describe.c,
+	  db/drivers/ogr/error.c, db/drivers/ogr/execute.c,
+	  db/drivers/ogr/fetch.c, db/drivers/ogr/listtab.c,
+	  db/drivers/ogr/proto.h, db/drivers/ogr/select.c,
+	  db/drivers/postgres/create_table.c, db/drivers/postgres/cursor.c,
+	  db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/error.c, db/drivers/postgres/execute.c,
+	  db/drivers/postgres/fetch.c, db/drivers/postgres/index.c,
+	  db/drivers/postgres/listdb.c, db/drivers/postgres/listtab.c,
+	  db/drivers/postgres/parse.c, db/drivers/postgres/priv.c,
+	  db/drivers/postgres/proto.h, db/drivers/postgres/select.c,
+	  db/drivers/sqlite/create_table.c, db/drivers/sqlite/cursor.c,
+	  db/drivers/sqlite/db.c, db/drivers/sqlite/describe.c,
+	  db/drivers/sqlite/error.c, db/drivers/sqlite/execute.c,
+	  db/drivers/sqlite/fetch.c, db/drivers/sqlite/index.c,
+	  db/drivers/sqlite/listtab.c, db/drivers/sqlite/proto.h,
+	  db/drivers/sqlite/select.c: DB drivers: use db_d_report_error()
+	  instead of its own mechanism
+	  i18n
+
+2012-01-25 14:04  martinl
+
+	* lib/db/dbmilib.dox: dbmi (driver): document
+	  db_d_init/append/report_error()
+
+2012-01-25 14:02  martinl
+
+	* include/defs/dbmi.h, lib/db/dbmi_driver/d_error.c: DBMI (driver):
+	  implement db_d_init/append/report_error (taken from DB drivers)
+
+2012-01-25 12:05  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/osgeo4w/package.sh:
+	  winGRASS: extra DLL should be included in /osgeo4w/bin, see
+	  http://trac.osgeo.org/grass/wiki/CompileOnWindows?action=diff&version=213&old_version=210
+
+2012-01-25 11:08  neteler
+
+	* vector/v.extrude/main.c: enforce DB_C_TYPE_DOUBLE for SQLite
+	  backend
+
+2012-01-25 07:08  hamish
+
+	* vector/v.to.rast/main.c, vector/v.to.rast/vect2rast.c: only print
+	  convert stats when interesting; move done_msg to main fn level
+
+2012-01-25 07:02  hamish
+
+	* vector/v.to.rast/support.c: no-long-suppressed warning message is
+	  unsurprising (merge from devbr6)
+
+2012-01-24 23:15  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI/about: cosmetics (first
+	  page)
+
+2012-01-24 23:05  martinl
+
+	* gui/wxpython/core/globalvar.py: winGRASS: fix scanning scripts
+	  dir
+
+2012-01-24 22:29  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grasswxpy_de.po: Robert
+	  Nuske: cont'ed
+
+2012-01-24 19:36  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/osgeo4w/package.sh,
+	  mswindows/osgeo4w/preremove.bat: winGRASS: extra mingw/msys
+	  packages should be copied to apps/msys
+
+2012-01-24 16:29  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/prompt.py:
+	  wxGUI: move GetRealCmd from `utils` module to `gcmd`
+
+2012-01-24 14:36  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/gui_core/prompt.py:
+	  wxGUI: eliminate globalvar.grassCmd['scripts']
+
+2012-01-24 11:56  martinl
+
+	* gui/wxpython/gui_core/gselect.py: #1543 (WXGUI GDAL/OGR import
+	  dialogs fail to open in WinGRASS)
+	  (merge r50409 from devbr6)
+
+2012-01-23 22:29  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: show python/wxpython
+	  version in about-window
+
+2012-01-23 22:07  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat,
+	  mswindows/env.bat, mswindows/osgeo4w/env.bat.tmpl,
+	  mswindows/osgeo4w/grass.tmpl, mswindows/osgeo4w/package.sh:
+	  winGRASS: OSGeo4W switched from python 2.5 to 2.7
+	  http://trac.osgeo.org/osgeo4w/ticket/219#comment:19
+
+2012-01-23 20:11  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/menu.py, gui/wxpython/gui_core/prompt.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/tools/update_menudata.py: wxGUI: reorganize command
+	  lists
+	  (merge r50394 from devbr6)
+
+2012-01-23 13:06  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: winGRASS: show version in menu
+	  items (to avoid mismatch when more versions is installed)
+
+2012-01-22 20:27  mmetz
+
+	* lib/vector/Vlib/ascii.c: G_asprintf2() changed to G_rasprintf()
+
+2012-01-22 20:25  mmetz
+
+	* lib/gis/asprintf.c: libgis: change fn names to better refelct
+	  what they do
+
+2012-01-22 20:24  mmetz
+
+	* include/defs/gis.h: change fn names to better refelct what they
+	  do
+
+2012-01-22 19:29  martinl
+
+	* lib/vector/Vlib/open.c: vlib: Vect__open_old() - remove redundant
+	  Vect_set_proj/zone() calls
+
+2012-01-22 19:11  martinl
+
+	* db/drivers/postgres/create_table.c, db/drivers/postgres/cursor.c,
+	  db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/error.c, db/drivers/postgres/execute.c,
+	  db/drivers/postgres/fetch.c, db/drivers/postgres/globals.h,
+	  db/drivers/postgres/index.c, db/drivers/postgres/listdb.c,
+	  db/drivers/postgres/listtab.c, db/drivers/postgres/parse.c,
+	  db/drivers/postgres/priv.c, db/drivers/postgres/select.c: pg
+	  driver: i18n and some cosmetics
+
+2012-01-22 08:30  mmetz
+
+	* lib/db/dbmi_base/string.c: fix r50370
+
+2012-01-22 08:26  mmetz
+
+	* lib/db/dbmi_base/table.c: db lib: fix memory leak
+
+2012-01-22 01:05  huhabla
+
+	* lib/python/temporal/aggregation.py: Documentation update
+
+2012-01-22 01:04  huhabla
+
+	* temporal/tr.aggregate/test.tr.aggregate.relative_time.sh: Added
+	  r.info statements
+
+2012-01-22 00:59  huhabla
+
+	* lib/gpde/N_arrays_calc.c, lib/gpde/N_les_assemble.c,
+	  lib/gpde/gpdelib.dox: Typo fixes
+
+2012-01-21 21:05  mmetz
+
+	* lib/db/dbmi_base/string.c: db lib: attempt to fix some more
+	  memory leaks
+
+2012-01-21 20:53  martinl
+
+	* vector/v.info/print.c: v.info: fix projection/zone output
+
+2012-01-21 18:58  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/menu: fix histogramming tool
+
+2012-01-21 18:26  mmetz
+
+	* lib/db/dbmi_client/select.c: db lib: fix symptom of memory leak,
+	  not (yet) cause
+
+2012-01-21 17:59  martinl
+
+	* gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI_layer_manager.jpg: wxGUI: update manual
+	  (toolbars)
+
+2012-01-21 16:27  mmetz
+
+	* lib/vector/Vlib/ascii.c: Vlib: use reallocating version of
+	  G_asprintf
+
+2012-01-21 16:26  mmetz
+
+	* lib/gis/asprintf.c: libgis: add reallocating version of
+	  G_asprintf
+
+2012-01-21 16:25  mmetz
+
+	* include/defs/gis.h: add reallocating version of G_asprintf
+
+2012-01-21 15:53  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: note python/wxpython
+
+2012-01-21 13:51  mmetz
+
+	* vector/v.rectify/v.rectify.html: v.rectify: update manual
+
+2012-01-21 13:24  mmetz
+
+	* lib/db/dbmi_client/column.c: db lib: fix memory leak
+
+2012-01-21 12:35  mmetz
+
+	* lib/db/dbmi_client/column.c: db lib: fix memory leak
+
+2012-01-21 12:31  martinl
+
+	* display/d.vect/opt.c, general/g.proj/main.c,
+	  general/g.proj/output.c, include/defs/gprojects.h,
+	  lib/imagery/iclass_perimeter.c, lib/proj/convert.c,
+	  lib/vector/Vlib/array.c, lib/vector/Vlib/break_polygons.c,
+	  lib/vector/Vlib/bridges.c, lib/vector/Vlib/buffer.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/color_read.c, lib/vector/Vlib/color_write.c,
+	  lib/vector/Vlib/e_intersect.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/find.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/net.c, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/remove_duplicates.c,
+	  lib/vector/Vlib/rewind_ogr.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/diglib/frmt.c,
+	  lib/vector/vedit/delete.c, raster/r.in.lidar/main.c,
+	  vector/v.colors.out/main.c, vector/v.colors/main.c,
+	  vector/v.select/main.c, vector/v.select/select.c: fix compilation
+	  without gdal/ogr
+	  remove unused variables (vlib)
+
+2012-01-21 12:29  martinl
+
+	* vector/v.timestamp: update svn props (v.timestamp)
+
+2012-01-21 00:35  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/temporal/SQL/map_tables_template.sql,
+	  lib/temporal/SQL/stds_tables_template.sql, temporal/Makefile,
+	  temporal/t.time.abs/test.t.time.abs.file.sh,
+	  temporal/t.time.rel/t.time.rel.py,
+	  temporal/t.time.rel/test.t.time.rel.file.sh,
+	  temporal/t.time.rel/test.t.time.rel.sh,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh,
+	  temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.py,
+	  temporal/tr.aggregate/test.tr.aggregate.relative_time.sh,
+	  temporal/tr.aggregate/test.tr.aggregate.sh,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.export/test.tr.export.sh,
+	  temporal/tr.list/test.tr.list.sh,
+	  temporal/tr.register/ECAD_climate_analysis_1995_2010.py,
+	  temporal/tr.register/test.tr.register.file.sh,
+	  temporal/tr.register/tr.register.py,
+	  temporal/tr.series/tr.series.py,
+	  temporal/tr.univar/test.tr.univar.sh,
+	  temporal/tr3.register/test.tr3.register.sh,
+	  temporal/tr3.register/tr3.register.py,
+	  temporal/tv.list/test.tv.list.sh,
+	  temporal/tv.register/tv.register.py,
+	  temporal/tv.what.rast/test.tv.what.rast.sh: New relative time
+	  handling, compatible to the grass datetime library.
+	  New database structure using different SQL datatypes.
+
+2012-01-20 22:10  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po,
+	  locale/po/grasswxpy_fr.po: Vincent Bain: cont'ed
+
+2012-01-20 21:58  neteler
+
+	* locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_pt_br.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: typos discovered by Vincent Bain fixed
+
+2012-01-20 21:56  neteler
+
+	* gui/wxpython/core/render.py, gui/wxpython/dbmgr/manager.py,
+	  gui/wxpython/vdigit/dialogs.py: typos discovered by Vincent Bain
+	  fixed
+
+2012-01-20 19:14  martinl
+
+	* db/db.select/db.select.html: db.select: minor manual clean-up
+
+2012-01-20 19:01  martinl
+
+	* display/d.info/d.info.html: d.info: update manual page
+
+2012-01-20 18:56  martinl
+
+	* display/d.info/main.c: d.info: cosmetics in module description
+
+2012-01-20 18:51  martinl
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI: document SymbolDialog
+
+2012-01-20 18:41  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: remove globalvar.HIST_WINDOW_SIZE
+
+2012-01-20 17:42  mmetz
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizer.html: fix r50316
+
+2012-01-20 17:35  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/modules/histogram.py, gui/wxpython/wxplot/base.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/profile.py,
+	  gui/wxpython/wxplot/scatter.py, gui/wxpython/xml/menudata.xml:
+	  wxGUI: fix histogramming / profile tools (launch from mapdisp)
+
+2012-01-20 16:33  martinl
+
+	* gui/wxpython/modules/histogram.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/profile.py,
+	  gui/wxpython/wxplot/scatter.py: wxGUI/wxplot: SetLabel ->
+	  SetTitle
+
+2012-01-20 14:39  martinl
+
+	* gui/wxpython/vdigit/mapwindow.py: wxGUI/vdigit: show message when
+	  no action defined
+
+2012-01-20 12:15  martinl
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI_vector_digitizer_toolbar.jpg:
+	  wxGUI/vdigit: update manual page
+
+2012-01-20 11:56  martinl
+
+	* lib/vector/Vlib/area.c: vlib: Vect_get_area_boundaries() - add
+	  note about negative ids
+
+2012-01-20 11:51  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: remove print
+	  statement
+
+2012-01-20 10:24  huhabla
+
+	* include/defs/gis.h, lib/gis/timestamp.c,
+	  lib/python/temporal/datetime_math.py, raster/r.timestamp/main.c,
+	  raster/r.timestamp/test_suite,
+	  raster/r.timestamp/test_suite/test.r.timestamp.sh,
+	  raster3d/r3.info/r3.info.main.c,
+	  raster3d/r3.timestamp/r3.timestamp.main.c,
+	  raster3d/r3.timestamp/test_suite,
+	  raster3d/r3.timestamp/test_suite/test.r3.timestamp.sh,
+	  vector/v.timestamp/main.c, vector/v.timestamp/test_suite,
+	  vector/v.timestamp/test_suite/test.v.timestamp.sh: More robust
+	  timestamp implementation. Added timestamp tests and renamed grid3
+	  timestamp functions in raster3d.
+
+2012-01-20 10:02  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxGUI/wxIClass: remove print
+
+2012-01-20 10:01  annakrat
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/frame.py:
+	  wxGUI/wxIClass: don't bind context menu action again
+
+2012-01-20 09:28  annakrat
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py: wxGUI/wxIClass: various
+	  improvements related to class manager
+
+2012-01-19 22:36  neteler
+
+	* locale/po/grasswxpy_de.po: cont'ed
+
+2012-01-19 22:30  huhabla
+
+	* include/vect/dig_defines.h, lib/gis/timestamp.c,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  temporal/tr.register/test.tr.register.sh, vector/Makefile,
+	  vector/v.info/print.c, vector/v.timestamp,
+	  vector/v.timestamp/Makefile, vector/v.timestamp/main.c,
+	  vector/v.timestamp/v.timestamp.html: Added timestamp support for
+	  vector maps with v.timestamp.
+	  The *.timestamp modules are now used to attach the absolute time
+	  from the temporal database to maps in the file system. Hence,
+	  C-modules
+	  have easier access to temporal information.
+
+2012-01-19 21:47  neteler
+
+	* vector/v.what.rast/v.what.rast.html: example fixed
+
+2012-01-19 17:42  martinl
+
+	* gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py:
+	  wxGUI/digit: implement `redo` tool
+
+2012-01-19 17:30  annakrat
+
+	* lib/vector/vedit/delete.c: vedit: don't ask for category when
+	  area is dead
+
+2012-01-19 16:22  martinl
+
+	* lib/vector/vedit/delete.c: vedit: fix Vedit_delete_area() -
+	  negative boundary ids
+
+2012-01-19 14:58  martinl
+
+	* gui/icons/grass/polygon-delete.png: wxGUI: add missing icon
+	  (delete area)
+
+2012-01-19 14:57  martinl
+
+	* gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/vdigit/wxdisplay.py: wxGUI/vdigit: add new tool for
+	  deleting areas
+	  major improvents in undo
+
+2012-01-19 14:51  martinl
+
+	* lib/temporal/lib, lib/temporal/t.connect: update svn props
+
+2012-01-19 14:28  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c, vector/v.edit/snap.c: v.edit: new tool to
+	  delete areas
+
+2012-01-19 14:26  martinl
+
+	* include/defs/vedit.h, lib/vector/vedit/delete.c,
+	  lib/vector/vedit/merge.c, lib/vector/vedit/veditlib.dox: vedit:
+	  new subroutines to delete areas
+	  + Vedit_delete_area_centroid()
+	  + Vedit_delete_area()
+	  + Vedit_delete_areas_cat()
+
+2012-01-19 13:43  martinl
+
+	* include/defs/vector.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/update.c: vlib:
+	  allow to optionally maintain list of updated lines/nodes
+
+2012-01-19 12:11  huhabla
+
+	* lib/Makefile, lib/temporal/Makefile, lib/temporal/lib,
+	  lib/temporal/src, lib/temporal/t.connect,
+	  lib/temporal/t.connect/Makefile, temporal/Makefile,
+	  temporal/t.connect: Reorganization of the temporal library.
+
+2012-01-19 11:51  huhabla
+
+	* lib/temporal/SQL/Makefile: Added missing Makefile
+
+2012-01-19 11:43  huhabla
+
+	* lib/gmath/solvers_direct_cholesky_band.c, lib/raster3d/tileio.c,
+	  lib/raster3d/tilemath.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/parameters.h: Better docu. New flag in
+	  r3.out.vtk
+
+2012-01-19 11:30  huhabla
+
+	* lib/python/temporal/core.py: New TGIS database settings handling
+	  implemented
+
+2012-01-19 08:42  martinl
+
+	* mswindows/Installer-Files/GRASS_Web.ico: remove duplicated icon
+
+2012-01-19 00:32  huhabla
+
+	* temporal/Makefile, temporal/t.connect,
+	  temporal/t.connect/Makefile, temporal/t.connect/main.c,
+	  temporal/t.connect/t.connect.html,
+	  temporal/tr.register/test.tr.register.sh: New module to specify
+	  the TGIS database connection
+
+2012-01-19 00:12  huhabla
+
+	* include/Make/Grass.make, include/temporal.h: Added new temporal
+	  C-library header file and make system library definition.
+
+2012-01-19 00:11  huhabla
+
+	* lib/temporal/Makefile, lib/temporal/SQL,
+	  lib/temporal/SQL/map_stds_register_table_template.sql,
+	  lib/temporal/SQL/map_tables_template.sql,
+	  lib/temporal/SQL/raster3d_metadata_table.sql,
+	  lib/temporal/SQL/raster_metadata_table.sql,
+	  lib/temporal/SQL/sqlite3_delete_trigger.sql,
+	  lib/temporal/SQL/stds_map_register_table_template.sql,
+	  lib/temporal/SQL/stds_raster3d_register_trigger_template.sql,
+	  lib/temporal/SQL/stds_raster_register_trigger_template.sql,
+	  lib/temporal/SQL/stds_tables_template.sql,
+	  lib/temporal/SQL/stds_vector_register_trigger_template.sql,
+	  lib/temporal/SQL/str3ds_metadata_table.sql,
+	  lib/temporal/SQL/strds_metadata_table.sql,
+	  lib/temporal/SQL/stvds_metadata_table.sql,
+	  lib/temporal/SQL/test.temporal.py,
+	  lib/temporal/SQL/update_stds_spatial_temporal_extent_template.sql,
+	  lib/temporal/SQL/update_str3ds_metadata_template.sql,
+	  lib/temporal/SQL/update_strds_metadata_template.sql,
+	  lib/temporal/SQL/update_stvds_metadata_template.sql,
+	  lib/temporal/SQL/vector_metadata_table.sql,
+	  lib/temporal/map_stds_register_table_template.sql,
+	  lib/temporal/map_tables_template.sql,
+	  lib/temporal/raster3d_metadata_table.sql,
+	  lib/temporal/raster_metadata_table.sql,
+	  lib/temporal/sqlite3_delete_trigger.sql, lib/temporal/src,
+	  lib/temporal/src/Makefile, lib/temporal/src/connect.c,
+	  lib/temporal/src/default_name.c,
+	  lib/temporal/stds_map_register_table_template.sql,
+	  lib/temporal/stds_raster3d_register_trigger_template.sql,
+	  lib/temporal/stds_raster_register_trigger_template.sql,
+	  lib/temporal/stds_tables_template.sql,
+	  lib/temporal/stds_vector_register_trigger_template.sql,
+	  lib/temporal/str3ds_metadata_table.sql,
+	  lib/temporal/strds_metadata_table.sql,
+	  lib/temporal/stvds_metadata_table.sql,
+	  lib/temporal/test.temporal.py,
+	  lib/temporal/update_stds_spatial_temporal_extent_template.sql,
+	  lib/temporal/update_str3ds_metadata_template.sql,
+	  lib/temporal/update_strds_metadata_template.sql,
+	  lib/temporal/update_stvds_metadata_template.sql,
+	  lib/temporal/vector_metadata_table.sql: New directory structure.
+	  Added temporal C-library with temporal database init functions.
+
+2012-01-18 22:27  hamish
+
+	* raster/r.sun/main.c: explain coefbh and coefdh options a bit more
+	  clearly
+
+2012-01-18 20:37  martinl
+
+	* vector/v.edit/select.c: v.edit: fix sel_by_box()
+
+2012-01-18 20:16  martinl
+
+	* vector/v.edit/args.c: v.edit: modify tools descriptions for
+	  easier localization
+
+2012-01-18 16:55  martinl
+
+	* gui/icons/grass_osgeo.ico, mswindows/osgeo4w/postinstall.bat: new
+	  grass_osgeo icon (for OSGEO4W package)
+
+2012-01-18 15:25  martinl
+
+	* gui/icons/symbols.xcf, gui/icons/symbols.xcf.bz2: compress
+	  symbols file
+
+2012-01-18 15:13  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: rasterOverlay ->
+	  rasterOpaque
+
+2012-01-18 15:11  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI/importer: don't close
+	  window
+	  fix AddLayers on error
+
+2012-01-18 13:10  neteler
+
+	* locale/po/grasswxpy_it.po: fix
+
+2012-01-18 09:17  annakrat
+
+	* gui/wxpython/psmap/frame.py: wxGUI/wx.psmap: enabled to pan with
+	  middle mouse button
+
+2012-01-18 09:13  martinl
+
+	* gui/icons/grass_web.ico: add missing icon
+
+2012-01-17 21:51  hamish
+
+	* gui/images/symbols/demo/muchomurka.png,
+	  gui/images/symbols/demo/smrk.png,
+	  gui/images/symbols/extra/4pt_star.png,
+	  gui/images/symbols/extra/adcp.png,
+	  gui/images/symbols/extra/airport.png,
+	  gui/images/symbols/extra/alpha_flag.png,
+	  gui/images/symbols/extra/bridge.png,
+	  gui/images/symbols/extra/compass.png,
+	  gui/images/symbols/extra/dive_flag.png,
+	  gui/images/symbols/extra/fancy_compass.png,
+	  gui/images/symbols/extra/fiducial.png,
+	  gui/images/symbols/extra/fish.png,
+	  gui/images/symbols/extra/half-box.png,
+	  gui/images/symbols/extra/half-circle.png,
+	  gui/images/symbols/extra/n_arrow1.png,
+	  gui/images/symbols/extra/n_arrow2.png,
+	  gui/images/symbols/extra/n_arrow3.png,
+	  gui/images/symbols/extra/offbox_ne.png,
+	  gui/images/symbols/extra/offbox_nw.png,
+	  gui/images/symbols/extra/offbox_se.png,
+	  gui/images/symbols/extra/offbox_sw.png,
+	  gui/images/symbols/extra/pentagon.png,
+	  gui/images/symbols/extra/ping.png,
+	  gui/images/symbols/extra/ring.png,
+	  gui/images/symbols/extra/target.png,
+	  gui/images/symbols/geology/half-arrow_left.png,
+	  gui/images/symbols/geology/half-arrow_right.png,
+	  gui/images/symbols/geology/strike_box.png,
+	  gui/images/symbols/geology/strike_circle.png,
+	  gui/images/symbols/geology/strike_half-bowtie.png,
+	  gui/images/symbols/geology/strike_line.png,
+	  gui/images/symbols/geology/strike_triangle.png: svn props
+
+2012-01-17 21:50  hamish
+
+	* gui/images/symbols/basic/arrow1.png,
+	  gui/images/symbols/basic/arrow2.png,
+	  gui/images/symbols/basic/arrow3.png,
+	  gui/images/symbols/basic/box.png,
+	  gui/images/symbols/basic/circle.png,
+	  gui/images/symbols/basic/cross1.png,
+	  gui/images/symbols/basic/cross2.png,
+	  gui/images/symbols/basic/cross3.png,
+	  gui/images/symbols/basic/diamond.png,
+	  gui/images/symbols/basic/marker.png,
+	  gui/images/symbols/basic/octagon.png,
+	  gui/images/symbols/basic/point.png,
+	  gui/images/symbols/basic/pushpin.png,
+	  gui/images/symbols/basic/star.png,
+	  gui/images/symbols/basic/triangle.png,
+	  gui/images/symbols/basic/x.png: 2 new symbs, svn props
+
+2012-01-17 21:33  hamish
+
+	* gui/images/symbols/basic/arrow1.png,
+	  gui/images/symbols/basic/arrow2.png: rename by size, make way for
+	  new mid-sized versions (part 2b)
+
+2012-01-17 21:32  hamish
+
+	* gui/images/symbols/basic/arrow1.png,
+	  gui/images/symbols/basic/arrow3.png,
+	  gui/images/symbols/basic/cross2.png,
+	  gui/images/symbols/basic/cross3.png: rename by size, make way for
+	  new mid-sized versions (part 2)
+
+2012-01-17 21:31  hamish
+
+	* lib/symbol/symbol/basic/arrow2, lib/symbol/symbol/basic/cross2:
+	  mid-sized symbols
+
+2012-01-17 21:29  hamish
+
+	* lib/symbol/symbol/basic/arrow1, lib/symbol/symbol/basic/arrow2:
+	  rename by size, make way for new mid-sized versions
+
+2012-01-17 21:28  hamish
+
+	* lib/symbol/symbol/basic/arrow1, lib/symbol/symbol/basic/arrow3,
+	  lib/symbol/symbol/basic/cross2, lib/symbol/symbol/basic/cross3:
+	  rename by size, make way for new mid-sized versions
+
+2012-01-17 21:19  hamish
+
+	* gui/wxpython/xml/menudata.xml: move ch pwd to among friends
+
+2012-01-17 21:13  neteler
+
+	* locale/po/grasswxpy_it.po: italian fixes
+
+2012-01-17 20:48  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI/digizer: fill areas by
+	  default
+
+2012-01-17 20:37  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: enlarge default size of
+	  map window (3d view mode toolbar is too wide)
+
+2012-01-17 20:29  martinl
+
+	* gui/wxpython/nviz/preferences.py: wxGUI/nviz: use nviz-related
+	  icon for 3d view settings
+
+2012-01-17 20:18  martinl
+
+	* gui/icons/grass_dialog.ico, gui/icons/grass_error.ico,
+	  gui/icons/grass_map.ico, gui/icons/grass_nviz.ico,
+	  gui/icons/grass_sql.ico, gui/icons/symbols.xcf: prettified grass
+	  icons
+
+2012-01-17 19:58  hamish
+
+	* gui/icons/grass-48x48.png, gui/icons/grass.desktop,
+	  gui/icons/grass.png: keep filename findable/non-generic (used for
+	  LSB e.g. /usr/share/icons/hicolor/)
+
+2012-01-17 19:26  martinl
+
+	* gui/icons/grass-48x48.png, gui/icons/grass.desktop,
+	  gui/icons/grass.ico, gui/icons/grass.png,
+	  gui/icons/grass_cmd.ico, gui/icons/grass_msys.ico,
+	  gui/icons/msys.ico, gui/icons/wingrass.ico,
+	  mswindows/GRASS-Installer.nsi,
+	  mswindows/Installer-Files/GRASS.ico,
+	  mswindows/Installer-Files/GRASS_CMD.ico,
+	  mswindows/Installer-Files/GRASS_MSys.ico,
+	  mswindows/Installer-Files/GRASS_tcltk.ico,
+	  mswindows/Installer-Files/MSYS_Custom_Icon.ico,
+	  mswindows/Installer-Files/WinGRASS.ico,
+	  mswindows/osgeo4w/postinstall.bat: move `mswindows` icons to
+	  `gui/icons`
+
+2012-01-17 15:05  mmetz
+
+	* vector/v.rectify/main.c: v.rectify: update for GUI
+
+2012-01-17 15:05  mmetz
+
+	* imagery/i.rectify/main.c: i.rectify: update for GUI
+
+2012-01-17 11:20  hamish
+
+	* raster/r.li/r.li.setup/area_query,
+	  raster/r.li/r.li.setup/masked_area_selection.sh,
+	  raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.li/r.li.setup/square_query: svn props
+
+2012-01-17 10:50  hamish
+
+	* display/d.font/d.font.html: comment out reference to old script
+	  (#605)
+
+2012-01-17 08:16  annakrat
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/toolbars.py:
+	  wxGUI: dialog for symbol thumbnails selection added
+
+2012-01-17 00:41  hamish
+
+	* gui/images/symbols/README: always quote file/pathname variables;
+	  echo needed -e; add optipng hint
+
+2012-01-17 00:39  hamish
+
+	* gui/images/Makefile: install symbol thumbnails
+
+2012-01-16 21:27  annakrat
+
+	* gui/images/symbols, gui/images/symbols/README,
+	  gui/images/symbols/basic, gui/images/symbols/basic/arrow1.png,
+	  gui/images/symbols/basic/arrow2.png,
+	  gui/images/symbols/basic/box.png,
+	  gui/images/symbols/basic/circle.png,
+	  gui/images/symbols/basic/cross1.png,
+	  gui/images/symbols/basic/cross2.png,
+	  gui/images/symbols/basic/diamond.png,
+	  gui/images/symbols/basic/marker.png,
+	  gui/images/symbols/basic/octagon.png,
+	  gui/images/symbols/basic/point.png,
+	  gui/images/symbols/basic/pushpin.png,
+	  gui/images/symbols/basic/star.png,
+	  gui/images/symbols/basic/triangle.png,
+	  gui/images/symbols/basic/x.png, gui/images/symbols/demo,
+	  gui/images/symbols/demo/muchomurka.png,
+	  gui/images/symbols/demo/smrk.png, gui/images/symbols/extra,
+	  gui/images/symbols/extra/4pt_star.png,
+	  gui/images/symbols/extra/adcp.png,
+	  gui/images/symbols/extra/airport.png,
+	  gui/images/symbols/extra/alpha_flag.png,
+	  gui/images/symbols/extra/bridge.png,
+	  gui/images/symbols/extra/compass.png,
+	  gui/images/symbols/extra/dive_flag.png,
+	  gui/images/symbols/extra/fancy_compass.png,
+	  gui/images/symbols/extra/fiducial.png,
+	  gui/images/symbols/extra/fish.png,
+	  gui/images/symbols/extra/half-box.png,
+	  gui/images/symbols/extra/half-circle.png,
+	  gui/images/symbols/extra/n_arrow1.png,
+	  gui/images/symbols/extra/n_arrow2.png,
+	  gui/images/symbols/extra/n_arrow3.png,
+	  gui/images/symbols/extra/offbox_ne.png,
+	  gui/images/symbols/extra/offbox_nw.png,
+	  gui/images/symbols/extra/offbox_se.png,
+	  gui/images/symbols/extra/offbox_sw.png,
+	  gui/images/symbols/extra/pentagon.png,
+	  gui/images/symbols/extra/ping.png,
+	  gui/images/symbols/extra/ring.png,
+	  gui/images/symbols/extra/target.png, gui/images/symbols/geology,
+	  gui/images/symbols/geology/half-arrow_left.png,
+	  gui/images/symbols/geology/half-arrow_right.png,
+	  gui/images/symbols/geology/strike_box.png,
+	  gui/images/symbols/geology/strike_circle.png,
+	  gui/images/symbols/geology/strike_half-bowtie.png,
+	  gui/images/symbols/geology/strike_line.png,
+	  gui/images/symbols/geology/strike_triangle.png: wxGUI: first step
+	  to improve symbol selection - symbol images added
+
+2012-01-16 08:17  hamish
+
+	* raster/r.proj/r.proj.html, vector/v.proj/v.proj.html: merge
+	  parameter name fixes/info from devbr6
+
+2012-01-15 03:28  hamish
+
+	* vector/v.in.dwg/entity.c: allocate enough space for a 3D coord
+	  (#1311)
+
+2012-01-15 02:05  hamish
+
+	* gui/wxpython/location_wizard/wizard.py: 'non-earth' may be
+	  confused with e.g. Mars projections, so reword (#1513)
+
+2012-01-15 01:32  huhabla
+
+	* temporal/tr3.extract, temporal/tr3.extract/Makefile,
+	  temporal/tr3.extract/test.tr3.extract.sh,
+	  temporal/tr3.extract/tr3.extract.html,
+	  temporal/tr3.extract/tr3.extract.py: New space time raster3d
+	  module to extract subsets of raster3d maps
+
+2012-01-15 01:24  hamish
+
+	* vector/v.mapcalc/README, vector/v.mapcalc/vector.c: more defined
+	  way of creating a nan (#1321, merge from devbr6)
+
+2012-01-15 01:01  hamish
+
+	* vector/v.clean/test/topocheck.c: simplify error message handling
+	  (merge from devbr6)
+
+2012-01-15 00:48  hamish
+
+	* raster/r.in.gridatb/file_io.c: avoid fclose()ing an already
+	  deallocated pointer (#1316)
+
+2012-01-15 00:43  huhabla
+
+	* lib/raster3d/range.c: Fixed NULL range handling
+
+2012-01-15 00:42  huhabla
+
+	* raster3d/r3.info/r3.info.main.c: Fixed NULL map handling
+
+2012-01-15 00:39  hamish
+
+	* raster/r.support/main.c: avoid buffer overflow
+
+2012-01-15 00:22  hamish
+
+	* raster/r.terraflow/nodata.h, raster/r.terraflow/plateau.h:
+	  allocate enough room for the null terminator, plus a little more
+	  (#1312)
+
+2012-01-14 12:35  annakrat
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI/wxIClass: fixed starting
+	  wxiclass, fixed trying to use non-existing undo tool in wxiclass
+
+2012-01-14 06:47  hamish
+
+	* lib/init/grass.py: variables are already exported in the working
+	  environment for that grass session, no need to save them to the
+	  mapset's .bashrc file too. by doing that it was overwriting any
+	  GRASS_ enviro vars you'd manually set in ~/.grass.bashrc (e.g.
+	  GRASS_HTML_BROWSER)
+
+2012-01-14 02:09  hamish
+
+	* vector/v.distance/main.c: renamed var in comment
+
+2012-01-14 01:51  hamish
+
+	* vector/v.distance/main.c: cleanup matrix option descriptions;
+	  make variable name less generic;
+	  for clarity use boolean macros where appropriate.
+
+2012-01-14 01:22  hamish
+
+	* vector/v.distance/main.c: fix option descriptions broken by
+	  r25176
+
+2012-01-13 22:47  mmetz
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  add option to change CWD
+
+2012-01-13 21:43  mmetz
+
+	* imagery/i.gensigset/invert.c, imagery/i.gensigset/subcluster.c:
+	  i.gensigset speed-up
+
+2012-01-12 19:04  huhabla
+
+	* raster/r.series/test_suite/test.r.series.sh: Typo fix
+
+2012-01-12 18:58  huhabla
+
+	* raster/r.series.interp/Makefile, raster/r.series.interp/main.c,
+	  raster/r.series.interp/r.series.interp.html,
+	  raster/r.series.interp/test_suite/test.r.series.interp.sh,
+	  raster/r.series.interp/test_suite/test.r.series.interpol.sh:
+	  r.series.interp renaming
+
+2012-01-12 18:56  huhabla
+
+	* raster/r.series.interp/r.series.interp.html,
+	  raster/r.series.interp/r.series.interpol.html: Renamed manpage
+
+2012-01-12 18:54  huhabla
+
+	* raster/r.series.interp: Removed obsolete file
+
+2012-01-12 18:51  huhabla
+
+	* raster/r.series.interp, raster/r.series.interp/Makefile,
+	  raster/r.series.interp/main.c,
+	  raster/r.series.interp/r.series.interp.html,
+	  raster/r.series.interp/test_suite/test.r.series.interp.sh,
+	  raster/r.series.interp/test_suite/test.r.series.interpol.sh,
+	  raster/r.series.interpol: Renamed r.series.interpol into
+	  r.series.interp
+
+2012-01-12 14:48  lucadelu
+
+	* locale/po/grasswxpy_it.po: update italian translation, cont'ed
+
+2012-01-12 11:05  neteler
+
+	* locale/po/grasswxpy_de.po: cont'ed
+
+2012-01-12 02:57  hamish
+
+	* raster/r.cost/test_suite, raster/r.cost/test_suite/profile.sh,
+	  raster/r.mapcalc/test_suite, raster/r.mapcalc/test_suite/README,
+	  raster/r.stats/test_suite, raster/r.stats/test_suite/profile.sh:
+	  basic collection of profile and md5sum notes. expect for
+	  formalize script and result files later
+
+2012-01-12 02:52  hamish
+
+	* vector/v.surf.bspline/test_suite,
+	  vector/v.surf.bspline/test_suite/profile_cmd.sh: basic collection
+	  of profile and md5sum notes. expect for formalize script and
+	  result files later
+
+2012-01-12 02:51  hamish
+
+	* vector/v.surf.rst/test_suite,
+	  vector/v.surf.rst/test_suite/profile.sh: basic collection of
+	  profile and md5sum notes. expect for formalize script and result
+	  files later
+
+2012-01-12 02:47  hamish
+
+	* raster/r.series.interpol/test,
+	  raster/r.series.interpol/test_suite, raster/r.series/test,
+	  raster/r.series/test_suite: move test suite files to less generic
+	  dir name (see
+	  http://thread.gmane.org/gmane.comp.gis.grass.devel/46064)
+
+2012-01-11 20:26  annakrat
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/workspace.py,
+	  gui/wxpython/psmap/frame.py: wxGUI/preferences: added possibility
+	  to switch on/off zooming by mouse wheel (requested by Michael
+	  Barton)
+
+2012-01-11 14:29  neteler
+
+	* raster/r.out.vtk/r.out.vtk.html: cosmetics
+
+2012-01-11 14:26  neteler
+
+	* raster/r.out.vtk/r.out.vtk.html: +Paraview RGB visualization
+	  notes; examples updated; HTML polished
+
+2012-01-11 04:43  glynn
+
+	* include/iostream/mm.h, lib/iostream/mm.cpp: Fix exception
+	  specifications for new/delete operators
+
+2012-01-10 13:32  lucadelu
+
+	* scripts/r.fillnulls/r.fillnulls.html,
+	  scripts/r.fillnulls/r.fillnulls.py: add support to v.surf.spline
+
+2012-01-10 12:07  neteler
+
+	* gui/wxpython/xml/menudata.xml, locale/po/grassmods_de.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt_br.po,
+	  vector/v.vol.rst/main.c: RASTER3D|G3D grid volume -> 3D raster
+	  map
+
+2012-01-10 08:31  lucadelu
+
+	* locale/po/grasswxpy_it.po: update italian translation, cont'ed
+
+2012-01-09 21:21  annakrat
+
+	* gui/wxpython/psmap/dialogs.py: wxGUI/wxpsmap bug #1531 fixed
+	  (again)
+
+2012-01-09 21:19  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/psmap/dialogs.py:
+	  wxGUI: revert wrong commit r50111
+
+2012-01-09 20:09  annakrat
+
+	* gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/psmap/dialogs.py:
+	  wxGUI/wxpsmap bug #1531 fixed
+
+2012-01-09 14:22  lucadelu
+
+	* gui/wxpython/xml/menudata.README, gui/wxpython/xml/menudata.xml:
+	  move entry position and change label of v.to.db;change path to
+	  update_menudata.py
+
+2012-01-09 11:38  mmetz
+
+	* raster/r.watershed/seg/init_vars.c: r.watershed.seg: fix memory
+	  and disk space calculations
+
+2012-01-09 10:00  lucadelu
+
+	* gui/wxpython/gui_core/preferences.py: fix bug on font setting
+	  with wx version 2.8.11
+
+2012-01-08 22:40  neteler
+
+	* locale/po/grasswxpy_it.po: typo fix
+
+2012-01-07 16:44  neteler
+
+	* vector/v.overlay/main.c: typo fix
+
+2012-01-07 13:51  mmetz
+
+	* vector/v.clean/split.c: v.clean: new helper tool for tool=break
+
+2012-01-07 13:51  mmetz
+
+	* vector/v.clean/main.c, vector/v.clean/proto.h: v.clean: speed up
+	  tool=break (boundaries only)
+
+2012-01-07 13:34  mmetz
+
+	* vector/v.to.rast/support.c: v.to.rast: minor code cleanup
+
+2012-01-07 13:26  mmetz
+
+	* vector/v.kernel/main.c: v.kernel: valid file descriptors are
+	  non-negative
+
+2012-01-07 12:54  mmetz
+
+	* vector/v.overlay/main.c: v.overlay: DB_SQL_TYPE_TEXT !=
+	  DB_SQL_TYPE_UNKNOWN; fix messages
+
+2012-01-07 12:53  mmetz
+
+	* vector/v.extrude/main.c: v.extrude: file descriptor can be zero
+
+2012-01-07 09:11  mmetz
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: Set computational region
+	  from selected raster/vector map had no effect
+
+2012-01-06 19:35  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/env.bat,
+	  mswindows/osgeo4w/env.bat.tmpl: wingrass: fix cmd/msys launch
+	  procedure, clean up env files
+
+2012-01-06 13:49  huhabla
+
+	* lib/gmath/test/Makefile, lib/gmath/test/bench_blas2.c,
+	  lib/gmath/test/bench_blas3.c,
+	  lib/gmath/test/bench_solver_direct.c,
+	  lib/gmath/test/bench_solver_krylov.c: Write benchmark result to
+	  stdout
+
+2012-01-05 19:11  martinl
+
+	* mswindows/osgeo4w/msys.bat: osgeo4w: cosmetics in msys.bat (b/w)
+	  (merge r50072 from devbr6)
+
+2012-01-04 17:40  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: fix if no
+	  metadata available (g.extension -g)
+
+2012-01-04 17:23  martinl
+
+	* gui/wxpython/modules/extensions.py,
+	  scripts/g.extension/g.extension.py: g.extension: fix path for
+	  -l/g/c + wxGUI Windows-related fixes
+
+2012-01-04 15:38  neteler
+
+	* raster/r.sun/r.sun.html: added solar time note based on comments
+	  from Thomas Huld, JRC
+
+2012-01-04 15:06  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix URL for
+	  WinGRASS (release/dev)
+
+2012-01-04 13:26  martinl
+
+	* scripts/r.tileset/r.tileset.py: r.tileset: don't fail when
+	  +to_meter is not defined
+
+2012-01-04 13:22  mmetz
+
+	* gui/wxpython/gcp/manager.py: wxGUI GCP manager: add full vector
+	  support
+
+2012-01-04 13:22  mmetz
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: bugfix if gcp manager
+	  is active
+
+2012-01-04 10:47  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI: fix posManager/Display
+	  settings
+
+2012-01-04 08:33  annakrat
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: save map display names to workspace
+
+2012-01-03 14:10  martinl
+
+	* db/db.execute/main.c: db.execute: attempt to fix #1526
+
+2012-01-03 11:15  martinl
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: fix typo
+
+2012-01-03 11:00  mmetz
+
+	* gui/wxpython/gui_core/gselect.py: wxGUI: use previous selection
+	  for ColumnSelect if possible
+
+2012-01-03 09:03  mmetz
+
+	* gui/wxpython/mapdisp/mapwindow.py: wxGUI: fix typo
+
+2012-01-03 08:51  mmetz
+
+	* scripts/r.in.srtm/r.in.srtm.py: r.in.srtm: bugfix if input !=
+	  basename input
+
+2012-01-02 19:10  martinl
+
+	* gui/wxpython/vdigit/wxdisplay.py, lib/vector/vedit/render.c:
+	  wxGUI: don't fill selected areas
+
+2012-01-02 17:53  martinl
+
+	* gui/wxpython/dbmgr/manager.py, gui/wxpython/vdigit/wxdisplay.py,
+	  lib/vector/vedit/render.c: wxGUI/vdigit: fix highlighting
+	  selected features (areas enabled)
+
+2012-01-02 17:18  martinl
+
+	* gui/wxpython/vdigit/toolbars.py: wxGUI: build topo for new vector
+	  by default
+
+2012-01-02 17:18  mmetz
+
+	* vector/v.distance/main.c: v.distance: bug fix for all features
+	  option
+
+2012-01-02 13:19  martinl
+
+	* gui/wxpython/dbmgr/dialogs.py: wxGUI: fix modifying attributes
+	  (NULL values)
+
+2012-01-02 02:45  huhabla
+
+	* vector/v.surf.bspline/Makefile, vector/v.surf.bspline/main.c:
+	  Added a second highly parallelized solver which may be faster
+	  in some situtations.
+
+2012-01-02 02:42  huhabla
+
+	* lib/gpde/N_parse_options.c: Minor changes to default options
+
+2012-01-01 17:25  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: initial support
+	  for toolboxes
+
+2012-01-01 16:57  mmetz
+
+	* vector/v.proj/main.c, vector/v.proj/v.proj.html: v.proj:
+	  optionally disable longitude wrapping in the proj4 lib
+
+2012-01-01 14:39  martinl
+
+	* include/VERSION: Happy New Year
+
+2012-01-01 10:49  glynn
+
+	* scripts/r.mask/r.mask.py: Fix r49997
+
+2011-12-31 23:20  huhabla
+
+	* raster/r.series.interpol/main.c,
+	  raster/r.series.interpol/r.series.interpol.html,
+	  raster/r.series.interpol/test/infile_2.txt,
+	  raster/r.series.interpol/test/outfile_1.txt,
+	  raster/r.series.interpol/test/outfile_2.txt,
+	  raster/r.series.interpol/test/outfile_corrupt.txt,
+	  raster/r.series.interpol/test/test.r.series.interpol.sh,
+	  raster/r.series.interpol/test/test_2_map_12.ref,
+	  raster/r.series.interpol/test/test_2_map_14.ref,
+	  raster/r.series.interpol/test/test_2_map_16.ref,
+	  raster/r.series.interpol/test/test_2_map_18.ref,
+	  raster/r.series.interpol/test/test_2_map_25.ref,
+	  raster/r.series.interpol/test/test_2_map_35.ref: Implemented
+	  multiple linear interpolation
+
+2011-12-31 17:45  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: define title for 'about
+	  window'
+
+2011-12-31 17:25  martinl
+
+	* gui/wxpython/gui_core/ghelp.py: wxGUI: syntax cosmetics (1->True)
+
+2011-12-31 17:24  martinl
+
+	* gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/widgets.py:
+	  wxGUI/about: fix scrolledpanel initial focus
+
+2011-12-31 16:12  martinl
+
+	* contributors_extra.csv, gui/wxpython/gui_core/ghelp.py:
+	  contributors_extra: record also country
+	  todo: update missing items
+
+2011-12-31 14:39  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI: minor fix in
+	  uninstall-extension dialog (windows-related)
+	  (merge r50008 from devbr6)
+
+2011-12-31 14:16  martinl
+
+	* gui/wxpython/dbmgr/dialogs.py, gui/wxpython/dbmgr/manager.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI: modify attribute records - better error tracking
+	  (validators + don't close on errors)
+
+2011-12-31 13:15  huhabla
+
+	* raster/r.series/test, raster/r.series/test.r.series.sh,
+	  raster/r.series/test/test.r.series.sh,
+	  raster/r.series/test/test_1_prec_count.ref,
+	  raster/r.series/test/test_1_prec_count_weight.ref,
+	  raster/r.series/test/test_1_prec_max.ref,
+	  raster/r.series/test/test_1_prec_max_weight.ref,
+	  raster/r.series/test/test_1_prec_mean.ref,
+	  raster/r.series/test/test_1_prec_mean_weight.ref,
+	  raster/r.series/test/test_1_prec_min.ref,
+	  raster/r.series/test/test_1_prec_min_weight.ref,
+	  raster/r.series/test/test_1_prec_range.ref,
+	  raster/r.series/test/test_1_prec_range_weight.ref,
+	  raster/r.series/test/test_1_prec_sum.ref,
+	  raster/r.series/test/test_1_prec_sum_weight.ref,
+	  raster/r.series/test/test_2_prec_count.ref,
+	  raster/r.series/test/test_2_prec_count_weight.ref,
+	  raster/r.series/test/test_2_prec_max.ref,
+	  raster/r.series/test/test_2_prec_max_weight.ref,
+	  raster/r.series/test/test_2_prec_mean.ref,
+	  raster/r.series/test/test_2_prec_mean_weight.ref,
+	  raster/r.series/test/test_2_prec_min.ref,
+	  raster/r.series/test/test_2_prec_min_weight.ref,
+	  raster/r.series/test/test_2_prec_range.ref,
+	  raster/r.series/test/test_2_prec_range_weight.ref,
+	  raster/r.series/test/test_2_prec_sum.ref,
+	  raster/r.series/test/test_2_prec_sum_weight.ref,
+	  raster/r.series/test/test_3_prec_max.ref,
+	  raster/r.series/test/test_3_prec_mean.ref,
+	  raster/r.series/test/test_3_prec_min.ref,
+	  raster/r.series/test/test_4_prec_max.ref,
+	  raster/r.series/test/test_4_prec_mean.ref,
+	  raster/r.series/test/test_4_prec_min.ref,
+	  raster/r.series/test_1_prec_count.ref,
+	  raster/r.series/test_1_prec_count_weight.ref,
+	  raster/r.series/test_1_prec_max.ref,
+	  raster/r.series/test_1_prec_max_weight.ref,
+	  raster/r.series/test_1_prec_mean.ref,
+	  raster/r.series/test_1_prec_mean_weight.ref,
+	  raster/r.series/test_1_prec_min.ref,
+	  raster/r.series/test_1_prec_min_weight.ref,
+	  raster/r.series/test_1_prec_range.ref,
+	  raster/r.series/test_1_prec_range_weight.ref,
+	  raster/r.series/test_1_prec_sum.ref,
+	  raster/r.series/test_1_prec_sum_weight.ref,
+	  raster/r.series/test_2_prec_count.ref,
+	  raster/r.series/test_2_prec_count_weight.ref,
+	  raster/r.series/test_2_prec_max.ref,
+	  raster/r.series/test_2_prec_max_weight.ref,
+	  raster/r.series/test_2_prec_mean.ref,
+	  raster/r.series/test_2_prec_mean_weight.ref,
+	  raster/r.series/test_2_prec_min.ref,
+	  raster/r.series/test_2_prec_min_weight.ref,
+	  raster/r.series/test_2_prec_range.ref,
+	  raster/r.series/test_2_prec_range_weight.ref,
+	  raster/r.series/test_2_prec_sum.ref,
+	  raster/r.series/test_2_prec_sum_weight.ref,
+	  raster/r.series/test_3_prec_max.ref,
+	  raster/r.series/test_3_prec_mean.ref,
+	  raster/r.series/test_3_prec_min.ref,
+	  raster/r.series/test_4_prec_max.ref,
+	  raster/r.series/test_4_prec_mean.ref,
+	  raster/r.series/test_4_prec_min.ref: Moved all test related files
+	  into the test directory
+
+2011-12-31 13:07  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/dbmgr: attempt to fix #828
+	  (wxPython GUI: gtk error message when viewing vectors and
+	  attributes)
+
+2011-12-31 13:05  mmetz
+
+	* vector/v.proj/main.c, vector/v.proj/v.proj.html: v.proj: add
+	  option to wrap eastings to 0,360 for latlon
+
+2011-12-31 12:58  mmetz
+
+	* raster/r.viewshed/eventlist.cpp,
+	  raster/r.viewshed/statusstructure.cpp: r.viewshed: add latlon
+	  support
+
+2011-12-31 03:54  glynn
+
+	* scripts/r.mask/r.mask.py: Fix r46379
+
+2011-12-30 17:49  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/dbmbr: don't use reserved
+	  words as variables (list -> tlist)
+	  (merge r49991 from devbr6)
+
+2011-12-30 17:36  martinl
+
+	* gui/wxpython/dbmgr/dialogs.py, gui/wxpython/dbmgr/manager.py:
+	  wxGUI/dbmbr: insert/update records - show also data types
+
+2011-12-30 16:54  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/manager: fix 'refresh' when
+	  no tab available
+
+2011-12-30 16:47  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/dbmbr: improve sql simple
+	  query
+
+2011-12-30 16:33  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI: fix typo
+
+2011-12-30 16:20  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/dbmgr: clean up manage.py
+	  wx.Message -> GMessage/Warning/Error
+
+2011-12-30 15:50  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/dbm: reorganize 'manage
+	  columns' sizer (avoid hidden buttons)
+
+2011-12-30 15:16  martinl
+
+	* vector/v.extrude/main.c: v.extrude: no need for '\n' in debug
+	  messages (see r49975)
+
+2011-12-30 13:50  neteler
+
+	* vector/v.extrude/main.c: +debug (hcolumn fails with sqlite
+	  driver)
+
+2011-12-30 12:00  neteler
+
+	* display/d.vect.chart/pie.c: avoid division by zero
+
+2011-12-30 08:09  neteler
+
+	* REQUIREMENTS.html: some updates
+
+2011-12-29 22:14  huhabla
+
+	* raster/r.series.interpol/main.c,
+	  raster/r.series.interpol/r.series.interpol.html,
+	  raster/r.series.interpol/test,
+	  raster/r.series.interpol/test.r.series.interpol.sh,
+	  raster/r.series.interpol/test/test.r.series.interpol.sh,
+	  raster/r.series.interpol/test/test_1_prec_2.ref,
+	  raster/r.series.interpol/test/test_1_prec_3.ref,
+	  raster/r.series.interpol/test/test_1_prec_4.ref,
+	  raster/r.series.interpol/test/test_2_prec_2.ref,
+	  raster/r.series.interpol/test/test_2_prec_3.ref,
+	  raster/r.series.interpol/test/test_2_prec_4.ref,
+	  raster/r.series.interpol/test_1_prec_2.ref,
+	  raster/r.series.interpol/test_1_prec_3.ref,
+	  raster/r.series.interpol/test_1_prec_4.ref,
+	  raster/r.series.interpol/test_2_prec_2.ref,
+	  raster/r.series.interpol/test_2_prec_3.ref,
+	  raster/r.series.interpol/test_2_prec_4.ref: Small bugfix, added
+	  error handling tests and
+	  moved tests in the dedicated directory test
+
+2011-12-29 17:58  neteler
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizer.html: cosmetics
+
+2011-12-29 13:15  huhabla
+
+	* raster/r.series.interpol, raster/r.series.interpol/Makefile,
+	  raster/r.series.interpol/main.c,
+	  raster/r.series.interpol/r.series.interpol.html,
+	  raster/r.series.interpol/test.r.series.interpol.sh,
+	  raster/r.series.interpol/test_1_prec_2.ref,
+	  raster/r.series.interpol/test_1_prec_3.ref,
+	  raster/r.series.interpol/test_1_prec_4.ref,
+	  raster/r.series.interpol/test_2_prec_2.ref,
+	  raster/r.series.interpol/test_2_prec_3.ref,
+	  raster/r.series.interpol/test_2_prec_4.ref: New module for raster
+	  map interpolation located temporal or spatial in between existing
+	  raster maps
+
+2011-12-28 22:03  mmetz
+
+	* vector/v.category/main.c: v.category: topology is optional
+
+2011-12-28 20:48  mmetz
+
+	* include/Make/Grass.make: remove translib from make system
+
+2011-12-28 20:44  mmetz
+
+	* include/defs/transform.h, include/transform.h: remove translib
+	  headers
+
+2011-12-28 20:42  mmetz
+
+	* lib/vector/Makefile, lib/vector/transform: remove unused translib
+
+2011-12-28 20:40  mmetz
+
+	* lib/python/ctypes/Makefile, lib/python/ctypes/__init__.py: remove
+	  translib from ctypes
+
+2011-12-28 20:38  mmetz
+
+	* vector/v.transform/Makefile, vector/v.transform/creat_trans.c,
+	  vector/v.transform/get_coor.c, vector/v.transform/local_proto.h,
+	  vector/v.transform/main.c, vector/v.transform/print_trans.c,
+	  vector/v.transform/setup_trans.c, vector/v.transform/trans.h,
+	  vector/v.transform/trans_digit.c,
+	  vector/v.transform/v.transform.html: coordinate transformation
+	  based on GCPs is done better by v.rectify
+
+2011-12-28 18:11  mmetz
+
+	* vector/v.select/select.c: code cleanup, bug fix for areas without
+	  centroid
+
+2011-12-28 17:32  mmetz
+
+	* vector/v.select/select.c: fix for #1523
+
+2011-12-28 16:05  neteler
+
+	* vector/v.class/v.class.html: module name fix; HTML prettified
+
+2011-12-28 15:58  annakrat
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/lmgr: enable to rename map
+	  display by right click on tab
+
+2011-12-28 14:26  huhabla
+
+	* raster/r.series/main.c, raster/r.series/r.series.html,
+	  raster/r.series/test.r.series.sh,
+	  raster/r.series/test_1_prec_count.ref,
+	  raster/r.series/test_1_prec_count_weight.ref,
+	  raster/r.series/test_1_prec_max.ref,
+	  raster/r.series/test_1_prec_max_weight.ref,
+	  raster/r.series/test_1_prec_mean.ref,
+	  raster/r.series/test_1_prec_mean_weight.ref,
+	  raster/r.series/test_1_prec_min.ref,
+	  raster/r.series/test_1_prec_min_weight.ref,
+	  raster/r.series/test_1_prec_range.ref,
+	  raster/r.series/test_1_prec_range_weight.ref,
+	  raster/r.series/test_1_prec_sum.ref,
+	  raster/r.series/test_1_prec_sum_weight.ref,
+	  raster/r.series/test_2_prec_count.ref,
+	  raster/r.series/test_2_prec_count_weight.ref,
+	  raster/r.series/test_2_prec_max.ref,
+	  raster/r.series/test_2_prec_max_weight.ref,
+	  raster/r.series/test_2_prec_mean.ref,
+	  raster/r.series/test_2_prec_mean_weight.ref,
+	  raster/r.series/test_2_prec_min.ref,
+	  raster/r.series/test_2_prec_min_weight.ref,
+	  raster/r.series/test_2_prec_range.ref,
+	  raster/r.series/test_2_prec_range_weight.ref,
+	  raster/r.series/test_2_prec_sum.ref,
+	  raster/r.series/test_2_prec_sum_weight.ref,
+	  raster/r.series/test_3_prec_max.ref,
+	  raster/r.series/test_3_prec_mean.ref,
+	  raster/r.series/test_3_prec_min.ref,
+	  raster/r.series/test_4_prec_max.ref,
+	  raster/r.series/test_4_prec_mean.ref,
+	  raster/r.series/test_4_prec_min.ref: Added new weighting option
+	  to r.series and created weighting tests and reference files.
+
+2011-12-28 14:03  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension.py: minor fix for
+	  -a
+	  (merge r49939 from relbr64)
+
+2011-12-27 18:53  annakrat
+
+	* gui/wxpython/psmap/toolbars.py: wxGUI/wxpsmap: fix decoration
+	  menu
+
+2011-12-26 22:22  martinl
+
+	* raster/r.watershed/front/main.c, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/seg/Makefile: move r.watershed's ram and seg
+	  programs to etc/r.watershed
+
+2011-12-26 22:02  martinl
+
+	* general/g.proj/g.proj.html, general/g.setproj/Makefile,
+	  general/g.setproj/README, general/g.setproj/g.setproj.html,
+	  general/g.setproj/get_stp.c, general/g.setproj/local_proto.h,
+	  general/g.setproj/proj.c, gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/scripts/r.li.setup.py, include/gprojects.h,
+	  lib/gis/Makefile, lib/gis/datum.c, lib/gis/datumtransform.table,
+	  lib/gis/get_ellipse.c, lib/proj/Makefile, lib/proj/convert.c,
+	  lib/proj/desc.table, lib/proj/parms.table,
+	  lib/proj/proj-desc.table, lib/proj/proj-parms.table,
+	  lib/proj/proj-units.table, lib/proj/projlib.dox,
+	  lib/proj/units.table: move proj-related files from etc/ to
+	  etc/proj
+
+2011-12-26 21:38  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2011-12-26 21:14  martinl
+
+	* lib/init/Makefile, lib/init/grass.py, lib/init/grass_intro.txt,
+	  lib/init/welcome.txt: grass.py: replace grass_intro.txt and
+	  welcome.txt files by included text
+
+2011-12-26 20:02  martinl
+
+	* gui/wxpython/dbmgr/manager.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/vdigit/mapwindow.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/vdigit/wxdisplay.py: wxGUI/vdigit: fix
+	  highlighting/deleting features from dbmgr
+
+2011-12-26 17:28  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: fix syntax typos from
+	  r49921
+
+2011-12-26 16:03  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: silently skip invalid
+	  GRASS_ADDON_BASE
+
+2011-12-26 15:47  martinl
+
+	* scripts/r.in.wms/gdalwarp.py: r.in.wms: overwrite by default
+	  fix mlist_grouped() args
+
+2011-12-26 15:24  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: globalvar.GetGRASSCmd()
+	  returns `set`
+
+2011-12-26 14:09  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: fix typo introduced in
+	  r49915
+
+2011-12-26 14:08  martinl
+
+	* gui/wxpython/gcp/manager.py, gui/wxpython/iclass/frame.py,
+	  gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/modules/vclean.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: improve OnRunScript - check
+	  permission and GRASS_ADDON_PATH
+
+2011-12-26 00:22  martinl
+
+	* gui/wxpython/core/globalvar.py, lib/init/grass.py,
+	  lib/init/grass7.html, macosx/app/grass.sh.in,
+	  scripts/g.extension/g.extension.py, scripts/g.manual/g.manual.py:
+	  GRASS_ADDON_BASE should be single alternative GISBASE
+
+2011-12-26 00:06  martinl
+
+	* scripts/g.extension/g.extension.html,
+	  scripts/g.extension/g.extension.py: g.extension: more example in
+	  help page
+	  module desc cosmetics
+
+2011-12-26 00:05  martinl
+
+	* scripts/g.extension.rebuild.all/g.extension.rebuild.all.html,
+	  scripts/g.extension.rebuild.all/g.extension.rebuild.all.py:
+	  g.extension.rebuild.all: check libgis revision
+	  flag to force rebuilding all extensions
+
+2011-12-25 23:28  martinl
+
+	* gui/wxpython/gui_core/preferences.py, lib/init/grass.py: simplify
+	  language settings, use gisenv instead of environmental variable
+	  and expand by startup script
+
+2011-12-25 23:08  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: don't fail when addon
+	  paths do not exist
+
+2011-12-25 22:56  martinl
+
+	* include/Make/Grass.make, man/Makefile,
+	  scripts/g.manual/g.manual.py: install manual pages to `docs/man`
+	  instead of `man`
+
+2011-12-25 22:42  martinl
+
+	* lib/init/grass.py, lib/init/variables.html: add gisenv variable -
+	  ADDON_PATH
+
+2011-12-25 22:26  martinl
+
+	* lib/init/Makefile, lib/init/grass7.html, lib/init/helptext.html,
+	  lib/init/variables.html, tools/mkhtml.py: use for manual page
+	  from lib/init/ standard header and footer defined by mkhtml.py
+
+2011-12-25 22:01  martinl
+
+	* lib/init/grass7.html: grass7.html: fix syntax typo
+
+2011-12-25 21:30  martinl
+
+	* gui/wxpython/core/globalvar.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/modules/extensions.py, lib/init/grass.py,
+	  lib/init/variables.html, macosx/app/grass.sh.in,
+	  scripts/g.extension/g.extension.py, scripts/g.manual/g.manual.py:
+	  define GRASS_ADDON_BASE
+
+2011-12-25 21:28  martinl
+
+	* lib/init/grass7.html: major update of grass7 manual page
+
+2011-12-25 19:18  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: remove unused code
+
+2011-12-24 23:55  martinl
+
+	* gui/wxpython/gui_core/goutput.py: wxGUI: fix launching command
+	  without any paramaters
+
+2011-12-24 23:22  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI/menu: add
+	  g.extension.rebuild.all to the menu
+
+2011-12-24 23:21  martinl
+
+	* gui/wxpython/tools/update_menudata.py: wxGUI/tools: fix when
+	  unable to get modules description
+
+2011-12-24 23:10  martinl
+
+	* scripts/g.extension/g.extension.html: g.extension/manual: note
+	  g.extension.rebuild.all
+
+2011-12-24 23:04  martinl
+
+	* scripts/Makefile, scripts/g.extension.rebuild.all,
+	  scripts/g.extension.rebuild.all/Makefile,
+	  scripts/g.extension.rebuild.all/g.extension.rebuild.all.html,
+	  scripts/g.extension.rebuild.all/g.extension.rebuild.all.py,
+	  scripts/g.extension/g.extension.html: new module:
+	  g.extension.rebuild.all
+
+2011-12-24 17:11  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: show make output
+	  only on verbose level (warnings/errors are shown on all verbosity
+	  levels)
+
+2011-12-24 16:48  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/modules/vclean.py:
+	  wxGUI: OnVectorCleaning(): don't call self.Show() twice
+
+2011-12-24 16:31  martinl
+
+	* gui/wxpython/modules/vclean.py: wxGUI/vclean: wx.Panel needed for
+	  wx.Frame (on Windows)
+	  syntax clean up
+
+2011-12-24 09:32  mmetz
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li.daemon: do not silently
+	  remove the first area
+
+2011-12-23 15:30  mmetz
+
+	* raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.daemon/index.h, raster/r.li/r.li.daemon/list.c,
+	  raster/r.li/r.li.daemon/list.h, raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c: avoid bad typedef practice
+
+2011-12-23 15:06  mmetz
+
+	* raster/r.li/r.li.daemon/daemon.c, raster/r.li/r.li.daemon/list.c:
+	  r.li.daemon: fix segfaults
+
+2011-12-23 13:32  huhabla
+
+	* temporal/t.remove/t.remove.py,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.py,
+	  temporal/tv.what.rast, temporal/tv.what.rast/Makefile,
+	  temporal/tv.what.rast/test.tv.what.rast.sh,
+	  temporal/tv.what.rast/tv.what.rast.html,
+	  temporal/tv.what.rast/tv.what.rast.py: New module for
+	  spatio-temporal sampling of raster maps with vector points
+
+2011-12-23 11:52  martinl
+
+	* gui/wxpython/iclass/digit.py, gui/wxpython/iclass/frame.py:
+	  wxGUI: rename IClassIVDigit to IClassVDigit
+
+2011-12-23 11:36  martinl
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI: don't import iclass.digit
+	  in vdigit.toolbars
+
+2011-12-23 10:50  martinl
+
+	* gui/wxpython/lmgr/frame.py: wxGUI/LM: fix OnLocationWizard
+	  (merge r49878 from devbr6)
+
+2011-12-23 09:38  martinl
+
+	* gui/wxpython/dbmgr/dialogs.py: wxGUI/dbmgr: fix ModifyTableRecord
+	  on Windows (don't use wx.Panel for wx.Dialogs)
+	  (merge r49873 from devbr6)
+
+2011-12-23 07:38  neteler
+
+	* locale/po/grassmods_ja.po, locale/po/grasswxpy_ja.po: Naoki Ueda
+	  + team: cont'ed
+
+2011-12-22 20:09  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Added listing
+	  of stds register.
+
+2011-12-22 20:08  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.info/test.t.info.sh,
+	  temporal/t.sample/test.t.sample.sh,
+	  temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.py,
+	  temporal/tr.aggregate/test.tr.aggregate.sh,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.export/tr.export.py,
+	  temporal/tr.import/test.tr.import.sh,
+	  temporal/tr.register/test.tr.register.sh,
+	  temporal/tr.to.rast3/test.tr.to.rast3.sh: Added sampling methods
+	  to aggregation modules
+
+2011-12-22 18:30  mmetz
+
+	* lib/vector/vectorlib.dox: vector documentation update
+
+2011-12-22 16:11  neteler
+
+	* lib/vector/vectorlib.dox: slightly demystified
+
+2011-12-22 10:32  neteler
+
+	* lib/gis/colors/gdd: expanded to 6000 GDD
+
+2011-12-21 12:59  martinl
+
+	* gui/wxpython/modules/colorrules.py: wxGUI/colorrules: fix dialog
+	  on Windows
+	  (merge r49850 from devbr6)
+
+2011-12-21 07:17  hamish
+
+	* lib/init/grass.py: cleanup_dir() doesn't remove the base dir for
+	  some reason (race condition?) leaving a pile of empty
+	  /tmp/grass7-'s behind, so try again
+
+2011-12-20 15:35  mmetz
+
+	* vector/v.rectify/cp.c, vector/v.rectify/crs.c,
+	  vector/v.rectify/crs.h, vector/v.rectify/main.c: use imagery lib
+	  for 2D transformation
+
+2011-12-20 15:25  mmetz
+
+	* imagery/i.rectify/cp.c, imagery/i.rectify/crs.c,
+	  imagery/i.rectify/crs.h, imagery/i.rectify/get_wind.c,
+	  imagery/i.rectify/main.c, imagery/i.rectify/rectify.c: use
+	  imagery lib for transformation
+
+2011-12-20 15:10  mmetz
+
+	* misc/m.transform/crs.c, misc/m.transform/crs.h,
+	  misc/m.transform/main.c: use imagery lib for transformation
+
+2011-12-20 15:04  mmetz
+
+	* include/defs/imagery.h, lib/imagery/georef.c: move polynomial
+	  transformation to imagery lib
+
+2011-12-19 19:32  annakrat
+
+	* lib/imagery/iclass_perimeter.c: imagerylib: check if areas are
+	  alive
+
+2011-12-19 17:36  annakrat
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/iclass/plots.py:
+	  wxIClass: #1516 fixed
+
+2011-12-19 15:53  annakrat
+
+	* gui/wxpython/vdigit/wxdisplay.py: wxGUI/vdigit: fix syntax
+
+2011-12-19 15:51  mmetz
+
+	* vector/v.rectify/Makefile: fix Makefile
+
+2011-12-19 14:59  mmetz
+
+	* gui/wxpython/xml/menudata.xml: add v.rectify to GUI menu
+
+2011-12-19 14:57  mmetz
+
+	* vector/v.rectify/main.c: better option description
+
+2011-12-19 13:09  martinl
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI/iclass: show error message when unable to launch wxIClass
+
+2011-12-19 12:36  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI/menu: re-order "clasify
+	  image" items
+
+2011-12-19 12:23  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix panes order on
+	  Linux
+
+2011-12-19 12:21  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix panes order on
+	  Windows
+
+2011-12-19 12:00  martinl
+
+	* gui/wxpython/iclass/frame.py: wxGUI/iclass: fix toolbars order on
+	  Windows
+
+2011-12-19 11:31  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.Components.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.IClass.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html: wxGUI/manual: separete file for
+	  list of components
+
+2011-12-19 10:32  annakrat
+
+	* gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/wxpythonlib.dox:
+	  wxIClass: saving signature file improved
+
+2011-12-19 09:53  mmetz
+
+	* vector/Makefile, vector/v.rectify, vector/v.rectify/Makefile,
+	  vector/v.rectify/README, vector/v.rectify/bilinear.c,
+	  vector/v.rectify/bilinear_f.c, vector/v.rectify/cp.c,
+	  vector/v.rectify/crs.c, vector/v.rectify/crs.h,
+	  vector/v.rectify/crs3d.c, vector/v.rectify/cubic.c,
+	  vector/v.rectify/cubic_f.c, vector/v.rectify/exec.c,
+	  vector/v.rectify/get_wind.c, vector/v.rectify/global.h,
+	  vector/v.rectify/i.rectify.html, vector/v.rectify/lanczos.c,
+	  vector/v.rectify/main.c, vector/v.rectify/nearest.c,
+	  vector/v.rectify/readcell.c, vector/v.rectify/rectify.c,
+	  vector/v.rectify/report.c, vector/v.rectify/target.c,
+	  vector/v.rectify/v.rectify.html: add new module v.rectify
+
+2011-12-19 05:46  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grassnviz_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2011-12-18 21:18  martinl
+
+	* gui/wxpython/docs/wxGUI.IClass.html: wxGUI/IClass: cosmetics in
+	  manual page
+
+2011-12-18 20:50  martinl
+
+	* gui/wxpython/iclass/frame.py, gui/wxpython/iclass/toolbars.py:
+	  wxGUI/iclass: move misc toolbar to the first row
+	  add quit button to the misc toolbar
+
+2011-12-18 20:04  annakrat
+
+	* gui/wxpython/iclass/frame.py: wxIClass: fix updating class name
+
+2011-12-18 19:39  annakrat
+
+	* gui/wxpython/iclass/digit.py: wxIClass: fix deleting areas
+
+2011-12-18 19:22  annakrat
+
+	* gui/icons/grass/layer-opacity.png,
+	  gui/icons/grass/table-manager.png, gui/wxpython/Makefile,
+	  gui/wxpython/docs/wxGUI.IClass.html, gui/wxpython/iclass,
+	  gui/wxpython/iclass/dialogs.py, gui/wxpython/iclass/digit.py,
+	  gui/wxpython/iclass/frame.py, gui/wxpython/iclass/plots.py,
+	  gui/wxpython/iclass/statistics.py,
+	  gui/wxpython/iclass/toolbars.py,
+	  gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/wxpythonlib.dox, gui/wxpython/xml/menudata.xml:
+	  wxIClass: initial commit
+
+2011-12-18 19:12  annakrat
+
+	* lib/Makefile: imagerylib: fix Makefile
+
+2011-12-18 19:05  annakrat
+
+	* include/Make/Grass.make, include/defs/imagery.h,
+	  include/imagery.h, lib/imagery/Makefile, lib/imagery/iclass.c,
+	  lib/imagery/iclass_bands.c, lib/imagery/iclass_local_proto.h,
+	  lib/imagery/iclass_perimeter.c, lib/imagery/iclass_signatures.c,
+	  lib/imagery/iclass_statistics.c: imagerylib: functions used by
+	  wxIClass, based on i.class (co-author V. Petras)
+
+2011-12-18 19:00  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_ogr.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c: vlib: fix bug in dig_del_area() -
+	  update centroid topo
+	  V2_delete_line protype change to use integer for 'line'
+	  various minor fixes
+
+2011-12-18 17:44  annakrat
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI: SingleMapFrame and
+	  DoubleMapFrame added (co-author V. Petras)
+
+2011-12-18 17:15  martinl
+
+	* gui/wxpython/lmgr/toolbars.py: wxGUI: fix typo in icon name
+
+2011-12-18 16:21  martinl
+
+	* gui/wxpython/gcp/toolbars.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/toolbars.py,
+	  gui/wxpython/gui_core/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/lmgr/toolbars.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/modules/histogram.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/toolbars.py, gui/wxpython/vdigit/toolbars.py,
+	  gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/profile.py, gui/wxpython/wxplot/scatter.py:
+	  wxGUI: separate icons into several GUI modules
+
+2011-12-18 15:35  annakrat
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/lmgr/layertree.py:
+	  wxGUI: layertree: remove unused and wrong parameter (co-author V.
+	  Petras)
+
+2011-12-18 10:52  mmetz
+
+	* db/drivers/sqlite/describe.c: fix for variable width text
+
+2011-12-18 00:16  hamish
+
+	* vector/v.in.ogr/main.c: also update DEFAULT_WIND (back again;
+	  merge from r.in.gdal), #1507
+
+2011-12-18 00:05  hamish
+
+	* raster/r.in.gdal/main.c: +fixme comment, don't need to set the
+	  region here, two clearer messages instead of one blurry one for
+	  PERMANENT window changes
+
+2011-12-17 23:56  hamish
+
+	* raster/r.external/main.c, raster/r.external/window.c: also update
+	  DEFAULT_WIND (back again), #1507
+
+2011-12-17 23:04  hamish
+
+	* lib/gis/Makefile: install ellipse.table.solar.system (yet unused
+	  but good for reference)
+
+2011-12-17 21:18  hellik
+
+	* mswindows/GRASS-Packager.bat: attempt to fix #1504: NVIZ shows
+	  only English Menu
+
+2011-12-16 20:06  huhabla
+
+	* lib/raster3d/resample.c: Removed redundant spatial boundary check
+
+2011-12-16 19:32  huhabla
+
+	* lib/raster3d/error.c, lib/raster3d/getvalue.c,
+	  lib/raster3d/test/Makefile,
+	  lib/raster3d/test/test_put_get_value.c: Added boundary check to
+	  get_value_region and a unit test.
+
+2011-12-16 13:42  huhabla
+
+	* lib/raster3d/cache1.c: Corrected uninitialized values and invalid
+	  memory access
+
+2011-12-16 11:30  mmetz
+
+	* raster/r.viewshed/main.cpp: r.viewshed: use GRASS .tmp dir for
+	  temp data
+
+2011-12-16 11:30  mmetz
+
+	* raster/r.terraflow/main.cpp: r.terraflow: use GRASS .tmp dir for
+	  temp data
+
+2011-12-16 11:12  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: fix deletion of
+	  intermediate data
+	  (merge r49783 from devbr6)
+
+2011-12-16 00:09  lucadelu
+
+	* locale/po/grasswxpy_it.po: italian translation, con't end
+
+2011-12-15 16:38  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: additional checks from
+	  GetGRASSCmds()
+	  (merge r49776 from devbr6)
+
+2011-12-15 16:05  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI/modeler: cosmetics in action
+	  settings (width)
+	  (merge r49774 from devbr6)
+
+2011-12-15 14:28  martinl
+
+	* gui/wxpython/gmodeler/frame.py, gui/wxpython/gmodeler/model.py:
+	  wxGUI: optionally delete intermediate data on finish
+	  (merge r49772 from devbr6)
+
+2011-12-15 14:13  mmetz
+
+	* include/iostream/ami_stream.h: clean up error messages
+
+2011-12-15 13:29  martinl
+
+	* scripts/r.reclass.area/r.reclass.area.py: r.reclass.area: more
+	  guisections
+
+2011-12-15 13:13  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/modeler: missing import
+	  (merge r49765 from devbr6)
+
+2011-12-15 09:56  mmetz
+
+	* lib/gis/paths.c: add missing headers
+
+2011-12-15 06:49  annakrat
+
+	* lib/imagery/sigsetfile.c: imagerylib: fix function name
+
+2011-12-15 00:12  martinl
+
+	* lib/imagery/sigsetfile.c: imagerylib: fix
+	  I_fopen_sigset_file_new() for fully-qualified group names
+	  doxygenize sigsetfile.c
+	  (merge r49760 from devbr6)
+
+2011-12-14 23:32  martinl
+
+	* gui/wxpython/modules/colorrules.py: wxGUI/colorrules: - redraw
+	  preview on apply
+	  - error message when color column is not defined
+	  - various minor fixes
+	  (merge r49756 from devbr6)
+
+2011-12-14 23:31  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/modeler: minor fixes
+	  (import)
+	  (merge r49757 from devbr6)
+
+2011-12-14 20:50  martinl
+
+	* gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/gselect.py, gui/wxpython/lmgr/frame.py:
+	  wxGUI: change location/mapset - don't show current mapset
+	  call `g.mapset` to switch location/mapset
+	  (merge r49754 from devbr6)
+
+2011-12-14 18:07  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py,
+	  gui/wxpython/gui_core/dialogs.py: wxGUI: fix import
+
+2011-12-14 18:02  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: fix syntax typo introduced in
+	  r49749
+
+2011-12-14 17:53  martinl
+
+	* gui/wxpython/core/gcmd.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/prompt.py: wxGUI: another attempt to fix
+	  #1496
+
+2011-12-14 15:53  hamish
+
+	* raster/r.in.gdal/main.c: if in PERMANENT, also update WIND
+
+2011-12-14 15:32  mmetz
+
+	* general/g.mapset/main.c: report mapset to switch to; find out
+	  who's busy there
+
+2011-12-14 15:31  mmetz
+
+	* lib/gis/paths.c: add new fn G_owner()
+
+2011-12-14 15:29  mmetz
+
+	* include/defs/gis.h: add new fn G_owner()
+
+2011-12-14 15:19  hamish
+
+	* raster/r.in.gdal/main.c: reinstate old behaviour of -e flag at
+	  the request of Markus, plus checks and fallback if not in
+	  PERMANENT (#1507)
+
+2011-12-14 12:36  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: inform user when
+	  no extension is installed (-a)
+
+2011-12-14 12:32  martinl
+
+	* gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/goutput.py:
+	  wxGUI: better error handling when command is not available
+
+2011-12-14 10:58  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: more appropriate
+	  for the warning (see r49730)
+
+2011-12-14 09:33  hamish
+
+	* raster/r.external/main.c, raster/r.external/proj.c,
+	  raster/r.external/window.c, raster/r.in.gdal/main.c,
+	  vector/v.in.ogr/main.c: Modules are only allowed to modify the
+	  current mapset. (#1507)
+	  Checking projection against DEFAULT_WIND is more reliable.
+
+2011-12-14 09:11  hamish
+
+	* vector/v.in.lidar/main.c: minor cleanup of location creation and
+	  extending region code
+
+2011-12-14 07:49  hamish
+
+	* scripts/g.extension/g.extension.py: try removal also in cases
+	  where the installation is broken (merge from devbr6)
+
+2011-12-13 22:37  martinl
+
+	* gui/wxpython/core/globalvar.py: wxGUI: clean up
+	  globalvar.GetGRASSCmd()
+
+2011-12-13 21:21  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: more guisections
+	  minor fix in listing installed extensions
+
+2011-12-13 21:08  martinl
+
+	* gui/wxpython/wxpythonlib.dox: wxGUI/gmodeler: update dox docs
+
+2011-12-13 20:59  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/modules/extensions.py,
+	  gui/wxpython/wxpythonlib.dox, gui/wxpython/xml/menudata.xml:
+	  wxGUI: new tool for uninstalling extensions
+
+2011-12-13 18:10  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: minor fixes
+	  (desc/keywords not defined)
+
+2011-12-13 17:56  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: register full
+	  path for the files (tag: binary)
+
+2011-12-13 17:12  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: typo
+
+2011-12-13 17:07  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: store
+	  modules.xml locally
+	  update removal to read local XML file
+	  add flag to list installed extensions (a)
+
+2011-12-13 13:48  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: no need to fix
+	  manual pages, css file is already copied to addons
+
+2011-12-13 13:43  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: remove
+	  duplicated code (fix html page)
+
+2011-12-13 13:31  martinl
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py: wxGUI/language settings:
+	  store alias not its index (which can change)
+
+2011-12-13 12:58  martinl
+
+	* gui/wxpython/core/settings.py: wxGUI/settings: clean up Settings
+	  constructor
+
+2011-12-13 12:30  martinl
+
+	* gui/wxpython/gui_core/preferences.py: wxGUI/prefences: fix labels
+	  for language settings
+
+2011-12-13 11:35  neteler
+
+	* doc/grass7_arch.png: prettified (from GRASS 6 architecture; in
+	  grass-web/images/grass6_arch.odg)
+
+2011-12-13 10:41  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: units color was locked on black (merge
+	  from devbr6)
+
+2011-12-12 16:42  neteler
+
+	* vector/v.edit/v.edit.html: update also attrib table (example)
+
+2011-12-12 16:24  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: ignore on
+	  Windows also -i/d flags
+
+2011-12-12 15:26  neteler
+
+	* lib/init/variables.html: GRASS_INT_ZLIB only applies to CELL type
+
+2011-12-12 14:48  glynn
+
+	* raster/r.compress/main.c: Don't try to (un)compress GDAL-linked
+	  maps
+
+2011-12-12 12:35  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: move classes to
+	  more appropriate module (fix loop properties dialog)
+	  (merge r49675 from devbr6)
+
+2011-12-12 11:28  neteler
+
+	* lib/python/ctypes: ignore tmp py files + OBJ.*
+
+2011-12-12 10:01  neteler
+
+	* lib/python/ctypes: ignore tmp py files
+
+2011-12-12 09:12  lucadelu
+
+	* gui/wxpython/core/settings.py,
+	  gui/wxpython/gui_core/preferences.py, lib/init/grass.py: add
+	  possibility to choose language in the preference dialog
+
+2011-12-12 07:33  annakrat
+
+	* gui/wxpython/psmap/dialogs.py: wxGUI: wx.psmap - fix reading and
+	  writing configuration file with non ascii characters
+
+2011-12-12 07:00  annakrat
+
+	* gui/icons/grass/north-arrow-add.png, gui/wxpython/icons/icon.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/psmap/frame.py:
+	  wxGUI: north arrow icon added (thanks to Robert Szczepanek)
+
+2011-12-12 06:29  annakrat
+
+	* gui/icons/grass/flythrough.png, gui/wxpython/icons/icon.py:
+	  wxNviz: new flythrough icon added
+
+2011-12-12 04:51  hamish
+
+	* lib/rst/interp_float/segmen2d.c: add note about the best place to
+	  parallelize v.surf.rst, partial-doxygenize, fix typo
+
+2011-12-12 04:42  hamish
+
+	* lib/gmath/lu.c: don't keep going if we're going to bail out
+
+2011-12-12 04:33  hamish
+
+	* lib/rst/interp_float/matrix.c: whitespace cleanup, doxygenize,
+	  use M_PI, add debug msg when calling G_ludcmp()
+
+2011-12-12 04:15  hamish
+
+	* lib/gmath/lu.c: typo
+
+2011-12-12 04:07  hamish
+
+	* lib/gmath/TODO: typo
+
+2011-12-12 02:09  hamish
+
+	* lib/init/variables.html: document OMP_NUM_THREADS enviro variable
+
+2011-12-12 02:02  hamish
+
+	* configure, configure.in: re-alphabetize summary
+
+2011-12-12 01:51  hamish
+
+	* lib/gmath/lu.c: OpenMP pragma useful for v.surf.rst, doxygenize
+
+2011-12-12 01:37  hamish
+
+	* configure, configure.in, include/Make/Grass.make,
+	  include/Make/Platform.make.in, lib/gmath/Makefile,
+	  lib/gmath/test/Makefile, lib/gpde/Makefile,
+	  lib/gpde/test/Makefile: add build support for OpenMP (#657)
+
+2011-12-11 20:12  neteler
+
+	* imagery/i.gensig/i.gensig.html,
+	  imagery/i.gensigset/i.gensigset.html,
+	  imagery/i.vpoints/i.vpoints.html, misc/m.cogo/m.cogo.html,
+	  raster/r.basins.fill/r.basins.fill.html,
+	  raster/r.digit/r.digit.html, raster/r.in.poly/r.in.poly.html,
+	  raster/r.le/r.le.setup/r.le.setup.html,
+	  raster/r.surf.contour/r.surf.contour.html,
+	  raster/r.thin/r.thin.html,
+	  scripts/v.db.addtable/v.db.addtable.html,
+	  vector/v.build.polylines/v.build.polylines.html,
+	  vector/v.category/v.category.html,
+	  vector/v.net.alloc/v.net.alloc.html, vector/v.net/v.net.html,
+	  vector/vectorintro.html: fix broken links
+
+2011-12-11 11:17  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grassnviz_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: new nviz + cont'ed
+
+2011-12-09 13:07  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/compat,
+	  gui/wxpython/core/gcmd.py: wxGUI: remove compat, subrocess
+	  requited by grass.py
+
+2011-12-09 12:17  martinl
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI: cosmetics when importing
+	  nviz
+
+2011-12-09 11:17  martinl
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/modules/colorrules.py, gui/wxpython/nviz/main.py:
+	  wxGUI: fix loading 3D view mode modules
+
+2011-12-09 10:33  neteler
+
+	* locale/po/grasslibs_pl.po: Milena Nowotarska: cont'ed
+
+2011-12-09 10:16  martinl
+
+	* gui/wxpython/core/workspace.py, gui/wxpython/lmgr/frame.py,
+	  gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/modules/colorrules.py, gui/wxpython/nviz/main.py,
+	  gui/wxpython/vdigit/main.py: wxGUI: fix loading wx/ctypes modules
+
+2011-12-08 20:34  martinl
+
+	* gui/wxpython/lmgr/frame.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI: move GMFrame to
+	  lmgr/frame.py
+
+2011-12-08 20:11  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/gui_core/forms.py, gui/wxpython/gui_core/ghelp.py,
+	  gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/pyshell.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/nviz/animation.py, gui/wxpython/nviz/mapwindow.py,
+	  gui/wxpython/nviz/workspace.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/wxgui.py: wxGUI: various mirror fixes
+
+2011-12-08 00:35  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grasswxpy_pl.po: Milena
+	  Nowotarska: cont'ed
+
+2011-12-07 19:10  martinl
+
+	* gui/wxpython/gui_core/widgets.py: wxGUI: mirror update of header
+
+2011-12-07 14:38  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: no symlink for
+	  executable (only G6 related)
+	  create target dirs if not exists (make install should do this
+	  job)
+
+2011-12-07 12:06  martinl
+
+	* raster/r.info/main.c: r.info: mirror fix for r49602
+
+2011-12-07 11:24  lucadelu
+
+	* raster/r.info/main.c, raster/r.info/r.info.html: add rows, cols
+	  and cells output for -g
+
+2011-12-07 09:26  lucadelu
+
+	* locale/po/grasswxpy_it.po: italian translation
+
+2011-12-07 01:03  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extensions: ignore flag
+	  'f'
+
+2011-12-07 00:50  martinl
+
+	* gui/wxpython/core/gcmd.py: wxGUI: report OSError when running
+	  command
+
+2011-12-06 22:45  hamish
+
+	* scripts/g.extension/g.extension.py: only install missing files if
+	  op=add
+
+2011-12-06 22:32  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: force removal
+	  flag added
+
+2011-12-06 18:51  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: remove tricky
+	  code to get description by parsing source code (it's very slow) -
+	  replaced by parsing metadata file (XML)
+
+2011-12-06 17:57  martinl
+
+	* raster/r.grow.distance/main.c: r.grow.distance: more guisections
+
+2011-12-06 17:49  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: fix loading
+	  extensions without any prefix
+	  (merge r49570 from devbr6)
+
+2011-12-06 17:29  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI/extension: define
+	  window icon
+
+2011-12-06 17:06  martinl
+
+	* gui/wxpython/core/gcmd.py, lib/python/core.py,
+	  lib/python/task.py: attempt to fix #1496 - TODO: replace such
+	  ugly hacks with something more reasonable in the future
+
+2011-12-05 19:31  martinl
+
+	* gui/wxpython/icons/icon.py: fix loading icon sets (grass and
+	  silk)
+	  (merge r49557 from devbr6)
+
+2011-12-05 16:32  mmetz
+
+	* vector/v.in.ogr/v.in.ogr.html: v.in.ogr manual: importing
+	  overlapping polygons
+
+2011-12-05 15:55  mmetz
+
+	* vector/v.in.ogr/main.c: do extensive topology check for -c flag
+
+2011-12-05 15:54  mmetz
+
+	* vector/v.build/main.c: add new flag for extensive topology checks
+
+2011-12-05 15:52  martinl
+
+	* mswindows/GRASS-Installer.nsi: winGRASS: do not remove
+	  $APPDATA\GRASSX when uninstalling GRASS (keep also locally
+	  installed addons)
+
+2011-12-05 15:51  mmetz
+
+	* lib/vector/Vlib/break_lines.c, lib/vector/Vlib/build.c: add new
+	  fns for topology check
+
+2011-12-05 15:51  mmetz
+
+	* include/defs/vector.h: add new fns for topology check
+
+2011-12-05 12:49  mmetz
+
+	* lib/segment/address.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/pagein.c, lib/segment/pageout.c, lib/segment/put.c,
+	  lib/segment/put_row.c, lib/segment/seek.c, lib/segment/setup.c:
+	  segment lib cosmetics: update adress / seek fn calls
+
+2011-12-05 12:48  mmetz
+
+	* include/defs/segment.h, include/segment.h: segment lib cosmetics:
+	  update headers
+
+2011-12-05 11:40  martinl
+
+	* mswindows/GRASS-Installer.nsi: no need for unix-like gisbase
+
+2011-12-05 10:12  mmetz
+
+	* raster/r.viewshed/main.cpp: r.viewshed: fix r49498
+
+2011-12-05 10:06  martinl
+
+	* vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c:
+	  v.to.rast: allow `use=cat rgbcolumn=column`
+	  enable warning when rasterization is done
+	  (merge r49541 from devbr6)
+
+2011-12-05 08:41  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2011-12-05 08:18  mmetz
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI mapdisp: unpack only the
+	  first two values, account for where='cat=1'
+
+2011-12-04 21:44  martinl
+
+	* gui/wxpython/core/workspace.py: wxGUI/workspace: support
+	  multi-line layer names
+	  (merge r49528 from devbr6)
+
+2011-12-04 19:31  martinl
+
+	* gui/wxpython/mapdisp/frame.py: wxGUI/vdigit: fix mirror bug when
+	  no vector map is marked for editing
+	  (merge r49516 from devbr6)
+
+2011-12-04 17:02  annakrat
+
+	* gui/wxpython/nviz/tools.py: wxNviz:missing import
+
+2011-12-04 11:05  hamish
+
+	* lib/segment/segmentlib.dox: minor clean
+
+2011-12-04 06:05  hamish
+
+	* lib/gis/parser_standard_options.c: try to make these option
+	  descriptions make more sense
+
+2011-12-04 06:01  hamish
+
+	* lib/gis/parser_standard_options.c: try to make these option
+	  descriptions make more sense
+
+2011-12-04 05:53  hamish
+
+	* raster/r.cost/main.c: avoid duplicate & generic standard option
+	  description
+
+2011-12-02 19:32  martinl
+
+	* raster/r.viewshed/main.cpp: r.viewshed: more gui section,
+	  cosmetics in description
+
+2011-12-02 19:10  martinl
+
+	* raster/r.viewshed: r.viewshed: define svn:ignore props
+
+2011-12-02 18:29  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: fix loading
+	  models
+
+2011-12-02 18:21  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI: report g.extension -l
+
+2011-12-02 17:22  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: missing import
+
+2011-12-02 16:20  martinl
+
+	* mswindows/GRASS-Installer.nsi: winGRASS standalone installer:
+	  don't overwrite GISRC if exists
+
+2011-12-02 12:33  martinl
+
+	* gui/wxpython/modules/vclean.py: wxGUI/v.clean: check input
+	  parameters, define OnDone handler
+
+2011-12-02 12:05  martinl
+
+	* gui/wxpython/modules/vclean.py, gui/wxpython/wxgui.py: wxGUI: fix
+	  VectorCleaningFrame
+
+2011-12-02 10:07  mmetz
+
+	* gui/wxpython/xml/menudata.xml: add r.viewshed to GUI
+
+2011-12-02 09:58  mmetz
+
+	* raster/Makefile: add r.viewshed to Makefile
+
+2011-12-02 09:56  mmetz
+
+	* raster/r.viewshed, raster/r.viewshed/BUGS,
+	  raster/r.viewshed/Makefile, raster/r.viewshed/distribute.cc,
+	  raster/r.viewshed/distribute.cpp, raster/r.viewshed/eventlist.cc,
+	  raster/r.viewshed/eventlist.cpp, raster/r.viewshed/grass.cc,
+	  raster/r.viewshed/grass.cpp, raster/r.viewshed/grass.h,
+	  raster/r.viewshed/grid.cc, raster/r.viewshed/grid.cpp,
+	  raster/r.viewshed/grid.h, raster/r.viewshed/main.cc,
+	  raster/r.viewshed/main.cpp, raster/r.viewshed/rbbst.cc,
+	  raster/r.viewshed/rbbst.cpp,
+	  raster/r.viewshed/statusstructure.cc,
+	  raster/r.viewshed/statusstructure.cpp,
+	  raster/r.viewshed/viewshed.cc, raster/r.viewshed/viewshed.cpp,
+	  raster/r.viewshed/visibility.cc,
+	  raster/r.viewshed/visibility.cpp: add r.viewshed to trunk
+
+2011-12-02 09:30  mmetz
+
+	* include/iostream/ami_stream.h,
+	  include/iostream/replacementHeapBlock.h: fix compiler warnings
+
+2011-12-02 04:34  glynn
+
+	* lib/gis/parser.c: Don't silently ignore invalid arguments, raise
+	  an error
+
+2011-12-01 23:25  martinl
+
+	* display/d.rgb/main.c: d.rgb: more gui sections
+
+2011-12-01 23:24  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: simplify
+	  PropertiesDialog()
+
+2011-12-01 23:07  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: remove non-existing r.sum
+	  from the menu
+
+2011-12-01 22:59  martinl
+
+	* gui/wxpython/lmgr/layertree.py: wxGUI: layer tree - launch
+	  r.univar command instead showing dialog
+
+2011-12-01 22:51  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menudata file
+
+2011-12-01 22:49  martinl
+
+	* gui/wxpython/core/debug.py, gui/wxpython/core/render.py,
+	  gui/wxpython/dbmgr/manager.py, gui/wxpython/dbmgr/sqlbuilder.py,
+	  gui/wxpython/gmodeler/frame.py, gui/wxpython/mapdisp/main.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/psmap/frame.py,
+	  gui/wxpython/tools/update_menudata.py: wxGUI: fix modules with
+	  `main` fn
+
+2011-12-01 21:42  martinl
+
+	* mswindows/GRASS-Installer.nsi: winGRASS standalone installer:
+	  don't remove config dir when uninstalling
+
+2011-12-01 21:03  cmbarton
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/scatter.py: remove debugging code
+
+2011-12-01 20:36  cmbarton
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/scatter.py:
+	  wxgui plots: bug fixing, error trapping, updating
+
+2011-12-01 19:18  martinl
+
+	* gui/wxpython/psmap/frame.py: wxGUI/psmap: define path for
+	  standalone app
+
+2011-12-01 19:17  martinl
+
+	* gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/preferences.py: wxGUI/gmodeler: fix
+	  preferences dialog
+
+2011-12-01 19:12  martinl
+
+	* lib/init/grass.py: grass.py: don't print message about undefined
+	  GRASS_ADDON_PATH
+
+2011-12-01 19:05  martinl
+
+	* gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gmodeler/model_file.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI:gmodeler: merge `model_file`
+	  and `model` modules
+
+2011-12-01 18:31  martinl
+
+	* gui/wxpython/gmodeler/frame.py: wxGUI/gmodeler: fix path for
+	  standalone app
+
+2011-12-01 15:11  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/vector.py: Bugfix in parsing of v.info output in case
+	  of non 3d vector maps
+
+2011-12-01 12:36  martinl
+
+	* lib/init/grass.py: grass.py: reuse grass_config_dir
+
+2011-12-01 12:00  martinl
+
+	* gui/wxpython/dbmgr/manager.py: wxGUI/dbm: select first tab if not
+	  defined
+
+2011-12-01 08:49  glynn
+
+	* include/Make/Html.make: Revert r48813 to avoid race condition in
+	  parallel builds
+	  Declare images as secondary targets to avoid deletion
+
+2011-11-30 23:14  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: update for
+	  installing pre-compiled GRASS Addons on Windows
+	  (merge r49445 from devbr6)
+
+2011-11-30 21:47  annakrat
+
+	* gui/wxpython/gui_core/forms.py: wxGUI: missing import
+
+2011-11-30 21:33  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: no need to
+	  delete tmp files (see r49440)
+
+2011-11-30 21:28  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: pre-compiled
+	  GRASS Addons for MS Windows are distributed as zip-files
+
+2011-11-30 19:51  annakrat
+
+	* gui/wxpython/gui_core/widgets.py: wxNviz: fix SymbolButton again
+	  (r49325 disappeared during the gui layout change)
+
+2011-11-30 19:38  martinl
+
+	* gui/wxpython/wxplot/base.py: wxGUI/wxplot: fix variable name
+	  (ret0/ret1)
+
+2011-11-30 18:21  martinl
+
+	* gui/wxpython/Makefile: don't conditionize `wxpython`, there is
+	  nothing to compile
+	  `--with-widgets` is used during compilation, see eg.
+	  `vizualization/wximgview`
+
+2011-11-30 16:18  martinl
+
+	* display/d.mon/start.c: d.mon: fix path to GUI mapdisp package
+
+2011-11-30 16:17  martinl
+
+	* gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/main.py:
+	  wxGUI: added 'mapdisp.main' for standalone app
+
+2011-11-30 11:54  martinl
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/profile.py:
+	  wxGUI/profile: fix several bugs (now working again)
+
+2011-11-30 11:26  martinl
+
+	* gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/scatter.py: wxGUI: fix wxplot modules (after
+	  major code reorganization)
+
+2011-11-30 11:11  martinl
+
+	* gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gmodeler/model_file.py: wxGUI/gmodeler: fix loading
+	  models
+
+2011-11-30 10:54  martinl
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/wxgui.py: wxGUI: dbm
+	  -> dbmgr (see r49429)
+	  `v.info -g` -> `v.info -e`
+
+2011-11-30 10:44  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/dbm, gui/wxpython/dbmgr,
+	  gui/wxpython/dbmgr/dialogs.py, gui/wxpython/dbmgr/manager.py,
+	  gui/wxpython/dbmgr/sqlbuilder.py, gui/wxpython/dbmgr/vinfo.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/vdigit/mapwindow.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI: rename `dbm` package to `dbmgr` (consilate package name
+	  with `lmgr`), `dbm` is also standard Python package
+
+2011-11-29 11:14  martinl
+
+	* lib/vector/Vlib/handler.c: vlib: Vect_set_error_handler_io()
+	  cosmetics in doxygen docs
+
+2011-11-29 11:11  martinl
+
+	* vector/v.buffer/main.c: v.buffer: call
+	  Vect_set_error_handler_io() after Vect_open_old2()
+
+2011-11-29 11:09  martinl
+
+	* vector/v.buffer/main.c: v.buffer: remove extra error message from
+	  r49420
+
+2011-11-29 11:08  martinl
+
+	* doc/vector/v.example/main.c, imagery/i.pca/main.c, include/gis.h,
+	  include/vect/dig_defines.h, lib/gis/legal_name.c,
+	  lib/vector/Vlib/legal_vname.c, raster/r.carve/main.c,
+	  raster/r.param.scale/interface.c, raster/r.slope.aspect/main.c,
+	  vector/v.buffer/main.c, vector/v.build.polylines/main.c,
+	  vector/v.build/main.c, vector/v.category/main.c,
+	  vector/v.clean/main.c, vector/v.drape/main.c,
+	  vector/v.extract/main.c, vector/v.extrude/main.c,
+	  vector/v.generalize/main.c, vector/v.hull/main.c,
+	  vector/v.kernel/main.c, vector/v.lidar.correction/main.c,
+	  vector/v.lidar.edgedetection/main.c,
+	  vector/v.lidar.growing/main.c, vector/v.net.alloc/main.c,
+	  vector/v.net.allpairs/main.c, vector/v.net.bridge/main.c,
+	  vector/v.net.centrality/main.c, vector/v.net.components/main.c,
+	  vector/v.net.connectivity/main.c, vector/v.net.distance/main.c,
+	  vector/v.net.flow/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.salesman/main.c,
+	  vector/v.net.spanningtree/main.c, vector/v.net.steiner/main.c,
+	  vector/v.net.timetable/main.c, vector/v.net.visibility/main.c,
+	  vector/v.net/main.c, vector/v.outlier/main.c,
+	  vector/v.overlay/main.c, vector/v.patch/main.c,
+	  vector/v.reclass/main.c, vector/v.segment/main.c,
+	  vector/v.select/main.c, vector/v.surf.bspline/main.c,
+	  vector/v.surf.rst/main.c, vector/v.to.3d/main.c,
+	  vector/v.to.points/main.c, vector/v.transform/main.c,
+	  vector/v.type/main.c: replace GR_FATAL_* (rasters), GV_FATAL_*
+	  (vectors) by G_FATAL_*
+
+2011-11-29 11:05  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/handler.c: vlib:
+	  Vect_set_error_handler_io() added
+
+2011-11-29 08:52  mmetz
+
+	* lib/rst/interp_float/output2d.c: rst lib: valid file desriptors
+	  are non-negative, zero is fine
+
+2011-11-29 07:42  mmetz
+
+	* vector/v.category/main.c: v.category: always copy cats for
+	  option=transfer
+
+2011-11-28 20:18  mmetz
+
+	* vector/v.category/main.c, vector/v.category/v.category.html:
+	  v.category: add option to copy categories (#1498)
+
+2011-11-28 20:02  annakrat
+
+	* lib/ogsf/gvld.c: ogsf: slices - resolution is type double, not
+	  int
+
+2011-11-28 19:10  annakrat
+
+	* gui/wxpython/core/render.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/wxnviz.py,
+	  include/defs/ogsf.h, lib/ogsf/GVL2.c: wxNviz: update 3d region
+	  when switching to 3d view
+
+2011-11-28 16:02  neteler
+
+	* gui/wxpython/Makefile: conditionalize upon wxwidgets
+	  configuration
+
+2011-11-28 13:31  neteler
+
+	* lib/external/bwidget/Makefile: conditionalize upon TclTk
+	  configuration
+
+2011-11-28 09:52  huhabla
+
+	* lib/gmath/solvers_direct_cholesky_band.c: Added OpenMP pragma to
+	  cholesky sband decomposition
+
+2011-11-28 08:33  martinl
+
+	* include/defs/vector.h, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/open.c, ps/ps.map/do_vectors.c,
+	  ps/ps.map/r_vareas.c, ps/ps.map/r_vlines.c,
+	  ps/ps.map/r_vpoints.c, vector/v.category/main.c,
+	  vector/v.clean/main.c, vector/v.convert/old2new.c,
+	  vector/v.kcv/main.c, vector/v.net.path/main.c,
+	  vector/v.type/main.c, visualization/nviz/src/query_vect.c: vlib:
+	  remove Vect_get/set_fatal_error() - replaced by G_fatal_error() /
+	  G_warning()
+
+2011-11-28 04:58  hamish
+
+	* lib/gmath/solvers_direct.c: typo in code comment
+
+2011-11-28 04:10  hamish
+
+	* scripts/r.fillnulls/r.fillnulls.py: sync to changed r.to.vect
+	  parameter name
+
+2011-11-27 20:42  martinl
+
+	* gui/wxpython/vdigit/wxdigit.py: wxGUI/vdigit: fix bug when
+	  digitizing areas (left X right)
+	  (merge r49399 from devbr6)
+
+2011-11-27 14:55  martinl
+
+	* gui/wxpython/gmodeler/model.py: wxGUI/gmodeler: minor fixes when
+	  running model
+	  (merge r49389 from devbr6)
+
+2011-11-27 14:06  neteler
+
+	* raster/r.texture/r.texture.html: restructured
+
+2011-11-27 12:14  annakrat
+
+	* gui/wxpython/core/workspace.py: wxGUI/workspace: fix import
+
+2011-11-27 12:09  annakrat
+
+	* gui/wxpython/core/workspace.py: wxNviz: zexag value must be saved
+	  as float
+
+2011-11-27 00:43  martinl
+
+	* gui/wxpython/modules/extensions.py: wxGUI major code
+	  reorganization (minor fixes)
+
+2011-11-27 00:37  martinl
+
+	* lib/python/task.py: attempt to fix running python scripts on
+	  Windows
+
+2011-11-26 23:25  martinl
+
+	* gui/wxpython/gui_core/dialogs.py: wxGUI: GroupDialog: add support
+	  for sub-groups
+
+2011-11-26 23:19  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI major code reorganization (minor
+	  fixes)
+
+2011-11-26 22:35  annakrat
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/nviz/mapwindow.py,
+	  gui/wxpython/nviz/tools.py: wxNviz: miscellaneous bug fixes
+
+2011-11-26 19:14  martinl
+
+	* gui/wxpython/wxplot/scatter.py: wxGUI: cosmetics in doxygen docs
+
+2011-11-26 19:09  martinl
+
+	* gui/wxpython/core/debug.py, gui/wxpython/core/gcmd.py,
+	  gui/wxpython/core/globalvar.py, gui/wxpython/core/menudata.py,
+	  gui/wxpython/core/render.py, gui/wxpython/core/settings.py,
+	  gui/wxpython/core/units.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/core/workspace.py, gui/wxpython/dbm/dialogs.py,
+	  gui/wxpython/dbm/manager.py, gui/wxpython/dbm/sqlbuilder.py,
+	  gui/wxpython/dbm/vinfo.py, gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gcp/mapdisplay.py, gui/wxpython/gcp/toolbars.py,
+	  gui/wxpython/gis_set.py, gui/wxpython/gis_set_error.py,
+	  gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/menudata.py,
+	  gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gmodeler/model_file.py,
+	  gui/wxpython/gmodeler/preferences.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/prompt.py,
+	  gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/gui_core/widgets.py, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/lmgr/menudata.py, gui/wxpython/lmgr/pyshell.py,
+	  gui/wxpython/lmgr/toolbars.py,
+	  gui/wxpython/location_wizard/base.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/location_wizard/wizard.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/gprint.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapdisp/toolbars.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/modules/ogc_services.py,
+	  gui/wxpython/modules/vclean.py, gui/wxpython/nviz/animation.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/preferences.py,
+	  gui/wxpython/nviz/tools.py, gui/wxpython/nviz/workspace.py,
+	  gui/wxpython/nviz/wxnviz.py, gui/wxpython/psmap/dialogs.py,
+	  gui/wxpython/psmap/frame.py, gui/wxpython/psmap/menudata.py,
+	  gui/wxpython/psmap/toolbars.py, gui/wxpython/vdigit/dialogs.py,
+	  gui/wxpython/vdigit/main.py, gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/vdigit/wxdisplay.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxplot/base.py, gui/wxpython/wxplot/dialogs.py,
+	  gui/wxpython/wxplot/histogram.py, gui/wxpython/wxplot/profile.py,
+	  gui/wxpython/wxplot/scatter.py, gui/wxpython/wxpythonlib.dox:
+	  wxGUI: update doxygen docs
+
+2011-11-26 18:00  annakrat
+
+	* gui/wxpython/gui_core/widgets.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/nviz/tools.py, gui/wxpython/nviz/workspace.py: wxGUI
+	  major code reorganization (wxnviz)
+
+2011-11-26 17:45  annakrat
+
+	* gui/wxpython/dbm/vinfo.py, gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/toolbars.py: wxGUI major code reorganization
+	  (vdigit)
+
+2011-11-26 17:10  martinl
+
+	* general/g.gui/main.c: g.gui: indent cosmetics
+
+2011-11-26 13:36  martinl
+
+	* gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/wxgui.py, gui/wxpython/wxplot/base.py,
+	  gui/wxpython/wxplot/dialogs.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/profile.py, gui/wxpython/wxplot/scatter.py:
+	  wxGUI major code reorganization (more fixes)
+
+2011-11-25 21:09  martinl
+
+	* gui/wxpython/core/utils.py, gui/wxpython/gcp/manager.py,
+	  gui/wxpython/gcp/mapdisp.py, gui/wxpython/gcp/mapdisplay.py,
+	  gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py, gui/wxpython/gui_core/dialogs.py,
+	  gui/wxpython/psmap/frame.py, gui/wxpython/psmap/menudata.py,
+	  gui/wxpython/psmap/toolbars.py, gui/wxpython/wxgui.py: wxGUI
+	  major code reorganization (more fixes)
+
+2011-11-25 20:03  martinl
+
+	* lib/gis/parser.c: gislib: menuform.py -> forms.py (see r49347)
+
+2011-11-25 20:02  martinl
+
+	* gui/wxpython/gmodeler/model_file.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/goutput.py, gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/prompt.py, gui/wxpython/gui_core/task.py,
+	  gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py, gui/wxpython/nviz/main.py,
+	  gui/wxpython/nviz/tools.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/vdigit/wxdigit.py: wxGUI major code reorganization
+	  (cont'ed)
+
+2011-11-25 14:58  neteler
+
+	* gui/wxpython/Makefile: fix missing location_wizard files
+	  installation
+
+2011-11-25 05:37  hamish
+
+	* lib/symbol/symbol/extra/n_arrow3: extend center line to arrow tip
+
+2011-11-25 05:17  hamish
+
+	* lib/symbol/symbol/extra/n_arrow3,
+	  lib/symbol/symbol/geology/strike_half-bowtie: two new symbols:
+	  half-bowtie and another north arrow variant (merge from devbr6)
+
+2011-11-24 14:19  martinl
+
+	* gui/wxpython/gui_modules: wxGUI: remove unused 'gui_modules' dir
+
+2011-11-24 14:00  martinl
+
+	* gui/wxpython/gis_set_error.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/tools/update_menudata.py, gui/wxpython/wxgui.py:
+	  wxGUI major code reorganization (part 3)
+
+2011-11-24 13:56  martinl
+
+	* gui/wxpython/core/menudata.py, gui/wxpython/gis_set.py,
+	  gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/menudata.py,
+	  gui/wxpython/gmodeler/model_file.py,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/task.py, gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/lmgr/layertree.py, gui/wxpython/mapdisp/frame.py,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/extensions.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/wxgui.py: wxGUI major code reorganization (part 2)
+
+2011-11-24 11:46  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/core,
+	  gui/wxpython/core/debug.py, gui/wxpython/core/gcmd.py,
+	  gui/wxpython/core/globalvar.py, gui/wxpython/core/menudata.py,
+	  gui/wxpython/core/render.py, gui/wxpython/core/settings.py,
+	  gui/wxpython/core/units.py, gui/wxpython/core/utils.py,
+	  gui/wxpython/core/workspace.py, gui/wxpython/create__init__.py,
+	  gui/wxpython/dbm, gui/wxpython/dbm/dialogs.py,
+	  gui/wxpython/dbm/manager.py, gui/wxpython/dbm/sqlbuilder.py,
+	  gui/wxpython/dbm/vinfo.py, gui/wxpython/gcp,
+	  gui/wxpython/gcp/manager.py, gui/wxpython/gcp/mapdisp.py,
+	  gui/wxpython/gcp/toolbars.py, gui/wxpython/gmodeler,
+	  gui/wxpython/gmodeler/dialogs.py, gui/wxpython/gmodeler/frame.py,
+	  gui/wxpython/gmodeler/model.py,
+	  gui/wxpython/gmodeler/model_file.py,
+	  gui/wxpython/gmodeler/preferences.py, gui/wxpython/gui_core,
+	  gui/wxpython/gui_core/dialogs.py, gui/wxpython/gui_core/forms.py,
+	  gui/wxpython/gui_core/ghelp.py, gui/wxpython/gui_core/goutput.py,
+	  gui/wxpython/gui_core/gselect.py,
+	  gui/wxpython/gui_core/mapdisp.py,
+	  gui/wxpython/gui_core/mapwindow.py,
+	  gui/wxpython/gui_core/menu.py,
+	  gui/wxpython/gui_core/preferences.py,
+	  gui/wxpython/gui_core/prompt.py,
+	  gui/wxpython/gui_core/toolbars.py,
+	  gui/wxpython/gui_core/widgets.py,
+	  gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_base.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/disp_print.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/gpyshell.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_statusbar.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/menu.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/nviz_animation.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_preferences.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/ogc_services.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/states.txt,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/units.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/vclean.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py,
+	  gui/wxpython/gui_modules/wxplot.py,
+	  gui/wxpython/gui_modules/wxplot_dialogs.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/lmgr, gui/wxpython/lmgr/layertree.py,
+	  gui/wxpython/lmgr/menudata.py, gui/wxpython/lmgr/pyshell.py,
+	  gui/wxpython/lmgr/toolbars.py, gui/wxpython/location_wizard,
+	  gui/wxpython/location_wizard/base.py,
+	  gui/wxpython/location_wizard/dialogs.py,
+	  gui/wxpython/location_wizard/wizard.py, gui/wxpython/mapdisp,
+	  gui/wxpython/mapdisp/frame.py, gui/wxpython/mapdisp/gprint.py,
+	  gui/wxpython/mapdisp/mapwindow.py,
+	  gui/wxpython/mapdisp/statusbar.py,
+	  gui/wxpython/mapdisp/toolbars.py, gui/wxpython/modules,
+	  gui/wxpython/modules/colorrules.py,
+	  gui/wxpython/modules/histogram.py,
+	  gui/wxpython/modules/mcalc_builder.py,
+	  gui/wxpython/modules/ogc_services.py,
+	  gui/wxpython/modules/vclean.py, gui/wxpython/nviz,
+	  gui/wxpython/nviz/animation.py, gui/wxpython/nviz/main.py,
+	  gui/wxpython/nviz/mapwindow.py, gui/wxpython/nviz/preferences.py,
+	  gui/wxpython/nviz/tools.py, gui/wxpython/nviz/workspace.py,
+	  gui/wxpython/nviz/wxnviz.py, gui/wxpython/psmap,
+	  gui/wxpython/psmap/dialogs.py, gui/wxpython/psmap/frame.py,
+	  gui/wxpython/psmap/menudata.py, gui/wxpython/psmap/toolbars.py,
+	  gui/wxpython/scripts/r.li.setup.py,
+	  gui/wxpython/scripts/vkrige.py, gui/wxpython/states.txt,
+	  gui/wxpython/tools/update_menudata.py, gui/wxpython/vdigit,
+	  gui/wxpython/vdigit/dialogs.py, gui/wxpython/vdigit/main.py,
+	  gui/wxpython/vdigit/mapwindow.py,
+	  gui/wxpython/vdigit/preferences.py,
+	  gui/wxpython/vdigit/toolbars.py, gui/wxpython/vdigit/wxdigit.py,
+	  gui/wxpython/vdigit/wxdisplay.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxplot, gui/wxpython/wxplot/base.py,
+	  gui/wxpython/wxplot/dialogs.py, gui/wxpython/wxplot/histogram.py,
+	  gui/wxpython/wxplot/profile.py, gui/wxpython/wxplot/scatter.py:
+	  wxGUI major code reorganization
+
+2011-11-23 18:01  annakrat
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: wxGUI: Map Composer:
+	  fixed bug - don't select anything when list of images is empty
+
+2011-11-23 06:28  annakrat
+
+	* gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py: wxGUI: Map Composer:
+	  remove testing code
+
+2011-11-22 22:04  annakrat
+
+	* gui/icons/grass/image-add.png, gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/xml/menudata_psmap.xml,
+	  ps/ps.map/decorations/NorthArrow1.eps,
+	  ps/ps.map/decorations/NorthArrow3.eps,
+	  ps/ps.map/decorations/NorthArrow5.eps,
+	  ps/ps.map/decorations/n_arrow1.eps,
+	  ps/ps.map/decorations/n_arrow1_fancy.eps,
+	  ps/ps.map/decorations/n_arrow2.eps,
+	  ps/ps.map/decorations/north-arrow_1_simple_half_arrow.eps: wxGUI:
+	  Map Composer: add EPS image and north arrow
+
+2011-11-22 18:55  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: attempt to fix
+	  GenBitmapTextButton
+
+2011-11-22 02:19  hamish
+
+	* doc/grass7_arch.png, grass7_arch.png: move layout diagram into
+	  source doc/ dir
+
+2011-11-22 02:09  hamish
+
+	* scripts/d.out.gpsdrive: rm dir too
+
+2011-11-22 02:08  hamish
+
+	* scripts/d.out.gpsdrive/Makefile,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive.html: I've no plans to port
+	  this to grass 7 at this point, and AFAIK I was the only one using
+	  it anyway. If it comes back, I'll probably make it an addons
+	  script
+
+2011-11-21 22:09  neteler
+
+	* raster/r.external.out/r.external.out.html: explain directory
+	  trick (from glynnc)
+
+2011-11-20 11:28  mmetz
+
+	* raster/r.watershed/seg/init_vars.c: r.watershed.seg: fix memory
+	  calculation
+
+2011-11-20 07:18  hamish
+
+	* lib/raster/color_get.c: rm non-ascii char
+
+2011-11-19 22:03  neteler
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po,
+	  locale/po/grassnviz_it.po, locale/po/grasswxpy_it.po: Luca
+	  Delucchi: cont'ed
+
+2011-11-19 20:03  neteler
+
+	* locale/po/grasslibs_ja.po: Naoki Ueda + team: cont'ed
+
+2011-11-19 20:03  neteler
+
+	* locale/po/grassnviz_it.po: fix
+
+2011-11-19 20:00  neteler
+
+	* locale/po/grassmods_de.po: fix
+
+2011-11-19 12:38  hamish
+
+	* general/g.proj/main.c, general/g.proj/output.c: Retain EPSG code,
+	  if available, into a metadata file. NOTE: The EPSG
+	  code is preserved for historical metadata interest only; the
+	  contents
+	  of this file are not used by pj_*() routines at all. (wish #667)
+
+2011-11-19 12:15  hamish
+
+	* lib/gis/README.TYPE: spelling
+
+2011-11-19 11:59  hamish
+
+	* lib/python/raster.py, raster/r.info/main.c,
+	  raster/r.info/r.info.html: Consolidate r.info flags as a basis of
+	  further discussion. flags have been
+	  grouped into (g) raster array definition (eval-safe), (e)
+	  extended metadata
+	  (eval-unsafe), (r) array analysis (currently only range, but
+	  something like
+	  compression yes|no could plausibly be put in there too). Separate
+	  -h history
+	  flag is retained.
+
+2011-11-18 19:37  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py: Changed
+	  core.fata -> core.fatal, thanks to Markus Metz
+
+2011-11-18 11:14  huhabla
+
+	* temporal/t.list/t.list.py: Wrong order - where positioning in the
+	  sql string
+
+2011-11-18 07:53  hamish
+
+	* scripts/r.in.srtm/r.in.srtm.html: url update; USGS SRTM ftp data
+	  site has moved
+
+2011-11-17 15:00  martinl
+
+	* mswindows/osgeo4w/package.sh: fix package.sh, un-comment make
+
+2011-11-17 14:53  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat,
+	  mswindows/osgeo4w/env.bat.tmpl, mswindows/osgeo4w/grass.bat.tmpl,
+	  mswindows/osgeo4w/grass.tmpl, mswindows/osgeo4w/package.sh,
+	  mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: winGRASS: scripts for packaging
+	  simplified
+
+2011-11-17 14:39  martinl
+
+	* include/Make/Install.make: winGRASS: install grass70.py to
+	  GISBASE\etc
+
+2011-11-17 13:33  martinl
+
+	* lib/python/ctypes: ctypes: clean up svn props
+
+2011-11-17 12:48  martinl
+
+	* lib/gis/handler.c: gislib: document error handlers
+
+2011-11-16 21:56  annakrat
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI_nviz_toolbar.jpg: wxNviz: update man page
+
+2011-11-16 20:40  annakrat
+
+	* include/defs/nviz.h: wxNviz: missing include
+
+2011-11-16 20:39  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py, lib/nviz/change_view.c:
+	  wxNviz: fix last commit (forgot to commit changes in nviz
+	  library), change flythrough behaviour
+
+2011-11-16 16:12  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: after successful
+	  installation of the extension update prompt list of commands
+
+2011-11-16 16:02  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: fix extension dialog
+	  for uknown prefixes
+
+2011-11-16 16:02  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_animation.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: simple animation
+	  implemented
+
+2011-11-16 15:18  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: fix default svnurl for
+	  g.extension if not defined
+
+2011-11-16 15:13  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: when remove
+	  extension try to get list of files from xml file first
+	  -> no need for `-f` flag
+
+2011-11-16 12:47  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: `g.extension -g`
+	  enabled by default
+
+2011-11-16 12:45  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: major speed up
+	  when listing extensions (-l/c/g) - using daily updated XML files
+	  from http://grass.osgeo.org/addons instead of parsing html's and
+	  modules itself
+
+2011-11-15 19:03  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: download
+	  precompiled addons on Windows (first attempt)
+
+2011-11-15 18:13  neteler
+
+	* lib/gis/colors/gdd: prettified
+
+2011-11-15 11:12  martinl
+
+	* lib/nviz/draw.c: nvizlib: define GL_CLAMP_TO_EDGE if not defined
+	  (requires opengl >= 1.2)
+
+2011-11-14 18:33  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: some cosmetics in
+	  import/external link dialogs
+
+2011-11-14 16:26  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: dirs are created
+	  by makefile system
+
+2011-11-14 10:46  martinl
+
+	* vector/v.colors/local_proto.h, vector/v.colors/main.c,
+	  vector/v.colors/read_rgb.c, vector/v.colors/v.colors.html,
+	  vector/v.colors/write_rgb.c: v.colors: implement -c flag for
+	  converting existing RGB values stored in attribute table to color
+	  table
+
+2011-11-14 09:29  martinl
+
+	* vector/v.colors/write_rgb.c: v.colors: add rgb column
+	  automatically when doesn't exists
+
+2011-11-14 08:56  mmetz
+
+	* raster/r.drain/Makefile, raster/r.drain/main.c: remove sites
+	  usage
+
+2011-11-14 08:54  mmetz
+
+	* raster/r.drain/main.c: use standard vector library
+
+2011-11-14 08:20  martinl
+
+	* vector/v.distance/cmp.c, vector/v.distance/local_proto.h,
+	  vector/v.distance/main.c, vector/v.distance/print.c: v.distance:
+	  clean up + code reorgranization
+	  update for OGR read access
+
+2011-11-14 08:20  martinl
+
+	* vector/v.db.select/main.c: v.db.select: better check feature type
+	  (-r flag)
+
+2011-11-14 08:19  martinl
+
+	* vector/v.what.rast/local_proto.h, vector/v.what.rast/main.c,
+	  vector/v.what.rast/search.c: v.what.rast: clean up + code
+	  reorgranization
+	  update for OGR read access
+
+2011-11-14 08:18  martinl
+
+	* vector/v.transform/trans.h, vector/v.transform/trans_digit.c:
+	  v.transform: fix headers (libtrans.h has been replaced by
+	  transform.h)
+
+2011-11-14 08:17  martinl
+
+	* vector/v.voronoi/defs.h, vector/v.voronoi/main.c,
+	  vector/v.voronoi/sw_main.c: v.voronoi: clean up
+	  check for points/centroids
+	  use Vect_read_next_line() - major speed for OGR access
+
+2011-11-14 08:16  martinl
+
+	* vector/v.what/main.c, vector/v.what/what.c, vector/v.what/what.h:
+	  v.what: clean up, east_north requires '-' for standard input
+
+2011-11-14 08:14  martinl
+
+	* lib/vector/Vlib/open.c, lib/vector/Vlib/overlap.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c: Vlib:
+	  update constraints which are now hidden in struct
+
+2011-11-14 08:13  martinl
+
+	* lib/vector/Vlib/level_two.c: vlib: add more checks for
+	  Vect_get_centroid_area()
+
+2011-11-14 08:11  martinl
+
+	* lib/vector/Vlib/field.c: vlib: update Vect_set_db_updated() for
+	  OGR access
+
+2011-11-14 08:11  martinl
+
+	* lib/vector/Vlib/constraint.c: vlib: update Vect_*_constraint_*()
+	  fns
+	  introduce Vect_set_constraint_field()
+
+2011-11-14 08:09  martinl
+
+	* lib/vector/Vlib/read.c: vlib: introduce Vect_get_next_line_id()
+
+2011-11-14 08:06  martinl
+
+	* lib/vector/transform/inverse.c, lib/vector/transform/m_mult.c,
+	  lib/vector/transform/transform.c: transformlib: replace librans.h
+	  by transform.h header
+
+2011-11-14 08:05  martinl
+
+	* lib/vector/neta/netalib.dox: netalib: cosmetics in doxygen page
+
+2011-11-14 08:04  martinl
+
+	* lib/python/Makefile: pythonlib: change compilation rule for
+	  setup.py
+
+2011-11-14 08:03  martinl
+
+	* lib/gis/parser.c: gislib: allow opt='-' also for multiple options
+	  (reserved for standard input/output)
+
+2011-11-14 07:58  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI: various import-oriented
+	  fixes
+
+2011-11-14 07:57  martinl
+
+	* lib/sites/sites.c: siteslib: remove unused functions
+	  modules which are still using siteslib should be updated to use
+	  vlib
+	  only v.in.sites is designed to use siteslib (G_oldsites_*)
+
+2011-11-14 07:55  martinl
+
+	* grasslib.dox: doxygen: minor clean up of main page
+
+2011-11-14 07:55  martinl
+
+	* lib/gis/parser_standard_options.c: gislib: introduce
+	  G_define_standard_flag()
+
+2011-11-14 07:53  martinl
+
+	* lib/db/dbmi_client/select.c: dbmilib: fix db_select_CatValArray()
+	  for case `key == col`
+
+2011-11-14 07:51  martinl
+
+	* lib/rst/interp_float/input2d.c: librst: remove redundant sites.h
+	  header
+
+2011-11-14 07:51  martinl
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/hydro.c,
+	  raster/simwe/simlib/random.c: simwe: remove redundant sites.h
+	  header
+
+2011-11-14 07:50  martinl
+
+	* scripts/v.what.vect/v.what.vect.py: v.what.vect: main() returns
+	  exit code of the command
+
+2011-11-14 07:48  martinl
+
+	* scripts/v.what.vect/v.what.vect.py: v.what.vect: fix map's
+	  label/desc
+	  use run_command()
+
+2011-11-14 07:43  martinl
+
+	* include/defs/transform.h, include/transform.h: add missing
+	  headers (after major clean up)
+
+2011-11-14 07:42  martinl
+
+	* Makefile, sites: remove sites modules (GRASS 7 should contain
+	  just v.in.sites at the end)
+
+2011-11-14 07:40  martinl
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in, include/Paintlib.h,
+	  include/V_.h, include/bdlg_bm.h, include/defs/dlg.h,
+	  include/defs/gis.h, include/defs/ibtree.h, include/defs/icon.h,
+	  include/defs/libtrans.h, include/defs/site.h,
+	  include/defs/sitelib.h, include/defs/transform.h,
+	  include/defs/vector.h, include/devlib.h, include/dig_atts.h,
+	  include/dlg.h, include/dlg_bm.h, include/gis.h, include/help.h,
+	  include/ibtree.h, include/icon.h, include/icon_bm.h,
+	  include/label_bm.h, include/libtrans.h, include/lock.h,
+	  include/patterns.h, include/region_bm.h, include/shhopt.h,
+	  include/site.h, include/sitelib.h, include/std_incs.h,
+	  include/transform.h, include/vect/dig_structs.h: clean up include
+	  files
+	  remove unused headers
+	  update doxygen conf files (exlude)
+
+2011-11-14 07:07  hamish
+
+	* raster3d/r3.info/r3.info.main.c: typo
+
+2011-11-14 06:55  hamish
+
+	* lib/python/raster.py, raster/r.info/main.c: undo r49166: units,
+	  vdatum, and title can not be eval'd so needed to be split out. on
+	  doing that it was apparent that -g needs to act the same as
+	  g.region and v.info modules -- basic region info only. -s is
+	  debatable to belong to -g or not, but -gs is very easy if needed.
+
+2011-11-14 06:49  hamish
+
+	* vector/v.info/parse.c, vector/v.info/v.info.html: swap (ie
+	  restore) flags: -g is used throughout for map region info, same
+	  usage as g.region and r.info
+
+2011-11-13 23:58  huhabla
+
+	* lib/temporal/raster3d_metadata_table.sql,
+	  lib/temporal/raster_metadata_table.sql: Allow NULL values for min
+	  and max
+
+2011-11-11 19:29  mmetz
+
+	* lib/lidar/zones.c: lidarlib: fix spline adjustment
+
+2011-11-11 18:00  martinl
+
+	* include/vbuildlib.h: remove unused header
+
+2011-11-11 17:47  martinl
+
+	* include/defs/vector.h: add missing header (r49183)
+
+2011-11-11 17:44  martinl
+
+	* db/db.columns/main.c, db/db.connect/main.c, db/db.copy/main.c,
+	  db/db.createdb/main.c, db/db.databases/main.c,
+	  db/db.describe/main.c, db/db.drivers/main.c, db/db.dropdb/main.c,
+	  db/db.execute/main.c, db/db.select/main.c, db/db.tables/main.c,
+	  include/Makefile, include/P_datetime.h, include/P_site.h,
+	  include/Paintlib.h, include/arraystats.h, include/bitmap.h,
+	  include/blas.h, include/btree.h, include/cdhc.h,
+	  include/cluster.h, include/codes.h, include/colors.h,
+	  include/datetime.h, include/dbmi.h, include/dbmidefs.h,
+	  include/defs, include/defs/Paintlib.h, include/defs/arraystats.h,
+	  include/defs/bitmap.h, include/defs/btree.h, include/defs/cdhc.h,
+	  include/defs/cluster.h, include/defs/colors.h,
+	  include/defs/datetime.h, include/defs/dbmi.h,
+	  include/defs/devlib.h, include/defs/dig_atts.h,
+	  include/defs/display.h, include/defs/dlg.h, include/defs/form.h,
+	  include/defs/gis.h, include/defs/glocale.h, include/defs/gmath.h,
+	  include/defs/gprojects.h, include/defs/ibtree.h,
+	  include/defs/icon.h, include/defs/imagery.h, include/defs/la.h,
+	  include/defs/libtrans.h, include/defs/linkm.h,
+	  include/defs/manage.h, include/defs/neta.h, include/defs/nviz.h,
+	  include/defs/ogsf.h, include/defs/ortholib.h,
+	  include/defs/raster.h, include/defs/raster3d.h,
+	  include/defs/rbtree.h, include/defs/rowio.h,
+	  include/defs/segment.h, include/defs/site.h,
+	  include/defs/sitelib.h, include/defs/spawn.h,
+	  include/defs/sqlp.h, include/defs/stats.h, include/defs/symbol.h,
+	  include/defs/transform.h, include/defs/vedit.h,
+	  include/display.h, include/dlg.h, include/fontcap.h,
+	  include/form.h, include/geom.h, include/gis.h, include/gisdefs.h,
+	  include/glocale.h, include/gmath.h, include/gprojects.h,
+	  include/gstypes.h, include/gsurf.h, include/ibtree.h,
+	  include/icon.h, include/imagedefs.h, include/imagery.h,
+	  include/keyframe.h, include/kftypes.h, include/la.h,
+	  include/libtrans.h, include/linkm.h, include/lock.h,
+	  include/manage.h, include/neta.h, include/nviz.h, include/ogsf.h,
+	  include/ogsf_proto.h, include/ortholib.h, include/raster.h,
+	  include/raster3d.h, include/raster3ddefs.h, include/rasterdefs.h,
+	  include/rbtree.h, include/readsites.h, include/rowio.h,
+	  include/search.h, include/segment.h, include/site.h,
+	  include/sitelib.h, include/spawn.h, include/sqlp.h,
+	  include/stats.h, include/symbol.h, include/transform.h,
+	  include/vbuildlib.h, include/vector.h, include/vedit.h,
+	  lib/btree/free.c, lib/gmath/blas_level_1.c,
+	  lib/gmath/blas_level_2.c, lib/ogsf/GK2.c, lib/ogsf/GP2.c,
+	  lib/ogsf/GS2.c, lib/ogsf/GSX.c, lib/ogsf/GS_util.c,
+	  lib/ogsf/GV2.c, lib/ogsf/GVL2.c, lib/ogsf/Gp3.c, lib/ogsf/Gs3.c,
+	  lib/ogsf/Gv3.c, lib/ogsf/Gvl3.c, lib/ogsf/gk.c, lib/ogsf/gp.c,
+	  lib/ogsf/gpd.c, lib/ogsf/gs.c, lib/ogsf/gs_bm.c,
+	  lib/ogsf/gs_norms.c, lib/ogsf/gs_query.c, lib/ogsf/gsd_cplane.c,
+	  lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_fringe.c,
+	  lib/ogsf/gsd_img_mpeg.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c, lib/ogsf/gsd_label.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c, lib/ogsf/gsd_prim.c,
+	  lib/ogsf/gsd_surf.c, lib/ogsf/gsd_views.c, lib/ogsf/gsd_wire.c,
+	  lib/ogsf/gsdiff.c, lib/ogsf/gsdrape.c, lib/ogsf/gsds.c,
+	  lib/ogsf/gsget.c, lib/ogsf/gsget.h, lib/ogsf/gv.c,
+	  lib/ogsf/gv_quick.c, lib/ogsf/gvd.c, lib/ogsf/gvl.c,
+	  lib/ogsf/gvl_calc.c, lib/ogsf/gvl_calc2.c, lib/ogsf/gvl_file.c,
+	  lib/ogsf/gvld.c, lib/ogsf/trans.c, lib/python/ctypes/Makefile,
+	  misc/m.nviz.image/write_img.c, ps/ps.map/local_proto.h,
+	  visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/interface.h: move prototypes from include/
+	  to include/defs
+
+2011-11-11 14:19  martinl
+
+	* include/Make/Doxyfile_arch_html.in: doxygen: ignore *defs.h
+
+2011-11-11 14:05  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: some improvement
+	  when creating new vector map using digitizer
+	  report time consumption for running command
+
+2011-11-11 13:56  martinl
+
+	* vector/v.edit/args.c: v.edit: standardize flags ('b' is used for
+	  'do not build topo')
+
+2011-11-11 13:30  martinl
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c: vlib: move
+	  generic fns from build_nat.c to build.c
+
+2011-11-11 13:24  martinl
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/write_ogr.c: vlib:
+	  implement V2__add_line_to_topo_ogr()
+
+2011-11-11 09:08  martinl
+
+	* raster/r.info/main.c: r.info: synchronize module description with
+	  v.info
+
+2011-11-10 18:55  martinl
+
+	* lib/vector/Vlib/write_nat.c: vlib: remove redundant debug
+	  messages
+
+2011-11-10 15:40  mmetz
+
+	* display/d.vect/attr.c: martinl: fix #1184
+
+2011-11-10 14:47  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: simplify gcmd.Popen
+	  constructor
+
+2011-11-10 10:47  martinl
+
+	* gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: more
+	  detailed error message when action fails
+
+2011-11-10 09:46  lucadelu
+
+	* lib/python/raster.py, raster/r.info/main.c: standardize r.info
+	  with -g flag for shell output and remove several other flags,
+	  like v.info
+
+2011-11-10 08:33  martinl
+
+	* lib/init/grass.py: grass.py: recover original PS1 (remove mapset)
+
+2011-11-09 21:10  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: parse `v.external
+	  -l` output
+
+2011-11-09 17:41  glynn
+
+	* include/Make/Rules.make: Add $(ARCH_INCDIR)/... to PATH and
+	  PYTHONPATH
+
+2011-11-09 17:13  martinl
+
+	* lib/vector/Vlib/write_nat.c: vlib: V2__add_line_to_topo_nat() -
+	  simplify condition logic (cosmetics)
+
+2011-11-09 15:41  martinl
+
+	* gui/wxpython/build_ext.py: wxGUI: remove unused file
+
+2011-11-09 14:12  huhabla
+
+	* temporal/Makefile, temporal/tr.to.rast3/tr.to.rast3.py,
+	  temporal/tr.univar, temporal/tr.univar/Makefile,
+	  temporal/tr.univar/test.tr.univar.sh,
+	  temporal/tr.univar/tr.univar.html,
+	  temporal/tr.univar/tr.univar.py: New simple module to compute
+	  univariate statistics of a space time
+	  arster dataest.
+
+2011-11-09 10:43  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: customization
+	  in progress (second part)
+
+2011-11-08 23:12  huhabla
+
+	* temporal/Makefile, temporal/tr.to.rast3,
+	  temporal/tr.to.rast3/Makefile,
+	  temporal/tr.to.rast3/test.tr.to.rast3.sh,
+	  temporal/tr.to.rast3/tr.to.rast3.html,
+	  temporal/tr.to.rast3/tr.to.rast3.py: New module to convert space
+	  time raster datasets into raster3d maps
+
+2011-11-08 22:33  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py: Fixed bug in
+	  sample by granularity
+
+2011-11-08 21:24  neteler
+
+	* db/db.columns/db.columns.html, db/db.connect/db.connect.html,
+	  db/db.copy/db.copy.html, db/db.createdb/db.createdb.html,
+	  db/db.drivers/db.drivers.html, db/db.execute/db.execute.html,
+	  db/db.login/db.login.html, db/db.select/db.select.html,
+	  db/db.tables/db.tables.html, display/d.barscale/d.barscale.html,
+	  display/d.colorlist/d.colorlist.html,
+	  display/d.colors/d.colors.html,
+	  display/d.colortable/d.colortable.html,
+	  display/d.erase/d.erase.html, display/d.font/d.font.html,
+	  display/d.fontlist/d.fontlist.html,
+	  display/d.geodesic/d.geodesic.html, display/d.graph/d.graph.html,
+	  display/d.grid/d.grid.html, display/d.his/d.his.html,
+	  display/d.histogram/d.histogram.html, display/d.info/d.info.html,
+	  display/d.labels/d.labels.html, display/d.legend/d.legend.html,
+	  display/d.linegraph/d.linegraph.html,
+	  display/d.measure/d.measure.html, display/d.mon/d.mon.html,
+	  display/d.path/d.path.html,
+	  display/d.rast.arrow/d.rast.arrow.html,
+	  display/d.rast.num/d.rast.num.html, display/d.rast/d.rast.html,
+	  display/d.rgb/d.rgb.html, display/d.rhumbline/d.rhumbline.html,
+	  display/d.text/d.text.html,
+	  display/d.thematic.area/d.thematic.area.html,
+	  display/d.title/d.title.html, display/d.vect/d.vect.html,
+	  display/d.what.rast/d.what.rast.html,
+	  display/d.what.vect/d.what.vect.html,
+	  display/d.where/d.where.html, display/d.zoom/d.zoom.html,
+	  doc/vector/v.modules.html, doc/vector/vector.html,
+	  general/g.access/g.access.html, general/g.copy/g.copy.html,
+	  general/g.filename/g.filename.html,
+	  general/g.findetc/g.findetc.html,
+	  general/g.findfile/g.findfile.html,
+	  general/g.gisenv/g.gisenv.html, general/g.gui/g.gui.html,
+	  general/g.list/g.list.html, general/g.mapsets/g.mapsets.html,
+	  general/g.message/g.message.html,
+	  general/g.mkfontcap/g.mkfontcap.html,
+	  general/g.mlist/g.mlist.html, general/g.mremove/g.mremove.html,
+	  general/g.parser/g.parser.html, general/g.pnmcat/g.pnmcat.html,
+	  general/g.proj/g.proj.html, general/g.region/g.region.html,
+	  general/g.remove/g.remove.html, general/g.rename/g.rename.html,
+	  general/g.setproj/g.setproj.html,
+	  general/g.tempfile/g.tempfile.html,
+	  general/g.version/g.version.html, imagery/i.albedo/i.albedo.html,
+	  imagery/i.aster.toar/i.aster.toar.html,
+	  imagery/i.atcorr/i.atcorr.html, imagery/i.biomass/i.biomass.html,
+	  imagery/i.cca/i.cca.html, imagery/i.class/i.class.html,
+	  imagery/i.cluster/i.cluster.html, imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html,
+	  imagery/i.eb.netrad/i.eb.netrad.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.emissivity/i.emissivity.html,
+	  imagery/i.evapo.mh/i.evapo.mh.html,
+	  imagery/i.evapo.pm/i.evapo.pm.html,
+	  imagery/i.evapo.pt/i.evapo.pt.html,
+	  imagery/i.evapo.time/i.evapo.time.html, imagery/i.fft/i.fft.html,
+	  imagery/i.gensig/i.gensig.html,
+	  imagery/i.gensigset/i.gensigset.html,
+	  imagery/i.group/i.group.html, imagery/i.his.rgb/i.his.rgb.html,
+	  imagery/i.ifft/i.ifft.html,
+	  imagery/i.landsat.acca/i.landsat.acca.html,
+	  imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.latlong/i.latlong.html, imagery/i.maxlik/i.maxlik.html,
+	  imagery/i.modis.qc/i.modis.qc.html, imagery/i.pca/i.pca.html,
+	  imagery/i.points/i.points.html, imagery/i.rectify/i.rectify.html,
+	  imagery/i.rgb.his/i.rgb.his.html, imagery/i.smap/i.smap.html,
+	  imagery/i.sunhours/i.sunhours.html,
+	  imagery/i.target/i.target.html, imagery/i.vi/i.vi.html,
+	  imagery/i.vpoints/i.vpoints.html, imagery/i.zc/i.zc.html,
+	  lib/cairodriver/cairodriver.html, lib/htmldriver/htmldriver.html,
+	  lib/init/grass7.html, lib/init/helptext.html,
+	  lib/init/variables.html, lib/pngdriver/pngdriver.html,
+	  lib/psdriver/psdriver.html, lib/vector/vectorascii.html,
+	  misc/m.cogo/m.cogo.html, misc/m.measure/m.measure.html,
+	  misc/m.nviz.image/m.nviz.image.html,
+	  misc/m.nviz.script/m.nviz.script.html,
+	  misc/m.transform/m.transform.html, ps/ps.map/ps.map.html,
+	  raster/r.basins.fill/r.basins.fill.html,
+	  raster/r.bitpattern/r.bitpattern.html,
+	  raster/r.buffer/r.buffer2.html,
+	  raster/r.category/r.category.html, raster/r.circle/r.circle.html,
+	  raster/r.clump/r.clump.html, raster/r.coin/r.coin.html,
+	  raster/r.colors.out/r.colors.out.html,
+	  raster/r.colors.out/r3.colors.out.html,
+	  raster/r.colors/r.colors.html, raster/r.colors/r3.colors.html,
+	  raster/r.composite/r.composite.html,
+	  raster/r.compress/r.compress.html, raster/r.cost/r.cost.html,
+	  raster/r.covar/r.covar.html, raster/r.cross/r.cross.html,
+	  raster/r.describe/r.describe.html, raster/r.digit/r.digit.html,
+	  raster/r.distance/r.distance.html, raster/r.drain/r.drain.html,
+	  raster/r.external.out/r.external.out.html,
+	  raster/r.external/r.external.html,
+	  raster/r.fill.dir/r.fill.dir.html, raster/r.flow/r.flow.html,
+	  raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.grow/r.grow.html, raster/r.gwflow/r.gwflow.html,
+	  raster/r.his/r.his.html, raster/r.horizon/r.horizon.html,
+	  raster/r.in.arc/r.in.arc.html, raster/r.in.ascii/r.in.ascii.html,
+	  raster/r.in.bin/r.in.bin.html, raster/r.in.gdal/r.in.gdal.html,
+	  raster/r.in.gridatb/r.in.gridatb.html,
+	  raster/r.in.lidar/r.in.lidar.html, raster/r.in.mat/r.in.mat.html,
+	  raster/r.in.png/r.in.png.html, raster/r.in.poly/r.in.poly.html,
+	  raster/r.in.xyz/r.in.xyz.html, raster/r.info/r.info.html,
+	  raster/r.kappa/r.kappa.html, raster/r.lake/r.lake.html,
+	  raster/r.li/r.li.html, raster/r.los/r.los.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.mfilter/r.mfilter.html, raster/r.mode/r.mode.html,
+	  raster/r.neighbors/r.neighbors.html, raster/r.null/r.null.html,
+	  raster/r.out.arc/r.out.arc.html,
+	  raster/r.out.ascii/r.out.ascii.html,
+	  raster/r.out.bin/r.out.bin.html,
+	  raster/r.out.gdal/r.out.gdal.html,
+	  raster/r.out.gridatb/r.out.gridatb.html,
+	  raster/r.out.mpeg/r.out.mpeg.html,
+	  raster/r.out.png/r.out.png.html, raster/r.out.pov/r.out.pov.html,
+	  raster/r.out.ppm/r.out.ppm.html,
+	  raster/r.out.ppm3/r.out.ppm3.html,
+	  raster/r.out.tiff/r.out.tiff.html,
+	  raster/r.out.vrml/r.out.vrml.html,
+	  raster/r.param.scale/r.param.scale.html,
+	  raster/r.patch/r.patch.html, raster/r.profile/r.profile.html,
+	  raster/r.proj/r.proj.html, raster/r.quant/r.quant.html,
+	  raster/r.quantile/r.quantile.html,
+	  raster/r.random.cells/r.random.cells.html,
+	  raster/r.random.surface/r.random.surface.html,
+	  raster/r.random/r.random.html, raster/r.reclass/r.reclass.html,
+	  raster/r.recode/r.recode.html, raster/r.region/r.region.html,
+	  raster/r.regression.line/r.regression.line.html,
+	  raster/r.report/r.report.html,
+	  raster/r.resamp.bspline/r.resamp.bspline.html,
+	  raster/r.resamp.filter/r.resamp.filter.html,
+	  raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.resamp.rst/r.resamp.rst.html,
+	  raster/r.resamp.stats/r.resamp.stats.html,
+	  raster/r.resample/r.resample.html, raster/r.ros/r.ros.html,
+	  raster/r.series/r.series.html,
+	  raster/r.slope.aspect/r.slope.aspect.html,
+	  raster/r.solute.transport/r.solute.transport.html,
+	  raster/r.spread/r.spread.html,
+	  raster/r.spreadpath/r.spreadpath.html,
+	  raster/r.statistics/r.statistics.html,
+	  raster/r.statistics3/r.statistics3.html,
+	  raster/r.stats/r.stats.html, raster/r.sun/r.sun.html,
+	  raster/r.sunmask/r.sunmask.html, raster/r.support/r.support.html,
+	  raster/r.surf.area/r.surf.area.html,
+	  raster/r.surf.contour/r.surf.contour.html,
+	  raster/r.surf.fractal/r.surf.fractal.html,
+	  raster/r.surf.gauss/r.surf.gauss.html,
+	  raster/r.surf.idw/r.surf.idw.html,
+	  raster/r.surf.idw2/r.surf.idw2.html,
+	  raster/r.surf.random/r.surf.random.html,
+	  raster/r.terraflow/r.terraflow.html,
+	  raster/r.texture/r.texture.html, raster/r.thin/r.thin.html,
+	  raster/r.timestamp/r.timestamp.html,
+	  raster/r.to.vect/r.to.vect.html, raster/r.topidx/r.topidx.html,
+	  raster/r.topmodel/r.topmodel.html,
+	  raster/r.transect/r.transect.html, raster/r.univar/r.univar.html,
+	  raster/r.univar/r3.univar.html, raster/r.uslek/r.uslek.html,
+	  raster/r.usler/r.usler.html, raster/r.volume/r.volume.html,
+	  raster/r.walk/r.walk.html,
+	  raster/r.water.outlet/r.water.outlet.html,
+	  raster/r.what.color/r.what.color.html, raster/r.what/r.what.html,
+	  raster3d/r3.cross.rast/r3.cross.rast.html,
+	  raster3d/r3.gwflow/r3.gwflow.html,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.in.v5d/r3.in.v5d.html, raster3d/r3.mask/r3.mask.html,
+	  raster3d/r3.mkdspf/r3.mkdspf.html,
+	  raster3d/r3.out.ascii/r3.out.ascii.html,
+	  raster3d/r3.out.v5d/r3.out.v5d.html,
+	  raster3d/r3.out.vtk/r3.out.vtk.html,
+	  raster3d/r3.showdspf/r3.showdspf.html,
+	  raster3d/r3.showdspf/r3.showdspf_opengl_mods.html,
+	  raster3d/r3.stats/r3.stats.html,
+	  raster3d/r3.timestamp/r3.timestamp.html,
+	  scripts/d.correlate/d.correlate.html,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive.html,
+	  scripts/d.polar/d.polar.html,
+	  scripts/d.rast.edit/d.rast.edit.html,
+	  scripts/d.rast.leg/d.rast.leg.html,
+	  scripts/d.redraw/d.redraw.html,
+	  scripts/d.shadedmap/d.shadedmap.html,
+	  scripts/d.vect.thematic/d.vect.thematic.html,
+	  scripts/db.dropcolumn/db.dropcolumn.html,
+	  scripts/db.droptable/db.droptable.html,
+	  scripts/db.in.ogr/db.in.ogr.html,
+	  scripts/db.out.ogr/db.out.ogr.html, scripts/db.test/db.test.html,
+	  scripts/g.extension/g.extension.html,
+	  scripts/i.fusion.brovey/i.fusion.brovey.html,
+	  scripts/i.in.spotvgt/i.in.spotvgt.html,
+	  scripts/i.landsat.rgb/i.landsat.rgb.html,
+	  scripts/i.oif/i.oif.html, scripts/i.tasscap/i.tasscap.html,
+	  scripts/m.proj/m.proj.html, scripts/r.blend/r.blend.html,
+	  scripts/r.buffer/r.buffer.html,
+	  scripts/r.colors.stddev/r.colors.stddev.html,
+	  scripts/r.fillnulls/r.fillnulls.html, scripts/r.grow/r.grow.html,
+	  scripts/r.in.srtm/r.in.srtm.html, scripts/r.in.wms/r.in.wms.html,
+	  scripts/r.mapcalculator/r.mapcalculator.html,
+	  scripts/r.mask/r.mask.html, scripts/r.out.xyz/r.out.xyz.html,
+	  scripts/r.pack/r.pack.html, scripts/r.plane/r.plane.html,
+	  scripts/r.shaded.relief/r.shaded.relief.html,
+	  scripts/r.tileset/r.tileset.html, scripts/r.unpack/r.unpack.html,
+	  scripts/r3.mapcalculator/r3.mapcalculator.html,
+	  scripts/v.build.all/v.build.all.html,
+	  scripts/v.centroids/v.centroids.html,
+	  scripts/v.convert.all/v.convert.all.html,
+	  scripts/v.db.addcolumn/v.db.addcolumn.html,
+	  scripts/v.db.addtable/v.db.addtable.html,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.html,
+	  scripts/v.db.droptable/v.db.droptable.html,
+	  scripts/v.db.join/v.db.join.html,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.html,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.html,
+	  scripts/v.db.univar/v.db.univar.html,
+	  scripts/v.db.update/v.db.update.html,
+	  scripts/v.dissolve/v.dissolve.html,
+	  scripts/v.in.geonames/v.in.geonames.html,
+	  scripts/v.in.gns/v.in.gns.html, scripts/v.in.gps/v.in.gps.html,
+	  scripts/v.in.lines/v.in.lines.html,
+	  scripts/v.in.mapgen/v.in.mapgen.html,
+	  scripts/v.in.sites.all/v.in.sites.all.html,
+	  scripts/v.in.wfs/v.in.wfs.html, scripts/v.krige/v.krige.html,
+	  scripts/v.out.gps/v.out.gps.html,
+	  scripts/v.rast.stats/v.rast.stats.html,
+	  scripts/v.report/v.report.html,
+	  scripts/v.what.vect/v.what.vect.html,
+	  scripts/wxpyimgview/wxpyimgview.html,
+	  sites/s.in.ascii/s.in.ascii.html,
+	  sites/s.out.ascii/s.out.ascii.html,
+	  vector/v.buffer/v.buffer.html,
+	  vector/v.build.polylines/v.build.polylines.html,
+	  vector/v.build/v.build.html, vector/v.category/v.category.html,
+	  vector/v.class/v.class.html, vector/v.clean/v.clean.html,
+	  vector/v.colors.out/v.colors.out.html,
+	  vector/v.colors/v.colors.html, vector/v.convert/v.convert.html,
+	  vector/v.db.connect/v.db.connect.html,
+	  vector/v.db.select/v.db.select.html,
+	  vector/v.delaunay/v.delaunay.html,
+	  vector/v.distance/v.distance.html, vector/v.drape/v.drape.html,
+	  vector/v.edit/v.edit.html,
+	  vector/v.external.out/v.external.out.html,
+	  vector/v.external/v.external.html,
+	  vector/v.extract/v.extract.html, vector/v.extrude/v.extrude.html,
+	  vector/v.generalize/v.generalize.html, vector/v.hull/v.hull.html,
+	  vector/v.in.ascii/v.in.ascii.html, vector/v.in.db/v.in.db.html,
+	  vector/v.in.dwg/v.in.dwg.html, vector/v.in.dxf/v.in.dxf.html,
+	  vector/v.in.lidar/v.in.lidar.html, vector/v.in.ogr/v.in.ogr.html,
+	  vector/v.info/v.info.html, vector/v.kcv/v.kcv.html,
+	  vector/v.kernel/v.kernel.html, vector/v.label.sa/v.label.sa.html,
+	  vector/v.label/v.label.html,
+	  vector/v.lidar.edgedetection/v.lidar.edgedetection.html,
+	  vector/v.lrs/lrs.html, vector/v.mkgrid/v.mkgrid.html,
+	  vector/v.neighbors/v.neighbors.html,
+	  vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.allpairs/v.net.allpairs.html,
+	  vector/v.net.bridge/v.net.bridge.html,
+	  vector/v.net.centrality/v.net.centrality.html,
+	  vector/v.net.components/v.net.components.html,
+	  vector/v.net.connectivity/v.net.connectivity.html,
+	  vector/v.net.distance/v.net.distance.html,
+	  vector/v.net.flow/v.net.flow.html,
+	  vector/v.net.iso/v.net.iso.html,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.spanningtree/v.net.spanningtree.html,
+	  vector/v.net.steiner/v.net.steiner.html,
+	  vector/v.net.timetable/v.net.timetable.html,
+	  vector/v.net.visibility/v.net.visibility.html,
+	  vector/v.net/v.net.html, vector/v.normal/v.normal.html,
+	  vector/v.out.ascii/v.out.ascii.html,
+	  vector/v.out.dxf/v.out.dxf.html, vector/v.out.ogr/v.out.ogr.html,
+	  vector/v.out.svg/v.out.svg.html, vector/v.out.vtk/v.out.vtk.html,
+	  vector/v.outlier/v.outlier.html, vector/v.overlay/v.overlay.html,
+	  vector/v.parallel/v.parallel.html, vector/v.patch/v.patch.html,
+	  vector/v.perturb/v.perturb.html, vector/v.proj/v.proj.html,
+	  vector/v.qcount/v.qcount.html, vector/v.random/v.random.html,
+	  vector/v.reclass/v.reclass.html, vector/v.sample/v.sample.html,
+	  vector/v.segment/v.segment.html, vector/v.select/v.select.html,
+	  vector/v.support/v.support.html,
+	  vector/v.surf.bspline/v.surf.bspline.html,
+	  vector/v.surf.idw/v.surf.idw.html,
+	  vector/v.surf.rst/v.surf.rst.html,
+	  vector/v.to.3d/description.html, vector/v.to.3d/v.to.3d.html,
+	  vector/v.to.db/v.to.db.html, vector/v.to.points/v.to.points.html,
+	  vector/v.to.rast/v.to.rast.html,
+	  vector/v.to.rast3/v.to.rast3.html,
+	  vector/v.transform/v.transform.html, vector/v.type/v.type.html,
+	  vector/v.univar/v.univar.html,
+	  vector/v.vect.stats/v.vect.stats.html,
+	  vector/v.vol.rst/v.vol.rst.html, vector/v.voronoi/v.voronoi.html,
+	  vector/v.what.rast/v.what.rast.html, vector/v.what/v.what.html,
+	  visualization/wximgview/wximgview.html,
+	  visualization/xganim/xganim.html,
+	  visualization/ximgview/ximgview.html: avoid caps HTML tags
+
+2011-11-08 13:58  mmetz
+
+	* imagery/i.pca/main.c: small code cleanup
+
+2011-11-08 12:45  mmetz
+
+	* imagery/i.pca/main.c: sync to r.covar, speed up
+
+2011-11-08 11:11  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, lib/python/task.py: wxGUI:
+	  fix #1485 and #1380 (WxGUI, menu does not work at all (languages
+	  using double-byte characters))
+	  (merge r49141 from relbr64)
+
+2011-11-08 09:58  neteler
+
+	* imagery/i.fft/i.fft.html: fixed broken URL
+
+2011-11-08 09:29  neteler
+
+	* imagery/i.fft/i.fft.html: NC example added
+
+2011-11-06 19:30  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: first steps
+	  towards vector digitizer customization
+
+2011-11-06 10:54  martinl
+
+	* doc/vector/TODO: Radim's TODO: add some up-to-date notes
+
+2011-11-06 10:33  martinl
+
+	* lib/vector/Vlib/read_ogr.c: vlib: avoid double-check of
+	  constraints in Vect_read_next_line_ogr()
+
+2011-11-05 22:12  martinl
+
+	* display/d.vect/lines.c: d.vect: centroids are read by
+	  Vect_read_next_line()
+
+2011-11-05 22:11  martinl
+
+	* lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c: vlib:
+	  rewrite Vect_read_next_line_ogr() to read features from topology
+	  structures
+
+2011-11-05 17:37  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: https -> http
+
+2011-11-05 14:56  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: simplify calculation of sash
+	  position for command output
+	  (merge r49110 from devbr6)
+
+2011-11-05 13:37  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix r49104
+
+2011-11-05 11:41  neteler
+
+	* lib/python/pythonlib.dox: link to the GRASS Wiki
+
+2011-11-05 06:24  cmbarton
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxgui: fix splitter window problem in command output page of
+	  module dialogs.
+
+2011-11-04 22:06  neteler
+
+	* lib/python/array.py: +code example
+
+2011-11-04 15:01  ychemin
+
+	* imagery/i.vi/main.c: Added combo box for DN_storage_bits
+
+2011-11-04 13:41  mmetz
+
+	* imagery/i.pca/i.pca.html, imagery/i.pca/main.c: fix NULL handling
+
+2011-11-04 10:32  mmetz
+
+	* imagery/i.pca/i.pca.html, imagery/i.pca/main.c,
+	  imagery/i.pca/support.c: add option for normalization, fix
+	  output, update manual
+
+2011-11-04 10:16  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: revert r49087
+	  1) to put "clear" button to the main button sizer is not good
+	  idea, the button is related only to command output, to show this
+	  button when other tabs are selected can be very confusing for
+	  the user
+	  2) unsplit causes that other buttons are not shown (eg. "Stop
+	  running command")
+
+2011-11-04 05:17  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: wxgui: remove unneeded
+	  output window split and command prompt buttons from module
+	  dialogs. Add clear output button to button sizer.
+
+2011-11-03 20:28  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: add missing
+	  parameters, avoid DB error when loading rules is stopped
+
+2011-11-03 19:58  annakrat
+
+	* lib/ogsf/Gp3.c, lib/ogsf/Gv3.c: libogsf: don't crash in case of
+	  missing value in color column
+
+2011-11-03 19:53  annakrat
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxNviz: forgot to commit in
+	  r49082
+
+2011-11-03 19:35  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxNviz: thematic mapping
+	  - use GRASSRGB if available without opening thematic dialog
+
+2011-11-03 18:02  mmetz
+
+	* imagery/i.pca/main.c: NULL/MASK fix, code cleanup
+
+2011-11-03 16:05  ychemin
+
+	* imagery/i.vi/main.c: linear stretch from 0-dnbits to 0.0-1.0 if
+	  an optional value dnbits is detected. M.Barton provided the GUI
+	  combo box selector.
+
+2011-11-03 15:43  ychemin
+
+	* imagery/i.vi/main.c: Fixed segfault from MSAVI parameters input
+	  collection
+
+2011-11-03 15:30  ychemin
+
+	* imagery/i.vi/i.vi.html: Added informative statement to new remote
+	  sensing users about DN->Rad->RefSurf with links to i.aster.toar,
+	  i.landsat.toar and i.atcorr
+
+2011-11-03 13:15  huhabla
+
+	* temporal/tr.sample: Functionality merged into t.sample
+
+2011-11-03 13:05  huhabla
+
+	* temporal/t.sample, temporal/t.sample/Makefile,
+	  temporal/t.sample/t.sample.html, temporal/t.sample/t.sample.py,
+	  temporal/t.sample/test.t.sample.sh: Generalized the sample
+	  algorithm, a single module can handle all sample
+	  cases now.
+
+2011-11-03 13:00  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Sampling of
+	  datasets is now more fine grain and more specific
+
+2011-11-03 12:37  martinl
+
+	* display/d.vect/dir.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c: d.vect: customize dir size
+
+2011-11-03 12:06  martinl
+
+	* lib/vector/Vlib/build_nat.c: vlib: Vect_build_nat() - use
+	  G_progress()
+
+2011-11-03 12:05  martinl
+
+	* vector/v.colors/main.c, vector/v.colors/scan_cats.c,
+	  vector/v.colors/write_rgb.c: v.colors: add progress info messages
+
+2011-11-03 12:04  martinl
+
+	* include/gisdefs.h, lib/gis/percent.c: libgis: add G_progress()
+	  update doxygen strings for percent.c
+
+2011-11-03 09:47  martinl
+
+	* lib/ogsf/GP2.c, lib/ogsf/Gp3.c, lib/ogsf/Gv3.c,
+	  misc/m.nviz.image/vector.c: libogsf: fix thematic mapping of
+	  features without category or without DB link
+	  m.nviz.image: update module
+
+2011-11-03 08:20  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI: adjust layer item
+	  window align workaround
+	  (merge r49065 from devbr6)
+
+2011-11-02 22:41  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: fix problematic
+	  string (wrong translation can break adding new map layers)
+	  (merge r49060 from devbr6)
+
+2011-11-02 21:39  huhabla
+
+	* temporal/tr.sample/test.tr.sample.sh: Test update
+
+2011-11-02 21:39  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py: Handle point,
+	  interval and mixed temporal map types while temporal sampling
+
+2011-11-02 21:33  huhabla
+
+	* temporal/tr.sample, temporal/tr.sample/Makefile,
+	  temporal/tr.sample/test.tr.sample.sh,
+	  temporal/tr.sample/tr.sample.html,
+	  temporal/tr.sample/tr.sample.py: Added module for temporal
+	  sampling of raster space time datasets.
+
+2011-11-02 21:32  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Added temporal
+	  sampling methods.
+
+2011-11-02 20:51  ychemin
+
+	* imagery/i.vi/gari.c, imagery/i.vi/main.c, imagery/i.vi/msavi.c,
+	  imagery/i.vi/msavi2.c: Added full configuration of MSAVI
+
+2011-11-02 19:40  martinl
+
+	* gui/wxpython/gui_modules/goutput.py, gui/wxpython/wxgui.py: fix
+	  sash position on Windows
+	  (merge r49053 from devbr6)
+
+2011-11-02 17:07  ychemin
+
+	* imagery/i.vi/main.c: Added case insensitive string comparison
+
+2011-11-02 15:12  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: check also
+	  parametrized options
+	  (merge r49049 from devbr6)
+
+2011-11-02 15:11  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: improve time
+	  formatting (when command finished)
+	  (merge r49048 from devbr6)
+
+2011-11-02 13:12  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: disable
+	  checking variables in file (this should be optional only)
+	  (merge r49046 from devbr6)
+
+2011-11-02 12:42  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py: wxGUI/modeler: better
+	  variable substitution for input files
+	  (merge r49044 from devbr6)
+
+2011-11-01 15:21  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: better check
+	  for substituting variables
+	  (merge r49039 from devbr6)
+
+2011-11-01 13:12  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: load file
+	  to interactive input widget
+	  (merge r49036 from devbr6)
+
+2011-11-01 11:05  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI/add maps: fix ltype
+	  (merge r49033 from devbr6)
+
+2011-11-01 09:42  neteler
+
+	* lib/proj/convert.c: yet another funny ETRS89 spelling
+
+2011-11-01 07:57  ychemin
+
+	* imagery/i.vi/main.c: added switch for input data types other than
+	  double
+
+2011-10-31 16:31  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix AddMaps() / add support for 3D
+	  raster map layers
+	  (merge r49024 from devbr6)
+
+2011-10-31 15:52  ychemin
+
+	* imagery/i.vi/main.c: added switch for input data types other than
+	  double
+
+2011-10-31 13:02  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI/layertree: unselect
+	  when changing visibility of map layer
+	  (merge r49018 from devbr6)
+
+2011-10-31 13:01  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mcalc: button
+	  minor changes
+	  (merge r49017 from trunk)
+
+2011-10-30 21:28  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: colorize
+	  "run" button
+	  (merge r49013 from devbr6)
+
+2011-10-30 21:26  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix variable
+	  substitution
+	  (merge r49012 from devbr6)
+
+2011-10-30 20:30  martinl
+
+	* imagery/i.landsat.acca/main.c: i.landsat.acca: cosmetics in
+	  module description
+
+2011-10-30 17:32  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI: fix indeces of
+	  dialog pages
+
+2011-10-30 12:25  annakrat
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: wxGUI:map composer -
+	  fixed #1483
+
+2011-10-30 09:58  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp_statusbar.py: wxGUI: fixed
+	  removing/inserting statusbar items when switching 2D/3D view
+
+2011-10-29 22:13  martinl
+
+	* gui/wxpython/gui_modules/menu.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: implement customizable id
+	  for menu items
+
+2011-10-29 21:59  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: default
+	  varible type changed from 'integer' to 'string'
+
+2011-10-29 21:56  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: use wx.ID_STOP
+	  instead of "Abort"
+
+2011-10-29 21:19  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: substitute
+	  variables also in input files (ascii)
+
+2011-10-29 18:20  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: add extra
+	  linesep for interactive input
+
+2011-10-29 18:16  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: allow to
+	  save text from interactive input
+
+2011-10-29 17:04  martinl
+
+	* lib/python/task.py: pythonlib: fix `ignoreDefault` in
+	  task.get_cmd()
+
+2011-10-29 16:51  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/gmodeler: auto-complete
+	  - check for 'entity'
+
+2011-10-29 16:33  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py, lib/python/task.py: wxGUI:
+	  show optionally also default values for commands
+
+2011-10-29 16:09  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: auto-complete
+	  mapsets
+
+2011-10-27 21:57  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome screen: check reserved
+	  mapsets (OGR)
+
+2011-10-27 19:25  neteler
+
+	* scripts/v.what.vect/v.what.vect.html: fix example description
+
+2011-10-27 19:23  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_preferences.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/icons/icon.py,
+	  include/nviz.h, lib/nviz/change_view.c: wxNviz: fly-through mode
+	  added
+
+2011-10-27 16:47  huhabla
+
+	* temporal/Makefile, temporal/t.time.rel/test.t.time.rel.sh,
+	  temporal/t.topology/t.topology.py,
+	  temporal/t.topology/test.t.topology.abstime.sh,
+	  temporal/t.topology/test.t.topology.reltime.sh,
+	  temporal/t.topology/test.t.topology.sh,
+	  temporal/tr.list/test.tr.list.sh, temporal/tr.list/tr.list.py,
+	  temporal/tr.out.vtk, temporal/tr.out.vtk/Makefile,
+	  temporal/tr.out.vtk/test.tr.out.vtk.sh,
+	  temporal/tr.out.vtk/tr.out.vtk.html,
+	  temporal/tr.out.vtk/tr.out.vtk.py, temporal/tr3.list/tr3.list.py,
+	  temporal/tv.list/tv.list.py: New VTK time series export modules.
+	  New option for tr.list: sample space
+	  time datasets with granularity. Bug fixing and tests.
+
+2011-10-27 16:46  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/temporal_extent.py: Bug fixing. New method to
+	  sample a spcae time dataset by granularity.
+
+2011-10-27 16:32  martinl
+
+	* vector/v.build/main.c: v.build: cannot support direct read access
+	  to OGR layers
+
+2011-10-27 15:44  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI/about: hyperlink for
+	  project site
+
+2011-10-27 13:34  martinl
+
+	* display/d.vect/topo.c: d.vect: revert r48453
+
+2011-10-27 11:19  martinl
+
+	* lib/vector/Vlib/map.c: vlib: Vect_copy_map_lines() support for
+	  OGR output added
+
+2011-10-27 11:17  martinl
+
+	* lib/vector/diglib/plus_area.c: vlib: typo in message
+
+2011-10-27 11:16  martinl
+
+	* lib/vector/Vlib/build_ogr.c: vlib: Vect_build_ogr() support other
+	  build levels
+
+2011-10-27 11:16  martinl
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c: vlib:
+	  Vect_topo_dump() add separator
+
+2011-10-27 09:12  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/ColorRules:
+	  cosmetics in layout (define growable widgets)
+
+2011-10-26 20:50  neteler
+
+	* imagery/i.cluster/i.cluster.html, imagery/i.group/i.group.html,
+	  imagery/i.maxlik/i.maxlik.html, imagery/i.rectify/i.rectify.html,
+	  imagery/i.target/i.target.html, scripts/r.in.srtm/r.in.srtm.html,
+	  vector/v.qcount/v.qcount.html, vector/v.sample/v.sample.html,
+	  vector/v.to.points/v.to.points.html: HTML prettified
+
+2011-10-26 18:27  mmetz
+
+	* vector/v.perturb/main.c: v.perturb: support for massive point
+	  datasets
+
+2011-10-26 11:59  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: don't try to
+	  add new attribute record when no attribute table is defined
+
+2011-10-26 09:18  martinl
+
+	* vector/v.select/main.c: v.select: use Vect_copy_map_dblinks()
+
+2011-10-26 09:14  martinl
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: v.extract:
+	  use Vect_copy_map_dblinks()
+
+2011-10-26 09:06  martinl
+
+	* vector/v.clean/main.c: v.clean: updated for OGR write access
+	  clean up (opt, flag)
+
+2011-10-26 09:05  martinl
+
+	* include/vect/dig_defines.h, include/vector.h,
+	  lib/vector/Vlib/field.c: vlib: add Vect_copy_map_dblinks()
+	  fix Vect_get_field2() for -1 (all layers)
+
+2011-10-25 21:16  martinl
+
+	* lib/vector/Vlib/write_ogr.c: vlib: use Vect_get_num_dblinks() -
+	  see r48941
+
+2011-10-25 20:53  martinl
+
+	* vector/v.external.out/list.c: v.external.out: sort formats
+
+2011-10-25 20:46  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py: wxGUI: fix updating
+	  attributes for OGR layers
+
+2011-10-25 20:26  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py: wxGUI: update attributes
+	  - report error
+
+2011-10-25 20:00  martinl
+
+	* lib/vector/Vlib/write_ogr.c: vlib/ogr: don't try to write
+	  attributes if no dblink is defined
+
+2011-10-25 19:16  neteler
+
+	* vector/v.colors/v.colors.html: some more basic explanation added
+
+2011-10-25 18:12  martinl
+
+	* vector/v.out.ogr/list.c: v.out.ogr: sort formats
+
+2011-10-25 15:00  martinl
+
+	* vector/v.select/main.c: v.select: update for direct read access
+
+2011-10-25 13:35  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: improve
+	  validity check (variable substitution)
+
+2011-10-25 12:59  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: add overwrite flag
+
+2011-10-25 12:47  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: merge
+	  SetValid() with SetParameterized()
+
+2011-10-25 12:02  lucadelu
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  scripts/g.extension/g.extension.py: fix problem in removing
+	  modules with more command like r.modis
+
+2011-10-24 00:08  hamish
+
+	* lib/gis/ellipse.table.solar.system: Planetary ellipsoids from
+	  Alessandro Frigeri
+
+2011-10-23 22:00  neteler
+
+	* vector/v.colors/v.colors.html: some more basic explanation added
+
+2011-10-23 21:44  neteler
+
+	* vector/v.colors/v.colors.html: link ColorBrewer
+
+2011-10-23 21:12  neteler
+
+	* vector/v.colors/v.colors.html: show some GRASSRGB sample values
+
+2011-10-23 20:29  martinl
+
+	* imagery/i.landsat.toar/main.c: i.landsat.toar: add overwrite flag
+
+2011-10-22 20:03  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: don't close
+	  GroupDialog when no group selected (OnOk)
+
+2011-10-22 16:12  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: encode model
+	  properties (desc and user)
+	  (merge r48908 from devbr6)
+
+2011-10-22 09:19  annakrat
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: improvements in
+	  GroupDialog
+
+2011-10-21 18:35  huhabla
+
+	* temporal/Makefile, temporal/t.list/t.list.py,
+	  temporal/tr.aggregate.ds, temporal/tr.aggregate.ds/Makefile,
+	  temporal/tr.aggregate.ds/test.tr.aggregate.ds.sh,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.html,
+	  temporal/tr.aggregate.ds/tr.aggregate.ds.py,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.export/tr.export.py,
+	  temporal/tr.extract/tr.extract.py, temporal/tr.list/tr.list.py,
+	  temporal/tr.register/ECAD_climate_analysis_1995_2010.py,
+	  temporal/tr3.list, temporal/tr3.list/Makefile,
+	  temporal/tr3.list/test.tr3.list.sh,
+	  temporal/tr3.list/tr3.list.html, temporal/tr3.list/tr3.list.py,
+	  temporal/tv.list, temporal/tv.list/Makefile,
+	  temporal/tv.list/test.tv.list.sh, temporal/tv.list/tv.list.html,
+	  temporal/tv.list/tv.list.py: New list modules for space time
+	  vector and raater3d datasets. New
+	  aggregation module to use the temporal topology of space time
+	  datasets
+	  for aggregation.
+
+2011-10-21 18:33  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/aggregation.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Moved code from
+	  list and aggregation modules into the library.
+
+2011-10-21 11:55  martinl
+
+	* imagery/i.group/main.c: i.group: simplification of module
+	  description
+
+2011-10-21 11:54  martinl
+
+	* vector/v.out.ascii/args.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/main.c: v.out.ascii: add `type` option
+
+2011-10-21 11:53  martinl
+
+	* include/vector.h, lib/vector/Vlib/ascii.c: vlib:
+	  Vect_write_ascii(): add feature type filter
+
+2011-10-21 10:49  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI/gdialog: update
+	  authors
+
+2011-10-21 10:48  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: gdialogs.GroupDialog
+	  - back to StdDialogButtonSizer
+
+2011-10-21 10:42  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: minor changes in
+	  gdialog.GroupDialog
+
+2011-10-21 10:00  lucadelu
+
+	* scripts/g.extension/g.extension.py: now files in etc are
+	  installed to addons/etc/extension_name/ as in $GISBASE/etc/
+
+2011-10-21 09:26  martinl
+
+	* lib/vector/Vlib/ascii.c: vlib: fix r48888
+
+2011-10-21 08:39  lucadelu
+
+	* scripts/g.extension/g.extension.py: add function to check if
+	  grass_logo.png and grassdocs.css are present on /docs/html to a
+	  correct web page style
+
+2011-10-21 08:35  annakrat
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gdialogs.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: custom dialog for editing
+	  imagery groups added
+
+2011-10-21 08:33  lucadelu
+
+	* lib/init/grass.py: add --config option in the usage string
+
+2011-10-21 08:14  mmetz
+
+	* vector/v.out.ascii/main.c: v.out.ascii: use topology only when
+	  needed (maintain support for massive point export)
+
+2011-10-21 08:11  mmetz
+
+	* lib/vector/Vlib/ascii.c, lib/vector/Vlib/map.c: fix r48886
+
+2011-10-20 21:33  martinl
+
+	* vector/v.out.ascii/main.c: v.out.ascii: #1470 (v.out.ascii with
+	  sql where option exports only centroids and not areas)
+
+2011-10-20 21:32  martinl
+
+	* lib/vector/Vlib/ascii.c: vlib: Vect_write_ascii() - process also
+	  areas
+	  #1470 (v.out.ascii with sql where option exports only centroids
+	  and not areas)
+
+2011-10-20 19:24  huhabla
+
+	* temporal/tr.import/test.tr.import.sh,
+	  temporal/tr3.unregister/tr3.unregister.py,
+	  temporal/tv.unregister/tv.unregister.py: Fixing bugs
+
+2011-10-20 19:24  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py: Fixing bugs
+
+2011-10-20 18:36  huhabla
+
+	* temporal/Makefile, temporal/t.list/t.list.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.time.rel/t.time.rel.py,
+	  temporal/t.topology/test.t.topology.sh, temporal/tr.export,
+	  temporal/tr.export/Makefile,
+	  temporal/tr.export/test.tr.export.sh,
+	  temporal/tr.export/tr.export.html,
+	  temporal/tr.export/tr.export.py, temporal/tr.import,
+	  temporal/tr.import/Makefile,
+	  temporal/tr.import/test.tr.import.sh,
+	  temporal/tr.import/tr.import.html,
+	  temporal/tr.import/tr.import.py,
+	  temporal/tr.list/test.tr.list.sh, temporal/tr.list/tr.list.py,
+	  temporal/tr.register/ECAD_climate_analysis_1995_2010.py,
+	  temporal/tr.register/register_ECAD_maps_temp_mean_1995_2010.py,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr.series/tr.series.py: Implemented import and export
+	  modules. More options added to tr.list.
+
+2011-10-20 18:28  huhabla
+
+	* lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Removed some
+	  performance issues
+
+2011-10-20 10:32  martinl
+
+	* gui/wxpython/gui_modules/dbm_base.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py: wxGUI/vector query:
+	  don't fail when no attribute table linked to the vector map
+
+2011-10-20 03:12  cmbarton
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: Fixing so that controls
+	  work in Mac environment. StaticBox windows must be instantiated
+	  before the controls that go into them or they cannot be accessed
+	  in OSX.
+
+2011-10-20 01:49  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI: fix parameter
+	  substitution (reset values)
+
+2011-10-20 01:24  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: remove
+	  undefined 'change id'
+
+2011-10-20 01:01  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: cosmetics in
+	  variables substitution
+
+2011-10-20 00:35  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI: add variable type:
+	  file
+	  check for missing variables
+
+2011-10-19 21:58  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: update
+	  settings dialog
+
+2011-10-19 21:35  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: fix
+	  disabling items
+	  fix removing loop
+
+2011-10-19 19:39  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: don't open mcalc
+	  builder when running modeler
+
+2011-10-19 18:57  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix
+	  GNotebook.SetSelectionByName()
+	  (merge r48855 from devbr6)
+
+2011-10-19 18:48  martinl
+
+	* lib/python, lib/python/ctypes: fix svn:ignore prop (libpython)
+
+2011-10-19 06:49  mmetz
+
+	* vector/v.in.ogr/geom.c: search box T,B must be zero
+
+2011-10-18 15:15  huhabla
+
+	* temporal/t.topology/test.t.topology.sh: Temporal topology tests
+
+2011-10-18 14:20  huhabla
+
+	* temporal/t.topology/t.topology.py: Added temporal granularity
+	  computation to t.topology.
+
+2011-10-18 14:19  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py: Compute
+	  temporal gaps for point and mixed time
+
+2011-10-18 13:10  huhabla
+
+	* temporal/t.create/t.create.py,
+	  temporal/t.support/test.t.support.sh,
+	  temporal/t.time.abs/test.t.time.abs.file.sh,
+	  temporal/t.time.abs/test.t.time.abs.sh,
+	  temporal/t.time.rel/test.t.time.rel.file.sh,
+	  temporal/t.time.rel/test.t.time.rel.sh,
+	  temporal/tr.aggregate/test.tr.aggregate.sh,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.extract/tr.extract.py,
+	  temporal/tr.list/test.tr.list.sh,
+	  temporal/tr.register/register_ECAD_maps_temp_mean_1995_2010.py,
+	  temporal/tr.register/test.tr.register.file.sh,
+	  temporal/tr.register/test.tr.register.sh,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr3.register/test.tr3.register.sh,
+	  temporal/tv.register/test.tv.register.sh: Temporal granularity is
+	  now computed from registered maps.
+
+2011-10-18 13:09  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/temporal_granularity.py,
+	  lib/python/temporal/unit_tests.py: New functions to compute the
+	  temporal granularity from registered maps
+	  for absolute and relative time.
+
+2011-10-17 19:59  neteler
+
+	* locale/po/grassmods_de.po: cosmetics
+
+2011-10-17 18:42  glynn
+
+	* lib/raster/R.h, lib/raster/close.c, lib/raster/format.c,
+	  lib/raster/get_row.c, lib/raster/open.c, lib/raster/put_row.c:
+	  Separate the R__.fileinfo[] index from the raster data file
+	  descriptor
+
+2011-10-17 18:37  glynn
+
+	* lib/python, lib/python/ctypes: Add svn:ignore property
+
+2011-10-17 15:53  neteler
+
+	* imagery/i.albedo/i.albedo.html,
+	  imagery/i.aster.toar/i.aster.toar.html,
+	  imagery/i.biomass/i.biomass.html, imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_sebal01.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.emissivity/i.emissivity.html,
+	  imagery/i.evapo.mh/i.evapo.mh.html,
+	  imagery/i.evapo.pt/i.evapo.pt.html,
+	  imagery/i.evapo.time/i.evapo.time.html,
+	  imagery/i.latlong/i.latlong.html,
+	  imagery/i.modis.qc/i.modis.qc.html,
+	  imagery/i.sunhours/i.sunhours.html, imagery/i.vi/i.vi.html: HTML
+	  demessyfied
+
+2011-10-16 20:44  cmbarton
+
+	* gui/wxpython/gui_modules/wxplot.py: wxgui: display last segment
+	  marker
+
+2011-10-16 20:32  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: expand
+	  variables
+	  (merge r48836 from devbr6)
+
+2011-10-16 18:21  mmetz
+
+	* Makefile: temporary fix for tgis integration
+
+2011-10-16 15:17  glynn
+
+	* lib/python/Makefile, lib/python/ctypes/Makefile: Try to keep
+	  generated files in $(OBJDIR)
+
+2011-10-16 15:17  glynn
+
+	* include/Make/Docs.make: lib/g3d -> lib/raster3d
+
+2011-10-16 15:16  glynn
+
+	* configure, configure.in: Remove unused do64bit variable
+
+2011-10-16 10:51  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix typo
+
+2011-10-16 10:43  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: fix r48828
+
+2011-10-16 10:28  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: attempt to fix #1463
+	  (part 1 & 2)
+
+2011-10-16 09:29  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/osgeo4w/preremove.bat:
+	  winGRASS: minor fixes in support scripts
+
+2011-10-16 09:24  martinl
+
+	* mswindows/osgeo4w/postinstall.bat: winGRASS: fix typo in
+	  postinstall.bat
+
+2011-10-16 04:53  cmbarton
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxplot.py,
+	  gui/wxpython/gui_modules/wxplot_dialogs.py,
+	  gui/wxpython/icons/icon.py: wxgui: enhancements and fixes to
+	  analysis modules. Added scatterplot. Also added statistics
+	  displays for profile, histogram, and scatterplot.
+
+2011-10-15 20:10  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: winGRASS: clean up support files
+	  for osgeo4w
+
+2011-10-15 19:17  huhabla
+
+	* raster/r.series/main.c: Fixed segfault resulting from
+	  uninitialized "inputs" pointer.
+
+2011-10-15 16:20  martinl
+
+	* lib/python/core.py: libpython: run g.mlist quietly
+
+2011-10-15 10:02  martinl
+
+	* general/g.mlist/main.c: g.mlist: add extra message when listing
+	  maps
+
+2011-10-15 08:42  glynn
+
+	* include/Make/Html.make: Treat images as primary targets instead
+	  of intermediate files
+
+2011-10-14 20:46  martinl
+
+	* mswindows/osgeo4w/package.sh: winGRASS: include also grass70.py
+
+2011-10-14 19:24  martinl
+
+	* general/g.gui/main.c: g.gui: message cosmetics (follow string
+	  convetions)
+
+2011-10-14 19:16  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI/menu: add one extra
+	  separator
+
+2011-10-14 19:06  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: fully-qualified
+	  names only for input/map
+
+2011-10-14 18:58  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py, lib/python/task.py:
+	  pythonlib: rename getCmd -> get_cmd (follow naming convetion)
+
+2011-10-14 17:52  martinl
+
+	* gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html, gui/wxpython/docs/wxGUI.html:
+	  wxGUI/manual: note video tutorials at user-wiki
+
+2011-10-14 17:45  martinl
+
+	* gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI_modeler.jpg: wxGUI/modeler: fix
+	  screenshot size, fix src
+
+2011-10-14 17:29  martinl
+
+	* gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI_modeler.jpg: wxGUI/modeler: minor manual
+	  update
+
+2011-10-14 15:57  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: synchronize overlays
+	  in 2d and 3d (legend, text labels)
+
+2011-10-14 15:22  huhabla
+
+	* lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets_tools.py,
+	  lib/python/temporal/temporal_extent.py: New dataset object
+	  factory. New temporal topology functions implemented.
+
+2011-10-14 15:22  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py, temporal/t.remove/t.remove.py,
+	  temporal/t.support/t.support.py,
+	  temporal/t.topology/t.topology.py,
+	  temporal/tr.register/tr.register.py,
+	  temporal/tr3.register/tr3.register.py,
+	  temporal/tr3.unregister/tr3.unregister.py,
+	  temporal/tv.register/tv.register.py,
+	  temporal/tv.unregister/tv.unregister.py: Use dataset object
+	  factory. New temporal topology functions.
+
+2011-10-14 14:20  martinl
+
+	* mswindows/osgeo4w/package.sh: winGRASS: update for daily builds
+	  (merge r48792 from devbr6)
+
+2011-10-14 10:55  martinl
+
+	* mswindows/osgeo4w/package.sh: winGRASS: don't build obsolete
+	  packages
+
+2011-10-13 22:37  huhabla
+
+	* lib/python/temporal/abstract_datasets.py,
+	  lib/python/temporal/abstract_space_time_dataset.py: New temporal
+	  topology functions. Removed redundant file.
+
+2011-10-13 22:36  huhabla
+
+	* temporal/t.topology/t.topology.py: More temporal topology info
+
+2011-10-13 21:58  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: remove GSoC testing (WMS)
+
+2011-10-13 13:52  kyngchaos
+
+	* macosx/app/grass.sh.in: missed a path in r48780
+
+2011-10-13 13:46  kyngchaos
+
+	* macosx/app/grass.sh.in: modules folder is aprefix now
+
+2011-10-13 12:44  huhabla
+
+	* temporal/Makefile, temporal/t.info/t.info.py, temporal/t.support,
+	  temporal/t.support/Makefile, temporal/t.support/t.support.html,
+	  temporal/t.support/t.support.py,
+	  temporal/t.support/test.t.support.sh, temporal/t.topology,
+	  temporal/t.topology/Makefile,
+	  temporal/t.topology/t.topology.html,
+	  temporal/t.topology/t.topology.py,
+	  temporal/tr.register/test.tr.register.sh,
+	  temporal/tr3.register/test.tr3.register.sh: New simple temporal
+	  support and topology modules
+
+2011-10-13 12:42  huhabla
+
+	* lib/python/temporal/abstract_space_time_dataset.py: New function
+	  to print the temporal relationship matrix
+
+2011-10-13 12:23  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI/modeler: fix
+	  LoadMapLayers()
+	  (merge r48776 from devbr6)
+
+2011-10-13 12:06  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: dynamic
+	  series more user friendly
+
+2011-10-13 11:38  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: check action
+	  when loading model file
+
+2011-10-13 11:05  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py, temporal/t.remove/t.remove.py,
+	  temporal/t.time.abs/t.time.abs.py,
+	  temporal/t.time.abs/test.t.time.abs.file.sh,
+	  temporal/t.time.abs/test.t.time.abs.sh,
+	  temporal/t.time.rel/t.time.rel.py,
+	  temporal/t.time.rel/test.t.time.rel.file.sh,
+	  temporal/t.time.rel/test.t.time.rel.sh,
+	  temporal/tr.aggregate/test.tr.aggregate.sh,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.register/test.tr.register.file.sh,
+	  temporal/tr.register/test.tr.register.sh,
+	  temporal/tr.register/tr.register.py,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr.series/tr.series.py,
+	  temporal/tr.unregister/tr.unregister.py,
+	  temporal/tr3.register/test.tr3.register.sh,
+	  temporal/tr3.register/tr3.register.py,
+	  temporal/tr3.unregister/tr3.unregister.py,
+	  temporal/tv.register/test.tv.register.sh,
+	  temporal/tv.register/tv.register.py,
+	  temporal/tv.unregister/tv.unregister.py: Added file option to
+	  several temporal modules. Follow GRASS naming
+	  convention. New tests.
+
+2011-10-13 11:04  huhabla
+
+	* lib/python/temporal/space_time_datasets_tools.py: Added file
+	  option to several temporal modules
+
+2011-10-12 20:54  annakrat
+
+	* gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: zooming methods moved
+	  from mapdisp.MapFrame to MapFrameBase (co-author V. Petras)
+
+2011-10-12 16:46  annakrat
+
+	* gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: fix bug in
+	  georectifier caused by previous change (co-author V. Petras)
+
+2011-10-12 16:36  annakrat
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: toolbar access methods added (co-author V. Petras)
+
+2011-10-12 14:57  annakrat
+
+	* gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI: remove unused code of old
+	  georectifier (co-author V. Petras)
+
+2011-10-12 14:31  annakrat
+
+	* gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: moving code to
+	  MapFrameBase (co-author V. Petras)
+
+2011-10-12 11:59  martinl
+
+	* gui/wxpython/gui_modules/gselect.py, lib/python/core.py:
+	  pythonlib: r48755 - follow naming convetion
+
+2011-10-12 11:50  martinl
+
+	* gui/wxpython/gui_modules/gselect.py, lib/python/core.py,
+	  lib/python/db.py: pythonlib: improve mapsets() interface
+
+2011-10-12 11:20  martinl
+
+	* mswindows/osgeo4w/preremove.bat: winGRASS update preremove.bat
+	  (OSGEO4w)
+
+2011-10-12 11:11  martinl
+
+	* mswindows/osgeo4w/postinstall.bat: winGRASS: cleanup start items,
+	  only one Desktop shorcut
+
+2011-10-12 11:03  martinl
+
+	* mswindows/osgeo4w/grass.bat.tmpl: fix grass.bat.tmpl (OSGeo4W)
+	  (merge r48749 from relbr64)
+
+2011-10-12 09:38  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/abstract_dataset.py,
+	  lib/python/temporal/abstract_map_dataset.py,
+	  lib/python/temporal/abstract_space_time_dataset.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/space_time_datasets_tools.py: Better code
+	  managament
+
+2011-10-11 18:37  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: build also other packages
+	  (merge r48741 from relbr64)
+
+2011-10-11 17:02  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: fix fully-qualified
+	  names (translated 'mapset' can contain spaces)
+
+2011-10-11 16:22  martinl
+
+	* mswindows/osgeo4w/package.sh: fix package.sh (deleting old
+	  package logs)
+
+2011-10-11 14:07  kyngchaos
+
+	* macosx/Makefile, macosx/app/grass.sh.in: revert r37436 because
+	  space-in-path issues still appear
+
+2011-10-11 13:52  huhabla
+
+	* lib/python/temporal/abstract_datasets.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py: Use
+	  gisenv variables to select the temporal database backend at
+	  runtime.
+
+2011-10-11 13:51  huhabla
+
+	* temporal/Makefile, temporal/t.info/t.info.py,
+	  temporal/tr.aggregate/test.tr.aggregate.sh,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.extract/tr.extract.py, temporal/tr.list,
+	  temporal/tr.list/Makefile, temporal/tr.list/test.tr.list.sh,
+	  temporal/tr.list/tr.list.html, temporal/tr.list/tr.list.py,
+	  temporal/tr.series/tr.series.py: New strds list module. Minor
+	  fixes in several temporal modules.
+
+2011-10-11 13:04  glynn
+
+	* db/drivers/odbc/describe.c: Fix type mismatch
+
+2011-10-11 09:59  mmetz
+
+	* raster/r.walk/Makefile, raster/r.walk/main.c: r.walk: replace
+	  deprecated sites lib with vector lib
+
+2011-10-11 09:16  neteler
+
+	* raster/r.texture/main.c: parameter name harmonization
+
+2011-10-10 23:43  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome: sizable & minor clean up
+	  in layout
+
+2011-10-10 22:30  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: there is no UnicodeString in
+	  `utils`
+
+2011-10-10 22:23  neteler
+
+	* doc/howto_release.txt: minor stuff
+
+2011-10-10 22:06  martinl
+
+	* gui/icons/grass/loop-add.png,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: add new
+	  icon for loop/series (thanks to Robert Szczepanek)
+
+2011-10-10 20:31  annakrat
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_statusbar.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: georectifier
+	  partially rewritten (base class is MapFrameBase), co-author
+	  Vaclav Petras
+
+2011-10-10 20:05  neteler
+
+	* locale/po/grasswxpy_de.po: Robert Nuske: cont'ed
+
+2011-10-10 18:57  huhabla
+
+	* temporal/Makefile, temporal/t.create/t.create.py,
+	  temporal/tr.aggregate, temporal/tr.aggregate/Makefile,
+	  temporal/tr.aggregate/test.tr.aggregate.sh,
+	  temporal/tr.aggregate/tr.aggregate.html,
+	  temporal/tr.aggregate/tr.aggregate.py,
+	  temporal/tr.register/register_ECAD_maps_temp_mean_1995_2010.py:
+	  New aggregation module for space time raster datasets
+
+2011-10-10 18:55  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/datetime_math.py,
+	  lib/python/temporal/space_time_datasets.py: New package to
+	  provide some datetime objects math
+
+2011-10-10 12:46  annakrat
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_statusbar.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py: wxGUI: first steps in
+	  creating base class for mapdisp.MapFrame -- reorganization of
+	  statusbar
+
+2011-10-09 22:35  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: support also
+	  mapsets
+	  (merge r48701 from devbr6)
+
+2011-10-09 22:17  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix
+	  OnModelNew()
+	  (merge r48698 from devbr6)
+
+2011-10-09 21:50  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py: wxGUI/MapLayersDialog: show
+	  only mapsets in search path
+	  (merge r48694 from devbr6)
+
+2011-10-09 21:48  huhabla
+
+	* temporal/tr.extract/tr.extract.py,
+	  temporal/tr.series/tr.series.py: Temporal API changed
+
+2011-10-09 21:47  huhabla
+
+	* lib/python/temporal/abstract_datasets.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py: Docs partly updated and
+	  polished.
+
+2011-10-09 20:34  martinl
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: wxGUI/sqlbuilder: fix
+	  various bugs, sort values
+
+2011-10-08 21:36  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Robert
+	  Nuske: cont'ed
+
+2011-10-08 19:33  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mcalc: fix
+	  insertion point for fns
+
+2011-10-08 19:17  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mcalc: minor
+	  clean up -- OnRun()
+
+2011-10-08 00:07  huhabla
+
+	* visualization/nviz2: Removed wrongly committed directory.
+	  Internal note: Do not use netbeans 6.8 as svn client.
+
+2011-10-08 00:00  huhabla
+
+	* lib/python/temporal/abstract_datasets.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/temporal/stds_tables_template.sql, raster/r.colors,
+	  raster/r.series/test.r.series.sh,
+	  raster/r.series/test_3_prec_max.ref,
+	  raster/r.series/test_3_prec_mean.ref,
+	  raster/r.series/test_3_prec_min.ref,
+	  raster/r.series/test_4_prec_max.ref,
+	  raster/r.series/test_4_prec_mean.ref,
+	  raster/r.series/test_4_prec_min.ref,
+	  temporal/t.create/t.create.py, temporal/t.remove/t.remove.py,
+	  temporal/tr.extract/tr.extract.py,
+	  temporal/tr.series/tr.series.py, visualization/nviz2,
+	  visualization/nviz2/cmd,
+	  visualization/nviz2/cmd/OBJ.x86_64-unknown-linux-gnu: Code
+	  cleanup. The temporal map type (single point of time, time
+	  interval or mixed) is now computed and stored in space time
+	  datasets.
+
+2011-10-07 19:52  neteler
+
+	* raster/r.random.cells/r.random.cells.html,
+	  raster/r.random.surface/r.random.surface.html: partial fix for
+	  trac #1461
+
+2011-10-07 09:49  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: fix
+	  variable substitution
+
+2011-10-07 09:19  mmetz
+
+	* raster/r.regression.line/main.c: add standard header section
+
+2011-10-07 07:29  martinl
+
+	* raster/r.gwflow/main.c: r.gwflow: remove extra newlines from
+	  option description + description standardization
+
+2011-10-06 21:13  huhabla
+
+	* lib/gpde/N_gwflow.c, raster/r.gwflow/main.c,
+	  raster/r.gwflow/r.gwflow.html, raster/r.gwflow/valid_calc_7x7.py,
+	  raster/r.gwflow/valid_calc_excavation.py: Fixed wrong and
+	  misleading documentation about the groundwater flow concept.
+
+2011-10-06 12:54  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: fully qualified
+	  names optional (add map layers)
+
+2011-10-06 12:42  huhabla
+
+	* lib/python/temporal/abstract_datasets.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/temporal/map_stds_register_table_template.sql,
+	  lib/temporal/map_tables_template.sql,
+	  lib/temporal/raster3d_metadata_table.sql,
+	  lib/temporal/raster_metadata_table.sql,
+	  lib/temporal/sqlite3_delete_trigger.sql,
+	  lib/temporal/stds_map_register_table_template.sql,
+	  lib/temporal/stds_raster3d_register_trigger_template.sql,
+	  lib/temporal/stds_raster_register_trigger_template.sql,
+	  lib/temporal/stds_tables_template.sql,
+	  lib/temporal/str3ds_metadata_table.sql,
+	  lib/temporal/strds_metadata_table.sql,
+	  lib/temporal/stvds_metadata_table.sql,
+	  lib/temporal/update_stds_spatial_temporal_extent_template.sql,
+	  lib/temporal/update_str3ds_metadata_template.sql,
+	  lib/temporal/update_strds_metadata_template.sql,
+	  lib/temporal/vector_metadata_table.sql,
+	  temporal/t.list/t.list.py,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.extract/tr.extract.py,
+	  temporal/tr.register/register_ECAD_maps_temp_mean_1995_2010.py,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr.series/tr.series.py: Implemented support for sqlite
+	  and postgresql as temporal database backend.
+
+2011-10-06 11:43  huhabla
+
+	* raster/r.series/main.c, raster/r.series/test.r.series.sh:
+	  Corrected verbose message position, removed output generation
+	  from
+	  tests.
+
+2011-10-06 11:40  huhabla
+
+	* raster/r.series/main.c, raster/r.series/test.r.series.sh:
+	  Modified tests and verbose message handling.
+
+2011-10-06 10:57  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gmodeler.py, gui/wxpython/wxgui.py:
+	  wxGUI/modeler: implement series
+
+2011-10-06 06:31  annakrat
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxNviz: fix initializing
+	  alpha in texture
+
+2011-10-05 22:38  cmbarton
+
+	* gui/wxpython/gui_modules/wxplot.py,
+	  gui/wxpython/gui_modules/wxplot_dialogs.py: wxgui: better error
+	  trapping for profile segments points
+
+2011-10-05 22:07  glynn
+
+	* raster/r.series/main.c: Clean-up of r48638
+
+2011-10-05 21:40  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: msgs
+	  updated from template files
+
+2011-10-05 21:00  cmbarton
+
+	* gui/wxpython/gui_modules/wxplot.py: wxgui: fixing segment marker
+	  plotting for profiles
+
+2011-10-05 18:33  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py: partly revert r48646
+	  (changes related to wxnviz were probably made by mistake)
+
+2011-10-05 18:06  cmbarton
+
+	* gui/wxpython/gui_modules/wxplot.py,
+	  gui/wxpython/gui_modules/wxplot_dialogs.py: wxgui: update to fix
+	  situation when scatterplot is launched with one map displayed
+
+2011-10-05 17:41  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: don't import module
+	  multiple times (cosmetics)
+
+2011-10-05 17:24  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxplot.py: wxgui: updating the rest of
+	  the new scatterplot tool code
+
+2011-10-05 17:15  cmbarton
+
+	* gui/wxpython/gui_modules/wxplot_dialogs.py: wxgui: updated
+	  wxplot_dialog for scatterplot tool
+
+2011-10-05 17:14  cmbarton
+
+	* gui/wxpython/gui_modules/preferences.py: wxgui: updated
+	  preferences settings for scatterplot tool
+
+2011-10-05 14:11  lucadelu
+
+	* locale/po/grasswxpy_it.po: update italian translation
+
+2011-10-05 11:34  huhabla
+
+	* raster/r.series/main.c: Better error messages
+
+2011-10-05 10:00  huhabla
+
+	* raster/r.series/main.c: Typo fix and translation support.
+
+2011-10-05 09:57  huhabla
+
+	* lib/python/temporal/abstract_datasets.py, raster/r.series/main.c,
+	  raster/r.series/r.series.html, raster/r.series/test.r.series.sh,
+	  raster/r.series/test_1_prec_count.ref,
+	  raster/r.series/test_1_prec_max.ref,
+	  raster/r.series/test_1_prec_mean.ref,
+	  raster/r.series/test_1_prec_min.ref,
+	  raster/r.series/test_1_prec_range.ref,
+	  raster/r.series/test_1_prec_sum.ref,
+	  raster/r.series/test_2_prec_count.ref,
+	  raster/r.series/test_2_prec_max.ref,
+	  raster/r.series/test_2_prec_mean.ref,
+	  raster/r.series/test_2_prec_min.ref,
+	  raster/r.series/test_2_prec_range.ref,
+	  raster/r.series/test_2_prec_sum.ref,
+	  temporal/tr.register/register_ECAD_maps_temp_mean_1995_2010.py,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr.series/tr.series.py: Implemented input file with
+	  newline separated map names support in r.series. r.series now
+	  supports two input methods, file and input. Using option file is
+	  slower but avoids the open file descriptor limit. Temporal module
+	  tr.series is now ready to analyze ten-thousends of maps using
+	  r.series. Implemented tests for r.series and tr.series.
+
+2011-10-05 08:58  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI: do validation of new
+	  added item also if parameters were given
+
+2011-10-05 08:44  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix valid
+	  check
+
+2011-10-05 08:28  martinl
+
+	* raster/r.null/main.c: r.null: more guisections
+
+2011-10-05 08:05  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: don't show
+	  prop dialog when command has some options
+	  defined
+
+2011-10-05 07:52  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxplot.py,
+	  gui/wxpython/gui_modules/wxplot_dialogs.py: revert broken r48622
+
+2011-10-05 07:45  martinl
+
+	* imagery/i.group/main.c: i.group: more guisections
+
+2011-10-05 07:37  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxplot.py,
+	  gui/wxpython/gui_modules/wxplot_dialogs.py: wxgui: added new
+	  bivariate scatter plot tool; code refactoring for profile and
+	  histogram plots.
+
+2011-10-05 07:11  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: #1457 (Zoom in
+	  Georectify Does not Work)
+
+2011-10-04 22:54  huhabla
+
+	* lib/python/temporal/abstract_datasets.py,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.extract/tr.extract.py: New module to extract a subset
+	  of a space time raster dataset using where queries and r.mapcalc
+	  expressions.
+
+2011-10-04 21:19  annakrat
+
+	* include/ogsf_proto.h, lib/nviz/draw.c, lib/nviz/nviz.c,
+	  lib/ogsf/gsd_objs.c: nviz: change scalebar appearance
+
+2011-10-04 13:36  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: con'ed
+
+2011-10-04 09:25  martinl
+
+	* lib/nviz/draw.c: libnviz: texture support added annakrat
+
+2011-10-03 22:03  huhabla
+
+	* lib/python/temporal/abstract_datasets.py,
+	  lib/python/temporal/core.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py: Fixed wrong end time
+	  computation for space time datasets.
+
+2011-10-03 18:30  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: update List of
+	  classes
+
+2011-10-03 18:14  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/draw.c: wxNviz: draw overlays as textures
+
+2011-10-03 15:59  mmetz
+
+	* raster/r.regression.line/r.regression.line.html: residuals ->
+	  correlation coefficient
+
+2011-10-03 11:53  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: con'ed
+
+2011-10-02 21:22  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: fix running `d.*
+	  --help`
+	  add d.redraw to supported commands
+
+2011-10-02 20:27  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: fix
+	  RasterColorTable - OnApply()
+	  (merge r48596 from trunk)
+
+2011-10-02 00:00  huhabla
+
+	* lib/python/temporal/abstract_datasets.py,
+	  lib/python/temporal/base.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/temporal_extent.py,
+	  temporal/t.info/t.info.py, temporal/t.list/t.list.py,
+	  temporal/t.time.abs/t.time.abs.py,
+	  temporal/t.time.abs/test.t.time.abs.sh,
+	  temporal/t.time.rel/t.time.rel.py,
+	  temporal/t.time.rel/test.t.time.rel.sh,
+	  temporal/tr.extract/tr.extract.py,
+	  temporal/tr.register/test.tr.register.sh,
+	  temporal/tr.register/tr.register.py,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr.series/tr.series.py,
+	  temporal/tr3.register/test.tr3.register.sh,
+	  temporal/tr3.register/tr3.register.py,
+	  temporal/tv.register/test.tv.register.sh,
+	  temporal/tv.register/tv.register.py: Better support for single
+	  points of time. Implemented temporal relation matrix in t.info.
+
+2011-10-01 22:09  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: remove GSoC WMS
+	  testing
+
+2011-10-01 21:48  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxplot.py: wxGUI: clean up ProfileFrame
+	  and HistFrame constructors
+
+2011-10-01 21:37  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: more wxplot oriented fixes
+
+2011-10-01 21:08  martinl
+
+	* raster/r.report/global.h, raster/r.report/main.c,
+	  raster/r.report/parse.c, raster/r.report/stats.c: fix r48589
+
+2011-10-01 20:59  martinl
+
+	* raster/r.report/parse.c: r.report: remove redundant -q flag
+
+2011-10-01 20:52  martinl
+
+	* raster/r.report/main.c, raster/r.report/parse.c: r.report: more
+	  guisections
+
+2011-10-01 20:21  hamish
+
+	* gui/wxpython/gui_modules/nviz_tools.py: partial revert of r48155:
+	  although distance is a major effect of changing
+	  perspective, perspective also warps space- they are not the same
+	  thing.
+	  pure distance is controled by the camera positioning puck.
+	  simplifying
+	  text is all well and good, but once it becomes technically
+	  incorrect it
+	  has gone too far as it plants misleading ideas in users' minds.
+
+2011-10-01 17:15  cmbarton
+
+	* gui/wxpython/gui_modules/wxplot.py: wxgui: a nicer autotitle for
+	  profiles
+
+2011-10-01 16:21  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxgui: updating toolbars.py
+	  and mapdisp.py calls to new profile and histogramming tools.
+
+2011-10-01 15:02  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/histogram2.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/wxplot.py,
+	  gui/wxpython/gui_modules/wxplot_dialogs.py: wxGUI: remove
+	  redundant profile.py and histogram2.py modules
+	  minor clean up in wxplot modules
+
+2011-10-01 07:41  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxplot.py,
+	  gui/wxpython/gui_modules/wxplot_dialogs.py: wxgui: new abstract
+	  class for pyplot modules profile and histogram. Also common
+	  dialogs for pyplot modules
+
+2011-10-01 07:31  mmetz
+
+	* vector/v.in.lidar/main.c: v.in.lidar: improve no import handling
+
+2011-10-01 07:30  mmetz
+
+	* vector/v.in.lidar/v.in.lidar.html: v.in.lidar: update manual
+
+2011-10-01 07:29  mmetz
+
+	* raster/r.in.lidar/r.in.lidar.html: r.in.lidar: update manual
+
+2011-10-01 07:29  mmetz
+
+	* raster/r.in.lidar/main.c: r.in.lidar: improve scan and shell
+	  style mode
+
+2011-09-30 14:58  martinl
+
+	* lib/python/task.py: pythonlib: get_interface_description():
+	  comment-out problematic code (fails on debug)
+	  (merge r48573 from devbr6)
+
+2011-09-30 13:22  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: add extra dialog when trying to
+	  remove gislock (#1407)
+
+2011-09-29 23:51  glynn
+
+	* configure, configure.in: Make --enable-cxx default to "yes"
+
+2011-09-29 23:42  glynn
+
+	* include/Make/Compile.make, include/Make/Vars.make: Remove rules
+	  for .cc extension
+
+2011-09-29 23:36  glynn
+
+	* lib/iostream/ami_stream.cc, lib/iostream/ami_stream.cpp,
+	  lib/iostream/mm.cc, lib/iostream/mm.cpp,
+	  lib/iostream/mm_utils.cc, lib/iostream/mm_utils.cpp,
+	  lib/iostream/rtimer.cc, lib/iostream/rtimer.cpp,
+	  raster/r.terraflow/ccforest.cc, raster/r.terraflow/ccforest.cpp,
+	  raster/r.terraflow/common.cc, raster/r.terraflow/common.cpp,
+	  raster/r.terraflow/direction.cc,
+	  raster/r.terraflow/direction.cpp, raster/r.terraflow/fill.cc,
+	  raster/r.terraflow/fill.cpp, raster/r.terraflow/filldepr.cc,
+	  raster/r.terraflow/filldepr.cpp, raster/r.terraflow/flow.cc,
+	  raster/r.terraflow/flow.cpp, raster/r.terraflow/genericWindow.cc,
+	  raster/r.terraflow/genericWindow.cpp, raster/r.terraflow/grid.cc,
+	  raster/r.terraflow/grid.cpp, raster/r.terraflow/main.cc,
+	  raster/r.terraflow/main.cpp, raster/r.terraflow/nodata.cc,
+	  raster/r.terraflow/nodata.cpp, raster/r.terraflow/plateau.cc,
+	  raster/r.terraflow/plateau.cpp, raster/r.terraflow/stats.cc,
+	  raster/r.terraflow/stats.cpp, raster/r.terraflow/sweep.cc,
+	  raster/r.terraflow/sweep.cpp, raster/r.terraflow/types.cc,
+	  raster/r.terraflow/types.cpp, raster/r.terraflow/water.cc,
+	  raster/r.terraflow/water.cpp, raster/r.terraflow/weightWindow.cc,
+	  raster/r.terraflow/weightWindow.cpp,
+	  visualization/wximgview/main.cc,
+	  visualization/wximgview/main.cpp, visualization/xganim/gui.cc,
+	  visualization/xganim/gui.cpp, visualization/xganim/main.cc,
+	  visualization/xganim/main.cpp: Use .cpp extension for C++ files
+
+2011-09-29 23:35  glynn
+
+	* include/Make/Html.make, raster/Makefile: Fix handling of image
+	  files, esp. for parallel make
+
+2011-09-29 20:25  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix addons html
+	  pages (modify links)
+
+2011-09-29 20:01  neteler
+
+	* display/d.colors/d.colors.html, display/d.grid/d.grid.html,
+	  display/d.his/d.his.html, doc/vector/vector.html,
+	  general/g.tempfile/g.tempfile.html, imagery/i.class/i.class.html,
+	  imagery/i.points/i.points.html, imagery/i.vpoints/i.vpoints.html,
+	  ps/ps.map/ps.map.html, scripts/g.manual/g.manual.html,
+	  vector/v.label/v.label.html, vector/v.univar/v.univar.html: use
+	  lowercase HTML tags
+
+2011-09-29 19:48  neteler
+
+	* display/d.colors/d.colors.html,
+	  display/d.colortable/d.colortable.html,
+	  display/d.font/d.font.html, display/d.geodesic/d.geodesic.html,
+	  display/d.graph/d.graph.html, display/d.grid/d.grid.html,
+	  display/d.his/d.his.html, display/d.legend/d.legend.html,
+	  display/d.linegraph/d.linegraph.html, display/d.rgb/d.rgb.html,
+	  display/d.text/d.text.html, display/d.title/d.title.html,
+	  doc/vector/v.modules.html, doc/vector/vector.html,
+	  general/g.filename/g.filename.html,
+	  general/g.parser/g.parser.html, general/g.proj/g.proj.html,
+	  general/g.setproj/g.setproj.html, imagery/i.cca/i.cca.html,
+	  imagery/i.class/i.class.html, imagery/i.cluster/i.cluster.html,
+	  imagery/i.fft/i.fft.html, imagery/i.gensig/i.gensig.html,
+	  imagery/i.gensigset/i.gensigset.html, imagery/i.ifft/i.ifft.html,
+	  imagery/i.landsat.acca/i.landsat.acca.html,
+	  imagery/i.maxlik/i.maxlik.html, imagery/i.pca/i.pca.html,
+	  imagery/i.rectify/i.rectify.html, imagery/i.smap/i.smap.html,
+	  imagery/i.vpoints/i.vpoints.html, imagery/i.zc/i.zc.html,
+	  lib/init/grass7.html, misc/m.cogo/m.cogo.html,
+	  misc/m.nviz.script/m.nviz.script.html, ps/ps.map/ps.map.html,
+	  raster/r.horizon/r.horizon.html,
+	  raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.spread/r.spread.html,
+	  raster/r.spreadpath/r.spreadpath.html,
+	  raster3d/r3.mkdspf/r3.mkdspf.html,
+	  scripts/d.rast.edit/d.rast.edit.html, scripts/m.proj/m.proj.html,
+	  scripts/r.in.aster/r.in.aster.html,
+	  scripts/r.in.wms/r.in.wms.html,
+	  scripts/v.in.mapgen/v.in.mapgen.html,
+	  scripts/v.rast.stats/v.rast.stats.html,
+	  sites/s.in.ascii/s.in.ascii.html,
+	  sites/s.out.ascii/s.out.ascii.html,
+	  vector/v.delaunay/v.delaunay.html,
+	  vector/v.distance/v.distance.html, vector/v.in.ogr/v.in.ogr.html,
+	  vector/v.kcv/v.kcv.html, vector/v.label/v.label.html,
+	  vector/v.proj/v.proj.html, vector/v.qcount/v.qcount.html,
+	  vector/v.reclass/v.reclass.html, vector/v.sample/v.sample.html,
+	  vector/v.voronoi/v.voronoi.html,
+	  visualization/nviz/html/nviz_3dsetting.html,
+	  visualization/nviz/html/nviz_image.html,
+	  visualization/nviz/html/nviz_panel_anim.html,
+	  visualization/nviz/html/nviz_panel_color.html,
+	  visualization/nviz/html/nviz_panel_cplane.html,
+	  visualization/nviz/html/nviz_panel_dsf.html,
+	  visualization/nviz/html/nviz_panel_dsf1.html,
+	  visualization/nviz/html/nviz_panel_dsf2.html,
+	  visualization/nviz/html/nviz_panel_dsf3.html,
+	  visualization/nviz/html/nviz_panel_kanim.html,
+	  visualization/nviz/html/nviz_panel_labels.html,
+	  visualization/nviz/html/nviz_panel_lights.html,
+	  visualization/nviz/html/nviz_panel_move.html,
+	  visualization/nviz/html/nviz_panel_pos.html,
+	  visualization/nviz/html/nviz_panel_scale.html,
+	  visualization/nviz/html/nviz_panel_sdiff.html,
+	  visualization/nviz/html/nviz_panel_surf.html,
+	  visualization/nviz/html/nviz_panel_vol.html,
+	  visualization/nviz/html/nviz_panel_what.html,
+	  visualization/nviz/html/nviz_state.html,
+	  visualization/nviz/nviz.html: use lowercase HTML tags
+
+2011-09-29 19:18  neteler
+
+	* db/db.columns/db.columns.html, db/db.connect/db.connect.html,
+	  db/db.copy/db.copy.html, db/db.createdb/db.createdb.html,
+	  db/db.databases/db.databases.html,
+	  db/db.describe/db.describe.html, db/db.drivers/db.drivers.html,
+	  db/db.dropdb/db.dropdb.html, db/db.execute/db.execute.html,
+	  db/db.login/db.login.html, db/db.select/db.select.html,
+	  db/db.tables/db.tables.html, db/drivers/dbf/grass-dbf.html,
+	  db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html,
+	  db/drivers/odbc/grass-odbc.html, db/drivers/ogr/grass-ogr.html,
+	  db/drivers/postgres/grass-pg.html,
+	  display/d.barscale/d.barscale.html,
+	  display/d.colorlist/d.colorlist.html,
+	  display/d.colors/d.colors.html,
+	  display/d.colortable/d.colortable.html,
+	  display/d.extract/d.extract.html, display/d.font/d.font.html,
+	  display/d.fontlist/d.fontlist.html,
+	  display/d.geodesic/d.geodesic.html, display/d.graph/d.graph.html,
+	  display/d.grid/d.grid.html, display/d.his/d.his.html,
+	  display/d.histogram/d.histogram.html, display/d.info/d.info.html,
+	  display/d.labels/d.labels.html, display/d.legend/d.legend.html,
+	  display/d.linegraph/d.linegraph.html,
+	  display/d.measure/d.measure.html, display/d.path/d.path.html,
+	  display/d.profile/d.profile.html,
+	  display/d.rast.arrow/d.rast.arrow.html,
+	  display/d.rast.num/d.rast.num.html, display/d.rast/d.rast.html,
+	  display/d.rgb/d.rgb.html, display/d.rhumbline/d.rhumbline.html,
+	  display/d.text/d.text.html,
+	  display/d.thematic.area/d.thematic.area.html,
+	  display/d.title/d.title.html,
+	  display/d.vect.chart/d.vect.chart.html,
+	  display/d.what.rast/d.what.rast.html,
+	  display/d.what.vect/d.what.vect.html,
+	  display/d.where/d.where.html, display/d.zoom/d.zoom.html,
+	  doc/projectionintro.html, doc/raster/r.example/r.example.html,
+	  doc/vector/v.example/v.example.html, doc/vector/v.modules.html,
+	  doc/vector/vector.html, general/g.access/g.access.html,
+	  general/g.cairocomp/g.cairocomp.html, general/g.copy/g.copy.html,
+	  general/g.dirseps/g.dirseps.html,
+	  general/g.filename/g.filename.html,
+	  general/g.findetc/g.findetc.html, general/g.gui/g.gui.html,
+	  general/g.list/g.list.html, general/g.mapset/g.mapset.html,
+	  general/g.mapsets/g.mapsets.html,
+	  general/g.message/g.message.html,
+	  general/g.mkfontcap/g.mkfontcap.html,
+	  general/g.mlist/g.mlist.html, general/g.mremove/g.mremove.html,
+	  general/g.parser/g.parser.html, general/g.pnmcat/g.pnmcat.html,
+	  general/g.pnmcomp/g.pnmcomp.html,
+	  general/g.ppmtopng/g.ppmtopng.html, general/g.proj/g.proj.html,
+	  general/g.region/g.region.html, general/g.remove/g.remove.html,
+	  general/g.rename/g.rename.html, general/g.setproj/g.setproj.html,
+	  general/g.tempfile/g.tempfile.html,
+	  imagery/i.albedo/i.albedo.html,
+	  imagery/i.aster.toar/i.aster.toar.html,
+	  imagery/i.biomass/i.biomass.html, imagery/i.cca/i.cca.html,
+	  imagery/i.class/i.class.html, imagery/i.cluster/i.cluster.html,
+	  imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_sebal01.html,
+	  imagery/i.eb.netrad/i.eb.netrad.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.emissivity/i.emissivity.html,
+	  imagery/i.evapo.mh/i.evapo.mh.html,
+	  imagery/i.evapo.pm/i.evapo.pm.html,
+	  imagery/i.evapo.pt/i.evapo.pt.html,
+	  imagery/i.evapo.time/i.evapo.time.html, imagery/i.fft/i.fft.html,
+	  imagery/i.gensig/i.gensig.html,
+	  imagery/i.gensigset/i.gensigset.html,
+	  imagery/i.group/i.group.html, imagery/i.his.rgb/i.his.rgb.html,
+	  imagery/i.ifft/i.ifft.html,
+	  imagery/i.landsat.acca/i.landsat.acca.html,
+	  imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.latlong/i.latlong.html, imagery/i.maxlik/i.maxlik.html,
+	  imagery/i.modis.qc/i.modis.qc.html, imagery/i.pca/i.pca.html,
+	  imagery/i.points/i.points.html, imagery/i.rectify/i.rectify.html,
+	  imagery/i.rgb.his/i.rgb.his.html, imagery/i.smap/i.smap.html,
+	  imagery/i.sunhours/i.sunhours.html,
+	  imagery/i.target/i.target.html, imagery/i.vi/i.vi.html,
+	  imagery/i.vpoints/i.vpoints.html, imagery/i.zc/i.zc.html,
+	  imagery/imageryintro.html, lib/db/sqlp/sql.html,
+	  lib/init/grass7.html, lib/init/helptext.html,
+	  misc/m.cogo/m.cogo.html, misc/m.nviz.script/m.nviz.script.html,
+	  misc/m.transform/m.transform.html, ps/ps.map/ps.map.html,
+	  raster/r.cost/r.cost.html, raster/r.distance/r.distance.html,
+	  raster/r.horizon/r.horizon.html,
+	  raster/r.in.lidar/r.in.lidar.html, raster/r.in.xyz/r.in.xyz.html,
+	  raster/r.lake/r.lake.html,
+	  raster/r.le/r.le.patch/r.le.patch.html,
+	  raster/r.le/r.le.pixel/r.le.pixel.html,
+	  raster/r.le/r.le.setup/r.le.setup.html,
+	  raster/r.le/r.le.trace/r.le.trace.html,
+	  raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.mfilter/r.mfilter.html, raster/r.out.png/r.out.png.html,
+	  raster/r.out.ppm3/r.out.ppm3.html,
+	  raster/r.out.tiff/r.out.tiff.html, raster/r.patch/r.patch.html,
+	  raster/r.region/r.region.html,
+	  raster/r.regression.line/r.regression.line.html,
+	  raster/r.resamp.filter/r.resamp.filter.html,
+	  raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.resamp.stats/r.resamp.stats.html,
+	  raster/r.ros/r.ros.html,
+	  raster/r.slope.aspect/r.slope.aspect.html,
+	  raster/r.solute.transport/r.solute.transport.html,
+	  raster/r.spread/r.spread.html,
+	  raster/r.spreadpath/r.spreadpath.html,
+	  raster/r.statistics/r.statistics.html,
+	  raster/r.statistics2/r.statistics2.html, raster/r.sun/r.sun.html,
+	  raster/r.support.stats/r.support.stats.html,
+	  raster/r.support/r.support.html,
+	  raster/r.surf.idw/r.surf.idw.html,
+	  raster/r.texture/r.texture.html, raster/r.thin/r.thin.html,
+	  raster/r.topidx/r.topidx.html, raster/r.topmodel/r.topmodel.html,
+	  raster/r.uslek/r.uslek.html, raster/r.walk/r.walk.html,
+	  raster/r.water.outlet/r.water.outlet.html,
+	  raster/rasterintro.html,
+	  raster/simwe/r.sim.sediment/r.sim.sediment.html,
+	  raster/simwe/r.sim.water/r.sim.water.html,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.mkdspf/r3.mkdspf.html,
+	  scripts/d.correlate/d.correlate.html,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive.html,
+	  scripts/d.polar/d.polar.html,
+	  scripts/d.rast.edit/d.rast.edit.html,
+	  scripts/db.dropcolumn/db.dropcolumn.html,
+	  scripts/db.droptable/db.droptable.html,
+	  scripts/db.in.ogr/db.in.ogr.html, scripts/db.test/db.test.html,
+	  scripts/i.fusion.brovey/i.fusion.brovey.html,
+	  scripts/i.image.mosaic/i.image.mosaic.html,
+	  scripts/i.in.spotvgt/i.in.spotvgt.html,
+	  scripts/i.landsat.rgb/i.landsat.rgb.html,
+	  scripts/i.spectral/i.spectral.html,
+	  scripts/i.tasscap/i.tasscap.html, scripts/m.proj/m.proj.html,
+	  scripts/r.fillnulls/r.fillnulls.html,
+	  scripts/r.in.aster/r.in.aster.html,
+	  scripts/r.in.srtm/r.in.srtm.html,
+	  scripts/r.mapcalculator/r.mapcalculator.html,
+	  scripts/r.mask/r.mask.html, scripts/r.out.xyz/r.out.xyz.html,
+	  scripts/r.reclass.area/r.reclass.area.html,
+	  scripts/r.shaded.relief/r.shaded.relief.html,
+	  scripts/r.tileset/r.tileset.html,
+	  scripts/r3.mapcalculator/r3.mapcalculator.html,
+	  scripts/v.centroids/v.centroids.html,
+	  scripts/v.db.droprow/v.db.droprow.html,
+	  scripts/v.db.join/v.db.join.html, scripts/v.in.e00/v.in.e00.html,
+	  scripts/v.in.geonames/v.in.geonames.html,
+	  scripts/v.in.gns/v.in.gns.html, scripts/v.in.gps/v.in.gps.html,
+	  scripts/v.in.wfs/v.in.wfs.html, scripts/v.out.gps/v.out.gps.html,
+	  scripts/v.report/v.report.html,
+	  scripts/v.what.vect/v.what.vect.html,
+	  sites/s.in.ascii/s.in.ascii.html,
+	  sites/s.out.ascii/s.out.ascii.html,
+	  vector/v.buffer/v.buffer.html, vector/v.build/v.build.html,
+	  vector/v.category/v.category.html, vector/v.class/v.class.html,
+	  vector/v.clean/test/description.html,
+	  vector/v.clean/v.clean.html, vector/v.convert/v.convert.html,
+	  vector/v.db.connect/v.db.connect.html,
+	  vector/v.db.select/v.db.select.html,
+	  vector/v.delaunay/v.delaunay.html,
+	  vector/v.distance/v.distance.html, vector/v.drape/v.drape.html,
+	  vector/v.external/v.external.html,
+	  vector/v.extract/v.extract.html,
+	  vector/v.generalize/v.generalize.html,
+	  vector/v.in.ascii/v.in.ascii.html, vector/v.in.db/v.in.db.html,
+	  vector/v.in.dwg/v.in.dwg.html, vector/v.in.lidar/v.in.lidar.html,
+	  vector/v.in.ogr/v.in.ogr.html,
+	  vector/v.in.region/v.in.region.html, vector/v.info/v.info.html,
+	  vector/v.kcv/v.kcv.html, vector/v.kernel/v.kernel.html,
+	  vector/v.label.sa/v.label.sa.html, vector/v.label/v.label.html,
+	  vector/v.lidar.correction/v.lidar.correction.html,
+	  vector/v.lidar.edgedetection/v.lidar.edgedetection.html,
+	  vector/v.lidar.growing/v.lidar.growing.html,
+	  vector/v.lrs/lrs.html,
+	  vector/v.lrs/v.lrs.create/v.lrs.create.html,
+	  vector/v.lrs/v.lrs.label/v.lrs.label.html,
+	  vector/v.lrs/v.lrs.segment/v.lrs.segment.html,
+	  vector/v.lrs/v.lrs.where/v.lrs.where.html,
+	  vector/v.mkgrid/v.mkgrid.html,
+	  vector/v.neighbors/v.neighbors.html,
+	  vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.allpairs/v.net.allpairs.html,
+	  vector/v.net.bridge/v.net.bridge.html,
+	  vector/v.net.centrality/v.net.centrality.html,
+	  vector/v.net.components/v.net.components.html,
+	  vector/v.net.connectivity/v.net.connectivity.html,
+	  vector/v.net.distance/v.net.distance.html,
+	  vector/v.net.flow/v.net.flow.html,
+	  vector/v.net.iso/v.net.iso.html,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.spanningtree/v.net.spanningtree.html,
+	  vector/v.net.steiner/v.net.steiner.html,
+	  vector/v.net.timetable/v.net.timetable.html,
+	  vector/v.net.visibility/v.net.visibility.html,
+	  vector/v.net/v.net.html, vector/v.normal/v.normal.html,
+	  vector/v.out.dxf/v.out.dxf.html, vector/v.out.ogr/v.out.ogr.html,
+	  vector/v.out.pov/v.out.pov.html, vector/v.out.svg/v.out.svg.html,
+	  vector/v.out.vtk/v.out.vtk.html, vector/v.outlier/v.outlier.html,
+	  vector/v.overlay/v.overlay.html,
+	  vector/v.parallel/v.parallel.html, vector/v.patch/v.patch.html,
+	  vector/v.perturb/v.perturb.html, vector/v.proj/v.proj.html,
+	  vector/v.qcount/v.qcount.html, vector/v.random/v.random.html,
+	  vector/v.reclass/v.reclass.html, vector/v.sample/v.sample.html,
+	  vector/v.segment/v.segment.html, vector/v.select/v.select.html,
+	  vector/v.support/v.support.html,
+	  vector/v.surf.idw/v.surf.idw.html,
+	  vector/v.surf.rst/v.surf.rst.html, vector/v.to.db/v.to.db.html,
+	  vector/v.to.points/v.to.points.html,
+	  vector/v.to.rast/v.to.rast.html,
+	  vector/v.to.rast3/v.to.rast3.html,
+	  vector/v.transform/v.transform.html, vector/v.type/v.type.html,
+	  vector/v.univar/v.univar.html,
+	  vector/v.vect.stats/v.vect.stats.html,
+	  vector/v.vol.rst/v.vol.rst.html, vector/v.voronoi/v.voronoi.html,
+	  vector/v.what.rast/v.what.rast.html, vector/v.what/v.what.html,
+	  vector/vectorintro.html, visualization/nviz/html/bugs_todo.html,
+	  visualization/nviz/html/index.html,
+	  visualization/nviz/html/nviz_3dsetting.html,
+	  visualization/nviz/html/nviz_credit.html,
+	  visualization/nviz/html/nviz_desc.html,
+	  visualization/nviz/html/nviz_hints.html,
+	  visualization/nviz/html/nviz_image.html,
+	  visualization/nviz/html/nviz_panel_anim.html,
+	  visualization/nviz/html/nviz_panel_color.html,
+	  visualization/nviz/html/nviz_panel_cplane.html,
+	  visualization/nviz/html/nviz_panel_dsf.html,
+	  visualization/nviz/html/nviz_panel_dsf1.html,
+	  visualization/nviz/html/nviz_panel_dsf2.html,
+	  visualization/nviz/html/nviz_panel_dsf3.html,
+	  visualization/nviz/html/nviz_panel_kanim.html,
+	  visualization/nviz/html/nviz_panel_labels.html,
+	  visualization/nviz/html/nviz_panel_lights.html,
+	  visualization/nviz/html/nviz_panel_move.html,
+	  visualization/nviz/html/nviz_panel_pos.html,
+	  visualization/nviz/html/nviz_panel_scale.html,
+	  visualization/nviz/html/nviz_panel_sdiff.html,
+	  visualization/nviz/html/nviz_panel_sites.html,
+	  visualization/nviz/html/nviz_panel_surf.html,
+	  visualization/nviz/html/nviz_panel_vect.html,
+	  visualization/nviz/html/nviz_panel_vol.html,
+	  visualization/nviz/html/nviz_panel_what.html,
+	  visualization/nviz/html/nviz_quit.html,
+	  visualization/nviz/html/nviz_script.html,
+	  visualization/nviz/html/nviz_startup.html,
+	  visualization/nviz/html/nviz_state.html,
+	  visualization/nviz/html/nviz_toc.html,
+	  visualization/nviz/nviz.html, visualization/xganim/xganim.html:
+	  use lowercase HTML tags
+
+2011-09-29 11:14  mmetz
+
+	* vector/v.db.select/main.c: remove bogus test
+
+2011-09-29 11:09  mmetz
+
+	* vector/v.db.select/main.c: close cursor before database and
+	  driver
+
+2011-09-29 09:08  martinl
+
+	* scripts/g.manual/g.manual.py: g.manual: enable to display also
+	  manual pages of addons modules
+
+2011-09-28 20:07  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: add addons module
+	  to the path (be more safe)
+
+2011-09-28 19:53  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: add addons module
+	  to the path
+
+2011-09-28 17:20  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: GSoC testing removed from
+	  the menu
+
+2011-09-28 14:10  martinl
+
+	* misc/m.nviz.image/m.nviz.image.html: m.nviz.image: cosmetics in
+	  manual page (link name)
+
+2011-09-28 13:53  martinl
+
+	* misc/m.nviz.image/Makefile, misc/m.nviz.image/m.nviz.image,
+	  misc/m.nviz.image/m.nviz.image.html: m.nviz.image: fix Makefile
+	  after moving from `visualization`
+
+2011-09-28 13:48  martinl
+
+	* misc/Makefile, misc/m.nviz.image, visualization/Makefile,
+	  visualization/m.nviz.image: visualization/m.nviz.image ->
+	  misc/n.nviz.image (see r48533)
+
+2011-09-28 13:43  martinl
+
+	* visualization/m.nviz.image/m.nviz.image,
+	  visualization/m.nviz.image/nviz_cmd.html: nviz_cmd ->
+	  m.nviz.image (pass 1)
+
+2011-09-28 13:43  martinl
+
+	* visualization/Makefile, visualization/m.nviz.image,
+	  visualization/nviz2: nviz2/cmd -> m.nviz.image
+
+2011-09-28 13:39  martinl
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/xml/menudata.xml, visualization/nviz2/cmd/Makefile,
+	  visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/nviz_cmd.html: nviz_cmd -> m.nviz.image
+	  (pass 1)
+
+2011-09-28 12:12  hamish
+
+	* visualization/nviz/html/bugs_todo.html,
+	  visualization/nviz/html/nviz_panel_kanim.html: rename of d.nviz
+	  to m.nviz.script, cont.
+
+2011-09-28 12:10  hamish
+
+	* display/Makefile, general/Makefile,
+	  imagery/i.rectify/i.rectify.html, misc/Makefile: rename
+	  g.transform as m.transform, part 3
+
+2011-09-28 12:04  hamish
+
+	* gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/gui_modules/gcpmanager.py,
+	  misc/m.transform/Makefile, misc/m.transform/g.transform.html,
+	  misc/m.transform/m.transform.html, misc/m.transform/main.c:
+	  rename g.transform as m.transform, part 2
+
+2011-09-28 11:58  hamish
+
+	* general/g.transform, misc/m.transform: rename g.transform as
+	  m.transform, part 1
+
+2011-09-28 11:56  hamish
+
+	* misc/m.nviz.script/Makefile, misc/m.nviz.script/d.nviz.html,
+	  misc/m.nviz.script/m.nviz.script.html, misc/m.nviz.script/main.c:
+	  rename d.nviz as m.nviz.script part 2 (placeholder for wx
+	  replacement)
+
+2011-09-28 11:52  hamish
+
+	* display/d.nviz, misc/m.nviz.script: rename d.nviz as
+	  m.nviz.script (placeholder for wx replacement)
+
+2011-09-28 11:18  hamish
+
+	* general/g.proj/datumtrans.c: add another debug message to help
+	  with #1452 (merge from devbr6)
+
+2011-09-28 10:34  martinl
+
+	* gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  handler for creating new mapset
+
+2011-09-28 10:11  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: correct Sash position on Windows
+	  (merge r48525 from relbr64)
+
+2011-09-27 23:53  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: v.extract - list -> cats
+
+2011-09-27 23:42  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: add possibility to
+	  define key column when creating new map (#287)
+
+2011-09-27 22:12  martinl
+
+	* raster/r.surf.area/area.c, raster/r.surf.area/local_proto.h,
+	  raster/r.surf.area/main.c, raster/r.surf.area/r.surf.area.html:
+	  r.surf.area: major clean up for G7
+	  option <units> added
+
+2011-09-27 19:04  martinl
+
+	* display/d.vect/main.c: d.vect: sort symbols
+
+2011-09-27 18:08  martinl
+
+	* man/build_html.py, raster3d/raster3dintro.html: mix voxel and
+	  volumes in manual pages
+
+2011-09-27 17:57  neteler
+
+	* locale/po/grassmods_de.po: Robert Nuske: completely translated
+
+2011-09-27 13:53  neteler
+
+	* lib/init/grass.py: silently accept --flags, too
+
+2011-09-27 09:56  hamish
+
+	* ps/ps.map/get_scalebar.c, ps/ps.map/getgrid.c: missing commas
+
+2011-09-27 09:55  hamish
+
+	* ps/ps.map/do_labels.c, ps/ps.map/get_scalebar.c,
+	  ps/ps.map/getgrid.c, ps/ps.map/ps_outline.c: bugfix: inch scaling
+	  was backwards
+
+2011-09-27 09:03  neteler
+
+	* vector/v.outlier/v.outlier.html: say that 3D input is needed
+
+2011-09-26 21:11  glynn
+
+	* lib/gis/rd_cellhd.c: Fix allocation bug (wrong pointer type in
+	  "sizeof")
+
+2011-09-26 20:18  neteler
+
+	* locale/po/grasslibs_de.po: Robert Nuske: cont'ed
+
+2011-09-26 13:37  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: avoid FP legend ticks and border width
+	  from growing too huge (#1453)
+
+2011-09-26 10:22  hamish
+
+	* ps/ps.map/do_plt.c, ps/ps.map/ps.map.html, ps/ps.map/r_plt.c:
+	  bugfix: (r_plt.c) inch scaling was backwards;
+	  merge in modified version of 'point' width patch from #1453
+	  (thanks mmetz);
+	  r_plt.c: no reason to specify line widths smaller than 1/1000"
+	  (%.8f -> %.2f);
+	  pixels -> points in the help page, mention 0.5i capability.
+
+2011-09-26 08:04  hamish
+
+	* ps/ps.map/key_data.c: mmetz: let the comment char have whitespace
+	  in front of it (#1453)
+
+2011-09-26 06:28  hamish
+
+	* raster/r.random/support.c, raster/r.reclass/reclass.c,
+	  raster/r.recode/main.c, raster/r.recode/recode.c,
+	  raster/r.slope.aspect/main.c, raster/r.sunmask/main.c,
+	  raster/simwe/simlib/output.c: add Rast_command_history();
+	  r.recode: fix title=;
+	  simwe/simlib: i18n/std'ize error messages
+	  (merge from devbr6)
+
+2011-09-26 05:48  hamish
+
+	* lib/raster/history.c: hist file no longer limited by small array
+	  size
+
+2011-09-25 09:56  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: use
+	  goutput.GetLog
+	  goutput - fix typo in variable name
+
+2011-09-25 09:46  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: fix stdout,
+	  stderr names (changed in r48344)
+
+2011-09-24 16:24  martinl
+
+	* lib/vector/Vlib/level_two.c: vlib: improve doxygen docs for
+	  Vect_get_centroid_area()
+
+2011-09-24 16:22  martinl
+
+	* display/d.vect/topo.c: d.vect/topo: show L/R for boundaries and A
+	  for centroids
+
+2011-09-24 16:06  martinl
+
+	* vector/v.edit/main.c: v.edit: add --overwrite flag (for
+	  `tool=create`)
+
+2011-09-24 16:00  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: improve r48450 (check
+	  for element type)
+
+2011-09-24 15:57  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix r48444, allow
+	  output=-
+
+2011-09-24 11:56  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: re-arange command output buttons - r48344
+	  Mac OSX-related fix
+
+2011-09-24 11:48  martinl
+
+	* vector/v.edit/v.edit.html: v.edit: minor manual update
+
+2011-09-24 11:38  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: do not allow to run
+	  commands which tries to read stdin
+
+2011-09-24 11:35  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI: force rename when
+	  adding group to the Layer Tree
+
+2011-09-24 11:34  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI_layer_manager.jpg: wxGUI: add `meta page`
+	  desc for manual pages
+	  update Layer Manager screenshot
+
+2011-09-24 01:07  cmbarton
+
+	* gui/wxpython/gui_modules/goutput.py: Fixing button panel sizing
+	  for command prompt in wxGUI
+
+2011-09-23 22:34  huhabla
+
+	* lib/python/temporal/abstract_datasets.py, temporal/Makefile,
+	  temporal/tr.extract, temporal/tr.extract/Makefile,
+	  temporal/tr.extract/test.tr.extract.sh,
+	  temporal/tr.extract/tr.extract.html,
+	  temporal/tr.extract/tr.extract.py, temporal/tr.series,
+	  temporal/tr.series/Makefile,
+	  temporal/tr.series/test.tr.series.sh,
+	  temporal/tr.series/tr.series.html,
+	  temporal/tr.series/tr.series.py: Implemented a simple r.series
+	  wrapper for space time raster datasets.
+
+2011-09-23 20:46  martinl
+
+	* vector/v.out.ascii/args.c: v.out.ascii: add descriotions for
+	  <format> option
+
+2011-09-23 20:36  martinl
+
+	* man/build_html.py: r48436 - modify build_html.py (vectorascii)
+
+2011-09-23 20:36  martinl
+
+	* lib/vector/Makefile: r48436 - modify Makefile
+
+2011-09-23 20:35  martinl
+
+	* lib/vector/vectorascii.html, vector/v.edit/v.edit.html,
+	  vector/v.in.ascii/v.in.ascii.html,
+	  vector/v.out.ascii/v.out.ascii.html: GRASS ASCII vector format
+	  explained in seperate manual page
+	  manual page of v.in.ascii, v.out.ascii and v.edit update
+	  accordingly
+
+2011-09-23 19:41  martinl
+
+	* man/build_html.py, raster3d/raster3dintro.html: manual: voxel ->
+	  volume (3D raster maps)
+
+2011-09-23 19:30  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/main.c: v.edit: require
+	  <input> for `tool=add`
+
+2011-09-23 18:03  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: #1014 (wxgui: display
+	  labels doesn't work)
+
+2011-09-23 17:57  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: don't
+	  overwrite pMap variable
+
+2011-09-23 17:43  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: show note about
+	  readonly mode on all pages
+
+2011-09-23 17:37  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: don't use Python
+	  reserved words as variable names
+
+2011-09-23 17:13  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: #1007 (WxGUI should
+	  provide visual feedback when adding new db column)
+
+2011-09-23 14:14  martinl
+
+	* scripts/v.db.update/v.db.update.html: v.db.update: add missing
+	  </pre></div>
+
+2011-09-23 14:07  martinl
+
+	* display/d.mon/d.mon.html: d.mon: manual page cosmetics
+
+2011-09-23 14:06  martinl
+
+	* display/displaydrivers.html: update displaydrivers.html, note
+	  d.mon module
+
+2011-09-23 13:55  martinl
+
+	* general/g.access/main.c: g.access: more guisections
+
+2011-09-22 16:44  martinl
+
+	* gui/wxpython/gui_modules/profile.py: wxGUI/profile: update code
+	  to follow wxGUI coding rules
+
+2011-09-22 16:15  martinl
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/histogram2.py: wxGUI/histogram: update
+	  code to follow coding rules
+	  clean-up list of modules to be imported
+
+2011-09-22 15:36  martinl
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/icons/icon.py: wxGUI: simplify histogram labels
+	  (cosmetics)
+
+2011-09-22 15:28  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/histogram2.py: wxGUI: add histogram2 to
+	  gui_modules/__init__.py
+
+2011-09-22 15:22  martinl
+
+	* gui/wxpython/gui_modules/histogram2.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: fix calling Histogram
+	  and HistogramPyPlot
+
+2011-09-22 07:05  cmbarton
+
+	* gui/wxpython/gui_modules/histogram2.py: wxGUI: fix problem with
+	  FP map bins for new histogramming tool.
+
+2011-09-22 06:11  cmbarton
+
+	* gui/wxpython/gui_modules/histogram2.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: enabling
+	  automatic selection of map from layer tree for histogramming
+
+2011-09-22 05:19  cmbarton
+
+	* gui/wxpython/gui_modules/histogram2.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: new histogramming
+	  tool based on PyPlot. Histograms single maps and imagery groups,
+	  with control over line colors and styles, axes and other plot
+	  features.
+
+2011-09-21 21:45  huhabla
+
+	* lib/temporal/Makefile: Fixed missing sql directory creation.
+
+2011-09-21 21:11  huhabla
+
+	* lib/python/temporal/Makefile, lib/python/temporal/__init__.py:
+	  Moved the temporal GIS code from grass.script into a separate
+	  library structure named grass.temporal.
+
+2011-09-21 21:09  huhabla
+
+	* lib/python/__init__.py, lib/python/grass__init__.py: Moved the
+	  temporal GIS code from grass.script into a separate library
+	  structure named grass.temporal.
+
+2011-09-21 21:06  huhabla
+
+	* lib/python/Makefile, lib/python/temporal,
+	  lib/python/temporal/abstract_datasets.py,
+	  lib/python/temporal/base.py, lib/python/temporal/core.py,
+	  lib/python/temporal/metadata.py,
+	  lib/python/temporal/space_time_datasets.py,
+	  lib/python/temporal/spatial_extent.py,
+	  lib/python/temporal/temporal_extent.py,
+	  lib/python/tgis_abstract_datasets.py, lib/python/tgis_base.py,
+	  lib/python/tgis_core.py, lib/python/tgis_metadata.py,
+	  lib/python/tgis_space_time_datasets.py,
+	  lib/python/tgis_spatial_extent.py,
+	  lib/python/tgis_temporal_extent.py, lib/temporal/Makefile,
+	  temporal/t.create/t.create.py, temporal/t.info/t.info.py,
+	  temporal/t.list/t.list.py, temporal/t.remove/t.remove.py,
+	  temporal/t.time.abs/t.time.abs.py,
+	  temporal/t.time.rel/t.time.rel.py,
+	  temporal/tr.register/tr.register.py,
+	  temporal/tr.unregister/tr.unregister.py,
+	  temporal/tr3.register/tr3.register.py,
+	  temporal/tr3.unregister/tr3.unregister.py,
+	  temporal/tv.register/tv.register.py,
+	  temporal/tv.unregister/tv.unregister.py: Moved the temporal GIS
+	  code from grass.script into a separate library structure named
+	  grass.temporal.
+
+2011-09-21 19:57  huhabla
+
+	* lib/raster3d/open2.c, lib/raster3d/tilemath.c: Fixed wrong tile
+	  size computation in case of huge raster3d maps.
+
+2011-09-21 17:54  huhabla
+
+	* lib/raster3d/close.c: Fixed wrong map name arguments in error
+	  messages. Fixed wrong return value validation when writing map
+	  history.
+
+2011-09-21 16:20  martinl
+
+	* gui/icons/grass/layer-export.png,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI: implement GdalOutputDialog for
+	  v.external.out
+
+2011-09-21 06:57  hamish
+
+	* general/g.proj/datumtrans.c: add some debug messages to help with
+	  #1452
+
+2011-09-20 22:33  huhabla
+
+	* lib/python/tgis_abstract_datasets.py,
+	  lib/python/tgis_space_time_datasets.py,
+	  lib/python/tgis_temporal_extent.py,
+	  lib/temporal/map_tables_template.sql,
+	  lib/temporal/raster3d_metadata_table.sql,
+	  lib/temporal/raster_metadata_table.sql,
+	  lib/temporal/stds_map_register_table_template.sql,
+	  lib/temporal/stds_tables_template.sql,
+	  lib/temporal/str3ds_metadata_table.sql,
+	  lib/temporal/strds_metadata_table.sql,
+	  lib/temporal/stvds_metadata_table.sql,
+	  lib/temporal/update_stds_spatial_temporal_extent_template.sql,
+	  lib/temporal/vector_metadata_table.sql,
+	  temporal/t.time.rel/t.time.rel.py,
+	  temporal/t.time.rel/test.t.time.rel.sh: Implemented the use of
+	  start and end time in absolute and relative time representation.
+
+2011-09-20 21:58  martinl
+
+	* lib/gis/Makefile, lib/gis/parser_script.c: libgis: G__script(),
+	  respect current year in the script-like output
+
+2011-09-20 20:52  neteler
+
+	* raster/r.to.vect/main.c: msg tuning
+
+2011-09-20 14:31  martinl
+
+	* raster/r.to.vect/main.c: r.to.vect: use standard key for feature
+	  type option
+
+2011-09-20 14:29  martinl
+
+	* raster/r.to.vect/main.c: r.to.vect: use standardized options
+	  don't define feature answer
+
+2011-09-20 14:10  mmetz
+
+	* vector/v.voronoi/main.c: v.voronoi: add messages
+
+2011-09-20 14:05  martinl
+
+	* display/Makefile, display/displaydrivers.html: re-add
+	  displaydrivers.html - r48353
+
+2011-09-20 13:55  mmetz
+
+	* vector/v.voronoi/main.c: v.voronoi: fix for holes in output
+	  (#957)
+
+2011-09-20 13:29  martinl
+
+	* scripts/v.db.join/v.db.join.py: v.db.join: message cosmetics +
+	  i18n
+
+2011-09-20 12:57  huhabla
+
+	* scripts/v.db.join/v.db.join.py: Sqlite3 does not support the
+	  precision number. Do not call db.addcolumn
+	  if column esists in vector map table.
+
+2011-09-20 12:03  huhabla
+
+	* raster/r.to.vect/main.c: Support user defined column names.
+
+2011-09-20 07:06  mmetz
+
+	* vector/v.voronoi/sw_main.c, vector/v.voronoi/vo_extend.c:
+	  v.voronoi: fix for #957
+
+2011-09-19 22:45  huhabla
+
+	* lib/python/tgis_abstract_datasets.py,
+	  lib/python/tgis_space_time_datasets.py,
+	  lib/python/tgis_temporal_extent.py,
+	  lib/temporal/stds_map_register_table_template.sql,
+	  lib/temporal/update_stds_spatial_temporal_extent_template.sql,
+	  temporal/Makefile, temporal/t.create/t.create.py,
+	  temporal/t.time.abs, temporal/t.time.abs/Makefile,
+	  temporal/t.time.abs/t.time.abs.html,
+	  temporal/t.time.abs/t.time.abs.py,
+	  temporal/t.time.abs/test.t.time.abs.sh, temporal/t.time.rel,
+	  temporal/t.time.rel/Makefile,
+	  temporal/t.time.rel/t.time.rel.html,
+	  temporal/t.time.rel/t.time.rel.py,
+	  temporal/t.time.rel/test.t.time.rel.sh: New temporal modules to
+	  set absolute and relative valid time for raster, vector and
+	  raster3d maps.
+
+2011-09-19 20:27  lucadelu
+
+	* locale/po/grassnviz_it.po, locale/po/grasswxpy_it.po: italian
+	  translationt: update grasswxpy, add grassnviz
+
+2011-09-19 19:35  neteler
+
+	* raster/r.texture/r.texture.html: cleanup
+
+2011-09-19 09:08  lucadelu
+
+	* locale/po/grasswxpy_it.po: update italian grasswxpy
+
+2011-09-19 08:14  mmetz
+
+	* db/drivers/sqlite/describe.c: SQLite driver: understand datetime
+	  (#730)
+
+2011-09-19 02:59  hamish
+
+	* lib/symbol/symbol/geology/half-arrow_left,
+	  lib/symbol/symbol/geology/half-arrow_right,
+	  lib/symbol/symbol/geology/half_arrow: rename to match other
+	  half-symbols, add right side variant
+
+2011-09-18 22:14  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.list/t.list.py,
+	  temporal/t.remove/t.remove.py: Use the new sqlite3 database
+	  interface handling method.
+
+2011-09-18 22:12  huhabla
+
+	* lib/python/tgis_abstract_datasets.py, lib/python/tgis_base.py,
+	  lib/python/tgis_space_time_datasets.py: Better sqlite database
+	  interface design. Reduced the sqlite3 open and close calls, now
+	  the registration and unregistration of maps in space time
+	  datasets should be much faster (5 - 50 times).
+
+2011-09-18 21:40  martinl
+
+	* db/databaseintro.html, display/displaydrivers.html,
+	  doc/projectionintro.html, imagery/imageryintro.html,
+	  include/Make/Html.make, raster/rasterintro.html,
+	  raster3d/raster3dintro.html, tools/mkhtml.py,
+	  vector/vectorintro.html: update `intro` pages, add header and
+	  footer using mkhtml.py
+
+2011-09-18 17:12  mmetz
+
+	* db/drivers/sqlite/create_table.c, db/drivers/sqlite/describe.c,
+	  db/drivers/sqlite/execute.c, db/drivers/sqlite/fetch.c,
+	  db/drivers/sqlite/index.c, db/drivers/sqlite/listtab.c,
+	  db/drivers/sqlite/select.c: SQLite driver: get real return codes
+
+2011-09-18 16:05  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: update year
+	  (copyright)
+
+2011-09-18 15:11  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: re-arange command output buttons
+	  update goutput.py to follow coding rules
+
+2011-09-18 12:06  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py, gui/wxpython/wxgui.py:
+	  wxGUI/modeler: #1448 (run model menu item does not seem to work)
+	  run model from the menu
+
+2011-09-18 08:11  hamish
+
+	* lib/symbol/symbol/geology/half_arrow: new symbol: barb is 37% of
+	  the shaft length @ 28 degrees
+
+2011-09-18 02:29  hamish
+
+	* scripts/v.db.dropcolumn/v.db.dropcolumn.py: be explicit about
+	  what's going to happen to the given columns
+
+2011-09-17 19:29  lucadelu
+
+	* scripts/v.db.dropcolumn/v.db.dropcolumn.py: implement remove of
+	  multi column, ticket 853
+
+2011-09-17 18:49  lucadelu
+
+	* locale/po/grasswxpy_it.po: update grasswxpy_it
+
+2011-09-17 14:39  mmetz
+
+	* vector/v.reclass/main.c: v.reclass: fix for #548
+
+2011-09-17 14:38  mmetz
+
+	* db/drivers/sqlite/create_table.c, db/drivers/sqlite/describe.c,
+	  db/drivers/sqlite/execute.c, db/drivers/sqlite/fetch.c,
+	  db/drivers/sqlite/index.c, db/drivers/sqlite/main.c,
+	  db/drivers/sqlite/select.c: SQLITE driver: fix for #548
+
+2011-09-17 12:12  huhabla
+
+	* svn-commit.3.tmp, svn-commit.tmp: Wrong commit revert. Removed
+	  incorrect files.
+
+2011-09-17 12:08  huhabla
+
+	* lib/python/tgis_abstract_datasets.py, lib/python/tgis_base.py,
+	  lib/python/tgis_metadata.py, lib/python/tgis_spatial_extent.py,
+	  lib/python/tgis_temporal_extent.py,
+	  lib/temporal/test.temporal.py, svn-commit.3.tmp, svn-commit.tmp:
+	  Better metadata info.
+
+2011-09-17 09:31  mmetz
+
+	* vector/v.clean/main.c, vector/v.clean/v.clean.html: add new flag
+	  to combine tools with recommended follow-up tools
+
+2011-09-16 23:05  huhabla
+
+	* Makefile, lib/Makefile, lib/python/__init__.py,
+	  lib/python/tgis_abstract_datasets.py, lib/python/tgis_base.py,
+	  lib/python/tgis_core.py, lib/python/tgis_space_time_datasets.py,
+	  lib/temporal/stds_map_register_table_template.sql,
+	  lib/temporal/stds_raster3d_register_trigger_template.sql,
+	  lib/temporal/stds_raster_register_trigger_template.sql,
+	  lib/temporal/update_stds_spatial_temporal_extent_template.sql,
+	  lib/temporal/update_str3ds_metadata_template.sql,
+	  lib/temporal/update_strds_metadata_template.sql,
+	  lib/temporal/update_stvds_metadata_template.sql,
+	  temporal/Makefile, temporal/t.list/t.list.py,
+	  temporal/t.remove/t.remove.py, temporal/tgisintro.html,
+	  temporal/tr.register/register_ECAD_maps_temp_mean_1995_2010.py,
+	  temporal/tr.register/test.tr.register.sh,
+	  temporal/tr.register/tr.register.py,
+	  temporal/tr.unregister/tr.unregister.py, temporal/tr3.register,
+	  temporal/tr3.register/Makefile,
+	  temporal/tr3.register/test.tr3.register.sh,
+	  temporal/tr3.register/tr3.register.html,
+	  temporal/tr3.register/tr3.register.py, temporal/tr3.unregister,
+	  temporal/tr3.unregister/Makefile,
+	  temporal/tr3.unregister/tr3.unregister.html,
+	  temporal/tr3.unregister/tr3.unregister.py, temporal/tv.register,
+	  temporal/tv.register/Makefile,
+	  temporal/tv.register/test.tv.register.sh,
+	  temporal/tv.register/tv.register.html,
+	  temporal/tv.register/tv.register.py, temporal/tv.unregister,
+	  temporal/tv.unregister/Makefile,
+	  temporal/tv.unregister/tv.unregister.html,
+	  temporal/tv.unregister/tv.unregister.py: TGIS registration
+	  modules for raster, raster3d and vector maps implemented.
+
+2011-09-16 19:00  neteler
+
+	* lib/python/tgis_abstract_datasets.py, lib/python/tgis_base.py:
+	  typos fixed
+
+2011-09-16 11:15  annakrat
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml,
+	  gui/wxpython/xml/menudata_psmap.xml: wx.psmap: renamed from
+	  Hardcopy Map Output Utility to Cartographic Composer
+
+2011-09-16 11:00  hamish
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: spelling, inch -> naut
+	  miles: 100 * 1852 / 2.54 = 72913.3858267717 (merge from devbr6)
+
+2011-09-16 09:25  annakrat
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: wx.psmap: add missing
+	  translatable strings to page setup dialog; make units
+	  translatable
+
+2011-09-16 07:38  hamish
+
+	* lib/init/clean_temp.c: error in comment
+
+2011-09-16 01:16  lucadelu
+
+	* lib/init/grass.py: add revision parameter to --config option
+
+2011-09-15 23:39  huhabla
+
+	* lib/python/tgis_abstract_datasets.py, lib/python/tgis_core.py,
+	  lib/temporal/test.temporal.py, temporal/t.remove/t.remove.py,
+	  temporal/tr.register/test.tr.register.sh,
+	  temporal/tr.register/tr.register.py,
+	  temporal/tr.unregister/tr.unregister.py: Tests for temporal
+	  database handling implemented. All implemented temporal gis
+	  modules are now full functional.
+
+2011-09-15 21:42  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py, gui/wxpython/wxgui.py:
+	  wxGUI: attempt to fix #1448 (run model menu item does not seem to
+	  work)
+
+2011-09-15 21:40  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: minor fix for
+	  OGR
+
+2011-09-14 07:40  huhabla
+
+	* lib/python/tgis_abstract_datasets.py,
+	  lib/temporal/map_stds_register_table_template.sql,
+	  lib/temporal/raster_metadata_table.sql,
+	  lib/temporal/stvds_metadata_table.sql,
+	  lib/temporal/test.temporal.py,
+	  lib/temporal/vector_metadata_table.sql,
+	  temporal/tr.register/tr.register.py,
+	  temporal/tr.unregister/tr.unregister.py: Minor fixes in map
+	  registration logic.
+
+2011-09-14 05:04  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Changing cutting plane
+	  horizontal sliders back to x and y
+
+2011-09-14 01:16  huhabla
+
+	* temporal/t.info/t.info.py: Print info about all datasets in the
+	  temporal database
+
+2011-09-14 01:12  huhabla
+
+	* lib/gmath/ATLAS_wrapper_blas_level_1.c, lib/gmath/blas_level_1.c,
+	  lib/gmath/blas_level_2.c, lib/gmath/blas_level_3.c: Typo fixes
+
+2011-09-14 01:06  huhabla
+
+	* temporal/t.create/t.create.py, temporal/t.list,
+	  temporal/t.list/Makefile, temporal/t.list/t.list.html,
+	  temporal/t.list/t.list.py, temporal/t.remove/t.remove.py,
+	  temporal/tr.register, temporal/tr.register/Makefile,
+	  temporal/tr.register/tr.register.html,
+	  temporal/tr.register/tr.register.py, temporal/tr.unregister,
+	  temporal/tr.unregister/Makefile,
+	  temporal/tr.unregister/tr.unregister.html,
+	  temporal/tr.unregister/tr.unregister.py: New modules for temporal
+	  dataset handling and management.
+
+2011-09-14 01:00  huhabla
+
+	* lib/python/Makefile, lib/python/__init__.py,
+	  lib/python/temporal.py, lib/python/tgis_abstract_datasets.py,
+	  lib/python/tgis_base.py, lib/python/tgis_core.py,
+	  lib/python/tgis_metadata.py,
+	  lib/python/tgis_space_time_datasets.py,
+	  lib/python/tgis_spatial_extent.py,
+	  lib/python/tgis_temporal_extent.py: Split of the temporal gis
+	  python library into several files. Management functionality
+	  (create, remove, register, unregister, ...) of the temporal GIS
+	  is now functional.
+
+2011-09-14 00:58  huhabla
+
+	* lib/temporal/map_stds_register_table_template.sql,
+	  lib/temporal/stds_vector_register_trigger_template.sql,
+	  lib/temporal/str3ds_metadata_table.sql,
+	  lib/temporal/strds_metadata_table.sql,
+	  lib/temporal/stvds_metadata_table.sql,
+	  lib/temporal/test.temporal.py: Minor SQL fixes and improved table
+	  name handling.
+
+2011-09-13 22:08  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: fix copying
+	  feature from background map
+
+2011-09-13 21:12  martinl
+
+	* lib/vector/Vlib/write.c: vlib: fix delete fns array (direct ogr
+	  access)
+
+2011-09-13 21:07  martinl
+
+	* display/d.vect/lines.c, display/d.vect/main.c: d.vect: fix -i
+	  flag (requires random access)
+
+2011-09-13 20:15  neteler
+
+	* raster3d/r3.cross.rast/r3.cross.rast.html,
+	  raster3d/r3.gwflow/r3.gwflow.html,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.in.v5d/r3.in.v5d.html, raster3d/r3.info/r3.info.html,
+	  raster3d/r3.mask/r3.mask.html, raster3d/r3.null/r3.null.html,
+	  raster3d/r3.out.ascii/r3.out.ascii.html,
+	  raster3d/r3.out.v5d/r3.out.v5d.html,
+	  raster3d/r3.out.vtk/r3.out.vtk.html,
+	  raster3d/r3.retile/r3.retile.html,
+	  raster3d/r3.stats/r3.stats.html,
+	  raster3d/r3.timestamp/r3.timestamp.html,
+	  raster3d/r3.to.rast/r3.to.rast.html: HTML prettified
+
+2011-09-13 20:13  neteler
+
+	* display/d.mon/check.c: remove empty file
+
+2011-09-13 19:49  annakrat
+
+	* gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py: wx.psmap: fix color
+	  setting; read andwrite page orientation
+
+2011-09-13 19:21  martinl
+
+	* lib/vector/Vlib/read.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_ogr.c,
+	  lib/vector/diglib/plus_line.c: vlib: fix Vect_rewrite_line_ogr()
+	  various minor fixes in reading/writing features
+
+2011-09-13 16:14  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: attempt to fix #1398
+	  (problem with multiple entry selection)
+	  (merge r48264 from relbr64)
+
+2011-09-13 09:25  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: `v.in.ogr -t` ->
+	  `v.in.ogr -a`
+
+2011-09-13 09:21  huhabla
+
+	* vector/v.info/print.c: Use double values for spatial extent in
+	  shell style output
+
+2011-09-13 07:59  mmetz
+
+	* vector/v.in.ogr/main.c: v.in.ogr: change duplicate flag
+
+2011-09-13 06:31  cmbarton
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: Partial fix of
+	  remaining color setting bugs. Code cleanup.
+
+2011-09-12 22:39  hamish
+
+	* raster/r.univar/globals.h: change off_t to size_t on the advice
+	  of Glynn
+
+2011-09-12 20:39  neteler
+
+	* tools/reindent.py: Python indentation tool from
+	  http://svn.python.org/view/python/trunk/Tools/scripts/reindent.py
+
+2011-09-12 17:59  glynn
+
+	* scripts/m.proj/m.proj.py: Remove debug "print"s
+
+2011-09-12 17:57  glynn
+
+	* scripts/m.proj/m.proj.py: More robust parsing of cs2cs output
+
+2011-09-12 12:19  annakrat
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: wx.psmap: fix error
+	  when setting color of vector points
+
+2011-09-12 12:00  martinl
+
+	* lib/init/Makefile, lib/init/grass.py, lib/init/prompt.py:
+	  introduce prompt.py (check for mask)
+
+2011-09-12 08:43  hamish
+
+	* debian/README.debian: git notes (merge from devbr6)
+
+2011-09-11 21:25  neteler
+
+	* vector/v.kernel/main.c: since default is defined, required = NO
+
+2011-09-11 21:25  hamish
+
+	* raster/r.univar/globals.h, raster/r.univar/stats.c: allow n to be
+	  really big
+
+2011-09-11 13:44  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: con'ed
+
+2011-09-11 06:42  annakrat
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: wx.psmap: change
+	  default colors for text and mapinfo background, remove redundant
+	  code
+
+2011-09-10 20:21  cmbarton
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: Reverting accidental
+	  commenting out of lines 4582-3
+
+2011-09-10 20:16  cmbarton
+
+	* gui/wxpython/gui_modules/psmap.py: Revert change to line 1328
+
+2011-09-10 04:47  hamish
+
+	* gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py: add a tooltip explaining
+	  that 'map scale' as given here is only really accurate to within
+	  the order of magnitude (see #1381)
+
+2011-09-09 22:48  cmbarton
+
+	* gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py: Makes text and map
+	  info background and borders visible in pdf preview and output.
+	  Gets rid of "exit with 1" errors.
+
+2011-09-09 22:29  glynn
+
+	* scripts/m.proj/m.proj.py: Fix deadlock (for real, hopefully)
+
+2011-09-09 18:38  annakrat
+
+	* gui/wxpython/gui_modules/preferences.py: wxNviz: lower default
+	  zoom step
+
+2011-09-09 18:33  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py: wxNviz: cutting planes:
+	  default shading changed, fix cplanes indexing, remove unused
+	  functionality
+
+2011-09-09 12:54  annakrat
+
+	* gui/wxpython/gui_modules/psmap.py: wx.psmap: fix text background
+	  color
+
+2011-09-09 09:37  annakrat
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: wx.psmap: enable to
+	  write accented characters (supported by Latin1)
+
+2011-09-09 09:35  annakrat
+
+	* gui/wxpython/gui_modules/psmap.py: wx.psmap: fix creating font
+	  for rendering text in draft mode
+
+2011-09-08 21:58  cmbarton
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: Bug fixes and
+	  enhancements to color management
+
+2011-09-08 13:50  martinl
+
+	* mswindows/osgeo4w: update svn props for mswindows
+
+2011-09-08 13:47  martinl
+
+	* mswindows/osgeo4w/package.sh: wingrass: create 'package' dir in
+	  'mswindows/osgeo4w'
+
+2011-09-08 12:51  huhabla
+
+	* lib/temporal/map_tables_template.sql,
+	  lib/temporal/raster3d_metadata_table.sql,
+	  lib/temporal/raster_metadata_table.sql,
+	  lib/temporal/stds_map_register_table_template.sql,
+	  lib/temporal/stds_tables_template.sql,
+	  lib/temporal/str3ds_metadata_table.sql,
+	  lib/temporal/strds_metadata_table.sql,
+	  lib/temporal/stvds_metadata_table.sql,
+	  lib/temporal/test.temporal.py,
+	  lib/temporal/vector_metadata_table.sql: New projection column in
+	  spatial extent. Space time raster3d dataset test
+
+2011-09-08 12:50  huhabla
+
+	* lib/python/temporal.py: Raster, vector and raster3d spacetime
+	  datasets are implemented. Simplified registration and deletion
+	  code using polymorphy patterns. Overlay check for spatial
+	  extents.
+
+2011-09-08 12:09  martinl
+
+	* db/drivers/postgres/execute.c: dbmi-pg: i18n (execute.c)
+
+2011-09-08 11:44  martinl
+
+	* vector/v.edit/args.c: v.edit: define missing 'answer' for 'type'
+	  option
+
+2011-09-08 09:48  hamish
+
+	* raster/r.sun/rsunlib.c: avoid pj_do_proj() inside com_par() loop,
+	  which allows OpenCL-ization,
+	  but also fixes a few degree CCW rotation which has been there
+	  since
+	  r.sun2 was introduced (candidate for backporting to 6.x).
+	  see http://thread.gmane.org/gmane.comp.gis.grass.devel/40650
+
+2011-09-08 08:44  glynn
+
+	* lib/gis/parser.c: Don't accept multiple answers when
+	  opt->multiple == NO (bug #1444)
+	  Fix handling of default option with multiple answers
+
+2011-09-08 08:24  hamish
+
+	* raster/r.sun/rsunlib.c: cosmetic whitespace, comment re. the
+	  meaning of a hardcoded number
+
+2011-09-08 08:24  glynn
+
+	* scripts/m.proj/m.proj.py: Fix deadlock
+
+2011-09-08 07:13  cmbarton
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: Fix error caused by
+	  double clicking on map frame
+
+2011-09-08 06:47  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: con'ed
+
+2011-09-08 06:44  cmbarton
+
+	* gui/wxpython/gui_modules/psmap.py: Once more fixing text extent
+
+2011-09-08 05:08  cmbarton
+
+	* gui/wxpython/gui_modules/psmap.py: Fix to map info text rectangle
+
+2011-09-08 03:30  cmbarton
+
+	* gui/wxpython/gui_modules/psmap.py: Bug fix
+
+2011-09-08 01:52  cmbarton
+
+	* gui/wxpython/gui_modules/psmap.py: Added doc strings
+
+2011-09-08 01:49  cmbarton
+
+	* gui/wxpython/gui_modules/psmap.py: Improved error trapping for
+	  wx.Font creation
+
+2011-09-08 00:21  cmbarton
+
+	* gui/wxpython/gui_modules/psmap.py: Fix error on adding text to
+	  map.
+
+2011-09-07 18:01  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: restrict
+	  tools for editing OGR layers
+
+2011-09-07 18:00  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menu
+
+2011-09-07 17:27  martinl
+
+	* lib/vector/Vlib/header.c: vlib: simplify
+	  Vect_get_ogr_geometry_type()
+
+2011-09-07 16:21  huhabla
+
+	* lib/temporal/stds_map_register_table_template.sql,
+	  lib/temporal/str3ds_metadata_table.sql,
+	  lib/temporal/strds_metadata_table.sql,
+	  lib/temporal/stvds_metadata_table.sql,
+	  lib/temporal/test.temporal.py: More tests, SQL trigger bugfixing
+	  and variable renaming.
+
+2011-09-07 16:20  huhabla
+
+	* lib/python/temporal.py: Registration and unregistration of raster
+	  maps in space time raster datasets implemented. Recursive
+	  deletion realized for raster maps.
+
+2011-09-07 12:23  neteler
+
+	* gui/wxpython/gui_modules/ghelp.py: show 'busy' mouse cursor while
+	  fetching addons list
+
+2011-09-07 08:27  mmetz
+
+	* db/drivers/sqlite/create_table.c, db/drivers/sqlite/cursor.c,
+	  db/drivers/sqlite/db.c, db/drivers/sqlite/describe.c,
+	  db/drivers/sqlite/execute.c, db/drivers/sqlite/fetch.c,
+	  db/drivers/sqlite/index.c, db/drivers/sqlite/listtab.c,
+	  db/drivers/sqlite/select.c: clean up code, simplified usage of
+	  sqlite busy handler
+
+2011-09-07 07:36  neteler
+
+	* raster/r.water.outlet/TODO: done
+
+2011-09-07 07:30  neteler
+
+	* raster/r.water.outlet/main.c,
+	  raster/r.water.outlet/r.water.outlet.html,
+	  raster/r.water.outlet/r_water_outlet.png: NULL support added; NC
+	  example added
+
+2011-09-07 00:33  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: new OGR polygon layer
+	  - GRASS feature type 'boundary'
+
+2011-09-07 00:29  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/main.c: v.edit: type=boundary
+	  defines SF Polygon type
+
+2011-09-06 19:01  huhabla
+
+	* lib/python/raster3d.py, lib/python/temporal.py,
+	  lib/python/vector.py, lib/temporal/Makefile,
+	  lib/temporal/raster3d_metadata_table.sql,
+	  lib/temporal/stds_tables_template.sql,
+	  lib/temporal/test.temporal.py: Makefile to store sql scripts.
+	  Basic structures for spatio-temporal datasets implemented. Vector
+	  info implemented in python grass library.
+
+2011-09-06 16:30  martinl
+
+	* mswindows/osgeo4w/grass.bat.tmpl, mswindows/osgeo4w/package.sh:
+	  update wingrass for osgeo4w packaging
+
+2011-09-06 16:23  martinl
+
+	* vector/v.edit/main.c: v.edit: check value of threshold for
+	  snapping
+
+2011-09-06 10:06  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: do not some commands
+	  in choice widget (search module)
+
+2011-09-06 09:08  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix adding
+	  relations manually
+
+2011-09-06 07:23  neteler
+
+	* scripts/m.proj/m.proj.py: glynn: fix call
+
+2011-09-06 07:03  neteler
+
+	* vector/v.out.ogr/args.c: partially revert r47963 to reinstate
+	  default format (keep OGR behaviour)
+
+2011-09-06 06:41  mmetz
+
+	* db/drivers/sqlite/create_table.c, db/drivers/sqlite/cursor.c,
+	  db/drivers/sqlite/db.c, db/drivers/sqlite/describe.c,
+	  db/drivers/sqlite/driver.c, db/drivers/sqlite/error.c,
+	  db/drivers/sqlite/execute.c, db/drivers/sqlite/fetch.c,
+	  db/drivers/sqlite/index.c, db/drivers/sqlite/listtab.c,
+	  db/drivers/sqlite/main.c, db/drivers/sqlite/proto.h,
+	  db/drivers/sqlite/select.c: sqlite driver: fix for #548 and
+	  related
+
+2011-09-06 05:00  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Changed cutting plane
+	  choices from 0-5 to 1-6, and changed "Perspective" slider to
+	  "Distance %" slider to make functions easier to understand for
+	  users (also changed slider range to 1-100 to match distance %
+	  label, since anything over 100 is nearly imperceptible in the
+	  display anyway).
+
+2011-09-05 22:31  hamish
+
+	* scripts/v.in.gps/v.in.gps.html, scripts/v.in.gps/v.in.gps.py,
+	  scripts/v.in.gps/v.in.gpsbabel.html: initial python framework
+	  (non-functional - still needs its guts implemented)
+
+2011-09-05 22:09  hamish
+
+	* scripts/v.in.gps, scripts/v.in.gpsbabel: rename module (still
+	  need to port it to python)
+
+2011-09-05 22:07  hamish
+
+	* scripts/v.out.gps/v.out.gps: replaced by python version
+
+2011-09-05 22:04  hamish
+
+	* scripts/v.in.garmin: replaced by v.in.gps
+
+2011-09-05 19:31  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/modeler: fix
+	  GetData()
+
+2011-09-05 19:00  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: fix OnSearchModule()
+
+2011-09-05 17:28  neteler
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html: cosmetics
+
+2011-09-05 17:28  neteler
+
+	* display/d.geodesic/d.geodesic.html,
+	  display/d.geodesic/d_geodesic.png,
+	  display/d.rhumbline/d.rhumbline.html,
+	  display/d.rhumbline/d_rhumbline.png: example + screenshot (grid
+	  missing) added
+
+2011-09-05 16:42  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: define focus
+	  for ModelSearchDialog
+
+2011-09-05 16:36  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: disable
+	  button 'OK'
+
+2011-09-05 16:27  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix
+	  GetNextId()
+
+2011-09-05 14:29  huhabla
+
+	* lib/python/Makefile, lib/python/__init__.py,
+	  lib/python/temporal.py, lib/temporal,
+	  lib/temporal/map_stds_register_table_template.sql,
+	  lib/temporal/map_tables_template.sql,
+	  lib/temporal/raster3d_metadata_table.sql,
+	  lib/temporal/raster_metadata_table.sql,
+	  lib/temporal/stds_map_register_table_template.sql,
+	  lib/temporal/stds_raster3d_register_trigger_template.sql,
+	  lib/temporal/stds_raster_register_trigger_template.sql,
+	  lib/temporal/stds_tables_template.sql,
+	  lib/temporal/str3ds_metadata_table.sql,
+	  lib/temporal/strds_metadata_table.sql,
+	  lib/temporal/stvds_metadata_table.sql,
+	  lib/temporal/test.temporal.py,
+	  lib/temporal/vector_metadata_table.sql, temporal,
+	  temporal/t.create, temporal/t.create/Makefile,
+	  temporal/t.create/t.create.html, temporal/t.create/t.create.py,
+	  temporal/t.info, temporal/t.info/Makefile,
+	  temporal/t.info/t.info.html, temporal/t.info/t.info.py,
+	  temporal/t.remove, temporal/t.remove/Makefile,
+	  temporal/t.remove/t.remove.html, temporal/t.remove/t.remove.py:
+	  Initial commit of the temporal GIS extension in grass. The file
+	  names
+	  are still objects of change.
+
+2011-09-05 13:20  martinl
+
+	* scripts/d.correlate/d.correlate.py: d.correlate: i18n
+
+2011-09-05 13:05  huhabla
+
+	* lib/python/Makefile, lib/python/__init__.py,
+	  lib/python/raster3d.py: Raster3d info and mapcalc python
+	  functions inspired by the grass.script
+	  python raster package
+
+2011-09-05 12:56  huhabla
+
+	* raster3d/r3.info/r3.info.main.c: Implement same bevaviour as
+	  r.info for flags using shell layout output
+
+2011-09-05 08:04  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: Glynn: don't try to run
+	  r.support if the map is in another mapset
+
+2011-09-05 07:03  mmetz
+
+	* scripts/db.in.ogr/db.in.ogr.py: db.in.gr: fix remove vector part
+
+2011-09-05 06:49  mmetz
+
+	* display/d.vect/main.c: d.vect: update error message
+
+2011-09-05 06:36  cmbarton
+
+	* scripts/d.rast.leg/d.rast.leg.py: Further improving formatting
+
+2011-09-05 06:27  mmetz
+
+	* vector/v.buffer/main.c: v.buffer: use less memory
+
+2011-09-05 06:21  mmetz
+
+	* scripts/i.in.spotvgt/i.in.spotvgt.py: i.in.spotvgt: import string
+
+2011-09-05 06:15  mmetz
+
+	* scripts/Makefile, scripts/d.correlate/d.correlate.py,
+	  scripts/d.polar/d.polar.py, scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.out.xyz/r.out.xyz.py, scripts/r.rgb/r.rgb.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.in.geonames/v.in.geonames.py: GRASS 7 scripts overhaul
+	  cont'd
+
+2011-09-04 22:22  cmbarton
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/render.py: WxGUI command console will
+	  now recognize and run d.rast.leg
+
+2011-09-04 22:18  cmbarton
+
+	* scripts/d.rast.leg/d.rast.leg.py: Getting rid of temp debugging
+	  code.
+
+2011-09-04 22:09  cmbarton
+
+	* scripts/d.rast.leg/d.rast.leg.py: Fix formatting for Python
+
+2011-09-04 17:48  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Relabel nviz cutting
+	  plane controls to better indicate their function
+
+2011-09-04 17:24  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: msgs
+	  updated from template files
+
+2011-09-04 16:24  neteler
+
+	* locale/po/grasswxpy_pt_br.po: Fred Maranhão: cont'ed
+
+2011-09-04 13:16  neteler
+
+	* scripts/d.redraw/d.redraw.html,
+	  scripts/d.vect.thematic/d.vect.thematic.html,
+	  scripts/g.extension/g.extension.html, scripts/m.proj/m.proj.html,
+	  scripts/r.in.wms/r.in.wms.html, scripts/v.in.wfs/v.in.wfs.html,
+	  scripts/v.what.vect/v.what.vect.html: HTML cosmetics
+
+2011-09-04 11:57  neteler
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: forward port forgotten
+	  updates
+
+2011-09-04 10:36  neteler
+
+	* scripts/r.in.aster/r.in.aster.html, scripts/r.plane/r.plane.html,
+	  scripts/v.db.join/v.db.join.html,
+	  scripts/wxpyimgview/wxpyimgview.html: HTML updated
+
+2011-09-04 10:17  neteler
+
+	* scripts/r.mapcalculator/r.mapcalculator.html,
+	  scripts/r3.mapcalculator/r3.mapcalculator.html,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel.html,
+	  scripts/v.rast.stats/v.rast.stats.html,
+	  scripts/v.report/v.report.html: NC examples added; HTML updated
+
+2011-09-04 10:12  neteler
+
+	* scripts/v.what.vect/v.what.vect.html,
+	  scripts/v.what.vect/v.what.vect.py: fix broken script; added NC
+	  example
+
+2011-09-04 09:45  neteler
+
+	* scripts/v.db.update/v.db.update.html,
+	  scripts/v.dissolve/v.dissolve.html,
+	  scripts/v.in.e00/v.in.e00.html,
+	  scripts/v.in.garmin/v.in.garmin.html,
+	  scripts/v.in.geonames/v.in.geonames.html,
+	  scripts/v.in.gns/v.in.gns.html,
+	  scripts/v.in.lines/v.in.lines.html,
+	  scripts/v.in.mapgen/v.in.mapgen.html,
+	  scripts/v.in.sites.all/v.in.sites.all.html,
+	  scripts/v.in.wfs/v.in.wfs.html: NC examples added; HTML updated
+
+2011-09-04 09:43  neteler
+
+	* scripts/v.out.gps/v.out.gps.html, scripts/v.out.gps/v.out.gps.py:
+	  fix parameter; HTML update
+
+2011-09-04 08:03  neteler
+
+	* lib/init/grass.py: say where the tmpdir is
+
+2011-09-03 22:50  neteler
+
+	* scripts/v.build.all/v.build.all.html,
+	  scripts/v.centroids/v.centroids.html,
+	  scripts/v.convert.all/v.convert.all.html,
+	  scripts/v.db.addcolumn/v.db.addcolumn.html,
+	  scripts/v.db.addtable/v.db.addtable.html,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.html,
+	  scripts/v.db.droptable/v.db.droptable.html,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.html,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.html,
+	  scripts/v.db.univar/v.db.univar.html: NC examples added; HTML
+	  updated
+
+2011-09-03 17:28  neteler
+
+	* display/d.legend/main.c: font and charset parameters
+
+2011-09-03 16:50  neteler
+
+	* scripts/r.mapcalculator/r.mapcalculator.html,
+	  scripts/r.rgb/r.rgb.html,
+	  scripts/r.shaded.relief/r.shaded.relief.html,
+	  scripts/v.db.droprow/v.db.droprow.html: NC examples added; HTML
+	  updated
+
+2011-09-03 16:25  neteler
+
+	* scripts/d.polar/d.polar.html,
+	  scripts/r.colors.stddev/r.colors.stddev.html,
+	  scripts/r.fillnulls/r.fillnulls.html, scripts/r.grow/r.grow.html,
+	  scripts/r.mask/r.mask.html, scripts/r.out.xyz/r.out.xyz.html,
+	  scripts/r.reclass.area/r.reclass.area.html,
+	  scripts/r.tileset/r.tileset.html: NC examples added; HTML updated
+
+2011-09-03 15:49  neteler
+
+	* scripts/r.fillnulls/r.fillnulls.py: be less chatty
+
+2011-09-03 12:28  neteler
+
+	* scripts/i.oif/i.oif.html: NC examples added
+
+2011-09-03 12:27  neteler
+
+	* scripts/r.blend/r.blend.html, scripts/r.blend/r.blend.py: fix
+	  broken script; added NC example
+
+2011-09-03 12:19  neteler
+
+	* scripts/i.tasscap/i.tasscap.py: fix broken script
+
+2011-09-03 12:18  neteler
+
+	* scripts/i.spectral/i.spectral.html,
+	  scripts/i.spectral/i.spectral.py: fix broken script; update HTML;
+	  still no output
+
+2011-09-03 12:02  neteler
+
+	* scripts/d.correlate/d.correlate.html,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive.html,
+	  scripts/d.polar/d.polar.html, scripts/d.rast.leg/d.rast.leg.html,
+	  scripts/d.shadedmap/d.shadedmap.html,
+	  scripts/d.vect.thematic/d.vect.thematic.html,
+	  scripts/db.out.ogr/db.out.ogr.html,
+	  scripts/g.extension/g.extension.html,
+	  scripts/i.in.spotvgt/i.in.spotvgt.html,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.html: NC examples added;
+	  update HTML
+
+2011-09-03 11:43  neteler
+
+	* scripts/i.image.mosaic/i.image.mosaic.html,
+	  scripts/i.image.mosaic/i.image.mosaic.py: fix broken script;
+	  update HTML
+
+2011-09-03 11:40  neteler
+
+	* scripts/i.fusion.brovey/i.fusion.brovey.py: fix broken script
+
+2011-09-03 11:02  neteler
+
+	* scripts/d.correlate/d.correlate.html,
+	  scripts/d.correlate/d.correlate.py: fix broken script; update
+	  HTML + example
+
+2011-09-03 10:32  neteler
+
+	* db/db.drivers/db.drivers.html,
+	  scripts/db.dropcolumn/db.dropcolumn.html,
+	  scripts/db.droptable/db.droptable.html,
+	  scripts/db.test/db.test.html: examples updated
+
+2011-09-03 10:28  neteler
+
+	* scripts/db.out.ogr/db.out.ogr.py: fixes; still broken
+
+2011-09-03 08:49  neteler
+
+	* scripts/v.rast.stats/v.rast.stats.py: fixed two bugs
+
+2011-09-03 07:26  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py: wxGUI/ModifyTableRecord:
+	  set focus on first widget
+
+2011-09-03 07:02  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py: wxGUI: fix
+	  dbm_dialogs.ModifyTableRecord
+
+2011-09-02 20:08  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI: remove extra print
+	  statements
+
+2011-09-02 20:02  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: implement
+	  missing 'copy attributes'
+
+2011-09-02 15:10  neteler
+
+	* scripts/db.dropcolumn/db.dropcolumn.py: fixed for sqlite
+
+2011-09-02 15:05  neteler
+
+	* db/databaseintro.html: some updates; still incomplete
+
+2011-09-02 15:03  neteler
+
+	* db/db.droptable: removed unusable code in favour of working
+	  python version
+
+2011-09-02 14:58  neteler
+
+	* scripts/db.droptable/db.droptable.py: improved test if table
+	  exists
+
+2011-09-02 14:58  neteler
+
+	* lib/python/db.py: new function db_table_exist
+
+2011-09-02 14:24  neteler
+
+	* scripts/db.droptable/db.droptable.html: prettified
+
+2011-09-02 14:19  neteler
+
+	* db/Makefile: deactivate non-implemented db.droptable in favour of
+	  working python db.droptable script
+
+2011-09-02 14:16  neteler
+
+	* scripts/db.droptable/db.droptable.py: fix
+
+2011-09-02 13:21  mmetz
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: busy cursor for
+	  AddLayer
+
+2011-09-02 10:46  mmetz
+
+	* vector/v.net.alloc/main.c, vector/v.net.allpairs/main.c,
+	  vector/v.net.bridge/main.c, vector/v.net.centrality/main.c,
+	  vector/v.net.components/main.c, vector/v.net.connectivity/main.c,
+	  vector/v.net.distance/main.c, vector/v.net.flow/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.path/path.c,
+	  vector/v.net.salesman/main.c, vector/v.net.spanningtree/main.c,
+	  vector/v.net.steiner/main.c, vector/v.net.timetable/main.c:
+	  vector network module maintenance, solve#1361
+
+2011-09-01 20:17  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: fix 'update
+	  categories', implement SetLineCats()
+
+2011-09-01 19:27  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: implement
+	  edit line functionality
+
+2011-09-01 17:56  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py: wxGUI/vdigit: limit
+	  usage of GetAction()
+
+2011-09-01 16:41  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: do not switch
+	  notebook page when digitizer is closed
+
+2011-09-01 16:20  neteler
+
+	* lib/segment/format.c: warnings prettified
+
+2011-09-01 16:16  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: don't define
+	  default action (bug-fix)
+
+2011-09-01 15:54  neteler
+
+	* gui/wxpython/gui_modules/render.py: show 'busy' mouse cursor
+	  while rendering
+
+2011-09-01 15:38  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py: wxGUI/vdigit: fix
+	  mouse actions
+
+2011-09-01 15:11  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: correct
+	  variable parent.Map->Map
+
+2011-09-01 15:01  mmetz
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: BufferedWindow has no
+	  region
+
+2011-09-01 13:58  martinl
+
+	* display/d.vect/main.c: d.vect: don't stop rendering when outside
+	  of region, just print warning
+
+2011-09-01 13:50  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: print reason why
+	  rendering failed
+
+2011-09-01 12:53  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGU: fix opacity level
+	  for vdigit
+
+2011-09-01 11:53  martinl
+
+	* vector/v.edit/main.c: v.edit: fix segfault when no input is
+	  defined
+
+2011-09-01 11:39  martinl
+
+	* lib/vector/Vlib/ascii.c: vlib: Vect_read_ascii() - destroy
+	  Points/Cats
+
+2011-09-01 11:18  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: vector color
+	  rules: use color tables in vcolr2/
+
+2011-09-01 11:17  martinl
+
+	* vector/v.edit/main.c: v.edit: replace G_strcasecmp() with
+	  strcmp()
+
+2011-09-01 11:11  martinl
+
+	* general/g.mapset/main.c: g.mapset: print only warning when mapset
+	  is already current
+
+2011-09-01 10:16  martinl
+
+	* vector/v.out.ascii/args.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/main.c: v.out.ascii: option <cats> added to
+	  filter features based on categories
+
+2011-09-01 10:15  martinl
+
+	* include/vector.h, lib/vector/Vlib/ascii.c: vlib:
+	  Vect_write_ascii(): add support for cats list
+
+2011-09-01 09:32  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/globalvar.py: wxGUI: skip creating table
+	  for OGR layers (TODO)
+
+2011-09-01 09:30  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: fix copyright, cosmetics in
+	  params description
+
+2011-09-01 09:24  martinl
+
+	* vector/v.vect.stats: v.vect.stats: fix svn:ignore prop
+
+2011-09-01 09:23  martinl
+
+	* vector/v.external.out/format.c, vector/v.external.out/list.c,
+	  vector/v.external.out/local_proto.h: v.external.out: replace
+	  space with underscore in format names (like in v.out.ogr)
+
+2011-09-01 08:58  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: reuse 2d vector
+	  querying for 3d
+
+2011-09-01 07:11  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: enable status
+	  bar combobox
+
+2011-08-31 23:08  martinl
+
+	* general/g.mapset/main.c: g.mapset: allow to define mapset to be
+	  created
+
+2011-08-31 23:07  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: MapsetSelect() only
+	  optionally read-only
+
+2011-08-31 22:41  martinl
+
+	* vector/v.out.ogr/args.c: v.out.ogr: rename guisection - Input ->
+	  Selection
+
+2011-08-31 19:43  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI/GdalImporter: #1432
+
+2011-08-31 18:25  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: fix GdalSelect to
+	  list also rasters
+
+2011-08-31 18:09  martinl
+
+	* raster/r.external/link.c, raster/r.external/list.c,
+	  raster/r.external/main.c, raster/r.external/proj.c,
+	  raster/r.external/proto.h, raster/r.external/window.c:
+	  r.external: split into more c-files
+
+2011-08-31 16:29  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxNviz: panning added (not
+	  true panning, just something similar)
+
+2011-08-31 16:14  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: overwrite created
+	  links if requested
+
+2011-08-31 16:12  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py: wxGUI/OGR: fix 'create new
+	  empty vector map' dialog for OGR output
+	  (currently without attribute table)
+
+2011-08-31 15:37  martinl
+
+	* gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: note todo for
+	  rendering
+
+2011-08-31 11:37  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py: wxGUI: ImportDialog: show
+	  also feature type for vector
+	  gdialogs.py updated to follow coding rules
+
+2011-08-31 11:35  martinl
+
+	* vector/v.external/args.c, vector/v.external/list.c,
+	  vector/v.external/local_proto.h, vector/v.external/main.c,
+	  vector/v.in.ogr/main.c: v.external + v.in.ogr: flag to list also
+	  feature types
+
+2011-08-31 10:58  mmetz
+
+	* vector/v.vect.stats/main.c: v.vect.stats: update module
+	  description
+
+2011-08-31 10:57  mmetz
+
+	* gui/wxpython/xml/menudata.xml: update menudata.xml
+
+2011-08-31 10:47  mmetz
+
+	* vector/Makefile: update vector Makefile
+
+2011-08-31 10:46  mmetz
+
+	* vector/v.vect.stats, vector/v.vect.stats/Makefile,
+	  vector/v.vect.stats/description.html,
+	  vector/v.vect.stats/grass65.patch,
+	  vector/v.vect.stats/grass7.patch, vector/v.vect.stats/main.c,
+	  vector/v.vect.stats/v.vect.stats.html: include v.vect.stats in
+	  trunk because it covers basic vector functionality
+
+2011-08-31 08:12  mmetz
+
+	* lib/vector/diglib/portable.c: diglib: fix for buffer overrrun,
+	  #1430
+
+2011-08-31 07:10  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: Added some error traps
+	  for KeyErrors when unloading or loading maps in wxnviz
+
+2011-08-30 21:01  martinl
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/workspace.py: wxGUI: minor changes in
+	  AlignExtentFromDisplay
+
+2011-08-30 20:24  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py:
+	  wxGUI: added option to disable aligning extent to display size
+
+2011-08-30 18:25  annakrat
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz:fix reordering maps in
+	  layer tree
+
+2011-08-30 16:41  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI/about: use
+	  grass.version()
+
+2011-08-30 16:09  martinl
+
+	* lib/python/core.py: pythonlib: format version() output
+
+2011-08-30 11:31  martinl
+
+	* vector/v.in.ascii/v.in.ascii.html: v.in.ascii: cosmetics in
+	  manual (i.points not available)
+	  some syntax fixes
+
+2011-08-30 09:22  mmetz
+
+	* lib/db/dbmi_client/shutdown.c: db_shutdown_driver(): clean up
+	  code
+
+2011-08-29 20:29  martinl
+
+	* lib/vector/Vlib/write_nat.c, vector/v.out.ogr/args.c: v.out.ogr:
+	  do not default format (Shapefile)
+
+2011-08-29 19:52  martinl
+
+	* general/g.mapset/main.c: g.mapset: add flag to print current
+	  mapset
+
+2011-08-29 19:36  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: only output name
+	  editable in gdialogs.ImportDialog
+
+2011-08-29 18:45  mmetz
+
+	* mswindows/GRASS-Installer.nsi: NSIS script: fix comment
+
+2011-08-29 18:43  mmetz
+
+	* mswindows/GRASS-Installer.nsi: NSIS script: fix uninstaller
+
+2011-08-29 18:34  mmetz
+
+	* mswindows/GRASS-Installer.nsi: NSIS script: remove fix for
+	  grass_config_dir
+
+2011-08-29 18:33  mmetz
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: fix grass_config_dir
+
+2011-08-29 18:32  mmetz
+
+	* include/Make/Grass.make, include/Make/Platform.make.in:
+	  include/Make: fix grass_config_dir
+
+2011-08-29 18:32  mmetz
+
+	* lib/init/Makefile, lib/init/grass.py: lib/init: fix
+	  grass_config_dir
+
+2011-08-29 17:59  martinl
+
+	* lib/db/dbmi_client/shutdown.c: dbmi: update doxygen docs for
+	  db_shutdown_driver()
+
+2011-08-29 17:35  martinl
+
+	* lib/db/dbmi_client/shutdown.c: dbmi: add missing header (r47937)
+
+2011-08-29 16:29  martinl
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/write_ogr.c: vlib:
+	  optimize writing attributes for OGR output
+
+2011-08-29 16:27  martinl
+
+	* lib/gis/get_projinfo.c: gislib: update doxygen docs for
+	  get_projinfo.c
+
+2011-08-29 15:14  martinl
+
+	* lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/write_ogr.c:
+	  vlib/OGR: more create_table to V2_open_new_ogr()
+
+2011-08-29 14:48  annakrat
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxNviz: fix bug made when nviz toolbar was moved
+
+2011-08-29 12:10  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: comment
+	  broken format selector
+
+2011-08-29 11:45  mmetz
+
+	* lib/db/dbmi_client/shutdown.c: db_shutdown_driver(): always use
+	  G_wait()
+
+2011-08-29 09:27  martinl
+
+	* raster/r.in.png/main.c: r.in.png: i18n, fix various warnings
+
+2011-08-29 09:20  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: add r.in.png to the menu
+
+2011-08-29 09:10  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: v.what removed from menu
+	  cosmetics in labels (v.extract, v.select)
+
+2011-08-29 08:57  martinl
+
+	* vector/v.select/copy_tabs.c, vector/v.select/main.c,
+	  vector/v.select/proto.h, vector/v.select/select.c,
+	  vector/v.select/write.c: v.select: code reorganization
+
+2011-08-29 08:38  mmetz
+
+	* lib/db/dbmi_client/shutdown.c: fix for ticket #1158, to be
+	  backported after G_wait is backported
+
+2011-08-28 19:53  cmbarton
+
+	* gui/wxpython/gui_modules/dbm.py: Fix DBM manage layers page so
+	  that it can be accessed with mouse on Mac.
+
+2011-08-28 19:08  mmetz
+
+	* lib/db/dbmi_client/delete_tab.c: db_delete_table(): remove code
+	  duplication with db_start_driver_open_database() and
+	  db_close_database_shutdown_driver()
+
+2011-08-28 17:07  martinl
+
+	* vector/v.select/main.c: v.select: reuse IFi
+
+2011-08-28 16:11  martinl
+
+	* vector/v.select/main.c: v.select: fix writting attributes for OGR
+	  output
+
+2011-08-28 13:09  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/icons/icon.py,
+	  include/ogsf_proto.h, lib/ogsf/GS2.c: wxNviz: view history
+
+2011-08-28 08:51  martinl
+
+	* lib/vector/Vlib/box.c, lib/vector/diglib/box.c: vlib:
+	  Vect_get_line_box(): set T/B to PORT_DOUBLE_MAX for 2D data
+
+2011-08-28 08:49  martinl
+
+	* vector/v.select/main.c: v.select: fix segfault - List requires
+	  boxes
+	  various minor changes
+
+2011-08-27 22:48  cmbarton
+
+	* gui/wxpython/gui_modules/colorrules.py: Fix scrollbar in color
+	  rules panel
+
+2011-08-27 18:08  martinl
+
+	* vector/v.extract/extract.c: v.extract: fix extracting areas for
+	  OGR output
+
+2011-08-27 17:39  martinl
+
+	* lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/write_ogr.c: vlib: fix writting wkbPolygon (OGR
+	  write access)
+
+2011-08-27 16:39  martinl
+
+	* lib/vector/Vlib/cats.c: vlib: Vect_cat_get() now return num of
+	  found cats for given field
+
+2011-08-27 15:56  cmbarton
+
+	* gui/wxpython/gui_modules/colorrules.py: Moved error message about
+	  failed color rules creation to the OnApply methods.
+
+2011-08-27 15:23  martinl
+
+	* display/d.vect/label.c, display/d.vect/lines.c: d.vect: fix
+	  showing cats for OGR layers (centroids from topo)
+
+2011-08-27 14:20  martinl
+
+	* display/d.vect/lines.c: d.vect: fix debug message
+
+2011-08-27 14:16  martinl
+
+	* display/d.vect/main.c: d.vect: `color` is not related only to
+	  'lines'
+
+2011-08-27 14:14  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: wording
+
+2011-08-27 12:34  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: enlarge map window
+	  for 3D (width)
+
+2011-08-27 12:31  annakrat
+
+	* gui/wxpython/wxgui.py: wxNviz: move nviz toolbar to the end of
+	  row
+
+2011-08-27 12:20  annakrat
+
+	* gui/icons/grass/3d-rotate.png,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  wxNviz: add rotate icon, fix small bug in lighting
+
+2011-08-27 11:23  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI/vdigit: fix
+	  zoom to map
+
+2011-08-27 09:46  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py: wxGUI/vdigit: fix
+	  cat/attr dialog when no feature found
+
+2011-08-26 12:39  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/layertree.py: wxGUI: fix apply in vector
+	  color rules dialog when attribute column is used
+
+2011-08-26 12:04  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: complete the fix
+	  of already closed ticket #1425
+
+2011-08-25 16:58  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: Fixes errors returned
+	  from mouse clicks in 3D display window
+
+2011-08-25 12:54  martinl
+
+	* lib/vector/diglib/plus_struct.c: vlib: plus_struct.c - i18n
+
+2011-08-25 11:48  martinl
+
+	* lib/init/grass.py: grass.py: show also mapset in $PS
+
+2011-08-25 11:47  mmetz
+
+	* lib/vector/diglib/plus_struct.c: diglib: print some info when
+	  failing to open old vector topology
+
+2011-08-25 11:38  martinl
+
+	* display/d.vect/lines.c: d.vect: remove unused defines
+
+2011-08-25 10:45  martinl
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/rewind.c, lib/vector/Vlib/rewind_nat.c,
+	  lib/vector/Vlib/rewind_ogr.c: vlib: don't use random access for
+	  V2_read_next_line_ogr()
+	  various minor changes (related to OGR support)
+
+2011-08-25 10:42  martinl
+
+	* include/vect/dig_structs.h: vlib: cosmetics in dox strings
+	  (dig_struct.c)
+
+2011-08-25 10:42  martinl
+
+	* lib/vector/Vlib/build_ogr.c: vlib: formatting issues in
+	  build_ogr.c
+
+2011-08-25 10:41  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: set field width for string
+	  columns (gdal since r22968 writes varchar insted of char)
+	  various minor changes
+
+2011-08-25 10:38  martinl
+
+	* vector/v.external/main.c: v.external: message cosmetics
+
+2011-08-25 10:34  martinl
+
+	* lib/vector/Vlib/build.c: vlib: typo in comment
+
+2011-08-25 10:32  martinl
+
+	* display/d.vect/area.c, display/d.vect/lines.c,
+	  display/d.vect/local_proto.h, display/d.vect/shape.c: d.vect:
+	  optimalize rendering also for linked OGR layers
+
+2011-08-24 21:11  hellik
+
+	* mswindows/GRASS-Installer.nsi: ticket #1419
+
+2011-08-24 20:55  hellik
+
+	* mswindows/env.bat: attempt to fix ticket #1110
+
+2011-08-24 12:25  martinl
+
+	* vector/v.colors.out/main.c: v.colors.out: check if color table is
+	  defined
+
+2011-08-24 11:00  martinl
+
+	* include/vect/dig_defines.h, lib/vector/Vlib/color_read.c,
+	  lib/vector/Vlib/color_remove.c, lib/vector/Vlib/color_write.c,
+	  vector/v.colors/main.c: vlib: store alternative color tables to
+	  `vcolr2/mapset/name`
+
+2011-08-24 07:44  martinl
+
+	* vector/v.external.out/args.c,
+	  vector/v.external.out/local_proto.h,
+	  vector/v.external.out/main.c, vector/v.external.out/status.c:
+	  v.external.out: print status in shell script style
+
+2011-08-23 22:08  neteler
+
+	* raster3d/r3.out.vtk/main.c, raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/r3.out.vtk.html,
+	  raster3d/r3.out.vtk/writeVTKData.c: Milena Nowotarska: msg
+	  cleanup; HTML cleanup
+
+2011-08-23 21:05  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fixed doc
+	  string
+
+2011-08-23 18:58  martinl
+
+	* lib/vector/Vlib/write_ogr.c: vlib: define field width for
+	  character type
+	  simplify sqltype_to_ogrtype()
+
+2011-08-23 18:44  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/main.c: v.edit: fix creating
+	  new OGR layers
+
+2011-08-23 16:23  martinl
+
+	* lib/vector/Vlib/build_ogr.c: vlib: don't build when no OGR layer
+	  available
+
+2011-08-23 14:33  mmetz
+
+	* scripts/i.in.spotvgt/i.in.spotvgt.html: update link for Status
+	  Map FAQ (manual)
+
+2011-08-23 14:32  mmetz
+
+	* scripts/i.in.spotvgt/i.in.spotvgt.py: update link for Status Map
+	  FAQ
+
+2011-08-23 14:30  mmetz
+
+	* scripts/i.in.spotvgt/i.in.spotvgt.py: do not modify
+	  path/to/quality.map, use bit patterns for filtering
+
+2011-08-23 14:15  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_preferences.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py:
+	  wxNviz: fix preferences dialog
+
+2011-08-23 09:47  annakrat
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxNviz: force LC_NUMERIC to C
+	  every time when switching to 3D
+
+2011-08-22 19:04  annakrat
+
+	* gui/wxpython/gui_modules/render.py: wxNviz: fix resolution
+
+2011-08-22 18:22  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxNviz:enable disabled
+	  statusbar combobox when switching to 2D
+
+2011-08-22 17:43  martinl
+
+	* vector/v.colors/main.c: v.colors: -e is not implemented
+	  (comment-out)
+
+2011-08-22 17:09  martinl
+
+	* gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: force
+	  LC_NUMERIC to C
+
+2011-08-22 17:03  martinl
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxNVIZ: force LC_NUMERIC to C
+	  (to avoid crashing)
+	  todo: find out where gislib is initialized
+
+2011-08-22 14:52  martinl
+
+	* lib/gis/rd_cellhd.c: gislib: rd_cellhd.c - add doxygen strings
+
+2011-08-22 13:43  glynn
+
+	* general/g.copy/main.c, general/g.rename/main.c: List --overwrite
+	  flag
+
+2011-08-22 08:14  mmetz
+
+	* gui/wxpython/gui_modules/gcpmapdisp.py: remove removed
+	  mapdisp_command
+
+2011-08-22 08:05  huhabla
+
+	* lib/db/dbmi_base/test/test_main.c: Typo fix
+
+2011-08-22 06:37  neteler
+
+	* raster3d/r3.showdspf/get_color_ogl.c,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/r3.showdspf.html,
+	  raster3d/r3.showdspf/r3.showdspf_opengl_mods.html: Milena
+	  Nowotarska: msg cleanup; HTML cleanup
+
+2011-08-21 21:12  neteler
+
+	* raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.to.rast/main.c: i18n
+	  polishing
+
+2011-08-21 20:55  cmbarton
+
+	* gui/wxpython/gui_modules/colorrules.py: Fixing color table
+	  behavior and bugs
+
+2011-08-21 20:29  martinl
+
+	* vector/v.extract/extract.c: v.extract: remove extra G_percent()
+
+2011-08-21 20:28  martinl
+
+	* lib/vector/Vlib/write_ogr.c: vlib: ignore fid column when writing
+	  attributes for OGR layers
+
+2011-08-21 13:47  annakrat
+
+	* gui/icons/grass/3d-fringe.png, gui/icons/grass/3d-help.png,
+	  gui/icons/grass/3d-light.png, gui/icons/grass/3d-raster.png,
+	  gui/icons/grass/3d-settings.png, gui/icons/grass/3d-vector.png,
+	  gui/icons/grass/3d-view.png, gui/icons/grass/3d-volume.png,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxNviz/wxGUI: changed wxNviz toolbar and
+	  moved to layer manager, changes in MapFrame AuiManager
+
+2011-08-21 12:13  hamish
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: Perspective is valid 0-pi
+	  not 0-100%
+
+2011-08-21 11:18  hamish
+
+	* configure, configure.in: libLAS casing
+
+2011-08-21 11:03  martinl
+
+	* lib/vector/Vlib/write_ogr.c: vlib: improve writing attributes for
+	  OGR
+
+2011-08-21 11:01  martinl
+
+	* vector/v.extract/copy_tab.c, vector/v.extract/extract.c,
+	  vector/v.extract/local_proto.h, vector/v.extract/main.c:
+	  v.extract: major update for G7
+	  experimental support for OGR write access
+
+2011-08-21 10:40  hamish
+
+	* visualization/nviz2/cmd/main.c: anglify text
+
+2011-08-21 10:23  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI/layertree: set color
+	  table also for vector maps
+
+2011-08-19 21:11  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxNviz: fix bug in width
+	  and size thematic mapping
+
+2011-08-19 20:36  martinl
+
+	* db/drivers/ogr/execute.c, db/drivers/ogr/main.c: ogr-dbmi: fix
+	  db__driver_execute_immediate()
+
+2011-08-19 16:19  martinl
+
+	* lib/vector/Vlib/field.c: vlib: Vect_write_dblinks() - nothing to
+	  write for non-native formats
+
+2011-08-19 16:12  martinl
+
+	* lib/db/dbmi_base/handle.c: dbmi: update dox strings for
+	  db_set_handle
+
+2011-08-19 16:11  martinl
+
+	* include/gisdefs.h, lib/gis/token.c: gislib: introduce
+	  G_tokenize2()
+	  update dox string for token.c
+
+2011-08-19 15:24  annakrat
+
+	* lib/ogsf/Gp3.c: ogsf: show vector points in current region only
+
+2011-08-19 11:58  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: fix
+	  VDigitCategoryDialog
+
+2011-08-19 09:20  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: show also extra
+	  contributors
+
+2011-08-19 07:27  neteler
+
+	* contributors.csv, contributors_extra.csv: extra contributors are
+	  saved in contributors_extra.csv
+
+2011-08-18 21:28  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: color rules
+	  dialog: warning when there are too many records
+
+2011-08-18 20:39  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: color rules
+	  dialog: warning when loading invalid format
+
+2011-08-18 20:17  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: color rules
+	  dialog: add load/save color table, remove checkbox for r.colors
+	  -w flag
+
+2011-08-18 17:34  martinl
+
+	* lib/db/dbmi_client/copy_tab.c: dbmi: define copy_table() as
+	  static
+
+2011-08-18 16:52  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: sort contributors by
+	  name
+
+2011-08-18 16:28  martinl
+
+	* contributors.csv: add missing Luca Delucchi to contributors.csv
+
+2011-08-18 16:26  martinl
+
+	* contributors.csv: add Vaclav Petras (wxGUI contribution) to
+	  contributors.csv
+
+2011-08-18 16:23  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: fix contributors page
+	  (todo: sort by names)
+
+2011-08-18 15:58  martinl
+
+	* db/drivers/postgres/describe.c: pg-dbmi: cosmetics in messages
+
+2011-08-18 15:57  martinl
+
+	* lib/vector/Vlib/field.c: vlib: fix Vect_default_field_info() for
+	  external data (ogr)
+
+2011-08-18 15:56  martinl
+
+	* include/vect/dig_structs.h: vlib: typo in doxygen docs
+
+2011-08-18 15:55  martinl
+
+	* lib/db/dbmi_base/connect.c: dbmi: zero dbConnection in
+	  db_get_connection()
+
+2011-08-18 15:46  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: wxGUI: processing mouse
+	  events from MapDisplay (patch by Vaclav Petras)
+	  see
+	  http://lists.osgeo.org/pipermail/grass-dev/2011-August/055371.html
+
+2011-08-18 14:56  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: vector rules
+	  dialog: fix modul name
+
+2011-08-18 14:43  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/colorrules: fix
+	  DeleteTemporaryColumn in no map given
+	  enlarge window
+
+2011-08-18 12:19  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: vector color
+	  rules: fix label displaying range
+
+2011-08-18 08:59  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: vector rules:
+	  creating temporary columns fixed
+
+2011-08-17 22:27  neteler
+
+	* raster3d/r3.out.v5d/main.c, raster3d/r3.out.v5d/r3.out.v5d.html:
+	  Milena Nowotarska: i18n cleanup; HTML cleanup
+
+2011-08-17 22:14  neteler
+
+	* raster3d/r3.in.v5d/main.c, raster3d/r3.in.v5d/r3.in.v5d.html:
+	  Milena Nowotarska: i18n cleanup; HTML cleanup
+
+2011-08-17 22:07  neteler
+
+	* raster3d/r3.cross.rast/main.c: Milena Nowotarska: i18n cleanup;
+	  HTML cleanup
+
+2011-08-17 21:55  neteler
+
+	* raster3d/r3.gwflow/main.c, raster3d/r3.gwflow/r3.gwflow.html:
+	  Milena Nowotarska: i18n cleanup; HTML cleanup
+
+2011-08-17 21:32  neteler
+
+	* raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.ascii/r3.out.ascii.html: Milena Nowotarska: i18n
+	  cleanup; HTML cleanup
+
+2011-08-17 20:13  martinl
+
+	* lib/ogsf/gpd.c: ogsf: fix rendering points (z-coordinate)
+
+2011-08-17 19:31  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/wxgui.py:
+	  wxGUI/wxNviz: color rules dialog changed to support both v.colors
+	  and attribute columns
+
+2011-08-17 18:38  neteler
+
+	* raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.ascii/r3.in.ascii.html: Milena Nowotarska: i18n
+	  cleanup; HTML cleanup
+
+2011-08-17 18:27  neteler
+
+	* raster3d/r3.in.ascii/r3.in.ascii.html: cleanup
+
+2011-08-17 13:31  hamish
+
+	* ps/ps.map/ps.map.html, ps/ps.map/r_instructions.c: full RGB
+	  support for the setcolor instruction (#192) & document hidden
+	  setcolor functionality; i18n
+
+2011-08-17 13:20  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, raster/r.out.arc/main.c: parser
+	  simplification; typo
+
+2011-08-17 12:59  neteler
+
+	* raster/r.texture/main.c: more standardized wording
+
+2011-08-17 12:47  hamish
+
+	* ps/ps.map/ps_info.h, ps/ps.map/ps_outline.c: full RGB support for
+	  raster clump outlining (#192, merge from devbr6)
+
+2011-08-17 12:47  mmetz
+
+	* raster/r.texture/r.texture.html: r.texture: update manual, mcc
+	  removed because of numerical instability
+
+2011-08-17 12:45  mmetz
+
+	* raster/r.texture/h_measure.c, raster/r.texture/h_measure.h,
+	  raster/r.texture/main.c: r.texture: code optimization
+
+2011-08-17 12:36  hamish
+
+	* ps/ps.map/do_header.c, ps/ps.map/header.h, ps/ps.map/main.c,
+	  ps/ps.map/r_header.c: merge from devbr6: full RGB support for
+	  header text (#192); bugfix: text color survives %_ horizontal
+	  line draw
+
+2011-08-17 12:36  martinl
+
+	* vector/v.external/list.c: v.external: message cosmetics
+
+2011-08-17 12:18  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: avoid uninit'd variable (merge from
+	  devbr6)
+
+2011-08-17 12:14  martinl
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxNviz: don't fail if GRASS
+	  ctypes libs are not available
+
+2011-08-17 10:33  hamish
+
+	* ps/ps.map/do_geogrid.c, ps/ps.map/do_grid.c, ps/ps.map/getgrid.c,
+	  ps/ps.map/main.c, ps/ps.map/ps_info.h: full RGB support for grid
+	  lines (#192, merge from devbr6)
+
+2011-08-17 08:37  ychemin
+
+	* imagery/i.evapo.mh/main.c: made precipitation input optional to
+	  allow Original Hargreaves method
+
+2011-08-17 08:35  ychemin
+
+	* imagery/i.evapo.mh/main.c: made precipitation input optional to
+	  allow Original Hargreaves method
+
+2011-08-16 18:44  martinl
+
+	* display/d.vect/d.vect.html: d.vect: note v.colors in the manual
+
+2011-08-16 18:32  martinl
+
+	* display/d.vect/area.c, display/d.vect/lines.c: d.vect: fix
+	  colorized lines/areas (color table)
+
+2011-08-16 18:22  martinl
+
+	* vector/v.colors.out/Makefile, vector/v.colors.out/local_proto.h,
+	  vector/v.colors.out/main.c, vector/v.colors.out/make_colors.c,
+	  vector/v.colors.out/scan_cats.c: v.colors.out: optionally refer
+	  color table to the given attribute column
+
+2011-08-16 16:58  marisn
+
+	* visualization/nviz/scripts/config.tcl,
+	  visualization/nviz/scripts/mapBrowser.tcl,
+	  visualization/nviz/scripts/nviz2.2_script: Fix NVIZ parts broken
+	  by other GRASS 7 changes
+
+2011-08-16 14:14  neteler
+
+	* tools/grass_indent.sh: restore original file with timestamp if
+	  indent did not change anything
+
+2011-08-16 14:13  neteler
+
+	* raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.daemon/avl.h,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h,
+	  raster/r.li/r.li.daemon/index.h,
+	  raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.renyi/renyi.c:
+	  code layout fixes with indent
+
+2011-08-16 14:13  neteler
+
+	* raster/r.li/r.li.daemon/ipc.c: remove empty file, leftover from
+	  r40696
+
+2011-08-16 11:44  martinl
+
+	* lib/raster/color_look.c: rasterlib: fix bug in
+	  Rast__lookup_colors()
+
+2011-08-16 09:36  neteler
+
+	* raster/r.li/r.li.cwed/cellWeighted.h,
+	  raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.cwed/utility.c, raster/r.li/r.li.cwed/utility.h,
+	  raster/r.li/r.li.daemon/GenericCell.c,
+	  raster/r.li/r.li.daemon/GenericCell.h,
+	  raster/r.li/r.li.daemon/avl.c, raster/r.li/r.li.daemon/avl.h,
+	  raster/r.li/r.li.daemon/avlDefs.h,
+	  raster/r.li/r.li.daemon/avlID.c, raster/r.li/r.li.daemon/avlID.h,
+	  raster/r.li/r.li.daemon/defs.h,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/mps.c, raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.pielou/r.li.pielou.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html,
+	  raster/r.li/r.li.simpson/simpson.c: outdated bug report addresses
+	  removed; minor layout cosmetics
+
+2011-08-16 07:11  glynn
+
+	* raster/r.terraflow/grass2str.h: Fix some LFS issues
+
+2011-08-16 07:00  glynn
+
+	* raster/r.terraflow/main.cc: Fix atoi -> atof
+
+2011-08-15 23:58  hamish
+
+	* lib/gmath/brent.c, lib/gmath/dalloc.c, lib/gmath/fft.c,
+	  lib/gmath/findzc.c, lib/gmath/ialloc.c,
+	  raster3d/r3.in.v5d/binio.c, raster3d/r3.in.v5d/binio.h,
+	  raster3d/r3.in.v5d/v5d.c, raster3d/r3.in.v5d/v5d.h,
+	  raster3d/r3.in.v5d/vis5d.h, raster3d/r3.out.v5d/binio.c,
+	  raster3d/r3.out.v5d/binio.h, raster3d/r3.out.v5d/v5d.c,
+	  raster3d/r3.out.v5d/v5d.h, raster3d/r3.out.v5d/vis5d.h: update
+	  FSF mailing address (#1422)
+
+2011-08-15 19:41  martinl
+
+	* vector/v.colors/main.c: v.colors: no topology required
+
+2011-08-15 19:39  martinl
+
+	* vector/v.colors/main.c: v.colors: fix message
+
+2011-08-15 19:26  martinl
+
+	* vector/v.colors/v.colors.html: v.colors: refer also .out modules
+	  in manual page
+
+2011-08-15 19:18  martinl
+
+	* vector/v.colors/local_proto.h, vector/v.colors/main.c,
+	  vector/v.colors/make_colors.c, vector/v.colors/scan_attr.c,
+	  vector/v.colors/scan_cats.c: v.colors: fix rules to produce
+	  cat-based color tables
+
+2011-08-15 17:50  martinl
+
+	* lib/raster/color_rules.c: rasterlib: add doxygen documentation
+	  for color_rules.c
+
+2011-08-15 16:26  neteler
+
+	* lib/gpde/N_arrays_io.c, raster/r.colors/edit_colors.c,
+	  raster/r.univar/r3.univar_main.c: msg standardization
+
+2011-08-15 16:24  annakrat
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI_nviz_tools_light.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_surface.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_vector.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_view.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_volume.jpg: wxNviz: update
+	  manual page
+
+2011-08-15 16:21  martinl
+
+	* vector/v.colors/local_proto.h, vector/v.colors/main.c,
+	  vector/v.colors/make_colors.c, vector/v.colors/scan_attr.c,
+	  vector/v.colors/scan_cats.c: v.colors: fix 'random' color table
+
+2011-08-15 16:04  martinl
+
+	* vector/v.colors/local_proto.h, vector/v.colors/main.c,
+	  vector/v.colors/scan_attr.c, vector/v.colors/scan_cats.c:
+	  v.colors: implement range
+
+2011-08-15 15:56  martinl
+
+	* lib/vector/Vlib/color_write.c: vlib: bug in doxygen docs
+
+2011-08-15 13:56  martinl
+
+	* general/g.region/main.c, gui/wxpython/gui_modules/wxnviz.py,
+	  include/gisdefs.h, include/raster3ddefs.h, lib/gis/find_cell.c,
+	  lib/gis/find_rast.c, lib/gis/find_rast3d.c,
+	  lib/gpde/N_arrays_io.c, lib/manage/do_remove.c,
+	  lib/manage/do_rename.c, lib/ogsf/Gvl3.c, lib/ogsf/gvl_file.c,
+	  lib/raster3d/find_grid3.c, lib/raster3d/region.c,
+	  raster/r.colors/edit_colors.c, raster/r.mapcalc/map3.c,
+	  raster/r.univar/r3.univar_main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.info/r3.info.main.c, raster3d/r3.mask/main.c,
+	  raster3d/r3.mkdspf/r3_find.c, raster3d/r3.null/main.c,
+	  raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.retile/main.c,
+	  raster3d/r3.showdspf/r3_find.c, raster3d/r3.stats/main.c,
+	  raster3d/r3.timestamp/r3.timestamp.main.c,
+	  raster3d/r3.to.rast/main.c, vector/v.colors/main.c,
+	  visualization/nviz2/cmd/volume.c: G_find_grid3 moved from
+	  raster3d to gislib
+	  gislib: find_cell.c renamed to find_rast.c
+
+2011-08-15 12:41  glynn
+
+	* raster/r.terraflow/main.cc: Fix handling of memory size
+	  (conversion of int to size_t)
+
+2011-08-14 13:13  martinl
+
+	* raster/r.colors.out/Makefile: r.colors.out: write_colors.c
+	  removed
+
+2011-08-14 12:32  hamish
+
+	* imagery/i.landsat.toar/earth_sun.c, include/site.h,
+	  lib/external/bwidget/LICENSE.txt, lib/external/bwidget/README,
+	  lib/external/ccmath/lgpl.license, lib/gis/make_loc.c,
+	  lib/gis/make_mapset.c,
+	  lib/python/ctypes/ctypesgencore/parser/lex.py,
+	  lib/python/ctypes/ctypesgencore/parser/yacc.py,
+	  lib/vector/dglib/examples/components.c,
+	  lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/cr_large_graph.c,
+	  lib/vector/dglib/examples/delnode.c,
+	  lib/vector/dglib/examples/minspan.c,
+	  lib/vector/dglib/examples/opt.c, lib/vector/dglib/examples/opt.h,
+	  lib/vector/dglib/examples/parse.c,
+	  lib/vector/dglib/examples/shortest_path.c,
+	  lib/vector/dglib/examples/span.c,
+	  lib/vector/dglib/examples/unflatten.c,
+	  lib/vector/dglib/examples/view.c,
+	  macosx/pkg/resources/License.rtf, raster/r.flow/aspect.c,
+	  raster/r.flow/io.c, raster/r.flow/main.c, raster/r.flow/mem.c,
+	  raster/r.flow/precomp.c, raster/r.horizon/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.sun/main.c,
+	  raster/r.sun/rsunglobals.h, raster/r.sun/rsunlib.c,
+	  raster/r.sun/sunradstruct.h, raster/r.surf.area/main.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster3d/r3.in.v5d/main.c:
+	  update FSF mailing address (#1422)
+
+2011-08-14 12:14  hamish
+
+	* COPYING, lib/vector/dglib/COPYING: update FSF mailing address
+	  (#1422)
+
+2011-08-14 12:10  hamish
+
+	* lib/vector/dglib/COPYING, lib/vector/dglib/avl.c,
+	  lib/vector/dglib/avl.h, lib/vector/dglib/edgemgmt-template.c,
+	  lib/vector/dglib/graph.c, lib/vector/dglib/graph.h,
+	  lib/vector/dglib/graph_v1.c, lib/vector/dglib/graph_v1.h,
+	  lib/vector/dglib/graph_v2.c, lib/vector/dglib/graph_v2.h,
+	  lib/vector/dglib/heap.c, lib/vector/dglib/heap.h,
+	  lib/vector/dglib/helpers.c, lib/vector/dglib/helpers.h,
+	  lib/vector/dglib/misc-template.c,
+	  lib/vector/dglib/nodemgmt-template.c,
+	  lib/vector/dglib/sp-template.c, lib/vector/dglib/span-template.c,
+	  lib/vector/dglib/tavl.c, lib/vector/dglib/tavl.h,
+	  lib/vector/dglib/tree.c, lib/vector/dglib/tree.h,
+	  lib/vector/dglib/type.h, lib/vector/dglib/v1-defs.h,
+	  lib/vector/dglib/v2-defs.h: update FSF mailing address (#1422)
+
+2011-08-14 11:41  martinl
+
+	* raster/r.colors/Makefile: r.colors: INTERMEDIATE also for
+	  r3.colors
+
+2011-08-14 11:40  martinl
+
+	* vector/v.colors/Makefile, vector/v.colors/thumbnails.py:
+	  v.colors: thumbnails added (based on r.colors)
+
+2011-08-14 11:37  martinl
+
+	* raster/r.colors/Makefile: r3.colors: show thumbnails in manual
+	  page
+
+2011-08-14 11:36  martinl
+
+	* raster/r.colors/r.colors.html, raster/r.colors/r3.colors.html:
+	  r[3].colors: update manual page - note also v.colors[.out]
+
+2011-08-14 11:09  martinl
+
+	* display/d.vect/area.c, display/d.vect/lines.c,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/shape.c: d.vect: use color table if available
+	  -a flag used only for rgb_column
+
+2011-08-14 09:57  martinl
+
+	* visualization/nviz2/cmd/vector.c: nviz_cmd: support for vector
+	  color tables
+
+2011-08-14 09:57  martinl
+
+	* include/ogsf_proto.h, lib/ogsf/GP2.c, lib/ogsf/GV2.c,
+	  lib/ogsf/Gp3.c, lib/ogsf/Gv3.c: ogsflib: support for vector color
+	  tables
+
+2011-08-14 09:11  martinl
+
+	* gui/wxpython/support, gui/wxpython/tools: wxGUI: support -> tools
+
+2011-08-14 09:10  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: add 'v.colors.out' to the
+	  menu
+	  update menu
+
+2011-08-14 08:45  martinl
+
+	* raster/r.colors.out/local_proto.h,
+	  raster/r.colors.out/raster3d_main.c,
+	  raster/r.colors.out/raster_main.c,
+	  raster/r.colors.out/write_colors.c: r[3].colors.out updated to
+	  use Rast_print_colors()
+
+2011-08-14 08:38  martinl
+
+	* vector/Makefile, vector/v.colors.out,
+	  vector/v.colors.out/Makefile, vector/v.colors.out/local_proto.h,
+	  vector/v.colors.out/main.c, vector/v.colors.out/scan_cats.c,
+	  vector/v.colors.out/v.colors.out.html: v.colors.out implemented
+
+2011-08-14 08:33  martinl
+
+	* include/rasterdefs.h, lib/raster/color_out.c: rasterlib:
+	  Rast_print_colors() added (taken from r.colors.out)
+
+2011-08-14 08:16  martinl
+
+	* vector/v.colors/scan_cats.c: v.colors: add progress info message
+
+2011-08-13 20:51  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxNviz: make Cancel
+	  button work in thematic mapping dialog
+
+2011-08-13 17:51  martinl
+
+	* lib/vector/Vlib/cindex.c: vlib:cindex.c: cosmetics in doxygen
+	  strings
+
+2011-08-13 16:46  martinl
+
+	* vector/v.colors/main.c, vector/v.colors/v.colors.html: v.colors:
+	  manual updated
+
+2011-08-13 13:51  martinl
+
+	* vector/v.colors/local_proto.h, vector/v.colors/main.c,
+	  vector/v.colors/scan_attr.c, vector/v.colors/scan_cats.c:
+	  v.colors: fix creating color tables when `column` given
+
+2011-08-13 12:58  martinl
+
+	* lib/raster/color_rule.c: rasterlib: update doxygen strings for
+	  color_rule.c
+
+2011-08-13 12:44  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: controls (check
+	  all, clear all) added to color rules dialog, scroll panel added
+	  to vector rules dialog, unused code deleted
+
+2011-08-12 23:14  neteler
+
+	* include/gis.h: revert extra author; fix copyright
+
+2011-08-12 20:05  martinl
+
+	* vector/v.colors/local_proto.h, vector/v.colors/main.c,
+	  vector/v.colors/write_rgb.c: v.colors: write rgb values if
+	  rgbcolumn is defined
+
+2011-08-12 19:15  martinl
+
+	* vector/v.colors/main.c: v.colors: currently only vector maps from
+	  the current mapset can be modified
+
+2011-08-12 10:57  martinl
+
+	* vector/v.colors/scan_attr.c: v.colors: add missing file (scan
+	  attributes) - see r47598
+
+2011-08-12 10:55  martinl
+
+	* vector/v.colors/local_proto.h, vector/v.colors/main.c,
+	  vector/v.colors/scan_cats.c: v.colors: added support for
+	  attribute numeric column
+
+2011-08-12 09:20  neteler
+
+	* general/g.parser/parse.c: remove debug
+
+2011-08-12 09:10  neteler
+
+	* general/g.parser/g.parser.html, general/g.parser/parse.c,
+	  general/g.parser/translate.c: support {NULL} to predefined
+	  description or label
+
+2011-08-12 08:49  martinl
+
+	* lib/raster3d/close.c: minor fix in dox documentation
+
+2011-08-12 08:47  martinl
+
+	* include/raster3ddefs.h, lib/gpde/N_arrays_io.c,
+	  lib/ogsf/gvl_file.c, lib/raster3d/cache1.c,
+	  lib/raster3d/changeprecision.c, lib/raster3d/changetype.c,
+	  lib/raster3d/close.c, lib/raster3d/filecompare.c,
+	  lib/raster3d/mask.c, lib/raster3d/retile.c,
+	  lib/raster3d/test/test_coordinate_transform.c,
+	  lib/raster3d/test/test_put_get_value.c, lib/raster3d/volume.c,
+	  raster/r.colors/stats.c, raster/r.mapcalc/map3.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.univar/r3.univar_main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.info/r3.info.main.c,
+	  raster3d/r3.mask/main.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.null/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.retile/main.c,
+	  raster3d/r3.to.rast/main.c, vector/v.to.rast3/main.c,
+	  vector/v.vol.rst/user1.c: raster3dlib: doxygenize close.c
+	  Rast3d_close_cell() ranamed to Rast3d_close()
+
+2011-08-12 08:32  martinl
+
+	* general/g.region/main.c, include/raster3ddefs.h,
+	  lib/gpde/N_arrays.c, lib/gpde/N_arrays_calc.c,
+	  lib/gpde/N_arrays_io.c, lib/gpde/N_geom.c,
+	  lib/gpde/test/test_arrays.c, lib/gpde/test/test_geom.c,
+	  lib/ogsf/GVL2.c, lib/ogsf/Gvl3.c, lib/ogsf/gvl_file.c,
+	  lib/raster3d/cache.c, lib/raster3d/cache1.c,
+	  lib/raster3d/cachehash.c, lib/raster3d/cats.c,
+	  lib/raster3d/changeprecision.c, lib/raster3d/changetype.c,
+	  lib/raster3d/close.c, lib/raster3d/color.c,
+	  lib/raster3d/defaults.c, lib/raster3d/doubleio.c,
+	  lib/raster3d/error.c, lib/raster3d/filecompare.c,
+	  lib/raster3d/fpcompress.c, lib/raster3d/fpxdr.c,
+	  lib/raster3d/getblock.c, lib/raster3d/getvalue.c,
+	  lib/raster3d/header.c, lib/raster3d/headerinfo.c,
+	  lib/raster3d/history.c, lib/raster3d/index.c,
+	  lib/raster3d/intio.c, lib/raster3d/keys.c, lib/raster3d/long.c,
+	  lib/raster3d/mapset.c, lib/raster3d/mask.c, lib/raster3d/misc.c,
+	  lib/raster3d/null.c, lib/raster3d/open.c, lib/raster3d/open2.c,
+	  lib/raster3d/param.c, lib/raster3d/putvalue.c,
+	  lib/raster3d/range.c, lib/raster3d/raster3d_intern.h,
+	  lib/raster3d/region.c, lib/raster3d/resample.c,
+	  lib/raster3d/retile.c, lib/raster3d/rle.c,
+	  lib/raster3d/test/test_coordinate_transform.c,
+	  lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value.c, lib/raster3d/tilealloc.c,
+	  lib/raster3d/tileio.c, lib/raster3d/tilemath.c,
+	  lib/raster3d/tilenull.c, lib/raster3d/tileread.c,
+	  lib/raster3d/tilewrite.c, lib/raster3d/volume.c,
+	  lib/raster3d/window.c, lib/raster3d/windowio.c,
+	  lib/raster3d/writeascii.c, raster/r.colors.out/raster3d_main.c,
+	  raster/r.colors/edit_colors.c, raster/r.colors/stats.c,
+	  raster/r.mapcalc/map3.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.univar/r3.univar_main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.gwflow/main.c,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.info/r3.info.main.c, raster3d/r3.mask/main.c,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.mkdspf/r3_data.c,
+	  raster3d/r3.null/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.retile/main.c, raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/r3_data.c, raster3d/r3.stats/main.c,
+	  raster3d/r3.to.rast/main.c, vector/v.colors/main.c,
+	  vector/v.to.rast3/main.c, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c: raster3dlib: change camelCase to
+	  underscores in the function names
+
+2011-08-12 00:00  lucadelu
+
+	* scripts/v.in.gns/v.in.gns.py: fix v.in.gns, to be check the
+	  coldescs values
+
+2011-08-11 23:32  lucadelu
+
+	* general/g.parser/standard_option.c, include/gis.h,
+	  lib/gis/parser_standard_options.c: rename G_OPT_DIR to
+	  G_OPT_M_DIR
+
+2011-08-11 22:25  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix indentation
+	  (r47585)
+
+2011-08-11 22:22  neteler
+
+	* raster3d/r3.to.rast/main.c, raster3d/r3.to.rast/r3.to.rast.html:
+	  Milena Nowotarska: i18n cleanup; HTML cleanup
+
+2011-08-11 22:14  lucadelu
+
+	* general/g.parser/standard_option.c,
+	  gui/wxpython/gui_modules/menuform.py, include/gis.h,
+	  lib/gis/parser_standard_options.c: add G_OPT_DIR data types and
+	  support it on wxpython gui
+
+2011-08-11 21:34  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix `remove`
+	  action
+
+2011-08-11 21:18  martinl
+
+	* lib/init/grass.py: fix r47570
+
+2011-08-11 21:16  martinl
+
+	* lib/init/grass.py: grass.py (r47557):
+	  use sys.stdout.write instead of print
+	  fix indentation
+
+2011-08-11 21:05  neteler
+
+	* scripts/d.rast.leg/d.rast.leg.py: fix
+
+2011-08-11 21:01  neteler
+
+	* scripts/r.plane/r.plane.py: fix
+
+2011-08-11 21:00  martinl
+
+	* vector/Makefile: v.colors compiled by default
+
+2011-08-11 20:59  martinl
+
+	* scripts/Makefile, scripts/v.colors: v.colors (Python script)
+	  moved to add-ons
+	  being replaced by C-program
+
+2011-08-11 20:57  martinl
+
+	* vector/v.colors, vector/v.colors/Makefile,
+	  vector/v.colors/local_proto.h, vector/v.colors/main.c,
+	  vector/v.colors/scan_cats.c, vector/v.colors/v.colors.html:
+	  v.colors (C program) added
+
+2011-08-11 20:57  martinl
+
+	* raster/r.colors/edit_colors.c: r.colors: messages cosmetics
+
+2011-08-11 20:55  martinl
+
+	* include/vector.h, lib/vector/Vlib/color_remove.c,
+	  lib/vector/Vlib/color_write.c: vlib: Vect_remove_colors() and
+	  Vect_write_colors() implemeneted
+
+2011-08-11 20:51  martinl
+
+	* lib/gis/open.c: gislib: check name only if defined
+
+2011-08-11 20:21  lucadelu
+
+	* lib/init/grass.py: add --config option in the startup script; it
+	  is usefull to return some paramaters of GRASS installation
+
+2011-08-11 20:14  cmbarton
+
+	* gui/wxpython/gui_modules/colorrules.py: Fixing various bugs
+
+2011-08-11 19:21  cmbarton
+
+	* gui/wxpython/gui_modules/colorrules.py: Make children controls of
+	  wx.StaticBox usable on Mac.
+
+2011-08-11 10:59  martinl
+
+	* lib/raster/color_remove.c: rasterlib: color_remove.c: add doxygen
+	  strings
+
+2011-08-11 10:37  martinl
+
+	* display/d.vect/main.c: d.vect: use G_OPT_M_COLR
+
+2011-08-11 10:36  martinl
+
+	* raster/r.colors/edit_colors.c: r.colors: updated to use gislib
+	  fns and standard option (COLR)
+
+2011-08-11 10:35  martinl
+
+	* include/gis.h, include/gisdefs.h, lib/gis/color_rules.c,
+	  lib/gis/parser_standard_options.c: gislib: G_list_color_rules()
+	  and G_find_color_rule() added
+	  new standard option G_OPT_M_COLR
+
+2011-08-11 09:33  martinl
+
+	* include/gisdefs.h, lib/gis/color_rules.c,
+	  raster/r.colors/edit_colors.c, vector/v.colors: gislib: add
+	  G_color_rules_list() and G_color_rules_descriptions()
+
+2011-08-11 08:37  neteler
+
+	* raster3d/r3.stats/r3.stats.html: Milena Nowotarska: HTML cleanup
+
+2011-08-11 08:17  neteler
+
+	* raster3d/r3.stats/main.c: Milena Nowotarska: message
+	  standardization
+
+2011-08-10 19:48  mmetz
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI file selector:
+	  distinguish between file to open and file to save
+
+2011-08-10 19:21  mmetz
+
+	* lib/python/ctypes/__init__.py: ctypes: g3d -> raster3d
+
+2011-08-10 19:19  mmetz
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxnviz: g3d -> raster3d
+
+2011-08-10 17:49  martinl
+
+	* grasslib.dox, lib/raster3d/Makefile, lib/raster3d/lib.dox,
+	  lib/raster3d/raster3dlib.dox: doxygen: g3d renamed to raster3d
+
+2011-08-10 17:27  martinl
+
+	* general/g.region/main.c, include/raster3d.h,
+	  include/raster3ddefs.h, lib/gpde/N_arrays.c,
+	  lib/gpde/N_arrays_calc.c, lib/gpde/N_arrays_io.c,
+	  lib/gpde/N_geom.c, lib/gpde/test/test_arrays.c,
+	  lib/gpde/test/test_geom.c, lib/ogsf/GVL2.c, lib/ogsf/Gvl3.c,
+	  lib/ogsf/gvl_file.c, lib/raster3d/G3d.h_unused,
+	  lib/raster3d/alloc.c, lib/raster3d/cache.c,
+	  lib/raster3d/cache1.c, lib/raster3d/cachehash.c,
+	  lib/raster3d/cachehash.h, lib/raster3d/cats.c,
+	  lib/raster3d/changeprecision.c, lib/raster3d/changetype.c,
+	  lib/raster3d/close.c, lib/raster3d/color.c,
+	  lib/raster3d/defaults.c, lib/raster3d/doubleio.c,
+	  lib/raster3d/error.c, lib/raster3d/filecompare.c,
+	  lib/raster3d/filename.c, lib/raster3d/fpcompress.c,
+	  lib/raster3d/fpxdr.c, lib/raster3d/getblock.c,
+	  lib/raster3d/getvalue.c, lib/raster3d/header.c,
+	  lib/raster3d/headerinfo.c, lib/raster3d/history.c,
+	  lib/raster3d/index.c, lib/raster3d/intio.c, lib/raster3d/keys.c,
+	  lib/raster3d/lib.dox, lib/raster3d/long.c, lib/raster3d/mapset.c,
+	  lib/raster3d/mask.c, lib/raster3d/maskfn.c, lib/raster3d/misc.c,
+	  lib/raster3d/null.c, lib/raster3d/open.c, lib/raster3d/open2.c,
+	  lib/raster3d/param.c, lib/raster3d/putvalue.c,
+	  lib/raster3d/range.c, lib/raster3d/raster3d_intern.h,
+	  lib/raster3d/region.c, lib/raster3d/resample.c,
+	  lib/raster3d/retile.c, lib/raster3d/rle.c,
+	  lib/raster3d/test/test_coordinate_transform.c,
+	  lib/raster3d/test/test_main.c,
+	  lib/raster3d/test/test_put_get_value.c, lib/raster3d/tilealloc.c,
+	  lib/raster3d/tileio.c, lib/raster3d/tilemath.c,
+	  lib/raster3d/tilenull.c, lib/raster3d/tileread.c,
+	  lib/raster3d/tilewrite.c, lib/raster3d/volume.c,
+	  lib/raster3d/window.c, lib/raster3d/windowio.c,
+	  lib/raster3d/writeascii.c, locale/po/grasslibs_ar.po,
+	  locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_el.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  raster/r.colors.out/raster3d_main.c,
+	  raster/r.colors/edit_colors.c, raster/r.colors/stats.c,
+	  raster/r.mapcalc/map3.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.univar/r3.univar_main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.gwflow/main.c,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.info/r3.info.main.c, raster3d/r3.mask/main.c,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.mkdspf/r3_data.c,
+	  raster3d/r3.null/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/BUG, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/errorHandling.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/writeVTKData.c, raster3d/r3.retile/main.c,
+	  raster3d/r3.showdspf/main_ogl.c, raster3d/r3.showdspf/r3_data.c,
+	  raster3d/r3.stats/main.c, raster3d/r3.to.rast/main.c,
+	  vector/v.to.rast3/main.c, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c: G3d_ -> Rast3d_
+
+2011-08-10 17:20  martinl
+
+	* AUTHORS, general/g.region/Makefile, general/g.region/main.c,
+	  gui/wxpython/xml/menudata.xml, include/Make/Grass.make,
+	  include/gsurf.h, include/raster3d.h, include/raster3ddefs.h,
+	  lib/dspf/viz.h, lib/gpde/Makefile, lib/gpde/N_arrays_io.c,
+	  lib/gpde/N_geom.c, lib/gpde/N_pde.h, lib/gpde/gpdelib.dox,
+	  lib/gpde/test/Makefile, lib/gpde/test/test_arrays.c,
+	  lib/gpde/test/test_geom.c, lib/gpde/test/test_main.c,
+	  lib/manage/Makefile, lib/ogsf/GVL2.c, lib/ogsf/gvl.c,
+	  lib/ogsf/gvl_file.c, lib/python/ctypes/Makefile,
+	  lib/raster3d/G3d.h_unused, lib/raster3d/Makefile,
+	  lib/raster3d/cache.c, lib/raster3d/cache1.c, lib/raster3d/cats.c,
+	  lib/raster3d/changeprecision.c, lib/raster3d/changetype.c,
+	  lib/raster3d/close.c, lib/raster3d/color.c,
+	  lib/raster3d/defaults.c, lib/raster3d/doubleio.c,
+	  lib/raster3d/filecompare.c, lib/raster3d/filename.c,
+	  lib/raster3d/fpcompress.c, lib/raster3d/fpxdr.c,
+	  lib/raster3d/getblock.c, lib/raster3d/getvalue.c,
+	  lib/raster3d/header.c, lib/raster3d/headerinfo.c,
+	  lib/raster3d/history.c, lib/raster3d/index.c,
+	  lib/raster3d/intio.c, lib/raster3d/lib.dox, lib/raster3d/long.c,
+	  lib/raster3d/mapset.c, lib/raster3d/mask.c, lib/raster3d/misc.c,
+	  lib/raster3d/open.c, lib/raster3d/open2.c, lib/raster3d/param.c,
+	  lib/raster3d/putvalue.c, lib/raster3d/range.c,
+	  lib/raster3d/raster3d_intern.h, lib/raster3d/region.c,
+	  lib/raster3d/resample.c, lib/raster3d/retile.c,
+	  lib/raster3d/test/Makefile,
+	  lib/raster3d/test/test_coordinate_transform.c,
+	  lib/raster3d/test/test_g3d_lib.h,
+	  lib/raster3d/test/test_put_get_value.c, lib/raster3d/tilealloc.c,
+	  lib/raster3d/tileio.c, lib/raster3d/tilemath.c,
+	  lib/raster3d/tilenull.c, lib/raster3d/tileread.c,
+	  lib/raster3d/tilewrite.c, lib/raster3d/volume.c,
+	  lib/raster3d/volume_layout.xcf, lib/raster3d/window.c,
+	  lib/raster3d/windowio.c, locale/po/grasslibs_de.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po,
+	  raster/r.colors.out/Makefile, raster/r.colors/Makefile,
+	  raster/r.colors/stats.c, raster/r.mapcalc/Makefile,
+	  raster/r.mapcalc/globals3.h, raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/xcoor3.c, raster/r.to.rast3/Makefile,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3/r.to.rast3.html,
+	  raster/r.to.rast3elev/Makefile, raster/r.to.rast3elev/main.c,
+	  raster/r.univar/Makefile, raster/r.univar/r3.univar_main.c,
+	  raster/rasterintro.html, raster3d/r3.cross.rast/Makefile,
+	  raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.cross.rast/r3.cross.rast.html,
+	  raster3d/r3.gwflow/Makefile, raster3d/r3.gwflow/main.c,
+	  raster3d/r3.in.ascii/Makefile, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.in.v5d/Makefile, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.info/Makefile, raster3d/r3.info/r3.info.main.c,
+	  raster3d/r3.mask/Makefile, raster3d/r3.mask/main.c,
+	  raster3d/r3.mask/r3.mask.html, raster3d/r3.mkdspf/Makefile,
+	  raster3d/r3.mkdspf/iso_surface.c,
+	  raster3d/r3.mkdspf/local_proto.h, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/make_header.c, raster3d/r3.mkdspf/r3_data.c,
+	  raster3d/r3.null/Makefile, raster3d/r3.null/main.c,
+	  raster3d/r3.out.ascii/Makefile, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.ascii/r3.out.ascii.html, raster3d/r3.out.v5d/BUG,
+	  raster3d/r3.out.v5d/Makefile, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.v5d/r3.out.v5d.html,
+	  raster3d/r3.out.vtk/Makefile,
+	  raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/errorHandling.h,
+	  raster3d/r3.out.vtk/globalDefs.h, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/parameters.h,
+	  raster3d/r3.out.vtk/r3.out.vtk.html,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKData.h,
+	  raster3d/r3.out.vtk/writeVTKHead.c,
+	  raster3d/r3.out.vtk/writeVTKHead.h, raster3d/r3.retile/Makefile,
+	  raster3d/r3.retile/main.c, raster3d/r3.retile/r3.retile.html,
+	  raster3d/r3.showdspf/Makefile, raster3d/r3.showdspf/init_caps.c,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/make_header.c,
+	  raster3d/r3.showdspf/vizual2.h, raster3d/r3.stats/Makefile,
+	  raster3d/r3.stats/main.c, raster3d/r3.timestamp/Makefile,
+	  raster3d/r3.to.rast/Makefile, raster3d/r3.to.rast/main.c,
+	  raster3d/r3.to.rast/r3.to.rast.html, raster3d/raster3dintro.html,
+	  vector/v.to.rast3/Makefile, vector/v.to.rast3/main.c,
+	  vector/v.vol.rst/Makefile, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/userglobs.h,
+	  visualization/nviz/scripts/mapBrowser.tcl,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz2/cmd/Makefile: G3D -> RASTER3D
+
+2011-08-10 17:05  martinl
+
+	* lib/raster3d/G3d_intern.h, lib/raster3d/alloc.c,
+	  lib/raster3d/cache.c, lib/raster3d/cache1.c,
+	  lib/raster3d/cachehash.c, lib/raster3d/cats.c,
+	  lib/raster3d/close.c, lib/raster3d/color.c,
+	  lib/raster3d/defaults.c, lib/raster3d/doubleio.c,
+	  lib/raster3d/error.c, lib/raster3d/filename.c,
+	  lib/raster3d/fpcompress.c, lib/raster3d/fpxdr.c,
+	  lib/raster3d/getblock.c, lib/raster3d/getvalue.c,
+	  lib/raster3d/header.c, lib/raster3d/headerinfo.c,
+	  lib/raster3d/history.c, lib/raster3d/index.c,
+	  lib/raster3d/intio.c, lib/raster3d/keys.c, lib/raster3d/long.c,
+	  lib/raster3d/mapset.c, lib/raster3d/mask.c, lib/raster3d/misc.c,
+	  lib/raster3d/null.c, lib/raster3d/open.c, lib/raster3d/param.c,
+	  lib/raster3d/putvalue.c, lib/raster3d/range.c,
+	  lib/raster3d/raster3d_intern.h, lib/raster3d/region.c,
+	  lib/raster3d/resample.c, lib/raster3d/tilealloc.c,
+	  lib/raster3d/tileio.c, lib/raster3d/tilemath.c,
+	  lib/raster3d/tilenull.c, lib/raster3d/tileread.c,
+	  lib/raster3d/tilewrite.c, lib/raster3d/window.c,
+	  lib/raster3d/windowio.c: G3d_intern.h -> raster3d_intern.h
+
+2011-08-10 16:59  martinl
+
+	* general/g.region/main.c, lib/gpde/N_pde.h,
+	  lib/gpde/test/test_geom.c, lib/manage/do_remove.c,
+	  lib/manage/do_rename.c, lib/ogsf/GVL2.c, lib/ogsf/Gvl3.c,
+	  lib/ogsf/gvl_file.c, lib/raster3d/G3d_intern.h,
+	  lib/raster3d/cache1.c, lib/raster3d/cachehash.c,
+	  lib/raster3d/changeprecision.c, lib/raster3d/changetype.c,
+	  lib/raster3d/defaults.c, lib/raster3d/filecompare.c,
+	  lib/raster3d/header.c, lib/raster3d/headerinfo.c,
+	  lib/raster3d/index.c, lib/raster3d/maskfn.c, lib/raster3d/open.c,
+	  lib/raster3d/open2.c, lib/raster3d/region.c,
+	  lib/raster3d/retile.c, lib/raster3d/rle.c,
+	  lib/raster3d/test/test_g3d_lib.h, lib/raster3d/volume.c,
+	  lib/raster3d/window.c, lib/raster3d/writeascii.c,
+	  raster/r.colors.out/local_proto.h, raster/r.colors/local_proto.h,
+	  raster/r.mapcalc/globals3.h, raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/xcoor3.c, raster/r.mapcalc/xres3.c,
+	  raster/r.mfilter/r.mfilter.html, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.univar/globals.h,
+	  raster/r.univar/r3.univar_main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.info/r3.info.main.c,
+	  raster3d/r3.mask/main.c, raster3d/r3.mkdspf/iso_surface.c,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.mkdspf/make_header.c,
+	  raster3d/r3.mkdspf/r3_data.c, raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.null/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c, raster3d/r3.retile/main.c,
+	  raster3d/r3.showdspf/init_caps.c,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/make_header.c,
+	  raster3d/r3.showdspf/r3_data.c, raster3d/r3.showdspf/r3_find.c,
+	  raster3d/r3.stats/main.c,
+	  raster3d/r3.timestamp/r3.timestamp.main.c,
+	  raster3d/r3.to.rast/main.c, vector/v.to.rast3/main.c,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/user1.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/userglobs.h,
+	  vector/v.vol.rst/vector.c, visualization/nviz2/cmd/volume.c:
+	  update code: g3d.h has been renamed to raster3d.h
+
+2011-08-10 16:49  martinl
+
+	* include/G3d.h, include/raster3d.h, include/raster3ddefs.h: G3d.h
+	  renamed to raster3d.h
+	  function moved to raster3ddefs.h
+
+2011-08-10 16:45  martinl
+
+	* lib/raster3d/alloc.c, lib/raster3d/cache.c,
+	  lib/raster3d/cache1.c, lib/raster3d/cats.c, lib/raster3d/close.c,
+	  lib/raster3d/color.c, lib/raster3d/defaults.c,
+	  lib/raster3d/doubleio.c, lib/raster3d/error.c,
+	  lib/raster3d/fpxdr.c, lib/raster3d/g3d_volume_layout.png,
+	  lib/raster3d/g3d_volume_layout.xcf, lib/raster3d/g3dalloc.c,
+	  lib/raster3d/g3dcache.c, lib/raster3d/g3dcats.c,
+	  lib/raster3d/g3dclose.c, lib/raster3d/g3dcolor.c,
+	  lib/raster3d/g3ddefaults.c, lib/raster3d/g3ddoubleio.c,
+	  lib/raster3d/g3derror.c, lib/raster3d/g3dfpxdr.c,
+	  lib/raster3d/g3dgetvalue.c, lib/raster3d/g3dhistory.c,
+	  lib/raster3d/g3dintio.c, lib/raster3d/g3dkeys.c,
+	  lib/raster3d/g3dlib.dox, lib/raster3d/g3dlong.c,
+	  lib/raster3d/g3dmapset.c, lib/raster3d/g3dmask.c,
+	  lib/raster3d/g3dmisc.c, lib/raster3d/g3dnull.c,
+	  lib/raster3d/g3dopen.c, lib/raster3d/g3dopen2.c,
+	  lib/raster3d/g3dparam.c, lib/raster3d/g3dputvalue.c,
+	  lib/raster3d/g3drange.c, lib/raster3d/g3dregion.c,
+	  lib/raster3d/g3dresample.c, lib/raster3d/g3dvolume.c,
+	  lib/raster3d/g3dwindow.c, lib/raster3d/g3dwindowio.c,
+	  lib/raster3d/getvalue.c, lib/raster3d/history.c,
+	  lib/raster3d/intio.c, lib/raster3d/keys.c, lib/raster3d/lib.dox,
+	  lib/raster3d/long.c, lib/raster3d/mapset.c, lib/raster3d/mask.c,
+	  lib/raster3d/misc.c, lib/raster3d/null.c, lib/raster3d/open.c,
+	  lib/raster3d/open2.c, lib/raster3d/param.c,
+	  lib/raster3d/putvalue.c, lib/raster3d/range.c,
+	  lib/raster3d/region.c, lib/raster3d/resample.c,
+	  lib/raster3d/volume.c, lib/raster3d/volume_layout.png,
+	  lib/raster3d/volume_layout.xcf, lib/raster3d/window.c,
+	  lib/raster3d/windowio.c: raster3d: files renamed (no need for
+	  `g3d` prefix)
+
+2011-08-10 16:34  martinl
+
+	* lib/Makefile, lib/g3d, lib/raster3d: dir lib/g3d renamed to
+	  raster3d
+
+2011-08-10 11:03  martinl
+
+	* raster3d/Makefile: raster3d: update Makefile for r3.mask and
+	  r3.null
+
+2011-08-10 10:59  martinl
+
+	* include/G3d.h, lib/g3d/maskfn.c: g3dlib: add mask fn for r3.null
+	  and r3.mask
+
+2011-08-10 10:58  martinl
+
+	* raster3d/base, raster3d/r3.mask, raster3d/r3.mask/Makefile,
+	  raster3d/r3.mask/main.c, raster3d/r3.mask/r3.mask.html,
+	  raster3d/r3.null, raster3d/r3.null/Makefile,
+	  raster3d/r3.null/main.c, raster3d/r3.null/r3.null.html,
+	  raster3d/r3.null/test.r3.null.sh,
+	  raster3d/r3.null/test_volume_double_1.ref,
+	  raster3d/r3.null/test_volume_double_2.ref,
+	  raster3d/r3.null/test_volume_double_null_1.ref,
+	  raster3d/r3.null/test_volume_double_null_2.ref,
+	  raster3d/r3.null/test_volume_float_1.ref,
+	  raster3d/r3.null/test_volume_float_2.ref,
+	  raster3d/r3.null/test_volume_float_null_1.ref,
+	  raster3d/r3.null/test_volume_float_null_2.ref: raster3d: split
+	  base into r3.mask and r3.null
+
+2011-08-10 10:21  martinl
+
+	* include/raster.h: rasterlib: add missing header
+
+2011-08-10 10:13  martinl
+
+	* display/d.vect/area.c, display/d.vect/lines.c,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/shape.c: d.vect: add initial support for color
+	  tables
+	  minor code clean up
+
+2011-08-10 10:12  martinl
+
+	* include/Make/Grass.make, include/vector.h,
+	  lib/vector/Vlib/Makefile, lib/vector/Vlib/color_read.c: vlib:
+	  Vect_read_colors() added
+	  dependency to rasterlib introduced
+
+2011-08-10 10:09  martinl
+
+	* include/gis.h, include/raster.h, include/rasterdefs.h,
+	  lib/raster/color_read.c: gislib/rasterlib: struct Colors moved to
+	  gislib
+	  Rast__read_colors() added
+
+2011-08-09 23:59  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: be more verbose about
+	  errors in rendering
+
+2011-08-09 23:43  martinl
+
+	* db/drivers/dbf/table.c: DBMI-DBF: fix 45652
+
+2011-08-09 21:53  neteler
+
+	* raster3d/base/r3.null.main.c: Milena Nowotarska: message
+	  standardization
+
+2011-08-09 20:49  annakrat
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxNviz: fix method name
+
+2011-08-09 20:30  martinl
+
+	* lib/raster/color_init.c: rasterlib: simplify Rast_init_colors()
+	  doxygen updates
+
+2011-08-09 18:07  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: thematic mapping for
+	  lines
+
+2011-08-09 16:55  neteler
+
+	* raster3d/base/r3.mask.main.c: Milena Nowotarska: message
+	  standardization
+
+2011-08-09 16:44  neteler
+
+	* raster3d/r3.info/r3.info.main.c: Milena Nowotarska: message
+	  standardization
+
+2011-08-09 11:05  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: fix minor bugs in
+	  vector color rules dialog
+
+2011-08-09 10:27  mmetz
+
+	* display/d.vect/attr.c, display/d.vect/label.c,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/shape.c, display/d.vect/topo.c: d.vect: minor code
+	  cleanup
+
+2011-08-09 09:43  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py, gui/wxpython/wxgui.py:
+	  wxNviz: ColorTable class changed to base class for deriving
+	  RasterColorTable, VectorColorTable, ThematicVectorTable
+
+2011-08-07 19:59  martinl
+
+	* display/d.vect/lines.c: d.vect: don't call Vect_get_map_box() for
+	  every feature in the loop
+
+2011-08-07 19:53  martinl
+
+	* display/d.vect/main.c: d.vect: no need to call exit() after
+	  G_fatal_error()
+
+2011-08-07 19:51  martinl
+
+	* display/d.vect/lines.c, display/d.vect/main.c: d.vect: -z flag
+	  works for all vector types
+
+2011-08-07 19:23  martinl
+
+	* display/d.vect/zcoor.c: d.vect: fix zcoor for points (no nodes
+	  registered)
+
+2011-08-07 18:59  martinl
+
+	* display/d.vect/area.c, display/d.vect/lines.c: d.vect: rename
+	  variable (cosmetics)
+
+2011-08-07 18:54  martinl
+
+	* display/d.vect/main.c: d.vect: standardize options
+	  wcolumn -> width_column
+	  wscale -> width_scale
+	  rot_column -> rotation_column
+
+2011-08-07 18:27  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: fix font/enc bug
+
+2011-08-07 18:17  martinl
+
+	* include/symbol.h, lib/symbol/read.c: symbollib: S_read -> const
+	  char *
+
+2011-08-07 18:16  martinl
+
+	* display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/dir.c, display/d.vect/label.c,
+	  display/d.vect/lines.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/opt.c,
+	  display/d.vect/plot.h, display/d.vect/plot1.c,
+	  display/d.vect/shape.c, display/d.vect/topo.c,
+	  display/d.vect/utils.c, display/d.vect/zcoor.c: d.vect: major
+	  code reorganization
+
+2011-08-07 14:45  martinl
+
+	* display/d.rast/main.c: d.rast: simplify code
+
+2011-08-07 14:35  martinl
+
+	* scripts/v.db.addtable/v.db.addtable.py: v.db.addtable: major
+	  update, define option for key column
+
+2011-08-07 14:35  martinl
+
+	* general/g.parser/standard_option.c, include/gis.h,
+	  lib/gis/parser_standard_options.c, lib/vector/Vlib/field.c,
+	  lib/vector/neta/utils.c, raster/r.random/random.c,
+	  raster/r.to.vect/main.c, vector/v.convert/att.c,
+	  vector/v.db.connect/main.c, vector/v.generalize/misc.c,
+	  vector/v.in.ascii/main.c, vector/v.in.dwg/main.c,
+	  vector/v.in.dxf/write_vect.c, vector/v.in.lidar/main.c,
+	  vector/v.in.ogr/main.c, vector/v.in.sites/main.c,
+	  vector/v.net.allpairs/main.c, vector/v.net.centrality/main.c,
+	  vector/v.net.components/main.c, vector/v.net.distance/main.c,
+	  vector/v.net.flow/main.c, vector/v.net.path/path.c,
+	  vector/v.net.timetable/main.c, vector/v.out.ogr/attrb.c,
+	  vector/v.out.ogr/main.c, vector/v.overlay/main.c,
+	  vector/v.random/main.c, vector/v.reclass/main.c,
+	  vector/v.surf.rst/main.c, vector/v.to.points/main.c,
+	  vector/v.vol.rst/main.c: gislib: define G_OPT_DB_KEYCOLUMN and
+	  GV_KEY_COLUMN
+
+2011-08-07 13:07  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: fix OnCloseWindow
+	  standardize names of hidden methods
+
+2011-08-07 12:55  martinl
+
+	* lib/ogsf/ogsflib.dox: ogsf: note major todos
+
+2011-08-07 12:41  martinl
+
+	* gui/wxpython/gui_modules/wxnviz.py, include/gstypes.h,
+	  include/ogsf_proto.h, lib/nviz/map_obj.c, lib/ogsf/GP2.c,
+	  lib/ogsf/GV2.c, lib/ogsf/Gp3.c, lib/ogsf/Gv3.c, lib/ogsf/gp.c,
+	  lib/ogsf/gpd.c, lib/ogsf/gv.c, lib/ogsf/gvd.c,
+	  lib/ogsf/ogsflib.dox, visualization/nviz/src/map_obj.c,
+	  visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/vector.c: osgflib: thematic mapping for
+	  vector lines
+	  GV_set_vectmode() renamed to GV_set_style
+	  nviz_cmd: add paramaters for thematic mapping (vlines)
+
+2011-08-07 09:55  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/colortable: no need
+	  to set `label= _('')`
+
+2011-08-07 09:45  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/colortable: fix
+	  GMessage
+
+2011-08-07 07:43  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/gstypes.h,
+	  include/ogsf_proto.h, lib/ogsf/GP2.c, lib/ogsf/gp.c,
+	  lib/ogsf/gpd.c: wxNviz: switch (un)loading thematic mapping
+
+2011-08-05 18:39  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: first and imperfect
+	  implementation of thematic mapping (only color so far) for points
+
+2011-08-05 13:52  martinl
+
+	* db/drivers/ogr/execute.c: DBMI-OGR: remove extra debug message
+
+2011-08-05 13:08  martinl
+
+	* db/drivers/ogr/execute.c: DBMI-OGR: fix db__driver_execute() -
+	  call also OGR_DS_ExecuteSQL for RDBMS
+
+2011-08-05 13:06  martinl
+
+	* include/gisdefs.h, lib/gis/gislib.dox, lib/gis/strings.c: gislib:
+	  add G_strcasestr()
+
+2011-08-05 12:53  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: ColorTable: fix
+	  last commit
+
+2011-08-05 12:41  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: ColorTable: rgb
+	  column must be character only
+
+2011-08-05 11:51  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: ColorTable: fix
+	  multiple calling VectorDBInfo, adding table/GRASSRGB column
+	  changed
+
+2011-08-04 19:40  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: improve color
+	  rules dialog
+
+2011-08-04 19:38  annakrat
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: translatable string
+	  missing
+
+2011-08-04 15:25  lucadelu
+
+	* locale/po/grasswxpy_it.po: some more translated
+
+2011-08-04 15:06  martinl
+
+	* gui/wxpython/gui_modules/gselect.py, lib/python/core.py,
+	  lib/python/task.py: pythonlib: list_grouped() - check for search
+	  path optional
+
+2011-08-04 14:45  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI/gselect: don't ignore
+	  search path
+
+2011-08-04 14:31  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI/gselect: don't call
+	  g.mapset twice
+
+2011-08-04 14:17  martinl
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: update po
+	  files (standard option for scripts)
+
+2011-08-04 14:11  martinl
+
+	* gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix gettext warnings
+
+2011-08-04 13:45  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: improve vector
+	  color rules dialog
+
+2011-08-04 12:51  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: replace mlist() by
+	  mlist_grouped()
+
+2011-08-04 12:50  martinl
+
+	* lib/python/core.py: pythonlib: fix list_grouped() to list all
+	  mapsets in the search path
+	  remove mlist() - can be replaced by mlist_grouped()
+
+2011-08-04 11:38  martinl
+
+	* scripts/d.correlate/d.correlate.py, scripts/d.polar/d.polar.py,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/d.vect.thematic/d.vect.thematic.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py, scripts/i.oif/i.oif.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer/r.buffer.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py, scripts/r.grow/r.grow.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/r.in.srtm/r.in.srtm.py,
+	  scripts/r.in.wms/r.in.gdalwarp.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.mask/r.mask.py, scripts/r.out.xyz/r.out.xyz.py,
+	  scripts/r.pack/r.pack.py, scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py, scripts/r.rgb/r.rgb.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/r.tileset/r.tileset.py, scripts/r.unpack/r.unpack.py,
+	  scripts/v.centroids/v.centroids.py, scripts/v.colors/v.colors.py,
+	  scripts/v.convert.all/v.convert.all.py,
+	  scripts/v.db.addcolumn/v.db.addcolumn.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droprow/v.db.droprow.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py, scripts/v.in.lines/v.in.lines.py,
+	  scripts/v.in.mapgen/v.in.mapgen.py,
+	  scripts/v.in.sites.all/v.in.sites.all.py,
+	  scripts/v.in.wfs/v.in.wfs.py, scripts/v.krige/v.krige.py,
+	  scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.what.vect/v.what.vect.py,
+	  scripts/wxpyimgview/wxpyimgview.py,
+	  scripts/wxpyimgview/wxpyimgview_gui.py: python scripts: use
+	  standard option
+	  standardize option names
+
+2011-08-04 09:08  annakrat
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: reorganize layout
+	  code to be more readable
+
+2011-08-04 08:42  martinl
+
+	* general/g.parser/global.h, general/g.parser/main.c,
+	  general/g.parser/parse.c, general/g.parser/proto.h,
+	  general/g.parser/revoke.c, general/g.parser/standard_option.c,
+	  general/g.parser/translate.c: g.parser: support standard options
+	  major code reorgranization
+
+2011-08-04 08:41  martinl
+
+	* include/gis.h: gislib: add G_OPT_UNDEFINED
+
+2011-08-04 08:40  martinl
+
+	* include/gisdefs.h, lib/gis/gislib.dox, lib/gis/strings.c: gislib:
+	  add G_strncasecmp()
+
+2011-08-03 20:28  martinl
+
+	* include/gisdefs.h, lib/gis/strings.c,
+	  sites/s.in.ascii/get_site.c: gislib: G_squeeze return type char *
+	  -> void
+	  string.c: clean up doxygen
+
+2011-08-03 20:14  martinl
+
+	* general/g.parser/main.c: g.parser: strcasecmp -> G_strcasecmp
+
+2011-08-03 20:09  martinl
+
+	* general/g.parser/main.c: g.parser: i18n
+
+2011-08-03 19:08  annakrat
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py:
+	  wxNviz: enable opening new map window with 3D view after the
+	  previous one was closed
+
+2011-08-03 18:28  martinl
+
+	* scripts/v.report/v.report.py: v.report: revert r47399
+
+2011-08-03 18:27  martinl
+
+	* lib/python/core.py, lib/python/task.py,
+	  scripts/v.report/v.report.py: pythonlib: _decode - > decode
+
+2011-08-03 18:20  annakrat
+
+	* include/ogsf_proto.h, lib/nviz/nviz.c, lib/ogsf/GS2.c: wxNviz:
+	  init lights
+
+2011-08-03 18:06  martinl
+
+	* general/g.parser/main.c: g.parser: typo
+
+2011-08-03 17:55  martinl
+
+	* general/g.parser/main.c: g.parser: use EXIT_SUCCESS/FAILURE
+
+2011-08-03 17:47  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/colorrules: minor
+	  clean up - coding rules
+
+2011-08-03 17:45  neteler
+
+	* scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py: added support for
+	  layer selection and column name in wxGUI
+
+2011-08-03 16:56  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menu items
+
+2011-08-03 16:50  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI: clean up - gettext and __main__
+
+2011-08-03 16:40  martinl
+
+	* gui/scripts/p.cmd.py, gui/scripts/p.db.py, gui/scripts/p.mon.py,
+	  gui/scripts/p.rast.py, gui/scripts/p.vect.py: wxGUI: remove p.*
+	  scripts, replaced by d.mon
+
+2011-08-03 16:16  annakrat
+
+	* lib/ogsf/GS2.c: wxNviz: don't reset light when switching back to
+	  3D view
+
+2011-08-03 16:05  martinl
+
+	* db/db.copy/main.c: db.copy: add missing G_gisinit()
+
+2011-08-03 15:39  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/rasterdefs.h,
+	  lib/raster/set_window.c: wxNviz: attempt to fix updating region
+	  when switching back to 3D view
+
+2011-08-03 15:09  cmbarton
+
+	* gui/wxpython/gui_modules/gselect.py: Fixing multiple selection
+	  bug that should have been fixed in r47033
+
+2011-08-03 14:35  martinl
+
+	* locale/po/grasswxpy_cs.po: fix wxGUI menu in Czech
+
+2011-08-03 12:51  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: replace UnicodeString
+	  by DecodeString
+
+2011-08-03 12:48  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix encoding strings
+	  (merge r47368 from relbr64)
+
+2011-08-03 11:48  neteler
+
+	* locale/po/grassmods_pt_br.po, locale/po/grasswxpy_pt_br.po: Fred
+	  Maranhão: cont'ed
+
+2011-08-03 07:54  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: hide GLWindow on exit
+
+2011-08-03 06:45  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py: wxNviz: change in z-exag
+	  behaviour
+
+2011-08-02 21:19  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py, lib/ogsf/gs.c: wxNviz:
+	  fix unloading maps
+
+2011-08-02 20:59  glynn
+
+	* tools/sql.sh: Enlarge symbol field in libs table (to allow for
+	  Boost)
+
+2011-08-02 16:49  mmetz
+
+	* scripts/v.db.dropcolumn/v.db.dropcolumn.py: add gisprompt
+
+2011-08-02 16:44  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: fix minor bug,
+	  remove unused variables
+
+2011-08-02 12:42  mmetz
+
+	* raster/r.regression.line/main.c: fix typo
+
+2011-08-02 12:41  mmetz
+
+	* lib/vector/diglib/linecros.c: fix for special case when segments
+	  are parallel to y axis
+
+2011-08-02 12:40  mmetz
+
+	* lib/vector/diglib/cindex.c: faster insertion
+
+2011-08-02 11:58  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: use comp.
+	  resolution
+
+2011-08-02 11:55  mmetz
+
+	* raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/find_pour.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/over_cells.c,
+	  raster/r.watershed/seg/split_str.c: fix depression handling (seg)
+
+2011-08-02 11:54  mmetz
+
+	* raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/def_basin.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/find_pour.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/over_cells.c,
+	  raster/r.watershed/ram/split_str.c: fix depression handling (ram)
+
+2011-08-02 09:52  martinl
+
+	* visualization/nviz2/cmd/args.c: nviz_cmd: don't check slices when
+	  nslices is 0
+
+2011-08-02 06:42  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/gstypes.h,
+	  include/nviz.h, include/ogsf_proto.h, lib/nviz/change_view.c,
+	  lib/ogsf/GS2.c, lib/ogsf/gsd_views.c: wxNviz: rotate 3D scene by
+	  mouse dragging
+
+2011-08-02 05:54  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: Fix save display to
+	  file for wxNVIZ so it saves real tif files as well as ppm files.
+
+2011-08-01 16:29  martinl
+
+	* lib/manage/option.c: managelib: move 'sites' to 'Vector'
+	  guisection
+
+2011-08-01 16:28  martinl
+
+	* general/g.mremove/main.c, general/g.remove/main.c: g.mremove:
+	  minor clean up of g.remove and g.mremove
+
+2011-08-01 15:23  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py, gui/wxpython/wxgui.py:
+	  wxGUI: launch ATM when creating new vector map (cont'ed)
+
+2011-08-01 15:16  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: launch ATM when creating new vector map
+
+2011-08-01 12:01  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: error trapping for
+	  v.db.select
+
+2011-07-31 13:31  neteler
+
+	* imagery/i.eb.eta/i.eb.eta.html, imagery/i.eb.eta/main.c,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_sebal01.html,
+	  imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.eb.netrad/i.eb.netrad.html, imagery/i.eb.netrad/main.c,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.eb.soilheatflux/main.c: keywords standardization; HTML
+	  cosmetics
+
+2011-07-31 10:20  martinl
+
+	* lib/vector/Vlib/open.c: vlib: ignore OGR file for v.external
+
+2011-07-31 09:18  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix wx.wms (installed as a package)
+
+2011-07-30 19:23  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: cosmetics in
+	  messages for -d flag
+
+2011-07-30 19:19  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: add messages for
+	  -d flag
+
+2011-07-30 17:19  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/draw.c, lib/nviz/nviz.c: wxNviz: draw simple scale bar
+	  (sofar without text label)
+
+2011-07-30 13:18  martinl
+
+	* gui/icons/grass/layer-wms-add.png,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: wxGUI: link
+	  wx.wms (gsoc) for testing
+
+2011-07-30 06:12  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py: wxNviz: surface and
+	  volume default color changed to grey, changed label
+
+2011-07-29 19:08  glynn
+
+	* lib/python/ctypes/Makefile: Add -D__GLIBC_HAVE_LONG_LONG when
+	  running ctypesgen (fix for 64-bit off_t)
+
+2011-07-29 19:07  glynn
+
+	* configure, configure.in, lib/cairodriver/Graph.c: Fix cairo
+	  checks
+
+2011-07-29 18:02  glynn
+
+	* lib/python/array.py, lib/python/core.py, lib/python/db.py,
+	  lib/python/raster.py, lib/python/vector.py: Fix gettext usage in
+	  Python scripting library
+
+2011-07-29 17:47  martinl
+
+	* db/drivers/ogr/execute.c: ogr-dbmi:
+	  db__driver_execute_immediate(): standardize ogr variable names
+
+2011-07-29 14:16  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: draw overlays
+	  with wx.Overlay
+
+2011-07-28 20:58  glynn
+
+	* aclocal.m4, configure: Fix LOC_CHECK_FUNC error message
+
+2011-07-28 15:46  neteler
+
+	* locale/po/grasswxpy_de.po: some more translated
+
+2011-07-28 15:15  martinl
+
+	* gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  location wizard also accessible from Layer Manager
+
+2011-07-28 12:22  martinl
+
+	* demolocation/grassrc.tmpl, general/g.gui/g.gui.html,
+	  general/g.gui/main.c, gui/wxpython/docs/wxGUI.html,
+	  lib/init/grass.py, lib/init/variables.html, lib/python/core.py:
+	  rename gisenv variable GRASS_GUI to GUI (gisenv variable has no
+	  prefix)
+
+2011-07-28 10:57  martinl
+
+	* lib/ogsf/GS2.c: ogsflib: reset lights when calling GS_libinit()
+	  cosmetics in doxygen documentation
+
+2011-07-28 10:56  martinl
+
+	* include/gisdefs.h, lib/gis/get_window.c, lib/gis/set_window.c,
+	  lib/gis/window_map.c: gislib: define G_unset_window()
+	  cosmetics doxygen messages
+
+2011-07-28 10:54  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: attempt to fix bug
+	  when restarting wxNviz instance
+
+2011-07-27 18:00  mmetz
+
+	* gui/wxpython/gui_modules/dbm.py: fix row highlighting
+
+2011-07-27 17:58  annakrat
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: try to fix #1412
+	  (not opening north arrow dialog)
+
+2011-07-27 15:51  mmetz
+
+	* lib/python/db.py: respect **args
+
+2011-07-27 14:59  mmetz
+
+	* lib/python/db.py: format code
+
+2011-07-27 14:51  mmetz
+
+	* gui/wxpython/gui_modules/dbm.py: fix attribute table manager
+
+2011-07-27 14:51  mmetz
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: wxGUI: fix sqlbuilder
+
+2011-07-27 14:47  mmetz
+
+	* lib/python/db.py: db_select: clean up afterwards
+
+2011-07-27 14:06  neteler
+
+	* gui/wxpython/docs/wxGUI.html: typo
+
+2011-07-27 13:23  neteler
+
+	* gui/wxpython/xml/menudata.xml: reorder map display entries
+
+2011-07-27 11:52  neteler
+
+	* locale/po/grasswxpy_pt_br.po: Fred Maranhão: cont'ed
+
+2011-07-26 22:26  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: cosmetics in
+	  doxygen documentation
+
+2011-07-26 19:37  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: attempt to fix #1409
+
+2011-07-26 15:41  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome: fix g.mapset output
+	  parsing
+	  (merge r47247 from relbr64)
+
+2011-07-26 14:01  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI/import: uncheck
+	  imported layers by default
+	  (merge r47243 from relbr64)
+
+2011-07-25 16:35  neteler
+
+	* vector/v.generalize/main.c,
+	  vector/v.generalize/v.generalize.html: fix if parameter is
+	  required or not; NC examples added
+
+2011-07-23 21:10  martinl
+
+	* lib/gis/gisinit.c: gislib: update dox for gisinit.c
+
+2011-07-23 18:12  annakrat
+
+	* contributors.csv, gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  visualization/nviz2/cmd/cplane.c: update author's email address
+
+2011-07-23 16:47  annakrat
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: interactive setting of
+	  legend size and position
+
+2011-07-23 08:46  martinl
+
+	* visualization/nviz2/cmd/nviz_cmd.html: nviz_cmd: update authors
+
+2011-07-22 19:13  annakrat
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: wxGUI: fix bug in
+	  wxpsmap (reported by M.Barton)
+
+2011-07-22 18:50  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: #1407 (confusing error message
+	  after grass7 crash)
+
+2011-07-22 13:49  martinl
+
+	* db/drivers/ogr/cursor.c, db/drivers/ogr/db.c,
+	  db/drivers/ogr/dbdriver.h, db/drivers/ogr/describe.c,
+	  db/drivers/ogr/driver.c, db/drivers/ogr/error.c,
+	  db/drivers/ogr/execute.c, db/drivers/ogr/fetch.c,
+	  db/drivers/ogr/globals.h, db/drivers/ogr/listtab.c,
+	  db/drivers/ogr/select.c: dbmi-ogr driver: implement write support
+	  (only UPDATE statements supported)
+
+2011-07-22 12:59  martinl
+
+	* scripts/v.db.update/v.db.update.py: v.db.update: minor clean up
+	  in desc and messages
+
+2011-07-22 10:05  annakrat
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxNviz: add text overlays,
+	  little changes in 2D text overlays
+
+2011-07-22 07:09  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menu items
+
+2011-07-22 05:23  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Add a couple missing volume
+	  commands to menu
+
+2011-07-21 20:56  martinl
+
+	* db/drivers/mk_dbdriver_h.sh: update mk_dbdriver_h.sh
+
+2011-07-21 20:51  martinl
+
+	* db/db.execute/main.c: db.execute: minor changes (guisections,
+	  messages)
+
+2011-07-21 20:27  martinl
+
+	* general/g.proj/create.c: g.proj: switch to the new location by
+	  `g.mapset`
+
+2011-07-21 19:52  cmbarton
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: Fixed bug that
+	  prevents legend dialog from opening in psmap gui.
+
+2011-07-21 18:43  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py, lib/python/task.py:
+	  wxGUI/modeler: start model with data item
+
+2011-07-21 14:43  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: change name of
+	  style parameter of FoldPanelBar for different wxPython versions
+
+2011-07-21 12:33  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: cosmetics in doxygen
+
+2011-07-21 12:32  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: define missing
+	  SetFilter for GPrompt
+
+2011-07-21 11:55  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix button width
+	  (clear/save)
+
+2011-07-21 11:13  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI/extension: don't close
+	  window on install
+
+2011-07-21 09:56  annakrat
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxNviz: display overlays -
+	  d.legend
+
+2011-07-20 21:22  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: attempt to fix #1406
+
+2011-07-20 21:18  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: more guisections
+
+2011-07-20 16:10  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: fix surface
+	  query (broken in r47169)
+
+2011-07-20 14:02  martinl
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: v.in.ogr:
+	  `output` option not required (if not given determine name for
+	  output vector map from `layer` option)
+	  message cosmetics
+
+2011-07-20 12:22  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: remove 'install'
+	  from requirements (see include/Make/Platform.in)
+	  trac #1406
+
+2011-07-20 11:23  martinl
+
+	* display/d.mon/Makefile: d.mon: add DISPLAYDEP
+
+2011-07-18 21:14  martinl
+
+	* lib/cairodriver/cairodriver.html, lib/init/variables.html,
+	  lib/pngdriver/pngdriver.html, lib/psdriver/psdriver.html:
+	  displaydriver: note GRASS_LINE_WIDTH, GRASS_TEXT_SIZE
+
+2011-07-18 21:04  martinl
+
+	* lib/cairodriver/cairodriver.html, lib/init/variables.html,
+	  lib/pngdriver/pngdriver.html, lib/psdriver/psdriver.html:
+	  displaydriver: note GRASS_FRAME
+
+2011-07-18 20:43  martinl
+
+	* display/d.barscale/main.c, display/d.colortable/main.c,
+	  display/d.font/main.c, display/d.fontlist/main.c,
+	  display/d.geodesic/main.c, display/d.graph/main.c,
+	  display/d.grid/main.c, display/d.his/main.c,
+	  display/d.histogram/main.c, display/d.info/main.c,
+	  display/d.labels/main.c, display/d.legend/main.c,
+	  display/d.linegraph/main.c, display/d.path/main.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rgb/main.c,
+	  display/d.rhumbline/main.c, display/d.text/main.c,
+	  display/d.thematic.area/main.c, display/d.vect.chart/main.c,
+	  display/d.where/main.c: display modules: sync error message, add
+	  D_save_command()
+
+2011-07-18 20:20  martinl
+
+	* raster/r.colors/edit_colors.c, raster/r.colors/r.colors.html,
+	  raster/r.colors/r3.colors.html, raster/r.colors/raster3d_main.c,
+	  raster/r.colors/raster_main.c: r.colors: minor changes in
+	  keywors, manual (note author of 3D raster support)
+
+2011-07-18 20:18  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: fix bug in
+	  FloatSlider
+
+2011-07-18 20:05  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: cosmetics in message
+
+2011-07-18 19:54  martinl
+
+	* gui/wxpython/gui_modules/dbm_base.py: wxGUI: don't encode if
+	  value is unicode
+
+2011-07-18 19:34  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/wxgui.py: wxGUI: fix and simplify raster/vector
+	  querying in 2D
+
+2011-07-18 17:55  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxNviz: north arrow size
+	  -- textCtrl instead of spinCtrl (need floats)
+
+2011-07-18 17:41  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: remove print statement
+
+2011-07-18 17:22  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI/extension: ignore --q/v
+	  flags
+
+2011-07-18 17:19  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: call tempdir()
+	  after parser()
+
+2011-07-18 16:45  mmetz
+
+	* raster/r.texture/h_measure.c, raster/r.texture/r.texture.html:
+	  remove statement with no effect and array indices out of bounds
+
+2011-07-18 14:53  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py: wxNviz: float sliders
+	  (needed for latlon)
+
+2011-07-18 12:22  aghisla
+
+	* locale/po/grasslibs_it.po: Updated Italian translation of
+	  grasslibs
+
+2011-07-18 09:15  martinl
+
+	* lib/gis/env.c: gislib: update env.c doxygen documentation
+
+2011-07-18 09:06  martinl
+
+	* general/g.gisenv/main.c: g.gisenv: `unset` option added
+
+2011-07-17 21:32  martinl
+
+	* include/gis.h, lib/gis/parser_standard_options.c,
+	  vector/v.what/main.c: libgis: define new standard opt: G_OPT_M_EN
+	  update v.what
+
+2011-07-17 21:23  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: remove `print`
+	  statement
+
+2011-07-17 21:20  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: clean up
+	  mapdisp::OnQuery()
+
+2011-07-17 20:01  martinl
+
+	* display/d.mon/stop.c: d.mon: kill not available on windows - todo
+
+2011-07-17 19:16  martinl
+
+	* display/Makefile, display/d.mon/d.mon.html,
+	  lib/cairodriver/cairodriver.html, lib/htmldriver/htmldriver.html,
+	  lib/init/variables.html, lib/pngdriver/pngdriver.html,
+	  lib/psdriver/psdriver.html: update display driver manual pages
+
+2011-07-17 16:36  aghisla
+
+	* locale/po/grasslibs_it.po: Updated Italian translation of
+	  grasslibs
+
+2011-07-17 15:27  martinl
+
+	* lib/display/r_raster.c: displaylib: replace setenv() by
+	  G_putenv()
+
+2011-07-17 15:19  martinl
+
+	* lib/display/r_raster.c: revert r47081 - GRASS_* variables are
+	  treated as system env variables
+
+2011-07-16 09:28  glynn
+
+	* lib/gis/parser.c: Fix allocation error
+
+2011-07-15 21:17  neteler
+
+	* raster/r.regression.line/main.c: allow input from any mapset in
+	  search path
+
+2011-07-15 17:30  aghisla
+
+	* locale/po/grasslibs_it.po: Updated Italian translation of
+	  grasslibs - merge from 6.4
+
+2011-07-15 16:43  neteler
+
+	* general/g.setproj/g.setproj.html, general/g.setproj/main.c,
+	  raster/r.proj/bordwalk.c, raster/r.proj/main.c,
+	  raster/r.proj/r.proj.html, raster/r.sunmask/g_solposition.c:
+	  updated Morten's address upon request
+
+2011-07-15 15:28  aghisla
+
+	* locale/po/grasslibs_it.po: Cleaned grasslibs_it.po file from
+	  unreferenced translations.
+
+2011-07-15 09:26  aghisla
+
+	* locale/po/grasslibs_it.po: Updated Italian translation of
+	  grasslibs - merge
+
+2011-07-15 08:03  annakrat
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: fix #1404: GUI command
+	  line completion
+
+2011-07-15 07:36  lucadelu
+
+	* locale/po/grassmods_it.po: update italian grassmods messages
+
+2011-07-15 05:34  mmetz
+
+	* lib/rst/interp_float/vinput2d.c: adjust rst lib to new topo
+
+2011-07-14 14:37  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py: wxNviz: transparency for
+	  constant planes
+
+2011-07-14 13:08  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: fixed nviz_cmd
+	  command for slice position
+
+2011-07-14 13:01  mmetz
+
+	* raster/r.texture/main.c: scale input if needed
+
+2011-07-14 13:01  mmetz
+
+	* raster/r.texture/h_measure.c: fix memory leaks
+
+2011-07-14 12:30  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: minor changes in
+	  textCtrls
+
+2011-07-14 08:18  neteler
+
+	* gui/wxpython/xml/menudata.xml, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: typo fixed
+
+2011-07-14 08:13  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: volume slices
+	  added to generating nviz_cmd command
+
+2011-07-14 07:45  annakrat
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c, visualization/nviz2/cmd/volume.c:
+	  nviz_cmd: volume slices implemented
+
+2011-07-13 17:14  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxNviz: update cutting
+	  plane page when return to 3D view
+
+2011-07-13 12:45  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: volume slices
+	  implemented
+
+2011-07-12 05:37  neteler
+
+	* locale/po/grasswxpy_pt_br.po: Fred Maranhão: cont'ed
+
+2011-07-10 11:06  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz:transparency and
+	  shininess range in percent
+
+2011-07-10 08:54  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py: wxNviz: textctrl instead
+	  of floatspin, default values for isosurfaces
+
+2011-07-09 19:45  martinl
+
+	* scripts/Makefile: enable compilation of d.redraw
+
+2011-07-09 19:41  martinl
+
+	* display/d.mon/main.c, display/d.mon/proto.h,
+	  display/d.mon/start.c: d.mon: true color output by default
+	  add flag to disable true colors
+
+2011-07-09 19:39  martinl
+
+	* lib/display/r_raster.c: displaylib: add some debug messages
+
+2011-07-09 17:19  martinl
+
+	* lib/display/r_raster.c: displaylib: setenv() -> G_setenv()
+
+2011-07-09 17:06  martinl
+
+	* configure, configure.in: conf: NVIZ -> Tcl/Tk NVIZ
+
+2011-07-09 17:01  martinl
+
+	* display/d.erase/d.erase.html, display/d.mon/d.mon.html,
+	  scripts/d.redraw, scripts/d.redraw/Makefile,
+	  scripts/d.redraw/d.redraw.html, scripts/d.redraw/d.redraw.py:
+	  d.redraw: new module
+
+2011-07-09 16:28  martinl
+
+	* scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/d.vect.thematic/d.vect.thematic.py,
+	  scripts/r.pack/r.pack.py, scripts/r.unpack/r.unpack.py,
+	  scripts/v.in.lines/v.in.lines.py, scripts/v.in.wfs/v.in.wfs.py:
+	  fix keywords for some scripts
+
+2011-07-09 16:22  martinl
+
+	* scripts/v.build.all/v.build.all.py: v.build.all: fix keywords
+
+2011-07-09 14:19  martinl
+
+	* lib/display/displaylib.dox: displaylib: doxygen main page update
+
+2011-07-09 14:06  martinl
+
+	* lib/display/r_raster.c: displaylib: document D_save_command +
+	  update for d.erase
+
+2011-07-09 14:05  martinl
+
+	* display/d.erase/main.c: d.erase: updated for d.mon
+	  standardize option (color -> bgcolor)
+
+2011-07-09 14:03  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI/mapdisp: fix PNG_READ
+	  for standalone app
+
+2011-07-09 12:59  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI/mapdisp: write
+	  GRASS_REGION to env file
+
+2011-07-09 12:59  martinl
+
+	* display/d.vect/main.c: d.vect: call G_get_set_window() after
+	  D_open_driver() to read GRASS_REGION
+
+2011-07-09 12:35  martinl
+
+	* visualization/nviz2/cmd/volume.c: nviz_cmd: add missing header
+
+2011-07-09 06:06  cmbarton
+
+	* gui/wxpython/gui_modules/preferences.py: Use native font dialog
+	  for command output font
+
+2011-07-08 16:29  annakrat
+
+	* visualization/nviz2/cmd/volume.c: nviz_cmd: isosurface level is
+	  float; fixed setting of resolution and shading
+
+2011-07-08 16:26  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: volumes in
+	  command for nviz_cmd
+
+2011-07-08 14:31  annakrat
+
+	* visualization/nviz2/cmd/args.c: nviz_cmd: not arow but arrow
+
+2011-07-08 14:27  annakrat
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c: nviz_cmd: north arrow added
+
+2011-07-08 13:34  annakrat
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/volume.c: nviz_cmd: volumes: add
+	  transparency, shininess, color, shading, position, resolution
+	  settings
+
+2011-07-07 22:47  lucadelu
+
+	* gui/wxpython/gui_modules/psmap_dialogs.py: fix bug with wxpython
+	  version 2.8.11
+
+2011-07-07 16:05  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: volumes: fixed
+	  loading when re-checking layer, added positioning
+
+2011-07-07 12:21  martinl
+
+	* raster/r.colors/thumbnails.py: r.colors: GRASS_RENDER_IMMEDIATE
+	  now required
+
+2011-07-07 11:47  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI/mapdisp: use g.pnmcomp
+	  also for d.mon
+	  support for width/height
+
+2011-07-07 09:58  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: isosurfaces: inout
+	  mode
+
+2011-07-07 09:48  martinl
+
+	* display/d.mon/list.c, display/d.mon/main.c,
+	  display/d.mon/proto.h, display/d.mon/start.c: d.mon: new flag
+	  `-c` to list command for selected monitor
+
+2011-07-07 09:09  martinl
+
+	* lib/cairodriver/Graph.c: cairodriver: support also named and RGB
+	  colors for GRASS_BACKGROUNDCOLOR
+
+2011-07-07 09:06  martinl
+
+	* lib/pngdriver/Graph_set.c: pngdriver: support also named and RGB
+	  colors for GRASS_BACKGROUNDCOLOR
+
+2011-07-07 09:04  martinl
+
+	* display/d.mon/main.c, display/d.mon/proto.h,
+	  display/d.mon/start.c: d.mon: add new options: 'width', 'height'
+	  and 'bgcolor'
+
+2011-07-07 08:56  mmetz
+
+	* lib/vector/Vlib/box.c: avoid compiler warnings in Vlib
+
+2011-07-07 08:55  mmetz
+
+	* lib/vector/diglib/cindex_rw.c, lib/vector/diglib/head.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/spindex.c: avoid compiler warnings
+
+2011-07-07 08:55  mmetz
+
+	* include/vect/dig_externs.h: diglib: sync fn args
+
+2011-07-07 08:04  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz:clear isosurf
+	  listbox when changing 3D rater
+
+2011-07-07 07:45  martinl
+
+	* lib/gis/parser.c, lib/gis/parser_help.c: libgis: avoid segfault
+	  when opt->key is not defined
+	  minor changes in doxygen
+
+2011-07-07 02:20  cmbarton
+
+	* gui/wxpython/gui_modules/gselect.py: Fixed multi-selection bug,
+	  Track #1398.
+
+2011-07-06 20:33  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: fixed small bugs
+	  in volume page gui
+
+2011-07-06 16:01  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  wxGUI: resize vdigit toolbar, change default map window size
+
+2011-07-06 15:05  martinl
+
+	* lib/vector/Vlib/break_polygons.c: vlib: don't use verbose
+	  messages for G_percent()
+
+2011-07-06 13:10  mmetz
+
+	* lib/vector/Vlib/area.c: update documentation
+
+2011-07-06 12:42  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py, lib/python/core.py:
+	  fix create_location() for wkt
+
+2011-07-06 12:36  martinl
+
+	* lib/python/core.py: pythonlib: no need for `-c` flag when
+	  `location` is defined
+
+2011-07-06 12:29  martinl
+
+	* general/g.proj/create.c, general/g.proj/input.c,
+	  general/g.proj/local_proto.h, general/g.proj/main.c,
+	  general/g.proj/output.c: g.proj: don't require `-c` when
+	  `location` is defined
+	  code reorganization
+	  message cosmetics
+
+2011-07-06 12:21  martinl
+
+	* lib/init/grass.py: grass.py: check if location path exists
+
+2011-07-06 12:09  mmetz
+
+	* vector/v.select/main.c, vector/v.select/overlap.c,
+	  vector/v.select/proto.h: sync Vect_point_in_area() to the other
+	  Vect_point_in_*() functions: update v.select
+
+2011-07-06 12:08  mmetz
+
+	* vector/v.distance/main.c: sync Vect_point_in_area() to the other
+	  Vect_point_in_*() functions: update v.distance
+
+2011-07-06 12:08  mmetz
+
+	* include/vector.h: sync Vect_point_in_area() to the other
+	  Vect_point_in_*() functions: update header
+
+2011-07-06 12:07  mmetz
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/poly.c: sync Vect_point_in_area() to the other
+	  Vect_point_in_*() functions
+
+2011-07-06 12:05  mmetz
+
+	* lib/vector/Vlib/list.c: fix typo
+
+2011-07-06 12:02  mmetz
+
+	* lib/vector/Vlib/list.c: add documentation
+
+2011-07-06 10:31  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI: fix
+	  grass.ScriptError
+	  (merge r47010 from devbr6)
+
+2011-07-05 20:45  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: minor fixes in volume
+	  page
+
+2011-07-05 18:40  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: isosurfaces - remove
+	  emission attribute, floatspin instead of spinctrl if available
+
+2011-07-05 14:46  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: fix drawing of
+	  north arrow (the same problem as fringe)
+
+2011-07-05 14:21  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/draw.c, lib/nviz/nviz.c, lib/nviz/position.c: wxNviz:
+	  draw north arrow
+
+2011-07-05 14:20  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/location
+	  wizard: resizable border
+
+2011-07-05 14:12  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: don't define
+	  GRASS_TRANSPARENT for standalone app
+
+2011-07-05 14:00  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: recover original
+	  cmdfile
+
+2011-07-05 13:11  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_command.py: wxGUI: remove unused
+	  mapdisp_command.py module
+
+2011-07-05 13:10  martinl
+
+	* lib/display/r_raster.c: displaylib: don't require monitor when
+	  GRASS_RENDER_IMMEDIATE is defined
+
+2011-07-05 13:09  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/wxgui.py: wxGUI:
+	  major update for d.mon
+
+2011-07-05 12:50  martinl
+
+	* lib/cairodriver/Graph.c: fix typo
+
+2011-07-05 12:17  huhabla
+
+	* raster3d/r3.to.rast/main.c: Check the overwrite flag
+
+2011-07-05 12:12  martinl
+
+	* display/Makefile: compile `d.mon` by default
+
+2011-07-05 12:11  martinl
+
+	* display/d.mon, display/d.mon/Makefile, display/d.mon/check.c,
+	  display/d.mon/d.mon.html, display/d.mon/list.c,
+	  display/d.mon/main.c, display/d.mon/proto.h,
+	  display/d.mon/select.c, display/d.mon/start.c,
+	  display/d.mon/stop.c: New implementation of 'd.mon' added
+
+2011-07-05 10:35  neteler
+
+	* raster/r.li/r.li.setup/Makefile,
+	  raster/r.li/r.li.setup/masked_area_selection,
+	  raster/r.li/r.li.setup/masked_area_selection.sh,
+	  raster/r.li/r.li.setup/r.li.setup.procedures.tcl: corrected file
+	  name
+
+2011-07-05 10:33  neteler
+
+	* raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.pielou/pielou.c, raster/r.li/r.li.renyi/renyi.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.setup/masked_area_selection,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c: renamed conf parameter to
+	  config
+
+2011-07-05 10:28  martinl
+
+	* general/g.pnmcomp/main.c: g.pnmcomp: use standard options
+	  i18n
+	  option renamed: background -> bgcolor
+
+2011-07-05 10:23  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: source citation fix
+
+2011-07-05 10:23  martinl
+
+	* display/d.rast/main.c, display/d.vect/main.c: d.rast/d.vect: call
+	  D_save_command()
+
+2011-07-05 10:21  martinl
+
+	* include/display.h, include/vect/dig_structs.h: update headers:
+	  D_save_command()
+
+2011-07-05 10:20  martinl
+
+	* include/Make/Dir.make: Dir.make: backport 'cleansubdirs' from G6
+
+2011-07-05 10:18  martinl
+
+	* lib/db/dbmi_client/c_drop_tab.c, lib/db/dbmi_client/copy_tab.c,
+	  lib/init/grass.py: grass.py: clean_env() implemented - remove all
+	  %MONITOR% variables on exit
+
+2011-07-05 10:16  martinl
+
+	* lib/display/r_raster.c, lib/display/raster.c,
+	  lib/display/setup.c: displaylib: modify D_driver_open() to
+	  supports 'monitors'
+	  doxygen update
+
+2011-07-05 10:13  martinl
+
+	* lib/htmldriver/Driver.c, lib/htmldriver/Graph_Set.c: htmldriver:
+	  define driver name
+	  sync messages
+
+2011-07-05 10:12  martinl
+
+	* lib/psdriver/Driver.c, lib/psdriver/Graph_set.c: psdriver: define
+	  driver name
+	  sync messages
+
+2011-07-05 10:12  martinl
+
+	* lib/cairodriver/Driver.c, lib/cairodriver/Graph.c: cairodriver:
+	  define driver name
+	  sync messages
+
+2011-07-05 10:11  aghisla
+
+	* imagery/i.atcorr/GeomCond.cpp, imagery/i.atcorr/GeomCond.h,
+	  imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/Iwave.h,
+	  imagery/i.atcorr/README, imagery/i.atcorr/i.atcorr.html,
+	  imagery/i.atcorr/sensors_csv/VGT1_spot4.csv,
+	  imagery/i.atcorr/sensors_csv/VGT2_spot5.csv: Added VGT1 and VGT2
+	  atmospheric correction. Thanks to Alfredo Alessandrini for the
+	  extraction from 6S sources.
+
+2011-07-05 10:10  martinl
+
+	* lib/pngdriver/Driver.c, lib/pngdriver/Graph_set.c: pngdriver:
+	  define driver name
+	  sync messages
+
+2011-07-05 10:09  martinl
+
+	* lib/driver/driver.h, lib/driver/init.c, lib/driver/parse_ftcap.c:
+	  libdriver: doxygen documentation updated
+	  variable `name` added to `driver` data structure
+
+2011-07-05 10:07  martinl
+
+	* lib/gis/env.c, lib/gis/parser.c, lib/gis/putenv.c: gislib:
+	  cosmetics in doxygen documentation
+
+2011-07-05 10:05  martinl
+
+	* lib/python/core.py: pythonlib: tempfile/dir() use `create =
+	  False`, see r46975
+
+2011-07-05 09:58  martinl
+
+	* general/g.tempfile/main.c: g.tempfile: dry run mode added (don't
+	  create a file, just print it's name)
+	  i18n-related fixes
+
+2011-07-05 07:37  neteler
+
+	* locale/po/grasswxpy_es.po: Joana Palahi/SIGTE-UdG: cont'ed
+
+2011-07-04 10:56  mmetz
+
+	* vector/v.edit/select.c: remove redundant code in vector lib:
+	  update v.edit
+
+2011-07-04 10:52  mmetz
+
+	* lib/vector/vectorlib.dox: update vetorlib documentation
+
+2011-07-04 10:50  mmetz
+
+	* gui/wxpython/gui_modules/wxvdigit.py: remove redundant code in
+	  vector lib: update wxvdigit
+
+2011-07-04 10:50  mmetz
+
+	* display/d.extract/extract.c, display/d.vect/main.c: remove
+	  redundant code in vector lib: update display modules
+
+2011-07-04 10:49  mmetz
+
+	* vector/v.clean/prune.c, vector/v.distance/main.c,
+	  vector/v.edit/select.c, vector/v.generalize/misc.c,
+	  vector/v.kernel/main.c, vector/v.neighbors/main.c,
+	  vector/v.net.steiner/main.c, vector/v.select/main.c: remove
+	  redundant code in vector lib: update modules
+
+2011-07-04 10:48  mmetz
+
+	* include/vect/dig_externs.h, include/vect/dig_structs.h,
+	  include/vector.h: remove redundant code in vector lib: update
+	  headers
+
+2011-07-04 10:47  mmetz
+
+	* lib/vector/vedit/render.c: remove redundant code in vector lib:
+	  update vedit
+
+2011-07-04 10:47  mmetz
+
+	* lib/vector/Vlib/box.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/sindex.c:
+	  remove redundant code in vector lib: update Vlib
+
+2011-07-04 10:46  mmetz
+
+	* lib/vector/diglib/list.c, lib/vector/diglib/spindex.c: remove
+	  redundant code in vector lib: update diglib
+
+2011-07-04 10:11  neteler
+
+	* locale/po/grasswxpy_pt_br.po: Fred Maranhão: cont'ed
+
+2011-07-04 09:06  aghisla
+
+	* raster/r.colors/example1, raster/r.colors/example2,
+	  raster/r.colors/example3, raster/r.colors/example4,
+	  raster/r.colors/test.r.colors.sh,
+	  raster/r.colors/test_elev_double_default.ref,
+	  raster/r.colors/test_elev_double_example1.ref,
+	  raster/r.colors/test_elev_double_example1_hist.ref,
+	  raster/r.colors/test_elev_double_example2.ref,
+	  raster/r.colors/test_elev_double_example2_log.ref,
+	  raster/r.colors/test_elev_double_example3.ref,
+	  raster/r.colors/test_elev_double_example3_logabs.ref,
+	  raster/r.colors/test_elev_double_example4.ref,
+	  raster/r.colors/test_elev_double_example4_inv.ref,
+	  raster/r.colors/test_elev_float_example1.ref,
+	  raster/r.colors/test_elev_float_example1_hist.ref,
+	  raster/r.colors/test_elev_float_example2.ref,
+	  raster/r.colors/test_elev_float_example2_log.ref,
+	  raster/r.colors/test_elev_float_example3.ref,
+	  raster/r.colors/test_elev_float_example3_logabs.ref,
+	  raster/r.colors/test_elev_float_example4.ref,
+	  raster/r.colors/test_elev_float_example4_inv.ref,
+	  raster/r.colors/test_elev_int_example1.ref,
+	  raster/r.colors/test_elev_int_example1_hist.ref,
+	  raster/r.colors/test_elev_int_example1_perc.ref,
+	  raster/r.colors/test_elev_int_example2.ref,
+	  raster/r.colors/test_elev_int_example2_log.ref,
+	  raster/r.colors/test_elev_int_example2_perc.ref,
+	  raster/r.colors/test_elev_int_example3.ref,
+	  raster/r.colors/test_elev_int_example3_logabs.ref,
+	  raster/r.colors/test_elev_int_example3_perc.ref,
+	  raster/r.colors/test_elev_int_example4.ref,
+	  raster/r.colors/test_elev_int_example4_inv.ref,
+	  raster/r.colors/test_elev_int_example4_perc.ref,
+	  raster/r.colors/test_volume_double_default.ref,
+	  raster/r.colors/test_volume_double_example1.ref,
+	  raster/r.colors/test_volume_double_example1_hist.ref,
+	  raster/r.colors/test_volume_double_example2.ref,
+	  raster/r.colors/test_volume_double_example2_log.ref,
+	  raster/r.colors/test_volume_double_example3.ref,
+	  raster/r.colors/test_volume_double_example3_logabs.ref,
+	  raster/r.colors/test_volume_double_example4.ref,
+	  raster/r.colors/test_volume_double_example4_inv.ref,
+	  raster/r.colors/test_volume_double_example5.ref,
+	  raster/r.colors/tests, raster/r.colors/tests/example1,
+	  raster/r.colors/tests/example2, raster/r.colors/tests/example3,
+	  raster/r.colors/tests/example4,
+	  raster/r.colors/tests/test.r.colors.sh,
+	  raster/r.colors/tests/test_elev_double_default.ref,
+	  raster/r.colors/tests/test_elev_double_example1.ref,
+	  raster/r.colors/tests/test_elev_double_example1_hist.ref,
+	  raster/r.colors/tests/test_elev_double_example2.ref,
+	  raster/r.colors/tests/test_elev_double_example2_log.ref,
+	  raster/r.colors/tests/test_elev_double_example3.ref,
+	  raster/r.colors/tests/test_elev_double_example3_logabs.ref,
+	  raster/r.colors/tests/test_elev_double_example4.ref,
+	  raster/r.colors/tests/test_elev_double_example4_inv.ref,
+	  raster/r.colors/tests/test_elev_float_example1.ref,
+	  raster/r.colors/tests/test_elev_float_example1_hist.ref,
+	  raster/r.colors/tests/test_elev_float_example2.ref,
+	  raster/r.colors/tests/test_elev_float_example2_log.ref,
+	  raster/r.colors/tests/test_elev_float_example3.ref,
+	  raster/r.colors/tests/test_elev_float_example3_logabs.ref,
+	  raster/r.colors/tests/test_elev_float_example4.ref,
+	  raster/r.colors/tests/test_elev_float_example4_inv.ref,
+	  raster/r.colors/tests/test_elev_int_example1.ref,
+	  raster/r.colors/tests/test_elev_int_example1_hist.ref,
+	  raster/r.colors/tests/test_elev_int_example1_perc.ref,
+	  raster/r.colors/tests/test_elev_int_example2.ref,
+	  raster/r.colors/tests/test_elev_int_example2_log.ref,
+	  raster/r.colors/tests/test_elev_int_example2_perc.ref,
+	  raster/r.colors/tests/test_elev_int_example3.ref,
+	  raster/r.colors/tests/test_elev_int_example3_logabs.ref,
+	  raster/r.colors/tests/test_elev_int_example3_perc.ref,
+	  raster/r.colors/tests/test_elev_int_example4.ref,
+	  raster/r.colors/tests/test_elev_int_example4_inv.ref,
+	  raster/r.colors/tests/test_elev_int_example4_perc.ref,
+	  raster/r.colors/tests/test_volume_double_default.ref,
+	  raster/r.colors/tests/test_volume_double_example1.ref,
+	  raster/r.colors/tests/test_volume_double_example1_hist.ref,
+	  raster/r.colors/tests/test_volume_double_example2.ref,
+	  raster/r.colors/tests/test_volume_double_example2_log.ref,
+	  raster/r.colors/tests/test_volume_double_example3.ref,
+	  raster/r.colors/tests/test_volume_double_example3_logabs.ref,
+	  raster/r.colors/tests/test_volume_double_example4.ref,
+	  raster/r.colors/tests/test_volume_double_example4_inv.ref,
+	  raster/r.colors/tests/test_volume_double_example5.ref: Moved test
+	  files into tests/ subdirectory.
+
+2011-07-04 08:17  mmetz
+
+	* db/drivers/dbf/cursor.c: fix dbf memory leak
+
+2011-07-04 08:05  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/utils.py:
+	  wxGUI: fix startup dialog when gisdbase is not available
+	  (merge r46947 from relbr64)
+
+2011-07-04 07:39  martinl
+
+	* lib/cairodriver/Driver.c, lib/cairodriver/Graph.c,
+	  lib/cairodriver/cairodriver.html, lib/cairodriver/read.c,
+	  lib/cairodriver/read_ppm.c: cairodriver: fix segfault for ppm
+	  (GRASS_PNG_READ=TRUE)
+	  minor fix in headers and messages
+
+2011-07-03 21:42  hamish
+
+	* raster/r.colors/r3.colors.html, raster/r.colors/raster3d_main.c,
+	  raster/r.colors/raster_main.c, raster/r.colors/thumbnails.py: svn
+	  props
+
+2011-07-03 17:58  mmetz
+
+	* lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/snap.c: changed RTree
+	  struct names: update Vlib
+
+2011-07-03 17:57  mmetz
+
+	* lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c:
+	  changed RTree struct names: update diglib
+
+2011-07-03 17:57  mmetz
+
+	* include/vect/dig_externs.h: changed RTree struct names: update
+	  diglib header
+
+2011-07-03 17:56  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/indexm.c,
+	  lib/vector/rtree/io.c, lib/vector/rtree/node.c,
+	  lib/vector/rtree/rect.c, lib/vector/rtree/split.c,
+	  lib/vector/rtree/split.h: change struct names to avoid conflicts
+
+2011-07-03 17:00  mmetz
+
+	* display/d.vect/area.c: read areas and their isles only once
+
+2011-07-03 16:35  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: improve split
+	  distance calculation and tmp vector usage
+
+2011-07-03 14:25  mmetz
+
+	* vector/v.build.polylines/main.c,
+	  vector/v.build.polylines/v.build.polylines.html,
+	  vector/v.build.polylines/walk.c, vector/v.build.polylines/walk.h:
+	  do not mix lines and boundaries
+
+2011-07-03 11:06  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/cplanes_obj.c: wxNviz: a try for interactive setting of
+	  cutting plane position
+
+2011-07-01 20:25  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: wrap command
+	  for nviz_cmd
+
+2011-07-01 19:27  neteler
+
+	* gui/wxpython/gui_modules/globalvar.py: smaller width now possible
+	  for laptop screens
+
+2011-07-01 19:26  annakrat
+
+	* visualization/nviz2/cmd/args.c, visualization/nviz2/cmd/vector.c:
+	  nviz_cmd: loading more vectors fixed
+
+2011-07-01 19:24  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxNviz: generating
+	  nviz_cmd command - vectors, cutting planes
+
+2011-07-01 17:43  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: separed vector-related tools to the new toolbar
+
+2011-07-01 17:38  huhabla
+
+	* raster/r.colors/stats.c: Fixed segfault caused by incorrect free
+	  of not allocated raster
+	  buffer
+
+2011-07-01 17:21  mmetz
+
+	* lib/vector/diglib/spindex.c: fix array index
+
+2011-07-01 13:43  annakrat
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxNviz: minor changes in
+	  (un)loading maps
+
+2011-07-01 13:30  martinl
+
+	* lib/python/vector.py: pythonlib: vector_db() cast `layer` to int
+
+2011-07-01 12:40  martinl
+
+	* lib/python/core.py, lib/python/setup.py.sed,
+	  lib/python/vector.py: pythonlib: define 'delimiter' for
+	  parse_command()
+	  don't use has_key()
+
+2011-07-01 10:35  martinl
+
+	* lib/init/grass.py: grass.py: don't delete gislock on concurrent
+	  usage
+
+2011-07-01 10:19  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: complain about concurrent usage
+
+2011-07-01 10:03  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix fn name
+	  (grassTask)
+
+2011-07-01 09:29  neteler
+
+	* include/vect/dig_structs.h: white space cosmetics
+
+2011-07-01 08:58  mmetz
+
+	* vector/v.in.ogr/main.c: decrease split distance for speed
+
+2011-07-01 08:58  mmetz
+
+	* vector/v.in.lidar/main.c: fix min/max
+
+2011-07-01 08:57  mmetz
+
+	* vector/v.support/main.c: line_3 -> comment
+
+2011-07-01 08:56  mmetz
+
+	* vector/v.net/connect.c, vector/v.net/main.c,
+	  vector/v.net/nodes.c: remove bounding boxes from vector topology
+	  (Radim's TODO): update v.net module
+
+2011-07-01 08:55  mmetz
+
+	* vector/v.net.alloc/main.c, vector/v.net.allpairs/main.c,
+	  vector/v.net.centrality/main.c, vector/v.net.components/main.c,
+	  vector/v.net.distance/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/path.c, vector/v.net.salesman/main.c,
+	  vector/v.net.steiner/main.c: remove bounding boxes from vector
+	  topology (Radim's TODO): update v.net.* modules
+
+2011-07-01 08:54  mmetz
+
+	* lib/vector/neta/utils.c: remove bounding boxes from vector
+	  topology (Radim's TODO): update neta
+
+2011-07-01 08:54  mmetz
+
+	* lib/vector/vedit/break.c, lib/vector/vedit/render.c: remove
+	  bounding boxes from vector topology (Radim's TODO): update vedit
+
+2011-07-01 08:53  mmetz
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/box.c,
+	  lib/vector/Vlib/break_lines.c, lib/vector/Vlib/break_polygons.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/constraint.c,
+	  lib/vector/Vlib/find.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/merge_lines.c,
+	  lib/vector/Vlib/net.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/overlap.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/Vlib/snap.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_ogr.c: remove
+	  bounding boxes from vector topology (Radim's TODO): update Vlib
+
+2011-07-01 08:53  mmetz
+
+	* lib/vector/diglib/inside.c, lib/vector/diglib/list.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/spindex.c,
+	  lib/vector/diglib/spindex_rw.c, lib/vector/diglib/struct_alloc.c:
+	  remove bounding boxes from vector topology (Radim's TODO): update
+	  diglib
+
+2011-07-01 08:53  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/indexf.c, lib/vector/rtree/indexm.c,
+	  lib/vector/rtree/node.c: remove bounding boxes from vector
+	  topology (Radim's TODO): update rtree
+
+2011-07-01 08:52  mmetz
+
+	* include/vect/dig_defines.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, include/vector.h: remove bounding
+	  boxes from vector topology (Radim's TODO): update headers
+
+2011-07-01 08:27  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: no extraStyle
+	  defined in wxPython 2.8.11
+
+2011-07-01 08:16  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: FPB_DEFAULT_STYLE
+	  has been removed in 2.8.11 - see
+	  http://trac.wxwidgets.org/ticket/12388
+
+2011-07-01 08:04  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: show only active
+	  layers in GSelect popup
+
+2011-07-01 07:58  mmetz
+
+	* raster/r.external/main.c: r.external: write support files
+
+2011-07-01 07:38  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: clean up savings
+	  settings
+
+2011-07-01 07:26  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: define
+	  GetSettingsPath()
+
+2011-07-01 07:13  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: external formats
+	  dialog - fix save settings
+
+2011-06-30 16:33  martinl
+
+	* lib/init/grass.py: define default GRASS_ADDON_PATH for Windows
+
+2011-06-30 16:03  martinl
+
+	* lib/vector/vectorlib.dox: vlib: add some topo examples to the
+	  doxygen documentation
+
+2011-06-30 14:53  martinl
+
+	* include/Make/Dir.make: fix r46872
+
+2011-06-30 14:53  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix creating
+	  addons subdirs (call os.makedirs)
+
+2011-06-30 14:44  martinl
+
+	* include/Make/Dir.make: define installsubdirs in Dir.make
+
+2011-06-30 14:43  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: define also
+	  'etc' dir
+
+2011-06-30 13:52  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/icons/icon.py:
+	  wxNviz: generate nviz_cmd command based on current nviz state
+
+2011-06-30 13:43  annakrat
+
+	* visualization/nviz2/cmd/args.c, visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/surface.c: nviz_cmd: enable to use _map
+	  and _value surface commands concurrently for more surfaces
+
+2011-06-30 12:23  martinl
+
+	* lib/vector/Vlib/build.c: vlib: cosmetics in Vect_topo_dump()
+
+2011-06-30 10:56  neteler
+
+	* lib/init/variables.html: describe default GRASS_ADDON_PATH
+
+2011-06-30 10:51  martinl
+
+	* lib/python/core.py: fix r46862
+
+2011-06-30 10:43  martinl
+
+	* include/vect/dig_structs.h: vlib: minor doxygen updates
+
+2011-06-30 10:35  martinl
+
+	* lib/vector/vectorlib.dox: vlib: major update of dox main page
+
+2011-06-30 10:18  martinl
+
+	* lib/python/core.py: pythonlib: parser() check p.returncode
+
+2011-06-30 10:01  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix
+	  find_program() call
+
+2011-06-30 09:57  martinl
+
+	* lib/init/grass.py: define default GRASS_ADDON_PATH
+
+2011-06-30 09:52  martinl
+
+	* lib/init/grass.py: check if GRASS_ADDON_PATH is undefined, then
+	  use $HOME/.grass7/addons
+
+2011-06-30 07:39  martinl
+
+	* include/vect/dig_structs.h: vlib: doxygen documentation added for
+	  dig_structs.h
+
+2011-06-29 16:26  martinl
+
+	* include/Make/Doxyfile_arch_html.in: doxygen: enable headers
+	  processing
+
+2011-06-29 14:11  mmetz
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: improve vector layer
+	  selection
+
+2011-06-29 13:54  martinl
+
+	* general/g.proj/local_proto.h, general/g.proj/main.c,
+	  general/g.proj/output.c: g.proj: `-g` flag implemented
+
+2011-06-29 12:55  martinl
+
+	* gui/wxpython/icons/icon.py: wxGUI: fix shortcuts in tooltips
+	  (Ctrl+Shift+)
+
+2011-06-29 12:53  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/support/update_menudata.py, lib/python/Makefile,
+	  lib/python/core.py, lib/python/task.py: pythonlib: rewrite
+	  command_info() using grassTask and processTask (moved from wxGUI)
+
+2011-06-29 10:47  lucadelu
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: I forgot to update the
+	  functions for raster3d, now I fix it
+
+2011-06-29 10:29  lucadelu
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: braces handling
+	  improvement; logical workflow improvement for functions
+
+2011-06-29 09:57  mmetz
+
+	* include/Make/Grass.make: ogsf needs dbmilib
+
+2011-06-29 08:34  annakrat
+
+	* lib/nviz/draw.c: nviz_cmd: must be drawn here too because of
+	  nviz_cmd
+
+2011-06-29 07:35  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c: nviz_cmd: focus parameter added
+
+2011-06-28 16:18  annakrat
+
+	* visualization/nviz2/cmd/cplane.c: nviz_cmd: forgot to add
+	  cplane.c
+
+2011-06-28 16:11  annakrat
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/surface.c: nviz_cmd: cutting planes added
+
+2011-06-28 16:09  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: con'ed
+
+2011-06-28 13:06  mmetz
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: layer input option: support
+	  for native vectors
+
+2011-06-28 07:44  mmetz
+
+	* gui/wxpython/xml/menudata.xml: v.net: update label and keywords
+
+2011-06-28 07:19  mmetz
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: fix crash with native
+	  vectors, simplify layer input option
+
+2011-06-28 07:04  annakrat
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/surface.c: nviz_cmd: fixed segmentation
+	  fault when loading more surfaces
+
+2011-06-27 20:55  neteler
+
+	* vector/vectorintro.html: Happy new year
+
+2011-06-27 20:16  neteler
+
+	* raster3d/raster3dintro.html: typos; html
+
+2011-06-27 19:46  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/draw.c, lib/nviz/nviz.c: wxNviz: try to fix drawing
+	  fringes (didn't work on some computers)
+
+2011-06-27 18:06  neteler
+
+	* locale/po/grasswxpy_fr.po: Sylvain Maillard: con'ed
+
+2011-06-27 14:39  annakrat
+
+	* include/nviz.h, lib/nviz/lights.c: wxNviz: Nviz_draw_model type
+	  changed to void
+
+2011-06-27 12:11  annakrat
+
+	* gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/lights.c: wxNviz: draw lighting model properly
+
+2011-06-27 10:17  mmetz
+
+	* raster/r.in.lidar/Makefile: add include paths
+
+2011-06-27 07:49  mmetz
+
+	* vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.alloc/v_net_alloc_time.png,
+	  vector/v.net.components/v.net.components.html,
+	  vector/v.net.iso/v.net.iso.html, vector/v.net.iso/vnetiso.png,
+	  vector/v.net.iso/vnetisotime.png,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.path/vnetpath.png,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.salesman/vnetsalesman.png,
+	  vector/v.net.salesman/vnetsalesmantime.png,
+	  vector/v.net.steiner/v.net.steiner.html,
+	  vector/v.net.steiner/vnetsteiner.png,
+	  vector/v.net.steiner/vnetsteinertime.png: update documentation
+
+2011-06-26 18:30  martinl
+
+	* gui/wxpython/gui_modules/psmap.py, gui/wxpython/xml/menudata.xml,
+	  gui/wxpython/xml/menudata_psmap.xml: wx.psmap: simplify related
+	  menu items
+
+2011-06-26 17:23  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: wx.psmap integrated, not need for
+	  special check
+
+2011-06-26 16:35  martinl
+
+	* gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  update for GSoC testing (wx.stream)
+
+2011-06-26 15:18  huhabla
+
+	* raster3d/base/test.r3.null.sh,
+	  raster3d/base/test_volume_double_1.ref,
+	  raster3d/base/test_volume_double_2.ref,
+	  raster3d/base/test_volume_double_null_1.ref,
+	  raster3d/base/test_volume_double_null_2.ref,
+	  raster3d/base/test_volume_float_1.ref,
+	  raster3d/base/test_volume_float_2.ref,
+	  raster3d/base/test_volume_float_null_1.ref,
+	  raster3d/base/test_volume_float_null_2.ref: Test case for r3.null
+
+2011-06-26 13:52  huhabla
+
+	* raster3d/r3.stats/r3.stats.html,
+	  raster3d/r3.stats/test.r3.stats.sh,
+	  raster3d/r3.stats/test_volume_double_stats_1.ref,
+	  raster3d/r3.stats/test_volume_double_stats_18.ref,
+	  raster3d/r3.stats/test_volume_double_stats_22.ref,
+	  raster3d/r3.stats/test_volume_double_stats_3.ref,
+	  raster3d/r3.stats/test_volume_double_stats_9.ref,
+	  raster3d/r3.stats/test_volume_double_stats_e.ref,
+	  raster3d/r3.stats/test_volume_float_stats_1.ref,
+	  raster3d/r3.stats/test_volume_float_stats_14.ref,
+	  raster3d/r3.stats/test_volume_float_stats_2.ref,
+	  raster3d/r3.stats/test_volume_float_stats_21.ref,
+	  raster3d/r3.stats/test_volume_float_stats_7.ref,
+	  raster3d/r3.stats/test_volume_float_stats_e.ref: Added test case
+	  for r3.stats
+
+2011-06-26 09:45  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: compass buttons
+	  added to light page
+
+2011-06-26 09:25  huhabla
+
+	* raster/r.colors/test_volume_double_example1_hist.ref: Added "-e"
+	  flag test for volume maps reference
+
+2011-06-26 09:24  huhabla
+
+	* raster/r.colors/edit_colors.c, raster/r.colors/local_proto.h,
+	  raster/r.colors/r3.colors.html, raster/r.colors/rules.c,
+	  raster/r.colors/stats.c, raster/r.colors/test.r.colors.sh:
+	  Enabled flag "-e" for volume maps
+
+2011-06-26 08:46  martinl
+
+	* lib/ogsf/ogsflib.dox: wxNviz: update ogsf dox file
+
+2011-06-26 08:19  martinl
+
+	* include/gsurf.h, include/ogsf_proto.h, lib/ogsf/GP2.c,
+	  lib/ogsf/Gp3.c, lib/ogsf/gp.c, lib/ogsf/gpd.c,
+	  visualization/nviz2/cmd/args.c, visualization/nviz2/cmd/vector.c:
+	  wxNviz: OGSF: thematic points mapping (size, width, marker)
+	  nviz_cmd updated
+
+2011-06-26 08:07  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxNviz: workspace: update dtd
+	  file, fixed bugs
+
+2011-06-25 22:01  martinl
+
+	* scripts/v.colors/v.colors.py: v.colors: cosmetics in messages
+
+2011-06-25 21:59  martinl
+
+	* scripts/v.colors/v.colors.py: v.colors: minor clean up
+
+2011-06-25 21:32  martinl
+
+	* include/gstypes.h, include/nviz.h, include/ogsf_proto.h,
+	  lib/ogsf/GP2.c, lib/ogsf/Gp3.c, lib/ogsf/gp.c, lib/ogsf/gpd.c,
+	  visualization/nviz2/cmd/Makefile, visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c, visualization/nviz2/cmd/vector.c:
+	  wxNviz: ogsflib - initial support for thematic mapping
+	  (points-color)
+	  nviz_cmd - add parameters for thematic mapping (points)
+
+2011-06-25 13:52  martinl
+
+	* lib/db/dbmi_client/column.c: libdb: client/columns.c note
+	  supported type in dox documentation
+
+2011-06-25 10:30  martinl
+
+	* lib/nviz/position.c: nvizlib: fix indentation in position.c
+
+2011-06-24 13:39  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/wxgui.py,
+	  include/nviz.h, lib/nviz/position.c: wxNviz: 3d mode in workspace
+
+2011-06-24 13:17  huhabla
+
+	* raster/r.colors/Makefile, raster/r.colors/edit_colors.c,
+	  raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/r.colors.html, raster/r.colors/r3.colors.html,
+	  raster/r.colors/raster3d_main.c, raster/r.colors/raster_main.c,
+	  raster/r.colors/test.r.colors.sh,
+	  raster/r.colors/test_elev_double_default.ref,
+	  raster/r.colors/test_volume_double_default.ref: Do not use hacks
+	  while implementing r3.colors!
+
+2011-06-23 22:25  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/workspace.py: wxGUI: attemt to fix #1330
+
+2011-06-23 19:45  martinl
+
+	* lib/python/setup.py.sed: pythonlib: Set PYTHONPATH to find GRASS
+	  Python modules
+
+2011-06-23 18:32  martinl
+
+	* lib/python/setup.py.sed: pythonlib: define default
+	  location/mapset for setup.init()
+
+2011-06-23 18:25  martinl
+
+	* raster3d/r3.retile: update svn:ignore props
+
+2011-06-23 13:26  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: add warning when
+	  GRASS_ADDON_PATH is not defined
+
+2011-06-23 12:01  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py, gui/wxpython/xml/menudata.xml:
+	  wxGUI: various minor changes in install add-ons dialog
+	  minor changes in the menu
+
+2011-06-23 11:20  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: support multiple
+	  GRASS_ADDONS_PATH values
+
+2011-06-22 13:38  mmetz
+
+	* vector/v.net.salesman/main.c: use cost cache
+
+2011-06-22 13:38  mmetz
+
+	* vector/v.net.salesman/v.net.salesman.html: fix example (2)
+
+2011-06-22 13:33  huhabla
+
+	* raster/r.colors.out/Makefile, raster/r.colors.out/local_proto.h,
+	  raster/r.colors.out/main.c,
+	  raster/r.colors.out/r3.colors.out.html,
+	  raster/r.colors.out/raster3d_main.c,
+	  raster/r.colors.out/raster_main.c,
+	  raster/r.colors.out/write_colors.c,
+	  raster/r.colors/test.r.colors.sh: Do not use hacks while
+	  implementing r3.colors.out!
+
+2011-06-22 12:36  mmetz
+
+	* vector/v.net.salesman/v.net.salesman.html: fix example
+
+2011-06-22 10:30  mmetz
+
+	* raster/r.in.lidar/Makefile: find GDAL includes
+
+2011-06-22 10:24  mmetz
+
+	* raster3d/r3.retile/Makefile: add missing lib
+
+2011-06-21 13:44  huhabla
+
+	* raster/r.colors.out/main.c, raster/r.colors/Makefile,
+	  raster/r.colors/main.c, raster/r.colors/test.r.colors.sh,
+	  raster/r.colors/test_elev_double_example1.ref,
+	  raster/r.colors/test_elev_double_example1_hist.ref,
+	  raster/r.colors/test_elev_double_example2.ref,
+	  raster/r.colors/test_elev_double_example2_log.ref,
+	  raster/r.colors/test_elev_double_example3.ref,
+	  raster/r.colors/test_elev_double_example3_logabs.ref,
+	  raster/r.colors/test_elev_double_example4.ref,
+	  raster/r.colors/test_elev_double_example4_inv.ref,
+	  raster/r.colors/test_elev_float_example1.ref,
+	  raster/r.colors/test_elev_float_example1_hist.ref,
+	  raster/r.colors/test_elev_float_example2.ref,
+	  raster/r.colors/test_elev_float_example2_log.ref,
+	  raster/r.colors/test_elev_float_example3.ref,
+	  raster/r.colors/test_elev_float_example3_logabs.ref,
+	  raster/r.colors/test_elev_float_example4.ref,
+	  raster/r.colors/test_elev_float_example4_inv.ref,
+	  raster/r.colors/test_elev_int_example1.ref,
+	  raster/r.colors/test_elev_int_example1_hist.ref,
+	  raster/r.colors/test_elev_int_example1_perc.ref,
+	  raster/r.colors/test_elev_int_example2.ref,
+	  raster/r.colors/test_elev_int_example2_log.ref,
+	  raster/r.colors/test_elev_int_example2_perc.ref,
+	  raster/r.colors/test_elev_int_example3.ref,
+	  raster/r.colors/test_elev_int_example3_logabs.ref,
+	  raster/r.colors/test_elev_int_example3_perc.ref,
+	  raster/r.colors/test_elev_int_example4.ref,
+	  raster/r.colors/test_elev_int_example4_inv.ref,
+	  raster/r.colors/test_elev_int_example4_perc.ref,
+	  raster/r.colors/test_volume_double_example1.ref,
+	  raster/r.colors/test_volume_double_example2.ref,
+	  raster/r.colors/test_volume_double_example2_log.ref,
+	  raster/r.colors/test_volume_double_example3.ref,
+	  raster/r.colors/test_volume_double_example3_logabs.ref,
+	  raster/r.colors/test_volume_double_example4.ref,
+	  raster/r.colors/test_volume_double_example4_inv.ref,
+	  raster/r.colors/test_volume_double_example5.ref: Added r3.color
+	  and r3.clors.out support to the sources of r.colors and
+	  r.colors.out. Several tests are implemented r/r3.colors and
+	  r/r3.colors.out. The Makefiles are still not modified to compile
+	  r3.colors or r3.colors.out.
+
+2011-06-20 15:09  mmetz
+
+	* vector/v.net.alloc/main.c: BE -> AE, like documentation
+
+2011-06-20 15:08  mmetz
+
+	* vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.iso/v.net.iso.html,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.steiner/v.net.steiner.html: update documentation
+
+2011-06-20 14:16  mmetz
+
+	* lib/display/draw2.c: always append last vertex
+
+2011-06-20 12:35  huhabla
+
+	* raster3d/r3.to.rast/main.c,
+	  raster3d/r3.to.rast/test.r3.to.rast.sh,
+	  raster3d/r3.to.rast/test_raster_slice_float_00001.ref,
+	  raster3d/r3.to.rast/test_raster_slice_float_00002.ref,
+	  raster3d/r3.to.rast/test_raster_slice_float_00003.ref,
+	  raster3d/r3.to.rast/test_raster_slice_float_00004.ref,
+	  raster3d/r3.to.rast/test_raster_slice_float_00005.ref: Fixed
+	  float import bug https://trac.osgeo.org/grass/ticket/1392
+	  Added tests for bug reproduction.
+
+2011-06-20 10:34  huhabla
+
+	* lib/g3d/g3d_volume_layout.png, lib/g3d/g3d_volume_layout.xcf,
+	  lib/g3d/g3ddefaults.c, lib/g3d/g3dlib.dox,
+	  lib/g3d/volume_tile_cell_generator.sh,
+	  lib/gis/parser_standard_options.c, lib/raster/gdal.c,
+	  raster3d/r3.in.ascii/g3d_volume_layout.png,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/raster3dintro.html: Added a screenshot to show the
+	  volume coordinate system and tile layout.
+
+2011-06-19 15:16  huhabla
+
+	* include/gis.h, lib/g3d/g3dparam.c, lib/g3d/retile.c,
+	  lib/gis/parser_standard_options.c, raster3d/Makefile,
+	  raster3d/r3.info/r3.info.main.c, raster3d/r3.retile,
+	  raster3d/r3.retile/Makefile, raster3d/r3.retile/main.c,
+	  raster3d/r3.retile/r3.retile.html,
+	  raster3d/r3.retile/test.r3.retile.sh,
+	  raster3d/r3.retile/test_retile_map_1.ref,
+	  raster3d/r3.retile/test_retile_map_10.ref,
+	  raster3d/r3.retile/test_retile_map_10_info.ref,
+	  raster3d/r3.retile/test_retile_map_1_info.ref,
+	  raster3d/r3.retile/test_retile_map_2.ref,
+	  raster3d/r3.retile/test_retile_map_2_info.ref,
+	  raster3d/r3.retile/test_retile_map_3.ref,
+	  raster3d/r3.retile/test_retile_map_3_info.ref,
+	  raster3d/r3.retile/test_retile_map_4.ref,
+	  raster3d/r3.retile/test_retile_map_4_info.ref,
+	  raster3d/r3.retile/test_retile_map_5.ref,
+	  raster3d/r3.retile/test_retile_map_5_info.ref,
+	  raster3d/r3.retile/test_retile_map_6.ref,
+	  raster3d/r3.retile/test_retile_map_6_info.ref,
+	  raster3d/r3.retile/test_retile_map_7.ref,
+	  raster3d/r3.retile/test_retile_map_7_info.ref,
+	  raster3d/r3.retile/test_retile_map_8.ref,
+	  raster3d/r3.retile/test_retile_map_8_info.ref,
+	  raster3d/r3.retile/test_retile_map_9.ref,
+	  raster3d/r3.retile/test_retile_map_9_info.ref: New g3d module for
+	  raster3d map retiling implemented with tests. Added more g3d std.
+	  parameter.
+
+2011-06-18 21:58  huhabla
+
+	* vector/v.to.rast3/main.c, vector/v.to.rast3/random_points.txt,
+	  vector/v.to.rast3/test.v.to.rast3.sh,
+	  vector/v.to.rast3/v.to.rast3.html,
+	  vector/v.to.rast3/v.to.rast3.test.png,
+	  vector/v.to.rast3/vector_to_volume.ref: Added a test case,
+	  reference data and a screenshot.
+
+2011-06-18 19:52  huhabla
+
+	* raster3d/r3.out.ascii/test.r3.out.ascii.sh: Typo fixes
+
+2011-06-18 19:09  huhabla
+
+	* raster3d/r3.out.ascii/r3.out.ascii.html: Typo fix and corrected
+	  output format description.
+
+2011-06-18 18:56  huhabla
+
+	* raster3d/r3.in.ascii/main.c: Use G_getl2() for header parsing.
+
+2011-06-18 09:46  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menu items
+	  add r.in.lidar and v.in.lidar
+
+2011-06-18 01:40  hamish
+
+	* vector/v.random/main.c: trivial whitespace
+
+2011-06-18 01:37  hamish
+
+	* vector/v.random/main.c: indent
+
+2011-06-17 23:33  huhabla
+
+	* raster/r.to.rast3/main.c, raster/r.to.rast3/test.r.to.rast3.sh,
+	  raster/r.to.rast3/test_volume_3_raster.ref,
+	  raster/r.to.rast3/test_volume_6_raster.ref,
+	  raster/r.to.rast3/test_volume_double_raster.ref,
+	  raster/r.to.rast3/test_volume_double_raster_res.ref,
+	  raster/r.to.rast3/test_volume_float_raster.ref,
+	  raster/r.to.rast3elev/test.r.to.rast3elev.sh,
+	  raster/r.to.rast3elev/test_elev_volume_double_1.ref,
+	  raster/r.to.rast3elev/test_elev_volume_double_2.ref,
+	  raster/r.to.rast3elev/test_elev_volume_double_3.ref,
+	  raster/r.to.rast3elev/test_elev_volume_double_4.ref,
+	  raster/r.to.rast3elev/test_elev_volume_double_5.ref,
+	  raster/r.to.rast3elev/test_elev_volume_double_6.ref,
+	  raster/r.to.rast3elev/test_elev_volume_double_7.ref,
+	  raster/r.to.rast3elev/test_elev_volume_double_8.ref,
+	  raster/r.to.rast3elev/test_elev_volume_float_1.ref,
+	  raster/r.to.rast3elev/test_elev_volume_float_2.ref,
+	  raster/r.to.rast3elev/test_elev_volume_float_3.ref,
+	  raster/r.to.rast3elev/test_elev_volume_float_4.ref,
+	  raster/r.to.rast3elev/test_elev_volume_float_5.ref,
+	  raster/r.to.rast3elev/test_elev_volume_float_6.ref,
+	  raster/r.to.rast3elev/test_elev_volume_float_7.ref,
+	  raster/r.to.rast3elev/test_elev_volume_float_8.ref,
+	  raster3d/r3.cross.rast/test.r3.cross.rast.sh,
+	  vector/v.random/main.c, vector/v.random/test.v.random.sh,
+	  vector/v.random/test_random_vect_1.ref,
+	  vector/v.random/test_random_vect_2.ref,
+	  vector/v.random/test_random_vect_3.ref,
+	  vector/v.random/test_random_vect_4.ref,
+	  vector/v.random/v.random.html, vector/v.vol.rst/user1.c: Added
+	  tests for r.to.rast3elev, r.to.rast3 and v.random. Added seed
+	  option to v.random.
+
+2011-06-17 21:07  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxNviz: insert 'nviz page' after 'layers'
+
+2011-06-17 20:10  huhabla
+
+	* include/G3d.h, lib/g3d/g3dgetvalue.c, lib/g3d/g3dregion.c,
+	  lib/g3d/g3dresample.c, lib/g3d/g3dwindow.c,
+	  lib/g3d/test/test_coordinate_transform.c,
+	  lib/g3d/test/test_main.c, lib/g3d/test/test_put_get_value.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster3d/base/r3.mask.main.c,
+	  raster3d/r3.cross.rast/test.r3.cross.rast.sh,
+	  raster3d/r3.cross.rast/test_cross_section_result.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_0.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_1.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_2.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_3.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_4.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_5.ref,
+	  raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.ascii/test.r3.out.ascii.sh,
+	  raster3d/r3.out.ascii/test_double_nsbt_null.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_grass6_comp_1.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_grass6_comp_2.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_grass6_comp_3.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_no_header.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_prec5.ref,
+	  raster3d/r3.out.ascii/test_double_nstb_null.ref,
+	  raster3d/r3.out.ascii/test_double_snbt_null.ref,
+	  raster3d/r3.out.ascii/test_double_sntb_null.ref,
+	  raster3d/r3.out.ascii/test_double_sntb_null_prec8.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_grass6_comp_1.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_grass6_comp_2.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_grass6_comp_3.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_no_header.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_prec5.ref,
+	  raster3d/r3.out.ascii/test_float_nstb_null.ref,
+	  raster3d/r3.out.ascii/test_float_snbt_null.ref,
+	  raster3d/r3.out.ascii/test_float_sntb_null.ref,
+	  raster3d/r3.out.ascii/test_float_sntb_null_prec8.ref,
+	  raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/test.r3.out.vtk.sh,
+	  raster3d/r3.out.vtk/test_volume_null_1_cells.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_cells_elevation.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_cells_rgb_vect.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_points.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_points_elevation.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_points_rgb_vect.ref,
+	  raster3d/r3.out.vtk/writeVTKData.c, raster3d/r3.to.rast/main.c,
+	  raster3d/r3.to.rast/test.r3.to.rast.sh,
+	  raster3d/r3.to.rast/test_raster_slice_1_00001.ref,
+	  raster3d/r3.to.rast/test_raster_slice_1_00002.ref,
+	  raster3d/r3.to.rast/test_raster_slice_1_00003.ref,
+	  raster3d/r3.to.rast/test_raster_slice_1_00004.ref,
+	  raster3d/r3.to.rast/test_raster_slice_1_00005.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00001.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00002.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00003.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00004.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00005.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00001.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00002.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00003.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00004.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00005.ref,
+	  raster3d/raster3dintro.html, vector/v.to.rast3/main.c,
+	  vector/v.vol.rst/user1.c: Major G3d libarary update. The G3D
+	  library and raster library use now the same coordinate system.
+	  Start is the upper left (NW) corner beginning at the bottom of
+	  the region. Several tests have been implemented to verify the
+	  correct behavior.
+
+2011-06-17 16:21  huhabla
+
+	* raster3d/base/r3.mask.main.c, raster3d/base/r3.null.main.c,
+	  raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.ascii/r3.out.ascii.html,
+	  raster3d/r3.out.ascii/test.r3.out.ascii.sh,
+	  raster3d/r3.out.ascii/test_double_nsbt_null.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_grass6_comp_1.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_grass6_comp_2.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_grass6_comp_3.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_no_header.ref,
+	  raster3d/r3.out.ascii/test_double_nsbt_null_prec5.ref,
+	  raster3d/r3.out.ascii/test_double_nstb_null.ref,
+	  raster3d/r3.out.ascii/test_double_snbt_null.ref,
+	  raster3d/r3.out.ascii/test_double_sntb_null.ref,
+	  raster3d/r3.out.ascii/test_double_sntb_null_prec8.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_grass6_comp_1.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_grass6_comp_2.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_grass6_comp_3.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_no_header.ref,
+	  raster3d/r3.out.ascii/test_float_nsbt_null_prec5.ref,
+	  raster3d/r3.out.ascii/test_float_nstb_null.ref,
+	  raster3d/r3.out.ascii/test_float_snbt_null.ref,
+	  raster3d/r3.out.ascii/test_float_sntb_null.ref,
+	  raster3d/r3.out.ascii/test_float_sntb_null_prec8.ref,
+	  raster3d/r3.out.vtk/test.r3.out.vtk.sh: Modified r3.in.ascii and
+	  r3.out.ascii to support different input/output data
+	  ordering. Added several tests for r3.in.ascii and r3.out.ascii as
+	  well
+	  as validation data. Modified r3.null and r3.mask to use the x, y,
+	  z
+	  common cube coordinate system. Implemented in r3.in.ascii a new
+	  null value support
+	  function to accept strings like "*" to be more "compatible" to
+	  r.in.ascii and r3.out.ascii.
+
+2011-06-16 13:58  huhabla
+
+	* raster3d/r3.to.rast/main.c,
+	  raster3d/r3.to.rast/test.r3.to.rast.sh,
+	  raster3d/r3.to.rast/test_raster_slice_1_00001.ref,
+	  raster3d/r3.to.rast/test_raster_slice_1_00002.ref,
+	  raster3d/r3.to.rast/test_raster_slice_1_00003.ref,
+	  raster3d/r3.to.rast/test_raster_slice_1_00004.ref,
+	  raster3d/r3.to.rast/test_raster_slice_1_00005.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00001.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00002.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00003.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00004.ref,
+	  raster3d/r3.to.rast/test_raster_slice_2_00005.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00001.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00002.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00003.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00004.ref,
+	  raster3d/r3.to.rast/test_raster_slice_3_00005.ref: Implemented
+	  new row order for volume data. Added tests and reference
+	  data.
+
+2011-06-16 12:27  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix toolbars position on MS Windows
+
+2011-06-16 10:56  huhabla
+
+	* raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.cross.rast/test.r3.cross.rast.sh,
+	  raster3d/r3.cross.rast/test_cross_section_result.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_0.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_1.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_2.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_3.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_4.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_5.ref,
+	  raster3d/r3.cross.rast/test_cross_section_slice_NAN.ref: Modified
+	  the cross section algorithm to use north, east and top to get
+	  the volume data. Implemented a test script and added reference
+	  data.
+
+2011-06-16 09:58  huhabla
+
+	* raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/test.r3.out.vtk.sh,
+	  raster3d/r3.out.vtk/test_volume_null_1_cells.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_cells_elevation.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_cells_rgb_vect.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_points.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_points_elevation.ref,
+	  raster3d/r3.out.vtk/test_volume_null_1_points_rgb_vect.ref,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c: Modified r3.out.vtk to use
+	  the correct g3d cube coordinate system. Added
+	  a test script and reference data.
+
+2011-06-15 15:58  mmetz
+
+	* db/drivers/dbf/column.c, db/drivers/dbf/globals.h: fix dbf column
+	  name length handling
+
+2011-06-15 14:13  huhabla
+
+	* include/G3d.h, lib/g3d/g3dgetvalue.c, lib/g3d/g3dputvalue.c,
+	  lib/g3d/g3dregion.c, lib/g3d/g3dresample.c, lib/g3d/g3dvolume.c,
+	  lib/g3d/g3dwindow.c, lib/g3d/test, lib/g3d/test/Makefile,
+	  lib/g3d/test/test.g3d.lib.html,
+	  lib/g3d/test/test_coordinate_transform.c,
+	  lib/g3d/test/test_g3d_lib.h, lib/g3d/test/test_main.c,
+	  lib/g3d/test/test_put_get_value.c, lib/g3d/test/test_tools.c,
+	  lib/g3d/tileio.c, lib/g3d/tilemath.c, lib/g3d/tilewrite.c,
+	  lib/g3d/writeascii.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.ascii/r3.out.ascii.html,
+	  raster3d/r3.out.vtk/writeVTKData.c, raster3d/r3.to.rast/main.c,
+	  vector/v.random/main.c, vector/v.to.rast3/main.c,
+	  vector/v.to.rast3/v.to.rast3.html, vector/v.vol.rst/dataoct.h,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/user.h,
+	  vector/v.vol.rst/user1.c: Major G3d libarary update. Cleaned and
+	  reordered the put and get value functions in G3D library. Added
+	  several tests to verify the right hand side cube coordinate
+	  system. Modified most of the g3d modules to use the correct row
+	  order when interacting with raster maps. Modified v.random to
+	  create db column in -z mode.
+
+2011-06-14 12:01  mmetz
+
+	* raster/r.univar/r3.univar_main.c: hopefully failsafe reading of
+	  the zonal map
+
+2011-06-14 10:03  mmetz
+
+	* gui/wxpython/gui_modules/preferences.py: fix window positioning
+
+2011-06-14 09:11  martinl
+
+	* general/g.list/main.c, general/g.mlist/main.c: g.mlist: more
+	  guisections, sync desc with g.list
+
+2011-06-14 08:43  mmetz
+
+	* gui/wxpython/wxgui.py: wxGUI: revert r44182, add TODO
+
+2011-06-14 03:48  helena
+
+	* raster/r.flow/main.c: change option names
+
+2011-06-14 03:46  helena
+
+	* raster/r.flow/r.flow.html: option names update
+
+2011-06-13 17:35  martinl
+
+	* lib/init/grass.py: grass.py: add $GRASS_ADDON_PATH/path and
+	  $GRASS_ADDON_PATH/scripts to PATH
+
+2011-06-13 17:34  martinl
+
+	* include/Make/Script.make: add per-script install target
+
+2011-06-13 17:33  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: update to
+	  install scripts
+
+2011-06-13 11:41  huhabla
+
+	* include/G3d.h, lib/g3d/g3ddefaults.c, lib/g3d/g3dmisc.c,
+	  lib/g3d/g3dopen2.c, lib/g3d/tilemath.c, lib/gpde/N_arrays_io.c,
+	  raster/r.mapcalc/map3.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster3d/r3.gwflow/main.c,
+	  raster3d/r3.info/r3.info.main.c: New tile computation algorithm
+	  implemented. New g3d open method implemented. Enhanced r3.info
+	  information printing.
+
+2011-06-13 09:10  mmetz
+
+	* raster/r.univar/r3.univar_main.c: r3.univar: fix zonal stats
+
+2011-06-13 08:28  mmetz
+
+	* raster/r.univar/r3.univar_main.c: fix for #1388
+
+2011-06-12 15:45  huhabla
+
+	* raster/r.univar/r3.univar_main.c: Fixed several bugs: wrong
+	  minimum computation for DCELL, wrong cell
+	  counting, wrong percentage computation
+
+2011-06-12 09:26  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  attempt to fix #1386 (wxGUI output gone)
+
+2011-06-12 08:15  martinl
+
+	* gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: changing menu style requires GUI restart (patch by Vaclav
+	  Petras)
+
+2011-06-11 17:42  martinl
+
+	* gui/wxpython/gui_modules/menu.py: #1387 (wingrass65 - wxgui
+	  compiling error and not starting) - patch by Vaclav Petras
+
+2011-06-10 17:32  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py, gui/wxpython/wxgui.py:
+	  wxNviz: wx debug messages added
+
+2011-06-10 13:15  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: cutting planes
+	  rendering correction
+
+2011-06-10 10:49  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/cplanes_obj.c, lib/nviz/position.c: wxNviz: cutting
+	  planes
+
+2011-06-10 04:06  hamish
+
+	* gui/wxpython/gui_modules/render.py: wording
+
+2011-06-09 18:04  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_pt_br.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: msgs
+	  updated from template files
+
+2011-06-09 17:35  neteler
+
+	* gui/wxpython/icons/icon.py: typo
+
+2011-06-09 13:35  aghisla
+
+	* scripts/v.krige/v.krige.py: Added rgeos dependency, to replace
+	  the default non-free gpclib.
+
+2011-06-09 13:20  aghisla
+
+	* scripts/v.krige/v.krige.html: v.krige manpage: show R install
+	  commands more clearly.
+
+2011-06-09 13:06  hamish
+
+	* raster/r.out.vtk/writeascii.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c, vector/v.out.vtk/head.c: bump
+	  version number
+
+2011-06-09 08:32  neteler
+
+	* lib/raster/gdal.c: support also new GDAL versions on Windows
+
+2011-06-09 05:30  hamish
+
+	* raster/r.to.rast3/main.c: not so noisy
+
+2011-06-09 00:14  neteler
+
+	* lib/gis/colors.desc, lib/gis/colors/population_dens: fwd port
+	  from 6.4
+
+2011-06-08 14:07  annakrat
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: missing html tag in docs
+
+2011-06-08 09:19  martinl
+
+	* gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI:
+	  copy&paste customization (done by Vaclav Petras)
+
+2011-06-08 08:56  martinl
+
+	* gui/wxpython/docs/wxGUI.html, gui/wxpython/xml/menudata.xml:
+	  wxGUI: change key shortcuts for adding new map layers (Ctrl+V is
+	  usually used for 'paste')
+
+2011-06-08 08:45  martinl
+
+	* lib/init/Makefile, lib/init/lock.c: lock.c: add missing header,
+	  define PACKAGE name
+	  (merge r46601 from trunk)
+
+2011-06-08 08:27  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: fix UpdateMapsets()
+
+2011-06-07 18:58  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: simplify
+	  _toolbarData()
+
+2011-06-07 18:07  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: no menu in workspace toolbar
+
+2011-06-07 17:49  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  seperate 'main' toolbar into 'workspace', 'data' and 'misc'
+	  toolbar
+
+2011-06-07 16:27  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI/preferences: minor
+	  clean-up of _readFile()
+
+2011-06-07 13:40  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: changes in view page
+	  interface, constant surface resolution added
+
+2011-06-06 22:18  neteler
+
+	* lib/init/lock.c: i18N fix
+
+2011-06-06 06:40  neteler
+
+	* locale/po/grasswxpy_pt_br.po: Fred Maranhão: started
+
+2011-06-05 18:22  neteler
+
+	* locale/po/grassmods_pt_br.po: Fred Maranhão: cont'ed
+
+2011-06-05 09:07  mmetz
+
+	* raster/Makefile: add r.in.lidar to Makefile
+
+2011-06-05 09:07  mmetz
+
+	* raster/r.in.lidar, raster/r.in.lidar/Makefile,
+	  raster/r.in.lidar/local_proto.h, raster/r.in.lidar/main.c,
+	  raster/r.in.lidar/r.in.lidar.html,
+	  raster/r.in.lidar/r.in.xyz.html, raster/r.in.lidar/support.c: add
+	  LAS LiDAR version of r.in.xyz
+
+2011-06-04 07:21  mmetz
+
+	* vector/v.in.lidar/main.c: add option filter by return type
+
+2011-06-04 07:18  mmetz
+
+	* vector/v.out.ogr/attrb.c: clean up attribute export
+
+2011-06-03 16:56  annakrat
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: changes in vector
+	  panel, display on surface
+
+2011-06-03 16:29  neteler
+
+	* display/d.fontlist/d.fontlist.html,
+	  display/d.thematic.area/d.thematic.area.html,
+	  general/g.cairocomp/g.cairocomp.html,
+	  general/g.mlist/g.mlist.html, general/g.mremove/g.mremove.html,
+	  general/g.pnmcat/g.pnmcat.html,
+	  general/g.ppmtopng/g.ppmtopng.html,
+	  imagery/i.albedo/i.albedo.html,
+	  imagery/i.aster.toar/i.aster.toar.html,
+	  imagery/i.biomass/i.biomass.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html,
+	  imagery/i.emissivity/i.emissivity.html,
+	  imagery/i.evapo.time/i.evapo.time.html,
+	  imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.latlong/i.latlong.html,
+	  imagery/i.sunhours/i.sunhours.html, imagery/i.vi/i.vi.html,
+	  lib/cairodriver/cairodriver.html, lib/htmldriver/htmldriver.html,
+	  raster/r.external.out/r.external.out.html,
+	  raster/r.external/r.external.html, raster/r.in.png/r.in.png.html,
+	  raster/r.quantile/r.quantile.html,
+	  raster/r.resamp.bspline/r.resamp.bspline.html,
+	  raster/r.resamp.filter/r.resamp.filter.html,
+	  raster/r.solute.transport/r.solute.transport.html,
+	  raster/r.statistics2/r.statistics2.html,
+	  raster/r.statistics3/r.statistics3.html, raster/r.sun/r.sun.html,
+	  raster/r.uslek/r.uslek.html, raster/r.usler/r.usler.html,
+	  scripts/db.droptable/db.droptable.html,
+	  scripts/r.buffer/r.buffer.html, scripts/r.grow/r.grow.html,
+	  scripts/r.rgb/r.rgb.html,
+	  scripts/v.in.geonames/v.in.geonames.html,
+	  scripts/wxpyimgview/wxpyimgview.html,
+	  vector/v.buffer/v.buffer.html, vector/v.class/v.class.html,
+	  vector/v.delaunay/v.delaunay.html: svn propset
+
+2011-06-03 16:18  mmetz
+
+	* vector/v.net.centrality/v.net.centrality.html,
+	  vector/v.net.components/v.net.components.html,
+	  vector/v.net.connectivity/v.net.connectivity.html,
+	  vector/v.net.distance/v.net.distance.html,
+	  vector/v.net.flow/v.net.flow.html,
+	  vector/v.net.iso/v.net.iso.html,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.spanningtree/v.net.spanningtree.html,
+	  vector/v.net.steiner/v.net.steiner.html,
+	  vector/v.net.timetable/v.net.timetable.html: update manuals
+
+2011-06-03 16:17  mmetz
+
+	* vector/v.net.bridge/v.net.bridge.html: update manual
+
+2011-06-03 16:17  mmetz
+
+	* vector/v.net.allpairs/v.net.allpairs.html: update manual
+
+2011-06-03 16:16  mmetz
+
+	* vector/v.net.alloc/v.net.alloc.html: update manual
+
+2011-06-03 16:16  mmetz
+
+	* vector/v.net/v.net.html: update manual
+
+2011-06-03 16:16  mmetz
+
+	* vector/vectorintro.html: update vectorintro
+
+2011-06-03 11:57  neteler
+
+	* scripts/i.spectral/i.spectral.py: fix syntax
+
+2011-06-03 10:19  annakrat
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI: small correction of
+	  r46534 in modeler
+
+2011-06-03 10:15  mmetz
+
+	* vector/v.in.lidar/main.c: add error handling
+
+2011-06-03 09:16  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: fix r46534
+
+2011-06-03 09:08  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/scripts/vkrige.py, gui/wxpython/wxgui.py: wxGUI:
+	  don't use static indeces for notebook tabs
+
+2011-06-03 07:38  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: minor changes in
+	  preferences dialog
+
+2011-06-03 07:23  martinl
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_preferences.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxNviz: update headers -
+	  add `annakrat` to the authors
+
+2011-06-03 06:46  annakrat
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: import
+	  wx.FoldPanelBar for older version wxPython
+
+2011-06-03 06:33  mmetz
+
+	* vector/v.in.lidar/v.in.lidar.html: update manual
+
+2011-06-03 06:29  mmetz
+
+	* vector/v.in.lidar/main.c: code clean up
+
+2011-06-02 22:03  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: fix preferences
+	  saving
+
+2011-06-02 19:21  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxNviz: disable using nviz in more than one map display window
+
+2011-06-02 16:47  mmetz
+
+	* vector/v.in.lidar/main.c: scale and offset (secretly) applied by
+	  libLAS
+
+2011-06-02 13:09  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: add 'annakrat' to the
+	  authors
+
+2011-06-02 12:09  annakrat
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: selection of tabs in Layer Manager's notebook changed
+
+2011-06-02 08:07  martinl
+
+	* gui/wxpython/gui_modules/gpyshell.py: wxGUI/pyshell: fix `ltype`
+	  in AddLayer()
+
+2011-06-02 07:19  martinl
+
+	* gui/wxpython/gui_modules/gpyshell.py: wxGUI: fix i18n string from
+	  r46505
+
+2011-06-02 07:15  martinl
+
+	* gui/wxpython/gui_modules/gpyshell.py: wxGUI/pyshell: implement
+	  AddLayer()
+
+2011-06-02 06:47  annakrat
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_preferences.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/wxgui.py,
+	  include/nviz.h, lib/nviz/change_view.c, lib/nviz/lights.c,
+	  lib/nviz/nviz.c: wxNviz: several bugs fixed (eg. lights), GUI
+	  improvements, new functionality: look here feature, constant
+	  surfaces
+
+2011-06-01 20:58  neteler
+
+	* contributors.csv: +Anna Kratochvílová
+
+2011-06-01 20:30  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: partly revert r46494 (wrong
+	  commint)
+
+2011-06-01 20:28  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gpyshell.py: add some todo notes for
+	  pyshell
+
+2011-06-01 20:21  martinl
+
+	* lib/python/core.py: pythonlib: use_temp_region() overrides region
+	  silently
+
+2011-06-01 20:12  martinl
+
+	* gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py: wxGUI/psmap: indent
+	  code properly
+
+2011-06-01 19:42  martinl
+
+	* gui/wxpython/gui_modules/gpyshell.py: wxGUI: cosmetics in pyshell
+	  intro text
+
+2011-06-01 19:32  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/gpyshell.py, gui/wxpython/wxgui.py:
+	  wxGUI: implement interactive python shell
+
+2011-06-01 13:46  mmetz
+
+	* scripts/v.colors/v.colors.py: various fixes
+
+2011-06-01 12:42  mmetz
+
+	* raster/r.watershed/ram/init_vars.c: input overland flow can be
+	  DCELL
+
+2011-05-31 20:20  neteler
+
+	* doc/howto_release.txt: updated
+
+2011-05-31 12:04  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: minor fixes
+	  in vector digitizer
+
+2011-05-31 09:46  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: minor clean up of
+	  preferences.py
+
+2011-05-31 08:35  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: #1375 wxGUI: vector
+	  digitizer: cannot close (empty) vector map
+
+2011-05-31 07:30  mmetz
+
+	* lib/init/grass.py: fix non-interactive startup
+
+2011-05-30 10:58  mmetz
+
+	* lib/vector/Vlib/bridges.c: add TODO comment
+
+2011-05-30 10:57  mmetz
+
+	* vector/v.in.ogr/main.c: adjust order of cleaning tools
+
+2011-05-30 10:12  neteler
+
+	* scripts/v.in.geonames/v.in.geonames.py: lucadelu: fix
+
+2011-05-30 10:09  neteler
+
+	* gui/wxpython/gui_modules/menuform.py: make code Python 2.4
+	  compliant
+
+2011-05-29 09:39  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: msgs updated from template files
+
+2011-05-29 09:00  mmetz
+
+	* lib/vector/Vlib/break_lines.c, lib/vector/Vlib/build_nat.c: fix
+	  memory leak
+
+2011-05-29 08:59  neteler
+
+	* locale/po/grassmods_pt_br.po: Fred Maranhão: cont'ed
+
+2011-05-29 08:57  neteler
+
+	* gui/wxpython/gui_modules/vdigit.py: enable i18N
+
+2011-05-28 16:22  mmetz
+
+	* raster/r.drain/main.c: remove unused variables
+
+2011-05-28 16:18  mmetz
+
+	* vector/v.patch/main.c: v.patch: add flag to not build topology
+
+2011-05-28 16:08  mmetz
+
+	* vector/v.vol.rst/user1.c: fix off_t casting
+
+2011-05-28 16:04  mmetz
+
+	* raster/r.resamp.rst/main.c: fix messages
+
+2011-05-28 15:45  mmetz
+
+	* lib/segment/format.c: segment lib: add LFS check
+
+2011-05-28 15:36  mmetz
+
+	* db/drivers/dbf/dbfexe.c: fix (at least one) memory leak
+
+2011-05-28 13:31  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/icons/icon.py: wxGUI: update preferences.py to
+	  follow wxGUI coding standards
+	  re-orgranize preferences dialog tabs (move 'workspace' to
+	  'general')
+	  various minor fixes
+
+2011-05-27 15:49  huhabla
+
+	* raster/r.in.gdal/main.c, raster/r.in.gdal/r.in.gdal.html: Added
+	  offset parameter to import raster maps with user defined band
+	  numbers.
+
+2011-05-27 07:32  hamish
+
+	* gui/icons/grass.desktop: linux desktop icon update (merge from
+	  devbr6)
+
+2011-05-25 11:48  mmetz
+
+	* vector/v.in.lidar/main.c: bugfix
+
+2011-05-25 09:18  mmetz
+
+	* vector/Makefile: add v.in.lidar to Makefile
+
+2011-05-25 09:18  mmetz
+
+	* vector/v.in.lidar/v.in.lidar.html,
+	  vector/v.in.lidar/v.in.ogr.html: new module to import LiDAR LAS
+	  format
+
+2011-05-25 09:16  mmetz
+
+	* vector/v.in.lidar, vector/v.in.lidar/Makefile,
+	  vector/v.in.lidar/geom.c, vector/v.in.lidar/global.h,
+	  vector/v.in.lidar/main.c: new module to import LiDAR LAS format
+
+2011-05-25 09:12  mmetz
+
+	* include/Make/Platform.make.in: Make system: add libLAS parameters
+
+2011-05-25 07:47  mmetz
+
+	* configure, configure.in: configure: add check for libLAS
+
+2011-05-24 16:33  neteler
+
+	* locale/po/grasswxpy_fr.po, translators.csv: Sylvain Maillard:
+	  con'ed
+
+2011-05-24 16:06  neteler
+
+	* scripts/r.reclass.area/r.reclass.area.py: fix r.reclass call
+
+2011-05-24 14:50  neteler
+
+	* gui/wxpython/gui_modules/layertree.py: offer univar stats in map
+	  menu
+
+2011-05-23 23:56  hamish
+
+	* gui/images/grass_splash.xcf, gui/images/grass_splash.xcf.bz2:
+	  compress splash source image (n.b. GIMP can still work with that
+	  directly)
+
+2011-05-23 23:54  hamish
+
+	* gui/images/grass_splash.xcf: restore splash screen source, make
+	  all layers visibile with obvious layer names
+
+2011-05-23 17:53  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menu.py,
+	  gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: menu customization implemented by Vaclav Petras (CTU in
+	  Prague)
+	  during GRASS Community Sprint in Prague 2011
+
+2011-05-23 16:30  martinl
+
+	* gui/icons/grass/calculator.png,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI: add new icon for raster map
+	  calculator
+
+2011-05-23 16:29  martinl
+
+	* gui/images/scalebar-fancy.png, gui/images/scalebar-simple.png:
+	  add missing images (wx.psmap)
+
+2011-05-23 10:13  hamish
+
+	* ps/ps.map/box.c, ps/ps.map/do_scalebar.c, ps/ps.map/main.c,
+	  ps/ps.map/map_setup.c, ps/ps.map/ps.map.html: merge -b flag fixes
+	  from relbr4:
+	  - explicitly zero the output file pointer (if only for clarity's
+	  sake);
+	  - don't try to remove an output file we never created;
+	  - jump out of map_setup() before trying to write anything.
+	  
+	  minor cosmetics to code comment and man page.
+
+2011-05-23 09:20  aghisla
+
+	* scripts/r.mask/r.mask.py: Check datatype of input map -
+	  translated from shell.
+
+2011-05-22 15:13  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI: note wx.psmap in the manual
+	  add help icon to the main toolbar
+
+2011-05-22 14:32  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2011-05-22 13:11  martinl
+
+	* SUBMITTING_PYTHON: use full strings in wxGUI
+
+2011-05-22 13:10  neteler
+
+	* general/g.region/main.c: revert since n=n+1000 etc fail
+
+2011-05-22 13:06  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI: only full
+	  strings allowed
+
+2011-05-22 12:41  neteler
+
+	* general/g.region/main.c: expand abbreviated param names (also to
+	  sync with -p output)
+
+2011-05-22 11:51  martinl
+
+	* gui/wxpython/docs/wxGUI.PsMap.html,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/psmap.py,
+	  gui/wxpython/gui_modules/psmap_dialogs.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/xml/menudata_psmap.xml: wx.psmap moved from addons
+	  to the main repo
+	  (author: Anna Kratochvilova)
+
+2011-05-22 10:54  mmetz
+
+	* raster3d/r3.gwflow/r3.gwflow.html: fix typos
+
+2011-05-22 09:07  martinl
+
+	* visualization/nviz2/cmd/args.c: nviz_cmd: remove double parameter
+	  & cosmetics in params description
+
+2011-05-22 07:34  mmetz
+
+	* lib/ogsf/Gs3.c: do not use Rast_get_null_value_row
+
+2011-05-21 15:33  glynn
+
+	* configure, configure.in: Fix cairo checks
+
+2011-05-21 13:51  glynn
+
+	* lib/python/core.py: Don't try to decode process output
+
+2011-05-21 12:58  neteler
+
+	* locale/po/grasswxpy_pl.po: Robert Szczepanek: cont'ed
+
+2011-05-17 19:07  neteler
+
+	* locale/po/grassmods_es.po: Joana Palahí/SIGTE-UdG: cont'ed
+
+2011-05-17 16:11  glynn
+
+	* configure, configure.in: Cairo now treats FontConfig as a
+	  separate component
+
+2011-05-17 14:58  mmetz
+
+	* raster/r.out.gdal/export_band.c: do not use
+	  Rast_get_null_value_row()
+
+2011-05-17 13:08  glynn
+
+	* lib/raster/get_row.c: Make Rast_get_null_value_row() honour
+	  reclass tables
+
+2011-05-16 11:24  neteler
+
+	* locale/po/grassmods_pt_br.po: Fred Maranhão: cont'ed
+
+2011-05-15 20:58  neteler
+
+	* binaryInstall.src: attempt to fix bug #620
+
+2011-05-15 20:08  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: aerosol optical depth demystified
+
+2011-05-15 12:54  mmetz
+
+	* vector/v.db.connect/main.c: close vector
+
+2011-05-15 12:47  mmetz
+
+	* include/Make/Grass.make: fix for #1363
+
+2011-05-15 08:31  neteler
+
+	* imagery/i.landsat.toar/i.landsat.toar.html: HTML prettified
+
+2011-05-15 07:49  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: AOD input explained
+
+2011-05-14 23:25  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: remove print
+	  statement
+
+2011-05-14 23:06  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI/RunCommand(): print debug
+	  message in more levels
+
+2011-05-14 22:23  neteler
+
+	* imagery/i.atcorr/INFO: no longer needed
+
+2011-05-14 22:18  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: Helmut Kudrnovsky: cont'ed
+
+2011-05-14 22:13  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: more cleanup
+
+2011-05-14 22:09  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: url fixes + additions
+
+2011-05-14 17:39  mmetz
+
+	* vector/v.surf.bspline/resamp.c: v.surf.bspline: add raster
+	  interpolation routines
+
+2011-05-14 17:09  mmetz
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py: add debug info, bug fix
+
+2011-05-14 15:28  mmetz
+
+	* vector/v.db.connect/main.c: fix #1362 for good
+
+2011-05-14 13:53  mmetz
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py: attempt to fix #1362
+
+2011-05-14 13:13  mmetz
+
+	* vector/v.lidar.growing/Makefile: lidarlib uses segmentlib
+
+2011-05-14 13:12  mmetz
+
+	* vector/v.lidar.edgedetection/Makefile: lidarlib uses segmentlib
+
+2011-05-14 13:12  mmetz
+
+	* vector/v.lidar.correction/Makefile: lidarlib uses segmentlib
+
+2011-05-14 13:11  mmetz
+
+	* vector/v.surf.bspline/Makefile, vector/v.surf.bspline/bspline.h,
+	  vector/v.surf.bspline/main.c: lidarlib uses segmentlib
+
+2011-05-14 13:11  mmetz
+
+	* vector/v.outlier/Makefile: lidarlib uses segmentlib
+
+2011-05-14 13:11  mmetz
+
+	* raster/r.resamp.bspline/Makefile,
+	  raster/r.resamp.bspline/bspline.h,
+	  raster/r.resamp.bspline/crosscorr.c,
+	  raster/r.resamp.bspline/main.c, raster/r.resamp.bspline/resamp.c:
+	  lidarlib uses segmentlib
+
+2011-05-14 13:09  mmetz
+
+	* lib/lidar/lidar.h, lib/lidar/raster.c, lib/lidar/zones.c:
+	  lidarlib: use segmentlib
+
+2011-05-14 08:01  neteler
+
+	* gui/wxpython/gui_modules/prompt.py: glynn: fix bash_history not
+	  in utf-8 problem
+
+2011-05-14 07:49  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix toolbars names
+
+2011-05-12 20:44  martinl
+
+	* gui/icons/grass/print-compose.png,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI: Tools Toolbar introduced
+
+2011-05-12 15:39  mmetz
+
+	* raster/r.resamp.bspline/main.c: fix G/Rast_set_window()
+
+2011-05-12 02:09  kyngchaos
+
+	* macosx/app/build_html_user_index.sh: make sure user help folder
+	  exists
+
+2011-05-11 15:08  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html: wxGUI/docs: CTU -> Czech Technical
+	  University in Prague
+
+2011-05-10 13:38  mmetz
+
+	* vector/v.net.salesman/main.c,
+	  vector/v.net.salesman/v.net.salesman.html: fix manual
+
+2011-05-10 12:53  mmetz
+
+	* vector/v.net.salesman/main.c: v.net.salesman: add backward
+	  movement cost, ticket #1357
+
+2011-05-10 12:22  neteler
+
+	* gui/wxpython/xml/menudata.xml: fix menu name case
+
+2011-05-10 12:10  neteler
+
+	* locale/po/grassmods_pt_br.po: Fred Maranhão: cont'ed
+
+2011-05-08 20:31  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py, lib/ogsf/GS2.c: annakrat:
+	  fix some wxnviz known issues
+	  (http://grass.osgeo.org/wiki/WxNviz#Known_issues) - # 5
+	  fix reloading data (check / uncheck data layer)
+
+2011-05-08 19:58  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Helmut
+	  Kudrnovsky: cont'ed
+
+2011-05-07 15:32  neteler
+
+	* imagery/i.evapo.pm/main.c: typo
+
+2011-05-04 22:24  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: fix settings
+	  dialog
+	  (merge r46194 from relbr64)
+
+2011-05-04 21:09  martinl
+
+	* gui/icons/grass/boundary-create.png,
+	  gui/icons/grass/centroid-create.png,
+	  gui/icons/grass/layer-remove.png, gui/icons/grass/pointer.png,
+	  gui/icons/grass/settings.png, gui/icons/grass/show.png: update
+	  icons (from
+	  http://svn.osgeo.org/osgeo/graphics/trunk/toolbar-icons/24x24/)
+
+2011-05-04 19:37  martinl
+
+	* ps/ps.map/do_scalebar.c: ps.map: localize unit label in scalebar
+
+2011-05-04 19:36  martinl
+
+	* include/gis.h, lib/gis/proj1.c, lib/gis/proj2.c, lib/gis/proj3.c:
+	  libgis: G_database_unit_name() should return localized unit name
+
+2011-05-04 16:45  martinl
+
+	* locale/po/grasslibs_cs.po: update czech translation - units
+
+2011-05-04 16:32  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI: avoid gettext
+	  warning
+
+2011-05-04 09:37  mmetz
+
+	* lib/db/dbmi_client/copy_tab.c: fix warning messages, add safety
+	  check
+
+2011-05-04 07:43  mmetz
+
+	* raster/r.resamp.bspline/bspline.h,
+	  raster/r.resamp.bspline/crosscorr.c,
+	  raster/r.resamp.bspline/main.c, raster/r.resamp.bspline/resamp.c:
+	  fix bspline raster interpolation (module)
+
+2011-05-04 07:43  mmetz
+
+	* lib/lidar/lidar.h, lib/lidar/zones.c: fix bspline raster
+	  interpolation (lib)
+
+2011-05-04 06:56  mmetz
+
+	* lib/vector/rtree/index.h: fix header
+
+2011-05-03 20:45  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI: fix v.info syntax
+
+2011-05-03 19:13  glynn
+
+	* lib/gis/mapset_nme.c: Force current mapset to appear at front of
+	  mapset search path
+
+2011-05-03 12:59  martinl
+
+	* include/Make/Shlib.make: re-enable unversioned lib names (except
+	  mingw)
+
+2011-05-03 12:39  hamish
+
+	* ps/ps.map/do_plt.c, ps/ps.map/eps.c, ps/ps.map/map_info.c,
+	  ps/ps.map/r_plt.c: allow spaces in EPS file pathname (merge from
+	  devbr6)
+
+2011-05-03 04:56  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: grammar
+	  fixed
+
+2011-05-01 20:37  neteler
+
+	* imagery/i.landsat.toar/i.landsat.toar.html: examples update; +TM5
+	  example
+
+2011-05-01 19:57  neteler
+
+	* imagery/i.landsat.acca/algorithm.c: ejtizado: Corrected error
+	  from Irish_2006 (r45029); typo
+
+2011-05-01 16:13  ychemin
+
+	* imagery/i.landsat.toar/main.c: Added information to process
+	  Landsat 7 under MTL.txt flag as it was in Landsat 5 MTL
+
+2011-05-01 07:50  neteler
+
+	* locale/po/grassmods_pt_br.po: Fred Maranhão: cont'ed
+
+2011-04-30 11:29  neteler
+
+	* locale/Makefile: explain 'verify' target
+
+2011-04-30 10:45  neteler
+
+	* locale/Makefile, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_pl.po: msg format fixes
+
+2011-04-30 10:12  neteler
+
+	* locale/Makefile: add msg verify target
+
+2011-04-28 17:15  martinl
+
+	* mswindows/osgeo4w/grass.bat.tmpl, mswindows/osgeo4w/grass.tmpl,
+	  mswindows/osgeo4w/package.sh: wingrass: fix 'grass.bat' to accept
+	  arguments, recover 'grass' script
+
+2011-04-28 16:09  martinl
+
+	* mswindows/osgeo4w/grass.bat.tmpl, mswindows/osgeo4w/package.sh:
+	  fix generating grass.bat for osgeo4w
+
+2011-04-28 12:23  mmetz
+
+	* imagery/i.atcorr/main.cpp: fix typo, code comment
+
+2011-04-28 12:10  mmetz
+
+	* imagery/i.atcorr/main.cpp: always use the cache when needed,
+	  default output as FCELL
+
+2011-04-28 11:34  martinl
+
+	* mswindows/osgeo4w/grass.bat.tmpl, mswindows/osgeo4w/mklibs.sh,
+	  mswindows/osgeo4w/package.sh, mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: update osgeo4w package scripts
+	  (merge r46122 from relbr64)
+
+2011-04-28 11:04  mmetz
+
+	* vector/v.out.ogr/main.c: remove debug message
+
+2011-04-28 10:58  mmetz
+
+	* vector/v.out.ogr/attrb.c, vector/v.out.ogr/local_proto.h,
+	  vector/v.out.ogr/main.c: partially revert r45044, because
+	  attributes where mixed up: select only attributes for current
+	  cat, not attributes for all cats
+
+2011-04-26 15:33  glynn
+
+	* lib/python/core.py: Improve handling of flags= argument
+
+2011-04-26 15:06  martinl
+
+	* gui/wxpython/gui_modules/gcpmanager.py: fix #1352 (Mismatch
+	  between overwrite parameter in GCPManager and v.transform)
+	  use gcmd.GMessage instead of wx.MessageBox
+
+2011-04-26 00:37  martinl
+
+	* lib/python/vector.py, vector/v.info/local_proto.h,
+	  vector/v.info/main.c, vector/v.info/parse.c,
+	  vector/v.info/v.info.html: v.info: replace 'shell' option with
+	  seperate flags - g/e/t
+
+2011-04-25 18:48  huhabla
+
+	* lib/gis/parser_wps.c, raster/r.walk/main.c: Correct input type in
+	  r.walk. Additional mime types for WPS output.
+
+2011-04-25 09:51  martinl
+
+	* lib/python/core.py: pythonlib: partly revert r46061
+	  (ScriptException -> ScriptError)
+
+2011-04-25 09:44  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: ensure that
+	  wxversion.ensureMinimal() is not called when wx
+	  modules is already imported
+
+2011-04-25 02:18  neteler
+
+	* locale/po/grassmods_pt_br.po: Fred Maranhão: cont'ed
+
+2011-04-23 16:22  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: msgs updated from template files for
+	  keyword update
+
+2011-04-23 13:34  neteler
+
+	* doc/howto_release.txt: more cleanup
+
+2011-04-21 23:22  hamish
+
+	* raster/r.carve/main.c: dot @$ module desc
+
+2011-04-21 22:09  martinl
+
+	* gui/wxpython/xml/menudata.xml, raster/r.fill.dir/main.c,
+	  raster/r.out.mpeg/main.c: update wxGUI menudata (see r46068)
+
+2011-04-21 20:43  martinl
+
+	* lib/gis/datumtransform.table: datumtransform.table: fix url (5)
+
+2011-04-21 20:40  neteler
+
+	* display/d.colorlist/main.c, display/d.colors/main.c,
+	  display/d.erase/main.c, display/d.extract/main.c,
+	  display/d.font/main.c, display/d.fontlist/main.c,
+	  display/d.geodesic/main.c, display/d.his/main.c,
+	  display/d.histogram/main.c, display/d.info/main.c,
+	  display/d.labels/main.c, display/d.linegraph/main.c,
+	  display/d.measure/main.c, display/d.nviz/main.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rhumbline/main.c,
+	  display/d.text/main.c, display/d.thematic.area/main.c,
+	  display/d.title/main.c, display/d.what.rast/main.c,
+	  display/d.what.vect/main.c, display/d.where/main.c,
+	  display/d.zoom/main.c, general/g.access/main.c,
+	  general/g.cairocomp/main.c, general/g.dirseps/main.c,
+	  general/g.filename/main.c, general/g.findetc/main.c,
+	  general/g.findfile/main.c, general/g.mkfontcap/main.c,
+	  general/g.pnmcomp/main.c, general/g.ppmtopng/main.c,
+	  general/g.region/main.c, general/g.tempfile/main.c,
+	  imagery/i.cca/main.c, imagery/i.class/main.c,
+	  imagery/i.group/main.c, imagery/i.points/main.c,
+	  imagery/i.target/main.c, imagery/i.vpoints/main.c,
+	  imagery/i.zc/main.c, misc/m.cogo/main.c,
+	  raster/r.bitpattern/main.c, raster/r.category/main.c,
+	  raster/r.circle/main.c, raster/r.coin/main.c,
+	  raster/r.compress/main.c, raster/r.covar/main.c,
+	  raster/r.cross/main.c, raster/r.describe/main.c,
+	  raster/r.distance/main.c, raster/r.drain/main.c,
+	  raster/r.external.out/main.c, raster/r.external/main.c,
+	  raster/r.his/main.c, raster/r.horizon/main.c,
+	  raster/r.kappa/main.c, raster/r.los/main.c,
+	  raster/r.mapcalc/main.c, raster/r.mfilter/main.c,
+	  raster/r.mode/main.c, raster/r.neighbors/main.c,
+	  raster/r.patch/main.c, raster/r.profile/main.c,
+	  raster/r.quant/main.c, raster/r.quantile/main.c,
+	  raster/r.random/main.c, raster/r.region/main.c,
+	  raster/r.resamp.bspline/main.c, raster/r.resamp.rst/main.c,
+	  raster/r.resample/main.c, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/main.c, raster/r.ros/main.c,
+	  raster/r.solute.transport/main.c, raster/r.spread/main.c,
+	  raster/r.spreadpath/main.c, raster/r.sun/main.c,
+	  raster/r.surf.area/main.c, raster/r.texture/main.c,
+	  raster/r.thin/main.c, raster/r.to.vect/main.c,
+	  raster/r.transect/main.c, raster/r.volume/main.c,
+	  raster/r.what.color/main.c, raster/r.what/main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.gwflow/main.c,
+	  vector/v.build/main.c, vector/v.external.out/main.c,
+	  vector/v.external/main.c, vector/v.in.region/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.salesman/main.c,
+	  vector/v.net.steiner/main.c, vector/v.net/main.c,
+	  vector/v.perturb/main.c, vector/v.voronoi/main.c,
+	  vector/v.what.rast/main.c, vector/v.what/main.c,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/wximgview/main.cc, visualization/ximgview/main.c:
+	  major keywords cleanup
+
+2011-04-21 20:37  neteler
+
+	* lib/gis/datumtransform.table: url fix
+
+2011-04-21 13:37  glynn
+
+	* lib/python/core.py: Revert raise_on_error fiasco
+
+2011-04-21 07:31  martinl
+
+	* gui/wxpython/gis_set_error.py,
+	  gui/wxpython/gui_modules/layertree.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix importing optional modules
+
+2011-04-20 09:10  neteler
+
+	* db/db.login/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.gridatb/main.c, raster/r.in.mat/main.c,
+	  raster/r.in.png/main.c, raster/r.out.arc/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.gridatb/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm3/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/main.c, vector/v.vol.rst/main.c: some keyword
+	  cleanup
+
+2011-04-20 07:18  hamish
+
+	* gui/wxpython/xml/menudata.xml, scripts/r.mask/r.mask.py,
+	  scripts/v.in.mapgen/v.in.mapgen.py: more precise descriptions
+
+2011-04-19 20:36  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gis_set_error.py: wxGUI:
+	  remove redundant call of CheckForWx()
+
+2011-04-19 20:19  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: remove redundant call
+	  of CheckForWx()
+
+2011-04-19 20:11  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/scripts/vkrige.py, gui/wxpython/wxgui.py: wxGUI: fix
+	  check for mininal wxPython version
+
+2011-04-18 20:09  neteler
+
+	* gui/wxpython/icons/icon.py: typo
+
+2011-04-18 18:14  neteler
+
+	* gui/wxpython/xml/menudata.xml: Msg fixes; some keyword
+	  standardization
+
+2011-04-18 10:45  neteler
+
+	* locale/po/grassmods_pt_br.po: Fred Maranhão: cont'ed
+
+2011-04-18 10:44  neteler
+
+	* translators.csv: Fred Maranhão: cont'ed
+
+2011-04-18 10:37  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix cmd string for installing
+	  wx.psmap
+	  (merge r46019 from relbr64)
+
+2011-04-18 06:13  mmetz
+
+	* imagery/i.atcorr/6s.cpp, imagery/i.atcorr/Altitude.cpp,
+	  imagery/i.atcorr/Altitude.h, imagery/i.atcorr/Makefile,
+	  imagery/i.atcorr/common.h, imagery/i.atcorr/i.atcorr.html,
+	  imagery/i.atcorr/main.cpp: i.atcorr: cache fix, manual update
+
+2011-04-17 18:19  neteler
+
+	* locale/po/grassmods_pt_br.po: header fix
+
+2011-04-17 07:39  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI/manual: fix html tag
+
+2011-04-17 07:38  martinl
+
+	* gui/icons/Makefile, gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html: wxGUI/manual: install default icons
+	  to $HTMLDIR/icons
+
+2011-04-16 13:00  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: remove redundant
+	  variables
+
+2011-04-16 09:10  martinl
+
+	* gui/icons/grass/pdf-export.png: wxGUI: new icon for wx.psmap
+
+2011-04-16 09:08  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html: wxGUI/manual: update authors
+
+2011-04-15 15:49  neteler
+
+	* locale/po/grasslibs_es.po, translators.csv: affiliation fix
+
+2011-04-15 14:42  neteler
+
+	* locale/po/grasslibs_es.po, translators.csv: Joana Palah: cont'ed
+
+2011-04-14 21:43  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py: wxGUI: fix typos in
+	  variable names
+
+2011-04-14 13:45  hamish
+
+	* scripts/Makefile: v.in.garmin won't be ported, v.in.gpsbabel
+	  becomes v.in.gps
+
+2011-04-13 19:53  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: fix for python 2.4
+	  cont'ed
+	  (merge r45962 from relbr64)
+
+2011-04-13 19:48  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: fix for python 2.4
+	  (merge r45959 from relbr64)
+
+2011-04-13 16:28  neteler
+
+	* doc/howto_release.txt: contacts updated
+
+2011-04-12 20:28  hellik
+
+	* mswindows/GRASS-Installer.nsi: Overwrite font configuration file
+	  by the installer if already existing
+
+2011-04-12 18:56  martinl
+
+	* gui/icons/grass/map-info.png: wxGUI: new icon for wx.psmap added
+
+2011-04-12 07:57  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2011-04-12 06:53  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: support transactions (major
+	  speed up)
+
+2011-04-12 06:29  martinl
+
+	* lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/open_ogr.c: vlib:
+	  OGR - support transaction when writing (v.external.out)
+
+2011-04-11 22:25  hamish
+
+	* vector/v.vol.rst/main.c: bigger string buffer (#1284; merge from
+	  devbr6)
+
+2011-04-11 19:28  martinl
+
+	* lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/write.c: vlib: fix
+	  segfault for linked OGR datasources (double free OGR driver)
+
+2011-04-10 22:21  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fix measuring
+	  tool on LL-locations (requires ctypes)
+
+2011-04-10 21:47  martinl
+
+	* doc/python/m.distance.py: m.distance: major update for ctypes
+
+2011-04-10 21:12  martinl
+
+	* lib/gis/wind_scan.c: gislib: cosmetics in doxygen documentation
+
+2011-04-10 21:04  martinl
+
+	* lib/gis/distance.c: gislib: cosmetics in doxygen documentation
+
+2011-04-10 20:36  martinl
+
+	* doc/python/m.distance.py, doc/python/raster_example_ctypes.py,
+	  doc/python/vector_example_ctypes.py,
+	  gui/wxpython/gui_modules/wxnviz.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py,
+	  lib/python/ctypes/Makefile, lib/python/ctypes/__init__.py:
+	  ctypes: grass module renamed to gis (follow library naming
+	  conventions)
+
+2011-04-10 06:05  neteler
+
+	* locale/po/grassmods_de.po: typo fixed
+
+2011-04-09 19:41  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py: attempt to fix #1300 (WxGUI
+	  measure tool gives wrong results)
+	  wxGUI: fix formatting distance, multi-line output
+	  (merge r45883 & r45884 from devbr6)
+
+2011-04-09 18:47  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: #1304: wx: map selection
+	  with LANG=C causes error
+	  sort items case-sensitive
+
+2011-04-09 12:43  martinl
+
+	* SUBMITTING, SUBMITTING_DOCS, SUBMITTING_PYTHON,
+	  SUBMITTING_SCRIPTS: update SUBMITTINGS for GRASS7, shell script
+	  rules removed
+
+2011-04-09 03:48  hamish
+
+	* scripts/v.in.mapgen/v.in.mapgen.py: use %.15g instead of %.8f
+	  (#335)
+
+2011-04-08 08:45  mmetz
+
+	* lib/vector/Vlib/buffer2.c, lib/vector/Vlib/dgraph.c,
+	  lib/vector/Vlib/e_intersect.c: vector lib update for v.buffer
+	  (backport from devbr)
+
+2011-04-08 08:33  mmetz
+
+	* vector/v.buffer/main.c: v.buffer update (backport from devbr)
+
+2011-04-08 07:22  mmetz
+
+	* raster/simwe/simlib/hydro.c, raster/simwe/simlib/output.c: fix:
+	  arrays in C are zero-based
+
+2011-04-08 06:30  mmetz
+
+	* lib/segment/format.c, lib/segment/get_row.c, lib/segment/init.c,
+	  lib/segment/pagein.c, lib/segment/pageout.c, lib/segment/put.c,
+	  lib/segment/put_row.c, lib/segment/release.c, lib/segment/seek.c,
+	  lib/segment/setup.c: segment lib: code cleanup and optimization
+
+2011-04-08 06:29  mmetz
+
+	* include/segment.h: update header for segment lib
+
+2011-04-08 06:26  mmetz
+
+	* lib/db/dbmi_base/alloc.c: db lib: db wrapper for free() should
+	  return void, not void *
+
+2011-04-08 06:25  mmetz
+
+	* include/dbmidefs.h: db wrapper for free() should return void, not
+	  void *
+
+2011-04-07 22:11  hamish
+
+	* raster/r.in.xyz/r.in.xyz.html: bump max tested filesize (merge
+	  from devbr6)
+
+2011-04-06 20:23  neteler
+
+	* AUTHORS, contributors.csv: fix my address
+
+2011-04-05 20:56  martinl
+
+	* include/Make/Doxyfile_arch_html.in, include/dbmi.h,
+	  lib/db/dbmilib.dox: cosmetics in doxygen documentation
+
+2011-04-05 20:05  martinl
+
+	* include/dbmi.h, include/dbmidefs.h, include/proto_dbmi.h,
+	  lib/db/dbmi_base/alloc.c, lib/db/dbmi_base/case.c,
+	  lib/db/dbmi_base/column.c, lib/db/dbmi_base/columnfmt.c,
+	  lib/db/dbmi_base/connect.c, lib/db/dbmi_base/cursor.c,
+	  lib/db/dbmi_base/datetime.c, lib/db/dbmi_base/dbmscap.c,
+	  lib/db/dbmi_base/default_name.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/error.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/index.c, lib/db/dbmi_base/interval.c,
+	  lib/db/dbmi_base/isdir.c, lib/db/dbmi_base/legal_dbname.c,
+	  lib/db/dbmi_base/login.c, lib/db/dbmi_base/ret_codes.c,
+	  lib/db/dbmi_base/sqlCtype.c, lib/db/dbmi_base/sqltype.c,
+	  lib/db/dbmi_base/string.c, lib/db/dbmi_base/strip.c,
+	  lib/db/dbmi_base/table.c, lib/db/dbmi_base/value.c,
+	  lib/db/dbmi_base/valuefmt.c, lib/db/dbmi_base/whoami.c,
+	  lib/db/dbmi_base/xdr.c, lib/db/dbmi_base/xdrchar.c,
+	  lib/db/dbmi_base/xdrcolumn.c, lib/db/dbmi_base/xdrdatetime.c,
+	  lib/db/dbmi_base/xdrdouble.c, lib/db/dbmi_base/xdrfloat.c,
+	  lib/db/dbmi_base/xdrhandle.c, lib/db/dbmi_base/xdrindex.c,
+	  lib/db/dbmi_base/xdrint.c, lib/db/dbmi_base/xdrprocedure.c,
+	  lib/db/dbmi_base/xdrshort.c, lib/db/dbmi_base/xdrstring.c,
+	  lib/db/dbmi_base/xdrtable.c, lib/db/dbmi_base/xdrtoken.c,
+	  lib/db/dbmi_base/xdrvalue.c, lib/db/dbmi_base/zero.c,
+	  lib/db/dbmi_client/c_bindupdate.c, lib/db/dbmilib.dox,
+	  lib/python/ctypes/Makefile: update doxygen documentation of DBMI
+	  library (BASE)
+
+2011-04-04 19:37  neteler
+
+	* imagery/i.biomass/main.c, imagery/i.latlong/i.latlong.html,
+	  imagery/i.latlong/main.c, imagery/i.modis.qc/main.c: msg
+	  cosmetics
+
+2011-04-04 19:32  neteler
+
+	* imagery/i.sunhours/main.c: msg cosmetics
+
+2011-04-04 19:31  neteler
+
+	* imagery/i.eb.h_SEBAL01/Makefile,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_SEBAL01.html,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_sebal01.html,
+	  imagery/i.eb.h_SEBAL01/main.c: avoid caps module name; less messy
+	  HTML code
+
+2011-04-04 19:17  neteler
+
+	* imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.netrad/main.c, imagery/i.eb.soilheatflux/main.c: msg
+	  standardization
+
+2011-04-04 14:24  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI/import: add *.* to
+	  filemask (see #1307)
+
+2011-04-04 11:21  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_base.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/ogc_services.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py,
+	  gui/wxpython/icons/icon.py,
+	  gui/wxpython/support/update_menudata.py: wxGUI: don't use
+	  deprecated 'dict.has_key()'
+
+2011-04-04 10:11  martinl
+
+	* gui/icons/grass/map-settings.png,
+	  gui/icons/grass/page-settings.png, gui/icons/grass/ps-script.png,
+	  gui/icons/grass/script-load.png, gui/icons/grass/script-save.png:
+	  wxGUI/psmap: new icons
+
+2011-04-03 04:11  hamish
+
+	* lib/gis/error.c: respect the error log file (merge from devbr6)
+
+2011-04-01 20:08  martinl
+
+	* gui/wxpython/gis_set.py: #1340 (wxGUI uses improper .grassrc
+	  syntax and may cause .grassrc file
+	  corruption)
+	  (merge r45821 from devbr6)
+
+2011-03-30 05:25  hamish
+
+	* display/d.grid/plot.c: placeholder code for geogrid marks (merge
+	  from devbr6)
+
+2011-03-30 05:09  hamish
+
+	* display/d.grid/fiducial.c, display/d.grid/local_proto.h,
+	  display/d.grid/main.c, display/d.grid/plot.c: new flag to display
+	  '.' at grid points (nice as intermediates between grid lines;
+	  merge from devbr6)
+
+2011-03-28 13:47  martinl
+
+	* include/Make/Install.make, scripts/g.extension/g.extension.py:
+	  fix r45796 to install also wxGUI extension
+	  Install.make fixed to set up also grass_home
+
+2011-03-28 13:15  martinl
+
+	* ps/ps.map/r_info.c, ps/ps.map/r_vlegend.c: ps.map: add missing
+	  headers
+
+2011-03-28 13:13  martinl
+
+	* gui/wxpython/wxgui.py: fix g.extension command for installing
+	  wx.psmap
+
+2011-03-28 13:12  martinl
+
+	* include/Make/Install.make, scripts/g.extension/g.extension.py:
+	  making g.extension really working
+
+2011-03-28 13:04  martinl
+
+	* gui/wxpython/icons/icon.py: #1309: Error launching 6.5 wxgui
+
+2011-03-27 09:36  hamish
+
+	* general/g.region/printwindow.c, include/gprojects.h: projects.h
+	  dropped in proj4 upstream rev 1975. (#1335, merge from devbr6)
+
+2011-03-27 08:29  neteler
+
+	* imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/README: better
+	  explain how to add sensors
+
+2011-03-27 06:49  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: #1126: 3D view crashing
+	  when started with vector data (was: 3D view
+	  crashing)
+
+2011-03-27 06:10  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: fix typo
+
+2011-03-27 02:29  hamish
+
+	* ps/ps.map/ps_vlegend.c, ps/ps.map/r_vlegend.c,
+	  ps/ps.map/vector.h: RGB color support for vlegend border
+	  instruction (#192; merge from devbr6)
+
+2011-03-27 02:11  hamish
+
+	* ps/ps.map/main.c, ps/ps.map/map_info.c, ps/ps.map/map_info.h,
+	  ps/ps.map/r_info.c: RGB color support for mapinfo instruction
+	  (#192; merge from devbr6)
+
+2011-03-26 22:12  neteler
+
+	* lib/dspf/cube_io.c: fwd port of r45756
+
+2011-03-26 20:22  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menu.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: use utils.split()
+	  instead of shlex.split()
+	  (merge r45770 from devbr6)
+
+2011-03-26 20:12  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: cosmetics in menu
+
+2011-03-26 19:25  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py,
+	  scripts/g.extension/g.extension.py: wxGUI: update install
+	  extensions window to install wxGUI extensions
+	  (merge r45766 from devbr6)
+
+2011-03-26 14:04  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: fail gracefully when
+	  g.region/g.proj are missing
+	  (merge r45760 from devbr6)
+
+2011-03-25 18:27  martinl
+
+	* gui/wxpython/README: minor update of wxGUI/README
+
+2011-03-25 00:23  hamish
+
+	* mswindows/GRASS-Packager.bat: avoid license incompatibility;
+	  these plugins were not built directly into GDAL on purpose. see
+	  https://trac.osgeo.org/gdal/wiki/rfc34_license_policy
+
+2011-03-23 21:55  martinl
+
+	* gui/images/grass_splash.png, gui/images/grass_splash.xcf,
+	  gui/images/silesia_splash.png, gui/wxpython/wxgui.py:
+	  grass_splash -> silesia_splash
+
+2011-03-23 21:54  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: showTraceback
+
+2011-03-23 12:18  hamish
+
+	* gui/images/silesia_splash.png: restore silesia_splash.png
+
+2011-03-23 12:05  martinl
+
+	* lib/gis/gislib.dox: gislib: add Glynn notes from ML about
+	  system()
+
+2011-03-23 10:16  martinl
+
+	* lib/init/grass.py: startup: update syntax - `-c` creates also new
+	  database if doesn't exists
+
+2011-03-23 09:39  hamish
+
+	* ps/ps.map/main.c: avoid confusing 'Print' in the context of a
+	  hardcopy program (merge from devbr6)
+
+2011-03-22 15:10  martinl
+
+	* lib/init/grass.py: startup: update syntax for `-c`
+
+2011-03-22 14:59  martinl
+
+	* lib/init/grass.py: startup: support also `-c EPSG:x`
+
+2011-03-22 14:43  martinl
+
+	* lib/init/grass.py: startup: create new location using -c
+
+2011-03-22 07:36  neteler
+
+	* locale/po/grasslibs_it.po: Luca Delucchi: cont'ed
+
+2011-03-20 12:30  martinl
+
+	* mswindows/GRASS-Packager.bat: winGRASS: include some gdal plugins
+	  (merge r45718 from relbr64)
+
+2011-03-18 19:14  martinl
+
+	* vector/v.in.dwg/main.c: fix r45706
+
+2011-03-18 08:52  neteler
+
+	* vector/v.in.dwg/main.c: fix of bug #1317
+
+2011-03-18 08:49  neteler
+
+	* vector/v.clean/test/topocheck.c: fix of bug #1317
+
+2011-03-18 08:39  huhabla
+
+	* raster3d/r3.stats/main.c, raster3d/r3.stats/r3.stats.html: Better
+	  handling of NULL pointer
+
+2011-03-18 02:02  hamish
+
+	* raster/r.reclass/main.c: export floats and doubles with correct
+	  precision (#335, merge from devbr6)
+
+2011-03-17 20:13  neteler
+
+	* locale/po/grassmods_it.po: Marco Curreli: cont'ed
+
+2011-03-16 19:09  glynn
+
+	* lib/raster/reclass.c: Fix bugs in reclassed_to handling
+
+2011-03-16 09:36  hcho
+
+	* raster/r.fill.dir/main.c: Fixed a flag check
+
+2011-03-15 23:10  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: install wxGUI
+	  extensions
+	  implement `-s` flag
+
+2011-03-15 21:48  huhabla
+
+	* raster/simwe/r.sim.water/main.c, raster/simwe/simlib/input.c:
+	  Fixed wrong manin_val computation. Added verbose outputs.
+
+2011-03-15 17:49  martinl
+
+	* lib/db/dbmi_base/error.c, lib/db/dbmi_base/value.c,
+	  lib/db/dbmi_driver/d_close_cur.c,
+	  lib/db/dbmi_driver/driver_state.c: fix r45515 - incorect usage of
+	  db_free_string() on `char *`
+	  (merge r45671 from relbr64)
+
+2011-03-15 10:16  huhabla
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c,
+	  raster/simwe/r.sim.water/r.sim.water.html,
+	  raster/simwe/r.sim.water/spearfish.sh,
+	  raster/simwe/simlib/hydro.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/observation_points.c,
+	  raster/simwe/simlib/output.c, raster/simwe/simlib/utils.c,
+	  raster/simwe/simlib/waterglobs.h: Reimplemented observation
+	  vector point support. Code clean up in many
+	  files and partly rewrite of input.c. Docu update related to the
+	  observation points. Update of the spearfish example in
+	  r.sim.water.
+
+2011-03-15 05:14  hamish
+
+	* doc/vector/v.example/main.c: spelling typos
+
+2011-03-14 23:05  martinl
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: add OnPsMap handler for
+	  ps.map's GUI
+	  update menudata
+
+2011-03-14 18:13  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: remove 'patch'
+	  functionality (not reasonable approach)
+
+2011-03-13 16:28  martinl
+
+	* general/g.region/main.c, lib/lidar/zones.c,
+	  lib/vector/Vlib/ascii.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/geos.c, vector/v.buffer/main.c,
+	  vector/v.build/main.c, vector/v.generalize/misc.c,
+	  vector/v.hull/hull.c, vector/v.info/main.c,
+	  vector/v.info/parse.c, vector/v.kernel/main.c,
+	  vector/v.net/args.c, vector/v.parallel/main.c,
+	  vector/v.select/overlap.c, vector/v.split/main.c,
+	  vector/v.to.3d/trans3.c, vector/v.to.db/lines.c: add mising
+	  headers (compiling without gdal/ogr)
+
+2011-03-13 11:53  martinl
+
+	* db/drivers/dbf/table.c: dbf: fix file path on windows
+	  (merge r45652 from trunk)
+
+2011-03-12 21:27  martinl
+
+	* lib/python/core.py: pythonlib: force 'plain' format when
+	  raise_on_error is True
+
+2011-03-12 21:05  martinl
+
+	* lib/python/core.py: pythonlib: raise ScriptError
+	  (run/read/write_command)
+
+2011-03-12 19:09  martinl
+
+	* lib/gis/error.c, lib/init/variables.html: libgis: fix
+	  G_INFO_FORMAT_SILENT/PLAIN (printing messages to stderr)
+
+2011-03-12 16:55  martinl
+
+	* gui/wxpython/docs/wxGUI.html, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: #1296 (wx gui close shortcuts)
+
+2011-03-12 15:39  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: use default style for splash screen
+	  (extrastyle has been removed in 2.8.11)
+
+2011-03-12 04:50  hamish
+
+	* lib/symbol/stroke.c: hack to make nicer circles with huge symbol
+	  size (merge from devbr6)
+
+2011-03-11 20:22  neteler
+
+	* locale/po/grassmods_it.po, translators.csv: Marco Curreli:
+	  cont'ed
+
+2011-03-11 09:51  ychemin
+
+	* imagery/i.evapo.time/main.c: Fixed bug of illegal output file
+	  name, various cleaning
+
+2011-03-11 04:57  hamish
+
+	* display/d.legend/main.c: Dylan: pass through format exactly as
+	  given by the user in the use= command line parameter, helps with
+	  log scale. (#1147)
+
+2011-03-11 04:19  hamish
+
+	* raster/r.sun/r.sun.html: html bug
+
+2011-03-10 16:35  neteler
+
+	* raster/r.sun/r.sun.html: +citation for coefbh and coefdh from
+	  Jaro; HTML table reformatting
+
+2011-03-09 12:30  hamish
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  gui/wxpython/gui_modules/mapdisp.py: make d.barscale like all the
+	  other display modules with at=: 0,0 is lower-left
+
+2011-03-08 12:26  huhabla
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c,
+	  raster/simwe/r.sim.water/spearfish.sh,
+	  raster/simwe/simlib/Makefile, raster/simwe/simlib/erod.c,
+	  raster/simwe/simlib/hydro.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c, raster/simwe/simlib/waterglobs.h:
+	  Added walker vector points output generation.
+	  Removed confusing code, which seems to make things more
+	  complicted.
+	  Added time series support to the r.sim.water spearfish example
+	  with vtk output.
+
+2011-03-08 00:48  martinl
+
+	* gui/icons/grass/shortest-distance.png,
+	  gui/wxpython/icons/icon.py: wxGUI: add new grass2 icon for
+	  geodetic line (by Robert Szczepanek)
+
+2011-03-07 18:40  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: don't close
+	  dialogs be default
+	  (merge r45601 from relbr64)
+
+2011-03-07 17:39  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat,
+	  mswindows/env.bat: winGRASS: move environmental variables to
+	  env.bat, init.bat: wxGUI default
+	  (merge r45596 from devbr6)
+
+2011-03-07 12:00  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: fix Gdal import
+	  dialog (ext patterns)
+	  (merge r45593 from trunk)
+
+2011-03-06 23:40  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: clean up
+	  CommandThread class
+
+2011-03-06 18:37  martinl
+
+	* gui/images/__init__.py, gui/images/small_down_arrow.png,
+	  gui/images/small_up_arrow.png: gui/images: svn props updated
+	  (__init__.py removed)
+
+2011-03-06 18:00  martinl
+
+	* gui/images/Makefile, gui/images/__init__.py,
+	  gui/images/grass_form.png, gui/images/grass_splash.png,
+	  gui/images/grass_splash.xcf, gui/images/loc_wizard.png,
+	  gui/images/loc_wizard_qgis.png, gui/images/qgis_world.png,
+	  gui/images/silesia_splash.png, gui/images/small_down_arrow.png,
+	  gui/images/small_up_arrow.png, gui/wxpython/Makefile,
+	  gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/images,
+	  gui/wxpython/scripts/r.li.setup.py, gui/wxpython/wxgui.py: wxGUI:
+	  improve splash screen
+	  clean up images
+
+2011-03-06 11:57  martinl
+
+	* ps/ps.map/local_proto.h, ps/ps.map/main.c,
+	  ps/ps.map/r_instructions.c, ps/ps.map/read_key.c: ps.map:
+	  read_from_keyboard() renamed to read_instructions()
+
+2011-03-05 23:14  martinl
+
+	* ps/ps.map/main.c: ps.map: standardize module's description
+	  more gui sections
+
+2011-03-05 23:06  martinl
+
+	* ps/ps.map/main.c, ps/ps.map/ps_raster.c: ps.map: require
+	  input=file/-
+	  some minor changes in messages
+
+2011-03-05 22:36  martinl
+
+	* ps/ps.map/box.c, ps/ps.map/comment.c, ps/ps.map/distance.h,
+	  ps/ps.map/do_geogrid.c, ps/ps.map/do_grid.c,
+	  ps/ps.map/do_header.c, ps/ps.map/do_labels.c, ps/ps.map/do_plt.c,
+	  ps/ps.map/do_scalebar.c, ps/ps.map/do_vectors.c, ps/ps.map/eps.c,
+	  ps/ps.map/get_scalebar.c, ps/ps.map/getgrid.c,
+	  ps/ps.map/local_proto.h, ps/ps.map/main.c, ps/ps.map/map_info.c,
+	  ps/ps.map/map_setup.c, ps/ps.map/outl_io.c,
+	  ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_colors.c,
+	  ps/ps.map/ps_fclrtbl.c, ps/ps.map/ps_map.c,
+	  ps/ps.map/ps_outline.c, ps/ps.map/ps_raster.c,
+	  ps/ps.map/ps_vareas.c, ps/ps.map/ps_vlegend.c,
+	  ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_border.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_colortable.c, ps/ps.map/r_group.c,
+	  ps/ps.map/r_header.c, ps/ps.map/r_info.c, ps/ps.map/r_paper.c,
+	  ps/ps.map/r_plt.c, ps/ps.map/r_rgb.c, ps/ps.map/r_text.c,
+	  ps/ps.map/r_vareas.c, ps/ps.map/r_vlegend.c,
+	  ps/ps.map/r_vlines.c, ps/ps.map/r_vpoints.c, ps/ps.map/r_wind.c,
+	  ps/ps.map/read_key.c, ps/ps.map/scale.c, ps/ps.map/symbol.c:
+	  ps.map: -b doesn't require 'output' to be defined
+	  update options structure
+	  various minor changes (messages)
+
+2011-03-05 18:38  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI: TR_ALIGN_WINDOWS
+	  requires wxPython 2.8.9.2+
+	  (merge r45578 from devbr6)
+
+2011-03-05 18:26  martinl
+
+	* mswindows/osgeo4w/grass.tmpl: osgeo4w: add missing grass.tmpl
+
+2011-03-05 18:21  martinl
+
+	* lib/init/grass.py, mswindows/osgeo4w/grass.bat.tmpl,
+	  mswindows/osgeo4w/package.sh: osgeo4w: grass.bat.tmpl added /
+	  grass.py updated for osgeo4w
+
+2011-03-05 16:40  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI: align item windows
+	  (#1100)
+	  (merge r45573 & r45574 from debr6)
+
+2011-03-05 16:02  martinl
+
+	* gui/wxpython/wxgui.py: #1297: db.out.ogr fails to start in 6.5
+
+2011-03-05 15:54  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: fix error when
+	  exiting vector digitizer
+
+2011-03-04 22:46  hellik
+
+	* mswindows/GRASS-Packager.bat: fix GRASS_BIN_PREFIX in
+	  GRASS-Packager.bat
+	  see https://trac.osgeo.org/grass/ticket/1271#comment:14
+
+2011-03-04 21:34  martinl
+
+	* mswindows/osgeo4w/env.bat.tmpl: osgeo4w: default internet browser
+	  of the system is invoked
+
+2011-03-04 21:27  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: update menuform's
+	  blackList for g7
+
+2011-03-04 21:24  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: sort contributors by
+	  osgeo_id
+
+2011-03-04 17:10  martinl
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: define blackList for
+	  module flags/params (e.g. d.legend -m)
+	  (merge r45552 from devbr6)
+
+2011-03-04 16:10  martinl
+
+	* lib/python/core.py: #1295 (Wx location wizard fails to create
+	  location if it's title
+	  contains non-latin letters) - write MYNAME using encoding utf-8
+
+2011-03-04 16:05  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: read/write history
+	  file with encoding 'utf-8' (see #1293)
+	  (merge r45548 from devbr6)
+
+2011-03-04 15:12  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/utils.py: some minor fixes in r45545
+	  (merge r45546 from devbr6)
+
+2011-03-03 23:09  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py, lib/python/core.py: attempt to
+	  fix #1293 (Creating mapset with non-latin letter gives python
+	  ascii error)
+
+2011-03-03 19:45  martinl
+
+	* include/gisdefs.h, lib/gis/strings.c, lib/vector/Vlib/field.c:
+	  vlib: field.c: normalize path for Windows
+	  +G_str_replace(): input buffer as const
+	  (merge r45538 from relbr64)
+
+2011-03-03 19:45  martinl
+
+	* lib/python/pythonlib.dox: pythonlib: note create_location() in
+	  dox page
+
+2011-03-03 13:46  martinl
+
+	* mswindows/osgeo4w/package.sh: comment-out make packages.sh, fix
+	  r45529
+	  (merge r45531 from relbr64)
+
+2011-03-03 13:27  martinl
+
+	* mswindows/osgeo4w/env.bat.tmpl, mswindows/osgeo4w/package.sh:
+	  winGRASS: sync package.sh with grass6
+
+2011-03-03 07:42  hamish
+
+	* general/g.version/main.c, gui/wxpython/gui_modules/ghelp.py,
+	  lib/python/core.py: more precise name for shell variable names.
+	  strip pretty-text out of shell script output, quote date string.
+
+2011-03-02 22:00  neteler
+
+	* imagery/i.aster.toar/Makefile, imagery/i.eb.netrad/Makefile,
+	  imagery/i.evapo.mh/Makefile, imagery/i.evapo.pm/Makefile,
+	  imagery/i.evapo.pt/Makefile: Makefile cleanup
+
+2011-03-02 12:03  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI manual page: note also Quick
+	  wxGUI Tutorial
+
+2011-03-01 11:58  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: fix _defineTool
+	  (hardcoded value wx.ITEM_NORMAL)
+	  patch by Anna Kratochvilova
+
+2011-03-01 11:51  martinl
+
+	* gui/wxpython/docs/Makefile: wxGUI: update docs/Makefile
+
+2011-03-01 10:39  martinl
+
+	* gui/wxpython/icons/icon.py: remove ps.map icons from svn
+
+2011-02-28 22:19  martinl
+
+	* gui/wxpython/icons/icon.py: wxGUI: define some icons for ps.map
+	  GUI
+
+2011-02-28 21:45  martinl
+
+	* gui/wxpython/icons/icon.py: wxGUI: add quit icon desc for
+	  graphical modeler
+
+2011-02-28 21:25  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/icons/icon.py: fix r45489: define layerOptions
+
+2011-02-28 20:38  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: code cosmetics
+
+2011-02-28 19:50  martinl
+
+	* gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py, ps/ps.map/main.c: wxGUI: major icons clean
+	  up
+
+2011-02-28 14:34  martinl
+
+	* mswindows/osgeo4w: update svn props (winGRASS)
+
+2011-02-28 14:32  martinl
+
+	* mswindows/osgeo4w/package.sh: update packages.sh for grass7
+
+2011-02-28 12:04  martinl
+
+	* configure, configure.in, general/g.region/printwindow.c,
+	  include/gprojects.h, include/proto_dbmi.h,
+	  lib/db/dbmi_base/alloc.c, lib/db/dbmi_base/cursor.c,
+	  lib/db/dbmi_base/dbmscap.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/error.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/index.c, lib/db/dbmi_base/string.c,
+	  lib/db/dbmi_base/table.c, lib/db/dbmi_base/value.c,
+	  lib/db/dbmi_client/copy_tab.c, lib/db/dbmi_client/shutdown.c,
+	  lib/db/dbmi_driver/d_close_cur.c,
+	  lib/db/dbmi_driver/driver_state.c, lib/db/dbmilib.dox,
+	  lib/g3d/g3dcache.c, lib/proj/Makefile, lib/proj/ftol.c,
+	  mswindows/osgeo4w/config.h.vc, mswindows/osgeo4w/gdal-1.6.diff,
+	  mswindows/osgeo4w/gdal-config, mswindows/osgeo4w/gdalplugins.cmd,
+	  mswindows/osgeo4w/geos-config, mswindows/osgeo4w/package.sh,
+	  mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: winGRASS/OSGeo4W updates (see
+	  r45429)
+
+2011-02-28 11:11  martinl
+
+	* grasslib.dox: cosmetics in main dox page
+
+2011-02-27 11:31  martinl
+
+	* lib/python/array.py, lib/python/pythonlib.dox: pythonlib:
+	  document array.py
+
+2011-02-26 20:14  martinl
+
+	* lib/gis/seek.c: libgis: cosmetics in doxygen desc
+
+2011-02-26 12:12  martinl
+
+	* gui/wxpython/docs/Makefile,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Icons.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.html: unmaintained grass and silk icon
+	  sets removed (step 4)
+
+2011-02-24 17:29  martinl
+
+	* gui/icons/Makefile, gui/icons/grass, gui/icons/grass2,
+	  gui/wxpython/Makefile, gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/__init__.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py:
+	  unmaintained grass and silk icon sets removed (step 3)
+
+2011-02-24 12:42  martinl
+
+	* gui/wxpython/icons/grass_icons.py,
+	  gui/wxpython/icons/silk_icons.py: unmaintained grass and silk
+	  icon sets removed (step 2)
+
+2011-02-24 12:34  martinl
+
+	* gui/icons/grass, gui/icons/silk: unmaintained grass and silk icon
+	  sets removed (step 1)
+
+2011-02-23 16:48  neteler
+
+	* include/vector.h, lib/vector/Vlib/ascii.c,
+	  vector/v.out.ascii/args.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/main.c: flag to show table header in point
+	  mode
+
+2011-02-23 16:33  neteler
+
+	* lib/vector/Vlib/ascii.c: typo
+
+2011-02-21 17:23  huhabla
+
+	* raster/r.to.rast3elev/r.to.rast3elev.html: Typo fix and better
+	  paraview explanation
+
+2011-02-21 14:55  huhabla
+
+	* raster/r.to.rast3elev/r.to.rast3elev.html: Fixed wrong module
+	  names and added new multi layer example.
+
+2011-02-20 19:29  mmetz
+
+	* vector/v.out.ogr/attrb.c: also export attributes if multiple
+	  features share the same cat
+
+2011-02-18 12:13  martinl
+
+	* gui/icons/grass2/ps-export.png, gui/icons/grass2/ps-script.png,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: new icons for ps.map GUI
+	  front-end by Robert Szczepanek
+	  (see http://trac.osgeo.org/osgeo/ticket/668)
+
+2011-02-18 06:53  hamish
+
+	* ps/ps.map/do_geogrid.c: merge comment fixes from devbr6
+
+2011-02-17 12:20  hamish
+
+	* imagery/i.pca/support.c: increased buffer size to help with #1279
+
+2011-02-16 12:24  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: hamish: missing
+	  space between sentences
+	  (merge r45410 from devbr6)
+
+2011-02-15 15:50  mmetz
+
+	* vector/v.kernel/main.c, vector/v.kernel/v.kernel.html: message
+	  cosmetics
+
+2011-02-14 17:25  mmetz
+
+	* vector/v.build.polylines/main.c: process only lines
+
+2011-02-14 15:14  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: some minor vdigit
+	  fixes
+
+2011-02-14 11:14  hamish
+
+	* display/d.grid/local_proto.h, display/d.grid/main.c,
+	  display/d.grid/plot.c: + grid line width option (sometimes 1px
+	  wide is hard to see) (merge from devbr6)
+
+2011-02-14 10:33  mmetz
+
+	* vector/v.kernel/v.kernel.html: update manual: explain equal split
+
+2011-02-13 11:02  mmetz
+
+	* vector/v.build.polylines/main.c: build polylines: do not modify
+	  points and centroids
+
+2011-02-13 10:23  mmetz
+
+	* vector/v.kernel/function.c, vector/v.kernel/global.h,
+	  vector/v.kernel/main.c, vector/v.kernel/v.kernel.html: Radim
+	  Blazek: new kernel density functions and equal split on network,
+	  ticket #1277
+
+2011-02-13 10:21  mmetz
+
+	* lib/vector/Vlib/net.c: update vector lib for #1277
+
+2011-02-13 10:17  mmetz
+
+	* include/vector.h: update header for #1277
+
+2011-02-12 13:10  martinl
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  include/Make/Python.make, include/gisdefs.h,
+	  lib/init/variables.html: there is no need for python switch
+	  (wxGUI vdigit and nviz were
+	  pythonized)
+
+2011-02-12 13:01  martinl
+
+	* general/g.gui/main.c, lib/init/grass.py: note that GUI is lauched
+	  on background also in init script
+
+2011-02-12 13:00  martinl
+
+	* grasslib.dox, lib/display/displaylib.dox, lib/gis/gislib.dox,
+	  lib/raster/rasterlib.dox, lib/vector/vectorlib.dox: update api
+	  manual (organize libs in groups)
+
+2011-02-12 09:59  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_vdigit.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: vdigit
+	  related code moved from mapdisp_window to
+	  mapdisp_vdigit
+	  (merge r45384 from devbr6)
+
+2011-02-11 21:27  msieczka
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_ml.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_th.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: Set
+	  svn:mime-type to 'text/x-plain; charset=utf-8 to fix UTF-8
+	  rendering in Trac browser.
+
+2011-02-11 16:53  msieczka
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Set svn:mime-type to 'text/x-plain;
+	  charset=utf-8' to fix UTF-8 rendering in Trac browser.
+
+2011-02-11 16:39  neteler
+
+	* locale/po/grasslibs_it.po, locale/po/grasswxpy_it.po: Luca
+	  Delucchi: cont'ed
+
+2011-02-11 16:35  neteler
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizer.html: cosmetics
+
+2011-02-11 16:34  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: Helmut Kudrnovsky: cont'ed
+
+2011-02-10 19:55  mmetz
+
+	* lib/vector/Vlib/break_polygons.c: fix debug level
+
+2011-02-10 13:47  mmetz
+
+	* raster/r.rescale/main.c: add missing required parameter
+
+2011-02-09 15:05  neteler
+
+	* vector/v.overlay/v.overlay.html,
+	  vector/v.overlay/v_overlay_area_lines.png: +screenshot
+
+2011-02-09 14:45  neteler
+
+	* vector/v.overlay/v.overlay.html: line example
+
+2011-02-09 14:43  neteler
+
+	* vector/v.overlay/main.c: patch from Martin Landa to catch wrong
+	  atype parameter (user error)
+
+2011-02-09 04:43  hamish
+
+	* ps/ps.map/r_colortable.c: + missing #include
+
+2011-02-08 08:00  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska + Maciej Sieczka:
+	  cont'ed
+
+2011-02-07 23:15  huhabla
+
+	* raster/r.out.vtk/main.c, raster/r.out.vtk/parameters.c: Make the
+	  input maps obligatory to allow the export of rgb or vector maps
+	  without the specification of an input map.
+
+2011-02-07 13:03  martinl
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizer.html: manual: update
+	  wiki link of vector digitizer
+
+2011-02-07 09:30  martinl
+
+	* gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: fix vertex
+	  pseudo id's
+	  (merge r45323 from devbr6)
+
+2011-02-07 07:19  hamish
+
+	* ps/ps.map/colortable.h, ps/ps.map/ps_clrtbl.c,
+	  ps/ps.map/ps_fclrtbl.c, ps/ps.map/r_colortable.c: RGB color for
+	  colortables; bugfix for number of columns hangover (merge from
+	  devbr6 r45314-8
+
+2011-02-07 07:13  hamish
+
+	* display/d.legend/main.c: minor mod to at= option description to
+	  help deconfuse students (merge from devbr6)
+
+2011-02-04 15:05  martinl
+
+	* gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: fix adding
+	  new vertex (line not found)
+	  (merge r45311 from devbr6)
+
+2011-02-04 09:23  hamish
+
+	* ps/ps.map/main.c: -b flag relative to the top-left of the paper
+
+2011-02-04 09:13  hamish
+
+	* ps/ps.map/main.c: bah, map_setup wants to write to the file.
+	  figure something else out later
+
+2011-02-04 09:04  hamish
+
+	* ps/ps.map/main.c: don't start file if just printing bounds
+
+2011-02-04 09:00  hamish
+
+	* ps/ps.map/main.c: fix -b flag (currently ref bottom-left of
+	  paper)
+
+2011-02-04 08:48  hamish
+
+	* ps/ps.map/main.c: add -b flag to print map box bounds (#153)
+
+2011-02-04 08:38  hamish
+
+	* ps/ps.map/main.c, ps/ps.map/ps.map.html: remove command line
+	  scale option (use map instruction instead)
+
+2011-02-03 21:57  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py: wxGUI title cosmetics
+
+2011-02-03 21:27  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: some minor
+	  fixes (break, move)
+	  (merge from debr6)
+
+2011-02-03 17:10  martinl
+
+	* general/g.gisenv/main.c: g.gisenv: cosmetics
+
+2011-02-03 14:55  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py: minor wxGUI fixes (based on
+	  devbr6)
+
+2011-02-02 14:55  martinl
+
+	* gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: fix new area
+
+2011-02-02 12:56  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: geometry
+	  attributes reimplemented in Python
+
+2011-02-01 23:21  martinl
+
+	* gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: re-implement
+	  check for duplicates
+
+2011-02-01 21:04  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2011-02-01 18:04  martinl
+
+	* vector/v.clean/main.c: v.clean: fix descriptions i18n
+
+2011-02-01 16:41  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: import dialog are not modal
+	  (merge r45278 from relbr64)
+
+2011-02-01 16:09  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: fix _getExtPattern
+	  (merge r45274 from relbr64)
+
+2011-02-01 13:01  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska + Maciej Sieczka:
+	  cont'ed
+
+2011-01-31 22:47  martinl
+
+	* gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit: implement
+	  break lines
+
+2011-01-31 21:51  martinl
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI/vdigit: ctrl+left mouse
+	  used for undo
+
+2011-01-31 19:30  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: fix for missing
+	  toolbar variable
+
+2011-01-31 08:31  hamish
+
+	* display/d.barscale/main.c: rm d.grid hangover (merge from devbr6)
+
+2011-01-31 03:42  hamish
+
+	* lib/vector/dglib/examples/rtest03.sh: fix bashism (merge from
+	  devbr6 r45002)
+
+2011-01-30 17:15  neteler
+
+	* locale/po/grassmods_de.po: fix two errors; msg cosmetics
+
+2011-01-30 13:43  neteler
+
+	* locale/po/grassmods_de.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_vi.po: Don't
+	  translate keywords (hard to recognize, though)
+
+2011-01-30 13:29  neteler
+
+	* locale/po/grassmods_de.po: typo
+
+2011-01-28 16:39  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py, translators.csv: wxGUI: fix
+	  translator.csv file + update ghelp.py to catch errors
+
+2011-01-28 14:35  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: fix adding
+	  legend/barscale from command prompt
+
+2011-01-28 13:50  neteler
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h: Font size support added
+
+2011-01-28 12:51  martinl
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix histogram dialog
+	  when raster map is not found
+
+2011-01-28 12:12  martinl
+
+	* lib/python/core.py: pythonlib: cosmetics in dox strings
+
+2011-01-27 15:33  neteler
+
+	* locale/po/grasswxpy_de.po: Helmut Kudrnovsky: cont'ed
+
+2011-01-27 14:38  mmetz
+
+	* vector/v.buffer/main.c: v.buffer overhaul
+
+2011-01-27 13:01  mmetz
+
+	* lib/vector/Vlib/buffer2.c: fix for second bug in #699, remove cpp
+	  style
+
+2011-01-27 10:31  huhabla
+
+	* lib/gis/parser_wps.c: Removed default values from resolution
+	  option. Updated docu.
+
+2011-01-27 01:28  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: default url
+	  points to grass7
+
+2011-01-26 23:43  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: replace spaces
+	  in topdir
+
+2011-01-26 23:15  martinl
+
+	* lib/gis/parser.c, lib/gis/parser_local_proto.h: gislib:
+	  G_parser() - print usage and then errors
+
+2011-01-26 22:40  neteler
+
+	* locale/po/grasswxpy_de.po: Helmut Kudrnovsky: cont'ed
+
+2011-01-26 22:06  martinl
+
+	* lib/gis/parser_standard_options.c: revert unwanted change (path
+	  -> name)
+
+2011-01-26 19:24  mmetz
+
+	* lib/vector/Vlib/buffer2.c: fix for #994
+
+2011-01-26 19:22  martinl
+
+	* mswindows/GRASS-Packager.bat: add svn client to wingrass
+	  installer
+
+2011-01-26 17:22  mmetz
+
+	* raster/r.proj/main.c: fix for #1262
+
+2011-01-26 12:41  martinl
+
+	* mswindows/osgeo4w/package.sh: update package.sh
+
+2011-01-26 10:48  martinl
+
+	* lib/python/core.py, lib/python/pythonlib.dox: pythonlib:
+	  core::version introduced
+
+2011-01-26 10:44  martinl
+
+	* general/g.version/g.version.html, general/g.version/main.c:
+	  g.version: shell flag introduced + manual updated
+
+2011-01-26 09:57  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: handle error when
+	  zooming
+
+2011-01-25 20:21  martinl
+
+	* vector/v.transform/trans_digit.c: v.transform: print info about
+	  number of processed features (level 1)
+
+2011-01-25 19:03  martinl
+
+	* vector/v.external/args.c, vector/v.external/main.c: v.external:
+	  dsn/layer required, check overwrite
+
+2011-01-25 18:35  martinl
+
+	* raster/r.out.gdal/main.c, vector/v.out.ogr/args.c:
+	  r.out.gdal/v.out.ogr: format required + cosmetics in guisections
+
+2011-01-25 18:26  martinl
+
+	* vector/v.out.ogr/args.c: v.out.ogr: format required + cosmetics
+	  in guisections
+
+2011-01-25 16:04  martinl
+
+	* vector/v.out.ogr/list.c: v.out.ogr: fix OGR_list_write_drivers()
+
+2011-01-25 15:59  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: fix overwrite/append mode
+
+2011-01-25 10:14  mmetz
+
+	* lib/vector/Vlib/buffer2.c: merge r38554 from 64
+
+2011-01-25 09:37  mmetz
+
+	* vector/v.in.ogr/geom.c: do not write cats for boundaries (restore
+	  original behaviour)
+
+2011-01-24 14:47  mmetz
+
+	* vector/v.generalize/main.c, vector/v.generalize/misc.c,
+	  vector/v.generalize/v.generalize.html: select boundaries by areas
+
+2011-01-24 09:21  mmetz
+
+	* imagery/i.rectify/exec.c, imagery/i.rectify/main.c: 0 -> NULL;
+	  copy history if possible
+
+2011-01-23 10:01  neteler
+
+	* locale/po/grasswxpy_de.po: Helmut Kudrnovsky: cont'ed
+
+2011-01-23 09:51  neteler
+
+	* locale/po/grasswxpy_de.po: Helmut Kudrnovsky: cont'ed
+
+2011-01-23 02:56  ychemin
+
+	* imagery/i.latlong/main.c: fixed typowq
+
+2011-01-22 22:52  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: revert r45154
+
+2011-01-22 22:46  hellik
+
+	* gui/wxpython/gui_modules/goutput.py: typo
+
+2011-01-22 21:57  hellik
+
+	* visualization/nviz/scripts/panel_vol.tcl: misspelling
+
+2011-01-22 21:42  martinl
+
+	* gui/wxpython/gui_modules/vclean.py: attempt to fix #1264
+	  (merge r45147 from relbr64)
+
+2011-01-22 21:39  hellik
+
+	* translators.csv: amended
+
+2011-01-22 14:14  martinl
+
+	* grasslib.dox, lib/pngdriver, lib/pngdriver/Draw.c,
+	  lib/pngdriver/Makefile, lib/pngdriver/Point.c,
+	  lib/pngdriver/Polygon.c, lib/pngdriver/pngdriver.html,
+	  lib/pngdriver/pngdriverlib.dox: dox file added for png display
+	  driver
+
+2011-01-22 00:22  martinl
+
+	* lib/psdriver, lib/psdriver/Draw.c, lib/psdriver/psdriver.html,
+	  lib/psdriver/psdriverlib.dox: add dox file for psdriver, minor
+	  cosmetics in svn props
+
+2011-01-21 23:57  martinl
+
+	* lib/vector/Vlib/write.c: fix accidental commit (r45140)
+
+2011-01-21 23:53  martinl
+
+	* raster/r.proj/r.proj.html: r.proj: minor manual clean up
+
+2011-01-21 23:44  martinl
+
+	* grasslib.dox, gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/layertree.py, lib/psdriver/Makefile,
+	  lib/vector/Vlib/write.c, raster/r.proj/main.c: r.proj: add
+	  descriptions for method
+
+2011-01-21 23:28  martinl
+
+	* lib/gis/parser_standard_options.c, raster/r.proj/main.c: r.proj:
+	  use standard option
+
+2011-01-21 17:56  martinl
+
+	* man/build_html.py: happy new year
+
+2011-01-21 17:30  mmetz
+
+	* lib/raster/interp.c: update lanczos interpolation
+
+2011-01-21 17:04  martinl
+
+	* tools/mkhtml.py: happy new year
+
+2011-01-21 11:52  mmetz
+
+	* imagery/i.rectify/global.h, imagery/i.rectify/main.c: clean up
+	  leftover bits from interactive mode, again
+
+2011-01-21 11:46  mmetz
+
+	* imagery/i.rectify/main.c: clean up leftover bits from interactive
+	  mode
+
+2011-01-21 10:42  mmetz
+
+	* imagery/i.rectify/exec.c, imagery/i.rectify/global.h,
+	  imagery/i.rectify/main.c, imagery/i.rectify/report.c: clean up
+	  report, check input answers, manually check for overwrite
+
+2011-01-21 10:34  martinl
+
+	* lib/init/grass.py: fix typo in starting script (create new
+	  mapset)
+
+2011-01-21 09:39  martinl
+
+	* raster/r.proj/main.c: r.proj: print proj params only on verbose
+	  level
+
+2011-01-21 09:26  martinl
+
+	* raster/r.proj/main.c: attempt to fix #1262
+
+2011-01-20 22:41  martinl
+
+	* lib/init/grass.py, lib/init/license.txt: there is only wxpython
+	  gui, simplify starting script
+
+2011-01-20 22:30  martinl
+
+	* include/VERSION, lib/init/grass_intro.txt: happy new year +
+	  grass_intro updated
+
+2011-01-20 22:21  martinl
+
+	* lib/init/grass.py: check if gisrc is available when starting
+	  grass with `-text` switch
+
+2011-01-20 21:34  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/dialog: fix
+	  pre-defined value for widget gselect.Select
+
+2011-01-20 19:39  martinl
+
+	* doc/python/raster_example_ctypes.py,
+	  doc/python/vector_example_ctypes.py: update ctypes examples
+
+2011-01-20 19:30  mmetz
+
+	* imagery/i.rectify/readcell.c: Temporary file must be created in
+	  input location
+
+2011-01-20 19:24  mmetz
+
+	* lib/manage/option.c, lib/manage/read_list.c: bugfix
+
+2011-01-20 18:30  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: wxGUI Georectifier: add
+	  setting option for interpolation method
+
+2011-01-20 16:35  mmetz
+
+	* vector/v.external.out/main.c, vector/v.external/main.c,
+	  vector/v.in.dxf/global.h, vector/v.in.dxf/read_dxf.c,
+	  vector/v.in.ogr/main.c, vector/v.info/main.c,
+	  vector/v.lidar.correction/main.c,
+	  vector/v.lidar.edgedetection/main.c,
+	  vector/v.lidar.growing/main.c, vector/v.mapcalc/map.c,
+	  vector/v.out.ogr/main.c, vector/v.out.vtk/writeVTK.c,
+	  vector/v.outlier/main.c, vector/v.select/main.c,
+	  vector/v.surf.bspline/crosscorr.c, vector/v.surf.bspline/main.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user3.c,
+	  vector/v.what/main.c: update headers
+
+2011-01-20 16:20  mmetz
+
+	* lib/vector/vedit/break.c, lib/vector/vedit/cats.c,
+	  lib/vector/vedit/zbulk.c: update headers, revert r37860
+
+2011-01-20 16:17  mmetz
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/box.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/buffer.c, lib/vector/Vlib/buffer2.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/clean_nodes.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/constraint.c,
+	  lib/vector/Vlib/dangles.c, lib/vector/Vlib/dbcolumns.c,
+	  lib/vector/Vlib/dgraph.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/geos.c, lib/vector/Vlib/graph.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/hist.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/list.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/merge_lines.c,
+	  lib/vector/Vlib/net.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/overlap.c, lib/vector/Vlib/overlay.c,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c,
+	  lib/vector/Vlib/rewind_ogr.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/Vlib/snap.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_ogr.c: update
+	  headers, revert r37860
+
+2011-01-20 16:10  mmetz
+
+	* lib/vector/diglib/allocation.c, lib/vector/diglib/angle.c,
+	  lib/vector/diglib/box.c, lib/vector/diglib/cindex.c,
+	  lib/vector/diglib/cindex_rw.c, lib/vector/diglib/file.c,
+	  lib/vector/diglib/frmt.c, lib/vector/diglib/head.c,
+	  lib/vector/diglib/inside.c, lib/vector/diglib/list.c,
+	  lib/vector/diglib/plus.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_node.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/port_init.c, lib/vector/diglib/port_test.c,
+	  lib/vector/diglib/portable.c, lib/vector/diglib/prune.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c,
+	  lib/vector/diglib/struct_alloc.c, lib/vector/diglib/test.c,
+	  lib/vector/diglib/type.c, lib/vector/diglib/update.c: update
+	  headers, revert r37860
+
+2011-01-20 15:56  martinl
+
+	* vector/v.transform/main.c: v.transform: fix dim of output vector
+	  map, be more verbose
+
+2011-01-20 13:42  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI/render: comment-out
+	  problematic code (crashes wxGUI)
+
+2011-01-20 13:10  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: cosmetics in render
+	  module, track error and warnings
+
+2011-01-20 12:34  martinl
+
+	* display/d.vect/main.c: d.vect: extend warning message (topo not
+	  available)
+
+2011-01-20 12:20  martinl
+
+	* lib/manage/option.c: managelib: define guisections for option
+
+2011-01-20 12:10  martinl
+
+	* general/g.copy/main.c, general/g.findfile,
+	  general/g.findfile/Makefile, general/g.findfile/element.c,
+	  general/g.findfile/g.findfile.html,
+	  general/g.findfile/local_proto.h, general/g.findfile/main.c,
+	  general/g.list/main.c, general/g.mlist/main.c,
+	  general/g.mremove/check_reclass.c, general/g.mremove/main.c,
+	  general/g.remove/main.c, general/g.rename/main.c, grasslib.dox,
+	  include/gis.h, include/manage.h, lib/gis/Makefile,
+	  lib/gis/element_list, lib/gis/parser_standard_options.c,
+	  lib/manage, lib/manage/Makefile, lib/manage/README,
+	  lib/manage/add_elem.c, lib/manage/do_copy.c,
+	  lib/manage/do_list.c, lib/manage/do_remove.c,
+	  lib/manage/do_rename.c, lib/manage/element_list,
+	  lib/manage/empty.c, lib/manage/find.c, lib/manage/get_len.c,
+	  lib/manage/list.c, lib/manage/list.h,
+	  lib/manage/manage_local_proto.h, lib/manage/managelib.dox,
+	  lib/manage/option.c, lib/manage/read_list.c,
+	  lib/manage/show_elem.c, lib/manage/sighold.c: Update managelib +
+	  related modules
+
+2011-01-19 18:12  mmetz
+
+	* include/config.h.in: global LFS for wingrass
+
+2011-01-19 18:01  mmetz
+
+	* mswindows/osgeo4w/package.sh: osgeo4w minor cleanup
+
+2011-01-18 19:49  mmetz
+
+	* vector/v.surf.bspline/v.surf.bspline.html: update manual
+
+2011-01-18 14:03  aghisla
+
+	* imagery/i.atcorr/sensors_csv/rapideye.csv: Restored original
+	  zeroes and small responses, as the trimmed version crashes
+	  create_iwave.py. More experienced eyes are welcome.
+
+2011-01-18 12:32  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2011-01-18 10:30  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py: wxGUI Georectifier: fix
+	  Mac issues and zoom
+
+2011-01-17 19:02  martinl
+
+	* db/drivers/dbf/table.c, general/g.access/main.c,
+	  general/g.filename/main.c, general/g.findfile/main.c,
+	  general/g.mlist/main.c, general/g.mremove/check_reclass.c,
+	  general/g.mremove/main.c, general/g.proj/output.c,
+	  general/g.remove/main.c, general/g.setproj/main.c,
+	  imagery/i.find/main.c, imagery/i.ortho.photo/lib/ls_cameras.c,
+	  imagery/i.ortho.photo/lib/ls_elev.c, include/gisdefs.h,
+	  lib/g3d/filename.c, lib/g3d/g3dwindowio.c, lib/gis/file_name.c,
+	  lib/gis/find_file.c, lib/gis/get_ellipse.c,
+	  lib/gis/get_projinfo.c, lib/gis/list.c, lib/gis/make_loc.c,
+	  lib/gis/mapset_msc.c, lib/gis/myname.c, lib/gis/open.c,
+	  lib/gis/open_misc.c, lib/gis/remove.c, lib/gis/rename.c,
+	  lib/gis/tempfile.c, lib/init/clean_temp.c, lib/manage/do_copy.c,
+	  lib/manage/empty.c, lib/raster/close.c, lib/raster/gdal.c,
+	  lib/raster/open.c, lib/raster/reclass.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, raster/r.null/main.c,
+	  raster/r.support/main.c, vector/v.proj/main.c: G__find_name*
+	  renamed to G_find_file* (used outside of the library)
+
+2011-01-17 18:06  martinl
+
+	* general/g.findfile/g.findfile.html: clean up g.findfile manual
+	  page
+
+2011-01-17 17:42  martinl
+
+	* general/g.findfile/main.c: g.findfile should return unqualified
+	  name
+
+2011-01-17 16:24  martinl
+
+	* lib/gis/parser.c: parser: don't call G_usage() on error
+
+2011-01-17 14:00  mmetz
+
+	* lib/vector/Vlib/snap.c: use optionally file-based rtree for
+	  snapping
+
+2011-01-17 08:38  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: make source display
+	  current display
+
+2011-01-16 00:35  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI: redesign layer tree
+	  popup menu
+
+2011-01-16 00:01  martinl
+
+	* vector/v.info/v.info.html: typo
+
+2011-01-15 23:58  martinl
+
+	* lib/python/pythonlib.dox: update sample python script
+
+2011-01-15 23:55  martinl
+
+	* lib/gis/parser_standard_options.c, lib/python/pythonlib.dox,
+	  lib/python/vector.py, vector/v.info/local_proto.h,
+	  vector/v.info/main.c, vector/v.info/parse.c,
+	  vector/v.info/print.c, vector/v.info/v.info.html: v.info:
+	  -r/-m/-t -> shell param (basic,region,topo) + manual updated
+	  pythonlib updated
+	  gislib: cosmetics in standard options
+
+2011-01-15 01:39  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: fix import dxf
+
+2011-01-15 01:32  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: import dialog more
+	  flags
+
+2011-01-14 22:58  benducke
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/attrb.c,
+	  vector/v.out.ogr/local_proto.h, vector/v.out.ogr/main.c,
+	  vector/v.out.ogr/v.out.ogr.html: This commit contains some small
+	  bugfixes, code clean-ups, performance improvement, and a new
+	  feature for v.out.ogr.
+	  1. Fixed a but that would spawn ugly error messages in
+	  conjunction with the "-s" flag
+	  2. Reduced the SQL SELECT statements to just one instead of one
+	  per feature, increasing output speed by several magnitudes.
+	  3. Added a new "-z" flag, which provides a simple and robust
+	  means of producing 3D ESRI Shapefiles
+	  --> Please test intensively!
+
+2011-01-14 22:11  martinl
+
+	* db/db.columns/db.columns.html, db/db.columns/main.c,
+	  db/db.connect/db.connect.html, db/db.connect/main.c,
+	  db/db.copy/db.copy.html, db/db.copy/main.c,
+	  db/db.createdb/db.createdb.html, db/db.createdb/main.c,
+	  db/db.databases/db.databases.html, db/db.databases/main.c,
+	  db/db.describe/db.describe.html, db/db.describe/local_proto.h,
+	  db/db.describe/main.c, db/db.describe/printtab.c,
+	  db/db.drivers/db.drivers.html, db/db.drivers/main.c,
+	  db/db.dropdb/db.dropdb.html, db/db.dropdb/main.c,
+	  db/db.droptable/db.droptable.html, db/db.droptable/main.c,
+	  db/db.execute/db.execute.html, db/db.execute/main.c,
+	  db/db.select/db.select.html, db/db.select/local_proto.h,
+	  db/db.select/main.c, db/db.select/printtab.c,
+	  db/db.tables/db.tables.html, db/db.tables/main.c,
+	  doc/python/m.distance.py, general/g.copy/g.copy.html,
+	  general/g.copy/main.c, general/g.list/g.list.html,
+	  general/g.remove/g.remove.html, general/g.remove/main.c,
+	  general/g.rename/g.rename.html, general/g.rename/main.c,
+	  gui/icons/grass.ico, gui/icons/grass/AUTHORS,
+	  gui/icons/grass/README, gui/icons/grass/channel-blue.gif,
+	  gui/icons/grass/channel-green.gif,
+	  gui/icons/grass/channel-his.gif, gui/icons/grass/channel-hue.gif,
+	  gui/icons/grass/channel-intensity.gif,
+	  gui/icons/grass/channel-red.gif, gui/icons/grass/channel-rgb.gif,
+	  gui/icons/grass/channel-saturation.gif,
+	  gui/icons/grass/db-columns.gif, gui/icons/grass/db-values.gif,
+	  gui/icons/grass/drawmode-explore.gif,
+	  gui/icons/grass/drawmode-strict.gif,
+	  gui/icons/grass/edit-color.gif, gui/icons/grass/edit-copy.gif,
+	  gui/icons/grass/edit-cut.gif,
+	  gui/icons/grass/element-3d.view.gif,
+	  gui/icons/grass/element-cell.gif,
+	  gui/icons/grass/element-grid3.gif,
+	  gui/icons/grass/element-group.gif,
+	  gui/icons/grass/element-icons.gif,
+	  gui/icons/grass/element-labels.gif,
+	  gui/icons/grass/element-vector.gif,
+	  gui/icons/grass/element-windows.gif,
+	  gui/icons/grass/file-new.gif, gui/icons/grass/file-open.gif,
+	  gui/icons/grass/file-print.gif, gui/icons/grass/file-save.gif,
+	  gui/icons/grass/gui-cmd.gif, gui/icons/grass/gui-display.gif,
+	  gui/icons/grass/gui-erase.gif, gui/icons/grass/gui-exit.gif,
+	  gui/icons/grass/gui-ff.gif, gui/icons/grass/gui-filesave.gif,
+	  gui/icons/grass/gui-font.gif, gui/icons/grass/gui-gcperase.gif,
+	  gui/icons/grass/gui-gcpset.gif, gui/icons/grass/gui-georect.gif,
+	  gui/icons/grass/gui-group.gif, gui/icons/grass/gui-help.gif,
+	  gui/icons/grass/gui-layeroptions.gif,
+	  gui/icons/grass/gui-loop.gif, gui/icons/grass/gui-maplabels.gif,
+	  gui/icons/grass/gui-maptext.gif, gui/icons/grass/gui-mapzoom.gif,
+	  gui/icons/grass/gui-measure.gif, gui/icons/grass/gui-mouse.gif,
+	  gui/icons/grass/gui-overlay.gif, gui/icons/grass/gui-pan.gif,
+	  gui/icons/grass/gui-play.gif, gui/icons/grass/gui-pointer.gif,
+	  gui/icons/grass/gui-profile.gif,
+	  gui/icons/grass/gui-profiledefine.gif,
+	  gui/icons/grass/gui-profiledraw.gif,
+	  gui/icons/grass/gui-profileopt.gif,
+	  gui/icons/grass/gui-query.gif, gui/icons/grass/gui-rabbit.gif,
+	  gui/icons/grass/gui-rastanalyze.gif,
+	  gui/icons/grass/gui-rastarrowsdir.gif,
+	  gui/icons/grass/gui-rastarrowsint.gif,
+	  gui/icons/grass/gui-redraw.gif, gui/icons/grass/gui-rewind.gif,
+	  gui/icons/grass/gui-rms.gif, gui/icons/grass/gui-rplay.gif,
+	  gui/icons/grass/gui-rv.info.gif, gui/icons/grass/gui-snail.gif,
+	  gui/icons/grass/gui-startmon.gif, gui/icons/grass/gui-stepb.gif,
+	  gui/icons/grass/gui-stepf.gif, gui/icons/grass/gui-stop.gif,
+	  gui/icons/grass/gui-swing.gif, gui/icons/grass/gui-zoom_back.gif,
+	  gui/icons/grass/gui-zoom_current.gif,
+	  gui/icons/grass/gui-zoom_default.gif,
+	  gui/icons/grass/gui-zoom_in.gif,
+	  gui/icons/grass/gui-zoom_map.gif,
+	  gui/icons/grass/gui-zoom_out.gif,
+	  gui/icons/grass/gui-zoom_region.gif,
+	  gui/icons/grass/module-d.barscale.gif,
+	  gui/icons/grass/module-d.chart.gif,
+	  gui/icons/grass/module-d.frame.gif,
+	  gui/icons/grass/module-d.geodesic.gif,
+	  gui/icons/grass/module-d.gif, gui/icons/grass/module-d.graph.gif,
+	  gui/icons/grass/module-d.grid.gif,
+	  gui/icons/grass/module-d.histogram.gif,
+	  gui/icons/grass/module-d.labels.gif,
+	  gui/icons/grass/module-d.legend.gif,
+	  gui/icons/grass/module-d.nviz.gif,
+	  gui/icons/grass/module-d.rast.arrow.gif,
+	  gui/icons/grass/module-d.rast.num.gif,
+	  gui/icons/grass/module-d.rgb.gif,
+	  gui/icons/grass/module-d.rhumbline.gif,
+	  gui/icons/grass/module-d.shadedmap.gif,
+	  gui/icons/grass/module-d.text.gif,
+	  gui/icons/grass/module-d.thematic.gif,
+	  gui/icons/grass/module-d.vect.chart.gif,
+	  gui/icons/grass/module-d.vect.thematic.gif,
+	  gui/icons/grass/module-db.gif, gui/icons/grass/module-g.gif,
+	  gui/icons/grass/module-nviz.gif, gui/icons/grass/module-r.gif,
+	  gui/icons/grass/module-r3.gif,
+	  gui/icons/grass/module-v.digit.gif, gui/icons/grass/module-v.gif,
+	  gui/icons/grass/module-xganim.gif,
+	  gui/icons/grass/status-error.gif,
+	  gui/icons/grass/status-failure.gif,
+	  gui/icons/grass/status-gism.gif,
+	  gui/icons/grass/status-message.gif,
+	  gui/icons/grass/status-out.gif,
+	  gui/icons/grass/status-running.gif,
+	  gui/icons/grass/status-success.gif,
+	  gui/icons/grass/status-warning.gif,
+	  gui/icons/grass/vdigit/add.vertex.gif,
+	  gui/icons/grass/vdigit/box.xbm,
+	  gui/icons/grass/vdigit/copy.cats.gif,
+	  gui/icons/grass/vdigit/cross.xbm,
+	  gui/icons/grass/vdigit/cross45.xbm,
+	  gui/icons/grass/vdigit/delete.line.gif,
+	  gui/icons/grass/vdigit/display.attributes.gif,
+	  gui/icons/grass/vdigit/display.cats.gif,
+	  gui/icons/grass/vdigit/edit.line.gif,
+	  gui/icons/grass/vdigit/exit.gif,
+	  gui/icons/grass/vdigit/move.line.gif,
+	  gui/icons/grass/vdigit/move.vertex.gif,
+	  gui/icons/grass/vdigit/new.boundary.gif,
+	  gui/icons/grass/vdigit/new.centroid.gif,
+	  gui/icons/grass/vdigit/new.line.gif,
+	  gui/icons/grass/vdigit/new.point.gif,
+	  gui/icons/grass/vdigit/redraw.gif,
+	  gui/icons/grass/vdigit/rm.vertex.gif,
+	  gui/icons/grass/vdigit/settings.gif,
+	  gui/icons/grass/vdigit/split.line.gif,
+	  gui/icons/grass/vdigit/stop.gif,
+	  gui/icons/grass/vdigit/zoom.default.gif,
+	  gui/icons/grass/vdigit/zoom.out.centre.gif,
+	  gui/icons/grass/vdigit/zoom.pan.gif,
+	  gui/icons/grass/vdigit/zoom.region.gif,
+	  gui/icons/grass/vdigit/zoom.window.gif,
+	  gui/icons/grass2/LICENSE.TXT, gui/icons/grass_dialog.ico,
+	  gui/icons/grass_error.ico, gui/icons/grass_map.ico,
+	  gui/icons/grass_nviz.ico, gui/icons/grass_sql.ico,
+	  gui/wxpython/support/update_menudata.py,
+	  imagery/i.albedo/i.albedo.html, imagery/i.modis.qc,
+	  imagery/i.modis.qc/i.modis.qc.html, imagery/i.smap/alpha_max.c,
+	  imagery/i.smap/bouman.h, imagery/i.smap/closefiles.c,
+	  imagery/i.smap/decimate.c, imagery/i.smap/history.c,
+	  imagery/i.smap/i.smap.html, imagery/i.smap/interp.c,
+	  imagery/i.smap/invert.c, imagery/i.smap/labels.c,
+	  imagery/i.smap/local_proto.h, imagery/i.smap/main.c,
+	  imagery/i.smap/model.c, imagery/i.smap/multialloc.c,
+	  imagery/i.smap/opencell.c, imagery/i.smap/openfiles.c,
+	  imagery/i.smap/parse.c, imagery/i.smap/read_block.c,
+	  imagery/i.smap/read_sig.c, imagery/i.smap/reg_util.c,
+	  imagery/i.smap/region.h, imagery/i.smap/segment.c,
+	  imagery/i.smap/solve.c, imagery/i.smap/write_img.c,
+	  include/fontcap.h, lib/manage/Makefile, lib/manage/README,
+	  lib/manage/add_elem.c, lib/manage/do_copy.c,
+	  lib/manage/do_list.c, lib/manage/do_remove.c,
+	  lib/manage/do_rename.c, lib/manage/empty.c, lib/manage/find.c,
+	  lib/manage/get_len.c, lib/manage/list.h, lib/manage/read_list.c,
+	  lib/manage/show_elem.c, lib/manage/sighold.c,
+	  lib/vector/Vlib/dgraph.c, lib/vector/Vlib/dgraph.h,
+	  lib/vector/Vlib/e_intersect.c, lib/vector/Vlib/e_intersect.h,
+	  raster/r.buffer/r.buffer2.html, raster/r.spread/Makefile,
+	  raster/r.spread/cell_ptrHa.h, raster/r.spread/cmd_line.h,
+	  raster/r.spread/collect_ori.c, raster/r.spread/costHa.h,
+	  raster/r.spread/deleteHa.c, raster/r.spread/display.c,
+	  raster/r.spread/fixHa.c, raster/r.spread/get_minHa.c,
+	  raster/r.spread/insert2Ha.c, raster/r.spread/insertHa.c,
+	  raster/r.spread/local_proto.h, raster/r.spread/main.c,
+	  raster/r.spread/pick_dist.c, raster/r.spread/pick_ignite.c,
+	  raster/r.spread/r.spread.html, raster/r.spread/ram2out.c,
+	  raster/r.spread/replaceHa.c, raster/r.spread/select_linksB.c,
+	  raster/r.spread/spot.c, raster/r.spread/spread.c,
+	  raster/r.spreadpath/Makefile, raster/r.spreadpath/drawline.c,
+	  raster/r.spreadpath/insert.c, raster/r.spreadpath/local_proto.h,
+	  raster/r.spreadpath/main.c, raster/r.spreadpath/path_finder.c,
+	  raster/r.spreadpath/point.h,
+	  raster/r.spreadpath/r.spreadpath.html,
+	  raster/r.spreadpath/stash.h, raster/r.sun,
+	  raster3d/r3.info/r3.info.html, raster3d/r3.info/r3.info.main.c,
+	  raster3d/r3.timestamp/r3.timestamp.html,
+	  raster3d/r3.timestamp/r3.timestamp.main.c,
+	  scripts/v.db.dropcolumn,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.html,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.renamecolumn,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.html,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  vector/v.buffer/v.buffer.html, vector/v.delaunay/v.delaunay.html,
+	  vector/v.to.3d/v.to.3d.html, vector/v.voronoi/main.c:
+	  svn:mergeinfo deleted
+
+2011-01-14 22:06  martinl
+
+	* mswindows/osgeo4w/package.sh: package.sh updated
+
+2011-01-14 20:41  martinl
+
+	* gui/wxpython/gui_modules/layertree.py, gui/wxpython/wxgui.py:
+	  wxGUI: layer tree popup menu - export data
+
+2011-01-14 20:02  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: check if vector
+	  exists
+
+2011-01-14 01:34  ychemin
+
+	* imagery/i.latlong/main.c: Fixed bug when already lat/long input
+	  map
+
+2011-01-14 00:19  martinl
+
+	* mswindows/GRASS-Installer.nsi: cosmetics in windows installer
+
+2011-01-13 20:29  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix launching OnImport*
+
+2011-01-13 19:57  martinl
+
+	* mswindows/osgeo4w/package.sh: package.sh: export pythonpath
+
+2011-01-13 15:30  martinl
+
+	* gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html, gui/wxpython/docs/wxGUI.html:
+	  fix man compilation error
+
+2011-01-13 08:46  neteler
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html: html fix
+
+2011-01-13 08:41  neteler
+
+	* raster/r.li/r.li.simpson/rliSimpson_formula.png: formula
+	  correction
+
+2011-01-13 08:34  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Robert
+	  Nuske: cont'ed
+
+2011-01-12 23:04  ychemin
+
+	* imagery/i.aster.toar/main.c, imagery/i.biomass/main.c,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.eb.soilheatflux/main.c, imagery/i.sunhours/main.c: more
+	  explicit parameter names
+
+2011-01-12 22:49  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/i.eb.netrad/main.c,
+	  imagery/i.evapo.mh/main.c, imagery/i.evapo.pm/main.c,
+	  imagery/i.evapo.pt/main.c: more explicit parameter names
+
+2011-01-12 16:25  martinl
+
+	* imagery/i.eb.netrad, imagery/i.evapo.mh, imagery/i.evapo.pm,
+	  imagery/i.evapo.pt: fix svn props (i.evapo)
+
+2011-01-12 16:23  martinl
+
+	* imagery/Makefile: fix typo
+
+2011-01-12 16:18  martinl
+
+	* imagery/i.evapo.time/Makefile,
+	  imagery/i.evapo.time/i.evapo.time.html,
+	  imagery/i.evapo.time/i.evapo.time_integration.html,
+	  imagery/i.evapo.time/main.c: i.evapo.time_integration renamed to
+	  i.evapo.time
+
+2011-01-12 16:16  martinl
+
+	* imagery/i.evapo.mh/Makefile, imagery/i.evapo.mh/i.evapo.MH.html,
+	  imagery/i.evapo.mh/i.evapo.mh.html, imagery/i.evapo.mh/main.c:
+	  i.evapo.mh (renamed from i.evapo.MH) & clean up
+
+2011-01-12 16:09  martinl
+
+	* imagery/i.evapo.pm/Makefile, imagery/i.evapo.pm/i.evapo.PM.html,
+	  imagery/i.evapo.pm/i.evapo.pm.html, imagery/i.evapo.pm/main.c:
+	  i.evapo.pm (renamed from i.evapo.PM) & clean up
+
+2011-01-12 16:00  martinl
+
+	* imagery/i.evapo.pt/main.c: cosmetics in caps
+
+2011-01-12 15:59  martinl
+
+	* imagery/i.evapo.pt/Makefile, imagery/i.evapo.pt/i.evapo.PT.html,
+	  imagery/i.evapo.pt/i.evapo.pt.html, imagery/i.evapo.pt/main.c:
+	  i.evapo.pt: renamed from i.evapo.PT & clean up
+
+2011-01-12 15:53  martinl
+
+	* imagery/Makefile: fix Makefile (r44987)
+
+2011-01-12 15:52  martinl
+
+	* imagery/i.evapo.MH, imagery/i.evapo.PM, imagery/i.evapo.PT,
+	  imagery/i.evapo.mh, imagery/i.evapo.pm, imagery/i.evapo.pt,
+	  imagery/i.evapo.time, imagery/i.evapo.time_integration: don't use
+	  caps in module names (dirs)
+
+2011-01-12 12:42  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/icons/grass_icons.py: wxGUI/vdigit: cosmetics
+
+2011-01-12 12:24  martinl
+
+	* gui/icons/grass2/boundary-create.png,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI/vdigit: digitize new area
+
+2011-01-12 05:28  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/Makefile,
+	  imagery/i.evapo.MH, imagery/i.evapo.MH/Makefile,
+	  imagery/i.evapo.MH/description.html,
+	  imagery/i.evapo.MH/i.evapo.MH.html, imagery/i.evapo.MH/main.c,
+	  imagery/i.evapo.MH/mh_eto.c, imagery/i.evapo.MH/mh_original.c,
+	  imagery/i.evapo.MH/mh_samani.c: Added i.evapo.MH with updated
+	  imagery/Makefile and menu item
+
+2011-01-12 04:35  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/Makefile,
+	  imagery/i.evapo.PT, imagery/i.evapo.PT/description.html,
+	  imagery/i.evapo.PT/i.evapo.PT.html, imagery/i.evapo.PT/main.c,
+	  imagery/i.evapo.PT/pt_daily_et.c, imagery/i.evapo.PT/pt_delta.c,
+	  imagery/i.evapo.PT/pt_ghamma.c: Added i.evapo.PT with
+	  imagery/Makefile modif and GUI menu item
+
+2011-01-12 04:14  ychemin
+
+	* imagery/i.eb.evapfr/main.c: bug fixing segfault if no
+	  soilmoisture flag
+
+2011-01-12 03:20  ychemin
+
+	* imagery/i.evapo.PM/Makefile: Fixed empty Makefile
+
+2011-01-12 03:03  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/Makefile: Added imagery
+	  Makefile and GUI menu item
+
+2011-01-12 02:55  ychemin
+
+	* imagery/i.evapo.PM, imagery/i.evapo.PM/Makefile,
+	  imagery/i.evapo.PM/description.html,
+	  imagery/i.evapo.PM/functions.c,
+	  imagery/i.evapo.PM/i.evapo.PM.html,
+	  imagery/i.evapo.PM/local_proto.h, imagery/i.evapo.PM/main.c:
+	  Added i.evapo.PM
+
+2011-01-12 00:48  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/Makefile: Added
+	  i.eb.netrad to imagery/Makefile and GUI xml menu list
+
+2011-01-12 00:45  ychemin
+
+	* imagery/i.eb.netrad/Makefile,
+	  imagery/i.eb.netrad/description.html,
+	  imagery/i.eb.netrad/i.eb.netrad.html, imagery/i.eb.netrad/main.c,
+	  imagery/i.eb.netrad/r_net.c: Ported i.eb.netrad to grass 7
+
+2011-01-12 00:42  ychemin
+
+	* imagery/i.eb.netrad: Added i.eb.netrad
+
+2011-01-11 18:37  mmetz
+
+	* vector/v.clean/main.c: print warning only when appropriate
+
+2011-01-11 18:35  mmetz
+
+	* scripts/v.db.univar/v.db.univar.py: fix for special cases
+
+2011-01-11 18:34  mmetz
+
+	* raster/r.kappa/prt_mat.c, raster/r.kappa/stats.c: rows and cols
+	  for stats were swapped
+
+2011-01-11 18:31  mmetz
+
+	* lib/cairodriver/Draw_bitmap.c: fix for cairo 1.10
+
+2011-01-11 18:30  mmetz
+
+	* lib/btree2/rbtree.c: reset pointers
+
+2011-01-11 18:27  mmetz
+
+	* gui/wxpython/docs/wxGUI.GCP_Manager.html: fix tag
+
+2011-01-11 18:13  mmetz
+
+	* lib/vector/Vlib/poly.c: fix for Vect__divide_and_conquer()
+
+2011-01-11 18:12  mmetz
+
+	* lib/vector/Vlib/bridges.c: optimize remove_bridges()
+
+2011-01-11 18:11  mmetz
+
+	* lib/vector/Vlib/snap.c: optimize Vect_snap_lines()
+
+2011-01-11 18:09  mmetz
+
+	* lib/vector/Vlib/find.c: optimize Vect_find_area()
+
+2011-01-11 18:01  mmetz
+
+	* lib/vector/diglib/poly.c: fix typo
+
+2011-01-11 18:00  mmetz
+
+	* lib/vector/diglib/list.c: cosmetics
+
+2011-01-11 18:00  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: new fns to dump sidx from file to
+	  file
+
+2011-01-11 17:58  mmetz
+
+	* lib/vector/rtree/rect.c: cosmetics for t->ndims < NUMDIMS
+
+2011-01-11 12:47  martinl
+
+	* imagery/i.rectify/i.rectify.html, vector/v.edit/v.edit.html:
+	  docs: update broken links
+
+2011-01-11 12:29  martinl
+
+	* gui/wxpython/docs/Makefile,
+	  gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizer.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI_layer_manager.jpg,
+	  gui/wxpython/docs/wxGUI_map_display.jpg,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI: update wxGUI docs
+
+2011-01-11 08:52  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: track error when
+	  searching for maps
+
+2011-01-11 08:44  martinl
+
+	* gui/icons/grass2/edit.png, gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/wxpythonlib.dox: wxGUI: layer toolbar: add icon for
+	  editing vector maps
+	  vector digitizer pythonization in progress
+
+2011-01-10 20:30  neteler
+
+	* grasslib.dox: happy new year
+
+2011-01-10 19:06  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit pythonization
+	  in progress
+
+2011-01-10 15:51  aghisla
+
+	* imagery/i.atcorr/sensors_csv,
+	  imagery/i.atcorr/sensors_csv/AVNIR.csv,
+	  imagery/i.atcorr/sensors_csv/PRISM-B.csv,
+	  imagery/i.atcorr/sensors_csv/PRISM-F.csv,
+	  imagery/i.atcorr/sensors_csv/PRISM-N.csv,
+	  imagery/i.atcorr/sensors_csv/ikonos.csv,
+	  imagery/i.atcorr/sensors_csv/rapideye.csv,
+	  imagery/i.atcorr/sensors_csv/spot5.2,
+	  imagery/i.atcorr/sensors_csv/spot5.3,
+	  imagery/i.atcorr/sensors_csv/spot5.4,
+	  imagery/i.atcorr/sensors_csv/spot5.5: Added sensors' raw CSV
+	  data.
+
+2011-01-10 14:14  aghisla
+
+	* imagery/i.atcorr/Iwave.cpp: Recalculated IKONOS filters according
+	  to corrected create_iwave.py function, present revision.
+
+2011-01-10 13:53  aghisla
+
+	* imagery/i.atcorr/Iwave.cpp: Recalculated AVNIR filters according
+	  to corrected create_iwave.py function, present revision.
+
+2011-01-10 13:35  martinl
+
+	* vector/v.transform/main.c: v.transform flag 's' renamed to 'w'
+	  (name collision in GRASS6)
+
+2011-01-10 13:20  martinl
+
+	* vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/trans_digit.c: v.transform: flag to swap
+	  coordinates x,y
+
+2011-01-10 10:33  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2011-01-09 20:27  neteler
+
+	* locale/po/grasswxpy_zh.po: Shulin Yang: cont'ed
+
+2011-01-09 14:54  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py: wxGUI/vdigit pythonization:
+	  zbulk & feat conversion implemeneted
+
+2011-01-09 14:35  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit
+	  pythonization: merge/snap/query/split/connect implemented
+
+2011-01-09 12:14  martinl
+
+	* gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py, lib/vector/vedit/render.c:
+	  wxGUI/vdigit pythonization: dir enabled & flip lines
+
+2011-01-09 02:49  martinl
+
+	* lib/vector/vedit/break.c, lib/vector/vedit/cats.c,
+	  lib/vector/vedit/chtype.c, lib/vector/vedit/copy.c,
+	  lib/vector/vedit/delete.c, lib/vector/vedit/distance.c,
+	  lib/vector/vedit/flip.c, lib/vector/vedit/merge.c,
+	  lib/vector/vedit/move.c, lib/vector/vedit/render.c,
+	  lib/vector/vedit/select.c, lib/vector/vedit/snap.c,
+	  lib/vector/vedit/veditlib.dox, lib/vector/vedit/vertex.c,
+	  lib/vector/vedit/zbulk.c: veditlib: doxygen clean up
+
+2011-01-08 23:35  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit: redirect
+	  messages to Layer Manager log area
+
+2011-01-08 22:09  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit
+	  pythonization: fix when topology missing, move vertex fixed
+
+2011-01-08 17:51  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py, lib/vector/vedit/render.c:
+	  wxGUI/vdigit pythonization: add/remove vertex, display category
+	  works
+
+2011-01-08 09:44  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: Helmut Kudrnovsky: cont'ed
+
+2011-01-07 18:01  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py, include/vedit.h,
+	  lib/vector/vedit/render.c: wxGUI/vdigit pythonized: delete
+	  feature works
+
+2011-01-06 18:15  mmetz
+
+	* vector/v.generalize/displacement.c, vector/v.generalize/main.c,
+	  vector/v.generalize/misc.c, vector/v.generalize/misc.h,
+	  vector/v.generalize/network.c, vector/v.generalize/operators.h,
+	  vector/v.generalize/v.generalize.html: do not delete areas, do
+	  not mix up area attributes
+
+2011-01-06 10:17  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI: check only if
+	  raster/vector exists
+
+2011-01-05 23:10  ychemin
+
+	* gui/wxpython/xml/menudata.xml: updated Imagery menu
+
+2011-01-05 23:10  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py: wxGUI/vdigit pythonized:
+	  add new feature works
+
+2011-01-05 23:08  martinl
+
+	* gui/wxpython/README: wxGUI readme updated (debugging)
+
+2011-01-05 22:33  ychemin
+
+	* imagery/i.modis.qc/mcd43B2a.c, imagery/i.modis.qc/mcd43B2b.c,
+	  imagery/i.modis.qc/mcd43B2c.c, imagery/i.modis.qc/mcd43B2qa.c:
+	  added missing mcd43B2 functions
+
+2011-01-05 15:44  martinl
+
+	* imagery/i.aster.toar/main.c: i.aster.toar: don't translate
+	  keys/params
+
+2011-01-05 04:05  ychemin
+
+	* imagery/i.modis.qc/i.modis.qc.html: fixed layout
+
+2011-01-05 03:58  ychemin
+
+	* imagery/i.modis.qc/i.modis.qc.html, imagery/i.modis.qc/main.c:
+	  Added support for MCD43B2
+
+2011-01-05 00:27  ychemin
+
+	* gui/wxpython/xml/menudata.xml: modified Satellite images
+	  processing menus
+
+2011-01-04 22:11  martinl
+
+	* gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py, lib/init/variables.html:
+	  wxGUI: GRASS_WX_DEBUG -> WX_DEBUG (g.gisenv)
+
+2011-01-04 20:38  martinl
+
+	* general/g.gisenv/g.gisenv.html, general/g.gisenv/main.c:
+	  g.gisenv: clean up manual page + more gui sections
+
+2011-01-04 20:06  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/io.c: R*Tree: three buffered nodes per level
+
+2011-01-04 13:45  mmetz
+
+	* raster/r.thin/io.c, raster/r.thin/thin_lines.c: use NULL instead
+	  of zero, zero is a valid number
+
+2011-01-04 10:21  mmetz
+
+	* include/vect/dig_structs.h: update Plus_head
+
+2011-01-04 10:17  mmetz
+
+	* lib/vector/Vlib/open.c: fix debug level
+
+2011-01-04 10:16  mmetz
+
+	* lib/init/variables.html: add documentation for new env var
+
+2011-01-04 10:11  mmetz
+
+	* lib/vector/Vlib/break_polygons.c: add file-based version of
+	  Vect_break_polygons()
+
+2011-01-04 10:10  mmetz
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/intersect.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/select.c: Vlib: new spatial index
+
+2011-01-04 10:09  mmetz
+
+	* lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c: new
+	  spatial index
+
+2011-01-04 10:08  mmetz
+
+	* lib/vector/rtree/card.h, lib/vector/rtree/indexf.c,
+	  lib/vector/rtree/io.c: clean up comments
+
+2011-01-04 10:01  mmetz
+
+	* lib/vector/rtree/card.c, lib/vector/rtree/card.h,
+	  lib/vector/rtree/gammavol.c, lib/vector/rtree/index.c,
+	  lib/vector/rtree/index.h, lib/vector/rtree/indexf.c,
+	  lib/vector/rtree/indexm.c, lib/vector/rtree/io.c,
+	  lib/vector/rtree/node.c, lib/vector/rtree/rect.c,
+	  lib/vector/rtree/rtree.h, lib/vector/rtree/split.c,
+	  lib/vector/rtree/split.h: optionally file-based spatial index
+
+2011-01-04 09:59  mmetz
+
+	* lib/vector/diglib/plus_area.c: small optimization
+
+2011-01-04 03:57  ychemin
+
+	* imagery/i.modis.qc/main.c: Look and feel changes
+
+2011-01-04 03:29  ychemin
+
+	* imagery/i.modis.qc/i.modis.qc.html, imagery/i.modis.qc/main.c,
+	  imagery/i.modis.qc/mod13A2a.c, imagery/i.modis.qc/mod13A2b.c,
+	  imagery/i.modis.qc/mod13A2c.c, imagery/i.modis.qc/mod13A2d.c,
+	  imagery/i.modis.qc/mod13A2e.c, imagery/i.modis.qc/mod13A2f.c,
+	  imagery/i.modis.qc/mod13A2g.c, imagery/i.modis.qc/mod13A2h.c,
+	  imagery/i.modis.qc/mod13A2i.c: Added support to MOD13A2 VI
+	  Quality
+
+2011-01-03 23:58  neteler
+
+	* Makefile: added missing csv files (ticket #1207)
+
+2011-01-03 15:33  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_th.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: msgs updated from template files
+
+2011-01-03 14:35  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: cosmetic in r44830 (close
+	  checkbox)
+
+2011-01-03 14:28  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: generate 'close'
+	  checkbox only for commands which have some output
+
+2011-01-03 14:19  neteler
+
+	* vector/v.to.db/v.to.db.html: typo
+
+2011-01-03 13:54  neteler
+
+	* raster/r.colors/r.colors.html: put back lost standard color names
+
+2011-01-03 00:56  kyngchaos
+
+	* lib/vector/Vlib/Makefile: spatial ref feature needs PROJ_INC (via
+	  gprojects.h)
+
+2011-01-01 19:41  martinl
+
+	* lib/vector/vedit/render.c: vedit: define structs in render.c as
+	  static
+
+2011-01-01 19:26  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxvdigit.py,
+	  gui/wxpython/gui_modules/wxvdriver.py, gui/wxpython/vdigit,
+	  include/vedit.h, lib/vector/vedit/chtype.c,
+	  lib/vector/vedit/distance.c, lib/vector/vedit/render.c,
+	  lib/vector/vedit/select.c: wxGUI/vdigit: converted to python &
+	  veditlib updated - Vedit_render_map()
+	  very initial version - displays features to PseudoDC
+	  todo1: complete conversion (full functionality)
+	  todo2: improve bulk data processing (replacing PseudoDC)
+
+2010-12-31 13:44  neteler
+
+	* configure, configure.in: added $DLLIB for sqlite
+
+2010-12-30 21:13  martinl
+
+	* doc/python/vector_example_ctypes.py: vector ctypes sample script
+	  working now
+
+2010-12-30 20:38  martinl
+
+	* doc/python/vector_example_ctypes.py: initial clean of ctypes
+	  vector example
+
+2010-12-30 18:54  martinl
+
+	* gui/wxpython/gui_modules/dbm_base.py, lib/python/vector.py:
+	  pythonlib: follow param naming convention
+
+2010-12-30 18:11  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: cosmetics - coding
+	  style
+
+2010-12-30 16:52  martinl
+
+	* lib/vector/Vlib/header.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_ogr.c, raster/r.external/main.c,
+	  vector/v.external/list.c, vector/v.external/local_proto.h,
+	  vector/v.external/main.c: vlib: initial suppor for 3D vector data
+	  linked via OGR
+
+2010-12-30 13:00  martinl
+
+	* raster/r.external/main.c: r.external: cosmetics in messages
+
+2010-12-30 12:09  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: track
+	  suppress_required flags
+
+2010-12-30 12:03  martinl
+
+	* vector/v.external.out/args.c: v.external.out: do not define
+	  default format
+
+2010-12-30 11:46  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: ignore
+	  warning when parsing command
+	  (merge r44801 from trunk)
+
+2010-12-30 11:36  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: load/save settings for
+	  GdalSelect
+	  menuitem 'link external formats' added to the menu
+
+2010-12-30 09:56  ychemin
+
+	* imagery/i.eb.h_SEBAL01/main.c: bug fixing: was segfault on empty
+	  wet/dry pixels coordinates in -a mode
+
+2010-12-29 23:31  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: cosmetics in r/v.external
+	  title
+
+2010-12-29 23:23  martinl
+
+	* gui/icons/grass2/layer-import.png: add missing icon
+
+2010-12-29 23:22  martinl
+
+	* gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py, gui/wxpython/wxgui.py: wxGUI:
+	  add import/link raster/vector data to the main toolbar
+
+2010-12-29 21:30  martinl
+
+	* gui/icons/grass2/layer-more.png,
+	  gui/wxpython/icons/grass2_icons.py: wxGUI/grass2 icon set:
+	  `layer-more` added
+
+2010-12-29 21:15  martinl
+
+	* gui/icons/grass2/layer-raster-more.png,
+	  gui/icons/grass2/layer-vector-more.png,
+	  gui/icons/grass2/move.png, gui/icons/grass2/zoom-extent.png,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: grass2 icon set:
+	  layer-{raster|vector}-more.png icons added
+
+2010-12-29 20:52  martinl
+
+	* lib/python/vector.py: pythonlib: vector_what() check for unicode
+	  type
+	  (merge r44782 from relbr64)
+
+2010-12-29 20:16  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: define first parameter for
+	  grassTask
+
+2010-12-29 19:58  martinl
+
+	* general/g.parser/main.c: copyright cosmetics - fix r44776
+
+2010-12-29 19:53  martinl
+
+	* general/g.parser/main.c: g.parser: fix typo (suppress_required)
+
+2010-12-29 19:52  martinl
+
+	* scripts/g.manual/g.manual.py: g.manual: -i -> suppress required
+	  don't check xdg-open
+	  various clean up
+
+2010-12-29 18:28  martinl
+
+	* gui/wxpython/gui_modules/dbm_base.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py: wxGUI: use
+	  grass.vector_what()
+
+2010-12-29 18:07  martinl
+
+	* lib/python/vector.py: pythonlib: vector_what() implemented
+
+2010-12-29 16:35  martinl
+
+	* vector/v.what/what.c: v.what: cosmetics in output (empty lines)
+
+2010-12-29 14:53  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: switch page only for
+	  non-editable query mode
+
+2010-12-29 14:47  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: fix editable mode for
+	  interactive query
+
+2010-12-29 14:39  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI/mapdisp: coding style
+	  clean up
+
+2010-12-29 13:40  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/loc_wizard:
+	  location title limitation (#965)
+	  some clean up
+
+2010-12-28 22:36  martinl
+
+	* imagery/i.aster.toar: fix svn prop
+
+2010-12-28 22:20  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: cosmetics in coding
+	  style
+
+2010-12-28 22:05  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: popup-menu clean up
+
+2010-12-26 18:59  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: add
+	  MapLayer.GetElement()
+
+2010-12-26 18:50  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI/GSelect: filtering
+	  items in progress, see #1251 (r44725 cont'ed)
+	  patch by Anna Kratochvilova
+
+2010-12-26 14:01  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: don't fail if vector
+	  map not found
+
+2010-12-26 13:48  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: print warning when map
+	  is not found
+
+2010-12-26 12:13  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI/GSelect: filtering
+	  items in progress, see #1251
+	  patch by Anna Kratochvilova
+
+2010-12-25 21:10  glynn
+
+	* scripts/i.spectral/i.spectral.py: Fix script to match changes to
+	  i.group
+
+2010-12-25 21:07  glynn
+
+	* include/Make/Grass.make: Fix LIB/DEP/DEPS confusion
+
+2010-12-25 20:43  martinl
+
+	* include/vect/dig_structs.h, include/vector.h,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/write_ogr.c: vlib:
+	  introduce Vect_get_ogr_geometry_type() and V2_open_new_ogr()
+
+2010-12-25 16:25  martinl
+
+	* vector/v.random/main.c: v.random: simplify code (cosmetics)
+
+2010-12-25 16:21  martinl
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/ascii.c, lib/vector/Vlib/box.c,
+	  lib/vector/Vlib/break_lines.c, lib/vector/Vlib/break_polygons.c,
+	  lib/vector/Vlib/bridges.c, lib/vector/Vlib/buffer.c,
+	  lib/vector/Vlib/buffer2.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/cindex.c,
+	  lib/vector/Vlib/clean_nodes.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_nat.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/dangles.c,
+	  lib/vector/Vlib/dbcolumns.c, lib/vector/Vlib/dgraph.c,
+	  lib/vector/Vlib/e_intersect.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/graph.c, lib/vector/Vlib/hist.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/level.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/merge_lines.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/overlap.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_ogr.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/simple_features.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/Vlib/snap.c,
+	  lib/vector/Vlib/tin.c, lib/vector/Vlib/type.c,
+	  lib/vector/Vlib/window.c, lib/vector/Vlib/write_ogr.c: vlib:
+	  unify \file doxygen instruction (cosmetics)
+
+2010-12-25 16:11  martinl
+
+	* include/Make/Grass.make, lib/vector/Vlib/open_ogr.c: vlib: create
+	  ogr with spatial reference
+
+2010-12-25 15:54  martinl
+
+	* lib/vector/Vlib/open_ogr.c: vlib/ogr: don't use
+	  OGR_DS_GetLayerByName()
+
+2010-12-25 13:29  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI/gselect: disable
+	  filter on full match (see #1251)
+
+2010-12-24 16:51  martinl
+
+	* include/rasterdefs.h, lib/raster/close.c, lib/raster/closecell.c,
+	  lib/raster/open.c, lib/raster/opencell.c: rasterlib: closecell.c
+	  renamed to close.c, opencell.c renamed to open.c
+
+2010-12-24 15:13  martinl
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/open.c: vlib: cosmetics for external formats
+	  (v.external.out)
+
+2010-12-24 14:57  martinl
+
+	* vector/v.external.out/args.c: v.external.out: more guisections
+
+2010-12-24 12:10  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: track error when
+	  getting interface description
+
+2010-12-24 01:00  neteler
+
+	* imagery/i.modis.qc/main.c: distinguish mod11A1 and mod11A2 flags
+
+2010-12-24 00:54  neteler
+
+	* imagery/i.modis.qc/i.modis.qc.html, imagery/i.modis.qc/main.c,
+	  imagery/i.modis.qc/mod11A1a.c, imagery/i.modis.qc/mod11A1b.c,
+	  imagery/i.modis.qc/mod11A1c.c, imagery/i.modis.qc/mod11A1d.c:
+	  MOD11A1 (LST daily) support added
+
+2010-12-24 00:48  neteler
+
+	* imagery/i.modis.qc, imagery/i.modis.qc/Makefile,
+	  imagery/i.modis.qc/i.modis.qc.html, imagery/i.modis.qc/main.c,
+	  imagery/i.modis.qc/mod09A1a.c, imagery/i.modis.qc/mod09A1c.c,
+	  imagery/i.modis.qc/mod09A1d.c, imagery/i.modis.qc/mod09A1e.c,
+	  imagery/i.modis.qc/mod09A1sa.c, imagery/i.modis.qc/mod09A1sb.c,
+	  imagery/i.modis.qc/mod09A1sc.c, imagery/i.modis.qc/mod09A1sd.c,
+	  imagery/i.modis.qc/mod09A1se.c, imagery/i.modis.qc/mod09A1sf.c,
+	  imagery/i.modis.qc/mod09A1sg.c, imagery/i.modis.qc/mod09A1sh.c,
+	  imagery/i.modis.qc/mod09A1si.c, imagery/i.modis.qc/mod09A1sj.c,
+	  imagery/i.modis.qc/mod09A1sk.c, imagery/i.modis.qc/mod09Q1a.c,
+	  imagery/i.modis.qc/mod09Q1b.c, imagery/i.modis.qc/mod09Q1c.c,
+	  imagery/i.modis.qc/mod09Q1d.c, imagery/i.modis.qc/mod09Q1e.c,
+	  imagery/i.modis.qc/mod09Q1f.c, imagery/i.modis.qc/mod11A2a.c,
+	  imagery/i.modis.qc/mod11A2b.c, imagery/i.modis.qc/mod11A2c.c,
+	  imagery/i.modis.qc/mod11A2d.c: svn propset
+
+2010-12-24 00:41  neteler
+
+	* imagery/i.modis.qc/mod11A2d.c: comment fix
+
+2010-12-23 22:48  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: don't crash when
+	  manual page is not available
+	  (merge r44693 from devbr6)
+
+2010-12-23 22:34  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: fix GetGRASSCmd() to work
+	  properly on Windows
+
+2010-12-23 17:43  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: fix #1249 (unexpected error from
+	  the wxguy using "show attribute table" from the toolbar)
+
+2010-12-23 13:51  neteler
+
+	* raster/r.regression.line/main.c: newline fix
+
+2010-12-23 10:05  neteler
+
+	* locale/po/grassmods_it.po: corrections
+
+2010-12-22 19:40  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/dialog: setting
+	  height
+
+2010-12-22 14:13  martinl
+
+	* include/Make/Docs.make: fix cleandocs
+
+2010-12-22 14:07  martinl
+
+	* lib/python/core.py: pythonlib: parser(): returncode 1 on failure
+
+2010-12-22 14:01  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: close dialog on
+	  finish by default
+
+2010-12-22 13:21  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: fix wrapping module
+	  description
+
+2010-12-22 11:32  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/dialog: fix dialog
+	  size
+
+2010-12-22 11:03  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: update menuform to
+	  follow wxGUI coding style
+
+2010-12-22 10:36  martinl
+
+	* display/d.vect/main.c: d.vect: explain 'display' parameter
+
+2010-12-22 00:03  martinl
+
+	* gui/wxpython/wxpythonlib.dox: wxGUI/dox: remove out-dated
+	  files/classes
+
+2010-12-21 19:05  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: fix tab order (use
+	  pyscrolledwindow)
+
+2010-12-21 17:32  mmetz
+
+	* raster/r.thin/io.c: fix for Rast_get_c_row() replacing
+	  G_get_map_row()
+
+2010-12-21 15:33  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'ed
+
+2010-12-20 12:10  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI/select: use keyboard
+	  shortcuts (expand, collapse mapsets)
+	  Patch by Anna Kratochvilova
+
+2010-12-20 03:10  hamish
+
+	* raster/r.what.color/main.c,
+	  raster/r.what.color/r.what.color.html: show input value to full
+	  precision (or near enough); merge from devbr6
+
+2010-12-19 20:27  martinl
+
+	* vector/v.external.out/v.external.out.html: v.external.out: update
+	  manual page
+
+2010-12-19 20:24  martinl
+
+	* vector/Makefile: enable v.external.out
+
+2010-12-19 20:23  martinl
+
+	* grasslib.dox, include/gisdefs.h, include/vect/dig_structs.h,
+	  include/vector.h, lib/gis/overwrite.c, lib/gis/parser.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/write_ogr.c,
+	  vector/v.external.out/args.c, vector/v.external.out/link.c,
+	  vector/v.external.out/local_proto.h,
+	  vector/v.external.out/main.c, vector/v.external.out/status.c:
+	  vectlib: very initial direct OGR write support (v.external.out)
+
+2010-12-19 19:30  martinl
+
+	* vector/v.extrude/main.c: v.extrude: cosmetics, process area
+	  separately
+
+2010-12-17 11:15  mmetz
+
+	* raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/cseg.h, raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/find_pour.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c,
+	  raster/r.watershed/seg/over_cells.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/slope_len.c,
+	  raster/r.watershed/seg/split_str.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_put.c: overhauled segment and memory
+	  handling
+
+2010-12-17 11:14  mmetz
+
+	* raster/r.watershed/ram/do_cum.c: always mark as processed
+
+2010-12-16 16:21  martinl
+
+	* general/g.mapsets/get_maps.c, general/g.mapsets/main.c: #983
+	  (sort g.mapsets -l output)
+
+2010-12-16 15:53  martinl
+
+	* lib/vector/Makefile: cosmetics in Makefile
+
+2010-12-16 14:37  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py, lib/python/core.py:
+	  #965 (Location wizard: doesn't create MYNAME)
+
+2010-12-15 23:18  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: #1100 (Trim mapset name from
+	  maps list in wxGUI)
+
+2010-12-15 21:39  martinl
+
+	* gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  quick fix, #1233 (layer manager and mapdisplay - startup
+	  position)
+
+2010-12-14 11:22  neteler
+
+	* db/db.copy/db.copy.html: fix sqlite.db name
+
+2010-12-13 16:32  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: fix colorrules.py
+	  for vectors
+	  (merge r44599 from devbr6)
+
+2010-12-13 15:36  neteler
+
+	* locale/po/grasslibs_tr.po, locale/po/grassmods_tr.po,
+	  locale/po/grasswxpy_tr.po, translators.csv: Saban Safak: cont'ed
+
+2010-12-13 14:43  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: catch errors from the
+	  prompt
+	  (merge r44589 from devbr6)
+
+2010-12-10 12:30  ychemin
+
+	* imagery/i.aster.toar/main.c: bug fixing
+
+2010-12-10 11:15  ychemin
+
+	* imagery/i.aster.toar/main.c: bug fixing
+
+2010-12-09 17:08  neteler
+
+	* imagery/i.atcorr/create_iwave.py: Daniel Victoria: bugfixes for
+	  filter function
+
+2010-12-09 10:31  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py: fix #1232 (gui modeler don't
+	  works as aspected)
+
+2010-12-09 06:26  ychemin
+
+	* imagery/i.aster.toar/i.aster.toar.html,
+	  imagery/i.aster.toar/main.c: fixed input descriptions
+
+2010-12-09 03:58  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/Makefile,
+	  imagery/i.aster.toar, imagery/i.aster.toar/Makefile,
+	  imagery/i.aster.toar/description.html,
+	  imagery/i.aster.toar/gain_aster.c,
+	  imagery/i.aster.toar/i.aster.toar.html,
+	  imagery/i.aster.toar/main.c,
+	  imagery/i.aster.toar/rad2ref_aster.c: Upgraded then svn mv from
+	  Add-ons i.dn2ref.ast->i.aster.toar->grass_trunk/imagery
+
+2010-12-07 14:18  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: remove print statement
+
+2010-12-07 14:14  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py: wxGUI: ext pattern in import
+	  dialog case insensitive
+	  (merge r44554 from devbr6)
+
+2010-12-06 21:09  martinl
+
+	* gui/wxpython/gui_modules/ogc_services.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py,
+	  lib/gis/parser.c: wxGUI: various minor fixes (wms, digitizer)
+	  (merge r44548 from devbr6)
+
+2010-12-05 00:25  neteler
+
+	* locale/po/grasslibs_it.po, locale/po/grasswxpy_it.po: Luca
+	  Delucchi: cont'ed
+
+2010-12-03 18:40  neteler
+
+	* raster/r.li/r.li.pielou: svn:ignore
+
+2010-12-03 18:39  neteler
+
+	* raster/r.li/r.li.renyi: svn:ignore
+
+2010-12-02 15:21  mmetz
+
+	* raster/r.resamp.bspline/main.c: do not align elaboration box; use
+	  full bandwidth for special cases
+
+2010-12-02 15:11  mmetz
+
+	* vector/v.surf.bspline/main.c: need full bandwidth for special
+	  cases
+
+2010-12-02 15:10  mmetz
+
+	* lib/lidar/zones.c: use interpolator Macro
+
+2010-12-02 11:16  martinl
+
+	* scripts/v.krige/v.krige.py: v.krige: fix error message (missing R
+	  packages)
+
+2010-12-02 11:10  aghisla
+
+	* scripts/v.krige/v.krige.py: Grass.fatal errors when dependenciees
+	  are not found.
+
+2010-12-02 10:59  martinl
+
+	* display/d.rast/main.c: d.rast: more guisections
+
+2010-12-02 10:33  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: improvements in
+	  interactive prompt (patch by Anna Kratochvilova)
+
+2010-12-02 05:07  cmbarton
+
+	* gui/wxpython/gui_modules/toolbars.py: Fixes ugly exit bug that
+	  leaves wxnviz pages overlaying layer manager pages when wxnviz is
+	  exited. If this works on all systems, it should be backported to
+	  GRASS 6 branch.
+
+2010-12-01 10:12  aghisla
+
+	* scripts/v.krige/v.krige.py: Better check of R packages: checked
+	  all in once, raising only one error message.
+
+2010-11-30 09:30  martinl
+
+	* vector/v.clean/prune.c: v.clean: fix message when no vertex is
+	  removed
+
+2010-11-29 21:19  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix multiple options
+	  (merge r44495 from devbr6)
+
+2010-11-29 21:11  martinl
+
+	* gui/wxpython/docs/wxGUI.Icons.html: fix grass2 icon url
+	  (merge r44490 from devbr6)
+
+2010-11-29 21:07  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py, lib/python/core.py:
+	  pythonlib: define mlist()
+	  (merge r44489 from devbr6)
+
+2010-11-29 20:23  martinl
+
+	* imagery/i.pca/main.c: i.pca: output->output_prefix
+	  (merge r44486 from devbr6)
+
+2010-11-29 17:36  martinl
+
+	* vector/v.clean/prune.c: redundant new line
+
+2010-11-29 15:46  martinl
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/local_proto.h,
+	  vector/v.out.ogr/main.c: v.out.ogr: new flag to append data to
+	  the existing OGR layer
+
+2010-11-29 11:38  martinl
+
+	* lib/raster/gdal.c: rasterlib/gdal.c: add doxygen docs
+
+2010-11-29 11:20  martinl
+
+	* vector/v.external.out/v.external.out.html: fix URL of OGR pages
+
+2010-11-29 11:15  martinl
+
+	* vector/v.external.out, vector/v.external.out/Makefile,
+	  vector/v.external.out/args.c, vector/v.external.out/format.c,
+	  vector/v.external.out/link.c, vector/v.external.out/list.c,
+	  vector/v.external.out/local_proto.h,
+	  vector/v.external.out/main.c, vector/v.external.out/status.c,
+	  vector/v.external.out/v.external.out.html: new module
+	  v.external.out (based on r.external.out)
+	  TODO: update vlib to use output settings
+
+2010-11-29 10:15  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: colprefix
+	  parameter renamed
+
+2010-11-28 22:06  hellik
+
+	* raster/simwe/r.sim.water/r.sim.water.html: update paramater names
+	  in example
+
+2010-11-28 19:28  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: description
+	  cosmetics
+
+2010-11-28 17:55  mmetz
+
+	* vector/v.out.ogr/local_proto.h: update header
+
+2010-11-28 17:54  mmetz
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/attrb.c,
+	  vector/v.out.ogr/create.c, vector/v.out.ogr/list.c: format all
+	  code
+
+2010-11-28 17:54  mmetz
+
+	* vector/v.out.ogr/main.c: format code
+
+2010-11-28 16:24  mmetz
+
+	* lib/vector/Vlib/snap.c: change message to verbose message
+
+2010-11-28 16:23  mmetz
+
+	* lib/vector/Vlib/remove_areas.c: adjusted progress report
+
+2010-11-28 16:22  mmetz
+
+	* lib/vector/Vlib/dangles.c: print appropriate messages
+
+2010-11-28 16:21  mmetz
+
+	* lib/vector/Vlib/break_polygons.c: release memory, add debug info
+
+2010-11-28 16:16  mmetz
+
+	* vector/v.in.ogr/main.c: cosmetics, be a bit more user-friendly
+
+2010-11-27 22:07  martinl
+
+	* general/g.mapset/main.c, raster/r.colors/main.c,
+	  raster/r.external.out/main.c, raster/r.external/main.c,
+	  raster/r.in.gdal/main.c, raster/r.out.gdal/main.c,
+	  vector/v.in.dxf/main.c, vector/v.in.ogr/main.c: r.external.out:
+	  use suppress_required
+	  update other modules, TRUE->YES
+
+2010-11-27 21:48  martinl
+
+	* raster/r.external/main.c: r.external: use suppress_required
+
+2010-11-27 21:44  martinl
+
+	* vector/v.in.dxf/main.c: v.in.dxf: use suppress_required
+
+2010-11-27 21:38  martinl
+
+	* raster/r.colors/main.c: r.colors: use suppress_required
+
+2010-11-27 13:09  neteler
+
+	* scripts/g.extension/g.extension.py: fix from Patrick Schirmer, CH
+
+2010-11-27 08:16  mmetz
+
+	* scripts/v.rast.stats/v.rast.stats.py: fix region alignment, table
+	  key column, -nan, enable translations, and speed up the module
+
+2010-11-27 07:38  mmetz
+
+	* scripts/v.rast.stats/v.rast.stats.py: change input vector key to
+	  vector, as in 6.x
+
+2010-11-26 18:54  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: use suppress_required flags
+
+2010-11-26 18:38  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix wxGUI - r44437
+
+2010-11-26 18:36  martinl
+
+	* lib/gis/parser.c, lib/gis/parser_standard_options.c: libgis:
+	  check also file if exists
+
+2010-11-26 18:23  martinl
+
+	* raster/r.out.gdal/main.c: r.out.gdal: suppress required for -l
+
+2010-11-26 17:34  martinl
+
+	* lib/gis/parser.c: call G_usage() when level is verbose
+
+2010-11-26 13:29  neteler
+
+	* contributors_extra.csv, raster/r.li/Makefile,
+	  raster/r.li/r.li.daemon/index.h, raster/r.li/r.li.html,
+	  raster/r.li/r.li.pielou, raster/r.li/r.li.pielou/Makefile,
+	  raster/r.li/r.li.pielou/pielou.c,
+	  raster/r.li/r.li.pielou/r.li.pielou.html, raster/r.li/r.li.renyi,
+	  raster/r.li/r.li.renyi/Makefile,
+	  raster/r.li/r.li.renyi/r.li.renyi.html,
+	  raster/r.li/r.li.renyi/renyi.c: Luca Delucchi + Duccio Rocchini:
+	  two new indices
+
+2010-11-25 21:37  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: use suppress_required
+
+2010-11-25 21:20  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: required/multiple
+	  boolean variables
+
+2010-11-25 21:02  martinl
+
+	* general/g.mapset/main.c, gui/wxpython/gui_modules/menuform.py:
+	  continue in r44421
+
+2010-11-25 17:40  glynn
+
+	* general/g.mapset/main.c, general/g.parser/main.c, include/gis.h,
+	  lib/gis/parser.c, lib/gis/parser_interface.c,
+	  lib/gis/parser_local_proto.h, lib/gis/parser_script.c: Add
+	  suppress_required field to flags
+
+2010-11-25 17:26  glynn
+
+	* lib/python/setup.py.sed: Fix missing substitution
+
+2010-11-25 16:06  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py, lib/python/core.py:
+	  wxGUI/locwizard: use grass.create_location() to create a new
+	  location
+
+2010-11-25 09:01  martinl
+
+	* scripts/r.mask/r.mask.py: fix #1224
+
+2010-11-25 08:32  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: fix #1223
+
+2010-11-24 20:27  neteler
+
+	* locale/po/grasswxpy_cs.po: Jan Trochta: cont'ed
+
+2010-11-24 16:19  neteler
+
+	* raster/r.li/Makefile: order alphabetically
+
+2010-11-24 13:49  martinl
+
+	* lib/python/core.py: backport r44366
+
+2010-11-24 13:33  martinl
+
+	* lib/python/Makefile: fix typo in Makefile
+
+2010-11-24 13:28  martinl
+
+	* lib/python, lib/python/Makefile, lib/python/array.py,
+	  lib/python/core.py, lib/python/db.py, lib/python/raster.py,
+	  lib/python/setup.py.sed, lib/python/vector.py: fix grass.init() &
+	  separated to new module 'setup'
+
+2010-11-24 09:27  mmetz
+
+	* scripts/v.rast.stats/v.rast.stats.py: vector input key is input
+
+2010-11-24 05:45  ychemin
+
+	* imagery/i.vi/main.c: bug fix a segfault on loading redchan file
+	  descriptor
+
+2010-11-23 14:49  martinl
+
+	* lib/python/core.py: grass.init() added
+	  (merge r44388 from devbr6)
+
+2010-11-23 14:45  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: mcalc fixes
+	  (merge r44387 & 44389 from devbr6)
+
+2010-11-23 10:38  neteler
+
+	* locale/po/grasswxpy_zh.po, translators.csv: Shulin Yang: cont'ed
+
+2010-11-23 09:52  glynn
+
+	* raster/r.in.bin/main.c: Add missing % characters to format string
+
+2010-11-23 09:51  glynn
+
+	* lib/raster/history.c: Clear array pointer after deallocation
+
+2010-11-22 22:04  martinl
+
+	* lib/python/core.py: fix typo from r44368
+
+2010-11-22 21:56  martinl
+
+	* lib/python/core.py: pythonlib: fns to create new location
+
+2010-11-22 08:28  martinl
+
+	* gui/wxpython/xml/menudata.xml: r.pack & r.unpack added to wxGUI
+	  menu
+
+2010-11-22 08:22  martinl
+
+	* imagery/i.atcorr/GeomCond.cpp: fix r44358
+
+2010-11-22 08:02  martinl
+
+	* scripts/Makefile, scripts/r.pack, scripts/r.pack/Makefile,
+	  scripts/r.pack/r.pack.html, scripts/r.pack/r.pack.py,
+	  scripts/r.unpack, scripts/r.unpack/Makefile,
+	  scripts/r.unpack/r.unpack.html, scripts/r.unpack/r.unpack.py:
+	  AddOns Bash scripts r.pack and r.unpack converted to Python and
+	  added to trunk
+
+2010-11-21 23:42  huhabla
+
+	* lib/gis/parser_wps.c: WPS XML fix
+
+2010-11-21 06:25  huhabla
+
+	* lib/gis/parser_wps.c: Implemented check for range values in wps
+	  xml creation
+
+2010-11-19 14:00  aghisla
+
+	* gui/wxpython/scripts/r.li.setup.py,
+	  gui/wxpython/scripts/vkrige.py, imagery/i.atcorr/GeomCond.cpp,
+	  imagery/i.atcorr/GeomCond.h, imagery/i.atcorr/Iwave.cpp,
+	  imagery/i.atcorr/Iwave.h, imagery/i.atcorr/i.atcorr.html: Added
+	  RapidEye sensor to i.atcorr - credits to RapidEye AG, Germany.
+	  Minor edits to v.krige and r.li.setup.py.
+
+2010-11-19 10:13  mmetz
+
+	* lib/cairodriver/Raster.c: cairo API: tell cairo that drawing has
+	  been done to surface using means other than cairo
+
+2010-11-18 09:27  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: simplify import/link menu
+	  items
+
+2010-11-16 11:12  mmetz
+
+	* imagery/i.rectify/rectify.c: use standard for row/col loop
+
+2010-11-16 09:18  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: show all mapsets in
+	  MapsetSelect
+	  (merge r44344 from devbr6)
+
+2010-11-15 22:59  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: expand interacrive
+	  input
+	  (merge r44340 from devbr6)
+
+2010-11-15 22:57  martinl
+
+	* lib/gis/parser_standard_options.c, raster/r.mfilter/main.c:
+	  r.mfilter: cosmetics in module description
+	  minor changes in G_OPT_F
+	  (merge r44338 from devbr6)
+
+2010-11-15 21:20  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix spinctrl widgets
+	  (merge r44335 from devbr6)
+
+2010-11-15 21:01  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: sort mapsets
+	  (merge r44332 from devbr6)
+
+2010-11-15 20:39  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: better treat
+	  external scripts
+	  (merge r44329 from devbr6)
+
+2010-11-15 16:43  huhabla
+
+	* lib/gis/parser_wps.c: Check for Identifier and description. In
+	  some modules the description is
+	  missing, but the label is defined.
+
+2010-11-15 10:15  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: _GetValue() added
+	  (merge r44315 from devbr6)
+
+2010-11-15 09:17  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: show error dialog
+	  when module is not the search path
+	  (merge r44312 from devbr6)
+
+2010-11-13 18:31  msieczka
+
+	* raster/r.li/r.li.cwed/cwed.c: Cosmetics
+
+2010-11-13 12:03  msieczka
+
+	* raster/r.cost/r.cost.html: s/_sites/_points/g
+
+2010-11-11 15:34  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py: wxGUI: fix linking postgis
+	  vectors
+
+2010-11-11 10:49  mmetz
+
+	* raster/r.resamp.interp/main.c: lanczos: adjust u,v order, compact
+	  code
+
+2010-11-11 10:45  mmetz
+
+	* imagery/i.rectify/lanczos.c: lanczos: adjust t,u order
+
+2010-11-11 10:45  mmetz
+
+	* raster/r.proj/lanczos.c: lanczos: adjust t,u order
+
+2010-11-11 10:43  mmetz
+
+	* lib/raster/interp.c: sync lanczos u,v meaning to bilinear/bicubic
+
+2010-11-11 08:26  neteler
+
+	* vector/v.in.ascii/v.in.ascii.html: cosmetics
+
+2010-11-09 13:36  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: interactive input
+	  can be optionally disabled
+	  (merge r44281 from devbr6)
+
+2010-11-09 11:37  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: cosmetics in
+	  default positioning
+	  (merge r44275 from devbr6)
+
+2010-11-09 11:34  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI/mapcalc: statusbar
+	  added
+	  (merge r44273 from devbr6)
+
+2010-11-08 23:25  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: simplify
+	  OnSetValue
+	  (merge r44269 from devbr6)
+
+2010-11-08 23:02  martinl
+
+	* imagery/i.landsat.acca/algorithm.c: i.landsat.acca: print units
+	  for max
+
+2010-11-08 22:56  martinl
+
+	* imagery/i.landsat.acca/algorithm.c,
+	  imagery/i.landsat.acca/tools.c: i.landsat: be more verbose
+	  (cosmetics)
+
+2010-11-08 21:28  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI: raster
+	  calculator generates rasters...
+	  (merge r44260 from devbr6)
+
+2010-11-08 21:10  martinl
+
+	* raster/r.sunmask/main.c: r.sunmask: 'output' optional (not
+	  required for '-s')
+	  (merge r44254 from devbr6)
+
+2010-11-08 21:00  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI:
+	  fix running scripts
+	  (merge r44253 from devbr6)
+
+2010-11-08 09:27  martinl
+
+	* imagery/i.atcorr/6s.cpp, imagery/i.atcorr/main.cpp: i.atcorr: be
+	  less verbose, fix when elevation is not given
+	  (merge r44250 from devbr6)
+
+2010-11-08 03:29  glynn
+
+	* imagery/i.atcorr/common.cpp, lib/pngdriver/read_png.c,
+	  raster/r.uslek/prct2tex.c: Fix warnings
+
+2010-11-07 23:05  neteler
+
+	* general/g.mkfontcap/g.mkfontcap.html: HTML fix
+
+2010-11-07 22:56  neteler
+
+	* display/d.rast.arrow/d.rast.arrow.html: HTML fix
+
+2010-11-07 21:30  martinl
+
+	* imagery/i.landsat.toar/main.c: i.landsat.toar: verbosity
+	  cosmetics
+
+2010-11-07 21:20  martinl
+
+	* lib/vector/Vlib/build_nat.c: cosmetics in verbosity
+	  (merge r44220 from devbr6)
+
+2010-11-07 17:34  martinl
+
+	* vector/v.select/args.c, vector/v.select/main.c,
+	  vector/v.select/proto.h, vector/v.select/v.select.html: v.select:
+	  simplify module interface (no geos flag)
+
+2010-11-07 15:19  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: cosmetics in messages
+
+2010-11-07 14:06  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/render.py: fix #626 (layers re-renamed
+	  after change properties (wxpython))
+
+2010-11-07 09:27  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: centre dialogs on screen by default
+
+2010-11-06 23:00  martinl
+
+	* vector/v.to.db/parse.c: v.to.db: start/end requires at least two
+	  columns - #1208
+
+2010-11-06 22:33  martinl
+
+	* scripts/v.in.wfs/v.in.wfs.py: fix v.in.wfs, be more verbose
+
+2010-11-06 22:23  martinl
+
+	* scripts/v.in.wfs/v.in.wfs.py: v.in.wfs: 'wfs' parameter renamed
+	  to 'url'
+
+2010-11-06 22:19  martinl
+
+	* gui/wxpython/xml/menudata.xml: some modules added to wxGUI menu
+
+2010-11-06 22:00  martinl
+
+	* gui/wxpython/xml/menudata.xml: update wxGUI menu by
+	  update_menudata.py
+
+2010-11-06 16:07  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: increase default
+	  height of windows
+
+2010-11-06 15:01  martinl
+
+	* raster/r.proj/main.c: r.proj: " " -> NULL
+
+2010-11-06 14:53  martinl
+
+	* raster/r.proj/main.c, vector/v.proj/main.c: r.proj/v.proj: more
+	  guisections
+
+2010-11-06 14:44  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: list maps
+
+2010-11-06 13:15  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py, raster/r.proj/main.c,
+	  vector/v.proj/main.c: r.proj/v.proj: wxGUI interactivity improved
+	  (select input map from location)
+
+2010-11-06 13:13  martinl
+
+	* lib/gis/list.c: clean up dox string of list.c
+
+2010-11-06 10:47  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: set default position of windows (when .grasswx6 file is
+	  not available)
+	  (merge r44180 from devbr6)
+
+2010-11-05 07:53  neteler
+
+	* locale/po/grasswxpy_it.po: Fix broken accented chars
+
+2010-11-02 14:53  martinl
+
+	* gui/wxpython/gui_modules/georect.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: georect replaced by
+	  gcpmanager
+	  (merge r44168 from devbr6)
+
+2010-11-02 14:41  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: don't parse r.mapcalc
+	  (merge r44165 from devbr6)
+
+2010-11-02 14:39  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: open dialog by
+	  default
+	  (merge r44164 from devbr6)
+
+2010-11-02 01:14  martinl
+
+	* imagery/Makefile: enable i.landsat.acca
+
+2010-11-02 00:34  martinl
+
+	* imagery/i.landsat.acca/main.c: i.landsat.acca: use same input
+	  param name as i.landsat.toar
+
+2010-11-01 23:30  martinl
+
+	* raster/r.sunmask/g_solposition.c, raster/r.sunmask/global.h,
+	  raster/r.sunmask/main.c: r.sunmask: messages clean up (use
+	  G_debug)
+	  (merge r44156 from devbr6)
+
+2010-11-01 18:26  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/colorrules: fix
+	  preview
+
+2010-11-01 11:31  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/colorrules: disable
+	  x scrolling
+
+2010-11-01 10:16  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI/colortable: use
+	  r.colors.out instead of `r.colors -p`
+	  various minor fixes
+
+2010-11-01 07:58  martinl
+
+	* raster/r.colors.out/main.c: r.colors.out: rules=- by default
+
+2010-11-01 07:41  martinl
+
+	* raster/r.colors.out/main.c,
+	  raster/r.colors.out/r.colors.out.html: r.colors.out: cosmetics in
+	  parameters/messages/manual
+
+2010-11-01 07:23  martinl
+
+	* include/rasterdefs.h, lib/raster/color_print.c,
+	  raster/r.colors/main.c: r.colors: remove `-p` (there is already
+	  r.colors.out)
+	  clean up raster library (no need for Rast_print_colors())
+
+2010-10-31 17:38  neteler
+
+	* vector/v.in.ogr/v.in.ogr.html: explain min_area threshold value
+	  units
+
+2010-10-31 10:18  martinl
+
+	* raster/r.colors/main.c: r.colors: print warning when color table
+	  exists and flag -w is given
+
+2010-10-31 10:03  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/colorrules:
+	  load/save raster color tables (based on patch by Anna
+	  Kratochvilova)
+	  minor clean up
+
+2010-10-31 08:53  martinl
+
+	* gui/wxpython/support/update_menudata.py,
+	  gui/wxpython/xml/menudata.xml: update wxGUI menu
+
+2010-10-31 08:50  martinl
+
+	* gui/wxpython/gui_modules/rules.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: interactive input for
+	  r.recode/r.reclass, etc. is managed by menuform.py no need for
+	  extra rules.py module
+
+2010-10-31 08:37  martinl
+
+	* raster/r.recode/main.c, raster/r.recode/r.recode.html: r.recode:
+	  minor changes in parameters, manual updated
+
+2010-10-31 08:24  martinl
+
+	* lib/python/core.py: set_raise_on_error() returns current status
+
+2010-10-31 08:23  martinl
+
+	* lib/python/core.py: pythonlib: do not raise on error by default
+
+2010-10-30 17:11  martinl
+
+	* gui/wxpython/gui_modules/utils.py: fix utils.split() for python <
+	  2.6
+	  (merge r44109 from devbr6)
+
+2010-10-30 16:33  martinl
+
+	* gui/wxpython/gui_modules/utils.py: shlex.split() posix parameter
+	  available in Python 2.6+
+
+2010-10-30 16:00  martinl
+
+	* gui/wxpython/gui_modules/goutput.py, lib/python/core.py:
+	  grass.find_program(): Windows-related fix
+	  (merge r44102 devbr6)
+
+2010-10-30 12:39  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: use utils.split() instead
+
+2010-10-30 12:18  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: check if command is
+	  available
+
+2010-10-30 11:47  martinl
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: wxGUI: do not use
+	  grass.set_fatal_exit()
+
+2010-10-30 09:25  martinl
+
+	* general/g.region/printwindow.c: g.region: 3dcells -> cells3 -
+	  bash variable can begins only with a letter or underscore
+
+2010-10-30 09:18  martinl
+
+	* gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: use platform specific
+	  shlex.split() in command prompt
+
+2010-10-30 08:52  martinl
+
+	* lib/python/core.py: pythonlib: raise_on_error defined
+
+2010-10-29 16:04  mmetz
+
+	* imagery/i.rectify/i.rectify.html: update manual
+
+2010-10-29 16:04  mmetz
+
+	* imagery/i.rectify/main.c: remove bogus error check
+
+2010-10-29 16:03  mmetz
+
+	* imagery/i.rectify/bilinear.c: missed one FCELL->DCELL conversion
+
+2010-10-29 16:02  mmetz
+
+	* lib/raster/interp.c: avoid fp calculation errors as far as
+	  possible
+
+2010-10-29 09:36  huhabla
+
+	* lib/gis/parser_wps.c: Support more mime types for raster and
+	  vector inputs and outputs in WPS
+	  process description.
+
+2010-10-29 08:40  mmetz
+
+	* imagery/i.rectify/global.h, imagery/i.rectify/main.c: remove
+	  unused variables
+
+2010-10-29 07:34  mmetz
+
+	* lib/raster/interp.c: lanczos: unroll loops, reduce sine
+	  calculations
+
+2010-10-28 19:24  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: fix auto-rendering
+	  (cmdAutoRender)
+	  (merge r44075 from devbr6)
+
+2010-10-28 17:14  martinl
+
+	* vector/v.to.rast/main.c: v.to.rast: guisections clean up
+	  (merge r44072 from devbr6)
+
+2010-10-28 17:04  mmetz
+
+	* lib/raster/interp.c: clean up cubic bspline, try to optimize
+	  lanczos
+
+2010-10-28 16:43  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mcalc: load/save
+	  expression (based on Tim Michelsen's patch #669)
+
+2010-10-28 07:20  mmetz
+
+	* imagery/i.rectify/lanczos.c: add lanczos and lanczos fallback to
+	  i.rectify, next try
+
+2010-10-28 07:20  mmetz
+
+	* imagery/i.rectify/cubic_f.c, imagery/i.rectify/global.h,
+	  imagery/i.rectify/i.rectify.html, imagery/i.rectify/main.c: add
+	  lanczos and lanczos fallback to i.rectify
+
+2010-10-28 07:16  mmetz
+
+	* raster/r.proj/lanczos.c, raster/r.proj/main.c,
+	  raster/r.proj/r.proj.h, raster/r.proj/r.proj.html: add lanczos
+	  and lanczos fallback to r.proj
+
+2010-10-28 07:11  mmetz
+
+	* lib/raster/interp.c: updated function name
+
+2010-10-28 06:42  mmetz
+
+	* raster/r.resamp.interp/main.c,
+	  raster/r.resamp.interp/r.resamp.interp.html: add lanczos
+
+2010-10-28 06:37  mmetz
+
+	* include/rasterdefs.h: make lanczos and cubic bspline
+	  interpolation available
+
+2010-10-28 06:36  mmetz
+
+	* lib/raster/interp.c: add lanczos and cubic bspline interpolation
+	  to rasterlib
+
+2010-10-27 21:26  hellik
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat: use
+	  correct set GDAL_DATA and GEOTIFF_CSV variables and include
+	  required files #1201
+
+2010-10-27 07:35  mmetz
+
+	* imagery/i.rectify/bilinear_f.c, imagery/i.rectify/cubic_f.c: fix
+	  for bilinear with fallback and bicubic with fallback
+
+2010-10-26 14:35  glynn
+
+	* lib/python/raster.py: Fix raster_info() to handle min/max = NULL.
+
+2010-10-25 23:29  martinl
+
+	* gui/wxpython/xml/menudata.xml, imagery/i.landsat.toar/main.c:
+	  i.landsat.acca added to wxGUI menu
+
+2010-10-25 22:14  martinl
+
+	* imagery/i.landsat.acca/main.c, imagery/i.landsat.acca/tools.c:
+	  i.landsat.acca: more guisections
+	  fix typo when including to trunk
+
+2010-10-25 21:36  martinl
+
+	* Makefile, include/Make/Docs.make,
+	  include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in, include/Make/Doxygen.make:
+	  attempt to recover programmers manual
+
+2010-10-25 21:34  martinl
+
+	* imagery/i.landsat.acca, imagery/i.landsat.acca/Makefile,
+	  imagery/i.landsat.acca/algorithm.c,
+	  imagery/i.landsat.acca/i.landsat.acca.html,
+	  imagery/i.landsat.acca/local_proto.h,
+	  imagery/i.landsat.acca/main.c, imagery/i.landsat.acca/tools.c,
+	  imagery/i.landsat.toar, imagery/i.landsat.toar/main.c:
+	  i.landsat.acca from addons added to trunk
+
+2010-10-24 20:25  martinl
+
+	* imagery/i.landsat.toar/i.landsat.toar.html: i.landsat.toar:
+	  manual updated
+
+2010-10-24 19:24  martinl
+
+	* vector/v.select/args.c, vector/v.select/main.c,
+	  vector/v.select/proto.h: v.select: don't skip features without
+	  category implemeneted as a flag
+
+2010-10-24 16:35  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: do not ignore
+	  '+'
+	  (merge r44030 from trunk)
+
+2010-10-24 16:34  martinl
+
+	* imagery/i.landsat.toar/landsat.c,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/main.c: i.landsat.toar: major clean up
+
+2010-10-24 12:00  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: fix zooming to RBG
+	  layers
+	  (merge r44027 from devbr6)
+
+2010-10-24 10:40  martinl
+
+	* lib/python/raster.py, lib/python/vector.py: avoid gettext
+	  warnings
+
+2010-10-24 10:37  martinl
+
+	* lib/python/array.py, lib/python/core.py, lib/python/db.py,
+	  lib/python/raster.py, lib/python/vector.py: pythonlib: i18n
+
+2010-10-24 09:15  martinl
+
+	* raster/r.timestamp/main.c, raster/r.timestamp/r.timestamp.html:
+	  r.timestamp: clean up the manual page
+
+2010-10-24 08:19  martinl
+
+	* general/g.mapset/main.c: g.mapset: be less verbose when quiet
+	  flag is used
+
+2010-10-24 08:00  martinl
+
+	* general/g.mapsets/main.c: g.mapsets: more guisections
+
+2010-10-24 07:44  martinl
+
+	* general/g.mapsets/main.c: g.mapsets: split module's description
+	  to label
+
+2010-10-24 07:30  martinl
+
+	* lib/python/core.py: pythonlib: doxygen updates for list_*() -
+	  list elements only for
+	  mapsets in search path
+
+2010-10-24 06:51  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix menuform dialog
+	  (map tree)
+
+2010-10-24 06:30  martinl
+
+	* lib/python/core.py, lib/python/pythonlib.dox: pythonlib: fn
+	  mapsets() added
+
+2010-10-22 07:49  neteler
+
+	* general/g.message/main.c: remove superfluous newline
+
+2010-10-21 20:24  neteler
+
+	* doc/howto_release.txt: more announcement targets
+
+2010-10-21 18:33  martinl
+
+	* gui/wxpython/xml/menudata.xml: menudata updated by
+	  support/update_menudata.py script
+
+2010-10-21 18:29  martinl
+
+	* imagery/i.landsat.toar/main.c: i.landsat.toar: very basic clean
+	  up after adding to trunk
+
+2010-10-21 08:56  glynn
+
+	* imagery/i.landsat.toar/main.c: Fix printf() format
+
+2010-10-21 08:54  glynn
+
+	* imagery/i.landsat.toar/Makefile,
+	  imagery/i.landsat.toar/earth_sun.c,
+	  imagery/i.landsat.toar/earth_sun.h,
+	  imagery/i.landsat.toar/landsat.c,
+	  imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/local_proto.h,
+	  imagery/i.landsat.toar/main.c: Remove incorrect svn:executable
+	  property
+
+2010-10-21 01:15  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/Makefile,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_SEBAL01.html,
+	  imagery/i.landsat.toar, imagery/i.landsat.toar/Makefile,
+	  imagery/i.landsat.toar/earth_sun.c,
+	  imagery/i.landsat.toar/earth_sun.h,
+	  imagery/i.landsat.toar/i.landsat.toar.html,
+	  imagery/i.landsat.toar/landsat.c,
+	  imagery/i.landsat.toar/landsat.h,
+	  imagery/i.landsat.toar/landsat_met.c,
+	  imagery/i.landsat.toar/landsat_set.c,
+	  imagery/i.landsat.toar/local_proto.h,
+	  imagery/i.landsat.toar/main.c: Added i.landsat.toar, changed
+	  satellite images wx menu, completed a reference in i.eb.h_SEBAL01
+
+2010-10-20 11:08  martinl
+
+	* vector/v.build.polylines/v.build.polylines.html:
+	  v.build.polylines: manual page updated (notes my Markus Metz,
+	  http://lists.osgeo.org/pipermail/grass-user/2010-October/058400.html)
+
+2010-10-18 20:32  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mapcalc:
+	  checkbox to add created raster map to layer tree
+
+2010-10-18 15:30  mmetz
+
+	* imagery/i.rectify/bilinear.c, imagery/i.rectify/bilinear_f.c,
+	  imagery/i.rectify/cubic.c, imagery/i.rectify/cubic_f.c: apply
+	  r43944 to i.rectify: Glynn: Don't store pointer to cache blocks
+	  which may be replaced
+
+2010-10-18 15:10  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: simplify title of
+	  MapsetAccess dialog
+	  (merge r43970 from devbr6)
+
+2010-10-18 11:39  martinl
+
+	* imagery/i.atcorr/i.atcorr.html: i.atcorr: minor manual page clean
+	  up
+
+2010-10-18 11:03  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/location
+	  wizard: some more fixes related to #1167 (by Anna Kratochvilova)
+
+2010-10-18 10:20  martinl
+
+	* lib/python/core.py: improve *_command() dox strings
+
+2010-10-18 09:54  martinl
+
+	* lib/python/Makefile, lib/python/grasspythonlib.dox,
+	  lib/python/pythonlib.dox: dox file renamed
+
+2010-10-17 11:20  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: new flag to skip
+	  installing extension
+
+2010-10-17 10:10  martinl
+
+	* scripts/g.extension/g.extension.py: fix typo
+
+2010-10-17 10:05  martinl
+
+	* lib/python/core.py: default verbose level is '2'
+
+2010-10-17 10:04  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: update 'prefix',
+	  fix quiet/verbose mode, fix 'install'
+
+2010-10-17 09:34  glynn
+
+	* raster/r.proj/bilinear.c, raster/r.proj/bilinear_f.c,
+	  raster/r.proj/cubic.c, raster/r.proj/cubic_f.c: Don't store
+	  pointer to cache blocks which may be replaced
+
+2010-10-17 08:58  glynn
+
+	* raster/r.proj/bilinear.c, raster/r.proj/cubic.c,
+	  raster/r.proj/cubic_f.c, raster/r.proj/main.c: Fix off-by-half
+	  error
+
+2010-10-17 07:01  hamish
+
+	* raster/r.proj/r.proj.html: doc tweaks (merge from devbr6)
+
+2010-10-16 16:50  mmetz
+
+	* imagery/i.rectify/bilinear.c, imagery/i.rectify/cubic.c,
+	  imagery/i.rectify/nearest.c: fix bilinear/bicubic interpolation
+
+2010-10-16 15:23  mmetz
+
+	* imagery/i.rectify/bilinear_f.c, imagery/i.rectify/cubic_f.c: fix
+	  fallback methods
+
+2010-10-16 14:04  mmetz
+
+	* imagery/i.rectify/bilinear.c, imagery/i.rectify/bilinear_f.c,
+	  imagery/i.rectify/cubic.c, imagery/i.rectify/cubic_f.c,
+	  imagery/i.rectify/exec.c, imagery/i.rectify/global.h,
+	  imagery/i.rectify/i.rectify.html, imagery/i.rectify/main.c,
+	  imagery/i.rectify/matrix.c, imagery/i.rectify/nearest.c,
+	  imagery/i.rectify/perform.c, imagery/i.rectify/readcell.c,
+	  imagery/i.rectify/rectify.c, imagery/i.rectify/report.c,
+	  imagery/i.rectify/rowcol.h, imagery/i.rectify/write.c: i.rectify:
+	  adjust to r.proj: transform cell center coords not cell border
+	  coords, use fast cache, offer different resampling methods
+
+2010-10-15 14:49  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix wxGUI: propagate option
+	  key_desc (#1192)
+	  (merge r43929 from devbr6)
+
+2010-10-15 10:18  glynn
+
+	* raster/r.out.png/main.c: Use functions rather than direct acess
+	  to the info struct
+
+2010-10-15 09:59  glynn
+
+	* raster/r.in.png/main.c, raster/r.in.png/r.in.png.c: Use functions
+	  rather than direct acess to the info struct
+	  Cleanup
+
+2010-10-15 09:47  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: fix #1167 (wx
+	  location wizard: proj4 terms fall off edge of window)
+	  (thanks to Anna Kratochvilova)
+
+2010-10-14 15:50  mmetz
+
+	* gui/wxpython/docs/wxGUI.GCP_Manager.html: GCP Manager manual: use
+	  help icon
+
+2010-10-14 11:05  mmetz
+
+	* raster/r.univar/r3.univar_main.c: use G3d_readCats
+
+2010-10-14 09:51  glynn
+
+	* general/g.mapset/main.c: Don't set option defaults from current
+	  state (results in incorrect documentation).
+
+2010-10-14 09:43  glynn
+
+	* Makefile, include/Make/Docs.make, include/Make/Install.make,
+	  lib/proj/Makefile: Build system clean-up, mainly installation
+
+2010-10-14 07:59  mmetz
+
+	* raster/r.univar/Makefile: r3.univar needs RASTERLIB
+
+2010-10-14 06:51  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: fix for Mac when no
+	  target map is selected
+
+2010-10-13 20:05  martinl
+
+	* lib/vector/Vlib/build.c: v.build opt=dump does not report the Z
+	  coord (#1194)
+
+2010-10-13 19:39  martinl
+
+	* imagery/i.atcorr/main.cpp: fix r43893 ('input' doubled)
+
+2010-10-13 19:24  martinl
+
+	* imagery/i.atcorr/main.cpp: i.atcor: standardize parameters key
+	  some other cosmetics
+
+2010-10-13 18:58  martinl
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: avoid gettext
+	  warnings
+	  (merge r43891 from devbr6)
+
+2010-10-13 18:44  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: define list of
+	  commands for auto-rendering
+	  (merge r43889 from devbr6)
+
+2010-10-13 18:30  martinl
+
+	* gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  OnQuit() method removed (not really working)
+
+2010-10-13 16:32  mmetz
+
+	* imagery/i.rectify/get_wind.c, imagery/i.rectify/global.h,
+	  imagery/i.rectify/main.c, imagery/i.rectify/rowcol.h: add
+	  resolution option, more robust resolution calculation
+
+2010-10-13 13:16  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: bugfix when calling
+	  i.rectify
+
+2010-10-12 14:50  mmetz
+
+	* lib/vector/dglib/sp-template.c: update comment
+
+2010-10-12 12:04  martinl
+
+	* display/d.rast/main.c, display/d.rgb/main.c,
+	  display/d.vect/main.c: sync d.rast, d.vect and d.rgb descriptions
+	  d.rgb: overlay by default (be in sync with d.rast)
+
+2010-10-12 11:16  martinl
+
+	* lib/raster/color_print.c: G_print_colors(): fix checking colr2
+	  (merge r43876 from devbr6)
+
+2010-10-12 08:23  mmetz
+
+	* lib/vector/dglib/sp-template.c: attempted fix for BUG2
+
+2010-10-11 18:55  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: color rules dialog
+	  - re-render display on apply
+	  (merge r43871 from devbr6)
+
+2010-10-11 18:01  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix re-rendering when r.colors is called
+	  (merge r43869 from devbr6)
+
+2010-10-11 16:37  martinl
+
+	* raster/r.colors/main.c: r.colors: more guisections
+
+2010-10-11 16:27  martinl
+
+	* raster/r.colors/main.c: r.colors: flag for printing color table
+	  (-p) added
+	  (merge r43863 from devbr6)
+
+2010-10-11 16:26  martinl
+
+	* include/rasterdefs.h, lib/raster/color_print.c: G_print_colors()
+	  added (used by r.colors -p)
+	  (merge from devbr6)
+
+2010-10-11 13:20  mmetz
+
+	* lib/vector/Vlib/net.c: easier dglib cache debugging
+
+2010-10-11 13:19  mmetz
+
+	* lib/vector/dglib/sp-template.c: new fix for dglib cache BUG1
+
+2010-10-11 02:40  glynn
+
+	* raster/r.series/main.c: Revert r41667 (breaks quantile=)
+
+2010-10-09 18:42  martinl
+
+	* lib/python/vector.py: pythonlib: fix typo
+
+2010-10-09 18:39  martinl
+
+	* vector/v.db.connect/main.c: v.db.connect: use default
+	  driver/database only if defined
+
+2010-10-09 18:35  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: various minor changes
+	  (merge r43832 from devbr6)
+
+2010-10-09 18:24  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: v.build.all added to the
+	  menu
+	  fix running commands when module has no required parameter
+
+2010-10-08 05:25  hamish
+
+	* scripts/v.db.renamecolumn/v.db.renamecolumn.py: if key_desc
+	  contains a,b then it expects pairs and multiple:yes is not needed
+
+2010-10-07 11:11  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: don't fail if
+	  .bash_history is not readable
+
+2010-10-07 10:56  mmetz
+
+	* raster/r.univar/r.univar.html, raster/r.univar/r3.univar.html:
+	  update manual
+
+2010-10-07 10:53  martinl
+
+	* lib/init/grass.py: add missing warning() function
+
+2010-10-07 10:47  mmetz
+
+	* raster/r.univar/r.univar_main.c,
+	  raster/r.univar/r3.univar_main.c, raster/r.univar/stats.c: format
+	  comments, add author
+
+2010-10-07 10:28  mmetz
+
+	* raster/r.univar/globals.h, raster/r.univar/r.univar.html,
+	  raster/r.univar/r.univar_main.c, raster/r.univar/r3.univar.html,
+	  raster/r.univar/r3.univar_main.c, raster/r.univar/stats.c: add
+	  option for zonal statistics
+
+2010-10-06 16:12  neteler
+
+	* raster/r.rescale.eq/r.rescale.eq.html,
+	  raster/r.rescale/r.rescale.html: HTML cosmetics + note added
+
+2010-10-06 08:38  mmetz
+
+	* raster/r.surf.contour/main.c,
+	  raster/r.surf.contour/r.surf.contour.html: add author and update
+	  manual: no known bugs left
+
+2010-10-05 13:34  martinl
+
+	* demolocation/PERMANENT: fix svn:ignore props
+
+2010-10-05 12:08  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: show new map display when no
+	  display iss available
+
+2010-10-05 12:02  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI:redraw display when
+	  r.colors is launched
+
+2010-10-05 10:44  martinl
+
+	* gui/wxpython/wxpythonlib.dox: cosmetics in wxGUI dox file
+
+2010-10-05 10:36  martinl
+
+	* gui/wxpython/wxpythonlib.dox: fix wxpythonlib dox generation
+
+2010-10-05 08:14  martinl
+
+	* gui/wxpython/wxgui.py: cosmetics in wxGUI documentation
+
+2010-10-04 19:09  martinl
+
+	* display/displaydrivers.html: fix svn:ignore prop
+
+2010-10-04 19:03  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py, gui/wxpython/wxgui.py:
+	  wxGUI/bulk dialog: fix -o flag
+	  do not override proj check by default
+	  name for grass map editable
+	  (merge r43780 from devbr6)
+
+2010-10-03 21:01  neteler
+
+	* locale/po/grasswxpy_it.po: Andrea Giacomelli: cont'ed
+
+2010-10-03 11:17  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: reset column sorting
+	  after reload
+
+2010-10-03 10:38  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: avoid redundant rendering
+
+2010-10-01 11:37  hamish
+
+	* gui/wxpython/gui_modules/goutput.py: spelling (merge from devbr6)
+
+2010-09-30 17:23  martinl
+
+	* lib/init/variables.html: note cairo driver in variables man page
+
+2010-09-30 08:46  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: solved TODO: use arrow
+	  images for column sorting
+
+2010-09-28 16:12  martinl
+
+	* Makefile: clean: cleandocs added
+
+2010-09-28 13:23  martinl
+
+	* gui/wxpython/wxpythonlib.dox: update wxGUI doxygen page (list of
+	  modules/classes)
+
+2010-09-28 01:15  glynn
+
+	* tools, vector/v.net.distance: Fix svn:ignore properties
+
+2010-09-28 01:11  glynn
+
+	* visualization/nviz/src, visualization/nviz/src/Makefile: Remove
+	  references to nvwish
+
+2010-09-28 01:06  glynn
+
+	* scripts/r.colors.stddev, scripts/v.colors, scripts/v.out.gps:
+	  Remove unnecessary svn:ignore properties
+
+2010-09-27 20:48  glynn
+
+	* db/db.columns, db/db.connect, db/db.copy, db/db.createdb,
+	  db/db.databases, db/db.describe, db/db.drivers, db/db.dropdb,
+	  db/db.droptable, db/db.execute, db/db.login, db/db.select,
+	  db/db.tables, db/drivers/dbf, db/drivers/dbf/dbf_catalog,
+	  db/drivers/mysql, db/drivers/odbc, db/drivers/ogr,
+	  db/drivers/postgres, db/drivers/sqlite, display/d.barscale,
+	  display/d.colorlist, display/d.colors, display/d.colortable,
+	  display/d.erase, display/d.extract, display/d.font,
+	  display/d.fontlist, display/d.geodesic, display/d.graph,
+	  display/d.grid, display/d.his, display/d.histogram,
+	  display/d.info, display/d.labels, display/d.legend,
+	  display/d.linegraph, display/d.measure, display/d.nviz,
+	  display/d.path, display/d.profile, display/d.rast,
+	  display/d.rast.arrow, display/d.rast.num, display/d.rgb,
+	  display/d.rhumbline, display/d.text, display/d.thematic.area,
+	  display/d.title, display/d.vect, display/d.vect.chart,
+	  display/d.what.rast, display/d.what.vect, display/d.where,
+	  display/d.zoom, general/g.access, general/g.cairocomp,
+	  general/g.copy, general/g.dirseps, general/g.filename,
+	  general/g.findetc, general/g.findfile, general/g.gisenv,
+	  general/g.gui, general/g.list, general/g.mapset,
+	  general/g.mapsets, general/g.message, general/g.mkfontcap,
+	  general/g.mlist, general/g.mremove, general/g.parser,
+	  general/g.pnmcomp, general/g.proj, general/g.region,
+	  general/g.remove, general/g.rename, general/g.setproj,
+	  general/g.tempfile, general/g.transform, general/g.version,
+	  general/manage, general/manage/lister, imagery/i.albedo,
+	  imagery/i.atcorr, imagery/i.atcorr/INFO,
+	  imagery/i.atcorr/test_suite, imagery/i.cca, imagery/i.class,
+	  imagery/i.cluster, imagery/i.emissivity, imagery/i.fft,
+	  imagery/i.find, imagery/i.gensig, imagery/i.gensigset,
+	  imagery/i.group, imagery/i.his.rgb, imagery/i.ifft,
+	  imagery/i.latlong, imagery/i.maxlik, imagery/i.modis.qc,
+	  imagery/i.ortho.photo, imagery/i.ortho.photo/lib, imagery/i.pca,
+	  imagery/i.points, imagery/i.rectify, imagery/i.rgb.his,
+	  imagery/i.smap, imagery/i.sunhours, imagery/i.target,
+	  imagery/i.vi, imagery/i.vpoints, imagery/i.zc, lib/arraystats,
+	  lib/bitmap, lib/btree, lib/cairodriver, lib/cdhc, lib/cluster,
+	  lib/datetime, lib/db, lib/db/dbmi_base, lib/db/dbmi_client,
+	  lib/db/dbmi_driver, lib/db/sqlp, lib/db/sqlp/test, lib/db/stubs,
+	  lib/display, lib/driver, lib/dspf, lib/external,
+	  lib/external/bwidget, lib/external/bwidget/images,
+	  lib/external/bwidget/lang, lib/external/shapelib, lib/fonts,
+	  lib/fonts/fonts, lib/form, lib/g3d, lib/gis, lib/gis/colors,
+	  lib/gmath, lib/gpde, lib/gpde/test, lib/gtcltk, lib/htmldriver,
+	  lib/imagery, lib/init, lib/iostream, lib/lidar, lib/linkm,
+	  lib/manage, lib/nviz, lib/ogsf, lib/pngdriver, lib/proj,
+	  lib/psdriver, lib/rowio, lib/rst, lib/rst/data,
+	  lib/rst/interp_float, lib/rst/qtree, lib/segment, lib/sites,
+	  lib/stats, lib/symbol, lib/symbol/symbol,
+	  lib/symbol/symbol/basic, lib/symbol/symbol/demo,
+	  lib/symbol/symbol/extra, lib/vector/Vlib, lib/vector/dglib,
+	  lib/vector/dglib/examples, lib/vector/diglib, lib/vector/rtree,
+	  lib/vector/rtree/docs, lib/vector/transform, misc/m.cogo,
+	  ps/ps.map, raster/r.basins.fill, raster/r.bitpattern,
+	  raster/r.buffer, raster/r.carve, raster/r.category,
+	  raster/r.circle, raster/r.clump, raster/r.coin, raster/r.colors,
+	  raster/r.colors.out, raster/r.composite, raster/r.compress,
+	  raster/r.contour, raster/r.cost, raster/r.covar, raster/r.cross,
+	  raster/r.describe, raster/r.digit, raster/r.distance,
+	  raster/r.drain, raster/r.external, raster/r.external.out,
+	  raster/r.fill.dir, raster/r.flow, raster/r.grow,
+	  raster/r.grow.distance, raster/r.gwflow, raster/r.his,
+	  raster/r.horizon, raster/r.in.arc, raster/r.in.ascii,
+	  raster/r.in.bin, raster/r.in.gdal, raster/r.in.gridatb,
+	  raster/r.in.mat, raster/r.in.poly, raster/r.in.xyz,
+	  raster/r.info, raster/r.kappa, raster/r.lake, raster/r.le,
+	  raster/r.le/r.le.patch, raster/r.le/r.le.pixel,
+	  raster/r.le/r.le.setup, raster/r.le/r.le.setup/polytocell,
+	  raster/r.le/r.le.trace, raster/r.li, raster/r.li/r.li.cwed,
+	  raster/r.li/r.li.daemon, raster/r.li/r.li.dominance,
+	  raster/r.li/r.li.edgedensity, raster/r.li/r.li.mpa,
+	  raster/r.li/r.li.mps, raster/r.li/r.li.padcv,
+	  raster/r.li/r.li.padrange, raster/r.li/r.li.padsd,
+	  raster/r.li/r.li.patchdensity, raster/r.li/r.li.patchnum,
+	  raster/r.li/r.li.richness, raster/r.li/r.li.setup,
+	  raster/r.li/r.li.shannon, raster/r.li/r.li.shape,
+	  raster/r.li/r.li.simpson, raster/r.los, raster/r.mapcalc,
+	  raster/r.mfilter, raster/r.mode, raster/r.neighbors,
+	  raster/r.null, raster/r.out.arc, raster/r.out.ascii,
+	  raster/r.out.bin, raster/r.out.gdal, raster/r.out.gridatb,
+	  raster/r.out.mat, raster/r.out.mpeg, raster/r.out.png,
+	  raster/r.out.pov, raster/r.out.ppm, raster/r.out.ppm3,
+	  raster/r.out.tiff, raster/r.out.vrml, raster/r.out.vtk,
+	  raster/r.param.scale, raster/r.patch, raster/r.profile,
+	  raster/r.proj, raster/r.quant, raster/r.quantile,
+	  raster/r.random, raster/r.random.cells, raster/r.random.surface,
+	  raster/r.reclass, raster/r.recode, raster/r.region,
+	  raster/r.report, raster/r.resamp.interp, raster/r.resamp.rst,
+	  raster/r.resamp.stats, raster/r.resample, raster/r.rescale,
+	  raster/r.rescale.eq, raster/r.ros, raster/r.series,
+	  raster/r.slope.aspect, raster/r.spread, raster/r.spreadpath,
+	  raster/r.statistics, raster/r.statistics2, raster/r.statistics3,
+	  raster/r.stats, raster/r.sun, raster/r.sunmask, raster/r.support,
+	  raster/r.support.stats, raster/r.surf.area,
+	  raster/r.surf.contour, raster/r.surf.fractal,
+	  raster/r.surf.gauss, raster/r.surf.idw, raster/r.surf.idw2,
+	  raster/r.surf.random, raster/r.terraflow, raster/r.texture,
+	  raster/r.thin, raster/r.timestamp, raster/r.to.rast3,
+	  raster/r.to.rast3elev, raster/r.to.vect, raster/r.topidx,
+	  raster/r.topmodel, raster/r.transect, raster/r.univar,
+	  raster/r.uslek, raster/r.usler, raster/r.volume, raster/r.walk,
+	  raster/r.water.outlet, raster/r.watershed,
+	  raster/r.watershed/front, raster/r.watershed/ram,
+	  raster/r.watershed/seg, raster/r.watershed/shed, raster/r.what,
+	  raster/r.what.color, raster/simwe, raster/simwe/r.sim.sediment,
+	  raster/simwe/r.sim.water, raster/simwe/simlib, raster/wildfire,
+	  raster3d/base, raster3d/r3.cross.rast, raster3d/r3.gwflow,
+	  raster3d/r3.in.ascii, raster3d/r3.in.v5d, raster3d/r3.info,
+	  raster3d/r3.mkdspf, raster3d/r3.out.ascii, raster3d/r3.out.v5d,
+	  raster3d/r3.out.vtk, raster3d/r3.showdspf, raster3d/r3.stats,
+	  raster3d/r3.timestamp, raster3d/r3.to.rast,
+	  scripts/v.in.geonames, sites/s.in.ascii, sites/s.out.ascii,
+	  tools/timer, vector/v.buffer, vector/v.build,
+	  vector/v.build.polylines, vector/v.category, vector/v.class,
+	  vector/v.clean, vector/v.clean/test, vector/v.convert,
+	  vector/v.db.connect, vector/v.db.select, vector/v.delaunay,
+	  vector/v.distance, vector/v.drape, vector/v.edit,
+	  vector/v.external, vector/v.extract, vector/v.extrude,
+	  vector/v.generalize, vector/v.hull, vector/v.in.ascii,
+	  vector/v.in.db, vector/v.in.dwg, vector/v.in.dxf,
+	  vector/v.in.ogr, vector/v.in.region, vector/v.in.sites,
+	  vector/v.info, vector/v.kcv, vector/v.kernel, vector/v.label,
+	  vector/v.label.sa, vector/v.lidar.correction,
+	  vector/v.lidar.edgedetection, vector/v.lidar.growing,
+	  vector/v.lrs, vector/v.lrs/lib, vector/v.lrs/v.lrs.create,
+	  vector/v.lrs/v.lrs.label, vector/v.lrs/v.lrs.segment,
+	  vector/v.lrs/v.lrs.where, vector/v.mapcalc,
+	  vector/v.mapcalc/plugins, vector/v.mkgrid, vector/v.neighbors,
+	  vector/v.net, vector/v.net.alloc, vector/v.net.iso,
+	  vector/v.net.path, vector/v.net.salesman, vector/v.net.steiner,
+	  vector/v.net.visibility, vector/v.normal, vector/v.out.ascii,
+	  vector/v.out.dxf, vector/v.out.ogr, vector/v.out.pov,
+	  vector/v.out.svg, vector/v.out.vtk, vector/v.outlier,
+	  vector/v.overlay, vector/v.parallel, vector/v.patch,
+	  vector/v.perturb, vector/v.proj, vector/v.qcount,
+	  vector/v.random, vector/v.reclass, vector/v.sample,
+	  vector/v.segment, vector/v.select, vector/v.split,
+	  vector/v.support, vector/v.surf.bspline, vector/v.surf.idw,
+	  vector/v.surf.rst, vector/v.to.3d, vector/v.to.db,
+	  vector/v.to.points, vector/v.to.rast, vector/v.to.rast3,
+	  vector/v.transform, vector/v.type, vector/v.univar,
+	  vector/v.vol.rst, vector/v.voronoi, vector/v.what,
+	  vector/v.what.rast, visualization/nviz, visualization/nviz/src,
+	  visualization/nviz2/cmd, visualization/wximgview,
+	  visualization/xganim, visualization/ximgview: Fix svn:ignore
+	  properties: *OBJ* => OBJ.*
+
+2010-09-27 20:14  glynn
+
+	* raster/r.regression.line: Set svn:ignore property
+
+2010-09-27 20:12  glynn
+
+	* raster/r.statistics/run_cmd.c: Fix breakage introduced by
+	  r.reclass requiring rules=- (r42423)
+
+2010-09-27 19:57  glynn
+
+	* raster/r.random/random.c: Fix bogus raster output with cover=
+	  (bug #1082)
+
+2010-09-27 18:11  mmetz
+
+	* raster/r.regression.line/main.c,
+	  raster/r.regression.line/r.regression.line.html: update manual:
+	  no more -s flag (slower but more accurate), only option is much
+	  faster and accurate
+
+2010-09-27 15:19  glynn
+
+	* tools/g.html2man/Makefile, tools/g.html2man/g.html2man.py,
+	  tools/g.html2man/groff.py, tools/g.html2man/html.py: Refactor
+	  g.html2man
+
+2010-09-27 14:34  glynn
+
+	* tools/g.html2man/g.html2man: Remove (unused) shell version of
+	  g.html2man
+
+2010-09-25 19:11  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: Python
+	  export implemented as class (WritePythonFile)
+	  (merge r43687 from devbr6)
+
+2010-09-25 18:45  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix if/else
+	  statement objects
+	  (merge r43685 from devbr6)
+
+2010-09-25 10:20  hellik
+
+	* mswindows/GRASS-Packager.bat: ship svn in wingrass-installer for
+	  g.extension
+
+2010-09-24 17:18  mmetz
+
+	* raster/r.regression.line/main.c: clean up after reading maps
+
+2010-09-24 15:24  mmetz
+
+	* raster/Makefile, raster/r.regression.line,
+	  raster/r.regression.line/Makefile,
+	  raster/r.regression.line/main.c,
+	  raster/r.regression.line/r.regression.line.html: add C version of
+	  r.regression.line
+
+2010-09-24 15:20  mmetz
+
+	* scripts/Makefile, scripts/r.regression.line: remove
+	  r.regression.line, to be replaced with fast C version
+
+2010-09-24 14:05  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: added Convert DN (digital number
+	  = pixel values) to Radiance
+
+2010-09-24 13:41  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: Example corrections
+
+2010-09-24 13:07  glynn
+
+	* db/db.execute/db.execute.html,
+	  gui/wxpython/docs/wxGUI.Icons.html,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_SEBAL01.html, lib/db/sqlp/sql.html,
+	  raster/r.sun/main.c, scripts/r.in.wms/r.in.wms.html: Minor HTML
+	  fixes
+
+2010-09-24 12:32  glynn
+
+	* tools/mkhtml.py: Revert attempts to parse HTML using regexps
+
+2010-09-24 12:14  glynn
+
+	* tools/mkhtml.py: Generate valid HTML (bug #1175)
+
+2010-09-24 12:12  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2010-09-24 12:05  neteler
+
+	* raster3d/base/r3.mask.html,
+	  raster3d/r3.cross.rast/r3.cross.rast.html,
+	  raster3d/r3.in.v5d/r3.in.v5d.html,
+	  raster3d/r3.mkdspf/r3.mkdspf.html,
+	  raster3d/r3.out.v5d/r3.out.v5d.html,
+	  raster3d/r3.out.vtk/r3.out.vtk.html,
+	  raster3d/r3.showdspf/r3.showdspf.html,
+	  raster3d/r3.stats/r3.stats.html,
+	  raster3d/r3.to.rast/r3.to.rast.html: Milena Nowotarska: docs
+	  cosmetics
+
+2010-09-24 11:29  glynn
+
+	* include/CC.h: Remove CC.h
+
+2010-09-24 08:11  neteler
+
+	* include/Make/Module.make: add missing install target
+
+2010-09-24 07:49  neteler
+
+	* tools/mkhtml.py: close open HTML tag
+
+2010-09-23 20:44  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/modeler: ignore
+	  missing parameters (show warning)
+
+2010-09-23 15:01  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: progress in
+	  if-else statements handling
+	  (merge r43651 from devbr6)
+
+2010-09-23 13:34  martinl
+
+	* raster/r.surf.random/main.c, raster/r.surf.random/randsurf.c:
+	  r.surf.random: be more verbose
+	  (merge r43648 from devbr6)
+
+2010-09-22 10:00  hamish
+
+	* vector/v.in.ascii/main.c: don't exit with an error on WinGrass
+	  (bug #1159; merge from devbr6)
+
+2010-09-22 09:47  hamish
+
+	* ps/ps.map/labels.h, ps/ps.map/r_labels.c: bump max number of
+	  label files, GNAME_MAX
+
+2010-09-22 02:10  hamish
+
+	* mswindows/GRASS-Installer.nsi: Helmut: set set PROJ_LIB and
+	  GDAL_DATA for proj4/cs2cs in windows (bug #1165, merge r43520 and
+	  r43542 from devbr6)
+
+2010-09-21 14:38  mmetz
+
+	* raster/r.surf.contour/find_con.c, raster/r.surf.contour/main.c:
+	  fix for #959, another nodata fix
+
+2010-09-21 14:15  mmetz
+
+	* lib/btree2/rbtree.c: compact and format code
+
+2010-09-21 12:48  mmetz
+
+	* lib/btree2/rbtree.c: non-recursive tree destruction (see libavl),
+	  change towards standalone lib, eliminate obscure -O2/3 bug
+
+2010-09-21 12:47  neteler
+
+	* raster/r.neighbors/main.c, raster/r.neighbors/r.neighbors.html:
+	  add range method
+
+2010-09-21 12:01  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI: enlarge size
+	  of loc wizard (#1167)
+	  (merge r43569 from devbr6)
+
+2010-09-21 11:56  martinl
+
+	* gui/wxpython/gis_set.py,
+	  gui/wxpython/gui_modules/location_wizard.py: trac #1167
+	  (merge r43567 from devbr6)
+
+2010-09-21 10:27  neteler
+
+	* raster/r.proj/r.proj.html: typo fixed
+
+2010-09-21 06:54  mmetz
+
+	* raster/r.surf.contour/main.c: masking and clean-up
+
+2010-09-21 00:50  hamish
+
+	* raster/r.out.mpeg/main.c, raster/r.out.mpeg/write.c: remove quiet
+	  flag, portable /dev/null, partial merge of cleanups from devbr6
+
+2010-09-20 21:13  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: fix bulk import (dir)
+	  (merge r43544 from devbr6)
+
+2010-09-20 19:18  glynn
+
+	* general/g.message/main.c: Don't treat message as a format string
+	  (bug #1162)
+
+2010-09-20 17:03  mmetz
+
+	* raster/r.surf.contour/contour.h,
+	  raster/r.surf.contour/find_con.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.contour/read_cell.c: add fp and NULL (nodata)
+	  support
+
+2010-09-20 00:25  hamish
+
+	* lib/init/lock.c: refine warning message (merge from devbr6)
+
+2010-09-19 21:42  martinl
+
+	* include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in: fix include_path
+
+2010-09-18 19:45  neteler
+
+	* general/g.transform/g.transform.html: typo fixed
+
+2010-09-18 14:47  neteler
+
+	* scripts/v.db.dropcolumn/v.db.dropcolumn.py: msg cosmetics
+
+2010-09-18 12:41  martinl
+
+	* mswindows/osgeo4w/package.sh: back to gdal-16
+
+2010-09-17 14:41  martinl
+
+	* gui/wxpython/wxpythonlib.dox: update dox file
+
+2010-09-17 14:29  martinl
+
+	* Makefile, grasslib.dox, gui/wxpython/wxpythonlib.dox: programmers
+	  manual build again
+
+2010-09-17 14:28  martinl
+
+	* tools/mkhtml.py: fix generating toc for manual pages
+
+2010-09-17 12:58  mmetz
+
+	* vector/v.surf.bspline/main.c: add masking option to
+	  v.surf.bspline
+
+2010-09-17 12:57  mmetz
+
+	* raster/r.resamp.bspline/crosscorr.c,
+	  raster/r.resamp.bspline/main.c: fine-tune masking option
+
+2010-09-17 12:56  mmetz
+
+	* lib/lidar/lidar.h, lib/lidar/zones.c: read raster and check
+	  masked cells in one go
+
+2010-09-16 16:11  mmetz
+
+	* vector/v.surf.bspline/main.c: adjust to masking option
+
+2010-09-16 16:10  mmetz
+
+	* raster/r.resamp.bspline/bspline.h,
+	  raster/r.resamp.bspline/main.c, raster/r.resamp.bspline/resamp.c:
+	  add masking option to r.resamp.bspline
+
+2010-09-16 16:09  mmetz
+
+	* lib/lidar/lidar.h, lib/lidar/raster.c, lib/lidar/zones.c: add
+	  masking option
+
+2010-09-16 13:00  huhabla
+
+	* include/proto_dbmi.h, lib/db/dbmi_base/table.c,
+	  lib/db/dbmi_base/test/test_table.c: New table cloumn access
+	  method and tests implemented.
+	  New Prototypes added to header file.
+
+2010-09-16 10:13  mmetz
+
+	* raster/r.walk/main.c: fix wrong directions
+
+2010-09-15 23:54  hamish
+
+	* lib/db/dbmi_client/db.c: +debug msgs to help find why it failed
+	  (merge from devbr6)
+
+2010-09-15 20:47  martinl
+
+	* gui/wxpython/docs/wxGUI.html: remove 'configuration' section from
+	  wxGUI manual page
+
+2010-09-15 20:39  martinl
+
+	* display/d.graph/d.graph.html, display/d.his/d.his.html,
+	  general/g.message/g.message.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html, ps/ps.map/ps.map.html,
+	  raster/r.basins.fill/r.basins.fill.html,
+	  raster/r.cost/r.cost.html, raster/r.in.xyz/r.in.xyz.html,
+	  raster/r.out.gdal/r.out.gdal.html, raster/r.proj/r.proj.html,
+	  raster/r.resamp.bspline/r.resamp.bspline.html,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.what/r.what.html, scripts/m.proj/m.proj.html,
+	  tools/mkhtml.py,
+	  vector/v.lidar.correction/v.lidar.correction.html,
+	  vector/v.lidar.edgedetection/v.lidar.edgedetection.html,
+	  vector/v.lidar.growing/v.lidar.growing.html,
+	  vector/v.outlier/v.outlier.html, vector/v.reclass/v.reclass.html,
+	  vector/v.segment/v.segment.html,
+	  vector/v.surf.bspline/v.surf.bspline.html: toc in manual
+	  implemented
+
+2010-09-15 20:38  martinl
+
+	* gui/wxpython/README, gui/wxpython/gui_modules/utils.py: wxGUI:
+	  check if map exists, README updated (nviz pythonized)
+
+2010-09-13 18:10  huhabla
+
+	* include/proto_dbmi.h, lib/db/dbmi_base/column.c,
+	  lib/db/dbmi_base/dbmscap.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/table.c, lib/db/dbmi_base/test,
+	  lib/db/dbmi_base/test/Makefile,
+	  lib/db/dbmi_base/test/test.dbmi_base.lib.html,
+	  lib/db/dbmi_base/test/test_columns.c,
+	  lib/db/dbmi_base/test/test_dbmi_base_lib.h,
+	  lib/db/dbmi_base/test/test_main.c,
+	  lib/db/dbmi_base/test/test_table.c, lib/db/dbmi_client/column.c,
+	  lib/db/dbmi_client/printtab.c: Added new dbmi table and column
+	  functions. Updated dbmi doxygen doc.
+	  Added tests for new dbmi table and column functions. Corrected
+	  some prototype definitions.
+
+2010-09-09 13:36  mmetz
+
+	* scripts/v.db.univar/v.db.univar.py: pythonize error message
+
+2010-09-08 15:28  neteler
+
+	* doc/howto_release.txt: some URLs updated
+
+2010-09-07 20:13  neteler
+
+	* gui/scripts/p.mon.py: Fix path
+
+2010-09-04 16:46  hellik
+
+	* mswindows/GRASS-Packager.bat: fix folder name to be recognised by
+	  the nsis-script
+
+2010-09-03 20:36  neteler
+
+	* doc/howto_release.txt: fine tuning
+
+2010-09-03 15:44  martinl
+
+	* mswindows/GRASS-Installer.nsi: winGRASS installer variables:
+	  strip off version number
+
+2010-09-01 22:14  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: attempt to fix #1143
+	  (merge r43388 from relbr64)
+
+2010-09-01 13:02  mmetz
+
+	* gui/wxpython/gui_modules/__init__.py: keep alphabetical order
+
+2010-09-01 12:49  mmetz
+
+	* gui/icons/silk/zoom_extend.png, gui/icons/silk/zoom_extent.png,
+	  gui/wxpython/icons/silk_icons.py: fix typo
+
+2010-09-01 12:45  mmetz
+
+	* gui/wxpython/wxgui.py: import GCP Manager only on request
+
+2010-09-01 09:56  mmetz
+
+	* gui/wxpython/gui_modules/gcpmapdisp.py: GCP Manager: projection
+	  checkbox needed by BufferedWindow
+
+2010-09-01 01:04  hamish
+
+	* scripts/g.extension/g.extension.py: improve comment wording
+
+2010-09-01 01:03  hamish
+
+	* scripts/g.extension/g.extension.py: todo comment
+
+2010-08-31 12:29  neteler
+
+	* locale/po/grasswxpy_th.po: some more
+
+2010-08-31 12:20  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/images/small_down_arrow.png,
+	  gui/wxpython/images/small_up_arrow.png: GCP Manager update
+
+2010-08-31 12:02  neteler
+
+	* locale/po/grasswxpy_th.po: new; pre-translated with related Thai
+	  .po files
+
+2010-08-30 12:23  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: improvements
+	  in if-else statements
+
+2010-08-30 09:17  martinl
+
+	* vector/v.surf.idw/main.c: v.surf.idw: more guisections
+
+2010-08-30 04:46  neteler
+
+	* locale/po/grasslibs_vi.po, locale/po/grassmods_vi.po,
+	  locale/po/grasswxpy_vi.po: Bui Huu Manh: cont'ed
+
+2010-08-30 04:33  neteler
+
+	* locale/po/grassmods_de.po: Robert Nuske: cont'ed
+
+2010-08-29 18:57  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska + Robert Szczepanek:
+	  cont'ed
+
+2010-08-29 15:28  glynn
+
+	* lib/pngdriver/Graph_close.c, lib/pngdriver/Graph_set.c,
+	  lib/pngdriver/pngdriver.h, visualization/wximgview/main.cc:
+	  Add/fix mmap'd BMP support for Windows
+
+2010-08-29 10:56  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_ml.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_pt.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_tr.po, locale/po/grasswxpy_vi.po,
+	  locale/po/grasswxpy_zh.po: merged in translations from 6.4
+
+2010-08-29 10:52  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: update from
+	  template
+
+2010-08-29 07:58  hamish
+
+	* raster/r.in.poly/get_item.c, raster/r.in.poly/main.c,
+	  raster/r.in.poly/poly2rast.c: more precise surpression of
+	  warnings (needed at all?), add bad-coord warnings (side issue
+	  from #1142; merge from devbr6)
+
+2010-08-29 07:37  neteler
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py: gettext fixes
+
+2010-08-28 09:55  neteler
+
+	* locale/po/grassmods_de.po: cosmetics
+
+2010-08-27 21:01  hellik
+
+	* mswindows/GRASS-Installer.nsi: best compression algorithm and
+	  optimal (de-)compression rate
+
+2010-08-27 18:20  mmetz
+
+	* vector/v.in.ogr/geom.c: fix indent bug
+
+2010-08-27 18:10  mmetz
+
+	* vector/v.in.ogr/geom.c: fix bug for min_area
+
+2010-08-27 18:09  mmetz
+
+	* vector/v.in.ogr/main.c: count features only when needed
+
+2010-08-27 17:03  mmetz
+
+	* lib/vector/vectorlib.dox: sync to dig_struct.h
+
+2010-08-27 14:58  mmetz
+
+	* lib/vector/Vlib/clean_nodes.c: fix for special case: line ends
+	  connected to same node with same angle
+
+2010-08-27 14:30  glynn
+
+	* gui/wxpython/Makefile, lib/python/ctypes/Makefile: "make clean"
+	  fixes
+
+2010-08-27 13:12  neteler
+
+	* misc/m.measure/Makefile, misc/m.measure/main.c: display lib not
+	  needed
+
+2010-08-27 07:20  neteler
+
+	* doc/howto_release.txt: release notes updated
+
+2010-08-27 06:18  mmetz
+
+	* locale/po/grassmods_de.po: fix translation error
+
+2010-08-26 22:36  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py, gui/wxpython/wxgui.py:
+	  wxGUI: prompt focus cosmetics
+
+2010-08-26 20:47  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: if-else
+	  condition properties in progress
+
+2010-08-26 10:40  martinl
+
+	* display/Makefile: no need for Html.make
+
+2010-08-26 10:38  martinl
+
+	* display/Makefile: install also displaydrivers.html page
+
+2010-08-26 10:30  martinl
+
+	* man/build_html.py: fix 'GRASS startup manual page' link & add
+	  link to gnu gpl
+
+2010-08-26 08:59  glynn
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: Split
+	  GLWindow.OnPaint() into OnPaint() and DoPaint()
+	  OnPaint() should only be called from an EVT_PAINT handler
+
+2010-08-26 08:52  glynn
+
+	* lib/gis/gisinit.c: Set _fmode = O_BINARY at startup; relying upon
+	  fmode.o doesn't work
+	  for libraries loaded at run-time (e.g. ctypes).
+
+2010-08-26 08:42  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix r43266
+
+2010-08-26 05:44  hamish
+
+	* scripts/m.proj/m.proj.py: option not req'd as a default answer
+	  exists
+
+2010-08-25 21:37  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py: wxGUI/modeler: fix
+	  OnCmdRun/Done
+
+2010-08-25 21:04  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: save loop
+	  settings
+
+2010-08-25 18:54  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  wxGUI/modeler: add help icon to the toolbar
+
+2010-08-25 18:08  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: attempt to fix #1137
+
+2010-08-25 15:09  neteler
+
+	* locale/po/grassmods_de.po, locale/po/grasswxpy_de.po: Robert
+	  Nuske: cont'ed
+
+2010-08-25 10:35  neteler
+
+	* lib/vector/vectorlib.dox: markusM: corrected header docs
+
+2010-08-25 07:28  hamish
+
+	* gui/wxpython/gui_modules/toolbars.py: wxC++ tools only disabled
+	  in 6.4
+
+2010-08-25 07:27  hamish
+
+	* gui/wxpython/gui_modules/toolbars.py: just because it didn't
+	  build doesn't always mean that it's MS Windows's fault (merge
+	  from devbr6)
+
+2010-08-25 01:12  hamish
+
+	* scripts/m.proj/m.proj.py: gui sections (merge from devbr6)
+
+2010-08-25 01:07  hamish
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: hone in on right
+	  number of ampersands (merge from devbr6)
+
+2010-08-24 17:35  martinl
+
+	* configure, configure.in: configure scrip updated - swig removed
+
+2010-08-24 17:32  martinl
+
+	* Makefile, swig: swig also removed from trunk
+
+2010-08-24 16:59  martinl
+
+	* imagery/i.atcorr/main.cpp: i.atcorr: fix key_desc
+
+2010-08-24 16:51  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome screen: code styling fixed
+
+2010-08-24 13:53  neteler
+
+	* locale/po/grasslibs_ml.po: Mohammed Rashad: cont'ed
+
+2010-08-24 13:42  martinl
+
+	* mswindows/osgeo4w/package.sh: ignore errors (diglib and LFS still
+	  not solved)
+
+2010-08-24 11:31  hamish
+
+	* lib/init/grass.py: expand wx -> wxpython if needed (merge from
+	  6.x)
+
+2010-08-24 08:39  martinl
+
+	* REQUIREMENTS.html: clean up URLs
+
+2010-08-24 08:31  martinl
+
+	* REQUIREMENTS.html: update requirementes (ctypes)
+
+2010-08-24 06:48  hamish
+
+	* gui/wxpython/xml/menudata.xml: you gotta keep em separated
+
+2010-08-24 06:23  hamish
+
+	* gui/wxpython/xml/menudata.xml: menu item to print current
+	  projection settings (based on 'g.region -p' menu item)
+
+2010-08-23 12:17  neteler
+
+	* locale/po/grasswxpy_ml.po: Mohammed Rashad: cont'ed
+
+2010-08-22 23:13  huhabla
+
+	* lib/g3d/g3dhistory.c: Reverted #43203 and fixed the pointer
+	  handling.
+
+2010-08-22 22:22  neteler
+
+	* man/grassdocs.css: use transparency to avoid white boxes
+
+2010-08-22 22:09  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grasswxpy_pl.po: Milena
+	  Nowotarska: cont'ed
+
+2010-08-22 20:41  huhabla
+
+	* lib/g3d/g3dhistory.c: Fixed wrong histroy initialization which
+	  causes a segfault when reading
+	  a 3d raster history file.
+
+2010-08-22 05:51  hamish
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: < and <= tooltips were
+	  swapped
+
+2010-08-22 03:37  hamish
+
+	* gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/xml/menudata.xml: fix & buttons; tooltip typos; add
+	  'map' back into name to preserve prior training
+
+2010-08-22 03:15  hamish
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: expand conditional,
+	  helping whitespace
+
+2010-08-22 03:07  hamish
+
+	* general/g.gui/main.c: more feedback that the GUI is starting (may
+	  take a while on older systems) (merge from devbr6)
+
+2010-08-22 03:04  hamish
+
+	* doc/python/m.distance.py: svn props
+
+2010-08-22 03:04  hamish
+
+	* doc/python/raster_example_ctypes.py: expand, code comments, svn
+	  props (merge from devbr6)
+
+2010-08-22 02:56  hamish
+
+	* doc/python/m.distance.py, doc/python/vector_example_ctypes.py:
+	  needs to be ported to ctypes
+
+2010-08-22 02:54  hamish
+
+	* doc/python/example_ctypes.py,
+	  doc/python/vector_example_ctypes.py, doc/python/vectoraccess.py:
+	  rename to be in sync with other examples
+
+2010-08-22 02:53  hamish
+
+	* doc/python/README, doc/python/m.distance.py,
+	  doc/python/vectoraccess.py: add README, copy over SWIG examples
+	  from swig/python/examples/ (still need to be ported to ctypes)
+
+2010-08-22 02:46  hamish
+
+	* doc/python/raster_example_ctypes.py: rename to make room for more
+	  examples (merge from 6.5svn)
+
+2010-08-22 01:04  neteler
+
+	* locale/po/grasswxpy_de.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_pl.po: updated from 6.4
+
+2010-08-21 08:05  neteler
+
+	* locale/Makefile: glynn: trap uncompiled GRASS
+
+2010-08-20 23:00  glynn
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/images/small_down_arrow.png,
+	  gui/wxpython/images/small_up_arrow.png: Move images out of source
+	  code into image files
+
+2010-08-20 22:57  glynn
+
+	* lib/python/ctypes/ctypesgencore/old libraryloader.py: Remove
+	  unused file
+
+2010-08-20 13:13  hellik
+
+	* lib/python/Makefile: #1125: wingrass - ctypes - compiling error
+	  fixed
+
+2010-08-20 11:19  glynn
+
+	* lib/python/ctypes/ctypesgencore/expressions.py: Python <=2.5
+	  compatibility: float('inf')
+
+2010-08-18 06:14  glynn
+
+	* lib/gis/copy_dir.c: Fix bogus inclusion of <grass/config.h>
+
+2010-08-17 20:04  martinl
+
+	* general/g.gui/main.c: g.gui: cosmetics in description
+
+2010-08-16 18:39  martinl
+
+	* gui/wxpython/gui_modules/wxnviz.py: fix r43151
+
+2010-08-16 18:38  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI: don't crash when
+	  wxnviz is broken
+	  (merge r43149 from trunk)
+
+2010-08-16 18:37  martinl
+
+	* mswindows/osgeo4w/package.sh: osgeo4w: switch back to gdal17
+
+2010-08-16 16:59  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: fix typo (see r43145)
+
+2010-08-16 16:51  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxGUI/nviz: fix fringes
+
+2010-08-16 15:39  mmetz
+
+	* include/config.h.in: deactivate MINGW32 LFS, see comments
+
+2010-08-16 15:22  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/icons/icon.py: wxGUI/nviz: set properties from cmd
+	  (d.vect)
+
+2010-08-16 13:32  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/Nviz: fix vector
+	  lines
+
+2010-08-16 13:01  mmetz
+
+	* raster/r.watershed/ram/init_vars.c: keep in sync with disk swap
+	  version
+
+2010-08-16 11:09  mmetz
+
+	* include/config.h.in: LFS for wingrass: fix for visualization/nviz
+
+2010-08-16 08:51  mmetz
+
+	* include/config.h.in: LFS for wingrass: another old name. use
+	  typedef instead of define?
+
+2010-08-16 07:55  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: remove extra StaticBox
+	  from layout
+
+2010-08-16 07:20  martinl
+
+	* lib/python/Makefile: disable swig, reenable when #1125 is fixed
+
+2010-08-15 22:48  martinl
+
+	* mswindows/osgeo4w/package.sh: swig has been removed
+	  (merge r43125 from trunk)
+
+2010-08-15 18:26  glynn
+
+	* lib/python/ctypes/Makefile: Hack for libintl on Windows
+
+2010-08-15 17:29  glynn
+
+	* lib/python/ctypes/ctypesgencore/parser/preprocessor.py: On
+	  Windows, invoke preprocessor via sh.exe
+
+2010-08-15 11:08  mmetz
+
+	* include/config.h.in: LFS for wingrass
+
+2010-08-14 22:29  glynn
+
+	* lib/python/ctypes/ctypesgencore/parser/preprocessor.py: Windows
+	  fixes:
+	  strip CRs from preprocessor output
+	  replace \ with / in tempfile name
+
+2010-08-14 21:32  hellik
+
+	* mswindows/osgeo4w/package.sh: attempt to get in the meantime
+	  nightly wingrass7-builds back
+	  see
+	  http://lists.osgeo.org/pipermail/grass-dev/2010-August/051580.html
+
+2010-08-14 18:34  mmetz
+
+	* vector/v.info/main.c: temporary debug check for LFS
+
+2010-08-14 18:11  mmetz
+
+	* mswindows/osgeo4w/package.sh: osgeo4w: LFS for wingrass
+
+2010-08-14 18:09  mmetz
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li: LFS for wingrass
+
+2010-08-14 18:08  mmetz
+
+	* vector/v.mapcalc/map.c: v.mapcalc: LFS for wingrass
+
+2010-08-14 18:07  mmetz
+
+	* lib/vector/Vlib/open.c: lib/vector/Vlib: LFS for wingrass
+
+2010-08-14 18:06  mmetz
+
+	* lib/vector/dglib/examples/parse.c: lib/vector/dglib/examples: LFS
+	  for wingrass
+
+2010-08-14 18:05  mmetz
+
+	* lib/vector/diglib/file.c: lib/vector/diglib: LFS for wingrass
+
+2010-08-14 18:04  mmetz
+
+	* lib/init/clean_temp.c: lib/init: LFS for wingrass
+
+2010-08-14 18:03  mmetz
+
+	* lib/db/dbmi_base/isdir.c: dbmi_base: LFS for wingrass
+
+2010-08-14 18:02  mmetz
+
+	* display/d.font/main.c: d.font: LFS for wingrass
+
+2010-08-14 18:02  mmetz
+
+	* general/g.mkfontcap/freetype_fonts.c: g.mkfontcap: LFS for
+	  wingrass
+
+2010-08-14 18:01  mmetz
+
+	* general/g.access/get_perms.c: g.access: LFS for wingrass
+
+2010-08-14 18:00  mmetz
+
+	* lib/gis/copy_dir.c, lib/gis/mapset_msc.c, lib/gis/mapset_nme.c,
+	  lib/gis/paths.c, lib/gis/remove.c, lib/gis/user_config.c:
+	  lib/gis: LFS for wingrass
+
+2010-08-14 17:57  mmetz
+
+	* include/iostream/ami_stream.h: ami_stream.h: LFS for wingrass
+
+2010-08-14 17:57  mmetz
+
+	* include/gisdefs.h: gisdefs.h: LFS for wingrass
+
+2010-08-14 17:56  mmetz
+
+	* include/config.h.in: config.h.in: LFS for wingrass
+
+2010-08-14 16:24  mmetz
+
+	* lib/iostream/ami_stream.cc: iostream lib: use G_fseek
+
+2010-08-14 16:23  mmetz
+
+	* include/iostream/ami_stream.h: iostream: use G_fseek/G_ftell
+
+2010-08-14 12:39  mmetz
+
+	* vector/v.distance/main.c: refined search box increase
+
+2010-08-13 11:13  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: apply patch for
+	  GRASS7 if available
+
+2010-08-13 10:17  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: fix remove
+	  option when module is not available
+	  add new flag to avoid removing downloaded source code
+
+2010-08-13 08:22  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  wxGUI/GCPManager: use grass2 'help' icon
+
+2010-08-13 07:44  martinl
+
+	* gui/icons/grass2/help.png: add missing help icon
+
+2010-08-13 07:42  martinl
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI_nviz_toolbar.jpg,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI/nviz: add help icon to
+	  the toolbar + update documentation
+
+2010-08-13 07:22  mlennert
+
+	* scripts/v.db.dropcolumn/v.db.dropcolumn.py: Recreate index on key
+	  column in sqlite database
+
+2010-08-13 06:13  martinl
+
+	* scripts/v.db.dropcolumn/v.db.dropcolumn.py: v.db.dropcolumn:
+	  message cosmetics
+
+2010-08-12 18:12  mmetz
+
+	* include/config.h.in: first step towards LFS for wingrass
+
+2010-08-12 18:04  mmetz
+
+	* lib/vector/Vlib/open.c: avoid struct stat
+
+2010-08-12 18:02  mmetz
+
+	* lib/vector/diglib/file.c: add comment as reminder
+
+2010-08-12 17:52  mmetz
+
+	* lib/db/dbmi_base/login.c: avoid struct stat
+
+2010-08-12 17:39  mmetz
+
+	* lib/gis/tempfile.c: avoid struct stat
+
+2010-08-12 17:33  mmetz
+
+	* general/g.mkfontcap/main.c: avoid struct stat
+
+2010-08-12 17:23  mmetz
+
+	* lib/vector/Vlib/cindex.c: avoid struct stat
+
+2010-08-12 17:23  mmetz
+
+	* lib/vector/Vlib/open_nat.c: avoid struct stat
+
+2010-08-12 17:22  mmetz
+
+	* lib/vector/Vlib/open.c: avoid struct stat
+
+2010-08-12 17:22  mmetz
+
+	* lib/vector/Vlib/close.c: avoid struct stat
+
+2010-08-12 17:21  mmetz
+
+	* lib/vector/Vlib/map.c: avoid struct stat
+
+2010-08-12 08:58  martinl
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI_nviz_toolbar.jpg: wxGUI/nviz: describe 3D
+	  view toolbar in the manual
+
+2010-08-12 08:35  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: cosmetics in toolbar
+	  captions
+
+2010-08-12 08:20  martinl
+
+	* gui/icons/grass2/3d-fringe.png, gui/icons/grass2/3d-light.png,
+	  gui/icons/grass2/3d-raster.png, gui/icons/grass2/3d-vector.png,
+	  gui/icons/grass2/3d-view.png, gui/icons/grass2/3d-volume.png,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI/nviz: more icons
+	  (view/data/appearance) in the wxNViz toolbar -
+	  thanks to Robert Szczepanek for new wxNviz icons
+
+2010-08-12 07:37  mmetz
+
+	* scripts/v.what.vect/v.what.vect.py: remove trailing space
+
+2010-08-11 21:33  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: move add command to the submenu
+
+2010-08-11 21:19  martinl
+
+	* gui/icons/grass2/check.png, gui/icons/grass2/data-add.png,
+	  gui/icons/grass2/execute.png, gui/icons/grass2/image-export.png,
+	  gui/icons/grass2/modeler-main.png,
+	  gui/icons/grass2/modeler-variables.png,
+	  gui/icons/grass2/module-add.png, gui/icons/grass2/move.png,
+	  gui/icons/grass2/python-export.png,
+	  gui/icons/grass2/relation-create.png,
+	  gui/icons/grass2/zoom-extent.png: update svn props
+
+2010-08-11 21:18  martinl
+
+	* gui/icons/grass2/modeler-main.png,
+	  gui/icons/grass2/modeler-variables.png,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py, gui/wxpython/wxgui.py: wxGUI:
+	  add new modeler icons (thanks to Robert Szczepanek)
+
+2010-08-11 16:41  mmetz
+
+	* vector/v.distance/v.distance.html: update manual with coauthor
+
+2010-08-11 16:39  mmetz
+
+	* vector/v.distance/v.distance.html: update manual
+
+2010-08-11 16:37  mmetz
+
+	* vector/v.distance/main.c: speed: account for special cases
+
+2010-08-11 12:51  mmetz
+
+	* vector/v.distance/main.c: select features: stepwise increase
+	  search box
+
+2010-08-11 11:43  mmetz
+
+	* vector/v.in.ogr/main.c: boundary splitting: activate polygon
+	  count
+
+2010-08-11 11:40  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/global.h,
+	  vector/v.in.ogr/main.c: boundary splitting distance: account for
+	  multipolygons
+
+2010-08-10 15:22  martinl
+
+	* scripts/v.db.addcolumn/v.db.addcolumn.py: v.db.addcolumn: inform
+	  user when column already exists
+
+2010-08-10 12:02  martinl
+
+	* mswindows/osgeo4w/package.sh: osgeo4w: disable large files
+
+2010-08-10 10:45  martinl
+
+	* db/drivers/sqlite/grass-sqlite.html: sqlite manual: clean up
+
+2010-08-09 19:25  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome screen: focus 'Start
+	  GRASS' when creating new mapset
+
+2010-08-09 19:18  martinl
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI_nviz_tools_surface.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_vector.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_view.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_volume.jpg,
+	  gui/wxpython/gui_modules/globalvar.py: wxGUI/nviz: update
+	  screenshots in the manual + cosmetics
+
+2010-08-09 18:16  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI/nviz: fix volumes
+
+2010-08-09 10:44  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI/nviz: 3d raster visualization works
+	  again
+
+2010-08-09 10:16  martinl
+
+	* gui/scripts/Makefile, gui/scripts/d.rast3.py,
+	  gui/scripts/d.rast3d.py, include/Make/Python.make: install wxGUI
+	  scripts correctly
+	  d.rast3 renamed to d.rast3d
+
+2010-08-07 08:48  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxGUI/nviz: use log
+	  class instead of print
+
+2010-08-06 21:53  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: redirect
+	  messages/progress info
+
+2010-08-05 16:12  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: wxGUI/nviz: fix query
+	  surface/vector toolbar
+
+2010-08-04 20:33  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI/nviz: fix unloading
+	  vector points/lines
+
+2010-08-04 20:07  martinl
+
+	* gui/wxpython/gui_modules/workspace.py: wxGUI/nviz: some
+	  workspace-related fixes
+
+2010-08-04 18:39  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: don't override workspace file when
+	  failed
+
+2010-08-04 18:22  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: set changed flag when saving
+	  workspace
+
+2010-08-04 12:10  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: create new vector
+	  map - don't fail if vector map already exists
+
+2010-08-04 11:22  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI/dbm: set default DB
+	  settings if not defined
+
+2010-08-04 11:10  martinl
+
+	* db/db.connect/main.c: db.connect: new 'd' flag (set from default
+	  settings)
+
+2010-08-04 06:06  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI/nviz: set page id
+	  to 0
+
+2010-08-03 13:30  mmetz
+
+	* vector/v.db.connect/main.c: go back to r42979
+
+2010-08-03 12:22  glynn
+
+	* Makefile, include/Make/Docs.make: Clean up docs targets
+
+2010-08-03 10:43  mmetz
+
+	* vector/v.db.connect/main.c: also print -p output with --q
+
+2010-08-03 10:19  mmetz
+
+	* vector/v.db.connect/main.c: print shell script style output in
+	  shell script style
+
+2010-08-03 09:48  neteler
+
+	* gui/wxpython/docs/wxGUI.Nviz.html: say how to start
+
+2010-08-03 09:00  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: preselect a source map
+	  for display; some help for wingrass
+
+2010-08-03 08:57  mmetz
+
+	* lib/vector/Vlib/write_nat.c: cosmetics
+
+2010-08-02 21:14  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: fix calling
+	  gcmd.GError
+
+2010-08-02 20:54  martinl
+
+	* lib/ogsf/Gs3.c: ogsflib: message cosmetics (use fully qualified
+	  name)
+
+2010-08-02 20:46  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/icons/icon.py: wxGUI/nviz: various fixes cont'ed
+
+2010-08-02 20:13  glynn
+
+	* lib/raster/get_row.c: Fix for split window (from Markus Metz)
+
+2010-08-02 16:34  hamish
+
+	* general/g.mkfontcap/g.mkfontcap.html: correct export syntax
+
+2010-08-02 15:30  mmetz
+
+	* lib/vector/Vlib/remove_areas.c: partially revert r42962
+
+2010-08-02 15:28  mmetz
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/write_nat.c: only attach isles that are not
+	  attached
+
+2010-08-02 10:24  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI: various nviz
+	  related fixes
+
+2010-08-01 09:00  mmetz
+
+	* scripts/v.db.droptable/v.db.droptable.py: find
+	  grass.vector_layer_db, use the vector's database and driver
+
+2010-07-31 23:49  hamish
+
+	* general/g.proj/output.c: paul: only split at space characters if
+	  there is a + character following (merge from devbr6)
+
+2010-07-31 17:13  hamish
+
+	* lib/vector/Vlib/ascii.c: accept D:M:S coords in standard mode
+	  (merge from devbr6)
+
+2010-07-29 19:44  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py, gui/wxpython/wxgui.py: wxGUI:
+	  cosmetics
+
+2010-07-29 19:25  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py:
+	  wxGUI: clean up gcmd.<error message> classes
+
+2010-07-29 10:41  hamish
+
+	* raster/r.sun/rsunlib.c: merge minor whitespace and comment tweaks
+	  from devbr6
+
+2010-07-29 08:06  hamish
+
+	* raster/r.sun/rsunlib.c: document the coeffs in the Solar Constant
+	  correction function (merge from devbr6)
+
+2010-07-28 23:37  neteler
+
+	* INSTALL, README, SUBMITTING, doc/infrastructure.txt,
+	  swig/swiglib.dox: new Progman URL
+
+2010-07-28 18:23  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: various minor
+	  fixes
+
+2010-07-28 11:30  mmetz
+
+	* vector/v.to.rast/do_areas.c: change confusing warning to degub
+	  msg
+
+2010-07-28 10:23  neteler
+
+	* scripts/v.krige/v.krige.py: msg cosmetics
+
+2010-07-28 07:49  mmetz
+
+	* scripts/v.db.univar/v.db.univar.py: sync to r.univar etc
+
+2010-07-27 10:09  neteler
+
+	* scripts/v.krige/v.krige.py: check if run in a GRASS session
+
+2010-07-26 20:43  mmetz
+
+	* scripts/v.db.univar/v.db.univar.py: add shell script style flag
+
+2010-07-26 19:00  neteler
+
+	* raster/r.out.gdal/export_band.c: msg cosmetics (also for GRASS-R
+	  interface)
+
+2010-07-26 09:14  mmetz
+
+	* imagery/i.rectify/main.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/write.c: adjust to r42876
+
+2010-07-25 20:53  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_preferences.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/nviz: preference
+	  fixes
+
+2010-07-25 20:50  neteler
+
+	* imagery/i.atcorr/create_iwave.py, imagery/i.atcorr/i.atcorr.html:
+	  fix python line; + Anne Ghisla
+
+2010-07-25 10:14  aghisla
+
+	* imagery/i.atcorr/i.atcorr.html: fix typo in table - wrong number
+	  to ikonos
+
+2010-07-24 23:54  huhabla
+
+	* lib/raster/history.c: Doxygen documentation update.
+
+2010-07-24 08:45  mmetz
+
+	* lib/lidar/zones.c: adjust lidar lib to r42876
+
+2010-07-23 14:14  aghisla
+
+	* imagery/i.atcorr/GeomCond.cpp, imagery/i.atcorr/GeomCond.h,
+	  imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/Iwave.h,
+	  imagery/i.atcorr/i.atcorr.html: Added IKONOS atmospherical
+	  correction
+
+2010-07-23 10:51  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py: wxGUI GCP Manager:
+	  wingrass fixes
+
+2010-07-22 17:07  mmetz
+
+	* gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.html: fix typos
+
+2010-07-22 09:56  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI: clean up vdigit/nviz
+	  error messages
+	  (merge r42878 from devbr6)
+
+2010-07-22 05:46  glynn
+
+	* display/d.rast.num/main.c, imagery/i.atcorr/main.cpp,
+	  imagery/i.ifft/main.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/write.c, include/rasterdefs.h,
+	  lib/raster/alloc_cell.c, lib/raster/closecell.c,
+	  lib/raster/get_row.c, lib/raster/set_window.c,
+	  lib/raster/zero_cell.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/resout2d.c, raster/r.coin/main.c,
+	  raster/r.flow/io.c, raster/r.horizon/main.c,
+	  raster/r.proj/main.c, raster/r.proj/readcell.c,
+	  raster/r.random.cells/init.c, raster/r.resamp.filter/main.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.stats/main.c,
+	  raster/simwe/simlib/output.c: Implement split window
+
+2010-07-21 11:53  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py: bug fix #628 (wingrass
+	  native: vdigit error on new map)
+
+2010-07-20 14:53  aghisla
+
+	* lib/db/dbmi_base/datetime.c: Datetime is now converted to string
+	  with leading zeroes for month, day and hour. Proposes to fix the
+	  issue in
+	  http://lists.osgeo.org/pipermail/grass-dev/2010-July/051239.html
+
+2010-07-20 10:55  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: use art provider instead
+	  of embeddedimage
+
+2010-07-19 13:08  neteler
+
+	* lib/db/dbmi_base/table.c: fix debug statement
+
+2010-07-19 08:04  hamish
+
+	* mswindows/osgeo4w/package.sh: only distclean if we need to (merge
+	  from devbr6)
+
+2010-07-18 18:56  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: wxGUI GCP manager: start
+	  without POINTS file, fix ColumnSorter on reload
+
+2010-07-18 17:50  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: Robert Nuske: cont'ed
+
+2010-07-18 14:10  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/menu.py: don't ignore scripts in bin dir
+	  (merge r42830 from relbr64)
+
+2010-07-18 10:01  hamish
+
+	* raster/r.terraflow/grass2str.h: fix for last commit
+
+2010-07-18 09:58  hamish
+
+	* raster/r.terraflow/grass2str.h: sync msgs from devbr6
+
+2010-07-17 18:00  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2010-07-17 09:50  mmetz
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: show empty image if
+	  no map to display
+
+2010-07-16 10:17  mmetz
+
+	* include/iostream/ami_stream.h: iostream: backport fix for #1006
+	  from devbr
+
+2010-07-16 10:17  mmetz
+
+	* raster/r.terraflow/filldepr.cc: r.terraflow: backport fix for
+	  #1006 from devbr
+
+2010-07-16 07:02  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI GCP Manager:
+	  reorganize code
+
+2010-07-15 12:11  mmetz
+
+	* gui/wxpython/gui_modules/gcpmanager.py: wxGUI GCP Manager: fix
+	  for #220
+
+2010-07-15 10:00  hamish
+
+	* mswindows/osgeo4w/package.sh: call make distclean (merge from
+	  devbr6
+
+2010-07-15 09:04  mmetz
+
+	* general/g.transform/main.c: do not print control points when
+	  transforming coordinates
+
+2010-07-15 09:03  mmetz
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/gcpmanager.py,
+	  gui/wxpython/gui_modules/gcpmapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: add GCP Manager, wxGUI version of
+	  i.points
+
+2010-07-15 08:59  mmetz
+
+	* gui/wxpython/docs/Makefile,
+	  gui/wxpython/docs/wxGUI.GCP_Manager.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI_GCP_Manager.jpg: add manual for GCP
+	  Manager
+
+2010-07-15 07:00  neteler
+
+	* doc/infrastructure.txt: migrated to new server
+
+2010-07-14 19:11  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix closing
+	  loops
+
+2010-07-14 12:10  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: fix
+	  if-else statements (loading from file)
+
+2010-07-13 18:27  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: work in
+	  progress (loops & if/else statements)
+
+2010-07-13 07:44  mmetz
+
+	* gui/wxpython/icons/icon.py: change label for grGcpReload
+
+2010-07-13 07:43  mmetz
+
+	* gui/wxpython/icons/silk_icons.py: silk: zoom_extend now available
+
+2010-07-13 07:42  mmetz
+
+	* gui/icons/silk/zoom_extend.png: add zoom_extend to silk icons
+
+2010-07-12 19:50  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: various
+	  loop-related fixes
+
+2010-07-12 09:06  aghisla
+
+	* imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/create_iwave.py:
+	  small edits in create_iwave.py, cleaned up code block for AVNIR
+	  in Iwave.cpp
+
+2010-07-12 08:19  aghisla
+
+	* imagery/i.atcorr/create_iwave.py: Band limits now in micrometers,
+	  improved list comprehension.
+
+2010-07-11 16:57  aghisla
+
+	* imagery/i.atcorr/create_iwave.py: Improved print function, result
+	  is closer to cpp.
+
+2010-07-10 21:17  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: various fixes
+	  (save to file)
+
+2010-07-10 05:56  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI remove print
+	  statements
+
+2010-07-10 00:01  hamish
+
+	* gui/wxpython/xml/menudata.README: explain menudata.xml
+
+2010-07-09 21:02  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: conditions
+	  implemented (initial)
+
+2010-07-09 20:52  aghisla
+
+	* imagery/i.atcorr/create_iwave.py: Output of converter is closer
+	  to cpp format.
+
+2010-07-09 18:01  glynn
+
+	* raster3d/r3.in.ascii/Makefile, raster3d/r3.info/Makefile: Add
+	  $(RASTERLIB) where needed (due to removal of G3d version of
+	  history interface)
+
+2010-07-09 17:49  aghisla
+
+	* imagery/i.atcorr, imagery/i.atcorr/create_iwave.py,
+	  imagery/i.atcorr/i.atcorr.html: Added Python script that converts
+	  csv files to cpp functions, small edits on docpage, svn
+	  properties setup.
+
+2010-07-09 14:39  hamish
+
+	* gui/wxpython/gui_modules/preferences.py: enhance g.mapsets notes,
+	  how to grey out top item on list? (merge from devbr6)
+
+2010-07-09 14:38  hellik
+
+	* mswindows/GRASS-Installer.nsi: #1092 R's installation path in
+	  %PATH%
+
+2010-07-09 13:25  hamish
+
+	* general/g.access/exp_perms.c, general/g.access/main.c,
+	  general/g.access/set_perms.c: no chmod on MS-Windows, GPATH_MAX,
+	  i18n (adventures in sentence structure): merge from 6.5svn
+
+2010-07-08 22:07  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: track
+	  actions in the loops
+
+2010-07-08 19:29  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: progress in
+	  looping
+
+2010-07-08 17:38  glynn
+
+	* tools/sql.sh: Enlarge ldd.path column
+
+2010-07-08 14:57  neteler
+
+	* imagery/i.atcorr/Iwave.cpp: fix variables in new sensor
+
+2010-07-08 14:47  aghisla
+
+	* imagery/i.atcorr/i.atcorr.html: Missing bold in the description
+	  page.
+
+2010-07-08 13:54  aghisla
+
+	* imagery/i.atcorr/i.atcorr.html: updated documentation for commit
+	  42719
+
+2010-07-08 12:08  aghisla
+
+	* gui/wxpython/scripts/r.li.setup.py,
+	  imagery/i.atcorr/GeomCond.cpp, imagery/i.atcorr/GeomCond.h,
+	  imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/Iwave.h: Added AVNIR
+	  atmospherical correction - thanks Daniel Victoria for Python
+	  conversion script. Check welcome before backport.
+
+2010-07-07 23:25  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: redesign
+	  Model class
+
+2010-07-07 18:31  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: various
+	  fixes
+
+2010-07-05 20:52  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI/modeler: refresh canvas
+	  func
+
+2010-07-04 21:31  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/grass-gxm.dtd: wxGUI/modeler: list of actions as
+	  a tab
+
+2010-07-02 20:06  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: close loop
+
+2010-07-02 15:45  glynn
+
+	* imagery/i.maxlik/hist.c, imagery/i.pca/support.c,
+	  imagery/i.rectify/exec.c, imagery/i.smap/history.c,
+	  include/raster.h, include/rasterdefs.h, lib/g3d/g3dhistory.c,
+	  lib/raster/history.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/resout2d.c, raster/r.buffer/main.c,
+	  raster/r.carve/support.c, raster/r.horizon/main.c,
+	  raster/r.in.xyz/main.c, raster/r.info/main.c,
+	  raster/r.mapcalc/map.c, raster/r.param.scale/close_down.c,
+	  raster/r.random/support.c, raster/r.reclass/reclass.c,
+	  raster/r.recode/recode.c, raster/r.resamp.filter/main.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/main.c, raster/r.support/main.c,
+	  raster/r.topidx/file_io.c, raster/r.watershed/front/main.c,
+	  raster/simwe/simlib/output.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.info/r3.info.main.c, raster3d/r3.to.rast/main.c,
+	  vector/v.to.rast/support.c, vector/v.vol.rst/main.c: Re-write
+	  raster history implementation
+	  All fields are dynamically allocated: no limits on line count or
+	  line lengths
+	  Provide/use set/get functions instead of direct structure access
+
+2010-07-02 15:41  glynn
+
+	* lib/python/ctypes/Makefile: Add ctypesgencore/*/*.pyc to
+	  EXTRA_CLEAN_FILES
+
+2010-07-01 13:22  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: attribute surface
+	  query fixed
+
+2010-07-01 11:49  glynn
+
+	* lib/python/raster.py: Fix handling of quiet, verbose, overwrite
+
+2010-07-01 11:48  martinl
+
+	* gui/wxpython/nviz: unused nviz C++ component removed
+
+2010-07-01 11:48  martinl
+
+	* gui/wxpython/gis_set_error.py,
+	  gui/wxpython/gui_modules/nviz_preferences.py,
+	  gui/wxpython/gui_modules/vclean.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI: nviz_preferences
+	  module added
+
+2010-07-01 11:41  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/nviz.c, lib/ogsf/GS2.c: wxNviz: various bugfixes, raster
+	  querying in progress
+
+2010-07-01 11:39  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: variable
+	  management as tab, looping in progress
+
+2010-06-30 09:53  neteler
+
+	* lib/proj/convert.c: added non-standard datum name lookup
+
+2010-06-30 07:10  neteler
+
+	* imagery/i.smap/read_sig.c: catch empty sig files
+
+2010-06-29 14:59  glynn
+
+	* lib/python/ctypes/Makefile: dbmi.py needs proto_dbmi.h
+	  Improve dependency handling
+
+2010-06-27 22:00  martinl
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: fix setting
+	  background color
+
+2010-06-27 21:41  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: fix agwStyle issue
+
+2010-06-27 19:21  msieczka
+
+	* lib/proj/gcs.override.csv: Port GDAL's
+	  http://trac.osgeo.org/gdal/changeset/19810 to fix missing towsg84
+	  for EPSG codes: 3120 2172 2173 2174 2175 3333 3334 3335 3329 3330
+	  3331 3332 3328 4179. It also forces ETRS89 datum to be
+	  interpreted as 0,0,0,0,0,0,0 instead of 0.000,0.000,0.000 (i.e.
+	  overrides the datum.table ETRS89 setting, too). More info:
+	  http://lists.osgeo.org/pipermail/grass-dev/2010-June/050918.html,
+	  http://trac.osgeo.org/gdal/ticket/3579.
+
+2010-06-27 07:40  neteler
+
+	* locale/po/grasswxpy_it.po, translators.csv: Francesco de
+	  Virgilio: cont'ed
+
+2010-06-26 17:32  martinl
+
+	* mswindows/GRASS-Installer.nsi: msys\home not needed
+
+2010-06-26 01:33  glynn
+
+	* raster/r.mapcalc/main.c: Generate error if both file= and
+	  expression= are given
+
+2010-06-25 23:27  martinl
+
+	* mswindows/GRASS-Installer.nsi: store rc to
+	  C:\Users\landa\AppData\Roaming\GRASS7
+
+2010-06-24 22:39  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: don't redirect on
+	  debug level > 0
+
+2010-06-24 17:40  martinl
+
+	* gui/wxpython/Makefile: wxGUI: install missing gis_set_error.py
+
+2010-06-23 20:27  glynn
+
+	* lib/db/dbmi_client/start.c: Use G_spawn_ex()
+
+2010-06-23 17:45  mmetz
+
+	* vector/v.surf.bspline/main.c: message cosmetics
+
+2010-06-23 17:05  mmetz
+
+	* raster/r.resamp.bspline/main.c,
+	  raster/r.resamp.bspline/r.resamp.bspline.html: update manual and
+	  option description
+
+2010-06-23 14:02  mmetz
+
+	* mswindows/GRASS-Installer.nsi: win installer: do not reset
+	  USERNAME
+
+2010-06-23 13:25  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: store
+	  position and size of the window in GXM file
+
+2010-06-23 12:01  martinl
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: fix ctypes issue
+	  (changed prototype)
+
+2010-06-23 08:44  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/nviz.c: wxGUI/nviz: set fringe color/elevation
+
+2010-06-22 23:15  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py, gui/wxpython/wxgui.py:
+	  fix #1097
+	  (merge r42637 from devbr6)
+
+2010-06-22 22:56  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/wxgui.py,
+	  include/nviz.h, lib/nviz/draw.c, lib/nviz/map_obj.c,
+	  lib/nviz/nviz.c, lib/ogsf/GS2.c, visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c: nvizlib: fringe implemented
+	  (including nviz_cmd and wxNviz)
+
+2010-06-22 17:05  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/nviz: enable zoom to
+	  extent (reset view)
+
+2010-06-22 16:51  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py, lib/nviz/change_view.c,
+	  lib/nviz/exag.c, lib/nviz/lights.c,
+	  visualization/nviz2/cmd/main.c: wxGUI/nviz: temp fix (problem
+	  with ctypes)
+
+2010-06-22 15:36  martinl
+
+	* grasslib.dox: cosmetics in grasslib.dox
+
+2010-06-22 10:28  martinl
+
+	* ., Makefile, grass7_arch.png, grasslib.dox,
+	  gui/wxpython/wxpythonlib.dox, include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex.in, lib, lib/Makefile,
+	  lib/grass7_arch.png, lib/grasslib.dox, swig/swiglib.dox:
+	  grasslib.dox moved from lib to .
+
+2010-06-21 23:11  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py, include/nviz.h,
+	  lib/nviz/lights.c, lib/nviz/position.c,
+	  visualization/nviz2/cmd/args.c, visualization/nviz2/cmd/main.c:
+	  wxGUI/nviz & nviz_cmd in progress
+
+2010-06-21 22:43  martinl
+
+	* general/g.mapsets/g.mapsets_picker.py, general/g.mapsets/main.c:
+	  g.mapsets: simplify g.mapsets_picker.py
+
+2010-06-21 22:39  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: clean up
+	  utils.ListOfMapsets()
+
+2010-06-21 22:19  martinl
+
+	* general/g.mapsets/dsply_maps.c, general/g.mapsets/dsply_path.c,
+	  general/g.mapsets/list.c, general/g.mapsets/local_proto.h,
+	  general/g.mapsets/main.c, lib/gis/parser_standard_options.c:
+	  g.mapsets: clean up list_mapsets fns
+
+2010-06-21 19:16  martinl
+
+	* lib/init/grass.py: os.uname() is not available on Windows,
+	  replaced by platform.node()
+
+2010-06-21 11:01  mmetz
+
+	* gui/wxpython/gui_modules/georect.py: wxGUI georectifier: save
+	  colour correctly, reset mapcoordlist on reload
+
+2010-06-20 22:40  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix
+	  OnRunModel
+
+2010-06-20 22:03  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: don't fail on empty
+	  map when saving display
+
+2010-06-20 20:18  martinl
+
+	* lib/nviz/map_obj.c: revert r42610
+
+2010-06-20 19:09  martinl
+
+	* lib/nviz/map_obj.c: nvizlib: fix Nviz_set_vpoint_attr_default()
+	  sync'ed with develbr6
+
+2010-06-20 19:02  martinl
+
+	* include/nviz.h, lib/nviz/change_view.c, lib/nviz/draw.c,
+	  lib/nviz/exag.c, lib/nviz/lights.c, lib/nviz/map_obj.c,
+	  lib/nviz/position.c, visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c: minor clean up of nvizlib
+	  lights settings implemented in nviz_cmd
+
+2010-06-20 19:00  martinl
+
+	* gui/wxpython/gui_modules/wxnviz.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI: remove redundancy from
+	  icon files
+
+2010-06-20 16:43  martinl
+
+	* mswindows/osgeo4w/package.sh: remove out-dated statements
+
+2010-06-20 15:05  glynn
+
+	* lib/python/ctypes/ctypesgencore/parser/datacollectingparser.py:
+	  Don't use NamedTemporaryFile
+
+2010-06-20 14:56  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: don't
+	  ignore default value for SpinCtrl
+
+2010-06-20 14:52  martinl
+
+	* gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/profile: toolbar
+	  clean up, cosmetics in profile.py + doxygenization
+
+2010-06-20 13:19  marisn
+
+	* gui/wxpython/gui_modules/profile.py: wxGUI: Apply correctly
+	  profile text settings. Fixes #651
+
+2010-06-20 12:48  hellik
+
+	* mswindows/GRASS-Installer.nsi: attempt to get Grass70-wx-gui and
+	  a msys-windows-commandline
+	  see
+	  http://lists.osgeo.org/pipermail/grass-dev/2010-June/050937.html
+
+2010-06-20 08:51  marisn
+
+	* visualization/nviz/src/togl_flythrough.c: Fix NVIZ fly mode on
+	  64bit nixes. Fixes #46. Thanks to Ken Kwasnicki.
+
+2010-06-17 20:18  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: fix etcwxdir path
+
+2010-06-17 19:18  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: fix #1089
+	  (merge r42583 from trunk)
+
+2010-06-17 16:37  hamish
+
+	* raster/r.info/main.c: export nsew with full precision (merge from
+	  devbr6)
+
+2010-06-17 16:03  martinl
+
+	* lib/python/core.py: libpython: don't run g.gisenv if not
+	  available (during compilation)
+	  (merge r42576 from trunk)
+
+2010-06-17 15:13  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/dialog: generate
+	  interactive input area only for old_file
+
+2010-06-17 15:05  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: minor fixes
+	  (missing wx config file)
+
+2010-06-17 06:31  hamish
+
+	* raster/r.statistics/run_cmd.c: comment about read method
+
+2010-06-16 15:13  glynn
+
+	* lib/python/ctypes/Makefile: Need $(VECT_FLAGS) as well as
+	  $(VECT_INC)
+
+2010-06-15 16:43  glynn
+
+	* lib/python/ctypes/Makefile: Pass all necessary switches to the
+	  preprocessor
+
+2010-06-14 17:07  glynn
+
+	* gui/wxpython/vdigit/Makefile, gui/wxpython/vdigit/setup.py,
+	  include/Make/Grass.make, include/Make/Shlib.make: Use only
+	  versioned library names
+
+2010-06-14 13:49  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/modeler: fix runing
+	  model with variables
+
+2010-06-14 10:22  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix data
+	  dialog (OnOk)
+
+2010-06-14 10:07  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz_tools.py, gui/wxpython/wxgui.py:
+	  wxGUI: more fixes for wxPython 2.8.11
+
+2010-06-14 08:32  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: various
+	  minor fixes
+
+2010-06-13 15:36  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py: fix
+	  r42549 (agwStyle available in wxPython 2.8.11+)
+
+2010-06-13 14:13  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: fixing related to wxPython 2.8.11 (see #1085)
+
+2010-06-13 13:09  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat,
+	  mswindows/osgeo4w/package.sh: wingrass: grass libs moved from
+	  extralib to lib
+
+2010-06-10 19:52  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/xml/grass-gxm.dtd,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: start
+	  implementing loops
+
+2010-06-10 14:21  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: progress in
+	  lighting
+
+2010-06-10 10:27  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py, gui/wxpython/icons/icon.py:
+	  wxGUI/model: run model with variables
+
+2010-06-09 17:06  marisn
+
+	* lib/init/grass.py: Try to use users preferred browser for HTML
+
+2010-06-09 13:32  neteler
+
+	* lib/init/grass.py: alf: wait for the batch job to be finished;
+	  don't open GUI in batch mode
+
+2010-06-09 12:33  martinl
+
+	* lib/init/grass.py: #1074 - patch by alf applied (modified)
+
+2010-06-09 09:32  martinl
+
+	* scripts/v.db.addcolumn/v.db.addcolumn.py: v.db.addcolumn:
+	  cosmetics in parameter description
+
+2010-06-09 08:27  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/grass-gxm.dtd: wxGUI/modeler: read/write
+	  variables to the model file
+
+2010-06-09 00:39  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/xml/grass-gxm.dtd: wxGUI/modeler: dialog for
+	  managing variables implemented
+
+2010-06-08 19:35  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/layertree.py: fix ctstyle issue in
+	  wxPython 2.8.11 (see
+	  http://lists.osgeo.org/pipermail/grass-dev/2010-June/050766.html)
+
+2010-06-08 19:05  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxnviz.py, gui/wxpython/icons/icon.py,
+	  lib/nviz/change_view.c, lib/nviz/cplanes_obj.c, lib/nviz/draw.c,
+	  lib/nviz/exag.c, lib/nviz/lights.c, lib/nviz/map_obj.c,
+	  lib/nviz/nviz.c, lib/nviz/position.c, lib/nviz/render.c,
+	  lib/ogsf/GS2.c: wxGUI/nviz: lighting in progress
+
+2010-06-08 19:03  martinl
+
+	* vector/v.in.ogr/main.c: v.out.ogr: remove gisprompt from dsn
+	  parameter
+
+2010-06-08 17:06  hamish
+
+	* scripts/r.regression.line/r.regression.line.py: rename variable
+	  from italian so it doesn't get confused with median, add F-test
+	  to key (merge from devbr6)
+
+2010-06-08 14:24  neteler
+
+	* lib/init/grass.py: added more (text) browsers
+
+2010-06-08 13:16  hamish
+
+	* display/d.rast/main.c: bgcolor option help text
+
+2010-06-08 13:10  hamish
+
+	* display/d.rast/main.c: rm key_desc redundancy
+
+2010-06-08 13:09  hamish
+
+	* display/d.rast/main.c: missed 1 var rename
+
+2010-06-08 13:07  hamish
+
+	* display/d.rast/d.rast.html, display/d.rast/main.c: merge vallist
+	  option into catlist option, small msg cleanup
+
+2010-06-08 12:30  martinl
+
+	* gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: cosmetics
+	  in the menu
+
+2010-06-07 23:10  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/modeler: first steps
+	  towards variables
+
+2010-06-07 23:07  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: lighting in
+	  progress
+
+2010-06-07 16:41  martinl
+
+	* gui/icons/grass2/zoom-extent.png,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI: zoom to selected map
+	  available directly from map toolbar
+
+2010-06-07 13:18  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/dialog: use correct
+	  values for dbdriver/dbname/dbcolumn
+
+2010-06-07 12:55  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/grass-gxm.dtd: wxGUI/modeler: fix relation names
+
+2010-06-05 23:08  hellik
+
+	* mswindows/GRASS-Packager.bat: revert r42490
+	  see
+	  http://lists.osgeo.org/pipermail/grass-dev/2010-June/050750.html
+
+2010-06-05 21:22  hellik
+
+	* mswindows/GRASS-Packager.bat: Move grasslibs from
+	  %PACKAGE_DIR%\extralib to %PACKAGE_DIR%\lib and remove
+	  GRASS-version from filename
+	  See
+	  http://lists.osgeo.org/pipermail/grass-dev/2010-June/050739.html
+
+2010-06-05 18:00  glynn
+
+	* lib/python/ctypes/Makefile, lib/python/ctypes/fix.sed: Move sed
+	  script out of Makefile
+
+2010-06-05 16:13  kyngchaos
+
+	* macosx/pkg/resources/postflight.in: no python source in system,
+	  use pyc
+
+2010-06-05 06:21  glynn
+
+	* lib/python/Makefile,
+	  lib/python/ctypes/ctypesgencore/parser/preprocessor.py: Restore
+	  "-U __GNUC__" to preprocessor command
+	  Log correct directory on failures
+
+2010-06-05 05:40  glynn
+
+	* lib/python/ctypes/ctypesgencore/parser/pplexer.py: Improve
+	  parsing of string literals
+
+2010-06-04 05:22  glynn
+
+	* lib/python/ctypes/ctypesgencore/parser/pplexer.py: Provide
+	  necessary detail when failing to decode string literals
+
+2010-06-04 04:58  glynn
+
+	* lib/python/Makefile: Log errors in ctypes subdirectory
+
+2010-06-04 04:44  glynn
+
+	* lib/python/ctypes/Makefile: Fix r42479
+
+2010-06-04 04:43  glynn
+
+	* lib/python/ctypes/Makefile,
+	  lib/python/ctypes/ctypesgencore/parser/preprocessor.py: Add
+	  necessary -I switches to ctypesgen command
+	  Undefine __BLOCKS__ on OSX
+
+2010-06-03 19:49  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: show action
+	  id
+
+2010-06-03 19:26  martinl
+
+	* general/g.mapset/main.c: g.mapset: description cosmetics, more
+	  guisections
+
+2010-06-03 19:01  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/xml/grass-gxm.dtd: wxGUI/gmodeler: enable/disable
+	  actions
+
+2010-06-03 15:36  martinl
+
+	* db/db.execute/main.c, db/db.select/main.c: db.exectute/select:
+	  guisections clean up
+
+2010-06-03 15:19  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/nviz: lighting tab
+	  added (not functional)
+
+2010-06-03 14:57  neteler
+
+	* locale/po/grasswxpy_it.po: Andrea Giacomelli : cont'ed
+
+2010-06-03 10:28  huhabla
+
+	* raster/r.watershed/front/main.c: Fixed wrong parameter
+	  definitions
+
+2010-06-03 03:06  hamish
+
+	* raster/r.out.tiff/main.c: add some placeholder infrastructure for
+	  alpha support
+
+2010-06-03 00:13  hamish
+
+	* scripts/r.colors.stddev/r.colors.stddev.py: bulk option rename
+	  minor fix
+
+2010-06-02 21:23  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_ml.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_ml.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: updated
+	  from .pot files
+
+2010-06-02 19:03  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: wxNviz settings
+	  in separated window
+
+2010-06-02 12:50  martinl
+
+	* lib/python/core.py: libpython: print debug message on
+	  start_command()
+
+2010-06-02 10:15  martinl
+
+	* scripts/r.colors.stddev/r.colors.stddev.py: fix r42436
+
+2010-06-02 10:08  martinl
+
+	* scripts/r.colors.stddev/r.colors.stddev.py: r.colors.stddev:
+	  'input' parameter renamed to 'map'
+
+2010-06-02 08:36  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'ed
+
+2010-06-01 21:51  martinl
+
+	* gui/wxpython/gui_modules/wxnviz.py: wxGUI: don't fail on missing
+	  grass.lib
+
+2010-06-01 21:45  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI/nviz: cosmetics in
+	  vector layer properties tab
+	  siplified gselect.Select()
+
+2010-06-01 20:25  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: interactive input
+	  allowed (file, rules, etc.)
+
+2010-06-01 20:00  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix menuform error message (missing parameter)
+
+2010-06-01 19:59  martinl
+
+	* raster/r.reclass/main.c: r.reclass: 'rules' as required
+	  parameter, '-' to read from stdin
+
+2010-06-01 19:25  hamish
+
+	* raster/r.random/main.c, raster/r.random/random.c: named boolean
+	  for cover map (merge from devbr6)
+
+2010-06-01 18:48  martinl
+
+	* vector/v.extract/main.c: v.extract: default layer to '1' (see
+	  #1081)
+
+2010-06-01 17:59  martinl
+
+	* lib/python/core.py: lipython: update region() desc
+
+2010-06-01 12:05  neteler
+
+	* locale/po/grasslibs_it.po, translators.csv: Andrea Giacomelli :
+	  cont'ed
+
+2010-06-01 02:57  hamish
+
+	* raster/r.out.png/r.out.png.html: doc stdout wld file name
+
+2010-06-01 02:54  hamish
+
+	* raster/r.out.png/main.c, raster/r.out.png/r.out.png.html: add
+	  flag to export a world file; rename some variables (wish #1077)
+
+2010-05-31 13:24  martinl
+
+	* gui/wxpython/xml/menudata.xml, visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/nviz_cmd.html: nviz_cmd: cosmetics in
+	  description, some examples, added to wxGUI menu
+
+2010-05-31 10:42  martinl
+
+	* gui/wxpython/gui_modules/layertree.py: wxGUI/nviz: fix layer
+	  properties popup menu item
+
+2010-05-31 10:36  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI/nviz: various fixes
+	  (after integration of tool window)
+
+2010-05-31 09:41  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI/nviz: nviz tool window intergrated into layer manager
+
+2010-05-31 03:34  glynn
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/hydro.c,
+	  raster/simwe/simlib/output.c, raster/simwe/simlib/waterglobs.h:
+	  Eliminate preprocessor abuse
+
+2010-05-31 00:35  hamish
+
+	* raster/r.out.tiff/main.c: rename world file flag for
+	  compatibility with, & in prep for, merging transparent NULL cells
+	  flag from r.out.png
+
+2010-05-30 23:20  hamish
+
+	* general/g.message/main.c: fix impt. msg flag desc. broken by
+	  r42147 (if you don't understand something *please* ask instead of
+	  just "improving" it...)
+
+2010-05-30 12:08  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix d.vect for more
+	  layers
+
+2010-05-30 11:31  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/d.vect: avoid
+	  repetitive running of the same commands
+
+2010-05-30 11:15  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: minor fixes, don't
+	  render empty image
+
+2010-05-29 19:30  martinl
+
+	* gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/gcmd.py: wxGUI: force flushing debug
+	  messages (required on MS Windows)
+
+2010-05-29 17:37  martinl
+
+	* locale/po/grasswxpy_cs.po: wxGUI Czech localization updated
+
+2010-05-29 16:51  martinl
+
+	* gui/wxpython/gui_modules/vclean.py: wxGUI/vclean: avoid gettext
+	  warnings
+
+2010-05-29 16:44  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: highlight
+	  parameterized actions
+
+2010-05-29 12:42  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py, gui/wxpython/wxgui.py: wxGUI:
+	  layer manager toolbar moved to toolbar.py
+	  settings icon added to the toolbar
+
+2010-05-29 11:42  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: centre dialogs on
+	  screen
+
+2010-05-29 11:19  martinl
+
+	* lib/python/raster.py: pythonlib: don't ignore
+	  verbose/quiet/overwrite in mapcalc()
+
+2010-05-29 11:18  martinl
+
+	* raster/r.colors/main.c, raster/r.colors/thumbnails.py: r.colors:
+	  guisection cosmetics, be quiet when generating thumbnails
+
+2010-05-29 09:42  martinl
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/histogram: major
+	  clean up
+
+2010-05-29 08:49  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: python scripts prefered
+
+2010-05-28 16:51  martinl
+
+	* visualization/nviz2/cmd/args.c, visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/surface.c,
+	  visualization/nviz2/cmd/vector.c,
+	  visualization/nviz2/cmd/volume.c,
+	  visualization/nviz2/cmd/write_img.c: nviz_cmd: guisections
+	  cosmetics
+
+2010-05-28 15:50  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI: image size templates
+	  added (exporting image)
+
+2010-05-28 15:29  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI: image size dialog for
+	  exporting images
+
+2010-05-28 12:13  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/nviz: save to image
+	  (ppm/tif)
+	  @todo: use BufferedPaintDC instead
+
+2010-05-27 04:09  neteler
+
+	* lib/init/grass.py: reverted r42343 attempt (trac #1074)
+
+2010-05-26 22:33  martinl
+
+	* lib/init/grass.py: minor windows oriented fixes in startup script
+
+2010-05-26 20:02  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxnviz.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py:
+	  wxGUI/nviz: minor clean up (nviz_mapdisp)
+
+2010-05-26 14:26  martinl
+
+	* lib/python/ctypes/ctypesgencore/parser/preprocessor.py: Fix
+	  compiling ctypes on Windows
+
+2010-05-26 07:43  mmetz
+
+	* vector/v.split/main.c: added units for length option, fix for
+	  #1078
+
+2010-05-25 18:10  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI/modeler: preferences &
+	  properties available from toolbar
+
+2010-05-25 15:54  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: save
+	  properties in gxm
+
+2010-05-25 14:59  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxNviz: tools clean up
+	  layer properties & settings tabs recovered
+
+2010-05-25 01:06  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  lib/Makefile, lib/python/ctypes/Makefile,
+	  lib/python/ctypes/ctypesgen.py, lib/python/ctypes/ctypesgencore,
+	  lib/python/ctypes/ctypesgencore/LICENSE,
+	  lib/python/ctypes/ctypesgencore/__init__.py,
+	  lib/python/ctypes/ctypesgencore/ctypedescs.py,
+	  lib/python/ctypes/ctypesgencore/descriptions.py,
+	  lib/python/ctypes/ctypesgencore/expressions.py,
+	  lib/python/ctypes/ctypesgencore/libraryloader.py,
+	  lib/python/ctypes/ctypesgencore/messages.py,
+	  lib/python/ctypes/ctypesgencore/old libraryloader.py,
+	  lib/python/ctypes/ctypesgencore/options.py,
+	  lib/python/ctypes/ctypesgencore/parser,
+	  lib/python/ctypes/ctypesgencore/parser/__init__.py,
+	  lib/python/ctypes/ctypesgencore/parser/cdeclarations.py,
+	  lib/python/ctypes/ctypesgencore/parser/cgrammar.py,
+	  lib/python/ctypes/ctypesgencore/parser/cparser.py,
+	  lib/python/ctypes/ctypesgencore/parser/ctypesparser.py,
+	  lib/python/ctypes/ctypesgencore/parser/datacollectingparser.py,
+	  lib/python/ctypes/ctypesgencore/parser/lex.py,
+	  lib/python/ctypes/ctypesgencore/parser/lextab.py,
+	  lib/python/ctypes/ctypesgencore/parser/parsetab.py,
+	  lib/python/ctypes/ctypesgencore/parser/pplexer.py,
+	  lib/python/ctypes/ctypesgencore/parser/preprocessor.py,
+	  lib/python/ctypes/ctypesgencore/parser/yacc.py,
+	  lib/python/ctypes/ctypesgencore/printer,
+	  lib/python/ctypes/ctypesgencore/printer/__init__.py,
+	  lib/python/ctypes/ctypesgencore/printer/defaultheader.py,
+	  lib/python/ctypes/ctypesgencore/printer/preamble.py,
+	  lib/python/ctypes/ctypesgencore/printer/printer.py,
+	  lib/python/ctypes/ctypesgencore/printer/test.py,
+	  lib/python/ctypes/ctypesgencore/processor,
+	  lib/python/ctypes/ctypesgencore/processor/__init__.py,
+	  lib/python/ctypes/ctypesgencore/processor/dependencies.py,
+	  lib/python/ctypes/ctypesgencore/processor/operations.py,
+	  lib/python/ctypes/ctypesgencore/processor/pipeline.py: Use local
+	  copy of ctypesgen
+
+2010-05-25 01:03  glynn
+
+	* display/d.info/main.c: Fix segfault caused by r33172
+
+2010-05-24 20:01  neteler
+
+	* lib/init/grass.py: fix batch job execution (trac #1074)
+
+2010-05-24 14:39  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI: layout cosmetics
+
+2010-05-24 14:36  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: global
+	  overwrite option added
+
+2010-05-24 14:08  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: implement
+	  cleanup()
+
+2010-05-24 09:23  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: FloatValidator -
+	  skip empty strings
+
+2010-05-24 09:02  hellik
+
+	* mswindows/GRASS-Installer.nsi: correct config_projshare
+
+2010-05-23 21:06  hellik
+
+	* mswindows/GRASS-Installer.nsi: cosmetics in code comments
+
+2010-05-23 21:04  hellik
+
+	* mswindows/GRASS-Installer.nsi: reflect $INSTDIR in grass70.py for
+	  starting the WinGrass70-installation
+
+2010-05-21 15:26  glynn
+
+	* lib/python/ctypes/Makefile, lib/python/ctypes/loader.py,
+	  lib/python/ctypes/preamble.py: Eliminate String wrapper; just use
+	  c_char_p
+
+2010-05-21 10:31  hamish
+
+	* scripts/r.in.wms/wms_parse.py: make layer list easier to read
+
+2010-05-21 08:07  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: bugfix #1072
+
+2010-05-21 06:59  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: #1070 - don't use
+	  FloatSpin, validate input instead
+
+2010-05-20 11:15  mmetz
+
+	* lib/vector/Vlib/hist.c: Vect_hist_copy: skip empty old hist
+
+2010-05-20 11:09  mmetz
+
+	* lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c: fix r42320
+
+2010-05-19 17:57  mmetz
+
+	* lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c: Vlib: Do not
+	  check mtime because mtime is changed by copy
+
+2010-05-19 10:55  mmetz
+
+	* lib/lidar/README, raster/r.resamp.bspline/README,
+	  vector/Makefile, vector/lidar, vector/v.lidar.correction,
+	  vector/v.lidar.correction/Makefile,
+	  vector/v.lidar.correction/README, vector/v.lidar.edgedetection,
+	  vector/v.lidar.edgedetection/Makefile,
+	  vector/v.lidar.edgedetection/README, vector/v.lidar.growing,
+	  vector/v.lidar.growing/Makefile, vector/v.lidar.growing/README,
+	  vector/v.outlier, vector/v.outlier/Makefile,
+	  vector/v.outlier/README, vector/v.surf.bspline,
+	  vector/v.surf.bspline/Makefile, vector/v.surf.bspline/README:
+	  reorganizing lidar tools: move vector lidar tools to vector
+
+2010-05-19 10:10  mmetz
+
+	* raster/Makefile, raster/r.resamp.bspline,
+	  raster/r.resamp.bspline/Makefile, vector/lidar/Makefile,
+	  vector/lidar/r.resamp.bspline: reorganizing lidar tools: move
+	  r.resamp.bspline to raster
+
+2010-05-19 09:50  mmetz
+
+	* lib/Makefile, lib/lidar, lib/lidar/Makefile,
+	  vector/lidar/Makefile, vector/lidar/lidarlib: reorganizing lidar
+	  tools: move lidarlib to lib/lidar
+
+2010-05-19 08:50  mmetz
+
+	* vector/lidar/lidarlib/InterpSpline.c,
+	  vector/lidar/lidarlib/Makefile,
+	  vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/lidar.h, vector/lidar/lidarlib/raster.c,
+	  vector/lidar/lidarlib/zones.c,
+	  vector/lidar/r.resamp.bspline/bspline.h,
+	  vector/lidar/r.resamp.bspline/crosscorr.c,
+	  vector/lidar/r.resamp.bspline/main.c,
+	  vector/lidar/r.resamp.bspline/resamp.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/ConvexHull.c,
+	  vector/lidar/v.lidar.growing/growing.c,
+	  vector/lidar/v.lidar.growing/growing.h,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.outlier/outlier.h,
+	  vector/lidar/v.surf.bspline/bspline.h,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c: reorganizing lidar tools:
+	  update headers
+
+2010-05-19 07:44  mmetz
+
+	* vector/lidar/r.resamp.bspline/main.c: add info for output vector
+	  grid
+
+2010-05-19 07:24  mmetz
+
+	* vector/v.info/local_proto.h, vector/v.info/main.c,
+	  vector/v.info/parse.c: remove level 1 flag, simplify automated
+	  level handling
+
+2010-05-19 01:47  glynn
+
+	* include/Make/Grass.make: Add btree2 dependencies
+
+2010-05-18 23:01  glynn
+
+	* lib/python/ctypes/Makefile: Ensure libraries can be found when
+	  running $(CTYPESGEN)
+
+2010-05-18 21:52  msieczka
+
+	* AUTHORS, translators.csv: Correct Artur's name (as in
+	  develbranch6).
+
+2010-05-18 21:32  msieczka
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py: Fix #1051: wxgui: SEARCH_PATH
+	  corruption (backport from develbranch6).
+
+2010-05-18 19:16  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/xml/grass-gxm.dtd: wxGUI/modeler: store relation
+	  shape in gxm file
+
+2010-05-18 17:16  martinl
+
+	* lib/gis/find_cell.c, lib/gis/find_vect.c: libgis: debug
+	  G_find_raster/vector()
+
+2010-05-18 14:00  mmetz
+
+	* vector/v.info/main.c: add safety check (backport from devbr)
+
+2010-05-18 13:36  kyngchaos
+
+	* man/Makefile: grass_icon.png installed in wrong location
+
+2010-05-18 13:33  martinl
+
+	* gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/wxnviz: use Debug.msg
+	  instead of G_debug
+
+2010-05-18 13:17  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/wxnviz.py: wxGUI/wxnviz: use Python
+	  strings
+
+2010-05-18 13:08  mmetz
+
+	* vector/v.info/main.c: simplify level handling
+
+2010-05-18 12:53  mmetz
+
+	* vector/v.info/level1.c, vector/v.info/main.c: clean up the mess:
+	  don't call Vect_get_num_primitives when map is not yet opened;
+	  don't override topo_flag for level 1 because there will be some
+	  info; don't open map twice; don't close map, then try to read map
+
+2010-05-18 12:33  martinl
+
+	* lib/vector/Vlib/write_ogr.c: vlib: add missing doxygen strings
+
+2010-05-18 12:31  martinl
+
+	* scripts/r.buffer/r.buffer.py: r.buffer: fix cleanup() - remove
+	  only existing files
+
+2010-05-18 12:16  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: abort all commands in
+	  the queue
+
+2010-05-18 10:58  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: force
+	  GRASS_MESSAGE_FORMAT to 'gui'
+
+2010-05-18 10:52  martinl
+
+	* raster/r.to.vect/areas.c: r.to.vect: remove redundant G_percent()
+
+2010-05-18 10:46  martinl
+
+	* raster/r.to.vect/main.c: r.to.vect: more guisections
+
+2010-05-18 10:43  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/modeler: trac
+	  --overwrite flag
+
+2010-05-18 09:46  mmetz
+
+	* lib/btree2: ignore OBJ.*
+
+2010-05-18 09:42  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: minor bugs
+	  in parametrization fixed
+
+2010-05-18 09:42  mmetz
+
+	* include/Make/Grass.make, include/rbtree.h,
+	  include/vect/dig_structs.h, include/vect/rbtree.h, lib/Makefile,
+	  lib/btree2, lib/btree2/Makefile, lib/btree2/README,
+	  lib/btree2/rbtree.c, lib/segment/Makefile, lib/segment/pagein.c,
+	  lib/segment/rbtree.c, lib/segment/rbtree.h,
+	  lib/segment/release.c, lib/segment/setup.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/snap.c,
+	  lib/vector/diglib/rbtree.c, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/ram/do_flatarea.c,
+	  raster/r.watershed/ram/rbtree.c, raster/r.watershed/ram/rbtree.h:
+	  add balanced search tree to lib, update Vlib and segment
+
+2010-05-18 06:56  mmetz
+
+	* lib/vector/Vlib/write.c: format
+
+2010-05-18 01:10  glynn
+
+	* gui/wxpython/gui_modules/workspace.py: Catch errors importing
+	  wxnviz
+
+2010-05-17 23:28  glynn
+
+	* lib/raster/color_xform.c: Compact colour table: only add another
+	  rule when the colour changes
+
+2010-05-17 22:19  glynn
+
+	* gui/wxpython/gui_modules/wxnviz.py: Add wxnviz.py (omitted from
+	  r42275)
+
+2010-05-17 21:45  glynn
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/workspace.py: Convert wxGUI NVIZ module
+	  to Python
+
+2010-05-17 21:44  glynn
+
+	* lib/python/ctypes/Makefile: Move ctypesgen boilerplate to common
+	  module
+	  Add wrappers for ogsf, nviz libraries
+
+2010-05-17 21:05  kyngchaos
+
+	* macosx/Makefile: remove redundant test for app compile before
+	  install
+
+2010-05-17 20:54  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/modeler:
+	  parametrization implemented (including model file
+	  settings)
+
+2010-05-17 17:45  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  lib/python/Makefile, lib/python/ctypes,
+	  lib/python/ctypes/Makefile: Add configure check for ctypesgen
+	  Ignore configure failures for SWIG
+	  Ignore build failures for lib/python/ctypes
+
+2010-05-17 14:40  mmetz
+
+	* raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_flatarea.c: beautify flat areas: more
+	  tuning, clean up
+
+2010-05-17 12:04  mmetz
+
+	* gui/wxpython/gui_modules/mapdisp.py: fix save to graphics file,
+	  backport from devbr
+
+2010-05-17 07:48  mmetz
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/vclean.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: add interactive vector cleaning
+	  interface
+
+2010-05-16 19:55  glynn
+
+	* scripts/d.correlate/d.correlate.py: Set GRASS_PNG_READ=TRUE to
+	  force compositing of display commands
+
+2010-05-16 15:39  glynn
+
+	* include/gisdefs.h, lib/python/Makefile, lib/python/ctypes,
+	  lib/python/ctypes/Makefile, lib/python/ctypes/__init__.py,
+	  swig/Makefile: Replace SWIG with ctypesgen for Python bindings
+
+2010-05-16 15:37  glynn
+
+	* include/datetime.h, include/gisdefs.h: Add tag to DateTime
+	  structure
+
+2010-05-16 15:35  glynn
+
+	* man/Makefile: Use correct GISBASE setting when running build_*.py
+	  scripts
+
+2010-05-15 12:05  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: class names
+	  sychronized (Help*)
+
+2010-05-15 11:57  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: track history of
+	  open manual pages
+
+2010-05-15 10:19  martinl
+
+	* gui/wxpython/gis_set.py: bugfix #1069
+
+2010-05-13 22:30  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mcalc: fix
+	  insert position for '()'
+
+2010-05-13 22:24  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI/mcalc: run command from
+	  dialog, simplify menu
+
+2010-05-13 21:25  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mcalc: recycle
+	  **kwargs
+
+2010-05-13 13:20  mmetz
+
+	* gui/wxpython/wxgui.py: wxGUI: do not modify saved window layout
+
+2010-05-13 13:16  mmetz
+
+	* gui/wxpython/gui_modules/mcalc_builder.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI/mapcalc: fix 3D help, make
+	  overwrite option visible, find also interactive (3D) map
+	  calculator in command search
+
+2010-05-12 18:50  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: related fixes to
+	  #1066
+
+2010-05-12 14:46  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: more fixes in
+	  ImportDialog
+
+2010-05-12 14:24  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py: bugfix #1066
+	  sort formats
+
+2010-05-12 13:53  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: fix extension manager
+	  start-up
+
+2010-05-12 12:12  mmetz
+
+	* raster/r.watershed/ram/do_flatarea.c,
+	  raster/r.watershed/ram/init_vars.c: finetune flat area
+	  beautification
+
+2010-05-12 09:53  mmetz
+
+	* raster/r.watershed/ram/rbtree.c, raster/r.watershed/ram/rbtree.h:
+	  add search tree
+
+2010-05-12 09:34  mmetz
+
+	* raster/r.watershed/front/main.c: add new option to beautify flat
+	  areas to front
+
+2010-05-12 09:33  mmetz
+
+	* raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_flatarea.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c: new option to beautify flat areas
+
+2010-05-12 08:26  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py: wxGUI: cosmetics in module
+	  search tab
+
+2010-05-12 08:07  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: fix search module
+	  engine
+
+2010-05-12 06:14  martinl
+
+	* vector/lidar/r.resamp.bspline: missing svn props
+
+2010-05-12 05:53  martinl
+
+	* scripts/v.in.mapgen/v.in.mapgen.py: v.in.mapgen: print error
+	  message if fails, see #1065
+
+2010-05-12 05:47  martinl
+
+	* scripts/v.in.mapgen/v.in.mapgen.py: fix #1065
+
+2010-05-11 19:10  martinl
+
+	* mswindows/osgeo4w/grass70.bat.tmpl,
+	  mswindows/osgeo4w/grass70.tmpl, mswindows/osgeo4w/package.sh:
+	  remove unused files
+
+2010-05-11 17:25  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI/command output:
+	  Windows fixes
+	  (merge r42224 from devbr6)
+
+2010-05-11 16:56  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: remove problematic code
+	  (Windows)
+
+2010-05-11 16:44  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mcalc: windows
+	  fixes
+	  (merge r42217 & r42218 from devbr6)
+
+2010-05-10 14:23  martinl
+
+	* gui/wxpython/wxgui.py: another fix help -> ghelp
+
+2010-05-10 13:58  martinl
+
+	* gui/wxpython/gis_set.py: fix gis_set.py to reflect changes in
+	  ghelp
+
+2010-05-10 12:23  martinl
+
+	* gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: search module engine
+	  collapsible
+
+2010-05-10 10:50  glynn
+
+	* raster/r.mapcalc/main.c, raster/r.mapcalc/r.mapcalc.html: Fix
+	  r42183
+
+2010-05-10 09:53  mmetz
+
+	* vector/lidar/r.resamp.bspline/main.c: remove ogrid option, was
+	  for deugging only; finetune lambda
+
+2010-05-10 09:52  mmetz
+
+	* display/d.vect/main.c: display area labels also when not
+	  displaying centroids, i.e. type=area only
+
+2010-05-10 09:01  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/ghelp.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/help.py: wxGUI: improve
+	  SearchModuleWindow
+
+2010-05-09 21:03  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: change title
+
+2010-05-09 20:59  martinl
+
+	* gui/scripts/g.change.gui.py, gui/wxpython/xml/menudata.xml:
+	  remove g.change.gui
+
+2010-05-09 20:54  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menu, there is no
+	  v.digit
+
+2010-05-09 20:50  martinl
+
+	* gui/scripts/v.type_wrapper.py: v.type wrapper not needed, removed
+
+2010-05-09 18:27  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: implement
+	  remove
+
+2010-05-09 17:09  martinl
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: wxGUI/mapcalc: fix
+	  inserting operands
+
+2010-05-09 16:27  martinl
+
+	* gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: wxGUI: add
+	  r3.mapcalc to the menu
+
+2010-05-09 16:23  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: clean up map calculator
+
+2010-05-09 16:22  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: add
+	  relations
+
+2010-05-09 13:43  martinl
+
+	* gui/wxpython/wxgui.py: fix r42183
+
+2010-05-09 13:41  martinl
+
+	* gui/wxpython/xml/menudata.xml, raster/r.mapcalc/main.c: fix #1059
+	  (wxGUI: No menu option for r.mapcalc)
+
+2010-05-09 11:50  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI: message cosmetics
+
+2010-05-08 20:18  neteler
+
+	* raster/r.what/r.what.html: support one year of daily maps
+
+2010-05-08 20:17  neteler
+
+	* raster/r.what/main.c: support one year of daily maps
+
+2010-05-08 19:53  martinl
+
+	* gui/wxpython/gui_modules/help.py, gui/wxpython/wxgui.py: wxGUI:
+	  fix ext simple mode
+
+2010-05-08 19:45  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI/ext: don't fetch full
+	  desc by default
+
+2010-05-08 19:25  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI/ext: repo widget
+
+2010-05-08 18:48  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: get gdal formats on
+	  request
+
+2010-05-08 17:34  martinl
+
+	* gui/wxpython/gui_modules/help.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: experimental prototype of
+	  extension manager
+
+2010-05-08 15:27  kyngchaos
+
+	* macosx/Makefile, macosx/app/Makefile: update mac install to
+	  mirror current standard install
+
+2010-05-08 11:44  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: update menu + add
+	  g.extension
+
+2010-05-08 11:33  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: list available
+	  extension in full / shell style
+
+2010-05-08 11:28  martinl
+
+	* lib/python/core.py: pythonlib: implement percent() as wrapper for
+	  `g.message -p`
+
+2010-05-08 11:26  martinl
+
+	* general/g.message/main.c: g.message: flag for progress info
+	  message
+
+2010-05-08 03:14  kyngchaos
+
+	* macosx/Makefile, macosx/app/Makefile, macosx/app/grass.sh.in:
+	  more fixes for python init in Mac app
+
+2010-05-08 02:30  kyngchaos
+
+	* lib/init/grass.py, macosx/app/grass.sh.in: mac fixes: start new
+	  python init, fix user defined browser setting
+
+2010-05-07 11:39  mmetz
+
+	* scripts/r.fillnulls/r.fillnulls.py: fix for r.fillnulls: use
+	  r.grow instead of r.buffer
+
+2010-05-07 08:06  mmetz
+
+	* gui/wxpython/xml/menudata.xml: add new module r.resamp.bspline to
+	  GUI menu
+
+2010-05-07 08:04  mmetz
+
+	* vector/lidar/Makefile, vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c: lidar tools update
+
+2010-05-07 08:03  mmetz
+
+	* vector/lidar/r.resamp.bspline,
+	  vector/lidar/r.resamp.bspline/Makefile,
+	  vector/lidar/r.resamp.bspline/bspline.h,
+	  vector/lidar/r.resamp.bspline/crosscorr.c,
+	  vector/lidar/r.resamp.bspline/main.c,
+	  vector/lidar/r.resamp.bspline/r.resamp.bspline.html,
+	  vector/lidar/r.resamp.bspline/resamp.c: new module for raster
+	  resampling and NULL cell filling
+
+2010-05-06 07:38  huhabla
+
+	* lib/gis/parser_wps.c: XML creation enhancements.
+
+2010-05-05 23:40  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats cosmetics
+
+2010-05-05 23:28  martinl
+
+	* gui/wxpython/gis_set.py: bugfix #1050
+
+2010-05-05 20:10  neteler
+
+	* locale/po/grasslibs_ml.po: Mohammed Rashad: new
+
+2010-05-05 16:43  mmetz
+
+	* vector/v.generalize/smoothing.c: chaiken forgot first point
+
+2010-05-05 14:06  mmetz
+
+	* vector/v.generalize/matrix.c, vector/v.generalize/smoothing.c: do
+	  not crash, give out of memory messages
+
+2010-05-05 13:25  mmetz
+
+	* raster/r.out.gdal/export_band.c, raster/r.out.gdal/main.c:
+	  human-readable numbers, backport from devbr
+
+2010-05-04 19:09  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: document prompt key
+	  shortcuts
+
+2010-05-04 18:36  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: fix ETCWX variable
+
+2010-05-04 15:17  martinl
+
+	* vector/v.buffer/main.c: v.buffer: be more verbose
+	  (merge r42111 from devbr6)
+
+2010-05-04 12:05  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: fix key up/down for
+	  prompt
+	  (merge r42109 from devbr6)
+
+2010-05-04 11:32  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: more wxGUI compilation
+	  fixes
+	  (merge r42107 from devbr6)
+
+2010-05-04 10:31  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: fix compilation
+
+2010-05-04 09:02  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/help.py: wxGUI: SearchModuleWindow added
+
+2010-05-04 08:42  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/help.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: search module moved as
+	  notebook page in Layer Manager
+
+2010-05-03 22:01  neteler
+
+	* locale/po/grasswxpy_ml.po: Mohammed Rashad: cont'ed
+
+2010-05-03 15:59  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: fix adding multiple
+	  maps into layer tree
+	  (merge r42089 from devbr6)
+
+2010-05-03 15:07  martinl
+
+	* raster/r.slope.aspect/main.c: r.slope.aspect: more gui sections
+	  (merge r42086 from devbr6)
+
+2010-05-03 14:30  hamish
+
+	* scripts/v.in.gpsbabel/Makefile: module slated to be renamed
+
+2010-05-03 14:28  hamish
+
+	* scripts/v.out.gps/v.out.gps: explain err msg more (confused with
+	  type=)
+
+2010-05-03 12:28  mmetz
+
+	* lib/vector/Vlib/write.c: correct order of arguments
+
+2010-05-03 08:06  mmetz
+
+	* include/vector.h, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_ogr.c: next
+	  step on OGR vector write access
+
+2010-05-01 15:23  glynn
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/globalvar.py: Fix
+	  #1046
+
+2010-05-01 10:23  neteler
+
+	* locale/po/grasswxpy_ml.po, translators.csv: Mohammed Rashad: new
+
+2010-04-30 16:56  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: fix #1046
+
+2010-04-30 15:36  huhabla
+
+	* vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/TcholBand.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.outlier/v.outlier.html,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c,
+	  vector/lidar/v.surf.bspline/v.surf.bspline.html: Replaced
+	  tcholSolver() with the gmath version
+	  G_math_solver_cholesky_sband(). Removed TcholBand.c. Renamed some
+	  variables to be more descriptive. Added two nc examples from
+	  Markus Metz
+	  to the html docs.
+
+2010-04-28 21:14  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: direct OGR read access
+	  fixes
+
+2010-04-28 19:23  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: fix GdalSelect in
+	  menuform
+
+2010-04-28 15:24  huhabla
+
+	* lib/gmath/solvers_direct_cholesky_band.c,
+	  lib/gmath/symmetric_band_matrix.c, lib/gmath/test/bench_blas2.c,
+	  lib/gmath/test/test_blas2.c, lib/gpde/Makefile: Fixed some OpenMP
+	  related bugs. Removed obsolete comments from Makefile.
+
+2010-04-28 10:41  huhabla
+
+	* include/gmath.h, lib/gmath/blas_level_2.c,
+	  lib/gmath/gmathlib.dox, lib/gmath/solvers_direct_cholesky_band.c,
+	  lib/gmath/solvers_krylov.c, lib/gmath/sparse_matrix.c,
+	  lib/gmath/symmetric_band_matrix.c,
+	  lib/gmath/test/bench_solver_direct.c,
+	  lib/gmath/test/bench_solver_krylov.c,
+	  lib/gmath/test/test_blas2.c,
+	  lib/gmath/test/test_ccmath_wrapper.c,
+	  lib/gmath/test/test_gmath_lib.h, lib/gmath/test/test_main.c,
+	  lib/gmath/test/test_matrix_conversion.c,
+	  lib/gmath/test/test_solvers.c, lib/gmath/test/test_tools.c: New
+	  band matrix functions. Implemented new conjugate gradent band
+	  matrix
+	  solver. Created tests for band matrix functions and solver.
+	  Simple band
+	  matrix benchmarks are available. Documentation update.
+
+2010-04-27 17:33  huhabla
+
+	* lib/gmath/gmathlib.dox: New band matrix functions and solver
+	  added to documentation.
+
+2010-04-27 17:18  huhabla
+
+	* include/gmath.h, lib/gmath/ATLAS_wrapper_blas_level_1.c,
+	  lib/gmath/blas_level_1.c, lib/gmath/blas_level_2.c,
+	  lib/gmath/blas_level_3.c, lib/gmath/ccmath_grass_wrapper.c,
+	  lib/gmath/solvers_classic_iter.c, lib/gmath/solvers_direct.c,
+	  lib/gmath/solvers_direct_cholesky_band.c,
+	  lib/gmath/solvers_krylov.c, lib/gmath/sparse_matrix.c,
+	  lib/gmath/test/test_gmath_lib.h, lib/gmath/test/test_main.c,
+	  lib/gmath/test/test_matrix_conversion.c,
+	  lib/gmath/test/test_solvers.c: Head section correction. New
+	  matrix conversion functions added.
+	  Integrated the band matrix cholesky solver from lidar library
+	  into gmath library. Added tests for band matrix solver and matrix
+	  conversion functions. Updated the doxygen documentation.
+
+2010-04-27 14:44  martinl
+
+	* lib/gis/seek.c: gis/seek.c: doxygen strings added
+
+2010-04-27 09:59  huhabla
+
+	* lib/gmath/ATLAS_wrapper_blas_level_1.c, lib/gmath/TODO,
+	  lib/gmath/blas_level_2.c, lib/gmath/blas_level_3.c,
+	  lib/gmath/ccmath_grass_wrapper.c, lib/gmath/gauss.c,
+	  lib/gmath/gmathlib.dox, lib/gmath/ialloc.c,
+	  lib/gmath/solvers_classic_iter.c, lib/gmath/solvers_direct.c,
+	  lib/gmath/sparse_matrix.c: Enhanced documentaion of the gmath
+	  doxygen file. Fixed several doxygen documentation issues.
+
+2010-04-26 21:56  huhabla
+
+	* raster/r.gwflow/main.c: Better parameter naming
+
+2010-04-26 21:38  huhabla
+
+	* raster3d/r3.gwflow/main.c: Use of standard options. Better
+	  parameter description.
+
+2010-04-26 19:20  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: use GdalSelect in
+	  menuform
+
+2010-04-26 17:16  glynn
+
+	* raster/r.external/Makefile, raster/r.external/main.c: Create
+	  imagery group for multiple bands (bug #1043)
+
+2010-04-26 17:15  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html: Fix description of continuation
+	  lines
+
+2010-04-26 16:41  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: GdalSelect class implemented
+
+2010-04-25 07:44  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: clear cmd after run,
+	  cmd history up/down
+
+2010-04-24 23:05  huhabla
+
+	* include/gmath.h, lib/gmath/solvers_direct.c: Removed pivot
+	  creation. Better function naming.
+
+2010-04-24 22:57  huhabla
+
+	* lib/gis/parser_wps.c: Typo fix
+
+2010-04-24 22:27  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: gselect.FormatSelect
+	  class added
+
+2010-04-23 15:48  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: SubGroup widget
+	  imlemented
+
+2010-04-23 15:44  aghisla
+
+	* gui/wxpython/scripts/vkrige.py, scripts/v.krige/v.krige.py: Merge
+	  with devbr6, but spgrass6 not working, so the module is still
+	  broken.
+
+2010-04-23 14:18  martinl
+
+	* vector/v.random/main.c: fix #1037 ('column_type' added)
+
+2010-04-22 18:25  martinl
+
+	* gui/icons/grass2/data-add.png, gui/icons/grass2/module-add.png,
+	  gui/wxpython/icons/grass2_icons.py: wxGUI/modeler: new icons by
+	  Robert Szczepanek
+
+2010-04-22 16:36  mmetz
+
+	* vector/v.split/main.c: v.split: full 3D support
+
+2010-04-22 08:34  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: zoom to imported map
+
+2010-04-22 08:13  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: fix _addLayers()
+
+2010-04-22 07:42  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: add layer when
+	  import is finished
+
+2010-04-22 07:33  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: fix GetValidLayerName()
+	  (merge r41962 from devbr6)
+
+2010-04-21 21:05  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py: wxGUI/dbm: fix for linked
+	  ogr vectors
+
+2010-04-21 16:51  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: enable PostgreSQL in
+	  bulk link/import
+
+2010-04-21 15:51  martinl
+
+	* lib/vector/Vlib/read_ogr.c: vlib: fix reading areas from OGR
+	  sources
+
+2010-04-21 15:20  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: import/link -
+	  support for sqlite
+
+2010-04-21 13:46  mmetz
+
+	* lib/vector/Vlib/field.c: don't set layer to 0 for layers without
+	  table
+
+2010-04-21 12:19  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: d.vect OGR fixes
+
+2010-04-21 11:37  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: native/ogr format
+	  enhancements
+
+2010-04-21 11:00  martinl
+
+	* display/d.vect/main.c, lib/gis/parser_standard_options.c: layer
+	  required (for direct OGR access)
+
+2010-04-21 10:13  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: d.rast -n
+
+2010-04-21 10:12  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gmodeler.py: wxGUI: various fixes in
+	  bulk dialog import
+
+2010-04-21 09:00  martinl
+
+	* vector/v.in.dxf/main.c: v.in.dxf: output optional (list flag)
+
+2010-04-21 08:02  mmetz
+
+	* lib/vector/Makefile: fix for ticket #1040
+
+2010-04-21 06:28  hamish
+
+	* lib/external/ccmath/README: enhanced author props
+
+2010-04-21 05:39  hamish
+
+	* lib/gpde/Makefile: OpenMP comment update
+
+2010-04-20 15:34  mmetz
+
+	* raster/r.watershed/front/main.c: improved module description
+
+2010-04-20 09:58  mmetz
+
+	* vector/v.split/main.c: copy tables
+
+2010-04-20 09:46  mmetz
+
+	* vector/v.extract/extract.c: extract centroids for type=area and
+	  layer=-1
+
+2010-04-19 18:18  martinl
+
+	* lib/vector/vectorlib.dox: some notes about pseudo-topology (based
+	  on Markus Metz's notes in ML)
+
+2010-04-19 17:23  mmetz
+
+	* raster/r.cost/Makefile, raster/r.cost/main.c,
+	  raster/r.cost/stash.h: new output raster with nearest start
+	  point; sites interface replaced with vector interface
+
+2010-04-19 09:19  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI/modeler: fix
+	  OnRun/Done
+
+2010-04-19 08:19  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: expand prop
+	  dialog body
+
+2010-04-19 08:10  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: model
+	  properties
+
+2010-04-18 09:45  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py, gui/wxpython/wxgui.py:
+	  wxGUI/modeler: running process
+
+2010-04-18 07:59  neteler
+
+	* lib/python/core.py: +doxygen return type
+
+2010-04-17 12:06  neteler
+
+	* doc/python, doc/python/example_ctypes.py: glynn: ctypes Python
+	  example; with small additions
+
+2010-04-17 09:31  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: color for
+	  running actions
+
+2010-04-17 09:26  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: data
+	  color configurable
+
+2010-04-17 09:01  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: data size
+	  configurable
+
+2010-04-17 08:14  neteler
+
+	* raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mps/mps.c, raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c: free memory (fix trac #1030)
+
+2010-04-17 08:09  neteler
+
+	* raster/r.li/r.li.setup/r.li.setup.main: msg cosmetics
+
+2010-04-16 21:09  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: action
+	  size configurable
+
+2010-04-16 20:42  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/modeler: action
+	  color configurable
+
+2010-04-16 19:56  martinl
+
+	* gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/xml/menudata.xml,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: empty
+	  preferences dialog added
+
+2010-04-16 18:49  martinl
+
+	* gui/icons/grass2/python-export.png,
+	  gui/icons/grass2/relation-create.png,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI/modeler: more icons by
+	  Robert Szczepanek
+
+2010-04-16 18:23  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/goutput.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: run model from menu
+
+2010-04-16 09:50  martinl
+
+	* gui/icons/grass2/check.png, gui/icons/grass2/execute.png,
+	  gui/icons/grass2/image-export.png,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI/modeler: new icons by
+	  Robert Szczepanek
+
+2010-04-15 21:38  huhabla
+
+	* lib/imagery/loc_info.c: Fix: return the allocated buffer
+
+2010-04-15 21:32  huhabla
+
+	* imagery/i.group/main.c, include/imagedefs.h,
+	  lib/imagery/loc_info.c: Removed unused I_location_info() from
+	  i.group (ticket #1039). Modified
+	  I_location_info() to avoid buffer overflows.
+
+2010-04-14 23:41  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: implement
+	  ModelRelation class
+
+2010-04-14 23:09  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: set value in
+	  data dialog
+
+2010-04-14 22:47  martinl
+
+	* gui/wxpython/docs/wxGUI.Modeler.html: wxGUI/modeler: manual
+	  updated
+
+2010-04-14 22:45  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/grass-gxm.dtd: wxGUI/modeler: delete
+	  intermediate data
+
+2010-04-14 21:44  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix export
+	  to image
+
+2010-04-14 20:52  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: export to
+	  image
+
+2010-04-14 18:45  martinl
+
+	* raster/r.basins.fill/main.c, raster/r.fill.dir/main.c,
+	  raster/r.flow/main.c, raster/r.topmodel/main.c,
+	  raster/r.uslek/main.c, raster/r.watershed/front/main.c,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/usage.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c: hydrology modules: some options
+	  renamed (see #1031)
+
+2010-04-14 17:15  martinl
+
+	* mswindows/osgeo4w/package.sh: cosmetics in package.sh
+
+2010-04-14 17:09  martinl
+
+	* include/Make/Install.make: remove grass70.tmp from instdir
+
+2010-04-14 16:36  martinl
+
+	* binaryInstall.src, include/Make/Install.make, lib/init/Makefile,
+	  lib/init/grass.py: bugfix #1034
+
+2010-04-14 14:33  martinl
+
+	* raster/r.grow.distance/main.c, scripts/r.buffer/r.buffer.py:
+	  r.buffer/r.grow.distance: be more verbose
+
+2010-04-14 14:03  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI: enable i18n for
+	  modeler menu
+
+2010-04-14 11:31  martinl
+
+	* lib/init/grass-run.bat: remove unused bat script
+
+2010-04-14 10:14  martinl
+
+	* lib/init/grass.py: grass.py: i18n
+
+2010-04-14 09:35  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html,
+	  gui/wxpython/docs/wxGUI.html: wxGUI: manual cosmetics
+
+2010-04-13 19:15  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix
+	  OnModelSave() bug
+
+2010-04-13 18:40  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: track python scripts
+
+2010-04-13 18:40  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/help.py: wxGUI/modeler: more Windows
+	  fixes
+	  (merge from r41848 from trunk)
+
+2010-04-13 17:27  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI/modeler: improvements
+	  in search dialog
+
+2010-04-13 14:15  martinl
+
+	* gui/wxpython/wxgui.py: raise Layer Manager also on Windows
+	  (merge r41842 from devbr6)
+
+2010-04-13 14:03  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: don't use
+	  fully qualified names
+
+2010-04-13 13:25  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/help.py: wxGUI: cosmetics in aboutwindow
+
+2010-04-13 13:15  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/modeler: fix oncancel
+	  bug
+
+2010-04-13 09:29  hamish
+
+	* general/g.region/local_proto.h, general/g.region/main.c,
+	  general/g.region/printwindow.c: add a flag to print region in a
+	  style suitable for WMS
+
+2010-04-13 06:59  martinl
+
+	* scripts/r.reclass.area/r.reclass.area.py: fix typo in variable
+
+2010-04-12 18:50  neteler
+
+	* lib/vector/diglib/test.c: typo
+
+2010-04-12 18:45  martinl
+
+	* lib/vector/diglib/test.c: i18n
+
+2010-04-12 18:42  martinl
+
+	* locale/Makefile: track also python files in grasslibs
+
+2010-04-12 18:03  martinl
+
+	* gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/render.py: avoid gettext warnings
+
+2010-04-12 17:35  martinl
+
+	* vector/v.net.allpairs/Makefile, vector/v.net.centrality/Makefile,
+	  vector/v.net.components/Makefile, vector/v.net.distance/Makefile,
+	  vector/v.net.flow/Makefile, vector/v.net.timetable/Makefile: add
+	  missing s
+
+2010-04-12 16:44  martinl
+
+	* gui/wxpython/docs/wxGUI.Modeler.html: update modeler manual
+
+2010-04-12 16:42  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: export to
+	  Python script
+
+2010-04-12 15:07  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/grass-gxm.dtd: grass-gxm.dtd added, some tags
+	  renamed
+
+2010-04-12 13:58  martinl
+
+	* vector/v.net.centrality/main.c: v.net.centarality: variable
+	  renamed due to compilation problems on MS
+	  Windows
+	  (merge r41818 from devbr6)
+
+2010-04-12 06:55  glynn
+
+	* scripts/r.fillnulls/r.fillnulls.py: Fix bug with uninitialised
+	  variables and exit handler
+
+2010-04-11 21:11  neteler
+
+	* man/build_html.py: bye bye TCL/TK-based GUI frontends
+
+2010-04-11 20:43  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix
+	  OnModelClose()
+
+2010-04-11 20:37  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: cosmetics
+
+2010-04-11 20:10  martinl
+
+	* gui/wxpython/docs/wxGUI.Modeler.html: wxGUI/modeler: manual
+	  updated
+
+2010-04-11 19:30  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: OnModelNew
+	  implemeneted
+
+2010-04-11 19:16  martinl
+
+	* gui/icons/grass2/move.png, gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI: modeler in progress
+
+2010-04-11 16:23  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI:fix dxf dialog
+
+2010-04-11 16:12  martinl
+
+	* raster/r.in.gdal/main.c, vector/v.in.ogr/main.c: sync
+	  r.in.gdal/v.in.ogr -f output
+
+2010-04-11 15:50  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: fix r41800
+
+2010-04-11 15:49  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py, gui/wxpython/wxgui.py:
+	  wxGUI: cosmetics in splitter
+
+2010-04-11 13:23  martinl
+
+	* gui/scripts/Makefile, gui/scripts/d.rast3.py,
+	  gui/scripts/p.cmd.py, gui/scripts/p.db.py, gui/scripts/p.mon.py,
+	  gui/scripts/p.rast.py, gui/scripts/p.vect.py,
+	  gui/wxpython/scripts/d.rast3.py, gui/wxpython/scripts/p.cmd.py,
+	  gui/wxpython/scripts/p.db.py, gui/wxpython/scripts/p.mon.py,
+	  gui/wxpython/scripts/p.rast.py, gui/wxpython/scripts/p.vect.py:
+	  some scripts moved from gui/wxpython/scripts -> gui/scripts
+
+2010-04-10 21:29  neteler
+
+	* include/Make/Docs.make: restore lost htmldocs-single for doxygen
+
+2010-04-10 20:49  martinl
+
+	* gui/wxpython/scripts/d.rast3.py, gui/wxpython/scripts/d.rast3d:
+	  use py extension for Python scripts
+
+2010-04-10 20:48  martinl
+
+	* gui/wxpython/scripts/p.cmd, gui/wxpython/scripts/p.db,
+	  gui/wxpython/scripts/p.mon, gui/wxpython/scripts/p.rast,
+	  gui/wxpython/scripts/p.vect: remove bash scripts
+
+2010-04-10 20:39  martinl
+
+	* raster/r.topmodel/main.c, raster/r.watershed/front/main.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/usage.c: delevation rename to depression
+
+2010-04-10 20:23  martinl
+
+	* lib/init/grass.py: export also GRASS variables
+
+2010-04-10 18:58  neteler
+
+	* vector/Makefile, vector/v.net.centrality/main.c,
+	  vector/vectorintro.html: activate new v.net.* modules; add to
+	  intro; typo fix
+
+2010-04-10 18:35  neteler
+
+	* lib/vector/neta/Makefile: +EOL
+
+2010-04-10 17:25  martinl
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: register new v.net modules
+
+2010-04-10 17:08  martinl
+
+	* vector/v.net.allpairs/main.c, vector/v.net.bridge/main.c,
+	  vector/v.net.centrality/main.c, vector/v.net.components/main.c,
+	  vector/v.net.connectivity/main.c, vector/v.net.distance/main.c,
+	  vector/v.net.flow/main.c, vector/v.net.spanningtree/main.c,
+	  vector/v.net.timetable/main.c: run grass_indent.sh
+
+2010-04-10 17:01  martinl
+
+	* vector/v.net.allpairs, vector/v.net.allpairs/Makefile,
+	  vector/v.net.allpairs/main.c,
+	  vector/v.net.allpairs/v.net.allpairs.html, vector/v.net.bridge,
+	  vector/v.net.bridge/Makefile, vector/v.net.bridge/main.c,
+	  vector/v.net.bridge/v.net.bridge.html, vector/v.net.centrality,
+	  vector/v.net.centrality/Makefile, vector/v.net.centrality/main.c,
+	  vector/v.net.centrality/v.net.centrality.html,
+	  vector/v.net.components, vector/v.net.components/Makefile,
+	  vector/v.net.components/main.c,
+	  vector/v.net.components/v.net.components.html,
+	  vector/v.net.connectivity, vector/v.net.connectivity/Makefile,
+	  vector/v.net.connectivity/main.c,
+	  vector/v.net.connectivity/v.net.connectivity.html,
+	  vector/v.net.distance, vector/v.net.distance/Makefile,
+	  vector/v.net.distance/main.c,
+	  vector/v.net.distance/v.net.distance.html, vector/v.net.flow,
+	  vector/v.net.flow/Makefile, vector/v.net.flow/main.c,
+	  vector/v.net.flow/v.net.flow.html, vector/v.net.spanningtree,
+	  vector/v.net.spanningtree/Makefile,
+	  vector/v.net.spanningtree/main.c,
+	  vector/v.net.spanningtree/v.net.spanningtree.html,
+	  vector/v.net.timetable, vector/v.net.timetable/Makefile,
+	  vector/v.net.timetable/main.c,
+	  vector/v.net.timetable/v.net.timetable.html: added new modules by
+	  Daniel Bundala (Google Summer of Code 2009)
+	  v.net.distance
+	  v.net.bridge
+	  v.net.spanningtree
+	  v.net.flow
+	  v.net.connectivity
+	  v.net.timetable
+	  v.net.components
+	  v.net.allpairs
+	  v.net.centrality
+
+2010-04-10 15:36  martinl
+
+	* lib/grasslib.dox, lib/vector/Makefile, lib/vector/neta/Makefile,
+	  lib/vector/neta/netalib.dox: netalib.dox file added
+
+2010-04-10 15:16  martinl
+
+	* lib/vector/neta/allpairs.c, lib/vector/neta/articulation_point.c,
+	  lib/vector/neta/bridge.c, lib/vector/neta/centrality.c,
+	  lib/vector/neta/components.c, lib/vector/neta/flow.c,
+	  lib/vector/neta/path.c, lib/vector/neta/spanningtree.c,
+	  lib/vector/neta/timetables.c, lib/vector/neta/utils.c: run
+	  grass_indent.sh
+
+2010-04-10 15:12  martinl
+
+	* include/Make/Grass.make, include/neta.h, include/raster.h,
+	  lib/vector/neta, lib/vector/neta/Makefile,
+	  lib/vector/neta/allpairs.c, lib/vector/neta/articulation_point.c,
+	  lib/vector/neta/bridge.c, lib/vector/neta/centrality.c,
+	  lib/vector/neta/components.c, lib/vector/neta/flow.c,
+	  lib/vector/neta/path.c, lib/vector/neta/spanningtree.c,
+	  lib/vector/neta/timetables.c, lib/vector/neta/utils.c: added neta
+	  lib from grass-addons
+
+2010-04-08 20:43  martinl
+
+	* raster/r.watershed/front/main.c, raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/usage.c: fix ram after renaming options
+
+2010-04-08 20:23  martinl
+
+	* scripts/g.manual/g.manual.py: g.manual: don't fail when browser
+	  is not available
+
+2010-04-08 20:09  martinl
+
+	* lib/gis/parser_standard_options.c, raster/r.flow/main.c,
+	  raster/r.topmodel/main.c, raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c: more options standardization
+	  http://trac.osgeo.org/grass/wiki/Grass7/NewFeatures#Renamedoptions
+
+2010-04-08 19:57  neteler
+
+	* lib/python/core.py: fwd-port docs
+
+2010-04-08 19:48  martinl
+
+	* demolocation/Makefile, demolocation/grassrc.tmpl: grassrc
+	  re-added (needs to be available for compilation process)
+
+2010-04-08 14:35  huhabla
+
+	* lib/gis/parser_wps.c: Renamed resolution parameter. Added band
+	  number parameter.
+
+2010-04-08 11:04  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'ed
+
+2010-04-08 08:24  neteler
+
+	* raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/mps.c, raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html,
+	  raster/r.li/r.li.simpson/simpson.c: parameter name consistency
+	  fixes
+
+2010-04-08 08:24  hamish
+
+	* display/d.rast.arrow/main.c: pull back from r41699: grid
+	  color='none' is important, 'shape' is not appropriate
+
+2010-04-06 19:18  martinl
+
+	* gui/wxpython/xml/menudata.xml: synchronize item labels
+
+2010-04-06 17:28  martinl
+
+	* mswindows/GRASS-Installer.nsi: simplify uninstall procedure
+
+2010-04-06 14:11  martinl
+
+	* lib/init/grass.py, mswindows/GRASS-Installer.nsi: various minor
+	  fixes in winGRASS installer
+
+2010-04-06 13:20  huhabla
+
+	* raster/r.gwflow/main.c, raster/r.gwflow/valid_calc_excavation.py:
+	  Bugfix: Avoid segfault if q is not provided.
+
+2010-04-06 10:45  martinl
+
+	* demolocation/Makefile, demolocation/grassrc.tmpl: remove unused
+	  grassrc.tmpl
+
+2010-04-06 10:17  martinl
+
+	* gui/wxpython/gis_set_error.py, lib/init/grass.py: show error
+	  dialog when wxGUI is used
+
+2010-04-05 21:56  glynn
+
+	* include/Make/Install.make: Fix GISBASE when installing start-up
+	  script
+
+2010-04-05 18:59  neteler
+
+	* locale/po/grasslibs_de.po: Robert Nuske: cont'ed
+
+2010-04-05 17:23  martinl
+
+	* mswindows/GRASS-Installer.nsi: cosmetics in grass70.bat
+
+2010-04-05 17:20  martinl
+
+	* lib/init/grass.py, mswindows/GRASS-Installer.nsi: use GISBASE if
+	  defined
+
+2010-04-05 15:51  martinl
+
+	* scripts/v.krige/v.krige.py: v.krige: don't use Region global
+	  variable
+
+2010-04-05 13:43  martinl
+
+	* gui/wxpython/Makefile,
+	  gui/wxpython/gui_modules/r_li_setup_GUI.py,
+	  gui/wxpython/gui_modules/v_krige_wxGUI.py,
+	  gui/wxpython/scripts/Makefile,
+	  gui/wxpython/scripts/r.li.setup.py,
+	  gui/wxpython/scripts/vkrige.py, scripts/v.krige/v.krige.py: move
+	  v.krige and r.li.setup from gui_modules to scripts
+
+2010-04-05 10:53  neteler
+
+	* raster/r.series/r.series.html: fix the mess
+
+2010-04-05 10:45  neteler
+
+	* raster/r.series/r.series.html: HTML fix
+
+2010-04-04 19:26  martinl
+
+	* lib/init/grass.py: there is no prompt.sh
+
+2010-04-04 19:13  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat:
+	  upgrade wingrass package files
+
+2010-04-04 18:19  martinl
+
+	* Makefile, include/Make/Install.make, lib/init/Makefile,
+	  lib/init/functions.sh, lib/init/grass.bat, lib/init/grass.py,
+	  lib/init/grass.sh, lib/init/grass.src, lib/init/init.bat,
+	  lib/init/init.sh, lib/init/prompt.sh,
+	  mswindows/GRASS-Installer.nsi, mswindows/osgeo4w/package.sh:
+	  remove init sh/bat scripts (replaced by python scripts)
+
+2010-04-04 17:00  martinl
+
+	* vector/v.hull/main.c, vector/v.hull/read.c,
+	  vector/v.hull/v.hull.html: v.hull: support for vector lines
+	  (merge r41717 from devbr6)
+
+2010-04-04 15:53  martinl
+
+	* raster/r.series/r.series.html: add note about no of raster maps
+	  to be opened
+	  (merge r41714 from devbr6)
+
+2010-04-04 13:16  martinl
+
+	* raster/r.sunmask/main.c: r.sunmask: not A/B input options
+
+2010-04-04 13:14  martinl
+
+	* gui/wxpython/support/update_menudata.py: fix update menudata
+	  support script
+
+2010-04-04 13:02  martinl
+
+	* raster/r.sunmask/main.c: r.sunmask: description cosmetics
+
+2010-04-04 12:42  martinl
+
+	* raster/r.basins.fill/main.c, raster/r.carve/main.c,
+	  raster/r.fill.dir/main.c, raster/r.flow/main.c,
+	  raster/r.lake/main.c, raster/r.terraflow/main.cc,
+	  raster/r.topidx/main.c, raster/r.topmodel/main.c,
+	  raster/r.uslek/main.c, raster/r.usler/main.c,
+	  raster/r.water.outlet/main.c, raster/r.watershed/front/main.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c: various minor changes in
+	  hydrologic modules
+	  parameters keys sychronized
+
+2010-04-04 11:20  neteler
+
+	* vector/v.out.ogr/v.out.ogr.html: +3D point + faces export;
+	  examples simplified
+
+2010-04-04 10:28  martinl
+
+	* display/d.rast.arrow/main.c: d.rast.arrow: more gui sections
+
+2010-04-03 19:44  hellik
+
+	* mswindows/GRASS-Installer.nsi: there's no tcltk-gui in grass7, so
+	  no Windows Start Menu Shortcut for
+	  tcltk-gui needed
+
+2010-04-03 14:44  martinl
+
+	* lib/init/init.bat: fix init.bat
+
+2010-04-03 11:27  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix r41685
+
+2010-04-03 11:23  neteler
+
+	* lib/gis/colors.desc, lib/gis/colors/precipitation_monthly:
+	  +different monthly precip color table
+
+2010-04-03 11:15  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI:use floatspin
+
+2010-04-03 08:28  martinl
+
+	* lib/init/functions.sh: fix typo
+
+2010-04-02 22:57  glynn
+
+	* lib/init/functions.sh: Fix bugs from r41557 (changed wxpython
+	  directory)
+
+2010-04-02 17:27  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI/modeler: ModelDataDialog implemented
+
+2010-04-02 13:18  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: new workspace bugfix
+
+2010-04-02 12:58  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: close
+	  model, track changes in model
+
+2010-04-02 11:15  neteler
+
+	* include/stats.h, lib/stats/c_thresh.c, raster/r.series/main.c:
+	  threshold parameter added
+
+2010-04-02 10:51  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/docs/wxGUI.html: cosmetics in wxGUI docs
+
+2010-04-02 10:40  martinl
+
+	* gui/wxpython/xml/menudata.xml: remove duplicite shortcut
+
+2010-04-02 10:37  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/gmodeler:
+	  run/validate model
+
+2010-04-02 10:23  martinl
+
+	* lib/gis/parser.c: etc/wxpython moved to ec/gui/wxpython
+
+2010-04-02 06:38  neteler
+
+	* locale/po/grasslibs_de.po: Robert Nuske: cont'ed
+
+2010-04-01 22:14  cnielsen
+
+	* raster/r.drain/main.c, raster/r.drain/r.drain.html: Missing inits
+	  caused infinite loop
+
+2010-04-01 21:28  glynn
+
+	* lib/init/grass.py: Add missing "import re"
+
+2010-04-01 13:57  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI: fix onDone method
+	  (merge r41648 from devbr6)
+
+2010-04-01 13:47  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI: add modeler to the
+	  menu
+	  GModeler: run model
+	  about window
+	  (merge r41645 & r41646 from devbr6)
+
+2010-04-01 09:55  huhabla
+
+	* lib/gpde/N_gwflow.c, raster/r.gwflow/main.c: Use cell array in
+	  r.gwflow to store the boundary conditions
+
+2010-03-31 09:59  neteler
+
+	* locale/po/grassmods_de.po, locale/po/grasswxpy_de.po: Robert
+	  Nuske: cont'ed
+
+2010-03-30 16:13  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/modeler: load model
+	  file from command line
+
+2010-03-30 16:02  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: remove debug
+	  code
+
+2010-03-30 15:59  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI/modeler: fix
+	  OnCancel()
+
+2010-03-30 15:13  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: track also unnamed workspace
+
+2010-03-30 15:12  martinl
+
+	* gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: track changes in workspace
+
+2010-03-30 13:17  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/modeler: hide dialog
+	  on close
+
+2010-03-30 13:15  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: fix
+	  double-click on data item
+
+2010-03-30 13:10  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI: fix variable
+	  initialization
+
+2010-03-30 13:08  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: open/save
+	  model file (gxm)
+
+2010-03-29 23:17  hamish
+
+	* raster/r.grow/r.grow.html: add shrinking example (#1024)
+
+2010-03-29 18:49  neteler
+
+	* raster/r.in.gdal/main.c, raster/r.in.gdal/r.in.gdal.html: cache
+	  parameter added
+
+2010-03-29 13:09  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: various
+	  updates in loading data
+
+2010-03-29 10:40  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: load model
+	  file (gxm)
+
+2010-03-29 02:43  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: r.univar percentiles now
+	  allow doubles
+
+2010-03-28 20:54  martinl
+
+	* gui/icons/grass2/redo.png, gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: various
+	  updates
+
+2010-03-28 17:50  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: select items
+	  by left mouse
+
+2010-03-28 16:58  martinl
+
+	* gui/wxpython/gui_modules/gmodeler.py: wxGUI/modeler: data-action
+	  connection
+
+2010-03-28 15:55  martinl
+
+	* gui/icons/grass2/map-add.png,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI/modeler: add data
+	  item partly implemented
+
+2010-03-28 14:42  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: fix wxGUI prompt
+
+2010-03-28 13:20  martinl
+
+	* gui/icons/grass2/layer-add.png, gui/icons/grass2/options.png,
+	  gui/icons/grass2/overlay-add.png: add missing icon
+
+2010-03-28 13:19  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: wxGUI/modeler: add action
+	  implemented
+
+2010-03-28 11:14  martinl
+
+	* gui/wxpython/docs/wxGUI.Icons.html: typo in icon name
+
+2010-03-28 11:10  martinl
+
+	* gui/wxpython/docs/wxGUI.Icons.html: icons available from svn
+
+2010-03-28 11:02  martinl
+
+	* gui/wxpython/docs/Makefile, gui/wxpython/docs/wxGUI.Modeler.html,
+	  gui/wxpython/gui_modules/gmodeler.py,
+	  gui/wxpython/gui_modules/menu.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata_modeler.xml: wxGUI: graphical modeler
+	  development started
+
+2010-03-27 22:02  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_base.py: wxGUI/dbm: unicode bug fix
+	  (merge r41581 from devbr6)
+
+2010-03-27 18:26  marisn
+
+	* visualization/nviz/scripts/nviz2.2_script: nviz: Fail gracefully
+	  on Togl initialization failure (merge from develbranch_6 r41579)
+
+2010-03-27 13:33  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/undo.cpp:
+	  wxGUI/vdigit: fix undo tool (changesets start at 0)
+	  (merge r41576 from relbr64)
+
+2010-03-27 09:57  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: rename mapset/location - better
+	  error handling
+
+2010-03-27 09:35  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI: AboutWindow info
+	  cosmetics
+	  @todo: implement hyperlinks
+
+2010-03-27 09:29  martinl
+
+	* general/g.version/main.c: g.version: remove --q trick
+
+2010-03-27 09:20  martinl
+
+	* raster/r.solute.transport/main.c: r.solute.transport: i18n + more
+	  standard options
+
+2010-03-27 00:35  huhabla
+
+	* raster/r.solute.transport/main.c,
+	  raster/r.solute.transport/seguin_verify.py,
+	  raster/r.solute.transport/seguin_verify_well.py: Corrected input
+	  values in validation python scripts.
+
+2010-03-26 19:20  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/help.py,
+	  gui/wxpython/gui_modules/menu.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/r_li_setup_GUI.py,
+	  gui/wxpython/gui_modules/v_krige_wxGUI.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: menu clean up
+
+2010-03-26 16:37  martinl
+
+	* lib/init/grass.py: consmetics in grass.py header
+
+2010-03-26 16:17  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/layertree.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxgui_utils -> layertree
+
+2010-03-26 14:36  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c: fixed spurious initialization
+	  bug (only relevant for debian-style distros)
+
+2010-03-26 11:48  martinl
+
+	* general/g.gui/main.c, gui/wxpython/Makefile,
+	  gui/wxpython/gis_set.py, gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/menudata.py, gui/wxpython/nviz/Makefile,
+	  gui/wxpython/vdigit/Makefile, lib/init/grass.py: etc/wxpython ->
+	  etc/gui/wxpython
+
+2010-03-26 10:16  martinl
+
+	* gui/wxpython/xml/menudata.xml: update db.* and v.db.* entries
+
+2010-03-26 09:45  martinl
+
+	* gui/wxpython/support/update_menudata.py: 'make' required
+
+2010-03-26 09:37  martinl
+
+	* gui/wxpython/support/update_menudata.py: bogus: use 'diff'
+	  instead of 'svn diff'
+
+2010-03-26 09:15  martinl
+
+	* gui/wxpython/support/update_menudata.py: updata_menudata.py - dry
+	  run (svn diff)
+
+2010-03-25 22:13  neteler
+
+	* locale/po/grasswxpy_it.po, translators.csv: Stefano Costa:
+	  cont'ed
+
+2010-03-25 21:26  martinl
+
+	* gui/wxpython/xml/menudata.xml: menudata.xml sync'ed
+
+2010-03-25 19:56  neteler
+
+	* raster/r.watershed/front/r.watershed.html: url update
+
+2010-03-24 15:39  martinl
+
+	* mswindows/osgeo4w: svn props updated
+
+2010-03-24 15:31  martinl
+
+	* mswindows/GRASS-Packager.bat: osgeo4 packager updated
+
+2010-03-23 14:01  glynn
+
+	* include/iostream/minmaxheap.h: math.h may define log2() as a
+	  macro; undefine it
+
+2010-03-22 18:23  neteler
+
+	* gui/wxpython/wxgui.py: msg typo
+
+2010-03-22 18:22  neteler
+
+	* locale/po/grasswxpy_de.po: cont'ed
+
+2010-03-22 14:12  glynn
+
+	* raster/r.external.out/main.c: Add -p flag (print current status)
+
+2010-03-21 18:59  neteler
+
+	* include/Make/Install.make, rpm/opensuse/grass.spec: remove GEM
+
+2010-03-21 18:55  neteler
+
+	* macosx/Makefile, man/Makefile, man/build_html.py,
+	  man/build_index.py: remove GEM
+
+2010-03-21 18:26  neteler
+
+	* raster/r.external.out/r.external.out.html: + example
+
+2010-03-21 17:20  neteler
+
+	* scripts/v.db.addcolumn/v.db.addcolumn.html: link to 'GRASS SQL
+	  interface' page
+
+2010-03-21 16:52  huhabla
+
+	* lib/gpde/N_parse_options.c, raster/r.gwflow/main.c,
+	  raster/r.gwflow/r.gwflow.html, raster/r.gwflow/valid_calc_7x7.py,
+	  raster/r.gwflow/valid_calc_excavation.py,
+	  raster/r.solute.transport/example.py,
+	  raster/r.solute.transport/main.c,
+	  raster/r.solute.transport/r.solute.transport.html,
+	  raster/r.solute.transport/seguin_verify.py,
+	  raster/r.solute.transport/seguin_verify_well.py: Typo fixes
+	  Using G_define_standard_option()
+	  Renamed recharge and retardation options
+	  Removed translation form options and default answers
+
+2010-03-21 15:42  neteler
+
+	* locale/po/grasslibs_pl.po: Milena Nowotarska: cont'ed
+
+2010-03-21 14:25  neteler
+
+	* general/g.parser/g.parser.html: +WPS; +Wiki link
+
+2010-03-21 00:55  huhabla
+
+	* raster/r.gwflow/main.c, raster/r.solute.transport/main.c:
+	  Modified gui section support
+
+2010-03-21 00:37  huhabla
+
+	* lib/gpde/N_parse_options.c: Added gui section solver
+
+2010-03-20 18:53  glynn
+
+	* lib/gis/parser.c: Remove unnecessary casts
+
+2010-03-20 18:52  glynn
+
+	* lib/gis/flate.c: Fix signedness mismatch
+
+2010-03-20 18:03  huhabla
+
+	* raster/r.gwflow/main.c: Added gui sections for better
+	  interoperability
+
+2010-03-20 17:48  huhabla
+
+	* lib/gis/parser.c: Fixed segfault which appears while automated
+	  gui creation
+
+2010-03-19 16:55  hellik
+
+	* mswindows/GRASS-Installer.nsi: code clean up
+
+2010-03-19 16:11  neteler
+
+	* vector/v.info/main.c: show points with -l -t
+
+2010-03-19 16:07  glynn
+
+	* Makefile, gem: Remove GEM
+
+2010-03-19 16:07  glynn
+
+	* lib/gis/parser.c: Clean-up
+
+2010-03-19 10:24  glynn
+
+	* lib/init/grass.py: Windows fixes
+
+2010-03-18 23:33  neteler
+
+	* locale/po/grassmods_de.po: remove cruft
+
+2010-03-18 23:25  neteler
+
+	* locale/po/grassmods_de.po: fix suboptimal translations ;-)
+
+2010-03-18 11:17  glynn
+
+	* lib/init/init.bat: Add $GISBASE/scripts to $PATH
+	  Add .py to $PATHEXT
+	  Set PYTHONPATH
+
+2010-03-17 17:49  glynn
+
+	* include/Make/Compile.make, mswindows/generic.manifest.rc,
+	  mswindows/grass.ico: Add icon to Windows executables
+
+2010-03-17 13:39  glynn
+
+	* include/Make/Compile.make, mswindows/generic.manifest.rc: Add
+	  version information to Windows executables
+
+2010-03-17 11:11  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/utils.py: bugfix #1004
+	  (merge r41465 from devbr6)
+
+2010-03-17 10:37  glynn
+
+	* raster/r.colors/thumbnails.py: Add thumbnails for grey.eq,
+	  grey.log, random
+
+2010-03-16 14:02  glynn
+
+	* lib/form/Makefile, lib/init/Makefile, tools/Makefile,
+	  visualization/nviz/src/togl.h: Fix missing embedded manifests
+	  Togl isn't built as a DLL and so doesn't need
+	  __declspec(dllexport)
+
+2010-03-16 13:38  glynn
+
+	* Makefile, gem/Makefile, include/Make/Compile.make,
+	  include/Make/Etc.make, include/Make/Grass.make,
+	  lib/init/Makefile, lib/vector/diglib/Makefile,
+	  mswindows/generic.manifest.rc, tools/Makefile: MinGW: embed
+	  manifests in EXEs
+
+2010-03-16 02:08  hamish
+
+	* SUBMITTING, SUBMITTING_DOCS, SUBMITTING_PYTHON,
+	  SUBMITTING_SCRIPTS: Your attention to detail is appreciated.
+
+2010-03-15 18:31  pkelly
+
+	* lib/proj/coordinate_axis.csv, lib/proj/datum_shift.csv,
+	  lib/proj/ellipsoid.csv, lib/proj/gcs.csv,
+	  lib/proj/gcs.override.csv, lib/proj/gdal_datum.csv,
+	  lib/proj/pcs.csv, lib/proj/projop_wparm.csv,
+	  lib/proj/unit_of_measure.csv: Remove new GDAL datum logic (revert
+	  r41251)
+
+2010-03-15 16:55  neteler
+
+	* raster/r.out.gdal/main.c, raster/r.out.gdal/r.out.gdal.html: due
+	  credits
+
+2010-03-15 14:16  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: revert wrong change in
+	  r41447
+
+2010-03-15 14:06  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, lib/gis/parser.c: bugfix
+	  #928 - fails to pre-seed the GUI
+
+2010-03-15 12:42  martinl
+
+	* vector/v.out.ascii/args.c: v.out.ascii: 'output' is not required
+
+2010-03-15 12:38  martinl
+
+	* scripts/v.colors/v.colors.py: v.colors: description cosmetics
+
+2010-03-15 12:37  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: bugfix #928
+	  (merge r41442 from relbr64)
+
+2010-03-14 09:44  neteler
+
+	* vector/v.to.rast/do_lines.c: really print notice if 3D
+	  non-contour lines are found
+
+2010-03-14 07:19  glynn
+
+	* raster/r.mfilter/getfilt.c: Fix bug #999 (zero divisor)
+
+2010-03-13 18:55  hellik
+
+	* mswindows/GRASS-Installer.nsi: use default browser - thanks to
+	  marisn (#980)
+
+2010-03-13 17:35  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: be more consistent
+	  on ColumnSelect events
+
+2010-03-13 17:12  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: track default column
+	  name
+
+2010-03-13 16:47  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: ColumnSelect is not
+	  readonly (to unset option)
+	  bugfix #998
+
+2010-03-13 15:40  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: combobox readonly
+	  disabled (to unset paramater)
+
+2010-03-12 17:48  hamish
+
+	* lib/init/Makefile, lib/init/circle_1.png, lib/init/circle_2.png,
+	  lib/init/circle_3.png, lib/init/circle_4.png,
+	  lib/init/circle_5.png, lib/init/grass_start.png,
+	  lib/init/grass_start_small.jpg, lib/init/helptext.html: prettify
+	  helptext.html graphics (merge from devbr6)
+
+2010-03-12 17:44  hamish
+
+	* lib/init/functions.sh, lib/init/grass-xterm-mac,
+	  lib/init/grass.py, lib/init/prompt.sh, lib/init/winlocale.c: svn
+	  props
+
+2010-03-12 16:50  martinl
+
+	* gui/wxpython/gis_set.py: remove commented-out code, see r41408
+
+2010-03-12 16:43  martinl
+
+	* gui/wxpython/gis_set.py: partial fix #509
+
+2010-03-12 14:24  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: bugfix #979
+	  (merge r41402 from devbr6)
+
+2010-03-12 14:04  martinl
+
+	* lib/gis/strings.c: libgis: avoid segfault on G_store(NULL)
+	  Bugfix for v.db.connect when VAR is not available
+
+2010-03-12 13:58  martinl
+
+	* lib/db/dbmi_base/default_name.c: doxygen update
+
+2010-03-12 13:43  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/utils.py: bugfix #995
+	  (merge r41397, r41398) from devbr6
+
+2010-03-11 22:43  martinl
+
+	* lib/python/core.py: bugfix #995
+
+2010-03-11 21:51  martinl
+
+	* vector/v.db.connect/main.c: v.db.connect: more GUI sections
+
+2010-03-11 19:35  martinl
+
+	* scripts/r.shaded.relief/r.shaded.relief.py: r.shaded.relief:
+	  minor clean up
+
+2010-03-10 00:39  glynn
+
+	* gem/actions.c: Fix missing mode parameter (bug #993)
+
+2010-03-09 11:01  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/wxgui.py: wxGUI: fix zoomback in georect
+
+2010-03-09 05:42  hamish
+
+	* mswindows/GRASS-Installer.nsi: merge msg/comment tweaks from
+	  devbr6
+
+2010-03-08 20:38  neteler
+
+	* locale/po/grasswxpy_de.po: cont'ed
+
+2010-03-08 18:57  hellik
+
+	* mswindows/GRASS-Installer.nsi: change text on licence page
+	  see
+	  https://trac.osgeo.org/grass/ticket/986#comment:18
+
+2010-03-08 18:31  martinl
+
+	* gui/wxpython/gui_modules/georect.py: wxGUI/georect: track pen
+	  color
+	  (merge r41358 from relbr64)
+
+2010-03-08 18:22  hellik
+
+	* mswindows/GRASS-Installer.nsi: launch wx-gui by installer
+	  see
+	  https://trac.osgeo.org/grass/ticket/986#comment:16
+
+2010-03-08 16:37  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: bugfix when
+	  georectifier is started from LL location
+	  (merge r41352 from relbr64 & some clean up)
+
+2010-03-08 15:51  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: encode message only if
+	  locales are defined
+	  (merge r41349 from relbr64)
+
+2010-03-08 11:45  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI:loc_wiz: track
+	  more errors on search
+	  (merge r41345 from relbr64)
+
+2010-03-08 11:29  neteler
+
+	* mswindows/GRASS-Installer.nsi: cosmetics
+
+2010-03-07 20:18  martinl
+
+	* vector/v.split/main.c: be more precise in testing if input is 3d
+
+2010-03-07 16:54  hellik
+
+	* mswindows/GRASS-Installer.nsi: wingrass-installer improvements -
+	  part 4:
+	  options for launching Grass and Reference manual by exit the
+	  installer
+	  (both directly started, without a intermediate popup)
+
+2010-03-07 16:48  hellik
+
+	* mswindows/GRASS-Installer.nsi: wingrass-installer improvements -
+	  part 3:
+	  invoking g.mkfontcap by the wingrass-installer
+
+2010-03-07 16:44  hellik
+
+	* mswindows/GRASS-Installer.nsi: wingrass-installer improvements -
+	  part 2:
+	  change button text on licence page of the installer
+	  from 'I agree' to 'next'
+
+2010-03-07 16:42  hellik
+
+	* mswindows/GRASS-Installer.nsi: wingrass-installer improvements -
+	  part 1:
+	  change RequestExecutionLevel from user to admin
+	  (see https://trac.osgeo.org/grass/ticket/986#comment:5)
+
+2010-03-07 16:31  neteler
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasswxpy_cs.po: Jan Trochta: cont'ed
+
+2010-03-07 11:21  martinl
+
+	* gui/wxpython/gis_set.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI/loc_wiz: bugfix #987
+	  (merge r41316 from relbr64)
+
+2010-03-06 19:12  martinl
+
+	* gui/wxpython/nviz/init.cpp, gui/wxpython/nviz/surface.cpp,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/line.cpp: set variable to NULL after freeing
+	  (merge r41311 from relbr64)
+
+2010-03-06 18:33  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: fix Windows locale
+	  problem
+	  (merge r41308 from relbr64)
+
+2010-03-05 23:17  martinl
+
+	* gui/wxpython/gui_modules/georect.py: attempt to fix #728
+	  (merge r41305 from devbr6)
+
+2010-03-05 19:13  martinl
+
+	* lib/gis/units.c, misc/m.measure/main.c: m.measure: length is
+	  measured in LL locations in meters by default
+
+2010-03-05 19:04  martinl
+
+	* lib/gis/units.c: libgis: track also U_DEGREES
+
+2010-03-05 18:55  martinl
+
+	* misc/m.measure/Makefile, misc/m.measure/m.measure.html,
+	  misc/m.measure/main.c: missing svn props
+
+2010-03-05 18:53  martinl
+
+	* misc/m.measure/m.measure.html: typo
+
+2010-03-05 18:50  martinl
+
+	* vector/v.to.db/global.h, vector/v.to.db/parse.c,
+	  vector/v.to.db/units.c: v.to.db: use libgis fns (units)
+
+2010-03-05 18:44  martinl
+
+	* scripts/v.db.update/v.db.update.py: fix r41298
+
+2010-03-05 18:42  martinl
+
+	* scripts/v.db.update/v.db.update.py: bugfix #985 (patch provided
+	  by fpacheco)
+
+2010-03-05 18:25  martinl
+
+	* include/gis.h, include/gisdefs.h,
+	  lib/gis/parser_standard_options.c, lib/gis/proj1.c,
+	  lib/gis/proj2.c, lib/gis/proj3.c, lib/gis/units.c,
+	  misc/m.measure/m.measure.html, misc/m.measure/main.c: libgis:
+	  better units handling
+	  m.measure changed to use libgis fns
+
+2010-03-05 01:56  cmbarton
+
+	* scripts/d.shadedmap/d.shadedmap.py: Bug fix: h_map = drapemap ->
+	  h_map = drape_map
+
+2010-03-04 22:28  hamish
+
+	* scripts/v.colors/v.colors.py: fix opt order
+
+2010-03-04 10:42  mlennert
+
+	* gui/wxpython/gui_modules/menuform.py: allow to see files without
+	  extension
+
+2010-03-04 07:07  martinl
+
+	* misc/m.measure/main.c: m.measure: add keywords
+
+2010-03-04 07:06  hamish
+
+	* ps/ps.map/ps_clrtbl.c: bugfix: query color using correct datatype
+	  (merge from devbr6)
+
+2010-03-04 03:48  glynn
+
+	* misc/Makefile, misc/m.measure, misc/m.measure/Makefile,
+	  misc/m.measure/m.measure.html, misc/m.measure/main.c: Add
+	  m.measure
+
+2010-03-04 01:47  hamish
+
+	* scripts/v.colors/v.colors.py: fix verbosity
+
+2010-03-02 19:26  neteler
+
+	* raster/r.slope.aspect/r.slope.aspect.html: +Helena's PhD thesis
+	  ref
+
+2010-03-02 19:22  neteler
+
+	* raster/r.slope.aspect/r.slope.aspect.html: mention signedness for
+	  convex/concave
+
+2010-03-02 10:57  hamish
+
+	* display/d.vect/main.c: opt descr
+
+2010-03-02 10:25  mlennert
+
+	* display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot1.c: add sqrt_flag to make symbols
+	  proportionate to the square root of size_column (allows to make
+	  surface and not height of circles proportionate)
+
+2010-03-02 02:25  hamish
+
+	* raster/r.out.png/main.c: fix background transparency (merge from
+	  devbr6; thanks Glynn) trac #967
+
+2010-03-01 09:49  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: fix georectifier
+	  (merge r41253 from devbr6)
+
+2010-03-01 08:56  hamish
+
+	* display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot1.c: use size= option as scale factor when
+	  size_column is used
+
+2010-03-01 07:59  neteler
+
+	* lib/proj/coordinate_axis.csv, lib/proj/datum_shift.csv,
+	  lib/proj/ellipsoid.csv, lib/proj/gcs.csv,
+	  lib/proj/gcs.override.csv, lib/proj/gdal_datum.csv,
+	  lib/proj/pcs.csv, lib/proj/projop_wparm.csv,
+	  lib/proj/unit_of_measure.csv: backport from GDAL: big upgrade to
+	  EPSG 7.4.1 with improved datum logic
+
+2010-03-01 05:12  hamish
+
+	* lib/symbol/symbol/extra/ring: new symbol: ring (circle with
+	  fill=none, edge=dynamic) (merge from devbr6)
+
+2010-03-01 04:32  hamish
+
+	* scripts/v.db.update/v.db.update.py: show SQL statement in verbose
+	  mode
+
+2010-03-01 02:18  hamish
+
+	* raster/r.out.png/main.c: png bg color, still not right, but
+	  closer (merge from devbr6)
+
+2010-02-28 19:12  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: Naoki Ueda and team: cont'ed
+
+2010-02-28 18:43  glynn
+
+	* raster/Makefile: Enable r.in.png, r.resamp.filter
+
+2010-02-28 18:42  glynn
+
+	* raster/r.resamp.filter, raster/r.resamp.filter/Makefile,
+	  raster/r.resamp.filter/main.c,
+	  raster/r.resamp.filter/r.resamp.filter.html: Add r.resamp.filter
+
+2010-02-28 18:41  glynn
+
+	* raster/r.in.png, raster/r.in.png/Makefile,
+	  raster/r.in.png/r.in.png.c, raster/r.in.png/r.in.png.html:
+	  Resurrect r.in.png from 5.3
+
+2010-02-28 18:36  pkelly
+
+	* vector/v.delaunay/in_out.c: Fix bug #933
+
+2010-02-28 17:32  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk_icons.py: Add option to save profile data
+	  to csv file for processing in external app.
+
+2010-02-28 15:05  neteler
+
+	* lib/proj/gcs.override.csv, lib/proj/pcs.override.csv,
+	  lib/proj/stateplane.csv: backported fixes from GDAL/data/
+
+2010-02-28 13:12  martinl
+
+	* raster/r.surf.contour/contour.h, raster/r.surf.contour/main.c,
+	  raster/r.surf.contour/read_cell.c: r.surf.contour: use standard
+	  options (eliminate G_find_raster())
+
+2010-02-28 13:02  martinl
+
+	* raster/r.surf.area/main.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.fractal/main.c, raster/r.surf.gauss/main.c,
+	  raster/r.surf.idw/main.c, raster/r.surf.idw2/main.c,
+	  raster/r.surf.random/main.c, vector/lidar/v.surf.bspline/main.c,
+	  vector/v.surf.idw/main.c, vector/v.surf.rst/main.c: more keywords
+	  (*.surf.*)
+
+2010-02-28 12:46  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI: try to import
+	  wx.lib.agw.customtreectrl first (see r41218)
+
+2010-02-28 12:42  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  try to import wx.lib.agw.customtreectrl first
+
+2010-02-28 12:27  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/wxgui.py: wxGUI: fix panning (middle-click)
+
+2010-02-28 07:30  hamish
+
+	* raster/r.out.png/main.c, raster/r.out.png/pngfunc.h,
+	  raster/r.out.png/r.out.png.html: new -t flag for transpatency;
+	  new compression= option;
+	  i18n and msg cleanup, EXIT_SUCCESS, G_define_standard_option();
+	  think about bgcolor= option
+	  (trac #967, merge from devbr6)
+
+2010-02-28 02:15  epatton
+
+	* scripts/r.in.srtm/r.in.srtm.html: Typo
+
+2010-02-28 01:49  epatton
+
+	* raster/r.quant/r.quant.html: Small text correction
+
+2010-02-27 19:45  marisn
+
+	* visualization/nviz/scripts/attIsosurfPopup.tcl,
+	  visualization/nviz/scripts/attPopup.tcl,
+	  visualization/nviz/scripts/mapBrowser.tcl,
+	  visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_vect.tcl,
+	  visualization/nviz/scripts/panel_vol.tcl: nviz: Fix also other
+	  places where closing map choices window makes nviz to go bad.
+	  Continues r41205 Spotted on issue #852
+
+2010-02-27 17:49  marisn
+
+	* visualization/nviz/scripts/attPopup.tcl: nviz: Don't fail when
+	  user cancels surface property raster map choose window
+
+2010-02-27 17:35  hamish
+
+	* vector/v.delaunay/v.delaunay.html,
+	  vector/v.delaunay/v_delaunay_spearfish60_archsites.png: go back
+	  to 3-pane graphic (merge from devbr6)
+
+2010-02-27 13:54  hamish
+
+	* visualization/nviz/scripts/config.tcl: desert color scheme (merge
+	  from devbr6)
+
+2010-02-27 13:33  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI:
+	  middle-click+drag to pan the map
+
+2010-02-27 12:54  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: fix georect (#728)
+
+2010-02-27 11:31  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/georect: message
+	  cosmetics
+	  (merge r41192 from devbr6)
+
+2010-02-27 11:22  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po, locale/po/grasswxpy_zh.po: Jan
+	  Trochta: update from pot
+
+2010-02-26 21:31  mmetz
+
+	* raster/r.to.vect/main.c: changed flag description
+
+2010-02-26 06:55  hamish
+
+	* lib/gis/myname.c: more obvious error message (merge from devbr6)
+
+2010-02-24 14:24  glynn
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: Fix various bugs:
+	  add missing "icon" parameter
+	  type conversions
+	  grass. prefix
+	  various typos
+	  missing newlines
+
+2010-02-24 13:17  neteler
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po,
+	  locale/po/grasswxpy_it.po: cosmetics
+
+2010-02-24 11:10  martinl
+
+	* display/d.vect/d.vect.html, display/d.vect/main.c: d.vect:
+	  attrcol -> attrcolumn
+	  manual page updated, note width '0'
+
+2010-02-24 08:50  mmetz
+
+	* vector/v.to.rast/raster.c: bugfix for n passes >1
+
+2010-02-24 02:49  hamish
+
+	* display/d.vect/main.c: revert r41158
+
+2010-02-23 21:42  glynn
+
+	* scripts/d.vect.thematic/d.vect.thematic.py: Fix cleanup
+
+2010-02-23 18:32  glynn
+
+	* scripts/Makefile, scripts/d.vect.thematic/d.vect.thematic.py:
+	  Convert d.vect.thematic to Python
+
+2010-02-23 18:10  martinl
+
+	* gui/wxpython/gui_modules/help.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix loading groups from workspace
+
+2010-02-22 16:15  hamish
+
+	* raster/r.out.gdal/main.c: typo (merge from devbr6)
+
+2010-02-22 14:45  martinl
+
+	* display/d.vect/main.c: d.vect: default line width to '1'
+
+2010-02-22 10:35  martinl
+
+	* lib/raster/quant.c, lib/raster/quant_io.c, lib/raster/range.c:
+	  librast: Rast__quant_import() works with fully qualified names
+	  message clean up
+
+2010-02-22 05:30  hamish
+
+	* gui/wxpython/xml/menudata.xml,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py: i.in.spotvgt module descr;
+	  v.to.db menu descr (trac #840)
+
+2010-02-22 03:27  hcho
+
+	* vector/v.in.dxf/add_polyline.c: Removed old warnings
+
+2010-02-22 01:33  cmbarton
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/wxgui.py: Replace
+	  d.vect.thematic script with d.thematic.area module for thematic
+	  map layer.
+
+2010-02-21 19:38  cmbarton
+
+	* gui/wxpython/gui_modules/render.py: gcmd.RunCommand needs to
+	  return error messages in this context
+
+2010-02-21 17:32  martinl
+
+	* gui/wxpython/xml/menudata.xml, imagery/i.albedo/main.c,
+	  imagery/i.eb.h_SEBAL01/main.c, imagery/i.emissivity/main.c,
+	  raster/r.external/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.gdal/main.c,
+	  raster/r.out.ascii/main.c, raster/r.out.gridatb/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.png/main.c,
+	  raster/r.out.pov/main.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.tiff/main.c,
+	  raster/r.out.vrml/main.c, raster/r.out.vtk/main.c,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/main.c, scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/r.in.srtm/r.in.srtm.py,
+	  vector/v.external/main.c, vector/v.in.ascii/main.c,
+	  vector/v.in.ogr/main.c, vector/v.out.ogr/main.c,
+	  vector/v.out.pov/main.c: fix r41146 -- keep modules description
+	  in sync with wxGUI menudata
+	  (use support/update_menudata.py)
+
+2010-02-21 17:29  martinl
+
+	* gui/wxpython/support/update_menudata.py: wxGUI:
+	  update_menudata.py - write end of line
+
+2010-02-21 15:26  kyngchaos
+
+	* lib/init/functions.sh: fix browser logic for Mac
+
+2010-02-21 08:20  hamish
+
+	* gui/wxpython/xml/menudata.xml: make import/export descriptions
+	  understandable to users who don't know what GDAL is, etc
+
+2010-02-21 07:15  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Fix i.albedo command in menu
+
+2010-02-21 07:12  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Fix imagery menus
+
+2010-02-21 06:55  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Give XYZ positioning a
+	  much larger potential range
+
+2010-02-21 06:41  hamish
+
+	* lib/init/functions.sh: minor clean
+
+2010-02-21 04:36  hamish
+
+	* scripts/v.krige/v.krige.html: html bugs, add see also for
+	  installations
+
+2010-02-21 00:49  cmbarton
+
+	* lib/init/functions.sh: Needed to add a "&" so GUI won't run
+	  modally
+
+2010-02-21 00:41  cmbarton
+
+	* lib/init/functions.sh: This fixes the bug in which the GUI does
+	  not automatically launch at startup. It uses the syntax that is
+	  clearly working correctly at line 432 to launch gis_set.py for
+	  launching the rest of the GUI at line 599. Please test on other
+	  platforms.
+
+2010-02-20 23:37  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py: Fix error in parsing
+	  r.profile output. AFAICT, this problem arose from some kind of
+	  change in the r.profile output since this same syntax was not
+	  problematic in the recent past.
+
+2010-02-20 09:51  neteler
+
+	* locale/po/grasslibs_es.po: fixed encoding mess
+
+2010-02-20 07:52  hamish
+
+	* raster/r.proj/r.proj.html: sync minor cleanup from devbr6
+
+2010-02-20 07:41  hamish
+
+	* raster/r.proj/main.c, raster/r.proj/r.proj.html: sync text with
+	  devbr65, add -g example
+
+2010-02-19 16:21  martinl
+
+	* gui/wxpython/gui_modules/workspace.py: wxGUI: bugfix #950
+
+2010-02-19 11:49  glynn
+
+	* general/g.parser/g.parser.html, general/g.parser/main.c: Document
+	  -s flag
+
+2010-02-19 09:18  neteler
+
+	* locale/po/grasslibs_es.po: Javier Garcia Prieto: cont'ed
+
+2010-02-19 08:58  mmetz
+
+	* vector/lidar/v.surf.bspline/main.c: sync to v.surf.* modules in
+	  trunk, again
+
+2010-02-19 08:30  mmetz
+
+	* vector/lidar/v.surf.bspline/main.c: sync to v.surf.* modules in
+	  trunk
+
+2010-02-19 08:12  mmetz
+
+	* vector/v.surf.idw/read_sites.c: oen input vector without topo
+
+2010-02-19 08:07  mmetz
+
+	* vector/lidar/v.surf.bspline/main.c: make wxGUI happy (backport
+	  from relbr r41106), and sync with v.surf.rst
+
+2010-02-18 18:46  mmetz
+
+	* vector/lidar/v.surf.bspline/main.c: add -z flag
+
+2010-02-18 13:34  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: cont'ed
+
+2010-02-18 13:20  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: Naoki Ueda and team: cont'ed
+
+2010-02-18 12:51  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: don't show map layers after load
+	  (merge r41085 from devbr6)
+
+2010-02-18 12:38  glynn
+
+	* lib/gis/parser.c, lib/gis/parser_help.c,
+	  lib/gis/parser_local_proto.h: Add --help-text option
+
+2010-02-18 09:44  neteler
+
+	* gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py: added missing gettext support
+
+2010-02-18 01:02  hamish
+
+	* vector/v.parallel/Makefile, vector/v.parallel/main.c,
+	  vector/v.parallel/v.parallel.html: merge cleanups from devbr6
+	  r41042)
+
+2010-02-18 00:19  hamish
+
+	* lib/cairodriver/cairodriver.html, lib/pngdriver/pngdriver.html:
+	  doc pgm
+
+2010-02-17 17:05  mmetz
+
+	* vector/lidar/lidarlib/raster.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.surf.bspline/main.c: better phrasing
+
+2010-02-17 07:56  neteler
+
+	* vector/v.out.ascii/v.out.ascii.html: info transfer from
+	  v.in.ascii; link to SQL docs
+
+2010-02-17 07:55  neteler
+
+	* vector/v.in.ascii/v.in.ascii.html: info transfer from v.out.ascii
+
+2010-02-16 19:16  martinl
+
+	* gui/wxpython/gui_modules/workspace.py: bugfix #926 (merge r41049
+	  from devbr6)
+
+2010-02-16 16:51  neteler
+
+	* lib/init/Makefile, lib/init/circle_1.png, lib/init/circle_2.png,
+	  lib/init/circle_3.png, lib/init/circle_4.png,
+	  lib/init/circle_5.png, lib/init/grass_start_small.jpg,
+	  lib/init/helptext.html: GRASS startup explained
+
+2010-02-16 07:12  hamish
+
+	* lib/cairodriver/cairodriver.html, lib/pngdriver/pngdriver.html:
+	  document formats
+
+2010-02-16 06:43  cmbarton
+
+	* lib/python/core.py: Make compatible with multi-language
+	  internationalization
+
+2010-02-16 05:56  hamish
+
+	* tools/module_synopsis.sh: grasslogo_vector.pdf moved by r39664
+
+2010-02-15 13:47  neteler
+
+	* raster/r.statistics2/main.c: say what it does
+
+2010-02-15 12:20  glynn
+
+	* lib/cairodriver/cairodriver.h, lib/cairodriver/write_bmp.c,
+	  lib/pngdriver/pngdriver.h, lib/pngdriver/write_bmp.c,
+	  scripts/wxpyimgview/wxpyimgview_gui.py,
+	  visualization/wximgview/main.cc, visualization/ximgview/main.c:
+	  Use 64-byte header to ensure frame buffer alignment
+
+2010-02-15 11:58  glynn
+
+	* scripts/Makefile: Enable wxpyimgview
+
+2010-02-15 10:54  hamish
+
+	* raster/r.colors.out/Makefile, raster/r.colors.out/main.c,
+	  raster/r.colors.out/r.colors.out.html: match modern r.colors
+	  rules format, svn props
+
+2010-02-15 10:22  hamish
+
+	* visualization/wximgview/Makefile,
+	  visualization/wximgview/main.cc,
+	  visualization/wximgview/wximgview.h,
+	  visualization/wximgview/wximgview.html,
+	  visualization/ximgview/ximgview.html: svn props
+
+2010-02-15 09:58  hamish
+
+	* visualization/wximgview/wximgview.html,
+	  visualization/ximgview/ximgview.html: add examples to help pages
+
+2010-02-15 09:45  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: more credits
+
+2010-02-15 09:10  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: Naoki Ueda: cont'ed
+
+2010-02-15 07:34  hamish
+
+	* imagery/i.ortho.photo/lib/camera.c,
+	  imagery/i.ortho.photo/lib/elev.c: msg std'zn
+
+2010-02-15 07:22  hamish
+
+	* imagery/i.ortho.photo/lib/elev.c: cleanup: reorder includes,
+	  i18n, explain return codes, add warning
+
+2010-02-15 07:04  hamish
+
+	* imagery/i.ortho.photo/lib/camera.c: i18n, G_getl2
+
+2010-02-15 06:13  cmbarton
+
+	* lib/python/core.py: Added command_info method. Returns as
+	  dictionary all information output from <command> help.
+
+2010-02-14 22:16  neteler
+
+	* man/build_html.py: prettified (i.e. reordered) HTML text
+
+2010-02-14 20:55  martinl
+
+	* gui/wxpython/xml/menudata.xml: r.bilinear merged into
+	  r.resamp.interp
+
+2010-02-14 20:17  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Allow vector line widths
+	  to be set to 0 at a minimum
+
+2010-02-14 19:58  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Better display updating
+	  and error checking
+
+2010-02-14 15:01  neteler
+
+	* vector/lidar/v.surf.bspline/main.c,
+	  vector/lidar/v.surf.bspline/v.surf.bspline.html: parm name more
+	  reasonable (standardization)
+
+2010-02-14 13:04  martinl
+
+	* gui/wxpython/xml/menudata.xml: menu items checked by
+	  update_menudata.py
+	  items which requires xterm removed
+
+2010-02-14 12:47  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: fix syntax typos
+	  (merge r40981 from relbr64)
+
+2010-02-14 07:05  hamish
+
+	* general/g.transform/g.transform.html, general/g.transform/main.c:
+	  add new options to dump coeffs and transform arbitrary points,
+	  both fwd and reverse (trac #929; merge from devbr6)
+
+2010-02-14 04:36  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Added r.colors.out to menus
+
+2010-02-14 03:09  hamish
+
+	* raster/r.colors.out/main.c: redundant
+
+2010-02-14 02:42  glynn
+
+	* lib/init/functions.sh, lib/init/init.sh: Fix bit-rot (bug #931)
+
+2010-02-14 02:16  glynn
+
+	* raster/r.colors.out/main.c: map= is required
+
+2010-02-14 01:10  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Added r.statistics2,
+	  r.statistics3, and r.solute.transport to menus
+
+2010-02-13 14:26  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/location
+	  wizard: fix proj parsing
+
+2010-02-13 12:53  glynn
+
+	* Makefile: Fix r40977 (broken whitespace, missing semicolon)
+
+2010-02-13 12:07  glynn
+
+	* Makefile, mswindows/generic.manifest: Create manifests (untested)
+
+2010-02-13 10:05  neteler
+
+	* lib/gis/colors.desc: cosmetics
+
+2010-02-13 09:35  neteler
+
+	* raster/r.external/r.external.html: update doc
+
+2010-02-13 09:29  hamish
+
+	* raster/r.univar/globals.h, raster/r.univar/r.univar.html,
+	  raster/r.univar/r.univar_main.c, raster/r.univar/r3.univar.html,
+	  raster/r.univar/r3.univar_main.c, raster/r.univar/stats.c:
+	  support for non-integer percentiles (trac #873; merge from
+	  devbr6)
+
+2010-02-13 09:06  glynn
+
+	* visualization/nviz/src/do_zoom.c: Rename asprintf() -> xsprintf()
+	  to avoid conflict
+
+2010-02-13 05:46  cmbarton
+
+	* gui/wxpython/gui_modules/preferences.py: Replace standard font
+	  dialog for output font with dialog used for default GRASS font
+	  because standard font dialog broken in wxPython for Mac in OS X
+	  10.6
+
+2010-02-13 04:44  glynn
+
+	* raster/r.external/main.c: Allow linking all bands (#914)
+
+2010-02-13 04:42  glynn
+
+	* lib/gis/colors.desc, lib/gis/colors/rstcurv: Add "rstcurv" table
+
+2010-02-13 04:40  glynn
+
+	* visualization/nviz/src/do_zoom.c: Use g.pnmcat to join tiles
+	  (eliminate pnmcat dependency)
+
+2010-02-13 04:40  glynn
+
+	* lib/ogsf/gsd_img_ppm.c: Use convential PPM header (magic,
+	  width/height, maxval on separate lines)
+
+2010-02-13 04:39  glynn
+
+	* general/g.pnmcat, general/g.pnmcat/Makefile,
+	  general/g.pnmcat/g.pnmcat.html, general/g.pnmcat/main.c: Add
+	  g.pnmcat module (for use by NVIZ)
+
+2010-02-13 04:29  glynn
+
+	* raster/Makefile: Build r.mapcalc first; needed by r.colors
+
+2010-02-13 01:17  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Removed another fragment
+	  of testing code
+
+2010-02-12 20:43  neteler
+
+	* locale/po/grasslibs_zh.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_zh.po: Chinese wx translation generated from
+	  existing files; header cosmetics
+
+2010-02-12 20:25  neteler
+
+	* locale/po/grasswxpy_fr.po: cross-transfer of translations with
+	  msgmerge -N from grasstcl_fr.po
+
+2010-02-12 20:13  neteler
+
+	* locale/po/grasswxpy_de.po: few updates
+
+2010-02-12 16:02  neteler
+
+	* scripts/i.fusion.brovey/i.fusion.brovey.html: url fix
+
+2010-02-12 13:38  neteler
+
+	* gui/wxpython/gui_modules/r_li_setup_GUI.py: small fix + test
+	  output
+
+2010-02-12 07:47  neteler
+
+	* locale/po/grasslibs_de.po: cont'ed
+
+2010-02-11 19:45  aghisla
+
+	* gui/wxpython/gui_modules/r_li_setup_GUI.py: Stub file for
+	  wxPython interface for r.li.setup. Opinions welcome.
+
+2010-02-11 16:26  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: small fix that may or may
+	  not make a difference.
+
+2010-02-11 07:43  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Accidentally left a piece
+	  of testing code in the module. Removed.
+
+2010-02-11 07:21  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Update and comprehensive
+	  bug fix: Display now refreshes and updates when options changed;
+	  settings save and load correctly; tools interface now opens to
+	  view page initially; tools interface is more compact.
+
+2010-02-11 00:06  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: mention m.proj trick
+
+2010-02-10 14:26  mmetz
+
+	* lib/segment/format.c: fix nonsense if statements
+
+2010-02-10 13:59  epatton
+
+	* raster/r.out.gdal/r.out.gdal.html: Updated manpage with
+	  description of -f flag, merge from devbr6 r40900
+
+2010-02-10 13:53  epatton
+
+	* raster/r.out.gdal/main.c: Refined description of r.out.gdal -f
+	  flag, merge from devbr6 r40899
+
+2010-02-10 12:23  epatton
+
+	* raster/r.out.gdal/main.c: Revert r40901, wrong message log
+
+2010-02-10 04:19  glynn
+
+	* lib/gis/spawn.c: Don't warn about not close()ing descriptors
+	  other than std{in,out,err} on Windows
+
+2010-02-10 04:18  glynn
+
+	* lib/gis/popen.c: G_spawn_ex() expects descriptors as "int"s, not
+	  "char*".
+
+2010-02-10 04:17  glynn
+
+	* lib/raster/gdal.c: Add libgdal-1.dll as candidate
+
+2010-02-10 04:15  glynn
+
+	* raster/r.region/main.c: Use standard options, add ->gisprompt
+	  settings
+
+2010-02-09 23:58  epatton
+
+	* raster/r.out.gdal/main.c: Updated manpage with description of -f
+	  flag, merge from devbr6 (r40900)
+
+2010-02-09 14:04  hamish
+
+	* mswindows/osgeo4w/msys.bat: quote another path, comment out
+	  uneeded output
+
+2010-02-09 10:44  hamish
+
+	* lib/gis/datumtransform.table: reword to avoid confusion with
+	  mathematical 'add' (merge from devbr6 r40880)
+
+2010-02-09 09:29  neteler
+
+	* locale/po/grassmods_ja.po: Naoki Ueda: cont'ed
+
+2010-02-09 08:30  neteler
+
+	* locale/po/grasswxpy_ja.po: Akira Taniguchi: cont'ed
+
+2010-02-09 06:19  glynn
+
+	* raster/r.li/Makefile, raster/r.li/r.li.daemon/daemon.c: Enable
+	  r.li on Windows
+	  Substitute rand/srand for random/srandom on Windows
+
+2010-02-09 02:37  glynn
+
+	* include/Make/Install.make: Change $(BINDIR) to $(UNIX_BIN)
+
+2010-02-09 02:28  glynn
+
+	* gui/wxpython/nviz/Makefile, gui/wxpython/nviz/setup.py,
+	  gui/wxpython/vdigit/Makefile, gui/wxpython/vdigit/setup.py,
+	  lib/gis/popen.c, visualization/wximgview/main.cc: Windows fixes
+
+2010-02-08 23:54  glynn
+
+	* visualization/nviz/Makefile, visualization/nviz/scripts/nviz,
+	  visualization/nviz/scripts/nviz.bat,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c: Make nviz binary a normal
+	  GRASS module, eliminate nviz[.bat] scripts
+
+2010-02-08 17:11  neteler
+
+	* lib/gis/datumtransform.table: added more explations
+
+2010-02-08 16:56  neteler
+
+	* raster/r.proj/r.proj.html: link updated
+
+2010-02-08 16:54  pkelly
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table: Add Swedish
+	  datum rt90
+
+2010-02-08 11:25  hamish
+
+	* raster/r.info/main.c: show units and vertical datum if either
+	  exist
+
+2010-02-08 08:27  hamish
+
+	* configure, configure.in: only show latest rev (trac #587)
+
+2010-02-08 07:51  mmetz
+
+	* vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c: code clean-up and more
+	  documentation
+
+2010-02-08 06:18  glynn
+
+	* visualization/nviz/src/nviz_init.c: G_parser() should be called
+	  with argv[0] pointing to the interpreter,
+	  not the script (bug #902)
+
+2010-02-08 02:29  glynn
+
+	* general/g.dirseps/main.c, general/g.mkfontcap/main.c,
+	  lib/gis/gisinit.c: Revert r40855 (breaks g.proj, g.gisenv)
+	  Inhibit reading of $GISRC for g.dirseps and g.mkfontcap
+
+2010-02-08 02:24  glynn
+
+	* lib/gis/gisinit.c: Inhibit reading of environment when
+	  G_no_gisinit() is used
+
+2010-02-08 01:50  hamish
+
+	* lib/raster/raster.c: include string.h for memcpy()
+
+2010-02-06 20:00  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_pt.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po: more Japanese translations; update
+	  from template
+
+2010-02-06 19:21  neteler
+
+	* locale/po/grassmods_ja.po: Haruka Fujii: cont'ed
+
+2010-02-06 18:45  glynn
+
+	* lib/gis/parser.c, lib/gis/parser_help.c, lib/gis/parser_html.c,
+	  lib/gis/parser_local_proto.h, lib/gis/parser_script.c,
+	  lib/gis/parser_standard_options.c, lib/gis/parser_wps.c: Move
+	  header inclusions, macros into appropriate files
+
+2010-02-06 03:12  glynn
+
+	* lib/gis/asprintf.c, lib/gis/snprintf.c: Fix G_snprintf() to allow
+	  for bug in Windows vsnprintf()
+	  Change G_vasprintf() to use vsnprintf instead of temporary file
+
+2010-02-06 02:42  glynn
+
+	* include/gisdefs.h, lib/gis/index.c, lib/gis/parser_help.c,
+	  lib/gis/token.c, lib/sites/sites.c, lib/vector/Vlib/ascii.c,
+	  lib/vector/Vlib/header.c, lib/vector/diglib/frmt.c: Eliminate
+	  G_index(), G_rindex(); replace with strchr(), strrchr()
+
+2010-02-06 02:37  glynn
+
+	* include/gisdefs.h, lib/gis/strings.c, vector/v.in.ogr/main.c:
+	  Elminate G_strdup(); replace with G_store()
+
+2010-02-06 02:35  glynn
+
+	* general/g.region/main.c, imagery/i.rectify/rectify.c,
+	  include/gisdefs.h, lib/g3d/g3dregion.c, lib/gis/copy.c,
+	  lib/gis/env.c, lib/gis/parser.c, lib/gis/set_window.c,
+	  lib/gis/wind_2_box.c, lib/raster/opencell.c, lib/raster/raster.c,
+	  raster/r.region/main.c: Eliminate G_copy(); replace with memcpy()
+	  or assignment
+
+2010-02-05 23:59  glynn
+
+	* visualization/nviz/src/nviz_init.c: Pass executable name
+	  separately (no longer in argv[])
+
+2010-02-05 20:00  glynn
+
+	* gui/wxpython/Makefile: menudata.py needs the installed
+	  menudata.xml, not the source file
+
+2010-02-05 18:51  mmetz
+
+	* vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.outlier/outlier.h,
+	  vector/lidar/v.surf.bspline/main.c: lidar tools overhaul
+
+2010-02-05 10:03  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: Naoki Ueda: cont'ed
+
+2010-02-05 08:57  hamish
+
+	* vector/lidar/lidarlib/raster.c: missing includes
+
+2010-02-05 08:55  hamish
+
+	* raster/r.surf.fractal/process.c: missing includes
+
+2010-02-05 08:50  hamish
+
+	* raster/r.proj/bordwalk.c: missing includes
+
+2010-02-05 08:31  hamish
+
+	* gui/wxpython/xml/menudata.xml: fix v.label in menu (trac #907;
+	  merge from devbr6; text cosmetics)
+
+2010-02-04 15:07  neteler
+
+	* vector/lidar/v.lidar.correction/Makefile: fix Makefile
+
+2010-02-04 14:14  neteler
+
+	* vector/lidar/v.lidar.correction/main.c: missing header added
+
+2010-02-04 09:28  hamish
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat,
+	  mswindows/osgeo4w/msys.bat: maintain local msys.bat (Helmut,
+	  Colin, me; #905, #629)
+
+2010-02-04 05:57  neteler
+
+	* locale/po/grasswxpy_es.po: encoding consolidated to ISO-8859-1
+
+2010-02-04 03:41  glynn
+
+	* include/Make/Grass.make: lib/gis needs $(ICONVLIB)
+
+2010-02-03 10:24  pkelly
+
+	* vector/v.delaunay/data_types.h, vector/v.delaunay/edge.c,
+	  vector/v.delaunay/edge.h, vector/v.delaunay/geom_primitives.h,
+	  vector/v.delaunay/geometry.c, vector/v.delaunay/in_out.c,
+	  vector/v.delaunay/main.c, vector/v.delaunay/memory.c,
+	  vector/v.delaunay/v.delaunay.html: Acknowledge original source of
+	  the code (Geoff Leach, RMIT) and add
+	  appropriate copyright notices.
+
+2010-02-03 06:04  hamish
+
+	* raster/r.colors/r.colors.html: document default color
+
+2010-02-03 02:16  glynn
+
+	* visualization/nviz/src/interface.h,
+	  visualization/nviz/src/nviz_init.c: Fix handling of command line
+
+2010-02-02 22:35  hellik
+
+	* mswindows/GRASS-Installer.nsi: delete all files by deinstalling,
+	  next attempt
+
+2010-02-02 05:42  neteler
+
+	* COPYING: affiliation updated
+
+2010-02-01 23:28  glynn
+
+	* include/gisdefs.h, lib/gis/pager.c, lib/gis/popen.c: Fix
+	  pager/mail functions
+
+2010-02-01 23:28  glynn
+
+	* lib/raster/init.c, lib/raster/set_window.c: Fix initialisation
+
+2010-02-01 23:08  glynn
+
+	* raster/r.out.gridatb/adjcellhd.c,
+	  raster/r.out.gridatb/check_ready.c,
+	  raster/r.out.gridatb/file_io.c,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c:
+	  Make r.out.gridatb honour current region
+	  Fix bugs, simplify
+
+2010-02-01 23:07  glynn
+
+	* include/rasterdefs.h, lib/raster/window.c: Add Rast_get_window(),
+	  Rast_get_{input,output}_window()
+
+2010-02-01 22:49  glynn
+
+	* include/rasterdefs.h, lib/raster/R.h, lib/raster/gdal.c,
+	  lib/raster/get_row.c, lib/raster/opencell.c,
+	  lib/raster/put_row.c, lib/raster/set_window.c,
+	  lib/raster/window.c, lib/raster/window_map.c: Have lib/raster
+	  maintain its own windows
+	  Use separate windows for input and output
+
+2010-02-01 17:53  glynn
+
+	* display/d.profile/main.c, display/d.rast/display.c,
+	  doc/raster/r.example/main.c, general/g.region/main.c,
+	  imagery/i.albedo/main.c, imagery/i.atcorr/main.cpp,
+	  imagery/i.biomass/main.c, imagery/i.cca/main.c,
+	  imagery/i.class/cellhd.c, imagery/i.class/draw_cell.c,
+	  imagery/i.class/outline.c, imagery/i.class/signature.c,
+	  imagery/i.cluster/main.c, imagery/i.eb.eta/main.c,
+	  imagery/i.eb.evapfr/main.c, imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.eb.soilheatflux/main.c, imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/covariance.c, imagery/i.gensig/get_train.c,
+	  imagery/i.gensig/means.c, imagery/i.gensigset/get_train.c,
+	  imagery/i.gensigset/read_data.c, imagery/i.his.rgb/main.c,
+	  imagery/i.ifft/main.c, imagery/i.latlong/main.c,
+	  imagery/i.maxlik/main.c, imagery/i.modis.qc/main.c,
+	  imagery/i.pca/main.c, imagery/i.points/drawcell.c,
+	  imagery/i.rectify/rectify.c, imagery/i.rgb.his/main.c,
+	  imagery/i.smap/openfiles.c, imagery/i.smap/segment.c,
+	  imagery/i.sunhours/main.c, imagery/i.vi/main.c,
+	  imagery/i.vpoints/drawcell.c, imagery/i.zc/main.c,
+	  include/gisdefs.h, include/rasterdefs.h, lib/gis/align_window.c,
+	  lib/gis/get_window.c, lib/gis/window_map.c,
+	  lib/raster/align_window.c, lib/raster/alloc_cell.c,
+	  lib/raster/get_row_colr.c, lib/raster/sample.c,
+	  lib/raster/window.c, lib/raster/zero_cell.c,
+	  lib/rst/interp_float/output2d.c, ps/ps.map/do_masking.c,
+	  ps/ps.map/ps_outline.c, raster/r.basins.fill/main.c,
+	  raster/r.bitpattern/main.c, raster/r.carve/enforce_ds.c,
+	  raster/r.carve/raster.c, raster/r.category/cats.c,
+	  raster/r.circle/main.c, raster/r.clump/clump.c,
+	  raster/r.coin/main.c, raster/r.colors/stats.c,
+	  raster/r.compress/main.c, raster/r.cost/main.c,
+	  raster/r.covar/main.c, raster/r.cross/main.c,
+	  raster/r.describe/describe.c, raster/r.distance/distance.c,
+	  raster/r.distance/edges.c, raster/r.drain/main.c,
+	  raster/r.fill.dir/main.c, raster/r.flow/precomp.c,
+	  raster/r.grow.distance/main.c, raster/r.grow/main.c,
+	  raster/r.horizon/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gridatb/adjcellhd.c, raster/r.lake/main.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/input.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.setup/main.c,
+	  raster/r.le/r.le.trace/main.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.los/main.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/xcoor.c, raster/r.mfilter/main.c,
+	  raster/r.neighbors/bufs.c, raster/r.neighbors/main.c,
+	  raster/r.out.arc/main.c, raster/r.out.ascii/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.gridatb/adjcellhd.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.pov/main.c, raster/r.out.vrml/main.c,
+	  raster/r.out.vrml/put_grid.c, raster/r.param.scale/process.c,
+	  raster/r.patch/main.c, raster/r.proj/bordwalk.c,
+	  raster/r.proj/main.c, raster/r.proj/readcell.c,
+	  raster/r.quantile/main.c, raster/r.random.cells/init.c,
+	  raster/r.random.surface/init.c, raster/r.random/count.c,
+	  raster/r.random/random.c, raster/r.recode/recode.c,
+	  raster/r.region/main.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/get_stats.c, raster/r.rescale/get_range.c,
+	  raster/r.ros/main.c, raster/r.series/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.spread/main.c,
+	  raster/r.spread/ram2out.c, raster/r.spreadpath/main.c,
+	  raster/r.statistics2/main.c, raster/r.statistics3/main.c,
+	  raster/r.stats/main.c, raster/r.stats/raw_stats.c,
+	  raster/r.sun/main.c, raster/r.sunmask/main.c,
+	  raster/r.support.stats/histo.c, raster/r.support/histo.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.contour/read_cell.c,
+	  raster/r.surf.fractal/process.c,
+	  raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/read_cell.c, raster/r.surf.random/randsurf.c,
+	  raster/r.terraflow/main.cc, raster/r.texture/main.c,
+	  raster/r.thin/io.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/points.c,
+	  raster/r.univar/r.univar_main.c, raster/r.uslek/main.c,
+	  raster/r.usler/main.c, raster/r.volume/centroids.c,
+	  raster/r.walk/main.c, raster/r.water.outlet/main.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c,
+	  raster/r.what/main.c, raster/simwe/simlib/output.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.kernel/main.c,
+	  vector/v.neighbors/main.c, vector/v.to.rast/support.c,
+	  vector/v.what.rast/main.c, visualization/xganim/main.cc: Move
+	  raster-specific functions from lib/gis to lib/raster:
+	  G_align_window -> Rast_align_window
+	  G_window_rows -> Rast_window_rows
+	  G_window_cols -> Rast_window_cols
+	  G_northing_to_row -> Rast_northing_to_row
+	  G_easting_to_col -> Rast_easting_to_col
+	  G_row_to_northing -> Rast_row_to_northing
+	  G_col_to_easting -> Rast_col_to_easting
+
+2010-02-01 15:36  glynn
+
+	* lib/dspf/cube_io.c: Fix warnings: "%ld" => "%"PRI_OFF_T
+
+2010-02-01 15:32  glynn
+
+	* lib/sites/sites.c: Fix warning: (char)NULL => '\0'
+
+2010-02-01 04:56  neteler
+
+	* translators.csv: +Hirotoshi Toyoda,Haruka Fujii,Yuka Tohhana
+
+2010-02-01 04:38  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: Naoki Ueda: cont'ed
+
+2010-02-01 04:05  glynn
+
+	* lib/raster/gdal.c: Extend list of candidate filenames for GDAL
+	  DLL
+
+2010-01-31 16:53  neteler
+
+	* raster/simwe/r.sim.water/r.sim.water.html: fix wrong example
+	  (trac #896)
+
+2010-01-31 10:52  hellik
+
+	* mswindows/GRASS-Installer.nsi: delete all desktop-shortcuts by
+	  deinstalling
+
+2010-01-29 21:38  glynn
+
+	* include/rasterdefs.h, lib/raster/closecell.c,
+	  lib/raster/quant_rw.c, lib/raster/range.c,
+	  raster/r.external/main.c, raster/r.quant/main.c: Errors writing
+	  range, quant files generates error instead of returning status
+
+2010-01-29 21:37  glynn
+
+	* ps/ps.map/ps_fclrtbl.c: Fix omission from r40739
+
+2010-01-29 20:04  glynn
+
+	* include/rasterdefs.h, lib/raster/raster_metadata.c,
+	  raster/r.info/main.c: Change interface of
+	  Rast_{read,write}_{units,vdatum}
+	  read returns dynamically-allocated string rather than filling
+	  buffer
+	  write generates fatal errors rather than returning status
+
+2010-01-29 20:02  glynn
+
+	* raster/r.flow/io.c: Don't compare floating-point values with ==,
+	  use a tolerance
+
+2010-01-29 19:57  hellik
+
+	* mswindows/osgeo4w/package.sh: VC building stuff not used under a
+	  osgeo4w-building environment
+
+2010-01-29 14:22  glynn
+
+	* raster/r.external/main.c: Close f_format file (fix #895)
+
+2010-01-29 11:03  hamish
+
+	* raster/r.proj/main.c: bugfix: do projection of map window instead
+	  of current region (merge from devbr6)
+
+2010-01-28 23:01  huhabla
+
+	* vector/v.in.ogr/main.c: Added the flag "i" (same as in
+	  r.in.gdal).
+	  This flag allows the creation of a location based on the input
+	  map without actually importing the map.
+
+2010-01-28 20:44  glynn
+
+	* general/g.parser/main.c: Restore GRASS_TRANSLATION_DOMAIN to the
+	  default once we're done with it
+
+2010-01-28 20:38  glynn
+
+	* general/g.parser/main.c: Allow scripts to specify translation
+	  domain
+
+2010-01-28 14:29  glynn
+
+	* general/g.parser/main.c: Remove unreachable return statement
+
+2010-01-28 00:19  glynn
+
+	* general/g.parser/main.c: Use G_spawn() instead of _spawnlp()
+
+2010-01-28 00:16  glynn
+
+	* lib/gis/spawn.c: Ensure environment array is NULL-terminated
+
+2010-01-27 23:09  neteler
+
+	* raster/simwe/simlib/Makefile: +LIBES
+
+2010-01-27 22:58  glynn
+
+	* general/g.mlist/Makefile, general/g.mlist/global.h,
+	  general/g.mlist/main.c, general/g.mlist/wc2regex.c,
+	  general/g.mremove/Makefile, general/g.mremove/check_reclass.c,
+	  general/g.mremove/global.h, general/g.mremove/main.c,
+	  general/g.mremove/wc2regex.c, include/Make/Grass.make,
+	  include/gisdefs.h, lib/gis/Makefile, lib/gis/ls_filter.c: Move
+	  regex/glob G__ls() filters into lib/gis
+	  More accurate emulation of glob patterns
+
+2010-01-27 22:52  hellik
+
+	* mswindows/GRASS-Installer.nsi:
+
+2010-01-27 22:41  huhabla
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c: Simplified memory allocation.
+	  Changed variable naming for better code understanding.
+	  Fixed some gcc warnings.
+
+2010-01-27 17:10  glynn
+
+	* general/g.proj/output.c, include/gisdefs.h, lib/g3d/g3dkeys.c,
+	  lib/g3d/g3dwindowio.c, lib/g3d/header.c, lib/gis/get_ellipse.c,
+	  lib/gis/get_projinfo.c, lib/gis/key_value1.c,
+	  lib/gis/key_value2.c, lib/gis/key_value3.c, lib/gis/key_value4.c,
+	  lib/gis/make_loc.c, lib/raster/closecell.c,
+	  lib/raster/opencell.c, raster/r.colors/main.c: Generate fatal
+	  errors rather than returning a status, for:
+	  G_set_key_value
+	  G_write_key_value_file
+	  G_read_key_value_file
+	  G_update_key_value_file
+
+2010-01-27 17:05  neteler
+
+	* raster/Makefile: Keep r.sim.* active
+
+2010-01-27 16:32  neteler
+
+	* raster/simwe/simlib/output.c: few updates
+
+2010-01-27 15:39  glynn
+
+	* general/g.region/adjust.c, general/g.region/local_proto.h,
+	  general/g.region/main.c, general/g.region/zoom.c,
+	  imagery/i.atcorr/main.cpp, include/gisdefs.h,
+	  include/rasterdefs.h, lib/display/setup.c, lib/g3d/g3dregion.c,
+	  lib/gis/adj_cellhd.c, lib/gis/align_window.c,
+	  lib/gis/get_window.c, lib/gis/rd_cellhd.c, lib/gis/set_window.c,
+	  lib/raster/set_window.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/resout2d.c, ps/ps.map/main.c,
+	  ps/ps.map/r_text.c, ps/ps.map/r_wind.c, raster/r.external/main.c,
+	  raster/r.flow/io.c, raster/r.horizon/main.c,
+	  raster/r.in.arc/gethead.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/gethead.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.gridatb/adjcellhd.c, raster/r.in.mat/main.c,
+	  raster/r.out.gridatb/adjcellhd.c, raster/r.region/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.sun/main.c: Generate fatal
+	  errors rather than returning a status, for:
+	  Rast_set_window
+	  G_adjust_Cell_head
+	  G_adjust_Cell_head3
+	  G_align_window
+	  G__get_window
+	  G__read_Cell_head
+	  G__read_Cell_head_array
+
+2010-01-27 15:36  glynn
+
+	* scripts/v.krige/v.krige.py: Don't call GRASS modules from the top
+	  level
+
+2010-01-27 13:43  glynn
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.li/r.li.daemon/ipc.c,
+	  raster/r.li/r.li.daemon/ipc.h, raster/r.li/r.li.daemon/worker.c:
+	  Eliminate client-server framework
+
+2010-01-27 10:44  glynn
+
+	* gem: Add *OBJ* to svn:ignore property
+
+2010-01-27 08:24  hamish
+
+	* lib/init/grass.py: bug in last commit
+
+2010-01-27 08:22  hamish
+
+	* lib/init/functions.sh, lib/init/grass.py, lib/init/init.bat,
+	  mswindows/GRASS-Installer.nsi: another attempt at an improved
+	  MSys dos prompt (merge from devbr6)
+
+2010-01-27 04:03  hamish
+
+	* scripts/v.what.vect/v.what.vect.py: to_attr is a literal not a
+	  variable, so quote it
+
+2010-01-27 02:28  hamish
+
+	* imagery/i.sunhours/i.sunhours.html, imagery/i.sunhours/main.c:
+	  use M_PI instead of custom PI, attempt to document options a
+	  little better
+
+2010-01-27 01:46  hamish
+
+	* lib/gis/colors/haxby: flipud()
+
+2010-01-27 01:24  hamish
+
+	* lib/gis/colors.desc: +haxby
+
+2010-01-26 23:33  hamish
+
+	* lib/gis/colors/haxby: Haxby Color Table adapted from MB-System's
+	  src/macros/mbm_plot.pl (GPL; Caress & Chayes)
+	  move to main repo from grass-addons
+
+2010-01-26 23:23  hamish
+
+	* gui/wxpython/gui_modules/goutput.py: more error msg (merge from
+	  devbr6)
+
+2010-01-26 23:20  hamish
+
+	* mswindows/GRASS-Installer.nsi: try for cleaner terminal prompt
+	  (merge from devbr6)
+
+2010-01-26 13:44  glynn
+
+	* include/Make/Compile.make, include/Make/Dir.make,
+	  include/Make/Grass.make, include/Make/Rules.make: Allow creation
+	  of dependency files
+
+2010-01-26 12:33  glynn
+
+	* general/g.version/Makefile, general/g.version/main.c,
+	  general/g.version/sed.script, include/Makefile: Move creation of
+	  copying.h, confparms.h from general/g.version to include
+	  Remove cruft
+
+2010-01-26 12:31  glynn
+
+	* gem/Makefile: Use GRASS build system
+
+2010-01-26 12:30  glynn
+
+	* lib/gmath/blas_level_3.c, lib/gmath/solvers_direct.c,
+	  lib/gpde/N_geom.c, lib/gpde/N_gwflow.c, lib/gpde/N_heatflow.c,
+	  lib/gpde/N_les.c, lib/gpde/N_les_assemble.c,
+	  lib/gpde/N_solute_transport.c, lib/gpde/N_tools.c,
+	  lib/gpde/N_upwind.c: Fix #include directives:
+	  grass/*.h headers use <...>, not "..."
+	  include system headers before GRASS headers
+
+2010-01-26 12:28  glynn
+
+	* lib/gis/pager.c: Add pager.c (omitted from r40648)
+
+2010-01-26 11:04  glynn
+
+	* Makefile, install-sh: Set svn:executable property on install-sh
+	  Don't complain about failure to chmod install-sh
+
+2010-01-26 09:00  mmetz
+
+	* raster/r.watershed/ram/init_vars.c: initialize alt, wat and asp
+	  together
+
+2010-01-25 18:28  glynn
+
+	* include/gis.h, include/gisdefs.h, include/imagedefs.h,
+	  include/spawn.h, lib/gis/error.c, lib/gis/list.c,
+	  lib/gis/parser_wps.c, lib/gis/popen.c, lib/gis/spawn.c,
+	  lib/imagery/ls_groups.c, raster/r.coin/make_coin.c,
+	  raster/r.mode/main.c, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/main.c, raster/r.statistics/main.c,
+	  raster/r.statistics/method.h, raster/r.statistics/o_adev.c,
+	  raster/r.statistics/o_average.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_divr.c, raster/r.statistics/o_kurt.c,
+	  raster/r.statistics/o_max.c, raster/r.statistics/o_median.c,
+	  raster/r.statistics/o_min.c, raster/r.statistics/o_mode.c,
+	  raster/r.statistics/o_sdev.c, raster/r.statistics/o_skew.c,
+	  raster/r.statistics/o_sum.c, raster/r.statistics/o_var.c,
+	  raster/r.statistics/r.statistics.html,
+	  raster/r.statistics/run_cmd.c: Eliminate use of [G_]popen()
+	  Add G_wait()
+	  Add G_{open,close}_pager ($GRASS_PAGER interface)
+	  Add G_{open,close}_mail (mailing error messages to user)
+	  Add G_popen_{read,write,close} (non-shell popen/pclose
+	  replacement)
+
+2010-01-25 12:20  glynn
+
+	* display/d.title/main.c, include/gisdefs.h, include/spawn.h,
+	  lib/gis/clear_scrn.c, lib/gis/parser_interface.c,
+	  lib/gis/spawn.c, lib/gis/system.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.mpeg/write.c, raster/r.topmodel/global.h,
+	  raster/r.topmodel/misc.c, visualization/nviz/src/do_zoom.c,
+	  visualization/xganim/main.cc: Remove remaining usage of system()
+	  and G_system()
+
+2010-01-25 03:22  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: Naoki Ueda: cont'ed; cross-merge of
+	  translations
+
+2010-01-24 17:45  mmetz
+
+	* raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/def_basin.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/haf_side.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/no_stream.c,
+	  raster/r.watershed/ram/slope_len.c,
+	  raster/r.watershed/ram/split_str.c,
+	  raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/haf_side.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c,
+	  raster/r.watershed/seg/slope_len.c,
+	  raster/r.watershed/seg/split_str.c: more debug info for diagonal
+	  flow bias, improved stream extraction, comment code
+
+2010-01-24 17:25  mmetz
+
+	* raster/r.cost/heap.c: don't mix types
+
+2010-01-24 17:22  mmetz
+
+	* raster/r.walk/btree.c, raster/r.walk/cost.h,
+	  raster/r.walk/heap.c, raster/r.walk/local_proto.h,
+	  raster/r.walk/main.c, raster/r.walk/memory.c,
+	  raster/r.walk/memory.h, raster/r.walk/stash.h: sync to r.cost
+
+2010-01-24 17:21  mmetz
+
+	* raster/r.cost/main.c: code cleanup
+
+2010-01-24 06:08  hamish
+
+	* lib/db/dbmi_client/start.c: no need for sh, run directly (trac
+	  #887; merge from devbr6 r40608)
+
+2010-01-23 13:49  huhabla
+
+	* raster/r.gwflow/main.c, raster/r.gwflow/r.gwflow.html,
+	  raster/r.solute.transport/example.py,
+	  raster/r.solute.transport/main.c,
+	  raster/r.solute.transport/r.solute.transport.html,
+	  raster/r.solute.transport/seguin_verify.py,
+	  raster/r.solute.transport/seguin_verify_well.py,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.gwflow/r3.gwflow.html:
+	  Major documentation update.
+	  Added link to diploma thesis.
+	  Small code cleanup.
+	  Examples updated and extended.
+
+2010-01-23 13:47  huhabla
+
+	* lib/gpde/N_arrays.c, lib/gpde/N_gwflow.c, lib/gpde/N_heatflow.h:
+	  Location support.
+	  Small cleanup.
+
+2010-01-23 01:11  neteler
+
+	* contributors.csv, rfc/psc_motions.dox: +Anne, +Helmut
+
+2010-01-22 14:33  glynn
+
+	* raster/r.in.bin/main.c: Clean up, synchronise with r.out.bin
+
+2010-01-22 14:32  glynn
+
+	* configure: Define FSEEKO (file omitted from r40620)
+
+2010-01-22 14:19  glynn
+
+	* configure.in, general/manage/lister/Makefile,
+	  imagery/i.albedo/Makefile, imagery/i.biomass/Makefile,
+	  imagery/i.eb.eta/Makefile, imagery/i.eb.evapfr/Makefile,
+	  imagery/i.eb.soilheatflux/Makefile,
+	  imagery/i.emissivity/Makefile,
+	  imagery/i.evapo.time_integration/Makefile,
+	  imagery/i.latlong/Makefile, imagery/i.modis.qc/Makefile,
+	  imagery/i.sunhours/Makefile, imagery/i.vi/Makefile,
+	  include/Make/Compile.make, include/Make/Grass.make,
+	  include/Make/Platform.make.in, include/config.h.in,
+	  lib/bitmap/Makefile, lib/db/sqlp/test/Makefile, lib/gis/Makefile,
+	  lib/gis/seek.c, lib/iostream/Makefile, lib/raster/Makefile,
+	  lib/segment/Makefile, lib/vector/diglib/Makefile,
+	  lib/vector/rtree/Makefile, lib/vector/transform/Makefile,
+	  raster/r.grow.distance/Makefile, raster/r.in.arc/Makefile,
+	  raster/r.in.ascii/Makefile, raster/r.out.arc/Makefile,
+	  raster/r.out.ascii/Makefile, raster/r.proj/Makefile,
+	  raster/r.terraflow/Makefile, raster3d/r3.in.v5d/Makefile,
+	  raster3d/r3.out.v5d/Makefile: Enable LFS globally
+	  Define, use HAVE_FSEEKO
+	  Makefile cleanup
+
+2010-01-22 12:05  glynn
+
+	* lib/python/array.py, raster/r.out.bin/main.c: Change size ->
+	  bytes for consistency with r.in.bin
+
+2010-01-22 12:04  glynn
+
+	* lib/raster/gdal.c: Fix for stdcall symbols on Windows
+
+2010-01-22 09:52  huhabla
+
+	* raster/r.neighbors/main.c: Use standard option for text file
+	  input
+
+2010-01-22 09:51  huhabla
+
+	* lib/gis/parser_wps.c: Disabled experimental features
+	  Enabled plain text file input
+	  Added resolution parameter
+	  Added link to manual page at grass.osgeo.org
+
+2010-01-22 05:34  cmbarton
+
+	* gui/wxpython/gui_modules/prompt.py: Lighten call tip background
+	  so text more readable (backport from develbranch_6)
+
+2010-01-22 05:27  cmbarton
+
+	* gui/wxpython/gui_modules/goutput.py: Command entry window
+	  splitter pane sizing better (backport from develbranch_6)
+
+2010-01-22 04:45  cmbarton
+
+	* gui/wxpython/gui_modules/prompt.py: Better trapping of command
+	  argument errors (backport from develbranch_6)
+
+2010-01-22 02:22  neteler
+
+	* locale/po/grasslibs_ja.po: replaced badly encoded strings
+
+2010-01-21 15:04  mmetz
+
+	* lib/segment/address.c, lib/segment/setup.c: change warning to
+	  debug message, format code
+
+2010-01-21 14:45  neteler
+
+	* locale/po/grassmods_ja.po: Naoki Ueda: cont'ed
+
+2010-01-21 06:59  hamish
+
+	* configure, configure.in: quote a pathname which could have a
+	  space in it, but it doesn't get us much further as Autoconf
+	  2.13's substitution doesn't quote paths
+
+2010-01-21 06:36  hamish
+
+	* configure, configure.in: quote variables which might contain
+	  pathnames with spaces (merge from devbr6)
+
+2010-01-21 06:08  hamish
+
+	* install-sh: quote variables which might contain pathnames with
+	  spaces (merge from devbr6)
+
+2010-01-20 18:42  martinl
+
+	* mswindows/GRASS-Packager.bat: WinGrass: reducing size of the
+	  installer (trac #884 - patch by hellik)
+
+2010-01-20 16:06  mmetz
+
+	* raster/r.cost/main.c: don't segfault with very small regions
+
+2010-01-20 14:33  neteler
+
+	* locale/po/grassmods_ja.po, translators.csv: Akira Taniguchi:
+	  cont'ed
+
+2010-01-20 09:52  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: documentation
+
+2010-01-20 09:11  mmetz
+
+	* lib/db/dbmi_client/copy_tab.c, lib/db/dbmi_client/select.c:
+	  improved error handling, fix for trac #461
+
+2010-01-20 08:25  mmetz
+
+	* vector/lidar/v.outlier/main.c: fix spelling in comments
+
+2010-01-20 07:46  hamish
+
+	* gui/wxpython/wxgui.py: longer splash
+
+2010-01-19 23:48  hamish
+
+	* raster/r.proj/main.c: new flag to show reprojected bounds and
+	  exit (trac #845; merge from devbr6)
+
+2010-01-19 17:02  glynn
+
+	* general/g.setproj/proj-desc.table,
+	  general/g.setproj/proj-parms.table,
+	  general/g.setproj/proj-units.table, lib/proj/Makefile,
+	  lib/proj/proj-desc.table, lib/proj/proj-parms.table,
+	  lib/proj/proj-units.table: Move proj-*.table from
+	  general/g.setproj to lib/proj
+
+2010-01-19 15:48  glynn
+
+	* lib/python/Makefile, lib/python/array.py: Add grass.script.array:
+	  read/write GRASS rasters to/from NumPy arrays
+	  Create .pyc files
+
+2010-01-19 15:43  glynn
+
+	* lib/python/core.py: make region() use integers for rows/cols
+
+2010-01-19 15:41  glynn
+
+	* raster/r.in.bin/main.c: Fix segfault with -d and anull=...
+
+2010-01-19 09:45  glynn
+
+	* lib/gis/spawn.c: Quote argument to "cmd /c ..."
+
+2010-01-19 07:30  neteler
+
+	* mswindows/osgeo4w/package.sh: cosmetics
+
+2010-01-19 02:39  glynn
+
+	* raster/r.neighbors/main.c: Optimise 40534
+
+2010-01-18 21:11  huhabla
+
+	* lib/gpde/N_gwflow.c, raster/r.gwflow/main.c,
+	  raster/r.gwflow/r.gwflow.html, raster/r.gwflow/valid_calc_7x7.py,
+	  raster/r.gwflow/valid_calc_excavation.py,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.gwflow/r3.gwflow.html:
+	  General groundwater flow module update.
+	  Example bugfix and update.
+	  Documentation update.
+
+2010-01-18 19:39  huhabla
+
+	* lib/gpde/N_gwflow.c: Water budget for 3d groundwater flow
+	  implemented.
+
+2010-01-18 19:37  huhabla
+
+	* lib/gpde/N_gwflow.c, lib/gpde/N_gwflow.h: Water budget for 3d
+	  groundwater flow.
+	  River and drainage bugfix.
+
+2010-01-18 18:00  huhabla
+
+	* lib/init/variables.html: Documentation von GRASS_SIGSEGV_ON_ERROR
+
+2010-01-18 15:57  huhabla
+
+	* raster/r.neighbors/main.c, raster/r.neighbors/r.neighbors.html:
+	  Added new option selection. This option specifies a raster map
+	  which is used to
+	  process only input cells which are marked as non-NULL cells in
+	  the selection map.
+
+2010-01-18 15:36  glynn
+
+	* lib/init/Makefile, lib/init/init.bat, lib/init/winlocale.c: Set
+	  LANG on Windows
+
+2010-01-18 15:02  huhabla
+
+	* lib/gis/error.c: In G_fatal_error(): raise SIGSEGV if environment
+	  variable GRASS_SIGSEGV_ON_ERROR is set.
+
+2010-01-18 14:27  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI: set min
+	  column width fot ItemList
+	  (merge r40530 from devbr6)
+
+2010-01-18 14:18  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py:
+	  wxGUI/location_wizard: fix utm
+	  (merge r40528 from devbr6)
+
+2010-01-18 13:46  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py:
+	  wxGUI/location_wizard: some clean up
+	  (merge r40526 from devbr6)
+
+2010-01-18 04:06  kyngchaos
+
+	* visualization/wximgview/Makefile: substitute arch flags for
+	  wxpython modules
+
+2010-01-18 02:16  glynn
+
+	* raster/r.mapcalc/evaluate.c: Use G_add_error_handler() instead of
+	  G_set_error_routine()
+
+2010-01-18 02:13  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_de.po: due credit to Shinji Masumoto;
+	  cosmetics
+
+2010-01-17 17:44  martinl
+
+	* mswindows/GRASS-Packager.bat: add svn keywords (packager)
+
+2010-01-17 17:41  martinl
+
+	* mswindows/GRASS-Installer.nsi: add svn keywords
+
+2010-01-17 17:33  martinl
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat:
+	  wingrass packager updated (needs some testing)
+
+2010-01-17 13:42  martinl
+
+	* mswindows/README.html: instructions moved to the trac wiki
+
+2010-01-17 13:34  glynn
+
+	* lib/cairodriver/Raster.c: Fix drawing transparent cells over
+	  opaque cells
+	  (cairo uses pre-multiplied alpha)
+
+2010-01-17 13:33  glynn
+
+	* lib/raster/get_row.c: Fix handling of missing null bitmap (bug
+	  introduced in r40083)
+
+2010-01-17 13:11  hamish
+
+	* mswindows/Installer-Files/WinGRASS-README.url: 6.3 -> 6.4 (merge
+	  from relbr64)
+
+2010-01-17 09:50  glynn
+
+	* lib/raster/put_row.c: Fix warnings
+
+2010-01-17 05:49  glynn
+
+	* Makefile, gui/wxpython/scripts/Makefile, include/Make/Docs.make,
+	  include/Make/Grass.make, include/Make/Install.make,
+	  include/Makefile: Makefile clean-up
+	  Move installation and doxygen rules to separate *.make files
+
+2010-01-17 04:44  hamish
+
+	* vector/v.mkgrid/v.mkgrid.html: document -p behavior (merge from
+	  devbr6)
+
+2010-01-16 23:57  glynn
+
+	* include/spawn.h, lib/gis/spawn.c: Eliminate SF_ARGLIST: not
+	  portable
+
+2010-01-16 23:45  neteler
+
+	* raster/r.resamp.interp/r.resamp.interp.html: example added
+
+2010-01-16 23:38  neteler
+
+	* raster/r.resamp.stats/r.resamp.stats.html: fix; html cosmetics
+
+2010-01-16 23:28  neteler
+
+	* raster/r.resamp.stats/r.resamp.stats.html: example added
+
+2010-01-16 23:18  hamish
+
+	* imagery/i.evapo.time_integration/i.evapo.time_integration.html,
+	  raster/r.cost/r.cost.html, raster/r.in.mat/r.in.mat.html,
+	  raster/r.in.xyz/r.in.xyz.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.statistics/r.statistics.html,
+	  raster3d/r3.cross.rast/r3.cross.rast.html,
+	  raster3d/r3.gwflow/r3.gwflow.html,
+	  raster3d/r3.out.vtk/r3.out.vtk.html, vector/v.hull/v.hull.html:
+	  add spaces around '=' for r.mapcalc examples
+
+2010-01-16 22:57  hamish
+
+	* raster/r.mapcalc/r.mapcalc.html: space around = sign
+
+2010-01-16 15:35  martinl
+
+	* mswindows/osgeo4w/package.sh: disable cairo (osgeo4w)
+
+2010-01-16 13:06  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/wxgui.py: wxGUI: set wx.Locale()
+	  (merge r40472 from devbr6)
+
+2010-01-16 11:43  hamish
+
+	* mswindows/GRASS-Installer.nsi: typo (merge from devbr6)
+
+2010-01-16 11:35  hamish
+
+	* mswindows/GRASS-Installer.nsi: fix newline quoting (merge from
+	  devbr6)
+
+2010-01-16 07:53  glynn
+
+	* lib/gis/error.c: Protect against fatal error handlers calling
+	  G_fatal_error()
+
+2010-01-16 06:06  glynn
+
+	* include/gisdefs.h, include/rasterdefs.h, lib/gis/alloc.c,
+	  lib/raster/alloc_cell.c, lib/raster/cats.c,
+	  lib/raster/color_look.c, lib/raster/get_row.c,
+	  lib/raster/null_val.c, lib/raster/range.c,
+	  lib/raster/set_window.c, lib/raster/zero_cell.c: Optimisations:
+	  Make Rast_is_*_null_value() macros
+	  Make G_incr_void_ptr() a macro
+	  Replace Rast__check_null_bit() with macro in get_row.c
+	  Move Rast_cell_size() calls out of loops
+
+2010-01-16 03:32  glynn
+
+	* include/gisdefs.h, include/rasterdefs.h, lib/gis/error.c,
+	  lib/gis/handler.c, lib/raster/closecell.c, lib/raster/init.c: Add
+	  fatal error handlers
+	  Add Rast__unopen_all()
+	  Invoke Rast__unopen_all() on fatal errors
+
+2010-01-15 22:54  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: button labels not
+	  needed
+
+2010-01-15 22:51  neteler
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/menuform.py:
+	  reverted button labels, wx.Locale() is needed instead
+
+2010-01-15 08:14  glynn
+
+	* display/d.nviz/d.nviz.html, lib/htmldriver/htmldriver.html,
+	  lib/init/variables.html, raster/r.in.gdal/r.in.gdal.html,
+	  raster/r.out.vtk/r.out.vtk.html, raster/r.profile/r.profile.html,
+	  raster/r.sun/r.sun.html, raster3d/r3.out.vtk/r3.out.vtk.html,
+	  scripts/r.tileset/r.tileset.html,
+	  vector/v.surf.idw/v.surf.idw.html,
+	  vector/v.to.points/v.to.points.html: Fix spelling errors (#872)
+
+2010-01-15 00:49  glynn
+
+	* include/spawn.h, lib/gis/spawn.c: G_spawn* updates:
+	  Use shell on Windows
+	  Eliminate spawnv*-based implementations
+	  Implement G_spawn() atop G_spawn_ex()
+	  Add SF_ARGLIST
+
+2010-01-14 22:01  glynn
+
+	* visualization/wximgview: Set svn:ignore property
+
+2010-01-14 08:31  aghisla
+
+	* scripts/v.krige/v.krige.py: Controller is now old-style class,
+	  please test
+
+2010-01-14 07:08  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: back to ISO-8859-15; new buttons;
+	  restored msg merge from 6.4
+
+2010-01-14 07:07  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: enable more buttons for i18N
+
+2010-01-14 06:54  neteler
+
+	* gui/wxpython/gui_modules/menuform.py: enable more buttons for
+	  i18N (indeed needed everywhere for wx.Button()
+
+2010-01-14 04:35  hamish
+
+	* mswindows/GRASS-Installer.nsi: set GRASS_PYTHON if it isn't (trac
+	  #534; merge from devbr6)
+
+2010-01-14 04:03  neteler
+
+	* locale/po/grasswxpy_ja.po: fix Quit + Browse
+
+2010-01-14 03:48  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grasslibs_ja.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_ja.po: merged in
+	  translations from 6.4
+
+2010-01-14 03:43  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grasslibs_ja.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_ja.po: update-po
+	  from fresh pot
+
+2010-01-14 03:28  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: converted to UTF-8
+
+2010-01-13 23:32  neteler
+
+	* gui/wxpython/gis_set.py: enable i18N for 'Quit' and 'Help'
+
+2010-01-13 20:00  glynn
+
+	* lib/raster/auto_mask.c, lib/raster/init.c: Don't call
+	  Rast_unopen() on invalid R__.mask_fd
+
+2010-01-13 07:45  neteler
+
+	* translators.csv: +Naoki Ueda
+
+2010-01-13 07:44  neteler
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po,
+	  locale/po/grasswxpy_ja.po: Update from Naoki Ueda, merging in
+	  GRASS 5 translations
+
+2010-01-13 06:02  glynn
+
+	* gui/wxpython/gui_modules/help.py: Don't convert AUTHORS text to
+	  str(); use unicode()
+
+2010-01-12 21:43  glynn
+
+	* gui/wxpython/gui_modules/menudata.py: Allow explicit path to
+	  menudata.xml
+	  Add "dump" action
+
+2010-01-12 21:41  glynn
+
+	* lib/gis/key_value1.c: Make G_free_key_value() accept a NULL
+	  pointer
+
+2010-01-12 19:48  hamish
+
+	* gui/wxpython/images/__init__.py: finish file rename
+
+2010-01-12 19:41  hamish
+
+	* gui/wxpython/images/grass_splash.png: run through pngcrush
+	  -brute, save 54% filesize
+
+2010-01-12 19:35  hamish
+
+	* gui/wxpython/images/grass_splash.png,
+	  gui/wxpython/images/grass_splash.xcf,
+	  gui/wxpython/images/intro.png, gui/wxpython/images/intro.xcf,
+	  gui/wxpython/wxgui.py: splash screen cosmetics
+
+2010-01-12 19:09  hamish
+
+	* gui/wxpython/gui_modules/help.py: display full COPYING file
+	  (#860, merge from devbr6)
+
+2010-01-12 19:09  hamish
+
+	* contributors_extra.csv: Otto/rfc2 (merge from trunk r40377)
+
+2010-01-12 10:24  mmetz
+
+	* lib/vector/Vlib/sindex.c: select 3D lines with 2D polygon
+
+2010-01-12 08:49  glynn
+
+	* gui/wxpython/xml/menudata.xml: Consistent ordering of menuitem
+	  children
+
+2010-01-12 08:48  glynn
+
+	* gui/wxpython/xml/menudata.dtd: Add DTD for menudata.xml
+
+2010-01-12 08:19  neteler
+
+	* db/drivers/ogr/describe.c, db/drivers/ogr/fetch.c: activate
+	  OFTDate, OFTTime, OFTDateTime (treat as strings as in DBF driver)
+
+2010-01-12 07:47  glynn
+
+	* raster/r.out.bin/main.c, raster/r.out.bin/swab.h,
+	  raster/r.out.bin/tif_swab.c: Add size=, order= options
+	  Add -f (float output) flag
+	  Change null= to accept FP values
+	  Refactor
+
+2010-01-11 00:39  hamish
+
+	* lib/db/dbmi_base/login.c: dbg msg fmt
+
+2010-01-10 19:43  hamish
+
+	* lib/vector/Vlib/field.c: place holder code for future use
+
+2010-01-10 19:28  hamish
+
+	* scripts/v.in.lines/v.in.lines.py: simplify variables
+
+2010-01-10 19:22  hamish
+
+	* lib/db/dbmi_base/login.c: rm paranoid comment
+
+2010-01-10 19:14  hamish
+
+	* contributors_extra.csv: rm dupe
+
+2010-01-10 19:13  hamish
+
+	* contributors_extra.csv, translators.csv: rm dupes
+
+2010-01-10 06:00  glynn
+
+	* scripts/wxpyimgview, scripts/wxpyimgview/Makefile,
+	  scripts/wxpyimgview/wxpyimgview.html,
+	  scripts/wxpyimgview/wxpyimgview.py,
+	  scripts/wxpyimgview/wxpyimgview_gui.py: wxPython version of
+	  wximgview
+
+2010-01-09 14:41  hamish
+
+	* gui/wxpython/xml/menudata.xml: add v.in.lines to gui menu (merge
+	  from devbr6)
+
+2010-01-09 13:46  hamish
+
+	* display/d.vect/main.c: experiment with forcing the display opt
+	  onto the main page
+
+2010-01-09 13:33  hamish
+
+	* scripts/v.in.lines/v.in.lines.py: don't trust the system to close
+	  the file for us on error
+
+2010-01-09 13:30  hamish
+
+	* scripts/v.in.lines/description.html: rename html to gr7 style
+
+2010-01-09 13:24  hamish
+
+	* scripts/v.in.lines/v.in.lines.html: rename html to gr7 style
+
+2010-01-09 13:23  hamish
+
+	* scripts/Makefile, scripts/v.in.lines,
+	  scripts/v.in.lines/v.in.lines, scripts/v.in.lines/v.in.lines.py:
+	  module to import vector lines from a stream of x,y data (move
+	  from addons)
+
+2010-01-09 09:45  hamish
+
+	* lib/db/dbmi_base/login.c: use "|" as the field sep so spaces in
+	  the database path and pswd do not cause trouble
+
+2010-01-09 09:14  hamish
+
+	* lib/gis/token.c: document function
+
+2010-01-09 05:00  hamish
+
+	* lib/vector/Vlib/field.c: change default dbln format to use | as
+	  the field sep not a space (bug #809)
+
+2010-01-09 04:51  hamish
+
+	* vector/v.db.connect/main.c: change default fs to something
+	  compatible with spaces in path names (bug #809)
+
+2010-01-09 04:40  hamish
+
+	* scripts/v.db.addtable/v.db.addtable.html,
+	  scripts/v.db.addtable/v.db.addtable.py: use the mapset's default
+	  DB instead of being locked to the one that layer 1 has used. (bug
+	  #809)
+
+2010-01-09 04:19  hamish
+
+	* AUTHORS: due props (merge from devbr6)
+
+2010-01-09 04:08  hamish
+
+	* lib/vector/Vlib/field.c: deal with spaces in pathnames better
+	  (trac #809; merge from devbr6)
+
+2010-01-08 21:44  glynn
+
+	* visualization/Makefile, visualization/wximgview,
+	  visualization/wximgview/Makefile,
+	  visualization/wximgview/main.cc,
+	  visualization/wximgview/wximgview.h,
+	  visualization/wximgview/wximgview.html: wxWidgets version of
+	  ximgview
+
+2010-01-08 21:13  martinl
+
+	* scripts/v.krige/v.krige.py: v.krige: fix typo
+
+2010-01-08 20:46  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: add traceback
+	  to CheckPseudoDC()
+
+2010-01-08 16:01  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: enlarge combobox in
+	  vdigit
+
+2010-01-08 15:53  martinl
+
+	* gui/wxpython/icons/icon.py: wxGUI: note shortcuts in tooltips
+
+2010-01-08 15:05  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: fix toolbar
+	  (radio buttons)
+
+2010-01-08 08:48  hamish
+
+	* lib/db/dbmi_base/login.c: use G_getl2, add FIXME comment and
+	  debug msg formatting (merge from devbr6)
+
+2010-01-08 08:36  hamish
+
+	* lib/db/dbmi_client/start.c: clarify comment
+
+2010-01-07 22:14  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: command console is
+	  optional
+
+2010-01-07 17:25  huhabla
+
+	* lib/gpde/N_gwflow.c, lib/gpde/N_gwflow.h, raster/r.gwflow/main.c,
+	  raster/r.gwflow/r.gwflow.html, raster/r.gwflow/valid_calc_7x7.py,
+	  raster/r.gwflow/valid_calc_excavation.py: misspelled budged
+	  replaced with budget
+
+2010-01-07 16:54  huhabla
+
+	* raster/r.gwflow/main.c, raster/r.gwflow/valid_calc_7x7.py,
+	  raster/r.gwflow/valid_calc_7x7.sh,
+	  raster/r.gwflow/valid_calc_excavation.py,
+	  raster/r.gwflow/valid_calc_excavation.sh,
+	  raster/r.solute.transport/example.py,
+	  raster/r.solute.transport/main.c,
+	  raster/r.solute.transport/seguin_verify.py,
+	  raster/r.solute.transport/seguin_verify_well.py: Port of r.gwflow
+	  shell scripts to python
+	  Update r.solute.transport examples + bugfixing
+
+2010-01-07 14:46  aghisla
+
+	* gui/wxpython/gui_modules/v_krige_wxGUI.py,
+	  scripts/v.krige/v.krige.py: splitted v.krige.py in 2 scripts,
+	  moved wxGUI script into gui/wxpython/gui_modules. In GUI, plot
+	  variogram is not yet functional.
+
+2010-01-07 14:32  huhabla
+
+	* raster/simwe/simlib/input.c: Simplified memory allocation using
+	  gmath library functions
+
+2010-01-07 14:30  huhabla
+
+	* lib/gpde/N_gwflow.c, raster/r.gwflow/main.c,
+	  raster/r.gwflow/r.gwflow.html, raster/r.gwflow/valid_calc_7x7.sh,
+	  raster/r.gwflow/valid_calc_excavation.sh: Water budged calculatin
+	  activated in r.gwflow
+	  Update of scipts and documentation
+
+2010-01-07 14:17  huhabla
+
+	* lib/gpde/N_gwflow.c: Typo fix
+
+2010-01-07 13:55  huhabla
+
+	* lib/gpde/N_gwflow.c, lib/gpde/N_gwflow.h: balance -> budged
+
+2010-01-07 13:47  huhabla
+
+	* lib/gpde/N_gwflow.c, lib/gpde/N_gwflow.h: Computation of water
+	  budged for 2d groundwater flow added
+
+2010-01-07 11:29  hamish
+
+	* lib/external/README.license, lib/external/ccmath/ccmath.h: make
+	  authors+license clear; fix typo
+
+2010-01-07 02:45  hamish
+
+	* raster/r.in.xyz/r.in.xyz.html: notes on importing gridded data
+
+2010-01-06 14:18  martinl
+
+	* gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI:
+	  set focus on prompt
+
+2010-01-06 14:08  mmetz
+
+	* vector/v.voronoi/main.c, vector/v.voronoi/sw_edgelist.c,
+	  vector/v.voronoi/sw_geometry.c, vector/v.voronoi/sw_heap.c,
+	  vector/v.voronoi/sw_main.c, vector/v.voronoi/sw_memory.c,
+	  vector/v.voronoi/sw_output.c, vector/v.voronoi/sw_voronoi.c: much
+	  less memory, a bit faster
+
+2010-01-06 13:54  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: fix search by keywords
+
+2010-01-06 13:45  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: cosmetics in border
+
+2010-01-06 13:39  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: avoid WIDGET_REALIZED_FOR_EVENT
+
+2010-01-06 11:06  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix minimum pane size
+	  (merge r40278 from devbr6)
+
+2010-01-06 11:00  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: fix shortcut
+	  (merge r40276 from devbr6)
+
+2010-01-06 02:06  glynn
+
+	* display/d.colors/interact.c, imagery/i.pca/local_proto.h,
+	  imagery/i.pca/support.c, include/rasterdefs.h, lib/raster/cats.c,
+	  lib/raster/color_write.c, lib/raster/histogram.c,
+	  lib/raster/history.c, lib/raster/put_cellhd.c,
+	  lib/rst/interp_float/resout2d.c, raster/r.carve/enforce.h,
+	  raster/r.carve/support.c, raster/r.category/main.c,
+	  raster/r.colors/main.c, raster/r.grow/main.c,
+	  raster/r.lake/main.c, raster/r.param.scale/write_cats.c,
+	  raster/r.random.surface/save.c, raster/r.reclass/reclass.c,
+	  raster/r.region/main.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.support/main.c,
+	  raster/r.terraflow/main.cc, raster/r.watershed/front/main.c,
+	  vector/v.to.rast/support.c: More error handling:
+	  Rast_write[_vector]_cats
+	  Rast_write_colors
+	  Rast_write_histogram[_cs]
+	  Rast_write_history
+	  Rast_put_cellhd
+
+2010-01-06 00:41  huhabla
+
+	* raster/simwe/r.sim.sediment/Makefile,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/Makefile,
+	  raster/simwe/r.sim.water/main.c,
+	  raster/simwe/simlib/waterglobs.h: Errors while compiling fixed
+
+2010-01-05 22:36  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix sash position (tested on Linux/Windows)
+
+2010-01-05 20:14  martinl
+
+	* include/vector.h, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_ogr.c: libvect: implement V1_read_line_ogr
+	  and V1/V2_rewrite_line()
+
+2010-01-05 15:42  hamish
+
+	* ps/ps.map/ps.map.html: document header file instruction (merge
+	  from devbr6)
+
+2010-01-05 13:17  mmetz
+
+	* vector/v.delaunay/data_types.h, vector/v.delaunay/defs.h,
+	  vector/v.delaunay/edge.c, vector/v.delaunay/edge.h,
+	  vector/v.delaunay/geom_primitives.h,
+	  vector/v.delaunay/geometry.c, vector/v.delaunay/geometry.h,
+	  vector/v.delaunay/in_out.c, vector/v.delaunay/in_out.h,
+	  vector/v.delaunay/main.c, vector/v.delaunay/memory.c: fix for
+	  ticket #660
+
+2010-01-05 09:35  aghisla
+
+	* scripts/v.krige/v.krige.py: x/y columns in attribute table are
+	  added after R import, not by GRASS on original data
+
+2010-01-05 09:13  hamish
+
+	* display/d.text/main.c, display/d.text/test.input: bgcolor=none
+	  should disable drawing of background (merge r40214 from devbr6);
+	  copy over more understandable test file from old d.text
+
+2010-01-05 09:03  hamish
+
+	* INSTALL, SUBMITTING, tools/mkhtml.py, tools/module_synopsis.sh:
+	  2010ing
+
+2010-01-05 08:41  hamish
+
+	* include/VERSION: happy new year
+
+2010-01-05 08:40  hamish
+
+	* rfc/psc_motions.dox: more year fixing, catch up with last year's
+	  developments
+
+2010-01-05 08:18  martinl
+
+	* rfc/psc_motions.dox: fix year
+
+2010-01-05 08:17  hamish
+
+	* contributors_extra.csv: sort by name
+
+2010-01-05 08:13  hamish
+
+	* contributors.csv: M.Wegmann rfc2 agreed Dec 8 2009 on the PSC
+	  list
+
+2010-01-05 08:11  hamish
+
+	* contributors.csv, rfc/psc_motions.dox: +Anne
+
+2010-01-05 00:39  kyngchaos
+
+	* configure, configure.in: make sure to follow symlinks on OSX arch
+	  checks, in case default is otherwise
+
+2010-01-04 22:27  glynn
+
+	* doc/raster/r.example/main.c, imagery/i.albedo/main.c,
+	  imagery/i.biomass/main.c, imagery/i.cca/transform.c,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.h_SEBAL01/main.c, imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c,
+	  imagery/i.his.rgb/main.c, imagery/i.latlong/main.c,
+	  imagery/i.modis.qc/main.c, imagery/i.rectify/write.c,
+	  imagery/i.rgb.his/main.c, imagery/i.sunhours/main.c,
+	  imagery/i.vi/main.c, include/rasterdefs.h,
+	  lib/gpde/N_arrays_io.c, lib/raster/put_row.c,
+	  lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/ressegm2d.c, raster/r.bitpattern/main.c,
+	  raster/r.buffer/write_map.c, raster/r.clump/clump.c,
+	  raster/r.composite/main.c, raster/r.compress/main.c,
+	  raster/r.cross/renumber.c, raster/r.his/main.c,
+	  raster/r.in.mat/main.c, raster/r.in.poly/raster.c,
+	  raster/r.in.xyz/main.c, raster/r.lake/main.c,
+	  raster/r.los/main.c, raster/r.mapcalc/map.c,
+	  raster/r.null/main.c, raster/r.proj/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resample/main.c,
+	  raster/r.spreadpath/main.c, raster/r.support/main.c,
+	  raster/r.terraflow/grass2str.h, raster/r.texture/main.c,
+	  raster/r.uslek/main.c, raster/r.usler/main.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.to.rast/main.c,
+	  vector/v.to.rast/raster.c: Rast_put_*_row* now generate errors
+	  rather than returning a status
+
+2010-01-04 21:05  glynn
+
+	* display/d.his/main.c, display/d.nviz/main.c,
+	  display/d.rgb/main.c, display/d.what.rast/what.c,
+	  doc/raster/r.example/main.c, general/g.region/zoom.c,
+	  imagery/i.albedo/main.c, imagery/i.atcorr/main.cpp,
+	  imagery/i.biomass/main.c, imagery/i.cca/transform.c,
+	  imagery/i.class/draw_cell.c, imagery/i.class/readbands.c,
+	  imagery/i.cluster/main.c, imagery/i.eb.eta/main.c,
+	  imagery/i.eb.evapfr/main.c, imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.eb.soilheatflux/main.c, imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/covariance.c, imagery/i.gensig/get_train.c,
+	  imagery/i.gensig/means.c, imagery/i.gensig/read_train.c,
+	  imagery/i.gensigset/get_train.c, imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c, imagery/i.his.rgb/main.c,
+	  imagery/i.ifft/main.c, imagery/i.latlong/main.c,
+	  imagery/i.maxlik/main.c, imagery/i.modis.qc/main.c,
+	  imagery/i.pca/main.c, imagery/i.points/drawcell.c,
+	  imagery/i.rectify/perform.c, imagery/i.rgb.his/main.c,
+	  imagery/i.smap/read_block.c, imagery/i.sunhours/main.c,
+	  imagery/i.vi/main.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.zc/main.c, include/rasterdefs.h,
+	  lib/gpde/N_arrays_io.c, lib/ogsf/Gs3.c, lib/raster/get_row.c,
+	  lib/raster/get_row_colr.c, lib/raster/sample.c,
+	  lib/rst/interp_float/ressegm2d.c,
+	  raster/r.basins.fill/read_map.c, raster/r.bitpattern/main.c,
+	  raster/r.buffer/read_map.c, raster/r.buffer/write_map.c,
+	  raster/r.category/cats.c, raster/r.clump/clump.c,
+	  raster/r.colors/stats.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.cost/main.c,
+	  raster/r.covar/main.c, raster/r.cross/cross.c,
+	  raster/r.cross/renumber.c, raster/r.describe/describe.c,
+	  raster/r.distance/distance.c, raster/r.distance/edges.c,
+	  raster/r.drain/tinf.c, raster/r.drain/tinf.h,
+	  raster/r.fill.dir/tinf.c, raster/r.fill.dir/tinf.h,
+	  raster/r.his/main.c, raster/r.lake/main.c, raster/r.los/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mfilter/getrow.c,
+	  raster/r.null/main.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/formspecific.c, raster/r.out.bin/main.c,
+	  raster/r.out.gdal/export_band.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.png/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/main.c, raster/r.out.vtk/writeascii.c,
+	  raster/r.patch/main.c, raster/r.profile/read_rast.c,
+	  raster/r.proj/readcell.c, raster/r.random/count.c,
+	  raster/r.random/random.c, raster/r.resamp.rst/main.c,
+	  raster/r.resample/main.c, raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale/get_range.c, raster/r.ros/main.c,
+	  raster/r.spread/collect_ori.c, raster/r.spread/main.c,
+	  raster/r.spreadpath/main.c, raster/r.stats/cell_stats.c,
+	  raster/r.stats/raw_stats.c, raster/r.sunmask/main.c,
+	  raster/r.support.stats/histo.c, raster/r.support/histo.c,
+	  raster/r.surf.contour/read_cell.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c,
+	  raster/r.terraflow/grass2str.h, raster/r.thin/io.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.topidx/file_io.c, raster/r.univar/r.univar_main.c,
+	  raster/r.uslek/main.c, raster/r.usler/main.c,
+	  raster/r.walk/main.c, raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/dseg_read.c, raster/r.what/main.c,
+	  raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/writeVTKData.c, vector/v.kernel/main.c,
+	  vector/v.surf.idw/main.c, vector/v.to.rast/support.c,
+	  vector/v.vol.rst/user3.c, vector/v.what.rast/main.c,
+	  visualization/xganim/main.cc: Rast_get_*_row* now generate errors
+	  rather than returning a status
+
+2010-01-04 21:02  glynn
+
+	* include/Make/Html.make: Guard against empty $(IMGSRC)
+	  (work-around suspected make bug)
+
+2010-01-04 21:01  glynn
+
+	* include/Make/Rules.make: Fix copy/paste bug
+
+2010-01-04 18:49  martinl
+
+	* lib/raster/opencell.c: message cosmetics
+
+2010-01-04 16:34  glynn
+
+	* imagery/i.atcorr/main.cpp, raster/r.terraflow/main.cc,
+	  raster/r.walk/main.c: Fix files which were omitted in r40217
+
+2010-01-04 15:51  glynn
+
+	* display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.title/main.c, display/d.zoom/main.c,
+	  doc/raster/r.example/main.c, general/g.region/main.c,
+	  imagery/i.albedo/main.c, imagery/i.class/main.c,
+	  imagery/i.class/signature.c, imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.evapo.time_integration/main.c,
+	  imagery/i.latlong/main.c, imagery/i.modis.qc/main.c,
+	  imagery/i.points/cell.c, imagery/i.points/main.c,
+	  imagery/i.rectify/main.c, imagery/i.rectify/rectify.c,
+	  imagery/i.vpoints/cell.c, imagery/i.vpoints/main.c,
+	  include/rasterdefs.h, lib/gpde/N_arrays_io.c,
+	  lib/raster/auto_mask.c, lib/raster/closecell.c,
+	  lib/raster/get_cellhd.c, lib/raster/opencell.c,
+	  raster/r.bitpattern/main.c, raster/r.category/cats.c,
+	  raster/r.compress/main.c, raster/r.describe/describe.c,
+	  raster/r.flow/io.c, raster/r.info/main.c,
+	  raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c, raster/r.los/main.c,
+	  raster/r.mapcalc/map.c, raster/r.neighbors/main.c,
+	  raster/r.null/main.c, raster/r.out.tiff/main.c,
+	  raster/r.recode/recode.c, raster/r.region/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resample/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.support.stats/histo.c,
+	  raster/r.support/histo.c, raster/r.support/main.c,
+	  raster/r.texture/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.topidx/file_io.c,
+	  raster/r.water.outlet/main.c,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/errorHandling.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.to.rast/main.c: Rast_close, Rast_unopen,
+	  Rast_get_cellhd now generate errors rather than returning a
+	  status
+
+2010-01-04 14:47  glynn
+
+	* lib/gpde/N_arrays_io.c, lib/ogsf/Gs3.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c:
+	  No need to check return value from Rast_open_* - part 2 -
+	  libraries
+
+2010-01-04 14:39  glynn
+
+	* display/d.his/main.c, display/d.nviz/main.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/display.c,
+	  display/d.rgb/main.c, display/d.what.rast/opencell.c,
+	  doc/raster/r.example/main.c, general/g.region/zoom.c,
+	  imagery/i.albedo/main.c, imagery/i.biomass/main.c,
+	  imagery/i.cca/main.c, imagery/i.class/band_files.c,
+	  imagery/i.class/draw_cell.c, imagery/i.class/signature.c,
+	  imagery/i.cluster/open_files.c, imagery/i.eb.eta/main.c,
+	  imagery/i.eb.evapfr/main.c, imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.eb.soilheatflux/main.c, imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/openfiles.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.his.rgb/openfiles.c, imagery/i.ifft/main.c,
+	  imagery/i.latlong/main.c, imagery/i.maxlik/open.c,
+	  imagery/i.modis.qc/main.c, imagery/i.pca/main.c,
+	  imagery/i.points/drawcell.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/write.c, imagery/i.rgb.his/openfiles.c,
+	  imagery/i.smap/opencell.c, imagery/i.sunhours/main.c,
+	  imagery/i.vi/main.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.zc/main.c, ps/ps.map/outl_io.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_group.c, ps/ps.map/r_rgb.c,
+	  raster/r.basins.fill/main.c, raster/r.basins.fill/read_map.c,
+	  raster/r.bitpattern/main.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/write_map.c, raster/r.carve/main.c,
+	  raster/r.category/cats.c, raster/r.category/main.c,
+	  raster/r.circle/main.c, raster/r.clump/main.c,
+	  raster/r.colors/stats.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.contour/main.c,
+	  raster/r.cost/main.c, raster/r.covar/main.c,
+	  raster/r.cross/main.c, raster/r.describe/describe.c,
+	  raster/r.distance/edges.c, raster/r.flow/io.c,
+	  raster/r.grow.distance/main.c, raster/r.grow/main.c,
+	  raster/r.his/main.c, raster/r.horizon/main.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.mat/main.c, raster/r.in.poly/poly2rast.c,
+	  raster/r.in.xyz/main.c, raster/r.lake/main.c,
+	  raster/r.li/r.li.daemon/daemon.c, raster/r.los/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mfilter/perform.c,
+	  raster/r.neighbors/main.c, raster/r.null/main.c,
+	  raster/r.out.arc/main.c, raster/r.out.ascii/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.gdal/export_band.c,
+	  raster/r.out.gridatb/file_io.c, raster/r.out.mat/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.png/main.c,
+	  raster/r.out.pov/main.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.tiff/main.c,
+	  raster/r.out.vrml/main.c, raster/r.out.vtk/main.c,
+	  raster/r.param.scale/open_files.c, raster/r.patch/main.c,
+	  raster/r.profile/main.c, raster/r.quantile/main.c,
+	  raster/r.random.cells/indep.c, raster/r.random.cells/init.c,
+	  raster/r.random.surface/init.c, raster/r.random.surface/main.c,
+	  raster/r.random.surface/save.c, raster/r.random/count.c,
+	  raster/r.random/random.c, raster/r.recode/recode.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.rst/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/get_stats.c, raster/r.rescale/get_range.c,
+	  raster/r.ros/main.c, raster/r.series/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.spread/main.c, raster/r.spreadpath/main.c,
+	  raster/r.statistics2/main.c, raster/r.statistics3/main.c,
+	  raster/r.stats/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/main.c, raster/r.support.stats/histo.c,
+	  raster/r.support/histo.c, raster/r.support/main.c,
+	  raster/r.surf.area/main.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.contour/read_cell.c,
+	  raster/r.surf.fractal/write_rast.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c,
+	  raster/r.surf.random/randsurf.c, raster/r.texture/main.c,
+	  raster/r.thin/io.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/main.c,
+	  raster/r.topidx/file_io.c, raster/r.univar/r.univar_main.c,
+	  raster/r.uslek/main.c, raster/r.usler/main.c,
+	  raster/r.volume/main.c, raster/r.walk/main.c,
+	  raster/r.water.outlet/main.c,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c,
+	  raster/r.what/main.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.to.rast/main.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.drape/main.c,
+	  vector/v.extrude/main.c, vector/v.kernel/main.c,
+	  vector/v.neighbors/main.c, vector/v.sample/main.c,
+	  vector/v.surf.idw/main.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c, vector/v.vol.rst/main.c,
+	  vector/v.what.rast/main.c: No need to check return value from
+	  Rast_open_*
+
+2010-01-03 22:41  glynn
+
+	* Makefile, include/Make/Dir.make, include/Make/Rules.make,
+	  include/Makefile, lib/Makefile: Move installation of headers from
+	  lib/Makefile to include/Makefile
+
+2010-01-03 19:49  glynn
+
+	* lib/gis/find_file.c: Always allocate returned mapset (so that it
+	  can be freed)
+
+2010-01-03 19:45  glynn
+
+	* include/rasterdefs.h, lib/raster/opencell.c: Generate fatal
+	  errors instead of returning status
+
+2010-01-03 19:45  glynn
+
+	* lib/Makefile: Restore "headers" target
+
+2010-01-03 18:49  glynn
+
+	* include/Make/Rules.make, tools, tools/Makefile, tools/g.echo.c:
+	  Add, use tools/g.echo (g.dirseps is built too late)
+
+2010-01-03 13:08  martinl
+
+	* include/vector.h, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_ogr.c,
+	  vector/v.edit/main.c: libvect: implement V1/2_write_line_ogr
+	  update v.edit to add new features
+
+2010-01-03 10:36  martinl
+
+	* include/vector.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/hist.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_ogr.c,
+	  vector/v.edit/args.c, vector/v.edit/main.c,
+	  vector/v.edit/select.c: libvect: implement V1/2_delete_line_ogr()
+	  v.edit updated to delete features
+
+2010-01-03 09:17  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: don't use Ctrl+C as
+	  shortcut
+
+2010-01-02 15:52  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI: ignore '&' in menu tree
+
+2010-01-02 15:22  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix 'clear output'
+
+2010-01-02 14:58  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: remove
+	  out-dated code
+
+2010-01-02 14:31  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: comment-out dialog
+	  encoding
+
+2010-01-02 14:08  martinl
+
+	* vector/v.buffer/main.c, vector/v.build/main.c,
+	  vector/v.category/main.c, vector/v.extract/main.c,
+	  vector/v.out.ogr/main.c, vector/v.overlay/main.c,
+	  vector/v.select/args.c, vector/v.split/main.c,
+	  vector/v.surf.idw/main.c, vector/v.surf.idw/proto.h,
+	  vector/v.surf.idw/read_sites.c, vector/v.surf.rst/main.c,
+	  vector/v.to.3d/args.c, vector/v.to.3d/local_proto.h,
+	  vector/v.to.3d/main.c, vector/v.to.3d/trans2.c,
+	  vector/v.to.3d/trans3.c, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.points/main.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/vect2rast.c, vector/v.to.rast3/main.c,
+	  vector/v.transform/creat_trans.c,
+	  vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/trans_digit.c, vector/v.type/main.c,
+	  vector/v.univar/main.c, vector/v.what/main.c,
+	  vector/v.what/what.c, vector/v.what/what.h: OGR support (read)
+
+2010-01-02 14:03  martinl
+
+	* lib/rst/interp_float/interp2d.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/segmen2d.c, lib/rst/interp_float/vinput2d.c:
+	  librst: use G_message() instead of fprintf()
+
+2010-01-02 14:01  martinl
+
+	* lib/gis/parser_standard_options.c: libgis: cosmetics in standard
+	  options
+
+2010-01-02 13:58  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/vdigit/Makefile, gui/wxpython/vdigit/digit.cpp,
+	  gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: wxGUI:
+	  toolbar clean up + various minor fixes
+
+2010-01-02 11:21  hamish
+
+	* scripts/v.in.mapgen/v.in.mapgen.py: put metadata in the correct
+	  slots (merge from devbr6)
+
+2010-01-01 21:12  kyngchaos
+
+	* macosx/app/build_gui_user_menu.sh: fix space-in-path problem
+
+2010-01-01 19:18  kyngchaos
+
+	* macosx/Makefile, macosx/modbuild: delete old modbuild junk
+
+2010-01-01 16:37  hamish
+
+	* visualization/nviz/scripts/config.tcl,
+	  visualization/nviz/scripts/widgets.tcl: less saturated ui colors
+	  (merge from devbr6)
+
+2010-01-01 13:13  hamish
+
+	* display/d.vect/main.c: guisection for -z
+
+2010-01-01 11:27  glynn
+
+	* gui/wxpython/gui_modules/gcmd.py: Don't wait() for process;
+	  communicate() deals with that
+
+2009-12-31 02:53  hamish
+
+	* raster/r.in.xyz/main.c, raster/r.in.xyz/r.in.xyz.html: better
+	  warn about memory use with extended stats;
+	  error msg instead of segfault if zrange= is empty;
+	  more accurate status message
+
+2009-12-29 15:46  glynn
+
+	* gui/wxpython/nviz/setup.py, include/gisdefs.h,
+	  swig/python/Makefile: Windows fixes.
+	  G_rc_path() isn't defined on Windows, so don't declare it
+	  swig/python needs -D__MINGW32__ to get conditional declarations
+	  correct
+	  swig/python needs $(INTLLIB) (the Windows version of <libintl.h>
+	  redirects *printf)
+	  nviz/setup.py needs to have quotes escaped (as already done for
+	  vdigit)
+
+2009-12-29 12:54  glynn
+
+	* lib/gis/spawn.c: Various Windows fixes for G_spawn[_ex]
+
+2009-12-28 10:18  mmetz
+
+	* raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/usage.c: sync seg to changes in front
+	  r40146
+
+2009-12-28 10:18  mmetz
+
+	* raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/usage.c: sync to changes in front r40146
+
+2009-12-28 10:16  mmetz
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html: cleaning up,
+	  maintenance
+
+2009-12-27 18:23  mmetz
+
+	* lib/vector/Vlib/map.c: format, fix for
+	  Vect_copy_map_lines_field()
+
+2009-12-27 06:10  glynn
+
+	* tools/g.html2man/g.html2man.py: Generalise handling of omitted
+	  start tags (replace <table> -> <tr> hack)
+
+2009-12-27 04:51  glynn
+
+	* lib/gis/spawn.c: Don't use "switch" for testing for SF_*
+	  constants
+	  casting to "int" isn't robust, and other alternatives have
+	  portability issues
+	  Add Windows version using CreateProcess(), supports redirection
+
+2009-12-27 04:48  glynn
+
+	* raster/r.colors/thumbnails.py: Check for g.ppmtopng existence
+	  using "g.ppmtopng help" rather than
+	  just "g.ppmtopng".
+
+2009-12-27 04:46  glynn
+
+	* include/Make/Html.make: Eliminate bogus re-build when no images
+	  exist ("make ..." re-builds
+	  the current directory if "..." is empty).
+
+2009-12-26 08:41  glynn
+
+	* display/d.histogram/get_stats.c, include/spawn.h,
+	  raster/r.kappa/stats.c, raster/r.report/stats.c,
+	  raster/r.statistics/method.h, raster/r.statistics/o_average.c,
+	  raster/r.statistics/o_distrib.c, raster/r.statistics/o_sum.c,
+	  raster/r.statistics/run_cmd.c, raster/r.transect/main.c,
+	  raster/r.watershed/front/main.c: Replace system() with
+	  G_vspawn_ex()
+
+2009-12-25 21:41  martinl
+
+	* gui/wxpython/gui_modules/debug.py: debug.py: doxygenization
+
+2009-12-25 21:12  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: fix
+	  GPromptPopUp
+
+2009-12-25 20:37  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: read cmd
+	  history on start-up
+
+2009-12-25 20:24  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: fix
+	  'ctrl+space' (cont'ed)
+
+2009-12-25 20:18  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: fix
+	  'ctrl+space'
+
+2009-12-24 21:57  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: bug fix when
+	  command is not selected from the list
+
+2009-12-24 21:27  martinl
+
+	* scripts/v.krige/v.krige.py: v.krige: cosmetics in messages (be
+	  more verbose + i18n)
+
+2009-12-24 21:20  martinl
+
+	* lib/python/db.py: fix pythonlib (no grass module)
+
+2009-12-24 21:10  martinl
+
+	* gui/wxpython/gui_modules/goutput.py, gui/wxpython/wxgui.py:
+	  wxGUI: use customized v.krige GUI
+
+2009-12-24 12:08  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: don't fail on
+	  IndexError
+
+2009-12-24 11:43  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI:
+	  design GPrompt as abstract class used by GPromptPopUp and
+	  GPromptSTC, enable search engine, general clean-up (in progress)
+
+2009-12-23 12:56  hamish
+
+	* raster/r.in.xyz/main.c: comment potential bug
+
+2009-12-23 12:49  mmetz
+
+	* raster/r.out.gdal/export_band.c, raster/r.out.gdal/local_proto.h,
+	  raster/r.out.gdal/main.c, raster/r.out.gdal/r.out.gdal.html:
+	  check options before actual export
+
+2009-12-22 15:37  epatton
+
+	* raster/r.proj/r.proj.html: Added example, merge from devbr6
+
+2009-12-22 14:49  martinl
+
+	* gui/wxpython/gui_modules/help.py, man/build_html.py: don't
+	  include revision number in manual
+
+2009-12-22 14:21  martinl
+
+	* general/g.version/main.c: g.version: print only version number in
+	  quiet mode
+
+2009-12-22 14:18  martinl
+
+	* general/g.version/main.c: g.version: print svn revision by
+	  default
+
+2009-12-22 05:41  hamish
+
+	* gui/wxpython/gui_modules/vdigit.py: improve vdigit warning
+	  message (merge from devbr6)
+
+2009-12-22 03:30  kyngchaos
+
+	* macosx/Makefile, macosx/app/Makefile, macosx/app/grass.sh.in,
+	  macosx/app/python_wrapper: use python wrapper script so arch
+	  command can be used to select OSX architecture and to force
+	  pythonw (sync from dev6 r40103)
+	  remove old monitorcap processing
+
+2009-12-20 23:44  huhabla
+
+	* raster/r.solute.transport/Disper_calc.sh,
+	  raster/r.solute.transport/example.sh,
+	  raster/r.solute.transport/example2.sh,
+	  raster/r.solute.transport/seguin_verify.sh,
+	  raster/r.solute.transport/seguin_verify_well.sh: Documentation
+	  update of r.solute.transport
+	  Removed redundant examples
+	  Converted shell example scripts into python scripts
+
+2009-12-20 23:43  huhabla
+
+	* raster/r.solute.transport/example.py,
+	  raster/r.solute.transport/main.c,
+	  raster/r.solute.transport/r.solute.transport.html,
+	  raster/r.solute.transport/seguin_verify.py,
+	  raster/r.solute.transport/seguin_verify_well.py: Documentation
+	  update of r.solute.transport
+	  Removed redundant examples
+	  Converted shell example scripts into python scripts
+
+2009-12-20 14:27  martinl
+
+	* raster/r.solute.transport: set svn property
+
+2009-12-20 14:08  martinl
+
+	* general/g.version/main.c: g.version: print svn revision in
+	  verbose mode
+
+2009-12-20 13:46  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: export part (to fix
+	  v.krige)
+	  (merge r40088 from devbr6)
+
+2009-12-20 13:02  martinl
+
+	* raster/r.solute.transport/main.c: r.solute.transport: standard
+	  options + i18n
+
+2009-12-20 12:35  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: don't fail if
+	  GRASS_PROJSHARE is not defined
+
+2009-12-20 06:20  glynn
+
+	* lib/raster/R.h, lib/raster/closecell.c, lib/raster/get_row.c,
+	  lib/raster/opencell.c, lib/raster/put_row.c: Keep null bitmap
+	  open
+
+2009-12-19 21:47  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: launch non-GRASS
+	  commands
+
+2009-12-19 21:41  huhabla
+
+	* raster/Makefile: Added the new module r.solute.transport
+
+2009-12-19 21:35  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py:
+	  cmbarton: Advanced grass command console. Try again with repaired
+	  subversion
+	  installation (merge r40068 from devbr6)
+	  martinl: Various fixes (merge r40071, r40072, r40073, r40074,
+	  r40077
+	  from devbr6)
+
+2009-12-19 21:25  huhabla
+
+	* raster/r.solute.transport,
+	  raster/r.solute.transport/Disper_calc.sh,
+	  raster/r.solute.transport/Makefile,
+	  raster/r.solute.transport/example.sh,
+	  raster/r.solute.transport/example2.sh,
+	  raster/r.solute.transport/main.c,
+	  raster/r.solute.transport/r.solute.transport.html,
+	  raster/r.solute.transport/seguin_verify.sh,
+	  raster/r.solute.transport/seguin_verify_well.sh: New module to
+	  compute solute transport in porous media, including several
+	  examples and verification shell scripts.
+
+2009-12-19 21:17  huhabla
+
+	* lib/gis/parser_wps.c: Print the html help into the abstract xml
+	  element.
+
+2009-12-19 20:54  huhabla
+
+	* raster/r.in.gdal/main.c: Added c flag to create a location based
+	  on the projection information of the raster file and exit. The
+	  raster file will not be imported into the new created location.
+
+2009-12-19 18:33  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: use combobox for map
+	  scale
+
+2009-12-19 18:10  martinl
+
+	* configure, configure.in: use `svnversion -c`
+
+2009-12-19 13:22  martinl
+
+	* mswindows/osgeo4w/package.sh: simplify package.sh
+	  (merge r40063 from relbr64)
+
+2009-12-19 11:33  martinl
+
+	* gui/wxpython/gui_modules/help.py: call SetSelection() explicitly
+
+2009-12-19 11:28  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI: AboutWindow, add arrows
+	  (see trac #839)
+
+2009-12-18 20:29  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'd
+
+2009-12-18 15:17  martinl
+
+	* scripts/v.krige/v.krige.py: v.krige: check overwrite preferences
+
+2009-12-18 15:05  martinl
+
+	* vector/v.out.vtk/main.c, vector/v.patch/main.c: v.patch &
+	  v.out.vtk: more keywords, cosmetics
+
+2009-12-18 15:04  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/support/update_menudata.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml, scripts/Makefile, scripts/v.krige,
+	  scripts/v.krige/Makefile, scripts/v.krige/description.html,
+	  scripts/v.krige/v.krige.html, scripts/v.krige/v.krige.py: v.krige
+	  moved from add-ons to trunk (GSoC)
+
+2009-12-18 14:18  martinl
+
+	* vector/v.random/main.c: v.random: zcol bugfix
+
+2009-12-18 10:02  mmetz
+
+	* raster/r.to.vect/main.c: minor bugfix
+
+2009-12-18 09:42  mmetz
+
+	* lib/vector/Vlib/field.c: field number bugfix
+
+2009-12-17 14:12  martinl
+
+	* gui/wxpython/vdigit/setup.py: windows fixes (macros)
+
+2009-12-17 13:42  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI: fix trac #839
+	  (merge r40034 from devbr6)
+
+2009-12-17 12:36  mmetz
+
+	* scripts/v.dissolve/v.dissolve.py: coltype check fixed
+
+2009-12-16 21:07  martinl
+
+	* gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/message.cpp:
+	  wxGUI/vdigit: minor fixes
+
+2009-12-16 20:10  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/help.py,
+	  gui/wxpython/gui_modules/ogc_services.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: various fixes
+	  GPrompt in progress
+
+2009-12-16 18:23  martinl
+
+	* gui/wxpython/docs/wxGUI.html: typo
+
+2009-12-16 18:22  martinl
+
+	* gui/wxpython/xml/menudata.xml: there is no v.digit in grass7
+
+2009-12-16 18:21  martinl
+
+	* gui/wxpython/docs/wxGUI.html, gui/wxpython/xml/menudata.xml:
+	  wxGUI: more shortcuts
+
+2009-12-15 19:32  glynn
+
+	* raster/r.drain/main.c, raster/r.fill.dir/main.c: Use <fcntl.h>,
+	  not <sys/fcntl.h>
+
+2009-12-15 13:10  hamish
+
+	* gui/wxpython/wxgui.py: mostly trival whitespace
+
+2009-12-15 11:37  hamish
+
+	* general/g.region/printwindow.c, lib/gis/wr_cellhd.c: tbres is not
+	  measured in degrees (bug #821; merge from devbr6)
+
+2009-12-15 11:00  hamish
+
+	* gui/wxpython/gui_modules/location_wizard.py: utm zones start with
+	  1 (merge from devbr6)
+
+2009-12-15 06:39  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Removed debugging
+	  code
+
+2009-12-15 03:14  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Added TclTk v.digit to menu so
+	  that Windows users have access to digitization even if msys
+	  command line not loaded.
+
+2009-12-15 02:32  cmbarton
+
+	* gui/wxpython/gui_modules/gcmd.py: Allows nviz module to run TclTk
+	  nviz on Windows (and other platforms). Backport from
+	  develbranch_6 r40007
+
+2009-12-14 20:52  neteler
+
+	* vector/v.clean/v.clean.html: added missing See also section
+
+2009-12-14 16:56  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Fix sizing so that module
+	  dialogs open nicely on all platforms. Limit initial dialog size
+	  to a reasonable value for small screens. Backport from
+	  develbranch_6 r39998
+
+2009-12-14 09:52  mmetz
+
+	* raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/do_stream.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c,
+	  raster/r.watershed/seg/over_cells.c: synchronized to ram mode
+
+2009-12-14 09:51  mmetz
+
+	* raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c: small fix, cosmetics
+
+2009-12-14 06:36  cmbarton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fixes ticket #752.
+	  Option changing button disabled unless layer is selected.
+	  Backport from develbranch_6 r39991
+
+2009-12-14 05:35  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Icon shape and size for
+	  queried items matches icon shape and size used in queried map.
+	  Backport from develbranch_6 r39988
+
+2009-12-13 06:47  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Module dialogs now size
+	  correctly on opening.
+
+2009-12-11 18:36  mmetz
+
+	* raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/find_pour.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/no_stream.c,
+	  raster/r.watershed/ram/over_cells.c: speed up A* Search, fix half
+	  basin bug
+
+2009-12-11 12:27  mmetz
+
+	* gui/wxpython/xml/menudata.xml: v.db.addcol renamed to
+	  v.db.addcolumn
+
+2009-12-11 12:10  mmetz
+
+	* vector/v.build/main.c: v.build: open vector map as old, avoid
+	  rewriting the files coor, hist, dbln, and head
+
+2009-12-11 11:42  mmetz
+
+	* lib/vector/Vlib/map.c: successfully copy grass6 vector without
+	  sidx
+
+2009-12-11 11:21  mmetz
+
+	* vector/v.clean/main.c: clean features of all layers by default
+
+2009-12-11 11:20  mmetz
+
+	* lib/vector/Vlib/map.c: Vect_copy_map_lines_field: also copy
+	  boundaries
+
+2009-12-11 09:26  mmetz
+
+	* vector/v.in.ogr/v.in.ogr.html: updated manual
+
+2009-12-11 00:04  neteler
+
+	* translators.csv: cleanup
+
+2009-12-11 00:01  neteler
+
+	* translators.csv: +Javier Garcia Prieto
+
+2009-12-10 19:57  neteler
+
+	* locale/po/grasswxpy_es.po: Javier Garcia Prieto: cont'ed
+
+2009-12-10 09:20  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: reference to tcl/tk-based
+	  GUI removed
+
+2009-12-10 09:17  martinl
+
+	* gui/wxpython/docs/wxGUI.html, gui/wxpython/wxgui.py: wxGUI:
+	  Ctrl+Tab to switch tabs
+	  (merge r39958 from devbr6)
+
+2009-12-10 08:04  neteler
+
+	* locale/po/grasswxpy_es.po: Javier Garcia Prieto: cont'ed
+
+2009-12-09 10:04  mmetz
+
+	* raster/r.watershed/seg/do_astar.c: next fix for ticket #807, seg
+	  mode
+
+2009-12-09 09:25  mmetz
+
+	* raster/r.watershed/ram/do_astar.c: next fix for ticket #807
+
+2009-12-09 01:13  kyngchaos
+
+	* macosx/app/grass.sh.in: override GRASS_CONFIG_DIR for OSX
+
+2009-12-09 01:07  kyngchaos
+
+	* lib/init/init.sh: define GRASS_CONFIG_DIR
+
+2009-12-09 00:41  kyngchaos
+
+	* macosx/app/build_gui_user_menu.sh,
+	  macosx/app/build_html_user_index.sh, macosx/app/grass.sh.in: use
+	  same app supp in menu/doc scripts as defined in startup script
+
+2009-12-08 11:02  mmetz
+
+	* vector/vectorintro.html: fix confusing terminology (backport from
+	  64)
+
+2009-12-07 15:29  mmetz
+
+	* lib/segment/setup.c: avoid floating point rounding problems
+
+2009-12-07 14:37  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI: menu tree window icon
+	  (merge r39939 from devbr6)
+
+2009-12-07 14:29  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: up/down - list
+	  history/modules right - get list of modules
+	  (merge r39937 from devbr6)
+
+2009-12-07 00:46  cmbarton
+
+	* gui/wxpython/gui_modules/preferences.py: updated error message
+
+2009-12-07 00:42  cmbarton
+
+	* gui/wxpython/gui_modules/preferences.py: If ~/.grass7 directory
+	  does not exist, create it.
+
+2009-12-06 22:58  cmbarton
+
+	* gui/wxpython/gui_modules/gdialogs.py: Fix so mapsets can be seen
+	  and selected. Backport from develbranch_6 r39933
+
+2009-12-06 22:45  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Make g.region accessible from
+	  menus
+
+2009-12-06 21:35  cmbarton
+
+	* gui/wxpython/wxgui.py: Lets help/menu tree item double-clicking
+	  run commands. Backported from develbranch_6
+
+2009-12-06 20:59  martinl
+
+	* gui/wxpython/gui_modules/help.py: fix bug introduced in r39922 -
+	  menu items are not grass commands,
+	  eval() required
+	  (merge r39925 from devbr6)
+
+2009-12-06 20:25  cmbarton
+
+	* gui/wxpython/gui_modules/help.py: Fix Mac use of menu tree window
+	  and double-clicking of item to run command. Backport from
+	  develbranch_6 r39922
+
+2009-12-06 11:24  martinl
+
+	* gui/wxpython/support/update_menudata.py: print error message when
+	  menudata.xml is not found
+
+2009-12-06 11:15  martinl
+
+	* gui/wxpython/xml/menudata.xml: module help - description
+	  synchronized (use update_menudata.py)
+
+2009-12-06 11:03  martinl
+
+	* gui/wxpython/xml/menudata.xml: restore accidently removed menu
+	  items (r39863)
+
+2009-12-06 10:22  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py: fix r39911
+
+2009-12-06 10:11  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: initial
+	  hot-keys (p/l) see #497
+
+2009-12-06 08:47  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: OGR support
+	  (read access)
+
+2009-12-06 08:46  martinl
+
+	* vector/v.random/main.c: v.random: OGR support (read access)
+
+2009-12-06 08:45  martinl
+
+	* vector/v.reclass/main.c: v.reclass: OGR support (read access)
+
+2009-12-06 08:44  martinl
+
+	* vector/v.segment/main.c: v.segment: OGR support (read access)
+
+2009-12-06 08:42  martinl
+
+	* vector/v.sample/main.c: v.sample: OGR support (read access)
+
+2009-12-06 08:38  martinl
+
+	* scripts/v.report/v.report.py: v.report: OGR support (read access)
+
+2009-12-06 08:19  martinl
+
+	* lib/python/vector.py: libpy: vector_columns() - get dictionary /
+	  list
+
+2009-12-06 08:17  martinl
+
+	* lib/vector/Vlib/header.c: libvect: fix bug in
+	  Vect_get_full_name() - OGR direct
+
+2009-12-06 02:09  hcho
+
+	* general/g.mlist/main.c, general/g.mremove/main.c: Comments
+	  updated.
+	  Variables initialized.
+
+2009-12-04 22:22  martinl
+
+	* vector/v.qcount/count.c, vector/v.qcount/main.c,
+	  vector/v.qcount/quaddefs.h: v.qcount: OGR support (read access)
+
+2009-12-04 19:14  martinl
+
+	* vector/v.perturb/main.c: v.pertrub: OGR support (read access)
+
+2009-12-04 16:35  martinl
+
+	* vector/v.parallel/main.c: v.parallel: OGR support (read access)
+
+2009-12-04 16:06  martinl
+
+	* lib/vector/Vlib/header.c, vector/v.overlay/main.c: v.overlay: OGR
+	  support (read access)
+	  libvect: Vect_get_full_name() updated (OGR read access)
+
+2009-12-04 10:35  mmetz
+
+	* raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c: always close all segment
+	  files
+
+2009-12-04 10:33  mmetz
+
+	* lib/segment/setup.c: safety margin for rare rounding error
+
+2009-12-04 09:07  hcho
+
+	* gui/wxpython/scripts/p.cmd.py, gui/wxpython/scripts/p.db.py,
+	  gui/wxpython/scripts/p.mon.py, gui/wxpython/scripts/p.rast.py,
+	  gui/wxpython/scripts/p.vect.py: Pythonized p.db, p.mon, p.cmd,
+	  p.rast, and p.vect.
+	  Added an opacity= option to p.rast and p.vect.
+
+2009-12-04 09:04  hcho
+
+	* gui/wxpython/gui_modules/mapdisp_command.py,
+	  gui/wxpython/gui_modules/render.py: Imported debug as Debug.
+	  Removed item= parameters (not valid anymore) from AddLayer.
+	  Fixed a bug in command file reading.
+
+2009-12-04 07:28  glynn
+
+	* lib/raster/get_row.c: Fix bug #369
+
+2009-12-04 07:21  martinl
+
+	* include/gis.h, lib/gis/parser_standard_options.c,
+	  lib/vector/Vlib/field.c, vector/v.buffer/main.c,
+	  vector/v.clean/main.c, vector/v.delaunay/in_out.c,
+	  vector/v.delaunay/main.c, vector/v.drape/main.c,
+	  vector/v.extract/main.c, vector/v.extrude/main.c,
+	  vector/v.generalize/main.c, vector/v.hull/main.c,
+	  vector/v.hull/read.c, vector/v.kcv/main.c,
+	  vector/v.neighbors/main.c, vector/v.out.dxf/main.c,
+	  vector/v.out.pov/main.c, vector/v.out.svg/main.c: synchronize
+	  vector modules (G_OPT_V_FIELD_ALL)
+
+2009-12-04 02:59  hcho
+
+	* gui/wxpython/scripts/p.db, gui/wxpython/scripts/p.mon:
+	  gui_modules path fixed when a user-defined PYTHONPATH exists.
+
+2009-12-03 20:30  martinl
+
+	* lib/gis/parser_help.c, lib/gis/parser_interface.c,
+	  lib/gis/parser_script.c, lib/gis/parser_standard_options.c:
+	  libgis: add headers (parse_*.c)
+	  update standard options (OGR support)
+
+2009-12-03 20:15  martinl
+
+	* vector/v.out.svg/main.c: v.out.svg: OGR support (read access)
+
+2009-12-03 20:05  martinl
+
+	* vector/v.out.pov/main.c: v.out.pov: OGR support (read access)
+
+2009-12-03 19:31  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: OGR support (read access)
+
+2009-12-03 19:11  martinl
+
+	* vector/v.out.dxf/main.c: v.out.dxf: OGR support (read access)
+
+2009-12-03 18:50  martinl
+
+	* vector/v.out.ascii/args.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/main.c: v.out.ascii: OGR support (read access)
+
+2009-12-03 17:37  martinl
+
+	* display/d.colortable/main.c, display/d.erase/main.c,
+	  display/d.geodesic/main.c, display/d.graph/main.c,
+	  display/d.legend/main.c, display/d.linegraph/main.c,
+	  display/d.measure/main.c, display/d.path/main.c,
+	  display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.rast/main.c, display/d.rhumbline/main.c,
+	  display/d.text/main.c, display/d.thematic.area/main.c,
+	  display/d.title/main.c, display/d.vect.chart/main.c,
+	  include/gis.h: remove GISPROMPT_COLOR def from gis.h
+
+2009-12-03 11:08  martinl
+
+	* db/db.login/main.c, include/gis.h, lib/db/dbmi_base/login.c:
+	  libgis: define CONFIG_DIR
+	  db.login: updated & interactive mode removed
+	  dbmi/login.c updated
+
+2009-12-03 10:45  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI welcome screen cosmetics
+
+2009-12-03 10:44  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: don't show revision number in
+	  welcome screen
+
+2009-12-03 10:39  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: simplify settigs
+
+2009-12-03 08:07  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'd
+
+2009-12-02 23:29  martinl
+
+	* general/g.gui/g.gui.html, gui/wxpython/README,
+	  gui/wxpython/docs/wxGUI.html, gui/wxpython/gis_set.py,
+	  include/Make/Platform.make.in, lib/init/Makefile,
+	  lib/init/grass.bat, lib/init/grass.py, lib/init/grass7.html,
+	  lib/init/init.bat, lib/init/init.sh, lib/init/variables.html,
+	  macosx/app/grass.sh.in, mswindows/GRASS-Installer.nsi: first
+	  steps towards config dir (.grass7)
+
+2009-12-01 20:40  martinl
+
+	* gui/wxpython/xml/menudata.xml: g.gisenv: don't Use shell syntax
+
+2009-12-01 20:15  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: atm: popup menu for
+	  columns (sorting, v.to.db)
+
+2009-12-01 13:21  glynn
+
+	* lib/cairodriver/Graph.c, lib/cairodriver/read_xid.c: Fix bugs
+	  preventing Pixmap re-use
+
+2009-12-01 06:33  cmbarton
+
+	* scripts/v.db.univar/v.db.univar.py: GUI enhancements and
+	  formatting.
+
+2009-12-01 05:38  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Menu update with modules and
+	  scripts
+
+2009-11-30 06:13  cmbarton
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/preferences.py: Fix bug that hits first
+	  time users of GRASS lacking a .grasswx6 file. Backport from
+	  develbranch_6 r39857 & r39858
+
+2009-11-30 00:27  huhabla
+
+	* lib/gis/parser_wps.c: documentation update
+
+2009-11-29 10:13  neteler
+
+	* scripts/v.what.vect/v.what.vect.html,
+	  scripts/v.what.vect/v.what.vect.py: works also with polygon maps
+
+2009-11-29 06:10  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Fix bug in menuform.py that
+	  keeps python scripts from launching. Backport from develbranch_6
+	  r39850.
+
+2009-11-28 19:49  cmbarton
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/preferences.py: Bug fix for recent
+	  enhancement of preferences dialog. Backport from develbranch_6
+	  r39847.
+
+2009-11-28 19:03  cmbarton
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/preferences.py: Backport from
+	  develbranch_6 r39845. Added ability for user to set font (typface
+	  and size) for command output console.
+
+2009-11-28 05:46  glynn
+
+	* general/g.version/Makefile, general/g.version/main.c,
+	  include/Make/Grass.make: Avoid passing large amounts of data via
+	  -D switches
+
+2009-11-28 05:46  glynn
+
+	* lib/gis/parser.c, lib/gis/parser_help.c, lib/gis/parser_html.c,
+	  lib/gis/parser_interface.c, lib/gis/parser_local_proto.h,
+	  lib/gis/parser_script.c, lib/gis/parser_wps.c: Clean up parser
+	  refactoring
+
+2009-11-27 23:48  huhabla
+
+	* lib/gis/parser_wps.c: Fix wrong XML tags
+
+2009-11-27 22:54  martinl
+
+	* vector/v.normal/main.c: v.normal: OGR support (read access)
+
+2009-11-27 22:49  martinl
+
+	* vector/v.normal/main.c: v.normal: q flag removed + i18n
+
+2009-11-27 21:32  neteler
+
+	* locale/po/grasswxpy_pt.po: Antonio Rocha: cont'ed
+
+2009-11-27 20:20  martinl
+
+	* vector/v.neighbors/main.c: v.neighbors: OGR support (read access)
+
+2009-11-27 19:30  martinl
+
+	* vector/v.mkgrid/main.c: v.mkgrid: cosmetics
+
+2009-11-27 19:10  martinl
+
+	* vector/v.kcv/main.c: v.kcv: OGR support (read access)
+
+2009-11-27 19:05  martinl
+
+	* vector/v.kcv/main.c: v.kcv: q flag removed + cosmetics
+
+2009-11-27 17:54  martinl
+
+	* vector/v.hull/main.c: v.hull: topo not needed
+
+2009-11-27 17:51  martinl
+
+	* vector/v.hull/chull.c, vector/v.hull/chull.h,
+	  vector/v.hull/hull.c, vector/v.hull/hull.h, vector/v.hull/main.c,
+	  vector/v.hull/read.c, vector/v.hull/write.c: v.hull: code
+	  reorganization + OGR support (read access)
+
+2009-11-27 17:29  martinl
+
+	* vector/v.generalize/main.c: v.generalize: OGR support (read
+	  access)
+
+2009-11-27 17:21  martinl
+
+	* vector/v.extrude/main.c: v.extrude: OGR support (read acccess)
+
+2009-11-27 17:14  martinl
+
+	* vector/v.drape/main.c: v.drape: OGR support (read access)
+
+2009-11-27 17:13  martinl
+
+	* lib/raster/opencell.c: libgis: use G_fully_qualified_name()
+
+2009-11-27 15:55  martinl
+
+	* lib/gis/nme_in_mps.c: libgis: G_fully_qualified_name() don't
+	  report mapset if empty string
+
+2009-11-27 13:14  martinl
+
+	* vector/v.distance/main.c: v.distance: OGR support (read access) -
+	  'to'
+
+2009-11-27 12:59  martinl
+
+	* scripts/v.dissolve/v.dissolve.py: v.dissolve: OGR support (read
+	  access)
+
+2009-11-27 12:48  martinl
+
+	* vector/v.delaunay/in_out.c, vector/v.delaunay/in_out.h,
+	  vector/v.delaunay/main.c: v.delaunay: OGR support (read access)
+	  cosmetics in message output
+
+2009-11-26 22:32  martinl
+
+	* scripts/v.db.addcolumn/v.db.addcol.html,
+	  scripts/v.db.addcolumn/v.db.addcol.py,
+	  scripts/v.db.addcolumn/v.db.addcolumn.html,
+	  scripts/v.db.addcolumn/v.db.addcolumn.py: v.db.addcol renamed to
+	  v.db.addcolumn
+
+2009-11-26 21:56  martinl
+
+	* scripts/v.db.addcolumn/Makefile: v.db.addcol renamed to
+	  v.db.addcolumn
+
+2009-11-26 21:51  martinl
+
+	* display/d.vect/d.vect.html,
+	  gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/gui_modules/dbm.py, lib/db/sqlp/sql.html,
+	  scripts/v.colors/v.colors.html, scripts/v.colors/v.colors.py,
+	  scripts/v.db.addcolumn/v.db.addcol.html,
+	  scripts/v.db.addcolumn/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.html,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.html,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droprow/v.db.droprow.html,
+	  scripts/v.db.droptable/v.db.droptable.html,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.html,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.update/v.db.update.html,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.what.vect/v.what.vect.html,
+	  vector/v.db.connect/v.db.connect.html,
+	  vector/v.distance/v.distance.html,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.steiner/v.net.steiner.html,
+	  vector/v.to.3d/description.html, vector/v.to.3d/v.to.3d.html,
+	  vector/v.to.db/v.to.db.html, vector/v.transform/v.transform.html,
+	  vector/v.vol.rst/v.vol.rst.html, vector/v.voronoi/v.voronoi.html,
+	  vector/vectorintro.html: v.db.addcol renamed to v.db.addcolumn
+
+2009-11-26 21:43  martinl
+
+	* scripts/Makefile, scripts/v.db.addcol, scripts/v.db.addcolumn:
+	  v.db.addcol renamed to v.db.addcolumn (synchronize with other
+	  modules)
+
+2009-11-26 21:41  martinl
+
+	* scripts/v.convert.all/v.convert.all.py: v.convert.all - cosmetics
+
+2009-11-26 21:35  martinl
+
+	* include/vector.h, lib/vector/Vlib/cats.c, lib/vector/Vlib/map.c,
+	  vector/v.clean/main.c: v.clean: OGR support (read access)
+	  vlib: Vect_copy_map_lines_field() added
+
+2009-11-26 20:52  martinl
+
+	* vector/v.class/main.c: v.class: OGR support (read access)
+
+2009-11-26 20:43  martinl
+
+	* vector/v.category/main.c: v.category: OGR support (read access)
+
+2009-11-26 20:20  martinl
+
+	* lib/vector/Vlib/read_ogr.c: fix bug in V2_read_next_line_ogr
+
+2009-11-26 20:05  martinl
+
+	* lib/vector/Vlib/snap.c, vector/v.buffer/main.c: v.buffer: OGR
+	  support (read access)
+	  be less verbose by default
+
+2009-11-26 18:52  huhabla
+
+	* lib/gis/parser.c, lib/gis/parser_help.c, lib/gis/parser_html.c,
+	  lib/gis/parser_interface.c, lib/gis/parser_local_proto.h,
+	  lib/gis/parser_script.c, lib/gis/parser_standard_options.c,
+	  lib/gis/parser_wps.c: Split parser.c in several files
+	  Minor fixes in the wps functions
+
+2009-11-26 18:38  martinl
+
+	* vector/v.db.select/main.c: remove out-dated comment
+
+2009-11-26 18:36  martinl
+
+	* vector/v.db.select/main.c: v.db.select: fix '-r' for OGR support
+
+2009-11-26 18:08  martinl
+
+	* general/g.list/main.c, lib/vector/Vlib/build_ogr.c,
+	  vector/v.external/list.c, vector/v.info/main.c: OGR support: some
+	  cosmetics in v.info/v.external
+	  cosmetics in g.list
+
+2009-11-26 05:13  glynn
+
+	* gui/scripts/d.path.sh: Remove d.path.sh
+
+2009-11-25 23:51  glynn
+
+	* imagery/i.pca/main.c: Fix bug in calc_mu (reported by Peng Du);
+	  as for r39800 in 6.x
+
+2009-11-24 23:11  glynn
+
+	* include/Make/Html.make, include/Make/ScriptRules.make,
+	  tools/Makefile, tools/mkhtml.py, tools/mkhtml.sh: Convert mkhtml
+	  script to Python
+
+2009-11-24 23:00  huhabla
+
+	* lib/gis/parser.c: Minor fixes to pass the XML validation
+
+2009-11-24 20:59  huhabla
+
+	* lib/gis/parser.c: WPS ProcessDescription XML document generation
+	  added to parser.c
+
+2009-11-23 22:13  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix menuform
+	  (merge r39792 from devbr6)
+
+2009-11-23 09:38  mmetz
+
+	* lib/segment/format.c: LFS check bugfix
+
+2009-11-23 09:34  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: option to define
+	  default color table
+	  (merge r39786 and r39787 from devbr6)
+
+2009-11-23 07:42  mmetz
+
+	* vector/lidar/v.outlier/main.c: fix for auxiliar table
+
+2009-11-22 22:32  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI cosmetics, i18n
+	  (merge r39783 from trunk)
+
+2009-11-22 17:03  martinl
+
+	* gui/wxpython/gui_modules/goutput.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: run script item added to
+	  the menu
+	  (merge r39781 from devbr6)
+
+2009-11-21 09:09  hcho
+
+	* vector/v.in.dxf/add_polyline.c: Imports triangular mesh faces.
+
+2009-11-20 18:51  martinl
+
+	* translators.csv: synchonize cz/cs codes in translators file
+
+2009-11-20 18:34  martinl
+
+	* Makefile, contributors.csv, gui/wxpython/gui_modules/help.py,
+	  translators.csv: note contributors.csv translators.csv
+	  (wxGUI/about) + some cosmetics
+
+2009-11-19 23:16  neteler
+
+	* locale/po/grasswxpy_es.po: fix copyright
+
+2009-11-19 22:34  neteler
+
+	* locale/po/grasswxpy_pl.po: Robert Szczepanek <robert
+	  szczepanek.pl>: cont'ed
+
+2009-11-19 18:19  glynn
+
+	* general/g.gui/main.c: Recent versions of Python care about
+	  argv[0]
+
+2009-11-19 11:05  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: remove print
+	  statement
+	  (merge r39762 from devbr6)
+
+2009-11-19 09:19  mmetz
+
+	* lib/segment/address.c, lib/segment/pagein.c,
+	  lib/segment/rbtree.c, lib/segment/setup.c: cosmetics
+
+2009-11-19 09:09  mmetz
+
+	* lib/segment/Makefile, lib/segment/format.c: enable LFS
+
+2009-11-19 07:13  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: Backport from
+	  develbranch_6 r39755. self.redrawAll cannot be set to False in
+	  MouseDraw method because it prevents all screen refreshes after a
+	  MouseDraw action. If it needs to be set to False for digitizing,
+	  this should be done elsewhere.
+
+2009-11-18 13:25  neteler
+
+	* locale/po/grasswxpy_pt.po: Antonio Rocha: new
+
+2009-11-17 20:49  mmetz
+
+	* raster/r.cost/heap.c, raster/r.cost/main.c: code cleaned up,
+	  condensed, module faster
+
+2009-11-16 22:00  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'd
+
+2009-11-15 14:12  neteler
+
+	* display/displaydrivers.html: docs
+
+2009-11-15 14:11  neteler
+
+	* INSTALL, README, SUBMITTING, doc/infrastructure.txt,
+	  lib/init/grass7.html: url of GRASS programmer's manual updated
+
+2009-11-15 13:48  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_th.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_id.po, locale/po/grasswxpy_it.po,
+	  locale/po/grasswxpy_ja.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_tr.po,
+	  locale/po/grasswxpy_vi.po: Jan Trochta <j trochta gmail com>: all
+	  po files updated from pot template
+
+2009-11-15 06:49  neteler
+
+	* gui/wxpython/gis_set.py: fixed locale switch for startup screen
+
+2009-11-14 18:31  glynn
+
+	* aclocal.m4, configure, configure.in,
+	  include/Make/Platform.make.in: Re-write SC_CONFIG_CFLAGS to use
+	  $host
+
+2009-11-14 11:48  mmetz
+
+	* raster/r.cost/main.c: sorry, wrong message format
+
+2009-11-14 11:47  mmetz
+
+	* raster/r.cost/main.c: further optimization and verbose info
+
+2009-11-14 11:22  mmetz
+
+	* raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/do_stream.c,
+	  raster/r.watershed/seg/find_pour.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c,
+	  raster/r.watershed/seg/over_cells.c,
+	  raster/r.watershed/seg/split_str.c: fix for interactive mode
+
+2009-11-14 11:19  mmetz
+
+	* raster/r.watershed/seg/do_astar.c: fix for ticket #807
+
+2009-11-14 11:08  mmetz
+
+	* raster/r.watershed/ram/def_basin.c,
+	  raster/r.watershed/ram/find_pour.c,
+	  raster/r.watershed/ram/no_stream.c,
+	  raster/r.watershed/ram/over_cells.c,
+	  raster/r.watershed/ram/split_str.c: fix for interactive mode
+
+2009-11-14 11:07  mmetz
+
+	* raster/r.watershed/ram/do_astar.c: fix for ticket #807
+
+2009-11-13 10:46  neteler
+
+	* vector/v.extrude/main.c: forward port of r39688
+
+2009-11-13 10:45  neteler
+
+	* vector/v.transform/main.c: forward port of r39691
+
+2009-11-12 23:05  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix trac #808
+	  (merge r39713 from devbr6)
+
+2009-11-12 22:04  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: Fix problem where using key
+	  combination for copy closes map display. Ctrl-C, Ctrl-X, and
+	  Ctrl-V need to be reserved for copy, cut, and paste. Backport
+	  from develbranch_6 r39710.
+
+2009-11-12 22:03  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: Fix mouse dragging
+	  bug. Backport from develbranch_6 r39709.
+
+2009-11-12 16:43  glynn
+
+	* Makefile, demolocation/Makefile, demolocation/grassrc.tmpl,
+	  grassrc.tmpl, include/Make/Rules.make: Build demolocation using
+	  $(MKDIR) and $(INSTALL) instead of "tar"
+	  Remove "builddemolocation" target; just make demolocation
+	  directory
+
+2009-11-12 16:39  glynn
+
+	* man/Makefile: Fix bug in r39667 (endif->endef)
+
+2009-11-12 16:38  glynn
+
+	* lib/Makefile: Fix bug in r39655
+
+2009-11-12 12:22  martinl
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: fix gettext warning
+
+2009-11-11 13:57  neteler
+
+	* include/iostream/ami_sort_impl.h: Fix from Glynn/Moritz applied
+	  (trac #775)
+
+2009-11-05 16:02  mmetz
+
+	* raster/r.cost/btree.c, raster/r.cost/cost.h,
+	  raster/r.cost/heap.c, raster/r.cost/local_proto.h,
+	  raster/r.cost/main.c, raster/r.cost/memory.c,
+	  raster/r.cost/memory.h, raster/r.cost/stash.h: faster, less
+	  memory
+
+2009-11-04 19:08  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: auto-rendering
+	  enabled by default
+	  (merge r39680 from devbr6)
+
+2009-11-04 09:54  neteler
+
+	* raster/r.sun/r.sun.html: link r.horizon
+
+2009-11-03 12:10  martinl
+
+	* gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: quit
+	  wxGUI/GRASS
+	  (merge r39672 from devbr6)
+
+2009-11-02 21:11  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: multi-import dialog: add
+	  some options (-o/--o), see trac #799
+
+2009-11-02 10:23  glynn
+
+	* man/Makefile: Re-factoring
+
+2009-11-02 08:21  mmetz
+
+	* lib/vector/Vlib/open.c: disable unused feature
+
+2009-11-02 03:12  glynn
+
+	* tools/build_html_index.sh: Remove redundant
+	  tools/build_html_index.sh script
+
+2009-11-02 01:35  glynn
+
+	* gem/Makefile, include/Make/Dir.make, include/Make/Html.make,
+	  man/Makefile, man/build_check.py, man/build_class.py,
+	  man/build_full_index.py, man/build_html.py, man/build_index.py,
+	  man/grass_icon.png, man/grass_logo.png, man/grassdocs.css,
+	  man/grasslogo_vector.eps, man/grasslogo_vector.pdf,
+	  tools/grass_icon.png, tools/grass_logo.png, tools/grassdocs.css,
+	  tools/grasslogo_vector.eps, tools/grasslogo_vector.pdf: Convert
+	  tools/build_html_index.sh to Python, split into multiple scripts
+	  Add dependency information for HTML indices
+	  Add dependency information for linked images, CSS, etc
+
+2009-11-01 22:08  cnielsen
+
+	* mswindows/README.html: Ticket #786:Instructions to update NSIS to
+	  be compatible with Windows 7 (Merge from releasebranch_6_4,
+	  r39661
+
+2009-10-31 20:07  glynn
+
+	* general/g.mapsets/Makefile, general/manage/lister/Makefile,
+	  gui/icons/Makefile, gui/images/Makefile, gui/scripts/Makefile,
+	  gui/wxpython/Makefile, gui/wxpython/scripts/Makefile,
+	  include/Make/Compile.make, lib/Makefile,
+	  lib/external/bwidget/Makefile, lib/form/Makefile,
+	  lib/gis/Makefile, lib/gtcltk/Makefile, lib/proj/Makefile,
+	  lib/python/Makefile, lib/symbol/Makefile,
+	  lib/vector/dglib/Makefile, lib/vector/rtree/Makefile,
+	  ps/ps.map/Makefile, raster/r.li/r.li.setup/Makefile,
+	  scripts/d.polar/Makefile, scripts/db.test/Makefile,
+	  scripts/r.in.wms/Makefile, swig/python/Makefile,
+	  visualization/nviz/Makefile, visualization/nviz/html/Makefile:
+	  Treat destination directories as targets
+
+2009-10-31 20:05  glynn
+
+	* gui/wxpython/docs/wxGUI.html: Fix broken HTML
+
+2009-10-30 13:25  mmetz
+
+	* lib/segment/address.c, lib/segment/pagein.c, lib/segment/put.c,
+	  lib/segment/rbtree.c, lib/segment/release.c, lib/segment/seek.c,
+	  lib/segment/setup.c: format and clean up code
+
+2009-10-29 10:35  epatton
+
+	* raster/r.neighbors/r.neighbors.html: Removed incorrect hint about
+	  using weights with method=sum
+
+2009-10-28 23:28  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2009-10-28 10:10  neteler
+
+	* scripts/v.colors/v.colors.py: typo
+
+2009-10-28 09:27  neteler
+
+	* scripts/v.colors/v.colors.py: needs to be manually synced (from
+	  r.colors)
+
+2009-10-28 05:56  neteler
+
+	* locale/po/grasslibs_pl.po, locale/po/grasswxpy_pl.po: Milena
+	  Nowotarska: cont'ed
+
+2009-10-26 22:10  martinl
+
+	* gui/wxpython/vdigit/pseudodc.i: add DrawLinePoint to pseudodc.i
+	  (merge r39625)
+
+2009-10-25 15:27  martinl
+
+	* configure, configure.in, general/g.version/Makefile,
+	  general/g.version/main.c, include/Make/Platform.make.in,
+	  lib/init/Makefile: report svn revision (using svnversion) - works
+	  only for local
+	  repository copies
+
+2009-10-23 14:51  martinl
+
+	* vector/v.extract/main.c: v.extract: use Vect_get_field_number()
+
+2009-10-23 14:48  martinl
+
+	* include/vector.h, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/read.c: vlib: Vect_get_field_number() added
+
+2009-10-23 14:40  martinl
+
+	* db/drivers/ogr/describe.c, db/drivers/ogr/select.c: db ogr
+	  driver: fix reporting fid id
+
+2009-10-23 13:41  martinl
+
+	* db/drivers/ogr/fetch.c: db ogr driver: report also fid value (if
+	  defined)
+
+2009-10-23 12:22  martinl
+
+	* include/Make: update svn:ignore props
+
+2009-10-23 10:17  martinl
+
+	* db/drivers/ogr/cursor.c, db/drivers/ogr/db.c,
+	  db/drivers/ogr/describe.c, db/drivers/ogr/driver.c,
+	  db/drivers/ogr/error.c, db/drivers/ogr/fetch.c,
+	  db/drivers/ogr/globals.h, db/drivers/ogr/listtab.c,
+	  db/drivers/ogr/main.c, db/drivers/ogr/proto.h,
+	  db/drivers/ogr/select.c: db ogr driver: initial doxygen strings
+	  added
+
+2009-10-22 21:12  neteler
+
+	* lib/grasslib.dox: no need to advertise me
+
+2009-10-22 21:02  martinl
+
+	* lib/db/dbmi_base/token.c: doxygen strings for token.c
+
+2009-10-22 20:14  martinl
+
+	* lib/vector/Vlib/open.c, lib/vector/Vlib/read.c,
+	  vector/v.db.select/main.c, vector/v.extract/main.c: v.extract:
+	  initial step for direct OGR read access
+	  vlib: fix read_line
+	  message cosmetics
+
+2009-10-22 20:13  martinl
+
+	* Makefile: update Makefile
+
+2009-10-22 20:12  martinl
+
+	* configure, configure.in, include/Make/Doxyfile_arch_html,
+	  include/Make/Doxyfile_arch_html.in,
+	  include/Make/Doxyfile_arch_latex,
+	  include/Make/Doxyfile_arch_latex.in: doxygen: be more precise
+	  about version (taken from Platform)
+	  enable search engine
+
+2009-10-22 18:11  martinl
+
+	* db/drivers/ogr/describe.c: ogrdriver: include fidcol if defined
+
+2009-10-21 19:30  neteler
+
+	* REQUIREMENTS.html: +make version minimum if GNU make
+
+2009-10-21 15:53  mmetz
+
+	* raster/r.watershed/seg/do_stream.c: more accurate stream
+	  extraction
+
+2009-10-21 15:51  mmetz
+
+	* raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg.h,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_astar.h,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/find_pour.c,
+	  raster/r.watershed/seg/flag.h,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c,
+	  raster/r.watershed/seg/sg_factor.c: improved segmented mode
+
+2009-10-21 15:49  mmetz
+
+	* lib/segment/address.c, lib/segment/flush.c, lib/segment/format.c,
+	  lib/segment/get.c, lib/segment/get_row.c, lib/segment/init.c,
+	  lib/segment/pagein.c, lib/segment/pageout.c, lib/segment/put.c,
+	  lib/segment/put_row.c, lib/segment/rbtree.c,
+	  lib/segment/rbtree.h, lib/segment/release.c, lib/segment/seek.c,
+	  lib/segment/segmentlib.dox, lib/segment/setup.c: faster segment
+	  library
+
+2009-10-21 15:48  mmetz
+
+	* include/segment.h: updated header for segment library
+
+2009-10-20 10:56  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: complete names also for
+	  rgb a his layers
+	  (merge from r39597 from devbr6)
+
+2009-10-20 10:45  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fix show comp.
+	  region
+	  (merge from r39595 devbr6)
+
+2009-10-20 07:50  mmetz
+
+	* db/drivers/dbf/Makefile: dbf driver must not link to GDAL, fix
+	  for #792
+
+2009-10-20 04:52  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39591 . Make zone entry a spinctrl and change
+	  boolean reply to Yes/No
+
+2009-10-19 23:27  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py: wxGUI/dbm: fix extract
+	  selected features
+	  (merge r39588 from devbr6)
+
+2009-10-19 22:40  martinl
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgui.py:
+	  wxGUI/dbm: fix encoding strings
+	  (merge r39586 from devbr6)
+
+2009-10-19 21:31  martinl
+
+	* lib/vector/vectorlib.dox: vlib doxygen docs: note sfa fns +
+	  update authors
+
+2009-10-19 17:37  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Legitimate
+	  capitalized datums are accepted. Transformation list begins with
+	  #1.
+
+2009-10-19 10:05  martinl
+
+	* imagery/i.pca/main.c: i.pca: be more verbose on std level
+	  (merge r39581 from devbr6)
+
+2009-10-19 08:55  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: --o adds OVERWRITE=YES to
+	  lcos
+
+2009-10-19 08:44  martinl
+
+	* vector/v.out.ogr/attrb.c, vector/v.out.ogr/main.c: v.out.ogr:
+	  don't write attributes twice (bugfix)
+	  fix intendation
+
+2009-10-19 07:49  martinl
+
+	* vector/v.build/main.c: v.build: open vector map in update
+
+2009-10-19 07:38  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39576. Fixed missing datum (and missing ellipse)
+	  problem.
+
+2009-10-19 06:46  martinl
+
+	* lib/db/dbmi_client/c_opendb.c, lib/vector/Vlib/open_ogr.c:
+	  cosmetics
+
+2009-10-19 04:00  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39568. Interface enhancements to location wizard.
+
+2009-10-19 03:59  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39554. Major enhancement and fix. All projection
+	  parameters now selectable by user. Summary page shows g.proj
+	  output (i.e., what will show up in GRASS). State Plane projection
+	  will bring up a warning box instructing user to use EPSG or
+	  custom PROJ4 string. Fixed a number of minor and a few major
+	  bugs.
+
+2009-10-19 03:56  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39492. Additional fixes/enhancements to datum
+	  transforms interface and use in projection creation.
+
+2009-10-19 03:55  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39480. Fix datum transforms and enhance searches .
+
+2009-10-19 03:44  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py: Backport from develbranch_6
+	  r39476. Fixing bugs in raster and vector georectification.
+
+2009-10-19 03:43  cmbarton
+
+	* gui/wxpython/gui_modules/gcmd.py: Backport from r39475 in
+	  develbranch_6. Enhanced RunCommand to return returncode, stdout,
+	  and stderr.
+
+2009-10-18 18:29  martinl
+
+	* lib/db/dbmi_base/dbmscap.c: dbmscap.c: initial doxygen strings
+
+2009-10-18 18:03  martinl
+
+	* lib/db/dbmi_base/cursor.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_client/db.c: dbmi: initial doxygen strings for
+	  handle.c + typos
+
+2009-10-18 15:59  mmetz
+
+	* vector/vectorintro.html: vector intro updated for trunk
+
+2009-10-18 15:59  mmetz
+
+	* lib/vector/vectorlib.dox: vector lib documentation updated for
+	  trunk
+
+2009-10-18 13:30  martinl
+
+	* db/drivers/ogr/describe.c: more debug info for ogr driver
+
+2009-10-18 11:47  martinl
+
+	* lib/db/dbmi_base/column.c: column.c: initial doxygen strings
+
+2009-10-18 09:30  martinl
+
+	* vector/v.db.select/main.c: v.db.select: initial OGR support
+
+2009-10-18 09:13  martinl
+
+	* lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/open.c: vlib: switch to level1 if topology is not
+	  built for OGR layer
+	  * use table name for layer name if not defined
+
+2009-10-17 20:14  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: fix to export areas
+
+2009-10-17 17:32  martinl
+
+	* vector/v.db.connect/main.c: v.db.connect: initial direct OGR read
+	  access support
+
+2009-10-17 17:29  martinl
+
+	* lib/db/dbmi_client/c_openselect.c, lib/db/dbmi_client/select.c:
+	  cosmetics in dbmi (client)
+
+2009-10-17 16:49  martinl
+
+	* vector/v.info/print.c: v.info: print columns for OGR
+	  use %d for plus_t (suppress compiler warnings)
+
+2009-10-17 16:34  martinl
+
+	* vector/v.info/print.c: GV_FORMAT_OGR*
+
+2009-10-17 16:31  martinl
+
+	* general/g.ppmtopng: add missing svn prop
+
+2009-10-17 16:31  martinl
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/rewind.c: support
+	  GV_FORMAT_OGR_DIRECT
+
+2009-10-17 15:30  martinl
+
+	* include/vect/dig_defines.h, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/open.c: GV_FORMAT_OGR_DIRECT added
+
+2009-10-17 14:54  mmetz
+
+	* lib/vector/Vlib/close.c: always close sidx file if exists
+
+2009-10-17 12:22  martinl
+
+	* lib/db/dbmi_base/cursor.c: doxygen docs for cursor.c
+
+2009-10-17 11:15  mmetz
+
+	* raster/r.watershed/front/main.c: fix for ticket #783 (backport
+	  from r39541)
+
+2009-10-17 11:02  martinl
+
+	* lib/vector/Vlib/field.c: fix bug in Vect_get_field_by_name()
+
+2009-10-17 10:31  martinl
+
+	* lib/vector/Vlib/field.c: * Vect_get_field2() - try to find layer
+	  by number then by name
+	  * Vect_read_dblinks() - tunning for OGR
+
+2009-10-17 10:22  martinl
+
+	* vector/v.db.connect/main.c: v.db.connect: initial support for OGR
+	  (-p/-g)
+
+2009-10-17 10:10  martinl
+
+	* lib/vector/Vlib/open.c: don't build topology for OGR layer on
+	  requested level 1
+
+2009-10-17 08:35  martinl
+
+	* vector/v.info/main.c: v.info: close vector map if
+	  Vect_open_old_head2() opens map on level < 2
+
+2009-10-16 21:15  martinl
+
+	* include/vector.h, lib/gis/find_file.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/open.c: * direct OGR
+	  read access: switch to level 2 when pseudo-topology is
+	  built successfully
+	  * Vect_get_field2() added
+
+2009-10-16 18:56  martinl
+
+	* include/vector.h, lib/vector/Vlib/header.c,
+	  vector/v.info/print.c: * print more useful info about OGR layers
+	  in v.info
+	  * Vect_get_ogr_format_info(), Vect_get_ogr_dns_name() and
+	  Vect_get_ogr_layer_name() added
+
+2009-10-16 18:08  martinl
+
+	* lib/vector/Vlib/open.c: build pseudo-topology for vector map from
+	  virtual mapset 'OGR'
+	  (direct OGR read access)
+
+2009-10-16 16:31  glynn
+
+	* general/Makefile, general/g.ppmtopng,
+	  general/g.ppmtopng/Makefile, general/g.ppmtopng/g.ppmtopng.html,
+	  general/g.ppmtopng/main.c, raster/r.colors/Makefile,
+	  raster/r.colors/thumbnails.py: Add, use g.ppmtopng utility
+	  Error creating r.colors' thumbnails shouldn't be fatal
+
+2009-10-16 15:19  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: respect '--overwrite'
+
+2009-10-16 15:09  martinl
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/main.c: v.out.ogr:
+	  default feature type 'auto'
+
+2009-10-16 09:40  martinl
+
+	* include/vector.h, lib/vector/Vlib/open.c,
+	  lib/vector/vectorlib.dox: vlib: Vect_maptype() added
+
+2009-10-14 21:31  martinl
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/create.c,
+	  vector/v.out.ogr/local_proto.h, vector/v.out.ogr/main.c:
+	  v.out.ogr: flag to create empty OGR layer added
+
+2009-10-14 17:49  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: VectorDBInfo is defined
+	  in 'dbm_base' module
+	  (merge r39523 from devbr6)
+
+2009-10-14 02:12  hamish
+
+	* general/g.setproj/proj-parms.table, lib/gis/projections: enable
+	  Geostationary Satellite View (merge from devbr6)
+
+2009-10-14 01:03  hamish
+
+	* general/g.setproj/proj-parms.table: fix proj=geos description
+	  (merge from devbr6)
+
+2009-10-14 01:02  hamish
+
+	* raster/r.watershed/front/main.c: all tricks fail on wingrass
+	  (trac #783; merge from devbr6)
+
+2009-10-13 17:15  martinl
+
+	* lib/db/dbmi_client/select.c: zero dbValue before copying values
+	  (merge r39510 from relbr64)
+
+2009-10-13 13:44  martinl
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix CmdToTuple()
+	  (merge r39507 & r39508 from devbr6)
+
+2009-10-13 10:59  mmetz
+
+	* lib/raster/color_rule.c: use address the pointer is pointing to
+	  not address of the pointer itself
+
+2009-10-13 10:56  martinl
+
+	* gui/wxpython/gui_modules/utils.py, gui/wxpython/xml/menudata.xml:
+	  wxGUI: fix GetCmdString() (dictionary instead of tuple)
+	  (merge r39502 from devbr6)
+
+2009-10-13 07:48  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: fix
+	  GetLayerNameFromCmd()
+	  (merge r39500 from devbr6)
+
+2009-10-13 07:11  neteler
+
+	* vector/lidar/v.lidar.growing/main.c: work around
+	  G_name_is_fully_qualified() bug
+
+2009-10-12 19:49  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: fail gracefully if
+	  wxversion module is missing
+
+2009-10-12 18:46  martinl
+
+	* scripts/db.dropcolumn/db.dropcolumn.py: db_describes requires
+	  'table' paramater
+
+2009-10-12 02:00  hamish
+
+	* raster/r.watershed/front/main.c: hack to make sure string doesn't
+	  end with " (merge from devbr6)
+
+2009-10-12 02:00  hamish
+
+	* general/g.setproj/proj-parms.table: need utm zone before we can
+	  negate it (trac #773; merge from trunk)
+
+2009-10-11 11:36  martinl
+
+	* vector/v.out.ogr/args.c, vector/v.out.ogr/attrb.c,
+	  vector/v.out.ogr/list.c, vector/v.out.ogr/local_proto.h,
+	  vector/v.out.ogr/main.c: v.out.ogr: initial code reorganization
+
+2009-10-11 09:58  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr cosmetics in usage desc
+
+2009-10-11 07:23  martinl
+
+	* vector/v.external/args.c: v.external cosmetics in usage - include
+	  PostGIS example
+
+2009-10-11 07:18  martinl
+
+	* vector/v.external/args.c, vector/v.external/local_proto.h,
+	  vector/v.external/main.c: v.external: parse arguments in
+	  parse_args()
+
+2009-10-10 20:51  martinl
+
+	* include/vector.h: V1_write_line_ogr enabled
+
+2009-10-10 20:48  martinl
+
+	* lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_ogr.c: vlib: very
+	  initial OGR write support (level 1 only, taken from
+	  v.out.ogr)
+
+2009-10-10 16:34  martinl
+
+	* vector/v.generalize/v.generalize.html: v.generalize's manual
+	  cosmetics & tutotial url updated
+	  (merge r39470 from relbr64)
+
+2009-10-10 16:16  neteler
+
+	* swig/python/examples/rasteraccess.py: updated to 7 but still
+	  failing
+
+2009-10-10 16:11  neteler
+
+	* lib/grasslib.dox: online broken links aren't good
+
+2009-10-10 10:10  hamish
+
+	* gui/wxpython/gui_modules/location_wizard.py: fix for UTM south
+	  (merge from devbr6)
+
+2009-10-10 09:29  hamish
+
+	* general/g.setproj/proj-desc.table: prompt cosmetics (merge from
+	  devbr6)
+
+2009-10-10 06:43  hamish
+
+	* db/db.execute/main.c, display/d.barscale/main.c,
+	  display/d.colors/main.c, display/d.graph/main.c,
+	  display/d.histogram/main.c, display/d.labels/main.c,
+	  display/d.linegraph/main.c, display/d.measure/main.c,
+	  display/d.rgb/main.c, display/d.what.vect/main.c,
+	  display/d.where/main.c, display/d.zoom/main.c,
+	  general/g.access/main.c, general/g.filename/main.c,
+	  general/g.gisenv/main.c, general/g.mapsets/main.c,
+	  general/g.message/main.c, general/g.parser/main.c,
+	  imagery/i.class/main.c, imagery/i.group/main.c,
+	  imagery/i.points/main.c, imagery/i.rectify/main.c,
+	  imagery/i.vpoints/main.c, lib/db/README, lib/db/sqlp/sql.c,
+	  lib/display/symbol.c, lib/init/grass.py, lib/init/init.sh,
+	  lib/manage/README, raster/r.in.ascii/main.c, raster/r.los/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.vrml/main.c, raster/r.patch/main.c,
+	  raster/r.reclass/main.c, raster/r.recode/main.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.sunmask/main.c, raster/r.surf.contour/main.c,
+	  raster/r.thin/main.c, raster/r.timestamp/main.c,
+	  raster/r.volume/main.c, raster/r.what.color/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/v.overlay/main.c, vector/v.proj/main.c,
+	  vector/v.to.rast/main.c, visualization/nviz/src/README: update
+	  email addr
+
+2009-10-10 06:40  martinl
+
+	* vector/v.db.connect/main.c: zero debug level to one
+
+2009-10-10 06:32  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: wording & cosmetics
+
+2009-10-10 06:25  hamish
+
+	* scripts/m.proj/m.proj.py, scripts/v.out.gps/v.out.gps.py: fix
+	  v.out.gps, m.proj default is to read from stdin
+
+2009-10-10 06:21  hamish
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/shed/com_line.c: quote G_gisbase() for
+	  system() (merge from r38436), typo
+
+2009-10-09 11:13  martinl
+
+	* locale/po/grassmods_cs.po: fix czech localization (v.in.ascii)
+	  (merge r39453 from relbr64)
+
+2009-10-08 23:30  hamish
+
+	* lib/db/dbmi_base/dbmscap.c, lib/db/dbmi_client/start.c: use
+	  G_convert_dirseps_to_host(), dbg msg cosmetics (trac #629)
+
+2009-10-08 12:41  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fix
+	  zoomtomap/vdigit
+
+2009-10-08 12:06  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI/vdigit: refresh
+	  map canvas
+	  (merge r39444 from devbr6)
+
+2009-10-08 11:57  glynn
+
+	* gui/wxpython/Makefile, gui/wxpython/nviz/Makefile,
+	  gui/wxpython/vdigit/Makefile, include/Make/Platform.make.in,
+	  include/Make/Python.make, swig/python/Makefile,
+	  swig/python/NumPtr/Makefile: Use $(PYTHON) instead of hard-coded
+	  "python"
+
+2009-10-08 10:35  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fix pseudodc
+
+2009-10-08 02:31  glynn
+
+	* gui/wxpython/Makefile: Build .pyc files
+
+2009-10-08 02:31  glynn
+
+	* lib/gis/parser.c: Python 2.6 tries to execute argv[0]
+
+2009-10-08 02:30  glynn
+
+	* lib/gpde/N_les.c: Include standard headers before GRASS headers
+
+2009-10-07 18:37  martinl
+
+	* gui/wxpython/gui_modules/help.py, gui/wxpython/wxgui.py: wxGUI:
+	  AboutWindow moved to 'help' module
+
+2009-10-07 18:11  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: subclass aboutwindow
+
+2009-10-06 21:45  martinl
+
+	* scripts/v.out.gps/v.out.gps.py: v.out.gps: import re
+
+2009-10-06 05:52  marisn
+
+	* visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/panel_vquery.tcl,
+	  visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/site_attr_commands.c,
+	  visualization/nviz/src/site_highlight_commands.c: Ugly hack to
+	  fix nviz compilation as requested by bug #772 and other
+	  developers. Leaving some site_attr code for probable reuse.
+
+2009-10-05 22:02  neteler
+
+	* lib/vector/Vlib/buffer2.c, lib/vector/Vlib/dgraph.c: added
+	  missing headers
+
+2009-10-05 21:48  neteler
+
+	* lib/vector/Vlib/field.c: avoid compilation error if OGR absent
+
+2009-10-05 21:22  martinl
+
+	* gui/wxpython/wxgui.py, gui/wxpython/xml/menudata.xml: fix
+	  rulescmd (menu tree item)
+	  (merge r39413 from devbr6)
+
+2009-10-05 21:19  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: some shlex fixes
+	  (merge r39412 from devbr6)
+
+2009-10-05 09:26  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py: avoid crashing wxGUI when
+	  vdigit start-up fails
+	  (merge from devbr6 r39408)
+
+2009-10-05 07:58  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py: use vdigit's PseudoDC only
+	  during digitize session
+
+2009-10-05 07:38  hamish
+
+	* imagery/i.rgb.his/main.c: minor clean
+
+2009-10-05 07:34  hamish
+
+	* imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/his2rgb.c:
+	  metadata and cleanup (merge from devbr6)
+
+2009-10-05 06:36  hamish
+
+	* imagery/i.rgb.his/closefiles.c: write metadata (merge from
+	  devbr6)
+
+2009-10-05 02:13  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: work with >8bit data,
+	  e.g. quickbird (merge from devbr6)
+
+2009-10-04 14:46  martinl
+
+	* include/vector.h, lib/vector/Vlib/simple_features.c: fix
+	  prototype names (SFA)
+
+2009-10-04 14:36  martinl
+
+	* include/vector.h, lib/vector/Vlib/ascii.c,
+	  lib/vector/Vlib/simple_features.c: Simple Features API:
+	  Vect_sfa_write_line_wkt() -> Vect_sfa_line_astext()
+	  * various minor changes
+
+2009-10-03 22:19  huhabla
+
+	* include/Make/Grass.make: Added missing dependency for gpde
+	  library
+
+2009-10-03 20:41  martinl
+
+	* lib/external/ccmath: fix svn props
+
+2009-10-03 20:06  martinl
+
+	* lib/gpde/Makefile: define EXTRA_LIBS
+
+2009-10-03 19:05  huhabla
+
+	* ., imagery/i.cca/local_proto.h, imagery/i.cca/main.c,
+	  imagery/i.cca/matrix.c, imagery/i.cca/stats.c,
+	  imagery/i.cca/transform.c, imagery/i.pca/main.c,
+	  imagery/i.smap/model.c, include/Make, include/Make/Grass.make,
+	  include/gmath.h, lib/Makefile, lib/external/Makefile,
+	  lib/external/ccmath, lib/external/ccmath/C01-matrix,
+	  lib/external/ccmath/Makefile, lib/external/ccmath/README,
+	  lib/external/ccmath/atou1.c, lib/external/ccmath/atovm.c,
+	  lib/external/ccmath/ccmath.h, lib/external/ccmath/chouse.c,
+	  lib/external/ccmath/chousv.c, lib/external/ccmath/cmattr.c,
+	  lib/external/ccmath/cmcpy.c, lib/external/ccmath/cminv.c,
+	  lib/external/ccmath/cmmul.c, lib/external/ccmath/cmmult.c,
+	  lib/external/ccmath/cmprt.c, lib/external/ccmath/csolv.c,
+	  lib/external/ccmath/cvmul.c, lib/external/ccmath/eigen.c,
+	  lib/external/ccmath/eigval.c, lib/external/ccmath/evmax.c,
+	  lib/external/ccmath/hconj.c, lib/external/ccmath/heigval.c,
+	  lib/external/ccmath/heigvec.c, lib/external/ccmath/hevmax.c,
+	  lib/external/ccmath/hmgen.c, lib/external/ccmath/house.c,
+	  lib/external/ccmath/housev.c, lib/external/ccmath/ldumat.c,
+	  lib/external/ccmath/ldvmat.c, lib/external/ccmath/lgpl.license,
+	  lib/external/ccmath/matprt.c, lib/external/ccmath/mattr.c,
+	  lib/external/ccmath/mcopy.c, lib/external/ccmath/minv.c,
+	  lib/external/ccmath/mmul.c, lib/external/ccmath/ortho.c,
+	  lib/external/ccmath/otrma.c, lib/external/ccmath/otrsm.c,
+	  lib/external/ccmath/psinv.c, lib/external/ccmath/qrbdi.c,
+	  lib/external/ccmath/qrbdu1.c, lib/external/ccmath/qrbdv.c,
+	  lib/external/ccmath/qrecvc.c, lib/external/ccmath/qreval.c,
+	  lib/external/ccmath/qrevec.c, lib/external/ccmath/rmmult.c,
+	  lib/external/ccmath/ruinv.c, lib/external/ccmath/smgen.c,
+	  lib/external/ccmath/solv.c, lib/external/ccmath/solv.s,
+	  lib/external/ccmath/solvps.c, lib/external/ccmath/solvru.c,
+	  lib/external/ccmath/solvtd.c, lib/external/ccmath/sv2u1v.c,
+	  lib/external/ccmath/sv2uv.c, lib/external/ccmath/sv2val.c,
+	  lib/external/ccmath/svdu1v.c, lib/external/ccmath/svduv.c,
+	  lib/external/ccmath/svdval.c, lib/external/ccmath/trncm.c,
+	  lib/external/ccmath/trnm.c, lib/external/ccmath/unfl.c,
+	  lib/external/ccmath/unitary.c, lib/external/ccmath/utrncm.c,
+	  lib/external/ccmath/utrnhm.c, lib/external/ccmath/vmul.c,
+	  lib/gmath/ATLAS_wrapper_blas_level_1.c, lib/gmath/TODO,
+	  lib/gmath/blas_level_1.c, lib/gmath/blas_level_2.c,
+	  lib/gmath/blas_level_3.c, lib/gmath/ccmath_grass_wrapper.c,
+	  lib/gmath/del2g.c, lib/gmath/eigen.c, lib/gmath/eigen_tools.c,
+	  lib/gmath/jacobi.c, lib/gmath/la.c, lib/gmath/mult.c,
+	  lib/gmath/solvers_classic_iter.c, lib/gmath/solvers_direct.c,
+	  lib/gmath/solvers_krylov.c, lib/gmath/sparse_matrix.c,
+	  lib/gmath/svd.c, lib/gmath/test, lib/gmath/test/Makefile,
+	  lib/gmath/test/bench_blas2.c, lib/gmath/test/bench_blas3.c,
+	  lib/gmath/test/bench_solver_direct.c,
+	  lib/gmath/test/bench_solver_krylov.c,
+	  lib/gmath/test/test.gmath.lib.html, lib/gmath/test/test_blas1.c,
+	  lib/gmath/test/test_blas2.c, lib/gmath/test/test_blas3.c,
+	  lib/gmath/test/test_ccmath_wrapper.c,
+	  lib/gmath/test/test_gmath_lib.h, lib/gmath/test/test_main.c,
+	  lib/gmath/test/test_solvers.c, lib/gmath/test/test_tools.c,
+	  lib/gmath/test/test_tools_les.c, lib/gpde/N_arrays.c,
+	  lib/gpde/N_gradient_calc.c, lib/gpde/N_heatflow.h,
+	  lib/gpde/N_les.c, lib/gpde/N_les_assemble.c,
+	  lib/gpde/N_les_pivot.c, lib/gpde/N_parse_options.c,
+	  lib/gpde/N_pde.h, lib/gpde/N_solvers.c,
+	  lib/gpde/N_solvers_classic_iter.c, lib/gpde/N_solvers_krylov.c,
+	  lib/gpde/solvers_local_proto.h, lib/gpde/test/Makefile,
+	  lib/gpde/test/test_arrays.c, lib/gpde/test/test_assemble.c,
+	  lib/gpde/test/test_geom.c, lib/gpde/test/test_gpde_lib.h,
+	  lib/gpde/test/test_gradient.c, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_les.c, lib/gpde/test/test_main.c,
+	  lib/gpde/test/test_solute_transport.c,
+	  lib/gpde/test/test_solvers.c, lib/gpde/test/test_tools.c,
+	  lib/vector/Vlib, raster/r.gwflow/Makefile,
+	  raster/r.gwflow/main.c, raster/r.gwflow/valid_calc_7x7.sh,
+	  raster/r.gwflow/valid_calc_excavation.sh,
+	  raster3d/r3.gwflow/Makefile, raster3d/r3.gwflow/main.c: Added a
+	  new library to grass called ccmath (LGPL license) to replace the
+	  NR algorithms of the gmath library.
+	  Moved the linear equation solver code from gpde lib to gmath lib.
+	  Added blas level 1, 2 and 3 algorithm in gmath lib.
+	  Modified the gmath solver to use the grass blas implementation.
+	  Added wrapper for ATLAS blas level 1 algorithms.
+	  Updated the gpde library tests.
+	  Added gmath library tests for the numerical part and ccmath
+	  wrapper.
+	  Modified the groundwater flow modules (raster, raster3d)to use
+	  the gmath
+	  solver.
+	  Patched i.cca, i.pca and i.smap to use gmath vecotr and matrix
+	  functions
+	  and the ccmath wrapper for eigen value computation.
+	  Removed NR svd and eigen value code.
+
+2009-10-03 06:36  martinl
+
+	* lib/gis/gislib.dox: gisprompt docs updated based on Glynn's notes
+	  in ML
+
+2009-10-03 05:29  cmbarton
+
+	* gui/wxpython/wxgui.py: Make all of About GRASS text readable.
+	  Backported from develbranch_6 r39300.
+
+2009-10-03 04:27  hamish
+
+	* lib/imagery/group.c, lib/imagery/ls_groups.c,
+	  lib/imagery/points.c, lib/imagery/title.c: use G_getl2(), i18n
+	  (merge from devbr6)
+
+2009-10-02 20:56  martinl
+
+	* include/vector.h, lib/vector/Vlib/ascii.c,
+	  lib/vector/Vlib/simple_features.c: Simple Features API:
+	  Vect_sfa_is_line_closed() added
+
+2009-10-02 19:27  martinl
+
+	* include/vect/dig_defines.h, lib/vector/Vlib/ascii.c,
+	  lib/vector/Vlib/simple_features.c, vector/v.out.ascii/main.c:
+	  simple features API: initial support for Polygon added
+
+2009-10-02 15:48  martinl
+
+	* include/vect/dig_defines.h, include/vector.h,
+	  lib/vector/Vlib/ascii.c, lib/vector/Vlib/simple_features.c,
+	  vector/v.in.ascii/main.c, vector/v.out.ascii/args.c,
+	  vector/v.out.ascii/main.c: very initial simple features API
+	  implemented (in progress)
+	  * v.out.ascii format=wkt
+	  * currently only points, lines supported
+
+2009-10-02 12:04  martinl
+
+	* vector/v.out.ascii/args.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/main.c: v.out.ascii parse arguments in
+	  parse_args()
+
+2009-10-02 08:40  martinl
+
+	* lib/vector/vectorlib.dox: update doxygen docs - add ref to ascii
+	  fns
+
+2009-10-02 08:21  martinl
+
+	* lib/vector/Vlib/ascii.c, vector/v.out.ascii/main.c: v.out.ascii:
+	  print warning if no features exported (points)
+
+2009-10-02 07:22  martinl
+
+	* lib/vector/Vlib/ascii.c, vector/v.edit/a2b.c,
+	  vector/v.edit/close.c, vector/v.edit/main.c,
+	  vector/v.edit/proto.h: v.edit: use Vect_read_ascii() from Vlib
+
+2009-10-01 12:48  neteler
+
+	* lib/db/dbmi_client/start.c: be more chatty about cannot _spawnl()
+	  error
+
+2009-09-30 20:32  martinl
+
+	* include/vect/dig_defines.h, include/vector.h,
+	  lib/vector/Vlib/ascii.c, lib/vector/Vlib/merge_lines.c,
+	  vector/v.in.ascii/a2b.c, vector/v.in.ascii/head.c,
+	  vector/v.in.ascii/local_proto.h, vector/v.in.ascii/main.c,
+	  vector/v.out.ascii/b2a.c, vector/v.out.ascii/head.c,
+	  vector/v.out.ascii/local_proto.h, vector/v.out.ascii/main.c: move
+	  read/write GRASS ASCII vector format functionality to Vlib
+
+2009-09-30 19:27  hamish
+
+	* gui/icons/grass.xpm: set mime-type
+
+2009-09-30 19:12  hamish
+
+	* gui/icons/grass.menu, gui/icons/grass.xpm: add X menu entry
+	  template and small icon (merge from devbr6)
+
+2009-09-30 17:47  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39311. If location created in GISDbase that is not
+	  the current one, the user is not offered the chance to set region
+	  extents (because this can't be done and would generate an error).
+
+2009-09-30 17:46  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39310. Fix problem with searching for EPSG codes.
+
+2009-09-30 17:46  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Backport from
+	  develbranch_6 r39309. Fix a variety of selections problems with
+	  projections, datums, and transforms.
+
+2009-09-30 07:21  neteler
+
+	* REQUIREMENTS.html: libtiff URL update (trac #768)
+
+2009-09-29 21:17  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/ATM: full SQL statements
+	  (merge r39343 from devbr6)
+
+2009-09-29 19:31  neteler
+
+	* imagery/i.rgb.his/i.rgb.his.html: removed link to no more
+	  existing scripts
+
+2009-09-29 18:22  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: support multi-line map
+	  names (useful for rgb, his)
+
+2009-09-29 17:43  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: zoom to rgb
+
+2009-09-29 17:28  martinl
+
+	* gui/wxpython/gui_modules/help.py: wxGUI: fix menu tree window
+
+2009-09-29 17:16  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: disable OnClick()
+
+2009-09-29 14:45  neteler
+
+	* gui/wxpython/gui_modules/location_wizard.py: added search button
+	  since users always accidentially click on "Reload EPSG Codes"
+	  button
+
+2009-09-29 08:37  marisn
+
+	* gui/wxpython/nviz/vector.cpp, include/gstypes.h, include/gsurf.h,
+	  include/ogsf_proto.h, lib/nviz/map_obj.c, lib/ogsf/GP2.c,
+	  lib/ogsf/GS2.c, lib/ogsf/GV2.c, lib/ogsf/GVL2.c, lib/ogsf/Gp3.c,
+	  lib/ogsf/Gv3.c, lib/ogsf/gp.c, lib/ogsf/gpd.c,
+	  lib/ogsf/gsd_objs.c, lib/ogsf/gv.c, lib/ogsf/gvd.c,
+	  lib/ogsf/gvl.c, lib/ogsf/gvl_calc.c,
+	  visualization/nviz2/cmd/vector.c: Move OGSF to new vector feature
+	  styling approach
+
+2009-09-29 07:28  mmetz
+
+	* raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c, raster/r.watershed/ram/ramseg.c:
+	  A* Search performance improvement
+
+2009-09-28 21:43  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: cosmetics in wxGUI dialogs
+	  (merge r39319 from devbr6)
+
+2009-09-27 15:04  kyngchaos
+
+	* macosx/Makefile: install missing files
+
+2009-09-27 07:46  cmbarton
+
+	* AUTHORS: Update
+
+2009-09-26 22:10  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py: Further fixes to profile
+	  bugs. Backported from develbranch_6 r39294
+
+2009-09-25 02:10  hamish
+
+	* lib/gis/projections: UTM: Universe Transverse Mercator ->
+	  Universal (m from devbr6)
+
+2009-09-24 19:47  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py: backport legend default size
+	  change from develbranch_6 r39277
+
+2009-09-24 19:47  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: backport profile and
+	  measurement bug fix from develbranch_6 r39258
+
+2009-09-24 19:46  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py: backport profile bug fix
+	  from develbranch_6 r39257
+
+2009-09-22 19:10  glynn
+
+	* lib/gis/spawn.c: Implement SF_BINDING for Windows
+
+2009-09-22 15:13  hamish
+
+	* general/g.gui/main.c: background the GUI (merge from devbr6)
+
+2009-09-21 21:25  martinl
+
+	* raster/r.colors/thumbnails.py: skip comments
+
+2009-09-21 17:38  cmbarton
+
+	* gui/wxpython/docs/wxGUI.html: changing author order
+
+2009-09-20 07:02  martinl
+
+	* gui/wxpython/README: icon themes already noted in manual page
+
+2009-09-20 05:03  hamish
+
+	* vector/v.in.ascii/main.c, vector/v.in.ascii/points.c: don't guess
+	  column type for missing values (patch from MarkusM, trac #198;
+	  merge from devbr6)
+
+2009-09-20 00:30  cmbarton
+
+	* gui/wxpython/docs/wxGUI.html: Updates for wxPython GUI docs.
+	  Backported from develbranch_6 r39243
+
+2009-09-20 00:25  cmbarton
+
+	* gui/wxpython/icons/icon.py: Minor changes to mouseover text.
+	  Backported from develbranch_6 r39244
+
+2009-09-19 19:11  martinl
+
+	* gui/wxpython/wxgui.py: wording (see trac #751)
+
+2009-09-19 18:36  glynn
+
+	* lib/init/grass.py: Sync to updated etc/lock behaviour
+
+2009-09-19 15:46  hamish
+
+	* lib/init/functions.sh, lib/init/lock.c: move lockfile detection
+	  to exit(2) to allow G_fatal_error() to occupy exit(1) alone (trac
+	  #755)
+
+2009-09-19 15:12  hamish
+
+	* raster/r.reclass/r.reclass.html: remove references to grass 5
+	  interactive mode; document *=*; cleanup (merge from devbr6)
+
+2009-09-18 06:25  hamish
+
+	* gui/wxpython/xml/menudata.xml: clearer menu entries for Matlab
+	  tools (merge from devbr6)
+
+2009-09-18 01:53  hamish
+
+	* tools/build_html_index.sh: fix html #color bug (merge from
+	  devbr6)
+
+2009-09-18 01:46  hamish
+
+	* tools/module_synopsis.sh: web hints (merge from devbr6)
+
+2009-09-18 01:14  hamish
+
+	* tools/module_synopsis.sh: add wxGUI to TOC; minor tweaks (merge
+	  from devbr6)
+
+2009-09-17 13:51  mmetz
+
+	* vector/v.generalize/main.c: added warnings for corrupted areas
+
+2009-09-17 06:45  mmetz
+
+	* vector/v.clean/v.clean.html: manual for tool=prune updated
+
+2009-09-15 09:13  martinl
+
+	* lib/vector/vectorlib.dox: vector feature type list updated (see
+	  trac #542)
+
+2009-09-15 09:05  martinl
+
+	* include/vect/dig_structs.h: remove x-ref to Map_info (unused)
+
+2009-09-15 07:51  neteler
+
+	* lib/gis/colors/celsius: integration of SST scale from Goddard's
+	  OceanColor for more differentiation
+
+2009-09-15 07:37  martinl
+
+	* lib/vector/vectorlib.dox: fix internal links
+
+2009-09-15 05:15  glynn
+
+	* db/drivers/ogr/Makefile: Remove Tcl/Tk compile/link flags from
+	  OGR driver
+
+2009-09-15 05:03  glynn
+
+	* raster/r.colors/thumbnails.py: Unset GRASS_RENDER_IMMEDIATE,
+	  GRASS_LINE_WIDTH, and GRASS_ANTIALIAS
+
+2009-09-14 23:31  kyngchaos
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/wxgui.py,
+	  lib/init/functions.sh, lib/init/variables.html,
+	  macosx/app/Makefile, macosx/app/grass.sh.in: use pythonw
+	  directly, instead of re-exec'ing
+	  workaround problem when 32bit python needed but 64bit runs
+	  default on OSX (from dev6 r39207)
+
+2009-09-14 17:41  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py: better direct OGR support for
+	  wxGUI dialogs
+
+2009-09-14 14:37  martinl
+
+	* vector/v.in.ogr/main.c: cosmetics in list OGR layers
+
+2009-09-14 13:45  martinl
+
+	* lib/python/grasspythonlib.dox: make links unique
+
+2009-09-14 13:04  martinl
+
+	* display/d.vect/main.c, display/d.vect/plot1.c: d.vect: print
+	  number of plotted features in verbose mode
+	  direct OGR support activated
+
+2009-09-14 12:18  martinl
+
+	* lib/vector/Vlib/open.c, lib/vector/Vlib/open_ogr.c: don't fail if
+	  OGR layer name is defined
+
+2009-09-14 11:46  martinl
+
+	* vector/v.info/main.c: v.info: switch to level1 if vector map
+	  cannot be open on level 2
+
+2009-09-14 11:45  neteler
+
+	* locale/po/grasslibs_vi.po, locale/po/grassmods_vi.po,
+	  locale/po/grasswxpy_vi.po: Bui Huu Manh: continued
+
+2009-09-14 09:09  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI dialog: remove stop
+	  button (it's already in prompt)
+	  add some key shortcuts
+
+2009-09-14 08:39  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: Direct OGR support (wxGUI
+	  dialog updated)
+
+2009-09-13 20:58  neteler
+
+	* lib/gis/colors/celsius: optimized low temp colors
+
+2009-09-13 19:18  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: cosmetics in nviz window
+	  title
+
+2009-09-13 17:46  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py: use MapsetSelect
+
+2009-09-13 16:47  martinl
+
+	* include/vector.h, lib/vector/Vlib/level_two.c: long -> plus_t
+
+2009-09-13 13:39  mmetz
+
+	* vector/v.in.ogr/main.c: write layer name to dbln
+
+2009-09-13 13:37  mmetz
+
+	* vector/v.db.connect/main.c: support layer names as input
+
+2009-09-13 12:51  mmetz
+
+	* include/vector.h, lib/vector/Vlib/field.c: Vector libs: check for
+	  duplicate layer names
+
+2009-09-13 11:00  mmetz
+
+	* lib/vector/diglib/plus.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c: 3D
+	  initialization, cosmetics
+
+2009-09-13 10:58  mmetz
+
+	* lib/vector/Vlib/README: orthography
+
+2009-09-13 10:58  mmetz
+
+	* lib/vector/Vlib/open.c: 3D initialization
+
+2009-09-13 09:16  hamish
+
+	* raster/r.colors/Makefile: whitespace between img and text; quote
+	  path names
+
+2009-09-13 07:42  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/georect.py: wxGUI: use
+	  Location/MapsetSelect widget
+
+2009-09-13 03:29  glynn
+
+	* raster/r.colors/Makefile: Label r.colors.tmp.html as an
+	  intermediate file
+
+2009-09-13 03:28  glynn
+
+	* raster/r.colors/Makefile, raster/r.colors/thumbnails,
+	  raster/r.colors/thumbnails.py: Generate thumbnails for r.colors
+	  HTML file during build
+
+2009-09-13 03:26  glynn
+
+	* include/Make/Html.make, include/Make/Rules.make,
+	  include/Make/ScriptRules.make: Refactor; re-use code to run GRASS
+	  commands during build
+
+2009-09-13 00:02  martinl
+
+	* display/d.rast/main.c, display/d.vect/main.c: cosmetics in
+	  d.rast/vect module desc
+
+2009-09-12 23:18  martinl
+
+	* include/vector.h, lib/gis/parser.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_ogr.c, vector/v.info/main.c: initial steps
+	  towards direct OGR support (map/layer <-> OGR dsn/layer)
+
+2009-09-12 22:31  martinl
+
+	* gui/wxpython/xml/menudata.xml: add missing keywords
+
+2009-09-12 21:51  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: print warning for module
+	  with no keywords
+
+2009-09-12 21:17  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: don't chrash if keywords
+	  are empty
+	  (merge r39155 from devbr6)
+
+2009-09-12 20:38  martinl
+
+	* gui/icons/grass2/element-add.png,
+	  gui/icons/grass2/overlay-add.png,
+	  gui/wxpython/icons/grass2_icons.py: change overlay icon
+
+2009-09-12 19:44  martinl
+
+	* vector/v.out.ascii/main.c: default standard output
+
+2009-09-12 15:40  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/node.c,
+	  lib/vector/rtree/split.c: rtree minor bug fixes
+
+2009-09-12 06:57  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: replace only 'sh/py'
+	  extension
+	  (merge r39137 from relbr64)
+
+2009-09-12 06:17  glynn
+
+	* include/gis.h, include/vect/dig_externs.h,
+	  lib/vector/diglib/angle.c, lib/vector/diglib/cindex_rw.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/plus_struct.c: Fix
+	  diglib warnings
+
+2009-09-12 06:16  glynn
+
+	* db/drivers/mysql/fetch.c: Clear up misunderstanding about what a
+	  MYSQL_ROW is
+
+2009-09-12 03:49  glynn
+
+	* lib/gis/parser.c: Attempt to determine message encoding on
+	  Windows
+
+2009-09-12 03:45  glynn
+
+	* display/d.legend/main.c, raster/r.mapcalc/map.c,
+	  raster/r.to.vect/areas_io.c: Fix bugs introduced by r38099
+
+2009-09-12 03:37  glynn
+
+	* raster/r.statistics/method.h: Needs <stdio.h> for FILE,
+	  <grass/raster.h> for struct Categories
+
+2009-09-12 03:35  glynn
+
+	* raster/r.out.vrml/main.c, raster/r.out.vrml/put_grid.c,
+	  raster/r.out.vrml/pv.h: pv.h needs <grass/raster.h>
+	  clean-up
+
+2009-09-12 03:34  glynn
+
+	* raster/r.mapcalc/xround.c: Rename round() -> i_round() to avoid
+	  conflict with C99 function of that name
+
+2009-09-11 15:55  benducke
+
+	* vector/v.out.ogr/main.c: Added code to automatically choose an
+	  appropriate output geometry
+	  type.
+	  
+
+2009-09-11 09:01  martinl
+
+	* lib/vector/vectorlib.dox: cosmetics in api manual (geos link)
+
+2009-09-11 08:11  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI menu updated
+
+2009-09-11 07:50  glynn
+
+	* vector/v.out.ascii/b2a.c: Initialise dbValue (bug #746)
+
+2009-09-11 07:50  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: add dialog to change
+	  location or mapset
+
+2009-09-10 20:12  martinl
+
+	* gui/wxpython/docs/wxGUI.html: note head developer
+
+2009-09-10 15:58  martinl
+
+	* scripts/r.mask/r.mask.py: more gui sections
+
+2009-09-10 09:18  martinl
+
+	* raster/r.colors/r.colors.html: note wiki page "color tables"
+
+2009-09-10 09:15  martinl
+
+	* raster/r.colors/r.colors.html: remove broken link (there is not
+	  d.colors)
+
+2009-09-10 08:58  hamish
+
+	* raster/r.colors/Makefile, raster/r.colors/thumbnails,
+	  raster/r.colors/thumbnails/Colortable_aspect.png,
+	  raster/r.colors/thumbnails/Colortable_aspectcolr.png,
+	  raster/r.colors/thumbnails/Colortable_bcyr.png,
+	  raster/r.colors/thumbnails/Colortable_bgyr.png,
+	  raster/r.colors/thumbnails/Colortable_byg.png,
+	  raster/r.colors/thumbnails/Colortable_byr.png,
+	  raster/r.colors/thumbnails/Colortable_celsius.png,
+	  raster/r.colors/thumbnails/Colortable_corine.png,
+	  raster/r.colors/thumbnails/Colortable_curvature.png,
+	  raster/r.colors/thumbnails/Colortable_differences.png,
+	  raster/r.colors/thumbnails/Colortable_elevation.png,
+	  raster/r.colors/thumbnails/Colortable_etopo2.png,
+	  raster/r.colors/thumbnails/Colortable_evi.png,
+	  raster/r.colors/thumbnails/Colortable_gdd.png,
+	  raster/r.colors/thumbnails/Colortable_grey.png,
+	  raster/r.colors/thumbnails/Colortable_grey1.0.png,
+	  raster/r.colors/thumbnails/Colortable_grey255.png,
+	  raster/r.colors/thumbnails/Colortable_gyr.png,
+	  raster/r.colors/thumbnails/Colortable_ndvi.png,
+	  raster/r.colors/thumbnails/Colortable_population.png,
+	  raster/r.colors/thumbnails/Colortable_precipitation.png,
+	  raster/r.colors/thumbnails/Colortable_rainbow.png,
+	  raster/r.colors/thumbnails/Colortable_ramp.png,
+	  raster/r.colors/thumbnails/Colortable_ryb.png,
+	  raster/r.colors/thumbnails/Colortable_ryg.png,
+	  raster/r.colors/thumbnails/Colortable_sepia.png,
+	  raster/r.colors/thumbnails/Colortable_slope.png,
+	  raster/r.colors/thumbnails/Colortable_srtm.png,
+	  raster/r.colors/thumbnails/Colortable_terrain.png,
+	  raster/r.colors/thumbnails/Colortable_wave.png: add thumbnail
+	  files for help page (gen script on wiki)
+
+2009-09-10 08:25  hamish
+
+	* display/d.colortable/main.c: add flag to skip showing NULL color
+	  for FP maps, ie fill the box (merge from devbr6)
+
+2009-09-10 07:16  hamish
+
+	* display/d.legend/main.c: fix box rendering
+
+2009-09-10 07:00  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: note that vector digitizer is
+	  not workking under MS Windows
+
+2009-09-10 06:57  hamish
+
+	* display/d.colortable/main.c: fix box rendering (merge from
+	  devbr6)
+
+2009-09-10 06:41  hamish
+
+	* display/d.colortable/d.colortable.html,
+	  display/d.colortable/main.c: cleanup, i18n, html bugs and
+	  modernization (merge from devbr6)
+
+2009-09-10 02:46  hamish
+
+	* tools/module_synopsis.sh: module specific tweaks;
+	  rarrow multi-level menu depth for TeX;
+	  more space between menu words in TeX
+	  (merge from devbr6)
+
+2009-09-09 15:39  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/main.c: v.edit: enable 3D for
+	  'move' (thanks to Harri Kiiskinen for the patch)
+
+2009-09-09 15:08  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: print commands > 2 levels
+
+2009-09-09 04:16  hamish
+
+	* tools/module_synopsis.sh: add pretty html and TeX menu location
+	  (merge from devbr6)
+
+2009-09-08 22:38  hamish
+
+	* tools/module_synopsis.sh: a little more menu loc'n (html)
+
+2009-09-08 22:07  hamish
+
+	* tools/module_synopsis.sh: a little more menu loc'n
+
+2009-09-08 21:51  kyngchaos
+
+	* configure, configure.in: remove BSD option from OSX arch sed
+	  commands (from dev6 r39083)
+
+2009-09-07 20:05  hamish
+
+	* tools/module_synopsis.sh: replace sed goop with a call to
+	  Martin's nice new python menu tree dump
+
+2009-09-07 19:08  martinl
+
+	* gui/wxpython/gui_modules/help.py, gui/wxpython/wxgui.py: fix
+	  wxGUI menu tree window (all items activated)
+
+2009-09-07 17:39  kyngchaos
+
+	* macosx/Makefile: fix packagemaker test for newer systems
+
+2009-09-07 17:07  kyngchaos
+
+	* include/Make/Python.make, swig/python/Makefile: fix PYMOD_LD for
+	  OSX
+	  replace OSX archs for swig/python
+	  vector pymod needs GEOSCFLAGS
+
+2009-09-07 15:59  kyngchaos
+
+	* configure, configure.in: fix OSX arch stripping
+
+2009-09-07 15:31  martinl
+
+	* gui/wxpython/docs/wxGUI.html: show just grass2 icons
+
+2009-09-07 15:28  martinl
+
+	* gui/wxpython/docs/Makefile, gui/wxpython/docs/wxGUI.Icons.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html,
+	  gui/wxpython/docs/wxGUI.html: wxGUI icon themes info separated to
+	  the new manual page
+
+2009-09-07 14:14  kyngchaos
+
+	* configure, configure.in: fix OSX archs & sdk tests (do not depend
+	  on app build)
+
+2009-09-07 12:22  martinl
+
+	* configure, configure.in: Do not check Mac-related issues if not
+	  requested
+	  (merge r39062 from devbr6)
+
+2009-09-07 10:47  martinl
+
+	* vector/v.in.dxf/main.c, vector/v.in.dxf/v.in.dxf.html: v.in.dxf:
+	  cosmetics in manual page
+	  more keywords
+
+2009-09-07 10:27  martinl
+
+	* tools/g51.extract_description.sh: remove out-dated and unused
+	  shell script
+
+2009-09-07 07:59  martinl
+
+	* gui/wxpython/docs/wxGUI.html: don't mix uppercase with lowercase
+	  tags
+
+2009-09-07 07:51  martinl
+
+	* gui/wxpython/docs/wxGUI.html: helena: updates started, intro and
+	  GIS manager section & lists added
+	  to represent drop down menus in layer manager (merge from r39053
+	  &
+	  r39054 from devbr6)
+
+2009-09-06 21:49  kyngchaos
+
+	* configure, configure.in, display/d.what.vect/Makefile,
+	  gui/wxpython/nviz/Makefile, gui/wxpython/vdigit/Makefile,
+	  include/Make/Platform.make.in, lib/form/Makefile,
+	  visualization/nviz/src/Makefile, visualization/xganim/Makefile:
+	  Configure option for OSX architectures and SDK;
+	  > strip arch flags that may be in some builds of Python and
+	  wxPython
+
+2009-09-06 17:31  hamish
+
+	* mswindows/osgeo4w/package.sh: quote path names (may contain
+	  spaces);
+	  remove bashisms when using /bin/sh;
+	  remove PWD from PATH(ok?).
+	  (merge from devbr6 r39046)
+
+2009-09-06 17:00  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: print list of commands
+
+2009-09-06 13:20  neteler
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat:
+	  cosmetics
+
+2009-09-06 10:57  martinl
+
+	* vector/v.out.ogr/main.c: * use GRASS indentation style (see
+	  tools/grass_indent.sh)
+	  * nothing to export is not an error
+
+2009-09-06 06:58  martinl
+
+	* gui/wxpython/docs/wxGUI.html, gui/wxpython/xml/menudata.xml:
+	  wxGUI: document key shortcuts & cosmetics in menu
+
+2009-09-06 06:44  martinl
+
+	* gui/wxpython/gui_modules/prompt.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxGUI: new hotkeys (Alt+R/V) to
+	  raster/vector map layer
+
+2009-09-06 01:01  cnielsen
+
+	* mswindows/osgeo4w/package.sh: merge from releasebranch_6_4
+
+2009-09-05 20:25  neteler
+
+	* lib/gis/colors.desc, lib/gis/colors/gdd: color table for
+	  accumulated growing degree days
+
+2009-09-05 20:24  neteler
+
+	* lib/gis/mapset_msc.c: better wording
+
+2009-09-05 20:23  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: more shortcuts (workspace)
+
+2009-09-05 20:14  kyngchaos
+
+	* gui/wxpython/vdigit/setup.py: let vdigit link wx libs on OSX
+	  (from dev6)
+
+2009-09-05 20:07  martinl
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: implement menu shortcuts (see trac
+	  #725)
+
+2009-09-05 18:37  glynn
+
+	* gem/tools.c: Fix undefined comparison of pointer to string
+	  literal
+
+2009-09-05 18:34  glynn
+
+	* ps/ps.map/ps_fclrtbl.c: Remove bogus pointer->integer cast
+
+2009-09-05 18:32  glynn
+
+	* vector/v.normal/main.c: Eliminate warning, clean-up
+
+2009-09-05 18:21  glynn
+
+	* raster/r.in.poly/local_proto.h: Include <grass/raster.h> for
+	  "struct Categories"
+
+2009-09-05 18:20  glynn
+
+	* include/gmath.h: Include <stddef.h> for size_t
+
+2009-09-05 18:19  glynn
+
+	* raster/r.circle/main.c: Eliminate warnings, clean-up
+
+2009-09-05 18:13  glynn
+
+	* lib/sites/sites.c: Use '\0' for NUL, not (char)NULL
+
+2009-09-05 18:11  glynn
+
+	* lib/cluster/c_assign.c: Fix G_debug() call (first argument is
+	  debug level)
+
+2009-09-05 18:07  glynn
+
+	* lib/gis/trim_dec.c: Remove bogus return value from
+	  G_trim_decimal()
+
+2009-09-05 17:36  benducke
+
+	* vector/v.out.ogr/main.c: Fixed export of centroids only.
+	  Added support for exporting kernels (as 3D points).
+	  Added a stub for future volumes support (not visible to user
+	  yet).
+
+2009-09-05 17:28  benducke
+
+	* vector/v.category/main.c: Added support for managing categories
+	  attached to faces and kernels
+
+2009-09-05 17:22  martinl
+
+	* vector/v.info/parse.c: wording
+
+2009-09-05 17:10  martinl
+
+	* vector/v.info/level1.c, vector/v.info/local_proto.h,
+	  vector/v.info/main.c, vector/v.info/parse.c,
+	  vector/v.info/print.c, vector/v.info/v.info.html: v.info: major
+	  clean up
+
+2009-09-05 17:05  benducke
+
+	* lib/gis/parser.c: Add G_OPT_V3_TYPE which includes 2D and 3D
+	  vector primitives (for now +KERNELS and +FACES)
+
+2009-09-05 17:04  martinl
+
+	* include/vector.h, lib/vector/Vlib/level_two.c: Vect_get_num
+	  return long
+
+2009-09-05 17:00  benducke
+
+	* include/gis.h: Add G_OPT_V3_TYPE which includes 2D and 3D vector
+	  primitives (for now +KERNELS and +FACES)
+
+2009-09-05 13:23  martinl
+
+	* REQUIREMENTS.html: note swig
+
+2009-09-05 11:50  martinl
+
+	* gui/wxpython/Makefile: export GISBASE
+	  (merge from trunk, r38984)
+
+2009-09-05 08:02  martinl
+
+	* lib/init/helptext.html, tools/build_html_index.sh: index.html
+	  cosmetics
+
+2009-09-04 17:37  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/help.py,
+	  gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: Menu tree window implemnted
+
+2009-09-04 17:28  martinl
+
+	* include/vector.h: don't use argument identifiers in header files
+
+2009-09-04 15:29  benducke
+
+	* vector/v.out.ogr/main.c: Fixed export of centroids only.
+	  Added some type checks that make sure no action is performed if
+	  there is actually nothing to export.
+	  Added infrastructure for GV_VOLUME (but no functionality and not
+	  exposed to user yet).
+	  Fixed counting of areas (was counted like a primitive type, which
+	  it is not).
+
+2009-09-04 14:20  benducke
+
+	* lib/vector/Vlib/level_two.c: Added implementations for API
+	  functions to get number of kernels, volumes and holes for a
+	  vector map
+
+2009-09-04 14:14  benducke
+
+	* include/vector.h: Added declarations for API functions to get
+	  number of kernels, volumes and holes for a vector map
+
+2009-09-04 14:06  benducke
+
+	* include/vect/dig_structs.h: small change to comment in struct
+	  Plus_head:
+	  
+	  plus_t n_vfaces; /* current number of volume faces */
+
+2009-09-04 09:49  benducke
+
+	* vector/v.out.ogr/main.c: Synchronized with version in 6.5:
+	  
+	  * added -u ("update") flag for writing layers to existing OGR
+	  datasources
+	  * added -s ("skip cat") flag for dropping GRASS cat column from
+	  output
+	  * made sure that OGR features are properly created and destroyed
+	  each time through the main export loop
+	  * fixed two nasty mem leaks in the attribute field generation
+	  code (mk_att)
+
+2009-09-03 20:21  neteler
+
+	* contributors.csv: +Colin Nielsen
+
+2009-09-03 15:13  martinl
+
+	* AUTHORS: cosmetics
+
+2009-09-03 10:58  martinl
+
+	* lib/vector/vectorlib.dox: typos
+
+2009-09-03 09:53  martinl
+
+	* lib/vector/vectorlib.dox: vectorlib.dox cosmetics (internal link)
+
+2009-09-02 21:20  neteler
+
+	* vector/v.label.sa/v.label.sa.html,
+	  vector/v.label.sa/v_label_sa.jpg: new example with screenshot
+
+2009-09-02 21:09  neteler
+
+	* vector/v.label.sa/labels.c, vector/v.label.sa/v.label.sa.html:
+	  leak less memory; url fix
+
+2009-09-02 09:01  martinl
+
+	* lib/vector/vectorlib.dox: vectorlib.dox: some more info merged
+	  from GRASS 5 PM
+
+2009-09-01 19:33  martinl
+
+	* lib/vector/vectorlib.dox: vectorlib.dox: some minor updates
+	  (merged from GRASS 5 PM)
+
+2009-09-01 10:10  martinl
+
+	* lib/vector/vectorlib.dox: vectorlib.dox: some topo rules merged
+	  from GRASS 5 PA
+
+2009-08-31 20:04  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: vector attributes
+	  editable only if vector map is in the current
+	  mapset (part 2)
+
+2009-08-31 20:03  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix menuform crash
+
+2009-08-31 16:36  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: vector attributes
+	  editable only if vector map is in the current
+	  mapset
+
+2009-08-31 08:07  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI: ZBulk-labeling fixed (trac #737)
+	  (merge from relbr64, r38929)
+
+2009-08-30 21:34  neteler
+
+	* mswindows/GRASS-Installer.nsi: Colin Nielsen: version cosmetics
+
+2009-08-30 18:49  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py: wxGUI: sqlbuilder clean
+	  up (part 3)
+
+2009-08-30 17:31  martinl
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: wxGUI: sqlbuilder clean
+	  up (part 2)
+
+2009-08-29 16:33  glynn
+
+	* lib/vector/diglib/port_init.c: Don't assume that off_t is "long
+	  long"
+
+2009-08-29 16:32  glynn
+
+	* include/Make/Grass.make: Workaround for libintl hacks on MinGW
+
+2009-08-29 13:35  hamish
+
+	* lib/proj/get_proj.c: pj_dalloc(), not pj_free() or G_free() (trac
+	  #736, merge from devbr6)
+
+2009-08-29 04:30  kyngchaos
+
+	* visualization/nviz2/cmd/Makefile: add needed G3D lib to link
+
+2009-08-29 00:06  glynn
+
+	* general/g.mlist/Makefile, general/g.mremove/Makefile,
+	  include/Make/Grass.make: Add (some) missing dependencies upon
+	  iconv, regex, XDR libraries
+
+2009-08-28 23:58  glynn
+
+	* db/db.columns/Makefile, db/db.connect/Makefile,
+	  db/db.copy/Makefile, db/db.createdb/Makefile,
+	  db/db.databases/Makefile, db/db.describe/Makefile,
+	  db/db.drivers/Makefile, db/db.dropdb/Makefile,
+	  db/db.droptable/Makefile, db/db.execute/Makefile,
+	  db/db.login/Makefile, db/db.select/Makefile,
+	  db/db.tables/Makefile, db/drivers/dbf/Makefile,
+	  db/drivers/odbc/Makefile, db/drivers/ogr/Makefile,
+	  db/drivers/postgres/Makefile, db/drivers/sqlite/Makefile,
+	  display/d.barscale/Makefile, display/d.colorlist/Makefile,
+	  display/d.colortable/Makefile, display/d.erase/Makefile,
+	  display/d.font/Makefile, display/d.fontlist/Makefile,
+	  display/d.geodesic/Makefile, display/d.graph/Makefile,
+	  display/d.grid/Makefile, display/d.his/Makefile,
+	  display/d.histogram/Makefile, display/d.info/Makefile,
+	  display/d.labels/Makefile, display/d.legend/Makefile,
+	  display/d.linegraph/Makefile, display/d.nviz/Makefile,
+	  display/d.path/Makefile, display/d.profile/Makefile,
+	  display/d.rast.arrow/Makefile, display/d.rast.num/Makefile,
+	  display/d.rast/Makefile, display/d.rgb/Makefile,
+	  display/d.rhumbline/Makefile, display/d.text/Makefile,
+	  display/d.thematic.area/Makefile, display/d.title/Makefile,
+	  display/d.vect.chart/Makefile, display/d.vect/Makefile,
+	  display/d.where/Makefile, general/g.access/Makefile,
+	  general/g.copy/Makefile, general/g.dirseps/Makefile,
+	  general/g.filename/Makefile, general/g.findetc/Makefile,
+	  general/g.findfile/Makefile, general/g.gisenv/Makefile,
+	  general/g.gui/Makefile, general/g.list/Makefile,
+	  general/g.mapset/Makefile, general/g.mapsets/Makefile,
+	  general/g.message/Makefile, general/g.mkfontcap/Makefile,
+	  general/g.mlist/Makefile, general/g.mremove/Makefile,
+	  general/g.parser/Makefile, general/g.pnmcomp/Makefile,
+	  general/g.proj/Makefile, general/g.region/Makefile,
+	  general/g.remove/Makefile, general/g.rename/Makefile,
+	  general/g.tempfile/Makefile, general/g.transform/Makefile,
+	  general/g.version/Makefile, imagery/i.albedo/Makefile,
+	  imagery/i.atcorr/Makefile, imagery/i.biomass/Makefile,
+	  imagery/i.cca/Makefile, imagery/i.cluster/Makefile,
+	  imagery/i.eb.eta/Makefile, imagery/i.eb.evapfr/Makefile,
+	  imagery/i.eb.h_SEBAL01/Makefile,
+	  imagery/i.eb.soilheatflux/Makefile,
+	  imagery/i.emissivity/Makefile,
+	  imagery/i.evapo.time_integration/Makefile,
+	  imagery/i.fft/Makefile, imagery/i.find/Makefile,
+	  imagery/i.gensig/Makefile, imagery/i.gensigset/Makefile,
+	  imagery/i.group/Makefile, imagery/i.his.rgb/Makefile,
+	  imagery/i.ifft/Makefile, imagery/i.latlong/Makefile,
+	  imagery/i.maxlik/Makefile, imagery/i.modis.qc/Makefile,
+	  imagery/i.pca/Makefile, imagery/i.rectify/Makefile,
+	  imagery/i.rgb.his/Makefile, imagery/i.smap/Makefile,
+	  imagery/i.sunhours/Makefile, imagery/i.target/Makefile,
+	  imagery/i.vi/Makefile, imagery/i.zc/Makefile,
+	  misc/m.cogo/Makefile, ps/ps.map/Makefile,
+	  raster/r.basins.fill/Makefile, raster/r.bitpattern/Makefile,
+	  raster/r.buffer/Makefile, raster/r.carve/Makefile,
+	  raster/r.category/Makefile, raster/r.circle/Makefile,
+	  raster/r.clump/Makefile, raster/r.coin/Makefile,
+	  raster/r.colors.out/Makefile, raster/r.colors/Makefile,
+	  raster/r.composite/Makefile, raster/r.compress/Makefile,
+	  raster/r.contour/Makefile, raster/r.cost/Makefile,
+	  raster/r.covar/Makefile, raster/r.cross/Makefile,
+	  raster/r.describe/Makefile, raster/r.distance/Makefile,
+	  raster/r.drain/Makefile, raster/r.external.out/Makefile,
+	  raster/r.external/Makefile, raster/r.fill.dir/Makefile,
+	  raster/r.flow/Makefile, raster/r.grow.distance/Makefile,
+	  raster/r.gwflow/Makefile, raster/r.his/Makefile,
+	  raster/r.horizon/Makefile, raster/r.in.arc/Makefile,
+	  raster/r.in.ascii/Makefile, raster/r.in.bin/Makefile,
+	  raster/r.in.gdal/Makefile, raster/r.in.gridatb/Makefile,
+	  raster/r.in.mat/Makefile, raster/r.in.poly/Makefile,
+	  raster/r.in.xyz/Makefile, raster/r.info/Makefile,
+	  raster/r.kappa/Makefile, raster/r.lake/Makefile,
+	  raster/r.li/r.li.cwed/Makefile,
+	  raster/r.li/r.li.dominance/Makefile,
+	  raster/r.li/r.li.edgedensity/Makefile,
+	  raster/r.li/r.li.mpa/Makefile, raster/r.li/r.li.mps/Makefile,
+	  raster/r.li/r.li.padcv/Makefile,
+	  raster/r.li/r.li.padrange/Makefile,
+	  raster/r.li/r.li.padsd/Makefile,
+	  raster/r.li/r.li.patchdensity/Makefile,
+	  raster/r.li/r.li.patchnum/Makefile,
+	  raster/r.li/r.li.richness/Makefile,
+	  raster/r.li/r.li.shannon/Makefile,
+	  raster/r.li/r.li.shape/Makefile,
+	  raster/r.li/r.li.simpson/Makefile, raster/r.los/Makefile,
+	  raster/r.mfilter/Makefile, raster/r.mode/Makefile,
+	  raster/r.neighbors/Makefile, raster/r.null/Makefile,
+	  raster/r.out.arc/Makefile, raster/r.out.ascii/Makefile,
+	  raster/r.out.bin/Makefile, raster/r.out.gdal/Makefile,
+	  raster/r.out.gridatb/Makefile, raster/r.out.mat/Makefile,
+	  raster/r.out.mpeg/Makefile, raster/r.out.png/Makefile,
+	  raster/r.out.pov/Makefile, raster/r.out.ppm/Makefile,
+	  raster/r.out.ppm3/Makefile, raster/r.out.tiff/Makefile,
+	  raster/r.out.vrml/Makefile, raster/r.out.vtk/Makefile,
+	  raster/r.param.scale/Makefile, raster/r.patch/Makefile,
+	  raster/r.profile/Makefile, raster/r.proj/Makefile,
+	  raster/r.quant/Makefile, raster/r.quantile/Makefile,
+	  raster/r.random.cells/Makefile, raster/r.random.surface/Makefile,
+	  raster/r.random/Makefile, raster/r.reclass/Makefile,
+	  raster/r.recode/Makefile, raster/r.region/Makefile,
+	  raster/r.report/Makefile, raster/r.resamp.interp/Makefile,
+	  raster/r.resamp.rst/Makefile, raster/r.resamp.stats/Makefile,
+	  raster/r.resample/Makefile, raster/r.rescale.eq/Makefile,
+	  raster/r.rescale/Makefile, raster/r.ros/Makefile,
+	  raster/r.series/Makefile, raster/r.slope.aspect/Makefile,
+	  raster/r.spread/Makefile, raster/r.spreadpath/Makefile,
+	  raster/r.statistics/Makefile, raster/r.statistics2/Makefile,
+	  raster/r.statistics3/Makefile, raster/r.stats/Makefile,
+	  raster/r.sun/Makefile, raster/r.sunmask/Makefile,
+	  raster/r.support.stats/Makefile, raster/r.support/Makefile,
+	  raster/r.surf.area/Makefile, raster/r.surf.contour/Makefile,
+	  raster/r.surf.fractal/Makefile, raster/r.surf.gauss/Makefile,
+	  raster/r.surf.idw/Makefile, raster/r.surf.idw2/Makefile,
+	  raster/r.surf.random/Makefile, raster/r.terraflow/Makefile,
+	  raster/r.texture/Makefile, raster/r.thin/Makefile,
+	  raster/r.timestamp/Makefile, raster/r.to.rast3/Makefile,
+	  raster/r.to.rast3elev/Makefile, raster/r.to.vect/Makefile,
+	  raster/r.topidx/Makefile, raster/r.topmodel/Makefile,
+	  raster/r.transect/Makefile, raster/r.univar/Makefile,
+	  raster/r.uslek/Makefile, raster/r.usler/Makefile,
+	  raster/r.volume/Makefile, raster/r.walk/Makefile,
+	  raster/r.water.outlet/Makefile, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/seg/Makefile, raster/r.what.color/Makefile,
+	  raster/r.what/Makefile, raster3d/r3.cross.rast/Makefile,
+	  raster3d/r3.in.v5d/Makefile, raster3d/r3.mkdspf/Makefile,
+	  raster3d/r3.out.v5d/Makefile, raster3d/r3.out.vtk/Makefile,
+	  raster3d/r3.stats/Makefile, raster3d/r3.to.rast/Makefile,
+	  vector/lidar/v.lidar.correction/Makefile,
+	  vector/lidar/v.lidar.edgedetection/Makefile,
+	  vector/lidar/v.lidar.growing/Makefile,
+	  vector/lidar/v.outlier/Makefile,
+	  vector/lidar/v.surf.bspline/Makefile, vector/v.buffer/Makefile,
+	  vector/v.build.polylines/Makefile, vector/v.build/Makefile,
+	  vector/v.category/Makefile, vector/v.class/Makefile,
+	  vector/v.clean/Makefile, vector/v.convert/Makefile,
+	  vector/v.db.connect/Makefile, vector/v.db.select/Makefile,
+	  vector/v.delaunay/Makefile, vector/v.distance/Makefile,
+	  vector/v.drape/Makefile, vector/v.edit/Makefile,
+	  vector/v.external/Makefile, vector/v.extract/Makefile,
+	  vector/v.extrude/Makefile, vector/v.generalize/Makefile,
+	  vector/v.hull/Makefile, vector/v.in.ascii/Makefile,
+	  vector/v.in.db/Makefile, vector/v.in.dxf/Makefile,
+	  vector/v.in.ogr/Makefile, vector/v.in.region/Makefile,
+	  vector/v.in.sites/Makefile, vector/v.info/Makefile,
+	  vector/v.kcv/Makefile, vector/v.kernel/Makefile,
+	  vector/v.label/Makefile, vector/v.lrs/v.lrs.create/Makefile,
+	  vector/v.lrs/v.lrs.label/Makefile,
+	  vector/v.lrs/v.lrs.segment/Makefile,
+	  vector/v.lrs/v.lrs.where/Makefile, vector/v.mkgrid/Makefile,
+	  vector/v.neighbors/Makefile, vector/v.net.alloc/Makefile,
+	  vector/v.net.iso/Makefile, vector/v.net.path/Makefile,
+	  vector/v.net.salesman/Makefile, vector/v.net.steiner/Makefile,
+	  vector/v.net.visibility/Makefile, vector/v.net/Makefile,
+	  vector/v.normal/Makefile, vector/v.out.ascii/Makefile,
+	  vector/v.out.dxf/Makefile, vector/v.out.ogr/Makefile,
+	  vector/v.out.pov/Makefile, vector/v.out.svg/Makefile,
+	  vector/v.out.vtk/Makefile, vector/v.overlay/Makefile,
+	  vector/v.parallel/Makefile, vector/v.patch/Makefile,
+	  vector/v.perturb/Makefile, vector/v.proj/Makefile,
+	  vector/v.qcount/Makefile, vector/v.random/Makefile,
+	  vector/v.reclass/Makefile, vector/v.sample/Makefile,
+	  vector/v.segment/Makefile, vector/v.select/Makefile,
+	  vector/v.split/Makefile, vector/v.support/Makefile,
+	  vector/v.surf.idw/Makefile, vector/v.surf.rst/Makefile,
+	  vector/v.to.3d/Makefile, vector/v.to.db/Makefile,
+	  vector/v.to.points/Makefile, vector/v.to.rast/Makefile,
+	  vector/v.to.rast3/Makefile, vector/v.transform/Makefile,
+	  vector/v.type/Makefile, vector/v.univar/Makefile,
+	  vector/v.vol.rst/Makefile, vector/v.voronoi/Makefile,
+	  vector/v.what.rast/Makefile, vector/v.what/Makefile,
+	  visualization/xganim/Makefile: Update LIBES, DEPENDENCIES from
+	  linkage database
+
+2009-08-28 16:39  glynn
+
+	* include/Make/Grass.make: GEOSLIB -> GEOSLIBS
+
+2009-08-28 16:12  glynn
+
+	* include/Make/Grass.make: Update dependencies
+
+2009-08-28 16:11  glynn
+
+	* tools/sql.sh: Enlarge symbol fields
+
+2009-08-28 06:58  hamish
+
+	* gui/icons/grass.desktop: Add template for Linux ~/Desktop/ icon
+	  file (merge from devbr6)
+
+2009-08-27 22:44  glynn
+
+	* imagery/i.ortho.photo/lib/Makefile, include/Make/Grass.make,
+	  include/Make/Lib.make, lib/arraystats/Makefile,
+	  lib/bitmap/Makefile, lib/btree/Makefile,
+	  lib/cairodriver/Makefile, lib/cdhc/Makefile,
+	  lib/cluster/Makefile, lib/datetime/Makefile,
+	  lib/db/dbmi_base/Makefile, lib/db/dbmi_client/Makefile,
+	  lib/db/dbmi_driver/Makefile, lib/db/sqlp/Makefile,
+	  lib/db/stubs/Makefile, lib/display/Makefile, lib/driver/Makefile,
+	  lib/dspf/Makefile, lib/external/shapelib/Makefile,
+	  lib/form/Makefile, lib/g3d/Makefile, lib/gis/Makefile,
+	  lib/gmath/Makefile, lib/gpde/Makefile, lib/htmldriver/Makefile,
+	  lib/imagery/Makefile, lib/iostream/Makefile, lib/linkm/Makefile,
+	  lib/manage/Makefile, lib/nviz/Makefile, lib/ogsf/Makefile,
+	  lib/pngdriver/Makefile, lib/proj/Makefile, lib/psdriver/Makefile,
+	  lib/raster/Makefile, lib/rowio/Makefile, lib/rst/data/Makefile,
+	  lib/rst/interp_float/Makefile, lib/rst/qtree/Makefile,
+	  lib/segment/Makefile, lib/sites/Makefile, lib/stats/Makefile,
+	  lib/symbol/Makefile, lib/vector/Vlib/Makefile,
+	  lib/vector/dglib/Makefile, lib/vector/diglib/Makefile,
+	  lib/vector/rtree/Makefile, lib/vector/transform/Makefile,
+	  lib/vector/vedit/Makefile, raster/r.li/r.li.cwed/Makefile,
+	  raster/r.li/r.li.daemon/Makefile,
+	  raster/r.li/r.li.dominance/Makefile,
+	  raster/r.li/r.li.edgedensity/Makefile,
+	  raster/r.li/r.li.mpa/Makefile, raster/r.li/r.li.mps/Makefile,
+	  raster/r.li/r.li.padcv/Makefile,
+	  raster/r.li/r.li.padrange/Makefile,
+	  raster/r.li/r.li.padsd/Makefile,
+	  raster/r.li/r.li.patchdensity/Makefile,
+	  raster/r.li/r.li.patchnum/Makefile,
+	  raster/r.li/r.li.richness/Makefile,
+	  raster/r.li/r.li.shannon/Makefile,
+	  raster/r.li/r.li.shape/Makefile,
+	  raster/r.li/r.li.simpson/Makefile, raster/simwe/simlib/Makefile,
+	  vector/lidar/lidarlib/Makefile, vector/v.lrs/lib/Makefile: Keep
+	  all library dependencies in Grass.make
+
+2009-08-27 22:42  glynn
+
+	* swig/include/python/common.i: Define Py_ssize_t for Python < 2.5
+
+2009-08-27 20:04  glynn
+
+	* swig/python/Makefile: Force building of intermediate files
+
+2009-08-27 17:45  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_base.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py: wxGUI: sqlbuilder major
+	  clean up (part 1)
+
+2009-08-27 17:43  martinl
+
+	* lib/python/core.py, lib/python/db.py,
+	  lib/python/grasspythonlib.dox, lib/python/raster.py,
+	  lib/python/vector.py: pythonlib: set_fatal_exit() added (used in
+	  wxGUI to call error()
+	  instead of fatal()
+
+2009-08-27 08:49  hamish
+
+	* lib/external/bwidget/LGPL-2.1.txt, lib/external/bwidget/LGPL.txt:
+	  update LGPL 2.0 to 2.1; "at our option a newer version of the
+	  license"
+
+2009-08-26 20:18  glynn
+
+	* configure, configure.in, include/vector.h,
+	  lib/vector/Vlib/geos.c: Revert r38872 (re-instate r38867)
+	  Fixes to work with GEOS 2.x
+
+2009-08-26 18:23  martinl
+
+	* db/db.select/main.c: db.select: option for output file added (see
+	  trac #710)
+	  more gui sections
+
+2009-08-26 12:48  glynn
+
+	* lib/proj/get_proj.c: Use pj_free() for strings allocated by PROJ
+
+2009-08-26 12:41  glynn
+
+	* configure, configure.in: Revert r38867 (bogus GEOM check)
+
+2009-08-26 10:36  glynn
+
+	* imagery/i.fft/Makefile, imagery/i.ifft/Makefile,
+	  imagery/i.zc/Makefile, include/Make/Grass.make,
+	  raster/r.surf.fractal/Makefile, vector/v.out.pov/Makefile: Put
+	  dependencies where they belong
+
+2009-08-26 10:34  glynn
+
+	* general/g.parser/main.c: Use G_asprintf() to avoid buffer overrun
+
+2009-08-26 08:56  martinl
+
+	* include/Make/Grass.make: managelib is not static
+
+2009-08-26 07:45  martinl
+
+	* configure, configure.in: check initGEOS() geos_c
+
+2009-08-25 19:10  glynn
+
+	* lib/manage/Makefile: Use the default library type rather than
+	  forcing a static library
+
+2009-08-25 16:12  martinl
+
+	* include/vector.h, lib/vector/Vlib/cats.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c: vlib: new fns - Vect_line_get_point() &
+	  Vect_get_num_line_points()
+	  Vect_destroy*() return void
+
+2009-08-25 16:10  martinl
+
+	* vector/v.out.ascii/main.c: v.out.ascii - output/format options
+	  required - '-' for standard output
+
+2009-08-25 16:08  martinl
+
+	* scripts/v.build.all/v.build.all.py: v.build.all - be less verbose
+
+2009-08-25 16:02  martinl
+
+	* lib/grasslib.dox, lib/vector/vectorlib.dox: some doxygen updates
+
+2009-08-25 08:11  hamish
+
+	* gui/wxpython/gui_modules/dbm.py: typo (merge from devbr6)
+
+2009-08-25 08:08  hamish
+
+	* gui/wxpython/gui_modules/dbm.py: fix parm name so sqlbuilder
+	  starts (merge from devbr6)
+
+2009-08-25 07:50  hamish
+
+	* lib/gis/trim_dec.c: don't trim e+20 into e+2 (trac #720; incurs a
+	  2.5% performance hit; merge from devbr6)
+
+2009-08-25 07:34  hamish
+
+	* lib/symbol/README, lib/symbol/read.c: skip empty and comment
+	  lines (merge from devbr6)
+
+2009-08-25 06:57  hamish
+
+	* lib/symbol/symbol/extra/fish: new symbol: fish (adapted from
+	  QGIS's .svg icon; merge from devbr6)
+
+2009-08-24 12:06  hamish
+
+	* raster/r.sun/r.sun.html: caveat
+
+2009-08-24 05:58  hamish
+
+	* lib/symbol/read.c: use G_getl2() instead of fgets() (merge from
+	  devbr6)
+
+2009-08-24 05:09  hamish
+
+	* lib/symbol/symbol/extra/ping: new symbol: nice instead of arrows
+	  for vector size+dir
+	  (merge from devbr6)
+	  
+	  matlab/octace commands to generate/modifty it:
+	  deg2rad = pi/180;
+	  
+	  theta = 7.5;
+	  y0 = 0.9;
+	  
+	  x0 = y0 * atan(theta * deg2rad)
+	  
+	  %%%% coords of half-circle on top
+	  r = x0;
+	  
+	  clear xy;
+	  xy(size(0:10:180), 1:2) = NaN;
+	  xy(:) = NaN;
+	  
+	  i=0;
+	  for theta=0:10:180
+	  i=i+1;
+	  xy(i,1) = r * cos(theta * deg2rad);
+	  xy(i,2) = r * sin(theta * deg2rad);
+	  end
+	  
+	  for i=1:length(xy)
+	  disp(sprintf(' %.4f %.4f', xy(i,1), xy(i,2)+y0))
+	  end
+
+2009-08-22 16:33  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/help.py: wxGUI:
+	  HelpWindow moved to help.py
+
+2009-08-22 07:48  neteler
+
+	* include/gisdefs.h, lib/gis/strings.c, vector/v.in.ogr/main.c:
+	  G_strdup() back for Windows (merge from devel_branch6, r38567)
+
+2009-08-21 19:31  martinl
+
+	* lib/display/displaylib.dox: typo
+
+2009-08-21 14:39  hamish
+
+	* lib/gis/datumtransform.table: explain why terms don't match ref
+	  URL
+
+2009-08-21 14:24  hamish
+
+	* scripts/m.proj/m.proj.py: export seconds to 5 digits
+
+2009-08-21 14:08  hamish
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table: update URLs
+
+2009-08-21 13:11  neteler
+
+	* lib/gis/datumtransform.table, lib/proj/convert.c: remap
+	  Potsdam_Datum_83 to Deutsches_Hauptdreiecksnetz to enable datum
+	  selection dialog (thanks, Paul); fix of umlaut
+
+2009-08-21 06:48  hamish
+
+	* lib/external/README.license: add README about what can be found
+	  here
+
+2009-08-20 12:37  hamish
+
+	* lib/gis/alloc.c: change error msg so it makes sense to users who
+	  are not familiar with C (merge from devbr6)
+
+2009-08-20 09:49  neteler
+
+	* raster/r.univar/stats.c: report also total cells in script style
+
+2009-08-20 08:26  hamish
+
+	* raster/r.what/main.c: export fs evenly, even if cell is NULL
+	  (merge from devbr6)
+
+2009-08-20 07:41  hamish
+
+	* raster/r.what/main.c: merge from devbr6-
+	  add new flag for outputting a header row;
+	  cleanup variables;
+	  move cache option to guisection tab;
+	  newline on exit from tty mode;
+	  export floats and doubles with correct precision (trac #335);
+
+2009-08-20 06:20  hamish
+
+	* raster/r.info/main.c: export floats with correct precision (trac
+	  #335; merge from devbr6)
+
+2009-08-19 10:55  hamish
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: merge fixes from devbr6-
+	  fix backwards >=,> button labels;
+	  use RunCommand instead of os.system();
+	  Verify messages to Command Output window;
+	  add some debug comments about broken curson posn
+
+2009-08-19 08:46  hamish
+
+	* db/db.select/main.c, gui/wxpython/gui_modules/sqlbuilder.py:
+	  verbose confirmation; fix Verify (merge from devbr6)
+
+2009-08-19 07:41  hamish
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: merge from devbr6-
+	  double-quotes for WinGrass;
+	  access tables not in the current mapset;
+	  skip non-column lines of db.describe -c;
+	  fix os.popen usage and quote DB (needs conversion to
+	  gcmd.RunCommand);
+	  quote DB in os.system (needs conversion to gcmd.RunCommand)
+
+2009-08-19 06:57  hamish
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: split on fs=| to survive
+	  spaces in paths (trac #637; merge from devbr6)
+
+2009-08-18 10:17  hamish
+
+	* raster/r.li/r.li.daemon/daemon.c: strip away config file path if
+	  it is present and if it matches the config dir (merge from
+	  devbr6)
+
+2009-08-18 09:07  hamish
+
+	* raster/r.li/r.li.daemon/daemon.c, raster/r.li/r.li.daemon/list.c:
+	  malloc to G_malloc, whitespace (merge from devbr6)
+
+2009-08-17 13:30  hamish
+
+	* raster/r.sun/main.c: longin without latin is valid if civiltime
+	  is used
+
+2009-08-17 13:20  hamish
+
+	* raster/r.sun/main.c, raster/r.sun/r.sun.html,
+	  raster/r.sun/rsunlib.c: trac #498: (merge from devbr6)
+	  lat= is no longer usable- chop it out;
+	  make latin= and longin= work, but they give us only ~1.3% speed
+	  boost);
+	  give some variables more understandable names
+
+2009-08-17 08:19  neteler
+
+	* lib/display/Makefile: fix to activate CAIRO when requested
+
+2009-08-17 07:55  hamish
+
+	* raster/r.li/r.li.daemon/daemon.c: messags & whitespace
+
+2009-08-17 06:56  hamish
+
+	* raster/r.li/r.li.daemon/daemon.c: minor cleanup (merge from
+	  devbr6)
+
+2009-08-17 05:52  hamish
+
+	* lib/gis/home.c: remove useless comment, we have to return
+	  something. probably the doxygen comments need adjustment
+
+2009-08-17 05:47  hamish
+
+	* lib/gis/home.c: wording
+
+2009-08-17 05:44  hamish
+
+	* raster/r.li/r.li.daemon/daemon.c: use G_home(), output text file
+	  as umask 0644 (merge from devbr6)
+
+2009-08-17 05:44  hamish
+
+	* lib/gis/home.c: GRASS_DIRSEP or HOST_DIRSEP ?
+
+2009-08-17 05:31  hamish
+
+	* lib/gis/home.c: crude beginnings of a G_rc_path() fn
+
+2009-08-17 04:22  hamish
+
+	* raster/r.li/r.li.daemon/worker.c: merge r38757 from devbr6:
+	  detect & bailout on error (trac #718);
+	  use G_malloc();
+	  +new debug msg
+
+2009-08-17 02:58  hamish
+
+	* raster/r.what/main.c: use %.15g instead of %.10f for doubles
+	  (trac #335; merge from devbr6)
+
+2009-08-16 09:28  hamish
+
+	* raster/r.topmodel/r.topmodel.html: missing <em>
+
+2009-08-16 08:36  hamish
+
+	* lib/raster/color_write.c: standardize on %.15g for doubles
+	  instead of mix of %.10f, %.30f (trac #335)
+
+2009-08-16 08:17  hamish
+
+	* raster/r.colors/rules.c: use %15.g instead of %.25f (trac #335;
+	  merge from devbr6)
+
+2009-08-16 08:03  hamish
+
+	* raster/r.li/r.li.daemon/worker.c, raster/r.topmodel/REFERENCE,
+	  raster/r.topmodel/misc.c, raster/r.topmodel/r.topmodel.html,
+	  raster/r.watershed/shed/com_line.c: merge some stuff from devbr6
+	  related to #637,
+	  r38729: improved warning message;
+	  r38732, r38733: cleanup messages;
+	  r38734: move REFERENCE into help page;
+	  r38738: quote path for G_system(), use G_gisbase()
+	  TODO: use G_spawn() instead of [G_]system()
+
+2009-08-15 17:05  neteler
+
+	* lib/cairodriver/cairodriver.html, lib/pngdriver/pngdriver.html,
+	  lib/psdriver/psdriver.html: more cleanup
+
+2009-08-15 16:56  neteler
+
+	* lib/cairodriver/cairodriver.html: some cleanup; GRASS_PNGFILE for
+	  pdf etc remains confusing
+
+2009-08-15 16:15  neteler
+
+	* display/d.text/d.text.html, display/d.text/main.c: support for
+	  background color added
+
+2009-08-15 06:39  martinl
+
+	* lib/ogsf/GS2.c, lib/ogsf/gs.c: marisn: Don't use invalid pointers
+	  for debug output. Fixes #417
+	  (backported from devbr6, r38672)
+
+2009-08-14 10:48  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c: +debug
+
+2009-08-14 10:39  neteler
+
+	* locale/po/grasswxpy_vi.po, translators.csv: L.Q. Thai <lquocthai
+	  ioit ac vn>: Vietnamese wxGUI translation
+
+2009-08-14 10:21  martinl
+
+	* lib/gis/Makefile, lib/gis/find_file.c, lib/gis/find_vect.c:
+	  gislib: OGR dependency removed
+
+2009-08-14 10:14  martinl
+
+	* scripts/v.db.droprow/v.db.droprow.py: v.db.droprow: check if
+	  vector map exists is already done v v.extract
+
+2009-08-14 08:13  martinl
+
+	* scripts/Makefile, scripts/v.db.droprow,
+	  scripts/v.db.droprow/Makefile,
+	  scripts/v.db.droprow/v.db.droprow.html,
+	  scripts/v.db.droprow/v.db.droprow.py: v.db.droprow backported
+	  from devbr6, pythonized
+
+2009-08-14 03:03  glynn
+
+	* lib/rst/interp_float/init2d.c, lib/rst/interp_float/interp2d.c,
+	  lib/rst/interp_float/interpf.h, lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/segmen2d.c, lib/rst/interp_float/write2d.c:
+	  lib/rst/interp_float clean-up:
+	  Use off_t for offsets
+	  Fully type function pointers
+	  Fix type of check_points field in struct interp_params to match
+	  IL_check_at_points_2d()
+
+2009-08-13 14:24  neteler
+
+	* contributors.csv: Soeren Gebbert activated
+
+2009-08-13 09:59  neteler
+
+	* lib/dspf/Makefile, lib/dspf/cube_io.c, lib/dspf/dspf_header.c:
+	  fixed missing libgis refs
+
+2009-08-13 09:25  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.setup/r.li.setup.main: use more reasonable
+	  config directory
+
+2009-08-13 09:15  hamish
+
+	* raster/r.li/r.li.shannon/r.li.shannon.html: flag unclear wording
+
+2009-08-13 05:13  hamish
+
+	* raster/r.in.xyz/r.in.xyz.html: +todo liblas / mb-system's mbio
+
+2009-08-13 00:36  glynn
+
+	* general/g.rename/main.c, imagery/i.find/main.c,
+	  imagery/i.points/ask.c, imagery/i.vpoints/ask.c,
+	  lib/dspf/cube_io.c, lib/dspf/dspf_header.c, lib/g3d/g3dcolor.c,
+	  lib/gis/rd_cellhd.c, lib/raster/color_read.c,
+	  lib/raster/reclass.c, lib/rst/interp_float/interpf.h,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/write2d.c, lib/sites/sites.c,
+	  lib/vector/Vlib/hist.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/dglib/examples/parse.c,
+	  lib/vector/diglib/file.c, ps/ps.map/ps_header.c,
+	  ps/ps.map/ps_map.c, raster/r.coin/make_coin.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/gethead.c,
+	  raster/r.in.ascii/main.c, raster/r.in.mat/main.c,
+	  raster/r.in.poly/get_item.c, raster/r.in.poly/getformat.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.in.xyz/main.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.pixel/driver.c,
+	  raster/r.out.mat/main.c, raster3d/r3.showdspf/cap_data.c,
+	  vector/v.support/main.c, vector/v.vol.rst/user1.c: Replace
+	  fseek/ftell with G_fseek/G_ftell
+
+2009-08-13 00:31  glynn
+
+	* lib/iostream/mm.cc: Don't abort on memory-exceeded
+
+2009-08-12 12:31  hamish
+
+	* raster/r.sun/main.c: sanity check time= option; propset mime-type
+	  (merge from devbr6)
+
+2009-08-12 05:58  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: more comments in sidx IO routines
+
+2009-08-11 12:15  hamish
+
+	* raster/r.horizon/Makefile, raster/r.horizon/local_proto.h,
+	  raster/r.horizon/main.c, raster/r.horizon/r.horizon.html: svn
+	  propsets
+
+2009-08-11 12:06  hamish
+
+	* raster/r.horizon/main.c, raster/r.horizon/r.horizon.html: write
+	  out metadata; whitespace/msg cleanup (merge from devbr6)
+
+2009-08-11 11:45  neteler
+
+	* vector/v.extract/main.c: stop on DB select error
+
+2009-08-11 07:11  hamish
+
+	* raster/r.sun/main.c: sanitize some inputs; minor clean/comments
+	  (merge from devbr6)
+
+2009-08-10 06:51  mmetz
+
+	* lib/vector/diglib/port_init.c, lib/vector/diglib/port_test.c:
+	  conditionalise OFF_T_TEST at compile time
+
+2009-08-10 06:02  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: rtree_search bugfix was bogus,
+	  sorry
+
+2009-08-10 05:59  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: bugfix for rtree_search
+
+2009-08-10 05:59  mmetz
+
+	* lib/vector/rtree/index.c: cast no longer necessary
+
+2009-08-10 05:44  hamish
+
+	* raster/r.colors/r.colors.html: +Nikos's inversion trick (merge
+	  from devbr6)
+
+2009-08-10 03:42  hamish
+
+	* lib/gis/gislib.dox: indent, reasonable output precision for
+	  doubles (merge from devbr6)
+
+2009-08-09 22:05  neteler
+
+	* scripts/r.mask/r.mask.py: test if mask map exists; fix appended
+	  messages
+
+2009-08-09 16:11  mmetz
+
+	* raster3d/r3.out.v5d/Makefile, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.v5d/v5d.c, raster3d/r3.out.v5d/v5d.h: r3.out.v5d
+	  LFS-safe, awaits testing
+
+2009-08-09 16:03  mmetz
+
+	* raster3d/r3.in.v5d/Makefile, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.in.v5d/v5d.c, raster3d/r3.in.v5d/v5d.h: r3.in.v5d
+	  LFS-safe, awaits testing
+
+2009-08-09 16:01  mmetz
+
+	* raster/r.out.gdal/local_proto.h: do not cast DBL_MAX to float
+
+2009-08-09 15:58  mmetz
+
+	* lib/vector/diglib/port_init.c, lib/vector/diglib/port_test.c,
+	  lib/vector/diglib/spindex_rw.c: spindex_rw adjusted to new rtree,
+	  safer portability
+
+2009-08-09 15:56  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/node.c, lib/vector/rtree/split.c: use union in
+	  rtree
+
+2009-08-09 09:12  hamish
+
+	* scripts/r.tileset/r.tileset.html: trivial cosmetic whitespace
+
+2009-08-09 07:59  hamish
+
+	* display/d.grid/fiducial.c, display/d.vect/plot1.c,
+	  include/symbol.h, lib/symbol/stroke.c: S_stroke() size int ->
+	  double
+
+2009-08-08 18:50  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: read sidx: adjusted order of
+	  checks
+
+2009-08-08 11:47  mmetz
+
+	* vector/v.info/main.c, vector/v.info/v.info.html: v.info support
+	  for level 1 (no topology)
+
+2009-08-08 10:37  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: breaking backwards compatibility,
+	  sorry
+
+2009-08-08 10:13  mmetz
+
+	* lib/vector/rtree/index.h, lib/vector/rtree/split.c: RTree
+	  performance compromise
+
+2009-08-08 10:12  mmetz
+
+	* include/vect/dig_defines.h: sidx version adjusted
+
+2009-08-08 10:06  mmetz
+
+	* vector/v.vol.rst/user3.c: LFS-safe, fixed G_fseek argument
+
+2009-08-08 10:04  mmetz
+
+	* vector/v.in.dxf/read_dxf.c: G_percent argument fix
+
+2009-08-08 09:52  neteler
+
+	* configure, configure.in: check if GEOS is sufficiently new
+
+2009-08-08 09:50  neteler
+
+	* vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/v.lidar.edgedetection.html:
+	  documentation fix for classes
+
+2009-08-08 09:39  mmetz
+
+	* lib/vector/Vlib/header.c, lib/vector/Vlib/init_head.c,
+	  lib/vector/Vlib/open.c: initialize and set proj and zone in
+	  vector head
+
+2009-08-08 09:34  mmetz
+
+	* include/vector.h: new function to set proj for vector head
+
+2009-08-07 18:28  mmetz
+
+	* lib/vector/Vlib/open.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/spindex.c: sidx initialization consistent with
+	  topo initialization
+
+2009-08-07 15:30  mmetz
+
+	* vector/v.in.dxf/global.h, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/read_dxf.c, vector/v.vol.rst/user1.c,
+	  vector/v.vol.rst/user3.c: LFS-safe v.in.dxf and v.vol.rst
+
+2009-08-07 15:26  mmetz
+
+	* raster/r.drain/filldir.c, raster/r.drain/main.c,
+	  raster/r.drain/resolve.c, raster/r.drain/tinf.c,
+	  raster/r.drain/tinf.h: LFS-safe r.drain
+
+2009-08-06 15:25  glynn
+
+	* lib/gis/parser.c: Check option types
+
+2009-08-06 08:48  hamish
+
+	* vector/v.buffer/main.c: +missing guisections (merge from devbr6)
+
+2009-08-06 07:47  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: fixed loading index, some cleanup
+
+2009-08-04 15:25  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: loading spatial index fixed
+
+2009-08-04 06:44  martinl
+
+	* display/d.colors/main.c, display/d.nviz/main.c,
+	  display/d.what.rast/opencell.c, doc/raster/r.example/main.c,
+	  general/g.region/main.c, gui/wxpython/nviz/load.cpp,
+	  imagery/i.atcorr/main.cpp, imagery/i.class/main.c,
+	  imagery/i.cluster/open_files.c,
+	  imagery/i.evapo.time_integration/main.c,
+	  imagery/i.gensig/labels.c, imagery/i.gensig/openfiles.c,
+	  imagery/i.gensig/parse.c, imagery/i.gensigset/labels.c,
+	  imagery/i.gensigset/openfiles.c, imagery/i.gensigset/parse.c,
+	  imagery/i.group/main.c, imagery/i.smap/opencell.c,
+	  include/gisdefs.h, lib/gis/find_cell.c, lib/gis/legal_name.c,
+	  lib/gpde/N_arrays_io.c, lib/manage/do_remove.c,
+	  lib/manage/do_rename.c, lib/ogsf/GS2.c, lib/ogsf/Gp3.c,
+	  lib/ogsf/Gs3.c, lib/ogsf/gsd_legend.c, lib/raster/auto_mask.c,
+	  lib/raster/color_read.c, lib/raster/gdal.c,
+	  lib/raster/get_cellhd.c, lib/raster/mask_info.c,
+	  lib/raster/opencell.c, lib/raster/rasterlib.dox,
+	  lib/rst/interp_float/input2d.c, raster/r.buffer/main.c,
+	  raster/r.category/main.c, raster/r.coin/main.c,
+	  raster/r.colors/main.c, raster/r.compress/main.c,
+	  raster/r.cost/main.c, raster/r.cross/main.c,
+	  raster/r.distance/distance.c, raster/r.distance/parse.c,
+	  raster/r.fill.dir/main.c, raster/r.flow/io.c,
+	  raster/r.horizon/main.c, raster/r.in.gdal/main.c,
+	  raster/r.info/main.c, raster/r.kappa/main.c,
+	  raster/r.kappa/mask.c, raster/r.kappa/stats.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.pixel/driver.c,
+	  raster/r.los/main.c, raster/r.mapcalc/map.c,
+	  raster/r.null/main.c, raster/r.out.gdal/main.c,
+	  raster/r.proj/main.c, raster/r.reclass/main.c,
+	  raster/r.report/maskinfo.c, raster/r.report/parse.c,
+	  raster/r.ros/main.c, raster/r.spread/main.c,
+	  raster/r.spreadpath/main.c, raster/r.sun/main.c,
+	  raster/r.support/main.c, raster/r.surf.contour/main.c,
+	  raster/r.terraflow/grass2str.h, raster/r.terraflow/main.cc,
+	  raster/r.topmodel/check_ready.c, raster/r.watershed/shed/read.c,
+	  raster/r.watershed/shed/valid.c, raster/simwe/simlib/input.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c, visualization/nviz2/cmd/surface.c:
+	  gislib: G_find_cell renamed to G_find_raster
+
+2009-08-03 20:24  martinl
+
+	* raster/r.mapcalc/main.c: rasterli is already initialized
+
+2009-08-03 20:01  martinl
+
+	* lib/python/core.py: core.py: import gettext
+
+2009-08-03 18:01  martinl
+
+	* vector/v.db.select/main.c: v.db.select: output to file (trac
+	  #710, patch by mlennert)
+
+2009-08-03 17:50  martinl
+
+	* scripts/g.extension/g.extension.py: grass -> grass7
+
+2009-08-03 16:49  martinl
+
+	* scripts/v.report/v.report.py: fix multiline message
+
+2009-08-03 16:32  martinl
+
+	* scripts/d.correlate/d.correlate.py, scripts/d.polar/d.polar.py,
+	  scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py, scripts/g.extension/g.extension.py,
+	  scripts/g.manual/g.manual.py,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer/r.buffer.py, scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/r.grow/r.grow.py, scripts/r.in.aster/r.in.aster.py,
+	  scripts/r.in.srtm/r.in.srtm.py, scripts/r.in.wms/gdalwarp.py,
+	  scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms_download.py,
+	  scripts/r.in.wms/wms_request.py, scripts/r.mask/r.mask.py,
+	  scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.regression.line/r.regression.line.py,
+	  scripts/r.rgb/r.rgb.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/r.tileset/r.tileset.py,
+	  scripts/v.build.all/v.build.all.py,
+	  scripts/v.centroids/v.centroids.py, scripts/v.colors/v.colors.py,
+	  scripts/v.convert.all/v.convert.all.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py, scripts/v.in.mapgen/v.in.mapgen.py,
+	  scripts/v.in.sites.all/v.in.sites.all.py,
+	  scripts/v.in.wfs/v.in.wfs.py, scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py: scripts: use _() macro around
+	  messages
+
+2009-08-03 15:36  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: fix UnboundLocalError
+
+2009-08-03 15:19  martinl
+
+	* scripts/v.dissolve/v.dissolve.py: fix v.dissolve (import
+	  grass.script)
+
+2009-08-03 14:53  martinl
+
+	* vector/v.in.ogr/main.c: there is no G_strdup in GRASS 7
+
+2009-08-03 13:14  martinl
+
+	* gui/wxpython/vdigit/line.cpp, imagery/i.class/main.c,
+	  imagery/i.group/main.c, imagery/i.points/main.c,
+	  imagery/i.target/main.c, imagery/i.vpoints/main.c,
+	  include/gisdefs.h, lib/g3d/g3dregion.c, lib/g3d/g3dwindowio.c,
+	  lib/gis/file_name.c, lib/gis/find_file.c, lib/gis/find_vect.c,
+	  lib/gis/legal_name.c, lib/gis/nme_in_mps.c, lib/gis/open.c,
+	  lib/gis/open_misc.c, lib/gis/remove.c, lib/gis/rename.c,
+	  lib/imagery/sigfile.c, lib/manage/do_remove.c,
+	  lib/raster/color_remove.c, lib/raster/color_write.c,
+	  lib/raster/quant_io.c, lib/raster/quant_rw.c,
+	  lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.showdspf/r3_find.c,
+	  vector/lidar/v.lidar.growing/main.c, vector/v.out.ogr/main.c:
+	  gislib G__name_is_fully_qualified() renamed to
+	  G_name_is_fully_qualified()
+
+2009-08-03 12:35  martinl
+
+	* lib/gis/nme_in_mps.c: cosmetics - fix indentation
+
+2009-08-03 12:32  martinl
+
+	* display/d.title/fancy.c, display/d.title/normal.c,
+	  include/gisdefs.h, lib/g3d/g3dopen.c, lib/gis/nme_in_mps.c,
+	  lib/raster/opencell.c: gislib: G__unqualified_name() renamed to
+	  G_unqualified_name()
+
+2009-08-03 06:57  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: + docs
+
+2009-08-02 21:09  neteler
+
+	* lib/rst/interp_float/segmen2d.c: code layout prettified with
+	  tools/grass_indent.sh
+
+2009-08-02 21:01  neteler
+
+	* lib/rst/interp_float/segmen2d.c: helena: fix for running out of
+	  memory problem for large data sets (merge from develbranch_6,
+	  r38560)
+
+2009-08-02 20:35  neteler
+
+	* lib/proj/coordinate_axis.csv, lib/proj/ellipsoid.csv,
+	  lib/proj/gcs.csv, lib/proj/gdal_datum.csv, lib/proj/pcs.csv,
+	  lib/proj/projop_wparm.csv, lib/proj/unit_of_measure.csv: Upgrade
+	  EPSG derived files to EPSG 7.1 (following GDAL)
+
+2009-08-02 18:09  mmetz
+
+	* vector/v.out.ogr/main.c: fix for #634
+
+2009-08-02 17:40  neteler
+
+	* lib/gis/nme_in_mps.c: attempt at documenting what
+	  G__unqualified_name() does
+
+2009-08-02 13:28  neteler
+
+	* vector/lidar/v.lidar.growing/main.c: strip off mapset from input
+	  for SQL
+
+2009-08-02 10:39  neteler
+
+	* contributors_extra.csv, imagery/i.atcorr/GeomCond.cpp,
+	  imagery/i.atcorr/GeomCond.h, imagery/i.atcorr/Iwave.cpp,
+	  imagery/i.atcorr/Iwave.h: Michael Perdue <michael perdue yahoo
+	  ca>: ASTER sensor added (trac #712)
+
+2009-08-02 09:15  neteler
+
+	* vector/v.in.ogr/main.c: Juergen Fischer: osgeo4w fix
+
+2009-08-02 09:01  neteler
+
+	* mswindows/osgeo4w/config.h.switch, mswindows/osgeo4w/config.h.vc,
+	  mswindows/osgeo4w/gdal-1.6.diff,
+	  mswindows/osgeo4w/gdalplugins.cmd,
+	  mswindows/osgeo4w/grass70.bat.tmpl,
+	  mswindows/osgeo4w/grass70.tmpl, mswindows/osgeo4w/ini.bat.tmpl,
+	  mswindows/osgeo4w/mklibs.sed, mswindows/osgeo4w/mklibs.sh,
+	  mswindows/osgeo4w/package.cmd, mswindows/osgeo4w/package.sh,
+	  mswindows/osgeo4w/postinstall.bat,
+	  mswindows/osgeo4w/preremove.bat: Juergen Fischer: osgeo4w
+	  additions/updates
+
+2009-07-31 13:14  martinl
+
+	* lib/cluster/c_exec.c: missing glocale.h header
+
+2009-07-31 11:46  martinl
+
+	* display/d.extract/extract.c, display/d.thematic.area/area.c,
+	  display/d.thematic.area/main.c, display/d.vect/area.c,
+	  display/d.vect/main.c, display/d.vect/plot1.c,
+	  display/d.zoom/main.c, general/g.region/main.c,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp,
+	  gui/wxpython/vdigit/line.cpp, imagery/i.points/driver.c,
+	  include/P_site.h, include/cluster.h, include/proto_dbmi.h,
+	  include/std_incs.h, include/vect/dig_defines.h,
+	  include/vect/dig_externs.h, include/vect/dig_macros.h,
+	  include/vect/dig_structs.h, include/vector.h, lib/gis/Makefile,
+	  lib/gis/find_file.c, lib/gis/find_vect.c, lib/gis/legal_name.c,
+	  lib/gis/open.c, lib/gis/zero.c, lib/nviz/nvizlib.dox,
+	  lib/sites/sites.c, lib/vector/Vlib/area.c,
+	  lib/vector/Vlib/array.c, lib/vector/Vlib/box.c,
+	  lib/vector/Vlib/break_lines.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/clean_nodes.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/dgraph.h,
+	  lib/vector/Vlib/error.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/geos.c, lib/vector/Vlib/graph.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/hist.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/merge_lines.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/remove_duplicates.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/Vlib/tin.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/dglib/graph.h, lib/vector/dglib/graph_v1.h,
+	  lib/vector/dglib/graph_v2.h, lib/vector/diglib/box.c,
+	  lib/vector/diglib/cindex.c, lib/vector/diglib/cindex_rw.c,
+	  lib/vector/diglib/file.c, lib/vector/diglib/frmt.c,
+	  lib/vector/diglib/inside.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_node.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/port_init.c, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c,
+	  lib/vector/diglib/struct_alloc.c, lib/vector/diglib/test.c,
+	  ps/ps.map/ps_vareas.c, ps/ps.map/ps_vlines.c,
+	  ps/ps.map/ps_vpoints.c, raster/r.region/main.c,
+	  vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.outlier/outlier.h,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.clean/prune.c,
+	  vector/v.convert/read.c, vector/v.db.select/main.c,
+	  vector/v.delaunay/defs.h, vector/v.delaunay/in_out.c,
+	  vector/v.delaunay/in_out.h, vector/v.delaunay/main.c,
+	  vector/v.distance/main.c, vector/v.edit/select.c,
+	  vector/v.external/main.c, vector/v.generalize/displacement.c,
+	  vector/v.generalize/main.c, vector/v.generalize/network.c,
+	  vector/v.generalize/operators.h, vector/v.hull/main.c,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.ogr/geom.c,
+	  vector/v.in.ogr/main.c, vector/v.info/main.c,
+	  vector/v.kcv/main.c, vector/v.kernel/main.c,
+	  vector/v.label.sa/labels.c, vector/v.label.sa/labels.h,
+	  vector/v.neighbors/main.c, vector/v.normal/main.c,
+	  vector/v.out.dxf/main.c, vector/v.out.svg/main.c,
+	  vector/v.patch/main.c, vector/v.select/main.c,
+	  vector/v.support/main.c, vector/v.to.3d/main.c,
+	  vector/v.transform/main.c, vector/v.voronoi/defs.h,
+	  vector/v.voronoi/sw_main.c, vector/v.what.rast/main.c,
+	  visualization/nviz/src/site_attr_commands.c: vectorlib:
+	  * eliminate 'typedef struct'
+	  * GRASS_VECT renamed to GV_
+
+2009-07-31 11:43  martinl
+
+	* lib/display/displaylib.dox, lib/ogsf/ogsflib.dox: displaylib &
+	  ogsflib doxygen updates
+
+2009-07-31 11:41  martinl
+
+	* lib/db/dbmi_base/string.c: doxygen update
+
+2009-07-31 11:32  martinl
+
+	* doc/vector/TODO: vector TODO updated
+
+2009-07-31 11:26  martinl
+
+	* lib/vector/Vlib/field.c: vectorlib: Vect_get_field_by_name()
+	  added (see doc/vector/TODO)
+	  some doxygen updates
+
+2009-07-31 11:04  martinl
+
+	* lib/grasslib.dox: cosmetics in grasslib.dox
+
+2009-07-31 11:02  martinl
+
+	* lib/vector/vectorlib.dox, lib/vector/vedit/veditlib.dox:
+	  vectorlib doxygen doc update
+
+2009-07-31 10:51  martinl
+
+	* lib/cluster/c_assign.c, lib/cluster/c_begin.c,
+	  lib/cluster/c_clear.c, lib/cluster/c_distinct.c,
+	  lib/cluster/c_exec.c, lib/cluster/c_execmem.c,
+	  lib/cluster/c_means.c, lib/cluster/c_merge.c,
+	  lib/cluster/c_nclasses.c, lib/cluster/c_point.c,
+	  lib/cluster/c_reassign.c, lib/cluster/c_reclass.c,
+	  lib/cluster/c_sep.c, lib/cluster/c_sig.c, lib/cluster/c_sum2.c,
+	  lib/cluster/clusterlib.dox: clusterlib doc doxygenized
+
+2009-07-29 07:21  martinl
+
+	* gui/wxpython/xml/menudata.xml: Link to GDAL/OGR moved to 'File'
+	  item menu (see trac #643)
+
+2009-07-29 07:07  martinl
+
+	* lib/init/grass.py: don't crash when .grassrc7 is missing
+
+2009-07-25 16:17  mmetz
+
+	* lib/vector/Vlib/buffer2.c: Vect_area_buffer2 still broken
+
+2009-07-25 14:59  mmetz
+
+	* lib/vector/Vlib/buffer2.c: fix for bug #699
+
+2009-07-25 10:26  glynn
+
+	* include/rasterdefs.h, lib/raster/R.h, lib/raster/gdal.c,
+	  lib/raster/get_row.c, lib/raster/init.c, lib/raster/opencell.c,
+	  lib/raster/put_row.c, lib/raster/set_window.c,
+	  lib/raster/window_map.c: Remove R__.window[_set],
+	  Rast__init_window
+
+2009-07-24 00:55  hamish
+
+	* display/d.vect/main.c: update standard_option to new name
+
+2009-07-24 00:15  hamish
+
+	* display/d.vect/plot1.c: init pointer to NULL to prevent possible
+	  unclean free() (merge from devbr6)
+
+2009-07-23 21:48  neteler
+
+	* raster/r.patch/main.c, raster/r.patch/nfiles.h,
+	  raster/r.patch/r.patch.html: remove cruft; there is no max limit
+	  any more
+
+2009-07-23 08:22  hamish
+
+	* display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot1.c: new options for dynamic symbol size and
+	  rotation (trac #600; merge from devbr6)
+
+2009-07-23 08:07  hamish
+
+	* lib/symbol/stroke.c: minor whitespace (merge from devbr6)
+
+2009-07-22 08:38  neteler
+
+	* lib/gis/colors.desc, lib/gis/colors/corine: +EU Corine land cover
+	  colors (thanks to Emilia Venturato, from
+	  http://dataservice.eea.europa.eu/dataservice/metadetails.asp?id=1007)
+
+2009-07-21 04:30  hamish
+
+	* include/gis.h: + Revision keyowrd svn prop
+
+2009-07-21 03:26  kyngchaos
+
+	* visualization/xganim/Makefile: strip 64bit arch flags on OSX if
+	  32bit-only wxpython
+
+2009-07-20 19:02  neteler
+
+	* general/g.remove/Makefile: Makefile fix
+
+2009-07-20 19:01  neteler
+
+	* display/d.title/Makefile, raster3d/r3.mkdspf/Makefile: Makefile
+	  fix
+
+2009-07-20 15:38  neteler
+
+	* display/d.title/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.profile/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster/r.neighbors/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.rast.arrow/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.nviz/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.legend/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster/r.to.rast3/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* general/g.rename/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster/r.resamp.stats/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster3d/r3.to.rast/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.vect/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* general/g.mremove/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* vector/v.vol.rst/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.colortable/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* general/g.region/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster/r.resamp.rst/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster3d/r3.out.vtk/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.rgb/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster/r.to.rast3elev/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.rast/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster3d/r3.cross.rast/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.his/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.histogram/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster/r.gwflow/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* display/d.rast.num/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster/r.univar/Makefile: added missing RASTERLIB
+
+2009-07-20 15:38  neteler
+
+	* raster/r.series/Makefile: added missing RASTERLIB
+
+2009-07-20 04:55  hamish
+
+	* REQUIREMENTS.html: +geos
+
+2009-07-20 04:04  glynn
+
+	* lib/init/grass.py: Allow for trailing slash in non-interactive
+	  startup
+
+2009-07-18 06:55  neteler
+
+	* swig/python/examples/m.distance.py,
+	  swig/python/examples/rasteraccess.py,
+	  swig/python/examples/vectoraccess.py: point to installed dir
+
+2009-07-18 06:52  neteler
+
+	* swig/python/examples/rasteraccess.py: script still broken
+
+2009-07-17 23:39  glynn
+
+	* swig/include/raster.i: Include libraster function declarations
+
+2009-07-17 23:36  neteler
+
+	* locale/po/grasswxpy_it.po: msg cosmetics; encoding
+
+2009-07-17 23:30  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'd
+
+2009-07-17 22:50  neteler
+
+	* swig/python/examples/vectoraccess.py: show use of GRASS modules
+
+2009-07-17 04:37  hamish
+
+	* general/g.proj/main.c: typo (merge from devbr6)
+
+2009-07-16 21:16  martinl
+
+	* general/g.proj/main.c: g.proj: cosmetics in guisection, i18n
+	  (merge from devbr6, r38441)
+
+2009-07-16 20:21  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/location_wizard.py: wxGUI: parse error
+	  message in location wizard
+	  (merge from devbr6, r38439)
+
+2009-07-16 11:00  mmetz
+
+	* lib/vector/vectorlib.dox: updated programmers manual
+
+2009-07-16 08:32  pkelly
+
+	* lib/gis/datum.table: Add gda94
+
+2009-07-16 06:09  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: write sidx with better
+	  portability
+
+2009-07-15 20:42  glynn
+
+	* include/rasterdefs.h, lib/raster/auto_mask.c, lib/raster/gdal.c,
+	  lib/raster/init.c, lib/raster/opencell.c,
+	  lib/raster/set_window.c, lib/raster/window_map.c: Initialize
+	  raster library automatically
+
+2009-07-15 15:09  neteler
+
+	* lib/rowio/Makefile: added missing lib
+
+2009-07-15 13:15  martinl
+
+	* include/rasterdefs.h, lib/raster/init.c, raster/r.mapcalc/main.c:
+	  Rename Rast__init() to Rast_init()
+	  Call Rast_init() in r.mapcalc
+
+2009-07-15 12:59  neteler
+
+	* lib/raster/R.h, lib/raster/alloc_cell.c, lib/raster/cats.c,
+	  lib/raster/cellstats_eq.c, lib/raster/closecell.c,
+	  lib/raster/color_compat.c, lib/raster/color_free.c,
+	  lib/raster/color_get.c, lib/raster/color_hist.c,
+	  lib/raster/color_insrt.c, lib/raster/color_invrt.c,
+	  lib/raster/color_look.c, lib/raster/color_org.c,
+	  lib/raster/color_range.c, lib/raster/color_read.c,
+	  lib/raster/color_rule.c, lib/raster/color_rules.c,
+	  lib/raster/color_set.c, lib/raster/color_write.c,
+	  lib/raster/color_xform.c, lib/raster/fpreclass.c,
+	  lib/raster/gdal.c, lib/raster/get_cellhd.c, lib/raster/get_row.c,
+	  lib/raster/get_row_colr.c, lib/raster/histo_eq.c,
+	  lib/raster/histogram.c, lib/raster/history.c, lib/raster/init.c,
+	  lib/raster/interp.c, lib/raster/null_val.c,
+	  lib/raster/opencell.c, lib/raster/put_cellhd.c,
+	  lib/raster/put_row.c, lib/raster/put_title.c, lib/raster/quant.c,
+	  lib/raster/quant_io.c, lib/raster/quant_rw.c, lib/raster/range.c,
+	  lib/raster/raster.c, lib/raster/raster_metadata.c,
+	  lib/raster/reclass.c, lib/raster/sample.c,
+	  lib/raster/set_window.c, lib/raster/window_map.c: applied
+	  ../../tools/grass_indent.sh
+
+2009-07-15 11:34  neteler
+
+	* lib/raster/rasterlib.dox: cleanup continued
+
+2009-07-15 09:57  martinl
+
+	* lib/gis/Makefile, lib/raster/Makefile: fix trac #685
+
+2009-07-15 09:13  martinl
+
+	* raster/r.ros/Makefile, raster/r.ros/local_proto.h,
+	  raster/r.ros/main.c, raster/r.ros/r.ros.html,
+	  raster/r.ros/spot_dist.c: r.ros cleaning up
+
+2009-07-14 14:48  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: Make GMConsole working
+	  outside of wxGUI
+	  (merge from devbr6, r38416)
+
+2009-07-14 13:53  martinl
+
+	* general/g.parser/test.py: synchronized with g.parser manual page
+
+2009-07-14 05:32  hamish
+
+	* general/g.parser/g.parser.html, general/g.parser/test.pl,
+	  general/g.parser/test.py, general/g.parser/test.sh: further
+	  cleaning (merge from devbr6) [test.py prob needs more work]
+
+2009-07-13 17:26  martinl
+
+	* doc/raster/r.example, doc/raster/r.example/Makefile,
+	  doc/raster/r.example/main.c, doc/vector/v.example,
+	  doc/vector/v.example/main.c: fix example modules (rasterlib)
+
+2009-07-13 17:04  martinl
+
+	* scripts/g.extension/g.extension.py: ckeck GISBASE
+
+2009-07-13 17:01  martinl
+
+	* scripts/g.extension/g.extension.py: prefix -> ~/.grass/addons
+
+2009-07-13 15:28  mmetz
+
+	* lib/vector/diglib/spindex_rw.c: write sidx fixed
+
+2009-07-13 15:03  martinl
+
+	* general/g.parser/g.parser.html: manual page updated
+
+2009-07-13 12:57  mmetz
+
+	* vector/v.what/main.c: library takes care of the spatial index
+
+2009-07-13 12:33  mmetz
+
+	* vector/v.in.ogr/main.c: spatial index update
+
+2009-07-13 12:32  mmetz
+
+	* vector/v.select/main.c: spatial index update
+
+2009-07-13 12:32  mmetz
+
+	* vector/v.what/main.c: spatial index update
+
+2009-07-13 12:31  mmetz
+
+	* vector/v.build/main.c: spatial index update
+
+2009-07-13 12:29  mmetz
+
+	* include/vect/dig_externs.h, include/vect/dig_structs.h,
+	  include/vector.h: updated vector includes
+
+2009-07-13 12:27  mmetz
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/sindex.c: Vlib new spatial index
+
+2009-07-13 12:26  mmetz
+
+	* lib/vector/diglib/plus.c, lib/vector/diglib/spindex.c,
+	  lib/vector/diglib/spindex_rw.c: diglib new spatial index
+
+2009-07-13 12:24  mmetz
+
+	* lib/vector/rtree/Makefile, lib/vector/rtree/Makefile.alone,
+	  lib/vector/rtree/card.c, lib/vector/rtree/card.h,
+	  lib/vector/rtree/docs/README.grass,
+	  lib/vector/rtree/docs/README.txt, lib/vector/rtree/docs/test.c,
+	  lib/vector/rtree/gammavol.c, lib/vector/rtree/index.c,
+	  lib/vector/rtree/index.h, lib/vector/rtree/node.c,
+	  lib/vector/rtree/rect.c, lib/vector/rtree/rtree.h,
+	  lib/vector/rtree/split.c, lib/vector/rtree/split.h,
+	  lib/vector/rtree/split_q.c, lib/vector/rtree/split_q.h: new rtree
+
+2009-07-13 10:38  neteler
+
+	* lib/raster/rasterlib.dox: doc review started
+
+2009-07-13 06:57  mmetz
+
+	* lib/vector/diglib/poly.c: topo building algorithm update
+
+2009-07-13 06:51  mmetz
+
+	* lib/vector/Vlib/build_nat.c: topo building bugfix
+
+2009-07-13 05:16  hamish
+
+	* lib/README: revert r38357: don't tear down the main street signs
+	  just because satnav is available
+
+2009-07-13 05:07  hamish
+
+	* lib/gis/parser.c: less ambiguous fn name
+
+2009-07-12 10:16  pkelly
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table: Fix CH1903
+	  datum transformation parameters as per bug #35
+
+2009-07-12 09:48  martinl
+
+	* vector/v.external/v.external.html: minor cleanup of v.external's
+	  manual page
+
+2009-07-12 09:32  martinl
+
+	* vector/v.external/main.c: v.external: options labels updated,
+	  more guisections
+
+2009-07-12 09:25  martinl
+
+	* vector/v.external/main.c: v.external: flag to skip building
+	  topology
+
+2009-07-12 09:21  martinl
+
+	* vector/v.external/list.c, vector/v.external/local_proto.h,
+	  vector/v.external/main.c: v.external: minor code clean up
+
+2009-07-11 16:23  kyngchaos
+
+	* macosx/Makefile, macosx/ReadMe.rtf, macosx/bundle.make,
+	  macosx/pkg/bundle.make: bundling step now works for install also;
+	  simplified duplication in install and bindist;
+
+2009-07-11 11:53  martinl
+
+	* general/g.parser/main.c, scripts/d.correlate/d.correlate.py,
+	  scripts/d.polar/d.polar.py, scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py, scripts/g.extension/g.extension.py,
+	  scripts/g.manual/g.manual.py,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py, scripts/i.oif/i.oif.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.buffer/r.buffer.py,
+	  scripts/r.colors.stddev/r.colors.stddev.py,
+	  scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/r.in.srtm/r.in.srtm.py,
+	  scripts/r.in.wms/r.in.gdalwarp.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.mask/r.mask.py, scripts/r.out.xyz/r.out.xyz.py,
+	  scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.regression.line/r.regression.line.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/r.tileset/r.tileset.py,
+	  scripts/v.centroids/v.centroids.py, scripts/v.colors/v.colors.py,
+	  scripts/v.convert.all/v.convert.all.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py, scripts/v.in.mapgen/v.in.mapgen.py,
+	  scripts/v.in.sites.all/v.in.sites.all.py,
+	  scripts/v.out.gps/v.out.gps.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.what.vect/v.what.vect.py:
+	  split keywords also in scripts (to avoid duplicated translations)
+
+2009-07-11 09:27  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: fix gettext warnings
+
+2009-07-11 08:39  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  scripts/v.db.join/v.db.join.py: fix 'problem with gui wx with
+	  module v.db.join' - trac #490
+
+2009-07-11 07:57  martinl
+
+	* mswindows/osgeo4w/package.sh: /c/MinGW not needed
+
+2009-07-10 21:43  martinl
+
+	* lib/grasslib.dox, lib/rowio/Makefile, lib/rowio/rowiolib.dox:
+	  doxygen page for rowiolib
+
+2009-07-10 21:05  martinl
+
+	* include/rowio.h, lib/rowio/fileno.c, lib/rowio/forget.c,
+	  lib/rowio/get.c, lib/rowio/put.c, lib/rowio/release.c,
+	  lib/rowio/setup.c, raster/r.mfilter/execute.c,
+	  raster/r.mfilter/perform.c, raster/r.thin/io.c: rowiolib: fns
+	  rename to follow naming convetions (rowio_ -> Rowio_)
+	  some doxygen documentation
+
+2009-07-10 19:13  martinl
+
+	* lib/README: readme remove, document it in doxygen
+
+2009-07-10 18:53  martinl
+
+	* lib/gis/parser.c: make script() to be language-agnostic
+	  minor cleanup
+
+2009-07-10 16:13  martinl
+
+	* lib/raster/rasterlib.dox: include list of function, todo:
+	  reorder, update
+
+2009-07-10 15:31  martinl
+
+	* lib/raster/rasterlib.dox: updated, fns renamed
+	  major cleanup needed...
+
+2009-07-10 13:49  martinl
+
+	* scripts/v.rast.stats/v.rast.stats.py: v.rast.stats: fix module
+	  (grass.vector_db() returns dictionary not tuple of values)
+	  message cosmetics
+
+2009-07-10 08:59  martinl
+
+	* general/g.parser/main.c, lib/gis/parser.c: include
+	  'guidependency' in scripts
+
+2009-07-10 08:42  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix G_OPT_V_FIELD opts
+	  (multi)
+
+2009-07-10 08:22  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, include/gis.h,
+	  lib/gis/parser.c, vector/v.distance/main.c: attempt to fix trac
+	  #671 (wxgui: v.distance to_column option inaccessible)
+
+2009-07-09 20:18  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: cleanup zoomback,
+	  enable/disable tool
+
+2009-07-09 18:34  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: attempt to fix trac #483
+	  (merge from relbr64, r38334)
+
+2009-07-09 09:59  martinl
+
+	* lib/display/rastergraphicslib.dox: remove outdated doxygen file
+
+2009-07-09 09:12  martinl
+
+	* lib/db/dbmilib.dox, lib/grasslib.dox, lib/vector/dglib/dglib.dox,
+	  lib/vector/vectorlib.dox, lib/vector/vedit/veditlib.dox:
+	  cosmetics in doxygen ref names
+
+2009-07-09 07:16  hamish
+
+	* raster/r.neighbors/r.neighbors.html: note NULL behaviour (merge
+	  from devbr6); remove references to the -q flag
+
+2009-07-08 19:22  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: save named region -
+	  clean up
+
+2009-07-08 16:43  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py: wrong coordinates after zoom
+	  to named region (trac #678)
+
+2009-07-08 06:40  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: use SpinCTRL
+	  for layer instead of Choice
+	  (merge from devbr6, r38304)
+
+2009-07-08 06:07  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: fix mapdisplay
+	  statusbar coordinates formating
+	  precision default 2
+
+2009-07-08 05:39  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: note also flags
+
+2009-07-07 19:36  martinl
+
+	* vector/v.to.3d/main.c, vector/v.to.3d/trans2.c,
+	  vector/v.to.3d/trans3.c: v.to.3d: cleanup if fails, see trac #550
+
+2009-07-07 11:38  martinl
+
+	* lib/vector/vectorlib.dox: cosmetics in doxygen documentation
+	  (tables style)
+
+2009-07-06 13:28  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: don't cast code
+	  if empty
+	  (merge from devbr6, r38285)
+
+2009-07-06 12:08  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: format coordinates in
+	  the mapdisplay statusbar (deg/dms,
+	  precision)
+
+2009-07-05 19:59  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: updating wxGUI
+	  menu is not implemeted yet
+
+2009-07-05 19:45  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: cosmetics in
+	  guisection
+
+2009-07-05 19:44  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: don't crash when
+	  full path is not defined
+
+2009-07-05 19:38  martinl
+
+	* gui/wxpython/xml/menudata.xml: g.extension added to the wxGUI
+	  menu
+
+2009-07-05 19:29  martinl
+
+	* scripts/g.extension/g.extension.py: add missing comma
+
+2009-07-05 19:27  martinl
+
+	* scripts/g.extension/g.extension.py: install fixed
+
+2009-07-05 19:02  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: new paramaters
+	  'svnurl' & 'menuitem'
+
+2009-07-05 18:46  martinl
+
+	* scripts/g.extension/g.extension.py: g.extension: print warning if
+	  module already installed
+
+2009-07-05 18:37  martinl
+
+	* scripts/g.extension/g.extension.html,
+	  scripts/g.extension/g.extension.py: + prefix and operation
+	  paramaters add
+	  very simple uninstall method
+
+2009-07-05 18:09  martinl
+
+	* scripts/Makefile: compile g.extension
+
+2009-07-05 18:07  martinl
+
+	* scripts/g.extension, scripts/g.extension/Makefile,
+	  scripts/g.extension/g.extension.add.html,
+	  scripts/g.extension/g.extension.add.py,
+	  scripts/g.extension/g.extension.html,
+	  scripts/g.extension/g.extension.py: g.extension.add moved from
+	  grass-addons to trunk & renamed to
+	  g.extension
+
+2009-07-05 17:23  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: mention EPSG code in
+	  mapdisplay statusbar
+
+2009-07-05 16:39  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI: projection statusbar info
+	  checkbox moved to the mapdisplay
+	  status and stored in workspace file
+
+2009-07-05 13:49  neteler
+
+	* raster/r.terraflow/main.cc: restore use of flowStream subdir
+
+2009-07-05 13:45  neteler
+
+	* raster/r.terraflow/main.cc: use TEMP var on windows
+
+2009-07-05 13:09  martinl
+
+	* vector/v.select/main.c: v.select: for disjoint use reverse
+	  intersect (todo: change module's algorithm)
+
+2009-07-05 12:44  martinl
+
+	* vector/v.select/args.c: v.select: add missing ainput
+
+2009-07-05 09:04  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: launch script with
+	  full path
+
+2009-07-05 08:42  neteler
+
+	* lib/gis/gislib.dox: leftover doxygen tag removed
+
+2009-07-05 08:29  neteler
+
+	* lib/iostream/ami_stream.cc: report correct error on Windows
+
+2009-07-04 20:28  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: determine map layer
+	  name
+
+2009-07-04 17:46  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.test/db.test.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py,
+	  scripts/v.db.update/v.db.update.py: db.executes's input required
+
+2009-07-04 16:53  martinl
+
+	* db/db.execute/main.c: db.excute: there is no 'Set' guisection
+
+2009-07-04 16:49  martinl
+
+	* db/db.connect/main.c, db/db.execute/main.c, include/gis.h,
+	  lib/gis/parser.c: G_OPT_DB_SCHEMA added to gislib
+	  db.execute: 'schema' paramater added
+
+2009-07-04 16:23  martinl
+
+	* db/db.execute/main.c: db.execute: input required
+	  don't ignore default schema: trac #673
+
+2009-07-04 15:54  martinl
+
+	* db/db.connect/main.c: db.connect more guisections
+
+2009-07-04 15:26  martinl
+
+	* gui/wxpython/gui_modules/utils.py: m.proj uses current location
+	  as input if proj_input is not given
+
+2009-07-04 15:24  martinl
+
+	* scripts/m.proj/m.proj.py: m.proj: in/out -> input/output
+
+2009-07-04 15:23  martinl
+
+	* scripts/m.proj/m.proj.py: m.proj: if proj_in not given assume
+	  current location as input
+
+2009-07-04 15:13  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix statusbar proj info
+	  (on failure)
+
+2009-07-03 12:39  martinl
+
+	* raster/Makefile, raster/r.sun, raster/r.sun2: r.sun2 -> r.sun
+
+2009-07-03 08:31  hamish
+
+	* raster/r.sun2/main.c: (Thomas Huld) Fixed problem with incidence
+	  angle being 0 when the sun isn't there. Now the value is null.
+	  Note that this is also the case if the pixel is in shadow. (merge
+	  from devbr6)
+
+2009-07-03 08:29  hamish
+
+	* raster/r.sun2/rsunlib.c: cleanup whitespace (merge from devbr6)
+
+2009-07-03 07:13  hamish
+
+	* raster/r.sun: drop old version to avoid confusion
+
+2009-07-02 20:16  neteler
+
+	* scripts/db.test/test1: Marco Ciolli: test fixes
+
+2009-07-02 19:13  neteler
+
+	* locale/po/grassmods_de.po, locale/po/grasswxpy_de.po: Robert
+	  Nuske: cont'ed
+
+2009-07-02 11:14  martinl
+
+	* gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: reuse preferences dialog
+
+2009-07-02 09:06  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: cosmetics in
+	  label
+	  (merge from devbr6, r38156)
+
+2009-07-02 08:20  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix proj statusbar
+	  resolution
+	  (merge from devbr6, r38154)
+
+2009-07-02 08:08  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: fix latlong proj in
+	  statusbar
+	  (merge from devbr6, r38152)
+
+2009-07-01 20:21  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/wxgui.py: wxGUI:
+	  latlong bug-fixes
+	  (merge from devbr6, r38150)
+
+2009-07-01 17:07  martinl
+
+	* include/colors.h: remove 'extern' from include/colors.h
+
+2009-07-01 15:55  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: fix m.proj
+
+2009-07-01 14:54  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: statusbar projection
+	  settings
+	  (merge from devbr6, r38141, r38143)
+
+2009-07-01 11:54  hamish
+
+	* general/g.region/local_proto.h, general/g.region/main.c,
+	  general/g.region/printwindow.c: New -t flag: Print the current
+	  region in GMT style (merge from devbr6)
+
+2009-07-01 11:42  martinl
+
+	* include/display.h, include/imagery.h, include/raster.h,
+	  lib/rst/interp_float/interpf.h: add missing grass/raster.h header
+
+2009-07-01 09:48  martinl
+
+	* display/d.title/fancy.c, display/d.title/local_proto.h,
+	  imagery/i.cca/local_proto.h, imagery/i.gensig/local_proto.h,
+	  imagery/i.his.rgb/globals.h, imagery/i.modis.qc/mod09A1a.c,
+	  imagery/i.modis.qc/mod09A1c.c, imagery/i.modis.qc/mod09A1d.c,
+	  imagery/i.modis.qc/mod09A1e.c, imagery/i.modis.qc/mod09A1sa.c,
+	  imagery/i.modis.qc/mod09A1sb.c, imagery/i.modis.qc/mod09A1sc.c,
+	  imagery/i.modis.qc/mod09A1sd.c, imagery/i.modis.qc/mod09A1se.c,
+	  imagery/i.modis.qc/mod09A1sf.c, imagery/i.modis.qc/mod09A1sg.c,
+	  imagery/i.modis.qc/mod09A1sh.c, imagery/i.modis.qc/mod09A1si.c,
+	  imagery/i.modis.qc/mod09A1sj.c, imagery/i.modis.qc/mod09A1sk.c,
+	  imagery/i.modis.qc/mod09Q1a.c, imagery/i.modis.qc/mod09Q1b.c,
+	  imagery/i.modis.qc/mod09Q1c.c, imagery/i.modis.qc/mod09Q1d.c,
+	  imagery/i.modis.qc/mod09Q1e.c, imagery/i.modis.qc/mod09Q1f.c,
+	  imagery/i.modis.qc/mod11A2a.c, imagery/i.modis.qc/mod11A2b.c,
+	  imagery/i.modis.qc/mod11A2c.c, imagery/i.modis.qc/mod11A2d.c,
+	  imagery/i.rgb.his/globals.h, imagery/i.smap/bouman.h,
+	  include/G3d.h, include/gis.h, include/raster.h,
+	  include/rasterdefs.h, include/site.h, include/stats.h,
+	  lib/raster/color_init.c, lib/raster/color_insrt.c,
+	  lib/raster/color_invrt.c, lib/raster/color_range.c,
+	  lib/raster/color_rule_get.c, lib/raster/color_shift.c,
+	  lib/raster/history.c, lib/raster/interp.c,
+	  ps/ps.map/local_proto.h, ps/ps.map/parse_list.c,
+	  ps/ps.map/ps_info.h, raster/r.carve/enforce.h,
+	  raster/r.cross/glob.h, raster/r.describe/local_proto.h,
+	  raster/r.describe/tree.c, raster/r.distance/defs.h,
+	  raster/r.distance/distance.c, raster/r.distance/edges.c,
+	  raster/r.distance/report.c, raster/r.flow/r.flow.h,
+	  raster/r.in.gridatb/local_proto.h, raster/r.in.poly/getformat.c,
+	  raster/r.info/local_proto.h, raster/r.kappa/kappa.h,
+	  raster/r.li/r.li.daemon/GenericCell.h,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.los/delete.c,
+	  raster/r.los/mark_pts.c, raster/r.mapcalc/mapcalc.h,
+	  raster/r.mapcalc/xrand.c, raster/r.mapcalc/xrowcol.c,
+	  raster/r.mfilter/filter.h, raster/r.neighbors/ncb.h,
+	  raster/r.out.gridatb/local_proto.h, raster/r.param.scale/param.h,
+	  raster/r.profile/local_proto.h, raster/r.quant/global.h,
+	  raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/ransurf.h, raster/r.random/local_proto.h,
+	  raster/r.reclass/rule.h, raster/r.recode/global.h,
+	  raster/r.report/global.h, raster/r.report/main.c,
+	  raster/r.report/parse.c, raster/r.report/stats.c,
+	  raster/r.ros/spot_dist.c, raster/r.spread/select_linksB.c,
+	  raster/r.spread/spot.c, raster/r.spread/spread.c,
+	  raster/r.surf.contour/contour.h, raster/r.surf.idw/main.h,
+	  raster/r.thin/local_proto.h, raster/r.water.outlet/basin.h,
+	  raster/r.watershed/seg/cseg.h, raster3d/base/mask_functions.h,
+	  swig/include/python/common.i, swig/include/python/utils.i,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/v.to.rast/local.h: rasterlib: prototypes moved to
+	  rasterdefs.h
+	  raster related macros and structure moved from gis.h to raster.h
+	  module fixed, grass/raster.h included where missing
+
+2009-06-30 21:11  neteler
+
+	* vector/lidar/lidarlib/Makefile: added RASTERLIB/RASTERDEP
+
+2009-06-30 21:10  neteler
+
+	* lib/cluster/Makefile: added RASTERLIB/RASTERDEP
+
+2009-06-30 21:09  neteler
+
+	* raster/r.li/r.li.daemon/Makefile: added RASTERLIB/RASTERDEP
+
+2009-06-30 18:50  martinl
+
+	* display/d.graph/do_graph.c, display/d.graph/main.c,
+	  display/d.labels/color.c, display/d.rast/display.c,
+	  include/colors.h, lib/nviz/nviz.c, lib/raster/color_hist.c,
+	  ps/ps.map/do_labels.c, ps/ps.map/main.c, ps/ps.map/ps_vareas.c,
+	  ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_border.c, ps/ps.map/r_plt.c, ps/ps.map/r_text.c,
+	  ps/ps.map/r_vareas.c, ps/ps.map/r_vlines.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/r_wind.c,
+	  vector/v.to.rast/support.c: add G_str_to_color to colors.h
+	  include grass/colors.h where is missing
+
+2009-06-30 17:49  martinl
+
+	* include/raster.h, lib/raster/closecell.c, lib/raster/get_row.c,
+	  lib/raster/zero_cell.c, raster/r.le/r.le.patch/driver.c,
+	  raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.trace/main.c,
+	  raster/r.random.cells/init.c: rasterlib: fns from zero_cell.c
+	  renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-30 17:39  martinl
+
+	* include/raster.h, lib/raster/sample.c, vector/v.drape/main.c,
+	  vector/v.extrude/main.c, vector/v.sample/main.c: rasterlib: fns
+	  from samle.c renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-30 17:25  martinl
+
+	* include/raster.h, lib/raster/raster_metadata.c,
+	  ps/ps.map/ps_fclrtbl.c, raster/r.info/main.c,
+	  raster/r.los/main.c, raster/r.param.scale/close_down.c,
+	  raster/r.support/main.c: rasterlib: fns from raster_metadata.c
+	  renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-30 16:53  martinl
+
+	* imagery/i.pca/main.c, include/raster.h, lib/raster/cats.c,
+	  lib/raster/color_look.c, lib/raster/color_rule.c,
+	  lib/raster/get_row.c, lib/raster/put_row.c, lib/raster/raster.c,
+	  raster/r.cost/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.mat/main.c, raster/r.in.xyz/main.c,
+	  raster/r.in.xyz/support.c, raster/r.null/mask.c,
+	  raster/r.patch/do_patch.c, raster/r.proj/bilinear.c,
+	  raster/r.proj/bilinear_f.c, raster/r.proj/cubic.c,
+	  raster/r.proj/cubic_f.c, raster/r.proj/nearest.c,
+	  raster/r.slope.aspect/main.c, raster/r.stats/raw_stats.c,
+	  raster/r.to.vect/areas.c, raster/r.walk/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/lidarlib/zones.c, vector/v.neighbors/main.c:
+	  rasterlib: fns from raster.c renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-30 16:20  martinl
+
+	* doc/raster/r.example/main.c, imagery/i.albedo/main.c,
+	  imagery/i.atcorr/main.cpp, imagery/i.biomass/main.c,
+	  imagery/i.cca/transform.c, imagery/i.class/signature.c,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.h_SEBAL01/main.c, imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.his.rgb/main.c, imagery/i.ifft/main.c,
+	  imagery/i.latlong/main.c, imagery/i.maxlik/main.c,
+	  imagery/i.modis.qc/main.c, imagery/i.pca/main.c,
+	  imagery/i.rectify/write.c, imagery/i.rgb.his/main.c,
+	  imagery/i.smap/write_img.c, imagery/i.sunhours/main.c,
+	  imagery/i.vi/main.c, imagery/i.zc/main.c, include/raster.h,
+	  lib/gpde/N_arrays_io.c, lib/raster/closecell.c,
+	  lib/raster/opencell.c, lib/raster/put_row.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c,
+	  raster/r.basins.fill/main.c, raster/r.bitpattern/main.c,
+	  raster/r.buffer/write_map.c, raster/r.carve/raster.c,
+	  raster/r.circle/main.c, raster/r.clump/clump.c,
+	  raster/r.composite/main.c, raster/r.compress/main.c,
+	  raster/r.cost/main.c, raster/r.cross/cross.c,
+	  raster/r.cross/renumber.c, raster/r.drain/main.c,
+	  raster/r.drain/tinf.c, raster/r.fill.dir/main.c,
+	  raster/r.fill.dir/tinf.c, raster/r.flow/io.c,
+	  raster/r.flow/main.c, raster/r.grow.distance/main.c,
+	  raster/r.grow/main.c, raster/r.his/main.c,
+	  raster/r.horizon/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.gridatb/file_io.c,
+	  raster/r.in.mat/main.c, raster/r.in.poly/raster.c,
+	  raster/r.in.xyz/main.c, raster/r.lake/main.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.li/r.li.daemon/daemon.c, raster/r.los/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mfilter/perform.c,
+	  raster/r.neighbors/main.c, raster/r.null/main.c,
+	  raster/r.param.scale/process.c, raster/r.patch/main.c,
+	  raster/r.proj/main.c, raster/r.random.cells/indep.c,
+	  raster/r.random.surface/save.c, raster/r.random/random.c,
+	  raster/r.recode/recode.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.resample/main.c,
+	  raster/r.ros/main.c, raster/r.series/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.spread/ram2out.c,
+	  raster/r.spreadpath/main.c, raster/r.statistics2/main.c,
+	  raster/r.statistics3/main.c, raster/r.sun/main.c,
+	  raster/r.sun2/main.c, raster/r.sunmask/main.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.random/randsurf.c,
+	  raster/r.terraflow/grass2str.h, raster/r.texture/main.c,
+	  raster/r.thin/io.c, raster/r.topidx/file_io.c,
+	  raster/r.uslek/main.c, raster/r.usler/main.c,
+	  raster/r.walk/main.c, raster/r.water.outlet/main.c,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/simwe/simlib/output.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/lidarlib/zones.c, vector/v.kernel/main.c,
+	  vector/v.neighbors/main.c, vector/v.surf.idw/main.c,
+	  vector/v.to.rast/raster.c, vector/v.vol.rst/user1.c: rasterlib:
+	  fns from put_row.c renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-30 16:12  glynn
+
+	* lib/gis/parser.c: Pass full pathname to menuform.py
+
+2009-06-30 16:00  glynn
+
+	* swig/include/grass.i: Add functions/structures from colors.h
+
+2009-06-30 15:57  glynn
+
+	* include/gisdefs.h: Most color_str.c functions are declared in
+	  colors.h
+
+2009-06-29 21:28  martinl
+
+	* include/raster.h: fix raster.h (r38120)
+
+2009-06-29 21:26  martinl
+
+	* lib/raster/alloc_cell.c: cosmetics in doxygen docs
+
+2009-06-29 21:09  martinl
+
+	* display/d.colors/main.c, display/d.colortable/main.c,
+	  display/d.his/main.c, display/d.histogram/get_stats.c,
+	  display/d.legend/main.c, display/d.nviz/main.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/display.c,
+	  display/d.rast/main.c, display/d.rgb/main.c,
+	  display/d.what.rast/opencell.c, display/d.what.rast/what.c,
+	  doc/raster/r.example/main.c, general/g.region/zoom.c,
+	  imagery/i.albedo/main.c, imagery/i.atcorr/main.cpp,
+	  imagery/i.biomass/main.c, imagery/i.cca/main.c,
+	  imagery/i.class/band_files.c, imagery/i.class/draw_cell.c,
+	  imagery/i.class/signature.c, imagery/i.cluster/open_files.c,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.h_SEBAL01/main.c, imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/openfiles.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.his.rgb/openfiles.c, imagery/i.ifft/main.c,
+	  imagery/i.latlong/main.c, imagery/i.maxlik/open.c,
+	  imagery/i.modis.qc/main.c, imagery/i.pca/main.c,
+	  imagery/i.pca/support.c, imagery/i.points/drawcell.c,
+	  imagery/i.rectify/rectify.c, imagery/i.rectify/write.c,
+	  imagery/i.rgb.his/openfiles.c, imagery/i.smap/opencell.c,
+	  imagery/i.sunhours/main.c, imagery/i.vi/main.c,
+	  imagery/i.vpoints/drawcell.c, imagery/i.zc/main.c,
+	  include/raster.h, lib/gpde/N_arrays_io.c, lib/ogsf/Gs3.c,
+	  lib/ogsf/gsd_legend.c, lib/raster/auto_mask.c, lib/raster/cats.c,
+	  lib/raster/color_read.c, lib/raster/gdal.c,
+	  lib/raster/get_row_colr.c, lib/raster/opencell.c,
+	  lib/raster/put_row.c, lib/raster/quant_io.c,
+	  lib/raster/quant_rw.c, lib/raster/range.c,
+	  lib/rst/interp_float/input2d.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/resout2d.c, ps/ps.map/outl_io.c,
+	  ps/ps.map/ps_raster.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_colortable.c, ps/ps.map/r_group.c, ps/ps.map/r_rgb.c,
+	  raster/r.basins.fill/main.c, raster/r.basins.fill/read_map.c,
+	  raster/r.bitpattern/main.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/write_map.c, raster/r.carve/main.c,
+	  raster/r.category/cats.c, raster/r.category/main.c,
+	  raster/r.circle/main.c, raster/r.clump/main.c,
+	  raster/r.colors/main.c, raster/r.colors/stats.c,
+	  raster/r.composite/main.c, raster/r.compress/main.c,
+	  raster/r.contour/main.c, raster/r.cost/main.c,
+	  raster/r.covar/main.c, raster/r.cross/main.c,
+	  raster/r.describe/describe.c, raster/r.distance/distance.c,
+	  raster/r.distance/edges.c, raster/r.drain/main.c,
+	  raster/r.fill.dir/main.c, raster/r.flow/io.c,
+	  raster/r.grow.distance/main.c, raster/r.grow/main.c,
+	  raster/r.his/main.c, raster/r.horizon/main.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.gridatb/file_io.c, raster/r.in.mat/main.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.in.xyz/main.c,
+	  raster/r.info/main.c, raster/r.lake/main.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.trace/main.c,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c, raster/r.los/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mfilter/perform.c,
+	  raster/r.neighbors/main.c, raster/r.null/main.c,
+	  raster/r.out.arc/main.c, raster/r.out.ascii/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.gdal/export_band.c,
+	  raster/r.out.gdal/main.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.png/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/main.c, raster/r.out.vrml/main.c,
+	  raster/r.out.vtk/main.c, raster/r.param.scale/open_files.c,
+	  raster/r.patch/main.c, raster/r.profile/main.c,
+	  raster/r.proj/main.c, raster/r.quant/main.c,
+	  raster/r.quantile/main.c, raster/r.random.cells/indep.c,
+	  raster/r.random.cells/init.c, raster/r.random.surface/init.c,
+	  raster/r.random.surface/main.c, raster/r.random.surface/save.c,
+	  raster/r.random/count.c, raster/r.random/random.c,
+	  raster/r.reclass/main.c, raster/r.recode/read_rules.c,
+	  raster/r.recode/recode.c, raster/r.report/parse.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.rst/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/get_stats.c, raster/r.rescale/get_range.c,
+	  raster/r.ros/main.c, raster/r.series/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.spread/main.c, raster/r.spreadpath/main.c,
+	  raster/r.statistics/main.c, raster/r.statistics2/main.c,
+	  raster/r.statistics3/main.c, raster/r.stats/main.c,
+	  raster/r.sun/main.c, raster/r.sun2/main.c,
+	  raster/r.sunmask/main.c, raster/r.support.stats/check.c,
+	  raster/r.support.stats/histo.c, raster/r.support/check.c,
+	  raster/r.support/histo.c, raster/r.support/main.c,
+	  raster/r.surf.area/main.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.contour/read_cell.c,
+	  raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c,
+	  raster/r.surf.random/randsurf.c, raster/r.terraflow/grass2str.h,
+	  raster/r.terraflow/main.cc, raster/r.texture/main.c,
+	  raster/r.thin/io.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/main.c,
+	  raster/r.topidx/file_io.c, raster/r.univar/r.univar_main.c,
+	  raster/r.uslek/main.c, raster/r.usler/main.c,
+	  raster/r.volume/main.c, raster/r.walk/main.c,
+	  raster/r.water.outlet/main.c,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c,
+	  raster/r.what.color/main.c, raster/r.what/main.c,
+	  raster/simwe/simlib/input.c, raster/simwe/simlib/output.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.drape/main.c,
+	  vector/v.extrude/main.c, vector/v.kernel/main.c,
+	  vector/v.neighbors/main.c, vector/v.sample/main.c,
+	  vector/v.surf.idw/main.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c, vector/v.what.rast/main.c,
+	  visualization/xganim/main.cc: rasterlib: fns from opencell.c
+	  renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-29 19:59  martinl
+
+	* display/d.his/main.c, display/d.nviz/main.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/display.c,
+	  display/d.rgb/main.c, display/d.what.rast/what.c,
+	  doc/raster/r.example/main.c, general/g.region/zoom.c,
+	  imagery/i.albedo/main.c, imagery/i.atcorr/main.cpp,
+	  imagery/i.biomass/main.c, imagery/i.cca/transform.c,
+	  imagery/i.class/draw_cell.c, imagery/i.class/readbands.c,
+	  imagery/i.cluster/main.c, imagery/i.eb.eta/main.c,
+	  imagery/i.eb.evapfr/main.c, imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.eb.soilheatflux/main.c, imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/covariance.c, imagery/i.gensig/get_train.c,
+	  imagery/i.gensig/means.c, imagery/i.gensig/read_train.c,
+	  imagery/i.gensigset/get_train.c, imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c, imagery/i.his.rgb/main.c,
+	  imagery/i.ifft/main.c, imagery/i.latlong/main.c,
+	  imagery/i.maxlik/main.c, imagery/i.modis.qc/main.c,
+	  imagery/i.pca/main.c, imagery/i.points/drawcell.c,
+	  imagery/i.rectify/perform.c, imagery/i.rgb.his/main.c,
+	  imagery/i.smap/read_block.c, imagery/i.sunhours/main.c,
+	  imagery/i.vi/main.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.zc/main.c, include/raster.h, lib/gpde/N_arrays_io.c,
+	  lib/ogsf/Gs3.c, lib/raster/get_row.c, lib/raster/get_row_colr.c,
+	  lib/raster/opencell.c, lib/raster/put_row.c, lib/raster/sample.c,
+	  lib/rst/interp_float/input2d.c, lib/rst/interp_float/ressegm2d.c,
+	  ps/ps.map/outl_io.c, ps/ps.map/ps_raster.c,
+	  raster/r.basins.fill/read_map.c, raster/r.bitpattern/main.c,
+	  raster/r.buffer/read_map.c, raster/r.buffer/write_map.c,
+	  raster/r.carve/raster.c, raster/r.category/cats.c,
+	  raster/r.clump/clump.c, raster/r.colors/stats.c,
+	  raster/r.composite/main.c, raster/r.compress/main.c,
+	  raster/r.contour/main.c, raster/r.cost/main.c,
+	  raster/r.covar/main.c, raster/r.cross/cross.c,
+	  raster/r.cross/renumber.c, raster/r.describe/describe.c,
+	  raster/r.distance/distance.c, raster/r.distance/edges.c,
+	  raster/r.drain/main.c, raster/r.drain/tinf.c,
+	  raster/r.fill.dir/tinf.c, raster/r.flow/io.c,
+	  raster/r.grow.distance/main.c, raster/r.grow/main.c,
+	  raster/r.his/main.c, raster/r.horizon/main.c,
+	  raster/r.lake/main.c, raster/r.le/r.le.patch/driver.c,
+	  raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.setup/sample.c,
+	  raster/r.le/r.le.trace/main.c, raster/r.li/r.li.daemon/worker.c,
+	  raster/r.los/main.c, raster/r.mapcalc/map.c,
+	  raster/r.mfilter/getrow.c, raster/r.neighbors/readcell.c,
+	  raster/r.null/main.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/formspecific.c, raster/r.out.bin/main.c,
+	  raster/r.out.gdal/export_band.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.png/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/main.c, raster/r.out.vrml/put_grid.c,
+	  raster/r.out.vtk/writeascii.c, raster/r.param.scale/process.c,
+	  raster/r.patch/main.c, raster/r.profile/read_rast.c,
+	  raster/r.proj/readcell.c, raster/r.quantile/main.c,
+	  raster/r.random.cells/init.c, raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/init.c, raster/r.random.surface/save.c,
+	  raster/r.random/count.c, raster/r.random/random.c,
+	  raster/r.recode/recode.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.resample/main.c, raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale/get_range.c, raster/r.ros/main.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.spread/collect_ori.c, raster/r.spread/main.c,
+	  raster/r.spreadpath/main.c, raster/r.statistics2/main.c,
+	  raster/r.statistics3/main.c, raster/r.stats/cell_stats.c,
+	  raster/r.stats/raw_stats.c, raster/r.sun/main.c,
+	  raster/r.sun2/main.c, raster/r.sunmask/main.c,
+	  raster/r.support.stats/histo.c, raster/r.support/histo.c,
+	  raster/r.surf.area/main.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.contour/read_cell.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c,
+	  raster/r.terraflow/grass2str.h, raster/r.texture/main.c,
+	  raster/r.thin/io.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/points.c,
+	  raster/r.to.vect/util.c, raster/r.topidx/file_io.c,
+	  raster/r.univar/r.univar_main.c, raster/r.uslek/main.c,
+	  raster/r.usler/main.c, raster/r.volume/centroids.c,
+	  raster/r.volume/main.c, raster/r.walk/main.c,
+	  raster/r.water.outlet/main.c, raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c,
+	  raster/r.what/main.c, raster/simwe/simlib/input.c,
+	  raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/v.kernel/main.c, vector/v.surf.idw/main.c,
+	  vector/v.to.rast/support.c, vector/v.vol.rst/user1.c,
+	  vector/v.vol.rst/user3.c, vector/v.what.rast/main.c,
+	  visualization/xganim/main.cc: rasterlib: fns from get_row.c
+	  renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-29 19:19  martinl
+
+	* include/raster.h, lib/raster/color_xform.c,
+	  raster/r.colors/main.c: rasterlib: fns from color_xform.c
+	  renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-29 19:00  martinl
+
+	* display/d.colors/interact.c, include/raster.h,
+	  lib/raster/color_shift.c: rasterlib: fns from color_shift.c
+	  renamed
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-29 18:53  martinl
+
+	* display/d.colors/interact.c, display/d.his/his.c,
+	  imagery/i.class/signature.c, imagery/i.maxlik/main.c,
+	  include/raster.h, lib/raster/color_init.c,
+	  lib/raster/color_set.c, raster/r.external/main.c,
+	  raster/r.his/his.c, raster/r.in.gdal/main.c,
+	  raster/r.patch/support.c, raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/seg/close_maps2.c: rasterlib: fns from
+	  color_set.c renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-29 18:43  martinl
+
+	* include/raster.h, lib/raster/color_rule_get.c,
+	  raster/r.colors.out/main.c, raster/r.out.gdal/export_band.c:
+	  rasterlib: fns from color_rule_get.c renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-29 09:49  martinl
+
+	* imagery/i.albedo/main.c, imagery/i.biomass/main.c,
+	  imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.evapo.time_integration/main.c,
+	  imagery/i.modis.qc/main.c, imagery/i.vi/main.c,
+	  imagery/i.vpoints/colors.c, include/raster.h, lib/g3d/g3dcolor.c,
+	  lib/raster/color_hist.c, lib/raster/color_init.c,
+	  lib/raster/color_insrt.c, lib/raster/color_rand.c,
+	  lib/raster/color_read.c, lib/raster/color_rule.c,
+	  lib/raster/color_rules.c, lib/raster/color_set.c,
+	  lib/raster/color_write.c, lib/raster/color_xform.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c,
+	  ps/ps.map/main.c, raster/r.composite/main.c, raster/r.flow/io.c,
+	  raster/r.lake/main.c, raster/r.param.scale/write_cols.c,
+	  raster/r.random.surface/save.c, raster/r.random/support.c,
+	  raster/r.slope.aspect/main.c, raster/r.terraflow/main.cc,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/simwe/simlib/output.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/v.to.rast/support.c: rasterlib: fns from color_rule.c
+	  renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-28 20:49  martinl
+
+	* include/raster.h, lib/raster/color_rand.c,
+	  lib/raster/color_range.c, raster/r.le/r.le.patch/trace.c,
+	  raster/r.resample/main.c: rasterlib: Rast_set_color_range ->
+	  Rast_set_c_color_range
+
+2009-06-28 20:21  martinl
+
+	* lib/ogsf/Gs3.c, raster/r.colors.out/main.c: fix
+	  Rast_lookup_c_colors()
+
+2009-06-28 19:25  martinl
+
+	* include/raster.h, lib/display/raster.c, lib/ogsf/Gs3.c,
+	  lib/raster/color_get.c, lib/raster/color_look.c,
+	  lib/raster/get_row_colr.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/map3.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.png/main.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.vrml/put_grid.c,
+	  visualization/xganim/main.cc: rasterlib: fns from color_look.c
+	  renamed, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-28 19:00  martinl
+
+	* display/d.colors/interact.c, display/d.colors/tbl_toggle.c,
+	  display/d.legend/main.c, display/d.rast.num/main.c,
+	  display/d.vect/area.c, display/d.vect/plot1.c, include/raster.h,
+	  lib/display/raster2.c, lib/ogsf/Gp3.c, lib/ogsf/Gs3.c,
+	  lib/ogsf/Gvl3.c, lib/ogsf/gsd_legend.c, lib/raster/color_get.c,
+	  lib/raster/color_range.c, lib/raster/color_read.c,
+	  lib/raster/color_rule.c, lib/raster/color_write.c,
+	  lib/raster/color_xform.c, ps/ps.map/ps_clrtbl.c,
+	  ps/ps.map/ps_fclrtbl.c, ps/ps.map/ps_raster.c,
+	  ps/ps.map/r_cell.c, raster/r.colors.out/main.c,
+	  raster/r.le/r.le.patch/trace.c, raster/r.out.gdal/export_band.c,
+	  raster/r.out.tiff/main.c, raster/r.patch/support.c,
+	  raster/r.profile/read_rast.c, raster/r.resample/main.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/seg/close_maps2.c, raster/r.what.color/main.c,
+	  raster/r.what/main.c: rasterlib: fns from color_get.c renamed,
+	  see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-28 17:49  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: prompt - on left mouse
+	  button pressed - show dropdown list
+
+2009-06-28 16:44  martinl
+
+	* display/d.his/main.c, display/d.nviz/main.c,
+	  display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.rast/display.c, display/d.rgb/main.c,
+	  doc/raster/r.example/main.c, general/g.region/zoom.c,
+	  imagery/i.albedo/main.c, imagery/i.atcorr/main.cpp,
+	  imagery/i.biomass/main.c, imagery/i.cca/main.c,
+	  imagery/i.class/band_files.c, imagery/i.class/draw_cell.c,
+	  imagery/i.class/signature.c, imagery/i.cluster/main.c,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.h_SEBAL01/main.c, imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/closefiles.c, imagery/i.gensigset/closefiles.c,
+	  imagery/i.his.rgb/closefiles.c, imagery/i.ifft/main.c,
+	  imagery/i.latlong/main.c, imagery/i.maxlik/main.c,
+	  imagery/i.modis.qc/main.c, imagery/i.pca/main.c,
+	  imagery/i.points/drawcell.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/write.c, imagery/i.rgb.his/closefiles.c,
+	  imagery/i.smap/closefiles.c, imagery/i.sunhours/main.c,
+	  imagery/i.vi/main.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.zc/main.c, include/raster.h, lib/gpde/N_arrays_io.c,
+	  lib/ogsf/Gs3.c, lib/raster/auto_mask.c, lib/raster/closecell.c,
+	  lib/raster/opencell.c, lib/raster/set_window.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c,
+	  ps/ps.map/outl_io.c, ps/ps.map/ps_raster.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_group.c, ps/ps.map/r_rgb.c,
+	  raster/r.basins.fill/main.c, raster/r.basins.fill/read_map.c,
+	  raster/r.bitpattern/main.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/write_map.c, raster/r.carve/main.c,
+	  raster/r.category/cats.c, raster/r.category/main.c,
+	  raster/r.circle/main.c, raster/r.clump/main.c,
+	  raster/r.colors/stats.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.cost/main.c,
+	  raster/r.cross/main.c, raster/r.describe/describe.c,
+	  raster/r.distance/distance.c, raster/r.distance/edges.c,
+	  raster/r.drain/main.c, raster/r.fill.dir/main.c,
+	  raster/r.flow/io.c, raster/r.flow/main.c,
+	  raster/r.grow.distance/main.c, raster/r.grow/main.c,
+	  raster/r.his/main.c, raster/r.horizon/main.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.gridatb/file_io.c, raster/r.in.mat/main.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.in.xyz/main.c,
+	  raster/r.lake/main.c, raster/r.le/r.le.patch/driver.c,
+	  raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/sample.c,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c, raster/r.los/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mfilter/perform.c,
+	  raster/r.neighbors/main.c, raster/r.null/main.c,
+	  raster/r.out.arc/main.c, raster/r.out.ascii/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.png/main.c,
+	  raster/r.out.pov/main.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.vrml/main.c,
+	  raster/r.out.vtk/main.c, raster/r.param.scale/close_down.c,
+	  raster/r.patch/main.c, raster/r.profile/main.c,
+	  raster/r.proj/main.c, raster/r.quantile/main.c,
+	  raster/r.random.cells/indep.c, raster/r.random.cells/init.c,
+	  raster/r.random.surface/save.c, raster/r.random/random.c,
+	  raster/r.recode/recode.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.resample/main.c, raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale/get_range.c, raster/r.ros/main.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.spread/main.c, raster/r.spreadpath/main.c,
+	  raster/r.statistics2/main.c, raster/r.statistics3/main.c,
+	  raster/r.sun/main.c, raster/r.sun2/main.c,
+	  raster/r.sunmask/main.c, raster/r.support.stats/histo.c,
+	  raster/r.support/histo.c, raster/r.support/main.c,
+	  raster/r.surf.area/main.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.contour/read_cell.c,
+	  raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c,
+	  raster/r.surf.random/randsurf.c, raster/r.terraflow/grass2str.h,
+	  raster/r.texture/main.c, raster/r.thin/io.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.to.vect/main.c, raster/r.topidx/file_io.c,
+	  raster/r.uslek/main.c, raster/r.usler/main.c,
+	  raster/r.walk/main.c, raster/r.water.outlet/main.c,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/shed/read.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/errorHandling.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.drape/main.c,
+	  vector/v.kernel/main.c, vector/v.neighbors/main.c,
+	  vector/v.sample/main.c, vector/v.surf.idw/main.c,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c,
+	  vector/v.vol.rst/main.c, visualization/xganim/main.cc: rasterlib:
+	  Rast_unopen_cell -> Rast_unopen
+	  Rast_close_cell -> Rast_close
+	  see http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-27 19:27  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: don't crash when
+	  history file is missing
+
+2009-06-27 19:10  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: mask indicator
+	  moved to the statusbar
+	  (merge from devbr6, r38101)
+
+2009-06-27 17:49  martinl
+
+	* imagery/i.gensig/labels.c, imagery/i.gensigset/labels.c,
+	  lib/raster/closecell.c, raster/r.cross/main.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.reclass/main.c,
+	  raster/r.stats/main.c, raster/r.support.stats/check.c,
+	  raster/r.support/check.c, raster/r.support/main.c: fix
+	  Rast_init_cats
+
+2009-06-27 16:25  martinl
+
+	* display/d.colors/curses.c, display/d.histogram/bar.c,
+	  display/d.histogram/get_stats.c, display/d.histogram/pie.c,
+	  display/d.legend/main.c, display/d.what.rast/what.c,
+	  imagery/i.gensig/get_train.c, imagery/i.gensigset/get_train.c,
+	  imagery/i.maxlik/main.c, imagery/i.smap/labels.c,
+	  include/raster.h, lib/g3d/g3dcats.c, lib/g3d/g3dclose.c,
+	  lib/ogsf/Gs3.c, lib/ogsf/gsd_legend.c, lib/raster/cats.c,
+	  lib/raster/sample.c, ps/ps.map/ps_clrtbl.c,
+	  raster/r.buffer/support.c, raster/r.category/main.c,
+	  raster/r.compress/main.c, raster/r.cross/cats.c,
+	  raster/r.digit/get_label.c, raster/r.distance/labels.c,
+	  raster/r.grow/Makefile, raster/r.grow/main.c,
+	  raster/r.in.poly/get_item.c, raster/r.kappa/prt_label.c,
+	  raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/texture.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/map3.c, raster/r.mode/main.c,
+	  raster/r.neighbors/divr_cats.c, raster/r.neighbors/intr_cats.c,
+	  raster/r.neighbors/null_cats.c, raster/r.null/main.c,
+	  raster/r.param.scale/param.h, raster/r.param.scale/write_cats.c,
+	  raster/r.patch/support.c, raster/r.random.surface/save.c,
+	  raster/r.random/support.c, raster/r.reclass/parse.c,
+	  raster/r.reclass/reclass.c, raster/r.report/prt_report.c,
+	  raster/r.resample/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.statistics/o_adev.c, raster/r.statistics/o_average.c,
+	  raster/r.statistics/o_divr.c, raster/r.statistics/o_kurt.c,
+	  raster/r.statistics/o_max.c, raster/r.statistics/o_median.c,
+	  raster/r.statistics/o_min.c, raster/r.statistics/o_mode.c,
+	  raster/r.statistics/o_sdev.c, raster/r.statistics/o_skew.c,
+	  raster/r.statistics/o_sum.c, raster/r.statistics/o_var.c,
+	  raster/r.statistics2/main.c, raster/r.stats/raw_stats.c,
+	  raster/r.stats/stats.c, raster/r.to.vect/areas_io.c,
+	  raster/r.to.vect/util.c, raster/r.volume/main.c,
+	  raster/r.watershed/shed/print.c, raster/r.what/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/v.to.rast/support.c: rasterlib: fns from cats.c cleaned
+	  up, see http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+
+2009-06-27 11:05  martinl
+
+	* scripts/v.db.renamecolumn/v.db.renamecol.html,
+	  scripts/v.db.renamecolumn/v.db.renamecol.py,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.html,
+	  scripts/v.db.renamecolumn/v.db.renamecolumn.py: v.db.renamecol
+	  renamed to v.db.renamecolumn (part 3)
+
+2009-06-27 11:03  martinl
+
+	* scripts/v.db.renamecol, scripts/v.db.renamecolumn,
+	  scripts/v.db.renamecolumn/Makefile,
+	  scripts/v.db.renamecolumn/v.db.renamecol.html,
+	  scripts/v.db.renamecolumn/v.db.renamecol.py: v.db.renamecol
+	  renamed to v.db.renamecolumn (part 2)
+
+2009-06-27 11:02  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/gui_modules/dbm.py, gui/wxpython/xml/menudata.xml,
+	  raster/r.watershed/front/r.watershed.html, scripts/Makefile,
+	  scripts/v.db.renamecol/Makefile,
+	  scripts/v.db.renamecol/v.db.renamecol.html,
+	  scripts/v.db.renamecol/v.db.renamecol.py,
+	  scripts/v.out.gps/v.out.gps.html, vector/vectorintro.html:
+	  v.db.renamecol renamed to v.db.renamecolumn (part 1)
+
+2009-06-27 10:57  martinl
+
+	* scripts/v.db.dropcol, scripts/v.db.dropcolumn,
+	  scripts/v.db.dropcolumn/Makefile,
+	  scripts/v.db.dropcolumn/v.db.dropcol.html,
+	  scripts/v.db.dropcolumn/v.db.dropcol.py,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.html,
+	  scripts/v.db.dropcolumn/v.db.dropcolumn.py: v.db.dropcol renamed
+	  to v.db.dropcolumn (part 2)
+
+2009-06-27 10:55  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/gui_modules/dbm.py,
+	  raster/r.watershed/front/r.watershed.html, scripts/Makefile,
+	  scripts/db.dropcolumn/db.dropcolumn.html,
+	  scripts/v.colors/v.colors.py,
+	  scripts/v.db.addcol/v.db.addcol.html,
+	  scripts/v.db.addtable/v.db.addtable.html,
+	  scripts/v.db.dropcol/Makefile,
+	  scripts/v.db.dropcol/v.db.dropcol.html,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.dropcol/v.db.dropcolumn.html,
+	  scripts/v.db.dropcol/v.db.dropcolumn.py,
+	  scripts/v.db.droptable/v.db.droptable.html,
+	  scripts/v.db.renamecol/v.db.renamecol.html,
+	  scripts/v.db.renamecol/v.db.renamecol.py,
+	  vector/v.db.connect/v.db.connect.html,
+	  vector/v.transform/v.transform.html,
+	  vector/v.vol.rst/v.vol.rst.html, vector/vectorintro.html:
+	  v.db.dropcol renamed to v.db.dropcolumn (part 1)
+
+2009-06-27 10:41  martinl
+
+	* scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.droptable/db.droptable.py: fix dbtable gisprompt
+
+2009-06-27 10:14  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: indicate if MASK
+	  is available (change mapdisplay title)
+	  minor doxygen updates
+
+2009-06-26 10:11  martinl
+
+	* lib/vector/vectorlib.dox: vectorlib.dox: replace html tags by
+	  doxygen tags
+
+2009-06-26 09:48  martinl
+
+	* include/gis.h, lib/gis/gislib.dox: update gislib dox - add
+	  definition of categories, range, history
+	  structures
+
+2009-06-26 09:24  martinl
+
+	* lib/gis/gislib.dox: remove refs to grassraster/vectorlib
+
+2009-06-26 07:52  martinl
+
+	* imagery/i.atcorr/main.cpp: Rast_allocate_raster_buf ->
+	  Rast_allocate_buf
+
+2009-06-25 22:30  martinl
+
+	* display/d.nviz/main.c, display/d.profile/main.c,
+	  display/d.what.rast/what.c, imagery/i.biomass/main.c,
+	  imagery/i.class/draw_cell.c, imagery/i.cluster/open_files.c,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.h_SEBAL01/main.c, imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/openfiles.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.ifft/main.c, imagery/i.latlong/main.c,
+	  imagery/i.maxlik/open.c, imagery/i.points/drawcell.c,
+	  imagery/i.smap/openfiles.c, imagery/i.sunhours/main.c,
+	  imagery/i.vi/main.c, imagery/i.vpoints/drawcell.c: fix wrongly
+	  renamed Rast_allocate_d_buf () in r38082 (part 2)
+
+2009-06-25 21:43  martinl
+
+	* lib/ogsf/Gs3.c, lib/raster/get_row.c, lib/raster/sample.c,
+	  raster/r.colors/stats.c, raster/r.covar/main.c,
+	  raster/r.drain/main.c, raster/r.drain/tinf.c,
+	  raster/r.fill.dir/tinf.c, raster/r.flow/io.c,
+	  raster/r.grow.distance/main.c, raster/r.grow/main.c,
+	  raster/r.in.arc/main.c, raster/r.in.bin/main.c,
+	  raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mps/mps.c, raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c, raster/r.mfilter/perform.c,
+	  raster/r.neighbors/main.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.png/main.c, raster/r.out.ppm/main.c,
+	  raster/r.profile/read_rast.c, raster/r.quantile/main.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.series/main.c, raster/r.statistics2/main.c,
+	  raster/r.statistics3/main.c, raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.random/randsurf.c,
+	  raster/r.to.vect/points.c, raster/r.uslek/main.c,
+	  raster/r.usler/main.c, raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c, raster/r.what/main.c,
+	  raster/simwe/simlib/input.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.to.rast/main.c, vector/v.surf.idw/main.c,
+	  vector/v.what.rast/main.c: fix wrongly renamed
+	  Rast_allocate_d_buf () in r38082
+
+2009-06-25 21:10  martinl
+
+	* display/d.his/main.c, display/d.nviz/main.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/display.c,
+	  display/d.rgb/main.c, display/d.what.rast/what.c,
+	  doc/raster/r.example/main.c, general/g.region/zoom.c,
+	  imagery/i.albedo/main.c, imagery/i.biomass/main.c,
+	  imagery/i.cca/transform.c, imagery/i.class/band_files.c,
+	  imagery/i.class/draw_cell.c, imagery/i.class/signature.c,
+	  imagery/i.cluster/open_files.c, imagery/i.eb.eta/main.c,
+	  imagery/i.eb.evapfr/main.c, imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.eb.soilheatflux/main.c, imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/openfiles.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.his.rgb/openfiles.c, imagery/i.ifft/main.c,
+	  imagery/i.latlong/main.c, imagery/i.maxlik/open.c,
+	  imagery/i.modis.qc/main.c, imagery/i.pca/main.c,
+	  imagery/i.points/drawcell.c, imagery/i.rectify/exec.c,
+	  imagery/i.rectify/perform.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/write.c, imagery/i.rgb.his/openfiles.c,
+	  imagery/i.smap/openfiles.c, imagery/i.sunhours/main.c,
+	  imagery/i.vi/main.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.zc/main.c, include/raster.h, lib/display/raster.c,
+	  lib/gis/alloc.c, lib/gpde/N_arrays_io.c, lib/ogsf/Gs3.c,
+	  lib/raster/alloc_cell.c, lib/raster/auto_mask.c,
+	  lib/raster/cats.c, lib/raster/color_look.c, lib/raster/get_row.c,
+	  lib/raster/get_row_colr.c, lib/raster/null_val.c,
+	  lib/raster/opencell.c, lib/raster/put_row.c, lib/raster/range.c,
+	  lib/raster/raster.c, lib/raster/sample.c,
+	  lib/raster/set_window.c, lib/raster/zero_cell.c,
+	  lib/rst/interp_float/input2d.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/ressegm2d.c, ps/ps.map/outl_io.c,
+	  ps/ps.map/ps_outline.c, ps/ps.map/ps_raster.c,
+	  raster/r.bitpattern/main.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/write_map.c, raster/r.carve/enforce_ds.c,
+	  raster/r.carve/raster.c, raster/r.category/cats.c,
+	  raster/r.colors/stats.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.cost/main.c,
+	  raster/r.covar/main.c, raster/r.cross/cross.c,
+	  raster/r.cross/renumber.c, raster/r.describe/describe.c,
+	  raster/r.distance/distance.c, raster/r.drain/main.c,
+	  raster/r.drain/tinf.c, raster/r.fill.dir/main.c,
+	  raster/r.fill.dir/tinf.c, raster/r.flow/io.c,
+	  raster/r.flow/main.c, raster/r.flow/mem.c,
+	  raster/r.grow.distance/main.c, raster/r.grow/main.c,
+	  raster/r.his/main.c, raster/r.horizon/main.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.mat/main.c, raster/r.in.poly/raster.c,
+	  raster/r.in.xyz/main.c, raster/r.in.xyz/support.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.trace/main.c,
+	  raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mps/mps.c, raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c, raster/r.los/main.c,
+	  raster/r.mapcalc/evaluate.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/xmedian.c, raster/r.mfilter/perform.c,
+	  raster/r.neighbors/main.c, raster/r.null/main.c,
+	  raster/r.null/mask.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/formspecific.c, raster/r.out.bin/main.c,
+	  raster/r.out.gdal/export_band.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.png/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/main.c, raster/r.out.vtk/writeascii.c,
+	  raster/r.param.scale/process.c, raster/r.patch/do_patch.c,
+	  raster/r.patch/main.c, raster/r.profile/read_rast.c,
+	  raster/r.proj/main.c, raster/r.quantile/main.c,
+	  raster/r.random.cells/init.c, raster/r.random.surface/init.c,
+	  raster/r.random/count.c, raster/r.recode/recode.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.rst/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/get_stats.c, raster/r.rescale/get_range.c,
+	  raster/r.ros/main.c, raster/r.series/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.spread/main.c,
+	  raster/r.spreadpath/main.c, raster/r.statistics2/main.c,
+	  raster/r.statistics3/main.c, raster/r.stats/cell_stats.c,
+	  raster/r.stats/raw_stats.c, raster/r.sun/main.c,
+	  raster/r.sun2/main.c, raster/r.sunmask/main.c,
+	  raster/r.support.stats/histo.c, raster/r.support/histo.c,
+	  raster/r.surf.area/main.c, raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c,
+	  raster/r.surf.random/randsurf.c, raster/r.terraflow/grass2str.h,
+	  raster/r.texture/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/main.c,
+	  raster/r.to.vect/points.c, raster/r.univar/r.univar_main.c,
+	  raster/r.uslek/main.c, raster/r.usler/main.c,
+	  raster/r.volume/centroids.c, raster/r.volume/main.c,
+	  raster/r.walk/main.c, raster/r.water.outlet/main.c,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c,
+	  raster/r.what/main.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/writeVTKData.c, raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/lidarlib/zones.c, vector/v.kernel/main.c,
+	  vector/v.neighbors/main.c, vector/v.surf.idw/main.c,
+	  vector/v.to.rast/support.c, vector/v.vol.rst/user1.c,
+	  vector/v.vol.rst/user3.c, vector/v.what.rast/main.c,
+	  visualization/xganim/main.cc: alloc_cell.c updated, see
+	  http://trac.osgeo.org/grass/wiki/Grass7/RasterLib
+	  * Rast_raster_size -> Rast_cell_size
+	  * Rast_allocate_cell_buf removed
+	  * Rast_allocate_c_raster_buf -> Rast_allocate_c_buf
+	  * Rast_allocate_f_raster_buf -> Rast_allocare_f_buf
+	  * Rast_allocate_d_raster_buf -> Rast_allocate_d_buf
+	  Modules updated
+
+2009-06-25 20:10  martinl
+
+	* lib/gis/gisrasterlib.dox, lib/gis/gisvectorlib.dox,
+	  lib/grasslib.dox, lib/raster/rasterlib.dox: gisrasterlib.dox
+	  moved to lib/raster
+
+2009-06-25 18:47  martinl
+
+	* rfc/RFC1_PSC.dox, rfc/RFC2_PSC.dox, rfc/RFC3_PSC.dox,
+	  rfc/psc_motions.dox, rfc/rfc_list.dox: address updated, html
+	  syntax replaced by doxygen syntax
+
+2009-06-25 18:35  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI/vdigit: update geometry
+	  attributes on move/remove vertex
+	  (merge from devbr6, r38074)
+
+2009-06-25 17:14  martinl
+
+	* display/d.rast.arrow/main.c, general/g.region/zoom.c,
+	  imagery/i.pca/main.c, imagery/i.rectify/perform.c,
+	  include/gisdefs.h, include/raster.h, lib/display/raster.c,
+	  lib/g3d/g3dfpxdr.c, lib/g3d/g3dmisc.c, lib/g3d/g3drange.c,
+	  lib/g3d/g3dvolume.c, lib/g3d/getblock.c, lib/g3d/tileread.c,
+	  lib/g3d/tilewrite.c, lib/gis/alloc.c, lib/gpde/N_arrays_io.c,
+	  lib/raster/cats.c, lib/raster/color_look.c, lib/raster/get_row.c,
+	  lib/raster/get_row_colr.c, lib/raster/put_row.c,
+	  lib/raster/range.c, lib/raster/raster.c, ps/ps.map/outl_io.c,
+	  ps/ps.map/ps_outline.c, ps/ps.map/ps_raster.c,
+	  raster/r.carve/raster.c, raster/r.cost/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.mat/main.c,
+	  raster/r.in.xyz/main.c, raster/r.in.xyz/support.c,
+	  raster/r.le/r.le.patch/trace.c, raster/r.le/r.le.trace/main.c,
+	  raster/r.null/mask.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/formspecific.c, raster/r.out.bin/main.c,
+	  raster/r.out.mat/main.c, raster/r.out.vtk/writeascii.c,
+	  raster/r.patch/do_patch.c, raster/r.proj/main.c,
+	  raster/r.resample/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.stats/raw_stats.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/areas.c,
+	  raster/r.univar/r.univar_main.c, raster/r.walk/main.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/lidarlib/zones.c, vector/v.neighbors/main.c:
+	  Rast_incr_void_ptr moved back to libgis
+
+2009-06-25 08:27  martinl
+
+	* display/d.extract/main.c, display/d.graph/do_graph.c,
+	  display/d.graph/main.c, display/d.grid/fiducial.c,
+	  display/d.labels/color.c, display/d.path/main.c,
+	  display/d.rast/display.c, display/d.thematic.area/main.c,
+	  display/d.thematic.area/plot1.c, display/d.vect.chart/main.c,
+	  display/d.vect/area.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c, include/gisdefs.h, include/raster.h,
+	  lib/display/tran_colr.c, lib/gis/color_str.c, lib/nviz/nviz.c,
+	  lib/raster/color_hist.c, lib/raster/color_str.c,
+	  ps/ps.map/do_labels.c, ps/ps.map/main.c, ps/ps.map/ps_vareas.c,
+	  ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_border.c, ps/ps.map/r_plt.c, ps/ps.map/r_text.c,
+	  ps/ps.map/r_vareas.c, ps/ps.map/r_vlines.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/r_wind.c,
+	  vector/v.to.rast/support.c: color_str.c moved back to libgis
+	  (modules fixed)
+
+2009-06-24 21:14  martinl
+
+	* gui/wxpython/wxgui.py, imagery/i.eb.evapfr/main.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.simpson/simpson.c, vector/v.generalize/main.c:
+	  fix wrongly assigned keywords
+
+2009-06-24 19:35  martinl
+
+	* lib/raster/alloc_cell.c, lib/raster/auto_mask.c,
+	  lib/raster/cats.c, lib/raster/cell_stats.c,
+	  lib/raster/closecell.c, lib/raster/color_compat.c,
+	  lib/raster/color_free.c, lib/raster/color_get.c,
+	  lib/raster/color_hist.c, lib/raster/color_init.c,
+	  lib/raster/color_look.c, lib/raster/color_range.c,
+	  lib/raster/color_read.c, lib/raster/color_rule.c,
+	  lib/raster/color_rule_get.c, lib/raster/color_set.c,
+	  lib/raster/color_str.c, lib/raster/color_write.c,
+	  lib/raster/get_cellhd.c, lib/raster/get_row.c,
+	  lib/raster/get_row_colr.c, lib/raster/history.c,
+	  lib/raster/init.c, lib/raster/maskfd.c, lib/raster/null_val.c,
+	  lib/raster/opencell.c, lib/raster/put_cellhd.c,
+	  lib/raster/quant.c, lib/raster/quant_rw.c, lib/raster/range.c,
+	  lib/raster/raster.c, lib/raster/reclass.c, lib/raster/sample.c,
+	  lib/raster/set_window.c, lib/raster/window_map.c,
+	  lib/raster/zero_cell.c: file doxygen header updated
+
+2009-06-24 18:30  martinl
+
+	* imagery/i.atcorr/main.cpp, raster/r.terraflow/main.cc: fix C++
+	  modules - add keywords
+
+2009-06-24 18:21  martinl
+
+	* lib/python/Makefile: readme already removed - Makefile fix
+
+2009-06-24 16:56  martinl
+
+	* db/db.columns/main.c, db/db.connect/main.c, db/db.copy/main.c,
+	  db/db.createdb/main.c, db/db.databases/main.c,
+	  db/db.describe/main.c, db/db.drivers/main.c, db/db.dropdb/main.c,
+	  db/db.droptable/main.c, db/db.execute/main.c, db/db.login/main.c,
+	  db/db.select/main.c, db/db.tables/main.c,
+	  display/d.barscale/main.c, display/d.colorlist/main.c,
+	  display/d.colors/main.c, display/d.colortable/main.c,
+	  display/d.erase/main.c, display/d.extract/main.c,
+	  display/d.font/main.c, display/d.fontlist/main.c,
+	  display/d.geodesic/main.c, display/d.graph/main.c,
+	  display/d.grid/main.c, display/d.his/main.c,
+	  display/d.histogram/main.c, display/d.info/main.c,
+	  display/d.labels/main.c, display/d.legend/main.c,
+	  display/d.linegraph/main.c, display/d.measure/main.c,
+	  display/d.nviz/main.c, display/d.path/main.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/main.c,
+	  display/d.rgb/main.c, display/d.rhumbline/main.c,
+	  display/d.text/main.c, display/d.thematic.area/main.c,
+	  display/d.title/main.c, display/d.vect.chart/main.c,
+	  display/d.vect/main.c, display/d.what.rast/main.c,
+	  display/d.what.vect/main.c, display/d.where/main.c,
+	  display/d.zoom/main.c, doc/raster/r.example/main.c,
+	  doc/vector/v.example/main.c, general/g.access/main.c,
+	  general/g.cairocomp/main.c, general/g.copy/main.c,
+	  general/g.dirseps/main.c, general/g.filename/main.c,
+	  general/g.findetc/main.c, general/g.findfile/main.c,
+	  general/g.gisenv/main.c, general/g.gui/main.c,
+	  general/g.list/main.c, general/g.mapset/main.c,
+	  general/g.mapsets/main.c, general/g.message/main.c,
+	  general/g.mkfontcap/main.c, general/g.mlist/main.c,
+	  general/g.mremove/main.c, general/g.parser/main.c,
+	  general/g.pnmcomp/main.c, general/g.proj/main.c,
+	  general/g.region/main.c, general/g.remove/main.c,
+	  general/g.rename/main.c, general/g.setproj/main.c,
+	  general/g.tempfile/main.c, general/g.transform/main.c,
+	  general/g.version/main.c, imagery/i.albedo/main.c,
+	  imagery/i.biomass/main.c, imagery/i.cca/main.c,
+	  imagery/i.class/main.c, imagery/i.cluster/main.c,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.h_SEBAL01/main.c, imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/main.c, imagery/i.gensigset/main.c,
+	  imagery/i.group/main.c, imagery/i.his.rgb/main.c,
+	  imagery/i.ifft/main.c, imagery/i.latlong/main.c,
+	  imagery/i.maxlik/main.c, imagery/i.modis.qc/main.c,
+	  imagery/i.pca/main.c, imagery/i.points/main.c,
+	  imagery/i.rectify/main.c, imagery/i.rgb.his/main.c,
+	  imagery/i.smap/main.c, imagery/i.sunhours/main.c,
+	  imagery/i.target/main.c, imagery/i.vi/main.c,
+	  imagery/i.vpoints/main.c, imagery/i.zc/main.c, include/gis.h,
+	  include/gisdefs.h, lib/gis/parser.c, misc/m.cogo/main.c,
+	  ps/ps.map/main.c, raster/r.basins.fill/main.c,
+	  raster/r.bitpattern/main.c, raster/r.buffer/main.c,
+	  raster/r.carve/main.c, raster/r.category/main.c,
+	  raster/r.circle/main.c, raster/r.clump/main.c,
+	  raster/r.coin/main.c, raster/r.colors.out/main.c,
+	  raster/r.colors/main.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.contour/main.c,
+	  raster/r.cost/main.c, raster/r.covar/main.c,
+	  raster/r.cross/main.c, raster/r.describe/main.c,
+	  raster/r.digit/main.c, raster/r.distance/main.c,
+	  raster/r.drain/main.c, raster/r.external.out/main.c,
+	  raster/r.external/main.c, raster/r.fill.dir/main.c,
+	  raster/r.flow/main.c, raster/r.grow.distance/main.c,
+	  raster/r.grow/main.c, raster/r.gwflow/main.c,
+	  raster/r.his/main.c, raster/r.horizon/main.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.gridatb/main.c, raster/r.in.mat/main.c,
+	  raster/r.in.poly/main.c, raster/r.in.xyz/main.c,
+	  raster/r.info/main.c, raster/r.kappa/main.c,
+	  raster/r.lake/main.c, raster/r.le/r.le.patch/main.c,
+	  raster/r.le/r.le.pixel/main.c, raster/r.le/r.le.setup/main.c,
+	  raster/r.le/r.le.trace/main.c, raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c, raster/r.los/main.c,
+	  raster/r.mapcalc/main.c, raster/r.mfilter/main.c,
+	  raster/r.mode/main.c, raster/r.neighbors/main.c,
+	  raster/r.null/main.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/main.c, raster/r.out.bin/main.c,
+	  raster/r.out.gdal/main.c, raster/r.out.gridatb/main.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.png/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/main.c, raster/r.out.vrml/main.c,
+	  raster/r.out.vtk/main.c, raster/r.param.scale/interface.c,
+	  raster/r.patch/main.c, raster/r.profile/main.c,
+	  raster/r.proj/main.c, raster/r.quant/main.c,
+	  raster/r.quantile/main.c, raster/r.random.cells/main.c,
+	  raster/r.random.surface/main.c, raster/r.random/main.c,
+	  raster/r.reclass/main.c, raster/r.recode/main.c,
+	  raster/r.region/main.c, raster/r.report/main.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.rst/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/main.c, raster/r.rescale/main.c,
+	  raster/r.ros/main.c, raster/r.series/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.spread/main.c,
+	  raster/r.spreadpath/main.c, raster/r.statistics/main.c,
+	  raster/r.statistics2/main.c, raster/r.statistics3/main.c,
+	  raster/r.stats/main.c, raster/r.sun/main.c, raster/r.sun2/main.c,
+	  raster/r.sunmask/main.c, raster/r.support.stats/main.c,
+	  raster/r.support/main.c, raster/r.surf.area/main.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.fractal/main.c,
+	  raster/r.surf.gauss/main.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.random/main.c,
+	  raster/r.texture/main.c, raster/r.thin/main.c,
+	  raster/r.timestamp/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/main.c,
+	  raster/r.topidx/main.c, raster/r.topmodel/main.c,
+	  raster/r.transect/main.c, raster/r.univar/r.univar_main.c,
+	  raster/r.univar/r3.univar_main.c, raster/r.uslek/main.c,
+	  raster/r.usler/main.c, raster/r.volume/main.c,
+	  raster/r.walk/main.c, raster/r.water.outlet/main.c,
+	  raster/r.watershed/front/main.c, raster/r.what.color/main.c,
+	  raster/r.what/main.c, raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster3d/base/r3.mask.main.c,
+	  raster3d/base/r3.null.main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.info/r3.info.main.c,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.stats/main.c,
+	  raster3d/r3.timestamp/r3.timestamp.main.c,
+	  raster3d/r3.to.rast/main.c, sites/s.in.ascii/main.c,
+	  sites/s.out.ascii/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.buffer/main.c,
+	  vector/v.build.polylines/main.c, vector/v.build/main.c,
+	  vector/v.category/main.c, vector/v.class/main.c,
+	  vector/v.clean/main.c, vector/v.clean/test/topocheck.c,
+	  vector/v.convert/main.c, vector/v.db.connect/main.c,
+	  vector/v.db.select/main.c, vector/v.delaunay/main.c,
+	  vector/v.distance/main.c, vector/v.drape/main.c,
+	  vector/v.edit/main.c, vector/v.external/main.c,
+	  vector/v.extract/main.c, vector/v.extrude/main.c,
+	  vector/v.generalize/main.c, vector/v.hull/main.c,
+	  vector/v.in.ascii/main.c, vector/v.in.db/main.c,
+	  vector/v.in.dwg/main.c, vector/v.in.dxf/main.c,
+	  vector/v.in.ogr/main.c, vector/v.in.region/main.c,
+	  vector/v.in.sites/main.c, vector/v.info/main.c,
+	  vector/v.kcv/main.c, vector/v.kernel/main.c,
+	  vector/v.label.sa/main.c, vector/v.label/main.c,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.mkgrid/main.c,
+	  vector/v.neighbors/main.c, vector/v.net.alloc/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.path/main.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.net.visibility/main.c, vector/v.net/main.c,
+	  vector/v.normal/main.c, vector/v.out.ascii/main.c,
+	  vector/v.out.dxf/main.c, vector/v.out.ogr/main.c,
+	  vector/v.out.pov/main.c, vector/v.out.svg/main.c,
+	  vector/v.out.vtk/main.c, vector/v.overlay/main.c,
+	  vector/v.parallel/main.c, vector/v.patch/main.c,
+	  vector/v.perturb/main.c, vector/v.proj/main.c,
+	  vector/v.qcount/main.c, vector/v.random/main.c,
+	  vector/v.reclass/main.c, vector/v.sample/main.c,
+	  vector/v.segment/main.c, vector/v.select/main.c,
+	  vector/v.split/main.c, vector/v.support/main.c,
+	  vector/v.surf.idw/main.c, vector/v.surf.rst/main.c,
+	  vector/v.to.3d/main.c, vector/v.to.db/main.c,
+	  vector/v.to.points/main.c, vector/v.to.rast/main.c,
+	  vector/v.to.rast3/main.c, vector/v.transform/main.c,
+	  vector/v.type/main.c, vector/v.univar/main.c,
+	  vector/v.vol.rst/main.c, vector/v.voronoi/main.c,
+	  vector/v.what.rast/main.c, vector/v.what/main.c,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz2/cmd/main.c, visualization/ximgview/main.c:
+	  use array for keywords (to avoid duplicate locales)
+	  G_add_keyword() and G_set_keywords() added to gislib
+	  modules updated
+
+2009-06-24 14:33  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: fix filtering GIS elements
+	  (merge from devbr6, r38057)
+
+2009-06-24 13:11  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: remove print statement
+
+2009-06-24 12:28  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: fix combobox size
+
+2009-06-24 12:17  martinl
+
+	* imagery/i.biomass, imagery/i.biomass/main.c: add svn props
+	  some minor fixes in i.biomass
+
+2009-06-24 12:05  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: fix VectorSelect filter
+
+2009-06-24 11:12  martinl
+
+	* lib/python/README.txt: out-dated python readme removed
+
+2009-06-23 14:35  martinl
+
+	* scripts/Makefile, scripts/db.dropcolumn/Makefile,
+	  scripts/db.dropcolumn/db.dropcol.html,
+	  scripts/db.dropcolumn/db.dropcol.py,
+	  scripts/db.dropcolumn/db.dropcolumn.html,
+	  scripts/db.dropcolumn/db.dropcolumn.py,
+	  scripts/db.in.ogr/db.in.ogr.py: db.dropcol renamed to
+	  db.dropcolumn (module)
+
+2009-06-23 14:14  martinl
+
+	* scripts/db.dropcol, scripts/db.dropcolumn: db.dropcol renamed to
+	  db.dropcolumn (dir)
+
+2009-06-23 14:09  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI dialog missing
+	  dbdriver
+	  (merge from relbr64, r38040)
+
+2009-06-23 13:50  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/Makefile,
+	  imagery/i.biomass, imagery/i.biomass/Makefile,
+	  imagery/i.biomass/biomass.c, imagery/i.biomass/i.biomass.html,
+	  imagery/i.biomass/main.c, imagery/i.biomass/solar_day.c: Added
+	  biomass growth module
+
+2009-06-23 11:46  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: fix 'go to'
+	  (merge from devbr6, r38034)
+
+2009-06-23 07:22  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI history support for the
+	  prompt
+
+2009-06-23 06:13  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/workspace.py: fix python (2.4) syntax
+
+2009-06-22 17:48  martinl
+
+	* ps/ps.map/do_header.c, ps/ps.map/do_labels.c,
+	  ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/ps_vpoints.c, ps/ps.map/r_border.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_colortable.c, ps/ps.map/r_plt.c, ps/ps.map/r_rgb.c,
+	  ps/ps.map/r_text.c, ps/ps.map/r_vlines.c, ps/ps.map/r_wind.c,
+	  raster/r.buffer/main.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/support.c, raster/r.buffer/write_map.c,
+	  raster/r.coin/print_hdr.c, raster/r.cross/cats.c,
+	  raster/r.cross/cross.c, raster/r.cross/main.c,
+	  raster/r.cross/renumber.c, raster/r.distance/distance.c,
+	  raster/r.distance/edges.c, raster/r.distance/labels.c,
+	  raster/r.flow/io.c, raster/r.in.gridatb/adjcellhd.c,
+	  raster/r.in.gridatb/main.c, raster/r.kappa/mask.c,
+	  raster/r.kappa/prt_hdr.c, raster/r.kappa/prt_label.c,
+	  raster/r.mapcalc/column_shift.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/map3.c, raster/r.mapcalc/xabs.c,
+	  raster/r.mapcalc/xacos.c, raster/r.mapcalc/xadd.c,
+	  raster/r.mapcalc/xand.c, raster/r.mapcalc/xand2.c,
+	  raster/r.mapcalc/xasin.c, raster/r.mapcalc/xatan.c,
+	  raster/r.mapcalc/xbitand.c, raster/r.mapcalc/xbitnot.c,
+	  raster/r.mapcalc/xbitor.c, raster/r.mapcalc/xbitxor.c,
+	  raster/r.mapcalc/xcoor.c, raster/r.mapcalc/xcos.c,
+	  raster/r.mapcalc/xdiv.c, raster/r.mapcalc/xdouble.c,
+	  raster/r.mapcalc/xeq.c, raster/r.mapcalc/xeval.c,
+	  raster/r.mapcalc/xexp.c, raster/r.mapcalc/xfloat.c,
+	  raster/r.mapcalc/xge.c, raster/r.mapcalc/xgraph.c,
+	  raster/r.mapcalc/xgt.c, raster/r.mapcalc/xif.c,
+	  raster/r.mapcalc/xint.c, raster/r.mapcalc/xisnull.c,
+	  raster/r.mapcalc/xle.c, raster/r.mapcalc/xlog.c,
+	  raster/r.mapcalc/xlt.c, raster/r.mapcalc/xmax.c,
+	  raster/r.mapcalc/xmedian.c, raster/r.mapcalc/xmin.c,
+	  raster/r.mapcalc/xmod.c, raster/r.mapcalc/xmode.c,
+	  raster/r.mapcalc/xmul.c, raster/r.mapcalc/xne.c,
+	  raster/r.mapcalc/xneg.c, raster/r.mapcalc/xnot.c,
+	  raster/r.mapcalc/xnull.c, raster/r.mapcalc/xor.c,
+	  raster/r.mapcalc/xor2.c, raster/r.mapcalc/xpow.c,
+	  raster/r.mapcalc/xres.c, raster/r.mapcalc/xround.c,
+	  raster/r.mapcalc/xshiftl.c, raster/r.mapcalc/xshiftr.c,
+	  raster/r.mapcalc/xshiftru.c, raster/r.mapcalc/xsin.c,
+	  raster/r.mapcalc/xsqrt.c, raster/r.mapcalc/xsub.c,
+	  raster/r.mapcalc/xtan.c, raster/r.mfilter/apply.c,
+	  raster/r.mfilter/execute.c, raster/r.mfilter/perform.c,
+	  raster/r.out.gridatb/adjcellhd.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.vrml/put_grid.c, raster/r.param.scale/close_down.c,
+	  raster/r.param.scale/write_cols.c, raster/r.quant/main.c,
+	  raster/r.quant/read_rules.c, raster/r.recode/read_rules.c,
+	  raster/r.recode/recode.c, raster/r.report/header.c,
+	  raster/r.report/parse.c, raster/r.report/prt_report.c,
+	  raster/r.report/stats.c, raster/r.stats/global.h,
+	  raster/r.surf.contour/read_cell.c,
+	  raster/r.surf.fractal/write_rast.c, raster/r.topmodel/global.h,
+	  raster/r.univar/globals.h, raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/seg/Gwater.h, vector/v.to.rast/do_areas.c: add
+	  missing raster.h
+
+2009-06-22 11:56  martinl
+
+	* display/d.extract/extract.c, display/d.extract/main.c,
+	  display/d.path/main.c, display/d.path/select.c,
+	  display/d.thematic.area/area.c, display/d.thematic.area/main.c,
+	  display/d.thematic.area/plot1.c, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/main.c, display/d.vect.chart/pie.c,
+	  display/d.vect.chart/plot.c, display/d.vect/area.c,
+	  display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c, display/d.vect/topo.c,
+	  display/d.vect/utils.c, display/d.vect/zcoor.c,
+	  display/d.what.vect/main.c, display/d.what.vect/what.c,
+	  display/d.zoom/main.c, doc/vector/v.example/main.c,
+	  general/g.region/main.c, general/manage/lister/vector.c,
+	  gui/wxpython/vdigit/digit.i, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/setup.py, imagery/i.vpoints/drawvect.c,
+	  imagery/i.vpoints/plot.c, imagery/i.vpoints/vectpoints.h,
+	  include/Make/Grass.make, include/V_.h, include/Vect.h,
+	  include/vector.h, include/vedit.h, lib/manage/do_copy.c,
+	  lib/manage/do_remove.c, lib/manage/do_rename.c, lib/ogsf/Gp3.c,
+	  lib/ogsf/Gv3.c, lib/rst/interp_float/interpf.h,
+	  lib/rst/interp_float/point2d.c, lib/rst/interp_float/vinput2d.c,
+	  lib/sites/sites.c, lib/vector/Vlib/Makefile,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/box.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/buffer.c, lib/vector/Vlib/buffer2.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/clean_nodes.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/constraint.c,
+	  lib/vector/Vlib/dangles.c, lib/vector/Vlib/dbcolumns.c,
+	  lib/vector/Vlib/dgraph.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/geos.c, lib/vector/Vlib/graph.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/hist.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/level.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/merge_lines.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/overlap.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_ogr.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/Vlib/snap.c, lib/vector/Vlib/tin.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/window.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/allocation.c, lib/vector/diglib/angle.c,
+	  lib/vector/diglib/box.c, lib/vector/diglib/cindex.c,
+	  lib/vector/diglib/cindex_rw.c, lib/vector/diglib/file.c,
+	  lib/vector/diglib/frmt.c, lib/vector/diglib/head.c,
+	  lib/vector/diglib/inside.c, lib/vector/diglib/list.c,
+	  lib/vector/diglib/plus.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_node.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/port_init.c, lib/vector/diglib/port_test.c,
+	  lib/vector/diglib/portable.c, lib/vector/diglib/prune.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c,
+	  lib/vector/diglib/struct_alloc.c, lib/vector/diglib/test.c,
+	  lib/vector/diglib/type.c, lib/vector/diglib/update.c,
+	  ps/ps.map/catval.c, ps/ps.map/do_vectors.c,
+	  ps/ps.map/ps_vareas.c, ps/ps.map/ps_vlines.c,
+	  ps/ps.map/ps_vpoints.c, ps/ps.map/r_vareas.c,
+	  ps/ps.map/r_vlines.c, ps/ps.map/r_vpoints.c, ps/ps.map/symbol.c,
+	  ps/ps.map/vect.c, raster/r.carve/enforce.h,
+	  raster/r.contour/cont.c, raster/r.contour/main.c,
+	  raster/r.drain/main.c, raster/r.flow/r.flow.h,
+	  raster/r.le/r.le.setup/sample.c, raster/r.random/random.c,
+	  raster/r.random/support.c, raster/r.region/main.c,
+	  raster/r.to.vect/areas_io.c, raster/r.to.vect/lines_io.c,
+	  raster/r.to.vect/main.c, raster/r.to.vect/points.c,
+	  raster/r.to.vect/util.c, raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, swig/include/vector.i,
+	  swig/python/Makefile, vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/growing.c,
+	  vector/lidar/v.lidar.growing/growing.h,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.outlier/outlier.h,
+	  vector/lidar/v.surf.bspline/bspline.h,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.buffer/main.c,
+	  vector/v.build.polylines/main.c, vector/v.build.polylines/walk.c,
+	  vector/v.build/main.c, vector/v.category/main.c,
+	  vector/v.class/main.c, vector/v.clean/main.c,
+	  vector/v.clean/prune.c, vector/v.clean/rmdac.c,
+	  vector/v.clean/rmline.c, vector/v.clean/test/topocheck.c,
+	  vector/v.convert/att.c, vector/v.convert/dist.c,
+	  vector/v.convert/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.convert/type.c,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  vector/v.delaunay/defs.h, vector/v.delaunay/in_out.c,
+	  vector/v.delaunay/main.c, vector/v.delaunay/memory.c,
+	  vector/v.distance/main.c, vector/v.drape/main.c,
+	  vector/v.edit/global.h, vector/v.external/main.c,
+	  vector/v.extract/extract.c, vector/v.extract/main.c,
+	  vector/v.extrude/main.c, vector/v.generalize/displacement.c,
+	  vector/v.generalize/main.c, vector/v.generalize/matrix.h,
+	  vector/v.generalize/misc.c, vector/v.generalize/misc.h,
+	  vector/v.generalize/network.c, vector/v.generalize/point.c,
+	  vector/v.generalize/point.h, vector/v.generalize/pq.h,
+	  vector/v.generalize/simplification.c,
+	  vector/v.generalize/smoothing.c, vector/v.hull/chull.c,
+	  vector/v.hull/chull.h, vector/v.hull/main.c,
+	  vector/v.in.ascii/a2b.c, vector/v.in.ascii/head.c,
+	  vector/v.in.ascii/main.c, vector/v.in.ascii/points.c,
+	  vector/v.in.db/main.c, vector/v.in.dwg/entity.c,
+	  vector/v.in.dwg/main.c, vector/v.in.dxf/global.h,
+	  vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c,
+	  vector/v.in.region/main.c, vector/v.in.sites/main.c,
+	  vector/v.info/main.c, vector/v.kcv/main.c,
+	  vector/v.kernel/function.c, vector/v.kernel/main.c,
+	  vector/v.label.sa/labels.h, vector/v.label/main.c,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.mkgrid/main.c,
+	  vector/v.mkgrid/write_grid.c, vector/v.neighbors/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.path/path.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.net.visibility/geometry.h,
+	  vector/v.net.visibility/main.c,
+	  vector/v.net.visibility/visibility.h, vector/v.net/arcs.c,
+	  vector/v.net/args.c, vector/v.net/connect.c, vector/v.net/main.c,
+	  vector/v.net/nodes.c, vector/v.net/report.c,
+	  vector/v.normal/main.c, vector/v.out.ascii/b2a.c,
+	  vector/v.out.ascii/head.c, vector/v.out.ascii/main.c,
+	  vector/v.out.dxf/main.c, vector/v.out.ogr/main.c,
+	  vector/v.out.pov/main.c, vector/v.out.svg/main.c,
+	  vector/v.out.vtk/head.c, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c, vector/v.overlay/area_area.c,
+	  vector/v.overlay/line_area.c, vector/v.overlay/main.c,
+	  vector/v.overlay/util.c, vector/v.parallel/main.c,
+	  vector/v.patch/main.c, vector/v.perturb/main.c,
+	  vector/v.proj/main.c, vector/v.qcount/count.c,
+	  vector/v.qcount/findquads.c, vector/v.qcount/indices.c,
+	  vector/v.qcount/main.c, vector/v.random/main.c,
+	  vector/v.reclass/main.c, vector/v.reclass/reclass.c,
+	  vector/v.sample/main.c, vector/v.segment/main.c,
+	  vector/v.select/args.c, vector/v.select/geos.c,
+	  vector/v.select/main.c, vector/v.select/overlap.c,
+	  vector/v.split/main.c, vector/v.support/main.c,
+	  vector/v.surf.idw/read_sites.c, vector/v.surf.rst/main.c,
+	  vector/v.to.3d/local_proto.h, vector/v.to.3d/main.c,
+	  vector/v.to.3d/trans2.c, vector/v.to.3d/trans3.c,
+	  vector/v.to.db/global.h, vector/v.to.points/main.c,
+	  vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/raster.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c, vector/v.to.rast3/main.c,
+	  vector/v.transform/creat_trans.c, vector/v.transform/main.c,
+	  vector/v.transform/trans_digit.c, vector/v.type/main.c,
+	  vector/v.univar/main.c, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user3.c,
+	  vector/v.vol.rst/userglobs.h, vector/v.vol.rst/vector.c,
+	  vector/v.voronoi/dt_write.c, vector/v.voronoi/main.c,
+	  vector/v.voronoi/sw_main.c, vector/v.voronoi/sw_output.c,
+	  vector/v.voronoi/vo_extend.c, vector/v.voronoi/vo_write.c,
+	  vector/v.what.rast/main.c, vector/v.what/main.c,
+	  vector/v.what/what.c, visualization/nviz/src/pg.h,
+	  visualization/nviz/src/pick_vect_commands.c,
+	  visualization/nviz/src/query_vect.c,
+	  visualization/nviz/src/site_attr_commands.c: Vect.h renamed to
+	  vector.h
+	  grass_vect -> grass_vector
+
+2009-06-22 11:50  glynn
+
+	* general/g.setproj/main.c: Use correct *_set_window() function
+
+2009-06-22 11:45  glynn
+
+	* include/gisdefs.h, lib/gis/set_window.c: Re-instate
+	  G_set_window()
+
+2009-06-22 08:25  glynn
+
+	* display/d.graph/graphics.c, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.grid/plotborder.c,
+	  display/d.histogram/draw_slice.c, display/d.labels/do_labels.c,
+	  display/d.labels/main.c, display/d.path/select.c,
+	  display/d.thematic.area/area.c, display/d.title/fancy.c,
+	  display/d.title/normal.c, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/pie.c, display/d.vect.chart/plot.c,
+	  display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/topo.c,
+	  display/d.vect/utils.c, display/d.vect/zcoor.c,
+	  general/g.mremove/wc2regex.c, general/g.region/printwindow.c,
+	  general/manage/lister/vector.c, imagery/i.cca/matrix.c,
+	  imagery/i.cca/stats.c, imagery/i.cluster/checkpt.c,
+	  imagery/i.cluster/print1.c, imagery/i.cluster/print2.c,
+	  imagery/i.cluster/print3.c, imagery/i.cluster/print4.c,
+	  imagery/i.cluster/print5.c, imagery/i.cluster/print6.c,
+	  imagery/i.cluster/timer.c, imagery/i.gensig/alloc.c,
+	  imagery/i.gensig/can_invert.c, imagery/i.gensig/eigen.c,
+	  imagery/i.gensig/parse.c, imagery/i.gensigset/invert.c,
+	  imagery/i.gensigset/main.c, imagery/i.gensigset/parse.c,
+	  imagery/i.his.rgb/his2rgb.c, imagery/i.maxlik/invert.c,
+	  imagery/i.rectify/crs.c, imagery/i.rgb.his/rgb2his.c,
+	  imagery/i.smap/decimate.c, imagery/i.smap/interp.c,
+	  imagery/i.smap/invert.c, imagery/i.smap/multialloc.c,
+	  imagery/i.smap/parse.c, ps/ps.map/catval.c, ps/ps.map/distance.c,
+	  ps/ps.map/do_geogrid.c, ps/ps.map/do_masking.c,
+	  ps/ps.map/do_plt.c, ps/ps.map/do_psfiles.c,
+	  ps/ps.map/do_vectors.c, ps/ps.map/error.c, ps/ps.map/get_font.c,
+	  ps/ps.map/input.c, ps/ps.map/makeprocs.c, ps/ps.map/map_setup.c,
+	  ps/ps.map/parse_list.c, ps/ps.map/ps_info.h,
+	  ps/ps.map/r_labels.c, ps/ps.map/read_cfg.c, ps/ps.map/scale.c,
+	  ps/ps.map/scan_gis.c, ps/ps.map/session.c, ps/ps.map/vect.c,
+	  ps/ps.map/vector.c, raster/r.buffer/distance.h,
+	  raster/r.buffer/find_dist.c, raster/r.buffer/init.c,
+	  raster/r.carve/enforce.h, raster/r.carve/vect.c,
+	  raster/r.coin/coin.h, raster/r.colors/local_proto.h,
+	  raster/r.cost/btree.c, raster/r.cost/memory.c,
+	  raster/r.cross/glob.h, raster/r.describe/main.c,
+	  raster/r.describe/tree.c, raster/r.distance/defs.h,
+	  raster/r.distance/main.c, raster/r.distance/parse.c,
+	  raster/r.flow/aspect.c, raster/r.flow/aspect.h,
+	  raster/r.flow/io.h, raster/r.flow/mem.h, raster/r.flow/r.flow.h,
+	  raster/r.in.gridatb/local_proto.h, raster/r.in.gridatb/main.c,
+	  raster/r.in.poly/getformat.c, raster/r.in.poly/main.c,
+	  raster/r.in.xyz/local_proto.h, raster/r.info/reclas_txt.c,
+	  raster/r.kappa/calc_kappa.c, raster/r.kappa/kappa.h,
+	  raster/r.kappa/prt_mat.c, raster/r.kappa/stats.c,
+	  raster/r.le/r.le.patch/patch.h, raster/r.le/r.le.pixel/pixel.h,
+	  raster/r.le/r.le.setup/setup.h,
+	  raster/r.le/r.le.trace/r.le.trace.h,
+	  raster/r.li/r.li.cwed/utility.c,
+	  raster/r.li/r.li.daemon/GenericCell.h,
+	  raster/r.li/r.li.daemon/avl.c, raster/r.li/r.li.daemon/avlID.c,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.li/r.li.daemon/ipc.c,
+	  raster/r.li/r.li.daemon/list.c, raster/r.los/delete.c,
+	  raster/r.los/make_list.c, raster/r.los/make_point.c,
+	  raster/r.los/mark_pts.c, raster/r.los/radians.h,
+	  raster/r.mapcalc/column_shift.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/mapcalc.h, raster/r.mapcalc/xabs.c,
+	  raster/r.mapcalc/xacos.c, raster/r.mapcalc/xadd.c,
+	  raster/r.mapcalc/xand.c, raster/r.mapcalc/xand2.c,
+	  raster/r.mapcalc/xasin.c, raster/r.mapcalc/xatan.c,
+	  raster/r.mapcalc/xbitand.c, raster/r.mapcalc/xbitnot.c,
+	  raster/r.mapcalc/xbitor.c, raster/r.mapcalc/xbitxor.c,
+	  raster/r.mapcalc/xcoor.c, raster/r.mapcalc/xcoor3.c,
+	  raster/r.mapcalc/xcos.c, raster/r.mapcalc/xdiv.c,
+	  raster/r.mapcalc/xdouble.c, raster/r.mapcalc/xeq.c,
+	  raster/r.mapcalc/xeval.c, raster/r.mapcalc/xexp.c,
+	  raster/r.mapcalc/xfloat.c, raster/r.mapcalc/xge.c,
+	  raster/r.mapcalc/xgraph.c, raster/r.mapcalc/xgt.c,
+	  raster/r.mapcalc/xif.c, raster/r.mapcalc/xint.c,
+	  raster/r.mapcalc/xisnull.c, raster/r.mapcalc/xle.c,
+	  raster/r.mapcalc/xlog.c, raster/r.mapcalc/xlt.c,
+	  raster/r.mapcalc/xmax.c, raster/r.mapcalc/xmin.c,
+	  raster/r.mapcalc/xmod.c, raster/r.mapcalc/xmode.c,
+	  raster/r.mapcalc/xmul.c, raster/r.mapcalc/xne.c,
+	  raster/r.mapcalc/xneg.c, raster/r.mapcalc/xnot.c,
+	  raster/r.mapcalc/xnull.c, raster/r.mapcalc/xor.c,
+	  raster/r.mapcalc/xor2.c, raster/r.mapcalc/xpow.c,
+	  raster/r.mapcalc/xrand.c, raster/r.mapcalc/xres.c,
+	  raster/r.mapcalc/xres3.c, raster/r.mapcalc/xround.c,
+	  raster/r.mapcalc/xrowcol.c, raster/r.mapcalc/xshiftl.c,
+	  raster/r.mapcalc/xshiftr.c, raster/r.mapcalc/xshiftru.c,
+	  raster/r.mapcalc/xsin.c, raster/r.mapcalc/xsqrt.c,
+	  raster/r.mapcalc/xsub.c, raster/r.mapcalc/xtan.c,
+	  raster/r.mfilter/filter.h, raster/r.mode/read_stats.c,
+	  raster/r.neighbors/readweights.c,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c,
+	  raster/r.out.mpeg/write.c, raster/r.out.vrml/pv.h,
+	  raster/r.out.vtk/parameters.c, raster/r.param.scale/interface.c,
+	  raster/r.param.scale/nrutil.c, raster/r.param.scale/param.h,
+	  raster/r.profile/local_proto.h, raster/r.proj/bordwalk.c,
+	  raster/r.quant/global.h, raster/r.random.cells/flag.c,
+	  raster/r.random.cells/main.c, raster/r.random.cells/random.c,
+	  raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h, raster/r.random/main.c,
+	  raster/r.reclass/input.c, raster/r.reclass/rule.h,
+	  raster/r.recode/global.h, raster/r.recode/main.c,
+	  raster/r.report/global.h, raster/r.rescale/main.c,
+	  raster/r.ros/spot_dist.c, raster/r.spread/insert2Ha.c,
+	  raster/r.spread/replaceHa.c, raster/r.spread/select_linksB.c,
+	  raster/r.spread/spot.c, raster/r.spread/spread.c,
+	  raster/r.spreadpath/insert.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/read_stats.c, raster/r.stats/global.h,
+	  raster/r.sun2/rsunlib.c, raster/r.sunmask/g_solposition.c,
+	  raster/r.sunmask/solpos00.c, raster/r.support.stats/main.c,
+	  raster/r.surf.contour/contour.h,
+	  raster/r.surf.contour/flag_create.c,
+	  raster/r.surf.contour/flag_destroy.c,
+	  raster/r.surf.fractal/frac.h, raster/r.surf.fractal/spec_syn.c,
+	  raster/r.surf.gauss/main.c, raster/r.surf.idw/dist.c,
+	  raster/r.surf.idw/ll.c, raster/r.surf.idw/pi.h,
+	  raster/r.surf.random/main.c, raster/r.terraflow/common.h,
+	  raster/r.texture/h_measure.c, raster/r.thin/thin_lines.c,
+	  raster/r.to.vect/lines_io.c, raster/r.topidx/main.c,
+	  raster/r.topmodel/global.h, raster/r.univar/globals.h,
+	  raster/r.walk/btree.c, raster/r.walk/memory.c,
+	  raster/r.water.outlet/basin.h,
+	  raster/r.water.outlet/flag_create.c,
+	  raster/r.water.outlet/flag_destroy.c,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/flag_create.c,
+	  raster/r.watershed/ram/flag_destroy.c,
+	  raster/r.watershed/ram/main.c, raster/r.watershed/ram/usage.c,
+	  raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_close.c,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/cseg_close.c,
+	  raster/r.watershed/seg/cseg_get.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/dseg_close.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_put.c, raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/sseg_close.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_open.c,
+	  raster/r.watershed/seg/sseg_put.c,
+	  raster/r.watershed/seg/usage.c,
+	  raster/r.watershed/shed/watershed.h, raster3d/r3.gwflow/main.c,
+	  raster3d/r3.mkdspf/calc_linefax.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/r3_find.c, raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c,
+	  vector/lidar/lidarlib/TcholBand.c,
+	  vector/lidar/lidarlib/raster.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/ConvexHull.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c, vector/v.convert/dist.c,
+	  vector/v.convert/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.kernel/function.c,
+	  vector/v.surf.idw/read_sites.c, vector/v.to.rast/do_areas.c,
+	  vector/v.to.rast/do_lines.c, vector/v.to.rast/main.c,
+	  vector/v.vol.rst/dataoct.c, vector/v.vol.rst/oct.c,
+	  vector/v.vol.rst/user2.c, vector/v.vol.rst/user4.c,
+	  vector/v.vol.rst/vector.c: Don't include <grass/raster.h> where
+	  not needed
+
+2009-06-22 06:35  glynn
+
+	* include/Make/Grass.make, include/Make/Platform.make.in,
+	  include/gisdefs.h, include/raster.h, lib/gis/G.h,
+	  lib/gis/Makefile, lib/gis/debug.c, lib/gis/get_window.c,
+	  lib/gis/gisinit.c, lib/gis/set_window.c, lib/gis/window_map.c,
+	  lib/raster/G.h, lib/raster/Makefile, lib/raster/R.h,
+	  lib/raster/auto_mask.c, lib/raster/closecell.c,
+	  lib/raster/color_read.c, lib/raster/format.c, lib/raster/gdal.c,
+	  lib/raster/get_row.c, lib/raster/get_row_colr.c,
+	  lib/raster/init.c, lib/raster/maskfd.c, lib/raster/opencell.c,
+	  lib/raster/put_row.c, lib/raster/range.c,
+	  lib/raster/set_window.c, lib/raster/window_map.c: Split G__
+	  between lib/gis and lib/raster
+	  Move relevant parts of window_map.c to lib/raster
+	  Remove zlib references from XDRLIB
+	  Remove XDRLIB, SOCKLIB references from GISLIB
+
+2009-06-22 06:02  hamish
+
+	* vector/lidar/lidarlib/TcholBand.c: orphaned alloc (thanks
+	  Jyothish; merge from devbr6)
+
+2009-06-22 05:09  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.colors/get_info.c, display/d.colors/interact.c,
+	  display/d.colors/main.c, display/d.colortable/main.c,
+	  display/d.erase/main.c, display/d.extract/extract.c,
+	  display/d.extract/main.c, display/d.font/main.c,
+	  display/d.fontlist/main.c, display/d.geodesic/main.c,
+	  display/d.geodesic/plot.c, display/d.graph/do_graph.c,
+	  display/d.graph/main.c, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.his/main.c,
+	  display/d.histogram/bar.c, display/d.histogram/draw_slice.c,
+	  display/d.histogram/main.c, display/d.histogram/pie.c,
+	  display/d.info/main.c, display/d.labels/do_labels.c,
+	  display/d.labels/main.c, display/d.legend/main.c,
+	  display/d.linegraph/main.c, display/d.measure/draw_line.c,
+	  display/d.measure/main.c, display/d.measure/msurements.c,
+	  display/d.nviz/main.c, display/d.path/main.c,
+	  display/d.path/select.c, display/d.profile/main.c,
+	  display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.rast/display.c, display/d.rast/main.c,
+	  display/d.rgb/main.c, display/d.rhumbline/main.c,
+	  display/d.rhumbline/plot.c, display/d.text/main.c,
+	  display/d.thematic.area/area.c, display/d.thematic.area/main.c,
+	  display/d.thematic.area/plot1.c, display/d.title/main.c,
+	  display/d.vect.chart/bar.c, display/d.vect.chart/main.c,
+	  display/d.vect.chart/pie.c, display/d.vect.chart/plot.c,
+	  display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/dir.c, display/d.vect/label.c,
+	  display/d.vect/main.c, display/d.vect/plot1.c,
+	  display/d.vect/topo.c, display/d.vect/utils.c,
+	  display/d.vect/zcoor.c, display/d.what.rast/main.c,
+	  display/d.what.rast/what.c, display/d.what.vect/main.c,
+	  display/d.what.vect/what.c, display/d.where/main.c,
+	  display/d.zoom/box.c, display/d.zoom/center.c,
+	  display/d.zoom/main.c, display/d.zoom/pan.c,
+	  display/d.zoom/print.c, display/d.zoom/quit.c,
+	  display/d.zoom/redraw.c, display/d.zoom/set.c,
+	  display/d.zoom/zoom.c, imagery/i.class/add_point.c,
+	  imagery/i.class/del_point.c, imagery/i.class/draw_cell.c,
+	  imagery/i.class/draw_reg.c, imagery/i.class/graphics.c,
+	  imagery/i.class/histograms.c, imagery/i.class/input.c,
+	  imagery/i.class/main.c, imagery/i.class/mouse.c,
+	  imagery/i.class/redisplay.c, imagery/i.class/title.c,
+	  imagery/i.class/view.c, imagery/i.class/zoom_box.c,
+	  imagery/i.points/analyze.c, imagery/i.points/ask.c,
+	  imagery/i.points/ask_mag.c, imagery/i.points/call.c,
+	  imagery/i.points/debug.c, imagery/i.points/dot.c,
+	  imagery/i.points/drawcell.c, imagery/i.points/graphics.c,
+	  imagery/i.points/input.c, imagery/i.points/main.c,
+	  imagery/i.points/mark.c, imagery/i.points/mouse.c,
+	  imagery/i.points/points.c, imagery/i.points/title.c,
+	  imagery/i.points/view.c, imagery/i.points/zoom_box.c,
+	  imagery/i.points/zoom_pnt.c, imagery/i.vpoints/analyze.c,
+	  imagery/i.vpoints/ask.c, imagery/i.vpoints/ask_mag.c,
+	  imagery/i.vpoints/call.c, imagery/i.vpoints/debug.c,
+	  imagery/i.vpoints/dot.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.vpoints/drawvect.c, imagery/i.vpoints/graphics.c,
+	  imagery/i.vpoints/input.c, imagery/i.vpoints/main.c,
+	  imagery/i.vpoints/mark.c, imagery/i.vpoints/mouse.c,
+	  imagery/i.vpoints/points.c, imagery/i.vpoints/setup.c,
+	  imagery/i.vpoints/title.c, imagery/i.vpoints/view.c,
+	  imagery/i.vpoints/zoom_box.c, imagery/i.vpoints/zoom_pnt.c,
+	  include/display.h, include/display_raster.h, lib/display/clip.c,
+	  lib/display/draw2.c, lib/display/r_raster.c,
+	  lib/display/raster.c, lib/display/raster2.c, lib/display/setup.c,
+	  lib/display/tran_colr.c, lib/display/window.c,
+	  raster/r.digit/bnw_line.c, raster/r.digit/get_area.c,
+	  raster/r.digit/get_circle.c, raster/r.digit/get_label.c,
+	  raster/r.digit/get_line.c, raster/r.digit/get_point.c,
+	  raster/r.digit/main.c, raster/r.his/main.c,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.trace/main.c, raster/r.spread/display.c,
+	  swig/python/Makefile, vector/v.label/main.c,
+	  vector/v.what/main.c, vector/v.what/what.c: Remove
+	  display_raster.h; merged with display.h
+	  Remove unused R__* functions
+	  Rename remaining R_* functions to D_*
+
+2009-06-22 01:49  glynn
+
+	* display/d.colortable/main.c, display/d.graph/do_graph.c,
+	  display/d.graph/graphics.c, display/d.graph/main.c,
+	  display/d.grid/fiducial.c, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.grid/plotborder.c,
+	  display/d.his/his.c, display/d.his/main.c,
+	  display/d.histogram/bar.c, display/d.histogram/draw_slice.c,
+	  display/d.histogram/get_stats.c, display/d.histogram/main.c,
+	  display/d.histogram/pie.c, display/d.labels/color.c,
+	  display/d.labels/do_labels.c, display/d.labels/main.c,
+	  display/d.legend/main.c, display/d.nviz/main.c,
+	  display/d.path/main.c, display/d.path/select.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/display.c,
+	  display/d.rast/main.c, display/d.rast/mask.c,
+	  display/d.rgb/main.c, display/d.thematic.area/area.c,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot1.c,
+	  display/d.title/fancy.c, display/d.title/main.c,
+	  display/d.title/normal.c, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/main.c, display/d.vect.chart/pie.c,
+	  display/d.vect.chart/plot.c, display/d.vect/area.c,
+	  display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c, display/d.vect/topo.c,
+	  display/d.vect/utils.c, display/d.vect/zcoor.c,
+	  general/g.mremove/check_reclass.c, general/g.mremove/wc2regex.c,
+	  general/g.region/adjust.c, general/g.region/main.c,
+	  general/g.region/printwindow.c, general/g.region/zoom.c,
+	  general/g.remove/main.c, general/g.rename/main.c,
+	  general/manage/lister/Makefile, general/manage/lister/cell.c,
+	  general/manage/lister/vector.c, imagery/i.albedo/Makefile,
+	  imagery/i.albedo/main.c, imagery/i.atcorr/Makefile,
+	  imagery/i.atcorr/main.cpp, imagery/i.cca/Makefile,
+	  imagery/i.cca/main.c, imagery/i.cca/matrix.c,
+	  imagery/i.cca/stats.c, imagery/i.cca/transform.c,
+	  imagery/i.cluster/Makefile, imagery/i.cluster/checkpt.c,
+	  imagery/i.cluster/main.c, imagery/i.cluster/open_files.c,
+	  imagery/i.cluster/print1.c, imagery/i.cluster/print2.c,
+	  imagery/i.cluster/print3.c, imagery/i.cluster/print4.c,
+	  imagery/i.cluster/print5.c, imagery/i.cluster/print6.c,
+	  imagery/i.cluster/timer.c, imagery/i.eb.eta/Makefile,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/Makefile,
+	  imagery/i.eb.evapfr/main.c, imagery/i.eb.h_SEBAL01/Makefile,
+	  imagery/i.eb.h_SEBAL01/main.c,
+	  imagery/i.eb.soilheatflux/Makefile,
+	  imagery/i.eb.soilheatflux/main.c, imagery/i.emissivity/Makefile,
+	  imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/Makefile,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/Makefile,
+	  imagery/i.fft/main.c, imagery/i.gensig/Makefile,
+	  imagery/i.gensig/alloc.c, imagery/i.gensig/can_invert.c,
+	  imagery/i.gensig/closefiles.c, imagery/i.gensig/covariance.c,
+	  imagery/i.gensig/eigen.c, imagery/i.gensig/get_train.c,
+	  imagery/i.gensig/labels.c, imagery/i.gensig/lookup_class.c,
+	  imagery/i.gensig/means.c, imagery/i.gensig/openfiles.c,
+	  imagery/i.gensig/parse.c, imagery/i.gensig/read_train.c,
+	  imagery/i.gensigset/Makefile, imagery/i.gensigset/closefiles.c,
+	  imagery/i.gensigset/get_train.c, imagery/i.gensigset/invert.c,
+	  imagery/i.gensigset/labels.c, imagery/i.gensigset/lookup_class.c,
+	  imagery/i.gensigset/main.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.gensigset/parse.c, imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c,
+	  imagery/i.gensigset/subcluster.c, imagery/i.his.rgb/Makefile,
+	  imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/his2rgb.c,
+	  imagery/i.his.rgb/main.c, imagery/i.his.rgb/openfiles.c,
+	  imagery/i.ifft/Makefile, imagery/i.ifft/main.c,
+	  imagery/i.latlong/Makefile, imagery/i.latlong/main.c,
+	  imagery/i.maxlik/Makefile, imagery/i.maxlik/classify.c,
+	  imagery/i.maxlik/hist.c, imagery/i.maxlik/invert.c,
+	  imagery/i.maxlik/main.c, imagery/i.maxlik/open.c,
+	  imagery/i.modis.qc/Makefile, imagery/i.modis.qc/main.c,
+	  imagery/i.pca/Makefile, imagery/i.pca/main.c,
+	  imagery/i.pca/support.c, imagery/i.rectify/Makefile,
+	  imagery/i.rectify/crs.c, imagery/i.rectify/exec.c,
+	  imagery/i.rectify/main.c, imagery/i.rectify/perform.c,
+	  imagery/i.rectify/rectify.c, imagery/i.rectify/write.c,
+	  imagery/i.rgb.his/Makefile, imagery/i.rgb.his/closefiles.c,
+	  imagery/i.rgb.his/main.c, imagery/i.rgb.his/openfiles.c,
+	  imagery/i.rgb.his/rgb2his.c, imagery/i.smap/Makefile,
+	  imagery/i.smap/closefiles.c, imagery/i.smap/decimate.c,
+	  imagery/i.smap/history.c, imagery/i.smap/interp.c,
+	  imagery/i.smap/invert.c, imagery/i.smap/labels.c,
+	  imagery/i.smap/model.c, imagery/i.smap/multialloc.c,
+	  imagery/i.smap/opencell.c, imagery/i.smap/openfiles.c,
+	  imagery/i.smap/parse.c, imagery/i.smap/read_block.c,
+	  imagery/i.smap/write_img.c, imagery/i.sunhours/Makefile,
+	  imagery/i.sunhours/main.c, imagery/i.vi/Makefile,
+	  imagery/i.vi/main.c, imagery/i.zc/Makefile, imagery/i.zc/main.c,
+	  include/Make/Grass.make, include/Rast.h, include/raster.h,
+	  lib/cluster/c_point.c, lib/display/Makefile,
+	  lib/display/raster.c, lib/display/raster2.c, lib/display/setup.c,
+	  lib/display/tran_colr.c, lib/g3d/Makefile, lib/g3d/g3dcats.c,
+	  lib/g3d/g3dclose.c, lib/g3d/g3dcolor.c, lib/g3d/g3dfpxdr.c,
+	  lib/g3d/g3dmisc.c, lib/g3d/g3dnull.c, lib/g3d/g3drange.c,
+	  lib/g3d/g3dregion.c, lib/g3d/g3dvolume.c, lib/g3d/getblock.c,
+	  lib/g3d/tileread.c, lib/g3d/tilewrite.c, lib/gpde/Makefile,
+	  lib/gpde/N_arrays.c, lib/gpde/N_arrays_calc.c,
+	  lib/gpde/N_arrays_io.c, lib/gpde/N_pde.h, lib/nviz/Makefile,
+	  lib/nviz/nviz.c, lib/ogsf/GS2.c, lib/ogsf/Gp3.c, lib/ogsf/Gs3.c,
+	  lib/ogsf/Gvl3.c, lib/ogsf/Makefile, lib/ogsf/gsd_legend.c,
+	  lib/raster/Makefile, lib/raster/alloc_cell.c,
+	  lib/raster/auto_mask.c, lib/raster/cats.c,
+	  lib/raster/cell_stats.c, lib/raster/cellstats_eq.c,
+	  lib/raster/closecell.c, lib/raster/color_compat.c,
+	  lib/raster/color_free.c, lib/raster/color_get.c,
+	  lib/raster/color_hist.c, lib/raster/color_look.c,
+	  lib/raster/color_org.c, lib/raster/color_rand.c,
+	  lib/raster/color_read.c, lib/raster/color_rule.c,
+	  lib/raster/color_rules.c, lib/raster/color_set.c,
+	  lib/raster/color_write.c, lib/raster/color_xform.c,
+	  lib/raster/format.c, lib/raster/fpreclass.c, lib/raster/gdal.c,
+	  lib/raster/get_cellhd.c, lib/raster/get_row.c,
+	  lib/raster/get_row_colr.c, lib/raster/histo_eq.c,
+	  lib/raster/histogram.c, lib/raster/init.c,
+	  lib/raster/mask_info.c, lib/raster/maskfd.c,
+	  lib/raster/null_val.c, lib/raster/opencell.c,
+	  lib/raster/put_row.c, lib/raster/quant.c, lib/raster/quant_io.c,
+	  lib/raster/quant_rw.c, lib/raster/range.c, lib/raster/raster.c,
+	  lib/raster/raster_metadata.c, lib/raster/reclass.c,
+	  lib/raster/sample.c, lib/raster/set_window.c,
+	  lib/raster/zero_cell.c, lib/rst/interp_float/Makefile,
+	  lib/rst/interp_float/input2d.c, lib/rst/interp_float/interp2d.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/ressegm2d.c, lib/stats/Makefile,
+	  lib/stats/c_ave.c, lib/stats/c_count.c, lib/stats/c_intr.c,
+	  lib/stats/c_kurt.c, lib/stats/c_max.c, lib/stats/c_maxx.c,
+	  lib/stats/c_median.c, lib/stats/c_min.c, lib/stats/c_minx.c,
+	  lib/stats/c_mode.c, lib/stats/c_percentile.c,
+	  lib/stats/c_range.c, lib/stats/c_reg.c, lib/stats/c_skew.c,
+	  lib/stats/c_stddev.c, lib/stats/c_sum.c, lib/stats/c_var.c,
+	  lib/stats/sort_cell.c, ps/ps.map/Makefile, ps/ps.map/catval.c,
+	  ps/ps.map/distance.c, ps/ps.map/do_geogrid.c,
+	  ps/ps.map/do_masking.c, ps/ps.map/do_plt.c,
+	  ps/ps.map/do_psfiles.c, ps/ps.map/do_vectors.c,
+	  ps/ps.map/error.c, ps/ps.map/get_font.c, ps/ps.map/input.c,
+	  ps/ps.map/main.c, ps/ps.map/makeprocs.c, ps/ps.map/map_setup.c,
+	  ps/ps.map/outl_io.c, ps/ps.map/parse_list.c,
+	  ps/ps.map/ps_header.c, ps/ps.map/ps_info.h,
+	  ps/ps.map/ps_outline.c, ps/ps.map/ps_raster.c,
+	  ps/ps.map/ps_vareas.c, ps/ps.map/ps_vlines.c,
+	  ps/ps.map/r_group.c, ps/ps.map/r_labels.c, ps/ps.map/r_vareas.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/read_cfg.c, ps/ps.map/scale.c,
+	  ps/ps.map/scan_gis.c, ps/ps.map/session.c, ps/ps.map/vect.c,
+	  ps/ps.map/vector.c, raster/r.basins.fill/Makefile,
+	  raster/r.basins.fill/main.c, raster/r.basins.fill/read_map.c,
+	  raster/r.bitpattern/Makefile, raster/r.bitpattern/main.c,
+	  raster/r.buffer/Makefile, raster/r.buffer/distance.h,
+	  raster/r.buffer/find_dist.c, raster/r.buffer/init.c,
+	  raster/r.carve/Makefile, raster/r.carve/enforce.h,
+	  raster/r.carve/enforce_ds.c, raster/r.carve/main.c,
+	  raster/r.carve/raster.c, raster/r.carve/support.c,
+	  raster/r.carve/vect.c, raster/r.category/Makefile,
+	  raster/r.category/cats.c, raster/r.category/main.c,
+	  raster/r.circle/Makefile, raster/r.circle/main.c,
+	  raster/r.clump/Makefile, raster/r.clump/clump.c,
+	  raster/r.clump/main.c, raster/r.coin/Makefile,
+	  raster/r.coin/coin.h, raster/r.coin/main.c,
+	  raster/r.coin/make_coin.c, raster/r.colors.out/Makefile,
+	  raster/r.colors.out/main.c, raster/r.colors/Makefile,
+	  raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/rules.c, raster/r.colors/stats.c,
+	  raster/r.composite/Makefile, raster/r.composite/main.c,
+	  raster/r.compress/Makefile, raster/r.compress/main.c,
+	  raster/r.contour/Makefile, raster/r.contour/cont.c,
+	  raster/r.contour/main.c, raster/r.cost/Makefile,
+	  raster/r.cost/btree.c, raster/r.cost/main.c,
+	  raster/r.cost/memory.c, raster/r.covar/Makefile,
+	  raster/r.covar/main.c, raster/r.cross/Makefile,
+	  raster/r.cross/glob.h, raster/r.describe/Makefile,
+	  raster/r.describe/describe.c, raster/r.describe/dumplist.c,
+	  raster/r.describe/main.c, raster/r.describe/tree.c,
+	  raster/r.distance/Makefile, raster/r.distance/defs.h,
+	  raster/r.distance/main.c, raster/r.distance/parse.c,
+	  raster/r.drain/Makefile, raster/r.drain/filldir.c,
+	  raster/r.drain/main.c, raster/r.drain/resolve.c,
+	  raster/r.drain/tinf.c, raster/r.external/Makefile,
+	  raster/r.external/main.c, raster/r.fill.dir/Makefile,
+	  raster/r.fill.dir/dopolys.c, raster/r.fill.dir/filldir.c,
+	  raster/r.fill.dir/main.c, raster/r.fill.dir/ppupdate.c,
+	  raster/r.fill.dir/resolve.c, raster/r.fill.dir/tinf.c,
+	  raster/r.fill.dir/wtrshed.c, raster/r.flow/Makefile,
+	  raster/r.flow/aspect.c, raster/r.flow/aspect.h,
+	  raster/r.flow/io.h, raster/r.flow/main.c, raster/r.flow/mem.c,
+	  raster/r.flow/mem.h, raster/r.flow/precomp.c,
+	  raster/r.flow/r.flow.h, raster/r.grow.distance/Makefile,
+	  raster/r.grow.distance/main.c, raster/r.gwflow/main.c,
+	  raster/r.his/Makefile, raster/r.his/his.c, raster/r.his/main.c,
+	  raster/r.horizon/Makefile, raster/r.horizon/main.c,
+	  raster/r.in.arc/Makefile, raster/r.in.arc/gethead.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/Makefile,
+	  raster/r.in.ascii/gethead.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/Makefile, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/Makefile, raster/r.in.gdal/main.c,
+	  raster/r.in.gridatb/Makefile, raster/r.in.gridatb/file_io.c,
+	  raster/r.in.gridatb/local_proto.h, raster/r.in.gridatb/main.c,
+	  raster/r.in.mat/Makefile, raster/r.in.mat/main.c,
+	  raster/r.in.poly/Makefile, raster/r.in.poly/get_item.c,
+	  raster/r.in.poly/getformat.c, raster/r.in.poly/main.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.in.poly/raster.c,
+	  raster/r.in.xyz/Makefile, raster/r.in.xyz/local_proto.h,
+	  raster/r.in.xyz/main.c, raster/r.in.xyz/support.c,
+	  raster/r.info/Makefile, raster/r.info/main.c,
+	  raster/r.info/reclas_txt.c, raster/r.kappa/Makefile,
+	  raster/r.kappa/calc_kappa.c, raster/r.kappa/kappa.h,
+	  raster/r.kappa/main.c, raster/r.kappa/prt_mat.c,
+	  raster/r.kappa/stats.c, raster/r.lake/Makefile,
+	  raster/r.lake/main.c, raster/r.le/r.le.patch/patch.h,
+	  raster/r.le/r.le.pixel/pixel.h, raster/r.le/r.le.setup/setup.h,
+	  raster/r.le/r.le.trace/r.le.trace.h,
+	  raster/r.li/r.li.cwed/Makefile, raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.cwed/utility.c,
+	  raster/r.li/r.li.daemon/GenericCell.h,
+	  raster/r.li/r.li.daemon/avl.c, raster/r.li/r.li.daemon/avlID.c,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.li/r.li.daemon/ipc.c,
+	  raster/r.li/r.li.daemon/list.c, raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.dominance/Makefile,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/Makefile,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/Makefile, raster/r.li/r.li.mpa/mpa.c,
+	  raster/r.li/r.li.mps/Makefile, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/Makefile, raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/Makefile,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/Makefile, raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/Makefile,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/Makefile,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/Makefile,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/Makefile,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/Makefile, raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/Makefile,
+	  raster/r.li/r.li.simpson/simpson.c, raster/r.los/Makefile,
+	  raster/r.los/delete.c, raster/r.los/main.c,
+	  raster/r.los/make_list.c, raster/r.los/make_point.c,
+	  raster/r.los/mark_pts.c, raster/r.los/pts_elim.c,
+	  raster/r.los/radians.h, raster/r.mapcalc/Makefile,
+	  raster/r.mapcalc/column_shift.c, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/expression.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/map3.c, raster/r.mapcalc/mapcalc.h,
+	  raster/r.mapcalc/xabs.c, raster/r.mapcalc/xacos.c,
+	  raster/r.mapcalc/xadd.c, raster/r.mapcalc/xand.c,
+	  raster/r.mapcalc/xand2.c, raster/r.mapcalc/xasin.c,
+	  raster/r.mapcalc/xatan.c, raster/r.mapcalc/xbitand.c,
+	  raster/r.mapcalc/xbitnot.c, raster/r.mapcalc/xbitor.c,
+	  raster/r.mapcalc/xbitxor.c, raster/r.mapcalc/xcoor.c,
+	  raster/r.mapcalc/xcoor3.c, raster/r.mapcalc/xcos.c,
+	  raster/r.mapcalc/xdiv.c, raster/r.mapcalc/xdouble.c,
+	  raster/r.mapcalc/xeq.c, raster/r.mapcalc/xeval.c,
+	  raster/r.mapcalc/xexp.c, raster/r.mapcalc/xfloat.c,
+	  raster/r.mapcalc/xge.c, raster/r.mapcalc/xgraph.c,
+	  raster/r.mapcalc/xgt.c, raster/r.mapcalc/xif.c,
+	  raster/r.mapcalc/xint.c, raster/r.mapcalc/xisnull.c,
+	  raster/r.mapcalc/xle.c, raster/r.mapcalc/xlog.c,
+	  raster/r.mapcalc/xlt.c, raster/r.mapcalc/xmax.c,
+	  raster/r.mapcalc/xmedian.c, raster/r.mapcalc/xmin.c,
+	  raster/r.mapcalc/xmod.c, raster/r.mapcalc/xmode.c,
+	  raster/r.mapcalc/xmul.c, raster/r.mapcalc/xne.c,
+	  raster/r.mapcalc/xneg.c, raster/r.mapcalc/xnot.c,
+	  raster/r.mapcalc/xnull.c, raster/r.mapcalc/xor.c,
+	  raster/r.mapcalc/xor2.c, raster/r.mapcalc/xpow.c,
+	  raster/r.mapcalc/xrand.c, raster/r.mapcalc/xres.c,
+	  raster/r.mapcalc/xres3.c, raster/r.mapcalc/xround.c,
+	  raster/r.mapcalc/xrowcol.c, raster/r.mapcalc/xshiftl.c,
+	  raster/r.mapcalc/xshiftr.c, raster/r.mapcalc/xshiftru.c,
+	  raster/r.mapcalc/xsin.c, raster/r.mapcalc/xsqrt.c,
+	  raster/r.mapcalc/xsub.c, raster/r.mapcalc/xtan.c,
+	  raster/r.mfilter/Makefile, raster/r.mfilter/filter.h,
+	  raster/r.mfilter/getrow.c, raster/r.mfilter/main.c,
+	  raster/r.mode/Makefile, raster/r.mode/main.c,
+	  raster/r.mode/read_stats.c, raster/r.neighbors/bufs.c,
+	  raster/r.neighbors/divr_cats.c, raster/r.neighbors/gather.c,
+	  raster/r.neighbors/intr_cats.c, raster/r.neighbors/main.c,
+	  raster/r.neighbors/null_cats.c, raster/r.neighbors/readcell.c,
+	  raster/r.neighbors/readweights.c, raster/r.null/Makefile,
+	  raster/r.null/main.c, raster/r.null/mask.c,
+	  raster/r.out.arc/Makefile, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/Makefile, raster/r.out.ascii/formspecific.c,
+	  raster/r.out.ascii/main.c, raster/r.out.bin/Makefile,
+	  raster/r.out.bin/main.c, raster/r.out.gdal/Makefile,
+	  raster/r.out.gdal/export_band.c, raster/r.out.gdal/main.c,
+	  raster/r.out.gridatb/Makefile,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c,
+	  raster/r.out.mat/Makefile, raster/r.out.mat/main.c,
+	  raster/r.out.mpeg/Makefile, raster/r.out.mpeg/main.c,
+	  raster/r.out.mpeg/write.c, raster/r.out.png/Makefile,
+	  raster/r.out.png/main.c, raster/r.out.pov/Makefile,
+	  raster/r.out.pov/main.c, raster/r.out.ppm/Makefile,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/Makefile,
+	  raster/r.out.ppm3/main.c, raster/r.out.tiff/Makefile,
+	  raster/r.out.tiff/main.c, raster/r.out.vrml/Makefile,
+	  raster/r.out.vrml/main.c, raster/r.out.vrml/pv.h,
+	  raster/r.out.vtk/Makefile, raster/r.out.vtk/main.c,
+	  raster/r.out.vtk/parameters.c, raster/r.out.vtk/writeascii.c,
+	  raster/r.param.scale/Makefile, raster/r.param.scale/interface.c,
+	  raster/r.param.scale/nrutil.c, raster/r.param.scale/open_files.c,
+	  raster/r.param.scale/param.h, raster/r.param.scale/process.c,
+	  raster/r.param.scale/write_cats.c, raster/r.patch/Makefile,
+	  raster/r.patch/do_patch.c, raster/r.patch/main.c,
+	  raster/r.patch/support.c, raster/r.profile/Makefile,
+	  raster/r.profile/local_proto.h, raster/r.profile/main.c,
+	  raster/r.profile/read_rast.c, raster/r.proj/Makefile,
+	  raster/r.proj/bilinear.c, raster/r.proj/bilinear_f.c,
+	  raster/r.proj/bordwalk.c, raster/r.proj/cubic.c,
+	  raster/r.proj/cubic_f.c, raster/r.proj/main.c,
+	  raster/r.proj/nearest.c, raster/r.proj/readcell.c,
+	  raster/r.quant/Makefile, raster/r.quant/global.h,
+	  raster/r.quantile/Makefile, raster/r.quantile/main.c,
+	  raster/r.random.cells/Makefile, raster/r.random.cells/flag.c,
+	  raster/r.random.cells/indep.c, raster/r.random.cells/init.c,
+	  raster/r.random.cells/main.c, raster/r.random.cells/random.c,
+	  raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/Makefile,
+	  raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/init.c, raster/r.random.surface/main.c,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c, raster/r.random/Makefile,
+	  raster/r.random/count.c, raster/r.random/main.c,
+	  raster/r.random/random.c, raster/r.random/support.c,
+	  raster/r.reclass/Makefile, raster/r.reclass/input.c,
+	  raster/r.reclass/main.c, raster/r.reclass/parse.c,
+	  raster/r.reclass/range.c, raster/r.reclass/reclass.c,
+	  raster/r.reclass/rule.h, raster/r.reclass/stats.c,
+	  raster/r.recode/Makefile, raster/r.recode/global.h,
+	  raster/r.recode/main.c, raster/r.region/Makefile,
+	  raster/r.region/main.c, raster/r.report/Makefile,
+	  raster/r.report/global.h, raster/r.report/maskinfo.c,
+	  raster/r.resamp.interp/Makefile, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.resample/Makefile, raster/r.resample/main.c,
+	  raster/r.rescale.eq/Makefile, raster/r.rescale.eq/get_range.c,
+	  raster/r.rescale.eq/get_stats.c, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/Makefile, raster/r.rescale/get_range.c,
+	  raster/r.rescale/main.c, raster/r.ros/Makefile,
+	  raster/r.ros/main.c, raster/r.ros/spot_dist.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/Makefile,
+	  raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.spread/Makefile, raster/r.spread/collect_ori.c,
+	  raster/r.spread/display.c, raster/r.spread/insert2Ha.c,
+	  raster/r.spread/main.c, raster/r.spread/ram2out.c,
+	  raster/r.spread/replaceHa.c, raster/r.spread/select_linksB.c,
+	  raster/r.spread/spot.c, raster/r.spread/spread.c,
+	  raster/r.spreadpath/Makefile, raster/r.spreadpath/insert.c,
+	  raster/r.spreadpath/main.c, raster/r.statistics/Makefile,
+	  raster/r.statistics/main.c, raster/r.statistics/o_adev.c,
+	  raster/r.statistics/o_average.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_divr.c, raster/r.statistics/o_kurt.c,
+	  raster/r.statistics/o_max.c, raster/r.statistics/o_median.c,
+	  raster/r.statistics/o_min.c, raster/r.statistics/o_mode.c,
+	  raster/r.statistics/o_sdev.c, raster/r.statistics/o_skew.c,
+	  raster/r.statistics/o_sum.c, raster/r.statistics/o_var.c,
+	  raster/r.statistics/read_stats.c, raster/r.statistics2/Makefile,
+	  raster/r.statistics2/main.c, raster/r.statistics3/Makefile,
+	  raster/r.statistics3/main.c, raster/r.stats/Makefile,
+	  raster/r.stats/global.h, raster/r.stats/raw_stats.c,
+	  raster/r.sun2/Makefile, raster/r.sun2/main.c,
+	  raster/r.sun2/rsunlib.c, raster/r.sunmask/Makefile,
+	  raster/r.sunmask/g_solposition.c, raster/r.sunmask/main.c,
+	  raster/r.sunmask/solpos00.c, raster/r.support.stats/Makefile,
+	  raster/r.support.stats/check.c, raster/r.support.stats/histo.c,
+	  raster/r.support.stats/main.c, raster/r.support/Makefile,
+	  raster/r.support/check.c, raster/r.support/histo.c,
+	  raster/r.support/main.c, raster/r.surf.area/Makefile,
+	  raster/r.surf.area/main.c, raster/r.surf.contour/Makefile,
+	  raster/r.surf.contour/contour.h,
+	  raster/r.surf.contour/flag_create.c,
+	  raster/r.surf.contour/flag_destroy.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.fractal/Makefile,
+	  raster/r.surf.fractal/frac.h, raster/r.surf.fractal/spec_syn.c,
+	  raster/r.surf.gauss/Makefile, raster/r.surf.gauss/gaussurf.c,
+	  raster/r.surf.gauss/main.c, raster/r.surf.idw/Makefile,
+	  raster/r.surf.idw/dist.c, raster/r.surf.idw/ll.c,
+	  raster/r.surf.idw/main.c, raster/r.surf.idw/pi.h,
+	  raster/r.surf.idw2/Makefile, raster/r.surf.idw2/main.c,
+	  raster/r.surf.idw2/read_cell.c, raster/r.surf.random/Makefile,
+	  raster/r.surf.random/main.c, raster/r.surf.random/randsurf.c,
+	  raster/r.terraflow/Makefile, raster/r.terraflow/common.h,
+	  raster/r.terraflow/main.cc, raster/r.texture/Makefile,
+	  raster/r.texture/h_measure.c, raster/r.texture/main.c,
+	  raster/r.thin/Makefile, raster/r.thin/io.c, raster/r.thin/main.c,
+	  raster/r.thin/thin_lines.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/Makefile,
+	  raster/r.to.vect/areas.c, raster/r.to.vect/areas_io.c,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/lines_io.c,
+	  raster/r.to.vect/main.c, raster/r.to.vect/points.c,
+	  raster/r.to.vect/util.c, raster/r.topidx/Makefile,
+	  raster/r.topidx/file_io.c, raster/r.topidx/global.h,
+	  raster/r.topidx/main.c, raster/r.topidx/topidx.c,
+	  raster/r.topmodel/Makefile, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/global.h, raster/r.topmodel/topmodel.c,
+	  raster/r.univar/globals.h, raster/r.uslek/Makefile,
+	  raster/r.uslek/main.c, raster/r.usler/Makefile,
+	  raster/r.usler/main.c, raster/r.volume/Makefile,
+	  raster/r.volume/centroids.c, raster/r.volume/main.c,
+	  raster/r.walk/Makefile, raster/r.walk/btree.c,
+	  raster/r.walk/main.c, raster/r.walk/memory.c,
+	  raster/r.water.outlet/Makefile, raster/r.water.outlet/basin.h,
+	  raster/r.water.outlet/flag_create.c,
+	  raster/r.water.outlet/flag_destroy.c,
+	  raster/r.water.outlet/main.c, raster/r.watershed/front/Makefile,
+	  raster/r.watershed/front/main.c, raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/flag_create.c,
+	  raster/r.watershed/ram/flag_destroy.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/ram/usage.c, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/Makefile,
+	  raster/r.watershed/seg/bseg_close.c,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/cseg_close.c,
+	  raster/r.watershed/seg/cseg_get.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_close.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/sseg_close.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_open.c,
+	  raster/r.watershed/seg/sseg_put.c,
+	  raster/r.watershed/seg/usage.c,
+	  raster/r.watershed/shed/watershed.h,
+	  raster/r.what.color/Makefile, raster/r.what.color/main.c,
+	  raster/r.what/Makefile, raster/r.what/main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.gwflow/main.c,
+	  raster3d/r3.mkdspf/calc_linefax.c,
+	  raster3d/r3.mkdspf/iso_surface.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.out.vtk/errorHandling.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c, raster3d/r3.to.rast/main.c,
+	  swig/python/Makefile, vector/lidar/lidarlib/TcholBand.c,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/Makefile,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/Makefile,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/ConvexHull.c,
+	  vector/lidar/v.lidar.growing/Makefile,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/Makefile, vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.surf.bspline/Makefile,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.convert/Makefile,
+	  vector/v.convert/att.c, vector/v.convert/dist.c,
+	  vector/v.convert/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.drape/Makefile,
+	  vector/v.drape/main.c, vector/v.extrude/Makefile,
+	  vector/v.extrude/main.c, vector/v.kernel/Makefile,
+	  vector/v.kernel/function.c, vector/v.kernel/main.c,
+	  vector/v.neighbors/Makefile, vector/v.neighbors/main.c,
+	  vector/v.sample/Makefile, vector/v.sample/main.c,
+	  vector/v.surf.idw/Makefile, vector/v.surf.idw/main.c,
+	  vector/v.surf.idw/read_sites.c, vector/v.to.rast/Makefile,
+	  vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/main.c, vector/v.to.rast/raster.c,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c,
+	  vector/v.vol.rst/dataoct.c, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/oct.c, vector/v.vol.rst/user1.c,
+	  vector/v.vol.rst/user2.c, vector/v.vol.rst/user3.c,
+	  vector/v.vol.rst/user4.c, vector/v.vol.rst/vector.c,
+	  vector/v.what.rast/Makefile, vector/v.what.rast/main.c,
+	  visualization/xganim/Makefile, visualization/xganim/main.cc:
+	  Rename Rast.h->raster.h
+	  Rename libgrass_rast -> libgrass_raster
+	  Rename RASTR{LIB,DEP,_LIBNAME} -> RASTER_*
+	  Fix definition of RASTERLIB
+	  Fix EOLs for imagery/i.evapo.time_integration/main.c
+	  Add SWIG wrapper for raster library
+
+2009-06-21 15:58  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: don't crash
+	  when vdigit props are not set
+	  (merge from devbr6, r38012)
+
+2009-06-21 14:10  martinl
+
+	* raster/r.li/Makefile: disable r.li.setup
+
+2009-06-21 13:59  martinl
+
+	* include/Rast.h, lib/raster/init.c: add prototypes of raster lib
+	  init fns
+
+2009-06-21 12:59  martinl
+
+	* display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.zoom/set.c, general/g.region/adjust.c,
+	  general/g.region/main.c, general/g.region/zoom.c,
+	  general/g.setproj/main.c, general/manage/lister/Makefile,
+	  imagery/i.albedo/Makefile, imagery/i.atcorr/Makefile,
+	  imagery/i.atcorr/main.cpp, imagery/i.cca/Makefile,
+	  imagery/i.class/analyze_sig.c, imagery/i.class/draw_cell.c,
+	  imagery/i.class/signature.c, imagery/i.cluster/Makefile,
+	  imagery/i.eb.eta/Makefile, imagery/i.eb.evapfr/Makefile,
+	  imagery/i.eb.h_SEBAL01/Makefile,
+	  imagery/i.eb.soilheatflux/Makefile,
+	  imagery/i.emissivity/Makefile,
+	  imagery/i.evapo.time_integration/Makefile,
+	  imagery/i.fft/Makefile, imagery/i.gensig/Makefile,
+	  imagery/i.gensigset/Makefile, imagery/i.his.rgb/Makefile,
+	  imagery/i.ifft/Makefile, imagery/i.ifft/main.c,
+	  imagery/i.latlong/Makefile, imagery/i.maxlik/Makefile,
+	  imagery/i.modis.qc/Makefile, imagery/i.pca/Makefile,
+	  imagery/i.points/drawcell.c, imagery/i.rectify/Makefile,
+	  imagery/i.rectify/rectify.c, imagery/i.rectify/write.c,
+	  imagery/i.rgb.his/Makefile, imagery/i.smap/Makefile,
+	  imagery/i.sunhours/Makefile, imagery/i.vi/Makefile,
+	  imagery/i.vpoints/drawcell.c, imagery/i.vpoints/setup.c,
+	  imagery/i.zc/Makefile, lib/display/Makefile, lib/display/setup.c,
+	  lib/g3d/Makefile, lib/g3d/g3dregion.c, lib/gpde/Makefile,
+	  lib/gpde/N_geom.c, lib/gpde/N_pde.h, lib/nviz/Makefile,
+	  lib/ogsf/Makefile, lib/raster/opencell.c,
+	  lib/raster/set_window.c, lib/rst/interp_float/Makefile,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c,
+	  lib/stats/Makefile, ps/ps.map/Makefile, ps/ps.map/main.c,
+	  raster/r.basins.fill/Makefile, raster/r.basins.fill/main.c,
+	  raster/r.bitpattern/Makefile, raster/r.buffer/Makefile,
+	  raster/r.carve/Makefile, raster/r.category/Makefile,
+	  raster/r.category/cats.c, raster/r.circle/Makefile,
+	  raster/r.clump/Makefile, raster/r.coin/Makefile,
+	  raster/r.coin/main.c, raster/r.colors.out/Makefile,
+	  raster/r.colors/Makefile, raster/r.composite/Makefile,
+	  raster/r.compress/Makefile, raster/r.compress/main.c,
+	  raster/r.contour/Makefile, raster/r.cost/Makefile,
+	  raster/r.covar/Makefile, raster/r.cross/Makefile,
+	  raster/r.describe/Makefile, raster/r.describe/describe.c,
+	  raster/r.distance/Makefile, raster/r.drain/Makefile,
+	  raster/r.external/Makefile, raster/r.external/main.c,
+	  raster/r.fill.dir/Makefile, raster/r.flow/Makefile,
+	  raster/r.flow/io.c, raster/r.grow.distance/Makefile,
+	  raster/r.his/Makefile, raster/r.horizon/Makefile,
+	  raster/r.horizon/main.c, raster/r.in.arc/Makefile,
+	  raster/r.in.arc/gethead.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/Makefile, raster/r.in.ascii/gethead.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/Makefile,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/Makefile,
+	  raster/r.in.gdal/main.c, raster/r.in.gridatb/Makefile,
+	  raster/r.in.gridatb/adjcellhd.c, raster/r.in.mat/Makefile,
+	  raster/r.in.mat/main.c, raster/r.in.poly/Makefile,
+	  raster/r.in.poly/raster.c, raster/r.in.xyz/Makefile,
+	  raster/r.info/Makefile, raster/r.kappa/Makefile,
+	  raster/r.lake/Makefile,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.li/r.li.cwed/Makefile,
+	  raster/r.li/r.li.dominance/Makefile,
+	  raster/r.li/r.li.edgedensity/Makefile,
+	  raster/r.li/r.li.mpa/Makefile, raster/r.li/r.li.mps/Makefile,
+	  raster/r.li/r.li.padcv/Makefile,
+	  raster/r.li/r.li.padrange/Makefile,
+	  raster/r.li/r.li.padsd/Makefile,
+	  raster/r.li/r.li.patchdensity/Makefile,
+	  raster/r.li/r.li.patchnum/Makefile,
+	  raster/r.li/r.li.richness/Makefile,
+	  raster/r.li/r.li.shannon/Makefile,
+	  raster/r.li/r.li.shape/Makefile,
+	  raster/r.li/r.li.simpson/Makefile, raster/r.los/Makefile,
+	  raster/r.mapcalc/Makefile, raster/r.mfilter/Makefile,
+	  raster/r.mode/Makefile, raster/r.neighbors/main.c,
+	  raster/r.null/Makefile, raster/r.null/main.c,
+	  raster/r.out.arc/Makefile, raster/r.out.ascii/Makefile,
+	  raster/r.out.bin/Makefile, raster/r.out.gdal/Makefile,
+	  raster/r.out.gridatb/Makefile, raster/r.out.gridatb/adjcellhd.c,
+	  raster/r.out.mat/Makefile, raster/r.out.mpeg/Makefile,
+	  raster/r.out.png/Makefile, raster/r.out.pov/Makefile,
+	  raster/r.out.ppm/Makefile, raster/r.out.ppm3/Makefile,
+	  raster/r.out.tiff/Makefile, raster/r.out.tiff/main.c,
+	  raster/r.out.vrml/Makefile, raster/r.out.vtk/Makefile,
+	  raster/r.param.scale/Makefile, raster/r.patch/Makefile,
+	  raster/r.profile/Makefile, raster/r.proj/Makefile,
+	  raster/r.proj/main.c, raster/r.quant/Makefile,
+	  raster/r.quantile/Makefile, raster/r.random.cells/Makefile,
+	  raster/r.random.surface/Makefile, raster/r.random/Makefile,
+	  raster/r.reclass/Makefile, raster/r.recode/Makefile,
+	  raster/r.recode/recode.c, raster/r.region/Makefile,
+	  raster/r.region/main.c, raster/r.report/Makefile,
+	  raster/r.resamp.interp/Makefile, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.resample/Makefile, raster/r.rescale.eq/Makefile,
+	  raster/r.rescale/Makefile, raster/r.rescale/get_range.c,
+	  raster/r.ros/Makefile, raster/r.slope.aspect/Makefile,
+	  raster/r.slope.aspect/main.c, raster/r.spread/Makefile,
+	  raster/r.spreadpath/Makefile, raster/r.statistics/Makefile,
+	  raster/r.statistics2/Makefile, raster/r.statistics3/Makefile,
+	  raster/r.stats/Makefile, raster/r.sun/main.c,
+	  raster/r.sun2/Makefile, raster/r.sun2/main.c,
+	  raster/r.sunmask/Makefile, raster/r.support.stats/Makefile,
+	  raster/r.support.stats/histo.c, raster/r.support/Makefile,
+	  raster/r.support/histo.c, raster/r.surf.area/Makefile,
+	  raster/r.surf.contour/Makefile, raster/r.surf.fractal/Makefile,
+	  raster/r.surf.gauss/Makefile, raster/r.surf.idw/Makefile,
+	  raster/r.surf.idw2/Makefile, raster/r.surf.idw2/read_cell.c,
+	  raster/r.surf.random/Makefile, raster/r.terraflow/Makefile,
+	  raster/r.texture/Makefile, raster/r.thin/Makefile,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.to.vect/Makefile, raster/r.topidx/Makefile,
+	  raster/r.topmodel/Makefile, raster/r.uslek/Makefile,
+	  raster/r.usler/Makefile, raster/r.volume/Makefile,
+	  raster/r.walk/Makefile, raster/r.water.outlet/Makefile,
+	  raster/r.watershed/front/Makefile,
+	  raster/r.watershed/ram/Makefile, raster/r.watershed/seg/Makefile,
+	  raster/r.what.color/Makefile, raster/r.what/Makefile,
+	  raster/simwe/simlib/output.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/Makefile,
+	  vector/lidar/v.lidar.edgedetection/Makefile,
+	  vector/lidar/v.lidar.growing/Makefile,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/Makefile,
+	  vector/lidar/v.surf.bspline/Makefile, vector/v.convert/Makefile,
+	  vector/v.drape/Makefile, vector/v.extrude/Makefile,
+	  vector/v.kernel/Makefile, vector/v.neighbors/Makefile,
+	  vector/v.sample/Makefile, vector/v.surf.idw/Makefile,
+	  vector/v.to.rast/Makefile, vector/v.to.rast/raster.c,
+	  vector/v.what.rast/Makefile, visualization/xganim/Makefile: fix
+	  compilation - add $(RASTRLIB/DEP) + various minor fixes
+	  (gis/raster lib)
+
+2009-06-21 10:42  martinl
+
+	* lib/raster/set_window.c: remove Rast_get_set_window(), use
+	  G_get_set_window()
+
+2009-06-21 10:40  martinl
+
+	* include/Rast.h: there is no Rast_get_set_window()
+
+2009-06-21 10:39  martinl
+
+	* include/Rast.h, include/gisdefs.h, lib/gis/align_window.c,
+	  lib/gis/get_window.c, lib/gis/gisinit.c, lib/gis/rd_cellhd.c,
+	  lib/gis/set_window.c, lib/raster, lib/raster/init.c,
+	  lib/raster/set_window.c: remove rasterlib dependency from libgis
+	  (todo: clean-up G__ & libraries initialization)
+
+2009-06-21 09:56  martinl
+
+	* include/Rast.h, include/gisdefs.h, lib/gis/adj_cellhd.c,
+	  lib/gis/align_window.c, lib/gis/get_window.c,
+	  lib/gis/rd_cellhd.c, lib/gis/set_window.c, lib/raster/Makefile,
+	  lib/raster/adj_cellhd.c, lib/raster/get_cellhd.c,
+	  lib/raster/rd_cellhd.c: adj_cellhd.c, rd_cellhd.c, get_cellhd.c
+	  moved back to gislib
+
+2009-06-20 22:49  martinl
+
+	* lib/gis/Makefile: remove rastlib dep
+
+2009-06-20 22:03  martinl
+
+	* display/d.colors/curses.c, display/d.colors/get_info.c,
+	  display/d.colors/interact.c, display/d.colors/main.c,
+	  display/d.colors/tbl_toggle.c, display/d.colortable/main.c,
+	  display/d.extract/main.c, display/d.graph/do_graph.c,
+	  display/d.graph/graphics.c, display/d.graph/main.c,
+	  display/d.grid/fiducial.c, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.grid/plotborder.c,
+	  display/d.his/his.c, display/d.his/main.c,
+	  display/d.histogram/bar.c, display/d.histogram/draw_slice.c,
+	  display/d.histogram/get_stats.c, display/d.histogram/main.c,
+	  display/d.histogram/pie.c, display/d.labels/color.c,
+	  display/d.labels/do_labels.c, display/d.labels/main.c,
+	  display/d.legend/main.c, display/d.nviz/main.c,
+	  display/d.path/main.c, display/d.path/select.c,
+	  display/d.profile/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/display.c,
+	  display/d.rast/main.c, display/d.rast/mask.c,
+	  display/d.rgb/main.c, display/d.thematic.area/area.c,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot1.c,
+	  display/d.title/fancy.c, display/d.title/main.c,
+	  display/d.title/normal.c, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/main.c, display/d.vect.chart/pie.c,
+	  display/d.vect.chart/plot.c, display/d.vect/area.c,
+	  display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c, display/d.vect/topo.c,
+	  display/d.vect/utils.c, display/d.vect/zcoor.c,
+	  display/d.what.rast/main.c, display/d.what.rast/opencell.c,
+	  display/d.what.rast/show.c, display/d.what.rast/what.c,
+	  display/d.zoom/main.c, display/d.zoom/set.c,
+	  doc/raster/r.example/main.c, general/g.mremove/check_reclass.c,
+	  general/g.mremove/wc2regex.c, general/g.region/adjust.c,
+	  general/g.region/main.c, general/g.region/printwindow.c,
+	  general/g.region/zoom.c, general/g.remove/main.c,
+	  general/g.rename/main.c, general/manage/lister/cell.c,
+	  general/manage/lister/vector.c, imagery/i.albedo/main.c,
+	  imagery/i.atcorr/main.cpp, imagery/i.cca/main.c,
+	  imagery/i.cca/matrix.c, imagery/i.cca/stats.c,
+	  imagery/i.cca/transform.c, imagery/i.class/band_files.c,
+	  imagery/i.class/draw_cell.c, imagery/i.class/main.c,
+	  imagery/i.class/readbands.c, imagery/i.class/signature.c,
+	  imagery/i.cluster/checkpt.c, imagery/i.cluster/main.c,
+	  imagery/i.cluster/open_files.c, imagery/i.cluster/print1.c,
+	  imagery/i.cluster/print2.c, imagery/i.cluster/print3.c,
+	  imagery/i.cluster/print4.c, imagery/i.cluster/print5.c,
+	  imagery/i.cluster/print6.c, imagery/i.cluster/timer.c,
+	  imagery/i.eb.eta/main.c, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.h_SEBAL01/main.c, imagery/i.eb.soilheatflux/main.c,
+	  imagery/i.emissivity/main.c,
+	  imagery/i.evapo.time_integration/main.c, imagery/i.fft/main.c,
+	  imagery/i.gensig/alloc.c, imagery/i.gensig/can_invert.c,
+	  imagery/i.gensig/closefiles.c, imagery/i.gensig/covariance.c,
+	  imagery/i.gensig/eigen.c, imagery/i.gensig/get_train.c,
+	  imagery/i.gensig/labels.c, imagery/i.gensig/lookup_class.c,
+	  imagery/i.gensig/means.c, imagery/i.gensig/openfiles.c,
+	  imagery/i.gensig/parse.c, imagery/i.gensig/read_train.c,
+	  imagery/i.gensigset/closefiles.c,
+	  imagery/i.gensigset/get_train.c, imagery/i.gensigset/invert.c,
+	  imagery/i.gensigset/labels.c, imagery/i.gensigset/lookup_class.c,
+	  imagery/i.gensigset/main.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.gensigset/parse.c, imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c,
+	  imagery/i.gensigset/subcluster.c, imagery/i.his.rgb/closefiles.c,
+	  imagery/i.his.rgb/his2rgb.c, imagery/i.his.rgb/main.c,
+	  imagery/i.his.rgb/openfiles.c, imagery/i.ifft/main.c,
+	  imagery/i.latlong/main.c, imagery/i.maxlik/classify.c,
+	  imagery/i.maxlik/hist.c, imagery/i.maxlik/invert.c,
+	  imagery/i.maxlik/main.c, imagery/i.maxlik/open.c,
+	  imagery/i.modis.qc/main.c, imagery/i.pca/main.c,
+	  imagery/i.pca/support.c, imagery/i.points/cell.c,
+	  imagery/i.points/drawcell.c, imagery/i.points/graphics.c,
+	  imagery/i.points/main.c, imagery/i.rectify/crs.c,
+	  imagery/i.rectify/exec.c, imagery/i.rectify/main.c,
+	  imagery/i.rectify/perform.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/write.c, imagery/i.rgb.his/closefiles.c,
+	  imagery/i.rgb.his/main.c, imagery/i.rgb.his/openfiles.c,
+	  imagery/i.rgb.his/rgb2his.c, imagery/i.smap/closefiles.c,
+	  imagery/i.smap/decimate.c, imagery/i.smap/history.c,
+	  imagery/i.smap/interp.c, imagery/i.smap/invert.c,
+	  imagery/i.smap/labels.c, imagery/i.smap/model.c,
+	  imagery/i.smap/multialloc.c, imagery/i.smap/opencell.c,
+	  imagery/i.smap/openfiles.c, imagery/i.smap/parse.c,
+	  imagery/i.smap/read_block.c, imagery/i.smap/write_img.c,
+	  imagery/i.sunhours/main.c, imagery/i.vi/main.c,
+	  imagery/i.vpoints/cell.c, imagery/i.vpoints/colors.c,
+	  imagery/i.vpoints/drawcell.c, imagery/i.vpoints/graphics.c,
+	  imagery/i.vpoints/main.c, imagery/i.zc/main.c,
+	  include/Make/Grass.make, include/Rast.h, include/arraystats.h,
+	  include/cluster.h, include/gis.h, include/gisdefs.h,
+	  include/nviz.h, include/vedit.h, lib/Makefile,
+	  lib/cluster/c_point.c, lib/display/raster.c,
+	  lib/display/raster2.c, lib/display/tran_colr.c,
+	  lib/g3d/g3dcats.c, lib/g3d/g3dclose.c, lib/g3d/g3dcolor.c,
+	  lib/g3d/g3dfpxdr.c, lib/g3d/g3dhistory.c, lib/g3d/g3dmisc.c,
+	  lib/g3d/g3dnull.c, lib/g3d/g3drange.c, lib/g3d/g3dregion.c,
+	  lib/g3d/g3dvolume.c, lib/g3d/getblock.c, lib/g3d/tileread.c,
+	  lib/g3d/tilewrite.c, lib/gis/G.h, lib/gis/Makefile,
+	  lib/gis/adj_cellhd.c, lib/gis/align_window.c,
+	  lib/gis/alloc_cell.c, lib/gis/auto_mask.c, lib/gis/cats.c,
+	  lib/gis/cell_stats.c, lib/gis/cell_title.c,
+	  lib/gis/cellstats_eq.c, lib/gis/closecell.c,
+	  lib/gis/color_compat.c, lib/gis/color_free.c,
+	  lib/gis/color_get.c, lib/gis/color_hist.c, lib/gis/color_init.c,
+	  lib/gis/color_insrt.c, lib/gis/color_invrt.c,
+	  lib/gis/color_look.c, lib/gis/color_org.c, lib/gis/color_rand.c,
+	  lib/gis/color_range.c, lib/gis/color_read.c,
+	  lib/gis/color_remove.c, lib/gis/color_rule.c,
+	  lib/gis/color_rule_get.c, lib/gis/color_rules.c,
+	  lib/gis/color_set.c, lib/gis/color_shift.c, lib/gis/color_str.c,
+	  lib/gis/color_write.c, lib/gis/color_xform.c, lib/gis/debug.c,
+	  lib/gis/format.c, lib/gis/fpreclass.c, lib/gis/gdal.c,
+	  lib/gis/get_cellhd.c, lib/gis/get_row.c, lib/gis/get_row_colr.c,
+	  lib/gis/get_window.c, lib/gis/gisinit.c, lib/gis/histo_eq.c,
+	  lib/gis/histogram.c, lib/gis/history.c, lib/gis/interp.c,
+	  lib/gis/mask_info.c, lib/gis/maskfd.c, lib/gis/null_val.c,
+	  lib/gis/opencell.c, lib/gis/put_cellhd.c, lib/gis/put_row.c,
+	  lib/gis/put_title.c, lib/gis/quant.c, lib/gis/quant_io.c,
+	  lib/gis/quant_rw.c, lib/gis/range.c, lib/gis/raster.c,
+	  lib/gis/raster_metadata.c, lib/gis/rd_cellhd.c,
+	  lib/gis/reclass.c, lib/gis/sample.c, lib/gis/set_window.c,
+	  lib/gis/window_map.c, lib/gis/zero_cell.c, lib/gpde/N_arrays.c,
+	  lib/gpde/N_arrays_calc.c, lib/gpde/N_arrays_io.c,
+	  lib/nviz/nviz.c, lib/ogsf/GS2.c, lib/ogsf/Gp3.c, lib/ogsf/Gs3.c,
+	  lib/ogsf/Gvl3.c, lib/ogsf/gsd_legend.c, lib/raster,
+	  lib/raster/G.h, lib/raster/adj_cellhd.c, lib/raster/alloc_cell.c,
+	  lib/raster/auto_mask.c, lib/raster/cats.c,
+	  lib/raster/cell_stats.c, lib/raster/cell_title.c,
+	  lib/raster/cellstats_eq.c, lib/raster/closecell.c,
+	  lib/raster/color_compat.c, lib/raster/color_free.c,
+	  lib/raster/color_get.c, lib/raster/color_hist.c,
+	  lib/raster/color_init.c, lib/raster/color_insrt.c,
+	  lib/raster/color_invrt.c, lib/raster/color_look.c,
+	  lib/raster/color_org.c, lib/raster/color_rand.c,
+	  lib/raster/color_range.c, lib/raster/color_read.c,
+	  lib/raster/color_remove.c, lib/raster/color_rule.c,
+	  lib/raster/color_rule_get.c, lib/raster/color_rules.c,
+	  lib/raster/color_set.c, lib/raster/color_shift.c,
+	  lib/raster/color_str.c, lib/raster/color_write.c,
+	  lib/raster/color_xform.c, lib/raster/format.c,
+	  lib/raster/fpreclass.c, lib/raster/gdal.c,
+	  lib/raster/get_cellhd.c, lib/raster/get_row.c,
+	  lib/raster/get_row_colr.c, lib/raster/histo_eq.c,
+	  lib/raster/histogram.c, lib/raster/history.c,
+	  lib/raster/interp.c, lib/raster/mask_info.c, lib/raster/maskfd.c,
+	  lib/raster/null_val.c, lib/raster/opencell.c,
+	  lib/raster/put_cellhd.c, lib/raster/put_row.c,
+	  lib/raster/put_title.c, lib/raster/quant.c,
+	  lib/raster/quant_io.c, lib/raster/quant_rw.c, lib/raster/range.c,
+	  lib/raster/raster.c, lib/raster/raster_metadata.c,
+	  lib/raster/rd_cellhd.c, lib/raster/reclass.c,
+	  lib/raster/sample.c, lib/raster/zero_cell.c,
+	  lib/rst/interp_float/input2d.c, lib/rst/interp_float/interp2d.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/ressegm2d.c, lib/stats/c_ave.c,
+	  lib/stats/c_count.c, lib/stats/c_intr.c, lib/stats/c_kurt.c,
+	  lib/stats/c_max.c, lib/stats/c_maxx.c, lib/stats/c_median.c,
+	  lib/stats/c_min.c, lib/stats/c_minx.c, lib/stats/c_mode.c,
+	  lib/stats/c_percentile.c, lib/stats/c_range.c, lib/stats/c_reg.c,
+	  lib/stats/c_skew.c, lib/stats/c_stddev.c, lib/stats/c_sum.c,
+	  lib/stats/c_var.c, lib/stats/sort_cell.c, ps/ps.map/catval.c,
+	  ps/ps.map/distance.c, ps/ps.map/do_geogrid.c,
+	  ps/ps.map/do_header.c, ps/ps.map/do_labels.c,
+	  ps/ps.map/do_masking.c, ps/ps.map/do_plt.c,
+	  ps/ps.map/do_psfiles.c, ps/ps.map/do_vectors.c,
+	  ps/ps.map/error.c, ps/ps.map/get_font.c, ps/ps.map/input.c,
+	  ps/ps.map/main.c, ps/ps.map/makeprocs.c, ps/ps.map/map_setup.c,
+	  ps/ps.map/outl_io.c, ps/ps.map/parse_list.c,
+	  ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/ps_header.c, ps/ps.map/ps_info.h,
+	  ps/ps.map/ps_outline.c, ps/ps.map/ps_raster.c,
+	  ps/ps.map/ps_vareas.c, ps/ps.map/ps_vlines.c,
+	  ps/ps.map/ps_vpoints.c, ps/ps.map/r_border.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_colortable.c, ps/ps.map/r_group.c,
+	  ps/ps.map/r_labels.c, ps/ps.map/r_plt.c, ps/ps.map/r_rgb.c,
+	  ps/ps.map/r_text.c, ps/ps.map/r_vareas.c, ps/ps.map/r_vlines.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/r_wind.c, ps/ps.map/read_cfg.c,
+	  ps/ps.map/scale.c, ps/ps.map/scan_gis.c, ps/ps.map/session.c,
+	  ps/ps.map/vect.c, ps/ps.map/vector.c,
+	  raster/r.basins.fill/main.c, raster/r.basins.fill/read_map.c,
+	  raster/r.bitpattern/main.c, raster/r.buffer/distance.h,
+	  raster/r.buffer/find_dist.c, raster/r.buffer/init.c,
+	  raster/r.buffer/main.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/support.c, raster/r.buffer/write_map.c,
+	  raster/r.carve/enforce.h, raster/r.carve/enforce_ds.c,
+	  raster/r.carve/main.c, raster/r.carve/raster.c,
+	  raster/r.carve/support.c, raster/r.carve/vect.c,
+	  raster/r.category/cats.c, raster/r.category/main.c,
+	  raster/r.circle/main.c, raster/r.clump/clump.c,
+	  raster/r.clump/main.c, raster/r.coin/coin.h,
+	  raster/r.coin/main.c, raster/r.coin/make_coin.c,
+	  raster/r.coin/print_hdr.c, raster/r.colors.out/main.c,
+	  raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/rules.c, raster/r.colors/stats.c,
+	  raster/r.composite/main.c, raster/r.compress/main.c,
+	  raster/r.contour/cont.c, raster/r.contour/main.c,
+	  raster/r.cost/btree.c, raster/r.cost/main.c,
+	  raster/r.cost/memory.c, raster/r.covar/main.c,
+	  raster/r.cross/cats.c, raster/r.cross/cross.c,
+	  raster/r.cross/glob.h, raster/r.cross/main.c,
+	  raster/r.cross/renumber.c, raster/r.describe/describe.c,
+	  raster/r.describe/dumplist.c, raster/r.describe/main.c,
+	  raster/r.describe/tree.c, raster/r.digit/digitize.c,
+	  raster/r.digit/get_label.c, raster/r.distance/defs.h,
+	  raster/r.distance/distance.c, raster/r.distance/edges.c,
+	  raster/r.distance/labels.c, raster/r.distance/main.c,
+	  raster/r.distance/parse.c, raster/r.drain/filldir.c,
+	  raster/r.drain/main.c, raster/r.drain/resolve.c,
+	  raster/r.drain/tinf.c, raster/r.external/main.c,
+	  raster/r.fill.dir/dopolys.c, raster/r.fill.dir/filldir.c,
+	  raster/r.fill.dir/main.c, raster/r.fill.dir/ppupdate.c,
+	  raster/r.fill.dir/resolve.c, raster/r.fill.dir/tinf.c,
+	  raster/r.fill.dir/wtrshed.c, raster/r.flow/aspect.c,
+	  raster/r.flow/aspect.h, raster/r.flow/io.c, raster/r.flow/io.h,
+	  raster/r.flow/main.c, raster/r.flow/mem.c, raster/r.flow/mem.h,
+	  raster/r.flow/precomp.c, raster/r.flow/r.flow.h,
+	  raster/r.grow.distance/main.c, raster/r.grow/main.c,
+	  raster/r.gwflow/main.c, raster/r.his/his.c, raster/r.his/main.c,
+	  raster/r.horizon/main.c, raster/r.in.arc/gethead.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/gethead.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.gridatb/file_io.c,
+	  raster/r.in.gridatb/local_proto.h, raster/r.in.gridatb/main.c,
+	  raster/r.in.mat/main.c, raster/r.in.poly/get_item.c,
+	  raster/r.in.poly/getformat.c, raster/r.in.poly/main.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.in.poly/raster.c,
+	  raster/r.in.xyz/local_proto.h, raster/r.in.xyz/main.c,
+	  raster/r.in.xyz/support.c, raster/r.info/main.c,
+	  raster/r.info/reclas_txt.c, raster/r.kappa/calc_kappa.c,
+	  raster/r.kappa/kappa.h, raster/r.kappa/main.c,
+	  raster/r.kappa/mask.c, raster/r.kappa/prt_hdr.c,
+	  raster/r.kappa/prt_label.c, raster/r.kappa/prt_mat.c,
+	  raster/r.kappa/stats.c, raster/r.lake/main.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/patch.h,
+	  raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.pixel/pixel.h,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.setup/setup.h, raster/r.le/r.le.trace/main.c,
+	  raster/r.le/r.le.trace/r.le.trace.h,
+	  raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.cwed/utility.c,
+	  raster/r.li/r.li.daemon/GenericCell.h,
+	  raster/r.li/r.li.daemon/avl.c, raster/r.li/r.li.daemon/avlID.c,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.li/r.li.daemon/ipc.c,
+	  raster/r.li/r.li.daemon/list.c, raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c, raster/r.los/delete.c,
+	  raster/r.los/main.c, raster/r.los/make_list.c,
+	  raster/r.los/make_point.c, raster/r.los/mark_pts.c,
+	  raster/r.los/pts_elim.c, raster/r.los/radians.h,
+	  raster/r.mapcalc/column_shift.c, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/expression.c, raster/r.mapcalc/expression.h,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/mapcalc.h, raster/r.mapcalc/xabs.c,
+	  raster/r.mapcalc/xacos.c, raster/r.mapcalc/xadd.c,
+	  raster/r.mapcalc/xand.c, raster/r.mapcalc/xand2.c,
+	  raster/r.mapcalc/xasin.c, raster/r.mapcalc/xatan.c,
+	  raster/r.mapcalc/xbitand.c, raster/r.mapcalc/xbitnot.c,
+	  raster/r.mapcalc/xbitor.c, raster/r.mapcalc/xbitxor.c,
+	  raster/r.mapcalc/xcoor.c, raster/r.mapcalc/xcoor3.c,
+	  raster/r.mapcalc/xcos.c, raster/r.mapcalc/xdiv.c,
+	  raster/r.mapcalc/xdouble.c, raster/r.mapcalc/xeq.c,
+	  raster/r.mapcalc/xeval.c, raster/r.mapcalc/xexp.c,
+	  raster/r.mapcalc/xfloat.c, raster/r.mapcalc/xge.c,
+	  raster/r.mapcalc/xgraph.c, raster/r.mapcalc/xgt.c,
+	  raster/r.mapcalc/xif.c, raster/r.mapcalc/xint.c,
+	  raster/r.mapcalc/xisnull.c, raster/r.mapcalc/xle.c,
+	  raster/r.mapcalc/xlog.c, raster/r.mapcalc/xlt.c,
+	  raster/r.mapcalc/xmax.c, raster/r.mapcalc/xmedian.c,
+	  raster/r.mapcalc/xmin.c, raster/r.mapcalc/xmod.c,
+	  raster/r.mapcalc/xmode.c, raster/r.mapcalc/xmul.c,
+	  raster/r.mapcalc/xne.c, raster/r.mapcalc/xneg.c,
+	  raster/r.mapcalc/xnot.c, raster/r.mapcalc/xnull.c,
+	  raster/r.mapcalc/xor.c, raster/r.mapcalc/xor2.c,
+	  raster/r.mapcalc/xpow.c, raster/r.mapcalc/xrand.c,
+	  raster/r.mapcalc/xres.c, raster/r.mapcalc/xres3.c,
+	  raster/r.mapcalc/xround.c, raster/r.mapcalc/xrowcol.c,
+	  raster/r.mapcalc/xshiftl.c, raster/r.mapcalc/xshiftr.c,
+	  raster/r.mapcalc/xshiftru.c, raster/r.mapcalc/xsin.c,
+	  raster/r.mapcalc/xsqrt.c, raster/r.mapcalc/xsub.c,
+	  raster/r.mapcalc/xtan.c, raster/r.mfilter/apply.c,
+	  raster/r.mfilter/execute.c, raster/r.mfilter/filter.h,
+	  raster/r.mfilter/getrow.c, raster/r.mfilter/main.c,
+	  raster/r.mfilter/perform.c, raster/r.mode/main.c,
+	  raster/r.mode/read_stats.c, raster/r.neighbors/bufs.c,
+	  raster/r.neighbors/divr_cats.c, raster/r.neighbors/gather.c,
+	  raster/r.neighbors/intr_cats.c, raster/r.neighbors/main.c,
+	  raster/r.neighbors/null_cats.c, raster/r.neighbors/readcell.c,
+	  raster/r.neighbors/readweights.c, raster/r.null/main.c,
+	  raster/r.null/mask.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/formspecific.c, raster/r.out.ascii/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.gdal/export_band.c,
+	  raster/r.out.gdal/main.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.mpeg/write.c, raster/r.out.png/main.c,
+	  raster/r.out.pov/main.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.tiff/main.c,
+	  raster/r.out.vrml/main.c, raster/r.out.vrml/put_grid.c,
+	  raster/r.out.vrml/pv.h, raster/r.out.vtk/main.c,
+	  raster/r.out.vtk/parameters.c, raster/r.out.vtk/writeascii.c,
+	  raster/r.param.scale/close_down.c,
+	  raster/r.param.scale/interface.c, raster/r.param.scale/nrutil.c,
+	  raster/r.param.scale/open_files.c, raster/r.param.scale/param.h,
+	  raster/r.param.scale/process.c,
+	  raster/r.param.scale/write_cats.c,
+	  raster/r.param.scale/write_cols.c, raster/r.patch/do_patch.c,
+	  raster/r.patch/main.c, raster/r.patch/support.c,
+	  raster/r.profile/local_proto.h, raster/r.profile/main.c,
+	  raster/r.profile/read_rast.c, raster/r.proj/bilinear.c,
+	  raster/r.proj/bilinear_f.c, raster/r.proj/bordwalk.c,
+	  raster/r.proj/cubic.c, raster/r.proj/cubic_f.c,
+	  raster/r.proj/main.c, raster/r.proj/nearest.c,
+	  raster/r.proj/readcell.c, raster/r.quant/global.h,
+	  raster/r.quant/main.c, raster/r.quant/read_rules.c,
+	  raster/r.quantile/main.c, raster/r.random.cells/flag.c,
+	  raster/r.random.cells/indep.c, raster/r.random.cells/init.c,
+	  raster/r.random.cells/main.c, raster/r.random.cells/random.c,
+	  raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/init.c, raster/r.random.surface/main.c,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c, raster/r.random/count.c,
+	  raster/r.random/main.c, raster/r.random/random.c,
+	  raster/r.random/support.c, raster/r.reclass/input.c,
+	  raster/r.reclass/main.c, raster/r.reclass/parse.c,
+	  raster/r.reclass/range.c, raster/r.reclass/reclass.c,
+	  raster/r.reclass/rule.h, raster/r.reclass/stats.c,
+	  raster/r.recode/global.h, raster/r.recode/main.c,
+	  raster/r.recode/read_rules.c, raster/r.recode/recode.c,
+	  raster/r.region/main.c, raster/r.report/global.h,
+	  raster/r.report/header.c, raster/r.report/maskinfo.c,
+	  raster/r.report/parse.c, raster/r.report/prt_report.c,
+	  raster/r.report/stats.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.resample/main.c, raster/r.rescale.eq/get_range.c,
+	  raster/r.rescale.eq/get_stats.c, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/get_range.c, raster/r.rescale/main.c,
+	  raster/r.ros/main.c, raster/r.ros/spot_dist.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.slope.aspect/opennew.c, raster/r.spread/collect_ori.c,
+	  raster/r.spread/display.c, raster/r.spread/insert2Ha.c,
+	  raster/r.spread/main.c, raster/r.spread/ram2out.c,
+	  raster/r.spread/replaceHa.c, raster/r.spread/select_linksB.c,
+	  raster/r.spread/spot.c, raster/r.spread/spread.c,
+	  raster/r.spreadpath/insert.c, raster/r.spreadpath/main.c,
+	  raster/r.statistics/main.c, raster/r.statistics/o_adev.c,
+	  raster/r.statistics/o_average.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_divr.c, raster/r.statistics/o_kurt.c,
+	  raster/r.statistics/o_max.c, raster/r.statistics/o_median.c,
+	  raster/r.statistics/o_min.c, raster/r.statistics/o_mode.c,
+	  raster/r.statistics/o_sdev.c, raster/r.statistics/o_skew.c,
+	  raster/r.statistics/o_sum.c, raster/r.statistics/o_var.c,
+	  raster/r.statistics/read_stats.c, raster/r.statistics2/main.c,
+	  raster/r.statistics3/main.c, raster/r.stats/cell_stats.c,
+	  raster/r.stats/global.h, raster/r.stats/main.c,
+	  raster/r.stats/raw_stats.c, raster/r.stats/stats.c,
+	  raster/r.sun/main.c, raster/r.sun2/main.c,
+	  raster/r.sun2/rsunlib.c, raster/r.sunmask/g_solposition.c,
+	  raster/r.sunmask/main.c, raster/r.sunmask/solpos00.c,
+	  raster/r.support.stats/check.c, raster/r.support.stats/histo.c,
+	  raster/r.support.stats/main.c, raster/r.support/check.c,
+	  raster/r.support/histo.c, raster/r.support/main.c,
+	  raster/r.surf.area/main.c, raster/r.surf.contour/contour.h,
+	  raster/r.surf.contour/flag_create.c,
+	  raster/r.surf.contour/flag_destroy.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.contour/read_cell.c,
+	  raster/r.surf.fractal/frac.h, raster/r.surf.fractal/spec_syn.c,
+	  raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.gauss/main.c,
+	  raster/r.surf.idw/dist.c, raster/r.surf.idw/ll.c,
+	  raster/r.surf.idw/main.c, raster/r.surf.idw/pi.h,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c,
+	  raster/r.surf.random/main.c, raster/r.surf.random/randsurf.c,
+	  raster/r.terraflow/common.h, raster/r.terraflow/grass2str.h,
+	  raster/r.terraflow/main.cc, raster/r.texture/h_measure.c,
+	  raster/r.texture/main.c, raster/r.thin/io.c,
+	  raster/r.thin/main.c, raster/r.thin/thin_lines.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.to.vect/areas.c, raster/r.to.vect/areas_io.c,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/lines_io.c,
+	  raster/r.to.vect/main.c, raster/r.to.vect/points.c,
+	  raster/r.to.vect/util.c, raster/r.topidx/file_io.c,
+	  raster/r.topidx/global.h, raster/r.topidx/main.c,
+	  raster/r.topidx/topidx.c, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/global.h, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/topmodel.c, raster/r.univar/globals.h,
+	  raster/r.univar/r.univar_main.c, raster/r.uslek/main.c,
+	  raster/r.usler/main.c, raster/r.volume/centroids.c,
+	  raster/r.volume/main.c, raster/r.walk/btree.c,
+	  raster/r.walk/main.c, raster/r.walk/memory.c,
+	  raster/r.water.outlet/basin.h,
+	  raster/r.water.outlet/flag_create.c,
+	  raster/r.water.outlet/flag_destroy.c,
+	  raster/r.water.outlet/main.c, raster/r.watershed/front/main.c,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/flag_create.c,
+	  raster/r.watershed/ram/flag_destroy.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/ram/usage.c, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_close.c,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg_close.c,
+	  raster/r.watershed/seg/cseg_get.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_close.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/sseg_close.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_open.c,
+	  raster/r.watershed/seg/sseg_put.c,
+	  raster/r.watershed/seg/usage.c, raster/r.watershed/shed/print.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c,
+	  raster/r.watershed/shed/watershed.h, raster/r.what.color/main.c,
+	  raster/r.what/main.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.mkdspf/calc_linefax.c,
+	  raster3d/r3.mkdspf/iso_surface.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.out.vtk/errorHandling.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c, raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  vector/lidar/lidarlib/TcholBand.c,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/ConvexHull.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.convert/att.c,
+	  vector/v.convert/dist.c, vector/v.convert/main.c,
+	  vector/v.convert/old2new.c, vector/v.convert/read.c,
+	  vector/v.drape/main.c, vector/v.extrude/main.c,
+	  vector/v.kernel/function.c, vector/v.kernel/main.c,
+	  vector/v.neighbors/main.c, vector/v.sample/main.c,
+	  vector/v.surf.idw/main.c, vector/v.surf.idw/read_sites.c,
+	  vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/raster.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c, vector/v.vol.rst/dataoct.c,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/oct.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/user4.c,
+	  vector/v.vol.rst/vector.c, vector/v.what.rast/main.c,
+	  visualization/xganim/main.cc: rasterlib: raster-related fns moved
+	  from gislib to rasterlib (step 1)
+
+2009-06-20 21:39  glynn
+
+	* swig/Makefile: Check for $(CXX)
+
+2009-06-20 14:28  martinl
+
+	* include/display_raster.h, lib/display/draw2.c,
+	  lib/display/r_raster.c, lib/display/raster.c,
+	  lib/display/raster2.c, lib/display/tran_colr.c,
+	  lib/display/window.c: R_() fns used only by display library
+	  renamed to R__()
+
+2009-06-20 12:19  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: VectorSelect
+	  implemented
+
+2009-06-20 09:10  martinl
+
+	* lib/python/Makefile, lib/python/__init__.py,
+	  lib/python/grass__init__.py, swig/python/Makefile: fix
+	  grass/__init__.py
+
+2009-06-20 09:03  martinl
+
+	* swig/python/Makefile: python swig interface fixed (raster.h ->
+	  display_raster.h)
+
+2009-06-20 08:33  martinl
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.colors/get_info.c, display/d.colors/interact.c,
+	  display/d.colors/main.c, display/d.colortable/main.c,
+	  display/d.erase/main.c, display/d.extract/extract.c,
+	  display/d.extract/main.c, display/d.font/main.c,
+	  display/d.fontlist/main.c, display/d.geodesic/main.c,
+	  display/d.geodesic/plot.c, display/d.graph/do_graph.c,
+	  display/d.graph/main.c, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.his/main.c,
+	  display/d.histogram/bar.c, display/d.histogram/draw_slice.c,
+	  display/d.histogram/main.c, display/d.histogram/pie.c,
+	  display/d.info/main.c, display/d.labels/do_labels.c,
+	  display/d.labels/main.c, display/d.legend/main.c,
+	  display/d.linegraph/main.c, display/d.measure/draw_line.c,
+	  display/d.measure/main.c, display/d.measure/msurements.c,
+	  display/d.nviz/main.c, display/d.path/main.c,
+	  display/d.path/select.c, display/d.profile/main.c,
+	  display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.rast/display.c, display/d.rast/main.c,
+	  display/d.rgb/main.c, display/d.rhumbline/main.c,
+	  display/d.rhumbline/plot.c, display/d.text/main.c,
+	  display/d.thematic.area/area.c, display/d.thematic.area/main.c,
+	  display/d.thematic.area/plot1.c, display/d.title/main.c,
+	  display/d.vect.chart/bar.c, display/d.vect.chart/main.c,
+	  display/d.vect.chart/pie.c, display/d.vect.chart/plot.c,
+	  display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/dir.c, display/d.vect/label.c,
+	  display/d.vect/main.c, display/d.vect/plot1.c,
+	  display/d.vect/topo.c, display/d.vect/utils.c,
+	  display/d.vect/zcoor.c, display/d.what.rast/main.c,
+	  display/d.what.rast/what.c, display/d.what.vect/main.c,
+	  display/d.what.vect/what.c, display/d.where/main.c,
+	  display/d.zoom/box.c, display/d.zoom/center.c,
+	  display/d.zoom/main.c, display/d.zoom/pan.c,
+	  display/d.zoom/print.c, display/d.zoom/quit.c,
+	  display/d.zoom/redraw.c, display/d.zoom/set.c,
+	  display/d.zoom/zoom.c, imagery/i.class/add_point.c,
+	  imagery/i.class/del_point.c, imagery/i.class/draw_cell.c,
+	  imagery/i.class/draw_reg.c, imagery/i.class/graphics.c,
+	  imagery/i.class/histograms.c, imagery/i.class/input.c,
+	  imagery/i.class/main.c, imagery/i.class/mouse.c,
+	  imagery/i.class/redisplay.c, imagery/i.class/title.c,
+	  imagery/i.class/view.c, imagery/i.class/zoom_box.c,
+	  imagery/i.points/analyze.c, imagery/i.points/ask.c,
+	  imagery/i.points/ask_mag.c, imagery/i.points/call.c,
+	  imagery/i.points/debug.c, imagery/i.points/dot.c,
+	  imagery/i.points/drawcell.c, imagery/i.points/graphics.c,
+	  imagery/i.points/input.c, imagery/i.points/main.c,
+	  imagery/i.points/mark.c, imagery/i.points/mouse.c,
+	  imagery/i.points/points.c, imagery/i.points/title.c,
+	  imagery/i.points/view.c, imagery/i.points/zoom_box.c,
+	  imagery/i.points/zoom_pnt.c, imagery/i.vpoints/analyze.c,
+	  imagery/i.vpoints/ask.c, imagery/i.vpoints/ask_mag.c,
+	  imagery/i.vpoints/call.c, imagery/i.vpoints/debug.c,
+	  imagery/i.vpoints/dot.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.vpoints/drawvect.c, imagery/i.vpoints/graphics.c,
+	  imagery/i.vpoints/input.c, imagery/i.vpoints/main.c,
+	  imagery/i.vpoints/mark.c, imagery/i.vpoints/mouse.c,
+	  imagery/i.vpoints/points.c, imagery/i.vpoints/setup.c,
+	  imagery/i.vpoints/title.c, imagery/i.vpoints/view.c,
+	  imagery/i.vpoints/zoom_box.c, imagery/i.vpoints/zoom_pnt.c,
+	  include/display_raster.h, include/raster.h, lib/display/clip.c,
+	  lib/display/draw2.c, lib/display/r_raster.c,
+	  lib/display/raster.c, lib/display/raster2.c, lib/display/setup.c,
+	  lib/display/tran_colr.c, lib/display/window.c,
+	  raster/r.digit/bnw_line.c, raster/r.digit/get_area.c,
+	  raster/r.digit/get_circle.c, raster/r.digit/get_label.c,
+	  raster/r.digit/get_line.c, raster/r.digit/get_point.c,
+	  raster/r.digit/main.c, raster/r.his/main.c,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.trace/main.c, raster/r.spread/display.c,
+	  vector/v.label/main.c, vector/v.what/main.c,
+	  vector/v.what/what.c: raster.h renamed to display_raster.h
+
+2009-06-20 04:38  kyngchaos
+
+	* macosx/Makefile, macosx/app/Makefile, macosx/app/grass.sh.in,
+	  macosx/pkg/resources/postflight.in: precompile python scripts for
+	  bindist package install as user may not have perms at runtime
+	  (from dev6 r37987)
+
+2009-06-20 03:16  hamish
+
+	* scripts/v.out.gps/v.out.gps.py: bug ref
+
+2009-06-20 02:38  glynn
+
+	* scripts/Makefile: Enable v.out.gps
+
+2009-06-20 02:18  hamish
+
+	* scripts/v.out.gps/v.out.gps: bug ref
+
+2009-06-20 01:28  hamish
+
+	* general/g.region/printwindow.c, lib/gis/wind_format.c,
+	  raster/r.distance/report.c, raster/r.out.ascii/formspecific.c,
+	  raster/r.stats/raw_stats.c, sites/s.out.ascii/main.c: output
+	  correct precision for different projection types (bugs #654 and
+	  #335; merge from devbr6)
+
+2009-06-19 22:17  martinl
+
+	* swig/python/Makefile, swig/python/__init__.py: fix python swig -
+	  rasterlib removed
+
+2009-06-19 21:16  martinl
+
+	* imagery/i.eb.eta, imagery/i.eb.eta/Makefile,
+	  imagery/i.eb.eta/eta.c, imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.eta/main.c: svn props
+
+2009-06-19 21:03  martinl
+
+	* display/d.barscale/Makefile, display/d.colorlist/Makefile,
+	  display/d.colors/Makefile, display/d.colortable/Makefile,
+	  display/d.erase/Makefile, display/d.extract/Makefile,
+	  display/d.font/Makefile, display/d.fontlist/Makefile,
+	  display/d.geodesic/Makefile, display/d.graph/Makefile,
+	  display/d.grid/Makefile, display/d.his/Makefile,
+	  display/d.histogram/Makefile, display/d.info/Makefile,
+	  display/d.labels/Makefile, display/d.legend/Makefile,
+	  display/d.linegraph/Makefile, display/d.measure/Makefile,
+	  display/d.nviz/Makefile, display/d.path/Makefile,
+	  display/d.profile/Makefile, display/d.rast.arrow/Makefile,
+	  display/d.rast.num/Makefile, display/d.rast/Makefile,
+	  display/d.rgb/Makefile, display/d.rhumbline/Makefile,
+	  display/d.text/Makefile, display/d.thematic.area/Makefile,
+	  display/d.title/Makefile, display/d.vect.chart/Makefile,
+	  display/d.vect/Makefile, display/d.what.rast/Makefile,
+	  display/d.what.vect/Makefile, display/d.where/Makefile,
+	  display/d.zoom/Makefile, imagery/i.class/Makefile,
+	  imagery/i.points/Makefile, imagery/i.vpoints/Makefile,
+	  include/Make/Grass.make, lib/Makefile, lib/display/Makefile,
+	  lib/display/r_raster.c, lib/display/rastergraphicslib.dox,
+	  lib/raster, raster/r.digit/Makefile,
+	  raster/r.le/r.le.setup/Makefile, raster/r.le/r.le.trace/Makefile,
+	  raster/r.spread/Makefile, swig/python/Makefile,
+	  vector/v.label.sa/Makefile, vector/v.label/Makefile: R_() fns
+	  moved to display library
+
+2009-06-19 20:37  glynn
+
+	* scripts/v.out.gps/v.out.gps.py: Convert v.out.gps to Python
+	  (untested)
+
+2009-06-19 19:20  martinl
+
+	* imagery/i.evapo.time_integration,
+	  imagery/i.evapo.time_integration/main.c: Please follow SUBMITTING
+	  rules - see r37961
+
+2009-06-19 18:54  glynn
+
+	* swig/python/Makefile: vedit wrapper needs vector headers
+
+2009-06-19 18:48  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/units.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI/vdigit: units for geometry
+	  attributes
+
+2009-06-19 18:36  hamish
+
+	* vector/lidar/lidarlib/TcholBand.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/main.c: cleaner verbose
+	  messages; loop speedup from Markus Metz
+
+2009-06-19 17:16  ychemin
+
+	* imagery/Makefile: rename in Makefile
+
+2009-06-19 16:49  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/Makefile,
+	  imagery/i.eb.eta, imagery/i.eb.eta/Makefile,
+	  imagery/i.eb.eta/eta.c, imagery/i.eb.eta/i.eb.eta.html,
+	  imagery/i.eb.eta/main.c: added module for actual
+	  evapotranspiration (i.eb.eta)
+
+2009-06-19 16:25  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI updated using
+	  support/update_menudata.py
+
+2009-06-19 15:59  ychemin
+
+	* imagery/i.eb.soilheatflux/i.eb.g0.html: fix renaming bug
+
+2009-06-19 15:56  ychemin
+
+	* imagery/i.eb.soilheatflux, imagery/i.eb.soilheatflux/Makefile,
+	  imagery/i.eb.soilheatflux/i.eb.g0.html,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html: fix renaming
+	  bug
+
+2009-06-19 15:54  ychemin
+
+	* gui/wxpython/xml/menudata.xml, imagery/i.eb.soilheatflux,
+	  imagery/i.eb.soilheatflux/Makefile,
+	  imagery/i.eb.soilheatflux/i.eb.soilheatflux.html: updated menus
+
+2009-06-19 15:40  ychemin
+
+	* imagery/i.eb.evapfr/i.eb.evapfr.html, imagery/i.eb.g0,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_SEBAL01.html,
+	  imagery/i.eb.soilheatflux, imagery/i.eb.soilheatflux/Makefile,
+	  imagery/i.eb.soilheatflux/main.c: renamed i.eb.g0 to
+	  i.eb.soilheatflux
+
+2009-06-19 14:59  martinl
+
+	* imagery/i.eb.evapfr, imagery/i.eb.evapfr/Makefile,
+	  imagery/i.eb.evapfr/evap_fr.c,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.evapfr/soilmoisture.c, imagery/i.eb.g0,
+	  imagery/i.eb.g0/Makefile, imagery/i.eb.g0/g0.c,
+	  imagery/i.eb.g0/i.eb.g0.html, imagery/i.eb.g0/main.c,
+	  imagery/i.eb.h_SEBAL01, imagery/i.eb.h_SEBAL01/Makefile,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_SEBAL01.html,
+	  imagery/i.eb.h_SEBAL01/main.c: Please follow SUBMITTING rules if
+	  you add new modules
+	  * svn prop set
+	  * use standard messages!
+	  (http://grass.osgeo.org/wiki/Development_Specs)
+	  * don't use _() macro for option->key
+	  * better not to use default answers for input raster maps
+
+2009-06-19 14:50  ychemin
+
+	* imagery/Makefile, imagery/i.evapo.time_integration,
+	  imagery/i.evapo.time_integration/Makefile,
+	  imagery/i.evapo.time_integration/i.evapo.time_integration.html,
+	  imagery/i.evapo.time_integration/main.c: Added module for
+	  temporal integration of ET maps
+
+2009-06-19 12:48  ychemin
+
+	* imagery/Makefile, imagery/i.eb.h_SEBAL01,
+	  imagery/i.eb.h_SEBAL01/Makefile,
+	  imagery/i.eb.h_SEBAL01/i.eb.h_SEBAL01.html,
+	  imagery/i.eb.h_SEBAL01/main.c: Added sensible heat flux module
+
+2009-06-19 11:56  ychemin
+
+	* imagery/i.eb.evapfr, imagery/i.eb.evapfr/Makefile,
+	  imagery/i.eb.evapfr/evap_fr.c,
+	  imagery/i.eb.evapfr/i.eb.evapfr.html, imagery/i.eb.evapfr/main.c,
+	  imagery/i.eb.evapfr/soilmoisture.c: Added i.eb.evapfr
+
+2009-06-19 11:55  ychemin
+
+	* imagery/Makefile: Added i.eb.evapfr
+
+2009-06-19 11:44  ychemin
+
+	* imagery/Makefile, imagery/i.eb.g0, imagery/i.eb.g0/Makefile,
+	  imagery/i.eb.g0/g0.c, imagery/i.eb.g0/i.eb.g0.html,
+	  imagery/i.eb.g0/main.c: Added soil heat flux module
+
+2009-06-19 10:53  hamish
+
+	* vector/lidar/v.lidar.edgedetection/v.lidar.edgedetection.html:
+	  typo, minor clean
+
+2009-06-19 10:48  hamish
+
+	* vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h: use M_PI
+	  (merge from devbr6)
+
+2009-06-19 08:11  glynn
+
+	* swig/python/Makefile: Add $(VECT_CFLAGS) to
+	  $(vector_wrap_c_FLAGS)
+
+2009-06-19 08:09  mmetz
+
+	* include/Make/Grass.make: vector modules need LFS too if requested
+
+2009-06-19 07:35  hamish
+
+	* vector/lidar/lidarlib/TcholBand.c,
+	  vector/lidar/v.lidar.edgedetection/main.c: add
+	  G_verbose_message(), G_percent() for long running process (merge
+	  from devbr6)
+
+2009-06-19 02:41  hamish
+
+	* scripts/Makefile: disable unported shell scripts
+
+2009-06-18 21:57  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI: move geometry attributes
+	  settings to the workspace
+
+2009-06-18 19:46  glynn
+
+	* general/g.parser/test.py: Update Python example to use standard
+	  interface
+
+2009-06-18 19:46  glynn
+
+	* vector/v.in.dwg/check: Remove check script (check incorporated
+	  into Makefile)
+
+2009-06-18 19:31  glynn
+
+	* general/g.parser/main.c, lib/python/core.py: Change
+	  Python/g.parser interface to avoid need to re-invoke script
+
+2009-06-18 18:49  mmetz
+
+	* vector/v.clean/v.clean.html: another manual update
+
+2009-06-18 18:35  martinl
+
+	* lib/init/grass.py: grass.py: don't use subprocess.PIPE
+
+2009-06-18 18:11  glynn
+
+	* include/Make/Compile.make: Fix handling of $($*_c_FLAGS) etc
+
+2009-06-17 20:47  glynn
+
+	* gui/wxpython/Makefile, gui/wxpython/wxgui: Remove shell scripts
+	  (inc. wxgui)
+
+2009-06-17 20:45  glynn
+
+	* general/g.parser/main.c: Don't use GRASS_SH
+
+2009-06-17 15:05  mmetz
+
+	* vector/v.clean/v.clean.html: update manual
+
+2009-06-16 20:07  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: No warning when querying
+	  grid layer (trac #650)
+
+2009-06-16 18:35  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/line.cpp: wxGUI/vdigit: geometry attributes -
+	  area size/perimeter
+
+2009-06-16 10:25  martinl
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/line.cpp: wxGUI: register geometry attributes
+	  (currently only line length)
+
+2009-06-16 00:12  hamish
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat,
+	  mswindows/Installer-Files/GRASS.ico,
+	  mswindows/Installer-Files/GRASS_CMD.ico,
+	  mswindows/Installer-Files/GRASS_MSys.ico,
+	  mswindows/Installer-Files/GRASS_Web.ico,
+	  mswindows/Installer-Files/GRASS_tcltk.ico,
+	  mswindows/Installer-Files/Install_GRASS.ico,
+	  mswindows/Installer-Files/MSYS_Custom_Icon.ico,
+	  mswindows/Installer-Files/Uninstall_GRASS.ico,
+	  mswindows/Installer-Files/WinGRASS.ico, mswindows/README.html:
+	  updates and new icons from Colin Nielsen (merge from devbr6)
+
+2009-06-15 21:25  martinl
+
+	* lib/init/grass.py: run wxGUI in background
+
+2009-06-15 20:45  martinl
+
+	* lib/init/grass.py: fix bash_startup
+
+2009-06-15 20:07  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: abort running command
+	  button
+
+2009-06-15 19:24  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: support external data sources in
+	  the wxPython-GUI (trac #643)
+
+2009-06-15 18:26  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/ATM: refresh button added
+
+2009-06-15 18:06  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/wxgui.py:
+	  Refresh button / auto refresh button for Attribute Table viewer
+	  while using wxvdigit (trac #642)
+	  TODO: use AddDataRow() instead, reloading data is very expensive
+	  task
+
+2009-06-15 09:50  mmetz
+
+	* vector/v.clean/v.clean.html: v.clean: updated manual
+
+2009-06-14 20:35  martinl
+
+	* gui/wxpython/gui_modules/workspace.py: wxGUI: fix reading
+	  workspace
+
+2009-06-14 19:17  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: Trac #630 - Fix "Mapset
+	  Access" broken (wxpython) (tranks to Royce Cline for patch)
+	  (merge from devbr6, r37880)
+
+2009-06-14 18:28  martinl
+
+	* lib/init/grass.py: fix start_gui
+
+2009-06-14 02:39  hamish
+
+	* db/databaseintro.html, db/drivers/dbf/grass-dbf.html,
+	  db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html,
+	  db/drivers/odbc/grass-odbc.html, db/drivers/ogr/grass-ogr.html,
+	  db/drivers/postgres/grass-pg.html,
+	  db/drivers/sqlite/grass-sqlite.html, doc/projectionintro.html,
+	  imagery/imageryintro.html, lib/db/sqlp/sql.html,
+	  lib/init/helptext.html, lib/init/variables.html,
+	  raster/rasterintro.html, raster3d/raster3dintro.html,
+	  tools/g.html2man/g.html2man, vector/v.lrs/lrs.html,
+	  vector/vectorintro.html: add metatags so g.html2man can create
+	  whatis NAME entries for non-module intro help pages
+
+2009-06-14 02:27  glynn
+
+	* lib/init/Makefile, lib/init/grass.py: Windows fixes
+	  Handle missing ~/.grassrc7
+	  Call wxgui.py, not wxgui shell script
+
+2009-06-14 01:23  glynn
+
+	* gui/wxpython/gui_modules/globalvar.py: Use os.pathsep instead of
+	  ":" for portability
+
+2009-06-14 00:49  hamish
+
+	* raster/r.li/r.li.daemon/r.li.daemon.html: add NAME for mandb
+	  whatis entry (merge from devbr6)
+
+2009-06-13 22:50  martinl
+
+	* lib/init/grass.py: Read GRASS_GUI
+
+2009-06-13 17:47  glynn
+
+	* Makefile, lib/init/Makefile, lib/init/grass.py: Convert grass70
+	  script to Python
+
+2009-06-13 08:09  mmetz
+
+	* include/Make/Grass.make: vector LFS enabled again
+
+2009-06-13 08:08  mmetz
+
+	* lib/vector/Vlib/Makefile, lib/vector/Vlib/area.c,
+	  lib/vector/Vlib/array.c, lib/vector/Vlib/box.c,
+	  lib/vector/Vlib/break_lines.c, lib/vector/Vlib/break_polygons.c,
+	  lib/vector/Vlib/bridges.c, lib/vector/Vlib/buffer.c,
+	  lib/vector/Vlib/buffer2.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/clean_nodes.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/dangles.c, lib/vector/Vlib/dbcolumns.c,
+	  lib/vector/Vlib/dgraph.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/graph.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/hist.c, lib/vector/Vlib/init_head.c,
+	  lib/vector/Vlib/intersect.c, lib/vector/Vlib/legal_vname.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/merge_lines.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/overlap.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c,
+	  lib/vector/Vlib/rewind_ogr.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/Vlib/snap.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/Makefile, lib/vector/diglib/allocation.c,
+	  lib/vector/diglib/angle.c, lib/vector/diglib/box.c,
+	  lib/vector/diglib/cindex.c, lib/vector/diglib/frmt.c,
+	  lib/vector/diglib/inside.c, lib/vector/diglib/line_dist.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_node.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/prune.c, lib/vector/diglib/spindex.c,
+	  lib/vector/diglib/struct_alloc.c, lib/vector/diglib/type.c,
+	  lib/vector/diglib/update.c, lib/vector/vedit/Makefile,
+	  lib/vector/vedit/break.c, lib/vector/vedit/cats.c,
+	  lib/vector/vedit/zbulk.c: temporarily disabling LFS, LFS update
+
+2009-06-12 20:23  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxGUI: import missing
+	  module
+
+2009-06-12 18:11  hamish
+
+	* gui/icons/Makefile, gui/icons/grass-48x48.png: icon for linux
+	  (merge from devbr6)
+
+2009-06-12 11:15  hamish
+
+	* ps/ps.map/decorations/grasslogo.eps: add grass logo
+
+2009-06-12 09:43  hamish
+
+	* ps/ps.map/ps.map.html, ps/ps.map/ps_header.c: take title from
+	  raster map (#641), add simple example (merge from devbr6)
+
+2009-06-11 21:07  kyngchaos
+
+	* macosx/app/grass.sh.in: attempt to use same version of Python
+	  that wxPython was built for, when bundling wxPython (from dev6
+	  r37833)
+
+2009-06-11 20:15  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/workspace.py: wxGUI: fix loading
+	  workspace (nviz)
+	  (merge from relbr64, r37830)
+
+2009-06-11 17:46  kyngchaos
+
+	* macosx/ReadMe.rtf: update ffmpeg build; other 64bit updates (from
+	  dev6 r37827)
+
+2009-06-11 16:19  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI: use ElementTree for
+	  parsing workspace files
+
+2009-06-11 15:57  glynn
+
+	* lib/gis/parser.c: Use match_option()
+
+2009-06-11 15:42  glynn
+
+	* lib/gis/parser.c: Improved match_option()
+
+2009-06-11 15:37  martinl
+
+	* lib/gis/gisrasterlib.dox: libgis: doxygen update (gisrasterlib)
+
+2009-06-11 14:27  glynn
+
+	* lib/gis/parser.c: Add match_option() (not yet used)
+
+2009-06-11 13:59  glynn
+
+	* scripts/v.colors/v.colors.py: Use temporary file to avoid
+	  deadlock
+
+2009-06-11 13:07  martinl
+
+	* lib/gis/gisrasterlib.dox, lib/gis/quant.c, lib/gis/quant_rw.c:
+	  libgis: doxygen updates (quant fns)
+
+2009-06-11 08:27  martinl
+
+	* include/gisdefs.h, lib/gis/get_row_colr.c,
+	  lib/gis/gisrasterlib.dox, lib/gis/sample.c, lib/gis/zero_cell.c:
+	  minor doxygen updates (libgis)
+
+2009-06-11 06:50  martinl
+
+	* scripts/v.colors/v.colors: v.colors: bash script removed
+	  (replaced by Python version)
+
+2009-06-11 02:53  glynn
+
+	* scripts/v.colors/v.colors.py: Convert v.colors to Python
+	  (untested)
+
+2009-06-11 02:52  glynn
+
+	* include/Make/ScriptRules.make: Remove support for shell scripts
+
+2009-06-11 00:06  glynn
+
+	* visualization/nviz/src/Makefile: Libraries need to go in
+	  EXTRA_LIBS, not EXTRA_LDFLAGS
+
+2009-06-10 20:19  martinl
+
+	* gui/wxpython/support/update_menudata.py: print modules which are
+	  not available from menu
+
+2009-06-10 20:12  martinl
+
+	* gui/wxpython/support/update_menudata.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: keywords updated in the
+	  menu
+
+2009-06-10 20:01  martinl
+
+	* gui/wxpython/support/update_menudata.py,
+	  gui/wxpython/xml/menudata.xml, raster/r.support.stats/main.c,
+	  raster/r.terraflow/main.cc, raster/r.water.outlet/main.c: Add
+	  missing keywords
+	  Update menu (remove disabled modules)
+
+2009-06-10 18:03  glynn
+
+	* Makefile, tools/timer/Makefile: MSys/MinGW fixes
+
+2009-06-10 13:32  hamish
+
+	* ps/ps.map/r_plt.c, ps/ps.map/r_vareas.c: expand $GISBASE if
+	  present in eps filename (merge from devbr6)
+
+2009-06-10 13:26  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: minor bugfix and
+	  cosmetics
+
+2009-06-09 19:27  epatton
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html: Line break
+
+2009-06-09 18:40  martinl
+
+	* lib/gis/adj_cellhd.c, lib/gis/alloc_cell.c, lib/gis/cats.c,
+	  lib/gis/cell_stats.c, lib/gis/closecell.c,
+	  lib/gis/color_compat.c, lib/gis/color_free.c,
+	  lib/gis/color_get.c, lib/gis/color_hist.c, lib/gis/color_init.c,
+	  lib/gis/color_look.c, lib/gis/color_range.c,
+	  lib/gis/color_read.c, lib/gis/color_rule.c, lib/gis/color_set.c,
+	  lib/gis/color_write.c, lib/gis/find_cell.c, lib/gis/get_cellhd.c,
+	  lib/gis/get_row.c, lib/gis/gislib.dox, lib/gis/gisrasterlib.dox,
+	  lib/gis/history.c, lib/gis/maskfd.c, lib/gis/null_val.c,
+	  lib/gis/opencell.c, lib/gis/progrm_nme.c, lib/gis/put_cellhd.c,
+	  lib/gis/range.c, lib/gis/raster.c, lib/gis/reclass.c,
+	  lib/gis/timestamp.c, lib/gis/whoami.c, lib/grasslib.dox,
+	  lib/loc_struct.png: major gislib.dox update (still not complete,
+	  r37744)
+	  various minor doxygen fixes
+
+2009-06-09 18:18  martinl
+
+	* gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI:
+	  fix interactive prompting (option not found)
+
+2009-06-09 17:03  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/global.h,
+	  vector/v.in.ogr/main.c: fix for ticket #426, boundary splitting
+
+2009-06-09 17:00  mmetz
+
+	* lib/vector/Vlib/merge_lines.c: new cleaning tool Vect_merge_lines
+
+2009-06-09 16:59  mmetz
+
+	* include/Vect.h: new cleaning tool, header
+
+2009-06-09 13:00  epatton
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html: Added notes
+	  on selecting a background vector map
+
+2009-06-09 07:15  mmetz
+
+	* lib/vector/Vlib/map.c: Vect_copy_map_lines: don't read dead lines
+
+2009-06-07 11:50  glynn
+
+	* swig/include/python/my_typemaps.i: Add typemaps for numeric
+	  arrays
+
+2009-06-07 07:51  mmetz
+
+	* raster/r.out.gdal/main.c: exit with error for invalid nodata
+	  value
+
+2009-06-07 01:56  hamish
+
+	* ps/ps.map/r_plt.c: exit with error if eps file isn't found (merge
+	  from devbr6)
+
+2009-06-07 01:34  hamish
+
+	* ps/ps.map/Makefile, ps/ps.map/decorations,
+	  ps/ps.map/decorations/compass_exterior.eps,
+	  ps/ps.map/decorations/compass_interior.eps,
+	  ps/ps.map/ps.map.html: compass decorations from Jorge Tizado
+	  (merge from devbr6)
+
+2009-06-06 16:54  mmetz
+
+	* raster/r.out.gdal/main.c: updated warning on nodata value
+	  conversion
+
+2009-06-06 16:36  mmetz
+
+	* raster/r.out.gdal/export_band.c, raster/r.out.gdal/local_proto.h,
+	  raster/r.out.gdal/main.c: attempt to solve ticket #73
+
+2009-06-06 12:31  hamish
+
+	* mswindows/GRASS-Installer.nsi: quote pathname (merge from devbr6)
+
+2009-06-06 09:33  hamish
+
+	* gem/docs/GEM-Manual.lyx, gem/docs/GEM-Manual/GEM-Manual.html,
+	  gem/docs/GEM-Manual/index.html, gem/main.c: binary rename
+
+2009-06-05 15:17  martinl
+
+	* lib/gis/align_window.c, lib/gis/alloc.c, lib/gis/area.c,
+	  lib/gis/area_ellipse.c, lib/gis/area_poly1.c,
+	  lib/gis/area_poly2.c, lib/gis/area_sphere.c, lib/gis/bres_line.c,
+	  lib/gis/date.c, lib/gis/distance.c, lib/gis/endian.c,
+	  lib/gis/env.c, lib/gis/error.c, lib/gis/find_file.c,
+	  lib/gis/geodist.c, lib/gis/get_ellipse.c, lib/gis/get_window.c,
+	  lib/gis/getl.c, lib/gis/gisbase.c, lib/gis/gisdbase.c,
+	  lib/gis/gislib.dox, lib/gis/home.c, lib/gis/location.c,
+	  lib/gis/mapset.c, lib/gis/myname.c, lib/gis/nme_in_mps.c,
+	  lib/gis/open.c, lib/gis/parser.c, lib/gis/plot.c,
+	  lib/gis/pole_in_poly.c, lib/gis/proj1.c, lib/gis/proj2.c,
+	  lib/gis/proj3.c, lib/gis/put_window.c, lib/gis/radii.c,
+	  lib/gis/remove.c, lib/gis/rename.c, lib/gis/set_window.c,
+	  lib/gis/short_way.c, lib/gis/strings.c, lib/gis/system.c,
+	  lib/gis/tempfile.c, lib/gis/trim_dec.c, lib/gis/wind_format.c,
+	  lib/gis/wind_scan.c, lib/gis/window_map.c, lib/gis/zone.c: major
+	  gislib.dox update (still not complete)
+	  various minor doxygen fixes
+
+2009-06-05 12:47  glynn
+
+	* swig/include/python/my_typemaps.i: Add typemaps for char** and
+	  void**
+
+2009-06-04 19:46  neteler
+
+	* vector/v.in.ascii/main.c: fail on DBMI error
+
+2009-06-04 19:43  neteler
+
+	* lib/db/dbmi_client/db.c: catch error (thanks to Glynn)
+
+2009-06-04 02:23  hamish
+
+	* lib/gis/wind_format.c: if the programmer has lied to
+	  G_format_resolution() about the
+	  projection type in order to get FP values for lat/lon coords,
+	  "%.8f" is not enough to preserve fidelity once converted
+	  back into D:M:S, which leads to rounding errors. (bug #335)
+	  merge from devbr6
+
+2009-06-03 22:18  hamish
+
+	* raster/r.stats/cell_stats.c, raster/r.stats/stats.c: minor tweaks
+	  (merge from relbr64)
+
+2009-06-03 16:26  glynn
+
+	* include/Make/Grass.make, include/Make/Platform.make.in:
+	  RUN_GISBASE must be set by configure; it isn't necessarily equal
+	  to
+	  $GISBASE (in particular, on Windows RUN_GISBASE needs to use
+	  Windows
+	  syntax, while GISBASE will use MSys syntax).
+
+2009-06-03 14:33  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grasswxpy_pl.po: Milena
+	  Nowotarska: cont'ed
+
+2009-06-02 14:28  glynn
+
+	* Makefile, general/g.version/Makefile, grassrc.tmpl, man/Makefile,
+	  tools/build_html_index.sh: Fix g.version and documentation
+	  indices when building against installed GRASS
+
+2009-06-02 11:11  glynn
+
+	* gui/wxpython/build_ext.py, gui/wxpython/nviz/Makefile,
+	  gui/wxpython/nviz/setup.py, gui/wxpython/vdigit/Makefile,
+	  gui/wxpython/vdigit/setup.py: Don't try to parse *.make files;
+	  use environment variables
+
+2009-06-02 10:22  glynn
+
+	* scripts/r.colors.stddev/r.colors.stddev,
+	  scripts/r.colors.stddev/r.colors.stddev.py: Convert
+	  r.colors.stddev to Python
+
+2009-06-02 10:11  glynn
+
+	* Makefile, db/drivers/dbf/dbdriver.h, db/drivers/mysql/dbdriver.h,
+	  db/drivers/odbc/dbdriver.h, db/drivers/ogr/dbdriver.h,
+	  db/drivers/postgres/dbdriver.h, db/drivers/sqlite/dbdriver.h,
+	  general/g.mkfontcap/Makefile, general/g.version/Makefile,
+	  gui/wxpython/build_ext.py, gui/wxpython/nviz/Makefile,
+	  gui/wxpython/nviz/setup.py, gui/wxpython/vdigit/Makefile,
+	  gui/wxpython/vdigit/setup.py, include/Make/DB.make,
+	  include/Make/Grass.make, include/Make/Html.make,
+	  include/Make/Rules.make, include/Make/ScriptRules.make,
+	  lib/db/dbmi_driver/Makefile, lib/gis/Makefile, lib/gis/fmode.c,
+	  lib/gis/fmode.dat, raster3d/r3.mkdspf/Makefile,
+	  swig/python/Makefile, tools/Makefile, tools/g.html2man/Makefile:
+	  Build system clean-up
+
+2009-06-02 07:19  hamish
+
+	* raster/r.stats/cell_stats.c, raster/r.stats/global.h,
+	  raster/r.stats/main.c, raster/r.stats/stats.c: bugfix for #475:
+	  top bin for FP maps always held just the single max cell (merge
+	  from devbr6)
+
+2009-06-01 14:15  neteler
+
+	* lib/db/sqlp/sql.html: +type casting
+
+2009-06-01 09:54  neteler
+
+	* swig/python/examples/vectoraccess.py: vector box fun added
+
+2009-06-01 09:54  neteler
+
+	* swig/python/TODO: cleanup
+
+2009-06-01 08:59  neteler
+
+	* swig/python/README: updated
+
+2009-06-01 06:29  glynn
+
+	* swig/Makefile: Build subdirectories automatically
+
+2009-06-01 06:28  glynn
+
+	* Makefile: Fix name of gem program
+
+2009-06-01 06:28  glynn
+
+	* include/Make/Rules.make: Have "make clean" delete .pyc files
+
+2009-06-01 06:27  glynn
+
+	* gui/wxpython/nviz/Makefile, gui/wxpython/vdigit/Makefile: Set
+	  EXTRA_CLEAN_FILES
+
+2009-06-01 06:26  glynn
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html: Fix HTML
+	  errors
+
+2009-06-01 05:29  glynn
+
+	* include/Make/Grass.make, include/Make/Platform.make.in,
+	  include/Make/Python.make, lib/init/Makefile, locale/Makefile,
+	  swig/python/Makefile: Build system clean-up
+
+2009-06-01 05:27  glynn
+
+	* include/vect/dig_defines.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h: Add structure tags for all structure
+	  types
+	  Replace #define with typedef
+	  Use structure tags in preference to typedefs
+
+2009-06-01 05:24  glynn
+
+	* gem: Update svn:ignore property to include gem70
+
+2009-06-01 05:24  glynn
+
+	* vector/v.in.dwg/Makefile, vector/v.in.dwg/WARNING: Makefile
+	  clean-up
+	  Fix interactive check
+
+2009-06-01 05:21  glynn
+
+	* gui/wxpython/nviz/setup.py: XMINC no longer exists
+	  Use lists rather than tuples for variable lists
+
+2009-05-31 19:54  neteler
+
+	* lib/proj/coordinate_axis.csv, lib/proj/ellipsoid.csv,
+	  lib/proj/gcs.csv, lib/proj/gt_datum.csv, lib/proj/gt_ellips.csv,
+	  lib/proj/pcs.csv, lib/proj/projop_wparm.csv,
+	  lib/proj/unit_of_measure.csv: sync with GDAL
+
+2009-05-31 19:01  neteler
+
+	* imagery/i.smap/i.smap.html: ref to PDF; HTML cosmetics
+
+2009-05-31 15:06  hamish
+
+	* lib/gis/debug.c: tweak (merge from devbr6)
+
+2009-05-31 14:59  hamish
+
+	* lib/gis/debug.c: add debug recommendations (vect/db modules have
+	  way too much at level 1,2) merge from devbr6
+
+2009-05-31 12:47  hamish
+
+	* gui/wxpython/scripts/Makefile, gui/wxpython/scripts/p.cmd,
+	  gui/wxpython/scripts/p.db, gui/wxpython/scripts/p.mon,
+	  gui/wxpython/scripts/p.rast, gui/wxpython/scripts/p.vect,
+	  gui/wxpython/wxgui: don't hardcode python.exe, quote shell vars
+	  (merge from devbr6)
+
+2009-05-31 12:18  hamish
+
+	* general/g.gui/main.c, lib/gis/spawn.c: add debug msgs (merge from
+	  devbr6)
+
+2009-05-31 11:57  hamish
+
+	* visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c: G_debug(), whitespace gone
+	  nuts, EXIT_SUCCESS (merge from devbr6)
+
+2009-05-31 10:13  hamish
+
+	* mswindows/osgeo4w/package.sh: move workarounds from
+	  CompileOnWindows into actual bugfixes
+
+2009-05-30 19:09  hamish
+
+	* raster/r.li/Makefile: MINGW test to only build r.li for UNIX
+
+2009-05-30 16:34  martinl
+
+	* gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI:
+	  layout cosmetics
+
+2009-05-30 16:27  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix locales
+	  (merge from devbr6, r37625)
+
+2009-05-30 16:18  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: fix
+	  'values'
+
+2009-05-30 15:44  kyngchaos
+
+	* gui/wxpython/nviz/setup.py, gui/wxpython/vdigit/setup.py: don't
+	  link wx libs for OSX, X include paths only for OpenGL X11 (from
+	  dev6 r37620)
+
+2009-05-30 15:12  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/support/update_menudata.py: menuform: use
+	  ElementTree instead of xml.sax
+
+2009-05-30 12:30  hamish
+
+	* mswindows/README.html: linewrap (merge from devbr6)
+
+2009-05-30 11:09  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: fix multiple keys
+	  search (attempt 2)
+
+2009-05-30 11:00  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: fix multiple keys
+	  search
+
+2009-05-30 10:02  martinl
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/support/update_menu_desc.py,
+	  gui/wxpython/support/update_menudata.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: search modules (stage 2 -
+	  keywords)
+
+2009-05-29 21:57  martinl
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: search modules (stage 1 -
+	  description only)
+
+2009-05-29 20:05  martinl
+
+	* gui/wxpython/gis_set.py: welcome screen: buttons cosmetics
+
+2009-05-29 19:53  martinl
+
+	* lib/gis/get_projinfo.c, lib/gis/proj1.c: Suppress warnings for xy
+	  locations (trac #492)
+	  Minor Doxygen updates
+
+2009-05-29 12:18  hamish
+
+	* scripts/r.in.wms/wms_request.py: add warning about greedy
+	  requests (merge from devbr6)
+
+2009-05-29 09:26  hamish
+
+	* general/g.list/g.list.html, general/g.mlist/g.mlist.html:
+	  document mapset=. (merge from devbr6)
+
+2009-05-28 14:35  epatton
+
+	* vector/v.select/v.select.html: Spelling
+
+2009-05-28 11:26  hamish
+
+	* raster/simwe/r.sim.water/main.c: add some debug msgs (merge from
+	  devbr6)
+
+2009-05-28 08:37  neteler
+
+	* include/iostream/ami_sort.h: ltoma: off_t fix lost in last update
+
+2009-05-28 08:15  martinl
+
+	* lib/python/core.py, lib/python/db.py, lib/python/raster.py,
+	  lib/python/vector.py: parse doc strings by doxygen
+
+2009-05-28 07:57  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/db.dropcol/db.dropcol.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py,
+	  scripts/i.tasscap/i.tasscap.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer/r.buffer.py, scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/r.grow/r.grow.py, scripts/r.in.aster/r.in.aster.py,
+	  scripts/r.in.srtm/r.in.srtm.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.mask/r.mask.py, scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py, scripts/r.rgb/r.rgb.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/v.centroids/v.centroids.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecol/v.db.renamecol.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py: import grass.script as grass
+
+2009-05-28 07:40  martinl
+
+	* lib/python/Makefile, lib/python/__init__.py, lib/python/all.py,
+	  lib/python/grasspythonlib.dox: grass.script.all replaced by
+	  __init__.py
+
+2009-05-28 00:44  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html: Replace (broken) character
+	  references
+	  (g.html2man.py doesn't even support non-broken references).
+
+2009-05-28 00:42  glynn
+
+	* tools/g.html2man/g.html2man.py: Treat '-' as minus, not hyphen
+	  Generate warning for &#nn; character references (not supported)
+
+2009-05-27 22:06  martinl
+
+	* lib/python/__init__.py: fix grass.script
+
+2009-05-27 21:37  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/db.dropcol/db.dropcol.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py,
+	  scripts/i.tasscap/i.tasscap.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer/r.buffer.py, scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/r.grow/r.grow.py, scripts/r.in.aster/r.in.aster.py,
+	  scripts/r.in.srtm/r.in.srtm.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.mask/r.mask.py, scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py, scripts/r.rgb/r.rgb.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/v.centroids/v.centroids.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecol/v.db.renamecol.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py: import all from grass.script
+
+2009-05-27 21:27  martinl
+
+	* lib/python/Makefile, lib/python/__init__.py, lib/python/all.py,
+	  lib/python/grasspythonlib.dox: grass.script.all added
+	  (merge from devbr6, r37545)
+
+2009-05-27 20:55  martinl
+
+	* gui/scripts/g.change.gui.py, gui/scripts/v.type_wrapper.py,
+	  gui/wxpython/scripts/d.rast3d: fix importing grass.script (2)
+
+2009-05-27 20:46  martinl
+
+	* general/g.mapsets/g.mapsets_picker.py: fix importing grass.script
+
+2009-05-27 19:58  martinl
+
+	* gui/wxpython/build_ext.py, gui/wxpython/compat/subprocess.py,
+	  gui/wxpython/gis_set.py, gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/ogc_services.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/prompt.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py,
+	  gui/wxpython/support/update_menu_desc.py, gui/wxpython/wxgui.py:
+	  parse docstrings by doxygen
+
+2009-05-27 19:34  martinl
+
+	* lib/cairodriver/cairodriver.dox: cairo: list of fns updated
+
+2009-05-27 09:54  martinl
+
+	* swig/swiglib.dox: grass 7
+
+2009-05-27 09:48  martinl
+
+	* swig/python/grasspython.dox, swig/swiglib.dox: doxygen page clean
+	  up
+
+2009-05-27 06:08  hamish
+
+	* mswindows/GRASS-Installer.nsi: pseudo try firefox before IE
+	  (merge from devbr6)
+
+2009-05-27 04:52  hamish
+
+	* display/d.nviz/main.c, lib/gpde/N_gradient_calc.c,
+	  lib/gpde/gpdelib.dox: spelling (merge from devbr6)
+
+2009-05-26 21:13  martinl
+
+	* lib/grasslib.dox: happy new year
+
+2009-05-26 21:12  martinl
+
+	* lib/grass7_arch.png, lib/grasslib.dox: remove html tags from main
+	  doxygen page
+
+2009-05-26 18:14  martinl
+
+	* lib/python/vector.py: cosmetics in debug message
+
+2009-05-26 16:55  martinl
+
+	* lib/python/grasspythonlib.dox, lib/python/vector.py:
+	  grass.script.vector: vector_db_select() added
+
+2009-05-26 13:23  epatton
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html: Added mouse
+	  button functions to wx gui vector digitizer notes
+
+2009-05-26 10:19  martinl
+
+	* lib/python/db.py, lib/python/grasspythonlib.dox,
+	  lib/python/raster.py, lib/python/vector.py: grass.script doxygen
+	  updated (db, raster, vector)
+
+2009-05-26 08:56  martinl
+
+	* lib/python/core.py, lib/python/grasspythonlib.dox: grass.script
+	  doxygen page updated
+
+2009-05-25 20:18  kyngchaos
+
+	* include/Make/Python.make: Correct link flags for OSX Python
+	  modules (from dev6 r37490)
+
+2009-05-25 17:56  kyngchaos
+
+	* configure, configure.in, display/d.what.vect/Makefile,
+	  include/Make/Platform.make.in, lib/form/Makefile,
+	  visualization/nviz/src/Makefile: support 64bit build with 32bit
+	  TclTk aqua on OSX (from dev6 r37402)
+
+2009-05-25 17:51  martinl
+
+	* lib/python: set svn:ignore props
+
+2009-05-25 17:41  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/gselect.py: fix importing grass.script
+	  modules
+
+2009-05-25 14:58  martinl
+
+	* scripts/d.rast.leg/d.rast.leg.py: probably more readable form for
+	  importing modules from grass.script
+
+2009-05-25 14:15  hamish
+
+	* raster/r.in.gdal/main.c, raster/r.in.gdal/r.in.gdal.html: add
+	  flag so that you can force the import of lat/lon imagery which is
+	  missing georef, at the cost of preserving map bounds (which were
+	  presumably bogus to begin with, so no great loss) (merge from
+	  devbr6)
+
+2009-05-25 11:30  hamish
+
+	* vector/v.mkgrid/local_proto.h, vector/v.mkgrid/main.c,
+	  vector/v.mkgrid/write_grid.c: add option to increase num horiz
+	  vertices per cell; e.g. for reprojection to polar stereographic
+	  (merge from devbr6)
+
+2009-05-25 09:32  hamish
+
+	* scripts/d.rast.leg/d.rast.leg.py: pylib bits
+
+2009-05-25 08:58  hamish
+
+	* scripts/d.rast.leg/d.rast.leg.py: port updates from devbr6
+	  (untested)
+
+2009-05-25 06:47  hamish
+
+	* SUBMITTING: update copyright, indent, mime-types, wx menu path
+	  (merge from devbr6)
+
+2009-05-25 00:34  hamish
+
+	* gui/wxpython/wxgui.py: About cosmetics (merge from devbr6)
+
+2009-05-24 21:12  martinl
+
+	* lib/grasslib.dox: toc
+
+2009-05-24 20:25  martinl
+
+	* lib/grasslib.dox: use relative path
+
+2009-05-24 18:01  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: fix r37437
+
+2009-05-24 17:56  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wx.PopupWindow fix
+
+2009-05-24 17:55  kyngchaos
+
+	* macosx/Makefile, macosx/app/grass.sh.in: move support dir to more
+	  appropriate Application Support
+
+2009-05-24 16:56  kyngchaos
+
+	* macosx/ReadMe.rtf: 64bit update, +GEOS, +Cairo
+
+2009-05-24 15:23  kyngchaos
+
+	* gui/wxpython/build_ext.py, gui/wxpython/nviz/setup.py,
+	  gui/wxpython/vdigit/setup.py: handle OSX framework flags; vdigit
+	  needs GEOS flags (from dev6 r37428)
+
+2009-05-24 15:08  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: minor fixes
+
+2009-05-24 14:06  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI/prompt: parse only
+	  GRASS modules
+
+2009-05-24 13:58  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: disable autocomplete
+	  prompt mode on Mac
+	  reason: missing wx.PopupWindow() on this platform
+
+2009-05-24 13:45  martinl
+
+	* gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI:
+	  autocomplete prompt stage 3 (list raster/vector maps)
+
+2009-05-24 13:31  neteler
+
+	* include/Make/Doxyfile_arch_html,
+	  include/Make/Doxyfile_arch_latex: attempt to fix doxygen link
+	  creation problems with swig interface
+
+2009-05-23 19:33  kyngchaos
+
+	* gui/wxpython/nviz/Makefile, gui/wxpython/vdigit/Makefile,
+	  include/Make/Platform.make.in: support 64bit build with 32bit
+	  wxpython on OSX (from dev6 r37407)
+
+2009-05-23 18:11  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/prompt.py: wxGUI: autocompete prompt
+	  stage 2 (complete flags/params)
+
+2009-05-23 16:21  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: quick prompt fix
+
+2009-05-23 16:07  martinl
+
+	* gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI:
+	  autocompete prompt stage 1 (static list of commands)
+
+2009-05-23 09:39  martinl
+
+	* gui/wxpython/gui_modules/prompt.py: wxGUI: attempt to fix trac
+	  #528 (wxGUI cmd: r.mapcalc fails (quoting + args with spaces)
+	  based on ticket patch
+
+2009-05-23 08:29  neteler
+
+	* vector/v.label.sa/labels.c: Fixed includes so that G_malloc and
+	  friends work. Also changed all allocs to use G_malloc and friends
+	  (merge from develbranch_6, r37247, r37393)
+
+2009-05-23 08:18  neteler
+
+	* raster/r.series/r.series.html: example fix r.mapcalc; break long
+	  lines
+
+2009-05-23 02:02  glynn
+
+	* swig/include, swig/include/arraystats.i, swig/include/cluster.i,
+	  swig/include/date.i, swig/include/dbmi.i, swig/include/display.i,
+	  swig/include/g3d.i, swig/include/grass.i, swig/include/imagery.i,
+	  swig/include/math.i, swig/include/proj.i, swig/include/python,
+	  swig/include/python/common.i, swig/include/python/my_typemaps.i,
+	  swig/include/python/utils.i, swig/include/raster.i,
+	  swig/include/stats.i, swig/include/trans.i,
+	  swig/include/vector.i, swig/include/vedit.i,
+	  swig/python/Makefile, swig/python/arraystats.i,
+	  swig/python/cluster.i, swig/python/common.i, swig/python/date.i,
+	  swig/python/dbmi.i, swig/python/display.i, swig/python/g3d.i,
+	  swig/python/grass.i, swig/python/imagery.i, swig/python/math.i,
+	  swig/python/my_typemaps.i, swig/python/proj.i,
+	  swig/python/raster.i, swig/python/stats.i, swig/python/trans.i,
+	  swig/python/utils.i, swig/python/vector.i, swig/python/vedit.i:
+	  Move SWIG interfaces to swig/include
+
+2009-05-23 01:28  glynn
+
+	* tools/g.html2man/g.html2man.py: Escape dot and single quote at
+	  beginning of a line
+	  Don't remove leading whitespace from pre-formatted text
+	  Discard line breaks from <dt>...</dt>
+
+2009-05-23 01:24  glynn
+
+	* raster/r.ros/r.ros.html: Add missing <DD> tag
+
+2009-05-23 00:44  helena
+
+	* raster/r.series/r.series.html: hint for handling irregular time
+	  intervals for regression
+
+2009-05-22 21:30  neteler
+
+	* locale/po/grasslibs_es.po, locale/po/grasslibs_ru.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_ru.po,
+	  locale/po/grasswxpy_es.po: ru: translations by Maxim Dubinin team
+	  and updated; es: updated (merge from develbranch_6 with msgmerge)
+
+2009-05-22 20:19  martinl
+
+	* swig/python/setup.py: remove currently unused file
+
+2009-05-22 16:59  neteler
+
+	* swig/python/setup.py: update to not have it completely wrong
+
+2009-05-22 16:46  neteler
+
+	* swig/python/README: updated
+
+2009-05-22 15:32  martinl
+
+	* gui/wxpython/gui_modules/prompt.py, gui/wxpython/wxgui.py: wxGUI
+	  prompt in separate module
+
+2009-05-22 15:12  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: shebang goes first
+	  (merge from devbr6)
+
+2009-05-22 15:00  martinl
+
+	* gui/wxpython, gui/wxpython/wxgui.py: wxGUI/about - print also
+	  gis_h date
+	  (merge from devbr6, r37367)
+
+2009-05-22 14:36  neteler
+
+	* lib/python/grasspythonlib.dox: say what it is
+
+2009-05-22 12:31  hamish
+
+	* imagery/i.group/i.group.html: mix of module names (#611; merge
+	  from devbr6)
+
+2009-05-22 11:39  hamish
+
+	* general/g.version/main.c: parse out '$' from svn keywords (merge
+	  from devbr6)
+
+2009-05-22 10:00  neteler
+
+	* swig/python/grasspython.dox: GRASS library functions usage
+
+2009-05-22 09:46  martinl
+
+	* swig/python/examples/m.distance.py,
+	  swig/python/examples/rasteraccess.py,
+	  swig/python/examples/vectoraccess.py: quick fix, r37353
+
+2009-05-22 09:30  neteler
+
+	* lib/python/README.txt, lib/python/grasspythonlib.dox: use recent
+	  spearfish
+
+2009-05-22 09:27  neteler
+
+	* swig/python/examples/m.distance.py,
+	  swig/python/examples/rasteraccess.py,
+	  swig/python/examples/vectoraccess.py: attempt to update examples
+	  (still fail)
+
+2009-05-22 09:26  neteler
+
+	* swig/python/grasspython.dox: attempt to better document (.i files
+	  aren't recognized)
+
+2009-05-22 09:16  hamish
+
+	* ps/ps.map/ps_vareas.c: don't fill islands (merge from devbr6)
+
+2009-05-21 22:18  martinl
+
+	* lib/python/core.py, lib/python/db.py,
+	  lib/python/grasspythonlib.dox, lib/python/raster.py,
+	  lib/python/vector.py: grass.script: fn description improved
+
+2009-05-21 22:08  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  fix wxGUI, see r37347
+
+2009-05-21 22:04  martinl
+
+	* scripts/d.correlate/d.correlate.py, scripts/d.polar/d.polar.py,
+	  scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/db.dropcol/db.dropcol.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py, scripts/g.manual/g.manual.py,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py, scripts/i.oif/i.oif.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer/r.buffer.py, scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/r.grow/r.grow.py, scripts/r.in.aster/r.in.aster.py,
+	  scripts/r.in.srtm/r.in.srtm.py, scripts/r.in.wms/gdalwarp.py,
+	  scripts/r.in.wms/r.in.gdalwarp.py, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.in.wms/wms_download.py,
+	  scripts/r.in.wms/wms_request.py, scripts/r.mask/r.mask.py,
+	  scripts/r.out.xyz/r.out.xyz.py, scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.regression.line/r.regression.line.py,
+	  scripts/r.rgb/r.rgb.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/r.tileset/r.tileset.py,
+	  scripts/v.build.all/v.build.all.py,
+	  scripts/v.centroids/v.centroids.py,
+	  scripts/v.convert.all/v.convert.all.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecol/v.db.renamecol.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py, scripts/v.in.mapgen/v.in.mapgen.py,
+	  scripts/v.in.sites.all/v.in.sites.all.py,
+	  scripts/v.in.wfs/v.in.wfs.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.what.vect/v.what.vect.py:
+	  fix Python scripts, see r37345
+
+2009-05-21 21:20  martinl
+
+	* lib/python/Makefile: no grass module, see r37345
+
+2009-05-21 21:16  martinl
+
+	* lib/python/Makefile, lib/python/__init__.py, lib/python/core.py,
+	  lib/python/db.py, lib/python/grass.py, lib/python/raster.py,
+	  lib/python/vector.py, swig/python/Makefile: Python swig and
+	  script modules reorganized
+	  grass
+	  grass.lib
+	  grass.lib.*
+	  grass.script
+	  grass.script.core
+	  grass.script.db
+	  grass.script.raster
+	  grass.script.vector
+
+2009-05-21 20:53  mmetz
+
+	* lib/vector/diglib/portable.c: LFS bugfix
+
+2009-05-21 18:57  martinl
+
+	* SUBMITTING_PYTHON: cosmetics, r37340
+
+2009-05-21 18:55  martinl
+
+	* SUBMITTING_PYTHON: mention wxPython Style Guide
+
+2009-05-21 18:48  martinl
+
+	* lib/vector/Vlib/geos.c, vector/v.select/args.c,
+	  vector/v.select/main.c, vector/v.select/proto.h,
+	  vector/v.select/v.select.html: v.select: code reorgranization
+	  vlib: some bugfixes in GEOS support
+	  (merge from devbr6, r37338)
+
+2009-05-21 16:57  martinl
+
+	* lib/vector/diglib/test.c: use G_ fns, EXIT_SUCCESS/FAILURE
+
+2009-05-21 15:39  hamish
+
+	* raster/r.out.ppm/main.c, raster/r.out.ppm/r.out.ppm.html:
+	  lowercase flag
+
+2009-05-21 14:47  hamish
+
+	* lib/gtcltk/gronsole.tcl, lib/init/grass-run.bat: sync RunInXterm
+	  related changes from devbr6
+
+2009-05-21 12:30  martinl
+
+	* lib/vector/Vlib/geos.c, vector/v.select/geos.c,
+	  vector/v.select/main.c, vector/v.select/proto.h: v.select/geos:
+	  point/line related fixes
+	  (merge from devbr6, r37325)
+
+2009-05-21 10:03  hamish
+
+	* gui/wxpython/gui_modules/mapdisp.py: fix bearing angle (compass
+	  convention; merge from devbr6)
+
+2009-05-21 09:11  martinl
+
+	* include/Vect.h, lib/vector/Vlib/geos.c: vlib/geos: determine
+	  feature type (work in progress)
+	  (merge from devbr6, r37319)
+
+2009-05-20 22:10  martinl
+
+	* include/Vect.h, lib/vector/Vlib/geos.c: progress in geos support
+	  (new Vlib fns)
+	  (merge from devbr6, r37316)
+
+2009-05-20 21:15  neteler
+
+	* locale/README: updated to 7 status
+
+2009-05-20 20:37  martinl
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_id.po,
+	  locale/po/grasswxpy_it.po, locale/po/grasswxpy_ja.po,
+	  locale/po/grasswxpy_pl.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_tr.po: grasswxpy_id added
+	  svn prop fixed
+	  (merge from relbr64, r37308)
+
+2009-05-20 09:07  hamish
+
+	* ps/ps.map/patterns/cross_diag5.eps,
+	  ps/ps.map/patterns/diag_down.eps,
+	  ps/ps.map/patterns/diag_down6.eps,
+	  ps/ps.map/patterns/diag_down_dash.eps,
+	  ps/ps.map/patterns/diag_up.eps, ps/ps.map/patterns/diag_up6.eps,
+	  ps/ps.map/patterns/diag_up_dash.eps,
+	  ps/ps.map/patterns/horiz_zigzag.eps,
+	  ps/ps.map/patterns/railroad_down.eps,
+	  ps/ps.map/patterns/railroad_up.eps,
+	  ps/ps.map/patterns/vert_zigzag.eps, ps/ps.map/ps.map.html,
+	  ps/ps.map/r_vareas.c: avoid pattern clipping (thanks for ideas
+	  Glynn, Jorge);
+	  add new railroad and zigzag patterns;
+	  accept 'pattern' as alias to 'pat' instruction; fix docs
+	  (merge from devbr6)
+
+2009-05-19 14:19  martinl
+
+	* vector/v.select/main.c: v.select: option 'relate' only available
+	  for GEOS operators
+	  (merge from develbr6, r37282)
+
+2009-05-19 13:15  martinl
+
+	* vector/v.select/main.c: v.select: build spatial index
+
+2009-05-19 12:50  hamish
+
+	* scripts/m.proj/m.proj.py: allow fs=,
+
+2009-05-19 12:42  hamish
+
+	* scripts/m.proj/m.proj.py: make -e flag work, add -c flag
+
+2009-05-19 11:24  martinl
+
+	* scripts/m.proj/m.proj.py: m.proj: output fs optional
+
+2009-05-19 08:04  hamish
+
+	* raster/r.in.xyz/r.in.xyz.html, raster/r.sun2/r.sun.html: merge
+	  r.sun and r.in.xyz doc updates from devbr6
+
+2009-05-18 21:05  martinl
+
+	* include/vect/dig_externs.h, lib/vector/Vlib/cindex.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/diglib/file.c,
+	  lib/vector/diglib/port_init.c, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/spindex_rw.c:
+	  vlib/diglib: doxygen update
+	  use const / size_t
+
+2009-05-18 21:02  neteler
+
+	* vector/v.net.salesman/v.net.salesman.html: docs cosmetics
+
+2009-05-18 20:04  martinl
+
+	* include/vect/dig_externs.h, lib/vector/diglib/file.c,
+	  lib/vector/diglib/portable.c: doxygen update (diglib/portable.c)
+	  use size_t instead of int
+
+2009-05-18 17:14  martinl
+
+	* lib/vector/diglib/file.c: doxygen updated (diglib/file.c)
+
+2009-05-18 08:38  martinl
+
+	* lib/vector/vectorlib.dox: cosmetics in vectorlib.dox
+
+2009-05-17 07:37  hamish
+
+	* raster/r.in.xyz/r.in.xyz.html: see also the handy 'pv' pipe
+	  viewer utility (merge from devbr6)
+
+2009-05-16 18:16  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxGUI/nviz: disable text
+	  event (spinctrls)YX
+
+2009-05-16 16:41  neteler
+
+	* imagery/i.atcorr/main.cpp: downsize the static cache for 32bit
+	  CPUs
+
+2009-05-15 10:05  neteler
+
+	* imagery/i.atcorr/i.atcorr.html, imagery/i.atcorr/main.cpp: cache
+	  increased; docs cosmetics
+
+2009-05-14 19:45  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: use gis_h revision in about dialog
+
+2009-05-14 18:51  martinl
+
+	* lib/gis/mapset_nme.c: rblazek: fix for QGIS crash
+
+2009-05-14 08:56  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: final docs boost: sun position
+	  calculation added
+
+2009-05-14 05:12  hamish
+
+	* gui/wxpython/Makefile: don't install
+	  gui/wxpython/scripts/Makefile, and d.rast3d is already installed
+	  in /etc/gui/scripts/ by that Makefile, so don't install it twice
+
+2009-05-13 20:54  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: more doc clarifications
+
+2009-05-13 15:47  neteler
+
+	* imagery/i.atcorr/GeomCond.cpp: more reasonable error message
+
+2009-05-13 14:37  hamish
+
+	* lib/init/grass.bat: typo (merge from devbr6)
+
+2009-05-13 13:02  neteler
+
+	* db/drivers/dbf/grass-dbf.html,
+	  db/drivers/sqlite/grass-sqlite.html: SQLite is the default in
+	  GRASS 7
+
+2009-05-13 12:34  neteler
+
+	* db/databaseintro.html: SQLite is default
+
+2009-05-13 10:07  hamish
+
+	* scripts/m.proj/m.proj.py: fix missing line
+
+2009-05-13 09:46  hamish
+
+	* scripts/m.proj/m.proj.py: add flag to include input coordinates
+	  in output file; todo note (merge from devbr6)
+
+2009-05-12 18:03  epatton
+
+	* vector/v.vol.rst/v.vol.rst.html: Added warning about lack of
+	  Lat/Long coordinate support; misc. cleanups
+
+2009-05-12 12:19  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: example: fix for reflectance map;
+	  further improvments
+
+2009-05-12 10:02  hamish
+
+	* visualization/nviz/scripts/nviz,
+	  visualization/nviz/scripts/nviz2.2_script: update wrapper script
+	  to latest descr changes (merge from devbr6)
+
+2009-05-12 06:59  hamish
+
+	* lib/init/functions.sh, lib/init/init.bat,
+	  mswindows/GRASS-Installer.nsi: PATHEXT is not dynamic so put in
+	  static init.bat|sh files; icon text cosmetics (merge from devbr6)
+
+2009-05-12 05:00  hamish
+
+	* gui/scripts/v.type.py, gui/scripts/v.type_wrapper.py,
+	  gui/wxpython/xml/menudata.xml: rename v.type wrapper script to
+	  avoid possible namespace collision on MS Windows
+
+2009-05-11 21:56  martinl
+
+	* scripts/r.tileset/r.tileset.html, scripts/r.tileset/r.tileset.py:
+	  r.tileset: minor fixes
+
+2009-05-11 21:49  martinl
+
+	* scripts/r.tileset/r.tileset, scripts/r.tileset/r.tileset.html,
+	  scripts/r.tileset/r.tileset.py: r.tileset pythonized
+
+2009-05-11 17:22  hamish
+
+	* lib/gis/parser.c: don't hardcode python exe (merge from devbr6)
+
+2009-05-11 17:18  hamish
+
+	* general/g.mapsets/Makefile, general/g.mapsets/g.mapsets.py,
+	  general/g.mapsets/g.mapsets_picker.py, general/g.mapsets/main.c:
+	  avoid namespace collision on MS-Windows
+
+2009-05-11 17:12  hamish
+
+	* general/g.mapsets/Makefile, general/g.mapsets/main.c: don't
+	  hardcode python.exe, install helper script in correct dir
+
+2009-05-11 15:00  glynn
+
+	* gui/scripts/windows_launch.bat, scripts/windows_launch.bat:
+	  Remove empty .bat files
+
+2009-05-11 14:58  martinl
+
+	* scripts/r.in.wms/gdalwarp.py: r.in.wms: fix syntax typo
+
+2009-05-11 14:35  glynn
+
+	* gui/scripts/Makefile, gui/scripts/windows_launch.bat,
+	  gui/wxpython/scripts/Makefile, include/Make/Script.make,
+	  scripts/windows_launch.bat: Windows fixes: retain .py extension
+	  on scripts
+	  Eliminate .bat wrappers
+
+2009-05-11 14:33  glynn
+
+	* lib/gis/counter.c: Fix G_is_initialized() for case of concurrent
+	  initialisation attempts
+
+2009-05-11 09:07  martinl
+
+	* scripts/m.proj/m.proj.py: m.proj: input required
+	  field separator for output
+
+2009-05-11 08:50  hamish
+
+	* general/g.version/main.c: new flag to output gis.h version
+
+2009-05-11 08:48  hamish
+
+	* visualization/nviz/src/nviz_init.c: more understandable flag
+	  descrs, g_verbose_msg() (merge from devbr6); remove verbose flag
+
+2009-05-11 07:33  hamish
+
+	* visualization/nviz/scripts/nviz: quote path names; svn props
+
+2009-05-11 06:43  hamish
+
+	* mswindows/GRASS-Installer.nsi: move PATHEXT, init.bat to Init.bat
+	  (merge from devbr6)
+
+2009-05-11 05:30  hamish
+
+	* mswindows/GRASS-Installer.nsi: don't minimize console in command
+	  line mode;
+	  MSYS console is generic, not set up for GRASS;
+	  happy new year;
+	  add .PY to PATHEXT;
+	  Spearfish & NC dataset naming consistency
+
+2009-05-11 05:27  hamish
+
+	* mswindows/GRASS-Installer.nsi, mswindows/GRASS-Packager.bat,
+	  mswindows/README.html: svn:eol-style + native (merge from relbr6)
+
+2009-05-11 02:52  hamish
+
+	* general/g.gui/main.c: use GRASS_PYTHON env var not hardcoded name
+	  (merge from devbr6)
+
+2009-05-11 02:47  hamish
+
+	* lib/gis/gisinit.c: be a bit more blunt in the error message
+	  (merge from devbr6)
+
+2009-05-10 21:07  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: fix again example
+
+2009-05-10 20:18  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: typo
+
+2009-05-10 19:48  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: fix example; suggest integer DEM
+	  for circa 1:80 faster computations
+
+2009-05-10 19:45  neteler
+
+	* imagery/i.atcorr/main.cpp: increase TI cache
+
+2009-05-10 19:11  martinl
+
+	* lib/python/grass.py: grass.parse_command() - parse output by
+	  default
+
+2009-05-10 18:57  martinl
+
+	* lib/python/grass.py: fix typo from r37117
+
+2009-05-10 18:47  glynn
+
+	* lib/python/grass.py: Remove parsing functionality from
+	  read_command; moved to parse_command
+
+2009-05-10 18:38  martinl
+
+	* lib/python/grass.py: grass.region(): cast values to float
+
+2009-05-10 18:30  martinl
+
+	* lib/python/grass.py: grass.py: allow parse arguments in
+	  read_command()
+	  add 'vsep' to parse_key_val()
+
+2009-05-10 17:18  neteler
+
+	* imagery/i.atcorr/test_suite/README.txt: added DEM
+
+2009-05-10 16:27  martinl
+
+	* scripts/r.in.wms/Makefile, scripts/r.in.wms/gdalwarp.py,
+	  scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms_gdal.py,
+	  scripts/r.in.wms/wms_request.py: r.in.wms: wms_gdal.py for GDAL
+	  WMS driver added
+	  TODO: rewrite gdalwarp.py
+
+2009-05-10 16:12  neteler
+
+	* imagery/i.atcorr/test_suite/README.txt: explain how to test
+
+2009-05-10 14:51  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: error icon for
+	  messages
+
+2009-05-10 10:49  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: do not remove
+	  'digitize' and '3d view' from the toolbar even if the extensions
+	  are not available (trac #586)
+
+2009-05-10 07:35  hamish
+
+	* gui/scripts/Makefile, gui/scripts/windows_launch.bat,
+	  gui/wxpython/scripts/Makefile: attept to fix WinGRASS GUI scripts
+	  (bugs #234, #553, #580, and #586?; merge from devbr6)
+
+2009-05-09 18:46  martinl
+
+	* gui/wxpython/gui_modules/ogc_services.py: wxGUI: use
+	  gcmd.RunCommand() instead grass.*_command()
+
+2009-05-09 18:39  martinl
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: fix r37081 (cap_file)
+
+2009-05-09 18:36  martinl
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: check if
+	  getcapabilities()
+
+2009-05-09 18:17  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/ogc_services.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: WMS dialog implemented
+	  (very initial stage)
+
+2009-05-09 16:10  martinl
+
+	* scripts/r.in.wms/wms_parse.py: r.in.wms: cosmetics
+
+2009-05-09 16:03  glynn
+
+	* lib/python/grass.py: Fix raster_info to handle D:M:S output from
+	  r.info
+
+2009-05-09 15:37  glynn
+
+	* lib/gis/spawn.c: G_spawn() needs _spawnvp() rather than _spawnv()
+	  on Windows
+
+2009-05-09 15:11  glynn
+
+	* lib/init/functions.sh, lib/init/init.sh: Fix bugs in Init.sh on
+	  Windows
+
+2009-05-09 14:51  glynn
+
+	* lib/gis/home.c: Remove G_debug() call from G__home() to prevent
+	  infinite recursion if
+	  GISRC is unset
+
+2009-05-09 14:47  glynn
+
+	* include/Make/Html.make: g.dirseps needs PATH and GISRC(!) to be
+	  set
+
+2009-05-09 14:14  glynn
+
+	* lib/python/grass.py: os.execvp() requires the .exe suffix on
+	  Windows
+
+2009-05-09 13:39  martinl
+
+	* scripts/r.in.wms/r.in.wms.html: r.in.wms: note GDAL WMS driver
+	  (todo)
+
+2009-05-09 13:34  martinl
+
+	* scripts/r.in.wms/r.in.wms.py: r.in.wms: fix cap_file option
+
+2009-05-09 09:20  martinl
+
+	* configure, configure.in: make checking python-config optional
+
+2009-05-08 20:43  martinl
+
+	* scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms_download.py:
+	  r.in.wms: fix get method
+
+2009-05-08 20:07  martinl
+
+	* scripts/r.in.wms/gdalwarp.py, scripts/r.in.wms/r.in.gdalwarp.py,
+	  scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms_download.py,
+	  scripts/r.in.wms/wms_request.py: r.in.wms: various fixes (fix
+	  downloading data)
+
+2009-05-08 16:44  martinl
+
+	* scripts/r.in.wms/Makefile, scripts/r.in.wms/gdalwarp.py,
+	  scripts/r.in.wms/r.in.gdalwarp.py,
+	  scripts/r.in.wms/r.in.wms.html, scripts/r.in.wms/r.in.wms.py,
+	  scripts/r.in.wms/wms_download.py, scripts/r.in.wms/wms_parse.py,
+	  scripts/r.in.wms/wms_request.py: r.in.wms: various fixes, new
+	  modules (parse, gdalwarp)
+
+2009-05-08 14:33  martinl
+
+	* scripts/r.in.wms/r.in.wms.html, scripts/r.in.wms/r.in.wms.py:
+	  r.in.wms:
+	  * fix list_layers()
+	  * remove wget/curl options
+
+2009-05-08 14:02  martinl
+
+	* scripts/r.in.wms/r.in.wms.html, scripts/r.in.wms/r.in.wms.py:
+	  r.in.wms: python modules import fixed
+	  manual page cleaned up
+
+2009-05-08 13:43  martinl
+
+	* scripts/r.in.wms/r.in.gdalwarp: fix r37049 bash version of
+	  r.in.gdalwarp removed
+
+2009-05-08 13:41  martinl
+
+	* scripts/r.in.wms/Makefile, scripts/r.in.wms/r.in.gdalwarp,
+	  scripts/r.in.wms/r.in.gdalwarp.py, scripts/r.in.wms/r.in.wms,
+	  scripts/r.in.wms/r.in.wms.py, scripts/r.in.wms/wms.download,
+	  scripts/r.in.wms/wms.request, scripts/r.in.wms/wms_download.py,
+	  scripts/r.in.wms/wms_request.py: r.in.wms pythonized (first
+	  stage) - deeper code reorganization needed
+
+2009-05-08 07:54  hamish
+
+	* ps/ps.map/colortable.h, ps/ps.map/ps.map.html,
+	  ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/ps_map.c, ps/ps.map/r_colortable.c: merge legend type
+	  control from devbr6
+
+2009-05-07 15:31  martinl
+
+	* include/gis.h: GIS_H_DATE added
+
+2009-05-07 15:27  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: remove '3D view'
+	  from toolbar if Nviz extension is not available
+	  (merge from relbr64, r37040)
+
+2009-05-07 12:40  hamish
+
+	* gui/wxpython/gui_modules/location_wizard.py: provide a default
+	  value so it doesn't try and search against a null column (merge
+	  from devbr6)
+
+2009-05-07 10:23  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: set grass path
+	  (merge from devbr6, r37032)
+
+2009-05-07 10:17  mmetz
+
+	* vector/v.in.ogr/geom.c: fix for ticket #577, skip empty features
+
+2009-05-06 18:10  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: auto-zomming to
+	  selected layer implemented
+
+2009-05-06 16:10  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fix bug in
+	  DrawBitmap
+	  (merge from devbr6, r37027)
+
+2009-05-06 12:22  hamish
+
+	* raster/r.recode/read_rules.c: expand help text (merge from
+	  relbr64)
+
+2009-05-06 12:08  hamish
+
+	* raster/r.recode/read_rules.c: fix for last commit
+
+2009-05-06 11:54  hamish
+
+	* raster/r.recode/read_rules.c: apply Markus's patch (bug #172,
+	  merge from devbr6)
+
+2009-05-05 22:22  neteler
+
+	* swig/python/TODO: updated
+
+2009-05-05 21:56  neteler
+
+	* lib/gis/colors/evi: negative value color cosmetics
+
+2009-05-05 21:17  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix r37010
+
+2009-05-05 19:51  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: run
+	  UpdateSelection() in the thread (continued)
+
+2009-05-05 19:38  neteler
+
+	* lib/grasslib.dox, lib/python/grasspythonlib.dox: document
+	  GRASS-Python lib
+
+2009-05-05 19:33  neteler
+
+	* Makefile: document GRASS-Python lib
+
+2009-05-05 19:28  neteler
+
+	* lib/python/Makefile, lib/python/grasspythonlib.dox: document
+	  GRASS-Python lib
+
+2009-05-05 14:46  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: cosmetics in title
+	  (also rasters can be imported)
+
+2009-05-04 18:09  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix r36993
+
+2009-05-04 18:02  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: run
+	  UpdateSelection() in the thread
+
+2009-05-04 16:43  martinl
+
+	* lib/python/grass.py: grass.py: enable parse output from
+	  read_command()
+
+2009-05-04 16:11  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: map window size
+	  changed to accommodate vdigit toolbar (gnome)
+	  (merge from relbr64, r36988)
+
+2009-05-04 15:50  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: fix r36984
+
+2009-05-04 15:27  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: hide 'digitize'
+	  tool if vdigit is not available
+
+2009-05-04 15:13  martinl
+
+	* gui/wxpython/vdigit/pseudodc.i: wxGUI: fix local PseudoDC
+	  DrawBitmap prototype
+
+2009-05-04 15:05  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fix DrawBitmap
+
+2009-05-04 14:59  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: raise also first map window
+	  (merge from relbr64, r36978)
+
+2009-05-04 14:37  martinl
+
+	* raster/r.resamp.rst/main.c: r.resamp.rst: move 'elev' to output
+	  options
+	  (merge from devbr6, r36975)
+
+2009-05-04 07:59  hamish
+
+	* scripts/r.shaded.relief/r.shaded.relief.html: fix citation title
+	  (merge from devbr6)
+
+2009-05-03 17:31  neteler
+
+	* gui/wxpython/README: small cleanup
+
+2009-05-03 10:02  hamish
+
+	* vector/v.out.ascii/main.c: only warn when needed (merge from
+	  devbr6)
+
+2009-05-03 08:13  neteler
+
+	* gui/wxpython/README: mention wx packages for RPM based system
+
+2009-05-03 08:08  neteler
+
+	* gui/wxpython/Makefile: clean also vdigit and nviz subdir
+
+2009-05-03 04:45  hamish
+
+	* configure, configure.in: =yes doesn't need basename, minor
+	  whitespace/reorder
+
+2009-05-03 04:39  hamish
+
+	* lib/gis/colors/precipitation: very wet
+
+2009-05-02 20:01  martinl
+
+	* lib/python/grass.py: debug level for grass.debug()
+
+2009-05-02 19:33  martinl
+
+	* REQUIREMENTS.html, gui/wxpython/README: PyOpenGL is not required
+	  for wxGUI NVIZ extension
+
+2009-05-02 13:48  glynn
+
+	* configure, configure.in: Fix --with-wxwidgets= check (bug #579)
+
+2009-05-02 06:31  neteler
+
+	* imagery/i.atcorr/Output.h: include missing c++ header needed for
+	  gcc 4.4. debian bug #526204, patch from Martin Michlmayr
+
+2009-05-01 10:25  hamish
+
+	* raster/r.region/r.region.html: add note about relative
+	  northings,eastings (merge from devbr6)
+
+2009-04-30 18:44  neteler
+
+	* vector/Makefile: deactivated v.label.sa since yet broken
+
+2009-04-30 15:21  martinl
+
+	* gui/wxpython/wxgui.py: toolbar "add vector" and "add raster"
+	  buttons have a regression in usability from gis.m (trac #535)
+	  (merge from devbr6, r36926)
+
+2009-04-30 14:39  martinl
+
+	* gui/wxpython/nviz/Makefile, gui/wxpython/vdigit/Makefile: Build
+	  wxGUI Python extensions with -c++ (Python 2.4)
+
+2009-04-30 14:18  martinl
+
+	* configure, configure.in, general/g.cairocomp/Makefile,
+	  include/Make/Platform.make.in: Define CAIRO_HAS_XRENDER_SURFACE
+	  (trac #419)
+
+2009-04-30 12:12  epatton
+
+	* raster/r.reclass/r.reclass.html: Added note about the requirement
+	  for integer data in input raster map; misc. cleanups
+
+2009-04-30 07:39  glynn
+
+	* include/stats.h, lib/stats/c_ave.c, lib/stats/c_count.c,
+	  lib/stats/c_divr.c, lib/stats/c_intr.c, lib/stats/c_kurt.c,
+	  lib/stats/c_max.c, lib/stats/c_maxx.c, lib/stats/c_median.c,
+	  lib/stats/c_min.c, lib/stats/c_minx.c, lib/stats/c_mode.c,
+	  lib/stats/c_percentile.c, lib/stats/c_range.c, lib/stats/c_reg.c,
+	  lib/stats/c_skew.c, lib/stats/c_stddev.c, lib/stats/c_sum.c,
+	  lib/stats/c_var.c, raster/r.neighbors/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.series/main.c: Add closure
+	  argument to aggregate functions
+	  Export c_quantile, w_quantile
+	  Add method=quantile to r.resamp.stats, r.series, r.neighbors
+	  Add method=quart1/quart3/perc90 to r.neighbors
+
+2009-04-30 07:36  glynn
+
+	* lib/gis/put_cellhd.c, lib/gis/quant_rw.c, lib/gis/range.c: Remove
+	  unused 'buf' variables
+
+2009-04-29 22:04  neteler
+
+	* raster/r.region/r.region.html: +examples
+
+2009-04-29 20:29  neteler
+
+	* mswindows/GRASS-Installer.nsi, mswindows/README.html: Colin
+	  Nielsen: native winGRASS packager updates
+
+2009-04-29 08:47  hamish
+
+	* gui/wxpython/docs/wxGUI.html: fix html errors
+
+2009-04-29 02:48  hamish
+
+	* REQUIREMENTS.html: add numpy and PyOpenGL as optional reqs
+
+2009-04-26 21:34  martinl
+
+	* vector/Makefile: some module's dir renamed (strip '2')
+
+2009-04-26 21:33  martinl
+
+	* vector/v.parallel, vector/v.parallel2: v.parallel2 dir renamed to
+	  v.parallel
+
+2009-04-26 21:32  martinl
+
+	* vector/v.parallel: v.parallel removed (replaced by v.parallel2)
+
+2009-04-26 21:31  martinl
+
+	* vector/v.delaunay, vector/v.delaunay2: v.delaunay2 dir renamed to
+	  v.delaunay
+
+2009-04-26 21:30  martinl
+
+	* vector/v.buffer, vector/v.buffer2: v.buffer2 dir rename to
+	  v.buffer
+
+2009-04-25 17:45  neteler
+
+	* vector/v.out.pov/v.out.pov.html: explain how to include the
+	  resulting file
+
+2009-04-25 17:07  neteler
+
+	* raster/r.out.pov/main.c: parser interface standardized
+
+2009-04-25 05:59  neteler
+
+	* raster/r.neighbors/main.c: fix
+
+2009-04-25 05:00  glynn
+
+	* raster/r.neighbors/local_proto.h, raster/r.neighbors/main.c,
+	  raster/r.neighbors/readweights.c: Add Gaussian filter
+
+2009-04-23 11:41  hamish
+
+	* vector/v.buffer2/v.buffer.html: update for new option name
+
+2009-04-23 11:41  hamish
+
+	* vector/v.buffer: remove unused code
+
+2009-04-23 09:22  martinl
+
+	* gui/wxpython/nviz/setup.py: XMINC not defined in GRASS7
+
+2009-04-23 08:12  neteler
+
+	* display/d.path/d.path.html: polished; examples improved
+	  (interactive not really functional right now)
+
+2009-04-23 07:20  hcho
+
+	* display/d.rast.num/main.c: transparency for GUI
+
+2009-04-23 07:20  hcho
+
+	* display/d.rast.arrow/main.c: transparency for GUI
+
+2009-04-23 07:08  hcho
+
+	* include/gis.h: old => old_color
+
+2009-04-23 06:40  hcho
+
+	* gui/wxpython/gui_modules/workspace.py: Fixed a save error
+
+2009-04-22 22:45  neteler
+
+	* vector/lidar/v.lidar.growing/main.c: msg cosmetics
+
+2009-04-22 22:33  neteler
+
+	* vector/lidar/v.lidar.growing/v.lidar.growing.html: added missing
+	  first parameter
+
+2009-04-22 11:58  hcho
+
+	* display/d.rast.arrow/main.c: code cleanup
+
+2009-04-22 11:58  hcho
+
+	* display/d.rast.num/main.c: code cleanup
+
+2009-04-22 11:06  hamish
+
+	* scripts/r.shaded.relief/r.shaded.relief.py: allow alt and az to
+	  be floats (merge from devbr6)
+
+2009-04-22 11:04  glynn
+
+	* raster/r.colors/stats.c: Add extra element to array to prevent
+	  max. value overrunning
+
+2009-04-22 07:54  hcho
+
+	* display/d.rast.num/main.c: Added -a flag to align grids with
+	  raster cells
+
+2009-04-22 07:43  hcho
+
+	* display/d.rast.arrow/main.c: Added -a flag to align grids with
+	  raster cells
+
+2009-04-22 04:37  glynn
+
+	* raster/r.colors/stats.c: Fix stats calculation with -a
+
+2009-04-21 18:35  mmetz
+
+	* lib/vector/diglib/allocation.c, lib/vector/diglib/cindex.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/rbtree.c, lib/vector/diglib/struct_alloc.c: G_*
+	  versions for memory management
+
+2009-04-21 16:34  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: Add encoding
+	  suggestions to GUI (trac #556)
+	  (merge from relbr64, r36847)
+
+2009-04-21 13:10  kyngchaos
+
+	* macosx/Makefile, macosx/pkg/resources/postflight.in: disable
+	  modbuild (to be deleted, hopefully)
+
+2009-04-21 10:06  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: update dialog
+	  properties on show
+
+2009-04-21 05:20  hamish
+
+	* lib/gis/colors/srtm: extend to the bottom of the sea (merge from
+	  devbr6)
+
+2009-04-21 00:42  hcho
+
+	* raster/r.topidx/file_io.c, raster/r.topidx/global.h,
+	  raster/r.topidx/main.c, raster/r.topidx/topidx.c: i18n; include
+	  cleanup; copyright
+
+2009-04-21 00:26  hcho
+
+	* raster/r.topidx/file_io.c, raster/r.topidx/main.c: removed
+	  duplicate include and redundant parentheses
+
+2009-04-20 20:33  neteler
+
+	* vector/Makefile: +v.label.sa
+
+2009-04-20 20:26  neteler
+
+	* raster/r.drain/main.c: added missing argument
+
+2009-04-20 12:27  neteler
+
+	* raster/r.topidx/file_io.c, raster/r.topidx/main.c: trap if
+	  current region resolution is higher than map resolution
+
+2009-04-20 03:18  hcho
+
+	* vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/make_arc.c: code cleanup
+
+2009-04-20 03:08  hcho
+
+	* vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/make_arc.c:
+	  Support for LWPOLYLINE elevations
+
+2009-04-19 19:02  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/location
+	  wizard - search in codes/desc/params (see trac #554)
+	  (merge from relbr64, r36795)
+
+2009-04-19 17:15  martinl
+
+	* gui/wxpython/nviz/setup.py: Update wxGUI/nviz setup.py
+
+2009-04-19 17:12  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: Attempt to fix trac #552
+	  (add vector map layer in layer manager doesn't show any paramter
+	  window)
+	  (merge from relber64, r36789)
+
+2009-04-18 21:10  martinl
+
+	* gui/wxpython/wxgui.py: Fix svn prop (revision)
+
+2009-04-18 21:08  martinl
+
+	* gui/wxpython/build_ext.py, gui/wxpython/nviz/Makefile,
+	  gui/wxpython/nviz/setup.py, gui/wxpython/vdigit/Makefile,
+	  gui/wxpython/vdigit/setup.py, gui/wxpython/wxgui.py: Build wxGUI
+	  Python extension using distutils
+
+2009-04-18 12:27  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: Fix wxGUI location
+	  wizard: Search in description with 0 hits (trac #554)
+	  (merge from relbr64, r36775 & r36776)
+
+2009-04-18 11:30  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI startup gui: shade start and
+	  double click mapset (trac #557)
+
+2009-04-18 06:24  mmetz
+
+	* raster/r.out.gdal/export_band.c, raster/r.out.gdal/main.c: added
+	  -f flag to force export
+
+2009-04-17 14:42  neteler
+
+	* lib/gis/colors/ndvi: softer water/non-water color change
+
+2009-04-16 18:15  neteler
+
+	* vector/v.net.visibility/main.c: another memory leak fixed
+
+2009-04-16 12:52  kyngchaos
+
+	* visualization/nviz2/cmd/Makefile: X11 includes and libs were
+	  added regardless of OPENGL_* settings
+
+2009-04-16 11:41  neteler
+
+	* vector/v.net.visibility/main.c,
+	  vector/v.net.visibility/visibility.c: fix memory leak as
+	  suggested by mmetz
+
+2009-04-16 11:18  mmetz
+
+	* raster/r.out.gdal/export_band.c, raster/r.out.gdal/local_proto.h,
+	  raster/r.out.gdal/main.c, raster/r.out.gdal/r.out.gdal.html:
+	  attempt to solve ticket #73
+
+2009-04-16 09:56  hamish
+
+	* display/d.what.vect/d.what.vect.html, display/d.what.vect/what.c:
+	  cleanup conversion to acres (merge from v.what; devbr6)
+
+2009-04-16 09:33  hamish
+
+	* vector/v.what/v.what.html, vector/v.what/what.c: cleanup
+	  conversion to acres (merge from devbr6)
+
+2009-04-16 04:47  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: bugfix: gps device can be
+	  filename with spaces so needs to be quoted (merge from devbr6)
+
+2009-04-15 22:20  neteler
+
+	* vector/v.net.visibility/v.net.visibility.html: +point data
+	  Spearfish example
+
+2009-04-15 21:42  neteler
+
+	* vector/v.net.visibility/v.net.visibility.html: HTML polished
+	  (still some odd wording)
+
+2009-04-14 19:24  neteler
+
+	* db/databaseintro.html, db/drivers/dbf/grass-dbf.html,
+	  db/drivers/sqlite/grass-sqlite.html: better explain what the DBF
+	  driver isn't doing; explain table migration; cosmetics
+
+2009-04-14 08:11  mmetz
+
+	* vector/v.out.ogr/main.c, vector/v.out.ogr/v.out.ogr.html:
+	  reversed -c flag, manual updated
+
+2009-04-13 19:35  neteler
+
+	* INSTALL: cosmetics
+
+2009-04-13 08:24  hcho
+
+	* general/g.mapsets/main.c: minor refactoring
+
+2009-04-13 05:10  hcho
+
+	* general/g.mapsets/main.c: Free allocated memory
+
+2009-04-13 05:03  hcho
+
+	* general/g.mapsets/dsply_maps.c, general/g.mapsets/dsply_path.c,
+	  general/g.mapsets/externs.h, general/g.mapsets/get_maps.c,
+	  general/g.mapsets/local_proto.h, general/g.mapsets/main.c:
+	  Removed unused variables.
+	  Dynamic buffer for large number of mapsets and long mapset names.
+
+2009-04-12 13:39  neteler
+
+	* mswindows, mswindows/GRASS-Installer.nsi,
+	  mswindows/GRASS-Packager.bat, mswindows/Installer-Files,
+	  mswindows/Installer-Files/GRASS-WebSite.url,
+	  mswindows/Installer-Files/GRASS.ico,
+	  mswindows/Installer-Files/GRASS_CMD.ico,
+	  mswindows/Installer-Files/GRASS_Web.ico,
+	  mswindows/Installer-Files/InstallHeaderImage.bmp,
+	  mswindows/Installer-Files/Install_GRASS.ico,
+	  mswindows/Installer-Files/MSYS_Custom_Icon.ico,
+	  mswindows/Installer-Files/UnInstallHeaderImage.bmp,
+	  mswindows/Installer-Files/UnWelcomeFinishPage.bmp,
+	  mswindows/Installer-Files/Uninstall_GRASS.ico,
+	  mswindows/Installer-Files/WelcomeFinishPage.bmp,
+	  mswindows/Installer-Files/WinGRASS-README.url,
+	  mswindows/Installer-Files/WinGRASS.ico, mswindows/README.html,
+	  mswindows/osgeo4w, mswindows/osgeo4w/package.cmd,
+	  mswindows/osgeo4w/package.sh: added native winGRASS builder from
+	  6.5; Colin Nielsen <colin nielsen gmail.com>: native winGRASS
+	  packager update
+
+2009-04-12 09:14  hcho
+
+	* display/d.grid/main.c: Reduced accumulation errors causing slight
+	  shifts in one direction
+
+2009-04-12 02:33  hcho
+
+	* display/d.grid/main.c: Corner sounds better
+
+2009-04-12 01:17  hcho
+
+	* gui/wxpython/gui_modules/preferences.py: Oops! No tabs
+
+2009-04-12 01:15  hcho
+
+	* display/d.grid/fiducial.c, display/d.grid/main.c: Fixed text
+	  placement.
+	  Added -a flag to align the origin to the upper-right corner of
+	  the current region.
+	  size=0 sets grid size to the north-south resolution of the
+	  current region.
+	  
+	  "g.region rast=dem; d.grid size=0 -a" will draw grids that align
+	  with dem cells.
+
+2009-04-12 01:01  hcho
+
+	* gui/wxpython/gui_modules/preferences.py: Parse font names
+	  correctly (e.g., "Luxi Mono:Regular" is not a color value)
+
+2009-04-11 20:02  epatton
+
+	* vector/v.patch/v.patch.html: Improved wording, from devbr6 r36686
+
+2009-04-11 15:10  neteler
+
+	* db/drivers/mysql/describe.c: conditionalize MYSQL_TYPE_NEWDECIMAL
+
+2009-04-11 11:44  neteler
+
+	* vector/v.vol.rst/main.c, vector/v.vol.rst/surf.h,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/userextern.h: Antonio
+	  Galea: make hardcoded MAXPOINTS a parameter: npmax
+
+2009-04-10 17:02  neteler
+
+	* lib/gis/colors/precipitation: reach 5000mm
+
+2009-04-10 12:13  neteler
+
+	* vector/v.out.ogr/main.c: warn if islands are found and -c missing
+
+2009-04-10 08:06  hcho
+
+	* vector/v.in.dxf/add_3dface.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/layer_list.c, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/write_vect.c: indent -bad -bap -bbb -br -bli0
+	  -bls -cli0 -ncs -fc1 -hnl -i4
+	  -nbbo -nbc -nbfda -nbfde -ncdb -ncdw -nce -nfca -npcs -nprs
+	  -npsl -nsc -nsob -saf -sai -saw -sbi0 -ss -ts8 -ut
+
+2009-04-10 08:04  hcho
+
+	* vector/v.in.dxf/add_3dface.c, vector/v.in.dxf/add_arc.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/layer_list.c, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/make_arc.c, vector/v.in.dxf/v.in.dxf.html,
+	  vector/v.in.dxf/write_vect.c: Added the "handle" column to store
+	  entity handles (Benjamin Ducke).
+	  Lowercase entity type => Uppercase entity type
+
+2009-04-10 02:35  hcho
+
+	* vector/v.in.dxf/add_line.c: Z value is not optional
+
+2009-04-09 13:20  neteler
+
+	* imagery/i.atcorr/main.cpp: write cmd line to history
+
+2009-04-09 10:21  neteler
+
+	* raster/simwe/r.sim.water/r.sim.water.html,
+	  raster/simwe/r.sim.water/r_sim_water.png: example added
+
+2009-04-09 09:35  neteler
+
+	* raster/simwe/r.sim.water/r.sim.water.html: error msg explained;
+	  HTML cleanup
+
+2009-04-09 08:42  neteler
+
+	* raster/simwe/simlib/hydro.c: more precise error message
+
+2009-04-09 08:37  hamish
+
+	* vector/v.out.ogr/v.out.ogr.html: -c flag into shp eg, linebreaks
+	  (merge from devbr6)
+
+2009-04-09 00:57  hcho
+
+	* vector/v.in.dxf/add_line.c: Support missing z values
+
+2009-04-09 00:52  hcho
+
+	* vector/v.in.dxf/add_line.c: Fixed line import
+
+2009-04-08 15:54  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: more explanations
+
+2009-04-08 15:49  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: two doc issues fixed with help
+	  from Yann
+
+2009-04-08 14:50  mlennert
+
+	* raster/r.proj/main.c: allow for identical location names in
+	  different databases
+
+2009-04-08 14:42  neteler
+
+	* raster/r.terraflow/main.cc: don't harcode /var/tmp/, fixes trac
+	  #520
+
+2009-04-08 13:12  neteler
+
+	* lib/grass7_arch.png, lib/grasslib.dox: Diagram of GRASS 7
+	  architecture added
+
+2009-04-08 11:55  mlennert
+
+	* display/d.thematic.area/main.c: some tweaking of d.graph legend
+	  instructions
+
+2009-04-08 07:48  neteler
+
+	* raster/r.terraflow/r.terraflow.html: cosmetics
+
+2009-04-08 03:08  hcho
+
+	* vector/v.in.dxf/write_vect.c: Don't change layer names
+
+2009-04-08 02:39  hcho
+
+	* lib/gis/strings.c: Made G_str_to_sql \0-safe.
+
+2009-04-08 02:38  hcho
+
+	* vector/v.in.dxf/write_vect.c: Fixed table naming
+
+2009-04-07 20:23  neteler
+
+	* raster/r.walk/main.c, raster/r.walk/r.walk.html,
+	  raster/r.walk/stash.h: cnielsen: Added 'backlink' functionality
+
+2009-04-07 20:23  neteler
+
+	* raster/r.cost/main.c, raster/r.cost/r.cost.html,
+	  raster/r.cost/stash.h: cnielsen: Added 'backlink' functionality
+
+2009-04-07 20:23  neteler
+
+	* raster/r.drain/main.c, raster/r.drain/r.drain.html: cnielsen:
+	  Added 'backlink' functionality
+
+2009-04-07 19:16  neteler
+
+	* db/drivers/mysql/describe.c: support MYSQL_TYPE_NEWDECIMAL; treat
+	  as MYSQL_TYPE_DECIMAL
+
+2009-04-07 09:42  neteler
+
+	* vector/vectorintro.html: grammar
+
+2009-04-07 09:31  neteler
+
+	* vector/vectorintro.html: Added map naming convention
+
+2009-04-06 13:02  neteler
+
+	* vector/v.what/main.c, vector/v.what/v.what.html,
+	  vector/v.what/what.c, vector/v.what/what.h: shell script style
+	  output added
+
+2009-04-05 21:04  neteler
+
+	* vector/v.to.db/global.h, vector/v.to.db/lines.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/report.c,
+	  vector/v.to.db/units.c, vector/v.to.db/update.c,
+	  vector/v.to.db/v.to.db.html: marisn: v.to.db add azimuth option
+	  (forwardport from develbranch_6, r36528)
+
+2009-04-05 20:39  neteler
+
+	* vector/v.surf.rst/v.surf.rst.html: cosmetics
+
+2009-04-05 18:04  martinl
+
+	* imagery/i.modis.qc/main.c: fix i.modis.qc description causing
+	  G_parser() segfault
+
+2009-04-05 17:54  martinl
+
+	* imagery/i.modis.qc/main.c: Fix r36593, use standardized message
+	  and do not introduce more and
+	  more version of the same message - better to discuss it on wiki
+	  !!!
+
+2009-04-05 17:45  ychemin
+
+	* imagery/i.modis.qc/main.c: standardized message
+
+2009-04-05 16:14  ychemin
+
+	* imagery/i.modis.qc/main.c: removed translation macros where not
+	  needed
+
+2009-04-05 16:03  ychemin
+
+	* imagery/i.modis.qc/main.c: removed typo
+
+2009-04-05 15:24  ychemin
+
+	* imagery/i.modis.qc/i.modis.qc.html, imagery/i.modis.qc/main.c,
+	  imagery/i.modis.qc/mod09A1a.c, imagery/i.modis.qc/mod09A1c.c,
+	  imagery/i.modis.qc/mod09A1d.c, imagery/i.modis.qc/mod09A1e.c,
+	  imagery/i.modis.qc/mod09A1sa.c, imagery/i.modis.qc/mod09A1sb.c,
+	  imagery/i.modis.qc/mod09A1sc.c, imagery/i.modis.qc/mod09A1sd.c,
+	  imagery/i.modis.qc/mod09A1se.c, imagery/i.modis.qc/mod09A1sf.c,
+	  imagery/i.modis.qc/mod09A1sg.c, imagery/i.modis.qc/mod09A1sh.c,
+	  imagery/i.modis.qc/mod09A1si.c, imagery/i.modis.qc/mod09A1sj.c,
+	  imagery/i.modis.qc/mod09A1sk.c, imagery/i.modis.qc/mod09Q1a.c,
+	  imagery/i.modis.qc/mod09Q1b.c, imagery/i.modis.qc/mod09Q1c.c,
+	  imagery/i.modis.qc/mod09Q1d.c, imagery/i.modis.qc/mod09Q1e.c,
+	  imagery/i.modis.qc/mod09Q1f.c, imagery/i.modis.qc/mod11A2a.c,
+	  imagery/i.modis.qc/mod11A2b.c, imagery/i.modis.qc/mod11A2c.c,
+	  imagery/i.modis.qc/mod11A2d.c, imagery/i.modis.qc/qc250a.c,
+	  imagery/i.modis.qc/qc250b.c, imagery/i.modis.qc/qc250c.c,
+	  imagery/i.modis.qc/qc250d.c, imagery/i.modis.qc/qc250e.c,
+	  imagery/i.modis.qc/qc250f.c, imagery/i.modis.qc/qc500a.c,
+	  imagery/i.modis.qc/qc500c.c, imagery/i.modis.qc/qc500d.c,
+	  imagery/i.modis.qc/qc500e.c: Added MOD09A1 StateQA and MOD11A2 QC
+
+2009-04-05 14:30  martinl
+
+	* include/Vect.h, include/vect/dig_externs.h,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/box.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/buffer.c, lib/vector/Vlib/buffer2.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/clean_nodes.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/constraint.c,
+	  lib/vector/Vlib/dangles.c, lib/vector/Vlib/dbcolumns.c,
+	  lib/vector/Vlib/dgraph.c, lib/vector/Vlib/dgraph.h,
+	  lib/vector/Vlib/e_intersect.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/geos.c, lib/vector/Vlib/graph.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/hist.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/level.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/net.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/overlap.c, lib/vector/Vlib/overlay.c,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_ogr.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/Vlib/snap.c, lib/vector/Vlib/tin.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/window.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/box.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_node.c, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/spindex.c, vector/v.buffer2/local_proto.h,
+	  vector/v.buffer2/main.c, vector/v.parallel2/local_proto.h,
+	  vector/v.parallel2/main.c: vlib: modify prototypes to use 'const'
+
+2009-04-05 03:22  1gray
+
+	* lib/gis/get_cellhd.c, lib/gis/put_cellhd.c, lib/gis/put_title.c,
+	  lib/gis/quant_io.c, lib/gis/quant_rw.c, lib/gis/range.c: Removed
+	  extra calls to sprintf () just before G_warning ().
+	  lib/gis/get_cellhd.c (G_get_cellhd): Removed extra calls to
+	  `sprintf'
+	  just before `G_warning'.
+	  lib/gis/put_cellhd.c (G_put_cellhd): Likewise.
+	  lib/gis/put_title.c (G_put_cell_title): Likewise.
+	  lib/gis/quant_io.c (G__quant_import): Likewise.
+	  lib/gis/quant_rw.c
+	  (G_truncate_fp_map): Likewise.
+	  (G_round_fp_map): Likewise.
+	  (G_quantize_fp_map): Likewise.
+	  (G_quantize_fp_map_range): Likewise.
+	  (G_write_quant): Likewise.
+	  lib/gis/range.c
+	  (G_read_fp_range): Likewise.
+	  (G_read_range): Likewise.
+
+2009-04-04 20:55  msieczka
+
+	* raster/r.colors/r.colors.html: Color tables are already described
+	  in the auto-generated manual header (backport from develbranch_6.
+
+2009-04-03 16:39  neteler
+
+	* vector/v.surf.idw/v.surf.idw.html: sites -> points; explain -z
+	  flag. Missing power= from GRASS 6
+
+2009-04-03 08:09  neteler
+
+	* db/drivers/dbf/grass-dbf.html: +ORDER BY
+
+2009-04-03 07:55  mlennert
+
+	* db/drivers/dbf/dbfexe.c: check for nulls and sort them to the end
+	  in ORDER BY clauses (merge from devel6 36574)
+
+2009-04-03 07:17  neteler
+
+	* raster/r.param.scale/r.param.scale.html,
+	  raster/r.param.scale/r_param_scale_morph.jpg: screenshot added
+
+2009-04-02 15:46  neteler
+
+	* db/drivers/sqlite/grass-sqlite.html: say when the sqlite file is
+	  generated
+
+2009-04-02 10:07  neteler
+
+	* raster/r.random/local_proto.h, raster/r.random/main.c,
+	  raster/r.random/r.random.html, raster/r.random/random.c: -b flag
+	  added to avoid vector topology
+
+2009-04-02 07:08  neteler
+
+	* gem/main.c: fix gem -> gem70
+
+2009-04-02 07:04  neteler
+
+	* gem/Makefile, gem/main.c: define also GRASS_VERSION_MINOR
+
+2009-04-01 21:11  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: fix where parsering
+	  (merge from devbr6, r36557)
+
+2009-03-31 21:42  martinl
+
+	* scripts/v.centroids/v.centroids.py: v.centroids: remove unused
+	  variables
+
+2009-03-31 21:40  martinl
+
+	* lib/python/grass.py, scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/v.centroids/v.centroids.py: grass.py: vector_info_topo()
+	  added
+
+2009-03-31 21:26  neteler
+
+	* scripts/v.centroids/v.centroids.py: Don't use locale dependent
+	  output for parsing (untested)
+
+2009-03-31 21:18  neteler
+
+	* scripts/r.fillnulls/r.fillnulls.py: Don't use locale dependent
+	  output for parsing
+
+2009-03-31 15:04  mmetz
+
+	* lib/vector/Vlib/snap.c: Snap lines: use closest anchor, not first
+	  best, lighter on memory and a bit faster
+
+2009-03-31 05:34  martinl
+
+	* configure, configure.in: checking for geos_c.h
+
+2009-03-31 04:27  hamish
+
+	* imagery/i.pca/main.c: i18n (merge from devbr6)
+
+2009-03-31 00:46  hamish
+
+	* imagery/i.pca/main.c, imagery/i.pca/support.c: verbose messages
+	  and minor eigen table cosmetics
+
+2009-03-30 20:13  martinl
+
+	* lib/vector/Vlib/geos.c: remove unused variable from geos.c
+
+2009-03-30 18:56  martinl
+
+	* configure, configure.in: default without-geos
+
+2009-03-30 18:44  martinl
+
+	* lib/vector/Vlib/Makefile: GEOSLIBS added to Makefile
+
+2009-03-30 16:38  martinl
+
+	* imagery/i.pca/support.c: i.pca: G_strcat() is not available in
+	  GRASS7
+
+2009-03-30 16:16  mmetz
+
+	* lib/vector/diglib/poly.c: find poly orientation now deals with
+	  partially collapsed boundaries
+
+2009-03-30 16:14  mmetz
+
+	* lib/vector/diglib/rbtree.c: easier interface for Red Black Tree
+
+2009-03-30 15:06  martinl
+
+	* include/Make/Doxyfile_arch_html,
+	  include/Make/Doxyfile_arch_latex, lib/vector/vectorlib.dox: minor
+	  vector doxygen docs update (geos)
+
+2009-03-30 14:32  martinl
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/geos.c: ignore dead
+	  line in Vect_read_line_geos()
+	  debug message cosmetics
+
+2009-03-30 10:14  neteler
+
+	* imagery/i.pca/support.c: write out appropriately eigenvectors,
+	  eigenvalues and percent importance (fixes trac #430)
+
+2009-03-30 07:19  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: Bug fix for wxnviz. It
+	  now starts and quits and restarts without errors. It also does
+	  not have to reload maps previously loaded. Panel switching works
+	  without duplicate pages and overlayed panels.
+
+2009-03-29 21:16  neteler
+
+	* raster/r.slope.aspect/r.slope.aspect.html: references fixed
+
+2009-03-29 19:49  mmetz
+
+	* lib/vector/Vlib/build_nat.c: build_nat update
+
+2009-03-29 19:47  mmetz
+
+	* lib/vector/Vlib/break_polygons.c: polished Red Black Tree used
+
+2009-03-29 19:46  mmetz
+
+	* lib/vector/diglib/rbtree.c: Red Black Tree polished, functions
+
+2009-03-29 19:45  mmetz
+
+	* include/vect/rbtree.h: Red Black Tree polished, header
+
+2009-03-29 14:49  martinl
+
+	* vector/v.select/v.select.html: v.select manual page updated (GEOS
+	  support)
+
+2009-03-29 14:22  martinl
+
+	* vector/v.select/main.c, vector/v.select/proto.h: compile v.select
+	  without GEOS
+
+2009-03-29 13:53  martinl
+
+	* configure, configure.in, include/Make/Grass.make,
+	  include/Make/Platform.make.in, include/Vect.h,
+	  include/config.h.in, lib/vector/Vlib/buffer2.c,
+	  lib/vector/Vlib/dgraph.c, lib/vector/Vlib/e_intersect.c,
+	  lib/vector/Vlib/geos.c, vector/v.select/geos.c,
+	  vector/v.select/main.c, vector/v.select/overlap.c,
+	  vector/v.select/proto.h: very basic support for GEOS
+	  v.select updated to used optionally GEOS operators
+
+2009-03-29 13:12  martinl
+
+	* gui/wxpython/vdigit/line.cpp: wxGUI/vdigit: typo
+	  (merge from relbr64, r36509)
+
+2009-03-28 17:33  martinl
+
+	* vector/v.info/main.c: v.info: use Vect_get_comment()
+
+2009-03-28 17:03  cmbarton
+
+	* gui/wxpython/gui_modules/gdialogs.py: Fix text entry box for text
+	  overlay dialog so that large text is still visible by making text
+	  box expandable
+
+2009-03-28 14:57  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/vdigit/pseudodc.i: wxGUI: georectify tool fixed
+	  (when using local copy of PseudoDC)
+	  (merge from devbr6, r36503)
+
+2009-03-28 14:15  martinl
+
+	* vector/v.surf.idw/main.c, vector/v.surf.idw/proto.h,
+	  vector/v.surf.idw/read_sites.c: v.surf.idw: flag 'z' introduced
+
+2009-03-28 13:35  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: fix overlays
+	  (merge from devbr6, r36500)
+
+2009-03-27 14:23  neteler
+
+	* locale/po/grassmods_de.po: Robert Nuske: cont'ed
+
+2009-03-27 13:41  mmetz
+
+	* vector/v.clean/main.c, vector/v.clean/rmdac.c,
+	  vector/v.clean/rmline.c: v.clean messages adjusted to cleaning
+	  functions
+
+2009-03-27 13:39  mmetz
+
+	* lib/vector/Vlib/break_lines.c: added comment to break_lines
+
+2009-03-27 13:38  mmetz
+
+	* lib/vector/Vlib/clean_nodes.c, lib/vector/Vlib/remove_areas.c:
+	  streamlined cleaning functions: percent and verbose messages
+
+2009-03-27 13:24  mmetz
+
+	* lib/vector/Vlib/break_lines.c, lib/vector/Vlib/break_polygons.c,
+	  lib/vector/Vlib/snap.c: streamlined cleaning functions: percent
+	  and verbose messages
+
+2009-03-27 12:20  mmetz
+
+	* lib/vector/diglib/plus.c, lib/vector/diglib/struct_alloc.c:
+	  diglib free structures modified
+
+2009-03-26 18:09  mmetz
+
+	* vector/v.clean/main.c, vector/v.clean/rmdac.c,
+	  vector/v.clean/rmline.c: cosmetics and faster rmline tool
+
+2009-03-26 12:43  mmetz
+
+	* vector/v.patch/v.patch.html: updated documentation
+
+2009-03-25 17:39  1gray
+
+	* Makefile: Removed extra `cat' invocations.
+	  Makefile (default): Removed extra `cat' invocations.
+	  (real-install): Likewise.
+
+2009-03-25 15:22  pkelly
+
+	* lib/proj/convert.c: Don't mix and match memory de-allocation
+	  functions (bug 537)
+
+2009-03-25 07:34  neteler
+
+	* vector/lidar/v.surf.bspline/main.c,
+	  vector/lidar/v.surf.bspline/v.surf.bspline.html: merged parameter
+	  description fixes from previous HTML submission
+
+2009-03-25 07:18  neteler
+
+	* vector/lidar/v.surf.bspline/v.surf.bspline.html: sync to 6.5 with
+	  7 updates
+
+2009-03-25 03:37  hcho
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/globals.h,
+	  raster/r.mapcalc/main.c: Fixed segfault: naming conflicts with
+	  overwrite(3) in Slackware 12
+
+2009-03-24 19:56  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasswxpy_de.po: Robert Nuske: cont'ed
+
+2009-03-24 09:39  mmetz
+
+	* lib/vector/Vlib/break_polygons.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/rbtree.c: new binary search tree, faster and
+	  lighter Vect_break_polygons
+
+2009-03-24 09:37  mmetz
+
+	* include/vect/rbtree.h: header for new binary search tree
+
+2009-03-24 03:03  1gray
+
+	* lib/vector/Vlib/field.c: Fix `--without-gdal'.
+	  lib/vector/Vlib/field.c
+	  (gdal_version.h): Include only if `HAVE_GDAL' is defined.
+	  (Vect_read_dblinks): Guard a part of code with `#ifdef
+	  HAVE_GDAL'.
+
+2009-03-23 14:54  neteler
+
+	* locale/po/grassmods_cs.po, locale/po/grassmods_fr.po,
+	  vector/lidar/v.surf.bspline/main.c: less foggy msg
+
+2009-03-23 14:21  neteler
+
+	* vector/lidar/v.surf.bspline/main.c: less confusing msg
+
+2009-03-23 10:05  mmetz
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/poly.c:
+	  optimizations for centroid attachment
+
+2009-03-22 21:14  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: remove collapse pane
+	  (merge from relbr64, r36447)
+
+2009-03-22 21:10  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: select first mapset
+	  in module dialog (needed for MSW)
+	  (merge from relbr64, r36446)
+
+2009-03-22 20:34  mmetz
+
+	* lib/vector/diglib/poly.c: diglib bugfix and some tuning
+
+2009-03-21 09:19  mmetz
+
+	* lib/vector/Vlib/open.c: cosmetics
+
+2009-03-21 09:13  mmetz
+
+	* lib/vector/Vlib/map.c: safer name handling for Vect_copy and
+	  Vect_delete
+
+2009-03-21 06:06  cmbarton
+
+	* gui/wxpython/gui_modules/dbm_dialogs.py: Fix record edit dialog
+	  for Mac.
+
+2009-03-20 15:41  mmetz
+
+	* lib/vector/diglib/head.c: bugfix for #536 ???
+
+2009-03-20 13:57  martinl
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html: wxGUI: note
+	  "experimental prototype in manual pages of vdigit and nviz
+	  extensions"
+	  (merge from devbr6, r36437)
+
+2009-03-20 12:43  neteler
+
+	* SUBMITTING_DOCS: say how the docs are handled and generated
+
+2009-03-20 09:52  neteler
+
+	* raster/r.out.arc/main.c: flag added to refer to cell center in
+	  header
+
+2009-03-19 17:26  martinl
+
+	* lib/rst/interp_float/init2d.c, lib/rst/interp_float/interpf.h,
+	  vector/v.surf.rst/main.c: v.surf.rst: flag 'z' added
+
+2009-03-19 15:43  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: cancel action
+	  when tool changed (trac #286)
+	  (merge from relbr64, r36423)
+
+2009-03-19 12:13  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: disable casting values
+	  for all platforms
+	  (merge from devbr6, r36420)
+
+2009-03-19 09:30  mmetz
+
+	* lib/vector/diglib/poly.c: orientation index optimisation
+
+2009-03-19 09:17  neteler
+
+	* scripts/v.colors/v.colors: fix for layer > 1
+
+2009-03-18 19:16  mmetz
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/diglib/poly.c: potential
+	  bug avoided, cosmetics
+
+2009-03-17 14:47  mmetz
+
+	* lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/struct_alloc.c: TODO: free structures done in
+	  diglib, part 2
+
+2009-03-17 14:46  mmetz
+
+	* include/vect/dig_externs.h: TODO: free structures done in diglib,
+	  part 1
+
+2009-03-17 13:32  mmetz
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, lib/vector/diglib/poly.c: improved
+	  topology building; bugfix for Vect_copy
+
+2009-03-16 18:07  mmetz
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/diglib/poly.c: faster
+	  topology building for areas
+
+2009-03-16 18:07  mmetz
+
+	* include/vect/dig_externs.h: faster topology building for areas
+
+2009-03-16 09:51  mmetz
+
+	* lib/vector/Vlib/Makefile, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/clean_nodes.c,
+	  lib/vector/Vlib/dangles.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/diglib/Makefile,
+	  lib/vector/diglib/cindex_rw.c, lib/vector/diglib/file.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/port_init.c, lib/vector/diglib/port_test.c,
+	  lib/vector/diglib/portable.c, lib/vector/diglib/spindex_rw.c,
+	  lib/vector/diglib/test.c, lib/vector/diglib/test32.ok,
+	  lib/vector/diglib/test64.ok, lib/vector/rtree/Makefile,
+	  lib/vector/transform/Makefile, lib/vector/vedit/Makefile:
+	  experimental LFS support for vector libspart 2
+
+2009-03-16 09:49  mmetz
+
+	* include/Vect.h, include/vect/dig_defines.h,
+	  include/vect/dig_externs.h, include/vect/dig_structs.h:
+	  experimental LFS support for vector libspart 1
+
+2009-03-16 08:19  hcho
+
+	* lib/driver/Font.c: Pick up the correct font
+
+2009-03-16 08:04  hcho
+
+	* lib/driver/Font.c, lib/driver/parse_ftcap.c: Fixed fontcap entry
+	  parsing: allows an empty path for GFONT_DRIVER type fonts.
+	  Fixed the bug where R_font was not able to set GFONT_DRIVER
+	  fonts.
+
+2009-03-16 04:53  hcho
+
+	* gui/wxpython/README: wxPython <= 2.8.9.2 requires swig <= 1.3.36
+	  because of name changes: PySwig* to SwigPy*
+
+2009-03-14 19:31  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/dbm_dialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: dialogs from
+	  dbm moved to dbm_dialogs
+	  (merge from devbr6, r36381)
+
+2009-03-14 14:37  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: dbm.py synchronized with
+	  relbr64
+
+2009-03-14 13:43  neteler
+
+	* locale/po/grasswxpy_pl.po: some fixes
+
+2009-03-14 11:47  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/vdigit/pseudodc.i: wxGUI: fix overlays for local
+	  copy of PseudoDC
+	  (merge from devbr6, r36372)
+
+2009-03-13 21:36  cmbarton
+
+	* gui/wxpython/gui_modules/gselect.py: Use dictionary sort for
+	  lists of GIS elements
+
+2009-03-13 21:24  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: menu calls r.mfilter.fp instead of
+	  r.mfilter.
+
+2009-03-13 16:31  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: refresh map canvas
+	  after vdigit (trac #524)
+	  (merge from devbr6, r36360)
+
+2009-03-13 08:20  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: OnCmdErase
+
+2009-03-13 07:53  martinl
+
+	* vector/v.surf.rst/main.c: v.surt.rst: parameters/sections
+	  reordered to less tabs
+
+2009-03-13 02:39  hcho
+
+	* REQUIREMENTS.html: Updated Cairo version
+
+2009-03-12 23:11  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/location
+	  wizard: some MS Windows-related issues
+	  (merge from relbr64, r36346)
+
+2009-03-12 20:16  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: don't use '|' as field
+	  separator (causes problems on MS Windows)
+
+2009-03-12 11:33  glynn
+
+	* raster/r.los/main.c, raster/r.los/point.h: Fix compilation error
+	  due to r36161/r36181; 7.0 doesn't abuse the preprocessor
+
+2009-03-11 10:26  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: clean r36317, don't
+	  use grass.run_command() - use gcmd.RunCommand()
+	  instead
+
+2009-03-11 10:00  marisn
+
+	* db/drivers/dbf/dbfexe.c: Don't use SQLPSTMT after freeing it.
+	  Fixes #400 (merge from develbranch_6 r36326)
+
+2009-03-11 08:59  neteler
+
+	* swig/python/setup.py: Juergen Fischer: setup files (from osgeo4w
+	  trac #37)
+
+2009-03-11 04:45  cmbarton
+
+	* gui/wxpython/gui_modules/colorrules.py: Fix preview for color
+	  rules dialog
+
+2009-03-10 18:53  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Fixed not creating
+	  location in new GISDbase.
+
+2009-03-10 14:08  mmetz
+
+	* vector/vectorintro.html: vectorintro corrected
+
+2009-03-10 14:07  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/global.h,
+	  vector/v.in.ogr/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.salesman/main.c, vector/vectorintro.html: Reverted
+	  to previous version (r36309), erasing local changes
+
+2009-03-10 14:00  mmetz
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/global.h,
+	  vector/v.in.ogr/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.salesman/main.c, vector/vectorintro.html:
+	  vectorintro corrected
+
+2009-03-10 13:18  mlennert
+
+	* vector/vectorintro.html: slight correction
+
+2009-03-10 11:46  mmetz
+
+	* vector/vectorintro.html: updated vectorintro
+
+2009-03-10 10:34  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: cosmetics in ATM
+	  (merge from relbr64, r36301)
+
+2009-03-10 04:17  cmbarton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Multiple fixes to
+	  location wizard: 1) search on projection page does not go to next
+	  page before user has chance to review items found; 2)
+	  georeferencing parameters page formatted correctly; 3) EPSG code
+	  transform parameters now formatted better so that they can be
+	  seen better.
+
+2009-03-09 23:01  cmbarton
+
+	* gui/wxpython/gui_modules/gdialogs.py: Fix for Mac freeze (putting
+	  static box definition BEFORE contents).
+
+2009-03-09 16:40  kyngchaos
+
+	* lib/init/variables.html: document GRASS_WXBUNDLED
+
+2009-03-09 15:57  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/icons/icon.py:
+	  wxGUI: cosmetics in globalvar import
+
+2009-03-09 15:47  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: wxversion doesn't work with bundled
+	  wxpython cont'ed
+
+2009-03-09 15:43  kyngchaos
+
+	* macosx/app/grass.sh.in: set GRASS_WXBUNDLED for bundling wxpython
+	  (from dev6 r36283)
+
+2009-03-09 14:05  kyngchaos
+
+	* macosx/app/grass.sh.in: set PYTHONPATH for GUI when bundling
+	  wxpython (from dev6 r36280)
+
+2009-03-09 13:21  neteler
+
+	* lib/db/sqlp/sql.html: better document LIKE operator
+
+2009-03-09 09:24  neteler
+
+	* locale/po/grasswxpy_ja.po: Susumu Nonogaki: started
+
+2009-03-09 08:59  mmetz
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/sg_factor.c: added flag for absolute flow
+	  accumulation, some minor bugs fixed
+
+2009-03-09 08:48  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxversion doesn't work
+	  with bundled wxpython
+
+2009-03-08 19:44  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: fix r36260 (checkbox)
+
+2009-03-08 19:34  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: show option
+	  name/type in dialog
+
+2009-03-08 17:16  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py: Limit total points plotted
+	  in profile module to 500 to prevent hanging with large, high
+	  resolution maps.
+
+2009-03-08 13:29  martinl
+
+	* gui/wxpython/vdigit/pseudodc.i: wxGUI/vdigit: revert previous
+	  changes to allow compiling without gcdc (trac #525)
+
+2009-03-08 12:05  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: center welcome message
+
+2009-03-08 11:53  martinl
+
+	* gui/wxpython/nviz/nviz.h, gui/wxpython/nviz/setup.py,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/message.cpp, gui/wxpython/vdigit/setup.py:
+	  wxGUI osgeo4w patch applied (by jef) - trac #519
+	  (merge from devbr6, r36220)
+
+2009-03-08 06:19  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, vector/v.surf.rst/main.c: msg
+	  cosmetics
+
+2009-03-08 05:41  cmbarton
+
+	* gui/wxpython/gui_modules/nviz_tools.py: Fix so that tabs change
+	  notebook pages on Mac, without setting focus to display.
+
+2009-03-07 20:27  neteler
+
+	* vector/v.patch/v.patch.html: fixed abuse of 'layer' term
+
+2009-03-07 09:39  mmetz
+
+	* lib/vector/vectorlib.dox: Programmer's Manual updated
+
+2009-03-07 08:07  neteler
+
+	* lib/gis/mapset_msc.c: print error when failing
+
+2009-03-07 00:03  martinl
+
+	* lib/vector/vedit/select.c, lib/vector/vedit/snap.c: veditlib:
+	  osgeo4w patch applied (by jef) - trac #519
+	  (merge from devbr6, r36222)
+
+2009-03-06 22:12  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Delucchi: cont'd
+
+2009-03-06 22:06  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI: show error message
+	  if nviz extension is not available
+
+2009-03-06 16:31  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: hide 'Help' button
+	  if manual page is missing
+	  (merge from devbr6, r36212)
+
+2009-03-06 16:27  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: don't show 'Manual'
+	  tab if manual page is missing
+	  (merge from devbr6, r36210)
+
+2009-03-06 14:41  epatton
+
+	* raster/r.mapcalc/r.mapcalc.html: Added hint from Glynn on doing
+	  as much as possible in each r.mapcalc command to NOTES
+
+2009-03-05 22:31  martinl
+
+	* locale/po/grasswxpy_pl.po: Fix broken PL translation (trac #427)
+
+2009-03-04 23:04  neteler
+
+	* vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.alloc/v_net_alloc.png: Spearfish example added
+
+2009-03-04 06:56  cmbarton
+
+	* gui/wxpython/gui_modules/dbm.py: backport from develbranch_6
+	  r36194. Fixing dbm.py freezing on the Mac because wx.StaticBox
+	  needs to be defined before any controls that go into the
+	  wx.StaticBox
+
+2009-03-03 19:14  mmetz
+
+	* lib/vector/Vlib/build_nat.c: bugfix for Vect_attach_centroids,
+	  ticket #397
+
+2009-03-03 17:45  neteler
+
+	* doc/howto_release.txt: additional url
+
+2009-03-03 14:48  epatton
+
+	* SUBMITTING_DOCS: Added info on recommended html sections
+
+2009-03-02 23:45  hamish
+
+	* imagery/i.pca/i.pca.html, imagery/i.pca/local_proto.h,
+	  imagery/i.pca/main.c, imagery/i.pca/support.c: merge fixes from
+	  devbr6
+
+2009-03-02 22:07  neteler
+
+	* raster/r.los/point.h: fix declaration
+
+2009-03-02 21:55  neteler
+
+	* lib/gis/colors/evi, lib/gis/colors/ndvi: colors updated to MODIS
+	  V005 EVI/NDVI
+
+2009-03-02 12:35  neteler
+
+	* lib/gpde/Makefile: (commented) openMP support
+
+2009-03-02 04:46  hamish
+
+	* scripts/d.rast.edit/d.rast.edit.html: update man page (trac #86;
+	  merge from devbr6)
+
+2009-03-02 04:20  kyngchaos
+
+	* gui/wxpython/nviz/Makefile, gui/wxpython/vdigit/Makefile: strip
+	  out 64bit flags for OSX - 64bit wxpython is impossible
+
+2009-03-01 15:05  hamish
+
+	* lib/gis/parser.c: respect opt->label (merge from devbr6)
+
+2009-03-01 12:28  hamish
+
+	* raster/r.los/delete.c, raster/r.los/main.c, raster/r.los/point.h,
+	  raster/r.los/pts_elim.c: bugfix for #111 by Benjamin Ducke;
+	  (non?)fix for calc'ing cell neighbourhoods in combination with
+	  raster masks by Mark Lake
+
+2009-03-01 10:28  hamish
+
+	* imagery/i.pca/i.pca.html: n>=2 (trac #341; merge from devbr6)
+
+2009-03-01 07:20  hamish
+
+	* INSTALL: svn download instruct URL (merge from devbr6)
+
+2009-03-01 05:56  hamish
+
+	* raster/r.topmodel/misc.c: use expr= for r.mapcalc in gr7
+
+2009-03-01 05:51  hamish
+
+	* imagery/i.cluster/main.c, lib/gis/opencell.c,
+	  raster/r.topmodel/misc.c: /dev/null to G_DEV_NULL (trac #508;
+	  merge from devbr6)
+
+2009-02-28 12:43  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: Collapse all
+	  except current (trac #441)
+
+2009-02-28 12:36  mmetz
+
+	* lib/vector/Vlib/select.c: Vlib: small topology building speed up
+
+2009-02-28 12:33  mmetz
+
+	* lib/vector/diglib/plus_area.c: diglib: small topology building
+	  speed up
+
+2009-02-28 11:52  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix columnselect
+	  update
+	  (merge from devbr6, r36133)
+
+2009-02-28 11:22  mmetz
+
+	* lib/vector/Vlib/break_polygons.c: reduced memory consumption
+
+2009-02-27 16:20  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: minimalize welcome screen (see
+	  trac #509)
+
+2009-02-27 16:10  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: remove MINSIZE flag
+
+2009-02-27 15:44  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: load map layers
+	  dialog -> invert selection
+
+2009-02-27 13:27  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: load map layers /
+	  select toggle checkbox added
+	  (merge from devbr6, r36123)
+
+2009-02-27 13:00  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI: remove unused
+	  code from location wizard
+	  fix datum trans dialog
+	  (merge from devbr6, r36121)
+
+2009-02-27 03:53  hamish
+
+	* debian/README.debian: files moved in debianGIS repo
+
+2009-02-27 03:01  hamish
+
+	* raster/r.category/r.category.html: now sets too (merge from
+	  devbr6)
+
+2009-02-26 19:06  mmetz
+
+	* lib/vector/Vlib/net.c: dglib cache enabled again
+
+2009-02-26 16:09  mmetz
+
+	* lib/vector/dglib/heap.c: removing my comments in heap.c
+
+2009-02-26 15:57  mmetz
+
+	* lib/vector/dglib/heap.c, lib/vector/dglib/sp-template.c: ticket
+	  #224: BUG1 fixed in trunk
+
+2009-02-26 15:14  neteler
+
+	* locale/po/grasswxpy_it.po: Luca Deluchi: cont'd
+
+2009-02-26 01:11  hamish
+
+	* raster/r.in.xyz/main.c: add comment about option name
+
+2009-02-25 13:32  hamish
+
+	* general/g.gui/main.c: add debug info (trac #500; merge from
+	  devbr6)
+
+2009-02-25 12:40  hamish
+
+	* gui/scripts/g.change.gui.py, gui/wxpython/xml/menudata.xml: merge
+	  GUI changing tools from devbr6, r36030 / trac #500
+
+2009-02-25 11:05  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: only vector map from
+	  current mapset can be modified
+
+2009-02-25 10:36  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: backport first run message from
+	  TCL/TK GUI
+	  (merge from devbr6, r36087)
+
+2009-02-25 09:52  hamish
+
+	* tools/build_html_index.sh: reorder skip list; i.ask is gone
+
+2009-02-24 17:03  martinl
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasswxpy_cs.po: Czech translation updated by Jan
+	  Trochta <j.trochta gmail.com>
+	  (merge from relbr64, r36079)
+
+2009-02-24 05:16  hamish
+
+	* lib/init/functions.sh, lib/init/grass.bat, lib/init/grass7.html,
+	  lib/init/init.bat, lib/init/init.sh: sync with devbr6: -wx alias,
+	  smaller prompt, don't try and clean non-existent .tmp files
+
+2009-02-24 02:27  hamish
+
+	* raster/r.surf.idw/r.surf.idw.html: help page fixes (merge from
+	  devbr6)
+
+2009-02-22 20:58  neteler
+
+	* vector/v.vol.rst/README: Antonio Galea: changes documented
+
+2009-02-22 20:25  neteler
+
+	* locale/po/grassmods_el.po: Translation by Vasilis Antoniou
+	  (merged from devel_banch6)
+
+2009-02-22 17:42  neteler
+
+	* swig/python/grasspython.dox: mention the new modules
+
+2009-02-22 17:09  glynn
+
+	* swig/python/Makefile, swig/python/arraystats.i,
+	  swig/python/cluster.i, swig/python/dbmi.i, swig/python/g3d.i,
+	  swig/python/trans.i, swig/python/vedit.i: Add Python wrappers for
+	  more libraries
+
+2009-02-22 15:15  neteler
+
+	* locale/po/grasswxpy_de.po: Robert Nuske: cont'ed
+
+2009-02-22 12:59  neteler
+
+	* locale/po/grasswxpy_de.po: Entry screen translated; cruft removed
+
+2009-02-22 12:35  hamish
+
+	* tools/module_synopsis.sh: crude attempt at building menu
+	  hierarchy (merge from devbr6)
+
+2009-02-22 12:17  neteler
+
+	* lib/init/helptext.html: happy new year
+
+2009-02-22 11:14  hamish
+
+	* lib/gis/parser.c: comment cosmetics (merge from devbr)
+
+2009-02-22 10:40  hamish
+
+	* lib/gis/parser.c: happy new year (merge from devbr6)
+
+2009-02-21 17:19  neteler
+
+	* vector/v.vol.rst/user.h, vector/v.vol.rst/user3.c,
+	  vector/v.vol.rst/user4.c: Antonio Galea: reduced computational
+	  time to 30-40% by skipping unnecessary computations
+
+2009-02-21 16:41  neteler
+
+	* lib/gis/parser.c: added 'manual' to manual title
+
+2009-02-21 16:31  neteler
+
+	* tools/build_html_index.sh, tools/grassdocs.css: round corners for
+	  table boxes
+
+2009-02-21 14:29  neteler
+
+	* tools/build_html_index.sh: manual layout overhaul: less
+	  redundancy, more compact
+
+2009-02-21 09:04  neteler
+
+	* imagery/i.atcorr/main.cpp: debug msg cosmetics
+
+2009-02-21 09:02  mmetz
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/rect.c: vector lib rtree segfault bugfix
+
+2009-02-20 20:36  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: fix trac #501
+	  (merge from relbr64, r35998)
+
+2009-02-20 20:07  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: don't run empty
+	  commands
+
+2009-02-20 19:46  martinl
+
+	* lib/python/grass.py: use ';' as separator (to avoid problems on
+	  MS Windows)
+	  (merge from relbr64, r35992)
+
+2009-02-20 18:02  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/wxgui.py: More wxGUI MS Windows-related issues fixed
+	  (merge from relbr64, r35987)
+
+2009-02-20 15:01  epatton
+
+	* vector/v.generalize/v.generalize.html: Documentation cleanup
+	  (part 1): grammar, spelling, etc.
+
+2009-02-20 12:18  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix MS Windows-related
+	  bugs in Location Wizard (osgeo4w #37)
+	  (merge from relbr64, r35981)
+
+2009-02-20 11:16  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: remove 'Experimental Prototype'
+	  from title
+
+2009-02-20 09:18  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: existing file gisprompt
+	  (merge from devbr6)
+
+2009-02-20 07:47  hamish
+
+	* general/g.gui/main.c: allow setting the default UI without
+	  launching one
+
+2009-02-20 00:07  hamish
+
+	* raster/r.sun2/local_proto.h, raster/r.sun2/main.c,
+	  raster/r.sun2/rsunglobals.h, raster/r.sun2/rsunlib.c,
+	  raster/r.sun2/sunradstruct.h: run tools/grass_indent.sh
+
+2009-02-19 20:55  neteler
+
+	* locale/po/grasswxpy_de.po: Robert Nuske: merged in msg from GRASS
+	  6
+
+2009-02-19 18:35  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: MapFrame standalone check
+
+2009-02-19 17:54  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI: redirect messages from vdigit
+
+2009-02-19 17:27  martinl
+
+	* include/gisdefs.h, lib/gis/percent.c: libgis:
+	  G_set_percent_routine() and G_unset_percent_routine() added
+
+2009-02-19 17:24  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/nviz/change_view.cpp, gui/wxpython/nviz/init.cpp,
+	  gui/wxpython/nviz/nviz.h: wxGUI/nviz: cleaning
+
+2009-02-19 12:36  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: fix vector query
+
+2009-02-19 11:47  hamish
+
+	* lib/vector/Vlib/sindex.c: add back G_percent() which was removed
+	  circa r34754. The fn can minutes to complete. (merge from devbr6)
+
+2009-02-19 10:44  hamish
+
+	* scripts/v.in.wfs/v.in.wfs.py: caps.
+
+2009-02-19 10:31  neteler
+
+	* raster/r.sun2/main.c: merged pre-fork updates from old r.sun into
+	  r.sun2
+
+2009-02-19 10:21  martinl
+
+	* include/Vect.h, lib/vector/Vlib/cats.c, vector/v.out.ascii/b2a.c:
+	  vlib: Vect_field_cat_get() added
+	  v.out.ascii: fix trac #495
+	  (merge from trunk, r35918)
+
+2009-02-19 08:37  hamish
+
+	* tools/module_synopsis.sh: update for GRASS 7
+
+2009-02-19 08:32  hamish
+
+	* scripts/v.db.update/v.db.update.py: ah, that's where it went
+
+2009-02-19 08:24  hamish
+
+	* scripts/v.db.update/v.db.update.py: typo in option type
+
+2009-02-19 08:09  hamish
+
+	* lib/init/functions.sh: shell variable typo
+
+2009-02-19 00:16  hamish
+
+	* general/g.rename/main.c: add comment & more understandable
+	  warning message for r35919
+
+2009-02-18 18:16  glynn
+
+	* general/g.rename/main.c: Make old == new check case-insensitive
+
+2009-02-17 16:08  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: select features
+	  from bgmap by bbox/point, multiple selection allowed
+
+2009-02-17 14:50  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI/welcome screen: gray out locked
+	  mapsets
+
+2009-02-17 14:32  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: fix 'copy
+	  features' tool
+	  (merge from develbranch_6, r35906)
+
+2009-02-16 14:56  glynn
+
+	* scripts/r.rgb, scripts/r.rgb/Makefile, scripts/r.rgb/r.rgb.html,
+	  scripts/r.rgb/r.rgb.py: Add r.rgb
+
+2009-02-15 20:46  neteler
+
+	* swig/perl/index.dox: refer to existing files
+
+2009-02-15 19:41  martinl
+
+	* lib/ogsf/Gs3.c: ogsflib: call G_percent() after loop
+
+2009-02-15 18:59  martinl
+
+	* gui/wxpython, gui/wxpython/nviz/change_view.cpp,
+	  gui/wxpython/nviz/draw.cpp, gui/wxpython/nviz/init.cpp,
+	  gui/wxpython/nviz/lights.cpp, gui/wxpython/nviz/load.cpp,
+	  gui/wxpython/nviz/surface.cpp, gui/wxpython/nviz/vector.cpp,
+	  gui/wxpython/nviz/volume.cpp, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/message.cpp,
+	  gui/wxpython/vdigit/select.cpp, gui/wxpython/vdigit/undo.cpp,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI: vdigit and nviz headers
+	  updated
+	  svn:ignore property updated (doxygen docs)
+
+2009-02-14 19:17  neteler
+
+	* lib/grasslib.dox: url fix
+
+2009-02-14 18:15  neteler
+
+	* gui/wxpython/wxpythonlib.dox: doxygen fix
+
+2009-02-14 16:45  neteler
+
+	* lib/grasslib.dox: properly refer to out-of-lib/ docs
+
+2009-02-14 16:41  neteler
+
+	* swig/swiglib.dox: HTM fix
+
+2009-02-14 14:51  neteler
+
+	* Makefile: generate gui/wxpython/ docs
+
+2009-02-14 14:07  neteler
+
+	* gui/wxpython/Makefile, gui/wxpython/wxpythonlib.dox,
+	  lib/grasslib.dox: generate entry for wxpython GUI
+
+2009-02-14 13:33  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/pseudodc.i:
+	  wxGUI/vdigit: add centroid to close area
+	  fix select features by box
+
+2009-02-14 11:52  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: remove print
+	  statement
+
+2009-02-14 11:42  martinl
+
+	* gui/wxpython/vdigit/cats.cpp, gui/wxpython/vdigit/digit.cpp,
+	  gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/message.cpp,
+	  gui/wxpython/vdigit/select.cpp, gui/wxpython/vdigit/undo.cpp,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI/vdigit: cosmetics in
+	  headers
+
+2009-02-12 22:33  neteler
+
+	* imagery/i.atcorr/6s.cpp, imagery/i.atcorr/i.atcorr.html,
+	  imagery/i.atcorr/main.cpp: cosmetics
+
+2009-02-12 19:35  neteler
+
+	* locale/po/grasswxpy_de.po: kbabel rough translation based on
+	  grassmods_de.po
+
+2009-02-11 19:59  neteler
+
+	* locale/po/grassmods_de.po: Robert Nuske: almost completed
+
+2009-02-11 18:28  martinl
+
+	* lib/gis/key_value1.c: libgis: avoid segfault if Key_Value is NULL
+	  (related to trac #492)
+
+2009-02-11 18:10  martinl
+
+	* gui/wxpython/gui_modules/render.py: Quit wxGUI gracefully when
+	  g.region crashes (trac #493)
+
+2009-02-11 06:36  neteler
+
+	* imagery/i.atcorr/i.atcorr.html: HTML fix
+
+2009-02-11 06:35  neteler
+
+	* imagery/i.atcorr/GeomCond.cpp, imagery/i.atcorr/GeomCond.h,
+	  imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/Iwave.h,
+	  imagery/i.atcorr/i.atcorr.html: IRC 1C LISS satellite added
+
+2009-02-10 16:04  glynn
+
+	* raster/r.quantile/main.c: Fix bug with sparse data (one value per
+	  slot)
+	  Allow calculation of 100th percentile
+
+2009-02-10 15:06  neteler
+
+	* tools/build_html_index.sh, tools/mkhtml.sh,
+	  tools/module_synopsis.sh: happy new year
+
+2009-02-10 13:36  neteler
+
+	* imagery/i.atcorr/Iwave.cpp: code layout cosmetics
+
+2009-02-09 20:26  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: fix mapset access
+	  dialog
+
+2009-02-09 19:53  martinl
+
+	* general/g.mapsets/g.mapsets.py,
+	  gui/wxpython/gui_modules/utils.py: use '|' as delimiter for
+	  g.mapsets
+	  hide group column in g.mapsets dialog
+
+2009-02-09 19:49  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: use
+	  gcmd.RunCommand instead grass.*_command()
+
+2009-02-09 19:27  martinl
+
+	* gui/wxpython/gui_modules/workspace.py: wxGUI: fix workspace:
+	  replace invalid characters (<>)
+
+2009-02-09 14:48  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxGUI: attempt to fix
+	  nviz page switching on Mac
+
+2009-02-09 13:06  neteler
+
+	* scripts/v.colors/v.colors.html: example cosmetics
+
+2009-02-09 13:01  neteler
+
+	* scripts/v.colors/v.colors, scripts/v.colors/v.colors.html:
+	  predefined color confuses parameter logic, removed; vector line
+	  example added
+
+2009-02-09 12:56  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/vdigit/pseudodc.i: wxGUI: avoid using void * in
+	  pseudodc.i
+
+2009-02-09 10:53  glynn
+
+	* include/gisdefs.h, lib/gis/seek.c: Add G_fseek(), G_ftell()
+
+2009-02-09 01:20  hamish
+
+	* raster/r.surf.contour/contour.h, raster/r.surf.contour/main.c:
+	  remove unused code
+
+2009-02-08 16:42  glynn
+
+	* scripts/r.shaded.relief/r.shaded.relief.py: Remove extraneous
+	  comma from r.mapcalc expression
+
+2009-02-08 16:00  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/vdigit/pseudodc.i: wxGUI: add local
+	  PseudoDC.FindObjects()
+
+2009-02-08 15:40  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI/nviz: fix trac
+	  #482
+
+2009-02-08 15:18  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxGUI/nviz: unused code
+	  commeted out (trac #481)
+
+2009-02-08 14:43  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/pseudodc.i: wxGUI: use local pseudoDC class
+	  (if not available switch to wx.PseudoDC)
+
+2009-02-08 08:08  glynn
+
+	* raster/r.surf.contour/add_in.c, raster/r.surf.contour/addpts.c,
+	  raster/r.surf.contour/bseg_close.c,
+	  raster/r.surf.contour/bseg_get.c,
+	  raster/r.surf.contour/bseg_open.c,
+	  raster/r.surf.contour/bseg_put.c,
+	  raster/r.surf.contour/bseg_read.c,
+	  raster/r.surf.contour/bseg_write.c,
+	  raster/r.surf.contour/contour.h, raster/r.surf.contour/cseg.h,
+	  raster/r.surf.contour/cseg_close.c,
+	  raster/r.surf.contour/cseg_get.c,
+	  raster/r.surf.contour/cseg_open.c,
+	  raster/r.surf.contour/cseg_put.c,
+	  raster/r.surf.contour/cseg_read.c,
+	  raster/r.surf.contour/cseg_write.c,
+	  raster/r.surf.contour/find_con.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.contour/read_cell.c: Eliminate segmentation; read
+	  input into RAM
+
+2009-02-07 22:34  cmbarton
+
+	* gui/wxpython/gui_modules/preferences.py: Fix broken mapset access
+	  dialog
+
+2009-02-07 08:41  hamish
+
+	* raster/r.surf.contour/main.c: bigger segments mean less i/o;
+	  module was spending 25-33% of time in the kernel; result of
+	  patch: module runs about >25-33% faster (merge from devbr6)
+
+2009-02-06 21:04  neteler
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po: typos fixed
+
+2009-02-06 07:21  hamish
+
+	* raster/r.in.xyz/r.in.xyz.html: new file size record (merge from
+	  devbr6)
+
+2009-02-06 07:20  hamish
+
+	* vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.surf.bspline/main.c: typos (merge from devbr6)
+
+2009-02-05 23:37  hamish
+
+	* REQUIREMENTS.html: typo (merge from devbr6)
+
+2009-02-05 16:37  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: fix variable typo
+	  (merge from devbr6, r35776)
+
+2009-02-05 09:26  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix key_desc
+
+2009-02-05 08:56  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: fix layer querying
+
+2009-02-04 23:17  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix #476
+	  (merge from relbr64, r35764)
+
+2009-02-04 23:06  martinl
+
+	* gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/workspace.py: wxGUI: fix broken
+	  workspace
+	  (merge from devbr6, r35762)
+
+2009-02-04 02:07  hamish
+
+	* raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/patch.c,
+	  raster/r.le/r.le.patch/patch.h,
+	  raster/r.le/r.le.patch/r.le.patch.html,
+	  raster/r.le/r.le.pixel/r.le.pixel.html,
+	  raster/r.le/r.le.setup/r.le.setup.html,
+	  raster/r.le/r.le.trace/r.le.trace.html: GNAME_MAX (trac #416),
+	  itc->osgeo (merge from devbr6)
+
+2009-02-04 01:58  hamish
+
+	* raster/r.basins.fill/r.basins.fill.html,
+	  raster/r.in.ascii/r.in.ascii.html,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.setup/r.li.setup.html, raster/wildfire/README:
+	  itc -> osgeo in URLs (merge from devbr6)
+
+2009-02-04 01:55  hamish
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: whitespace
+
+2009-02-03 19:44  neteler
+
+	* raster/r.grow/r.grow.html: mention r.grow.distance
+
+2009-02-03 12:02  martinl
+
+	* gui/wxpython/gis_set.py: fix syntax typo
+
+2009-02-02 21:29  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py: wxGUI: remove unused
+	  methods of gcmd.Command
+
+2009-02-02 21:20  martinl
+
+	* gui/wxpython/gui_modules/utils.py: fix typo
+
+2009-02-02 21:12  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/wxgui.py: wxGUI:
+	  eliminate gcmd.Command() usage (step 2)
+
+2009-02-02 18:11  kyngchaos
+
+	* raster/r.proj/bilinear_f.c, raster/r.proj/cubic_f.c,
+	  raster/r.proj/main.c, raster/r.proj/r.proj.h,
+	  raster/r.proj/r.proj.html: add fallback methods for bilinear and
+	  cubic
+
+2009-02-02 17:59  cmbarton
+
+	* visualization/nviz/scripts/colorPopup.tcl,
+	  visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_sdiff.tcl,
+	  visualization/nviz/scripts/widgets.tcl: Updating NVIZ in GRASS 7
+	  with TclTk fixes made in the GRASS 6 line when TclTk was removed
+	  from GRASS 7 (about a month ago).
+
+2009-02-01 22:16  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: multiple layer
+	  selection fixes (cont'ed)
+	  (merge from relbr64, r35728)
+
+2009-02-01 22:14  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: multiple layer
+	  selection fixes
+	  (merge from devbr6, r35725)
+
+2009-02-01 20:39  martinl
+
+	* gui/wxpython/README: numpy is basic requirement for wxGUI
+
+2009-02-01 19:42  neteler
+
+	* lib/form/form.c, visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/cutplane_obj.c,
+	  visualization/nviz/src/do_zoom.c, visualization/nviz/src/draw.c,
+	  visualization/nviz/src/exag.c, visualization/nviz/src/lights.c,
+	  visualization/nviz/src/map_obj.c, visualization/nviz/src/misc.c,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/togl_flythrough.c,
+	  visualization/nviz/src/volume.c: Funda Wang <fundawang
+	  mandriva.org>: fixes for deprecated Tcl interp->result (trac
+	  #462)
+
+2009-02-01 17:53  martinl
+
+	* gui/wxpython/gui_modules/profile.py: attempt to fix trac #472
+	  (merge from relbr64, r35715)
+
+2009-02-01 17:39  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: fix vector georectifier
+	  and related issues
+	  (merge from relbr64, r35704)
+
+2009-02-01 17:17  neteler
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po,
+	  locale/po/grasswxpy_fr.po: Pascal Obstetar: continued
+
+2009-02-01 17:11  martinl
+
+	* gui/wxpython/wxgui.py: fix xgettext warning
+
+2009-02-01 17:03  neteler
+
+	* translators.csv: +Pascal Obstetar
+
+2009-02-01 17:01  neteler
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasswxpy_es.po: translation by Javier García and
+	  Carlos Dávila (merged from 6.4.svn)
+
+2009-02-01 03:01  glynn
+
+	* configure, configure.in, general/g.cairocomp/Makefile,
+	  include/Make/Platform.make.in: Add cairo-ft to configure checks
+	  Add, use configure check for
+	  cairo_xlib_surface_create_with_xrender_format()
+
+2009-02-01 01:12  glynn
+
+	* imagery/i.atcorr/Makefile: Don't try to build i.atcorr if $(CXX)
+	  is empty
+
+2009-01-30 19:49  neteler
+
+	* locale/po/grasswxpy_de.po: some msgs merged into
+
+2009-01-30 19:35  neteler
+
+	* locale/po/grassmods_de.po: Robert Nuske: continued
+
+2009-01-30 18:38  kyngchaos
+
+	* gui/wxpython/nviz/Makefile, gui/wxpython/vdigit/Makefile: don't
+	  link WXWIDGETSLIB on OSX - dynamic_lookup handles it
+
+2009-01-30 09:11  neteler
+
+	* raster/r.sun2/main.c: fix exit status
+
+2009-01-29 15:29  pkelly
+
+	* general/g.proj/Makefile, general/g.proj/datumtrans.c,
+	  general/g.proj/output.c, include/gprojects.h, lib/proj/convert.c,
+	  lib/proj/datum.c, lib/proj/ellipse.c, lib/proj/get_proj.c: Use
+	  pj_dalloc() to free string allocated by pj_get_def() [fixes bug
+	  468].
+	  Fix some memory leaks in proj-related stuff.
+
+2009-01-28 02:05  hamish
+
+	* scripts/r.in.wms/r.in.wms, scripts/r.in.wms/wms.download: msg
+	  cosmetics, check if r.support worked (merge from devbr6)
+
+2009-01-27 20:37  neteler
+
+	* raster/r.sun2/main.c: i18n; reduced vertical space in code
+
+2009-01-27 16:42  neteler
+
+	* lib/init/functions.sh: make error msg more outstanding
+
+2009-01-27 01:31  hamish
+
+	* vector/v.mkgrid/v.mkgrid.html: lat/lon example
+
+2009-01-26 10:37  mmetz
+
+	* raster/r.watershed/front/r.watershed.html,
+	  raster/r.watershed/ram/do_cum.c, raster/r.watershed/seg/do_cum.c:
+	  Updated documentation. MFD: edge artifacts removed.
+
+2009-01-26 01:00  hamish
+
+	* lib/display/cnversions.c, lib/display/setup.c: Doxygen
+
+2009-01-26 00:49  kyngchaos
+
+	* lib/nviz/Makefile: X stuff for OPENGL_X11 not USE_X11
+
+2009-01-25 21:27  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI: don't crash when
+	  missing vdigit
+
+2009-01-25 21:05  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gselect.py: wxGUI: move check for
+	  g.mlist to globalvar module
+
+2009-01-25 21:00  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Go to implemented
+
+2009-01-25 19:53  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: wxNviz: avoid focusing
+	  map display when notebook page is changed
+
+2009-01-25 18:14  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wording
+	  (merge from relbr64, r35618)
+
+2009-01-25 16:12  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: explain how to
+	  change icon set
+	  (merge from devbr6, r35614)
+
+2009-01-25 13:26  neteler
+
+	* display/d.nviz/d.nviz.html: example improved
+
+2009-01-25 12:59  neteler
+
+	* gui/wxpython/README: libgdi.so nightmare fixed
+
+2009-01-25 03:29  hamish
+
+	* raster/r.param.scale/close_down.c, raster/r.param.scale/main.c,
+	  raster/r.param.scale/param.c, raster/r.param.scale/param.h: more
+	  metadata (merge from devbr6)
+
+2009-01-25 00:12  hamish
+
+	* AUTHORS: +osgeo
+
+2009-01-24 23:56  hamish
+
+	* AUTHORS: update
+
+2009-01-24 22:56  hamish
+
+	* scripts/i.fusion.brovey/i.fusion.brovey.html: minor whitespace to
+	  center img in cell frame [LF before <BR> shows up as a space]
+	  (merge from devbr6)
+
+2009-01-24 22:33  hamish
+
+	* scripts/i.tasscap/i.tasscap.html: minor whitespace to center img
+	  in cell frame [LF before <BR> shows up as a space] (merge from
+	  devbr6)
+
+2009-01-24 22:22  hamish
+
+	* lib/gis/cats.c: debug code (merge from devbr6)
+
+2009-01-24 21:47  martinl
+
+	* gui/wxpython/gis_set.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: minor MS Windows wxGUI
+	  fixes
+	  (merge from relbr64, r35584)
+
+2009-01-24 20:43  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: more MS Windows-related
+	  fixes
+	  (merge from relbr64, r35579)
+
+2009-01-24 14:29  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: MS Windows-related
+	  fixes
+	  (merge from relbr64, r35574)
+
+2009-01-24 12:29  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix trac #460
+	  (merge from devbr6, r35571)
+
+2009-01-23 23:19  neteler
+
+	* lib/init/init.bat: forward-ported fixes from jef/qgis team to add
+	  wxpython support (untested),
+	  http://trac.osgeo.org/osgeo4w/ticket/37
+
+2009-01-23 21:45  glynn
+
+	* imagery/i.ortho.photo/lib/Makefile, include/Make/Shlib.make,
+	  lib/arraystats/Makefile, lib/cairodriver/Makefile,
+	  lib/cdhc/Makefile, lib/cluster/Makefile, lib/driver/Makefile,
+	  lib/gpde/Makefile, lib/htmldriver/Makefile, lib/imagery/Makefile,
+	  lib/nviz/Makefile, lib/ogsf/Makefile, lib/proj/Makefile,
+	  lib/psdriver/Makefile, lib/rst/interp_float/Makefile,
+	  lib/stats/Makefile, lib/symbol/Makefile,
+	  lib/vector/Vlib/Makefile, lib/vector/transform/Makefile,
+	  lib/vector/vedit/Makefile, raster/r.li/r.li.daemon/Makefile,
+	  raster/simwe/simlib/Makefile: [NB: do not backport]
+	  Link shared libraries against $(MATHLIB) automatically, rather
+	  than
+	  requiring it to be specified via EXTRA_LIBS
+	  Add $(FCLIB) as dependency for lib/cairodriver (will need
+	  configure.in changes)
+
+2009-01-23 19:05  martinl
+
+	* configure, configure.in: configure: remove check for
+	  wx/wxPython/pseudodc.h, local copy of
+	  pseudodc.h introduced in r35537
+
+2009-01-23 12:19  neteler
+
+	* imagery/i.ortho.photo/lib/Makefile, lib/arraystats/Makefile,
+	  lib/cairodriver/Makefile, lib/cdhc/Makefile,
+	  lib/cluster/Makefile, lib/driver/Makefile, lib/gpde/Makefile,
+	  lib/htmldriver/Makefile, lib/imagery/Makefile, lib/nviz/Makefile,
+	  lib/ogsf/Makefile, lib/proj/Makefile, lib/psdriver/Makefile,
+	  lib/rst/interp_float/Makefile, lib/stats/Makefile,
+	  lib/symbol/Makefile, lib/vector/Vlib/Makefile,
+	  lib/vector/transform/Makefile, lib/vector/vedit/Makefile,
+	  raster/r.li/r.li.daemon/Makefile, raster/simwe/simlib/Makefile:
+	  fixed missing references (trac #456)
+
+2009-01-22 22:35  hamish
+
+	* scripts/i.fusion.brovey/i.fusion.brovey.html,
+	  scripts/i.fusion.brovey/rgb_brovey.jpg,
+	  scripts/i.fusion.brovey/rgb_brovey.png,
+	  scripts/i.fusion.brovey/rgb_originals.jpg,
+	  scripts/i.fusion.brovey/rgb_originals.png: much smaller images
+	  for help page (merge from devbr6)
+
+2009-01-22 19:14  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix UnboundLocalError
+
+2009-01-21 22:29  glynn
+
+	* visualization/ximgview/main.c: Allow percent=0
+
+2009-01-21 21:04  glynn
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/Makefile,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/pseudodc.cpp, gui/wxpython/vdigit/pseudodc.h,
+	  gui/wxpython/vdigit/pseudodc.i: Use local version of wxPseudoDC
+	  (for real)
+
+2009-01-21 20:26  glynn
+
+	* gui/wxpython/vdigit/Makefile, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/pseudodc.cpp, gui/wxpython/vdigit/pseudodc.h:
+	  Revert r35446 (never going to work)
+
+2009-01-21 17:54  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix layer > 1
+
+2009-01-21 04:47  hamish
+
+	* scripts/i.tasscap/i.tasscap.html, scripts/i.tasscap/tasscap1.jpg,
+	  scripts/i.tasscap/tasscap1.png, scripts/i.tasscap/tasscap2.jpg,
+	  scripts/i.tasscap/tasscap2.png, scripts/i.tasscap/tasscap3.jpg,
+	  scripts/i.tasscap/tasscap3.png, scripts/i.tasscap/tasscap4.jpg,
+	  scripts/i.tasscap/tasscap4.png: shrink image filesize
+	  significantly (crop, greyscale, rescale, JPEG, put in table).
+	  merge from devbr6
+
+2009-01-20 21:25  neteler
+
+	* swig/python/examples/m.distance.py: python_grass7 -> swig.grass
+
+2009-01-20 21:21  neteler
+
+	* swig/python/examples/rasteraccess.py,
+	  swig/python/examples/vectoraccess.py: search maps, don't hardcode
+
+2009-01-20 21:18  neteler
+
+	* swig/python/examples/rasteraccess.py: updated but still fails
+
+2009-01-20 21:10  neteler
+
+	* swig/python/examples/vectoraccess.py: updated to current API
+
+2009-01-20 20:52  neteler
+
+	* include/gisdefs.h: don't swig G_vasprintf()
+
+2009-01-20 20:47  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: missing module added
+
+2009-01-20 20:43  neteler
+
+	* gui/wxpython/README: .grassrc6 -> .grassrc7
+
+2009-01-20 20:37  neteler
+
+	* gui/wxpython/gui_modules/mapdisp.py: typo
+
+2009-01-20 20:36  martinl
+
+	* vector/v.to.db/update.c: v.to.db: report missing qlayer
+	  connection only when querying
+	  (merge from devbr6, r35515)
+
+2009-01-20 20:14  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py: more p.mon-related
+	  fixes
+
+2009-01-20 20:03  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_command.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/icons/icon.py: fix wxGUI to work with p.mon
+
+2009-01-20 19:48  neteler
+
+	* gui/wxpython/README: better explain _gdi_.so stuff
+
+2009-01-20 19:36  neteler
+
+	* gui/wxpython/scripts/p.db, gui/wxpython/scripts/p.mon: fix path
+
+2009-01-20 19:19  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: trac #448
+
+2009-01-20 19:06  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix trac #450
+
+2009-01-20 18:47  martinl
+
+	* gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix trac #452 and #453
+
+2009-01-20 13:28  martinl
+
+	* db/db.droptable/main.c: db.droptable: fix option typo
+
+2009-01-20 10:50  mmetz
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/seg/init_vars.c: Input maps depression and
+	  blocking terrain: use non-NULL and non-zero cells, previously
+	  prepared maps should work as before. Updated documentation.
+
+2009-01-19 22:40  martinl
+
+	* vector/v.net/arcs.c: v.net/arcs.c: make field2n() to be static
+
+2009-01-19 22:31  martinl
+
+	* vector/v.net/arcs.c, vector/v.net/args.c, vector/v.net/connect.c,
+	  vector/v.net/main.c, vector/v.net/nodes.c, vector/v.net/proto.h,
+	  vector/v.net/report.c, vector/v.net/v.net.html: v.net: general
+	  update
+	  new operation 'arcs'
+
+2009-01-19 21:02  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: remove wx.Yield()
+	  (merge from devbr6, r35487)
+
+2009-01-18 20:42  hamish
+
+	* lib/gis/mapset_msc.c: make it easy to disable mapset owner check
+	  with -DSKIP_MAPSET_OWN_CHK
+
+2009-01-18 10:26  martinl
+
+	* db/db.columns/columns.c, db/db.columns/main.c,
+	  db/db.connect/connect.c, db/db.connect/main.c, db/db.copy/copy.c,
+	  db/db.copy/main.c, db/db.createdb/createdb.c,
+	  db/db.createdb/main.c, db/db.databases/databases.c,
+	  db/db.databases/main.c, db/db.describe/describe.c,
+	  db/db.describe/main.c, db/db.drivers/drivers.c,
+	  db/db.drivers/main.c, db/db.dropdb/dropdb.c, db/db.dropdb/main.c,
+	  db/db.droptable/droptable.c, db/db.droptable/main.c,
+	  db/db.execute/execute.c, db/db.execute/main.c,
+	  db/db.select/main.c, db/db.select/select.c, db/db.tables/main.c,
+	  db/db.tables/tables.c: db modules: rename source files to
+	  'main.c'
+
+2009-01-18 07:11  glynn
+
+	* swig/python/my_typemaps.i: Remove debug code
+
+2009-01-18 06:21  neteler
+
+	* db/db.execute/execute.c: remove test if SELECT statement is used
+
+2009-01-17 21:58  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: remove print statement
+
+2009-01-17 21:54  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: avoid getting list
+	  of columns more then once
+
+2009-01-17 20:56  martinl
+
+	* lib/python/grass.py: fix grass.py layer name
+
+2009-01-17 20:13  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: fix vector map querying
+
+2009-01-17 19:15  martinl
+
+	* lib/gis/env.c: fix doxygen documentation
+
+2009-01-17 19:01  martinl
+
+	* lib/gis/env.c: bugfix: G__create_alt_env
+
+2009-01-17 18:39  neteler
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html: HTML fixes
+
+2009-01-17 17:00  martinl
+
+	* vector/v.in.ascii/main.c: v.in.ascii: input parameter required,
+	  guisection cosmetics
+
+2009-01-17 15:06  neteler
+
+	* vector/v.voronoi/Makefile, vector/v.voronoi/README,
+	  vector/v.voronoi/delaunay_DEPRECATED, vector/v.voronoi/dt_main.c,
+	  vector/v.voronoi/main.c, vector/v.voronoi/v.delaunay.html,
+	  vector/v.voronoi/vo_main.c: removed outdated delaunay part
+
+2009-01-17 14:55  neteler
+
+	* contributors.csv: +Markus Metz
+
+2009-01-17 13:03  neteler
+
+	* swig/python/examples/m.distance,
+	  swig/python/examples/m.distance.py, swig/python/grasspython.dox:
+	  examples listed but they seem to require updates
+
+2009-01-17 12:48  neteler
+
+	* swig/python/grasspython.dox: usage added
+
+2009-01-17 12:46  neteler
+
+	* swig/python/grasspython.dox: slightly expanded. Doxygen style
+	  documentation still lacking
+
+2009-01-17 01:36  hamish
+
+	* gui/wxpython/gui_modules/georect.py: trac #163 (merge from
+	  devbr6)
+
+2009-01-16 22:27  martinl
+
+	* general/g.mapsets/main.c, include/gisdefs.h,
+	  lib/gis/mapset_nme.c: attempt to fix trac #379
+
+2009-01-16 22:13  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fix trac #442
+
+2009-01-16 21:56  martinl
+
+	* gui/wxpython/vdigit/Makefile, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/pseudodc.cpp, gui/wxpython/vdigit/pseudodc.h:
+	  wxvdigit: local copies of pseudodc.cpp|h added
+
+2009-01-16 21:36  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: fix variable name
+
+2009-01-16 20:02  martinl
+
+	* gui/wxpython/gui_modules/mapdisp_window.py: wxGUI: fix trac #439
+
+2009-01-16 19:57  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/workspace.py: wxGUI: grc2gwx: gridline
+	  support added
+	  (merge from relbr64, r35438)
+
+2009-01-16 10:36  glynn
+
+	* include/Make/Html.make: Allow for Windows/MSys when setting
+	  PYTHONPATH
+
+2009-01-16 10:35  glynn
+
+	* raster/r.mapcalc/Makefile: Retain intermediate files
+
+2009-01-16 10:26  martinl
+
+	* gui/wxpython/docs/wxGUI.html: Fix typo
+
+2009-01-16 10:19  martinl
+
+	* gui/wxpython/gui_modules/nviz.py: Fail gracefully when wxnviz is
+	  not available
+	  (merge from relbr64, r35430)
+
+2009-01-16 09:54  glynn
+
+	* swig/python/Makefile, swig/python/test.py: Retain local copies of
+	  modules
+	  Fix test script
+
+2009-01-16 05:23  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py: Fixed bug that
+	  prevented saving in formats other than png. Also added other
+	  graphic handlers to allow saving in additional formats.
+
+2009-01-15 18:33  neteler
+
+	* lib/gis/colors.desc: typo fixed
+
+2009-01-15 18:32  neteler
+
+	* scripts/i.tasscap/i.tasscap.html, scripts/i.tasscap/tasscap1.png,
+	  scripts/i.tasscap/tasscap2.png, scripts/i.tasscap/tasscap3.png,
+	  scripts/i.tasscap/tasscap4.png: example added
+
+2009-01-15 18:25  neteler
+
+	* scripts/i.fusion.brovey/i.fusion.brovey.html,
+	  scripts/i.fusion.brovey/rgb_brovey.png,
+	  scripts/i.fusion.brovey/rgb_originals.png: example added
+
+2009-01-15 17:53  martinl
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasswxpy_cs.po, translators.csv: Czech translation
+	  updated by Miroslav Horejsi and Pavel Valenta
+
+2009-01-15 09:15  mmetz
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/ram/slope_len.c,
+	  raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/slope_len.c: MFD stable, several
+	  enhancements
+
+2009-01-14 20:38  hamish
+
+	* include/VERSION: Happy New Year
+
+2009-01-14 20:24  hamish
+
+	* vector/v.buffer2/v.buffer.html: if buffers from two features
+	  overlap it is ambiguous as to which one the new flattened area
+	  should take
+
+2009-01-14 17:55  martinl
+
+	* vector/v.buffer2/main.c: v.buffer2: cosmetics in guisections
+	  (merge from devbr6, r35405)
+
+2009-01-14 02:11  hamish
+
+	* SUBMITTING: typos, grammar (merge from devbr6)
+
+2009-01-14 01:55  hamish
+
+	* debian/README.debian: no gr7 deb packaging yet, but at least link
+	  to the most modern prior control files
+
+2009-01-14 01:49  hamish
+
+	* rpm/opensuse/grass.spec: 6.3 -> 7.0.svn
+
+2009-01-14 01:47  hamish
+
+	* rpm/opensuse: copy from develbranch_6
+
+2009-01-14 01:44  hamish
+
+	* rpm/mandrake, rpm/suse: remove outdated spec files
+
+2009-01-13 04:23  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py: Fix various bugs resulting
+	  from the change to gcmd.RunCommand
+
+2009-01-13 04:08  cmbarton
+
+	* gui/wxpython/gui_modules/gselect.py: Fix bug that throws bogus
+	  error message to console if you try to change the name of a
+	  previously selected GIS element using the tree combobox.
+
+2009-01-13 03:18  kyngchaos
+
+	* lib/nviz/render.c: macosx: finish pixmap field removal
+
+2009-01-12 23:12  neteler
+
+	* doc/howto_release.txt: fine tuning
+
+2009-01-12 23:10  neteler
+
+	* vector/lidar/v.surf.bspline/main.c: restored 'type' declaration
+
+2009-01-12 22:53  martinl
+
+	* gui/icons/grass2/options.png, gui/wxpython/icons/grass2_icons.py:
+	  missing icon (grass2) added
+
+2009-01-12 22:38  neteler
+
+	* vector/lidar/v.surf.bspline/main.c: Roberto Antolín: generate
+	  better messages (usage error tracking)
+
+2009-01-12 16:37  martinl
+
+	* raster/r.drain/main.c: r.drain: standard header, be more verbose
+	  (merge from relbr64, r35370)
+
+2009-01-12 15:54  martinl
+
+	* raster/r.cost/btree.c, raster/r.cost/main.c: r.cost: message
+	  cosmetics
+	  (merge from relbr64, r35367)
+
+2009-01-12 15:03  martinl
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/main.c, vector/v.to.rast/raster.c,
+	  vector/v.to.rast/vect2rast.c: v.to.rast: be more verbose
+	  (percentage information)
+	  (merge from relbr64, r35364)
+
+2009-01-12 13:08  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI dialog fix (table ->
+	  columns)
+
+2009-01-12 11:52  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: remove unused
+	  DbColumnSelect class
+
+2009-01-12 11:48  martinl
+
+	* lib/Makefile, lib/external/Makefile, lib/external/bwidget,
+	  lib/external/bwidget/CHANGES.txt, lib/external/bwidget/LGPL.txt,
+	  lib/external/bwidget/LICENSE.txt, lib/external/bwidget/Makefile,
+	  lib/external/bwidget/README, lib/external/bwidget/README.grass,
+	  lib/external/bwidget/arrow.tcl, lib/external/bwidget/bitmap.tcl,
+	  lib/external/bwidget/button.tcl,
+	  lib/external/bwidget/buttonbox.tcl,
+	  lib/external/bwidget/color.tcl,
+	  lib/external/bwidget/combobox.tcl,
+	  lib/external/bwidget/dialog.tcl,
+	  lib/external/bwidget/dragsite.tcl,
+	  lib/external/bwidget/dropsite.tcl,
+	  lib/external/bwidget/dynhelp.tcl, lib/external/bwidget/entry.tcl,
+	  lib/external/bwidget/font.tcl, lib/external/bwidget/images,
+	  lib/external/bwidget/images/bold.gif,
+	  lib/external/bwidget/images/copy.gif,
+	  lib/external/bwidget/images/cut.gif,
+	  lib/external/bwidget/images/dragfile.gif,
+	  lib/external/bwidget/images/dragicon.gif,
+	  lib/external/bwidget/images/error.gif,
+	  lib/external/bwidget/images/file.gif,
+	  lib/external/bwidget/images/folder.gif,
+	  lib/external/bwidget/images/hourglass.gif,
+	  lib/external/bwidget/images/info.gif,
+	  lib/external/bwidget/images/italic.gif,
+	  lib/external/bwidget/images/minus.xbm,
+	  lib/external/bwidget/images/new.gif,
+	  lib/external/bwidget/images/opcopy.xbm,
+	  lib/external/bwidget/images/open.gif,
+	  lib/external/bwidget/images/openfold.gif,
+	  lib/external/bwidget/images/oplink.xbm,
+	  lib/external/bwidget/images/opmove.xbm,
+	  lib/external/bwidget/images/overstrike.gif,
+	  lib/external/bwidget/images/palette.gif,
+	  lib/external/bwidget/images/passwd.gif,
+	  lib/external/bwidget/images/paste.gif,
+	  lib/external/bwidget/images/plus.xbm,
+	  lib/external/bwidget/images/print.gif,
+	  lib/external/bwidget/images/question.gif,
+	  lib/external/bwidget/images/save.gif,
+	  lib/external/bwidget/images/underline.gif,
+	  lib/external/bwidget/images/undo.gif,
+	  lib/external/bwidget/images/warning.gif,
+	  lib/external/bwidget/init.tcl, lib/external/bwidget/label.tcl,
+	  lib/external/bwidget/labelentry.tcl,
+	  lib/external/bwidget/labelframe.tcl, lib/external/bwidget/lang,
+	  lib/external/bwidget/lang/de.rc, lib/external/bwidget/lang/en.rc,
+	  lib/external/bwidget/lang/es.rc, lib/external/bwidget/lang/fr.rc,
+	  lib/external/bwidget/listbox.tcl,
+	  lib/external/bwidget/mainframe.tcl,
+	  lib/external/bwidget/messagedlg.tcl,
+	  lib/external/bwidget/notebook.tcl,
+	  lib/external/bwidget/pagesmgr.tcl,
+	  lib/external/bwidget/panedw.tcl,
+	  lib/external/bwidget/passwddlg.tcl,
+	  lib/external/bwidget/pkgIndex.tcl,
+	  lib/external/bwidget/progressbar.tcl,
+	  lib/external/bwidget/progressdlg.tcl,
+	  lib/external/bwidget/scrollframe.tcl,
+	  lib/external/bwidget/scrollview.tcl,
+	  lib/external/bwidget/scrollw.tcl,
+	  lib/external/bwidget/separator.tcl,
+	  lib/external/bwidget/spinbox.tcl,
+	  lib/external/bwidget/titleframe.tcl,
+	  lib/external/bwidget/tree.tcl, lib/external/bwidget/utils.tcl,
+	  lib/external/bwidget/widget.tcl,
+	  lib/external/bwidget/xpm2image.tcl, lib/gtcltk,
+	  lib/gtcltk/Makefile, lib/gtcltk/gmsg.tcl, lib/gtcltk/grocat.c,
+	  lib/gtcltk/gronsole.tcl, lib/gtcltk/options.tcl,
+	  lib/gtcltk/select.tcl: gtcltk and bwidget removal reverted - to
+	  make nviz working again
+
+2009-01-12 11:25  martinl
+
+	* imagery/i.gensig/i.gensig.html,
+	  imagery/i.gensigset/i.gensigset.html,
+	  imagery/i.vpoints/i.vpoints.html, misc/m.cogo/m.cogo.html,
+	  raster/r.basins.fill/r.basins.fill.html,
+	  raster/r.digit/r.digit.html, raster/r.in.poly/r.in.poly.html,
+	  raster/r.le/r.le.setup/r.le.setup.html,
+	  raster/r.surf.contour/r.surf.contour.html,
+	  raster/r.thin/r.thin.html,
+	  scripts/v.db.addtable/v.db.addtable.html,
+	  vector/v.category/v.category.html, vector/v.edit/v.edit.html,
+	  vector/v.net.alloc/v.net.alloc.html, vector/v.net/v.net.html,
+	  vector/vectorintro.html: remove reference to v.digit from manual
+	  pages
+
+2009-01-12 10:56  martinl
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html,
+	  gui/wxpython/docs/wxGUI_vector_digitizer_toolbar.jpg: wxGUI:
+	  update vector digizer manual page (new icons)
+
+2009-01-12 07:47  neteler
+
+	* lib/ogsf/gsd_img_mpeg.c: conditionalize
+
+2009-01-12 00:08  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: Icons theme 'grass2' is
+	  now default
+
+2009-01-11 23:56  martinl
+
+	* gui/wxpython/docs/wxGUI.html: remove link to tcl/tk gui, wxpython
+	  switch to gui
+
+2009-01-11 23:42  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI manual page updated (new
+	  icons)
+
+2009-01-11 22:55  martinl
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html,
+	  gui/wxpython/docs/wxGUI.html: remove TCL/TK GUI links
+
+2009-01-11 22:45  martinl
+
+	* gui/icons/grass2/font.png,
+	  gui/icons/grass2/layer-cell-cats-add.png,
+	  gui/icons/grass2/layer-raster3d-add.png,
+	  gui/icons/grass2/layer-vector-chart-add.png,
+	  gui/icons/grass2/layer-vector-thematic-add.png,
+	  gui/wxpython/icons/grass2_icons.py: new GRASS icons added, icon
+	  set is now completed
+
+2009-01-11 22:32  martinl
+
+	* gui/icons/grass2/LICENCE.TXT, gui/icons/grass2/LICENSE.TXT:
+	  licence -> license
+
+2009-01-11 22:27  martinl
+
+	* gui/icons/grass2/LICENCE.TXT,
+	  gui/icons/grass2/attributes-display.png,
+	  gui/icons/grass2/cats-copy.png,
+	  gui/icons/grass2/cats-display.png,
+	  gui/icons/grass2/centroid-create.png,
+	  gui/icons/grass2/create.png, gui/icons/grass2/element-add.png,
+	  gui/icons/grass2/erase.png, gui/icons/grass2/gcp-add.png,
+	  gui/icons/grass2/gcp-create.png, gui/icons/grass2/gcp-delete.png,
+	  gui/icons/grass2/gcp-remove.png, gui/icons/grass2/gcp-rms.png,
+	  gui/icons/grass2/gcp-save.png, gui/icons/grass2/georectify.png,
+	  gui/icons/grass2/info.png,
+	  gui/icons/grass2/layer-aspect-arrow-add.png,
+	  gui/icons/grass2/layer-command-add.png,
+	  gui/icons/grass2/layer-grid-add.png,
+	  gui/icons/grass2/layer-group-add.png,
+	  gui/icons/grass2/layer-his-add.png,
+	  gui/icons/grass2/layer-label-add.png,
+	  gui/icons/grass2/layer-open.png,
+	  gui/icons/grass2/layer-raster-add.png,
+	  gui/icons/grass2/layer-raster-analyze.png,
+	  gui/icons/grass2/layer-raster-histogram.png,
+	  gui/icons/grass2/layer-raster-profile.png,
+	  gui/icons/grass2/layer-redraw.png,
+	  gui/icons/grass2/layer-remove.png,
+	  gui/icons/grass2/layer-rgb-add.png,
+	  gui/icons/grass2/layer-shaded-relief-add.png,
+	  gui/icons/grass2/layer-vector-add.png,
+	  gui/icons/grass2/legend-add.png,
+	  gui/icons/grass2/line-create.png,
+	  gui/icons/grass2/line-delete.png, gui/icons/grass2/line-edit.png,
+	  gui/icons/grass2/line-move.png, gui/icons/grass2/line-split.png,
+	  gui/icons/grass2/map-export.png,
+	  gui/icons/grass2/measure-length.png,
+	  gui/icons/grass2/monitor-create.png, gui/icons/grass2/open.png,
+	  gui/icons/grass2/pan.png, gui/icons/grass2/point-create.png,
+	  gui/icons/grass2/pointer.png,
+	  gui/icons/grass2/polygon-create.png, gui/icons/grass2/print.png,
+	  gui/icons/grass2/quit.png, gui/icons/grass2/redraw.png,
+	  gui/icons/grass2/reload.png, gui/icons/grass2/save.png,
+	  gui/icons/grass2/scalebar-add.png, gui/icons/grass2/settings.png,
+	  gui/icons/grass2/show.png, gui/icons/grass2/table.png,
+	  gui/icons/grass2/text-add.png, gui/icons/grass2/tools.png,
+	  gui/icons/grass2/undo.png, gui/icons/grass2/vertex-create.png,
+	  gui/icons/grass2/vertex-delete.png,
+	  gui/icons/grass2/vertex-move.png, gui/icons/grass2/zoom-in.png,
+	  gui/icons/grass2/zoom-last.png, gui/icons/grass2/zoom-more.png,
+	  gui/icons/grass2/zoom-out.png: grass2 icons: add licence file
+	  fix svn properties
+
+2009-01-11 21:19  martinl
+
+	* gui/icons/grass2/gcp-add.png, gui/icons/grass2/gcp-create.png,
+	  gui/icons/grass2/gcp-delete.png, gui/icons/grass2/gcp-remove.png,
+	  gui/icons/grass2/gcp-rms.png, gui/icons/grass2/gcp-save.png,
+	  gui/icons/grass2/georectify.png, gui/icons/grass2/redraw.png,
+	  gui/icons/grass2/reload.png, gui/wxpython/icons/grass2_icons.py:
+	  grass2 georectify icons
+
+2009-01-11 21:09  martinl
+
+	* vector/v.in.db/main.c: v.in.db: message cosmetics
+
+2009-01-10 21:36  neteler
+
+	* scripts/v.colors/v.colors: g.message bugfixed (= in string)
+
+2009-01-10 21:31  neteler
+
+	* general/g.message/g.message.html: typo fixed
+
+2009-01-10 21:23  neteler
+
+	* raster/r.out.gdal/export_band.c: make warnings suppressable with
+	  'GRASS_VERBOSE=0' (for R interface)
+
+2009-01-10 17:58  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Fix broken copy function
+
+2009-01-10 15:00  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI/nviz: error
+	  pressing "All" button (trac #300)
+
+2009-01-10 09:09  neteler
+
+	* doc/vector/TODO: some suggestions moved into trac as ticket
+
+2009-01-10 06:12  neteler
+
+	* locale/po/grassmods_de.po: Translation by Robert Nuske and
+	  updated
+
+2009-01-09 23:39  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_el.po, locale/po/grasswxpy_es.po,
+	  locale/po/grasswxpy_fr.po, locale/po/grasswxpy_pl.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_tr.po: 6.4 msgs
+	  merged in; merge from renewed pot files
+
+2009-01-09 23:37  neteler
+
+	* raster/r.horizon/r.horizon.html: r.sun2 -> r.sun
+
+2009-01-09 23:21  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: various
+	  vdigit-related fixes
+
+2009-01-09 15:00  neteler
+
+	* raster/r.usler/main.c: yann: fix
+
+2009-01-08 21:35  glynn
+
+	* Makefile, include/Make/Compile.make, include/Make/Python.make,
+	  swig/python, swig/python/Makefile, swig/python/__init__.py,
+	  swig/python/common.i, swig/python/date.i, swig/python/display.i,
+	  swig/python/grass.i, swig/python/imagery.i, swig/python/math.i,
+	  swig/python/my_typemaps.i, swig/python/proj.i,
+	  swig/python/raster.i, swig/python/renames.i, swig/python/stats.i,
+	  swig/python/utils.i, swig/python/vector.i: Move Python rules into
+	  Python.make
+	  Add per-file compile/link flags
+	  SWIG/Python clean-up, reorganisation
+
+2009-01-08 14:22  martinl
+
+	* gui/wxpython/README: Python ElementTree needed only for py <= 2.4
+
+2009-01-08 09:09  marisn
+
+	* vector/v.surf.rst/main.c: Chceck vector output file name validity
+	  before any processing (merge r35283)
+
+2009-01-08 02:11  glynn
+
+	* lib/cairodriver/Makefile: Add $(FTINC)
+
+2009-01-08 02:10  glynn
+
+	* scripts/d.rast.edit/d.rast.edit.py: Try to fail more gracefully
+	  if wx isn't present (--help etc should still work)
+
+2009-01-08 01:58  glynn
+
+	* lib/gis/parser.c: Don't bother checking GRASS_GUI; there's only
+	  one choice
+
+2009-01-07 21:16  neteler
+
+	* lib/init/grass7.html: HTML targ restored
+
+2009-01-07 20:32  glynn
+
+	* lib/cairodriver/Makefile, lib/cairodriver/cairodriver.h: Require
+	  cairo version 1.6.0 for cairo_xlib_surface_get_xrender_format()
+	  Add X-related compilation and linking switches
+
+2009-01-07 20:31  glynn
+
+	* configure, configure.in: Test for cairo-xlib-xrender when X11 is
+	  enabled
+
+2009-01-07 20:01  glynn
+
+	* lib/display/draw2.c: Fix bug in D_poly*_rel() (first point is
+	  relative, not absolute)
+
+2009-01-07 19:29  glynn
+
+	* swig/python/Makefile, swig/python/__init__.py,
+	  swig/python/common.i, swig/python/display.i, swig/python/grass.i,
+	  swig/python/imagery.i, swig/python/math.i, swig/python/proj.i,
+	  swig/python/python_grass7.i, swig/python/raster.i,
+	  swig/python/stats.i, swig/python/vector.i: Create a separate
+	  module for each library
+	  Add more libraries
+
+2009-01-07 19:27  glynn
+
+	* imagery/i.gensigset/invert.c, imagery/i.gensigset/subcluster.c,
+	  imagery/i.smap/bouman.h, imagery/i.smap/eigen.c,
+	  imagery/i.smap/invert.c, imagery/i.smap/model.c,
+	  include/gisdefs.h, include/gmath.h, lib/gmath/eigen.c,
+	  lib/gmath/lu.c, lib/gmath/svd.c, lib/rst/interp_float/matrix.c,
+	  lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/segmen2d.c, raster/r.param.scale/process.c,
+	  raster/r.resamp.rst/main.c, vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/v.surf.rst/main.c: Various files have moved from lib/gis
+	  to lib/gmath:
+	  Update gisdefs.h and gmath.h accordingly
+	  Update clients accordingly
+	  Generalise eigen(), remove local version from i.smap
+
+2009-01-07 19:23  glynn
+
+	* include/display.h: Remove prototypes for non-existent functions
+
+2009-01-07 19:21  glynn
+
+	* lib/ogsf/gsd_img_mpeg.c: Fix bug (pass pointer, not its address)
+
+2009-01-07 15:11  martinl
+
+	* gui/wxpython/README: Python ElementTree required
+
+2009-01-07 14:39  martinl
+
+	* gui/wxpython/xml/menudata.xml: fix some typos from r35249 use
+	  original module description as help text
+
+2009-01-07 12:08  glynn
+
+	* lib/cairodriver/Graph.c: Make non-X11 build work
+
+2009-01-07 11:51  glynn
+
+	* lib/cairodriver/Draw_bitmap.c: Change version check for
+	  cairo_format_stride_for_width(); now >= 1.5.8
+
+2009-01-07 09:04  neteler
+
+	* raster/r.quantile/r.quantile.html: example added
+
+2009-01-07 07:17  cmbarton
+
+	* gui/wxpython/xml/menudata.xml: update menu with new modules
+
+2009-01-07 06:41  cmbarton
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py: update grass and grass2 icons
+	  for profile and histogram
+
+2009-01-07 03:33  glynn
+
+	* lib/display/draw2.c: D_box_* shouldn't move the current point
+
+2009-01-07 02:46  glynn
+
+	* display/d.graph/do_graph.c: Don't perform u_to_d conversion for
+	  D_symbol() coordinates
+
+2009-01-06 21:35  glynn
+
+	* include/nviz.h, lib/nviz/render.c: MacOSX changes: remove unused
+	  pixmap field, add aglSetPBuffer() call
+
+2009-01-06 21:33  glynn
+
+	* general/g.mapsets/Makefile: Force creation of etc/gui
+
+2009-01-06 21:32  glynn
+
+	* lib/cairodriver/Draw_bitmap.c: Workaround for lack of
+	  cairo_format_stride_for_width() prior to cairo 1.6
+
+2009-01-06 14:53  neteler
+
+	* lib/gis/parser.c, lib/init/README, lib/init/functions.sh,
+	  lib/init/grass-xterm-mac, lib/init/grass7.html,
+	  lib/init/init.bat, lib/init/init.sh, lib/init/variables.html:
+	  TclTk removed
+
+2009-01-06 06:56  neteler
+
+	* rpm/mandriva/README.txt: SPEC file URL
+
+2009-01-05 22:11  neteler
+
+	* display/d.font/d.font.html, general/g.copy/g.copy.html,
+	  imagery/i.zc/i.zc.html, raster/r.circle/r.circle.html,
+	  raster/r.out.gdal/r.out.gdal.html, scripts/r.blend/r.blend.html,
+	  scripts/r.out.xyz/r.out.xyz.html: urls fixed
+
+2009-01-05 21:52  neteler
+
+	* display/d.his/d.his.html, imagery/i.his.rgb/i.his.rgb.html: url
+	  fix
+
+2009-01-05 21:48  neteler
+
+	* imagery/i.his.rgb/i.his.rgb.html: url fix
+
+2009-01-05 21:46  neteler
+
+	* vector/v.to.db/v.to.db.html: url fix
+
+2009-01-05 08:30  neteler
+
+	* gui/wxpython/nviz/Makefile, gui/wxpython/vdigit/Makefile: fix gcc
+	  4.3.2 issue (undefined reference to
+	  'std::ios_base::Init::Init[in-charge]()')
+
+2009-01-05 08:00  neteler
+
+	* raster/r.sun2/r.sun.html: formula to calculate memory consumption
+
+2009-01-04 19:34  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI: replace split('\n')
+	  with splitlines()
+
+2009-01-04 19:10  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: fix InsertTables
+
+2009-01-04 18:44  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: ignore last \n
+	  (merge from devbr6, r35210)
+
+2009-01-04 17:50  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: fix dbm (RunCommand)
+
+2009-01-04 17:36  martinl
+
+	* REQUIREMENTS.html, gui/wxpython/README: Python 3 is not supported
+
+2009-01-04 17:01  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py: wxGUI: fix nviz
+	  (mapdisp_window)
+
+2009-01-04 15:47  neteler
+
+	* Makefile, gui/icons/grass/README, lib/README, lib/grasslib.dox,
+	  macosx/Makefile: BWidget removed
+
+2009-01-04 15:47  martinl
+
+	* lib/Makefile, lib/form, lib/form/Makefile, lib/form/form.c,
+	  lib/form/form.tcl, lib/form/generate.c,
+	  lib/form/html_library.tcl, lib/form/html_library_grass.tcl,
+	  lib/form/license.terms, lib/form/open.c, lib/form/todo: revert
+	  r35194: nviz requires lib/form
+
+2009-01-04 15:45  neteler
+
+	* lib/gis/gislib.dox: updated
+
+2009-01-04 15:25  neteler
+
+	* lib/gis/gislib.dox, lib/grasslib.dox: gtcltk removed
+
+2009-01-04 15:05  martinl
+
+	* lib/gis/Makefile, lib/gis/gui.tcl: gui.tcl removed
+
+2009-01-04 14:41  martinl
+
+	* lib/init/Makefile, lib/init/epsg_option.tcl,
+	  lib/init/file_option.tcl, lib/init/gis_set.tcl: lib/init: tcl
+	  files removed
+
+2009-01-04 14:40  martinl
+
+	* lib/Makefile, lib/form: lib/form removed (TCL/TK GUI retired)
+
+2009-01-04 14:37  martinl
+
+	* lib/external/Makefile, lib/external/bwidget: bwidget removed
+	  (TCL/TK GUI retired)
+
+2009-01-04 14:35  martinl
+
+	* lib/Makefile, lib/gtcltk: gtcltk removed
+
+2009-01-04 14:30  martinl
+
+	* vector/Makefile, vector/v.digit: v.digit removed (replaced by
+	  wxGUI vector digitizer (gui/wxpython/vdigit)
+
+2009-01-04 14:26  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp_command.py,
+	  gui/wxpython/gui_modules/mapdisp_window.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI: mapdisp module
+	  splitted into more modules
+
+2009-01-04 13:50  martinl
+
+	* gui/wxpython/icons/grass2_icons.py: wxGUI: reuse settings icon
+
+2009-01-04 13:47  martinl
+
+	* gui/icons/grass2/attributes-display.png,
+	  gui/icons/grass2/cats-copy.png,
+	  gui/icons/grass2/cats-display.png,
+	  gui/icons/grass2/centroid-create.png,
+	  gui/icons/grass2/line-create.png,
+	  gui/icons/grass2/line-delete.png, gui/icons/grass2/line-edit.png,
+	  gui/icons/grass2/line-move.png, gui/icons/grass2/line-split.png,
+	  gui/icons/grass2/point-create.png,
+	  gui/icons/grass2/polygon-create.png,
+	  gui/icons/grass2/settings.png, gui/icons/grass2/tools.png,
+	  gui/icons/grass2/undo.png, gui/icons/grass2/vertex-create.png,
+	  gui/icons/grass2/vertex-delete.png,
+	  gui/icons/grass2/vertex-move.png,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/icons/grass2_icons.py: wxGUI: vdigit icons by Robert
+	  Szczepanek
+
+2009-01-03 17:28  neteler
+
+	* lib/gis/README.GUI: no longer needed
+
+2009-01-03 17:26  neteler
+
+	* SUBMITTING_TCLTK, doc/howto_release.txt: no longer needed
+
+2009-01-03 11:08  martinl
+
+	* general/g.mapsets/Makefile, general/g.mapsets/dsply_maps.c,
+	  general/g.mapsets/dsply_path.c, general/g.mapsets/g.mapsets.py,
+	  general/g.mapsets/g.mapsets.tcl, general/g.mapsets/local_proto.h,
+	  general/g.mapsets/main.c: g.mapsets: new parameter: field
+	  separator
+	  g.mapsets.tcl -> g.mapsets.py
+
+2009-01-02 23:47  martinl
+
+	* gui/icons/grass2/layer-aspect-arrow-add.png,
+	  gui/icons/grass2/layer-his-add.png,
+	  gui/icons/grass2/layer-shaded-relief-add.png,
+	  gui/wxpython/icons/grass2_icons.py: wxGUI: more icons from Robert
+	  Szczepanek
+
+2009-01-02 23:19  martinl
+
+	* gui/icons/Makefile, gui/icons/grass2,
+	  gui/icons/grass2/create.png, gui/icons/grass2/element-add.png,
+	  gui/icons/grass2/erase.png, gui/icons/grass2/info.png,
+	  gui/icons/grass2/layer-command-add.png,
+	  gui/icons/grass2/layer-grid-add.png,
+	  gui/icons/grass2/layer-group-add.png,
+	  gui/icons/grass2/layer-label-add.png,
+	  gui/icons/grass2/layer-open.png,
+	  gui/icons/grass2/layer-raster-add.png,
+	  gui/icons/grass2/layer-raster-analyze.png,
+	  gui/icons/grass2/layer-raster-histogram.png,
+	  gui/icons/grass2/layer-raster-profile.png,
+	  gui/icons/grass2/layer-redraw.png,
+	  gui/icons/grass2/layer-remove.png,
+	  gui/icons/grass2/layer-rgb-add.png,
+	  gui/icons/grass2/layer-vector-add.png,
+	  gui/icons/grass2/legend-add.png, gui/icons/grass2/map-export.png,
+	  gui/icons/grass2/measure-length.png,
+	  gui/icons/grass2/monitor-create.png, gui/icons/grass2/open.png,
+	  gui/icons/grass2/pan.png, gui/icons/grass2/pointer.png,
+	  gui/icons/grass2/print.png, gui/icons/grass2/quit.png,
+	  gui/icons/grass2/save.png, gui/icons/grass2/scalebar-add.png,
+	  gui/icons/grass2/show.png, gui/icons/grass2/table.png,
+	  gui/icons/grass2/text-add.png, gui/icons/grass2/zoom-in.png,
+	  gui/icons/grass2/zoom-last.png, gui/icons/grass2/zoom-more.png,
+	  gui/icons/grass2/zoom-out.png,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/grass2_icons.py,
+	  gui/wxpython/icons/grass_icons.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/palette.gif, gui/wxpython/icons/silk,
+	  gui/wxpython/icons/silk_icons.py: New GRASS icons by Robert
+	  Szczepanek added (working draft)
+
+2009-01-02 21:55  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/toolbox.py: wxGUI: remove unused
+	  'toolbox'
+
+2009-01-02 21:47  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: fix syntax typo
+
+2009-01-02 21:34  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: use
+	  grass.run_command instead gcmd.Command() (2)
+
+2009-01-02 21:33  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/track.py: wxGUI: remove unused 'track'
+
+2009-01-02 21:17  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/rules.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/menudata.xml: wxGUI: use grass.run_command()
+	  instead of gcmd.Command(), remove OnXTerm
+
+2009-01-02 16:15  neteler
+
+	* raster/r.sun2/main.c: msg improvements
+
+2009-01-02 10:26  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: map -> view, i18n
+	  (merge from devbr6, r35160)
+
+2009-01-02 04:24  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Improved control to switch
+	  between different display modes (2D, 3D, and digitize). Added
+	  closing code for nviz window.
+
+2009-01-01 23:23  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py: removing reference to
+	  grassenv again
+
+2009-01-01 23:14  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py: New merge from develbranch_6
+	  to fix hidden overlay property windows on Mac and fix to clear
+	  measurement lines (missed from previous merge and commit).
+
+2009-01-01 23:06  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fix for hidden overlay
+	  option windows on Mac. Also fix to clear display after
+	  measurement. Replace grassenv with grass.gisenv().
+
+2009-01-01 17:45  cmbarton
+
+	* visualization/nviz/scripts/widgets.tcl: Fix to permit 3D points
+	  to be loaded from the command line without first loading a
+	  surface.
+
+2009-01-01 17:41  cmbarton
+
+	* visualization/nviz/scripts/attPopup.tcl: Fix malfunctioning popup
+	  to set constant
+
+2009-01-01 17:30  cmbarton
+
+	* visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/panel_vect.tcl,
+	  visualization/nviz/scripts/panel_vol.tcl: Fix buttons so that
+	  they display properly in Mac aqua as well as x11
+
+2008-12-31 22:26  cmbarton
+
+	* scripts/v.colors/v.colors: Change interface description so that
+	  color tables are displayed in a pull-down widget in gui.
+
+2008-12-31 10:25  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: revert some recent
+	  decoration changes. Dialogs for barscale and
+	  legend cannot be shown as modal - in the result d.barscale and
+	  d.legend are not selectable.
+	  (merge from relbr64, r35133)
+
+2008-12-31 09:57  martinl
+
+	* display/d.barscale/main.c: d.barscale: fix color options
+	  (merge from devbr6, r35130)
+
+2008-12-31 04:54  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py: More fixes to dragging and
+	  setting overlays.
+
+2008-12-30 23:37  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fixed problems with dragging
+	  different overlay objects and with hidden overlay dialogs.
+
+2008-12-30 22:18  cmbarton
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Fix for remaining issues in
+	  ticket #291 for text overlays: added text show checkbox and
+	  disabled right click non-functional functions.
+
+2008-12-30 17:43  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fixed bug that caused
+	  freezing or display corruption when dragging an overlay (scale,
+	  legend, text). Also some code cleanup.
+
+2008-12-30 09:49  neteler
+
+	* gui/wxpython/README: Mandriva notes updated
+
+2008-12-30 04:11  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py: Fixing bugs in profile
+	  module (hanging/crashing with many transect nodes, and nodes off
+	  map) and making interface a little more robust (including better
+	  enforcement of proper profiling steps: 1) choose map to profile,
+	  2) draw transect, 3) create profile)
+
+2008-12-30 01:25  hcho
+
+	* vector/v.in.dxf/add_3dface.c, vector/v.in.dxf/add_arc.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/dxf_to_vect.c: Fixed the test that determines if
+	  a polyline is 3-d.
+
+2008-12-29 20:40  neteler
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: changed for new parser support;
+	  some outdated stuff removed
+
+2008-12-29 19:15  neteler
+
+	* locale/Makefile, locale/po/grasstcl_am.po,
+	  locale/po/grasstcl_ar.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_el.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_id.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_ko.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasstcl_pt.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_sl.po,
+	  locale/po/grasstcl_th.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: TclTk retired
+
+2008-12-29 17:53  neteler
+
+	* raster/r.sun2/r.sun.html: step -> horizonstep of r.horizon
+
+2008-12-29 17:52  neteler
+
+	* raster/r.horizon/r.horizon.html: step -> horizonstep to sync with
+	  r.sun
+
+2008-12-29 17:45  neteler
+
+	* raster/r.sun2/main.c: msg sync with r.horizon (for i18n)
+
+2008-12-29 17:43  neteler
+
+	* raster/r.horizon/main.c: step -> horizonstep to sync with r.sun;
+	  msg cosmetics
+
+2008-12-29 15:57  neteler
+
+	* lib/vector/Vlib/build_nat.c: use G_INFO_FORMAT_PLAIN if requested
+
+2008-12-29 04:44  cmbarton
+
+	* gui/wxpython/wxgui.py: Fixed another display positioning
+	  bug--because first display is "0", positioning based on display
+	  idx puts it behind the menus at the top of the Mac desktop where
+	  the display can't be grabbed and moved.
+
+2008-12-28 18:16  cmbarton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fix bug that puts the
+	  initial display window behind the top menus on a Mac and makes it
+	  impossible to grab and move.
+
+2008-12-28 13:29  neteler
+
+	* raster/r.sun2/main.c: also write cmd line into history
+
+2008-12-28 13:20  neteler
+
+	* raster/r.sun2/r.sun.html: fix name
+
+2008-12-28 06:56  neteler
+
+	* lib/db/dbmi_base/column.c: karme: fix memory leak (trac #273)
+
+2008-12-27 16:56  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: querying vector map
+	  crashes wxGUI (trac #415)
+	  attempt to fix 'display mode'
+	  (merge from devbr6, r35063)
+
+2008-12-27 16:41  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: bogus rectangles
+	  on map display (trac #414)
+	  (merge from devbr6, r35060)
+
+2008-12-26 17:50  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: remove grassenv
+
+2008-12-26 17:45  martinl
+
+	* vector/v.to.3d/args.c: v.to.3d: fix compilation error
+
+2008-12-26 17:02  martinl
+
+	* gui/icons/grass/status-error.gif, gui/icons/grass/status-out.gif,
+	  gui/icons/grass/status-warning.gif: cmbarton: resized icons for
+	  gronsole to standard 24x24, made a more
+	  understandable icons for expanding/hiding output.
+	  (merge from devbr6, r35026)
+
+2008-12-26 16:51  martinl
+
+	* scripts/Makefile, scripts/v.to.3d, vector/Makefile,
+	  vector/v.to.3d, vector/v.to.3d/Makefile, vector/v.to.3d/args.c,
+	  vector/v.to.3d/local_proto.h, vector/v.to.3d/main.c,
+	  vector/v.to.3d/trans2.c, vector/v.to.3d/trans3.c,
+	  vector/v.to.3d/v.to.3d.html: v.to.3d: bash script -> C module
+	  (merge from devbr6, r35052)
+
+2008-12-26 16:43  martinl
+
+	* vector/v.extract/main.c: v.extract: message cosmetics
+	  (merge from devbr6, r35049)
+
+2008-12-26 16:41  martinl
+
+	* lib/python/grass.py: grass.py: fix fatal()
+
+2008-12-26 16:38  martinl
+
+	* lib/proj/projlib.dox: projlib: doxygen docs updated
+	  (merge from devbr6, r35043)
+
+2008-12-26 16:35  martinl
+
+	* display/d.vect/main.c, display/d.vect/plot1.c: d.vect: fix bug
+	  for vector maps open at level 1
+	  message standardization
+	  (merge from devbr6, r35040)
+
+2008-12-26 16:31  martinl
+
+	* raster/r.random.cells/flag.c, raster/r.random.cells/gasdev.c,
+	  raster/r.random.cells/indep.c, raster/r.random.cells/init.c,
+	  raster/r.random.cells/local_proto.h,
+	  raster/r.random.cells/main.c,
+	  raster/r.random.cells/r.random.cells.html,
+	  raster/r.random.cells/random.c, raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/calcsd.c,
+	  raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/cpfilter.c, raster/r.random.surface/dd.c,
+	  raster/r.random.surface/decay.c,
+	  raster/r.random.surface/digits.c,
+	  raster/r.random.surface/gasdev.c,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/init.c, raster/r.random.surface/main.c,
+	  raster/r.random.surface/makebigf.c,
+	  raster/r.random.surface/makepp.c,
+	  raster/r.random.surface/r.random.surface.html,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c, raster/r.random.surface/zero.c:
+	  r.random.{surface|cells}: clean up
+
+2008-12-26 15:59  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py, gui/wxpython/wxgui.py:
+	  wxGUI: various fixes
+	  vdigit: fix left mouse button click when moving vertex/line
+	  sort columns in ColumnSelect
+	  use grass module
+
+2008-12-26 05:03  helena
+
+	* raster/r.slope.aspect/r.slope.aspect.html: reference where to
+	  find equations used in the module added
+
+2008-12-23 16:42  glynn
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/write_img.c: Don't try to write TIFF if
+	  built --without-tiff
+
+2008-12-23 14:43  neteler
+
+	* doc/howto_release.txt: updated
+
+2008-12-23 14:07  neteler
+
+	* doc/vector/v.example/main.c: example fixed
+
+2008-12-23 11:25  neteler
+
+	* raster/r.horizon/main.c: write history files
+
+2008-12-23 02:42  kyngchaos
+
+	* macosx/app/Makefile: cleanup targets
+
+2008-12-23 00:43  kyngchaos
+
+	* lib/nviz/render.c: Get render.c to compile on OSX
+
+2008-12-22 15:08  kyngchaos
+
+	* macosx/app/Info.plist.in, macosx/pkg/resources/Info.plist.in: add
+	  version to app ID so installer doesn't stomp older versions (from
+	  r34986)
+
+2008-12-22 01:40  glynn
+
+	* lib/proj/Makefile: Remove local NAD2BIN definition (defined in
+	  Platform.make[.in])
+
+2008-12-22 01:37  glynn
+
+	* raster/r.statistics3/main.c: Rename fmin/fmax to avoid clashes
+	  with <math.h>
+
+2008-12-21 19:00  martinl
+
+	* lib/nviz/render.h: unused header removed
+
+2008-12-21 18:56  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI/atm: left mouse
+	  button -> default - highlight selected
+	  (merge from devbr6, r34978)
+
+2008-12-21 12:38  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: Can not set vector
+	  layer properties (trac #407)
+	  (merge from devbr6, r34974)
+
+2008-12-21 12:33  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: remove unused code
+	  (merge from devbr6, r34972)
+
+2008-12-21 12:24  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py: wxGUI: fix "Profile tool
+	  does not work" (trac #408)
+
+2008-12-21 12:07  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py, gui/wxpython/wxgui.py:
+	  wxGUI: quering disables vector transparency (trac #304)
+	  (merge from devbr6, r34967)
+
+2008-12-21 08:56  neteler
+
+	* raster/r.flow/io.c: glynn: write ds only if parm.dsout is set
+
+2008-12-21 02:13  glynn
+
+	* general/g.cairocomp/main.c: Make visual= parameter optional
+
+2008-12-20 17:29  martinl
+
+	* scripts/v.dissolve/v.dissolve.py: v.dissolve: don't run v.extract
+	  if v.reclass failed
+
+2008-12-20 16:58  martinl
+
+	* scripts/v.dissolve/v.dissolve.py: v.dissolve: variable typo
+
+2008-12-20 16:39  martinl
+
+	* scripts/v.dissolve/v.dissolve.py: v.dissolve: typo
+
+2008-12-20 12:59  martinl
+
+	* gui/wxpython/gui_modules/gselect.py, lib/python/grass.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecol/v.db.renamecol.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.to.3d/v.to.3d.py:
+	  grass.py: vector_db returns dictionary instead of list
+	  new fn vector_layer_db() for common use of vector_db()
+
+2008-12-19 23:03  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py, lib/python/grass.py:
+	  grass.py: list_grouped2() renamed to mlist_grouped()
+
+2008-12-19 22:58  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: fix load layers (if
+	  current mapset / layer type is empty)
+
+2008-12-19 22:42  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py, lib/python/grass.py: wxGUI:
+	  eliminate g.mlist, use grass.list_grouped2() instead
+
+2008-12-19 22:27  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: add misssing Revision svn keyword
+
+2008-12-19 22:26  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/grassenv.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py: wxGUI: eliminate grassenv, use
+	  grass.gisenv() instead
+	  (merge from devbr6, r34943)
+
+2008-12-19 20:53  martinl
+
+	* lib/python/grass.py: grass.py: update docstring
+
+2008-12-19 20:41  glynn
+
+	* lib/python/grass.py: Python has a distinct boolean type
+
+2008-12-19 17:36  martinl
+
+	* lib/python/grass.py, scripts/i.landsat.rgb/i.landsat.rgb.py:
+	  i.landsat.rgb: write history only for raster maps in the current
+	  mapset
+
+2008-12-19 16:51  glynn
+
+	* general/Makefile, general/g.cairocomp,
+	  general/g.cairocomp/Makefile,
+	  general/g.cairocomp/g.cairocomp.html, general/g.cairocomp/main.c,
+	  lib/cairodriver/Graph.c, lib/cairodriver/cairodriver.h,
+	  lib/cairodriver/read.c, lib/cairodriver/read_xid.c,
+	  lib/cairodriver/write.c, lib/cairodriver/write_xid.c: Add alpha
+	  channel to Pixmaps
+	  Add g.cairocomp
+
+2008-12-19 13:49  glynn
+
+	* lib/driver/driver.h: Remove bogus extern declaration for
+	  "encoding"
+
+2008-12-19 11:49  martinl
+
+	* scripts/v.to.3d/v.to.3d.html: v.to.3d: add example
+	  (merge from devbr6, r34930)
+
+2008-12-18 21:49  glynn
+
+	* lib/cairodriver/Graph.c, lib/cairodriver/Makefile,
+	  lib/cairodriver/cairodriver.h, lib/cairodriver/read.c,
+	  lib/cairodriver/read_xid.c, lib/cairodriver/write.c,
+	  lib/cairodriver/write_xid.c: Fix, improve handling of X Pixmap
+	  surfaces
+
+2008-12-18 10:53  martinl
+
+	* vector/v.out.ascii/b2a.c: v.out.ascii: olumn names are case
+	  sensitive
+	  (merge from devbr6, r34926)
+
+2008-12-17 21:29  martinl
+
+	* vector/v.out.ascii/v.out.ascii.html: fix typo in manual page
+
+2008-12-17 21:04  glynn
+
+	* general/g.mkfontcap/freetype_fonts.c, general/g.mkfontcap/main.c,
+	  general/g.mkfontcap/stroke_fonts.c, include/fontcap.h,
+	  include/freetypecap.h, lib/cairodriver/Draw_bitmap.c,
+	  lib/cairodriver/Text.c, lib/driver/Font.c,
+	  lib/driver/Get_t_box.c, lib/driver/Text.c,
+	  lib/driver/Text_size.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/init.c,
+	  lib/driver/parse_ftcap.c, lib/driver/text2.c, lib/driver/text3.c,
+	  vector/v.label.sa/font.c, vector/v.label.sa/labels.h: Rename
+	  freetypecap -> fontcap
+	  Fix/improve handling of driver-specific fonts
+	  Driver fonts augment (not replace) FreeType/stroke fonts
+	  Cairo driver now lists both FontConfig and "toy" fonts
+	  Move stroke font scale factor into stroke font handling
+
+2008-12-17 20:00  neteler
+
+	* vector/v.out.ascii/b2a.c: typo
+
+2008-12-17 19:34  martinl
+
+	* vector/v.out.ascii/b2a.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/main.c, vector/v.out.ascii/v.out.ascii.html:
+	  v.out.ascii: attribute selection implemented (v.out.ascii.db
+	  merged)
+	  new parameters: where, layer, columns (point mode point)
+	  (merge from devbr6, r34917)
+
+2008-12-17 19:30  martinl
+
+	* vector/v.to.db/update.c: v.to.db: move G_percent(1,1,1) after
+	  loop
+	  (merge from devbr6, r34918)
+
+2008-12-17 17:09  glynn
+
+	* include/display.h, include/raster.h, lib/display/clip.c,
+	  lib/display/clip.h, lib/display/cnversions.c,
+	  lib/display/draw2.c, lib/display/window.c, lib/driver/Draw.c,
+	  lib/driver/Get_t_box.c, lib/driver/Polydots.c,
+	  lib/driver/Polygon.c, lib/driver/Polyline.c, lib/driver/Text.c,
+	  lib/driver/Text_size.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/init.c, lib/driver/path.c,
+	  lib/driver/path.h, lib/driver/text2.c, lib/driver/text3.c,
+	  lib/htmldriver/Draw.c, lib/htmldriver/Polygon.c,
+	  lib/htmldriver/htmlmap.h, lib/pngdriver/Draw.c,
+	  lib/pngdriver/Draw_line.c, lib/pngdriver/Polygon.c,
+	  lib/pngdriver/pngdriver.h, lib/raster/raster.c: Display clean-up
+	  Remove low-level line, polydots, polyline, polygon functions
+	  Extend, clean-up path functions
+	  Clean-up text functions
+	  Add clipping, culling to display library
+
+2008-12-16 14:54  glynn
+
+	* raster/r.out.gdal/export_band.c, raster/r.out.gdal/main.c: Indent
+
+2008-12-16 14:02  glynn
+
+	* lib/python/grass.py: Fix typo: directory -> dictionary
+
+2008-12-16 13:44  martinl
+
+	* lib/gis/percent.c: do not use row+1 in G_percent() example
+	  (merge from devbr6, r34909)
+
+2008-12-16 13:34  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/v.db.update/v.db.update.py, vector/v.net.iso/main.c,
+	  vector/v.net/main.c, vector/v.reclass/main.c: message
+	  standardization, missing gisprompts added
+	  (merge from devbr6, r34905)
+
+2008-12-16 13:33  martinl
+
+	* vector/v.to.db/update.c: v.to.db: fix qlayer
+	  (merge from devbr6, r34906)
+
+2008-12-15 10:05  martinl
+
+	* lib/python/grass.py: grass.py: skip invalid elements
+
+2008-12-15 03:46  hamish
+
+	* raster/r.watershed/front/r.watershed.html: removed some old
+	  interactive comments, concentrate flag descr at the top
+
+2008-12-15 03:40  hamish
+
+	* raster/r.watershed/front/r.watershed.html: updated r.terraflow
+	  comparison from Markus Metz (#398); some fixes of my own
+
+2008-12-15 01:28  hamish
+
+	* lib/gis/null_val.c: whitespace niceness (merge from devbr6), typo
+	  in warning msg
+
+2008-12-14 21:46  martinl
+
+	* scripts/v.to.3d/v.to.3d.py: v.to.3d: write cmd history
+
+2008-12-14 21:20  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: v.to.3d added to menu
+
+2008-12-14 20:41  martinl
+
+	* lib/python/grass.py, scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, scripts/v.to.3d/v.to.3d.py:
+	  grass.py: vector_columns() returns directory instead of list
+
+2008-12-14 20:29  martinl
+
+	* scripts/Makefile, scripts/v.to.3d, scripts/v.to.3d/Makefile,
+	  scripts/v.to.3d/description.html, scripts/v.to.3d/v.to.3d,
+	  scripts/v.to.3d/v.to.3d.html, scripts/v.to.3d/v.to.3d.py: very
+	  initial version of v.to.3d
+
+2008-12-14 16:48  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix 'add new layer
+	  into layer tree'
+	  (merge from devbr6, r34875)
+
+2008-12-14 16:22  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix decoration dialog
+	  (merge from devbr6, r34873)
+
+2008-12-14 14:40  martinl
+
+	* imagery/i.smap/bouman.h, imagery/i.smap/decimate.c,
+	  imagery/i.smap/interp.c, imagery/i.smap/parse.c,
+	  imagery/i.smap/region.h, imagery/i.smap/segment.c: i.smap: remove
+	  quiet flag, use G_debug()
+
+2008-12-14 14:29  martinl
+
+	* imagery/i.smap/Makefile, imagery/i.smap/alpha_max.c,
+	  imagery/i.smap/bouman, imagery/i.smap/bouman.h,
+	  imagery/i.smap/closefiles.c, imagery/i.smap/decimate.c,
+	  imagery/i.smap/eigen.c, imagery/i.smap/history.c,
+	  imagery/i.smap/i.smap.html, imagery/i.smap/interp.c,
+	  imagery/i.smap/invert.c, imagery/i.smap/labels.c,
+	  imagery/i.smap/local_proto.h, imagery/i.smap/main.c,
+	  imagery/i.smap/model.c, imagery/i.smap/multialloc.c,
+	  imagery/i.smap/opencell.c, imagery/i.smap/openfiles.c,
+	  imagery/i.smap/parse.c, imagery/i.smap/read_block.c,
+	  imagery/i.smap/read_sig.c, imagery/i.smap/reg_util.c,
+	  imagery/i.smap/region.h, imagery/i.smap/segment.c,
+	  imagery/i.smap/shapiro, imagery/i.smap/solve.c,
+	  imagery/i.smap/write_img.c: i.smap: remove redundant 'bouman' and
+	  'shapiro' directories
+
+2008-12-14 14:20  martinl
+
+	* imagery/i.cluster/main.c, imagery/i.gensig/check.c,
+	  imagery/i.gensig/covariance.c, imagery/i.gensig/get_train.c,
+	  imagery/i.gensig/main.c, imagery/i.gensig/means.c,
+	  imagery/i.gensig/openfiles.c, imagery/i.gensig/parse.c,
+	  imagery/i.gensig/read_train.c, imagery/i.gensig/write_sig.c,
+	  imagery/i.gensigset/get_train.c, imagery/i.gensigset/main.c,
+	  imagery/i.gensigset/openfiles.c, imagery/i.gensigset/parse.c,
+	  imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c,
+	  imagery/i.gensigset/subcluster.c,
+	  imagery/i.gensigset/write_sig.c, imagery/i.maxlik/main.c,
+	  imagery/i.smap/bouman/decimate.c, imagery/i.smap/bouman/interp.c,
+	  imagery/i.smap/bouman/model.c,
+	  imagery/i.smap/bouman/multialloc.c,
+	  imagery/i.smap/bouman/read_block.c,
+	  imagery/i.smap/bouman/segment.c,
+	  imagery/i.smap/shapiro/closefiles.c,
+	  imagery/i.smap/shapiro/main.c,
+	  imagery/i.smap/shapiro/openfiles.c,
+	  imagery/i.smap/shapiro/parse.c,
+	  imagery/i.smap/shapiro/read_sig.c,
+	  imagery/i.smap/shapiro/write_img.c, raster/r.composite/main.c:
+	  imagery modules: message/paramaters standardization
+	  (merge from devbr6, r34868)
+
+2008-12-14 11:25  neteler
+
+	* raster/r.los/r.los.html: fix example; mention r.viewshed
+
+2008-12-13 17:43  martinl
+
+	* vector/v.select/v.select.html: v.select: use unshortened
+	  parameter names in manual pages
+	  (merge from devbr6, r34855)
+
+2008-12-13 17:22  martinl
+
+	* imagery/i.cluster/main.c: i.cluster: synchronize parameter name
+	  with i.gensig (signaturefile)
+
+2008-12-13 16:52  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp: wxGUI/vdigit: fix select
+	  features by cat (layer>1)
+	  (merge from devbr6, r34851)
+
+2008-12-13 16:45  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: fix decode error &
+	  insert new record dialog
+	  (merge from devbr6, r34850)
+
+2008-12-13 15:44  martinl
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/vertex.cpp:
+	  wxGUI: delete selected features from attribute manager (trac
+	  #314)
+	  (merge from devbr6, r34848)
+
+2008-12-12 15:55  martinl
+
+	* gui/wxpython/xml/menudata.xml: run indent-region (emacs) on
+	  metadata.xml
+
+2008-12-12 15:51  martinl
+
+	* gui/wxpython/xml/menudata.xml: wxGUI: reorganize File->Workspace
+	  menu (trac #393)
+	  (merge from devbr6, r34838)
+
+2008-12-12 15:07  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix trac #305 (Add
+	  created map into layer tree: errors for import modules)
+	  (merge from devbr6, r34836)
+
+2008-12-12 13:34  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: can't handle
+	  whole-Earth extent (trac #395)
+	  (merge from devbr6, r34834)
+
+2008-12-12 13:22  glynn
+
+	* raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/init_vars.c: Patch from Markus Metz
+	  (ticket #398)
+
+2008-12-11 19:10  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: add optionally records
+	  for each category on add layer
+	  (merge from devbr6, r34830)
+
+2008-12-11 18:05  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/menudata.py: fix
+	  wxGUI compilation (merge from devbr6)
+
+2008-12-11 14:03  martinl
+
+	* display/d.vect/main.c: d.vect: use standardized option for
+	  'llayer'
+	  (merge from devbr6, r34827)
+
+2008-12-11 13:08  martinl
+
+	* raster/r.clump/main.c: r.clump: fix compilation error
+
+2008-12-10 23:39  hamish
+
+	* general/g.mlist/g.mlist.html, general/g.mlist/main.c,
+	  raster/r.patch/r.patch.html, raster/r.series/r.series.html,
+	  scripts/v.dissolve/v.dissolve.html: revert r34818, separator= is
+	  preferred
+
+2008-12-10 15:13  glynn
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/no_stream.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/no_stream.c: patch from Markus Metz
+
+2008-12-10 05:35  hamish
+
+	* lib/gis/percent.c: clarify needing G_percent() after loop (merge
+	  from devbr6)
+
+2008-12-09 17:20  hamish
+
+	* general/g.mlist/g.mlist.html, general/g.mlist/main.c,
+	  raster/r.patch/r.patch.html, raster/r.series/r.series.html,
+	  scripts/v.dissolve/v.dissolve.html: g.mlist: standardize sep= opt
+	  to fs=
+
+2008-12-09 16:55  martinl
+
+	* raster/r.clump/clump.c, raster/r.clump/main.c,
+	  raster/r.surf.idw/main.c,
+	  scripts/r.reclass.area/r.reclass.area.py: message standardization
+	  (merge from devbr6, r34816)
+
+2008-12-09 13:29  martinl
+
+	* lib/imagery/list_gp.c, lib/imagery/list_subgp.c: imagerylib:
+	  i18n, message cosmetics
+	  (merge from devbr6, r34814)
+
+2008-12-09 11:37  hamish
+
+	* vector/v.delaunay2/v.delaunay.html: fix module name
+
+2008-12-09 09:40  martinl
+
+	* vector/v.to.db/areas.c, vector/v.to.db/find.c,
+	  vector/v.to.db/global.h, vector/v.to.db/lines.c,
+	  vector/v.to.db/main.c, vector/v.to.db/query.c,
+	  vector/v.to.db/report.c: v.to.db: fix report (don't report
+	  features without category)
+	  (merge from devbr6, r34807)
+
+2008-12-08 19:52  neteler
+
+	* vector/v.mkgrid/main.c, vector/v.mkgrid/v.mkgrid.html: Ivan
+	  Shmakov: point support instead of areas
+
+2008-12-08 14:06  glynn
+
+	* raster/r.surf.fractal/main.c, raster/r.surf.fractal/process.c:
+	  Remove duplicate #include <grass/glocale.h>
+	  #include <grass/gmath.h> must go last due to g2c.h "quirks"
+
+2008-12-08 14:05  glynn
+
+	* imagery/i.cluster/checkpt.c: Fix verbosity check
+
+2008-12-08 12:43  martinl
+
+	* imagery/i.maxlik/main.c: i.maxlik: quiet flag removed
+
+2008-12-08 12:32  martinl
+
+	* imagery/i.maxlik/invert.c, imagery/i.maxlik/main.c,
+	  imagery/i.maxlik/open.c: i.maxlik: message standardization
+	  (merge from devbr6, r34799)
+
+2008-12-08 12:07  glynn
+
+	* gui/wxpython/Makefile: Add menustrings.py to EXTRA_CLEAN_FILES
+
+2008-12-08 11:59  martinl
+
+	* imagery/i.cluster/main.c: i.cluster: Quiet flag removed
+
+2008-12-08 11:47  martinl
+
+	* imagery/i.cluster/checkpt.c, imagery/i.cluster/main.c,
+	  imagery/i.cluster/open_files.c, lib/imagery/sigfile.c: i.cluster:
+	  message standardization
+	  more guisections
+	  imagerylib: allow fully qualified group name + doxygenization
+	  (sigfice.c)
+	  (merge from devbr6, r34794)
+
+2008-12-08 10:32  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: About dialog fixed (UTF-8)
+	  (merge from devbr6, r34792)
+
+2008-12-08 09:13  glynn
+
+	* raster/r.watershed/front/main.c: Fix missed opt16/opt17
+	  renumbering in previous change
+
+2008-12-08 09:11  glynn
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_astar.h,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/find_pour.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/no_stream.c,
+	  raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_astar.h,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c: r.watershed MFD support from
+	  Markus Metz
+
+2008-12-08 06:36  glynn
+
+	* gui/wxpython, gui/wxpython/Makefile,
+	  gui/wxpython/gui_modules/menudata.py: Generate dummy Python file
+	  containing menu strings for translation
+
+2008-12-07 19:41  martinl
+
+	* scripts/v.db.addtable/v.db.addtable.py: v.db.addtable: add
+	  missing 'qlayer' parameter (v.to.db)
+
+2008-12-07 12:05  martinl
+
+	* gui/wxpython/xml/menudata.xml: menudata.xml added (shame on me,
+	  SORRY, mistake)
+
+2008-12-07 12:01  martinl
+
+	* gui/wxpython/xml/menudata.xml: currently unused menudata.xml
+	  removed
+
+2008-12-07 12:01  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: Fix ElementTree import for
+	  Python 2.4
+
+2008-12-07 11:08  martinl
+
+	* locale/po/grasswxpy_cs.po: Czech wxGUI translation updated
+	  (merge from devbr6, r34778)
+
+2008-12-07 11:04  hamish
+
+	* lib/gis/percent.c: fix my crappy explaination of the placement
+	  logic (merge from devbr6)
+
+2008-12-07 10:32  martinl
+
+	* lib/gis/percent.c: add G_percent() doxygen string
+
+2008-12-07 10:16  martinl
+
+	* raster/r.contour/cont.c: r.contour: G_percent() should stay at
+	  the start of the for loop
+	  (merge from devbr6, r34772)
+
+2008-12-07 07:16  glynn
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/xml/menudata.xml: Convert menu data to XML
+
+2008-12-07 03:55  hamish
+
+	* display/d.vect/d.vect.html, scripts/v.colors/v.colors.html: links
+	  (merge from devbr6)
+
+2008-12-07 03:48  hamish
+
+	* vector/v.category/v.category.html: explain cat=, linewraps, links
+	  (merge from devbr6)
+
+2008-12-06 23:16  martinl
+
+	* raster/r.contour/cont.c, raster/r.contour/main.c: r.contours:
+	  message cosmetics & standardization
+	  (merge from devbr6, r34762)
+
+2008-12-06 22:44  martinl
+
+	* raster/r.surf.fractal/frac.h, raster/r.surf.fractal/main.c,
+	  raster/r.surf.fractal/open_files.c,
+	  raster/r.surf.fractal/process.c,
+	  raster/r.surf.fractal/r.surf.fractal.html,
+	  raster/r.surf.fractal/spec_syn.c,
+	  raster/r.surf.fractal/write_rast.c: r.surf.fractal: avoid
+	  segfault on G_malloc
+	  parameters key consolidated
+	  message standardization
+	  (merge from devbr6, r34760)
+
+2008-12-06 20:35  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, vector/v.distance/main.c:
+	  v.distance: paramaters description cosmetics
+	  (merge from devbr6, r34758)
+
+2008-12-06 19:58  martinl
+
+	* vector/v.select/main.c: v.select: 'reverse selection' flag added
+	  don't check intersection for points
+	  more guisections
+	  (merge from devbr6, r34756)
+
+2008-12-06 19:01  martinl
+
+	* lib/vector/Vlib/sindex.c, vector/v.select/main.c: v.select:
+	  message cosmetics
+	  (merge from devbr6, r34754)
+
+2008-12-06 17:16  martinl
+
+	* vector/v.to.db/areas.c, vector/v.to.db/lines.c,
+	  vector/v.to.db/main.c, vector/v.to.db/parse.c,
+	  vector/v.to.db/query.c, vector/v.to.db/report.c,
+	  vector/v.to.db/update.c: v.to.db: don't report cat -1
+	  message/parameters cosmetics
+	  (merge from devbr6, r34751)
+
+2008-12-06 11:42  glynn
+
+	* lib/gis/popen.c: Windows has _popen, _pclose
+
+2008-12-06 09:05  glynn
+
+	* include/gisdefs.h, lib/gis/closecell.c, lib/gis/gdal.c,
+	  lib/gis/opencell.c, lib/gis/put_row.c, raster/Makefile,
+	  raster/r.external.out, raster/r.external.out/Makefile,
+	  raster/r.external.out/main.c,
+	  raster/r.external.out/r.external.out.html: Add write support to
+	  GDAL-link, r.external.out
+
+2008-12-06 09:04  glynn
+
+	* lib/gis/null_val.c: Fix bug in G_is_c_null_value()
+
+2008-12-06 02:05  hamish
+
+	* ps/ps.map/ps.map.html, ps/ps.map/ps_vlegend.c,
+	  ps/ps.map/r_vlegend.c, ps/ps.map/vector.h: add vlegend column
+	  separation control (see trac #355; merge from devbr6)
+
+2008-12-05 09:49  glynn
+
+	* lib/gis/G.h, lib/gis/gdal.c, lib/gis/get_row.c,
+	  raster/r.external/main.c, raster/r.in.gdal/main.c: Better
+	  handling of flipped/rotated maps
+
+2008-12-05 09:36  hamish
+
+	* ps/ps.map/ps.map.html, ps/ps.map/ps_vlegend.c: merge fixes from
+	  devbr6 (trac #355):
+	  - allow placement of vector legend left of the map
+	  - patch from Bob Covill to save pattern file for legend even if
+	  pattern is never used within the map region
+
+2008-12-05 08:08  glynn
+
+	* include/display.h, include/raster.h, lib/display/Makefile,
+	  lib/display/draw2.c, lib/raster/raster.c: Remove
+	  D_set_clip_mode(), and clipping/culling display primitives
+	  Add path-based primitives to raster library
+	  Use path_* functions from lib/driver in lib/display
+
+2008-12-05 03:51  glynn
+
+	* vector/v.db.connect/main.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c: Clean-up wrt db_get_default_*
+
+2008-12-05 03:50  glynn
+
+	* raster/r.horizon/main.c, raster/r.sun2/main.c: Call G_parser()
+	  before querying GRASS environment, region, etc
+
+2008-12-05 02:18  glynn
+
+	* db/Makefile: Add drivers to CLEAN_SUBDIRS
+
+2008-12-04 20:20  martinl
+
+	* vector/v.category/main.c: v.category: '0' is valid category
+	  number
+	  (merge from devbr6, r34727)
+
+2008-12-04 18:40  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: add r.colors.stddev
+	  and v.colors to the menu
+	  (merge from devbr6, r34725)
+
+2008-12-04 18:15  martinl
+
+	* scripts/r.colors.stddev/r.colors.stddev: r.colors.stddev: add
+	  keyword
+	  (merge from devbr6, r34723)
+
+2008-12-04 17:37  glynn
+
+	* lib/gis/popen.c: (Try to) fix MinGW version of G_popen()
+
+2008-12-04 16:47  glynn
+
+	* lib/cairodriver/Color.c, lib/cairodriver/Draw.c,
+	  lib/cairodriver/Draw_bitmap.c, lib/cairodriver/Draw_line.c,
+	  lib/cairodriver/Draw_point.c, lib/cairodriver/Driver.c,
+	  lib/cairodriver/Poly.c, lib/cairodriver/Raster.c,
+	  lib/cairodriver/Text.c, lib/cairodriver/cairodriver.h,
+	  lib/driver/Bitmap.c, lib/driver/Color.c, lib/driver/Cont.c,
+	  lib/driver/Draw.c, lib/driver/Get_t_box.c, lib/driver/Polydots.c,
+	  lib/driver/Polygon.c, lib/driver/Polyline.c, lib/driver/Raster.c,
+	  lib/driver/Text.c, lib/driver/driver.h, lib/driver/driverlib.h,
+	  lib/driver/path.c, lib/driver/text3.c, lib/htmldriver/Box.c,
+	  lib/htmldriver/Draw.c, lib/htmldriver/Driver.c,
+	  lib/htmldriver/Polygon.c, lib/htmldriver/htmlmap.h,
+	  lib/pngdriver/Color.c, lib/pngdriver/Color_table.c,
+	  lib/pngdriver/Draw.c, lib/pngdriver/Draw_bitmap.c,
+	  lib/pngdriver/Draw_line.c, lib/pngdriver/Driver.c,
+	  lib/pngdriver/Graph_set.c, lib/pngdriver/Point.c,
+	  lib/pngdriver/Polygon.c, lib/pngdriver/Raster.c,
+	  lib/pngdriver/pngdriver.h, lib/pngdriver/read_bmp.c,
+	  lib/pngdriver/read_png.c, lib/pngdriver/read_ppm.c,
+	  lib/pngdriver/write_bmp.c, lib/pngdriver/write_png.c,
+	  lib/pngdriver/write_ppm.c, lib/psdriver/Color.c,
+	  lib/psdriver/Draw.c, lib/psdriver/Draw_bitmap.c,
+	  lib/psdriver/Draw_line.c, lib/psdriver/Draw_point.c,
+	  lib/psdriver/Driver.c, lib/psdriver/Polygon.c,
+	  lib/psdriver/Polyline.c, lib/psdriver/Raster.c,
+	  lib/psdriver/psdriver.h, lib/psdriver/psdriver.ps,
+	  lib/raster/raster.c: Replace polygon/polyline with path-based
+	  primitives
+	  Replace polydots with single point primitive
+	  Miscellaneous clean-up
+
+2008-12-04 13:29  martinl
+
+	* scripts/v.colors/v.colors: v.colors: add gisprompts
+	  (merge from devbr6, r34716)
+
+2008-12-04 10:47  hamish
+
+	* raster/r.colors/r.colors.html: new see alsos (merge from devbr6)
+
+2008-12-04 10:19  hamish
+
+	* scripts/v.colors/v.colors: echo to g.message (merge from devbr6)
+
+2008-12-04 10:00  hamish
+
+	* scripts/r.colors.stddev/description.html,
+	  scripts/r.colors.stddev/r.colors.stddev.html,
+	  scripts/v.colors/description.html,
+	  scripts/v.colors/v.colors.html, scripts/v.out.gps: rename man
+	  pages to grass7 style
+
+2008-12-04 09:58  hamish
+
+	* scripts/Makefile, scripts/r.colors.stddev, scripts/v.colors:
+	  bring in v.colors, r.colors.stddev from addons (by way of devbr6)
+	  -still shell scrips-
+
+2008-12-04 09:41  hamish
+
+	* scripts/i.spectral/i.spectral.py: option cosmetics
+
+2008-12-04 01:41  glynn
+
+	* lib/gis/locale.c, lib/gis/mach_name.c, lib/gis/spawn.c: Various
+	  MinGW bugfixes from Rosen Matev
+
+2008-12-03 06:31  martinl
+
+	* vector/v.extract/main.c: v.extract: layer_all
+	  (merge from devbr6, r34692)
+
+2008-12-03 00:49  hamish
+
+	* lib/symbol/symbol/geology/strike_open_box,
+	  lib/symbol/symbol/geology/strike_open_circle,
+	  lib/symbol/symbol/geology/strike_open_triangle: remove open
+	  versions as redundant, just use fillcolor=none (merge from
+	  devbr6)
+
+2008-12-02 21:40  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: MultiImport ->
+	  switch page to "Command output"
+	  (merge from devbr6, r34687)
+
+2008-12-02 21:25  martinl
+
+	* lib/symbol/Makefile: Makefile: add 'geology' symbols
+
+2008-12-02 20:52  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: about dialog - revision
+	  (merge from devbr6, r34681:r34684)
+
+2008-12-02 20:35  martinl
+
+	* raster/r.circle/main.c: r.circle: (cosmetics) header fixed, done
+	  msg added
+	  (merge from devbr6, r34679)
+
+2008-12-02 19:05  martinl
+
+	* scripts/v.centroids/v.centroids.py: v.centroids:
+	  old_layer->new_layer
+
+2008-12-02 18:55  martinl
+
+	* lib/vector/vedit/cats.c, vector/v.edit/main.c: v.edit: don't
+	  print warning when cat is not deleted
+	  (merge from devbr6, r34675)
+
+2008-12-02 17:36  martinl
+
+	* include/gis.h, lib/gis/parser.c, vector/v.category/main.c,
+	  vector/v.edit/args.c: gislib: add G_OPT_V_ID(S)
+	  (merge from devbr6, r34673)
+
+2008-12-02 16:53  martinl
+
+	* scripts/v.centroids/v.centroids.py: v.centroids: add missing
+	  gispropmt for 'layer'
+
+2008-12-02 16:50  martinl
+
+	* lib/gis/parser.c, vector/v.category/main.c: v.category: more
+	  guisections
+	  sipmlify G_OPT_TYPE description
+	  (merge from devbr6, r34669)
+
+2008-12-02 15:59  martinl
+
+	* display/d.rast/main.c, display/d.thematic.area/main.c,
+	  display/d.vect/main.c, vector/v.category/main.c,
+	  vector/v.edit/args.c, vector/v.extract/main.c,
+	  vector/v.in.ogr/main.c: guisection: query renamed to selection
+	  (merge from devbr6, r34667)
+
+2008-12-02 11:40  hamish
+
+	* lib/symbol/symbol/geology, lib/symbol/symbol/geology/strike_box,
+	  lib/symbol/symbol/geology/strike_circle,
+	  lib/symbol/symbol/geology/strike_line,
+	  lib/symbol/symbol/geology/strike_open_box,
+	  lib/symbol/symbol/geology/strike_open_circle,
+	  lib/symbol/symbol/geology/strike_open_triangle,
+	  lib/symbol/symbol/geology/strike_triangle: new geology symbols
+	  (merge from devbr6)
+
+2008-12-02 08:38  glynn
+
+	* gui/wxpython/vdigit/Makefile: Don't install files if they already
+	  exist and haven't changed
+
+2008-12-02 04:41  glynn
+
+	* lib/gis/locale.c: Only conditionalise applicable code on NLS
+	  availability, not G_init_locale() itself.
+
+2008-12-02 02:20  hamish
+
+	* raster/r.watershed/seg/sg_factor.c: fixme: G_percent (merge from
+	  devbr6)
+
+2008-12-02 01:57  hamish
+
+	* raster/r.watershed/seg/init_vars.c: bugfix from Markus Metz:
+	  correctly prune segments to max required; alloc for sscanf (merge
+	  from devbr6)
+
+2008-12-01 19:20  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: add list of columns
+	  for simple query
+	  (merge from devbr6, r34656)
+
+2008-12-01 16:45  martinl
+
+	* db/drivers/sqlite/db.c, display/d.thematic.area/plot1.c,
+	  display/d.vect.chart/plot.c, display/d.vect/area.c,
+	  display/d.vect/attr.c, display/d.vect/plot1.c,
+	  lib/rst/interp_float/vinput2d.c, lib/sites/sites.c,
+	  raster/r.random/random.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c, vector/v.convert/att.c,
+	  vector/v.in.dwg/main.c, vector/v.in.ogr/main.c,
+	  vector/v.info/main.c, vector/v.net.path/path.c,
+	  vector/v.surf.rst/main.c, vector/v.to.points/main.c: message
+	  standardization, i18n
+	  (merge from devbr6, r34653)
+
+2008-12-01 12:03  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/atm: don't crash on
+	  db.tables (trac #381)
+	  (merge from devbr6, r34651)
+
+2008-12-01 07:28  hamish
+
+	* raster/r.watershed/front/main.c: be noisier if the subprocess
+	  fails (merge from devbr6)
+
+2008-12-01 07:23  hamish
+
+	* raster/r.watershed/seg/do_astar.c: remove unused variables (merge
+	  from devbr6)
+
+2008-12-01 07:10  hamish
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_astar.h,
+	  raster/r.watershed/ram/find_pour.c,
+	  raster/r.watershed/ram/flag_create.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_astar.h,
+	  raster/r.watershed/seg/find_pour.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c: Merge r.watershed2 from Markus
+	  Metz into r.watershed.
+	  (merge from devbr6 r34645)
+	  
+	  fast version of r.watershed:
+	  Implemented is a new sorting algorithm for both the ram and the
+	  segmented version, resulting in significant speed improvements,
+	  with identical results.
+	  
+	  The new sorting algorithm is implemented for both the ram and the
+	  segmented version.
+	  The new segmented version is still much slower than the new ram
+	  version, but the new segmented version is already much faster
+	  than
+	  the original ram version. A new option is available for the
+	  segmented
+	  mode specifying the maximum amount of memory to be used in MB.
+
+2008-11-30 22:28  neteler
+
+	* vector/v.out.ascii/main.c: added 'comma' as field separator
+
+2008-11-30 20:06  martinl
+
+	* db/db.select/select.c: db.select: more guisections
+	  (merge from devbr6, r34640)
+
+2008-11-30 19:34  glynn
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.html: Clarify
+	  syntax of old_database= option
+
+2008-11-30 19:31  martinl
+
+	* vector/v.extract/main.c: v.extract: cosmetics (more guisection,
+	  order options based on
+	  guisections)
+	  (merge from devbr6, r34637)
+
+2008-11-30 19:13  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: add v.edit to the
+	  menu
+	  (merge from devbr6, r34634)
+
+2008-11-30 19:12  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix multi column
+	  option
+	  (merge from devbr6, r34633)
+
+2008-11-30 15:29  martinl
+
+	* gui/wxpython/gui_modules/gselect.py, lib/python/grass.py:
+	  grass.py: list_grouped2() added (g.mlist version of
+	  list_grouped())
+	  (merge from devbr6, r34631)
+
+2008-11-30 15:16  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix dialog with more
+	  'layer' options
+	  (merge from devbr6, r34629)
+
+2008-11-30 05:24  glynn
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.py: Simplify
+	  description; "help" is not intended to be a complete manual
+
+2008-11-30 02:02  hamish
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all.py: split new opt
+	  desc into label+desc (trac #385)
+
+2008-11-29 17:42  martinl
+
+	* imagery/i.ifft/main.c: i.ifft: use standardized options
+	  message standardization
+
+2008-11-29 16:40  martinl
+
+	* lib/python/grass.py, locale/po/grasslibs_tr.po: wxGUI: fix
+	  turkish translation, list_grouped() upgdated --- TODO: g.list
+	  shell script style
+
+2008-11-29 13:46  martinl
+
+	* imagery/i.fft/main.c: i.fft: cosmetics (use standardized
+	  parameters, message standardization)
+
+2008-11-29 03:07  hamish
+
+	* raster/r.watershed/front/main.c, raster/r.watershed/ram/main.c,
+	  raster/r.watershed/seg/main.c, raster/r.watershed/shed/main.c:
+	  email update (merge from devbr6)
+
+2008-11-29 02:02  hamish
+
+	* raster/r.watershed/seg/main.c: msg cleaning (merge from devbr6)
+
+2008-11-29 00:37  hamish
+
+	* vector/v.in.ascii/main.c: Column numbers must not be negative
+	  (trac #278, merge from devbr6)
+
+2008-11-28 23:00  glynn
+
+	* tools/grass_indent.sh: Add -npro switch (don't read .indent.pro
+	  files)
+
+2008-11-28 22:32  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: remove print statement
+
+2008-11-28 22:12  martinl
+
+	* include/Vect.h, lib/vector/Vlib/buffer.c,
+	  lib/vector/Vlib/buffer2.c, lib/vector/Vlib/dgraph.c,
+	  lib/vector/Vlib/dgraph.h, lib/vector/Vlib/e_intersect.c,
+	  lib/vector/Vlib/e_intersect.h, vector/v.buffer2/dgraph.c,
+	  vector/v.buffer2/dgraph.h, vector/v.buffer2/e_intersect.c,
+	  vector/v.buffer2/e_intersect.h, vector/v.buffer2/vlib_buffer.c,
+	  vector/v.parallel2/dgraph.c, vector/v.parallel2/dgraph.h,
+	  vector/v.parallel2/e_intersect.c,
+	  vector/v.parallel2/e_intersect.h,
+	  vector/v.parallel2/vlib_buffer.c: Vlib: Vect_line_buffe2(),
+	  Vect_area_buffer2(), Vect_point_buffer2() and
+	  Vect_line_parallel() moved from v.buffer2 and v.parallel2 to
+	  vector library (buffer2.c)
+	  
+	  (merge from devbr6, r34601)
+
+2008-11-28 17:55  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: grass module path added
+	  (MS Windows related patch)
+
+2008-11-28 11:21  marisn
+
+	* lib/vector/Vlib/map.c: Add documentation notice Vect_copy_tables
+	  about copying nonexisting tables (merge from devbr6 r34596)
+
+2008-11-28 10:23  marisn
+
+	* vector/v.kcv/main.c: Create new attribute table if input map
+	  doesn't has one; Don't leave unvinished output map around in case
+	  of fatal error (merge from devbr6 r34594)
+
+2008-11-28 09:30  marisn
+
+	* vector/v.build.polylines/main.c, vector/v.category/main.c,
+	  vector/v.clean/main.c, vector/v.kcv/main.c, vector/v.net/main.c,
+	  vector/v.proj/main.c, vector/v.transform/main.c,
+	  vector/v.type/main.c: Print warning if copying attribute table to
+	  new vector map fails (merge from devbr6 r34592)
+
+2008-11-28 09:00  neteler
+
+	* raster/r.sun2/r.sun.html: merged r32964
+
+2008-11-28 08:52  neteler
+
+	* raster/r.horizon/TODO, raster/r.sun2/TODO: Don't yet meet latest
+	  GRASS 7 API
+
+2008-11-28 07:02  hamish
+
+	* raster/r.watershed/seg/Gwater.h: more precise constants; merge
+	  from ram/
+
+2008-11-28 07:00  hamish
+
+	* raster/r.watershed/ram/Gwater.h: more precise constants; merge
+	  from r.watershed1 in devbr6
+
+2008-11-28 06:33  hamish
+
+	* raster/r.watershed/DEPRECATED: it lives
+
+2008-11-28 06:33  hamish
+
+	* raster/r.watershed/front/main.c: rename flag variables to
+	  something meaningful, sync front/ with r.watershed(1,2) in devbr6
+
+2008-11-28 00:51  glynn
+
+	* raster/r.horizon/main.c, raster/r.horizon/r.horizon.html,
+	  raster/r.sun2/main.c: Fix compile errors (7.0 is not 6.4)
+	  Fix HTML
+
+2008-11-28 00:50  glynn
+
+	* raster/Makefile: Re-instate r.watershed
+
+2008-11-28 00:48  glynn
+
+	* raster/r.watershed2: Version control: have you heard of it?
+
+2008-11-28 00:02  glynn
+
+	* raster/r.watershed2/front,
+	  raster/r.watershed2/front/r.watershed.html: Fix invalid HTML
+	  (literal < and > must use < and >)
+	  Set svn:ignore property
+
+2008-11-27 23:55  glynn
+
+	* Makefile: Fix bug in generation of dist.<arch>/grass<version>.tmp
+
+2008-11-27 23:13  martinl
+
+	* vector/v.parallel2/dgraph.c, vector/v.parallel2/e_intersect.c,
+	  vector/v.parallel2/main.c, vector/v.parallel2/vlib_buffer.c:
+	  v.parallel2: grass_indent.sh
+	  message standardization
+	  (merge from devbr6, r34571)
+
+2008-11-27 23:09  neteler
+
+	* raster/r.watershed2: svn:ignore
+
+2008-11-27 23:00  neteler
+
+	* raster/Makefile, raster/r.watershed/DEPRECATED,
+	  raster/r.watershed2, raster/r.watershed2/Makefile,
+	  raster/r.watershed2/README, raster/r.watershed2/front,
+	  raster/r.watershed2/front/Makefile,
+	  raster/r.watershed2/front/main.c,
+	  raster/r.watershed2/front/r.watershed.html,
+	  raster/r.watershed2/ram, raster/r.watershed2/ram/Gwater.h,
+	  raster/r.watershed2/ram/Makefile,
+	  raster/r.watershed2/ram/close_maps.c,
+	  raster/r.watershed2/ram/close_maps2.c,
+	  raster/r.watershed2/ram/def_basin.c,
+	  raster/r.watershed2/ram/do_astar.c,
+	  raster/r.watershed2/ram/do_astar.h,
+	  raster/r.watershed2/ram/do_cum.c,
+	  raster/r.watershed2/ram/find_pour.c,
+	  raster/r.watershed2/ram/flag.h,
+	  raster/r.watershed2/ram/flag_clr_all.c,
+	  raster/r.watershed2/ram/flag_create.c,
+	  raster/r.watershed2/ram/flag_destroy.c,
+	  raster/r.watershed2/ram/flag_get.c,
+	  raster/r.watershed2/ram/flag_set.c,
+	  raster/r.watershed2/ram/flag_unset.c,
+	  raster/r.watershed2/ram/haf_side.c,
+	  raster/r.watershed2/ram/init_vars.c,
+	  raster/r.watershed2/ram/main.c,
+	  raster/r.watershed2/ram/no_stream.c,
+	  raster/r.watershed2/ram/over_cells.c,
+	  raster/r.watershed2/ram/ramseg.c,
+	  raster/r.watershed2/ram/ramseg.h,
+	  raster/r.watershed2/ram/sg_factor.c,
+	  raster/r.watershed2/ram/slope_len.c,
+	  raster/r.watershed2/ram/split_str.c,
+	  raster/r.watershed2/ram/usage.c, raster/r.watershed2/seg,
+	  raster/r.watershed2/seg/Gwater.h,
+	  raster/r.watershed2/seg/Makefile,
+	  raster/r.watershed2/seg/bseg_close.c,
+	  raster/r.watershed2/seg/bseg_get.c,
+	  raster/r.watershed2/seg/bseg_open.c,
+	  raster/r.watershed2/seg/bseg_put.c,
+	  raster/r.watershed2/seg/bseg_read.c,
+	  raster/r.watershed2/seg/bseg_write.c,
+	  raster/r.watershed2/seg/close_maps.c,
+	  raster/r.watershed2/seg/close_maps2.c,
+	  raster/r.watershed2/seg/cseg.h,
+	  raster/r.watershed2/seg/cseg_close.c,
+	  raster/r.watershed2/seg/cseg_get.c,
+	  raster/r.watershed2/seg/cseg_open.c,
+	  raster/r.watershed2/seg/cseg_put.c,
+	  raster/r.watershed2/seg/cseg_read.c,
+	  raster/r.watershed2/seg/cseg_write.c,
+	  raster/r.watershed2/seg/def_basin.c,
+	  raster/r.watershed2/seg/do_astar.c,
+	  raster/r.watershed2/seg/do_astar.h,
+	  raster/r.watershed2/seg/do_cum.c,
+	  raster/r.watershed2/seg/dseg_close.c,
+	  raster/r.watershed2/seg/dseg_get.c,
+	  raster/r.watershed2/seg/dseg_open.c,
+	  raster/r.watershed2/seg/dseg_put.c,
+	  raster/r.watershed2/seg/dseg_read.c,
+	  raster/r.watershed2/seg/dseg_write.c,
+	  raster/r.watershed2/seg/find_pour.c,
+	  raster/r.watershed2/seg/haf_side.c,
+	  raster/r.watershed2/seg/init_vars.c,
+	  raster/r.watershed2/seg/main.c,
+	  raster/r.watershed2/seg/no_stream.c,
+	  raster/r.watershed2/seg/over_cells.c,
+	  raster/r.watershed2/seg/sg_factor.c,
+	  raster/r.watershed2/seg/slope_len.c,
+	  raster/r.watershed2/seg/split_str.c,
+	  raster/r.watershed2/seg/sseg_close.c,
+	  raster/r.watershed2/seg/sseg_get.c,
+	  raster/r.watershed2/seg/sseg_open.c,
+	  raster/r.watershed2/seg/sseg_put.c,
+	  raster/r.watershed2/seg/usage.c, raster/r.watershed2/shed,
+	  raster/r.watershed2/shed/Makefile,
+	  raster/r.watershed2/shed/accum_down.c,
+	  raster/r.watershed2/shed/basin_maps.c,
+	  raster/r.watershed2/shed/com_line.c,
+	  raster/r.watershed2/shed/file_in.c,
+	  raster/r.watershed2/shed/free.c,
+	  raster/r.watershed2/shed/insert_cat.c,
+	  raster/r.watershed2/shed/intro.c,
+	  raster/r.watershed2/shed/main.c,
+	  raster/r.watershed2/shed/print.c,
+	  raster/r.watershed2/shed/read.c,
+	  raster/r.watershed2/shed/valid.c,
+	  raster/r.watershed2/shed/watershed.h: moved here from GRASS
+	  Addons; deactivated r.watershed
+
+2008-11-27 22:59  martinl
+
+	* vector/v.buffer2/main.c: v.buffer: message cosmetics
+	  (merge from devbr6, r34563)
+
+2008-11-27 22:09  martinl
+
+	* vector/v.buffer2/dgraph.c, vector/v.buffer2/e_intersect.c,
+	  vector/v.buffer2/main.c, vector/v.buffer2/vlib_buffer.c:
+	  v.buffer2: grass_indent.sh
+	  message standardization
+
+2008-11-27 21:51  neteler
+
+	* raster/r.horizon, raster/r.sun2: svn ignore
+
+2008-11-27 21:47  neteler
+
+	* raster/Makefile: activated r.sun2 r.horizon
+
+2008-11-27 21:47  neteler
+
+	* raster/r.horizon, raster/r.horizon/Makefile,
+	  raster/r.horizon/TODO, raster/r.horizon/local_proto.h,
+	  raster/r.horizon/main.c, raster/r.horizon/r.horizon.html,
+	  raster/r.sun/DEPRECATED, raster/r.sun2, raster/r.sun2/Makefile,
+	  raster/r.sun2/README, raster/r.sun2/TODO,
+	  raster/r.sun2/local_proto.h, raster/r.sun2/main.c,
+	  raster/r.sun2/r.sun.html, raster/r.sun2/rsunglobals.h,
+	  raster/r.sun2/rsunlib.c, raster/r.sun2/sunradstruct.h: moved here
+	  from GRASS Addons; deactivated r.sun
+
+2008-11-27 20:59  martinl
+
+	* display/d.vect/main.c, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI: fix layer > 1
+	  vdigit: fix category dialog (change category)
+	  dbm: delete multiple records fixed
+
+2008-11-27 20:28  glynn
+
+	* Makefile, db/Makefile, gem/Makefile, general/g.version/Makefile,
+	  gui/images/Makefile, gui/wxpython/Makefile,
+	  gui/wxpython/nviz/Makefile, gui/wxpython/scripts/Makefile,
+	  lib/symbol/Makefile, ps/ps.map/Makefile,
+	  raster/r.li/r.li.setup/Makefile, scripts/d.polar/Makefile,
+	  scripts/db.test/Makefile, scripts/r.in.wms/Makefile,
+	  visualization/nviz/Makefile, visualization/nviz/html/Makefile:
+	  Don't create directories or install files if they already exist
+	  and haven't changed
+
+2008-11-27 19:09  epatton
+
+	* scripts/v.db.addtable/v.db.addtable.html: Applied doc patch from
+	  Moritz
+
+2008-11-27 18:51  glynn
+
+	* db/Makefile, db/base, db/db.columns, db/db.columns/Makefile,
+	  db/db.columns/columns.c, db/db.columns/db.columns.html,
+	  db/db.connect, db/db.connect/Makefile, db/db.connect/connect.c,
+	  db/db.connect/db.connect.html, db/db.copy, db/db.copy/Makefile,
+	  db/db.copy/copy.c, db/db.copy/db.copy.html, db/db.createdb,
+	  db/db.createdb/Makefile, db/db.createdb/createdb.c,
+	  db/db.createdb/db.createdb.html, db/db.databases,
+	  db/db.databases/Makefile, db/db.databases/databases.c,
+	  db/db.databases/db.databases.html, db/db.describe,
+	  db/db.describe/Makefile, db/db.describe/db.describe.html,
+	  db/db.describe/describe.c, db/db.describe/local_proto.h,
+	  db/db.describe/printtab.c, db/db.drivers, db/db.drivers/Makefile,
+	  db/db.drivers/db.drivers.html, db/db.drivers/drivers.c,
+	  db/db.dropdb, db/db.dropdb/Makefile, db/db.dropdb/db.dropdb.html,
+	  db/db.dropdb/dropdb.c, db/db.droptable, db/db.droptable/Makefile,
+	  db/db.droptable/db.droptable.html, db/db.droptable/droptable.c,
+	  db/db.execute, db/db.execute/Makefile,
+	  db/db.execute/db.execute.html, db/db.execute/execute.c,
+	  db/db.select, db/db.select/Makefile, db/db.select/db.select.html,
+	  db/db.select/local_proto.h, db/db.select/printtab.c,
+	  db/db.select/select.c, db/db.tables, db/db.tables/Makefile,
+	  db/db.tables/db.tables.html, db/db.tables/tables.c,
+	  general/g.copy/copy.c, general/g.copy/main.c,
+	  general/g.list/list.c, general/g.list/main.c,
+	  general/g.remove/main.c, general/g.remove/remove.c,
+	  general/g.rename/main.c, general/g.rename/rename.c,
+	  raster/Makefile, raster/r.ros, raster/r.ros/Makefile,
+	  raster/r.ros/local_proto.h, raster/r.ros/main.c,
+	  raster/r.ros/r.ros.html, raster/r.ros/spot_dist.c,
+	  raster/r.spread, raster/r.spread/Makefile,
+	  raster/r.spread/cell_ptrHa.h, raster/r.spread/cmd_line.h,
+	  raster/r.spread/collect_ori.c, raster/r.spread/costHa.h,
+	  raster/r.spread/deleteHa.c, raster/r.spread/display.c,
+	  raster/r.spread/fixHa.c, raster/r.spread/get_minHa.c,
+	  raster/r.spread/insert2Ha.c, raster/r.spread/insertHa.c,
+	  raster/r.spread/local_proto.h, raster/r.spread/main.c,
+	  raster/r.spread/pick_dist.c, raster/r.spread/pick_ignite.c,
+	  raster/r.spread/r.spread.html, raster/r.spread/ram2out.c,
+	  raster/r.spread/replaceHa.c, raster/r.spread/select_linksB.c,
+	  raster/r.spread/spot.c, raster/r.spread/spread.c,
+	  raster/r.spreadpath, raster/r.spreadpath/Makefile,
+	  raster/r.spreadpath/drawline.c, raster/r.spreadpath/insert.c,
+	  raster/r.spreadpath/local_proto.h, raster/r.spreadpath/main.c,
+	  raster/r.spreadpath/path_finder.c, raster/r.spreadpath/point.h,
+	  raster/r.spreadpath/r.spreadpath.html,
+	  raster/r.spreadpath/stash.h, raster/wildfire/r.ros,
+	  raster/wildfire/r.spread, raster/wildfire/r.spreadpath,
+	  raster3d/Makefile, raster3d/base/Makefile,
+	  raster3d/base/r3.info.html, raster3d/base/r3.info.main.c,
+	  raster3d/base/r3.timestamp.html,
+	  raster3d/base/r3.timestamp.main.c, raster3d/r3.info,
+	  raster3d/r3.info/Makefile, raster3d/r3.info/r3.info.html,
+	  raster3d/r3.info/r3.info.main.c, raster3d/r3.timestamp,
+	  raster3d/r3.timestamp/Makefile,
+	  raster3d/r3.timestamp/r3.timestamp.html,
+	  raster3d/r3.timestamp/r3.timestamp.main.c: Improve adherence to
+	  consistent directory structure
+
+2008-11-27 17:17  neteler
+
+	* scripts/db.in.ogr/db.in.ogr.py: untested bugfix (merge from
+	  devel_branch6, r34540)
+
+2008-11-27 16:39  glynn
+
+	* db/drivers/mysql/create_table.c, db/drivers/mysql/db.c,
+	  db/drivers/mysql/parse.c, db/drivers/mysql/proto.h,
+	  display/d.labels/main.c, display/d.nviz/local.h,
+	  display/d.nviz/main.c, general/g.copy/copy.c,
+	  general/g.filename/main.c, general/g.findfile/main.c,
+	  general/g.gisenv/main.c, general/g.gui/main.c,
+	  general/g.list/list.c, general/g.mapset/main.c,
+	  general/g.mapsets/dsply_path.c, general/g.mapsets/main.c,
+	  general/g.mlist/main.c, general/g.mremove/main.c,
+	  general/g.proj/output.c, general/g.region/adjust.c,
+	  general/g.region/local_proto.h, general/g.region/main.c,
+	  general/g.region/printwindow.c, general/g.region/zoom.c,
+	  general/g.remove/remove.c, general/g.rename/rename.c,
+	  gui/wxpython/nviz/load.cpp, imagery/i.atcorr/main.cpp,
+	  imagery/i.find/main.c, imagery/i.gensig/files.h,
+	  imagery/i.gensig/labels.c, imagery/i.gensig/openfiles.c,
+	  imagery/i.gensigset/labels.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.gensigset/parms.h, imagery/i.group/main.c,
+	  imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/openfiles.c,
+	  imagery/i.pca/main.c, imagery/i.pca/support.c,
+	  imagery/i.rgb.his/closefiles.c, imagery/i.rgb.his/openfiles.c,
+	  imagery/i.smap/shapiro/history.c,
+	  imagery/i.smap/shapiro/local_proto.h,
+	  imagery/i.smap/shapiro/opencell.c, imagery/i.zc/main.c,
+	  include/P_site.h, include/gisdefs.h, lib/form/generate.c,
+	  lib/g3d/find_grid3.c, lib/g3d/g3dkeys.c, lib/gis/adj_cellhd.c,
+	  lib/gis/align_window.c, lib/gis/date.c, lib/gis/datum.c,
+	  lib/gis/env.c, lib/gis/error.c, lib/gis/find_cell.c,
+	  lib/gis/find_file.c, lib/gis/find_vect.c, lib/gis/get_cellhd.c,
+	  lib/gis/get_ellipse.c, lib/gis/get_row.c, lib/gis/gisbase.c,
+	  lib/gis/gisdbase.c, lib/gis/gisinit.c, lib/gis/home.c,
+	  lib/gis/key_value1.c, lib/gis/key_value4.c, lib/gis/legal_name.c,
+	  lib/gis/ll_format.c, lib/gis/location.c, lib/gis/mach_name.c,
+	  lib/gis/make_loc.c, lib/gis/mapset.c, lib/gis/mapset_nme.c,
+	  lib/gis/opencell.c, lib/gis/overwrite.c, lib/gis/parser.c,
+	  lib/gis/proj2.c, lib/gis/put_title.c, lib/gis/put_window.c,
+	  lib/gis/rd_cellhd.c, lib/gis/remove.c, lib/gis/set_window.c,
+	  lib/gis/whoami.c, lib/init/clean_temp.c, lib/manage/add_elem.c,
+	  lib/manage/do_copy.c, lib/manage/do_list.c,
+	  lib/manage/do_remove.c, lib/manage/do_rename.c,
+	  lib/manage/find.c, lib/manage/list.h, lib/proj/convert.c,
+	  lib/proj/ellipse.c, lib/proj/get_proj.c,
+	  lib/rst/interp_float/input2d.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/resout2d.c, lib/sites/sites.c,
+	  lib/symbol/read.c, lib/vector/Vlib/open.c,
+	  lib/vector/diglib/file.c, ps/ps.map/colortable.h,
+	  ps/ps.map/do_header.c, ps/ps.map/error.c,
+	  ps/ps.map/local_proto.h, ps/ps.map/outl_io.c,
+	  ps/ps.map/ps_info.h, ps/ps.map/ps_map.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_group.c, ps/ps.map/r_rgb.c, ps/ps.map/scan_gis.c,
+	  raster/r.buffer/local_proto.h, raster/r.buffer/main.c,
+	  raster/r.carve/main.c, raster/r.category/cats.c,
+	  raster/r.category/local_proto.h, raster/r.category/main.c,
+	  raster/r.coin/print_hdr.c, raster/r.colors/main.c,
+	  raster/r.cost/main.c, raster/r.cross/glob.h,
+	  raster/r.cross/main.c, raster/r.distance/defs.h,
+	  raster/r.distance/distance.c, raster/r.distance/parse.c,
+	  raster/r.fill.dir/main.c, raster/r.flow/io.c,
+	  raster/r.in.arc/gethead.c, raster/r.in.ascii/gethead.c,
+	  raster/r.in.bin/main.c, raster/r.in.gridatb/local_proto.h,
+	  raster/r.in.gridatb/main.c, raster/r.in.mat/main.c,
+	  raster/r.info/main.c, raster/r.kappa/kappa.h,
+	  raster/r.kappa/main.c, raster/r.kappa/prt_mat.c,
+	  raster/r.kappa/stats.c, raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c, raster/r.los/main.c,
+	  raster/r.mapcalc/map.c, raster/r.null/local_proto.h,
+	  raster/r.null/main.c, raster/r.out.gdal/main.c,
+	  raster/r.out.gridatb/check_ready.c,
+	  raster/r.out.gridatb/file_io.c,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.param.scale/interface.c,
+	  raster/r.param.scale/main.c, raster/r.param.scale/open_files.c,
+	  raster/r.param.scale/param.h, raster/r.param.scale/write_cols.c,
+	  raster/r.patch/support.c, raster/r.reclass/main.c,
+	  raster/r.reclass/parse.c, raster/r.reclass/reclass.c,
+	  raster/r.reclass/rule.h, raster/r.reclass/stats.c,
+	  raster/r.region/main.c, raster/r.report/global.h,
+	  raster/r.report/header.c, raster/r.report/parse.c,
+	  raster/r.resamp.interp/main.c, raster/r.resamp.stats/main.c,
+	  raster/r.slope.aspect/local_proto.h,
+	  raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.support/main.c, raster/r.surf.contour/bseg_read.c,
+	  raster/r.surf.contour/bseg_write.c, raster/r.surf.contour/cseg.h,
+	  raster/r.surf.contour/cseg_read.c,
+	  raster/r.surf.contour/cseg_write.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.fractal/frac.h, raster/r.surf.fractal/main.c,
+	  raster/r.terraflow/grass2str.h, raster/r.terraflow/main.cc,
+	  raster/r.to.vect/main.c, raster/r.topmodel/global.h,
+	  raster/r.topmodel/main.c, raster/r.volume/main.c,
+	  raster/r.water.outlet/legal.c, raster/r.water.outlet/main.c,
+	  raster/r.water.outlet/outletP.h, raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.mkdspf/local_proto.h,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.out.vtk/main.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.buffer2/main.c,
+	  vector/v.convert/att.c, vector/v.convert/old2new.c,
+	  vector/v.delaunay2/in_out.c, vector/v.delaunay2/main.c,
+	  vector/v.digit/generate.c, vector/v.digit/main.c,
+	  vector/v.digit/zoom.c, vector/v.drape/main.c,
+	  vector/v.drape/v.drape.html, vector/v.in.sites/main.c,
+	  vector/v.info/main.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.proj/main.c,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/user1.c,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/pick_vect_commands.c,
+	  visualization/nviz/src/query_vect.c,
+	  visualization/nviz2/cmd/surface.c,
+	  visualization/nviz2/cmd/vector.c, visualization/xganim/Makefile,
+	  visualization/xganim/main.cc: Add "const" where appropriate to
+	  libgis return types
+
+2008-11-27 16:32  glynn
+
+	* vector/v.buffer2/v.buffer.html, vector/v.buffer2/v.buffer2.html,
+	  vector/v.delaunay2/v.delaunay.html,
+	  vector/v.delaunay2/v.delaunay2.html: HTML files must be named
+	  after the module, not the directory
+
+2008-11-27 16:32  glynn
+
+	* vector/v.parallel2: Set svn:ignore property
+
+2008-11-27 14:34  epatton
+
+	* scripts/v.db.addtable/v.db.addtable.html: Added note about using
+	  v.category to add cats to new table
+
+2008-11-27 13:30  neteler
+
+	* raster/r.external/main.c: say which band is imported
+
+2008-11-27 11:23  marisn
+
+	* include/Vect.h: Adding skipped Vect_line_get_intersections
+	  declaration (merge from develbranch_6 r34499)
+
+2008-11-27 11:16  marisn
+
+	* vector/v.drape/main.c, vector/v.drape/v.drape.html: v.drape WHERE
+	  support and ignore vectors without height information (NULL in
+	  raster) (merge from develbranch_6 r34150)
+
+2008-11-26 23:16  glynn
+
+	* general/g.region/printwindow.c, include/gisdefs.h,
+	  lib/gis/proj3.c: Eliminate use of static buffers for return
+	  values
+
+2008-11-26 21:52  neteler
+
+	* vector/Makefile, vector/v.buffer/DEPRECATED,
+	  vector/v.parallel/DEPRECATED, vector/v.voronoi/Makefile,
+	  vector/v.voronoi/delaunay_DEPRECATED: activated v.buffer2,
+	  v.delaunay2, v.parallel2
+
+2008-11-26 21:42  neteler
+
+	* vector/v.buffer2, vector/v.delaunay2, vector/v.delaunay2/main.c,
+	  vector/v.parallel2, vector/v.parallel2/Makefile,
+	  vector/v.parallel2/dgraph.c, vector/v.parallel2/dgraph.h,
+	  vector/v.parallel2/e_intersect.c,
+	  vector/v.parallel2/e_intersect.h,
+	  vector/v.parallel2/local_proto.h, vector/v.parallel2/main.c,
+	  vector/v.parallel2/v.parallel.html,
+	  vector/v.parallel2/vlib_buffer.c: svn:ignore
+
+2008-11-26 21:35  neteler
+
+	* vector/v.delaunay2, vector/v.delaunay2/Makefile,
+	  vector/v.delaunay2/data_types.h, vector/v.delaunay2/defs.h,
+	  vector/v.delaunay2/edge.c, vector/v.delaunay2/edge.h,
+	  vector/v.delaunay2/geom_primitives.h,
+	  vector/v.delaunay2/geometry.c, vector/v.delaunay2/geometry.h,
+	  vector/v.delaunay2/in_out.c, vector/v.delaunay2/in_out.h,
+	  vector/v.delaunay2/main.c, vector/v.delaunay2/memory.c,
+	  vector/v.delaunay2/memory.h, vector/v.delaunay2/v.delaunay2.html,
+	  vector/v.delaunay2/v_delaunay_spearfish60_archsites.png: moved
+	  here from GRASS Addons
+
+2008-11-26 21:24  neteler
+
+	* vector/v.buffer2/description.html,
+	  vector/v.buffer2/v.buffer2.html: renamed
+
+2008-11-26 21:23  neteler
+
+	* vector/v.buffer2, vector/v.buffer2/Makefile,
+	  vector/v.buffer2/description.html, vector/v.buffer2/dgraph.c,
+	  vector/v.buffer2/dgraph.h, vector/v.buffer2/e_intersect.c,
+	  vector/v.buffer2/e_intersect.h, vector/v.buffer2/local_proto.h,
+	  vector/v.buffer2/main.c, vector/v.buffer2/vlib_buffer.c: moved
+	  here from GRASS Addons
+
+2008-11-26 21:05  neteler
+
+	* raster/r.sunmask/main.c: cosmetics
+
+2008-11-26 19:30  neteler
+
+	* db/base/db.execute.html: table join example added
+
+2008-11-26 16:55  neteler
+
+	* lib/db/dbmi_client/copy_tab.c: msg fix
+
+2008-11-26 10:28  neteler
+
+	* vector/v.to.db/query.c, vector/v.to.db/update.c: debug fixes
+
+2008-11-26 09:28  neteler
+
+	* vector/v.to.db/query.c, vector/v.to.db/update.c: fix to use
+	  qlayer to find table to read from (fixes wrong access if layer>1
+	  is used)
+
+2008-11-26 06:22  hamish
+
+	* lib/symbol/symbol/extra/half-box: new symbol (merge from devbr6)
+
+2008-11-26 04:45  hamish
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html,
+	  vector/v.digit/v.digit.html: recovery tip (merge from devbr6)
+
+2008-11-25 23:47  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  include/config.h.in, lib/gis/Makefile, lib/gis/counter.c,
+	  lib/gis/worker.c, raster/r.mapcalc/Makefile,
+	  raster/r.mapcalc/evaluate.c, raster/r.mapcalc/map.c: Add
+	  --with-pthread etc to configure script
+	  Fix bugs in counter.c, r.mapcalc
+
+2008-11-25 21:15  glynn
+
+	* include/gisdefs.h, lib/gis/Makefile, lib/gis/counter.c,
+	  lib/gis/datum.c, lib/gis/debug.c, lib/gis/env.c, lib/gis/error.c,
+	  lib/gis/gdal.c, lib/gis/get_ellipse.c, lib/gis/get_window.c,
+	  lib/gis/gisinit.c, lib/gis/home.c, lib/gis/locale.c,
+	  lib/gis/mach_name.c, lib/gis/mapset_nme.c, lib/gis/opencell.c,
+	  lib/gis/tempfile.c, lib/gis/verbose.c, lib/gis/whoami.c,
+	  lib/gis/window_map.c, lib/gis/worker.c,
+	  raster/r.mapcalc/evaluate.c: Add, use G_is_initialized(),
+	  G_initialize_done() for one-shot initialisation
+	  Optionally use mutexes for incrementing counters
+	  Generalise r.mapcalc worker-threads code, move into lib/gis
+	  Remove G_get_fp_type(), G_get_compression_type; initialise in
+	  gisinit()
+
+2008-11-25 17:14  glynn
+
+	* include/gis.h, include/gisdefs.h, lib/gis/counter.c,
+	  lib/gis/error.c, lib/gis/gisinit.c, lib/gis/tempfile.c: Add, use
+	  "struct Counter" and supporting functions
+	  Add G_init_all()
+
+2008-11-25 06:26  glynn
+
+	* include/gisdefs.h, lib/g3d/g3dcolor.c, lib/g3d/g3drange.c,
+	  lib/gis/area_ellipse.c, lib/gis/area_poly1.c,
+	  lib/gis/area_sphere.c, lib/gis/ascii_chk.c, lib/gis/auto_mask.c,
+	  lib/gis/bres_line.c, lib/gis/cats.c, lib/gis/cell_stats.c,
+	  lib/gis/clear_scrn.c, lib/gis/color_compat.c,
+	  lib/gis/color_free.c, lib/gis/color_get.c, lib/gis/color_hist.c,
+	  lib/gis/color_init.c, lib/gis/color_invrt.c,
+	  lib/gis/color_look.c, lib/gis/color_org.c, lib/gis/color_rand.c,
+	  lib/gis/color_range.c, lib/gis/color_read.c,
+	  lib/gis/color_rule.c, lib/gis/color_rules.c, lib/gis/color_set.c,
+	  lib/gis/color_shift.c, lib/gis/color_write.c,
+	  lib/gis/color_xform.c, lib/gis/commas.c, lib/gis/copy.c,
+	  lib/gis/done_msg.c, lib/gis/error.c, lib/gis/fpreclass.c,
+	  lib/gis/geodesic.c, lib/gis/geodist.c, lib/gis/gisinit.c,
+	  lib/gis/histo_eq.c, lib/gis/histogram.c, lib/gis/history.c,
+	  lib/gis/key_value1.c, lib/gis/line_dist.c, lib/gis/list.c,
+	  lib/gis/ll_format.c, lib/gis/ls.c, lib/gis/null_val.c,
+	  lib/gis/parser.c, lib/gis/percent.c, lib/gis/plot.c,
+	  lib/gis/pole_in_poly.c, lib/gis/put_row.c, lib/gis/quant.c,
+	  lib/gis/range.c, lib/gis/raster.c, lib/gis/reclass.c,
+	  lib/gis/rhumbline.c, lib/gis/short_way.c, lib/gis/strings.c,
+	  lib/gis/tempfile.c, lib/gis/timestamp.c, lib/gis/token.c,
+	  lib/gis/trim_dec.c, lib/gis/view.c, lib/gis/wind_2_box.c,
+	  lib/gis/wind_format.c, lib/gis/window_map.c, lib/gis/wr_cellhd.c,
+	  lib/gis/writ_zeros.c, lib/gis/zero.c, lib/gis/zero_cell.c,
+	  lib/ogsf/Gvl3.c, raster/r.contour/main.c, raster/r.flow/mem.h:
+	  Remove unnecessary return values
+	  Miscellaneous clean-up
+
+2008-11-25 01:05  glynn
+
+	* include/gisdefs.h, lib/gis/debug.c, lib/gis/error.c,
+	  lib/gis/opencell.c: Add various functions to force
+	  initialisation:
+	  G_init_debug, G_init_logging, G_get_fp_type,
+	  G_get_compression_type
+
+2008-11-24 23:58  glynn
+
+	* include/gisdefs.h, lib/gis/env.c, lib/gis/get_window.c: Add
+	  G_init_env()
+	  Remove unnecessary return values
+	  Miscellaneous clean-up
+
+2008-11-24 23:55  glynn
+
+	* imagery/i.vpoints/drawvect.c, raster/r.cost/main.c,
+	  raster/r.out.tiff/main.c, raster/r.surf.idw/main.c,
+	  raster/r.walk/main.c, raster/r.water.outlet/main.c,
+	  raster/wildfire/r.ros/main.c, raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spreadpath/main.c: Don't bother checking the
+	  return code from G_get_window():
+	  It never returns a failure code, and soon won't return anything
+
+2008-11-24 13:06  neteler
+
+	* raster/r.texture/main.c: write cmd history
+
+2008-11-24 08:34  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: v.category in quiet
+	  mode
+	  (merge from devbr6, r34474)
+
+2008-11-24 08:08  martinl
+
+	* gui/wxpython/vdigit/line.cpp, include/vedit.h,
+	  lib/vector/Vlib/build.c, lib/vector/vedit/chtype.c,
+	  vector/v.edit/main.c: vlib: print build message for >
+	  GV_BUILD_NONE
+	  veditlib: simplify Vedit_chtype_lines()
+	  v.edit: updated
+	  (merge from devbr6, r34472)
+
+2008-11-24 07:20  martinl
+
+	* gui/wxpython/vdigit/driver.cpp: wxGUI/vdigit: be quiet
+	  (merge from devbr6, r34470)
+
+2008-11-24 07:15  martinl
+
+	* lib/vector/Vlib/intersect.c: vlib: IPnts must be allocated first
+	  (merge from devbr6, r34468)
+
+2008-11-24 05:57  martinl
+
+	* gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/undo.cpp: wxGUI/vdigit: some minor fixes in
+	  undo
+	  (merge from devbr6, r34466)
+
+2008-11-24 05:45  martinl
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c: vlib: print
+	  build messages in standard message mode (G_verbose_message() ->
+	  G_message())
+	  (merge from devbr6, r34464)
+
+2008-11-24 03:41  glynn
+
+	* include/gisdefs.h, lib/gis/G.h, lib/gis/debug.c,
+	  lib/gis/gisinit.c, lib/gis/opencell.c, lib/gis/progrm_nme.c,
+	  lib/gis/whoami.c: Remove unnecessary static variables from
+	  opencell.c
+	  Move remaining static variables from opencell.c to fields of G__
+	  Remove unnecessary return values
+	  Miscellaneous clean-up
+
+2008-11-23 23:25  glynn
+
+	* include/gisdefs.h, include/glocale.h, lib/gis/clicker.c,
+	  lib/gis/datum.c, lib/gis/distance.c, lib/gis/env.c,
+	  lib/gis/gdal.c, lib/gis/geodesic.c, lib/gis/geodist.c,
+	  lib/gis/get_ellipse.c, lib/gis/locale.c, lib/gis/ls.c,
+	  lib/gis/mapset_nme.c, lib/gis/parser.c, lib/gis/percent.c,
+	  lib/gis/plot.c, lib/gis/rhumbline.c, lib/gis/set_window.c: Bundle
+	  static variables into per-file structures
+	  Add explicit init functions where appropriate
+	  Make G_clicker() respect GRASS_MESSAGE_FORMAT and GRASS_VERBOSE
+	  Remove unnecessary return values
+	  Miscellaneous clean-up
+
+2008-11-23 23:21  glynn
+
+	* raster/r.flow/main.c, raster/r.resamp.rst/main.c,
+	  raster/r.sun/main.c, raster/r.terraflow/main.cc,
+	  vector/v.surf.rst/main.c, vector/v.vol.rst/main.c: Don't bother
+	  checking the return code from G_get_set_window()
+	  It never returns a failure code, and soon won't return anything
+
+2008-11-23 23:09  glynn
+
+	* vector/v.perturb/zufall.h: Remove (unnecessary) local prototype
+	  for G_clicker()
+
+2008-11-23 23:07  glynn
+
+	* raster/Makefile: Enable r.statistics3
+
+2008-11-23 19:32  kyngchaos
+
+	* macosx/pkg/bundle.make: use INSTALL instead of INSTALL_BIN (sync
+	  from dev6)
+
+2008-11-23 19:29  glynn
+
+	* lib/gis/area.c, lib/gis/area_ellipse.c, lib/gis/area_poly1.c,
+	  lib/gis/area_sphere.c: Bundle static variables into per-file
+	  structures
+
+2008-11-23 19:08  kyngchaos
+
+	* macosx/ReadMe.rtf: remove dup option for wx-config (sync from
+	  dev6)
+
+2008-11-23 18:15  kyngchaos
+
+	* macosx/ReadMe.rtf: change to tcltk aqua 8.5, wxpython gui update,
+	  misc formatting cleanup (sync from dev6)
+
+2008-11-23 07:45  neteler
+
+	* lib/gis/gisrasterlib.dox: null file explanations from Glynn added
+
+2008-11-23 02:25  glynn
+
+	* lib/gis/null_val.c: Fix "null values not initialized" bug in
+	  previous commit
+
+2008-11-23 01:41  glynn
+
+	* include/gisdefs.h, lib/gis/alloc_cell.c, lib/gis/cats.c,
+	  lib/gis/cell_stats.c, lib/gis/clicker.c, lib/gis/closecell.c,
+	  lib/gis/datum.c, lib/gis/env.c, lib/gis/get_ellipse.c,
+	  lib/gis/get_row.c, lib/gis/get_row_colr.c, lib/gis/gisinit.c,
+	  lib/gis/list.c, lib/gis/mach_name.c, lib/gis/mask_info.c,
+	  lib/gis/myname.c, lib/gis/null_val.c, lib/gis/parser.c,
+	  lib/gis/percent.c, lib/gis/popen.c, lib/gis/proj3.c,
+	  lib/gis/put_row.c, lib/gis/reclass.c, lib/gis/spawn.c,
+	  lib/gis/view.c: Reduce use of static variables
+	  Miscellaneous clean-up
+
+2008-11-22 21:52  glynn
+
+	* include/gis.h, include/gisdefs.h, lib/gis/G.h,
+	  lib/gis/closecell.c, lib/gis/color_init.c, lib/gis/color_org.c,
+	  lib/gis/debug.c, lib/gis/get_row.c, lib/gis/gisinit.c,
+	  lib/gis/init_map.c, lib/gis/opencell.c, lib/gis/put_row.c,
+	  lib/gis/set_window.c, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/expression.c, raster/r.mapcalc/map.c: Add
+	  G__alloca(), G__freea() (uses alloca if available,
+	  G_malloc/G_free otherwise)
+	  Remove pre-allocated row buffers
+	  Remove G_open_cell_new_random() etc
+	  Make G__organize_colors() re-entrant
+
+2008-11-22 03:14  hamish
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: fix menu (merge from
+	  devbr6 + tab to 8spc)
+
+2008-11-22 00:07  glynn
+
+	* raster/r.mapcalc/Makefile, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/expression.h: Experimental pthreads
+	  (parallelism) support; use "make USE_PTHREAD=1" to test
+
+2008-11-21 23:39  glynn
+
+	* db/drivers/mysql/dbe.c: Don't modify constant strings
+
+2008-11-21 23:37  glynn
+
+	* raster/Makefile: r.average, r.median, r.sum have been removed;
+	  don't try to build them
+
+2008-11-21 23:35  neteler
+
+	* lib/proj/convert.c: support funky MONTROME name (Monte_Mario)
+
+2008-11-21 23:23  martinl
+
+	* gui/wxpython/gui_modules/utils.py: wxGUI: remove print statement
+	  (merge from devbr6, r34434)
+
+2008-11-21 20:47  neteler
+
+	* general/g.mlist/g.mlist.html: explain exclude parameter
+
+2008-11-21 16:07  glynn
+
+	* raster/Makefile, raster/r.buffer/Makefile,
+	  raster/r.buffer/r.buffer.html, raster/r.buffer/r.buffer2.html:
+	  Rename r.buffer to r.buffer2
+
+2008-11-21 15:51  glynn
+
+	* raster/r.grow.distance/main.c, scripts/r.buffer/r.buffer.py: Add
+	  metric=geodesic to r.grow.distance
+	  Use metric=geodesic for r.buffer in lat/lon
+
+2008-11-21 14:30  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/utils.py, vector/v.category/main.c:
+	  wxGUI: fix layer selection -- trac #371
+	  (merge from devbr6, r34424)
+
+2008-11-21 11:21  hamish
+
+	* raster/r.in.poly/main.c, raster/r.in.poly/poly2rast.c: input=-
+	  reads from stdin (merge from devbr6)
+
+2008-11-21 00:42  glynn
+
+	* lib/python/grass.py, scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.tasscap/i.tasscap.py, scripts/r.blend/r.blend.py,
+	  scripts/r.buffer/r.buffer.py, scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/r.grow/r.grow.py, scripts/r.mask/r.mask.py,
+	  scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/v.rast.stats/v.rast.stats.py: Add, use grass.mapcalc()
+	  function
+
+2008-11-21 00:01  glynn
+
+	* general/g.ask: Remove unused directory
+
+2008-11-20 22:48  glynn
+
+	* general/Makefile, general/g.copy, general/g.copy/Makefile,
+	  general/g.copy/copy.c, general/g.copy/g.copy.html,
+	  general/g.list, general/g.list/Makefile,
+	  general/g.list/g.list.html, general/g.list/list.c,
+	  general/g.remove, general/g.remove/Makefile,
+	  general/g.remove/g.remove.html, general/g.remove/remove.c,
+	  general/g.rename, general/g.rename/Makefile,
+	  general/g.rename/g.rename.html, general/g.rename/rename.c,
+	  general/manage/Makefile, general/manage/cmd: Split
+	  general/manage/cmd into separate modules
+
+2008-11-20 22:37  glynn
+
+	* general/manage/cmd/Makefile, general/manage/cmd/copy.c,
+	  general/manage/cmd/init.c, general/manage/cmd/list.c,
+	  general/manage/cmd/local_proto.h, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c: Clean up management utilities
+
+2008-11-20 22:31  glynn
+
+	* include/gis.h, lib/gis/color_xform.c,
+	  raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/stats.c: Add -a (log-abs) flag to r.colors
+
+2008-11-20 21:37  glynn
+
+	* raster/r.reclass/main.c, raster/r.recode/main.c: Use rules=- to
+	  read from stdin
+
+2008-11-20 21:26  glynn
+
+	* raster/r.recode/main.c, raster/r.recode/read_rules.c,
+	  raster/r.recode/recode.c: Revert r34367
+
+2008-11-20 21:07  glynn
+
+	* lib/proj/ellipse.c: Use automatic buffer instead of dynamic
+	  allocation
+
+2008-11-20 21:05  glynn
+
+	* lib/proj/ellipse.c: Fix memory leak
+	  Cleanup
+
+2008-11-20 20:04  glynn
+
+	* scripts/Makefile: Enable r.buffer, r.grow
+
+2008-11-20 20:03  glynn
+
+	* raster/Makefile, scripts/r.buffer, scripts/r.buffer/Makefile,
+	  scripts/r.buffer/r.buffer.html, scripts/r.buffer/r.buffer.py:
+	  Replace r.buffer with a script using r.grow.distance
+
+2008-11-20 19:11  glynn
+
+	* raster/r.average, raster/r.median, raster/r.sum: Remove r.sum,
+	  r.average, r.median - redundant due to r.statistics{,2,3}
+
+2008-11-20 16:50  glynn
+
+	* general/g.mlist/main.c: Add exclude= option
+
+2008-11-20 16:40  glynn
+
+	* include/gisdefs.h, lib/gis/ls.c: Add G_set_ls_exclude_filter()
+
+2008-11-20 16:29  glynn
+
+	* raster/Makefile, scripts/r.grow, scripts/r.grow/Makefile,
+	  scripts/r.grow/r.grow.html, scripts/r.grow/r.grow.py: Replace
+	  r.grow with script
+
+2008-11-20 16:29  glynn
+
+	* raster/r.grow.distance/main.c: Output maps are optional; don't
+	  use them if they weren't chosen
+	  Fix spelling of "euclidean"
+
+2008-11-20 16:27  glynn
+
+	* raster/r.grow/main.c: Remove -q flag
+	  Fix spelling of "euclidean"
+
+2008-11-20 02:35  hamish
+
+	* gui/wxpython/gui_modules/menudata.py: get name of module right
+
+2008-11-19 23:05  glynn
+
+	* raster/r.grow.distance/main.c,
+	  raster/r.grow.distance/r.grow.distance.html: Enhancement: allow
+	  output of value of nearest cell
+	  Rename output= to distance=, add value=
+
+2008-11-19 17:09  glynn
+
+	* lib/gis/get_ellipse.c: Close ellipse.table file when done
+	  (suggest backporting)
+
+2008-11-19 12:13  hamish
+
+	* gui/wxpython/gui_modules/menudata.py: add some new modules to
+	  menu (merge from devbr6)
+
+2008-11-19 09:55  neteler
+
+	* general/g.mkfontcap/main.c: issue a warning if Freetype support
+	  lacking (trac #368)
+
+2008-11-19 09:20  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: georect: fix 'Zoom to map'
+	  (merge from devbr6, r34385)
+
+2008-11-19 02:39  glynn
+
+	* gui/wxpython/gui_modules/disp_print.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Remove
+	  PrintOptions.OnReset()
+
+2008-11-18 21:59  glynn
+
+	* gui/wxpython/gui_modules/disp_print.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Don't allocate wx.PrintData
+	  object until needed (due to warnings)
+
+2008-11-18 20:43  martinl
+
+	* scripts/i.fusion.brovey/i.fusion.brovey.py: i.fusion.brovey:
+	  message standardization + verbose mode
+
+2008-11-18 20:21  neteler
+
+	* locale/po/grassmods_de.po: Robert Nuske <rnuske gwdg.de>: cont'ed
+
+2008-11-18 18:19  glynn
+
+	* scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.renamecol/v.db.renamecol.py: Correct usage of
+	  grass.db_describe()
+
+2008-11-18 16:35  martinl
+
+	* imagery/i.his.rgb/main.c, imagery/i.rgb.his/main.c,
+	  imagery/i.rgb.his/openfiles.c: i.rgb.his & i.his.rgb: message
+	  standardization
+	  (merge from devbr6, r34371)
+
+2008-11-18 16:32  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: fix loading map
+	  layers using re
+	  (merge from devbr6, r34370)
+
+2008-11-18 14:25  martinl
+
+	* imagery/i.pca/main.c, imagery/i.pca/support.c: i.pca: message
+	  standardization, more keywords
+	  (merge from devbr6, r34368)
+
+2008-11-18 13:29  martinl
+
+	* raster/r.recode/main.c, raster/r.recode/read_rules.c,
+	  raster/r.recode/recode.c: r.recode: standardize messages
+	  disable interactive mode
+	  (merge from devbr6, r34366)
+
+2008-11-18 13:19  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix multiple
+	  layer/dbtable/dbcolumn
+	  background map available from layer contextual menu
+	  (merge from devbr6, r34364)
+
+2008-11-18 13:16  martinl
+
+	* lib/init/helptext.html, raster/rasterintro.html: wxgrass -> wxGUI
+	  (merge from devbr6, r34362)
+
+2008-11-18 11:29  martinl
+
+	* vector/v.overlay/main.c: v.overlay: don't use standardized
+	  parameter description (vector map A/B)
+	  (merge from devbr6, r34360)
+
+2008-11-18 11:09  hamish
+
+	* scripts/Makefile, scripts/v.out.gpsbabel: activate v.out.gpsbabel
+	  now that bug #354 is fixed (wish #349)
+
+2008-11-18 11:03  hamish
+
+	* vector/v.out.ogr/main.c: Don't assume that the GRASS db column ID
+	  is the same as the OGRFieldID,
+	  they can be different (eg OGR GPX driver has standard fields 1-9)
+	  - removed keycol from mk_att() as unused
+	  - OGR_F_UnsetField() moved into set loop as table needs to be
+	  open to
+	  query the OGR field ID by column name.
+	  (bug #354, allows v.out.gpsbabel to work; merge from devbr6)
+
+2008-11-18 10:45  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasstcl_de.po, locale/po/grasswxpy_de.po: Robert Nuske
+	  <rnuske gwdg.de>: cont'ed + update via template refresh
+
+2008-11-18 01:41  glynn
+
+	* imagery/i.fft/Makefile, imagery/i.fft/fft_colors.c,
+	  imagery/i.fft/globals.h, imagery/i.fft/i.fft.html,
+	  imagery/i.fft/local_proto.h, imagery/i.fft/main.c,
+	  imagery/i.fft/orig_wind.c, imagery/i.fft/save_fft.c,
+	  imagery/i.ifft/Makefile, imagery/i.ifft/globals.h,
+	  imagery/i.ifft/i.ifft.html, imagery/i.ifft/local_proto.h,
+	  imagery/i.ifft/main.c, imagery/i.ifft/orig_wind.c: Rewrite i.fft,
+	  i.ifft
+	  Output maps are FP
+	  Don't use cell_misc/<map>/fft{real,imag} files, use the output
+	  maps
+	  Don't rescale to powers of two (not needed with FFTW)
+	  Use fft2() with FFTW-style interleaved array, not fft() with
+	  separate real/imaginary arrays
+	  Miscellaneous clean-up
+
+2008-11-18 01:36  glynn
+
+	* lib/gmath/fft.c: Correct order of rows, cols arguments to
+	  fftw_plan_dft_2d
+
+2008-11-18 01:26  glynn
+
+	* include/gisdefs.h, lib/gis/color_compat.c, lib/gis/color_xform.c:
+	  Add G_abs_log_colors
+	  Fix signature of G_make_grey_scale_fp_colors (double -> DCELL)
+
+2008-11-17 22:00  neteler
+
+	* lib/raster/rastergraphicslib.dox: doxygen updated for GRASS 7
+	  (meeds further cleanup)
+
+2008-11-17 21:54  neteler
+
+	* lib/imagery/Makefile, lib/imagery/imagerylib.dox: doxygen updated
+
+2008-11-17 21:41  neteler
+
+	* lib/display/displaylib.dox: function list added
+
+2008-11-17 18:28  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  visualization/xganim/Clr_table.c, visualization/xganim/Makefile,
+	  visualization/xganim/gui.c, visualization/xganim/gui.cc,
+	  visualization/xganim/gui.h, visualization/xganim/local_proto.h,
+	  visualization/xganim/main.c, visualization/xganim/main.cc:
+	  Convert xganim from Motif to wxWidgets
+	  Remove Motif, Xt checks and variables
+
+2008-11-17 18:27  glynn
+
+	* visualization/nviz2/cmd/Makefile: Remove unnecessary Xm/Xt
+	  references
+
+2008-11-17 17:00  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: fix error message ---
+	  trac #366
+	  (merge from devbr6, r34339)
+
+2008-11-17 16:50  neteler
+
+	* lib/gis/gislib.dox: function calls simplified to make doxygen
+	  happy (as also almost unmaintained and hence outdated)
+
+2008-11-17 08:14  hamish
+
+	* raster/rasterintro.html, vector/vectorintro.html: basics; html
+	  bug (merge from devbr6)
+
+2008-11-16 21:12  neteler
+
+	* include/Make/Doxyfile_arch_html: title cosmetics
+
+2008-11-16 11:54  glynn
+
+	* general/g.mlist/Makefile, general/g.mremove/Makefile,
+	  gui/wxpython/Makefile, gui/wxpython/nviz/Makefile,
+	  gui/wxpython/vdigit/Makefile, imagery/Makefile,
+	  imagery/i.fft/Makefile, imagery/i.ifft/Makefile,
+	  imagery/i.zc/Makefile, include/Make/Rules.make,
+	  lib/cairodriver/Makefile, lib/iostream/Makefile,
+	  lib/nviz/Makefile, lib/ogsf/Makefile, raster/Makefile,
+	  raster/r.external/Makefile, raster/r.in.gdal/Makefile,
+	  raster/r.out.gdal/Makefile, raster/r.out.png/Makefile,
+	  raster/r.out.tiff/Makefile, raster/r.surf.fractal/Makefile,
+	  raster/r.terraflow/Makefile, vector/Makefile,
+	  vector/v.digit/Makefile, vector/v.external/Makefile,
+	  vector/v.in.dwg/Makefile, vector/v.in.ogr/Makefile,
+	  vector/v.out.ogr/Makefile, visualization/Makefile,
+	  visualization/nviz/Makefile, visualization/nviz2/cmd/Makefile,
+	  visualization/xganim/Makefile, visualization/ximgview/Makefile:
+	  Clean up handling of optional components
+
+2008-11-16 08:46  neteler
+
+	* locale/po/grassmods_pl.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasswxpy_pl.po: Milena Nowotarska: initial
+
+2008-11-16 08:14  neteler
+
+	* locale/po/grasslibs_tr.po, locale/po/grassmods_tr.po: Osman
+	  Yalçın YILMAZ: cont'ed
+
+2008-11-16 07:12  hamish
+
+	* raster/r.grow.distance/Makefile, raster/r.grow.distance/main.c:
+	  svn mime-type propsets
+
+2008-11-16 07:09  hamish
+
+	* raster/r.grow.distance/r.grow.distance.html: fix borked commit
+
+2008-11-16 07:00  hamish
+
+	* raster/r.grow.distance/description.html,
+	  raster/r.grow.distance/r.grow.distance.html: fix borked commit
+
+2008-11-16 06:58  hamish
+
+	* raster/r.grow.distance/description.html: fix borked commit
+
+2008-11-16 06:46  hamish
+
+	* raster/r.grow.distance/r.grow.distance.html: add r.grow.distance
+	  from trunk
+
+2008-11-15 23:09  glynn
+
+	* vector/v.what/Makefile, vector/v.what/what.c,
+	  vector/v.what/what.h: Remove lib/form dependency
+
+2008-11-15 20:51  neteler
+
+	* ps/ps.map/ps.map.html: example polished to fix trac #362
+
+2008-11-15 20:42  neteler
+
+	* lib/vector/Vlib/intersect.c: marisn: Add
+	  Vect_line_get_intersection() function (merge from develbranch_6,
+	  r34306)
+
+2008-11-15 20:41  neteler
+
+	* lib/ogsf/gsd_objs.c: marisn: Fix displaying X symbol and raster
+	  query line by reverting too aggresive fudge usage introduced in
+	  r19241 (merge from develbranch_6, r34305)
+
+2008-11-15 15:29  neteler
+
+	* visualization/nviz/scripts/attPopup.tcl: marisn: Remove constant
+	  option from surface emission setting as it has no effect (merge
+	  from develbranch_6, r34297)
+
+2008-11-15 15:25  neteler
+
+	* vector/v.digit/attr.c, vector/v.digit/line.c,
+	  vector/v.digit/proto.h, vector/v.digit/util.c,
+	  vector/v.digit/vertex.c: marisn: Use user provided snapping
+	  threshold also for vertex selection in editing tools; Add point
+	  support to move vertex tool (merge from develbranch_6, r34292)
+
+2008-11-15 15:21  neteler
+
+	* visualization/nviz/scripts/extra_bindings.tcl,
+	  visualization/nviz/scripts/nviz2.2_script: marisn: Reverting back
+	  to old NVIZ menu layot from r32325 introduced one (merge from
+	  develbranch_6, r34035)
+
+2008-11-15 15:17  neteler
+
+	* visualization/nviz/scripts/flythrough.tcl: marisn: Prevent UI
+	  from failing when switching back from fly mode (merge from
+	  develbranch_6, r34008)
+
+2008-11-15 15:16  neteler
+
+	* vector/v.digit/settings.tcl, vector/v.digit/toolbox.tcl: marisn:
+	  Add undo to add new column command in v.digit (merge from
+	  develbranch_6, r33660)
+
+2008-11-15 15:14  neteler
+
+	* gui/icons/grass/vdigit/remove.gif: marisn: Add remove icon for
+	  v.digit. A downscaled version of a status-error.gif icon (merge
+	  from develbranch_6, r33659)
+
+2008-11-15 15:08  neteler
+
+	* db/drivers/postgres/grass-pg.html: Add notice about unsupported
+	  C-like escapes in PG SQL (merge from develbranch_6)
+
+2008-11-14 17:09  neteler
+
+	* raster/r.terraflow/main.cc: fix order
+
+2008-11-14 12:36  glynn
+
+	* raster/r.terraflow/main.cc: Allocate region before use
+
+2008-11-14 11:26  glynn
+
+	* gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/line.cpp,
+	  include/Vect.h, lib/manage/do_copy.c, lib/manage/do_rename.c,
+	  lib/sites/sites.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/clean_nodes.c,
+	  lib/vector/Vlib/dangles.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/Vlib/snap.c,
+	  lib/vector/vedit/select.c, raster/r.carve/vect.c,
+	  raster/r.contour/main.c, raster/r.flow/io.c,
+	  raster/r.random/random.c, raster/r.to.vect/main.c,
+	  vector/lidar/v.outlier/main.c, vector/v.buffer/main.c,
+	  vector/v.build.polylines/main.c, vector/v.build/main.c,
+	  vector/v.category/main.c, vector/v.clean/main.c,
+	  vector/v.clean/prune.c, vector/v.convert/old2new.c,
+	  vector/v.digit/centre.c, vector/v.digit/main.c,
+	  vector/v.distance/main.c, vector/v.drape/main.c,
+	  vector/v.edit/a2b.c, vector/v.edit/main.c, vector/v.edit/snap.c,
+	  vector/v.external/main.c, vector/v.extract/main.c,
+	  vector/v.extrude/main.c, vector/v.generalize/main.c,
+	  vector/v.hull/main.c, vector/v.in.ascii/main.c,
+	  vector/v.in.db/main.c, vector/v.in.dxf/main.c,
+	  vector/v.in.ogr/main.c, vector/v.in.region/main.c,
+	  vector/v.in.sites/main.c, vector/v.kcv/main.c,
+	  vector/v.kernel/main.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c, vector/v.mkgrid/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.salesman/main.c,
+	  vector/v.net.steiner/main.c, vector/v.net.visibility/main.c,
+	  vector/v.net/connect.c, vector/v.net/main.c,
+	  vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/main.c, vector/v.parallel/main.c,
+	  vector/v.patch/main.c, vector/v.perturb/main.c,
+	  vector/v.proj/main.c, vector/v.qcount/main.c,
+	  vector/v.random/main.c, vector/v.reclass/main.c,
+	  vector/v.sample/main.c, vector/v.segment/main.c,
+	  vector/v.select/main.c, vector/v.split/main.c,
+	  vector/v.surf.rst/main.c, vector/v.to.points/main.c,
+	  vector/v.transform/main.c, vector/v.type/main.c,
+	  vector/v.vol.rst/main.c, vector/v.voronoi/dt_main.c,
+	  vector/v.voronoi/vo_main.c, vector/v.what/main.c: Eliminate
+	  non-standard logging mechanism
+
+2008-11-14 11:22  glynn
+
+	* vector/v.patch/v.patch.html: Fix broken tag
+
+2008-11-14 11:21  glynn
+
+	* lib/python/grass.py: Fix bug in verbose() (need variable's value,
+	  not its name)
+
+2008-11-14 11:21  glynn
+
+	* general/manage/lib: Remove empty directory
+
+2008-11-14 09:20  neteler
+
+	* raster/r.terraflow/r.terraflow.html: less nonsense example
+
+2008-11-14 03:19  hamish
+
+	* raster/r.grow.distance/r.grow.distance.html: add example
+
+2008-11-13 18:52  glynn
+
+	* raster/r.grow.distance/main.c: Only calculate square root for
+	  metric=euclidean
+
+2008-11-13 16:29  epatton
+
+	* vector/v.category/v.category.html: Added notes about ID parameter
+
+2008-11-13 14:40  epatton
+
+	* vector/v.in.ascii/v.in.ascii.html: Added hints about -z and -n
+	  flags in example; other misc. cleanups
+
+2008-11-13 08:39  hamish
+
+	* imagery/i.ortho.photo/lib, imagery/i.ortho.photo/lib/TODO,
+	  imagery/i.ortho.photo/lib/ask_camera.c,
+	  imagery/i.ortho.photo/libes: rename libes dir, add TODO
+
+2008-11-13 08:24  hamish
+
+	* imagery/i.ortho.photo/libes,
+	  imagery/i.ortho.photo/libes/Makefile,
+	  imagery/i.ortho.photo/libes/ask_camera.c,
+	  imagery/i.ortho.photo/libes/cam.c,
+	  imagery/i.ortho.photo/libes/cam_info.c,
+	  imagery/i.ortho.photo/libes/camera.c,
+	  imagery/i.ortho.photo/libes/conz_points.c,
+	  imagery/i.ortho.photo/libes/elev.c,
+	  imagery/i.ortho.photo/libes/error.c,
+	  imagery/i.ortho.photo/libes/find_camera.c,
+	  imagery/i.ortho.photo/libes/find_init.c,
+	  imagery/i.ortho.photo/libes/fopen_camera.c,
+	  imagery/i.ortho.photo/libes/funcdefs.h,
+	  imagery/i.ortho.photo/libes/georef.c,
+	  imagery/i.ortho.photo/libes/group_elev.c,
+	  imagery/i.ortho.photo/libes/init.c,
+	  imagery/i.ortho.photo/libes/init_info.c,
+	  imagery/i.ortho.photo/libes/isnull.c,
+	  imagery/i.ortho.photo/libes/local_proto.h,
+	  imagery/i.ortho.photo/libes/ls_cameras.c,
+	  imagery/i.ortho.photo/libes/ls_elev.c,
+	  imagery/i.ortho.photo/libes/m_add.c,
+	  imagery/i.ortho.photo/libes/m_copy.c,
+	  imagery/i.ortho.photo/libes/m_inverse.c,
+	  imagery/i.ortho.photo/libes/m_mult.c,
+	  imagery/i.ortho.photo/libes/m_transpose.c,
+	  imagery/i.ortho.photo/libes/m_zero.c,
+	  imagery/i.ortho.photo/libes/mat.h,
+	  imagery/i.ortho.photo/libes/matrixdefs.h,
+	  imagery/i.ortho.photo/libes/open_camera.c,
+	  imagery/i.ortho.photo/libes/orthophoto.h,
+	  imagery/i.ortho.photo/libes/orthoref.c,
+	  imagery/i.ortho.photo/libes/ref_points.c,
+	  imagery/i.ortho.photo/libes/title_camera.c: reinstate lib fns
+	  removed in r33944
+
+2008-11-13 05:01  neteler
+
+	* locale/po/grasswxpy_tr.po: Osman Yalçın YILMAZ: cont'ed
+
+2008-11-12 21:05  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: r.external added to
+	  menu
+	  (merge from devbr6, r34264)
+
+2008-11-12 20:58  martinl
+
+	* vector/v.select/main.c: v.select: parameter description & message
+	  cosmetics
+	  (merge from devbr6, r34262)
+
+2008-11-12 16:20  epatton
+
+	* vector/v.in.ascii/v.in.ascii.html: Updated example on importing
+	  standard format
+
+2008-11-12 15:42  mlennert
+
+	* vector/v.patch/v.patch.html: added note about danger of losing
+	  attributes with -a flag
+
+2008-11-12 15:18  epatton
+
+	* vector/v.to.db/v.to.db.html: Fixed incorrect 'type' parameters in
+	  doc examples (bug #360)
+
+2008-11-12 01:41  hamish
+
+	* scripts/v.dissolve/v.dissolve.html: fix see also module (merge
+	  from devbr6)
+
+2008-11-11 21:01  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py, imagery/i.rectify/cp.c,
+	  imagery/i.rectify/exec.c, imagery/i.rectify/get_wind.c,
+	  imagery/i.rectify/main.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/report.c, imagery/i.rectify/target.c,
+	  imagery/i.rectify/write.c: wxGUI: fix georectify tool (i.rectify)
+	  i.rectify message cosmetics + i18n
+	  (merge from devbr6, r34202, r34250)
+
+2008-11-11 10:24  msieczka
+
+	* AUTHORS, contributors.csv, doc/infrastructure.txt: Info about me
+	  updated.
+
+2008-11-11 07:39  hamish
+
+	* scripts/v.dissolve/v.dissolve.html: note about attr key col's new
+	  cats (merge from devbr6)
+
+2008-11-11 04:24  hamish
+
+	* vector/v.reclass/main.c, vector/v.reclass/v.reclass.html:
+	  describe column opt a bit better and add example (merge from
+	  devbr6)
+
+2008-11-10 07:14  hamish
+
+	* vector/v.db.connect/v.db.connect.html: add sqlite example (merge
+	  from devbr6)
+
+2008-11-10 07:13  hamish
+
+	* vector/v.db.connect/main.c: pass correct variable form to %s
+
+2008-11-10 05:20  glynn
+
+	* raster/r.quantile/main.c: Add flag to output recode table (ticket
+	  358)
+
+2008-11-09 21:13  glynn
+
+	* scripts/d.rast.edit/Makefile,
+	  scripts/d.rast.edit/d.rast.edit.tcl, scripts/i.oif/Makefile,
+	  scripts/i.oif/i.oifcalc, scripts/i.oif/m.cutmatrix,
+	  scripts/r.in.aster/r_in_aster.html: Remove files relating to
+	  removed shell scripts
+
+2008-11-09 06:58  hamish
+
+	* scripts/v.out.gps/v.out.gps.html: ogr std gpx fields (merge from
+	  devbr6)
+
+2008-11-09 01:49  glynn
+
+	* raster/r.terraflow/main.cc: Removee -q flag
+	  Call G_parser() before other libgis functions
+
+2008-11-09 01:48  glynn
+
+	* raster/r.coin/cmd_parms.c, raster/r.coin/coin.h,
+	  raster/r.coin/main.c, raster/r.coin/make_coin.c,
+	  raster/r.coin/print_coin.c, raster/r.coin/print_hdr.c: Clean-up
+
+2008-11-08 15:26  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: simplify 'done' message
+	  (cosmetics)
+	  (merge from devbr6, r34194)
+
+2008-11-08 15:02  glynn
+
+	* include/gisdefs.h, lib/gis/alloc.c: Macro-ise G_*alloc()
+	  functions
+	  (to allow calling function to be identified in case of error)
+
+2008-11-08 15:01  glynn
+
+	* include/Make/ScriptRules.make: Make *_to_translate.c files from
+	  Python scripts as well as shell scripts
+
+2008-11-08 08:53  neteler
+
+	* vector/v.in.ascii/v.in.ascii.html: standard mode -> standard
+	  format mode
+
+2008-11-07 22:15  glynn
+
+	* scripts/d.correlate/d.correlate, scripts/d.polar/d.polar,
+	  scripts/d.rast.edit/d.rast.edit, scripts/d.rast.leg/d.rast.leg,
+	  scripts/d.shadedmap/d.shadedmap, scripts/db.dropcol/db.dropcol,
+	  scripts/db.droptable/db.droptable, scripts/db.in.ogr/db.in.ogr,
+	  scripts/db.out.ogr/db.out.ogr, scripts/db.test/db.test,
+	  scripts/g.manual/g.manual,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt,
+	  scripts/i.landsat.rgb/i.landsat.rgb, scripts/i.oif/i.oif,
+	  scripts/i.spectral/i.spectral, scripts/i.tasscap/i.tasscap,
+	  scripts/m.proj/m.proj, scripts/r.blend/r.blend,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.aster/r.in.aster,
+	  scripts/r.in.srtm/r.in.srtm, scripts/r.mask/r.mask,
+	  scripts/r.out.xyz/r.out.xyz, scripts/r.plane/r.plane,
+	  scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.shaded.relief/r.shaded.relief,
+	  scripts/v.build.all/v.build.all, scripts/v.centroids/v.centroids,
+	  scripts/v.convert.all/v.convert.all,
+	  scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.dropcol/v.db.dropcol,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.join/v.db.join,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all,
+	  scripts/v.db.renamecol/v.db.renamecol,
+	  scripts/v.db.univar/v.db.univar, scripts/v.db.update/v.db.update,
+	  scripts/v.dissolve/v.dissolve, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.geonames/v.in.geonames, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.mapgen/v.in.mapgen,
+	  scripts/v.in.sites.all/v.in.sites.all, scripts/v.in.wfs/v.in.wfs,
+	  scripts/v.rast.stats/v.rast.stats, scripts/v.report/v.report,
+	  scripts/v.what.vect/v.what.vect: Remove shell versions of
+	  converted scripts
+
+2008-11-07 22:12  glynn
+
+	* scripts/v.db.join/v.db.join.py: Add gisprompts
+
+2008-11-07 21:57  neteler
+
+	* locale/po/grassmods_de.po: Robert Nuske <rnuske gwdg.de>: cont'ed
+
+2008-11-07 21:21  martinl
+
+	* raster/r.colors/main.c, raster/r.colors/stats.c: r.colors:
+	  message cosmetics
+	  (merge from devbr6, r34184)
+
+2008-11-07 17:46  martinl
+
+	* scripts/v.db.join/v.db.join: v.db.join: remove extra space
+	  add gisprompts
+	  undefined cleanup() commented
+
+2008-11-07 13:57  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, vector/v.db.connect/main.c:
+	  v.db.connect: age: old_layer -> new_layer
+	  (merge from devbr6, r34180)
+
+2008-11-07 10:42  glynn
+
+	* general/g.mlist/Makefile, general/g.mlist/global.h,
+	  general/g.mlist/main.c, general/g.mlist/read_list.c,
+	  general/g.mremove/Makefile, general/g.mremove/do_remove.c,
+	  general/g.mremove/global.h, general/g.mremove/main.c,
+	  general/g.mremove/read_list.c, general/manage/Makefile,
+	  general/manage/cmd/Makefile, general/manage/cmd/copy.c,
+	  general/manage/cmd/init.c, general/manage/cmd/list.c,
+	  general/manage/cmd/remove.c, general/manage/cmd/rename.c,
+	  general/manage/lib/Makefile, general/manage/lib/README,
+	  general/manage/lib/add_elem.c, general/manage/lib/copy.sh,
+	  general/manage/lib/do_copy.c, general/manage/lib/do_list.c,
+	  general/manage/lib/do_remove.c, general/manage/lib/do_rename.c,
+	  general/manage/lib/empty.c, general/manage/lib/find.c,
+	  general/manage/lib/get_len.c, general/manage/lib/read_list.c,
+	  general/manage/lib/show_elem.c, general/manage/lib/sighold.c,
+	  general/manage/list.h, include/Make/Rules.make, lib/Makefile,
+	  lib/manage, lib/manage/Makefile, lib/manage/README,
+	  lib/manage/add_elem.c, lib/manage/do_copy.c,
+	  lib/manage/do_list.c, lib/manage/do_remove.c,
+	  lib/manage/do_rename.c, lib/manage/empty.c, lib/manage/find.c,
+	  lib/manage/get_len.c, lib/manage/list.h, lib/manage/read_list.c,
+	  lib/manage/show_elem.c, lib/manage/sighold.c: Move
+	  general/manage/lib -> lib/manage
+	  Remove local copies of lib/manage functions from g.mlist,
+	  g.mremove
+
+2008-11-07 08:07  glynn
+
+	* lib/iostream/Makefile: Move C++ check into iostream/Makefile
+
+2008-11-07 07:31  glynn
+
+	* general/manage/lib/read_list.c: Fix size of ELEMENT_LIST pathname
+	  buffer
+
+2008-11-07 00:41  glynn
+
+	* general/g.parser/main.c: Enlarge buffer
+
+2008-11-06 12:37  hamish
+
+	* raster/r.transect/main.c: output end coordinate (merge from
+	  devbr6)
+
+2008-11-06 12:22  neteler
+
+	* lib/gis/error.c, lib/gis/percent.c: name fix
+
+2008-11-06 12:10  neteler
+
+	* lib/init/variables.html: G_INFO_XX explained
+
+2008-11-06 10:05  neteler
+
+	* include/gis.h, lib/gis/error.c, lib/gis/percent.c: added
+	  G_INFO_FORMAT_PLAIN
+
+2008-11-05 11:35  neteler
+
+	* general/g.parser/main.c: longer buffer to avoid
+	  r.in.wms/r.in.gdalwarp crash
+
+2008-11-05 10:33  neteler
+
+	* scripts/d.rast.leg/d.rast.leg: added title and position
+	  parameters
+
+2008-11-05 06:47  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: display background
+	  color (global)
+	  (merge from devbr6, r34158)
+
+2008-11-04 22:44  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: "Set color table"
+	  added to layer contextual menu
+	  (merge from devbr6, r34156)
+
+2008-11-04 08:36  hamish
+
+	* scripts/v.out.gps/v.out.gps: better connect DB to export map
+	  (merge from devbr6)
+
+2008-11-03 11:59  ychemin
+
+	* imagery/i.vi/i.vi.html, imagery/i.vi/vari.c: added VARI
+
+2008-11-03 11:44  hamish
+
+	* scripts/v.out.gps/v.out.gps: fix +wktext comment, need to copy
+	  over DB to reproj map: only works from current mapset
+
+2008-11-03 05:30  neteler
+
+	* imagery/i.vi/vari.c: stub added to get code compiled
+
+2008-11-03 04:06  helena
+
+	* raster/simwe/r.sim.water/waterglobs.h: extra waterglobs.h removed
+
+2008-11-03 04:05  helena
+
+	* raster/simwe/r.sim.sediment/waterglobs.h: extra waterglobs.h
+	  removed
+
+2008-11-03 04:03  helena
+
+	* raster/simwe/r.sim.sediment/Makefile: simlib added to use only
+	  simgle waterglobs.h
+
+2008-11-03 04:02  helena
+
+	* raster/simwe/r.sim.water/Makefile: simlib added to use only
+	  simgle waterglobs.h
+
+2008-11-03 03:49  hamish
+
+	* lib/sites/sites.c: sites lib warning to less scary G_message;
+	  i18n (merge from devbr6)
+
+2008-11-02 19:32  glynn
+
+	* lib/python/Makefile, lib/python/grass.py: Use -n flag for
+	  g.gisenv, g.findfile
+	  Remove unused parse_key_val2 function
+
+2008-11-02 19:31  glynn
+
+	* general/g.findfile/main.c: Add -n (no quotes) flag
+	  Use meaningful variable names for options
+	  Fix buffer size (GPATH_MAX)
+
+2008-11-02 11:54  hamish
+
+	* scripts/v.out.gps/v.out.gps: comments about nasty gotcha in
+	  alternate ogr2ogr solution (merge from devbr6)
+
+2008-11-02 10:14  hamish
+
+	* scripts/v.out.gps/description.html: rename from v.out.gpsbabel,
+	  part VI (local tree fubar'd..)
+
+2008-11-02 10:12  hamish
+
+	* scripts/v.out.gps/v.out.gpsbabel.html: rename from
+	  v.out.gpsbabel, part V
+
+2008-11-02 10:10  hamish
+
+	* scripts/v.out.gps/v.out.gps.html: rename from v.out.gpsbabel,
+	  part IV
+
+2008-11-02 10:09  hamish
+
+	* scripts/v.out.gps/v.out.gps, scripts/v.out.gps/v.out.gpsbabel: *
+	  verbose messages
+	  * fix attribute passing: GPX_USE_EXTENSIONS is not a layer
+	  creation
+	  option, but a dataset one... (dsco=...). see gdal Rev15656
+	  (merge from devbr6)
+	  * rename from v.out.gpsbabel, part III
+
+2008-11-02 07:53  hamish
+
+	* raster/r.texture/r.texture.html: add display overlay commands to
+	  example (merge from devbr6)
+
+2008-11-02 07:44  hamish
+
+	* gui/wxpython/README: grass63 to 70
+
+2008-10-31 15:00  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2008-10-31 13:01  martinl
+
+	* lib/vector/Vlib/array.c: marisn: Add some comments about varray
+	  initialisation
+	  (merge from devbr6, r34123)
+
+2008-10-31 08:33  ychemin
+
+	* imagery/i.modis.qc/main.c, imagery/i.vi/main.c: i.vi: check for
+	  input files against VIname; i.modis.qc: Updated descriptions
+
+2008-10-31 03:46  hamish
+
+	* scripts/v.out.gps/v.out.gps: rename from v.out.gpsbabel, part II
+
+2008-10-31 03:44  hamish
+
+	* scripts/v.out.gps, scripts/v.out.gps/Makefile,
+	  scripts/v.out.gps/v.out.gpsbabel,
+	  scripts/v.out.gps/v.out.gpsbabel.html: rename from
+	  v.out.gpsbabel; simplified replacement of v.in.gpsbabel using
+	  OGR-GPX-GpsBabel will be called v.in.gps and
+	  v.in.gpsbabel/v.in.garmin shell scripts will be retired
+
+2008-10-30 22:28  glynn
+
+	* raster/r.info/main.c, raster3d/base/r3.info.main.c: Use decimal
+	  degrees for -g
+
+2008-10-30 22:22  glynn
+
+	* lib/init/functions.sh: Fix missing $ on GRASS_VERSION
+
+2008-10-30 22:08  glynn
+
+	* raster/r.info/main.c: Revert r34113
+
+2008-10-30 20:38  neteler
+
+	* raster/r.info/main.c: output also top/bottom in -g mode (trac
+	  #248)
+
+2008-10-30 18:35  neteler
+
+	* raster/r.drain/main.c: compilation fix as suggested by Glynn on
+	  grass-dev
+
+2008-10-30 18:34  neteler
+
+	* raster/r.fill.dir/main.c: compilation fix as suggested by Glynn
+	  on grass-dev
+
+2008-10-30 16:15  neteler
+
+	* raster/r.texture/r.texture.html: +example
+
+2008-10-30 16:10  neteler
+
+	* raster/r.texture/main.c: advertise output map names
+
+2008-10-30 15:09  neteler
+
+	* locale/po/grasswxpy_cs.po: fix aster
+
+2008-10-30 15:05  neteler
+
+	* locale/po/grasswxpy_pl.po: fix
+
+2008-10-30 15:01  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska: cont'ed
+
+2008-10-30 12:19  hamish
+
+	* raster/r.external/r.external.html: link to v.external (merge from
+	  devbr6)
+
+2008-10-30 12:11  hamish
+
+	* display/d.info/main.c: use D_get_u* as suggested by Glynn on the
+	  dev-ML
+
+2008-10-30 11:35  hamish
+
+	* scripts/v.out.gpsbabel, scripts/v.out.gpsbabel/Makefile,
+	  scripts/v.out.gpsbabel/v.out.gpsbabel,
+	  scripts/v.out.gpsbabel/v.out.gpsbabel.html: v.out.gpbabel: add
+	  but not activated yet. (merge from devbr6)
+
+2008-10-30 04:12  hamish
+
+	* vector/v.select/v.select.html: only works on features with cat
+	  numbers
+
+2008-10-30 04:04  ychemin
+
+	* raster/r.usler/main.c: added USLE output units, fixed typo
+
+2008-10-30 04:04  ychemin
+
+	* raster/r.uslek/main.c: added USLE output units, fixed typo
+
+2008-10-30 03:52  ychemin
+
+	* raster/r.usler/main.c: bugfix output pixel to row
+
+2008-10-30 03:47  hamish
+
+	* raster/r.terraflow/main.cc: some G_message (merge from devbr6)
+
+2008-10-29 20:52  glynn
+
+	* include/display.h, lib/display/cnversions.c: Add D_fit_u_to_d()
+
+2008-10-29 20:43  helena
+
+	* raster/simwe/r.sim.sediment/main.c: site input/output commented
+	  out
+
+2008-10-29 20:42  helena
+
+	* raster/simwe/r.sim.water/waterglobs.h: site input/output
+	  commented out
+
+2008-10-29 20:42  helena
+
+	* raster/simwe/r.sim.water/main.c: site input/output commented out
+
+2008-10-29 20:41  helena
+
+	* raster/simwe/simlib/waterglobs.h: site input/output commented out
+
+2008-10-29 20:41  helena
+
+	* raster/simwe/simlib/output.c: site input/output commented out
+
+2008-10-29 20:41  helena
+
+	* raster/simwe/simlib/hydro.c: site input/output commented out
+
+2008-10-29 20:40  helena
+
+	* raster/simwe/simlib/erod.c: site input/output commented out
+
+2008-10-29 20:40  helena
+
+	* raster/simwe/simlib/input.c: site input/output commented out
+
+2008-10-29 15:39  neteler
+
+	* translators.csv: ordered by language, removed white space for CSV
+	  formatting
+
+2008-10-29 15:36  neteler
+
+	* translators.csv: +Milena Nowotarska
+
+2008-10-29 15:34  neteler
+
+	* locale/po/grasswxpy_pl.po: Milena Nowotarska <do.milenki gmail
+	  com>: translated
+
+2008-10-29 13:39  hamish
+
+	* display/d.info/main.c: reorder -g output to match g.region -g
+	  (merge from devbr6)
+
+2008-10-29 13:12  hamish
+
+	* raster/r.out.gdal/r.out.gdal.html: doc cleanup suggestions from
+	  mmetz (merge from devbr6)
+
+2008-10-29 13:03  hamish
+
+	* display/d.info/main.c: better opt desc (merge from devbr6)
+
+2008-10-29 12:56  hamish
+
+	* display/d.info/main.c: bugfix: -g flag covers entire window, not
+	  just the region box (untested)
+
+2008-10-29 09:59  hamish
+
+	* tools/build_html_index.sh, tools/module_synopsis.sh: - quote
+	  filenames
+	  - photo.* now use G_parser(); don't get their own section (TODO:
+	  put after imagery list)
+	  - desc for modules that don't use G_parser().
+	  - remove modules which are no longer there
+
+2008-10-29 09:54  neteler
+
+	* vector/v.out.ogr/v.out.ogr.html: mention POLYGONZ
+
+2008-10-29 09:22  hamish
+
+	* raster/r.li/r.li.html: cosmetics
+
+2008-10-29 07:05  hamish
+
+	* raster/r.out.gdal/main.c: option descriptions (merge from devbr6)
+
+2008-10-29 06:42  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel.html: change default to GPX
+
+2008-10-28 21:53  martinl
+
+	* lib/ogsf/GS2.c: marisn: Fix segfault due wrong pointer assignment
+	  in NVIZ raster query tool
+	  (merge from devbr6, r34036)
+
+2008-10-28 21:51  martinl
+
+	* raster/r.neighbors/main.c: r.neighbors (cosmetics): more gui
+	  sections
+	  (merge from devbr6, r34037)
+
+2008-10-28 13:10  neteler
+
+	* general/g.findfile/main.c: first required, then optional parms
+
+2008-10-27 23:02  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: fix attr (value
+	  containing delimiter ':')
+	  (merge from devbr6, r34031)
+
+2008-10-27 22:57  neteler
+
+	* scripts/d.correlate/d.correlate: in case of (only) two maps,
+	  better map name positioning + max value indication
+
+2008-10-27 20:21  neteler
+
+	* locale/po/grassmods_de.po: Robert Nuske <rnuske gwdg.de>: cont'ed
+
+2008-10-27 19:27  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: fix object
+	  placement when display region is changed
+	  (merge from devbr6, r34024)
+
+2008-10-27 16:12  hamish
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive.html: * fix parsing of
+	  g.region after "cosmetic" change of module output.
+	  * comment on and report convergence angle.
+	  * update to new gpsdrive default map dir.
+
+2008-10-27 13:53  hamish
+
+	* debian/README.debian, debian/patches: - finish job of Removing
+	  old outdated Debian configuration files (r25027)
+	  - can't checkout over the top of a dir already in svn control
+
+2008-10-27 08:36  ychemin
+
+	* imagery/i.modis.qc/qc250b.c, imagery/i.modis.qc/qc250c.c,
+	  imagery/i.modis.qc/qc250d.c, imagery/i.modis.qc/qc250e.c,
+	  imagery/i.modis.qc/qc250f.c, imagery/i.modis.qc/qc500c.c,
+	  imagery/i.modis.qc/qc500d.c, imagery/i.modis.qc/qc500e.c:
+	  correcting errors in data allocation and variables names
+
+2008-10-27 04:08  hamish
+
+	* raster/r.out.gdal/export_band.c, raster/r.out.gdal/local_proto.h,
+	  raster/r.out.gdal/main.c, raster/r.out.gdal/r.out.gdal.html:
+	  cleanups in pursuit of bug #73 in collaboration with Markus Metz
+	  (merge from devbr6)
+	  * rename & move export band to its own file
+	  * flag to disable writing long (UInt16) color tables
+	  * add type length defines (needs competion & review)
+	  * add some TODO comments where future work is required
+	  * help page cleanups
+
+2008-10-26 23:52  hamish
+
+	* debian/README.debian: mention debuild package build method (merge
+	  from devbr6)
+
+2008-10-26 14:14  glynn
+
+	* scripts/d.vect.thematic/d.vect.thematic: Fix bug introduced by
+	  r34004
+
+2008-10-26 12:53  martinl
+
+	* include/ogsf_proto.h, lib/ogsf/GP2.c, lib/ogsf/GV2.c,
+	  visualization/nviz/src/map_obj.c: marisn: Show readable vector
+	  layer name instead of garbage introduced
+	  by r32202
+	  (merge from devbr6, r34006)
+
+2008-10-24 21:38  neteler
+
+	* scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/db.dropcol/db.dropcol, scripts/db.droptable/db.droptable,
+	  scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.dropcol/v.db.dropcol, scripts/v.db.join/v.db.join,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all,
+	  scripts/v.db.renamecol/v.db.renamecol,
+	  scripts/v.db.update/v.db.update, scripts/v.dissolve/v.dissolve,
+	  scripts/v.rast.stats/v.rast.stats, scripts/v.report/v.report: fix
+	  white space bugs (cont'ed)
+
+2008-10-24 21:23  neteler
+
+	* scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.dropcol/v.db.dropcol,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.update/v.db.update,
+	  scripts/v.rast.stats/v.rast.stats: fix white space bugs
+
+2008-10-24 20:37  neteler
+
+	* raster/r.cross/glob.h: increased to 30 maxfiles (trac #330)
+
+2008-10-24 01:22  hamish
+
+	* general/g.region/local_proto.h, general/g.region/main.c,
+	  general/g.region/printwindow.c: add -n flag to output convergence
+	  angle (merge from devbr6)
+
+2008-10-23 17:02  glynn
+
+	* display/d.what.rast/main.c, display/d.what.rast/what.h,
+	  imagery/i.maxlik/global.h, imagery/i.maxlik/main.c,
+	  imagery/i.points/globals.h, imagery/i.points/main.c,
+	  imagery/i.rectify/global.h, imagery/i.rectify/main.c,
+	  imagery/i.vpoints/globals.h, imagery/i.vpoints/main.c,
+	  include/vect/dig_globs.h, include/vect/digit.h,
+	  lib/vector/rtree/split_q.c, lib/vector/rtree/split_q.h,
+	  raster/r.buffer/distance.h, raster/r.buffer/main.c,
+	  raster/r.coin/coin.h, raster/r.coin/main.c,
+	  raster/r.cross/glob.h, raster/r.cross/main.c,
+	  raster/r.kappa/kappa.h, raster/r.kappa/main.c,
+	  raster/r.report/global.h, raster/r.report/main.c,
+	  raster/r.stats/global.h, raster/r.stats/main.c: Eliminate
+	  preprocessor abuse
+
+2008-10-23 08:04  neteler
+
+	* testsuite/raster/rhemisphere.sh: small fixes
+
+2008-10-23 06:47  hamish
+
+	* raster/r.out.gdal/main.c: user specified nodata was being
+	  clobbered by default if type= was not given; missing space in
+	  warning msg (merge from devbr6)
+
+2008-10-22 17:28  glynn
+
+	* imagery/i.emissivity, imagery/i.sunhours: Set svn:ignore property
+
+2008-10-22 17:27  glynn
+
+	* man/Makefile: Build index pages
+
+2008-10-22 16:16  glynn
+
+	* Makefile, include/Make/DB.make, include/Make/Multi.make, man,
+	  man/Makefile: Create manpages for DBMI drivers and multi-module
+	  directories
+	  Reinstate man/Makefile to create remaining manpages (e.g. for
+	  indices)
+
+2008-10-22 16:01  mlennert
+
+	* scripts/v.db.join/v.db.join.py: fix bug #338
+
+2008-10-22 14:18  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI/colortable: allow
+	  percent value
+	  (merge from devbr6, r33977)
+
+2008-10-22 12:25  mlennert
+
+	* db/drivers/postgres/listtab.c: fix bug #93
+
+2008-10-22 10:08  neteler
+
+	* scripts/v.db.join/v.db.join: mlennert: added layer parameter to
+	  v.db.addcol and driver and database parameters to db.execute.
+	  Thanks to aprasad. Closes bug #338 (merge from develbranch_6,
+	  r33971)
+
+2008-10-21 22:07  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: switch to Command output only if
+	  need
+	  center rules dialog on screen
+	  (merge from devbr6, r33961)
+
+2008-10-21 21:56  martinl
+
+	* raster/r.null/main.c: r.null: header added
+	  i18n, message standardization
+	  (merge from devbr6, r33959)
+
+2008-10-21 21:11  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: colortable: allow
+	  negative values
+	  set icon
+	  (merge from devbr6, r33956)
+
+2008-10-21 20:57  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/menuform.py, raster/r.stats/main.c:
+	  wxGUI: use description instead of value for checkbox
+	  r.report: suppress "r.stats complete"
+	  (merge from devbr6, r33954)
+
+2008-10-21 11:35  glynn
+
+	* include/gprojects.h: Fix type of proj_info.pj
+
+2008-10-21 11:20  glynn
+
+	* raster/r.resamp.stats/main.c: Add an extra row and column to
+	  moving window to protect against rounding errors
+
+2008-10-21 04:01  hamish
+
+	* gui/images/Makefile, gui/images/gintro.gif,
+	  gui/wxpython/gis_set.py: replace GIF with PNG version now that
+	  TclTk GUIs are gone
+
+2008-10-21 03:53  hamish
+
+	* gui/images/silesia_splash.png: smaller PNG version of old Silesia
+	  map. history:
+	  http://cartography.geog.uu.nl/explokart/mappae_summaries.html#kozica
+
+2008-10-21 02:38  hamish
+
+	* imagery/imageryintro.html: comment out i.ortho.photo links
+
+2008-10-21 02:35  hamish
+
+	* imagery/i.ortho.photo/BUGS, imagery/i.ortho.photo/README,
+	  imagery/i.ortho.photo/libes, imagery/i.ortho.photo/menu,
+	  imagery/i.ortho.photo/photo.2image,
+	  imagery/i.ortho.photo/photo.2target,
+	  imagery/i.ortho.photo/photo.camera,
+	  imagery/i.ortho.photo/photo.elev,
+	  imagery/i.ortho.photo/photo.init,
+	  imagery/i.ortho.photo/photo.rectify,
+	  imagery/i.ortho.photo/photo.target: remove code based on
+	  Vask_lib+Xmons; porting will happen in develbranch6 then when
+	  operational be merged back into grass7 SVN
+
+2008-10-21 02:27  hamish
+
+	* general/g.gui/g.gui.html, general/g.gui/main.c,
+	  lib/init/functions.sh, lib/init/grass7.html,
+	  lib/init/variables.html: remove references to old Tcl/Tk GUIs
+
+2008-10-21 01:55  hamish
+
+	* gui/images/startup_banner.png: png version of startup banner
+	  (save a few bits)
+
+2008-10-21 01:26  hamish
+
+	* gui/Makefile, gui/tcltk: so long, and thanks for all the fish
+
+2008-10-20 14:35  ychemin
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/wxpython/gui_modules/menudata.py,
+	  imagery/Makefile, imagery/i.emissivity,
+	  imagery/i.emissivity/Makefile,
+	  imagery/i.emissivity/emissivity_generic.c,
+	  imagery/i.emissivity/i.emissivity.html,
+	  imagery/i.emissivity/main.c, imagery/i.latlong/main.c,
+	  imagery/i.sunhours, imagery/i.sunhours/Makefile,
+	  imagery/i.sunhours/i.sunhours.html, imagery/i.sunhours/main.c:
+	  added i.sunhours and i.emissivity
+
+2008-10-18 11:14  glynn
+
+	* swig/python/Makefile, swig/python/NumPtr/Makefile,
+	  swig/python/my_typemaps.i: Fix "%typemap(out) char **"
+	  Generalise build rules
+	  List my_typemaps.i and renames.i as dependencies for %_wrap.c
+	  Discard output when running test.py to byte-compile modules
+
+2008-10-17 16:37  glynn
+
+	* raster/r.statistics3, raster/r.statistics3/Makefile,
+	  raster/r.statistics3/main.c,
+	  raster/r.statistics3/r.statistics3.html: Add r.statistics3
+	  (quantiles)
+
+2008-10-17 16:35  glynn
+
+	* raster/r.statistics2/main.c: Fix error message
+
+2008-10-17 16:34  glynn
+
+	* lib/gis/range.c: Cleanup
+
+2008-10-16 11:11  neteler
+
+	* raster/r.series/r.series.html: range explanations expanded
+
+2008-10-16 09:37  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: open new display when display
+	  command (d.*) is typed in cmd
+	  standardize header
+	  (merge from devbr6, r33898)
+
+2008-10-16 09:20  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py, lib/gis/parser.c: wxGUI:
+	  dbdriver/dbname widgets implemented
+	  (merge from devbr6, r33895)
+
+2008-10-16 06:00  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_fr.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt.po,
+	  locale/po/grasstcl_pt_br.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_th.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po,
+	  locale/po/grasswxpy_cs.po, locale/po/grasswxpy_de.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_ru.po,
+	  locale/po/grasswxpy_tr.po: merged messages from GRASS 6.4.svn
+
+2008-10-16 05:35  neteler
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_am.po, locale/po/grasstcl_ar.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_el.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_fr.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_id.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_ko.po,
+	  locale/po/grasstcl_lv.po, locale/po/grasstcl_mr.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt.po,
+	  locale/po/grasstcl_pt_br.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_sl.po, locale/po/grasstcl_th.po,
+	  locale/po/grasstcl_tr.po, locale/po/grasstcl_vi.po,
+	  locale/po/grasstcl_zh.po, locale/po/grasswxpy_cs.po,
+	  locale/po/grasswxpy_de.po, locale/po/grasswxpy_el.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_fr.po,
+	  locale/po/grasswxpy_ru.po, locale/po/grasswxpy_tr.po: merged in
+	  new messages
+
+2008-10-15 17:26  glynn
+
+	* include/gis.h, include/gisdefs.h, lib/gis/color_xform.c,
+	  raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/stats.c: Add struct FP_stats
+	  Add G_histogram_eq_colors_fp
+	  Change r.colors to use G_histogram_eq_colors_fp() for FP maps
+
+2008-10-15 15:32  glynn
+
+	* include/stats.h, lib/stats/c_max.c, lib/stats/c_min.c,
+	  raster/r.resamp.stats/main.c,
+	  raster/r.resamp.stats/r.resamp.stats.html: Add "weighted"
+	  versions of min, max aggregates
+	  (the actual weights are ignored; this just provides the
+	  stat_func_w
+	  interface for compatibility)
+	  Change r.resamp.stats to use w_{min,max}.
+
+2008-10-15 15:14  glynn
+
+	* raster/r.series/main.c, raster/r.series/r.series.html: Add range=
+	  option
+
+2008-10-15 15:10  glynn
+
+	* include/gis.h: Restore GISPROMPT_COLOR definition
+
+2008-10-15 05:51  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  scripts/v.dissolve/v.dissolve, scripts/v.dissolve/v.dissolve.py:
+	  wxGUI: support for layer_all ('-1' for all layers)
+	  (merge from devbr6, r33881)
+
+2008-10-15 05:48  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix dialog
+	  (merge from devbr6, r33880)
+
+2008-10-14 18:10  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix gselect.Select
+	  wx.EVT_TEXT
+	  (merge from devbr6, r33878)
+
+2008-10-14 17:35  martinl
+
+	* display/d.vect/main.c, gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py, include/gis.h,
+	  lib/gis/parser.c: wxGUI synchronized with develbranch_6 (dbtable,
+	  dbcolumn)
+
+2008-10-14 13:59  kyngchaos
+
+	* gui/wxpython/nviz/Makefile, gui/wxpython/vdigit/Makefile:
+	  PYTHONLDFLAGS not needed on OSX for Python modules (from dev6
+	  r33771)
+
+2008-10-14 12:34  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: cmbarton: Fix problem
+	  with wx.StaticBox on Mac
+	  (merge from devbr6, r33864)
+
+2008-10-14 12:18  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: cmbarton: Fixed test that
+	  excluded color rules written with '%'
+	  (merge from devbr6, r33865)
+
+2008-10-14 10:09  neteler
+
+	* vector/v.out.ogr/main.c: Roger Bivand, Frank Warmerdam, Dylan
+	  Beaudette: prevent writing NULL values (trac #327)
+
+2008-10-13 10:18  glynn
+
+	* tools/g.html2man/g.html2man.py: Don't use String.partition()
+
+2008-10-13 08:35  neteler
+
+	* locale/po/grasswxpy_de.po: kbabel autotranslated: merged in from
+	  6.4
+
+2008-10-13 06:38  glynn
+
+	* tools/g.html2man/g.html2man.py: Display error message on failure
+
+2008-10-13 06:37  glynn
+
+	* imagery/i.latlong, raster/r.uslek, raster/r.usler: Set svn:ignore
+	  property
+
+2008-10-13 06:17  glynn
+
+	* raster/r.usler/r.usler.html: Fix HTML (missing > on </a> end tag)
+
+2008-10-13 05:26  glynn
+
+	* db/drivers/mysql/dbe.c, db/drivers/mysql/replace.c,
+	  display/d.fontlist/Makefile, display/d.fontlist/d.fontlist.html,
+	  display/d.fontlist/main.c, display/d.grid/fiducial.c,
+	  display/d.thematic.area/Makefile, display/d.thematic.area/area.c,
+	  display/d.thematic.area/d.thematic.area.html,
+	  display/d.thematic.area/local_proto.h,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot.h,
+	  display/d.thematic.area/plot1.c, display/d.vect/utils.c,
+	  general/g.mlist/Makefile, general/g.mlist/g.mlist.html,
+	  general/g.mlist/global.h, general/g.mlist/main.c,
+	  general/g.mlist/read_list.c, general/g.mlist/wc2regex.c,
+	  general/g.mremove/Makefile, general/g.mremove/check_reclass.c,
+	  general/g.mremove/do_remove.c, general/g.mremove/g.mremove.html,
+	  general/g.mremove/global.h, general/g.mremove/main.c,
+	  general/g.mremove/read_list.c, general/g.mremove/wc2regex.c,
+	  gui/xml/Makefile, imagery/i.albedo/Makefile,
+	  imagery/i.albedo/bb_alb_aster.c,
+	  imagery/i.albedo/bb_alb_landsat.c,
+	  imagery/i.albedo/bb_alb_modis.c, imagery/i.albedo/bb_alb_noaa.c,
+	  imagery/i.albedo/functions.h, imagery/i.albedo/i.albedo.html,
+	  imagery/i.albedo/main.c, imagery/i.latlong/Makefile,
+	  imagery/i.latlong/i.latlong.html, imagery/i.latlong/main.c,
+	  imagery/i.modis.qc/Makefile, imagery/i.modis.qc/i.modis.qc.html,
+	  imagery/i.modis.qc/main.c, imagery/i.modis.qc/qc250a.c,
+	  imagery/i.modis.qc/qc250b.c, imagery/i.modis.qc/qc250c.c,
+	  imagery/i.modis.qc/qc250d.c, imagery/i.modis.qc/qc250e.c,
+	  imagery/i.modis.qc/qc250f.c, imagery/i.modis.qc/qc500a.c,
+	  imagery/i.modis.qc/qc500c.c, imagery/i.modis.qc/qc500d.c,
+	  imagery/i.modis.qc/qc500e.c, imagery/i.vi/Makefile,
+	  imagery/i.vi/arvi.c, imagery/i.vi/dvi.c, imagery/i.vi/evi.c,
+	  imagery/i.vi/gari.c, imagery/i.vi/gemi.c, imagery/i.vi/gvi.c,
+	  imagery/i.vi/i.vi.html, imagery/i.vi/ipvi.c, imagery/i.vi/main.c,
+	  imagery/i.vi/msavi.c, imagery/i.vi/msavi2.c, imagery/i.vi/ndvi.c,
+	  imagery/i.vi/pvi.c, imagery/i.vi/savi.c, imagery/i.vi/sr.c,
+	  imagery/i.vi/wdvi.c, include/arraystats.h, include/cluster.h,
+	  include/vedit.h, lib/arraystats/Makefile, lib/arraystats/basic.c,
+	  lib/arraystats/class.c, lib/cairodriver/Text.c,
+	  lib/cairodriver/cairodriver.html, lib/cluster/Makefile,
+	  lib/gis/copy_dir.c, lib/gis/gdal.c, lib/htmldriver/Box.c,
+	  lib/htmldriver/Driver.c, lib/htmldriver/Graph_Clse.c,
+	  lib/htmldriver/Graph_Set.c, lib/htmldriver/Makefile,
+	  lib/htmldriver/Polygon.c, lib/htmldriver/Text.c,
+	  lib/htmldriver/htmldriver.html, lib/htmldriver/htmlmap.h,
+	  lib/pngdriver/Polygon.c, lib/pngdriver/pngdriver.html,
+	  lib/psdriver/psdriver.html, lib/python/Makefile,
+	  lib/raster/raster.c, lib/stats/c_kurt.c, lib/stats/c_skew.c,
+	  lib/vector/vedit/Makefile, lib/vector/vedit/distance.c,
+	  lib/vector/vedit/select.c, ps/ps.map/distance.h,
+	  raster/r.colors.out/Makefile, raster/r.colors.out/main.c,
+	  raster/r.colors.out/r.colors.out.html,
+	  raster/r.external/Makefile, raster/r.external/main.c,
+	  raster/r.external/r.external.html,
+	  raster/r.grow.distance/Makefile, raster/r.grow.distance/main.c,
+	  raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.mfilter/Makefile, raster/r.mfilter/apply.c,
+	  raster/r.mfilter/execute.c, raster/r.mfilter/filter.h,
+	  raster/r.mfilter/getfilt.c, raster/r.mfilter/getrow.c,
+	  raster/r.mfilter/glob.h, raster/r.mfilter/local_proto.h,
+	  raster/r.mfilter/main.c, raster/r.mfilter/perform.c,
+	  raster/r.mfilter/r.mfilter.html, raster/r.mfilter/uppercase.c,
+	  raster/r.quantile/Makefile, raster/r.quantile/main.c,
+	  raster/r.quantile/r.quantile.html, raster/r.statistics2/Makefile,
+	  raster/r.statistics2/main.c,
+	  raster/r.statistics2/r.statistics2.html,
+	  raster/r.support/Makefile, raster/r.uslek/Makefile,
+	  raster/r.uslek/main.c, raster/r.uslek/prct2tex.c,
+	  raster/r.uslek/r.uslek.html, raster/r.uslek/tex2usle_k.c,
+	  raster/r.usler/Makefile, raster/r.usler/elswaify85.c,
+	  raster/r.usler/foster81.c, raster/r.usler/main.c,
+	  raster/r.usler/morgan74.c, raster/r.usler/r.usler.html,
+	  raster/r.usler/roose75.c, scripts/d.correlate/d.correlate.py,
+	  scripts/d.polar/d.polar.py, scripts/d.rast.edit/d.rast.edit.py,
+	  scripts/d.rast.leg/d.rast.leg.py,
+	  scripts/db.dropcol/db.dropcol.py,
+	  scripts/db.droptable/db.droptable.html,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/db.test/db.test.py, scripts/g.manual/g.manual.py,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py, scripts/i.oif/i.oif.py,
+	  scripts/i.spectral/i.spectral.py, scripts/i.tasscap/i.tasscap.py,
+	  scripts/m.proj/m.proj.py, scripts/r.blend/r.blend.py,
+	  scripts/r.fillnulls/r.fillnulls.py,
+	  scripts/r.in.aster/r_in_aster.html,
+	  scripts/r.in.srtm/r.in.srtm.py, scripts/r.mask/r.mask.py,
+	  scripts/r.plane/r.plane.py,
+	  scripts/r.reclass.area/r.reclass.area.py,
+	  scripts/r.regression.line/r.regression.line.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecol/v.db.renamecol.py,
+	  scripts/v.db.univar/v.db.univar.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.html,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py, scripts/v.in.mapgen/v.in.mapgen.py,
+	  scripts/v.in.wfs/v.in.wfs.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py, swig/python/NumPtr/Makefile,
+	  swig/python/NumPtr/lib/NumPtr.py,
+	  swig/python/NumPtr/lib/__init__.py,
+	  swig/python/NumPtr/lib/test.py, swig/python/NumPtr/readme.html,
+	  swig/python/NumPtr/setup.py, swig/python/NumPtr/src/Makefile,
+	  swig/python/NumPtr/src/NumPtr.i,
+	  swig/python/NumPtr/src/getpointer.c,
+	  swig/python/NumPtr/src/getpointer.h,
+	  swig/python/NumPtr/src/test.c, swig/python/NumPtr/src/test.h,
+	  vector/v.class/Makefile, vector/v.class/main.c,
+	  vector/v.class/v.class.html, vector/v.edit/snap.c,
+	  visualization/nviz2/Makefile,
+	  visualization/ximgview/ximgview.html: Set svn:eol-style property
+
+2008-10-13 05:19  glynn
+
+	* lib/gmath/Makefile, lib/pngdriver/Makefile, lib/proj/Makefile,
+	  lib/raster/Makefile, lib/vector/Vlib/Makefile,
+	  vector/v.digit/Makefile: Remove bogus variables from Makefiles
+
+2008-10-13 05:14  glynn
+
+	* imagery/i.modis.qc/i.modis.qc.html, imagery/i.vi/i.vi.html,
+	  raster/r.usler/Makefile, raster/r.usler/r.usler.html: Convert
+	  CRLF to LF
+
+2008-10-13 05:02  glynn
+
+	* imagery/i.modis.qc/Makefile, imagery/i.vi/Makefile: Convert CRLF
+	  to LF
+
+2008-10-13 04:41  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: Remove footer; use
+	  auto-generated footer instead
+
+2008-10-13 01:02  hamish
+
+	* scripts/i.oif/i.oif.html: fix typo (patch from Nikos; trac bug
+	  #329); whitespace
+
+2008-10-12 15:57  neteler
+
+	* raster/r.mapcalc/r3.mapcalc.html: fix
+
+2008-10-12 15:54  neteler
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: added missing index footer
+
+2008-10-12 08:59  ychemin
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/wxpython/gui_modules/menudata.py,
+	  imagery/Makefile, imagery/i.latlong, imagery/i.latlong/Makefile,
+	  imagery/i.latlong/i.latlong.html, imagery/i.latlong/main.c: added
+	  i.latlong with GUIs menus
+
+2008-10-12 07:22  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: fix gettext
+	  warning
+	  (merge from devbr6, r33838)
+
+2008-10-12 07:15  neteler
+
+	* locale/po/grasslibs_el.po, locale/po/grasswxpy_el.po: updated
+
+2008-10-12 06:54  neteler
+
+	* general/manage/cmd/g.rename.html: mention case trick; more
+	  reasonable example
+
+2008-10-12 05:42  martinl
+
+	* raster/r.usler/main.c, raster/r.usler/r.usler.html: r.usler:
+	  don't use _() for option->key
+	  use standardized messages, html tags in manual page
+
+2008-10-12 01:17  glynn
+
+	* Makefile, include/Make/Grass.make, include/Make/Html.make,
+	  include/Make/NoHtml.make, include/Make/Rules.make, man: Remove
+	  "man" directory; generate manpages alongside HTML files in
+	  Html.make
+
+2008-10-12 00:42  ychemin
+
+	* raster/r.usler, raster/r.usler/Makefile,
+	  raster/r.usler/elswaify85.c, raster/r.usler/foster81.c,
+	  raster/r.usler/main.c, raster/r.usler/morgan74.c,
+	  raster/r.usler/r.usler.html, raster/r.usler/roose75.c: Add
+	  r.usler module
+
+2008-10-12 00:41  ychemin
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/wxpython/gui_modules/menudata.py,
+	  raster/Makefile, raster/r.uslek/r.uslek.html: Added r.usler with
+	  menu for both GUIs
+
+2008-10-11 20:27  neteler
+
+	* raster/r.volume/main.c: use G_define_standard_option; fixed input
+	  parm name
+
+2008-10-11 20:15  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasstcl_de.po, locale/po/grasswxpy_de.po: merged
+	  translations from devel_branch6
+
+2008-10-11 20:11  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasstcl_de.po, locale/po/grasswxpy_de.po: performed
+	  'make update-po'
+
+2008-10-11 15:27  martinl
+
+	* raster/r.uslek/main.c, raster/r.uslek/prct2tex.c: r.uslek: don't
+	  use _() macro for option->key
+	  use standardized messages, see
+	  http://grass.osgeo.org/wiki/Development_Specs
+
+2008-10-11 15:17  ychemin
+
+	* raster/Makefile, raster/r.uslek, raster/r.uslek/Makefile,
+	  raster/r.uslek/main.c, raster/r.uslek/prct2tex.c,
+	  raster/r.uslek/r.uslek.html, raster/r.uslek/tex2usle_k.c: Added
+	  r.uslek, with GUIs menu entries
+
+2008-10-11 11:53  glynn
+
+	* raster/r.series/r.series.html, vector/v.extract/v.extract.html:
+	  Fix broken HTML
+
+2008-10-10 13:04  neteler
+
+	* lib/gis/colors/precipitation: fine tuning for low precip
+
+2008-10-10 07:47  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: fix find colr2
+	  element
+	  (merge from devbr6, r33800)
+
+2008-10-09 23:12  hamish
+
+	* vector/v.out.ogr/main.c: improve wording (merge from devbr6)
+
+2008-10-09 19:12  martinl
+
+	* general/g.findfile/main.c, lib/gis/file_name.c,
+	  lib/gis/find_file.c: i18n update (g.findfile)
+	  (merge from devbr6, r33792)
+
+2008-10-09 15:45  martinl
+
+	* gui/wxpython/gui_modules/nviz_tools.py: cmbarton: Fixes bug in
+	  slider. NVIZ works on Mac.
+	  (merge from devbr6, r33790)
+
+2008-10-09 11:23  glynn
+
+	* lib/python/grass.py, scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/v.rast.stats/v.rast.stats.py: Add, use raster_info
+	  function (interface to r.info)
+
+2008-10-09 10:42  glynn
+
+	* lib/python/grass.py, vector/v.db.connect/main.c: Add fs= option
+	  to v.db.connect (for use by -g)
+	  Change vector_db to use fs=| (to allow for spaces in pathnames)
+
+2008-10-09 09:03  martinl
+
+	* display/d.rast/main.c: d.rast: missing bg->type
+	  (merge from devbr6, r33785)
+
+2008-10-09 08:58  martinl
+
+	* display/d.vect/plot1.c: d.vect: print only one warning for
+	  invalid rgb (print message for every affected feature)
+
+2008-10-09 08:55  martinl
+
+	* display/d.rast/colors.c, display/d.rast/display.c,
+	  display/d.rast/local_proto.h, display/d.rast/main.c: d.rast: 'bg'
+	  parameter changed to GISPROMPT_COLOR
+	  more gui section ('Query')
+
+2008-10-09 08:03  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: cmbarton: Fix for invisible
+	  combo box in digitizing toolbar on Mac
+	  (merge from devbr6, r33778)
+
+2008-10-09 06:24  martinl
+
+	* gui/wxpython/nviz/nviz.i: kyngchaos: move undef check inside
+	  module def so it gets into wrap
+	  (merge from devbr6, r33766)
+
+2008-10-09 04:23  hamish
+
+	* lib/db/dbmi_base/valuefmt.c: nicer double formatting (merge from
+	  devbr6)
+
+2008-10-09 03:26  glynn
+
+	* lib/python/grass.py: Add documentation strings
+
+2008-10-09 02:55  glynn
+
+	* display/d.zoom/main.c, doc/vector/v.example/main.c,
+	  general/g.access/main.c, general/g.proj/datumtrans.c,
+	  gui/wxpython/vdigit/cats.cpp, imagery/i.cluster/open_files.c,
+	  imagery/i.fft/main.c, imagery/i.ifft/main.c,
+	  imagery/i.ortho.photo/photo.2target/main.c, imagery/i.zc/main.c,
+	  lib/gis/ls.c, lib/gis/raster.c, lib/gmath/del2g.c,
+	  lib/gpde/N_arrays_calc.c, lib/proj/convert.c,
+	  lib/vector/Vlib/break_lines.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/net.c, raster/r.cost/main.c,
+	  raster/r.distance/defs.h, raster/r.lake/main.c,
+	  raster/r.random.cells/indep.c, raster/r.texture/main.c,
+	  raster/r.walk/main.c, raster/simwe/r.sim.sediment/main.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.edit/main.c,
+	  vector/v.in.sites/main.c, vector/v.label.sa/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.steiner/main.c, vector/v.net/main.c,
+	  vector/v.out.ascii/main.c, vector/v.out.vtk/main.c,
+	  vector/v.surf.rst/main.c, visualization/nviz/src/nviz_init.c,
+	  visualization/nviz2/cmd/vector.c: Fix typos
+
+2008-10-09 01:09  hamish
+
+	* lib/python/README.txt: make it easier to read (merge from devbr6)
+
+2008-10-08 15:17  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: combobox in dialog
+	  read only
+	  (merge from devbr6, r33764)
+
+2008-10-08 12:58  neteler
+
+	* raster/r.univar/stats.c: increased output precision for -g flag
+
+2008-10-08 12:55  neteler
+
+	* raster/r.info/main.c: increased output precision for -r flag
+
+2008-10-08 12:31  glynn
+
+	* lib/init/variables.html: Fix typo GRASS_ERROR_LOG ->
+	  GIS_ERROR_LOG
+	  Remove reference ot $GISBASE/GIS_ERROR_LOG; no longer used
+
+2008-10-08 10:35  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: fix welcome screen on first run
+	  (no .grassrcX available)
+	  (merge from devbr6, r33756)
+
+2008-10-08 08:33  neteler
+
+	* lib/init/variables.html: explained new GIS_ERROR_LOG variable
+	  (not sure about GISBASE/GIS_ERROR_LOG)
+
+2008-10-08 08:18  martinl
+
+	* gui/wxpython/icons/silk/__init__.py: wxGUI: define addrnum silk
+	  icon
+	  (merge from devbr6, r33750)
+
+2008-10-08 07:41  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: switch to 'Command output' page on 'print metadata'
+	  (merge from devbr6, r33748)
+
+2008-10-08 05:51  martinl
+
+	* gui/wxpython/gui_modules/histogram.py: histogramming: re-render
+	  tool added
+	  (merge from devbr6, r33746)
+
+2008-10-08 00:05  hamish
+
+	* raster/r.statistics/o_distrib.c: data output to stdout, G_debug
+	  (merge from devbr6)
+
+2008-10-08 00:02  glynn
+
+	* scripts/i.spectral/i.spectral.py: Allow use of d.linegraph
+	  instead of gnuplot
+
+2008-10-07 22:48  glynn
+
+	* lib/gis/error.c: Allow error log file to be specified by
+	  $GIS_ERROR_LOG
+	  Use getcwd() instead of popen("pwd")
+
+2008-10-07 21:34  martinl
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: histogram tool
+	  fixed (command layer type given as list of commands)
+	  (merge from devbr6, r33738)
+
+2008-10-07 20:47  martinl
+
+	* raster/r.report/parse.c: r.report: cosmetics in units param
+	  (merge from devbr6, r33736)
+
+2008-10-07 19:10  neteler
+
+	* swig/swiglib.dox: link GRASS Programmer's manual
+
+2008-10-07 14:10  neteler
+
+	* raster/r.texture/r.texture.html: some more measures explained
+	  (still several missing)
+
+2008-10-07 13:38  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py:
+	  wxGUI: colorrules module cleaned
+	  map scale mode fixed
+	  workspace updated for constrain comp resolution
+	  various minor fixes
+
+2008-10-07 11:28  neteler
+
+	* vector/v.vol.rst/v.vol.rst.html: cosmetics
+
+2008-10-07 10:51  pkelly
+
+	* imagery/i.atcorr/main.cpp: Remove isnan() and use
+	  G_is_f_null_value()
+
+2008-10-07 10:20  glynn
+
+	* lib/python/grass.py, scripts/d.polar/d.polar.py,
+	  scripts/db.test/db.test.py, scripts/i.in.spotvgt/i.in.spotvgt.py,
+	  scripts/i.spectral/i.spectral.py, scripts/m.proj/m.proj.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/r.in.srtm/r.in.srtm.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.in.e00/v.in.e00.py: Add, use interface to subprocess
+	  module
+
+2008-10-07 10:01  glynn
+
+	* lib/gis/null_val.c: Make G_is_[fd]_null_value() check for any
+	  NaN, not just all-ones
+
+2008-10-07 09:00  pkelly
+
+	* lib/iostream/mm_utils.cc, lib/iostream/rtimer.cc: Remove headers
+	  causing compilation problems on Windows
+
+2008-10-07 06:53  glynn
+
+	* scripts/Makefile: Re-enable d.rast.leg
+
+2008-10-07 06:52  glynn
+
+	* gui/scripts/d.colors.sh, gui/scripts/r.colors.rules,
+	  gui/scripts/r.reclass.file, gui/scripts/r.reclass.rules,
+	  gui/scripts/r.recode.file, gui/scripts/r.recode.rules,
+	  gui/scripts/r.support.sh: Remove redundant scripts
+
+2008-10-07 06:50  glynn
+
+	* scripts/d.rast.leg/d.rast.leg.py: Convert d.rast.leg to Python
+
+2008-10-07 05:20  glynn
+
+	* scripts/Makefile: Re-enable i.spectral
+
+2008-10-07 05:20  glynn
+
+	* scripts/i.spectral/i.spectral.py: Convert i.spectral to Python
+
+2008-10-07 03:44  ychemin
+
+	* imagery/Makefile: corrected i.modis.qc name
+
+2008-10-07 03:11  ychemin
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/wxpython/gui_modules/menudata.py,
+	  imagery/i.modis.qc, imagery/i.modis.qc/Makefile,
+	  imagery/i.modis.qc/i.modis.qc.html,
+	  imagery/i.modis.qc/i.qc.modis.html, imagery/i.modis.qc/main.c,
+	  imagery/i.qc.modis: renamed i.qc.modis to i.modis.qc
+
+2008-10-06 23:10  pkelly
+
+	* include/iostream/ami_stream.h: Conditionalise fseeko() on
+	  HAVE_LARGEFILES
+
+2008-10-06 19:40  pkelly
+
+	* general/g.mlist/Makefile, general/g.mremove/Makefile: Regex
+	  include path and library
+
+2008-10-06 17:20  pkelly
+
+	* general/g.region/main.c: Remove unused header
+
+2008-10-06 13:39  ychemin
+
+	* imagery/i.qc.modis/i.qc.modis.html, imagery/i.qc.modis/main.c,
+	  imagery/i.qc.modis/qc250a.c, imagery/i.qc.modis/qc250b.c,
+	  imagery/i.qc.modis/qc250c.c, imagery/i.qc.modis/qc250d.c,
+	  imagery/i.qc.modis/qc250e.c, imagery/i.qc.modis/qc250f.c,
+	  imagery/i.qc.modis/qc500a.c, imagery/i.qc.modis/qc500c.c,
+	  imagery/i.qc.modis/qc500d.c, imagery/i.qc.modis/qc500e.c: rewrite
+	  of module
+
+2008-10-06 09:49  neteler
+
+	* raster/r.series/r.series.html: multiple aggregates example added
+
+2008-10-06 09:47  glynn
+
+	* lib/gis/opencell.c: Ensure that fcb->gdal is either set or
+	  cleared, not left uninitialised
+
+2008-10-06 09:23  neteler
+
+	* scripts/Makefile: r.out.gdal is no more..
+
+2008-10-06 06:00  glynn
+
+	* scripts/r.out.gdal: Removed r.out.gdal.sh script - redundant
+
+2008-10-06 05:48  hamish
+
+	* raster/r.grow/main.c: save command line history (merge from
+	  devbr6)
+
+2008-10-05 21:43  glynn
+
+	* scripts/i.oif/Makefile: Don't install support files for obsolete
+	  shell version
+
+2008-10-05 21:11  glynn
+
+	* gui/tcltk/gis.m/animate.tcl: Remove #! line; script isn't
+	  executable
+
+2008-10-05 21:08  glynn
+
+	* gui/icons/grass/vdigit/box.xbm: Fix line terminators
+
+2008-10-05 19:22  glynn
+
+	* SUBMITTING: Amend information on use of "return" statements
+
+2008-10-05 08:47  glynn
+
+	* scripts/r.blend/r.blend.py: Optimisation: use one r.mapcalc pass
+	  instead of three
+
+2008-10-05 08:45  neteler
+
+	* lib/gis/gislib.dox: G_strcpy, G_strncpy, G_strcat were removed
+
+2008-10-05 08:12  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/mapcalc.y,
+	  scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py: Allow eval() at top
+	  level
+
+2008-10-04 22:40  glynn
+
+	* raster/Makefile, raster/r.statistics2,
+	  raster/r.statistics2/Makefile, raster/r.statistics2/main.c,
+	  raster/r.statistics2/r.statistics2.html: Add r.statistics2
+
+2008-10-04 10:15  hamish
+
+	* general/g.mremove/main.c: explain what needs to happen (merge
+	  from devbr6)
+
+2008-10-04 08:28  glynn
+
+	* raster/r.series/main.c: Allow multiple aggregates to be computed
+	  in one run
+
+2008-10-04 08:27  glynn
+
+	* lib/gis/parser.c: Fix check_overwrite() to handle opt->multiple
+	  == YES
+
+2008-10-04 07:01  hamish
+
+	* vector/v.extract/v.extract.html: improve wording
+
+2008-10-04 06:58  hamish
+
+	* vector/v.extract/v.extract.html: typo (merge from devbr6)
+
+2008-10-04 03:45  glynn
+
+	* scripts/d.rast.edit/d.rast.edit.py: Convert d.rast.edit to Python
+
+2008-10-02 22:47  glynn
+
+	* scripts/v.in.mapgen/v.in.mapgen.py: Converted v.in.mapgen to
+	  Python
+
+2008-10-02 17:02  glynn
+
+	* vector/v.digit/driver.c: Fix bug in driver_move()
+
+2008-10-02 15:37  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: database encoding
+	  support implemented
+	  (merge from devbr6, r33654)
+
+2008-10-02 04:35  glynn
+
+	* scripts/d.polar/d.polar.py: Convert d.polar to Python (xgraph
+	  untested)
+
+2008-10-02 04:33  glynn
+
+	* display/d.graph/main.c: Fix vertical flip
+
+2008-10-02 04:20  glynn
+
+	* display/d.erase/main.c, display/d.graph/Makefile,
+	  display/d.graph/do_graph.c, display/d.graph/local_proto.h: Fix
+	  bugs in d.erase, d.graph
+
+2008-10-02 00:32  glynn
+
+	* scripts/i.in.spotvgt/i.in.spotvgt.py: Convert i.in.spotvgt to
+	  Python (untested)
+
+2008-10-01 23:06  glynn
+
+	* scripts/db.test/db.test.py: Convert db.test to Python
+
+2008-10-01 21:56  glynn
+
+	* scripts/r.in.srtm/r.in.srtm.py: Convert r.in.srtm to Python
+
+2008-10-01 20:05  glynn
+
+	* scripts/Makefile: Disable d.vect.thematic: uses d.mon
+
+2008-10-01 19:26  martinl
+
+	* vector/v.extract/Makefile, vector/v.extract/main.c,
+	  vector/v.extract/v.extract.html: marisn: Random feature
+	  extraction support for v.extract
+	  (merge from devbr6, r33639)
+
+2008-10-01 19:17  glynn
+
+	* lib/gis/parser.c: Allow "enumerated" option values to be
+	  abbreviated
+
+2008-10-01 04:58  hamish
+
+	* display/d.geodesic/main.c, display/d.rhumbline/main.c: fix errs
+	  in last commit; d.rhumbline module desc
+
+2008-10-01 04:53  hamish
+
+	* display/d.geodesic/main.c, display/d.rhumbline/main.c: i18n (sync
+	  w devbr6)
+
+2008-10-01 03:44  glynn
+
+	* scripts/i.oif/i.oif.py: Convert i.oif to Python
+
+2008-10-01 00:58  glynn
+
+	* scripts/i.fusion.brovey/i.fusion.brovey.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py,
+	  scripts/r.in.aster/r.in.aster.py,
+	  scripts/r.shaded.relief/r.shaded.relief.py: Convert
+	  i.fusion.brovey to Python
+	  Fix various bugs in other scripts
+
+2008-10-01 00:57  glynn
+
+	* lib/gis/opencell.c: Zero fileinfo structures upon allocation
+
+2008-09-30 22:44  glynn
+
+	* scripts/v.db.join/v.db.join: Fix case of GIS_OPT_* variables
+
+2008-09-30 22:02  glynn
+
+	* raster/r.report/stats.c: Quote filename
+
+2008-09-30 20:31  glynn
+
+	* scripts/r.fillnulls/r.fillnulls,
+	  scripts/r.fillnulls/r.fillnulls.py: Convert r.fillnulls to Python
+
+2008-09-30 20:30  glynn
+
+	* lib/gis/open.c: Prevent segfault if mapset == NULL
+
+2008-09-30 18:09  glynn
+
+	* scripts/i.tasscap/i.tasscap, scripts/i.tasscap/i.tasscap.py:
+	  Convert i.tasscap to Python (and convert shell version to work
+	  with newer r.mapcalc)
+
+2008-09-30 17:27  ychemin
+
+	* imagery/i.vi/main.c: updated description of VIs
+
+2008-09-30 16:58  glynn
+
+	* scripts/r.shaded.relief/r.shaded.relief.py: Convert
+	  r.shaded.relief to Python
+
+2008-09-30 16:28  glynn
+
+	* scripts/m.proj/m.proj.py: Convert m.proj to Python
+
+2008-09-30 15:57  ychemin
+
+	* imagery/i.vi/i.vi.html: updated description file
+
+2008-09-30 14:42  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: close button tooltip
+	  cosmetics
+	  (merge from devbr6, r33617)
+
+2008-09-30 11:56  martinl
+
+	* imagery/i.albedo/i.albedo.html, imagery/i.albedo/main.c:
+	  i.albedo: follow GRASS coding rules
+	  * use descriptions
+	  * use standardized messages only, see
+	  http://grass.osgeo.org/wiki/Development_Specs
+	  * manual page updated
+
+2008-09-30 10:19  martinl
+
+	* imagery/i.vi/i.vi.html, imagery/i.vi/main.c: i.vi: follow GRASS
+	  coding style
+	  * use descriptions
+	  * don't use _() macro for key, etc.
+	  * use standardized messages only, see
+	  http://grass.osgeo.org/wiki/Development_Specs
+	  * manual page updated
+	  Please update missing vi description...
+
+2008-09-30 09:28  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: use 'Close' button instead
+	  of 'Cancel' (merge from devbr6, r33611)
+
+2008-09-30 09:19  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: check if wx.GCDC is
+	  available
+	  (merge from devbr6, r33609)
+
+2008-09-30 08:48  mlennert
+
+	* gui/wxpython/gui_modules/menudata.py: one closing paranthesis too
+	  many
+
+2008-09-30 03:49  glynn
+
+	* scripts/r.plane/r.plane.py: Re-implement r.plane in Python and
+	  r.mapcalc
+
+2008-09-29 23:50  glynn
+
+	* scripts/v.what.vect/v.what.vect.py: Don't abbreviate option names
+
+2008-09-29 23:48  glynn
+
+	* scripts/r.in.aster/r.in.aster.py: Fix typo (find_command ->
+	  find_program)
+
+2008-09-29 23:46  glynn
+
+	* lib/python/grass.py, scripts/db.dropcol/db.dropcol.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/db.in.ogr/db.in.ogr.py,
+	  scripts/i.image.mosaic/i.image.mosaic.py,
+	  scripts/i.landsat.rgb/i.landsat.rgb.py,
+	  scripts/r.in.aster/r.in.aster.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.addtable/v.db.addtable.py,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.droptable/v.db.droptable.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.db.renamecol/v.db.renamecol.py,
+	  scripts/v.db.update/v.db.update.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py,
+	  scripts/v.rast.stats/v.rast.stats.py,
+	  scripts/v.report/v.report.py: Convert v.db.addtable to Python
+	  Add, use several utility wrappers:
+	  vector_db (v.db.connect -g)
+	  db_describe (db.describe -c)
+	  db_connection (db.connect -p)
+	  vector_columns (v.info -c)
+	  vector_history (v.support cmdhist=)
+	  raster_history (r.support history=)
+
+2008-09-29 19:41  glynn
+
+	* scripts/i.image.mosaic/i.image.mosaic.html,
+	  scripts/i.image.mosaic/i.image.mosaic.py: Convert i.image.mosaic
+	  to Python
+
+2008-09-29 19:41  glynn
+
+	* raster/r.colors.out/main.c: Handle 3.0 colour tables
+
+2008-09-29 19:39  glynn
+
+	* scripts/Makefile: Disable {r,r3}.mapcalculator
+
+2008-09-29 17:31  glynn
+
+	* db/base/copy.c, display/d.grid/main.c,
+	  display/d.thematic.area/main.c, doc/vector/v.example/main.c,
+	  general/g.mapset/main.c, general/g.proj/datumtrans.c,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/toolbox.py,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2image/where.c,
+	  imagery/i.ortho.photo/photo.2target/main.c,
+	  imagery/i.ortho.photo/photo.2target/where.c,
+	  imagery/i.points/main.c, imagery/i.vpoints/drawvect.c,
+	  imagery/i.vpoints/main.c, imagery/i.vpoints/where.c,
+	  lib/db/dbmi_client/copy_tab.c, lib/db/dbmi_client/start.c,
+	  lib/db/dbmi_driver/driver.c, lib/gis/cats.c, lib/gis/env.c,
+	  lib/gis/error.c, lib/gis/get_window.c, lib/gis/gisinit.c,
+	  lib/gpde/N_arrays_io.c, lib/ogsf/gsd_legend.c,
+	  lib/proj/convert.c, lib/sites/sites.c, lib/vector/Vlib/area.c,
+	  lib/vector/Vlib/break_lines.c, lib/vector/Vlib/break_polygons.c,
+	  lib/vector/Vlib/bridges.c, lib/vector/Vlib/buffer.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/dangles.c, lib/vector/Vlib/remove_duplicates.c,
+	  lib/vector/Vlib/snap.c, lib/vector/diglib/plus_struct.c,
+	  locale/templates, raster/r.gwflow/main.c,
+	  raster/r.le/r.le.patch/patch.c, raster/r.out.arc/main.c,
+	  raster/r.out.gdal/main.c, raster/r.to.vect/main.c,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/r.tileset/r.tileset, scripts/v.what.vect/v.what.vect,
+	  scripts/v.what.vect/v.what.vect.py, vector/v.clean/proto.h,
+	  vector/v.distance/main.c, vector/v.edit/a2b.c,
+	  vector/v.edit/args.c, vector/v.label.sa/main.c: Fix various typos
+	  Add svn:ignore property to locale/templates
+
+2008-09-29 17:26  glynn
+
+	* scripts/v.db.renamecol/v.db.renamecol.py: Fix bugs
+
+2008-09-29 16:25  glynn
+
+	* scripts/v.db.univar/v.db.univar.py: Convert v.db.univar to Python
+	  (aside: why v.db.univar rather than db.univar?)
+
+2008-09-29 15:33  glynn
+
+	* scripts/db.dropcol/db.dropcol.py,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.join/v.db.join.py,
+	  scripts/v.db.renamecol/v.db.renamecol.py: Convert v.db.renamecol
+	  to Python
+	  Fix bugs in parsing "db.describe -c" output
+
+2008-09-29 14:21  glynn
+
+	* scripts/g.manual/g.manual.py,
+	  scripts/r.reclass.area/r.reclass.area.py: Convert g.manual,
+	  r.reclass.area to Python
+
+2008-09-29 14:20  glynn
+
+	* scripts/Makefile: Disable d.rast.leg - requires frames
+
+2008-09-29 09:18  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/vdigit/cats.cpp, gui/wxpython/vdigit/digit.cpp,
+	  gui/wxpython/vdigit/digit.h, gui/wxpython/vdigit/digit.i,
+	  gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/message.cpp,
+	  gui/wxpython/vdigit/select.cpp, gui/wxpython/vdigit/undo.cpp,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI: major vdigit updates
+	  * vedit component removed
+	  * various fixes (e.g. move vertex fn)
+	  * toolbars fixes (avoid multiple selection)
+	  (merge from devbr6, r33588)
+
+2008-09-29 08:19  neteler
+
+	* scripts/Makefile, scripts/g.mlist, scripts/g.mremove: g.mremove
+	  g.mlist replaced by C version
+
+2008-09-29 03:18  ychemin
+
+	* imagery/i.vi/main.c: correcting typo
+
+2008-09-28 21:55  glynn
+
+	* scripts/db.dropcol/db.dropcol.py,
+	  scripts/r.regression.line/r.regression.line.py,
+	  scripts/v.db.dropcol/v.db.dropcol.py,
+	  scripts/v.db.droptable/v.db.droptable.py: Convert db.dropcol,
+	  v.db.dropcol, v.db.droptable, r.regression.line to Python
+
+2008-09-28 17:15  glynn
+
+	* imagery/i.vi, imagery/i.vi/main.c: Set svn:ignore property
+	  Simply code
+	  Fix formatting
+
+2008-09-28 09:53  neteler
+
+	* imagery/i.albedo/main.c: start msgs with caps
+
+2008-09-28 09:48  ychemin
+
+	* imagery/i.vi, imagery/i.vi/Makefile, imagery/i.vi/arvi.c,
+	  imagery/i.vi/dvi.c, imagery/i.vi/evi.c, imagery/i.vi/gari.c,
+	  imagery/i.vi/gemi.c, imagery/i.vi/gvi.c, imagery/i.vi/i.vi.html,
+	  imagery/i.vi/ipvi.c, imagery/i.vi/main.c, imagery/i.vi/msavi.c,
+	  imagery/i.vi/msavi2.c, imagery/i.vi/ndvi.c, imagery/i.vi/pvi.c,
+	  imagery/i.vi/savi.c, imagery/i.vi/sr.c, imagery/i.vi/wdvi.c:
+	  Added i.vi
+
+2008-09-28 09:47  ychemin
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/wxpython/gui_modules/menudata.py,
+	  imagery/Makefile, imagery/i.albedo/main.c,
+	  imagery/i.qc.modis/main.c: Added i.vi
+
+2008-09-28 00:04  glynn
+
+	* lib/gis/parser.c: Disallow leading underscore in option names
+
+2008-09-28 00:02  glynn
+
+	* scripts/db.in.ogr/db.in.ogr.py, scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/v.report/v.report.py: Use 'option = None' for unspecified
+	  options, rather than **dict
+
+2008-09-28 00:01  glynn
+
+	* lib/python/grass.py: Allow option names to be given a leading
+	  underscore
+	  (in case of conflict with Python keywords)
+
+2008-09-27 23:46  glynn
+
+	* lib/gis/parser.c: More restrictive test for option:
+	  [a-z0-9_]*[a-z0-9]
+	  i.e. must consist solely of [a-z0-9_], and the last character may
+	  not be an underscore
+	  [can we change 3dview= so that the first character must also be
+	  alphabetic?]
+
+2008-09-27 23:36  glynn
+
+	* raster/r.topmodel/main.c, raster/r.topmodel/r.topmodel.html,
+	  raster/r.watershed/front/main.c,
+	  raster/r.watershed/front/r.watershed.html: Restrict option names
+	  to (lower-case) a-z, 0-9 and underscore
+	  r.topmodel: Qobs= -> qobs=
+	  r.watershed: dot -> underscore
+
+2008-09-27 23:18  glynn
+
+	* imagery/i.albedo, imagery/i.albedo/bb_alb_aster.c,
+	  imagery/i.albedo/bb_alb_landsat.c,
+	  imagery/i.albedo/bb_alb_modis.c, imagery/i.albedo/bb_alb_noaa.c,
+	  imagery/i.albedo/main.c, imagery/i.qc.modis,
+	  imagery/i.qc.modis/main.c: Remove erroneous svn:executable
+	  properties
+	  Add svn:ignore properties
+	  Convert to ANSI C (C89)
+	  Use strcmp instead of strcoll
+	  Read data as CELL (using map's quant rules) rather than using C
+	  typecast
+	  Add ->options to qcname=
+	  Fix formatting
+	  Miscellaneous cleanup
+
+2008-09-27 23:04  glynn
+
+	* ps/ps.map/ps.map.html: Move misplaced <a name=...> tag
+
+2008-09-27 23:03  glynn
+
+	* display/d.graph/Makefile: d.graph.html is fragment, not complete
+	  file
+
+2008-09-27 20:01  glynn
+
+	* scripts/i.landsat.rgb/i.landsat.rgb.py: Convert i.landsat.rgb to
+	  Python
+
+2008-09-27 19:15  glynn
+
+	* scripts/v.db.update/v.db.update.py: Convert v.db.update to Python
+
+2008-09-27 18:45  glynn
+
+	* scripts/db.in.ogr/db.in.ogr.py: Fix bug in db.in.ogr.py
+
+2008-09-27 18:32  glynn
+
+	* scripts/db.in.ogr/db.in.ogr.py: Convert db.in.ogr.py to Python
+
+2008-09-27 17:42  ychemin
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/wxpython/gui_modules/menudata.py:
+	  updated GUIs for i.qc.modis and i.albedo
+
+2008-09-27 16:25  ychemin
+
+	* imagery/i.albedo/description.html,
+	  imagery/i.albedo/i.albedo.html,
+	  imagery/i.qc.modis/description.html,
+	  imagery/i.qc.modis/i.qc.modis.html: fixed html help file names
+
+2008-09-27 15:11  ychemin
+
+	* imagery/i.albedo, imagery/i.albedo/Makefile,
+	  imagery/i.albedo/bb_alb_aster.c,
+	  imagery/i.albedo/bb_alb_landsat.c,
+	  imagery/i.albedo/bb_alb_modis.c, imagery/i.albedo/bb_alb_noaa.c,
+	  imagery/i.albedo/description.html, imagery/i.albedo/functions.h,
+	  imagery/i.albedo/main.c, imagery/i.qc.modis,
+	  imagery/i.qc.modis/Makefile, imagery/i.qc.modis/description.html,
+	  imagery/i.qc.modis/main.c, imagery/i.qc.modis/qc250a.c,
+	  imagery/i.qc.modis/qc250b.c, imagery/i.qc.modis/qc250c.c,
+	  imagery/i.qc.modis/qc250d.c, imagery/i.qc.modis/qc250e.c,
+	  imagery/i.qc.modis/qc250f.c, imagery/i.qc.modis/qc500a.c,
+	  imagery/i.qc.modis/qc500c.c, imagery/i.qc.modis/qc500d.c,
+	  imagery/i.qc.modis/qc500e.c: Added i.albedo and i.qc.modis
+
+2008-09-27 15:08  ychemin
+
+	* imagery/Makefile: Added i.albedo and i.qc.modis
+
+2008-09-27 01:36  glynn
+
+	* lib/python/grass.py, scripts/d.correlate/d.correlate.py,
+	  scripts/db.droptable/db.droptable.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/r.mask/r.mask.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.join/v.db.join.py: Convert d.correlate to Python
+	  Add, use feed_command, write_command (write to stdin)
+	  Clean up r.in.aster
+
+2008-09-27 00:06  glynn
+
+	* scripts/r.blend/r.blend.py, scripts/v.db.join/v.db.join.py:
+	  Convert r.blend to Python
+	  Fix bug in v.db.join
+
+2008-09-26 21:13  glynn
+
+	* lib/python/grass.py, scripts/r.in.aster/r.in.aster.py,
+	  scripts/v.db.addcol/v.db.addcol.py,
+	  scripts/v.db.join/v.db.join.py, scripts/v.dissolve/v.dissolve.py,
+	  scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py: Convert v.db.addcol, v.db.join to
+	  Python
+	  Make grass.parser() record original command line (to simplify
+	  v.support calls)
+
+2008-09-26 15:55  glynn
+
+	* lib/gis/G.h, lib/gis/Makefile, lib/gis/gdal.c, lib/gis/get_row.c:
+	  Allow GDAL to be loaded dynamically
+
+2008-09-26 14:54  glynn
+
+	* lib/python/grass.py, scripts/db.droptable/db.droptable.py,
+	  scripts/db.out.ogr/db.out.ogr.py,
+	  scripts/r.in.aster/r.in.aster.py, scripts/r.mask/r.mask.py,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.py,
+	  scripts/v.dissolve/v.dissolve.py, scripts/v.in.e00/v.in.e00.py,
+	  scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py, scripts/v.in.wfs/v.in.wfs.py,
+	  scripts/v.rast.stats/v.rast.stats.py: Convert db.droptable,
+	  db.out.ogr, v.db.reconnect.all to Python
+	  Add, use several utility functions:
+	  overwrite, basename, find_program, try_remove, try_rmdir
+
+2008-09-26 06:16  hamish
+
+	* raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.resamp.stats/r.resamp.stats.html: hints from the ML
+	  (merge from devbr6)
+
+2008-09-26 02:59  glynn
+
+	* scripts/v.in.e00/v.in.e00.py: Fix bugs
+	  Use more precise glob pattern (".e[0-9][0-9]" instead of ".e*")
+
+2008-09-26 00:59  glynn
+
+	* scripts/r.mask/r.mask.py: r.mask converted to Python
+
+2008-09-26 00:29  glynn
+
+	* scripts/v.dissolve/v.dissolve.py: Convert v.dissolve to Python
+
+2008-09-25 21:29  glynn
+
+	* scripts/v.in.e00/v.in.e00.py: Convert v.in.e00 to Python
+	  (untested; I don't have any .e00 files)
+
+2008-09-25 11:55  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI cosmetics: print
+	  statements removed
+	  (merge from devbr6, r33541)
+
+2008-09-25 11:50  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: redirecting messages
+	  enabled (cosmetics)
+	  (merge from devbr6, r33539)
+
+2008-09-25 11:47  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/undo.cpp,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI vector digitizer updates
+	  (undo, rendering optimalization)
+	  (merge from devbr6, r33537)
+
+2008-09-25 11:41  martinl
+
+	* lib/vector/diglib/plus_line.c: vlib: Vect_restore_line() added
+	  (initial step towards vector digitizer undo) - update r33533
+	  (merge from devbr6, r35535)
+
+2008-09-25 11:39  martinl
+
+	* include/Vect.h, include/vect/dig_externs.h,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c: vlib: Vect_restore_line() added
+	  (initial step towards vector digitizer undo)
+	  (merge from devbr6, r33533)
+
+2008-09-25 10:22  neteler
+
+	* lib/gis/colors.desc, lib/gis/colors/precipitation: Cristina
+	  Castellani: new precip. color tab
+
+2008-09-25 08:35  neteler
+
+	* scripts/d.rast.leg/d.rast.leg,
+	  scripts/d.rast.leg/d.rast.leg.html: Added rast parameter for
+	  static legends
+
+2008-09-25 07:47  neteler
+
+	* scripts/d.rast.leg/d.rast.leg,
+	  scripts/d.rast.leg/d.rast.leg.html: added flip legend flap
+
+2008-09-24 18:48  glynn
+
+	* scripts/v.in.geonames/v.in.geonames.py,
+	  scripts/v.in.gns/v.in.gns.py: Convert v.in.gns, v.in.geonames to
+	  Python
+
+2008-09-24 18:41  glynn
+
+	* lib/python/grass.py, scripts/v.rast.stats/v.rast.stats.py: Add,
+	  use parse_key_val
+
+2008-09-24 15:38  glynn
+
+	* scripts/v.in.wfs/v.in.wfs.py: Convert v.in.wfs to Python
+
+2008-09-24 15:20  glynn
+
+	* scripts/v.rast.stats/v.rast.stats.py: Convert v.rast.ststs to
+	  Python
+
+2008-09-24 05:35  hamish
+
+	* lib/gis/colors.desc, raster/r.colors/main.c,
+	  raster/r.colors/r.colors.html: color descriptions; moderninze
+	  interactive variable name
+
+2008-09-24 01:56  glynn
+
+	* lib/python/grass.py: Make find_file handle the not-found case
+	  Extend make_command to allow option=None to omit the option
+	  entirely
+
+2008-09-23 21:08  neteler
+
+	* raster/wildfire/r.spread/replaceHa.c: Rainer M Krug
+	  <r.m.krug*gmail com>: fix for hanging module
+
+2008-09-23 19:54  glynn
+
+	* scripts/v.report/v.report.py: Add Python version of v.report.py
+
+2008-09-23 19:46  neteler
+
+	* raster/r.colors/r.colors.html: updated incl. stdin
+
+2008-09-23 13:50  martinl
+
+	* lib/vector/vectorlib.dox, lib/vector/vedit/veditlib.dox:
+	  vlib/vedit: doxygen page updated
+	  (merge from devbr6, r33505)
+
+2008-09-23 07:41  neteler
+
+	* general/g.mlist/main.c: add convenient predefined 'comma' as
+	  separator
+
+2008-09-23 02:56  glynn
+
+	* raster/r.mapcalc/check.c, raster/r.mapcalc/func_proto.h,
+	  raster/r.mapcalc/function.c, raster/r.mapcalc/xadd.c,
+	  raster/r.mapcalc/xand.c, raster/r.mapcalc/xand2.c,
+	  raster/r.mapcalc/xbitand.c, raster/r.mapcalc/xbitor.c,
+	  raster/r.mapcalc/xbitxor.c, raster/r.mapcalc/xeq.c,
+	  raster/r.mapcalc/xmax.c, raster/r.mapcalc/xmedian.c,
+	  raster/r.mapcalc/xmin.c, raster/r.mapcalc/xmode.c,
+	  raster/r.mapcalc/xmul.c, raster/r.mapcalc/xor.c,
+	  raster/r.mapcalc/xor2.c: Make various functions variadic
+	  Perform more complete checking of argument and result types
+
+2008-09-22 16:56  neteler
+
+	* lib/gis/colors/celsius: celsius revisited
+
+2008-09-22 04:26  hamish
+
+	* raster/r.mapcalc/r.mapcalc.html: typo; graph() method (merge from
+	  devbr6)
+
+2008-09-19 16:34  epatton
+
+	* raster/rasterintro.html: Added resampling module details from
+	  Glynn
+
+2008-09-19 08:56  neteler
+
+	* lib/gis/colors.desc, lib/gis/colors/celsius: color table for
+	  Celsius maps added
+
+2008-09-19 02:37  hamish
+
+	* ps/ps.map/do_vectors.c, ps/ps.map/ps.map.html,
+	  ps/ps.map/r_vlines.c, ps/ps.map/vector.h: add line sytle by name
+	  and linecap (trac #250; merge from devbr6)
+
+2008-09-17 15:59  glynn
+
+	* display/d.colors/Makefile, display/d.rgb/Makefile,
+	  imagery/i.atcorr/Makefile, include/Make/Grass.make,
+	  lib/db/sqlp/test/Makefile, ps/ps.map/Makefile,
+	  raster/r.le/r.le.setup/polytocell/Makefile,
+	  raster/simwe/simlib/Makefile, vector/v.mapcalc/Makefile,
+	  vector/v.vol.rst/Makefile: Fix incorrect variables names
+	  Miscellaneous Makefile cleanup
+	  Remove references to vask, edit libraries
+
+2008-09-17 15:09  glynn
+
+	* Makefile, display/d.graph/Makefile, general/g.mapsets/Makefile,
+	  general/g.mkfontcap/Makefile, gui/icons/Makefile,
+	  gui/scripts/Makefile, gui/wxpython/Makefile,
+	  include/Make/Grass.make, include/Make/Script.make,
+	  include/Make/ScriptRules.make, lib/Makefile,
+	  lib/external/bwidget/Makefile, lib/form/Makefile,
+	  lib/proj/Makefile, locale/Makefile, man/Makefile,
+	  scripts/d.polar/Makefile, scripts/i.oif/Makefile,
+	  scripts/r.in.wms/Makefile, scripts/v.in.gpsbabel/Makefile,
+	  vector/v.clean/test/Makefile, vector/v.digit/Makefile,
+	  vector/v.in.dwg/Makefile, visualization/nviz/Makefile,
+	  visualization/nviz/html/Makefile: Place files in $(ARCH_DISTDIR)
+	  rather than $(GISBASE)
+	  Avoid re-"install"ing files unconditionally
+	  Don't pass multiple filenames to $(INSTALL) or $(INSTALL_DATA)
+
+2008-09-17 10:17  glynn
+
+	* raster/r.external/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.poly/main.c,
+	  raster/r.neighbors/main.c, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/main.c, raster/r.support/main.c,
+	  vector/v.support/main.c: Don't use quotes in ->key_desc
+
+2008-09-17 10:16  glynn
+
+	* vector/v.proj/main.c: ->gisprompt should be either valid or NULL
+
+2008-09-17 08:22  hamish
+
+	* swig/python/Makefile, swig/python/NumPtr/Makefile,
+	  swig/python/NumPtr/README.GRASS, swig/python/NumPtr/src/Makefile:
+	  clean clean; rm needs -f in case setup.pyc isn't there
+	  build bytecode .pyc files
+	  (merge from devbr6)
+
+2008-09-17 07:53  hamish
+
+	* swig/python/NumPtr/src/Makefile: Modernize and GNUify (harmless,
+	  this file is ignored AFAICT) (merge from devbr6)
+
+2008-09-17 07:17  glynn
+
+	* swig/Makefile, swig/python/Makefile, swig/python/NumPtr/Makefile:
+	  Make swig/python handle "make clean" correctly
+
+2008-09-17 07:16  glynn
+
+	* lib/external/shapelib/Makefile, lib/vector/rtree/Makefile: Move
+	  installation of headers into "headers" target
+
+2008-09-17 06:58  glynn
+
+	* swig/python, swig/python/NumPtr, swig/python/NumPtr/src: Set
+	  svn:ignore property
+
+2008-09-17 06:54  glynn
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/vdigit.py: Change grass6 -> grass7
+	  Remove PyOpenGL references
+
+2008-09-16 09:06  hamish
+
+	* swig/python/Makefile: remove TODone
+
+2008-09-16 08:54  glynn
+
+	* swig/python/Makefile, swig/python/python_grass7.i: Use a variable
+	  for the module name
+	  Correct the name of the dynamic library (has leading underscore)
+	  Add $(GMATHLIB) (some of the functions declared in gis.h are
+	  actually
+	  defined in the gmath library)
+	  Add dependencies for %_wrap.c
+	  Add Python version of G_gisinit()
+
+2008-09-16 08:51  glynn
+
+	* include/Vect.h, include/gisdefs.h: Remove/disable declarations
+	  for non-existent functions
+
+2008-09-16 08:13  hamish
+
+	* swig/python/Makefile, swig/python/NumPtr/Makefile: makefile
+	  control for NumPtr (merge from devbr6)
+
+2008-09-16 07:43  glynn
+
+	* include/gis.h: Remove CELL_NODATA declaration (not actually
+	  defined)
+
+2008-09-16 07:35  glynn
+
+	* swig/python/Makefile, swig/python/interfaces,
+	  swig/python/python_grass7.i: Remove interfaces/*.i; use header
+	  files directly
+
+2008-09-16 07:33  glynn
+
+	* include/gis.h, include/imagery.h: Un-nest structure declarations
+	  to make headers SWIG-friendly
+	  Fix G_DEV_NULL definition (strings need double-quotes, not single
+	  quotes)
+
+2008-09-16 07:07  hamish
+
+	* swig/python/interfaces/Makefile,
+	  swig/python/interfaces/dig_types.i: autogen dig_types.i
+
+2008-09-16 05:56  hamish
+
+	* swig/python/interfaces/Makefile: skip unused & undefined
+	  CELL_NODATA (merge from devbr6)
+
+2008-09-16 05:09  hamish
+
+	* swig/python/interfaces/Makefile, swig/python/interfaces/gis.i:
+	  crude attempt at cleansing gis.h (merge from devbr6)
+
+2008-09-15 08:34  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: add label placement hint (merge from
+	  devbr6)
+
+2008-09-15 08:02  glynn
+
+	* gui/wxpython/nviz/Makefile: Don't list X libraries for wx-nviz
+	  module
+
+2008-09-15 07:42  hamish
+
+	* ps/ps.map/ps.map.html, ps/ps.map/ps_fclrtbl.c: better units label
+	  placement + adjustable (code) (merge from devbr6)
+
+2008-09-15 00:04  hamish
+
+	* lib/gis/window_map.c: revert broken-formatted and overly verbose
+	  debug message (merge from devbr6)
+
+2008-09-14 07:06  hamish
+
+	* swig/python/interfaces/Makefile: fix problems due to indent
+	  making some some fns multiline (trac #308; merge from devbr6)
+
+2008-09-14 07:03  hamish
+
+	* swig/python/interfaces/imagedefs.i,
+	  swig/python/interfaces/imagery.i: trac #308. make PySwig build
+	  again (but still needs work): cluster fns moved out of imagery
+	  lib; indent (merge from devbr6)
+
+2008-09-14 02:40  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: try at printing data unit labels with FP
+	  legends (merge from devbr6)
+
+2008-09-13 23:17  glynn
+
+	* general/g.mremove/Makefile: Add switches for GDAL headers
+
+2008-09-13 23:02  glynn
+
+	* raster/r.external/main.c: Fix writing of range
+
+2008-09-12 20:10  neteler
+
+	* raster/r.support.stats/check.c, raster/r.support.stats/histo.c:
+	  smaller percentage steps
+
+2008-09-12 08:30  neteler
+
+	* contributors.csv: +Yann Chemin
+
+2008-09-11 07:42  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: enable 'add' button also
+	  for all linked tables
+	  (merge from devbr6, r33405)
+
+2008-09-11 07:35  hamish
+
+	* REQUIREMENTS.html: use css stylesheet (merge from devbr6);
+	  ver6->7
+
+2008-09-11 07:09  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/vdigit/driver_draw.cpp: wxGUI/vdigit: fix area
+	  filling
+	  (merge from devbr6, r33401)
+
+2008-09-11 06:46  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/line.cpp: wxGUI: attribute dialog fixes
+	  vdigit: start with category 1
+	  (merge from devbr6, r33398)
+
+2008-09-11 06:11  glynn
+
+	* include/gisdefs.h: Remove declarations for non-existent LZW
+	  functions
+
+2008-09-11 03:41  glynn
+
+	* raster/r.out.bin/tif_swab.c, raster/r.out.tiff/main.c,
+	  visualization/xganim/gui.c: Eliminate some BSD-isms
+
+2008-09-11 00:47  hamish
+
+	* swig/python/NumPtr/src/test.c: include stdio.h for printf (merge
+	  from devbr6)
+
+2008-09-10 15:41  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI: fix display attributes
+	  dialog to display duplicated features
+	  (merge from devbr6, r33387)
+
+2008-09-10 15:12  hamish
+
+	* vector/v.info/main.c: hange Map is 3D in form to report in human
+	  not binary (merge from devbr6)
+
+2008-09-10 13:16  hamish
+
+	* scripts/r.in.wms/r.in.wms, scripts/r.in.wms/wms.download: bugfix:
+	  missing ?; check if r.in.gdalwarp worked (merge from devbr6)
+
+2008-09-10 12:27  hamish
+
+	* raster/wildfire/r.spread/cmd_line.h,
+	  raster/wildfire/r.spread/collect_ori.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/r.spread.html: cleanup
+
+2008-09-10 12:18  hamish
+
+	* raster/wildfire/r.spread/replaceHa.c: G_debug(), G_fatal_error()
+	  (merge from devbr6)
+
+2008-09-10 11:11  neteler
+
+	* SUBMITTING_DOCS, db/databaseintro.html, doc/debugging.txt,
+	  doc/infrastructure.txt: wiki url updated
+
+2008-09-10 11:09  neteler
+
+	* rfc/psc_motions.dox: missing items added
+
+2008-09-10 11:08  hamish
+
+	* raster/wildfire/r.spread/collect_ori.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/select_linksB.c,
+	  raster/wildfire/r.spread/spot.c: DEBUG to G_debug, fix broken %
+	  literal (merge from devbr6)
+
+2008-09-10 10:33  hamish
+
+	* ps/ps.map/get_scalebar.c: Earth units not available in simple XY
+	  location (merge from devbr6)
+
+2008-09-10 10:21  hamish
+
+	* ps/ps.map/decorate.h, ps/ps.map/distance.h,
+	  ps/ps.map/do_scalebar.c, ps/ps.map/get_scalebar.c,
+	  ps/ps.map/map_setup.c, ps/ps.map/ps.map.html, ps/ps.map/scale.c:
+	  * add scalebar unit labels
+	  * move distance consts to their own header file
+	  * make METERS_TO_INCHES exact
+	  * update wiki URL
+	  (merge from devbr6, wish #64)
+
+2008-09-10 07:34  martinl
+
+	* locale/po/grassmods_cs.po: Fix bug in Czech translation
+
+2008-09-10 07:29  martinl
+
+	* lib/gis/parser.c: message cosmetics (merge from devbr6, r33363)
+
+2008-09-09 23:12  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp: wxGUI/vdigit: category
+	  dialog can handle duplicated features
+	  (merge from devbr6, r33359, r33360, r33361)
+
+2008-09-09 18:01  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: use doxygen style
+	  header for files
+	  (merge from devbr6, r33357)
+
+2008-09-09 13:35  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: set focus in
+	  NewVectorDialog to map name widget
+	  (merge from devbr6, r33353)
+
+2008-09-09 13:12  hamish
+
+	* vector/v.build.polylines/main.c: remove -q flag, fix typo in
+	  G_message
+
+2008-09-09 08:22  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/gselect.py: wxGUI: colorrules fixes
+	  (merge from devbr6, r33349)
+
+2008-09-09 08:00  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: changes in
+	  VectorDBInfo class reverted (r33342) -- it breaks dbm.py
+	  completely
+	  (merge from devbr6, r33345)
+
+2008-09-09 07:58  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: cmbarton: Updated to use
+	  new gselect classes for vector layer and attribute comboboxes
+	  (merge from devbr6, r33344)
+
+2008-09-09 07:57  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: cmbarton: New classes create
+	  comboboxes for selecting vector layers, vector attribute columns,
+	  and generic data table columns.
+	  (merge ftom trunk r33342)
+
+2008-09-09 07:27  martinl
+
+	* gui/wxpython/nviz/nviz.i: wxNviz: attempt to compile wxnviz on
+	  Mac (thanks to William Kyngesburye)
+	  (merge from devbr6, r33341)
+
+2008-09-09 04:00  glynn
+
+	* lib/gis/gisinit.c: Revert r33327
+
+2008-09-09 02:04  hamish
+
+	* scripts/r.tileset/r.tileset: * increase lat/lon precision to
+	  0.1mm
+	  * check if cs2cs worked
+	  * simplify multiple sed calls
+	  (merge from devbr6)
+
+2008-09-08 21:37  glynn
+
+	* raster/r.external/main.c: Call G_quant_init()
+
+2008-09-08 21:25  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py: wxGUI: color rules - fix
+	  preview - command layer type given as a list of commands
+	  (merge from devbr6, r33335)
+
+2008-09-08 16:47  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: cosmetics in 'Command Output' tab, switch only if
+	  necessary
+	  Cosmetics in Map Display positioning
+	  (merge from devbr6, r33332)
+
+2008-09-08 16:44  martinl
+
+	* gui/icons/Makefile, gui/icons/grass/vdigit,
+	  gui/icons/grass/vdigit/add.vertex.gif,
+	  gui/icons/grass/vdigit/box.xbm,
+	  gui/icons/grass/vdigit/copy.cats.gif,
+	  gui/icons/grass/vdigit/cross.xbm,
+	  gui/icons/grass/vdigit/cross45.xbm,
+	  gui/icons/grass/vdigit/delete.line.gif,
+	  gui/icons/grass/vdigit/display.attributes.gif,
+	  gui/icons/grass/vdigit/display.cats.gif,
+	  gui/icons/grass/vdigit/edit.line.gif,
+	  gui/icons/grass/vdigit/exit.gif,
+	  gui/icons/grass/vdigit/move.line.gif,
+	  gui/icons/grass/vdigit/move.vertex.gif,
+	  gui/icons/grass/vdigit/new.boundary.gif,
+	  gui/icons/grass/vdigit/new.centroid.gif,
+	  gui/icons/grass/vdigit/new.line.gif,
+	  gui/icons/grass/vdigit/new.point.gif,
+	  gui/icons/grass/vdigit/redraw.gif,
+	  gui/icons/grass/vdigit/rm.vertex.gif,
+	  gui/icons/grass/vdigit/settings.gif,
+	  gui/icons/grass/vdigit/split.line.gif,
+	  gui/icons/grass/vdigit/stop.gif,
+	  gui/icons/grass/vdigit/zoom.default.gif,
+	  gui/icons/grass/vdigit/zoom.out.centre.gif,
+	  gui/icons/grass/vdigit/zoom.pan.gif,
+	  gui/icons/grass/vdigit/zoom.region.gif,
+	  gui/icons/grass/vdigit/zoom.window.gif,
+	  gui/wxpython/icons/icon.py, vector/v.digit/Makefile,
+	  vector/v.digit/driver.c, vector/v.digit/icons,
+	  vector/v.digit/toolbox.tcl: v.digit icons moved to
+	  gui/icons/grass/vdigit
+	  vdigit icons need to be available (for wxGUI) even v.digit is not
+	  compiled
+	  (merge from devbr6, r33331)
+
+2008-09-08 13:04  neteler
+
+	* raster/r.li/r.li.html: say what it is
+
+2008-09-08 12:46  neteler
+
+	* lib/gis/gisinit.c: explain what 'incompatible lib' implies
+
+2008-09-07 20:11  martinl
+
+	* gui/wxpython/nviz/nviz.h, gui/wxpython/nviz/nviz.i,
+	  include/nviz.h: nvizlib: Mac-related fixes (thanks to William
+	  Kyngesburye)
+	  (merge from devbr6, r33321)
+
+2008-09-07 20:10  martinl
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/surface.c,
+	  visualization/nviz2/cmd/vector.c: nviz_cmd: options for position
+	  (surface, vlines, vpoints)
+	  (merge from devbr6, r33312)
+
+2008-09-07 19:59  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: minor fixes in
+	  nviz and atm
+	  (merge from devbr6, r33319)
+
+2008-09-07 17:29  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: text layer bug fixes
+	  (trac #301 and #302)
+	  (merge from devbr6, r33317)
+
+2008-09-07 15:23  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/nviz/init.cpp, gui/wxpython/nviz/nviz.h: wxGUI: bug
+	  fix - trac #297 wxNVIZ: crash or failure
+	  use display region settings
+	  (merge from devbr6, r33315)
+
+2008-09-07 13:16  neteler
+
+	* locale/po/grassmods_pl.po: fixed broken translation #296
+
+2008-09-07 11:49  martinl
+
+	* lib/ogsf/GS2.c: ogsf: Print only warning if raster map is outside
+	  of the region
+	  (merge from devbr6, r33310)
+
+2008-09-07 10:26  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: bug fix - trac #299 -
+	  wxGUI fails to handle illegal region extent
+	  (merge from devbr6, r33308)
+
+2008-09-06 21:13  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: constrain display res
+	  fixes
+
+2008-09-06 17:31  glynn
+
+	* general/g.mlist/main.c, general/g.mremove/main.c: Use basic REs
+	  by default; add -e for extended REs
+
+2008-09-06 17:23  glynn
+
+	* lib/init/init.sh: "source" is a bash-ism; changed to use "."
+
+2008-09-06 13:14  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: ignore error message
+	  containing 'GtkPizza', see trac #283
+	  (merge from devbr6, r33301)
+
+2008-09-06 13:00  martinl
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: bugfix - trac
+	  #291 - font settings not saved
+	  (merge from devbr6, r33299)
+
+2008-09-06 12:08  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: bugfix - trac #288 -
+	  "Set options" for scale and N arrow fails
+	  (merge from devbr6, r33297)
+
+2008-09-06 11:47  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: bugfix #292 - Erase
+	  display crashes
+	  (merge from devbr6, r33295)
+
+2008-09-06 11:40  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: bugfix - trac #294 -
+	  computational region extent frame should be semi-transparent
+	  (merge from devbr6, r33293)
+
+2008-09-06 11:29  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: bug fix - trac #274:
+	  vdigit: cursor and vertex are apart when moving vertices
+	  (merge from devbr6, r33291)
+
+2008-09-06 10:09  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: check GRASS_PNGFILE
+	  first
+	  (merge from devbr6, r33287)
+
+2008-09-05 22:26  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/cats.cpp:
+	  wxGUI: display attributes bug fix (not found --- found)
+	  (merge devbr6, r33283, r33284)
+
+2008-09-05 20:17  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI: trac #276 --- vdigit: please render closed areas
+	  transparent
+	  (merge from devbr6, r33281)
+
+2008-09-05 13:26  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: bug fix trac #285 (error
+	  in table manager -- OnPageChanged)
+	  (merge from devbr6, r33278)
+
+2008-09-05 12:41  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: bug fix trac #282 --
+	  r.what in wxGUI should not depend on computational region
+	  use `del os.environ[key] rather then os.unsetenv(key)
+	  (merge from devbr6, r33276)
+
+2008-09-05 10:59  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: debug message
+	  cosmetics (merge from devbr6, r33274)
+
+2008-09-05 10:21  mlennert
+
+	* display/d.thematic.area/main.c: we need the data array in any
+	  case, not only when algo= is used
+
+2008-09-05 07:54  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.colortable/main.c,
+	  display/d.geodesic/plot.c, display/d.graph/do_graph.c,
+	  display/d.graph/local_proto.h, display/d.grid/plot.c,
+	  display/d.histogram/bar.c, display/d.histogram/draw_slice.c,
+	  display/d.histogram/main.c, display/d.histogram/pie.c,
+	  display/d.labels/do_labels.c, display/d.legend/main.c,
+	  display/d.linegraph/main.c, display/d.profile/main.c,
+	  display/d.rast.num/main.c, display/d.text/main.c,
+	  display/d.vect/plot1.c, display/d.vect/utils.c,
+	  include/display.h, include/raster.h, lib/display/draw2.c,
+	  lib/display/symbol.c, lib/driver/Box.c, lib/driver/Cont.c,
+	  lib/driver/Move.c, lib/driver/Polydots.c, lib/driver/Polygon.c,
+	  lib/driver/Polyline.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/text2.c, lib/driver/text3.c,
+	  lib/raster/raster.c: Remove COM_*_rel, R_*_rel functions; no
+	  longer used
+	  Replace R_move_abs -> R_pos_abs
+	  Replace R_move_abs + R_cont_abs -> R_line_abs
+	  Add D_pos_abs, D_pos_rel
+	  Eliminate dual-use of D_{move,cont}_{abs,rel}
+	  Update d.graph to use D_pos_abs for move and D_line_abs for
+	  move/draw
+	  Merge D_symbol and D_symbol2
+	  Replace R_* -> D_* in D_symbol
+	  Update d.vect to handle D_symbol changes
+	  Eliminate integer coordinates in soft_text functions
+
+2008-09-05 07:43  glynn
+
+	* general/manage/lib/Element_List, general/manage/lib/Makefile,
+	  lib/gis/Makefile, lib/gis/element_list: Move element_list to
+	  lib/gis, for earlier availability
+
+2008-09-04 23:17  glynn
+
+	* configure, configure.in, general/Makefile,
+	  general/g.mlist/Makefile, general/g.mremove/Makefile,
+	  include/Make/Platform.make.in, include/config.h.in: Add configure
+	  checks for regex functions
+	  Enable g.mlist, g.mremove
+
+2008-09-04 22:34  glynn
+
+	* general/g.mlist/description.html, general/g.mlist/g.mlist.html,
+	  general/g.mremove/description.html,
+	  general/g.mremove/g.mremove.html: Rename, update HTML files for
+	  g.mlist, g.mremove
+
+2008-09-04 22:24  glynn
+
+	* general/g.mlist, general/g.mlist/Makefile,
+	  general/g.mlist/gisdefs.h, general/g.mlist/global.h,
+	  general/g.mlist/join.c, general/g.mlist/ls.c,
+	  general/g.mlist/main.c, general/g.mlist/read_list.c,
+	  general/g.mremove, general/g.mremove/Makefile,
+	  general/g.mremove/do_remove.c, general/g.mremove/gisdefs.h,
+	  general/g.mremove/global.h, general/g.mremove/join.c,
+	  general/g.mremove/ls.c, general/g.mremove/main.c,
+	  general/g.mremove/read_list.c, general/g.mremove/sighold.c: Add
+	  g.mlist, g.mremove
+
+2008-09-04 22:23  glynn
+
+	* include/gisdefs.h, lib/gis/ls.c: Add G_set_ls_filter()
+
+2008-09-04 21:17  glynn
+
+	* general/g.mlist, general/g.mremove: Revert r33263
+
+2008-09-04 21:15  glynn
+
+	* general/g.mlist, general/g.mremove: Add directories for g.mlist,
+	  g.mremove
+
+2008-09-04 18:00  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.colortable/main.c,
+	  display/d.geodesic/plot.c, display/d.graph/do_graph.c,
+	  display/d.histogram/bar.c, display/d.histogram/pie.c,
+	  display/d.legend/main.c, display/d.linegraph/linegraph.h,
+	  display/d.linegraph/main.c, display/d.profile/main.c,
+	  display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.rhumbline/plot.c, include/display.h,
+	  lib/display/draw2.c: Add, use D_begin, D_end, D_close, D_stroke,
+	  D_fill
+	  Simplify handling of D_*_rel() functions
+	  Fix bug in d.barscale
+
+2008-09-04 17:57  glynn
+
+	* lib/cairodriver/Graph.c, lib/pngdriver/Graph_set.c,
+	  lib/psdriver/Graph_set.c: Change G_message() to
+	  G_verbose_message()
+
+2008-09-04 17:56  glynn
+
+	* raster/r.profile/Makefile: r.profile doesn't require
+	  raster/display libraries
+
+2008-09-04 15:06  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: bug fix -- trac #281
+	  (query tool crashes when the user presses mouse buttons fast)
+	  (merge from devbr6, r33257)
+
+2008-09-04 14:43  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: trac #280 (wxGUI doesn't
+	  handle removing maps)
+	  error message in unicode
+	  (merge from devbr6, r33255)
+
+2008-09-04 14:32  martinl
+
+	* locale/po/grasslibs_cs.po: Czech translation of g.list fixed
+	  (merge from devrb6, r33253)
+
+2008-09-04 14:13  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: fix display
+	  attributes (update r33249)
+	  close dialog properly
+	  (merge from devbr6, r33251)
+
+2008-09-04 13:58  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: trac #277 - Query
+	  vector map (edit mode): does not work
+	  querying areas fixed
+	  (merge from devbr6, r33249)
+
+2008-09-04 13:53  martinl
+
+	* vector/v.what/what.c: v.what: use same key ('type') for all
+	  features
+	  redundant spaces removed
+	  (merge from devbr6, r33247)
+
+2008-09-04 13:13  mlennert
+
+	* display/d.thematic.area/main.c: don't need to calculate max and
+	  min as we have them in the stats
+	  stucture
+
+2008-09-04 08:21  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: new vector dialog optionally create also attribute table
+	  (merge from devbr6, r33241)
+
+2008-09-04 08:11  neteler
+
+	* lib/init/grass7.html: merged updated from hamish
+
+2008-09-03 16:56  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/vertex.cpp:
+	  wxGUI: break lines at intersection also works for
+	  move vertex
+	  move line
+	  edit line
+	  copy lines from background map
+	  (merge from devbr6, r33236)
+
+2008-09-03 16:50  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/vdigit/cats.cpp, gui/wxpython/vdigit/line.cpp,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI/vdigit: undo still
+	  disabled, comment-out relevant code (bug fix)
+	  (merge from devbr6, r33235)
+
+2008-09-03 10:58  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: cosmetics in dbm
+	  (statusbar logging)
+	  (merge from devbr6, r33233)
+
+2008-09-03 08:53  hamish
+
+	* raster/r.in.bin/main.c: rows and cols must be int (merge from
+	  devbr6)
+
+2008-09-03 08:36  martinl
+
+	* gui/wxpython/vdigit/line.cpp: wxGUI: bug fix in vdigit (move
+	  features)
+
+2008-09-03 07:29  hamish
+
+	* raster/r.in.bin/main.c: use G_fatal_error not return 1 (merge
+	  from devbr6)
+
+2008-09-02 21:02  glynn
+
+	* display/d.geodesic/local_proto.h, display/d.geodesic/main.c,
+	  display/d.geodesic/plot.c, display/d.rhumbline/local_proto.h,
+	  display/d.rhumbline/main.c, display/d.rhumbline/plot.c,
+	  display/d.thematic.area/area.c,
+	  display/d.thematic.area/local_proto.h,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot1.c,
+	  display/d.vect/area.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot1.c, include/display.h,
+	  lib/display/draw2.c: Fix lat/lon wrapping in D_* functions
+	  Fix clipping tests to handle lower-left origin
+	  Replace separate D_*_{cull,clip} functions with D_set_clip_mode()
+	  Eliminate use of G_plot_fx()
+
+2008-09-02 18:50  glynn
+
+	* display/d.geodesic/plot.c, display/d.histogram/main.c,
+	  display/d.linegraph/main.c, display/d.rast/display.c,
+	  display/d.rhumbline/plot.c, include/raster.h,
+	  lib/cairodriver/Driver.c, lib/cairodriver/Graph.c,
+	  lib/cairodriver/Respond.c, lib/cairodriver/cairodriver.h,
+	  lib/cairodriver/cairodriver.html, lib/driver/Respond.c,
+	  lib/driver/driver.h, lib/htmldriver/Driver.c,
+	  lib/pngdriver/Driver.c, lib/pngdriver/Graph_set.c,
+	  lib/pngdriver/Respond.c, lib/pngdriver/pngdriver.h,
+	  lib/pngdriver/pngdriver.html, lib/psdriver/Driver.c,
+	  lib/psdriver/Respond.c, lib/psdriver/psdriver.h,
+	  lib/raster/raster.c: Remove R_flush()
+
+2008-09-02 15:04  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  wxGUI: various vector map query tool oriented fixes
+	  (merge from devbr6, r33222)
+
+2008-09-02 12:59  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: bug fix - query
+	  vector map if no map layer selected
+	  (merge from devbr6, r33220)
+
+2008-09-02 12:07  martinl
+
+	* imagery/i.atcorr/6s.cpp, imagery/i.atcorr/AerosolModel.cpp,
+	  imagery/i.atcorr/AtmosModel.cpp, imagery/i.atcorr/GeomCond.cpp,
+	  imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/computations.cpp,
+	  imagery/i.atcorr/main.cpp: i.atcorr: use
+	  G_warning()/G_fatal_error() instead of fprintf(stderr, ...)
+	  message standardization
+	  more guisections
+	  (merge from devbr6, r33218)
+
+2008-09-02 10:28  martinl
+
+	* imagery/i.atcorr/6s.cpp, imagery/i.atcorr/Abstra.cpp,
+	  imagery/i.atcorr/AerosolConcentration.cpp,
+	  imagery/i.atcorr/AerosolModel.cpp, imagery/i.atcorr/Altitude.cpp,
+	  imagery/i.atcorr/AtmosModel.cpp, imagery/i.atcorr/GeomCond.cpp,
+	  imagery/i.atcorr/Interp.cpp, imagery/i.atcorr/Iwave.cpp,
+	  imagery/i.atcorr/Transform.cpp, imagery/i.atcorr/common.cpp,
+	  imagery/i.atcorr/computations.cpp, imagery/i.atcorr/gauss.cpp,
+	  imagery/i.atcorr/main.cpp: i.atcorr: use same indentation rules
+	  for all files
+	  (merge from devbr6, r33216)
+
+2008-09-02 09:44  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: set focus to the
+	  first parameter
+	  (merge from devbr6, r33214)
+
+2008-09-02 09:32  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI/vdigit: bug fix copy
+	  cats for GV_POINTS & GV_LINES
+	  (merge from devbr6, r33212)
+
+2008-09-02 09:05  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: remove map layer dialog cosmetics,
+	  multiple items can be removed
+	  (merge from devbr6, r33209)
+
+2008-09-02 09:03  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: re-render on close
+	  fixed
+	  (merge from devbr6, r33208)
+
+2008-09-02 08:47  martinl
+
+	* lib/vector/Vlib/open.c: vlib: message cosmetics
+	  (merge from devbr6, r33206)
+
+2008-09-02 08:23  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI dialog layout
+	  cosmetics
+	  (merge from devbr6, r33204)
+
+2008-09-02 01:33  glynn
+
+	* display/Makefile, raster/Makefile: Disable r.le
+	  Enable d.profile
+
+2008-09-01 16:54  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: removed unused code
+	  (merge from devbr6, r33200)
+
+2008-09-01 16:49  martinl
+
+	* gui/wxpython/vdigit/driver_select.cpp: wxGUI/vdigit: bug fix in
+	  GetRegionSelected()
+	  (merge from devbr6, r33197, r33198)
+
+2008-09-01 16:10  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI/vdigit: deselect
+	  lines on re-render
+	  default layer opacity changed to 1.0
+	  (merge from devbr6, r33195)
+
+2008-09-01 12:33  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: atcorr added to the
+	  menu, trac #272
+	  (merge from devbr6, r33193)
+
+2008-09-01 12:29  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: Bug fix trac #272
+	  (some commands dialogs have their name crippled)
+
+2008-09-01 11:26  martinl
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix workspace
+	  (opacity and command layers)
+	  (merge from devbr6, r33188)
+
+2008-09-01 10:39  martinl
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: render command
+	  layer on enter
+	  multiple commands separated by ';' can be entered, trac #268
+	  (merge from devbr6, r33185)
+
+2008-08-31 22:47  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: bug fix - trac #207 -
+	  table manager tools print plenty of warnings to the terminal
+	  (merge from devbr6, r33178)
+
+2008-08-31 21:30  glynn
+
+	* vector/v.in.dxf/main.c, vector/v.kcv/main.c,
+	  vector/v.kernel/main.c, vector/v.label.sa/labels.c,
+	  vector/v.label/main.c, vector/v.neighbors/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.salesman/main.c,
+	  vector/v.net.steiner/main.c, vector/v.net.visibility/main.c,
+	  vector/v.net/main.c, vector/v.normal/main.c,
+	  vector/v.out.dxf/main.c, vector/v.out.ogr/main.c,
+	  vector/v.out.pov/main.c, vector/v.out.svg/main.c,
+	  vector/v.overlay/main.c, vector/v.patch/main.c,
+	  vector/v.perturb/main.c, vector/v.qcount/main.c,
+	  vector/v.reclass/main.c, vector/v.sample/main.c,
+	  vector/v.segment/main.c, vector/v.select/main.c,
+	  vector/v.support/main.c, vector/v.surf.rst/main.c,
+	  vector/v.surf.rst/surf.h, vector/v.to.db/global.h,
+	  vector/v.to.db/main.c, vector/v.to.db/parse.c,
+	  vector/v.to.points/main.c, vector/v.to.rast/local.h,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c,
+	  vector/v.transform/main.c, vector/v.type/main.c,
+	  vector/v.univar/main.c, vector/v.voronoi/dt_main.c,
+	  vector/v.voronoi/vo_main.c, vector/v.what.rast/main.c,
+	  vector/v.what/main.c, vector/v.what/what.c, vector/v.what/what.h:
+	  Remove explicit mapset references and G_find_* calls
+
+2008-08-31 09:36  neteler
+
+	* lib/init/init.sh: use individual GISRCRC files when in
+	  GRASS_BATCH_JOB mode
+
+2008-08-30 18:12  glynn
+
+	* display/d.info/main.c, include/raster.h, lib/cairodriver/Color.c,
+	  lib/cairodriver/Driver.c, lib/cairodriver/cairodriver.h,
+	  lib/driver/Box.c, lib/driver/Color.c, lib/driver/Erase.c,
+	  lib/driver/Returns.c, lib/driver/driver.h, lib/driver/init.c,
+	  lib/htmldriver/Box.c, lib/htmldriver/Driver.c,
+	  lib/htmldriver/Graph_Set.c, lib/htmldriver/htmlmap.h,
+	  lib/pngdriver/Color.c, lib/pngdriver/Color_table.c,
+	  lib/pngdriver/Driver.c, lib/pngdriver/pngdriver.h,
+	  lib/psdriver/Color.c, lib/psdriver/Color_table.c,
+	  lib/psdriver/Driver.c, lib/psdriver/Graph_set.c,
+	  lib/psdriver/psdriver.h, lib/raster/raster.c: Remove last
+	  vestiges of colour indices
+
+2008-08-30 17:21  glynn
+
+	* lib/gis/Makefile, lib/gis/colors.desc, raster/r.colors/main.c:
+	  Read descriptions for etc/colors/* from etc/colors.desc
+
+2008-08-30 17:08  martinl
+
+	* gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html,
+	  gui/wxpython/docs/wxGUI.html: wxGUI manual pages cosmetics
+	  (merge from devbr6, r33169)
+
+2008-08-30 16:31  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/digit.h, gui/wxpython/vdigit/message.cpp:
+	  wxGUI/vdigit: copy categories/attributes implemented
+	  (merge from devbr6, r33166)
+
+2008-08-30 06:30  hamish
+
+	* raster/r.in.xyz/main.c: don't overflow messages for >= 2^31
+	  points (merge r33164 from devbr6)
+
+2008-08-30 05:49  hamish
+
+	* lib/gis/colors/sepia, raster/r.colors/main.c: add new sepia color
+	  rule (merge from devbr6 r33162)
+
+2008-08-29 22:27  glynn
+
+	* vector/v.buffer/main.c, vector/v.build.polylines/main.c,
+	  vector/v.build/main.c, vector/v.category/main.c,
+	  vector/v.class/main.c, vector/v.clean/main.c,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  vector/v.distance/main.c, vector/v.drape/main.c,
+	  vector/v.edit/main.c, vector/v.extract/main.c,
+	  vector/v.extrude/main.c, vector/v.generalize/main.c,
+	  vector/v.hull/main.c, vector/v.info/main.c: Remove explicit
+	  mapset references and G_find_* calls
+
+2008-08-29 20:57  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: disable query vector
+	  editable mode when selected layer is currently edited, see trac
+	  #264
+	  (merge from devrb6, r33159)
+
+2008-08-29 09:57  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: v.what 'line' to 'id'
+	  (merge from devbr6, r33157)
+
+2008-08-29 09:48  martinl
+
+	* gui/wxpython/vdigit/cats.cpp: wxGUI/vdigit: disable error
+	  messages on exit
+	  (merge from devbr6, r33155)
+
+2008-08-29 09:12  martinl
+
+	* vector/v.what/what.c: v.what returns "Line:" attribute for points
+	  and centroids, trac #267
+	  (merge from devbr6, r33153)
+
+2008-08-29 09:03  martinl
+
+	* gui/wxpython/vdigit/select.cpp: wxGUI/vdigit: typo in fn
+	  identificator (merge from devbr6, r33151)
+
+2008-08-29 08:05  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/driver.h, gui/wxpython/vdigit/line.cpp,
+	  gui/wxpython/vdigit/message.cpp, gui/wxpython/vdigit/select.cpp,
+	  gui/wxpython/vdigit/undo.cpp, gui/wxpython/vdigit/vertex.cpp,
+	  gui/wxpython/wxgui.py: wxGUI: better error message handling in
+	  vdigit
+	  initial support for copy categories/attributes in vdigit
+	  some wxGUI fixes
+	  (merge from devbr6, r33149)
+
+2008-08-29 07:10  martinl
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix trac #268 -
+	  the "command layer" in wxGUI does not work
+	  (merge from devbr6, r33147)
+
+2008-08-28 22:19  glynn
+
+	* display/d.colortable/main.c, display/d.his/main.c,
+	  display/d.histogram/dhist.h, display/d.histogram/get_stats.c,
+	  display/d.histogram/main.c, display/d.legend/main.c,
+	  display/d.path/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/colors.c,
+	  display/d.rast/display.c, display/d.rast/local_proto.h,
+	  display/d.rast/main.c, display/d.rgb/main.c,
+	  display/d.thematic.area/main.c, display/d.title/fancy.c,
+	  display/d.title/local_proto.h, display/d.title/main.c,
+	  display/d.title/normal.c, display/d.title/options.h,
+	  display/d.vect.chart/main.c, display/d.vect/main.c,
+	  display/d.zoom/main.c, lib/gis/nme_in_mps.c: Remove unused code
+
+2008-08-28 20:08  glynn
+
+	* raster/r.patch/main.c, raster/r.profile/main.c,
+	  raster/r.quant/global.h, raster/r.quant/main.c,
+	  raster/r.quant/read_rules.c, raster/r.random/count.c,
+	  raster/r.random/local_proto.h, raster/r.random/main.c,
+	  raster/r.random/support.c, raster/r.recode/global.h,
+	  raster/r.recode/main.c, raster/r.recode/read_rules.c,
+	  raster/r.recode/recode.c, raster/r.region/main.c,
+	  raster/r.resamp.rst/local_proto.h, raster/r.resamp.rst/main.c,
+	  raster/r.resample/diff.sh, raster/r.resample/main.c,
+	  raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale.eq/local_proto.h, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/get_range.c, raster/r.rescale/local_proto.h,
+	  raster/r.rescale/main.c, raster/r.series/main.c,
+	  raster/r.statistics/main.c, raster/r.statistics/method.h,
+	  raster/r.statistics/o_adev.c, raster/r.statistics/o_average.c,
+	  raster/r.statistics/o_distrib.c, raster/r.statistics/o_divr.c,
+	  raster/r.statistics/o_kurt.c, raster/r.statistics/o_max.c,
+	  raster/r.statistics/o_median.c, raster/r.statistics/o_min.c,
+	  raster/r.statistics/o_mode.c, raster/r.statistics/o_sdev.c,
+	  raster/r.statistics/o_skew.c, raster/r.statistics/o_sum.c,
+	  raster/r.statistics/o_var.c, raster/r.stats/main.c,
+	  raster/r.sum/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/main.c, raster/r.support.stats/check.c,
+	  raster/r.support.stats/histo.c,
+	  raster/r.support.stats/local_proto.h,
+	  raster/r.support.stats/main.c, raster/r.surf.area/main.c,
+	  raster/r.surf.gauss/main.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/read_cell.c, raster/r.surf.random/main.c,
+	  raster/r.texture/main.c, raster/r.thin/io.c,
+	  raster/r.timestamp/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.topidx/check_ready.c,
+	  raster/r.topidx/file_io.c, raster/r.topidx/global.h,
+	  raster/r.topidx/main.c, raster/r.topmodel/check_ready.c,
+	  raster/r.topmodel/main.c, raster/r.topmodel/misc.c,
+	  raster/r.transect/main.c, raster/r.univar/r.univar_main.c,
+	  raster/r.volume/main.c, raster/r.walk/main.c,
+	  raster/r.walk/stash.h, raster/r.what.color/main.c,
+	  raster/r.what/die.c, raster/r.what/local_proto.h,
+	  raster/r.what/main.c, raster/r.what/usage.c: Remove explicit
+	  mapset references and G_find_* calls
+	  Miscellaneous clean-up
+
+2008-08-28 16:33  glynn
+
+	* configure, configure.in, include/config.h.in, include/gis.h,
+	  include/gisdefs.h, lib/gis/G.h, lib/gis/Makefile,
+	  lib/gis/closecell.c, lib/gis/gdal.c, lib/gis/get_row.c,
+	  lib/gis/opencell.c, raster/r.external/Makefile: Add HAVE_GDAL
+	  Enable GDAL-link/r.external functionality
+	  Improve failure mode if GDAL links are used in a version built
+	  without GDAL
+
+2008-08-28 15:44  glynn
+
+	* general/g.proj/main.c: Fix unused variable warnings #ifndef
+	  HAVE_OGR
+
+2008-08-28 15:43  glynn
+
+	* lib/vector/Vlib/write.c: Fix type mismatch
+
+2008-08-28 15:42  glynn
+
+	* lib/vector/Vlib/read.c: Fix stray character (causes compilation
+	  failure #ifndef HAVE_OGR)
+
+2008-08-28 15:39  glynn
+
+	* display/d.vect.chart/pie.c, general/g.proj/datumtrans.c,
+	  lib/vector/Vlib/remove_areas.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/snap.c, lib/vector/vedit/select.c,
+	  raster/r.proj/readcell.c, raster/r.to.vect/main.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.buffer/main.c,
+	  vector/v.edit/global.h, vector/v.generalize/displacement.c,
+	  vector/v.generalize/main.c, vector/v.generalize/matrix.c,
+	  vector/v.generalize/network.c, vector/v.generalize/point.c,
+	  vector/v.generalize/smoothing.c,
+	  vector/v.lrs/v.lrs.create/main.c, vector/v.reclass/main.c,
+	  vector/v.to.db/main.c, vector/v.to.rast/main.c,
+	  vector/v.univar/main.c, vector/v.voronoi/dt_write.c: Add missing
+	  #include directives
+
+2008-08-28 01:06  glynn
+
+	* Makefile: Change build order: libraries, modules, other (apps,
+	  docs etc)
+
+2008-08-28 01:04  glynn
+
+	* raster/Makefile: r.mfilter.fp no longer exists; don't try to
+	  build it
+
+2008-08-27 22:02  glynn
+
+	* raster/r.average/main.c, raster/r.basins.fill/local_proto.h,
+	  raster/r.basins.fill/main.c, raster/r.basins.fill/read_map.c,
+	  raster/r.bitpattern/main.c, raster/r.clump/main.c,
+	  raster/r.composite/main.c, raster/r.contour/main.c,
+	  raster/r.covar/main.c, raster/r.describe/describe.c,
+	  raster/r.describe/local_proto.h, raster/r.describe/main.c,
+	  raster/r.drain/main.c, raster/r.grow.distance/main.c,
+	  raster/r.grow/main.c, raster/r.info/main.c, raster/r.lake/main.c,
+	  raster/r.median/main.c, raster/r.mode/main.c,
+	  raster/r.neighbors/main.c, raster/r.neighbors/ncb.h,
+	  raster/r.neighbors/null_cats.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/formspecific.c,
+	  raster/r.out.ascii/localproto.h, raster/r.out.ascii/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.mat/main.c,
+	  raster/r.out.png/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/main.c, raster/r.out.vrml/main.c,
+	  raster/r.out.vtk/main.c: Remove explicit mapset references and
+	  G_find_* calls
+
+2008-08-27 21:59  glynn
+
+	* raster/r.mfilter.fp: Remove empty directory
+
+2008-08-27 21:56  glynn
+
+	* raster/r.mfilter.fp/Makefile, raster/r.mfilter.fp/apply.c,
+	  raster/r.mfilter.fp/execute.c, raster/r.mfilter.fp/filter,
+	  raster/r.mfilter.fp/filter.ave, raster/r.mfilter.fp/filter.h,
+	  raster/r.mfilter.fp/getfilt.c, raster/r.mfilter.fp/getrow.c,
+	  raster/r.mfilter.fp/glob.h, raster/r.mfilter.fp/local_proto.h,
+	  raster/r.mfilter.fp/main.c, raster/r.mfilter.fp/perform.c,
+	  raster/r.mfilter.fp/r.mfilter.fp.html,
+	  raster/r.mfilter.fp/uppercase.c, raster/r.mfilter/Makefile,
+	  raster/r.mfilter/TODO, raster/r.mfilter/apply.c,
+	  raster/r.mfilter/execute.c, raster/r.mfilter/filter,
+	  raster/r.mfilter/filter.ave, raster/r.mfilter/filter.h,
+	  raster/r.mfilter/getfilt.c, raster/r.mfilter/getrow.c,
+	  raster/r.mfilter/glob.h, raster/r.mfilter/local_proto.h,
+	  raster/r.mfilter/main.c, raster/r.mfilter/perform.c,
+	  raster/r.mfilter/r.mfilter.html, raster/r.mfilter/uppercase.c:
+	  Replace r.mfilter with r.mfilter.fp
+
+2008-08-27 20:48  glynn
+
+	* tools/Makefile, tools/mkftcap: Remove mkftcap; superseded by
+	  g.mkfontcap
+
+2008-08-27 20:46  glynn
+
+	* tools/timer, tools/timer/Makefile: Use normal "etc" target
+
+2008-08-27 20:10  glynn
+
+	* include/gisdefs.h, lib/driver/Color.c, lib/driver/driver.h,
+	  lib/gis/cats.c, lib/gis/closecell.c, lib/gis/dig_title.c,
+	  lib/gis/env.c, lib/gis/fork.c, lib/gis/gishelp.c, lib/gis/list.c,
+	  lib/gis/unctrl.c, swig/perl/gis.h, swig/perl/gisdefs.h: Remove
+	  unused functions
+	  Declare functions "static" where appropriate
+
+2008-08-27 20:08  glynn
+
+	* lib/cairodriver/Color.c, lib/cairodriver/Poly.c,
+	  lib/cairodriver/Text.c: Remove unused function
+	  Add "static" where appropriate
+
+2008-08-27 20:07  glynn
+
+	* display/d.labels/color.c: Fix warning (include correct header)
+
+2008-08-27 19:53  martinl
+
+	* include/vedit.h, lib/vector/vedit/cats.c,
+	  lib/vector/vedit/select.c: Don't include glocale.h in v.edit.h
+	  (merge from devbr6, r33124)
+
+2008-08-27 17:18  glynn
+
+	* lib/pngdriver/pngdriver.html: Update documentation to reflect
+	  GRASS_TRUECOLOR=TRUE by default
+
+2008-08-27 17:02  glynn
+
+	* lib/pngdriver/Graph_set.c: Make GRASS_TRUECOLOR default to TRUE
+
+2008-08-27 17:00  glynn
+
+	* raster/r.external/main.c: Write f_quant file for FP maps
+
+2008-08-27 13:19  glynn
+
+	* raster/r.external/main.c: Write f_format file for FP maps
+
+2008-08-27 12:42  glynn
+
+	* vector/v.extrude/main.c: Fix null tests to handle loop
+	  termination correctly
+
+2008-08-27 10:06  neteler
+
+	* gui/wxpython/README: Mandriva updated
+
+2008-08-27 09:30  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: add support for png
+	  driver (cairo is default)
+
+2008-08-27 09:13  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: don't crash when
+	  closing map display
+	  (merge from devbr6, r33111)
+
+2008-08-27 09:12  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: post
+	  wxUpdateProgressbar event only if mapWindow is not None
+	  (merge from devbr6, r33110)
+
+2008-08-27 06:07  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py: Moved profile toolbar back
+	  to profile window. All buttons except transect pertain to profile
+	  window, not to map display window.
+
+2008-08-27 06:06  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Fix/workaround to permit
+	  histogram properties panel to be canceled/closed.
+
+2008-08-27 01:10  glynn
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Remove references to d.mon
+
+2008-08-27 01:07  glynn
+
+	* lib/display/cnversions.c: Fix bug in aspect fitting
+
+2008-08-26 22:01  martinl
+
+	* vector/v.extrude/main.c: v.extrude cosmetics; fix progress
+	  messages
+	  (merge from devbr6, r33102)
+
+2008-08-26 21:23  glynn
+
+	* vector/v.extrude/main.c: Catch null values returned from
+	  G_get_raster_sample()
+
+2008-08-26 21:01  glynn
+
+	* raster/wildfire/r.spread/Makefile,
+	  raster/wildfire/r.spread/collect_ori.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/spread.c: Disable live display feature
+
+2008-08-26 20:45  glynn
+
+	* Makefile: Use .PHONY instead of FORCE
+
+2008-08-26 17:50  glynn
+
+	* display/d.graph/options.h: Remove extern declaration for t,b,l,r
+
+2008-08-26 17:25  glynn
+
+	* display/d.profile/DrawText.c, display/d.profile/DumpProfile.c,
+	  display/d.profile/ExtractProf.c, display/d.profile/InitProfile.c,
+	  display/d.profile/PlotProfile.c, display/d.profile/Range.c,
+	  display/d.profile/What.c, display/d.profile/bnw_line.c,
+	  display/d.profile/d.profile.html, display/d.profile/main.c,
+	  display/d.profile/profile.h, display/d.profile/utils.c: Replace
+	  d.profile with non-interactive version
+
+2008-08-26 15:43  ltoma
+
+	* raster/r.terraflow/sweep.cc: commented out printing a warning
+	  when tci is negative
+
+2008-08-26 13:34  glynn
+
+	* display/d.his/main.c, display/d.profile/main.c,
+	  display/d.rast/display.c, display/d.rgb/main.c,
+	  include/display.h, lib/display/raster.c: Replace
+	  D_cell_draw_setup() with D_cell_draw_begin()
+
+2008-08-26 13:03  glynn
+
+	* include/gisdefs.h, lib/gis/sample.c, vector/v.sample/main.c: Fix
+	  various bugs in G_get_raster_sample()
+
+2008-08-26 13:02  glynn
+
+	* lib/gis/interp.c: Fix formatting
+
+2008-08-26 13:02  glynn
+
+	* include/Make/Compile.make, include/Make/Grass.make: Fix default
+	  lex/yacc flags
+
+2008-08-26 09:06  martinl
+
+	* vector/v.db.select/main.c: v.db.select: add missing ->answer
+	  (merge from devbr6, r33085)
+
+2008-08-26 08:59  martinl
+
+	* lib/vector/vedit/break.c: veditlib: bug fix in
+	  Vedit_connect_lines()
+	  (merge from devbr6, r33083)
+
+2008-08-26 08:17  martinl
+
+	* gui/wxpython/wxgui.py: cmbarton: Another fix to allow a 'dummy
+	  command' to be run from the menu in order to launch a module not
+	  associated with a GRASS bin or script file.
+	  (merge from devbr6, r33079)
+
+2008-08-26 08:15  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gselect.py: wxGUI: update r33077, don't
+	  duplicate code, use inheritance instead
+	  (merge from devbr6, r33080)
+
+2008-08-26 04:57  cmbarton
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/gselect.py: New classes in gselect.py to
+	  create comboboxes for layer and column selection for vectors.
+	  Implemented in updated colorrules.py
+
+2008-08-26 01:01  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.colorlist/main.c,
+	  display/d.colortable/main.c, display/d.extract/extract.c,
+	  display/d.geodesic/main.c, display/d.geodesic/plot.c,
+	  display/d.graph/do_graph.c, display/d.graph/main.c,
+	  display/d.grid/main.c, display/d.grid/plot.c,
+	  display/d.histogram/bar.c, display/d.histogram/draw_slice.c,
+	  display/d.histogram/main.c, display/d.histogram/pie.c,
+	  display/d.labels/color.c, display/d.labels/do_labels.c,
+	  display/d.legend/main.c, display/d.linegraph/main.c,
+	  display/d.measure/draw_line.c, display/d.measure/main.c,
+	  display/d.measure/msurements.c, display/d.path/select.c,
+	  display/d.profile/PlotProfile.c, display/d.profile/What.c,
+	  display/d.profile/bnw_line.c, display/d.profile/main.c,
+	  display/d.rast.arrow/main.c, display/d.rast.num/main.c,
+	  display/d.rhumbline/main.c, display/d.rhumbline/plot.c,
+	  display/d.text/main.c, display/d.thematic.area/area.c,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot1.c,
+	  display/d.title/main.c, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/pie.c, display/d.vect/area.c,
+	  display/d.vect/attr.c, display/d.vect/label.c,
+	  display/d.vect/main.c, display/d.vect/plot1.c,
+	  display/d.vect/topo.c, display/d.vect/utils.c,
+	  display/d.vect/zcoor.c, include/display.h,
+	  lib/display/color_list.c, lib/display/tran_colr.c,
+	  lib/display/window.c: Eliminate R_* functions in favour of D_*
+	  equivalents (part 3)
+	  Make D_translate_color() equivalent to D_parse_color(<colour>, 0)
+	  Rename D_raster_use_color() to D_use_color()
+	  Add D_RGB_color()
+	  Remove D_color_list()
+
+2008-08-26 00:54  glynn
+
+	* lib/init/Makefile, lib/init/functions.sh,
+	  lib/init/grass-xterm-mac, lib/init/init.sh: Restructure Init.sh,
+	  remove references to dead code (d.m, set_data, d.mon)
+
+2008-08-25 23:40  glynn
+
+	* general/g.proj/g.proj.html: Fix invalid HTML
+
+2008-08-25 23:39  glynn
+
+	* lib/cairodriver/Raster.c: Use nearest-neighbour for scaling
+	  rasters
+
+2008-08-25 23:39  glynn
+
+	* man/Makefile, tools/g.html2man/g.html2man.py: Use non-zero exit
+	  code if errors occur
+
+2008-08-25 18:08  glynn
+
+	* display/d.histogram/bar.c, display/d.histogram/main.c,
+	  display/d.histogram/pie.c, display/d.labels/do_labels.c,
+	  display/d.vect/attr.c, display/d.vect/label.c,
+	  display/d.vect/local_proto.h, display/d.vect/plot.h,
+	  display/d.vect/plot1.c, display/d.vect/topo.c,
+	  display/d.vect/utils.c, display/d.vect/zcoor.c: Eliminate R_*
+	  functions in favour of D_* equivalents (part 2)
+
+2008-08-25 17:55  glynn
+
+	* include/display.h, lib/display/draw2.c: Add D_get_text_box
+
+2008-08-25 16:45  glynn
+
+	* lib/cairodriver/Text.c: Fix bug in Cairo_text_box()
+
+2008-08-25 15:37  martinl
+
+	* display/d.grid/main.c: d.grid: more guisections...
+	  (merge from devbr6, r33066)
+
+2008-08-25 15:17  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: snapping value
+	  -1 -> calculate from computational resolution
+	  (merge from devbr6, r33064)
+
+2008-08-25 14:23  glynn
+
+	* lib/proj/datum.c: Use sprintf() instead of G_asprintf()
+
+2008-08-25 14:14  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI/vdigit: don't ask
+	  if to save move by default (undo is disabled now)
+	  (merge from devbr6, r33059)
+
+2008-08-25 14:07  glynn
+
+	* lib/proj/ellipse.c: Fix descriptor leak
+
+2008-08-25 14:06  martinl
+
+	* lib/vector/vedit/break.c, vector/v.edit/main.c: veditlib:
+	  Vedit_connect_lines() improved
+	  cosmetics in v.edit module
+	  (merge from devbr6, r33056)
+
+2008-08-25 10:12  pkelly
+
+	* general/g.proj/g.proj.html, general/g.proj/input.c,
+	  general/g.proj/local_proto.h, general/g.proj/main.c,
+	  general/g.proj/output.c: Compile with reduced functionality if
+	  HAVE_OGR not defined.
+	  Update documentation to reflect removal of interactivity.
+	  Allow only one output format at a time.
+
+2008-08-25 00:24  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.colortable/main.c,
+	  display/d.geodesic/main.c, display/d.geodesic/plot.c,
+	  display/d.graph/allocation.c, display/d.graph/do_graph.c,
+	  display/d.graph/main.c, display/d.grid/plot.c,
+	  display/d.grid/plotborder.c, display/d.legend/main.c,
+	  display/d.linegraph/main.c, display/d.path/select.c,
+	  display/d.rast.num/main.c, display/d.rhumbline/plot.c,
+	  display/d.text/main.c, display/d.thematic.area/plot1.c,
+	  display/d.vect.chart/bar.c, display/d.vect.chart/pie.c,
+	  display/d.vect/plot1.c, include/display.h,
+	  lib/display/cnversions.c, lib/display/draw2.c,
+	  lib/display/icon.c, lib/display/setup.c: Eliminate R_* functions
+	  in favour of D_* equivalents (part 1)
+
+2008-08-24 20:05  glynn
+
+	* lib/proj/datum.c: Fix descriptor leak
+
+2008-08-24 19:12  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.colortable/main.c, display/d.geodesic/plot.c,
+	  display/d.graph/do_graph.c, display/d.graph/main.c,
+	  display/d.his/main.c, display/d.histogram/bar.c,
+	  display/d.histogram/draw_slice.c, display/d.histogram/main.c,
+	  display/d.histogram/pie.c, display/d.info/main.c,
+	  display/d.labels/main.c, display/d.legend/main.c,
+	  display/d.linegraph/main.c, display/d.measure/msurements.c,
+	  display/d.path/select.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast/display.c,
+	  display/d.rgb/main.c, display/d.rhumbline/plot.c,
+	  display/d.text/main.c, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/pie.c, display/d.what.rast/main.c,
+	  imagery/i.vpoints/setup.c, include/display.h,
+	  lib/display/cnversions.c, lib/display/draw2.c,
+	  lib/display/icon.c, lib/display/raster.c, lib/display/setup.c,
+	  lib/display/window.c, vector/v.digit/driver.c: Display library
+	  changes: generalise conversion code
+
+2008-08-24 19:07  glynn
+
+	* configure, configure.in: Set language to C++ for libmysqld check
+
+2008-08-24 16:54  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: fix vdigit toolbar
+	  (merge from devbr6, r33048)
+
+2008-08-24 11:39  martinl
+
+	* lib/cairodriver/Box.c, lib/cairodriver/Color.c,
+	  lib/cairodriver/Draw_bitmap.c, lib/cairodriver/Draw_line.c,
+	  lib/cairodriver/Draw_point.c, lib/cairodriver/Driver.c,
+	  lib/cairodriver/Erase.c, lib/cairodriver/Graph.c,
+	  lib/cairodriver/Line_width.c, lib/cairodriver/Poly.c,
+	  lib/cairodriver/Raster.c, lib/cairodriver/Respond.c,
+	  lib/cairodriver/Set_window.c, lib/cairodriver/Text.c,
+	  lib/cairodriver/cairodriver.dox, lib/cairodriver/cairodriver.h,
+	  lib/cairodriver/read.c, lib/cairodriver/read_bmp.c,
+	  lib/cairodriver/read_ppm.c, lib/cairodriver/write.c,
+	  lib/cairodriver/write_bmp.c, lib/cairodriver/write_ppm.c,
+	  lib/grasslib.dox: cairodriver: initial doxygenization, i18n,
+	  messages standardized
+
+2008-08-24 02:20  glynn
+
+	* lib/cairodriver/Graph.c, lib/pngdriver/Draw_line.c,
+	  lib/pngdriver/Polygon.c: Fix bug with cairo driver failing to
+	  erase background
+	  Fix bug with PNG driver skipping topmost line of polygon
+	  Change PNG driver's line-drawing to use FP throughout
+
+2008-08-24 00:42  martinl
+
+	* vector/v.db.select/main.c: v.db.select: clarify -r description
+	  (merge from devbr6, r33044)
+
+2008-08-23 23:20  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: update r33041, remove
+	  dead code (merge from devb6, r33042)
+
+2008-08-23 23:03  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: fix attribute table
+	  manager "highlight selected and zoom" (v.db.select -r)
+	  (merge from devbr6, r33040)
+
+2008-08-23 22:11  glynn
+
+	* gui/wxpython/gui_modules/preferences.py:
+	  internalSettings['display']['driver'] doesn't exist
+
+2008-08-23 21:13  glynn
+
+	* Makefile, db/Makefile, db/drivers/Makefile,
+	  db/drivers/dbf/Makefile, db/drivers/mysql/Makefile,
+	  db/drivers/mysql/db.c, db/drivers/mysql/dbe.c,
+	  db/drivers/mysql/proto.h, db/drivers/mysql/replace.c,
+	  db/drivers/odbc/Makefile, db/drivers/ogr/Makefile,
+	  db/drivers/postgres/Makefile, db/drivers/sqlite/Makefile,
+	  doc/Makefile, general/Makefile, general/manage/Makefile,
+	  general/manage/lib/Makefile, gui/Makefile, gui/tcltk/Makefile,
+	  gui/tcltk/gis.m/Makefile, gui/wxpython/Makefile,
+	  gui/wxpython/docs/Makefile, gui/wxpython/scripts/Makefile,
+	  imagery/Makefile, imagery/i.ortho.photo/Makefile,
+	  imagery/i.smap/Makefile, include/Make/Compile.make,
+	  include/Make/DB.make, include/Make/Dir.make,
+	  include/Make/Doxygen.make, include/Make/Etc.make,
+	  include/Make/Grass.make, include/Make/Html.make,
+	  include/Make/Lib.make, include/Make/Module.make,
+	  include/Make/Multi.make, include/Make/Other.make,
+	  include/Make/Rules.make, include/Make/Script.make,
+	  include/Make/Shlib.make, include/Make/Vars.make, lib/Makefile,
+	  lib/bitmap/Makefile, lib/btree/Makefile, lib/btree/test,
+	  lib/btree/test/try.c, lib/btree/try.c, lib/cdhc/Makefile,
+	  lib/cdhc/c-drive.c, lib/cdhc/c-drive.c.txt,
+	  lib/datetime/Makefile, lib/db/Makefile, lib/db/sqlp,
+	  lib/db/sqlp/Makefile, lib/db/sqlp/lex.l, lib/db/sqlp/sqlp.l,
+	  lib/db/sqlp/sqlp.y, lib/db/sqlp/test/Makefile, lib/db/sqlp/yac.y,
+	  lib/driver/Makefile, lib/external/Makefile,
+	  lib/external/bwidget/Makefile, lib/fonts/Makefile,
+	  lib/fonts/fonts/Makefile, lib/form/Makefile, lib/gtcltk/Makefile,
+	  lib/init/Makefile, lib/init/grass-run.src,
+	  lib/init/grass-xterm-wrapper, lib/iostream/Makefile,
+	  lib/linkm/Makefile, lib/linkm/destroy.c, lib/linkm/linkm.c,
+	  lib/linkm/malloc.c, lib/linkm/speed.c, lib/linkm/speed2.c,
+	  lib/linkm/speed3.c, lib/linkm/test, lib/linkm/test/linkm.c,
+	  lib/linkm/test/malloc.c, lib/linkm/test/speed.c,
+	  lib/linkm/test/speed2.c, lib/linkm/test/speed3.c,
+	  lib/linkm/test/try.c, lib/linkm/test/try2.c, lib/linkm/try.c,
+	  lib/linkm/try2.c, lib/nviz/Makefile, lib/ogsf/Makefile,
+	  lib/pngdriver/Makefile, lib/proj/Makefile, lib/python/Makefile,
+	  lib/raster/Makefile, lib/rst/Makefile, lib/segment/Makefile,
+	  lib/segment/debug.c, lib/segment/try.c, lib/vector/Makefile,
+	  lib/vector/dglib/Makefile, lib/vector/diglib/Makefile,
+	  lib/vector/diglib/portable, lib/vector/rtree/Makefile,
+	  lib/vector/rtree/docs/test.c, lib/vector/rtree/sphvol.c,
+	  lib/vector/rtree/test.c, locale/Makefile, macosx/Makefile,
+	  macosx/app/Makefile, macosx/modbuild/Makefile, misc/Makefile,
+	  ps/Makefile, raster/Makefile, raster/r.le/Makefile,
+	  raster/r.li/Makefile, raster/r.mapcalc,
+	  raster/r.mapcalc/Makefile, raster/r.mapcalc/mapcalc.l,
+	  raster/r.watershed/Makefile, raster/simwe/Makefile,
+	  raster/wildfire/Makefile, raster3d/Makefile, rfc/Makefile,
+	  scripts/Makefile, sites/Makefile, testsuite/Makefile,
+	  tools/Makefile, vector/Makefile, vector/lidar/Makefile,
+	  vector/v.digit/Makefile, vector/v.lrs/Makefile,
+	  visualization/Makefile, visualization/nviz/Makefile,
+	  visualization/nviz/html/Makefile,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/buildPg.c,
+	  visualization/nviz/src/getCat.c,
+	  visualization/nviz/src/openvect.c,
+	  visualization/nviz/src/query_postgr.c,
+	  visualization/nviz/src/runPg.c, visualization/nviz/src/vect.c,
+	  visualization/nviz2/Makefile, visualization/nviz2/cmd/Makefile:
+	  Major build system clean-up
+	  Remove dead code
+
+2008-08-23 21:08  glynn
+
+	* display/Makefile, display/drivers: Remove display/drivers
+
+2008-08-23 20:40  martinl
+
+	* vector/v.db.select/main.c, vector/v.db.select/v.db.select.html:
+	  v.db.select: flag to print minimal region extent instead of
+	  attribures added (used in wxGUI for "Highlight and zoom")
+	  (merge from devbr6, r33032)
+
+2008-08-23 14:29  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: editable comboxbox
+	  for multiple columns
+	  (merge from devbr6, r33030)
+
+2008-08-23 14:05  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix loading workspace from running session
+	  (merge from devbr6, r33028)
+
+2008-08-23 13:49  martinl
+
+	* gui/scripts/v.type.sh: v.type.sh removed, replaced by v.type.py
+
+2008-08-23 13:48  martinl
+
+	* gui/tcltk/gis.m/gmmenu.tcl: tcltk GUI: use v.type.py instead of
+	  v.type.sh
+
+2008-08-23 13:37  martinl
+
+	* gui/scripts/v.type.py, gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: use v.type.py
+	  instead of v.type.sh
+	  (merge from devbr6, r33023(
+
+2008-08-23 13:18  glynn
+
+	* locale/Makefile: Only't regenerate .mo/.msg files if the .po file
+	  has changed
+
+2008-08-23 12:58  martinl
+
+	* gui/wxpython/scripts/d.rast3d: wxGUI: d.rast3d pythonized
+	  (merge from devbr6, r33020)
+
+2008-08-23 12:48  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: fix map toolbar
+	  radio items, trac #208
+	  (merge from devbr6, r33018)
+
+2008-08-23 11:55  glynn
+
+	* db, db/base, db/db.login, display/d.barscale,
+	  display/d.colorlist, display/d.colors, display/d.colortable,
+	  display/d.erase, display/d.extract, display/d.font,
+	  display/d.fontlist, display/d.geodesic, display/d.graph,
+	  display/d.grid, display/d.his, display/d.histogram,
+	  display/d.info, display/d.labels, display/d.legend,
+	  display/d.linegraph, display/d.measure, display/d.nviz,
+	  display/d.path, display/d.profile, display/d.rast,
+	  display/d.rast.arrow, display/d.rast.num, display/d.rgb,
+	  display/d.rhumbline, display/d.text, display/d.thematic.area,
+	  display/d.title, display/d.vect, display/d.vect.chart,
+	  display/d.what.rast, display/d.what.vect, display/d.where,
+	  display/d.zoom, display/drivers, display/drivers/XDRIVER, doc,
+	  general/g.access, general/g.ask, general/g.dirseps,
+	  general/g.filename, general/g.findetc, general/g.findfile,
+	  general/g.gisenv, general/g.gui, general/g.mapset,
+	  general/g.mapsets, general/g.message, general/g.mkfontcap,
+	  general/g.parser, general/g.pnmcomp, general/g.proj,
+	  general/g.region, general/g.setproj, general/g.tempfile,
+	  general/g.transform, general/g.version, general/manage,
+	  general/manage/cmd, general/manage/lib, general/manage/lister,
+	  gui/tcltk/gis.m, gui/tcltk/gis.m/docs, gui/wxpython/docs,
+	  gui/wxpython/nviz, imagery, imagery/i.atcorr,
+	  imagery/i.atcorr/INFO, imagery/i.atcorr/test_suite,
+	  imagery/i.cca, imagery/i.class, imagery/i.cluster, imagery/i.fft,
+	  imagery/i.find, imagery/i.gensig, imagery/i.gensigset,
+	  imagery/i.group, imagery/i.his.rgb, imagery/i.ifft,
+	  imagery/i.maxlik, imagery/i.ortho.photo,
+	  imagery/i.ortho.photo/libes, imagery/i.ortho.photo/menu,
+	  imagery/i.ortho.photo/photo.2image,
+	  imagery/i.ortho.photo/photo.2target,
+	  imagery/i.ortho.photo/photo.camera,
+	  imagery/i.ortho.photo/photo.elev,
+	  imagery/i.ortho.photo/photo.init,
+	  imagery/i.ortho.photo/photo.rectify,
+	  imagery/i.ortho.photo/photo.target, imagery/i.pca,
+	  imagery/i.points, imagery/i.rectify, imagery/i.rgb.his,
+	  imagery/i.smap, imagery/i.smap/bouman, imagery/i.smap/shapiro,
+	  imagery/i.target, imagery/i.vpoints, imagery/i.zc, include,
+	  include/Make, lib/arraystats, lib/cairodriver, lib/cluster,
+	  lib/db/sqlp, lib/htmldriver, lib/iostream, lib/nviz,
+	  lib/pngdriver, lib/psdriver, misc/m.cogo, ps/ps.map,
+	  ps/ps.map/patterns, raster, raster/r.average,
+	  raster/r.basins.fill, raster/r.bitpattern, raster/r.buffer,
+	  raster/r.carve, raster/r.category, raster/r.circle,
+	  raster/r.clump, raster/r.coin, raster/r.colors,
+	  raster/r.colors.out, raster/r.composite, raster/r.compress,
+	  raster/r.contour, raster/r.cost, raster/r.covar, raster/r.cross,
+	  raster/r.describe, raster/r.digit, raster/r.distance,
+	  raster/r.drain, raster/r.external, raster/r.fill.dir,
+	  raster/r.flow, raster/r.grow, raster/r.grow.distance,
+	  raster/r.gwflow, raster/r.his, raster/r.in.arc,
+	  raster/r.in.ascii, raster/r.in.bin, raster/r.in.gdal,
+	  raster/r.in.gridatb, raster/r.in.mat, raster/r.in.poly,
+	  raster/r.in.xyz, raster/r.info, raster/r.kappa, raster/r.lake,
+	  raster/r.le, raster/r.le/r.le.patch, raster/r.le/r.le.pixel,
+	  raster/r.le/r.le.setup, raster/r.le/r.le.setup/polytocell,
+	  raster/r.le/r.le.trace, raster/r.li, raster/r.li/r.li.cwed,
+	  raster/r.li/r.li.daemon, raster/r.li/r.li.dominance,
+	  raster/r.li/r.li.edgedensity, raster/r.li/r.li.mpa,
+	  raster/r.li/r.li.mps, raster/r.li/r.li.padcv,
+	  raster/r.li/r.li.padrange, raster/r.li/r.li.padsd,
+	  raster/r.li/r.li.patchdensity, raster/r.li/r.li.patchnum,
+	  raster/r.li/r.li.richness, raster/r.li/r.li.setup,
+	  raster/r.li/r.li.shannon, raster/r.li/r.li.shape,
+	  raster/r.li/r.li.simpson, raster/r.los, raster/r.mapcalc,
+	  raster/r.median, raster/r.mfilter, raster/r.mfilter.fp,
+	  raster/r.mode, raster/r.neighbors, raster/r.null,
+	  raster/r.out.arc, raster/r.out.ascii, raster/r.out.bin,
+	  raster/r.out.gdal, raster/r.out.gridatb, raster/r.out.mat,
+	  raster/r.out.mpeg, raster/r.out.png, raster/r.out.pov,
+	  raster/r.out.ppm, raster/r.out.ppm3, raster/r.out.tiff,
+	  raster/r.out.vrml, raster/r.out.vtk, raster/r.param.scale,
+	  raster/r.patch, raster/r.profile, raster/r.proj, raster/r.quant,
+	  raster/r.quantile, raster/r.random, raster/r.random.cells,
+	  raster/r.random.surface, raster/r.reclass, raster/r.recode,
+	  raster/r.region, raster/r.report, raster/r.resamp.interp,
+	  raster/r.resamp.rst, raster/r.resamp.stats, raster/r.resample,
+	  raster/r.rescale, raster/r.rescale.eq, raster/r.series,
+	  raster/r.slope.aspect, raster/r.statistics, raster/r.stats,
+	  raster/r.sum, raster/r.sun, raster/r.sunmask, raster/r.support,
+	  raster/r.support.stats, raster/r.surf.area,
+	  raster/r.surf.contour, raster/r.surf.fractal,
+	  raster/r.surf.gauss, raster/r.surf.idw, raster/r.surf.idw2,
+	  raster/r.surf.random, raster/r.terraflow, raster/r.texture,
+	  raster/r.thin, raster/r.timestamp, raster/r.to.rast3,
+	  raster/r.to.rast3elev, raster/r.to.vect, raster/r.topidx,
+	  raster/r.topmodel, raster/r.transect, raster/r.univar,
+	  raster/r.volume, raster/r.walk, raster/r.water.outlet,
+	  raster/r.watershed, raster/r.watershed/front,
+	  raster/r.watershed/ram, raster/r.watershed/seg,
+	  raster/r.watershed/shed, raster/r.what, raster/r.what.color,
+	  raster/simwe, raster/simwe/r.sim.sediment,
+	  raster/simwe/r.sim.water, raster/simwe/simlib, raster/wildfire,
+	  raster/wildfire/r.ros, raster/wildfire/r.spread,
+	  raster/wildfire/r.spreadpath, raster3d, raster3d/base,
+	  raster3d/r3.cross.rast, raster3d/r3.gwflow, raster3d/r3.in.ascii,
+	  raster3d/r3.in.v5d, raster3d/r3.mkdspf, raster3d/r3.out.ascii,
+	  raster3d/r3.out.v5d, raster3d/r3.out.vtk, raster3d/r3.showdspf,
+	  raster3d/r3.stats, raster3d/r3.to.rast, scripts/d.correlate,
+	  scripts/d.out.gpsdrive, scripts/d.polar, scripts/d.rast.edit,
+	  scripts/d.rast.leg, scripts/d.shadedmap, scripts/d.vect.thematic,
+	  scripts/db.dropcol, scripts/db.droptable, scripts/db.in.ogr,
+	  scripts/db.out.ogr, scripts/db.test, scripts/g.manual,
+	  scripts/g.mlist, scripts/g.mremove, scripts/i.fusion.brovey,
+	  scripts/i.image.mosaic, scripts/i.in.spotvgt,
+	  scripts/i.landsat.rgb, scripts/i.oif, scripts/i.spectral,
+	  scripts/i.tasscap, scripts/m.proj, scripts/r.blend,
+	  scripts/r.fillnulls, scripts/r.in.aster, scripts/r.in.srtm,
+	  scripts/r.in.wms, scripts/r.mapcalculator, scripts/r.mask,
+	  scripts/r.out.gdal, scripts/r.out.xyz, scripts/r.plane,
+	  scripts/r.reclass.area, scripts/r.regression.line,
+	  scripts/r.shaded.relief, scripts/r.tileset,
+	  scripts/r3.mapcalculator, scripts/v.build.all,
+	  scripts/v.centroids, scripts/v.convert.all, scripts/v.db.addcol,
+	  scripts/v.db.addtable, scripts/v.db.dropcol,
+	  scripts/v.db.droptable, scripts/v.db.join,
+	  scripts/v.db.reconnect.all, scripts/v.db.renamecol,
+	  scripts/v.db.univar, scripts/v.db.update, scripts/v.dissolve,
+	  scripts/v.in.e00, scripts/v.in.garmin, scripts/v.in.geonames,
+	  scripts/v.in.gns, scripts/v.in.gpsbabel, scripts/v.in.mapgen,
+	  scripts/v.in.sites.all, scripts/v.in.wfs, scripts/v.rast.stats,
+	  scripts/v.report, scripts/v.what.vect, sites/s.in.ascii,
+	  sites/s.out.ascii, swig/python, tools/mkftcap, vector,
+	  vector/lidar, vector/lidar/lidarlib,
+	  vector/lidar/v.lidar.correction,
+	  vector/lidar/v.lidar.edgedetection, vector/lidar/v.lidar.growing,
+	  vector/lidar/v.outlier, vector/lidar/v.surf.bspline,
+	  vector/v.buffer, vector/v.build, vector/v.build.polylines,
+	  vector/v.category, vector/v.class, vector/v.clean,
+	  vector/v.clean/test, vector/v.convert, vector/v.db.connect,
+	  vector/v.db.select, vector/v.digit, vector/v.digit/icons,
+	  vector/v.distance, vector/v.drape, vector/v.edit,
+	  vector/v.external, vector/v.extract, vector/v.extrude,
+	  vector/v.generalize, vector/v.hull, vector/v.in.ascii,
+	  vector/v.in.db, vector/v.in.dwg, vector/v.in.dxf,
+	  vector/v.in.ogr, vector/v.in.region, vector/v.in.sites,
+	  vector/v.info, vector/v.kcv, vector/v.kernel, vector/v.label,
+	  vector/v.label.sa, vector/v.lrs, vector/v.lrs/lib,
+	  vector/v.lrs/v.lrs.create, vector/v.lrs/v.lrs.label,
+	  vector/v.lrs/v.lrs.segment, vector/v.lrs/v.lrs.where,
+	  vector/v.mapcalc, vector/v.mapcalc/plugins, vector/v.mkgrid,
+	  vector/v.neighbors, vector/v.net, vector/v.net.alloc,
+	  vector/v.net.iso, vector/v.net.path, vector/v.net.salesman,
+	  vector/v.net.steiner, vector/v.net.visibility, vector/v.normal,
+	  vector/v.out.ascii, vector/v.out.dxf, vector/v.out.ogr,
+	  vector/v.out.pov, vector/v.out.svg, vector/v.out.vtk,
+	  vector/v.overlay, vector/v.parallel, vector/v.patch,
+	  vector/v.perturb, vector/v.proj, vector/v.qcount,
+	  vector/v.random, vector/v.reclass, vector/v.sample,
+	  vector/v.segment, vector/v.select, vector/v.split,
+	  vector/v.support, vector/v.surf.idw, vector/v.surf.rst,
+	  vector/v.to.db, vector/v.to.points, vector/v.to.rast,
+	  vector/v.to.rast3, vector/v.transform, vector/v.type,
+	  vector/v.univar, vector/v.vol.rst, vector/v.voronoi,
+	  vector/v.what, vector/v.what.rast, visualization/nviz,
+	  visualization/nviz2/cmd, visualization/xganim,
+	  visualization/ximgview: *.tmp.html shouldn't be left around, so
+	  remove from svn:ignore
+	  Remove files which are no longer auto-generated from svn:ignore
+
+2008-08-23 11:05  glynn
+
+	* tools/build_html_index.sh: Don't replace indices if unchanged
+	  Simplify; use here documents in preference to many "echo"s
+
+2008-08-23 11:04  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/location
+	  wizard: default item list size changed, fix trac #216
+	  (merge from devbr6, r33014)
+
+2008-08-22 23:34  glynn
+
+	* lib/cairodriver/Box.c, lib/cairodriver/Draw_bitmap.c,
+	  lib/cairodriver/Draw_line.c, lib/cairodriver/Draw_point.c,
+	  lib/cairodriver/Erase.c, lib/cairodriver/Graph.c,
+	  lib/cairodriver/Poly.c, lib/cairodriver/Raster.c,
+	  lib/cairodriver/Respond.c, lib/cairodriver/Text.c,
+	  lib/cairodriver/cairodriver.h, lib/cairodriver/read.c,
+	  lib/cairodriver/read_bmp.c, lib/cairodriver/read_ppm.c,
+	  lib/cairodriver/write.c, lib/cairodriver/write_bmp.c,
+	  lib/cairodriver/write_ppm.c, lib/htmldriver/Graph_Clse.c,
+	  lib/htmldriver/Graph_Set.c, lib/htmldriver/Polygon.c,
+	  lib/htmldriver/Text.c, lib/htmldriver/htmlmap.h,
+	  lib/pngdriver/Box.c, lib/pngdriver/Color.c,
+	  lib/pngdriver/Color_table.c, lib/pngdriver/Draw_bitmap.c,
+	  lib/pngdriver/Draw_line.c, lib/pngdriver/Draw_point.c,
+	  lib/pngdriver/Erase.c, lib/pngdriver/Graph_close.c,
+	  lib/pngdriver/Graph_set.c, lib/pngdriver/Polygon.c,
+	  lib/pngdriver/Raster.c, lib/pngdriver/Respond.c,
+	  lib/pngdriver/Set_window.c, lib/pngdriver/pngdriver.h,
+	  lib/pngdriver/read.c, lib/pngdriver/read_bmp.c,
+	  lib/pngdriver/read_png.c, lib/pngdriver/read_ppm.c,
+	  lib/pngdriver/write.c, lib/pngdriver/write_bmp.c,
+	  lib/pngdriver/write_png.c, lib/pngdriver/write_ppm.c,
+	  lib/psdriver/Color.c, lib/psdriver/Color_table.c,
+	  lib/psdriver/Erase.c, lib/psdriver/Graph_close.c,
+	  lib/psdriver/Graph_set.c, lib/psdriver/Raster.c,
+	  lib/psdriver/Respond.c, lib/psdriver/Set_window.c,
+	  lib/psdriver/psdriver.h: Wrap local variables in per-driver
+	  structures to prevent name conflicts
+
+2008-08-22 21:59  glynn
+
+	* db/base/Makefile, general/g.parser/Makefile,
+	  general/manage/cmd/Makefile, imagery/i.atcorr/Makefile,
+	  include/Make/Etc.make, include/Make/Grass.make,
+	  include/Make/Html.make, include/Make/Module.make,
+	  include/Make/Multi.make, include/Make/Rules.make,
+	  lib/gis/Makefile, raster/r.mapcalc/Makefile,
+	  raster/r.terraflow/Makefile, raster/r.univar/Makefile,
+	  raster3d/base/Makefile, vector/v.voronoi/Makefile: Clean up build
+	  system, particularly with regard to Multi.make
+
+2008-08-22 21:56  glynn
+
+	* imagery/i.vpoints/Makefile, imagery/i.vpoints/ask_lineclr.c,
+	  imagery/i.vpoints/open.c: Remove dead code
+
+2008-08-22 16:35  martinl
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasswxpy_cs.po: Czech
+	  translation updated by Jan Trochta <j.trochta at gmail.com>
+	  (merge from devbr6, r33000 & updated)
+
+2008-08-22 16:31  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py, gui/wxpython/wxgui.py:
+	  wxGUI: close edited vector layer properly when window is closed
+	  (merge from devbr6, r33007)
+
+2008-08-22 15:58  martinl
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/createdb.c, db/base/databases.c, db/base/describe.c,
+	  db/base/dropdb.c, db/base/droptable.c, db/base/execute.c,
+	  db/base/select.c, db/base/tables.c, db/db.login/main.c,
+	  display/d.thematic.area/main.c, display/d.vect/main.c,
+	  include/gis.h, lib/gis/parser.c, swig/perl/gis.h,
+	  swig/python/interfaces/gis.i, vector/v.class/main.c,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  vector/v.distance/main.c, vector/v.edit/args.c,
+	  vector/v.extract/main.c, vector/v.extrude/main.c,
+	  vector/v.generalize/main.c, vector/v.in.db/main.c,
+	  vector/v.in.ogr/main.c, vector/v.label/main.c,
+	  vector/v.random/main.c, vector/v.reclass/main.c,
+	  vector/v.surf.rst/main.c, vector/v.to.db/parse.c,
+	  vector/v.to.rast/main.c, vector/v.transform/main.c,
+	  vector/v.univar/main.c, vector/v.vol.rst/main.c,
+	  vector/v.what.rast/main.c: Change db-related standard options to
+	  G_OPT_DB_*
+
+2008-08-22 15:48  glynn
+
+	* vector/v.label.sa/Makefile, vector/v.label.sa/annealing.c,
+	  vector/v.label.sa/main.c: Don't use C++/C99 comments in GRASS
+
+2008-08-22 15:32  glynn
+
+	* db/base/Makefile, general/g.parser/Makefile,
+	  general/manage/cmd/Makefile, gui/wxpython/docs/Makefile,
+	  imagery/i.find/Makefile,
+	  imagery/i.ortho.photo/photo.2image/Makefile,
+	  imagery/i.ortho.photo/photo.2target/Makefile,
+	  imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.elev/Makefile,
+	  imagery/i.ortho.photo/photo.init/Makefile,
+	  imagery/i.ortho.photo/photo.rectify/Makefile,
+	  imagery/i.ortho.photo/photo.target/Makefile,
+	  include/Make/Dir.make, include/Make/Etc.make,
+	  include/Make/Html.make, include/Make/Lib.make,
+	  include/Make/Module.make, include/Make/Multi.make,
+	  include/Make/NoHtml.make, include/Make/Script.make,
+	  lib/cairodriver/Makefile, lib/db/sqlp/Makefile,
+	  lib/htmldriver/Makefile, lib/pngdriver/Makefile,
+	  lib/psdriver/Makefile, raster/r.li/r.li.daemon/Makefile,
+	  raster/r.mapcalc/Makefile, raster/r.terraflow/Makefile,
+	  raster/r.univar/Makefile, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/seg/Makefile, raster3d/base/Makefile,
+	  tools/mkftcap/Makefile, tools/mkhtml.sh,
+	  vector/v.voronoi/Makefile, visualization/nviz/Makefile,
+	  visualization/nviz/src/Makefile: Clean up build system, primarily
+	  with regard to HTML rules and
+	  directories containing multiple modules
+
+2008-08-22 15:30  glynn
+
+	* general/g.parser/main.c: Clean up formatting
+
+2008-08-22 15:06  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI: loading nviz
+	  fixed, suppress gettext warnings
+	  (merge from devbr6, r32998)
+
+2008-08-22 14:19  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: enable 'add' button
+	  properly when number of linked tables > 1, don't use ID_ADD here
+	  (merge from devbr6, r32994)
+
+2008-08-22 14:16  neteler
+
+	* raster/r.category/r.category.html: fixed example
+
+2008-08-22 02:02  glynn
+
+	* tools/g.html2man/g.html2man.py: Better support for tables, lists,
+	  pre-formatted sections
+
+2008-08-22 02:01  glynn
+
+	* raster/r.mapcalc/Makefile, raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: {r,r3}.mapcalc now use
+	  G_parser(), so use htmlmulti
+	  Use spaces instead of tabs in <pre> sections (works better with
+	  manpages)
+	  Synchronise r3.mapcalc to r.mapcalc
+
+2008-08-22 01:56  glynn
+
+	* raster/r.slope.aspect/r.slope.aspect.html: Modify HTML to work
+	  better with manpages
+	  (avoid using block-level elements inside <td> unnecessarily)
+
+2008-08-21 17:03  glynn
+
+	* man/Makefile, tools/g.html2man/g.html2man.py: Fix handling of
+	  version number in manpages
+	  Strip any leading blank lines
+
+2008-08-21 16:23  glynn
+
+	* man/Makefile, tools/g.html2man/g.html2man.py: Add, use Python
+	  replacement for g.html2man
+
+2008-08-21 15:33  martinl
+
+	* vector/v.extract/main.c: benducke: "driver" is of type *dbDriver
+	  and cannot be used as a *char
+	  (merge from devbr6, r32980)
+
+2008-08-21 14:26  martinl
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp: wxGUI/vdigit: highlight
+	  areas instead of centroids if area fill is enabled
+	  cosmetics in dbm module
+	  (merge from devbr6, r32976)
+
+2008-08-21 14:24  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: fix typo in variable
+	  (new vector)
+	  (merge from devbr6, r32969)
+
+2008-08-21 12:53  glynn
+
+	* raster/r.external/main.c: Force input= filename to be an absolute
+	  path
+	  Add source= option for non-file data sources
+
+2008-08-21 11:14  glynn
+
+	* raster/r.category/r.category.html, raster/r.sun/r.sun.html,
+	  raster/r.walk/r.walk.html, scripts/m.proj/m.proj.html: Don't use
+	  HTML entity references for latin characters
+	  Don't use HTML character refererences
+
+2008-08-21 10:57  glynn
+
+	* raster/wildfire/r.ros/spot_dist.c: Remove unused (and broken)
+	  max() macro
+
+2008-08-21 10:32  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: fix 'add layer'
+	  checkbox
+	  (merge from devbr6, r32961)
+
+2008-08-21 09:51  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: 'add layer' checkbox
+	  only for rasters and vectors
+	  cosmetics in MultiImportDialog layout
+	  (merge from devbr6, r32959)
+
+2008-08-20 23:26  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: expand also
+	  file browse widget
+	  (merge from devbr6, r32948)
+
+2008-08-20 23:24  martinl
+
+	* vector/v.in.dxf/main.c: v.in.dxf: cosmetics, more gui
+	  sections(merge from devbr6, r32946)
+
+2008-08-20 22:32  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: expand
+	  textctrl and labels
+	  (merge from devbr6, r32943)
+
+2008-08-20 20:24  neteler
+
+	* raster/r.external/r.external.html: docs drafted
+
+2008-08-20 19:38  martinl
+
+	* vector/v.in.ascii/main.c: v.in.ascii: don't use G_OPT_COLUMNS for
+	  columns option (merge from devbr6, r32934)
+
+2008-08-20 19:30  glynn
+
+	* raster/r.in.gdal/main.c: Fix definitions of MIN,MAX; don't use
+	  external versions
+
+2008-08-20 19:28  glynn
+
+	* raster/r.external/main.c: Fix definitions of MIN,MAX; don't use
+	  external versions
+
+2008-08-20 19:24  glynn
+
+	* lib/gis/fpreclass.c, lib/gis/quant.c: #undef MIN/MAX, as GDAL
+	  headers also define these
+	  Fix lack of parentheses in MIN/MAX
+
+2008-08-20 19:04  martinl
+
+	* gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/driver_draw.cpp,
+	  gui/wxpython/vdigit/driver_select.cpp: wxGUI/vdigit: simplify
+	  driver.cpp, add driver_draw/select.cpp
+	  (merge from devrb6, r32928, r32929)
+
+2008-08-20 18:59  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/vertex.cpp:
+	  wxGUI: (atm) "display selected" & "display selected and zoom" can
+	  be used also when vector layer is edited
+	  (nviz): run nviz extension in different thread
+	  (merge from devbr6, r32926)
+
+2008-08-20 14:02  glynn
+
+	* raster/r.external/main.c: Add -r flag (require exact range)
+
+2008-08-20 13:49  glynn
+
+	* lib/gis/get_row.c: Add null support to GDAL-linked maps
+
+2008-08-20 13:19  martinl
+
+	* display/d.vect/main.c: d.vect: typo in flag description (merge
+	  from devbr6, r32922)
+
+2008-08-20 12:18  neteler
+
+	* display/d.legend/main.c: catch no data map
+
+2008-08-20 12:12  neteler
+
+	* raster/r.external/main.c: cosmetics
+
+2008-08-20 11:26  glynn
+
+	* raster/Makefile: Build r.external
+
+2008-08-20 10:58  glynn
+
+	* SUBMITTING_DOCS: Change description.html references to
+	  <module.html>
+
+2008-08-20 10:38  glynn
+
+	* include/gis.h, include/gisdefs.h, lib/gis/G.h, lib/gis/Makefile,
+	  lib/gis/closecell.c, lib/gis/gdal.c, lib/gis/get_row.c,
+	  lib/gis/opencell.c, raster/r.external,
+	  raster/r.external/Makefile, raster/r.external/main.c,
+	  raster/r.external/r.external.html: Add r.external and supporting
+	  infrastructure
+
+2008-08-20 10:10  neteler
+
+	* tools/mkhtml.sh: title cosmetics
+
+2008-08-20 09:39  glynn
+
+	* lib/gis/gui.tcl: Fix icon path
+
+2008-08-19 22:35  glynn
+
+	* raster/r.support/check.c, raster/r.support/histo.c: Don't use
+	  EXIT_{SUCCESS,FAILURE} for function return values
+
+2008-08-19 21:25  neteler
+
+	* raster/r.terraflow/r.terraflow.html: applied docs patch from #197
+
+2008-08-19 18:54  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: don't crash when no
+	  vector is in the current mapset
+	  (merge from devbr6, r32898)
+
+2008-08-19 17:18  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: cmbarton: Fine tuning
+	  layer management and auto-render for better panning and resizing.
+	  (merge from devbr6, r32894, r32895, r32896)
+
+2008-08-19 14:15  martinl
+
+	* lib/vector/Vlib/find.c: Vlib: bugfix in Vect_find_line_list() --
+	  don't check cur_dist
+	  (merge from devbr6, r32892)
+
+2008-08-19 14:06  neteler
+
+	* raster/r.category/r.category.html: category label set example
+	  added
+
+2008-08-19 12:42  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: update progress bar
+	  info via event
+	  (merge from devbr6, r32888)
+
+2008-08-19 11:29  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: error handling
+	  cosmetics (merge from devbr6, r32886)
+
+2008-08-19 11:09  glynn
+
+	* general/g.region/g.region.html,
+	  raster/r.category/r.category.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  scripts/r.tileset/r.tileset.html, tools/grassdocs.css: More HTML
+	  fixes
+
+2008-08-19 10:54  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: update list of columns
+	  (rename) on new column (patch by giohappy)
+	  (merge from devbr6, r32883)
+
+2008-08-19 10:14  glynn
+
+	* lib/cairodriver/Graph.c, lib/cairodriver/cairodriver.html,
+	  lib/pngdriver/pngdriver.html, lib/psdriver/psdriver.html: Add
+	  GRASS_ANTIALIAS to cairo driver
+	  Update driver documention
+
+2008-08-19 10:10  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: cmbarton: Greatly speed
+	  up auto-rendering and make it nearly unbreakable even when
+	  rapidly doing drag and drop of layers.
+	  (merge from devbr6, r32874, r32875, r32879)
+
+2008-08-19 09:43  martinl
+
+	* gui/wxpython/icons/icon.py: wxGUI/nviz: don't use vdigit icons
+	  for original grass icon set
+	  (merge from devbr6, r32877)
+
+2008-08-19 08:08  glynn
+
+	* vector/v.digit/settings.tcl: Update canvas background to match
+	  background colour
+
+2008-08-18 22:26  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: quick fix for
+	  wx.SafeYield() to avoid flickering (better use wxApp.Yield)
+	  [merge from devbr6, r32872]
+
+2008-08-18 21:47  martinl
+
+	* gui/wxpython/gui_modules/nviz.py: wxGUI/nviz: os module added
+	  (merge from devbr6, r32870)
+
+2008-08-18 21:34  martinl
+
+	* gui/wxpython/gui_modules/nviz.py: wxGUI/nviz: add missing sys
+	  module (merge from devbr6, r32868)
+
+2008-08-18 20:38  glynn
+
+	* lib/pngdriver/Polygon.c: Fix bugs in polygon filler
+
+2008-08-18 20:24  glynn
+
+	* display/d.erase/main.c, display/d.info/main.c, include/display.h,
+	  include/raster.h, lib/cairodriver/Graph.c, lib/display/list.c,
+	  lib/display/setup.c, lib/display/window.c, lib/driver/Erase.c,
+	  lib/driver/Polygon.c, lib/driver/Returns.c,
+	  lib/driver/Set_window.c, lib/driver/driver.h, lib/driver/init.c,
+	  lib/driver/text3.c, lib/htmldriver/Graph_Clse.c,
+	  lib/htmldriver/Graph_Set.c, lib/pngdriver/Driver.c,
+	  lib/pngdriver/Graph_set.c, lib/pngdriver/Makefile,
+	  lib/pngdriver/Polygon.c, lib/pngdriver/Set_window.c,
+	  lib/pngdriver/pngdriver.h, lib/psdriver/Erase.c,
+	  lib/psdriver/Graph_set.c, lib/psdriver/Set_window.c,
+	  lib/psdriver/psdriver.h, lib/raster/raster.c: Replace
+	  screen_{left,right,top,bottom} with screen_{width,height}
+	  Replace R_screen_{left,rite,top,bot} with R_get_window()
+	  Move polygon filler into PNG driver
+	  Add GRASS_{LINE_WIDTH,TEXT_SIZE,FRAME} env variables
+	  Remove unused functions from lib/display
+
+2008-08-18 20:19  glynn
+
+	* display/d.labels/main.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.what.rast/main.c,
+	  imagery/i.vpoints/setup.c: Don't bother checking the return value
+	  from D_get_screen_window()
+
+2008-08-18 20:18  glynn
+
+	* general/g.mapset/Makefile: g.mapset doesn't require raster,
+	  display libraries
+
+2008-08-18 18:56  martinl
+
+	* gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI_nviz_tools_surface.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_vector.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_view.jpg,
+	  gui/wxpython/docs/wxGUI_nviz_tools_volume.jpg: wxGUI/nviz:
+	  documentation updated (initial version)
+	  (merge from devbr6, r32860, r32861, r32862)
+
+2008-08-18 17:19  neteler
+
+	* raster/r.in.xyz/r.in.xyz.html, vector/v.surf.rst/v.surf.rst.html,
+	  vector/v.vol.rst/v.vol.rst.html: url updated
+
+2008-08-18 15:58  glynn
+
+	* include/Make/Script.make, scripts/d.shadedmap/d.shadedmap.py,
+	  scripts/r.in.aster/r.in.aster.py,
+	  scripts/r.in.aster/r_in_aster.py, scripts/r.out.xyz/r.out.xyz.py,
+	  scripts/v.build.all/v.build.all.py,
+	  scripts/v.centroids/v.centroids.py,
+	  scripts/v.convert.all/v.convert.all.py,
+	  scripts/v.in.sites.all/v.in.sites.all.py,
+	  scripts/v.what.vect/v.what.vect.py: Add Python versions of
+	  various scripts
+	  Change Script.make to prefer Python versions over Bourne shell
+	  versions
+
+2008-08-18 15:33  glynn
+
+	* lib/python/grass.py: Add exec_command
+
+2008-08-18 13:38  glynn
+
+	* aclocal.m4, configure, configure.in: Add macros for
+	  --with-<package>-ldflags= option
+	  Add --with-cairo-{includes,libs,ldflags}= options
+
+2008-08-18 09:14  martinl
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: wxGUI: patch by giohappy
+	  applied, trac #261
+	  (merge from devbr6, r32852)
+
+2008-08-18 04:50  cmbarton
+
+	* gui/wxpython/gui_modules/render.py: Tempfile streamlining and
+	  switch to pure Python secure tempfiles. Backported from
+	  develbranch_6.
+
+2008-08-17 21:51  martinl
+
+	* gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/volume.cpp: wxGUI/nviz2: better isosurface draw
+	  mode support, added methods to change isosurface attributes
+	  (merge from devbr6, r32848)
+
+2008-08-17 19:49  glynn
+
+	* Makefile: Clean up "install" target
+
+2008-08-17 18:42  glynn
+
+	* db/base/db.select.html, db/drivers/odbc/grass-odbc.html,
+	  db/drivers/postgres/grass-pg.html,
+	  display/d.colorlist/d.colorlist.html,
+	  display/d.graph/d.graph.html, display/d.nviz/d.nviz.html,
+	  display/d.rast.arrow/d.rast.arrow.html,
+	  general/g.proj/g.proj.html, imagery/i.atcorr/i.atcorr.html,
+	  imagery/i.cca/i.cca.html, imagery/i.fft/i.fft.html,
+	  imagery/i.gensig/i.gensig.html,
+	  imagery/i.gensigset/i.gensigset.html, imagery/i.ifft/i.ifft.html,
+	  imagery/i.smap/shapiro/i.smap.html,
+	  lib/cairodriver/cairodriver.html, lib/db/sqlp/sql.html,
+	  lib/htmldriver/htmldriver.html, lib/init/variables.html,
+	  lib/pngdriver/pngdriver.html, lib/psdriver/psdriver.html,
+	  ps/ps.map/ps.map.html, raster/r.flow/r.flow.html,
+	  raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.grow/r.grow.html, raster/r.in.bin/r.in.bin.html,
+	  raster/r.in.mat/r.in.mat.html, raster/r.in.xyz/r.in.xyz.html,
+	  raster/r.lake/r.lake.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.neighbors/r.neighbors.html,
+	  raster/r.out.bin/r.out.bin.html,
+	  raster/r.out.mpeg/r.out.mpeg.html,
+	  raster/r.profile/r.profile.html, raster/r.proj/r.proj.html,
+	  raster/r.quantile/r.quantile.html,
+	  raster/r.random.surface/r.random.surface.html,
+	  raster/r.reclass/r.reclass.html, raster/r.sum/r.sum.html,
+	  raster/r.sunmask/r.sunmask.html,
+	  raster/r.surf.area/r.surf.area.html,
+	  raster/r.surf.idw/r.surf.idw.html,
+	  raster/r.terraflow/r.terraflow.html,
+	  raster/r.timestamp/r.timestamp.html,
+	  raster/r.topidx/r.topidx.html, raster/r.topmodel/r.topmodel.html,
+	  raster3d/base/r3.timestamp.html,
+	  raster3d/r3.mkdspf/r3.mkdspf.html,
+	  scripts/r.in.wms/r.in.wms.html, scripts/r.mask/r.mask.html,
+	  scripts/r.tileset/r.tileset.html,
+	  scripts/v.db.update/v.db.update.html,
+	  scripts/v.in.e00/v.in.e00.html, scripts/v.in.gns/v.in.gns.html,
+	  scripts/v.in.wfs/v.in.wfs.html, vector/v.clean/v.clean.html,
+	  vector/v.in.ascii/v.in.ascii.html, vector/v.in.dxf/v.in.dxf.html,
+	  vector/v.kernel/v.kernel.html, vector/v.proj/v.proj.html,
+	  vector/v.voronoi/v.delaunay.html,
+	  vector/v.voronoi/v.voronoi.html: More HTML fixes
+
+2008-08-17 18:39  glynn
+
+	* tools/build_html_index.sh: Remove (unbalanced) table tags
+
+2008-08-17 18:38  glynn
+
+	* visualization/nviz/Makefile: Use standard "clean" target
+
+2008-08-17 18:37  glynn
+
+	* raster/r.flow/main.c: Don't dynamically create options
+
+2008-08-17 18:36  glynn
+
+	* lib/gis/parser.c: Make more effort to escape < > & in HTML
+
+2008-08-17 18:35  glynn
+
+	* imagery/i.ortho.photo/photo.2image/Makefile,
+	  imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.init/Makefile,
+	  imagery/i.ortho.photo/photo.rectify/Makefile,
+	  include/Make/Html.make, tools/mkhtml.sh: Clean-up generation of
+	  HTML files
+
+2008-08-17 14:59  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix bug in
+	  layering and rendering, update r32831
+	  code removed from r32465 recovered
+	  (merge from devbr6, r32839)
+
+2008-08-17 13:37  martinl
+
+	* display/d.vect/main.c, gui/wxpython/gui_modules/menuform.py:
+	  d.vect: add color opt description, wxGUI menuform fixed
+	  (merge from devbr6, r32837)
+
+2008-08-17 13:27  glynn
+
+	* db/drivers/odbc/grass-odbc.html,
+	  display/d.colortable/d.colortable.html,
+	  general/g.mkfontcap/g.mkfontcap.html,
+	  gui/wxpython/docs/wxGUI.html, imagery/i.smap/shapiro/i.smap.html,
+	  raster/r.covar/r.covar.html, raster/r.in.arc/r.in.arc.html,
+	  raster/r.in.ascii/r.in.ascii.html, raster/r.lake/r.lake.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.mfilter.fp/r.mfilter.fp.html,
+	  raster/r.mfilter/r.mfilter.html,
+	  raster/r.out.ppm3/r.out.ppm3.html,
+	  raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.rescale.eq/r.rescale.eq.html,
+	  raster/r.rescale/r.rescale.html,
+	  scripts/i.in.spotvgt/i.in.spotvgt.html,
+	  vector/v.generalize/v.generalize.html,
+	  vector/v.net.visibility/v.net.visibility.html,
+	  vector/v.out.vtk/v.out.vtk.html,
+	  vector/v.surf.rst/v.surf.rst.html,
+	  vector/v.to.rast/v.to.rast.html, vector/v.vol.rst/v.vol.rst.html:
+	  HTML fixes
+
+2008-08-17 10:28  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: revert conflict
+	  changes introduced in r32829
+
+2008-08-17 06:03  cmbarton
+
+	* gui/wxpython/gui_modules/gdialogs.py: Backport from develbranch_6
+	  of bug fix for scalebar properties setting
+
+2008-08-17 05:46  cmbarton
+
+	* gui/wxpython/gui_modules/render.py: Backport from develbranch_6.
+	  Bug fix for layering rendering problem.
+
+2008-08-17 01:38  cmbarton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Fix bug with layers not
+	  rendering correctly or obscuring underlying layers.
+
+2008-08-16 22:54  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Backport of another bug fix
+	  for cancel problem
+
+2008-08-16 19:56  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py: wxGUI: change map object
+	  properties via events, some cleaning
+	  (merge from devbr6, r32824)
+
+2008-08-16 17:10  cmbarton
+
+	* gui/wxpython/gui_modules/render.py: Backported bug fix for
+	  missing layer types from develbranch_6
+
+2008-08-16 16:08  glynn
+
+	* doc/raster/r.example/main.c, general/g.region/main.c,
+	  imagery/i.cca/main.c, imagery/i.fft/main.c,
+	  imagery/i.ifft/main.c, imagery/i.zc/main.c,
+	  raster/r.average/main.c, raster/r.bitpattern/main.c,
+	  raster/r.buffer/main.c, raster/r.clump/main.c,
+	  raster/r.cost/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.mat/main.c,
+	  raster/r.kappa/main.c, raster/r.los/main.c,
+	  raster/r.median/main.c, raster/r.mode/main.c,
+	  raster/r.neighbors/main.c, raster/r.random.cells/init.c,
+	  raster/r.random.surface/init.c,
+	  raster/r.random.surface/local_proto.h,
+	  raster/r.random.surface/main.c,
+	  raster/r.random.surface/ransurf.h, raster/r.random/main.c,
+	  raster/r.reclass/main.c, raster/r.recode/main.c,
+	  raster/r.resample/main.c, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.surf.fractal/interface.c, raster/r.surf.fractal/main.c,
+	  raster/r.surf.gauss/main.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.random/main.c,
+	  raster/r.texture/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.walk/main.c,
+	  raster/r.water.outlet/legal.c, raster/r.water.outlet/main.c,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/init_vars.c, raster/wildfire/r.ros/main.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.showdspf/r3_find.c, raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  vector/v.edit/main.c, vector/v.in.ogr/main.c,
+	  vector/v.kernel/main.c, vector/v.surf.idw/main.c,
+	  vector/v.to.rast3/main.c: G_legal_filename() is for files, not
+	  maps
+
+2008-08-16 16:05  glynn
+
+	* lib/g3d/g3dcats.c, lib/g3d/g3dcolor.c, lib/g3d/g3dhistory.c,
+	  lib/g3d/g3dmask.c, lib/g3d/g3dopen.c, lib/g3d/g3drange.c: Fix
+	  handling of grid3 elements
+
+2008-08-16 16:03  glynn
+
+	* include/gisdefs.h, lib/gis/nme_in_mps.c, lib/gis/opencell.c: Add,
+	  use G__unqualified_name()
+
+2008-08-16 11:53  glynn
+
+	* display/Makefile, raster/Makefile: Update Makefiles for r32812,
+	  r32813, r32814
+
+2008-08-16 11:51  glynn
+
+	* raster/r.proj, raster/r.proj.seg: Rename directory r.proj.seg ->
+	  r.proj
+
+2008-08-16 11:51  glynn
+
+	* raster/r.category, raster/r.cats, raster/r.grow, raster/r.grow2,
+	  raster/r.proj, raster/r.univar, raster/r.univar2: Rename
+	  directories r.univar2 -> r.univar, r.grow2 -> r.grow, r.cats ->
+	  r.category
+	  Remove r.proj
+
+2008-08-16 11:48  glynn
+
+	* display/d.text, display/d.text.new: Rename directory d.text.new
+	  -> d.text
+
+2008-08-16 09:46  glynn
+
+	* display/d.linegraph/linegraph.c, display/d.linegraph/main.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.arrow/main.c,
+	  display/d.rast.num/main.c, display/d.rast.num/number.c,
+	  general/g.mapsets/Makefile, general/g.mapsets/get_path.c,
+	  general/g.mapsets/main.c, general/g.mapsets/main_cmd.c,
+	  general/g.mapsets/main_inter.c, general/g.mapsets/scan_int.c,
+	  general/g.mapsets/set_path.c, imagery/i.fft/fftmain.c,
+	  imagery/i.fft/main.c, imagery/i.his.rgb/h2rmain.c,
+	  imagery/i.his.rgb/main.c, imagery/i.ifft/ifftmain.c,
+	  imagery/i.ifft/main.c, imagery/i.ortho.photo/menu/main.c,
+	  imagery/i.ortho.photo/menu/menu.c, imagery/i.rgb.his/main.c,
+	  imagery/i.rgb.his/r2hmain.c, raster/r.circle/dist.c,
+	  raster/r.circle/main.c, raster/r.flow/calc.c,
+	  raster/r.flow/main.c, raster/r.null/main.c, raster/r.null/null.c,
+	  raster/r.out.png/main.c, raster/r.out.png/r.out.png.c,
+	  raster/r.out.tiff/main.c, raster/r.out.tiff/r.out.tiff.c,
+	  raster/r.support/front.c, raster/r.support/main.c,
+	  vector/v.in.ascii/in.c, vector/v.in.ascii/main.c,
+	  vector/v.out.ascii/main.c, vector/v.out.ascii/out.c: main()
+	  should be in a file named main.c
+	  Remove unused files
+
+2008-08-16 08:30  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Bug fix for cancel method.
+	  Ported from develbranch_6
+
+2008-08-16 07:34  cmbarton
+
+	* gui/wxpython/gui_modules/gdialogs.py: Fixed bugs in display
+	  decorations. Opening properties dialogs caused errors and dialogs
+	  would not close. Ported from develbranch_6
+
+2008-08-16 07:33  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Fixed bugs in display
+	  decorations. Opening properties dialogs caused errors and dialogs
+	  would not close. Ported from develbranch_6.
+
+2008-08-16 06:02  glynn
+
+	* general/g.region/main.c, imagery/i.fft/fftmain.c,
+	  imagery/i.ifft/ifftmain.c, imagery/i.zc/main.c, include/G3d.h,
+	  lib/db/dbmi_client/c_begin_work.x,
+	  lib/db/dbmi_driver/d_begin_work.x, lib/db/stubs/begin_work.x,
+	  raster/r.flow/calc.c, raster/r.lake/main.c,
+	  raster/r.le/r.le.setup/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.region/main.c, raster/r.sun/main.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster3d/base/r3.mask.main.c,
+	  raster3d/base/r3.null.main.c, vector/v.in.ogr/main.c,
+	  vector/v.label.sa/main.c, vector/v.surf.rst/main.c,
+	  vector/v.vol.rst/main.c, visualization/xganim/main.c: Keep option
+	  handling in main()
+	  Don't query region, environment etc until G_parser() returns
+
+2008-08-16 05:51  cmbarton
+
+	* gui/wxpython/gui_modules/colorrules.py: Backported update to
+	  header and copyright from develbranch_6
+
+2008-08-15 20:59  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/menudata.py: cmbarton: Added vector
+	  color management to new interactive color table manager
+	  (merge from devbr6, r32791)
+
+2008-08-15 20:55  martinl
+
+	* gui/wxpython/wxgui.py: cmbarton: Update for adding vector color
+	  management to new interactive color table manager (merge from
+	  devbr6, r32790)
+
+2008-08-15 20:43  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI fix trac #258, adding
+	  other layer than plain raster or vector (shaded relief, thematic
+	  vector etc.) returns an error
+	  (merge from devbr6, r32792)
+
+2008-08-15 20:11  martinl
+
+	* gui/wxpython/gui_modules/colorrules.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/nviz_mapdisp.py,
+	  gui/wxpython/gui_modules/nviz_tools.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI synchronized with devbr6 (relevant parts)
+
+2008-08-15 17:44  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix trac #257,
+	  can't really cancel adding layer (merge from devbr6, r32785)
+
+2008-08-15 16:11  martinl
+
+	* general/g.gui/main.c: g.gui: set gui_type_env properly
+	  (merge from devbr6, r32783)
+
+2008-08-15 15:16  martinl
+
+	* general/g.gui/main.c: g.gui: 'gui' parameter not required
+
+2008-08-15 12:59  martinl
+
+	* general/g.gui/main.c: g.gui: don't initialize type->answer before
+	  calling G_parser()
+
+2008-08-15 12:53  glynn
+
+	* ps/ps.map/main.c, ps/ps.map/r_colortable.c: Use
+	  G{NAME,MAPSET}_MAX
+
+2008-08-15 10:50  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: track changes in
+	  d.rast, overlay->opaque, display driver option disabled now
+
+2008-08-15 08:35  glynn
+
+	* include/Make/Html.make, lib/cairodriver, lib/db/sqlp,
+	  lib/pngdriver, lib/pngdriver/Makefile, lib/psdriver,
+	  raster/r.colors.out/r.colors.out.html, tools/mkftcap/Makefile,
+	  tools/mkhtml.sh, visualization/nviz,
+	  visualization/ximgview/ximgview.html: Clean up HTML generation
+	  rules
+	  Add missing $(PGM).html files for r.colors.out and ximgview
+	  Fix name of pngdriver.html
+
+2008-08-15 06:16  glynn
+
+	* db/db.login/db.login.html, db/db.login/description.html,
+	  display/d.barscale/d.barscale.html,
+	  display/d.barscale/description.html,
+	  display/d.colorlist/d.colorlist.html,
+	  display/d.colorlist/description.html,
+	  display/d.colors/d.colors.html,
+	  display/d.colors/description.html,
+	  display/d.colortable/d.colortable.html,
+	  display/d.colortable/description.html,
+	  display/d.erase/d.erase.html, display/d.erase/description.html,
+	  display/d.extract/d.extract.html,
+	  display/d.extract/description.html, display/d.font/d.font.html,
+	  display/d.font/description.html,
+	  display/d.fontlist/d.fontlist.html,
+	  display/d.fontlist/description.html,
+	  display/d.geodesic/d.geodesic.html,
+	  display/d.geodesic/description.html,
+	  display/d.graph/d.graph.html, display/d.graph/description.html,
+	  display/d.grid/d.grid.html, display/d.grid/description.html,
+	  display/d.his/d.his.html, display/d.his/description.html,
+	  display/d.histogram/d.histogram.html,
+	  display/d.histogram/description.html, display/d.info/d.info.html,
+	  display/d.info/description.html, display/d.labels/d.labels.html,
+	  display/d.labels/description.html,
+	  display/d.legend/d.legend.html,
+	  display/d.legend/description.html,
+	  display/d.linegraph/d.linegraph.html,
+	  display/d.linegraph/description.html,
+	  display/d.measure/d.measure.html,
+	  display/d.measure/description.html, display/d.nviz/d.nviz.html,
+	  display/d.nviz/description.html, display/d.path/d.path.html,
+	  display/d.path/description.html,
+	  display/d.profile/d.profile.html,
+	  display/d.profile/description.html,
+	  display/d.rast.arrow/d.rast.arrow.html,
+	  display/d.rast.arrow/description.html,
+	  display/d.rast.num/d.rast.num.html,
+	  display/d.rast.num/description.html, display/d.rast/d.rast.html,
+	  display/d.rast/description.html, display/d.rgb/d.rgb.html,
+	  display/d.rgb/description.html,
+	  display/d.rhumbline/d.rhumbline.html,
+	  display/d.rhumbline/description.html,
+	  display/d.text.new/d.text.html,
+	  display/d.text.new/description.html,
+	  display/d.thematic.area/d.thematic.area.html,
+	  display/d.thematic.area/description.html,
+	  display/d.title/d.title.html, display/d.title/description.html,
+	  display/d.vect.chart/d.vect.chart.html,
+	  display/d.vect.chart/description.html,
+	  display/d.vect/d.vect.html, display/d.vect/description.html,
+	  display/d.what.rast/d.what.rast.html,
+	  display/d.what.rast/description.html,
+	  display/d.what.vect/d.what.vect.html,
+	  display/d.what.vect/description.html,
+	  display/d.where/d.where.html, display/d.where/description.html,
+	  display/d.zoom/d.zoom.html, display/d.zoom/description.html,
+	  doc/raster/r.example/description.html,
+	  doc/raster/r.example/r.example.html,
+	  doc/vector/v.example/description.html,
+	  doc/vector/v.example/v.example.html,
+	  general/g.access/description.html,
+	  general/g.access/g.access.html,
+	  general/g.dirseps/description.html,
+	  general/g.dirseps/g.dirseps.html,
+	  general/g.filename/description.html,
+	  general/g.filename/g.filename.html,
+	  general/g.findetc/description.html,
+	  general/g.findetc/g.findetc.html,
+	  general/g.findfile/description.html,
+	  general/g.findfile/g.findfile.html,
+	  general/g.gisenv/description.html,
+	  general/g.gisenv/g.gisenv.html, general/g.gui/description.html,
+	  general/g.gui/g.gui.html, general/g.mapset/description.html,
+	  general/g.mapset/g.mapset.html,
+	  general/g.mapsets/description.html,
+	  general/g.mapsets/g.mapsets.html,
+	  general/g.message/description.html,
+	  general/g.message/g.message.html,
+	  general/g.mkfontcap/description.html,
+	  general/g.mkfontcap/g.mkfontcap.html,
+	  general/g.parser/description.html,
+	  general/g.parser/g.parser.html,
+	  general/g.pnmcomp/description.html,
+	  general/g.pnmcomp/g.pnmcomp.html,
+	  general/g.proj/description.html, general/g.proj/g.proj.html,
+	  general/g.region/description.html,
+	  general/g.region/g.region.html,
+	  general/g.setproj/description.html,
+	  general/g.setproj/g.setproj.html,
+	  general/g.tempfile/description.html,
+	  general/g.tempfile/g.tempfile.html,
+	  general/g.transform/description.html,
+	  general/g.transform/g.transform.html,
+	  general/g.version/description.html,
+	  general/g.version/g.version.html, gui/tcltk/gis.m/Makefile,
+	  gui/tcltk/gis.m/description.html, gui/tcltk/gis.m/gis.m.html,
+	  imagery/i.atcorr/description.html,
+	  imagery/i.atcorr/i.atcorr.html, imagery/i.cca/description.html,
+	  imagery/i.cca/i.cca.html, imagery/i.class/description.html,
+	  imagery/i.class/i.class.html, imagery/i.cluster/description.html,
+	  imagery/i.cluster/i.cluster.html, imagery/i.fft/description.html,
+	  imagery/i.fft/i.fft.html, imagery/i.gensig/description.html,
+	  imagery/i.gensig/i.gensig.html,
+	  imagery/i.gensigset/description.html,
+	  imagery/i.gensigset/i.gensigset.html,
+	  imagery/i.group/description.html, imagery/i.group/i.group.html,
+	  imagery/i.his.rgb/description.html,
+	  imagery/i.his.rgb/i.his.rgb.html,
+	  imagery/i.ifft/description.html, imagery/i.ifft/i.ifft.html,
+	  imagery/i.maxlik/description.html,
+	  imagery/i.maxlik/i.maxlik.html,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/menu/i.ortho.photo.html,
+	  imagery/i.ortho.photo/photo.2image/Makefile,
+	  imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.2image/photo.2image.html,
+	  imagery/i.ortho.photo/photo.2target/Makefile,
+	  imagery/i.ortho.photo/photo.2target/description.html,
+	  imagery/i.ortho.photo/photo.2target/photo.2target.html,
+	  imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.camera/description.html,
+	  imagery/i.ortho.photo/photo.camera/photo.camera.html,
+	  imagery/i.ortho.photo/photo.init/Makefile,
+	  imagery/i.ortho.photo/photo.init/description.html,
+	  imagery/i.ortho.photo/photo.init/photo.init.html,
+	  imagery/i.ortho.photo/photo.rectify/Makefile,
+	  imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/i.ortho.photo/photo.rectify/photo.rectify.html,
+	  imagery/i.pca/description.html, imagery/i.pca/i.pca.html,
+	  imagery/i.points/description.html,
+	  imagery/i.points/i.points.html,
+	  imagery/i.rectify/description.html,
+	  imagery/i.rectify/i.rectify.html,
+	  imagery/i.rgb.his/description.html,
+	  imagery/i.rgb.his/i.rgb.his.html,
+	  imagery/i.smap/shapiro/description.html,
+	  imagery/i.smap/shapiro/i.smap.html,
+	  imagery/i.target/description.html,
+	  imagery/i.target/i.target.html,
+	  imagery/i.vpoints/description.html,
+	  imagery/i.vpoints/i.vpoints.html, imagery/i.zc/description.html,
+	  imagery/i.zc/i.zc.html, lib/cairodriver/Makefile,
+	  lib/cairodriver/cairodriver.html,
+	  lib/cairodriver/description.html, lib/db/sqlp/Makefile,
+	  lib/db/sqlp/description.html, lib/db/sqlp/sql.html,
+	  lib/htmldriver/Makefile, lib/htmldriver/description.html,
+	  lib/htmldriver/htmldriver.html, lib/pngdriver/Makefile,
+	  lib/pngdriver/description.html, lib/pngdriver/pngdriver.html,
+	  lib/psdriver/Makefile, lib/psdriver/description.html,
+	  lib/psdriver/psdriver.html, misc/m.cogo/description.html,
+	  misc/m.cogo/m.cogo.html, ps/ps.map/description.html,
+	  ps/ps.map/ps.map.html, raster/r.average/description.html,
+	  raster/r.average/r.average.html,
+	  raster/r.basins.fill/description.html,
+	  raster/r.basins.fill/r.basins.fill.html,
+	  raster/r.bitpattern/description.html,
+	  raster/r.bitpattern/r.bitpattern.html,
+	  raster/r.buffer/description.html, raster/r.buffer/r.buffer.html,
+	  raster/r.carve/description.html, raster/r.carve/r.carve.html,
+	  raster/r.cats/description.html, raster/r.cats/r.category.html,
+	  raster/r.circle/description.html, raster/r.circle/r.circle.html,
+	  raster/r.clump/description.html, raster/r.clump/r.clump.html,
+	  raster/r.coin/description.html, raster/r.coin/r.coin.html,
+	  raster/r.colors/description.html, raster/r.colors/r.colors.html,
+	  raster/r.composite/description.html,
+	  raster/r.composite/r.composite.html,
+	  raster/r.compress/description.html,
+	  raster/r.compress/r.compress.html,
+	  raster/r.contour/description.html,
+	  raster/r.contour/r.contour.html, raster/r.cost/description.html,
+	  raster/r.cost/r.cost.html, raster/r.covar/description.html,
+	  raster/r.covar/r.covar.html, raster/r.cross/description.html,
+	  raster/r.cross/r.cross.html, raster/r.describe/description.html,
+	  raster/r.describe/r.describe.html,
+	  raster/r.digit/description.html, raster/r.digit/r.digit.html,
+	  raster/r.distance/description.html,
+	  raster/r.distance/r.distance.html,
+	  raster/r.drain/description.html, raster/r.drain/r.drain.html,
+	  raster/r.fill.dir/description.html,
+	  raster/r.fill.dir/r.fill.dir.html,
+	  raster/r.flow/description.html, raster/r.flow/r.flow.html,
+	  raster/r.grow.distance/description.html,
+	  raster/r.grow.distance/r.grow.distance.html,
+	  raster/r.grow2/description.html, raster/r.grow2/r.grow.html,
+	  raster/r.gwflow/description.html, raster/r.gwflow/r.gwflow.html,
+	  raster/r.his/description.html, raster/r.his/r.his.html,
+	  raster/r.in.arc/description.html, raster/r.in.arc/r.in.arc.html,
+	  raster/r.in.ascii/description.html,
+	  raster/r.in.ascii/r.in.ascii.html,
+	  raster/r.in.bin/description.html, raster/r.in.bin/r.in.bin.html,
+	  raster/r.in.gdal/description.html,
+	  raster/r.in.gdal/r.in.gdal.html,
+	  raster/r.in.gridatb/description.html,
+	  raster/r.in.gridatb/r.in.gridatb.html,
+	  raster/r.in.mat/description.html, raster/r.in.mat/r.in.mat.html,
+	  raster/r.in.poly/description.html,
+	  raster/r.in.poly/r.in.poly.html,
+	  raster/r.in.xyz/description.html, raster/r.in.xyz/r.in.xyz.html,
+	  raster/r.info/description.html, raster/r.info/r.info.html,
+	  raster/r.kappa/description.html, raster/r.kappa/r.kappa.html,
+	  raster/r.lake/description.html, raster/r.lake/r.lake.html,
+	  raster/r.le/r.le.patch/description.html,
+	  raster/r.le/r.le.patch/r.le.patch.html,
+	  raster/r.le/r.le.pixel/description.html,
+	  raster/r.le/r.le.pixel/r.le.pixel.html,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.le/r.le.setup/r.le.setup.html,
+	  raster/r.le/r.le.trace/description.html,
+	  raster/r.le/r.le.trace/r.le.trace.html, raster/r.li/Makefile,
+	  raster/r.li/description.html,
+	  raster/r.li/r.li.cwed/description.html,
+	  raster/r.li/r.li.cwed/r.li.cwed.html,
+	  raster/r.li/r.li.daemon/Makefile,
+	  raster/r.li/r.li.daemon/description.html,
+	  raster/r.li/r.li.daemon/r.li.daemon.html,
+	  raster/r.li/r.li.dominance/description.html,
+	  raster/r.li/r.li.dominance/r.li.dominance.html,
+	  raster/r.li/r.li.edgedensity/description.html,
+	  raster/r.li/r.li.edgedensity/r.li.edgedensity.html,
+	  raster/r.li/r.li.html, raster/r.li/r.li.mpa/description.html,
+	  raster/r.li/r.li.mpa/r.li.mpa.html,
+	  raster/r.li/r.li.mps/description.html,
+	  raster/r.li/r.li.mps/r.li.mps.html,
+	  raster/r.li/r.li.padcv/description.html,
+	  raster/r.li/r.li.padcv/r.li.padcv.html,
+	  raster/r.li/r.li.padrange/description.html,
+	  raster/r.li/r.li.padrange/r.li.padrange.html,
+	  raster/r.li/r.li.padsd/description.html,
+	  raster/r.li/r.li.padsd/r.li.padsd.html,
+	  raster/r.li/r.li.patchdensity/description.html,
+	  raster/r.li/r.li.patchdensity/r.li.patchdensity.html,
+	  raster/r.li/r.li.patchnum/description.html,
+	  raster/r.li/r.li.patchnum/r.li.patchnum.html,
+	  raster/r.li/r.li.richness/description.html,
+	  raster/r.li/r.li.richness/r.li.richness.html,
+	  raster/r.li/r.li.setup/description.html,
+	  raster/r.li/r.li.setup/r.li.setup.html,
+	  raster/r.li/r.li.shannon/description.html,
+	  raster/r.li/r.li.shannon/r.li.shannon.html,
+	  raster/r.li/r.li.shape/description.html,
+	  raster/r.li/r.li.shape/r.li.shape.html,
+	  raster/r.li/r.li.simpson/description.html,
+	  raster/r.li/r.li.simpson/r.li.simpson.html,
+	  raster/r.los/description.html, raster/r.los/r.los.html,
+	  raster/r.median/description.html, raster/r.median/r.median.html,
+	  raster/r.mfilter.fp/description.html,
+	  raster/r.mfilter.fp/r.mfilter.fp.html,
+	  raster/r.mfilter/description.html,
+	  raster/r.mfilter/r.mfilter.html, raster/r.mode/description.html,
+	  raster/r.mode/r.mode.html, raster/r.neighbors/description.html,
+	  raster/r.neighbors/r.neighbors.html,
+	  raster/r.null/description.html, raster/r.null/r.null.html,
+	  raster/r.out.arc/description.html,
+	  raster/r.out.arc/r.out.arc.html,
+	  raster/r.out.ascii/description.html,
+	  raster/r.out.ascii/r.out.ascii.html,
+	  raster/r.out.bin/description.html,
+	  raster/r.out.bin/r.out.bin.html,
+	  raster/r.out.gdal/description.html,
+	  raster/r.out.gdal/r.out.gdal.html,
+	  raster/r.out.gridatb/description.html,
+	  raster/r.out.gridatb/r.out.gridatb.html,
+	  raster/r.out.mat/description.html,
+	  raster/r.out.mat/r.out.mat.html,
+	  raster/r.out.mpeg/description.html,
+	  raster/r.out.mpeg/r.out.mpeg.html,
+	  raster/r.out.png/description.html,
+	  raster/r.out.png/r.out.png.html,
+	  raster/r.out.pov/description.html,
+	  raster/r.out.pov/r.out.pov.html,
+	  raster/r.out.ppm/description.html,
+	  raster/r.out.ppm/r.out.ppm.html,
+	  raster/r.out.ppm3/description.html,
+	  raster/r.out.ppm3/r.out.ppm3.html,
+	  raster/r.out.tiff/description.html,
+	  raster/r.out.tiff/r.out.tiff.html,
+	  raster/r.out.vrml/description.html,
+	  raster/r.out.vrml/r.out.vrml.html,
+	  raster/r.out.vtk/description.html,
+	  raster/r.out.vtk/r.out.vtk.html,
+	  raster/r.param.scale/description.html,
+	  raster/r.param.scale/r.param.scale.html,
+	  raster/r.patch/description.html, raster/r.patch/r.patch.html,
+	  raster/r.profile/description.html,
+	  raster/r.profile/r.profile.html,
+	  raster/r.proj.seg/description.html,
+	  raster/r.proj.seg/r.proj.html, raster/r.proj/description.html,
+	  raster/r.proj/r.proj.html, raster/r.quant/description.html,
+	  raster/r.quant/r.quant.html, raster/r.quantile/description.html,
+	  raster/r.quantile/r.quantile.html,
+	  raster/r.random.cells/description.html,
+	  raster/r.random.cells/r.random.cells.html,
+	  raster/r.random.surface/description.html,
+	  raster/r.random.surface/r.random.surface.html,
+	  raster/r.random/description.html, raster/r.random/r.random.html,
+	  raster/r.reclass/description.html,
+	  raster/r.reclass/r.reclass.html,
+	  raster/r.recode/description.html, raster/r.recode/r.recode.html,
+	  raster/r.region/description.html, raster/r.region/r.region.html,
+	  raster/r.report/description.html, raster/r.report/r.report.html,
+	  raster/r.resamp.interp/description.html,
+	  raster/r.resamp.interp/r.resamp.interp.html,
+	  raster/r.resamp.rst/description.html,
+	  raster/r.resamp.rst/r.resamp.rst.html,
+	  raster/r.resamp.stats/description.html,
+	  raster/r.resamp.stats/r.resamp.stats.html,
+	  raster/r.resample/description.html,
+	  raster/r.resample/r.resample.html,
+	  raster/r.rescale.eq/description.html,
+	  raster/r.rescale.eq/r.rescale.eq.html,
+	  raster/r.rescale/description.html,
+	  raster/r.rescale/r.rescale.html,
+	  raster/r.series/description.html, raster/r.series/r.series.html,
+	  raster/r.slope.aspect/description.html,
+	  raster/r.slope.aspect/r.slope.aspect.html,
+	  raster/r.statistics/description.html,
+	  raster/r.statistics/r.statistics.html,
+	  raster/r.stats/description.html, raster/r.stats/r.stats.html,
+	  raster/r.sum/description.html, raster/r.sum/r.sum.html,
+	  raster/r.sun/description.html, raster/r.sun/r.sun.html,
+	  raster/r.sunmask/description.html,
+	  raster/r.sunmask/r.sunmask.html,
+	  raster/r.support.stats/description.html,
+	  raster/r.support.stats/r.support.stats.html,
+	  raster/r.support/description.html,
+	  raster/r.support/r.support.html,
+	  raster/r.surf.area/description.html,
+	  raster/r.surf.area/r.surf.area.html,
+	  raster/r.surf.contour/description.html,
+	  raster/r.surf.contour/r.surf.contour.html,
+	  raster/r.surf.fractal/description.html,
+	  raster/r.surf.fractal/r.surf.fractal.html,
+	  raster/r.surf.gauss/description.html,
+	  raster/r.surf.gauss/r.surf.gauss.html,
+	  raster/r.surf.idw/description.html,
+	  raster/r.surf.idw/r.surf.idw.html,
+	  raster/r.surf.idw2/description.html,
+	  raster/r.surf.idw2/r.surf.idw2.html,
+	  raster/r.surf.random/description.html,
+	  raster/r.surf.random/r.surf.random.html,
+	  raster/r.terraflow/description.html,
+	  raster/r.terraflow/r.terraflow.html,
+	  raster/r.texture/description.html,
+	  raster/r.texture/r.texture.html, raster/r.thin/description.html,
+	  raster/r.thin/r.thin.html, raster/r.timestamp/description.html,
+	  raster/r.timestamp/r.timestamp.html,
+	  raster/r.to.rast3/description.html,
+	  raster/r.to.rast3/r.to.rast3.html,
+	  raster/r.to.rast3elev/description.html,
+	  raster/r.to.rast3elev/r.to.rast3elev.html,
+	  raster/r.to.vect/description.html,
+	  raster/r.to.vect/r.to.vect.html,
+	  raster/r.topidx/description.html, raster/r.topidx/r.topidx.html,
+	  raster/r.topmodel/description.html,
+	  raster/r.topmodel/r.topmodel.html,
+	  raster/r.transect/description.html,
+	  raster/r.transect/r.transect.html,
+	  raster/r.volume/description.html, raster/r.volume/r.volume.html,
+	  raster/r.walk/description.html, raster/r.walk/r.walk.html,
+	  raster/r.water.outlet/description.html,
+	  raster/r.water.outlet/r.water.outlet.html,
+	  raster/r.watershed/front/description.html,
+	  raster/r.watershed/front/r.watershed.html,
+	  raster/r.what.color/description.html,
+	  raster/r.what.color/r.what.color.html,
+	  raster/r.what/description.html, raster/r.what/r.what.html,
+	  raster/simwe/r.sim.sediment/description.html,
+	  raster/simwe/r.sim.sediment/r.sim.sediment.html,
+	  raster/simwe/r.sim.water/description.html,
+	  raster/simwe/r.sim.water/r.sim.water.html,
+	  raster/wildfire/r.ros/description.html,
+	  raster/wildfire/r.ros/r.ros.html,
+	  raster/wildfire/r.spread/description.html,
+	  raster/wildfire/r.spread/r.spread.html,
+	  raster/wildfire/r.spreadpath/description.html,
+	  raster/wildfire/r.spreadpath/r.spreadpath.html,
+	  raster3d/r3.cross.rast/description.html,
+	  raster3d/r3.cross.rast/r3.cross.rast.html,
+	  raster3d/r3.gwflow/description.html,
+	  raster3d/r3.gwflow/r3.gwflow.html,
+	  raster3d/r3.in.ascii/description.html,
+	  raster3d/r3.in.ascii/r3.in.ascii.html,
+	  raster3d/r3.in.v5d/description.html,
+	  raster3d/r3.in.v5d/r3.in.v5d.html,
+	  raster3d/r3.mkdspf/description.html,
+	  raster3d/r3.mkdspf/r3.mkdspf.html,
+	  raster3d/r3.out.ascii/description.html,
+	  raster3d/r3.out.ascii/r3.out.ascii.html,
+	  raster3d/r3.out.v5d/description.html,
+	  raster3d/r3.out.v5d/r3.out.v5d.html,
+	  raster3d/r3.out.vtk/description.html,
+	  raster3d/r3.out.vtk/r3.out.vtk.html,
+	  raster3d/r3.showdspf/description.html,
+	  raster3d/r3.showdspf/r3.showdspf.html,
+	  raster3d/r3.stats/description.html,
+	  raster3d/r3.stats/r3.stats.html,
+	  raster3d/r3.to.rast/description.html,
+	  raster3d/r3.to.rast/r3.to.rast.html,
+	  scripts/d.correlate/d.correlate.html,
+	  scripts/d.correlate/description.html,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive.html,
+	  scripts/d.out.gpsdrive/description.html,
+	  scripts/d.polar/d.polar.html, scripts/d.polar/description.html,
+	  scripts/d.rast.edit/d.rast.edit.html,
+	  scripts/d.rast.edit/description.html,
+	  scripts/d.rast.leg/d.rast.leg.html,
+	  scripts/d.rast.leg/description.html,
+	  scripts/d.shadedmap/d.shadedmap.html,
+	  scripts/d.shadedmap/description.html,
+	  scripts/d.vect.thematic/d.vect.thematic.html,
+	  scripts/d.vect.thematic/description.html,
+	  scripts/db.dropcol/db.dropcol.html,
+	  scripts/db.dropcol/description.html,
+	  scripts/db.droptable/db.droptable.html,
+	  scripts/db.droptable/description.html,
+	  scripts/db.in.ogr/db.in.ogr.html,
+	  scripts/db.in.ogr/description.html,
+	  scripts/db.out.ogr/db.out.ogr.html,
+	  scripts/db.out.ogr/description.html,
+	  scripts/db.test/db.test.html, scripts/db.test/description.html,
+	  scripts/g.manual/description.html,
+	  scripts/g.manual/g.manual.html, scripts/g.mlist/description.html,
+	  scripts/g.mlist/g.mlist.html, scripts/g.mremove/description.html,
+	  scripts/g.mremove/g.mremove.html,
+	  scripts/i.fusion.brovey/description.html,
+	  scripts/i.fusion.brovey/i.fusion.brovey.html,
+	  scripts/i.image.mosaic/description.html,
+	  scripts/i.image.mosaic/i.image.mosaic.html,
+	  scripts/i.in.spotvgt/description.html,
+	  scripts/i.in.spotvgt/i.in.spotvgt.html,
+	  scripts/i.landsat.rgb/description.html,
+	  scripts/i.landsat.rgb/i.landsat.rgb.html,
+	  scripts/i.oif/description.html, scripts/i.oif/i.oif.html,
+	  scripts/i.spectral/description.html,
+	  scripts/i.spectral/i.spectral.html,
+	  scripts/i.tasscap/description.html,
+	  scripts/i.tasscap/i.tasscap.html,
+	  scripts/m.proj/description.html, scripts/m.proj/m.proj.html,
+	  scripts/r.blend/description.html, scripts/r.blend/r.blend.html,
+	  scripts/r.fillnulls/description.html,
+	  scripts/r.fillnulls/r.fillnulls.html,
+	  scripts/r.in.aster/description.html,
+	  scripts/r.in.aster/r.in.aster.html,
+	  scripts/r.in.srtm/description.html,
+	  scripts/r.in.srtm/r.in.srtm.html,
+	  scripts/r.in.wms/description.html,
+	  scripts/r.in.wms/r.in.wms.html,
+	  scripts/r.mapcalculator/description.html,
+	  scripts/r.mapcalculator/r.mapcalculator.html,
+	  scripts/r.mask/description.html, scripts/r.mask/r.mask.html,
+	  scripts/r.out.gdal/description.html,
+	  scripts/r.out.gdal/r.out.gdal.sh.html,
+	  scripts/r.out.xyz/description.html,
+	  scripts/r.out.xyz/r.out.xyz.html,
+	  scripts/r.plane/description.html, scripts/r.plane/r.plane.html,
+	  scripts/r.reclass.area/description.html,
+	  scripts/r.reclass.area/r.reclass.area.html,
+	  scripts/r.regression.line/description.html,
+	  scripts/r.regression.line/r.regression.line.html,
+	  scripts/r.shaded.relief/description.html,
+	  scripts/r.shaded.relief/r.shaded.relief.html,
+	  scripts/r.tileset/description.html,
+	  scripts/r.tileset/r.tileset.html,
+	  scripts/r3.mapcalculator/description.html,
+	  scripts/r3.mapcalculator/r3.mapcalculator.html,
+	  scripts/v.build.all/description.html,
+	  scripts/v.build.all/v.build.all.html,
+	  scripts/v.centroids/description.html,
+	  scripts/v.centroids/v.centroids.html,
+	  scripts/v.convert.all/description.html,
+	  scripts/v.convert.all/v.convert.all.html,
+	  scripts/v.db.addcol/description.html,
+	  scripts/v.db.addcol/v.db.addcol.html,
+	  scripts/v.db.addtable/description.html,
+	  scripts/v.db.addtable/v.db.addtable.html,
+	  scripts/v.db.dropcol/description.html,
+	  scripts/v.db.dropcol/v.db.dropcol.html,
+	  scripts/v.db.droptable/description.html,
+	  scripts/v.db.droptable/v.db.droptable.html,
+	  scripts/v.db.join/description.html,
+	  scripts/v.db.join/v.db.join.html,
+	  scripts/v.db.reconnect.all/description.html,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all.html,
+	  scripts/v.db.renamecol/description.html,
+	  scripts/v.db.renamecol/v.db.renamecol.html,
+	  scripts/v.db.univar/description.html,
+	  scripts/v.db.univar/v.db.univar.html,
+	  scripts/v.db.update/description.html,
+	  scripts/v.db.update/v.db.update.html,
+	  scripts/v.dissolve/description.html,
+	  scripts/v.dissolve/v.dissolve.html,
+	  scripts/v.in.e00/description.html,
+	  scripts/v.in.e00/v.in.e00.html,
+	  scripts/v.in.garmin/description.html,
+	  scripts/v.in.garmin/v.in.garmin.html,
+	  scripts/v.in.geonames/description.html,
+	  scripts/v.in.geonames/v.in.geonames.html,
+	  scripts/v.in.gns/description.html,
+	  scripts/v.in.gns/v.in.gns.html,
+	  scripts/v.in.gpsbabel/description.html,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel.html,
+	  scripts/v.in.mapgen/description.html,
+	  scripts/v.in.mapgen/v.in.mapgen.html,
+	  scripts/v.in.sites.all/description.html,
+	  scripts/v.in.sites.all/v.in.sites.all.html,
+	  scripts/v.in.wfs/description.html,
+	  scripts/v.in.wfs/v.in.wfs.html,
+	  scripts/v.rast.stats/description.html,
+	  scripts/v.rast.stats/v.rast.stats.html,
+	  scripts/v.report/description.html,
+	  scripts/v.report/v.report.html,
+	  scripts/v.what.vect/description.html,
+	  scripts/v.what.vect/v.what.vect.html,
+	  sites/s.in.ascii/description.html,
+	  sites/s.in.ascii/s.in.ascii.html,
+	  sites/s.out.ascii/description.html,
+	  sites/s.out.ascii/s.out.ascii.html,
+	  vector/lidar/v.lidar.correction/description.html,
+	  vector/lidar/v.lidar.correction/v.lidar.correction.html,
+	  vector/lidar/v.lidar.edgedetection/description.html,
+	  vector/lidar/v.lidar.edgedetection/v.lidar.edgedetection.html,
+	  vector/lidar/v.lidar.growing/description.html,
+	  vector/lidar/v.lidar.growing/v.lidar.growing.html,
+	  vector/lidar/v.outlier/description.html,
+	  vector/lidar/v.outlier/v.outlier.html,
+	  vector/lidar/v.surf.bspline/description.html,
+	  vector/lidar/v.surf.bspline/v.surf.bspline.html,
+	  vector/v.buffer/description.html, vector/v.buffer/v.buffer.html,
+	  vector/v.build.polylines/description.html,
+	  vector/v.build.polylines/v.build.polylines.html,
+	  vector/v.build/description.html, vector/v.build/v.build.html,
+	  vector/v.category/description.html,
+	  vector/v.category/v.category.html,
+	  vector/v.class/description.html, vector/v.class/v.class.html,
+	  vector/v.clean/description.html, vector/v.clean/v.clean.html,
+	  vector/v.convert/description.html,
+	  vector/v.convert/v.convert.html,
+	  vector/v.db.connect/description.html,
+	  vector/v.db.connect/v.db.connect.html,
+	  vector/v.db.select/description.html,
+	  vector/v.db.select/v.db.select.html,
+	  vector/v.digit/description.html, vector/v.digit/v.digit.html,
+	  vector/v.distance/description.html,
+	  vector/v.distance/v.distance.html,
+	  vector/v.drape/description.html, vector/v.drape/v.drape.html,
+	  vector/v.edit/description.html, vector/v.edit/v.edit.html,
+	  vector/v.external/description.html,
+	  vector/v.external/v.external.html,
+	  vector/v.extract/description.html,
+	  vector/v.extract/v.extract.html,
+	  vector/v.extrude/description.html,
+	  vector/v.extrude/v.extrude.html,
+	  vector/v.generalize/description.html,
+	  vector/v.generalize/v.generalize.html,
+	  vector/v.hull/description.html, vector/v.hull/v.hull.html,
+	  vector/v.in.ascii/description.html,
+	  vector/v.in.ascii/v.in.ascii.html,
+	  vector/v.in.db/description.html, vector/v.in.db/v.in.db.html,
+	  vector/v.in.dwg/description.html, vector/v.in.dwg/v.in.dwg.html,
+	  vector/v.in.dxf/description.html, vector/v.in.dxf/v.in.dxf.html,
+	  vector/v.in.ogr/description.html, vector/v.in.ogr/v.in.ogr.html,
+	  vector/v.in.region/description.html,
+	  vector/v.in.region/v.in.region.html,
+	  vector/v.in.sites/description.html,
+	  vector/v.in.sites/v.in.sites.html,
+	  vector/v.info/description.html, vector/v.info/v.info.html,
+	  vector/v.kcv/description.html, vector/v.kcv/v.kcv.html,
+	  vector/v.kernel/description.html, vector/v.kernel/v.kernel.html,
+	  vector/v.label.sa/description.html,
+	  vector/v.label.sa/v.label.sa.html,
+	  vector/v.label/description.html, vector/v.label/v.label.html,
+	  vector/v.lrs/v.lrs.create/description.html,
+	  vector/v.lrs/v.lrs.create/v.lrs.create.html,
+	  vector/v.lrs/v.lrs.label/description.html,
+	  vector/v.lrs/v.lrs.label/v.lrs.label.html,
+	  vector/v.lrs/v.lrs.segment/description.html,
+	  vector/v.lrs/v.lrs.segment/v.lrs.segment.html,
+	  vector/v.lrs/v.lrs.where/description.html,
+	  vector/v.lrs/v.lrs.where/v.lrs.where.html,
+	  vector/v.mkgrid/description.html, vector/v.mkgrid/v.mkgrid.html,
+	  vector/v.neighbors/description.html,
+	  vector/v.neighbors/v.neighbors.html,
+	  vector/v.net.alloc/description.html,
+	  vector/v.net.alloc/v.net.alloc.html,
+	  vector/v.net.iso/description.html,
+	  vector/v.net.iso/v.net.iso.html,
+	  vector/v.net.path/description.html,
+	  vector/v.net.path/v.net.path.html,
+	  vector/v.net.salesman/description.html,
+	  vector/v.net.salesman/v.net.salesman.html,
+	  vector/v.net.steiner/description.html,
+	  vector/v.net.steiner/v.net.steiner.html,
+	  vector/v.net.visibility/description.html,
+	  vector/v.net.visibility/v.net.visibility.html,
+	  vector/v.net/description.html, vector/v.net/v.net.html,
+	  vector/v.normal/description.html, vector/v.normal/v.normal.html,
+	  vector/v.out.ascii/description.html,
+	  vector/v.out.ascii/v.out.ascii.html,
+	  vector/v.out.dxf/description.html,
+	  vector/v.out.dxf/v.out.dxf.html,
+	  vector/v.out.ogr/description.html,
+	  vector/v.out.ogr/v.out.ogr.html,
+	  vector/v.out.pov/description.html,
+	  vector/v.out.pov/v.out.pov.html,
+	  vector/v.out.svg/description.html,
+	  vector/v.out.svg/v.out.svg.html,
+	  vector/v.out.vtk/description.html,
+	  vector/v.out.vtk/v.out.vtk.html,
+	  vector/v.overlay/description.html,
+	  vector/v.overlay/v.overlay.html,
+	  vector/v.parallel/description.html,
+	  vector/v.parallel/v.parallel.html,
+	  vector/v.patch/description.html, vector/v.patch/v.patch.html,
+	  vector/v.perturb/description.html,
+	  vector/v.perturb/v.perturb.html, vector/v.proj/description.html,
+	  vector/v.proj/v.proj.html, vector/v.qcount/description.html,
+	  vector/v.qcount/v.qcount.html, vector/v.random/description.html,
+	  vector/v.random/v.random.html, vector/v.reclass/description.html,
+	  vector/v.reclass/v.reclass.html,
+	  vector/v.sample/description.html, vector/v.sample/v.sample.html,
+	  vector/v.segment/description.html,
+	  vector/v.segment/v.segment.html,
+	  vector/v.select/description.html, vector/v.select/v.select.html,
+	  vector/v.split/description.html, vector/v.split/v.split.html,
+	  vector/v.support/description.html,
+	  vector/v.support/v.support.html,
+	  vector/v.surf.idw/description.html,
+	  vector/v.surf.idw/v.surf.idw.html,
+	  vector/v.surf.rst/description.html,
+	  vector/v.surf.rst/v.surf.rst.html,
+	  vector/v.to.db/description.html, vector/v.to.db/v.to.db.html,
+	  vector/v.to.points/description.html,
+	  vector/v.to.points/v.to.points.html,
+	  vector/v.to.rast/description.html,
+	  vector/v.to.rast/v.to.rast.html,
+	  vector/v.to.rast3/description.html,
+	  vector/v.to.rast3/v.to.rast3.html,
+	  vector/v.transform/description.html,
+	  vector/v.transform/v.transform.html,
+	  vector/v.type/description.html, vector/v.type/v.type.html,
+	  vector/v.univar/description.html, vector/v.univar/v.univar.html,
+	  vector/v.vol.rst/description.html,
+	  vector/v.vol.rst/v.vol.rst.html,
+	  vector/v.what.rast/description.html,
+	  vector/v.what.rast/v.what.rast.html,
+	  vector/v.what/description.html, vector/v.what/v.what.html,
+	  visualization/nviz/Makefile, visualization/nviz/description.html,
+	  visualization/nviz/nviz.html, visualization/nviz/src/Makefile,
+	  visualization/nviz/src/description.html,
+	  visualization/nviz2/cmd/description.html,
+	  visualization/nviz2/cmd/nviz_cmd.html,
+	  visualization/xganim/description.html,
+	  visualization/xganim/xganim.html: Rename description.html ->
+	  $(PGM).html
+
+2008-08-15 03:16  glynn
+
+	* display/d.rast/main.c: Make nulls transparent by default; add -n
+	  flag
+
+2008-08-14 17:51  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: overlay rasters
+	  by default (merge from devbr6, r32767)
+
+2008-08-14 17:39  glynn
+
+	* imagery/i.cluster/main.c: Don't call G_legal_filename() on
+	  filename options.
+
+2008-08-14 12:19  pkelly
+
+	* include/iostream/mem_stream.h, lib/iostream/ami_stream.cc:
+	  #include <cstring> in header files that use strcpy()
+
+2008-08-14 10:19  martinl
+
+	* include/iostream/ami_stream.h: iostreamlib: add missing cstring
+	  header (r.terraflow is compiled properly)
+	  (merge from devbr6, r32760)
+
+2008-08-14 08:44  glynn
+
+	* db/drivers/dbf/main_debug.c, display/d.barscale/main.c,
+	  display/d.colortable/main.c, display/d.geodesic/main.c,
+	  display/d.labels/main.c, display/d.rast.arrow/arrow.c,
+	  display/d.rhumbline/main.c, general/g.access/main.c,
+	  general/g.parser/main.c, general/g.pnmcomp/main.c,
+	  general/manage/cmd/list.c, imagery/i.cca/main.c,
+	  imagery/i.class/main.c, imagery/i.his.rgb/h2rmain.c,
+	  imagery/i.ortho.photo/photo.rectify/get_wind.c,
+	  imagery/i.pca/main.c, imagery/i.rgb.his/r2hmain.c,
+	  lib/linkm/oom.c, lib/vector/diglib/allocation.c,
+	  raster/r.basins.fill/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gridatb/main.c, raster/r.le/r.le.patch/input.c,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/polytocell/ply_t_bmif.c,
+	  raster/r.sum/main.c, raster/r.topidx/main.c,
+	  raster/r.topmodel/main.c, raster3d/base/r3.timestamp.main.c,
+	  raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.showdspf/main_ogl.c, sites/s.in.ascii/main.c,
+	  vector/v.clean/test/topocheck.c, vector/v.label.sa/main.c,
+	  vector/v.out.pov/main.c, vector/v.out.svg/main.c,
+	  vector/v.split/main.c, vector/v.transform/creat_trans.c,
+	  visualization/nviz/src/nviz_init.c: Change exit(-1) to
+	  exit(EXIT_FAILURE); a negative argument to exit() is invalid
+	  Miscellaneous tidying
+
+2008-08-14 08:38  glynn
+
+	* lib/ogsf/gvl_calc.c: Fix char/char* mismatch
+
+2008-08-14 08:22  glynn
+
+	* display/d.colorlist/main.c, display/d.erase/main.c,
+	  display/d.fontlist/main.c, display/d.info/main.c,
+	  display/d.measure/main.c, display/d.measure/msurements.c,
+	  display/d.what.rast/main.c, display/d.what.vect/main.c,
+	  display/d.where/main.c, display/d.zoom/main.c,
+	  general/g.gisenv/main.c, general/g.gui/main.c,
+	  general/g.mkfontcap/main.c, general/g.setproj/main.c,
+	  general/g.tempfile/main.c, general/g.version/main.c,
+	  imagery/i.maxlik/main.c, lib/gis/parser.c, ps/ps.map/main.c,
+	  raster/r.rescale.eq/main.c, vector/v.what/main.c: Make G_parser()
+	  only invoke UI if module has required arguments
+	  No need for "if (argc > 1 && G_parser(argc, argv))"
+
+2008-08-14 08:15  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  include/config.h.in: Remove --with-glw switch
+
+2008-08-13 21:27  ltoma
+
+	* raster/r.viewshed: r.viewshed deleted; moved to addons
+
+2008-08-13 19:57  ltoma
+
+	* raster/r.viewshed, raster/r.viewshed/Makefile,
+	  raster/r.viewshed/distribute.cc, raster/r.viewshed/distribute.h,
+	  raster/r.viewshed/eventlist.cc, raster/r.viewshed/eventlist.h,
+	  raster/r.viewshed/grass.cc, raster/r.viewshed/grass.h,
+	  raster/r.viewshed/grid.cc, raster/r.viewshed/grid.h,
+	  raster/r.viewshed/main.cc, raster/r.viewshed/print_message.cc,
+	  raster/r.viewshed/print_message.h,
+	  raster/r.viewshed/r.viewshed.html, raster/r.viewshed/rbbst.cc,
+	  raster/r.viewshed/rbbst.h, raster/r.viewshed/statusstructure.cc,
+	  raster/r.viewshed/statusstructure.h,
+	  raster/r.viewshed/sweep1.png, raster/r.viewshed/sweep2.png,
+	  raster/r.viewshed/viewshed.cc, raster/r.viewshed/viewshed.h,
+	  raster/r.viewshed/visibility.cc, raster/r.viewshed/visibility.h:
+	  First working version. Uses grass/lib/iostrean, Makefile and
+	  include changes from Paul kelly
+
+2008-08-13 19:57  martinl
+
+	* gui/wxpython/vdigit/line.cpp, lib/vector/vedit/snap.c: vedit:
+	  allow snapping also for points (not centroids)
+	  (merge from devbr6, r32749)
+
+2008-08-13 19:43  mlennert
+
+	* vector/v.distance/description.html, vector/v.distance/main.c:
+	  added dmin option
+
+2008-08-13 18:54  ltoma
+
+	* lib/iostream/ami_stream.cc, lib/iostream/minmaxheap_test.cc,
+	  lib/iostream/mm.cc, lib/iostream/mm_utils.cc,
+	  lib/iostream/rtimer.cc: extended header to acknowledge
+	  contributors; removed minmaxhea_test.cc
+
+2008-08-13 18:46  ltoma
+
+	* include/iostream/ami.h, include/iostream/ami_config.h,
+	  include/iostream/ami_sort.h, include/iostream/ami_sort_impl.h,
+	  include/iostream/ami_stream.h, include/iostream/embuffer.h,
+	  include/iostream/empq.h, include/iostream/empq_adaptive.h,
+	  include/iostream/empq_adaptive_impl.h,
+	  include/iostream/empq_impl.h, include/iostream/imbuffer.h,
+	  include/iostream/mem_stream.h, include/iostream/minmaxheap.h,
+	  include/iostream/mm.h, include/iostream/mm_utils.h,
+	  include/iostream/pqheap.h, include/iostream/queue.h,
+	  include/iostream/quicksort.h, include/iostream/replacementHeap.h,
+	  include/iostream/replacementHeapBlock.h,
+	  include/iostream/rtimer.h: extended header to acknowledge
+	  contributors of iostream
+
+2008-08-13 17:55  martinl
+
+	* gui/Makefile, gui/icons/AUTHORS, gui/icons/Makefile,
+	  gui/icons/README, gui/icons/channel-blue.gif,
+	  gui/icons/channel-green.gif, gui/icons/channel-his.gif,
+	  gui/icons/channel-hue.gif, gui/icons/channel-intensity.gif,
+	  gui/icons/channel-red.gif, gui/icons/channel-rgb.gif,
+	  gui/icons/channel-saturation.gif, gui/icons/db-columns.gif,
+	  gui/icons/db-values.gif, gui/icons/drawmode-explore.gif,
+	  gui/icons/drawmode-strict.gif, gui/icons/edit-color.gif,
+	  gui/icons/edit-copy.gif, gui/icons/edit-cut.gif,
+	  gui/icons/element-3d.view.gif, gui/icons/element-cell.gif,
+	  gui/icons/element-grid3.gif, gui/icons/element-group.gif,
+	  gui/icons/element-icons.gif, gui/icons/element-labels.gif,
+	  gui/icons/element-vector.gif, gui/icons/element-windows.gif,
+	  gui/icons/file-new.gif, gui/icons/file-open.gif,
+	  gui/icons/file-print.gif, gui/icons/file-save.gif,
+	  gui/icons/grass, gui/icons/grass.ico, gui/icons/grass/AUTHORS,
+	  gui/icons/grass/README, gui/icons/grass/channel-blue.gif,
+	  gui/icons/grass/channel-green.gif,
+	  gui/icons/grass/channel-his.gif, gui/icons/grass/channel-hue.gif,
+	  gui/icons/grass/channel-intensity.gif,
+	  gui/icons/grass/channel-red.gif, gui/icons/grass/channel-rgb.gif,
+	  gui/icons/grass/channel-saturation.gif,
+	  gui/icons/grass/db-columns.gif, gui/icons/grass/db-values.gif,
+	  gui/icons/grass/drawmode-explore.gif,
+	  gui/icons/grass/drawmode-strict.gif,
+	  gui/icons/grass/edit-color.gif, gui/icons/grass/edit-copy.gif,
+	  gui/icons/grass/edit-cut.gif,
+	  gui/icons/grass/element-3d.view.gif,
+	  gui/icons/grass/element-cell.gif,
+	  gui/icons/grass/element-grid3.gif,
+	  gui/icons/grass/element-group.gif,
+	  gui/icons/grass/element-icons.gif,
+	  gui/icons/grass/element-labels.gif,
+	  gui/icons/grass/element-vector.gif,
+	  gui/icons/grass/element-windows.gif,
+	  gui/icons/grass/file-new.gif, gui/icons/grass/file-open.gif,
+	  gui/icons/grass/file-print.gif, gui/icons/grass/file-save.gif,
+	  gui/icons/grass/gui-cmd.gif, gui/icons/grass/gui-display.gif,
+	  gui/icons/grass/gui-erase.gif, gui/icons/grass/gui-exit.gif,
+	  gui/icons/grass/gui-ff.gif, gui/icons/grass/gui-filesave.gif,
+	  gui/icons/grass/gui-font.gif, gui/icons/grass/gui-gcperase.gif,
+	  gui/icons/grass/gui-gcpset.gif, gui/icons/grass/gui-georect.gif,
+	  gui/icons/grass/gui-group.gif, gui/icons/grass/gui-help.gif,
+	  gui/icons/grass/gui-layeroptions.gif,
+	  gui/icons/grass/gui-loop.gif, gui/icons/grass/gui-maplabels.gif,
+	  gui/icons/grass/gui-maptext.gif, gui/icons/grass/gui-mapzoom.gif,
+	  gui/icons/grass/gui-measure.gif, gui/icons/grass/gui-mouse.gif,
+	  gui/icons/grass/gui-overlay.gif, gui/icons/grass/gui-pan.gif,
+	  gui/icons/grass/gui-play.gif, gui/icons/grass/gui-pointer.gif,
+	  gui/icons/grass/gui-profile.gif,
+	  gui/icons/grass/gui-profiledefine.gif,
+	  gui/icons/grass/gui-profiledraw.gif,
+	  gui/icons/grass/gui-profileopt.gif,
+	  gui/icons/grass/gui-query.gif, gui/icons/grass/gui-rabbit.gif,
+	  gui/icons/grass/gui-rastanalyze.gif,
+	  gui/icons/grass/gui-rastarrowsdir.gif,
+	  gui/icons/grass/gui-rastarrowsint.gif,
+	  gui/icons/grass/gui-redraw.gif, gui/icons/grass/gui-rewind.gif,
+	  gui/icons/grass/gui-rms.gif, gui/icons/grass/gui-rplay.gif,
+	  gui/icons/grass/gui-rv.info.gif, gui/icons/grass/gui-snail.gif,
+	  gui/icons/grass/gui-startmon.gif, gui/icons/grass/gui-stepb.gif,
+	  gui/icons/grass/gui-stepf.gif, gui/icons/grass/gui-stop.gif,
+	  gui/icons/grass/gui-swing.gif, gui/icons/grass/gui-zoom_back.gif,
+	  gui/icons/grass/gui-zoom_current.gif,
+	  gui/icons/grass/gui-zoom_default.gif,
+	  gui/icons/grass/gui-zoom_in.gif,
+	  gui/icons/grass/gui-zoom_map.gif,
+	  gui/icons/grass/gui-zoom_out.gif,
+	  gui/icons/grass/gui-zoom_region.gif,
+	  gui/icons/grass/module-d.barscale.gif,
+	  gui/icons/grass/module-d.chart.gif,
+	  gui/icons/grass/module-d.frame.gif,
+	  gui/icons/grass/module-d.geodesic.gif,
+	  gui/icons/grass/module-d.gif, gui/icons/grass/module-d.graph.gif,
+	  gui/icons/grass/module-d.grid.gif,
+	  gui/icons/grass/module-d.histogram.gif,
+	  gui/icons/grass/module-d.labels.gif,
+	  gui/icons/grass/module-d.legend.gif,
+	  gui/icons/grass/module-d.nviz.gif,
+	  gui/icons/grass/module-d.rast.arrow.gif,
+	  gui/icons/grass/module-d.rast.num.gif,
+	  gui/icons/grass/module-d.rgb.gif,
+	  gui/icons/grass/module-d.rhumbline.gif,
+	  gui/icons/grass/module-d.shadedmap.gif,
+	  gui/icons/grass/module-d.text.gif,
+	  gui/icons/grass/module-d.thematic.gif,
+	  gui/icons/grass/module-d.vect.chart.gif,
+	  gui/icons/grass/module-d.vect.thematic.gif,
+	  gui/icons/grass/module-db.gif, gui/icons/grass/module-g.gif,
+	  gui/icons/grass/module-nviz.gif, gui/icons/grass/module-r.gif,
+	  gui/icons/grass/module-r3.gif,
+	  gui/icons/grass/module-v.digit.gif, gui/icons/grass/module-v.gif,
+	  gui/icons/grass/module-xganim.gif,
+	  gui/icons/grass/status-error.gif,
+	  gui/icons/grass/status-failure.gif,
+	  gui/icons/grass/status-gism.gif,
+	  gui/icons/grass/status-message.gif,
+	  gui/icons/grass/status-out.gif,
+	  gui/icons/grass/status-running.gif,
+	  gui/icons/grass/status-success.gif,
+	  gui/icons/grass/status-warning.gif, gui/icons/grass_dialog.ico,
+	  gui/icons/grass_error.ico, gui/icons/grass_map.ico,
+	  gui/icons/grass_nviz.ico, gui/icons/grass_sql.ico,
+	  gui/icons/gui-cmd.gif, gui/icons/gui-display.gif,
+	  gui/icons/gui-erase.gif, gui/icons/gui-exit.gif,
+	  gui/icons/gui-ff.gif, gui/icons/gui-filesave.gif,
+	  gui/icons/gui-font.gif, gui/icons/gui-gcperase.gif,
+	  gui/icons/gui-gcpset.gif, gui/icons/gui-georect.gif,
+	  gui/icons/gui-group.gif, gui/icons/gui-help.gif,
+	  gui/icons/gui-layeroptions.gif, gui/icons/gui-loop.gif,
+	  gui/icons/gui-maplabels.gif, gui/icons/gui-maptext.gif,
+	  gui/icons/gui-mapzoom.gif, gui/icons/gui-measure.gif,
+	  gui/icons/gui-mouse.gif, gui/icons/gui-overlay.gif,
+	  gui/icons/gui-pan.gif, gui/icons/gui-play.gif,
+	  gui/icons/gui-pointer.gif, gui/icons/gui-profile.gif,
+	  gui/icons/gui-profiledefine.gif, gui/icons/gui-profiledraw.gif,
+	  gui/icons/gui-profileopt.gif, gui/icons/gui-query.gif,
+	  gui/icons/gui-rabbit.gif, gui/icons/gui-rastanalyze.gif,
+	  gui/icons/gui-rastarrowsdir.gif, gui/icons/gui-rastarrowsint.gif,
+	  gui/icons/gui-redraw.gif, gui/icons/gui-rewind.gif,
+	  gui/icons/gui-rms.gif, gui/icons/gui-rplay.gif,
+	  gui/icons/gui-rv.info.gif, gui/icons/gui-snail.gif,
+	  gui/icons/gui-startmon.gif, gui/icons/gui-stepb.gif,
+	  gui/icons/gui-stepf.gif, gui/icons/gui-stop.gif,
+	  gui/icons/gui-swing.gif, gui/icons/gui-zoom_back.gif,
+	  gui/icons/gui-zoom_current.gif, gui/icons/gui-zoom_default.gif,
+	  gui/icons/gui-zoom_in.gif, gui/icons/gui-zoom_map.gif,
+	  gui/icons/gui-zoom_out.gif, gui/icons/gui-zoom_region.gif,
+	  gui/icons/module-d.barscale.gif, gui/icons/module-d.chart.gif,
+	  gui/icons/module-d.frame.gif, gui/icons/module-d.geodesic.gif,
+	  gui/icons/module-d.gif, gui/icons/module-d.graph.gif,
+	  gui/icons/module-d.grid.gif, gui/icons/module-d.histogram.gif,
+	  gui/icons/module-d.labels.gif, gui/icons/module-d.legend.gif,
+	  gui/icons/module-d.nviz.gif, gui/icons/module-d.rast.arrow.gif,
+	  gui/icons/module-d.rast.num.gif, gui/icons/module-d.rgb.gif,
+	  gui/icons/module-d.rhumbline.gif,
+	  gui/icons/module-d.shadedmap.gif, gui/icons/module-d.text.gif,
+	  gui/icons/module-d.thematic.gif,
+	  gui/icons/module-d.vect.chart.gif,
+	  gui/icons/module-d.vect.thematic.gif, gui/icons/module-db.gif,
+	  gui/icons/module-g.gif, gui/icons/module-nviz.gif,
+	  gui/icons/module-r.gif, gui/icons/module-r3.gif,
+	  gui/icons/module-v.digit.gif, gui/icons/module-v.gif,
+	  gui/icons/module-xganim.gif, gui/icons/status-error.gif,
+	  gui/icons/status-failure.gif, gui/icons/status-gism.gif,
+	  gui/icons/status-message.gif, gui/icons/status-out.gif,
+	  gui/icons/status-running.gif, gui/icons/status-success.gif,
+	  gui/icons/status-warning.gif, gui/images, gui/images/Makefile,
+	  gui/images/gintro.gif, gui/tcltk/gis.m/description.html,
+	  gui/tcltk/gis.m/docs/gm_animate.html, gui/tcltk/gis.m/gm.tcl,
+	  gui/tcltk/gis.m/gm_profile.html, gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/wxgui.py,
+	  lib/init/Makefile, lib/init/gintro.gif, lib/init/gis_set.tcl,
+	  lib/init/grass.ico, lib/init/grass_dialog.ico,
+	  lib/init/grass_error.ico, lib/init/grass_map.ico,
+	  lib/init/grass_nviz.ico, lib/init/grass_sql.ico: original grass
+	  icons moved to gui/icons/grass
+	  silk icons copied to etc/gui/icons/silk and docs/html/icons/silk
+	  lib/init: ICO files moved to gui/icons, intro image to gui/images
+	  (merge from devbr6, r32741 and r32743)
+
+2008-08-13 16:47  martinl
+
+	* gui/wxpython/gui_modules/nviz.py, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/volume.cpp: wxGUI/nviz: volume-related updates
+	  backported from devbr6, r32739 and r32740
+
+2008-08-13 15:13  glynn
+
+	* lib/display/window.c: Don't call D_show_window()
+
+2008-08-13 09:13  mlennert
+
+	* display/d.thematic.area/main.c: slight improvements of the
+	  d.graph legend instruction file
+
+2008-08-13 08:24  glynn
+
+	* gem: Change svn:ignore property from gem6 to gem7
+
+2008-08-13 08:12  glynn
+
+	* lib/g3d/g3dregion.c: Allow empty mapset argument (to use search
+	  path)
+
+2008-08-13 07:08  glynn
+
+	* Makefile: Don't delete Grass.make or swig/python/Makefile (static
+	  files, not generated by configure)
+	  Don't delete winname.h (no longer exists)
+
+2008-08-13 07:05  glynn
+
+	* scripts/Makefile, scripts/d.monsize, scripts/d.mvmon,
+	  scripts/d.redraw, scripts/d.resize, scripts/d.slide.show,
+	  scripts/d.split: Remove scripts which depend upon monitors
+
+2008-08-13 06:54  glynn
+
+	* general/Makefile, imagery/Makefile, raster/Makefile: Don't try to
+	  build modules which won't compile
+
+2008-08-12 23:59  glynn
+
+	* lib/cairodriver/Graph.c, lib/cairodriver/Poly.c,
+	  lib/cairodriver/Text.c: Remember to mark surface modified after
+	  drawing
+
+2008-08-12 22:29  hamish
+
+	* doc/vector/TODO: typo (merge from devbr6)
+
+2008-08-12 21:03  martinl
+
+	* gui/wxpython/gui_modules/nviz.py, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/volume.cpp: wxGUI/nviz: volume updates: delete
+	  isosurface, dialog layout
+	  (merge from devbr6, r32727)
+
+2008-08-12 13:48  martinl
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/describe.c, db/base/drivers.c, db/base/execute.c,
+	  db/base/select.c, db/base/tables.c,
+	  gui/wxpython/gui_modules/menuform.py, include/gis.h,
+	  lib/gis/parser.c, scripts/db.dropcol/db.dropcol,
+	  scripts/db.droptable/db.droptable: gislib: GISPROMPT_DBTABLE
+	  defined, various prompt, keywords fixes, wxGUI updated
+	  (merge from devbr6, r32725)
+
+2008-08-12 12:57  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: fix db.droptable
+	  desc, update r32722
+	  (merge from devbr6, r32723)
+
+2008-08-12 11:36  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: fix trac #255, wxGUI:
+	  db.droptable button opens db.login
+	  (merge from devbr6, r32721)
+
+2008-08-12 10:12  glynn
+
+	* raster/r.his/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.support/check.c, raster/r.support/front.c,
+	  raster/r.support/histo.c, raster/r.support/local_proto.h: Don't
+	  use explicit mapsets unnecessarily
+
+2008-08-12 10:06  glynn
+
+	* lib/gis/opencell.c, lib/vector/Vlib/map.c: Fix handling of
+	  qualified map names
+
+2008-08-12 10:05  glynn
+
+	* general/manage/lib/find.c, visualization/xganim/main.c: Use
+	  G{NAME,PATH}_MAX
+
+2008-08-12 10:03  glynn
+
+	* include/gisdefs.h, raster/r.what.color/main.c: Remove redundant
+	  G_raster_map_type2()
+
+2008-08-12 09:53  neteler
+
+	* gem/Makefile: version boost to avoid conflicts
+
+2008-08-12 09:49  hamish
+
+	* lib/symbol/symbol/extra/n_arrow2: new symbol: north arrow with
+	  "N" (merge from devbr6)
+
+2008-08-12 09:39  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/nviz/nviz_types.i: wxGUI vdigit toolbar cosmetics,
+	  update r32684
+	  nviz minor updates
+	  (merge from devbr6, r32710)
+
+2008-08-12 04:30  glynn
+
+	* configure, configure.in, include/Make/Grass.make,
+	  include/Make/Grass.make.in, include/Make/Platform.make.in,
+	  include/winname.h.in, swig/python/Makefile,
+	  swig/python/Makefile.in: Reduce the number of files generated by
+	  configure
+	  Move GRASS_VERSION_* from Grass.make[.in] to Platform.make[.in]
+	  Make Grass.make and swig/python/Makefile static files, not
+	  generated by configure
+	  Remove include/winname.h.in (no longer needed)
+
+2008-08-12 04:25  glynn
+
+	* Makefile: locale doesn't need special handling
+
+2008-08-12 04:24  glynn
+
+	* locale/Makefile: locale isn't a module; don't include Module.make
+
+2008-08-12 04:24  glynn
+
+	* raster/r.out.png/pngfunc.h: Remove inclusion of <grass/version.h>
+	  (not used)
+
+2008-08-12 04:23  glynn
+
+	* raster/r.colors.out: Set svn:ignore property
+
+2008-08-12 03:36  hamish
+
+	* raster/r.cross/description.html,
+	  raster/r.slope.aspect/description.html: html fixes (merge from
+	  devbr6)
+
+2008-08-12 01:23  glynn
+
+	* raster/r.topmodel/global.h: Fix duplicate variable (introduced by
+	  r32675)
+
+2008-08-12 00:58  glynn
+
+	* raster/Makefile, raster/r.colors.out,
+	  raster/r.colors.out/Makefile, raster/r.colors.out/main.c: Add
+	  r.colors.out
+
+2008-08-12 00:11  glynn
+
+	* db/base/copy.c, display/d.barscale/main.c,
+	  display/d.erase/main.c, display/d.info/main.c,
+	  display/d.legend/main.c, display/d.linegraph/linegraph.c,
+	  display/d.text.new/main.c, display/d.thematic.area/main.c,
+	  display/d.vect/main.c, display/d.what.rast/main.c,
+	  display/d.what.vect/what.c, display/d.zoom/zoom.c,
+	  general/g.access/main.c, general/g.dirseps/main.c,
+	  general/g.mapset/main.c, general/g.message/main.c,
+	  general/g.setproj/main.c, general/g.transform/main.c,
+	  imagery/i.rectify/main.c, lib/db/dbmi_base/legal_dbname.c,
+	  lib/gis/get_cellhd.c, lib/gis/get_ellipse.c, lib/gis/parser.c,
+	  lib/gpde/N_parse_options.c, lib/proj/get_proj.c,
+	  ps/ps.map/main.c, raster/r.cats/main.c, raster/r.colors/main.c,
+	  raster/r.colors/rules.c, raster/r.compress/main.c,
+	  raster/r.describe/main.c, raster/r.digit/main.c,
+	  raster/r.grow.distance/main.c, raster/r.gwflow/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.xyz/main.c, raster/r.info/main.c,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.trace/main.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mps/mps.c, raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c, raster/r.null/null.c,
+	  raster/r.out.ascii/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.vrml/main.c, raster/r.out.vtk/parameters.c,
+	  raster/r.profile/main.c, raster/r.proj.seg/main.c,
+	  raster/r.proj/main.c, raster/r.reclass/main.c,
+	  raster/r.report/parse.c, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.sun/main.c, raster/r.sunmask/main.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.to.vect/main.c, raster/r.topidx/main.c,
+	  raster/r.transect/main.c, raster/r.univar2/r.univar_main.c,
+	  raster/r.univar2/r3.univar_main.c, raster/r.volume/main.c,
+	  raster/r.walk/main.c, raster/r.what/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/wildfire/r.ros/main.c,
+	  raster/wildfire/r.spread/main.c, raster3d/base/r3.info.main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.gwflow/main.c,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.buffer/main.c,
+	  vector/v.build/main.c, vector/v.db.connect/main.c,
+	  vector/v.digit/main.c, vector/v.distance/main.c,
+	  vector/v.edit/args.c, vector/v.external/main.c,
+	  vector/v.extract/main.c, vector/v.generalize/main.c,
+	  vector/v.hull/main.c, vector/v.in.ascii/in.c,
+	  vector/v.in.db/main.c, vector/v.in.ogr/main.c,
+	  vector/v.info/main.c, vector/v.kernel/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.salesman/main.c,
+	  vector/v.net/main.c, vector/v.out.ascii/out.c,
+	  vector/v.patch/main.c, vector/v.random/main.c,
+	  vector/v.reclass/main.c, vector/v.support/main.c,
+	  vector/v.surf.rst/main.c, vector/v.univar/main.c,
+	  vector/v.vol.rst/main.c, vector/v.what.rast/main.c,
+	  vector/v.what/what.c: Fix undesired line breaks in _(
+
+2008-08-12 00:06  glynn
+
+	* tools/grass_indent.sh: Fix more undesirable line breaks
+
+2008-08-11 23:55  glynn
+
+	* raster/r.le/r.le.setup/polytocell/Makefile: Use $(OBJDIR), remove
+	  private "clean" target
+
+2008-08-11 23:48  glynn
+
+	* vector/v.class: Set svn:ignore property
+
+2008-08-11 16:00  mlennert
+
+	* vector/Makefile: compile v.class by default
+
+2008-08-11 15:59  mlennert
+
+	* display/d.thematic.area/area.c, display/d.thematic.area/main.c,
+	  lib/arraystats/class.c, vector/v.class/main.c: fix small bugs in
+	  d.thematic.area and disable discont algorithm until we fix it
+
+2008-08-11 15:05  neteler
+
+	* contributors.csv: Laura Toma added
+
+2008-08-11 13:47  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: Fix trac #208,
+	  "Additional tools" menu dialog broken in digitizer
+	  (merge from devbr6, r32684)
+
+2008-08-11 11:48  neteler
+
+	* vector/v.distance/main.c, vector/v.to.db/report.c: conditionalize
+	  output to not confuse the user with useless messages
+
+2008-08-11 11:15  neteler
+
+	* tools/grass_indent.sh: also fix broken gettext macros
+
+2008-08-11 10:16  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: don't crash when gis
+	  element is selected repeatedly
+	  merge from devbr6, r32678
+
+2008-08-11 09:45  martinl
+
+	* display/d.vect/main.c, gui/wxpython/gui_modules/menuform.py: more
+	  standard options in d.vect, fix wx GUI menuform, update r32674
+	  merge from devbr6, r32676
+
+2008-08-11 09:29  glynn
+
+	* db/drivers/dbf/globals.h, db/drivers/dbf/main.c,
+	  db/drivers/dbf/main_debug.c, db/drivers/mysql/globals.h,
+	  db/drivers/mysql/main.c, db/drivers/odbc/globals.h,
+	  db/drivers/odbc/main.c, db/drivers/ogr/globals.h,
+	  db/drivers/ogr/main.c, db/drivers/postgres/globals.h,
+	  db/drivers/postgres/main.c, display/d.colors/externs.h,
+	  display/d.colors/set_sigs.c, display/d.histogram/dhist.h,
+	  display/d.histogram/main.c, display/d.histogram/options.h,
+	  display/d.measure/main.c, display/d.profile/main.c,
+	  display/d.profile/profile.h, display/d.rast.arrow/arrow.c,
+	  display/d.rast.num/number.c, display/d.rast/main.c,
+	  display/d.rast/mask.h, display/d.title/main.c,
+	  display/d.title/options.h, display/d.what.vect/main.c,
+	  display/d.what.vect/what.h, display/d.zoom/local_proto.h,
+	  display/d.zoom/main.c, general/g.mapsets/externs.h,
+	  general/g.mapsets/main_cmd.c, general/g.mapsets/main_inter.c,
+	  general/g.mkfontcap/local_proto.h, general/g.mkfontcap/main.c,
+	  general/g.proj/local_proto.h, general/g.proj/main.c,
+	  general/manage/cmd/copy.c, general/manage/cmd/list.c,
+	  general/manage/cmd/remove.c, general/manage/cmd/rename.c,
+	  general/manage/lib/read_list.c, general/manage/list.h,
+	  imagery/i.cca/main.c, imagery/i.class/globals.h,
+	  imagery/i.class/main.c, imagery/i.fft/fftmain.c,
+	  imagery/i.fft/globals.h, imagery/i.ifft/globals.h,
+	  imagery/i.ifft/ifftmain.c,
+	  imagery/i.ortho.photo/photo.camera/globals.h,
+	  imagery/i.ortho.photo/photo.camera/main.c,
+	  imagery/i.ortho.photo/photo.elev/main.c,
+	  imagery/i.ortho.photo/photo.init/globals.h,
+	  imagery/i.ortho.photo/photo.init/main.c, imagery/i.zc/main.c,
+	  include/sqlp.h, lib/db/sqlp/sql.c, lib/dspf/cell_table.c,
+	  lib/dspf/cell_table.h, lib/dspf/viz.h, lib/proj/get_proj.c,
+	  ps/ps.map/border.h, ps/ps.map/colortable.h, ps/ps.map/comment.h,
+	  ps/ps.map/decorate.h, ps/ps.map/group.h, ps/ps.map/header.h,
+	  ps/ps.map/labels.h, ps/ps.map/main.c, ps/ps.map/map_info.h,
+	  ps/ps.map/ps_info.h, ps/ps.map/vector.h, raster/r.cost/main.c,
+	  raster/r.cost/stash.h, raster/r.digit/main.c,
+	  raster/r.drain/tinf.c, raster/r.drain/tinf.h,
+	  raster/r.fill.dir/tinf.c, raster/r.fill.dir/tinf.h,
+	  raster/r.flow/calc.c, raster/r.flow/mem.h,
+	  raster/r.flow/r.flow.h, raster/r.in.gridatb/file_io.c,
+	  raster/r.in.gridatb/local_proto.h, raster/r.in.gridatb/main.c,
+	  raster/r.le/r.le.patch/main.c, raster/r.le/r.le.patch/patch.h,
+	  raster/r.los/cmd_line.h, raster/r.los/main.c,
+	  raster/r.mfilter/glob.h, raster/r.mfilter/main.c,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c,
+	  raster/r.out.vtk/globaldefs.h, raster/r.out.vtk/main.c,
+	  raster/r.out.vtk/parameters.h, raster/r.param.scale/main.c,
+	  raster/r.param.scale/param.h, raster/r.random.cells/gasdev.c,
+	  raster/r.random.cells/indep.c, raster/r.random.cells/init.c,
+	  raster/r.random.cells/main.c, raster/r.random.cells/random.c,
+	  raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/calcsd.c,
+	  raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/cpfilter.c, raster/r.random.surface/dd.c,
+	  raster/r.random.surface/decay.c,
+	  raster/r.random.surface/digits.c,
+	  raster/r.random.surface/gasdev.c,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/init.c, raster/r.random.surface/main.c,
+	  raster/r.random.surface/makebigf.c,
+	  raster/r.random.surface/makepp.c,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c, raster/r.random.surface/zero.c,
+	  raster/r.recode/global.h, raster/r.recode/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.statistics/main.c,
+	  raster/r.statistics/method.h, raster/r.sunmask/global.h,
+	  raster/r.sunmask/main.c, raster/r.surf.contour/contour.h,
+	  raster/r.surf.contour/main.c, raster/r.surf.fractal/frac.h,
+	  raster/r.surf.fractal/main.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw/main.h, raster/r.to.vect/global.h,
+	  raster/r.to.vect/main.c, raster/r.topidx/global.h,
+	  raster/r.topidx/main.c, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/global.h, raster/r.topmodel/main.c,
+	  raster/r.topmodel/misc.c, raster/r.univar2/globals.h,
+	  raster/r.univar2/r.univar_main.c,
+	  raster/r.univar2/r3.univar_main.c, raster/r.walk/main.c,
+	  raster/r.walk/stash.h, raster/r.water.outlet/basin.h,
+	  raster/r.water.outlet/main.c, raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/main.c, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/main.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster/wildfire/r.spreadpath/stash.h,
+	  raster3d/r3.mkdspf/iso_surface.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/vizual.h, raster3d/r3.out.vtk/globalDefs.h,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.out.vtk/parameters.h,
+	  raster3d/r3.showdspf/cell_table.h,
+	  raster3d/r3.showdspf/kns_globals.h,
+	  raster3d/r3.showdspf/main_ogl.c, raster3d/r3.showdspf/togif.c,
+	  raster3d/r3.showdspf/vizual.h, raster3d/r3.showdspf/vizual2.h,
+	  vector/v.build.polylines/global.h,
+	  vector/v.build.polylines/main.c, vector/v.digit/global.h,
+	  vector/v.digit/main.c, vector/v.in.dwg/global.h,
+	  vector/v.in.dwg/main.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/main.c, vector/v.in.ogr/global.h,
+	  vector/v.in.ogr/main.c, vector/v.out.dxf/global.h,
+	  vector/v.out.dxf/main.c, vector/v.out.vtk/local_proto.h,
+	  vector/v.out.vtk/main.c, vector/v.to.db/global.h,
+	  vector/v.to.db/main.c, vector/v.transform/main.c,
+	  vector/v.transform/trans.h, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/userglobs.h, vector/v.voronoi/defs.h,
+	  vector/v.voronoi/dt_main.c, vector/v.voronoi/sw_defs.h,
+	  vector/v.voronoi/sw_main.c, vector/v.voronoi/vo_main.c,
+	  visualization/nviz/src/draw.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/mkdspf_main.c,
+	  visualization/nviz/src/viz.h, visualization/xganim/local_proto.h,
+	  visualization/xganim/main.c: Eliminate preprocessor abuse
+
+2008-08-11 09:18  martinl
+
+	* display/d.vect/main.c, gui/wxpython/gui_modules/menuform.py,
+	  include/gis.h, lib/gis/parser.c: gislib: new GISPROMPT_DBCOLUMN,
+	  used in wxGUI menuform module
+	  standardize column parameter in d.vect
+	  (merge from devbr6, r32673)
+
+2008-08-11 00:06  glynn
+
+	* lib/cairodriver/Text.c, lib/cairodriver/cairodriver.h,
+	  lib/driver/Font.c, lib/driver/driverlib.h: Add support for
+	  FreeType/FontConfig fonts to cairo driver
+
+2008-08-10 20:11  cdavilam
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po, locale/po/grasswxpy_es.po: Spanish po
+	  files updated and translation continued
+
+2008-08-10 14:09  martinl
+
+	* lib/iostream/ami_stream.cc: iostreamlib: add missing cstring
+	  header (merge from devbr6, r32668)
+
+2008-08-10 12:47  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: some v.build-related
+	  fixes in goutput module
+	  (merge from devbr6, r32665)
+
+2008-08-10 12:44  martinl
+
+	* gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: check all mapsets
+	  in search patch when given layer name is not qualified
+	  (merge from devbr6, r32663)
+
+2008-08-10 09:37  glynn
+
+	* display/d.font/main.c, display/d.text.new/main.c,
+	  display/d.vect/attr.c, display/d.vect/label.c,
+	  display/d.vect/topo.c, display/d.vect/zcoor.c, include/raster.h,
+	  lib/cairodriver/Driver.c, lib/cairodriver/Graph.c,
+	  lib/cairodriver/Poly.c, lib/cairodriver/Respond.c,
+	  lib/cairodriver/Text.c, lib/cairodriver/cairodriver.h,
+	  lib/cairodriver/read.c, lib/cairodriver/read_bmp.c,
+	  lib/cairodriver/read_ppm.c, lib/cairodriver/write.c,
+	  lib/cairodriver/write_bmp.c, lib/cairodriver/write_ppm.c,
+	  lib/driver/Font.c, lib/driver/Get_t_box.c,
+	  lib/driver/Text_size.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/font_freetype.c,
+	  lib/driver/init.c, lib/driver/text3.c, lib/htmldriver/Driver.c,
+	  lib/pngdriver/Driver.c, lib/psdriver/Driver.c,
+	  lib/raster/raster.c: Allow drivers to override font and text
+	  operations
+	  Add native text rendering to cairo driver
+	  Rename R_charset() to R_encoding()
+	  Change default driver to cairo
+	  Change cairo environment variables to GRASS_PNG*
+	  Add cairo_ prefix to image read/write functions to prevent
+	  conflict with PNG driver
+	  Add Polydots method to cairo driver
+
+2008-08-10 02:53  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c: Delay
+	  initialisation of expr_data_func.argv until initialize_function()
+
+2008-08-10 01:01  glynn
+
+	* display/d.thematic.area/main.c: Change default render= option to
+	  'l' (culling)
+
+2008-08-10 01:00  glynn
+
+	* lib/display/draw2.c: Update point count from return value of
+	  do_convert
+
+2008-08-09 21:34  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/nviz/draw.cpp, gui/wxpython/nviz/init.cpp,
+	  gui/wxpython/nviz/load.cpp, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/nviz_types.i, gui/wxpython/nviz/surface.cpp,
+	  gui/wxpython/nviz/volume.cpp, include/nviz.h,
+	  include/ogsf_proto.h, lib/nviz/draw.c, lib/nviz/map_obj.c,
+	  lib/ogsf/GVL2.c, lib/ogsf/gvld.c, visualization/nviz2/cmd/main.c:
+	  wxGUI/nviz: improvements in 3d raster data visualization
+	  (isosurface mode), some ogsflib doxygen updates
+	  (merge from devbr6, r32657)
+
+2008-08-09 13:21  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/nviz/load.cpp, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/scripts/d.rast3d: wxGUI/nviz: volume support in
+	  progress, cosmetics in preferences dialog
+	  fix preferences - OnDefault
+	  (merge from devbr6, r32653 and r32654)
+
+2008-08-09 09:57  martinl
+
+	* lib/ogsf/GVL2.c, lib/ogsf/gvl.c, lib/ogsf/gvl_calc.c,
+	  visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c, visualization/nviz2/cmd/vector.c,
+	  visualization/nviz2/cmd/volume.c: nviz2/cli: volume support in
+	  progress (fundamental attributes: topo, color)
+	  some doxygen/debug messages in ogsflib
+	  (merge devbr6, r32651)
+
+2008-08-09 07:05  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.colortable/main.c, display/d.extract/extract.c,
+	  display/d.geodesic/plot.c, display/d.graph/allocation.c,
+	  display/d.graph/do_graph.c, display/d.graph/local_proto.h,
+	  display/d.graph/main.c, display/d.graph/options.h,
+	  display/d.grid/plot.c, display/d.grid/plotborder.c,
+	  display/d.his/main.c, display/d.histogram/bar.c,
+	  display/d.histogram/draw_slice.c, display/d.histogram/main.c,
+	  display/d.histogram/pie.c, display/d.info/main.c,
+	  display/d.labels/do_labels.c, display/d.labels/main.c,
+	  display/d.legend/main.c, display/d.linegraph/linegraph.c,
+	  display/d.path/main.c, display/d.path/select.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.num/number.c,
+	  display/d.rast/display.c, display/d.rgb/main.c,
+	  display/d.rhumbline/plot.c, display/d.text.new/main.c,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot.h,
+	  display/d.thematic.area/plot1.c, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/main.c, display/d.vect.chart/pie.c,
+	  display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/main.c,
+	  display/d.vect/plot.h, display/d.vect/plot1.c,
+	  display/d.vect/topo.c, display/d.vect/zcoor.c,
+	  display/d.what.vect/flash.c, imagery/i.class/graphics.c,
+	  imagery/i.ortho.photo/photo.2image/dot.c,
+	  imagery/i.ortho.photo/photo.2image/graphics.c,
+	  imagery/i.ortho.photo/photo.2target/dot.c,
+	  imagery/i.ortho.photo/photo.2target/graphics.c,
+	  imagery/i.points/dot.c, imagery/i.points/graphics.c,
+	  imagery/i.vpoints/dot.c, imagery/i.vpoints/graphics.c,
+	  imagery/i.vpoints/plot.c, imagery/i.vpoints/setup.c,
+	  include/display.h, include/gisdefs.h, include/raster.h,
+	  lib/cairodriver/Box.c, lib/cairodriver/Draw_line.c,
+	  lib/cairodriver/Draw_point.c, lib/cairodriver/Graph.c,
+	  lib/cairodriver/Line_width.c, lib/cairodriver/Poly.c,
+	  lib/cairodriver/Raster.c, lib/cairodriver/Set_window.c,
+	  lib/cairodriver/cairodriver.h, lib/display/cnversions.c,
+	  lib/display/draw.c, lib/display/draw2.c, lib/display/icon.c,
+	  lib/display/raster.c, lib/display/setup.c, lib/display/symbol.c,
+	  lib/display/window.c, lib/driver/Box.c, lib/driver/Cont.c,
+	  lib/driver/Draw.c, lib/driver/Erase.c, lib/driver/Get_t_box.c,
+	  lib/driver/Graph.c, lib/driver/Line_width.c, lib/driver/Move.c,
+	  lib/driver/Polydots.c, lib/driver/Polygon.c,
+	  lib/driver/Polyline.c, lib/driver/Raster.c, lib/driver/Returns.c,
+	  lib/driver/Set_window.c, lib/driver/Text_size.c,
+	  lib/driver/driver.h, lib/driver/driverlib.h, lib/driver/init.c,
+	  lib/driver/text2.c, lib/driver/text3.c, lib/gis/icon.c,
+	  lib/htmldriver/Graph_Clse.c, lib/htmldriver/Graph_Set.c,
+	  lib/htmldriver/Polygon.c, lib/htmldriver/htmlmap.h,
+	  lib/pngdriver/Box.c, lib/pngdriver/Draw_line.c,
+	  lib/pngdriver/Draw_point.c, lib/pngdriver/Graph_set.c,
+	  lib/pngdriver/Line_width.c, lib/pngdriver/Raster.c,
+	  lib/pngdriver/Set_window.c, lib/pngdriver/pngdriver.h,
+	  lib/psdriver/Box.c, lib/psdriver/Draw_line.c,
+	  lib/psdriver/Draw_point.c, lib/psdriver/Graph_set.c,
+	  lib/psdriver/Line_width.c, lib/psdriver/Polygon.c,
+	  lib/psdriver/Polyline.c, lib/psdriver/Raster.c,
+	  lib/psdriver/Set_window.c, lib/psdriver/psdriver.h,
+	  lib/raster/raster.c, raster/wildfire/r.spread/display.c,
+	  vector/v.digit/display.c, vector/v.digit/driver.c,
+	  vector/v.digit/proto.h: Display architecture update, part 1
+	  Use floating-point coordinates
+	  Avoid using G_plot_* for display
+	  Drivers don't need argc/argv
+	  Miscellaneous clean-up
+
+2008-08-08 23:10  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/wxgui.py: wxGUI:
+	  vdigit - settings cosmetics, don't crash when all features are
+	  disabled
+	  overwrite checkbox removed from NewVectorDialog? (there is
+	  already this option in GUI preferences)
+	  some cosmetics in goutput module, print data/time instead thread
+	  number
+	  (merge from devbr6, r32647)
+
+2008-08-08 23:02  glynn
+
+	* lib/cairodriver/Box.c, lib/cairodriver/Client.c,
+	  lib/cairodriver/Driver.c, lib/cairodriver/Poly.c,
+	  lib/cairodriver/cairodriver.h, lib/driver/Box.c,
+	  lib/driver/Client.c, lib/driver/Polydots.c, lib/driver/Polygon.c,
+	  lib/driver/Polyline.c, lib/driver/driver.h,
+	  lib/htmldriver/Driver.c, lib/htmldriver/Polygn_abs.c,
+	  lib/htmldriver/Polygon.c, lib/htmldriver/htmlmap.h,
+	  lib/pngdriver/Box.c, lib/pngdriver/Client.c,
+	  lib/pngdriver/Driver.c, lib/pngdriver/Makefile,
+	  lib/pngdriver/pngdriver.h, lib/psdriver/Box.c,
+	  lib/psdriver/Client.c, lib/psdriver/Driver.c,
+	  lib/psdriver/Polygon.c, lib/psdriver/Polyline.c,
+	  lib/psdriver/psdriver.h, lib/raster/raster.c: Remove
+	  Client_{Open,Close} methods
+	  Remove *_rel methods, remove _abs suffix from *_abs methods
+
+2008-08-08 14:25  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/select.cpp: wxGUI/vdigit: optionally select
+	  only features inside of selection bounding box (by default are
+	  selected all features overlapping bounding box)
+	  * settings dialog layout cosmetics
+	  (merge from devbr6, r32645)
+
+2008-08-08 12:59  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: fix copy
+	  features in edited vector map (merge from devbr6, r32642)
+
+2008-08-08 12:46  martinl
+
+	* lib/vector/vedit/break.c: veditlib: bugfix in connect_lines()
+	  (variable typo)
+	  [merge from devbr6, r32640]
+
+2008-08-08 12:24  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: close settings
+	  dialog properly (merge from trunk, r32638)
+
+2008-08-08 09:18  martinl
+
+	* lib/db/dbmi_client/c_drop_col.c, lib/db/dbmi_client/c_execute.c,
+	  lib/db/dbmi_client/c_list_tabs.c,
+	  lib/db/dbmi_client/c_openupdate.c, lib/db/dbmi_client/c_priv.c,
+	  lib/db/dbmi_driver/d_add_col.c,
+	  lib/db/dbmi_driver/d_begin_work.x,
+	  lib/db/dbmi_driver/d_bindupdate.c,
+	  lib/db/dbmi_driver/d_close_cur.c, lib/db/dbmi_driver/d_closedb.c,
+	  lib/db/dbmi_driver/d_create_idx.c,
+	  lib/db/dbmi_driver/d_create_tab.c,
+	  lib/db/dbmi_driver/d_createdb.c, lib/db/dbmi_driver/d_delete.c,
+	  lib/db/dbmi_driver/d_deletedb.c,
+	  lib/db/dbmi_driver/d_desc_table.c,
+	  lib/db/dbmi_driver/d_drop_col.c,
+	  lib/db/dbmi_driver/d_drop_index.c,
+	  lib/db/dbmi_driver/d_drop_tab.c, lib/db/dbmi_driver/d_execute.c,
+	  lib/db/dbmi_driver/d_fetch.c, lib/db/dbmi_driver/d_finddb.c,
+	  lib/db/dbmi_driver/d_insert.c, lib/db/dbmi_driver/d_list_idx.c,
+	  lib/db/dbmi_driver/d_list_tabs.c, lib/db/dbmi_driver/d_listdb.c,
+	  lib/db/dbmi_driver/d_mkdir.c, lib/db/dbmi_driver/d_opendb.c,
+	  lib/db/dbmi_driver/d_openinsert.c,
+	  lib/db/dbmi_driver/d_openselect.c,
+	  lib/db/dbmi_driver/d_openupdate.c, lib/db/dbmi_driver/d_priv.c,
+	  lib/db/dbmi_driver/d_rows.c, lib/db/dbmi_driver/d_update.c,
+	  lib/db/dbmi_driver/d_version.c, lib/db/dbmi_driver/driver.c,
+	  lib/db/dbmi_driver/driver_state.c, lib/db/dbmilib.dox: dbmilib:
+	  initial doxygenization of dbmi_driver (merge from devbr6, r32636)
+
+2008-08-08 05:31  glynn
+
+	* db/base/execute.c, display/d.rast.arrow/arrow.c,
+	  display/d.thematic.area/main.c, display/d.vect/main.c,
+	  general/g.parser/main.c, general/manage/cmd/list.c,
+	  general/manage/lib/ask.c, general/manage/lib/read_list.c,
+	  general/manage/list.h, gui/wxpython/vdigit/line.cpp,
+	  imagery/i.gensig/get_train.c, imagery/i.pca/support.c,
+	  include/gisdefs.h, lib/display/tran_colr.c, lib/gis/area.c,
+	  lib/gis/bres_line.c, lib/gis/cats.c, lib/gis/cell_stats.c,
+	  lib/gis/color_look.c, lib/gis/color_str.c, lib/gis/geodesic.c,
+	  lib/gis/get_ellipse.c, lib/gis/init_map.c, lib/gis/plot.c,
+	  lib/gis/squeeze.c, lib/gis/store.c, lib/gis/strings.c,
+	  lib/gis/unix_socks.c, lib/ogsf/GVL2.c, lib/proj/convert.c,
+	  lib/proj/ellipse.c, lib/sites/sites.c, ps/ps.map/main.c,
+	  ps/ps.map/r_text.c, ps/ps.map/r_vlines.c, ps/ps.map/r_vpoints.c,
+	  ps/ps.map/scale.c, raster/r.in.ascii/gethead.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/input.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.pixel/input.c,
+	  raster/r.le/r.le.trace/user_input.c, raster/r.out.bin/main.c,
+	  raster/r.surf.fractal/write_rast.c,
+	  raster/r.watershed/shed/com_line.c, sites/s.in.ascii,
+	  sites/s.in.ascii/get_site.c, sites/s.in.ascii/main.c,
+	  sites/s.out.ascii, vector/v.in.ogr/main.c,
+	  vector/v.label.sa/labels.c, vector/v.out.svg/main.c,
+	  vector/v.transform/main.c: Remove socket code
+	  Remove redundant string functions
+	  Move G_squeeze, G_store to lib/gis/strings.c
+	  Remove G_strdup(); use G_store() instead
+	  Remove "register" qualifier
+	  Remove ask_* functions from libgrass_manage
+
+2008-08-08 04:35  glynn
+
+	* lib/gis/color_read.c, lib/gis/open.c, lib/gis/open_misc.c: Fix
+	  handling of qualified map names
+
+2008-08-08 00:48  glynn
+
+	* display/Makefile, display/d.where/b_w_line.c,
+	  display/d.where/local_proto.h, display/d.where/main.c,
+	  display/d.where/where.c: Cannibalize d.where
+
+2008-08-07 23:04  glynn
+
+	* scripts/Makefile: d.out.file has been removed
+
+2008-08-07 22:02  glynn
+
+	* raster/r.support/front.c: Add options to save/load history
+
+2008-08-07 21:27  glynn
+
+	* raster/r.support/Makefile, raster/r.support/check.c,
+	  raster/r.support/description.html, raster/r.support/front,
+	  raster/r.support/front.c, raster/r.support/histo.c,
+	  raster/r.support/local_proto.h, raster/r.support/modcats,
+	  raster/r.support/modcolr, raster/r.support/modhead,
+	  raster/r.support/modhist: Remove terminal-interactive sub-modules
+	  Replace yes/no questions with flags
+
+2008-08-07 21:26  glynn
+
+	* include/gisdefs.h, lib/gis/cats.c: Use "const" where appropriate
+
+2008-08-07 21:13  pkelly
+
+	* include/iostream/ami.h, include/iostream/ami_config.h,
+	  include/iostream/ami_sort.h, include/iostream/ami_sort_impl.h,
+	  include/iostream/ami_stream.h, include/iostream/embuffer.h,
+	  include/iostream/empq.h, include/iostream/empq_adaptive.h,
+	  include/iostream/empq_adaptive_impl.h,
+	  include/iostream/empq_impl.h, include/iostream/imbuffer.h,
+	  include/iostream/mem_stream.h, include/iostream/minmaxheap.h,
+	  include/iostream/mm.h, include/iostream/mm_utils.h,
+	  include/iostream/pqheap.h, include/iostream/queue.h,
+	  include/iostream/quicksort.h, include/iostream/replacementHeap.h,
+	  include/iostream/replacementHeapBlock.h,
+	  include/iostream/rtimer.h, lib/iostream/ami_stream.cc,
+	  lib/iostream/mm.cc, lib/iostream/mm_utils.cc,
+	  lib/iostream/rtimer.cc: Updates to iostream library from Laura
+	  Toma.
+
+2008-08-07 18:53  neteler
+
+	* lib/db/dbmi_client/c_add_col.c,
+	  lib/db/dbmi_client/c_bindupdate.c,
+	  lib/db/dbmi_client/c_close_cur.c, lib/db/dbmi_client/c_closedb.c,
+	  lib/db/dbmi_client/c_create_idx.c,
+	  lib/db/dbmi_client/c_create_tab.c,
+	  lib/db/dbmi_client/c_createdb.c, lib/db/dbmi_client/c_delete.c,
+	  lib/db/dbmi_client/c_deletedb.c,
+	  lib/db/dbmi_client/c_desc_table.c,
+	  lib/db/dbmi_client/c_drop_col.c,
+	  lib/db/dbmi_client/c_drop_index.c,
+	  lib/db/dbmi_client/c_drop_tab.c, lib/db/dbmi_client/c_execute.c,
+	  lib/db/dbmi_client/c_fetch.c, lib/db/dbmi_client/c_finddb.c,
+	  lib/db/dbmi_client/c_insert.c,
+	  lib/db/dbmi_client/c_list_drivers.c,
+	  lib/db/dbmi_client/c_list_idx.c,
+	  lib/db/dbmi_client/c_list_tabs.c, lib/db/dbmi_client/c_listdb.c,
+	  lib/db/dbmi_client/c_opendb.c, lib/db/dbmi_client/c_openinsert.c,
+	  lib/db/dbmi_client/c_openselect.c,
+	  lib/db/dbmi_client/c_openupdate.c, lib/db/dbmi_client/c_priv.c,
+	  lib/db/dbmi_client/c_rows.c, lib/db/dbmi_client/c_update.c,
+	  lib/db/dbmi_client/c_version.c, lib/db/dbmi_client/column.c,
+	  lib/db/dbmi_client/copy_tab.c, lib/db/dbmi_client/db.c,
+	  lib/db/dbmi_client/delete_tab.c, lib/db/dbmi_client/printtab.c,
+	  lib/db/dbmi_client/select.c, lib/db/dbmi_client/shutdown.c,
+	  lib/db/dbmi_client/start.c, lib/db/dbmi_client/table.c: added
+	  original author
+
+2008-08-07 18:08  martinl
+
+	* lib/db/dbmi_client/c_add_col.c,
+	  lib/db/dbmi_client/c_bindupdate.c,
+	  lib/db/dbmi_client/c_close_cur.c, lib/db/dbmi_client/c_closedb.c,
+	  lib/db/dbmi_client/c_create_idx.c,
+	  lib/db/dbmi_client/c_create_tab.c,
+	  lib/db/dbmi_client/c_createdb.c, lib/db/dbmi_client/c_delete.c,
+	  lib/db/dbmi_client/c_deletedb.c,
+	  lib/db/dbmi_client/c_desc_table.c,
+	  lib/db/dbmi_client/c_drop_col.c,
+	  lib/db/dbmi_client/c_drop_index.c,
+	  lib/db/dbmi_client/c_drop_tab.c, lib/db/dbmi_client/c_execute.c,
+	  lib/db/dbmi_client/c_fetch.c, lib/db/dbmi_client/c_finddb.c,
+	  lib/db/dbmi_client/c_insert.c,
+	  lib/db/dbmi_client/c_list_drivers.c,
+	  lib/db/dbmi_client/c_list_idx.c,
+	  lib/db/dbmi_client/c_list_tabs.c, lib/db/dbmi_client/c_listdb.c,
+	  lib/db/dbmi_client/c_opendb.c, lib/db/dbmi_client/c_openinsert.c,
+	  lib/db/dbmi_client/c_openselect.c,
+	  lib/db/dbmi_client/c_openupdate.c, lib/db/dbmi_client/c_priv.c,
+	  lib/db/dbmi_client/c_rows.c, lib/db/dbmi_client/c_update.c,
+	  lib/db/dbmi_client/c_version.c, lib/db/dbmi_client/column.c,
+	  lib/db/dbmi_client/copy_tab.c, lib/db/dbmi_client/db.c,
+	  lib/db/dbmi_client/delete_tab.c, lib/db/dbmi_client/printtab.c,
+	  lib/db/dbmi_client/select.c, lib/db/dbmi_client/shutdown.c,
+	  lib/db/dbmi_client/start.c, lib/db/dbmi_client/table.c,
+	  lib/db/dbmilib.dox: db/dbmi_client: initial doxygenization,
+	  message standardization, update dbmilib doxygen page
+	  (merge from devbr6, r32620 and r32621)
+
+2008-08-07 16:04  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: layout cosmetics
+	  (merge from devbr6, r32616)
+
+2008-08-07 15:55  martinl
+
+	* include/nviz.h, lib/nviz/draw.c, lib/nviz/map_obj.c,
+	  lib/nviz/nvizlib.dox, visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/surface.c,
+	  visualization/nviz2/cmd/vector.c,
+	  visualization/nviz2/cmd/volume.c,
+	  visualization/nviz2/cmd/write_img.c: nviz2: initial steps towards
+	  3d raster data (volumes) support (merge from devbr6, r32614)
+
+2008-08-07 14:53  martinl
+
+	* lib/ogsf/GS2.c, lib/ogsf/GVL2.c, lib/ogsf/gp.c, lib/ogsf/gs.c,
+	  lib/ogsf/gs_bm.c, lib/ogsf/gs_norms.c, lib/ogsf/gsd_surf.c,
+	  lib/ogsf/gsdrape.c, lib/ogsf/gv.c, lib/ogsf/gvd.c,
+	  lib/ogsf/gvl.c, lib/ogsf/gvl_calc.c, lib/ogsf/gvl_file.c,
+	  lib/ogsf/gvld.c: ogsflib: minor fixes in debug messages /
+	  initialization of geosurf and geovol structures (merge from
+	  devbr6, r32613)
+
+2008-08-07 11:29  martinl
+
+	* SUBMITTING, gui/wxpython/xml/grass-gxw.dtd,
+	  gui/xml/grass-interface.dtd: don't use mime-type application
+	  prefix for text files
+
+2008-08-07 10:47  martinl
+
+	* lib/gis/get_cellhd.c, lib/gis/open.c, lib/gis/opencell.c: gislib:
+	  doxygen clean-up (open*.c files)
+	  message standardization
+	  (merge from devbr6, r32609)
+
+2008-08-07 07:47  glynn
+
+	* raster/r.profile/read_rast.c: Fix r.profile memory leak,
+	  optimise, simplify
+
+2008-08-07 07:28  glynn
+
+	* display/Makefile, display/d.fontlist,
+	  display/d.fontlist/Makefile, display/d.fontlist/description.html,
+	  display/d.fontlist/main.c: Add d.fontlist
+
+2008-08-07 06:13  glynn
+
+	* display/Makefile: Re-enable d.font (d.font -l/-L is still useful)
+
+2008-08-07 04:27  glynn
+
+	* scripts/d.out.file: Remove d.out.file; it isn't meaningful
+	  without standalone monitors
+
+2008-08-07 03:27  glynn
+
+	* lib/edit, lib/vask: Remove empty lib/edit and lib/vask
+	  directories
+
+2008-08-07 03:25  glynn
+
+	* lib/raster/raster.c: Execute $GRASS_NOTIFY (if set) when a d.*
+	  program completes
+
+2008-08-07 03:23  glynn
+
+	* visualization/Makefile, visualization/ximgview,
+	  visualization/ximgview/main.c: Build ximgview if USE_X11
+	  Allow wake-up via SIGUSR1
+
+2008-08-07 03:22  glynn
+
+	* display/d.info/main.c, include/raster.h, lib/raster/raster.c:
+	  Remove R__open_quiet, R_stabilize
+	  Change R_get_num_colors prototype to match
+	  R_screen_{left,rite,bot,top}
+
+2008-08-07 03:18  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.geodesic/plot.c,
+	  display/d.measure/draw_line.c, display/d.measure/msurements.c,
+	  display/d.profile/PlotProfile.c, display/d.profile/What.c,
+	  display/d.profile/bnw_line.c, display/d.profile/main.c,
+	  display/d.rhumbline/plot.c, display/d.where/b_w_line.c: Replace
+	  R_stabilize() with R_flush()
+
+2008-08-07 02:02  glynn
+
+	* raster/r.colors/main.c: Fix bugs in previous commit
+
+2008-08-07 02:01  glynn
+
+	* lib/display/window.c: Set frame to full-screen by default
+
+2008-08-07 01:51  glynn
+
+	* lib/Makefile, lib/cairodriver/Makefile, lib/raster/Makefile,
+	  lib/raster/raster.c: Add cairo option to libraster
+
+2008-08-07 01:29  glynn
+
+	* raster/r.colors/main.c: Remove -i flag, use rules=- to read rules
+	  from stdin
+
+2008-08-06 22:10  neteler
+
+	* doc/vector/v.example/main.c, general/g.access/main.c,
+	  general/g.findfile/main.c, general/g.mapset/main.c,
+	  general/g.proj/main.c, general/g.proj/output.c,
+	  general/g.region/main.c, general/g.region/printwindow.c,
+	  general/g.setproj/main.c, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c, ps/ps.map/do_geogrid.c,
+	  ps/ps.map/do_labels.c, ps/ps.map/main.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/ps_vareas.c, ps/ps.map/ps_vlines.c,
+	  ps/ps.map/ps_vpoints.c, ps/ps.map/r_vpoints.c,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz2/cmd/args.c, visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/surface.c: fixed unlucky formatted
+	  messages (thanks to Glynn)
+
+2008-08-06 22:09  neteler
+
+	* display/d.barscale/main.c, display/d.extract/extract.c,
+	  display/d.font/main.c, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.labels/main.c,
+	  display/d.legend/main.c, display/d.linegraph/linegraph.c,
+	  display/d.nviz/main.c, display/d.path/main.c,
+	  display/d.profile/main.c, display/d.rast.arrow/arrow.c,
+	  display/d.rast/main.c, display/d.thematic.area/main.c,
+	  display/d.thematic.area/plot1.c, display/d.vect/area.c,
+	  display/d.vect/plot1.c, display/d.where/main.c: fixed unlucky
+	  formatted messages (thanks to Glynn)
+
+2008-08-06 22:08  neteler
+
+	* db/base/copy.c, db/drivers/ogr/describe.c,
+	  db/drivers/postgres/describe.c, db/drivers/postgres/parse.c,
+	  db/drivers/sqlite/describe.c: fixed unlucky formatted messages
+	  (thanks to Glynn)
+
+2008-08-06 22:07  neteler
+
+	* imagery/i.cca/main.c, imagery/i.class/add_point.c,
+	  imagery/i.class/complete_reg.c, imagery/i.class/readbands.c,
+	  imagery/i.class/signature.c, imagery/i.cluster/checkpt.c,
+	  imagery/i.cluster/main.c, imagery/i.fft/fftmain.c,
+	  imagery/i.gensig/get_train.c, imagery/i.gensig/openfiles.c,
+	  imagery/i.group/main.c, imagery/i.ifft/ifftmain.c,
+	  imagery/i.ifft/orig_wind.c, imagery/i.maxlik/invert.c,
+	  imagery/i.maxlik/open.c,
+	  imagery/i.ortho.photo/photo.rectify/write.c,
+	  imagery/i.pca/main.c, imagery/i.rectify/main.c,
+	  imagery/i.smap/bouman/model.c,
+	  imagery/i.smap/shapiro/openfiles.c,
+	  imagery/i.smap/shapiro/read_sig.c, imagery/i.zc/main.c: fixed
+	  unlucky formatted messages (thanks to Glynn)
+
+2008-08-06 22:06  neteler
+
+	* raster3d/base/r3.mask.main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.stats/main.c, raster3d/r3.to.rast/main.c: fixed
+	  unlucky formatted messages (thanks to Glynn)
+
+2008-08-06 22:06  neteler
+
+	* vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.buffer/main.c,
+	  vector/v.build/main.c, vector/v.category/main.c,
+	  vector/v.class/main.c, vector/v.clean/main.c,
+	  vector/v.clean/prune.c, vector/v.convert/att.c,
+	  vector/v.convert/old2new.c, vector/v.db.connect/main.c,
+	  vector/v.digit/main.c, vector/v.distance/main.c,
+	  vector/v.drape/main.c, vector/v.edit/a2b.c, vector/v.edit/main.c,
+	  vector/v.generalize/main.c, vector/v.hull/main.c,
+	  vector/v.in.ascii/a2b.c, vector/v.in.ascii/in.c,
+	  vector/v.in.ascii/points.c, vector/v.in.db/main.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/main.c,
+	  vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c,
+	  vector/v.in.sites/main.c, vector/v.info/main.c,
+	  vector/v.kcv/main.c, vector/v.kernel/main.c,
+	  vector/v.label.sa/font.c, vector/v.label/main.c,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c, vector/v.mapcalc/number.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net/main.c, vector/v.net/report.c,
+	  vector/v.out.ascii/out.c, vector/v.out.ogr/main.c,
+	  vector/v.out.vtk/main.c, vector/v.out.vtk/writeVTK.c,
+	  vector/v.overlay/main.c, vector/v.patch/main.c,
+	  vector/v.perturb/main.c, vector/v.proj/main.c,
+	  vector/v.random/main.c, vector/v.reclass/main.c,
+	  vector/v.sample/main.c, vector/v.segment/main.c,
+	  vector/v.surf.idw/main.c, vector/v.surf.rst/main.c,
+	  vector/v.to.db/main.c, vector/v.to.db/parse.c,
+	  vector/v.to.db/query.c, vector/v.to.db/report.c,
+	  vector/v.to.db/update.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/main.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c, vector/v.transform/main.c,
+	  vector/v.transform/trans_digit.c, vector/v.univar/main.c,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/user1.c,
+	  vector/v.what.rast/main.c: fixed unlucky formatted messages
+	  (thanks to Glynn)
+
+2008-08-06 22:02  neteler
+
+	* raster/r.carve/lobf.c, raster/r.cats/main.c,
+	  raster/r.clump/clump.c, raster/r.colors/main.c,
+	  raster/r.colors/rules.c, raster/r.contour/main.c,
+	  raster/r.cost/main.c, raster/r.drain/main.c,
+	  raster/r.flow/calc.c, raster/r.flow/io.c, raster/r.gwflow/main.c,
+	  raster/r.in.ascii/gethead.c, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.mat/main.c,
+	  raster/r.in.xyz/main.c, raster/r.kappa/calc_kappa.c,
+	  raster/r.kappa/prt_mat.c, raster/r.lake/main.c,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c, raster/r.los/main.c,
+	  raster/r.mfilter.fp/main.c, raster/r.mfilter/main.c,
+	  raster/r.out.gdal/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.vtk/main.c, raster/r.out.vtk/writeascii.c,
+	  raster/r.param.scale/interface.c, raster/r.param.scale/process.c,
+	  raster/r.profile/main.c, raster/r.proj.seg/main.c,
+	  raster/r.proj/main.c, raster/r.random.surface/main.c,
+	  raster/r.random/main.c, raster/r.random/random.c,
+	  raster/r.reclass/main.c, raster/r.reclass/parse.c,
+	  raster/r.recode/main.c, raster/r.recode/read_rules.c,
+	  raster/r.resamp.rst/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.statistics/main.c, raster/r.stats/main.c,
+	  raster/r.sun/main.c, raster/r.sunmask/main.c,
+	  raster/r.support/front/front.c,
+	  raster/r.support/modhead/modhead.c,
+	  raster/r.support/modhist/modhist.c,
+	  raster/r.surf.fractal/interface.c, raster/r.surf.idw2/main.c,
+	  raster/r.texture/h_measure.c, raster/r.texture/main.c,
+	  raster/r.thin/io.c, raster/r.thin/thin_lines.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/main.c,
+	  raster/r.topidx/main.c, raster/r.walk/main.c,
+	  raster/r.water.outlet/main.c, raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/shed/basin_maps.c,
+	  raster/r.watershed/shed/com_line.c,
+	  raster/r.watershed/shed/intro.c, raster/r.watershed/shed/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/input.c,
+	  raster/wildfire/r.ros/main.c: fixed unlucky formatted messages
+	  (thanks to Glynn)
+
+2008-08-06 22:00  neteler
+
+	* lib/arraystats/class.c, lib/driver/parse_ftcap.c,
+	  lib/g3d/g3dopen.c, lib/g3d/g3dparam.c, lib/gis/adj_cellhd.c,
+	  lib/gis/closecell.c, lib/gis/get_ellipse.c, lib/gis/get_row.c,
+	  lib/gis/gisinit.c, lib/gis/history.c, lib/gis/legal_name.c,
+	  lib/gis/opencell.c, lib/gis/parser.c, lib/gis/put_row.c,
+	  lib/gis/reclass.c, lib/gis/set_window.c, lib/gis/spawn.c,
+	  lib/gis/view.c, lib/gmath/la.c, lib/gpde/N_solvers.c,
+	  lib/gpde/N_solvers_krylov.c, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_heat.c, lib/gpde/test/test_solute_transport.c,
+	  lib/imagery/fopen.c, lib/ogsf/GK2.c, lib/ogsf/GS2.c,
+	  lib/ogsf/Gp3.c, lib/ogsf/Gs3.c, lib/ogsf/Gv3.c,
+	  lib/ogsf/gsd_img_mpeg.c, lib/proj/convert.c, lib/proj/get_proj.c,
+	  lib/rst/interp_float/segmen2d.c, lib/rst/interp_float/vinput2d.c,
+	  lib/symbol/read.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/intersect.c, lib/vector/Vlib/legal_vname.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/overlay.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/sindex.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_node.c,
+	  lib/vector/vedit/cats.c: fixed unlucky formatted messages (thanks
+	  to Glynn)
+
+2008-08-06 21:50  glynn
+
+	* display/Makefile, display/d.ask, display/d.barscale/draw_scale.c,
+	  display/d.barscale/main.c, display/d.barscale/mouse.c,
+	  display/d.barscale/options.h, display/d.colors/main.c,
+	  display/d.colortable/main.c, display/d.erase/main.c,
+	  display/d.extend, display/d.font.freetype, display/d.font/main.c,
+	  display/d.frame, display/d.geodesic/main.c,
+	  display/d.geodesic/mouse.c, display/d.graph/main.c,
+	  display/d.grid/main.c, display/d.his/main.c,
+	  display/d.histogram/main.c, display/d.info/main.c,
+	  display/d.labels/main.c, display/d.legend/box.c,
+	  display/d.legend/main.c, display/d.measure/main.c,
+	  display/d.menu, display/d.mon, display/d.nviz/local.h,
+	  display/d.nviz/main.c, display/d.path/main.c,
+	  display/d.path/proto.h, display/d.path/select.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.edit,
+	  display/d.rast.num/number.c, display/d.rast/display.c,
+	  display/d.rast/local_proto.h, display/d.rast/main.c,
+	  display/d.rgb/main.c, display/d.rhumbline/main.c,
+	  display/d.rhumbline/mouse.c, display/d.save,
+	  display/d.text.new/main.c, display/d.thematic.area/main.c,
+	  display/d.vect.chart/main.c, display/d.vect/main.c,
+	  display/d.what.rast/main.c, display/d.what.vect/main.c,
+	  display/d.what.vect/what.c, display/d.what.vect/what.h,
+	  display/d.zoom/main.c, display/drivers/HTMLMAP,
+	  display/drivers/PNG, display/drivers/PS, display/drivers/cairo,
+	  general/g.mapset/main.c, imagery/Makefile, imagery/i.ask,
+	  include/Make/Grass.make.in, include/display.h,
+	  include/graphics.h, include/monitors.h, include/raster.h,
+	  lib/Makefile, lib/cairodriver/Driver.c,
+	  lib/cairodriver/description.html, lib/display/get_win.c,
+	  lib/display/ident_win.c, lib/display/list.c, lib/display/popup.c,
+	  lib/display/setup.c, lib/display/window.c,
+	  lib/driver/Get_location.c, lib/driver/Makefile,
+	  lib/driver/Panel.c, lib/driver/Work.c, lib/driver/command.c,
+	  lib/driver/connect_sock.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/init.c, lib/driver/main.c,
+	  lib/driver/pad.c, lib/driver/pad.h, lib/htmldriver,
+	  lib/htmldriver/Driver.c, lib/htmldriver/Graph_Clse.c,
+	  lib/htmldriver/Graph_Set.c, lib/htmldriver/Makefile,
+	  lib/htmldriver/Polygn_abs.c, lib/htmldriver/README,
+	  lib/htmldriver/Text.c, lib/htmldriver/description.html,
+	  lib/htmldriver/htmlmap.h, lib/pngdriver/Driver.c,
+	  lib/pngdriver/description.html, lib/psdriver/Driver.c,
+	  lib/psdriver/Makefile, lib/psdriver/description.html,
+	  lib/raster/Makefile, lib/raster/com_get.c, lib/raster/com_io.c,
+	  lib/raster/com_pad.c, lib/raster/com_proto.c,
+	  lib/raster/common.c, lib/raster/io_sock.c, lib/raster/loc_get.c,
+	  lib/raster/loc_io.c, lib/raster/loc_pad.c,
+	  lib/raster/loc_proto.c, lib/raster/open.h,
+	  lib/raster/parse_mon.c, lib/raster/raster.c,
+	  lib/raster/rem_get.c, lib/raster/rem_io.c, lib/raster/rem_pad.c,
+	  lib/raster/rem_proto.c, lib/raster/transport.h,
+	  raster/r.profile/local_proto.h, raster/r.profile/main.c: Breaking
+	  stuff part 2: the Tek4014 is obsolete
+	  Eliminate monitors, and all that depends upon them; direct
+	  rendering only
+	  No mouse, no panels, no pads
+
+2008-08-06 19:37  neteler
+
+	* lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/safileio.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c: reverted indentation of external
+	  library
+
+2008-08-06 17:55  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: error message
+	  cosmetics, define default units (for XY location)
+	  merge from devbr6, r32579
+
+2008-08-06 17:48  glynn
+
+	* lib/gis/parser.c, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/globals.h, raster/r.mapcalc/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/mapcalc.h: Make r.mapcalc use G_parser()
+
+2008-08-06 17:06  glynn
+
+	* vector/v.transform/creat_trans.c,
+	  vector/v.transform/local_proto.h: Remove interactive usage
+
+2008-08-06 17:01  glynn
+
+	* raster/r.quant/global.h, raster/r.quant/main.c,
+	  raster/r.quant/read_rules.c: Add rules= option
+	  Fix breakage arising from removing interactive functions
+
+2008-08-06 13:55  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI/vdidit: allow to
+	  hide currently edited map layer (item checkbox), remember map
+	  layer even its position in layer tree is changed
+	  various render-related fixes
+	  (merge from devbr6, r32574)
+
+2008-08-06 11:16  martinl
+
+	* lib/init/Makefile, lib/init/grass_error.ico: grass error icon
+	  added (merge from devbr6, r32570)
+
+2008-08-06 09:55  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: do not print messages to
+	  sys.stderr, exception is raised instead (merge from debrg6,
+	  r32567)
+
+2008-08-06 09:48  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: close settings
+	  dialog properly (merge from devbr6, r32565)
+
+2008-08-06 09:37  martinl
+
+	* visualization/nviz2/cmd/Makefile: nviz2: Makefile clean up (merge
+	  from devbr6, r32563)
+
+2008-08-06 09:33  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: drag-and-drop,
+	  force edit icon to be 24x24 (merge from devbr6, r32561)
+
+2008-08-06 09:11  martinl
+
+	* gui/icons/silk/brick.png: wxGUI: revert r32558, bricks already
+	  available
+
+2008-08-06 08:58  martinl
+
+	* gui/icons/silk/brick.png: wxGUI/nviz: added missing silk icon for
+	  volume
+
+2008-08-06 07:55  neteler
+
+	* raster/r.colors/description.html: if changing code, also update
+	  the docs
+
+2008-08-06 07:27  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: message cosmetics
+
+2008-08-06 06:15  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py: Added clip to current region
+	  checkbox, put GCP management toolbar back in GCP management
+	  window, fixed a few minor bugs.
+
+2008-08-06 06:15  cmbarton
+
+	* gui/wxpython/gui_modules/toolbars.py: Changed GCPToolBar a little
+	  so that it can load more easily into GCP management window. Fixed
+	  a couple minor errors.
+
+2008-08-06 05:51  martinl
+
+	* include/nviz.h: nvizlib: fix AGLPixelFmtID type
+
+2008-08-06 03:28  glynn
+
+	* configure, configure.in, db/db.login/main.c, general/Makefile,
+	  general/g.ask/Makefile, general/g.ask/description.html,
+	  general/g.ask/main.c, general/g.proj/datumtrans.c,
+	  general/g.proj/local_proto.h, general/g.proj/main.c,
+	  general/g.proj/output.c, general/manage/lib/menu.c,
+	  imagery/i.class/Makefile, include/Make/Platform.make.in,
+	  include/P_site.h, include/config.h.in, include/edit.h,
+	  include/gisdefs.h, include/gprojects.h, include/imagedefs.h,
+	  include/vask.h, lib/Makefile, lib/edit/Makefile,
+	  lib/edit/edit_cats.c, lib/edit/edit_cellhd.c,
+	  lib/edit/edit_hist.c, lib/gis/ask.c, lib/gis/ask_cell.c,
+	  lib/gis/ask_vctrs.c, lib/gis/get_datum_name.c,
+	  lib/gis/get_ell_name.c, lib/gis/get_projname.c, lib/gis/gets.c,
+	  lib/gis/intr_char.c, lib/gis/make_colr.c, lib/gis/parser.c,
+	  lib/gis/yes.c, lib/imagery/ask_group.c, lib/imagery/ls_groups.c,
+	  lib/init/Makefile, lib/init/chk_dbase.c, lib/init/mke_loc.c,
+	  lib/init/mke_mapset.c, lib/init/other.c, lib/init/set_data.c,
+	  lib/proj/datum.c, lib/sites/sites.c, lib/vask/Makefile,
+	  lib/vask/README, lib/vask/V_acc.c, lib/vask/V_call.c,
+	  lib/vask/V_clear.c, lib/vask/V_const.c, lib/vask/V_error.c,
+	  lib/vask/V_exit.c, lib/vask/V_init.c, lib/vask/V_line.c,
+	  lib/vask/V_ques.c, lib/vask/V_support.c, lib/vask/V_trim_dec.c,
+	  raster/r.coin/check.c, raster/r.coin/inter.c,
+	  raster/r.coin/main.c, raster/r.le/r.le.setup/Makefile,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.mkdspf/r3_find.c,
+	  vector/v.transform/Makefile, vector/v.transform/ask_trans.c:
+	  Breaking stuff part 1: the 1970s called; they want their TTYs
+	  back
+	  Remove vask, edit, curses, G_ask_*, G_yes, G_gets, I_ask_*,
+	  GPJ_ask_*
+	  Remove g.ask, etc/set_data
+	  Remove various terminal-interactive features
+	  Break d.colors, g.setproj, i.class, i.ortho.photo, i.points,
+	  i.vpoints,
+	  r.le, r.quant, r.support, r.digit, v.transform
+
+2008-08-06 00:57  glynn
+
+	* raster/r.colors/main.c: Remove color=rules (redundant; use -i
+	  instead)
+
+2008-08-05 21:02  martinl
+
+	* raster/r.colors/main.c: revert accidentally committed changes,
+	  sorry! (r32546)
+
+2008-08-05 20:58  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py, raster/r.colors/main.c:
+	  wxGUI/vdigit: disable undo (fix first)
+
+2008-08-05 19:47  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: simplify v.in.dxf -l
+	  (format reverted r32543)
+
+2008-08-05 19:43  martinl
+
+	* vector/v.in.dxf/layer_list.c: v.in.dxf: revert -l format
+
+2008-08-05 19:09  pkelly
+
+	* include/Make/Grass.make.in, lib/iostream/Makefile: Compile
+	  iostream lib as static to work around C++ linking problems
+	  on some OSes
+
+2008-08-05 12:37  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: set row number
+	  properly, fix r32536
+
+2008-08-05 08:11  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/do_vectors.c,
+	  ps/ps.map/r_vlines.c: clarify vlines style usage, add debug
+	  messages (merge from devbr6)
+
+2008-08-05 06:47  cmbarton
+
+	* gui/wxpython/gui_modules/preferences.py: Removed check box to
+	  make opacity editable. No longer relevant.
+
+2008-08-05 06:34  cmbarton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Modified drag and drop
+	  so that dragging above tree moves layer to top of tree and
+	  dragging below tree moves layer to bottom of tree.
+	  
+	  Fixed bug in settings edit popup menu due to code left over from
+	  spin control opacity setting.
+
+2008-08-05 05:14  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py: Removing unneeded default
+	  values settings.
+
+2008-08-05 00:39  glynn
+
+	* include/Make/Shlib.make: Add $(SHLIB_CFLAGS) to CXXFLAGS as well
+	  as CFLAGS
+
+2008-08-04 22:33  glynn
+
+	* lib/gis/named_colr.c, lib/gis/proj3.c,
+	  raster/r.mapcalc/function.c, raster/r.resamp.stats/main.c,
+	  raster/r.series/main.c: Fix formatting of array initialisers
+
+2008-08-04 22:32  glynn
+
+	* visualization/nviz/src/togl.c, visualization/nviz/src/togl.h:
+	  Don't "indent" Togl; it contains constructs which confuse indent
+	  (and
+	  isn't our code, either).
+
+2008-08-04 21:35  neteler
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/createdb.c, db/base/databases.c, db/base/describe.c,
+	  db/base/drivers.c, db/base/dropdb.c, db/base/droptable.c,
+	  db/base/execute.c, db/base/local_proto.h, db/base/printtab.c,
+	  db/base/select.c, db/base/tables.c, db/db.login/main.c,
+	  db/drivers/dbf/column.c, db/drivers/dbf/create_table.c,
+	  db/drivers/dbf/cursor.c, db/drivers/dbf/db.c,
+	  db/drivers/dbf/dbdriver.h, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/describe.c, db/drivers/dbf/driver.c,
+	  db/drivers/dbf/error.c, db/drivers/dbf/execute.c,
+	  db/drivers/dbf/fetch.c, db/drivers/dbf/globals.h,
+	  db/drivers/dbf/listtab.c, db/drivers/dbf/main.c,
+	  db/drivers/dbf/main_debug.c, db/drivers/dbf/proto.h,
+	  db/drivers/dbf/select.c, db/drivers/dbf/str.c,
+	  db/drivers/dbf/table.c, db/drivers/mysql/create_table.c,
+	  db/drivers/mysql/cursor.c, db/drivers/mysql/db.c,
+	  db/drivers/mysql/dbdriver.h, db/drivers/mysql/describe.c,
+	  db/drivers/mysql/driver.c, db/drivers/mysql/error.c,
+	  db/drivers/mysql/execute.c, db/drivers/mysql/fetch.c,
+	  db/drivers/mysql/globals.h, db/drivers/mysql/index.c,
+	  db/drivers/mysql/listtab.c, db/drivers/mysql/main.c,
+	  db/drivers/mysql/parse.c, db/drivers/mysql/proto.h,
+	  db/drivers/mysql/select.c, db/drivers/odbc/connect.c,
+	  db/drivers/odbc/create_table.c, db/drivers/odbc/cursor.c,
+	  db/drivers/odbc/db.c, db/drivers/odbc/dbdriver.h,
+	  db/drivers/odbc/describe.c, db/drivers/odbc/driver.c,
+	  db/drivers/odbc/error.c, db/drivers/odbc/execute.c,
+	  db/drivers/odbc/fetch.c, db/drivers/odbc/globals.h,
+	  db/drivers/odbc/listdb.c, db/drivers/odbc/listtab.c,
+	  db/drivers/odbc/main.c, db/drivers/odbc/odbc.h,
+	  db/drivers/odbc/proto.h, db/drivers/odbc/select.c,
+	  db/drivers/odbc/table.c, db/drivers/ogr/cursor.c,
+	  db/drivers/ogr/db.c, db/drivers/ogr/dbdriver.h,
+	  db/drivers/ogr/describe.c, db/drivers/ogr/driver.c,
+	  db/drivers/ogr/error.c, db/drivers/ogr/fetch.c,
+	  db/drivers/ogr/globals.h, db/drivers/ogr/listtab.c,
+	  db/drivers/ogr/main.c, db/drivers/ogr/proto.h,
+	  db/drivers/ogr/select.c, db/drivers/postgres/create_table.c,
+	  db/drivers/postgres/cursor.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/dbdriver.h, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/driver.c, db/drivers/postgres/error.c,
+	  db/drivers/postgres/execute.c, db/drivers/postgres/fetch.c,
+	  db/drivers/postgres/globals.h, db/drivers/postgres/index.c,
+	  db/drivers/postgres/listdb.c, db/drivers/postgres/listtab.c,
+	  db/drivers/postgres/main.c, db/drivers/postgres/parse.c,
+	  db/drivers/postgres/priv.c, db/drivers/postgres/proto.h,
+	  db/drivers/postgres/select.c, db/drivers/sqlite/create_table.c,
+	  db/drivers/sqlite/cursor.c, db/drivers/sqlite/db.c,
+	  db/drivers/sqlite/dbdriver.h, db/drivers/sqlite/describe.c,
+	  db/drivers/sqlite/driver.c, db/drivers/sqlite/error.c,
+	  db/drivers/sqlite/execute.c, db/drivers/sqlite/fetch.c,
+	  db/drivers/sqlite/globals.h, db/drivers/sqlite/index.c,
+	  db/drivers/sqlite/listtab.c, db/drivers/sqlite/main.c,
+	  db/drivers/sqlite/proto.h, db/drivers/sqlite/select.c,
+	  display/d.ask/main.c, display/d.barscale/draw_scale.c,
+	  display/d.barscale/main.c, display/d.barscale/mouse.c,
+	  display/d.barscale/options.h, display/d.colorlist/main.c,
+	  display/d.colors/colors.h, display/d.colors/curses.c,
+	  display/d.colors/externs.h, display/d.colors/get_info.c,
+	  display/d.colors/interact.c, display/d.colors/main.c,
+	  display/d.colors/set_sigs.c, display/d.colors/sigint.c,
+	  display/d.colors/tbl_toggle.c, display/d.colortable/main.c,
+	  display/d.erase/main.c, display/d.extend/main.c,
+	  display/d.extract/extract.c, display/d.extract/main.c,
+	  display/d.font.freetype/main.c, display/d.font/main.c,
+	  display/d.frame/create.c, display/d.frame/dumper.c,
+	  display/d.frame/frame.c, display/d.frame/list.c,
+	  display/d.frame/select.c, display/d.geodesic/local_proto.h,
+	  display/d.geodesic/main.c, display/d.geodesic/mouse.c,
+	  display/d.geodesic/plot.c, display/d.graph/allocation.c,
+	  display/d.graph/do_graph.c, display/d.graph/graphics.c,
+	  display/d.graph/local_proto.h, display/d.graph/main.c,
+	  display/d.graph/options.h, display/d.grid/fiducial.c,
+	  display/d.grid/local_proto.h, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.grid/plotborder.c,
+	  display/d.his/his.c, display/d.his/main.c,
+	  display/d.histogram/bar.c, display/d.histogram/bar.h,
+	  display/d.histogram/dhist.h, display/d.histogram/draw_slice.c,
+	  display/d.histogram/get_stats.c, display/d.histogram/main.c,
+	  display/d.histogram/options.h, display/d.histogram/pie.c,
+	  display/d.histogram/pie.h, display/d.info/main.c,
+	  display/d.labels/color.c, display/d.labels/do_labels.c,
+	  display/d.labels/local_proto.h, display/d.labels/main.c,
+	  display/d.legend/box.c, display/d.legend/local_proto.h,
+	  display/d.legend/main.c, display/d.linegraph/linegraph.c,
+	  display/d.linegraph/linegraph.h, display/d.measure/draw_line.c,
+	  display/d.measure/local_proto.h, display/d.measure/main.c,
+	  display/d.measure/msurements.c, display/d.menu/main.c,
+	  display/d.mon/cmd/main.c, display/d.mon/pgms/list.c,
+	  display/d.mon/pgms/local_proto.h, display/d.mon/pgms/open.h,
+	  display/d.mon/pgms/release.c, display/d.mon/pgms/select.c,
+	  display/d.mon/pgms/start.c, display/d.mon/pgms/status.c,
+	  display/d.mon/pgms/stop.c, display/d.mon/pgms/which.c,
+	  display/d.nviz/local.h, display/d.nviz/main.c,
+	  display/d.path/main.c, display/d.path/proto.h,
+	  display/d.path/select.c, display/d.profile/DrawText.c,
+	  display/d.profile/DumpProfile.c, display/d.profile/ExtractProf.c,
+	  display/d.profile/InitProfile.c, display/d.profile/PlotProfile.c,
+	  display/d.profile/Range.c, display/d.profile/What.c,
+	  display/d.profile/bnw_line.c, display/d.profile/main.c,
+	  display/d.profile/profile.h, display/d.profile/utils.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.edit/cell.c,
+	  display/d.rast.edit/draw_grid.c, display/d.rast.edit/edit.c,
+	  display/d.rast.edit/edit.h, display/d.rast.edit/main.c,
+	  display/d.rast.edit/menu.c, display/d.rast.edit/mk_new_layer.c,
+	  display/d.rast.edit/mk_tmp_file.c, display/d.rast.num/number.c,
+	  display/d.rast/colors.c, display/d.rast/display.c,
+	  display/d.rast/local_proto.h, display/d.rast/main.c,
+	  display/d.rast/mask.c, display/d.rast/mask.h,
+	  display/d.rgb/main.c, display/d.rhumbline/local_proto.h,
+	  display/d.rhumbline/main.c, display/d.rhumbline/mouse.c,
+	  display/d.rhumbline/plot.c, display/d.save/locals.h,
+	  display/d.save/main.c, display/d.text.new/main.c,
+	  display/d.thematic.area/area.c,
+	  display/d.thematic.area/local_proto.h,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot.h,
+	  display/d.thematic.area/plot1.c, display/d.title/fancy.c,
+	  display/d.title/local_proto.h, display/d.title/main.c,
+	  display/d.title/normal.c, display/d.title/options.h,
+	  display/d.vect.chart/bar.c, display/d.vect.chart/global.h,
+	  display/d.vect.chart/main.c, display/d.vect.chart/pie.c,
+	  display/d.vect.chart/plot.c, display/d.vect/area.c,
+	  display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot.h,
+	  display/d.vect/plot1.c, display/d.vect/topo.c,
+	  display/d.vect/zcoor.c, display/d.what.rast/local_proto.h,
+	  display/d.what.rast/main.c, display/d.what.rast/opencell.c,
+	  display/d.what.rast/show.c, display/d.what.rast/what.c,
+	  display/d.what.rast/what.h, display/d.what.vect/flash.c,
+	  display/d.what.vect/main.c, display/d.what.vect/openvect.c,
+	  display/d.what.vect/what.c, display/d.what.vect/what.h,
+	  display/d.where/b_w_line.c, display/d.where/local_proto.h,
+	  display/d.where/main.c, display/d.where/where.c,
+	  display/d.zoom/box.c, display/d.zoom/center.c,
+	  display/d.zoom/local_proto.h, display/d.zoom/main.c,
+	  display/d.zoom/pan.c, display/d.zoom/print.c,
+	  display/d.zoom/quit.c, display/d.zoom/redraw.c,
+	  display/d.zoom/returns.c, display/d.zoom/set.c,
+	  display/d.zoom/zoom.c, display/drivers/HTMLMAP/Graph_Clse.c,
+	  display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/Polygn_abs.c,
+	  display/drivers/HTMLMAP/Text.c,
+	  display/drivers/HTMLMAP/htmlmap.h,
+	  display/drivers/HTMLMAP/main.c, display/drivers/PNG/main.c,
+	  display/drivers/PS/main.c, display/drivers/XDRIVER/Box.c,
+	  display/drivers/XDRIVER/Client.c,
+	  display/drivers/XDRIVER/Color.c,
+	  display/drivers/XDRIVER/Color_table.c,
+	  display/drivers/XDRIVER/Draw_bitmap.c,
+	  display/drivers/XDRIVER/Draw_line.c,
+	  display/drivers/XDRIVER/Draw_point.c,
+	  display/drivers/XDRIVER/Get_w_box.c,
+	  display/drivers/XDRIVER/Get_w_line.c,
+	  display/drivers/XDRIVER/Get_w_pointer.c,
+	  display/drivers/XDRIVER/Graph_close.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Line_width.c,
+	  display/drivers/XDRIVER/Panel.c,
+	  display/drivers/XDRIVER/Polydots.c,
+	  display/drivers/XDRIVER/Polygon.c,
+	  display/drivers/XDRIVER/Polyline.c,
+	  display/drivers/XDRIVER/Raster.c,
+	  display/drivers/XDRIVER/Respond.c,
+	  display/drivers/XDRIVER/Serve_Xevent.c,
+	  display/drivers/XDRIVER/Set_window.c,
+	  display/drivers/XDRIVER/Work.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/alloc.c,
+	  display/drivers/XDRIVER/local_proto.h,
+	  display/drivers/XDRIVER/local_vars.h,
+	  display/drivers/XDRIVER/main.c, display/drivers/cairo/main.c,
+	  doc/raster/r.example/main.c, doc/vector/v.example/main.c,
+	  gem/actions.c, gem/actions.h, gem/at_exit_funcs.c,
+	  gem/at_exit_funcs.h, gem/error.c, gem/error.h, gem/globals.h,
+	  gem/main.c, gem/reg_deps.c, gem/reg_deps.h, gem/reg_entries.c,
+	  gem/reg_entries.h, gem/reg_html.c, gem/reg_html.h, gem/tools.c,
+	  gem/tools.h, general/g.access/exp_perms.c,
+	  general/g.access/get_perms.c, general/g.access/local_proto.h,
+	  general/g.access/main.c, general/g.access/set_perms.c,
+	  general/g.ask/main.c, general/g.dirseps/main.c,
+	  general/g.filename/main.c, general/g.findetc/main.c,
+	  general/g.findfile/main.c, general/g.gisenv/main.c,
+	  general/g.gui/main.c, general/g.mapset/main.c,
+	  general/g.mapsets/dsply_maps.c, general/g.mapsets/dsply_path.c,
+	  general/g.mapsets/externs.h, general/g.mapsets/get_maps.c,
+	  general/g.mapsets/get_path.c, general/g.mapsets/local_proto.h,
+	  general/g.mapsets/main_cmd.c, general/g.mapsets/main_inter.c,
+	  general/g.mapsets/scan_int.c, general/g.mapsets/set_path.c,
+	  general/g.message/main.c, general/g.mkfontcap/freetype_fonts.c,
+	  general/g.mkfontcap/main.c, general/g.mkfontcap/stroke_fonts.c,
+	  general/g.parser/main.c, general/g.pnmcomp/main.c,
+	  general/g.proj/datumtrans.c, general/g.proj/input.c,
+	  general/g.proj/main.c, general/g.proj/output.c,
+	  general/g.region/adjust.c, general/g.region/main.c,
+	  general/g.region/printwindow.c, general/g.region/zoom.c,
+	  general/g.setproj/get_datum.c, general/g.setproj/get_deg.c,
+	  general/g.setproj/get_num.c, general/g.setproj/get_stp.c,
+	  general/g.setproj/local_proto.h, general/g.setproj/main.c,
+	  general/g.setproj/proj.c, general/g.tempfile/main.c,
+	  general/g.transform/crs.c, general/g.transform/crs.h,
+	  general/g.transform/main.c, general/g.version/main.c,
+	  general/manage/cmd/copy.c, general/manage/cmd/init.c,
+	  general/manage/cmd/list.c, general/manage/cmd/local_proto.h,
+	  general/manage/cmd/remove.c, general/manage/cmd/rename.c,
+	  general/manage/lib/add_elem.c, general/manage/lib/ask.c,
+	  general/manage/lib/do_copy.c, general/manage/lib/do_list.c,
+	  general/manage/lib/do_remove.c, general/manage/lib/do_rename.c,
+	  general/manage/lib/empty.c, general/manage/lib/find.c,
+	  general/manage/lib/get_len.c, general/manage/lib/menu.c,
+	  general/manage/lib/read_list.c, general/manage/lib/show_elem.c,
+	  general/manage/lib/sighold.c, general/manage/list.h,
+	  general/manage/lister/cell.c, general/manage/lister/vector.c,
+	  imagery/i.ask/main.c, imagery/i.ask/popup.c,
+	  imagery/i.cca/local_proto.h, imagery/i.cca/main.c,
+	  imagery/i.cca/matrix.c, imagery/i.cca/stats.c,
+	  imagery/i.cca/transform.c, imagery/i.class/add_point.c,
+	  imagery/i.class/analyze_sig.c, imagery/i.class/band_files.c,
+	  imagery/i.class/cellhd.c, imagery/i.class/complete_reg.c,
+	  imagery/i.class/conv.c, imagery/i.class/curses.c,
+	  imagery/i.class/define_reg.c, imagery/i.class/defs.h,
+	  imagery/i.class/del_point.c, imagery/i.class/draw_cell.c,
+	  imagery/i.class/draw_reg.c, imagery/i.class/driver.c,
+	  imagery/i.class/edge.c, imagery/i.class/edge_order.c,
+	  imagery/i.class/edge_point.c, imagery/i.class/erase_reg.c,
+	  imagery/i.class/g_init.c, imagery/i.class/globals.h,
+	  imagery/i.class/graphics.c, imagery/i.class/histograms.c,
+	  imagery/i.class/init_reg.c, imagery/i.class/input.c,
+	  imagery/i.class/input_color.c, imagery/i.class/input_std.c,
+	  imagery/i.class/local_proto.h, imagery/i.class/main.c,
+	  imagery/i.class/mouse.c, imagery/i.class/outline.c,
+	  imagery/i.class/point.h, imagery/i.class/readbands.c,
+	  imagery/i.class/redisplay.c, imagery/i.class/remove_mask.c,
+	  imagery/i.class/restore_reg.c, imagery/i.class/save_reg.c,
+	  imagery/i.class/set_signals.c, imagery/i.class/sigalarm.c,
+	  imagery/i.class/signature.c, imagery/i.class/title.c,
+	  imagery/i.class/view.c, imagery/i.class/zoom_box.c,
+	  imagery/i.cluster/checkpt.c, imagery/i.cluster/global.h,
+	  imagery/i.cluster/local_proto.h, imagery/i.cluster/main.c,
+	  imagery/i.cluster/open_files.c, imagery/i.cluster/print1.c,
+	  imagery/i.cluster/print2.c, imagery/i.cluster/print3.c,
+	  imagery/i.cluster/print4.c, imagery/i.cluster/print5.c,
+	  imagery/i.cluster/print6.c, imagery/i.cluster/timer.c,
+	  imagery/i.fft/fft_colors.c, imagery/i.fft/fftmain.c,
+	  imagery/i.fft/local_proto.h, imagery/i.fft/orig_wind.c,
+	  imagery/i.fft/save_fft.c, imagery/i.find/main.c,
+	  imagery/i.gensig/alloc.c, imagery/i.gensig/can_invert.c,
+	  imagery/i.gensig/check.c, imagery/i.gensig/closefiles.c,
+	  imagery/i.gensig/copy.c, imagery/i.gensig/covariance.c,
+	  imagery/i.gensig/eigen.c, imagery/i.gensig/files.h,
+	  imagery/i.gensig/get_train.c, imagery/i.gensig/labels.c,
+	  imagery/i.gensig/local_proto.h, imagery/i.gensig/lookup_class.c,
+	  imagery/i.gensig/main.c, imagery/i.gensig/means.c,
+	  imagery/i.gensig/openfiles.c, imagery/i.gensig/parms.h,
+	  imagery/i.gensig/parse.c, imagery/i.gensig/read_train.c,
+	  imagery/i.gensig/write_sig.c, imagery/i.gensigset/closefiles.c,
+	  imagery/i.gensigset/files.h, imagery/i.gensigset/get_train.c,
+	  imagery/i.gensigset/invert.c, imagery/i.gensigset/labels.c,
+	  imagery/i.gensigset/local_proto.h,
+	  imagery/i.gensigset/lookup_class.c, imagery/i.gensigset/main.c,
+	  imagery/i.gensigset/openfiles.c, imagery/i.gensigset/parms.h,
+	  imagery/i.gensigset/parse.c, imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c,
+	  imagery/i.gensigset/subcluster.c,
+	  imagery/i.gensigset/write_sig.c, imagery/i.group/main.c,
+	  imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/globals.h,
+	  imagery/i.his.rgb/h2rmain.c, imagery/i.his.rgb/his2rgb.c,
+	  imagery/i.his.rgb/openfiles.c, imagery/i.ifft/ifftmain.c,
+	  imagery/i.ifft/local_proto.h, imagery/i.ifft/orig_wind.c,
+	  imagery/i.maxlik/classify.c, imagery/i.maxlik/hist.c,
+	  imagery/i.maxlik/invert.c, imagery/i.maxlik/local_proto.h,
+	  imagery/i.maxlik/main.c, imagery/i.maxlik/open.c,
+	  imagery/i.ortho.photo/libes/ask_camera.c,
+	  imagery/i.ortho.photo/libes/cam.c,
+	  imagery/i.ortho.photo/libes/cam_info.c,
+	  imagery/i.ortho.photo/libes/camera.c,
+	  imagery/i.ortho.photo/libes/conz_points.c,
+	  imagery/i.ortho.photo/libes/elev.c,
+	  imagery/i.ortho.photo/libes/error.c,
+	  imagery/i.ortho.photo/libes/find_camera.c,
+	  imagery/i.ortho.photo/libes/find_init.c,
+	  imagery/i.ortho.photo/libes/fopen_camera.c,
+	  imagery/i.ortho.photo/libes/funcdefs.h,
+	  imagery/i.ortho.photo/libes/georef.c,
+	  imagery/i.ortho.photo/libes/group_elev.c,
+	  imagery/i.ortho.photo/libes/init.c,
+	  imagery/i.ortho.photo/libes/init_info.c,
+	  imagery/i.ortho.photo/libes/isnull.c,
+	  imagery/i.ortho.photo/libes/local_proto.h,
+	  imagery/i.ortho.photo/libes/ls_cameras.c,
+	  imagery/i.ortho.photo/libes/ls_elev.c,
+	  imagery/i.ortho.photo/libes/m_add.c,
+	  imagery/i.ortho.photo/libes/m_copy.c,
+	  imagery/i.ortho.photo/libes/m_inverse.c,
+	  imagery/i.ortho.photo/libes/m_mult.c,
+	  imagery/i.ortho.photo/libes/m_transpose.c,
+	  imagery/i.ortho.photo/libes/m_zero.c,
+	  imagery/i.ortho.photo/libes/mat.h,
+	  imagery/i.ortho.photo/libes/matrixdefs.h,
+	  imagery/i.ortho.photo/libes/open_camera.c,
+	  imagery/i.ortho.photo/libes/orthophoto.h,
+	  imagery/i.ortho.photo/libes/orthoref.c,
+	  imagery/i.ortho.photo/libes/ref_points.c,
+	  imagery/i.ortho.photo/libes/title_camera.c,
+	  imagery/i.ortho.photo/menu/menu.c,
+	  imagery/i.ortho.photo/menu/run.c,
+	  imagery/i.ortho.photo/photo.2image/analyze.c,
+	  imagery/i.ortho.photo/photo.2image/ask.c,
+	  imagery/i.ortho.photo/photo.2image/ask_mag.c,
+	  imagery/i.ortho.photo/photo.2image/call.c,
+	  imagery/i.ortho.photo/photo.2image/camera_ref.h,
+	  imagery/i.ortho.photo/photo.2image/cell.c,
+	  imagery/i.ortho.photo/photo.2image/cellhd.c,
+	  imagery/i.ortho.photo/photo.2image/colors.c,
+	  imagery/i.ortho.photo/photo.2image/conv.c,
+	  imagery/i.ortho.photo/photo.2image/curses.c,
+	  imagery/i.ortho.photo/photo.2image/defs.h,
+	  imagery/i.ortho.photo/photo.2image/dot.c,
+	  imagery/i.ortho.photo/photo.2image/drawcam.c,
+	  imagery/i.ortho.photo/photo.2image/drawcell.c,
+	  imagery/i.ortho.photo/photo.2image/driver.c,
+	  imagery/i.ortho.photo/photo.2image/equ.c,
+	  imagery/i.ortho.photo/photo.2image/find.c,
+	  imagery/i.ortho.photo/photo.2image/globals.h,
+	  imagery/i.ortho.photo/photo.2image/graphics.c,
+	  imagery/i.ortho.photo/photo.2image/group.c,
+	  imagery/i.ortho.photo/photo.2image/input.c,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2image/mark.c,
+	  imagery/i.ortho.photo/photo.2image/mouse.c,
+	  imagery/i.ortho.photo/photo.2image/points.c,
+	  imagery/i.ortho.photo/photo.2image/target.c,
+	  imagery/i.ortho.photo/photo.2image/title.c,
+	  imagery/i.ortho.photo/photo.2image/use_camera.c,
+	  imagery/i.ortho.photo/photo.2image/view.c,
+	  imagery/i.ortho.photo/photo.2image/where.c,
+	  imagery/i.ortho.photo/photo.2image/zoom.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_pnt.c,
+	  imagery/i.ortho.photo/photo.2target/analyze.c,
+	  imagery/i.ortho.photo/photo.2target/ask.c,
+	  imagery/i.ortho.photo/photo.2target/ask_mag.c,
+	  imagery/i.ortho.photo/photo.2target/call.c,
+	  imagery/i.ortho.photo/photo.2target/cell.c,
+	  imagery/i.ortho.photo/photo.2target/cellhd.c,
+	  imagery/i.ortho.photo/photo.2target/colors.c,
+	  imagery/i.ortho.photo/photo.2target/conv.c,
+	  imagery/i.ortho.photo/photo.2target/curses.c,
+	  imagery/i.ortho.photo/photo.2target/defs.h,
+	  imagery/i.ortho.photo/photo.2target/digit.c,
+	  imagery/i.ortho.photo/photo.2target/dot.c,
+	  imagery/i.ortho.photo/photo.2target/drawcell.c,
+	  imagery/i.ortho.photo/photo.2target/driver.c,
+	  imagery/i.ortho.photo/photo.2target/equ.c,
+	  imagery/i.ortho.photo/photo.2target/find.c,
+	  imagery/i.ortho.photo/photo.2target/globals.h,
+	  imagery/i.ortho.photo/photo.2target/graphics.c,
+	  imagery/i.ortho.photo/photo.2target/group.c,
+	  imagery/i.ortho.photo/photo.2target/input.c,
+	  imagery/i.ortho.photo/photo.2target/local_proto.h,
+	  imagery/i.ortho.photo/photo.2target/main.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.2target/mouse.c,
+	  imagery/i.ortho.photo/photo.2target/points.c,
+	  imagery/i.ortho.photo/photo.2target/target.c,
+	  imagery/i.ortho.photo/photo.2target/title.c,
+	  imagery/i.ortho.photo/photo.2target/view.c,
+	  imagery/i.ortho.photo/photo.2target/where.c,
+	  imagery/i.ortho.photo/photo.2target/zoom.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_pnt.c,
+	  imagery/i.ortho.photo/photo.camera/globals.h,
+	  imagery/i.ortho.photo/photo.camera/main.c,
+	  imagery/i.ortho.photo/photo.camera/mod_cam_info.c,
+	  imagery/i.ortho.photo/photo.elev/ask_elev.c,
+	  imagery/i.ortho.photo/photo.elev/elev.h,
+	  imagery/i.ortho.photo/photo.elev/local_proto.h,
+	  imagery/i.ortho.photo/photo.elev/main.c,
+	  imagery/i.ortho.photo/photo.elev/mod_elev.c,
+	  imagery/i.ortho.photo/photo.init/globals.h,
+	  imagery/i.ortho.photo/photo.init/main.c,
+	  imagery/i.ortho.photo/photo.init/mod_info.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_elev.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files2.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_wind.c,
+	  imagery/i.ortho.photo/photo.rectify/aver_z.c,
+	  imagery/i.ortho.photo/photo.rectify/compress.c,
+	  imagery/i.ortho.photo/photo.rectify/conv.c,
+	  imagery/i.ortho.photo/photo.rectify/cp.c,
+	  imagery/i.ortho.photo/photo.rectify/defs.h,
+	  imagery/i.ortho.photo/photo.rectify/env.c,
+	  imagery/i.ortho.photo/photo.rectify/equ.c,
+	  imagery/i.ortho.photo/photo.rectify/exec.c,
+	  imagery/i.ortho.photo/photo.rectify/get_wind.c,
+	  imagery/i.ortho.photo/photo.rectify/global.h,
+	  imagery/i.ortho.photo/photo.rectify/local_proto.h,
+	  imagery/i.ortho.photo/photo.rectify/main.c,
+	  imagery/i.ortho.photo/photo.rectify/matrix.c,
+	  imagery/i.ortho.photo/photo.rectify/perform.c,
+	  imagery/i.ortho.photo/photo.rectify/ps_cp.c,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c,
+	  imagery/i.ortho.photo/photo.rectify/report.c,
+	  imagery/i.ortho.photo/photo.rectify/target.c,
+	  imagery/i.ortho.photo/photo.rectify/write.c,
+	  imagery/i.ortho.photo/photo.target/ask_target.c,
+	  imagery/i.ortho.photo/photo.target/main.c,
+	  imagery/i.pca/local_proto.h, imagery/i.pca/main.c,
+	  imagery/i.pca/support.c, imagery/i.points/analyze.c,
+	  imagery/i.points/ask.c, imagery/i.points/ask_mag.c,
+	  imagery/i.points/call.c, imagery/i.points/cell.c,
+	  imagery/i.points/cellhd.c, imagery/i.points/colors.c,
+	  imagery/i.points/conv.c, imagery/i.points/curses.c,
+	  imagery/i.points/debug.c, imagery/i.points/defs.h,
+	  imagery/i.points/digit.c, imagery/i.points/dot.c,
+	  imagery/i.points/drawcell.c, imagery/i.points/driver.c,
+	  imagery/i.points/equ.c, imagery/i.points/find.c,
+	  imagery/i.points/globals.h, imagery/i.points/graphics.c,
+	  imagery/i.points/group.c, imagery/i.points/input.c,
+	  imagery/i.points/local_proto.h, imagery/i.points/main.c,
+	  imagery/i.points/mark.c, imagery/i.points/mouse.c,
+	  imagery/i.points/points.c, imagery/i.points/target.c,
+	  imagery/i.points/title.c, imagery/i.points/view.c,
+	  imagery/i.points/where.c, imagery/i.points/zoom.c,
+	  imagery/i.points/zoom_box.c, imagery/i.points/zoom_pnt.c,
+	  imagery/i.rectify/cp.c, imagery/i.rectify/crs.c,
+	  imagery/i.rectify/crs.h, imagery/i.rectify/env.c,
+	  imagery/i.rectify/exec.c, imagery/i.rectify/get_wind.c,
+	  imagery/i.rectify/global.h, imagery/i.rectify/main.c,
+	  imagery/i.rectify/matrix.c, imagery/i.rectify/perform.c,
+	  imagery/i.rectify/rectify.c, imagery/i.rectify/report.c,
+	  imagery/i.rectify/target.c, imagery/i.rectify/write.c,
+	  imagery/i.rgb.his/closefiles.c, imagery/i.rgb.his/globals.h,
+	  imagery/i.rgb.his/openfiles.c, imagery/i.rgb.his/r2hmain.c,
+	  imagery/i.rgb.his/rgb2his.c, imagery/i.smap/bouman/alpha_max.c,
+	  imagery/i.smap/bouman/bouman.h, imagery/i.smap/bouman/decimate.c,
+	  imagery/i.smap/bouman/eigen.c, imagery/i.smap/bouman/interp.c,
+	  imagery/i.smap/bouman/invert.c, imagery/i.smap/bouman/model.c,
+	  imagery/i.smap/bouman/multialloc.c,
+	  imagery/i.smap/bouman/read_block.c,
+	  imagery/i.smap/bouman/reg_util.c, imagery/i.smap/bouman/region.h,
+	  imagery/i.smap/bouman/segment.c, imagery/i.smap/bouman/solve.c,
+	  imagery/i.smap/shapiro/closefiles.c,
+	  imagery/i.smap/shapiro/history.c,
+	  imagery/i.smap/shapiro/labels.c,
+	  imagery/i.smap/shapiro/local_proto.h,
+	  imagery/i.smap/shapiro/main.c, imagery/i.smap/shapiro/opencell.c,
+	  imagery/i.smap/shapiro/openfiles.c,
+	  imagery/i.smap/shapiro/parse.c,
+	  imagery/i.smap/shapiro/read_sig.c,
+	  imagery/i.smap/shapiro/write_img.c, imagery/i.target/main.c,
+	  imagery/i.vpoints/analyze.c, imagery/i.vpoints/ask.c,
+	  imagery/i.vpoints/ask_lineclr.c, imagery/i.vpoints/ask_mag.c,
+	  imagery/i.vpoints/call.c, imagery/i.vpoints/cell.c,
+	  imagery/i.vpoints/cellhd.c, imagery/i.vpoints/colors.c,
+	  imagery/i.vpoints/conv.c, imagery/i.vpoints/crs.c,
+	  imagery/i.vpoints/crs.h, imagery/i.vpoints/curses.c,
+	  imagery/i.vpoints/debug.c, imagery/i.vpoints/defs.h,
+	  imagery/i.vpoints/digit.c, imagery/i.vpoints/dot.c,
+	  imagery/i.vpoints/drawcell.c, imagery/i.vpoints/drawvect.c,
+	  imagery/i.vpoints/driver.c, imagery/i.vpoints/equ.c,
+	  imagery/i.vpoints/find.c, imagery/i.vpoints/globals.h,
+	  imagery/i.vpoints/graphics.c, imagery/i.vpoints/group.c,
+	  imagery/i.vpoints/input.c, imagery/i.vpoints/main.c,
+	  imagery/i.vpoints/mark.c, imagery/i.vpoints/mouse.c,
+	  imagery/i.vpoints/open.c, imagery/i.vpoints/plot.c,
+	  imagery/i.vpoints/points.c, imagery/i.vpoints/setup.c,
+	  imagery/i.vpoints/target.c, imagery/i.vpoints/title.c,
+	  imagery/i.vpoints/vectpoints.h, imagery/i.vpoints/view.c,
+	  imagery/i.vpoints/where.c, imagery/i.vpoints/zoom.c,
+	  imagery/i.vpoints/zoom_box.c, imagery/i.vpoints/zoom_pnt.c,
+	  imagery/i.zc/main.c, include/CC.h, include/G3d.h,
+	  include/P_datetime.h, include/P_site.h, include/Paintlib.h,
+	  include/V_.h, include/Vect.h, include/bdlg_bm.h,
+	  include/bitmap.h, include/blas.h, include/btree.h,
+	  include/cdhc.h, include/cluster.h, include/colors.h,
+	  include/datetime.h, include/dbmi.h, include/devlib.h,
+	  include/dig_atts.h, include/display.h, include/dlg.h,
+	  include/dlg_bm.h, include/edit.h, include/form.h,
+	  include/freetypecap.h, include/gis.h, include/gisdefs.h,
+	  include/glocale.h, include/gmath.h, include/gprojects.h,
+	  include/graphics.h, include/gstypes.h, include/gsurf.h,
+	  include/ibtree.h, include/icon.h, include/icon_bm.h,
+	  include/imagedefs.h, include/imagery.h, include/keyframe.h,
+	  include/kftypes.h, include/la.h, include/label_bm.h,
+	  include/lapack.h, include/libtrans.h, include/linkm.h,
+	  include/lock.h, include/monitors.h, include/nviz.h,
+	  include/ogsf_proto.h, include/ortholib.h, include/patterns.h,
+	  include/proto_dbmi.h, include/raster.h, include/readsites.h,
+	  include/region_bm.h, include/rowio.h, include/search.h,
+	  include/segment.h, include/shhopt.h, include/site.h,
+	  include/sitelib.h, include/spawn.h, include/sqlp.h,
+	  include/stats.h, include/std_incs.h, include/symbol.h,
+	  include/transform.h, include/vask.h, include/vbuildlib.h,
+	  include/vect/dig_defines.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, include/vedit.h,
+	  lib/arraystats/basic.c, lib/arraystats/class.c,
+	  lib/bitmap/bitmap.c, lib/bitmap/main.c, lib/bitmap/smain.c,
+	  lib/bitmap/sparse.c, lib/btree/create.c, lib/btree/find.c,
+	  lib/btree/free.c, lib/btree/next.c, lib/btree/rewind.c,
+	  lib/btree/try.c, lib/btree/update.c, lib/cairodriver/Box.c,
+	  lib/cairodriver/Client.c, lib/cairodriver/Color.c,
+	  lib/cairodriver/Draw_bitmap.c, lib/cairodriver/Draw_line.c,
+	  lib/cairodriver/Draw_point.c, lib/cairodriver/Driver.c,
+	  lib/cairodriver/Erase.c, lib/cairodriver/Graph.c,
+	  lib/cairodriver/Line_width.c, lib/cairodriver/Poly.c,
+	  lib/cairodriver/Raster.c, lib/cairodriver/Respond.c,
+	  lib/cairodriver/Set_window.c, lib/cairodriver/cairodriver.h,
+	  lib/cairodriver/read.c, lib/cairodriver/read_bmp.c,
+	  lib/cairodriver/read_ppm.c, lib/cairodriver/write.c,
+	  lib/cairodriver/write_bmp.c, lib/cairodriver/write_ppm.c,
+	  lib/cdhc/andrsnde.c, lib/cdhc/andrsndn.c, lib/cdhc/as177.c,
+	  lib/cdhc/as181.c, lib/cdhc/as241.c, lib/cdhc/as66.c,
+	  lib/cdhc/c-drive.c, lib/cdhc/chisqe.c, lib/cdhc/chisqn.c,
+	  lib/cdhc/cvmw2e.c, lib/cdhc/cvmw2n.c, lib/cdhc/dagstndn.c,
+	  lib/cdhc/dcmp.c, lib/cdhc/dmax.c, lib/cdhc/dmaxe.c,
+	  lib/cdhc/durbins.c, lib/cdhc/enormp.c, lib/cdhc/extreme.c,
+	  lib/cdhc/geary.c, lib/cdhc/kotz.c, lib/cdhc/kse.c,
+	  lib/cdhc/ksn.c, lib/cdhc/kuiprsve.c, lib/cdhc/kuiprsvn.c,
+	  lib/cdhc/local_proto.h, lib/cdhc/normp.c, lib/cdhc/omnibus.c,
+	  lib/cdhc/royston.c, lib/cdhc/shapiro1.c, lib/cdhc/shapiro2.c,
+	  lib/cdhc/shapiroe.c, lib/cdhc/watsonue.c, lib/cdhc/watsonun.c,
+	  lib/cdhc/weisberg.c, lib/cdhc/xinormal.c, lib/cluster/c_assign.c,
+	  lib/cluster/c_begin.c, lib/cluster/c_clear.c,
+	  lib/cluster/c_distinct.c, lib/cluster/c_exec.c,
+	  lib/cluster/c_execmem.c, lib/cluster/c_means.c,
+	  lib/cluster/c_merge.c, lib/cluster/c_nclasses.c,
+	  lib/cluster/c_point.c, lib/cluster/c_reassign.c,
+	  lib/cluster/c_reclass.c, lib/cluster/c_sep.c,
+	  lib/cluster/c_sig.c, lib/cluster/c_sum2.c,
+	  lib/datetime/between.c, lib/datetime/change.c,
+	  lib/datetime/copy.c, lib/datetime/diff.c, lib/datetime/error.c,
+	  lib/datetime/format.c, lib/datetime/incr1.c,
+	  lib/datetime/incr2.c, lib/datetime/incr3.c, lib/datetime/local.c,
+	  lib/datetime/misc.c, lib/datetime/same.c, lib/datetime/scan.c,
+	  lib/datetime/sign.c, lib/datetime/type.c, lib/datetime/tz1.c,
+	  lib/datetime/tz2.c, lib/datetime/values.c,
+	  lib/db/dbmi_base/alloc.c, lib/db/dbmi_base/case.c,
+	  lib/db/dbmi_base/column.c, lib/db/dbmi_base/columnfmt.c,
+	  lib/db/dbmi_base/connect.c, lib/db/dbmi_base/cursor.c,
+	  lib/db/dbmi_base/datetime.c, lib/db/dbmi_base/dbmscap.c,
+	  lib/db/dbmi_base/default_name.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/error.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/index.c, lib/db/dbmi_base/interval.c,
+	  lib/db/dbmi_base/isdir.c, lib/db/dbmi_base/legal_dbname.c,
+	  lib/db/dbmi_base/login.c, lib/db/dbmi_base/ret_codes.c,
+	  lib/db/dbmi_base/sqlCtype.c, lib/db/dbmi_base/sqltype.c,
+	  lib/db/dbmi_base/string.c, lib/db/dbmi_base/strip.c,
+	  lib/db/dbmi_base/table.c, lib/db/dbmi_base/token.c,
+	  lib/db/dbmi_base/value.c, lib/db/dbmi_base/valuefmt.c,
+	  lib/db/dbmi_base/whoami.c, lib/db/dbmi_base/xdr.c,
+	  lib/db/dbmi_base/xdr.h, lib/db/dbmi_base/xdrchar.c,
+	  lib/db/dbmi_base/xdrcolumn.c, lib/db/dbmi_base/xdrdatetime.c,
+	  lib/db/dbmi_base/xdrdouble.c, lib/db/dbmi_base/xdrfloat.c,
+	  lib/db/dbmi_base/xdrhandle.c, lib/db/dbmi_base/xdrindex.c,
+	  lib/db/dbmi_base/xdrint.c, lib/db/dbmi_base/xdrprocedure.c,
+	  lib/db/dbmi_base/xdrshort.c, lib/db/dbmi_base/xdrstring.c,
+	  lib/db/dbmi_base/xdrtable.c, lib/db/dbmi_base/xdrtoken.c,
+	  lib/db/dbmi_base/xdrvalue.c, lib/db/dbmi_base/zero.c,
+	  lib/db/dbmi_client/c_add_col.c,
+	  lib/db/dbmi_client/c_bindupdate.c,
+	  lib/db/dbmi_client/c_close_cur.c, lib/db/dbmi_client/c_closedb.c,
+	  lib/db/dbmi_client/c_create_idx.c,
+	  lib/db/dbmi_client/c_create_tab.c,
+	  lib/db/dbmi_client/c_createdb.c, lib/db/dbmi_client/c_delete.c,
+	  lib/db/dbmi_client/c_deletedb.c,
+	  lib/db/dbmi_client/c_desc_table.c,
+	  lib/db/dbmi_client/c_drop_col.c,
+	  lib/db/dbmi_client/c_drop_index.c,
+	  lib/db/dbmi_client/c_drop_tab.c, lib/db/dbmi_client/c_execute.c,
+	  lib/db/dbmi_client/c_fetch.c, lib/db/dbmi_client/c_finddb.c,
+	  lib/db/dbmi_client/c_insert.c,
+	  lib/db/dbmi_client/c_list_drivers.c,
+	  lib/db/dbmi_client/c_list_idx.c,
+	  lib/db/dbmi_client/c_list_tabs.c, lib/db/dbmi_client/c_listdb.c,
+	  lib/db/dbmi_client/c_opendb.c, lib/db/dbmi_client/c_openinsert.c,
+	  lib/db/dbmi_client/c_openselect.c,
+	  lib/db/dbmi_client/c_openupdate.c, lib/db/dbmi_client/c_priv.c,
+	  lib/db/dbmi_client/c_rows.c, lib/db/dbmi_client/c_update.c,
+	  lib/db/dbmi_client/c_version.c, lib/db/dbmi_client/column.c,
+	  lib/db/dbmi_client/copy_tab.c, lib/db/dbmi_client/db.c,
+	  lib/db/dbmi_client/delete_tab.c, lib/db/dbmi_client/printtab.c,
+	  lib/db/dbmi_client/select.c, lib/db/dbmi_client/shutdown.c,
+	  lib/db/dbmi_client/start.c, lib/db/dbmi_client/table.c,
+	  lib/db/dbmi_driver/d_add_col.c,
+	  lib/db/dbmi_driver/d_bindupdate.c,
+	  lib/db/dbmi_driver/d_close_cur.c, lib/db/dbmi_driver/d_closedb.c,
+	  lib/db/dbmi_driver/d_create_idx.c,
+	  lib/db/dbmi_driver/d_create_tab.c,
+	  lib/db/dbmi_driver/d_createdb.c, lib/db/dbmi_driver/d_delete.c,
+	  lib/db/dbmi_driver/d_deletedb.c,
+	  lib/db/dbmi_driver/d_desc_table.c,
+	  lib/db/dbmi_driver/d_drop_col.c,
+	  lib/db/dbmi_driver/d_drop_index.c,
+	  lib/db/dbmi_driver/d_drop_tab.c, lib/db/dbmi_driver/d_execute.c,
+	  lib/db/dbmi_driver/d_fetch.c, lib/db/dbmi_driver/d_finddb.c,
+	  lib/db/dbmi_driver/d_insert.c, lib/db/dbmi_driver/d_list_idx.c,
+	  lib/db/dbmi_driver/d_list_tabs.c, lib/db/dbmi_driver/d_listdb.c,
+	  lib/db/dbmi_driver/d_mkdir.c, lib/db/dbmi_driver/d_opendb.c,
+	  lib/db/dbmi_driver/d_openinsert.c,
+	  lib/db/dbmi_driver/d_openselect.c,
+	  lib/db/dbmi_driver/d_openupdate.c, lib/db/dbmi_driver/d_priv.c,
+	  lib/db/dbmi_driver/d_rows.c, lib/db/dbmi_driver/d_update.c,
+	  lib/db/dbmi_driver/d_version.c, lib/db/dbmi_driver/dbstubs.h,
+	  lib/db/dbmi_driver/driver.c, lib/db/dbmi_driver/driver_state.c,
+	  lib/db/dbmi_driver/procs.h, lib/db/sqlp/alloc.c,
+	  lib/db/sqlp/print.c, lib/db/sqlp/sql.c,
+	  lib/db/sqlp/test/sqlptest.c, lib/db/stubs/add_col.c,
+	  lib/db/stubs/bindupdate.c, lib/db/stubs/close_cursor.c,
+	  lib/db/stubs/closedb.c, lib/db/stubs/create_index.c,
+	  lib/db/stubs/create_table.c, lib/db/stubs/createdb.c,
+	  lib/db/stubs/delete.c, lib/db/stubs/deletedb.c,
+	  lib/db/stubs/desc_table.c, lib/db/stubs/drop_col.c,
+	  lib/db/stubs/drop_index.c, lib/db/stubs/drop_table.c,
+	  lib/db/stubs/execute.c, lib/db/stubs/fetch.c,
+	  lib/db/stubs/finddb.c, lib/db/stubs/finish.c,
+	  lib/db/stubs/init.c, lib/db/stubs/insert.c,
+	  lib/db/stubs/list_index.c, lib/db/stubs/list_tables.c,
+	  lib/db/stubs/listdb.c, lib/db/stubs/open_insert.c,
+	  lib/db/stubs/open_select.c, lib/db/stubs/open_update.c,
+	  lib/db/stubs/opendb.c, lib/db/stubs/priv.c, lib/db/stubs/rows.c,
+	  lib/db/stubs/transaction.c, lib/db/stubs/update.c,
+	  lib/display/cnversions.c, lib/display/draw.c,
+	  lib/display/draw2.c, lib/display/get_win.c,
+	  lib/display/ident_win.c, lib/display/list.c, lib/display/popup.c,
+	  lib/display/raster.c, lib/display/raster2.c, lib/display/setup.c,
+	  lib/display/symbol.c, lib/display/tran_colr.c,
+	  lib/display/window.c, lib/driver/Bitmap.c, lib/driver/Box.c,
+	  lib/driver/Client.c, lib/driver/Color.c, lib/driver/Cont.c,
+	  lib/driver/Draw.c, lib/driver/Erase.c, lib/driver/Font.c,
+	  lib/driver/Get_location.c, lib/driver/Get_t_box.c,
+	  lib/driver/Graph.c, lib/driver/Line_width.c, lib/driver/Move.c,
+	  lib/driver/Panel.c, lib/driver/Polydots.c, lib/driver/Polygon.c,
+	  lib/driver/Polyline.c, lib/driver/Raster.c, lib/driver/Respond.c,
+	  lib/driver/Returns.c, lib/driver/Set_window.c, lib/driver/Text.c,
+	  lib/driver/Text_size.c, lib/driver/Work.c, lib/driver/command.c,
+	  lib/driver/connect_sock.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/font2.c,
+	  lib/driver/font_freetype.c, lib/driver/init.c, lib/driver/main.c,
+	  lib/driver/pad.c, lib/driver/pad.h, lib/driver/parse_ftcap.c,
+	  lib/driver/text2.c, lib/driver/text3.c, lib/dspf/cell_table.h,
+	  lib/dspf/cube_io.c, lib/dspf/dspf_header.c,
+	  lib/dspf/print_info.c, lib/dspf/struct_copy.c, lib/dspf/viz.h,
+	  lib/edit/edit_cats.c, lib/edit/edit_cellhd.c,
+	  lib/edit/edit_hist.c, lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/safileio.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c, lib/form/form.c,
+	  lib/form/generate.c, lib/form/open.c, lib/g3d/G3d_intern.h,
+	  lib/g3d/cache.c, lib/g3d/cachehash.c, lib/g3d/cachehash.h,
+	  lib/g3d/changeprecision.c, lib/g3d/changetype.c,
+	  lib/g3d/filecompare.c, lib/g3d/filename.c, lib/g3d/find_grid3.c,
+	  lib/g3d/fpcompress.c, lib/g3d/g3dalloc.c, lib/g3d/g3dcache.c,
+	  lib/g3d/g3dcats.c, lib/g3d/g3dclose.c, lib/g3d/g3dcolor.c,
+	  lib/g3d/g3ddefaults.c, lib/g3d/g3ddoubleio.c, lib/g3d/g3derror.c,
+	  lib/g3d/g3dfpxdr.c, lib/g3d/g3dhistory.c, lib/g3d/g3dintio.c,
+	  lib/g3d/g3dkeys.c, lib/g3d/g3dlong.c, lib/g3d/g3dmapset.c,
+	  lib/g3d/g3dmask.c, lib/g3d/g3dmisc.c, lib/g3d/g3dnull.c,
+	  lib/g3d/g3dopen.c, lib/g3d/g3dopen2.c, lib/g3d/g3dparam.c,
+	  lib/g3d/g3drange.c, lib/g3d/g3dregion.c, lib/g3d/g3dresample.c,
+	  lib/g3d/g3dvolume.c, lib/g3d/g3dwindow.c, lib/g3d/g3dwindowio.c,
+	  lib/g3d/getblock.c, lib/g3d/header.c, lib/g3d/headerinfo.c,
+	  lib/g3d/index.c, lib/g3d/retile.c, lib/g3d/rle.c,
+	  lib/g3d/tilealloc.c, lib/g3d/tileio.c, lib/g3d/tilemath.c,
+	  lib/g3d/tilenull.c, lib/g3d/tileread.c, lib/g3d/tilewrite.c,
+	  lib/g3d/writeascii.c, lib/gis/G.h, lib/gis/adj_cellhd.c,
+	  lib/gis/align_window.c, lib/gis/alloc.c, lib/gis/alloc_cell.c,
+	  lib/gis/area.c, lib/gis/area_ellipse.c, lib/gis/area_poly1.c,
+	  lib/gis/area_poly2.c, lib/gis/area_sphere.c, lib/gis/ascii_chk.c,
+	  lib/gis/ask.c, lib/gis/ask_cell.c, lib/gis/ask_vctrs.c,
+	  lib/gis/asprintf.c, lib/gis/auto_mask.c, lib/gis/basename.c,
+	  lib/gis/bres_line.c, lib/gis/cats.c, lib/gis/cell_stats.c,
+	  lib/gis/cell_title.c, lib/gis/cellstats_eq.c,
+	  lib/gis/clear_scrn.c, lib/gis/clicker.c, lib/gis/closecell.c,
+	  lib/gis/color_compat.c, lib/gis/color_free.c,
+	  lib/gis/color_get.c, lib/gis/color_hist.c, lib/gis/color_init.c,
+	  lib/gis/color_insrt.c, lib/gis/color_invrt.c,
+	  lib/gis/color_look.c, lib/gis/color_org.c, lib/gis/color_rand.c,
+	  lib/gis/color_range.c, lib/gis/color_read.c,
+	  lib/gis/color_remove.c, lib/gis/color_rule.c,
+	  lib/gis/color_rule_get.c, lib/gis/color_rules.c,
+	  lib/gis/color_set.c, lib/gis/color_shift.c, lib/gis/color_str.c,
+	  lib/gis/color_write.c, lib/gis/color_xform.c, lib/gis/commas.c,
+	  lib/gis/copy.c, lib/gis/copy_dir.c, lib/gis/copy_file.c,
+	  lib/gis/date.c, lib/gis/datum.c, lib/gis/debug.c,
+	  lib/gis/dig_title.c, lib/gis/distance.c, lib/gis/done_msg.c,
+	  lib/gis/endian.c, lib/gis/env.c, lib/gis/error.c,
+	  lib/gis/file_name.c, lib/gis/find_cell.c, lib/gis/find_etc.c,
+	  lib/gis/find_file.c, lib/gis/find_vect.c, lib/gis/flate.c,
+	  lib/gis/fork.c, lib/gis/format.c, lib/gis/fpreclass.c,
+	  lib/gis/geodesic.c, lib/gis/geodist.c, lib/gis/get_cellhd.c,
+	  lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_ellipse.c, lib/gis/get_projinfo.c,
+	  lib/gis/get_projname.c, lib/gis/get_row.c,
+	  lib/gis/get_row_colr.c, lib/gis/get_window.c, lib/gis/getl.c,
+	  lib/gis/gets.c, lib/gis/gisbase.c, lib/gis/gisdbase.c,
+	  lib/gis/gishelp.c, lib/gis/gisinit.c, lib/gis/histo_eq.c,
+	  lib/gis/histogram.c, lib/gis/history.c, lib/gis/home.c,
+	  lib/gis/icon.c, lib/gis/index.c, lib/gis/init_map.c,
+	  lib/gis/interp.c, lib/gis/intersect.c, lib/gis/intr_char.c,
+	  lib/gis/is.c, lib/gis/key_value1.c, lib/gis/key_value2.c,
+	  lib/gis/key_value3.c, lib/gis/key_value4.c, lib/gis/legal_name.c,
+	  lib/gis/line_dist.c, lib/gis/list.c, lib/gis/ll_format.c,
+	  lib/gis/ll_scan.c, lib/gis/locale.c, lib/gis/location.c,
+	  lib/gis/ls.c, lib/gis/mach_name.c, lib/gis/make_colr.c,
+	  lib/gis/make_loc.c, lib/gis/make_mapset.c, lib/gis/mapcase.c,
+	  lib/gis/mapset.c, lib/gis/mapset_msc.c, lib/gis/mapset_nme.c,
+	  lib/gis/mask_info.c, lib/gis/maskfd.c, lib/gis/myname.c,
+	  lib/gis/named_colr.c, lib/gis/nl_to_spaces.c,
+	  lib/gis/nme_in_mps.c, lib/gis/null_val.c, lib/gis/open.c,
+	  lib/gis/open_misc.c, lib/gis/opencell.c, lib/gis/overwrite.c,
+	  lib/gis/parser.c, lib/gis/paths.c, lib/gis/percent.c,
+	  lib/gis/plot.c, lib/gis/pole_in_poly.c, lib/gis/popen.c,
+	  lib/gis/progrm_nme.c, lib/gis/proj1.c, lib/gis/proj2.c,
+	  lib/gis/proj3.c, lib/gis/put_cellhd.c, lib/gis/put_row.c,
+	  lib/gis/put_title.c, lib/gis/put_window.c, lib/gis/putenv.c,
+	  lib/gis/quant.c, lib/gis/quant_io.c, lib/gis/quant_rw.c,
+	  lib/gis/radii.c, lib/gis/range.c, lib/gis/raster.c,
+	  lib/gis/raster_metadata.c, lib/gis/rd_cellhd.c,
+	  lib/gis/reclass.c, lib/gis/remove.c, lib/gis/rename.c,
+	  lib/gis/rhumbline.c, lib/gis/rotate.c, lib/gis/sample.c,
+	  lib/gis/set_window.c, lib/gis/short_way.c, lib/gis/sleep.c,
+	  lib/gis/snprintf.c, lib/gis/spawn.c, lib/gis/squeeze.c,
+	  lib/gis/store.c, lib/gis/strings.c, lib/gis/system.c,
+	  lib/gis/tempfile.c, lib/gis/timestamp.c, lib/gis/token.c,
+	  lib/gis/trim_dec.c, lib/gis/unctrl.c, lib/gis/unix_socks.c,
+	  lib/gis/user_config.c, lib/gis/verbose.c, lib/gis/view.c,
+	  lib/gis/whoami.c, lib/gis/win32_pipes.c, lib/gis/wind_2_box.c,
+	  lib/gis/wind_format.c, lib/gis/wind_in.c, lib/gis/wind_limits.c,
+	  lib/gis/wind_overlap.c, lib/gis/wind_scan.c,
+	  lib/gis/window_map.c, lib/gis/wr_cellhd.c, lib/gis/writ_zeros.c,
+	  lib/gis/yes.c, lib/gis/zero.c, lib/gis/zero_cell.c,
+	  lib/gis/zone.c, lib/gmath/brent.c, lib/gmath/dalloc.c,
+	  lib/gmath/del2g.c, lib/gmath/eigen.c, lib/gmath/eigen_tools.c,
+	  lib/gmath/fft.c, lib/gmath/findzc.c, lib/gmath/gauss.c,
+	  lib/gmath/getg.c, lib/gmath/ialloc.c, lib/gmath/jacobi.c,
+	  lib/gmath/la.c, lib/gmath/lu.c, lib/gmath/max_pow2.c,
+	  lib/gmath/mult.c, lib/gmath/rand1.c, lib/gmath/svd.c,
+	  lib/gpde/N_arrays.c, lib/gpde/N_arrays_calc.c,
+	  lib/gpde/N_arrays_io.c, lib/gpde/N_geom.c, lib/gpde/N_gradient.c,
+	  lib/gpde/N_gradient_calc.c, lib/gpde/N_gwflow.c,
+	  lib/gpde/N_heatflow.h, lib/gpde/N_les.c,
+	  lib/gpde/N_les_assemble.c, lib/gpde/N_pde.h,
+	  lib/gpde/N_solute_transport.c, lib/gpde/N_solute_transport.h,
+	  lib/gpde/N_solvers.c, lib/gpde/N_solvers_krylov.c,
+	  lib/gpde/N_tools.c, lib/gpde/N_upwind.c,
+	  lib/gpde/solvers_local_proto.h, lib/gpde/test/test_arrays.c,
+	  lib/gpde/test/test_assemble.c, lib/gpde/test/test_geom.c,
+	  lib/gpde/test/test_gpde_lib.h, lib/gpde/test/test_gradient.c,
+	  lib/gpde/test/test_gwflow.c, lib/gpde/test/test_heat.c,
+	  lib/gpde/test/test_main.c, lib/gpde/test/test_solute_transport.c,
+	  lib/gpde/test/test_solvers.c, lib/gpde/test/test_tools.c,
+	  lib/gtcltk/grocat.c, lib/imagery/alloc.c,
+	  lib/imagery/ask_group.c, lib/imagery/eol.c, lib/imagery/find.c,
+	  lib/imagery/fopen.c, lib/imagery/georef.c, lib/imagery/group.c,
+	  lib/imagery/list_gp.c, lib/imagery/list_subgp.c,
+	  lib/imagery/loc_info.c, lib/imagery/ls_groups.c,
+	  lib/imagery/points.c, lib/imagery/ref.c, lib/imagery/sig.c,
+	  lib/imagery/sigfile.c, lib/imagery/sigset.c,
+	  lib/imagery/sigsetfile.c, lib/imagery/target.c,
+	  lib/imagery/title.c, lib/imagery/var.c, lib/init/chk_dbase.c,
+	  lib/init/clean_temp.c, lib/init/echo.c, lib/init/local_proto.h,
+	  lib/init/lock.c, lib/init/mke_loc.c, lib/init/mke_mapset.c,
+	  lib/init/other.c, lib/init/run.c, lib/init/set_data.c,
+	  lib/linkm/destroy.c, lib/linkm/dispose.c, lib/linkm/init.c,
+	  lib/linkm/linkm.c, lib/linkm/malloc.c, lib/linkm/new.c,
+	  lib/linkm/next.c, lib/linkm/oom.c, lib/linkm/speed.c,
+	  lib/linkm/speed2.c, lib/linkm/speed3.c, lib/linkm/try.c,
+	  lib/linkm/try2.c, lib/nviz/change_view.c, lib/nviz/cplanes_obj.c,
+	  lib/nviz/draw.c, lib/nviz/exag.c, lib/nviz/lights.c,
+	  lib/nviz/map_obj.c, lib/nviz/nviz.c, lib/nviz/position.c,
+	  lib/nviz/render.c, lib/nviz/render.h, lib/ogsf/GK2.c,
+	  lib/ogsf/GP2.c, lib/ogsf/GS2.c, lib/ogsf/GSX.c,
+	  lib/ogsf/GS_util.c, lib/ogsf/GV2.c, lib/ogsf/GVL2.c,
+	  lib/ogsf/Gp3.c, lib/ogsf/Gs3.c, lib/ogsf/Gv3.c, lib/ogsf/Gvl3.c,
+	  lib/ogsf/gk.c, lib/ogsf/gp.c, lib/ogsf/gpd.c, lib/ogsf/gs.c,
+	  lib/ogsf/gs_bm.c, lib/ogsf/gs_norms.c, lib/ogsf/gs_query.c,
+	  lib/ogsf/gsd_cplane.c, lib/ogsf/gsd_fonts.c,
+	  lib/ogsf/gsd_fringe.c, lib/ogsf/gsd_img_mpeg.c,
+	  lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c,
+	  lib/ogsf/gsd_label.c, lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c,
+	  lib/ogsf/gsd_prim.c, lib/ogsf/gsd_surf.c, lib/ogsf/gsd_views.c,
+	  lib/ogsf/gsd_wire.c, lib/ogsf/gsdiff.c, lib/ogsf/gsdrape.c,
+	  lib/ogsf/gsds.c, lib/ogsf/gsget.c, lib/ogsf/gsget.h,
+	  lib/ogsf/gv.c, lib/ogsf/gv_quick.c, lib/ogsf/gvd.c,
+	  lib/ogsf/gvl.c, lib/ogsf/gvl_calc.c, lib/ogsf/gvl_calc2.c,
+	  lib/ogsf/gvl_file.c, lib/ogsf/gvld.c, lib/ogsf/mc33_table.h,
+	  lib/ogsf/trans.c, lib/pngdriver/Box.c, lib/pngdriver/Client.c,
+	  lib/pngdriver/Color.c, lib/pngdriver/Color_table.c,
+	  lib/pngdriver/Draw_bitmap.c, lib/pngdriver/Draw_line.c,
+	  lib/pngdriver/Draw_point.c, lib/pngdriver/Driver.c,
+	  lib/pngdriver/Erase.c, lib/pngdriver/Graph_close.c,
+	  lib/pngdriver/Graph_set.c, lib/pngdriver/Line_width.c,
+	  lib/pngdriver/Raster.c, lib/pngdriver/Respond.c,
+	  lib/pngdriver/Set_window.c, lib/pngdriver/pngdriver.h,
+	  lib/pngdriver/read.c, lib/pngdriver/read_bmp.c,
+	  lib/pngdriver/read_png.c, lib/pngdriver/read_ppm.c,
+	  lib/pngdriver/write.c, lib/pngdriver/write_bmp.c,
+	  lib/pngdriver/write_png.c, lib/pngdriver/write_ppm.c,
+	  lib/proj/convert.c, lib/proj/datum.c, lib/proj/do_proj.c,
+	  lib/proj/ellipse.c, lib/proj/get_proj.c, lib/proj/local_proto.h,
+	  lib/psdriver/Box.c, lib/psdriver/Client.c, lib/psdriver/Color.c,
+	  lib/psdriver/Color_table.c, lib/psdriver/Draw_bitmap.c,
+	  lib/psdriver/Draw_line.c, lib/psdriver/Draw_point.c,
+	  lib/psdriver/Driver.c, lib/psdriver/Erase.c,
+	  lib/psdriver/Graph_close.c, lib/psdriver/Graph_set.c,
+	  lib/psdriver/Line_width.c, lib/psdriver/Polygon.c,
+	  lib/psdriver/Polyline.c, lib/psdriver/Raster.c,
+	  lib/psdriver/Respond.c, lib/psdriver/Set_window.c,
+	  lib/psdriver/psdriver.h, lib/raster/com_get.c,
+	  lib/raster/com_io.c, lib/raster/com_pad.c,
+	  lib/raster/com_proto.c, lib/raster/common.c,
+	  lib/raster/io_sock.c, lib/raster/loc_get.c, lib/raster/loc_io.c,
+	  lib/raster/loc_pad.c, lib/raster/loc_proto.c, lib/raster/open.h,
+	  lib/raster/parse_mon.c, lib/raster/rem_get.c,
+	  lib/raster/rem_io.c, lib/raster/rem_pad.c,
+	  lib/raster/rem_proto.c, lib/raster/transport.h,
+	  lib/rowio/fileno.c, lib/rowio/forget.c, lib/rowio/get.c,
+	  lib/rowio/put.c, lib/rowio/release.c, lib/rowio/setup.c,
+	  lib/rst/data/dataquad.c, lib/rst/data/dataquad.h,
+	  lib/rst/interp_float/distance.c, lib/rst/interp_float/func2d.c,
+	  lib/rst/interp_float/init2d.c, lib/rst/interp_float/input2d.c,
+	  lib/rst/interp_float/interp2d.c, lib/rst/interp_float/interpf.h,
+	  lib/rst/interp_float/matrix.c, lib/rst/interp_float/minmax.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/point2d.c,
+	  lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/secpar2d.c, lib/rst/interp_float/segmen2d.c,
+	  lib/rst/interp_float/vinput2d.c, lib/rst/interp_float/write2d.c,
+	  lib/rst/qtree/qtree.c, lib/rst/qtree/qtree.h,
+	  lib/segment/address.c, lib/segment/debug.c, lib/segment/flush.c,
+	  lib/segment/format.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/init.c, lib/segment/pagein.c, lib/segment/pageout.c,
+	  lib/segment/put.c, lib/segment/put_row.c, lib/segment/release.c,
+	  lib/segment/seek.c, lib/segment/setup.c, lib/segment/try.c,
+	  lib/sites/sites.c, lib/stats/c_ave.c, lib/stats/c_count.c,
+	  lib/stats/c_divr.c, lib/stats/c_intr.c, lib/stats/c_kurt.c,
+	  lib/stats/c_max.c, lib/stats/c_maxx.c, lib/stats/c_median.c,
+	  lib/stats/c_min.c, lib/stats/c_minx.c, lib/stats/c_mode.c,
+	  lib/stats/c_percentile.c, lib/stats/c_range.c, lib/stats/c_reg.c,
+	  lib/stats/c_skew.c, lib/stats/c_stddev.c, lib/stats/c_sum.c,
+	  lib/stats/c_var.c, lib/stats/sort_cell.c, lib/symbol/read.c,
+	  lib/symbol/stroke.c, lib/vask/V_acc.c, lib/vask/V_call.c,
+	  lib/vask/V_clear.c, lib/vask/V_const.c, lib/vask/V_error.c,
+	  lib/vask/V_exit.c, lib/vask/V_init.c, lib/vask/V_line.c,
+	  lib/vask/V_ques.c, lib/vask/V_support.c, lib/vask/V_trim_dec.c,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/box.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/buffer.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/cindex.c,
+	  lib/vector/Vlib/clean_nodes.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_nat.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/dangles.c,
+	  lib/vector/Vlib/dbcolumns.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/graph.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/hist.c, lib/vector/Vlib/init_head.c,
+	  lib/vector/Vlib/intersect.c, lib/vector/Vlib/legal_vname.c,
+	  lib/vector/Vlib/level.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/list.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/overlap.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_ogr.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/Vlib/snap.c, lib/vector/Vlib/tin.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/window.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/dglib/avl.c, lib/vector/dglib/avl.h,
+	  lib/vector/dglib/edgemgmt-template.c,
+	  lib/vector/dglib/examples/components.c,
+	  lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/cr_large_graph.c,
+	  lib/vector/dglib/examples/delnode.c,
+	  lib/vector/dglib/examples/minspan.c,
+	  lib/vector/dglib/examples/opt.c, lib/vector/dglib/examples/opt.h,
+	  lib/vector/dglib/examples/parse.c,
+	  lib/vector/dglib/examples/shortest_path.c,
+	  lib/vector/dglib/examples/span.c,
+	  lib/vector/dglib/examples/unflatten.c,
+	  lib/vector/dglib/examples/view.c, lib/vector/dglib/graph.c,
+	  lib/vector/dglib/graph.h, lib/vector/dglib/graph_v1.c,
+	  lib/vector/dglib/graph_v1.h, lib/vector/dglib/graph_v2.c,
+	  lib/vector/dglib/graph_v2.h, lib/vector/dglib/heap.c,
+	  lib/vector/dglib/heap.h, lib/vector/dglib/helpers.c,
+	  lib/vector/dglib/helpers.h, lib/vector/dglib/misc-template.c,
+	  lib/vector/dglib/nodemgmt-template.c,
+	  lib/vector/dglib/sp-template.c, lib/vector/dglib/span-template.c,
+	  lib/vector/dglib/tavl.c, lib/vector/dglib/tavl.h,
+	  lib/vector/dglib/tree.c, lib/vector/dglib/tree.h,
+	  lib/vector/dglib/type.h, lib/vector/diglib/allocation.c,
+	  lib/vector/diglib/angle.c, lib/vector/diglib/box.c,
+	  lib/vector/diglib/cindex.c, lib/vector/diglib/cindex_rw.c,
+	  lib/vector/diglib/file.c, lib/vector/diglib/frmt.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/inside.c,
+	  lib/vector/diglib/line_dist.c, lib/vector/diglib/linecros.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_node.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/poly.c, lib/vector/diglib/port_init.c,
+	  lib/vector/diglib/port_test.c, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/portable/i386-pc-mingw32msvc.h,
+	  lib/vector/diglib/prune.c, lib/vector/diglib/spindex.c,
+	  lib/vector/diglib/spindex_rw.c, lib/vector/diglib/struct_alloc.c,
+	  lib/vector/diglib/test.c, lib/vector/diglib/type.c,
+	  lib/vector/diglib/update.c, lib/vector/rtree/card.c,
+	  lib/vector/rtree/card.h, lib/vector/rtree/gammavol.c,
+	  lib/vector/rtree/index.c, lib/vector/rtree/index.h,
+	  lib/vector/rtree/node.c, lib/vector/rtree/rect.c,
+	  lib/vector/rtree/rtree.h, lib/vector/rtree/sphvol.c,
+	  lib/vector/rtree/split_q.c, lib/vector/rtree/split_q.h,
+	  lib/vector/rtree/test.c, lib/vector/transform/inverse.c,
+	  lib/vector/transform/m_mult.c, lib/vector/transform/transform.c,
+	  lib/vector/vedit/break.c, lib/vector/vedit/cats.c,
+	  lib/vector/vedit/chtype.c, lib/vector/vedit/copy.c,
+	  lib/vector/vedit/delete.c, lib/vector/vedit/distance.c,
+	  lib/vector/vedit/flip.c, lib/vector/vedit/merge.c,
+	  lib/vector/vedit/move.c, lib/vector/vedit/select.c,
+	  lib/vector/vedit/snap.c, lib/vector/vedit/vertex.c,
+	  lib/vector/vedit/zbulk.c, misc/m.cogo/main.c, ps/ps.map/border.h,
+	  ps/ps.map/box.c, ps/ps.map/catval.c, ps/ps.map/chk_scale.c,
+	  ps/ps.map/clr.h, ps/ps.map/colortable.h, ps/ps.map/comment.c,
+	  ps/ps.map/comment.h, ps/ps.map/decorate.h, ps/ps.map/distance.c,
+	  ps/ps.map/do_geogrid.c, ps/ps.map/do_grid.c,
+	  ps/ps.map/do_header.c, ps/ps.map/do_labels.c,
+	  ps/ps.map/do_masking.c, ps/ps.map/do_plt.c,
+	  ps/ps.map/do_psfiles.c, ps/ps.map/do_scalebar.c,
+	  ps/ps.map/do_vectors.c, ps/ps.map/eps.c, ps/ps.map/error.c,
+	  ps/ps.map/fit_map.c, ps/ps.map/get_font.c,
+	  ps/ps.map/get_scalebar.c, ps/ps.map/getgrid.c,
+	  ps/ps.map/gprims.c, ps/ps.map/group.h, ps/ps.map/header.h,
+	  ps/ps.map/input.c, ps/ps.map/key_data.c, ps/ps.map/labels.h,
+	  ps/ps.map/local_proto.h, ps/ps.map/main.c, ps/ps.map/makeprocs.c,
+	  ps/ps.map/map_info.c, ps/ps.map/map_info.h,
+	  ps/ps.map/map_setup.c, ps/ps.map/mtextbox.c, ps/ps.map/outl_io.c,
+	  ps/ps.map/paper.h, ps/ps.map/parse_list.c, ps/ps.map/ps_clrtbl.c,
+	  ps/ps.map/ps_colors.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/ps_header.c, ps/ps.map/ps_info.h, ps/ps.map/ps_map.c,
+	  ps/ps.map/ps_outline.c, ps/ps.map/ps_raster.c,
+	  ps/ps.map/ps_vareas.c, ps/ps.map/ps_vlegend.c,
+	  ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_border.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_colortable.c, ps/ps.map/r_group.c,
+	  ps/ps.map/r_header.c, ps/ps.map/r_info.c, ps/ps.map/r_labels.c,
+	  ps/ps.map/r_paper.c, ps/ps.map/r_plt.c, ps/ps.map/r_rgb.c,
+	  ps/ps.map/r_text.c, ps/ps.map/r_vareas.c, ps/ps.map/r_vlegend.c,
+	  ps/ps.map/r_vlines.c, ps/ps.map/r_vpoints.c, ps/ps.map/r_wind.c,
+	  ps/ps.map/read_cfg.c, ps/ps.map/scale.c, ps/ps.map/scan_gis.c,
+	  ps/ps.map/scan_misc.c, ps/ps.map/scan_ref.c, ps/ps.map/session.c,
+	  ps/ps.map/show_scale.c, ps/ps.map/symbol.c, ps/ps.map/textbox.c,
+	  ps/ps.map/vect.c, ps/ps.map/vector.c, ps/ps.map/vector.h,
+	  ps/ps.map/yesno.c, raster/r.average/main.c,
+	  raster/r.basins.fill/local_proto.h, raster/r.basins.fill/main.c,
+	  raster/r.basins.fill/read_map.c, raster/r.bitpattern/main.c,
+	  raster/r.buffer/distance.h, raster/r.buffer/execute.c,
+	  raster/r.buffer/find_dist.c, raster/r.buffer/init.c,
+	  raster/r.buffer/local_proto.h, raster/r.buffer/main.c,
+	  raster/r.buffer/parse_dist.c, raster/r.buffer/process_at.c,
+	  raster/r.buffer/process_left.c, raster/r.buffer/process_rite.c,
+	  raster/r.buffer/process_row.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/support.c, raster/r.buffer/write_map.c,
+	  raster/r.carve/enforce.h, raster/r.carve/enforce_ds.c,
+	  raster/r.carve/lobf.c, raster/r.carve/main.c,
+	  raster/r.carve/raster.c, raster/r.carve/support.c,
+	  raster/r.carve/vect.c, raster/r.cats/cats.c,
+	  raster/r.cats/local_proto.h, raster/r.cats/main.c,
+	  raster/r.circle/dist.c, raster/r.clump/clump.c,
+	  raster/r.clump/local_proto.h, raster/r.clump/main.c,
+	  raster/r.coin/check.c, raster/r.coin/cmd_parms.c,
+	  raster/r.coin/coin.h, raster/r.coin/format.c,
+	  raster/r.coin/inter.c, raster/r.coin/local_proto.h,
+	  raster/r.coin/main.c, raster/r.coin/make_coin.c,
+	  raster/r.coin/print_coin.c, raster/r.coin/print_hdr.c,
+	  raster/r.coin/prnt_entry.c, raster/r.coin/totals.c,
+	  raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/rules.c, raster/r.colors/stats.c,
+	  raster/r.composite/main.c, raster/r.compress/main.c,
+	  raster/r.contour/cont.c, raster/r.contour/local_proto.h,
+	  raster/r.contour/main.c, raster/r.cost/btree.c,
+	  raster/r.cost/cost.h, raster/r.cost/local_proto.h,
+	  raster/r.cost/main.c, raster/r.cost/memory.c,
+	  raster/r.cost/memory.h, raster/r.cost/stash.h,
+	  raster/r.covar/main.c, raster/r.cross/cats.c,
+	  raster/r.cross/cross.c, raster/r.cross/glob.h,
+	  raster/r.cross/local_proto.h, raster/r.cross/main.c,
+	  raster/r.cross/renumber.c, raster/r.cross/store.c,
+	  raster/r.cross/tree.c, raster/r.describe/describe.c,
+	  raster/r.describe/dumplist.c, raster/r.describe/local_proto.h,
+	  raster/r.describe/main.c, raster/r.describe/tree.c,
+	  raster/r.digit/bnw_line.c, raster/r.digit/create_map.c,
+	  raster/r.digit/digitize.c, raster/r.digit/get_area.c,
+	  raster/r.digit/get_circle.c, raster/r.digit/get_en.c,
+	  raster/r.digit/get_label.c, raster/r.digit/get_line.c,
+	  raster/r.digit/get_point.c, raster/r.digit/get_type.c,
+	  raster/r.digit/instruct.c, raster/r.digit/local_proto.h,
+	  raster/r.digit/main.c, raster/r.digit/setup_graph.c,
+	  raster/r.distance/defs.h, raster/r.distance/distance.c,
+	  raster/r.distance/edges.c, raster/r.distance/labels.c,
+	  raster/r.distance/main.c, raster/r.distance/parse.c,
+	  raster/r.distance/report.c, raster/r.drain/filldir.c,
+	  raster/r.drain/local.h, raster/r.drain/main.c,
+	  raster/r.drain/resolve.c, raster/r.drain/tinf.c,
+	  raster/r.drain/tinf.h, raster/r.fill.dir/dopolys.c,
+	  raster/r.fill.dir/filldir.c, raster/r.fill.dir/local.h,
+	  raster/r.fill.dir/main.c, raster/r.fill.dir/ppupdate.c,
+	  raster/r.fill.dir/resolve.c, raster/r.fill.dir/tinf.c,
+	  raster/r.fill.dir/tinf.h, raster/r.fill.dir/wtrshed.c,
+	  raster/r.flow/aspect.c, raster/r.flow/aspect.h,
+	  raster/r.flow/calc.c, raster/r.flow/io.c, raster/r.flow/io.h,
+	  raster/r.flow/mem.c, raster/r.flow/mem.h,
+	  raster/r.flow/precomp.c, raster/r.flow/precomp.h,
+	  raster/r.flow/r.flow.h, raster/r.grow.distance/main.c,
+	  raster/r.grow2/main.c, raster/r.gwflow/main.c,
+	  raster/r.his/his.c, raster/r.his/main.c,
+	  raster/r.in.arc/gethead.c, raster/r.in.arc/local_proto.h,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/gethead.c,
+	  raster/r.in.ascii/local_proto.h, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/gmt_grd.h, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.gridatb/adjcellhd.c,
+	  raster/r.in.gridatb/check_ready.c, raster/r.in.gridatb/file_io.c,
+	  raster/r.in.gridatb/local_proto.h, raster/r.in.gridatb/main.c,
+	  raster/r.in.mat/main.c, raster/r.in.poly/get_item.c,
+	  raster/r.in.poly/getformat.c, raster/r.in.poly/local_proto.h,
+	  raster/r.in.poly/main.c, raster/r.in.poly/poly2rast.c,
+	  raster/r.in.poly/raster.c, raster/r.in.xyz/local_proto.h,
+	  raster/r.in.xyz/main.c, raster/r.in.xyz/support.c,
+	  raster/r.info/main.c, raster/r.info/reclas_txt.c,
+	  raster/r.kappa/calc_kappa.c, raster/r.kappa/kappa.h,
+	  raster/r.kappa/local_proto.h, raster/r.kappa/main.c,
+	  raster/r.kappa/mask.c, raster/r.kappa/prt_hdr.c,
+	  raster/r.kappa/prt_label.c, raster/r.kappa/prt_mat.c,
+	  raster/r.kappa/stats.c, raster/r.kappa/sum.c,
+	  raster/r.lake/main.c, raster/r.le/r.le.patch/driver.c,
+	  raster/r.le/r.le.patch/input.c, raster/r.le/r.le.patch/main.c,
+	  raster/r.le/r.le.patch/patch.c, raster/r.le/r.le.patch/patch.h,
+	  raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.pixel/input.c,
+	  raster/r.le/r.le.pixel/main.c, raster/r.le/r.le.pixel/pixel.h,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/ask_group.c,
+	  raster/r.le/r.le.setup/colors.h, raster/r.le/r.le.setup/main.c,
+	  raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/polytocell/do_dots.c,
+	  raster/r.le/r.le.setup/polytocell/do_line.c,
+	  raster/r.le/r.le.setup/polytocell/find_area.c,
+	  raster/r.le/r.le.setup/polytocell/ply_t_bmif.c,
+	  raster/r.le/r.le.setup/polytocell/ply_to_cll.h,
+	  raster/r.le/r.le.setup/polytocell/save_area.c,
+	  raster/r.le/r.le.setup/polytocell/wrte_recrd.c,
+	  raster/r.le/r.le.setup/polytocell/yadjust.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.setup/setup.h,
+	  raster/r.le/r.le.trace/local_proto.h,
+	  raster/r.le/r.le.trace/main.c,
+	  raster/r.le/r.le.trace/r.le.trace.h,
+	  raster/r.le/r.le.trace/user_input.c,
+	  raster/r.li/r.li.cwed/cellWeighted.h,
+	  raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.cwed/utility.c,
+	  raster/r.li/r.li.cwed/utility.h,
+	  raster/r.li/r.li.daemon/GenericCell.c,
+	  raster/r.li/r.li.daemon/GenericCell.h,
+	  raster/r.li/r.li.daemon/avl.c, raster/r.li/r.li.daemon/avl.h,
+	  raster/r.li/r.li.daemon/avlDefs.h,
+	  raster/r.li/r.li.daemon/avlID.c, raster/r.li/r.li.daemon/avlID.h,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.li/r.li.daemon/defs.h,
+	  raster/r.li/r.li.daemon/index.h, raster/r.li/r.li.daemon/ipc.c,
+	  raster/r.li/r.li.daemon/ipc.h, raster/r.li/r.li.daemon/list.c,
+	  raster/r.li/r.li.daemon/list.h, raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c, raster/r.los/cmd_line.h,
+	  raster/r.los/color_rnge.c, raster/r.los/delete.c,
+	  raster/r.los/local_proto.h, raster/r.los/main.c,
+	  raster/r.los/make_list.c, raster/r.los/make_point.c,
+	  raster/r.los/mark_pts.c, raster/r.los/point.h,
+	  raster/r.los/pts_elim.c, raster/r.los/radians.h,
+	  raster/r.los/segment.c, raster/r.mapcalc/check.c,
+	  raster/r.mapcalc/column_shift.c, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/expression.c, raster/r.mapcalc/expression.h,
+	  raster/r.mapcalc/func_proto.h, raster/r.mapcalc/function.c,
+	  raster/r.mapcalc/globals.h, raster/r.mapcalc/globals2.h,
+	  raster/r.mapcalc/globals3.h, raster/r.mapcalc/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/mapcalc.h, raster/r.mapcalc/xabs.c,
+	  raster/r.mapcalc/xacos.c, raster/r.mapcalc/xadd.c,
+	  raster/r.mapcalc/xand.c, raster/r.mapcalc/xand2.c,
+	  raster/r.mapcalc/xasin.c, raster/r.mapcalc/xatan.c,
+	  raster/r.mapcalc/xbitand.c, raster/r.mapcalc/xbitnot.c,
+	  raster/r.mapcalc/xbitor.c, raster/r.mapcalc/xbitxor.c,
+	  raster/r.mapcalc/xcoor.c, raster/r.mapcalc/xcoor3.c,
+	  raster/r.mapcalc/xcos.c, raster/r.mapcalc/xdiv.c,
+	  raster/r.mapcalc/xdouble.c, raster/r.mapcalc/xeq.c,
+	  raster/r.mapcalc/xeval.c, raster/r.mapcalc/xexp.c,
+	  raster/r.mapcalc/xfloat.c, raster/r.mapcalc/xge.c,
+	  raster/r.mapcalc/xgraph.c, raster/r.mapcalc/xgt.c,
+	  raster/r.mapcalc/xif.c, raster/r.mapcalc/xint.c,
+	  raster/r.mapcalc/xisnull.c, raster/r.mapcalc/xle.c,
+	  raster/r.mapcalc/xlog.c, raster/r.mapcalc/xlt.c,
+	  raster/r.mapcalc/xmax.c, raster/r.mapcalc/xmedian.c,
+	  raster/r.mapcalc/xmin.c, raster/r.mapcalc/xmod.c,
+	  raster/r.mapcalc/xmode.c, raster/r.mapcalc/xmul.c,
+	  raster/r.mapcalc/xne.c, raster/r.mapcalc/xneg.c,
+	  raster/r.mapcalc/xnot.c, raster/r.mapcalc/xnull.c,
+	  raster/r.mapcalc/xor.c, raster/r.mapcalc/xor2.c,
+	  raster/r.mapcalc/xpow.c, raster/r.mapcalc/xrand.c,
+	  raster/r.mapcalc/xres.c, raster/r.mapcalc/xres3.c,
+	  raster/r.mapcalc/xround.c, raster/r.mapcalc/xrowcol.c,
+	  raster/r.mapcalc/xshiftl.c, raster/r.mapcalc/xshiftr.c,
+	  raster/r.mapcalc/xshiftru.c, raster/r.mapcalc/xsin.c,
+	  raster/r.mapcalc/xsqrt.c, raster/r.mapcalc/xsub.c,
+	  raster/r.mapcalc/xtan.c, raster/r.median/local_proto.h,
+	  raster/r.median/main.c, raster/r.median/median.c,
+	  raster/r.median/read_stats.c, raster/r.median/stats.h,
+	  raster/r.median/write_rec.c, raster/r.mfilter.fp/apply.c,
+	  raster/r.mfilter.fp/execute.c, raster/r.mfilter.fp/filter.h,
+	  raster/r.mfilter.fp/getfilt.c, raster/r.mfilter.fp/getrow.c,
+	  raster/r.mfilter.fp/local_proto.h, raster/r.mfilter.fp/main.c,
+	  raster/r.mfilter.fp/perform.c, raster/r.mfilter.fp/uppercase.c,
+	  raster/r.mfilter/apply.c, raster/r.mfilter/execute.c,
+	  raster/r.mfilter/filter.h, raster/r.mfilter/getfilt.c,
+	  raster/r.mfilter/getrow.c, raster/r.mfilter/local_proto.h,
+	  raster/r.mfilter/main.c, raster/r.mfilter/perform.c,
+	  raster/r.mfilter/uppercase.c, raster/r.mode/local_proto.h,
+	  raster/r.mode/main.c, raster/r.mode/read_stats.c,
+	  raster/r.mode/write_rec.c, raster/r.neighbors/bufs.c,
+	  raster/r.neighbors/divr_cats.c, raster/r.neighbors/gather.c,
+	  raster/r.neighbors/intr_cats.c, raster/r.neighbors/local_proto.h,
+	  raster/r.neighbors/main.c, raster/r.neighbors/ncb.h,
+	  raster/r.neighbors/null_cats.c, raster/r.neighbors/readcell.c,
+	  raster/r.neighbors/readweights.c, raster/r.null/local_proto.h,
+	  raster/r.null/mask.c, raster/r.null/mask.h, raster/r.null/null.c,
+	  raster/r.out.arc/main.c, raster/r.out.ascii/formspecific.c,
+	  raster/r.out.ascii/main.c, raster/r.out.bin/gmt_grd.h,
+	  raster/r.out.bin/main.c, raster/r.out.bin/swab.h,
+	  raster/r.out.bin/tif_swab.c, raster/r.out.gdal/main.c,
+	  raster/r.out.gridatb/adjcellhd.c,
+	  raster/r.out.gridatb/check_ready.c,
+	  raster/r.out.gridatb/file_io.c,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.mpeg/write.c, raster/r.out.png/pngfunc.h,
+	  raster/r.out.png/r.out.png.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/r.out.tiff.c, raster/r.out.tiff/rasterfile.h,
+	  raster/r.out.vrml/main.c, raster/r.out.vrml/put_grid.c,
+	  raster/r.out.vrml/put_view.c, raster/r.out.vrml/pv.h,
+	  raster/r.out.vrml/vrml.c, raster/r.out.vtk/globaldefs.h,
+	  raster/r.out.vtk/main.c, raster/r.out.vtk/parameters.c,
+	  raster/r.out.vtk/parameters.h, raster/r.out.vtk/writeascii.c,
+	  raster/r.out.vtk/writeascii.h, raster/r.param.scale/close_down.c,
+	  raster/r.param.scale/disp_matrix.c,
+	  raster/r.param.scale/feature.c,
+	  raster/r.param.scale/find_normal.c,
+	  raster/r.param.scale/interface.c, raster/r.param.scale/main.c,
+	  raster/r.param.scale/nrutil.c, raster/r.param.scale/nrutil.h,
+	  raster/r.param.scale/open_files.c, raster/r.param.scale/param.c,
+	  raster/r.param.scale/param.h, raster/r.param.scale/process.c,
+	  raster/r.param.scale/write_cats.c,
+	  raster/r.param.scale/write_cols.c, raster/r.patch/do_patch.c,
+	  raster/r.patch/local_proto.h, raster/r.patch/main.c,
+	  raster/r.patch/support.c, raster/r.profile/input.c,
+	  raster/r.profile/local_proto.h, raster/r.profile/main.c,
+	  raster/r.profile/read_rast.c, raster/r.proj.seg/bilinear.c,
+	  raster/r.proj.seg/bordwalk.c, raster/r.proj.seg/cubic.c,
+	  raster/r.proj.seg/main.c, raster/r.proj.seg/nearest.c,
+	  raster/r.proj.seg/r.proj.h, raster/r.proj.seg/readcell.c,
+	  raster/r.proj/bilinear.c, raster/r.proj/bordwalk.c,
+	  raster/r.proj/cubic.c, raster/r.proj/main.c,
+	  raster/r.proj/nearest.c, raster/r.proj/r.proj.h,
+	  raster/r.proj/readcell.c, raster/r.quant/global.h,
+	  raster/r.quant/main.c, raster/r.quant/read_rules.c,
+	  raster/r.quantile/main.c, raster/r.random.cells/flag.c,
+	  raster/r.random.cells/flag.h, raster/r.random.cells/gasdev.c,
+	  raster/r.random.cells/indep.c, raster/r.random.cells/init.c,
+	  raster/r.random.cells/local_proto.h,
+	  raster/r.random.cells/main.c, raster/r.random.cells/random.c,
+	  raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/calcsd.c,
+	  raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/cpfilter.c, raster/r.random.surface/dd.c,
+	  raster/r.random.surface/decay.c,
+	  raster/r.random.surface/digits.c,
+	  raster/r.random.surface/gasdev.c,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/init.c,
+	  raster/r.random.surface/local_proto.h,
+	  raster/r.random.surface/main.c,
+	  raster/r.random.surface/makebigf.c,
+	  raster/r.random.surface/makepp.c,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c, raster/r.random.surface/zero.c,
+	  raster/r.random/count.c, raster/r.random/creat_rand.c,
+	  raster/r.random/local_proto.h, raster/r.random/main.c,
+	  raster/r.random/random.c, raster/r.random/support.c,
+	  raster/r.reclass/add_rule.c, raster/r.reclass/input.c,
+	  raster/r.reclass/main.c, raster/r.reclass/parse.c,
+	  raster/r.reclass/range.c, raster/r.reclass/reclass.c,
+	  raster/r.reclass/rule.h, raster/r.reclass/stats.c,
+	  raster/r.recode/global.h, raster/r.recode/main.c,
+	  raster/r.recode/read_rules.c, raster/r.recode/recode.c,
+	  raster/r.region/main.c, raster/r.report/format.c,
+	  raster/r.report/global.h, raster/r.report/header.c,
+	  raster/r.report/label.c, raster/r.report/main.c,
+	  raster/r.report/maskinfo.c, raster/r.report/parse.c,
+	  raster/r.report/prt_report.c, raster/r.report/prt_unit.c,
+	  raster/r.report/report.c, raster/r.report/stats.c,
+	  raster/r.report/sums.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resamp.rst/surf.h,
+	  raster/r.resamp.stats/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/get_range.c, raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale.eq/local_proto.h, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/get_range.c, raster/r.rescale/main.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.slope.aspect/opennew.c, raster/r.statistics/main.c,
+	  raster/r.statistics/method.h, raster/r.statistics/o_adev.c,
+	  raster/r.statistics/o_average.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_divr.c, raster/r.statistics/o_kurt.c,
+	  raster/r.statistics/o_max.c, raster/r.statistics/o_median.c,
+	  raster/r.statistics/o_min.c, raster/r.statistics/o_mode.c,
+	  raster/r.statistics/o_sdev.c, raster/r.statistics/o_skew.c,
+	  raster/r.statistics/o_sum.c, raster/r.statistics/o_var.c,
+	  raster/r.statistics/read_stats.c,
+	  raster/r.statistics/write_rec.c, raster/r.stats/cell_stats.c,
+	  raster/r.stats/global.h, raster/r.stats/main.c,
+	  raster/r.stats/raw_stats.c, raster/r.stats/stats.c,
+	  raster/r.sum/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/g_solposition.c, raster/r.sunmask/global.h,
+	  raster/r.sunmask/main.c, raster/r.sunmask/solpos00.c,
+	  raster/r.sunmask/solpos00.h, raster/r.support.stats/check.c,
+	  raster/r.support.stats/histo.c,
+	  raster/r.support.stats/local_proto.h,
+	  raster/r.support.stats/main.c, raster/r.support/front/check.c,
+	  raster/r.support/front/front.c, raster/r.support/front/histo.c,
+	  raster/r.support/front/local_proto.h,
+	  raster/r.support/modcats/modcats.c,
+	  raster/r.support/modcolr/modcolr.c,
+	  raster/r.support/modhead/ask_format.c,
+	  raster/r.support/modhead/check_un.c,
+	  raster/r.support/modhead/factors.c,
+	  raster/r.support/modhead/local_proto.h,
+	  raster/r.support/modhead/modhead.c,
+	  raster/r.support/modhead/row_addr.c,
+	  raster/r.support/modhist/modhist.c, raster/r.surf.area/main.c,
+	  raster/r.surf.contour/add_in.c, raster/r.surf.contour/addpts.c,
+	  raster/r.surf.contour/bseg_close.c,
+	  raster/r.surf.contour/bseg_get.c,
+	  raster/r.surf.contour/bseg_open.c,
+	  raster/r.surf.contour/bseg_put.c,
+	  raster/r.surf.contour/bseg_read.c,
+	  raster/r.surf.contour/bseg_write.c,
+	  raster/r.surf.contour/contour.h, raster/r.surf.contour/cseg.h,
+	  raster/r.surf.contour/cseg_close.c,
+	  raster/r.surf.contour/cseg_get.c,
+	  raster/r.surf.contour/cseg_open.c,
+	  raster/r.surf.contour/cseg_put.c,
+	  raster/r.surf.contour/cseg_read.c,
+	  raster/r.surf.contour/cseg_write.c,
+	  raster/r.surf.contour/find_con.c, raster/r.surf.contour/flag.h,
+	  raster/r.surf.contour/flag_clr_all.c,
+	  raster/r.surf.contour/flag_create.c,
+	  raster/r.surf.contour/flag_destroy.c,
+	  raster/r.surf.contour/flag_get.c,
+	  raster/r.surf.contour/flag_set.c,
+	  raster/r.surf.contour/flag_unset.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.fractal/frac.h, raster/r.surf.fractal/interface.c,
+	  raster/r.surf.fractal/main.c, raster/r.surf.fractal/open_files.c,
+	  raster/r.surf.fractal/process.c,
+	  raster/r.surf.fractal/spec_syn.c,
+	  raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.gauss/main.c,
+	  raster/r.surf.idw/dist.c, raster/r.surf.idw/ll.c,
+	  raster/r.surf.idw/main.c, raster/r.surf.idw/main.h,
+	  raster/r.surf.idw2/local_proto.h, raster/r.surf.idw2/main.c,
+	  raster/r.surf.idw2/read_cell.c, raster/r.surf.random/main.c,
+	  raster/r.surf.random/randsurf.c, raster/r.texture/h_measure.c,
+	  raster/r.texture/h_measure.h, raster/r.texture/main.c,
+	  raster/r.thin/io.c, raster/r.thin/local_proto.h,
+	  raster/r.thin/main.c, raster/r.thin/thin_lines.c,
+	  raster/r.timestamp/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/areas.c,
+	  raster/r.to.vect/areas_io.c, raster/r.to.vect/global.h,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/lines_io.c,
+	  raster/r.to.vect/main.c, raster/r.to.vect/points.c,
+	  raster/r.to.vect/util.c, raster/r.topidx/check_ready.c,
+	  raster/r.topidx/file_io.c, raster/r.topidx/global.h,
+	  raster/r.topidx/main.c, raster/r.topidx/topidx.c,
+	  raster/r.topmodel/check_ready.c, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/global.h, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/main.c, raster/r.topmodel/misc.c,
+	  raster/r.topmodel/topmodel.c, raster/r.transect/local_proto.h,
+	  raster/r.transect/main.c, raster/r.transect/parse_line.c,
+	  raster/r.univar2/r.univar_main.c,
+	  raster/r.univar2/r3.univar_main.c, raster/r.univar2/sort.c,
+	  raster/r.univar2/stats.c, raster/r.volume/centroids.c,
+	  raster/r.volume/main.c, raster/r.walk/btree.c,
+	  raster/r.walk/cost.h, raster/r.walk/local_proto.h,
+	  raster/r.walk/main.c, raster/r.walk/memory.c,
+	  raster/r.walk/memory.h, raster/r.walk/stash.h,
+	  raster/r.water.outlet/basin.h, raster/r.water.outlet/flag.h,
+	  raster/r.water.outlet/flag_clr_all.c,
+	  raster/r.water.outlet/flag_create.c,
+	  raster/r.water.outlet/flag_destroy.c,
+	  raster/r.water.outlet/flag_get.c,
+	  raster/r.water.outlet/flag_set.c,
+	  raster/r.water.outlet/flag_unset.c,
+	  raster/r.water.outlet/legal.c, raster/r.water.outlet/main.c,
+	  raster/r.water.outlet/outletP.h,
+	  raster/r.water.outlet/over_cells.c,
+	  raster/r.water.outlet/ramseg.c, raster/r.water.outlet/ramseg.h,
+	  raster/r.watershed/front/main.c, raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/def_basin.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/find_pour.c,
+	  raster/r.watershed/ram/flag.h,
+	  raster/r.watershed/ram/flag_clr_all.c,
+	  raster/r.watershed/ram/flag_create.c,
+	  raster/r.watershed/ram/flag_destroy.c,
+	  raster/r.watershed/ram/flag_get.c,
+	  raster/r.watershed/ram/flag_set.c,
+	  raster/r.watershed/ram/flag_unset.c,
+	  raster/r.watershed/ram/haf_side.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/no_stream.c,
+	  raster/r.watershed/ram/over_cells.c,
+	  raster/r.watershed/ram/ramseg.c, raster/r.watershed/ram/ramseg.h,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/ram/slope_len.c,
+	  raster/r.watershed/ram/split_str.c,
+	  raster/r.watershed/ram/usage.c, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_close.c,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg.h,
+	  raster/r.watershed/seg/cseg_close.c,
+	  raster/r.watershed/seg/cseg_get.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_close.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/find_pour.c,
+	  raster/r.watershed/seg/haf_side.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c,
+	  raster/r.watershed/seg/over_cells.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/slope_len.c,
+	  raster/r.watershed/seg/split_str.c,
+	  raster/r.watershed/seg/sseg_close.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_open.c,
+	  raster/r.watershed/seg/sseg_put.c,
+	  raster/r.watershed/seg/usage.c,
+	  raster/r.watershed/shed/accum_down.c,
+	  raster/r.watershed/shed/basin_maps.c,
+	  raster/r.watershed/shed/com_line.c,
+	  raster/r.watershed/shed/file_in.c,
+	  raster/r.watershed/shed/free.c,
+	  raster/r.watershed/shed/insert_cat.c,
+	  raster/r.watershed/shed/intro.c, raster/r.watershed/shed/main.c,
+	  raster/r.watershed/shed/print.c, raster/r.watershed/shed/read.c,
+	  raster/r.watershed/shed/valid.c,
+	  raster/r.watershed/shed/watershed.h, raster/r.what.color/main.c,
+	  raster/r.what/die.c, raster/r.what/local_proto.h,
+	  raster/r.what/main.c, raster/r.what/usage.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.sediment/waterglobs.h,
+	  raster/simwe/r.sim.water/main.c,
+	  raster/simwe/r.sim.water/waterglobs.h,
+	  raster/simwe/simlib/erod.c, raster/simwe/simlib/hydro.c,
+	  raster/simwe/simlib/input.c, raster/simwe/simlib/output.c,
+	  raster/simwe/simlib/random.c, raster/simwe/simlib/waterglobs.h,
+	  raster/wildfire/r.ros/local_proto.h,
+	  raster/wildfire/r.ros/main.c, raster/wildfire/r.ros/spot_dist.c,
+	  raster/wildfire/r.spread/cell_ptrHa.h,
+	  raster/wildfire/r.spread/cmd_line.h,
+	  raster/wildfire/r.spread/collect_ori.c,
+	  raster/wildfire/r.spread/costHa.h,
+	  raster/wildfire/r.spread/deleteHa.c,
+	  raster/wildfire/r.spread/display.c,
+	  raster/wildfire/r.spread/fixHa.c,
+	  raster/wildfire/r.spread/get_minHa.c,
+	  raster/wildfire/r.spread/insert2Ha.c,
+	  raster/wildfire/r.spread/insertHa.c,
+	  raster/wildfire/r.spread/local_proto.h,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/pick_dist.c,
+	  raster/wildfire/r.spread/pick_ignite.c,
+	  raster/wildfire/r.spread/ram2out.c,
+	  raster/wildfire/r.spread/replaceHa.c,
+	  raster/wildfire/r.spread/select_linksB.c,
+	  raster/wildfire/r.spread/spot.c,
+	  raster/wildfire/r.spread/spread.c,
+	  raster/wildfire/r.spreadpath/drawline.c,
+	  raster/wildfire/r.spreadpath/insert.c,
+	  raster/wildfire/r.spreadpath/local_proto.h,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster/wildfire/r.spreadpath/path_finder.c,
+	  raster/wildfire/r.spreadpath/point.h,
+	  raster/wildfire/r.spreadpath/stash.h,
+	  raster3d/base/mask_functions.h, raster3d/base/r3.info.main.c,
+	  raster3d/base/r3.mask.main.c, raster3d/base/r3.null.main.c,
+	  raster3d/base/r3.timestamp.main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/binio.c, raster3d/r3.in.v5d/binio.h,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.in.v5d/v5d.c,
+	  raster3d/r3.in.v5d/v5d.h, raster3d/r3.in.v5d/vis5d.h,
+	  raster3d/r3.mkdspf/calc_linefax.c,
+	  raster3d/r3.mkdspf/fill_cfax.c, raster3d/r3.mkdspf/iso_surface.c,
+	  raster3d/r3.mkdspf/local_proto.h, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/make_header.c, raster3d/r3.mkdspf/r3_data.c,
+	  raster3d/r3.mkdspf/r3_find.c, raster3d/r3.mkdspf/vizual.h,
+	  raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/binio.c,
+	  raster3d/r3.out.v5d/binio.h, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.v5d/v5d.c, raster3d/r3.out.v5d/v5d.h,
+	  raster3d/r3.out.v5d/vis5d.h, raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/errorHandling.h,
+	  raster3d/r3.out.vtk/globalDefs.h, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/parameters.h,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKData.h,
+	  raster3d/r3.out.vtk/writeVTKHead.c,
+	  raster3d/r3.out.vtk/writeVTKHead.h, raster3d/r3.showdspf/Ball.c,
+	  raster3d/r3.showdspf/Ball.h, raster3d/r3.showdspf/BallAux.c,
+	  raster3d/r3.showdspf/BallAux.h, raster3d/r3.showdspf/BallMath.c,
+	  raster3d/r3.showdspf/BallMath.h, raster3d/r3.showdspf/cap_data.c,
+	  raster3d/r3.showdspf/cell_table.h,
+	  raster3d/r3.showdspf/do_color_ogl.c,
+	  raster3d/r3.showdspf/draw_cap_ogl.c,
+	  raster3d/r3.showdspf/draw_cappolys_ogl.c,
+	  raster3d/r3.showdspf/draw_polys_ogl.c,
+	  raster3d/r3.showdspf/get_color_ogl.c,
+	  raster3d/r3.showdspf/init_caps.c,
+	  raster3d/r3.showdspf/kns_defines.h,
+	  raster3d/r3.showdspf/kns_globals.h,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/make_header.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/r3_data.c, raster3d/r3.showdspf/r3_find.c,
+	  raster3d/r3.showdspf/thresh_array.c,
+	  raster3d/r3.showdspf/togif.c, raster3d/r3.showdspf/togif.h,
+	  raster3d/r3.showdspf/vizual.h, raster3d/r3.showdspf/vizual2.h,
+	  raster3d/r3.stats/main.c, raster3d/r3.to.rast/main.c,
+	  sites/s.in.ascii/get_site.c, sites/s.in.ascii/local_proto.h,
+	  sites/s.in.ascii/main.c, sites/s.out.ascii/main.c,
+	  swig/perl/R_slope_aspect/ppport.h,
+	  swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.h,
+	  swig/perl/gis.h, swig/perl/gisdefs.h, swig/perl2/error.c,
+	  swig/python/NumPtr/src/getpointer.c,
+	  swig/python/NumPtr/src/getpointer.h,
+	  swig/python/NumPtr/src/test.c, swig/python/NumPtr/src/test.h,
+	  tools/timer/main.c, vector/lidar/lidarlib/InterpSpline.c,
+	  vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/TcholBand.c,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/ConvexHull.c,
+	  vector/lidar/v.lidar.growing/growing.c,
+	  vector/lidar/v.lidar.growing/growing.h,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.outlier/outlier.h,
+	  vector/lidar/v.surf.bspline/bspline.h,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.buffer/main.c,
+	  vector/v.build.polylines/main.c, vector/v.build.polylines/walk.c,
+	  vector/v.build.polylines/walk.h, vector/v.build/main.c,
+	  vector/v.category/main.c, vector/v.class/main.c,
+	  vector/v.clean/main.c, vector/v.clean/proto.h,
+	  vector/v.clean/prune.c, vector/v.clean/rmdac.c,
+	  vector/v.clean/rmline.c, vector/v.clean/test/topocheck.c,
+	  vector/v.convert/att.c, vector/v.convert/conv.h,
+	  vector/v.convert/dist.c, vector/v.convert/local_proto.h,
+	  vector/v.convert/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.convert/type.c,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  vector/v.digit/attr.c, vector/v.digit/background.c,
+	  vector/v.digit/c_face.c, vector/v.digit/cat.c,
+	  vector/v.digit/centre.c, vector/v.digit/display.c,
+	  vector/v.digit/driver.c, vector/v.digit/form.c,
+	  vector/v.digit/generate.c, vector/v.digit/global.h,
+	  vector/v.digit/i_face.c, vector/v.digit/line.c,
+	  vector/v.digit/main.c, vector/v.digit/open.c,
+	  vector/v.digit/proto.h, vector/v.digit/symb.c,
+	  vector/v.digit/util.c, vector/v.digit/var.c,
+	  vector/v.digit/vertex.c, vector/v.digit/zoom.c,
+	  vector/v.distance/main.c, vector/v.drape/main.c,
+	  vector/v.edit/a2b.c, vector/v.edit/args.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/max_distance.c, vector/v.edit/proto.h,
+	  vector/v.edit/select.c, vector/v.edit/snap.c,
+	  vector/v.external/main.c, vector/v.extract/extract.c,
+	  vector/v.extract/main.c, vector/v.extrude/main.c,
+	  vector/v.generalize/displacement.c, vector/v.generalize/main.c,
+	  vector/v.generalize/matrix.c, vector/v.generalize/matrix.h,
+	  vector/v.generalize/misc.c, vector/v.generalize/network.c,
+	  vector/v.generalize/point.c, vector/v.generalize/point.h,
+	  vector/v.generalize/pq.c, vector/v.generalize/simplification.c,
+	  vector/v.generalize/smoothing.c, vector/v.hull/chull.c,
+	  vector/v.hull/chull.h, vector/v.hull/globals.h,
+	  vector/v.hull/macros.h, vector/v.hull/main.c,
+	  vector/v.in.ascii/a2b.c, vector/v.in.ascii/head.c,
+	  vector/v.in.ascii/in.c, vector/v.in.ascii/local_proto.h,
+	  vector/v.in.ascii/points.c, vector/v.in.db/main.c,
+	  vector/v.in.dwg/entity.c, vector/v.in.dwg/global.h,
+	  vector/v.in.dwg/main.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/layer_list.c, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/read_dxf.c, vector/v.in.dxf/write_vect.c,
+	  vector/v.in.ogr/geom.c, vector/v.in.ogr/global.h,
+	  vector/v.in.ogr/main.c, vector/v.in.region/main.c,
+	  vector/v.in.sites/main.c, vector/v.info/main.c,
+	  vector/v.kcv/histo.c, vector/v.kcv/kcv.h, vector/v.kcv/main.c,
+	  vector/v.kcv/utils.c, vector/v.kernel/function.c,
+	  vector/v.kernel/global.h, vector/v.kernel/main.c,
+	  vector/v.label.sa/annealing.c, vector/v.label.sa/font.c,
+	  vector/v.label.sa/labels.c, vector/v.label.sa/labels.h,
+	  vector/v.label.sa/main.c, vector/v.label/main.c,
+	  vector/v.lrs/lib/lrs.c, vector/v.lrs/lib/lrs.h,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.mapcalc/any.c,
+	  vector/v.mapcalc/any.h, vector/v.mapcalc/list.c,
+	  vector/v.mapcalc/list.h, vector/v.mapcalc/map.c,
+	  vector/v.mapcalc/map.h, vector/v.mapcalc/mapcalc.c,
+	  vector/v.mapcalc/mapcalc.h, vector/v.mapcalc/number.c,
+	  vector/v.mapcalc/number.h, vector/v.mapcalc/plugin.c,
+	  vector/v.mapcalc/plugin.h, vector/v.mapcalc/plugins/testmod.c,
+	  vector/v.mapcalc/vector.c, vector/v.mapcalc/vector.h,
+	  vector/v.mapcalc/yylex.c, vector/v.mapcalc/yylex.h,
+	  vector/v.mkgrid/grid_structs.h, vector/v.mkgrid/local_proto.h,
+	  vector/v.mkgrid/main.c, vector/v.mkgrid/rotate.c,
+	  vector/v.mkgrid/write_grid.c, vector/v.neighbors/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.path/path.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.net.visibility/geometry.c,
+	  vector/v.net.visibility/main.c,
+	  vector/v.net.visibility/visibility.c,
+	  vector/v.net.visibility/visibility.h, vector/v.net/connect.c,
+	  vector/v.net/main.c, vector/v.net/nodes.c, vector/v.net/proto.h,
+	  vector/v.net/report.c, vector/v.normal/main.c,
+	  vector/v.normal/scancats.c, vector/v.out.ascii/b2a.c,
+	  vector/v.out.ascii/local_proto.h, vector/v.out.ascii/out.c,
+	  vector/v.out.dxf/global.h, vector/v.out.dxf/main.c,
+	  vector/v.out.dxf/write_dxf.c, vector/v.out.ogr/main.c,
+	  vector/v.out.pov/main.c, vector/v.out.svg/main.c,
+	  vector/v.out.vtk/local_proto.h, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c, vector/v.out.vtk/writeVTK.h,
+	  vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/local.h, vector/v.overlay/main.c,
+	  vector/v.overlay/util.c, vector/v.parallel/main.c,
+	  vector/v.patch/main.c, vector/v.perturb/fische.c,
+	  vector/v.perturb/main.c, vector/v.perturb/myrng.c,
+	  vector/v.perturb/normal00.c, vector/v.perturb/normalen.c,
+	  vector/v.perturb/normalrs.c, vector/v.perturb/normalsv.c,
+	  vector/v.perturb/zufall.c, vector/v.perturb/zufall.h,
+	  vector/v.perturb/zufalli.c, vector/v.perturb/zufallrs.c,
+	  vector/v.perturb/zufallsv.c, vector/v.proj/local_proto.h,
+	  vector/v.proj/main.c, vector/v.proj/setenv.c,
+	  vector/v.qcount/count.c, vector/v.qcount/findquads.c,
+	  vector/v.qcount/indices.c, vector/v.qcount/main.c,
+	  vector/v.qcount/quaddefs.h, vector/v.random/main.c,
+	  vector/v.reclass/main.c, vector/v.reclass/reclass.c,
+	  vector/v.reclass/rules.c, vector/v.sample/main.c,
+	  vector/v.segment/main.c, vector/v.select/main.c,
+	  vector/v.split/main.c, vector/v.support/main.c,
+	  vector/v.surf.idw/main.c, vector/v.surf.idw/proto.h,
+	  vector/v.surf.idw/read_sites.c, vector/v.surf.rst/main.c,
+	  vector/v.surf.rst/surf.h, vector/v.to.db/areas.c,
+	  vector/v.to.db/calc.c, vector/v.to.db/find.c,
+	  vector/v.to.db/global.h, vector/v.to.db/lines.c,
+	  vector/v.to.db/main.c, vector/v.to.db/parse.c,
+	  vector/v.to.db/query.c, vector/v.to.db/report.c,
+	  vector/v.to.db/units.c, vector/v.to.db/update.c,
+	  vector/v.to.points/main.c, vector/v.to.rast/do_areas.c,
+	  vector/v.to.rast/do_lines.c, vector/v.to.rast/local.h,
+	  vector/v.to.rast/main.c, vector/v.to.rast/raster.c,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c,
+	  vector/v.to.rast3/main.c, vector/v.transform/ask_trans.c,
+	  vector/v.transform/creat_trans.c, vector/v.transform/get_coor.c,
+	  vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/print_trans.c,
+	  vector/v.transform/setup_trans.c, vector/v.transform/trans.h,
+	  vector/v.transform/trans_digit.c, vector/v.type/main.c,
+	  vector/v.univar/main.c, vector/v.vol.rst/dataoct.c,
+	  vector/v.vol.rst/dataoct.h, vector/v.vol.rst/externs.h,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/oct.c,
+	  vector/v.vol.rst/oct.h, vector/v.vol.rst/points.h,
+	  vector/v.vol.rst/surf.h, vector/v.vol.rst/user.h,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/user4.c,
+	  vector/v.vol.rst/userextern.h, vector/v.vol.rst/userglobs.h,
+	  vector/v.vol.rst/vector.c, vector/v.voronoi/defs.h,
+	  vector/v.voronoi/dt_main.c, vector/v.voronoi/dt_write.c,
+	  vector/v.voronoi/sw_defs.h, vector/v.voronoi/sw_edgelist.c,
+	  vector/v.voronoi/sw_geometry.c, vector/v.voronoi/sw_heap.c,
+	  vector/v.voronoi/sw_main.c, vector/v.voronoi/sw_memory.c,
+	  vector/v.voronoi/sw_output.c, vector/v.voronoi/sw_voronoi.c,
+	  vector/v.voronoi/vo_extend.c, vector/v.voronoi/vo_main.c,
+	  vector/v.voronoi/vo_write.c, vector/v.voronoi/write.h,
+	  vector/v.what.rast/main.c, vector/v.what/main.c,
+	  vector/v.what/what.c, visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/buildPg.c,
+	  visualization/nviz/src/change_view.c,
+	  visualization/nviz/src/coldefs.h,
+	  visualization/nviz/src/cutplane_obj.c,
+	  visualization/nviz/src/do_zoom.c, visualization/nviz/src/draw.c,
+	  visualization/nviz/src/glwrappers.c,
+	  visualization/nviz/src/init_commands.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/ks_names.h,
+	  visualization/nviz/src/label.c, visualization/nviz/src/lights.c,
+	  visualization/nviz/src/map_obj.c, visualization/nviz/src/misc.c,
+	  visualization/nviz/src/mkdspf_calc_linefax.c,
+	  visualization/nviz/src/mkdspf_fill_cfax.c,
+	  visualization/nviz/src/mkdspf_init_file.c,
+	  visualization/nviz/src/mkdspf_iso_surface.c,
+	  visualization/nviz/src/mkdspf_main.c,
+	  visualization/nviz/src/nvizAppInit.c,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c, visualization/nviz/src/pg.h,
+	  visualization/nviz/src/pick_vect_commands.c,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/query_postgr.c,
+	  visualization/nviz/src/query_vect.c,
+	  visualization/nviz/src/quick_draw.c,
+	  visualization/nviz/src/runPg.c,
+	  visualization/nviz/src/site_attr_commands.c,
+	  visualization/nviz/src/site_highlight_commands.c,
+	  visualization/nviz/src/tkFont.h, visualization/nviz/src/tkPort.h,
+	  visualization/nviz/src/tkUnixPort.h,
+	  visualization/nviz/src/tkWin.h,
+	  visualization/nviz/src/tkWinPort.h,
+	  visualization/nviz/src/togl.c, visualization/nviz/src/togl.h,
+	  visualization/nviz/src/togl_cb.c,
+	  visualization/nviz/src/togl_flythrough.c,
+	  visualization/nviz/src/vect.c, visualization/nviz/src/viz.h,
+	  visualization/nviz/src/volume.c, visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/surface.c,
+	  visualization/nviz2/cmd/vector.c,
+	  visualization/nviz2/cmd/write_img.c,
+	  visualization/xganim/Clr_table.c, visualization/xganim/gui.c,
+	  visualization/xganim/gui.h, visualization/xganim/main.c,
+	  visualization/ximgview/color.c, visualization/ximgview/main.c:
+	  indent -bad -bap -bbb -br -bli0 -bls -cli0 -ncs -fc1 -hnl -i4 \
+	  -nbbo -nbc -nbfda -nbfde -ncdb -ncdw -nce -nfca -npcs -nprs \
+	  -npsl -nsc -nsob -saf -sai -saw -sbi0 -ss -ts8 -ut
+
+2008-08-04 19:30  glynn
+
+	* lib/iostream: Set svn:ignore property on lib/iostream
+
+2008-08-04 16:42  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI/nviz: cosmetics in
+	  loading/unloading data layers
+
+2008-08-04 16:41  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: centre dialog on
+	  screen/parent before it is show (to avoid flickering), update
+	  r32514
+
+2008-08-04 15:55  cmbarton
+
+	* gui/wxpython/gui_modules/profile.py: Conditionalized use of user
+	  preferences and added default values for first time profile is
+	  run.
+
+2008-08-04 15:54  cmbarton
+
+	* gui/wxpython/gui_modules/toolbars.py: fixed docstring for profile
+	  toolbar
+
+2008-08-04 15:54  cmbarton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Cosmetics: opacity and
+	  properties dialogs now CentreOnParent rather than open at upper
+	  left corner.
+
+2008-08-04 15:53  cmbarton
+
+	* gui/wxpython/wxgui.py: Layer manager starts out on top
+
+2008-08-04 14:01  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: variable name fixed,
+	  update r32510
+
+2008-08-04 13:47  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/wxgui.py: wxGUI:
+	  utilize ImportDxfDialog to support also GDAL/OGR
+
+2008-08-04 12:21  pkelly
+
+	* include/Make/Grass.make.in, include/iostream,
+	  include/iostream/ami.h, include/iostream/ami_config.h,
+	  include/iostream/ami_sort.h, include/iostream/ami_sort_impl.h,
+	  include/iostream/ami_stream.h, include/iostream/embuffer.h,
+	  include/iostream/empq.h, include/iostream/empq_adaptive.h,
+	  include/iostream/empq_adaptive_impl.h,
+	  include/iostream/empq_impl.h, include/iostream/imbuffer.h,
+	  include/iostream/mem_stream.h, include/iostream/minmaxheap.h,
+	  include/iostream/mm.h, include/iostream/mm_utils.h,
+	  include/iostream/pqheap.h, include/iostream/queue.h,
+	  include/iostream/quicksort.h, include/iostream/replacementHeap.h,
+	  include/iostream/replacementHeapBlock.h,
+	  include/iostream/rtimer.h, lib/Makefile, lib/iostream,
+	  lib/iostream/Makefile, lib/iostream/ami_stream.cc,
+	  lib/iostream/minmaxheap_test.cc, lib/iostream/mm.cc,
+	  lib/iostream/mm_utils.cc, lib/iostream/rtimer.cc,
+	  raster/r.terraflow/3scan.h, raster/r.terraflow/IOStream,
+	  raster/r.terraflow/Makefile, raster/r.terraflow/ccforest.h,
+	  raster/r.terraflow/common.h, raster/r.terraflow/direction.h,
+	  raster/r.terraflow/fill.h, raster/r.terraflow/filldepr.cc,
+	  raster/r.terraflow/filldepr.h,
+	  raster/r.terraflow/genericWindow.h,
+	  raster/r.terraflow/grass2str.h, raster/r.terraflow/grid.h,
+	  raster/r.terraflow/nodata.cc, raster/r.terraflow/nodata.h,
+	  raster/r.terraflow/plateau.cc, raster/r.terraflow/plateau.h,
+	  raster/r.terraflow/sortutils.h, raster/r.terraflow/stats.h,
+	  raster/r.terraflow/streamutils.h, raster/r.terraflow/sweep.cc,
+	  raster/r.terraflow/sweep.h, raster/r.terraflow/water.cc: Move
+	  iostream library to lib/iostream and includes to
+	  include/iostream,
+	  and update r.terraflow to use it - in preparation for introducing
+	  r.viewshed.
+
+2008-08-04 08:57  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/menudata.py: wxGUI: ImportDxfFile dialog
+	  fixes
+
+2008-08-04 07:53  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: cosmetics in
+	  pop-up menu, opacity can be normal menu item
+
+2008-08-04 05:05  cmbarton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Removed some debugging
+	  text
+
+2008-08-04 04:56  cmbarton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Bug fixes for layer
+	  management
+
+2008-08-03 20:19  martinl
+
+	* vector/v.random/description.html, vector/v.random/main.c: marisn:
+	  Added random attribute value creation;
+	  Updated documentation with examples
+	  (merge from trunk, r32498)
+
+2008-08-03 18:30  martinl
+
+	* scripts/v.what.vect/description.html,
+	  scripts/v.what.vect/v.what.vect: marisn: Added query distance.
+	  Allows to upload values also from points
+	  (merge from trunk, r32497)
+
+2008-08-03 18:28  martinl
+
+	* raster/r.random/main.c, raster/r.random/random.c,
+	  raster/r.random/support.c: marisn: Fixed cover map support for
+	  raster output;
+	  Eliminated use of unitialised value
+	  (merge from trunk, r32496)
+
+2008-08-03 13:13  martinl
+
+	* gui/wxpython/gui_modules/workspace.py: wxGUI: skip 'opacity' part
+	  of layer name when saving workispace file
+
+2008-08-03 13:00  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: SetOpacityDialog -
+	  wx.Slider is probably better choice then wx.SpinCtrl
+
+2008-08-03 11:56  neteler
+
+	* SUBMITTING: mime tyle list sorted
+
+2008-08-03 11:45  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/compat/__init__.py,
+	  gui/wxpython/compat/subprocess.py, gui/wxpython/docs/Makefile,
+	  gui/wxpython/docs/wxGUI_layer_manager.jpg,
+	  gui/wxpython/docs/wxGUI_map_display.jpg,
+	  gui/wxpython/docs/wxGUI_vector_digitizer_toolbar.jpg,
+	  gui/wxpython/gis_set.py, gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/disp_print.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/grassenv.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/rules.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/states.txt,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/toolbox.py,
+	  gui/wxpython/gui_modules/track.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/__init__.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/palette.gif,
+	  gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/images/__init__.py, gui/wxpython/images/intro.xcf,
+	  gui/wxpython/nviz/Makefile, gui/wxpython/scripts/Makefile,
+	  gui/wxpython/support/update_menu_desc.py,
+	  gui/wxpython/vdigit/Makefile, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI: fix svn properties
+
+2008-08-03 11:44  martinl
+
+	* SUBMITTING: list of svn mime-types mentioned in SUBMITTING
+
+2008-08-03 11:20  martinl
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/scripts/Makefile,
+	  gui/wxpython/scripts/d.rast3d, gui/wxpython/wxgui.py: wxGUI: 3d
+	  raster map (voxel) dialog added
+
+2008-08-03 11:00  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: SetOpacityDialog
+	  cosmetics (missing title)
+
+2008-08-03 10:19  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: switch to 'Command
+	  output' OnCmdOutput()
+
+2008-08-03 10:12  neteler
+
+	* doc/vector/v.example/main.c: Maris Nartiss: improved version with
+	  DB support
+
+2008-08-03 10:06  martinl
+
+	* gui/icons/silk/map_edit.png, gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/silk/__init__.py: wxGUI: some fixes related to
+	  the last changes in layer manager items, edit icon added for silk
+	  theme
+
+2008-08-03 08:02  cmbarton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Updated and fixed
+	  opacity management, changed layer settings edit button to
+	  graphic, added opacity value to displayed layer name (but not to
+	  lname).
+
+2008-08-03 07:57  cmbarton
+
+	* gui/wxpython/icons/icon.py: Added icon for layer settings editing
+
+2008-08-03 07:51  cmbarton
+
+	* gui/icons/gui-layeroptions.gif: New icon for button for editing
+	  layer settings
+
+2008-08-02 23:24  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix r32469,
+	  loading workspaces works properly again...
+
+2008-08-02 23:12  martinl
+
+	* gui/icons/silk/bricks.png, gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/wxgui.py: wxGUI: menu item for 3d raster element
+	  added (including silk icon)
+
+2008-08-02 22:44  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/nviz/change_view.cpp: wxGUI: determite height (min,
+	  max) from session
+
+2008-08-02 22:39  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: don't add new line if
+	  not necessary
+
+2008-08-02 22:23  cmbarton
+
+	* gui/wxpython/wxgui.py: Update and bug fixes for LayerTree drag
+	  and drop and controls
+
+2008-08-02 22:23  cmbarton
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Update and bug fixes for
+	  LayerTree drag and drop and controls
+
+2008-08-02 19:41  martinl
+
+	* gui/wxpython/gui_modules/nviz.py: wxGUI/nviz: print number of
+	  primitives/points in vector layer properties tab
+
+2008-08-02 13:49  martinl
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix map layer
+	  position in stack, update r32463
+
+2008-08-02 13:09  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: add new layer as
+	  previous sibling of selected layer (first item from the list is
+	  rendered as the last one)
+	  some goutput quick fixes
+
+2008-08-02 12:07  neteler
+
+	* vector/vectorintro.html: mention db.in.ogr, db.out.ogr
+
+2008-08-02 12:04  neteler
+
+	* scripts/db.out.ogr/db.out.ogr: removed debug flag
+
+2008-08-02 10:45  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: optionally add created
+	  map (raster, vector) into layer tree when running command
+	  some goutput fixes (\r)
+
+2008-08-02 10:03  martinl
+
+	* lib/gis/parser.c: parser.c: print 'option <%s>: <%s> exists'
+	  message in gui style if GRASS_MESSAGE_FORMAT=gui
+
+2008-08-01 22:57  glynn
+
+	* scripts/d.rast.edit/d.rast.edit.tcl: Set weights on .overview,
+	  not .
+
+2008-08-01 16:02  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py: wxGUI: dxf-dialog cosmetics,
+	  import only checked layers from the list, optionally add imported
+	  layers into layer tree
+
+2008-08-01 15:28  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  wxGUI: initial version of dialog for multiple dxf file import
+	  (each layer is imported as separate vector map)
+
+2008-08-01 15:07  martinl
+
+	* vector/v.in.dxf/main.c: v.in.dxf: don't overwrite output map if
+	  not specified by 'output' argument
+
+2008-08-01 13:40  martinl
+
+	* vector/v.in.dxf/layer_list.c, vector/v.in.dxf/main.c: v.in.dxf:
+	  cosmetics in layer list format, update r32446
+
+2008-08-01 13:35  martinl
+
+	* vector/v.in.dxf/add_3dface.c, vector/v.in.dxf/add_arc.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/global.h, vector/v.in.dxf/layer_list.c,
+	  vector/v.in.dxf/main.c, vector/v.in.dxf/write_vect.c: v.in.dxf:
+	  message cleaning, -l flag: print also GRASS compliant name (used
+	  by wxGUI)
+
+2008-08-01 11:43  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix flags
+	  label/description in dialog
+
+2008-08-01 11:32  martinl
+
+	* vector/v.proj/main.c: v.proj: switch -l flag label/description,
+	  trac #241
+
+2008-07-31 22:06  martinl
+
+	* vector/v.proj/main.c: v.proj: progress info added, trac #243
+
+2008-07-31 21:39  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: flag->label fix,
+	  trac #241
+
+2008-07-31 21:36  martinl
+
+	* vector/v.proj/main.c: v.proj: use description instead of label
+	  for -l flag, related to trac #241
+
+2008-07-31 21:12  martinl
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: change map layer
+	  properties clean up
+
+2008-07-31 21:03  glynn
+
+	* tools/grass_indent_ALL.sh: Fix sense of directory test
+
+2008-07-31 20:22  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: don't switch to
+	  'Command output' when module dialog is launched
+
+2008-07-31 20:12  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/workspace.py: wxGUI: suppress gettext
+	  warnings
+
+2008-07-31 19:59  martinl
+
+	* gui/wxpython/icons/icon.py: wxGUI: unused icon removed
+
+2008-07-31 19:21  martinl
+
+	* lib/gis/adj_cellhd.c, lib/gis/align_window.c, lib/gis/alloc.c,
+	  lib/gis/alloc_cell.c, lib/gis/area.c, lib/gis/area_ellipse.c,
+	  lib/gis/area_poly1.c, lib/gis/area_poly2.c,
+	  lib/gis/area_sphere.c, lib/gis/ascii_chk.c, lib/gis/asprintf.c,
+	  lib/gis/auto_mask.c, lib/gis/basename.c, lib/gis/bres_line.c,
+	  lib/gis/color_get.c, lib/gis/color_rule.c,
+	  lib/gis/color_rule_get.c, lib/gis/commas.c, lib/gis/copy.c,
+	  lib/gis/date.c, lib/gis/debug.c, lib/gis/distance.c,
+	  lib/gis/done_msg.c, lib/gis/endian.c, lib/gis/geodist.c,
+	  lib/gis/get_projinfo.c, lib/gis/gisinit.c, lib/gis/icon.c,
+	  lib/gis/is.c, lib/gis/legal_name.c, lib/gis/locale.c,
+	  lib/gis/maskfd.c, lib/gis/myname.c, lib/gis/overwrite.c,
+	  lib/gis/parser.c, lib/gis/percent.c, lib/gis/remove.c,
+	  lib/gis/rename.c, lib/gis/rhumbline.c, lib/gis/rotate.c,
+	  lib/gis/set_window.c, lib/gis/short_way.c, lib/gis/snprintf.c,
+	  lib/gis/spawn.c, lib/gis/squeeze.c, lib/gis/store.c,
+	  lib/gis/strings.c, lib/gis/system.c, lib/gis/tempfile.c,
+	  lib/gis/token.c, lib/gis/trim_dec.c, lib/gis/unctrl.c,
+	  lib/gis/unix_socks.c, lib/gis/user_config.c, lib/gis/verbose.c,
+	  lib/gis/view.c, lib/gis/whoami.c, lib/gis/wind_2_box.c,
+	  lib/gis/wind_format.c, lib/gis/wind_limits.c,
+	  lib/gis/wind_overlap.c, lib/gis/wind_scan.c,
+	  lib/gis/window_map.c, lib/gis/wr_cellhd.c, lib/gis/writ_zeros.c,
+	  lib/gis/yes.c, lib/gis/zero.c, lib/gis/zero_cell.c: gislib:
+	  doxygen cleaning, remove 'fn' statements
+
+2008-07-31 18:49  martinl
+
+	* lib/python/README.txt, lib/python/grass.py: missing svn prop
+	  added
+
+2008-07-31 18:19  glynn
+
+	* db/Makefile: Parallel make fix: drivers must be built before base
+	  otherwise HTML
+	  files have incomplete list of options for driver=.
+
+2008-07-31 17:45  glynn
+
+	* tools/grass_indent.sh, tools/grass_indent_ALL.sh: Indent only
+	  works for C, not C++
+	  Fix directory check
+
+2008-07-31 17:44  glynn
+
+	* swig/perl/grass_wrap.c: Remove SWIG auto-generated wrapper (not a
+	  source file)
+
+2008-07-31 17:43  glynn
+
+	* visualization/nviz/src/README.flythrough,
+	  visualization/nviz/src/togl_flythrough.c: Move "README" into
+	  separate file
+
+2008-07-31 17:43  glynn
+
+	* lib/vector/dglib/Makefile: Parallel make fixes
+
+2008-07-31 17:22  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: postpone wxCmdDone
+	  event
+
+2008-07-31 13:52  martinl
+
+	* vector/v.in.ascii/points.c: v.in.ascii: fix progress message,
+	  reach 100%
+
+2008-07-31 13:35  martinl
+
+	* vector/v.random/description.html: v.random manual page cosmetics,
+	  link is already mentioned in the footer
+
+2008-07-31 11:24  neteler
+
+	* SUBMITTING: shell svn mime-type
+
+2008-07-31 11:22  neteler
+
+	* tools/grass_indent.sh, tools/grass_indent_ALL.sh: svn propset
+
+2008-07-31 11:19  neteler
+
+	* tools/grass_indent.sh, tools/grass_indent_ALL.sh: convenient
+	  scripts to indent GRASS code
+
+2008-07-31 06:46  martinl
+
+	* vector/v.in.ascii/in.c, vector/v.in.ascii/local_proto.h,
+	  vector/v.in.ascii/points.c: Show progress information in points
+	  mode, trac #244
+
+2008-07-31 00:36  glynn
+
+	* lib/g3d/g3dcats.c, lib/g3d/g3dcolor.c, lib/g3d/g3dopen.c: More
+	  G{NAME,MAPSET}_MAX fixes
+
+2008-07-30 23:57  glynn
+
+	* include/G3d.h, lib/g3d/g3drange.c, lib/g3d/g3dwindowio.c: Add
+	  format, noreturn __attribute__s to G3d functions.
+	  Some GPATH_MAX and G3d_error clean-ups which were missed last
+	  time
+
+2008-07-30 23:46  glynn
+
+	* include/G3d.h, lib/g3d/G3d_intern.h, lib/g3d/cache.c,
+	  lib/g3d/changeprecision.c, lib/g3d/changetype.c,
+	  lib/g3d/filecompare.c, lib/g3d/filename.c, lib/g3d/g3dalloc.c,
+	  lib/g3d/g3dcache.c, lib/g3d/g3dcats.c, lib/g3d/g3dclose.c,
+	  lib/g3d/g3dcolor.c, lib/g3d/g3ddefaults.c, lib/g3d/g3ddoubleio.c,
+	  lib/g3d/g3derror.c, lib/g3d/g3dfpxdr.c, lib/g3d/g3dhistory.c,
+	  lib/g3d/g3dintio.c, lib/g3d/g3dkeys.c, lib/g3d/g3dkeys.h,
+	  lib/g3d/g3dmapset.c, lib/g3d/g3dmask.c, lib/g3d/g3dmisc.c,
+	  lib/g3d/g3dnull.c, lib/g3d/g3dopen2.c, lib/g3d/g3dparam.c,
+	  lib/g3d/g3drange.c, lib/g3d/g3dregion.c, lib/g3d/g3dresample.c,
+	  lib/g3d/g3dvolume.c, lib/g3d/g3dwindow.c, lib/g3d/g3dwindowio.c,
+	  lib/g3d/getblock.c, lib/g3d/header.c, lib/g3d/retile.c,
+	  lib/g3d/tilealloc.c, lib/g3d/tileio.c, lib/g3d/tilenull.c,
+	  lib/g3d/tileread.c, lib/g3d/tilewrite.c, lib/g3d/writeascii.c:
+	  G3D clean-up:
+	  Use "const" where appropriate
+	  Use void* instead of char* for generic pointers
+	  Include parameter lists in callback function types
+	  Use memcpy/memcmp where appropriate instead of loops
+	  Use loop counters instead of end pointers
+	  Remove local copies of G3D_Map structure
+	  Use G{NAME,MAPSET,PATH}_MAX for buffer sizes
+	  Replace K&R function definitions with ANSI syntax
+	  Fix typo in function names: Alligned -> Aligned
+	  Change G3d_error() to accept printf-style format string and
+	  arguments
+
+2008-07-30 19:03  glynn
+
+	* lib/vector/Vlib/open.c, vector/v.random/main.c: Allow fully
+	  qualified names in Vect_open_new()
+	  Don't call G_legal_filename() on qualified names
+
+2008-07-30 15:28  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/line.cpp:
+	  wxGUI: optionally break added lines at each intersection
+
+2008-07-30 14:56  martinl
+
+	* include/Vect.h, lib/vector/Vlib/break_lines.c,
+	  lib/vector/vectorlib.dox, vector/v.edit/main.c: vlib: fix
+	  accidently committed changes r32381 -- change
+	  Vect_break_lines_list()
+
+2008-07-30 14:31  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: print properly vector
+	  build message
+
+2008-07-30 14:30  martinl
+
+	* lib/vector/Vlib/break_lines.c: vlib: cosmetics in build message
+	  (print number of primitives first)
+	  [merged from trunk, r32380]
+
+2008-07-30 14:28  martinl
+
+	* lib/vector/Vlib/build_nat.c: vlib: cosmetics in build message
+	  (print number of primitives first)
+
+2008-07-30 13:11  neteler
+
+	* doc/infrastructure.txt: i18N translation statistics explained
+
+2008-07-30 13:06  neteler
+
+	* locale/po/grasstcl_id.po: Firman Hadi: cont'ed
+
+2008-07-30 13:06  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: do not run command
+	  twice, redirect stdout properly, fix r32373
+
+2008-07-30 13:05  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: do not run command
+	  twice, redirect stdout properly, update r32364
+
+2008-07-30 09:54  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: class name fixed, update
+	  r32366
+
+2008-07-30 09:48  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py: wxGUI: gcmd module
+	  cleanning, update r32364
+
+2008-07-30 00:01  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: abort
+	  re-implemented, update r32364
+
+2008-07-29 23:31  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: general goutput
+	  module reconstruction, event-based (fix problems with the last
+	  wxPython versions) -- experimental (TODO: abort, clean up gcmd
+	  module, use
+	  grass module)
+
+2008-07-29 13:44  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  include/config.h.in: Remove Tcl/Tk framework flags (don't work,
+	  apparently)
+
+2008-07-29 13:12  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/nviz.py, gui/wxpython/nviz/init.cpp:
+	  wxGUI: message redirection fixes (need some more testing)
+
+2008-07-29 12:12  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/nviz.py: wxGUI/nviz2: 3D vector data
+	  supported
+	  EnsureCaretVisible() enabled in goutput module, trac #201
+	  re-opened
+
+2008-07-29 10:50  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI/nviz: full workspace
+	  support for vector lines/points, update r32352)
+
+2008-07-29 08:07  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: cosmetics in
+	  LayerTree constructor, use kargs magic
+
+2008-07-28 22:22  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/xml/grass-gxw.dtd: nviz2/wxGUI: workspace fixes
+	  (vector lines/points)
+
+2008-07-28 00:11  kyngchaos
+
+	* macosx/ReadMe.rtf, macosx/app/Makefile, macosx/app/grass.sh.in:
+	  Remove unnecessary TclTk bundling
+
+2008-07-27 23:59  glynn
+
+	* configure, configure.in: Fix OpenGL library checks (broken from
+	  previous update)
+	  Add --with-opengl-framework=
+
+2008-07-27 22:32  glynn
+
+	* aclocal.m4, configure, configure.in,
+	  include/Make/Platform.make.in, include/config.h.in: Better
+	  support for OpenGL and Tcl/Tk frameworks on MacOSX
+
+2008-07-27 22:30  glynn
+
+	* raster3d/Makefile: r3.mkdspf doesn't require OpenGL
+
+2008-07-27 18:12  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: call
+	  wxversion.select() just once at the beginning
+
+2008-07-27 17:26  glynn
+
+	* configure, configure.in: Fix bug in --with-tcltk-framework=
+	  handling
+
+2008-07-27 17:12  glynn
+
+	* gui/tcltk/gis.m/gm.tcl: Use "tk windowingsystem" instead of
+	  $env(osxaqua)
+
+2008-07-27 17:09  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: check for wxPython
+	  version, code simplified, wx.version() enabled
+
+2008-07-27 17:09  glynn
+
+	* lib/init/init.sh: Remove OSX hack
+
+2008-07-27 16:34  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: don't crash when
+	  unable to read settings file
+
+2008-07-27 16:17  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI: use ';' as separator
+	  instead of ':', colors not saved as tuples but R:G:B strings --
+	  it breaks previously saved settings
+
+2008-07-27 11:30  martinl
+
+	* lib/python/grass.py: pygrass: don't crash when mapset has no
+	  elements
+
+2008-07-27 11:05  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI/preferences:
+	  layout cosmetics
+
+2008-07-27 10:57  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI/atm: fix trac #235
+	  (edits in the table are not saved)
+
+2008-07-27 07:16  cmbarton
+
+	* gui/wxpython/gui_modules/globalvar.py: This fixes the bogus
+	  version check failure caused by a bug in wxversion.
+
+2008-07-27 02:57  cmbarton
+
+	* visualization/nviz/scripts/config.tcl,
+	  visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_surf.tcl,
+	  visualization/nviz/scripts/widgets.tcl: Fixed cosmetics for
+	  running nviz under TclTk 8.5 aqua in Mac. Should not adversely
+	  affect nviz in x11 or Windows.
+
+2008-07-26 22:53  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/workspace.py: nviz2/wxGUI: minor
+	  workspace-related fixes
+
+2008-07-26 22:52  glynn
+
+	* aclocal.m4, configure, configure.in: Add --with-tcltk-framework=
+
+2008-07-26 21:00  martinl
+
+	* include/ogsf_proto.h, lib/ogsf/Gv3.c, lib/ogsf/gv.c: ogsflib: fix
+	  r32316
+
+2008-07-26 20:24  martinl
+
+	* gui/wxpython/gui_modules/packages-uml.dia,
+	  gui/wxpython/gui_modules/packages-uml.svg: wxGUI: out-dated uml
+	  diagrams removed
+
+2008-07-26 20:23  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/nviz.py: nviz2/wxGUI: redirecting
+	  messages fixed (style)
+
+2008-07-26 20:18  martinl
+
+	* include/ogsf_proto.h, lib/ogsf/Gv3.c: ogsflib: unused Vectmem fns
+	  removed, don't track memory by default
+
+2008-07-26 19:40  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: use wx.version()
+	  instead of wx.__version__
+
+2008-07-26 19:21  martinl
+
+	* lib/nviz/draw.c: nvizlib: use GV_alldraw_vect() instead of
+	  GV_alldraw_fastvect() in quick mode
+
+2008-07-26 14:08  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py: nviz2/wxGUI: vector
+	  settings fixed (lines/points) by default nothing is loaded
+
+2008-07-26 10:38  martinl
+
+	* gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: force map name to
+	  be fully qualified, trac #236
+
+2008-07-25 19:36  glynn
+
+	* vector/v.to.db/parse.c: Shorten parms.type->label; use
+	  ->description for full description
+
+2008-07-25 18:39  glynn
+
+	* lib/python/README.txt: Add pipe_command, parse_color
+
+2008-07-25 18:04  glynn
+
+	* lib/python/Makefile: copy README.txt to etc/python
+
+2008-07-25 13:49  martinl
+
+	* lib/vector/vedit/veditlib.dox: veditlib: doxygen cosmetics
+
+2008-07-25 13:29  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: bugfix, update
+	  r32291
+
+2008-07-25 13:24  martinl
+
+	* gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI/vdigit: breakLines moved to Digit class (update r32289)
+
+2008-07-25 12:56  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/line.cpp: wxGUI/vdigit: update connect lines
+	  tool
+
+2008-07-25 10:27  martinl
+
+	* lib/grasslib.dox, lib/vector/vedit/Makefile,
+	  lib/vector/vedit/cats.c, lib/vector/vedit/chtype.c,
+	  lib/vector/vedit/copy.c, lib/vector/vedit/delete.c,
+	  lib/vector/vedit/distance.c, lib/vector/vedit/flip.c,
+	  lib/vector/vedit/merge.c, lib/vector/vedit/move.c,
+	  lib/vector/vedit/select.c, lib/vector/vedit/snap.c,
+	  lib/vector/vedit/veditlib.dox, lib/vector/vedit/vertex.c,
+	  lib/vector/vedit/zbulk.c: veditlib: doxygen updates
+
+2008-07-25 10:23  martinl
+
+	* lib/vector/vedit/break.c: veditlib: connect_lines() rewritten
+
+2008-07-25 09:32  neteler
+
+	* db/drivers/postgres/grass-pg.html: Geometry import from
+	  PostgreSQL table added
+
+2008-07-25 00:30  glynn
+
+	* lib/python/grass.py: Added parse_color
+
+2008-07-24 19:17  hcho
+
+	* locale/po/grasslibs_ko.po: more Korean translations
+
+2008-07-24 17:48  glynn
+
+	* lib/python/grass.py: Add pipe_command
+
+2008-07-24 17:14  glynn
+
+	* raster/r.mapcalc/map3.c: Make r3.mapcalc work on 64-bit systems
+	  (where a void* won't fit into an int)
+
+2008-07-24 16:41  mlennert
+
+	* display/d.thematic.area/area.c,
+	  display/d.thematic.area/local_proto.h,
+	  display/d.thematic.area/main.c: rearranged some of the code, to
+	  allow running without x-mon for only legend output
+	  improved the d.graph output
+
+2008-07-24 15:03  glynn
+
+	* lib/gis/parser.c: Only treat an argument as an option if the
+	  character preceding the
+	  first '=' is alphanumeric (update of r32259)
+
+2008-07-24 15:01  glynn
+
+	* raster/r.terraflow/main.cc: Rename STREAM_DIR= -> stream_dir=
+
+2008-07-24 14:46  glynn
+
+	* lib/gis/parser.c: Only treat an argument as an option if there is
+	  no space before the first '='
+
+2008-07-24 14:38  martinl
+
+	* lib/vector/Vlib/level_two.c: vlib: doxygen strings updated
+	  (level_two.c)
+
+2008-07-24 13:30  glynn
+
+	* lib/arraystats: Set svn:ignore property
+
+2008-07-24 09:02  neteler
+
+	* scripts/r.shaded.relief/description.html,
+	  scripts/r.shaded.relief/r.shaded.relief: units parameter
+	  clarified
+
+2008-07-24 08:19  martinl
+
+	* lib/gis/error.c: gislib: doxygen strings updated (\fn tag
+	  removed)
+
+2008-07-24 08:10  martinl
+
+	* gui/wxpython/nviz/init.cpp: nviz2/wxGUI: G_unset_error_routine(),
+	  external routine for percent complete messages added (TODO:
+	  update gislib)
+
+2008-07-24 07:12  martinl
+
+	* lib/gis/error.c: gislib: allow ext_error() also for messages
+
+2008-07-24 07:11  martinl
+
+	* gui/wxpython/nviz/init.cpp: nviz2/wxGUI: print sentence fn added
+	  (from libgis) [TODO: redirect also G_percent]
+
+2008-07-24 04:04  kyngchaos
+
+	* macosx/ReadMe.rtf: TCLTK_INTERNAL= is interpreted as unset in
+	  makefile
+
+2008-07-24 00:57  glynn
+
+	* raster/Makefile: Add r.grow.distance
+
+2008-07-24 00:56  glynn
+
+	* raster/r.cost/main.c: Fix calculation of number of segments
+	  (round up instead of down)
+
+2008-07-24 00:55  glynn
+
+	* visualization/nviz/src/Makefile: Put NVIZ-specific linker flags
+	  before more general linking flags
+
+2008-07-23 22:27  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/nviz.py, gui/wxpython/nviz/init.cpp,
+	  gui/wxpython/nviz/nviz.h, gui/wxpython/nviz/nviz.i: nviz2/wxGUI:
+	  nviz module log improved
+
+2008-07-23 21:28  mlennert
+
+	* vector/v.class/main.c: moved choice of algorithms to library
+
+2008-07-23 21:26  mlennert
+
+	* display/d.thematic.area/Makefile,
+	  display/d.thematic.area/description.html,
+	  display/d.thematic.area/main.c: added
+	  - possibility to chose algorithm of classification
+	  - option to create a d.graph instructions file for legend
+	  - option to print extended legend info
+
+2008-07-23 21:16  mlennert
+
+	* include/arraystats.h: added new statistics and new function for
+	  chosing algorithm
+
+2008-07-23 21:15  mlennert
+
+	* lib/arraystats/basic.c: added some new statistics
+
+2008-07-23 21:14  mlennert
+
+	* lib/arraystats/class.c: added function to chose algorithm
+
+2008-07-23 21:06  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/nviz/init.cpp, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/nviz.i: nviz/wxGUI: redirect error message from
+	  nviz module
+
+2008-07-23 15:29  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: render map when workspace is loaded
+
+2008-07-23 14:55  martinl
+
+	* gui/wxpython/gui_modules/nviz.py, gui/wxpython/nviz/draw.cpp,
+	  gui/wxpython/nviz/nviz.h, include/nviz.h, lib/nviz/draw.c:
+	  nviz2/wxGUI: render vector features OnVectorHeight()
+
+2008-07-23 13:50  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/nviz/nviz.h, gui/wxpython/nviz/nviz_types.i,
+	  gui/wxpython/nviz/vector.cpp: nviz2/wxGUI: improved 2d vector
+	  points support
+
+2008-07-23 12:37  glynn
+
+	* locale/po/grasstcl_de.po, locale/po/grasswxpy_de.po: Convert to
+	  ISO-8859-15
+
+2008-07-23 12:35  glynn
+
+	* locale/po/grasswxpy_de.po: Fix double-conversions
+
+2008-07-23 11:21  mlennert
+
+	* lib/Makefile: let arraystats library be compiled automatically
+
+2008-07-22 20:53  glynn
+
+	* raster/r.grow.distance/Makefile: Enable LFS
+
+2008-07-22 19:49  glynn
+
+	* locale/po/grassmods_de.po: Convert back to ISO-8859-15 (encoding
+	  was changed to UTF-8 by r24806)
+
+2008-07-22 19:46  glynn
+
+	* locale/po/grassmods_de.po: Fix encoding errors (all relating to
+	  a-umlaut)
+
+2008-07-22 15:55  glynn
+
+	* raster/r.grow.distance, raster/r.grow.distance/Makefile,
+	  raster/r.grow.distance/description.html,
+	  raster/r.grow.distance/main.c: Add r.grow.distance
+
+2008-07-22 15:25  neteler
+
+	* db/drivers/postgres/grass-pg.html: cosmetics
+
+2008-07-22 15:18  neteler
+
+	* locale/po/grasstcl_id.po: Firman Hadi: cont'ed
+
+2008-07-22 10:40  martinl
+
+	* gui/wxpython/gui_modules/goutput.py, gui/wxpython/nviz/init.cpp,
+	  include/nviz.h, lib/nviz/draw.c, lib/nviz/map_obj.c,
+	  lib/nviz/nvizlib.dox, visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/vector.c: nviz2: support for 2d vector
+	  points added (drawing points)
+
+2008-07-22 09:58  martinl
+
+	* lib/ogsf/Gv3.c: ogsflib cosmetics: print fully qualified vector
+	  name
+
+2008-07-22 09:32  martinl
+
+	* include/gstypes.h, lib/ogsf/GP2.c, lib/ogsf/GV2.c, lib/ogsf/gp.c,
+	  lib/ogsf/gsds.c, lib/ogsf/gv.c, lib/ogsf/gvl_file.c: ogsflib:
+	  avoid using statically allocated buffer for filenames (NAME_SIZ)
+
+2008-07-22 06:40  cmbarton
+
+	* gui/wxpython/gui_modules/gselect.py: Used new grass library for
+	  mapset selection and element list parsing. Makes map selection
+	  much faster.
+	  
+	  NOTE: This change CANNOT be backported to GRASS 6.4 unless the
+	  new grass python library and new init.sh code is also backported.
+
+2008-07-21 22:52  martinl
+
+	* include/nviz.h, lib/nviz/map_obj.c, lib/ogsf/GP2.c,
+	  visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/surface.c,
+	  visualization/nviz2/cmd/vector.c: nviz2/cmd: module/nvizlib
+	  updated to support 2d points (in progress)
+
+2008-07-21 22:27  martinl
+
+	* include/ogsf_proto.h, lib/ogsf/GP2.c, lib/ogsf/Gp3.c,
+	  lib/ogsf/Gs3.c, lib/ogsf/Gv3.c, lib/ogsf/gp.c: ogsflib cosmetics:
+	  Gs_status() removed -- replaced by G_debug()
+	  message cleaning & minor doxygen updates
+
+2008-07-21 22:01  neteler
+
+	* locale/po/grasstcl_id.po, translators.csv: Firman Hadi
+	  <jalmiburung gmail.com>: Indonesian
+
+2008-07-21 15:00  martinl
+
+	* vector/v.category/main.c: v.category: check if input vector map
+	  exists on report/print
+
+2008-07-21 10:13  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/nviz/load.cpp, gui/wxpython/nviz/nviz.h,
+	  include/nviz.h, lib/nviz/map_obj.c: nviz2/wxGUI: initial steps
+	  towards 2d points support
+
+2008-07-21 10:07  glynn
+
+	* lib/python/README.txt: Add README for Python library
+
+2008-07-21 09:16  glynn
+
+	* lib/init/init.sh: Don't source /etc/profile from session shell
+
+2008-07-21 08:07  neteler
+
+	* raster/r.sun/description.html: url fixes
+
+2008-07-21 06:41  cmbarton
+
+	* scripts/r.in.aster/r_in_aster.py: Minor improvements to error
+	  checking and cleanup
+
+2008-07-20 21:35  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/nviz/nviz.h, gui/wxpython/nviz/vector.cpp:
+	  nviz2/wxGUI: GUI dialog fixes, vector lines reference surface
+	  initial support of vector points
+
+2008-07-20 15:20  glynn
+
+	* lib/python/grass.py: Add more functions to grass.py module
+
+2008-07-20 10:42  glynn
+
+	* lib/Makefile, lib/init/init.sh, lib/python, lib/python/Makefile,
+	  lib/python/grass.py: Add Python library
+
+2008-07-20 06:32  cmbarton
+
+	* scripts/r.in.aster/r_in_aster.html,
+	  scripts/r.in.aster/r_in_aster.py: New Python version of
+	  r.in.aster bash script. Some improvements and bug fix for Mac
+	  over original script.
+
+2008-07-19 23:24  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/dbm: fix trac #227 (column
+	  names uppercase, v.db.connect returns key column name lowercase)
+
+2008-07-19 09:55  glynn
+
+	* visualization/nviz/Makefile, visualization/nviz/html/Makefile:
+	  Allow symlinks (to support lndir builds)
+
+2008-07-19 09:54  glynn
+
+	* locale/Makefile: Use $(INSTALL) instead of hard-coded "install"
+
+2008-07-19 09:53  glynn
+
+	* configure, configure.in: Use absolute path for aux directory so
+	  that install-sh works
+
+2008-07-19 07:01  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI/dbm: don't use fixed
+	  column key name (cat)
+
+2008-07-18 20:18  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: nviz2/wxGUI: switch
+	  surface/vector page properties, minor fixes
+
+2008-07-18 17:23  glynn
+
+	* db/drivers/sqlite/create_table.c, db/drivers/sqlite/describe.c,
+	  db/drivers/sqlite/fetch.c, db/drivers/sqlite/proto.h: Use SQL
+	  types in preference to SQLite affinity types
+
+2008-07-18 17:22  glynn
+
+	* lib/nviz/render.c: Initialize bitmapId field
+
+2008-07-18 14:57  martinl
+
+	* gui/wxpython/vdigit/driver.cpp: wxGUI/vdigit: don't simplify area
+	  shape (on fill)
+
+2008-07-18 14:16  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI/vdigit: isles filled in white
+	  check for valid areas disabled by default
+
+2008-07-18 09:35  martinl
+
+	* gui/wxpython/vdigit/driver.cpp: wxGUI/vdigit: better area fill
+	  support (TODO: draw isles)
+
+2008-07-17 14:01  martinl
+
+	* gui/wxpython/gui_modules/workspace.py: wxGUI: fix loading
+	  workspace (group parent selection)
+
+2008-07-17 13:50  martinl
+
+	* gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix loading
+	  workspace (groups)
+	  show command string in layer manager statusbar
+
+2008-07-17 10:27  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: nviz2/wxGUI: loading
+	  data layers fixed (empty session)
+
+2008-07-17 10:01  martinl
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c, visualization/nviz2/cmd/vector.c:
+	  nviz2/cli: module updated -- vector lines supported
+
+2008-07-17 06:28  glynn
+
+	* Makefile: Fix permissions on install-sh
+
+2008-07-17 06:26  glynn
+
+	* lib/gis/Makefile: Add $(SOCKLIB) to EXTRA_LIBS
+
+2008-07-17 04:14  kyngchaos
+
+	* macosx/ReadMe.rtf: Xcode 3.1; misc support updates
+
+2008-07-16 19:51  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: nviz2/wxGUI: load/unload
+	  data layers fix
+
+2008-07-16 16:18  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: missing
+	  'symbolArea' added to preferences, related to r32132
+
+2008-07-16 14:50  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI/vdigit: fill valid areas (closed boundary + centroid)
+
+2008-07-16 12:35  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: disable
+	  snapping fn fixed (threshold == 0)
+
+2008-07-16 08:44  glynn
+
+	* include/nviz.h: AGLPixelFmtID -> AGLPixelFmt
+
+2008-07-16 08:24  glynn
+
+	* general/g.parser/test.py: Change Python example script to use
+	  os.execvp() instead of os.system()
+
+2008-07-16 06:12  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/wxgui.py: wxGUI:
+	  mapset path option removed from GUI preferences (see 'Mapset
+	  access' dialog), list of mapsets is build on the fly
+
+2008-07-15 09:09  glynn
+
+	* display/d.vect/attr.c, display/d.vect/label.c,
+	  display/d.vect/main.c, display/d.vect/plot.h,
+	  display/d.vect/topo.c, display/d.vect/zcoor.c: Add encoding=
+	  option
+
+2008-07-15 07:58  glynn
+
+	* configure, configure.in: Remove (outdated) comment about
+	  --with-opengl=windows being untested
+
+2008-07-15 07:57  glynn
+
+	* include/nviz.h, lib/nviz/Makefile, lib/nviz/render.c,
+	  visualization/nviz2/cmd/write_img.c: Clean-up, portability fixes
+
+2008-07-15 05:52  cmbarton
+
+	* gui/wxpython/gis_set.py: Location and mapset lists automatically
+	  display previously selected values (if any).
+
+2008-07-15 05:40  cmbarton
+
+	* gui/wxpython/gui_modules/toolbars.py: Workaround for Mac bug that
+	  keeps widgets like combo boxes from showing up in AUI toolbars.
+
+2008-07-15 05:34  martinl
+
+	* lib/nviz/Makefile: nvizlib: OGSFLIB added
+
+2008-07-15 05:20  cmbarton
+
+	* gui/wxpython/gis_set.py: Fixed location and mapset list widths in
+	  GRASS startup.
+
+2008-07-14 20:54  martinl
+
+	* lib/ogsf/Gs3.c, lib/ogsf/Gv3.c: ogsflib: loading data - use fully
+	  qualified name in message string (also for vector)
+
+2008-07-14 20:25  martinl
+
+	* raster/r.random/count.c, raster/r.random/description.html,
+	  raster/r.random/main.c, raster/r.random/random.c: Fixed crash
+	  when no cover map was specified;
+	  Don't copy input raster map to raster_output if all cover map
+	  values are NULL;
+	  Documentation cleanup and changes to match current module state.
+	  [merged from develbranch_6, r32105, marisn]
+
+2008-07-14 20:23  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/xml/grass-gxw.dtd: nviz2/wxGUI: surface/vector lines
+	  attribute fixes
+
+2008-07-14 09:30  martinl
+
+	* gui/wxpython/vdigit/line.cpp, lib/vector/vedit/snap.c: veditlib:
+	  bugfix - snapping lines works now
+
+2008-07-14 07:41  martinl
+
+	* gui/wxpython/gui_modules/nviz.py, gui/wxpython/nviz/load.cpp,
+	  gui/wxpython/nviz/surface.cpp, gui/wxpython/nviz/vector.cpp:
+	  nviz2/wxGUI: more debug messages, default surface attribute fixes
+
+2008-07-13 21:06  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: nviz2/wxGUI:
+	  workspace/default settings improvements
+
+2008-07-12 19:16  martinl
+
+	* lib/nviz/nvizlib.dox: nvizlib: GRASS website URL fixed
+
+2008-07-12 17:19  martinl
+
+	* Makefile, README, include/Make/Doxyfile_arch_html,
+	  lib/db/dbmilib.dox, lib/display/displaylib.dox,
+	  lib/g3d/g3dlib.dox, lib/gmath/gmathlib.dox, lib/gpde/gpdelib.dox,
+	  lib/grasslib.dox, lib/imagery/imagerylib.dox, lib/init/README,
+	  lib/init/init.bat, lib/segment/segmentlib.dox,
+	  lib/vector/dglib/dglib.dox, lib/vector/vectorlib.dox: Doxygen
+	  cleanup: changed references from old itc.it web page/mailing
+	  lists to osgeo.org ones;
+	  Removed unused <title> tags;
+	  Doxygen now includes images in HTML from current folder.
+	  [merged from devbr6, r32082, 32083]
+
+2008-07-12 13:42  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/xml/grass-gxw.dtd: nviz2/wxGUI: workspace definition
+	  updated (surface attributes, draw mode) -- read/write
+
+2008-07-11 21:54  glynn
+
+	* db/drivers/sqlite/error.c, db/drivers/sqlite/globals.h,
+	  db/drivers/sqlite/main.c, db/drivers/sqlite/proto.h: Clean-up
+
+2008-07-11 17:06  martinl
+
+	* gui/wxpython/nviz/init.cpp, gui/wxpython/vdigit/digit.cpp,
+	  gui/wxpython/vdigit/driver.cpp, lib/gis/gisinit.c:
+	  setlocate(LC_NUMERIC, "C") moved to gisinit()
+
+2008-07-11 15:48  martinl
+
+	* gui/wxpython/gui_modules/nviz.py, gui/wxpython/vdigit/digit.cpp,
+	  gui/wxpython/vdigit/driver.cpp: wxGUI/vdigit: do not crash when
+	  LC_CNUMERIC != C, related to trac #225
+
+2008-07-11 12:26  martinl
+
+	* ps/ps.map/description.html: ps.map manual page: fix wiki url
+
+2008-07-11 10:34  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  nviz2/wxGUI: reading nviz layer properties from workspace file
+	  (initial, surface/attribute)
+
+2008-07-10 17:53  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py:
+	  nviz2/wxGUI: workspace file definition (gxw) extended for Nviz
+	  properties (in progress)"
+
+2008-07-10 12:20  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/nviz/change_view.cpp, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/wxgui.py, gui/wxpython/xml/grass-gxw.dtd:
+	  nviz2/wxGUI: initial workspace upgrade
+
+2008-07-10 09:08  martinl
+
+	* lib/nviz/nvizlib.dox: nvizlib doxygen page updated (list of
+	  functions)
+
+2008-07-10 07:50  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: nviz2/wxGUI: data layers
+	  can be loaded also to running nviz
+
+2008-07-10 06:20  martinl
+
+	* lib/nviz/render.c: nvizlib: some mac-related fixes (off-screen
+	  rendering)
+
+2008-07-10 02:54  glynn
+
+	* raster/r.terraflow/IOStream/include/ami_stream.h,
+	  raster/r.terraflow/IOStream/include/mem_stream.h,
+	  raster/r.terraflow/IOStream/include/mm_utils.h,
+	  raster/r.terraflow/IOStream/lib/src/ami_stream.cc,
+	  raster/r.terraflow/IOStream/lib/src/mm_utils.cc,
+	  raster/r.terraflow/direction.cc, raster/r.terraflow/direction.h,
+	  raster/r.terraflow/fill.cc, raster/r.terraflow/main.cc: Single
+	  flow direction (SFD) patch from Andrew Danner
+
+2008-07-09 22:42  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py: nviz2/wxGUI: settings
+	  (view) fixes
+
+2008-07-09 21:37  martinl
+
+	* gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: i18n cosmetics
+
+2008-07-09 21:22  martinl
+
+	* gui/wxpython/nviz/init.cpp: nviz2/wxGUI: fix nviz extension
+	  crashing (locales-related)
+
+2008-07-09 13:39  martinl
+
+	* lib/init/init.sh: GUI comment updated (init script)
+
+2008-07-09 13:37  martinl
+
+	* lib/init/init.sh: wxPython GUI is default for grass7
+
+2008-07-09 12:53  martinl
+
+	* gui/wxpython/gui_modules/nviz.py: nviz2/wxGUI: nviz icon added
+	  (cosmetics)
+
+2008-07-09 12:47  martinl
+
+	* lib/init/Makefile: init/Makefile updated (icons-related)
+
+2008-07-09 12:36  martinl
+
+	* lib/init/grass_nviz.ico: icon for nviz added
+
+2008-07-09 09:17  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py: nviz2/wxGUI: nviz
+	  settings (apply, restore default), todo: save + update dialog
+
+2008-07-09 07:55  neteler
+
+	* vector/vectorintro.html: mention wxGUI and v.edit
+
+2008-07-08 17:41  martinl
+
+	* include/nviz.h: nvizlib: fix compilation error, include
+	  <grass/config.h>
+
+2008-07-08 13:35  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: i18n minor update
+
+2008-07-08 13:05  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: fix r32002, enable
+	  button OnResult
+
+2008-07-08 09:40  martinl
+
+	* include/nviz.h, lib/nviz/render.c: nvizlib: OPENGL_WGL renamed to
+	  OPENGL_WINDOWS
+
+2008-07-08 09:32  martinl
+
+	* include/nviz.h, lib/nviz/render.c: nvizlib: conditional
+	  references to x11 and aqua added (TODO: wgl)
+
+2008-07-07 11:58  msieczka
+
+	* imagery/i.rectify/main.c: Messages standarization
+
+2008-07-07 09:54  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/nviz/nviz.h, gui/wxpython/nviz/surface.cpp:
+	  nviz2/wxGUI: basic settings, map layer properties saved in layer
+	  manager
+
+2008-07-07 08:50  martinl
+
+	* lib/grasslib.dox, lib/nviz/nvizlib.dox, lib/ogsf/GS2.c: ogsflib:
+	  doxygen update
+	  nvizlib: doxygen page added (just template)
+
+2008-07-06 22:26  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py, gui/wxpython/nviz/draw.cpp,
+	  gui/wxpython/nviz/nviz.h, gui/wxpython/nviz/vector.cpp:
+	  nviz2/wxGUI: set vector height
+	  buttons (apply, save, cancel) from tool window removed, various
+	  fixes towards workspace integration
+
+2008-07-06 20:51  martinl
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c: nviz2/cmd: vector lines opts
+	  added
+
+2008-07-06 20:45  martinl
+
+	* include/ogsf_proto.h, lib/ogsf/GV2.c, lib/ogsf/ogsflib.dox:
+	  ogsflib: GV_alldraw_fastvect() added
+
+2008-07-06 20:43  martinl
+
+	* include/nviz.h: nvizlib: prototype updated
+
+2008-07-06 20:25  martinl
+
+	* lib/nviz/Makefile, lib/nviz/draw.c: Makefile of nvizlib updated
+	  (based on ogsf Makefile)
+
+2008-07-06 18:32  glynn
+
+	* configure, configure.in: Set CFLAGS when linking test programs
+
+2008-07-06 14:32  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: cosmetics in message (loading
+	  workspace)
+
+2008-07-06 12:41  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/dialog: disable all
+	  buttons OnRun (cancel, help, copy, run)
+
+2008-07-06 11:42  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: revert accidental
+	  commit, r32022
+
+2008-07-06 11:41  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: destroy/hide dialog
+	  on wx.EVT_CLOSE
+
+2008-07-06 11:23  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: expand/collapse
+	  element list option added to GUI preferences, default is
+	  'Collapse all except PERMANENT and current'
+
+2008-07-06 11:09  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: fix gselect
+	  (OnDeleteItem), related to r32004
+
+2008-07-06 10:28  neteler
+
+	* imagery/i.rectify/main.c: multiple files
+
+2008-07-06 10:27  martinl
+
+	* gui/wxpython/nviz/vector.cpp: nviz2/wxGUI: missing source added
+
+2008-07-06 10:26  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py: nviz2/wxGUI: minor fixes
+	  in dialog layout
+
+2008-07-06 10:23  neteler
+
+	* imagery/i.rectify/main.c: restored G_OPT_I_GROUP
+
+2008-07-06 09:52  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: Add 'Help' button as
+	  in gis.m, trac #221
+
+2008-07-06 09:27  neteler
+
+	* imagery/i.rectify/main.c: standardize parser
+
+2008-07-05 21:14  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: modules don't refresh
+	  the list of available maps, trac #218
+
+2008-07-05 20:08  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: Stop button should
+	  not be active until the module starts running, trac #219
+
+2008-07-05 13:26  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/nviz/init.cpp, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/surface.cpp: nviz2/wxGUI: set vector mode (line
+	  width, color and flat), general settings (background color)
+
+2008-07-05 11:28  martinl
+
+	* gui/wxpython/README: wxGUI README updated (Nviz requirements)
+
+2008-07-05 05:41  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: nviz2: virtual
+	  OnZoomToRaster method added
+
+2008-07-05 04:37  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI/vdigit: visualize line directions implemented, trac #209
+
+2008-07-04 20:56  glynn
+
+	* include/P_site.h, lib/sites/sites.c, raster/Makefile,
+	  raster/r.cost/main.c, raster/r.drain/main.c,
+	  raster/r.volume/main.c, raster/r.walk/main.c,
+	  visualization/nviz/src/site_attr_commands.c: Elminate FILE* <->
+	  struct Map_info* hack from sites library
+	  Use "const" where appropriate in sites library
+	  Disable raster/simwe as it's too badly broken
+
+2008-07-04 19:52  glynn
+
+	* include/G3d.h, include/ogsf_proto.h, lib/g3d/find_grid3.c,
+	  lib/g3d/g3dcolor.c, lib/g3d/g3dopen.c, lib/g3d/g3drange.c,
+	  lib/ogsf/GK2.c, lib/ogsf/GP2.c, lib/ogsf/GS2.c,
+	  lib/ogsf/GS_util.c, lib/ogsf/GV2.c, lib/ogsf/GVL2.c,
+	  lib/ogsf/Gp3.c, lib/ogsf/Gs3.c, lib/ogsf/Gv3.c, lib/ogsf/Gvl3.c,
+	  lib/ogsf/gs.c, lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_label.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c, lib/ogsf/gsds.c,
+	  lib/ogsf/gvl.c, lib/ogsf/gvl_calc.c, lib/ogsf/gvl_file.c,
+	  lib/ogsf/gvld.c: Add "const" to OGSF, G3D functions where
+	  appropriate
+
+2008-07-04 10:34  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/nviz/load.cpp, gui/wxpython/nviz/nviz.h:
+	  nviz2/wxGUI: initial support for vector line overlays added
+
+2008-07-04 07:21  martinl
+
+	* gui/wxpython/docs/Makefile, gui/wxpython/docs/wxGUI.Nviz.html,
+	  gui/wxpython/docs/wxGUI.html, gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/nviz/load.cpp, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/surface.cpp: nviz2/wxGUI: various
+	  surface-related fixes
+	  wxNviz manual page template added
+
+2008-07-04 01:15  glynn
+
+	* include/Vect.h, include/gisdefs.h, include/site.h,
+	  lib/gis/list.c, lib/gis/ls.c, lib/gis/timestamp.c,
+	  lib/init/set_data.c, lib/sites/sites.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/dbcolumns.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/hist.c, lib/vector/Vlib/legal_vname.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/overlay.c, raster/r.colors/main.c,
+	  raster/r.volume/main.c, raster/simwe/simlib/output.c,
+	  visualization/nviz/src/glwrappers.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/site_attr_commands.c,
+	  visualization/nviz/src/site_highlight_commands.c: Add "const" to
+	  vector functions
+	  Remove "const" from G__ls() etc
+	  Miscellaneous clean-up
+
+2008-07-03 20:10  neteler
+
+	* REQUIREMENTS.html: mention or x11-server-devel
+
+2008-07-03 16:26  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI: settings stored
+	  in .grasswx7 (HOME by default)
+
+2008-07-03 15:59  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: 'Zoom to selected
+	  map (ignore NULLs)' and 'Set computational region from selected
+	  map (ignore NULLs)' added to popup menu for raster layers,
+	  related to trac #157
+
+2008-07-03 15:16  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI/vdigit:
+	  * 'edit line' tool fixed, trac #214
+	  * avoid adding lines with number of vertices < 2
+
+2008-07-03 10:35  martinl
+
+	* visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/surface.c: nviz2/cmd: checking parameters
+	  (consistency)
+
+2008-07-03 07:48  neteler
+
+	* lib/db/dbmi_client/copy_tab.c: fix buffer overflow (thanks to
+	  Glynn)
+
+2008-07-02 22:55  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk/__init__.py,
+	  visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/surface.c: nviz2: wxGUI minor fixes, cmd
+	  module updated (in progress)
+
+2008-07-02 20:37  glynn
+
+	* db/base/columns.c, db/base/copy.c, db/base/describe.c,
+	  db/base/execute.c, db/base/select.c, db/base/tables.c,
+	  db/drivers/dbf/db.c, db/drivers/odbc/db.c, db/drivers/ogr/db.c,
+	  db/drivers/postgres/create_table.c, db/drivers/postgres/cursor.c,
+	  db/drivers/postgres/db.c, db/drivers/postgres/error.c,
+	  db/drivers/postgres/parse.c, db/drivers/postgres/proto.h,
+	  db/drivers/sqlite/create_table.c, db/drivers/sqlite/db.c,
+	  general/g.parser/main.c, general/manage/cmd/copy.c,
+	  general/manage/cmd/list.c, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c, include/proto_dbmi.h,
+	  lib/cairodriver/read_bmp.c, lib/cairodriver/write_bmp.c,
+	  lib/db/dbmi_base/alloc.c, lib/db/dbmi_base/case.c,
+	  lib/db/dbmi_base/column.c, lib/db/dbmi_base/columnfmt.c,
+	  lib/db/dbmi_base/datetime.c, lib/db/dbmi_base/dbmscap.c,
+	  lib/db/dbmi_base/default_name.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/error.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/index.c, lib/db/dbmi_base/isdir.c,
+	  lib/db/dbmi_base/legal_dbname.c, lib/db/dbmi_base/login.c,
+	  lib/db/dbmi_base/sqltype.c, lib/db/dbmi_base/string.c,
+	  lib/db/dbmi_base/table.c, lib/db/dbmi_base/value.c,
+	  lib/db/dbmi_base/valuefmt.c, lib/db/dbmi_base/xdrstring.c,
+	  lib/db/dbmi_client/c_create_idx.c,
+	  lib/db/dbmi_client/c_list_drivers.c, lib/db/dbmi_client/c_priv.c,
+	  lib/db/dbmi_client/column.c, lib/db/dbmi_client/copy_tab.c,
+	  lib/db/dbmi_client/db.c, lib/db/dbmi_client/delete_tab.c,
+	  lib/db/dbmi_client/select.c, lib/db/dbmi_client/start.c,
+	  lib/db/dbmi_client/table.c, lib/db/dbmi_driver/d_mkdir.c,
+	  lib/db/dbmi_driver/driver_state.c, lib/form/generate.c,
+	  lib/gis/parser.c, lib/init/local_proto.h, lib/init/mke_loc.c,
+	  lib/init/mke_mapset.c, lib/init/other.c, lib/init/set_data.c,
+	  lib/sites/sites.c, raster/r.colors/main.c, raster/r.cross/main.c,
+	  raster/r.neighbors/main.c, raster/r.out.gdal/main.c,
+	  raster/r.transect/local_proto.h, raster/r.transect/parse_line.c,
+	  raster/r.univar2/r.univar_main.c,
+	  raster/simwe/r.sim.sediment/main.c, raster/wildfire/r.ros/main.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.digit/generate.c,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.out.svg/main.c: Add
+	  "const" where appropriate to DBMI functions
+	  Miscellaneous clean-up
+
+2008-07-02 14:31  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: 'copy
+	  categories' is implemented only in vedit interface
+
+2008-07-02 14:01  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: related to errors at
+	  querying (trac #212)
+
+2008-07-02 13:49  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: errors at querying
+	  (trac #212)
+
+2008-07-02 13:34  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI/vdigit: errors at
+	  removing vertex (trac #211)
+
+2008-07-02 12:34  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/undo.cpp: wxGUI/vdigit: don't ask to save
+	  changes when there have been none (trac #210)
+
+2008-07-02 10:13  martinl
+
+	* gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/nviz/Makefile, gui/wxpython/nviz/dig_types.i,
+	  gui/wxpython/nviz/draw.cpp, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/nviz_types.i, gui/wxpython/nviz/surface.cpp,
+	  include/nviz.h, lib/grasslib.dox, lib/nviz/Makefile,
+	  lib/nviz/draw.c: nviz2: wxGUI fixes (surface draw mode), initial
+	  doxygen updates
+
+2008-07-02 10:03  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py: wxGUI: remove print
+	  statements, trac #206
+
+2008-07-02 09:26  neteler
+
+	* lib/db/dbmi_base/string.c: doxygen stub
+
+2008-07-02 08:09  neteler
+
+	* scripts/v.in.geonames/v.in.geonames: DBF driver warning added
+
+2008-07-02 08:05  neteler
+
+	* binaryInstall.src, display/d.barscale/draw_scale.c,
+	  display/d.grid/plotborder.c, display/d.legend/box.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.edit/edit.c,
+	  display/d.save/main.c, display/d.zoom/pan.c,
+	  doc/migration_50_51.txt, imagery/i.vpoints/main.c, include/gis.h,
+	  include/gmath.h, include/gprojects.h, include/gstypes.h,
+	  include/keyframe.h, include/kftypes.h, include/ogsf_proto.h,
+	  include/shhopt.h, install-sh, lib/gis/datum.c, lib/gis/flate.c,
+	  lib/gis/get_ell_name.c, lib/gis/gishelp.c, lib/gis/put_row.c,
+	  lib/gis/user_config.c, lib/gis/win32_pipes.c, lib/gmath/TODO,
+	  lib/gmath/la.c, lib/init/gis_set.tcl, lib/init/grass.src,
+	  lib/rst/interp_float/output2d.c, lib/vask/V_call.c,
+	  lib/vector/diglib/allocation.c, lib/vector/diglib/angle.c,
+	  lib/vector/diglib/box.c, lib/vector/diglib/frmt.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/inside.c,
+	  lib/vector/diglib/line_dist.c, lib/vector/diglib/linecros.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/poly.c, lib/vector/diglib/port_init.c,
+	  lib/vector/diglib/port_test.c, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/prune.c, lib/vector/diglib/spindex_rw.c,
+	  lib/vector/diglib/struct_alloc.c, lib/vector/diglib/test.c,
+	  macosx/app/grass.sh.in, raster/r.coin/make_coin.c,
+	  raster/r.cost/memory.c, raster/r.le/r.le.patch/input.c,
+	  raster/r.le/r.le.patch/patch.c, raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/input.c, raster/r.le/r.le.pixel/pixel.h,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/ask_group.c,
+	  raster/r.le/r.le.setup/colors.h, raster/r.le/r.le.setup/setup.h,
+	  raster/r.le/r.le.trace/r.le.trace.h,
+	  raster/r.le/r.le.trace/user_input.c,
+	  raster/r.out.tiff/r.out.tiff.c, raster/r.profile/read_rast.c,
+	  raster/r.sunmask/g_solposition.c,
+	  raster/r.terraflow/IOStream/include/rtimer.h,
+	  raster/r.terraflow/filldepr.cc, raster/r.terraflow/plateau.cc,
+	  raster/r.terraflow/stats.h, raster/r.terraflow/water.cc,
+	  raster/r.terraflow/water.h, raster/r.to.vect/areas.c,
+	  raster/r.walk/memory.c, raster3d/r3.out.v5d/BUG,
+	  rpm/fedora/grass_FC2.spec, rpm/fedora/grass_FC3.spec,
+	  rpm/mandrake/grass.spec, scripts/g.mremove/g.mremove,
+	  sites/s.in.ascii/get_site.c, swig/perl/gis.h,
+	  vector/v.build.polylines/README, vector/v.digit/display.c,
+	  vector/v.in.region/main.c, vector/v.overlay/area_area.c,
+	  visualization/nviz/README.ACS,
+	  visualization/nviz/scripts/ACS_utils.tcl,
+	  visualization/nviz/scripts/nviz_params,
+	  visualization/nviz/scripts/panel_resize.tcl,
+	  visualization/nviz/scripts/panel_vquery.tcl,
+	  visualization/nviz/scripts/site_attr.tcl,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/site_attr_commands.c,
+	  visualization/nviz/src/site_highlight_commands.c,
+	  visualization/nviz/src/togl.h: removed superfluous $Id$ tag
+
+2008-07-02 07:41  neteler
+
+	* tools/cvs.recursadd, tools/cvs.remove, tools/cvs.rename.dir,
+	  tools/cvs.rename.file, tools/cvs2cl.pl: no more needed
+
+2008-07-02 07:35  martinl
+
+	* lib/ogsf/gs.c: ogsflib: warning not needed here (->debug)
+
+2008-07-02 07:12  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/nviz.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/nviz,
+	  gui/wxpython/nviz/Makefile, gui/wxpython/nviz/nviz.i,
+	  gui/wxpython/vdigit, gui/wxpython/vdigit/Makefile,
+	  gui/wxpython/vdigit/digit.i,
+	  visualization/nviz2/cmd/local_proto.h: nviz2: svn prop set fix,
+	  vdigit and nviz extension renamed for grass7
+	  vdigit-related bug fixed
+
+2008-07-02 00:58  glynn
+
+	* SUBMITTING: Add more detail on setting SVN properties
+
+2008-07-01 22:33  martinl
+
+	* lib/nviz/change_view.c, lib/nviz/render.c: nviz2lib: svn props
+	  updated (fixed, r31944)
+
+2008-07-01 22:29  martinl
+
+	* lib/nviz/Makefile, lib/nviz/change_view.c, lib/nviz/render.c,
+	  lib/nviz/render.h: nviz2lib: svn props updated
+
+2008-07-01 22:25  martinl
+
+	* gui/wxpython/nviz/change_view.cpp, gui/wxpython/nviz/draw.cpp,
+	  gui/wxpython/nviz/lights.cpp, gui/wxpython/nviz/load.cpp,
+	  gui/wxpython/nviz/surface.cpp: nviz2/wxGUI: svn props updated
+
+2008-07-01 21:54  glynn
+
+	* gui/wxpython/nviz, include/ogsf_proto.h, lib/nviz,
+	  lib/ogsf/gsd_img_mpeg.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c, visualization/nviz2/cmd: Change char * ->
+	  const char *
+	  Set svn:ignore property
+
+2008-07-01 21:52  glynn
+
+	* scripts/v.in.geonames: Set svn:ignore property
+
+2008-07-01 21:11  martinl
+
+	* gui/wxpython/gui_modules/nviz.py: nviz2/wxGUI: missing nviz
+	  module added
+
+2008-07-01 20:51  martinl
+
+	* visualization/nviz2/Makefile: nviz2: Makefile added
+
+2008-07-01 20:30  martinl
+
+	* visualization/nviz2/cmd/Makefile: nviz2/cmd: Makefile fix
+
+2008-07-01 20:02  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/nviz,
+	  gui/wxpython/nviz/Makefile, gui/wxpython/nviz/change_view.cpp,
+	  gui/wxpython/nviz/dig_types.i, gui/wxpython/nviz/draw.cpp,
+	  gui/wxpython/nviz/init.cpp, gui/wxpython/nviz/lights.cpp,
+	  gui/wxpython/nviz/load.cpp, gui/wxpython/nviz/nviz.h,
+	  gui/wxpython/nviz/nviz.i, gui/wxpython/nviz/surface.cpp,
+	  include/Make/Grass.make.in, include/nviz.h, lib/Makefile,
+	  lib/nviz, lib/nviz/Makefile, lib/nviz/change_view.c,
+	  lib/nviz/cplanes_obj.c, lib/nviz/draw.c, lib/nviz/exag.c,
+	  lib/nviz/lights.c, lib/nviz/map_obj.c, lib/nviz/nviz.c,
+	  lib/nviz/position.c, lib/nviz/render.c, lib/nviz/render.h,
+	  visualization/Makefile, visualization/nviz2,
+	  visualization/nviz2/cmd, visualization/nviz2/cmd/Makefile,
+	  visualization/nviz2/cmd/args.c,
+	  visualization/nviz2/cmd/description.html,
+	  visualization/nviz2/cmd/local_proto.h,
+	  visualization/nviz2/cmd/main.c,
+	  visualization/nviz2/cmd/write_img.c: nviz2 moved from
+	  grass-addons to trunk
+
+2008-07-01 14:52  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: EnsureCaretVisible?()
+	  in write() probably causes window crash, trac #201
+	  (merge from devbr6, r31931)
+
+2008-07-01 14:42  martinl
+
+	* vector/v.in.sites/main.c: v.in.ascii: cleaning
+	  EXIT_SUCCESS, message standardization, use G_message() instead of
+	  fprintf()
+	  i18n, standard options
+	  (merge from devbr6, r31929)
+
+2008-07-01 14:14  martinl
+
+	* vector/v.build.polylines/main.c, vector/v.build/main.c,
+	  vector/v.clean/test/topocheck.c, vector/v.extract/main.c,
+	  vector/v.generalize/main.c, vector/v.in.ascii/in.c,
+	  vector/v.in.db/main.c, vector/v.in.dwg/main.c,
+	  vector/v.in.sites/main.c, vector/v.net.visibility/main.c:
+	  Vect_build() to stderr by default (merge from devbr6, r31926)
+
+2008-07-01 12:25  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI (location
+	  wizard): fix ll location (merge from devbr6, r31921)
+
+2008-06-30 21:10  glynn
+
+	* vector/v.in.ascii/points.c: Enlarge buffers
+
+2008-06-30 21:10  glynn
+
+	* lib/gis/token.c: Don't skip field separators, even if they are
+	  whitespace
+
+2008-06-30 18:42  neteler
+
+	* scripts/v.in.geonames/v.in.geonames: +file check, exit status;
+	  filter magic deactivated
+
+2008-06-30 15:27  neteler
+
+	* scripts/v.in.geonames/v.in.geonames: key fix
+
+2008-06-30 14:08  neteler
+
+	* vector/v.label.sa/description.html: doc fix
+
+2008-06-30 13:36  neteler
+
+	* vector/v.in.ascii/in.c, vector/v.in.ascii/points.c: more
+	  informative error messages
+
+2008-06-30 13:34  neteler
+
+	* scripts/Makefile, scripts/v.in.geonames,
+	  scripts/v.in.geonames/Makefile,
+	  scripts/v.in.geonames/description.html,
+	  scripts/v.in.geonames/v.in.geonames: new v.in.geonames
+
+2008-06-30 08:08  mlennert
+
+	* scripts/v.db.update/v.db.update: added more explanation of the
+	  value parameter
+
+2008-06-30 07:59  mlennert
+
+	* scripts/v.db.addcol/v.db.addcol: added a little hint about
+	  structure of input
+
+2008-06-29 22:57  hcho
+
+	* scripts/v.db.addcol/description.html,
+	  scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/description.html,
+	  scripts/v.db.addtable/v.db.addtable: Changed help messages to
+	  adapt the SQL2003 specification (DOUBLE => DOUBLE PRECISION)
+
+2008-06-29 09:29  martinl
+
+	* lib/ogsf/Gs3.c: ogsflib: message cosmetics (loading data) [merge
+	  from devbr6, r31878]
+
+2008-06-28 22:58  glynn
+
+	* include/gis.h, raster/r.statistics/main.c,
+	  raster/r.statistics/o_divr.c: Add "const" to fields of Option,
+	  Flag, Module structs
+
+2008-06-28 09:37  hcho
+
+	* scripts/g.mlist/description.html, scripts/g.mlist/g.mlist: sep=
+	  changed to separator= while keeping backward compatibility
+
+2008-06-28 08:23  hcho
+
+	* scripts/g.mlist/README, scripts/g.mlist/description.html,
+	  scripts/g.mlist/g.mlist, scripts/g.mremove/description.html,
+	  scripts/g.mremove/g.mremove: - Removed an obsolete file.
+	  - Fixed the bug that swallows *mapset* file names.
+	  - Fixed "wildcards1|wildcards2".
+	  - g.mlist now uses sed instead of grep (10~30 times faster!).
+	  - POSIX Basic Regular Expressions should continue to work because
+	  previous
+	  versions of g.mlist also supported only basic regular expressions
+	  (not grep
+	  -E).
+
+2008-06-28 03:58  hcho
+
+	* scripts/g.mremove/g.mremove: Simplified (thanks Ivan)
+
+2008-06-27 23:01  hcho
+
+	* display/d.font/description.html,
+	  display/d.graph/description.html,
+	  display/d.labels/description.html,
+	  display/d.legend/description.html,
+	  display/d.text.new/description.html,
+	  display/d.title/description.html,
+	  display/d.vect/description.html,
+	  gui/tcltk/gis.m/description.html, gui/wxpython/docs/wxGUI.html:
+	  Remove references to d.(font|text).freetype
+
+2008-06-27 22:13  hcho
+
+	* display/d.text.new/main.c: i18n
+
+2008-06-27 16:50  glynn
+
+	* db/drivers/odbc/odbc.h: On Windows, <sql.h> needs <windows.h>
+
+2008-06-27 16:48  glynn
+
+	* aclocal.m4, configure, configure.in: Add LOC_CHECK_LINK to allow
+	  checking Windows (stdcall) libraries
+	  Change GDAL ODBC checks to handle stdcall
+
+2008-06-27 16:35  glynn
+
+	* raster/r.lake/main.c: Fix reference to wrong (and uninitialised)
+	  variable
+
+2008-06-27 12:35  glynn
+
+	* lib/cairodriver/Graph.c: Portability fixes; respect USE_X11 and
+	  CAIRO_HAS_XLIB_SURFACE
+
+2008-06-27 01:00  glynn
+
+	* visualization/nviz/src/do_zoom.c: Conditionalise (X-specific)
+	  Error_Handler() on OPENGL_X11
+
+2008-06-26 04:59  hamish
+
+	* vector/v.out.ascii/out.c: output=- sends to stdout (merge from
+	  devbr6)
+
+2008-06-25 18:04  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: out-dated comments
+	  removed (cosmetics) [merge from devbr6, r31843]
+
+2008-06-24 12:41  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: fix last commit (merge from
+	  devbr6)
+
+2008-06-24 12:10  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: if altitude data is missing
+	  replace it with a 0 as v.in.ascii defined column type is
+	  expecting doubles (merge from devbr6)
+
+2008-06-23 21:16  glynn
+
+	* imagery/i.smap/shapiro/write_img.c: Remove bogus zero->null
+	  conversion
+
+2008-06-23 17:42  hamish
+
+	* scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.in.spotvgt/i.in.spotvgt: merge fixes from devbr6 (trac
+	  bug #194)
+
+2008-06-23 17:35  glynn
+
+	* imagery/i.gensig/covariance.c, imagery/i.gensig/files.h,
+	  imagery/i.gensig/local_proto.h, imagery/i.gensig/means.c,
+	  imagery/i.gensig/opencell.c, imagery/i.gensig/openfiles.c,
+	  imagery/i.gensigset/DIR, imagery/i.gensigset/files.h,
+	  imagery/i.gensigset/local_proto.h,
+	  imagery/i.gensigset/opencell.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.gensigset/read_data.c: Convert i.gensig[set] to FP
+
+2008-06-23 13:21  neteler
+
+	* imagery/i.smap/shapiro/main.c, imagery/i.smap/shapiro/parse.c:
+	  exit codes; parser simplification
+
+2008-06-23 11:48  glynn
+
+	* imagery/i.smap/bouman/bouman.h, imagery/i.smap/bouman/model.c,
+	  imagery/i.smap/bouman/read_block.c,
+	  imagery/i.smap/bouman/region.h, imagery/i.smap/bouman/segment.c,
+	  imagery/i.smap/shapiro/openfiles.c,
+	  imagery/i.smap/shapiro/write_img.c: Convert to FP
+
+2008-06-23 11:47  glynn
+
+	* lib/cluster: Add svn:ignore property
+
+2008-06-22 23:40  glynn
+
+	* imagery/i.maxlik/classify.c, imagery/i.maxlik/global.h,
+	  imagery/i.maxlik/main.c, imagery/i.maxlik/open.c: Convert to FP
+
+2008-06-22 23:40  glynn
+
+	* configure, configure.in: Fix display of --with-libs= setting
+
+2008-06-22 19:23  neteler
+
+	* lib/imagery/sigset.c: signature file precision enhanced for
+	  i.gensigset
+
+2008-06-22 15:40  neteler
+
+	* imagery/i.cluster/print1.c, imagery/i.cluster/print2.c,
+	  imagery/i.cluster/print3.c, lib/imagery/sig.c: signature file
+	  precision enhanced
+
+2008-06-22 08:28  neteler
+
+	* gui/wxpython/gui_modules/location_wizard.py: msg cosmetics
+
+2008-06-22 07:52  neteler
+
+	* lib/grasslib.dox: restored overwritten changes
+
+2008-06-22 07:50  neteler
+
+	* lib/cluster/clusterlib.dox, lib/grasslib.dox: doxygen stub added
+
+2008-06-21 21:15  martinl
+
+	* display/d.colors/description.html: d.colors: header and footer
+	  removed from manual page, cosmetics (merge devbr6, r31790)
+
+2008-06-21 19:04  neteler
+
+	* imagery/i.cluster/description.html,
+	  imagery/i.cluster/landsat_cluster.fig,
+	  imagery/i.cluster/landsat_cluster.png: Land use/land cover
+	  clustering of LANDSAT scene figure added
+
+2008-06-21 18:51  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/dialog: do not ignore
+	  module label (and description) [merge from devbr6, r31785]
+
+2008-06-21 12:14  hamish
+
+	* misc/m.cogo/TODO, misc/m.cogo/description.html,
+	  misc/m.cogo/main.c: (merge changes from devbr6)
+	  remove buggy self defined hypot():
+	  - returned nan if x,y are negative.
+	  - #ifdef test did not detect math.h's hypot correctly.
+	  skip comment and blank lines.
+	  update examples in man page and add see also section.
+	  qualify TODO.
+
+2008-06-21 12:08  neteler
+
+	* SUBMITTING: indent rules updated (from Glynn)
+
+2008-06-21 09:42  glynn
+
+	* imagery/i.group/main.c: Fix second occurrence of same bug as
+	  r31775
+
+2008-06-21 09:39  glynn
+
+	* imagery/i.group/main.c: The string returned from G_mapset() must
+	  not be modified
+
+2008-06-21 08:31  neteler
+
+	* imagery/i.group/main.c: buffer length fixes; debug output added
+
+2008-06-20 22:46  neteler
+
+	* general/g.mapsets/main_cmd.c: resurrected g.mapsets.tcl via flag
+	  for nice tcl based selection dialog
+
+2008-06-20 17:10  neteler
+
+	* lib/proj/convert.c: fix ETRF_1989 for broken Polish EPSG files
+
+2008-06-20 14:24  hamish
+
+	* ps/ps.map/description.html: describe vlines type (merge from
+	  devbr6)
+
+2008-06-19 18:25  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI: fixing trac
+	  #191 (merge devbr6, r31760)
+
+2008-06-19 14:08  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI: cosmetics in
+	  location wizard, make g.proj silent
+
+2008-06-19 12:05  hamish
+
+	* ps/ps.map/main.c: remove tempfiles (trac #91) (merge from devbr6)
+
+2008-06-19 07:04  hamish
+
+	* SUBMITTING: minor clean, spelling (merge from devbr6)
+
+2008-06-19 06:24  hamish
+
+	* ps/ps.map/do_labels.c: reset rotation after each label (merge
+	  from devbr6)
+
+2008-06-19 06:06  hamish
+
+	* display/d.labels/do_labels.c: reset rotation after each label
+	  (merge from devbr6)
+
+2008-06-19 00:00  martinl
+
+	* include/vedit.h: veditlib: standardize header #define (merge from
+	  devbr6, r31745)
+
+2008-06-18 15:07  glynn
+
+	* imagery/i.cluster/Makefile, imagery/i.cluster/global.h,
+	  imagery/i.cluster/main.c, imagery/i.cluster/open_files.c,
+	  imagery/i.cluster/print1.c, imagery/i.cluster/print2.c,
+	  imagery/i.cluster/print3.c, imagery/i.cluster/print4.c,
+	  imagery/i.cluster/print5.c, imagery/i.cluster/print6.c,
+	  include/Make/Grass.make.in, include/cluster.h,
+	  include/imagedefs.h, include/imagery.h, lib/Makefile,
+	  lib/cluster, lib/cluster/Makefile, lib/cluster/c_assign.c,
+	  lib/cluster/c_begin.c, lib/cluster/c_clear.c,
+	  lib/cluster/c_distinct.c, lib/cluster/c_exec.c,
+	  lib/cluster/c_execmem.c, lib/cluster/c_means.c,
+	  lib/cluster/c_merge.c, lib/cluster/c_nclasses.c,
+	  lib/cluster/c_point.c, lib/cluster/c_reassign.c,
+	  lib/cluster/c_reclass.c, lib/cluster/c_sep.c,
+	  lib/cluster/c_sig.c, lib/cluster/c_sum2.c,
+	  lib/imagery/c_assign.c, lib/imagery/c_begin.c,
+	  lib/imagery/c_clear.c, lib/imagery/c_distinct.c,
+	  lib/imagery/c_exec.c, lib/imagery/c_execmem.c,
+	  lib/imagery/c_means.c, lib/imagery/c_merge.c,
+	  lib/imagery/c_nclasses.c, lib/imagery/c_point.c,
+	  lib/imagery/c_reassign.c, lib/imagery/c_reclass.c,
+	  lib/imagery/c_sep.c, lib/imagery/c_sig.c, lib/imagery/c_sum2.c:
+	  Move cluster code from lib/imagery to lib/cluster
+	  Rename remaining imagery library from libgrass_I to
+	  libgrass_imagery
+
+2008-06-18 13:05  neteler
+
+	* gui/wxpython/gui_modules/location_wizard.py: WKT dialog added
+
+2008-06-18 11:04  martinl
+
+	* gui/wxpython/vdigit/Makefile, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/dig_types.i, gui/wxpython/vdigit/digit.cpp,
+	  gui/wxpython/vdigit/digit.h, gui/wxpython/vdigit/digit.i,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/select.cpp,
+	  gui/wxpython/vdigit/undo.cpp, gui/wxpython/vdigit/vertex.cpp:
+	  wxGUI/vdigit: set svn properties (merge from devbr6, r31741)
+
+2008-06-18 09:22  hamish
+
+	* vector/v.in.ascii/in.c: descriptions for format options (merge
+	  from devbr6)
+
+2008-06-18 07:57  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/location
+	  wizard: dialog for selecting datum transform fixed (merge from
+	  devbr6, 31735)
+
+2008-06-17 11:03  martinl
+
+	* general/g.transform/crs.c, general/g.transform/main.c:
+	  g.transform: i18n, standard option, summary output enabled (merge
+	  from devbr6, r31733)
+
+2008-06-16 23:42  glynn
+
+	* scripts/m.proj/m.proj: Eliminate bash-ism
+
+2008-06-16 21:43  neteler
+
+	* db/drivers/sqlite/fetch.c: fix trac #180
+
+2008-06-15 09:40  hamish
+
+	* scripts/r.out.xyz/r.out.xyz: don't hardcode verbosity (merge from
+	  devbr6)
+
+2008-06-15 09:22  hamish
+
+	* raster/r.in.xyz/main.c: fix zscale: multiply by factor not
+	  divide. (trac #105)
+	  remove gratuitous zscale key_desc.
+	  remove gratuitous % done for map write. (not needed as step is
+	  very fast)
+	  minor whitespace
+	  (merge from devbr6)
+
+2008-06-13 15:28  martinl
+
+	* raster/r.in.xyz/main.c: r.in.xyz: progress info also for "writing
+	  to map" (merge from devbr6, r31706)
+
+2008-06-13 13:48  martinl
+
+	* scripts/r.out.xyz/r.out.xyz: r.out.xyz: print progress info
+	  (GRASS_VERBOSE=1) [merge from devbr6, r31704]
+
+2008-06-13 13:40  martinl
+
+	* raster/r.stats/main.c: r.stats: message cleaning, use standard
+	  options (merge from devbr6, r31702)
+
+2008-06-13 12:35  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: disable toolbar
+	  long help for given statusbar modes ('Show comp. extent',
+	  'Display mode' and 'Map scale'), trac #135
+	  (merge from devbr6, r31700)
+
+2008-06-13 11:41  hamish
+
+	* scripts/r.in.wms/r.in.wms, scripts/r.in.wms/wms.request: add opt
+	  to save capabilities XML file (merge from devbr6)
+
+2008-06-13 03:17  glynn
+
+	* lib/ogsf/gsd_img_mpeg.c: Remove unused references to <swscale.h>
+
+2008-06-13 00:38  glynn
+
+	* configure, configure.in: Fix FFMPEG checks
+
+2008-06-12 22:08  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: set min
+	  height for dialog to 400px (merge devbr6, r31693)
+
+2008-06-12 22:01  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: check for
+	  parameter keydesc, do not use SpinCtrl for multiple key_desc
+	  items (merge devbr6, r31691)
+
+2008-06-12 21:11  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/vdigit.py: wxGUI/vdigit: currently
+	  edited vector map cannot be used as background map (merge devbr6,
+	  r31689)
+
+2008-06-12 08:22  martinl
+
+	* vector/v.to.points/main.c: v.to.points: G_percent() moved to the
+	  end of the loop (merge devbr6, r31686)
+
+2008-06-11 20:02  martinl
+
+	* lib/ogsf/GS2.c, lib/ogsf/GV2.c, lib/ogsf/gsd_prim.c,
+	  lib/ogsf/gsdrape.c, lib/ogsf/gv.c, lib/ogsf/gvd.c: ogsflib:
+	  doxygen strings updated, debug messages cosmetics (merge devbr6,
+	  r31683)
+
+2008-06-11 19:43  martinl
+
+	* lib/vector/Vlib/build_nat.c: vlib: print number of vertices in
+	  build output (merge devbr6, r31681)
+
+2008-06-11 19:24  martinl
+
+	* vector/v.to.points/main.c: v.to.points: G_percent() added,
+	  cosmetics in done message (merge devbr6, r31679)
+
+2008-06-11 13:35  martinl
+
+	* lib/ogsf/gv.c: ogsflib: missing doxygen strings added (gv.c)
+	  (merge devbr6, r31677)
+
+2008-06-11 11:38  martinl
+
+	* gui/wxpython/vdigit/undo.cpp: wxGUI: cosmetics in debug message
+	  (merge devbr6, r31675)
+
+2008-06-11 07:12  hamish
+
+	* imagery/i.class/description.html: say where the signature file
+	  will be saved to
+
+2008-06-10 13:43  martinl
+
+	* lib/ogsf/GS2.c, lib/ogsf/gsd_views.c: nviz_cmd: color_map/value
+	  option added
+	  template for manual page created
+	  [merge from devbr6, 31669]
+
+2008-06-10 11:52  martinl
+
+	* lib/gis/color_str.c: gislib: minor doxygen update (color_str.c)
+	  [merge devbr6, r31666]
+
+2008-06-10 04:15  neteler
+
+	* raster/r.in.arc/description.html: document optional nodata_value
+
+2008-06-09 20:53  neteler
+
+	* raster/r.in.xyz/local_proto.h, raster/r.in.xyz/main.c: added
+	  zscale parameter
+
+2008-06-09 07:49  neteler
+
+	* db/drivers/sqlite/fetch.c: docs added
+
+2008-06-09 07:41  neteler
+
+	* db/drivers/sqlite/describe.c: case order fixed (cosmetics); docs
+	  added
+
+2008-06-07 13:15  pkelly
+
+	* general/g.proj/description.html, general/g.proj/input.c,
+	  general/g.proj/local_proto.h, general/g.proj/main.c: Use
+	  OSRImportFromEPSG() function directly to work around recent
+	  changes
+	  in GDAL's handling of +init=XXX PROJ.4 strings
+
+2008-06-06 07:24  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: import gettext in
+	  globalvar module (related to r31642)
+	  [merge devbr6, r31644]
+
+2008-06-05 19:57  martinl
+
+	* gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py:
+	  wxGUI: 'extent' attribute added to 'display' tag (merge devbr6,
+	  r31641)
+
+2008-06-05 19:26  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI: statusbar mode
+	  for displays added to preferences (merge devbr6, r31639)
+
+2008-06-05 18:36  neteler
+
+	* doc/infrastructure.txt: updated
+
+2008-06-05 11:40  neteler
+
+	* raster/rasterintro.html: notes on export and resampling
+
+2008-06-04 22:53  martinl
+
+	* lib/ogsf/GS2.c, lib/ogsf/gs.c, lib/ogsf/gsd_cplane.c,
+	  lib/ogsf/gsd_prim.c, lib/ogsf/gsd_surf.c: ogsf: minor doxygen
+	  docs update, intendation fix (merge devbr6, r31631)
+
+2008-06-04 18:48  glynn
+
+	* include/gis.h, include/gisdefs.h, lib/gis/gisinit.c: Add gis.h
+	  version check
+
+2008-06-04 18:20  glynn
+
+	* include/gis.h: Add Revision to svn:keywords property
+
+2008-06-04 18:18  glynn
+
+	* include/gis.h: Add GIS_H_VERSION macro
+
+2008-06-04 09:24  martinl
+
+	* visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/nviz_init.c: nviz: avoid crashing on
+	  elevation map not found (merge devbr6, r31624)
+
+2008-06-04 07:01  neteler
+
+	* scripts/v.in.wfs/v.in.wfs: fix exit status
+
+2008-06-04 03:40  kyngchaos
+
+	* scripts/v.in.mapgen/v.in.mapgen: Fix misspelled g.message
+
+2008-06-03 20:25  neteler
+
+	* imagery/i.atcorr/main.cpp: don't access elements of vis and alt
+	  without checking that those arrays have been allocated
+
+2008-06-03 19:07  glynn
+
+	* include/stats.h, lib/stats/c_kurt.c, lib/stats/c_skew.c,
+	  raster/r.series/main.c: Add skewness, kurtosis to lib/stats and
+	  r.series
+
+2008-06-03 18:01  glynn
+
+	* display/d.thematic.area: Set svn:ignore property
+
+2008-06-03 11:34  neteler
+
+	* imagery/i.atcorr/main.cpp: mapset support fixed
+
+2008-06-02 19:23  martinl
+
+	* lib/ogsf/GS2.c, lib/ogsf/GSX.c, lib/ogsf/gs.c, lib/ogsf/gs_bm.c,
+	  lib/ogsf/gs_norms.c, lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_prim.c,
+	  lib/ogsf/gsd_surf.c, lib/ogsf/gsd_views.c, lib/ogsf/gsd_wire.c:
+	  ogsflib: doxygen strings & debug messages updated (merge devbr6,
+	  r31611)
+
+2008-06-02 14:43  glynn
+
+	* vector/v.univar/main.c: Add skewness, kurtosis
+
+2008-06-02 08:25  hamish
+
+	* raster/Makefile, raster/r.bilinear: r.bilinear replaced by
+	  r.resamp.interp
+
+2008-06-01 13:01  hamish
+
+	* lib/init/gis_set.tcl, lib/init/mke_mapset.c: more default db ->
+	  sqlite
+
+2008-06-01 10:06  neteler
+
+	* raster/r.surf.gauss/description.html,
+	  raster/r.surf.gauss/r_surf_gauss_hist.png: screenshot added
+
+2008-06-01 10:01  neteler
+
+	* raster/r.surf.random/description.html,
+	  raster/r.surf.random/r_surf_random_hist.png: screenshot added
+
+2008-06-01 09:46  neteler
+
+	* raster/r.surf.gauss/main.c: don't doublecheck overwrite
+
+2008-06-01 07:03  hamish
+
+	* tools/build_html_index.sh: minor clean: merge r31592 from devbr6
+
+2008-05-31 23:32  glynn
+
+	* scripts/v.db.join/v.db.join: Revert r31583
+
+2008-05-30 21:24  neteler
+
+	* tools/build_html_index.sh: use table for more compact page
+
+2008-05-30 20:20  neteler
+
+	* scripts/d.rast.leg/d.rast.leg: remember font setting
+
+2008-05-30 13:15  neteler
+
+	* scripts/v.db.join/v.db.join: don't add if col already there
+
+2008-05-30 12:41  neteler
+
+	* scripts/r.shaded.relief/r.shaded.relief: parameters standardized
+
+2008-05-30 12:30  neteler
+
+	* scripts/r.shaded.relief/r.shaded.relief: parameters standardized
+
+2008-05-30 08:31  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/menuform: use for
+	  parameters TYPE_DOUBLE TextCtrl? instead of SpinCtrl? widget
+	  (merge devbr6, 31577)
+
+2008-05-30 06:51  neteler
+
+	* raster/r.slope.aspect/description.html: curvature unit is 1/m
+
+2008-05-29 20:58  martinl
+
+	* doc/debugging.txt: nviz debugging described more precisely, based
+	  on
+	  http://lists.osgeo.org/pipermail/grass-dev/2008-May/038111.html
+	  (merge devbr6, r31569)
+
+2008-05-29 14:47  martinl
+
+	* doc/debugging.txt: NVIZ debug tip added (merge devbr6, r31567)
+
+2008-05-28 20:19  martinl
+
+	* raster/r.lake/main.c: r.lake: fix bogus related to r31561
+
+2008-05-28 19:49  martinl
+
+	* raster/r.lake/main.c: r.lake: cosmetics do not use _() for debug
+	  messages
+
+2008-05-28 19:47  martinl
+
+	* raster/r.lake/main.c: r.lake: change element to 'cell' for 'dem'
+	  message cleaning, do not use _() for debug messages
+	  use standard options (only for trunk, dem -> elevation)
+	  [merge from devbr6, r31558, r31559]
+
+2008-05-28 15:33  neteler
+
+	* raster/r.li/r.li.daemon/Makefile: cruft removed
+
+2008-05-28 15:30  glynn
+
+	* raster/r.li/r.li.daemon/main.c.unused: Don't store cruft in the
+	  repository
+
+2008-05-28 13:32  neteler
+
+	* raster/r.li/r.li.daemon/daemon.c, raster/r.li/r.li.daemon/ipc.h:
+	  don't hardcode G*_MAX buffer lengths
+
+2008-05-28 13:31  neteler
+
+	* raster/r.li/r.li.daemon/main.c,
+	  raster/r.li/r.li.daemon/main.c.unused: main.c apparently not used
+
+2008-05-28 13:19  hamish
+
+	* include/dbmi.h: change default DB to sqlite. let's see what
+	  breaks..
+
+2008-05-28 08:15  neteler
+
+	* display/Makefile: added d.thematic.area
+
+2008-05-28 07:52  neteler
+
+	* display/d.font/main.c: more complete msg
+
+2008-05-28 07:50  neteler
+
+	* display/d.font/main.c: msg cosmetics
+	  (http://grass.osgeo.org/wiki/Development_Specs#Message_standardization)
+
+2008-05-28 04:24  hamish
+
+	* general/g.setproj/main.c: msg cosmetics (merge from devbr6)
+
+2008-05-27 16:43  pkelly
+
+	* display/d.font/main.c: Add checks for valid font name and file
+	  path
+
+2008-05-27 15:23  neteler
+
+	* locale/po/grasswxpy_tr.po: Osman Yalcın Yilmaz: Turkish
+	  translation added
+
+2008-05-26 17:08  neteler
+
+	* gem/README, gem/main.c: boosted to GRASS 7 for parallel
+	  installation
+
+2008-05-26 17:07  neteler
+
+	* macosx/app/Info.plist.in, swig/python/Makefile.in,
+	  swig/python/NumPtr/README.GRASS, swig/python/README,
+	  swig/python/examples/m.distance,
+	  swig/python/examples/rasteraccess.py,
+	  swig/python/examples/vectoraccess.py,
+	  swig/python/python_grass6.i, swig/python/python_grass7.i,
+	  swig/python/test.py, swig/swiglib.dox, tools/build_html_index.sh:
+	  boosted to GRASS 7 for parallel installation
+
+2008-05-26 16:55  neteler
+
+	* INSTALL, gem/docs/GEM-Manual/GEM-Manual.html, gem/main.c,
+	  gem/skeleton/post, gem/skeleton/uninstall,
+	  general/g.gui/description.html, gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gis_set.py, lib/db/README, lib/gis/gislib.dox,
+	  lib/gis/unix_socks.c, macosx/app/grass.sh.in: boosted to GRASS 7
+	  for parallel installation
+
+2008-05-26 16:43  neteler
+
+	* lib/init/Makefile, lib/init/README, lib/init/grass.bat,
+	  lib/init/grass6.html, lib/init/grass7.html,
+	  lib/init/helptext.html, lib/init/init.bat, lib/init/init.sh,
+	  lib/init/variables.html: boosted to GRASS 7 for parallel
+	  installation
+
+2008-05-26 09:34  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI/vdigit: check for duplicates functionality implemented
+	  (merge from devbr6, r31526)
+
+2008-05-26 08:26  martinl
+
+	* include/Vect.h, lib/vector/Vlib/remove_duplicates.c,
+	  lib/vector/vectorlib.dox: vectlib: Vect_line_check_duplicate()
+	  added (derived from Vect_remove_duplicates() [merge devbr6,
+	  r31524]
+
+2008-05-26 06:52  hamish
+
+	* raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/seg/close_maps2.c: tweak comments (merge from
+	  dvbr6 with minor clarification)
+
+2008-05-26 06:28  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: bugfix defaults to
+	  overwrite trac #177 (merge devbr6, r31520)
+
+2008-05-25 20:04  kyngchaos
+
+	* gui/wxpython/README, gui/wxpython/vdigit/Makefile: fix vdigit
+	  compilation on OSX (from dev6 r31518)
+
+2008-05-24 21:03  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: check for input/map parameter type when calling module for
+	  menu, trac #177) [merge devbr r31516]
+
+2008-05-24 20:02  neteler
+
+	* TODO: updated
+
+2008-05-24 16:27  martinl
+
+	* vector/v.in.dxf/main.c: v.in.dxf: use standard option, minor
+	  message cleaning (merge devbr6, r31512)
+
+2008-05-24 16:08  martinl
+
+	* vector/v.out.dxf/main.c: v.out.dxf: message cosmetics
+	  Do not use fully qualified mapname for output
+	  [merge from devbr6, r31510]
+
+2008-05-24 15:45  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: bugfix for trac #176
+	  (merge from devbr6, r31508)
+
+2008-05-24 08:29  martinl
+
+	* include/gsurf.h, lib/bitmap/bitmap.c, lib/ogsf/GS2.c,
+	  lib/ogsf/Gs3.c, lib/ogsf/gs.c, lib/ogsf/gsds.c: ogsflib: doxygen
+	  strings/debug messages updated
+	  [merged from devbr6, r31506]
+
+2008-05-24 05:44  hamish
+
+	* scripts/m.proj/m.proj, scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel: explicitly declare datum
+	  (and so ellipsoid too) [merge from devbr6]
+
+2008-05-23 19:08  neteler
+
+	* raster/r.slope.aspect/aspect.png, raster/r.slope.aspect/dem.png,
+	  raster/r.slope.aspect/description.html,
+	  raster/r.slope.aspect/pcurv.png, raster/r.slope.aspect/slope.png,
+	  raster/r.slope.aspect/tcurv.png: Screenshot examples from example
+	  DEM
+
+2008-05-23 16:58  martinl
+
+	* raster/r.statistics/description.html: r.statistics: r.category
+	  link fixed in manual page (merged from devbr6, r31500)
+
+2008-05-23 16:22  martinl
+
+	* raster/r.statistics/main.c: r.statistics: output option, trac
+	  #116 (merged from devbr6, r31498)
+
+2008-05-23 15:28  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/wxgui.py: wxGUI: wrong indentation fixed (wxgui)
+	  better mapset checking (gis_set)
+	  default connection settings include 'schema/group' (dbm)
+	  [sync'ed with devbr6, r31496]
+
+2008-05-23 14:34  epatton
+
+	* raster/r.lake/description.html: Reorganized sections headings,
+	  HTML tag cleaning
+
+2008-05-22 20:45  neteler
+
+	* doc/infrastructure.txt: GRASS Web stats working
+
+2008-05-22 19:19  epatton
+
+	* raster/r.in.xyz/description.html: Removed obsolete comment,
+	  cosmetics
+
+2008-05-22 16:07  neteler
+
+	* scripts/d.rast.edit/d.rast.edit.tcl: msg cosmetics
+
+2008-05-22 11:22  neteler
+
+	* display/d.rast.num/description.html, display/d.rast.num/number.c:
+	  cosmetics for NULL indication (to fix bad font size)
+
+2008-05-22 10:50  glynn
+
+	* gui/wxpython/vdigit/Makefile: Don't run SWIG concurrently
+
+2008-05-22 10:49  glynn
+
+	* lib/Makefile: Create $(GISBASE)/include before
+	  $(GISBASE)/include/grass (potential parallel make issue)
+
+2008-05-22 08:12  neteler
+
+	* tools/grassdocs.css: remove old email address
+
+2008-05-22 07:49  glynn
+
+	* general/g.gisenv/main.c: Remove bogus quotes from example usage
+	  of set= option
+
+2008-05-22 07:26  glynn
+
+	* raster/r.null/mask.c: Allow setnull=nan
+
+2008-05-21 18:38  epatton
+
+	* raster/r.in.poly/description.html: HTML tag cleaning, cosmetics
+
+2008-05-21 13:44  neteler
+
+	* include/gis.h, lib/gis/parser.c: added G_OPT_I_SUBGROUP
+
+2008-05-21 13:19  neteler
+
+	* imagery/i.class/main.c: message cosmetics for interactive mode
+
+2008-05-21 13:02  epatton
+
+	* raster/r.in.mat/description.html: Update link to OSGeo bugtracker
+	  in manpage
+
+2008-05-21 12:45  neteler
+
+	* imagery/i.class/main.c: fix interactive usage problem (thanks to
+	  Glynn)
+
+2008-05-21 08:39  neteler
+
+	* doc/howto_release.txt, lib/proj/projlib.dox,
+	  vector/v.db.select/description.html, vector/v.db.select/main.c:
+	  sync'ed with devel_grass6
+
+2008-05-21 07:53  glynn
+
+	* lib/init/epsg_option.tcl, lib/init/file_option.tcl,
+	  lib/init/gis_set.tcl: Merge r31283 from 6.4
+
+2008-05-21 06:34  glynn
+
+	* include/imagedefs.h, lib/imagery/find.c, lib/imagery/fopen.c,
+	  lib/imagery/group.c, lib/imagery/list_gp.c,
+	  lib/imagery/list_subgp.c, lib/imagery/loc_info.c,
+	  lib/imagery/ls_groups.c, lib/imagery/points.c, lib/imagery/ref.c,
+	  lib/imagery/sigfile.c, lib/imagery/sigset.c,
+	  lib/imagery/sigsetfile.c, lib/imagery/target.c,
+	  lib/imagery/title.c: Use "const" where appropriate
+
+2008-05-20 19:22  epatton
+
+	* raster/r.in.gridatb/README: Updated obsolete weblink to TOPMODEL
+
+2008-05-20 18:54  epatton
+
+	* raster/r.in.gdal/description.html: HTML tags cleaned, sections
+	  reorganized
+
+2008-05-20 18:25  epatton
+
+	* raster/r.info/description.html: HTML tag cleaning, minor
+	  reformats, examples expanded
+
+2008-05-20 17:33  epatton
+
+	* raster/r.grow2/description.html: Included info from Glynn on
+	  r.grow tie-breaking rules (synched with g6_devel: r31444)
+
+2008-05-20 17:01  epatton
+
+	* raster/r.grow2/description.html: Added descriptions of various
+	  metrics parameters used (with help from Glynn, Hamish)
+
+2008-05-20 07:18  neteler
+
+	* lib/imagery/sigfile.c: create missing directory (for i.class
+	  etc.) (trac #70)
+
+2008-05-19 20:38  neteler
+
+	* lib/gis/gislib.dox: doxygen fixes
+
+2008-05-19 20:36  neteler
+
+	* lib/gis/gisrasterlib.dox, lib/gis/gisvectorlib.dox: doxygen fixes
+
+2008-05-19 13:29  neteler
+
+	* contributors.csv: +Marco Pasetti
+
+2008-05-19 10:20  neteler
+
+	* lib/gis/Makefile, lib/vector/diglib/Makefile,
+	  lib/vector/rtree/Makefile: added MATHLIB for -as-needed linker
+	  flag (trac #69) (merge from devel_branch6)
+
+2008-05-19 09:32  glynn
+
+	* lib/imagery/sigsetfile.c: Create sigset directories
+
+2008-05-19 07:03  glynn
+
+	* lib/imagery/group.c: Remove local prototypes
+
+2008-05-19 07:03  glynn
+
+	* lib/imagery/fopen.c: Create subgroup directories
+
+2008-05-18 21:12  neteler
+
+	* config.guess, config.sub: Update to current state (from
+	  http://git.savannah.gnu.org), see trac #158) (merge from
+	  devel_grass6)
+
+2008-05-18 09:53  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: histogram
+	  component fixed (sync'ed with devbr6, r31410)
+
+2008-05-18 09:00  martinl
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgui.py:
+	  wxGUI/dbm: avoid crashing on invalid data input (NULL in key
+	  column) [sync'ed with devbr6, r31408]
+
+2008-05-18 05:02  neteler
+
+	* vector/v.voronoi/dt_main.c: percentage output (merge from
+	  devel_branch6)
+
+2008-05-17 20:29  neteler
+
+	* general/g.region/main.c: Ivan Shmakov: code simplification (trac
+	  #122)
+
+2008-05-17 20:04  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI/vdigit: show segment
+	  and total length when digitizing linear feature (sync'ed with
+	  devbr6, r31399)
+
+2008-05-17 20:03  neteler
+
+	* general/g.region/main.c: Ivan Shmakov: set (top, bottom) from the
+	  3d vector specified by vect= (trac #121)
+
+2008-05-17 19:59  neteler
+
+	* lib/vector/Vlib/level_two.c: doxygen typo fixed
+
+2008-05-17 17:13  martinl
+
+	* gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html: wxGUI:
+	  manual page (initial) for ATM (sync'ed with devbr6, r31394,
+	  r31395)
+
+2008-05-17 16:46  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/icons/icon.py:
+	  wxGUI: cosmetics (typos, i18n, wording) [sync'ed with devbr6,
+	  r31392]
+
+2008-05-17 16:35  martinl
+
+	* gui/wxpython/docs/Makefile,
+	  gui/wxpython/docs/wxGUI.Digitization_Tool.html,
+	  gui/wxpython/docs/wxGUI.Vector_Digitizing_Tool.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI_layer_manager.jpg,
+	  gui/wxpython/docs/wxGUI_map_display.jpg,
+	  gui/wxpython/docs/wxGUI_vector_digitizer_toolbar.jpg: wxGUI:
+	  initial version of manual page for vector digitizer added
+	  (sync'ed with devbr6, r31390)
+
+2008-05-17 13:28  neteler
+
+	* display/d.vect/area.c, display/d.vect/description.html,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot1.c: support for z height (geometry) colors
+	  added (merge from devel_grass6)
+
+2008-05-17 09:31  martinl
+
+	* vector/v.edit/description.html: v.edit: mention wxPythonGUI
+	  vector digitizer (sync'ed with devbr6)
+
+2008-05-17 09:27  martinl
+
+	* vector/v.digit/description.html: v.digit: mimor manual page
+	  cleaning (sync'ed with devbr6)
+
+2008-05-16 19:20  martinl
+
+	* gui/wxpython/gui_modules/rules.py: wxGUI (rules) use pre-defined
+	  win dimension (sync'ed with devbr6, r31380)
+
+2008-05-16 18:41  martinl
+
+	* gui/wxpython/gui_modules/goutput.py, gui/wxpython/wxgui.py:
+	  wxGUI: enable stderr redirection in GMFrame.__init__(). This can
+	  be useful when GUI crashes during initialization, traceback is
+	  printed to sys.stderr (sync'ed with devbr6)
+
+2008-05-16 18:40  epatton
+
+	* raster/r.le/r.le.patch/description.html,
+	  raster/r.le/r.le.pixel/description.html,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.le/r.le.trace/description.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.support/front/description.html,
+	  raster/r.univar2/r.univar.html, raster/r.univar2/r3.univar.html,
+	  raster/r.watershed/front/description.html: Raster manpage HTML
+	  tags uniformily lowercased, part DEUX
+
+2008-05-16 18:37  epatton
+
+	* raster/r.average/description.html,
+	  raster/r.basins.fill/description.html,
+	  raster/r.bilinear/description.html,
+	  raster/r.bitpattern/description.html,
+	  raster/r.buffer/description.html,
+	  raster/r.carve/description.html, raster/r.cats/description.html,
+	  raster/r.circle/description.html, raster/r.coin/description.html,
+	  raster/r.colors/description.html,
+	  raster/r.compress/description.html,
+	  raster/r.contour/description.html,
+	  raster/r.cost/description.html, raster/r.covar/description.html,
+	  raster/r.cross/description.html,
+	  raster/r.describe/description.html,
+	  raster/r.digit/description.html, raster/r.drain/description.html,
+	  raster/r.grow2/description.html,
+	  raster/r.gwflow/description.html,
+	  raster/r.in.bin/description.html,
+	  raster/r.in.gridatb/description.html,
+	  raster/r.in.mat/description.html,
+	  raster/r.in.poly/description.html,
+	  raster/r.in.xyz/description.html, raster/r.info/description.html,
+	  raster/r.kappa/description.html, raster/r.li/description.html,
+	  raster/r.los/description.html, raster/r.median/description.html,
+	  raster/r.mfilter.fp/description.html,
+	  raster/r.mfilter/description.html,
+	  raster/r.mode/description.html, raster/r.null/description.html,
+	  raster/r.out.arc/description.html,
+	  raster/r.out.ascii/description.html,
+	  raster/r.out.bin/description.html,
+	  raster/r.out.gdal/description.html,
+	  raster/r.out.gridatb/description.html,
+	  raster/r.out.mat/description.html,
+	  raster/r.out.mpeg/description.html,
+	  raster/r.out.png/description.html,
+	  raster/r.out.pov/description.html,
+	  raster/r.out.ppm/description.html,
+	  raster/r.out.ppm3/description.html,
+	  raster/r.out.tiff/description.html,
+	  raster/r.out.vrml/description.html,
+	  raster/r.out.vtk/description.html,
+	  raster/r.patch/description.html,
+	  raster/r.profile/description.html,
+	  raster/r.proj.seg/description.html,
+	  raster/r.proj/description.html, raster/r.quant/description.html,
+	  raster/r.quantile/description.html,
+	  raster/r.random.cells/description.html,
+	  raster/r.random.surface/description.html,
+	  raster/r.random/description.html,
+	  raster/r.reclass/description.html,
+	  raster/r.recode/description.html,
+	  raster/r.region/description.html,
+	  raster/r.report/description.html,
+	  raster/r.resamp.interp/description.html,
+	  raster/r.resamp.rst/description.html,
+	  raster/r.resamp.stats/description.html,
+	  raster/r.resample/description.html,
+	  raster/r.rescale.eq/description.html,
+	  raster/r.rescale/description.html,
+	  raster/r.series/description.html,
+	  raster/r.statistics/description.html,
+	  raster/r.stats/description.html, raster/r.sum/description.html,
+	  raster/r.sun/description.html, raster/r.sunmask/description.html,
+	  raster/r.support.stats/description.html,
+	  raster/r.surf.area/description.html,
+	  raster/r.surf.contour/description.html,
+	  raster/r.surf.fractal/description.html,
+	  raster/r.surf.gauss/description.html,
+	  raster/r.surf.idw/description.html,
+	  raster/r.surf.idw2/description.html,
+	  raster/r.surf.random/description.html,
+	  raster/r.terraflow/description.html,
+	  raster/r.texture/description.html,
+	  raster/r.thin/description.html,
+	  raster/r.timestamp/description.html,
+	  raster/r.to.rast3/description.html,
+	  raster/r.to.rast3elev/description.html,
+	  raster/r.to.vect/description.html,
+	  raster/r.topidx/description.html,
+	  raster/r.topmodel/description.html,
+	  raster/r.transect/description.html,
+	  raster/r.volume/description.html, raster/r.walk/description.html,
+	  raster/r.water.outlet/description.html,
+	  raster/r.what.color/description.html,
+	  raster/r.what/description.html: Raster manpage HTML tags
+	  uniformily lowercased
+
+2008-05-16 17:52  epatton
+
+	* raster/r.in.ascii/description.html: HTML tags cleaned, sections
+	  reformatted, notes updates with flag info
+
+2008-05-16 17:24  epatton
+
+	* raster/r.in.arc/description.html: HTML tag cleanup, example added
+
+2008-05-16 17:01  epatton
+
+	* raster/r.his/description.html: HTML tag cleanup, minor tweaks
+
+2008-05-15 21:55  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix disabling menu items, related
+	  to r31363
+
+2008-05-15 21:46  martinl
+
+	* lib/ogsf/GK2.c, lib/ogsf/GP2.c, lib/ogsf/GS2.c, lib/ogsf/GSX.c,
+	  lib/ogsf/GS_util.c, lib/ogsf/GV2.c, lib/ogsf/Gs3.c,
+	  lib/ogsf/Gv3.c, lib/ogsf/gk.c, lib/ogsf/gp.c, lib/ogsf/gpd.c,
+	  lib/ogsf/gs_bm.c, lib/ogsf/gs_norms.c, lib/ogsf/gsd_cplane.c,
+	  lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_fringe.c,
+	  lib/ogsf/gsd_img_mpeg.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c, lib/ogsf/gsd_label.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c, lib/ogsf/gsd_surf.c,
+	  lib/ogsf/gsd_views.c, lib/ogsf/gsd_wire.c, lib/ogsf/gsdiff.c,
+	  lib/ogsf/gsdrape.c, lib/ogsf/gsds.c, lib/ogsf/gv_quick.c,
+	  lib/ogsf/trans.c: ogsf: very initial lib cleaning and
+	  doxygenization finished (sync'ed with devbr6)
+
+2008-05-15 19:49  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: disable not available modules in
+	  menu (sync'ed with devbr6)
+
+2008-05-15 19:28  epatton
+
+	* raster/r.flow/description.html: Section headings reformatted,
+	  html tag cleanups
+
+2008-05-15 18:56  epatton
+
+	* raster/r.fill.dir/description.html: Uniform html tags
+
+2008-05-15 18:54  epatton
+
+	* raster/r.fill.dir/description.html: Reformatted section headings,
+	  html tag cleanups
+
+2008-05-15 16:34  martinl
+
+	* lib/ogsf/gs_query.c, lib/ogsf/gsget.c, lib/ogsf/gvl.c,
+	  lib/ogsf/gvl_calc.c, lib/ogsf/gvl_calc2.c, lib/ogsf/gvl_file.c,
+	  lib/ogsf/gvld.c: ogsflib: initial doxygen strings
+	  fprintf -> G_m/w/e/d
+	  minor indentation fixes
+	  [sync'ed with devbr6]
+
+2008-05-15 11:21  hamish
+
+	* raster/Makefile: make r.digit and r.out.gdal conditional (sync w
+	  devbr6)
+
+2008-05-14 21:10  martinl
+
+	* gui/wxpython/README: wxGUI/vdigit: swig >= 1.3.31 required
+	  (sync'ed with devbr6)
+
+2008-05-14 16:09  martinl
+
+	* lib/ogsf/gs_norms.c, lib/ogsf/gsd_objs.c, lib/ogsf/gsd_prim.c,
+	  lib/ogsf/gsd_views.c: ogsflib: initial doxygen strings added
+	  fprintf -> G_d/w/e/m
+	  [sync'ed with devbr6]
+
+2008-05-14 07:08  hamish
+
+	* general/g.region/printwindow.c: fix whitespacing (merge from
+	  devbr6)
+
+2008-05-14 07:03  hamish
+
+	* general/g.region/printwindow.c: lat/lon labels swapped with -b
+	  flag (merge from devbr6)
+
+2008-05-13 22:02  martinl
+
+	* lib/ogsf/gsd_cplane.c, lib/ogsf/gsd_fonts.c,
+	  lib/ogsf/gsd_fringe.c, lib/ogsf/gsd_img_mpeg.c,
+	  lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c,
+	  lib/ogsf/gsd_label.c, lib/ogsf/gsd_legend.c, lib/ogsf/gsdiff.c:
+	  ogsf: Initial doxygenization
+	  fprintf -> G_m/w/e
+
+2008-05-13 19:17  epatton
+
+	* raster/r.distance/description.html: HTML tag cleaning, formatting
+	  tweaks, replaced obsolete example containing s.in.ascii with
+	  v.in.ascii
+
+2008-05-13 15:35  martinl
+
+	* lib/ogsf/gp.c, lib/ogsf/gpd.c, lib/ogsf/gs_bm.c: ogsflib:
+	  doxygenization (initial) in progress
+	  fprintf -> G_debug
+	  [sync'ed with devbr6]
+
+2008-05-13 12:15  hamish
+
+	* scripts/r.in.wms/description.html,
+	  scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms,
+	  scripts/r.in.wms/wms.download, scripts/r.in.wms/wms.request: *
+	  add -g flag for braindead servers which can't handle POST data
+	  * check to see if RGB image has an alpha layer before using it
+	  (jpeg)
+	  * parse Channel list properly
+	  * mention better method: gdal_merge.py
+	  * add some more debug msgs
+	  (merge from devbr6)
+
+2008-05-12 22:11  glynn
+
+	* visualization/Makefile: Don't compile NVIZ if Tcl/Tk isn't
+	  enabled
+
+2008-05-12 22:11  glynn
+
+	* lib/ogsf/gk.c, lib/ogsf/gsd_img_mpeg.c: Fix int/long mismatch in
+	  gk_follow_frames()
+	  Fix void return from non-void function add_video_stream()
+
+2008-05-12 22:08  glynn
+
+	* lib/ogsf/gk.c: Include <grass/glocale.h> for _(...) macro
+
+2008-05-12 15:56  martinl
+
+	* lib/ogsf/GS2.c, lib/ogsf/GSX.c, lib/ogsf/Gp3.c, lib/ogsf/Gs3.c,
+	  lib/ogsf/Gv3.c, lib/ogsf/Gvl3.c, lib/ogsf/gk.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gvl_file.c: ogsflib:
+	  doxygenization in progress
+	  better error-handling
+	  [sync'ed with devbr6]
+
+2008-05-12 12:36  martinl
+
+	* lib/ogsf/Gs3.c, lib/ogsf/gs.c, lib/ogsf/gsd_legend.c: ogsflib:
+	  doxygenization in progress
+	  minor cleaning: i18, use G_e/w/m() instead of fprintf()
+	  [sync'ed with devbr6]
+
+2008-05-11 19:21  glynn
+
+	* lib/init/gis_set.tcl: Don't use (broken) home-grown test for file
+	  existence
+
+2008-05-11 19:16  glynn
+
+	* aclocal.m4, configure, configure.in: Replace autoconf's broken
+	  AC_EXEEXT with LOC_EXEEXT
+
+2008-05-11 12:48  martinl
+
+	* lib/ogsf/gsd_img_tif.c, lib/ogsf/ogsflib.dox: ogsf: doxygen
+	  strings, list of public function updated (sync'ed with devbr6)
+
+2008-05-11 12:34  martinl
+
+	* include/Make/Doxyfile_arch_html,
+	  include/Make/Doxyfile_arch_latex: doxygen conf: HAVE_TIFFIO_H
+	  macro added as predefined (sync'ed with devbr6), version updated
+
+2008-05-11 09:50  martinl
+
+	* lib/ogsf/GK2.c, lib/ogsf/GP2.c, lib/ogsf/GS2.c, lib/ogsf/GSX.c,
+	  lib/ogsf/GS_util.c, lib/ogsf/GV2.c, lib/ogsf/GVL2.c,
+	  lib/ogsf/Gp3.c, lib/ogsf/Gs3.c, lib/ogsf/Gv3.c, lib/ogsf/Gvl3.c,
+	  lib/ogsf/gk.c, lib/ogsf/gp.c, lib/ogsf/gpd.c, lib/ogsf/gs.c,
+	  lib/ogsf/gs_bm.c, lib/ogsf/gs_norms.c, lib/ogsf/gs_query.c,
+	  lib/ogsf/gsd_cplane.c, lib/ogsf/gsd_fonts.c,
+	  lib/ogsf/gsd_fringe.c, lib/ogsf/gsd_img_mpeg.c,
+	  lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c,
+	  lib/ogsf/gsd_label.c, lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c,
+	  lib/ogsf/gsd_prim.c, lib/ogsf/gsd_surf.c, lib/ogsf/gsd_views.c,
+	  lib/ogsf/gsd_wire.c, lib/ogsf/gsdiff.c, lib/ogsf/gsdrape.c,
+	  lib/ogsf/gsds.c, lib/ogsf/gsget.c, lib/ogsf/gsget.h,
+	  lib/ogsf/gv.c, lib/ogsf/gv_quick.c, lib/ogsf/gvd.c,
+	  lib/ogsf/gvl.c, lib/ogsf/gvl_calc.c, lib/ogsf/gvl_calc2.c,
+	  lib/ogsf/gvl_file.c, lib/ogsf/gvld.c, lib/ogsf/mc33_table.h,
+	  lib/ogsf/ogsflib.dox, lib/ogsf/rgbpack.h, lib/ogsf/rowcol.h,
+	  lib/ogsf/trans.c: ogsf sync'ed with devbr6: initial code
+	  doxygenization, minor library cleaning (r31312, r31304, r31271)
+
+2008-05-11 06:32  hamish
+
+	* scripts/d.split/description.html: replace d.split with improved
+	  version from grass-addons
+
+2008-05-11 06:31  hamish
+
+	* scripts/d.split/d.split: replace d.split with improved version
+	  from grass-addons
+
+2008-05-10 03:33  hamish
+
+	* scripts/v.rast.stats/v.rast.stats: r.cats -> r.category (#161)
+
+2008-05-08 13:28  neteler
+
+	* imagery/i.group/main.c: msg sync (merge)
+
+2008-05-08 11:50  neteler
+
+	* contributors.csv: added country column (merge)
+
+2008-05-08 08:44  hamish
+
+	* gui/tcltk/Makefile, gui/tcltk/d.m: so long d.m
+
+2008-05-08 08:39  hamish
+
+	* scripts/Makefile, scripts/d.font.freetype, scripts/d.out.png,
+	  scripts/d.paint.labels, scripts/d.text.freetype,
+	  scripts/p.out.vrml, scripts/r.cats, scripts/r.univar.sh,
+	  scripts/v.univar.sh: remove old scripts no longer needed for
+	  GRASS 7
+
+2008-05-08 08:20  hamish
+
+	* display/Makefile, display/d.labels, display/d.mapgraph,
+	  display/d.paint.labels, display/d.text, display/d.text.freetype:
+	  remove abandoned modules: d.mapgraph, d.text, d.text.freetype.
+	  rename d.paint.labels dir
+
+2008-05-07 19:05  neteler
+
+	* REQUIREMENTS.html: +avcimport (merge)
+
+2008-05-07 11:53  hamish
+
+	* lib/init/Makefile: remove old msg translation dir (merge from
+	  devbr6)
+
+2008-05-07 11:39  neteler
+
+	* lib/init/msgs: removed leftover file
+
+2008-05-07 09:44  hamish
+
+	* raster/r.in.xyz/description.html: strut a little
+
+2008-05-07 08:08  hamish
+
+	* vector/v.what.rast/main.c: msg cosmetics (merge from devbr6)
+
+2008-05-07 08:06  martinl
+
+	* lib/grasslib.dox: programmers manual main page sync'ed with
+	  develbr6
+
+2008-05-07 07:32  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: observe verbosity settings
+	  (merge from devbr6)
+
+2008-05-07 04:51  hamish
+
+	* ps/ps.map/prolog.ps: patch to help rendering text outlines (#155;
+	  thanks Bill; merge from relbr6)
+
+2008-05-06 19:11  cdavilam
+
+	* locale/po/grasslibs_es.po, locale/po/grasslibs_ru.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_ru.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasswxpy_es.po, locale/po/grasswxpy_ru.po:
+	  grasslibs_ru translation by Maxim Dubinin, grasswxpy_ru added and
+	  other files updated with current code
+
+2008-05-06 13:20  hamish
+
+	* vector/v.digit/display.c: be quiet on PNG driver open/close (merg
+	  from devbr6)
+
+2008-05-05 20:34  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: loading/saving workspace fix (too many values to unpack)
+	  [sync'ed with develbr6]
+
+2008-05-05 17:12  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: update comment (tab
+	  order) [sync'ed with develbr6]
+
+2008-05-03 22:27  glynn
+
+	* debian/patches/htmlgen-fakeroot.dpatch, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/yac.y, raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.mapcalc/mapcalc.l, raster/r.mapcalc/mapcalc.y,
+	  raster/r.topidx/arc.to.gridatb, raster/r.topidx/gridatb.to.arc,
+	  rfc/RFC1_PSC.dox, rfc/RFC2_PSC.dox, rfc/RFC3_PSC.dox,
+	  rfc/psc_motions.dox, rfc/rfc_list.dox,
+	  rpm/fedora/grass-readline.patch,
+	  scripts/d.font.freetype/d.font.freetype, scripts/d.mvmon/d.mvmon,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.rast.edit/d.rast.edit,
+	  scripts/d.text.freetype/d.text.freetype,
+	  scripts/g.manual/g.manual, scripts/i.landsat.rgb/i.landsat.rgb,
+	  scripts/i.oif/i.oif, scripts/i.oif/i.oifcalc,
+	  scripts/i.oif/m.cutmatrix, scripts/i.spectral/i.spectral,
+	  scripts/i.tasscap/i.tasscap, scripts/r.in.wms/wms.download,
+	  scripts/r.in.wms/wms.request, scripts/r.out.xyz/r.out.xyz,
+	  scripts/r.reclass.area/r.reclass.area,
+	  vector/v.clean/test/v.rand.poly, vector/v.mapcalc/v.mapcalc.y:
+	  Fix MIME types
+
+2008-05-03 20:17  neteler
+
+	* lib/db/dbmi_base/valuefmt.c: keep precision
+
+2008-05-03 11:07  martinl
+
+	* raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c:
+	  r.slope.aspect: message cleaning, i18n (sync'ed with develbr6)
+
+2008-05-03 10:32  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: 'set
+	  computational region from selected map' added to contextual menu
+	  (currently only for raster and vector elements) [sync'ed with
+	  develbr6]
+
+2008-05-03 10:16  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (menuform): do not
+	  use wx.CallAfter() to select first tab [sync'ed with develbr6]
+
+2008-05-03 09:56  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: print new region
+	  settings on 'set region' by default (more transparent to the
+	  user) [sync'ed with develbr6]
+
+2008-05-03 09:31  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py: wxGUI: better handling
+	  non-GRASS commands (or wrongly typed commands) [sync'ed with
+	  develbr6]
+
+2008-05-02 19:08  martinl
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk/__init__.py: wxGUI sync'ed with develbr6
+	  (profile and georect related fixes)
+
+2008-05-02 16:29  neteler
+
+	* gui/wxpython/Makefile: don't build v.digit if CXX not present
+
+2008-05-02 15:27  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI (menuform): layout
+	  cosmetics (border for progress bar) [sync'ed with develbr6]
+
+2008-05-02 15:04  martinl
+
+	* raster/r.composite/main.c: r.composite: message cosmetics
+	  (sync'ed with develbr6)
+
+2008-05-01 21:33  martinl
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgui.py: wxGUI: MS
+	  Windows related fixes (spaces in database path) [sync'ed with
+	  develbr6]
+
+2008-05-01 16:52  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: use less cryptic dialog caption if
+	  workspace file exits (sync'ed with develbr6)
+
+2008-05-01 16:29  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: OnRun/OnAbort command-related fixes (sync'ed with
+	  develbr6)
+
+2008-05-01 15:44  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: message cosmetics (sync'ed
+	  with develbr6)
+
+2008-05-01 13:13  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI (gis_set): header doxygonized,
+	  dialog caption for new mapset fixed (sync'ed with develbr6)
+
+2008-04-30 19:16  glynn
+
+	* gui/icons/silk/application.png,
+	  gui/icons/silk/application_add.png,
+	  gui/icons/silk/application_delete.png,
+	  gui/icons/silk/application_lightning.png,
+	  gui/icons/silk/application_view_columns.png,
+	  gui/icons/silk/application_view_icons.png,
+	  gui/icons/silk/arrow_inout.png, gui/icons/silk/arrow_out.png,
+	  gui/icons/silk/arrow_refresh.png, gui/icons/silk/arrow_undo.png,
+	  gui/icons/silk/bin_closed.png, gui/icons/silk/bullet_add.png,
+	  gui/icons/silk/bullet_delete.png, gui/icons/silk/bullet_go.png,
+	  gui/icons/silk/chart_bar.png, gui/icons/silk/chart_line.png,
+	  gui/icons/silk/chart_line_add.png,
+	  gui/icons/silk/chart_line_delete.png,
+	  gui/icons/silk/chart_line_edit.png,
+	  gui/icons/silk/chart_line_link.png,
+	  gui/icons/silk/chart_organisation.png,
+	  gui/icons/silk/chart_organisation_add.png,
+	  gui/icons/silk/cog_add.png, gui/icons/silk/color_swatch.png,
+	  gui/icons/silk/cross.png, gui/icons/silk/cursor.png,
+	  gui/icons/silk/door_in.png, gui/icons/silk/error.png,
+	  gui/icons/silk/folder.png, gui/icons/silk/folder_add.png,
+	  gui/icons/silk/font.png, gui/icons/silk/grid.png,
+	  gui/icons/silk/his.png, gui/icons/silk/image_add.png,
+	  gui/icons/silk/image_edit.png, gui/icons/silk/images.png,
+	  gui/icons/silk/information.png,
+	  gui/icons/silk/layout_content.png, gui/icons/silk/map.png,
+	  gui/icons/silk/map_add.png, gui/icons/silk/map_go.png,
+	  gui/icons/silk/map_magnify.png,
+	  gui/icons/silk/map_magnify_menu.png, gui/icons/silk/overlays.png,
+	  gui/icons/silk/page_green.png, gui/icons/silk/page_save.png,
+	  gui/icons/silk/page_white.png, gui/icons/silk/page_white_get.png,
+	  gui/icons/silk/page_white_lightning.png,
+	  gui/icons/silk/page_white_picture.png,
+	  gui/icons/silk/picture_empty.png,
+	  gui/icons/silk/picture_save.png, gui/icons/silk/plugin.png,
+	  gui/icons/silk/plugin_add.png, gui/icons/silk/printer.png,
+	  gui/icons/silk/rgb.png, gui/icons/silk/shape_handles.png,
+	  gui/icons/silk/shape_square_add.png, gui/icons/silk/sum.png,
+	  gui/icons/silk/table.png, gui/icons/silk/table_add.png,
+	  gui/icons/silk/tag_blue_add.png, gui/icons/silk/tag_green.png,
+	  gui/icons/silk/textfield_add.png, gui/icons/silk/thematic.png,
+	  gui/icons/silk/vector_add.png, gui/icons/silk/vector_delete.png,
+	  gui/icons/silk/wand.png, gui/icons/silk/zoom.png,
+	  gui/icons/silk/zoom_back.png, gui/icons/silk/zoom_in.png,
+	  gui/icons/silk/zoom_out.png, gui/wxpython/images/grass_form.png,
+	  gui/wxpython/images/intro.png,
+	  gui/wxpython/images/loc_wizard.png,
+	  gui/wxpython/images/loc_wizard_qgis.png,
+	  gui/wxpython/images/qgis_world.png: Merge r31184
+
+2008-04-29 21:53  martinl
+
+	* tools/build_html_index.sh: don't build wxGUI manual page as
+	  separate commands (sync'ed with develbr6)
+
+2008-04-29 21:51  martinl
+
+	* gui/icons/silk/bullet_delete.png, gui/icons/silk/error.png: silk
+	  icon theme: new icons added (for wxGUI/georect) [sync'ed with
+	  develbr6]
+
+2008-04-29 18:23  pkelly
+
+	* general/g.mkfontcap/freetype_fonts.c,
+	  general/g.mkfontcap/stroke_fonts.c: Remove unnecessary casts of
+	  G_realloc() (also improves formatting prior to
+	  running indent)
+
+2008-04-28 19:27  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/vdigit.py, gui/wxpython/vdigit/line.cpp:
+	  wxGUI: sync'ed with develb6
+	  digit module renamed to vdigit, minor fixes in vector digitizer
+	  profile tool fixes (GUI layout), settings
+
+2008-04-28 09:01  hamish
+
+	* raster/r.terraflow/description.html, raster/r.terraflow/main.cc:
+	  clean up help page, option descriptions (merge from devbr6,
+	  r31154)
+
+2008-04-27 18:54  neteler
+
+	* raster/r.buffer/main.c, raster/r.carve/main.c,
+	  raster/r.clump/main.c, raster/r.coin/cmd_parms.c,
+	  raster/r.colors/main.c, raster/r.compress/main.c,
+	  raster/r.contour/main.c, raster/r.cost/main.c,
+	  raster/r.covar/main.c, raster/r.cross/main.c,
+	  raster/r.describe/main.c, raster/r.distance/parse.c,
+	  raster/r.in.mat/main.c, raster/r.kappa/main.c,
+	  raster/r.mfilter.fp/main.c, raster/r.mfilter/main.c,
+	  raster/r.neighbors/main.c, raster/r.out.mat/main.c,
+	  raster/r.out.png/r.out.png.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.tiff/r.out.tiff.c,
+	  raster/r.patch/main.c, raster/r.random.surface/init.c,
+	  raster/r.resample/main.c, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/main.c, raster/r.series/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.texture/main.c,
+	  raster/r.to.vect/main.c, vector/v.kernel/main.c,
+	  vector/v.mkgrid/main.c, vector/v.qcount/main.c,
+	  vector/v.sample/main.c: removed superceded quiet flag stuff
+
+2008-04-27 14:53  wolf
+
+	* vector/v.label.sa/labels.c: No font size adjustment
+
+2008-04-27 12:33  neteler
+
+	* include/VERSION: welcome to GRASS 7.0.svn
+
+2008-04-27 12:22  neteler
+
+	* doc/howto_release.txt: develbranch_6 preparations documented
+
+2008-04-27 12:15  neteler
+
+	* doc/infrastructure.txt: grass.osgeo.org awstats configuration
+	  (still not functional)
+
+2008-04-27 11:29  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI (digit): save only
+	  vdigit-related settings
+
+2008-04-27 11:17  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py: wxGUI (profile): fixes
+	  related to r31103 (save profile settings to file)
+
+2008-04-26 21:54  wolf
+
+	* vector/v.label.sa/labels.c, vector/v.label.sa/main.c: Fixed label
+	  placement, LineOver, label box creation, line candidate sorting
+	  and selection, Flatness and PointOver
+
+2008-04-25 21:55  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py: wxGUI (profile):
+	  settings-related fixes (related to r31103)
+
+2008-04-25 19:44  neteler
+
+	* demolocation/PERMANENT/DEFAULT_WIND3,
+	  demolocation/PERMANENT/WIND3, demolocation/PERMANENT/dbf,
+	  demolocation/PERMANENT/dbf/mysites.dbf,
+	  demolocation/PERMANENT/dbf/point.dbf, demolocation/PERMANENT/dig,
+	  demolocation/PERMANENT/dig_att, demolocation/PERMANENT/dig_plus,
+	  demolocation/PERMANENT/site_lists, demolocation/PERMANENT/vector,
+	  demolocation/PERMANENT/vector/mysites,
+	  demolocation/PERMANENT/vector/mysites/cidx,
+	  demolocation/PERMANENT/vector/mysites/coor,
+	  demolocation/PERMANENT/vector/mysites/dbln,
+	  demolocation/PERMANENT/vector/mysites/head,
+	  demolocation/PERMANENT/vector/mysites/hist,
+	  demolocation/PERMANENT/vector/mysites/topo,
+	  demolocation/PERMANENT/vector/point,
+	  demolocation/PERMANENT/vector/point/cidx,
+	  demolocation/PERMANENT/vector/point/coor,
+	  demolocation/PERMANENT/vector/point/dbln,
+	  demolocation/PERMANENT/vector/point/head,
+	  demolocation/PERMANENT/vector/point/hist,
+	  demolocation/PERMANENT/vector/point/topo: removed legacy files;
+	  updated to current vector format (trac #144)
+
+2008-04-24 20:26  neteler
+
+	* doc/howto_release.txt: url update
+
+2008-04-24 18:12  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI (manual page): extension for
+	  workspace file renamed (grc -> gxw)
+
+2008-04-24 18:04  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI: manual page cosmetics (wiki
+	  URL)
+
+2008-04-24 17:25  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI (preferences) option to disable 'on remove layer' message
+	  (trac #139)
+	  Option 'changeOpacityLevel' moved to 'manager' group.
+
+2008-04-24 16:55  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/icons/silk/__init__.py:
+	  wxGUI (profile tool): GUI layout updated, store settings (not
+	  fully implemented yet)
+	  Profile analysis tool reachable also from contextual menu
+	  Minor changes in silk icons.
+
+2008-04-24 16:18  wolf
+
+	* vector/v.label.sa/font.c, vector/v.label.sa/labels.c,
+	  vector/v.label.sa/labels.h, vector/v.label.sa/main.c: Fixes to
+	  the algorithm
+
+2008-04-24 15:58  neteler
+
+	* doc/howto_release.txt: fix
+
+2008-04-23 14:20  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI (toolbars): use
+	  private variable in abstract class (DigitToolbar works again)
+
+2008-04-23 12:49  glynn
+
+	* scripts/d.font.freetype/d.font.freetype,
+	  scripts/d.paint.labels/d.paint.labels,
+	  scripts/d.shadedmap/d.shadedmap,
+	  scripts/d.slide.show/d.slide.show, scripts/p.out.vrml/p.out.vrml,
+	  scripts/r.cats/r.cats, scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.univar.sh/v.univar.sh: Add svn:executable property to
+	  scripts
+
+2008-04-23 11:03  hamish
+
+	* tools/build_html_index.sh: more human friendly skip list
+
+2008-04-23 10:48  hamish
+
+	* scripts/d.paint.labels/d.paint.labels,
+	  scripts/p.out.vrml/p.out.vrml, scripts/r.cats/r.cats: warn that
+	  the modules have been replaced
+
+2008-04-23 07:22  glynn
+
+	* gui/tcltk/d.m/barscale.tcl, gui/tcltk/d.m/chart.tcl,
+	  gui/tcltk/d.m/dtext.tcl, gui/tcltk/d.m/frames.tcl,
+	  gui/tcltk/d.m/fttext.tcl, gui/tcltk/d.m/gridline.tcl,
+	  gui/tcltk/d.m/legend.tcl, gui/tcltk/d.m/menu.tcl,
+	  gui/tcltk/d.m/rgbhis.tcl, gui/tcltk/d.m/thematic.tcl,
+	  gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/dnviz.tcl,
+	  gui/tcltk/gis.m/dtext.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/georecttool.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmlib.tcl,
+	  gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/gmtool1.tcl,
+	  gui/tcltk/gis.m/gmtool2.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/grassabout.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/group.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/maplabels.tcl, gui/tcltk/gis.m/mapprint.tcl,
+	  gui/tcltk/gis.m/maptext.tcl, gui/tcltk/gis.m/maptool.tcl,
+	  gui/tcltk/gis.m/profile.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/vector.tcl,
+	  lib/arraystats/discont.README.txt, lib/db/sqlp/test/test,
+	  macosx/app/GRASS.applescript, swig/perl/fallback/const-c.inc,
+	  swig/perl/fallback/const-xs.inc,
+	  visualization/nviz/scripts/configIndex,
+	  visualization/nviz/scripts/nviz,
+	  visualization/nviz/scripts/nviz.bat,
+	  visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_arrow.tcl,
+	  visualization/nviz/scripts/panel_fringe.tcl,
+	  visualization/nviz/scripts/panel_legend.tcl,
+	  visualization/nviz/scripts/panel_rquery.tcl,
+	  visualization/nviz/scripts/panel_vquery.tcl: Remove unnecessary
+	  svn:executable properties
+
+2008-04-22 23:22  neteler
+
+	* vector/v.voronoi/README, vector/v.voronoi/dt_main.c: mention
+	  Benjamin
+
+2008-04-22 23:00  neteler
+
+	* vector/v.voronoi/dt_main.c, vector/v.voronoi/dt_write.c,
+	  vector/v.voronoi/sw_defs.h, vector/v.voronoi/sw_main.c,
+	  vector/v.voronoi/vo_main.c: Benjamin Ducke: patch for 3D support
+	  and better memory management. Added 3D centroids
+
+2008-04-22 22:54  hamish
+
+	* tools/build_html_index.sh: ignore renamed modules
+
+2008-04-22 22:35  neteler
+
+	* lib/vector/Vlib/tin.c: better debug output
+
+2008-04-22 21:00  neteler
+
+	* vector/v.in.ascii/description.html: cosmetics
+
+2008-04-22 20:33  neteler
+
+	* vector/v.in.ascii/description.html, vector/v.in.ascii/in.c: also
+	  provide 'comma' as word
+
+2008-04-22 19:48  neteler
+
+	* lib/ogsf/Gp3.c: fix for NVIZ site's dependency: elimination of
+	  sites lib dependency (trac #129)
+
+2008-04-22 16:06  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk/__init__.py: wxGUI: minor cleaning of
+	  profile analysis tool (initial)
+
+2008-04-22 16:04  martinl
+
+	* gui/icons/silk/image_edit.png,
+	  gui/icons/silk/page_white_lightning.png: wxGUI: icons for profile
+	  analysis tool
+
+2008-04-22 08:33  msieczka
+
+	* raster/rasterintro.html: Yet another name for 3d raster - volume.
+
+2008-04-21 14:08  glynn
+
+	* imagery/Makefile: Fix Makefile to build imagery modules
+
+2008-04-20 18:44  neteler
+
+	* include/VERSION: Welcome to 6.4.svn (will become a branch asap)
+
+2008-04-20 11:11  hamish
+
+	* scripts/d.correlate/d.correlate: module descr
+
+2008-04-20 07:37  hamish
+
+	* imagery/i.atcorr/description.html, imagery/i.atcorr/main.cpp:
+	  module descripion, html bugs
+
+2008-04-19 17:02  martinl
+
+	* gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI (preferences): remember the position of gui windows on
+	  save, trac #130
+
+2008-04-19 14:31  hamish
+
+	* raster/r.resamp.interp/main.c, raster/r.resamp.stats/main.c:
+	  module descriptions
+
+2008-04-19 11:14  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI: store the position of
+	  windows in workspace file, related to trac #130
+
+2008-04-18 21:55  hamish
+
+	* lib/init/init.sh: consolidate cygwin bash startup; adds
+	  GISBASE/etc/prompt.sh to cygwin
+
+2008-04-18 21:42  hamish
+
+	* lib/init/init.sh: longer command history for csh,cygwin (trac
+	  #132)
+
+2008-04-18 18:15  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI (preferences):
+	  wording in buttons tooltip
+
+2008-04-17 22:26  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI
+	  (location_wizard): FileDialog (Choose EPSG codes file) points to
+	  given path (not root directory)
+
+2008-04-17 21:19  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: check wx version,
+	  select '2.8'
+
+2008-04-17 20:53  martinl
+
+	* locale/po/grasswxpy_cs.po: Czech translation of wxGUI updated,
+	  r31022
+
+2008-04-17 20:51  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/mapdisp.py:
+	  wxGUI: i18n-related fixes
+
+2008-04-17 10:04  marisn
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fix typo introduced in rev. 31019
+
+2008-04-17 10:00  marisn
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fix saving saving current display
+	  geometry to named region in gis.m (Ticket #112). Thanks to Ivan
+	  Shmakov for help.
+
+2008-04-16 15:29  martinl
+
+	* locale/po/grasswxpy_cs.po: Czech localization of wxGUI updated by
+	  Jan Trochta <j.trochta gmail.com>
+
+2008-04-16 15:25  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI (mapdisplay):
+	  cosmetics in wording
+
+2008-04-16 08:42  hamish
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: give a hint as to what is wrong if
+	  g.region can't find libgdal
+
+2008-04-15 15:03  martinl
+
+	* gui/wxpython/xml/grass-gxw.dtd: wxGUI (xml): workspace DTD
+	  updated
+
+2008-04-15 14:05  martinl
+
+	* gui/wxpython/gui_modules/workspace.py: wxGUI (workspace): bugfix
+	  casting string value to bool
+
+2008-04-15 14:00  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI (mapdisplay) set
+	  regionCoord if extent box enabled
+
+2008-04-15 11:19  martinl
+
+	* general/manage/lib/do_copy.c: do_copy.c: missing header added
+	  (unistd.h)
+
+2008-04-15 08:59  marisn
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/mapcanvas.tcl: gis.m enchance raster legend
+	  default height calculation for CELL maps
+
+2008-04-15 07:44  neteler
+
+	* raster/simwe/simlib/Makefile: no need to define LIB_OBJS
+
+2008-04-15 01:56  glynn
+
+	* general/manage/lib/Makefile, general/manage/lib/copyfile.c,
+	  general/manage/lib/do_copy.c, include/gisdefs.h,
+	  lib/gis/copy_dir.c: Move recursive_copy() into libgis
+	  (G_recursive_copy()) to prevent LFS issues [bug #50]
+
+2008-04-15 01:25  hamish
+
+	* visualization/nviz/src/do_zoom.c: display max PPM done message to
+	  stderr too (because that's where all the other tile msgs go)
+
+2008-04-15 00:29  hamish
+
+	* imagery/Makefile: only compile modules needing Xmons if we have
+	  X11
+
+2008-04-15 00:24  hamish
+
+	* raster/r.walk/main.c: don't abuse key_desc; set a default lambda
+	  of 1.0 (** is that appropriate?? **)
+
+2008-04-15 00:16  hamish
+
+	* raster/r.patch/main.c: trival whitespace
+
+2008-04-14 19:00  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI (digitizer): query
+	  tool works again
+
+2008-04-14 18:59  martinl
+
+	* lib/vector/vedit/select.c: veditlib: perform query globally
+	  (query all vector objects in vector map) only if input list of
+	  lines is empty
+
+2008-04-14 11:24  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/workspace.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI: save basic properties of
+	  map display window (auto-render, statusbar mode, show
+	  computational extent) to workspace file"
+
+2008-04-14 09:32  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: (dbm): bugfix (restore
+	  columns on 'select' statement)
+
+2008-04-14 09:19  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI (dbm): hard-coded max
+	  column width (fixme)
+
+2008-04-14 07:51  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI (gcmd): add missing
+	  parameter to DBMError class
+
+2008-04-14 07:50  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI (wxgui): do not crash when loading
+	  older gxw workspace (ignore tag 'selected')
+
+2008-04-14 06:13  hamish
+
+	* scripts/v.rast.stats/v.rast.stats: small clean of error catching
+
+2008-04-13 17:33  martinl
+
+	* gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI: mark in workspace file
+	  (gxw) selected map layers
+
+2008-04-13 16:23  neteler
+
+	* lib/init/Makefile: GRASS location structure figure added
+
+2008-04-13 16:22  neteler
+
+	* lib/init/Makefile: GRASS location structure figure added
+
+2008-04-13 16:22  neteler
+
+	* lib/init/help_loc_struct.png, lib/init/helptext.html: GRASS
+	  location structure figure added
+
+2008-04-13 15:18  neteler
+
+	* REQUIREMENTS.html: +Cairo; but what's the version requirement?
+
+2008-04-13 15:10  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/grass-gxw.dtd,
+	  gui/wxpython/wxgui.py, gui/wxpython/xml,
+	  gui/wxpython/xml/grass-gxw.dtd: wxGUI: workspace dtd file moved
+	  from 'gui_modules' to 'xml'
+
+2008-04-13 14:28  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py: wxGUI (dbm.py): simplify
+	  loading data (sql 'select' statement)
+
+2008-04-13 11:53  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI (welcome screen): bugfix
+	  ('RuntimeError: maximum recursion depth exceeded'), some code
+	  cleaning
+
+2008-04-13 10:28  hamish
+
+	* gui/tcltk/gis.m/runandoutput.tcl: fail nicely on WinGrass (trac
+	  bug #117)
+
+2008-04-12 22:23  cdavilam
+
+	* locale/po/grasswxpy_es.po: Rough translation based on grassmods
+	  and grasstcl
+
+2008-04-12 19:30  cdavilam
+
+	* locale/po/grasswxpy_es.po: Translation updated
+
+2008-04-12 18:32  marisn
+
+	* gui/tcltk/gis.m/gmlib.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/maplabels.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/vector.tcl: Some
+	  fixes for digitization start from gis.m; Fixed font selection for
+	  gis.m raster legend (ticket #79); gis.m PS labels now works with
+	  @mapset
+
+2008-04-12 15:19  neteler
+
+	* contributors.csv: +Maris Nartiss
+
+2008-04-12 12:27  martinl
+
+	* gui/wxpython/Makefile: wxGUI: vector digitizer requires
+	  --with-python (and --with-widgets) for compilation
+
+2008-04-12 03:04  glynn
+
+	* lib/imagery/find.c, lib/imagery/fopen.c, lib/imagery/sigfile.c,
+	  lib/imagery/sigsetfile.c: Fix handling of group elements to cope
+	  with @mapset
+
+2008-04-12 03:03  glynn
+
+	* db/drivers/dbf/Makefile, lib/external/shapelib/Makefile,
+	  lib/external/shapelib/safileio.c: Make safileio.c compatible with
+	  shapefil.h
+	  Change Makefile to compile safileio.c
+	  Remove GDAL flags from DBF driver (reverting previous change)
+
+2008-04-11 23:08  neteler
+
+	* locale/po/grasswxpy_de.po: some more msgs auto-translated from
+	  grassmods_de.po
+
+2008-04-11 22:43  neteler
+
+	* locale/po/grasswxpy_de.po, translators.csv: Georg Lösel: started
+	  to translate to DE
+
+2008-04-11 22:38  cdavilam
+
+	* locale/po/grasslibs_es.po: Updated translation
+
+2008-04-11 17:13  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI (atm): use button
+	  'apply' only for select statements, not for execute commands
+	  (add/drop/rename column, add layer, etc.)
+
+2008-04-11 14:57  martinl
+
+	* general/g.mapsets/main_cmd.c: g.mapsets: verbose message for
+	  'Mapset added/removed to/from search path'
+
+2008-04-11 14:51  martinl
+
+	* general/g.mapsets/main_cmd.c: g.mapsets: increment 'nchoices'
+	  otherwise no mapset will removed from search path
+
+2008-04-11 13:06  martinl
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasstcl_cs.po: Czech translation updated by Jan
+	  Trochta <j.trochta seznam.cz>
+
+2008-04-11 12:16  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI
+	  (location_wizard): set region settings bugfix, do not use
+	  'g.mapset' here (which creates gislock)
+
+2008-04-11 12:01  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI (start-up screen): avoid crashing
+	  when deleting currently selected location
+
+2008-04-11 09:54  neteler
+
+	* lib/external/shapelib/README, lib/external/shapelib/safileio.c:
+	  added safileio.c from Frank Warmerdam/SHAPELIB for
+	  SASetupDefaultHooks etc
+
+2008-04-11 09:33  neteler
+
+	* doc/infrastructure.txt: note added
+
+2008-04-11 09:32  neteler
+
+	* doc/infrastructure.txt: fix
+
+2008-04-11 09:29  neteler
+
+	* doc/infrastructure.txt: updated to current state
+
+2008-04-10 14:40  martinl
+
+	* vector/v.reclass/description.html: v.reclass: minor manual page
+	  cleaning (syntax)
+
+2008-04-10 14:21  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI (atm): cosmetics in page
+	  title (layer -> layer/table)
+
+2008-04-10 11:05  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI (legend): ignore "Use
+	  mouse..." (-m) flag in the d.legend dialog ('-m' flag causes
+	  freeze of GUI), trac #119
+
+2008-04-10 10:49  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI (decorations):
+	  bugfixing, related to r30922.
+
+2008-04-10 10:34  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI (decorations): preset
+	  raster map name for legend to the currently selected map (if
+	  raster), trac #108
+	  Fixing 'PyDeadObjectError' error, trac #107
+
+2008-04-10 08:19  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI (wxgui): OnWorkspaceLoadGrcFile()
+	  define 'maptree' variable
+
+2008-04-10 06:54  hamish
+
+	* gui/wxpython/README: link to SuSE wx packages (patch from Otto)
+
+2008-04-09 20:15  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (menuform): bugfix do
+	  not use default value for multiple checkboxes if 'value' is given
+
+2008-04-09 20:01  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI (goutput): do not wrap
+	  multiline messages (e.g. v.in.ogr -o)
+
+2008-04-09 18:23  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI (goutput): bugfix
+	  message format use first ':' to determine message type
+
+2008-04-09 16:39  glynn
+
+	* lib/gis/color_xform.c: Eliminate inaccuracies at ends of range
+	  for G_log_colors()
+
+2008-04-09 15:46  martinl
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: basic prototype of GRC file loader implemented (trac, #80)
+
+2008-04-09 11:31  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI: cosmetics in dialog
+	  info, define raster map name for legend first
+
+2008-04-09 11:24  martinl
+
+	* raster/r.univar2/r.univar_main.c: r.univar: missing header added
+	  (string.h)
+
+2008-04-09 10:11  1gray
+
+	* raster/r.univar2/r.univar_main.c:
+	  raster/r.univar2/r.univar_main.c (process_raster): Simplified
+	  handling
+	  of different map types.
+
+2008-04-09 10:03  1gray
+
+	* Makefile: Makefile (default): Use the `ERRORLOG' variable instead
+	  of constructing
+	  the `error.log' filename manually.
+	  (distclean): Likewise.
+
+2008-04-09 02:36  glynn
+
+	* lib/gis/color_xform.c: Change G_log_colors() to use DCELL values
+	  in rules
+
+2008-04-09 02:00  glynn
+
+	* general/g.mapsets/main_cmd.c: Add removemapset= option
+
+2008-04-08 12:05  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI (wxgui_utils):
+	  comment-out SetAutoLayout() in LayerTree (no vertical scrollbar
+	  displayed)
+
+2008-04-08 11:39  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI (render): additional
+	  fixes for rendering query layers, related to r30904
+
+2008-04-08 10:51  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI (render): not force to
+	  re-render all map layer on querying
+
+2008-04-08 09:55  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (menuform): bugfix,
+	  cats value for spinctrl to int
+
+2008-04-08 09:36  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI (render): bugfix, typo
+	  in variable name
+
+2008-04-07 20:07  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI (gdialogs): LoadMapLayersDialog moved from wxgui_utils to
+	  gdialog module.
+	  Simple map name filter implemented (matching ^[string]).
+
+2008-04-07 14:10  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI (mapdisp): drawId can
+	  be also '0' (used for barscale)
+
+2008-04-07 13:54  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI (mapdisp): bugfix, set
+	  PseudoDC id also for lines/polylines (introduced in r30878)
+
+2008-04-07 11:08  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI (wxgui) use wx.YES_NO style for
+	  wx.ICON_QUESTION
+
+2008-04-07 11:03  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/undo.cpp,
+	  gui/wxpython/wxgui.py: wxGUI (vdigit): "Save changes on exit"
+	  dialog added (can be disabled in vdigit settings)
+	  (wxGUI) use wx.YES_NO style for wx.ICON_QUESTION
+
+2008-04-07 10:12  neteler
+
+	* doc/howto_release.txt: +www.GEObranchen.de
+
+2008-04-07 10:00  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py: wxGUI (gdialogs): Enable
+	  'OK' when 'map' is already defined for legend
+
+2008-04-07 07:18  hamish
+
+	* scripts/g.mlist/g.mlist: run g.list untranslated
+
+2008-04-06 16:10  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: require map name for
+	  legend
+
+2008-04-06 15:19  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: major overlay code
+	  cleaning
+
+2008-04-06 03:21  kyngchaos
+
+	* macosx/app/grass.sh.in: avoid unnecessary focus shift to X11 on
+	  startup; return focus to starting term app (if not Terminal.app)
+
+2008-04-06 01:28  hamish
+
+	* raster/r.digit/get_circle.c: don't perturb origin (display only)
+
+2008-04-05 23:46  hamish
+
+	* lib/init/grass-xterm-wrapper: test for x-terminal-emulator too;
+	  beware: r20925 ???
+
+2008-04-05 14:57  hamish
+
+	* raster/r.out.mat/main.c: G_verbose_message()
+
+2008-04-05 14:50  hamish
+
+	* raster/r.in.mat/main.c: -v triggers --v, i18n
+
+2008-04-05 14:41  hamish
+
+	* raster/r.in.mat/main.c: preemptive commenting
+
+2008-04-05 14:35  hamish
+
+	* raster/r.in.mat/main.c: undo damage done since last I visited
+	  this code (repair lost map name logic, add back diag messages,
+	  fid was used as %s, ...)
+
+2008-04-05 02:46  hamish
+
+	* scripts/v.report/v.report: don't quote var which could be empty
+	  (thanks for spotting this Maciek)
+
+2008-04-05 01:13  hamish
+
+	* lib/init/grass-xterm-wrapper: if xterm isn't there, try another
+	  (add as needed). If none found issue a warning. (trac bug #117)
+
+2008-04-04 23:28  hamish
+
+	* COPYING: whitespace
+
+2008-04-04 23:27  glynn
+
+	* visualization/nviz/src/do_zoom.c: Install Tk error handler to
+	  prevent GLX failures from killing NVIZ.
+
+2008-04-04 14:56  martinl
+
+	* gui/wxpython/vdigit/digit.h, gui/wxpython/vdigit/line.cpp,
+	  gui/wxpython/vdigit/undo.cpp: wxGUI (vdigit): Undo functionality
+	  updated (very basic prototype)
+
+2008-04-04 13:32  glynn
+
+	* raster/r.in.mat/main.c, raster/r.out.mat/main.c: Use int instead
+	  of long to avoid issues on 64-bit systems
+
+2008-04-03 15:15  martinl
+
+	* lib/vector/vedit/merge.c: veditlib (merge.c): do not call
+	  G_percent()
+
+2008-04-03 14:54  martinl
+
+	* gui/wxpython/vdigit/cats.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/undo.cpp,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI (vdigit): undo updated for
+	  selected tools (rewrite line)
+
+2008-04-03 12:38  martinl
+
+	* swig/swiglib.dox: swiglib.dox: URLs updated (itc->osgeo)
+
+2008-04-03 12:22  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/vdigit/digit.cpp,
+	  gui/wxpython/vdigit/digit.h, gui/wxpython/vdigit/line.cpp,
+	  gui/wxpython/vdigit/undo.cpp: wxGUI: very basic undo
+	  implementation for vdigit. TODO: add Vect_restore_line() to Vlib
+
+2008-04-03 08:14  neteler
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po,
+	  locale/po/grasstcl_de.po, locale/po/grasswxpy_de.po: +wxpython;
+	  DE messages updated
+
+2008-04-02 09:53  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI (wxgui_utils):
+	  cosmetics in fn name (fn renamed)
+
+2008-04-01 18:00  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI (wxgui_utils):
+	  DeleteLayer renamed to OnDeleteLayer
+
+2008-04-01 17:33  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI (preferences):
+	  auto-rendering option added to 'default display settings'
+
+2008-04-01 17:22  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: fixing (partially)
+	  'zoom to computational region does not respect resolution set
+	  with g.region', trac #106
+
+2008-04-01 15:39  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI (wxgui): open map display on add
+	  layer, etc. if no map display is available, trac #113
+
+2008-04-01 06:48  hamish
+
+	* lib/gis/getl.c: change doxygen comments to reflect r25319
+
+2008-04-01 02:26  kyngchaos
+
+	* macosx/Makefile, macosx/app/Makefile: remove unnecessary
+	  INSTALL_BIN
+
+2008-03-31 14:22  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: cosmetics in goutput
+	  module, wrapping disabled for stdout
+
+2008-03-31 13:45  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: (digit) fix
+	  DigitCategoryDialog:OnCancel() check for Digit class instance
+
+2008-03-31 02:46  hamish
+
+	* general/g.proj/main.c: esri.extra epsg codes go up to 900000
+
+2008-03-30 22:32  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: DecDialog/TextDialog
+	  moved from mapdisplay to gdialogs module.
+	  For registrating shown dialog use dict instead of separate
+	  variables.
+
+2008-03-30 19:23  neteler
+
+	* db/drivers/dbf/Makefile: added GDALLIBS for SASetupDefaultHooks
+
+2008-03-30 17:32  martinl
+
+	* locale/po/grasstcl_cs.po: Czech translation (tcl) updated by Jan
+	  Trochta <j.trochta seznam.cz>
+
+2008-03-30 16:25  kyngchaos
+
+	* macosx/ReadMe.rtf: tcltk build: disable corefoundation to avoid
+	  fork issue
+
+2008-03-30 15:48  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI (mapdisplay): Display
+	  region drawn as a blue box inside the computational region,
+	  computational region inside a display region as a red box.
+	  Related to trac #106.
+
+2008-03-30 14:48  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/mapdisp.py:
+	  wxGUI: cosmetics in messages
+
+2008-03-30 14:20  neteler
+
+	* COPYING: affiliation generalized as discussed in GRASS-PSC
+
+2008-03-30 13:53  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI (mapdisplay):
+	  cosmetics in statusbar text formatting (spaces to make
+	  coordinates readable), related to trac #106
+
+2008-03-30 13:34  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (menuform) default
+	  values copied to 'value' (OnCheckBoxMulti, related to r30793)
+
+2008-03-30 12:12  hamish
+
+	* vector/v.digit/display.c: respect background color setting (trac
+	  bug #74)
+
+2008-03-30 12:06  pkelly
+
+	* lib/proj/convert.c: Use rf for comparisons and add a special case
+	  for sphere rather than always
+	  using the (less precise) es value. Should fix Gforge bug 603.
+
+2008-03-30 12:01  pkelly
+
+	* lib/proj/ellipse.c: Try to avoid potential loss of precision
+	  through unnecessary double
+	  calculation of reciprocal when rf is specified directly in
+	  ellipse.table
+
+2008-03-30 09:47  glynn
+
+	* vector/v.digit/display.c: GRASS_BACKGROUNDCOLOR shouldn't have
+	  leading "0x"
+
+2008-03-30 09:21  neteler
+
+	* lib/external/shapelib/README, lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c: sync'ed to GDAL SVN-trunk:
+	  gdal/ogr/ogrsf_frmts/shape/
+
+2008-03-30 04:01  hamish
+
+	* imagery/i.class/main.c: remove @mapset part and test to see if
+	  the group is in the current mapset (trac bug #70)
+
+2008-03-30 03:53  hamish
+
+	* imagery/i.group/main.c, imagery/i.target/main.c: remove @mapset
+	  part and test to see if the group is in the current mapset (trac
+	  bug #70)
+
+2008-03-30 02:48  hamish
+
+	* lib/imagery/find.c, lib/imagery/fopen.c, lib/imagery/target.c:
+	  GNAME_MAX, i18n
+
+2008-03-29 16:49  glynn
+
+	* lib/external/shapelib/Makefile, lib/rst/data/Makefile,
+	  lib/rst/interp_float/Makefile: Fix parallel build issues
+
+2008-03-29 16:23  glynn
+
+	* general/g.mapsets/Makefile, gui/tcltk/d.m/Makefile,
+	  gui/wxpython/Makefile, lib/init/Makefile, macosx/Makefile,
+	  macosx/app/Makefile, raster/r.li/r.li.setup/Makefile,
+	  scripts/i.oif/Makefile, scripts/r.in.wms/Makefile,
+	  vector/v.clean/test/Makefile: Remove hard-coded "-m 755" from
+	  $(INSTALL) commands
+
+2008-03-29 11:47  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (menuform):
+	  'Optional' tab the most-right one
+	  (Required,[defined],Optional,(Command output),Manual)
+
+2008-03-29 11:41  martinl
+
+	* display/d.vect/main.c: d.vect: options/flags group reorganization
+	  (query, colors, lines, symbols, labels)
+
+2008-03-29 11:26  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (menuform) check also
+	  default values (OnCheckBoxMulti)
+
+2008-03-29 08:44  neteler
+
+	* general/g.proj/description.html: Google Mercator Projection
+	  example
+
+2008-03-29 01:49  hamish
+
+	* lib/init/init.sh: forgot to export in last commit. Last commit
+	  log entry should refer to messing with $HOME and $MAPSET/.bashrc
+	  -- quoting snafu
+
+2008-03-29 01:41  hamish
+
+	* lib/init/init.sh: set command history stuff without messing with
+	  /home/hb, add comment about possible --rcfile problems if the
+	  same is done for /.bashrc
+
+2008-03-28 23:38  glynn
+
+	* visualization/nviz/src/do_zoom.c,
+	  visualization/nviz/src/interface.h: Clean-up, handle more failure
+	  modes
+
+2008-03-28 22:10  martinl
+
+	* display/d.vect.chart/main.c: d.vect.chart: module description
+	  updated (keywords, more guisections)
+	  header updated, intendation
+
+2008-03-28 21:22  martinl
+
+	* visualization/nviz/src/nviz_init.c: nviz: module description -
+	  keywords added (raster, vector)
+
+2008-03-28 21:19  martinl
+
+	* visualization/nviz/src/nviz_init.c: nviz: more guisections
+	  (raster, vector) for GUI dialog
+
+2008-03-28 21:03  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: do not render map
+	  layer (with paramaters) by default
+
+2008-03-28 20:43  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: measuring log output
+	  fixed (use WriteLog() instead of AddText())
+
+2008-03-28 20:18  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI (location
+	  wizard) disable button 'Next' when EPSG code not given
+
+2008-03-28 13:12  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI (mapdisplay): add
+	  "Comp. region" mode to the statusbar
+
+2008-03-28 09:32  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: cosmetics in goutput
+	  (WriteCmdLog)
+
+2008-03-28 09:07  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI (location
+	  wizard): load default EPSG codes on entering the wizard page
+
+2008-03-28 06:55  hamish
+
+	* lib/init/grass.bat: move %PATH% to end as MSys versions of
+	  generic tool names should probably take precidence
+
+2008-03-28 04:23  kyngchaos
+
+	* lib/init/Makefile: cleanup OSX-only targets
+
+2008-03-27 22:13  neteler
+
+	* doc/infrastructure.txt: grass-web change
+
+2008-03-27 21:47  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI (welcome screen): cosmetics in
+	  style - back to listmix.ListCtrlAutoWidthMixin (GListBox)
+
+2008-03-27 21:13  neteler
+
+	* gui/wxpython/README: added MS-Windows hints from Marco
+
+2008-03-27 16:33  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI (welcome screen): fix entering
+	  GISDBASE manually
+
+2008-03-27 15:47  neteler
+
+	* tools/grassdocs.css: sync'ed to sitestyle.css from grass-web
+
+2008-03-27 14:30  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI (welcome screen): don't crash on
+	  '<UNKNOWN>' location
+
+2008-03-27 12:17  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: multiple
+	  selection in layer tree enabled
+	  cmdPID OnResult event fixed
+
+2008-03-27 11:54  glynn
+
+	* visualization/nviz/src/do_zoom.c: Fix (?) use of pBuffer for
+	  off-screen rendering
+
+2008-03-27 10:55  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: no map layer
+	  available for querying (display mode) fixed
+
+2008-03-27 10:39  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: "Zoom to default
+	  region" add to the "Zoom menu", see trac #106
+
+2008-03-26 22:19  glynn
+
+	* display/d.paint.labels/Makefile, raster/r.cats/Makefile,
+	  raster/r.out.vrml/Makefile, scripts/Makefile,
+	  scripts/d.paint.labels, scripts/d.paint.labels/Makefile,
+	  scripts/d.paint.labels/d.paint.labels, scripts/p.out.vrml,
+	  scripts/p.out.vrml/Makefile, scripts/p.out.vrml/p.out.vrml,
+	  scripts/r.cats, scripts/r.cats/Makefile, scripts/r.cats/r.cats:
+	  Use scripts instead of symlinks for module aliases
+
+2008-03-26 21:55  cdavilam
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po, locale/po/grasswxpy_es.po: Added
+	  grasswxpy_es.po and updated translations.
+
+2008-03-26 20:00  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: welcome screen fixed - install
+	  gettext package before importing utils module (related to r30745,
+	  utils.py)
+
+2008-03-26 18:35  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/icons/icon.py:
+	  wxGUI: querying vector map layers improved (editable mode added)
+
+2008-03-26 15:34  martinl
+
+	* locale/po/grassmods_it.po: grassmods_it.po: fix broken msgstr
+	  (missing \n)
+
+2008-03-26 14:00  neteler
+
+	* scripts/r.shaded.relief/description.html: r.resamp.interp note
+	  added
+
+2008-03-26 13:51  neteler
+
+	* raster/r.resamp.interp/description.html: improve wording based on
+	  E Patton's suggestion
+
+2008-03-26 12:34  neteler
+
+	* doc/howto_release.txt: notify linuxnewmedia.de
+
+2008-03-26 12:26  glynn
+
+	* visualization/nviz/src/do_zoom.c: Don't create zero-width/height
+	  tiles
+
+2008-03-25 17:51  martinl
+
+	* lib/vector/diglib/update.c: diglib: Doxygen strings updated for
+	  update.c
+
+2008-03-25 17:35  martinl
+
+	* lib/vector/diglib/spindex.c: diglib: Doxygen strings updated for
+	  spindex.c
+
+2008-03-25 16:50  martinl
+
+	* lib/vector/diglib/plus.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_node.c,
+	  lib/vector/diglib/type.c: diglib: Doxygen strings updated (don't
+	  use \fn)
+	  message standardization ([%d] -> %d)
+
+2008-03-25 12:30  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI (welcome screen): Mapset with
+	  denied user permission non-selectable, highlighted in grey, see
+	  r30716.
+
+2008-03-25 10:32  neteler
+
+	* vector/vectorintro.html: mention v.generalize
+
+2008-03-25 10:02  martinl
+
+	* lib/gis/mapset_nme.c: gislib (G__create_alt_search_path):
+	  get_list_of_mapsets() doesn't need to be called here
+
+2008-03-25 09:56  martinl
+
+	* general/g.mapset/main.c: g.mapset: set LOCATION_NAME and GISDBASE
+	  for -l flag (do not ignore location= and gisdbase=)
+
+2008-03-24 23:04  neteler
+
+	* AUTHORS, contributors.csv: MN's address updated
+
+2008-03-24 23:02  neteler
+
+	* COPYING: order fix
+
+2008-03-24 23:00  neteler
+
+	* COPYING: MN's address updated
+
+2008-03-24 21:46  martinl
+
+	* lib/gis/mapset_nme.c: gislib (mapset_nme.c): Doxygen strings
+	  updated
+
+2008-03-24 21:13  martinl
+
+	* lib/gis/mapset_msc.c: gislib (mapset_msc.c): Doxygen docs updated
+
+2008-03-24 20:51  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI (welcome screen): mapset with no
+	  user permission non-selectable (TODO: different style for
+	  non-selectable items)
+
+2008-03-24 20:47  martinl
+
+	* gui/wxpython/support/update_menu_desc.py: wxGUI
+	  (support/update_menu_desc.py) some minor changes in code (check
+	  for GISBASE)
+
+2008-03-24 17:32  glynn
+
+	* general/g.mapsets/main_cmd.c: Remove commented-out code
+
+2008-03-24 17:23  glynn
+
+	* general/g.mapset/main.c: g.mapset -l patch from Martin Landa
+
+2008-03-24 11:19  martinl
+
+	* general/g.mapsets/description.html, general/g.mapsets/main_cmd.c:
+	  g.mapsets: (cosmetics) message cleaning, some minor changes in
+	  manual, tcl/tk-related code removed
+
+2008-03-24 07:30  glynn
+
+	* vector/v.out.svg/main.c: Declare as "static" all functions except
+	  main()
+
+2008-03-24 07:27  glynn
+
+	* lib/gis/parser.c: Make print_escaped_for_xml() static
+
+2008-03-23 22:02  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI (menudata): modules'
+	  description updated (based on --interface-description, see
+	  support/update_menu_desc)
+
+2008-03-23 21:59  martinl
+
+	* gui/wxpython/support/update_menu_desc.py: wxGUI: support script
+	  for automated update of module description in menudata (added)
+
+2008-03-23 18:25  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: show Layer Manager window first (on
+	  g.gui workspace=)
+
+2008-03-23 18:12  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: do not call PropertiesDialog() when
+	  loading workspace (g.gui workspace=)
+
+2008-03-23 17:51  martinl
+
+	* gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py: wxGUI:
+	  minor cleaning in render (Map/MapFrame class) initialization
+
+2008-03-23 17:23  kyngchaos
+
+	* lib/init/Makefile: added grass-xterm-mac to files, for r30347
+
+2008-03-23 14:34  martinl
+
+	* display/drivers/HTMLMAP/description.html,
+	  display/drivers/PNG/description.html,
+	  display/drivers/PS/description.html,
+	  display/drivers/XDRIVER/description.html,
+	  display/drivers/cairo/description.html, lib/init/variables.html:
+	  Variables/display drivers manual page synchronization (syntax
+	  issue).
+
+2008-03-23 00:47  martinl
+
+	* gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py: wxGUI:
+	  (render/preferences) cairo driver also supported (initial)
+
+2008-03-22 20:39  martinl
+
+	* general/g.region/Makefile, general/g.region/adjust.c,
+	  general/g.region/cmd, general/g.region/description.html,
+	  general/g.region/local_proto.h, general/g.region/main.c,
+	  general/g.region/printwindow.c, general/g.region/zoom.c:
+	  g.region: source code moved from 'cmd' directory to . ('cmd'
+	  directory not needed here)
+
+2008-03-22 20:32  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: print error messages
+	  to sys.stderr
+
+2008-03-22 20:29  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: creating vector map (from menu or digitizer) fixed
+	  some minor issues, sys.stderr redirected to goutput (if defined)
+
+2008-03-22 19:51  martinl
+
+	* vector/v.edit/main.c: v.edit: cosmetics -- check for illegal map
+	  name first, don't print duplicated warning (from Vect_open_new)
+
+2008-03-22 19:46  martinl
+
+	* vector/v.edit/main.c: v.edit: check for illegal map name
+	  (tool=create)
+
+2008-03-22 19:18  martinl
+
+	* display/d.vect/plot1.c: d.vect: avoid segfault when
+	  Points->n_points==0; use G_warning() instead of fprintf()
+
+2008-03-22 04:47  glynn
+
+	* gui/wxpython/vdigit/Makefile: Follow GRASS Makefile conventions
+	  Use normal compilation rules from Rules.make
+
+2008-03-22 03:59  glynn
+
+	* gui/wxpython/vdigit, gui/wxpython/vdigit/Makefile,
+	  gui/wxpython/vdigit/grass6_wxvdigit.py,
+	  gui/wxpython/vdigit/grass6_wxvdigit_wrap.cpp: Build wrappers
+	  using SWIG
+	  Binary module moved to $(OBJARCH)
+
+2008-03-21 14:38  martinl
+
+	* gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: common widget
+	  dimension settings moved to globavar module
+	  In NewVectorDialog use gselect instead of wxTextCtrl
+
+2008-03-21 12:05  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: fix message dialog when no layer is
+	  selected
+
+2008-03-21 11:31  neteler
+
+	* raster/r.in.xyz/local_proto.h, raster/r.in.xyz/main.c: Ignore
+	  broken lines added
+
+2008-03-21 10:50  martinl
+
+	* Makefile: Makefile: remove also CHANGES from ${ARCH_DISTDIR}
+
+2008-03-21 10:16  neteler
+
+	* raster/r.sun/description.html, raster/r.sun/main.c: Thomas Huld
+	  <Thomas.Huld jrc.it>: bugfix: the code did not calculate the
+	  distance along the line of sight to the sun correctly, it
+	  calculated them in lat/lon distances, while the height difference
+	  was in meters! This was never correct in r.sun.
+	  This is a workaround for lat/lon coordinates and it then REQUIRES
+	  that the elevation map is in meters. The rule is: - lat/lon
+	  coordinates: elevation in meters - Other coordinates: elevation
+	  in the same unit as the easting-northing coordinates.
+
+2008-03-21 06:29  glynn
+
+	* gui/wxpython/vdigit/Makefile: Install $(SHLIB) rather than
+	  _grass6_wxvdigit.so;
+	  the latter will fail if $(SHLIB_SUFFIX) isn't ".so"
+
+2008-03-21 06:26  glynn
+
+	* gui/wxpython/Makefile: Build install_scripts before parsubdirs;
+	  vdigit expects this
+
+2008-03-21 05:57  glynn
+
+	* gui/wxpython/vdigit/Makefile: Fix dependency information so that
+	  parallel builds work
+
+2008-03-20 23:39  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gdialogs.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  wxGUI: (gdialogs) new module for common wxGUI dialogs
+	  (digit) create new vector map layer from toolbar
+	  Use common dialog for creating new vector map layer instead of
+	  v.edit directly
+
+2008-03-20 22:58  martinl
+
+	* COPYING: COPYING: URL fixed (fisrt osgeo.org)
+
+2008-03-20 21:45  martinl
+
+	* vector/v.edit/main.c: v.edit: do not overwrite vector map by
+	  default (tool=create)
+
+2008-03-20 16:22  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: 'Zoom to selected
+	  map' added to contextual menu
+
+2008-03-20 16:21  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: i18n update
+
+2008-03-20 13:43  neteler
+
+	* raster/r.sun/main.c: indent -nbad -bap -bbb -nbbo -nbc -br -bli1
+	  -bls -cbi0 -ncdb -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+
+2008-03-19 21:22  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI (vdigit): minor fix
+	  (wxTextCtrl->wxSpinCtrl)
+
+2008-03-19 16:12  martinl
+
+	* vector/v.build/main.c: v.build: call Vect_close() if map is
+	  opened
+
+2008-03-19 14:56  neteler
+
+	* raster/r.terraflow/main.cc: TODO GRASS 7
+
+2008-03-19 14:11  neteler
+
+	* raster/rasterintro.html: interpolation part expanded
+
+2008-03-19 14:02  neteler
+
+	* raster/r.resamp.interp/description.html: cosmetics
+
+2008-03-19 13:33  neteler
+
+	* raster/r.resamp.interp/description.html,
+	  raster/r.resamp.rst/description.html,
+	  raster/r.resample/description.html: mention continuous data
+
+2008-03-19 13:07  neteler
+
+	* lib/db/dbmilib.dox: say where default DBMI driver is defined
+
+2008-03-19 12:22  martinl
+
+	* gui/wxpython/gui_modules/goutput.py: wxGUI: remove/replace '\b'
+	  or '\r' from stream (e.g. v.build output)
+
+2008-03-19 12:00  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py: wxGUI (dbm) fetch layer name if
+	  given
+	  (gcmd) error handling fixed, some error messages (i.e. from
+	  G_parser()) are formatted regardless GRASS_MESSAGE_FORMAT=gui
+
+2008-03-19 11:18  martinl
+
+	* db/base/describe.c: db.describe: exit with EXIT_FAILURE when
+	  G_parser() fails
+	  Cosmetics in the header
+
+2008-03-19 10:14  hamish
+
+	* swig/python/examples/m.distance: don't crash if not in GRASS
+
+2008-03-19 10:07  hamish
+
+	* swig/python/examples/rasteraccess.py,
+	  swig/python/examples/vectoraccess.py,
+	  swig/python/rasteraccess.py, swig/python/vectoraccess.py: move
+	  examples into own dir
+
+2008-03-19 07:13  hamish
+
+	* raster/r.in.ascii/main.c, raster/r.in.bin/main.c: write command
+	  history
+
+2008-03-19 06:55  hamish
+
+	* lib/gis/color_rules.c, raster/r.colors/rules.c: use G_getl2()
+	  instead of fgets; ie strip off trailing newline so empty line is
+	  skipped
+
+2008-03-19 06:31  hamish
+
+	* lib/gis/color_rules.c: put string in bracket so you can see if it
+	  contains a newline, etc. see also r30625
+
+2008-03-19 01:23  hamish
+
+	* raster/r.los/Makefile: add proj includes to Makefile, trac bug
+	  #101
+
+2008-03-19 00:47  hamish
+
+	* raster/r.colors/rules.c: put string in bracket so you can see if
+	  it contains a newline, etc.
+
+2008-03-18 21:47  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: avoid crashing start-up screen
+	  when given location/mapset is not found (or when permission is
+	  not given)
+
+2008-03-18 20:04  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI (preferences)
+	  MapsetAccess dialog MS Windows-related fix, no import pwd module
+	  available
+
+2008-03-18 17:33  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: (menuform) Fixing
+	  valid range label (GUI crash)
+
+2008-03-18 15:52  neteler
+
+	* scripts/i.in.spotvgt/description.html: SPOT VGT is in HDF4
+
+2008-03-18 13:11  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py: wxGUI:
+	  do not execute zero-length commands
+	  some cosmetics in error messages (writing settings into workspace
+	  file)
+
+2008-03-18 12:26  hamish
+
+	* scripts/r.tileset/r.tileset: get rid of 'echo -n'. (trac bug #81)
+
+2008-03-18 12:13  martinl
+
+	* gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: MapsetsAccess dialog improved (owner/group in the list)
+	  TODO: get name of gid
+	  FIXME: pwd not available on MS Windows
+
+2008-03-18 09:34  neteler
+
+	* raster/r.los/Makefile, raster/r.los/local_proto.h,
+	  raster/r.los/main.c, raster/r.los/make_list.c,
+	  raster/r.los/point.h, raster/r.los/pts_elim.c,
+	  raster/r.los/segment.c: Earth curvature support added
+
+2008-03-17 22:24  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: GUI dialog building
+	  optimalized
+	  First call of wx.HtmlWindow.LoadPage() is strangely very
+	  time-consuming (for now moved to OnPageChange handler)
+
+2008-03-17 21:26  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: recycle GUI
+	  dialogs in Layer Manager (for selected map layer)
+
+2008-03-17 21:02  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: (globalvar, menuform, gis_set, utils, dbm) check for wx
+	  version fixed
+	  (wxgui_utils) opacity level enabled/disabled fixes
+
+2008-03-17 20:59  martinl
+
+	* gui/wxpython/README: wxGUI: README updated
+
+2008-03-17 19:26  1gray
+
+	* raster/r.univar2/stats.c: raster/r.univar2/stats.c (print_stats):
+	  Fixed an integer type overflow.
+
+2008-03-17 16:25  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: duplicated
+	  properties dialogs are not allowed
+
+2008-03-17 15:28  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI (wxgui_utils):
+	  Hide wx.SpinCtrl (change map layer opacity level) in layer item
+	  by default. Can be activated from contextual menu. The opacity
+	  level is displayed in wx.StaticText widget if differs from 100%.
+
+2008-03-17 14:23  epatton
+
+	* scripts/v.db.renamecol/description.html: Added notes about
+	  attempting a case-only column rename with SQLite driver
+
+2008-03-17 14:13  neteler
+
+	* translators.csv: added Luca Delucchi
+
+2008-03-17 14:09  neteler
+
+	* locale/po/grassmods_it.po, locale/po/grasstcl_it.po: Luca
+	  Delucchi <lucadeluge gmail.com>: cont'ed
+
+2008-03-16 19:28  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: (preferences)
+	  rasterOverlay moved to 'cmd' section
+
+2008-03-16 17:52  martinl
+
+	* general/g.mapset/main.c: g.mapset: cosmetics in module
+	  description / messages
+
+2008-03-16 17:43  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: fix menu item 'Show
+	  settings'
+
+2008-03-16 16:30  martinl
+
+	* gui/icons/silk/README: Info about Silk iconset added
+
+2008-03-16 16:27  martinl
+
+	* gui/icons/Makefile, gui/icons/silk,
+	  gui/icons/silk/application.png,
+	  gui/icons/silk/application_add.png,
+	  gui/icons/silk/application_delete.png,
+	  gui/icons/silk/application_lightning.png,
+	  gui/icons/silk/application_view_columns.png,
+	  gui/icons/silk/application_view_icons.png,
+	  gui/icons/silk/arrow_inout.png, gui/icons/silk/arrow_out.png,
+	  gui/icons/silk/arrow_refresh.png, gui/icons/silk/arrow_undo.png,
+	  gui/icons/silk/bin_closed.png, gui/icons/silk/bullet_add.png,
+	  gui/icons/silk/bullet_go.png, gui/icons/silk/chart_bar.png,
+	  gui/icons/silk/chart_line.png, gui/icons/silk/chart_line_add.png,
+	  gui/icons/silk/chart_line_delete.png,
+	  gui/icons/silk/chart_line_edit.png,
+	  gui/icons/silk/chart_line_link.png,
+	  gui/icons/silk/chart_organisation.png,
+	  gui/icons/silk/chart_organisation_add.png,
+	  gui/icons/silk/cog_add.png, gui/icons/silk/color_swatch.png,
+	  gui/icons/silk/cross.png, gui/icons/silk/cursor.png,
+	  gui/icons/silk/door_in.png, gui/icons/silk/folder.png,
+	  gui/icons/silk/folder_add.png, gui/icons/silk/font.png,
+	  gui/icons/silk/grid.png, gui/icons/silk/his.png,
+	  gui/icons/silk/image_add.png, gui/icons/silk/images.png,
+	  gui/icons/silk/information.png,
+	  gui/icons/silk/layout_content.png, gui/icons/silk/map.png,
+	  gui/icons/silk/map_add.png, gui/icons/silk/map_go.png,
+	  gui/icons/silk/map_magnify.png,
+	  gui/icons/silk/map_magnify_menu.png, gui/icons/silk/overlays.png,
+	  gui/icons/silk/page_green.png, gui/icons/silk/page_save.png,
+	  gui/icons/silk/page_white.png, gui/icons/silk/page_white_get.png,
+	  gui/icons/silk/page_white_picture.png,
+	  gui/icons/silk/picture_empty.png,
+	  gui/icons/silk/picture_save.png, gui/icons/silk/plugin.png,
+	  gui/icons/silk/plugin_add.png, gui/icons/silk/printer.png,
+	  gui/icons/silk/rgb.png, gui/icons/silk/shape_handles.png,
+	  gui/icons/silk/shape_square_add.png, gui/icons/silk/sum.png,
+	  gui/icons/silk/table.png, gui/icons/silk/table_add.png,
+	  gui/icons/silk/tag_blue_add.png, gui/icons/silk/tag_green.png,
+	  gui/icons/silk/textfield_add.png, gui/icons/silk/thematic.png,
+	  gui/icons/silk/vector_add.png, gui/icons/silk/vector_delete.png,
+	  gui/icons/silk/wand.png, gui/icons/silk/zoom.png,
+	  gui/icons/silk/zoom_back.png, gui/icons/silk/zoom_in.png,
+	  gui/icons/silk/zoom_out.png, gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk/application.png,
+	  gui/wxpython/icons/silk/application_add.png,
+	  gui/wxpython/icons/silk/application_delete.png,
+	  gui/wxpython/icons/silk/application_lightning.png,
+	  gui/wxpython/icons/silk/application_view_columns.png,
+	  gui/wxpython/icons/silk/application_view_icons.png,
+	  gui/wxpython/icons/silk/arrow_inout.png,
+	  gui/wxpython/icons/silk/arrow_out.png,
+	  gui/wxpython/icons/silk/arrow_refresh.png,
+	  gui/wxpython/icons/silk/arrow_undo.png,
+	  gui/wxpython/icons/silk/bin_closed.png,
+	  gui/wxpython/icons/silk/bullet_add.png,
+	  gui/wxpython/icons/silk/bullet_go.png,
+	  gui/wxpython/icons/silk/chart_bar.png,
+	  gui/wxpython/icons/silk/chart_line.png,
+	  gui/wxpython/icons/silk/chart_line_add.png,
+	  gui/wxpython/icons/silk/chart_line_delete.png,
+	  gui/wxpython/icons/silk/chart_line_edit.png,
+	  gui/wxpython/icons/silk/chart_line_link.png,
+	  gui/wxpython/icons/silk/chart_organisation.png,
+	  gui/wxpython/icons/silk/chart_organisation_add.png,
+	  gui/wxpython/icons/silk/cog_add.png,
+	  gui/wxpython/icons/silk/color_swatch.png,
+	  gui/wxpython/icons/silk/cross.png,
+	  gui/wxpython/icons/silk/cursor.png,
+	  gui/wxpython/icons/silk/door_in.png,
+	  gui/wxpython/icons/silk/folder.png,
+	  gui/wxpython/icons/silk/folder_add.png,
+	  gui/wxpython/icons/silk/font.png,
+	  gui/wxpython/icons/silk/grid.png,
+	  gui/wxpython/icons/silk/his.png,
+	  gui/wxpython/icons/silk/image_add.png,
+	  gui/wxpython/icons/silk/images.png,
+	  gui/wxpython/icons/silk/information.png,
+	  gui/wxpython/icons/silk/layout_content.png,
+	  gui/wxpython/icons/silk/map.png,
+	  gui/wxpython/icons/silk/map_add.png,
+	  gui/wxpython/icons/silk/map_go.png,
+	  gui/wxpython/icons/silk/map_magnify.png,
+	  gui/wxpython/icons/silk/map_magnify_menu.png,
+	  gui/wxpython/icons/silk/overlays.png,
+	  gui/wxpython/icons/silk/page_green.png,
+	  gui/wxpython/icons/silk/page_save.png,
+	  gui/wxpython/icons/silk/page_white.png,
+	  gui/wxpython/icons/silk/page_white_get.png,
+	  gui/wxpython/icons/silk/page_white_picture.png,
+	  gui/wxpython/icons/silk/picture_empty.png,
+	  gui/wxpython/icons/silk/picture_save.png,
+	  gui/wxpython/icons/silk/plugin.png,
+	  gui/wxpython/icons/silk/plugin_add.png,
+	  gui/wxpython/icons/silk/printer.png,
+	  gui/wxpython/icons/silk/rgb.png,
+	  gui/wxpython/icons/silk/shape_handles.png,
+	  gui/wxpython/icons/silk/shape_square_add.png,
+	  gui/wxpython/icons/silk/sum.png,
+	  gui/wxpython/icons/silk/table.png,
+	  gui/wxpython/icons/silk/table_add.png,
+	  gui/wxpython/icons/silk/tag_blue_add.png,
+	  gui/wxpython/icons/silk/tag_green.png,
+	  gui/wxpython/icons/silk/textfield_add.png,
+	  gui/wxpython/icons/silk/thematic.png,
+	  gui/wxpython/icons/silk/vector_add.png,
+	  gui/wxpython/icons/silk/vector_delete.png,
+	  gui/wxpython/icons/silk/wand.png,
+	  gui/wxpython/icons/silk/zoom.png,
+	  gui/wxpython/icons/silk/zoom_back.png,
+	  gui/wxpython/icons/silk/zoom_in.png,
+	  gui/wxpython/icons/silk/zoom_out.png: wxGUI: silk-based icons
+	  moved to gui/icons
+	  icons are installed only to docs/html/icons (available for
+	  on-line manual pages), not installed to $GISBASE/etc/gui/icons
+	  (to save space)
+
+2008-03-16 15:45  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/goutput.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: building GUI dialog for modules is too slow now. First
+	  attempt to speed up the things.
+	  GMConsole, GMStc, etc. moved to separate module called 'goutput'.
+	  FIXME: calling wxHtmlWindow.LoadPage() is strangely slow.
+
+2008-03-16 15:29  martinl
+
+	* vector/v.buffer/description.html: v.buffer: cleaning manual page
+	  (syntax)
+
+2008-03-16 14:27  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py, gui/wxpython/support,
+	  gui/wxpython/wxgui.py: wxGUI: (menuform) use predefined widgets
+	  size
+	  (gselect) SelectDialog class removed (unused)
+	  (wxgui) reexec_python moved to 'utils' module
+	  Directory for support scripts added
+
+2008-03-16 11:43  martinl
+
+	* vector/v.in.ascii/in.c: v.in.ascii: cosmetics in guisections
+	  (input moved to tab 'Required')
+
+2008-03-16 11:20  martinl
+
+	* Makefile: Makefile: README removed from installation procedure
+	  (developer-oriented README), CHANGES added
+
+2008-03-15 20:30  martinl
+
+	* Makefile: Install also (AUTHORS COPYING README REQUIREMENTS.html
+	  GPL.TXT)
+
+2008-03-15 17:38  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI (menudata) cosmetics
+	  (doxygen) in header
+
+2008-03-15 17:35  martinl
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  wxGUI: menudata changed to support i18N
+
+2008-03-14 13:36  epatton
+
+	* raster/r.contour/description.html: Updated descriptions,
+	  cosmetics, added example
+
+2008-03-14 11:20  martinl
+
+	* display/d.vect/main.c: d.vect: disp=cat or attr draws area shapes
+	  (trac #71)
+
+2008-03-14 10:53  martinl
+
+	* lib/vector/Vlib/remove_duplicates.c, vector/v.clean/main.c:
+	  v.clean+Vlib: rmdupl works also for face and kernel feature type
+
+2008-03-14 09:47  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: start counting displays at 1 not 0
+
+2008-03-14 09:41  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: add to PATH also
+	  $GISBASE/etc/gui/scripts
+
+2008-03-14 09:36  pkelly
+
+	* lib/init/epsg_option.tcl, lib/init/file_option.tcl: Add improved
+	  interaction with g.proj to file_option.tcl (copy and paste
+	  from epsg_option.tcl). Use eq and ne for comparing strings.
+
+2008-03-14 07:25  hamish
+
+	* lib/db/dbmi_base/default_name.c: add debug msg
+
+2008-03-13 19:32  msieczka
+
+	* raster/rasterintro.html: Explain raster map types and data types.
+
+2008-03-13 18:52  glynn
+
+	* raster/Makefile: Build r.quantile
+
+2008-03-13 18:51  glynn
+
+	* man/Makefile: Don't try to build man pages if Perl not present
+
+2008-03-13 18:49  glynn
+
+	* raster/r.mapcalc/map3.c: Set file format (FCELL/DCELL) to match
+	  internal format
+
+2008-03-13 18:48  glynn
+
+	* raster/r.out.gdal/main.c: Treat default colour table the same as
+	  an explicit colour table when
+	  writing palette-based images.
+
+2008-03-13 18:33  glynn
+
+	* raster/r.terraflow/IOStream/include/ami_stream.h,
+	  raster/r.terraflow/IOStream/include/quicksort.h,
+	  raster/r.terraflow/IOStream/include/rtimer.h,
+	  raster/r.terraflow/IOStream/lib/src/ami_stream.cc,
+	  raster/r.terraflow/IOStream/lib/src/mm_utils.cc,
+	  raster/r.terraflow/IOStream/lib/src/rtimer.cc,
+	  raster/r.terraflow/common.cc, raster/r.terraflow/flow.cc,
+	  raster/r.terraflow/main.cc, raster/r.terraflow/stats.cc:
+	  Portability fixes
+
+2008-03-13 09:16  hamish
+
+	* scripts/d.polar/d.polar, scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.oif/i.oif, scripts/i.oif/i.oifcalc,
+	  scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.reclass.area/r.reclass.area: quote some pathnames
+
+2008-03-13 08:57  hamish
+
+	* scripts/d.polar/d.polar, scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/db.dropcol/db.dropcol, scripts/db.in.ogr/db.in.ogr,
+	  scripts/r.univar.sh/r.univar.sh,
+	  scripts/v.db.dropcol/v.db.dropcol,
+	  scripts/v.db.univar/v.db.univar, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.mapgen/v.in.mapgen, scripts/v.univar.sh/v.univar.sh:
+	  quote some filename variables
+
+2008-03-13 08:01  hamish
+
+	* scripts/db.dropcol/db.dropcol, scripts/db.droptable/db.droptable,
+	  scripts/v.db.addtable/description.html,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.univar/description.html,
+	  scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gns/description.html,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.univar.sh/description.html: Use 'db.connect -c' to
+	  check/set default DB driver settings
+
+2008-03-13 07:23  hamish
+
+	* lib/init/init.sh: clean up auto-DB driver setting code (trac bug
+	  #7)
+
+2008-03-13 07:02  hamish
+
+	* db/base/connect.c, db/base/db.connect.html, include/dbmi.h,
+	  include/proto_dbmi.h, lib/db/dbmi_base/default_name.c,
+	  lib/vector/Vlib/field.c: abstract default DB settings: add
+	  DB_DEFAULT_DRIVER, db_set_default_connection(), and 'db.connect
+	  -c'. (trac bug #7)
+
+2008-03-13 06:39  hamish
+
+	* swig/python/README: another typo
+
+2008-03-13 06:38  hamish
+
+	* swig/python/NumPtr/README.GRASS, swig/python/README: typo
+
+2008-03-13 06:35  hamish
+
+	* swig/python/README: mention .pyc creation
+
+2008-03-13 05:14  hamish
+
+	* lib/db/dbmi_base/connect.c: TODO: add checks and return DB_*
+	  error code if needed
+
+2008-03-13 04:55  hamish
+
+	* lib/gis/location.c: Doxygen comment fix
+
+2008-03-12 15:32  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI (vdigit) cosmetics in
+	  GUI layout - use wxSpinCtrl instead of wxTextCtrl in
+	  CategoryDialog
+
+2008-03-12 14:31  martinl
+
+	* vector/v.distance/main.c: v.distance: message ('more cats of
+	  to_layer') less cryptic, TODO: all cats of given field? still
+	  open"
+
+2008-03-12 09:38  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI (vdigit): Fixing (trac
+	  #92, Could not set snapping threshold)
+
+2008-03-11 22:32  martinl
+
+	* vector/v.build/main.c: v.build: message cosmetics, build to
+	  stderr / dump to stdout
+
+2008-03-11 22:23  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: v.digit (TCL/TK) in
+	  menu disabled for now
+
+2008-03-11 22:18  martinl
+
+	* gui/wxpython/Makefile: wxGUI: install scripts (-m 775)
+
+2008-03-11 18:17  martinl
+
+	* lib/vector/Makefile, lib/vector/vedit/Makefile: veditlib: make -j
+	  fix
+
+2008-03-10 23:28  hamish
+
+	* configure, configure.in, gui/wxpython/vdigit/Makefile,
+	  include/Make/Platform.make.in, swig/Makefile,
+	  swig/python/Makefile.in, swig/python/README: Makefile fixes for
+	  SWIG/Python
+
+2008-03-10 22:46  hamish
+
+	* swig/python/NumPtr/src/NumPtr.py,
+	  swig/python/NumPtr/src/NumPtr_wrap.c: remove files autogenerated
+	  by SWIG
+
+2008-03-10 15:02  martinl
+
+	* gui/wxpython/vdigit/Makefile: wxGUI (vdigit) hardwired compile
+	  and link flags removed (trac #61)
+
+2008-03-10 13:40  hamish
+
+	* scripts/r.in.wms/r.in.wms: fix DIY XML parsing for layers with
+	  spaces in their names
+
+2008-03-10 10:26  pkelly
+
+	* include/gproj_api.h: Remove unused header
+
+2008-03-09 23:31  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py: wxGUI: avoid crashing when
+	  locale fails
+
+2008-03-09 22:57  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: i18N enabled for start-up screen
+
+2008-03-09 22:32  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/rules.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: message cleaning
+
+2008-03-09 22:30  martinl
+
+	* locale/po/grasswxpy_cs.po: Czech localization of wxGUI updated
+
+2008-03-09 19:33  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (menuform) use
+	  wxTextCtrl for numeric types instead of wxSpinCtrl (for multiple
+	  parameters).
+	  Message standardization.
+
+2008-03-09 18:22  kyngchaos
+
+	* macosx/ReadMe.rtf: Leopard 64bit update
+
+2008-03-09 15:46  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI (preferences) set
+	  to default fn implemented
+
+2008-03-09 13:42  martinl
+
+	* gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py: wxGUI
+	  (render) force quit mode (wxgui) debug message removed
+
+2008-03-09 08:33  hamish
+
+	* scripts/m.proj/m.proj, scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel: fix literal use of * in
+	  regex
+
+2008-03-09 08:28  hamish
+
+	* scripts/d.polar/d.polar, scripts/r.plane/r.plane,
+	  scripts/v.in.e00/v.in.e00: fix wildcard quoting
+
+2008-03-09 04:16  hamish
+
+	* scripts/r.in.wms/r.in.wms, scripts/r.in.wms/wms.request: fix for
+	  parsing when all capabilites are on one line; quoting fix for
+	  cleaning out downloaded data; done msg when verbose
+
+2008-03-08 13:05  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI (menuform) set up
+	  overwrite/verbose/quit, fix os.kill() on POSIX
+
+2008-03-07 23:59  martinl
+
+	* lib/gis/spawn.c: gislib (spawn) do_bindings() prototype fixed,
+	  otherwise compilation on Windows fails
+
+2008-03-07 23:56  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/globalvar.py: wxGUI (gcmd) MS Windows
+	  related fixes
+
+2008-03-07 12:27  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/grass-grc.dtd,
+	  gui/wxpython/gui_modules/grass-gxw.dtd,
+	  gui/wxpython/gui_modules/workspace.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: File rxtension of GRASS Workspace XML file renamed to gxw
+	  (trac #77)
+	  (dtd) file renamed, tag grc renamed to gxw
+
+2008-03-06 21:20  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI (menuform) typo
+	  (wxgui_utils) fixing run command(command string with parameters)
+
+2008-03-06 17:11  cdavilam
+
+	* translators.csv: New translator added
+
+2008-03-06 17:08  cdavilam
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Updated translations
+
+2008-03-06 17:01  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI (preferences)
+	  verbosity level for command dialogs
+
+2008-03-06 16:53  cdavilam
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po:
+	  Translations by Robert Szczepanek and synced
+
+2008-03-06 16:49  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI (menuform) Abort
+	  running command
+	  (preferences) 'Command' settings (overwrite, close)
+
+2008-03-06 07:05  hamish
+
+	* vector/v.clean/main.c: add comment about checking to see if
+	  remove duplicate lines also works for other features
+
+2008-03-06 06:33  hamish
+
+	* general/g.message/description.html: better explaination from
+	  Ivan, with a few edits of my own
+
+2008-03-06 06:21  hamish
+
+	* general/g.message/description.html: be technically correct in
+	  advice
+
+2008-03-06 05:11  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: script no longer uses 'echo
+	  -e' since r23910, so it doesn't need bash anymore
+
+2008-03-06 04:45  hamish
+
+	* scripts/d.vect.thematic/d.vect.thematic: remove non-portable
+	  'echo -n'
+
+2008-03-06 04:42  hamish
+
+	* scripts/i.in.spotvgt/i.in.spotvgt: remove non-portable 'echo -n'
+
+2008-03-06 03:58  hamish
+
+	* scripts/r.in.wms/wms.request: remove non-portable use of 'echo
+	  -n'
+
+2008-03-05 12:45  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (menuform) use
+	  wx.SpinCtrl for numeric types
+	  fix setting default value(s)
+
+2008-03-05 11:22  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI: (vdigit) * draw box
+	  in map canvas only if left mouse button is pressed
+	  * (move line/vertex) avoid position displacement on left/right
+	  mouse button pressed
+	  * choose poiter tool from map toolbar by default (digit toolbar
+	  created or tool selected)
+
+2008-03-05 09:56  hamish
+
+	* swig/python/examples/m.distance: use a flag to know if input is
+	  from stdin instead of trying to guess.
+	  less problematic and it lets us demonstrate using parser flags.
+
+2008-03-05 09:48  pkelly
+
+	* general/g.mkfontcap/description.html: Correct example: as the
+	  preceding setence says, g.mkfontcap will write to
+	  the file specified by GRASS_FONT_CAP if it is set!
+
+2008-03-05 07:19  hamish
+
+	* swig/python/README, swig/python/examples/m.distance: add some
+	  notes, TODO
+
+2008-03-05 07:13  hamish
+
+	* swig/python/NumPtr, swig/python/NumPtr/AUTHORS,
+	  swig/python/NumPtr/COPYING, swig/python/NumPtr/ChangeLog,
+	  swig/python/NumPtr/INSTALL, swig/python/NumPtr/README,
+	  swig/python/NumPtr/README.GRASS, swig/python/NumPtr/VERSION,
+	  swig/python/NumPtr/lib, swig/python/NumPtr/lib/NumPtr.py,
+	  swig/python/NumPtr/lib/__init__.py,
+	  swig/python/NumPtr/lib/test.py, swig/python/NumPtr/readme.html,
+	  swig/python/NumPtr/setup.py, swig/python/NumPtr/src,
+	  swig/python/NumPtr/src/Makefile, swig/python/NumPtr/src/NumPtr.i,
+	  swig/python/NumPtr/src/NumPtr.py,
+	  swig/python/NumPtr/src/NumPtr_wrap.c,
+	  swig/python/NumPtr/src/getpointer.c,
+	  swig/python/NumPtr/src/getpointer.h,
+	  swig/python/NumPtr/src/test.c, swig/python/NumPtr/src/test.h:
+	  include the Numerical Pointer Module as our libraries aren't very
+	  useful without a way to pass pointers to numerical arrays of
+	  exact types. It's GPL2 code, small, and not likely to be present
+	  on the user's system, or be packaged by their OS distribution.
+
+2008-03-04 22:32  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/icons/icon.py: wxGUI (preferences) use internal dict
+	  for window ids, cosmetics in variable names, fix atm settings
+	  group
+
+2008-03-04 21:31  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: cosmetics in error message, be less
+	  cryptic
+
+2008-03-04 20:18  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py, gui/wxpython/wxgui.py: wxGUI:
+	  error dialog if reading workspace file failed
+
+2008-03-04 17:53  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/preferences.py: wxGUI (dbm/prefereces)
+	  Settings for Attribute Table Manager moved to Preferences dialog
+
+2008-03-04 16:51  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: single call to error fn
+
+2008-03-04 16:48  hamish
+
+	* swig/python/examples/m.distance: easier index math
+
+2008-03-04 14:29  hamish
+
+	* scripts/r.in.wms/r.in.gdalwarp: edit script comments
+
+2008-03-04 14:06  hamish
+
+	* scripts/r.in.wms/r.in.gdalwarp: more fixes for single band tiles.
+	  different GIF/PNG tiles would have different 8bit color palettes
+	  so r.patch is useless and the colors go wonky. use r.mapcacl rgb#
+	  and r.composite to sanitize. Maybe d.out.file + r.in.png +
+	  r.region could be a better way?
+
+2008-03-04 13:56  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI (dbm) various (minor)
+	  improvements (update/insert dialog layout, use wx.Panel as
+	  container for widgets, set icon)
+
+2008-03-04 12:25  hamish
+
+	* scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms,
+	  scripts/r.in.wms/wms.download: fixes:
+	  * r.in.wms: protect spaces in layer names
+	  * r.in.gdalwarp: patch together single band maps correctly
+	  * wms.download: work with brain-dead ArcIMS servers which don't
+	  support POST-data
+	  * add some debug messages
+	  * quieten chatter
+	  * r.in.wms: write out metadata
+
+2008-03-04 09:59  neteler
+
+	* lib/gis/gisrasterlib.dox: precision added
+
+2008-03-04 09:52  neteler
+
+	* lib/gis/gisrasterlib.dox: Glynn's comments about 'NULL (no data)
+	  handling' added
+
+2008-03-04 08:36  hamish
+
+	* scripts/r.in.wms/r.in.wms: work-around for broken WMS which wants
+	  post-data in the URL not as post-data (yeah, that means you ESRI:
+	  NOAA's ENC server)
+
+2008-03-04 05:31  hamish
+
+	* gui/tcltk/gis.m/description.html: see also links
+
+2008-03-04 05:20  hamish
+
+	* gui/tcltk/d.m/description.html: obsolete, point the way to the
+	  future
+
+2008-03-03 22:52  hamish
+
+	* swig/python/README, swig/python/examples/m.distance: add some
+	  links
+
+2008-03-03 18:53  martinl
+
+	* gui/wxpython/vdigit/grass6_wxvdigit.py,
+	  gui/wxpython/vdigit/grass6_wxvdigit_wrap.cpp: wxGUI (vdigit)
+	  swigged files updated for GetMapBoundingBox()
+
+2008-03-03 17:59  epatton
+
+	* raster/r.out.gdal/main.c: Improved warning message grammar
+
+2008-03-03 17:09  hamish
+
+	* swig/python/examples/m.distance: comments
+
+2008-03-03 16:59  hamish
+
+	* swig/python/examples, swig/python/examples/m.distance: example
+	  m.distance script (fully functional)
+
+2008-03-03 16:41  msieczka
+
+	* scripts/v.db.dropcol/v.db.dropcol: Stripping periods off the
+	  messages.
+
+2008-03-03 16:41  msieczka
+
+	* scripts/v.db.renamecol/v.db.renamecol: Stripping periods off the
+	  messages.
+
+2008-03-03 15:29  martinl
+
+	* lib/init/grass.ico, lib/init/grass_dialog.ico,
+	  lib/init/grass_map.ico, lib/init/grass_sql.ico: background of
+	  GRASS icons (outer area) changed to be trasparent
+
+2008-03-03 14:57  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: error message for
+	  missing vdigit module less cryptic
+
+2008-03-03 14:50  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/driver.h:
+	  wxGUI: do not use g.region for zooming to selected vector layer
+	  if the layer is opened for editing (only for vdigit component)
+
+2008-03-03 11:53  msieczka
+
+	* scripts/v.db.renamecol/v.db.renamecol: Remove a whitespace. More
+	  standarization.
+
+2008-03-03 11:52  msieczka
+
+	* scripts/v.db.dropcol/v.db.dropcol: Remove whitespace. More
+	  standarization.
+
+2008-03-03 11:41  msieczka
+
+	* scripts/v.db.dropcol/v.db.dropcol: Single-quote if possible.
+	  Messages standarization.
+
+2008-03-03 11:41  msieczka
+
+	* scripts/v.db.renamecol/v.db.renamecol: Single-quote if possible.
+	  Messages standarization.
+
+2008-03-03 10:15  1gray
+
+	* scripts/g.mlist/g.mlist: scripts/g.mlist/g.mlist (do_list): Fixed
+	  `pattern=-FOO' to work with
+	  `-r'; reduced off one `grep'; use `grep .' instead of `grep -v
+	  '^$'';
+	  more Shell quoting for the sake of a better coding style.
+
+2008-03-03 09:43  hamish
+
+	* swig/python/README: add URL for wiki examples
+
+2008-03-03 09:11  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI (dialog) set minimal
+	  panel height to 100px
+
+2008-03-03 08:36  martinl
+
+	* vector/v.db.connect/main.c: v.db.connect: print fully qualified
+	  map name for -p
+
+2008-03-03 08:29  martinl
+
+	* raster/r.out.gdal/main.c: r.out.gdal: fixing type= and no-data
+	  issues (trac #67)
+
+2008-03-03 08:19  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix icon path, see r30431
+
+2008-03-03 08:05  martinl
+
+	* lib/init/Makefile, lib/init/grass.ico, lib/init/grass_dialog.ico,
+	  lib/init/grass_map.ico, lib/init/grass_sql.ico: more icons (ico)
+	  added
+
+2008-03-03 07:49  martinl
+
+	* gui/wxpython/images/__init__.py,
+	  gui/wxpython/images/grass-tiny-logo.png,
+	  gui/wxpython/images/grass.form.gif,
+	  gui/wxpython/images/grass.map.gif,
+	  gui/wxpython/images/grass.smlogo.gif,
+	  gui/wxpython/images/grass_db.png,
+	  gui/wxpython/images/grass_form.png,
+	  gui/wxpython/images/grass_sql.png,
+	  gui/wxpython/images/grasslogo_big.gif: wxGUI: unused images
+	  removed
+
+2008-03-03 06:26  martinl
+
+	* gui/wxpython/images/__init__.py,
+	  gui/wxpython/images/db_open_table.png: wxGUI: unused image
+	  (db_open_table) removed
+
+2008-03-03 06:18  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py: wxGUI: (menuform) window
+	  layout cosmetics (minsize)
+
+2008-03-02 19:15  neteler
+
+	* raster3d/r3.out.vtk/description.html: attempt to improve wording
+
+2008-03-02 18:25  hamish
+
+	* general/g.message/Makefile, general/g.message/description.html,
+	  general/g.message/main.c: remove executable bit: "svn propdel
+	  executable description.html"
+
+2008-03-02 18:20  1gray
+
+	* lib/gis/ls.c: lib/gis/ls.c (G_ls_format): Eliminated extra
+	  whitespace.
+	  lib/gis/ls.c: Updated copyright years.
+
+2008-03-02 18:14  hamish
+
+	* general/g.message/description.html: typo
+
+2008-03-02 16:50  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: (welcome screen) logo fixed
+	  (parent=self.panel)
+
+2008-03-02 13:02  msieczka
+
+	* scripts/v.db.renamecol/v.db.renamecol: Fix: protect key column,
+	  allow renaming 'cat' when it isn't a key column.
+	  Get rid of awk dependency.
+	  Minor fixes.
+
+2008-03-02 12:55  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: progress in MSYS fixes (basic GUI features, GUI dialog,
+	  Attribute Table Manager). Use wx.Panel instances.
+
+2008-03-02 12:18  msieczka
+
+	* scripts/v.db.dropcol/v.db.dropcol: Fix: protect key column, allow
+	  dropping 'cat' when it isn't a key column.Get rid of awk
+	  dependency.Minor teaks.
+
+2008-03-02 01:14  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/grassenv.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: initial MS Windows fixes (MSYS), GUI starts, raster
+	  layer(s) can displayed
+
+2008-03-01 23:46  neteler
+
+	* locale/po/grassmods_it.po, locale/po/grasstcl_it.po,
+	  translators.csv: Luca Delucchi: cont'ed Italian translation
+
+2008-03-01 09:13  martinl
+
+	* gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: User settings dialog reorganized, new tab for 'display',
+	  item for 'Overlay rasters'
+
+2008-03-01 03:38  cmbarton
+
+	* gui/tcltk/gis.m/grassabout.tcl: Fixed bug with incorrect Gm::
+	  namespace designation.
+
+2008-02-29 23:01  hamish
+
+	* scripts/v.rast.stats/v.rast.stats, scripts/v.report/v.report:
+	  observe layer (trac #75), quoting
+
+2008-02-29 22:44  hamish
+
+	* scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.droptable/v.db.droptable: gratuitous quoting, etc.
+
+2008-02-29 21:53  hamish
+
+	* scripts/v.db.join/v.db.join: bugfix: correct use of v.db.describe
+	  for multi-layer
+
+2008-02-29 21:52  hamish
+
+	* scripts/v.db.update/v.db.update: slight cleanup
+
+2008-02-29 21:40  hamish
+
+	* scripts/v.db.join/v.db.join, scripts/v.db.update/v.db.update:
+	  quote variables
+
+2008-02-29 15:19  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: (digitization settings)
+	  add tooltips for buttons, set 'Apply' to be default
+
+2008-02-29 14:44  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: vdigit updated based
+	  on recent changes in v.edit/veditlib, r30381, r30385
+
+2008-02-29 12:35  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: (mapdisp) use
+	  UserSettings instead of vdigit internal settings
+
+2008-02-29 11:55  martinl
+
+	* gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: fix reading/writing user settings from/to file (group
+	  settings introduced)
+
+2008-02-28 23:33  martinl
+
+	* vector/v.extrude/description.html: v.extrude: manual page
+	  cosmetics
+
+2008-02-28 23:12  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: (gis_set) expects to find a
+	  single colon in each line (Windows issue),
+	  http://lists.osgeo.org/pipermail/grass-dev/2008-February/036044.html
+
+2008-02-28 20:48  hamish
+
+	* lib/init/init.sh: cleanup session on exit and require -c to
+	  create mapset from the command line (trac patch #53)
+
+2008-02-28 18:31  martinl
+
+	* gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/grass6_wxvdigit_wrap.cpp,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI: vdigit updated (veditlib,
+	  r30385)
+
+2008-02-28 18:08  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: (menu) wording
+
+2008-02-28 17:34  glynn
+
+	* tools/sql.sh: Enlarge various "symbol" fields to allow for some
+	  C++ code
+
+2008-02-28 17:05  glynn
+
+	* lib/gis/spawn.c: Partial Windows implementation of
+	  G_[v]spawn_ex()
+
+2008-02-28 17:05  glynn
+
+	* general/g.gui/main.c: Invoke Tcl/Tk scripts directly, rather than
+	  via shell scripts
+
+2008-02-28 16:04  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/wxgui.py: wxGUI:
+	  digitization settings moved to UserSettings space
+
+2008-02-28 11:55  glynn
+
+	* raster/r.quantile, vector/v.edit: Add svn:ignore property
+
+2008-02-28 11:35  martinl
+
+	* include/vedit.h, lib/vector/vedit/vertex.c: veditlib:
+	  Vedit_move_vertex() updated for v.edit (thresh for
+	  selecting/snapping vector feature)
+
+2008-02-28 10:42  1gray
+
+	* raster/r.univar2/r.univar_main.c:
+	  raster/r.univar2/r.univar_main.c (process_raster): Added proper
+	  casts to
+	  `double' within the `CELL' and `FCELL' branches.
+
+2008-02-28 10:33  1gray
+
+	* raster/r.univar2/r.univar_main.c:
+	  raster/r.univar2/r.univar_main.c
+	  (assert.h): Include it.
+	  (set_params): Allow multiple values for `param.inputfile'.
+	  (main): Handle an arbitrary number of rasters.
+	  (open_raster): Split some code off `main'.
+	  (univar_stat_with_percentiles): Likewise.
+	  (process_raster): Likewise.
+
+2008-02-27 23:45  hamish
+
+	* lib/init/init.sh: simplify browser search; be quieter when
+	  running a batch job
+
+2008-02-27 21:51  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/description.html,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/max_distance.c, vector/v.edit/proto.h,
+	  vector/v.edit/select.c: v.edit: threshold value can be different
+	  for 'coords', 'snap' and 'query'
+
+2008-02-27 20:15  martinl
+
+	* lib/vector/vedit/select.c: veditlib: redirect
+	  Vect_select_dangle() messages to NULL
+
+2008-02-27 19:38  martinl
+
+	* lib/vector/vedit/select.c: veditlib: use Vect_select_dangles()
+	  for selecting dangles
+
+2008-02-27 19:34  martinl
+
+	* include/Vect.h, lib/vector/Vlib/dangles.c: vectlib:
+	  Vect_select_dangle() added, used by v.edit query=dangle/wxGUI
+
+2008-02-27 04:17  hamish
+
+	* scripts/r.in.wms/r.in.wms, scripts/r.in.wms/wms.download: quote
+	  variables; don't pretend to be MSIE (gforge bug # 318)
+
+2008-02-27 01:44  hamish
+
+	* imagery/i.target/main.c: todo comment, minor cleaning
+
+2008-02-26 23:26  hamish
+
+	* tools/g.html2man/g.html2man: line breaks for <DD>, less strict
+	  with <TD>
+
+2008-02-26 22:56  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: define i18N (grasswxpy) package
+
+2008-02-26 22:41  martinl
+
+	* locale/Makefile, locale/po/grasswxpy_cs.po: Localization of wxGUI
+	  initialized
+
+2008-02-26 21:29  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: use default title for Layer Manager
+
+2008-02-26 21:20  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py: wxGUI:
+	  message cleaning, use named arguments
+
+2008-02-26 20:36  martinl
+
+	* locale/po/grasslibs_pt.po, locale/po/grassmods_pt.po,
+	  locale/po/grasstcl_pt.po: Remove redundant svn:executable
+	  property
+
+2008-02-26 20:32  hamish
+
+	* tools/g.html2man/g.html2man: improve tables
+
+2008-02-26 20:14  hamish
+
+	* tools/g.html2man/g.html2man: line break between table rows (part
+	  2)
+
+2008-02-26 19:22  hamish
+
+	* tools/g.html2man/g.html2man: line break between table rows
+	  (doesn't fix it, but a start)
+
+2008-02-26 19:04  epatton
+
+	* raster/r.composite/description.html: Added example, link to
+	  dithering reference, minor tweaks
+
+2008-02-26 16:36  epatton
+
+	* raster/r.clump/description.html: Remove obsolete reference to old
+	  parser interface; html tag cosmetics
+
+2008-02-26 14:02  martinl
+
+	* gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: MapsetAccess dialog moved to preferences.py
+
+2008-02-26 11:53  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: error handling
+	  fixed, use -s flag for d.vect.thematic by default
+
+2008-02-26 02:58  epatton
+
+	* SUBMITTING_DOCS: Added new suggestions for html tags of module
+	  names, parameters, and flags
+
+2008-02-25 18:59  kyngchaos
+
+	* lib/init/grass-xterm-mac, lib/init/variables.html,
+	  macosx/app/grass.sh.in: moved Terminal.app xterm emulation to
+	  separate script, make default in app startup
+
+2008-02-25 16:07  martinl
+
+	* gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  wxGUI: wx.LogNull instance added to suppress wx log message
+
+2008-02-25 07:05  cmbarton
+
+	* gui/tcltk/gis.m/group.tcl: Fix non-fatal, but annoying errors
+	  when launching nviz automatically from map display.
+
+2008-02-25 06:46  glynn
+
+	* raster/r.mapcalc/expression.c: Change format for floating-point
+	  constants from %f to %.8g to avoid huge literals
+
+2008-02-25 06:37  glynn
+
+	* include/Make/Rules.make: Compile C++ code with $(CXX), not $(CC)
+
+2008-02-25 06:20  glynn
+
+	* general/manage/cmd/remove.c: Only perform reclass check for
+	  rasters.
+
+2008-02-24 23:31  martinl
+
+	* gui/wxpython/gui_modules/render.py: wxGUI: using gcmd.Command for
+	  g.pnmcomp doesn't not work for single map layers, back to
+	  os.system
+
+2008-02-24 22:52  neteler
+
+	* raster/r.quantile/description.html: commands MUST be documented.
+	  See SUBMITTING.
+
+2008-02-24 21:06  neteler
+
+	* gui/wxpython/vdigit/Makefile: changed -fpic to ${SHLIB_CFLAGS}
+	  (bug #61)
+
+2008-02-24 21:01  neteler
+
+	* scripts/v.in.wfs/v.in.wfs: Johannes Brauner: fix for unwanted
+	  'rendered' xml (#62)
+
+2008-02-24 20:41  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: wxGUI: code cleaning
+	  (render.py)
+
+2008-02-24 17:30  glynn
+
+	* raster/r.mapcalc/xrand.c: Fix integer wrap-around in rand()
+	  function
+
+2008-02-24 15:53  epatton
+
+	* raster/r.neighbors/description.html: The -c flag and weights
+	  parameter are mutually exclusive; html cosmetics
+
+2008-02-24 15:18  epatton
+
+	* raster/r.in.gdal/description.html: Cosmetics, misc. tweaks
+
+2008-02-24 12:33  martinl
+
+	* gui/wxpython/gui_modules/rules.py, gui/wxpython/wxgui.py: wxGUI:
+	  fixing #59 (r.colors in wxpython gui fails)
+
+2008-02-24 12:32  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: fix dialog tooltips
+	  (do not crash when tooltips are missing)
+
+2008-02-24 11:13  martinl
+
+	* raster/r.colors/description.html, raster/r.colors/main.c:
+	  r.colours: module description updated (guisections, color tables
+	  description)
+
+2008-02-24 10:06  neteler
+
+	* tools/build_html_index.sh: fix name
+
+2008-02-24 08:23  glynn
+
+	* raster/r.quantile/main.c: Add percentiles= option
+
+2008-02-24 03:23  hamish
+
+	* db/databaseintro.html, display/drivers/description.html,
+	  doc/projectionintro.html, imagery/imageryintro.html,
+	  lib/db/sqlp/description.html, lib/init/helptext.html,
+	  lib/init/variables.html, raster/rasterintro.html,
+	  raster3d/raster3dintro.html, vector/vectorintro.html: add
+	  copyright footer
+
+2008-02-24 00:50  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: update progress
+	  bar range before auto-render
+
+2008-02-24 00:46  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: Fix calling
+	  OnRender (fn renamed)
+
+2008-02-24 00:39  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: show progress bar
+	  (map display statusbar) when map content is redrawing
+
+2008-02-23 20:06  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: debug message cleaning,
+	  digit.CDisplayDriver.DrawMap()
+
+2008-02-23 18:21  neteler
+
+	* gui/tcltk/gis.m/Makefile, tools/build_html_index.sh: generate
+	  HTML page correctly
+
+2008-02-23 18:21  neteler
+
+	* gui/wxpython/docs/wxGUI.html: author name fix
+
+2008-02-23 18:20  neteler
+
+	* raster/r.watershed/front/description.html: cosmetics
+
+2008-02-23 17:54  martinl
+
+	* lib/vector/vedit/break.c, lib/vector/vedit/cats.c,
+	  lib/vector/vedit/chtype.c, lib/vector/vedit/copy.c,
+	  lib/vector/vedit/delete.c, lib/vector/vedit/distance.c,
+	  lib/vector/vedit/flip.c, lib/vector/vedit/merge.c,
+	  lib/vector/vedit/move.c, lib/vector/vedit/select.c,
+	  lib/vector/vedit/snap.c, lib/vector/vedit/vertex.c,
+	  lib/vector/vedit/zbulk.c: veditlib: the vedit header changed to
+	  be public (#include <grass/vedit.h>)
+
+2008-02-23 17:24  martinl
+
+	* lib/vector/vedit/vedit.h: vedit.h header already moved to include
+
+2008-02-23 17:16  martinl
+
+	* include/vedit.h: missing header added
+
+2008-02-23 10:12  glynn
+
+	* raster/r.quantile, raster/r.quantile/Makefile,
+	  raster/r.quantile/main.c: New module: r.quantile
+	  computes quantiles in a manner suitable for use with large
+	  amounts of data
+
+2008-02-23 10:10  glynn
+
+	* lib/gis/get_row.c, lib/gis/open_misc.c: Don't free return values
+	  from G_find_*
+
+2008-02-23 05:58  helena
+
+	* raster/simwe/r.sim.sediment/description.html: refs updated
+
+2008-02-23 05:51  helena
+
+	* raster/simwe/r.sim.sediment/main.c: default value for walkers
+	  removed - it is computed now
+
+2008-02-23 05:49  helena
+
+	* raster/simwe/simlib/input.c: fixed message to work with sediment
+	  too
+
+2008-02-23 05:03  helena
+
+	* raster/simwe/r.sim.sediment/main.c: non-functional flags removed,
+	  more units added, defaults modified
+
+2008-02-23 05:02  helena
+
+	* raster/simwe/r.sim.sediment/description.html: non-functional
+	  flags removed
+
+2008-02-22 18:14  mlennert
+
+	* display/d.thematic.area, display/d.thematic.area/Makefile,
+	  display/d.thematic.area/area.c,
+	  display/d.thematic.area/description.html,
+	  display/d.thematic.area/local_proto.h,
+	  display/d.thematic.area/main.c, display/d.thematic.area/plot.h,
+	  display/d.thematic.area/plot1.c: First commit of d.thematic.area:
+	  module to display cloropleth maps
+
+2008-02-22 18:07  mlennert
+
+	* vector/v.class, vector/v.class/Makefile, vector/v.class/TODO,
+	  vector/v.class/description.html, vector/v.class/main.c: First
+	  checkin of v.class - module that calculates class breaks for
+	  vector attribute data
+
+2008-02-22 17:44  mlennert
+
+	* lib/arraystats/discont.README.txt: text by the original author
+	  explaining the discont algorithm used in the class_discont
+	  function
+
+2008-02-22 16:50  martinl
+
+	* gui/wxpython/Makefile: wxGUI: install scripts first
+
+2008-02-22 16:28  epatton
+
+	* raster/r.neighbors/description.html: Described -c flag with
+	  examples, added weight parameter descriptions from Glynn
+
+2008-02-22 15:37  martinl
+
+	* vector/v.edit/cmd: v.edit: removed unused directory (see r30287)
+
+2008-02-22 15:32  martinl
+
+	* lib/vector/Makefile, lib/vector/vedit, lib/vector/vedit/Makefile,
+	  vector/v.edit/Makefile, vector/v.edit/a2b.c,
+	  vector/v.edit/args.c, vector/v.edit/cmd/Makefile,
+	  vector/v.edit/cmd/a2b.c, vector/v.edit/cmd/args.c,
+	  vector/v.edit/cmd/description.html, vector/v.edit/cmd/global.h,
+	  vector/v.edit/cmd/main.c, vector/v.edit/cmd/max_distance.c,
+	  vector/v.edit/cmd/proto.h, vector/v.edit/cmd/select.c,
+	  vector/v.edit/cmd/snap.c, vector/v.edit/description.html,
+	  vector/v.edit/global.h, vector/v.edit/lib, vector/v.edit/main.c,
+	  vector/v.edit/max_distance.c, vector/v.edit/proto.h,
+	  vector/v.edit/select.c, vector/v.edit/snap.c: veditlib moved from
+	  vector/v.edit to lib/vector (#57)
+
+2008-02-22 12:44  neteler
+
+	* vector/v.out.ogr/description.html: 3D Hull KML example added
+
+2008-02-22 10:19  mlennert
+
+	* include/Make/Grass.make.in: Beginning of a library of statstics
+	  for arrays of doubles
+
+2008-02-22 10:18  mlennert
+
+	* include/arraystats.h: Beginning of a library of statstics for
+	  arrays of doubles
+
+2008-02-22 10:17  mlennert
+
+	* lib/arraystats, lib/arraystats/Makefile, lib/arraystats/basic.c,
+	  lib/arraystats/class.c: Beginning of a library of statstics for
+	  arrays of doubles
+
+2008-02-21 17:47  1gray
+
+	* lib/gis/ls.c: lib/gis/ls.c (G_ls_format): Fixed the division by
+	  zero bug when a name
+	  or names exceed the terminal width.
+
+2008-02-21 16:48  1gray
+
+	* include/Make/Doxygen.make: include/Make/Doxygen.make (htmldocs):
+	  Removed a gratuitous use of `cat'.
+	  (latexdocs): Likewise.
+	  (pdfdocs): Likewise.
+
+2008-02-21 15:56  martinl
+
+	* general/g.gui/main.c: g.gui: do not use wxgui script to start
+	  wxGUI,
+	  http://lists.osgeo.org/pipermail/grass-dev/2008-February/035762.html
+
+2008-02-21 14:32  epatton
+
+	* vector/v.extrude/description.html: Added missing link to main
+	  nviz help page
+
+2008-02-21 07:34  cmbarton
+
+	* gui/wxpython/gui_modules/menudata.py: Added v.generalize and
+	  v.net.visibility
+
+2008-02-21 07:31  cmbarton
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Removed extra v.dissolve. Moved
+	  v.generalize in menu next to v.clean
+
+2008-02-21 01:55  epatton
+
+	* raster/r.describe/description.html: Updated descriptions, added
+	  examples, revised section layouts
+
+2008-02-20 16:57  epatton
+
+	* raster/r.drain/description.html: Updated manpage to warn about
+	  module behavior at region boundary; typos corrected, reorganized
+	  sections
+
+2008-02-20 16:25  helena
+
+	* raster/simwe/r.sim.sediment/main.c: cleanup - units, module name,
+	  parser macros
+
+2008-02-20 16:24  helena
+
+	* raster/simwe/r.sim.sediment/waterglobs.h: synchronize with simlib
+	  and water
+
+2008-02-20 16:23  helena
+
+	* raster/simwe/simlib/input.c: more general condition for manin and
+	  rain, change message to debug for version
+
+2008-02-20 03:50  cmbarton
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Adding v.dissolve to menu
+
+2008-02-19 21:05  neteler
+
+	* doc/howto_release.txt: fine tuned
+
+2008-02-19 20:22  hamish
+
+	* gui/tcltk/d.m/menu.tcl, gui/tcltk/gis.m/gmmenu.tcl: rename r.cats
+	  -> r.category
+
+2008-02-19 20:20  hamish
+
+	* gui/wxpython/gui_modules/menudata.py: rename r.cats -> r.category
+
+2008-02-19 20:12  hamish
+
+	* raster/r.buffer/description.html,
+	  raster/r.li/r.li.patchdensity/description.html,
+	  raster/r.statistics/description.html,
+	  vector/v.to.rast/description.html: rename r.cats -> r.category
+
+2008-02-19 17:42  helena
+
+	* vector/v.vol.rst/description.html: zmult added to the examples
+
+2008-02-19 03:32  helena
+
+	* raster/simwe/r.sim.water/main.c: changed message to debug for
+	  reporting values
+
+2008-02-19 02:58  helena
+
+	* raster/simwe/r.sim.water/description.html: better explain suffix
+	  in time series
+
+2008-02-19 02:16  hamish
+
+	* lib/gis/parser.c: --script template purpose, year, module name
+
+2008-02-18 17:34  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: do not reverse layer order (bottom
+	  layer should be displayed first)
+
+2008-02-18 16:55  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: When workspace file is given on start-up (g.gui w=) show
+	  Map Display Window after loading is finished
+
+2008-02-18 16:38  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: do not use
+	  SetAutoLayout for LayerTree
+
+2008-02-18 15:49  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/utils.py:
+	  wxGUI: define fn for list sorting (not case-sensitive), sort
+	  mapset names
+
+2008-02-18 15:26  martinl
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: user can set up
+	  mapset search path (g.mapsets -p/-l)in Preferences dialog. This
+	  variable is used in GUI dialogs. Default value is 'p' (module
+	  search path).
+
+2008-02-18 15:23  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: error message less
+	  cryptic
+
+2008-02-18 15:13  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py: wxGUI: use specific DBMError
+
+2008-02-18 15:03  cmbarton
+
+	* gui/wxpython/gui_modules/menudata.py: Putting i.rectify back in
+	  menu
+
+2008-02-18 14:48  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: display error message for
+	  Attribute Table Manager when default DB settings is not set up
+
+2008-02-18 12:31  neteler
+
+	* vector/v.in.ogr/description.html: better use 'location' parm
+
+2008-02-18 12:30  neteler
+
+	* raster/r.in.gdal/description.html: better use 'location' parm
+
+2008-02-18 12:04  martinl
+
+	* gui/wxpython/gui_modules/digit.py, gui/wxpython/vdigit/cats.cpp:
+	  wxGUI/vdigit: Copy objects from background vector map enabled
+	  also for vdigit component (already functional in vedit)
+
+2008-02-18 03:49  helena
+
+	* raster/simwe/r.sim.water/main.c: default number of walkers
+	  adjusted to number of cells
+
+2008-02-18 02:34  helena
+
+	* raster/simwe/r.sim.water/main.c: parser macros added
+
+2008-02-18 02:33  cmbarton
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: Fix map selector to
+	  select Raster 3D maps for r3.mapcalc
+
+2008-02-18 02:29  cmbarton
+
+	* gui/wxpython/gui_modules/mcalc_builder.py,
+	  gui/wxpython/gui_modules/menudata.py: Extending new map
+	  calculator to r3.mapcalc
+
+2008-02-18 02:28  cmbarton
+
+	* gui/wxpython/wxgui.py: Extending new map calculator to r3.mapcalc
+
+2008-02-18 01:28  cmbarton
+
+	* gui/wxpython/wxgui.py: Clean up some debug code that I'd missed.
+
+2008-02-18 01:25  cmbarton
+
+	* gui/wxpython/wxgui.py: Fixed OnXterm method to work with current
+	  version of gcmd.Command.
+
+2008-02-17 22:39  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI/vdigit: Use default
+	  layer number for vector maps without DB connection
+
+2008-02-17 20:06  neteler
+
+	* vector/v.in.ogr/description.html: document projection error
+	  message
+
+2008-02-17 19:41  neteler
+
+	* raster/r.in.gdal/description.html: document error message
+
+2008-02-17 16:33  cmbarton
+
+	* gui/wxpython/gui_modules/menudata.py: Removed menu items for
+	  georectification, since these require an xterm and are replaced
+	  by new georectifier module.
+
+2008-02-17 07:51  hamish
+
+	* vector/v.sample/main.c: standardization
+
+2008-02-17 05:52  cmbarton
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: Added docstrings.
+
+2008-02-17 05:44  cmbarton
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: Further enhancements,
+	  cosmetics, better error trapping.
+
+2008-02-17 05:29  helena
+
+	* raster/simwe/r.sim.water/waterglobs.h: infiltration as value
+	  added
+
+2008-02-17 05:28  helena
+
+	* raster/simwe/r.sim.water/main.c: infiltration as value added,
+	  more units fixes, changed defaults
+
+2008-02-17 05:25  helena
+
+	* raster/simwe/simlib/waterglobs.h: infiltration as value added
+
+2008-02-17 05:25  helena
+
+	* raster/simwe/simlib/input.c: infiltration as value added
+
+2008-02-17 05:20  cmbarton
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: Bug fixes and
+	  enhancements. Was able to switch back to using gcmd.Command.
+
+2008-02-17 04:20  cmbarton
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: Fix bug that prevented
+	  functions from working
+
+2008-02-17 03:46  helena
+
+	* raster/simwe/r.sim.water/description.html: man page updates
+
+2008-02-17 01:55  cmbarton
+
+	* gui/wxpython/wxgui.py: Putting experimental prototype back in
+	  title
+
+2008-02-17 01:21  hamish
+
+	* lib/init/init.sh: abstract default GUI to a variable; add an
+	  internal debug switch to be used within THIS SCRIPT
+
+2008-02-17 00:24  hamish
+
+	* lib/gis/parser.c: better descr for G_script(); less cryptic error
+	  if wish isn't found
+
+2008-02-16 23:27  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: Revert removed line from
+	  r30195
+
+2008-02-16 23:17  cmbarton
+
+	* gui/wxpython/gui_modules/menudata.py: Menu item for new mapcalc
+	  builder
+
+2008-02-16 23:16  cmbarton
+
+	* gui/wxpython/gui_modules/mcalc_builder.py: New mapcalc builder
+
+2008-02-16 23:15  cmbarton
+
+	* gui/wxpython/wxgui.py: Added map calculator
+
+2008-02-16 17:32  martinl
+
+	* gui/wxpython/README, gui/wxpython/gui_modules/digit.py: wxGUI:
+	  README fixed (use LD_LIBRARY_PATH instead of /lib). Error message
+	  for missing vdigit more detailed.
+
+2008-02-16 17:05  martinl
+
+	* lib/init/init.sh: note -oldtcltk/-v/--version switch in help
+	  message
+
+2008-02-16 15:02  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: stream (stderr, stdout)
+	  redirection fixed for commands. In the future could be replaced
+	  with wx.Execute or something portable (MS Windows), etc.
+
+2008-02-16 12:51  martinl
+
+	* gui/wxpython/README: Use g.gui instead wxgui, vdigit notes
+	  updated
+
+2008-02-16 12:13  hamish
+
+	* general/g.gui/main.c: change choice again
+
+2008-02-16 05:37  helena
+
+	* raster/simwe/simlib/waterglobs.h: rain and man values added
+
+2008-02-16 05:36  helena
+
+	* raster/simwe/simlib/input.c: improved messages
+
+2008-02-16 05:35  helena
+
+	* raster/simwe/r.sim.water/waterglobs.h: rain and mannings values
+	  added
+
+2008-02-16 05:34  helena
+
+	* raster/simwe/r.sim.water/main.c: improved description, option for
+	  rain and mannings as values added, non-functioning flag -m
+	  removed
+
+2008-02-15 22:42  neteler
+
+	* configure, configure.in: fix #44
+
+2008-02-15 22:05  martinl
+
+	* gui/wxpython/vdigit/Makefile: wxGUI/vdigit: Makefile typo
+
+2008-02-15 22:04  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/vdigit/Makefile,
+	  gui/wxpython/vdigit/Makefile.in, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/line.cpp:
+	  wxGUI/vdigit: * Makefile template removed
+	  * fix compiler warnings
+	  * compile vdigit if configured --with-wxwidgets
+
+2008-02-15 21:44  martinl
+
+	* configure, configure.in: configure: Don't generate Makefile for
+	  vdigit from Makefile.in
+
+2008-02-15 21:27  martinl
+
+	* configure, configure.in, include/Make/Platform.make.in:
+	  configure: #38
+	  * switch for wxWidgets (--with-wxwidgets) added
+	  * --with-python check rewritten
+
+2008-02-15 19:43  martinl
+
+	* gui/wxpython/icons/silk/page_white_get.png: wxGUI: missing icon
+	  add (silk icon theme)
+
+2008-02-15 19:42  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  wxGUI: adding map(s) into layer tree simplified
+
+2008-02-15 19:29  martinl
+
+	* gui/wxpython/docs/wxGUI.html, gui/wxpython/gis_set.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/wxgui.py: wxGUI: Bulk loading of selected map layers
+	  (raster, vector) into layer tree. Fn ImportWx() renamed to
+	  CheckForWx().
+
+2008-02-15 18:46  hamish
+
+	* lib/init/init.sh: shorten command, first option name isn't
+	  required
+
+2008-02-15 18:07  martinl
+
+	* gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: print error message
+	  when no module wx found
+
+2008-02-15 15:07  helena
+
+	* raster/simwe/simlib/output.c: #48: command line options saving
+	  added
+
+2008-02-15 09:55  martinl
+
+	* lib/init/init.sh: init.sh: g.gui's 'type' parameter renamed to
+	  'flavor'
+
+2008-02-15 04:00  hamish
+
+	* general/g.gui/main.c: keep things light & friendly. precedent:
+	  it's good enough to use for quarks and quantum chromodynamics.
+
+2008-02-15 02:32  hamish
+
+	* scripts/v.rast.stats/v.rast.stats: check that unqualified name
+	  doesn't refer to a vector of the same name in another mapset
+
+2008-02-14 21:30  martinl
+
+	* general/g.gui/main.c, gui/wxpython/Makefile, gui/wxpython/wxgui,
+	  lib/init/init.sh: wxgui script moved to
+	  /home/martin/src/grass_trunk/dist.i686-pc-linux-gnu/etc/wxpython/scripts
+	  directory. Use g.gui module to (re)start GUI session.
+
+2008-02-14 21:24  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: map in mapset, try2; debork
+	  reversion
+
+2008-02-14 21:04  hamish
+
+	* general/g.gui/main.c: hint for move of wxgui into
+
+2008-02-14 20:53  glynn
+
+	* scripts/v.db.addtable/v.db.addtable: Revert attempt to hide bug
+
+2008-02-14 20:51  hamish
+
+	* general/Makefile, general/g.gui/description.html,
+	  general/g.gui/main.c: fine tuning; add module to build list
+
+2008-02-14 20:24  hamish
+
+	* general/g.gui/main.c, gui/wxpython/wxgui: g.gui updates
+
+2008-02-14 19:26  1gray
+
+	* aclocal.m4: aclocal.m4: Quoted the first argument in all uses of
+	  `AC_DEFUN'.
+
+2008-02-14 16:07  cmbarton
+
+	* gui/tcltk/gis.m/gmlib.tcl: Traps a bwidget idiosyncrasy in which
+	  clicking on an undefined custom color square in the bottom row of
+	  the color chooser returns the string "white" instead of the hex
+	  color #FFFFFF.
+
+2008-02-14 15:46  neteler
+
+	* scripts/g.manual/g.manual: define CYGWIN_ROOT if not there
+
+2008-02-14 11:26  hamish
+
+	* SUBMITTING: G_important_message(), G_verbose_message()
+
+2008-02-14 11:17  hamish
+
+	* SUBMITTING: refine EXIT_SUCCESS hint (Moritz Lennert)
+
+2008-02-14 08:42  neteler
+
+	* scripts/d.correlate/d.correlate: TODO added
+
+2008-02-14 06:33  jachym
+
+	* vector/v.extrude/main.c: Better G_percent() usage
+
+2008-02-14 05:09  hamish
+
+	* scripts/r.in.srtm/r.in.srtm: exit cleanly if r.in.gdal failed
+
+2008-02-14 02:29  hamish
+
+	* scripts/v.rast.stats/v.rast.stats: remove @mapset before setting
+	  talbe name
+
+2008-02-14 01:10  hamish
+
+	* scripts/v.univar.sh/v.univar.sh: quote variables
+
+2008-02-14 01:07  hamish
+
+	* scripts/v.in.gns/v.in.gns: quote variables
+
+2008-02-14 01:01  hamish
+
+	* scripts/v.in.e00/v.in.e00: quote variables
+
+2008-02-14 00:55  hamish
+
+	* scripts/v.db.univar/v.db.univar: quote variables
+
+2008-02-14 00:54  hamish
+
+	* scripts/v.db.renamecol/v.db.renamecol: quote variables
+
+2008-02-14 00:50  hamish
+
+	* scripts/r.univar.sh/r.univar.sh: quote variables
+
+2008-02-14 00:49  hamish
+
+	* scripts/r.reclass.area/r.reclass.area: quote variables
+
+2008-02-14 00:47  hamish
+
+	* scripts/r.plane/r.plane: quote variables
+
+2008-02-14 00:45  hamish
+
+	* scripts/r.in.wms/wms.request: quote variables
+
+2008-02-14 00:42  hamish
+
+	* scripts/r.in.srtm/r.in.srtm: quote variables
+
+2008-02-14 00:40  hamish
+
+	* scripts/r.in.aster/r.in.aster: quote variables
+
+2008-02-14 00:36  hamish
+
+	* scripts/i.in.spotvgt/i.in.spotvgt: quote variables; --quiet
+
+2008-02-14 00:25  hamish
+
+	* scripts/d.vect.thematic/d.vect.thematic: quote variables
+
+2008-02-14 00:23  hamish
+
+	* scripts/d.polar/d.polar: quote variables
+
+2008-02-14 00:21  hamish
+
+	* scripts/db.out.ogr/db.out.ogr: quote variables
+
+2008-02-14 00:17  hamish
+
+	* scripts/v.db.dropcol/v.db.dropcol: quoting
+
+2008-02-14 00:15  hamish
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive: quoting
+
+2008-02-14 00:06  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: remove @mapset before
+	  setting talbe name; quoting
+
+2008-02-13 21:48  neteler
+
+	* Makefile: check for svn2cl
+
+2008-02-13 21:33  pkelly
+
+	* visualization/nviz/src/Makefile: Remove unnecessary FFmpeg
+	  references
+
+2008-02-13 16:51  neteler
+
+	* lib/init/init.sh: remove breaking nonsense
+
+2008-02-13 13:18  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI: fix typo
+	  (missing comma)
+
+2008-02-13 12:26  hamish
+
+	* raster/r.what/main.c: add fs= option
+
+2008-02-13 10:56  hamish
+
+	* display/d.what.rast/main.c, display/d.what.rast/opencell.c:
+	  GNAME_MAX, i18n, G_warning()
+
+2008-02-13 10:27  pkelly
+
+	* README: Mention SUBMITTING and slight grammar fix
+
+2008-02-13 09:40  neteler
+
+	* raster/r.coin/inter.c, raster/r.in.gdal/main.c,
+	  raster/r.quant/global.h, raster/r.report/parse.c,
+	  raster/r.transect/main.c, raster/r.water.outlet/basin.h,
+	  raster/r.water.outlet/main.c: use GNAME_MAX, GMAPSET_MAX; some
+	  error msg fix
+
+2008-02-13 06:25  hamish
+
+	* display/d.rast.edit/Makefile: rename incase you want to build it
+	  manually
+
+2008-02-13 06:14  hamish
+
+	* display/d.rast.edit/edit.h, lib/gis/ask.c: use GNAME_MAX,
+	  GMAPSET_MAX ([old] d.rast.edit filename segfault)
+
+2008-02-13 05:19  hamish
+
+	* raster/r.out.arc/main.c: make sure it gets to 100%
+
+2008-02-12 15:45  martinl
+
+	* general/g.gui/main.c: g.gui: 'rc' parameter enabled, loading
+	  manager settings file
+
+2008-02-12 15:34  martinl
+
+	* gui/wxpython/wxgui: wxGUI: shell script updated to use GRASS
+	  parser
+
+2008-02-12 13:28  neteler
+
+	* visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/panel_vect.tcl,
+	  visualization/nviz/scripts/site_attr.tcl: Maris Nartiss: fixed
+	  'display flat' button from crashing UI: 'display thematic'
+	  crashing UI if no point maps is selected; linewrap fix in
+	  site_attr
+
+2008-02-12 13:19  neteler
+
+	* lib/init/init.sh: reverted complete check for invalid UI (back to
+	  r30077)
+
+2008-02-12 12:45  martinl
+
+	* gui/wxpython/vdigit/Makefile.in: wxGUI/vdigit: include cpp
+	  wrapper file in sources
+
+2008-02-12 12:30  martinl
+
+	* gui/wxpython/vdigit, gui/wxpython/vdigit/Makefile.in,
+	  gui/wxpython/vdigit/grass6_wxvdigit.py,
+	  gui/wxpython/vdigit/grass6_wxvdigit_wrap.cpp: wxGUI/vdigit: *
+	  vdigit python module added to SVN
+	  * swig-based cpp wrapper file updated
+	  * Makefile template modified to avoid regenerating wrapper cpp
+	  file
+
+2008-02-12 12:16  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI:Use separate
+	  command output log window for each running instance (regardless
+	  of standalone status).
+
+2008-02-12 10:49  martinl
+
+	* lib/init/init.sh: Revert check for invalid UI, this check fails
+	  if path to mapset is given.
+
+2008-02-12 10:05  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: note experimental status of GUI in
+	  title of the main window
+
+2008-02-12 05:31  neteler
+
+	* lib/init/init.sh: say which invalid user interface was specified;
+	  removed $Id$ according to submit rules
+
+2008-02-12 05:04  hamish
+
+	* general/g.gui/description.html, general/g.gui/main.c: * expand
+	  and reword help page and some messages;
+	  * reorder GUIs to put tcltk first
+	  * add flag to bypass making the given GUI type permanent
+	  * add, but not activate, rc file option (what to call it?)
+	  * only reset the default if it differs from the given type
+
+2008-02-11 16:34  martinl
+
+	* gui/wxpython/gui_modules/digit.py, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/line.cpp: wxGUI/vdigit: fix snapping to
+	  vertex for new feature or when editing existing feature
+
+2008-02-11 16:21  martinl
+
+	* gui/wxpython/README: README for wxpython GUI updated: wx renamed
+	  to wxpython
+
+2008-02-11 16:01  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: debug message removed
+
+2008-02-11 14:17  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: multiple selection
+	  False by default
+
+2008-02-11 14:03  martinl
+
+	* lib/gis/parser.c: Fixing 'wx' variable renamed to 'wxpython'
+
+2008-02-11 13:51  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: Update map display
+	  toolbar ('Tools') after toolbox is removed.
+
+2008-02-11 12:39  neteler
+
+	* visualization/nviz/scripts/panel_main.tcl: Maris Nartiss: reset
+	  twist if user presses 'reset' button
+
+2008-02-11 12:33  martinl
+
+	* general/g.gui, general/g.gui/Makefile,
+	  general/g.gui/description.html, general/g.gui/main.c: Module
+	  g.gui added, common interface for starting GUI from CLI.
+
+2008-02-11 11:41  martinl
+
+	* lib/init/init.sh: wxgrass renamed to wxgui. Check for invalid UI
+	  option.
+
+2008-02-11 11:35  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/README,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgrass,
+	  gui/wxpython/wxgui: wxGUI: wxgrass script renamed to wxgui
+
+2008-02-11 11:21  martinl
+
+	* lib/init/init.sh: Switch 'wx' renamed to 'wxpython', 'oldtcltk'
+	  used for d.m.
+
+2008-02-11 10:51  martinl
+
+	* lib/gis/parser.c: Etc directory for wxGUI renamed to 'wxpython'
+
+2008-02-11 10:51  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/gis_set.py,
+	  gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/grassenv.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/wxgrass,
+	  gui/wxpython/wxgui.py: wxGUI: etc directory renamed from 'wx' to
+	  'wxpython'. Use path variable from globalvar module.
+
+2008-02-11 09:34  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: digitization tool fails
+	  on missing driver in 'user-friendly way'
+
+2008-02-10 22:23  martinl
+
+	* gui/tcltk/gis.m/description.html: gis.m: manual page fixed link
+	  to wxGUI
+
+2008-02-10 22:03  martinl
+
+	* gui/wxpython/README, gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/icons/icon.py: wxGUI: Preferences dialog improved,
+	  settings can be stored to the file.
+
+2008-02-10 20:21  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: do not close dialog
+	  on Run by default
+
+2008-02-10 19:21  neteler
+
+	* vector/v.generalize/smoothing.c: another use of GRASS_EPSILON
+
+2008-02-10 19:11  cmbarton
+
+	* gui/wxpython/gui_modules/menuform.py: Made map entry control
+	  wider so that multiple maps easier to see.
+
+2008-02-10 19:03  cmbarton
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: Martin's patch to improve
+	  multiple GIS element selection. Note: seems to work now with
+	  '@mapset'.
+
+2008-02-10 17:33  neteler
+
+	* vector/v.generalize/smoothing.c: use GRASS_EPSILON
+
+2008-02-10 16:47  neteler
+
+	* visualization/nviz/src/README: don't exaggerate with copyright
+
+2008-02-10 16:34  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI/manual: describe map display
+	  toolbar. New section 'Configuration' added to the manual
+
+2008-02-10 15:52  neteler
+
+	* vector/v.generalize/smoothing.c: use GRASS_EPSILON; no exit()
+	  needed after G_fatal_error
+
+2008-02-10 15:09  martinl
+
+	* gui/wxpython/icons/icon.py, gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/bin_closed.png, gui/wxpython/wxgui.py:
+	  wxGUI: icon cleaning (do not use ArtProvider icons)
+
+2008-02-10 14:58  martinl
+
+	* gui/wxpython/docs/Makefile,
+	  gui/wxpython/docs/wxGUI.Attribute_Table_Manager.html,
+	  gui/wxpython/docs/wxGUI.html: wxGUI/manual: Empty manual page for
+	  Attribute Table Manager added
+
+2008-02-10 14:48  martinl
+
+	* gui/wxpython/docs/wxGUI.html: wxGUI/manual: describe Layer
+	  Manager toolbar
+
+2008-02-10 08:56  hamish
+
+	* vector/v.generalize/smoothing.c: fix for bug #36: patch from
+	  Daniel Bundala (bundala gmail com)
+
+2008-02-10 07:57  cmbarton
+
+	* gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/menuform.py: Modified gselect and
+	  menuform to allow for multiple map or other GIS element entry
+	  when 'multiple = yes' in interface-description. Note: maintaining
+	  '@mapset' is crashing wxPython. This may be in g.parser, as it
+	  doesn't seem to be in menuform.
+
+2008-02-10 05:05  cmbarton
+
+	* gui/tcltk/gis.m/group.tcl: Previous fix did not cover case of a
+	  single VECTOR background map. This does.
+
+2008-02-10 03:30  hamish
+
+	* scripts/r.in.srtm/r.in.srtm: remove 'file' test, replace with
+	  'unzip -t'. Bug #39
+
+2008-02-10 01:14  cmbarton
+
+	* visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_main.tcl: Committing patches
+	  from Maris Nartiss. Improve 3dview loading and optimizing code
+	  for setting view mode.
+
+2008-02-10 01:12  cmbarton
+
+	* gui/tcltk/gis.m/group.tcl: Getting rid of debug text
+
+2008-02-09 23:15  martinl
+
+	* gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI.layer_manager.png,
+	  gui/wxpython/docs/wxGUI.map_display.png,
+	  gui/wxpython/docs/wxGUI_layer_manager.jpg,
+	  gui/wxpython/docs/wxGUI_map_display.jpg: wxGUI/manual: images
+	  changed (jpg used instead of png format, file size reduced)
+
+2008-02-09 22:10  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: fix manual page
+	  links in the menu
+
+2008-02-09 22:03  martinl
+
+	* gui/wxpython/Makefile: Minor cleaning in Makefile (PGM variable
+	  unused)
+
+2008-02-09 21:58  martinl
+
+	* gui/wxpython/Makefile: Build also manual pages for wxGUI
+
+2008-02-09 21:44  martinl
+
+	* tools/build_html_index.sh: Note wxGUI manual page in Help/Full
+	  index
+
+2008-02-09 21:39  cmbarton
+
+	* gui/tcltk/gis.m/group.tcl: Improvement to routine to
+	  automatically use displayed maps as background for digitizing
+
+2008-02-09 21:23  martinl
+
+	* gui/wxpython/docs/wxGUI.map_display.png: image size changed
+
+2008-02-09 21:09  martinl
+
+	* gui/wxpython/docs, gui/wxpython/docs/Makefile,
+	  gui/wxpython/docs/wxGUI.Digitization_Tool.html,
+	  gui/wxpython/docs/wxGUI.html,
+	  gui/wxpython/docs/wxGUI.layer_manager.png,
+	  gui/wxpython/docs/wxGUI.map_display.png: Initial version of
+	  manual pages for wxGUI added
+
+2008-02-09 18:26  cmbarton
+
+	* visualization/nviz/scripts/flythrough.tcl,
+	  visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_main.tcl: Further fix of
+	  fly-though and application of Maris Nartiss' patch
+
+2008-02-09 17:59  cmbarton
+
+	* visualization/nviz/scripts/panel_main.tcl: Fixed bug that crashed
+	  NVIZ when switching between view modes.
+
+2008-02-09 16:39  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py: Comment out wizard image
+	  section
+
+2008-02-09 10:41  neteler
+
+	* lib/gis/mapset.c: use GMAPSET_MAX; direct use of G_fatal_error()
+
+2008-02-09 08:56  neteler
+
+	* general/g.mapsets/get_path.c, general/g.mapsets/set_path.c:
+	  longer buffers
+
+2008-02-09 08:54  neteler
+
+	* general/g.mapsets/externs.h, general/g.mapsets/main_cmd.c: use
+	  GMAPSET_MAX, GPATH_MAX
+
+2008-02-08 23:56  kyngchaos
+
+	* macosx/ReadMe.rtf: Refinements to tcltk build instructions
+
+2008-02-08 23:32  hamish
+
+	* scripts/v.db.renamecol/v.db.renamecol: 'echo -n' is not portable
+
+2008-02-08 21:20  martinl
+
+	* gui/wxpython/gui_modules/digit.py, gui/wxpython/vdigit/line.cpp:
+	  wxGUI: Change geometry type of selected features implemented also
+	  in vedit component. For vdigit is used veditlib fn.
+
+2008-02-08 21:08  martinl
+
+	* vector/v.edit/lib/chtype.c: doxygen string fixed (cosmetics)
+
+2008-02-08 21:07  martinl
+
+	* vector/v.edit/lib/chtype.c: v.edit: missing file added
+
+2008-02-08 21:04  martinl
+
+	* vector/v.edit/cmd/args.c, vector/v.edit/cmd/description.html,
+	  vector/v.edit/cmd/global.h, vector/v.edit/cmd/main.c,
+	  vector/v.edit/cmd/proto.h, vector/v.edit/cmd/select.c,
+	  vector/v.edit/lib/break.c, vector/v.edit/lib/cats.c,
+	  vector/v.edit/lib/copy.c, vector/v.edit/lib/delete.c,
+	  vector/v.edit/lib/distance.c, vector/v.edit/lib/flip.c,
+	  vector/v.edit/lib/merge.c, vector/v.edit/lib/move.c,
+	  vector/v.edit/lib/snap.c, vector/v.edit/lib/vedit.h,
+	  vector/v.edit/lib/vertex.c, vector/v.edit/lib/zbulk.c: v.edit:
+	  Tool for changing feature type added (points<->centroids,
+	  lines<->boundaries).
+	  Doxygen fixes in lib.
+	  Selecting features by id fixed (type is not ignored).
+
+2008-02-08 20:35  neteler
+
+	* scripts/v.db.renamecol/v.db.renamecol: col length calc. polished
+
+2008-02-08 17:57  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/vdigit/digit.h, gui/wxpython/vdigit/digit.i,
+	  gui/wxpython/vdigit/grass6_wxvdigit_wrap.cpp,
+	  gui/wxpython/vdigit/line.cpp: wxGUI/vdigit: new feature
+	  implemented (change type of selected features, point<->centroid,
+	  line<->boundary). Currently only in vdigit component.
+
+2008-02-08 16:35  martinl
+
+	* gui/wxpython/icons/icon.py: Re-add accidentally removed lines
+	  (r30011)
+
+2008-02-08 16:31  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: Import module 'location_wizard'
+	  only if needed. Importing module outside of the function causes
+	  crashing start-up screen.
+
+2008-02-08 08:45  neteler
+
+	* raster/r.support/front/front.c: +keyword
+
+2008-02-08 06:42  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py: Added RMS and point error
+	  calculation and display. Improved error checking and convenience
+	  features.
+
+2008-02-08 06:41  cmbarton
+
+	* gui/wxpython/icons/icon.py: Update georectify icon help text
+
+2008-02-08 03:06  kyngchaos
+
+	* macosx/ReadMe.rtf: add info about optimization
+
+2008-02-07 23:21  hamish
+
+	* general/g.mapset/main.c: use DEFAULT_BG_COLOR
+
+2008-02-07 21:14  neteler
+
+	* scripts/v.db.renamecol/v.db.renamecol: fail if DBF driver and too
+	  long target column name
+
+2008-02-07 20:25  neteler
+
+	* contributors.csv: +Ivan Shmakov
+
+2008-02-07 19:40  martinl
+
+	* scripts/v.dissolve/description.html: v.dissolve: manual page
+	  cleaning
+
+2008-02-07 18:12  martinl
+
+	* gui/wxpython/vdigit/driver.i: unused file removed
+
+2008-02-07 12:39  glynn
+
+	* imagery/i.class/set_signals.c,
+	  imagery/i.ortho.photo/photo.2image/main.c: Conditionalise use of
+	  SIGTSTP, SIGQUIT
+
+2008-02-07 10:38  mlennert
+
+	* gui/tcltk/gis.m/gis.m.bat: come back to cmd.exe prompt after
+	  launching gis.m
+
+2008-02-07 10:32  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: load digit instance
+	  for settings dialog when no instance is loaded
+
+2008-02-07 10:26  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py: wxGUI: cosmetics in digit
+	  toolbar
+
+2008-02-07 10:22  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: add some new examples
+	  how to use gcmd module
+
+2008-02-07 10:08  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: Fix recursive import of
+	  gcmd module
+
+2008-02-07 07:47  martinl
+
+	* gui/wxpython/gui_modules/preferences.py: wxGUI/digit: Switch to
+	  vdigit interface as default one.
+
+2008-02-07 06:33  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py: A little more information
+	  output when vectors being georectified.
+
+2008-02-07 05:28  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/menudata.py: Georectifier now works for
+	  wxgui. Still need to implement RMS error calculation.
+
+2008-02-07 05:05  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb: support for FP input maps
+	  (from i.fusion.brovey). thanks to Martin Landa for the bulk of
+	  the patch
+
+2008-02-07 00:18  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py: Can now read and save a
+	  points file. Editor for GPCs. Automatic setting of target.
+
+2008-02-06 22:12  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: re-add initialization
+	  of digit tool
+
+2008-02-06 22:04  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/vdigit/line.cpp: wxGUI: load digit instance
+	  dynamically, the interface (vedit/vdigit) can be changed in
+	  preferences dialog.
+	  Minor fix in vdigit component.
+
+2008-02-06 21:43  neteler
+
+	* rfc/psc_motions.dox: SVN write access to Ivan Shmakov granted
+
+2008-02-06 18:05  epatton
+
+	* scripts/r.mask/description.html: Added caveat about mask creation
+	  via r.reclass from Glynn; other minor clarity improvements
+
+2008-02-06 16:56  martinl
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/preferences.py, gui/wxpython/wxgui.py:
+	  wxGUI: do not use event.Skip() for wx.EVT_MENU (causes problems
+	  on Mac). Minor improvements in Preferences dialog.
+
+2008-02-06 15:26  martinl
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/defaultfont.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/preferences.py,
+	  gui/wxpython/gui_modules/profile.py, gui/wxpython/wxgui.py:
+	  wxGUI: New dialog 'GUI Preferences' add. Setting default display
+	  font moved to the preferences dialog.
+	  Module defaultfont.py renamed to preferences.py.
+	  TODO: add more items to the dialog.
+	  TODO: to save settings.
+
+2008-02-06 15:19  martinl
+
+	* gui/wxpython/vdigit/line.cpp: wxGUI/vdigit: minor fixes in vdigit
+	  interface (category management)
+
+2008-02-06 13:08  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: fix error when digitizing
+	  new feature (submit attribute data), #30
+
+2008-02-06 10:20  martinl
+
+	* gui/wxpython/vdigit/vertex.cpp, gui/wxpython/wxgui.py: wxGUI: fix
+	  broken menu
+
+2008-02-06 08:52  neteler
+
+	* lib/gis/find_cell.c, lib/gis/gislib.dox,
+	  lib/gis/gisrasterlib.dox: docs fixes
+
+2008-02-06 08:43  neteler
+
+	* rfc/psc_motions.dox: Migration motion added
+
+2008-02-06 08:36  neteler
+
+	* rfc/psc_motions.dox: Eric Patton write access
+
+2008-02-06 08:34  neteler
+
+	* README: mention PSC
+
+2008-02-06 08:32  neteler
+
+	* README: explain how to get write access here
+
+2008-02-06 05:29  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py: GCP map and georef coord map
+	  now work properly, GCPs and georef coords automatically entered
+	  into proper place in GCP manager. Map displays update correctly.
+	  Other small fixes. Pretty much have all the infrastructure done
+	  at last.
+
+2008-02-06 05:27  cmbarton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fixed bug where command
+	  without arguments entered in console did nothing or raised an
+	  error. Now it launches the GUI dialog.
+
+2008-02-06 05:26  cmbarton
+
+	* gui/wxpython/wxgui.py: Fixed broken menu command operation. Need
+	  to look at commented section in GetMenuCmd method and see what
+	  needs to be done to make this work.
+
+2008-02-06 02:43  hamish
+
+	* scripts/i.fusion.brovey/i.fusion.brovey: quoting fixes
+
+2008-02-05 23:42  martinl
+
+	* gui/wxpython/gui_modules/digit.py, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/grass6_wxvdigit_wrap.cpp,
+	  gui/wxpython/vdigit/line.cpp, gui/wxpython/vdigit/vertex.cpp:
+	  wxGUI/vdigit: fixed support for snapping to background map
+	  objects in vdigit interface.
+
+2008-02-05 21:39  martinl
+
+	* lib/gis/nme_in_mps.c: Use GNAME_MAX, GMAPSET_MAX macros.
+	  Doxygen strings updated.
+
+2008-02-05 20:42  martinl
+
+	* vector/v.edit/lib/move.c, vector/v.edit/lib/vertex.c: v.edit: fix
+	  typo in variable
+
+2008-02-05 20:35  martinl
+
+	* vector/v.edit/cmd/main.c, vector/v.edit/lib/move.c,
+	  vector/v.edit/lib/vedit.h: v.edit: support snapping to background
+	  vector objects (node, vertex) also when object from edited vector
+	  map is moved
+
+2008-02-05 18:41  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: fix minor bug in
+	  settings dialog
+
+2008-02-05 15:54  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: Fix bug in menu (calling module
+	  with argumentes)
+
+2008-02-05 15:14  martinl
+
+	* include/Make/Platform.make.in: Redundant wxPython variables
+	  removed
+
+2008-02-05 12:10  martinl
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/arrow_out.png,
+	  gui/wxpython/icons/silk/arrow_undo.png,
+	  gui/wxpython/icons/silk/mouse.png: wxGUI: Undo icon added to the
+	  digitization toolbar, function is not implemented yet (TODO)
+
+2008-02-05 06:45  hamish
+
+	* raster/r.le/r.le.setup/ask_group.c: fix segfault due to unset
+	  pointer
+
+2008-02-05 04:34  hamish
+
+	* vector/v.patch/description.html: add appending example
+
+2008-02-04 22:21  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: wxGUI/vdigit: the toolbar
+	  modified, number of rows changed from two to one. It's OK for
+	  Silk icon theme (small icons). The number of toolbar rows can be
+	  easily changed: DigitToolbar.numOfRows=1|2.
+
+2008-02-04 21:12  martinl
+
+	* gui/wxpython/gui_modules/digit.py, gui/wxpython/vdigit:
+	  wxGUI/vdigit: (cosmetics) print message about vedit only if
+	  needed. SVN properties updated.
+
+2008-02-04 21:00  martinl
+
+	* gui/wxpython/vdigit/grass6_wxvdigit_wrap.cpp,
+	  gui/wxpython/vdigit/select.cpp: wxGUI/vdigit: New methods for
+	  selecting features added. Also cpp file generated by SWIG added
+	  (to simplify compilation process).
+
+2008-02-04 20:56  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/vdigit/cats.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/digit.i: wxGUI/vdigit: C++ vdigit interface
+	  upgraded (display cats, attributes).
+	  Some fixes in vedit interface.
+
+2008-02-04 08:19  hamish
+
+	* display/d.grid/fiducial.c, include/display.h,
+	  lib/display/tran_colr.c: add D_color_number_to_RGB(), enable
+	  color change for d.grid -f,-c
+
+2008-02-04 06:45  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Georectifier updates. Mouse
+	  clicks will now fill in appropriate fields in GCP manager list
+	  control.
+
+2008-02-04 06:44  cmbarton
+
+	* gui/wxpython/icons/icon.py: Updated icons for georectifier
+
+2008-02-04 03:43  hamish
+
+	* vector/v.out.ogr/main.c: do not use Output as a guisection tab:
+	  the name is reserved for module output
+
+2008-02-03 22:23  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/vdigit/cats.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/line.cpp:
+	  wxGUI/vdigit: Various improvements/fixes in vdigit/vedit
+	  interface.
+	  Settings dialog improved.
+
+2008-02-03 20:22  martinl
+
+	* lib/vector/Vlib/break_lines.c: Simplify calling
+	  Vect_break_lines_list().
+	  I18n support added.
+
+2008-02-03 10:13  martinl
+
+	* gui/wxpython/gui_modules/digit.py: wxGUI: don't crash when
+	  digitization tool disabled
+
+2008-02-03 07:45  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py: georectify (GCP) window and
+	  regular (map display) window now get GCPs marked with black
+	  crosses. Both also can access method in georect.
+
+2008-02-03 07:41  cmbarton
+
+	* gui/wxpython/wxgui.py: Defined georectifier instance so that
+	  child modules could use georect methods.
+
+2008-02-02 21:30  martinl
+
+	* scripts/r.blend/description.html, scripts/r.blend/r.blend:
+	  r.blend: Cosmetics in module description and manual page
+
+2008-02-02 21:21  martinl
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/vdigit/dig_types.i, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver.h: wx/vdigit: Fix selecting features
+	  by point/box.
+	  Selecting features can be filter out by type (point, line,
+	  centroid, boundary), see settings dialog (query tool tab).
+
+2008-02-02 18:49  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/vdigit/cats.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/driver.cpp, gui/wxpython/vdigit/line.cpp,
+	  gui/wxpython/vdigit/vertex.cpp, gui/wxpython/wxgui.py: wxGUI:
+	  Various improvements in vdigit and v.edit interface.
+	  Drop also attribute record when deleting vector objects
+	  (optional).
+	  Select vector objects by click/box.
+	  Fix moving vector objects, #29.
+	  Various minor improvements.
+
+2008-02-02 18:33  martinl
+
+	* gui/wxpython/vdigit/Makefile.in: wx/vdigit: Makefile updated
+	  based on Glynn's notes
+	  http://www.nabble.com/Re%3A-new-digitization-tool-compilation-p15225107.html
+
+2008-02-02 17:23  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxDialog: 'close on run'
+	  checkbox added. Layout cosmetics. Docs string doxygenized.
+
+2008-02-02 17:18  martinl
+
+	* vector/v.category/description.html: typo
+
+2008-02-02 17:09  martinl
+
+	* vector/v.edit/cmd/args.c, vector/v.edit/cmd/description.html:
+	  v.edit: manual page updated
+
+2008-02-02 16:49  martinl
+
+	* vector/v.category/description.html, vector/v.category/main.c:
+	  v.category: Added 'id' parameter to allow non-global operations,
+	  e.g. to print categories for given feature id.
+	  Minor code cleaning (Vect_option_to_types, etc.)
+
+2008-02-02 13:33  martinl
+
+	* vector/v.extract/description.html: v.extract: manual page updated
+
+2008-02-02 12:26  glynn
+
+	* lib/init/grass-xterm-wrapper: Revert bogus Terminal.app changes
+	  Add missing quotes around variable substitutions
+
+2008-02-01 13:40  neteler
+
+	* general/g.parser/description.html: fixed missing --tcltk,
+	  --interface-description, --html-description
+
+2008-02-01 11:18  glynn
+
+	* display/drivers/cairo/description.html: Update cairo driver
+	  documentation to reflect recent configure changes
+
+2008-02-01 07:17  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Now we can set GCPs and
+	  extract coordinates from the xy map window and the previously
+	  rectified window from the working mapset.
+
+2008-02-01 07:16  cmbarton
+
+	* gui/wxpython/wxgui.py: Add georectifying variable to tell if we
+	  are georectifying or not.
+
+2008-02-01 05:16  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Georectifier will now switch
+	  easily in and out of xy location. GCPs can be placed on xy map
+	  display. Code cleaned up.
+
+2008-02-01 03:25  epatton
+
+	* raster/r.compress/description.html: Updated old terminology and
+	  module descriptions; standardized section headings
+
+2008-02-01 02:42  epatton
+
+	* ps/ps.map/description.html: Fix vlines type description to
+	  line/boundary (fixes http://trac.osgeo.org/grass/ticket/34)
+
+2008-01-31 11:00  neteler
+
+	* visualization/nviz/src/README, visualization/nviz/src/tkInt.h,
+	  visualization/nviz/src/tkInt4.0.h,
+	  visualization/nviz/src/tkInt4.1.h,
+	  visualization/nviz/src/tkInt4.2.h,
+	  visualization/nviz/src/tkInt8.0.2.h,
+	  visualization/nviz/src/tkInt8.0.h,
+	  visualization/nviz/src/tkInt8.1.1.h,
+	  visualization/nviz/src/tkInt8.2.3.h,
+	  visualization/nviz/src/tkInt8.3.3.h,
+	  visualization/nviz/src/tkInt8.3.h,
+	  visualization/nviz/src/tkInt8.4.9.h,
+	  visualization/nviz/src/tkInt8.4.h,
+	  visualization/nviz/src/tkIntDecls8.1.1.h,
+	  visualization/nviz/src/tkIntDecls8.2.3.h,
+	  visualization/nviz/src/tkIntDecls8.3.3.h,
+	  visualization/nviz/src/tkIntDecls8.3.h,
+	  visualization/nviz/src/tkIntDecls8.4.9.h,
+	  visualization/nviz/src/tkIntDecls8.4.h,
+	  visualization/nviz/src/tkWinInt.h, visualization/nviz/src/togl.c:
+	  removed unused header files
+
+2008-01-31 10:40  glynn
+
+	* general/g.region/cmd/main.c: Remove local prototype for
+	  G_align_window()
+
+2008-01-31 10:34  glynn
+
+	* configure, configure.in, display/drivers/cairo/Makefile,
+	  include/Make/Platform.make.in, lib/cairodriver/Makefile: Update
+	  FFMPEG checks in configure[.in]
+	  Add Cairo checks to configure[.in] and Platform.make.in
+	  Change cairo Makefiles to use information from Platform.make
+
+2008-01-31 08:55  neteler
+
+	* lib/vector/vectorlib.dox: vector objects added
+
+2008-01-31 08:37  neteler
+
+	* general/g.mkfontcap/description.html: explanations from Glynn
+	  added
+
+2008-01-31 06:47  cmbarton
+
+	* gui/wxpython/gui_modules/georect.py: Can switch between xy and
+	  original location now using, temporary GISRC file.
+
+2008-01-31 02:44  hamish
+
+	* raster/r.in.xyz/main.c: guisection: don't use "Output" as a tab
+	  name, it's reserved.
+
+2008-01-30 22:49  hamish
+
+	* raster/r.univar2/r.univar_main.c,
+	  raster/r.univar2/r3.univar_main.c, raster/r.univar2/stats.c:
+	  don't skip 1st quartile, median, 3rd quartile if the user
+	  requested them explicitly
+
+2008-01-30 22:36  hamish
+
+	* display/d.paint.labels/color.c: doxygen comments
+
+2008-01-30 21:21  hamish
+
+	* lib/driver/font2.c: give a hint as to a probable solution
+
+2008-01-29 10:50  martinl
+
+	* raster/r.univar2/r3.univar_main.c: Fix bug from the last change
+	  (r3.univar)
+
+2008-01-28 22:05  hamish
+
+	* lib/init/grass.bat: double 'set' typo
+
+2008-01-28 13:56  neteler
+
+	* vector/v.hull/README, vector/v.hull/chull.c,
+	  vector/v.hull/chull.h, vector/v.hull/globals.h,
+	  vector/v.hull/macros.h: Benjamin Ducke: <benjamin.ducke
+	  ufg.uni-kiel.de> 3D hull support added using chull.c from Joseph
+	  O'Rourke, 1998
+
+2008-01-28 13:44  hamish
+
+	* display/d.grid/local_proto.h, display/d.grid/main.c,
+	  display/d.grid/plot.c: second pass at adding support for cross
+	  marks instead of grid lines
+
+2008-01-28 13:40  neteler
+
+	* vector/v.hull/description.html, vector/v.hull/main.c: Benjamin
+	  Ducke: <benjamin.ducke ufg.uni-kiel.de> 3D hull support added
+
+2008-01-28 12:53  hamish
+
+	* display/d.grid/Makefile, display/d.grid/fiducial.c,
+	  display/d.grid/local_proto.h, display/d.grid/main.c: first pass
+	  at adding support for cross marks instead of grid lines
+
+2008-01-28 08:24  neteler
+
+	* scripts/r.regression.line/description.html,
+	  scripts/r.regression.line/r.regression.line: cosmetics
+
+2008-01-28 06:47  hamish
+
+	* general/g.region/cmd/description.html: remove old GRASS 5
+	  interactive menu help text
+
+2008-01-28 06:46  hamish
+
+	* lib/edit/edit_cellhd.c: move help info here for safe keeping
+
+2008-01-28 05:00  hamish
+
+	* general/g.region/cmd/description.html: remove old redundant
+	  cruft, merge still useful info,
+	  comment out interactive menu help.
+
+2008-01-28 04:56  hamish
+
+	* general/g.region/cmd/main.c: yet more zoom= and align= option
+	  descr clarification
+
+2008-01-28 04:50  hamish
+
+	* general/g.region/cmd/main.c: more descr cleanups
+
+2008-01-28 03:33  hamish
+
+	* general/g.region/cmd/description.html: modernization
+
+2008-01-28 02:45  hamish
+
+	* general/g.region/cmd/main.c: more correct descr for zoom=
+
+2008-01-28 02:20  hamish
+
+	* general/g.region/cmd/main.c: better descr for zoom option
+
+2008-01-27 21:32  neteler
+
+	* scripts/r.regression.line/description.html,
+	  scripts/r.regression.line/r.regression.line: Slower but accurate
+	  calculation option
+
+2008-01-27 18:03  kyngchaos
+
+	* macosx/app/Info.plist.in, macosx/app/Makefile: add build version
+	  as date stamp to info.plist
+
+2008-01-27 15:55  neteler
+
+	* display/d.histogram/bar.c: fix for 0-1.0 range
+
+2008-01-27 14:52  neteler
+
+	* lib/grasslib.dox: title fix; mention OSGeo
+
+2008-01-27 14:49  neteler
+
+	* lib/init/grass6.html: GRASS 6 Programmer's Manual URL added
+
+2008-01-27 14:04  neteler
+
+	* raster/simwe/r.sim.sediment/description.html,
+	  raster/simwe/r.sim.water/description.html: URL update
+
+2008-01-27 13:05  neteler
+
+	* tools/build_html_index.sh: URL update
+
+2008-01-27 11:42  neteler
+
+	* lib/gis/error.c: Ivan Shmakov <ivan theory asu.ru>: fix warning
+
+2008-01-27 10:17  neteler
+
+	* scripts/r.plane/r.plane: mesg bugfix
+
+2008-01-27 09:52  neteler
+
+	* lib/gis/error.c: Ivan Shmakov <ivan theory asu.ru>: code
+	  polishing
+
+2008-01-27 08:24  hamish
+
+	* general/g.region/cmd/description.html: a few fixes, eg explain
+	  zoom=. this page is still in very bad shape.
+
+2008-01-27 06:25  cmbarton
+
+	* scripts/d.vect.thematic/d.vect.thematic: A couple of code
+	  housekeeping cleanups, left over from testing. They don't seem to
+	  make any different to functionality, but potentially could under
+	  some circumstances.
+
+2008-01-27 02:33  hamish
+
+	* lib/symbol/symbol/extra/fiducial: new symbol: fiducial mark
+
+2008-01-26 20:56  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI/dialog: for
+	  parameters of type 'integer' use SpinCtrl. If multiple is 'yes'
+	  use TextCtrl instead.
+
+2008-01-26 20:12  martinl
+
+	* raster/r.univar2/globals.h, raster/r.univar2/r.univar_main.c,
+	  raster/r.univar2/r3.univar_main.c, raster/r.univar2/stats.c:
+	  r/r3.univar: support for multiple 'percentile' arguments added,
+	  #19
+
+2008-01-26 18:14  cmbarton
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: setting computational region
+	  extents now maintains current resolution (whatever it is)
+	  accurately.
+
+2008-01-26 17:05  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: zoom in/out also with
+	  a simple click with the mouse, #24. Zooming is activated by
+	  dragging a box with the mouse on the map, simple click or
+	  scrolling mouse wheel.
+
+2008-01-26 16:13  cmbarton
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl:
+	  Changed zoom menu descriptions a little to be more consistent
+	  with current terminology ("computational region") and more
+	  clearly indicate what they do.
+	  
+	  Changed "set computational region to match display" option to
+	  only change extents rather than change resolution too. Resolution
+	  should be set from g.region. This is the way the display zoom
+	  works with other settings. Caveat: changing extents always
+	  changes resolution a tiny bit (some rounding error or the like)
+	  due to the way that g.region works.
+
+2008-01-26 06:42  kyngchaos
+
+	* macosx/Makefile: bindist leopard - remove TokenDefinitions.plist
+	  so updates don't search for GRASS.app
+
+2008-01-25 23:55  hamish
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive: fix output info mistake
+	  that was broken during g.message update (Changeset 23193)
+
+2008-01-25 21:54  neteler
+
+	* display/d.info/description.html, display/d.info/main.c: also
+	  output resolution
+
+2008-01-25 21:36  neteler
+
+	* display/d.info/main.c: -g flag for monitor coordinates output
+
+2008-01-25 18:09  cmbarton
+
+	* scripts/d.vect.thematic/d.vect.thematic: Fix to make thematic
+	  mapping work in the GIS Manager GUI under Windows
+
+2008-01-25 17:31  epatton
+
+	* raster/r.cats/description.html: Corrected typo
+
+2008-01-25 16:42  martinl
+
+	* gui/wxpython/icons/icon.py: wxGUI: Change label for some tools,
+	  #25
+
+2008-01-25 16:40  epatton
+
+	* raster/r.colors/description.html: Updated color rule list and
+	  descriptions
+
+2008-01-25 13:15  neteler
+
+	* display/d.histogram/bar.c: get FP output for x-axis in case of
+	  0..1.0 range
+
+2008-01-25 13:06  neteler
+
+	* display/d.histogram/bar.c: hack to get readable x-axis ticks.
+	  Still failing for FP maps with range 0..1.0
+
+2008-01-25 10:33  neteler
+
+	* scripts/d.correlate/description.html: link to r.regression.line
+
+2008-01-25 10:33  neteler
+
+	* scripts/r.regression.line/r.regression.line: don't fail on empty
+	  map(s)
+
+2008-01-25 10:32  neteler
+
+	* lib/init/license.txt: GPL >=2 as stated elsewhere
+
+2008-01-25 00:26  hamish
+
+	* display/d.menu/description.html: html bug
+
+2008-01-24 20:00  epatton
+
+	* raster/r.cats/description.html: Minor formatting edits to manpage
+
+2008-01-24 19:25  epatton
+
+	* raster/r.basins.fill/description.html: Minor formatting edit to
+	  manpage
+
+2008-01-24 19:11  cdavilam
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/sindex.c: Message
+	  standardization reverted (was wrong)
+
+2008-01-24 18:57  cdavilam
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_th.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_am.po, locale/po/grasstcl_ar.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_el.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_fr.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_ko.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasstcl_pt.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_sl.po,
+	  locale/po/grasstcl_th.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: Po files
+	  updated with current code
+
+2008-01-23 19:10  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: Use local image for SplashScreen
+
+2008-01-23 19:09  martinl
+
+	* gui/wxpython/images/intro.png, gui/wxpython/images/intro.xcf:
+	  wxGUI: Image used for SplashScreen added (xcf, png)
+
+2008-01-23 18:53  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/Attribute Table Manager:
+	  fix add column for multi-layer vector maps.
+	  Fix error dialogs.
+	  Header doxygenized.
+
+2008-01-23 16:10  martinl
+
+	* locale/po/grasstcl_cs.po: Czech translation tcl updated (thanks
+	  to Jan Trochta <j.trochta seznam.cz>)
+
+2008-01-23 14:21  epatton
+
+	* scripts/r.mask/description.html: Added hint about MASK quant from
+	  Glynn
+
+2008-01-23 10:35  neteler
+
+	* vector/v.edit/Makefile: serialized for make -jX
+
+2008-01-23 10:12  martinl
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po: Czech
+	  translation updated libs/mods (thanks to Jan Trochta <j.trochta
+	  seznam.cz>)
+
+2008-01-23 09:27  neteler
+
+	* translators.csv: Czech translation updated by Jan
+
+2008-01-23 04:25  hamish
+
+	* raster/rasterintro.html: hint about MASK quant from Glynn
+
+2008-01-22 22:54  martinl
+
+	* locale/Makefile: Cosmetics: CVS -> SVN
+
+2008-01-22 14:19  epatton
+
+	* raster/r.circle/description.html: Corrected small typo
+
+2008-01-22 13:01  neteler
+
+	* tools/mkhtml.sh, tools/module_synopsis.sh: URL + HTML fix
+
+2008-01-22 08:09  neteler
+
+	* db/databaseintro.html: documentation boost
+
+2008-01-21 23:27  hamish
+
+	* raster/r.circle/dist.c: better mult descr
+
+2008-01-21 23:25  hamish
+
+	* raster/r.circle/description.html: explain -b flag a little more
+
+2008-01-21 19:26  epatton
+
+	* raster/r.circle/description.html: Added description of 'mult'
+	  parameter
+
+2008-01-21 18:29  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/vdigit/Makefile.in, gui/wxpython/vdigit/dig_types.i,
+	  gui/wxpython/vdigit/digit.h, gui/wxpython/vdigit/line.cpp: wxGUI:
+	  vdigit interface improved (vedit is still default). Basic
+	  exceptions defined (vdigit, gcmd).
+
+2008-01-21 18:20  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: do not use fixed font-size
+
+2008-01-21 18:18  martinl
+
+	* vector/v.edit/cmd/select.c, vector/v.edit/lib/select.c,
+	  vector/v.edit/lib/vedit.h: veditlib: select_by_query() moved from
+	  cmd to lib, used by wxGUI/vdigit
+
+2008-01-21 17:07  martinl
+
+	* imagery/i.atcorr/6s.cpp, imagery/i.atcorr/computations.cpp,
+	  raster/r.terraflow/IOStream/include/ami_stream.h: Fixing GCC 4.3
+	  issue #21
+
+2008-01-21 17:04  neteler
+
+	* rfc/psc_motions.dox: fixed RFC 1 link
+
+2008-01-21 14:56  neteler
+
+	* vector/v.lrs/v.lrs.create/main.c: added support for rsdriver and
+	  rsdatabase
+
+2008-01-21 14:53  neteler
+
+	* vector/v.lrs/v.lrs.label/main.c: added support for rsdriver and
+	  rsdatabase
+
+2008-01-21 14:50  martinl
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/main.c,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c:
+	  v.to.rast: Use standardized options, message standardization.
+
+2008-01-21 14:46  neteler
+
+	* vector/v.lrs/v.lrs.where/main.c: Bill Perkins: added support for
+	  rsdriver and rsdatabase
+
+2008-01-21 12:52  neteler
+
+	* tools/copywrite.pl: copyright header added
+
+2008-01-21 12:51  neteler
+
+	* tools/g.html2man/g.html2man, tools/mkhtml.sh, tools/sql.sh:
+	  copyright header added
+
+2008-01-21 12:43  neteler
+
+	* tools/mkftcap/mkftcap: copyright header added
+
+2008-01-21 12:33  neteler
+
+	* tools/timer/main.c: copyright header added
+
+2008-01-21 11:29  neteler
+
+	* imagery/i.smap/bouman/segment.c: copyright header fixed
+
+2008-01-21 11:27  neteler
+
+	* imagery/i.ortho.photo/menu/menu.c: copyright header fixed
+
+2008-01-21 11:26  neteler
+
+	* imagery/i.ortho.photo/README,
+	  imagery/i.ortho.photo/libes/orthoref.c: copyright header fixed
+
+2008-01-21 11:16  neteler
+
+	* raster3d/r3.showdspf/main_ogl.c: fine tuning
+
+2008-01-21 11:13  neteler
+
+	* raster3d/r3.showdspf/main_ogl.c: copyright header fixed
+
+2008-01-21 11:09  neteler
+
+	* raster/wildfire/r.spread/prob_invsqr: removed unused file
+
+2008-01-21 11:07  neteler
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/erod.c,
+	  raster/simwe/simlib/hydro.c: copyright header fixed
+
+2008-01-21 10:59  neteler
+
+	* lib/imagery/georef.c, lib/imagery/group.c, lib/imagery/ref.c:
+	  copyright header fixed
+
+2008-01-21 10:50  neteler
+
+	* lib/ogsf/trans.c: copyright header fixed: this file originates
+	  from public domain (CERL) GRASS
+
+2008-01-21 10:43  neteler
+
+	* AUTHORS: +David Gerdes
+
+2008-01-21 10:41  neteler
+
+	* lib/ogsf/gsd_fonts.c: copyright header fixed
+
+2008-01-21 10:40  neteler
+
+	* lib/linkm/init.c: copyright header fixed
+
+2008-01-21 10:36  neteler
+
+	* lib/init/license.txt: IRST taken out; updated to 2008
+
+2008-01-21 09:09  neteler
+
+	* scripts/d.font.freetype/d.font.freetype,
+	  scripts/d.text.freetype/d.text.freetype,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/i.spectral/i.spectral,
+	  scripts/v.in.mapgen/v.in.mapgen: copyright header fixed
+
+2008-01-21 08:53  neteler
+
+	* scripts/d.correlate/d.correlate: copyright header added
+
+2008-01-21 01:23  hamish
+
+	* display/d.vect/main.c: cange default render mode to 'c'
+	  http://lists.osgeo.org/pipermail/grass-dev/2008-January/034922.html
+
+2008-01-20 22:57  hamish
+
+	* display/d.graph/description.html: mention pstoedit for EPS ->
+	  d.graph automation
+
+2008-01-20 22:38  martinl
+
+	* vector/v.drape/description.html, vector/v.drape/main.c: v.drape:
+	  New option 'scale' added (scale raster values).
+	  Message standardization.
+	  Check if the current region include the entire input vector map.
+	  Check if the elevation raster cover the entire are of the vector
+	  map.
+
+2008-01-20 21:40  martinl
+
+	* lib/gis/get_cellhd.c: Doxygen strings updated for get_cellhd.c,
+	  message standardization.
+
+2008-01-20 20:26  martinl
+
+	* lib/gis/gislib.dox: Revert last change (mainpage -> page).
+
+2008-01-20 20:12  martinl
+
+	* lib/gis/get_row.c, lib/gis/gislib.dox, lib/gis/sample.c: gislib:
+	  doxygen strings updated in sample.c and get_row.c. Message
+	  standardization/i18n.
+
+2008-01-20 17:53  cdavilam
+
+	* locale/po/grasstcl_pt_br.po: Translation by Fernando Ferreira
+
+2008-01-19 18:02  martinl
+
+	* INSTALL: Install instructions updated (cvs2svn migration)
+
+2008-01-19 15:21  martinl
+
+	* rfc/RFC1_PSC.dox, rfc/RFC2_PSC.dox, rfc/RFC3_PSC.dox,
+	  rfc/psc_motions.dox, rfc/rfc_list.dox: Fix URLs (ITC->OSGeo)
+
+2008-01-18 14:56  martinl
+
+	* gui/wxpython/gui_modules/digit.py, gui/wxpython/vdigit/line.cpp:
+	  wxGUI/vdigit: fix snapping (also for background map)
+
+2008-01-18 14:45  martinl
+
+	* vector/v.edit/lib/snap.c: veditlib: Fix snapping to the objects
+	  from background map(s). Debugging messages upgraded.
+
+2008-01-18 11:07  martinl
+
+	* vector/v.edit/lib/snap.c, vector/v.edit/lib/vedit.h: veditlib:
+	  enable snapping also lines which are not written yet to the
+	  vector map (used for wxGUI)
+
+2008-01-18 06:00  cmbarton
+
+	* gui/tcltk/gis.m/tksys.tcl: Fixed bad path to gmlib.
+
+2008-01-18 01:50  hamish
+
+	* lib/gis/parser.c: whitespace, comment
+
+2008-01-17 20:54  martinl
+
+	* lib/gis/env.c, lib/gis/gisdbase.c, lib/gis/location.c: gislib:
+	  some doxygen strings updated
+
+2008-01-17 17:54  martinl
+
+	* gui/wxpython/Makefile: Disable compiling vdigit by default. Will
+	  be enabled in the future.
+
+2008-01-17 11:19  martinl
+
+	* gui/wxpython/Makefile: wxGUI: install only shared library and
+	  Python module for vdigit
+
+2008-01-17 04:48  hamish
+
+	* raster/r.neighbors/description.html: html fixes
+
+2008-01-17 01:46  hamish
+
+	* vector/v.reclass/main.c: i18n, standard opts, EXIT_FAILURE, ...
+
+2008-01-17 01:24  hamish
+
+	* scripts/v.dissolve/v.dissolve: v.reclass does actually support
+	  strings as the key column
+
+2008-01-17 01:17  hamish
+
+	* scripts/v.dissolve/v.dissolve: key type must be INTEGER
+
+2008-01-16 23:26  mlennert
+
+	* gui/tcltk/gis.m/Makefile, gui/tcltk/gis.m/gis.m.bat: create a
+	  special gis.m launch file for windows
+
+2008-01-16 22:43  mlennert
+
+	* gui/tcltk/gis.m/gm.tcl: allow for different PATH separator in
+	  windows
+
+2008-01-16 20:09  epatton
+
+	* vector/v.distance/description.html: General clarity and grammar
+	  improvements
+
+2008-01-16 18:40  cdavilam
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/Vlib/write.c: Typos and message standardization
+
+2008-01-16 18:38  cdavilam
+
+	* locale/po/grasslibs_es.po: New/modified strings from Vlib
+	  translated
+
+2008-01-16 18:34  epatton
+
+	* raster/r.covar/description.html: Standardized section headings
+
+2008-01-16 18:31  epatton
+
+	* scripts/r.plane/description.html: Corrected and expanded
+	  description text
+
+2008-01-16 16:53  cmbarton
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Allows setting mapset access from the
+	  GUI in WinGRASS. Should be backported to RC4.
+
+2008-01-16 16:45  martinl
+
+	* gui/wxpython/Makefile, gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/vdigit/cats.cpp, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver.h, gui/wxpython/vdigit/line.cpp:
+	  wxGUI: Some updates for digitization tool, to avoid calling
+	  v.edit on the background
+
+2008-01-16 13:35  martinl
+
+	* configure, configure.in: Reverting changes (adding
+	  --with-wxpython) in configuration script
+
+2008-01-16 13:14  martinl
+
+	* lib/vector/Vlib/open_nat.c, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/write_nat.c: vectlib: doxygen, i18n updated
+
+2008-01-16 04:14  hamish
+
+	* display/d.legend/main.c: G_warning() to G_message() for
+	  informational messages
+
+2008-01-14 22:25  glynn
+
+	* gui/Makefile: Don't conditionalise build
+
+2008-01-14 22:24  glynn
+
+	* lib/gis/open.c: Don't free value returned from G_find_file2(); it
+	  may not be dynamically allocated
+
+2008-01-14 22:16  martinl
+
+	* gui/wxpython/vdigit/Makefile.in, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/dig_types.i, gui/wxpython/vdigit/digit.cpp,
+	  gui/wxpython/vdigit/digit.h, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver.h, gui/wxpython/vdigit/line.cpp,
+	  gui/wxpython/vdigit/vertex.cpp: wxGUI: vdigit interface upgraded,
+	  some new functions added. Rules for Makefile rewriten.
+
+2008-01-14 15:59  martinl
+
+	* lib/vector/Vlib/box.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/write.c: Fix filenames
+	  in doxygen docs
+
+2008-01-14 15:45  martinl
+
+	* gui/wxpython/gui_modules/debug.py: wxGUI: Fix debugging
+
+2008-01-14 15:28  martinl
+
+	* vector/v.edit/lib/break.c, vector/v.edit/lib/cats.c,
+	  vector/v.edit/lib/copy.c, vector/v.edit/lib/delete.c,
+	  vector/v.edit/lib/distance.c, vector/v.edit/lib/flip.c,
+	  vector/v.edit/lib/merge.c, vector/v.edit/lib/move.c,
+	  vector/v.edit/lib/snap.c, vector/v.edit/lib/vertex.c,
+	  vector/v.edit/lib/zbulk.c: veditlib: cosmetics, message cleaning
+	  (debugging)
+
+2008-01-14 13:17  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: suppress warning about 3d for
+	  shapefile if SHPT=*Z is given. i18n updated.
+
+2008-01-13 23:12  cdavilam
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Patched to solve error causing
+	  some strings not extracted for
+	  internationalization (thanks to Maris Nartiss)
+
+2008-01-13 22:59  cdavilam
+
+	* locale/po/grasstcl_zh.po: translations by Su Yongheng
+
+2008-01-13 21:32  martinl
+
+	* gui/Makefile, include/Make/Platform.make.in: wxPython support
+	  added
+
+2008-01-13 21:24  martinl
+
+	* configure, configure.in: configure: --with-wxpython option added
+
+2008-01-13 19:29  kyngchaos
+
+	* macosx/ReadMe.rtf, macosx/app/GRASS.applescript,
+	  macosx/pkg/resources/License.rtf,
+	  macosx/pkg/resources/ReadMe.rtf: update copyright; link to
+	  osgeo.org
+
+2008-01-13 19:20  kyngchaos
+
+	* macosx/app/build_html_user_index.sh: update copyright; link to
+	  osgeo.org
+
+2008-01-13 18:52  kyngchaos
+
+	* macosx/ReadMe.rtf: add python to example; misc cleanup
+
+2008-01-13 18:24  martinl
+
+	* REQUIREMENTS.html: Add wxPython to the optional requirements
+
+2008-01-13 16:42  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/wxgui.py: wxGUI: check wxPython version (note >=
+	  2.8.1.1 is required)
+
+2008-01-13 13:49  martinl
+
+	* vector/v.edit/cmd/description.html: v.edit: removed out-dated
+	  link to 'Vector ASCII Format Specification', specification is
+	  noted in v.in.ascii manual page.
+
+2008-01-13 13:35  martinl
+
+	* vector/v.to.db/description.html, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c: v.to.db: cosmetics in module description
+	  (use standardized option, use guisection)
+
+2008-01-13 12:41  martinl
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/box.c, lib/vector/Vlib/break_polygons.c,
+	  lib/vector/Vlib/bridges.c, lib/vector/Vlib/buffer.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/clean_nodes.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/dangles.c,
+	  lib/vector/Vlib/dbcolumns.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/graph.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/hist.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/level.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/net.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/Vlib/snap.c, lib/vector/Vlib/tin.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/write.c: Do not use
+	  structural commands (like \fn) in doxygen docs. I18n updated.
+
+2008-01-13 12:05  wolf
+
+	* vector/v.to.db/areas.c, vector/v.to.db/global.h,
+	  vector/v.to.db/lines.c, vector/v.to.db/parse.c,
+	  vector/v.to.db/report.c, vector/v.to.db/update.c: Added
+	  option=sinuous
+
+2008-01-12 20:52  martinl
+
+	* vector/v.edit/cmd/main.c: v.edit: avoid segfault if no cats given
+
+2008-01-12 20:43  martinl
+
+	* tools/build_html_index.sh, tools/mkhtml.sh: Happy new year
+
+2008-01-12 20:11  martinl
+
+	* vector/v.edit/cmd/args.c: Add new guisection 'Input'
+
+2008-01-12 20:05  martinl
+
+	* vector/v.edit, vector/v.edit/cmd, vector/v.edit/lib: Re-set
+	  svn:ignore property
+
+2008-01-12 19:42  martinl
+
+	* vector/v.edit/Makefile: Add missing Makefile
+
+2008-01-12 19:38  martinl
+
+	* include/Make/Grass.make.in: Define variables for vedit library
+
+2008-01-12 19:31  martinl
+
+	* vector/v.edit/Makefile, vector/v.edit/a2b.c,
+	  vector/v.edit/args.c, vector/v.edit/break.c,
+	  vector/v.edit/cats.c, vector/v.edit/cmd,
+	  vector/v.edit/cmd/Makefile, vector/v.edit/cmd/a2b.c,
+	  vector/v.edit/cmd/args.c, vector/v.edit/cmd/description.html,
+	  vector/v.edit/cmd/global.h, vector/v.edit/cmd/main.c,
+	  vector/v.edit/cmd/max_distance.c, vector/v.edit/cmd/proto.h,
+	  vector/v.edit/cmd/select.c, vector/v.edit/cmd/snap.c,
+	  vector/v.edit/copy.c, vector/v.edit/del.c,
+	  vector/v.edit/description.html, vector/v.edit/flip.c,
+	  vector/v.edit/global.h, vector/v.edit/lib,
+	  vector/v.edit/lib/Makefile, vector/v.edit/lib/break.c,
+	  vector/v.edit/lib/cats.c, vector/v.edit/lib/copy.c,
+	  vector/v.edit/lib/delete.c, vector/v.edit/lib/distance.c,
+	  vector/v.edit/lib/flip.c, vector/v.edit/lib/merge.c,
+	  vector/v.edit/lib/move.c, vector/v.edit/lib/snap.c,
+	  vector/v.edit/lib/vedit.h, vector/v.edit/lib/vertex.c,
+	  vector/v.edit/lib/zbulk.c, vector/v.edit/main.c,
+	  vector/v.edit/max_distance.c, vector/v.edit/merge.c,
+	  vector/v.edit/move.c, vector/v.edit/proto.h,
+	  vector/v.edit/select.c, vector/v.edit/snap.c,
+	  vector/v.edit/vertex.c, vector/v.edit/zbulk.c: Code
+	  reorganization, v.edit functionality move to the library
+	  (grass_vedit).
+
+2008-01-12 18:45  martinl
+
+	* imagery/i.cluster/open_files.c, lib/gis/gisinit.c,
+	  lib/vector/Vlib/build_nat.c, raster/r.out.mpeg/main.c,
+	  vector/v.clean/prune.c, vector/v.clean/rmdac.c: Do not use \r in
+	  _() macro, suppress xgettext warnings
+
+2008-01-12 16:49  martinl
+
+	* locale/README: Readme for translators updated (cvs2svn migration)
+
+2008-01-12 06:01  cmbarton
+
+	* gui/tcltk/gis.m/tksys.tcl: added line to source gmlib.tcl so that
+	  errmsg procedure is accessible.
+
+2008-01-11 23:11  martinl
+
+	* vector/v.out.ogr/main.c: v.out.ogr: new guisections (input,
+	  output) added. GUI dialog size is fixed.
+
+2008-01-11 22:58  martinl
+
+	* vector/v.in.ogr/main.c: v.in.ogr: use more guisections, should
+	  fix #17 (gui function v.in.ogr form not consistent with other wx
+	  gui forms)
+
+2008-01-11 22:42  martinl
+
+	* raster/r.in.xyz/main.c: r.in.xyz: use guisections, should fix #16
+
+2008-01-11 22:16  martinl
+
+	* lib/gis/get_ellipse.c: Use separate static fn for
+	  G_get_ellipsoid_parameters(). This eliminates the need to
+	  remember to free proj_keys at each return.
+
+2008-01-11 20:47  martinl
+
+	* gui/wxpython/wxgui.py: wxGUI: Fix bug #17, gui function v.in.ogr
+	  form not consistent with other wx gui forms
+
+2008-01-11 20:45  neteler
+
+	* lib/gis/ask.c, lib/gis/closecell.c, lib/gis/color_read.c,
+	  lib/gis/color_write.c, lib/gis/get_ellipse.c,
+	  lib/gis/get_projinfo.c, lib/gis/get_projname.c,
+	  lib/gis/get_window.c, lib/gis/make_loc.c, lib/gis/make_mapset.c,
+	  lib/gis/myname.c, lib/gis/open.c, lib/gis/opencell.c,
+	  lib/gis/remove.c, lib/gis/rename.c: changed to use GPATH_MAX,
+	  GMAPSET_MAX, GNAME_MAX
+
+2008-01-11 20:44  epatton
+
+	* raster/r.clump/description.html: Standardized section headings,
+	  punctuation edits
+
+2008-01-11 20:43  epatton
+
+	* raster/r.volume/description.html: Standardized section headings,
+	  minor formatting edits, comments added
+
+2008-01-11 20:42  epatton
+
+	* raster/r.carve/description.html: Improved grammar/clarity;
+	  standardized section headings
+
+2008-01-11 20:41  epatton
+
+	* raster/r.coin/description.html: Standardized section headings
+
+2008-01-11 19:13  neteler
+
+	* lib/db/dbmilib.dox: revert last tag change; url fix
+
+2008-01-11 19:05  cdavilam
+
+	* display/d.linegraph/linegraph.c, display/d.mon/pgms/select.c,
+	  display/d.mon/pgms/stop.c, raster/r.in.xyz/main.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/v.net.path/path.c: Message standardization
+
+2008-01-11 18:47  cdavilam
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Updated Spanish translations
+
+2008-01-11 14:15  neteler
+
+	* scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.in.spotvgt/i.in.spotvgt: Ivan Shmakov <oneingray gmail
+	  com>: use WIND_OVERRIDE
+
+2008-01-10 18:07  epatton
+
+	* scripts/r.mask/description.html: Consolidated description;
+	  reorganized sections; new examples added
+
+2008-01-10 16:18  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py: wxGUI: redirect stderr to
+	  sys.stderr by default (used for debugging)
+
+2008-01-10 16:11  kyngchaos
+
+	* macosx/ReadMe.rtf: TclTk 64bit, and misc cleanup
+
+2008-01-10 11:28  martinl
+
+	* raster/r.out.gdal/Makefile, raster/r.out.gdal/main.c: delete
+	  wrong svn property (svn:executable)
+
+2008-01-10 10:15  martinl
+
+	* vector/v.distance/main.c: v.distance: add messages for
+	  G_percent()
+
+2008-01-10 08:48  neteler
+
+	* vector/v.distance/main.c: added percentage output
+
+2008-01-10 08:11  neteler
+
+	* lib/gis/get_ellipse.c: residual removed
+
+2008-01-10 05:24  cmbarton
+
+	* gui/tcltk/gis.m/tksys.tcl: Fixed problem with launching another
+	  instance of GIS Manager.
+
+2008-01-10 05:10  cmbarton
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmmenu.tcl,
+	  gui/tcltk/gis.m/gmtool2.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/vector.tcl: Update to use new procedures library
+
+2008-01-10 05:09  cmbarton
+
+	* gui/tcltk/gis.m/gmlib.tcl: New procedures library
+
+2008-01-09 20:07  martinl
+
+	* lib/gis/get_ellipse.c, lib/gis/key_value1.c,
+	  lib/gis/key_value2.c, lib/gis/key_value3.c, lib/gis/key_value4.c:
+	  Doxygen documentation updated
+
+2008-01-09 17:39  martinl
+
+	* lib/gis/get_ellipse.c: Fixing memory leak in
+	  G_get_ellipsoid_parameters(), ticket #14
+
+2008-01-09 15:03  mlennert
+
+	* lib/gis/rename.c: Should remove already existing file with
+	  newname, not the oldname which we want to rename
+
+2008-01-09 14:44  neteler
+
+	* doc/howto_release.txt: updated release procedure again
+
+2008-01-09 14:04  neteler
+
+	* gui/tcltk/gis.m/gm.tcl: better keep function name
+
+2008-01-09 11:39  neteler
+
+	* doc/howto_release.txt: updated release procedure
+
+2008-01-09 10:05  neteler
+
+	* rfc/RFC2_PSC.dox: Email updated; date of adoption added
+
+2008-01-09 10:04  neteler
+
+	* rfc/RFC1_PSC.dox: URL updated; date of adoption added
+
+2008-01-09 08:48  neteler
+
+	* gui/wxpython/Makefile: updated for new subdir name
+
+2008-01-09 08:10  neteler
+
+	* gui/tcltk/gis.m/animate.tcl, gui/tcltk/gis.m/barscale.tcl,
+	  gui/tcltk/gis.m/chart.tcl, gui/tcltk/gis.m/cmd.tcl,
+	  gui/tcltk/gis.m/dtext.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/gm.tcl,
+	  gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/group.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/labels.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/mapcanvas.tcl,
+	  gui/tcltk/gis.m/maplabels.tcl, gui/tcltk/gis.m/mapprint.tcl,
+	  gui/tcltk/gis.m/maptool.tcl, gui/tcltk/gis.m/profile.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.tcl,
+	  gui/tcltk/gis.m/rules.tcl, gui/tcltk/gis.m/runandoutput.tcl,
+	  gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/tksys.tcl,
+	  gui/tcltk/gis.m/vector.tcl: Gm::errmsg -> GmLib::errmsg
+
+2008-01-08 22:02  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/images/qgis_world.png: Location wizard: show sample
+	  map in region settings dialog (ticket #8). Used world map from
+	  qgis/plugins/grass.
+
+2008-01-08 21:13  martinl
+
+	* SUBMITTING: Explain doxygen style
+
+2008-01-08 12:13  martinl
+
+	* gui/wxpython/README: wxGUI: cosmetics in README (display_driver
+	  -> vdigit)
+
+2008-01-08 11:59  martinl
+
+	* gui/wxpython/vdigit/Makefile.in: Makefile for vdigit updated
+
+2008-01-08 11:58  martinl
+
+	* configure, configure.in: gui/wxpython: display_driver renamed to
+	  vdigit
+
+2008-01-08 11:48  martinl
+
+	* gui/wxpython/README, gui/wxpython/display_driver,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py, gui/wxpython/vdigit,
+	  gui/wxpython/vdigit/Makefile.in, gui/wxpython/vdigit/cats.cpp,
+	  gui/wxpython/vdigit/digit.cpp, gui/wxpython/vdigit/digit.h,
+	  gui/wxpython/vdigit/digit.i, gui/wxpython/vdigit/driver.cpp,
+	  gui/wxpython/vdigit/driver.h, gui/wxpython/vdigit/driver.i,
+	  gui/wxpython/vdigit/line.cpp: wxGUI/vdigit: display_driver
+	  renamed to vdigit. Experimental interface for digitization
+	  initialized (currently v.edit is used on background which is slow
+	  for larger vector maps).
+
+2008-01-07 18:57  epatton
+
+	* vector/v.in.ogr/main.c: Corrected type in description text
+
+2008-01-07 12:38  martinl
+
+	* gui/Makefile, gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/grass-interface.dtd,
+	  gui/wxpython/gui_modules/menuform.py, gui/xml/Makefile: Redundant
+	  grass-interface.dtd file removed from gui/wxpython/gui_modules,
+	  install gui/xml/grass-interface.dtd to $ETC.
+
+2008-01-07 12:29  neteler
+
+	* scripts/db.droptable/db.droptable: less chatty
+
+2008-01-07 12:26  neteler
+
+	* scripts/db.in.ogr/db.in.ogr: also catch file not found error
+
+2008-01-07 11:00  glynn
+
+	* display/d.legend/main.c: Remove "const" from map_name
+
+2008-01-07 09:51  neteler
+
+	* vector/v.distance/description.html: moved NOTES up; added hint on
+	  geodesic distances
+
+2008-01-07 09:47  martinl
+
+	* display/d.legend/main.c: Do not use static buffer for 'map'
+	  (reported by Ivan Shmakov).
+	  Message cleaning, use standard options.
+
+2008-01-07 09:31  neteler
+
+	* lib/gis/geodist.c: Reference/PDF added
+
+2008-01-07 08:53  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: fix stdout
+	  (command output window)
+
+2008-01-06 15:50  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI dialogs: fix tooltip
+	  (label, description), store description also for values
+
+2008-01-06 15:06  martinl
+
+	* lib/gis/parser.c: Indention fixed for 'default' tag in
+	  --interface-description
+
+2008-01-06 14:54  martinl
+
+	* vector/v.edit/args.c: v.edit: cosmetics in module description
+
+2008-01-06 11:42  martinl
+
+	* SUBMITTING, SUBMITTING_DOCS, SUBMITTING_PYTHON,
+	  SUBMITTING_SCRIPTS, SUBMITTING_TCLTK: When submitting new files
+	  to the repository set SVN properties. Id changed to Date.
+
+2008-01-06 09:35  neteler
+
+	* locale/po/grasslibs_th.po, locale/po/grassmods_th.po,
+	  locale/po/grasstcl_th.po, translators.csv: Man <mansv68
+	  yahoo.co.th>: completed TH translation
+
+2008-01-05 22:44  martinl
+
+	* scripts/db.droptable: svn:ignore property set to *.tmp.html
+
+2008-01-05 22:36  martinl
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Flags
+	  --overwrite/--verbose/--quiet included in wxPython GUI dialogs.
+	  Wrapping output messages in command log area.
+
+2008-01-05 22:33  martinl
+
+	* lib/gis/parser.c: Flags --overwrite/--verbose/--quiet added to
+	  --interface-description output (used for wxPython GUI dialogs)
+
+2008-01-05 14:20  martinl
+
+	* raster/r.in.gdal/main.c, raster/r.out.gdal/main.c: GUI section
+	  renamed from 'Main' to 'Required' to be less confusing
+
+2008-01-05 14:05  martinl
+
+	* lib/gis/parser.c: GRASS_GUI can be defined as environment
+	  variable or internal GRASS variable.
+	  Cosmetics in doxygen docs.
+
+2008-01-05 13:21  martinl
+
+	* lib/vector/Vlib/legal_vname.c: GForge/520: SQL parser error if
+	  output name is 'and', 'or' or 'not'. Check only for and/or/not.
+
+2008-01-05 12:11  martinl
+
+	* lib/gis/parser.c: GForge/436 Concurrent quiet and verbose mode:
+	  print warning when both --q and --v are given (cosmetics)
+
+2008-01-05 11:22  martinl
+
+	* vector/v.distance/description.html, vector/v.distance/main.c: Fix
+	  bug GForge/378: v.distance: bogus distances for Lat/Lon locations
+	  (v.distance in a lat/lon location gives distances in degrees,
+	  which is useless in most cases as lat and lon are not equally
+	  scaled). For LL locations is used Vect_line_geodesic_length()
+
+2008-01-05 10:59  cdavilam
+
+	* locale/po/grasstcl_pt_br.po: Translations by Fernando Ferreira
+
+2008-01-05 00:36  martinl
+
+	* vector/v.proj/main.c: v.proj: fix module verbosity
+
+2008-01-05 00:31  martinl
+
+	* lib/proj/convert.c, lib/proj/datum.c, lib/proj/do_proj.c,
+	  lib/proj/ellipse.c, lib/proj/get_proj.c, lib/proj/local_proto.h,
+	  lib/proj/projlib.dox: GProj library doxygen cleaning, message
+	  standardization
+
+2008-01-04 21:53  hcho
+
+	* display/d.text.freetype/README: Deleted an outdated file.
+
+2008-01-04 21:28  neteler
+
+	* INSTALL: changed ID to Date tag
+
+2008-01-04 20:30  martinl
+
+	* gui/wxpython/gui_modules/menudata.py: wxGUI: cosmetics in vector
+	  menu, 'create empty vector map' item added (v.edit tool=create)
+
+2008-01-04 19:19  martinl
+
+	* raster/r.in.gdal/main.c: Fixing bug GForge/449: r.in.gdal -
+	  output test for parameter location= fails
+
+2008-01-04 17:55  epatton
+
+	* vector/v.in.ogr/main.c: Corrected grammar in error message.
+
+2008-01-04 17:07  martinl
+
+	* raster/r.out.gdal/main.c: Fixing bug GForge/405: r.out.gdal sets
+	  NoData wrong
+
+2008-01-03 10:29  neteler
+
+	* lib/init/init.sh: generate VAR file if LOCATION is created via
+	  cmd line startup
+
+2008-01-03 05:36  helena
+
+	* vector/v.vol.rst/description.html: numerous fixes and cleanup of
+	  v.surf.rst leftovers
+
+2008-01-02 23:50  kyngchaos
+
+	* macosx/Makefile: left in temporary wx stuff again
+
+2008-01-02 22:22  cdavilam
+
+	* locale/po/grasstcl_pt_br.po: New translations by Fernando
+	  Ferreira
+
+2008-01-01 19:55  neteler
+
+	* include/VERSION: Happy New Year
+
+2008-01-01 14:57  martinl
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  wxGUI/Layer Manager: Show module name in statusbar (ticket #10)
+
+2007-12-31 18:54  martinl
+
+	* gui/wxpython/gui_modules/location_wizard.py: wxGUI/Location
+	  wizard: fix #4 and #5
+
+2007-12-31 18:38  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/Attribute Table Manager:
+	  fix sorting by column (data type 'double')
+
+2007-12-31 13:28  neteler
+
+	* gui/wxpython/gis_set.py: hint where to find helptext.html
+
+2007-12-31 13:22  neteler
+
+	* lib/init/grass6.html, lib/init/helptext.html,
+	  lib/init/variables.html: some wxgrass integration
+
+2007-12-31 00:21  cmbarton
+
+	* gui/wxpython/gis_set.py: Forced alphabetic sorting of location
+	  and mapset lists (case insensitive) in startup screen.
+
+2007-12-30 21:45  cmbarton
+
+	* gui/wxpython/gis_set.py: Sort mapset list so that PERMANENT is at
+	  the top.
+
+2007-12-30 11:51  neteler
+
+	* vector/v.in.db/description.html: db.in.ogr hint
+
+2007-12-30 11:50  neteler
+
+	* gui/wxpython/gui_modules/menudata.py: db.in.ogr added
+
+2007-12-30 11:50  neteler
+
+	* gui/wxpython/gui_modules/menuform.py: tabs renamed to be less
+	  confusing
+
+2007-12-30 11:49  neteler
+
+	* gui/wxpython/gis_set.py: Fonts polished; sort issue
+
+2007-12-30 11:48  neteler
+
+	* scripts/Makefile, scripts/db.dropcol/description.html,
+	  scripts/db.droptable, scripts/db.droptable/Makefile,
+	  scripts/db.droptable/db.droptable,
+	  scripts/db.droptable/description.html,
+	  scripts/v.db.addtable/description.html,
+	  scripts/v.db.dropcol/description.html,
+	  scripts/v.db.droptable/description.html: new db.droptable command
+
+2007-12-30 11:47  neteler
+
+	* scripts/db.in.ogr/db.in.ogr, scripts/db.in.ogr/description.html:
+	  new key parameter
+
+2007-12-30 11:46  neteler
+
+	* gui/wxpython/icons/icon.py: the word 'layer' conflicts with GRASS
+	  terminology
+
+2007-12-29 19:53  neteler
+
+	* gui/Makefile, gui/wxpython/Makefile: Makefile for wxgrass to
+	  install it if Python detected
+
+2007-12-29 16:42  neteler
+
+	* raster/r.out.gdal/description.html: example on Export group of
+	  image maps as multi-band file
+
+2007-12-29 11:58  martinl
+
+	* vector/v.extract/main.c: v.extract: Message cleaning (verbosity),
+	  module description fixed
+
+2007-12-28 01:13  cmbarton
+
+	* visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_pos.tcl: Fix bug in positioning
+	  panel (from coord/to coord).
+
+2007-12-27 18:38  neteler
+
+	* locale/po/grasslibs_es.po, locale/po/grasslibs_th.po,
+	  locale/po/grassmods_th.po: header fixes
+
+2007-12-27 18:26  neteler
+
+	* locale/po/grasslibs_tr.po, locale/po/grassmods_tr.po,
+	  locale/po/grasstcl_tr.po: Osman Yalçın YILMAZ: cont'ed
+
+2007-12-27 17:54  cdavilam
+
+	* locale/po/grassmods_es.po, locale/po/grasstcl_es.po: Messages
+	  synced and new translations
+
+2007-12-27 17:51  cdavilam
+
+	* raster/r.cats/main.c, raster/r.out.ascii/main.c,
+	  raster/r.recode/read_rules.c, raster/r.stats/main.c,
+	  raster/r.support.stats/main.c: Message standardization
+
+2007-12-27 17:28  martinl
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: Page changed in
+	  dialog to 'command output' tab when 'Run' button pressed.
+	  Write command messages always to the end of log area.
+	  Use fixed width for command header in command log area.
+
+2007-12-27 16:53  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: do not require input/output
+	  parameter (not needed for -f flag)
+
+2007-12-27 16:35  cmbarton
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Improvement to region setting
+	  algorithm for display
+
+2007-12-27 15:14  martinl
+
+	* imagery/i.group/main.c: Allow to remove multiple raster maps from
+	  group/subgroup.
+	  Message cleaning.
+
+2007-12-27 14:34  pkelly
+
+	* gui/tcltk/gis.m/runandoutput.tcl: Add some wrapping and padding
+	  to buttons so longer translated
+	  messages display nicely
+
+2007-12-27 12:14  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: parse guisection tag
+	  also for flags, not only for parameters
+
+2007-12-27 11:58  martinl
+
+	* raster/r.out.gdal/main.c: Cosmetics in module description
+	  (r.out.gdal), message for export multi-sample files
+
+2007-12-27 08:49  neteler
+
+	* locale/po/grasstcl_th.po: header fixes
+
+2007-12-26 20:44  martinl
+
+	* raster/r.in.gdal/main.c: r.in.gdal: Do not ingnore 'band'
+	  parameter, reported by Ivan Shmakov
+
+2007-12-26 20:39  martinl
+
+	* raster/r.in.gdal/main.c: Message standardization, i18n
+	  (r.in.gdal)
+
+2007-12-26 16:57  pkelly
+
+	* lib/init/epsg_option.tcl, lib/init/file_option.tcl: Remove fixed
+	  sizes for button widths. This should fix bug 282
+	  in Gforge.
+
+2007-12-26 16:27  pkelly
+
+	* lib/init/gis_set.tcl: Remove and rearrange some Tk layout hints
+	  to make translated
+	  messages display better. Fix scrollbar so it doesn't cover
+	  path to GISDBASE, make padding and spacing more even.
+	  Remove newlines from some messages to give -wraplength a chance
+	  to do its job. (First test SVN commit)
+
+2007-12-26 14:04  martinl
+
+	* gui/wxpython/gui_modules/gselect.py: wxGUI: Show elements from
+	  current mapset first
+
+2007-12-26 13:48  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/Attribute Table Manager:
+	  Fix typecasting problem (show attributes) when 'reload' button is
+	  pressed
+
+2007-12-26 12:47  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: Fix check event
+	  for group of map layers
+
+2007-12-26 12:10  martinl
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: wxGUI: New item in
+	  contextual menu - print metadata of raster/vector map layers
+	  (r./v.info)
+
+2007-12-25 22:53  hamish
+
+	* raster/r.le/r.le.setup/sample.c: u_? vars were used uninitialized
+	  if radius was >100
+
+2007-12-25 19:33  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/Attribute Table Manager:
+	  Avoid duplicated arrow symbol in column header when sorting
+	  items. Use ScrolledPanel in dialog for editing/inserting records.
+	  Other
+	  minor fixes (typos).
+
+2007-12-24 15:37  martinl
+
+	* gui/wxpython/README: Note in README possibility to load workspace
+	  file on startup
+
+2007-12-24 15:32  martinl
+
+	* gui/wxpython/gui_modules/__init__.py: wxGUI: __init__.py updated
+	  (list of gui modules)
+
+2007-12-24 15:16  martinl
+
+	* gui/wxpython/gui_modules/optpanels: wxGUI: Unused code removed
+
+2007-12-23 16:44  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: Cosmetics in
+	  decoration dialog layout
+
+2007-12-22 22:39  martinl
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgrass,
+	  gui/wxpython/wxgui.py: wxGUI: Ability to specify workspace file
+	  from command-line, e.g. wxgrass file.grc
+	  Fix Attribute Table Manager when no DB connection is defined.
+
+2007-12-21 23:35  hamish
+
+	* raster/r.cats/main.c: fix label output (Gforge bug # 567)
+
+2007-12-21 21:14  martinl
+
+	* gui/wxpython/gui_modules/mapdisp.py: wxGUI: fixing typo in
+	  variable name (digit tool)
+
+2007-12-21 15:28  cdavilam
+
+	* locale/po/grasstcl_pt_br.po: Encoding changed from iso-8859-2 to
+	  iso-8859-1 by Fernando Ferreira
+
+2007-12-21 03:52  cmbarton
+
+	* gui/tcltk/gis.m/mapprint.tcl: More code cleanup and commit test 3
+
+2007-12-21 03:42  cmbarton
+
+	* gui/tcltk/gis.m/mapprint.tcl: Code cleanup cosmetics. Test of
+	  commit privileges 2.
+
+2007-12-21 01:22  hamish
+
+	* display/d.save/main.c, lib/display/window.c: round, don't
+	  truncate frame coordinate. keep consistent data type.
+	  clean comments
+
+2007-12-21 00:57  glynn
+
+	* lib/driver/Polygon.c: Fix overflow in polygon filler
+
+2007-12-20 20:10  cmbarton
+
+	* gui/tcltk/gis.m/mapprint.tcl: Added a few comments to code.
+	  Mainly a test of commit privileges.
+
+2007-12-20 20:06  cmbarton
+
+	* gui/tcltk/gis.m/mapprint.tcl: Made lpr printing the default,
+	  regardless of ghostprint access
+
+2007-12-20 16:09  cdavilam
+
+	* locale/po/grasstcl_th.po: Translation by Sarawut Ninsawat
+
+2007-12-20 08:04  hamish
+
+	* display/d.save/main.c: first pass at fixing d.save's recording of
+	  d.frame. still an off-by-one
+	  error for the lower end of the top row of frames.
+
+2007-12-20 06:24  hamish
+
+	* lib/raster/com_pad.c: remove non-ascii char in code comments
+
+2007-12-20 00:15  neteler
+
+	* imagery/i.atcorr/common.h: added missing includes
+
+2007-12-19 13:19  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py: wxGUI: Use wx.MessageBox
+	  instead of wx.MessageDialog.
+	  Fix bug when digitizing new vector object and no DB connection is
+	  defined.
+
+2007-12-19 11:22  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI: Cosmetics in layout for
+	  Attribute Table Manager
+
+2007-12-19 04:07  hamish
+
+	* scripts/d.redraw/d.redraw: new -a and -r flags to redraw all
+	  frames, and redraw all frames
+	  using using the current region (instead of maintaining individual
+	  regions for each frame). The -r flag still needs some work to
+	  get it right, in parallel with d.save.
+
+2007-12-18 18:07  glynn
+
+	* lib/db/dbmi_client/start.c: MSVC fixes (from Jürgen E. Fischer):
+	  check for any negative return value, not just -1
+
+2007-12-18 17:14  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/utils.py: wxGUI: Attribute Table
+	  Manager, disable 'display all' in contextual menu if no item is
+	  selected
+
+2007-12-18 14:38  martinl
+
+	* gui/wxpython/gui_modules/menuform.py: wxGUI: Fix size (minimal
+	  size of window) of module dialogs
+
+2007-12-18 13:37  martinl
+
+	* gui/wxpython/README, gui/wxpython/wxgui.py: wxGUI: README updated
+	  (the code has been moved from grass-addon to trunk), GRASS URL
+	  changed from grass.itc.it to grass.osgeo.org.
+
+2007-12-18 11:21  martinl
+
+	* general/g.setproj/get_stp.c, general/g.setproj/main.c,
+	  general/g.setproj/proj.c: Fixing bug (Trac #1):
+	  latitude_of_center and longitude_of_center ignored.
+	  Message standardization, i18n.
+
+2007-12-18 08:22  martinl
+
+	* raster/r.patch/do_patch.c, raster/r.patch/main.c: Use
+	  standardized options, message cosmetics in r.patch.
+
+2007-12-18 02:01  hamish
+
+	* lib/gis/color_read.c: document nv and * color rule lines
+
+2007-12-18 00:32  epatton
+
+	* raster/r.circle/description.html: Expanded descriptions and
+	  examples; -b flag discussed; example awk script corrected
+
+2007-12-17 19:49  glynn
+
+	* configure, configure.in: Check for libavformat
+
+2007-12-17 13:56  martinl
+
+	* gui/wxpython/gis_set.py,
+	  gui/wxpython/gui_modules/location_wizard.py: wxGUI: Various fixes
+	  for location wizard
+
+2007-12-17 13:42  neteler
+
+	* vector/v.lrs/lrs.html, vector/v.net/description.html,
+	  vector/v.segment/description.html, vector/vectorintro.html:
+	  terminology fix
+
+2007-12-17 10:57  martinl
+
+	* lib/gis/datum.table: Cosmetics: Add underscores (SAD-69) for
+	  consistency in description column
+
+2007-12-17 07:54  hamish
+
+	* raster/r.le/r.le.setup/sample.c: finish update to vect points
+
+2007-12-17 07:36  hamish
+
+	* vector/v.in.region/main.c: user setable cat number
+
+2007-12-17 03:14  hamish
+
+	* raster/r.drain/main.c: add a title
+
+2007-12-17 03:09  hamish
+
+	* raster/r.drain/main.c: write G_command_history()
+
+2007-12-16 23:58  hamish
+
+	* raster/r.le/r.le.setup/sample.c: update "starting points from
+	  map" to use vector points map not old sites API.
+
+2007-12-16 23:42  kyngchaos
+
+	* macosx/Makefile: more packagemaker weirdness in Xcode 3
+
+2007-12-16 23:07  hamish
+
+	* contributors.csv: new email addr for me
+
+2007-12-16 21:36  hamish
+
+	* lib/init/init.sh: newer firefoxes ship without moz- in exe name
+
+2007-12-16 17:54  martinl
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/location_wizard.py: wxGUI: Dialog for
+	  setting default region extent and resolution improved (including
+	  3D)
+
+2007-12-16 11:52  martinl
+
+	* contributors.csv: Fix Cepicky's e-mail
+
+2007-12-16 11:48  martinl
+
+	* lib/init/init.sh: Update init.sh for -wx
+
+2007-12-16 11:47  neteler
+
+	* contributors.csv: +Hamish
+
+2007-12-16 11:23  martinl
+
+	* gui/wxpython/gis_set.py: wxGUI: avoid crashing start-up screen
+	  when location mentioned in .grassrc doesn't exist
+
+2007-12-16 11:19  martinl
+
+	* lib/init/grass_intro.txt: Cosmetics: Fix GRASS webpages URL
+
+2007-12-16 00:36  martinl
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/images/loc_wizard.png,
+	  gui/wxpython/images/loc_wizard_qgis.png,
+	  gui/wxpython/images/wizard.png: wxGUI: Location wizard, clean up
+	  code. New logo (please suggest better) added.
+
+2007-12-15 14:54  epatton
+
+	* raster/r.buffer/description.html: Clarity improvements; described
+	  -z flag, units parameter
+
+2007-12-15 14:51  epatton
+
+	* raster/r.average/description.html: Corrected typo; standardized
+	  section heading order
+
+2007-12-15 10:55  martinl
+
+	* gui/wxpython/gui_modules/dbm.py: wxGUI/Attribute Table Manager:
+	  send size event when loading data
+
+2007-12-15 08:00  neteler
+
+	* contributors.csv: more osgeo_ids
+
+2007-12-15 07:56  neteler
+
+	* contributors.csv: +Paul
+
+2007-12-15 07:50  neteler
+
+	* contributors.csv: +Huidae
+
+2007-12-15 07:12  neteler
+
+	* translators.csv: +Fernando Ferreira, better .csv structure
+
+2007-12-14 18:45  bdouglas
+
+	* imagery/i.ortho.photo/photo.rectify/write.c: - Improved temp file
+	  check
+	  - Better wording for error strings
+
+2007-12-14 14:41  cdavilam
+
+	* locale/po/grasstcl_pt_br.po: More translations by Fernando
+	  Ferreira
+
+2007-12-14 11:30  mlennert
+
+	* visualization/nviz/Makefile: adapt Makefile to svn repository
+
+2007-12-13 21:04  martinl
+
+	* SUBMITTING, SUBMITTING_DOCS, SUBMITTING_PYTHON,
+	  SUBMITTING_SCRIPTS, SUBMITTING_TCLTK: Add submitting instructions
+	  for Python code (need to be improved...)
+	  Fix other submitting files (cvs->svn)
+
+2007-12-13 15:43  martinl
+
+	* locale/po/grasslibs_zh.po, locale/po/grassmods_zh.po: Fix number
+	  of compilation errors
+
+2007-12-13 00:45  martinl
+
+	* lib/ogsf/gsd_img_mpeg.c: Missing header added (string.h/strcmp)
+
+2007-12-13 00:41  martinl
+
+	* vector/lidar/lidarlib/InterpSpline.c,
+	  vector/lidar/lidarlib/raster.c: Message standardization
+	  Use local header
+
+2007-12-12 21:57  bdouglas
+
+	* imagery/i.ortho.photo/photo.rectify/write.c: Localized text
+
+2007-12-12 21:52  bdouglas
+
+	* imagery/i.ortho.photo/photo.rectify/write.c: Fix for temp file
+	  write fd
+
+2007-12-12 15:35  martinl
+
+	* lib, lib/db, lib/db/dbmilib.dox, lib/g3d, lib/gis, lib/gmath,
+	  lib/gpde, lib/ogsf, lib/proj, lib/segment, rfc, swig: Properties
+	  (svn:ignore) updated -- doxygen
+
+2007-12-12 15:30  martinl
+
+	* lib/vector, lib/vector/dglib, lib/vector/vectorlib.dox: Topo file
+	  description updated
+	  Properties (svn:ignore) fix
+
+2007-12-12 15:24  kyngchaos
+
+	* macosx/Makefile: Different location for packagemaker in Leopard
+
+2007-12-12 14:24  epatton
+
+	* raster/r.resamp.rst/description.html: Improved clarity of
+	  description text
+
+2007-12-12 14:22  epatton
+
+	* raster/r.resamp.rst/main.c: Small edit to module description
+
+2007-12-12 14:16  smitch
+
+	* raster/r.statistics/description.html: expand explanations, fix a
+	  couple typos and translation glitches
+
+2007-12-11 23:43  epatton
+
+	* raster/r.in.gdal/description.html: Replaced tabs with spaces in
+	  preformatted text
+
+2007-12-11 23:29  epatton
+
+	* imagery/i.smap/shapiro/description.html: Corrected typo
+
+2007-12-11 22:27  cdavilam
+
+	* locale/po/grasstcl_pt_br.po: translation by Fernando Ferreira
+
+2007-12-11 18:46  epatton
+
+	* raster/r.in.gdal/description.html: Reformatted html table of
+	  accepted raster formats into preformatted text Re:[grass-doc
+	  I][559]
+
+2007-12-11 17:07  epatton
+
+	* display/d.barscale/description.html: Document behavior of -l flag
+
+2007-12-11 15:13  martinl
+
+	* gui/wxpython/README, gui/wxpython/gui_modules/digit.py: wxPython
+	  GUI: cosmetics in README
+
+2007-12-11 14:44  martinl
+
+	* gui/wxpython/README: Cosmetics
+
+2007-12-11 14:32  martinl
+
+	* gui/wxpython/display_driver/driver.cpp: Cosmetics: compiler
+	  warnings fixed
+
+2007-12-11 14:08  martinl
+
+	* configure, configure.in, gui/wxpython/display_driver/Makefile:
+	  Generate also Makefile for wxPython GUI
+
+2007-12-11 13:38  martinl
+
+	* gui/wxpython/display_driver/Makefile.in: Makefile input file
+	  added (based on the current Makefile)
+
+2007-12-11 13:29  martinl
+
+	* ., db, db/base, db/db.login, db/drivers/dbf,
+	  db/drivers/dbf/dbf_catalog, db/drivers/mysql, db/drivers/odbc,
+	  db/drivers/ogr, db/drivers/postgres, db/drivers/sqlite,
+	  display/d.ask, display/d.barscale, display/d.colorlist,
+	  display/d.colors, display/d.colortable, display/d.erase,
+	  display/d.extend, display/d.extract, display/d.font,
+	  display/d.font.freetype, display/d.frame, display/d.geodesic,
+	  display/d.graph, display/d.grid, display/d.his,
+	  display/d.histogram, display/d.info, display/d.legend,
+	  display/d.linegraph, display/d.mapgraph, display/d.measure,
+	  display/d.menu, display/d.mon, display/d.mon/cmd,
+	  display/d.mon/pgms, display/d.nviz, display/d.paint.labels,
+	  display/d.path, display/d.profile, display/d.rast,
+	  display/d.rast.arrow, display/d.rast.edit, display/d.rast.num,
+	  display/d.rgb, display/d.rhumbline, display/d.save,
+	  display/d.text, display/d.text.freetype, display/d.text.new,
+	  display/d.title, display/d.vect, display/d.vect.chart,
+	  display/d.what.rast, display/d.what.vect, display/d.where,
+	  display/d.zoom, display/drivers, display/drivers/HTMLMAP,
+	  display/drivers/PNG, display/drivers/PS, display/drivers/XDRIVER,
+	  display/drivers/cairo, doc, gem, general/g.access, general/g.ask,
+	  general/g.dirseps, general/g.filename, general/g.findetc,
+	  general/g.findfile, general/g.gisenv, general/g.mapset,
+	  general/g.mapsets, general/g.message, general/g.mkfontcap,
+	  general/g.parser, general/g.pnmcomp, general/g.proj,
+	  general/g.region, general/g.region/cmd, general/g.setproj,
+	  general/g.tempfile, general/g.transform, general/g.version,
+	  general/manage, general/manage/cmd, general/manage/lib,
+	  general/manage/lister, gui/tcltk/d.m, gui/tcltk/d.m/script,
+	  gui/tcltk/gis.m, gui/tcltk/gis.m/docs,
+	  gui/wxpython/display_driver, imagery, imagery/i.ask,
+	  imagery/i.atcorr, imagery/i.atcorr/INFO,
+	  imagery/i.atcorr/test_suite, imagery/i.cca, imagery/i.class,
+	  imagery/i.cluster, imagery/i.fft, imagery/i.find,
+	  imagery/i.gensig, imagery/i.gensigset, imagery/i.group,
+	  imagery/i.his.rgb, imagery/i.ifft, imagery/i.maxlik,
+	  imagery/i.ortho.photo, imagery/i.ortho.photo/libes,
+	  imagery/i.ortho.photo/menu, imagery/i.ortho.photo/photo.2image,
+	  imagery/i.ortho.photo/photo.2target,
+	  imagery/i.ortho.photo/photo.camera,
+	  imagery/i.ortho.photo/photo.elev,
+	  imagery/i.ortho.photo/photo.init,
+	  imagery/i.ortho.photo/photo.rectify,
+	  imagery/i.ortho.photo/photo.target, imagery/i.pca,
+	  imagery/i.points, imagery/i.rectify, imagery/i.rgb.his,
+	  imagery/i.smap, imagery/i.smap/bouman, imagery/i.smap/shapiro,
+	  imagery/i.target, imagery/i.vpoints, imagery/i.zc, include,
+	  include/Make, lib/bitmap, lib/btree, lib/cairodriver, lib/cdhc,
+	  lib/datetime, lib/db, lib/db/dbmi_base, lib/db/dbmi_client,
+	  lib/db/dbmi_driver, lib/db/sqlp, lib/db/sqlp/test, lib/db/stubs,
+	  lib/display, lib/driver, lib/dspf, lib/edit, lib/external,
+	  lib/external/bwidget, lib/external/bwidget/images,
+	  lib/external/bwidget/lang, lib/external/shapelib, lib/fonts,
+	  lib/fonts/fonts, lib/form, lib/g3d, lib/gis, lib/gis/colors,
+	  lib/gmath, lib/gpde, lib/gpde/test, lib/gtcltk, lib/imagery,
+	  lib/init, lib/init/msgs, lib/linkm, lib/ogsf, lib/pngdriver,
+	  lib/proj, lib/psdriver, lib/raster, lib/rowio, lib/rst,
+	  lib/rst/data, lib/rst/interp_float, lib/rst/qtree, lib/segment,
+	  lib/sites, lib/stats, lib/symbol, lib/symbol/symbol,
+	  lib/symbol/symbol/basic, lib/symbol/symbol/demo,
+	  lib/symbol/symbol/extra, lib/vask, lib/vector, lib/vector/Vlib,
+	  lib/vector/dglib, lib/vector/dglib/examples, lib/vector/diglib,
+	  lib/vector/diglib/portable, lib/vector/rtree,
+	  lib/vector/rtree/docs, lib/vector/transform,
+	  locale/scriptstrings, misc/m.cogo, ps/ps.map, ps/ps.map/patterns,
+	  raster, raster/r.average, raster/r.basins.fill,
+	  raster/r.bilinear, raster/r.bitpattern, raster/r.buffer,
+	  raster/r.carve, raster/r.cats, raster/r.circle, raster/r.clump,
+	  raster/r.coin, raster/r.colors, raster/r.composite,
+	  raster/r.compress, raster/r.contour, raster/r.cost,
+	  raster/r.covar, raster/r.cross, raster/r.describe,
+	  raster/r.digit, raster/r.distance, raster/r.drain,
+	  raster/r.fill.dir, raster/r.flow, raster/r.grow2,
+	  raster/r.gwflow, raster/r.his, raster/r.in.arc,
+	  raster/r.in.ascii, raster/r.in.bin, raster/r.in.gdal,
+	  raster/r.in.gridatb, raster/r.in.mat, raster/r.in.poly,
+	  raster/r.in.xyz, raster/r.info, raster/r.kappa, raster/r.lake,
+	  raster/r.le, raster/r.le/r.le.patch, raster/r.le/r.le.pixel,
+	  raster/r.le/r.le.setup, raster/r.le/r.le.setup/polytocell,
+	  raster/r.le/r.le.trace, raster/r.li, raster/r.li/r.li.cwed,
+	  raster/r.li/r.li.daemon, raster/r.li/r.li.dominance,
+	  raster/r.li/r.li.edgedensity, raster/r.li/r.li.mpa,
+	  raster/r.li/r.li.mps, raster/r.li/r.li.padcv,
+	  raster/r.li/r.li.padrange, raster/r.li/r.li.padsd,
+	  raster/r.li/r.li.patchdensity, raster/r.li/r.li.patchnum,
+	  raster/r.li/r.li.richness, raster/r.li/r.li.setup,
+	  raster/r.li/r.li.shannon, raster/r.li/r.li.shape,
+	  raster/r.li/r.li.simpson, raster/r.los, raster/r.mapcalc,
+	  raster/r.median, raster/r.mfilter, raster/r.mfilter.fp,
+	  raster/r.mode, raster/r.neighbors, raster/r.null,
+	  raster/r.out.arc, raster/r.out.ascii, raster/r.out.bin,
+	  raster/r.out.gdal, raster/r.out.gridatb, raster/r.out.mat,
+	  raster/r.out.mpeg, raster/r.out.png, raster/r.out.pov,
+	  raster/r.out.ppm, raster/r.out.ppm3, raster/r.out.tiff,
+	  raster/r.out.vrml, raster/r.out.vtk, raster/r.param.scale,
+	  raster/r.patch, raster/r.profile, raster/r.proj,
+	  raster/r.proj.seg, raster/r.quant, raster/r.random,
+	  raster/r.random.cells, raster/r.random.surface, raster/r.reclass,
+	  raster/r.recode, raster/r.region, raster/r.report,
+	  raster/r.resamp.interp, raster/r.resamp.rst,
+	  raster/r.resamp.stats, raster/r.resample, raster/r.rescale,
+	  raster/r.rescale.eq, raster/r.series, raster/r.slope.aspect,
+	  raster/r.statistics, raster/r.stats, raster/r.sum, raster/r.sun,
+	  raster/r.sunmask, raster/r.support, raster/r.support.stats,
+	  raster/r.support/front, raster/r.support/modcats,
+	  raster/r.support/modcolr, raster/r.support/modhead,
+	  raster/r.support/modhist, raster/r.surf.area,
+	  raster/r.surf.contour, raster/r.surf.fractal,
+	  raster/r.surf.gauss, raster/r.surf.idw, raster/r.surf.idw2,
+	  raster/r.surf.random, raster/r.terraflow,
+	  raster/r.terraflow/IOStream, raster/r.terraflow/IOStream/include,
+	  raster/r.terraflow/IOStream/lib,
+	  raster/r.terraflow/IOStream/lib/src, raster/r.texture,
+	  raster/r.thin, raster/r.timestamp, raster/r.to.rast3,
+	  raster/r.to.rast3elev, raster/r.to.vect, raster/r.topidx,
+	  raster/r.topmodel, raster/r.transect, raster/r.univar2,
+	  raster/r.volume, raster/r.walk, raster/r.water.outlet,
+	  raster/r.watershed, raster/r.watershed/front,
+	  raster/r.watershed/ram, raster/r.watershed/seg,
+	  raster/r.watershed/shed, raster/r.what, raster/r.what.color,
+	  raster/simwe, raster/simwe/r.sim.sediment,
+	  raster/simwe/r.sim.water, raster/simwe/simlib, raster/wildfire,
+	  raster/wildfire/r.ros, raster/wildfire/r.spread,
+	  raster/wildfire/r.spread/prob_invsqr,
+	  raster/wildfire/r.spreadpath, raster3d, raster3d/base,
+	  raster3d/r3.cross.rast, raster3d/r3.gwflow, raster3d/r3.in.ascii,
+	  raster3d/r3.in.v5d, raster3d/r3.mkdspf, raster3d/r3.out.ascii,
+	  raster3d/r3.out.v5d, raster3d/r3.out.vtk, raster3d/r3.showdspf,
+	  raster3d/r3.stats, raster3d/r3.to.rast, scripts/d.correlate,
+	  scripts/d.font.freetype, scripts/d.monsize, scripts/d.mvmon,
+	  scripts/d.out.file, scripts/d.out.gpsdrive, scripts/d.out.png,
+	  scripts/d.polar, scripts/d.rast.edit, scripts/d.rast.leg,
+	  scripts/d.redraw, scripts/d.resize, scripts/d.shadedmap,
+	  scripts/d.slide.show, scripts/d.split, scripts/d.text.freetype,
+	  scripts/d.vect.thematic, scripts/db.dropcol, scripts/db.in.ogr,
+	  scripts/db.out.ogr, scripts/db.test, scripts/g.manual,
+	  scripts/g.mlist, scripts/g.mremove, scripts/i.fusion.brovey,
+	  scripts/i.image.mosaic, scripts/i.in.spotvgt,
+	  scripts/i.landsat.rgb, scripts/i.oif, scripts/i.spectral,
+	  scripts/i.tasscap, scripts/m.proj, scripts/r.blend,
+	  scripts/r.fillnulls, scripts/r.in.aster, scripts/r.in.srtm,
+	  scripts/r.in.wms, scripts/r.mapcalculator, scripts/r.mask,
+	  scripts/r.out.gdal, scripts/r.out.xyz, scripts/r.plane,
+	  scripts/r.reclass.area, scripts/r.regression.line,
+	  scripts/r.shaded.relief, scripts/r.tileset, scripts/r.univar.sh,
+	  scripts/r3.mapcalculator, scripts/v.build.all,
+	  scripts/v.centroids, scripts/v.convert.all, scripts/v.db.addcol,
+	  scripts/v.db.addtable, scripts/v.db.dropcol,
+	  scripts/v.db.droptable, scripts/v.db.join,
+	  scripts/v.db.reconnect.all, scripts/v.db.renamecol,
+	  scripts/v.db.univar, scripts/v.db.update, scripts/v.dissolve,
+	  scripts/v.in.e00, scripts/v.in.garmin, scripts/v.in.gns,
+	  scripts/v.in.gpsbabel, scripts/v.in.mapgen,
+	  scripts/v.in.sites.all, scripts/v.in.wfs, scripts/v.rast.stats,
+	  scripts/v.report, scripts/v.univar.sh, scripts/v.what.vect,
+	  swig/perl, swig/perl2, swig/python, tools/mkftcap, vector,
+	  vector/lidar, vector/lidar/lidarlib,
+	  vector/lidar/v.lidar.correction,
+	  vector/lidar/v.lidar.edgedetection, vector/lidar/v.lidar.growing,
+	  vector/lidar/v.outlier, vector/lidar/v.surf.bspline,
+	  vector/v.buffer, vector/v.build, vector/v.build.polylines,
+	  vector/v.category, vector/v.clean, vector/v.clean/test,
+	  vector/v.convert, vector/v.db.connect, vector/v.db.select,
+	  vector/v.digit, vector/v.digit/icons, vector/v.distance,
+	  vector/v.drape, vector/v.edit, vector/v.external,
+	  vector/v.extract, vector/v.extrude, vector/v.generalize,
+	  vector/v.hull, vector/v.in.ascii, vector/v.in.db,
+	  vector/v.in.dwg, vector/v.in.dxf, vector/v.in.ogr,
+	  vector/v.in.region, vector/v.in.sites, vector/v.info,
+	  vector/v.kcv, vector/v.kernel, vector/v.label, vector/v.label.sa,
+	  vector/v.lrs, vector/v.lrs/lib, vector/v.lrs/v.lrs.create,
+	  vector/v.lrs/v.lrs.label, vector/v.lrs/v.lrs.segment,
+	  vector/v.lrs/v.lrs.where, vector/v.mapcalc,
+	  vector/v.mapcalc/plugins, vector/v.mkgrid, vector/v.neighbors,
+	  vector/v.net, vector/v.net.alloc, vector/v.net.iso,
+	  vector/v.net.path, vector/v.net.salesman, vector/v.net.steiner,
+	  vector/v.net.visibility, vector/v.normal, vector/v.out.ascii,
+	  vector/v.out.dxf, vector/v.out.ogr, vector/v.out.pov,
+	  vector/v.out.svg, vector/v.out.vtk, vector/v.overlay,
+	  vector/v.parallel, vector/v.patch, vector/v.perturb,
+	  vector/v.proj, vector/v.qcount, vector/v.random,
+	  vector/v.reclass, vector/v.sample, vector/v.segment,
+	  vector/v.select, vector/v.split, vector/v.support,
+	  vector/v.surf.idw, vector/v.surf.rst, vector/v.to.db,
+	  vector/v.to.points, vector/v.to.rast, vector/v.to.rast3,
+	  vector/v.transform, vector/v.type, vector/v.univar,
+	  vector/v.vol.rst, vector/v.voronoi, vector/v.what,
+	  vector/v.what.rast, visualization/nviz/src, visualization/xganim:
+	  Set svn:ignore property
+
+2007-12-10 22:48  martinl
+
+	* gui/wxpython/README: C++ support requested for digitization tool
+	  in wxPython GUI
+
+2007-12-10 16:06  martinl
+
+	* AUTHORS, COPYING, INSTALL, REQUIREMENTS.html, SUBMITTING,
+	  SUBMITTING_SCRIPTS, SUBMITTING_TCLTK: grass.itc.it ->
+	  www.grass-gis.org
+
+2007-12-10 15:59  neteler
+
+	* locale/po/grasslibs_tr.po, locale/po/grasstcl_tr.po: Aras.Gor.O
+	  Yalcin Yilmaz: cont'ed
+
+2007-12-10 15:49  martinl
+
+	* include/VERSION: cvs to svn (make distclean needed)
+
+2007-12-10 14:49  neteler
+
+	* contributors.csv: +danielc
+
+2007-12-10 14:40  neteler
+
+	* contributors_extra.csv: updated
+
+2007-12-10 14:23  neteler
+
+	* contributors.csv: updated
+
+2007-12-10 12:28  martinl
+
+	* lib/vector/vectorlib.dox: Topo file description inserted
+	  (partial), various minor fixes
+
+2007-12-07 10:45  landa
+
+	* gui/wxpython/README, gui/wxpython/display_driver/Makefile:
+	  Cosmetics: simplify display driver compilation instructions
+
+2007-12-07 10:27  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/menudata.py: Fix items sorting
+
+2007-12-07 09:33  landa
+
+	* gui/wxpython/icons/icon.py, gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/font.png: Add missing 'font' icons for
+	  silk theme
+
+2007-12-07 09:15  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Module select not used
+
+2007-12-05 13:13  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py: NewVectorDialog added (extract
+	  selected)
+
+2007-12-05 12:10  landa
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  Cosmetics
+
+2007-12-05 11:40  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Select all/none added to the
+	  contextual menu
+
+2007-12-05 10:16  landa
+
+	* gui/wxpython/gui_modules/dbm.py: 'Extract selected' enabled only
+	  when at least one item is selected
+
+2007-12-05 09:39  landa
+
+	* gui/wxpython/gui_modules/dbm.py: 'Extract selected' enabled only
+	  when at least one item is selected
+
+2007-12-05 05:16  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Commented out display selected
+	  and extract selected buttons because these functions are now on
+	  the contrextual menu.
+
+2007-12-04 16:35  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  Attribute Table Manager: cosmetics in 'extract selected'
+	  Use globally defined style and color definition for FlatNotebook.
+
+2007-12-03 07:35  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Added "Extract displayed"
+	  button. Will create a new vector file from objects selected in
+	  browse window.
+
+2007-12-03 02:44  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Disabled TextEditMixin for
+	  browse attributes virtual list control. This prevents
+	  accidentally editing the list control by double clicking rather
+	  than by the controlled edit method that will update the table
+	  correctly.
+
+2007-12-03 02:14  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Added "Display selected" button
+	  to attribute browser for display of multiple records. Added
+	  instructions to right-click for editing to staticbox text for
+	  browser.
+
+2007-12-03 01:42  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Renamed notebook tab to "Manage
+	  layers" (was duplicate
+	  "Manage tables").
+
+2007-12-03 01:34  barton
+
+	* gui/wxpython/gui_modules/location_wizard.py: Update to new gcmd
+	  methods
+
+2007-12-02 22:20  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Basic functionality for 'Modify
+	  existing layer'
+
+2007-12-01 17:31  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Fixed bug in icon rendering.
+	  Made simple sql button selected on startup so that the sql box
+	  entry would respond to input.
+
+2007-12-01 15:55  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Modify existing layer layout
+	  added (not fully functional yet)
+
+2007-12-01 15:31  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Removed FN.FNB_NO_X_BUTTON
+	  style. This is not needed, as it is the default, and causes a LOT
+	  of error messages on Macs with wxPython >2.6.4.0
+
+2007-12-01 07:36  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Fixed Mac problem with
+	  FlatNotebook. Set tabs back to match rest of GUI. Fixed bug with
+	  double sizer entry.
+
+2007-12-01 07:34  barton
+
+	* gui/wxpython/wxgui.py: Fixed Mac problem with FlatNotebook and
+	  reverted bottom tabs to fancy style (from AuiNotebook).
+
+2007-12-01 06:58  barton
+
+	* gui/wxpython/wxgui.py: Reverted tabs and tab area color for layer
+	  manager. Set bottom tab font size without setting font family so
+	  it looks nice on Mac and Linux I hope. Changed command input
+	  prompt to "command >" to make it more obvious.
+
+2007-12-01 06:40  barton
+
+	* gui/wxpython/gui_modules/georect.py: Update gcmd for georectifier
+
+2007-11-28 20:48  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Add new layer/delete existing
+	  layer implemented now
+
+2007-11-28 17:39  landa
+
+	* gui/wxpython/gui_modules/digit.py: Cosmetics (combobox styles)
+
+2007-11-27 23:06  landa
+
+	* gui/wxpython/gui_modules/dbm.py: 'Add new layer' feature
+	  implemented. Dialog update method need to be implemented...
+
+2007-11-27 21:49  landa
+
+	* gui/wxpython/gui_modules/toolbars.py: Code cleaning (combobox for
+	  digit toolbar)
+
+2007-11-26 21:19  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Manage layers progress (add new
+	  layer, just GUI stuff)
+
+2007-11-26 17:34  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: Remove duplicated info
+	  message for measurement tool
+
+2007-11-26 17:30  landa
+
+	* gui/wxpython/gui_modules/dbm.py: New page 'Manage layers' added
+	  (not fully implemented)
+
+2007-11-26 15:46  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Measurement instructions
+	  moved from messagebox to output console.
+
+2007-11-26 14:43  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Edit existing record
+	  implemented. Various fixes.
+
+2007-11-26 11:36  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: Statusbar modification:
+	  * 'extent' shows display extent
+	  * 'comp. extent' shows computational extent
+
+2007-11-26 05:42  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Displayed computational
+	  extents in status bar now derived from g.region
+
+2007-11-26 05:02  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fixed bug causing map to not
+	  resize with screen by commenting out
+	  self.Map.AlignExtentFromDisplay(). This method changes the region
+	  with
+	  the display size, preventing the map from resizing with the
+	  display.
+
+2007-11-26 04:10  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Clean up. Remove unneeded
+	  revisions made to fix Mac crash under
+	  wxPython 2.8.6.1. Keeping the minimal needed.
+
+2007-11-25 20:23  landa
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgui.py: Attribute
+	  Table Manager: insert new record implemented (+various minor
+	  fixes).
+	  Minor notebook style change.
+
+2007-11-25 19:58  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Force output console page in
+	  GIS/Layer Manager window when measuring.
+
+2007-11-25 06:52  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Initial sizing fixed on Mac.
+
+2007-11-25 06:20  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Fixed error on resize on
+	  Mac with wxPython >8.4.0. Removed style=FN.FNB_NO_X_BUTTON.
+	  This is the default and not needed.
+
+2007-11-25 06:18  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Fixed the error (on Mac with
+	  wxPython >8.4.0) that happens when the
+	  attribute manager window is resized. Just need to leave out
+	  style=FN.FNB_NO_X_BUTTON, since this is the default anyway.
+
+2007-11-25 05:47  barton
+
+	* gui/wxpython/wxgui.py: Initial size set correctly for GIS Manager
+
+2007-11-24 19:55  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Fix sizing problem on GNU/Linux
+	  machine after (aui.Notebook is used now)
+
+2007-11-24 18:43  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Fixes some issues with attribute
+	  mangement tool for Mac.
+	  
+	  Graphic context errors partly fixed by replacing
+	  main FlatNotebook with AuiNotebook. But still getting errors on
+	  some
+	  resizing.
+	  
+	  Frozen controls issue with wx.StaticBox fixed.
+
+2007-11-24 17:17  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Enable attribute table
+	  manager to display large tables (> 3e5 records)
+
+2007-11-24 16:18  barton
+
+	* gui/wxpython/wxgui.py: Formatted font for bottom tabs
+
+2007-11-24 05:49  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Bug fixes for measure and
+	  profile. Both work correctly now. Added
+	  start message for measure.
+
+2007-11-24 05:46  barton
+
+	* gui/wxpython/gui_modules/profile.py: Fix for profile so that
+	  segment markers display correctly. Fixed
+	  duplicate coordinate mapping.
+
+2007-11-23 23:57  barton
+
+	* gui/wxpython/wxgui.py: Fix to make wxgrass work with versions of
+	  wxPython above 8.4.0 (including
+	  8.4.6.1) on Mac. Switch main notebook in GIS Manager (NOT layer
+	  manager
+	  notebook) from FlatNotebook to AuiNotebook. Very similar visual
+	  effect. Toolbar still doesn't look quite right, but is OK and
+	  causes
+	  no errors.
+
+2007-11-23 22:39  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: Zoom only for region > 5x5px
+
+2007-11-23 22:16  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Partial fix for running
+	  GRASS gui on wxPython 8.4.6.1
+
+2007-11-23 21:41  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Basic functionality for table
+	  management implemented
+
+2007-11-23 20:40  barton
+
+	* gui/wxpython/gui_modules/profile.py: Fixed missing segment
+	  markers for profile. Needed to update to changed
+	  methods in gcmd.
+
+2007-11-23 19:20  barton
+
+	* gui/wxpython/gui_modules/profile.py: Profile works again. No need
+	  to convert tuples from mapwin.polycoords
+	  into geographic coordinates now.
+	  
+	  Segment markers still not displaying.
+
+2007-11-23 18:48  barton
+
+	* gui/wxpython/gis_set.py: Fixed bug on Mac where mouse clicks not
+	  registering in location/mapset
+	  selection areas or location/mapset management areas.
+	  
+	  select_box and manage_box need to be defined in def_init.
+
+2007-11-22 15:27  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Manage table page improvements
+	  (GUI stuff)
+
+2007-11-22 12:02  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  OnKeyUp for layer tree (delete map layer)
+
+2007-11-17 20:03  landa
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Bugs (query, measure)
+	  reported by Michael Barton fixed.
+
+2007-11-15 21:59  landa
+
+	* gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Settings page added to
+	  the attribute table manager.
+	  Bugfix for saving history file.
+	  Bugfix in display driver (draw nodes/vertices only).
+	  Various minor fixes.
+
+2007-11-14 22:03  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/globalvar.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Minor improvements in
+	  Attribute Table Manager.
+	  New module for global variables.
+
+2007-11-13 20:51  landa
+
+	* gui/wxpython/README, gui/wxpython/display_driver/Makefile,
+	  gui/wxpython/display_driver/Makefile.in,
+	  gui/wxpython/display_driver/README,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/display_driver/pseudodc.cpp,
+	  gui/wxpython/display_driver/pseudodc.h,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py, gui/wxpython/wxgui.py:
+	  Redundant pseudodc files removed, README updated.
+	  Cosmetics in attribute table manager.
+
+2007-11-13 18:12  landa
+
+	* gui/wxpython/gis_set.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Various fixes (command styled output, etc.)
+	  Basic improvements in attribute manager (browse data and manage
+	  tables), not all functional.
+
+2007-11-04 12:39  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: Minor bugfix in overlay
+
+2007-11-01 16:20  landa
+
+	* gui/wxpython/README: grass 6.3 required
+
+2007-10-31 08:01  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Virtual list re-enabled
+
+2007-10-30 22:14  landa
+
+	* gui/wxpython/display_driver/pseudodc.cpp,
+	  gui/wxpython/display_driver/pseudodc.h: Upgraded to 2.8.6.1 (both
+	  file need to be removed in the future)
+
+2007-10-30 19:57  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Bugfix + minor cleaning.
+
+2007-10-30 15:36  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Basic fixes (simple / advanced
+	  sql).
+	  Need to be fixed: SQL Builder, wx.LC_VIRTUAL
+
+2007-10-30 10:27  landa
+
+	* gui/wxpython/gui_modules/dbm.py: Database connection information
+	  collapsable
+
+2007-10-29 22:35  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py: Basic code cleaning (not
+	  fully functional)
+
+2007-10-29 14:13  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Minor bugfix: Attribute manager accessible again.
+
+2007-10-29 09:50  landa
+
+	* gui/wxpython/gui_modules/gselect.py, gui/wxpython/wxgui.py:
+	  Bugfix in command line output handling
+
+2007-10-28 23:24  landa
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Basic command prompt
+	  improvements (style need to be set up, etc.).
+	  GRASS command run in child thread.
+
+2007-10-27 19:52  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/gselect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/rules.py,
+	  gui/wxpython/gui_modules/select.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Module select renamed to
+	  gselect
+
+2007-10-27 16:45  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Digitization tool: Display
+	  attributes dialog enabled to be non-modal
+
+2007-10-26 22:02  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Digitization tool: Display
+	  category dialog is not modal now, can be updated.
+
+2007-10-26 21:03  landa
+
+	* gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Basic changes to enable
+	  zooming, panning when new feature is digitized
+
+2007-10-24 20:51  landa
+
+	* gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Digitization tool: bugfix
+	  in display driver, break tool introduced (v.edit need to be
+	  fixed) x split
+
+2007-10-23 10:25  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py: Basic map scale implemented
+	  (TODO: screen resolution must be given by user).
+	  Minor bugfixes in digit tool.
+
+2007-10-23 08:03  landa
+
+	* gui/wxpython/wxgui.py: Disable xmlproc (not available on Mac OS)
+
+2007-10-22 11:06  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: Zooming based on center
+	  point of display window.
+
+2007-10-22 09:12  landa
+
+	* gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Digitization tool: fix query
+	  tool
+	  Mapdisplay: zoom fix (calculate center coordinates)
+
+2007-10-20 22:16  landa
+
+	* gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Styled command output introduced (not fully functional, need to
+	  be fixed!)
+	  Various minor fixes...
+
+2007-10-20 10:58  landa
+
+	* gui/wxpython/README, gui/wxpython/gui_modules/grassenv.py,
+	  gui/wxpython/icons/icon.py: GRASS_ICONPATH must be given as GRASS
+	  variable.
+
+2007-10-20 09:51  landa
+
+	* gui/wxpython/gis_set.py,
+	  gui/wxpython/gui_modules/location_wizard.py,
+	  gui/wxpython/gui_modules/states.txt,
+	  gui/wxpython/location_wizard.py, gui/wxpython/states.txt:
+	  Cleaning of gis_set.py, some bugs fixed.
+	  location_wizard module moved to gui_modules directory.
+
+2007-10-19 22:28  landa
+
+	* gui/wxpython/gis_set.py, gui/wxpython/wxgui.py: Delete
+	  prop:executable.
+
+2007-10-19 22:25  landa
+
+	* gui/wxpython/gis_set.py: Center on screen
+
+2007-10-19 22:17  landa
+
+	* gui/wxpython/gis_set.py, gui/wxpython/icons/icon.py: Code
+	  cleaning (basic) of GRASS start-up screen.
+
+2007-10-19 19:05  landa
+
+	* gui/wxpython/README: README updated.
+
+2007-10-19 18:43  landa
+
+	* gui/wxpython/gui_modules/grass-grc.dtd,
+	  gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  Workspace file support:
+	  * multiple displays implemented
+	  * Close file implemented
+
+2007-10-19 13:47  landa
+
+	* gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py:
+	  Workspace file support: fix order of map layers.
+
+2007-10-19 13:03  landa
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Minor fixes for workspace file support.
+
+2007-10-18 16:46  landa
+
+	* gui/wxpython/gis_set.py: cmd -> gcmd
+
+2007-10-18 14:49  landa
+
+	* gui/wxpython/README, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/grassenv.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py: Bugfix in wxgui_utils.GetOptData().
+	  Use environment variable GRASS_WX_DEBUG instead of GRASS variable
+	  DEBUG.
+	  Cleaning of grassenv module.
+
+2007-10-17 20:39  landa
+
+	* gui/wxpython/gui_modules/grass-grc.dtd,
+	  gui/wxpython/gui_modules/grassenv.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Basic workspace support implemeneted.
+	  Cleaning the code.
+	  Layers can be added also from command prompt (including module
+	  options).
+
+2007-10-16 19:52  landa
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Open workspace file implemented (not fully). Will be fixed.
+
+2007-10-16 11:49  landa
+
+	* gui/wxpython/gui_modules/grass-grc.dtd,
+	  gui/wxpython/gui_modules/grass-interface.dtd,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/folder.png,
+	  gui/wxpython/icons/silk/page_save.png,
+	  gui/wxpython/icons/silk/page_white.png, gui/wxpython/wxgui.py:
+	  Support for workspace file added (currently only basic prototype
+	  of "Save workspace to file" implemented).
+
+2007-10-14 09:34  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Bugfix for
+	  GMConsole.SaveHistory().
+
+2007-10-14 09:30  landa
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Minor fixes in GMConsole
+	  & gcmd, command output widget need to be improved...
+
+2007-10-13 20:49  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/select.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/location_wizard.py: Cosmetics: cmd -> gcmd
+
+2007-10-13 19:55  landa
+
+	* gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/icons/silk,
+	  gui/wxpython/wxgui.py: Digitization tool:
+	  * z bulk-labeling tool implemented
+	  * 'connect line' tool fixed
+	  * various minor fixes
+
+2007-10-12 19:05  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Digitization tool: Basic
+	  query tool implemented.
+
+2007-10-12 15:05  landa
+
+	* gui/wxpython/display_driver/pseudodc.h: Added header for
+	  pseudodc.h (should be removed in the future).
+
+2007-10-09 18:37  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py: Digitization tool: Fix
+	  copying features from background map.
+
+2007-10-09 09:44  landa
+
+	* gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/plugin.png: Digitization tool: additional
+	  tools implemented (flip, connect, merge, copy). Copy from
+	  backround map need to be finished.
+
+2007-10-07 09:02  landa
+
+	* gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Digitization tool:
+	  various fixes, driver optimalization
+
+2007-10-05 08:40  landa
+
+	* gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Minor fixes, use default
+	  parameters (menuform).
+
+2007-09-30 20:23  landa
+
+	* gui/wxpython/README, gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  Cosmetics (various minor fixes).
+
+2007-09-30 20:18  landa
+
+	* gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/application_view_icons.png,
+	  gui/wxpython/icons/silk/arrow_inout.png,
+	  gui/wxpython/icons/silk/bullet_go.png,
+	  gui/wxpython/icons/silk/chart_line.png,
+	  gui/wxpython/icons/silk/chart_line_add.png,
+	  gui/wxpython/icons/silk/chart_line_delete.png,
+	  gui/wxpython/icons/silk/chart_line_edit.png,
+	  gui/wxpython/icons/silk/chart_line_link.png,
+	  gui/wxpython/icons/silk/chart_organisation.png,
+	  gui/wxpython/icons/silk/chart_organisation_add.png,
+	  gui/wxpython/icons/silk/color_swatch.png,
+	  gui/wxpython/icons/silk/page_green.png,
+	  gui/wxpython/icons/silk/page_white_picture.png,
+	  gui/wxpython/icons/silk/picture_empty.png,
+	  gui/wxpython/icons/silk/shape_handles.png,
+	  gui/wxpython/icons/silk/sum.png,
+	  gui/wxpython/icons/silk/table.png,
+	  gui/wxpython/icons/silk/tag_blue_add.png,
+	  gui/wxpython/icons/silk/textfield_add.png,
+	  gui/wxpython/icons/silk/vector_delete.png,
+	  gui/wxpython/icons/silk/wand.png: Add new silk icons
+
+2007-09-29 22:36  landa
+
+	* gui/wxpython/gui_modules/menuform.py: helpPanel: use LoadPage if
+	  skip_description=False
+
+2007-09-29 22:27  landa
+
+	* gui/wxpython/gui_modules/menuform.py: helpPanel: set absolute
+	  patch also for img
+
+2007-09-29 20:59  landa
+
+	* gui/wxpython/gui_modules/menuform.py: Also center vertically the
+	  GRASS logo.
+
+2007-09-29 20:56  landa
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/images/grass-tiny-logo.png: Wrap text description of
+	  module.
+	  Cosmetics in layout.
+
+2007-09-28 18:14  landa
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  About GRASS dialog added.
+
+2007-09-28 08:06  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Remove dead PyDisplayDriver
+	  (replaced by CDisplayDriver) class.
+
+2007-09-28 07:55  landa
+
+	* gui/wxpython/display_driver/Makefile,
+	  gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/digit.py: Minor changes in display
+	  driver. Need to speed up! (to use floatcanvas?)
+
+2007-09-27 10:50  landa
+
+	* gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Digitization tool: Edit line
+	  implemented, Copy cats fixed.
+	  Functionality of v.digit almost implemented.
+	  Display driver needs optimalization.
+
+2007-09-26 19:19  landa
+
+	* gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Digitization tool: Copy
+	  Categories implemented.
+
+2007-09-25 07:48  landa
+
+	* gui/wxpython/display_driver/Makefile,
+	  gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/display_driver/driver.cpp,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/display_driver/driver.i,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Various fixes for
+	  digitization tool.
+	  driver.cc renamed to driver.cpp.
+
+2007-09-25 06:44  barton
+
+	* gui/wxpython/gui_modules/georect.py: Finally back to working on
+	  the georectify module. Changed GCP manager
+	  from grid to check list control (with mixin). Buttons to add and
+	  delete
+	  GCP lines work.
+
+2007-09-23 14:24  landa
+
+	* gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Various minor fixes in
+	  digitization tool
+
+2007-09-22 14:52  landa
+
+	* gui/wxpython/compat, gui/wxpython/display_driver,
+	  gui/wxpython/gui_modules, gui/wxpython/icons,
+	  gui/wxpython/images: set property:ignore
+
+2007-09-22 12:48  landa
+
+	* gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Various fixes for dialog
+	  'Display categories'
+
+2007-09-14 17:29  calvelo
+
+	* gui/wxpython/gui_modules/toolbox.py: - Begin work on other more
+	  esoteric parameters: file added
+
+2007-09-14 09:34  neteler
+
+	* gui/wxpython/gui_modules/render.py: fixed white-space-in-path
+	  quote problem
+
+2007-09-14 09:19  neteler
+
+	* gui/wxpython/gui_modules/menudata.py: typo
+
+2007-09-10 11:52  landa
+
+	* gui/wxpython/display_driver/Makefile,
+	  gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  Fix DisplayAttributesDialog (support for more layers/categories).
+	  DigitCategoryDialog introduced (not finished).
+
+2007-09-05 14:47  landa
+
+	* gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Basic display driver
+	  optimalization (digitization tool).
+
+2007-09-04 13:36  landa
+
+	* gui/wxpython/display_driver/Makefile,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Show computation region
+	  extent implemented (available from statusbar["Extent"]).
+
+2007-09-04 11:45  landa
+
+	* gui/wxpython/gui_modules/gcmd.py: Fix getenv.
+
+2007-09-04 11:39  landa
+
+	* gui/wxpython/gui_modules/gcmd.py: Store messages/warnings/errors
+	  to the list.
+
+2007-09-04 05:44  barton
+
+	* gui/wxpython/gui_modules/georect.py: Layout for GCP management
+	  panel and grid control
+
+2007-09-04 05:44  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: Bugfix for georectify
+	  toolbar
+
+2007-09-04 05:41  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: Change icon for georectify
+	  toolbar.
+
+2007-09-04 05:17  barton
+
+	* gui/wxpython/icons/icon.py: Finish entries for georectification
+	  icons
+
+2007-09-04 05:09  barton
+
+	* gui/wxpython/icons/icon.py: Add entries for georectification
+	  icons.
+
+2007-09-04 01:20  barton
+
+	* gui/wxpython/gui_modules/georect.py: Georectify map will now open
+	  in new display.
+
+2007-09-04 01:19  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: Cosmetic improvment to
+	  georectify toolbar
+
+2007-09-04 01:01  barton
+
+	* gui/wxpython/wxgui.py: changed cmd.Command to gcmd.Command
+
+2007-09-03 13:48  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/gcmd.py,
+	  gui/wxpython/gui_modules/georect.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/select.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: cmd module renamed to
+	  gcmd
+
+2007-09-03 13:08  landa
+
+	* gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Expend statusbar
+	  information (coordinates, extent, geometry).
+	  Auto-rendering added.
+	  Minor updates of digitization tool (still disabled).
+	  Fix Pixel2Cell() & panning.
+
+2007-09-03 06:35  barton
+
+	* gui/wxpython/gui_modules/georect.py: Georectification setup
+	  wizard now works well. Will now launch mapdisplay
+	  for GCP setting.
+
+2007-09-03 06:34  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Added a bit more code to
+	  make this useable with georectifier, for
+	  interactive GCP marking.
+
+2007-09-03 06:34  barton
+
+	* gui/wxpython/gui_modules/select.py: Select now uses g.mlist
+	  (would prefer g.list if it can be changed to
+	  parse differently) instead of searching directories for elements
+	  (i.e.,
+	  element locations no longer hard-coded). Added
+	  select.Select.SetElementList(type) method to refresh selection
+	  list.
+
+2007-08-31 17:05  landa
+
+	* gui/wxpython/gui_modules/digit.py: Remove redundant code.
+
+2007-08-31 17:00  landa
+
+	* gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Minor updates for
+	  digitization tool (still disabled).
+
+2007-08-29 07:15  barton
+
+	* gui/wxpython/gui_modules/georect.py: Updates to georectifier set
+	  up wizard. Now uses comboboxes to select
+	  location, mapset, and group.
+
+2007-08-29 03:27  barton
+
+	* gui/wxpython/gui_modules/georect.py: Working on georectifier
+	  code. Set up is now a wizard.
+
+2007-08-29 03:26  barton
+
+	* gui/wxpython/wxgui.py: Code for georectifier (not yet functional)
+
+2007-08-22 08:52  landa
+
+	* gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/display_driver/driver.i,
+	  gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Minor updates for
+	  digitization tool. Still disabled.
+
+2007-08-20 11:39  landa
+
+	* gui/wxpython/display_driver/README: readme added
+
+2007-08-20 11:00  landa
+
+	* gui/wxpython/display_driver/Makefile,
+	  gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/display_driver/driver.i,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Minor updates of
+	  digitization tool
+
+2007-08-20 10:44  landa
+
+	* gui/wxpython/gui_modules/digit.py: cosmetics: redundant code
+	  removed
+
+2007-08-18 21:45  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Changing "Files" menu to
+	  "File" for better consistency with OS standards
+
+2007-08-18 21:43  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Added support for new
+	  georectify module.
+
+2007-08-18 21:41  barton
+
+	* gui/wxpython/gui_modules/georect.py: New georectify module. Only
+	  startup dialog working at present.
+
+2007-08-18 21:33  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: Added toolbar for
+	  georectification display (subset of main display toolbar)
+
+2007-08-18 21:31  barton
+
+	* gui/wxpython/gui_modules/select.py: Added new dialog class to
+	  select.py. This lets the GIS element selection
+	  control be displayed in a dialog and launched from a button or
+	  other
+	  control. Useful for embedding in handler that sets location and
+	  mapset
+	  prior to calling selector (georectifying module) and so that map
+	  selection
+	  can be called from a toolbar button.
+
+2007-08-18 14:40  landa
+
+	* gui/wxpython/display_driver/Makefile,
+	  gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/display_driver/pseudodc.cpp,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Digitization tool: Use
+	  wx.PseudoDC instead of wxDC.
+	  Temporary added pseudodc.cpp from wxPython src.
+
+2007-08-17 08:43  landa
+
+	* gui/wxpython/display_driver,
+	  gui/wxpython/display_driver/Makefile,
+	  gui/wxpython/display_driver/Makefile.in,
+	  gui/wxpython/display_driver/driver.cc,
+	  gui/wxpython/display_driver/driver.h,
+	  gui/wxpython/display_driver/driver.i: Experimental C++ wxWidgets
+	  display driver for digitization tool.
+	  
+	  The beta version of digitization tool is still unfinished, now
+	  disabled for user.
+
+2007-08-16 17:18  barton
+
+	* gui/wxpython/wxgrass: Updated wxgrass startup script so that it
+	  runs non-modally
+
+2007-08-16 16:16  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Barscale and legend overlay
+	  code improved. Overlay layers not added
+	  until user selects overlay from menubar. Barscale (north arrow
+	  only) and
+	  legend now work in latlon locations.
+
+2007-08-16 16:14  barton
+
+	* gui/wxpython/gui_modules/render.py: Code cleanup. Classes changed
+	  to new style for Python 2.4+
+
+2007-08-16 07:49  landa
+
+	* gui/wxpython/README: Debian GNU/Linux installation notes updated
+
+2007-08-16 05:45  barton
+
+	* gui/wxpython/gui_modules/render.py: removed more temporary
+	  debugging code
+
+2007-08-14 08:37  neteler
+
+	* gui/wxpython/README: new Fedora RPMs from Brad
+
+2007-08-10 22:16  barton
+
+	* gui/wxpython/gui_modules/render.py: Remove debugging code.
+
+2007-08-10 05:15  barton
+
+	* gui/wxpython/README: Remove reference to special init.sh (use cvs
+	  version now) and added
+	  more places to get wxPython and Python.
+	  
+	  (Thought I'd committed this several days ago).
+
+2007-08-09 06:24  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Fixed display rendering so
+	  that map or zoomed area always fits in
+	  window. Rendering seems faster too.
+
+2007-08-08 15:11  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Restored default arrow
+	  cursor
+
+2007-08-08 07:32  barton
+
+	* gui/wxpython/gui_modules/render.py: Improved handling of zooming,
+	  but still could be improved.
+
+2007-08-08 07:31  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Minor fix to include all
+	  raster map types
+
+2007-08-07 06:02  barton
+
+	* gui/wxpython/Init.sh: Outdated version of init.sh no longer
+	  needed
+
+2007-08-06 04:41  barton
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  gmpath argument no longer used by menuform. Removed.
+
+2007-08-06 04:00  barton
+
+	* gui/wxpython/location_wizard.py: Fix for bugs introduced in last
+	  update. Also, now behaves properly if
+	  g.proj fails or if "No" is pressed in the final dialog.
+
+2007-08-06 02:44  barton
+
+	* gui/wxpython/location_wizard.py: Improved wizard control and
+	  error checking. Bugfix for custom projstring location
+
+2007-08-05 20:17  neteler
+
+	* gui/wxpython/README: Mandriva 2007.1 wxPython package
+
+2007-08-05 18:55  barton
+
+	* gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py: Added
+	  raster arrows (d.rast.arrow) layer to layer manager
+
+2007-08-05 17:48  barton
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/wxgui.py: Added new
+	  layer types to layer manager: shaded map, rhumbline, and geodesic
+	  line
+
+2007-08-04 23:58  barton
+
+	* gui/wxpython/gis_set.py: Fixed small bug in rename/delete control
+
+2007-08-04 21:39  barton
+
+	* gui/wxpython/location_wizard.py: Bug fix for coordinate setting
+	  pages
+
+2007-08-04 06:42  barton
+
+	* gui/wxpython/gis_set.py: Completed location/mapset management
+	  functions. Added header string.
+
+2007-08-04 06:41  barton
+
+	* gui/wxpython/location_wizard.py: Header string update
+
+2007-08-04 06:02  barton
+
+	* gui/wxpython/gis_set.py: Removed region defaults button (not
+	  settable when location created or
+	  within working session via g.region). Added new location
+	  management
+	  choice control: rename and delete mapsets and locations.
+
+2007-08-04 05:59  barton
+
+	* gui/wxpython/location_wizard.py: Added option to create default
+	  extents and resolution back into wizard.
+
+2007-08-03 06:53  barton
+
+	* gui/wxpython/location_wizard.py: Summary page working and XY
+	  location creation working. Location wizard
+	  finished (although some enhancements still possible).
+
+2007-08-02 07:11  barton
+
+	* gui/wxpython/location_wizard.py: Code cleanup. TODO: fix summary
+	  page so that it shows selected values
+	  and finish code for XY location.
+
+2007-08-02 06:43  barton
+
+	* gui/wxpython/gis_set.py: Default region setting tool completed.
+	  Works for any location, new or old.
+
+2007-08-01 16:01  barton
+
+	* gui/wxpython/gis_set.py: Basic layout for default region setting
+	  done. Note that I've deactivated
+	  functions that require external programs that do not come with
+	  GRASS and
+	  may not be present on all systems.
+
+2007-08-01 06:34  barton
+
+	* gui/wxpython/gis_set.py: Initial layout and code for new region
+	  setting frame.
+
+2007-08-01 06:07  barton
+
+	* gui/wxpython/gis_set.py: When new location created in wizard, it
+	  is automatically selected along
+	  with the new PERMANENT mapset. EPSG and Georeferenced file
+	  classes removed
+	  from gis_set.py because they are now in location wizard.
+
+2007-08-01 06:06  barton
+
+	* gui/wxpython/location_wizard.py: Setting region extents disabled.
+	  Will be moved to intro screen button.
+	  Added location variable (if new location creation successful) for
+	  use
+	  in intro panel.
+
+2007-07-30 02:53  barton
+
+	* gui/wxpython/gui_modules/render.py: Checks for valid layer type
+	  from list of layer types before writing message that layer type
+	  not supported.
+
+2007-07-29 21:55  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: A call to self.OnSize() in
+	  BufferedWindow init was un-commented in the
+	  latest revision. This caused render.Map.width to be set to 0
+	  initially
+	  because OnSize was called before the map display window was
+	  created. The
+	  result was a crash on init due to division by 0.
+	  
+	  I don't know why this was uncommented, but I left it in. I moved
+	  the
+	  call to render.SetRegion to PRIOR to the OnSize call to make sure
+	  that
+	  the window was creaated before calling OnSize. This seems to have
+	  solved
+	  the crash and doesn't seem to have any adverse effects.
+	  
+	  The alternative solution would be to comment out the inital call
+	  to
+	  Onsize again.
+
+2007-07-23 07:49  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Fix bug: inport module
+	  in digit.py
+	  Part of updates for digitization tool (still disabled).
+
+2007-07-18 14:58  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Additional fixes for
+	  Each map window works with unique digit instance
+	  
+	  WARNING: Still using PyDisplayDriver, drawing of map on the
+	  canvas is extremely slow. C driver under development.
+
+2007-07-18 11:46  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Each map window works with
+	  unique digit instance
+	  WARNING: Still using PyDisplayDriver, drawing of map on the
+	  canvas is extremely slow. C driver under development.
+
+2007-07-12 13:12  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Minor fixes in digit tool
+
+2007-07-11 15:14  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  Digitization tool: other tools implemeneted (move line,
+	  add/remove vertex)
+	  Still TEMPORARY solution (C/C++ Display driver needed)
+
+2007-07-09 16:10  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py: Digitization tool: Various updates,
+	  experimental DisplayDriver introduced -- based on SWIG-Python
+	  interface, EXTREMELY SLOW!!! Will replaced by C/C++ driver in the
+	  future
+
+2007-07-07 16:45  barton
+
+	* gui/wxpython/location_wizard.py: Clean up MessageBox strings for
+	  final location creation output.
+
+2007-07-06 06:52  barton
+
+	* gui/wxpython/location_wizard.py: Added copyright header and
+	  docstrings
+
+2007-07-06 06:30  barton
+
+	* gui/wxpython/location_wizard.py: Bug fix for custom PROJ.4 string
+	  location creation.
+
+2007-07-06 04:01  barton
+
+	* gui/wxpython/location_wizard.py: location wizard working for all
+	  location creation types except xy.
+	  Extent setting not yet functional.
+
+2007-07-04 21:29  barton
+
+	* gui/wxpython/gui_modules/cmd.py: Bug fix. Underscores ("_")
+	  generate an error when used in wx.MessageBox.
+
+2007-07-04 20:58  barton
+
+	* gui/wxpython/location_wizard.py: Attempting to create new
+	  locations with g.proj and PROJ.4 strings. Not
+	  working, but must be close. Committing in case others want to
+	  take a look.
+
+2007-07-04 09:02  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Bug fix.
+
+2007-07-04 08:39  barton
+
+	* gui/wxpython/location_wizard.py: Lists are now sorted and initial
+	  PROJ.4 string created.
+
+2007-07-04 06:10  barton
+
+	* gui/wxpython/location_wizard.py: Major overhaul of location
+	  wizard. Close to being able to create valid
+	  PROJ.4 strings now.
+
+2007-07-03 08:45  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: Digitization tool:revert
+	  delete line (typo)
+
+2007-07-02 16:35  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgui.py:
+	  Minor fixes in digitization tool
+
+2007-06-30 22:42  barton
+
+	* gui/wxpython/location_wizard.py: Further improvements to summary
+	  page. Create variables to use in PROJ.4
+	  string for g.proj
+
+2007-06-30 03:53  barton
+
+	* gui/wxpython/location_wizard.py: Improvements to summary page
+	  reporting
+
+2007-06-30 02:56  barton
+
+	* gui/wxpython/location_wizard.py: Code cleanup and better user
+	  message for EPSG location setting.
+
+2007-06-30 02:49  barton
+
+	* gui/wxpython/gis_set.py: Location list updated after new location
+	  created in wizard.
+
+2007-06-29 14:50  landa
+
+	* gui/wxpython/gui_modules/cmd.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py: Digitization tool:
+	  * DisplayAttributesDialog
+	  * Various minor fixes
+
+2007-06-29 07:17  barton
+
+	* gui/wxpython/location_wizard.py: Working toward custom coordinate
+	  system/projection setting.
+
+2007-06-29 06:55  barton
+
+	* gui/wxpython/gis_set.py, gui/wxpython/location_wizard.py:
+	  Location wizard functional for EPSG and georeferenced files for
+	  location
+	  setting. Updated gis_set.py to remove buttons for individual EPSG
+	  and
+	  file options now that wizard is working. Some code cleanup in
+	  both modules.
+
+2007-06-29 02:24  barton
+
+	* gui/wxpython/gui_modules/rules.py: Add newline to rules for
+	  r.recode
+
+2007-06-28 07:06  barton
+
+	* gui/wxpython/location_wizard.py: EPSG code location creation now
+	  working in wizard
+
+2007-06-27 09:37  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/render.py: Fix bug in dbm.RedrawMap
+
+2007-06-26 04:55  barton
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  Update menu and rules entry to make use of new rules= option for
+	  r.reclass and r.recode.
+
+2007-06-24 02:16  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Updates to vector menu
+
+2007-06-23 23:23  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Differentiate more
+	  duplicate menu text items
+
+2007-06-23 23:12  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Remove duplicate menu entry
+	  text so that commands execute properly.
+
+2007-06-22 15:01  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Digitization tool: minor
+	  updates
+
+2007-06-22 12:19  landa
+
+	* gui/wxpython/gui_modules/cmd.py: ReadStdOutput() method added to
+	  Command class. Set py-indent-offset to 4
+
+2007-06-21 15:35  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/select.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Digitization tool:
+	  dialog 'settings' improved
+
+2007-06-21 09:08  landa
+
+	* gui/wxpython/gui_modules/cmd.py: Fix minor bug in debug mode
+
+2007-06-20 15:44  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/gui_modules/toolbars.py: Digitization tool: added
+	  new dialogs (settings, add new record into table), etc.
+
+2007-06-19 15:05  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/wxgui.py: Digitization
+	  tool is progress... (minor changes)
+
+2007-06-16 02:19  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Minor updates
+
+2007-06-16 02:11  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Minor menu updates
+
+2007-06-15 15:35  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Update database menu
+
+2007-06-15 07:57  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Minor menu updates and
+	  corrections
+
+2007-06-15 05:13  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Minor name change
+
+2007-06-15 04:59  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Added r.out.ppm3 to menu
+
+2007-06-14 19:06  barton
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  Added new mapset access setting dialog.
+
+2007-06-14 05:24  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Added in v.transform.
+
+2007-06-13 01:37  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Finished menu updating.
+
+2007-06-12 07:35  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Add menu entry for nviz
+
+2007-06-12 06:53  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Menu update. Reduce all
+	  menu nesting to max of 2 levels.
+
+2007-06-12 06:38  barton
+
+	* gui/wxpython/gui_modules/rules.py, gui/wxpython/wxgui.py: Add
+	  overwrite option for interactive reclassify and recode.
+
+2007-06-12 06:19  barton
+
+	* gui/wxpython/gui_modules/cmd.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/defaultfont.py,
+	  gui/wxpython/gui_modules/disp_print.py,
+	  gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/rules.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Update module headers for classes, authorship, copyright
+	  information, etc.
+
+2007-06-12 05:47  barton
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py: More
+	  menu updates. Up through vector items. Also have remaining xterm
+	  modules now working from wxgrass (automatic launch of xmon and
+	  launch
+	  of module in interactive xterm). Improved algorithms for using
+	  rules.
+
+2007-06-12 05:41  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Code cleanup. Deleted
+	  TreeCtrlComboPopup class whose function was moved
+	  to select.py some time back.
+
+2007-06-11 06:07  cepicky
+
+	* gui/wxpython/wxgui.py: another promt description
+
+2007-06-11 05:54  barton
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py: More
+	  menu updating. r.reclass and r.recode can now use interactive
+	  rule setting. v.reclass should work, but doesn't yet.
+
+2007-06-11 05:52  barton
+
+	* gui/wxpython/gui_modules/select.py: Code cleanup. Replace
+	  os.popen with subprocess.Popen
+
+2007-06-10 19:03  barton
+
+	* gui/wxpython/gui_modules/__init__.py: Update to include new rules
+	  module
+
+2007-06-10 19:02  barton
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py: More
+	  menu updates. Interactive color rules setting enabled.
+
+2007-06-10 19:01  barton
+
+	* gui/wxpython/gui_modules/rules.py: New module to allow
+	  interactive creation and editing of rules for color
+	  management, reclassification, and recoding. Currently just a
+	  simple
+	  TextCtrl interface, but could be made much nicer and more
+	  sophisticated.
+
+2007-06-10 18:59  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Code cleanup.
+
+2007-06-10 18:32  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/select.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/toolbox.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py: first part of digit tool updates
+
+2007-06-09 11:40  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: Reenable query tool, minor
+	  code cleaning
+
+2007-06-09 11:21  landa
+
+	* gui/wxpython/gui_modules/menuform.py: minor fix OnCopy(): cmdlist
+	  -> cmdstring
+
+2007-06-08 15:22  chemin
+
+	* gui/wxpython/gui_modules/menudata.py: restoring menudata.py?
+
+2007-06-08 14:56  chemin
+
+	* gui/wxpython/gui_modules/menudata.py: Updated GIPE to include
+	  install of HydroFOSS, i.pr and i.landsat.dehaze, not fully
+	  working yet
+
+2007-06-08 06:50  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Clean up debugging code
+
+2007-06-08 06:49  barton
+
+	* gui/wxpython/gui_modules/menudata.py, gui/wxpython/wxgui.py:
+	  Further updates to menu
+
+2007-06-08 06:42  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fixing bugs in CLI
+	  parsing.
+
+2007-06-08 05:22  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Clean up debugging code
+
+2007-06-08 02:48  barton
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Minor fix so that
+	  accidentally selecting (nonfunctional) georectify
+	  menu item does not cause an error.
+
+2007-06-08 02:45  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Updated file menu to
+	  include all items in TclTk menus
+
+2007-06-08 02:44  barton
+
+	* gui/wxpython/wxgui.py: Add status bar with auto display of help
+	  for menu items.
+
+2007-06-07 00:16  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Changed delimiter
+	  between display commands in the CLI from , to ;
+
+2007-06-06 20:05  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fixed CLI so that d.*
+	  commands with arguments now display to current
+	  map display. Multiple d.* commands, separated by commas will
+	  display.
+
+2007-06-06 07:56  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Further fixes for
+	  command line processing. d.* commands without
+	  arguments work now to add layer to layer tree.
+
+2007-06-06 07:36  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fix for command line
+	  entry. d.* commands not working yet, but getting
+	  closer.
+
+2007-06-06 06:51  barton
+
+	* gui/wxpython/wxgui.py: Some code cleanup and tightening minimum
+	  window size.
+
+2007-06-06 06:34  barton
+
+	* gui/wxpython/wxgui.py: Added command prompt at bottom
+
+2007-06-06 06:13  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Layer manager window (GIS Manager) now a AUI managed window so
+	  that
+	  map display can be docked to it by user if desired.
+
+2007-06-05 16:35  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: remove redundant code
+
+2007-06-05 14:06  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  minor changes in layer popup menu
+
+2007-06-05 07:35  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Capitalized method name to
+	  match other formatting.
+
+2007-06-05 05:12  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Toolbar should be top
+	  dockable and not left dockable. Otherwise it creates
+	  a panel that occupies most of the displa window. Probably the
+	  same should
+	  be the case for Digitize toolbar.
+
+2007-06-05 04:33  barton
+
+	* gui/wxpython/gui_modules/render.py: Add docstring to ProjInfo
+	  method
+
+2007-06-05 04:29  barton
+
+	* gui/wxpython/gui_modules/profile.py: Automatically shows distance
+	  units in x-axis label by default.
+
+2007-06-05 04:19  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fix calculation error for
+	  cumulative distance.
+
+2007-06-05 04:12  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Nicer formatting of
+	  measurement output, using algorithm developed by
+	  Hamish Bowman.
+
+2007-06-01 16:06  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py: minor bugfix (close
+	  mapdisplay window)
+
+2007-06-01 10:37  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Various minor fixes
+	  (concerning with AddBarscale, etc)
+
+2007-05-30 16:30  landa
+
+	* gui/wxpython/gui_modules/histogram.py: minor fix (fn name
+	  changed)
+
+2007-05-30 15:04  landa
+
+	* gui/wxpython/gui_modules/select.py: sort list of elements (fix)
+
+2007-05-30 06:52  barton
+
+	* gui/wxpython/gui_modules/profile.py: Automatic use of units
+	  (r.info -u) in y-axis label if set.
+
+2007-05-29 23:33  barton
+
+	* gui/wxpython/gui_modules/profile.py: Remove dbug code
+
+2007-05-29 11:17  landa
+
+	* gui/wxpython/wxgui.py: DocString updated
+	  SplashScreen added (using the current one from gis.m), should be
+	  updated
+
+2007-05-29 09:24  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py: *
+	  Fix RunCmd() concerning command string -> list (see cmd.py)
+	  * Minor changes in digitization tool
+
+2007-05-28 21:08  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Removing access to profile
+	  tool from menu. It will only work when called
+	  from a map display.
+
+2007-05-28 21:03  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py: Cosmetic improvements to
+	  profile tool
+
+2007-05-28 20:48  barton
+
+	* gui/wxpython/gui_modules/select.py: Reverting ability to set
+	  styles. May cause problems.
+
+2007-05-28 15:43  landa
+
+	* gui/wxpython/gui_modules/menuform.py: cosmetics (statusbar)
+
+2007-05-28 15:36  landa
+
+	* gui/wxpython/wxgui.py: typo
+
+2007-05-28 15:28  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Fix dragging tree item (groups). Capitalize method names.
+
+2007-05-28 08:25  barton
+
+	* gui/wxpython/gui_modules/profile.py: Added GLP/GRASS header and
+	  updated doc strings.
+
+2007-05-28 08:11  barton
+
+	* gui/wxpython/gui_modules/select.py: Can specify styles.
+
+2007-05-28 08:10  barton
+
+	* gui/wxpython/gui_modules/profile.py: Bug fixes, error trapping,
+	  new icon (**MUST UPDATE ICONS FROM CVS**).
+
+2007-05-28 08:09  barton
+
+	* gui/wxpython/icons/icon.py: Added new icon for profile options.
+	  ***MUST UPDATE ICONS FROM CVS***
+
+2007-05-28 02:06  barton
+
+	* gui/wxpython/gui_modules/profile.py: Second set of enhancements
+	  to profiling tool. Most plot options fully
+	  customizable. Still need better error checking, auto unit
+	  setting, and
+	  axis value formatting.
+
+2007-05-28 02:04  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Added method for cleaning
+	  display of lines created by measurement and profile.
+
+2007-05-27 17:46  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Minor code cleanup for
+	  better interaction with profile.
+
+2007-05-25 16:18  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: typo
+
+2007-05-25 16:16  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: map querying fixed
+
+2007-05-25 15:38  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: enable mouse wheel zooming
+
+2007-05-25 15:08  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: minor draging item fix
+
+2007-05-25 15:07  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: MouseAction(): new
+	  OnLeftDown(), OnLeftUp(), etc. methods
+
+2007-05-25 12:47  landa
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Histogram also available
+	  from popup menu (raster specific)
+
+2007-05-25 10:58  landa
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Layer opacity level and
+	  histogram module fixed (Layer class changes)
+
+2007-05-24 15:35  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: layertype fix
+
+2007-05-24 15:32  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  AbstractLayer added, changes concerning to Map.lookup
+
+2007-05-24 15:32  landa
+
+	* gui/wxpython/gui_modules/render.py: Get rid of Map.lookup
+	  dictionary
+
+2007-05-24 07:03  barton
+
+	* gui/wxpython/gui_modules/profile.py: Triangles are easier to see
+	  than pluses for segment markers. But I'll
+	  add marker customization for those who disagree.
+
+2007-05-24 05:49  barton
+
+	* gui/wxpython/gui_modules/profile.py: Set default axis font size
+	  to 12
+
+2007-05-24 05:48  barton
+
+	* gui/wxpython/gui_modules/profile.py: Bug fix for axis labeling
+
+2007-05-24 05:34  barton
+
+	* gui/wxpython/gui_modules/profile.py: Second round of enhancements
+	  to new profile module. Can enable zooming
+	  and dragging to focus on sections of interest. Can simultaneously
+	  profile up to 3 raster maps.
+
+2007-05-24 02:04  barton
+
+	* gui/wxpython/gui_modules/profile.py: Fix for plots with only 1
+	  segment
+
+2007-05-23 23:50  barton
+
+	* gui/wxpython/gui_modules/profile.py: First round of enhancements
+	  to profiling module. No segment markers for profile
+	  beginning and end. Custom text settings for titles and axis
+	  labels.
+
+2007-05-23 14:23  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py: cosmetics
+
+2007-05-23 12:16  landa
+
+	* gui/wxpython/gui_modules/profile.py,
+	  gui/wxpython/gui_modules/render.py: do not raise exception if
+	  NumPy is missing
+
+2007-05-23 10:38  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  minor popup menu fixes (layertype)
+
+2007-05-23 10:25  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  additional fixes concerning to layertype changes
+
+2007-05-23 10:14  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: typo
+
+2007-05-23 10:13  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: render.py:
+	  * remove MapLayer.mapset attribute -- mapset name is a part of
+	  the MapLayer.name
+	  * new MapLayer.GetMapset()
+	  wxgui_utils.py:
+	  * new Layer class (get rid of LayerTree.layertype, properties,
+	  etc.) -- in the progress!
+
+2007-05-23 08:57  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Fix:
+	  * SaveRegion(): Popen() -> cmd.Command()
+	  * cmd string -> list
+
+2007-05-22 12:51  landa
+
+	* gui/wxpython/gui_modules/toolbars.py: cosmetics
+
+2007-05-22 12:44  landa
+
+	* gui/wxpython/gui_modules/toolbars.py: refactoring
+
+2007-05-22 09:59  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py: * DisplayToWind(): Popen ->
+	  cmd.Command
+	  * Cosmetics in cmd.py
+
+2007-05-21 20:57  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py: New profiling module. May
+	  require numeric, numarray, or numpy. Import
+	  of these modules is commented out and it works OK on my system,
+	  but I
+	  DO have numpy installed.
+
+2007-05-21 13:56  landa
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: set up 'mapName' and
+	  'mapMapset' based on 'name'
+
+2007-05-21 13:30  landa
+
+	* gui/wxpython/wxgui.py: 'Show attribute table' works again
+	  (changes in cmd module)
+
+2007-05-20 18:25  clements
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/profile.py, gui/wxpython/wxgui.py:
+	  Rename GRASS_FT_ENCODING -> GRASS_ENCODING
+
+2007-05-19 21:41  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Refresh item line when
+	  selecting. Makes for nicer display.
+
+2007-05-19 21:35  barton
+
+	* gui/wxpython/wxgui.py: Removed unused richtext import
+
+2007-05-19 15:59  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: fixed typo in r.info command
+
+2007-05-18 15:45  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fixed zoom to map bug
+	  (another command string to list change)
+
+2007-05-18 15:32  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Update to deal with
+	  non-modal properties dialogs for overlays.
+
+2007-05-18 15:11  barton
+
+	* gui/wxpython/gui_modules/histogram.py: Updated histogram to deal
+	  with commands as lists and non-modal properties
+	  dialogs
+
+2007-05-18 07:32  barton
+
+	* gui/wxpython/gui_modules/histogram.py: Added quit button
+
+2007-05-18 07:32  barton
+
+	* gui/wxpython/icons/icon.py: Added entry for wx.ART_QUIT (quit
+	  icon)
+
+2007-05-18 07:17  barton
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Properties dialogs (from
+	  menuform.py) now non-modal again. Apply button
+	  works properly and any properties/command dialogs can be altered
+	  without
+	  closing them. Properties dialogs launched from the GIS Manager
+	  layer
+	  tree will be closed whenever the associated layer is deleted
+	  (including
+	  drag and drop).
+
+2007-05-18 05:46  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Improved measure tool. Better
+	  formatting, shows bearing for non-latlon
+	  locations.
+
+2007-05-18 04:59  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Multiple fixes to get
+	  GUI working again after switching command syntax
+	  to use lists instead of strings. May be more left to fix. Also
+	  added
+	  units to measurment output.
+
+2007-05-18 01:27  clements
+
+	* gui/wxpython/gui_modules/render.py: "cmd" is a list, not a string
+
+2007-05-17 22:09  clements
+
+	* gui/wxpython/gui_modules/cmd.py, gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/debug.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Commands are lists, not
+	  strings
+
+2007-05-17 20:39  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Measure tool working. Needs
+	  a bit of formatting (too many digits after
+	  decimal) and adding units.
+
+2007-05-16 14:39  neteler
+
+	* gui/wxpython/gui_modules/toolbars.py: broken long lines
+
+2007-05-16 09:09  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: fixing 'Zoom to saved
+	  region'
+
+2007-05-15 23:55  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Preliminary version of
+	  measurement tool working. More cleanup of mouse
+	  actions dictionary.
+
+2007-05-15 19:22  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fix rectangle draw so that
+	  it will draw in all directions (not just to
+	  lower right). Fix line draw so that it works.
+
+2007-05-15 18:28  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Added new mouse action
+	  dictionary item "use" to better manage different
+	  kinds of mouse drawing on screen (e.g., measurement, profiles,
+	  and
+	  eventually?] network paths).
+
+2007-05-15 18:26  barton
+
+	* gui/wxpython/icons/icon.py: Restoring reference to legend icon
+	  that I accidentally removed.
+
+2007-05-15 17:39  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: Rearranged tools a bit to
+	  put all zooming functions together
+
+2007-05-15 17:34  barton
+
+	* gui/wxpython/gui_modules/select.py: list of GRASS elements is
+	  sorted for element selection control
+
+2007-05-15 14:07  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Minor changes
+	  [digitization]
+
+2007-05-15 07:09  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fixed bogus error about
+	  not being to execute d.grid.
+
+2007-05-15 06:37  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py, gui/wxpython/wxgui.py: Added all the
+	  methods and icons to add d.rast.num and d.rast.arrow
+	  maps to layer tree. But these will not display correctly because
+	  they depend on the display having a coarse resolution (i.e.,
+	  matching
+	  the computational resolution when zoomed in), and this is not
+	  possible
+	  with current rendering methods. Also, the grid color in
+	  d.rast.arrow cannot
+	  be set to "none" (i.e., transparent). So I've commented out the
+	  lines
+	  that make them show up on the raster layer menu, but left in all
+	  the
+	  code otherwise.
+
+2007-05-14 20:02  calvelo
+
+	* gui/wxpython/gui_modules/grass-interface.dtd: - Changes logged
+	  inline
+
+2007-05-14 14:07  landa
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py:
+	  * 'Analyze' icon added
+	  * wrong indentation fixed
+
+2007-05-14 13:41  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/icon.py: * various minor code cleaning
+
+2007-05-13 06:42  barton
+
+	* gui/wxpython/gui_modules/defaultfont.py: Improved widget
+	  formatting
+
+2007-05-13 06:41  barton
+
+	* gui/wxpython/gui_modules/histogram.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/profile.py: Update for profiling module
+
+2007-05-13 06:40  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: Update for profile module
+
+2007-05-13 03:28  calvelo
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: - Minor cleanup
+
+2007-05-13 03:26  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Make man filtering
+	  optional in the code (default: show everything)
+
+2007-05-11 23:43  barton
+
+	* gui/wxpython/gui_modules/render.py: Code cleanup
+
+2007-05-11 23:42  barton
+
+	* gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py:
+	  Setting GRASS_RENDER_IMMEDIATE to TRUE for entire GUI session so
+	  that
+	  d.font -l will work correctly.
+
+2007-05-11 23:19  barton
+
+	* gui/wxpython/gui_modules/menudata.py: adding profiling module to
+	  menu
+
+2007-05-11 23:18  barton
+
+	* gui/wxpython/wxgui.py: methods to access profiling module
+
+2007-05-11 23:18  barton
+
+	* gui/wxpython/icons/icon.py: Adding icons for profiling module
+
+2007-05-11 23:17  barton
+
+	* gui/wxpython/gui_modules/profile.py: Beginning of profiling
+	  module
+
+2007-05-11 21:55  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Set
+	  GRASS_RENDER_IMMEDIATE to TRUE for entire GUI session. Needed for
+	  proper functioning of d.font -l and generation of font list for
+	  default
+	  display font selection.
+
+2007-05-09 23:36  barton
+
+	* gui/wxpython/gui_modules/render.py: Minor code cleanup
+
+2007-05-07 20:06  barton
+
+	* gui/wxpython/gui_modules/defaultfont.py,
+	  gui/wxpython/gui_modules/histogram.py, gui/wxpython/wxgui.py:
+	  Updated display font selection to use d.font -l rather than
+	  parsing
+	  freetypecap and fonts directory directly.
+
+2007-05-07 09:30  landa
+
+	* gui/wxpython/gui_modules/utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: fn removed (already
+	  available in utils.py)
+
+2007-05-07 09:22  landa
+
+	* gui/wxpython/gui_modules/render.py: cosmetics -- fix broken
+	  commit
+
+2007-05-06 02:31  barton
+
+	* gui/wxpython/icons/icon.py: Added icons for profile module
+
+2007-05-05 21:42  barton
+
+	* gui/wxpython/icons/icon.py: Bug fix
+
+2007-05-05 21:39  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: Fixed typo bug
+
+2007-05-05 21:36  barton
+
+	* gui/wxpython/icons/icon.py: New overlay icon (must update icons
+	  from cvs)
+
+2007-05-05 21:36  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: New overlay icon (must
+	  update icons from cvs)
+
+2007-05-05 17:49  barton
+
+	* gui/wxpython/gui_modules/histogram.py: Simplified interface.
+
+2007-05-05 17:35  barton
+
+	* gui/wxpython/icons/icon.py: Added color pallet icon.
+
+2007-05-05 15:21  barton
+
+	* gui/wxpython/icons/palette.gif: pallet icon from Bwidget
+	  collection
+
+2007-05-05 15:14  barton
+
+	* gui/wxpython/gui_modules/histogram.py: Code cleanup. Respects
+	  default display font if nothing set specifically for histogram.
+
+2007-05-05 14:50  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Clean up docstrings.
+
+2007-05-05 07:00  barton
+
+	* gui/wxpython/icons/icon.py: Added icons used for histogramming
+
+2007-05-05 06:59  barton
+
+	* gui/wxpython/gui_modules/render.py: Minor code cleanup
+
+2007-05-05 06:57  barton
+
+	* gui/wxpython/gui_modules/menudata.py: Add histogramming to menu
+
+2007-05-05 06:57  barton
+
+	* gui/wxpython/gui_modules/histogram.py: New module for creating a
+	  histogram of an image or raster file, using
+	  d.histogram. Histogam appears in its own display canvas, with a
+	  toolbar
+	  for setting options, setting font, saving, and printing. This can
+	  serve
+	  as platform for a profile module too.
+
+2007-05-05 06:55  barton
+
+	* gui/wxpython/gui_modules/defaultfont.py: Minor bug fix
+
+2007-05-05 06:37  barton
+
+	* gui/wxpython/wxgui.py: Fix bug with encoding in default font
+	  setting.
+
+2007-05-05 01:28  barton
+
+	* gui/wxpython/icons/icon.py: Added histogram icon
+
+2007-05-04 16:07  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: some cosmetics in
+	  digitization tool
+
+2007-05-04 15:23  landa
+
+	* gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/toolbars_silk.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/wxgui_silk.py: * remove unused files (_silk), see
+	  README, section THEMES
+	  * basic tools of digitization implemented (not really useful),
+	  will be improved
+
+2007-05-04 13:29  landa
+
+	* gui/wxpython/gui_modules/select.py: bugfix: crashed if no layer
+	  is available (in search mapset path)
+
+2007-05-04 13:03  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: * MapLayer: name/mapset
+	  attributes added
+	  * some minor changes in digit toolbar
+
+2007-05-04 03:45  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Code cleanup
+
+2007-05-04 00:23  barton
+
+	* gui/wxpython/gui_modules/defaultfont.py: Ignore duplicate
+	  truetype fonts in freetypecap when contructing font list
+
+2007-05-03 16:36  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Code cleanup.
+
+2007-05-03 15:43  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: bugfix: enable modify
+	  overlays
+
+2007-05-03 15:41  barton
+
+	* gui/wxpython/gui_modules/defaultfont.py, gui/wxpython/wxgui.py:
+	  Updated default display font selection to include stroke fonts
+	  and
+	  character encoding. Truetype fonts are selected from a list
+	  generated
+	  out of freetypecap file.
+
+2007-05-03 15:26  landa
+
+	* gui/wxpython/gui_modules/dbm.py: ShowAttributeTable: dialog
+	  message if no attribute table is available
+
+2007-05-02 17:19  landa
+
+	* gui/wxpython/wxgui.py: cosmetics: separator added
+
+2007-05-02 17:04  landa
+
+	* gui/wxpython/wxgui.py: 'Delete layer' dialog message cosmetics
+
+2007-05-02 16:50  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Dialog message 'No layer selected' added (deleteLayer,
+	  ShowAttributeTable)
+
+2007-05-02 15:02  landa
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: setting layer opacity
+	  works again
+
+2007-05-02 14:35  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/silk/__init__.py, gui/wxpython/wxgui.py: 'Show
+	  attribute table' available from (again) the toolbar and
+	  contextual menu
+
+2007-05-02 14:03  landa
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  'remove' added to the contextual menu
+
+2007-04-30 14:50  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  'Show Attribute Table' moved from the toolbar to the context menu
+
+2007-04-30 13:09  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: 4-space indentation
+
+2007-04-30 12:51  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Layer context menu added
+	  (currently on 'Properties' available)
+
+2007-04-30 12:15  landa
+
+	* gui/wxpython/gui_modules/menuform.py: make mainFrame modal
+
+2007-04-30 11:43  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  simplify rendering layers
+
+2007-04-30 08:47  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: 4-space indentation
+
+2007-04-30 07:22  landa
+
+	* gui/wxpython/gui_modules/render.py: 4-space indentation
+
+2007-04-29 07:14  barton
+
+	* gui/wxpython/gui_modules/defaultfont.py: Added GRASS info header
+
+2007-04-29 07:14  barton
+
+	* gui/wxpython/gui_modules/select.py: modified GRASS info header
+
+2007-04-29 07:08  barton
+
+	* gui/wxpython/gui_modules/menudata.py,
+	  gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py: Add
+	  menu item for setting default display font.
+
+2007-04-29 07:07  barton
+
+	* gui/wxpython/gui_modules/defaultfont.py: Module for setting
+	  default display font
+
+2007-04-29 05:29  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Updated set computational
+	  region from display so that it does not
+	  change resolution
+
+2007-04-29 05:18  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Updated save to named region
+	  and zoom to named region so that it does
+	  not affect current wind file or resolution of computational
+	  region.
+
+2007-04-26 11:59  landa
+
+	* gui/wxpython/gui_modules/menuform.py: wrong keyword fixed
+
+2007-04-26 10:25  landa
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/select.py: TreeCtrl: cannot select
+	  mapset item
+
+2007-04-26 07:37  landa
+
+	* gui/wxpython/gui_modules/cmd.py: typo
+
+2007-04-25 07:33  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: saving display to region and
+	  zooming to saved region working, but is changin
+	  region resolution slightly. Need to fix this.
+
+2007-04-25 06:16  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Structure in place for
+	  zooming to saved region extents and saving display
+	  extents to region file.
+	  
+	  Some code cleanup.
+
+2007-04-25 03:22  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Removed references to track.py.
+	  No longer needed.
+
+2007-04-25 02:49  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Code cleanup. Removed
+	  references to track.py. No longer needed.
+
+2007-04-24 18:02  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - minor adjustments
+
+2007-04-24 11:49  landa
+
+	* gui/wxpython/wxgui.py: print -> messagedialog
+
+2007-04-24 11:40  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/wxgui.py: fix overlay icons
+
+2007-04-24 10:39  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk/__init__.py: digit icons fixed
+
+2007-04-24 04:45  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - testcase for file
+	  selector
+	  - robust handling of keywords
+
+2007-04-24 01:47  calvelo
+
+	* gui/wxpython/gui_modules/toolbox.py: - handle exclusions
+	  - beginnings of handling for other elements (so far only options
+	  and flags are taken into account); there is scarce doc, and no
+	  DTD, BTW.
+
+2007-04-23 17:24  landa
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/application_view_columns.png,
+	  gui/wxpython/icons/silk/arrow_refresh.png,
+	  gui/wxpython/icons/silk/bullet_add.png,
+	  gui/wxpython/icons/silk/door_in.png,
+	  gui/wxpython/icons/silk/map_go.png,
+	  gui/wxpython/icons/silk/mouse.png,
+	  gui/wxpython/icons/silk/overlays.png,
+	  gui/wxpython/icons/silk/plugin_add.png,
+	  gui/wxpython/icons/silk/shape_square_add.png,
+	  gui/wxpython/icons/silk/vector_add.png, gui/wxpython/wxgui.py:
+	  icons update (more silk icons)
+
+2007-04-23 11:39  landa
+
+	* gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/pan.png: more silk icons for map display
+
+2007-04-23 11:22  landa
+
+	* gui/wxpython/icons/icon.py: erase icon fixed
+
+2007-04-23 05:30  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fixes bug in saving map
+	  display to file I introduced by over-zealous code cleaning
+
+2007-04-22 20:16  neteler
+
+	* gui/wxpython/README: even easier installation...
+
+2007-04-22 19:22  barton
+
+	* gui/wxpython/gui_modules/disp_print.py: Added some legal stuff in
+	  the header since this is derived from the
+	  wxPython demo code.
+
+2007-04-22 19:18  barton
+
+	* gui/wxpython/gui_modules/disp_print.py: code cleanup
+
+2007-04-22 19:04  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Printing displays now
+	  functional.
+
+2007-04-22 19:03  barton
+
+	* gui/wxpython/gui_modules/disp_print.py: Printing framework for
+	  printing map displays
+
+2007-04-22 06:28  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: save display now works with
+	  text and all overlays, as well as map
+
+2007-04-21 16:12  barton
+
+	* gui/wxpython/images/grass-tiny-logo.png: Added transparency to
+	  tiny-logo to make it look nicer in dialog titlebar
+
+2007-04-21 16:09  barton
+
+	* gui/wxpython/gui_modules/menuform.py: File selector is working
+	  now. Yea!
+
+2007-04-21 15:15  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Added a file browse control
+	  for element=file. The control works, but I
+	  can't yet get it to function with r.colors, where it should
+	  create a
+	  rules=[file] arguent
+
+2007-04-21 07:09  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fixed erase. BUT someone
+	  needs to fix erase icon.
+
+2007-04-21 06:59  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Put pointer cursor back to
+	  pointer. Better to distinguish what function
+	  is active in the map display (pointer for dragging overlays,
+	  cross for
+	  zooming, hand for panning, etc.).
+
+2007-04-21 06:51  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Fixed overlays so that they
+	  work again.
+
+2007-04-20 16:47  landa
+
+	* gui/wxpython/gui_modules/wxgui_utils.py,
+	  gui/wxpython/icons/silk/__init__.py: add some silk icons, fix
+	  addrgb
+
+2007-04-20 16:41  landa
+
+	* gui/wxpython/README: icon themes section added
+
+2007-04-20 16:25  landa
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  icon reorganization
+
+2007-04-20 16:22  landa
+
+	* gui/wxpython/icons/__init__.py,
+	  gui/wxpython/icons/application.png,
+	  gui/wxpython/icons/application_add.png,
+	  gui/wxpython/icons/application_delete.png,
+	  gui/wxpython/icons/application_lightning.png,
+	  gui/wxpython/icons/chart_bar.png, gui/wxpython/icons/cog_add.png,
+	  gui/wxpython/icons/cross.png, gui/wxpython/icons/cursor.png,
+	  gui/wxpython/icons/folder_add.png, gui/wxpython/icons/grid.png,
+	  gui/wxpython/icons/his.png, gui/wxpython/icons/icon.py,
+	  gui/wxpython/icons/image_add.png, gui/wxpython/icons/images.png,
+	  gui/wxpython/icons/information.png,
+	  gui/wxpython/icons/layout_content.png,
+	  gui/wxpython/icons/map.png, gui/wxpython/icons/map_add.png,
+	  gui/wxpython/icons/map_magnify.png,
+	  gui/wxpython/icons/map_magnify_menu.png,
+	  gui/wxpython/icons/pan.png, gui/wxpython/icons/picture_save.png,
+	  gui/wxpython/icons/printer.png, gui/wxpython/icons/rgb.png,
+	  gui/wxpython/icons/table_add.png,
+	  gui/wxpython/icons/tag_green.png,
+	  gui/wxpython/icons/thematic.png, gui/wxpython/icons/zoom.png,
+	  gui/wxpython/icons/zoom_back.png, gui/wxpython/icons/zoom_in.png,
+	  gui/wxpython/icons/zoom_out.png: icon package; silk icons moved
+	  to silk dictionary
+
+2007-04-20 16:21  landa
+
+	* gui/wxpython/icons/silk, gui/wxpython/icons/silk/__init__.py,
+	  gui/wxpython/icons/silk/application.png,
+	  gui/wxpython/icons/silk/application_add.png,
+	  gui/wxpython/icons/silk/application_delete.png,
+	  gui/wxpython/icons/silk/application_lightning.png,
+	  gui/wxpython/icons/silk/chart_bar.png,
+	  gui/wxpython/icons/silk/cog_add.png,
+	  gui/wxpython/icons/silk/cross.png,
+	  gui/wxpython/icons/silk/cursor.png,
+	  gui/wxpython/icons/silk/folder_add.png,
+	  gui/wxpython/icons/silk/grid.png,
+	  gui/wxpython/icons/silk/his.png,
+	  gui/wxpython/icons/silk/image_add.png,
+	  gui/wxpython/icons/silk/images.png,
+	  gui/wxpython/icons/silk/information.png,
+	  gui/wxpython/icons/silk/layout_content.png,
+	  gui/wxpython/icons/silk/map.png,
+	  gui/wxpython/icons/silk/map_add.png,
+	  gui/wxpython/icons/silk/map_magnify.png,
+	  gui/wxpython/icons/silk/map_magnify_menu.png,
+	  gui/wxpython/icons/silk/pan.png,
+	  gui/wxpython/icons/silk/picture_save.png,
+	  gui/wxpython/icons/silk/printer.png,
+	  gui/wxpython/icons/silk/rgb.png,
+	  gui/wxpython/icons/silk/table_add.png,
+	  gui/wxpython/icons/silk/tag_green.png,
+	  gui/wxpython/icons/silk/thematic.png,
+	  gui/wxpython/icons/silk/zoom.png,
+	  gui/wxpython/icons/silk/zoom_back.png,
+	  gui/wxpython/icons/silk/zoom_in.png,
+	  gui/wxpython/icons/silk/zoom_out.png: silk icon theme created
+
+2007-04-20 12:30  landa
+
+	* gui/wxpython/gui_modules/debug.py: Debug renamed to DebugMsg
+
+2007-04-20 10:09  landa
+
+	* gui/wxpython/icons/application.png,
+	  gui/wxpython/icons/application_add.png,
+	  gui/wxpython/icons/application_delete.png,
+	  gui/wxpython/icons/application_lightning.png,
+	  gui/wxpython/icons/chart_bar.png, gui/wxpython/icons/cog_add.png,
+	  gui/wxpython/icons/cross.png, gui/wxpython/icons/cursor.png,
+	  gui/wxpython/icons/folder_add.png, gui/wxpython/icons/grid.png,
+	  gui/wxpython/icons/image_add.png, gui/wxpython/icons/images.png,
+	  gui/wxpython/icons/information.png,
+	  gui/wxpython/icons/layout_content.png,
+	  gui/wxpython/icons/map.png, gui/wxpython/icons/map_add.png,
+	  gui/wxpython/icons/map_magnify.png,
+	  gui/wxpython/icons/picture_save.png,
+	  gui/wxpython/icons/printer.png, gui/wxpython/icons/table_add.png,
+	  gui/wxpython/icons/tag_green.png, gui/wxpython/icons/zoom.png,
+	  gui/wxpython/icons/zoom_in.png, gui/wxpython/icons/zoom_out.png:
+	  propdel svn:executable
+
+2007-04-20 10:01  landa
+
+	* gui/wxpython/gui_modules/menuform.py: * add keywords
+	  ** frame title extension (not so much useful)
+
+2007-04-20 08:45  landa
+
+	* gui/wxpython/images/grass-tiny-logo.png: added missing file
+
+2007-04-19 18:11  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - moved label<->description
+	  replacement deeper into GUI, outside of the parser
+	  - added more test cases
+	  - cleaned color converter
+	  - cosmetics
+
+2007-04-19 15:10  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: menuform minor changes
+
+2007-04-18 13:37  landa
+
+	* gui/wxpython/gui_modules/cmd.py,
+	  gui/wxpython/gui_modules/digit.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: * various changes
+	  * treat overlays as maplayers GetListOfLayers (l_type="overlay")
+	  * barscale code
+	  * cosmetics
+	  * more debug messages
+	  * black background during zooming fixed (temporaly)
+
+2007-04-18 07:30  landa
+
+	* gui/wxpython/gui_modules/menuform.py: cosmetics
+
+2007-04-18 07:25  landa
+
+	* gui/wxpython/README: cosmetics
+
+2007-04-18 07:21  landa
+
+	* gui/wxpython/README: explain debugging
+
+2007-04-18 07:01  landa
+
+	* gui/wxpython/gui_modules/debug.py: enable debugging only GUI
+	  messages
+
+2007-04-17 00:10  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Properties for more
+	  useful $Revision $ thingie.
+
+2007-04-16 23:57  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/toolbox.py: First shot at a simplified
+	  interface generator based on the QGIS GRASS plugin descriptions.
+	  Use with a .qgm file as argument. Lots TODO. This may have to
+	  wait for a stable qgm format in QGIS first...
+
+2007-04-16 20:37  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: Isolated grassTask from
+	  GUI:
+	  - need to define a nice API for it, though,
+	  - it is currently used through get_param(), get_flag() and
+	  getCmd();
+	  - it is initialized directly from a string containing a GRASS
+	  command, so the interface-description parser is now hidden
+	  beneath grassTask.
+
+2007-04-16 18:12  calvelo
+
+	* gui/wxpython/gui_modules/grass-interface.dtd,
+	  gui/wxpython/gui_modules/menuform.py: - fix for DTD
+
+2007-04-16 16:42  landa
+
+	* gui/wxpython/wxgrass: revert change
+
+2007-04-16 16:40  landa
+
+	* gui/wxpython/gui_modules/toolbars.py, gui/wxpython/wxgrass:
+	  enable DigitToolbar
+
+2007-04-16 16:25  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: fixing broken scripts/p.mon
+
+2007-04-16 15:14  landa
+
+	* gui/wxpython/gui_modules/debug.py: inor bugfix
+
+2007-04-16 13:43  landa
+
+	* gui/wxpython/gui_modules/debug.py: debug module added
+
+2007-04-16 06:51  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Start of a force render
+	  option. Improved save display to file. Only
+	  overlay text not saving now. Why not???
+
+2007-04-16 06:50  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: Start of a force render
+	  option.
+
+2007-04-16 06:00  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - better test task: use
+	  with 'test' as the grass command
+	  - now cmdPanel may be queried by (i) buildCmd, which returns an
+	  array of arguments and (ii) createCmd, which is the usual cmdline
+	  string. This allows for both system-style use (with the usual
+	  quote madness), and a saner execve-style command launch.
+
+2007-04-16 04:55  calvelo
+
+	* gui/wxpython/gui_modules/grass-interface.dtd,
+	  gui/wxpython/gui_modules/menuform.py: - value sets may have names
+	  and descriptions; slurp names only, so that selectors are not
+	  confused.
+	  
+	  TODO: record descriptions also, so that they can be used for
+	  tooltips or other help.
+
+2007-04-16 04:03  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fix bug keeping barscale and
+	  legend from opening options dialog.
+
+2007-04-16 03:13  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - cmdPanel is now totally
+	  independent. It can be used with a grassTask() structure to
+	  generate any grass-style command building interface, and it uses
+	  createCmd() and OnSetValues() as its main API
+
+2007-04-15 16:57  barton
+
+	* gui/wxpython/gui_modules/toolbars_silk.py,
+	  gui/wxpython/wxgui_silk.py: Test silk icon toolbars
+
+2007-04-15 16:54  barton
+
+	* gui/wxpython/icons/__init__.py,
+	  gui/wxpython/icons/application.png,
+	  gui/wxpython/icons/application_add.png,
+	  gui/wxpython/icons/application_delete.png,
+	  gui/wxpython/icons/application_lightning.png,
+	  gui/wxpython/icons/chart_bar.png, gui/wxpython/icons/cog_add.png,
+	  gui/wxpython/icons/cross.png, gui/wxpython/icons/cursor.png,
+	  gui/wxpython/icons/folder_add.png, gui/wxpython/icons/grid.png,
+	  gui/wxpython/icons/his.png, gui/wxpython/icons/image_add.png,
+	  gui/wxpython/icons/images.png,
+	  gui/wxpython/icons/information.png,
+	  gui/wxpython/icons/layout_content.png,
+	  gui/wxpython/icons/map.png, gui/wxpython/icons/map_add.png,
+	  gui/wxpython/icons/map_magnify.png,
+	  gui/wxpython/icons/map_magnify_menu.png,
+	  gui/wxpython/icons/pan.png, gui/wxpython/icons/picture_save.png,
+	  gui/wxpython/icons/printer.png, gui/wxpython/icons/rgb.png,
+	  gui/wxpython/icons/table_add.png,
+	  gui/wxpython/icons/tag_green.png,
+	  gui/wxpython/icons/thematic.png, gui/wxpython/icons/zoom.png,
+	  gui/wxpython/icons/zoom_back.png, gui/wxpython/icons/zoom_in.png,
+	  gui/wxpython/icons/zoom_out.png: Test silk icons for wxgrass
+
+2007-04-15 16:47  barton
+
+	* gui/wxpython/icons: Test silk icons for wxgrass
+
+2007-04-14 08:34  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Better trash collection
+
+2007-04-14 07:21  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Querying of multiple
+	  raster and vector files enabled.
+
+2007-04-14 06:01  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: Added self-testing in
+	  standalone: call with 'test' as command. Still far from complete.
+	  
+	  Started refactoring so that menuform becomes usable from
+	  something like a qgisgrass-style toolbox:
+	  
+	  - added hidden fields, for preset values
+	  - factored out xml parsing from task description, so as to feed
+	  arbitrary task descritions
+	  - added error handling for missing fields in the params and flags
+	  structure: only name and description are now compulsory
+
+2007-04-14 05:27  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Improved management of
+	  selected/unselected items.
+
+2007-04-14 05:10  barton
+
+	* gui/wxpython/wxgui.py: Select multiple layers to delete
+
+2007-04-14 05:09  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Error trapping improved.
+
+2007-04-14 01:36  barton
+
+	* gui/wxpython/wxgui.py: Adding a layer to the layer tree
+	  automatically switches to layer tree view.
+
+2007-04-14 00:16  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Further cleanup after making map displays children of layer tree.
+	  Probably
+	  don't need track.py anymore. Check for operation of cmd.py
+
+2007-04-13 20:13  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: small bug fix
+
+2007-04-13 20:05  barton
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Map displays made a
+	  child of layer tree. Makes for much more robust
+	  joint management of linked display and layer tree. Fixed a number
+	  of
+	  hidden bugs. Some refactoring.
+
+2007-04-13 10:17  landa
+
+	* gui/wxpython/gui_modules/digit.py: typo
+
+2007-04-13 10:11  landa
+
+	* gui/wxpython/gui_modules/toolbars.py: set size of comboboxes
+
+2007-04-13 09:56  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: cosmetics: redundant "
+	  removed
+
+2007-04-13 09:50  landa
+
+	* gui/wxpython/gui_modules/cmd.py: bugfix (compat issue),
+	  usePopenClass added
+
+2007-04-13 09:29  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: various minor (older)
+	  changes (almost digit stuff)
+
+2007-04-13 09:20  landa
+
+	* gui/wxpython/gui_modules/render.py: GetListofLayers(): return
+	  always 'selected' list
+
+2007-04-13 09:16  landa
+
+	* gui/wxpython/gui_modules/__init__.py,
+	  gui/wxpython/gui_modules/digit.py: digit package added
+
+2007-04-13 09:15  landa
+
+	* gui/wxpython/gui_modules/cmd.py: * Popen class used instead of
+	  popen3 fn
+	  * header added
+	  * Command class rearranged
+
+2007-04-12 07:01  barton
+
+	* gui/wxpython/gui_modules/render.py: Code cleanup
+
+2007-04-12 07:00  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Added zoom options menu.
+
+2007-04-12 06:59  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Non-display commands
+	  operate within computational region set by g.region
+	  rather than display region.
+
+2007-04-12 05:10  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - added navigation for tabs
+
+2007-04-12 05:05  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - fixed GetId() for
+	  select.Select
+
+2007-04-12 01:28  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - clean up: do not bind to
+	  self what doesn't need to
+
+2007-04-11 23:44  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - silly bugs solved
+
+2007-04-11 22:24  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - transparent color now
+	  works
+	  - internal structures changed to manage the widget-parameter
+	  relation
+	  - simplified event callbacks: each special callback sets the
+	  'value' field and calls updateStatus now
+	  - statusline report and copy button both work
+	  - commenting and cosmetics
+	  - some better error handling
+
+2007-04-11 22:21  barton
+
+	* gui/wxpython/gui_modules/toolbars.py: moved zoomback button
+
+2007-04-11 22:19  barton
+
+	* gui/wxpython/gui_modules/render.py: very minor code cleanup
+
+2007-04-11 22:18  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Added zoom back button and
+	  methods.
+
+2007-04-11 16:07  cepicky
+
+	* gui/wxpython/images/wizard.png, gui/wxpython/location_wizard.py,
+	  gui/wxpython/wxgui.py: reorderd wizard
+
+2007-04-11 10:05  cepicky
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: sql query working better
+
+2007-04-11 06:29  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Added checkbox for
+	  potentially transparent colors, indicated by keyword
+	  "none". But am not sure how to parse it in the color section.
+	  Commented
+	  out at line 660.
+
+2007-04-10 14:54  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Button and dialog added for
+	  printing. Printing not enabled yet.
+
+2007-04-10 14:42  barton
+
+	* gui/wxpython/gui_modules/select.py: Additional dummy handler
+	  added to selection tree to stop bogus event
+	  propagation up to GIS Manager layer tree.
+
+2007-04-10 05:33  barton
+
+	* gui/wxpython/gui_modules/select.py: Improve appearance select
+	  control.
+
+2007-04-10 04:44  barton
+
+	* gui/wxpython/gui_modules/select.py: Attempt to fix bug where
+	  expanding selection tree in select control
+	  causes expand event to propagate to GIS Manager layer tree. Try
+	  this
+	  with line 131 active again and see what happens.
+
+2007-04-10 03:18  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Clicking query button in map
+	  display tool bar will switch GIS Manager
+	  display to output console to display query results.
+
+2007-04-09 19:16  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Text rotation added for
+	  overlay decorations.
+
+2007-04-09 13:58  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fix to keep overlay
+	  decoration in place with a map update.
+
+2007-04-09 06:24  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Multiple text overlays work
+	  now. Scale and legend overlays improved.
+	  Double click to change options. Drag with mouse to reposition.
+
+2007-04-08 22:19  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Overlay text partly working
+
+2007-04-08 16:43  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fixed overlay transparency.
+
+2007-04-08 04:56  barton
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py: Fixed bug in parsing of
+	  db.describe output
+
+2007-04-07 22:21  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: Fixed bugs in
+	  - sys.path setting,
+	  - pre-filled parameter handling from wxgui and
+	  - SO-dependent line-breaks
+
+2007-04-06 17:53  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/sqlbuilder.py: database query builder
+	  nearly works, better table design
+
+2007-04-06 12:05  landa
+
+	* gui/wxpython/README: cosmetics; p.cmd note
+
+2007-04-06 07:34  barton
+
+	* gui/wxpython/wxgui.py: Legend is overlay, not layer
+
+2007-04-06 07:33  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Adding text overlay.
+	  Everything working except that there is no text drawn???
+
+2007-04-06 05:25  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Fixed bug in mapdisplay
+	  query. Made nicer raster query output.
+
+2007-04-06 00:15  barton
+
+	* gui/wxpython/gui_modules/dbm.py: set column size to width of
+	  header
+
+2007-04-05 13:45  cepicky
+
+	* gui/wxpython/README: updated sources
+
+2007-04-05 12:40  neteler
+
+	* gui/wxpython/README: Mandriva 2007 wxPython RPMs available
+
+2007-04-05 11:50  cepicky
+
+	* gui/wxpython/gui_modules/select.py: fixed (coomented out) Expand
+	  of map layer tree, which causes Exception in gis manager
+
+2007-04-05 10:29  landa
+
+	* gui/wxpython/gui_modules/render.py: __main__ test fixed
+
+2007-04-05 09:42  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: scrolling to selection works
+
+2007-04-05 08:06  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: selection and map display usable
+	  now
+
+2007-04-05 07:12  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: displaing multiple selection now
+	  possible and usable
+
+2007-04-05 06:42  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: multiple selection event now
+	  works, but the whole table is slower (wx.VIRTUAL removed)
+
+2007-04-04 15:52  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: displaing mouse selection in
+	  attribute table possible
+
+2007-04-04 15:10  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: shorter map name
+
+2007-04-04 15:07  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: bug in PNG driver? elusion
+
+2007-04-04 14:59  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Attribute table can now grab map
+	  display coordinates when clicked with
+	  a mouse. Moving toward implementing v.what to select attribute
+	  when
+	  vector object is selected.
+
+2007-04-04 14:53  cepicky
+
+	* gui/wxpython/gui_modules/render.py: debuging stuff
+
+2007-04-04 14:47  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgui.py: *
+	  displaing tables from different mapsets possible
+	  * images for sorting added
+
+2007-04-04 06:05  barton
+
+	* gui/wxpython/wxgui.py: Removed debugging code
+
+2007-04-04 06:04  barton
+
+	* gui/wxpython/wxgui.py: Tests for vector file before opening
+	  attribute management table
+
+2007-04-04 05:58  barton
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgui.py: If
+	  specific icons and icon sizes specified in map layer, the
+	  selection
+	  image will match these icons. Also changed the way that
+	  information about
+	  the selected map is obtained to a more reliable algorithm that
+	  looks at
+	  the command associated with the layer instead of the layer text
+	  (which
+	  can be user edited).
+
+2007-04-04 05:53  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Fix bug in map erase routine
+	  (Draw method)
+
+2007-04-04 05:48  barton
+
+	* gui/wxpython/gui_modules/render.py: Fix bug in delete layer
+	  method.
+
+2007-04-03 16:39  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/render.py, gui/wxpython/wxgui.py:
+	  displaying objects works
+
+2007-04-03 16:18  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: drawing selected object should
+	  work .. but does not
+
+2007-04-03 15:58  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fixed
+	  checking/unchecking for layers inside groups.
+
+2007-04-03 15:54  cepicky
+
+	* gui/wxpython/gui_modules/mapdisp.py: making Map to attribute of
+	  mapdisplay
+
+2007-04-03 15:45  cepicky
+
+	* gui/wxpython/gui_modules/render.py: better key-value separation
+
+2007-04-03 15:18  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: parent for attribute table
+
+2007-04-03 15:17  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgui.py: parent
+	  for attribute table
+
+2007-04-03 14:09  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: sorting works better
+
+2007-04-03 14:05  cepicky
+
+	* gui/wxpython/gui_modules/toolbars.py: basic layer queries
+
+2007-04-03 14:04  cepicky
+
+	* gui/wxpython/gui_modules/mapdisp.py: basic layer queries
+
+2007-04-03 08:25  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py: status information works now
+
+2007-04-03 07:12  barton
+
+	* gui/wxpython/Init.sh: Fixed bug in wxgrass startup. Now it starts
+	  non-modally.
+
+2007-04-03 07:07  barton
+
+	* gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Fixed most overlay and
+	  opacity bugs.
+
+2007-04-03 04:49  barton
+
+	* gui/wxpython/Init.sh, gui/wxpython/wxgrass: Implementing Glynn
+	  Clement's suggestions. Change to start gui non-modally from
+	  init.sh. Script wxgrass must be called with & run non-modally
+
+2007-04-03 02:53  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fixing bugs for group
+	  layers and in drag and drop. Still an issue with
+	  transparency/opacity.
+
+2007-04-03 02:50  barton
+
+	* gui/wxpython/gui_modules/render.py: Docstring correction
+
+2007-04-02 19:53  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fix bug in layer drag
+	  and drop. Send only command to render, not parameters.
+
+2007-04-02 19:39  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Further fix for multiple
+	  entry values. Combobox back for lists of
+	  values, text entry for value with range of acceptable, checkboxes
+	  for
+	  on/off values.
+
+2007-04-02 19:26  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Removed debugging text
+
+2007-04-02 18:00  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Fix control for multiple
+	  entries that are not check boxes. Changed from
+	  combobox to a text control. Valid range shown in label rather
+	  than in
+	  combobox entry.
+
+2007-04-02 17:47  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py: new
+	  table, sorting possible
+
+2007-04-02 16:48  barton
+
+	* gui/wxpython/images/__init__.py: update to include new images. I
+	  don't know if this is needed or not.
+
+2007-04-02 16:48  barton
+
+	* gui/wxpython/gui_modules/dbm.py: Bug fix for image not found
+
+2007-04-02 16:29  cepicky
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: small bugfix
+
+2007-04-02 16:03  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Decoration parameters now
+	  also maintain their previously set options
+	  and insert them into the options dialog.
+
+2007-04-02 15:54  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fix bug so that
+	  previously set options parameters associated with
+	  layer correctly.
+
+2007-04-02 15:35  barton
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: If layer options
+	  previously set, these now appear when layer options
+	  dialog reopened. No need to start from nothing when resetting
+	  options.
+
+2007-04-02 13:40  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py, gui/wxpython/wxgui.py: opening
+	  vector tables possible
+
+2007-04-02 13:38  cepicky
+
+	* gui/wxpython/gui_modules/grassenv.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  opening vector tables possible
+
+2007-04-02 13:20  cepicky
+
+	* gui/wxpython/wxgui.py: added new button
+
+2007-04-02 07:22  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: fix KeyError when resizing
+	  the map window
+
+2007-04-01 15:43  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Major update of display
+	  system. Using to buffered PseudoDC for better
+	  manipulation of canvas images and to implement placeable map
+	  decorations
+	  like scales and legends. Once tested, I'll clean up commented
+	  code.
+
+2007-03-30 22:46  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Interactive scale and legend
+	  placement working, though a few visual
+	  oddities during placement.
+
+2007-03-30 22:45  barton
+
+	* gui/wxpython/gui_modules/render.py: Turn off debug
+
+2007-03-30 19:11  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Almost have the scale mouse
+	  placeable permanently.
+
+2007-03-30 16:42  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: More work on placing scales
+	  with mouse
+
+2007-03-30 15:58  cepicky
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: mar buttons and column
+	  and value selection now working
+
+2007-03-30 15:26  cepicky
+
+	* gui/wxpython/gui_modules/sqlbuilder.py: started work on sql query
+	  builder
+	  need help with sizers - it is really a pain
+
+2007-03-30 15:14  cepicky
+
+	* gui/wxpython/gui_modules/sqlbuilder.py,
+	  gui/wxpython/images/grass_sql.png: started work on sql query
+	  builder
+	  need help with sizers - it is really a pain
+
+2007-03-30 14:49  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: cosmetics (variable name
+	  lower-case)
+
+2007-03-30 14:31  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Close to having easily
+	  placeable scale and legend
+
+2007-03-30 14:22  barton
+
+	* gui/wxpython/gui_modules/render.py: Updates for interactive scale
+	  and legend placing
+
+2007-03-30 13:39  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: update status (extent) when
+	  extent of canvas is changed
+
+2007-03-30 12:30  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py, gui/wxpython/scripts/p.cmd:
+	  accept missing key for the first option, e.g. d.rast soils
+
+2007-03-30 11:56  landa
+
+	* gui/wxpython/scripts/p.cmd: cosmetics
+
+2007-03-30 11:29  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py, gui/wxpython/scripts/p.cmd:
+	  p.cmd script introduced
+
+2007-03-29 17:17  cepicky
+
+	* gui/wxpython/images/db_open_table.png,
+	  gui/wxpython/images/grass_db.png: new icons for attribute manager
+
+2007-03-29 17:15  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Moved grid to layers manager and grouped with d.labels. This
+	  makes more
+	  sense because both are designed to render over the entire map.
+	  The overlays
+	  menu on the map display to be used for arrow/scale, legend
+	  (currently
+	  still in layers), individual text objects, etc which need to be
+	  positioned.
+
+2007-03-29 17:14  cepicky
+
+	* gui/wxpython/gui_modules/dbm.py,
+	  gui/wxpython/images/grass.smlogo.gif, gui/wxpython/scripts/p.db:
+	  starting to work on attribute table manager
+
+2007-03-29 06:56  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py: Popup menu stays with button
+
+2007-03-29 06:53  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py: Improvements to menu
+	  appearance and rendering. But still not transparent.
+
+2007-03-29 06:30  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/render.py,
+	  gui/wxpython/gui_modules/toolbars.py: Initial go at creating
+	  overlays to maps: grids, scalebars, etc. Works,
+	  but clunky. Also need to get the overlay png to have a
+	  transparent
+	  background.
+
+2007-03-29 06:29  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Update in prep for creating
+	  overlays (grids, scalebars, etc.)
+
+2007-03-28 21:53  barton
+
+	* gui/wxpython/wxgrass: Starting non-modally
+
+2007-03-28 20:48  barton
+
+	* gui/wxpython/gis_set.py: Multiple bug fixes: creating new mapset
+	  correctly sets permissions
+	  (I hope). Location and mapset windows update properly now. GIS
+	  Database
+	  selection now works properly.
+
+2007-03-28 19:44  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: time package already
+	  imported
+
+2007-03-28 19:38  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: import threading moved,
+	  broken wxgrass
+
+2007-03-28 19:14  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py, gui/wxpython/scripts/p.rast:
+	  revert, terminate thread when OnExit() is called
+
+2007-03-28 18:54  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Typing a command on the
+	  GIS Manager command line with no arguments will launch the
+	  command module in standalone mode (unless it is a d.* command).
+	  Commands with arguments will be processed and output will go to
+	  the GIS Manager output console.
+
+2007-03-28 18:29  landa
+
+	* gui/wxpython/gui_modules/mapdisp.py: monitor-identifier added
+	  (see p.mon)
+
+2007-03-28 18:27  landa
+
+	* gui/wxpython/scripts/p.mon: only start= implemented
+
+2007-03-28 14:52  landa
+
+	* gui/wxpython/scripts/p.mon: export PYTHONPATH
+
+2007-03-28 09:39  cepicky
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: progress bar now moving,
+	  messages written to output
+
+2007-03-28 09:07  cepicky
+
+	* gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: menuform should now work
+	  completely as stand-alone gui
+
+2007-03-28 08:36  cepicky
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: removed _("text") from
+	  GMConsole. How is this supposed to work?
+
+2007-03-28 08:19  cepicky
+
+	* gui/wxpython/gui_modules/menuform.py: small bug fixed
+
+2007-03-28 08:18  cepicky
+
+	* gui/wxpython/gui_modules/menuform.py: reodreding order of imports
+	  and paths
+
+2007-03-28 07:49  landa
+
+	* gui/wxpython/wxgrass: check if GRASS is running
+
+2007-03-28 07:33  cepicky
+
+	* gui/wxpython/gui_modules/menuform.py: reodreding order of imports
+	  and paths
+
+2007-03-28 01:31  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - some code cleanup and
+	  docstringing
+
+2007-03-28 00:55  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - more refactoring: the
+	  options notebook is now an independent Panel, except for the
+	  statusline callback, which is try:except:-ed
+
+2007-03-27 23:35  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Make standalone operation
+	  in one Frame; had to duplicate code: this is temporary
+
+2007-03-27 15:51  barton
+
+	* gui/wxpython/gis_set.py: Fixed bug with new mapset not copying
+	  WIND file from PERMANENT.
+	  
+	  ****Please check to see if permissions need to be set (I just
+	  copied
+	  the WIND file permissions). Line 674 has a chmod statement, but I
+	  don't
+	  know what to set it to (needs set of numbers for u+rw,go+r I
+	  think).
+
+2007-03-27 15:39  cepicky
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: progress bar should work
+	  now
+
+2007-03-27 15:16  cepicky
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: progress bar (wxGauge)
+	  added, but not working yet
+
+2007-03-27 14:26  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Added backslash for if
+	  clauses in () that break across lines. This seems
+	  to be a problem with some systems and we may need to alter all
+	  code
+	  in this way.
+
+2007-03-27 14:21  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/toolbars.py: Started developing place to
+	  add decorations to maps.
+
+2007-03-27 06:45  barton
+
+	* gui/wxpython/location_wizard.py: Working on location setting
+	  code. Not there yet, but closer. Is it
+	  even possible to set a location with datum/tranform parameters?
+
+2007-03-27 02:50  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Beginning refactoring the
+	  thing to isolate frames, panels and no globals
+
+2007-03-27 00:02  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Fixed manual page sizing so
+	  that it expands if you expand the window.
+	  Also increased manual font size a bit--I just can't be satisfied
+	  ;-)
+
+2007-03-26 21:41  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Minor tweaks: font size
+	  in manual page, default focus to Main; the grass icon won't
+	  appear at first, but then browsing around and back, it does >:/
+
+2007-03-26 21:18  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py, gui/wxpython/wxgui.py:
+	  Added groups and improved drag and drop in the layer tree.
+
+2007-03-26 21:11  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Added HTML manual tab
+	  - Overhauled sizer and scrollbar handling; should be smoother now
+
+2007-03-26 15:43  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Added
+	  self.notebookpanel.Layout() statements so that all notebook pages
+	  display properly
+	  when selected.
+
+2007-03-26 15:17  barton
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py,
+	  gui/wxpython/images/__init__.py, gui/wxpython/wxgui.py: Added
+	  import code so that images can be found.
+
+2007-03-26 14:35  cepicky
+
+	* gui/wxpython/gui_modules/menuform.py: command can be copied to
+	  clipboard and pasted with mouse somewhere else now
+
+2007-03-26 13:51  cepicky
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: first steps towards
+	  progress bar
+
+2007-03-26 13:02  cepicky
+
+	* gui/wxpython/gui_modules/menuform.py: long texts for some inputs
+	  wrapped
+
+2007-03-26 12:23  cepicky
+
+	* gui/wxpython/images/grass.form.gif,
+	  gui/wxpython/images/grass.map.gif: window icons added for better
+	  orientation
+
+2007-03-26 12:20  cepicky
+
+	* gui/wxpython/gui_modules/mapdisp.py,
+	  gui/wxpython/gui_modules/menuform.py, gui/wxpython/wxgui.py:
+	  window icons added for better orientetation
+
+2007-03-26 09:02  cepicky
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: fixed the import
+	  statement
+
+2007-03-26 08:19  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Better handling of
+	  default values, particularly colour
+
+2007-03-26 07:40  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - StatusBar gives the
+	  current command being built. It may become too large, however...
+
+2007-03-26 07:09  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Better resizing overall
+	  - 'Main' tab now holds compulsory parameters, so everything else
+	  is optional
+
+2007-03-26 07:05  barton
+
+	* gui/wxpython/gui_modules/menuform.py: Flag font matches parameter
+	  font. Added hint (bold=required)in status
+	  bar and removed string "[optional]"
+
+2007-03-26 02:45  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Fixed bug in trying to
+	  launch menuform dialog from command line.
+
+2007-03-26 01:59  barton
+
+	* gui/wxpython/wxgui.py: Remove import images used for testing
+
+2007-03-25 21:19  barton
+
+	* gui/wxpython/README: Another startup instruction added
+
+2007-03-25 21:10  barton
+
+	* gui/wxpython/README: Added simple installation and startup
+	  instructions.
+
+2007-03-25 21:03  calvelo
+
+	* gui/wxpython/gui_modules/menuform.py: - Highlight compulsory
+	  parameters; should we drop '[optional]'?
+
+2007-03-25 19:20  barton
+
+	* gui/wxpython/wxgui.py: Fixed font specification for command line.
+
+2007-03-25 19:12  barton
+
+	* gui/wxpython/gui_modules/wxgui_utils.py: Using subprocess.Popen
+	  for command output now. Also fixed command
+	  fonts to use monospaced font family for better display.
+
+2007-03-25 06:54  barton
+
+	* gui/wxpython/scripts/p.mon: Updated to use new names
+	  (gui_modules)
+
+2007-03-25 06:42  barton
+
+	* gui/wxpython/Gism: replaced by gui_modules
+
+2007-03-25 06:40  barton
+
+	* gui/wxpython/Gism/optpanels, gui/wxpython/gui_modules/optpanels:
+	  Moving items
+
+2007-03-25 06:37  barton
+
+	* gui/wxpython/Gism/packages-uml.dia,
+	  gui/wxpython/gui_modules/packages-uml.dia: Moving items
+
+2007-03-25 06:37  barton
+
+	* gui/wxpython/Gism/packages-uml.svg,
+	  gui/wxpython/gui_modules/packages-uml.svg: Moving items
+
+2007-03-25 06:36  barton
+
+	* gui/wxpython/Gism/render.py, gui/wxpython/gui_modules/render.py:
+	  Moving items
+
+2007-03-25 06:34  barton
+
+	* gui/wxpython/Gism/select.py, gui/wxpython/gui_modules/select.py:
+	  Moving items
+
+2007-03-25 06:32  barton
+
+	* gui/wxpython/Gism/toolbars.py,
+	  gui/wxpython/gui_modules/toolbars.py: Moving items
+
+2007-03-25 06:32  barton
+
+	* gui/wxpython/Gism/track.py, gui/wxpython/gui_modules/track.py:
+	  Moving items
+
+2007-03-25 06:31  barton
+
+	* gui/wxpython/Gism/utils.py, gui/wxpython/gui_modules/utils.py:
+	  Moving items
+
+2007-03-25 06:30  barton
+
+	* gui/wxpython/Gism/wxgui_utils.py,
+	  gui/wxpython/gui_modules/wxgui_utils.py: Moving items
+
+2007-03-25 06:30  barton
+
+	* gui/wxpython/Gism/menuform.py,
+	  gui/wxpython/gui_modules/menuform.py: Moving items
+
+2007-03-25 06:28  barton
+
+	* gui/wxpython/Gism/menudata.py,
+	  gui/wxpython/gui_modules/menudata.py: Moving items
+
+2007-03-25 06:26  barton
+
+	* gui/wxpython/Gism/mapdisp.py,
+	  gui/wxpython/gui_modules/mapdisp.py: Moving items
+
+2007-03-25 06:25  barton
+
+	* gui/wxpython/Gism/grassenv.py,
+	  gui/wxpython/gui_modules/grassenv.py: Moving items
+
+2007-03-25 06:25  barton
+
+	* gui/wxpython/Gism/grass-interface.dtd,
+	  gui/wxpython/gui_modules/grass-interface.dtd: Moving items
+
+2007-03-25 06:24  barton
+
+	* gui/wxpython/Gism/cmd.py, gui/wxpython/gui_modules/cmd.py: Moving
+	  items
+
+2007-03-25 06:16  barton
+
+	* gui/wxpython/Gism/__init__.py,
+	  gui/wxpython/gui_modules/__init__.py: Moving things from wx/Gism
+	  to wx/gui_modules
+
+2007-03-25 06:10  barton
+
+	* gui/wxpython/gism.py, gui/wxpython/grass_wizard.py: renamed
+	  gism.py to wxgui.py and grass_wizard.py to location_wizard.py
+
+2007-03-25 06:09  barton
+
+	* gui/wxpython/Gism/gismutils.py,
+	  gui/wxpython/Gism/grass.smlogo.gif,
+	  gui/wxpython/Gism/grasslogo_big.gif: renamed gismutils.py and
+	  moved grass logo files to wx/images
+
+2007-03-25 06:08  barton
+
+	* gui/wxpython/Gism/wxgui_utils.py: Renamed gismutils.py to
+	  wxgui_utils.py
+
+2007-03-25 06:07  barton
+
+	* gui/wxpython/gui_modules: Renamed wx/Gism to wx/gui_modules
+
+2007-03-25 06:06  barton
+
+	* gui/wxpython/location_wizard.py: Renamed grass_wizard.py to
+	  location_wizard.py
+
+2007-03-25 06:05  barton
+
+	* gui/wxpython/wxgui.py: Renamed gism.py to wxgui.py
+
+2007-03-25 06:04  barton
+
+	* gui/wxpython/gis_set.py, gui/wxpython/wxgrass: Modified for file
+	  name changes
+
+2007-03-25 06:00  barton
+
+	* gui/wxpython/Gism/menudata.py, gui/wxpython/Gism/menuform.py,
+	  gui/wxpython/Gism/toolbars.py: Renamed Gism to gui_modules
+
+2007-03-25 05:57  barton
+
+	* gui/wxpython/images/grass.smlogo.gif,
+	  gui/wxpython/images/grasslogo_big.gif: Moving grass logo images
+	  into wx/images directory
+
+2007-03-25 05:53  barton
+
+	* gui/wxpython/images: New directory to hold images used
+	  specifically by wxgrass
+
+2007-03-25 05:25  barton
+
+	* gui/wxpython/gis_set.py: Minor code cleanup
+
+2007-03-25 05:16  barton
+
+	* gui/wxpython/grass_wizard.py: Wizard is pretty much nicely
+	  formatted. But the location-creating
+	  code still doesn't work yet.
+
+2007-03-25 01:22  barton
+
+	* gui/wxpython/grass_wizard.py: Updating and polishing location
+	  wizard
+
+2007-03-25 01:21  barton
+
+	* gui/wxpython/Gism/grass.smlogo.gif,
+	  gui/wxpython/Gism/grasslogo_big.gif: GRASS logos to use in
+	  dialogs.
+
+2007-03-24 17:09  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/menuform.py:
+	  Set up structure to pass command parameters from an existing
+	  layer in
+	  the GIS Manager to the options dialog when it is opened. Need to
+	  parse
+	  existing d.* command in gismutils to do this (and of course debug
+	  in
+	  menuform). This will work much easier if a command is created as
+	  a
+	  list instead of a string.
+
+2007-03-24 16:38  barton
+
+	* gui/wxpython/Gism/gismutils.py: Double clicking on layer will
+	  open options dialog for new layer types.
+
+2007-03-24 16:34  barton
+
+	* gui/wxpython/Gism/menuform.py: Better sizing of gui panels. Based
+	  on max x and max y of all tab sections.
+
+2007-03-24 16:00  barton
+
+	* gui/wxpython/gis_set.py: EPSG option screen polished. Browse
+	  codes fixed. Datum transform
+	  selection fixed. It all should work well now.
+
+2007-03-24 08:12  calvelo
+
+	* gui/wxpython/Gism/menuform.py: - Better handling of tab creation:
+	  the order is given by the command options, and the default is now
+	  'Options' instead of 'Main'
+
+2007-03-24 04:56  barton
+
+	* gui/wxpython/Gism/menuform.py: Gradient background to command
+	  dialog tabs to match look of GIS Manager.
+
+2007-03-24 01:16  barton
+
+	* gui/wxpython/Gism/menuform.py: Standardized colour button size
+
+2007-03-24 01:04  barton
+
+	* gui/wxpython/Gism/menuform.py: Improved spacing for new color and
+	  other controls.
+
+2007-03-24 00:31  barton
+
+	* gui/wxpython/Gism/gismutils.py: d.vect.thematic now adds properly
+	  as a layer.
+
+2007-03-24 00:07  barton
+
+	* gui/wxpython/Gism/gismutils.py: Added command line support for
+	  d.rgb, d.his, d.legend, d.vect.thematic,
+	  and d.vect.chart. For some reason, entering d.vect.thematic on
+	  the
+	  command line starts up the TclTk dialog rather than adding it to
+	  the
+	  layer tree. Maybe because it's a script???
+
+2007-03-23 23:30  calvelo
+
+	* gui/wxpython/Gism/render.py: - Make it (almost) work under
+	  qgis0.8+grass-plugin: have explicit splits for parsing of both
+	  WIND and g.region output
+
+2007-03-23 22:54  calvelo
+
+	* gui/wxpython/Gism/menuform.py: - Added full color name handling
+
+2007-03-23 22:27  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/gism.py: Add many
+	  more layer types (RGB, HIS, legends, thematic maps, thematic
+	  charts)
+
+2007-03-23 22:26  barton
+
+	* gui/wxpython/Gism/menuform.py: Fix bug in flags that I introduced
+	  this morning.
+
+2007-03-23 15:21  barton
+
+	* gui/wxpython/Gism/select.py: GIS element selector (select.Select)
+	  now automatically expands current
+	  mapset item at startup. Also, mapset explicitly added to all map
+	  names.
+
+2007-03-23 15:13  barton
+
+	* gui/wxpython/Gism/menuform.py: Controls now show in dialog as
+	  soon as it's opened (no need to resize
+	  window). Also improved error trapping for trying to press OK or
+	  Cancel
+	  with no options selected.
+
+2007-03-23 07:15  calvelo
+
+	* gui/wxpython/Gism/menuform.py: - Clean up on leave
+
+2007-03-23 07:01  barton
+
+	* gui/wxpython/gis_set.py: Polished up the appearance of the EPSG
+	  window. Took out the hard coded
+	  path to the epsg file and replaced it with the GRASS_PROJSHARE
+	  environmental
+	  variable so that it works across all platforms.
+	  
+	  Still cannot browse or search the epsg file. This raises an
+	  error.
+
+2007-03-23 06:14  calvelo
+
+	* gui/wxpython/Gism/menuform.py: - color works, including
+	  predefined named colors; TODO: synchronized text input
+	  - grass_task is now a class, so access is akin to a singleton
+	  - flags are correctly passed to command builder
+
+2007-03-23 04:30  calvelo
+
+	* gui/wxpython/Gism/menuform.py: - Some cleanup following the
+	  wxPython style guide
+
+2007-03-23 03:55  barton
+
+	* gui/wxpython/gis_set.py: Polished the georeferenced file window.
+
+2007-03-23 03:28  calvelo
+
+	* gui/wxpython/Gism/menuform.py: - Color chooser works, not yet
+	  synchronized with a text field, and ignoring color names
+	  - Initial size is now the size of the Main tab, which *should* be
+	  the largest
+
+2007-03-23 03:07  barton
+
+	* gui/wxpython/gis_set.py: Polished layout for startup. A bit of
+	  sizer practice.
+
+2007-03-22 21:55  calvelo
+
+	* gui/wxpython/Gism/menuform.py: Almost there with tab scrolling...
+	  Drum rolling...
+
+2007-03-22 20:09  barton
+
+	* gui/wxpython/Gism/gismutils.py: Horizontal scrollbar doesn't work
+	  on Mac for command output console.
+	  Switched to wrapped text.
+
+2007-03-22 19:58  barton
+
+	* gui/wxpython/Gism/render.py: Added --q to display commands (not
+	  that it helps at the moment).
+
+2007-03-22 18:27  barton
+
+	* gui/wxpython/Gism/menuform.py: Reverted color selection to text
+	  controls. (New code still present,
+	  just commented out)
+
+2007-03-22 18:24  barton
+
+	* gui/wxpython/Gism/render.py: Code cleanup. Minor enhancements
+
+2007-03-22 18:13  barton
+
+	* gui/wxpython/Gism/menuform.py: Tried to add color selection. Sort
+	  of working, but putting default
+	  values into other fields. I commented it out, but maybe someone
+	  else
+	  can look at the code.
+
+2007-03-22 15:33  barton
+
+	* gui/wxpython/wxgrass: Removed ampersands.
+
+2007-03-22 15:31  barton
+
+	* gui/wxpython/Gism/gismutils.py: Fixing some rendering issues
+
+2007-03-22 10:53  calvelo
+
+	* gui/wxpython/Gism/menuform.py: Added guisections... it's almost
+	  there, only scrolling and layout to fiddle
+
+2007-03-22 10:19  calvelo
+
+	* gui/wxpython/Gism/gismutils.py: gism -> Gism
+
+2007-03-22 10:17  calvelo
+
+	* gui/wxpython/Gism/menuform.py: Silly typo
+
+2007-03-22 06:54  calvelo
+
+	* gui/wxpython/Gism/menuform.py: - Make this work as standalone
+	  also (first shot, still plenty of things to do)
+	  - Cleaning up and docstringing
+
+2007-03-22 06:07  calvelo
+
+	* gui/wxpython/Gism/grass-interface.dtd: Added guisection element
+
+2007-03-22 05:55  barton
+
+	* gui/wxpython/Gism/gismutils.py: Bug fix for opacity setting
+
+2007-03-22 04:57  barton
+
+	* gui/wxpython/Gism/select.py: Check for lack of directory for
+	  element type in mapset, when creating
+	  map/gis element selection control.
+
+2007-03-22 04:19  barton
+
+	* gui/wxpython/Gism/menuform.py: Change buttons to cancel, apply,
+	  and ok if display command dialog
+	  called by layer tree.
+
+2007-03-22 03:49  barton
+
+	* gui/wxpython/gism.py: Code cleanup.
+
+2007-03-22 03:46  barton
+
+	* gui/wxpython/wxgrass: Added ampersand so that wxgrass doesn't run
+	  modally.
+
+2007-03-22 03:45  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/render.py:
+	  Faster rendering. No need to re-render if just changing opacity
+	  or
+	  layer checked.
+
+2007-03-22 03:05  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/render.py:
+	  Rebuilt layers management part of rendering engine. Layers are
+	  now managed
+	  better from the layer tree, allowing for changing layer
+	  characteristics
+	  and drag-and-drop with much more robust rendering. Should also be
+	  faster
+	  (though more performance improvements are possible). Improved
+	  garbage
+	  file clean up at end, but it would be better not to generate so
+	  many
+	  garbage temp files in the first place.
+
+2007-03-21 17:39  clements
+
+	* gui/wxpython/Gism/render.py: Remove bogus WIND_OVERRIDE setting
+
+2007-03-21 15:37  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/mapdisp.py: The
+	  layer tree can now begin to manage layers in render.Map directly,
+	  rather than through methods in mapdisp.
+
+2007-03-21 06:20  barton
+
+	* gui/wxpython/Gism/gismutils.py: Additional drag and drop
+	  enhancement.
+
+2007-03-21 06:12  barton
+
+	* gui/wxpython/Gism/render.py: Really clean layers
+
+2007-03-21 06:07  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/mapdisp.py:
+	  Update to improve robusticity of rendering, better drag-and-drop
+	  in
+	  layer tree. Some convenience enhancements.
+
+2007-03-21 02:28  barton
+
+	* gui/wxpython/Gism/mapdisp.py, gui/wxpython/Gism/toolbars.py: Bug
+	  fixes and enhancements for mapdisplay toolbar. Why won't combo
+	  box
+	  display???
+
+2007-03-20 23:13  barton
+
+	* gui/wxpython/Init.sh: update init.sh so that it starts wxgrass.
+	  Revert LD_LIBRARY lines to
+	  format of existing init.sh
+
+2007-03-20 22:49  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/mapdisp.py:
+	  Finished redesign of GIS Manager layer tree. Added transparency
+	  to
+	  layers.
+
+2007-03-20 20:34  barton
+
+	* gui/wxpython/Gism/gismutils.py: Echo d.* command to output
+	  console.
+
+2007-03-20 20:33  barton
+
+	* gui/wxpython/Gism/menuform.py: d.* command now echoes to output
+	  window too. Code cleanup.
+
+2007-03-20 19:49  barton
+
+	* gui/wxpython/Gism/mapdisp2.py, gui/wxpython/Gism/menuform2.py:
+	  Old working versions now merged with current, active version
+
+2007-03-20 19:38  barton
+
+	* gui/wxpython/Gism/gismutils.py: Changed layer tree structure.
+	  Rasters and vectors added by using
+	  autogenerated d.rast and d.vect options panels. Press "run" to
+	  add
+	  command to layer.
+
+2007-03-20 18:47  cepicky
+
+	* gui/wxpython/Gism/menuform.py: bugfix in menuform
+
+2007-03-20 18:31  barton
+
+	* gui/wxpython/Gism/gismutils.py: Need to import menuform
+
+2007-03-20 18:26  barton
+
+	* gui/wxpython/Gism/menuform.py: Updated for better returning of
+	  panel data to layer tree.
+
+2007-03-20 18:24  barton
+
+	* gui/wxpython/Gism/gismutils.py: Update for returning options from
+	  menuform to layer tree.
+
+2007-03-20 18:22  cepicky
+
+	* gui/wxpython/Gism/mapdisp.py: render.py does not use d.mon any
+	  more. just exporting the env. variable
+
+2007-03-20 18:21  cepicky
+
+	* gui/wxpython/Gism/render.py: render.py does not use d.mon any
+	  more. just exporting the env. variable
+
+2007-03-20 18:11  cepicky
+
+	* gui/wxpython/Gism/render.py: render.py does not use d.mon any
+	  more. just exporting the env. variable
+
+2007-03-20 17:44  cepicky
+
+	* gui/wxpython/Gism/gismutils.py: some importes removed, some moved
+
+2007-03-20 17:24  cepicky
+
+	* gui/wxpython/gism.py: commands can run now from menu form
+
+2007-03-20 17:22  cepicky
+
+	* gui/wxpython/Gism/menuform.py: get_dcmd should be back
+
+2007-03-20 16:51  cepicky
+
+	* gui/wxpython/Gism/menuform.py: running commands from menuforms
+	  possible now
+
+2007-03-20 16:45  barton
+
+	* gui/wxpython/Gism/menuform.py: Checks for prompt=color.
+
+2007-03-20 16:37  barton
+
+	* gui/wxpython/Gism/select.py: Enhanced select.Select to only
+	  display list of valid elements.
+
+2007-03-20 15:35  barton
+
+	* gui/wxpython/Gism/menuform.py: More code cleanup and global
+	  variable declaration.
+
+2007-03-20 15:25  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/gism.py: Misc. code
+	  cleanup and bug fix.
+
+2007-03-20 15:20  barton
+
+	* gui/wxpython/Gism/menuform.py: Removed some of my old debugging
+	  code
+
+2007-03-20 15:05  cepicky
+
+	* gui/wxpython/Gism/menuform.py: removed old vim settings
+
+2007-03-20 08:35  calvelo
+
+	* gui/wxpython/Gism/menuform.py: Merged Michael's r202 and my r200
+
+2007-03-20 07:14  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/select.py:
+	  Enhanced select.Select control (updated LayerTree class to go
+	  along
+	  with the enhanced control).
+
+2007-03-20 07:13  barton
+
+	* gui/wxpython/Gism/menuform2.py: Many updates to menuform.py. But
+	  Daniel also just committed many updates.
+	  These need to be merged, so I've renamed my work menuform2.py. My
+	  updates
+	  include, redoing the bindings for GUI elements so that the new
+	  map select
+	  will work (getting rid of the non-standard and not recommended
+	  use of
+	  ID's to track controls).
+
+2007-03-20 07:03  calvelo
+
+	* gui/wxpython/Gism/menuform.py: Added handling of multiple
+	  selection as checkboxes
+	  Reverted global declarations: not needed since grass_task is
+	  declared at file-level
+	  Reindented to 4 spaces to make -t happy
+
+2007-03-20 05:35  calvelo
+
+	* gui/wxpython/Gism/optpanels/fix-icon-paths.pl: No more hardcoded
+	  paths. You now can generate the glade files anywhere.
+
+2007-03-20 03:48  barton
+
+	* gui/wxpython/Gism/menuform.py: Fixed bug with command dialogs
+	  acccumulating more and more controls.
+	  Added select control for items with a gisprompt parameter (this
+	  was
+	  a real pain to figure out).
+
+2007-03-19 21:43  neteler
+
+	* gui/wxpython/README: I'm not really an author :-)
+
+2007-03-19 20:45  barton
+
+	* gui/wxpython/Gism/gismutils.py: Fix bug in LayerTree.onActivate
+	  method for calling gui options panels.
+
+2007-03-19 18:32  cepicky
+
+	* gui/wxpython/README: documentation updated
+
+2007-03-19 18:32  cepicky
+
+	* gui/wxpython/Gism/mapdisp.py, gui/wxpython/scripts/p.vect: vector
+	  display possible to
+
+2007-03-19 18:20  barton
+
+	* gui/wxpython/Gism/__init__.py: added new select module
+
+2007-03-19 17:58  cepicky
+
+	* gui/wxpython/Gism/mapdisp.py: p.rast command now working
+
+2007-03-19 17:46  cepicky
+
+	* gui/wxpython/Gism/toolbars.py: printing icon path disabled
+
+2007-03-19 17:24  cepicky
+
+	* gui/wxpython/gism.py, gui/wxpython/scripts,
+	  gui/wxpython/scripts/p.mon, gui/wxpython/scripts/p.rast: new CLI
+	  scripts for map display management
+
+2007-03-19 16:19  cepicky
+
+	* gui/wxpython/Gism/gismutils.py: prepared for inserting of the
+	  layer
+
+2007-03-19 16:07  cepicky
+
+	* gui/wxpython/Gism/menuform.py: prepared for inserting of the
+	  layer
+
+2007-03-19 14:50  cepicky
+
+	* gui/wxpython/Gism/packages-uml.svg: added svg version of UML
+	  diagram
+
+2007-03-19 05:20  barton
+
+	* gui/wxpython/Gism/gismutils.py: Updated to use new select control
+
+2007-03-19 05:20  barton
+
+	* gui/wxpython/Gism/select.py: Custom control for producing a tree
+	  control combo box, used for
+	  selecting GIS elements like maps and regions. Takes size and
+	  element
+	  type as arguments. See example in gismutils.LayerTree.AddLayer.
+
+2007-03-19 04:00  barton
+
+	* gui/wxpython/Gism/gismutils.py: Double clicking raster or vector
+	  layer opens the autogenerated options
+	  dialog.
+
+2007-03-19 03:01  barton
+
+	* gui/wxpython/Gism/optpanels/raster-layer-properties.wxg: wxGlade
+	  template for raster properties panel
+
+2007-03-19 03:00  barton
+
+	* gui/wxpython/Gism/optpanels/raster_prop.py: New raster properties
+	  panel to test.
+
+2007-03-19 02:59  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/gism.py: Enhanced
+	  functionality for GIS Manager. Typing d.rast or d.vect on the
+	  command line will add a raster or vector layer to the layer tree.
+	  Drag
+	  and drop almost implemented (wait until options panel started).
+	  Added
+	  delete layer button.
+
+2007-03-17 19:53  barton
+
+	* gui/wxpython/Gism/render.py: Improved Clean method.
+
+2007-03-17 18:11  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/mapdisp.py,
+	  gui/wxpython/Gism/render.py: Can run generic commands entered in
+	  layer tree (must press return/enter
+	  after entering command for it to initially register. It *should*
+	  run
+	  d.* commands entered from the command line too, but something is
+	  causing
+	  it to hang on rendering.
+
+2007-03-17 16:35  calvelo
+
+	* gui/wxpython/Gism/optpanels/fix-icon-paths.pl: Perl script to fix
+	  hardcoded paths in glade-generated code
+
+2007-03-17 05:13  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/mapdisp.py:
+	  Maps from other than the working mapset can be displayed
+
+2007-03-17 04:26  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/mapdisp.py,
+	  gui/wxpython/gism.py: A mapdisplay will now render and display
+	  maps in the GIS Manager layer
+	  tree!!
+
+2007-03-17 02:43  barton
+
+	* gui/wxpython/wxgrass: Better way to ID Mac OS systems for python
+	  execution.
+
+2007-03-17 00:30  barton
+
+	* gui/wxpython/Gism/render.py: Changed code for reading WIND file.
+	  I think this achieves the same
+	  objective and does not crash on my Mac anymore.
+
+2007-03-16 20:07  barton
+
+	* gui/wxpython/Gism/render.py: Fix indent problem on line 288
+
+2007-03-16 19:39  barton
+
+	* gui/wxpython/Gism/gismutils.py: Fix bug introduced by trying to
+	  make map selection combo box read only.
+	  For some reason, this makes the event not register
+
+2007-03-16 18:57  barton
+
+	* gui/wxpython/Gism/gismutils.py: layers list updated any time a
+	  map is added or changed in layer
+
+2007-03-16 18:06  cepicky
+
+	* gui/wxpython/Gism/render.py: more information about why opening
+	  WIND failed
+
+2007-03-16 17:24  barton
+
+	* gui/wxpython/Gism/gismutils.py: Some fixes to adding layers to
+	  layer list
+
+2007-03-16 16:39  barton
+
+	* gui/wxpython/Gism/gismutils.py: Layers added to layer list
+
+2007-03-16 16:38  barton
+
+	* gui/wxpython/Gism/render.py: Fixing issue with opacity limits for
+	  layers
+
+2007-03-16 16:22  landa
+
+	* gui/wxpython/gism.py: revert some changes, fix broken revision
+
+2007-03-16 15:59  landa
+
+	* gui/wxpython/gism.py: syntax cosmetics, no code improving
+
+2007-03-16 14:32  cepicky
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/render.py,
+	  gui/wxpython/gism.py: minor bugfixing
+
+2007-03-16 05:08  barton
+
+	* gui/wxpython/Gism/gismutils.py: Updates to layer tree interface
+	  for map selection. Added new event
+	  handlers and prototype map list generator.
+
+2007-03-16 00:04  barton
+
+	* gui/wxpython/Gism/gismutils.py: Items are checked as active when
+	  initially added to layer tree.
+
+2007-03-15 23:54  barton
+
+	* gui/wxpython/Gism/gismutils.py: Improved saving of command
+	  history and output.
+
+2007-03-15 18:54  barton
+
+	* gui/wxpython/Gism/gismutils.py: Improvements to layer tree
+
+2007-03-15 10:58  cepicky
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/gism.py: adding
+	  multiple layers now possible
+
+2007-03-15 10:56  cepicky
+
+	* gui/wxpython/gism.py: unused panels commented out
+
+2007-03-15 06:46  neteler
+
+	* gui/wxpython/README: micro docs added
+
+2007-03-15 06:01  barton
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/gism.py: Added
+	  combobox tree control to layer tree so that each raster and
+	  vector layer now will list actual maps in accessible mapsets in
+	  the
+	  current location.
+
+2007-03-15 02:41  barton
+
+	* gui/wxpython/Gism/gismutils.py: Reactivated command line and
+	  output window. All commands now work
+	  (including shell commands), except GRASS d.* commands.
+
+2007-03-15 02:37  barton
+
+	* gui/wxpython/Gism/mapdisp.py: Fix error generated by closing all
+	  display on quitting wxgrass
+
+2007-03-14 16:52  barton
+
+	* gui/wxpython/gism.py: Fix main notebook so that command output
+	  window shows up again.
+
+2007-03-14 16:29  barton
+
+	* gui/wxpython/gism2.py: Merged with gism.py. Deprecated.
+
+2007-03-14 16:24  barton
+
+	* gui/wxpython/gism.py: Updating gism.py with contents of gism2.py.
+	  gism2.py can now be removed.
+
+2007-03-14 03:54  barton
+
+	* gui/wxpython/Gism/gismutils.py: Enhanced layer tree. Double
+	  clicking on raster layer will pop up layer
+	  options panel.
+
+2007-03-14 03:52  barton
+
+	* gui/wxpython/Gism/optpanels,
+	  gui/wxpython/Gism/optpanels/Layoutf.py,
+	  gui/wxpython/Gism/optpanels/__init__.py,
+	  gui/wxpython/Gism/optpanels/cmdopt.py,
+	  gui/wxpython/Gism/optpanels/cmdopt.wxg,
+	  gui/wxpython/Gism/optpanels/cmdopt.wxg copy,
+	  gui/wxpython/Gism/optpanels/rastopt.py,
+	  gui/wxpython/Gism/optpanels/rastopt.wxg,
+	  gui/wxpython/Gism/optpanels/rastopt.xrc,
+	  gui/wxpython/Gism/optpanels/rastopt2.py,
+	  gui/wxpython/Gism/optpanels/vectopt.py,
+	  gui/wxpython/Gism/optpanels/vectopt.wxg: Prototype options
+	  panels. Raster is only one working correctly now.
+	  Made with wx.Glade
+
+2007-03-14 03:05  barton
+
+	* gui/wxpython/Gism/mapdisp.py, gui/wxpython/Gism/track.py: Closing
+	  map display now will also close associated controls page with
+	  map layer tree. Fixed minor bug in mapdisp.py.
+
+2007-03-14 03:04  barton
+
+	* gui/wxpython/gism2.py: Update to have closing map display also
+	  close associated controls page
+
+2007-03-14 01:56  barton
+
+	* gui/wxpython/gism2.py: Deleting display notebook page also
+	  deletes associated map display.
+
+2007-03-14 01:25  barton
+
+	* gui/wxpython/gism2.py: Layer tree working now. More code cleanup.
+
+2007-03-13 23:33  barton
+
+	* gui/wxpython/Gism/mapdisp.py: Made gism2.py and mapdisp.py
+	  independent
+
+2007-03-13 23:33  barton
+
+	* gui/wxpython/gism2.py: Made gism2.py and mapdisp.py independent
+
+2007-03-13 23:11  barton
+
+	* gui/wxpython/Gism/mapdisp.py: Update to work with FlatNotebook
+	  widget in GIS Manager
+
+2007-03-13 23:08  barton
+
+	* gui/wxpython/gism2.py: Added nice FlatNotebook tabs for displays.
+	  More code cleanup (removed
+	  GMControlsbook class and moved the widget creation into
+	  __createNotebook
+	  method.
+
+2007-03-13 04:02  barton
+
+	* gui/wxpython/gism2.py: Updated version of gism.py. Works with
+	  mapdisplay.py and track.py to
+	  create and manage layer tree notebook pages for each display.
+
+2007-03-13 03:46  barton
+
+	* gui/wxpython/Gism/track.py: Updated to create and manage notebook
+	  pages for each display
+
+2007-03-13 03:45  barton
+
+	* gui/wxpython/Gism/mapdisp.py: Merged with mapdisplay2. Updated to
+	  create notebook pages for each
+	  display.
+
+2007-03-12 18:28  landa
+
+	* gui/wxpython/Gism/toolbars.py: minor bug fixed (kind=radio)
+
+2007-03-12 18:24  landa
+
+	* gui/wxpython/Gism/mapdisp2.py, gui/wxpython/Gism/toolbars.py: *
+	  cursors introduced
+	  * playing with wx.ArtProvider (toolbar)
+	  * -1 -> wx.ID_ANY
+
+2007-03-12 17:17  cepicky
+
+	* gui/wxpython/gis_set.py, gui/wxpython/grass_wizard.py:
+	  coordinates based on georef. file
+
+2007-03-11 23:03  barton
+
+	* gui/wxpython/wxgrass: Script to start wx.Python GUI for GRASS
+	  (goes in $GISBASE/scripts/)
+
+2007-03-09 18:28  landa
+
+	* gui/wxpython/Gism/mapdisp2.py: partial status bar improvings
+
+2007-03-09 18:11  cepicky
+
+	* gui/wxpython/grass_wizard.py: coordinates can be calculated based
+	  on georeferenced (raster) file
+
+2007-03-09 15:40  cepicky
+
+	* gui/wxpython/grass_wizard.py: coordinates calculation possible,
+	  based on cs2cs
+
+2007-03-09 11:58  landa
+
+	* gui/wxpython/Gism/mapdisp2.py, gui/wxpython/Gism/toolbars.py:
+	  toolbar cosmetics
+
+2007-03-09 10:24  cepicky
+
+	* gui/wxpython/grass_wizard.py: datum transformation parameters are
+	  working
+
+2007-03-09 08:54  landa
+
+	* gui/wxpython/Gism/toolbars.py: typo
+
+2007-03-08 18:01  cepicky
+
+	* gui/wxpython/grass_wizard.py: wizard progressing
+
+2007-03-08 15:57  landa
+
+	* gui/wxpython/Gism/mapdisp2.py: really only code cosmetics, trying
+	  understand the code;-)
+
+2007-03-08 15:16  landa
+
+	* gui/wxpython/Gism/toolbars.py: cosmetics: unrelated code
+	  commented
+
+2007-03-08 13:09  cepicky
+
+	* gui/wxpython/grass_wizard.py: new pages to the wizard
+
+2007-03-07 14:56  cepicky
+
+	* gui/wxpython/gis_set.py, gui/wxpython/grass_wizard.py,
+	  gui/wxpython/states.txt: wizard continues
+
+2007-03-06 17:16  cepicky
+
+	* gui/wxpython/grass_wizard.py: first steps towards new wizard
+
+2007-03-06 13:23  cepicky
+
+	* gui/wxpython/states.txt: state boundary coordinates added
+
+2007-03-06 11:02  cepicky
+
+	* gui/wxpython/gis_set.py: creating location based on epsg partly
+	  supported
+
+2007-03-06 09:46  cepicky
+
+	* gui/wxpython/gis_set.py: creating location based on georeferenced
+	  file possible
+
+2007-03-05 16:02  landa
+
+	* gui/wxpython/Gism/packages-uml.dia, gui/wxpython/Gism/render.py:
+	  * uml py-packages diagram added (render package complete)
+	  * cosmetics in render package
+
+2007-03-05 15:24  landa
+
+	* gui/wxpython/Gism/render.py: global variable commented
+
+2007-03-05 10:57  cepicky
+
+	* gui/wxpython/Gism/track.py: class Track back again
+
+2007-03-05 10:36  cepicky
+
+	* gui/wxpython/gism.py: code restructuralization in gism
+
+2007-03-05 09:43  landa
+
+	* gui/wxpython/Gism/render.py: initial code reconstruction:
+	  * GRASSLayer introduced
+	  * Layer renamed to MapLayer
+
+2007-03-02 18:11  landa
+
+	* gui/wxpython/Gism/mapdisp2.py, gui/wxpython/Gism/render.py: fix
+	  variable names inconsistency
+
+2007-03-01 14:57  cepicky
+
+	* gui/wxpython/gis_set.py: gis_set.py works with Init.sh
+
+2007-03-01 14:46  cepicky
+
+	* gui/wxpython/Init.sh: updated version of Init.sh added
+
+2007-03-01 13:01  cepicky
+
+	* gui/wxpython/gis_set.py, gui/wxpython/grass_startup.py: file name
+	  consolidation
+
+2007-03-01 10:01  cepicky
+
+	* gui/wxpython/grass_startup.py, gui/wxpython/grass_wizard.py:
+	  first step towards new location wizard
+
+2007-03-01 08:34  cepicky
+
+	* gui/wxpython/grass_startup.py: epsg codes searching
+
+2007-02-28 17:58  cepicky
+
+	* gui/wxpython/grass_start.py, gui/wxpython/grass_startup.py:
+	  sorry, wrong file for grass startup
+
+2007-02-28 17:53  cepicky
+
+	* gui/wxpython/grass_start.py: first version of future start-up GUI
+	  for GRASS
+
+2007-02-27 14:26  landa
+
+	* gui/wxpython/Gism/render.py: cosmetics: PopLayer() renamed to
+	  RemoveLayer()
+
+2007-02-27 14:21  landa
+
+	* gui/wxpython/Gism/render.py: * cosmetics: small letter for
+	  variables
+
+2007-02-26 16:53  landa
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/grassenv.py,
+	  gui/wxpython/Gism/render.py, gui/wxpython/Gism/toolbars.py: *
+	  only cosmetics
+
+2007-02-23 16:51  cepicky
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/mapdisp2.py,
+	  gui/wxpython/Gism/render.py, gui/wxpython/Gism/toolbars.py:
+	  toolbars moved to separate file
+
+2007-02-23 10:55  cepicky
+
+	* gui/wxpython/Gism/grassenv.py: more grass exceptions
+
+2007-02-22 14:59  cepicky
+
+	* gui/wxpython/Gism/mapdisp2.py: point digitizing partely possible
+
+2007-02-22 14:59  cepicky
+
+	* gui/wxpython/Gism/cmd.py: automatic command run
+
+2007-02-22 14:58  cepicky
+
+	* gui/wxpython/Gism/toolbars.py: point digitizing partely possible
+
+2007-02-22 14:48  cepicky
+
+	* gui/wxpython/Gism/grassenv.py: grass environment variables
+
+2007-02-22 12:36  cepicky
+
+	* gui/wxpython/Gism/cmd.py: new class for running GRASS modules
+
+2007-02-20 18:38  cepicky
+
+	* gui/wxpython/Gism/gismutils.py, gui/wxpython/Gism/mapdisp.py,
+	  gui/wxpython/Gism/mapdisp2.py, gui/wxpython/Gism/render.py,
+	  gui/wxpython/Gism/toolbars.py: new art of map display
+
+2007-02-19 15:42  cepicky
+
+	* gui/wxpython/Gism/mapdisp.py: cleaning
+
+2007-02-14 22:23  barton
+
+	* gui/wxpython/gism.py: Improving dynamic link between active
+	  displays and controls
+
+2007-02-14 22:22  barton
+
+	* gui/wxpython/Gism/render.py: Improving dynamic link between
+	  active displays and controls
+
+2007-02-14 22:22  barton
+
+	* gui/wxpython/Gism/mapdisp.py: Improving dynamic link between
+	  active displays and controls
+
+2007-02-14 19:29  barton
+
+	* gui/wxpython/Gism/render.py: Fixed dynamic association between
+	  active display and choicbook page
+	  with layer and console controls.
+
+2007-02-14 19:24  barton
+
+	* gui/wxpython/Gism/mapdisp.py: Fixed dynamic association between
+	  active display and choicbook page
+	  with layer and console controls.
+
+2007-02-14 19:18  barton
+
+	* gui/wxpython/Gism/gismutils.py: Fixed image list issues (needs to
+	  be 16x16 until bug fix in wx.Python)
+
+2007-02-12 07:40  barton
+
+	* gui/wxpython/Gism/gismutils.py: Getting a nicer layer tree. Still
+	  non-functional, but shows concepts.
+
+2007-02-11 20:16  barton
+
+	* gui/wxpython/Gism/gismutils.py: Updates to layer tree control.
+	  Problems with creating and assigning
+	  an image list based on existing GRASS icons.
+
+2007-02-11 20:14  barton
+
+	* gui/wxpython/Gism/render.py: Removed unneeded debugging code.
+	  Added methods for tracking layer tree
+	  control associated with each display.
+
+2007-02-10 23:35  barton
+
+	* gui/wxpython/Gism/gismutils.py: Made each map layer a checkbox
+	  type.
+
+2007-02-10 22:24  barton
+
+	* gui/wxpython/gism.py: Removed classes duplicated in gismutils.py.
+	  Adding layers to tree is
+	  working sort of now.
+
+2007-02-10 22:18  barton
+
+	* gui/wxpython/Gism/gismutils.py: Finally got the tree to work with
+	  adding layers.
+
+2007-02-10 21:29  barton
+
+	* gui/wxpython/Gism/__init__.py: renamed grassgui to mapform
+
+2007-02-09 19:59  cepicky
+
+	* gui/wxpython/gism.py: grassgui renamed to menuform
+
+2007-02-09 19:56  cepicky
+
+	* gui/wxpython/Gism/grassgui.py, gui/wxpython/Gism/menuform.py:
+	  grassgui renamed to menuform
+
+2007-02-09 19:50  cepicky
+
+	* gui/wxpython/Gism/grass-interface.dtd: dtd definition for modules
+	  added
+
+2007-02-09 19:33  cepicky
+
+	* gui/wxpython/Gism/gismutils.py: files with various classis used
+	  by gism
+
+2007-02-09 19:30  cepicky
+
+	* gui/wxpython/grassgui.py, gui/wxpython/mapdisp.py,
+	  gui/wxpython/menudata.py, gui/wxpython/render.py,
+	  gui/wxpython/render2.py, gui/wxpython/utils.py: removed moved
+	  files
+
+2007-02-09 19:29  cepicky
+
+	* gui/wxpython/Gism/render.py: render.py should work again
+
+2007-02-09 19:19  cepicky
+
+	* gui/wxpython/gism.wxg: removing unused wxGlade file
+
+2007-02-09 19:18  cepicky
+
+	* gui/wxpython/Gism/__init__.py, gui/wxpython/Gism/grassgui.py,
+	  gui/wxpython/Gism/mapdisp.py, gui/wxpython/Gism/render.py,
+	  gui/wxpython/gism.py: code refactoring again
+
+2007-02-09 17:43  barton
+
+	* gui/wxpython/render2.py: Redid methods in Track class Redid
+	  methods in Track class and remove
+	  global namespaces. This is supposed to be render.py but I am
+	  unable to
+	  commit my merged copy.
+
+2007-02-09 17:30  barton
+
+	* gui/wxpython/menudata.py: Changed method names to match new
+	  designations in gism.py
+
+2007-02-09 17:29  barton
+
+	* gui/wxpython/mapdisp.py: Changed method names to match new
+	  designations in gism.py and render.py
+
+2007-02-09 17:28  barton
+
+	* gui/wxpython/gism.py: Changed method names. Redoing layer tree
+	  class and methods.
+
+2007-02-09 17:03  cepicky
+
+	* gui/wxpython/gism.py, gui/wxpython/grassgui.py,
+	  gui/wxpython/mapdisp.py, gui/wxpython/menudata.py,
+	  gui/wxpython/render.py, gui/wxpython/utils.py: Reverting last
+	  changes
+
+2007-02-09 15:00  cepicky
+
+	* gui/wxpython/Gism/mapdisp.py, gui/wxpython/gism.py: code
+	  restructuralization III.
+
+2007-02-09 14:27  cepicky
+
+	* gui/wxpython/Gism, gui/wxpython/gism: code restructuralization,
+	  secon part
+
+2007-02-09 14:27  cepicky
+
+	* gui/wxpython/gism, gui/wxpython/gism.py,
+	  gui/wxpython/gism/grassgui.py, gui/wxpython/gism/mapdisp.py,
+	  gui/wxpython/gism/menudata.py, gui/wxpython/gism/render.py,
+	  gui/wxpython/gism/utils.py, gui/wxpython/grassgui.py,
+	  gui/wxpython/mapdisp.py, gui/wxpython/menudata.py,
+	  gui/wxpython/render.py, gui/wxpython/utils.py: code
+	  restructuralization
+
+2007-02-08 15:37  cepicky
+
+	* gui/wxpython/gism.py: definition of some evnironment variables
+	  during gism.py startup
+
+2007-02-07 06:21  barton
+
+	* gui/wxpython/render.py: Fix typo with comment block
+
+2007-02-07 06:19  barton
+
+	* gui/wxpython/render.py: Fixed indent problem - from Markus
+
+2007-02-05 17:32  neteler
+
+	* gui/wxpython/gism.py, gui/wxpython/grassgui.py: conditionalize
+	  subprocess upon presence; fall back to compat/ directory if
+	  missing in system
+
+2007-02-05 16:46  neteler
+
+	* gui/wxpython/compat, gui/wxpython/compat/__init__.py,
+	  gui/wxpython/compat/subprocess.py: needed for python 2.3.x
+
+2007-02-05 16:20  barton
+
+	* gui/wxpython/gism.py: Updated to be consistent with new methods
+	  in render.Track class.
+	  Removed redundant, non-functional code replaced by methods in
+	  render.Track.
+	  Changed name of main frame class to GMFrame (away from generic
+	  MainFrame)
+
+2007-02-05 16:17  barton
+
+	* gui/wxpython/mapdisp.py: Updated to be consistent with new
+	  methods in render.Track class.
+	  Removed redundant, non-functional code replaced by methods in
+	  render.Track
+
+2007-02-05 16:14  barton
+
+	* gui/wxpython/render.py: Updated tracking methods in class Track.
+	  Made method names consistent
+	  with other method names in new revisions.
+
+2007-02-05 09:53  cepicky
+
+	* gui/wxpython/grassgui.py: added grassgui.py
+
+2007-02-05 09:52  cepicky
+
+	* gui/wxpython/menudata.py: file with menu definition
+
+2007-02-05 09:23  cepicky
+
+	* gui/wxpython/render.py: some IndentationError solved
+
+2007-02-05 06:10  barton
+
+	* gui/wxpython/gism.py, gui/wxpython/mapdisp.py: Changed name of
+	  variable to index and track display monitors from
+	  mapidx to disp_idx to avoid future confusion with any indexes to
+	  track
+	  individual map layers.
+
+2007-02-05 04:35  barton
+
+	* gui/wxpython/gism.py: GIS Manager control for map layers and
+	  command console.
+
+2007-02-05 04:29  barton
+
+	* gui/wxpython/mapdisp.py, gui/wxpython/render.py: Added track
+	  class for keeping track of which GIS Manager control
+	  is managing which display.
+
+2007-02-04 10:52  cepicky
+
+	* gui/wxpython/render.py: new function for region adjusting
+
+2007-02-04 10:45  cepicky
+
+	* gui/wxpython/mapdisp.py, gui/wxpython/mapimg.py,
+	  gui/wxpython/render.py: region adjusting should work now
+
+2007-02-03 18:17  cepicky
+
+	* gui/wxpython/mapdisp.py: making mapdisp.py slowly working with
+	  render.py
+
+2007-02-03 15:12  cepicky
+
+	* gui/wxpython/render.py: renaming mapimg -> render
+
+2007-02-02 15:00  cepicky
+
+	* gui/wxpython/mapimg.py: removed force stoping of gism monitor at
+	  the begin of session
+
+2007-02-02 15:00  cepicky
+
+	* gui/wxpython/mapdisp.py: mapdisp.py slowly works with new
+	  mapimg.py
+
+2007-02-02 09:19  cepicky
+
+	* gui/wxpython/gism.wxg: wxGlade definition file with suggested
+	  shape of GIS Manager
+
+2007-02-01 14:18  cepicky
+
+	* gui/wxpython/mapimg.py, gui/wxpython/utils.py: code
+	  reorganization
+
+2007-01-31 18:17  cepicky
+
+	* gui/wxpython/mapimg.py: * added new class - Layer
+	  * g.pnmcomp used, each layer has separate temporary mapfile and
+	  mask
+
+2007-01-31 09:15  cepicky
+
+	* gui/wxpython/mapimg.py: added mapimg.py -- class Map for image
+	  rendering
+
+2007-01-30 14:51  cepicky
+
+	* gui/wxpython: added directory with GUI
+
+2007-12-09 21:46  landa
+
+	* gui/wxpython: cvs2svn: grass-addons/gui -> grass/gui/wxpython
+
+2007-12-09 11:30  markus
+
+	* contributors.csv: updated
+
+2007-12-09 10:19  moritz
+
+	* lib/init/gis_set.tcl: location is invalid if it doesn't have
+	  DEFAULT_WIND in PERMANENT, not WIND
+
+2007-12-08 19:42  markus
+
+	* contributors.csv: SVN/RFC2 updates
+
+2007-12-08 08:28  markus
+
+	* contributors_extra.csv: email fix
+
+2007-12-07 21:45  markus
+
+	* raster/r.los/main.c: reverted 'percent memory' patch due to 64bit
+	  failure
+
+2007-12-07 21:30  markus
+
+	* lib/grasslib.dox: URLs updated
+
+2007-12-07 16:30  markus
+
+	* contributors_extra.csv: added name,email,rfc2_agreed; added Dylan
+	  Beaudette; removed A. Lange since he is in contributors.csv
+
+2007-12-07 15:19  scott
+
+	* scripts/r.regression.line/description.html: correct desc of medX
+	  medY: mean, not median, and add terms slope and intercept
+
+2007-12-07 15:12  scott
+
+	* scripts/r.regression.line/r.regression.line: corrected
+	  description of medX medY - mean, not median
+
+2007-12-07 10:25  markus
+
+	* contributors.csv: +Glynn
+
+2007-12-06 21:49  martinl
+
+	* contributors.csv: ML: RFC 2
+
+2007-12-06 19:51  markus
+
+	* contributors.csv: more rfc2 agreements
+
+2007-12-06 19:51  markus
+
+	* scripts/v.rast.stats/v.rast.stats: no debug
+
+2007-12-06 17:43  moritz
+
+	* scripts/v.rast.stats/v.rast.stats: use table currently linked to
+	  map at desired layer, not table with same name as map
+
+2007-12-06 17:37  markus
+
+	* contributors.csv: +Maciek
+
+2007-12-06 17:11  markus
+
+	* contributors.csv: updated
+
+2007-12-06 14:15  martinl
+
+	* vector/v.distance/description.html, vector/v.distance/main.c:
+	  Matrix-like output for -a flag
+
+2007-12-06 10:10  markus
+
+	* contributors.csv: table fix;new osgeo_ids; new column
+	  'rfc2_agreed'
+
+2007-12-06 10:05  markus
+
+	* contributors.csv: new osgeo_ids; new column 'rfc2_agreed'
+
+2007-12-06 00:32  markus
+
+	* contributors.csv: added missing Eric Patton
+
+2007-12-06 00:04  markus
+
+	* contributors.csv: more osgeo_ids - before activation contributors
+	  have to agree to RFC2 - 'Legal aspects of code contributions',
+	  see http://mpa.itc.it/markus/grass63progman/rfc/rfc2_psc.html
+
+2007-12-05 23:42  martinl
+
+	* contributors.csv: osgeo_id for ML
+
+2007-12-05 23:24  markus
+
+	* contributors.csv: started to add 'osgeo_id' as last column
+
+2007-12-05 13:56  martinl
+
+	* vector/v.distance/main.c: Message standardization (cosmetics)
+
+2007-12-04 20:39  markus
+
+	* scripts/r.regression.line/r.regression.line: fix to suppress no
+	  data; fix for FP maps
+
+2007-12-04 20:36  markus
+
+	* scripts/r.regression.line/description.html: explain coefficients
+
+2007-12-04 14:01  markus
+
+	* vector/v.out.ogr/description.html: + db.out.ogr
+
+2007-12-04 13:54  markus
+
+	* scripts/Makefile: + db.out.ogr
+
+2007-12-04 13:54  markus
+
+	* scripts/db.out.ogr, scripts/db.out.ogr/Makefile,
+	  scripts/db.out.ogr/db.out.ogr,
+	  scripts/db.out.ogr/description.html: new table exporter
+
+2007-12-04 09:31  hamish
+
+	* lib/gis/verbose.c: clean up comments. With G_verbose_message()
+	  --verbose can now work
+	  without special checks in the modules for the level.
+
+2007-12-04 09:18  markus
+
+	* lib/init/variables.html: +$HOME/.grasslogin6
+
+2007-12-03 22:52  markus
+
+	* scripts/r.regression.line/r.regression.line: check if maps are
+	  there
+
+2007-12-03 22:25  markus
+
+	* vector/v.to.db/areas.c, vector/v.to.db/description.html,
+	  vector/v.to.db/parse.c: Dylan Beaudette: document fractal
+	  dimension
+
+2007-12-03 15:33  markus
+
+	* raster/r.info/description.html, raster/r.report/description.html,
+	  raster/r.statistics/description.html,
+	  raster/r.stats/description.html: link r.univar
+
+2007-12-03 15:01  william
+
+	* macosx/app/Info.plist.in, macosx/pkg/resources/Info.plist.in: app
+	  ID to osgeo.org
+
+2007-12-03 09:16  glynn
+
+	* include/display.h, lib/display/draw2.c: Remove clip margin
+	  Filter zero-length segments
+	  Round point/line vertices downward instead of to nearest
+
+2007-12-03 01:18  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Changed max zoom-in check to look
+	  for 1x1 cell (i.e., region resolution) rather than 1x1 map unit.
+
+2007-12-02 22:50  hamish
+
+	* raster/r.in.xyz/main.c: keywords
+
+2007-12-02 16:47  markus
+
+	* scripts/r.mask/r.mask: fix message position
+
+2007-12-02 14:26  markus
+
+	* scripts/r.regression.line/description.html,
+	  scripts/r.regression.line/r.regression.line: script style output
+	  added
+
+2007-12-02 13:01  markus
+
+	* vector/v.to.db/areas.c, vector/v.to.db/description.html,
+	  vector/v.to.db/global.h, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/update.c: Dylan Beaudette:
+	  added polygon's Fractal Dimension D
+
+2007-12-01 19:48  william
+
+	* macosx/pkg/resources/ReadMe.rtf: Leopard notes and misc cleanup
+
+2007-12-01 19:31  william
+
+	* macosx/ReadMe.rtf: Leopard notes and misc cleanup
+
+2007-12-01 19:21  william
+
+	* macosx/app/Makefile: let user set TCLTK_INTERNAL
+
+2007-12-01 17:32  markus
+
+	* tools/mkhtml.sh: fix another C leftover
+
+2007-12-01 17:28  markus
+
+	* tools/mkhtml.sh: fix
+
+2007-12-01 16:50  markus
+
+	* tools/build_html_index.sh, tools/mkhtml.sh: improved
+	  header/footer/url
+
+2007-12-01 16:35  markus
+
+	* lib/gis/parser.c: added GRASS GIS: to HTML title
+
+2007-12-01 16:34  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Improve maximum zoom-in message
+	  box.
+
+2007-12-01 16:12  markus
+
+	* vector/v.vol.rst/user1.c: say how many points are used
+
+2007-12-01 05:19  hamish
+
+	* display/drivers/cairo/description.html: html bug
+
+2007-12-01 05:18  hamish
+
+	* display/drivers/cairo/Makefile: fix PGM position for creating
+	  help page
+
+2007-12-01 05:13  hamish
+
+	* display/drivers/cairo/Makefile: fix target name
+
+2007-12-01 04:53  hamish
+
+	* visualization/nviz/scripts/panel_kanimator.tcl: comment out
+	  auto-extension so that FFMPEG guess_format() can write to asf,
+	  avi, flv, swf, etc.
+
+2007-12-01 04:49  hamish
+
+	* REQUIREMENTS.html, lib/ogsf/gsd_img_mpeg.c: [From Bob Covill]
+	  Subject: Re: [GRASS-dev] OSX FFMPEG build instructions available
+	  Date: Mon, 22 Oct 2007 20:02:57 -0300
+	  
+	  I have attached a patch for gsd_img_mpeg.c (ogsf) which is based
+	  on the
+	  later releases of ffmpeg (output_example.c). This uses a function
+	  guess_format to guess the format based upon the file extension
+	  given. If
+	  the format is unknown it reverts to mpeg1. With this patch you
+	  can save
+	  to any (almost) format supported by ffmpeg. For example you can
+	  save to
+	  asf, avi, flv, swf, etc. To use this with nviz the auto name
+	  extension
+	  in panel_kanimator.tcl will have to be commented out ...
+	  
+	  # if { [string compare $fnameExt ".mpg"] != 0 &&
+	  # [string compare $fnameExt ".mpeg"] != 0 } then {
+	  # append keyanimBaseName ".mpg"
+	  # }
+	  
+	  The patch needs testing, etc.
+	  
+	  Let me know if you have any questions.
+	  
+	  --
+	  Bob
+
+2007-11-30 22:07  markus
+
+	* raster/rasterintro.html: typo
+
+2007-11-30 10:42  markus
+
+	* translators.csv: CSV format fix
+
+2007-11-30 09:37  markus
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grasstcl_am.po, locale/po/grasstcl_ar.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_el.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_ko.po,
+	  locale/po/grasstcl_lv.po, locale/po/grasstcl_mr.po,
+	  locale/po/grasstcl_pt.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_sl.po,
+	  locale/po/grasstcl_th.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: email list
+	  fix
+
+2007-11-29 20:54  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fix error due to overzooming
+
+2007-11-29 20:45  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Looks in $GISBASE/etc for xtnmenu.dat
+	  file too.
+
+2007-11-29 20:22  carlos
+
+	* translators.csv: Added new translator
+
+2007-11-29 20:21  carlos
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_th.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_th.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grasstcl_am.po, locale/po/grasstcl_ar.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_el.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_fr.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_ko.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasstcl_pt.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_sl.po,
+	  locale/po/grasstcl_th.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: Messages
+	  updated sync'ed
+
+2007-11-29 20:12  carlos
+
+	* locale/po/grasslibs_zh.po, locale/po/grassmods_zh.po: Su Yongheng
+	  translations and updated
+
+2007-11-29 19:26  carlos
+
+	* vector/v.in.ascii/in.c: More typos
+
+2007-11-29 19:23  carlos
+
+	* vector/v.in.ascii/in.c: Typos
+
+2007-11-29 18:51  carlos
+
+	* raster/r.out.gridatb/check_ready.c, raster/r.out.vtk/main.c:
+	  Message standardization
+
+2007-11-29 13:21  markus
+
+	* db/db.login/description.html: typos fixed
+
+2007-11-29 10:20  markus
+
+	* db/db.login/description.html: PW stuff explained
+
+2007-11-29 10:06  markus
+
+	* swig/perl/Makefile.PL.in: grass_D no longer exists
+
+2007-11-29 10:04  markus
+
+	* swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c: Message
+	  standardization (from original)
+
+2007-11-29 01:02  hamish
+
+	* display/drivers/description.html: cairo driver
+
+2007-11-29 00:52  glynn
+
+	* raster/r.series/main.c: Create integer maps where appropriate
+
+2007-11-29 00:51  glynn
+
+	* lib/cairodriver/Graph.c: Distinguish between raster and vector
+	  backends
+
+2007-11-28 18:25  carlos
+
+	* display/d.title/main.c, ps/ps.map/ps_clrtbl.c,
+	  ps/ps.map/ps_fclrtbl.c, raster/r.cats/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/map3.c,
+	  raster/r.out.vtk/main.c, raster/r.region/main.c,
+	  raster/r.report/parse.c, raster/r.statistics/main.c,
+	  raster/r.support/front/front.c,
+	  raster/r.support/modcats/modcats.c: Message standardization
+
+2007-11-28 11:02  moritz
+
+	* lib/init/grass.bat: added hint on how to set path to shell
+	  utilities
+
+2007-11-27 18:25  carlos
+
+	* imagery/i.smap/shapiro/closefiles.c, raster/r.basins.fill/main.c,
+	  raster/r.coin/cmd_parms.c, raster/r.cost/main.c,
+	  raster/r.cross/main.c, raster/r.flow/io.c,
+	  raster/r.out.mpeg/main.c, raster/r.patch/main.c,
+	  raster/r.resample/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.walk/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c: Message
+	  standardization
+
+2007-11-27 14:44  jachym
+
+	* locale/po/grasstcl_cs.po: czech translation updated
+
+2007-11-27 14:20  jachym
+
+	* locale/po/grassmods_cs.po: czech translation updated
+
+2007-11-27 04:34  hamish
+
+	* scripts/d.out.file/d.out.file: cairo doesn't support EPS
+
+2007-11-27 04:20  hamish
+
+	* scripts/d.out.file/description.html: add cairo driver help page
+
+2007-11-27 04:17  hamish
+
+	* scripts/d.out.file/d.out.file: support for cairo PS,PDF,SVG
+	  output
+
+2007-11-27 00:26  glynn
+
+	* display/d.rast/display.c: Don't erase window
+
+2007-11-27 00:15  glynn
+
+	* scripts/v.db.join/v.db.join: Remove sqlite3 check
+
+2007-11-26 15:48  markus
+
+	* raster/r.li/r.li.cwed/Makefile, raster/r.li/r.li.daemon/Makefile,
+	  raster/r.li/r.li.dominance/Makefile,
+	  raster/r.li/r.li.edgedensity/Makefile,
+	  raster/r.li/r.li.mpa/Makefile, raster/r.li/r.li.mps/Makefile,
+	  raster/r.li/r.li.padcv/Makefile,
+	  raster/r.li/r.li.padrange/Makefile,
+	  raster/r.li/r.li.padsd/Makefile,
+	  raster/r.li/r.li.patchdensity/Makefile,
+	  raster/r.li/r.li.patchnum/Makefile,
+	  raster/r.li/r.li.richness/Makefile,
+	  raster/r.li/r.li.shannon/Makefile,
+	  raster/r.li/r.li.shape/Makefile,
+	  raster/r.li/r.li.simpson/Makefile: fixed LIB name
+
+2007-11-26 15:22  markus
+
+	* raster/r.gwflow/description.html,
+	  raster/r.gwflow/r_gwflow_concept.png: Soeren Gebbert: added
+	  concept img
+
+2007-11-26 04:03  hamish
+
+	* scripts/d.monsize/d.monsize: please drop or merge with d.resize
+	  for GRASS 7
+
+2007-11-26 03:37  hamish
+
+	* scripts/d.monsize/d.monsize: fix shebang
+
+2007-11-25 15:51  markus
+
+	* scripts/v.db.join/description.html: url fix
+
+2007-11-25 12:22  martinl
+
+	* lib/gis/parser.c: Key 'column' renamed to 'columns' for
+	  G_OPT_COLUMNS
+
+2007-11-25 12:03  martinl
+
+	* vector/v.in.ascii/points.c: Precision for latlong (double to
+	  string conversion)
+
+2007-11-25 11:23  martinl
+
+	* vector/v.in.ascii/a2b.c, vector/v.in.ascii/in.c: Run indent
+	  Message standardization
+
+2007-11-25 11:09  martinl
+
+	* vector/v.in.ascii/points.c: Enable to read numbers given in
+	  scientific notation (thanks to Ivan Shmakov <ivan theory.asu.ru>
+
+2007-11-24 12:38  markus
+
+	* vector/v.in.ogr/description.html: link PG driver
+
+2007-11-24 12:36  markus
+
+	* db/drivers/postgres/grass-pg.html: PostGIS example added (thanks
+	  to Horst Düster)
+
+2007-11-24 06:46  hamish
+
+	* display/drivers/cairo/description.html: cairo doesn't user
+	  GRASS_TRUECOLOR
+
+2007-11-24 05:51  hamish
+
+	* lib/cairodriver/description.html: remove dupe file. put in
+	  display/drivers/ same as HTMLMAP, PS, XDRIVER, PNG
+	  drivers.
+
+2007-11-24 03:25  glynn
+
+	* lib/cairodriver/description.html: Added description.html file
+
+2007-11-24 03:02  hamish
+
+	* display/drivers/cairo/Makefile: install help page
+
+2007-11-24 02:58  hamish
+
+	* display/drivers/cairo/description.html: waiting for a
+	  --with-cairo switch to be added to ./configure
+
+2007-11-24 02:45  hamish
+
+	* display/drivers/cairo/description.html: add user help page (from
+	  Lars Ahlzen)
+
+2007-11-23 21:07  moritz
+
+	* imagery/i.find/main.c: replace rename() with G_rename_file()
+
+2007-11-23 21:06  moritz
+
+	* general/g.setproj/main.c: replace rename() by G_rename_file()
+
+2007-11-23 20:59  moritz
+
+	* db/drivers/dbf/table.c: changed rename to G_rename_file for win
+	  compatibility
+
+2007-11-23 20:56  moritz
+
+	* include/gisdefs.h: added G_rename_file()
+
+2007-11-23 20:51  moritz
+
+	* lib/gis/rename.c: add G_rename_file function for renaming files
+	  on file system
+
+2007-11-23 19:16  carlos
+
+	* gui/tcltk/gis.m/vector.tcl: Closes bug #317 and other
+	  enhancements
+
+2007-11-23 17:39  carlos
+
+	* gui/tcltk/gis.m/georect.tcl: Messages internationalized and
+	  standardized
+
+2007-11-23 17:37  carlos
+
+	* locale/po/grasstcl_es.po: Updated Spanish translation
+
+2007-11-23 17:35  markus
+
+	* scripts/g.manual/g.manual: D. Stoecker/openSuSe.org: don't fail
+	  if MAN is compressed
+
+2007-11-23 17:17  jachym
+
+	* locale/po/grassmods_cs.po: czech translation update
+
+2007-11-23 16:34  markus
+
+	* doc/infrastructure.txt: updated
+
+2007-11-23 15:49  carlos
+
+	* raster/r.sunmask/main.c, raster/wildfire/r.ros/main.c,
+	  raster/wildfire/r.spread/main.c: Message standardization
+
+2007-11-23 15:44  moritz
+
+	* scripts/d.vect.thematic/d.vect.thematic: use user chosen layer
+
+2007-11-22 21:42  glynn
+
+	* lib/gis/getl.c: Include trailing NUL in buffer size
+	  Use \r,\n instead of octal constants
+
+2007-11-22 21:41  glynn
+
+	* lib/cairodriver/Draw_bitmap.c: Work around bug with
+	  non-word-aligned surfaces
+
+2007-11-22 21:41  glynn
+
+	* lib/cairodriver/Raster.c: Fix raster position
+
+2007-11-22 12:00  hamish
+
+	* lib/gis/key_value2.c: make reading the PROJ_INFO file DOS-proof
+
+2007-11-22 09:01  hamish
+
+	* scripts/d.out.file/d.out.file: add support for the Cairo driver
+
+2007-11-21 13:18  markus
+
+	* locale/README, locale/po/grasslibs_ar.po,
+	  locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_el.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasstcl_am.po,
+	  locale/po/grasstcl_ar.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_el.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_ko.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_pt.po,
+	  locale/po/grasstcl_pt_br.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_sl.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: updated to
+	  new list URL
+
+2007-11-21 12:33  markus
+
+	* translators.csv: new translator IT
+
+2007-11-21 12:33  markus
+
+	* locale/po/grasslibs_it.po: Tobias Vigl: translation cont'ed
+
+2007-11-21 12:31  markus
+
+	* locale/po/grassmods_cs.po: fix
+
+2007-11-21 08:45  jachym
+
+	* locale/po/grassmods_cs.po: czech translation updated
+
+2007-11-21 07:17  hamish
+
+	* raster/r.los/description.html: todo: rewrite the module
+
+2007-11-21 01:51  hamish
+
+	* vector/v.in.ogr/description.html: document shapefile.shp as dsn
+
+2007-11-20 20:24  carlos
+
+	* raster/wildfire/r.ros/main.c: Message standardization
+
+2007-11-20 16:45  markus
+
+	* raster/r.out.gdal/main.c: debug msg
+
+2007-11-20 16:33  markus
+
+	* raster/r.out.gdal/main.c: better select output type (esp. avoid
+	  GeoTIFF color table problems); user message to say which output
+	  type was used
+
+2007-11-20 14:54  jachym
+
+	* locale/po/grassmods_cs.po: czech translation updated
+
+2007-11-20 11:14  markus
+
+	* INSTALL: small addition
+
+2007-11-20 11:08  markus
+
+	* doc/howto_release.txt: also put SUBMITTING_DOCS online
+
+2007-11-20 11:06  hamish
+
+	* vector/v.label/description.html: where= may cause lots of labels
+	  files, so say how to combine them
+
+2007-11-19 16:23  martinl
+
+	* lib/vector/vectorlib.dox: Fix coor file description
+
+2007-11-19 15:36  markus
+
+	* raster/r.los/main.c: number of segments defined as in r.walk;
+	  percent memory parameter
+
+2007-11-19 01:01  hamish
+
+	* scripts/v.report/description.html,
+	  vector/v.to.db/description.html: note that the International Foot
+	  is always used for distances and acres
+
+2007-11-19 00:40  glynn
+
+	* lib/driver/Font.c: Fallback if font name not found
+
+2007-11-18 18:00  markus
+
+	* vector/v.surf.rst/README, vector/v.vol.rst/README: started to
+	  demystify dnorm (based on Helena's comments)
+
+2007-11-18 17:23  markus
+
+	* vector/v.surf.rst/v.surf.rst.dox: removed as unsupported
+
+2007-11-18 10:33  hamish
+
+	* scripts/r.in.wms/description.html, scripts/r.in.wms/r.in.wms:
+	  minor tweaks
+
+2007-11-17 18:03  william
+
+	* macosx/app/Makefile: fix TCLTKVER var replacement in sed
+
+2007-11-16 15:24  carlos
+
+	* raster/r.out.gridatb/check_ready.c: Message standardized and
+	  localiced
+
+2007-11-16 13:32  hamish
+
+	* gui/tcltk/gis.m/docs/gm_animate2.png,
+	  gui/tcltk/gis.m/docs/gm_gcpmgr.png,
+	  gui/tcltk/gis.m/docs/gm_georectdisp.png,
+	  gui/tcltk/gis.m/docs/gm_georectstart.png,
+	  gui/tcltk/gis.m/docs/gm_gismgr.png,
+	  gui/tcltk/gis.m/docs/gm_mapdisp.png,
+	  gui/tcltk/gis.m/docs/gm_profile2.png: use JPEGs instead of PNGs,
+	  save 1mb for the source distro
+
+2007-11-16 11:04  hamish
+
+	* vector/v.to.db/units.c: more precise conversions for square
+	  miles, feet, and acres
+
+2007-11-16 11:02  hamish
+
+	* vector/v.to.db/main.c: whitespace
+
+2007-11-16 10:49  hamish
+
+	* scripts/v.report/v.report: very minor cleanup
+
+2007-11-16 10:40  hamish
+
+	* scripts/r.shaded.relief/r.shaded.relief: more precise
+	  feet->degree conversion. Doesn't really matter for this module,
+	  but apply it for correctness anyway.
+
+2007-11-16 10:13  hamish
+
+	* raster/r.coin/prnt_entry.c: more precise conversions to square
+	  miles and acres
+
+2007-11-16 09:31  hamish
+
+	* raster/r.coin/description.html: html bug, m.ipf not ported to
+	  GRASS 6
+
+2007-11-16 09:24  hamish
+
+	* raster/r.coin/cmd_parms.c: explain unit codes
+
+2007-11-16 09:01  hamish
+
+	* raster/r.coin/description.html: remove html/body html tags
+
+2007-11-16 08:51  hamish
+
+	* raster/r.report/prt_report.c: more exact values.
+	  
+	  the "units" program was calculating sq-m->acres using US survey
+	  feet
+	  for some unknown reason!?
+
+2007-11-16 04:57  hamish
+
+	* raster/r.report/prt_report.c: more precise conversions for acres
+	  and sq miles
+
+2007-11-16 02:52  glynn
+
+	* vector/v.what.rast/main.c: Fix off-by-one error in duplicate
+	  removal code
+
+2007-11-16 02:12  hamish
+
+	* raster/r.watershed/front/description.html: be clearer
+
+2007-11-15 22:34  william
+
+	* macosx/app/build_gui_user_menu.sh: a little catching up -
+	  generate new extension menu file format for GUI
+
+2007-11-15 09:31  hamish
+
+	* vector/v.label/main.c: allow selection of labels from a SQL query
+
+2007-11-15 08:11  hamish
+
+	* gui/tcltk/gis.m/docs/gm_animate.html,
+	  gui/tcltk/gis.m/docs/gm_georect.html: minor fixes
+
+2007-11-15 07:58  hamish
+
+	* gui/tcltk/gis.m/description.html: postscript -> PostScript
+	  pedancy
+
+2007-11-15 07:56  hamish
+
+	* gui/tcltk/gis.m/description.html: minor fixes
+
+2007-11-15 07:48  hamish
+
+	* gui/tcltk/gis.m/Makefile: install help page JPEGs
+
+2007-11-15 07:48  markus
+
+	* locale/po/grasslibs_th.po, locale/po/grassmods_th.po,
+	  locale/po/grasstcl_th.po, translators.csv: new Thai translation
+	  started by Sarawut Ninsawat
+
+2007-11-15 07:32  hamish
+
+	* gui/tcltk/gis.m/description.html,
+	  gui/tcltk/gis.m/docs/gm_animate.html,
+	  gui/tcltk/gis.m/docs/gm_georect.html,
+	  gui/tcltk/gis.m/docs/gm_profile.html: big cleanup, switch to
+	  smaller filesize JPEGs for huge images
+
+2007-11-15 02:27  hamish
+
+	* gui/tcltk/gis.m/docs/gm_animate2.jpg,
+	  gui/tcltk/gis.m/docs/gm_gcpmgr.jpg,
+	  gui/tcltk/gis.m/docs/gm_georectdisp.jpg,
+	  gui/tcltk/gis.m/docs/gm_georectstart.jpg,
+	  gui/tcltk/gis.m/docs/gm_gismgr.jpg,
+	  gui/tcltk/gis.m/docs/gm_mapdisp.jpg,
+	  gui/tcltk/gis.m/docs/gm_profile2.jpg: use JPEGs instead of PNGs,
+	  save 1mb for the source distro
+
+2007-11-15 01:50  hamish
+
+	* vector/v.voronoi/dt_main.c, vector/v.voronoi/sw_main.c,
+	  vector/v.voronoi/v.delaunay.html,
+	  vector/v.voronoi/v.voronoi.html, vector/v.voronoi/vo_main.c:
+	  minor whitespace, EXIT_SUCCESS, sites->points
+	  note that v.voronoi only works in current region.
+
+2007-11-14 21:12  william
+
+	* macosx/app/grass.sh.in: no need to manually start X11 on Leopard
+
+2007-11-14 16:05  carlos
+
+	* lib/gpde/N_arrays_io.c, raster/r.colors/main.c,
+	  raster/r.cross/main.c, raster/r.fill.dir/main.c,
+	  raster/r.out.arc/main.c, raster/r.terraflow/grass2str.h,
+	  raster/r.terraflow/main.cc: Message standardization
+
+2007-11-14 01:40  hamish
+
+	* ps/ps.map/r_vpoints.c: debug cosmetics
+
+2007-11-14 01:35  hamish
+
+	* ps/ps.map/r_vpoints.c: don't try and printf
+	  vector.layer[vec].epssuf uninitialized (segfault)
+
+2007-11-13 11:59  hamish
+
+	* lib/vector/Vlib/array.c, ps/ps.map/ps_vareas.c,
+	  ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c: don't segfault if
+	  column name is bad, i18n
+
+2007-11-13 11:07  markus
+
+	* scripts/i.oif/description.html, scripts/i.oif/i.oif: -g script
+	  output flag; important band combinations added
+
+2007-11-12 17:53  markus
+
+	* general/g.region/cmd/main.c: don't crash in German locale
+	  (Print;Shell Script -> Print)
+
+2007-11-12 17:52  markus
+
+	* scripts/d.vect.thematic/d.vect.thematic: fix for line type
+	  vectors
+
+2007-11-12 17:51  markus
+
+	* scripts/r.mask/r.mask: fix for TMP removal
+
+2007-11-12 15:27  carlos
+
+	* raster/r.drain/main.c, raster/r.null/null.c,
+	  raster/r.surf.idw2/read_cell.c, raster/r.transect/main.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/seg/init_vars.c, raster/r.what.color/main.c:
+	  Message standardization
+
+2007-11-12 11:34  glynn
+
+	* lib/gis/Makefile: Make etc/colors directory an order-only
+	  dependency
+
+2007-11-12 11:33  glynn
+
+	* lib/gis/open.c: Portability: use open() instead of creat()
+
+2007-11-12 11:28  glynn
+
+	* lib/gis/gets.c: Portability/warning fix
+
+2007-11-12 11:25  glynn
+
+	* lib/vector/Vlib/snap.c: Remove unused "nlines" variable
+
+2007-11-12 09:09  hamish
+
+	* raster/r.watershed/front/description.html: more example notes
+
+2007-11-12 06:06  hamish
+
+	* raster/r.watershed/front/description.html: note the dataset used
+	  for examples
+
+2007-11-12 05:37  hamish
+
+	* raster/r.watershed/front/description.html: add hints, new
+	  examples
+
+2007-11-12 05:11  hamish
+
+	* display/d.his/main.c: msg standardization left behind too many
+	  input variables
+
+2007-11-12 04:28  hamish
+
+	* vector/v.net.steiner/description.html: explain better what a
+	  Steiner tree is
+
+2007-11-12 02:44  glynn
+
+	* lib/datetime/local.c, lib/db/dbmi_base/dbmscap.c,
+	  lib/db/dbmi_client/shutdown.c, lib/gis/color_rand.c,
+	  lib/gis/error.c, lib/gis/gets.c, lib/gis/ls.c, lib/gis/popen.c,
+	  lib/gis/putenv.c, lib/gis/system.c, lib/proj/convert.c,
+	  lib/proj/get_proj.c, lib/vector/Vlib/field.c: Portability and
+	  warning fixes
+
+2007-11-12 01:16  hamish
+
+	* raster/r.to.vect/main.c: better -s descr. lines are already
+	  smoothed, flag only affects areas
+
+2007-11-11 09:52  glynn
+
+	* lib/db/dbmi_base/isdir.c, lib/gis/parser.c: Portability fixes
+
+2007-11-10 10:00  glynn
+
+	* lib/proj/convert.c, lib/proj/datum.c, lib/proj/ellipse.c: Replace
+	  strcasecmp() with G_strcasecmp()
+
+2007-11-10 09:59  glynn
+
+	* lib/proj/get_proj.c, lib/vector/Vlib/cindex.c: Don't use C99
+	  features
+
+2007-11-10 09:30  glynn
+
+	* lib/vector/dglib/graph.h, lib/vector/dglib/graph_v1.h,
+	  lib/vector/dglib/graph_v2.h, lib/vector/dglib/heap.h,
+	  lib/vector/dglib/helpers.h, lib/vector/dglib/tree.h: Remove
+	  __{BEGIN,END}_DECLS macros
+
+2007-11-10 09:25  glynn
+
+	* lib/cairodriver/Graph.c, lib/cairodriver/Makefile,
+	  lib/cairodriver/cairodriver.h, lib/cairodriver/read.c,
+	  lib/cairodriver/read_bmp.c, lib/cairodriver/read_ppm.c,
+	  lib/cairodriver/write.c, lib/cairodriver/write_bmp.c,
+	  lib/cairodriver/write_ppm.c: Add remaining PNG driver
+	  functionality to cairo driver
+
+2007-11-10 05:35  markus
+
+	* tools/build_html_index.sh: generate $HTMLDIR/nviz/ in case that
+	  NVIZ wasn't compiled
+
+2007-11-08 11:36  martinl
+
+	* locale/po/grassmods_cs.po: typo
+
+2007-11-08 07:42  hamish
+
+	* raster/r.in.xyz/description.html, raster/r.in.xyz/local_proto.h,
+	  raster/r.in.xyz/main.c: Support for aggregate statistics by
+	  Volker Wichmann <wichmann laserdata at>
+	  Gf patch #450
+
+2007-11-08 05:53  hamish
+
+	* raster/r.in.xyz/main.c: reword warning which could be taken the
+	  wrong way
+
+2007-11-07 21:56  carlos
+
+	* raster/r.median/main.c, raster/r.out.arc/main.c,
+	  raster/r.water.outlet/legal.c: Message standardization
+
+2007-11-07 16:58  glynn
+
+	* include/pbmplus.h, include/proto_dbmi.h, lib/vector/dglib/type.h,
+	  lib/vector/rtree/index.h, raster/r.out.bin/swab.h,
+	  raster/r.out.png/pngfunc.h: Remove cruft from headers
+
+2007-11-07 04:56  hamish
+
+	* vector/v.in.ogr/main.c: make the -e flag really work. code from
+	  r.in.gdal. (untested)
+
+2007-11-07 02:15  markus
+
+	* scripts/r.mask/r.mask: detect existing mask; inverse map flag -i
+	  added
+
+2007-11-07 01:59  hamish
+
+	* imagery/i.rectify/main.c: message cleanup, EXIT_SUCCESS, etc
+
+2007-11-07 01:45  hamish
+
+	* imagery/i.rectify/main.c: ran indent.
+	  $ indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb
+	  -nce
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+
+2007-11-07 01:17  hamish
+
+	* lib/init/init.sh: \\ escaping with echo is not stable among
+	  platforms, so use cat instead.
+	  (thanks Glynn)
+
+2007-11-06 22:37  martinl
+
+	* vector/v.random/main.c: Check for legal output vector name + typo
+
+2007-11-06 22:26  martinl
+
+	* vector/v.random/main.c: Run indent
+	  Header updated
+	  "Do not build topo flag" added
+
+2007-11-06 18:41  martinl
+
+	* lib/rst/interp_float/input2d.c: Message standardization
+
+2007-11-06 18:24  hamish
+
+	* lib/init/init.sh: Gratuitous use of ASCII art
+
+2007-11-06 18:09  jachym
+
+	* locale/po/grassmods_cs.po: update of czech translation
+
+2007-11-06 17:41  carlos
+
+	* lib/gpde/N_arrays_io.c, lib/rst/interp_float/input2d.c,
+	  raster/r.composite/main.c, raster/r.cross/main.c,
+	  raster/r.distance/parse.c: Standardization
+
+2007-11-06 07:11  hamish
+
+	* scripts/v.dissolve/v.dissolve: better remove TMP fix
+
+2007-11-06 07:04  wolf
+
+	* vector/v.net.visibility/description.html: Fixed description to
+	  reflect the new name, and automated Last changed
+
+2007-11-06 07:02  hamish
+
+	* scripts/v.dissolve/v.dissolve: remove tmp vector map
+
+2007-11-06 05:07  hamish
+
+	* scripts/d.monsize/d.monsize: replace perl dep with awk, fix
+	  output message enviro vars
+
+2007-11-05 20:05  maciej
+
+	* vector/v.distance/main.c: to_along and to_angle explained better
+
+2007-11-05 16:58  markus
+
+	* vector/v.vol.rst/main.c: fixes for history
+
+2007-11-05 15:31  william
+
+	* macosx/app/Makefile, macosx/app/grass.sh.in: Leopard X11 update;
+	  tcltk version can be overridden
+
+2007-11-05 15:26  markus
+
+	* SUBMITTING_DOCS: see also WIKI
+
+2007-11-05 14:33  markus
+
+	* SUBMITTING, SUBMITTING_DOCS, SUBMITTING_SCRIPTS,
+	  SUBMITTING_TCLTK: ripped out documentation hints into own file
+
+2007-11-05 14:14  markus
+
+	* vector/v.vol.rst/main.c: write out dnorm and friends
+
+2007-11-05 07:14  hamish
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c: add -r
+	  flag to set the spatial= bounds to the current region settings
+
+2007-11-03 13:11  martinl
+
+	* vector/v.generalize/displacement.c, vector/v.generalize/main.c,
+	  vector/v.generalize/matrix.c, vector/v.generalize/misc.c,
+	  vector/v.generalize/network.c, vector/v.generalize/point.c,
+	  vector/v.generalize/pq.c, vector/v.generalize/simplification.c,
+	  vector/v.generalize/smoothing.c: Message standardization; remove
+	  redundant ';'
+
+2007-11-03 12:39  martinl
+
+	* vector/v.net.visibility/data_structures.c,
+	  vector/v.net.visibility/data_structures.h,
+	  vector/v.net.visibility/geometry.c,
+	  vector/v.net.visibility/geometry.h,
+	  vector/v.net.visibility/main.c, vector/v.net.visibility/proto.h,
+	  vector/v.net.visibility/rotation_tree.c,
+	  vector/v.net.visibility/rotation_tree.h,
+	  vector/v.net.visibility/visibility.c,
+	  vector/v.net.visibility/visibility.h: Run indent & message
+	  standardization.
+
+2007-11-02 20:53  markus
+
+	* locale/po/grassmods_it.po: typo
+
+2007-11-02 12:12  markus
+
+	* vector/Makefile: fixed broken tabs
+
+2007-11-02 11:45  wolf
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Added SoC 2007 modules
+	  (v.net.visibility and v.generalize) to the menus
+
+2007-11-01 18:02  wolf
+
+	* vector/Makefile: Added v.generalize and v.net.visibility (SoC
+	  2007 projects) to trunk, and activated their compilation.
+
+2007-11-01 18:00  wolf
+
+	* vector/v.net.visibility, vector/v.net.visibility/Makefile,
+	  vector/v.net.visibility/data_structures.c,
+	  vector/v.net.visibility/data_structures.h,
+	  vector/v.net.visibility/description.html,
+	  vector/v.net.visibility/geometry.c,
+	  vector/v.net.visibility/geometry.h,
+	  vector/v.net.visibility/main.c, vector/v.net.visibility/proto.h,
+	  vector/v.net.visibility/rotation_tree.c,
+	  vector/v.net.visibility/rotation_tree.h,
+	  vector/v.net.visibility/visibility.c,
+	  vector/v.net.visibility/visibility.h: Imported v.net.visibility
+	  from addons repository
+
+2007-11-01 16:43  wolf
+
+	* vector/v.generalize, vector/v.generalize/Makefile,
+	  vector/v.generalize/description.html,
+	  vector/v.generalize/displacement.c, vector/v.generalize/main.c,
+	  vector/v.generalize/matrix.c, vector/v.generalize/matrix.h,
+	  vector/v.generalize/misc.c, vector/v.generalize/misc.h,
+	  vector/v.generalize/network.c, vector/v.generalize/operators.h,
+	  vector/v.generalize/point.c, vector/v.generalize/point.h,
+	  vector/v.generalize/pq.c, vector/v.generalize/pq.h,
+	  vector/v.generalize/simplification.c,
+	  vector/v.generalize/smoothing.c: Added v.generalize from addons
+	  svn repository
+
+2007-11-01 16:15  moritz
+
+	* lib/init/init.bat: temporarily fixing this so as not to have to
+	  set it by hand at every compile
+	  needs to be reviewed when a definite decision about error codes
+	  is made
+
+2007-11-01 14:23  moritz
+
+	* lib/vask/V_call.c: fix so that ESC-ENTER always works in windows
+
+2007-11-01 09:56  glynn
+
+	* scripts/r.mapcalculator/r.mapcalculator: Replace UTF-8 encoded
+	  NBSP characters with normal ASCII spaces
+
+2007-10-31 20:52  markus
+
+	* db/drivers/mysql/fetch.c: Mysql types definition
+
+2007-10-31 11:32  hamish
+
+	* ps/ps.map/description.html: describe a quirk
+
+2007-10-31 09:19  hamish
+
+	* gui/tcltk/gis.m/Makefile, gui/tcltk/gis.m/docs,
+	  gui/tcltk/gis.m/docs/gm_animate.html,
+	  gui/tcltk/gis.m/docs/gm_animate1.png,
+	  gui/tcltk/gis.m/docs/gm_animate2.png,
+	  gui/tcltk/gis.m/docs/gm_animatetool.png,
+	  gui/tcltk/gis.m/docs/gm_gcpmgr.png,
+	  gui/tcltk/gis.m/docs/gm_georect.html,
+	  gui/tcltk/gis.m/docs/gm_georectdisp.png,
+	  gui/tcltk/gis.m/docs/gm_georectstart.png,
+	  gui/tcltk/gis.m/docs/gm_gismgr.png,
+	  gui/tcltk/gis.m/docs/gm_gismgrtools.png,
+	  gui/tcltk/gis.m/docs/gm_gronsole.png,
+	  gui/tcltk/gis.m/docs/gm_mapdisp.png,
+	  gui/tcltk/gis.m/docs/gm_mapdisptools.png,
+	  gui/tcltk/gis.m/docs/gm_profile.html,
+	  gui/tcltk/gis.m/docs/gm_profile1.png,
+	  gui/tcltk/gis.m/docs/gm_profile2.png,
+	  gui/tcltk/gis.m/docs/gm_profile3.png,
+	  gui/tcltk/gis.m/gm_animate.html, gui/tcltk/gis.m/gm_animate1.png,
+	  gui/tcltk/gis.m/gm_animate2.png,
+	  gui/tcltk/gis.m/gm_animatetool.png,
+	  gui/tcltk/gis.m/gm_gcpmgr.png, gui/tcltk/gis.m/gm_georect.html,
+	  gui/tcltk/gis.m/gm_georectdisp.png,
+	  gui/tcltk/gis.m/gm_georectstart.png,
+	  gui/tcltk/gis.m/gm_gismgr.png,
+	  gui/tcltk/gis.m/gm_gismgrtools.png,
+	  gui/tcltk/gis.m/gm_gronsole.png, gui/tcltk/gis.m/gm_mapdisp.png,
+	  gui/tcltk/gis.m/gm_mapdisptools.png,
+	  gui/tcltk/gis.m/gm_profile1.png, gui/tcltk/gis.m/gm_profile2.png,
+	  gui/tcltk/gis.m/gm_profile3.png: move docs to a subdirectory
+
+2007-10-30 21:08  markus
+
+	* db/drivers/postgres/README, db/drivers/postgres/globals.h: say
+	  more about PG data types
+
+2007-10-30 16:21  markus
+
+	* vector/vectorintro.html: wording
+
+2007-10-30 14:36  markus
+
+	* gui/tcltk/gis.m/description.html: description.html DO NOT have
+	  head/body HTML tags (still ugly HTML stuff in file)
+
+2007-10-30 03:52  glynn
+
+	* raster/r.in.xyz/main.c: Whether input is stdin and whether it can
+	  be fseek()ed are separate issues
+
+2007-10-30 03:51  glynn
+
+	* general/manage/lister/Makefile, include/Make/Rules.make,
+	  lib/form/Makefile, lib/vector/rtree/Makefile, man/Makefile,
+	  raster/r.terraflow/Makefile: Don't use order-only prerequisites
+	  with broken make programs
+
+2007-10-30 00:10  hamish
+
+	* gui/tcltk/gis.m/gm_profile.html: really put some space between
+	  the images
+
+2007-10-30 00:09  hamish
+
+	* gui/tcltk/gis.m/gm_profile.html: whitespace, space between images
+	  when window is narrow
+
+2007-10-29 19:39  michael
+
+	* gui/tcltk/gis.m/description.html: Merging Markus' changes of last
+	  night with mine of this morning.
+
+2007-10-29 11:12  markus
+
+	* imagery/i.points/description.html,
+	  imagery/i.rectify/description.html,
+	  imagery/i.target/description.html,
+	  imagery/i.vpoints/description.html,
+	  raster/r.profile/description.html,
+	  raster/r.transect/description.html,
+	  visualization/xganim/description.html: mention gis.m
+
+2007-10-29 10:53  markus
+
+	* gui/tcltk/gis.m/description.html,
+	  gui/tcltk/gis.m/gm_animate.html, gui/tcltk/gis.m/gm_georect.html,
+	  gui/tcltk/gis.m/gm_profile.html: fine tuning
+
+2007-10-29 10:47  markus
+
+	* gui/tcltk/gis.m/Makefile: fix install of main HTML page
+
+2007-10-29 06:56  michael
+
+	* gui/icons/gui-mouse.gif: Mouse icon for TclTk interface to d.nviz
+
+2007-10-29 06:44  michael
+
+	* gui/tcltk/gis.m/gm_animate.html: Fix typo.
+
+2007-10-29 06:35  michael
+
+	* gui/tcltk/gis.m/animate.tcl: Update help button to refer to new
+	  Animation Tool help page.
+
+2007-10-29 06:25  michael
+
+	* gui/tcltk/gis.m/gm_animate.html, gui/tcltk/gis.m/gm_animate1.png,
+	  gui/tcltk/gis.m/gm_animate2.png,
+	  gui/tcltk/gis.m/gm_animatetool.png: Help page for Animation Tool.
+
+2007-10-29 04:24  michael
+
+	* gui/tcltk/gis.m/description.html: Update animation tool
+	  description.
+
+2007-10-28 23:10  michael
+
+	* gui/tcltk/gis.m/description.html, gui/tcltk/gis.m/gm_gcpmgr.png,
+	  gui/tcltk/gis.m/gm_georect.html,
+	  gui/tcltk/gis.m/gm_georectdisp.png,
+	  gui/tcltk/gis.m/gm_georectstart.png,
+	  gui/tcltk/gis.m/gm_gismgr.png, gui/tcltk/gis.m/gm_gronsole.png,
+	  gui/tcltk/gis.m/gm_mapdisp.png, gui/tcltk/gis.m/gm_profile.html,
+	  gui/tcltk/gis.m/gm_profile1.png, gui/tcltk/gis.m/gm_profile2.png,
+	  gui/tcltk/gis.m/gm_profile3.png: Updated gui help pages to use
+	  full-sized images. Graphics rescaled
+	  to make them look nicer.
+
+2007-10-28 22:39  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Added help button
+
+2007-10-28 21:11  markus
+
+	* gui/tcltk/gis.m/Makefile: Copy also PNG files
+
+2007-10-28 21:03  markus
+
+	* db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html: URL fix
+
+2007-10-28 19:40  michael
+
+	* gui/tcltk/gis.m/description.html, gui/tcltk/gis.m/gm_gismgr.png,
+	  gui/tcltk/gis.m/gm_gismgrtools.png,
+	  gui/tcltk/gis.m/gm_gronsole.png, gui/tcltk/gis.m/gm_mapdisp.png,
+	  gui/tcltk/gis.m/gm_mapdisptools.png: Update and add graphics to
+	  gis.m help page
+
+2007-10-28 19:13  michael
+
+	* gui/tcltk/gis.m/gm_georect.html: graphic placement improvement to
+	  georectifier help page
+
+2007-10-28 19:09  michael
+
+	* gui/tcltk/gis.m/gm_profile.html, gui/tcltk/gis.m/gm_profile1.png,
+	  gui/tcltk/gis.m/gm_profile2.png, gui/tcltk/gis.m/gm_profile3.png:
+	  Profile Tool help page and associated graphics
+
+2007-10-28 06:05  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Added help buttons, for on-line
+	  docs.
+
+2007-10-28 06:05  michael
+
+	* gui/tcltk/gis.m/gm_gcpmgr.png, gui/tcltk/gis.m/gm_georect.html,
+	  gui/tcltk/gis.m/gm_georectdisp.png,
+	  gui/tcltk/gis.m/gm_georectstart.png: Updated georectifier tool
+	  help to include PNG screenshots of
+	  georectifier in action.
+
+2007-10-28 03:58  hamish
+
+	* raster/r.los/description.html: patt_map problems should be fixed
+	  now. (??)
+
+2007-10-28 03:50  hamish
+
+	* raster/r.los/main.c, raster/r.los/pts_elim.c: make patt_map mask
+	  respect NULL, patt_map should be CELL type
+
+2007-10-28 02:26  hamish
+
+	* raster/r.los/main.c: correctly report % done
+
+2007-10-28 02:02  hamish
+
+	* raster/r.los/description.html, raster/r.los/main.c: set areas
+	  beyond max_dist to NULL not 0.
+	  BUG: angles of exactly 0.0 and 1.0 will be set to null too!
+	  (corner case directly underneath the observer pos)
+	  set those to values of -1 in the processing steps instead of 0,1?
+	  (hold-over from non-FP version)
+
+2007-10-28 01:39  hamish
+
+	* raster/r.los/main.c, raster/r.los/make_list.c,
+	  raster/r.los/mark_pts.c, raster/r.los/segment.c: misc cleanup:
+	  fd's as int not doubles
+	  write more metadata
+	  some G_define_standard_option()s
+	  clearer option descriptions
+	  increase max allowable viewshed
+	  exit() -> G_fatal_error()
+	  comment out unused color_factor code
+	  minor whitespace
+
+2007-10-28 01:15  hamish
+
+	* raster/r.los/description.html: cleanup, correct, note bugs,
+	  update example
+
+2007-10-27 15:35  martinl
+
+	* vector/v.in.ascii/description.html: Manual page updated according
+	  to GRASS Vector ASCII Format Specification page.
+
+2007-10-27 05:38  hamish
+
+	* raster/r.los/main.c, raster/r.los/make_list.c,
+	  raster/r.los/segment.c: Ran indent as it was a mess.
+	  $ indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb
+	  -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 *.c
+
+2007-10-26 19:35  carlos
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_am.po, locale/po/grasstcl_ar.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_el.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_fr.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_ko.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasstcl_pt.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_sl.po,
+	  locale/po/grasstcl_tr.po, locale/po/grasstcl_vi.po,
+	  locale/po/grasstcl_zh.po: Messages updated to current code as
+	  announced
+
+2007-10-26 19:10  carlos
+
+	* ps/ps.map/catval.c, vector/v.to.rast3/main.c: Standardization
+
+2007-10-26 18:42  carlos
+
+	* vector/v.reclass/main.c: Added missing )
+
+2007-10-26 18:41  carlos
+
+	* vector/v.build/main.c, vector/v.normal/main.c,
+	  vector/v.qcount/main.c, vector/v.reclass/main.c,
+	  vector/v.support/main.c: Standardization
+
+2007-10-26 16:17  martinl
+
+	* vector/v.db.select/main.c: No default answer for vertical
+	  separator
+
+2007-10-26 09:49  glynn
+
+	* lib/vector/rtree/Makefile: Ensure that headers are installed
+	  before building library
+
+2007-10-26 08:57  jachym
+
+	* locale/po/grasslibs_cs.po: Czech translation updated
+
+2007-10-26 04:00  glynn
+
+	* general/g.setproj/proj-units.table: Fix definition of US survey
+	  foot
+
+2007-10-25 16:39  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Fix bug in error message string
+
+2007-10-25 15:18  paul
+
+	* lib/gis/basename.c, raster/r.out.tiff/r.out.tiff.c: Change
+	  behaviour of G_basename() so it only matches when there's an
+	  exact
+	  match. Update r.out.tiff to work with new behaviour.
+
+2007-10-25 09:51  hamish
+
+	* general/g.version/main.c: build info needs a terminating newline
+	  char
+
+2007-10-25 09:12  hamish
+
+	* raster/r.his/description.html, raster/r.his/main.c: write out
+	  metadata. add example to help page.
+
+2007-10-25 07:48  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/break.c,
+	  vector/v.edit/description.html, vector/v.edit/main.c,
+	  vector/v.edit/proto.h: Break/split tool fixed.
+
+2007-10-25 07:46  martinl
+
+	* include/Vect.h, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/cindex.c, lib/vector/Vlib/snap.c:
+	  Vect_break_lines_list() added (based on Vect_break_lines()).
+	  Doxygen docs updated.
+
+2007-10-25 07:34  markus
+
+	* gui/tcltk/gis.m/Makefile, gui/tcltk/gis.m/description.html,
+	  gui/tcltk/gis.m/gm_georect.html: added updated georect docs from
+	  Michael
+
+2007-10-25 04:35  hamish
+
+	* ps/ps.map/description.html: document eps behaviour
+
+2007-10-25 03:32  cho
+
+	* vector/v.overlay/description.html: typo fixed
+
+2007-10-25 03:21  glynn
+
+	* raster/r.terraflow/3scan.h,
+	  raster/r.terraflow/IOStream/include/README,
+	  raster/r.terraflow/IOStream/include/ami.h,
+	  raster/r.terraflow/IOStream/include/ami_config.h,
+	  raster/r.terraflow/IOStream/include/ami_sort.h,
+	  raster/r.terraflow/IOStream/include/ami_sort_impl.h,
+	  raster/r.terraflow/IOStream/include/ami_stream.h,
+	  raster/r.terraflow/IOStream/include/embuffer.h,
+	  raster/r.terraflow/IOStream/include/empq.h,
+	  raster/r.terraflow/IOStream/include/empq_adaptive.h,
+	  raster/r.terraflow/IOStream/include/empq_adaptive_impl.h,
+	  raster/r.terraflow/IOStream/include/empq_impl.h,
+	  raster/r.terraflow/IOStream/include/imbuffer.h,
+	  raster/r.terraflow/IOStream/include/mem_stream.h,
+	  raster/r.terraflow/IOStream/include/minmaxheap.h,
+	  raster/r.terraflow/IOStream/include/mm.h,
+	  raster/r.terraflow/IOStream/include/mm_utils.h,
+	  raster/r.terraflow/IOStream/include/pqheap.h,
+	  raster/r.terraflow/IOStream/include/queue.h,
+	  raster/r.terraflow/IOStream/include/quicksort.h,
+	  raster/r.terraflow/IOStream/include/replacementHeap.h,
+	  raster/r.terraflow/IOStream/include/replacementHeapBlock.h,
+	  raster/r.terraflow/IOStream/include/rtimer.h,
+	  raster/r.terraflow/IOStream/lib/src/ami_stream.cc,
+	  raster/r.terraflow/IOStream/lib/src/minmaxheap_test.cc,
+	  raster/r.terraflow/IOStream/lib/src/mm.cc,
+	  raster/r.terraflow/IOStream/lib/src/mm_utils.cc,
+	  raster/r.terraflow/IOStream/lib/src/rtimer.cc,
+	  raster/r.terraflow/ccforest.cc, raster/r.terraflow/ccforest.h,
+	  raster/r.terraflow/common.cc, raster/r.terraflow/common.h,
+	  raster/r.terraflow/direction.cc, raster/r.terraflow/direction.h,
+	  raster/r.terraflow/fill.cc, raster/r.terraflow/fill.h,
+	  raster/r.terraflow/filldepr.cc, raster/r.terraflow/filldepr.h,
+	  raster/r.terraflow/flow.cc, raster/r.terraflow/flow.h,
+	  raster/r.terraflow/genericWindow.cc,
+	  raster/r.terraflow/genericWindow.h,
+	  raster/r.terraflow/grass2str.h, raster/r.terraflow/grid.cc,
+	  raster/r.terraflow/grid.h, raster/r.terraflow/main.cc,
+	  raster/r.terraflow/main.h, raster/r.terraflow/nodata.cc,
+	  raster/r.terraflow/nodata.h, raster/r.terraflow/option.h,
+	  raster/r.terraflow/plateau.cc, raster/r.terraflow/plateau.h,
+	  raster/r.terraflow/r.terraflow.copyright,
+	  raster/r.terraflow/sortutils.h, raster/r.terraflow/stats.cc,
+	  raster/r.terraflow/stats.h, raster/r.terraflow/streamutils.h,
+	  raster/r.terraflow/sweep.cc, raster/r.terraflow/sweep.h,
+	  raster/r.terraflow/types.cc, raster/r.terraflow/types.h,
+	  raster/r.terraflow/unionFind.h, raster/r.terraflow/water.cc,
+	  raster/r.terraflow/water.h, raster/r.terraflow/weightWindow.cc,
+	  raster/r.terraflow/weightWindow.h: Change copyright statement to
+	  GPL
+
+2007-10-25 03:20  glynn
+
+	* include/Make/Rules.make: Fix typo in C++ rules
+
+2007-10-24 21:27  glynn
+
+	* raster/r.terraflow/IOStream/Makefile,
+	  raster/r.terraflow/IOStream/lib/Makefile,
+	  raster/r.terraflow/IOStream/lib/src/Makefile,
+	  raster/r.terraflow/Makefile: Makefile cleanup
+	  Build libiostream using Lib.make and stlib target
+
+2007-10-24 21:26  glynn
+
+	* raster/r.terraflow/filldepr.cc: Fix type mismatch warnings
+
+2007-10-24 21:16  cho
+
+	* raster/r.stats/global.h, raster/r.stats/main.c,
+	  raster/r.stats/raw_stats.c, raster/r.stats/stats.c: "raw" renamed
+	  to "raw_output" to avoid conflict with raw (3) from curses.
+	  This fixes Segmentation fault in Slackware 12.
+
+2007-10-24 16:25  carlos
+
+	* locale/po/grassmods_es.po: More messages translated
+
+2007-10-24 16:03  carlos
+
+	* display/d.extract/main.c, display/d.path/main.c,
+	  doc/vector/v.example/main.c, raster/r.buffer/write_map.c,
+	  vector/v.out.dxf/main.c, vector/v.out.pov/main.c: Message
+	  standardization
+
+2007-10-24 08:50  moritz
+
+	* lib/init/grass.bat: path to proj epsg data needs to be in windows
+	  syntax
+
+2007-10-24 07:03  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: db.connect output format
+	  changed which broke the DB connected test,
+	  grass6/db/base/connect.c revs 1.27 and 1.28
+
+2007-10-24 05:59  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Menu updates. Added entries for
+	  r3.gwflow, r.gwflow,
+	  v.db.dropcol, v.edit, and v.support
+
+2007-10-23 23:30  glynn
+
+	* lib/cairodriver/Respond.c: Add file missed previously
+
+2007-10-23 23:23  glynn
+
+	* lib/cairodriver/Box.c, lib/cairodriver/Client.c,
+	  lib/cairodriver/Color.c, lib/cairodriver/Draw_bitmap.c,
+	  lib/cairodriver/Draw_line.c, lib/cairodriver/Draw_point.c,
+	  lib/cairodriver/Driver.c, lib/cairodriver/Erase.c,
+	  lib/cairodriver/Graph.c, lib/cairodriver/Line_width.c,
+	  lib/cairodriver/Makefile, lib/cairodriver/Poly.c,
+	  lib/cairodriver/Raster.c, lib/cairodriver/Set_window.c,
+	  lib/cairodriver/cairodriver.h, lib/cairodriver/drawing.c,
+	  lib/cairodriver/write.c: Remove set_drawing_op(),
+	  finish_drawing_op()
+	  Add clipping
+	  Add bitmaps
+	  Enable erase
+	  Support masked rasters
+	  Add auto-write
+
+2007-10-23 21:41  markus
+
+	* doc/howto_release.txt: some branch updates
+
+2007-10-23 19:56  markus
+
+	* scripts/db.in.ogr/db.in.ogr: fixed the case that a cat column is
+	  already present in the import table
+
+2007-10-23 19:51  markus
+
+	* scripts/db.dropcol/db.dropcol: fix for bug reported by Leo Lami
+
+2007-10-23 18:34  glynn
+
+	* lib/stats/c_reg.c: Check for NaN
+
+2007-10-23 18:22  glynn
+
+	* Makefile, lib/init/Makefile, visualization/nviz/Makefile: MinGW
+	  make variable is MINGW, not MINGW32
+
+2007-10-23 12:11  glynn
+
+	* include/stats.h, lib/stats/c_reg.c,
+	  raster/r.series/description.html, raster/r.series/main.c: Add
+	  regression coefficient (exactly *which* coefficient, I don't know
+	  ...)
+
+2007-10-23 11:38  glynn
+
+	* vector/v.voronoi/Makefile: Makefile fix (correct dependencies)
+
+2007-10-23 11:37  glynn
+
+	* lib/gis/Makefile: Explicitly exclude colors/CVS directory
+
+2007-10-23 11:36  glynn
+
+	* lib/db/dbmi_base/xdr.c: Flush output before reading input
+
+2007-10-23 08:46  moritz
+
+	* raster3d/base/Makefile: small typo
+
+2007-10-23 05:07  hamish
+
+	* scripts/r.in.wms/r.in.wms: message cosmetics
+
+2007-10-23 05:00  hamish
+
+	* scripts/r.in.wms/r.in.wms: more informative xml2 warning
+
+2007-10-22 19:06  glynn
+
+	* lib/vector/diglib/Makefile: Fix problem with parallel builds
+
+2007-10-22 18:40  jachym
+
+	* debian/README.debian: Added new README about how to build GRASS
+	  as Debian package
+
+2007-10-22 18:40  jachym
+
+	* debian/NEWS, debian/changelog, debian/compat, debian/control,
+	  debian/copyright, debian/docs, debian/fixpaths.sh,
+	  debian/fixscripts.sh, debian/grass-doc.install,
+	  debian/grass-doc.links, debian/grass.install, debian/grass.links,
+	  debian/grass63.1, debian/libgrass-dev.install,
+	  debian/libgrass.dirs, debian/libgrass.install,
+	  debian/libgrass.lintian-overrides, debian/libgrass.postinst,
+	  debian/libgrass.postrm, debian/rules: Removing old outdated
+	  Debian configuration files
+
+2007-10-22 17:48  william
+
+	* macosx/ReadMe.rtf: Add universal ffmpeg build instructions
+
+2007-10-22 15:54  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: New translations and updated with
+	  current cvs
+
+2007-10-22 15:52  carlos
+
+	* raster/r.buffer/main.c: Standardization
+
+2007-10-22 15:51  carlos
+
+	* imagery/i.pca/main.c: Typos
+
+2007-10-22 15:23  carlos
+
+	* vector/lidar/v.surf.bspline/main.c, vector/v.db.connect/main.c,
+	  vector/v.distance/main.c, vector/v.info/main.c,
+	  vector/v.neighbors/main.c, vector/v.sample/main.c,
+	  vector/v.what.rast/main.c: Standardization
+
+2007-10-22 15:17  carlos
+
+	* raster/r.in.poly/main.c, raster/r.info/main.c,
+	  raster/r.texture/h_measure.c: Standardization
+
+2007-10-22 15:11  carlos
+
+	* db/base/connect.c, display/d.what.vect/what.c: Standardization
+
+2007-10-22 14:26  martinl
+
+	* general/g.region/cmd/main.c: Message standardization.
+
+2007-10-22 08:30  robertoa
+
+	* vector/lidar/v.surf.bspline/main.c: Reading of integer attributes
+	  fixed
+
+2007-10-22 00:25  glynn
+
+	* vector/v.what.rast/main.c: Optimise duplicate elimination
+
+2007-10-21 23:43  glynn
+
+	* general/g.region/cmd/printwindow.c: Only use long long where
+	  available
+
+2007-10-21 23:37  glynn
+
+	* raster/r.info/main.c: Fix long long int check
+	  Format specifier for unsigned integers is %u; %d is signed
+
+2007-10-21 23:35  glynn
+
+	* configure, configure.in, include/config.h.in: Check for existence
+	  of long long int
+
+2007-10-21 23:34  glynn
+
+	* configure, configure.in, include/config.h.in: Revert previous
+	  changes
+
+2007-10-21 23:13  brad
+
+	* raster/r.info/local_proto.h, raster/r.info/main.c,
+	  raster/r.info/reclas_txt.c: - Made local functions static
+	  - Made some function variables declared const
+
+2007-10-21 23:04  brad
+
+	* raster/r.info/description.html, raster/r.info/main.c: - Added
+	  warning if r.info was compiled without 'long long' type support.
+	  - Added documentation describing 'long long' accuracy warning and
+	  situations causing it.
+
+2007-10-21 22:18  markus
+
+	* configure: brad: Added check to see if compiler supports 'long
+	  long' type
+
+2007-10-21 22:07  brad
+
+	* include/config.h.in: - Added macro for 'long long' type support
+
+2007-10-21 22:02  brad
+
+	* configure.in: - Added check to see if compiler supports 'long
+	  long' type
+
+2007-10-21 20:41  markus
+
+	* raster/r.info/main.c: fixed bug #493
+
+2007-10-21 20:34  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/description.html,
+	  vector/v.edit/main.c, vector/v.edit/max_distance.c,
+	  vector/v.edit/select.c, vector/v.edit/snap.c,
+	  vector/v.edit/vertex.c: Move vertex: enable to close line
+	  Query: enable to select lines shorter/longer
+	  Various minor fixes.
+
+2007-10-21 19:12  glynn
+
+	* visualization/nviz/Makefile, visualization/nviz/html/Makefile,
+	  visualization/nviz/src/Makefile: Makefile clean-up
+	  Only install nviz.bat on Windows (MinGW)
+	  Avoid installing CVS/*, Makefiles
+
+2007-10-21 01:57  glynn
+
+	* raster/r.out.tiff/Makefile: -L switches belong in $(LIBES), not
+	  $(EXTRA_CFLAGS)
+
+2007-10-20 17:57  martinl
+
+	* raster/r.buffer/execute.c, raster/r.buffer/main.c,
+	  raster/r.buffer/read_map.c, raster/r.buffer/write_map.c: Message
+	  standardization.
+
+2007-10-20 00:39  glynn
+
+	* db/base/Makefile, display/d.frame/Makefile,
+	  general/g.parser/Makefile, general/manage/cmd/Makefile,
+	  gui/tcltk/d.m/Makefile, gui/wxpython/Makefile,
+	  imagery/i.atcorr/Makefile, include/Make/Html.make,
+	  include/Make/Lib.make, include/Make/Module.make,
+	  include/Make/Multi.make, include/Make/Rules.make,
+	  include/Make/Script.make, include/Make/Shlib.make,
+	  raster/r.terraflow/Makefile, raster/r.univar2/Makefile,
+	  raster3d/base/Makefile, vector/v.voronoi/Makefile: Makefile
+	  cleanup
+	  Avoid using Module.make for multi-module directories
+	  Build html* targets via recursive make rather than as a
+	  prerequisite
+	  Add rules for building C++ files to Rules.make
+
+2007-10-20 00:35  glynn
+
+	* imagery/i.atcorr/main.cpp: In format strings, % must be given as
+	  %%
+
+2007-10-19 15:58  carlos
+
+	* vector/v.net.iso/main.c, vector/v.net.salesman/main.c:
+	  Standardization
+
+2007-10-19 15:41  carlos
+
+	* ps/ps.map/catval.c, vector/v.buffer/main.c, vector/v.edit/args.c,
+	  vector/v.edit/break.c, vector/v.edit/main.c, vector/v.kcv/main.c,
+	  vector/v.label.sa/labels.c, vector/v.label/main.c,
+	  vector/v.to.rast3/main.c, vector/v.univar/main.c,
+	  vector/v.vol.rst/user1.c: Standardization and some typos
+
+2007-10-19 15:40  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Files updated with current cvs and more
+	  translations in grassmods
+
+2007-10-19 14:51  glynn
+
+	* lib/Makefile: Ensure headers are installed before making subdirs
+
+2007-10-19 14:36  robertoa
+
+	* vector/lidar/v.lidar.edgedetection/edgedetection.c: Some comments
+
+2007-10-19 14:36  robertoa
+
+	* vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.surf.bspline/main.c: * Vector attribute column bug
+	  fixed
+	  * Overlaping zones in output vector bug fixed
+
+2007-10-19 14:34  robertoa
+
+	* vector/lidar/lidarlib/raster.c: Overlaping zones in output vector
+	  bug fixed
+
+2007-10-19 14:33  robertoa
+
+	* vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.surf.bspline/crosscorr.c: Vector attribute column
+	  bug fixed
+
+2007-10-19 13:45  glynn
+
+	* Makefile, display/d.frame/Makefile, lib/gis/Makefile,
+	  lib/gpde/Makefile, lib/vector/rtree/Makefile,
+	  vector/v.voronoi/Makefile: Only install grass<ver>.bat on Windows
+	  (MinGW)
+	  Fix Windows build problems with d.frame, v.voronoi
+	  Fix (?) parallel build problems with lib/vector/rtree and
+	  lib/gpde
+	  Avoid trying to "install" lib/gis/colors/CVS directory
+
+2007-10-19 09:27  robertoa
+
+	* vector/lidar/v.lidar.correction/main.c: Some code cleaning
+
+2007-10-18 14:21  robertoa
+
+	* vector/lidar/v.lidar.correction/correction.c: copyright statement
+	  added
+
+2007-10-18 13:40  robertoa
+
+	* vector/lidar/v.lidar.correction/description.html,
+	  vector/lidar/v.lidar.edgedetection/description.html,
+	  vector/lidar/v.lidar.growing/description.html: Improve the
+	  description file
+
+2007-10-17 14:07  hamish
+
+	* vector/v.what.rast/main.c: Add some debug messages to see where
+	  the slowdown is.
+	  The slowdown is in the "Updating db table" loop, my guess is
+	  the db_execute_immediate() for each point. Faster to write that
+	  to a stream then execute for all points at once? Only slow for
+	  DBF?
+
+2007-10-17 07:45  hamish
+
+	* include/gis.h: fields are now called layers
+
+2007-10-17 06:04  hamish
+
+	* AUTHORS: New email address for me
+
+2007-10-16 20:48  glynn
+
+	* general/g.region/cmd/main.c: Fix interaction between vect= and -a
+	  to match 6.2.x.
+
+2007-10-16 16:47  markus
+
+	* general/g.proj/description.html: gdalwarp fix
+
+2007-10-16 16:45  glynn
+
+	* include/la.h: Fix BLAS/LAPACK breakage
+
+2007-10-16 15:05  markus
+
+	* contributors_extra.csv: Lars Ahlzen for Cairo driver
+
+2007-10-16 15:03  glynn
+
+	* display/drivers/Makefile, display/drivers/cairo,
+	  display/drivers/cairo/Makefile, display/drivers/cairo/main.c,
+	  display/drivers/cairo/moncap.entry, include/Make/Grass.make.in,
+	  lib/Makefile, lib/cairodriver, lib/cairodriver/Box.c,
+	  lib/cairodriver/Client.c, lib/cairodriver/Color.c,
+	  lib/cairodriver/Draw_bitmap.c, lib/cairodriver/Draw_line.c,
+	  lib/cairodriver/Draw_point.c, lib/cairodriver/Driver.c,
+	  lib/cairodriver/Erase.c, lib/cairodriver/Graph.c,
+	  lib/cairodriver/Line_width.c, lib/cairodriver/Makefile,
+	  lib/cairodriver/Poly.c, lib/cairodriver/Raster.c,
+	  lib/cairodriver/Set_window.c, lib/cairodriver/cairodriver.h,
+	  lib/cairodriver/drawing.c, lib/cairodriver/write.c: cairo driver
+	  from Lars Ahlzen
+
+2007-10-16 14:52  glynn
+
+	* lib/init/Makefile: Only install .bat files on Windows
+
+2007-10-16 14:51  glynn
+
+	* lib/pngdriver/Driver.c, lib/psdriver/Driver.c: Record
+	  initialisation
+
+2007-10-16 14:50  glynn
+
+	* display/drivers/PNG/main.c, display/drivers/PNG/moncap.entry,
+	  display/drivers/PS/main.c, display/drivers/PS/moncap.entry:
+	  Tidying
+
+2007-10-16 12:22  markus
+
+	* raster/r.random/count.c, raster/r.random/description.html,
+	  raster/r.random/local_proto.h, raster/r.random/main.c,
+	  raster/r.random/random.c: optional cover map support added
+
+2007-10-16 11:53  glynn
+
+	* raster/r.out.tiff/Makefile: Move Module.make inclusion
+
+2007-10-16 11:50  glynn
+
+	* lib/gis/align_window.c: Revert previous change
+
+2007-10-16 11:44  martinl
+
+	* gui/wxpython/grass-interface.dtd, gui/xml/grass-interface.dtd:
+	  Synchronize with SVN (add keywords element).
+
+2007-10-16 07:45  markus
+
+	* raster/r.walk/Makefile: reverted
+
+2007-10-16 07:44  markus
+
+	* raster/r.out.tiff/Makefile: reverted for winGRASS
+
+2007-10-15 20:47  markus
+
+	* raster/r.to.vect/Makefile, raster/r.volume/Makefile,
+	  raster/r.walk/Makefile: moved include up for make -jX
+
+2007-10-15 20:26  markus
+
+	* raster/r.los/description.html: example added
+
+2007-10-15 20:17  markus
+
+	* raster/r.out.tiff/Makefile: fix order for 'make -jX'
+
+2007-10-15 19:52  markus
+
+	* raster/r.proj/main.c, vector/v.proj/main.c: allow for identical
+	  location names in different databases
+
+2007-10-15 16:25  glynn
+
+	* general/manage/cmd/Makefile, misc/m.cogo/Makefile,
+	  raster/r.terraflow/Makefile: Make some dependencies more explicit
+
+2007-10-15 15:56  glynn
+
+	* general/g.region/cmd/main.c: Reinstate G_align_window()
+
+2007-10-15 14:21  markus
+
+	* visualization/nviz/src/tmp: junk removal
+
+2007-10-15 14:17  markus
+
+	* general/g.region/cmd/main.c: use new G_OPT_R3_MAP
+
+2007-10-15 14:15  markus
+
+	* include/gis.h, lib/gis/parser.c: added G_OPT_R3_MAP,
+	  G_OPT_R3_MAPS macros ('make distclean' is your friend)
+
+2007-10-15 13:42  martinl
+
+	* general/g.region/cmd/main.c: Do not use G_align_window for vect=
+	  Message standardization
+
+2007-10-15 11:12  martinl
+
+	* lib/gis/align_window.c: Bugfix GF #489
+
+2007-10-15 10:36  markus
+
+	* vector/v.transform/trans_digit.c: msg cosmetics
+
+2007-10-15 09:56  markus
+
+	* vector/v.transform/description.html: new example added
+
+2007-10-15 05:24  glynn
+
+	* include/proto_dbmi.h, lib/db/dbmi_base/xdr.c,
+	  lib/db/dbmi_base/xdr.h, lib/db/dbmi_base/xdrchar.c,
+	  lib/db/dbmi_base/xdrdouble.c, lib/db/dbmi_base/xdrfloat.c,
+	  lib/db/dbmi_base/xdrint.c, lib/db/dbmi_base/xdrprocedure.c,
+	  lib/db/dbmi_base/xdrshort.c, lib/db/dbmi_base/xdrstring.c:
+	  Eliminate use of XDR in DBMI
+
+2007-10-14 23:08  brad
+
+	* include/la.h: - Added type definitions akin to g2c not provided
+	  for gcc4+ (F95)
+
+2007-10-14 22:33  michael
+
+	* gui/tcltk/gis.m/rgbhis.tcl: Fix brightness values to save with
+	  *.grc file
+
+2007-10-14 22:33  michael
+
+	* gui/tcltk/gis.m/raster.tcl: Add brightness control for drape map
+	  (shaded relief).
+
+2007-10-14 17:48  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: New translations and files updated to
+	  current cvs
+
+2007-10-14 17:45  michael
+
+	* lib/gtcltk/select.tcl: Fix bug where symbol entry incorrectly
+	  added @[symbol directory] to
+	  name.
+
+2007-10-14 17:04  carlos
+
+	* lib/vector/Vlib/map.c: Standardization
+
+2007-10-14 16:43  carlos
+
+	* vector/v.in.ascii/in.c: Standardization
+
+2007-10-14 16:30  carlos
+
+	* vector/v.drape/main.c: Standardization
+
+2007-10-14 16:04  carlos
+
+	* vector/v.db.connect/main.c: message added to grassmods.po
+
+2007-10-14 15:02  carlos
+
+	* vector/lidar/v.surf.bspline/main.c: Standardization
+
+2007-10-14 08:21  markus
+
+	* configure: brad: Fortran and BLAS/LAPACK updates per Glynn's
+	  request
+
+2007-10-13 11:18  maciej
+
+	* vector/v.to.db/description.html: Update doc to accomodate that -p
+	  doesn't require dummy columns anymore (thanks Martin). Some more
+	  cleanup.
+
+2007-10-13 10:56  martinl
+
+	* vector/v.segment/main.c: Message standardization.
+
+2007-10-13 10:44  martinl
+
+	* vector/v.distance/main.c: Calculate also distance (for points,
+	  lines) in 3D.
+	  Message standardization.
+
+2007-10-12 18:57  martinl
+
+	* vector/v.edit/main.c: Fix return code for tool 'create'.
+
+2007-10-12 14:45  martinl
+
+	* vector/v.to.db/lines.c, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c: Fix length calculation for 3dlines.
+	  Fix out of memory when vector map contains no feature with
+	  category number.
+	  Column parameter not need for -p flag.
+
+2007-10-12 12:04  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/break.c,
+	  vector/v.edit/description.html, vector/v.edit/global.h,
+	  vector/v.edit/main.c, vector/v.edit/max_distance.c,
+	  vector/v.edit/proto.h, vector/v.edit/select.c,
+	  vector/v.edit/zbulk.c: New tool 'zbulk' added.
+	  Manual page updated.
+	  Various minor fixes.
+
+2007-10-11 21:57  carlos
+
+	* locale/po/grassmods_es.po: More messages translated
+
+2007-10-11 16:14  martinl
+
+	* lib/vector/Vlib/cindex.c: Avoid segfault in Vect_cidx_find_all()
+	  if layer index not found.
+	  Doxygen docs updated.
+
+2007-10-11 13:59  glynn
+
+	* raster/r.in.xyz/support.c: Fix problem with maps >2GiB
+
+2007-10-11 13:28  martinl
+
+	* vector/v.extrude/description.html, vector/v.extrude/main.c: Fix
+	  types:
+	  point -> 3d line (vertical)
+	  line -> 3d line (changed)
+	  boundary -> faces
+	  area -> faces + kernel (new)
+
+2007-10-11 05:27  hamish
+
+	* raster/r.out.gdal/description.html: add ESRI GeoTIFF example
+	  (untested!), more see also links.
+
+2007-10-11 04:34  brad
+
+	* include/gisdefs.h, lib/gis/alloc_cell.c, lib/gis/raster.c: -
+	  Updated G_raster_size() and G_incr_void_ptr() to use size_t for
+	  large file support
+
+2007-10-11 00:54  brad
+
+	* configure.in: - Fortran and BLAS/LAPACK updates per Glynn's
+	  request
+
+2007-10-10 16:14  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/proto.h, vector/v.edit/select.c: Add 'query'
+	  parameter, currenly 'length' and 'dangle' supported.
+	  Fix -r (& type).
+
+2007-10-10 16:13  martinl
+
+	* include/Vect.h, lib/vector/Vlib/find.c: Add new
+	  Vect_find_line_list() based on Vect_find_line().
+
+2007-10-10 11:49  martinl
+
+	* vector/v.build.polylines/description.html,
+	  vector/v.build.polylines/main.c, vector/v.build.polylines/walk.c,
+	  vector/v.build.polylines/walk.h: Category mode option added.
+
+2007-10-10 11:46  martinl
+
+	* lib/vector/Vlib/cats.c: Doxygen docs updated.
+
+2007-10-10 09:09  martinl
+
+	* db/base/execute.c: Fix checking for 'select statement'.
+
+2007-10-10 08:30  hamish
+
+	* raster/r.cats/description.html: rename r.cats to r.category
+
+2007-10-10 08:01  hamish
+
+	* raster/r.average/description.html,
+	  raster/r.coin/description.html, raster/r.kappa/description.html,
+	  raster/r.median/description.html, raster/r.mode/description.html,
+	  raster/r.support/front/description.html,
+	  raster/r.what/description.html: rename r.cats r.category
+
+2007-10-10 07:49  hamish
+
+	* raster/r.cats/Makefile, raster/r.cats/cats.c,
+	  raster/r.cats/description.html, raster/r.cats/main.c: * rename
+	  module to r.category
+	  * fix HTML list bugs
+	  * add support for creating cats/ label files with the module
+	  -- I expect there may be bugs --
+	  eg CELL map with cat1:cat2 range doesn't work
+
+2007-10-10 07:30  hamish
+
+	* raster/r.in.xyz/main.c: can't close stdin
+
+2007-10-10 06:11  hamish
+
+	* scripts/v.rast.stats/description.html,
+	  scripts/v.rast.stats/v.rast.stats: add support for r.univar's
+	  extended stats. I expect that bad things will
+	  happen if the region is too big and r.univar -e runs out of
+	  memory.
+
+2007-10-09 21:47  markus
+
+	* locale/po/grassmods_de.po: typo
+
+2007-10-09 17:31  martinl
+
+	* db/base/local_proto.h: Typo...
+
+2007-10-09 17:17  martinl
+
+	* vector/v.edit/select.c: Add newline for tool=select.
+
+2007-10-09 16:38  carlos
+
+	* raster/r.volume/main.c: Standardization
+
+2007-10-09 16:23  carlos
+
+	* raster/r.surf.gauss/main.c: typos
+
+2007-10-09 14:52  martinl
+
+	* lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c: Message standardization.
+	  Doxygen docs updated.
+
+2007-10-09 13:31  hamish
+
+	* scripts/v.rast.stats/v.rast.stats: create the "n" statistic
+	  column as INT not DOUBLE
+
+2007-10-09 09:36  martinl
+
+	* vector/v.edit/select.c: Use PORT_DOUBLE_MAX for bounding box
+	  definition.
+
+2007-10-09 07:09  martinl
+
+	* vector/v.edit/copy.c, vector/v.edit/main.c,
+	  vector/v.edit/proto.h, vector/v.edit/snap.c: Allow copy features
+	  also from background map.
+	  Minor bugfix in do_snapping() fn.
+
+2007-10-09 03:28  brad
+
+	* db/base/Makefile, db/base/select.c: - Made local functions static
+	  - Remove local functions already present in printtab.c
+	  - Changed Makefile to link select.o with printtab.o
+
+2007-10-09 03:27  brad
+
+	* db/base/columns.c, db/base/copy.c, db/base/createdb.c,
+	  db/base/databases.c, db/base/describe.c, db/base/drivers.c,
+	  db/base/dropdb.c, db/base/droptable.c, db/base/local_proto.h,
+	  db/base/tables.c: - Made local functions static
+	  - Use EXIT_SUCCESS|EXIT_FAILURE
+
+2007-10-09 01:21  brad
+
+	* db/base/execute.c: - Exit gracefully on SELECT SQL statement
+	  - Made local functions static
+
+2007-10-08 23:30  brad
+
+	* db/base/db.execute.html: - Noted that db.execute does not return
+	  data; use db.select.
+
+2007-10-08 22:43  glynn
+
+	* man/Makefile: Put include line in the right place so that GISBASE
+	  is set
+
+2007-10-08 21:34  hamish
+
+	* scripts/d.polar/d.polar: fix grep lock reported by Stefano Costa
+	  (thanks Glynn)
+
+2007-10-08 20:59  maciej
+
+	* scripts/v.db.update/v.db.update: Corrected 'layer' description
+	  (copy/paste v.db.addcol); better (I hope) descriptions for other
+	  options.
+
+2007-10-08 12:33  martinl
+
+	* vector/v.edit/args.c: change key for background map: bmap ->
+	  bgmap
+
+2007-10-08 09:15  martinl
+
+	* vector/v.edit/a2b.c, vector/v.edit/args.c, vector/v.edit/break.c,
+	  vector/v.edit/cats.c, vector/v.edit/copy.c, vector/v.edit/del.c,
+	  vector/v.edit/flip.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c, vector/v.edit/max_distance.c,
+	  vector/v.edit/merge.c, vector/v.edit/move.c,
+	  vector/v.edit/proto.h, vector/v.edit/select.c,
+	  vector/v.edit/snap.c, vector/v.edit/vertex.c: Module
+	  consolidation (based on wxGRASS needs), various fixes.
+	  Message standardization, removed -i/s/v flag, added snap
+	  parameter.
+	  Snapping to vertex enabled, also possibility to snap to the
+	  features in background map(s).
+
+2007-10-08 08:24  hamish
+
+	* scripts/v.in.mapgen/description.html,
+	  scripts/v.in.mapgen/v.in.mapgen: allow import of 3D lines from
+	  Matlab.
+	  Top datapoint of matlab input doesn't have to be "NaN NaN"
+
+2007-10-08 07:02  hamish
+
+	* vector/vectorintro.html: fix UL html bug. talk more about most
+	  modules only working on features
+	  with a category number.
+
+2007-10-07 23:24  michael
+
+	* gui/icons/gui-loop.gif, gui/icons/gui-play.gif,
+	  gui/icons/gui-rewind.gif, gui/icons/gui-rplay.gif,
+	  gui/icons/gui-stepb.gif, gui/icons/gui-stepf.gif,
+	  gui/icons/gui-stop.gif, gui/icons/gui-swing.gif: Updates to
+	  animation icons
+
+2007-10-07 20:37  michael
+
+	* gui/tcltk/gis.m/animate.tcl: Update for new icons.
+
+2007-10-07 20:36  michael
+
+	* gui/icons/gui-loop.gif, gui/icons/gui-play.gif,
+	  gui/icons/gui-rabbit.gif, gui/icons/gui-rplay.gif,
+	  gui/icons/gui-snail.gif, gui/icons/gui-stepb.gif,
+	  gui/icons/gui-stepf.gif, gui/icons/gui-stop.gif,
+	  gui/icons/gui-swing.gif: Update animation icons
+
+2007-10-07 20:35  michael
+
+	* gui/icons/gui-exit.gif: Exit icon
+
+2007-10-06 22:45  michael
+
+	* gui/tcltk/gis.m/animate.tcl: improved error trapping
+
+2007-10-06 21:13  michael
+
+	* lib/gis/gui.tcl: Updated procedure to change GRASS named colors
+	  to rgb/hex. Color
+	  "none" was black with alpha black (0 0 0 0). Changed "none" to
+	  white with
+	  alpha white (255 255 255 255).
+
+2007-10-06 16:43  michael
+
+	* gui/tcltk/gis.m/maplabels.tcl: Fix bug in which label placement
+	  ignores values to the right of the
+	  decimal place and also fix color issues with color=none.
+
+2007-10-06 12:18  carlos
+
+	* raster/r.patch/main.c, raster/r.surf.gauss/main.c:
+	  Standardization
+
+2007-10-06 05:04  hamish
+
+	* lib/init/init.sh: add test so don't overwrite VAR file without
+	  testing. I just commented the whole
+	  thing out though after fixing it, as the VAR and $MAPSET/dbf/
+	  should be
+	  created on demand. To a raster-only or postgres-only user they
+	  are just
+	  file pollution. code bug #502
+
+2007-10-06 01:54  hamish
+
+	* vector/v.in.ascii/a2b.c: revert last msg standardization; this is
+	  a bad input string not a number.
+	  There may be a bad space, newline, or something so we need to
+	  show the
+	  string exactly & where its bounds are.
+
+2007-10-05 22:23  glynn
+
+	* raster/r.neighbors/description.html: Remove reference to fixed
+	  set of choices for size= option.
+
+2007-10-05 11:25  moritz
+
+	* debian/patches/htmlgen-fakeroot.dpatch: needed one level higher
+	  in path
+
+2007-10-05 11:18  moritz
+
+	* debian/patches/htmlgen-fakeroot.dpatch: adapted patch to current
+	  version of file
+
+2007-10-05 09:41  martinl
+
+	* include/gis.h, lib/gis/parser.c: G_OPT_V_MAPS added.
+
+2007-10-04 12:30  glynn
+
+	* include/Make/Rules.make, lib/db/sqlp/Makefile,
+	  raster/r.mapcalc/Makefile: Work around order-only dependencies
+	  bug in make < 3.81
+	  Eliminate unnecessary re-compilation due to yacc files
+
+2007-10-03 16:01  carlos
+
+	* imagery/i.gensig/get_train.c, imagery/i.pca/main.c,
+	  raster/r.profile/read_rast.c, raster/r.random/count.c,
+	  vector/v.vol.rst/user1.c: Standardization
+
+2007-10-03 15:02  carlos
+
+	* vector/v.buffer/main.c, vector/v.sample/main.c: Standardization
+
+2007-10-03 14:29  carlos
+
+	* vector/v.label.sa/labels.c, vector/v.label/main.c,
+	  vector/v.what.rast/main.c: Standardization
+
+2007-10-03 14:06  markus
+
+	* scripts/v.db.join/v.db.join: better error message
+
+2007-10-03 09:40  markus
+
+	* vector/v.out.ogr/main.c: improved warning
+
+2007-10-03 09:27  markus
+
+	* scripts/db.in.ogr/db.in.ogr: fixed broken script
+
+2007-10-03 08:30  markus
+
+	* lib/init/init.sh: predefine DBF driver if DB connection not
+	  defined
+
+2007-10-02 19:53  glynn
+
+	* display/Makefile, display/d.colors/Makefile,
+	  display/drivers/HTMLMAP/Makefile, display/drivers/PNG/Makefile,
+	  display/drivers/PS/Makefile, display/drivers/XDRIVER/Makefile,
+	  general/Makefile, general/g.setproj/Makefile, gui/Makefile,
+	  include/Make/Html.make, include/Make/Module.make,
+	  include/Make/Rules.make, lib/gpde/Makefile, misc/Makefile,
+	  ps/Makefile, raster/r.le/r.le.setup/Makefile,
+	  raster/r.terraflow/Makefile, scripts/Makefile, sites/Makefile,
+	  vector/v.clean/Makefile, visualization/Makefile: Don't use
+	  pattern rules to generate HTML files
+	  Add CLEAN_SUBDIRS so that v.clean, r.terraflow, r.le.setup don't
+	  need to override "clean" target
+	  Eliminate use of "inter" target; no longer meaningful
+	  Don't use htmldir target in directories with no HTML
+
+2007-10-02 17:54  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: New translations
+
+2007-10-02 17:50  carlos
+
+	* raster/r.mapcalc/map3.c: Standardization
+
+2007-10-02 17:46  william
+
+	* Makefile: Platform.make already sets INSTALL (-m not an option
+	  for cp)
+
+2007-10-02 16:21  william
+
+	* macosx/app/Makefile: cleanup to reduce recompilation
+
+2007-10-02 14:59  carlos
+
+	* raster/r.average/main.c, raster/r.bilinear/main.c,
+	  raster/r.flow/io.c, raster/r.grow2/main.c: Standardizaion
+
+2007-10-02 14:59  carlos
+
+	* ps/ps.map/outl_io.c, vector/v.in.ascii/a2b.c: Standardization
+
+2007-10-02 09:37  martinl
+
+	* vector/v.db.select/main.c: Avoid segfault, unable to open
+	  database.
+	  Message standardization.
+
+2007-10-02 04:38  martinl
+
+	* vector/v.proj/main.c: Do not overwrite output vector map
+
+2007-10-02 02:29  hamish
+
+	* raster/r.neighbors/main.c: write command line history metadata to
+	  output map
+
+2007-10-01 19:43  william
+
+	* macosx/pkg/resources/Info.plist.in: Remove unnecessary keys
+
+2007-10-01 19:42  william
+
+	* macosx/Makefile: platform.make needs to be included directly now
+	  to get MACOSX_APP
+
+2007-10-01 14:36  carlos
+
+	* display/d.save/main.c, display/d.vect/main.c,
+	  scripts/d.slide.show/d.slide.show, vector/v.db.connect/main.c,
+	  vector/v.edit/select.c, vector/v.out.ogr/main.c,
+	  vector/v.out.svg/main.c: Standardization
+
+2007-10-01 14:35  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: More messages translated
+
+2007-10-01 09:56  glynn
+
+	* tools/sql.sh: Increase size of prog_exp.symbol field (to allow
+	  for i.atcorr)
+
+2007-10-01 09:55  glynn
+
+	* general/g.mkfontcap/Makefile, imagery/i.ortho.photo/Makefile,
+	  raster/r.li/Makefile, raster/simwe/Makefile,
+	  vector/lidar/Makefile, vector/v.lrs/Makefile: Change handling of
+	  "library + modules" directories so that "make clean" works
+
+2007-10-01 09:16  glynn
+
+	* db/Makefile, db/drivers/Makefile, display/d.mon/Makefile,
+	  display/drivers/Makefile, general/g.region/Makefile,
+	  general/manage/lister/Makefile, gui/Makefile,
+	  imagery/i.ortho.photo/Makefile, imagery/i.smap/Makefile,
+	  lib/db/Makefile, lib/external/Makefile, lib/fonts/Makefile,
+	  lib/rst/Makefile, lib/vector/Makefile, misc/Makefile,
+	  ps/Makefile, raster/r.le/Makefile, raster/r.li/Makefile,
+	  raster/r.support/Makefile, raster/r.support/front/run.c,
+	  raster/r.support/modcats/Makefile,
+	  raster/r.support/modcolr/Makefile,
+	  raster/r.support/modhead/Makefile,
+	  raster/r.support/modhist/Makefile, raster/r.watershed/Makefile,
+	  raster/r.watershed/front/main.c, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/seg/Makefile, raster/simwe/Makefile,
+	  raster/wildfire/Makefile, sites/Makefile, testsuite/Makefile,
+	  tools/Makefile, vector/lidar/Makefile, vector/v.lrs/Makefile,
+	  visualization/Makefile: Convert Makefiles to allow subdirectories
+	  to be built in parallel
+	  Eliminate etc/support and etc/water subdirectories
+
+2007-09-30 12:48  carlos
+
+	* imagery/i.zc/main.c, raster/r.carve/raster.c,
+	  raster/r.out.tiff/r.out.tiff.c, raster/r.surf.idw2/read_cell.c:
+	  Standardization
+
+2007-09-30 12:22  carlos
+
+	* imagery/i.ortho.photo/photo.2target/main.c: Standardization
+
+2007-09-30 12:10  glynn
+
+	* Makefile, db/Makefile, db/drivers/Makefile,
+	  db/drivers/dbf/Makefile, db/drivers/mysql/Makefile,
+	  db/drivers/odbc/Makefile, db/drivers/ogr/Makefile,
+	  db/drivers/postgres/Makefile, db/drivers/sqlite/Makefile,
+	  display/Makefile, display/d.text.freetype/Makefile,
+	  display/drivers/Makefile, doc/Makefile, general/Makefile,
+	  general/g.setproj/Makefile, general/manage/lib/Makefile,
+	  gui/Makefile, gui/tcltk/Makefile, gui/tcltk/d.m/Makefile,
+	  gui/wxpython/Makefile, imagery/Makefile,
+	  imagery/i.ortho.photo/photo.2image/Makefile,
+	  imagery/i.ortho.photo/photo.2target/Makefile,
+	  imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.init/Makefile,
+	  imagery/i.ortho.photo/photo.rectify/Makefile,
+	  imagery/i.smap/Makefile, include/Make/Dir.make,
+	  include/Make/Html.make, include/Make/Module.make,
+	  include/Make/Rules.make, include/Make/Script.make, lib/Makefile,
+	  lib/db/Makefile, lib/db/sqlp/Makefile,
+	  lib/external/shapelib/Makefile, lib/form/Makefile,
+	  lib/gis/Makefile, lib/init/Makefile, lib/proj/Makefile,
+	  lib/rst/data/Makefile, lib/rst/qtree/Makefile,
+	  lib/vector/Makefile, lib/vector/dglib/Makefile,
+	  lib/vector/rtree/Makefile, macosx/Makefile, man/Makefile,
+	  misc/Makefile, ps/ps.map/Makefile, raster/Makefile,
+	  raster/r.li/Makefile, raster/r.li/r.li.daemon/Makefile,
+	  raster/r.li/r.li.setup/Makefile, raster/r.mapcalc/Makefile,
+	  raster/r.terraflow/Makefile, raster/r.watershed/Makefile,
+	  raster3d/Makefile, scripts/Makefile, scripts/d.polar/Makefile,
+	  scripts/db.test/Makefile, scripts/v.in.gpsbabel/Makefile,
+	  swig/Makefile, testsuite/Makefile, tools/Makefile,
+	  tools/mkftcap/Makefile, vector/Makefile,
+	  vector/v.in.dwg/Makefile, vector/v.lrs/Makefile,
+	  vector/v.lrs/lib/Makefile, visualization/Makefile: Clean-up build
+	  system to facilitate parallel builds and to avoid unnecessary
+	  re-compilation
+
+2007-09-30 12:10  carlos
+
+	* imagery/i.gensig/parse.c, imagery/i.his.rgb/openfiles.c:
+	  Standardization
+
+2007-09-30 11:59  carlos
+
+	* imagery/i.class/main.c: Standardization
+
+2007-09-30 11:50  carlos
+
+	* display/d.colortable/main.c: Standardization and messages added
+	  to po
+
+2007-09-30 11:16  carlos
+
+	* visualization/ximgview/main.c: Standardization
+
+2007-09-30 11:09  carlos
+
+	* vector/v.what.rast/main.c: Standardization
+
+2007-09-30 10:45  carlos
+
+	* vector/v.buffer/main.c: Standardization
+
+2007-09-30 10:36  carlos
+
+	* vector/v.voronoi/dt_main.c, vector/v.voronoi/vo_main.c:
+	  Standardization
+
+2007-09-30 07:08  martinl
+
+	* raster/r.report/main.c, raster/r.report/parse.c,
+	  raster/r.report/prt_report.c, raster/r.report/stats.c: Cosmetics:
+	  message cleaning
+
+2007-09-29 15:11  glynn
+
+	* display/d.frame/Makefile, include/Make/Module.make: Fix rules for
+	  building HTML (PROG must be defined first)
+
+2007-09-29 04:42  martinl
+
+	* Makefile: Copy to ARCH_DISTDIR also GPL.TXT (needed for wxGRASS
+	  About Dialog)
+
+2007-09-28 15:26  martinl
+
+	* GPL.TXT: Update file, based on
+	  'http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt'
+
+2007-09-28 15:06  glynn
+
+	* display/drivers/HTMLMAP/Makefile, display/drivers/PNG/Makefile,
+	  display/drivers/PS/Makefile, display/drivers/XDRIVER/Makefile,
+	  gui/tcltk/d.m/Makefile, imagery/i.ask/Makefile,
+	  imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.target/Makefile,
+	  include/Make/Html.make, include/Make/Rules.make,
+	  include/Make/Script.make, raster/r.support/modcats/Makefile,
+	  raster/r.support/modcolr/Makefile,
+	  raster/r.support/modhead/Makefile,
+	  raster/r.support/modhist/Makefile,
+	  raster/r.terraflow/IOStream/lib/Makefile,
+	  raster/r.terraflow/IOStream/lib/src/Makefile,
+	  raster/r.terraflow/Makefile, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/seg/Makefile, vector/v.digit/Makefile: Various
+	  fixes to deal with parallel builds
+
+2007-09-28 14:44  glynn
+
+	* configure: Commit version of configure which corresponds to
+	  configure.in
+
+2007-09-28 13:12  brad
+
+	* configure.in: - Default PostgreSQL and gfortran: disable
+
+2007-09-28 06:23  markus
+
+	* Makefile: reverted 'separate out builddemolocation'
+
+2007-09-27 10:36  markus
+
+	* Makefile: separate out builddemolocation to avoid 'make -j4' race
+	  condition
+
+2007-09-27 07:27  markus
+
+	* vector/v.vol.rst/main.c: one msg more
+
+2007-09-26 20:43  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po: More
+	  messages translated
+
+2007-09-26 20:42  carlos
+
+	* vector/v.vol.rst/main.c: Standardization
+
+2007-09-26 07:19  hamish
+
+	* vector/v.label/description.html, vector/v.label/main.c: add
+	  support for RGB label/background/highlight/border colors.
+	  reorder options.
+	  label file takes map name if not given.
+	  comment out color setting options from long long ago in man page.
+
+2007-09-26 06:47  hamish
+
+	* display/d.paint.labels/do_labels.c: add support for the "width"
+	  label control. unfortunately the default thickness
+	  is 1, which can be ugly when the label is rotated (versus the
+	  minimum
+	  line thickness of 0). so rotated labels are now slighltly uglier
+	  by
+	  default. :( oh well
+
+2007-09-26 05:45  hamish
+
+	* display/d.paint.labels/color.c,
+	  display/d.paint.labels/do_labels.c,
+	  display/d.paint.labels/local_proto.h: add RGB support for
+	  label/background/border/highlight colors
+
+2007-09-26 05:17  martinl
+
+	* vector/v.mkgrid/main.c, vector/v.mkgrid/write_grid.c: Cosmetics
+	  (EXIT/cleaning module description and messages)
+
+2007-09-26 00:12  hamish
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.gpsdrive/description.html: GpsDrive website URL
+	  update
+
+2007-09-25 15:11  hamish
+
+	* ps/ps.map/description.html: add rotation support for text
+	  instruction labels
+
+2007-09-25 15:05  hamish
+
+	* ps/ps.map/do_labels.c, ps/ps.map/r_text.c: add RGB support for
+	  all text labels.
+	  add rotation support for text instruction labels.
+	  bump max text border width to 25.
+
+2007-09-25 11:47  hamish
+
+	* lib/symbol/symbol/extra/n_arrow1: new north arrow (head) symbol
+	  based on the one from d.barscale -n by Huidae Cho
+	  NOTE: symbol exceeds bounding box for rational scaling. Don't
+	  know if that
+	  will break anything.
+
+2007-09-25 07:08  hamish
+
+	* ps/ps.map/description.html: clean rectangle descr
+
+2007-09-25 06:36  martinl
+
+	* vector/v.in.ogr/main.c: Revert change, (format for 'list of
+	  layers' changed in 6.x)
+
+2007-09-24 10:13  martinl
+
+	* raster/r.out.gdal/main.c: Parse 'create options'.
+	  Message cleaning.
+
+2007-09-24 00:34  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Bug fix for no xtnmenu.dat file. Add
+	  separator between menu items if
+	  more than one xtnmenu.dat file.
+
+2007-09-23 15:59  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Will read xtnmenu.dat files when
+	  multiple directories are listed in
+	  GRASS_ETC_PATH
+
+2007-09-23 11:10  markus
+
+	* configure: updated to enable Brad's changes
+
+2007-09-23 10:37  brad
+
+	* configure.in, include/Make/Platform.make.in, include/config.h.in:
+	  - Attempt to detect fortran compiler
+	  - Expanded BLAS/LAPACK/ATLAS detection
+
+2007-09-23 08:33  markus
+
+	* vector/v.lrs/lrs.html: alt. term
+
+2007-09-23 07:07  glynn
+
+	* Makefile, db/drivers/dbf/Makefile, db/drivers/mysql/Makefile,
+	  db/drivers/odbc/Makefile, db/drivers/ogr/Makefile,
+	  db/drivers/postgres/Makefile, db/drivers/sqlite/Makefile,
+	  imagery/i.ortho.photo/libes/Makefile, include/Make/Dir.make,
+	  include/Make/Grass.make.in, include/Make/Html.make,
+	  include/Make/Platform.make.in, include/Make/Script.make,
+	  lib/form/Makefile, lib/rowio/Makefile, lib/stats/Makefile,
+	  lib/vector/diglib/Makefile, lib/vector/transform/Makefile,
+	  vector/v.lrs/lib/Makefile: Makefile clean-up
+
+2007-09-23 06:52  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Updated menu to create Xtns menu,
+	  following new standards.
+
+2007-09-22 09:08  carlos
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasstcl_pl.po: Monika Tylus translations and updated
+
+2007-09-21 22:48  carlos
+
+	* locale/po/grassmods_de.po: Robert Nuske translations and updated
+
+2007-09-21 22:12  carlos
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasstcl_am.po,
+	  locale/po/grasstcl_ar.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_el.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_ko.po,
+	  locale/po/grasstcl_lv.po, locale/po/grasstcl_mr.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt.po,
+	  locale/po/grasstcl_pt_br.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_sl.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: Files updated
+	  with current code
+
+2007-09-21 22:01  carlos
+
+	* lib/gis/ls.c: Typos
+
+2007-09-21 21:30  carlos
+
+	* vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c:
+	  Standardization
+
+2007-09-21 13:32  markus
+
+	* locale/po/grasstcl_am.po, translators.csv: Solomon Gizaw: initial
+	  Amharic (Ethopia)
+
+2007-09-20 14:18  moritz
+
+	* lib/init/gis_set.tcl, lib/init/init.sh: fix to allow cancelling
+	  GRASS startup
+
+2007-09-20 00:13  brad
+
+	* vector/v.transform/description.html, vector/v.transform/main.c: -
+	  Added new option 'm' to print transformation matrix in human
+	  readable form.
+	  - Updated description.html to reflect change.
+
+2007-09-20 00:12  brad
+
+	* include/libtrans.h: - Added new function:
+	  print_transform_matrix()
+
+2007-09-19 23:54  brad
+
+	* lib/vector/transform/transform.c: - Added new function:
+	  print_transform_matrix()
+	  - Began documentation process and added copyright statement
+
+2007-09-19 21:19  carlos
+
+	* vector/v.sample/main.c, vector/v.to.db/main.c,
+	  vector/v.to.db/update.c: Standardization
+
+2007-09-19 21:18  carlos
+
+	* locale/po/grassmods_es.po: More messages translated and updated
+
+2007-09-19 08:13  glynn
+
+	* raster/r.neighbors/main.c: Don't "round" (i.e. add 0.5 to) FP
+	  maps
+
+2007-09-19 07:20  markus
+
+	* doc/debugging.txt: less misleading
+
+2007-09-19 05:13  michael
+
+	* lib/gtcltk/select.tcl: Bug fix for expr $len-1 not specified
+
+2007-09-19 04:53  michael
+
+	* scripts/g.mlist/g.mlist: Fix insertion of newline to make single,
+	  flat list of elements
+	  to be compatible with BSD sed
+
+2007-09-18 09:15  wolf
+
+	* vector/v.label.sa/main.c: Set background colors to the Colors
+	  guisection.
+
+2007-09-18 09:13  wolf
+
+	* vector/v.label.sa/labels.h, vector/v.label.sa/main.c: Added
+	  support for colors.
+
+2007-09-18 06:17  michael
+
+	* lib/gtcltk/select.tcl: Fix multiple selection functions, added
+	  credit and GPL header, some
+	  code cleanup.
+
+2007-09-18 05:52  wolf
+
+	* vector/v.label.sa/font.c, vector/v.label.sa/labels.c,
+	  vector/v.label.sa/labels.h, vector/v.label.sa/main.c: Added
+	  support for the fontscap fonts.
+
+2007-09-16 07:21  michael
+
+	* gui/tcltk/gis.m/animate.tcl: Multiple updates and fixes. Now will
+	  accept raster map series in form
+	  of rast(1-n) OR specified as glob/regexp pattern. Initial entry
+	  does
+	  not have a preceding "," now. Uses WIND_OVERRIDE for changing
+	  region
+	  resolution. Some cosmetic fixes.
+
+2007-09-15 14:35  maciej
+
+	* scripts/v.report/v.report: Some code re-arrangement. Handle empty
+	  table. Check for awk. Other minor fixes.
+
+2007-09-14 22:21  carlos
+
+	* locale/po/grasstcl_es.po: New nviz messages translated
+
+2007-09-14 22:20  carlos
+
+	* gui/tcltk/gis.m/rules.tcl: Standardization
+
+2007-09-14 22:14  carlos
+
+	* gui/tcltk/gis.m/dnviz.tcl: Standardization and typos
+
+2007-09-14 16:37  martinl
+
+	* db/base/connect.c: Revert changes: Remove redundant space from
+	  output (can break some scripts, e.g. v.db.addtable).
+
+2007-09-14 08:18  markus
+
+	* visualization/xganim/description.html: Wildcard comments added
+
+2007-09-13 21:34  markus
+
+	* scripts/db.in.ogr/description.html: note about CSV type
+	  recognition. In fact, it needs
+	  http://trac.osgeo.org/gdal/ticket/1761 to be applied to GDAL)
+
+2007-09-13 21:24  markus
+
+	* scripts/db.in.ogr/db.in.ogr, scripts/db.in.ogr/description.html:
+	  DSN support added for SQLite, PostgreSQL etc
+
+2007-09-13 21:04  markus
+
+	* db/base/describe.c: string fixed
+
+2007-09-13 15:57  markus
+
+	* lib/vector/dglib/dglib.dox: ref'ed at least a few functions
+
+2007-09-13 07:41  michael
+
+	* gui/tcltk/gis.m/animate.tcl: Labels working now.
+
+2007-09-13 07:10  michael
+
+	* gui/tcltk/gis.m/animate.tcl: remove debugging code
+
+2007-09-13 07:09  michael
+
+	* gui/tcltk/gis.m/animate.tcl: Bug fix.
+
+2007-09-13 06:51  michael
+
+	* gui/tcltk/gis.m/animate.tcl: A simple series of maps (i.e.,
+	  without sequential numbers) can now
+	  be entered into a view.
+
+2007-09-13 06:38  michael
+
+	* gui/tcltk/gis.m/animate.tcl: Update to permit display of
+	  animations with different numbers of
+	  maps (frames) in each subwindow of a multi-window animation.
+
+2007-09-13 04:34  michael
+
+	* gui/tcltk/gis.m/animate.tcl: Scaling fixed for multiple views.
+	  Views can now display more than
+	  10 maps. Improved error trapping.
+
+2007-09-12 21:37  martinl
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/local.h, vector/v.overlay/main.c: Cleaning
+	  messages + i18n.
+
+2007-09-12 13:49  glynn
+
+	* scripts/g.mlist/g.mlist: More efficiency improvements
+
+2007-09-12 11:34  martinl
+
+	* vector/v.out.ogr/description.html, vector/v.out.ogr/main.c: Fix
+	  'dco' and 'lco' parsering.
+	  Update manual page.
+
+2007-09-12 06:04  michael
+
+	* gui/tcltk/gis.m/gmtool2.tcl: Animate button on layer manager
+	  toolbar now linked to TclTk animation
+	  module instead of xganim.
+
+2007-09-11 17:54  glynn
+
+	* include/Make/Module.make, raster/r.support/modcats/Makefile,
+	  raster/r.support/modcolr/Makefile,
+	  raster/r.support/modhead/Makefile,
+	  raster/r.support/modhist/Makefile: Fix handling of $(EXE)
+
+2007-09-11 17:54  glynn
+
+	* scripts/g.mlist/g.mlist: Efficiency improvements
+
+2007-09-11 17:53  glynn
+
+	* raster/r.neighbors/main.c: Remove size restriction
+
+2007-09-11 15:04  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Bug fix for saving grc files. From
+	  Eric Patton.
+
+2007-09-11 07:31  markus
+
+	* lib/gis/datumtransform.table: NIMA docs URL
+
+2007-09-11 07:20  michael
+
+	* gui/tcltk/gis.m/animate.tcl: Added progress bar. Working on
+	  scaling for multiple views.
+
+2007-09-11 04:51  michael
+
+	* gui/tcltk/gis.m/dnviz.tcl: Added coordinate point reset button
+	  and apply button to NVIZ path module
+
+2007-09-11 03:04  william
+
+	* lib/init/grass-xterm-wrapper: add missing GIS_LOCK to Terminal
+	  export list
+
+2007-09-11 02:10  william
+
+	* macosx/app/build_gui_user_menu.sh: remove outer braces on menu
+	  items
+
+2007-09-10 18:44  william
+
+	* macosx/Makefile: remove bogus wx install step
+
+2007-09-10 18:38  wolf
+
+	* vector/v.label.sa/annealing.c, vector/v.label.sa/labels.c,
+	  vector/v.label.sa/labels.h, vector/v.label.sa/main.c: Fixed 3
+	  errors. Fixed broken lineover implementation. Fixed broken
+	  labelover
+	  implementation. Fixed broken centerdness implementation.
+
+2007-09-10 18:25  markus
+
+	* display/d.nviz/main.c: fixed parameters
+
+2007-09-10 15:45  michael
+
+	* gui/tcltk/gis.m/dnviz.tcl: Bugfix.
+
+2007-09-10 15:20  michael
+
+	* gui/tcltk/gis.m/dnviz.tcl: TclTk interface to d.nviz for creating
+	  flythrough paths in NVIZ
+
+2007-09-10 07:40  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/pkgIndex.tcl: Added
+	  animation tool to package list and menu
+
+2007-09-10 07:37  michael
+
+	* gui/tcltk/gis.m/animate.tcl: New animation module in TclTk to
+	  replace Xganim.
+
+2007-09-10 07:36  michael
+
+	* gui/icons/gui-ff.gif, gui/icons/gui-loop.gif,
+	  gui/icons/gui-play.gif, gui/icons/gui-rabbit.gif,
+	  gui/icons/gui-rewind.gif, gui/icons/gui-rplay.gif,
+	  gui/icons/gui-snail.gif, gui/icons/gui-stepb.gif,
+	  gui/icons/gui-stepf.gif, gui/icons/gui-stop.gif,
+	  gui/icons/gui-swing.gif: Icons for TclTk animation module
+
+2007-09-10 06:58  martinl
+
+	* vector/v.db.connect/description.html, vector/v.db.connect/main.c:
+	  Explain -- when printing db connection parameters, the parameter
+	  layer is ignored.
+
+2007-09-09 19:43  maciej
+
+	* scripts/v.report/v.report: If sort flags are used (which sorts
+	  the output based on the last column, instead of the first), use
+	  column 1 (ie. cat) as a second key for sorting.
+
+2007-09-09 13:48  maciej
+
+	* scripts/v.report/v.report: Fixed reporting x,y coordinates. Now
+	  also reports z coordinate. Fixed handling vectors without tables
+	  (no errors printed, output looks the same as in case when table
+	  exists).
+
+2007-09-08 20:29  martinl
+
+	* vector/v.in.db/main.c: Use G_OPT_TABLE/DRIVER/DATABASE.
+	  Check if key column exists and if it's data type is integer.
+	  Fix messages.
+
+2007-09-08 20:00  martinl
+
+	* vector/v.db.connect/main.c: Use G_OPT_TABLE/DRIVER
+	  Add check that key is INTEGER (needs test for column type).
+	  Add check if column exists.
+
+2007-09-08 18:54  martinl
+
+	* db/base/columns.c, db/base/connect.c, db/base/createdb.c,
+	  db/base/databases.c, db/base/describe.c, db/base/dropdb.c,
+	  db/base/droptable.c, db/base/execute.c, db/base/select.c,
+	  db/base/tables.c, db/db.login/main.c: Use
+	  G_OPT_TABLE/DRIVER/DATABASE.
+	  Cleaning messages.
+	  Use EXIT_SUCCESS/FAILURE.
+
+2007-09-08 16:22  martinl
+
+	* include/gis.h, lib/gis/parser.c: G_OPT_DRIVER and G_OPT_DATABASE
+	  added.
+
+2007-09-08 03:55  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/frames.tcl, gui/tcltk/gis.m/georect.tcl,
+	  gui/tcltk/gis.m/gmtree.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/labels.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/mapcanvas.tcl,
+	  gui/tcltk/gis.m/mapprint.tcl, gui/tcltk/gis.m/maptool.tcl,
+	  gui/tcltk/gis.m/profile.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/rules.tcl,
+	  gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/vector.tcl: Error
+	  reporting update. G_msg translation for internationalization
+	  now done at caller instead of in Gm::errmsg function.
+
+2007-09-08 03:33  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Any custom error message international
+	  translation done by the
+	  caller and not by Gm::errmsg procedure.
+
+2007-09-08 03:31  michael
+
+	* gui/tcltk/gis.m/mapprint.tcl: Update. LPR printing no longer
+	  needs ghostscript.
+
+2007-09-07 17:38  maciej
+
+	* imagery/i.atcorr/description.html: Typos, rearanged to comply
+	  with other GRASS docs better, brought the 'Last changed' back,
+	  better REFERENCES and AUTHORS, one thing unclear more.
+
+2007-09-07 14:10  martinl
+
+	* vector/v.transform/description.html,
+	  vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/trans_digit.c: Simplify usage of the module,
+	  use new parameter 'table'.
+	  Description updated, also support 'varchar' as column type.
+
+2007-09-07 12:55  martinl
+
+	* include/gis.h, lib/gis/parser.c: G_OPT_TABLE other G_ELEMENT_
+	  (G_ELEMENT_OLDVECTOR, ...) added.
+
+2007-09-07 12:17  markus
+
+	* vector/v.transform/description.html: added affine transformation
+	  explanation
+
+2007-09-07 10:42  martinl
+
+	* vector/v.transform/description.html: Cosmetics (comments for
+	  example "extrude" changed).
+
+2007-09-07 10:37  martinl
+
+	* vector/v.transform/description.html,
+	  vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/trans.h, vector/v.transform/trans_digit.c:
+	  Individual transformation parameters based on category number
+	  enabled (column & layer option).
+
+2007-09-07 06:34  michael
+
+	* gui/tcltk/gis.m/rules.tcl: Added "apply" button to rules
+	  inteface. Now you can apply rules
+	  and keep the rules entry open to try other variations without
+	  having to start over.
+
+2007-09-07 05:16  michael
+
+	* lib/gtcltk/gronsole.tcl: Removed 2 unneeded and sometimes
+	  problematic error reporting message
+	  boxes.
+
+2007-09-07 02:55  hamish
+
+	* scripts/r.out.xyz/r.out.xyz: don't show r.stats's G_percent()
+
+2007-09-06 10:32  martinl
+
+	* vector/v.what/main.c, vector/v.what/what.c: Avoid segfault if
+	  vector map is not found.
+	  Print also line id in basic mode.
+
+2007-09-06 07:16  markus
+
+	* doc/projectionintro.html: intro added
+
+2007-09-06 05:32  markus
+
+	* gui/icons/README: cosmetics
+
+2007-09-06 05:30  michael
+
+	* gui/icons/AUTHORS, gui/icons/README: Update for OSGEO incubation
+	  review
+
+2007-09-06 02:31  brad
+
+	* imagery/i.atcorr/main.cpp: - Used EXIT_SUCCES | EXIT_FAILURE
+	  - Made local functions static and declated them proper
+	  - Made visibility option optional
+	  - Still needs more work
+
+2007-09-05 16:27  markus
+
+	* imagery/i.atcorr/main.cpp: applied Yann's patches
+
+2007-09-05 12:57  markus
+
+	* gui/icons/README: State authors
+
+2007-09-05 11:50  markus
+
+	* lib/external/shapelib/README, lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c: SHAPELIB copy updated
+
+2007-09-05 06:25  michael
+
+	* lib/gtcltk/gronsole.tcl: Update error reporting to use new
+	  Gm::errmsg procedure
+
+2007-09-05 06:22  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/frames.tcl, gui/tcltk/gis.m/georect.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/group.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/labels.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/mapcanvas.tcl,
+	  gui/tcltk/gis.m/maplabels.tcl, gui/tcltk/gis.m/maptool.tcl,
+	  gui/tcltk/gis.m/profile.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/rules.tcl,
+	  gui/tcltk/gis.m/runandoutput.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/tksys.tcl, gui/tcltk/gis.m/vector.tcl: Change
+	  error reporting to use new Gm::errormsg procedure.
+
+2007-09-05 01:31  william
+
+	* macosx/modbuild/ReadMe.rtf: some small clarifications
+
+2007-09-05 01:31  william
+
+	* macosx/pkg/resources/ReadMe.rtf: missing copyright
+
+2007-09-04 19:51  markus
+
+	* scripts/r.in.wms/description.html: typo fixed
+
+2007-09-04 19:47  william
+
+	* scripts/r.in.wms/description.html: add curl info
+
+2007-09-04 19:42  william
+
+	* scripts/r.in.wms/r.in.wms: Tell user whether wget or curl is used
+
+2007-09-04 19:22  william
+
+	* scripts/r.in.wms/r.in.wms, scripts/r.in.wms/wms.download,
+	  scripts/r.in.wms/wms.request: try curl if wget not found
+
+2007-09-04 15:54  markus
+
+	* vector/v.in.ogr/main.c: two guisections
+
+2007-09-04 08:34  martinl
+
+	* lib/gis/list.c, lib/gis/ls.c: Typo: window -> windows
+	  Doxygen docs updated.
+
+2007-09-04 01:43  hamish
+
+	* raster/rasterintro.html: make raster metadata section less vector
+	  oriented
+
+2007-09-03 21:01  markus
+
+	* raster/rasterintro.html, vector/vectorintro.html: Metadata
+	  section added
+
+2007-09-02 04:58  glynn
+
+	* raster/r.neighbors/description.html: Use line breaks in weights=
+	  example for clarity
+
+2007-09-02 00:22  michael
+
+	* lib/gis/gui.tcl: Cosmetic improvments to default command GUI
+
+2007-09-02 00:18  william
+
+	* raster/r.out.ppm/main.c: don't use NULL in G_done_msg
+
+2007-09-01 23:58  michael
+
+	* gui/tcltk/gis.m/runandoutput.tcl, lib/gtcltk/gronsole.tcl:
+	  Cosmetic improvements to GRASS output console.
+
+2007-09-01 22:45  brad
+
+	* raster/r.neighbors/description.html: - Added documentation for
+	  new 'weight' option.
+
+2007-09-01 22:42  markus
+
+	* vector/v.out.ascii/out.c, vector/v.out.vtk/main.c: msg cosmetics
+
+2007-09-01 22:03  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Updated and new strings translated
+
+2007-09-01 21:52  carlos
+
+	* vector/v.out.vtk/main.c, vector/v.sample/main.c,
+	  vector/v.surf.rst/main.c, vector/v.to.db/query.c: Typos and
+	  standardization
+
+2007-09-01 19:55  michael
+
+	* lib/gtcltk/gronsole.tcl: Improved error management by adding
+	  tk_messageBox output to error
+	  traps.
+
+2007-09-01 19:42  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/frames.tcl, gui/tcltk/gis.m/georect.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/grassabout.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/group.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maplabels.tcl,
+	  gui/tcltk/gis.m/mapprint.tcl, gui/tcltk/gis.m/maptool.tcl,
+	  gui/tcltk/gis.m/profile.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/rules.tcl,
+	  gui/tcltk/gis.m/runandoutput.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/tksys.tcl, gui/tcltk/gis.m/vector.tcl,
+	  lib/gis/gui.tcl, lib/init/gis_set.tcl: Improved error management.
+	  Added tk_messageBox displays for all
+	  error output. Added some explanatory messages too.
+
+2007-09-01 19:18  william
+
+	* macosx/ReadMe.rtf, macosx/pkg/resources/ReadMe.rtf: remove note
+	  about not running on case-sensitive file systems
+
+2007-09-01 18:50  william
+
+	* macosx/Makefile, macosx/app/GRASS.applescript,
+	  macosx/app/Makefile, macosx/app/build_html_user_index.sh,
+	  macosx/modbuild/Makefile: Change 'Resources' install path to
+	  'MacOS'
+
+2007-09-01 17:40  glynn
+
+	* display/drivers/PNG/description.html, lib/init/variables.html:
+	  Document GRASS_PNG_READ, GRASS_PNG_MAPPED
+
+2007-09-01 17:40  glynn
+
+	* configure, configure.in: Change MacOSX App installation path
+
+2007-09-01 10:10  maciej
+
+	* imagery/i.atcorr/description.html: One bit unclear more.
+
+2007-09-01 10:05  maciej
+
+	* imagery/i.atcorr/description.html: Cleaned up the doc as far as
+	  I'm sure what I'm doing. Documented bits still unclear.
+
+2007-08-31 21:14  markus
+
+	* gui/tcltk/gis.m/description.html: restored <h2>DESCRIPTION</h2>
+	  to make manual build happy
+
+2007-08-31 17:47  michael
+
+	* gui/tcltk/gis.m/maplabels.tcl: Final fix for box behind labels
+	  with PS labels.
+
+2007-08-31 14:05  martinl
+
+	* locale/po/grasslibs_cs.po: Czech translation updated (only libs).
+
+2007-08-31 13:27  martinl
+
+	* lib/proj/get_proj.c: Use G_malloc instead of malloc.
+	  Doxygen docs updated.
+
+2007-08-31 07:59  michael
+
+	* gui/tcltk/gis.m/maplabels.tcl: Fixed bounding box size problem
+	  for labels.
+
+2007-08-31 06:04  michael
+
+	* visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panelIndex,
+	  visualization/nviz/scripts/panel_color.tcl,
+	  visualization/nviz/scripts/panel_cutplane.tcl,
+	  visualization/nviz/scripts/panel_lights.tcl,
+	  visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/panel_surf.tcl,
+	  visualization/nviz/scripts/panel_vect.tcl,
+	  visualization/nviz/scripts/panel_vol.tcl: Fix NVIZ state file
+	  saving and loading for all relevant panels.
+
+2007-08-30 11:48  brad
+
+	* imagery/i.target/main.c: - Cleanup
+	  - Used G_done_msg ()
+
+2007-08-30 02:29  brad
+
+	* visualization/nviz/src/map_obj.c, visualization/nviz/src/misc.c,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c: - Fixed some compiler
+	  warnings
+
+2007-08-30 02:19  brad
+
+	* vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c: - Fixed compiler
+	  warning
+
+2007-08-30 02:17  brad
+
+	* vector/v.voronoi/sw_geometry.c, vector/v.voronoi/sw_output.c: -
+	  Fixed compiler warnings
+
+2007-08-30 02:12  brad
+
+	* vector/v.overlay/main.c: - Used 0->EXIT_SUCCESS
+	  - Fixed compiler warning
+
+2007-08-30 02:10  brad
+
+	* raster/r.out.tiff/r.out.tiff.c, vector/v.distance/main.c,
+	  vector/v.in.dxf/main.c: - Fixed compiler warning
+
+2007-08-30 02:05  brad
+
+	* raster/simwe/simlib/hydro.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/waterglobs.h: - Fixed compiler warnings
+	  - Used macros in header file (prevents multiple inclusion)
+	  - Localized text
+
+2007-08-29 10:21  brad
+
+	* raster/r.region/main.c, raster/r.surf.idw2/main.c,
+	  raster/r.texture/h_measure.c: - Fixed compiler warnings
+
+2007-08-29 10:19  brad
+
+	* raster/r.surf.idw2/read_cell.c: - Fixed compiler warning
+
+2007-08-29 10:05  brad
+
+	* raster/r.le/r.le.patch/patch.c: - Fixed compiler warnings
+
+2007-08-29 09:55  brad
+
+	* scripts/r.fillnulls/r.fillnulls: - General messages should not be
+	  fatal.
+
+2007-08-29 09:53  brad
+
+	* lib/gis/basename.c, lib/gis/bres_line.c: - Added docbook
+	  documentation
+
+2007-08-29 09:48  brad
+
+	* lib/pngdriver/pngdriver.h, lib/psdriver/psdriver.h: - Used header
+	  file macros (prevents multiple inclusion)
+
+2007-08-29 09:45  brad
+
+	* gem/actions.c, gem/main.c, gem/reg_deps.c, gem/reg_entries.c,
+	  gem/reg_html.c, gem/tools.c: - Fixed several bugs
+	  - mktemp()->mkstemp()
+
+2007-08-29 09:34  brad
+
+	* display/d.histogram/bar.c, display/d.histogram/pie.c: - Fixed bug
+	  in pie.c (used '&' instead of '&&')
+	  - Fixed compiler warnings
+
+2007-08-29 09:33  hamish
+
+	* gui/tcltk/gis.m/maplabels.tcl: process newlines. (thanks to Ivan
+	  Shmakov for the tip)
+
+2007-08-29 07:35  brad
+
+	* db/drivers/sqlite/listtab.c, db/drivers/sqlite/select.c: - Fixed
+	  compiler warnings
+	  - Added docbook documentation
+
+2007-08-29 07:26  brad
+
+	* db/drivers/sqlite/index.c: - Fixed compiler warnings
+	  - Added docbook documentation
+
+2007-08-29 07:21  brad
+
+	* db/drivers/sqlite/fetch.c: - Fixed compiler warnings
+	  - Added docbook documentation
+
+2007-08-29 07:10  brad
+
+	* db/drivers/sqlite/execute.c: - Fixed compiler warnings
+	  - Added docbook documentation
+
+2007-08-29 06:57  brad
+
+	* db/drivers/sqlite/describe.c, db/drivers/sqlite/proto.h: - Made
+	  affinity_type() static
+	  - Fixed compiler warnings
+	  - Added docbook documentation
+
+2007-08-29 06:38  brad
+
+	* db/drivers/sqlite/db.c: - Fix compiler warnings
+	  - Added docbook documentation
+
+2007-08-29 06:31  brad
+
+	* db/drivers/sqlite/create_table.c: - Fixed compiler warnings
+	  - Added docbook documentation
+
+2007-08-29 06:14  brad
+
+	* db/drivers/odbc/table.c: - Updated from K&R style declaration
+	  - Added parenthesis for readability
+	  - Added docbook documentation
+
+2007-08-29 06:13  brad
+
+	* db/drivers/odbc/error.c: - Updated file dates
+
+2007-08-29 06:11  brad
+
+	* db/drivers/odbc/error.c: - Removed K&R style declarations
+	  - Added docbook documentation
+
+2007-08-29 05:51  brad
+
+	* lib/ogsf/GS2.c, lib/ogsf/GV2.c, lib/ogsf/Gs3.c, lib/ogsf/gs.c,
+	  lib/ogsf/gsd_cplane.c, lib/ogsf/gsds.c, lib/ogsf/gv.c: - Added
+	  parenthesis around truth statements
+
+2007-08-29 05:36  brad
+
+	* lib/init/chk_dbase.c, lib/init/set_data.c: - Added parenthesis
+	  around truth statement
+
+2007-08-27 22:49  brad
+
+	* lib/db/dbmi_base/dirent.c: - fixed a compiler warning
+
+2007-08-27 07:15  hamish
+
+	* ps/ps.map/catval.c: note about consolidating code
+
+2007-08-27 07:02  hamish
+
+	* ps/ps.map/catval.c, ps/ps.map/description.html,
+	  ps/ps.map/local_proto.h, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/vector.h: allow dynamic symbol
+	  rotation from value in attribute column
+
+2007-08-26 04:49  glynn
+
+	* vector/v.what/Makefile, vector/v.what/main.c,
+	  vector/v.what/what.h: v.what isn't a display module; don't use
+	  R_* functions
+
+2007-08-26 04:47  glynn
+
+	* raster/r.surf.fractal/process.c,
+	  raster/r.surf.fractal/spec_syn.c: <grass/gmath.h> must come last
+
+2007-08-26 04:47  glynn
+
+	* include/gisdefs.h, include/gmath.h: Don't include parameter names
+	  in prototypes
+
+2007-08-25 23:46  soeren
+
+	* include/gisdefs.h, lib/gmath/dalloc.c, lib/gmath/ialloc.c: - Code
+	  clean up
+	  - Use G_free instead of free
+	  - G_free_* should return void
+	  - Added doxygen doc to integer matrix/vector functions
+
+2007-08-25 22:57  michael
+
+	* gui/tcltk/gis.m/runandoutput.tcl: Catch and deal with situations
+	  where command send extraneous information
+	  along with the tcltk interface description when run with --tcltk.
+	  Example
+	  is v.what.
+
+2007-08-25 22:52  brad
+
+	* raster/r.surf.gauss/description.html,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.gauss/main.c,
+	  raster/r.surf.gauss/source.txt: - Updated usage of
+	  G_math_rand_gauss()
+	  - Updated description
+	  - Removed source.txt
+	  - Updated GRASS API usage in module
+
+2007-08-25 05:59  brad
+
+	* imagery/i.ifft/globals.h, imagery/i.ifft/ifftmain.c: - Minor API
+	  usage updates.
+	  - Uses EXIT_SUCCESS|EXIT_FAILURE
+
+2007-08-25 04:07  brad
+
+	* include/gmath.h, lib/gmath/gauss.c, lib/gmath/rand1.c,
+	  raster/r.surf.fractal/frac.h, raster/r.surf.fractal/max_pow.c,
+	  raster/r.surf.fractal/process.c,
+	  raster/r.surf.fractal/spec_syn.c, raster/r.surf.gauss/gaussurf.c,
+	  raster/r.surf.gauss/local_proto.h,
+	  raster/r.surf.random/randsurf.c: - Removed NR gaussian random
+	  function for OSS version
+	  - gauss() -> G_math_rand_gauss()
+	  - rand1() -> G_math_rand()
+	  - Updated calls in r.surf.random, r.surf.fractal, r.surf.gauss
+	  - Removed duplicated max_pow2() function from r.surf.fractal
+
+2007-08-25 03:51  brad
+
+	* imagery/i.fft/fftmain.c, imagery/i.fft/globals.h,
+	  imagery/i.fft/local_proto.h, imagery/i.fft/orig_wind.c,
+	  imagery/i.fft/save_fft.c, imagery/i.zc/findzc.c,
+	  imagery/i.zc/globals.h, imagery/i.zc/local_proto.h,
+	  imagery/i.zc/main.c, include/gmath.h, lib/gmath/findzc.c,
+	  lib/gmath/max_pow2.c: - findzc -> G_math_findzc()
+	  - min_pow2 -> G_math_min_pow2()
+	  - max_pow2 -> G_math_max_pow2()
+	  - i.zc cleanup
+
+2007-08-24 13:25  markus
+
+	* vector/v.extrude/main.c: face not supported here
+
+2007-08-24 13:23  markus
+
+	* vector/v.extrude/description.html, vector/v.extrude/main.c:
+	  MartinL: Support for points added; cleaning the code
+
+2007-08-24 09:36  hamish
+
+	* raster/r.surf.random/main.c: Removed comment about NR code. This
+	  module uses rand1() from
+	  lib/gmath/rand1.c which links to std C lib rand() or drand48().
+	  There is no Numerical Recipes code here anymore.
+
+2007-08-24 07:37  michael
+
+	* gui/tcltk/gis.m/description.html: updated GIS Manager help and
+	  added more button icons.
+
+2007-08-24 05:59  michael
+
+	* gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/vector.tcl: Added get
+	  info button to raster and vector layer panels. Thanks to
+	  Carlos Grohmann <carlos.grohmann at gmail.com>
+
+2007-08-24 05:58  michael
+
+	* gui/icons/gui-help.gif, gui/icons/gui-rv.info.gif: New icon for
+	  raster or vector info button and squaring the help button.
+
+2007-08-24 05:26  michael
+
+	* gui/tcltk/gis.m/grassabout.tcl, gui/tcltk/gis.m/tksys.tcl: Wrap
+	  GRASS commands in catch statements for better error trapping
+	  and reporting. Improvements to help system (replacing *nix-isms
+	  with
+	  pure TclTk for better cross-platform compatibility).
+
+2007-08-24 05:24  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/frames.tcl, gui/tcltk/gis.m/georect.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/mapprint.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.tcl,
+	  gui/tcltk/gis.m/rules.tcl, gui/tcltk/gis.m/runandoutput.tcl,
+	  gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/vector.tcl: Wrap
+	  GRASS commands in catch statements for better error trapping and
+	  reporting.
+
+2007-08-24 04:13  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: Fix description of rand()
+	  function
+
+2007-08-23 21:31  markus
+
+	* vector/v.label.sa/description.html: example added
+
+2007-08-23 14:37  carlos
+
+	* locale/po/grassmods_es.po: More messages translated
+
+2007-08-23 13:39  markus
+
+	* display/drivers/PNG/description.html,
+	  display/drivers/PS/description.html: be less cryptic how driver
+	  works
+
+2007-08-23 09:51  hamish
+
+	* visualization/xganim/main.c: don't dump debug info by default
+
+2007-08-23 07:25  michael
+
+	* lib/gis/gui.tcl: Improved error trapping.
+
+2007-08-23 07:23  michael
+
+	* gui/tcltk/gis.m/runandoutput.tcl: Improved error trapping and fix
+	  jittering dialog for v.what
+
+2007-08-23 07:22  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/maptool.tcl: Improved
+	  error trapping
+
+2007-08-23 07:00  hamish
+
+	* raster/r.surf.random/description.html: credits
+
+2007-08-23 06:45  hamish
+
+	* raster/r.surf.random/README, raster/r.surf.random/SOURCE.TXT,
+	  raster/r.surf.random/description.html,
+	  raster/r.surf.random/local_proto.h, raster/r.surf.random/main.c,
+	  raster/r.surf.random/randsurf.c: new -i flag to make CELL map
+	  output.
+	  cleanup code to modern grass standards.
+	  I'm 99% sure it doesn't use NR code, so clean up those references
+	  some.
+	  Remove redundant map name check (--overwrite wouldn't).
+	  #include <grass/gmath.h> for rand1().
+
+2007-08-23 03:48  hamish
+
+	* raster/r.random/description.html: html bugs
+
+2007-08-22 18:28  markus
+
+	* raster/r.li/r.li.daemon/daemon.c: msg fixes
+
+2007-08-22 18:21  markus
+
+	* display/d.nviz/main.c, vector/v.out.ascii/out.c: msg fix
+
+2007-08-22 16:01  carlos
+
+	* display/d.nviz/main.c, display/d.profile/ExtractProf.c,
+	  display/d.profile/What.c, display/d.rast.arrow/arrow.c,
+	  general/g.pnmcomp/main.c, imagery/i.class/main.c,
+	  raster/r.carve/main.c, raster/r.circle/dist.c,
+	  raster/r.composite/main.c, raster/r.grow2/main.c,
+	  raster/r.in.ascii/main.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.mapcalc/map3.c, raster/r.out.bin/main.c,
+	  raster/r.out.mat/main.c, raster/r.profile/main.c,
+	  raster/r.thin/io.c, vector/v.out.ascii/out.c,
+	  vector/v.out.svg/main.c, vector/v.out.vtk/main.c: Message
+	  standardization
+
+2007-08-22 15:59  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Updated and more messages translated
+
+2007-08-22 05:45  markus
+
+	* raster3d/r3.gwflow/main.c: typos fixed
+
+2007-08-22 05:43  markus
+
+	* raster/r.gwflow/main.c: typos fixed; i18N
+
+2007-08-21 18:01  soeren
+
+	* raster3d/r3.gwflow/main.c: Preparation for cauchy boundary
+	  conditions
+
+2007-08-21 18:00  soeren
+
+	* raster/r.gwflow/main.c: Added groundwater flow cauchy boundary
+	  conditions
+	  * river handling
+	  * drainage handling
+
+2007-08-21 17:54  soeren
+
+	* lib/gpde/N_gwflow.c, lib/gpde/N_gwflow.h, lib/gpde/N_pde.h,
+	  lib/gpde/N_solute_transport.c, lib/gpde/N_solute_transport.h,
+	  lib/gpde/N_upwind.c: Added groundwater flow cauchy boundary
+	  conditions
+	  * river handling
+	  * drainage handling
+
+2007-08-21 17:53  soeren
+
+	* lib/gpde/test/test_arrays.c, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_tools.c: Added raster io benchmark
+	  gwflow test update
+
+2007-08-21 14:55  paul
+
+	* general/g.mkfontcap/freetype_fonts.c: Fix compiler warning
+
+2007-08-20 15:19  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: More messages translated in grassmods
+	  and updated
+
+2007-08-20 15:12  carlos
+
+	* vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/v.hull/main.c,
+	  vector/v.net.path/main.c: Standardization
+
+2007-08-20 15:11  carlos
+
+	* raster/wildfire/r.spread/main.c: Typos
+
+2007-08-20 12:51  markus
+
+	* visualization/xganim/description.html: docs fixed
+
+2007-08-20 04:17  hamish
+
+	* vector/v.what/main.c: no need to keep backwards compatibility
+	  with the -s flag as it was never
+	  released. rename coord option variable name to be more
+	  meaningful.
+
+2007-08-20 03:46  hamish
+
+	* visualization/xganim/main.c: typo in message
+
+2007-08-20 03:42  hamish
+
+	* vector/v.transform/main.c: expand module description
+
+2007-08-20 03:19  hamish
+
+	* raster/r.series/main.c: only show message when in verbose mode
+
+2007-08-19 13:30  markus
+
+	* display/drivers/PNG/description.html: example tuned
+
+2007-08-19 08:59  markus
+
+	* debian/rules: --with-glw removed, see
+	  http://lists.alioth.debian.org/pipermail/pkg-grass-general/2007-August/002742.html
+
+2007-08-17 13:55  markus
+
+	* lib/gpde/gpdelib.dox: link to GRASS commands for implementation
+
+2007-08-16 11:28  markus
+
+	* display/d.mon/cmd/description.html: explain how to increase
+	  number of monitors
+
+2007-08-15 16:04  glynn
+
+	* display/d.nviz/main.c: Initialise D_?_to_?_{row,col} conversions
+	  when used non-interactively
+
+2007-08-15 07:58  markus
+
+	* display/d.vect/main.c: reduced default symbol size to not clutter
+	  up all maps
+
+2007-08-15 05:07  hamish
+
+	* raster3d/r3.showdspf/README: note that GLw is needed to build,
+	  and that you have to build it manually
+
+2007-08-15 02:48  hamish
+
+	* scripts/d.slide.show/d.slide.show: only be noisy if in verbose
+	  mode
+
+2007-08-14 23:16  paul
+
+	* general/g.mkfontcap/description.html: Spelling
+
+2007-08-14 23:10  paul
+
+	* general/g.mkfontcap/freetype_fonts.c: Don't use so much memory
+	  while running
+
+2007-08-14 21:00  paul
+
+	* lib/init/epsg_option.tcl, lib/init/file_option.tcl,
+	  lib/init/gis_set.tcl, lib/init/init.bat, lib/init/init.sh: Use
+	  prettier radio button-based dialog for datum transfrom parameter
+	  selection
+	  in epsg_option.tcl. Update epsg_option.tcl and file_option.tcl to
+	  remove all
+	  the fake location stuff and use the GISDBASE specified in the
+	  normal GISRC.
+	  Improve error reporting from g.proj when creating a new location.
+	  Fix return
+	  codes from gis_set.tcl. Make border around buttons in gis_set.tcl
+	  pop-up
+	  dialogs look the same as the border around buttons in the main
+	  screen. Various
+	  other small fixes to init stuff.
+
+2007-08-14 20:21  paul
+
+	* gui/tcltk/gis.m/grassabout.tcl: Remove weird stuff and run
+	  g.version directly
+
+2007-08-14 20:21  paul
+
+	* gui/tcltk/gis.m/gm.tcl: Remove redundant font path variable
+
+2007-08-14 20:19  paul
+
+	* include/gisdefs.h, lib/gis/list.c, lib/gis/ls.c,
+	  lib/gis/parser.c: Attempt at improved const-correctness in some
+	  recently added bits of mine.
+	  Don't print parser usage description if --quiet has been
+	  specified.
+
+2007-08-14 20:14  paul
+
+	* general/g.mkfontcap/description.html, general/g.mkfontcap/main.c:
+	  Sort fonts by short name as per Markus' request. Allow
+	  environment
+	  variables (expanded at runtime) in extradirs= parameter (probably
+	  not
+	  particularly useful...).
+
+2007-08-14 20:10  paul
+
+	* general/g.proj/datumtrans.c: Tidy set_datumtrans() and make
+	  return value potentially useful.
+
+2007-08-12 18:04  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/gmtool2.tcl: Removed
+	  nviz and d.nviz buttons from layer manager and added menu
+	  entries for nviz and d.nviz.
+
+2007-08-11 10:14  markus
+
+	* raster/r.out.gdal/main.c: don't crash if output is missing in
+	  non-list mode
+
+2007-08-11 10:13  markus
+
+	* raster/r.out.ascii/main.c: EXIT status
+
+2007-08-10 14:52  carlos
+
+	* locale/po/grassmods_es.po: More messages translated
+
+2007-08-10 14:49  carlos
+
+	* vector/v.lrs/v.lrs.where/main.c: Typos
+
+2007-08-10 14:42  carlos
+
+	* raster/r.in.arc/main.c, raster/r.in.mat/main.c: Standardization
+
+2007-08-10 14:35  carlos
+
+	* vector/v.lrs/v.lrs.label/main.c: Typos
+
+2007-08-10 14:31  carlos
+
+	* display/d.paint.labels/main.c, raster/r.contour/main.c,
+	  vector/v.db.select/main.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.mkgrid/main.c,
+	  vector/v.out.ogr/main.c, vector/v.out.svg/main.c,
+	  vector/v.sample/main.c, vector/v.segment/main.c: Standardization
+
+2007-08-10 14:30  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: New translations in grassmods and
+	  updated
+
+2007-08-10 05:38  markus
+
+	* rpm/fedora/gdal-ogr-grass-plugin.spec, rpm/fedora/grass_FC7.spec:
+	  new spec files from Brad
+
+2007-08-09 18:45  carlos
+
+	* translators.csv: New translator added and file alphabetically
+	  ordered by language and
+	  translator name
+
+2007-08-09 18:43  carlos
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pt.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_ar.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_el.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_ko.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_pt.po,
+	  locale/po/grasstcl_pt_br.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_sl.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: Files updated
+	  as announced
+
+2007-08-09 18:38  carlos
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasstcl_pl.po: Monika Tylus translation and files
+	  updated
+
+2007-08-09 18:35  carlos
+
+	* locale/po/grasstcl_fr.po: Vincent Bain translation and file
+	  updated
+
+2007-08-09 17:35  brad
+
+	* lib/gis/done_msg.c, lib/gis/error.c: - Updated documentation for
+	  messaging routines to explicitly explain NULL cannot be passed to
+	  those functions.
+
+2007-08-08 19:11  william
+
+	* raster/r.proj.seg/main.c, vector/v.build/main.c,
+	  vector/v.edit/main.c, vector/v.in.ascii/in.c,
+	  vector/v.patch/main.c, vector/v.surf.idw/main.c: do not use NULL
+	  in message functions
+
+2007-08-08 18:48  paul
+
+	* vector/v.external/main.c: Closing bracket in wrong place
+
+2007-08-08 18:39  paul
+
+	* visualization/nviz/scripts/nviz2.2_script: Replace use of "exec
+	  cat" by Tcl functions open/gets/close for Windows compatiblity
+
+2007-08-08 18:38  paul
+
+	* visualization/nviz/scripts/nviz.bat: Remove extra line-ending
+	  character and don't echo command to screen (to
+	  look tidier)
+
+2007-08-08 18:37  paul
+
+	* lib/gis/parser.c: Fix for Windows: get rid of .exe suffix in man
+	  page titles and auto-
+	  generated dialogs etc.
+
+2007-08-08 17:36  brad
+
+	* raster/r.proj/main.c: - Fixed G_done_msg() usage.
+
+2007-08-08 16:19  carlos
+
+	* db/base/columns.c, db/base/createdb.c, db/base/databases.c,
+	  db/base/describe.c, db/base/dropdb.c, db/base/droptable.c,
+	  db/base/execute.c, db/base/select.c, db/base/tables.c:
+	  Standardization
+
+2007-08-08 16:04  carlos
+
+	* vector/v.extrude/main.c: Standardization
+
+2007-08-08 15:49  carlos
+
+	* display/d.vect/main.c, vector/v.db.connect/main.c,
+	  vector/v.edit/select.c, vector/v.external/main.c,
+	  vector/v.extract/main.c, vector/v.extrude/main.c,
+	  vector/v.out.ogr/main.c, vector/v.out.svg/main.c: Standardization
+
+2007-08-08 15:48  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Updated and more messages translated
+
+2007-08-07 22:56  william
+
+	* macosx/app/Makefile, macosx/app/grass.sh.in: make sure PROJ/bin
+	  is in PATH
+
+2007-08-07 20:56  william
+
+	* macosx/app/grass.sh.in: reactivate Terminal for anything but
+	  TclTk GUI startup
+
+2007-08-07 19:00  glynn
+
+	* visualization/nviz/Makefile, visualization/nviz/scripts/nviz.bat:
+	  Native Windows fix
+
+2007-08-07 14:22  william
+
+	* lib/init/init.sh: expand gui start message to include wx
+
+2007-08-07 07:25  glynn
+
+	* lib/gis/parser.c: Allow wxWidgets dialogs
+
+2007-08-06 19:13  carlos
+
+	* raster/r.li/r.li.daemon/list.c: Standardization
+
+2007-08-06 16:01  glynn
+
+	* raster/r.neighbors/readweights.c: Add missing file readweights.c
+
+2007-08-06 15:28  markus
+
+	* raster/r.neighbors/main.c: removed duplicated header
+
+2007-08-06 15:21  carlos
+
+	* db/base/databases.c, db/base/dropdb.c,
+	  doc/raster/r.example/main.c, general/g.setproj/main.c,
+	  imagery/i.ask/popup.c, imagery/i.fft/fftmain.c,
+	  raster/r.to.rast3/main.c, raster3d/r3.to.rast/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.surf.bspline/main.c, vector/v.db.connect/main.c,
+	  vector/v.edit/main.c, vector/v.extract/main.c,
+	  vector/v.mapcalc/list.c: Standardization
+
+2007-08-05 17:46  michael
+
+	* gui/icons/module-d.geodesic.gif,
+	  gui/icons/module-d.rhumbline.gif,
+	  gui/icons/module-d.shadedmap.gif: New icons, developed for
+	  wxPython GUI, but also usable in TclTk GUI
+
+2007-08-05 17:44  michael
+
+	* gui/icons/module-d.grid.gif: Updated d.grid icon
+
+2007-08-05 15:20  glynn
+
+	* raster/r.neighbors/gather.c, raster/r.neighbors/local_proto.h,
+	  raster/r.neighbors/main.c, raster/r.neighbors/ncb.h: Add weight=
+	  option
+
+2007-08-05 11:36  markus
+
+	* lib/sites/sites.c: don't crash
+
+2007-08-05 10:37  markus
+
+	* imagery/i.class/graphics.c, imagery/i.class/histograms.c,
+	  imagery/i.class/input.c, imagery/i.class/title.c,
+	  imagery/i.class/view.c: closer to current color scheme
+
+2007-08-04 14:43  glynn
+
+	* raster/Makefile: Add r.mfilter.fp
+
+2007-08-03 16:39  carlos
+
+	* translators.csv: New French translator added
+
+2007-08-03 16:36  carlos
+
+	* locale/po/grasstcl_fr.po: Vincent Bain translation and updated
+	  with new pot
+
+2007-08-03 16:14  markus
+
+	* display/d.histogram/main.c, display/d.rast/display.c: typos fixed
+
+2007-08-03 15:54  carlos
+
+	* display/d.his/main.c, display/d.histogram/main.c,
+	  display/d.legend/main.c, display/d.rast.edit/cell.c,
+	  display/d.rast.num/number.c, display/d.rast/display.c,
+	  display/d.rgb/main.c, locale/po/grasslibs_es.po,
+	  locale/po/grassmods_es.po, locale/po/grasstcl_es.po,
+	  raster/r.his/main.c, raster/r.in.mat/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  visualization/xganim/main.c: Standardization
+
+2007-08-03 12:40  markus
+
+	* vector/v.net/description.html: expanded
+
+2007-08-03 12:33  markus
+
+	* vector/v.net.iso/description.html, vector/v.net.iso/vnetiso.png:
+	  screenshot added
+
+2007-08-03 12:28  markus
+
+	* vector/v.net.path/description.html,
+	  vector/v.net.path/vnetpath.png: screenshot added
+
+2007-08-03 12:21  markus
+
+	* vector/v.net.salesman/description.html,
+	  vector/v.net.salesman/vnetsalesman.png: working example
+
+2007-08-03 12:18  markus
+
+	* vector/v.net.salesman/description.html: salesman example added
+	  (but result look like a steiner tree, why?
+
+2007-08-03 12:15  markus
+
+	* vector/v.net.path/description.html: say that it is Spearfish
+
+2007-08-03 12:06  markus
+
+	* vector/v.net.steiner/description.html,
+	  vector/v.net.steiner/vnetsteiner.png: Steiner tree example
+
+2007-08-03 10:16  glynn
+
+	* raster/r.mfilter.fp, raster/r.mfilter.fp/Makefile,
+	  raster/r.mfilter.fp/apply.c,
+	  raster/r.mfilter.fp/description.html,
+	  raster/r.mfilter.fp/execute.c, raster/r.mfilter.fp/filter,
+	  raster/r.mfilter.fp/filter.ave, raster/r.mfilter.fp/filter.h,
+	  raster/r.mfilter.fp/getfilt.c, raster/r.mfilter.fp/getrow.c,
+	  raster/r.mfilter.fp/glob.h, raster/r.mfilter.fp/local_proto.h,
+	  raster/r.mfilter.fp/main.c, raster/r.mfilter.fp/perform.c,
+	  raster/r.mfilter.fp/uppercase.c: Add FP version of r.mfilter
+
+2007-08-02 15:48  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Updated and new translations
+
+2007-07-31 08:28  glynn
+
+	* raster/r.neighbors/gather.c, raster/r.neighbors/local_proto.h,
+	  raster/r.neighbors/main.c, raster/r.neighbors/ncb.h: Add -c
+	  (circular neighbourhood) flag
+
+2007-07-30 21:14  michael
+
+	* gui/tcltk/gis.m/georect.tcl: i.rectify output in georectifier now
+	  goes to gronsole for better
+	  user feedback.
+
+2007-07-30 20:51  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Printed output from i.rectify echoed
+	  to termina.
+
+2007-07-30 16:06  michael
+
+	* gui/tcltk/gis.m/gridline.tcl: Update grid panel to include new
+	  options. Improve display font setting.
+
+2007-07-30 15:58  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/rastnums.tcl:
+	  Improvements to font selection for display. Default for each
+	  layer
+	  is the default grass font if nothing selected. The default grass
+	  font is Romans if nothing selected.
+
+2007-07-30 07:33  markus
+
+	* general/g.proj/description.html: workaround for #434
+
+2007-07-27 14:28  paul
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl: Workaround for Tcl bug: info exists
+	  env on Windows.
+	  Make title for font select window clearer.
+
+2007-07-27 14:01  brad
+
+	* scripts/r.shaded.relief/r.shaded.relief: - allow input from other
+	  mapsets
+
+2007-07-26 21:55  glynn
+
+	* lib/ogsf/gsd_img_mpeg.c, lib/ogsf/gsd_img_ppm.c: Move FFMPEG code
+	  to separate file
+	  Update to handle recent FFMPEG versions
+
+2007-07-26 21:54  glynn
+
+	* display/d.font/main.c: Fail if driver cannot be opened
+
+2007-07-26 21:38  glynn
+
+	* raster/r.out.bin/main.c: Enlarge filename buffers
+
+2007-07-26 21:33  markus
+
+	* display/d.font/main.c: don't open with R__open_quiet()
+
+2007-07-26 21:19  markus
+
+	* raster/r.out.bin/main.c: fixed too short buffer which would
+	  sometimes crash R-GRASS interface
+
+2007-07-26 19:07  markus
+
+	* gui/tcltk/gis.m/description.html: georectifier docs extended
+
+2007-07-26 15:11  paul
+
+	* Makefile, binaryInstall.src: * Correct path to stroke files in
+	  fontcap during a local install (even
+	  though the paths in the file aren't currently used!)
+	  * Generate binary versions of datum gridshift files during binary
+	  install
+	  * Generate fontcap file for local system during binary install
+
+2007-07-26 14:09  paul
+
+	* lib/gis/paths.c: Be more precise identifying absolute paths on
+	  Windows
+
+2007-07-26 14:07  paul
+
+	* lib/gis/ls.c: Use integer arithmetic and avoid use of math
+	  library - can remove
+	  math.h header again.
+
+2007-07-26 14:01  paul
+
+	* general/g.mkfontcap/Makefile, general/g.mkfontcap/main.c,
+	  general/g.mkfontcap/stroke_fonts.c: * Add capability to read new
+	  fonts.table descriptions for stroke fonts
+	  * Remove capability to write old-style freetypecap file
+	  * Only run parser if command-line options are specified
+	  * Don't overwrite existing fontcap files during compilation
+
+2007-07-26 13:56  paul
+
+	* lib/fonts/fonts/Makefile, lib/fonts/fonts/fonts.table: Include
+	  table to identify each font with a descriptive name (names taken
+	  from the d.font man page)
+
+2007-07-26 12:12  markus
+
+	* gui/tcltk/gis.m/description.html: georectifier cosmetics
+
+2007-07-26 02:34  hamish
+
+	* vector/v.in.ascii/description.html: columns= is optional for attr
+	  data, it scans for type by default.
+
+2007-07-26 02:30  hamish
+
+	* vector/v.in.ascii/description.html: improve example (centroid
+	  gets cat not boundary), more std fmt help
+
+2007-07-25 19:28  glynn
+
+	* display/d.font/main.c, include/graphics.h, include/raster.h,
+	  lib/driver/Font.c, lib/driver/command.c, lib/driver/driver.h,
+	  lib/raster/com_io.c, lib/raster/com_proto.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h: Add R_font_info()
+
+2007-07-25 14:47  markus
+
+	* vector/v.net/description.html: new Example
+
+2007-07-25 14:28  markus
+
+	* vector/v.net.iso/description.html: example greatly simplified
+	  thanks to Martin's v.net connect tool
+
+2007-07-25 14:03  markus
+
+	* vector/v.net.path/description.html: example greatly simplified
+	  thanks to Martin's v.net connect tool
+
+2007-07-24 19:33  markus
+
+	* vector/v.net/main.c: also talk about layer number
+
+2007-07-24 14:41  markus
+
+	* imagery/i.his.rgb/openfiles.c: open maps correctly if in
+	  different mapsets
+
+2007-07-24 13:56  markus
+
+	* raster/r.texture/main.c: don't require predefined params
+
+2007-07-24 12:52  martinl
+
+	* vector/v.net/main.c: Open/create maps in the right order.
+
+2007-07-24 12:12  martinl
+
+	* vector/v.net/connect.c: Missing file added.
+
+2007-07-24 12:10  martinl
+
+	* vector/v.net/main.c, vector/v.net/nodes.c, vector/v.net/proto.h,
+	  vector/v.net/report.c: New operation 'connect' added. Manual page
+	  need update.
+
+2007-07-24 11:55  markus
+
+	* lib/vector/Vlib/build.c: doxygen formatting
+
+2007-07-24 09:42  markus
+
+	* scripts/Makefile: v.in.wfs added
+
+2007-07-24 09:41  markus
+
+	* scripts/v.in.wfs, scripts/v.in.wfs/Makefile,
+	  scripts/v.in.wfs/description.html, scripts/v.in.wfs/v.in.wfs:
+	  added
+
+2007-07-24 08:39  martinl
+
+	* lib/gis/find_vect.c: const const typo
+
+2007-07-24 07:24  markus
+
+	* include/gisdefs.h, lib/gis/color_compat.c, lib/gis/color_rules.c,
+	  lib/gis/colors/bgyr: bgyr color table added for thermal imagery
+
+2007-07-23 15:47  martinl
+
+	* raster/r.series/main.c: Message standardization
+
+2007-07-23 13:48  martinl
+
+	* vector/v.net/nodes.c, vector/v.net/report.c: Minor messages
+	  cleaning
+
+2007-07-23 12:06  markus
+
+	* doc/howto_release.txt: + http://www.blinkgeo.com
+
+2007-07-23 09:59  martinl
+
+	* vector/v.surf.idw/main.c, vector/v.surf.idw/read_sites.c:
+	  Cleaning selected messages and module description
+
+2007-07-23 09:46  markus
+
+	* lib/proj/Makefile: use wildcard
+
+2007-07-23 09:42  markus
+
+	* lib/proj/ellipsoid.csv, lib/proj/gcs.csv,
+	  lib/proj/gcs.override.csv, lib/proj/gdal_datum.csv,
+	  lib/proj/pcs.csv, lib/proj/pcs.override.csv,
+	  lib/proj/projop_wparm.csv, lib/proj/unit_of_measure.csv: updated
+	  to EPSG 6.13 (CSV taken from GDAL-SVN-HEAD)
+
+2007-07-23 09:15  martinl
+
+	* vector/v.edit/max_distance.c: Minor bugfix calculating minimum
+	  distance
+
+2007-07-23 08:43  markus
+
+	* vector/v.edit/description.html: merge tool docs tuning
+
+2007-07-23 08:10  martinl
+
+	* raster/r.neighbors/main.c: Use standard option
+	  Default values for 'method' and 'size'
+
+2007-07-23 07:57  markus
+
+	* vector/v.in.ascii/description.html: explain Attribute table
+	  behaviour
+
+2007-07-22 23:53  markus
+
+	* vector/v.net.iso/description.html: example less messy
+
+2007-07-22 07:22  markus
+
+	* lib/display/displaylib.dox: docs started
+
+2007-07-20 23:02  markus
+
+	* gui/tcltk/gis.m/description.html: Georectifier notes added
+	  (mostly from Michael's mail)
+
+2007-07-20 22:46  carlos
+
+	* locale/po/grassmods_es.po: Corrected error in po file
+
+2007-07-20 22:33  carlos
+
+	* doc/raster/r.example/main.c, general/manage/cmd/copy.c,
+	  general/manage/cmd/rename.c, imagery/i.ifft/ifftmain.c,
+	  raster/r.clump/main.c, raster/r.cost/main.c, raster/r.los/main.c,
+	  raster/r.median/main.c, raster/r.mode/main.c,
+	  raster/r.neighbors/main.c, raster/r.random/main.c,
+	  raster/r.recode/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.slope.aspect/opennew.c,
+	  raster/r.surf.fractal/interface.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.walk/main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.to.rast/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  vector/v.kernel/main.c, vector/v.surf.idw/main.c,
+	  vector/v.to.rast3/main.c: Standardization (G_legal_filename())
+	  and others
+
+2007-07-20 22:23  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: New translations and message update
+
+2007-07-20 18:28  carlos
+
+	* raster/r.watershed/shed/com_line.c, vector/v.in.ogr/main.c:
+	  Standardization
+
+2007-07-20 16:53  carlos
+
+	* vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.surf.bspline/main.c: Standardization
+
+2007-07-20 13:19  martinl
+
+	* vector/v.patch/main.c: New parameter -- 'bbox' -- vector map
+	  where bounding boxes of input vector maps are written to
+
+2007-07-20 13:04  martinl
+
+	* vector/v.edit/a2b.c, vector/v.edit/args.c,
+	  vector/v.edit/description.html, vector/v.edit/main.c,
+	  vector/v.edit/proto.h, vector/v.edit/snap.c: Use for snapping
+	  library function
+
+2007-07-20 07:42  markus
+
+	* raster/Makefile, raster/r.proj.seg/Makefile,
+	  raster/r.proj/DEPRECATED, raster/r.proj/Makefile: old r.proj
+	  deprecated; r.proj.seg renamed to r.proj
+
+2007-07-20 07:41  markus
+
+	* raster/r.proj.seg/description.html: sync'ed in updates from
+	  r.proj
+
+2007-07-20 07:32  markus
+
+	* raster/r.proj.seg/bilinear.c, raster/r.proj.seg/cubic.c: removed
+	  references since they aren't used here
+
+2007-07-19 20:49  markus
+
+	* raster/r.proj.seg/bilinear.c, raster/r.proj.seg/bordwalk.c,
+	  raster/r.proj.seg/main.c, raster/r.proj.seg/nearest.c: sync'ed in
+	  updates from r.proj
+
+2007-07-19 15:35  martinl
+
+	* vector/v.patch/main.c: Message standardization
+	  Do not print build info in 'quiet' mode
+
+2007-07-19 13:37  martinl
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/function.c, raster/r.mapcalc/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/map3.c: Message
+	  standardization
+	  i18n
+
+2007-07-19 12:14  martinl
+
+	* vector/v.in.ogr/main.c: Use G_check_overwrite()
+	  Do not print in `quiet` mode any build information
+
+2007-07-19 11:55  martinl
+
+	* raster/r.proj/main.c: Use G_check_overwrite()
+	  Parameter 'input' is not required because of '-l' flag (List
+	  raster maps in input location and exit)
+
+2007-07-19 11:40  martinl
+
+	* raster/r.proj.seg/main.c: Bugfix: Code I #315
+	  Parameter 'input' is not required because of '-l' flag (List
+	  raster maps in input location and exit)
+
+2007-07-19 11:15  martinl
+
+	* include/gisdefs.h, lib/gis/overwrite.c: G_check_overwrite()
+	  introduced
+
+2007-07-19 09:39  martinl
+
+	* raster/r.proj/main.c: Bugfix: Code I #315
+
+2007-07-19 01:14  hamish
+
+	* raster/r.describe/describe.c, raster/r.describe/description.html,
+	  raster/r.describe/dumplist.c, raster/r.describe/local_proto.h,
+	  raster/r.describe/main.c: add -n flag to supress NULLs
+
+2007-07-18 18:08  carlos
+
+	* raster/r.texture/main.c, raster/r.to.vect/main.c,
+	  raster/r.topidx/main.c, raster/r.water.outlet/main.c:
+	  Standardization
+
+2007-07-18 14:10  markus
+
+	* db/databaseintro.html, db/drivers/dbf/grass-dbf.html,
+	  db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html,
+	  db/drivers/odbc/grass-odbc.html,
+	  db/drivers/postgres/grass-pg.html,
+	  db/drivers/sqlite/grass-sqlite.html: docs improvements
+
+2007-07-18 14:02  markus
+
+	* db/Makefile: split target for parallel build
+
+2007-07-18 10:13  martinl
+
+	* lib/vector/Vlib/snap.c, vector/v.clean/main.c,
+	  vector/v.clean/proto.h, vector/v.clean/prune.c,
+	  vector/v.clean/rmdac.c: Bugfix RT #4225
+
+2007-07-17 15:22  markus
+
+	* raster/r.in.gdal/description.html: HDF example
+
+2007-07-17 13:18  martinl
+
+	* raster/r.out.ppm/main.c: Cosmetics: Clarify 'done' message
+
+2007-07-17 13:07  martinl
+
+	* raster/r.out.ppm/main.c: Fix messages and module description
+
+2007-07-17 09:53  markus
+
+	* raster3d/r3.out.vtk/parameters.c: msg standardization
+
+2007-07-17 09:36  markus
+
+	* raster/r.to.rast3/description.html, raster/r.to.rast3/main.c: msg
+	  standardization; docs cosmetics
+
+2007-07-16 19:30  carlos
+
+	* raster/r.bilinear/main.c, raster/r.bitpattern/main.c,
+	  raster/r.info/main.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.resample/main.c,
+	  raster/r.sum/main.c, raster/r.support/modcolr/modcolr.c,
+	  raster/r.surf.area/main.c, raster/r.texture/main.c,
+	  raster3d/base/r3.info.main.c: Standardization
+
+2007-07-16 19:28  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Translation updated
+
+2007-07-16 16:59  markus
+
+	* doc/howto_release.txt: new tag scheme; press release contacts
+	  updated
+
+2007-07-16 16:23  martinl
+
+	* raster/r.proj.seg/bordwalk.c, raster/r.proj.seg/main.c,
+	  raster/r.proj.seg/readcell.c: Synchronize messages with r.proj
+
+2007-07-16 16:04  carlos
+
+	* raster/r.proj.seg/main.c, raster/r.proj/main.c: Standardization
+
+2007-07-16 12:42  martinl
+
+	* vector/v.to.db/main.c, vector/v.to.db/query.c,
+	  vector/v.to.db/report.c: Do not print header in report ('-p')
+	  when GRASS_VERBOSE=0, useful for sorting..., etc.
+
+2007-07-16 12:17  martinl
+
+	* vector/v.build/main.c: Write to 'error' vector map also
+	  boundaries of areas without centroid
+
+2007-07-16 09:48  markus
+
+	* vector/v.in.db/description.html: mention v.to.db
+
+2007-07-16 09:19  markus
+
+	* general/g.parser/description.html: Glynn's explanations on
+	  GRASS_OVERWRITE added
+
+2007-07-16 08:41  martinl
+
+	* vector/v.build/description.html, vector/v.build/main.c: Message
+	  standardization
+
+2007-07-16 08:01  martinl
+
+	* vector/v.support/main.c: Message standardization
+
+2007-07-16 07:44  glynn
+
+	* include/stats.h, lib/stats/c_range.c,
+	  raster/r.series/description.html, raster/r.series/main.c: Add
+	  range aggregate (max - min)
+
+2007-07-15 15:43  markus
+
+	* scripts/r.in.aster/r.in.aster: gently fail in unprojected
+	  location
+
+2007-07-15 15:14  markus
+
+	* raster/r.median/main.c: bugfix for NULL data (as done in r.mode)
+
+2007-07-15 14:07  markus
+
+	* raster/r.median/description.html, raster/r.mode/description.html:
+	  examples added
+
+2007-07-15 13:07  markus
+
+	* raster/r.digit/create_map.c, raster/r.report/stats.c,
+	  raster/r.transect/main.c: changed single to double quotes for
+	  MS-Windows (code I #446)
+
+2007-07-15 12:42  markus
+
+	* raster/r.rescale.eq/main.c, raster/r.rescale/main.c: changed
+	  single to double quotes for MS-Windows (code I #446)
+
+2007-07-15 12:36  markus
+
+	* raster/r.median/main.c, raster/r.mode/main.c,
+	  raster/r.statistics/o_adev.c, raster/r.statistics/o_average.c,
+	  raster/r.statistics/o_distrib.c, raster/r.statistics/o_divr.c,
+	  raster/r.statistics/o_kurt.c, raster/r.statistics/o_max.c,
+	  raster/r.statistics/o_median.c, raster/r.statistics/o_min.c,
+	  raster/r.statistics/o_mode.c, raster/r.statistics/o_sdev.c,
+	  raster/r.statistics/o_skew.c, raster/r.statistics/o_sum.c,
+	  raster/r.statistics/o_var.c: changed single to double quotes for
+	  MS-Windows (code I #446)
+
+2007-07-15 11:14  carlos
+
+	* lib/proj/convert.c: Standardization
+
+2007-07-15 08:26  markus
+
+	* raster/r.bilinear/DEPRECATED, raster/r.bilinear/main.c: No longer
+	  maintained and scheduled for demolition
+
+2007-07-14 17:16  william
+
+	* macosx/ReadMe.rtf: miscellaneous updates and clarifications
+
+2007-07-14 16:22  william
+
+	* macosx/pkg/resources/ReadMe.rtf: added notes for starting
+	  GRASS.app (including new drag-n-drop) and clarified a few other
+	  bits
+
+2007-07-14 15:22  markus
+
+	* scripts/db.in.ogr/db.in.ogr: GRASS_OVERWRITE flag support added
+
+2007-07-14 13:06  markus
+
+	* scripts/v.db.join/v.db.join: write cmd history
+
+2007-07-14 13:00  markus
+
+	* scripts/v.db.join/v.db.join: type declaration bug fixed
+
+2007-07-14 12:51  markus
+
+	* scripts/v.db.join/v.db.join,
+	  scripts/v.db.renamecol/v.db.renamecol: error tests
+
+2007-07-14 12:24  markus
+
+	* scripts/Makefile, scripts/v.db.join/description.html: + db.in.ogr
+
+2007-07-14 12:24  markus
+
+	* scripts/db.in.ogr, scripts/db.in.ogr/Makefile,
+	  scripts/db.in.ogr/db.in.ogr, scripts/db.in.ogr/description.html:
+	  new easy way to import tables
+
+2007-07-14 10:59  markus
+
+	* scripts/db.dropcol/db.dropcol,
+	  scripts/db.dropcol/description.html: force flag added to avoid
+	  accidential remove; Spearfish example
+
+2007-07-13 21:57  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: New translations (grassmods) and
+	  updated
+
+2007-07-13 16:03  william
+
+	* macosx/app/English.lproj/MainMenu.nib/info.nib,
+	  macosx/app/English.lproj/MainMenu.nib/keyedobjects.nib,
+	  macosx/app/GRASS.applescript, macosx/app/Info.plist.in: it's now
+	  possible to drag-n-drop a mapset folder onto GRASS.app to start
+	  GRASS in that mapset
+
+2007-07-13 16:00  markus
+
+	* lib/vector/Vlib/level_two.c: attempt at clarifying the function
+
+2007-07-13 15:17  martinl
+
+	* vector/v.clean/description.html, vector/v.clean/main.c,
+	  vector/v.clean/proto.h, vector/v.clean/rmline.c: New tool for
+	  removing lines or boundaries of zero length
+
+2007-07-13 14:18  martinl
+
+	* raster/r.texture/description.html, raster/r.texture/h_measure.c,
+	  raster/r.texture/main.c: Message cleaning
+	  Synchronize code indention
+
+2007-07-13 13:08  martinl
+
+	* raster/r.proj/bilinear.c, raster/r.proj/bordwalk.c,
+	  raster/r.proj/cubic.c, raster/r.proj/main.c,
+	  raster/r.proj/nearest.c, raster/r.proj/readcell.c: Message/Debug
+	  cleaning
+
+2007-07-13 13:07  martinl
+
+	* lib/proj/get_proj.c: Message: i18n
+
+2007-07-13 00:34  william
+
+	* macosx/app/Makefile: removed bogus flag from osacompile command
+
+2007-07-12 23:52  william
+
+	* macosx/app/GRASS.applescript: changed method of running script in
+	  Terminal, seems to fix PPC/grass-xterm-wrapper problem, allows
+	  passing params to shell script
+
+2007-07-12 17:40  carlos
+
+	* raster/r.recode/main.c, raster/r.recode/read_rules.c:
+	  Standardization and cosmetics
+
+2007-07-12 17:27  carlos
+
+	* raster/r.to.vect/areas.c, raster/r.to.vect/lines.c,
+	  raster/r.to.vect/main.c, raster/r.to.vect/points.c:
+	  Standardization
+
+2007-07-12 13:10  martinl
+
+	* lib/proj/convert.c: Missing header
+
+2007-07-12 11:14  glynn
+
+	* lib/init/init.sh: Leave umask alone
+
+2007-07-12 11:12  glynn
+
+	* general/g.tempfile/main.c, lib/gis/gisinit.c, lib/init/lock.c,
+	  lib/init/set_data.c: Leave umask() alone
+
+2007-07-12 08:49  carlos
+
+	* lib/proj/convert.c: Warning messages added to po
+
+2007-07-12 07:47  martinl
+
+	* vector/v.extract/extract.c: Fixing the bug which was introduced
+	  during the last commit (thanks to Allan Hollander for pointing
+	  out)
+
+2007-07-11 22:22  carlos
+
+	* vector/v.label/main.c: Standardization
+
+2007-07-11 22:21  carlos
+
+	* display/d.extend/main.c, display/d.vect.chart/main.c,
+	  display/d.vect/main.c, display/d.what.vect/main.c:
+	  Standardization and d.extend messages added to po
+
+2007-07-11 12:34  carlos
+
+	* raster/r.proj/main.c: Typos
+
+2007-07-11 12:24  carlos
+
+	* vector/v.surf.rst/main.c: Standardization
+
+2007-07-11 12:16  carlos
+
+	* raster/r.los/main.c, raster/r.resamp.rst/main.c,
+	  raster/r.texture/main.c, raster/r.univar2/r.univar_main.c,
+	  raster/simwe/simlib/input.c, vector/v.surf.rst/main.c:
+	  Standardization
+
+2007-07-11 11:52  carlos
+
+	* display/d.rast.arrow/arrow.c, display/d.rast.num/number.c:
+	  Standardization
+
+2007-07-11 11:44  carlos
+
+	* display/d.histogram/main.c, display/d.profile/main.c,
+	  display/d.rast/main.c, display/d.what.rast/main.c,
+	  display/d.zoom/main.c: Standardization
+
+2007-07-11 10:31  martinl
+
+	* raster/r.mfilter/apply.c, raster/r.mfilter/execute.c,
+	  raster/r.mfilter/getfilt.c, raster/r.mfilter/getrow.c,
+	  raster/r.mfilter/main.c, raster/r.mfilter/perform.c:
+	  Message/Debug cleaning
+
+2007-07-11 09:45  carlos
+
+	* raster/r.mfilter/main.c, raster/r.out.bin/main.c: Standardization
+	  and cosmetics
+
+2007-07-11 09:16  carlos
+
+	* imagery/i.fft/fftmain.c, imagery/i.ifft/ifftmain.c:
+	  Standardization and typos
+
+2007-07-11 07:04  hamish
+
+	* raster/r.in.xyz/description.html: stdin must run as a single pass
+
+2007-07-11 06:57  hamish
+
+	* raster/r.in.xyz/description.html, raster/r.in.xyz/main.c: code:
+	  allow reading data from stdin,
+	  use new std parser opts.
+	  help page:
+	  nice r.colors -ne tip added,
+	  removed finished TODOs.
+
+2007-07-10 14:50  markus
+
+	* db/drivers/postgres/README: PostgreSQL Data Types URL
+
+2007-07-10 14:17  william
+
+	* scripts/g.manual/g.manual: use correct name for OSX help browser
+
+2007-07-10 08:48  hamish
+
+	* lib/init/init.sh: exit val of 1 on error
+
+2007-07-10 08:46  hamish
+
+	* lib/init/init.sh: check that g.gisenv worked instead of failing
+	  with a cryptic lock error.
+
+2007-07-10 08:30  carlos
+
+	* raster/r.quant/main.c, raster/r.recode/main.c: Standardization
+
+2007-07-09 19:00  carlos
+
+	* raster/r.out.bin/main.c, raster/r.out.gdal/main.c,
+	  raster/r.proj.seg/main.c, raster/r.proj/main.c,
+	  scripts/r.out.gdal/r.out.gdal.sh: Standardization
+
+2007-07-09 18:58  carlos
+
+	* locale/po/grassmods_es.po: More translations
+
+2007-07-09 16:53  carlos
+
+	* raster/r.average/main.c, raster/r.statistics/o_average.c,
+	  raster/r.statistics/o_distrib.c, raster/r.statistics/o_sum.c:
+	  Reverter wrong standardization
+
+2007-07-09 15:15  martinl
+
+	* vector/v.edit/args.c: Cosmetics:
+	  * Clarify description of '-s/v/c' flags
+
+2007-07-09 15:15  markus
+
+	* vector/v.drape/description.html: explain read request for row -1
+	  is outside region problem
+
+2007-07-09 15:06  markus
+
+	* lib/gis/get_row.c: i18n
+
+2007-07-09 15:05  martinl
+
+	* vector/v.edit/a2b.c, vector/v.edit/args.c, vector/v.edit/break.c,
+	  vector/v.edit/cats.c, vector/v.edit/copy.c, vector/v.edit/del.c,
+	  vector/v.edit/description.html, vector/v.edit/flip.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/max_distance.c, vector/v.edit/merge.c,
+	  vector/v.edit/move.c, vector/v.edit/proto.h,
+	  vector/v.edit/select.c, vector/v.edit/snap.c,
+	  vector/v.edit/vertex.c: New flags '-s/v' (snapping added
+	  features)
+	  Flag '-c' changed from "Do not close boundaries' to 'Close
+	  boundaries'
+	  Module description cleaned
+	  Use '%d' instead of '[%d]' in messages
+
+2007-07-09 15:03  markus
+
+	* vector/v.in.db/description.html,
+	  vector/v.in.ogr/description.html: cross-link
+
+2007-07-09 14:05  markus
+
+	* scripts/v.in.gns/description.html, scripts/v.in.gns/v.in.gns:
+	  Artur Wroblewski: updated to current GNS format + links fix (code
+	  P #441, #442)
+
+2007-07-09 12:26  markus
+
+	* display/Makefile, general/Makefile, gui/Makefile,
+	  imagery/Makefile, man/Makefile, misc/Makefile, ps/Makefile,
+	  raster/Makefile, raster3d/Makefile, scripts/Makefile,
+	  sites/Makefile, vector/Makefile, visualization/Makefile: attempt
+	  at parallel build with make
+
+2007-07-09 11:53  markus
+
+	* lib/Makefile: first attempt at supporting parallel make (make
+	  -j4) (code I #359)
+
+2007-07-09 09:03  markus
+
+	* scripts/v.db.addtable/v.db.addtable: bugfix for error catching if
+	  unknown type is defined (reported by Jaroslaw Jasiewicz)
+
+2007-07-08 10:23  markus
+
+	* vector/v.edit/description.html: cosmetics
+
+2007-07-08 07:43  hamish
+
+	* vector/v.to.rast/vect2rast.c: don't bracket software generated
+	  variables, they aren't parenthetical.
+
+2007-07-07 13:50  carlos
+
+	* vector/v.out.ogr/main.c, vector/v.sample/main.c,
+	  vector/v.what.rast/main.c: Typos and standardization
+
+2007-07-06 23:39  brad
+
+	* scripts/r.in.aster/r.in.aster: - Fixed error displaying debug
+	  message
+
+2007-07-06 17:46  carlos
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_el.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_ar.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_el.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_ko.po,
+	  locale/po/grasstcl_lv.po, locale/po/grasstcl_mr.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt.po,
+	  locale/po/grasstcl_pt_br.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_sl.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: Messages
+	  updated after some standardization
+
+2007-07-06 12:32  carlos
+
+	* lib/gpde/N_solvers.c: Grammar
+
+2007-07-06 11:41  martinl
+
+	* raster/r.median/main.c, raster/r.median/read_stats.c: Message
+	  standardization
+	  Module description cleaning
+
+2007-07-06 11:37  carlos
+
+	* imagery/i.gensig/opencell.c, imagery/i.smap/shapiro/opencell.c,
+	  locale/po/grassmods_es.po, raster/r.carve/main.c,
+	  raster/r.contour/main.c, raster/r.le/r.le.trace/main.c,
+	  vector/v.to.rast/support.c: Standardization and more translations
+	  (grassmods_es)
+
+2007-07-06 11:03  carlos
+
+	* raster/r.his/main.c, raster/r.li/r.li.patchnum/main.c,
+	  raster/r.median/main.c, raster/r.mfilter/main.c: Standardization
+
+2007-07-06 10:55  carlos
+
+	* translators.csv: New translator added
+
+2007-07-06 10:26  martinl
+
+	* raster/r.kappa/description.html: Comment dead module (m.ipf) in
+	  'See also' section
+
+2007-07-06 10:12  martinl
+
+	* raster/r.kappa/calc_kappa.c, raster/r.kappa/main.c,
+	  raster/r.kappa/prt_hdr.c, raster/r.kappa/prt_mat.c,
+	  raster/r.kappa/stats.c: Message standardization
+	  Cleaning module description
+
+2007-07-06 09:33  martinl
+
+	* raster/r.param.scale/interface.c: Missing full point in
+	  description
+
+2007-07-06 09:31  martinl
+
+	* raster/r.param.scale/interface.c, raster/r.param.scale/main.c,
+	  raster/r.param.scale/open_files.c,
+	  raster/r.param.scale/write_cats.c: Message standardization
+
+2007-07-06 08:57  martinl
+
+	* raster/r.topidx/check_ready.c, raster/r.topidx/file_io.c,
+	  raster/r.topidx/global.h, raster/r.topidx/main.c,
+	  raster/r.topidx/topidx.c: Cleaning code (indention, module
+	  description, messages...)
+
+2007-07-06 08:22  martinl
+
+	* raster/r.topidx/file_io.c: Typo fixed
+
+2007-07-05 17:27  carlos
+
+	* raster/r.average/main.c, raster/r.topidx/file_io.c:
+	  Standardization
+
+2007-07-05 17:01  carlos
+
+	* raster/r.cost/main.c, raster/r.covar/main.c,
+	  raster/r.walk/main.c: Standardization
+
+2007-07-05 15:51  carlos
+
+	* gui/tcltk/gis.m/gmmenu.tcl, lib/gpde/N_parse_options.c,
+	  raster/r.gwflow/main.c, raster/r.in.ascii/main.c: Typos and
+	  standardization
+
+2007-07-05 15:48  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: More translations and updated
+
+2007-07-05 15:39  carlos
+
+	* locale/po/grasslibs_pl.po: Marcin Sanecki translation
+
+2007-07-05 14:08  markus
+
+	* lib/gtcltk/select.tcl: Maris Nartiss: fix bug in map selection
+	  window (selecting some map and then click Cancel or close window,
+	  map name still will be added to map name entry widget same like
+	  when clicking OK. Closing window from window manager now will
+	  also act like cancel button (as it should)
+
+2007-07-05 14:05  markus
+
+	* vector/v.lrs/v.lrs.segment/description.html,
+	  vector/v.lrs/v.lrs.segment/main.c: pseudo-example + TODO
+
+2007-07-05 03:07  hamish
+
+	* scripts/r.shaded.relief/r.shaded.relief: typo (thanks Carlos)
+
+2007-07-04 21:09  markus
+
+	* vector/lidar/v.surf.bspline/main.c: say that it is splines
+
+2007-07-04 17:00  martinl
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: BugFix: Do
+	  not extract centroids outside area
+	  Cosmetics: Fix code indention + module description
+
+2007-07-04 15:09  markus
+
+	* vector/v.surf.rst/main.c: make use of parser macros
+
+2007-07-04 14:59  markus
+
+	* db/drivers/postgres/Makefile: TCL no longer needed
+
+2007-07-04 12:49  martinl
+
+	* vector/v.out.svg/description.html, vector/v.out.svg/main.c:
+	  Cosmetics in the module description
+
+2007-07-04 07:52  markus
+
+	* raster3d/r3.gwflow/description.html: HTML layout fix
+
+2007-07-04 07:51  markus
+
+	* raster3d/r3.out.vtk/description.html: English and HTML layout
+	  fixes
+
+2007-07-04 07:40  markus
+
+	* swig/perl/gis.h: unfortunately also clone this file (think about
+	  better way)
+
+2007-07-04 07:35  markus
+
+	* swig/perl/Grass.pm, swig/perl/README, swig/perl/gisdefs.h,
+	  swig/perl/grass_wrap.c: recreated interface with: 'swig -perl
+	  -shadow grass.i'
+
+2007-07-04 07:25  markus
+
+	* swig/perl/gisdefs.h: sync'ed with main code
+
+2007-07-04 07:19  markus
+
+	* swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c: sync'ed
+	  with main code
+
+2007-07-04 07:09  markus
+
+	* locale/po/grasstcl_de.po: typos
+
+2007-07-04 05:39  hamish
+
+	* scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel: write command line history
+
+2007-07-04 05:15  hamish
+
+	* raster/r.surf.fractal/description.html: mention that the module
+	  needs FFTW
+
+2007-07-03 19:18  carlos
+
+	* display/d.text.new/main.c, display/d.text/main.c,
+	  display/d.title/main.c: Standardization ("Unable to open
+	  temporary file <%s>" instead of "Unable to open the temporary
+	  file."
+
+2007-07-03 18:38  carlos
+
+	* raster/r.statistics/o_average.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_sum.c: Standardization (Unable to open
+	  temporary file <%s>)
+
+2007-07-03 18:22  carlos
+
+	* vector/v.info/main.c: Output messages added to grassmods
+
+2007-07-03 17:37  soeren
+
+	* raster/r.out.vtk/description.html, raster/r.out.vtk/main.c,
+	  raster/r.out.vtk/parameters.c, raster/r.out.vtk/parameters.h,
+	  raster/r.out.vtk/writeascii.c, raster/r.out.vtk/writeascii.h,
+	  raster3d/r3.out.vtk/description.html,
+	  raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/errorHandling.h,
+	  raster3d/r3.out.vtk/globalDefs.h, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKData.h,
+	  raster3d/r3.out.vtk/writeVTKHead.c,
+	  raster3d/r3.out.vtk/writeVTKHead.h: Added basic LL projection
+	  support
+	  opt->guisection implemented
+
+2007-07-03 17:36  soeren
+
+	* vector/v.out.vtk/local_proto.h, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c, vector/v.out.vtk/writeVTK.h: Added
+	  basic LL projection support
+
+2007-07-03 12:09  soeren
+
+	* lib/gpde/N_gradient_calc.c, lib/gpde/N_gwflow.c,
+	  lib/gpde/N_gwflow.h, lib/gpde/N_les_assemble.c,
+	  lib/gpde/N_parse_options.c, lib/gpde/N_pde.h,
+	  lib/gpde/N_solvers.c, lib/gpde/N_solvers_krylov.c,
+	  lib/gpde/gpdelib.dox, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_solvers.c: * Typo fixes
+	  * Gradient calculation bug fix on no flow boundaries
+	  * Cholesky decomposition solver added
+	  * Additional debug messages
+	  * New preconditioning methods
+	  * Additional tests
+
+2007-07-03 12:03  soeren
+
+	* raster/r.gwflow/description.html, raster/r.gwflow/main.c,
+	  raster/r.gwflow/valid_calc_7x7.sh,
+	  raster/r.gwflow/valid_calc_excavation.sh,
+	  raster3d/r3.gwflow/description.html, raster3d/r3.gwflow/main.c:
+	  Type fixes
+	  added cholesky decomposition and pcg solver
+
+2007-07-03 10:35  soeren
+
+	* raster3d/r3.to.rast/main.c: More meaningful numbering of output
+	  raster maps
+
+2007-07-03 09:47  hamish
+
+	* lib/gis/list.c: subject should not be parenthetical
+
+2007-07-03 08:56  hamish
+
+	* display/d.grid/local_proto.h, display/d.grid/main.c,
+	  display/d.grid/plot.c: add textcolor option; remove lat/lon
+	  border skipping check, as it seems to work.
+
+2007-07-03 08:49  martinl
+
+	* swig/python/interfaces/Makefile: Add G_important_message to the
+	  list of removed fns
+
+2007-07-03 07:37  hamish
+
+	* raster/r.colors/description.html: "R G B" -> "R:G:B"; comment out
+	  non-functional name-only rule specification; div class code
+
+2007-07-03 07:13  hamish
+
+	* raster/r.colors/main.c: add invert flag; simplify bad option
+	  combo error; rename ambiguous varibale name
+
+2007-07-03 06:52  hamish
+
+	* display/d.barscale/description.html, display/d.barscale/main.c:
+	  improve description, explain why lat/lon doesn't work, update see
+	  alsos
+
+2007-07-03 00:37  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: "stat -c%s" is not portable,
+	  use "wc -c" instead.
+	  Whitespace in command line redirection and head|tail opts.
+	  Change descriptions as module will import from GPS download file,
+	  not just directly from GPSs.
+
+2007-07-02 21:34  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Fixed bug where georectify module
+	  unsets GRASS_RENDER_IMMEDIATE,
+	  giving an xmon not set error.
+
+2007-07-02 19:10  carlos
+
+	* raster/r.describe/main.c: Capitalization
+
+2007-07-02 17:00  carlos
+
+	* imagery/i.group/main.c, raster/r.circle/dist.c,
+	  scripts/v.what.vect/v.what.vect, vector/v.in.ascii/in.c:
+	  Standardization
+
+2007-07-02 17:00  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: More messages translated
+
+2007-07-02 13:58  martinl
+
+	* vector/v.edit/a2b.c: Bugfix in closing boundaries
+
+2007-07-02 08:41  markus
+
+	* lib/db/sqlp/yac.y: eliminate warnings
+
+2007-07-01 22:24  markus
+
+	* db/drivers/sqlite/describe.c, db/drivers/sqlite/fetch.c: don't
+	  crash with SQLITE_NULL
+
+2007-07-01 22:10  markus
+
+	* scripts/db.dropcol/db.dropcol: no debug
+
+2007-07-01 22:08  markus
+
+	* scripts/Makefile: db.dropcol
+
+2007-07-01 22:07  markus
+
+	* scripts/db.dropcol, scripts/db.dropcol/Makefile,
+	  scripts/db.dropcol/db.dropcol,
+	  scripts/db.dropcol/description.html: new drop column command
+
+2007-07-01 21:38  markus
+
+	* scripts/v.db.join/v.db.join: fix for recent db.describe update;
+	  better error catching
+
+2007-07-01 08:53  markus
+
+	* lib/db/sqlp/yac.y: fix semicolon problem for DBF driver (thanks
+	  to Glynn)
+
+2007-06-30 21:43  markus
+
+	* vector/v.lrs/lrs.html: ref fix
+
+2007-06-30 15:45  carlos
+
+	* vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.surf.bspline/main.c: Typos
+
+2007-06-30 15:19  carlos
+
+	* vector/v.select/main.c, vector/v.surf.rst/main.c: Standardization
+
+2007-06-30 15:00  carlos
+
+	* locale/po/grassmods_es.po, raster/r.cost/main.c,
+	  vector/lidar/v.lidar.growing/main.c, vector/v.convert/old2new.c,
+	  vector/v.perturb/main.c: Standardization
+
+2007-06-29 19:52  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Updated and more messages translated
+
+2007-06-29 19:49  carlos
+
+	* scripts/v.in.gns/v.in.gns, scripts/v.in.sites.all/v.in.sites.all,
+	  scripts/v.rast.stats/v.rast.stats: Standardization
+
+2007-06-29 19:05  carlos
+
+	* scripts/v.dissolve/v.dissolve, scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel: Standardization
+
+2007-06-29 18:04  carlos
+
+	* scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/v.db.addtable: Standardization
+
+2007-06-29 08:29  martinl
+
+	* vector/v.what/main.c, vector/v.what/what.c, vector/v.what/what.h:
+	  Fix indention
+	  The '-s' flag is deprecated and will be removed in future...
+	  Cosmetics in output
+	  Quiet mode (--q): Do not print output if nothing found
+
+2007-06-29 07:51  markus
+
+	* scripts/v.db.update/description.html: links added
+
+2007-06-29 07:48  markus
+
+	* vector/vectorintro.html: v.db.join
+
+2007-06-29 02:26  michael
+
+	* gui/tcltk/gis.m/rules.tcl: Add newline to rules for r.recode
+
+2007-06-28 21:21  carlos
+
+	* vector/v.net.alloc/main.c: Typos
+
+2007-06-28 15:33  carlos
+
+	* raster/r.carve/main.c, raster/r.region/main.c: Standardization
+
+2007-06-28 15:28  markus
+
+	* vector/v.lrs/v.lrs.create/description.html,
+	  vector/v.lrs/v.lrs.label/description.html,
+	  vector/v.lrs/v.lrs.where/description.html: working v.lrs.where
+	  example
+
+2007-06-28 15:19  markus
+
+	* vector/v.lrs/v.lrs.create/description.html: now working example
+	  after v.edit fix
+
+2007-06-28 15:14  carlos
+
+	* scripts/v.build.all/v.build.all, scripts/v.centroids/v.centroids,
+	  scripts/v.db.dropcol/v.db.dropcol,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.join/v.db.join,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all,
+	  scripts/v.db.renamecol/v.db.renamecol,
+	  scripts/v.db.univar/v.db.univar, scripts/v.db.update/v.db.update,
+	  scripts/v.report/v.report, scripts/v.univar.sh/v.univar.sh,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c: Standardization
+
+2007-06-28 15:05  carlos
+
+	* locale/po/grassmods_es.po: More messages translated
+
+2007-06-28 15:00  markus
+
+	* vector/v.edit/description.html: new example
+
+2007-06-28 14:24  martinl
+
+	* vector/v.edit/max_distance.c, vector/v.edit/proto.h,
+	  vector/v.edit/select.c: bugfix: use
+	  Vect_select_lines_by_polygon() instead of
+	  Vect_select_lines_by_box()
+
+2007-06-28 14:15  markus
+
+	* scripts/g.manual/description.html: update ugly page
+
+2007-06-28 13:53  markus
+
+	* vector/v.lrs/v.lrs.label/description.html: example
+
+2007-06-27 16:43  markus
+
+	* lib/db/dbmi_base/table.c, lib/db/dbmi_client/table.c: moved
+	  db_get_table_number_of_rows() to client
+
+2007-06-27 16:40  markus
+
+	* db/base/describe.c: removed unused var
+
+2007-06-27 16:34  markus
+
+	* scripts/Makefile: v.db.join
+
+2007-06-27 16:34  markus
+
+	* scripts/v.db.join, scripts/v.db.join/Makefile,
+	  scripts/v.db.join/description.html, scripts/v.db.join/v.db.join:
+	  join SQL tables
+
+2007-06-27 16:31  markus
+
+	* db/base/describe.c, db/base/printtab.c, include/proto_dbmi.h,
+	  lib/db/dbmi_base/table.c: report number of rows of DB table
+
+2007-06-27 09:10  markus
+
+	* vector/v.lrs/v.lrs.create/description.html: New Spearfish based
+	  example
+
+2007-06-27 07:55  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/proto.h, vector/v.edit/select.c: Reverse selection
+	  added
+
+2007-06-27 00:16  paulo
+
+	* locale/po/grasstcl_pt.po: corrected header
+
+2007-06-26 21:19  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Updated and new translations
+
+2007-06-26 04:48  michael
+
+	* gui/tcltk/gis.m/rules.tcl: Bindings for ctrl-v and ctrl-c now
+	  working for paste and copy in
+	  text widget.
+
+2007-06-26 04:44  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/pkgIndex.tcl,
+	  gui/tcltk/gis.m/rules.tcl: Updated menu and rules file to make
+	  use of new rules= option for
+	  r.reclass and r.recode. Updated pkgindex to reference rules.tcl
+
+2007-06-26 03:47  william
+
+	* lib/init/grass-xterm-wrapper: Terminal: don't reactivate calling
+	  app - python doesn't like that
+
+2007-06-26 02:40  glynn
+
+	* raster/r.recode/global.h, raster/r.recode/main.c,
+	  raster/r.recode/read_rules.c: Add rules= option
+
+2007-06-26 00:17  william
+
+	* lib/init/grass-xterm-wrapper: Terminal: simplified applescript,
+	  fixed some script non-run issues
+
+2007-06-25 23:53  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/rules.tcl: New script
+	  (and relevant menu entries) for interactive creation of
+	  rules without xterm for r.colors, r.reclass, r.recode, and
+	  v.reclass.
+
+2007-06-25 23:11  glynn
+
+	* raster/r.reclass/input.c, raster/r.reclass/main.c,
+	  raster/r.reclass/rule.h: Add rules= option
+
+2007-06-25 19:29  carlos
+
+	* scripts/r.out.gdal/r.out.gdal.sh: Cosmetics and standardization
+
+2007-06-25 18:51  carlos
+
+	* general/g.proj/output.c: One message reverted to previous
+	  version, because it was right.
+
+2007-06-25 18:04  carlos
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Cosmetics
+
+2007-06-25 17:08  carlos
+
+	* general/g.proj/output.c: Typos and standardization
+
+2007-06-25 15:44  carlos
+
+	* scripts/r3.mapcalculator/r3.mapcalculator: End periods correction
+
+2007-06-25 15:39  carlos
+
+	* scripts/r.plane/r.plane: Removed end period to avoid duplication
+	  in gui
+
+2007-06-25 12:43  markus
+
+	* imagery/i.atcorr/Makefile, imagery/i.atcorr/description.html: now
+	  it compiles
+
+2007-06-25 04:36  brad
+
+	* imagery/Makefile, imagery/i.atcorr, imagery/i.atcorr/6s.cpp,
+	  imagery/i.atcorr/6s.h, imagery/i.atcorr/Abstra.cpp,
+	  imagery/i.atcorr/Abstra.h,
+	  imagery/i.atcorr/AerosolConcentration.cpp,
+	  imagery/i.atcorr/AerosolConcentration.h,
+	  imagery/i.atcorr/AerosolModel.cpp,
+	  imagery/i.atcorr/AerosolModel.h, imagery/i.atcorr/Altitude.cpp,
+	  imagery/i.atcorr/Altitude.h, imagery/i.atcorr/AtmosModel.cpp,
+	  imagery/i.atcorr/AtmosModel.h, imagery/i.atcorr/Date.h,
+	  imagery/i.atcorr/Gauss.h, imagery/i.atcorr/GeomCond.cpp,
+	  imagery/i.atcorr/GeomCond.h, imagery/i.atcorr/INFO,
+	  imagery/i.atcorr/INFO/AUTHORS, imagery/i.atcorr/INFO/README,
+	  imagery/i.atcorr/INFO/TODO, imagery/i.atcorr/INFO/atcorr.lsm,
+	  imagery/i.atcorr/INFO/need_to_clean_here,
+	  imagery/i.atcorr/Interp.cpp, imagery/i.atcorr/Interp.h,
+	  imagery/i.atcorr/Iwave.cpp, imagery/i.atcorr/Iwave.h,
+	  imagery/i.atcorr/Makefile, imagery/i.atcorr/Output.cpp,
+	  imagery/i.atcorr/Output.h, imagery/i.atcorr/Transform.cpp,
+	  imagery/i.atcorr/Transform.h, imagery/i.atcorr/common.cpp,
+	  imagery/i.atcorr/common.h, imagery/i.atcorr/computations.cpp,
+	  imagery/i.atcorr/description.html, imagery/i.atcorr/gauss.cpp,
+	  imagery/i.atcorr/main.cpp, imagery/i.atcorr/test_suite,
+	  imagery/i.atcorr/test_suite/ETM4.res,
+	  imagery/i.atcorr/test_suite/ETM4_400x400.hdr,
+	  imagery/i.atcorr/test_suite/ETM4_400x400.raw,
+	  imagery/i.atcorr/test_suite/ETM4_400x400_atms_corr.hdr,
+	  imagery/i.atcorr/test_suite/ETM4_400x400_atms_corr.raw,
+	  imagery/i.atcorr/test_suite/ETM4_atmospheric_input.txt,
+	  imagery/i.atcorr/test_suite/ETM4_atmospheric_input_GRASS.txt: -
+	  Added i.atcorr (atmospheric correction) to the 6.x tree.
+	  - Updated for GRASS 6.x by Yann Chemin
+
+2007-06-25 01:08  danielc
+
+	* lib/gis/parser.c: - Corrected escaping of <>&\n in HTML
+	  description output. New function: print_escaped_for_html()
+
+2007-06-24 08:42  markus
+
+	* vector/v.transform/description.html, vector/v.transform/main.c:
+	  module description closer to what it does
+
+2007-06-24 07:56  markus
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasstcl_pt_br.po: header fixes
+
+2007-06-24 07:32  markus
+
+	* gui/tcltk/gis.m/gmmenu.tcl: typo
+
+2007-06-24 02:18  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Update vector menu.
+
+2007-06-23 20:41  markus
+
+	* scripts/Makefile, scripts/v.db.univar,
+	  scripts/v.db.univar/Makefile,
+	  scripts/v.db.univar/description.html,
+	  scripts/v.db.univar/v.db.univar: v.db.univar added (formerly
+	  confusing name v.univar.sh)
+
+2007-06-23 12:39  markus
+
+	* contributors.csv: +Carlos Davila
+
+2007-06-23 12:15  markus
+
+	* contributors.csv: + Paulo Marcondes
+
+2007-06-23 07:58  markus
+
+	* doc/howto_release.txt: cosmetics
+
+2007-06-23 07:57  markus
+
+	* contributors_extra.csv: cleanup
+
+2007-06-23 07:56  markus
+
+	* vector/v.lrs/lib/lrs.c: fix (?) for v.lrs.where which didn't
+	  report the offset correctly
+
+2007-06-23 07:54  markus
+
+	* vector/v.lrs/v.lrs.where/description.html,
+	  vector/v.lrs/v.lrs.where/main.c: print table header
+
+2007-06-23 07:53  markus
+
+	* vector/v.lrs/v.lrs.label/main.c: p.map -> d.label; SQL fix
+
+2007-06-23 07:52  markus
+
+	* vector/v.lrs/lrs.html,
+	  vector/v.lrs/v.lrs.create/description.html: v.build.polylines is
+	  the trick to get v.lrs.* working
+
+2007-06-23 07:51  markus
+
+	* lib/db/dbmi_client/select.c: STRING AND DATETIME sort added
+
+2007-06-23 07:51  markus
+
+	* locale/po/grasslibs_de.po: cosmetics
+
+2007-06-23 02:42  paulo
+
+	* locale/po/grasslibs_pt.po, locale/po/grassmods_pt.po: updated
+	  translations
+
+2007-06-22 22:07  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: New translations
+
+2007-06-22 17:20  carlos
+
+	* scripts/v.in.mapgen/v.in.mapgen: Typos
+
+2007-06-22 16:02  carlos
+
+	* ps/ps.map/main.c: Typos and standardization
+
+2007-06-22 15:03  carlos
+
+	* locale/po/grasslibs_es.po: Some orthographic corrections
+
+2007-06-22 14:02  martinl
+
+	* vector/v.category/main.c: Cosmetics: description of 'g' flag
+	  extended
+
+2007-06-22 09:41  martinl
+
+	* vector/v.category/main.c: Missing 'all' in report (shell script
+	  mode)
+
+2007-06-22 09:19  martinl
+
+	* vector/v.category/main.c: message cosmetics
+
+2007-06-21 22:27  paulo
+
+	* locale/po/grasslibs_pt.po, locale/po/grasstcl_pt.po: Updated and
+	  reviewed messages
+
+2007-06-21 21:50  carlos
+
+	* raster/r.in.gdal/main.c, vector/v.in.ogr/main.c: Message added to
+	  po file and standardization
+
+2007-06-21 21:48  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Messages updated and new translations
+	  in grassmods
+
+2007-06-21 17:31  carlos
+
+	* scripts/r.in.aster/r.in.aster,
+	  scripts/r.mapcalculator/r.mapcalculator,
+	  scripts/r.out.xyz/r.out.xyz: Typos and message standardization
+
+2007-06-20 17:45  carlos
+
+	* scripts/g.mremove/g.mremove: Message standardization
+
+2007-06-19 05:53  hamish
+
+	* imagery/i.target/description.html, imagery/i.target/main.c: if no
+	  setting options are given, print the current target info.
+
+2007-06-19 02:25  paulo
+
+	* locale/po/grasslibs_pt.po: Translated new messages
+
+2007-06-19 01:20  paulo
+
+	* locale/po/grasslibs_pt.po: Reviewed fuzzy messages
+
+2007-06-18 23:38  paulo
+
+	* locale/po/grasstcl_pt.po: Finished translating some leftovers.
+
+2007-06-18 23:15  paulo
+
+	* locale/po/grasstcl_pt.po: Reviewed more messages
+
+2007-06-18 21:37  carlos
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: More messages translated and updated
+
+2007-06-18 18:44  carlos
+
+	* scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.in.mapgen/v.in.mapgen: Message standardization
+
+2007-06-18 18:33  carlos
+
+	* scripts/v.in.e00/v.in.e00, scripts/v.in.gns/v.in.gns: Message
+	  standardization
+
+2007-06-18 16:27  carlos
+
+	* vector/v.convert/read.c: Message standardization within module
+
+2007-06-18 15:38  carlos
+
+	* scripts/r.in.wms/r.in.wms: Module description end point added and
+	  option description cleaning
+
+2007-06-18 15:10  carlos
+
+	* scripts/r.in.wms/r.in.wms: Messages standardization
+
+2007-06-18 09:13  hamish
+
+	* gui/scripts/Makefile: don't install the Makefile
+
+2007-06-18 08:58  hamish
+
+	* gui/Makefile, gui/scripts/d.colors.sh, gui/scripts/d.path.sh,
+	  gui/scripts/r.colors.rules, gui/scripts/r.reclass.file,
+	  gui/scripts/r.reclass.rules, gui/scripts/r.recode.file,
+	  gui/scripts/r.recode.rules, gui/scripts/r.support.sh,
+	  gui/scripts/v.type.sh, gui/tcltk/gis.m/Makefile,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmmenu.tcl,
+	  gui/tcltk/gis.m/script: move GUI scripts from gis.m/ to more
+	  general gui/ so Wx can use them
+
+2007-06-18 08:34  hamish
+
+	* gui/tcltk/gis.m/script/d.title.sh: replaced by "d.title -d"
+
+2007-06-18 08:31  hamish
+
+	* display/d.title/description.html, display/d.title/fancy.c,
+	  display/d.title/local_proto.h, display/d.title/main.c,
+	  display/d.title/normal.c: add -d flag to call d.text for you
+
+2007-06-18 07:38  hamish
+
+	* gui/tcltk/gis.m/script/d.text.sh,
+	  gui/tcltk/gis.m/script/v.in.asciipoints: remove obsolete scripts
+
+2007-06-18 07:34  hamish
+
+	* gui/tcltk/gis.m/script/print.sh: print.sh is not used by gis.m
+	  (but d.m uses it)
+
+2007-06-18 07:21  hamish
+
+	* scripts/d.shadedmap/description.html: move d.shadedmap into a
+	  normal module from gui/tcl/*.m/script/
+
+2007-06-18 07:10  hamish
+
+	* gui/tcltk/gis.m/script/d.shadedmap, scripts/Makefile,
+	  scripts/d.shadedmap, scripts/d.shadedmap/Makefile,
+	  scripts/d.shadedmap/d.shadedmap: move d.shadedmap into a normal
+	  module
+
+2007-06-18 06:53  hamish
+
+	* gui/scripts, gui/scripts/Makefile: move GUI scripts to central
+	  location for reuse by both Tcl and Wx GUIs
+
+2007-06-18 02:53  paulo
+
+	* locale/po/grassmods_pt.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grasstcl_pt.po: grassmods: Reviewed messages, by Daniel
+	  Victoria
+	  grasstcl: Reviewed messages by Paulo Marcondes, fixed some issues
+	  with display of accented characters.
+
+2007-06-18 00:13  glynn
+
+	* general/manage/cmd/rename.c: Fix message
+
+2007-06-17 10:18  carlos
+
+	* scripts/d.slide.show/d.slide.show: Typos
+
+2007-06-16 22:46  paulo
+
+	* locale/po/grasslibs_pt.po, locale/po/grasstcl_pt.po: Fixed header
+	  and translations
+
+2007-06-16 21:46  paulo
+
+	* locale/po/grasslibs_pt.po, locale/po/grassmods_pt.po,
+	  locale/po/grasstcl_pt.po: Added mainland portuguese translation
+	  files.
+
+2007-06-16 21:35  paulo
+
+	* locale/po/grasstcl_pt_br.po: Completed translation.
+
+2007-06-16 19:06  paulo
+
+	* locale/po/grasstcl_pt_br.po: Continued...
+
+2007-06-16 16:53  paulo
+
+	* locale/po/grasstcl_pt_br.po: Updated translations.
+
+2007-06-16 16:15  carlos
+
+	* scripts/i.in.spotvgt/i.in.spotvgt: Typos
+
+2007-06-16 16:09  carlos
+
+	* raster/r.in.gridatb/main.c, scripts/i.in.spotvgt/i.in.spotvgt:
+	  Message standardization
+
+2007-06-16 16:08  carlos
+
+	* locale/po/grassmods_es.po, locale/po/grasstcl_es.po: New
+	  translated messages
+
+2007-06-16 02:23  paulo
+
+	* locale/po/grasstcl_pt_br.po: Continued...
+
+2007-06-16 01:55  paulo
+
+	* locale/po/grasstcl_pt_br.po: Unfuzzied some entries.
+
+2007-06-15 22:43  carlos
+
+	* locale/po/grasstcl_pt_br.po: Updated messages
+
+2007-06-15 22:37  carlos
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_ar.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_el.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_ko.po,
+	  locale/po/grasstcl_lv.po, locale/po/grasstcl_mr.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_sl.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: Messages
+	  updated as announced
+
+2007-06-15 22:19  paulo
+
+	* locale/po/grasstcl_pt_br.po: Unfuzzied some messages. Updated
+	  translations.
+
+2007-06-15 21:54  carlos
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Typos
+
+2007-06-15 15:41  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Menu updates. Reducing nesting and
+	  item length. All but vector and
+	  imagery done
+
+2007-06-15 08:01  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: More menu updates. Reducing nesting
+	  and item length. Up through
+	  config and raster menus.
+
+2007-06-15 05:21  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Menu updates. Reducing nesting and
+	  item length.
+
+2007-06-14 16:34  carlos
+
+	* scripts/v.in.e00/v.in.e00: Message standardization
+
+2007-06-14 16:21  carlos
+
+	* raster/r.out.tiff/r.out.tiff.c: Message standardization
+
+2007-06-14 12:18  hamish
+
+	* imagery/i.class/description.html,
+	  imagery/i.cluster/description.html,
+	  imagery/i.group/description.html,
+	  imagery/i.maxlik/description.html,
+	  imagery/i.points/description.html,
+	  imagery/i.rectify/description.html,
+	  imagery/i.target/description.html,
+	  imagery/i.vpoints/description.html, imagery/imageryintro.html:
+	  point to GRASS 4 image manual .pdf not .ps.gz;
+	  html bugs, clean
+
+2007-06-14 10:36  hamish
+
+	* lib/display/draw2.c: allow (prettier) line width of 0.
+	  http://thread.gmane.org/gmane.comp.gis.grass.devel/21229/focus=21323
+
+2007-06-14 08:17  hamish
+
+	* scripts/v.rast.stats/description.html: add v.univar to example
+
+2007-06-14 08:10  hamish
+
+	* scripts/v.rast.stats/v.rast.stats: do cleanup() on errors
+
+2007-06-14 07:51  hamish
+
+	* raster/r.in.poly/description.html: expand point feature
+	  explaination
+
+2007-06-14 07:49  hamish
+
+	* raster/r.in.poly/description.html, raster/r.in.poly/get_item.c,
+	  raster/r.in.poly/getformat.c, raster/r.in.poly/main.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.in.poly/raster.c: allow
+	  point feature input;
+	  use G_getl2() for cross-platform input files;
+	  see alsos;
+	  skip #comment and blank lines;
+	  use standard options for input file and output map;
+	  update default rows in man page
+
+2007-06-14 03:45  hamish
+
+	* general/g.region/cmd/main.c: more i18n for llinfo()
+
+2007-06-13 15:29  carlos
+
+	* general/g.region/cmd/main.c: Some messages added to po files
+
+2007-06-13 09:22  hamish
+
+	* db/base/connect.c: option descr cleaning (bug #423)
+
+2007-06-12 14:48  carlos
+
+	* vector/v.in.ogr/main.c: Some messages added to po files
+
+2007-06-11 15:25  carlos
+
+	* lib/gpde/N_solvers_krylov.c: Similar messages unified
+
+2007-06-11 14:38  carlos
+
+	* locale/po/grassmods_es.po: New translated messages added
+
+2007-06-11 05:36  hamish
+
+	* lib/gis/parser.c: i18n for auto-gen HTML output static strings
+
+2007-06-11 03:23  hamish
+
+	* general/g.parser/description.html: example script fixes
+
+2007-06-11 02:53  hamish
+
+	* general/g.parser/description.html: don't pass arg list as a
+	  string -- update example (Glynn/Michael)
+
+2007-06-10 11:23  hamish
+
+	* scripts/v.rast.stats/description.html,
+	  scripts/v.rast.stats/v.rast.stats,
+	  scripts/v.what.vect/description.html,
+	  scripts/v.what.vect/v.what.vect,
+	  vector/v.what.rast/description.html: see also each other in the
+	  help page
+	  simplify v.rast.stats on Glynn's suggestion
+	  clarify v.what.vect option descriptions
+
+2007-06-09 08:19  robertoa
+
+	* locale/po/grasslibs_pl.po: Marcin Sanecki: new messages
+
+2007-06-09 08:18  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Dávila: new messages
+
+2007-06-09 00:13  glynn
+
+	* general/g.gisenv/main.c: Fix handling of "print current settings"
+	  case
+
+2007-06-08 20:34  william
+
+	* lib/init/grass-xterm-wrapper, lib/init/variables.html:
+	  xterm-wrapper now works with OSX Terminal.app
+
+2007-06-07 11:19  glynn
+
+	* lib/gpde/N_gradient_calc.c: Don't use C++ comments in C source
+	  code
+
+2007-06-07 09:25  hamish
+
+	* scripts/v.in.garmin/description.html,
+	  scripts/v.in.garmin/v.in.garmin: fix gardump code so it works
+	  with newer GPSs (incr field widths etc);
+	  don't break route names with spaces;
+	  allow tracks to import as 3D vectors;
+	  lots of gardump fixes for extended data attrs;
+	  format date as YYYY/MM/DD
+
+2007-06-07 08:28  hamish
+
+	* vector/v.info/main.c: only print map top and bottom if map is 3D
+
+2007-06-07 06:28  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: date as YYYY/MM/DD not
+	  mm/dd/yy
+
+2007-06-06 11:35  hamish
+
+	* vector/v.in.ascii/a2b.c: errors in input file should cause a
+	  fatal error. Revert last msg clean-
+	  bad data may be whitespace and you need the brackets to see that.
+
+2007-06-06 08:27  robertoa
+
+	* vector/lidar/v.lidar.growing/main.c: Some debug information
+	  removed
+
+2007-06-06 08:07  robertoa
+
+	* vector/lidar/v.lidar.growing/ConvexHull.c,
+	  vector/lidar/v.lidar.growing/main.c: * \"db\" and \"driver\"
+	  parameters removed \n* Cosmetics
+
+2007-06-05 22:32  soeren
+
+	* raster/r.gwflow/main.c: Correct prototype declaration
+
+2007-06-05 22:29  soeren
+
+	* raster/r.gwflow/main.c: Better Null value handling
+
+2007-06-05 22:21  soeren
+
+	* lib/gpde/N_arrays.c, lib/gpde/N_geom.c, lib/gpde/N_heatflow.h:
+	  Removed useless inline declarations
+
+2007-06-05 22:07  soeren
+
+	* lib/gpde/N_arrays_calc.c, lib/gpde/N_arrays_io.c,
+	  lib/gpde/N_geom.c, lib/gpde/N_gradient.c, lib/gpde/N_gwflow.c,
+	  lib/gpde/N_les.c, lib/gpde/N_les_assemble.c, lib/gpde/N_pde.h,
+	  lib/gpde/N_solvers.c, lib/gpde/N_solvers_krylov.c,
+	  lib/gpde/gpdelib.dox: * Correct Prototype declaration
+	  * OpenMP bug fixes
+	  * Correct Null value handling in array io functions
+	  * Some les assembling fixes
+	  * correct error handling in parallel blocks
+	  * better error handling in matrix symmetry calculation
+
+2007-06-05 21:59  soeren
+
+	* lib/gpde/test/test_arrays.c, lib/gpde/test/test_assemble.c,
+	  lib/gpde/test/test_geom.c, lib/gpde/test/test_gpde_lib.h,
+	  lib/gpde/test/test_gradient.c, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_heat.c, lib/gpde/test/test_les.c,
+	  lib/gpde/test/test_main.c, lib/gpde/test/test_solute_transport.c,
+	  lib/gpde/test/test_solvers.c, lib/gpde/test/test_tools.c: Correct
+	  prototype declaration
+
+2007-06-05 11:55  hamish
+
+	* scripts/db.test/db.test, scripts/r.tileset/r.tileset,
+	  scripts/v.report/v.report, scripts/v.what.vect/v.what.vect: quote
+	  path variables; breakup long lines
+
+2007-06-05 06:01  hamish
+
+	* db/base/db.copy.html: minor html bug
+
+2007-06-05 00:46  hamish
+
+	* scripts/v.rast.stats/description.html,
+	  scripts/v.rast.stats/v.rast.stats: quote vars;
+	  do addcolumn in one step;
+	  use --verbose for stepwise stuff;
+	  indentation
+
+2007-06-04 21:29  soeren
+
+	* lib/gpde/test/test_assemble.c, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_les.c, lib/gpde/test/test_solvers.c: New tests
+	  added
+
+2007-06-04 21:27  soeren
+
+	* lib/gpde/N_solvers.c, lib/gpde/N_solvers_classic_iter.c,
+	  lib/gpde/N_solvers_krylov.c, lib/gpde/solvers_local_proto.h: *
+	  Rearanging of local prototype functions
+	  * new preconditioned conjugate gradient solver
+	  * function for preconditioning matrix creation added
+	  * added symmetry check function
+	  * unnused code removed
+	  * vector - matrix produkt supports non-quadratic matrices
+	  * better error handling
+
+2007-06-04 21:22  soeren
+
+	* lib/gpde/N_pde.h: Added new functions
+
+2007-06-04 21:17  soeren
+
+	* lib/gpde/N_parse_options.c: Added pcg solver
+
+2007-06-04 21:16  soeren
+
+	* lib/gpde/N_les_pivot.c: Removed debug stuff
+	  Typo fixes
+
+2007-06-04 21:16  soeren
+
+	* lib/gpde/N_les.c: * Added support for non-quadratic matrices
+	  * Added different functions of les allocation
+	  ** A, x and b are allocated
+	  ** A and x are allocated
+	  ** only A is allocated
+
+2007-06-04 21:13  soeren
+
+	* lib/gpde/N_les_assemble.c: Major code refractoring
+	  * added new algorithms for les creation
+	  ** two ways of les assembling are available now,
+	  with and without dirichlet cells
+	  * new general functions for les entry creation
+	  * 2d callback template generates a nine data star
+
+2007-06-04 21:08  soeren
+
+	* lib/gpde/N_gwflow.c: Fixed elevation calculation bug
+
+2007-06-04 21:05  soeren
+
+	* raster/r.gwflow/main.c: * pcg solver added
+	  * use dirichlet les assembling
+
+2007-06-04 20:56  soeren
+
+	* raster3d/r3.stats/main.c: Typo fixes
+
+2007-06-04 12:57  hamish
+
+	* tools/module_synopsis.sh: html: full index is redundant
+
+2007-06-04 12:43  hamish
+
+	* tools/module_synopsis.sh: html output gets URLs to module help
+	  pages;
+	  rm html,pdf if to be overwritten (no old stuff left on failure);
+	  say where all output goes;
+	  LaTeX: don't mix american with a4 (incorrect margins with
+	  pdflatex);
+	  try adding German as a language (experiment);
+	  show how to quieten pdflatex
+
+2007-06-04 12:22  markus
+
+	* rfc/Makefile, rfc/psc_motions.dox: latex fix; Motions of 2007
+
+2007-06-04 12:12  moritz
+
+	* Makefile: simplify rewriting rules of WINGISBASE
+
+2007-06-04 12:10  markus
+
+	* translators.csv: country codes of po files added
+
+2007-06-04 12:10  markus
+
+	* AUTHORS: small cleanup
+
+2007-06-04 12:09  markus
+
+	* locale/po/grasslibs_el.po, locale/po/grassmods_el.po,
+	  locale/po/grasstcl_el.po: country code fix
+
+2007-06-04 11:53  markus
+
+	* db/drivers/sqlite/dbdriver.h, db/drivers/sqlite/execute.c:
+	  Antonio Galea: SQLite transactions to speed up execute
+
+2007-06-04 11:53  markus
+
+	* contributors_extra.csv: +Antonio Galea
+
+2007-06-04 10:36  hamish
+
+	* display/d.ask/description.html: html bugs
+
+2007-06-04 09:26  hamish
+
+	* vector/v.buffer/description.html: move attr note into more
+	  prominent position
+
+2007-06-04 09:24  markus
+
+	* rfc/Makefile: better htmldocs target
+
+2007-06-03 23:14  markus
+
+	* raster/r.univar2/stats.c: -g now also reports null_cells
+
+2007-06-03 17:49  markus
+
+	* scripts/v.rast.stats/description.html: Project citation
+
+2007-06-03 10:21  markus
+
+	* translators.csv: ÃÃlist of message translators (maybe yet
+	  incomplete)
+
+2007-06-02 20:46  markus
+
+	* display/d.vect.chart/description.html,
+	  scripts/d.vect.thematic/description.html: crosslinked
+
+2007-06-02 13:17  markus
+
+	* rfc/Makefile: fixed missing pdfdocs target
+
+2007-06-02 12:45  markus
+
+	* tools/grasslogo_vector.pdf, tools/module_synopsis.sh: simplified
+	  to pdflatex
+
+2007-06-02 12:22  hamish
+
+	* tools/build_html_index.sh: nicer section formatting
+
+2007-06-02 12:01  hamish
+
+	* tools/module_synopsis.sh: if then fi bug
+
+2007-06-02 11:55  hamish
+
+	* tools/module_synopsis.sh: html output, put pdf in
+	  $GISBASE/docs/pdf/
+
+2007-06-02 11:23  glynn
+
+	* lib/gis/color_rules.c: Enlarge buffers for parsing colour rules
+	  from 16 bytes to 80 bytes
+
+2007-06-02 10:47  hamish
+
+	* tools/module_synopsis.sh: typos etc
+
+2007-06-02 10:37  hamish
+
+	* tools/grasslogo_vector.eps, tools/module_synopsis.sh: better
+	  module synopsis list; LaTeX output; PDF output
+
+2007-06-02 09:20  markus
+
+	* raster/r.coin/print_hdr.c: less empty lines
+
+2007-06-02 08:18  hamish
+
+	* misc/m.cogo/main.c: parser cleaning
+
+2007-06-02 07:19  markus
+
+	* imagery/i.smap/bouman/interp.c, raster/r.cost/main.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.walk/main.c,
+	  vector/lidar/lidarlib/raster.c, vector/v.net.iso/main.c,
+	  vector/v.to.rast/support.c: Carlos Dávila: msg sync for i18N
+
+2007-06-02 06:57  hamish
+
+	* general/g.message/main.c, include/gisdefs.h, lib/gis/error.c: add
+	  G_important_message() for printing messages when GRASS_VERBOSE=1
+	  (usually just G_percent() and G_clicker() printed at that level)
+
+2007-06-02 04:26  hamish
+
+	* vector/v.in.ascii/head.c: revert last msg clean- bad data may be
+	  whitespace and you need the
+	  brackets to see that.
+
+2007-06-02 04:15  hamish
+
+	* raster/wildfire/r.spread/main.c: don't put options in the Output
+	  tab
+
+2007-06-02 04:11  hamish
+
+	* raster/wildfire/r.spread/main.c: use guisection
+
+2007-06-02 04:06  hamish
+
+	* raster/wildfire/r.spread/main.c: shorten module description
+
+2007-06-02 03:59  hamish
+
+	* vector/v.extract/main.c: shorten module description
+
+2007-06-02 03:53  hamish
+
+	* imagery/i.maxlik/main.c: shorten module description for nice
+	  synopsis entry
+
+2007-06-02 03:44  hamish
+
+	* imagery/i.class/main.c: fix subgroup option parser details
+
+2007-06-02 03:39  hamish
+
+	* imagery/i.cluster/main.c: shorter module descr; cleanup module
+	  opts; EXIT_SUCCESS
+
+2007-06-02 03:24  hamish
+
+	* imagery/i.class/main.c: better file io parser option defns
+
+2007-06-02 03:16  hamish
+
+	* imagery/i.class/main.c: shorter module descr for a nice synopsis
+	  list
+
+2007-06-02 03:11  hamish
+
+	* general/g.dirseps/main.c: less redundancy in module descr
+
+2007-06-02 03:09  hamish
+
+	* general/g.dirseps/main.c: shorter description for a nicer
+	  synopsis list
+
+2007-06-01 23:47  hamish
+
+	* gui/icons/README: line wrap, prettify
+
+2007-06-01 23:40  hamish
+
+	* scripts/r.in.wms/wms.download: quote some vars
+
+2007-06-01 23:19  hamish
+
+	* scripts/r.in.wms/r.in.gdalwarp: quote vars; remove bashisms;
+	  check if gdalwarp and r.in.gdal worked
+
+2007-06-01 18:44  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Dávila: new translated messages
+
+2007-06-01 13:03  markus
+
+	* scripts/v.dissolve/v.dissolve: fix for DBMI error if input map is
+	  specified with @mapset
+
+2007-06-01 10:41  markus
+
+	* vector/v.vol.rst/description.html, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c: SQL support implemented
+
+2007-06-01 09:22  markus
+
+	* lib/rst/interp_float/DESCRIPTION.INTERP,
+	  lib/rst/interp_float/init2d.c, lib/rst/interp_float/interpf.h,
+	  lib/rst/interp_float/vinput2d.c, raster/r.resamp.rst/main.c,
+	  vector/v.surf.rst/description.html, vector/v.surf.rst/main.c: SQL
+	  support implemented for v.surf.rst
+
+2007-06-01 07:34  markus
+
+	* raster/r.random/description.html: example added
+
+2007-06-01 04:07  glynn
+
+	* raster/r.colors/main.c: Use G_make_fp_colors()
+
+2007-05-31 16:19  markus
+
+	* raster/r.in.gdal/description.html: GTOPO30 now works
+
+2007-05-31 10:17  martin
+
+	* raster/r.statistics/o_divr.c: added code by Glynn
+
+2007-05-31 10:16  martin
+
+	* raster/r.statistics/main.c, raster/r.statistics/method.h: added
+	  diversity function by Glynn
+
+2007-05-31 09:30  markus
+
+	* locale/po/grasslibs_pt_br.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grasstcl_pt_br.po: Paulo Marcondes <paulomarcondes
+	  gmail.com>: cont'ed
+
+2007-05-31 08:48  hamish
+
+	* scripts/r.in.wms/r.in.wms: if echo string can contain '=',
+	  g.message must use full message= syntax
+	  so the parser doesn't get confused.
+
+2007-05-31 01:16  william
+
+	* macosx/modbuild/Makefile: fix some modbuild include problems
+
+2007-05-30 17:50  hamish
+
+	* scripts/r.in.wms/r.in.wms: better error handling
+
+2007-05-30 17:36  hamish
+
+	* scripts/r.in.wms/r.in.wms: minor cosmetic
+
+2007-05-30 17:34  hamish
+
+	* scripts/r.in.wms/r.in.wms: remove duplicate code
+
+2007-05-30 17:34  scott
+
+	* general/manage/lib/README, general/manage/lister/README: code
+	  provenance review - adding README with copyright info
+
+2007-05-30 17:26  hamish
+
+	* scripts/r.in.wms/r.in.wms: fix wget opts for list download;
+	  better handle failed capabilities download
+	  (output the error)
+
+2007-05-30 17:24  scott
+
+	* general/manage/cmd/copy.c, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c: code provenance review - add
+	  copyright headers
+
+2007-05-30 17:24  hamish
+
+	* scripts/r.in.wms/description.html: link to gdal and xml2
+
+2007-05-30 17:08  scott
+
+	* general/g.mapsets/main_cmd.c, general/g.mapsets/main_inter.c:
+	  code provenance review - add copyright headers
+
+2007-05-30 16:59  scott
+
+	* display/drivers/PNG/main.c, display/drivers/PS/main.c: code
+	  provenance review - added header
+
+2007-05-30 16:48  scott
+
+	* raster/r.watershed/seg/main.c: copyright header cleanup
+
+2007-05-30 13:38  martinl
+
+	* vector/v.in.ascii/a2b.c, vector/v.in.ascii/head.c,
+	  vector/v.in.ascii/in.c, vector/v.in.ascii/points.c: Minor message
+	  cleaning
+
+2007-05-30 13:28  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: minor cleanup
+
+2007-05-30 13:10  markus
+
+	* contributors_extra.csv: Stephan Holl was missing
+
+2007-05-30 13:05  markus
+
+	* locale/po/grasstcl_it.po: Lorenzo Moretti <lorenzo.moretti
+	  bologna.enea.it>: cont'ed
+
+2007-05-30 10:46  hamish
+
+	* display/d.linegraph/description.html: linewrap, suggest GNUplot
+	  or xgraph instead of d.linegraph
+
+2007-05-30 08:45  hamish
+
+	* general/g.mapsets/description.html: more about map at othermapset,
+	  g.mapset
+
+2007-05-30 08:41  markus
+
+	* display/d.linegraph/linegraph.c, display/d.mon/pgms/start.c:
+	  missing copyright/license headers added
+
+2007-05-30 08:34  markus
+
+	* display/d.frame/frame.c: missing copyright/license headers added
+
+2007-05-30 08:30  markus
+
+	* db/drivers/odbc/execute.c, db/drivers/postgres/execute.c: missing
+	  copyright/license headers added (merge from HEAD)
+
+2007-05-30 08:26  hamish
+
+	* lib/init/helptext.html: allude to map at mapset and mapset search
+	  paths in see also: g.mapsets
+
+2007-05-30 08:20  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/createdb.c, db/base/databases.c, db/base/describe.c,
+	  db/base/drivers.c, db/base/dropdb.c, db/base/droptable.c,
+	  db/base/execute.c, db/base/select.c, db/base/tables.c: missing
+	  copyright/license headers added
+
+2007-05-30 07:34  hamish
+
+	* vector/v.clean/description.html: add rmsa caption
+
+2007-05-30 07:28  hamish
+
+	* vector/v.clean/description.html, vector/v.clean/v_clean_rmsa.png:
+	  clean rmsa tool graphic
+
+2007-05-30 06:54  hamish
+
+	* scripts/r.mask/description.html: better wording; the mask only
+	  applies when READING a raster map.
+
+2007-05-30 06:51  hamish
+
+	* raster/rasterintro.html: mention MASK
+
+2007-05-30 06:24  hamish
+
+	* vector/v.info/main.c: try for some formatting improvements. Could
+	  probably still use some more.
+	  I notice that Vect_get_proj_name() and _zone() are typically
+	  unset?!
+
+2007-05-30 05:18  hamish
+
+	* lib/init/variables.html: add some internal links for easy
+	  navigation
+
+2007-05-30 05:05  hamish
+
+	* scripts/r.mask/description.html: clarify more
+
+2007-05-30 05:01  hamish
+
+	* scripts/r.mask/description.html: clarify. forgot to mention that
+	  the previous commit fixed a html bug.
+
+2007-05-30 04:50  hamish
+
+	* scripts/r.mask/description.html: expand using content from the
+	  GRASS 5.4 r.mask help page
+
+2007-05-30 04:30  hamish
+
+	* lib/gis/parser.c: add --quiet button to tcl GUI windows
+
+2007-05-30 03:42  hamish
+
+	* general/g.message/description.html, general/g.message/main.c,
+	  include/gisdefs.h, lib/gis/error.c, lib/init/variables.html: add
+	  G_verbose_message(); debug level option for g.message; document
+
+2007-05-29 20:34  markus
+
+	* display/drivers/PS/description.html: docs drafted
+
+2007-05-29 18:35  markus
+
+	* raster/rasterintro.html: explain raster format
+
+2007-05-29 18:26  markus
+
+	* doc/projectionintro.html: mention gis.m
+
+2007-05-29 11:42  markus
+
+	* raster/r.sum/description.html,
+	  raster/r.surf.area/description.html: cross refs added
+
+2007-05-29 09:10  markus
+
+	* lib/vector/dglib/dglib.dox: Nitin K Dhiman: documentation
+	  extended
+
+2007-05-29 05:30  markus
+
+	* vector/v.lrs/lrs.html: intro added
+
+2007-05-29 04:43  hamish
+
+	* raster/r.colors/main.c: clarify (a little) -w and -l flag descr
+
+2007-05-29 04:19  hamish
+
+	* lib/gis/parser.c: i18n for overwrite flag
+
+2007-05-28 17:54  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: remove debug comment
+
+2007-05-28 17:51  hamish
+
+	* scripts/v.in.garmin/description.html,
+	  scripts/v.in.garmin/v.in.garmin: add support for using gardump
+	  from garmin-utils instead of gpstrans.
+	  only run db.execute once; more error checks.
+	  (Do not backport to 6.2.2, it still needs a lot of testing)
+
+2007-05-28 16:49  markus
+
+	* raster/r.rescale.eq/main.c: missing space added
+
+2007-05-28 16:48  markus
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Dávila: cont'ed
+
+2007-05-28 08:09  michael
+
+	* gui/icons/gui-profileopt.gif: profile options icon for wxgrass
+
+2007-05-28 07:14  hamish
+
+	* raster/r.colors/main.c: backwards compatibility for rules=
+	  option. (bug #381)
+
+2007-05-28 02:25  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: Fix description of ~ operator
+
+2007-05-28 00:19  glynn
+
+	* raster/r.mapcalc/mapcalc.y: Fix exp_logor definition
+
+2007-05-28 00:15  glynn
+
+	* raster/r.mapcalc/Makefile, raster/r.mapcalc/func_proto.h,
+	  raster/r.mapcalc/function.c, raster/r.mapcalc/mapcalc.l,
+	  raster/r.mapcalc/mapcalc.y, raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html, raster/r.mapcalc/xbitand.c,
+	  raster/r.mapcalc/xbitnot.c, raster/r.mapcalc/xbitor.c,
+	  raster/r.mapcalc/xbitxor.c, raster/r.mapcalc/xshiftl.c,
+	  raster/r.mapcalc/xshiftr.c, raster/r.mapcalc/xshiftru.c: Add
+	  bitwise operators, &, |, xor(), <<, >>, >>>
+	  Allow hex literals
+
+2007-05-26 03:17  glynn
+
+	* display/drivers/Makefile: Don't try to build any drivers if
+	  socket() isn't available
+	  PNG driver doesn't require PNG
+
+2007-05-25 10:15  martinl
+
+	* lib/gis/list.c, lib/gis/ls.c: i18n
+
+2007-05-25 10:04  martinl
+
+	* lib/gis/ls.c: missing header
+
+2007-05-25 05:09  hamish
+
+	* vector/v.type/main.c: Prepare code for GRASS 7: redo options so
+	  it works from the GUI without a
+	  wrapper script. LOSS OF FUNCTIONALITY: will only convert one pair
+	  at a time.
+
+2007-05-24 19:37  paul
+
+	* include/gisdefs.h, lib/gis/list.c, lib/gis/ls.c: Separate out
+	  G_ls() into G_ls() and G_ls_format(). Change the multi-column
+	  listing formatting to operate column-wise first rather than
+	  row-wise first,
+	  for better readability. Update g.list to use G_ls* functions.
+
+2007-05-24 16:04  moritz
+
+	* raster/r.support/front/run.c: replaced system() by G_spawn()
+
+2007-05-24 11:28  moritz
+
+	* general/g.mapset/main.c: removed system calls to avoid need of a
+	  shell
+
+2007-05-24 09:27  hamish
+
+	* vector/v.in.ascii/description.html: document allowable DD:MM:SS
+	  formats (MM and SS need two digits!)
+
+2007-05-24 08:43  hamish
+
+	* general/g.message/main.c: add flag for messages only to be
+	  displayed in verbose mode
+
+2007-05-24 06:28  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: indent untested code (still
+	  untested!)
+
+2007-05-23 19:06  markus
+
+	* locale/po/grasslibs_pt_br.po, locale/po/grassmods_pt_br.po: Paulo
+	  E. P. Marcondes <paulomarcondes gmail.com>: cont'ed
+
+2007-05-23 16:52  moritz
+
+	* lib/gis/gisbase.c: changed example to incite people to use
+	  G_spawn() instead of system().
+
+2007-05-23 08:30  hamish
+
+	* gui/tcltk/gis.m/script/v.type.sh: add missing conversions (part
+	  2)
+
+2007-05-23 08:25  hamish
+
+	* gui/tcltk/gis.m/script/v.type.sh: add missing conversions
+
+2007-05-23 05:06  hamish
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/script/v.type.sh: add
+	  a wrapper script for v.type so GUI can pick type order
+
+2007-05-22 09:39  moritz
+
+	* lib/init/grass.bat: Don't encourage people too much to use msys
+	  binaries as this would hide "unixisms".
+
+2007-05-22 05:59  glynn
+
+	* gui/tcltk/gis.m/dtext.tcl: Fix typo
+
+2007-05-21 12:36  hamish
+
+	* ps/ps.map/description.html: move NOTES to top, add note about
+	  calculating useful raster resolution.
+
+2007-05-21 10:30  hamish
+
+	* raster/r.support/front/description.html: new options, html bug
+
+2007-05-21 10:20  hamish
+
+	* raster/r.support/front/front.c: add support for data description
+	  and data source line 2.
+	  rename rast opt to raster, and org option to source1.
+
+2007-05-21 09:49  hamish
+
+	* include/gisdefs.h, lib/gis/raster_metadata.c,
+	  raster/r.info/main.c, raster/r.support/front/front.c: add raster
+	  metadata space for units and vertical datum
+
+2007-05-21 08:52  hamish
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/profile.tcl:
+	  errors don't crash all of GUI; whitespace
+
+2007-05-21 08:32  hamish
+
+	* display/d.graph/description.html, display/d.graph/do_graph.c:
+	  make symbol colors optional
+
+2007-05-21 05:14  hamish
+
+	* raster/r.info/main.c: use new G_vasprintf() in a fn instead of
+	  noisy G_asprintf().
+
+2007-05-21 03:17  hamish
+
+	* SUBMITTING: remove p.paint, add m.misc command families
+
+2007-05-20 23:28  moritz
+
+	* lib/init/grass.bat: another fix: forgot the "set" command; also
+	  added hint about adding msys lib and bin directory to path
+
+2007-05-20 18:28  william
+
+	* macosx/Makefile, macosx/pkg/resources/Info.plist.in: add
+	  datestamp to installer version to allow update installs to
+	  succeed
+
+2007-05-20 18:20  glynn
+
+	* display/d.mon/pgms/select.c, gui/tcltk/gis.m/gm.tcl,
+	  lib/init/variables.html, lib/raster/loc_io.c: Remove references
+	  to GRASS_FT_FONT
+	  Rename GRASS_FT_ENCODING -> GRASS_ENCODING
+
+2007-05-20 18:12  glynn
+
+	* lib/init/variables.html, lib/psdriver/Graph_close.c,
+	  lib/psdriver/Graph_set.c, lib/psdriver/psdriver.h: Add
+	  GRASS_PS_{HEADER,TRAILER} variables
+	  Document PSdriver variables
+
+2007-05-20 10:18  markus
+
+	* scripts/v.db.update/description.html: type cast also works now
+
+2007-05-20 04:49  william
+
+	* lib/init/init.sh, macosx/app/grass.sh.in: removed freetypecap
+	  from user cap generation
+
+2007-05-19 20:16  william
+
+	* macosx/app/grass.sh.in: set user fontcap env vars; group X11
+	  stuff; misc cleanup
+
+2007-05-19 20:14  william
+
+	* lib/init/init.sh: build user font/ft cap files if specified and
+	  not present
+
+2007-05-19 19:42  william
+
+	* macosx/modbuild/Makefile: use MODULE_TOPDIR for source of files
+	  to copy
+
+2007-05-19 15:43  glynn
+
+	* lib/gis/asprintf.c, lib/gis/spawn.c: Fix MinGW bugs in previous
+	  changes
+
+2007-05-19 14:32  moritz
+
+	* lib/init/grass.bat: fix of previous commit: variables have to be
+	  set before calling init.bat
+
+2007-05-19 14:28  moritz
+
+	* lib/init/grass.bat: indicate env variables defaults to make local
+	  adaption easier
+
+2007-05-19 14:16  moritz
+
+	* lib/init/init.bat: quote variable containing filename to allow
+	  for spaces
+
+2007-05-19 11:03  markus
+
+	* db/drivers/mysql/db.c: typos fixed
+
+2007-05-19 06:43  michael
+
+	* gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/rastnums.tcl: Added
+	  font selection to d.rast.num layer and updated legend code a
+	  little
+
+2007-05-19 06:20  michael
+
+	* gui/tcltk/gis.m/legend.tcl: Added font selection for legend text.
+
+2007-05-19 06:05  michael
+
+	* gui/tcltk/gis.m/gridline.tcl: Added font selection to grid layer
+
+2007-05-19 05:32  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/histogram.tcl: Improved
+	  font setting for individual layers. Added font setting to
+	  barscale.
+
+2007-05-19 04:12  michael
+
+	* gui/tcltk/gis.m/histogram.tcl: Added background color and font
+	  selection to histogram panel.
+
+2007-05-19 03:24  michael
+
+	* gui/tcltk/gis.m/rgbhis.tcl: Make RGB and HIS selection buttons
+	  radiobuttons. Formatting improvements.
+
+2007-05-19 03:24  michael
+
+	* gui/tcltk/gis.m/dtext.tcl: Set font using new font definition
+	  functions
+
+2007-05-19 03:23  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmmenu.tcl: Update to
+	  permit other GUI panels to use font setting procedure.
+
+2007-05-19 00:52  hamish
+
+	* swig/python/interfaces/Makefile: distclean cleans autogen files
+
+2007-05-18 22:39  markus
+
+	* vector/v.lrs/v.lrs.label/main.c: avoid SQL syntax error (for DBF)
+
+2007-05-18 22:03  markus
+
+	* lib/vector/vectorlib.dox: doxygen fix
+
+2007-05-18 20:39  markus
+
+	* SUBMITTING: fixed file name (thanks Yann)
+
+2007-05-18 20:36  markus
+
+	* scripts/v.db.update/description.html,
+	  scripts/v.db.update/v.db.update: added support to copy values
+	  from another column in the table
+
+2007-05-18 17:57  glynn
+
+	* include/gis.h, include/gisdefs.h, include/spawn.h,
+	  lib/gis/asprintf.c, lib/gis/sleep.c, lib/gis/spawn.c: Change
+	  G_sleep() to return void
+	  Add G_vasprintf()
+	  Add G_vspawn_ex(), SF_ARGVEC
+
+2007-05-18 14:30  robertoa
+
+	* locale/po/grassmods_es.po: Carlos Davila: new spanish messages
+
+2007-05-18 13:50  markus
+
+	* lib/gis/sleep.c: fixed Sleep
+
+2007-05-18 09:50  markus
+
+	* db/drivers/sqlite/fetch.c: Antonio Galea: fix wrong sqlite3_reset
+	  position
+
+2007-05-18 08:30  markus
+
+	* vector/v.reclass/description.html: cross links added
+
+2007-05-18 07:20  michael
+
+	* gui/icons/gui-overlay.gif, gui/icons/gui-rastanalyze.gif: icons
+	  updated to indicate that they are menu buttons. For wxgrass.
+
+2007-05-18 04:28  hamish
+
+	* scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel: no data is not an error.
+	  more junk removal for empty fields in wpt downloads.
+	  try for a better fix for Markus's NULL track attr bug.
+	  (unindented)
+
+2007-05-18 04:23  hamish
+
+	* scripts/g.mremove/g.mremove: make it more readable
+
+2007-05-18 04:20  hamish
+
+	* testsuite/vector, testsuite/vector/v.in.gps_test.sh: script for
+	  testing all modes of v.in.garmin and v.in.gpsbabel
+
+2007-05-17 18:57  william
+
+	* macosx/ReadMe.rtf: added step to allow proper linking for the
+	  TclTk X11 build
+
+2007-05-17 17:14  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: typos in comments.
+	  Markus's " "->NULL bug came from this line, now removed:
+	  echo -e "$TRACK_ID \t$S_TIME \t$S_LAT \t$S_LON \t$E_TIME \t$E_LAT
+	  \t$E_LON">> "$TMP.track_atts"
+	  When $FOO was empty all that was left was spaces. " \t" now
+	  replaced with
+	  fs='|', so we'll see how that $[3-7] awk test goes. Probably will
+	  need to
+	  remove &/or modify it. I don't see that bug, data between
+	  v.in.garmin and
+	  v.in.gpsbabel match, except for slight coord diffs as gpstrans
+	  reports less
+	  decimal places than gpsbabel. (millimeter range, well beyond GPS
+	  accuracy)
+
+2007-05-17 16:59  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: big-time update:
+	  uppercase option descr.
+	  default in= and format=.
+	  quoting fixes for rm tmpfiles.
+	  points for tracklines and routes now work.
+	  fix broken+backwards PROJ check (need a space before if[];then
+	  bracket!!!).
+	  consolidate WPT/RTE/TRK gpsbabel download & same for xCSV parsing
+	  code.
+	  check that something actually was downloaded.
+	  replace bogus elevation data with "".
+	  bad coord transforms can happen anywhere.
+	  fix SQL reserved "time" column name.
+	  fix bashisms.
+
+2007-05-17 16:19  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: fix rm tempfile quoting;
+	  uppercase opt descr;
+	  uniq track as gpstrans can hickup;
+	  bad coord transforms can happen anywhere;
+	  '!' in g.message must use single quotes
+
+2007-05-17 15:18  hamish
+
+	* scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms: fix
+	  quoting mistakes
+
+2007-05-17 11:32  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/paper.h,
+	  ps/ps.map/r_paper.c: Fix paper rotation: revert r_paper.c revs
+	  1.2,1.3. It was doing a double
+	  rotation- paper is already rotated by set_paper(). Add comment to
+	  the
+	  man page explaining which way is up. Remove new paper sizes that
+	  were
+	  introduced as a work-around to this bug.
+
+2007-05-17 09:16  markus
+
+	* general/manage/cmd/rename.c: drop word 'file' from last change
+
+2007-05-17 09:14  markus
+
+	* general/manage/cmd/rename.c: say which file type is accessed
+
+2007-05-17 09:08  markus
+
+	* vector/v.extract/description.html: explain how to selectively
+	  delete vector objects
+
+2007-05-17 08:54  markus
+
+	* db/base/db.execute.html: explain how to delete rows in table
+
+2007-05-17 08:13  hamish
+
+	* display/d.histogram/bar.c, display/d.histogram/description.html,
+	  display/d.histogram/main.c: add bgcolor option
+
+2007-05-17 08:05  hamish
+
+	* include/gis.h, lib/gis/parser.c: add new std parser options for
+	  color and bgcolor
+
+2007-05-17 07:22  markus
+
+	* raster/simwe/r.sim.water/description.html: missing words added
+	  (Jaro)
+
+2007-05-16 20:51  markus
+
+	* imagery/i.class/curses.c, imagery/i.class/signature.c,
+	  imagery/i.ortho.photo/menu/run.c,
+	  imagery/i.ortho.photo/photo.2image/curses.c,
+	  imagery/i.ortho.photo/photo.2target/curses.c,
+	  imagery/i.ortho.photo/photo.2target/digit.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.2target/target.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files.c,
+	  imagery/i.ortho.photo/photo.rectify/env.c,
+	  imagery/i.points/curses.c, imagery/i.points/digit.c,
+	  imagery/i.rectify/env.c, imagery/i.vpoints/curses.c,
+	  imagery/i.vpoints/digit.c, lib/ogsf/GS2.c, lib/ogsf/gsd_surf.c,
+	  lib/vector/Vlib/break_polygons.c, vector/v.transform/ask_trans.c:
+	  sleep() -> G_sleep() for MinGW
+
+2007-05-16 20:36  markus
+
+	* lib/gis/sleep.c: attempt at getting G_sleep() working for
+	  MS-Windows
+
+2007-05-16 19:59  glynn
+
+	* display/d.vect/main.c: Change default render= setting from g to l
+
+2007-05-16 17:52  glynn
+
+	* lib/psdriver/Graph_set.c: Fix bounding box for landscape with
+	  explicit width/height
+
+2007-05-16 12:11  hamish
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: nicely formatted x,y coords for
+	  zoom in/out/pan/measure while mouse drag
+
+2007-05-16 08:08  hamish
+
+	* gui/tcltk/gis.m/rgbhis.tcl: s/map/channel/
+
+2007-05-16 08:06  markus
+
+	* scripts/v.report/description.html, scripts/v.report/v.report:
+	  percent support added
+
+2007-05-16 08:05  hamish
+
+	* gui/tcltk/gis.m/rgbhis.tcl: bugfix: appending the wrong HIS
+	  channel
+	  add spinner for HIS brightness
+
+2007-05-16 07:13  martinl
+
+	* raster/r.reclass/input.c, raster/r.reclass/main.c,
+	  raster/r.reclass/parse.c, raster/r.reclass/reclass.c: * fgets ->
+	  G_getl2
+	  * message cleaning
+
+2007-05-16 05:32  hamish
+
+	* scripts/d.out.file/description.html: give a hint about what to do
+	  if you want EPS + d.frame
+
+2007-05-16 05:17  hamish
+
+	* display/d.his/description.html, display/d.his/main.c: help page
+	  updates: no parser.html; brighten opt; see alsos; add example
+
+2007-05-16 05:01  hamish
+
+	* scripts/d.out.file/description.html: add example using
+	  d.frame.quarter
+
+2007-05-16 04:24  hamish
+
+	* scripts/d.out.file/d.out.file: error if not a xmon, and warning
+	  if mixing EPS with d.frame
+
+2007-05-16 04:19  hamish
+
+	* gui/tcltk/gis.m/script/d.shadedmap: add brightness option to
+	  d.his
+
+2007-05-16 04:10  hamish
+
+	* display/d.his/main.c: add brightness option, i18n, EXIT_SUCCESS
+
+2007-05-16 03:10  glynn
+
+	* lib/raster/com_proto.c: Don't return values from "void" functions
+
+2007-05-15 16:50  martinl
+
+	* vector/v.edit/args.c: cosmetics: guisection added ('Query')
+
+2007-05-15 16:40  martinl
+
+	* vector/v.edit/a2b.c, vector/v.edit/args.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/proto.h: Flag "Do not close boundaries" activated
+	  -> Fn do_close() added
+
+2007-05-15 16:13  robertoa
+
+	* vector/lidar/v.lidar.correction/main.c: \"driver\" and \"db\"
+	  parameters removed * \"scn\" parameter not required *
+	  \"out_terrain\" parameter changed to \"terrain\"
+
+2007-05-15 16:10  robertoa
+
+	* vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/zones.c: Interpolation within overlaping
+	  zones improved
+
+2007-05-15 14:07  william
+
+	* macosx/app/GRASS.applescript, macosx/modbuild/License.rtf,
+	  macosx/modbuild/Makefile, macosx/modbuild/ReadMe.rtf,
+	  macosx/pkg/resources/License.rtf: Add/update license & copyright
+	  where needed
+
+2007-05-15 10:44  hamish
+
+	* tools/build_html_index.sh: remove bashism (echo -e). bug #5499
+
+2007-05-15 10:20  hamish
+
+	* gem/docs/make-html.sh: remove "echo -e" Bashism
+
+2007-05-15 09:54  hamish
+
+	* scripts/i.spectral/i.spectral: due to use of COORD[] array, this
+	  script much use Bash. Bug #5499
+
+2007-05-15 08:38  hamish
+
+	* tools/module_synopsis.sh: include scripts, r3.*, and non-parser
+	  modules
+
+2007-05-15 07:33  hamish
+
+	* scripts/d.out.file/d.out.file: fix monitor check if selected mon
+	  is not running, but another one is;
+	  module description
+
+2007-05-15 06:53  cho
+
+	* lib/gtcltk/gronsole.tcl: don't output the last line twice
+
+2007-05-15 06:49  wolf
+
+	* vector/v.label.sa/annealing.c, vector/v.label.sa/labels.c,
+	  vector/v.label.sa/labels.h, vector/v.label.sa/main.c: Indenting
+	  according to SUBMITTING
+
+2007-05-15 06:21  wolf
+
+	* vector/v.label.sa/annealing.c,
+	  vector/v.label.sa/description.html, vector/v.label.sa/labels.c,
+	  vector/v.label.sa/labels.h, vector/v.label.sa/main.c: Code clean
+	  up and added documentation
+
+2007-05-15 05:38  hamish
+
+	* scripts/d.out.file/d.out.file: add support for EPS output
+
+2007-05-14 21:56  glynn
+
+	* lib/psdriver/Erase.c, lib/psdriver/Graph_close.c,
+	  lib/psdriver/Graph_set.c, lib/psdriver/Set_window.c,
+	  lib/psdriver/psdriver.h, lib/psdriver/psdriver.ps: Add DSC
+	  comments, EPS support
+
+2007-05-14 21:17  markus
+
+	* lib/gis/null_val.c: docs fix (should all become doxgenized)
+
+2007-05-14 20:36  markus
+
+	* vector/v.lrs/v.lrs.create/main.c: only drop if table exists
+
+2007-05-14 20:31  markus
+
+	* lib/db/dbmi_client/table.c: document db_table_exists
+
+2007-05-14 20:17  scott
+
+	* raster3d/base/r3.timestamp.main.c: added copyright header
+
+2007-05-14 20:12  scott
+
+	* vector/v.voronoi/vo_main.c: code provenance review - added
+	  copyright header
+
+2007-05-14 20:07  scott
+
+	* imagery/i.fft/fftmain.c: fixed headers for code provenance
+
+2007-05-14 20:00  scott
+
+	* AUTHORS: added i.fft contributors
+
+2007-05-14 19:54  scott
+
+	* visualization/nviz/src/mkdspf_main.c: added code license header
+
+2007-05-14 19:36  scott
+
+	* lib/edit/edit_cats.c, lib/edit/edit_cellhd.c,
+	  lib/edit/edit_hist.c: code provenance review - added standard
+	  headers
+
+2007-05-14 18:58  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: message cosmetics
+
+2007-05-14 17:05  cho
+
+	* raster/simwe/r.sim.water/description.html: typo
+
+2007-05-14 16:07  markus
+
+	* lib/gpde/gpdelib.dox: title cosmetics
+
+2007-05-14 15:36  markus
+
+	* aclocal.m4, configure: Paul: distinguish SunOS 5.1.* and 5.10*
+
+2007-05-14 15:22  markus
+
+	* scripts/d.out.file/description.html: do g.region first
+
+2007-05-14 13:52  markus
+
+	* swig/python/grasspython.dox: link the right file
+
+2007-05-14 13:19  markus
+
+	* include/Make/Doxyfile_arch_html,
+	  include/Make/Doxyfile_arch_latex: also build for Python
+
+2007-05-14 13:15  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/break.c,
+	  vector/v.edit/description.html, vector/v.edit/flip.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/proto.h, vector/v.edit/select.c: * new tool
+	  "connect" added -> do_connect()
+	  * revision of do_break()
+	  * do_flip() simplified
+	  * various minor changes
+
+2007-05-14 10:38  markus
+
+	* Makefile: we need headers to build libs
+
+2007-05-14 10:24  markus
+
+	* include/gisdefs.h, include/imagedefs.h: remove non-existing
+	  function prototypes
+
+2007-05-14 10:24  markus
+
+	* lib/imagery/ask_group.c: remove non-existing function docs
+
+2007-05-14 10:23  markus
+
+	* swig/python/Makefile.in, swig/python/interfaces/imagedefs.i: more
+	  updates to current API
+
+2007-05-14 10:12  markus
+
+	* swig/python/interfaces/imagedefs.i: cleanup
+
+2007-05-14 10:03  markus
+
+	* swig/python/interfaces/Makefile: Fixed to latest API
+
+2007-05-14 08:56  martinl
+
+	* include/Vect.h, lib/vector/Vlib/snap.c: * new fn added -
+	  Vect_snap_lines_list()
+	  ** snaps only selected line (struct ilist)
+
+2007-05-14 08:03  hamish
+
+	* scripts/d.out.png/d.out.png, scripts/d.out.png/description.html:
+	  warn about future removal (replaced by d.out.file)
+
+2007-05-14 06:26  hamish
+
+	* display/drivers/HTMLMAP/description.html,
+	  display/drivers/PNG/description.html,
+	  display/drivers/XDRIVER/description.html,
+	  display/drivers/description.html: cleanup, link to other drivers
+
+2007-05-14 05:18  hamish
+
+	* display/d.rast.num/number.c: don't force font to romans. (allow
+	  FT fonts)
+
+2007-05-14 05:14  hamish
+
+	* display/d.rast.num/number.c: minor cleanup of parser opts
+
+2007-05-14 05:05  hamish
+
+	* display/d.legend/main.c: fix placement order in at= description,
+	  shorten
+
+2007-05-13 15:39  hamish
+
+	* display/d.vect.chart/bar.c, display/d.vect.chart/pie.c: use
+	  D_polygon() instead of G_plot_polygon() so PS driver output looks
+	  nice
+
+2007-05-13 15:13  hamish
+
+	* scripts/d.out.file/d.out.file,
+	  scripts/d.out.file/description.html: Major rewrite; add custom
+	  image size= option; add PostScript driver options
+
+2007-05-13 14:51  soeren
+
+	* raster/r.out.vtk/writeascii.c: Fixed scale bug
+
+2007-05-13 13:15  paul
+
+	* gui/tcltk/gis.m/gm.tcl: Use d.font --q instead of redirecting
+	  stderr on Hamish's suggestion
+
+2007-05-13 12:34  moritz
+
+	* vector/v.net.path/main.c, vector/v.net.path/path.c: allow reading
+	  coordinates from file and not only through pipe
+
+2007-05-13 06:06  michael
+
+	* gui/icons/gui-rastanalyze.gif: new icon for wxgrass
+
+2007-05-12 15:03  markus
+
+	* aclocal.m4, configure: attempt at fixing RT bug #5185 for solaris
+
+2007-05-12 01:39  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Set and unset GRASS_RENDER_IMMEDIATE
+	  for commands that still require
+	  interactive xterm. Removed from GUI menu old commands that
+	  require
+	  interactive xterm that have been replaced by equivalent TclTk
+	  modules.
+
+2007-05-11 21:45  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/mapcanvas.tcl: Set
+	  GRASS_RENDER_IMMEDIATE to TRUE at beginning of TclTk GUI session
+	  so that d.font -l works correctly.
+
+2007-05-11 19:14  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Davila: merged in new messages
+
+2007-05-11 19:09  markus
+
+	* raster/r.to.rast3elev/description.html: typo fixed
+
+2007-05-11 17:01  markus
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: work around empty first row
+	  from Garmin etrex (thanks to Eric Patton)
+
+2007-05-11 14:24  paul
+
+	* lib/init/variables.html: Update descriptions of some font-related
+	  environment variables
+
+2007-05-11 14:22  paul
+
+	* display/d.font/main.c, general/g.mkfontcap/description.html,
+	  general/g.mkfontcap/freetype_fonts.c,
+	  general/g.mkfontcap/local_proto.h, general/g.mkfontcap/main.c,
+	  general/g.mkfontcap/stroke_fonts.c, gui/tcltk/gis.m/gm.tcl,
+	  include/freetypecap.h, lib/driver/Font.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/font_freetype.c,
+	  lib/driver/init.c, lib/driver/parse_ftcap.c,
+	  tools/mkftcap/Makefile: * Add a trailing | to fontcap format to
+	  allow for future expansion and make parsing easier
+	  * Move GFONT_CAP struct to include/freetypecap.h
+	  * Change libdriver to read the new fontcap file
+	  * Stop tools/mkftcap generating the freetypecap file
+	  * Change libdriver to set the encoding according to the value in
+	  fontcap
+	  * Change d.font to list only the output from R_font() and not do
+	  a separate search for stroke fonts
+	  * Fix gis.m to discard stderr from d.font as using R_font() seems
+	  to cause it to print some PNG driver messages to stderr
+
+2007-05-11 12:30  paul
+
+	* general/g.mkfontcap/Makefile,
+	  general/g.mkfontcap/description.html,
+	  general/g.mkfontcap/freetype_fonts.c,
+	  general/g.mkfontcap/local_proto.h, general/g.mkfontcap/main.c,
+	  general/g.mkfontcap/stroke_fonts.c: Fix line endings!
+
+2007-05-10 23:55  william
+
+	* macosx/ReadMe.rtf: add note for when X11 not found
+
+2007-05-10 23:48  soeren
+
+	* lib/gpde/N_gwflow.c: Fixed cell height calculation bug
+
+2007-05-10 20:52  markus
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: close to functional
+
+2007-05-10 19:32  markus
+
+	* scripts/v.in.gpsbabel/description.html: docs boost
+
+2007-05-10 19:32  markus
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: first bugfix attemtps
+
+2007-05-10 19:18  glynn
+
+	* visualization/nviz/src/Makefile: Add $(OPENGLINC) to EXTRA_CFLAGS
+
+2007-05-10 17:16  glynn
+
+	* lib/gis/colors/grey1.0, lib/gis/colors/grey255: Add grey255 and
+	  grey1.0 colour tables
+
+2007-05-10 16:01  michael
+
+	* gui/tcltk/gis.m/rastnums.tcl: Removed some debug code.
+
+2007-05-10 15:46  paul
+
+	* general/Makefile, general/g.mkfontcap,
+	  general/g.mkfontcap/Makefile,
+	  general/g.mkfontcap/description.html,
+	  general/g.mkfontcap/freetype_fonts.c,
+	  general/g.mkfontcap/local_proto.h, general/g.mkfontcap/main.c,
+	  general/g.mkfontcap/stroke_fonts.c: Add new g.mkfontcap utility.
+
+2007-05-10 15:36  hamish
+
+	* gui/tcltk/gis.m/vector.tcl: add missing icon button press binding
+	  (sigh)
+
+2007-05-10 15:08  hamish
+
+	* gui/tcltk/gis.m/rastnums.tcl: add missing icon button press
+	  binding (last one for sure)
+
+2007-05-10 15:06  hamish
+
+	* gui/tcltk/gis.m/histogram.tcl: add missing icon button press
+	  binding (will it ever end?)
+
+2007-05-10 15:03  hamish
+
+	* gui/tcltk/gis.m/dtext.tcl: add missing icon button press binding
+	  (famous last words)
+
+2007-05-10 14:59  hamish
+
+	* gui/tcltk/gis.m/thematic.tcl: add missing icon button press
+	  binding (last one!)
+
+2007-05-10 14:57  hamish
+
+	* gui/tcltk/gis.m/maplabels.tcl, gui/tcltk/gis.m/maptext.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl: add missing icon button press binding
+
+2007-05-10 14:39  hamish
+
+	* gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.tcl: add
+	  missing icon button press binding
+
+2007-05-10 14:30  hamish
+
+	* gui/tcltk/gis.m/chart.tcl, gui/tcltk/gis.m/cmd.tcl: add missing
+	  icon button press binding
+
+2007-05-10 14:16  hamish
+
+	* gui/tcltk/gis.m/barscale.tcl: add missing icon button press
+	  binding
+
+2007-05-10 12:40  markus
+
+	* scripts/v.in.gpsbabel/grass_write_ascii.style: link to style
+	  guides added
+
+2007-05-10 12:09  glynn
+
+	* display/d.font/main.c, include/graphics.h, include/raster.h,
+	  lib/driver/Font.c, lib/driver/command.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/raster/com_io.c,
+	  lib/raster/com_proto.c, lib/raster/loc_proto.c,
+	  lib/raster/rem_proto.c, lib/raster/transport.h: Add R_font_list()
+	  and supporting infrastructure
+
+2007-05-10 10:36  hamish
+
+	* vector/v.digit/settings.tcl: adjusting the line width redraws the
+	  display
+
+2007-05-10 10:23  hamish
+
+	* vector/v.digit/global.h: more default line width slimming
+
+2007-05-10 10:01  markus
+
+	* vector/vectorintro.html: reference further v.db.* modules
+
+2007-05-10 09:58  markus
+
+	* scripts/Makefile: added missing v.db.renamecol
+
+2007-05-10 06:59  hamish
+
+	* display/d.linegraph/linegraph.c: update to modern GRASS coding
+	  style (i18n, EXIT_SUCCESS, etc)
+
+2007-05-10 06:50  hamish
+
+	* lib/gis/parser.c: typo in last commit
+
+2007-05-10 06:46  markus
+
+	* scripts/v.db.droptable/v.db.droptable: message cosmetics; avoid
+	  confusing error messages
+
+2007-05-10 06:38  hamish
+
+	* include/gis.h: typo in last commit
+
+2007-05-10 06:28  hamish
+
+	* include/gis.h, lib/gis/parser.c: add new standard opt for fs=
+	  field separator
+
+2007-05-09 23:20  michael
+
+	* gui/tcltk/gis.m/gis.m: Quoted string to launch gis manager.
+
+2007-05-09 21:43  markus
+
+	* vector/v.digit/settings.tcl: default line width reduced to 2 to
+	  be less clunky
+
+2007-05-09 21:32  glynn
+
+	* lib/pngdriver/Color.c, lib/pngdriver/Color_table.c,
+	  lib/pngdriver/Raster.c: Convert between internal and external
+	  format to remain within 0 to NCOLORS-1 range
+
+2007-05-09 21:06  markus
+
+	* AUTHORS: mention contributors.csv contributors_extra.csv
+
+2007-05-09 21:03  markus
+
+	* AUTHORS: FBK-irst (formerly ITC-irst)
+
+2007-05-09 21:02  markus
+
+	* contributors_extra.csv: Christoph Simon for v.mapcalc
+
+2007-05-09 21:01  glynn
+
+	* display/drivers/XDRIVER/Polydots.c,
+	  display/drivers/XDRIVER/Polygon.c,
+	  display/drivers/XDRIVER/Polyline.c: Handle zero-length points
+	  list
+
+2007-05-09 20:57  markus
+
+	* COPYING, debian/copyright: FBK-irst (formerly ITC-irst)
+
+2007-05-09 20:53  markus
+
+	* vector/v.mapcalc/map.c: copyright statement added
+
+2007-05-09 20:10  markus
+
+	* scripts/v.db.droptable/description.html,
+	  scripts/v.db.droptable/v.db.droptable: made non-interactive (bug
+	  #5118)
+
+2007-05-09 20:02  glynn
+
+	* lib/vector/dglib/avl.c, lib/vector/dglib/tavl.c: Leave NDEBUG
+	  alone
+
+2007-05-09 18:44  william
+
+	* macosx/app/grass.sh.in: fixed some path quoting
+
+2007-05-09 17:03  glynn
+
+	* lib/db/dbmi_client/c_list_tabs.c: Sort list
+
+2007-05-09 15:51  markus
+
+	* raster/r.info/main.c: added -m flag to print raster map title
+	  only
+
+2007-05-09 15:18  markus
+
+	* lib/init/init.sh: predefine DBF driver when autocreating mapset
+	  from startup CMD line call
+
+2007-05-09 15:04  markus
+
+	* vector/v.info/main.c: new -m flag to print full map title only
+
+2007-05-09 14:35  william
+
+	* macosx/modbuild/ReadMe.rtf: adjust instructions for new
+	  G_find_etc() fn
+
+2007-05-09 14:24  william
+
+	* macosx/modbuild/Makefile: adjust for html.make changes
+
+2007-05-09 11:58  markus
+
+	* vector/v.sample/main.c: more reasonable error message
+
+2007-05-09 10:24  markus
+
+	* raster/r.support/front/front.c: added support for datasrc
+	  (r.info)
+
+2007-05-09 10:24  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/break.c,
+	  vector/v.edit/description.html, vector/v.edit/main.c,
+	  vector/v.edit/proto.h, vector/v.edit/select.c,
+	  vector/v.edit/vertex.c: * do_split renamed to do_break [break.c]
+	  (various fixes)
+	  * documentation updated
+	  * features selection fixed (orthognal options)
+
+2007-05-09 10:21  hamish
+
+	* general/g.message/description.html: typos, hints, conform to
+	  grass help page style conventions.
+
+2007-05-09 10:05  hamish
+
+	* scripts/d.out.file/d.out.file,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.png/d.out.png, scripts/d.polar/d.polar,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/g.manual/g.manual,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/i.tasscap/i.tasscap,
+	  scripts/m.proj/m.proj, scripts/r.blend/r.blend,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.aster/r.in.aster,
+	  scripts/r.in.srtm/r.in.srtm, scripts/r.in.wms/r.in.gdalwarp,
+	  scripts/r.in.wms/r.in.wms, scripts/r.in.wms/wms.download,
+	  scripts/r.in.wms/wms.request,
+	  scripts/r.mapcalculator/r.mapcalculator,
+	  scripts/r.out.gdal/r.out.gdal.sh, scripts/r.plane/r.plane,
+	  scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.univar.sh/r.univar.sh,
+	  scripts/r3.mapcalculator/r3.mapcalculator,
+	  scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.dropcol/v.db.dropcol,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all,
+	  scripts/v.db.renamecol/v.db.renamecol,
+	  scripts/v.db.update/v.db.update, scripts/v.dissolve/v.dissolve,
+	  scripts/v.in.e00/v.in.e00, scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gns/v.in.gns, scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.in.mapgen/v.in.mapgen,
+	  scripts/v.rast.stats/v.rast.stats,
+	  scripts/v.univar.sh/v.univar.sh: Script message cleaning. Mostly
+	  fixing broken g.message.
+	  if "=" in comment must use message="";
+	  '!' must be inside single 'quotes'.
+
+2007-05-09 07:47  hamish
+
+	* scripts/r.in.wms/description.html: html bug
+
+2007-05-09 07:45  hamish
+
+	* scripts/r.in.wms/description.html,
+	  scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms,
+	  scripts/r.in.wms/wms.download, scripts/r.in.wms/wms.request,
+	  scripts/r.tileset/r.tileset: fix g.message usage (need explicit
+	  message=""); revert debug bits.
+	  make it much less verbose by default.
+	  don't use GNU specific sed s///i (bug #379).
+	  fix so single band download works.
+	  quote a bunch of variables.
+	  don't pretend to be MSIE (bug #318).
+
+2007-05-09 04:26  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Further update to dialog to select
+	  default display font. Now,
+	  current font (GRASS_FONT value) will automatically be selected
+	  in the listbox.
+
+2007-05-09 04:03  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Changed default display font selection to
+	  use listbox with entries
+	  from d.font -l.
+
+2007-05-08 21:34  glynn
+
+	* general/manage/lib/do_remove.c: Handle fully-qualified vector
+	  names
+
+2007-05-08 08:02  hamish
+
+	* raster/r.info/main.c: only print out Zone: info if proj is UTM.
+	  only print out Data Source: lines if it exists.
+
+2007-05-08 03:41  hamish
+
+	* raster/r.info/main.c: allow multiple print&exit flags to work.
+	  Capitalize timestamp in fancy output.
+
+2007-05-08 00:43  paul
+
+	* lib/driver/Font.c: Further simplification
+
+2007-05-08 00:24  paul
+
+	* lib/driver/Font.c: Revert accidental removal of font file
+	  existence check
+
+2007-05-07 23:42  paul
+
+	* include/gisdefs.h, lib/driver/Font.c, lib/driver/font2.c,
+	  lib/gis/paths.c: Remove possiblity of specifying the full path to
+	  one of the stroke
+	  fonts in the GRASS_FONT variable; also check if it contains an
+	  absolute
+	  path (i.e. now indicating a Freetype-compatible font file) in a
+	  cross-platform Windows-compatible way
+
+2007-05-07 16:02  markus
+
+	* vector/v.what.rast/description.html: example improved
+
+2007-05-07 15:59  markus
+
+	* scripts/v.db.addtable/description.html: link added
+
+2007-05-07 15:58  markus
+
+	* vector/v.what.rast/description.html: example improved
+
+2007-05-07 14:44  paul
+
+	* gui/tcltk/gis.m/gm.tcl: Simpler fix
+
+2007-05-07 14:19  moritz
+
+	* Makefile: small correction to write correct install path in the
+	  windows bat file
+
+2007-05-07 14:08  glynn
+
+	* lib/psdriver/Graph_set.c: Add GRASS_PAPER, GRASS_LANDSCAPE
+	  environment variables
+
+2007-05-07 13:48  martinl
+
+	* vector/v.edit/merge.c: bugfix: double free
+
+2007-05-07 11:48  paul
+
+	* gui/tcltk/gis.m/gm.tcl: Get font selector dialog working on
+	  Windows
+
+2007-05-07 11:47  paul
+
+	* tools/mkftcap/mkftcap: Also strip upper-case extensions from
+	  filenames to use as the short
+	  name in freetypecap.
+
+2007-05-07 04:23  michael
+
+	* gui/tcltk/gis.m/gm.tcl: replaced uname -s with pure tcltk
+	  tcl_platform to test system type
+	  for setting default font. This makes it work with Windows.
+
+2007-05-07 01:13  hamish
+
+	* raster/r.le/r.le.setup/ask_group.c,
+	  raster/r.le/r.le.setup/setup.c: use G_sleep() instead of sleep()
+
+2007-05-07 00:13  hamish
+
+	* vector/v.lrs/v.lrs.segment/description.html: more links to
+	  v.segment help page
+
+2007-05-06 21:04  glynn
+
+	* display/d.his/main.c, display/d.profile/main.c,
+	  display/d.rast/display.c, display/d.rgb/main.c,
+	  display/drivers/XDRIVER/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER.h, include/raster.h,
+	  lib/display/raster.c, lib/driver/Raster.c, lib/driver/command.c,
+	  lib/driver/driver.h, lib/pngdriver/Raster.c,
+	  lib/pngdriver/pngdriver.h, lib/psdriver/Raster.c,
+	  lib/psdriver/psdriver.h, lib/raster/com_proto.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h: Select masking at beginning of raster
+	  operation
+	  Change PS driver to output rasters as a single operation
+
+2007-05-06 21:03  glynn
+
+	* display/d.frame/d.frame.html, display/d.frame/description.html,
+	  include/Make/Html.make, tools/mkhtml.sh: Tidy HTML generation
+
+2007-05-06 08:06  hamish
+
+	* gui/tcltk/gis.m/gmmenu.tcl: better segment and lrs module
+	  descriptions
+
+2007-05-06 07:59  hamish
+
+	* vector/v.lrs/v.lrs.segment/description.html,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.segment/description.html, vector/v.segment/main.c: add
+	  file= option to read instructions from a text file instead of
+	  stdin
+	  (so modules can be used from the GUI)
+
+2007-05-06 07:02  hamish
+
+	* vector/v.lrs/v.lrs.segment/main.c: enable side_offset (copied
+	  from v.segment)
+
+2007-05-06 07:01  hamish
+
+	* vector/v.lrs/v.lrs.segment/description.html: see also v.segment
+
+2007-05-05 21:38  paul
+
+	* lib/driver/text3.c: DIY conversion to UCS-2BE encoding for when
+	  iconv is not installed
+
+2007-05-05 21:22  michael
+
+	* gui/icons/gui-overlay.gif: overlay icon for wxgrass
+
+2007-05-05 14:24  markus
+
+	* raster/r.support/front/front.c: restrict to current mapset only
+	  for editing
+
+2007-05-05 09:15  glynn
+
+	* imagery/i.pca/main.c, raster/r.flow/calc.c,
+	  raster/r.univar2/sort.c, raster3d/r3.stats/main.c,
+	  vector/v.edit/vertex.c: Fix (most) non-ANSI-isms (inline, //
+	  comments)
+
+2007-05-05 09:14  glynn
+
+	* display/d.his/main.c, display/d.profile/main.c,
+	  display/d.rast/display.c, display/d.rgb/main.c,
+	  display/drivers/HTMLMAP/main.c, display/drivers/XDRIVER/main.c,
+	  imagery/i.class/draw_cell.c,
+	  imagery/i.ortho.photo/photo.2image/drawcell.c,
+	  imagery/i.ortho.photo/photo.2target/drawcell.c,
+	  imagery/i.points/drawcell.c, imagery/i.vpoints/drawcell.c,
+	  include/display.h, include/graphics.h, include/raster.h,
+	  lib/display/raster.c, lib/driver/Raster.c, lib/driver/command.c,
+	  lib/driver/driver.h, lib/pngdriver/Driver.c,
+	  lib/psdriver/Driver.c, lib/psdriver/Raster.c,
+	  lib/psdriver/psdriver.h, lib/raster/com_io.c,
+	  lib/raster/com_proto.c, lib/raster/loc_proto.c,
+	  lib/raster/rem_proto.c, lib/raster/transport.h: Add
+	  D_cell_draw_end(), R_end_scaled_raster() and supporting
+	  infrastructure
+
+2007-05-04 15:45  michael
+
+	* tools/mkftcap/mkftcap: Added dfont and oft to font extensions
+	  searched. For Mac OS X systems.
+
+2007-05-04 13:42  hamish
+
+	* raster/r.what.color/description.html: fix tcltk color hint
+
+2007-05-04 13:39  hamish
+
+	* raster/r.what.color/description.html: hints for tcltk and
+	  wxpython
+
+2007-05-04 13:25  glynn
+
+	* lib/pngdriver/Color_table.c, lib/pngdriver/Graph_set.c,
+	  lib/pngdriver/pngdriver.h, lib/pngdriver/read_png.c,
+	  lib/pngdriver/write_png.c: Rename palette -> png_palette to avoid
+	  conflict with d.vect
+
+2007-05-04 09:43  markus
+
+	* db/drivers/sqlite/describe.c: define type specific field lengths
+	  rather than global 99999 fsize (which crashes v.digit form)
+
+2007-05-04 09:11  markus
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_el.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_el.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_ar.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_el.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_ko.po,
+	  locale/po/grasstcl_lv.po, locale/po/grasstcl_mr.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_sl.po,
+	  locale/po/grasstcl_tr.po, locale/po/grasstcl_vi.po,
+	  locale/po/grasstcl_zh.po: Carlos Dávila: messages updated
+
+2007-05-04 08:46  markus
+
+	* vector/v.segment/description.html: mention d.vect for direction
+	  of vector lines
+
+2007-05-04 08:08  markus
+
+	* vector/v.net.path/description.html: define traveling costs as
+	  inverse of speed limit
+
+2007-05-04 07:27  glynn
+
+	* lib/gis/opencell.c: Handle fully-qualified map names
+
+2007-05-04 06:00  hamish
+
+	* scripts/i.in.spotvgt/i.in.spotvgt: update r.colors rules= to
+	  r.colors color= (bug#381)
+
+2007-05-04 05:26  hamish
+
+	* vector/v.segment/description.html: cosmetics
+
+2007-05-04 05:17  hamish
+
+	* vector/v.segment/description.html, vector/v.segment/main.c: make
+	  positive side offsets goto the right, same as
+	  Vect_line_parallel()
+	  expand docs.
+
+2007-05-03 13:20  martinl
+
+	* vector/v.edit/main.c, vector/v.edit/proto.h,
+	  vector/v.edit/snap.c: message cosmetics
+
+2007-05-03 13:07  soeren
+
+	* raster/r.gwflow/description.html, raster/r.gwflow/main.c,
+	  raster/r.gwflow/valid_calc_7x7.sh,
+	  raster/r.gwflow/valid_calc_excavation.sh: Typo, better
+	  documentation
+	  validation scripts added
+
+2007-05-03 12:03  markus
+
+	* vector/v.lrs/v.lrs.segment/description.html: HTML fix
+
+2007-05-03 11:41  markus
+
+	* vector/v.net.iso/description.html: example now working
+
+2007-05-03 11:37  hamish
+
+	* vector/v.segment/main.c: add offset ability. EXIT_SUCCESS, i18n.
+
+2007-05-03 10:31  markus
+
+	* display/d.path/description.html: Spearfish example added
+
+2007-05-03 10:26  markus
+
+	* vector/v.net.path/path.c: message cosmetics
+
+2007-05-03 10:24  markus
+
+	* vector/v.net.path/description.html: example now working (thanks
+	  Hamish)
+
+2007-05-03 09:18  hamish
+
+	* vector/v.net.path/path.c: missing space
+
+2007-05-03 08:08  markus
+
+	* vector/v.net.iso/description.html: example fix, but...
+
+2007-05-03 07:29  markus
+
+	* vector/v.net.path/description.html: v.clean fix in example
+
+2007-05-03 06:09  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: - reverted to g.message
+	  changes
+
+2007-05-03 05:20  hamish
+
+	* scripts/r.in.srtm/r.in.srtm: quote path variables
+	  don't mind if the user already unzipped the file
+	  test for `file`
+	  change r.colors rules= to colors= (not backwards compatible
+	  $#^#$@!!)
+	  force rm, \bypass local "rm -i" alias etc
+
+2007-05-03 05:18  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: - v.univar.sh ->
+	  v.univar, backwards-compatible
+
+2007-05-03 04:32  glynn
+
+	* lib/driver/Font.c: Fix font existence check
+
+2007-05-03 04:25  glynn
+
+	* tools/mkftcap/mkftcap: Allow for files without extension
+
+2007-05-03 04:20  glynn
+
+	* display/d.font/main.c, lib/driver/Font.c, lib/driver/driverlib.h,
+	  lib/driver/parse_ftcap.c: Fix font existence checking
+
+2007-05-03 02:26  hamish
+
+	* display/d.vect/plot1.c, include/display.h, lib/display/symbol.c,
+	  lib/symbol/symbol/basic/pushpin: add D_symbol2(), change return
+	  types to void, force pushpin's pin to be black
+
+2007-05-02 23:49  william
+
+	* display/d.font/description.html: fix mismatched open/close tags
+
+2007-05-02 22:10  markus
+
+	* vector/v.net.iso/description.html,
+	  vector/v.net.path/description.html: more meaningful examples
+	  added (Spearfish) - need testing/simplification
+
+2007-05-02 22:06  markus
+
+	* locale/po/grasstcl_de.po: fix
+
+2007-05-02 20:15  markus
+
+	* vector/v.net.alloc/description.html,
+	  vector/v.net.iso/description.html,
+	  vector/v.net.salesman/description.html,
+	  vector/v.net.steiner/description.html,
+	  vector/v.net/description.html: links added
+
+2007-05-02 18:23  markus
+
+	* vector/v.edit/snap.c: typo fixed
+
+2007-05-02 17:24  markus
+
+	* vector/v.edit/description.html: tool=add example added; text
+	  cosmetics
+
+2007-05-02 16:39  soeren
+
+	* lib/gpde/Makefile, lib/gpde/N_les.c, lib/gpde/N_les_pivot.c,
+	  lib/gpde/N_pde.h, lib/gpde/N_solute_transport.c,
+	  lib/gpde/N_solvers.c, lib/gpde/N_solvers_classic_iter.c,
+	  lib/gpde/N_solvers_krylov.c, lib/gpde/solvers_local_proto.h,
+	  lib/gpde/test/test_solvers.c: Divided solver file into several
+	  files:
+	  * direct solver (gauss, lu) are in N_solver.c
+	  * classic iterative solver (sor, jacobi) are
+	  N_solvers_classic_iter.c
+	  * krylov subspace solver (cg, bicgstab) are in N_solvers_krylov.c
+	  * local solver prototypes are in solvers_local_proto.h
+	  Added pivoting strategy for direct solver
+	  * new file N_les_pivot.c
+	  Added new tests for solvers
+	  * Hilbert matrix calculation and solution
+
+2007-05-02 13:27  markus
+
+	* vector/v.db.connect/description.html: MySQL example added
+
+2007-05-02 12:47  glynn
+
+	* lib/psdriver/psdriver.ps: Fix bugs in masked rasters
+
+2007-05-02 10:42  hamish
+
+	* display/d.vect/plot1.c: centroids always use default color to
+	  stand out from underlying area
+
+2007-05-02 10:04  hamish
+
+	* display/d.vect/plot1.c: bugfix: wasn't calculating new x,y for
+	  icon if colors were off (potentially nasty)
+	  simplification: use D_symbol() to plot symbols
+	  speed: only plot symbols which are in the graphics frame (massive
+	  speedup for LIDAR)
+	  readability: change "rgb" variable name and set it using boolean
+	  values
+
+2007-05-02 08:55  markus
+
+	* scripts/d.vect.thematic/description.html: Spearfish example added
+
+2007-05-02 08:43  markus
+
+	* vector/v.what.rast/main.c: messages standardized;
+	  Vect_hist_command()
+
+2007-05-02 08:35  markus
+
+	* vector/v.sample/main.c, vector/v.what.rast/main.c: use
+	  G_OPT_R_INPUT
+
+2007-05-02 08:34  glynn
+
+	* display/d.font/main.c, lib/driver/driverlib.h,
+	  lib/driver/font_freetype.c, lib/driver/parse_ftcap.c,
+	  lib/driver/text3.c, scripts/d.text.freetype/d.text.freetype:
+	  Support multi-face font files using path|index syntax
+	  Change d.text.freetype to use d.text (d.text.new is now built as
+	  d.text)
+
+2007-05-02 08:22  markus
+
+	* vector/v.sample/main.c: parameter macros; messages standardized
+
+2007-05-02 08:09  glynn
+
+	* tools/mkftcap/mkftcap: Don't use extensions list with fc-list
+	  output
+
+2007-05-02 07:59  glynn
+
+	* tools/mkftcap/mkftcap: Replace -printf (GNU extension) with
+	  -print + sed
+
+2007-05-02 07:50  glynn
+
+	* tools/mkftcap/mkftcap: Also find Type1 fonts
+	  Also use fc-list
+
+2007-05-02 07:49  glynn
+
+	* lib/gis/parser.c: Use dynamically-allocated buffer
+
+2007-05-02 06:59  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/do_plt.c,
+	  ps/ps.map/r_plt.c: activate symbol rotation for "point"
+	  instruction, fix documentation for
+	  "vpoints" instruction as rotate already works there for both EPS
+	  and
+	  built-in symbols.
+
+2007-05-02 06:00  hamish
+
+	* display/d.graph/do_graph.c, display/d.paint.labels/do_labels.c,
+	  include/gisdefs.h, lib/gis/rotate.c, lib/symbol/stroke.c,
+	  ps/ps.map/do_labels.c: add floating point version of libgis
+	  rotation tool (Glynn), adjust things
+	  using the int version as needed.
+
+2007-05-02 02:36  glynn
+
+	* lib/gis/Makefile, lib/gis/fmode.dat: Tidy handling of
+	  $(FMODE_OBJ)
+
+2007-05-01 21:09  markus
+
+	* vector/v.lrs/v.lrs.segment/main.c: predefine DBMI settings
+
+2007-05-01 19:08  markus
+
+	* vector/v.lrs/v.lrs.create/description.html,
+	  vector/v.lrs/v.lrs.create/main.c: since we create a new reference
+	  table, we drop leftover old rstable
+
+2007-05-01 11:59  markus
+
+	* tools/g.html2man/g.html2man: support for < and > added
+
+2007-05-01 11:18  markus
+
+	* vector/v.segment/description.html: fix
+
+2007-05-01 10:32  markus
+
+	* vector/v.split/description.html: Spearfish example added
+
+2007-05-01 10:32  markus
+
+	* vector/v.segment/description.html: comment fix
+
+2007-05-01 10:18  markus
+
+	* vector/v.segment/description.html: Spearfish examples added
+
+2007-05-01 09:30  markus
+
+	* vector/v.segment/description.html: links added
+
+2007-05-01 09:28  markus
+
+	* vector/v.split/description.html: a bit more of an explanation
+
+2007-05-01 08:06  hamish
+
+	* lib/init/grass-run.src: remove bashisms (bug #5499)
+
+2007-05-01 07:51  hamish
+
+	* display/d.paint.labels/do_labels.c: respect GRASS_FONT, if
+	  present
+
+2007-04-30 19:46  markus
+
+	* general/g.findfile/main.c: catch if file=map at mapset1 is specified
+	  along with mapset=mapset2
+
+2007-04-30 19:36  markus
+
+	* general/g.findfile/main.c: reverted wrong patch
+
+2007-04-30 19:35  glynn
+
+	* tools/mkftcap/Makefile, tools/mkftcap/mkftcap: Make mkftcap write
+	  to stdout
+	  Add additional MacOSX directories
+	  Add command-line arguments to list of directories
+
+2007-04-30 19:34  markus
+
+	* general/g.findfile/main.c: catch if file=map at mapset1 is specified
+	  along with mapset=mapset2
+
+2007-04-30 15:59  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Getting rid of some debugging code
+
+2007-04-30 15:45  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Fixed problem with need to strip
+	  extension and path from stroke fonts. Also fixed a couple issues
+	  with font directory persistence within session.
+
+2007-04-30 15:01  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Fixed bug for initial directory to search
+	  for fonts under Cygwin.
+
+2007-04-30 14:49  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Updated menu entry for d.rast.edit to
+	  launch the new TclTk version.
+
+2007-04-30 12:08  soeren
+
+	* lib/gpde/N_les_assemble.c, lib/gpde/N_pde.h,
+	  lib/gpde/N_solute_transport.c, lib/gpde/N_solute_transport.h,
+	  lib/gpde/N_upwind.c: Added correct handling of transmission
+	  boundary conditions for solute transport
+
+2007-04-30 10:02  markus
+
+	* raster/simwe/r.sim.water/spearfish.sh: adapted to new units
+
+2007-04-30 09:46  glynn
+
+	* scripts/Makefile, scripts/d.freetypecap, tools/Makefile,
+	  tools/mkftcap, tools/mkftcap/Makefile, tools/mkftcap/mkftcap:
+	  scripts/d.freetypecap -> tools/mkftcap
+
+2007-04-30 08:03  markus
+
+	* ps/ps.map/description.html, ps/ps.map/paper.h: a4-landscape and
+	  a3-landscape paper added
+
+2007-04-30 06:57  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Fixed various bugs and improved
+	  functionality - made settings persist throughout session.
+
+2007-04-30 05:34  michael
+
+	* gui/tcltk/gis.m/gm.tcl: A couple of bug fixes for default display
+	  font selection
+
+2007-04-30 05:24  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Added default starting directories for
+	  other systems when selecting default display font
+
+2007-04-30 05:13  markus
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/description.html,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/input.c:
+	  sites support update to vector points via legacy lib
+
+2007-04-30 05:03  markus
+
+	* lib/sites/README: fix and update
+
+2007-04-30 04:35  markus
+
+	* raster/simwe/r.sim.water/description.html,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/input.c:
+	  Helena, Jaro: input units modified
+
+2007-04-30 04:26  glynn
+
+	* scripts/Makefile, scripts/d.freetypecap,
+	  scripts/d.freetypecap/Makefile,
+	  scripts/d.freetypecap/d.freetypecap,
+	  scripts/d.text.freetype/Makefile: Add d.freetypecap
+
+2007-04-30 04:25  markus
+
+	* locale/po/grassmods_fr.po: fixed spurious ^Ms in file
+
+2007-04-30 00:57  michael
+
+	* gui/tcltk/gis.m/chart.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/thematic.tcl: Improved error trapping by adding
+	  catch clauses to open and close statements
+
+2007-04-30 00:48  michael
+
+	* gui/tcltk/gis.m/maplabels.tcl: Added catch clause to open and
+	  close statments for better error trapping. Update some other
+	  features.
+
+2007-04-30 00:47  michael
+
+	* gui/tcltk/gis.m/mapprint.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/tksys.tcl, gui/tcltk/gis.m/vector.tcl: Improved
+	  error trapping by adding or enhancing catch clauses on open and
+	  close statements
+
+2007-04-29 23:52  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Added error traps (catch clauses) to
+	  open and close statements.
+	  catch on close will print error to terminal (hopefully).
+	  
+	  Also fixed serious bug caused by new map at mapset syntax for maps
+	  in
+	  current mapset. This had broken georect completely.
+
+2007-04-29 23:51  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/runandoutput.tcl:
+	  Added error traps (catch clauses) to open and close statements.
+	  catch on close will print error to terminal (hopefully).
+
+2007-04-29 22:24  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Improved default font selection to
+	  include stroke fonts and character encoding.
+
+2007-04-29 20:59  michael
+
+	* gui/tcltk/gis.m/dtext.tcl: Updated help text
+
+2007-04-29 20:49  michael
+
+	* gui/tcltk/gis.m/dtext.tcl: Improved font handling
+
+2007-04-29 20:48  michael
+
+	* gui/tcltk/gis.m/rastnums.tcl: Added catch to close statement for
+	  better error trapping
+
+2007-04-29 20:48  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Added catch to close statement
+	  (following open g.region) for better error trapping
+
+2007-04-29 20:47  michael
+
+	* lib/gtcltk/gronsole.tcl: I think I've fixed the problem with the
+	  gronsole progress bar crashing the GUI.
+
+2007-04-29 09:42  hamish
+
+	* vector/v.what/main.c: if multiple coords are given on the command
+	  line, don't just do the first;
+	  allow input from stdin to be separated by commas, spaces, or
+	  tabs.
+
+2007-04-29 07:39  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmmenu.tcl: Added menu
+	  item to select default display font.
+
+2007-04-28 21:57  scott
+
+	* lib/dspf/README: update code attribution based on PSC feedback
+
+2007-04-27 20:41  scott
+
+	* visualization/nviz/src/README: added missing contributors
+
+2007-04-27 20:15  scott
+
+	* lib/driver/command.c, lib/driver/init.c, lib/driver/main.c,
+	  lib/dspf/README: code provenance review - added copyright headers
+
+2007-04-27 19:43  scott
+
+	* visualization/nviz/src/README: fixed missed email address
+	  obfuscation in credits
+
+2007-04-27 04:03  hamish
+
+	* vector/v.what/main.c: fix module description; fix segfault which
+	  happened if no coords were given
+
+2007-04-27 00:50  soeren
+
+	* display/d.rast.num/number.c: Added "Number of significant digits"
+	  flag "dp" for floating point number rendering
+
+2007-04-27 00:26  glynn
+
+	* display/d.legend/main.c: Draw smooth legend using boxes instead
+	  of lines
+
+2007-04-26 23:00  glynn
+
+	* general/manage/cmd/remove.c: Fix bug with removing reclass maps
+	  when using qualified names
+
+2007-04-26 22:44  glynn
+
+	* lib/gis/unix_socks.c: Remove unnecessary use of GRASS_VERSION_*
+
+2007-04-26 20:42  markus
+
+	* visualization/nviz/src/README, visualization/nviz/src/nvizMain.c:
+	  fixed email for Philip
+
+2007-04-26 17:39  scott
+
+	* lib/display/symbol.c: code provenance - updated copyright header
+
+2007-04-26 17:38  scott
+
+	* lib/display/draw.c: code provenance - added copyright header
+
+2007-04-26 17:23  scott
+
+	* lib/db/sqlp/sql.c: code provenance - updated contributors
+
+2007-04-26 17:18  scott
+
+	* lib/db/dbmi_driver/driver.c: provenance review - add standard
+	  header
+
+2007-04-26 17:06  scott
+
+	* lib/db/dbmi_client/column.c: code provenance - updated
+	  contributors
+
+2007-04-26 17:02  scott
+
+	* lib/db/README: code provenance standard header - db library
+	  overview
+
+2007-04-26 16:49  scott
+
+	* lib/db/dbmi_base/xdr.c, lib/segment/try.c: corrected code
+	  attribution
+
+2007-04-26 16:41  scott
+
+	* visualization/nviz/src/README, visualization/nviz/src/nvizMain.c:
+	  code provenance review - add standard headers
+
+2007-04-26 15:05  martinl
+
+	* scripts/v.db.update/v.db.update: check column data type
+
+2007-04-26 13:40  markus
+
+	* db/drivers/dbf/db.c: create dbf/ dir if not exists
+
+2007-04-26 13:05  hamish
+
+	* display/d.paint.labels/do_labels.c,
+	  display/d.paint.labels/local_proto.h,
+	  display/d.paint.labels/rotate.c: move rotate_around_pt() into
+	  G_rotate_around_pt()
+
+2007-04-26 13:02  markus
+
+	* db/drivers/dbf/db.c: indent -nbad -bap -bbb -nbbo -nbc -br -bli1
+	  -bls -cbi0 -ncdb -nce -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl
+	  -i4 -ip4 -l80 -lc80 -lp -npcs -pi4 -nprs -npsl -sbi0 -sc -nsob
+	  -ss -ts8
+
+2007-04-26 13:01  hamish
+
+	* ps/ps.map/do_labels.c: pad space between labels and their points.
+	  (rotation-safe)
+
+2007-04-26 12:58  hamish
+
+	* display/d.graph/description.html, display/d.graph/do_graph.c,
+	  display/d.graph/graphics.c, display/d.graph/local_proto.h: add
+	  rotation support for symbols
+
+2007-04-26 12:52  hamish
+
+	* include/gisdefs.h, lib/gis/rotate.c, lib/symbol/stroke.c: add
+	  G_rotate_around_pt() to libgis; enable symbol rotation in
+	  S_stroke()
+
+2007-04-26 09:26  hamish
+
+	* Makefile: only give hints on how to fix errors if errors were
+	  detected
+
+2007-04-26 09:22  glynn
+
+	* raster/r.reclass/reclass.c: Fix r.reclass bug
+
+2007-04-26 00:16  glynn
+
+	* Makefile, gem/Makefile, include/gisdefs.h, include/version.h.in,
+	  lib/gis/version.c, raster/r.reclass/reclass.c: Make
+	  GRASS_VERSION_* preprocessor macros rather than variables
+	  Fix Makefile exit status to handle error.log additions
+	  Clean up gem/Makefile
+	  Remove unused G_version()
+	  Fix r.reclass bug
+
+2007-04-25 23:34  hamish
+
+	* Makefile: add error fixing hints as posted by Glynn on the
+	  mailing list. Should
+	  probably happen as a single string with \n's, but I'm not sure
+	  how to
+	  do that safely.
+
+2007-04-25 22:08  markus
+
+	* scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.dropcol/v.db.dropcol,
+	  scripts/v.db.update/v.db.update,
+	  scripts/v.rast.stats/v.rast.stats: test improved: does map exist
+	  in CURRENT mapset?
+
+2007-04-25 21:07  markus
+
+	* vector/v.what/description.html: example added
+
+2007-04-25 21:07  markus
+
+	* vector/v.what/main.c: parameters reordered to standard (map name
+	  first)
+
+2007-04-25 20:46  markus
+
+	* scripts/v.report/description.html: more explanations; example
+	  added
+
+2007-04-25 20:34  markus
+
+	* display/d.vect/description.html: fix
+
+2007-04-25 20:24  markus
+
+	* display/d.vect/description.html: HTML fixes; examples updated;
+	  easier addition of GRASSRGB column
+
+2007-04-25 19:25  markus
+
+	* general/g.region/cmd/printwindow.c: fixed reverted
+	  ll_clon/ll_clat description
+
+2007-04-24 20:49  markus
+
+	* scripts/v.dissolve/v.dissolve: fixed broken exit
+
+2007-04-24 10:02  hamish
+
+	* gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/runandoutput.tcl:
+	  catch the closes: any error or even warning written to stderr
+	  will crash
+	  all of gis.m if not caught.
+
+2007-04-24 08:21  markus
+
+	* raster/r.le/r.le.setup/sample.c: fixed missing include
+
+2007-04-24 07:47  markus
+
+	* vector/v.lrs/lrs.html: comment removed
+
+2007-04-24 06:02  markus
+
+	* lib/db/README: original DBMI author identified
+
+2007-04-24 02:41  glynn
+
+	* lib/pngdriver/Graph_set.c: Don't try to read non-existent
+	  $GRASS_PNGFILE
+
+2007-04-24 02:40  glynn
+
+	* visualization/ximgview, visualization/ximgview/Makefile,
+	  visualization/ximgview/color.c, visualization/ximgview/main.c:
+	  Add simple BMP image viewer
+
+2007-04-23 22:04  scott
+
+	* lib/db/dbmi_base/xdr.c: code provenance review - add standard
+	  headers
+
+2007-04-23 21:55  scott
+
+	* raster/r.random.cells/README, raster/r.random.cells/main.c: code
+	  provenance review - adding standard headers
+
+2007-04-23 20:02  glynn
+
+	* lib/pngdriver/Graph_set.c, lib/pngdriver/read_bmp.c: Improvements
+	  and fixes to memory-mapped BMP file
+
+2007-04-23 19:02  scott
+
+	* lib/datetime/README: code provenance review - added standard
+	  header
+
+2007-04-23 18:55  scott
+
+	* lib/cdhc/README: code provenance review - insert standard header
+
+2007-04-23 18:46  scott
+
+	* lib/segment/init.c: code provenance review - insert standard
+	  header
+
+2007-04-23 18:37  scott
+
+	* lib/btree/try.c: code provenance review - insert standard header
+
+2007-04-23 18:16  glynn
+
+	* lib/db/dbmi_client/start.c: Fix MinGW regression
+
+2007-04-23 17:58  scott
+
+	* lib/driver/main.c: code provenance review - added standard
+	  headers
+
+2007-04-23 16:27  scott
+
+	* display/d.measure/main.c, display/d.paint.labels/main.c,
+	  display/d.what.rast/main.c, display/d.where/main.c,
+	  lib/bitmap/main.c, visualization/xganim/main.c: code provenance
+	  review - added standard headers
+
+2007-04-23 16:18  scott
+
+	* raster/r.out.pov/main.c: code provenance review - add standard
+	  header
+
+2007-04-23 11:01  martinl
+
+	* vector/v.to.db/areas.c, vector/v.to.db/lines.c,
+	  vector/v.to.db/main.c, vector/v.to.db/parse.c,
+	  vector/v.to.db/query.c, vector/v.to.db/report.c,
+	  vector/v.to.db/units.c, vector/v.to.db/update.c: * message
+	  cleaning (i18n, fprintf -> G_)
+	  * more keywords...
+
+2007-04-23 09:29  markus
+
+	* vector/v.in.db/main.c: driver and database are predefined (so not
+	  required); made table first parameter for consistency
+
+2007-04-23 08:16  markus
+
+	* lib/gtcltk/select.tcl: avoid bind_scroll_list error
+
+2007-04-23 01:03  glynn
+
+	* lib/pngdriver/Color_table.c, lib/pngdriver/Draw_bitmap.c,
+	  lib/pngdriver/Erase.c, lib/pngdriver/Graph_close.c,
+	  lib/pngdriver/Graph_set.c, lib/pngdriver/Makefile,
+	  lib/pngdriver/pngdriver.h, lib/pngdriver/read.c,
+	  lib/pngdriver/read_bmp.c, lib/pngdriver/read_png.c,
+	  lib/pngdriver/read_ppm.c, lib/pngdriver/write.c,
+	  lib/pngdriver/write_bmp.c, lib/pngdriver/write_png.c,
+	  lib/pngdriver/write_ppm.c: Allow reading/writing BMP files
+	  Allow mmap()ed framebuffer
+	  Refactor colour handling
+
+2007-04-22 22:25  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Davila spanish translations
+
+2007-04-22 22:01  glynn
+
+	* include/P_site.h, include/gisdefs.h, lib/gis/timestamp.c,
+	  lib/sites/sites.c: Use const where appropriate
+	  Remove support for pre-ANSI prototypes
+	  Move sitelib function declarations from gisdefs.h to P_site.h
+
+2007-04-22 20:07  glynn
+
+	* raster/r.what.color/description.html, raster/r.what.color/main.c:
+	  Add format= option
+	  Output values in decimal by default
+
+2007-04-22 11:04  hamish
+
+	* display/d.vect.chart/main.c: add magenta to the default color
+	  list
+
+2007-04-22 09:36  hamish
+
+	* lib/gis/parser.c: better indentation for ->descriptions from
+	  G_usage()
+
+2007-04-22 09:25  hamish
+
+	* vector/v.distance/main.c: cleanup parser stuff (use
+	  ->descriptionS, ->guisection)
+
+2007-04-22 05:43  glynn
+
+	* display/d.extend/main.c, include/display.h, include/gisdefs.h,
+	  include/imagedefs.h, lib/display/cnversions.c,
+	  lib/display/draw.c, lib/display/list.c, lib/display/raster.c,
+	  lib/display/raster2.c, lib/display/symbol.c,
+	  lib/display/window.c, lib/fonts/for_grass, lib/front.end,
+	  lib/gis/color_get.c: Use const where appropriate
+	  Remove D_* functions relating to site lists (no longer used)
+	  Remove sites code from d.extend (the sites list will always be
+	  empty)
+	  Remove prototypes for removed functions from imagerydefs.h
+	  Use (void) rather than () for empty parameter lists
+
+2007-04-21 23:12  glynn
+
+	* include/raster.h, lib/driver/Raster.c, lib/driver/driver.h,
+	  lib/raster/com_proto.c, lib/raster/loc_proto.c,
+	  lib/raster/rem_proto.c, lib/raster/transport.h: Use const where
+	  appropriate
+
+2007-04-21 22:10  markus
+
+	* vector/v.lrs/lrs.html,
+	  vector/v.lrs/v.lrs.create/description.html,
+	  vector/v.lrs/v.lrs.where/description.html: finally I got it:
+	  start_mp/end_mp cols must be decimal. Examples added
+
+2007-04-21 21:34  william
+
+	* general/Makefile: new g.findetc module (missed makefile update)
+
+2007-04-21 21:25  glynn
+
+	* lib/gis/icon.c: Fixed to deal with in-place transformation
+
+2007-04-21 20:37  glynn
+
+	* lib/gis/icon.c: Optimisation
+
+2007-04-21 20:36  glynn
+
+	* include/btree.h, lib/btree/create.c, lib/btree/find.c,
+	  lib/btree/free.c, lib/btree/next.c, lib/btree/try.c,
+	  lib/btree/update.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/map3.c, raster/r.null/null.c,
+	  raster/r.support/front/front.c: Use const where appropriate
+	  Use void* rather than char* for generic pointers
+	  Use explicit types for function pointers
+
+2007-04-21 20:33  glynn
+
+	* lib/gis/icon.c: Don't multiply by scale twice
+
+2007-04-21 18:09  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Fix bug in help for georectifier
+	  polynomial transformation buttons.
+
+2007-04-21 15:56  markus
+
+	* imagery/i.cca/main.c: Msg cosmetics for translation (using
+	  standard text)
+
+2007-04-21 11:49  hamish
+
+	* display/d.vect.chart/main.c: add a flag to output info needed to
+	  construct a legend.
+	  (use d.graph or r.mapcalc+r.colors+cats/file to make the legend)
+
+2007-04-21 05:34  glynn
+
+	* lib/vask/V_error.c: Restore sleep, using G_sleep()
+
+2007-04-21 05:33  glynn
+
+	* include/vask.h, lib/vask/V_acc.c, lib/vask/V_call.c,
+	  lib/vask/V_clear.c, lib/vask/V_const.c, lib/vask/V_error.c,
+	  lib/vask/V_exit.c, lib/vask/V_init.c, lib/vask/V_line.c,
+	  lib/vask/V_ques.c, lib/vask/V_support.c, lib/vask/V_trim_dec.c:
+	  Clean up vask interface
+	  Use const where appropriate
+	  Use void for functions which don't return a meaningful value
+	  Use void for empty parameter lists
+	  Remove bogus use of "register" in parameter declarations
+	  Make V_error() variadic to eliminate need for sprintf()s
+
+2007-04-21 05:30  glynn
+
+	* include/Make/Grass.make.in, lib/imagery/sigset.c: Remove imagery
+	  lib dependency upon libgmath
+
+2007-04-21 05:29  glynn
+
+	* lib/gis/home.c: Remove bogus Unix implementation - use
+	  getenv("HOME")
+
+2007-04-20 23:00  glynn
+
+	* lib/gis/remove.c: Perform legal-name check *after* normalisation
+
+2007-04-20 22:04  robertoa
+
+	* locale/po/grasstcl_es.po: Some fuzzy messages
+
+2007-04-20 22:03  robertoa
+
+	* locale/po/grasslibs_es.po: translation of primitive as "elemento"
+	  instead of "primitivo"
+
+2007-04-20 21:52  glynn
+
+	* include/segment.h, lib/segment/address.c, lib/segment/debug.c,
+	  lib/segment/format.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/init.c, lib/segment/pageout.c, lib/segment/put.c,
+	  lib/segment/put_row.c, lib/segment/seek.c, lib/segment/setup.c:
+	  Use "const" where appropriate
+	  Tidy
+
+2007-04-20 18:35  glynn
+
+	* display/d.text.freetype/main.c, display/d.text.new/main.c,
+	  display/d.text/main.c: Use GISPROMPT_COLOR
+
+2007-04-20 18:23  glynn
+
+	* raster/r.what.color/description.html, raster/r.what.color/main.c:
+	  Fix module description
+	  Always generate a line of output for each value, even for invalid
+	  values, to simplify parsing
+	  Update description.html accordingly
+
+2007-04-20 18:06  glynn
+
+	* raster/r.what.color/description.html: Add description.html for
+	  r.what.color
+
+2007-04-20 17:51  glynn
+
+	* lib/gis/open_misc.c: Remove _fmode definition to avoid conflicts
+	  with $(FMODE_OBJ)
+
+2007-04-20 17:49  glynn
+
+	* raster/r.patch/main.c: Remove limitation on number of input maps
+
+2007-04-20 17:45  glynn
+
+	* include/gis.h, lib/gis/reclass.c: Change name, mapset fields in
+	  struct Reclass from char[] to char*
+
+2007-04-20 17:41  glynn
+
+	* lib/gis/opencell.c: Tidy
+
+2007-04-20 17:40  glynn
+
+	* lib/gis/open.c: Remove _fmode definition to avoid conflicts with
+	  $(FMODE_OBJ)
+
+2007-04-20 06:34  hamish
+
+	* visualization/nviz/scripts/fileBrowser.tcl: no error when dir is
+	  empty. bug#373 (thanks for the solution Glynn)
+
+2007-04-20 03:54  scott
+
+	* display/d.ask/main.c, display/d.barscale/main.c,
+	  display/d.colors/main.c, display/d.colortable/main.c,
+	  display/d.font.freetype/main.c, display/d.font/main.c,
+	  display/d.geodesic/main.c, display/d.graph/main.c,
+	  display/d.his/main.c, display/d.histogram/main.c,
+	  display/d.mapgraph/main.c, display/d.mon/cmd/main.c,
+	  display/d.profile/main.c, display/d.rast.edit/main.c,
+	  display/d.rast/main.c, display/d.rhumbline/main.c,
+	  display/d.what.vect/main.c, display/drivers/HTMLMAP/main.c,
+	  display/drivers/XDRIVER/main.c: code provenance review - add
+	  standard header
+
+2007-04-20 00:23  glynn
+
+	* include/rowio.h, lib/rowio/fileno.c, lib/rowio/get.c,
+	  lib/rowio/put.c, lib/rowio/setup.c, raster/r.mapcalc/map.c,
+	  raster/r.mfilter/getrow.c, raster/r.mfilter/local_proto.h,
+	  raster/r.thin/io.c, raster/r.thin/thin_lines.c: Tidy rowio
+	  interface
+	  Use "const" where appropriate
+	  Use void* instead of char* for buffers
+	  Use explicit types for function pointers
+	  Use void instead of int for functions with no meaningful return
+	  value
+
+2007-04-19 23:58  glynn
+
+	* include/edit.h, lib/edit/edit_cats.c, lib/edit/edit_cellhd.c: Add
+	  "const" where appropriate
+	  Formatting
+
+2007-04-19 23:12  glynn
+
+	* include/P_datetime.h: Remove pre-ANSI C support
+	  Tidying
+
+2007-04-19 23:07  glynn
+
+	* include/P_datetime.h, include/gisdefs.h,
+	  lib/datetime/P_datetime.h, lib/datetime/copy.c,
+	  lib/datetime/datetime.h, lib/datetime/diff.c,
+	  lib/datetime/format.c, lib/datetime/incr1.c,
+	  lib/datetime/incr2.c, lib/datetime/incr3.c, lib/datetime/same.c,
+	  lib/datetime/scan.c, lib/datetime/sign.c, lib/datetime/type.c,
+	  lib/datetime/tz1.c, lib/datetime/values.c, lib/gis/timestamp.c:
+	  Use "const" where appropriate
+	  Remove local copies of [P_]datetime.h
+
+2007-04-19 21:49  maciej
+
+	* raster/r.colors/description.html: New -e/g flags included,
+	  cleanups. Based on Glynn's explanations in his recent posts. This
+	  doc will need to be cleaned up for good once we get rid of
+	  doubled color rules via the rules or color options.
+
+2007-04-19 19:08  scott
+
+	* display/d.rgb/main.c, display/d.zoom/main.c,
+	  imagery/i.ask/main.c, imagery/i.find/main.c,
+	  imagery/i.gensig/main.c, imagery/i.gensigset/main.c,
+	  imagery/i.maxlik/main.c,
+	  imagery/i.ortho.photo/photo.target/main.c,
+	  imagery/i.vpoints/main.c: code provenance review - add and edit
+	  standard header
+
+2007-04-19 17:22  glynn
+
+	* lib/gis/color_rules.c: Fix check for percentages
+
+2007-04-19 16:47  glynn
+
+	* visualization/nviz/src/do_zoom.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/togl_cb.c: Get display, screen number from
+	  Togl
+
+2007-04-19 16:47  scott
+
+	* imagery/i.cca/main.c, imagery/i.class/main.c,
+	  imagery/i.cluster/main.c, imagery/i.group/main.c,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2target/main.c,
+	  imagery/i.ortho.photo/photo.camera/main.c,
+	  imagery/i.ortho.photo/photo.elev/main.c,
+	  imagery/i.ortho.photo/photo.init/main.c,
+	  imagery/i.ortho.photo/photo.rectify/main.c,
+	  imagery/i.points/main.c, imagery/i.rectify/main.c,
+	  imagery/i.smap/shapiro/main.c, imagery/i.target/main.c,
+	  imagery/i.zc/main.c, raster/r.kappa/description.html,
+	  raster/r.kappa/main.c, raster/r.mode/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.vrml/main.c,
+	  raster/r.random.surface/main.c, raster/r.resample/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.sum/main.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.idw/main.c,
+	  raster/r.transect/main.c, raster/r.water.outlet/main.c: code
+	  provenance review - insert and update standard headers
+
+2007-04-19 16:46  glynn
+
+	* lib/gis/closecell.c, lib/gis/rm_colr.c: Change closecell.c to use
+	  G_remove_colors()
+	  Remove G_remove_colr()
+
+2007-04-19 16:26  martinl
+
+	* scripts/g.mlist/g.mlist: newline separator fix
+
+2007-04-19 07:48  markus
+
+	* lib/gis/find_etc.c: fix missing include
+
+2007-04-19 05:32  glynn
+
+	* visualization/nviz/src/do_zoom.c: Don't attempt to use pBuffers
+	  if GLX version < 1.3
+
+2007-04-19 04:50  glynn
+
+	* visualization/nviz/src/do_zoom.c: Don't make GLXPixmap
+	  double-buffered
+
+2007-04-19 04:34  william
+
+	* macosx/app/grass.sh.in: add global and user addon paths to
+	  GRASS_ADDON_ETC
+
+2007-04-19 04:11  william
+
+	* lib/init/variables.html: add GRASS_ADDON_ETC env var
+
+2007-04-19 04:00  william
+
+	* general/g.findetc, general/g.findetc/Makefile,
+	  general/g.findetc/description.html, general/g.findetc/main.c: new
+	  g.findetc to locate external support files
+
+2007-04-19 03:56  william
+
+	* include/gisdefs.h, lib/gis/find_etc.c: new G_find_etc function to
+	  locate support files
+
+2007-04-18 23:17  glynn
+
+	* raster/Makefile, raster/r.what.color,
+	  raster/r.what.color/Makefile, raster/r.what.color/main.c: Add
+	  r.what.color
+
+2007-04-18 23:17  glynn
+
+	* lib/gis/opencell.c: Use GPATH_MAX
+
+2007-04-18 19:09  markus
+
+	* raster/r.what/main.c: typo fixed
+
+2007-04-18 18:57  bob
+
+	* raster/r.what/main.c: Added RGB output
+
+2007-04-18 15:03  william
+
+	* macosx/ReadMe.rtf: fixed jasper problem in netpbm build
+	  instructions
+
+2007-04-18 10:04  markus
+
+	* vector/v.in.ascii/points.c: error instead of segfault
+
+2007-04-18 01:00  glynn
+
+	* raster/r.support/modhead/ask_format.c,
+	  raster/r.support/modhead/factors.c,
+	  raster/r.support/modhead/hitreturn.c,
+	  raster/r.support/modhead/row_addr.c: Include local_proto.h
+
+2007-04-17 17:06  glynn
+
+	* include/gisdefs.h, lib/gis/color_remove.c,
+	  raster/r.colors/main.c: Add G_remove_colors()
+	  Add -r (remove) flag to r.colors
+
+2007-04-17 14:44  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fixed bugs in saving display
+	  extents to named region and overwriting existing saved region.
+
+2007-04-17 02:50  glynn
+
+	* include/imagedefs.h, lib/imagery/add_cov.c,
+	  lib/imagery/advance.c, lib/imagery/ask.c,
+	  lib/imagery/ask_bands.c, lib/imagery/ask_group.c,
+	  lib/imagery/ask_subgrp.c, lib/imagery/band_io.c,
+	  lib/imagery/colors.c, lib/imagery/georef.c, lib/imagery/grey.c,
+	  lib/imagery/histo.c, lib/imagery/histo_eq.c, lib/imagery/image.c,
+	  lib/imagery/nfiles.c, lib/imagery/open.c, lib/imagery/percent.c,
+	  lib/imagery/points.c, lib/imagery/proj.c,
+	  lib/imagery/set_window.c, lib/imagery/sig2cats.c,
+	  lib/imagery/sigfile.c, lib/imagery/sigsetfile.c: Remove unused
+	  code from lib/imagery
+
+2007-04-17 02:18  hamish
+
+	* display/d.paint.labels/do_labels.c: add some debug code to write
+	  label bounding boxes to a vector ascii file
+
+2007-04-16 23:41  hamish
+
+	* scripts/v.db.reconnect.all/description.html: remove duplicate
+	  html code
+
+2007-04-16 23:19  soeren
+
+	* lib/gpde/N_arrays.c, lib/gpde/N_gradient.c,
+	  lib/gpde/N_gradient_calc.c, lib/gpde/N_solute_transport.c,
+	  lib/gpde/N_solute_transport.h: Added solute transport dispersion
+	  tensor calculation
+	  Typo fixes
+
+2007-04-16 23:17  soeren
+
+	* lib/gpde/test/test_solute_transport.c: Extended new solute
+	  transport test
+
+2007-04-16 21:56  wolf
+
+	* vector/v.label.sa/annealing.c, vector/v.label.sa/labels.c,
+	  vector/v.label.sa/main.c: Fixed loads of bugs
+
+2007-04-16 21:55  robertoa
+
+	* locale/po/grasslibs_es.po: More spanish translations
+
+2007-04-16 20:29  glynn
+
+	* imagery/i.ortho.photo/photo.rectify/write.c,
+	  imagery/i.rectify/write.c, include/display.h, include/segment.h,
+	  lib/segment/format.c, lib/segment/init.c, lib/segment/seek.c,
+	  lib/segment/setup.c, raster/r.compress/main.c,
+	  raster/r.drain/main.c, raster/r.drain/resolve.c,
+	  raster/r.drain/tinf.c, raster/r.drain/tinf.h,
+	  raster/r.fill.dir/filldir.c, raster/r.fill.dir/resolve.c,
+	  raster/r.fill.dir/tinf.c, raster/r.fill.dir/tinf.h,
+	  raster/r.fill.dir/wtrshed.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.mfilter/getrow.c, raster/r.support/modhead/ask_format.c,
+	  raster/r.support/modhead/check_un.c,
+	  raster/r.support/modhead/factors.c,
+	  raster/r.support/modhead/local_proto.h,
+	  raster/r.support/modhead/modhead.c: lseek/off_t fixes
+
+2007-04-16 19:27  robertoa
+
+	* locale/po/grasslibs_es.po: Carlos Davila: merged in new messages
+
+2007-04-16 17:20  glynn
+
+	* lib/display/clip.c, lib/display/scan_dbl.c,
+	  lib/display/scan_float.c, lib/display/scan_int.c: Remove unused
+	  code
+
+2007-04-16 15:40  markus
+
+	* gui/tcltk/gis.m/georect.tcl: Michael Barton: comments style fixed
+	  to prevent from variable initialization problem
+
+2007-04-16 13:28  glynn
+
+	* proto.h: Remove misplaced header
+
+2007-04-16 12:31  martinl
+
+	* vector/v.edit/main.c: cosmetics
+
+2007-04-16 12:23  martinl
+
+	* vector/v.edit/proto.h: do_break -> do_add_vertex
+
+2007-04-16 12:20  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/description.html,
+	  vector/v.edit/main.c, vector/v.edit/vertex.c: * vertex fn updated
+	  ** do_add_vertex (formely do_break)
+	  ** do_remove_vertex
+	  ** do_move_vertex
+
+2007-04-16 09:32  martinl
+
+	* vector/v.edit/proto.h: missing header file added
+
+2007-04-16 06:50  martinl
+
+	* proto.h: missing prototypes added
+
+2007-04-16 06:37  martinl
+
+	* vector/v.edit/a2b.c, vector/v.edit/args.c, vector/v.edit/cats.c,
+	  vector/v.edit/copy.c, vector/v.edit/del.c,
+	  vector/v.edit/description.html, vector/v.edit/flip.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/max_distance.c, vector/v.edit/merge.c,
+	  vector/v.edit/move.c, vector/v.edit/select.c,
+	  vector/v.edit/snap.c, vector/v.edit/vertex.c: * general code
+	  cleaning
+	  * some tools changed
+	  ** split -> break
+	  ** break -> vertexadd
+	  ** vertex -> vertexmove
+	  ** straight -> vertexdel
+	  * get rid of global variables
+	  * documentation updated (more examples needed)
+
+2007-04-16 03:07  glynn
+
+	* general/manage/cmd/copy.c, general/manage/cmd/remove.c,
+	  imagery/i.fft/do_histogram.c, imagery/i.fft/save_fft.c,
+	  imagery/i.ifft/do_histogram.c, imagery/i.ifft/fft_colors.c,
+	  imagery/i.ifft/ifftmain.c, imagery/i.ifft/local_proto.h,
+	  imagery/i.ifft/orig_wind.c, include/gisdefs.h,
+	  lib/gis/closecell.c, lib/gis/file_name.c, lib/gis/find_file.c,
+	  lib/gis/get_row.c, lib/gis/histogram.c, lib/gis/mapset_msc.c,
+	  lib/gis/open.c, lib/gis/open_misc.c, lib/gis/quant_io.c,
+	  lib/gis/range.c, lib/gis/reclass.c, lib/gis/remove.c,
+	  lib/gis/timestamp.c, raster/r.null/null.c,
+	  raster/r.support/front/front.c: Fix handling of cell_misc
+
+2007-04-16 00:11  glynn
+
+	* lib/gis/file_name.c, lib/gis/opencell.c: Add G__file_name_misc()
+	  (for use with cell_misc files)
+	  Fix G__check_fp_type() to handle qualified map names
+
+2007-04-15 23:18  glynn
+
+	* raster/r.le/r.le.setup/Makefile: Revert previous change
+
+2007-04-15 23:16  glynn
+
+	* vector/v.drape/main.c: Use G_find_cell(), not G_find_cell2()
+
+2007-04-15 19:35  glynn
+
+	* db/drivers/dbf/table.c, db/drivers/odbc/create_table.c,
+	  db/drivers/odbc/cursor.c, db/drivers/odbc/db.c,
+	  db/drivers/odbc/describe.c, db/drivers/odbc/execute.c,
+	  db/drivers/odbc/table.c, db/drivers/ogr/describe.c,
+	  display/d.ask/main.c, display/d.barscale/main.c,
+	  display/d.colors/tbl_toggle.c, display/d.his/main.c,
+	  display/d.histogram/bar.c, display/d.histogram/pie.c,
+	  display/d.rhumbline/plot.c, display/d.vect/plot.h,
+	  display/d.vect/plot1.c, display/d.zoom/box.c,
+	  display/d.zoom/center.c, general/g.setproj/get_datum.c,
+	  imagery/i.class/input.c, imagery/i.class/local_proto.h,
+	  imagery/i.class/set_signals.c, imagery/i.class/sigint.c,
+	  imagery/i.gensig/files.h, imagery/i.gensig/init_sig.c,
+	  imagery/i.gensig/opencell.c, imagery/i.gensig/print_sig.c,
+	  imagery/i.gensig/signature.h,
+	  imagery/i.ortho.photo/libes/georef.c,
+	  imagery/i.ortho.photo/photo.2target/ask.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.2target/zoom.c,
+	  imagery/i.ortho.photo/photo.camera/main.c,
+	  imagery/i.ortho.photo/photo.elev/ask_elev.c,
+	  imagery/i.ortho.photo/photo.elev/elev.h,
+	  imagery/i.ortho.photo/photo.elev/main.c,
+	  imagery/i.ortho.photo/photo.elev/mod_elev.c,
+	  imagery/i.ortho.photo/photo.init/main.c, imagery/i.points/ask.c,
+	  imagery/i.points/ask_mag.c, imagery/i.points/cell.c,
+	  imagery/i.points/digit.c, imagery/i.points/input.c,
+	  imagery/i.points/mark.c, imagery/i.points/zoom.c,
+	  imagery/i.points/zoom_box.c, imagery/i.vpoints/analyze.c,
+	  imagery/i.vpoints/cell.c, imagery/i.vpoints/driver.c,
+	  imagery/i.vpoints/mark.c, imagery/i.vpoints/zoom_box.c,
+	  include/G3d.h, include/gisdefs.h, include/ogsf_proto.h,
+	  lib/dspf/cell_table.h, lib/g3d/G3d_intern.h,
+	  lib/g3d/fpcompress.c, lib/g3d/g3ddefaults.c, lib/g3d/g3derror.c,
+	  lib/gis/error.c, lib/init/set_data.c, lib/ogsf/GS2.c,
+	  lib/ogsf/gp.c, lib/ogsf/gpd.c, lib/ogsf/gs.c,
+	  lib/ogsf/gs_norms.c, lib/ogsf/gsd_fringe.c,
+	  lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c,
+	  lib/ogsf/gsd_surf.c, lib/ogsf/gvld.c, lib/ogsf/mc33_table.h,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/graph.c,
+	  lib/vector/Vlib/net.c, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/select.c,
+	  lib/vector/diglib/cindex.c, lib/vector/diglib/cindex_rw.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/spindex_rw.c, ps/ps.map/catval.c,
+	  raster/r.buffer/main.c, raster/r.clump/main.c,
+	  raster/r.le/r.le.patch/patch.c, raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/Makefile, raster/r.li/Makefile,
+	  raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.median/read_stats.c, raster/r.mfilter/getfilt.c,
+	  raster/r.mode/read_stats.c, raster/r.out.gridatb/file_io.c,
+	  raster/r.out.pov/main.c, raster/r.out.tiff/r.out.tiff.c,
+	  raster/r.out.vrml/put_grid.c, raster/r.out.vrml/put_view.c,
+	  raster/r.proj.seg/bilinear.c, raster/r.proj.seg/cubic.c,
+	  raster/r.proj.seg/nearest.c, raster/r.proj.seg/readcell.c,
+	  raster/r.proj/bilinear.c, raster/r.proj/cubic.c,
+	  raster/r.proj/nearest.c, raster/r.proj/readcell.c,
+	  raster/r.reclass/rule.h, raster/r.reclass/stats.c,
+	  raster/r.report/maskinfo.c, raster/r.report/stats.c,
+	  raster/r.resamp.interp/main.c, raster/r.statistics/o_median.c,
+	  raster/r.statistics/o_sum.c, raster/r.sum/main.c,
+	  raster/r.surf.fractal/close_down.c, raster/r.surf.fractal/frac.h,
+	  raster/r.surf.fractal/process.c, raster/r.to.rast3/main.c,
+	  raster/r.walk/memory.c, raster/r.walk/memory.h,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/hydro.c,
+	  raster/simwe/simlib/output.c, raster/wildfire/r.ros/spot_dist.c,
+	  raster/wildfire/r.spread/spread.c, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.in.v5d/v5d.c, raster3d/r3.out.v5d/v5d.c,
+	  raster3d/r3.to.rast/main.c, vector/lidar/v.surf.bspline/main.c,
+	  vector/v.digit/main.c, vector/v.edit/snap.c,
+	  vector/v.edit/vertex.c, vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.out.ogr/main.c, vector/v.parallel/main.c,
+	  vector/v.reclass/reclass.c, vector/v.voronoi/sw_heap.c,
+	  vector/v.voronoi/sw_main.c: Fix warnings (and a few bugs)
+	  Remove dead code
+
+2007-04-15 18:50  william
+
+	* macosx/app/grass.sh.in: make sure X11 in PATH instead of
+	  hardwiring /usr/X11R6/bin/xterm
+
+2007-04-14 23:25  glynn
+
+	* lib/gtcltk/select.tcl: Always include @mapset part
+
+2007-04-14 23:02  glynn
+
+	* display/d.rast/colors.c, include/gisdefs.h, include/spawn.h,
+	  lib/gis/cats.c, lib/gis/cell_stats.c, lib/gis/cell_title.c,
+	  lib/gis/cellstats_eq.c, lib/gis/color_read.c,
+	  lib/gis/color_write.c, lib/gis/dig_title.c, lib/gis/file_name.c,
+	  lib/gis/find_cell.c, lib/gis/find_file.c, lib/gis/find_vect.c,
+	  lib/gis/flate.c, lib/gis/fpreclass.c, lib/gis/get_cellhd.c,
+	  lib/gis/get_projinfo.c, lib/gis/get_row.c, lib/gis/get_window.c,
+	  lib/gis/gisbase.c, lib/gis/gisdbase.c, lib/gis/gishelp.c,
+	  lib/gis/histo_eq.c, lib/gis/histogram.c, lib/gis/history.c,
+	  lib/gis/home.c, lib/gis/index.c, lib/gis/intr_char.c,
+	  lib/gis/key_value1.c, lib/gis/key_value2.c, lib/gis/key_value3.c,
+	  lib/gis/key_value4.c, lib/gis/legal_name.c, lib/gis/list.c,
+	  lib/gis/ll_scan.c, lib/gis/location.c, lib/gis/mach_name.c,
+	  lib/gis/make_colr.c, lib/gis/make_loc.c, lib/gis/make_mapset.c,
+	  lib/gis/mapset.c, lib/gis/mapset_msc.c, lib/gis/mapset_nme.c,
+	  lib/gis/mask_info.c, lib/gis/maskfd.c, lib/gis/myname.c,
+	  lib/gis/named_colr.c, lib/gis/null_val.c, lib/gis/open.c,
+	  lib/gis/opencell.c, lib/gis/plot.c, lib/gis/pole_in_poly.c,
+	  lib/gis/popen.c, lib/gis/proj1.c, lib/gis/proj3.c,
+	  lib/gis/put_cellhd.c, lib/gis/put_row.c, lib/gis/put_title.c,
+	  lib/gis/put_window.c, lib/gis/quant.c, lib/gis/quant_io.c,
+	  lib/gis/quant_rw.c, lib/gis/range.c, lib/gis/rd_cellhd.c,
+	  lib/gis/reclass.c, lib/gis/remove.c, lib/gis/rename.c,
+	  lib/gis/rm_colr.c, lib/gis/sample.c, lib/gis/spawn.c,
+	  lib/gis/strings.c, lib/gis/system.c, lib/gis/tempfile.c,
+	  lib/gis/timestamp.c, lib/gis/token.c, lib/gis/user_config.c,
+	  lib/gis/view.c, lib/gis/wind_2_box.c, lib/gis/wind_in.c,
+	  lib/gis/wind_overlap.c, lib/gis/wind_scan.c, lib/gis/wr_cellhd.c,
+	  lib/gis/yes.c, raster/r.colors/rules.c, raster/r.in.gdal/main.c:
+	  Use "const" where appropriate
+	  Use (void) instead of () for empty parameter lists
+	  Use full type for function pointers
+
+2007-04-14 23:00  glynn
+
+	* lib/gis/whoami.c: Remove local prototype for getpwuid() (declared
+	  in <pwd.h>)
+
+2007-04-14 23:00  glynn
+
+	* lib/gis/version.c: Use G_store()
+
+2007-04-14 22:59  glynn
+
+	* lib/gis/sleep.c: Remove unused *_ltp functions
+
+2007-04-14 22:58  glynn
+
+	* lib/gis/get_ellipse.c: Fix type of qsort() comparison callback
+
+2007-04-14 22:57  glynn
+
+	* lib/gis/get_ell_name.c: Fix typo: spheriod -> spheroid
+
+2007-04-14 22:56  glynn
+
+	* lib/gis/icon.c: Use more stable (and efficient) linear
+	  transformation
+
+2007-04-14 22:54  glynn
+
+	* lib/gis/set_prior.c: Remove unused (and unlikely to be used) file
+
+2007-04-14 22:17  glynn
+
+	* raster/r.mapcalc/map3.c: Fix check for type of G3D maps
+
+2007-04-14 22:16  glynn
+
+	* lib/gis/parser.c: Fix handling of ->descs field
+	  Add ->descriptions output to --tcltk/--ui
+
+2007-04-14 22:15  glynn
+
+	* display/d.text.new/main.c: Fix bug; buf_len under-sized
+
+2007-04-14 22:15  glynn
+
+	* display/d.rast/display.c: Fix warning
+
+2007-04-14 22:14  glynn
+
+	* display/d.mon/pgms/select.c, display/d.mon/pgms/start.c: Fix
+	  warnings
+
+2007-04-14 22:14  glynn
+
+	* display/d.his/his.c, raster/r.his/his.c: Fix return type of
+	  HIS_to_RGB
+
+2007-04-14 16:16  william
+
+	* macosx/ReadMe.rtf: updated configure example
+
+2007-04-14 03:35  glynn
+
+	* include/gisdefs.h, lib/gis/color_rules.c, lib/gis/parser.c,
+	  raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/rules.c: Parser: allow for incomplete
+	  ->descriptions list
+	  Add G_load_[fp_]colors()
+	  Remove is_fp argument from G_read_color_rules()
+	  r.colors:
+	  Merge rules= with color=
+	  Use rules= for external rules file
+	  Add -i flag
+	  Rename rast= to raster=
+	  Refactoring, clean-up
+	  Make map= not required (for -l)
+
+2007-04-13 22:42  glynn
+
+	* imagery/i.class/local_proto.h, imagery/i.class/main.c,
+	  imagery/i.ortho.photo/photo.2image/globals.h,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2target/local_proto.h,
+	  imagery/i.ortho.photo/photo.2target/main.c,
+	  imagery/i.points/local_proto.h, imagery/i.points/main.c,
+	  imagery/i.vpoints/globals.h, imagery/i.vpoints/main.c,
+	  include/gisdefs.h, lib/gis/align_window.c, lib/gis/alloc_cell.c,
+	  lib/gis/area.c, lib/gis/area_poly1.c, lib/gis/area_poly2.c,
+	  lib/gis/ask.c, lib/gis/ask_cell.c, lib/gis/ask_vctrs.c,
+	  lib/gis/bres_line.c, lib/gis/cats.c, lib/gis/cell_stats.c,
+	  lib/gis/clear_scrn.c, lib/gis/color_get.c, lib/gis/color_look.c,
+	  lib/gis/color_range.c, lib/gis/color_rule.c,
+	  lib/gis/color_rule_get.c, lib/gis/copy.c, lib/gis/date.c,
+	  lib/gis/datum.c, lib/gis/debug.c, lib/gis/distance.c,
+	  lib/gis/env.c, lib/gis/error.c, lib/gis/fork.c,
+	  lib/gis/key_value1.c, lib/gis/nme_in_mps.c, lib/gis/quant.c,
+	  lib/gis/raster.c, lib/gis/window_map.c,
+	  raster/r.mapcalc/evaluate.c, vector/v.to.rast/raster.c: Use
+	  "const" where appropriate
+	  Use (void) instead of () for empty parameter lists
+
+2007-04-13 17:07  glynn
+
+	* imagery/i.cca/main.c, lib/gis/color_asp.c, lib/gis/color_byg.c,
+	  lib/gis/color_byr.c, lib/gis/color_compat.c,
+	  lib/gis/color_grey.c, lib/gis/color_gyr.c, lib/gis/color_rain.c,
+	  lib/gis/color_ramp.c, lib/gis/color_ryg.c, lib/gis/color_wave.c,
+	  raster/r.le/r.le.setup/setup.c,
+	  raster/r.watershed/seg/close_maps.c: Replace coded
+	  G_make_*[_fp]_colors() functions with wrappers around
+	  G_make_[fp_]colors()
+	  Remove legacy names G_make_color_{wave,ramp}(),
+	  G_make_grey_scale()
+
+2007-04-13 15:06  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/description.html,
+	  vector/v.edit/flip.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c: flip tool added
+
+2007-04-13 14:40  moritz
+
+	* db/drivers/postgres/listtab.c, db/drivers/sqlite/listtab.c:
+	  include views in the list of tables
+
+2007-04-13 13:24  martinl
+
+	* vector/v.edit/main.c: enable input option in create tool
+
+2007-04-13 12:52  martinl
+
+	* vector/v.edit/description.html: manual page (partially) updated
+
+2007-04-13 09:08  martinl
+
+	* lib/gis/copy.c, lib/gis/icon.c, lib/gis/set_window.c: cosmetics:
+	  * doxygen docs updated
+	  * indent fixed
+
+2007-04-12 23:23  michael
+
+	* lib/init/init.sh: Added code to start wxpython if installed and
+	  if .grassrc6 gui line set to wx.
+
+2007-04-12 21:24  glynn
+
+	* include/gisdefs.h, lib/gis/Makefile, lib/gis/color_rules.c,
+	  lib/gis/colors, lib/gis/colors/aspect, lib/gis/colors/aspectcolr,
+	  lib/gis/colors/bcyr, lib/gis/colors/byg, lib/gis/colors/byr,
+	  lib/gis/colors/curvature, lib/gis/colors/differences,
+	  lib/gis/colors/elevation, lib/gis/colors/etopo2,
+	  lib/gis/colors/evi, lib/gis/colors/grey, lib/gis/colors/gyr,
+	  lib/gis/colors/ndvi, lib/gis/colors/population,
+	  lib/gis/colors/rainbow, lib/gis/colors/ramp, lib/gis/colors/ryb,
+	  lib/gis/colors/ryg, lib/gis/colors/slope, lib/gis/colors/srtm,
+	  lib/gis/colors/terrain, lib/gis/colors/wave, lib/gis/make_colr.c,
+	  raster/r.colors/Makefile, raster/r.colors/aspect,
+	  raster/r.colors/aspectcolr, raster/r.colors/bcyr,
+	  raster/r.colors/byg, raster/r.colors/byr,
+	  raster/r.colors/curvature, raster/r.colors/differences,
+	  raster/r.colors/elevation, raster/r.colors/etopo2,
+	  raster/r.colors/evi, raster/r.colors/grey, raster/r.colors/gyr,
+	  raster/r.colors/main.c, raster/r.colors/ndvi,
+	  raster/r.colors/population, raster/r.colors/rainbow,
+	  raster/r.colors/ramp, raster/r.colors/ryb, raster/r.colors/ryg,
+	  raster/r.colors/slope, raster/r.colors/srtm,
+	  raster/r.colors/terrain, raster/r.colors/wave,
+	  raster/r.support/modcolr/modcolr.c: Add G_make_[fp_]colors()
+	  Rename G_make_colors() (used by r.support/modcolr) to
+	  G_ask_colors()
+	  Move colour tables to lib/gis/colors
+	  Use G__ls() for enumerating rules files in r.colors
+
+2007-04-12 18:54  glynn
+
+	* include/gisdefs.h, lib/gis/Makefile, lib/gis/color_rules.c,
+	  raster/r.colors/rules.c: Move reading of colour rules from
+	  r.colors to libgis
+
+2007-04-12 17:24  robertoa
+
+	* vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h,
+	  vector/lidar/v.lidar.edgedetection/main.c: Fix for DB error with
+	  Auxiliar Table
+
+2007-04-12 05:10  brad
+
+	* lib/rst/data/local_proto.h, lib/rst/interp_float/mem,
+	  lib/rst/interp_float/points.h: - removed unused files
+
+2007-04-12 04:55  brad
+
+	* lib/db/dbmi_client/start.c: - fixed execl() improper termination
+	  - added function documentation
+	  - now uses EXIT_FAILURE|EXIT_SUCCESS
+
+2007-04-11 21:50  wolf
+
+	* vector/v.label.sa/annealing.c,
+	  vector/v.label.sa/description.html, vector/v.label.sa/labels.c,
+	  vector/v.label.sa/labels.h, vector/v.label.sa/main.c: Fixed many
+	  position calculation bugs and other bugs concerning point
+	  features and label collisions. Modified documentation.
+
+2007-04-11 17:03  glynn
+
+	* raster/r.colors/Makefile, raster/r.colors/eq.c,
+	  raster/r.colors/local_proto.h, raster/r.colors/log.c,
+	  raster/r.colors/main.c, raster/r.colors/stats.c: Add -e (hist.
+	  eq.) and -g (log. scale) flags
+	  Re-use stats calculation
+
+2007-04-11 17:01  glynn
+
+	* lib/gis/color_xform.c: Fix bug in G_histogram_eq_colors()
+
+2007-04-11 16:15  glynn
+
+	* include/gisdefs.h, lib/gis/color_hist.c, lib/gis/color_xform.c,
+	  raster/r.colors/local_proto.h: Add prototype for
+	  G_make_histogram_log_colors()
+	  Change G_make_histogram_log_colors() to map minimum value to
+	  black
+	  Add color_xform.c: G_histogram_eq_colors(), G_log_colors()
+
+2007-04-11 15:13  martinl
+
+	* imagery/i.his.rgb/h2rmain.c: typo: missing )
+
+2007-04-11 15:11  martinl
+
+	* imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/h2rmain.c,
+	  imagery/i.his.rgb/openfiles.c: * indent fixed
+	  * header added
+	  * capitalize parameters' description
+	  * message standardization
+
+2007-04-11 15:05  martinl
+
+	* imagery/i.rgb.his/openfiles.c, imagery/i.rgb.his/r2hmain.c: *
+	  message standardization
+	  * capitalize parameters' description
+	  * header added
+
+2007-04-11 15:00  martinl
+
+	* imagery/i.pca/main.c, imagery/i.pca/support.c: message
+	  standardization
+
+2007-04-11 14:53  martinl
+
+	* scripts/d.slide.show/d.slide.show: capitalize parameters'
+	  description
+
+2007-04-11 14:48  martinl
+
+	* ps/ps.map/outl_io.c, ps/ps.map/ps_vpoints.c,
+	  raster/r.profile/input.c, raster/r.profile/main.c,
+	  raster/r.profile/read_rast.c, raster/r.random/count.c,
+	  raster/r.random/creat_rand.c, raster/r.random/main.c,
+	  raster/r.random/random.c, raster/r.random/support.c: message
+	  standardization
+
+2007-04-11 14:46  markus
+
+	* general/g.setproj/description.html: USGS map projections guide
+	  added
+
+2007-04-11 14:25  martinl
+
+	* raster/r.statistics/main.c: * message standardization
+	  * header added
+	  * keyword (statistics) added
+
+2007-04-11 14:19  martinl
+
+	* raster/r.support/front/front.c: message standardization
+
+2007-04-11 14:14  martinl
+
+	* raster/r.to.vect/main.c: message standardization
+
+2007-04-11 14:07  martinl
+
+	* raster/r.gwflow/main.c: typo
+
+2007-04-11 13:56  martinl
+
+	* vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c: * fix debug levels (0 -> 1)
+	  * do not use _() in G_debug
+	  * messages standardization
+
+2007-04-11 13:45  glynn
+
+	* display/d.colors/description.html,
+	  display/d.colortable/description.html: Remove references to
+	  d.colormode (which no longer exists)
+	  Ensure that tags aren't split across line boundaries (g.html2man
+	  can't handle this)
+
+2007-04-11 13:41  martinl
+
+	* vector/v.in.ascii/a2b.c: message cosmetics
+
+2007-04-11 12:25  markus
+
+	* db/drivers/sqlite/grass-sqlite.html: simplified; polished
+
+2007-04-11 12:23  martinl
+
+	* locale/po/grasslibs_cs.po: translation updated
+
+2007-04-11 12:00  martinl
+
+	* vector/v.edit/cats.c, vector/v.edit/select.c: bugfix [GForge
+	  #361], cats.c cleaned and updated
+
+2007-04-11 06:43  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Added v.db.renamecol to menu
+
+2007-04-10 21:54  markus
+
+	* raster3d/raster3dintro.html: wording
+
+2007-04-10 21:48  markus
+
+	* raster3d/raster3dintro.html: mentioned r.to.rast3elev,
+	  r.to.rast3, r3.cross.rast, r3.stats, and r3.univar
+
+2007-04-10 20:45  markus
+
+	* SUBMITTING_SCRIPTS: extended
+
+2007-04-10 20:34  markus
+
+	* scripts/i.tasscap/i.tasscap: check if MODIS Tasseled Cap makes
+	  sense to be added
+
+2007-04-10 19:37  robertoa
+
+	* locale/po/grasslibs_es.po: Spanish translations and bugfixing
+
+2007-04-10 19:00  glynn
+
+	* configure, configure.in, display/d.mon/pgms/start.c,
+	  lib/driver/connect_sock.c, lib/driver/main.c, lib/form/open.c,
+	  lib/gis/unix_socks.c, lib/raster/io_sock.c,
+	  lib/raster/parse_mon.c, lib/raster/rem_io.c: Remove FIFO support
+	  Remove attempt to detect socket() in WinSock (autoconf doesn't
+	  work with WINAPI functions)
+	  Fix GDAL check
+	  MinGW fixes
+
+2007-04-10 15:36  markus
+
+	* visualization/nviz/src/map_obj.c: fix G_debug level
+
+2007-04-10 14:17  william
+
+	* lib/init/Makefile, lib/init/html_browser_mac.sh,
+	  lib/init/init.sh, lib/init/variables.html: special browser
+	  setting needed for OSX
+
+2007-04-10 14:02  markus
+
+	* locale/po/grasslibs_es.po: bugfixes
+
+2007-04-10 13:42  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  lib/driver/Makefile, lib/driver/connect_fifo.c,
+	  lib/driver/connect_sock.c, lib/driver/driverlib.h,
+	  lib/driver/main.c, lib/form/open.c, lib/gis/unix_socks.c,
+	  lib/raster/io_fifo.c, lib/raster/io_sock.c, lib/raster/rem_io.c:
+	  Remove support for monitor FIFOs
+	  Add support for AF_INET sockets as an alternative to AF_UNIX
+	  Tidying
+
+2007-04-10 13:41  glynn
+
+	* lib/psdriver/Graph_close.c, lib/psdriver/psdriver.ps: Add END
+	  operation
+
+2007-04-10 12:32  robertoa
+
+	* locale/po/grasslibs_es.po: Agustin Diez spanish translations
+
+2007-04-10 11:15  glynn
+
+	* lib/raster/com_io.c, raster/r.mapcalc/evaluate.c: MinGW fixes
+
+2007-04-10 10:14  markus
+
+	* scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.landsat.rgb/i.landsat.rgb, scripts/r.blend/r.blend,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.aster/r.in.aster,
+	  scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.shaded.relief/r.shaded.relief: write out command line
+	  history for 'r.info -h map'
+
+2007-04-10 09:59  markus
+
+	* scripts/i.in.spotvgt/i.in.spotvgt: write out command line history
+	  for 'v.info -h map'; g.message
+
+2007-04-10 09:35  markus
+
+	* scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.dropcol/v.db.dropcol,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.renamecol/v.db.renamecol,
+	  scripts/v.db.update/v.db.update, scripts/v.dissolve/v.dissolve,
+	  scripts/v.in.e00/v.in.e00, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.sites.all/v.in.sites.all,
+	  scripts/v.rast.stats/v.rast.stats: write out command line history
+	  for 'v.info -h map'
+
+2007-04-09 23:34  soeren
+
+	* lib/gpde/N_arrays_calc.c: Type fixes
+
+2007-04-09 23:01  glynn
+
+	* raster/r.in.arc/Makefile, raster/r.in.ascii/Makefile,
+	  raster/r.out.ascii/Makefile: Enable LFS
+
+2007-04-09 22:43  soeren
+
+	* lib/gpde/N_arrays.c, lib/gpde/N_arrays_calc.c,
+	  lib/gpde/N_arrays_io.c, lib/gpde/N_gradient.c,
+	  lib/gpde/N_gradient_calc.c, lib/gpde/N_pde.h,
+	  lib/gpde/gpdelib.dox: Array and gradient functions are now
+	  distributed to several files to avoid huge source files
+	  * basic array functions are located in N_arrays.c
+	  * array computation functions are located in N_array_calc.c
+	  * io array functions are located in N_array_io.c
+	  
+	  * basic gradient functions are located in N_gradient.c
+	  * gradient calculation functions are located in N_gradient_calc.c
+	  
+	  * added statistical calculation for arrays and gradients
+	  * added 2d gradient neighbour calculation
+	  
+	  * type fixes
+	  * removed unnecessary comment lines
+	  * improved docu
+
+2007-04-09 22:35  william
+
+	* macosx/app/grass.sh.in: cleanup header comments
+
+2007-04-09 22:35  soeren
+
+	* lib/gpde/test/test_arrays.c, lib/gpde/test/test_gradient.c: New
+	  gradient and array tests added
+
+2007-04-09 15:51  william
+
+	* macosx/app/build_gui_user_menu.sh: allow for spaces in #%Module
+	  test
+
+2007-04-09 14:46  scott
+
+	* vector/v.to.db/areas.c, vector/v.to.db/parse.c: corrected
+	  compactness formula in comments and parser to match actual
+	  calculation, as per doc I tracker #367
+
+2007-04-09 04:35  michael
+
+	* display/d.legend/main.c: Made description for legend placement
+	  more understandable.
+
+2007-04-08 18:03  glynn
+
+	* display/d.graph/do_graph.c, display/d.path/select.c,
+	  display/d.vect/area.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c, include/display.h, lib/display/draw2.c:
+	  Add D_set_clip_margin(), D_line_width()
+	  Change modules to use D_line_width() instead of R_line_width()
+
+2007-04-08 17:17  glynn
+
+	* lib/pngdriver/Draw_bitmap.c, lib/pngdriver/Draw_line.c,
+	  lib/pngdriver/Erase.c, lib/pngdriver/read.c: Set modified flag
+
+2007-04-08 13:36  glynn
+
+	* lib/display/draw2.c: Treat clip rectangle as inclusive (points
+	  exactly on the boundary are "inside").
+
+2007-04-08 12:54  glynn
+
+	* lib/driver/Color.c: Fix typo
+
+2007-04-08 12:36  glynn
+
+	* display/drivers/XDRIVER/Color_table.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Serve_Xevent.c, lib/driver/Color.c,
+	  lib/driver/Makefile, lib/driver/color_support.c,
+	  lib/driver/driver.h, lib/driver/driverlib.h,
+	  lib/pngdriver/Color_table.c, lib/pngdriver/Erase.c,
+	  lib/pngdriver/Graph_set.c, lib/psdriver/Color_table.c,
+	  lib/psdriver/Graph_set.c: Move handling of standard colours from
+	  drivers to libdriver
+	  Change drivers to use driver-specific functions instead of
+	  generic COM_*/DRV_* versions
+
+2007-04-08 00:11  glynn
+
+	* display/drivers/HTMLMAP/main.c, display/drivers/XDRIVER/Makefile,
+	  display/drivers/XDRIVER/Set_window.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/main.c, lib/display/draw2.c,
+	  lib/display/window.c, lib/driver/Makefile,
+	  lib/driver/Set_window.c, lib/driver/clip.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/text2.c, lib/driver/text3.c,
+	  lib/pngdriver/Box.c, lib/pngdriver/Draw_bitmap.c,
+	  lib/pngdriver/Draw_line.c, lib/pngdriver/Draw_point.c,
+	  lib/pngdriver/Driver.c, lib/pngdriver/Graph_set.c,
+	  lib/pngdriver/Makefile, lib/pngdriver/Raster.c,
+	  lib/pngdriver/Set_window.c, lib/pngdriver/pngdriver.h,
+	  lib/psdriver/Driver.c, lib/psdriver/Makefile,
+	  lib/psdriver/Set_window.c, lib/psdriver/psdriver.h,
+	  lib/psdriver/psdriver.ps: Move Set_window operation into drivers;
+	  applies to all graphics, not just text
+	  Fix bug in poly{gon,line} culling
+	  Set clip window when switching frames
+
+2007-04-07 22:06  markus
+
+	* vector/v.edit/description.html: typos fixed; vectfile -> vectmap
+	  for consistency
+
+2007-04-07 21:43  markus
+
+	* lib/loc_struct.png: added grid3/ structure to figure
+
+2007-04-07 18:53  william
+
+	* macosx/pkg/bundle.make: forgot to remove personal bundle settings
+
+2007-04-07 18:51  william
+
+	* macosx/Makefile, macosx/ReadMe.rtf, macosx/pkg/bundle.make,
+	  macosx/pkg/resources/ReadMe.rtf: use install cmd to copy files
+	  and set mode; no need to test before mkdir; add bindist bundling
+	  step
+
+2007-04-07 18:46  william
+
+	* macosx/app/Makefile: use install cmd to copy files and set mode;
+	  no need to test before mkdir
+
+2007-04-07 18:11  markus
+
+	* rfc/RFC1_PSC.dox, rfc/psc_motions.dox, rfc/rfc_list.dox: RFC1
+	  adopted
+
+2007-04-07 17:50  glynn
+
+	* display/d.vect/main.c, display/d.vect/plot.h,
+	  display/d.vect/plot1.c, include/display.h, lib/display/draw2.c:
+	  Fix D_polyline_cull
+	  Add D_polygon_cull
+	  Add render=l (cull) to d.vect
+
+2007-04-07 17:47  markus
+
+	* rfc/Makefile: added htmldocs target (bug #365)
+
+2007-04-07 16:52  markus
+
+	* scripts/v.db.renamecol/v.db.renamecol: PostgreSQL fix
+
+2007-04-07 16:46  markus
+
+	* scripts/v.db.renamecol, scripts/v.db.renamecol/Makefile,
+	  scripts/v.db.renamecol/description.html,
+	  scripts/v.db.renamecol/v.db.renamecol: new script to rename table
+	  columns
+
+2007-04-07 16:18  markus
+
+	* db/base/db.describe.html: examples updated
+
+2007-04-07 16:14  markus
+
+	* db/base/describe.c: also output column length with -c flag
+
+2007-04-07 15:47  william
+
+	* macosx/app/grass.sh.in: reactivate Terminal if text startup
+
+2007-04-07 15:02  glynn
+
+	* display/Makefile, display/d.text.new/Makefile,
+	  display/d.text/DEPRECATED: Disable d.text
+	  Build d.text.new as d.text
+
+2007-04-07 14:50  glynn
+
+	* raster/r.out.arc/Makefile: Enable LFS
+
+2007-04-07 13:08  markus
+
+	* lib/gis/parser.c: --script now includes copyright header
+
+2007-04-07 12:54  glynn
+
+	* display/d.vect/area.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot1.c, include/display.h,
+	  lib/display/draw2.c: Add D_polyline_cull()
+	  Simplify handling of longitude wrap
+	  Change d.vect to use render= for lines (patch from Sören Gebbert)
+
+2007-04-07 12:53  markus
+
+	* scripts/r.in.wms/Makefile: fix the fix
+
+2007-04-07 12:42  markus
+
+	* display/d.font.freetype/DEPRECATED,
+	  display/d.text.freetype/DEPRECATED: indicate deprecated commands
+
+2007-04-07 12:00  markus
+
+	* display/d.rast.edit/DEPRECATED: no longer used
+
+2007-04-07 11:34  markus
+
+	* scripts/v.in.gpsbabel/Makefile: cp -> INSTALL
+
+2007-04-07 11:34  glynn
+
+	* display/Makefile, display/d.font/main.c, scripts/Makefile,
+	  scripts/d.font.freetype, scripts/d.font.freetype/Makefile,
+	  scripts/d.font.freetype/d.font.freetype,
+	  scripts/d.font.freetype/description.html,
+	  scripts/d.text.freetype/description.html: Extend d.font to
+	  support remaining d.font.freetype options
+	  Replace d.font.freetype with a script which invokes d.font
+	  Copy description.html files for d.{font,text}.freetype scripts
+
+2007-04-07 11:26  markus
+
+	* scripts/d.rast.edit/d.rast.edit: added missing copyright header
+
+2007-04-07 11:24  markus
+
+	* scripts/d.rast.edit/description.html: minimalistic new
+	  documentation
+
+2007-04-07 11:21  markus
+
+	* scripts/d.rast.edit/d.rast.edit: fixed parameter order
+
+2007-04-07 11:12  markus
+
+	* scripts/r.in.wms/Makefile: cp -> INSTALL
+
+2007-04-07 10:15  glynn
+
+	* scripts/d.text.freetype/Makefile: Tidying
+
+2007-04-07 10:15  glynn
+
+	* display/Makefile, display/d.font.freetype/main.c,
+	  display/d.text.freetype/Makefile, display/d.text.new/main.c,
+	  include/graphics.h, include/raster.h, lib/driver/Font.c,
+	  lib/driver/command.c, lib/driver/driver.h, lib/raster/com_io.c,
+	  lib/raster/com_proto.c, lib/raster/loc_io.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h, scripts/Makefile,
+	  scripts/d.text.freetype, scripts/d.text.freetype/Makefile,
+	  scripts/d.text.freetype/d.text.freetype,
+	  scripts/d.text.freetype/freetypecap: Remove R_font_freetype() and
+	  related infrastructure
+	  Change d.font.freetype to use R_font() instead of
+	  R_font_freetype()
+	  Clean-up d.font.freetype
+	  Extend d.text.new to support remaining d.text.freetype options
+	  Replace d.text.freetype with a script which invokes d.text.new
+
+2007-04-07 08:19  glynn
+
+	* lib/gis/error.c: Print whole words/sentences rather than
+	  individual characters
+
+2007-04-06 20:33  soeren
+
+	* lib/gpde/gpdelib.dox: Added mean and upwinding calculation docu
+
+2007-04-06 19:49  soeren
+
+	* raster/r.univar2/r.univar.html, raster/r.univar2/r3.univar.html:
+	  Manual pages for r.univar and r3.univar
+
+2007-04-06 19:40  soeren
+
+	* raster/r.univar2/Makefile, raster/r.univar2/description.html,
+	  raster/r.univar2/globals.h, raster/r.univar2/main.c,
+	  raster/r.univar2/r.univar_main.c,
+	  raster/r.univar2/r3.univar_main.c, raster/r.univar2/sort.c,
+	  raster/r.univar2/stats.c: Added support for raster3d maps
+	  * rearranged the sources
+	  * use heapsort instead of quicksort
+
+2007-04-06 17:25  soeren
+
+	* raster/r.gwflow/description.html, raster/r.gwflow/main.c,
+	  raster3d/r3.gwflow/description.html, raster3d/r3.gwflow/main.c: *
+	  typo fixes
+	  * fixes related to gpde api modification
+
+2007-04-06 17:18  soeren
+
+	* include/N_gwflow.h, include/N_heatflow.h, include/N_pde.h,
+	  include/N_solute_transport.h: Moved gpde global header files to
+	  lib/gpde
+
+2007-04-06 17:17  jachym
+
+	* db/base/select.c: added -t flag for testing sql statements
+
+2007-04-06 17:12  soeren
+
+	* lib/gpde/Makefile, lib/gpde/N_arrays.c, lib/gpde/N_gradient.c,
+	  lib/gpde/N_gwflow.c, lib/gpde/N_gwflow.h, lib/gpde/N_heatflow.h,
+	  lib/gpde/N_les_assemble.c, lib/gpde/N_parse_options.c,
+	  lib/gpde/N_pde.h, lib/gpde/N_solute_transport.c,
+	  lib/gpde/N_solute_transport.h, lib/gpde/N_solvers.c,
+	  lib/gpde/N_tools.c, lib/gpde/N_upwind.c, lib/gpde/gpdelib.dox:
+	  Huge library update to increase functionality and documentation
+	  * moved header files from grass6/include to this directory
+	  - the global header files are copied while compilation time to
+	  the correct location
+	  * improved documentation
+	  * added new files for mean and upwind computation
+	  * fixed gradient computation code
+	  * minor doxygen fixes in the code
+	  * better structure of gwflow and solute transport code
+
+2007-04-06 16:55  soeren
+
+	* lib/gpde/test/test_gpde_lib.h, lib/gpde/test/test_gradient.c,
+	  lib/gpde/test/test_main.c, lib/gpde/test/test_solute_transport.c,
+	  lib/gpde/test/test_tools.c: * Fixed gradient tests
+	  * added new linear eqution solver tests
+	  * added tests for mathematical tools
+	  - mean computation tests
+	  - upwinding tests
+
+2007-04-06 15:57  glynn
+
+	* include/Make/Grass.make.in: Add $(PSDRIVERLIB) to definition of
+	  RASTERLIB
+
+2007-04-06 15:51  glynn
+
+	* aclocal.m4, configure: Don't use -flat_namespace on MacOSX
+
+2007-04-06 15:47  glynn
+
+	* lib/psdriver/Raster.c: Fix bug in raster positioning
+
+2007-04-06 13:52  glynn
+
+	* lib/psdriver/Draw_bitmap.c, lib/psdriver/psdriver.ps: Fix bug in
+	  BITMAP procedure
+	  Fix bug in bitmap data output
+
+2007-04-06 12:49  glynn
+
+	* lib/pngdriver/Draw_line.c: More efficient thick lines
+
+2007-04-06 10:07  markus
+
+	* locale/README: omit \n in G_message()
+
+2007-04-06 09:37  martinl
+
+	* db/drivers/dbf/dbfexe.c: bugfix: update double precision column,
+	  value given as string
+
+2007-04-06 08:21  markus
+
+	* vector/v.label/description.html: Spearfish example added
+
+2007-04-06 08:05  markus
+
+	* db/drivers/dbf/grass-dbf.html: link to DBF specs
+
+2007-04-06 07:19  hamish
+
+	* vector/v.label/description.html: update font info
+
+2007-04-06 07:03  hamish
+
+	* display/d.paint.labels/description.html: d.font.freetype no long
+	  overrides the label file's font setting.
+
+2007-04-06 06:57  hamish
+
+	* display/d.paint.labels/do_labels.c: skip commented lines
+
+2007-04-06 06:26  hamish
+
+	* display/d.paint.labels/do_labels.c: multiline labels should be
+	  working now
+
+2007-04-06 05:17  hamish
+
+	* display/d.paint.labels/do_labels.c: multi-line placement code.
+	  still need to actually update the text line,
+	  not just repeat the last line of the label.
+
+2007-04-06 04:39  hamish
+
+	* display/d.paint.labels/do_labels.c: enable new rotation code.
+	  multiline labels still broken.
+
+2007-04-06 04:25  hamish
+
+	* display/d.paint.labels/do_labels.c: (re)simplify justification
+	  calculations, better x centering
+
+2007-04-05 23:09  wolf
+
+	* vector/v.label.sa/annealing.c, vector/v.label.sa/labels.c,
+	  vector/v.label.sa/labels.h, vector/v.label.sa/main.c: Added the
+	  simulated annealing routine
+
+2007-04-05 16:35  markus
+
+	* rpm/mandriva/grass6-mdk2007.spec: official spec file with bugfix
+
+2007-04-05 13:45  hamish
+
+	* display/d.paint.labels/do_labels.c: forgot to init new
+	  justification offset vars.
+
+2007-04-05 12:38  hamish
+
+	* display/d.paint.labels/do_labels.c: Add offsets, highlight, and
+	  skip offscreen code for MKII rotation.
+	  Only part still missing is text rendering for multi line\n text
+	  labels.
+
+2007-04-05 11:50  hamish
+
+	* display/d.paint.labels/do_labels.c: better placement for center
+	  and lower justified labels
+
+2007-04-05 10:08  martinl
+
+	* display/d.vect/attr.c: text[100] -> dbString text
+
+2007-04-05 04:15  hamish
+
+	* display/d.paint.labels/do_labels.c: more label rotation code. not
+	  finished yet, but functional.
+	  bugfix: shift right justified labels over one more char
+
+2007-04-05 02:17  hamish
+
+	* vector/v.label/main.c: bugfix: could not select orange due to
+	  extra space in options string
+
+2007-04-04 21:11  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Changed open to exec for calling
+	  g.region in set_wind procedure.
+
+2007-04-04 15:07  martinl
+
+	* vector/v.edit/select.c: coord option: select all lines in the box
+	  (threshold)
+
+2007-04-04 14:09  martinl
+
+	* vector/v.edit/max_distance.c, vector/v.edit/merge.c,
+	  vector/v.edit/select.c: bug (described by Markus) in merge tool
+	  fixed
+
+2007-04-04 13:12  martinl
+
+	* lib/vector/Vlib/write.c: Vect_rewrite_line(): debug line id
+
+2007-04-04 13:01  martinl
+
+	* lib/vector/Vlib/write.c: Vect_delete_line(): debug line id
+
+2007-04-04 12:11  hamish
+
+	* lib/init/init.sh: typo in comment
+
+2007-04-04 11:59  hamish
+
+	* lib/init/init.sh: some cleanup of GRASS_HTML_BROWSER mess
+
+2007-04-04 11:55  markus
+
+	* include/gisdefs.h: G_stat() declared
+
+2007-04-04 10:43  hamish
+
+	* lib/init/init.sh: remove hardcoded + package specific code.
+	  Platform specific stuff can go
+	  here, but package specific stuff needs to be patched in by the
+	  packager. (WK)
+
+2007-04-04 10:24  glynn
+
+	* lib/pngdriver/Driver.c, lib/psdriver/Driver.c: Add copyright/GPL
+	  header
+
+2007-04-04 09:52  glynn
+
+	* display/drivers/PNG/main.c, display/drivers/PS/main.c,
+	  lib/pngdriver/Driver.c, lib/pngdriver/Makefile,
+	  lib/pngdriver/pngdriver.h, lib/psdriver/Driver.c,
+	  lib/psdriver/Makefile, lib/psdriver/psdriver.h,
+	  lib/raster/Makefile, lib/raster/com_io.c, lib/raster/loc_io.c:
+	  Add, use PNG_Driver(), PS_Driver() functions
+	  Extend direct rendering to allow PostScript output
+
+2007-04-04 08:06  hamish
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: move mapunits into a proceedure.
+	  prettify Map Display status line.
+	  TODO: if {range<1} {set outfmt {%f}}
+
+2007-04-04 06:52  hamish
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: measurement tool: format length
+	  numbers and units in a nice way
+
+2007-04-04 06:51  wolf
+
+	* vector/v.label.sa/labels.c, vector/v.label.sa/labels.h,
+	  vector/v.label.sa/main.c: Fixed point position finding code,
+	  fixed some bugs, and added a paint file writing function.
+
+2007-04-04 06:31  glynn
+
+	* display/drivers/HTMLMAP/main.c, display/drivers/PNG/main.c,
+	  display/drivers/PS/main.c, display/drivers/XDRIVER/Makefile,
+	  display/drivers/XDRIVER/Raster.c,
+	  display/drivers/XDRIVER/Raster_RGB.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/main.c, include/graphics.h,
+	  include/raster.h, lib/driver/Makefile, lib/driver/Raster.c,
+	  lib/driver/Raster_RGB.c, lib/driver/command.c,
+	  lib/driver/driver.h, lib/driver/scale.c,
+	  lib/pngdriver/Draw_point.c, lib/pngdriver/Makefile,
+	  lib/pngdriver/Raster.c, lib/pngdriver/Raster_RGB.c,
+	  lib/pngdriver/pngdriver.h, lib/psdriver/Makefile,
+	  lib/psdriver/Raster.c, lib/psdriver/Raster_RGB.c,
+	  lib/psdriver/Scale.c, lib/psdriver/psdriver.h,
+	  lib/raster/com_io.c, lib/raster/com_proto.c, lib/raster/loc_io.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h: Move scaled raster operation from library
+	  into drivers
+	  Remove unscaled raster operation
+
+2007-04-04 05:40  hamish
+
+	* rfc/psc_motions.dox: bugfix: use different section ID labels so
+	  section titles render correctly.
+
+2007-04-04 05:25  hamish
+
+	* rfc/rfc_list.dox: \mainpage does not take a keyword, just the
+	  label
+
+2007-04-04 04:09  hamish
+
+	* display/d.paint.labels/do_labels.c,
+	  display/d.paint.labels/local_proto.h,
+	  display/d.paint.labels/rotate.c: add first bits of code to help
+	  with proper label rotation
+
+2007-04-04 04:07  glynn
+
+	* lib/gis/mapset_msc.c, lib/gis/paths.c: Add, use G_stat()
+
+2007-04-03 17:15  bob
+
+	* visualization/nviz/src/map_obj.c: Fix for volume init
+
+2007-04-03 12:02  markus
+
+	* vector/vectorintro.html: better explain categories and layers
+
+2007-04-03 11:55  markus
+
+	* vector/vectorintro.html: Vector types and categories clarified
+
+2007-04-03 10:59  glynn
+
+	* scripts/g.mlist/g.mlist: Remove shell-specific comment from
+	  description of pattern= option
+
+2007-04-03 09:38  glynn
+
+	* display/drivers/PS/Makefile: EXTRA_CFLAGS is for compiling, not
+	  linking
+
+2007-04-03 08:53  markus
+
+	* general/g.mapset/main.c: Carlos Davila: i18N
+
+2007-04-03 08:23  markus
+
+	* display/drivers/PS/Makefile: make use of EXTRA_CFLAGS (but it
+	  still doesn't compile)
+
+2007-04-03 04:39  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fixed so that saving display
+	  geometry to named region no longer changes computational region.
+
+2007-04-03 02:58  glynn
+
+	* display/d.his/main.c, display/d.rgb/main.c, include/display.h,
+	  lib/display/raster.c, lib/display/raster2.c,
+	  lib/display/raster_rgb.c: More display clean-up
+	  Merge D_cell_draw_setup_RGB() with D_cell_draw_setup()
+	  Remove D_draw_[cfd]_raster_RGB(), D_raster_of_type_RGB()
+	  Remove D_[cfd]_raster(), D_raster(), D_raster_of_type()
+	  Move D_draw_raster_RGB() into raster.c
+
+2007-04-03 02:54  glynn
+
+	* imagery/i.ortho.photo/photo.2image/drawcell.c,
+	  imagery/i.ortho.photo/photo.2target/drawcell.c: Replace
+	  D_raster() with D_draw_c_raster()
+
+2007-04-03 02:48  glynn
+
+	* lib/init/variables.html, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: Add GRASS_RND_SEED environment
+	  variable (from Joel Pitt)
+
+2007-04-02 22:12  wolf
+
+	* vector/v.label.sa/labels.c, vector/v.label.sa/labels.h,
+	  vector/v.label.sa/main.c: Added code to generate candidate line
+	  and point labels
+
+2007-04-02 20:41  william
+
+	* macosx/modbuild/Makefile: fix some sed problems
+
+2007-04-02 20:41  william
+
+	* macosx/modbuild/ReadMe.rtf: usage clarifications
+
+2007-04-02 18:09  william
+
+	* macosx/app/build_gui_user_menu.sh: fix file check for user addons
+
+2007-04-02 17:31  william
+
+	* macosx/app/build_gui_user_menu.sh: hide cleanup error when no
+	  files found
+
+2007-04-02 14:32  markus
+
+	* Makefile: MACOSX_APP must be quoted for non-Macs
+
+2007-04-02 08:52  markus
+
+	* lib/grasslib.dox: small fixes
+
+2007-04-02 08:39  markus
+
+	* lib/display/displaylib.dox: should be \page
+
+2007-04-02 08:15  martinl
+
+	* lib/display/Makefile, lib/display/displaylib.dox: build doxygen
+	  documentation
+
+2007-04-02 07:54  markus
+
+	* rfc/RFC1_PSC.dox: fixed ITC -> ITC-irst
+
+2007-04-02 07:21  glynn
+
+	* imagery/i.class/draw_cell.c, imagery/i.points/drawcell.c,
+	  imagery/i.vpoints/drawcell.c: Replace D_d_raster() with
+	  D_draw_d_raster()
+
+2007-04-02 07:11  markus
+
+	* locale/po/grassmods_de.po: typo fixed
+
+2007-04-01 04:48  hamish
+
+	* rfc/RFC1_PSC.dox: fix Doxygen tag (\ref not \link""\endlink)
+
+2007-03-31 18:09  markus
+
+	* raster/wildfire/r.spread/spread.c: use G_debug()
+
+2007-03-31 18:08  markus
+
+	* raster/simwe/r.sim.sediment/main.c, raster/simwe/simlib/hydro.c,
+	  raster/simwe/simlib/input.c: use G_fatal_error(); use G_debug()
+
+2007-03-30 19:16  markus
+
+	* vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.surf.bspline/main.c: typo; debug level; keyword
+
+2007-03-30 19:14  markus
+
+	* visualization/nviz/scripts/panel_kanimator.tcl: button
+	  descriptions fixed
+
+2007-03-30 09:30  glynn
+
+	* lib/gis/intr_char.c: Use termios if available
+
+2007-03-30 06:29  glynn
+
+	* display/drivers/PS/main.c, lib/psdriver/Makefile,
+	  lib/psdriver/Polygon.c, lib/psdriver/Polyline.c,
+	  lib/psdriver/psdriver.h, lib/psdriver/psdriver.ps: Add polygon,
+	  polyline primitives
+
+2007-03-30 05:23  hamish
+
+	* display/d.paint.labels/do_labels.c, vector/v.label/main.c:
+	  d.labels has the problem with rotation, not v.label
+
+2007-03-30 04:51  glynn
+
+	* display/drivers/Makefile, display/drivers/PS,
+	  display/drivers/PS/Makefile, display/drivers/PS/main.c,
+	  display/drivers/PS/moncap.entry, include/Make/Grass.make.in,
+	  lib/Makefile, lib/pngdriver/pngdriver.h, lib/psdriver,
+	  lib/psdriver/Box.c, lib/psdriver/Client.c, lib/psdriver/Color.c,
+	  lib/psdriver/Color_table.c, lib/psdriver/Draw_bitmap.c,
+	  lib/psdriver/Draw_line.c, lib/psdriver/Draw_point.c,
+	  lib/psdriver/Erase.c, lib/psdriver/Graph_close.c,
+	  lib/psdriver/Graph_set.c, lib/psdriver/Line_width.c,
+	  lib/psdriver/Makefile, lib/psdriver/Raster_RGB.c,
+	  lib/psdriver/Respond.c, lib/psdriver/Scale.c,
+	  lib/psdriver/psdriver.h, lib/psdriver/psdriver.ps: PostScript
+	  driver
+
+2007-03-30 01:11  scott
+
+	* rfc/RFC1_PSC.dox: Implementing rollback and improvement to
+	  description of GRASS project, as well as getting adding wording
+	  on grounds for removal of CVS write access; ready for new vote
+
+2007-03-29 22:11  moritz
+
+	* vector/v.transform/creat_trans.c: use G_clear_screen() instead of
+	  system("clear")
+
+2007-03-29 13:08  markus
+
+	* vector/lidar/v.surf.bspline/main.c: typo fixed
+
+2007-03-29 13:07  markus
+
+	* lib/grasslib.dox: changed ITC-irst to FBK-irst (formerly
+	  ITC-irst)
+
+2007-03-29 12:57  markus
+
+	* rfc/Makefile: fix for progman building
+
+2007-03-29 12:34  markus
+
+	* lib/vector/vectorlib.dox: terminology fixes; field/layer
+	  confusion reduced
+
+2007-03-29 12:25  jachym
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.png/d.out.png, scripts/d.polar/d.polar,
+	  scripts/d.resize/d.resize,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/i.oif/i.oifcalc,
+	  scripts/i.spectral/i.spectral, scripts/r.out.gdal/r.out.gdal.sh,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel: Message consolidation
+
+2007-03-29 12:18  jachym
+
+	* scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/i.fusion.brovey/i.fusion.brovey: Message consolidation
+
+2007-03-29 12:16  jachym
+
+	* scripts/v.what.vect/v.what.vect: redirected echo to stderr
+
+2007-03-29 12:15  jachym
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.in.mapgen/v.in.mapgen,
+	  scripts/v.in.sites.all/v.in.sites.all,
+	  scripts/v.rast.stats/v.rast.stats, scripts/v.report/v.report,
+	  scripts/v.univar.sh/v.univar.sh: echo to g.message
+
+2007-03-29 11:54  jachym
+
+	* scripts/v.in.garmin/v.in.garmin, scripts/v.in.gns/v.in.gns: echo
+	  to g.message
+
+2007-03-29 10:20  martinl
+
+	* scripts/d.out.png/d.out.png: fix broken g.message
+
+2007-03-29 10:13  jachym
+
+	* scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all,
+	  scripts/v.in.e00/v.in.e00: echo to g.message
+
+2007-03-29 09:48  jachym
+
+	* scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.shaded.relief/r.shaded.relief,
+	  scripts/r.tileset/r.tileset, scripts/r.univar.sh/r.univar.sh,
+	  scripts/v.build.all/v.build.all, scripts/v.centroids/v.centroids,
+	  scripts/v.convert.all/v.convert.all,
+	  scripts/v.db.addtable/v.db.addtable: echo to g.message
+
+2007-03-29 09:26  jachym
+
+	* scripts/r.mask/r.mask, scripts/r.out.gdal/r.out.gdal.sh,
+	  scripts/r.plane/r.plane: echo to g.message
+
+2007-03-29 09:14  jachym
+
+	* scripts/r.mapcalculator/r.mapcalculator: echo to g.message
+
+2007-03-28 20:54  martinl
+
+	* vector/v.edit/merge.c: threshold disabled
+
+2007-03-28 15:02  jachym
+
+	* scripts/v.db.update/v.db.update, scripts/v.dissolve/v.dissolve,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel: echo to g.message
+
+2007-03-28 14:50  jachym
+
+	* scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.dropcol/v.db.dropcol: echo to g.message
+
+2007-03-28 14:46  jachym
+
+	* scripts/g.mlist/g.mlist: removed -e flag for echo command
+
+2007-03-28 14:41  jachym
+
+	* scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms,
+	  scripts/r.in.wms/wms.download, scripts/r.in.wms/wms.request: echo
+	  to g.message. I hope, it works...
+
+2007-03-28 14:26  martinl
+
+	* vector/v.edit/merge.c: number of merged lines bug fixed
+
+2007-03-28 14:03  jachym
+
+	* scripts/r.blend/r.blend, scripts/r.fillnulls/r.fillnulls,
+	  scripts/r.in.aster/r.in.aster, scripts/r.in.srtm/r.in.srtm: echo
+	  to g.message
+
+2007-03-28 13:31  jachym
+
+	* scripts/r3.mapcalculator/r3.mapcalculator: echo to g.message
+
+2007-03-28 13:21  jachym
+
+	* scripts/m.proj/m.proj: echo to g.message
+
+2007-03-28 13:15  jachym
+
+	* scripts/i.tasscap/i.tasscap: echo to g.message
+
+2007-03-28 13:03  jachym
+
+	* scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.landsat.rgb/i.landsat.rgb, scripts/i.oif/i.oif,
+	  scripts/i.spectral/i.spectral: echo to g.message
+
+2007-03-28 12:36  jachym
+
+	* scripts/i.fusion.brovey/i.fusion.brovey: echo to g.message
+
+2007-03-28 12:30  jachym
+
+	* scripts/g.mremove/g.mremove: echo to g.message
+
+2007-03-28 12:27  jachym
+
+	* scripts/g.mlist/g.mlist: small correction
+
+2007-03-28 12:23  jachym
+
+	* scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/g.manual/g.manual: echo to g.message
+
+2007-03-28 12:08  jachym
+
+	* scripts/d.split/d.split: echo to g.message
+
+2007-03-28 12:02  jachym
+
+	* scripts/d.polar/d.polar, scripts/d.rast.leg/d.rast.leg,
+	  scripts/d.resize/d.resize, scripts/d.slide.show/d.slide.show:
+	  echo to g.message
+
+2007-03-28 11:38  jachym
+
+	* scripts/d.out.png/d.out.png: echo to g.message
+
+2007-03-28 11:28  jachym
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive: echo to g.message
+
+2007-03-28 11:17  jachym
+
+	* scripts/d.out.file/d.out.file: echo to g.message
+
+2007-03-28 11:07  jachym
+
+	* scripts/d.mvmon/d.mvmon: echo to g.message
+
+2007-03-28 06:30  hamish
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: add map units to output (code
+	  taken from profile.tcl)
+
+2007-03-27 06:44  hamish
+
+	* gui/tcltk/gis.m/profile.tcl: correct plotting if null data is
+	  encountered
+
+2007-03-27 03:39  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Added title
+
+2007-03-27 03:34  william
+
+	* macosx/ReadMe.rtf: Added universal build notes
+
+2007-03-27 02:40  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Added v.db.select and moved all
+	  database commands to database menu
+	  heading
+
+2007-03-27 00:37  william
+
+	* macosx/Makefile, macosx/ReadMe.rtf: added bindist installer
+	  package creation
+
+2007-03-26 23:09  hamish
+
+	* display/d.colors/description.html: revert last change
+	  (whitespace)
+
+2007-03-26 16:48  william
+
+	* macosx/app/grass.sh.in: restored GDAL bin path for GDAL tools
+
+2007-03-26 15:30  martinl
+
+	* vector/v.transform/main.c: Vect_build() to stderr
+
+2007-03-26 15:24  martinl
+
+	* vector/v.patch/main.c: * message cosmetics
+	  * Vect_build() to stderr
+
+2007-03-26 13:24  martinl
+
+	* vector/v.net.steiner/main.c: * i18n
+	  * Vect_build () to stderr
+
+2007-03-26 12:48  martinl
+
+	* vector/v.net.salesman/main.c: * i18n
+	  * EXIT_SUCCESS/FAILURE
+	  * Vect_build () to stderr
+
+2007-03-26 11:27  martinl
+
+	* vector/v.net.path/main.c, vector/v.net.path/path.c: * i18n
+	  * Vect_build() to stderr
+
+2007-03-26 10:50  martinl
+
+	* vector/v.net.iso/main.c: * i18n
+	  * EXIT_SUCCESS/FAILURE
+	  * Vect_build to stderr
+
+2007-03-26 10:39  martinl
+
+	* lib/vector/Vlib/net.c: i18n
+
+2007-03-26 10:12  martinl
+
+	* vector/v.net.alloc/main.c: extended module description
+
+2007-03-26 10:04  martinl
+
+	* vector/v.net.alloc/main.c: * i18n
+	  * EXIT_SUCCESS/FAILURE
+	  * Vect_build () to stderr
+
+2007-03-26 09:37  martinl
+
+	* vector/v.net/main.c, vector/v.net/nodes.c, vector/v.net/report.c:
+	  * i18n
+	  * cleaning messages
+	  * Vect_build () to stderr
+
+2007-03-26 09:07  hamish
+
+	* gui/tcltk/gis.m/profile.tcl: make it work for unprojected XY
+	  locns; protect against log(0) errors
+
+2007-03-26 08:34  martinl
+
+	* vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c: * i18n
+	  * cleaning messages
+	  * EXIT_SUCCESS/FAILURE
+
+2007-03-26 07:52  hamish
+
+	* gui/tcltk/gis.m/profile.tcl: prettify axes tick labels and map
+	  units
+
+2007-03-26 06:06  martinl
+
+	* vector/v.proj/main.c: * input not required (allowing list without
+	  dummy input value)
+	  * cleaning messages
+	  * new keyword used (projection)
+
+2007-03-26 05:10  martinl
+
+	* vector/v.clean/main.c: cleaning messages
+
+2007-03-26 04:42  martinl
+
+	* lib/vector/Vlib/snap.c: bug fix GForge #342; i18n
+
+2007-03-26 03:31  hamish
+
+	* tools/module_synopsis.sh: script to generate a list of modules
+	  with name and description
+
+2007-03-26 03:04  hamish
+
+	* vector/v.to.db/main.c: shorter label for module description
+
+2007-03-26 02:47  hamish
+
+	* vector/v.segment/main.c: simplify module description
+
+2007-03-26 01:14  hamish
+
+	* vector/v.segment/main.c: add short module description label
+
+2007-03-26 01:06  hamish
+
+	* raster/r.sun/main.c: add short module description label
+
+2007-03-26 01:02  hamish
+
+	* display/d.colors/description.html: move module description onto
+	  one line to make grep parsing work better
+
+2007-03-26 00:58  hamish
+
+	* lib/gis/parser.c: add short descr label to HTML page, if
+	  available
+
+2007-03-26 00:49  hamish
+
+	* vector/v.external/main.c: add short GUI label for module
+	  description, remove newline from mod desc
+
+2007-03-26 00:30  hamish
+
+	* display/d.colors/main.c: must run in a term window
+
+2007-03-26 00:24  hamish
+
+	* misc/m.cogo/main.c: remove newline from description, i18n,
+	  EXIT_SUCCESS
+
+2007-03-26 00:11  hamish
+
+	* display/d.colors/description.html: html bugs; add KEYWORDS;
+	  remove parser.html
+
+2007-03-25 10:41  martinl
+
+	* vector/v.edit/main.c, vector/v.edit/merge.c: merge tool improved
+
+2007-03-24 20:46  martinl
+
+	* lib/gis/parser.c: removing redundant period from label
+
+2007-03-24 20:36  martinl
+
+	* vector/v.edit/args.c: arguments cosmetics
+
+2007-03-24 20:25  martinl
+
+	* vector/v.edit/cats.c, vector/v.edit/copy.c, vector/v.edit/del.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/merge.c, vector/v.edit/move.c,
+	  vector/v.edit/select.c: make select options orthogonal
+
+2007-03-24 12:40  martinl
+
+	* lib/vector/Vlib/list.c: minor doxygen docs update
+
+2007-03-23 23:43  glynn
+
+	* display/Makefile: Don't build d.rast.edit
+
+2007-03-23 22:53  markus
+
+	* raster/r.what/description.html: HTML fixed
+
+2007-03-23 22:16  martinl
+
+	* vector/v.hull/main.c: * removed site.h dependency
+	  * EXIT_SUCCESS/FAILURE
+	  * various message fixes
+
+2007-03-23 21:37  martinl
+
+	* vector/v.to.points/main.c: new flag: write line nodes (-n)
+
+2007-03-23 21:22  markus
+
+	* visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/volume.c: more reasonable error messages
+
+2007-03-23 20:38  markus
+
+	* locale/po/grasslibs_el.po, locale/po/grassmods_el.po,
+	  locale/po/grasstcl_el.po: New (untranslated) Greek po files added
+
+2007-03-23 19:02  michael
+
+	* gui/icons/module-d.thematic.gif,
+	  gui/icons/module-d.vect.thematic.gif: Made thematic icons same
+	  size as others (24x24)
+
+2007-03-23 18:52  jachym
+
+	* scripts/db.test/db.test: echo to g.message
+
+2007-03-23 18:47  jachym
+
+	* scripts/d.monsize/d.monsize: echo to g.message
+
+2007-03-23 18:35  jachym
+
+	* scripts/d.correlate/d.correlate: echo -> g.message
+
+2007-03-23 17:27  stephan
+
+	* locale/po/grasslibs_de.po: + german messages
+
+2007-03-23 16:45  markus
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_ar.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_fr.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_ko.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasstcl_pt_br.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_sl.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, locale/po/grasstcl_zh.po: Carlos
+	  Davila: merged in new messages
+
+2007-03-23 14:16  markus
+
+	* visualization/nviz/src/map_obj.c: get volumes working again
+
+2007-03-23 13:13  stephan
+
+	* locale/po/grassmods_de.po: + Robert Nuske: grassmods_de.po, more
+	  german translations
+
+2007-03-23 13:10  jachym
+
+	* SUBMITTING_SCRIPTS: updated SUBMITTING_SCRIPTS file, with
+	  g.message usage and example
+
+2007-03-23 11:01  markus
+
+	* general/g.message/main.c: changed -f to -e (as discussed with
+	  author); msg cosmetics
+
+2007-03-23 11:00  markus
+
+	* general/g.message/description.html: cosmetics
+
+2007-03-23 10:57  markus
+
+	* tools/g.html2man/g.html2man: support CODE tag
+
+2007-03-23 10:25  markus
+
+	* contributors.csv: update
+
+2007-03-23 09:11  markus
+
+	* vector/v.lrs/v.lrs.create/main.c: centralized debug level
+	  switching
+
+2007-03-23 06:17  hamish
+
+	* lib/gis/parser.c: ->description shouldn't contain newlines.
+	  G_usage(): show module.label if it exists, fix descr indenting
+	  (w/ label)
+	  TODO: line wrap at col 76 for really long descriptions.
+
+2007-03-23 05:56  markus
+
+	* vector/v.digit/settings.tcl: don't i18N SQL types (fix crash)
+
+2007-03-23 05:56  markus
+
+	* vector/v.digit/html_library.tcl: fix scroll bindings
+
+2007-03-23 05:29  hamish
+
+	* vector/v.in.ascii/in.c: use guisection
+
+2007-03-23 05:23  hamish
+
+	* include/gis.h: better comments for option->descriptions
+
+2007-03-22 23:43  william
+
+	* macosx/pkg/resources/postflight.in: copy readme to /Users/Shared
+	  for later perusal
+
+2007-03-22 15:26  jachym
+
+	* general/Makefile, general/g.message, general/g.message/Makefile,
+	  general/g.message/description.html, general/g.message/main.c: New
+	  module introduced: g.message
+
+2007-03-22 12:57  markus
+
+	* display/d.vect/topo.c: display node as well in topo display
+
+2007-03-22 12:47  markus
+
+	* display/d.vect/dir.c: show 3, not only one directional arrow per
+	  line
+
+2007-03-22 10:08  markus
+
+	* rfc/Makefile: cleandocs target added
+
+2007-03-22 09:29  moritz
+
+	* debian/control: allow for other versions of mesa
+
+2007-03-22 09:13  markus
+
+	* rfc/RFC1_PSC.dox, rfc/RFC3_PSC.dox: more links for convenience
+	  (text unchanged)
+
+2007-03-22 09:00  markus
+
+	* rfc/RFC1_PSC.dox: make grass-psc a link since it is a mailing
+	  list
+
+2007-03-22 08:56  markus
+
+	* rfc/Makefile: say where it is
+
+2007-03-22 08:36  markus
+
+	* vector/v.lrs/lrs.html, vector/v.lrs/v.lrs.create/main.c: more
+	  docs; msg/debug cosmetics
+
+2007-03-22 08:00  markus
+
+	* vector/v.select/description.html: example fix
+
+2007-03-22 07:48  hamish
+
+	* vector/v.label/main.c: add myself as an author
+
+2007-03-22 07:28  hamish
+
+	* lib/gis/parser.c: move comment back next to what it is talking
+	  about
+
+2007-03-22 06:26  danielc
+
+	* lib/gis/parser.c: - Added guisection to XML output
+
+2007-03-22 05:47  cho
+
+	* lib/gis/parser.c: Don't compare arguments with NULL (Segmentation
+	  fault)
+
+2007-03-22 05:34  william
+
+	* macosx/pkg/resources/ReadMe.rtf: trim old pre-cvs junk
+
+2007-03-22 05:32  william
+
+	* macosx/pkg/resources/Description.plist.in,
+	  macosx/pkg/resources/Info.plist.in,
+	  macosx/pkg/resources/postflight.in: more packemaker setup files
+
+2007-03-22 04:58  william
+
+	* macosx/app/Makefile, macosx/app/grass.sh.in:
+	  build_gui_user_menu.sh
+
+2007-03-22 04:51  william
+
+	* macosx/app/build_gui_user_menu.sh: for building the user GUI menu
+
+2007-03-22 03:02  william
+
+	* macosx/app/ReadMe.rtf, macosx/pkg, macosx/pkg/resources,
+	  macosx/pkg/resources/License.rtf,
+	  macosx/pkg/resources/ReadMe.rtf: Packagemaker pkg files, moved
+	  app/readme to pkg
+
+2007-03-22 02:23  william
+
+	* macosx/Makefile: check for built app package for install - for
+	  real
+
+2007-03-22 01:54  william
+
+	* macosx/Makefile: check for built app package for install instead
+	  of grass6
+
+2007-03-21 22:06  hamish
+
+	* display/d.histogram/get_stats.c: use double "quotes" with
+	  system() to make MS Windows happy
+
+2007-03-21 20:51  scott
+
+	* rfc/RFC1_PSC.dox: minor edits based on mailing list traffic
+	  regarding project definition and PSC origin
+
+2007-03-21 14:09  moritz
+
+	* include/gis.h: create a cross-platform macro variable for
+	  identifying the null device
+
+2007-03-21 10:02  markus
+
+	* contributors.csv: added missing contributors with CVS write
+	  access
+
+2007-03-21 08:40  martinl
+
+	* vector/v.edit/args.c: minor description fixes
+
+2007-03-21 08:27  martinl
+
+	* vector/v.edit/a2b.c, vector/v.edit/args.c, vector/v.edit/cats.c,
+	  vector/v.edit/copy.c, vector/v.edit/del.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/max_distance.c, vector/v.edit/merge.c,
+	  vector/v.edit/move.c, vector/v.edit/select.c,
+	  vector/v.edit/vertex.c: * 'create' tool reverted
+	  * some major/minor fixes (create,add,delete,move)
+
+2007-03-21 07:10  hamish
+
+	* lib/imagery/ls_groups.c: G_spawn() needs to include spawn.h
+
+2007-03-21 05:59  hamish
+
+	* vector/v.in.ascii/description.html: skip is only meant for points
+	  mode
+
+2007-03-21 05:58  hamish
+
+	* vector/v.in.ascii/in.c: "conversion" is a bit of a misnomer,
+	  remove it as a keyword.
+	  Use new file input std option.
+	  Make SQL column name example into a tooltip.
+	  skip is only for points mode.
+
+2007-03-21 05:48  hamish
+
+	* include/gis.h, lib/gis/parser.c: add new standard options for
+	  file input & output
+
+2007-03-21 00:34  markus
+
+	* raster/r.support/front/description.html,
+	  raster/r.support/front/front.c: category copy function added
+	  (like r.colors rast=)
+
+2007-03-20 23:55  markus
+
+	* raster/r.cats/main.c: indent -nbad -bap -bbb -nbbo -nbc -br -bli1
+	  -bls -cbi0 -ncdb -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8
+
+2007-03-20 20:11  paul
+
+	* raster/r.coin/inter.c: Pathname used on commandline should be
+	  quoted in case of spaces
+
+2007-03-20 19:50  paul
+
+	* include/gisdefs.h, lib/gis/copy_file.c, lib/init/mke_loc.c,
+	  raster/r.coin/inter.c, raster/r.coin/make_coin.c: Further Windows
+	  compatibility changes as discussed on mailing list
+
+2007-03-20 16:51  markus
+
+	* vector/v.surf.idw/main.c: write command history
+
+2007-03-20 15:20  markus
+
+	* vector/v.to.rast/support.c: don't crash when using USE_Z
+
+2007-03-20 14:56  markus
+
+	* vector/v.to.rast/vect2rast.c: more meaningful error msg
+
+2007-03-20 13:42  markus
+
+	* raster/r.surf.idw/main.c, raster/r.surf.idw2/main.c: write
+	  command history
+
+2007-03-20 11:29  markus
+
+	* lib/gis/gui.tcl: fix broken 'Output' for all locales
+
+2007-03-20 10:05  hamish
+
+	* gui/tcltk/gis.m/script/d.path.sh: add non-interactive coor=
+	  option (finish the job)
+
+2007-03-20 10:02  hamish
+
+	* gui/tcltk/gis.m/script/d.path.sh: add non-interactive coor=
+	  option
+
+2007-03-20 10:01  hamish
+
+	* display/d.path/description.html, display/d.path/main.c,
+	  display/d.path/proto.h, display/d.path/select.c: add
+	  non-interactive coor= option. make path() fn return 0 on exit.
+
+2007-03-20 06:53  markus
+
+	* locale/po/grassmods_de.po: DE fix
+
+2007-03-20 06:44  markus
+
+	* vector/v.sample/main.c: -q flag found
+
+2007-03-20 06:42  markus
+
+	* vector/v.neighbors/main.c: use macros
+
+2007-03-20 06:29  markus
+
+	* vector/v.random/main.c: caps first letter for params;
+	  EXIT_SUCCESS; terminology
+
+2007-03-20 06:26  markus
+
+	* vector/v.random/description.html: link to v.sample
+
+2007-03-20 06:25  markus
+
+	* vector/v.sample/main.c: terminology fix
+
+2007-03-20 06:24  markus
+
+	* vector/v.sample/description.html,
+	  vector/v.what.rast/description.html: use type=point for v.univar
+	  to get more statistics
+
+2007-03-20 06:22  markus
+
+	* vector/v.normal/main.c: terminology fixes
+
+2007-03-20 06:18  markus
+
+	* vector/v.normal/description.html: still no really meaningful
+	  example; find refs
+
+2007-03-20 03:30  hamish
+
+	* raster/r.mfilter/description.html: html bug
+
+2007-03-20 02:08  william
+
+	* macosx/app/build_html_user_index.sh: cleanup unused leftovers
+	  from build_html_index.sh
+
+2007-03-19 23:54  hamish
+
+	* gui/tcltk/gis.m/script/r.colors.rules: allow color rules to be
+	  taken from a file (Glynn)
+
+2007-03-19 23:16  hamish
+
+	* vector/v.in.region/main.c: fix output opt description;
+	  EXIT_SUCCESS; i18n of module desc
+
+2007-03-19 22:26  markus
+
+	* locale/po/grassmods_de.po: typo fixed
+
+2007-03-19 22:21  danielc
+
+	* scripts/d.monsize/d.monsize: = "" -> -z
+
+2007-03-19 22:17  moritz
+
+	* lib/gis/gishelp.c: include spawn.h
+
+2007-03-19 22:11  danielc
+
+	* scripts/g.mlist/g.mlist: Removed bashism
+
+2007-03-19 22:09  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: Removed bashisms: '=='
+	  and 'let'
+
+2007-03-19 22:00  danielc
+
+	* scripts/d.correlate/d.correlate, scripts/d.polar/d.polar: Remove
+	  bashisms
+
+2007-03-19 14:01  markus
+
+	* db/drivers/sqlite/describe.c: more/better debug output
+
+2007-03-18 23:28  moritz
+
+	* raster/r.coin/inter.c: replaced system() calls by G_spawn() calls
+
+2007-03-18 22:59  moritz
+
+	* lib/imagery/ls_groups.c: replace system() call by G_spawn() call.
+
+2007-03-18 22:25  moritz
+
+	* debian/grass.install: reflect gem -> gem6 binary name change
+
+2007-03-18 22:08  moritz
+
+	* lib/gis/gishelp.c: replaced call to system() with call to
+	  G_spawn()
+
+2007-03-18 21:51  moritz
+
+	* general/g.mapsets/main_cmd.c: erased unused 'command' variable
+
+2007-03-18 21:50  moritz
+
+	* general/g.mapsets/main_cmd.c: replace system("ls") calls with
+	  G_ls() calls
+
+2007-03-18 20:56  wolf
+
+	* vector/v.label.sa/description.html: Added a bried descriotion
+
+2007-03-18 19:37  wolf
+
+	* vector/v.label.sa, vector/v.label.sa/Makefile,
+	  vector/v.label.sa/labels.c, vector/v.label.sa/labels.h,
+	  vector/v.label.sa/main.c: Initial commit. based code on v.label,
+	  but made heavy modifications. Code
+	  now fetches features and label texts and creates the skylight
+	  (polygon which
+	  is the union of the bounding boxes of each letter)
+
+2007-03-18 06:02  markus
+
+	* db/drivers/sqlite/README: affinity_type() hint added
+
+2007-03-18 05:51  markus
+
+	* lib/gpde/test/test_solvers.c: Carlos Davila: typo fixed
+
+2007-03-18 00:01  glynn
+
+	* db/drivers/sqlite/describe.c: Sane implementation of "date" ->
+	  SQLITE_TEXT; still less than ideal,
+	  but preferable to "date" -> SQLITE_FLOAT
+
+2007-03-17 22:50  glynn
+
+	* db/drivers/sqlite/describe.c: Revert bogus "fix"
+
+2007-03-17 22:35  markus
+
+	* db/drivers/sqlite/describe.c: fix date recognition also in the
+	  table description part
+
+2007-03-17 21:18  markus
+
+	* lib/gis/get_datum_name.c: fixed wrong i18N macro
+
+2007-03-17 20:59  markus
+
+	* rfc/rfc_list.dox: Makefile working; lists updated
+
+2007-03-17 20:58  markus
+
+	* rfc/Makefile, rfc/psc_motions.dox, rfc/rfc_list.dox: Makefile
+	  working; lists updated
+
+2007-03-17 20:01  markus
+
+	* lib/grasslib.dox: fix link to DBMI
+
+2007-03-17 19:54  markus
+
+	* db/drivers/sqlite/fetch.c: ISO date hint from pg driver copied
+
+2007-03-17 19:52  markus
+
+	* db/drivers/sqlite/fetch.c: parse date into value->t structure
+
+2007-03-17 19:19  markus
+
+	* scripts/d.rast.leg/d.rast.leg: check first if map exists
+
+2007-03-17 19:16  markus
+
+	* locale/po/grasstcl_ar.po, locale/po/grasstcl_ko.po,
+	  locale/po/grasstcl_mr.po, locale/po/grasstcl_sl.po,
+	  locale/po/grasstcl_zh.po: Carlos Davila (translation manager):
+	  added missing tcl po files
+
+2007-03-17 17:54  william
+
+	* macosx/Makefile: missing MAKE_DIR_CMD; found home to install
+	  modbuild
+
+2007-03-17 16:18  william
+
+	* Makefile, tools/build_html_index.sh, tools/grass_icon.png:
+	  register help with OSX Help Viewer
+
+2007-03-17 07:16  markus
+
+	* db/drivers/sqlite/select.c: warning fix
+
+2007-03-17 07:01  markus
+
+	* db/drivers/sqlite/fetch.c: fix for date type columns (which are
+	  SQLITE_TEXT in SQLite
+
+2007-03-17 05:49  markus
+
+	* gui/tcltk/gis.m/maptool.tcl: Carlos Davila (translation manager):
+	  messages G_msg()'ed
+
+2007-03-17 05:26  markus
+
+	* locale/po/grassmods_de.po: typo's fixed
+
+2007-03-16 22:03  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Davila spanish translations
+
+2007-03-16 17:03  martinl
+
+	* general/manage/lib/do_copy.c, general/manage/lib/do_rename.c:
+	  advertize which sort of file/map is copied/renamed (based on
+	  do_remove.c)
+
+2007-03-16 16:50  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c, vector/v.edit/merge.c,
+	  vector/v.edit/select.c: * various cleaning
+	  * tool 'create' removed (v.in.ascii -e duplication)
+	  * tool 'merge' improved (first commit)
+
+2007-03-16 11:45  brad
+
+	* imagery/i.his.rgb/openfiles.c: - Ugh. I shouldn't do fixes in the
+	  middle of the night. Now fixed the fix for the fix. :)
+
+2007-03-16 11:42  brad
+
+	* imagery/i.his.rgb/openfiles.c: - Completed fix.
+
+2007-03-16 11:40  brad
+
+	* imagery/i.his.rgb/openfiles.c: - Fixed input open files (opened
+	  wrong files)
+
+2007-03-16 01:44  william
+
+	* macosx/Makefile: use /bin/ln to avoid GNU ln problem
+
+2007-03-16 00:58  william
+
+	* macosx/Makefile: touch app package so it has build date
+
+2007-03-15 23:23  markus
+
+	* vector/v.in.ogr/main.c: OFTTime and OFTDateTime added; date fix
+	  from 2001/10/21 to 2001-10-21
+
+2007-03-15 21:29  william
+
+	* macosx/app/build_html_user_index.sh: correct addon index title
+
+2007-03-15 21:21  william
+
+	* macosx/app/Makefile: fix execute on grass.sh
+
+2007-03-15 20:12  glynn
+
+	* lib/Makefile: Restore form library
+
+2007-03-15 20:04  glynn
+
+	* display/d.what.vect/Makefile,
+	  display/d.what.vect/description.html,
+	  display/d.what.vect/generate.c, display/d.what.vect/main.c,
+	  display/d.what.vect/what.c, display/d.what.vect/what.h: Revert
+	  previous commit
+
+2007-03-15 19:37  glynn
+
+	* lib/Makefile: Don't build form library (no longer used)
+
+2007-03-15 19:35  glynn
+
+	* display/d.what.vect/Makefile,
+	  display/d.what.vect/description.html,
+	  display/d.what.vect/generate.c, display/d.what.vect/main.c,
+	  display/d.what.vect/what.c, display/d.what.vect/what.h: Eliminate
+	  use of form library
+
+2007-03-15 16:22  glynn
+
+	* scripts/d.rast.edit/d.rast.edit,
+	  scripts/d.rast.edit/d.rast.edit.tcl: Allow panning around entire
+	  map
+
+2007-03-15 15:35  markus
+
+	* vector/v.support/main.c: added cmdhist parameter for vector
+	  scripts to add command history in metadata (v.info -h map)
+
+2007-03-15 14:20  william
+
+	* macosx/Makefile: fix execute on OSX grass.sh
+
+2007-03-15 14:12  markus
+
+	* vector/v.support/main.c: better description of map_name
+
+2007-03-15 14:04  martinl
+
+	* lib/vector/Vlib/find.c: doxygen update (cosmetics)
+
+2007-03-15 13:47  markus
+
+	* vector/v.support/main.c: fixed long comments (thanks, Paul); -r
+	  flag added
+
+2007-03-15 13:27  martinl
+
+	* lib/vector/Vlib/intersect.c: * doxygen minor update
+
+2007-03-15 11:06  markus
+
+	* vector/v.support/main.c: only search in current mapset
+
+2007-03-15 10:52  markus
+
+	* vector/Makefile, vector/v.support, vector/v.support/Makefile,
+	  vector/v.support/description.html, vector/v.support/main.c: new
+	  module to set/update vector map metadata in the header file
+
+2007-03-15 10:36  markus
+
+	* include/Vect.h, lib/vector/Vlib/header.c: functions to read/write
+	  vector header metadata
+
+2007-03-15 08:54  markus
+
+	* doc/raster/r.example/main.c, doc/vector/v.example/main.c: small
+	  keyword fixes
+
+2007-03-15 08:41  martinl
+
+	* vector/v.kcv/histo.c, vector/v.kcv/main.c: * i18n
+	  * Vect_build() redirected to stderr
+	  * EXIT_SUCCESS/FAILURE
+
+2007-03-15 08:33  markus
+
+	* vector/v.lrs/v.lrs.create/main.c: param cosmetics
+
+2007-03-15 08:29  markus
+
+	* vector/v.lrs/lrs.html: some parameters explained
+
+2007-03-15 06:41  markus
+
+	* INSTALL, README_MACOSX.txt: README_MACOSX.txt merged into INSTALL
+
+2007-03-15 00:05  william
+
+	* macosx/ReadMe.rtf: small adjustment to OSX readme example
+
+2007-03-14 23:15  markus
+
+	* vector/v.parallel/main.c: bug indicated
+
+2007-03-14 23:10  william
+
+	* macosx/ReadMe.rtf: Added OSX configure example
+
+2007-03-14 22:07  william
+
+	* README_MACOSX.txt: Mac OS X readme dummy at top level of source
+
+2007-03-14 22:03  william
+
+	* macosx/ReadMe.rtf: Change OSX readme for updated configure
+	  options
+
+2007-03-14 21:36  glynn
+
+	* configure, configure.in: Fix --enable-macosx[-app] option
+
+2007-03-14 20:59  paul
+
+	* lib/init/mke_mapset.c: Create region file in a simpler
+	  cross-platform way
+
+2007-03-14 19:40  markus
+
+	* locale/po/grasslibs_de.po: typo fixed
+
+2007-03-14 18:21  glynn
+
+	* configure, configure.in: Rename --enable-macosx ->
+	  --enable-macosx-app
+	  Add "MacOSX application" line to feature summary
+
+2007-03-14 16:08  markus
+
+	* vector/v.digit/main.c: msg cosmetics; new keywords; G_fatal_error
+
+2007-03-14 15:58  glynn
+
+	* vector/v.digit/Makefile, vector/v.digit/form.c,
+	  vector/v.digit/form.tcl, vector/v.digit/generate.c,
+	  vector/v.digit/html_library.tcl, vector/v.digit/license.terms,
+	  vector/v.digit/main.c, vector/v.digit/open.c,
+	  vector/v.digit/proto.h, vector/v.digit/toolbox.tcl: Integrate
+	  HTML form code with v.digit
+
+2007-03-14 14:47  markus
+
+	* vector/v.parallel/main.c: i18N; exit status; small fix; problem:
+	  line segments are not properly connected
+
+2007-03-14 14:35  glynn
+
+	* Makefile: Add support for building MacOSX .app
+
+2007-03-14 13:41  paul
+
+	* lib/vector/diglib/Makefile, lib/vector/diglib/test.c: fseek
+	  required for switching between reading and writing on Windows.
+	  Re-enable portable test for Windows after this fix.
+
+2007-03-14 13:35  martinl
+
+	* lib/vector/Vlib/open.c: * minor doxygen update
+
+2007-03-14 12:51  glynn
+
+	* configure, configure.in: Don't substitute ${prefix} in INSTDIR
+	  setting
+
+2007-03-14 12:30  martinl
+
+	* vector/v.type/main.c: * i18n
+	  * EXIT_SUCCESS/FAILURE
+	  * Vect_build() redirected to stderr
+
+2007-03-14 12:29  markus
+
+	* raster/r.li/TODO: added test commands
+
+2007-03-14 12:28  markus
+
+	* raster/r.li/r.li.patchdensity/description.html: attempt to
+	  demystify documentation; Spearfish example added
+
+2007-03-14 11:24  markus
+
+	* lib/symbol/symbol/extra/bridge: simple bridge symbol
+
+2007-03-14 09:11  martinl
+
+	* vector/v.extrude/main.c: * cosmetics
+	  * Vect_build redirected to stderr
+
+2007-03-14 09:00  martinl
+
+	* vector/v.convert/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.convert/type.c: * Vect_build
+	  redirected to stderr
+	  * minor message cleaning
+	  * i18n
+
+2007-03-14 03:07  william
+
+	* macosx/Makefile, macosx/ReadMe.rtf, macosx/app,
+	  macosx/app/English.lproj, macosx/app/English.lproj/MainMenu.nib,
+	  macosx/app/English.lproj/MainMenu.nib/classes.nib,
+	  macosx/app/English.lproj/MainMenu.nib/data.dependency,
+	  macosx/app/English.lproj/MainMenu.nib/info.nib,
+	  macosx/app/English.lproj/MainMenu.nib/keyedobjects.nib,
+	  macosx/app/GRASS.applescript, macosx/app/Info.plist.in,
+	  macosx/app/Makefile, macosx/app/PkgInfo, macosx/app/ReadMe.rtf,
+	  macosx/app/app.icns, macosx/app/build_html_user_index.sh,
+	  macosx/app/grass.sh.in, macosx/app/main.m: Add Mac OS X build
+	  folder
+
+2007-03-14 03:02  william
+
+	* macosx, macosx/modbuild, macosx/modbuild/Makefile,
+	  macosx/modbuild/Platform.make.in, macosx/modbuild/ReadMe.rtf: Add
+	  Mac OS X build folder
+
+2007-03-13 21:12  moritz
+
+	* lib/init/init.bat: quote $WINGISBASE to avoid error when it
+	  contains spaces
+
+2007-03-13 20:31  markus
+
+	* general/g.region/cmd/printwindow.c: also output center
+	  coordinates with -b and -bg flag
+
+2007-03-13 20:16  markus
+
+	* locale/po/grassmods_de.po: typo
+
+2007-03-13 18:28  brad
+
+	* raster/r.support/front/front.c: - Allocate local storage for
+	  rname and rmapset. Fixes segv for reclassed rasters
+
+2007-03-13 16:41  martinl
+
+	* vector/v.category/main.c: option_opt->descriptions added
+
+2007-03-13 16:34  brad
+
+	* raster/r.support/front/front.c: - Made history wrap to newline if
+	  string > RECORD_LEN
+
+2007-03-13 16:29  martinl
+
+	* vector/v.category/main.c: * message cleaning
+	  * i18n
+	  * EXIT_SUCCESS/FAILURE added
+	  * Vect_build (Map, strerr)
+
+2007-03-13 16:11  martinl
+
+	* vector/lidar/v.outlier/main.c: * Vec_build redirected to stderr
+	  * message cleaning
+	  * do not use _() in G_debug()
+
+2007-03-13 15:53  markus
+
+	* raster/r.clump/description.html,
+	  raster/r.statistics/description.html: cosmetics; links
+
+2007-03-13 15:45  markus
+
+	* raster/r.average/description.html,
+	  raster/r.median/description.html, raster/r.mode/description.html,
+	  raster/r.neighbors/description.html,
+	  raster/r.stats/description.html: r.statistics linked for zonal
+	  statistics
+
+2007-03-13 15:44  markus
+
+	* raster/r.watershed/shed/main.c: missing copyright header added
+
+2007-03-13 15:20  glynn
+
+	* scripts/d.rast.edit/d.rast.edit,
+	  scripts/d.rast.edit/d.rast.edit.tcl: Determine colour for
+	  previously-unused cell values
+	  Add aspect= option for slope arrows
+	  Force square cells
+
+2007-03-13 13:42  martinl
+
+	* raster/r.out.tiff/r.out.tiff.c: * some messages moved to G_debug
+	  * G_done_msg() added
+	  * keyword (export) added
+
+2007-03-13 13:19  glynn
+
+	* include/Make/Platform.make.in: Reinstate prefix, exec_prefix
+
+2007-03-13 12:47  martinl
+
+	* raster/r.out.gdal/main.c: G_message (Done) -> G_done_msg ()
+
+2007-03-13 12:43  martinl
+
+	* lib/gis/get_projinfo.c: * doxygen docs added
+	  * fprintf (stderr, ...) -> G_warning ()
+
+2007-03-13 12:22  martinl
+
+	* vector/v.to.rast/do_lines.c, vector/v.to.rast/local.h,
+	  vector/v.to.rast/vect2rast.c: messages changed to more accurate
+	  ([x] of [x] converted)
+
+2007-03-13 11:08  martinl
+
+	* vector/v.in.ascii/in.c: * header added
+	  * message cleaning
+	  * keywords added
+
+2007-03-13 10:51  martinl
+
+	* raster/r.in.ascii/main.c: minor changes: consolidation with
+	  v.in.ascii, input parameter is not required
+
+2007-03-13 09:27  markus
+
+	* general/manage/lib/do_remove.c: advertize which sort of file/map
+	  is removed
+
+2007-03-13 08:57  martinl
+
+	* locale/po/grasslibs_cs.po: czech translation: encoding fixed
+
+2007-03-13 08:45  martin
+
+	* raster/r.resamp.stats/main.c: added variance and stddev
+
+2007-03-13 08:28  martinl
+
+	* locale/po/grasslibs_cs.po: updated czech translation (only lib
+	  part)
+
+2007-03-13 07:01  markus
+
+	* scripts/r.reclass.area/r.reclass.area: label support added
+
+2007-03-12 22:45  markus
+
+	* raster/r.surf.fractal/write_rast.c,
+	  raster/r.surf.gauss/gaussurf.c: write cmd history
+
+2007-03-12 22:31  markus
+
+	* raster/r.random.surface/save.c: write cmd history
+
+2007-03-12 22:24  markus
+
+	* raster/r.random.cells/indep.c: write cmd history
+
+2007-03-12 22:06  glynn
+
+	* scripts/d.rast.edit/Makefile, scripts/d.rast.edit/d.rast.edit,
+	  scripts/d.rast.edit/d.rast.edit.tcl: Move g.parser/$GRASS_WISH
+	  startup into d.rast.edit shell script
+	  Rename d.rast.edit -> d.rast.edit.tcl
+	  Explicitly set window title
+	  Windows fixes
+	  Add width=, height= and size= options
+	  Force --o when saving map
+
+2007-03-12 22:05  markus
+
+	* raster/r.circle/dist.c: write cmd history
+
+2007-03-12 21:19  hamish
+
+	* lib/vector/Vlib/legal_vname.c: missing string.h for strcmp()
+
+2007-03-12 18:07  glynn
+
+	* configure, configure.in: Include version number in MacOSX INSTDIR
+
+2007-03-12 16:58  glynn
+
+	* scripts/d.rast.edit/d.rast.edit: Allow use of values with no
+	  associated colour
+	  Update colour indicator when entering brush value manually
+
+2007-03-12 16:30  markus
+
+	* general/g.region/cmd/printwindow.c: added (commented) projection
+	  string debug
+
+2007-03-12 16:10  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in: Add
+	  --enable-macosx option
+
+2007-03-12 14:05  glynn
+
+	* raster/r.out.ppm/main.c: Fix exit code
+
+2007-03-12 14:04  glynn
+
+	* scripts/Makefile, scripts/d.rast.edit,
+	  scripts/d.rast.edit/Makefile, scripts/d.rast.edit/d.rast.edit:
+	  Add Tcl/Tk d.rast.edit tool
+
+2007-03-12 12:38  markus
+
+	* raster/r.in.bin/description.html: link to r.in.srtm
+
+2007-03-12 12:35  markus
+
+	* scripts/r.in.srtm/description.html: hint for TOPEX/SRTM30
+
+2007-03-12 11:34  paul
+
+	* rfc/RFC1_PSC.dox, rfc/RFC3_PSC.dox, rfc/rfc_list.dox: Proposed
+	  changes to PSC documents
+
+2007-03-12 10:54  martinl
+
+	* vector/v.in.ogr/main.c: code duplication, using G_str_to_sql()
+
+2007-03-12 10:48  martinl
+
+	* lib/gis/strings.c: updated G_str_to_sql(): the first character
+	  must be [a-zA-Z]
+
+2007-03-12 10:34  martinl
+
+	* vector/v.in.dxf/main.c, vector/v.in.dxf/write_vect.c: bug RT
+	  #5463: support for spaces in layer names
+
+2007-03-12 09:41  martinl
+
+	* include/gisdefs.h: G_str_to_sql() added
+
+2007-03-12 09:38  martinl
+
+	* lib/gis/strings.c: * G_str_to_sql() added
+	  * doxygen docs updated
+
+2007-03-11 23:10  markus
+
+	* raster/r.li/r.li.daemon/daemon.c: r.li suite now writes command
+	  history as metadata
+
+2007-03-11 22:29  markus
+
+	* raster/r.in.poly/main.c, raster/r.in.poly/poly2rast.c: added
+	  missing copyright header; write cmd history
+
+2007-03-11 21:01  markus
+
+	* raster/r.li/r.li.setup/r.li.setup.main: G_msg error fixed; Button
+	  description standardized; indicate vector polygon and point maps
+	  as optional
+
+2007-03-11 21:00  markus
+
+	* raster/r.li/r.li.setup/description.html: typo
+
+2007-03-11 20:45  glynn
+
+	* raster/r.out.gdal/main.c: Use correct number of colour rules
+
+2007-03-11 19:52  markus
+
+	* scripts/v.report/v.report: sort flags added
+
+2007-03-11 17:50  markus
+
+	* raster/r.li/r.li.daemon/description.html: some english fixes
+
+2007-03-11 17:38  glynn
+
+	* display/d.zoom/ask.c, display/d.zoom/local_proto.h: Remove unused
+	  code
+
+2007-03-11 13:19  glynn
+
+	* lib/ogsf/Makefile: Use $(FFMPEGLIBPATH) [bug #5453]
+
+2007-03-09 16:52  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Davila spanish translations
+
+2007-03-09 15:59  brad
+
+	* raster/r.reclass/main.c: - Improved readability and saved a
+	  couple bytes of memory
+	  - Removed now unused "middleman" pointers
+
+2007-03-09 15:41  glynn
+
+	* lib/display/draw2.c: Add support for longitude wrap to other
+	  drawing operations
+
+2007-03-09 15:04  martinl
+
+	* vector/Makefile: enable v.edit
+
+2007-03-09 14:59  markus
+
+	* imagery/i.target/main.c: EXIT_SUCCESS
+
+2007-03-09 14:52  brad
+
+	* imagery/i.target/main.c: - Code readability cleanup
+	  - Updated API
+
+2007-03-09 13:55  brad
+
+	* raster/r.statistics/main.c, raster/r.statistics/method.h,
+	  raster/r.statistics/o_adev.c, raster/r.statistics/o_average.c,
+	  raster/r.statistics/o_distrib.c, raster/r.statistics/o_kurt.c,
+	  raster/r.statistics/o_median.c, raster/r.statistics/o_sdev.c,
+	  raster/r.statistics/o_skew.c, raster/r.statistics/o_sum.c,
+	  raster/r.statistics/o_var.c, raster/r.statistics/read_stats.c: -
+	  code cleanups:
+	  - Removed exit() after G_fatal_error() calls
+	  - Made local exported functions static
+	  - Remove unused code
+	  - Made commented out code -> G_debug () where appropriate
+	  - Update API
+
+2007-03-09 13:39  markus
+
+	* contributors_extra.csv, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.los/main.c,
+	  raster/r.recode/main.c, raster/r.thin/main.c,
+	  raster/r.volume/main.c, raster/r.walk/main.c,
+	  raster/r.watershed/front/main.c, raster/r.watershed/ram/main.c,
+	  raster/r.watershed/seg/main.c: added missing copyright/authors
+	  headers; some exit status fixed
+
+2007-03-09 13:18  markus
+
+	* contributors_extra.csv: missing contributor added
+
+2007-03-09 13:04  markus
+
+	* raster/r.mapcalc/main.c, raster/r.median/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.patch/main.c,
+	  raster/r.quant/main.c, raster/r.reclass/main.c,
+	  raster/r.rescale/main.c, raster/r.series/main.c,
+	  raster/r.stats/main.c, raster/r.sunmask/main.c,
+	  raster/r.surf.gauss/main.c, raster/r.surf.idw2/main.c,
+	  raster/r.surf.random/main.c, raster/r.timestamp/main.c: added
+	  missing copyright/authors headers; some exit status fixed
+
+2007-03-09 12:55  jachym
+
+	* general/g.region/cmd/main.c: G_warning changed to G_fatal_error,
+	  when default region not changable
+
+2007-03-09 12:51  jachym
+
+	* general/g.region/cmd/main.c: added brackets, removed name of
+	  mapset
+
+2007-03-09 12:42  martinl
+
+	* vector/v.in.dxf/description.html,
+	  vector/v.out.dxf/description.html: docs updated: references (dxf
+	  on wikipedia)
+
+2007-03-09 12:35  glynn
+
+	* lib/display/draw2.c: Tweak euclidify() to handle polar fix-up
+	  edges
+
+2007-03-09 12:26  martinl
+
+	* vector/v.out.dxf/main.c: message added -- %d features written +
+	  complete
+
+2007-03-09 12:18  markus
+
+	* raster/r.mfilter/main.c, raster/r.param.scale/main.c,
+	  raster/r.report/main.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.what/main.c,
+	  raster/wildfire/r.ros/main.c, raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spreadpath/main.c: added missing
+	  copyright/authors headers; some exit status fixed
+
+2007-03-09 11:10  markus
+
+	* raster/r.li/r.li.daemon/main.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c, raster/r.li/r.li.shape/main.c,
+	  raster/r.neighbors/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.random.cells/main.c, raster/r.rescale.eq/main.c: added
+	  missing copyright/authors headers
+
+2007-03-09 10:46  markus
+
+	* vector/v.mkgrid/main.c, vector/v.proj/main.c,
+	  vector/v.reclass/main.c, vector/v.to.db/main.c,
+	  vector/v.to.rast3/main.c: added missing copyright/authors headers
+
+2007-03-09 08:55  markus
+
+	* demolocation/PERMANENT/DEFAULT_WIND,
+	  demolocation/PERMANENT/PROJ_INFO, demolocation/PERMANENT/VAR,
+	  demolocation/PERMANENT/WIND: updated
+
+2007-03-09 08:31  martinl
+
+	* vector/v.in.ogr/main.c: dsn_opt and out_opt not required because
+	  of the -f/-l flags, check manually
+
+2007-03-09 08:17  markus
+
+	* scripts/v.rast.stats/v.rast.stats: less verbose; exit status
+
+2007-03-09 08:08  markus
+
+	* scripts/v.rast.stats/v.rast.stats: description cosmetics
+
+2007-03-09 08:04  markus
+
+	* scripts/v.rast.stats/v.rast.stats: added key_desc
+
+2007-03-09 06:42  glynn
+
+	* vector/v.in.region/main.c: Add additional vertex if necessary to
+	  ensure line segments don't exceed 180 degrees longitude
+
+2007-03-09 06:34  glynn
+
+	* gui/tcltk/gis.m/vector.tcl: Initialise lwidth before use
+
+2007-03-09 06:26  glynn
+
+	* include/display.h, lib/display/cnversions.c, lib/display/draw2.c:
+	  Extend D_polygon_clip() to handle lat/lon
+
+2007-03-09 02:32  hamish
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/script/d.path.sh:
+	  make d.path draw background map via new d.path.sh script
+
+2007-03-08 17:52  martinl
+
+	* vector/v.out.dxf/main.c: keyword (export) added
+
+2007-03-08 17:51  markus
+
+	* vector/v.overlay/main.c: fix jachym's email
+
+2007-03-08 17:47  jachym
+
+	* contributors.csv: jachym's e-mail changed
+
+2007-03-08 17:42  markus
+
+	* db/db.login/main.c, general/g.access/main.c,
+	  general/g.ask/main.c, general/g.filename/main.c,
+	  general/g.findfile/main.c, general/g.gisenv/main.c,
+	  general/g.parser/main.c, general/g.tempfile/main.c,
+	  sites/s.out.ascii/main.c, vector/v.overlay/main.c: added missing
+	  copyright header; few exit status fixed
+
+2007-03-08 17:35  martinl
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: * i18n
+	  * list available formats improved
+	  * module description simplified
+
+2007-03-08 17:33  markus
+
+	* contributors.csv: added jachym
+
+2007-03-08 17:17  markus
+
+	* scripts/v.db.addcol/v.db.addcol: no bashism
+
+2007-03-08 16:38  martinl
+
+	* vector/v.out.ogr/main.c: extra keyword (export) introduced
+
+2007-03-08 13:49  martinl
+
+	* raster/r.cats/cats.c, raster/r.cats/main.c: message cosmetics
+
+2007-03-08 13:17  markus
+
+	* rpm/fedora/grass_FC4.spec, rpm/fedora/grass_FC6.spec,
+	  rpm/mandriva/grass6-mdk2006.spec: gem -> gem6
+
+2007-03-08 13:11  benjamin
+
+	* Makefile: updated real-install action to pick up gem6 binary from
+	  the gem directory
+
+2007-03-08 13:06  benjamin
+
+	* gem/Makefile, gem/NEWS, gem/README, gem/actions.c, gem/actions.h,
+	  gem/at_exit_funcs.c, gem/docs/GEM-Manual.lyx,
+	  gem/docs/GEM-Manual/GEM-Manual.html,
+	  gem/docs/GEM-Manual/WARNINGS, gem/docs/GEM-Manual/index.html,
+	  gem/docs/GEM-Manual/labels.pl, gem/globals.h, gem/main.c,
+	  gem/reg_deps.c, gem/reg_entries.c, gem/reg_html.c, gem/tools.c,
+	  gem/tools.h: GEM update to version 1.03:
+	  - no more interaction on the console
+	  - binary is now called gem6
+	  - some additional options
+	  - rewrote code to be fully POSIX compliant: now compiles
+	  under MINGW32/MSYS
+
+2007-03-08 12:44  martinl
+
+	* vector/v.to.rast/do_lines.c, vector/v.to.rast/local.h,
+	  vector/v.to.rast/main.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c: * type option added
+	  (point,line,area)
+	  * cleaning messages, some messages moved to debug
+	  * segfault bux fixed (use=attr labelcol=NULL)
+
+2007-03-08 08:21  martinl
+
+	* general/g.region/cmd/main.c: minor cosmetics: change flags order
+
+2007-03-08 07:26  jachym
+
+	* general/g.region/cmd/main.c: 'Save as default region' flag added
+
+2007-03-08 04:42  hamish
+
+	* lib/gis/parser.c: minor whitespace cleanup for G_script()
+
+2007-03-07 22:37  markus
+
+	* raster3d/r3.mkdspf/main.c: added missing copyright header using
+	  'tools/copywrite.pl'
+
+2007-03-07 22:31  markus
+
+	* contributors.csv, contributors_extra.csv: missing contributors
+	  added
+
+2007-03-07 21:26  markus
+
+	* general/g.region/cmd/description.html: on the fly
+	  reprojection/subsetting example with gdalwarp
+
+2007-03-07 20:04  markus
+
+	* scripts/v.rast.stats/v.rast.stats: also remove $TMP
+
+2007-03-07 16:32  markus
+
+	* vector/v.in.ogr/description.html: explain SQL error message
+
+2007-03-07 16:30  markus
+
+	* db/drivers/dbf/grass-dbf.html: explain SQL error messages
+
+2007-03-07 16:30  markus
+
+	* scripts/v.what.vect/v.what.vect: added missing key_desc
+
+2007-03-07 13:01  markus
+
+	* scripts/v.db.addtable/v.db.addtable: check if map exists in
+	  current mapset
+
+2007-03-07 11:04  markus
+
+	* vector/v.what.rast/description.html: example now easier
+
+2007-03-07 08:15  markus
+
+	* lib/proj/gdal_datum.csv: merged in ESRI names updated from GDAL
+	  SVN
+
+2007-03-06 21:26  brad
+
+	* imagery/i.class/cellhd.c, imagery/i.class/conv.c,
+	  imagery/i.class/curses.c, imagery/i.class/define_reg.c,
+	  imagery/i.class/driver.c, imagery/i.class/edge.c,
+	  imagery/i.class/g_init.c, imagery/i.class/globals.h,
+	  imagery/i.class/init_reg.c, imagery/i.class/input_std.c,
+	  imagery/i.class/local_proto.h, imagery/i.class/main.c,
+	  imagery/i.class/outline.c, imagery/i.class/redisplay.c,
+	  imagery/i.class/signature.c, imagery/i.class/zoom_box.c: - Code
+	  cleanups
+	  - Replaced easting_to_col() with G_easting_to_col()
+	  - Replaced northing_to_row() with G_northing_to_row()
+	  - Removed unused global variables
+	  - Localized as many variables as possible
+
+2007-03-06 17:39  markus
+
+	* lib/proj/convert.c: remap S_JTSK_Ferro to
+	  Militar_Geographische_Institut to enable geodetic datum for
+	  Krovak
+
+2007-03-06 16:24  markus
+
+	* vector/v.in.ascii/description.html: example fix
+
+2007-03-06 15:55  martinl
+
+	* lib/vector/diglib/plus.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_node.c: * doxygen stuff added
+	  * minor i18n
+
+2007-03-06 13:57  martinl
+
+	* lib/vector/diglib/plus_line.c: doxygen documentation added
+
+2007-03-06 12:48  markus
+
+	* raster/r.los/main.c: write command history
+
+2007-03-06 12:31  martinl
+
+	* vector/v.build/main.c: cosmetics:
+	  * i18n
+	  * EXIT_SUCCESS/FAILURE
+
+2007-03-06 10:43  glynn
+
+	* lib/gis/find_file.c: Provide more useful warnings when map is
+	  found in multiple mapsets
+
+2007-03-06 08:36  martinl
+
+	* vector/v.distance/main.c: segfault fixed
+
+2007-03-06 08:16  martinl
+
+	* lib/gis/parser.c: doxygen cosmetics: list standard option types
+
+2007-03-06 04:29  glynn
+
+	* configure, configure.in: Try -liodbc if -lodbc fails
+
+2007-03-06 03:25  glynn
+
+	* lib/driver/scale.c: Fix raster scaling
+
+2007-03-06 03:24  glynn
+
+	* raster/r.mapcalc/evaluate.c: Don't treat warnings as fatal errors
+
+2007-03-06 03:23  glynn
+
+	* lib/gis/error.c: Treat G_INFO_FORMAT_SILENT as equivalent to
+	  G_INFO_FORMAT_STANDARD for message format
+
+2007-03-06 01:34  hamish
+
+	* include/gis.h, lib/gis/parser.c: add new standard options for
+	  attribute column(s)
+
+2007-03-05 14:25  martinl
+
+	* raster/r.to.vect/lines.c: bug fixing [RT #5263]: wrong category
+	  number (-v) assigned to the horizontal/vertical line
+
+2007-03-05 12:59  glynn
+
+	* lib/vector/diglib/Makefile, lib/vector/diglib/port_init.c,
+	  lib/vector/diglib/portable.c: Determine byte order at run time
+	  rather than at compile time
+
+2007-03-05 08:28  markus
+
+	* gui/tcltk/gis.m/gmmenu.tcl: xmon no longer needed for v.digit
+
+2007-03-05 06:20  glynn
+
+	* display/d.font/main.c, lib/driver/font2.c, lib/fonts/Makefile,
+	  lib/fonts/fonts/Makefile: Modify display driver library to load
+	  fonts/fontmaps directly,
+	  eliminating the need for compilation
+
+2007-03-05 05:22  hamish
+
+	* ps/ps.map/description.html: typo
+
+2007-03-05 05:20  hamish
+
+	* ps/ps.map/description.html: move GRASS 5 changes to end; cleanup
+
+2007-03-04 21:38  markus
+
+	* scripts/v.db.update/description.html: hint added
+
+2007-03-04 21:34  markus
+
+	* db/base/db.execute.html: Column type conversion example (type
+	  cast)
+
+2007-03-04 20:57  markus
+
+	* locale/po/grassmods_de.po: typos
+
+2007-03-04 18:28  soeren
+
+	* lib/gpde/test/test_solute_transport.c: New test for solute
+	  transport added
+
+2007-03-04 18:13  markus
+
+	* scripts/v.dissolve/description.html: example fix
+
+2007-03-04 17:44  markus
+
+	* scripts/v.dissolve/description.html,
+	  scripts/v.dissolve/v.dissolve: added support for dissolving based
+	  on attributes
+
+2007-03-04 16:24  markus
+
+	* locale/po/grasstcl_de.po: cosmetics
+
+2007-03-04 15:29  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: fixed typo for v.delaunay entry
+
+2007-03-04 09:44  markus
+
+	* general/g.region/cmd/description.html: Example: ogr2ogr and
+	  g.region with eval
+
+2007-03-04 08:35  glynn
+
+	* db/drivers/dbf/dbfexe.c: Include error from parser in error
+	  message
+
+2007-03-04 08:34  glynn
+
+	* lib/db/sqlp/yac.y: More detailed error messages from SQL parser
+
+2007-03-04 01:55  glynn
+
+	* lib/gis/closecell.c: Remove CopyFile/link hacks; just call
+	  rename()
+
+2007-03-04 01:54  glynn
+
+	* include/gis.h, lib/gis/error.c, lib/gis/percent.c: Add
+	  GRASS_MESSAGE_FORMAT=silent
+
+2007-03-04 01:25  glynn
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: "global" only works on variables,
+	  not individual array elements
+
+2007-03-04 00:56  soeren
+
+	* raster/r.gwflow/description.html,
+	  raster3d/r3.gwflow/description.html: Fixed the examples
+
+2007-03-04 00:24  soeren
+
+	* raster3d/Makefile, raster3d/r3.stats, raster3d/r3.stats/Makefile,
+	  raster3d/r3.stats/description.html, raster3d/r3.stats/main.c: New
+	  module r3.stats added
+	  Generates volume statistics for raster3d maps
+
+2007-03-04 00:20  soeren
+
+	* raster3d/r3.gwflow/description.html, raster3d/r3.gwflow/main.c:
+	  Documentation updated
+	  Jacobi and Gauss-Seidel linear equation solver added
+	  New geom-data function added
+	  Better function and value naming
+	  typo fixes
+	  using standard parse options for solver types and solver specific
+	  values
+
+2007-03-04 00:20  soeren
+
+	* raster/r.gwflow/description.html, raster/r.gwflow/main.c:
+	  Documentation updated
+	  Jacobi and Gauss-Seidel linear equation solver added
+	  New geom-data function added
+	  Better function and value naming
+	  typo fixes
+
+2007-03-04 00:17  soeren
+
+	* lib/gpde/test/test_arrays.c, lib/gpde/test/test_assemble.c,
+	  lib/gpde/test/test_geom.c, lib/gpde/test/test_gpde_lib.h,
+	  lib/gpde/test/test_gradient.c, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_heat.c, lib/gpde/test/test_les.c,
+	  lib/gpde/test/test_main.c, lib/gpde/test/test_solvers.c: Output
+	  of test results improved
+	  New geom-data tests added
+	  New solute transport tests added
+
+2007-03-04 00:15  soeren
+
+	* lib/gpde/N_solvers.c: Jacobi and Gauss-Seidel linear equation
+	  solver added
+
+2007-03-04 00:14  soeren
+
+	* lib/gpde/N_solute_transport.c: Implementation of two dimensional
+	  solute transport in porous media
+
+2007-03-04 00:12  soeren
+
+	* lib/gpde/N_parse_options.c: Specific parse option for the gpde
+	  library
+	  * standard parse options for solver types and solver specific
+	  values
+
+2007-03-04 00:10  soeren
+
+	* lib/gpde/N_les_assemble.c: Indention style fix
+
+2007-03-04 00:09  soeren
+
+	* lib/gpde/N_gwflow.c: Better function and value naming
+	  typo fixes
+
+2007-03-04 00:07  soeren
+
+	* lib/gpde/N_gradient.c: typo fixes
+	  Documentation updated
+
+2007-03-04 00:06  soeren
+
+	* lib/gpde/N_geom.c: New geom-data struct functions added
+	  * Area calculation for non planimetric projections added
+
+2007-03-04 00:03  soeren
+
+	* lib/gpde/N_arrays.c: typo fixes
+
+2007-03-04 00:01  brad
+
+	* imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/h2rmain.c,
+	  imagery/i.his.rgb/his2rgb.c, imagery/i.his.rgb/openfiles.c: -
+	  Named variables properly for module.
+
+2007-03-04 00:01  soeren
+
+	* lib/gpde/gpdelib.dox: Documentation updated
+	  New gradient calculation functions added
+	  Example improved
+	  New array handling functions added
+
+2007-03-03 23:56  soeren
+
+	* include/N_gwflow.h, include/N_pde.h,
+	  include/N_solute_transport.h: New geom-data struct functions
+	  added
+	  Better function and value naming
+	  Jacobi and Gauss-Seidel linear equation solver added
+
+2007-03-03 23:52  brad
+
+	* raster/r.random/count.c, raster/r.random/creat_rand.c,
+	  raster/r.random/local_proto.h, raster/r.random/main.c,
+	  raster/r.random/random.c, raster/r.random/support.c: - Fixed
+	  history code
+	  - Made non-exported functions static
+	  - Removed quiet flag and unused functions
+	  - Added text localization macros
+
+2007-03-03 23:31  glynn
+
+	* lib/gmath/fft.c: Fix bug introduced in previous change
+
+2007-03-03 13:46  markus
+
+	* vector/v.to.rast/do_lines.c: fix warning
+
+2007-03-03 13:43  markus
+
+	* vector/v.to.rast/description.html: new example for label
+	  conversion
+
+2007-03-03 05:03  brad
+
+	* vector/v.to.rast/clock.c, vector/v.to.rast/do_areas.c,
+	  vector/v.to.rast/do_lines.c, vector/v.to.rast/inform.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/mapgraph.c, vector/v.to.rast/raster.c,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c: - Added
+	  labels support for all of 'use=' except 'use=z'
+	  - Removed timing and other unused functions
+	  - Localized text
+	  - Made functions static where export not needed
+
+2007-03-02 16:57  martinl
+
+	* include/Make/Doxyfile_arch_html,
+	  include/Make/Doxyfile_arch_latex: HAVE_OGR enabled
+
+2007-03-02 16:55  martinl
+
+	* lib/vector/Vlib/read_ogr.c: doxygen documentation updated
+
+2007-03-02 16:42  markus
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po: Carlos Davila (translation manager):
+	  new messages merged in as announced
+
+2007-03-02 15:06  markus
+
+	* db/drivers/sqlite/grass-sqlite.html: link to sqlite - Management
+	  Tools
+
+2007-03-02 11:28  brad
+
+	* imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/globals.h,
+	  imagery/i.his.rgb/h2rmain.c, imagery/i.his.rgb/his2rgb.c,
+	  imagery/i.his.rgb/openfiles.c: - Removed global variables.
+	  - Updated to recent API
+
+2007-03-02 10:35  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Davila spanish translations
+
+2007-03-02 10:17  moritz
+
+	* gui/tcltk/gis.m/thematic.tcl: corrected small typo (signalled by
+	  Maris)
+
+2007-03-02 09:45  markus
+
+	* vector/v.to.rast3/main.c: more keywords; use G_OPT_R3_OUTPUT
+
+2007-03-02 07:58  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: - indent with spaces, at
+	  tabstop 4
+	  - solved problems with d.mon when running under gis.m
+	  - expanded legend cut for display manager and ps.map output
+
+2007-03-02 04:17  brad
+
+	* imagery/i.rgb.his/closefiles.c, imagery/i.rgb.his/globals.h,
+	  imagery/i.rgb.his/openfiles.c, imagery/i.rgb.his/r2hmain.c,
+	  imagery/i.rgb.his/rgb2his.c: - Removed global variables and now
+	  pass by ref.
+	  - Updated to latest API
+
+2007-03-02 02:56  brad
+
+	* imagery/i.pca/support.c: - Use G_strcat instead of strcat()
+
+2007-03-01 19:18  moritz
+
+	* Makefile: corrected small bug in the installation of the Windows
+	  grass.bat file
+
+2007-03-01 15:25  jachym
+
+	* ps/ps.map/description.html: updated units for paper sizes
+
+2007-03-01 12:42  martinl
+
+	* lib/vector/Vlib/read_nat.c: doxygen documentation updated
+
+2007-03-01 11:05  martinl
+
+	* raster/r.contour/cont.c, raster/r.contour/main.c: * fixing
+	  segfault
+	  * cleaning messages
+
+2007-02-28 15:51  martinl
+
+	* raster/r.to.vect/description.html: bug fixed, removed from manual
+	  page
+
+2007-02-28 15:11  martinl
+
+	* raster/r.to.vect/areas.c, raster/r.to.vect/areas_io.c,
+	  raster/r.to.vect/global.h, raster/r.to.vect/lines.c,
+	  raster/r.to.vect/lines_io.c, raster/r.to.vect/main.c,
+	  raster/r.to.vect/points.c, raster/r.to.vect/util.c: * attributes
+	  for lines not ignored (currently only feature type point and area
+	  was supported)
+	  * some messages/warnings moved to debug
+	  * cosmetics
+
+2007-02-28 07:32  hamish
+
+	* display/d.path/main.c, display/d.path/proto.h,
+	  display/d.path/select.c: add bold line option (can leave
+	  artifacts if you go "off road").
+	  setup gui tabs.
+
+2007-02-28 07:26  markus
+
+	* lib/db/sqlp/print.c: added missing TIME support for DBF driver
+
+2007-02-28 07:18  markus
+
+	* include/sqlp.h, lib/db/sqlp/lex.l, lib/db/sqlp/yac.y: added
+	  missing TIME support for DBF driver
+
+2007-02-28 06:52  hamish
+
+	* scripts/r.tileset/r.tileset: This scripts requires Bash, and it
+	  is too much work to rewrite it as POSIX sh.
+	  If this solution causes problems for folks with systems where
+	  bash is in
+	  e.g. /usr/bin/bash, we can change it to use an alternate solution
+	  suggested
+	  by Glynn:
+	  if [ -z "$BASH" ] ; then
+	  exec bash "$0" "$@"
+	  echo "$0: This script requires Bash." 1>&2
+	  exit 1
+	  fi
+
+2007-02-27 20:45  moritz
+
+	* db/drivers/dbf/table.c: removed call to 'mv' and platform
+	  specific code, by simple rename()
+
+2007-02-27 15:58  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: minor cosmetic update
+
+2007-02-27 02:36  hamish
+
+	* lib/gis/parser.c: adjust G_script() whitespace
+
+2007-02-26 23:35  glynn
+
+	* include/gmath.h, lib/gmath/fft.c: Add fft2() function
+	  (interleaved real/complex components instead of separate arrays)
+
+2007-02-26 18:10  martinl
+
+	* lib/vector/Vlib/build.c: * doxygen documentation cosmetics
+	  * redundant '\n' removed from warning/error messages
+
+2007-02-26 16:35  martinl
+
+	* vector/v.transform/creat_trans.c, vector/v.transform/get_coor.c,
+	  vector/v.transform/main.c, vector/v.transform/print_trans.c,
+	  vector/v.transform/setup_trans.c: * interactive functionality
+	  disabled
+	  * '-s' flag deprecated
+
+2007-02-26 15:00  martinl
+
+	* lib/vector/Vlib/line.c: cosmetics: redundant semicolon removed
+
+2007-02-26 14:54  markus
+
+	* raster/r.li/description.html: more intro text
+
+2007-02-26 11:44  markus
+
+	* vector/lidar/v.lidar.correction/description.html,
+	  vector/lidar/v.lidar.growing/description.html: ref cosmetics
+
+2007-02-26 11:14  robertoa
+
+	* vector/lidar/v.lidar.correction/description.html,
+	  vector/lidar/v.lidar.edgedetection/description.html,
+	  vector/lidar/v.lidar.growing/description.html: References added
+
+2007-02-26 11:08  markus
+
+	* vector/lidar/v.surf.bspline/description.html: cosmetics
+
+2007-02-26 11:06  robertoa
+
+	* vector/lidar/v.surf.bspline/description.html: References added
+	  and new parameter terminology
+
+2007-02-26 10:59  robertoa
+
+	* vector/lidar/v.surf.bspline/description.html: References added
+	  and improvement parameter terminology
+
+2007-02-26 10:51  moritz
+
+	* lib/init/init.bat: if empty set HOME to %USERPROFILE%
+
+2007-02-26 10:50  martinl
+
+	* display/d.vect/plot1.c: fixing segfault bug when color=none
+
+2007-02-26 10:02  markus
+
+	* raster/r.li/description.html: missing KEYWORDS added
+
+2007-02-26 08:52  markus
+
+	* raster/r.li/description.html: extended, link to fragstats PDF
+
+2007-02-26 08:51  markus
+
+	* raster/r.li/r.li.daemon/worker.c: missing word added
+
+2007-02-26 08:01  michael
+
+	* gui/tcltk/gis.m/raster.tcl: Fix but (just introduced) in
+	  autostarting NVIZ from map display.
+
+2007-02-26 03:51  hamish
+
+	* display/d.path/main.c: i18n, EXIT_SUCCESS
+
+2007-02-26 01:56  hamish
+
+	* display/d.path/description.html: update dead URL, fix html bug.
+
+2007-02-26 01:11  glynn
+
+	* vector/v.digit/attr.c: Remove last_cat_line from "struct
+	  display_cats"; needs to be global variable
+
+2007-02-25 20:44  michael
+
+	* vector/v.digit/cats.tcl: Cosmetic enhancements for easier use and
+	  to make its appearance
+	  match other panels.
+
+2007-02-25 20:44  michael
+
+	* vector/v.digit/settings.tcl: Changed line width widget to SpinBox
+	  so that it updates relevant
+	  variable correctly. A couple cosmetic changes.
+
+2007-02-25 20:41  michael
+
+	* vector/v.digit/toolbox.tcl: Made mouse button prompt labels wrap
+	  text so that all options can
+	  be seen.
+
+2007-02-25 09:02  markus
+
+	* raster/rasterintro.html: r.resamp.interp
+
+2007-02-25 08:26  michael
+
+	* vector/v.digit/settings.tcl: Added OK button that closes settings
+	  window and redraws digitizing
+	  canvas. Also a few cosmetic improvements.
+
+2007-02-25 07:24  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Spiff up layer tree with a separator
+	  between title and tree.
+
+2007-02-25 06:45  michael
+
+	* vector/v.digit/toolbox.tcl: Differentiated exit button by making
+	  it white. Made help text
+	  more readable. Changed button function description to blue to
+	  make it more apparent. Changed window title from "v.digit" to
+	  "Digitizing"
+
+2007-02-25 06:43  michael
+
+	* vector/v.digit/icons/exit.gif: Added transparency to exit icon
+	  background
+
+2007-02-25 06:42  michael
+
+	* gui/tcltk/gis.m/group.tcl: Fixed black background that appeared
+	  when the map being digitized
+	  is the only map in the display layer tree.
+
+2007-02-25 05:37  michael
+
+	* gui/tcltk/gis.m/group.tcl, gui/tcltk/gis.m/vector.tcl: Changes to
+	  group.tcl and vector.tcl to automatically create digitizing
+	  background from any active display layers.
+
+2007-02-25 05:36  michael
+
+	* gui/tcltk/gis.m/commonlayer.tcl: Added new global commandlist
+	  variable that stores a list of all
+	  current display commands. Used to generate background for
+	  digitizing
+	  (v.digit called from vector.tcl) but could also be used for other
+	  things.
+
+2007-02-25 05:34  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Changed an incorrect comment that
+	  decribed a button function.
+
+2007-02-25 05:33  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Fix procedure that is supposed to check
+	  whether or not a file
+	  exists (currently used for v.digit).
+
+2007-02-24 21:38  glynn
+
+	* vector/v.digit/Makefile, vector/v.digit/display.c,
+	  vector/v.digit/driver.c, vector/v.digit/icons/box.xbm,
+	  vector/v.digit/icons/cross.xbm, vector/v.digit/icons/cross45.xbm,
+	  vector/v.digit/proto.h, vector/v.digit/toolbox.tcl: Use bitmaps
+	  instead of line-drawn icons
+
+2007-02-24 19:06  glynn
+
+	* vector/v.digit/centre.c, vector/v.digit/main.c,
+	  vector/v.digit/toolbox.tcl: Call symb_init_gui() after
+	  symb_init()
+	  Add map name to title bars
+
+2007-02-24 16:07  markus
+
+	* scripts/v.db.dropcol/v.db.dropcol: bugfix if layer > 2
+
+2007-02-24 08:55  markus
+
+	* scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.dropcol/v.db.dropcol,
+	  scripts/v.db.update/v.db.update: better error checking for absent
+	  table
+
+2007-02-24 06:10  markus
+
+	* vector/v.digit/settings.tcl: scroll bindings fixed
+
+2007-02-24 03:18  glynn
+
+	* db/base/describe.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/odbc/listdb.c, db/drivers/odbc/listtab.c,
+	  include/proto_dbmi.h, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/index.c, lib/db/dbmi_client/c_opendb.c,
+	  lib/db/dbmi_client/c_openinsert.c,
+	  lib/db/dbmi_client/c_openselect.c,
+	  lib/db/dbmi_client/c_openupdate.c, lib/db/dbmi_client/c_update.c,
+	  lib/db/dbmi_client/c_version.c, lib/db/dbmi_client/shutdown.c,
+	  lib/db/dbmi_driver/d_drop_index.c,
+	  lib/db/dbmi_driver/d_drop_tab.c, lib/db/sqlp/print.c,
+	  lib/display/raster2.c, lib/display/raster_rgb.c, lib/gis/plot.c,
+	  lib/proj/get_proj.c, lib/vask/V_support.c: Fix warnings
+
+2007-02-24 03:18  glynn
+
+	* lib/db/dbmi_base/datetime.c: Fix bug in
+	  db_convert_Cstring_to_value_datetime
+
+2007-02-24 03:17  glynn
+
+	* lib/display/draw2.c: Fix bugs in D_cont_clip(), D_box_clip()
+
+2007-02-24 03:15  glynn
+
+	* display/d.font.freetype/main.c, display/d.font/main.c,
+	  display/d.text.new/main.c, lib/driver/Font.c,
+	  lib/raster/com_proto.c, lib/raster/loc_proto.c: Remove
+	  R_font_freetype_release() and related infrastructure
+
+2007-02-24 03:09  glynn
+
+	* include/graphics.h, include/raster.h, lib/driver/command.c,
+	  lib/driver/driver.h, lib/raster/com_io.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h: Remove R_font_freetype_release() and
+	  related infrastructure
+	  Remove unused opcodes from graphics.h etc
+
+2007-02-24 00:55  glynn
+
+	* display/drivers/XDRIVER/Get_w_box.c,
+	  display/drivers/XDRIVER/Get_w_line.c,
+	  display/drivers/XDRIVER/Get_w_pointer.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Serve_Xevent.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/local_proto.h, include/graphics.h,
+	  include/raster.h, lib/driver/Get_location.c,
+	  lib/driver/command.c, lib/driver/driver.h, lib/driver/text3.c,
+	  lib/raster/com_get.c, lib/raster/com_io.c, lib/raster/common.c,
+	  lib/raster/loc_get.c, lib/raster/parse_mon.c,
+	  lib/raster/rem_get.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h: Revert R_get_location_with_* to original
+	  structure; additional complexity no longer needed
+
+2007-02-23 23:17  glynn
+
+	* vector/v.digit/attr.c, vector/v.digit/c_face.c,
+	  vector/v.digit/centre.c, vector/v.digit/display.c,
+	  vector/v.digit/driver.c, vector/v.digit/i_face.c,
+	  vector/v.digit/line.c, vector/v.digit/main.c,
+	  vector/v.digit/proto.h, vector/v.digit/symb.c,
+	  vector/v.digit/toolbox.tcl, vector/v.digit/util.c,
+	  vector/v.digit/vertex.c, vector/v.digit/zoom.c: Replace use of
+	  libraster with Tk canvas
+
+2007-02-23 15:31  martinl
+
+	* vector/v.build.polylines/walk.c: fixing bug RT #4249
+
+2007-02-23 13:33  martinl
+
+	* vector/v.build.polylines/main.c, vector/v.build.polylines/walk.c:
+	  * fixing the bug RT #4247
+	  * message cosmetics
+
+2007-02-23 12:14  martinl
+
+	* lib/init/epsg_option.tcl: message cleaning
+
+2007-02-23 12:05  maciej
+
+	* scripts/v.what.vect/description.html,
+	  scripts/v.what.vect/v.what.vect: Improved options description.
+	  Closes RT #5196.
+
+2007-02-23 08:15  stephan
+
+	* locale/po/grasstcl_de.po: + more german translations for
+	  tclt-messages
+
+2007-02-23 05:34  michael
+
+	* lib/gis/gui.tcl: Fixes problem with spaces in gui tab labels for
+	  internationalization.
+	  Submitted by Maris Nartiss.
+
+2007-02-22 17:15  martinl
+
+	* vector/v.distance/main.c: * check if column or to_column exists
+	  * segfault (all && !table_opt->answer) fixed
+	  * message cosmetics
+
+2007-02-22 15:45  markus
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/dtext.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/labels.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/vector.tcl: Maris Nartiss: Fix Help button in
+	  gis.m raster/vector display conf locks up gis.m (bug #280)
+
+2007-02-22 15:42  markus
+
+	* lib/init/gis_set.tcl: Maris Nartiss: Window close on startup
+	  screen now exits GRASS (bug #308)
+
+2007-02-22 14:27  martinl
+
+	* lib/db/dbmi_client/column.c: * doxygen documentation updated
+	  * i18n
+
+2007-02-22 13:11  martinl
+
+	* lib/vector/Vlib/open.c: fixing RT bug #4605
+
+2007-02-22 12:52  martinl
+
+	* vector/v.patch/main.c: fixing RT bug #5258
+
+2007-02-22 11:08  martinl
+
+	* vector/v.patch/main.c: cosmetics
+
+2007-02-22 10:45  martinl
+
+	* include/gis.h: G_OPT_V_INPUTS added
+
+2007-02-22 10:45  martinl
+
+	* lib/gis/parser.c: * G_OPT_V_INPUTS added
+	  * capitalize "error:"
+
+2007-02-22 10:26  paul
+
+	* lib/proj/convert.c, raster/r.in.gdal/main.c,
+	  vector/v.in.ogr/main.c: Remove interactivity from
+	  GPJ_osr_to_grass() and GPJ_wkt_to_grass().
+
+2007-02-22 10:18  martinl
+
+	* lib/gis/error.c: doxygen docs updated
+
+2007-02-22 06:21  brad
+
+	* imagery/i.cca/globals.h, imagery/i.cca/local_proto.h,
+	  imagery/i.cca/main.c, imagery/i.cca/matrix.c,
+	  imagery/i.cca/stats.c, imagery/i.cca/transform.c: - Updated
+	  coding standards (modern API)
+	  - Removed unused variables
+
+2007-02-22 05:31  brad
+
+	* imagery/i.class/ask_files.c, imagery/i.class/curses.c,
+	  imagery/i.class/defs.h, imagery/i.class/globals.h,
+	  imagery/i.class/graphics.c, imagery/i.class/input_std.c,
+	  imagery/i.class/local_proto.h, imagery/i.class/main.c,
+	  imagery/i.class/mouse.c, imagery/i.class/point.h,
+	  imagery/i.class/remove_mask.c, imagery/i.class/set_signals.c,
+	  imagery/i.class/signature.c, imagery/i.class/vask_group.c: -
+	  Removed interactive input options and added commandline options
+	  - Removed unused functions
+	  - Conditionalized headers
+
+2007-02-21 22:15  glynn
+
+	* vector/v.digit/attr.c, vector/v.digit/line.c,
+	  vector/v.digit/proto.h, vector/v.digit/util.c,
+	  vector/v.digit/vertex.c, vector/v.digit/zoom.c: Code
+	  restructuring, part 2
+
+2007-02-21 16:26  martinl
+
+	* raster/r.to.vect/areas_io.c, raster/r.to.vect/lines.c,
+	  raster/r.to.vect/main.c: cosmetics
+
+2007-02-21 13:28  martinl
+
+	* general/manage/cmd/rename.c, general/manage/lib/do_rename.c: *
+	  fprintf -> G_
+	  * EXIT_SUCCESS / EXIT_FAILURE
+	  * g.copy/g.rename/g.remove consolidation
+
+2007-02-21 07:00  glynn
+
+	* vector/v.digit/attr.c, vector/v.digit/global.h,
+	  vector/v.digit/line.c, vector/v.digit/proto.h,
+	  vector/v.digit/util.c: Code restructuring, part 1
+
+2007-02-21 05:15  hamish
+
+	* scripts/r.in.wms/r.in.gdalwarp: use a quiet r.mapcalc instead of
+	  r.mapcalculator
+
+2007-02-21 04:12  hamish
+
+	* scripts/r.mapcalculator/r.mapcalculator: verbosity control, don't
+	  force successful exit status when unknown
+
+2007-02-21 02:17  hamish
+
+	* scripts/r.in.wms/r.in.gdalwarp: fine-tune g.rename --quiet
+
+2007-02-21 02:15  hamish
+
+	* general/manage/lib/do_rename.c: verbosity: --quiet is completely
+	  quiet.
+	  GRASS_VERBOSE=1 shows only map names.
+	  normal and --verbose show map names and elements.
+
+2007-02-21 00:49  hamish
+
+	* scripts/r.in.wms/wms.request: check that r.tileset worked.
+	  remove unused tempfile code ("rm -f $TMP*" is dangerous).
+	  informative messages to stderr.
+
+2007-02-21 00:46  hamish
+
+	* scripts/r.in.wms/r.in.wms: check that wms.request exited ok.
+	  informational messages to stderr.
+
+2007-02-21 00:42  hamish
+
+	* scripts/r.in.wms/r.in.gdalwarp: make g.rename quieter.
+
+2007-02-20 23:28  hamish
+
+	* scripts/r.in.wms/wms.request: remove unused bashism
+
+2007-02-20 21:24  maciej
+
+	* scripts/v.report/v.report: Added missing layer= for v.info.
+	  Together with recent Markus fixes this closes RT #4459.
+
+2007-02-20 19:55  markus
+
+	* general/g.region/cmd/printwindow.c: first output east, then north
+
+2007-02-20 17:37  paul
+
+	* general/g.proj/datumtrans.c: Fix bug reported by Eric Paton:
+	  don't assume a datum name is there even
+	  if parameters are found.
+
+2007-02-20 16:04  martinl
+
+	* ps/ps.map/r_vpoints.c: typo fixed (sizecol -> sizecolumn)
+
+2007-02-20 13:53  martinl
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: * reverse
+	  selection flag added (#2780)
+	  * category number can be read also from standard input
+
+2007-02-20 13:32  markus
+
+	* lib/vector/vectorlib.dox: added category knowledge
+
+2007-02-20 13:15  martinl
+
+	* display/d.vect/main.c: default layer number for labels given by
+	  layer parameter, fix bugs #4004 and #5219
+
+2007-02-20 13:00  markus
+
+	* raster/r.carve/description.html: site -> point
+
+2007-02-20 12:57  markus
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  raster/r.param.scale/README, raster/r.param.scale/interface.c:
+	  terminology fix: multi-scalar -> multi-scale
+
+2007-02-20 10:14  markus
+
+	* tools/build_html_index.sh: William Kyngesburye: fixed unescaped
+	  quotes etc (code bug #292)
+
+2007-02-20 10:10  markus
+
+	* Makefile: removed duplicated INST_DIR (code bug #292)
+
+2007-02-20 10:05  markus
+
+	* scripts/v.report/v.report: we suppress -1 cat and 0 cat to avoid
+	  misalignment ([grass-code I][301])
+
+2007-02-20 09:45  markus
+
+	* scripts/v.report/v.report: superfluous ID col removed
+	  ([grass-code I][301]); bug in case of missing cats remains
+
+2007-02-20 09:32  markus
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmtree.tcl: Maris
+	  Nartiss: * Ability to specify workspace.grc file to load as gis.m
+	  argument;
+	  * Existing workspace is cleaned if user opens workspace file;
+	  * Better error handling for saving workspace
+
+2007-02-20 05:02  brad
+
+	* imagery/i.pca/main.c: - Reformatted legacy code to match current
+	  style.
+
+2007-02-20 03:41  hamish
+
+	* SUBMITTING_SCRIPTS: no bashisms!
+
+2007-02-19 23:49  hamish
+
+	* scripts/r.tileset/r.tileset: better parsing of PROJ_UNITS
+
+2007-02-19 22:55  brad
+
+	* imagery/i.pca/description.html, imagery/i.pca/local_proto.h,
+	  imagery/i.pca/main.c, imagery/i.pca/support.c: - Rewrite of i.pca
+	  -- Now supports NULL cells and float rasters
+	  -- Localized text
+	  -- Updated to current API
+
+2007-02-19 21:44  markus
+
+	* raster/r.digit/description.html: explained bgcmd
+
+2007-02-19 18:21  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Fixed typo in calling
+	  GmGridline::create
+
+2007-02-19 15:59  michael
+
+	* lib/init/epsg_option.tcl: Added new code to deal with alternative
+	  datum transform options.
+	  * If there is only one default, a new location will be created
+	  without further ado
+	  * If there are alternatives, a new window will pop up giving the
+	  user the opportunity to select from various datum
+	  transformations.
+
+2007-02-19 14:58  glynn
+
+	* display/d.rast.edit/cell.c, display/d.rast.edit/local_proto.h:
+	  Remove unused local_proto.h to avoid confusion
+
+2007-02-19 14:22  martinl
+
+	* scripts/v.db.update/v.db.update: capitalization+cosmetics
+
+2007-02-19 13:39  soeren
+
+	* raster3d/base/r3.info.main.c, raster3d/base/r3.mask.main.c,
+	  raster3d/base/r3.null.main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.gwflow/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.mkdspf/r3_data.c,
+	  raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.showdspf/r3_data.c, raster3d/r3.to.rast/main.c:
+	  replacement of g3d data types definitions G3D_FLOAT and
+	  G3D_DOUBLE with FCELL_TYPE and DCELL_TYPE
+	  r3.gwflow: renaming of data array access functions
+
+2007-02-19 13:39  soeren
+
+	* lib/g3d/G3d_intern.h, lib/g3d/changetype.c,
+	  lib/g3d/filecompare.c, lib/g3d/g3ddefaults.c, lib/g3d/g3dfpxdr.c,
+	  lib/g3d/g3dlib.dox, lib/g3d/g3dmask.c, lib/g3d/g3dmisc.c,
+	  lib/g3d/g3dnull.c, lib/g3d/g3dopen.c, lib/g3d/g3dparam.c,
+	  lib/g3d/g3dvolume.c, lib/g3d/g3dwindow.c, lib/g3d/header.c,
+	  lib/g3d/headerinfo.c, lib/g3d/tileio.c, lib/g3d/tileread.c,
+	  lib/g3d/tilewrite.c, lib/g3d/writeascii.c, lib/ogsf/gvl_file.c,
+	  vector/v.to.rast3/main.c, vector/v.vol.rst/user1.c: replacement
+	  of g3d data types definitions G3D_FLOAT and G3D_DOUBLE with
+	  FCELL_TYPE and DCELL_TYPE
+
+2007-02-19 13:38  soeren
+
+	* raster/r.gwflow/main.c, raster/r.mapcalc/map3.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c:
+	  replacement of g3d data types definitions G3D_FLOAT and
+	  G3D_DOUBLE with FCELL_TYPE and DCELL_TYPE
+	  r.gwflow: renaming of data array access functions
+
+2007-02-19 13:35  soeren
+
+	* lib/gpde/N_arrays.c, lib/gpde/N_gradient.c, lib/gpde/N_gwflow.c,
+	  lib/gpde/N_les_assemble.c, lib/gpde/gpdelib.dox,
+	  lib/gpde/test/test_arrays.c, lib/gpde/test/test_assemble.c,
+	  lib/gpde/test/test_gradient.c, lib/gpde/test/test_gwflow.c:
+	  replacement of g3d data types definitions G3D_FLOAT and
+	  G3D_DOUBLE with FCELL_TYPE and DCELL_TYPE
+	  renaming of data arry access functions
+
+2007-02-19 13:33  soeren
+
+	* include/G3d.h, include/N_pde.h: G3d.h and N_pde.h: replacement of
+	  g3d data types definitions G3D_FLOAT and G3D_DOUBLE with
+	  FCELL_TYPE and DCELL_TYPE
+	  N_pde.h: renaming of data arry access functions
+
+2007-02-19 09:35  martinl
+
+	* display/d.rast.edit/edit.h: missing Dcell prototype added
+
+2007-02-19 08:23  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Impovements suggested by Hamish.
+	  * Labeling of x axis with units.
+	  * Better formatting of max x value
+	  * Labeling of segment markers
+
+2007-02-19 00:10  michael
+
+	* gui/tcltk/gis.m/maptext.tcl: Improved internationalization.
+	  Submitted by Maris Nartiss.
+
+2007-02-19 00:09  michael
+
+	* gui/tcltk/gis.m/maplabels.tcl: Add more options to TclTk PS
+	  labels. Submitted by Maris Nartiss
+	  
+	  * Ability to access maps from @PERMANENT
+	  * Label border color, width
+	  * Label background color
+	  * Frendly font changing
+	  * Supports more label file options
+
+2007-02-19 00:08  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Improved error trapping and
+	  response. Improved internationalization.
+	  Submitted by Maris Nartiss
+	  
+	  * Close map display (canvas) will free Tree (no more memleak) and
+	  select first existing map display, if there is one
+	  * Message to user, if layer does not support query
+
+2007-02-19 00:07  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Better error trapping and GUI
+	  response. Submitted by Maris Nartiss.
+	  * Add new layer (raster, vector, etc.) if no map display is open
+	  will launch new map display
+	  * Add new layer will now preselect newly added layer in layer
+	  list
+	  * Display error to user, if there is no monitor (and thus also no
+	  layers for monitor) but user still clicks on Digitize, Remove or
+	  Clone layer.
+
+2007-02-18 23:29  hamish
+
+	* ps/ps.map/main.c: output= can't be required by the parser or the
+	  -p flag won't work.
+	  copies= is not a cartographic mapping instruction, so it does
+	  belong on the command line.
+
+2007-02-18 20:16  glynn
+
+	* display/d.colortable/main.c, display/d.erase/Makefile,
+	  display/d.erase/main.c, display/d.font/main.c,
+	  display/d.frame/Makefile, display/d.frame/create.c,
+	  display/d.frame/frame.c, display/d.frame/select.c,
+	  display/d.geodesic/plot.c, display/d.histogram/Makefile,
+	  display/d.histogram/main.c, display/d.mon/pgms/Makefile,
+	  display/d.paint.labels/Makefile, display/d.profile/Makefile,
+	  display/d.profile/PlotProfile.c, display/d.profile/What.c,
+	  display/d.profile/main.c, display/d.rast.edit/Makefile,
+	  display/d.rast.edit/cell.c, display/d.rast.edit/local_proto.h,
+	  display/d.rast.edit/menu.c, display/d.rast/Makefile,
+	  display/d.rgb/Makefile, general/g.mapset/Makefile,
+	  general/g.mapset/main.c, imagery/i.class/Makefile,
+	  imagery/i.class/graphics.c,
+	  imagery/i.ortho.photo/photo.2image/Makefile,
+	  imagery/i.ortho.photo/photo.2image/graphics.c,
+	  imagery/i.ortho.photo/photo.2target/Makefile,
+	  imagery/i.ortho.photo/photo.2target/graphics.c,
+	  imagery/i.ortho.photo/photo.init/Makefile,
+	  imagery/i.points/Makefile, imagery/i.points/colors.c,
+	  imagery/i.points/graphics.c, imagery/i.vpoints/Makefile,
+	  imagery/i.vpoints/graphics.c, include/D.h,
+	  include/Make/Grass.make.in, include/display.h, lib/D,
+	  lib/Makefile, lib/display/list.c, lib/display/window.c,
+	  vector/v.digit/Makefile, vector/v.digit/display.c,
+	  vector/v.digit/driver.c: Eliminate lib/D (libgrass_D)
+
+2007-02-18 17:43  markus
+
+	* tools/g.html2man/g.html2man: Daniel Calvelo Aros: ordered lists
+	  added
+
+2007-02-18 15:26  glynn
+
+	* raster/r.mapcalc/mapcalc.y: More error recovery
+
+2007-02-18 10:21  markus
+
+	* lib/vector/Vlib/level_two.c: Vect_get_num_lines() more precisely
+	  documented
+
+2007-02-17 18:54  maciej
+
+	* lib/gtcltk/select.tcl: Māris: fix GForge code I #297
+
+2007-02-17 15:35  glynn
+
+	* display/d.colors/get_info.c, display/d.colors/interact.c,
+	  display/d.colortable/main.c, display/d.his/main.c,
+	  display/d.histogram/main.c, display/d.legend/main.c,
+	  display/d.profile/main.c, display/d.rast/display.c,
+	  display/d.rgb/main.c, display/drivers/HTMLMAP/main.c,
+	  display/drivers/PNG/main.c, display/drivers/XDRIVER/Raster_RGB.c,
+	  display/drivers/XDRIVER/main.c, imagery/i.class/draw_cell.c,
+	  imagery/i.ortho.photo/photo.2image/colors.c,
+	  imagery/i.ortho.photo/photo.2target/colors.c,
+	  imagery/i.points/colors.c, imagery/i.vpoints/colors.c,
+	  include/display.h, include/graphics.h, include/raster.h,
+	  lib/D/Dcell.c, lib/display/raster.c, lib/display/raster2.c,
+	  lib/display/raster_rgb.c, lib/driver/Raster_RGB.c,
+	  lib/driver/command.c, lib/driver/driver.h,
+	  lib/pngdriver/Raster_RGB.c, lib/raster/com_io.c,
+	  lib/raster/com_proto.c, lib/raster/loc_io.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h, raster/wildfire/r.spread/display.c:
+	  Remove more dead wood: D_set_colors, D_set_colors_RGB,
+	  D_reset_color,
+	  supporting infrastructure, and callers.
+
+2007-02-16 16:20  markus
+
+	* include/proto_dbmi.h: declare missing function
+
+2007-02-16 16:03  markus
+
+	* raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/description.html,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/description.html,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.setup/description.html,
+	  raster/r.li/r.li.setup/r.li.windows.tcl,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/description.html,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c: r.li now working; config file
+	  paths simplified
+
+2007-02-16 11:43  markus
+
+	* raster/r.li/description.html, raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.daemon/main.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c: doc cosmetics; missing
+	  keywords added
+
+2007-02-16 11:24  markus
+
+	* raster/r.cost/main.c: double keywords fixed
+
+2007-02-16 11:18  markus
+
+	* raster/r.li/description.html,
+	  raster/r.li/r.li.setup/description.html: doc boost
+
+2007-02-16 10:26  soeren
+
+	* lib/gpde/test/test_assemble.c, lib/gpde/test/test_main.c: Added
+	  missing header file to test_main.c
+	  Small bug fix in test_assemble.c
+
+2007-02-16 09:57  soeren
+
+	* lib/Makefile, lib/gpde/Makefile: Fixed gpde dependency bug
+
+2007-02-16 08:30  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Davila spanish translations
+
+2007-02-15 23:32  soeren
+
+	* lib/gpde/test/test_gradient.c: Purpose correction
+
+2007-02-15 23:28  soeren
+
+	* raster/r.gwflow/description.html, raster/r.gwflow/main.c,
+	  raster3d/r3.gwflow/description.html, raster3d/r3.gwflow/main.c:
+	  Better description
+	  * documentation and examples added
+	  Code reorganisation
+	  * grass indention style
+	  * vector field export added
+
+2007-02-15 23:25  soeren
+
+	* include/Make/Grass.make.in, include/N_gwflow.h, include/N_pde.h,
+	  include/N_solute_transport.h: General gpde library update
+	  * g3dlib dependencies added to gpde library
+	  * new array functions added for reading and writing 2d and 3d
+	  arrays to raster and volume maps
+	  * new array functions for array calculations added
+	  * sophisticated null value support added
+	  * new gradient and vector field calculation functions added
+	  * grass indention style
+
+2007-02-15 23:21  soeren
+
+	* lib/gpde/N_arrays.c, lib/gpde/N_geom.c, lib/gpde/N_gradient.c,
+	  lib/gpde/N_gwflow.c, lib/gpde/N_les.c, lib/gpde/N_les_assemble.c,
+	  lib/gpde/N_solvers.c: General gpde library update
+	  * new array functions added for reading and writing 2d and 3d
+	  arrays to raster and volume maps
+	  * new array functions for array calculations added
+	  * sophisticated null value support added
+	  * new gradient and vector field calculation functions added
+	  * grass indention style
+
+2007-02-15 23:18  soeren
+
+	* lib/gpde/test/Makefile, lib/gpde/test/test_arrays.c,
+	  lib/gpde/test/test_assemble.c, lib/gpde/test/test_gpde_lib.h,
+	  lib/gpde/test/test_gradient.c, lib/gpde/test/test_gwflow.c,
+	  lib/gpde/test/test_heat.c, lib/gpde/test/test_les.c,
+	  lib/gpde/test/test_main.c, lib/gpde/test/test_solvers.c: General
+	  gpde library update
+	  * Added more array tests
+	  * Added tests for gradient calculation
+	  * grass indention style
+
+2007-02-15 21:39  glynn
+
+	* raster/r.mapcalc/mapcalc.y: Error recovery
+
+2007-02-15 14:59  markus
+
+	* scripts/r.mapcalculator/r.mapcalculator: result is new
+
+2007-02-15 14:46  markus
+
+	* swig/python/test.py: confusion reduced
+
+2007-02-15 14:44  markus
+
+	* swig/python/rasteraccess.py, swig/python/test.py: don't crash if
+	  not in GRASS
+
+2007-02-15 14:42  markus
+
+	* swig/python/vectoraccess.py: cmd line support; don't crash if not
+	  in GRASS
+
+2007-02-15 14:42  markus
+
+	* swig/python/interfaces/dig_types.i, swig/python/python_grass6.i:
+	  define vector primitives
+
+2007-02-15 14:40  martinl
+
+	* scripts/v.univar.sh/v.univar.sh: warning -> the module will be
+	  removed
+
+2007-02-15 14:34  martinl
+
+	* raster/r.univar2/description.html, raster/r.univar2/main.c: typo
+
+2007-02-15 14:27  martinl
+
+	* vector/v.univar/description.html, vector/v.univar/main.c:
+	  documentation & keywords updated
+
+2007-02-15 14:18  martinl
+
+	* vector/v.univar/main.c: extended statistics implemented
+
+2007-02-15 13:42  martinl
+
+	* raster/r.univar2/main.c: fixed wrong median for odd numbers
+
+2007-02-15 13:38  markus
+
+	* swig/python/interfaces/imagedefs.i: removed deleted functions
+
+2007-02-15 13:19  martinl
+
+	* rfc/Makefile: cleaning
+
+2007-02-15 13:02  martinl
+
+	* lib/db/dbmi_client/select.c: * doxygen doc updated
+	  * fn db_CatValArray_sort_by_value added (needed for v.univar -e)
+
+2007-02-15 12:29  hamish
+
+	* include/gisdefs.h, lib/gis/wind_in.c,
+	  raster/r.profile/local_proto.h, raster/r.profile/main.c: add
+	  G_point_in_region() and G_point_in_window() lib fns
+
+2007-02-15 11:30  hamish
+
+	* general/g.parser/main.c: listen for --help
+
+2007-02-15 11:16  hamish
+
+	* general/g.setproj/description.html, general/g.setproj/main.c: use
+	  G_parser(). i18n. G_message().
+
+2007-02-15 09:59  hamish
+
+	* display/d.rast.edit/description.html, display/d.rast.edit/main.c:
+	  use G_parser()
+
+2007-02-15 09:53  hamish
+
+	* imagery/i.ortho.photo/menu/menu.c: strncpy() doesn't null
+	  terminate on overflow
+
+2007-02-15 07:06  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Removed non-funtional (in GUI)
+	  entries for d.font and d.font.freetype.
+
+2007-02-15 07:03  michael
+
+	* gui/tcltk/gis.m/chart.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/profile.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.tcl,
+	  gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/vector.tcl: Update
+	  map selection tree dialog. Also, enhancement to TclTk
+	  labels panel. Submitted by Maris Nartiss.
+
+2007-02-15 07:02  michael
+
+	* lib/gis/gui.tcl, lib/gtcltk/select.tcl: Update map selection tree
+	  dialog. Submitted by Maris Nartiss.
+
+2007-02-15 06:23  hamish
+
+	* imagery/i.ortho.photo/menu/Makefile,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/menu/menu.c: make it use the parser
+
+2007-02-15 05:53  hamish
+
+	* lib/gis/parser.c: add gisprompt for standard group option
+
+2007-02-15 02:56  glynn
+
+	* lib/form/form.c, lib/form/form.tcl, lib/form/open.c: Convert form
+	  utility to typical extended-wish program
+	  Move form I/O into Tcl
+
+2007-02-15 02:55  glynn
+
+	* lib/rowio/setup.c: Get malloc() prototype from <stdlib.h>
+
+2007-02-15 02:54  glynn
+
+	* display/d.vect/area.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot.h,
+	  display/d.vect/plot1.c: Add render= option, primarily to allow
+	  use with HTMLMAP driver
+
+2007-02-15 02:53  glynn
+
+	* display/drivers/HTMLMAP/Can_do.c,
+	  display/drivers/HTMLMAP/Color.c,
+	  display/drivers/HTMLMAP/Draw_line.c,
+	  display/drivers/HTMLMAP/Draw_point.c,
+	  display/drivers/HTMLMAP/Get_w_box.c,
+	  display/drivers/HTMLMAP/Get_w_line.c,
+	  display/drivers/HTMLMAP/Get_w_pnt.c,
+	  display/drivers/HTMLMAP/Graph_Clse.c,
+	  display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/Makefile,
+	  display/drivers/HTMLMAP/Panel.c,
+	  display/drivers/HTMLMAP/Polygn_abs.c,
+	  display/drivers/HTMLMAP/Reset_clr.c,
+	  display/drivers/HTMLMAP/Text.c,
+	  display/drivers/HTMLMAP/changes.FEB2001,
+	  display/drivers/HTMLMAP/htmlmap.h,
+	  display/drivers/HTMLMAP/line_attr.c,
+	  display/drivers/HTMLMAP/local_proto.h,
+	  display/drivers/HTMLMAP/main.c, display/drivers/Makefile,
+	  display/drivers/PNG/Makefile, display/drivers/PNG/main.c,
+	  display/drivers/XDRIVER/main.c, lib/driver/Text.c,
+	  lib/driver/colors.txt, lib/driver/driver.h, lib/raster/loc_io.c:
+	  Update HTMLMAP driver to current driver architecture
+	  Extend driver interface to allow passing R_text() to back-end
+
+2007-02-14 22:54  glynn
+
+	* lib/display/draw2.c: Fix clipping
+
+2007-02-14 19:07  glynn
+
+	* include/display.h, lib/display/draw2.c: Add more drawing
+	  operations to display library
+
+2007-02-14 19:00  markus
+
+	* swig/python/Makefile.in: target fixed
+
+2007-02-14 14:30  martinl
+
+	* scripts/v.univar.sh/v.univar.sh: cosmetics
+
+2007-02-14 13:35  robertoa
+
+	* vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h: copyright
+	  statement added
+
+2007-02-14 12:35  martinl
+
+	* ps/ps.map/catval.c, ps/ps.map/description.html,
+	  ps/ps.map/local_proto.h, ps/ps.map/main.c, ps/ps.map/ps_vareas.c,
+	  ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_vareas.c, ps/ps.map/r_vlines.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/vector.h: rgbcolumn map
+	  instruction for vpoints, vlines and vareas implemented
+
+2007-02-14 03:56  hamish
+
+	* raster/r.profile/local_proto.h, raster/r.profile/main.c,
+	  raster/r.profile/read_rast.c: - out of region values are reported
+	  as NULL not fatal error.
+	  - you can see the interactive line before it is confirmed.
+	  - resolution can only be positive.
+	  - plan to move new point_in_region() and point_in_window() to
+	  libgis soon.
+
+2007-02-14 00:34  glynn
+
+	* display/drivers/PNG/main.c, display/drivers/XDRIVER/main.c,
+	  include/graphics.h, include/raster.h, lib/display/raster.c,
+	  lib/display/raster_rgb.c, lib/driver/Makefile,
+	  lib/driver/Raster_RGB.c, lib/driver/command.c,
+	  lib/driver/driver.h, lib/driver/scale.c, lib/raster/com_io.c,
+	  lib/raster/com_proto.c, lib/raster/loc_io.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/scale.c, lib/raster/transport.h: Move scaled raster
+	  operation from libraster to drivers
+
+2007-02-13 21:01  markus
+
+	* lib/gis/debug.c: no need to translate debug messages
+
+2007-02-13 20:57  markus
+
+	* vector/v.to.rast/vect2rast.c: msg cosmetics
+
+2007-02-13 20:57  markus
+
+	* gui/tcltk/gis.m/gmmenu.tcl: wording sync'ed for translators
+
+2007-02-13 19:49  glynn
+
+	* include/display.h, include/raster.h, lib/display/cnversions.c,
+	  lib/display/raster.c, lib/display/raster_rgb.c,
+	  lib/raster/scale.c: Add scaled raster operations to libraster
+
+2007-02-13 18:04  martinl
+
+	* display/d.vect/area.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c: unnecessary warning removed (test for
+	  default color)
+
+2007-02-13 17:02  markus
+
+	* lib/gpde/gpdelib.dox: typos
+
+2007-02-13 16:58  markus
+
+	* lib/gpde/gpdelib.dox: FOSS is also commercial...
+
+2007-02-13 15:59  markus
+
+	* locale/po/grasstcl_it.po: Maurizio Napolitano: few more
+	  translations
+
+2007-02-13 15:17  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po: String fix for startup screen
+
+2007-02-13 15:07  markus
+
+	* lib/init/gis_set.tcl: separate Version from string (for
+	  translation)
+
+2007-02-13 14:36  markus
+
+	* tools/g.html2man/g.html2man: main author added
+
+2007-02-13 14:26  markus
+
+	* general/g.region/cmd/description.html: cosmetics
+
+2007-02-13 14:23  jachym
+
+	* tools/g.html2man/g.html2man: removes commented HTML parts from
+	  generated man pages
+
+2007-02-13 13:43  markus
+
+	* vector/v.kernel/main.c: use EXIT_SUCCESS
+
+2007-02-13 13:26  markus
+
+	* vector/v.kernel/main.c: capitalize first letter
+
+2007-02-13 13:25  markus
+
+	* vector/v.kernel/main.c: option cosmetics
+
+2007-02-13 11:09  markus
+
+	* vector/v.to.rast/main.c: message cosmetics
+
+2007-02-13 09:48  jachym
+
+	* vector/v.to.rast/description.html, vector/v.to.rast/local.h,
+	  vector/v.to.rast/main.c, vector/v.to.rast/vect2rast.c: removed
+	  redundand flags and renamed column options
+
+2007-02-13 09:16  markus
+
+	* vector/v.to.rast/vect2rast.c: error trap wrong column name
+
+2007-02-13 08:40  robertoa
+
+	* vector/lidar/v.surf.bspline/main.c: "column" parameter changed
+
+2007-02-13 05:08  hamish
+
+	* raster/r.profile/read_rast.c: die if coordinate request outsite
+	  current region settings, was reporting
+	  bogus data. i18n, error messages.
+
+2007-02-12 23:18  markus
+
+	* doc/howto_release.txt: check examples before releasing
+
+2007-02-12 17:49  markus
+
+	* raster/r.to.vect/description.html: correct module name
+
+2007-02-12 17:16  paul
+
+	* general/g.proj/description.html: Definition list closing tag in
+	  right place...
+
+2007-02-12 17:12  paul
+
+	* general/g.proj/datumtrans.c, general/g.proj/description.html,
+	  general/g.proj/input.c, general/g.proj/local_proto.h,
+	  general/g.proj/main.c, general/g.proj/output.c,
+	  include/gprojects.h, lib/proj/datum.c: Implement improvements to
+	  g.proj as developed from discussions on mailing
+	  list. Involved change to gproj library to export a function and
+	  data struct.
+
+2007-02-12 15:58  martinl
+
+	* scripts/g.manual/g.manual: cosmetics
+
+2007-02-12 15:37  jachym
+
+	* vector/v.to.rast/support.c: double, integer and string attribute
+	  column types are supported for labels now
+
+2007-02-12 15:36  martinl
+
+	* general/manage/cmd/g.copy.html, general/manage/cmd/g.list.html,
+	  general/manage/cmd/g.rename.html: last changed missing
+
+2007-02-12 15:30  martinl
+
+	* general/manage/cmd/g.list.html: cosmetics, examples added,
+	  out-of-date notes commented
+
+2007-02-12 15:02  robertoa
+
+	* vector/lidar/v.surf.bspline/main.c: --overwrite fixed
+
+2007-02-12 15:01  martinl
+
+	* general/manage/cmd/copy.c, general/manage/cmd/list.c,
+	  general/manage/cmd/remove.c, general/manage/cmd/rename.c:
+	  keywords cosmetics (manage -> map management)
+
+2007-02-12 14:54  hamish
+
+	* scripts/g.mremove/description.html, scripts/g.mremove/g.mremove:
+	  need to use the force flag to actually delete files
+
+2007-02-12 14:44  martinl
+
+	* scripts/g.mlist/description.html, scripts/g.mlist/g.mlist:
+	  listing all datatypes enabled
+
+2007-02-12 13:21  glynn
+
+	* lib/init/variables.html: Document GRASS_FONT, GRASS_FT_FONT and
+	  GRASS_FT_ENCODING
+
+2007-02-12 13:16  hamish
+
+	* lib/init/grass.ico: add grass icon for winGRASS from John
+	  Robertson <j2r1*jrshelby;com>
+
+2007-02-12 13:07  hamish
+
+	* gui/icons/AUTHORS: add me
+
+2007-02-12 11:57  jachym
+
+	* vector/v.to.rast/support.c: better memory management in
+	  support.c: int update_labels()
+
+2007-02-12 08:42  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: Carlos Davila spanish translations
+
+2007-02-12 07:57  markus
+
+	* scripts/g.manual/g.manual: cosmetics
+
+2007-02-12 06:31  hamish
+
+	* lib/init/init.sh: more EXIT_VAL saving for batch mode
+
+2007-02-12 06:21  hamish
+
+	* lib/init/init.sh: batch mode forces text startup (try to be
+	  non-interactive) and exits
+	  with the batch script's exit code. (was patch tracker issue #273)
+
+2007-02-12 05:59  hamish
+
+	* scripts/g.manual/g.manual: make --quiet quieten the "starting
+	  browser" text
+
+2007-02-12 05:48  hamish
+
+	* lib/gis/verbose.c: fix comments
+
+2007-02-12 05:41  hamish
+
+	* scripts/g.manual/g.manual: send messages to stderr
+
+2007-02-12 04:31  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Added PNG output for map display
+
+2007-02-12 04:04  hamish
+
+	* raster/r.profile/main.c: init the color before drawing any lines
+
+2007-02-12 03:55  michael
+
+	* lib/init/epsg_option.tcl, lib/init/file_option.tcl,
+	  lib/init/gis_set.tcl: Improved layout (especially for non-English
+	  labels) and error
+	  trapping for GRASS startup dialogs. Submitted by Maris Nartiss.
+
+2007-02-12 03:25  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Improved error trapping and nicer
+	  zoom box for map display. Patch
+	  submitted by Maris Nartiss.
+
+2007-02-12 02:03  hamish
+
+	* vector/v.to.rast/main.c: try and make option desc a bit clearer
+
+2007-02-11 23:58  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Removing some annoying debugging
+	  code I accidentally left in.
+
+2007-02-11 20:44  markus
+
+	* general/g.dirseps/description.html: added missing file
+
+2007-02-11 20:29  michael
+
+	* gui/icons/element-vector.gif: Made vector icon same size as other
+	  icons. For some reason it was
+	  23x24 instead of 24x24 like the rest of the icons.
+
+2007-02-11 20:26  glynn
+
+	* display/d.extract/extract.c, display/d.extract/main.c,
+	  display/d.mapgraph/do_graph.c, display/d.mapgraph/main.c,
+	  display/d.path/main.c, display/d.path/proto.h,
+	  display/d.path/select.c, display/d.text.freetype/main.c,
+	  display/d.text.new/main.c, display/d.text/main.c,
+	  display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/label.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot.h,
+	  display/d.vect/plot1.c, display/d.vect/topo.c,
+	  display/d.vect/zcoor.c, display/d.what.vect/flash.c,
+	  display/d.what.vect/what.c, display/drivers/PNG/main.c,
+	  display/drivers/XDRIVER/Color_table.c,
+	  display/drivers/XDRIVER/Makefile,
+	  display/drivers/XDRIVER/Raster.c, display/drivers/XDRIVER/main.c,
+	  imagery/i.vpoints/plot.c, include/colors.h, include/display.h,
+	  include/graphics.h, include/raster.h, lib/display/raster2.c,
+	  lib/display/tran_colr.c, lib/driver/Color.c, lib/driver/Makefile,
+	  lib/driver/Raster_RGB.c, lib/driver/Raster_char.c,
+	  lib/driver/Raster_int.c, lib/driver/Reset_colors.c,
+	  lib/driver/color_support.c, lib/driver/command.c,
+	  lib/driver/driver.h, lib/driver/driverlib.h, lib/gis/color_str.c,
+	  lib/pngdriver/Color_table.c, lib/pngdriver/Makefile,
+	  lib/pngdriver/Raster_int.c, lib/raster/com_io.c,
+	  lib/raster/com_proto.c, lib/raster/common.c, lib/raster/loc_io.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h, vector/v.digit/symb.c: Remove palette
+	  from display architecture
+
+2007-02-11 20:05  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Better placement of windows in
+	  profiler and error trapping for maps
+	  with no elevation range. Contributions by Maris Nartiss.
+
+2007-02-11 20:04  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Removed a line of debugging code that
+	  printed to terminal
+
+2007-02-11 13:41  markus
+
+	* raster/r.to.rast3/main.c: typo
+
+2007-02-11 13:40  markus
+
+	* locale/po/grassmods_de.po: fix
+
+2007-02-11 12:36  markus
+
+	* doc/infrastructure.txt: new bugtracker added
+
+2007-02-11 11:04  markus
+
+	* vector/v.in.dxf/description.html, vector/v.in.dxf/layer_list.c,
+	  vector/v.in.dxf/write_vect.c: capital column names are a pain in
+	  SQL: map to lowercase
+
+2007-02-11 11:03  markus
+
+	* vector/v.in.ogr/description.html: grammar
+
+2007-02-11 05:00  brad
+
+	* scripts/i.spectral/i.spectral: - Removed unnecessary constraint
+
+2007-02-11 01:15  glynn
+
+	* display/d.text.freetype/main.c: Use R_bitmap() instead of
+	  R_raster_char()
+
+2007-02-10 22:42  markus
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c: flag to
+	  change column names to lowercase characters added
+
+2007-02-10 17:17  markus
+
+	* raster/r.li/description.html,
+	  raster/r.li/r.li.setup/description.html: say, what the program
+	  does
+
+2007-02-10 17:17  markus
+
+	* raster/r.li/r.li.setup/r.li.setup: missing keywords added
+
+2007-02-10 16:17  jachym
+
+	* vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c: Added
+	  support for labels and colors from attribute table
+
+2007-02-10 14:29  brad
+
+	* scripts/i.spectral/i.spectral: - Added option to write plot to
+	  PNG image
+
+2007-02-10 13:47  markus
+
+	* raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.li/r.li.setup/r.li.windows.tcl: typos
+
+2007-02-10 13:44  markus
+
+	* raster/r.li/r.li.daemon/daemon.c: message cosmetics
+
+2007-02-10 13:30  markus
+
+	* raster/r.li/r.li.setup/r.li.setup.main: fix scroll bindings bug
+
+2007-02-10 10:04  markus
+
+	* raster/r.li/r.li.mps/mps.c: fixed comment
+
+2007-02-10 09:50  markus
+
+	* raster/r.li/r.li.shannon/shannon.c: typo
+
+2007-02-10 09:45  markus
+
+	* raster/r.li/r.li.cwed/cwed.c, raster/r.li/r.li.daemon/main.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnum/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c: fixed broken file parameter
+
+2007-02-10 09:32  markus
+
+	* raster/r.li/r.li.setup/r.li.setup.main: Help and Close buttons
+	  added
+
+2007-02-10 09:12  markus
+
+	* raster/r.li/r.li.setup/area_query,
+	  raster/r.li/r.li.setup/masked_area_selection,
+	  raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.li/r.li.setup/square_query: dos2unix'ed
+
+2007-02-09 21:50  markus
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: fixed messages merged
+
+2007-02-09 21:47  markus
+
+	* gui/tcltk/gis.m/gmmenu.tcl: typo
+
+2007-02-09 21:42  markus
+
+	* vector/v.overlay/main.c: msg fix
+
+2007-02-09 18:02  martinl
+
+	* general/g.region/cmd/main.c: -p flag is default for 3D settings
+	  (-3 flag) and resolution in meters (-m flag)
+
+2007-02-09 15:17  stephan
+
+	* locale/po/grassmods_de.po: + more german module-translations
+	  kindly provided by
+	  Robert Nuske: grassmods_de.po_20070208.diff
+
+2007-02-09 09:47  markus
+
+	* locale/po/grasstcl_pl.po: Artur Niescior: cont'ed
+
+2007-02-09 09:14  markus
+
+	* raster/r.le/r.le.setup/polytocell/Makefile,
+	  raster/r.le/r.le.setup/setup.c: bmif_to_cell, poly_to_bmif go in
+	  etc (bug #5393)
+
+2007-02-09 08:58  robertoa
+
+	* locale/po/grassmods_es.po, locale/po/grasstcl_es.po: Carlos
+	  Davila spanish translation
+
+2007-02-09 06:19  hamish
+
+	* ps/ps.map/description.html: various fixes from bug 3318
+
+2007-02-09 05:48  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Fixing bug introduced with error
+	  trapping for adding layer without
+	  open display
+
+2007-02-09 05:29  hamish
+
+	* ps/ps.map/main.c: parser updates (fixes bug #3418)
+
+2007-02-09 03:58  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Adding r.li entries to menu (r.le
+	  maintained for now)
+
+2007-02-08 20:03  markus
+
+	* debian/changelog, debian/control, debian/grass.install,
+	  debian/rules: Niccolo Rigacci <niccolo * rigacci org>: updated
+
+2007-02-08 18:55  michael
+
+	* gui/tcltk/gis.m/vector.tcl: Centroids not displayed by default.
+	  Switched position of centroid
+	  and area check buttons.
+
+2007-02-08 18:36  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Error trap and better message for
+	  attempting to add map layer
+	  without open display.
+
+2007-02-08 17:01  markus
+
+	* raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.mpa/mpa.c, raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.simpson/simpson.c: description cosmetics
+
+2007-02-08 16:52  markus
+
+	* raster/r.li/Makefile, raster/r.li/description.html,
+	  raster/r.li/r.li.daemon/Makefile,
+	  raster/r.li/r.li.daemon/description.html,
+	  raster/r.li/r.li.edgedensity/description.html,
+	  raster/r.li/r.li.mpa/description.html,
+	  raster/r.li/r.li.mps/description.html,
+	  raster/r.li/r.li.padcv/description.html,
+	  raster/r.li/r.li.shannon/description.html,
+	  raster/r.li/r.li.simpson/description.html: various HTML fixes
+
+2007-02-08 16:35  markus
+
+	* raster/r.li/r.li.padcv/description.html,
+	  raster/r.li/r.li.patchnum/description.html: HTML fixes
+
+2007-02-08 16:33  markus
+
+	* raster/r.li/r.li.contrastWeightedEdgeDensity,
+	  raster/r.li/r.li.cwed, raster/r.li/r.li.cwed/Makefile,
+	  raster/r.li/r.li.cwed/cellWeighted.h,
+	  raster/r.li/r.li.cwed/cwed.c,
+	  raster/r.li/r.li.cwed/description.html,
+	  raster/r.li/r.li.cwed/rlicwed_formula.png,
+	  raster/r.li/r.li.cwed/utility.c, raster/r.li/r.li.cwed/utility.h:
+	  r.li.contrastWeightedEdgeDensity -> r.li.cwed
+
+2007-02-08 16:32  markus
+
+	* raster/r.li/r.li.meanPatchSize, raster/r.li/r.li.mps,
+	  raster/r.li/r.li.mps/Makefile,
+	  raster/r.li/r.li.mps/description.html,
+	  raster/r.li/r.li.mps/mps.c,
+	  raster/r.li/r.li.mps/rlimps_formula.png: r.li.meanPatchSize ->
+	  r.li.mps
+
+2007-02-08 16:30  markus
+
+	* raster/r.li/r.li.meanPixelAttribute, raster/r.li/r.li.mpa,
+	  raster/r.li/r.li.mpa/Makefile,
+	  raster/r.li/r.li.mpa/description.html,
+	  raster/r.li/r.li.mpa/mpa.c,
+	  raster/r.li/r.li.mpa/rlimpa_formula.png: r.li.meanPixelAttribute
+	  -> r.li.mpa
+
+2007-02-08 16:28  markus
+
+	* raster/r.li/r.li.padcv, raster/r.li/r.li.padcv/Makefile,
+	  raster/r.li/r.li.padcv/description.html,
+	  raster/r.li/r.li.padcv/padcv.c,
+	  raster/r.li/r.li.padcv/rlipadcv_formula1.png,
+	  raster/r.li/r.li.padcv/rlipadcv_formula2.png,
+	  raster/r.li/r.li.patchAreaDistributionCV:
+	  r.li.patchAreaDistributionCV -> r.li.padcv
+
+2007-02-08 16:27  markus
+
+	* raster/r.li/r.li.padrange, raster/r.li/r.li.padrange/Makefile,
+	  raster/r.li/r.li.padrange/description.html,
+	  raster/r.li/r.li.padrange/padrange.c,
+	  raster/r.li/r.li.padrange/rlipadrange_formula.png,
+	  raster/r.li/r.li.patchAreaDistributionRANGE:
+	  r.li.patchAreaDistributionRANGE -> r.li.padrange
+
+2007-02-08 16:26  markus
+
+	* raster/r.li/r.li.padsd, raster/r.li/r.li.padsd/Makefile,
+	  raster/r.li/r.li.padsd/description.html,
+	  raster/r.li/r.li.padsd/padsd.c,
+	  raster/r.li/r.li.padsd/rlipadsd_formula.png,
+	  raster/r.li/r.li.patchAreaDistributionSD:
+	  r.li.patchAreaDistributionSD -> r.li.padsd
+
+2007-02-08 16:20  markus
+
+	* raster/r.li/Makefile, raster/r.li/r.li.patchnum/Makefile,
+	  raster/r.li/r.li.patchnum/description.html: r.li.patchnumber ->
+	  r.li.patchnum
+
+2007-02-08 16:18  markus
+
+	* raster/r.li/Makefile, raster/r.li/TODO,
+	  raster/r.li/description.html, raster/r.li/r.li.patchnum,
+	  raster/r.li/r.li.patchnum/Makefile,
+	  raster/r.li/r.li.patchnum/description.html,
+	  raster/r.li/r.li.patchnum/main.c, raster/r.li/r.li.patchnumber,
+	  raster/r.li/r.li.setup/area_query,
+	  raster/r.li/r.li.setup/masked_area_selection,
+	  raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.li/r.li.setup/square_query: moved r.li.patchnumber/ to
+	  r.li.patchnum/: renamed directory
+
+2007-02-08 16:17  markus
+
+	* raster/r.li/r.li.patchnumber/description.html,
+	  raster/r.li/r.li.shape/description.html: Serena Pallecchi:
+	  missing docs added
+
+2007-02-08 14:19  markus
+
+	* debian/patches/htmlgen-fakeroot.dpatch: patch fixed
+
+2007-02-08 14:04  brad
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/vect2rast.c: - Fix Bug #4480
+	  - Began process of localizing text
+
+2007-02-08 13:13  paul
+
+	* Makefile, lib/init/Makefile, lib/init/init.bat: Use Windows-style
+	  directory separators in grass63.bat and install it with
+	  the rest of GRASS.
+	  Remove unused PROJSHAREDEFAULT from lib/init/Makefile
+	  Set GRASS_WISH by default in init.bat
+	  Exit init.bat if Ctrl-C used during etc/set_data startup
+
+2007-02-08 11:12  glynn
+
+	* raster/r.proj.seg/readcell.c: Create temporary file in output
+	  location
+
+2007-02-08 11:11  glynn
+
+	* raster/r.in.bin/description.html: Update description of -s flag
+
+2007-02-08 11:10  glynn
+
+	* raster/r.in.bin/main.c: Honour -s flag for 2-byte and 4-byte data
+
+2007-02-08 11:06  markus
+
+	* Makefile: follow only trunk for ChangeLog
+
+2007-02-08 10:39  hamish
+
+	* general/g.proj/main.c: a little more of the datumtrans= option
+
+2007-02-08 10:04  hamish
+
+	* general/g.proj/main.c: Add option to create location from EPSG
+	  code.
+	  Add option infrastructure to list or specify datum transform
+	  params from the command line.
+
+2007-02-08 00:05  paul
+
+	* lib/proj/datum.c: "Default" datum transformation parameters are
+	  now first in the list instead
+	  of last.
+	  Return parameters from datum.table even if datumtransform.table
+	  is not
+	  accessible.
+
+2007-02-07 23:23  markus
+
+	* vector/v.in.db/description.html: updated links and PG connection
+
+2007-02-07 18:55  maciej
+
+	* scripts/r.in.srtm/r.in.srtm: added PIXELTYPE SIGNEDINT to header
+	  file for r.in.gdal to recognize negative values
+
+2007-02-07 16:02  markus
+
+	* lib/grasslib.dox: doxygen img fails, so get it online
+
+2007-02-07 15:46  markus
+
+	* lib/grasslib.dox, lib/loc_struct.png: file structure diagram
+	  added
+
+2007-02-07 15:08  markus
+
+	* lib/grasslib.dox: explain GRASS file structure
+
+2007-02-07 14:58  glynn
+
+	* scripts/g.mremove/g.mremove: Don't prompt
+
+2007-02-07 07:27  hamish
+
+	* ps/ps.map/border.h, ps/ps.map/description.html,
+	  ps/ps.map/local_proto.h, ps/ps.map/main.c, ps/ps.map/ps_info.h,
+	  ps/ps.map/ps_map.c, ps/ps.map/r_border.c, ps/ps.map/r_paper.c:
+	  add border controls
+
+2007-02-07 05:24  brad
+
+	* raster/r.flow/aspect.c, raster/r.flow/calc.c, raster/r.flow/io.c,
+	  raster/r.flow/io.h, raster/r.flow/mem.c, raster/r.flow/mem.h,
+	  raster/r.flow/precomp.c, raster/r.flow/precomp.h,
+	  raster/r.flow/r.flow.h: - Gave functions better protection and
+	  readability.
+	  - Made main() more consistent with other GRASS modules.
+	  - Localized unlocalized text.
+	  - Removed tangent lookup table in favor of inline calculations.
+	  - Promoted 'theta' to double precision.
+	  - Removed unused/redundant variables and functions.
+	  - Removed DX()/DY() macros.
+	  - Fixed hypot() macro per Glynn.
+
+2007-02-06 23:12  hamish
+
+	* scripts/d.slide.show/description.html: see also d.frame
+
+2007-02-06 23:08  hamish
+
+	* scripts/d.slide.show/d.slide.show: add delay option, clean
+	  terminal output
+
+2007-02-06 22:49  markus
+
+	* lib/grasslib.dox: +gpdelib
+
+2007-02-06 22:46  markus
+
+	* Makefile: lib/gpde/ added for progman
+
+2007-02-06 22:42  markus
+
+	* lib/gis/gislib.dox: cosmetics
+
+2007-02-06 22:28  markus
+
+	* lib/gis/gislib.dox: cosmetics, + gpdelib
+
+2007-02-06 13:53  markus
+
+	* raster/r.flow/calc.c: patch from Glynn submitted (request from
+	  Helena)
+
+2007-02-06 12:54  markus
+
+	* raster/r.gwflow/description.html,
+	  raster3d/r3.gwflow/description.html: crosslink
+
+2007-02-06 11:15  markus
+
+	* lib/form/form.c: Roberto Flor: made variable names more
+	  reasonable; fix for Tcl encoding bug (bug #4110)
+
+2007-02-06 08:31  markus
+
+	* lib/gis/parser.c: just run 'g.parser', don't use the full path
+
+2007-02-06 06:48  hamish
+
+	* raster/r.surf.contour/description.html: typo
+
+2007-02-06 06:45  hamish
+
+	* gui/tcltk/gis.m/gmmenu.tcl: clean menu descriptions
+
+2007-02-05 21:57  markus
+
+	* vector/vectorintro.html: v.db.addcol and v.db.dropcol mentioned
+
+2007-02-05 17:00  markus
+
+	* scripts/v.db.dropcol/v.db.dropcol: cleanup fixed; more error
+	  checking
+
+2007-02-05 16:58  markus
+
+	* scripts/v.db.addcol/v.db.addcol: test if map exists
+
+2007-02-05 15:57  markus
+
+	* gui/tcltk/gis.m/gis.m: partially fixed GIS_OPT_DMRC (still not
+	  read)
+
+2007-02-05 15:30  markus
+
+	* lib/gis/parser.c: typo fixed
+
+2007-02-05 14:33  markus
+
+	* scripts/v.db.addcol/description.html,
+	  scripts/v.db.addtable/description.html,
+	  scripts/v.db.droptable/description.html: v.db.dropcol crosslinked
+
+2007-02-05 14:30  markus
+
+	* db/base/db.execute.html: ALTER TABLE DROP COLUMN
+
+2007-02-05 14:26  markus
+
+	* db/drivers/dbf/grass-dbf.html: drop column now works
+
+2007-02-05 13:42  robertoa
+
+	* locale/po/grassmods_es.po, locale/po/grasstcl_es.po: spanish
+	  translations by Carlos Davila
+
+2007-02-05 13:26  markus
+
+	* scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.dropcol/v.db.dropcol: parameter cosmetics
+
+2007-02-05 13:26  markus
+
+	* scripts/Makefile: v.db.dropcol added
+
+2007-02-05 13:12  markus
+
+	* scripts/v.db.dropcol, scripts/v.db.dropcol/Makefile,
+	  scripts/v.db.dropcol/description.html,
+	  scripts/v.db.dropcol/v.db.dropcol: New drop column tool
+
+2007-02-05 10:47  martinl
+
+	* db/drivers/dbf/column.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/proto.h, include/sqlp.h, lib/db/sqlp/print.c,
+	  lib/db/sqlp/yac.y: drop column DBF implementation
+
+2007-02-05 10:40  markus
+
+	* raster/r.in.gdal/main.c: mesg cosmetics
+
+2007-02-05 08:56  markus
+
+	* scripts/d.slide.show/d.slide.show: colorize vectors
+
+2007-02-05 08:15  markus
+
+	* vector/v.out.svg/description.html: final precision cosmetics
+
+2007-02-05 02:00  hamish
+
+	* lib/init/variables.html: move GRASS_BATCH_JOB, explain
+	  GRASS_PNGFILE can create PPM images
+
+2007-02-04 21:57  soeren
+
+	* lib/gpde/gpdelib.dox: Changed the doxgen entry \mainpage to \page
+	  to avoid the destruction of the
+	  grass programmers manual
+
+2007-02-04 19:52  markus
+
+	* vector/v.out.svg/description.html: precision=0 explained
+
+2007-02-04 15:37  markus
+
+	* vector/v.out.svg/description.html: cosmetics
+
+2007-02-04 15:32  markus
+
+	* vector/v.out.svg/description.html: some more explanations;
+	  example HTML code fixed
+
+2007-02-04 15:23  markus
+
+	* scripts/i.in.spotvgt/i.in.spotvgt: terminology fix
+
+2007-02-04 09:15  markus
+
+	* lib/vector/vectorlib.dox: more category index secrets explained
+	  (from Radim's mail:
+	  http://grass.itc.it/pipermail/grass5/2004-February/013666.html)
+
+2007-02-04 08:38  markus
+
+	* lib/vector/vectorlib.dox: sidx file no longer exists, but cidx
+	  (category index)
+
+2007-02-04 03:15  glynn
+
+	* general/g.pnmcomp/main.c: Fix gisprompt
+
+2007-02-03 14:55  markus
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po,
+	  locale/po/grasstcl_es.po: updated to new messages
+
+2007-02-03 13:53  robertoa
+
+	* locale/po/grasstcl_es.po: fixed some erroneous messages
+
+2007-02-03 12:14  robertoa
+
+	* locale/po/grasstcl_es.po: Agustín Diez spanish translations
+
+2007-02-03 11:54  robertoa
+
+	* locale/po/grassmods_es.po: Carlos Davila translations
+
+2007-02-03 08:59  markus
+
+	* imagery/i.cca/main.c: msg fixes; EXIT status
+
+2007-02-03 08:56  markus
+
+	* general/g.region/cmd/printwindow.c, imagery/i.cca/main.c: msg fix
+
+2007-02-03 08:50  markus
+
+	* general/g.region/cmd/main.c, raster/r.region/main.c: odd grammar
+	  fixed
+
+2007-02-02 14:33  robertoa
+
+	* vector/lidar/v.surf.bspline/main.c: interpolation raster output
+	  improved
+
+2007-02-01 15:04  jachym
+
+	* gui/wxpython/gism.py, gui/wxpython/mapdisp.py,
+	  gui/wxpython/render.py: GRASS_ICONPATH not needed any more
+
+2007-01-31 16:01  markus
+
+	* general/g.parser/description.html: explain --script trick
+
+2007-01-31 15:16  markus
+
+	* vector/v.what.rast/main.c: where statement added
+
+2007-01-31 14:12  stephan
+
+	* locale/po/grasstcl_de.po: + some german tcltk-translations
+
+2007-01-30 22:02  glynn
+
+	* lib/gis/parser.c: Add --script option (writes out g.parser
+	  boilerplate)
+
+2007-01-30 20:54  markus
+
+	* raster3d/r3.gwflow/description.html: minimalistic docu
+
+2007-01-30 17:09  markus
+
+	* vector/v.univar/main.c: answer already in G_OPT_V_FIELD
+
+2007-01-30 16:32  paul
+
+	* general/g.setproj/get_stp.c: Handle GRASS_PAGER environment
+	  variable in a way compatible with Windows.
+
+2007-01-30 16:05  paul
+
+	* lib/proj/convert.c: Handle some plurals that aren't formed by
+	  adding 's' at the end!
+
+2007-01-30 15:50  markus
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: fixed
+	  broken msgid as found by Carlos Dávila
+
+2007-01-30 06:14  hamish
+
+	* ps/ps.map/main.c: allow geogrid from lat/lon locations (only way
+	  to get sub-degree gridlines).
+	  disallow scalebar from lat/lon locations (incorrect due to
+	  curvature)
+
+2007-01-30 06:13  hamish
+
+	* ps/ps.map/do_scalebar.c, ps/ps.map/map_setup.c: correct scaling
+	  when units are not meters. (bugs # 3096 and 5454)
+
+2007-01-30 06:01  danielc
+
+	* raster/r.coin/inter.c, vector/v.transform/creat_trans.c: - system
+	  -> G_system
+
+2007-01-29 22:47  markus
+
+	* vector/vectorintro.html: typo
+
+2007-01-29 22:22  markus
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: typo fixed
+
+2007-01-29 22:17  markus
+
+	* vector/v.transform/main.c: typo
+
+2007-01-29 12:43  paul
+
+	* lib/gis/ls.c: Free memory used in filename array
+
+2007-01-29 10:55  paul
+
+	* include/gisdefs.h, lib/gis/ls.c, lib/init/set_data.c: Add new
+	  functions G_ls() and G__ls() and update lib/init/set_data.c to
+	  use
+	  them
+
+2007-01-29 08:10  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: - Changed hard limit for
+	  legend items to 18, given original #4037 report
+	  (closes issue #4037)
+
+2007-01-28 22:47  hamish
+
+	* scripts/d.out.gpsdrive/description.html: note netpbm requirement
+
+2007-01-28 22:37  hamish
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive: check to see if we have
+	  NetPBM tools before trying to use them
+
+2007-01-28 21:40  hamish
+
+	* raster/r.out.ppm/description.html: missing newline
+
+2007-01-28 21:15  markus
+
+	* vector/v.sample/main.c: no caps letters for flags
+
+2007-01-28 19:41  markus
+
+	* raster/r.colors/Makefile, raster/r.colors/aspectcolr,
+	  raster/r.colors/curvature, raster/r.colors/differences: New color
+	  tables from Helena
+
+2007-01-28 16:30  markus
+
+	* vector/v.to.rast/description.html: example fix
+
+2007-01-28 14:33  markus
+
+	* db/drivers/dbf/grass-dbf.html, lib/db/sqlp/description.html:
+	  Substring matching improved
+
+2007-01-28 14:30  markus
+
+	* db/drivers/dbf/dbfexe.c: hack to get '%substring' and
+	  'substring%' working (workaround for
+	  http://grass.itc.it/pipermail/grass-dev/2006-July/024504.html)
+
+2007-01-28 12:54  markus
+
+	* scripts/v.db.update/v.db.update: error check for input map
+	  availability; quote GIS_OPT_VALUE for potential white spaces
+
+2007-01-28 12:07  jachym
+
+	* lib/pngdriver/Graph_set.c: fprintf to G_message and G_warning for
+	  pngdriver
+
+2007-01-28 12:00  jachym
+
+	* lib/driver/command.c, lib/driver/connect_fifo.c,
+	  lib/driver/connect_sock.c, lib/driver/main.c: fprintf to
+	  G_message and G_warning in display
+
+2007-01-28 11:59  jachym
+
+	* display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/XDRIVER/Get_w_box.c,
+	  display/drivers/XDRIVER/Get_w_line.c,
+	  display/drivers/XDRIVER/Get_w_pointer.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Panel.c,
+	  display/drivers/XDRIVER/Serve_Xevent.c: fprintf to G_message and
+	  G_warning in drivers
+
+2007-01-28 11:59  jachym
+
+	* display/d.mon/pgms/release.c, display/d.mon/pgms/select.c,
+	  display/d.mon/pgms/start.c, display/d.mon/pgms/stop.c,
+	  display/d.mon/pgms/which.c: fprintf to G_message and G_warning in
+	  d.mon command
+
+2007-01-28 02:14  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: - Added display tweak
+	  for very large legends: only lower and upper parts are drawn
+	  and an ellipsis separates both parts; the max number of legend
+	  items is hard-
+	  coded at fourteen; is this adequate?
+
+2007-01-28 01:01  danielc
+
+	* scripts/d.out.file/d.out.file, scripts/d.split/d.split,
+	  scripts/d.vect.thematic/d.vect.thematic, scripts/db.test/db.test,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms,
+	  scripts/r.in.wms/wms.download, scripts/r.in.wms/wms.request: -
+	  Added quotes in occurences of 'if [ -z "$var" ]'
+
+2007-01-27 20:08  markus
+
+	* db/base/db.connect.html: db.login also interactively queries the
+	  password
+
+2007-01-25 07:00  hamish
+
+	* display/d.barscale/main.c: simple north arrow is ok for lat/lon
+	  locations
+
+2007-01-25 05:03  hamish
+
+	* lib/init/init.sh: shell tests: !-z is -n. fix typo. quote
+	  variables in echo text for clarity.
+
+2007-01-24 22:40  soeren
+
+	* lib/gpde/test/test_gpde_lib.h: Include file for gpde tests
+	  This file is needed for unit and integration tests
+	  of the grass pde lib gpde
+
+2007-01-24 20:48  soeren
+
+	* raster3d/Makefile, raster3d/r3.gwflow,
+	  raster3d/r3.gwflow/Makefile, raster3d/r3.gwflow/description.html,
+	  raster3d/r3.gwflow/main.c: New module for confined groundwater
+	  flow calculation in three dimensions added
+	  * this module makes use of the gpde library of grass to solve the
+	  groundwater partial differential equation
+
+2007-01-24 20:48  soeren
+
+	* raster/Makefile, raster/r.gwflow, raster/r.gwflow/Makefile,
+	  raster/r.gwflow/description.html, raster/r.gwflow/main.c: New
+	  module for confined and unconfied groundwater flow calculation
+	  added
+	  * this module makes use of the gpde library of grass to solve the
+	  groundwater partial differential equation
+
+2007-01-24 20:46  soeren
+
+	* lib/Makefile, lib/gpde, lib/gpde/Makefile, lib/gpde/N_arrays.c,
+	  lib/gpde/N_geom.c, lib/gpde/N_gwflow.c, lib/gpde/N_heatflow.c,
+	  lib/gpde/N_les.c, lib/gpde/N_les_assemble.c,
+	  lib/gpde/N_solute_transport.c, lib/gpde/N_solvers.c,
+	  lib/gpde/gpdelib.dox, lib/gpde/test, lib/gpde/test/Makefile,
+	  lib/gpde/test/test_arrays.c, lib/gpde/test/test_assemble.c,
+	  lib/gpde/test/test_gwflow.c, lib/gpde/test/test_heat.c,
+	  lib/gpde/test/test_les.c, lib/gpde/test/test_main.c,
+	  lib/gpde/test/test_solvers.c: New grass gpde lib added
+	  * the lib includes unit and integration tests in the gpde/test
+	  directory
+	  
+	  The purpose of this library is to solve
+	  partial differential equations in grass.
+
+2007-01-24 20:43  soeren
+
+	* include/Make/Grass.make.in, include/N_gwflow.h,
+	  include/N_heatflow.h, include/N_pde.h,
+	  include/N_solute_transport.h: New grass gpde lib added
+	  Updated Grass.make.in to handle the new library
+
+2007-01-24 20:04  glynn
+
+	* imagery/i.points/Makefile, include/Make/Grass.make.in: Remove
+	  $(VASKLIB) from IMAGERYLIB definition (no longer required)
+	  Add $(CURSES) to VASKLIB definition
+	  Add $(CURSES) to i.points/Makefile
+
+2007-01-24 16:28  markus
+
+	* visualization/nviz/description.html: parms and flags added
+
+2007-01-24 15:42  markus
+
+	* visualization/nviz/Makefile, visualization/nviz/description.html:
+	  generate docs
+
+2007-01-24 11:12  markus
+
+	* lib/init/init.sh: support mapset creation on the fly from during
+	  startup
+
+2007-01-24 07:26  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Updating menu to include recently
+	  added modules
+
+2007-01-24 04:51  michael
+
+	* lib/init/epsg_option.tcl, lib/init/file_option.tcl,
+	  lib/init/gis_set.tcl: Enhancements to GRASS startup from Maris
+	  Nartiss. The changes include:
+	  * New procedure to refresh mapset list;
+	  * New procedure to set selected listbox item that maches string;
+	  * "Create new mapset" is disabled if location is not valid;
+	  * "Enter GRASS" is disabled if location is not valid;
+	  * Set newly created mapset as selected;
+	  * Removed ability to select multiple items from location/mapset
+	  list;
+	  * After creating new location from file/epsg code, new location
+	  is selected and also is selected PERMANENT mapset;
+	  * Catch missing GRASS_PROJSHARE env variable;
+	  * Some other catch statements to improve error handling.
+
+2007-01-23 22:47  markus
+
+	* raster/r.out.gdal/main.c: always initialize hCT
+
+2007-01-23 22:43  markus
+
+	* raster/r.out.gdal/main.c: verified by Frank W now for color
+	  management
+
+2007-01-23 14:37  markus
+
+	* lib/init/variables.html: GRASS_BATCH_JOB explained
+
+2007-01-23 14:36  markus
+
+	* lib/init/init.sh: GRASS_BATCH_JOB: hack to process batch jobs
+	  easily
+
+2007-01-22 23:34  markus
+
+	* raster/r.out.gdal/description.html: explain GDAL RELATED ERROR
+	  MESSAGES
+
+2007-01-22 22:41  markus
+
+	* lib/init/Makefile, lib/init/grass.src: allow for white space in
+	  GISBASE dir
+
+2007-01-22 22:05  markus
+
+	* raster/r.out.gdal/main.c: always write color table (needed?)
+
+2007-01-22 16:48  robertoa
+
+	* locale/po/grassmods_es.po: Enrique Cerrillo <ecerrillo at
+	  unex.es>: spanish translation
+
+2007-01-22 15:30  markus
+
+	* raster/r.out.gdal/main.c: Color support working now thanks to
+	  Glynn
+
+2007-01-22 00:40  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: Synchronise r.mapcalc.html and
+	  r3.mapcalc.html
+
+2007-01-21 23:30  glynn
+
+	* general/g.setproj/get_stp.c: Change FIPS.code parsing to allow
+	  for spaces in county names
+
+2007-01-21 23:27  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: Remove incorrect statements
+	  about the use of zero for no-data
+
+2007-01-21 16:35  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: Fix comments regarding division
+	  by zero (returns null, not zero)
+
+2007-01-21 13:27  stephan
+
+	* locale/po/grasslibs_de.po: + some german grasslibs updates
+
+2007-01-21 12:44  martinl
+
+	* general/manage/cmd/copy.c, general/manage/lib/do_copy.c: fprintf
+	  -> G_warning|message
+
+2007-01-21 10:40  martinl
+
+	* general/manage/lib/do_remove.c: typo
+
+2007-01-21 10:37  martinl
+
+	* general/manage/lib/do_remove.c: G_debug -> G_message (if
+	  G_verbose_max)
+
+2007-01-21 08:33  michael
+
+	* gui/tcltk/gis.m/group.tcl, gui/tcltk/gis.m/vector.tcl: Improved
+	  error trapping when starting NVIZ from map display window
+	  in GUI. Now will ignore invalid files, while displaying valid
+	  ones
+	  in layer tree.
+
+2007-01-20 18:55  markus
+
+	* include/VERSION: happy new year
+
+2007-01-20 17:02  markus
+
+	* locale/po/grassmods_de.po: typo
+
+2007-01-20 16:58  markus
+
+	* scripts/r.reclass.area/r.reclass.area: don't leave clump file
+	  behind
+
+2007-01-19 13:35  bob
+
+	* visualization/nviz/scripts/nviz2.2_script: Fixed Hide Panel
+	  button
+
+2007-01-19 08:57  markus
+
+	* scripts/r.in.wms/description.html: HTML polished; LANDSAT example
+	  added
+
+2007-01-19 06:09  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Improve error trapping to avoid
+	  TclTk crashes when GRASS commands
+	  send warnings and other information to stderr. Splitting stderr
+	  messages to dev null or null. Similar to recent updates to
+	  mapcalc.tcl.
+
+2007-01-18 17:08  markus
+
+	* scripts/r.in.wms/r.in.gdalwarp: fixed the fix; tell user about
+	  result
+
+2007-01-18 16:47  markus
+
+	* scripts/r.in.wms/r.in.gdalwarp: removed debug stuff
+
+2007-01-18 16:30  markus
+
+	* scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms: catch
+	  Service Exception Report
+
+2007-01-18 16:17  markus
+
+	* scripts/r.in.wms/r.in.wms: bail out when region is not existing
+
+2007-01-18 16:09  markus
+
+	* general/g.findfile/description.html: find region files as windows
+	  element
+
+2007-01-18 15:58  markus
+
+	* scripts/r.in.wms/r.in.gdalwarp: removed superfluous ALPHA channel
+	  (it damaged LANDSAT RGB)
+
+2007-01-17 16:35  markus
+
+	* raster/r.topidx/description.html: cosmetics ;reference added
+
+2007-01-17 16:11  markus
+
+	* raster/r.colors/Makefile, raster/r.colors/description.html,
+	  raster/r.colors/ryb: added ryb for wetness maps
+
+2007-01-17 14:00  markus
+
+	* general/g.region/cmd/main.c: multiple maps support for vect=
+	  parameter
+
+2007-01-17 09:21  markus
+
+	* raster/r.out.gdal/main.c: use same ColorInterpretation everywhere
+	  (still failing)
+
+2007-01-17 09:03  markus
+
+	* raster/r.out.gdal/main.c: added color table support (based on
+	  GRASS/GDAL plugin. ColorInterp is still wrong
+
+2007-01-16 14:34  markus
+
+	* vector/v.perturb/normalrs.c, vector/v.perturb/normalsv.c: fix
+	  include headers
+
+2007-01-16 14:08  markus
+
+	* tools/g.html2man/g.html2man: treat <H4> as <H3>
+
+2007-01-16 08:31  robertoa
+
+	* locale/po/grasstcl_es.po: spanish translations
+
+2007-01-15 14:45  robertoa
+
+	* vector/lidar/lidarlib/raster.c,
+	  vector/lidar/v.surf.bspline/bspline.h,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/main.c: interpolation improvement and
+	  cross-correlation bug fixed
+
+2007-01-15 08:24  markus
+
+	* locale/po/grasstcl_pl.po: Artur Niecior <nieart*interia pl>:
+	  cont'ed
+
+2007-01-15 01:28  glynn
+
+	* general/manage/cmd/list.c: Use G_spawn() rather than G_spawn_ex()
+	  argv[0] must be specified explicitly
+
+2007-01-15 01:27  glynn
+
+	* lib/gis/spawn.c: Add NULL to end of array
+
+2007-01-14 21:07  markus
+
+	* include/gisdefs.h: declared G_set_verbose()
+
+2007-01-14 14:33  jachym
+
+	* vector/v.surf.rst/main.c: fprintf to G_message
+
+2007-01-14 14:28  jachym
+
+	* vector/v.surf.idw/main.c: program name output to stderr removed
+
+2007-01-14 14:24  jachym
+
+	* vector/v.reclass/main.c: fprintf to G_message
+
+2007-01-14 13:05  jachym
+
+	* vector/v.qcount/findquads.c, vector/v.qcount/main.c,
+	  vector/v.qcount/quaddefs.h: *fprintf to G_message
+	  * new flag -g for shell script style output
+
+2007-01-14 12:49  jachym
+
+	* vector/v.perturb/normalrs.c, vector/v.perturb/normalsv.c:
+	  glocale.h included
+
+2007-01-14 12:49  jachym
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/main.c, vector/v.perturb/normalrs.c,
+	  vector/v.perturb/normalsv.c, vector/v.proj/main.c: fprintf to
+	  G_message
+
+2007-01-14 12:35  jachym
+
+	* vector/v.out.ascii/b2a.c, vector/v.out.ogr/main.c,
+	  vector/v.out.pov/main.c: fprintf to G_message
+
+2007-01-14 10:49  robertoa
+
+	* locale/po/grasslibs_es.po: Enrique Cerrillo <ecerrillo at
+	  unex.es>: spanish translation
+
+2007-01-14 10:39  robertoa
+
+	* locale/po/grassmods_es.po: Carlos Davila <carluti at
+	  users.sourceforge.net>: spanish translation
+
+2007-01-13 23:30  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Series of bug fixes and
+	  improvements. Fixed cleanup routine for
+	  closing vector group window. Fixed potential issue running with
+	  latlon locations. Fixed problem with GCP points not updating on
+	  zoom. Initialized GCP window with rms error set to 0.
+
+2007-01-13 23:20  michael
+
+	* gui/tcltk/gis.m/commonlayer.tcl: Improved error trapping for
+	  invalid map files entered in layer tree.
+
+2007-01-13 20:57  martinl
+
+	* ps/ps.map/main.c: backward compatibility fixed (verbose)
+
+2007-01-13 20:52  martinl
+
+	* lib/gis/verbose.c: new function G_set_verbose (int) - allows to
+	  set explicit verbosity level (usefull in abnormal situation, e.g.
+	  ps.map)
+
+2007-01-13 19:09  martinl
+
+	* general/manage/cmd/list.c, general/manage/cmd/local_proto.h,
+	  general/manage/lib/read_list.c, general/manage/list.h: * multiple
+	  data type parameter
+	  * fprintf -> G_
+	  * cosmetics
+
+2007-01-13 17:54  glynn
+
+	* lib/gis/spawn.c: Add native Windows implementation of G_spawn()
+
+2007-01-13 17:03  martinl
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c: syntax cosmetics
+
+2007-01-13 01:03  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fixing problem in setting region
+	  parameters in latlon locations
+
+2007-01-12 13:16  robertoa
+
+	* locale/po/grasstcl_es.po: spanish translation of Enrique Cerrillo
+
+2007-01-12 08:50  robertoa
+
+	* locale/po/grassmods_es.po: spanish transalations of Carlos Davila
+
+2007-01-12 08:38  robertoa
+
+	* locale/po/grasslibs_es.po: spanish translation updated
+
+2007-01-11 15:56  robertoa
+
+	* locale/po/grasslibs_es.po, locale/po/grasstcl_es.po: spanish
+	  translation updated
+
+2007-01-11 15:41  robertoa
+
+	* locale/po/grassmods_es.po: spanish translation updated
+
+2007-01-10 22:35  martinl
+
+	* vector/v.in.dxf/global.h, vector/v.in.dxf/read_dxf.c: fn
+	  big_percent prototype removed + cosmetics
+
+2007-01-10 20:58  jachym
+
+	* vector/v.in.dxf/read_dxf.c: function big_percent() removed
+
+2007-01-10 20:44  jachym
+
+	* vector/v.in.dxf/global.h, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/read_dxf.c, vector/v.in.dxf/write_vect.c: *
+	  fprintf to G_message
+	  * function big_percent removed, G_percent used
+	  * added flag -b for not building topology (by Martin Landa)
+
+2007-01-09 12:33  glynn
+
+	* display/d.path/main.c: Call R_open_driver() *before* any other
+	  R_* functions
+	  Remove unused D_get_dig_list() calls
+
+2007-01-09 12:30  glynn
+
+	* include/gisdefs.h, lib/gis/percent.c: Change G_percent to use
+	  "long" for the numerator & denominator
+
+2007-01-09 07:12  michael
+
+	* lib/init/projshare.sed: No longer needed. Path to epsg file now
+	  stored in environmental
+	  variable GRASS_PROJSHARE, which can be accessed from
+	  epsg_option.tcl.
+
+2007-01-09 07:11  michael
+
+	* lib/init/make_location_epsg.sh.in: No longer needed. Relevant
+	  code wrapped into epsg_option.tcl
+
+2007-01-09 07:10  michael
+
+	* lib/init/epsg_option.tcl.in: Replaced by epsg_option.tcl
+
+2007-01-09 07:09  michael
+
+	* lib/init/Makefile: Change reference to file epsg_option.tcl.ini
+	  to epsg_option.tcl.
+	  Remove reference to file make_location_epsg.sh (obsolete and
+	  deprecated). Remove routine to insert PROJSHARE literal into
+	  epsg_option_tcl.ini because this has now become an environmental
+	  variable GRASS_PROJSHARE, so routine is no longer necessary.
+
+2007-01-09 07:01  michael
+
+	* lib/init/epsg_option.tcl: Replaces epsg_option.tcl.in
+
+2007-01-09 06:25  jachym
+
+	* vector/v.net/nodes.c: bugfix, glocale.h was not included
+
+2007-01-08 20:35  jachym
+
+	* vector/v.net.steiner/main.c, vector/v.normal/main.c: fprintf to
+	  G_message
+
+2007-01-08 19:16  jachym
+
+	* vector/v.net.path/description.html, vector/v.net.path/path.c:
+	  attributs information moved to manual page
+
+2007-01-08 18:28  jachym
+
+	* vector/v.net.alloc/main.c, vector/v.net.iso/main.c: fprinf to
+	  G_message
+
+2007-01-08 18:11  jachym
+
+	* vector/v.net/nodes.c: fprintf to G_message
+
+2007-01-08 18:02  jachym
+
+	* vector/v.mkgrid/local_proto.h, vector/v.mkgrid/main.c,
+	  vector/v.mkgrid/write_grid.c: fprintf to G_message, flag -q
+	  prepared to future removing
+
+2007-01-08 17:57  jachym
+
+	* vector/v.mapcalc/any.c, vector/v.mapcalc/list.c,
+	  vector/v.mapcalc/map.c, vector/v.mapcalc/number.c,
+	  vector/v.mapcalc/vector.c, vector/v.mapcalc/yylex.c: making
+	  outputs more according GRASS standards
+
+2007-01-08 17:39  jachym
+
+	* vector/v.lrs/v.lrs.where/main.c: fprintf to G_message
+
+2007-01-08 17:35  jachym
+
+	* vector/v.kernel/main.c: preparing -v flag for future removing
+
+2007-01-08 15:22  paul
+
+	* configure, configure.in, lib/init/Makefile, lib/init/init.bat,
+	  lib/init/init.sh: Set an environment variable GRASS_PROJSHARE in
+	  startup script that can
+	  be over-ridden by the user if necessary
+
+2007-01-08 15:01  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Send stderr from using g.region to
+	  /dev/null or null to make module
+	  more robust.
+
+2007-01-08 07:25  martinl
+
+	* ps/ps.map/comment.c, ps/ps.map/description.html,
+	  ps/ps.map/do_geogrid.c, ps/ps.map/do_labels.c,
+	  ps/ps.map/do_masking.c, ps/ps.map/do_plt.c,
+	  ps/ps.map/do_psfiles.c, ps/ps.map/do_vectors.c,
+	  ps/ps.map/local_proto.h, ps/ps.map/main.c, ps/ps.map/makeprocs.c,
+	  ps/ps.map/map_setup.c, ps/ps.map/outl_io.c,
+	  ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/ps_map.c, ps/ps.map/ps_outline.c,
+	  ps/ps.map/ps_raster.c, ps/ps.map/ps_vareas.c,
+	  ps/ps.map/ps_vlegend.c, ps/ps.map/ps_vlines.c,
+	  ps/ps.map/r_group.c, ps/ps.map/r_rgb.c, ps/ps.map/r_text.c,
+	  ps/ps.map/read_cfg.c, ps/ps.map/scale.c: * verbose mapping
+	  instruction removed
+	  * fprintf -> G_
+	  * cosmetics
+
+2007-01-08 06:32  michael
+
+	* lib/init/epsg_option.tcl.in: Fix bugs in epsg browse routine and
+	  in epsg code grab routine.
+	  Some code reformatting to improve readability.
+
+2007-01-08 06:30  michael
+
+	* lib/init/gis_set.tcl: Use standard tcltk open directory dialog
+	  for database selection
+	  (makes Linux, Mac, and Windows operate the same). Delete unused
+	  procedures made obsolete by recent updates. Reformat code to
+	  make it more readable.
+
+2007-01-07 20:54  jachym
+
+	* vector/v.in.ogr/main.c: fprintf to G_message
+
+2007-01-07 20:37  jachym
+
+	* vector/v.info/main.c: fprintf to G_message or G_fatal_error
+
+2007-01-07 20:17  jachym
+
+	* vector/v.in.dwg/entity.c, vector/v.in.dwg/main.c: fprintf to
+	  G_message
+
+2007-01-07 20:09  jachym
+
+	* vector/v.in.ascii/a2b.c, vector/v.in.ascii/in.c: fprintf to
+	  G_message
+
+2007-01-07 19:55  jachym
+
+	* vector/v.extract/main.c: fprintf to G_message
+
+2007-01-07 19:42  jachym
+
+	* vector/v.db.connect/main.c: fprintf to G_message, information
+	  about connection printed to stdout
+
+2007-01-07 18:45  jachym
+
+	* vector/v.build.polylines/global.h,
+	  vector/v.build.polylines/main.c: * fprinf to G_message
+	  * removed commented out checks for existing vector files
+	  * support for translation
+
+2007-01-07 18:23  jachym
+
+	* vector/v.buffer/main.c: fprintf to G_message
+
+2007-01-07 10:48  paul
+
+	* lib/init/gis_set.tcl: Updates from Maris Nartiss:
+	  * Use new refresh_loc function where appropriate
+	  * Add wrapper function for cd to gracefully warn if unable to
+	  change directory
+	  And from me:
+	  * Have "Create location using projection values" create a pop-up
+	  xterm
+	  Window to run etc/set_data rather than just exiting out of
+	  gis_set.tcl
+
+2007-01-06 09:11  paul
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Better and more obvious fix as
+	  pointed out by Glynn: redirect stderr
+	  to /dev/null or NUL:
+
+2007-01-06 01:18  michael
+
+	* lib/init/epsg_option.tcl.in: Declared refresh as global variable
+	  within namespace
+
+2007-01-06 01:18  michael
+
+	* lib/init/file_option.tcl: Fix to work around g.proj limitations.
+	  Now should work with Windows
+	  and on new setups (i.e., with no existing locations). Some
+	  cosmetic
+	  updates.
+
+2007-01-06 01:17  michael
+
+	* lib/init/gis_set.tcl: Update to work with new georeferenced file
+	  location creation panel
+
+2007-01-05 23:25  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Pipe g.region commands through
+	  grocat to merge stdout and stderr,
+	  reducing crashes from warnings or other messages sent to stderr.
+
+2007-01-05 23:24  michael
+
+	* lib/init/epsg_option.tcl.in: From Maris Nartis. Adds
+	  internationalization to epsg location
+	  creation widgets
+
+2007-01-05 21:49  jachym
+
+	* vector/v.edit/description.html: documentation updates
+
+2007-01-05 21:33  paul
+
+	* general/g.proj/output.c: Include unit factor in PROJ.4 style
+	  output
+
+2007-01-05 21:12  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/description.html: option 'id'
+	  to 'ids'
+
+2007-01-05 21:07  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/copy.c, vector/v.edit/del.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/merge.c, vector/v.edit/move.c,
+	  vector/v.edit/select.c, vector/v.edit/snap.c: option 'id' added,
+	  general function for feature selection added
+
+2007-01-05 19:44  jachym
+
+	* vector/v.edit/move.c: removed id= for vector moving
+
+2007-01-05 19:43  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/cats.c, vector/v.edit/copy.c,
+	  vector/v.edit/del.c, vector/v.edit/global.h,
+	  vector/v.edit/move.c, vector/v.edit/select.c,
+	  vector/v.edit/snap.c, vector/v.edit/vertex.c: added some output
+	  messages
+
+2007-01-05 18:30  jachym
+
+	* vector/v.edit/main.c: comments added
+
+2007-01-05 18:24  jachym
+
+	* vector/v.edit/main.c: bug fix -t flag
+
+2007-01-05 18:17  jachym
+
+	* vector/v.edit/snap.c, vector/v.edit/vertex.c: new files vertex.c
+	  and snap.c added to cvs
+
+2007-01-05 18:15  jachym
+
+	* vector/v.edit/cat.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c: removed unused category functions
+
+2007-01-05 18:12  jachym
+
+	* vector/v.edit/add.c, vector/v.edit/global.h: removed unusedd
+	  functions for feature adding
+
+2007-01-05 18:09  jachym
+
+	* vector/v.edit/attr.c, vector/v.edit/global.h: attribute edditing
+	  functions remove. db.* modules should be used for this purpose
+
+2007-01-05 18:07  jachym
+
+	* vector/v.edit/main.c: code cleaning in main.c
+
+2007-01-05 17:49  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c, vector/v.edit/select.c: tool 'snap' added,
+	  option 'snap' removed
+
+2007-01-05 16:12  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/cats.c, vector/v.edit/copy.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c: catadd, catdel and
+	  copy tools added
+
+2007-01-05 13:36  martinl
+
+	* general/g.region/cmd/printwindow.c: the padding added after the
+	  colons
+
+2007-01-05 09:01  markus
+
+	* raster/r.contour/cont.c: algorithm comment from Jim Westervelt
+
+2007-01-05 08:15  martinl
+
+	* general/g.region/cmd/main.c: -g flag cosmetics
+
+2007-01-05 07:55  martinl
+
+	* general/g.region/cmd/printwindow.c: syntax typo
+
+2007-01-05 07:44  martinl
+
+	* general/g.region/cmd/main.c, general/g.region/cmd/printwindow.c:
+	  backward compatibility issue -g == -pg; cosmetics
+
+2007-01-03 21:50  paul
+
+	* lib/init/grass-run.bat: Only require user to press a key to
+	  continue if program has exited
+	  abnormally. Otherwise just pause briefly.
+
+2007-01-03 18:44  paul
+
+	* general/g.proj/description.html, general/g.proj/input.c,
+	  general/g.proj/local_proto.h, general/g.proj/main.c,
+	  general/g.proj/output.c: Split g.proj into functions as main()
+	  was getting unwieldy.
+	  Add support for reading region information from GDAL and OGR
+	  files.
+	  Remove optional dependency on OGR - now won't compile without
+	  OGR.
+
+2007-01-03 16:11  michael
+
+	* gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/mapcanvas.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl: Fix problems due to recent changes
+	  in output from g.region g and p flags.
+
+2007-01-02 16:58  jachym
+
+	* vector/v.edit/description.html: updated documentation
+
+2007-01-02 13:38  paul
+
+	* lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_projname.c, lib/gis/system.c, lib/proj/datum.c: Fix
+	  G_system() so it works on Windows (use cmd.exe to run commands
+	  rather than old command.com, and search for it in path) and
+	  reinstate
+	  use of G_system() where I had changed it to system()
+
+2007-01-02 13:06  stephan
+
+	* locale/po/grasslibs_de.po: + updated german i18N translations for
+	  grasslibs_de
+
+2007-01-02 11:14  martinl
+
+	* general/g.region/cmd/main.c: 'g.region -g' problem fixed (some
+	  scripts were broken)
+
+2007-01-01 18:14  jachym
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasstcl_cs.po: czech translation updated
+
+2007-01-01 18:10  jachym
+
+	* vector/v.edit/a2b.c, vector/v.edit/args.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c: -n flag is working
+	  again
+
+2006-12-30 20:46  michael
+
+	* visualization/nviz/scripts/panel_arrow.tcl: Set default font for
+	  "N" (helvetica 17) to avoid errors with
+	  initial use of arrow.
+
+2006-12-30 20:45  michael
+
+	* visualization/nviz/scripts/panel_vquery.tcl: Windows
+	  compatibility by replacing unix file commands with
+	  TckTk equivalent (eg., glob for ls)
+
+2006-12-30 20:42  michael
+
+	* visualization/nviz/scripts/fileBrowser.tcl,
+	  visualization/nviz/scripts/mapBrowser.tcl: Improve appearence of
+	  file amd map browser popups and make
+	  them more consistent with rest of new NVIZ look. Improve
+	  Windows compatibility by replacing unix file commands with
+	  TckTk equivalent (eg., glob for ls). Some code cleanup.
+
+2006-12-30 20:37  michael
+
+	* visualization/nviz/scripts/attIsosurfPopup.tcl: mprove appearence
+	  of attribute popup dialog for
+	  isosurfaces of volumes and make it more
+	  consistent with rest of new NVIZ look. Some code cleanup.
+	  Improved functionality of subwidgets.
+
+2006-12-30 20:33  michael
+
+	* visualization/nviz/scripts/attPopup.tcl: mprove appearence of
+	  attribute popup dialog and make it more
+	  consistent with rest of new NVIZ look. Some code cleanup.
+	  Improved functionality of subwidgets.
+
+2006-12-27 05:29  brad
+
+	* lib/segment/address.c, lib/segment/debug.c, lib/segment/flush.c,
+	  lib/segment/format.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/init.c, lib/segment/pagein.c, lib/segment/pageout.c,
+	  lib/segment/put.c, lib/segment/put_row.c, lib/segment/release.c,
+	  lib/segment/seek.c, lib/segment/segmentlib.dox,
+	  lib/segment/setup.c, lib/segment/try.c: - Update segmentation
+	  library documentation
+	  - Used EXIT_SUCCESS|EXIT_FAILURE for exit()
+	  - Used O_RDWR instead of 2 for open() calls
+	  - Used SEEK_SET instead of 0 for lseek() calls
+	  - Proper placement of <grass/config.h>
+
+2006-12-24 15:15  martinl
+
+	* general/g.region/cmd/printwindow.c: cosmetics
+
+2006-12-24 10:49  martinl
+
+	* general/g.region/cmd/local_proto.h, general/g.region/cmd/main.c,
+	  general/g.region/cmd/printwindow.c: * allow combination of
+	  several print flags
+	  * the flag '-g' can be used in combination with all print flags
+
+2006-12-24 09:27  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/max_distance.c, vector/v.edit/select.c: added
+	  distance option
+
+2006-12-23 20:13  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c, vector/v.edit/select.c: Code
+	  restructuralisation
+
+2006-12-23 20:11  jachym
+
+	* vector/v.edit/move.c: Bugfix int moved added
+
+2006-12-23 20:07  jachym
+
+	* vector/v.edit/move.c: Functions for feature selection moved to
+	  select.c
+
+2006-12-23 20:00  jachym
+
+	* vector/v.edit/del.c: Functions for feature selection moved to
+	  select.c
+
+2006-12-23 19:51  jachym
+
+	* vector/v.edit/merge.c: New functions for tool=merge -- merge two
+	  lines together
+
+2006-12-23 19:48  jachym
+
+	* vector/v.edit/select.c: Functions for selecting features and new
+	  tool=select moved to separate file.
+
+2006-12-23 15:39  jachym
+
+	* vector/v.edit/main.c: Replased Vect_open_update function for
+	  tool=select
+
+2006-12-23 14:40  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c: added tool 'select' -- select line ID by
+	  cats/coords/bbox
+
+2006-12-23 06:36  brad
+
+	* lib/gis/ascii_chk.c, lib/gis/asprintf.c, lib/gis/auto_mask.c: -
+	  Documentation updates
+
+2006-12-23 06:12  brad
+
+	* lib/gis/area_poly2.c: - Documentation update
+
+2006-12-23 06:09  brad
+
+	* lib/gis/area.c, lib/gis/area_ellipse.c, lib/gis/area_poly1.c,
+	  lib/gis/area_sphere.c, lib/gis/geodist.c, lib/gis/pi.h,
+	  lib/gis/rhumbline.c: - Changed PI,PI/2,PI/4 to M_PI,M_PI_2,M_PI_4
+	  as defined in gis.h
+	  - Documentation updates
+
+2006-12-22 21:43  jachym
+
+	* vector/v.edit/args.c: help updates
+
+2006-12-22 21:28  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/global.h: 'at option removed
+
+2006-12-22 21:27  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/del.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c: merge supported
+
+2006-12-22 11:32  brad
+
+	* lib/gis/alloc_cell.c, lib/gis/area.c: - Documentation update
+
+2006-12-21 15:16  markus
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po: merged in new messages
+
+2006-12-21 14:46  markus
+
+	* raster/r.proj.seg/main.c, raster/r.proj/main.c: don't apply
+	  gettext to empty strings
+
+2006-12-21 14:41  markus
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po: cleaned duplicated messages with
+	  msguniq
+
+2006-12-21 14:27  markus
+
+	* lib/g3d/g3dlib.dox, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster3d/base/r3.info.main.c,
+	  raster3d/base/r3.mask.main.c, raster3d/base/r3.null.main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.mkdspf/description.html,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/description.html,
+	  raster3d/r3.out.vtk/errorHandling.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.showdspf/description.html,
+	  raster3d/r3.showdspf/main_ogl.c, raster3d/r3.to.rast/main.c,
+	  vector/v.to.rast3/main.c, vector/v.vol.rst/description.html,
+	  vector/v.vol.rst/user1.c, visualization/nviz/scripts/nviz,
+	  visualization/nviz/src/nviz_init.c: unified the variety of names
+	  to '3d raster map'
+
+2006-12-21 14:05  markus
+
+	* raster3d/r3.in.v5d/description.html,
+	  raster3d/r3.out.v5d/description.html: removed replicated
+	  parms/flags
+
+2006-12-21 08:13  markus
+
+	* lib/init/epsg_option.tcl.in: fixed PROJSHARE expansion (which is
+	  done by configure)
+
+2006-12-20 22:57  markus
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: fixed
+	  duplicated message
+
+2006-12-20 21:24  martinl
+
+	* lib/gis/datumtransform.table: Single item for Slovakia in
+	  hermannskogel menu, thanks to Jaro Hofierka and Dr. Klobusiak
+	  from the national Geodetic and Cartographic Institute Bratislava
+
+2006-12-20 19:14  glynn
+
+	* lib/gis/sample.c, raster/r.proj.seg/bilinear.c,
+	  raster/r.proj.seg/cubic.c, raster/r.resamp.interp/main.c: Use
+	  G_interp_* functions
+
+2006-12-20 19:11  glynn
+
+	* raster/r.proj/cubic.c: Fix cubic interpolation equation
+
+2006-12-20 19:10  glynn
+
+	* include/gisdefs.h, lib/gis/interp.c: Add G_interp_* interpolation
+	  functions
+
+2006-12-20 19:08  glynn
+
+	* lib/Makefile: Install include/Make/*.make
+
+2006-12-20 19:07  glynn
+
+	* general/g.setproj/proj-parms.table: Add entry for GEOS
+
+2006-12-20 18:50  michael
+
+	* gui/tcltk/gis.m/gis.m: Starting the GIS Manager on a Mac without
+	  using &, starts it modally.
+	  I've changed the startup script so that it start on a Mac like
+	  it starts on any other platform. Otherwise, the GRASS command
+	  line
+	  terminal is locked until you exit the GIS Manager and re-enter it
+	  manually.
+
+2006-12-20 17:47  michael
+
+	* lib/init/epsg_option.tcl.in: Complete revamp of code. Removed
+	  redundant (and potentially
+	  problematic) widget for changing GISDBASE (must change in single
+	  place from main window). EPSG code file is now searchable.
+	  Search engine automatically grabs code and puts it in code entry
+	  widget. After defining new location, you no longer need to
+	  restart
+	  GRASS; location listbox refreshes. Wrapped in code from
+	  make_location_epsg.sh bash script (will deprecate after testing).
+	  This makes new temporary location to satify g.proj. Plan to
+	  remove
+	  part of this code after updates to g.proj so that this is no
+	  longer
+	  required. Should be all Windows compatible now.
+
+2006-12-20 17:40  michael
+
+	* lib/init/gis_set.tcl: Made all listbox entries sorted
+	  alphanumerically. Some cosmetic
+	  improvements to buttons, etc. New function to refresh location
+	  list so that you don't have to restart grass after creating
+	  location
+	  from EPSG code.
+
+2006-12-20 17:35  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/gmtree.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/labels.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/vector.tcl: Allows the graphic icon/button for
+	  each map layer to select its
+	  options panel (previously, only clicking the text worked).
+
+2006-12-20 15:55  glynn
+
+	* raster/r.proj.seg/Makefile: Change location of LFS test
+
+2006-12-20 15:16  paul
+
+	* general/g.parser/main.c: Don't assume "sh" is in the path on
+	  Windows
+
+2006-12-20 14:00  hamish
+
+	* raster/r.profile/description.html: zombie brain
+
+2006-12-20 13:56  hamish
+
+	* raster/r.profile/description.html: make example simpler
+
+2006-12-20 13:38  hamish
+
+	* raster/r.profile/description.html, raster/r.profile/main.c:
+	  reenable input from stdin, fix output= prompt, add example to
+	  help page.
+
+2006-12-20 09:42  brad
+
+	* lib/gis/alloc.c: - Documentation update
+	  - Localized text
+
+2006-12-20 09:41  brad
+
+	* lib/gis/adj_cellhd.c, lib/gis/gisinit.c: - Documentation update
+
+2006-12-20 09:18  brad
+
+	* rpm/fedora/grass_FC6.spec: - Added spec file for Fedora Core 6
+
+2006-12-20 00:38  hamish
+
+	* display/d.title/main.c: Simple mode doesn't have to be trivialy
+	  simple, but there is probably
+	  rooms for something simpler than the default. Hopefully someone
+	  can extend simple mode slightly.
+
+2006-12-19 22:52  paul
+
+	* lib/init/init.bat: Restore PATH correctly on exit
+
+2006-12-19 22:51  paul
+
+	* gui/tcltk/gis.m/runandoutput.tcl: Run interactive terminal
+	  commands correctly on Windows
+
+2006-12-19 22:30  brad
+
+	* lib/gis/gisinit.c: - Documentation update
+	  - Updated usage of G_fatal_error ()
+	  - Removed unused variable 'msg'
+
+2006-12-19 21:14  maciej
+
+	* raster/r.proj/description.html: few wordings changed, fixed some
+	  typos and whitespaces
+
+2006-12-19 17:49  paul
+
+	* general/g.dirseps/main.c, general/g.proj/main.c: Use
+	  G_no_gisinit() for modules that don't (always) require a valid
+	  location and mapset to exist
+
+2006-12-19 13:24  glynn
+
+	* raster/r.proj.seg/main.c, raster/r.proj.seg/r.proj.h,
+	  raster/r.proj.seg/readcell.c: Add memory= option
+	  Don't use a temporary file if the cache is large enough to hold
+	  the entire source map
+
+2006-12-19 09:28  martinl
+
+	* lib/gis/datumtransform.table: bug #5396 fixed -> common datum for
+	  CZ and SK
+
+2006-12-19 06:55  hamish
+
+	* display/d.title/local_proto.h, display/d.title/main.c,
+	  display/d.title/normal.c, display/d.title/options.h: simple flag,
+	  i18n, cleanup
+
+2006-12-19 05:22  hamish
+
+	* raster/r.proj/description.html: "vector map" back to "vector
+	  file" for this one
+
+2006-12-18 21:50  glynn
+
+	* general/g.setproj/proj-parms.table: Add entry for "sterea"
+
+2006-12-18 21:33  markus
+
+	* raster/r.li/r.li.setup/r.li.setup.procedures.tcl,
+	  raster/r.li/r.li.setup/r.li.windows.tcl: exec rm -f -> file
+	  delete (for portability)
+
+2006-12-18 21:29  markus
+
+	* general/g.setproj/README: updated from Glynn's message
+
+2006-12-18 19:37  markus
+
+	* gui/tcltk/gis.m/maptool.tcl: exec rm -> file delete
+
+2006-12-18 18:58  michael
+
+	* gui/tcltk/gis.m/mapprint.tcl: Switched to a Windows-compatible
+	  syntax for running ghostscript for
+	  ps printing.
+
+2006-12-18 18:57  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Switched to pure TclTk syntax for
+	  clean up of temporary files
+	  for windows compatibility (file delete instead of rm).
+
+2006-12-18 18:31  glynn
+
+	* general/g.setproj/proj-parms.table, general/g.setproj/proj.c: Add
+	  long projection name to proj-parms.table
+
+2006-12-18 18:12  glynn
+
+	* general/g.setproj/proj.c: Fix typo in name of proj-units.table
+	  file
+
+2006-12-18 15:39  jachym
+
+	* vector/v.edit/global.h, vector/v.edit/main.c: Line split
+	  implemented
+
+2006-12-18 15:23  jachym
+
+	* vector/v.edit/args.c, vector/v.edit/global.h,
+	  vector/v.edit/main.c: Remove and add vertex implemented
+
+2006-12-18 14:41  markus
+
+	* swig/python/python_grass6.i: Alessandro Frigeri: use cpointer.i
+
+2006-12-18 11:24  markus
+
+	* include/gis.h: added G_OPT_I_GROUP
+
+2006-12-18 08:10  brad
+
+	* lib/gis/view.c: - Documentation update
+	  - Updated usage of G_fatal_error ()
+
+2006-12-18 08:09  brad
+
+	* lib/gis/align_window.c, lib/gis/commas.c, lib/gis/copy.c,
+	  lib/gis/date.c, lib/gis/debug.c, lib/gis/dig_title.c,
+	  lib/gis/distance.c, lib/gis/done_msg.c, lib/gis/maskfd.c,
+	  lib/gis/myname.c, lib/gis/parser.c, lib/gis/percent.c,
+	  lib/gis/remove.c, lib/gis/rename.c, lib/gis/short_way.c,
+	  lib/gis/snprintf.c, lib/gis/squeeze.c, lib/gis/store.c,
+	  lib/gis/system.c, lib/gis/tempfile.c, lib/gis/token.c,
+	  lib/gis/trim_dec.c, lib/gis/unix_socks.c, lib/gis/user_config.c,
+	  lib/gis/verbose.c, lib/gis/version.c, lib/gis/whoami.c,
+	  lib/gis/wind_2_box.c, lib/gis/wind_format.c,
+	  lib/gis/wind_limits.c, lib/gis/wind_overlap.c,
+	  lib/gis/wind_scan.c, lib/gis/window_map.c, lib/gis/wr_cellhd.c,
+	  lib/gis/writ_zeros.c, lib/gis/yes.c, lib/gis/zero.c,
+	  lib/gis/zero_cell.c, lib/gis/zone.c: - Block of Docs - libgis
+	  documentation update
+
+2006-12-18 00:58  glynn
+
+	* raster/r.proj.seg/readcell.c: Update "refs" array
+
+2006-12-18 00:32  glynn
+
+	* raster/Makefile: Add r.proj.seg
+
+2006-12-18 00:32  glynn
+
+	* raster/r.proj.seg, raster/r.proj.seg/Makefile,
+	  raster/r.proj.seg/bilinear.c, raster/r.proj.seg/bordwalk.c,
+	  raster/r.proj.seg/cubic.c, raster/r.proj.seg/description.html,
+	  raster/r.proj.seg/main.c, raster/r.proj.seg/nearest.c,
+	  raster/r.proj.seg/r.proj.h, raster/r.proj.seg/readcell.c:
+	  r.proj.seg: modified version of r.proj which uses a tile cache
+	  instead
+	  of loading the entire map into memory.
+
+2006-12-18 00:30  glynn
+
+	* raster/r.proj/bilinear.c: Fix interpolation expression
+	  (row/column were swapped)
+
+2006-12-18 00:29  glynn
+
+	* include/gprojects.h: Protect against multiple inclusion
+
+2006-12-18 00:28  glynn
+
+	* Makefile: Remove grassXX.bat in cleandistdirs target
+
+2006-12-17 20:34  maciej
+
+	* vector/v.buffer/description.html: fix #5387, minor cleanup
+
+2006-12-17 17:16  markus
+
+	* lib/db/dbmi_client/start.c: Radim Blazek: patch for
+	  https://svn.qgis.org/trac/ticket/448; if QGIS is compiled without
+	  stdin/stdout and then run from batch, cmd.exe or MSYS shell it
+	  will open command window for a while always when a new GRASS
+	  database driver is started. Fixed.
+
+2006-12-17 07:37  paul
+
+	* general/g.proj/main.c: Re-organise so we only read the current
+	  region and projection if necessary.
+
+2006-12-15 23:52  michael
+
+	* visualization/nviz/scripts/panel_arrow.tcl: Added initial code to
+	  control arrow font size and type.
+
+2006-12-15 20:04  jachym
+
+	* vector/v.edit/add.c, vector/v.edit/args.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/move.c: Tool 'vertex' implemented
+
+2006-12-15 16:37  jachym
+
+	* vector/v.edit/a2b.c, vector/v.edit/args.c, vector/v.edit/del.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c,
+	  vector/v.edit/move.c: Reorganisation of v.edit
+	  * New options added
+	  * Others removed
+	  * action -> tool
+	  * Deleting features using cat, coords or bbox possible
+	  * Adding features in GRASS Ascii format
+	  * Moving features using cat,coords or bbox possible
+
+2006-12-15 10:25  brad
+
+	* lib/gis/color_get.c, lib/gis/endian.c, lib/gis/is.c,
+	  lib/gis/legal_name.c, lib/gis/locale.c, lib/gis/spawn.c,
+	  lib/gis/unctrl.c: - Updated documentation - removed extended
+	  license in favor of terseness
+
+2006-12-15 10:10  markus
+
+	* display/d.his/main.c, display/d.paint.labels/main.c,
+	  display/d.profile/What.c, display/d.rast.arrow/arrow.c,
+	  display/d.rast.edit/edit.c, display/d.rast.edit/main.c,
+	  display/d.rast.edit/mk_new_layer.c, display/d.rast/display.c,
+	  display/d.rgb/main.c, display/d.what.rast/what.c,
+	  doc/raster/r.example/main.c, imagery/i.class/analyze_sig.c,
+	  imagery/i.class/ask_files.c, imagery/i.class/band_files.c,
+	  imagery/i.class/readbands.c, imagery/i.ortho.photo/libes/init.c,
+	  imagery/i.ortho.photo/photo.2image/cell.c,
+	  imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.2image/group.c,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2target/cell.c,
+	  imagery/i.ortho.photo/photo.2target/description.html,
+	  imagery/i.ortho.photo/photo.2target/group.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.2target/target.c,
+	  imagery/i.ortho.photo/photo.elev/main.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files.c,
+	  imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/i.ortho.photo/photo.rectify/main.c,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c,
+	  imagery/i.points/cell.c, imagery/i.points/group.c,
+	  imagery/i.rectify/description.html, imagery/i.rectify/rectify.c,
+	  imagery/i.vpoints/cell.c, imagery/i.vpoints/group.c,
+	  include/gis.h, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, ps/ps.map/outl_io.c,
+	  ps/ps.map/ps_outline.c, ps/ps.map/r_cell.c, ps/ps.map/r_group.c,
+	  ps/ps.map/r_rgb.c, raster/r.buffer/write_map.c,
+	  raster/r.cats/cats.c, raster/r.cross/cross.c,
+	  raster/r.le/r.le.setup/polytocell/bmf.b,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.mfilter/main.c, raster/r.mfilter/perform.c,
+	  raster/r.neighbors/ncb.h, raster/r.out.gdal/main.c,
+	  raster/r.out.png/r.out.png.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.patch/nfiles.h,
+	  raster/r.random.cells/flag.h, raster/r.random/README,
+	  raster/r.stats/cell_stats.c, raster/r.stats/main.c,
+	  raster/r.stats/raw_stats.c, raster/r.support/modhead/modhead.c,
+	  raster/r.surf.contour/cseg.h, raster/r.surf.contour/flag.h,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.gauss/source.txt,
+	  raster/r.surf.idw2/read_cell.c, raster/r.surf.random/SOURCE.TXT,
+	  raster/r.surf.random/randsurf.c, raster/r.terraflow/grass2str.h,
+	  raster/r.terraflow/main.cc, raster/r.thin/thin_lines.c,
+	  raster/r.water.outlet/flag.h, raster/r.watershed/ram/flag.h,
+	  raster/r.watershed/seg/cseg.h,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/hydro.c,
+	  vector/v.drape/main.c, vector/v.extrude/main.c,
+	  vector/v.surf.rst/main.c, vector/v.vol.rst/main.c: cell file ->
+	  raster map
+
+2006-12-15 09:51  markus
+
+	* lib/gis/gisrasterlib.dox: cell file -> raster map
+
+2006-12-15 09:39  markus
+
+	* raster3d/r3.mkdspf/r3_find.c, raster3d/r3.showdspf/r3_find.c:
+	  3dcell file -> 3D raster map
+
+2006-12-15 09:24  brad
+
+	* raster/r.to.vect/areas.c, raster/r.to.vect/areas_io.c,
+	  raster/r.to.vect/global.h, raster/r.to.vect/lines.c,
+	  raster/r.to.vect/lines_io.c: - Changed text "cell file" ->
+	  "raster map"
+
+2006-12-15 09:19  brad
+
+	* raster/r.thin/io.c, raster/r.thin/local_proto.h,
+	  raster/r.thin/thin_lines.c: - Changed text "cell file" -> "raster
+	  map"
+	  - Updated G_fatal_error () usage
+	  - Localized text
+	  - Removed unused function print_bins()
+
+2006-12-15 09:05  brad
+
+	* raster/r.reclass/reclass.c: - Changed text "cell file" -> "raster
+	  map"
+	  - Updated usage of G_fatal_error()
+
+2006-12-15 08:53  brad
+
+	* raster/r.bitpattern/main.c, raster/r.circle/dist.c,
+	  raster/r.surf.idw/main.c: - Changed text "cell file" -> "raster
+	  map"
+
+2006-12-15 08:48  brad
+
+	* raster/r.what/main.c: - Changed text "cell file" -> "raster map"
+	  - Removed call to G_asprintf() -- not needed
+
+2006-12-15 08:44  brad
+
+	* raster/r.neighbors/main.c: - Changed text "cell file" -> "raster
+	  map"
+	  - Uses EXIT_FAILURE|EXIT_SUCCESS
+
+2006-12-15 08:39  markus
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: dig file ->
+	  vector map
+
+2006-12-15 08:39  brad
+
+	* raster/r.resamp.rst/main.c, raster/r.sun/main.c: - Changed text
+	  "cell file" -> "raster map"
+
+2006-12-15 08:36  markus
+
+	* vector/v.proj/main.c: dig file -> vector map ; G_fatal_error()
+
+2006-12-15 08:34  brad
+
+	* raster/r.surf.area/main.c: - Changed text "cell file" -> "raster
+	  map"
+	  - Uses EXIT_FAILURE
+
+2006-12-15 08:30  brad
+
+	* raster/r.his/main.c: - Changed text "cell file" "cellfile" ->
+	  "raster map"
+
+2006-12-15 08:26  brad
+
+	* raster/r.out.bin/main.c: - Changed text "cell file" -> "raster
+	  map"
+	  - Uses EXIT_SUCCES|EXIT_FAILURE
+
+2006-12-15 08:24  brad
+
+	* raster/r.texture/main.c: - Changed text "cell file" -> "raster
+	  map"
+
+2006-12-15 08:23  brad
+
+	* raster/r.surf.contour/main.c: - Changed text "cell file" ->
+	  "raster map"
+	  - Used EXIT_FAILURE|EXIT_SUCCESS
+
+2006-12-15 08:20  brad
+
+	* vector/v.sample/main.c: - Changed text "cell file" to "raster
+	  map"
+
+2006-12-15 00:24  hamish
+
+	* raster/r.colors/rules.c: trim trailing zeros
+
+2006-12-14 18:33  markus
+
+	* display/drivers/XDRIVER/Serve_Xevent.c,
+	  imagery/i.ortho.photo/photo.2image/call.c,
+	  imagery/i.ortho.photo/photo.2image/find.c,
+	  imagery/i.ortho.photo/photo.2target/call.c,
+	  imagery/i.ortho.photo/photo.2target/find.c,
+	  imagery/i.points/call.c, imagery/i.vpoints/call.c,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/worker.c, raster/r.to.vect/lines_io.c,
+	  raster/r.to.vect/util.c, raster3d/r3.showdspf/main_ogl.c:
+	  conditionalized sys/wait.h for __MINGW32__
+
+2006-12-14 17:46  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_lv.po: fixed duplicated messages
+
+2006-12-14 17:30  markus
+
+	* general/manage/lib/do_copy.c, lib/db/dbmi_driver/d_mkdir.c,
+	  lib/gis/remove.c, lib/gis/unix_socks.c, lib/gis/user_config.c,
+	  lib/gis/win32_pipes.c, lib/init/mke_mapset.c,
+	  raster/r.le/r.le.patch/main.c, raster/r.le/r.le.pixel/main.c,
+	  raster/r.le/r.le.setup/main.c, raster/r.li/r.li.daemon/daemon.c:
+	  mkdir() -> G_mkdir(); lstat() -> G_lstat()
+
+2006-12-14 14:41  paul
+
+	* general/Makefile: Compile g.dirseps by default
+
+2006-12-14 03:15  hamish
+
+	* display/d.frame/select.c: update mouse button instructions
+
+2006-12-13 23:14  glynn
+
+	* include/gis.h, include/gisdefs.h, lib/gis/mapset_msc.c: Use
+	  G_mkdir, G_lstat
+
+2006-12-13 16:48  markus
+
+	* include/gisdefs.h, lib/gis/paths.c: G_lstat() added for winzoz
+
+2006-12-13 16:35  markus
+
+	* raster/r.out.gdal/description.html,
+	  scripts/r.out.gdal/description.html: terminology
+
+2006-12-13 16:10  markus
+
+	* display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/plot1.c,
+	  display/d.vect/topo.c, display/d.what.vect/main.c,
+	  display/d.what.vect/openvect.c,
+	  display/drivers/HTMLMAP/description.html,
+	  general/g.mapsets/description.html, general/g.region/cmd/main.c,
+	  general/manage/cmd/g.copy.html, general/manage/cmd/g.remove.html,
+	  imagery/i.vpoints/description.html, imagery/i.vpoints/drawvect.c,
+	  imagery/i.vpoints/open.c, lib/gis/ask_vctrs.c, lib/gis/cats.c,
+	  lib/gis/find_vect.c, lib/gis/wind_overlap.c, lib/ogsf/gv_quick.c,
+	  lib/rst/interp_float/output2d.c, lib/rst/interp_float/vinput2d.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/map.c,
+	  locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_es.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_hi.po, locale/po/grasstcl_it.po,
+	  locale/po/grasstcl_ja.po, locale/po/grasstcl_lv.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po, ps/ps.map/do_vectors.c,
+	  ps/ps.map/ps_outline.c, ps/ps.map/ps_vareas.c,
+	  ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_vareas.c, ps/ps.map/r_vlines.c,
+	  ps/ps.map/r_vpoints.c, raster/r.carve/vect.c,
+	  raster/r.contour/description.html,
+	  raster/r.flow/description.html, raster/r.flow/io.c,
+	  raster/r.li/r.li.setup/description.html,
+	  raster/r.out.vrml/description.html,
+	  raster/r.proj/description.html, raster/r.random/random.c,
+	  raster/r.region/main.c, raster/r.support/modcats/modcats.c,
+	  raster/r.to.vect/description.html,
+	  scripts/d.vect.thematic/description.html,
+	  scripts/v.in.e00/description.html,
+	  scripts/v.in.gpsbabel/description.html,
+	  sites/s.in.ascii/description.html, sites/s.in.ascii/main.c,
+	  sites/s.out.ascii/main.c, vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.surf.bspline/description.html,
+	  vector/v.build.polylines/description.html,
+	  vector/v.build.polylines/main.c, vector/v.build/description.html,
+	  vector/v.clean/description.html, vector/v.convert/main.c,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  vector/v.distance/main.c, vector/v.drape/main.c,
+	  vector/v.edit/main.c, vector/v.extract/main.c,
+	  vector/v.extrude/main.c, vector/v.hull/main.c,
+	  vector/v.in.ascii/description.html, vector/v.in.ascii/in.c,
+	  vector/v.in.dxf/main.c, vector/v.in.sites/main.c,
+	  vector/v.kernel/main.c, vector/v.label/description.html,
+	  vector/v.label/main.c, vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.neighbors/main.c, vector/v.net.path/description.html,
+	  vector/v.net.path/main.c, vector/v.net/nodes.c,
+	  vector/v.out.ascii/description.html, vector/v.out.dxf/main.c,
+	  vector/v.patch/main.c, vector/v.proj/main.c,
+	  vector/v.random/main.c, vector/v.surf.rst/description.html,
+	  vector/v.surf.rst/main.c, vector/v.vol.rst/main.c,
+	  vector/v.what/main.c, vector/vectorintro.html,
+	  visualization/nviz/html/index.html,
+	  visualization/nviz/html/nviz_panel_anim.html,
+	  visualization/nviz/html/nviz_panel_kanim.html,
+	  visualization/nviz/html/nviz_panel_vect.html,
+	  visualization/nviz/html/nviz_panel_what.html,
+	  visualization/nviz/html/nviz_startup.html,
+	  visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/openvect.c,
+	  visualization/nviz/src/query_postgr.c: vector file -> vector map
+	  (for terminology consistency)
+
+2006-12-13 14:21  markus
+
+	* REQUIREMENTS.html, display/d.colortable/main.c,
+	  display/d.histogram/description.html, display/d.histogram/main.c,
+	  display/d.nviz/description.html,
+	  display/d.rast.edit/description.html,
+	  display/d.what.rast/opencell.c, doc/raster/r.example/main.c,
+	  general/g.mapsets/description.html,
+	  general/manage/cmd/g.copy.html, general/manage/cmd/g.remove.html,
+	  general/manage/cmd/g.rename.html,
+	  gui/tcltk/gis.m/description.html, imagery/i.cca/description.html,
+	  imagery/i.cca/main.c, imagery/i.cluster/open_files.c,
+	  imagery/i.fft/fftmain.c, imagery/i.ifft/ifftmain.c,
+	  imagery/i.ortho.photo/libes/ls_elev.c,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/photo.elev/ask_elev.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files.c,
+	  imagery/i.ortho.photo/photo.rectify/write.c,
+	  imagery/i.rectify/write.c, lib/g3d/g3dclose.c, lib/gis/alloc.c,
+	  lib/gis/ask_cell.c, lib/gis/cats.c, lib/gis/cell_title.c,
+	  lib/gis/closecell.c, lib/gis/color_look.c, lib/gis/color_read.c,
+	  lib/gis/color_write.c, lib/gis/find_cell.c, lib/gis/get_cellhd.c,
+	  lib/gis/get_row.c, lib/gis/get_window.c, lib/gis/history.c,
+	  lib/gis/opencell.c, lib/gis/range.c, lib/gis/reclass.c,
+	  lib/gis/set_window.c, lib/gis/window_map.c, lib/imagery/group.c,
+	  lib/rst/interp_float/input2d.c, lib/rst/interp_float/resout2d.c,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_ar.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_lv.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_tr.po, locale/po/grassmods_vi.po,
+	  locale/po/grassmods_zh.po, locale/po/grasstcl_cs.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_es.po,
+	  locale/po/grasstcl_fr.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_lv.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasstcl_pt_br.po, locale/po/grasstcl_ru.po,
+	  locale/po/grasstcl_tr.po, locale/po/grasstcl_vi.po,
+	  ps/ps.map/description.html, ps/ps.map/main.c,
+	  ps/ps.map/ps_outline.c, ps/ps.map/ps_raster.c,
+	  ps/ps.map/r_cell.c, ps/ps.map/r_group.c, ps/ps.map/r_rgb.c,
+	  raster/r.basins.fill/main.c, raster/r.bilinear/description.html,
+	  raster/r.bilinear/main.c, raster/r.carve/enforce_ds.c,
+	  raster/r.carve/main.c, raster/r.carve/raster.c,
+	  raster/r.cats/main.c, raster/r.clump/clump.c,
+	  raster/r.compress/description.html, raster/r.compress/main.c,
+	  raster/r.contour/description.html, raster/r.contour/main.c,
+	  raster/r.cost/main.c, raster/r.describe/description.html,
+	  raster/r.distance/distance.c, raster/r.drain/tinf.c,
+	  raster/r.fill.dir/dopolys.c, raster/r.fill.dir/tinf.c,
+	  raster/r.flow/description.html, raster/r.flow/io.c,
+	  raster/r.in.gdal/description.html,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.setup/setup.c, raster/r.li/description.html,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/contrastWeightedEdgeDensity.c,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/description.html,
+	  raster/r.li/r.li.daemon/main.c, raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.meanPatchSize/meanPatchSize.c,
+	  raster/r.li/r.li.meanPixelAttribute/meanPixelAttribute.c,
+	  raster/r.li/r.li.patchAreaDistributionCV/patchAreaDistributionCV.c,
+	  raster/r.li/r.li.patchAreaDistributionRANGE/patchAreaDistributionRANGE.c,
+	  raster/r.li/r.li.patchAreaDistributionSD/patchAreaDistributionSD.c,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnumber/main.c,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/simpson.c,
+	  raster/r.mapcalc/r.mapcalc.html, raster/r.mfilter/main.c,
+	  raster/r.mfilter/perform.c, raster/r.neighbors/main.c,
+	  raster/r.out.arc/description.html,
+	  raster/r.out.ascii/description.html, raster/r.out.ascii/main.c,
+	  raster/r.out.gdal/description.html, raster/r.out.gdal/main.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/description.html,
+	  raster/r.out.png/r.out.png.c, raster/r.out.ppm/description.html,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/description.html,
+	  raster/r.out.ppm3/main.c, raster/r.out.tiff/description.html,
+	  raster/r.out.tiff/r.out.tiff.c, raster/r.out.vrml/main.c,
+	  raster/r.out.vtk/main.c, raster/r.param.scale/close_down.c,
+	  raster/r.param.scale/open_files.c,
+	  raster/r.param.scale/process.c, raster/r.proj/main.c,
+	  raster/r.random/count.c, raster/r.random/main.c,
+	  raster/r.random/random.c, raster/r.reclass/description.html,
+	  raster/r.recode/recode.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.rst/description.html, raster/r.resamp.rst/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.resample/description.html,
+	  raster/r.series/main.c, raster/r.sum/main.c,
+	  raster/r.sun/description.html, raster/r.sun/main.c,
+	  raster/r.support/modcats/modcats.c,
+	  raster/r.support/modcolr/modcolr.c,
+	  raster/r.support/modhead/modhead.c,
+	  raster/r.support/modhist/modhist.c, raster/r.surf.area/main.c,
+	  raster/r.surf.fractal/close_down.c,
+	  raster/r.surf.fractal/open_files.c,
+	  raster/r.surf.fractal/process.c,
+	  raster/r.surf.idw/description.html, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.texture/description.html,
+	  raster/r.thin/description.html, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3elev/main.c, raster/r.to.vect/description.html,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/lines_io.c,
+	  raster/r.walk/main.c, raster/rasterintro.html,
+	  raster/simwe/r.sim.sediment/description.html,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/description.html,
+	  raster/simwe/r.sim.water/main.c, raster/wildfire/r.ros/main.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/main.c, scripts/r.in.aster/description.html,
+	  scripts/r.mask/description.html, vector/v.drape/main.c,
+	  vector/v.kernel/main.c, vector/v.neighbors/main.c,
+	  vector/v.qcount/main.c, vector/v.sample/main.c,
+	  vector/v.surf.rst/description.html, vector/v.surf.rst/main.c,
+	  vector/v.vol.rst/description.html, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/user1.c,
+	  visualization/nviz/html/nviz_startup.html,
+	  visualization/xganim/description.html: raster file -> raster map
+	  (for terminology consistency)
+
+2006-12-13 14:13  markus
+
+	* raster/r.kappa/main.c: simplify error msg
+
+2006-12-13 14:12  markus
+
+	* gui/tcltk/Makefile: removed unexisting 'menus'
+
+2006-12-13 13:46  markus
+
+	* raster/r.li/r.li.daemon/daemon.c: C++ style comments are evil for
+	  portability
+
+2006-12-13 10:44  brad
+
+	* rfc/RFC1_PSC.dox: - Added new user CVS write access to required
+	  voting section.
+
+2006-12-13 05:00  hamish
+
+	* display/d.frame/d.frame.html, display/d.frame/frame.c: man page;
+	  reorder select flag
+
+2006-12-12 22:17  michael
+
+	* lib/init/epsg_option.tcl.in, lib/init/file_option.tcl,
+	  lib/init/gis_set.tcl: Patches from Maris Nartiss to improve
+	  robusticity of GRASS startup,
+	  for creating new locations from EPSG code and georeferenced file.
+
+2006-12-12 19:19  michael
+
+	* visualization/nviz/scripts/panel_main.tcl: Fixing bug caused by
+	  get default cursor statement
+
+2006-12-12 17:47  bob
+
+	* visualization/nviz/scripts/panel_arrow.tcl: Added arrow size
+	  calculation
+
+2006-12-12 16:42  paul
+
+	* lib/init/init.bat: Use the default Msys path for the default path
+	  to GRASS_SH and
+	  handle GRASS_WISH properly
+
+2006-12-12 16:23  michael
+
+	* visualization/nviz/scripts/tclIndex: Referencing cursor setting
+	  procedures.
+
+2006-12-12 16:22  michael
+
+	* gui/tcltk/menus: Removing joint dm/gism menu. No longer used. It
+	  is getting
+	  increasingly difficult to maintain joint menus, since dm and gism
+	  have
+	  incompatible entries (x11 items in dm that don't work in gism
+	  and tcltk items in gism that won't work in dm). dm is maintained
+	  for archive purposes but further development likely minimal or
+	  nil.
+
+2006-12-12 16:14  michael
+
+	* visualization/nviz/scripts/panel_animation.tcl: Bug fix and code
+	  reformatting.
+
+2006-12-12 16:12  michael
+
+	* visualization/nviz/bitmaps/trash.gif: New trashcan icon for
+	  simple animation panel
+
+2006-12-12 14:06  markus
+
+	* doc/howto_release.txt: more paranoia fixes
+
+2006-12-12 09:10  paul
+
+	* lib/gis/make_loc.c: Check for equivalent false easting and
+	  northing, correct use of
+	  abs() --> fabs() for double values.
+
+2006-12-12 06:17  markus
+
+	* lib/gis/parser.c: fixed orphan ' character
+
+2006-12-12 05:35  hamish
+
+	* raster/r.thin/main.c: set map title and save command line history
+
+2006-12-12 04:41  hamish
+
+	* display/d.frame/frame.c, display/d.frame/list.c,
+	  display/d.frame/select.c: * add list all frame names -a flag.
+	  * i18n
+	  * no flags defaults to select new frame
+	  * EXIT_SUCCESS
+	  * BUGFIX: make -l list map names flag work
+	  * remove sites code
+
+2006-12-12 00:11  michael
+
+	* visualization/nviz/scripts/panel_main.tcl: Added procedures for
+	  setting and resetting cursor. But these
+	  can't yet be called by other scripts.
+
+2006-12-12 00:09  michael
+
+	* visualization/nviz/scripts/panel_scale.tcl: Button changes to
+	  plus when placing scale. Added widgets for
+	  text size and color control.
+
+2006-12-12 00:08  michael
+
+	* visualization/nviz/scripts/panel_legend.tcl: Cursor changes to
+	  plus when placing label. Default text color
+	  set to black.
+
+2006-12-12 00:07  michael
+
+	* visualization/nviz/scripts/panel_label.tcl: Cursor changes to
+	  plus when placing labels.
+
+2006-12-12 00:06  michael
+
+	* visualization/nviz/scripts/panel_arrow.tcl: Cursor switches to
+	  plus for placing arrow
+
+2006-12-12 00:06  michael
+
+	* visualization/nviz/scripts/panel_animation.tcl: Added copyright
+	  header and removed debugging code.
+
+2006-12-11 22:18  michael
+
+	* visualization/nviz/scripts/panel_arrow.tcl: Added widgets for
+	  setting north arrow text color and size.
+
+2006-12-11 21:39  michael
+
+	* visualization/nviz/scripts/panel_animation.tcl: Update of simple
+	  animation panel (renamed from "animation" to
+	  "simple animation"). Mostly cosmetic, but some functionality
+	  improvements too - setting and moving keyframes, keyframe
+	  information display.
+
+2006-12-11 17:47  jachym
+
+	* vector/v.to.db/global.h, vector/v.to.db/lines.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/report.c,
+	  vector/v.to.db/update.c: added 'slope' option for vector lines
+
+2006-12-11 14:46  markus
+
+	* raster/r.li/TODO, raster/r.li/description.html: logo fix
+
+2006-12-11 13:56  bob
+
+	* visualization/nviz/src/Makefile,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c: modifications to handle
+	  script startup
+
+2006-12-11 13:55  bob
+
+	* visualization/nviz/scripts/nviz2.2: removed old startup script
+
+2006-12-11 13:53  bob
+
+	* visualization/nviz/scripts/nviz: nviz startup script
+
+2006-12-11 13:52  bob
+
+	* visualization/nviz/Makefile: Added script startup
+
+2006-12-11 13:25  markus
+
+	* raster/r.li/r.li.richness/richness.c: removed spurious '\r's
+
+2006-12-11 10:23  hamish
+
+	* gui/tcltk/d.m/menu.tcl, gui/tcltk/gis.m/gmmenu.tcl,
+	  gui/tcltk/menus/menu.tcl: add r.to.rast3elev (having 3 copies of
+	  menu.tcl is a total pain in the ass!)
+
+2006-12-11 08:46  markus
+
+	* raster/r.out.gdal/description.html: group export
+
+2006-12-11 02:21  hamish
+
+	* lib/init/init.sh: gis.m and d.m background themselves. don't know
+	  about OSX, so I left that as-is.
+
+2006-12-09 13:14  hamish
+
+	* vector/v.out.ascii/b2a.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/out.c: add region sentitive flag. **beware 3D
+	  maps: checks if between top:bottom**
+
+2006-12-09 12:50  hamish
+
+	* vector/v.out.ascii/b2a.c, vector/v.out.ascii/local_proto.h,
+	  vector/v.out.ascii/out.c: add fs= field sep option, cleanup dp=
+	  option
+
+2006-12-09 12:09  markus
+
+	* locale/po/grasstcl_lv.po: added missing tcl file for translation
+
+2006-12-09 11:59  markus
+
+	* locale/po/grasslibs_lv.po, locale/po/grassmods_lv.po: Maris
+	  Nartiss <maris.kde * gmail com>: cont'ed
+
+2006-12-09 11:47  hamish
+
+	* visualization/nviz/scripts/panel_scale.tcl: typo
+
+2006-12-09 11:43  hamish
+
+	* visualization/nviz/scripts/panel_arrow.tcl,
+	  visualization/nviz/scripts/panel_scale.tcl: revert unclobbering
+	  of default colors, otherwise it locks up
+
+2006-12-09 11:36  hamish
+
+	* visualization/nviz/scripts/panel_arrow.tcl,
+	  visualization/nviz/scripts/panel_scale.tcl: set default size to
+	  1000, don't clobber default colors (panel_main.tcl)
+
+2006-12-09 10:54  hamish
+
+	* lib/ogsf/gsd_objs.c: make scalebar go EW not NS
+
+2006-12-08 17:55  michael
+
+	* visualization/nviz/scripts/configIndex: Added scale panel to
+	  appearance menu
+
+2006-12-08 17:55  michael
+
+	* visualization/nviz/scripts/tclIndex: Added scale panel to panel
+	  list
+
+2006-12-08 17:54  michael
+
+	* visualization/nviz/scripts/panel_main.tcl: Code reformatting
+
+2006-12-08 17:53  michael
+
+	* visualization/nviz/scripts/panel_arrow.tcl: Update for setting
+	  arrow color.
+
+2006-12-08 17:51  michael
+
+	* visualization/nviz/scripts/panel_scale.tcl: New FUNCTIONAL scale
+	  panel. Thanks to Hamish and Bob.
+
+2006-12-08 17:08  markus
+
+	* rfc/RFC2_PSC.dox: Legal aspects of code contributions - adopted
+	  by PSC
+
+2006-12-08 17:08  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Cosmetic improvements to layer tree
+	  title.
+
+2006-12-08 01:02  hamish
+
+	* visualization/nviz/scripts/panel_main.tcl: set default text
+	  colors to something different than the background color
+
+2006-12-08 00:26  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Adding title to layer tree to
+	  indicate which display it is
+	  associated with.
+
+2006-12-08 00:24  michael
+
+	* lib/gtcltk/options.tcl: Making standard fonts global so they can
+	  be referenced in other
+	  TclTk scripts.
+
+2006-12-07 23:16  hamish
+
+	* visualization/nviz/scripts/panel_arrow.tcl,
+	  visualization/nviz/scripts/panel_fringe.tcl,
+	  visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/src/togl_flythrough.c: more hooks for the
+	  scalebar
+
+2006-12-07 23:07  helena
+
+	* raster/r.flow/calc.c: 3d length fix bug #3387
+
+2006-12-07 22:23  hamish
+
+	* visualization/nviz/src/draw.c: fixed argc error with color args
+	  (scale bar)
+
+2006-12-07 21:25  michael
+
+	* visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/site_attr.tcl: Fixing autodraw for
+	  icon size. Making thematic panel open and
+	  close at user's option.
+
+2006-12-07 21:21  michael
+
+	* visualization/nviz/scripts/panel_vol.tcl: refixing draw button
+	  color
+
+2006-12-07 21:20  michael
+
+	* visualization/nviz/scripts/panel_vect.tcl: refixed color to
+	  darker for draw button
+
+2006-12-07 21:19  michael
+
+	* visualization/nviz/scripts/panel_surf.tcl: Fixed autoupdate for
+	  resolution settings
+
+2006-12-07 21:15  michael
+
+	* visualization/nviz/scripts/panel_vect.tcl: Made Draw button text
+	  darker. Fixed autodraw for line width spinbox.
+
+2006-12-07 21:14  michael
+
+	* visualization/nviz/scripts/panel_vol.tcl: Fix autoupdate for
+	  resolution and slice sliders. Make Draw button
+	  text darker.
+
+2006-12-07 21:12  michael
+
+	* visualization/nviz/scripts/widgets.tcl: Give current map list
+	  appearance of list widget for easier recognition and use
+
+2006-12-07 20:20  brad
+
+	* raster/r.sunmask/solpos00.c: - Added missing <grass/gis.h>
+	  include.
+
+2006-12-07 20:15  jachym
+
+	* raster/simwe/simlib/hydro.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c, raster/wildfire/r.ros/main.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/ram2out.c,
+	  raster/wildfire/r.spread/spread.c,
+	  raster/wildfire/r.spreadpath/main.c: fprintf to G_message
+
+2006-12-07 19:55  jachym
+
+	* raster/r.transect/parse_line.c: fprintf to G_message
+
+2006-12-07 19:34  jachym
+
+	* raster/r.to.vect/areas.c, raster/r.to.vect/global.h,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/main.c,
+	  raster/r.to.vect/points.c: fprintf to G_message, flag -q prepared
+	  for future removing
+
+2006-12-07 19:27  jachym
+
+	* raster/r.topmodel/check_ready.c, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/misc.c, raster/r.topmodel/topmodel.c: fprintf
+	  to G_message, G_warning and G_fatal_error
+
+2006-12-07 19:21  jachym
+
+	* raster/r.thin/io.c, raster/r.thin/thin_lines.c,
+	  raster/r.topidx/check_ready.c, raster/r.topidx/file_io.c,
+	  raster/r.topidx/topidx.c: fprintf to G_message
+
+2006-12-07 19:13  bob
+
+	* visualization/nviz/scripts/panel_fringe.tcl: Removed duplicate
+	  draw_arrow procedure
+
+2006-12-07 19:12  bob
+
+	* visualization/nviz/scripts/panel_main.tcl: Added default arrow
+	  and text color
+
+2006-12-07 19:11  bob
+
+	* visualization/nviz/src/draw.c: fixed argc error with color args
+
+2006-12-07 19:10  bob
+
+	* visualization/nviz/src/togl_flythrough.c: Added updated North
+	  Arrow routine
+
+2006-12-07 19:08  jachym
+
+	* raster/r.texture/h_measure.c, raster/r.texture/main.c: fprintf to
+	  G_message or G_fatal_error
+
+2006-12-07 18:33  jachym
+
+	* raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c:
+	  fprintf to G_fatal_error or G_message
+
+2006-12-07 18:28  jachym
+
+	* raster/r.surf.idw/main.c: fprintf to G_message
+
+2006-12-07 18:25  jachym
+
+	* raster/r.sunmask/solpos00.c: fprinf to G_warning and localisation
+	  support
+
+2006-12-07 18:20  jachym
+
+	* raster/r.sun/main.c: Removed unecessary fprintfs
+
+2006-12-07 18:04  jachym
+
+	* raster/r.proj/readcell.c: fprintf to G_message()
+
+2006-12-07 09:39  hamish
+
+	* include/ogsf_proto.h, lib/ogsf/gsd_objs.c,
+	  visualization/nviz/scripts/panel_arrow.tcl,
+	  visualization/nviz/src/draw.c: user setable colors for NVIZ north
+	  arrow and scalebar
+	  (arrow will be broken until Tcl color is set)
+
+2006-12-07 08:17  martinl
+
+	* general/g.region/cmd/adjust.c,
+	  general/g.region/cmd/local_proto.h, general/g.region/cmd/main.c,
+	  general/g.region/cmd/printwindow.c, general/g.region/cmd/zoom.c:
+	  * rows & cols parameters (by SorokinA at ornl.gov)
+	  * reordering flags (Print)
+	  * capitalize messages/warnings/ferrors
+
+2006-12-07 06:04  glynn
+
+	* raster/r.resamp.stats/main.c: Fix half-degree south-west shift in
+	  lat-lon locations
+
+2006-12-06 20:16  jachym
+
+	* general/g.setproj/proj-parms.table: Added Krovak projection
+
+2006-12-06 11:28  markus
+
+	* ps/ps.map/description.html: explain fcolor RGB and none
+
+2006-12-06 11:19  markus
+
+	* ps/ps.map/get_scalebar.c, ps/ps.map/getgrid.c,
+	  ps/ps.map/r_labels.c, ps/ps.map/r_rgb.c, ps/ps.map/r_text.c,
+	  ps/ps.map/r_vareas.c, ps/ps.map/r_vlines.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/r_wind.c, ps/ps.map/scan_gis.c:
+	  say in which section the psmap file error occured
+
+2006-12-06 10:57  paul
+
+	* lib/init/Makefile, lib/init/grass.bat, lib/init/init.bat:
+	  Experimental batch file startup scripts for GRASS on Windows
+	  (i.e. no
+	  bourne/bash shell required). Doesn't do mapset locking.
+
+2006-12-06 10:54  paul
+
+	* lib/init/gis_set.tcl: Make the "Create location using projection
+	  values" in gis_set.tcl pop up
+	  a Window running $GISBASE/etc/set_data on Windows instead of just
+	  exiting.
+	  This might be useful behaviour on Unix too; not sure.
+
+2006-12-06 10:52  markus
+
+	* ps/ps.map/description.html: cosmetics
+
+2006-12-06 10:22  markus
+
+	* rfc/Makefile, rfc/RFC2_PSC.dox, rfc/psc_motions.dox,
+	  rfc/rfc_list.dox: RFC2 proposal added; list of motions; 'make'
+	  now builds the docs in HTML format
+
+2006-12-06 10:06  markus
+
+	* rfc/RFC1_PSC.dox: cosmetics; still changes have to be merged into
+	  this document
+
+2006-12-06 09:48  markus
+
+	* general/g.mapsets/main_cmd.c: added unistd.h for execl()
+
+2006-12-06 09:43  markus
+
+	* raster/r.in.gdal/main.c: few more gettext macros
+
+2006-12-06 09:40  markus
+
+	* raster/r.out.gdal/main.c: indent -nbad -bap -bbb -nbbo -nbc -br
+	  -bli1 -bls -cbi0 -ncdb -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8
+
+2006-12-06 09:39  markus
+
+	* raster/r.out.gdal/description.html, raster/r.out.gdal/main.c:
+	  extended docs; cosmetics
+
+2006-12-06 09:04  markus
+
+	* scripts/r.out.gdal/Makefile, scripts/r.out.gdal/description.html,
+	  scripts/r.out.gdal/r.out.gdal, scripts/r.out.gdal/r.out.gdal.sh:
+	  renamed to activate r.out.gdal written in C
+
+2006-12-06 09:03  markus
+
+	* raster/Makefile, raster/r.out.gdal/Makefile: activated r.out.gdal
+
+2006-12-06 07:11  hamish
+
+	* include/ogsf_proto.h, lib/ogsf/gsd_objs.c,
+	  visualization/nviz/src/draw.c,
+	  visualization/nviz/src/init_commands.c: C code for NVIZ scalebar
+
+2006-12-06 02:34  hamish
+
+	* lib/ogsf/gsd_objs.c: make arrow stem fatter
+
+2006-12-06 02:08  hamish
+
+	* general/g.mapsets/main_cmd.c: EXIT_SUCCESS, l10n, remove sleep()
+
+2006-12-06 01:31  michael
+
+	* visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/panel_surf.tcl,
+	  visualization/nviz/scripts/panel_vect.tcl,
+	  visualization/nviz/scripts/panel_vol.tcl: Making green on draw
+	  buttons darker
+
+2006-12-06 00:13  michael
+
+	* visualization/nviz/scripts/panel_main.tcl: Last (?) switch of
+	  -pady from frame to pack line for tcltk8.3 compatibility
+
+2006-12-06 00:01  michael
+
+	* lib/init/gis_set.tcl: Replace exec ls with pure TclTk (glob, etc)
+	  for Windows compatibility.
+
+2006-12-05 22:24  michael
+
+	* visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_surf.tcl: Update for TclTk 8.3
+	  compatibility. Moved -padx -pady statements
+	  out of frame widget definition and into packing line.
+
+2006-12-05 21:48  markus
+
+	* locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: v.bspline
+	  -> v.surf.bspline
+
+2006-12-05 21:38  markus
+
+	* vector/lidar/Makefile: v.bspline -> v.surf.bspline to avoid
+	  further confusion
+
+2006-12-05 21:37  markus
+
+	* vector/lidar/v.bspline, vector/lidar/v.surf.bspline,
+	  vector/lidar/v.surf.bspline/Makefile,
+	  vector/lidar/v.surf.bspline/bspline.h,
+	  vector/lidar/v.surf.bspline/crosscorr.c,
+	  vector/lidar/v.surf.bspline/description.html,
+	  vector/lidar/v.surf.bspline/main.c: moved v.bspline/ to
+	  v.surf.bspline/: renamed directory
+
+2006-12-05 21:32  markus
+
+	* vector/lidar/lidarlib/InterpSpline.c,
+	  vector/lidar/lidarlib/PolimiFunct.h: copyright statement added
+
+2006-12-05 21:31  markus
+
+	* vector/lidar/v.bspline/bspline.h,
+	  vector/lidar/v.bspline/crosscorr.c,
+	  vector/lidar/v.bspline/description.html,
+	  vector/lidar/v.bspline/main.c: Roberto Antolin: cross correlation
+	  added
+
+2006-12-05 21:28  markus
+
+	* vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/zones.c: Roberto Antolin: fix for storing
+	  observation vector
+
+2006-12-05 03:22  hamish
+
+	* vector/v.in.ascii/in.c: specifying zcol= implies that a 3D map is
+	  needed
+
+2006-12-04 15:04  markus
+
+	* lib/db/sqlp/README: extended
+
+2006-12-04 14:07  markus
+
+	* lib/form/form.c: more reasonable G_debug messages
+
+2006-12-04 13:44  markus
+
+	* lib/form/form.c: indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls
+	  -cbi0 -ncdb -nce -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4
+	  -ip4 -l80 -lc80 -lp -npcs -pi4 -nprs -npsl -sbi0 -sc -nsob -ss
+	  -ts8
+
+2006-12-04 13:40  markus
+
+	* lib/form/generate.c: iso8859-2, iso8859-15, iso2022-jp added as
+	  first approach to bug #4110
+
+2006-12-03 20:38  markus
+
+	* tools/build_html_index.sh: workaround for bug #5361
+
+2006-12-03 10:49  markus
+
+	* raster/simwe/r.sim.water/spearfish.sh: simulation example now
+	  working for Spearfish
+
+2006-12-02 22:14  glynn
+
+	* imagery/i.class/local_proto.h: Add prototypes for I_vask_*
+	  functions
+
+2006-12-02 18:02  glynn
+
+	* imagery/i.cca/Makefile, imagery/i.cluster/Makefile,
+	  imagery/i.fft/Makefile, imagery/i.gensig/Makefile,
+	  imagery/i.gensigset/Makefile, imagery/i.group/Makefile,
+	  imagery/i.his.rgb/Makefile, imagery/i.ifft/Makefile,
+	  imagery/i.maxlik/Makefile, imagery/i.pca/Makefile,
+	  imagery/i.points/Makefile, imagery/i.rectify/Makefile,
+	  imagery/i.rgb.his/Makefile, imagery/i.smap/shapiro/Makefile,
+	  imagery/i.target/Makefile, imagery/i.vpoints/Makefile,
+	  imagery/i.zc/Makefile, ps/ps.map/Makefile,
+	  raster/r.digit/Makefile: Remove unnecessary references to
+	  $(VASKLIB) and/or $(CURSES)
+
+2006-12-02 17:20  markus
+
+	* lib/form/generate.c: list of tcl encodings
+
+2006-12-02 11:19  glynn
+
+	* tools/sql.sh: Enlarge object field in obj_imp/obj_exp tables to
+	  accomodate r.li
+
+2006-12-02 11:19  glynn
+
+	* general/g.access/Makefile, general/g.mapsets/Makefile,
+	  imagery/i.class/vask_group.c, include/imagedefs.h,
+	  lib/imagery/Makefile, lib/imagery/ask_bands.c,
+	  lib/imagery/ask_colors.c, lib/imagery/tape_info.c,
+	  lib/imagery/v_exec.c, lib/imagery/vask_group.c,
+	  vector/v.hull/Makefile: Eliminate unnecessary vask dependencies
+	  Move vask_group.c from lib/imagery to i.class to eliminate vask
+	  dependency for lib/imagery
+
+2006-12-02 07:59  martinl
+
+	* vector/v.in.db/main.c: the entire table is copied even with
+	  where= option (reported by Markus)
+
+2006-12-02 07:41  glynn
+
+	* configure, configure.in: Don't check for EPSG file when
+	  cross-compiling
+
+2006-12-02 06:20  markus
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: Andrey Kiselev
+	  <dron ak4719 spb.edu>: small and severe bugs fixed; memory leak
+	  fixed
+
+2006-12-02 05:54  markus
+
+	* raster3d/base/mask_functions.c, raster3d/base/r3.null.main.c,
+	  raster3d/base/r3.timestamp.main.c, raster3d/r3.out.vtk/main.c:
+	  don't use gettext macros for G_debug(); removed undesired \n;
+	  start messages with Caps
+
+2006-12-02 05:46  markus
+
+	* raster3d/r3.to.rast/main.c: don't use gettext macros for
+	  G_debug(); start messages with Caps
+
+2006-12-02 05:43  markus
+
+	* raster3d/r3.cross.rast/main.c: don't use gettext macros for
+	  G_debug(); removed undesired \n; start messages with Caps
+
+2006-12-02 05:41  markus
+
+	* raster3d/r3.in.ascii/main.c, raster3d/r3.out.ascii/main.c: i18N
+
+2006-12-02 05:38  markus
+
+	* raster/r.to.rast3/main.c: don't use gettext macros for G_debug();
+	  removed undesired \n; start messages with Caps
+
+2006-12-02 05:27  markus
+
+	* raster/r.to.rast3elev/main.c: don't use gettext macros for
+	  G_debug(); removed undesired \n; start messages with Caps
+
+2006-12-02 02:06  brad
+
+	* TODO: - Added note re: tape support
+
+2006-12-02 01:46  brad
+
+	* lib/cdhc/nprob.c: - Removed unused incomplete file/function.
+
+2006-12-01 23:17  brad
+
+	* include/vask.h: - Added macro around header to prevent multiple
+	  inclusion.
+
+2006-12-01 23:15  brad
+
+	* lib/vask/V_acc.c, lib/vask/V_call.c, lib/vask/V_clear.c,
+	  lib/vask/V_const.c, lib/vask/V_error.c, lib/vask/V_exit.c,
+	  lib/vask/V_init.c, lib/vask/V_line.c, lib/vask/V_ques.c,
+	  lib/vask/V_support.c, lib/vask/V_trim_dec.c: - Doxygen update.
+	  - Made sure <grass/config.h> was first header listed.
+	  - Added <grass/config.h> to V_error.c.
+
+2006-12-01 17:10  michael
+
+	* visualization/nviz/scripts/panel_main.tcl: Fix bug with height
+	  resetting to init values whenever view type
+	  is changed. Also regularized height slider variable use.
+
+2006-12-01 14:40  markus
+
+	* lib/symbol/symbol/extra/offbox_ne,
+	  lib/symbol/symbol/extra/offbox_nw,
+	  lib/symbol/symbol/extra/offbox_se,
+	  lib/symbol/symbol/extra/offbox_sw: 4 new symbols to visualize 4
+	  point attibutes in the same place (with shifted boxes in each
+	  quadrant
+
+2006-12-01 02:36  hamish
+
+	* vector/v.db.select/main.c: fix nasty alloc bug (#5341)
+
+2006-12-01 00:39  hamish
+
+	* raster/r.in.xyz/description.html: add todo
+
+2006-11-30 23:36  brad
+
+	* lib/gis/color_get.c, lib/gis/endian.c, lib/gis/is.c,
+	  lib/gis/legal_name.c, lib/gis/locale.c, lib/gis/spawn.c,
+	  lib/gis/unctrl.c, lib/gis/verbose.c: - Documentation update
+	  (doxygen)
+
+2006-11-30 19:55  markus
+
+	* lib/gmath/dalloc.c: typo
+
+2006-11-30 19:16  brad
+
+	* lib/gmath/dalloc.c, lib/gmath/fft.c: - Documentation update
+	  (doxygen)
+
+2006-11-30 06:35  hamish
+
+	* visualization/nviz/src/nviz_init.c: highlight possible bugs
+
+2006-11-30 05:53  hamish
+
+	* gui/tcltk/gis.m/gis.m, gui/tcltk/gis.m/mapcanvas.tcl: exit with
+	  non-zero result on error. (is "exit" in gis.m script redundant?)
+
+2006-11-30 05:21  hamish
+
+	* gui/tcltk/d.m/menu.tcl: merge changes from menus/menu.tcl
+
+2006-11-30 05:08  hamish
+
+	* gui/tcltk/d.m/menu.tcl, gui/tcltk/menus/menu.tcl: rename Image
+	  menu -> Imagery
+
+2006-11-29 23:52  hamish
+
+	* display/d.grid/main.c: change default border color to black
+
+2006-11-29 23:20  michael
+
+	* visualization/nviz/scripts/panel_scale.tcl: Panel deprecated.
+	  Split up into separate arrow and fringe panels.
+
+2006-11-29 23:19  michael
+
+	* visualization/nviz/scripts/panel_main.tcl: Fix for strange
+	  behavior of view height widget. Height and height scale
+	  resolution recently linked to z-exag, probably for flythrough
+	  updates.
+	  But this led to extremely coarse height slider resolutions when
+	  z-exag
+	  set to low values. I decoupled z-exag and height except when
+	  flythough
+	  activated. Then added a resolution reset for switching back to
+	  normal
+	  view modes that gives more reasonable height slider resolutions.
+
+2006-11-29 23:10  michael
+
+	* visualization/nviz/scripts/widgets.tcl: Part of fix for height
+	  scale strange behavior
+
+2006-11-29 23:09  michael
+
+	* visualization/nviz/scripts/panel_fringe.tcl: Removed debugging
+	  code
+
+2006-11-29 18:07  michael
+
+	* visualization/nviz/scripts/panel_fringe.tcl,
+	  visualization/nviz/scripts/panel_main.tcl: Finally fixed fringe
+	  issues.
+
+2006-11-29 17:22  markus
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: restored older g.pnmcomp fix
+
+2006-11-29 16:33  michael
+
+	* visualization/nviz/scripts/panel_fringe.tcl,
+	  visualization/nviz/scripts/panel_main.tcl: Reverting names for
+	  fringe color and elevation variables.
+
+2006-11-29 16:32  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Error trap for GDAL and g.region
+	  problems during GUI initialization
+
+2006-11-29 15:16  markus
+
+	* db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/globals.h: added GRASS internal type
+	  PG_TYPE_POSTGIS_GEOM and related warning to avoid the message "pg
+	  driver: column 'the_geom', type 17243 is not supported" when
+	  importing from PostGIS
+
+2006-11-29 14:56  markus
+
+	* db/drivers/postgres/globals.h: OID explaination added
+
+2006-11-28 19:54  markus
+
+	* general/g.setproj/main.c: tell the name of the magic table
+
+2006-11-28 18:01  michael
+
+	* visualization/nviz/scripts/panel_arrow.tcl,
+	  visualization/nviz/scripts/panel_fringe.tcl,
+	  visualization/nviz/scripts/panel_label.tcl,
+	  visualization/nviz/scripts/panel_legend.tcl: Add close button to
+	  new panels.
+
+2006-11-28 15:11  brad
+
+	* vector/v.db.select/main.c: - Use EXIT_SUCCESS|EXIT_FAILURE
+
+2006-11-28 14:49  brad
+
+	* vector/v.db.select/main.c: - Don't use G_realloc() on first call.
+
+2006-11-28 08:42  markus
+
+	* vector/v.db.connect/main.c: if table doesn't exist: fatal error
+
+2006-11-28 07:11  martinl
+
+	* raster/r.statistics/read_stats.c: missing gis.h
+
+2006-11-28 00:38  markus
+
+	* vector/v.info/description.html: HTML fix
+
+2006-11-28 00:01  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Changed legacy "Image" menu to
+	  "Imagery".
+
+2006-11-27 23:14  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Added error trap for g.region
+	  failing at GUI startup. Now it exits
+	  GUI with a message about g.region failing.
+
+2006-11-27 23:10  michael
+
+	* gui/tcltk/gis.m/dtext.tcl: Bugfix for losing rotation value when
+	  selecting different layers.
+
+2006-11-27 22:59  michael
+
+	* visualization/nviz/scripts/nviz_init.tcl: Fixed indentation.
+
+2006-11-27 22:59  michael
+
+	* visualization/nviz/scripts/tclIndex: Removed old scale panel;
+	  added entries for new arrow, legend,
+	  and fringe panels; updated entries for label panel.
+
+2006-11-27 22:57  michael
+
+	* visualization/nviz/scripts/configIndex: Removed old scale panel.
+	  Added arrow, legend, and fringe panels.
+
+2006-11-27 22:56  michael
+
+	* visualization/nviz/scripts/panel_label.tcl: Major GUI update.
+	  Split out legend and non-functional site labels.
+	  Added Tk dialog for font selection. Now respects autoupdate
+	  toggle.
+
+2006-11-27 22:54  michael
+
+	* visualization/nviz/scripts/panel_color.tcl: Limited GUI updates.
+	  Made this respond to the auto draw toggle.
+
+2006-11-27 22:53  michael
+
+	* visualization/nviz/scripts/panel_lights.tcl: Update GUI. Major
+	  code changes.
+
+2006-11-27 22:52  michael
+
+	* visualization/nviz/scripts/panel_main.tcl: Remove non-functional
+	  clear screen button. Fix autodraw function
+	  so that the check button actually toggles this in most NVIZ
+	  modules.
+	  Change fringe global variables to be Nv_ array values (so as to
+	  not
+	  add another set of globals to NVIZ--which already has too many).
+	  Some code cleanup and reformatting.
+
+2006-11-27 22:45  michael
+
+	* visualization/nviz/scripts/panel_arrow.tcl,
+	  visualization/nviz/scripts/panel_legend.tcl: Updated copyright
+	  header
+
+2006-11-27 22:42  michael
+
+	* visualization/nviz/scripts/panel_fringe.tcl: Updated copyright
+	  header.
+
+2006-11-27 22:40  michael
+
+	* visualization/nviz/scripts/widgets.tcl: Fixed autodraw function
+	  so that it actually works (can be toggled
+	  on and off) in most NVIZ modules. Did a bit of code reformatting
+	  and cleanup too.
+
+2006-11-27 21:01  michael
+
+	* visualization/nviz/scripts/panel_vect.tcl: Various small
+	  interface rearranging.
+
+2006-11-27 20:59  michael
+
+	* visualization/nviz/scripts/config.tcl: Add bwidgets Entry to
+	  options database.
+
+2006-11-27 20:58  michael
+
+	* visualization/nviz/scripts/panel_arrow.tcl,
+	  visualization/nviz/scripts/panel_fringe.tcl,
+	  visualization/nviz/scripts/panel_legend.tcl: New panels to make
+	  different appearance/decoration functions more
+	  accessible and easier to update.
+
+2006-11-27 20:47  michael
+
+	* visualization/nviz/scripts/panel_vol.tcl: Changed packing to make
+	  the panel take up less room. Tried to fix
+	  autoupdating, but this still needs more work.
+
+2006-11-27 20:44  michael
+
+	* visualization/nviz/scripts/panel_site.tcl: Fixed problem in
+	  displaying sites in latlon regions by changing how
+	  icon sizes are scaled.
+
+2006-11-27 16:22  jachym
+
+	* raster/r.quant/read_rules.c: Added G_chop() for removing
+	  whitespaces from read buffer. (Thanks Paul Kelly)
+
+2006-11-27 12:04  markus
+
+	* locale/po/grasstcl_es.po: Roberto Antolin <tolanss yahoo es>:
+	  started Spanish translation of tcl messages
+
+2006-11-27 06:35  jachym
+
+	* raster/r.report/format.c, raster/r.report/main.c,
+	  raster/r.report/parse.c: removed grass/gis.h and grass/glocale.h
+	  includes from *.c files, they are allready in global.h
+
+2006-11-27 06:23  jachym
+
+	* raster/r.sum/main.c: spaces back in output expression
+
+2006-11-27 06:10  hamish
+
+	* general/g.region/cmd/main.c: don't round vector region to raster
+	  resolution unless it's asked for
+
+2006-11-27 01:21  hamish
+
+	* raster/r.report/global.h, raster/r.report/prt_report.c: don't use
+	  l12n macros without including glocale.h
+
+2006-11-26 21:39  markus
+
+	* vector/v.mkgrid/main.c, vector/v.mkgrid/write_grid.c: fix
+	  G_percent; position isn't required since answer is defined
+
+2006-11-26 21:32  glynn
+
+	* include/glocale.h: Protect against multiple inclusion
+
+2006-11-26 18:14  jachym
+
+	* raster/r.sum/main.c: * fpritf to G_message
+	  * result parsable for shell scripts
+
+2006-11-26 18:06  jachym
+
+	* raster/r.statistics/main.c, raster/r.statistics/o_adev.c,
+	  raster/r.statistics/o_average.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_kurt.c, raster/r.statistics/o_sdev.c,
+	  raster/r.statistics/o_skew.c, raster/r.statistics/o_sum.c,
+	  raster/r.statistics/o_var.c, raster/r.statistics/read_stats.c:
+	  fprintf to G_message, translation support
+
+2006-11-26 17:48  jachym
+
+	* raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c:
+	  fprintf to G_message, flag '-q' prepared for removing
+
+2006-11-26 17:43  jachym
+
+	* raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale.eq/local_proto.h, raster/r.rescale.eq/main.c,
+	  raster/r.series/main.c: fprintf to G_message, flag '-q' prepared
+	  for removing
+
+2006-11-26 17:34  jachym
+
+	* raster/r.rescale/get_range.c, raster/r.rescale/local_proto.h,
+	  raster/r.rescale/main.c: fprintf to G_message, flag '-q' prepared
+	  for removing
+
+2006-11-26 16:55  brad
+
+	* lib/cdhc/cdh-f77.out, lib/cdhc/cdh.f, lib/cdhc/nprob.f: - Removed
+	  unused files
+
+2006-11-26 15:03  jachym
+
+	* raster/r.resamp.rst/main.c: * fprint to G_message
+	  * removed information about authors -- can be found in manual
+	  page
+
+2006-11-26 15:01  jachym
+
+	* raster/r.report/prt_report.c: Unsupported units to
+	  G_fatal_error()
+
+2006-11-26 14:52  jachym
+
+	* raster/r.resample/main.c: * flag '-q' prepared for future
+	  removing
+	  * fprint to G_message
+
+2006-11-26 14:48  jachym
+
+	* raster/r.report/parse.c: * fprintf to G_warning
+	  * exit(1) to exit(EXIT_FAILURE)
+
+2006-11-26 14:39  jachym
+
+	* raster/r.random.surface/init.c, raster/r.random.surface/main.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c: * fprintf to G_message
+	  * '-q' flag prepared for future removing
+
+2006-11-26 10:38  jachym
+
+	* raster/r.random/count.c, raster/r.random/local_proto.h,
+	  raster/r.random/main.c, raster/r.random/random.c: * fprintf to
+	  G_message
+	  * checking for existing maps removed, GRASS does this
+
+2006-11-26 10:16  jachym
+
+	* raster/r.quant/main.c, raster/r.quant/read_rules.c: fprint to
+	  G_message
+
+2006-11-26 10:05  markus
+
+	* raster/r.mapcalc/r.mapcalc.html: correction/html fix
+
+2006-11-26 09:34  jachym
+
+	* include/gisdefs.h: Removed comment about strip.c. G_strip() was
+	  formerly moved to strings.c
+
+2006-11-26 09:13  jachym
+
+	* raster/r.proj/main.c: fprinf to G_message, translation support
+
+2006-11-26 08:49  jachym
+
+	* raster/r.profile/main.c: fprinf to G_message
+
+2006-11-26 08:35  jachym
+
+	* raster/r.patch/main.c: fprintf to G_message, flag '-q' prepared
+	  for removing
+
+2006-11-26 08:30  jachym
+
+	* raster/r.out.vrml/main.c, raster/r.out.vrml/put_grid.c: fprintf
+	  to G_message, support for translation
+
+2006-11-25 20:50  jachym
+
+	* raster/r.out.tiff/r.out.tiff.c: -v flag prepared for removing,
+	  fprintf to G_message
+
+2006-11-25 20:46  jachym
+
+	* raster/r.out.ppm/main.c: translation support
+
+2006-11-25 20:46  jachym
+
+	* raster/r.out.png/r.out.png.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c: -q flag prepared for removing,
+	  fprintf to G_message
+
+2006-11-25 20:44  jachym
+
+	* raster/r.out.mat/main.c: corrected error message, when -v is used
+
+2006-11-25 20:34  jachym
+
+	* raster/r.out.mat/main.c: fprintf to G_message, removed -v flag
+
+2006-11-25 20:29  jachym
+
+	* raster/r.out.gridatb/adjcellhd.c, raster/r.out.gridatb/file_io.c:
+	  *removed some unnecessary messages,
+	  * fprintf to G_message or G_fatal_error
+	  * restructurising of file_io.c and adjcellhd.c
+
+2006-11-25 20:15  jachym
+
+	* raster/r.out.bin/main.c: fprintf to G_message and translation
+	  support
+
+2006-11-25 20:08  jachym
+
+	* raster/r.neighbors/main.c: fprintf to G_fatal_error, translation
+	  support
+
+2006-11-25 09:31  markus
+
+	* AUTHORS: + Arabic
+
+2006-11-25 07:34  martinl
+
+	* raster/r.mode/read_stats.c: missing gis.h header
+
+2006-11-25 03:41  hamish
+
+	* display/d.vect/main.c: adjust verbosity code (not chatty from
+	  command line, allow chatty for GUI use)
+
+2006-11-25 03:38  hamish
+
+	* include/gisdefs.h, lib/gis/verbose.c: add G_verbose_std() fn to
+	  report the default verbosity level.
+	  so "if(G_verbose() > G_verbose_std()) be_verbose=TRUE;" will
+	  work.
+
+2006-11-25 02:20  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: restored max res PPM
+	  extension stripping (rev 1.16)
+
+2006-11-24 22:23  markus
+
+	* lib/gmath/gmathlib.dox: revert, doesn't help
+
+2006-11-24 22:05  markus
+
+	* lib/gmath/gmathlib.dox: hack to enable doxygen functions in the
+	  HTML/PDF manual
+
+2006-11-24 20:43  jachym
+
+	* raster/r.mode/main.c: making r.stats run with '-n' flag
+
+2006-11-24 20:42  jachym
+
+	* raster/r.mode/main.c, raster/r.mode/read_stats.c: fprintf to
+	  G_message or G_fatal_error
+
+2006-11-24 19:50  jachym
+
+	* raster/r.mfilter/execute.c, raster/r.mfilter/glob.h,
+	  raster/r.mfilter/perform.c: fprintfs to G_message or G_debug
+
+2006-11-24 17:52  markus
+
+	* display/d.vect/description.html: explain attrcol
+
+2006-11-24 15:59  martinl
+
+	* display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/dir.c, display/d.vect/label.c,
+	  display/d.vect/main.c: Flag '-v' superseded
+
+2006-11-24 12:48  markus
+
+	* scripts/d.monsize/d.monsize, scripts/d.out.file/d.out.file,
+	  scripts/d.out.png/d.out.png, scripts/d.resize/d.resize,
+	  scripts/d.vect.thematic/d.vect.thematic, scripts/i.oif/i.oif:
+	  removed variable export bash-ism
+
+2006-11-24 10:19  jachym
+
+	* raster/r.mfilter/getfilt.c, raster/r.mfilter/glob.h,
+	  raster/r.mfilter/main.c, raster/r.mfilter/perform.c: Added
+	  grass/glocale.h header file import
+
+2006-11-24 10:01  markus
+
+	* scripts/d.correlate/d.correlate, scripts/d.out.file/d.out.file,
+	  scripts/d.out.png/d.out.png, scripts/d.resize/d.resize,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt,
+	  scripts/i.landsat.rgb/i.landsat.rgb, scripts/i.oif/i.oifcalc,
+	  scripts/i.spectral/i.spectral, scripts/m.proj/m.proj,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.plane/r.plane, scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.univar.sh/r.univar.sh,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.update/v.db.update, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.garmin/v.in.garmin, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.in.mapgen/v.in.mapgen,
+	  scripts/v.rast.stats/v.rast.stats,
+	  scripts/v.univar.sh/v.univar.sh: removed LC_NUMERIC bash-ism
+
+2006-11-24 02:11  hamish
+
+	* db/drivers/dbf/grass-dbf.html,
+	  db/drivers/sqlite/grass-sqlite.html: leave some breadcrumbs
+
+2006-11-23 18:52  markus
+
+	* visualization/nviz/scripts/nviz2.2_script: restored
+	  GRASS_HTML_BROWSER
+
+2006-11-23 15:36  martinl
+
+	* vector/Makefile, vector/v.out.svg, vector/v.out.svg/Makefile,
+	  vector/v.out.svg/description.html, vector/v.out.svg/main.c: Add
+	  module v.out.svg (from Klaus Forster)
+
+2006-11-23 03:44  brad
+
+	* include/la.h, lib/gmath/la.c: - New function: G_matrix_zero():
+	  Zeros out matrix values
+
+2006-11-22 19:11  glynn
+
+	* include/gisdefs.h, lib/gis/done_msg.c: Change G_done_msg() to
+	  accept printf()-style format string
+
+2006-11-22 16:17  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Update to work on native
+	  Windows GRASS missing PNG driver. Also
+	  added tabs to better organize interface.
+
+2006-11-22 16:14  michael
+
+	* visualization/nviz/scripts/panel_site.tcl: Replace -label option
+	  in ComboBox for icon type with a simple
+	  Tk label widget for compatibility with a few (buggy?) TclTk
+	  installations.
+
+2006-11-22 12:52  paul
+
+	* general/g.dirseps, general/g.dirseps/Makefile,
+	  general/g.dirseps/main.c: Add g.dirseps for help with scripts on
+	  Windows
+
+2006-11-22 09:55  markus
+
+	* vector/v.patch/description.html: indicate the right tools
+
+2006-11-22 04:55  hamish
+
+	* lib/gis/parser.c: better formatting for tooltip
+
+2006-11-22 04:24  hamish
+
+	* vector/v.in.ascii/points.c: for LL D:M:S data, populate table
+	  with values that match column type
+	  double. I'm not sure this is exactly what's needed -- better to
+	  use a varchar() column with original input data? BUG #5209
+
+2006-11-22 01:45  hamish
+
+	* raster/r.resamp.rst/main.c: guisection tabs, EXIT_SUCCESS
+
+2006-11-22 01:19  hamish
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/menus/menu.tcl: capitolize
+	  dxf, gpsbabel doesn't need garmin, add r.out.xyz,
+	  p.out.vrml -> r.out.vrml, r.support doesn't work as r.support.sh
+
+2006-11-21 23:48  michael
+
+	* visualization/nviz/scripts/panel_pos.tcl: Fix some fonts.
+
+2006-11-21 23:30  michael
+
+	* visualization/nviz/scripts/panel_color.tcl,
+	  visualization/nviz/scripts/panel_cutplane.tcl,
+	  visualization/nviz/scripts/panel_pos.tcl,
+	  visualization/nviz/scripts/panel_sdiff.tcl: Updated GUI to be
+	  consistent with new GUI look for NVIZ. Updated
+	  widgets. Some code cleanup.
+
+2006-11-21 23:29  michael
+
+	* visualization/nviz/scripts/panel_main.tcl: Further reorganized
+	  GUI to group similar functions.
+
+2006-11-21 23:28  michael
+
+	* visualization/nviz/scripts/config.tcl,
+	  visualization/nviz/scripts/panel_surf.tcl,
+	  visualization/nviz/scripts/panel_vect.tcl: Removed bwidget
+	  reference. Belongs only in main calling script.
+
+2006-11-21 23:27  michael
+
+	* visualization/nviz/scripts/nviz2.2_script: Changed bwidget
+	  reference to -exact for ver. 1.2.1 (the version that GRASS uses)
+
+2006-11-21 23:26  michael
+
+	* visualization/nviz/scripts/panel_site.tcl: Updated copyright
+	  header
+
+2006-11-21 23:24  michael
+
+	* visualization/nviz/scripts/widgets.tcl: Added comment on scale
+	  update widget
+
+2006-11-21 23:06  hamish
+
+	* display/d.nviz/main.c, gui/tcltk/d.m/d.m.tcl,
+	  gui/tcltk/gis.m/gm.tcl: d.nviz niceness
+
+2006-11-21 23:02  markus
+
+	* raster/r.li/description.html: link to all modules
+
+2006-11-21 22:56  markus
+
+	* raster/r.li/TODO: change the examples to Spearfish
+
+2006-11-21 22:42  markus
+
+	* raster/Makefile: r.li activated
+
+2006-11-21 22:41  markus
+
+	* raster/r.li/Makefile, raster/r.li/TODO,
+	  raster/r.li/description.html,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/Makefile,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/cellWeighted.h,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/contrastWeightedEdgeDensity.c,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/description.html,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/utility.c,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/utility.h,
+	  raster/r.li/r.li.daemon/GenericCell.c,
+	  raster/r.li/r.li.daemon/GenericCell.h,
+	  raster/r.li/r.li.daemon/Makefile, raster/r.li/r.li.daemon/avl.c,
+	  raster/r.li/r.li.daemon/avl.h, raster/r.li/r.li.daemon/avlDefs.h,
+	  raster/r.li/r.li.daemon/avlID.c, raster/r.li/r.li.daemon/avlID.h,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.li/r.li.daemon/defs.h,
+	  raster/r.li/r.li.daemon/description.html,
+	  raster/r.li/r.li.daemon/index.h,
+	  raster/r.li/r.li.daemon/worker.c,
+	  raster/r.li/r.li.edgedensity/Makefile,
+	  raster/r.li/r.li.edgedensity/description.html,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.meanPatchSize/Makefile,
+	  raster/r.li/r.li.meanPatchSize/description.html,
+	  raster/r.li/r.li.meanPatchSize/meanPatchSize.c,
+	  raster/r.li/r.li.meanPixelAttribute/Makefile,
+	  raster/r.li/r.li.meanPixelAttribute/description.html,
+	  raster/r.li/r.li.meanPixelAttribute/meanPixelAttribute.c,
+	  raster/r.li/r.li.patchAreaDistributionCV/Makefile,
+	  raster/r.li/r.li.patchAreaDistributionCV/description.html,
+	  raster/r.li/r.li.patchAreaDistributionCV/patchAreaDistributionCV.c,
+	  raster/r.li/r.li.patchAreaDistributionRANGE/description.html,
+	  raster/r.li/r.li.patchdensity/Makefile,
+	  raster/r.li/r.li.patchdensity/description.html,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnumber/Makefile,
+	  raster/r.li/r.li.patchnumber/main.c,
+	  raster/r.li/r.li.setup/description.html,
+	  raster/r.li/r.li.shannon/Makefile,
+	  raster/r.li/r.li.shannon/description.html,
+	  raster/r.li/r.li.shannon/shannon.c,
+	  raster/r.li/r.li.shape/Makefile, raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/Makefile,
+	  raster/r.li/r.li.simpson/description.html,
+	  raster/r.li/r.li.simpson/simpson.c: Serena Pallecchi/Faunalia:
+	  various fixes; r.li lib now shared lib
+
+2006-11-21 22:36  markus
+
+	* raster/r.li/r.li.dominance, raster/r.li/r.li.dominance/Makefile,
+	  raster/r.li/r.li.dominance/description.html,
+	  raster/r.li/r.li.dominance/dominance.c,
+	  raster/r.li/r.li.dominance/rliDominance_formula.png,
+	  raster/r.li/r.li.patchAreaDistributionSD,
+	  raster/r.li/r.li.patchAreaDistributionSD/Makefile,
+	  raster/r.li/r.li.patchAreaDistributionSD/description.html,
+	  raster/r.li/r.li.patchAreaDistributionSD/patchAreaDistributionSD.c,
+	  raster/r.li/r.li.patchAreaDistributionSD/rliPatchAreaDistributionSD_formula.png,
+	  raster/r.li/r.li.richness, raster/r.li/r.li.richness/Makefile,
+	  raster/r.li/r.li.richness/description.html,
+	  raster/r.li/r.li.richness/richness.c,
+	  raster/r.li/r.li.richness/rliRichness_formula.png: Serena
+	  Pallecchi/Faunalia: new r.li index added
+
+2006-11-21 22:28  markus
+
+	* raster/r.li/r.li.patchAreaDistributionRANGE,
+	  raster/r.li/r.li.patchAreaDistributionRANGE/Makefile,
+	  raster/r.li/r.li.patchAreaDistributionRANGE/description.html,
+	  raster/r.li/r.li.patchAreaDistributionRANGE/patchAreaDistributionRANGE.c,
+	  raster/r.li/r.li.patchAreaDistributionRANGE/rliPatchAreaDistributionRANGE_formula.png:
+	  Serena Pallecchi: new r.li index added
+
+2006-11-21 22:12  markus
+
+	* raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.meanPatchSize/meanPatchSize.c,
+	  raster/r.li/r.li.meanPixelAttribute/description.html,
+	  raster/r.li/r.li.meanPixelAttribute/meanPixelAttribute.c,
+	  raster/r.li/r.li.patchAreaDistributionCV/description.html,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.shannon/description.html,
+	  raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson/description.html,
+	  raster/r.li/r.li.simpson/simpson.c: dos2unix'ed to avoid patch
+	  evil
+
+2006-11-21 14:01  brad
+
+	* lib/gmath/gmathlib.dox: - Fixed typos, etc.
+
+2006-11-21 11:22  brad
+
+	* include/gisdefs.h, lib/gis/writ_zeros.c: - Updated
+	  G_write_zeros() to use size_t for LFS
+	  - Updated function docs in source for docbook
+
+2006-11-21 08:32  markus
+
+	* lib/ogsf/gsd_fringe.c: revert (temporarily?) back to existent
+	  function name
+
+2006-11-21 08:32  markus
+
+	* lib/ogsf/GS2.c: use G_debug()
+
+2006-11-21 06:50  brad
+
+	* lib/imagery/fopen.c: - Removed static functions error() and
+	  error(). Too difficult to localize.
+	  - Inlined G_warning() into source, rather than call error() or
+	  error2().
+	  - Added locale macros to G_warning() strings.
+
+2006-11-21 04:24  hamish
+
+	* raster/r.texture/main.c, vector/v.vol.rst/main.c: guisections &
+	  cleanup
+
+2006-11-21 00:14  michael
+
+	* lib/ogsf/GS2.c: Update from Bob Covill for fringe in NVIZ. The
+	  only difference
+	  I can see between this file and the one currently on the cvs
+	  is in the ID line.
+
+2006-11-21 00:13  michael
+
+	* include/ogsf_proto.h: Update from Bob Covill for NVIZ fringe. The
+	  only difference I
+	  can see between this file and the one on the cvs is the ID line.
+
+2006-11-21 00:11  michael
+
+	* lib/ogsf/gsd_fringe.c: Update from Bob Covill for fringe in NVIZ
+
+2006-11-20 22:48  markus
+
+	* gui/tcltk/gis.m/description.html: explained how to change TclTk
+	  fonts for gis.m
+
+2006-11-20 22:30  markus
+
+	* doc/raster/r.example/description.html: link fix
+
+2006-11-20 22:25  paul
+
+	* lib/init/echo.c: Update to work as described in header with
+	  additional flag for old
+	  behaviour - as discussed on mailing list.
+
+2006-11-20 19:32  michael
+
+	* visualization/nviz/scripts/panel_query.tcl,
+	  visualization/nviz/scripts/panel_query_orig.tcl,
+	  visualization/nviz/scripts/panel_query_pg.tcl: panel_query.tcl,
+	  panel_query_orig.tcl, and panel_query_pg.tcl
+	  have been replaced by single panel_rquery.tcl
+
+2006-11-20 19:31  michael
+
+	* visualization/nviz/scripts/panel_highlight.tcl,
+	  visualization/nviz/scripts/panel_pick.tcl: panel_highlight.tcl
+	  and panel_pick.tcl have been replaced by
+	  new combined panel_vquery.tcl.
+
+2006-11-20 19:29  michael
+
+	* visualization/nviz/scripts/panel_site.tcl: Updated copyright
+	  header. Changed draw current button to be consistent
+	  across all modules. Changed "marker" to "icon" to be consistent
+	  with other GRASS terminology. Added [G_msg...] clause to ComboBox
+	  label to see if it fixes problems with some systems.
+
+2006-11-20 19:27  michael
+
+	* visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panelIndex,
+	  visualization/nviz/scripts/tclIndex: Updated copyright header.
+	  Sourced gmsg.tcl for future internationalization
+	  Changed main menus to divide long list of panels into
+	  Appearance and Visualization. Rearranged panels in menus to
+	  group raster, vector, volume, and animation.
+
+2006-11-20 19:25  michael
+
+	* visualization/nviz/scripts/site_attr.tcl: updated copyright
+	  header. Changed "marker" to "icon" to make
+	  it consistent with other GRASS terminology.
+
+2006-11-20 19:24  michael
+
+	* visualization/nviz/scripts/panel_vol.tcl: Updated GUI of volume
+	  control panel. Simplified code somewhat,
+	  updated to newer widgets, improved interface.
+
+2006-11-20 19:22  michael
+
+	* visualization/nviz/scripts/panel_vquery.tcl: Updated vector query
+	  module. Replaces panel_pick.tcl and
+	  panel_highlight.tcl. The latter 2 modules will be deprecated
+
+2006-11-20 19:21  michael
+
+	* visualization/nviz/scripts/panel_rquery.tcl: Updated replacement
+	  for 3 older raster query modules. The old modules
+	  will be deprecated (panel_query.tcl, panel_query_orig.tcl, and
+	  panel_query_pg.tcl)
+
+2006-11-20 19:19  michael
+
+	* visualization/nviz/scripts/configIndex: List of modules to go
+	  into the new appearance menu
+
+2006-11-20 19:18  michael
+
+	* visualization/nviz/scripts/config.tcl,
+	  visualization/nviz/scripts/widgets.tcl: Added copyright header
+
+2006-11-20 19:17  michael
+
+	* visualization/nviz/scripts/wirecolorPopup.tcl: Updated appearance
+	  of panel. Added copyright header
+
+2006-11-20 19:16  michael
+
+	* visualization/nviz/scripts/panel_vect.tcl: Added copyright header
+	  and made draw current button consistent
+	  across modules
+
+2006-11-20 19:15  michael
+
+	* visualization/nviz/scripts/panel_surf.tcl: Copyright header and
+	  some code reformatting
+
+2006-11-20 19:14  michael
+
+	* visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_scale.tcl: Update for improved
+	  fringe from Bob Covill
+
+2006-11-20 19:12  michael
+
+	* visualization/nviz/scripts/ACS_utils.tcl,
+	  visualization/nviz/scripts/attIsosurfPopup.tcl,
+	  visualization/nviz/scripts/attPopup.tcl,
+	  visualization/nviz/scripts/colorPopup.tcl,
+	  visualization/nviz/scripts/fileBrowser.tcl,
+	  visualization/nviz/scripts/filemapBrowser.tcl,
+	  visualization/nviz/scripts/mapBrowser.tcl,
+	  visualization/nviz/scripts/multimapBrowser.tcl: Minor appearance
+	  updates to create consistent appearance of
+	  widgets
+
+2006-11-20 18:59  michael
+
+	* lib/ogsf/GS2.c: updates from Bob Covill for improved fringe in
+	  NVIZ
+
+2006-11-20 18:58  michael
+
+	* include/ogsf_proto.h: update from Bob Covill for improved fringe
+
+2006-11-20 18:54  michael
+
+	* visualization/nviz/src/draw.c,
+	  visualization/nviz/src/togl_flythrough.c: updates from Bob Covill
+	  for improved flythough
+
+2006-11-20 18:52  michael
+
+	* gui/tcltk/gis.m/commonlayer.tcl: removing unneeded d.frame -e
+	  command
+
+2006-11-20 13:27  stephan
+
+	* locale/po/grassmods_de.po: + Robert Nuske: corrected updated
+	  german modulemessages
+
+2006-11-20 13:01  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: fixed output path problem (bug
+	  #5206)
+
+2006-11-20 12:55  markus
+
+	* vector/v.extract/main.c: don't crash on DBMI failure (bug #5248)
+
+2006-11-20 12:08  stephan
+
+	* locale/po/grassmods_de.po: reverting changes back to version 1.83
+	  du to errors in my last commit. sorry. commiting a new patch soon
+
+2006-11-20 11:25  markus
+
+	* db/drivers/ogr/Makefile, db/drivers/ogr/grass-ogr.html:
+	  minimalistic docs added
+
+2006-11-20 10:53  markus
+
+	* raster/r.out.gdal/main.c: fixed output parameter; percent
+	  cosmetics
+
+2006-11-20 10:49  markus
+
+	* raster/r.median/read_stats.c: added missing header
+
+2006-11-20 09:42  markus
+
+	* Makefile: referer removed from htmldoc
+
+2006-11-20 08:29  stephan
+
+	* locale/po/grassmods_de.po: + Robert Nuske: more german
+	  GRASS-translations
+
+2006-11-20 08:04  brad
+
+	* lib/gmath/README, lib/gmath/TODO, lib/gmath/gmathlib.dox: -
+	  Updated local documentation
+
+2006-11-20 07:52  brad
+
+	* lib/gmath/dalloc.c, lib/gmath/del2g.c, lib/gmath/eigen.c,
+	  lib/gmath/fft.c, lib/gmath/gauss.c, lib/gmath/getg.c,
+	  lib/gmath/jacobi.c, lib/gmath/local_proto.h, lib/gmath/lu.c,
+	  lib/gmath/max_pow2.c, lib/gmath/mult.c, lib/gmath/numerical.h,
+	  lib/gmath/rand1.c: - Moved #defines from local_proto.h to fft.c
+	  - Removed numerica.h and local_proto.h
+	  - Added docbook documentation for most exported functions
+	  - Minor source cleanups
+
+2006-11-20 05:24  hamish
+
+	* raster/r.watershed/front/description.html: Interactive mode not
+	  activated in GRASS 6.
+
+2006-11-20 01:52  hamish
+
+	* vector/v.transform/main.c: warn if no pointsfile was given. (is
+	  the Vask bit even functional??)
+	  bug #5210
+
+2006-11-20 00:50  hamish
+
+	* vector/v.surf.rst/main.c: move some options into the "Analysis"
+	  tab
+
+2006-11-19 22:28  hamish
+
+	* raster/r.watershed/front/main.c, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/seg/Makefile: include module name in support
+	  binaries
+
+2006-11-19 20:02  markus
+
+	* scripts/v.dissolve/description.html: typo
+
+2006-11-19 19:57  markus
+
+	* scripts/v.dissolve/description.html: tile boundaries dissolve
+	  example
+
+2006-11-19 11:09  jachym
+
+	* raster/r.median/main.c, raster/r.median/read_stats.c: fprintf to
+	  G_fatal_error
+
+2006-11-19 09:26  brad
+
+	* lib/gmath/la.c: - Localized text
+	  - Use G_msg functions instead of fprintf(stderr...)
+	  - Added docbook documentation for each exported function
+
+2006-11-19 08:50  maciej
+
+	* raster/r.slope.aspect/description.html: ...and one typo more
+
+2006-11-19 08:48  maciej
+
+	* raster/r.slope.aspect/description.html: more cleanup
+
+2006-11-19 08:42  maciej
+
+	* raster/r.slope.aspect/description.html: doc cleaned and extended;
+	  could use a native speaker looking at it
+
+2006-11-18 17:07  paul
+
+	* display/drivers/Makefile: Touch an empty monitorcap if none
+	  exists (e.g. native Windows)
+
+2006-11-18 15:02  hamish
+
+	* vector/v.transform/main.c: use guisection for gui tabs
+
+2006-11-18 14:45  hamish
+
+	* raster/r.in.bin/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.sun/main.c, raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, vector/v.surf.rst/main.c: use
+	  guisections for gui tabs
+
+2006-11-18 13:01  paul
+
+	* lib/gis/progrm_nme.c: Don't mess with const strings.
+
+2006-11-18 11:44  hamish
+
+	* display/d.grid/main.c: add fontsize option
+
+2006-11-18 11:35  hamish
+
+	* display/d.grid/local_proto.h, display/d.grid/plot.c: add fontsize
+	  option
+
+2006-11-18 11:01  hamish
+
+	* lib/gis/parser.c: tooltip wording
+
+2006-11-18 09:05  hamish
+
+	* gui/tcltk/menus/menu.tcl: added r.out.xyz
+
+2006-11-18 08:14  hamish
+
+	* raster/r.out.ascii/description.html: mention r.out.xyz
+
+2006-11-18 07:02  hamish
+
+	* scripts/Makefile: add new module: r.out.xyz
+
+2006-11-18 07:00  hamish
+
+	* scripts/r.out.xyz, scripts/r.out.xyz/Makefile,
+	  scripts/r.out.xyz/description.html, scripts/r.out.xyz/r.out.xyz:
+	  new module: export a raster map as x,y,z, to a text file
+	  (simple wrapper for r.stats -1gn)
+
+2006-11-18 03:11  helena
+
+	* raster/simwe/r.sim.sediment/description.html,
+	  raster/simwe/r.sim.water/description.html: man page fix
+
+2006-11-17 22:15  cho
+
+	* raster/r.surf.fractal/frac.h: Added stdlib.h for EXIT_SUCCESS
+
+2006-11-17 20:54  markus
+
+	* db/db.login/main.c: hidden password conditionalized upon
+	  HAVE_TERMIOS_H
+
+2006-11-17 18:27  michael
+
+	* gui/tcltk/gis.m/dtext.tcl: Slightly more elegant fix for
+	  dtext.tcl.
+
+2006-11-17 18:23  michael
+
+	* gui/tcltk/gis.m/dtext.tcl: Fix bug causing GUI crash on redraw
+	  all layers
+
+2006-11-17 18:17  martinl
+
+	* raster/r.surf.fractal/interface.c, raster/r.surf.fractal/main.c,
+	  raster/r.surf.fractal/open_files.c,
+	  raster/r.surf.fractal/spec_syn.c,
+	  raster/r.surf.fractal/write_rast.c: * --o doesn't have an effect
+	  -> bug fixed
+	  * various fixes (EXIT_FAILURE, EXIT_SUCCESS, I18N, ...)
+
+2006-11-17 16:58  markus
+
+	* lib/symbol/Makefile: avoid tar for Solaris
+
+2006-11-17 16:20  helena
+
+	* vector/v.surf.rst/description.html: links to pdf papers added
+
+2006-11-17 12:22  brad
+
+	* imagery/i.pca/globals.h, imagery/i.pca/main.c: - Localized text
+	  (as much as possible)
+	  - Used EXIT_SUCCESS|EXIT_FAILURE
+	  - Remove globals.h: unused
+	  - Made code somewhat easier to read
+
+2006-11-17 08:24  markus
+
+	* raster/r.li/TODO: these TODOs should be really addressed now
+
+2006-11-17 07:31  hamish
+
+	* lib/gis/parser.c: missing newlines
+
+2006-11-17 07:22  hamish
+
+	* raster/r.report/parse.c: use opt->guisection, EXIT_FAILURE
+
+2006-11-17 06:13  hamish
+
+	* display/d.legend/main.c, display/d.vect/main.c, lib/gis/parser.c,
+	  raster/r.sunmask/main.c, raster/r.watershed/front/main.c,
+	  vector/v.buffer/main.c, vector/v.label/main.c: use
+	  opt->guisection, EXIT_SUCCESS
+
+2006-11-16 06:50  brad
+
+	* lib/gis/geodesic.c, lib/gis/radii.c, lib/gis/rhumbline.c: -
+	  Removed extern function prototypes and included proper header(s)
+	  for function.
+
+2006-11-16 06:43  markus
+
+	* locale/po/grassmods_de.po: wording
+
+2006-11-16 06:43  markus
+
+	* db/db.login/description.html, db/db.login/main.c: unvisible
+	  password (thanks to Glynn
+
+2006-11-16 05:31  hamish
+
+	* lib/imagery/list_subgp.c: simplify I_list_subgroup_simple()
+
+2006-11-16 01:13  hamish
+
+	* ps/ps.map/r_paper.c: bugfix: varibables were being used
+	  uninitialized if paper dims were not given
+
+2006-11-15 22:49  hamish
+
+	* lib/gis/parser.c: --v and --q flags are always present, so always
+	  show Flags: text.
+
+2006-11-15 22:23  hamish
+
+	* scripts/v.convert.all/description.html,
+	  scripts/v.convert.all/v.convert.all,
+	  scripts/v.in.sites.all/description.html,
+	  scripts/v.in.sites.all/v.in.sites.all: reinstate -r flag, it's
+	  there to stop the gui from coming up
+
+2006-11-15 19:28  jachym
+
+	* raster/r.kappa/calc_kappa.c, raster/r.kappa/kappa.h,
+	  raster/r.kappa/main.c, raster/r.kappa/mask.c,
+	  raster/r.kappa/prt_hdr.c, raster/r.kappa/prt_label.c,
+	  raster/r.kappa/prt_mat.c, raster/r.kappa/stats.c: * fprintf ->
+	  G_warning or G_fatal_error
+	  * added some internationalisation macros
+
+2006-11-15 15:47  markus
+
+	* db/db.login/main.c: break, not return
+
+2006-11-15 15:24  markus
+
+	* db/db.login/description.html, db/db.login/main.c: interactive
+	  password query added
+
+2006-11-15 15:21  markus
+
+	* scripts/v.what.vect/description.html: explain multipoint
+	  behaviour
+
+2006-11-15 14:58  markus
+
+	* scripts/v.db.addcol/v.db.addcol: Descriptions start with capital
+	  letter; bash-ism removed
+
+2006-11-15 14:57  markus
+
+	* vector/v.in.ogr/main.c: clarify messages
+
+2006-11-15 13:53  markus
+
+	* db/base/db.connect.html: we do not yet check for valid settings
+
+2006-11-15 13:36  markus
+
+	* db/db.login/main.c: i18N; EXIT_FAILURE, EXIT_SUCCESS
+
+2006-11-15 13:18  markus
+
+	* vector/v.surf.rst/description.html: fix
+
+2006-11-15 13:09  markus
+
+	* tools/build_html_index.sh: fix permissions
+
+2006-11-15 11:54  paul
+
+	* lib/init/variables.html: Document new GRASS_SH env var
+
+2006-11-15 11:17  markus
+
+	* lib/init/init.sh: tell where the lockfile is
+
+2006-11-15 11:05  paul
+
+	* scripts/r.shaded.relief/r.shaded.relief: Fix bash-ism (reported
+	  by Luca Casagrande)
+
+2006-11-15 08:58  markus
+
+	* vector/v.out.ogr/main.c: more meaningful descriptions; layer_opt
+	  no longer required
+
+2006-11-15 08:41  markus
+
+	* lib/external/bwidget/Makefile: get rid of tar; use INSTALL_DATA
+	  to get permissions right
+
+2006-11-15 06:54  hamish
+
+	* lib/gis/parser.c: make overwrite help strings a bit clearer
+
+2006-11-15 06:41  hamish
+
+	* imagery/i.group/main.c: answer a question in the comments
+
+2006-11-15 06:30  hamish
+
+	* imagery/i.group/main.c, include/imagedefs.h,
+	  lib/imagery/list_gp.c, lib/imagery/list_subgp.c: add simple group
+	  listing
+	  bugfix: [i.group -l] only list maps in given subgroup
+
+2006-11-15 05:27  hamish
+
+	* general/g.parser/description.html: more on the guisection command
+
+2006-11-15 05:25  hamish
+
+	* general/g.parser/description.html: add d.ask, d.menu to see also
+	  section
+
+2006-11-15 05:19  hamish
+
+	* general/g.parser/description.html: mo' help
+
+2006-11-15 04:53  glynn
+
+	* lib/init/variables.html: Document GRASS_PNG_READ
+
+2006-11-15 04:23  hamish
+
+	* raster/r.out.mat/main.c: filename extension, cleanup
+
+2006-11-15 04:16  glynn
+
+	* general/g.setproj/proj-desc.table: Fix type of UTM "zone"
+	  parameter
+
+2006-11-15 03:57  hamish
+
+	* raster/r.in.xyz/main.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.stats/main.c, raster/r.watershed/front/main.c:
+	  better map titles
+
+2006-11-15 00:18  hamish
+
+	* display/d.font.freetype/description.html: remove outdated
+	  "release font" info (changed in 6.3)
+
+2006-11-14 23:44  hamish
+
+	* scripts/r.mapcalculator/r.mapcalculator: module description
+
+2006-11-14 23:39  hamish
+
+	* scripts/d.redraw/d.redraw, scripts/d.redraw/description.html,
+	  scripts/v.build.all/description.html,
+	  scripts/v.build.all/v.build.all,
+	  scripts/v.convert.all/description.html,
+	  scripts/v.convert.all/v.convert.all,
+	  scripts/v.in.sites.all/description.html,
+	  scripts/v.in.sites.all/v.in.sites.all: use g.parser for all but
+	  no-arg case (build help pages, guis, etc)
+
+2006-11-14 22:41  paul
+
+	* lib/gtcltk/gronsole.tcl, lib/init/Makefile,
+	  lib/init/grass-run.bat: Run interactive terminal modules from
+	  gis.m/gronsole on Windows.
+
+2006-11-14 16:50  paul
+
+	* gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/gm.tcl,
+	  gui/tcltk/gis.m/runandoutput.tcl, include/Make/Script.make,
+	  lib/gtcltk/Makefile, lib/gtcltk/grocat.c,
+	  lib/gtcltk/gronsole.tcl, lib/gtcltk/options.tcl,
+	  lib/init/gis_set.tcl, lib/init/init.sh,
+	  scripts/windows_launch.bat: * Detect Windows instead of Msys in
+	  Tcl files
+	  * Don't use Msys shell to launch modules from gis.m on Windows -
+	  call
+	  C modules normally and Shell scripts via batch files
+	  * Use new "grocat" program to merge stdout and stderr for modules
+	  run from gronsole.tcl
+
+2006-11-14 16:33  paul
+
+	* include/Make/Html.make: Include binary directory in
+	  LD_LIBRARY_PATH because it and PATH are the
+	  same thing on Windows and the LIBRARY setting was overwriting the
+	  PATH.
+	  This is a hack.
+
+2006-11-14 16:31  paul
+
+	* gui/icons/Makefile, gui/tcltk/gis.m/Makefile: General tidying of
+	  Makefiles: don't assume $(INSTALL) can handle more
+	  than one file, use $(INSTALL_DATA) where appropriate, don't put a
+	  trailing slash on directory names unless it appears to make the
+	  context
+	  clearer, remove duplication of "script" target in gis.m Makefile
+
+2006-11-14 16:25  paul
+
+	* lib/gis/progrm_nme.c: Handle Windows directory separators and
+	  remove ".exe" suffix if present,
+	  to make output consistent with Unix
+
+2006-11-14 15:48  paul
+
+	* raster/r.resamp.interp/description.html: A little addition to
+	  this documentation that I seem to have had sitting
+	  around since the time of the first commit.
+
+2006-11-14 15:44  paul
+
+	* general/g.proj/main.c: Better description of functionality
+
+2006-11-14 11:22  glynn
+
+	* lib/pngdriver/read.c, lib/pngdriver/read_png.c,
+	  lib/pngdriver/read_ppm.c: Initialise framebuffer from
+	  $GRASS_PNGFILE if $GRASS_PNG_READ = TRUE
+
+2006-11-13 16:35  michael
+
+	* visualization/nviz/scripts/panel_cutplane.tcl,
+	  visualization/nviz/scripts/panel_lights.tcl,
+	  visualization/nviz/scripts/panel_sdiff.tcl: Make scales increment
+	  smaller to larger, from left to right and
+	  bottom to top.
+
+2006-11-13 16:33  michael
+
+	* visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/panel_surf.tcl,
+	  visualization/nviz/scripts/panel_vect.tcl,
+	  visualization/nviz/scripts/site_attr.tcl: Update NVIZ GUI to
+	  improve usability.
+
+2006-11-13 16:32  michael
+
+	* visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/widgets.tcl: code cleanup
+
+2006-11-13 16:26  michael
+
+	* visualization/nviz/scripts/flythrough.tcl: Update from Bob Covill
+
+2006-11-13 16:25  michael
+
+	* visualization/nviz/scripts/config.tcl: Update options database
+	  for visual consistency across all panels
+
+2006-11-13 15:40  hamish
+
+	* scripts/d.out.gpsdrive/description.html: script fix from Jannis
+	  Achstetter
+
+2006-11-13 14:46  markus
+
+	* doc/projectionintro.html: refs added
+
+2006-11-13 14:44  markus
+
+	* raster/r.proj/description.html: ref added
+
+2006-11-13 14:29  glynn
+
+	* lib/pngdriver/Graph_set.c, lib/pngdriver/Makefile,
+	  lib/pngdriver/pngdriver.h, lib/pngdriver/write.c: Initialise
+	  framebuffer from $GRASS_PNGFILE if $GRASS_PNG_READ = TRUE
+
+2006-11-13 13:15  hamish
+
+	* raster/r.watershed/front/main.c: better map titles (use cats not
+	  hist)
+
+2006-11-13 09:49  hamish
+
+	* raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/seg/close_maps2.c: use null for no data
+	  instead of 0 on basins, half.basins, and stream seg maps
+	  not yet done for basins,half in seg mode (I couldn't see where to
+	  do that)
+	  bug #3960
+
+2006-11-13 09:25  hamish
+
+	* raster/r.watershed/front/description.html: updates from Chuck.
+	  (plus a few of my own)
+
+2006-11-13 05:01  brad
+
+	* lib/gis/gisinit.c: - Added stdlib.h
+
+2006-11-13 04:29  hamish
+
+	* raster/r.bilinear/description.html: warn that the module is
+	  depreciated
+
+2006-11-13 04:22  hamish
+
+	* raster/r.bilinear/main.c: This module is deprecated. Please use
+	  'r.stats.interp' instead.
+	  remove module after GRASS 6.x is done
+
+2006-11-13 04:10  hamish
+
+	* raster/r.le/r.le.setup/sample.c: SHAPE -> aspect ratio
+
+2006-11-12 08:49  hamish
+
+	* lib/init/init.sh: set default -gui target back to "tcltk" so that
+	  .grassrc6 remains backwards
+	  compatible with GRASS 6.2 most of the time
+
+2006-11-12 06:43  hamish
+
+	* display/d.vect/plot1.c: update comment for D_symbol()
+
+2006-11-12 05:24  hamish
+
+	* visualization/nviz/html/nviz_panel_kanim.html: encoding help from
+	  Maris
+
+2006-11-12 04:05  hamish
+
+	* lib/gis/getl.c: rip out G_debug all together. modules can use
+	  G_debug("%s", buff); with
+	  the result if they want. Adding more G_* calls just adds to the
+	  danger of
+	  encountering the same flavour of bug again.
+	  
+	  Martin discovered that G_getl2() called G_debug(), which needs
+	  gisenv DEBUG
+	  setting, but lib/gis/env.c uses G_getl2() to read the DEBUG
+	  value.
+
+2006-11-11 16:51  markus
+
+	* vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c:
+	  Roberto Antolin: qgis output file bugfix; cosmetics
+
+2006-11-11 00:14  brad
+
+	* lib/imagery/v_exec.c: - Used EXIT_SUCCESS for exit() call
+
+2006-11-10 20:08  martinl
+
+	* lib/gis/getl.c: call G_debug() only if DEBUG variable is defined
+
+2006-11-10 12:18  glynn
+
+	* general/g.pnmcomp/main.c, gui/tcltk/gis.m/mapcanvas.tcl: Extend
+	  g.pnmcomp to allow writing out alpha (mask) image
+
+2006-11-10 12:16  brad
+
+	* lib/imagery/v_exec.c: - Needed grass/config.h
+
+2006-11-10 10:02  brad
+
+	* lib/gis/color_rule.c, lib/gis/commas.c, lib/gis/gets.c,
+	  lib/gis/gisinit.c, lib/gis/home.c, lib/gis/make_mapset.c,
+	  lib/gis/mapcase.c, lib/gis/mapset.c, lib/gis/mapset_msc.c,
+	  lib/gis/nme_in_mps.c, lib/gis/popen.c, lib/gis/rhumbline.c,
+	  lib/gis/set_prior.c, lib/gis/verbose.c: - mapcase.c: removed
+	  namespace conflicts and inlined code
+	  - Used EXIT_SUCCESS|EXIT_FAILURE
+	  - Fixed minor compiler warnings
+
+2006-11-10 03:52  hamish
+
+	* raster/r.recode/main.c: remove unused var
+
+2006-11-10 03:50  hamish
+
+	* raster/r.recode/main.c: any interaction must run in a term window
+	  cleanup
+
+2006-11-10 03:48  hamish
+
+	* raster/r.reclass/main.c: more i18n
+
+2006-11-10 03:44  hamish
+
+	* raster/r.reclass/main.c: i18n
+
+2006-11-10 03:38  hamish
+
+	* raster/r.reclass/main.c: any interaction must run in a term
+	  window
+	  cleanup
+
+2006-11-10 03:31  hamish
+
+	* raster/r.reclass/description.html: minor html bugs
+
+2006-11-09 22:45  markus
+
+	* vector/v.patch/description.html: replaced non-existing v.clean
+	  tool
+
+2006-11-09 16:56  markus
+
+	* raster/r.in.gdal/description.html: explain gdalwarp
+
+2006-11-09 04:02  hamish
+
+	* tools/build_html_index.sh: full_index: no more g3.* commands, add
+	  m.* to types, xganim, links
+
+2006-11-08 18:09  michael
+
+	* gui/tcltk/d.m/menu.tcl: Make menu file for GIS Manager 1 (x11
+	  based displays and
+	  called by d.m script) independent from GIS Manager 2 (TclTk
+	  canvas displays and called by gis.m script). GM 1 and GM 2 will
+	  no longer share a common menu file.
+
+2006-11-08 18:07  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Make GIS Manager 2 menu independent
+	  of GIS Manager 1 (x11 based
+	  GUI/display called by d.m script). Menus no longer use a joint
+	  menu file (which will be deprecated).
+
+2006-11-08 18:04  michael
+
+	* gui/tcltk/gis.m/maptext.tcl: Update mouse placement options. Fix
+	  bugs in duplication and saving
+	  procedures.
+
+2006-11-08 18:03  michael
+
+	* gui/tcltk/gis.m/barscale.tcl: Update mouse placement options.
+
+2006-11-08 18:01  michael
+
+	* gui/tcltk/gis.m/legend.tcl: Change legend options so that it can
+	  be placed with mouse; add
+	  spinners for legend size.
+
+2006-11-08 17:56  michael
+
+	* gui/tcltk/gis.m/gmtool1.tcl: Added button for new text layer.
+	  Fixed spelling layer in help
+	  for PS text layer button.
+
+2006-11-08 17:55  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Removed line running d.font romans
+	  (unneeded now).
+	  Changed routines in bindings for mouse button one to work better
+	  with mouse placement of scales, legends, and text.
+
+2006-11-08 17:50  michael
+
+	* gui/tcltk/gis.m/dtext.tcl: New text layer, based on d.text.new
+
+2006-11-08 17:49  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Fixed incorrect reference to HOME
+	  directory path in procedure to
+	  save display to graphics file.
+
+2006-11-08 17:38  michael
+
+	* gui/tcltk/gis.m/pkgIndex.tcl: Add reference for new dtext.tcl
+	  script, for adding new text layer
+	  (based on d.text.new).
+
+2006-11-08 17:37  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: Add references to new text layer
+	  (based on d.text new)
+
+2006-11-08 17:37  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Add global variable for x11 fonts
+	  path--to be used with new
+	  text layer (using d.text.new).
+
+2006-11-08 17:34  michael
+
+	* gui/icons/gui-maptext.gif, gui/icons/module-d.text.gif: new icon
+	  for new d.text.new module and update PS text icon
+	  to have similar appearance
+
+2006-11-08 17:13  markus
+
+	* locale/po/grasslibs_it.po: Giuseppe Patti <gpatt at tiscali.it>:
+	  cont'ed
+
+2006-11-08 13:38  markus
+
+	* Makefile, tools/grassdocs.css: new target html2pdfdoc (needs
+	  http://www.htmldoc.org); related fixes for CSS style
+
+2006-11-08 13:07  moritz
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: fix small bug to use the explore
+	  mode resolution variable in explore mode
+
+2006-11-08 09:57  hamish
+
+	* db/base/Makefile: don't create db.droptable man page as the
+	  module isn't being built
+
+2006-11-08 08:50  hamish
+
+	* tools/build_html_index.sh: no more paint commands
+
+2006-11-08 08:30  hamish
+
+	* imagery/i.class/Makefile, imagery/i.class/description.html,
+	  imagery/i.class/main.c: first step at making the module use
+	  G_parser()
+
+2006-11-08 07:37  hamish
+
+	* general/g.access/Makefile, general/g.access/main.c: EXIT_SUCCESS,
+	  i18n, module isn't interactive
+
+2006-11-08 04:32  hamish
+
+	* display/d.histogram/main.c: clear just the current frame, not the
+	  full screen
+
+2006-11-07 11:42  paul
+
+	* lib/proj/convert.c: Handle non-standard ETRS_1989 datum name
+
+2006-11-07 06:26  brad
+
+	* lib/g3d/g3drange.c: - Remove unused variables
+
+2006-11-07 06:05  brad
+
+	* lib/form/open.c: - Null terminated execl() call
+
+2006-11-07 06:01  brad
+
+	* lib/fonts/for_grass/splitfont.c: - Remove unused variables
+
+2006-11-07 05:35  brad
+
+	* lib/driver/Draw.c, lib/driver/parse_ftcap.c: - Removed unused
+	  variables
+
+2006-11-07 05:15  brad
+
+	* lib/datetime/incr1.c: - #if 0 out currently unused function
+
+2006-11-07 01:32  brad
+
+	* REQUIREMENTS.html: - Added references to optional readline
+	  support
+
+2006-11-06 22:42  paul
+
+	* lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_projname.c, lib/proj/datum.c: Quote paths passed to
+	  system() in case they contain spaces or
+	  backslashes are passed to a shell
+
+2006-11-06 14:57  markus
+
+	* raster/r.li, raster/r.li/Makefile, raster/r.li/description.html,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/Makefile,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/cellWeighted.h,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/contrastWeightedEdgeDensity.c,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/description.html,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/rliContrastWeightedEdgeDensity_formula.png,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/utility.c,
+	  raster/r.li/r.li.contrastWeightedEdgeDensity/utility.h,
+	  raster/r.li/r.li.daemon, raster/r.li/r.li.daemon/GenericCell.c,
+	  raster/r.li/r.li.daemon/GenericCell.h,
+	  raster/r.li/r.li.daemon/Makefile, raster/r.li/r.li.daemon/avl.c,
+	  raster/r.li/r.li.daemon/avl.h, raster/r.li/r.li.daemon/avlDefs.h,
+	  raster/r.li/r.li.daemon/avlID.c, raster/r.li/r.li.daemon/avlID.h,
+	  raster/r.li/r.li.daemon/daemon.c,
+	  raster/r.li/r.li.daemon/daemon.h, raster/r.li/r.li.daemon/defs.h,
+	  raster/r.li/r.li.daemon/description.html,
+	  raster/r.li/r.li.daemon/index.h, raster/r.li/r.li.daemon/ipc.c,
+	  raster/r.li/r.li.daemon/ipc.h, raster/r.li/r.li.daemon/list.c,
+	  raster/r.li/r.li.daemon/list.h, raster/r.li/r.li.daemon/main.c,
+	  raster/r.li/r.li.daemon/worker.c, raster/r.li/r.li.edgedensity,
+	  raster/r.li/r.li.edgedensity/Makefile,
+	  raster/r.li/r.li.edgedensity/description.html,
+	  raster/r.li/r.li.edgedensity/edgedensity.c,
+	  raster/r.li/r.li.edgedensity/rliEdgeDensity_formula1.png,
+	  raster/r.li/r.li.edgedensity/rliEdgeDensity_formula2.png,
+	  raster/r.li/r.li.meanPatchSize,
+	  raster/r.li/r.li.meanPatchSize/Makefile,
+	  raster/r.li/r.li.meanPatchSize/description.html,
+	  raster/r.li/r.li.meanPatchSize/meanPatchSize.c,
+	  raster/r.li/r.li.meanPatchSize/rliMeanPatchSize_formula.png,
+	  raster/r.li/r.li.meanPixelAttribute,
+	  raster/r.li/r.li.meanPixelAttribute/Makefile,
+	  raster/r.li/r.li.meanPixelAttribute/description.html,
+	  raster/r.li/r.li.meanPixelAttribute/meanPixelAttribute.c,
+	  raster/r.li/r.li.meanPixelAttribute/rliMeanPixelAttribute_formula.png,
+	  raster/r.li/r.li.patchAreaDistributionCV,
+	  raster/r.li/r.li.patchAreaDistributionCV/Makefile,
+	  raster/r.li/r.li.patchAreaDistributionCV/description.html,
+	  raster/r.li/r.li.patchAreaDistributionCV/patchAreaDistributionCV.c,
+	  raster/r.li/r.li.patchAreaDistributionCV/rliPatchAreaDistributionCV_formula.png,
+	  raster/r.li/r.li.patchdensity,
+	  raster/r.li/r.li.patchdensity/Makefile,
+	  raster/r.li/r.li.patchdensity/description.html,
+	  raster/r.li/r.li.patchdensity/main.c,
+	  raster/r.li/r.li.patchnumber,
+	  raster/r.li/r.li.patchnumber/Makefile,
+	  raster/r.li/r.li.patchnumber/main.c, raster/r.li/r.li.setup,
+	  raster/r.li/r.li.setup/Makefile,
+	  raster/r.li/r.li.setup/area_query,
+	  raster/r.li/r.li.setup/circle.txt,
+	  raster/r.li/r.li.setup/description.html,
+	  raster/r.li/r.li.setup/masked_area_selection,
+	  raster/r.li/r.li.setup/polygon.txt,
+	  raster/r.li/r.li.setup/r.li.setup,
+	  raster/r.li/r.li.setup/r.li.setup.main,
+	  raster/r.li/r.li.setup/r.li.setup.procedures.tcl,
+	  raster/r.li/r.li.setup/r.li.windows.tcl,
+	  raster/r.li/r.li.setup/sampleAreas.jpg,
+	  raster/r.li/r.li.setup/sample_area_vector.sh,
+	  raster/r.li/r.li.setup/square_mouse_selection.sh,
+	  raster/r.li/r.li.setup/square_query, raster/r.li/r.li.shannon,
+	  raster/r.li/r.li.shannon/Makefile,
+	  raster/r.li/r.li.shannon/description.html,
+	  raster/r.li/r.li.shannon/rliShannon_formula.png,
+	  raster/r.li/r.li.shannon/shannon.c, raster/r.li/r.li.shape,
+	  raster/r.li/r.li.shape/Makefile, raster/r.li/r.li.shape/main.c,
+	  raster/r.li/r.li.simpson, raster/r.li/r.li.simpson/Makefile,
+	  raster/r.li/r.li.simpson/description.html,
+	  raster/r.li/r.li.simpson/rliSimpson_formula.png,
+	  raster/r.li/r.li.simpson/simpson.c: C Porta, L D Spano, S
+	  Pallecchi; commission from www.faunalia.it, Italy
+
+2006-11-06 09:25  martinl
+
+	* raster/r.out.gdal/main.c: bug [segfault in XY (unprojected)
+	  location] fixed
+
+2006-11-06 00:15  brad
+
+	* raster/r.terraflow/IOStream/include/replacementHeap.h,
+	  raster/r.terraflow/IOStream/include/replacementHeapBlock.h: - Fix
+	  for very recent versions of gcc4.1.1 (gcc bug?)
+
+2006-11-05 11:11  paul
+
+	* lib/gis/ellipse.table, lib/proj/convert.c, lib/proj/ellipse.c,
+	  lib/proj/get_proj.c, lib/proj/local_proto.h: - Put ellipsoid full
+	  name in WKT projection output
+	  - Improved doxygenisation of gproj library
+	  - Try to put GRASS ellipsoid name rather than a and es parameters
+	  into
+	  generated PROJ_INFO whenever possible
+
+2006-11-05 10:54  glynn
+
+	* lib/Makefile, lib/external/bwidget/Makefile, lib/gtcltk/Makefile:
+	  Don't assume $(INSTALL) accepts multiple filenames
+	  Use $(INSTALL_DATA) rather than "$(INSTALL) -m ..."
+
+2006-11-05 06:11  hamish
+
+	* raster/r.watershed/front/description.html: add streams -> vector
+	  example
+
+2006-11-05 04:12  glynn
+
+	* raster/r.in.xyz/main.c: Include <sys/types.h> for off_t
+
+2006-11-05 03:52  glynn
+
+	* lib/Makefile: Don't assume that $(INSTALL) accepts multiple
+	  filenames
+
+2006-11-04 23:14  martinl
+
+	* raster/r.out.gdal/main.c, scripts/r.out.gdal/r.out.gdal: first
+	  letter (option/flag) always big
+
+2006-11-04 21:28  paul
+
+	* configure, configure.in, include/Make/Grass.make.in,
+	  include/Make/Module.make, include/Make/Platform.make.in: ***
+	  empty log message ***
+
+2006-11-04 21:02  markus
+
+	* raster/r.out.gdal/description.html: html fix
+
+2006-11-04 20:43  markus
+
+	* raster/r.out.gdal/description.html: each command must be
+	  documented
+
+2006-11-04 08:22  brad
+
+	* include/cdhc.h: - Updated to better function prototyping
+
+2006-11-04 04:05  brad
+
+	* lib/cdhc/andrsnde.c, lib/cdhc/andrsndn.c, lib/cdhc/as177.c,
+	  lib/cdhc/as181.c, lib/cdhc/as241.c, lib/cdhc/as66.c,
+	  lib/cdhc/c-drive.c, lib/cdhc/cdhc.h, lib/cdhc/chisqe.c,
+	  lib/cdhc/chisqn.c, lib/cdhc/cvmw2e.c, lib/cdhc/cvmw2n.c,
+	  lib/cdhc/dagstndn.c, lib/cdhc/dblcomp.c, lib/cdhc/dcmp.c,
+	  lib/cdhc/dmax.c, lib/cdhc/dmaxe.c, lib/cdhc/durbins.c,
+	  lib/cdhc/enormp.c, lib/cdhc/extreme.c, lib/cdhc/f-drive.f,
+	  lib/cdhc/geary.c, lib/cdhc/kotz.c, lib/cdhc/kse.c,
+	  lib/cdhc/ksn.c, lib/cdhc/kuiprsve.c, lib/cdhc/kuiprsvn.c,
+	  lib/cdhc/local_proto.h, lib/cdhc/normp.c, lib/cdhc/omnibus.c,
+	  lib/cdhc/royston.c, lib/cdhc/shapiro1.c,
+	  lib/cdhc/shapiro1.c.save, lib/cdhc/shapiro2.c,
+	  lib/cdhc/shapiroe.c, lib/cdhc/test.c, lib/cdhc/test.f,
+	  lib/cdhc/watsonue.c, lib/cdhc/watsonun.c, lib/cdhc/weisberg.c,
+	  lib/cdhc/xinormal.c: - Updated function prototypes and removed
+	  weak declarations
+	  - Used EXIT_FAILURE|EXIT_SUCCESS
+	  - Fixed compiler warnings
+	  - Removed cdhc.h (already in grass/include)
+	  - Removed unused files
+	  - Added local_proto.h for local function declarations
+	  - Improved code readability slightly
+
+2006-11-04 00:01  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Slight update to align starting
+	  point for display with resolution
+
+2006-11-03 22:43  glynn
+
+	* raster/r.resamp.stats/main.c: Fix window enlargement
+
+2006-11-03 20:07  paul
+
+	* Makefile, aclocal.m4, configure, configure.in,
+	  general/g.setproj/proj.c, include/Make/Grass.make.in,
+	  include/Make/Html.make, include/Make/Module.make,
+	  include/Make/Platform.make.in, include/Make/Script.make,
+	  include/Make/Shlib.make, include/gis.h, include/gisdefs.h,
+	  lib/display/tran_colr.c, lib/gis/clear_scrn.c, lib/gis/datum.c,
+	  lib/gis/env.c, lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_ellipse.c, lib/gis/get_projname.c, lib/gis/gets.c,
+	  lib/gis/location.c, lib/gis/make_loc.c, lib/gis/make_mapset.c,
+	  lib/gis/parser.c, lib/gis/paths.c, lib/init/init.sh,
+	  lib/init/mke_loc.c, lib/pngdriver/Color_table.c,
+	  lib/proj/datum.c, lib/proj/ellipse.c, lib/vask/Makefile,
+	  lib/vask/V_init.c, raster/r.average/main.c: Native
+	  Windows-related changes as discussed on developers mailing list:
+	  - Tidy configuration for MINGW32 in configure script and
+	  makefiles
+	  - Directory separator macros and new functions for pathname
+	  handling
+	  - Display lib and PNG driver small fixes
+	  - Account for windows end-of-line sequence in G_gets() and
+	  various modules
+
+2006-11-03 20:07  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fix for zooming close=up where the
+	  grid-cell size is much larger
+	  than the pixel size.
+
+2006-11-03 20:01  paul
+
+	* raster/r.out.png/r.out.png.c: Add a .png extension to the output
+	  file if not present
+
+2006-11-03 19:31  markus
+
+	* locale/po/grassmods_it.po: steko: cont'ed
+
+2006-11-03 16:57  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Added quit button to gcp mangement
+	  window. Updated zoom box
+	  algorithms to match those in main map displays.
+
+2006-11-03 15:05  markus
+
+	* doc/vector/v.example/description.html: links fix; cosmetics
+
+2006-11-03 14:59  markus
+
+	* include/Make/Grass.make.in: 57 -> 63
+
+2006-11-03 14:54  markus
+
+	* gem/docs/GEM-Manual.lyx, gem/docs/GEM-Manual.tex,
+	  gem/docs/GEM-Manual/GEM-Manual.html,
+	  gem/docs/GEM-Manual/index.html: 6.1 -> 6.3 (better the author
+	  would fix it)
+
+2006-11-03 14:53  markus
+
+	* gem/docs/GEM-Manual.lyx, gem/docs/GEM-Manual.tex,
+	  gem/docs/GEM-Manual/GEM-Manual.html,
+	  gem/docs/GEM-Manual/index.html, gem/main.c: 6.1 -> 6.3 (better
+	  the author would fix it)
+
+2006-11-02 22:37  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Fixed i.group access on Debian (and
+	  other linux??) systems by adding
+	  "--ui" to the starting command.
+
+2006-11-02 17:31  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Replacing -a flag on g.region for
+	  zooming to prevent rounding
+	  errors in resolution.
+
+2006-11-02 10:53  markus
+
+	* doc/infrastructure.txt: updates
+
+2006-11-02 07:31  cho
+
+	* display/d.what.vect/description.html: Remove duplicated header
+	  and sections
+
+2006-11-02 06:48  hamish
+
+	* lib/init/grass6.html, lib/init/init.sh, lib/init/variables.html:
+	  allow GRASS_GUI= shell variable to set exact GUI type (d.m,
+	  gis.m, wxpython,...)
+
+2006-11-02 06:12  hamish
+
+	* Makefile, paint, raster/Makefile, raster/r.out.vrml,
+	  raster/r.out.vrml/Makefile, raster/r.out.vrml/description.html,
+	  raster/r.out.vrml/main.c, raster/r.out.vrml/put_grid.c,
+	  raster/r.out.vrml/put_view.c, raster/r.out.vrml/pv.h,
+	  raster/r.out.vrml/vrml.c: move p.out.vrml to r.out.vrml in source
+	  tree (previously renamed)
+	  ** removed unused paint/ dir **
+
+2006-11-02 05:44  hamish
+
+	* lib/gis/verbose.c: raise max verbose level above standard level
+	  so -v flags allow --very-verbose
+
+2006-11-02 03:59  hamish
+
+	* gui/tcltk/menus/menu.tcl: add r.resamp.interp and r.resamp.stats
+	  in new submenu
+
+2006-11-02 03:35  hamish
+
+	* gui/tcltk/menus/menu.tcl: r.support is broken from the GUI, so
+	  run in a term for now
+	  (merge from 6.2)
+
+2006-11-02 02:17  hamish
+
+	* gui/tcltk/gis.m/georecttool.tcl: revert back to rev 1.4, as rev
+	  1.5 undoes cleanups.
+	  (mostly whitespace, comment fixes)
+
+2006-11-01 22:33  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Changing gcp erase function to only
+	  erase gcp's that are not
+	  checked as actively used.
+
+2006-11-01 22:33  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: removing g.region -a alignment due
+	  to issues with precision at
+	  high magnification (when grid cell size is much larger than
+	  pixel size in the display).
+
+2006-11-01 18:36  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Multiple bug fixes: error erasing
+	  all GCP's, i.group module not
+	  starting, xy(1) variable not found error. Please backport to
+	  6.2.1
+
+2006-11-01 17:47  michael
+
+	* gui/tcltk/gis.m/vector.tcl: cosmetic fix to make more visible
+	  circle the initial default point marker
+	  instead of hard to see x.
+
+2006-11-01 17:46  michael
+
+	* gui/tcltk/gis.m/maplabels.tcl: Fix bug in creating PS labels.
+	  Reference TclTk canvas monitor that
+	  is being labeled.
+
+2006-11-01 17:44  michael
+
+	* gui/tcltk/gis.m/commonlayer.tcl: Removing debugging code.
+
+2006-11-01 13:24  paul
+
+	* general/g.parser/main.c, lib/proj/datum.c, lib/proj/ellipse.c:
+	  Use G_chop() instead of G_strip() when reading lines from text
+	  files for
+	  (a) ellipsoid and datum tables
+	  (b) shell scripts
+	  because G_chop() handles DOS/Windows newline characters
+
+2006-10-31 23:38  michael
+
+	* gui/tcltk/gis.m/commonlayer.tcl: Fix for bug in duplicating
+	  raster map
+
+2006-10-31 23:14  markus
+
+	* doc/howto_release.txt: relative paths in press releases are EVIL
+
+2006-10-31 22:34  glynn
+
+	* raster/r.resamp.interp/main.c, raster/r.resamp.stats/main.c:
+	  Preserve existing formatting/coding conventions
+
+2006-10-31 21:39  markus
+
+	* gui/tcltk/gis.m/georecttool.tcl: michael: 8.3/8.4 compatibility
+	  fixes
+
+2006-10-31 21:35  markus
+
+	* doc/howto_release.txt: updated
+
+2006-10-31 19:16  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Fixing bugs in georectifier. Already
+	  backported to 6.2.
+
+2006-10-31 19:05  maciej
+
+	* vector/v.extract/description.html: examples: dealing with NULLs;
+	  cosmetics
+
+2006-10-31 15:59  jachym
+
+	* raster/r.distance/defs.h, raster/r.distance/distance.c,
+	  raster/r.distance/edges.c, raster/r.distance/parse.c,
+	  raster/r.distance/report.c: added -o flag, signalizing null
+	  distance for overlapping rasters
+
+2006-10-31 09:20  markus
+
+	* SUBMITTING_SCRIPTS, lib/init/README, lib/init/grass6.html,
+	  swig/swiglib.dox: grass61 -> grass63
+
+2006-10-31 09:14  markus
+
+	* INSTALL: cosmetics
+
+2006-10-31 06:51  hamish
+
+	* gui/tcltk/gis.m/georecttool.tcl: tcltk 8.3 compatibility
+
+2006-10-30 21:25  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Make GIS Manager display toolbar
+	  compatible with TclTk 8.3
+
+2006-10-30 13:34  markus
+
+	* scripts/d.polar/description.html: better explained directional
+	  vector
+
+2006-10-30 10:37  markus
+
+	* raster/r.in.gdal/description.html: Worldclim.org hint
+
+2006-10-30 04:27  hamish
+
+	* raster/r.resamp.interp/main.c, raster/r.resamp.stats/main.c: save
+	  metadata/history info and use color table from source map
+
+2006-10-30 02:54  hamish
+
+	* raster/r.watershed/front/main.c: copy as much of the source name
+	  as we can
+
+2006-10-30 00:52  glynn
+
+	* lib/init/mke_loc.c: Include headers for mkdir()
+
+2006-10-29 14:40  hamish
+
+	* raster/r.out.ascii/main.c: correct output gisprompt
+
+2006-10-29 14:33  hamish
+
+	* paint/p.out.vrml/description.html: remove extraneous /body /html
+	  tags
+
+2006-10-29 14:16  hamish
+
+	* paint/p.out.vrml/main.c: rename module r.out.vrml as it's just a
+	  plain raster export module.
+	  EXIT_SUCCESS, i18n
+
+2006-10-29 13:59  hamish
+
+	* paint/p.out.vrml/Makefile: rename module r.out.vrml as it's just
+	  a plain raster export module.
+	  add symbolic link to old name. will move into the raster/ dir
+	  after 6.2.0
+
+2006-10-29 03:20  hamish
+
+	* raster/r.in.xyz/main.c: another few steps in the LFS journey:
+	  include config.h and filesize as type off_t
+
+2006-10-28 20:33  glynn
+
+	* display/d.nviz/main.c, display/d.profile/ExtractProf.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.num/number.c,
+	  display/d.rgb/main.c, display/d.what.rast/what.c,
+	  general/g.region/cmd/zoom.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c,
+	  imagery/i.rectify/rectify.c, lib/ogsf/Gs3.c, ps/ps.map/outl_io.c,
+	  ps/ps.map/ps_raster.c, raster/r.bitpattern/main.c,
+	  raster/r.carve/main.c, raster/r.composite/main.c,
+	  raster/r.cost/main.c, raster/r.describe/describe.c,
+	  raster/r.fill.dir/main.c, raster/r.grow2/main.c,
+	  raster/r.neighbors/main.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/main.c, raster/r.out.bin/main.c,
+	  raster/r.out.gridatb/check_ready.c,
+	  raster/r.out.gridatb/file_io.c,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c,
+	  raster/r.out.mat/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.png/r.out.png.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.vtk/main.c,
+	  raster/r.patch/main.c, raster/r.profile/main.c,
+	  raster/r.proj/main.c, raster/r.random/count.c,
+	  raster/r.resample/main.c, raster/r.sunmask/main.c,
+	  raster/r.texture/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.vect/main.c, raster/r.topidx/file_io.c,
+	  raster/r.univar2/main.c, raster/r.walk/main.c,
+	  raster/r.what/main.c, raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/main.c, vector/v.what.rast/main.c,
+	  visualization/xganim/main.c: Use G_get_raster_map_type() instead
+	  of G_raster_map_type() where practical
+
+2006-10-28 19:58  markus
+
+	* scripts/d.polar/description.html: fixed description of vector
+
+2006-10-28 09:34  markus
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_tr.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_vi.po: header fixes
+
+2006-10-27 22:27  glynn
+
+	* raster/r.terraflow/Makefile: Add $(NLS_CFLAGS) to compilation
+	  switches (required for i18n)
+
+2006-10-27 22:27  glynn
+
+	* lib/init/mke_loc.c, lib/init/mke_mapset.c: Use mkdir() instead of
+	  system("mkdir ...")
+
+2006-10-27 22:25  glynn
+
+	* include/gisdefs.h, lib/gis/opencell.c: Add
+	  G_get_raster_map_type()
+
+2006-10-27 20:08  glynn
+
+	* general/g.mapset/main.c, include/gisdefs.h,
+	  lib/gis/make_mapset.c: Add G_[_]make_mapset (from Joel Pitt)
+
+2006-10-27 15:51  markus
+
+	* Makefile: swig/python/grass.i[.in] removed
+
+2006-10-27 15:20  markus
+
+	* raster/r.out.gdal/main.c: Vytautas V: features added: file type
+	  support, creation options support, metadata option support
+
+2006-10-27 12:39  markus
+
+	* locale/po/grassmods_it.po: Giuseppe Patti <gpatt at tiscali.it>:
+	  cont'ed 2
+
+2006-10-27 11:11  markus
+
+	* locale/po/grasstcl_it.po: small header fix
+
+2006-10-27 11:07  markus
+
+	* locale/po/grasslibs_ar.po, locale/po/grasslibs_cs.po,
+	  locale/po/grasslibs_de.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pl.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_tr.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_ar.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pl.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_cs.po, locale/po/grasstcl_de.po,
+	  locale/po/grasstcl_fr.po, locale/po/grasstcl_hi.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt_br.po,
+	  locale/po/grasstcl_ru.po, locale/po/grasstcl_tr.po,
+	  locale/po/grasstcl_vi.po: Giuseppe Patti <gpatt at tiscali.it>:
+	  cont'ed
+
+2006-10-27 08:46  brad
+
+	* raster/r.watershed/ram/Gwater.h, raster/r.watershed/ram/flag.h,
+	  raster/r.watershed/ram/ramseg.h, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/cseg.h,
+	  raster/r.watershed/shed/local_proto.h,
+	  raster/r.watershed/shed/watershed.h: - Macro headers to prevent
+	  multiple inclusion
+	  - Remove shed/local_proto.h - unused
+
+2006-10-27 03:23  hamish
+
+	* include/gisdefs.h, lib/gis/opencell.c: add G_raster_map_type2():
+	  Determine raster type without modifying name
+
+2006-10-27 00:47  hamish
+
+	* lib/gis/find_vect.c: doxygen comments
+
+2006-10-27 00:38  hamish
+
+	* lib/gis/find_cell.c, lib/gis/find_file.c: cleanup Doxygen
+	  comments (make less confusing)
+
+2006-10-26 18:55  glynn
+
+	* raster/r.out.gdal, raster/r.out.gdal/Makefile,
+	  raster/r.out.gdal/main.c: Add r.out.gdal (from Vytautas V)
+
+2006-10-26 18:04  scott
+
+	* rfc/RFC1_PSC.dox: some suggested edits to nudge this ball back
+	  into motion
+
+2006-10-26 07:28  hamish
+
+	* raster/r.terraflow/grass2str.h, raster/r.terraflow/main.cc,
+	  raster/r.terraflow/sweep.cc: finish G_percent()
+	  i18n
+	  prepare for GRASS_VERBOSE (and be a bit quieter)
+	  watersheds get random colors
+
+2006-10-26 05:30  hamish
+
+	* raster/r.watershed/seg/close_maps2.c: correct closing percent
+
+2006-10-26 05:23  hamish
+
+	* raster/r.watershed/front/main.c,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/sg_factor.c: * don't try and compare all
+	  colors if there are too many of them,
+	  fixes bug #3112 (patch from Charles Ehlschlaeger)
+	  * save metadata
+	  * use aspect colors instead of greyscale for direction map
+	  * finish G_percent()s
+	  * cleaner terminal output
+
+2006-10-25 19:17  markus
+
+	* doc/howto_release.txt: http://www.giscafe.com
+
+2006-10-25 15:30  maciej
+
+	* general/g.filename/description.html: 'element' explained,
+	  cosmetics
+
+2006-10-25 06:58  hamish
+
+	* raster/r.watershed/front/main.c: use G_debug() for debug message
+
+2006-10-24 22:04  markus
+
+	* rpm/fedora/grass_FC4.spec: cosmetics
+
+2006-10-24 21:07  markus
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasstcl_pl.po: Artur Niecior <nieart interia pl>:
+	  cont'ed
+
+2006-10-24 09:26  maciej
+
+	* general/g.findfile/description.html: 'you' -> 'the user'
+
+2006-10-23 22:27  markus
+
+	* lib/proj/pcs.csv: Added in missing Polish coordinate systems
+	  (2172-2175) (from GDAL)
+
+2006-10-23 19:17  maciej
+
+	* general/g.findfile/description.html: element better explained
+	  (thanks Glynn)
+
+2006-10-23 16:39  moritz
+
+	* SUBMITTING_TCLTK: added a hint to highlight the backslash at the
+	  end of second line in scripts
+
+2006-10-23 16:03  moritz
+
+	* lib/db/dbmi_client/select.c: sorting of cat value array should
+	  not depend on the type of column you retrieve
+
+2006-10-23 16:01  moritz
+
+	* lib/vector/vectorlib.dox: added reference to Vect_cidx_find_all()
+
+2006-10-23 14:57  markus
+
+	* raster/rasterintro.html: added missing word
+
+2006-10-23 14:52  markus
+
+	* raster/rasterintro.html: new aggregation tools mentioned; more
+	  links
+
+2006-10-23 12:12  markus
+
+	* locale/po/grassmods_ar.po: remove r.li stuff
+
+2006-10-23 12:04  markus
+
+	* locale/po/grasslibs_ar.po, locale/po/grassmods_ar.po: Dr. Alaa
+	  Masoud <alaamasoud hotmail com>: initial Arabic translation
+
+2006-10-23 06:30  stephan
+
+	* locale/po/grassmods_de.po: + Robert Nuske: more german i18n
+	  translations
+
+2006-10-23 04:53  brad
+
+	* raster/r.slope.aspect/main.c: - Fixed usage of G_percent()
+
+2006-10-23 04:46  brad
+
+	* lib/gis/percent.c: - Updated documentation for G_percent()
+
+2006-10-23 04:39  hamish
+
+	* raster/r.in.xyz/main.c: fix double free() (thanks Eric & Glynn)
+	  change variable name: input file is pointer not descriptor
+	  (thanks Brad)
+
+2006-10-23 04:35  brad
+
+	* raster/r.slope.aspect/main.c: - Added '\n' after G_percent()
+	  ends.
+
+2006-10-22 16:40  jachym
+
+	* raster/r.in.poly/poly2rast.c: * fprintf to G_warning or
+	  G_fatal_error
+	  * localisation support
+
+2006-10-22 16:33  jachym
+
+	* raster/r.in.mat/main.c: * removed region information (with '-v' -
+	  verbose - flag)
+	  * fprintf to G_warning and G_message
+	  * localisation support
+
+2006-10-22 15:29  jachym
+
+	* raster/r.in.gridatb/adjcellhd.c,
+	  raster/r.in.gridatb/check_ready.c, raster/r.in.gridatb/file_io.c,
+	  raster/r.in.gridatb/main.c: * fprintf mostly to G_fatal_error
+	  * locale support
+
+2006-10-22 15:09  jachym
+
+	* raster/r.in.gdal/main.c: removed G_done_msg()
+
+2006-10-22 11:58  jachym
+
+	* raster/r.in.bin/main.c: fixing warnings about differ in
+	  signedness for SwabLong and SwabShort functions
+
+2006-10-22 11:52  jachym
+
+	* raster/r.in.bin/main.c: * fprintf to G_message
+	  * fatal error messages rewritten to G_fatal_error
+	  * better locale support
+	  * Warnings rewritten to G_warning
+
+2006-10-22 11:36  jachym
+
+	* raster/r.in.ascii/main.c: setting proper debug level
+
+2006-10-22 11:26  jachym
+
+	* raster/r.in.ascii/gethead.c, raster/r.in.ascii/main.c: * removed
+	  error(* char) function
+	  * replaced with G_warning()
+
+2006-10-22 09:51  jachym
+
+	* raster/r.in.arc/gethead.c, raster/r.in.arc/main.c: * perror
+	  chacnged to G_warning
+	  * added support for localisation
+	  * removed function error
+
+2006-10-22 08:52  jachym
+
+	* raster/r.flow/calc.c, raster/r.flow/io.c, raster/r.flow/io.h,
+	  raster/r.flow/mem.c, raster/r.flow/precomp.c,
+	  raster/r.flow/r.flow.h: Making fprints to G_message and G_debug.
+	  Most of the messages became G_debug.
+	  * Removed diag(*char) function
+	  * Flag -h (display reference information) prepared for future
+	  remove (reference information were trade for warning)
+
+2006-10-22 08:20  markus
+
+	* general/g.setproj/main.c: indent -nbad -bap -bbb -nbbo -nbc -br
+	  -bli1 -bls -cbi0 -ncdb -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8
+
+2006-10-22 08:19  markus
+
+	* general/g.setproj/proj-parms.table: added missing LL and STP
+	  (hopefully right)
+
+2006-10-21 19:29  markus
+
+	* gui/tcltk/gis.m/thematic.tcl: (re-fix): revert convenience legend
+	  font defaults (user-selectable) to make sure that all fonts used
+	  are in proper TclTk format
+
+2006-10-21 19:20  martinl
+
+	* general/manage/cmd/Makefile, general/manage/cmd/remove.c,
+	  general/manage/lib/Makefile, general/manage/lib/do_remove.c:
+	  --v/q issues, exit code fixed
+
+2006-10-21 13:54  markus
+
+	* scripts/v.in.e00/v.in.e00: msg cometics
+
+2006-10-21 13:54  markus
+
+	* scripts/v.in.garmin/v.in.garmin, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.in.mapgen/v.in.mapgen: Use standard option for
+	  overwrite checking
+
+2006-10-21 12:05  markus
+
+	* gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/thematic.tcl: fixed reverted changes
+
+2006-10-21 11:11  brad
+
+	* raster/r.in.xyz/local_proto.h: - Added <grass/gis.h> to header.
+	  Needed for definition of RASTER_MAP_TYPE
+
+2006-10-21 06:16  cho
+
+	* scripts/v.in.e00/v.in.e00: Use standard option for overwrite
+	  checking
+
+2006-10-21 02:51  cho
+
+	* general/g.setproj/main.c: Fixed projection info in (DEFAULT_)WIND
+
+2006-10-20 17:01  markus
+
+	* rpm/fedora/gdal-ogr-grass-plugin.spec: plugin SPEC file
+
+2006-10-20 15:55  markus
+
+	* rpm/fedora/grass_FC4.spec: fix the fix
+
+2006-10-20 14:51  markus
+
+	* rpm/fedora/grass_FC4.spec: Roberto Flor: also install
+	  pkgconfig/grass.pc
+
+2006-10-20 14:43  markus
+
+	* grass.pc.in: rewritten
+
+2006-10-20 14:35  markus
+
+	* rpm/fedora/grass_FC4.spec: fftw3 better conditionalized
+
+2006-10-20 12:39  markus
+
+	* SUBMITTING_TCLTK: explained shell wrapper
+
+2006-10-20 12:33  markus
+
+	* lib/init/file_option.tcl: launch g.proj in xterm to enable datum
+	  queries
+
+2006-10-20 09:37  brad
+
+	* lib/gmath/brent.c: - Commented out unused legacy macro
+
+2006-10-20 09:15  brad
+
+	* lib/gmath/del2g.c, lib/gmath/la.c, lib/gmath/local_proto.h,
+	  lib/gmath/numerical.h: - Fixed compiler warnings
+	  - Minor del2g.c fix
+	  - Added macro def around headers to prevent multiple inclusion
+
+2006-10-20 08:48  brad
+
+	* lib/gis/histogram.c: - Added docs for G_make_histogram_cs()
+
+2006-10-20 08:42  brad
+
+	* lib/gis/histogram.c: - Updated G_warning() usage - removed temp
+	  storage
+	  - Added more function documentation
+	  - Minor cosmetics
+
+2006-10-20 06:40  markus
+
+	* rpm/fedora/grass_FC4.spec: fftw3 conditionalized (needed for
+	  FC4); less strict compiler flags
+
+2006-10-19 18:44  jachym
+
+	* raster/r.fill.dir/dopolys.c, raster/r.fill.dir/main.c,
+	  raster/r.fill.dir/resolve.c, raster/r.fill.dir/wtrshed.c: changed
+	  fprintfs to G_message and G_warning, added support for
+	  localisation
+
+2006-10-19 15:24  markus
+
+	* doc/howto_release.txt: clean more leftover stuff
+
+2006-10-19 15:06  glynn
+
+	* lib/gis/list.c: Don't pad last column
+
+2006-10-19 12:03  markus
+
+	* lib/init/file_option.tcl: close GRASS after location creation
+	  from file
+
+2006-10-19 12:02  markus
+
+	* locale/po/grassmods_de.po: fix
+
+2006-10-19 11:56  markus
+
+	* locale/po/grasstcl_de.po: fixes
+
+2006-10-19 09:51  moritz
+
+	* lib/init/gis_set.tcl: allow spaces in directory names for
+	  GISDBASE
+	  Thanks Glynn
+
+2006-10-19 09:18  markus
+
+	* doc/howto_release.txt: also copy COPYING
+
+2006-10-19 04:49  hamish
+
+	* REQUIREMENTS.html: gis.m may not be fully compatible with
+	  versions of tcltk < 8.4
+
+2006-10-19 04:22  hamish
+
+	* raster/r.le/r.le.pixel/input.c, raster/r.le/r.le.pixel/main.c,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.setup/sample.c,
+	  raster/r.le/r.le.trace/main.c,
+	  raster/r.le/r.le.trace/user_input.c: Call G_gisinit() before
+	  other GRASS functions
+	  Only call G_gisinit() once
+	  EXIT_FAILURE
+
+2006-10-18 17:59  glynn
+
+	* raster/r.resamp.stats/description.html: Add description.html
+
+2006-10-18 17:59  glynn
+
+	* raster/r.resamp.interp/description.html: Add reference to
+	  r.resamp.stats to the "SEE ALSO" section
+
+2006-10-18 17:44  glynn
+
+	* lib/init/Makefile: Update Makefile to install prompt.sh
+
+2006-10-18 17:42  glynn
+
+	* lib/init/init.sh, lib/init/prompt.sh: Fix prompt command (spaces,
+	  prematurely-evaluated location)
+	  Move prompt command into a script, change PROMPT_COMMAND setting
+	  in init.sh
+
+2006-10-18 16:44  glynn
+
+	* lib/gis/list.c: Force num_cols >= 1, to prevent division by zero
+
+2006-10-18 15:06  markus
+
+	* gem/README, gem/docs/GEM-Manual.lyx, gem/docs/GEM-Manual.tex,
+	  gem/docs/GEM-Manual/GEM-Manual.html,
+	  gem/docs/GEM-Manual/index.html, gem/main.c, gem/skeleton/post,
+	  gem/skeleton/uninstall: less hardcoded version numbers
+
+2006-10-18 14:55  markus
+
+	* lib/init/epsg_option.tcl.in: more reasonable button label
+
+2006-10-18 14:51  markus
+
+	* rpm/fedora/grass_FC4.spec: Roberto Flor: updated
+
+2006-10-18 11:08  stephan
+
+	* locale/po/grassmods_de.po: + Robert Nuske: updated german
+	  module-translations
+	  Thanks.
+
+2006-10-18 09:38  jachym
+
+	* scripts/r.out.gdal/r.out.gdal: r.out.gdal region sensitive
+
+2006-10-18 08:22  brad
+
+	* TODO: - Added >8bit color to TODO
+
+2006-10-18 07:32  markus
+
+	* lib/proj/ellipsoid.csv, lib/proj/gcs.csv,
+	  lib/proj/gdal_datum.csv, lib/proj/pcs.csv,
+	  lib/proj/projop_wparm.csv, lib/proj/unit_of_measure.csv: updated
+	  to EPSG 6.11.1
+
+2006-10-18 05:09  brad
+
+	* vector/v.in.ascii/local_proto.h, vector/v.in.ascii/points.c: -
+	  Made local functions static
+	  - Made local_proto.h street legal
+
+2006-10-17 14:31  glynn
+
+	* lib/gis/range.c: Fix bug in G_row_update_fp_range() [bug #5212]
+
+2006-10-17 12:03  glynn
+
+	* raster/r.le/r.le.patch/input.c, raster/r.le/r.le.patch/main.c:
+	  Call G_gisinit() before other GRASS functions
+	  Only call G_gisinit() once
+
+2006-10-17 11:43  glynn
+
+	* raster/r.colors/main.c: Remove G_sleep_on_error() calls [bug
+	  #5205]
+
+2006-10-17 10:33  hamish
+
+	* scripts/d.mvmon/d.mvmon: module description
+
+2006-10-16 18:00  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Fix bug producing error for new
+	  georectification with no points
+	  created yet.
+
+2006-10-16 12:35  hamish
+
+	* raster/r.in.ascii/description.html: add some help about the
+	  orientation of the data grid
+	  fix r.out.gdal link
+
+2006-10-16 12:28  hamish
+
+	* raster/r.in.ascii/main.c: minor description improvement
+
+2006-10-16 12:26  hamish
+
+	* raster/r.in.ascii/main.c: document "in=-" to read from stdin
+
+2006-10-16 12:20  hamish
+
+	* raster3d/r3.in.ascii/description.html: more explaination of the
+	  data format
+
+2006-10-16 09:37  hamish
+
+	* tools/build_html_index.sh: gis.m was creating it's own help
+	  section for gis.* modules
+	  (next GUI should pick something else, gis.* is meaningless)
+	  promote gis.m over d.m
+
+2006-10-16 07:28  hamish
+
+	* raster3d/r3.to.rast/main.c: more wordy data source
+
+2006-10-16 07:21  hamish
+
+	* raster3d/r3.to.rast/main.c: fix range reported in history
+
+2006-10-16 03:34  hamish
+
+	* gui/tcltk/d.m/d.m.tcl: start d.nviz correctly (bug #4138)
+
+2006-10-16 02:25  hamish
+
+	* vector/v.in.ascii/in.c: make it slightly more chatty so noise has
+	  context
+
+2006-10-16 02:02  hamish
+
+	* raster3d/r3.in.ascii/main.c: expand error messages and add some
+	  checks for common mistakes in input file
+
+2006-10-14 19:00  jachym
+
+	* raster/r.describe/main.c, raster/r.distance/parse.c: -v flag back
+	  for backward compatibility
+
+2006-10-14 17:24  jachym
+
+	* raster/r.cost/main.c, raster/r.covar/main.c,
+	  raster/r.cross/main.c: -v flag back for backward compatibility
+
+2006-10-14 17:12  jachym
+
+	* raster/r.contour/main.c: -q flag back for backwards compatibility
+
+2006-10-14 17:03  jachym
+
+	* raster/r.buffer/main.c, raster/r.carve/main.c,
+	  raster/r.clump/main.c, raster/r.coin/cmd_parms.c,
+	  raster/r.colors/main.c, raster/r.compress/main.c: -q flag back
+	  for backwards compatibility
+
+2006-10-14 16:30  jachym
+
+	* raster/r.buffer/main.c, raster/r.carve/main.c: -q flag back for
+	  backwards compatibility
+
+2006-10-14 09:48  hamish
+
+	* vector/v.in.ascii/head.c: catch error, usually when -n data is
+	  fed in without using -n flag
+
+2006-10-14 09:27  hamish
+
+	* vector/v.in.ascii/in.c: correct format= option description
+
+2006-10-14 09:20  hamish
+
+	* vector/v.in.ascii/description.html, vector/v.in.ascii/in.c,
+	  vector/v.in.ascii/local_proto.h, vector/v.in.ascii/points.c: add
+	  -r flag to limit points input to current region
+
+2006-10-14 08:41  hamish
+
+	* vector/v.in.ascii/a2b.c: skip blank lines (standard mode)
+
+2006-10-14 06:49  hamish
+
+	* vector/v.in.ascii/points.c: skip blank lines
+
+2006-10-14 06:42  hamish
+
+	* vector/v.in.ascii/points.c: run indent:
+	  $ indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb
+	  -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 points.c
+
+2006-10-13 08:25  stephan
+
+	* locale/po/grassmods_de.po: + Robert Nuske: updated german modules
+	  translation
+
+2006-10-12 22:43  hamish
+
+	* ps/ps.map/description.html: fix patch conflict; add v.labels see
+	  also; I'm an author
+
+2006-10-12 20:19  michael
+
+	* gui/tcltk/gis.m/thematic.tcl: revert convenience legend font
+	  defaults (user-selectable) to make
+	  sure that all fonts used are in proper TclTk format.
+
+2006-10-12 09:06  brad
+
+	* lib/btree/next.c, lib/btree/update.c: - Fixed minor compiler
+	  warnings.
+
+2006-10-12 08:51  brad
+
+	* lib/imagery/colors.c, lib/imagery/ls_groups.c: - Fixed minor
+	  compiler warnings.
+
+2006-10-12 07:53  moritz
+
+	* ps/ps.map/description.html: added note about character encoding
+	  and corrected information about fonts
+
+2006-10-12 07:22  hamish
+
+	* raster/r.in.xyz/main.c: reorder flags for a more logical
+	  progression
+
+2006-10-12 00:30  michael
+
+	* gui/tcltk/gis.m/maptext.tcl: New feature for 6.3. You can place
+	  text and scale bars with the mouse.
+
+2006-10-11 23:03  brad
+
+	* raster/r.support.stats/description.html: - Added brief
+	  description.html
+
+2006-10-11 22:55  brad
+
+	* raster/Makefile, raster/r.support.null: - Removed r.support.null:
+	  Functionality duplicated in r.null
+
+2006-10-11 08:24  glynn
+
+	* lib/gis/gui.tcl, lib/gis/parser.c: Add support for --overwrite
+	  flag to Tcl/Tk code
+
+2006-10-11 06:50  hamish
+
+	* vector/v.kernel/main.c: only check output name for vect safety if
+	  creating vector output
+	  (allow full raster namespace)
+
+2006-10-11 06:38  hamish
+
+	* display/d.legend/main.c: accidentally flipped the default legend
+	  in rev 2.7
+
+2006-10-11 06:02  hamish
+
+	* ps/ps.map/description.html: update font name possibilities
+
+2006-10-11 05:45  hamish
+
+	* raster3d/r3.in.ascii/main.c, raster3d/r3.to.rast/main.c: message
+	  cleanup, add history meta-data
+
+2006-10-10 10:22  moritz
+
+	* include/Vect.h, lib/vector/Vlib/cindex.c: bugfix in
+	  Vect_cidx_find_next() and new function Vect_cidx_find_all()
+
+2006-10-10 09:50  jachym
+
+	* lib/gis/verbose.c: setting default verbosity to MAXLEVEL, better
+	  checking for GRASS_VERBOSE env. variable
+
+2006-10-10 08:21  moritz
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/print.c, lib/db/sqlp/sql.c, lib/db/sqlp/yac.y: added
+	  support for ASC/DESC keyword in ORDER BY clause
+
+2006-10-10 05:39  hamish
+
+	* lib/g3d/g3dparam.c, raster3d/r3.in.ascii/main.c: i18n,
+	  EXIT_SUCCESS, parameter cleanup
+
+2006-10-10 02:51  glynn
+
+	* raster/r.resamp.stats/main.c: Add method=sum (useful if values
+	  are per-cell totals)
+
+2006-10-10 02:43  hamish
+
+	* vector/v.distance/main.c: bad input map name would cause segfault
+	  (why didn't the parser catch this?)
+
+2006-10-10 02:26  hamish
+
+	* display/d.vect/main.c: shorten text so it fits on one line
+
+2006-10-10 01:44  hamish
+
+	* display/d.vect/main.c: fix wording, use G_message()
+
+2006-10-09 16:23  martinl
+
+	* general/manage/cmd/remove.c, general/manage/lib/do_remove.c,
+	  general/manage/lib/read_list.c: --v/q issue
+
+2006-10-09 14:16  moritz
+
+	* scripts/d.vect.thematic/d.vect.thematic: check for db driver as
+	  db.connect setting might be different from v.db.connect setting
+
+2006-10-09 01:46  hamish
+
+	* vector/v.digit/toolbox.tcl: use "LabelFrame" from bwidget toolbox
+	  to keep tcltk 8.3 compatible
+	  correct ordering of mouse button descriptions
+
+2006-10-09 00:09  brad
+
+	* raster/r.in.xyz/local_proto.h: - Added copyright statement to
+	  local_proto.h
+
+2006-10-08 23:07  paul
+
+	* lib/init/set_data.c: Update descriptive text on intro screen as
+	  per mailing list discussions
+
+2006-10-08 14:49  hamish
+
+	* vector/v.buffer/main.c: document a known bug
+
+2006-10-08 10:15  hamish
+
+	* lib/vector/Vlib/buffer.c: try for a treat the sympton fix for
+	  weird buffering problems (bug #2765)
+	  this probably doesn't fix the holes-become-filled bug. I seem to
+	  remember
+	  Radim talked about the complexity of fixing that one a long time
+	  ago.
+
+2006-10-08 04:22  hamish
+
+	* lib/init/Makefile, lib/init/gis_set.tcl, lib/init/help.tcl:
+	  remove the (now unused) tcltk web browser.
+
+2006-10-08 04:07  hamish
+
+	* visualization/nviz/html/help.tcl,
+	  visualization/nviz/html/help_frame.tcl,
+	  visualization/nviz/scripts/nviz2.2_script: remove the (now
+	  unused) tcltk web browser. dupe exists in lib/init/,
+	  that will be removed soon as well.
+
+2006-10-06 23:32  michael
+
+	* gui/tcltk/gis.m/georect.tcl: I *think* this fixes the bug that
+	  keeps the georectifier from
+	  starting i.group on some systems. I'm hoping this is not a more
+	  widespread problem and have some reason for optimism in this
+	  regard.
+
+2006-10-06 20:24  glynn
+
+	* raster/r.le/r.le.setup/ask_group.c,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.setup/sample.c,
+	  raster/r.le/r.le.setup/setup.c, raster/r.le/r.le.setup/setup.h:
+	  Fix prototypes
+	  Use dirent.h
+
+2006-10-06 19:02  markus
+
+	* lib/gis/asprintf.c: radim: fix if no mapset is open (read only
+	  access)
+
+2006-10-06 15:42  markus
+
+	* lib/gis/asprintf.c: radim: tmpfile() fails on Windows/MinGW if
+	  user des not have enough permissions on the drive (top dir) where
+	  he is currently working
+
+2006-10-06 08:27  markus
+
+	* gui/tcltk/gis.m/profile.tcl: --g doesn't exist
+
+2006-10-06 06:47  glynn
+
+	* vector/v.edit/add.c, vector/v.edit/cat.c, vector/v.edit/del.c,
+	  vector/v.edit/main.c: Change C++ // comments to C /**/ comments
+
+2006-10-06 03:31  hamish
+
+	* raster/r.le/r.le.patch/description.html,
+	  raster/r.le/r.le.pixel/description.html,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.le/r.le.trace/description.html: update r.le help pages
+	  (port from GRASS 5)
+
+2006-10-06 01:52  hamish
+
+	* raster/r.le/r.le.patch/main.c, raster/r.le/r.le.pixel/main.c,
+	  raster/r.le/r.le.trace/main.c: missing module descriptions
+
+2006-10-06 00:56  hamish
+
+	* raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.h:
+	  fix broken sample setup variable passing (thanks Glynn)
+
+2006-10-06 00:54  hamish
+
+	* raster/r.le/r.le.setup/main.c: just add a comment
+
+2006-10-05 19:26  michael
+
+	* gui/tcltk/gis.m/georect.tcl: fix error in running i.group
+
+2006-10-05 16:44  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Update of 1-click zooming and
+	  zoom-out box zooming.
+
+2006-10-05 16:41  michael
+
+	* gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/profile.tcl: switching -q to --q
+
+2006-10-05 06:13  brad
+
+	* lib/db/dbmi_base/datetime.c, lib/db/dbmi_base/dbmscap.c,
+	  lib/db/dbmi_base/dirent.c, lib/db/dbmi_base/index.c,
+	  lib/db/dbmi_base/sqlCtype.c, lib/db/dbmi_base/strip.c,
+	  lib/db/dbmi_base/xdr.c, lib/db/dbmi_base/xdrchar.c,
+	  lib/db/dbmi_base/xdrcolumn.c, lib/db/dbmi_base/xdrdatetime.c,
+	  lib/db/dbmi_base/xdrdouble.c, lib/db/dbmi_base/xdrhandle.c,
+	  lib/db/dbmi_base/xdrindex.c, lib/db/dbmi_base/xdrint.c,
+	  lib/db/dbmi_base/xdrprocedure.c, lib/db/dbmi_base/xdrshort.c,
+	  lib/db/dbmi_base/xdrstring.c, lib/db/dbmi_base/xdrtable.c,
+	  lib/db/dbmi_base/xdrtoken.c: - Cleaned up compiler warnings.
+
+2006-10-05 05:45  brad
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/global.h: - Added
+	  copyright statement
+
+2006-10-05 03:34  brad
+
+	* vector/v.in.ogr/global.h, vector/v.in.ogr/main.c: - Fix bug #5176
+	  (check valid output filename)
+
+2006-10-04 20:08  brad
+
+	* lib/gis/legal_name.c: - Added '=', '*', and ',' to illegal file
+	  name characters.
+
+2006-10-04 19:58  brad
+
+	* lib/gis/legal_name.c: - Added '@' to illegal file name
+	  characters.
+
+2006-10-04 14:32  markus
+
+	* raster/r.distance/description.html: link to v.distance
+
+2006-10-04 14:30  markus
+
+	* vector/v.to.points/main.c: Make it clear that 2 layers are
+	  written
+
+2006-10-04 12:42  markus
+
+	* raster/r.distance/description.html: better explain the distance
+	  calculation
+
+2006-10-04 12:33  markus
+
+	* raster/r.null/null.c: further moderization
+
+2006-10-04 10:35  markus
+
+	* raster/r.distance/description.html: example fix
+
+2006-10-04 10:32  markus
+
+	* raster/r.digit/description.html,
+	  raster/r.distance/description.html: d.mapgraph is now d.graph -m
+
+2006-10-04 07:52  markus
+
+	* raster3d/r3.in.ascii/description.html: Sample ASCII voxel map
+	  added
+
+2006-10-04 04:24  brad
+
+	* raster/r.digit/bnw_line.c, raster/r.digit/create_map.c,
+	  raster/r.digit/digitize.c, raster/r.digit/get_area.c,
+	  raster/r.digit/get_circle.c, raster/r.digit/get_en.c,
+	  raster/r.digit/get_label.c, raster/r.digit/get_line.c,
+	  raster/r.digit/get_point.c, raster/r.digit/get_type.c,
+	  raster/r.digit/instruct.c, raster/r.digit/local_proto.h,
+	  raster/r.digit/main.c, raster/r.digit/setup_graph.c: - Added
+	  copyright statements
+
+2006-10-04 02:29  glynn
+
+	* raster/r.null/null.c: Fix formatting
+
+2006-10-04 02:08  glynn
+
+	* raster/r.null/mask.h, raster/r.null/null.c: Use G_message()
+	  instead of fprintf()
+	  G_warning() etc accept format strings; no need for sprintf()
+
+2006-10-04 01:32  glynn
+
+	* raster/r.null/null.c: Fix sense of -n flag
+
+2006-10-03 19:19  stephan
+
+	* locale/po/grassmods_de.po: + Robert Nuske: updated german
+	  translations
+
+2006-10-03 03:16  glynn
+
+	* general/g.region/cmd/main.c: Round to a multiple of the
+	  resolution, not necessarily an even multiple.
+
+2006-10-02 22:49  glynn
+
+	* include/stats.h, lib/stats/c_ave.c, lib/stats/c_count.c,
+	  lib/stats/c_median.c, lib/stats/c_mode.c,
+	  lib/stats/c_percentile.c, lib/stats/c_reg.c,
+	  lib/stats/c_stddev.c, lib/stats/c_sum.c, lib/stats/c_var.c,
+	  lib/stats/sort_cell.c, raster/r.resamp.stats/main.c: Add weighted
+	  aggregates
+	  Add -w (weighted) flag to r.resamp.stats
+
+2006-10-02 22:48  glynn
+
+	* raster/r.random/creat_rand.c: Use improved lrand48() substitute
+
+2006-10-02 20:15  markus
+
+	* lib/init/gis_set.tcl, visualization/nviz/scripts/nviz2.2_script:
+	  don't use grass-xterm-wrapper for GRASS_HTML_BROWSER
+
+2006-10-02 17:59  jachym
+
+	* raster/r.describe/describe.c, raster/r.describe/local_proto.h,
+	  raster/r.describe/main.c, raster/r.describe/tree.c,
+	  raster/r.distance/defs.h, raster/r.distance/edges.c,
+	  raster/r.distance/main.c, raster/r.distance/parse.c,
+	  raster/r.distance/report.c: removing -q flag from the module and
+	  rewriting fprintfs to G_message
+
+2006-10-02 17:53  jachym
+
+	* general/manage/cmd/remove.c: addin -f flag to g.remove, which
+	  enables the user remove the map, even if it is base map for
+	  another reclassified map
+
+2006-10-02 12:25  markus
+
+	* gui/tcltk/d.m/vector.tcl: show column names/content in panel
+	  (fixes bug #5179)
+
+2006-10-02 12:24  markus
+
+	* gui/tcltk/gis.m/vector.tcl: consistency fix
+
+2006-10-02 08:51  hamish
+
+	* lib/vector/Vlib/map.c: Radim: "remove() directory fails on
+	  Windows so that vectors cannot be deleted
+	  without error."
+
+2006-10-01 21:18  glynn
+
+	* general/g.setproj/Makefile, general/g.setproj/get_num.c,
+	  general/g.setproj/get_stp.c, general/g.setproj/local_proto.h,
+	  general/g.setproj/main.c, general/g.setproj/proj-desc.table,
+	  general/g.setproj/proj-parms.table,
+	  general/g.setproj/proj-units.table, general/g.setproj/proj.c,
+	  include/geo.h, lib/gis/geo_init.c: Move projection parameter
+	  information from C source code into external text files
+
+2006-10-01 14:31  moritz
+
+	* locale/po/grasstcl_fr.po: make text shorter so it fits into
+	  button
+
+2006-10-01 06:06  markus
+
+	* vector/v.extract/description.html: cosmetics
+
+2006-10-01 06:05  markus
+
+	* vector/v.extract/main.c: avoid white space at end of description
+	  (also for msg translating)
+
+2006-09-30 16:54  maciej
+
+	* vector/v.extract/description.html: credit Radim
+
+2006-09-30 16:23  maciej
+
+	* vector/v.extract/main.c: Comments improved to distinguish between
+	  input and output
+
+2006-09-30 16:22  maciej
+
+	* vector/v.extract/description.html: Examples fixed. Category 0 is
+	  just like any other category currently. v.extract does not
+	  support category text labels anymore (any other module which
+	  does?). Cosmetics.
+
+2006-09-30 10:22  brad
+
+	* raster/Makefile, raster/r.support.null,
+	  raster/r.support.null/Makefile, raster/r.support.null/main.c,
+	  raster/r.support.stats, raster/r.support.stats/Makefile,
+	  raster/r.support.stats/check.c, raster/r.support.stats/histo.c,
+	  raster/r.support.stats/local_proto.h,
+	  raster/r.support.stats/main.c: - Added r.support.null and
+	  r.support.stats
+
+2006-09-29 20:59  markus
+
+	* visualization/nviz/scripts/nviz2.2_script: changed limited Tcl
+	  HTML browser to system wide HTML browser (as defined in startup
+	  script or env var)
+
+2006-09-29 20:51  markus
+
+	* lib/init/gis_set.tcl: changed limited Tcl HTML browser to system
+	  wide HTML browser (as defined in startup script or env var)
+
+2006-09-29 20:32  markus
+
+	* locale/po/grasstcl_de.po: Weichspueler? (fancy typo\!)
+
+2006-09-29 20:11  maciej
+
+	* vector/v.clean/description.html: cosmetics, corrections
+
+2006-09-29 18:39  maciej
+
+	* vector/v.clean/description.html: -b explained
+
+2006-09-29 18:39  maciej
+
+	* vector/v.clean/main.c: some wording improved
+
+2006-09-29 03:03  hamish
+
+	* lib/symbol/symbol/extra/compass: rewrite as continuous lines sp
+	  .ps output looks good
+
+2006-09-29 01:51  hamish
+
+	* raster/r.le/r.le.setup/main.c: sleep on errors so they don't get
+	  missed when the screen is cleared
+
+2006-09-29 01:28  hamish
+
+	* raster/r.le/r.le.pixel/cellclip.c: fix segfault due to conficting
+	  memory types
+
+2006-09-28 18:36  glynn
+
+	* raster/r.random/creat_rand.c: Check HAVE_DRAND48 rather than
+	  platform
+
+2006-09-28 14:54  jachym
+
+	* raster/r.cross/cross.c, raster/r.cross/local_proto.h,
+	  raster/r.cross/main.c, raster/r.cross/renumber.c: replacing
+	  fprintfs for G_message and G_warning, removed -v flag, added
+	  macros for translation
+
+2006-09-28 14:43  jachym
+
+	* raster/r.covar/main.c: replacing fprintf for G_message, removing
+	  -v flag
+
+2006-09-28 14:38  jachym
+
+	* raster/r.cost/btree.c, raster/r.cost/main.c: replacing fprintfs
+	  for G_warning and G_error, removed -v flag, added macros for
+	  localisation
+
+2006-09-28 14:09  maciej
+
+	* display/drivers/PNG/description.html: Eric: default PNG
+	  compression level documented. Closes #2811.
+
+2006-09-28 13:37  markus
+
+	* lib/proj/gcs.csv: fix (merge from GDAL)
+
+2006-09-28 13:12  jachym
+
+	* raster/r.contour/cont.c, raster/r.contour/local_proto.h,
+	  raster/r.contour/main.c: converting fprintfs to G_message and
+	  G_warning, adding some macros for localisation too, removing -q
+	  and -n flags
+
+2006-09-28 12:42  jachym
+
+	* raster/r.compress/main.c: converting fprintfs to G_message and
+	  G_warning, added some localisation macros
+
+2006-09-28 12:23  jachym
+
+	* raster/r.colors/eq.c, raster/r.colors/local_proto.h,
+	  raster/r.colors/log.c, raster/r.colors/main.c,
+	  raster/r.colors/rules.c: making r.colros less verbose: replacing
+	  fprintfs for G_message and G_warning
+
+2006-09-28 12:19  markus
+
+	* vector/v.to.points/description.html: HTML fixes; long lines
+	  cosmetics
+
+2006-09-28 12:01  maciej
+
+	* vector/v.to.points/description.html: Eric: documentation fixed
+	  and extended
+
+2006-09-28 08:49  jachym
+
+	* general/g.parser/description.html, general/g.parser/test.pl,
+	  general/g.parser/test.py, general/g.parser/test.sh: updated
+	  documentation for g.parser also for other languages (python and
+	  perl)
+
+2006-09-28 07:37  hamish
+
+	* raster/r.le/r.le.setup/sample.c: add R_flush() during interactive
+	  graphics draws; whitespace
+
+2006-09-28 07:26  brad
+
+	* raster/r.resamp.stats/main.c: - Added missing header <string.h>
+
+2006-09-28 07:06  hamish
+
+	* include/display.h, lib/display/draw.c: add
+	  D_set_clip_window_to_screen_window()
+
+2006-09-28 06:58  hamish
+
+	* lib/symbol/symbol/extra/fancy_compass: add a fancy compass. for
+	  nice PostScript output, move the line drawing
+	  polygons BEFORE the area drawing. (display width=0; ps
+	  width=thick)
+
+2006-09-28 06:46  hamish
+
+	* lib/display/symbol.c: use R_* not D_{move,cont}_abs() so lines
+	  don't get clipped
+
+2006-09-27 23:08  glynn
+
+	* general/g.parser/test.sh: Fix location of g.parser
+
+2006-09-27 23:08  glynn
+
+	* raster/Makefile, raster/r.resamp.stats,
+	  raster/r.resamp.stats/Makefile, raster/r.resamp.stats/main.c: Add
+	  r.resamp.stats
+
+2006-09-27 15:00  markus
+
+	* raster/r.le/r.le.setup/description.html: DESCIPTION restored
+	  (otherwise the documentation system fails)
+
+2006-09-27 12:32  markus
+
+	* tools/g.html2man/g.html2man: pseudo-tables
+
+2006-09-27 12:32  markus
+
+	* tools/g.html2man/g.html2man: pseudo-tables
+
+2006-09-27 11:58  jachym
+
+	* general/manage/cmd/remove.c, general/manage/lib/do_remove.c:
+	  replacing fprintfs in g.verbose for G_message and G_warning
+
+2006-09-27 06:28  hamish
+
+	* raster/r.le/r.le.setup/description.html: use G_parser()
+
+2006-09-27 06:05  hamish
+
+	* raster/r.le/r.le.setup/Makefile,
+	  raster/r.le/r.le.setup/local_proto.h,
+	  raster/r.le/r.le.setup/main.c,
+	  raster/r.le/r.le.setup/user_input.c: use G_parser(); don't hang
+	  on G_system("d.frame -e"); remove GRASS 5 sites prompt
+
+2006-09-27 04:46  hamish
+
+	* gui/tcltk/menus/menu.tcl: r.le.setup needs an xmon
+
+2006-09-26 16:15  michael
+
+	* gui/tcltk/gis.m/gm.tcl: reverting to windows patches lost in last
+	  update and merging with
+	  formatting updates
+
+2006-09-26 16:12  michael
+
+	* lib/gtcltk/options.tcl: reverting windows patches lost in last
+	  update and merging with
+	  formating updates.
+
+2006-09-26 13:51  markus
+
+	* gui/tcltk/gis.m/maplabels.tcl, gui/tcltk/gis.m/maptext.tcl,
+	  gui/tcltk/gis.m/thematic.tcl: changed hardcoded fonts to
+	  (GISBASE)/etc/gtcltk/options.tcl definition
+
+2006-09-26 08:20  jachym
+
+	* raster/r.coin/cmd_parms.c, raster/r.coin/coin.h,
+	  raster/r.coin/inter.c, raster/r.coin/make_coin.c: removing
+	  redundant flag -q
+
+2006-09-26 06:54  stephan
+
+	* locale/po/grassmods_de.po: + Robert Nuske (rnuske at gwdg dot
+	  de): updating german grassmods
+	  translation file
+
+2006-09-25 20:35  michael
+
+	* lib/init/epsg_option.tcl.in: reverting to windows patches and
+	  merging with widget formatting
+	  changes
+
+2006-09-25 20:27  michael
+
+	* lib/init/gis_set.tcl: reverted windows patches and merged with
+	  widget formating changes.
+
+2006-09-25 18:34  soeren
+
+	* raster/r.univar2/main.c: Removed quiet flag
+
+2006-09-25 17:55  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/tksys.tcl: change so that
+	  default widget format (including fonts) controled
+	  by options database (options.tcl)
+
+2006-09-25 17:55  michael
+
+	* lib/init/epsg_option.tcl.in, lib/init/file_option.tcl,
+	  lib/init/gis_set.tcl: change so that default widget format
+	  (including fonts) controled
+	  by option database (in options.tcl)
+
+2006-09-25 17:54  michael
+
+	* lib/gtcltk/options.tcl: add font control for more widgets and
+	  files
+	  (for internationalization)
+
+2006-09-25 16:15  jachym
+
+	* vector/v.info/main.c: adding flag -t for topology information in
+	  shell script style
+
+2006-09-25 15:13  glynn
+
+	* general/g.region/cmd/zoom.c: Fix off-by-one error in zoom= option
+	  [bug #3729]
+
+2006-09-25 14:44  soeren
+
+	* raster/r.volume/centroids.c, raster/r.volume/main.c: Removed the
+	  quiet flag
+	  Small code cleanup to avoid compiler warnings
+
+2006-09-25 13:15  soeren
+
+	* raster/r.walk/btree.c, raster/r.walk/cost.h,
+	  raster/r.walk/main.c, raster/r.walk/memory.c,
+	  raster/r.walk/stash.h: Code cleanup
+	  Removed the obsolete verbosity flag
+
+2006-09-25 13:03  markus
+
+	* swig/python/my_typemaps.i: Alessandro Frigeri: added FCELL and
+	  DCELL support; deprecated old interface syntax using #ifdef
+	  SWIGPYTHON
+
+2006-09-25 13:02  markus
+
+	* configure, configure.in, swig/python/grass.i.in: removed unused
+	  grass.i
+
+2006-09-25 09:43  markus
+
+	* include/gis.h, lib/gis/verbose.c: typo fixed
+
+2006-09-25 08:23  markus
+
+	* swig/python/vectoraccess.py: commented
+
+2006-09-25 08:20  markus
+
+	* swig/python/vectoraccess.py: cleanup
+
+2006-09-25 08:05  markus
+
+	* swig/python/vectoraccess.py: added vector API example
+
+2006-09-25 08:05  markus
+
+	* swig/python/python_grass6.i, swig/python/rasteraccess.py:
+	  Alessandro Frigeri: also wrap dig_structs.i
+
+2006-09-25 07:58  markus
+
+	* swig/python/interfaces/Makefile: also wrap dig_structs.i
+
+2006-09-24 20:41  soeren
+
+	* raster/r.water.outlet/legal.c, raster/r.water.outlet/main.c: Code
+	  cleaning
+	  Added exit status
+	  Replaced fprintf with G_warning
+
+2006-09-24 20:12  jachym
+
+	* raster/r.clump/clump.c, raster/r.clump/local_proto.h,
+	  raster/r.clump/main.c: making r.clump less verbose
+
+2006-09-24 19:44  jachym
+
+	* raster/r.cats/cats.c: making r.cats be less verbose
+
+2006-09-24 19:28  soeren
+
+	* raster/r.what/die.c, raster/r.what/local_proto.h,
+	  raster/r.what/main.c, raster/r.what/usage.c: Code cleanup
+	  Replaced partly fprintf with G_message and G_warning
+	  Added exit status
+
+2006-09-24 19:26  jachym
+
+	* raster/r.carve/enforce.h, raster/r.carve/enforce_ds.c,
+	  raster/r.carve/main.c, raster/r.carve/raster.c: making r.carve
+	  less verbose
+
+2006-09-24 18:54  jachym
+
+	* raster/r.buffer/execute.c, raster/r.buffer/local_proto.h,
+	  raster/r.buffer/main.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/write_map.c: making r.buffer less verbose
+
+2006-09-24 18:13  jachym
+
+	* locale/po/grassmods_cs.po: small correction of czech translation
+
+2006-09-24 17:44  jachym
+
+	* raster/r.average/main.c: making r.average be less verbose
+
+2006-09-24 17:41  jachym
+
+	* raster/r.recode/recode.c: making r.recode be less verbose
+
+2006-09-24 17:39  jachym
+
+	* raster/r.stats/cell_stats.c, raster/r.stats/global.h,
+	  raster/r.stats/main.c, raster/r.stats/raw_stats.c: making r.stats
+	  be less verbose
+
+2006-09-24 16:38  soeren
+
+	* raster/Makefile: Added r.to.rast3elev to the makefile
+
+2006-09-24 16:24  soeren
+
+	* raster3d/r3.to.rast/main.c: code cleanup to fulfil the GRASS
+	  coding standards
+
+2006-09-24 16:23  soeren
+
+	* raster3d/r3.in.ascii/main.c: Replaced fprintf with G_message
+	  enabled commented out features
+	  fixed wrong comment (row order)
+
+2006-09-24 16:19  soeren
+
+	* raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/errorHandling.h,
+	  raster3d/r3.out.vtk/globalDefs.h, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/parameters.h,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKData.h,
+	  raster3d/r3.out.vtk/writeVTKHead.c,
+	  raster3d/r3.out.vtk/writeVTKHead.h: code cleanup to fulfil the
+	  GRASS coding standards
+
+2006-09-24 16:17  soeren
+
+	* raster3d/base/mask_functions.c: Replaced fprintf with G_message
+	  and G_warning
+
+2006-09-24 14:54  jachym
+
+	* lib/gis/error.c: better formating of verbose condition in
+	  print_error
+
+2006-09-24 11:00  jachym
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasstcl_cs.po: czech translation updated
+
+2006-09-24 10:22  markus
+
+	* swig/python/grasspython.dox: cosmetics
+
+2006-09-24 08:11  markus
+
+	* swig/python/grass.i.in, swig/python/interfaces/Makefile,
+	  swig/python/python_grass6.i: added Vect_ API to Python interface
+
+2006-09-24 07:57  markus
+
+	* include/Vect.h: removed non-existing functions
+
+2006-09-24 07:50  markus
+
+	* include/Vect.h: removed non-existing functions
+
+2006-09-24 06:23  brad
+
+	* raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/input.c,
+	  raster/r.le/r.le.patch/patch.c, raster/r.le/r.le.patch/patch.h,
+	  raster/r.le/r.le.patch/trace.c: - Fixed a number of compiler
+	  warnings
+
+2006-09-24 05:09  brad
+
+	* lib/gis/verbose.c: - Added missing header <stdlib.h>
+
+2006-09-23 18:52  jachym
+
+	* include/gis.h, include/gisdefs.h, lib/gis/error.c,
+	  lib/gis/parser.c, lib/gis/percent.c, lib/gis/verbose.c,
+	  lib/init/variables.html: Adding support for verbosity level.
+
+2006-09-23 09:11  brad
+
+	* doc/infrastructure.txt: - Added IRC nick
+
+2006-09-23 07:43  markus
+
+	* lib/proj/ellipsoid.csv, lib/proj/gcs.csv,
+	  lib/proj/gdal_datum.csv, lib/proj/pcs.csv,
+	  lib/proj/projop_wparm.csv, lib/proj/stateplane.csv,
+	  lib/proj/unit_of_measure.csv: updated to EPSG 6.11
+
+2006-09-22 21:25  markus
+
+	* vector/v.digit/toolbox.tcl: fixed backslash formatting
+
+2006-09-22 20:22  markus
+
+	* swig/python/interfaces/Makefile: fix, now it works
+
+2006-09-22 20:03  markus
+
+	* include/gisdefs.h: removed non-existing function
+
+2006-09-22 19:41  markus
+
+	* include/gisdefs.h, swig/python/interfaces/Makefile: removed
+	  non-existing function
+
+2006-09-22 19:06  markus
+
+	* swig/python/Makefile.in: LDFLAGS polished
+
+2006-09-22 17:25  jachym
+
+	* locale/po/grasslibs_cs.po: updated czech translation
+
+2006-09-22 17:16  markus
+
+	* swig/python/my_typemaps.i: Alessandro Frigeri: dir() bug fixedÃ
+
+2006-09-22 16:30  glynn
+
+	* db/base/Makefile, db/drivers/dbf/Makefile,
+	  db/drivers/mysql/Makefile, db/drivers/odbc/Makefile,
+	  db/drivers/ogr/Makefile, db/drivers/postgres/Makefile,
+	  db/drivers/sqlite/Makefile, general/manage/cmd/Makefile,
+	  include/Make/Module.make, lib/init/Makefile,
+	  raster/r.mapcalc/Makefile, raster3d/base/Makefile,
+	  vector/v.voronoi/Makefile: Change $(EXE_SUFFIX) -> $(EXE)
+
+2006-09-22 16:14  markus
+
+	* swig/python/README: debugging explained
+
+2006-09-22 15:04  markus
+
+	* visualization/nviz/html/bugs_todo.html,
+	  visualization/nviz/html/index.html,
+	  visualization/nviz/html/nviz_3dsetting.html,
+	  visualization/nviz/html/nviz_credit.html,
+	  visualization/nviz/html/nviz_desc.html,
+	  visualization/nviz/html/nviz_hints.html,
+	  visualization/nviz/html/nviz_image.html,
+	  visualization/nviz/html/nviz_panel_anim.html,
+	  visualization/nviz/html/nviz_panel_color.html,
+	  visualization/nviz/html/nviz_panel_cplane.html,
+	  visualization/nviz/html/nviz_panel_dsf.html,
+	  visualization/nviz/html/nviz_panel_dsf1.html,
+	  visualization/nviz/html/nviz_panel_dsf2.html,
+	  visualization/nviz/html/nviz_panel_dsf3.html,
+	  visualization/nviz/html/nviz_panel_kanim.html,
+	  visualization/nviz/html/nviz_panel_labels.html,
+	  visualization/nviz/html/nviz_panel_lights.html,
+	  visualization/nviz/html/nviz_panel_move.html,
+	  visualization/nviz/html/nviz_panel_pos.html,
+	  visualization/nviz/html/nviz_panel_scale.html,
+	  visualization/nviz/html/nviz_panel_sdiff.html,
+	  visualization/nviz/html/nviz_panel_sites.html,
+	  visualization/nviz/html/nviz_panel_surf.html,
+	  visualization/nviz/html/nviz_panel_vect.html,
+	  visualization/nviz/html/nviz_panel_vol.html,
+	  visualization/nviz/html/nviz_panel_what.html,
+	  visualization/nviz/html/nviz_quit.html,
+	  visualization/nviz/html/nviz_script.html,
+	  visualization/nviz/html/nviz_startup.html,
+	  visualization/nviz/html/nviz_state.html,
+	  visualization/nviz/html/nviz_toc.html: changed GRASS logo from
+	  GIF to PNG
+
+2006-09-22 14:57  markus
+
+	* db/databaseintro.html, db/drivers/dbf/grass-dbf.html,
+	  db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html,
+	  db/drivers/odbc/grass-odbc.html,
+	  db/drivers/postgres/grass-pg.html,
+	  db/drivers/sqlite/grass-sqlite.html,
+	  display/d.colors/description.html,
+	  display/d.rast.edit/description.html,
+	  display/d.what.vect/description.html,
+	  display/drivers/PNG/description.html,
+	  display/drivers/XDRIVER/description.html,
+	  doc/projectionintro.html, general/g.parser/description.html,
+	  general/g.setproj/description.html,
+	  gui/tcltk/d.m/description.html, imagery/i.class/description.html,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.camera/description.html,
+	  imagery/i.ortho.photo/photo.init/description.html,
+	  imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/imageryintro.html, include/Make/Html.make,
+	  lib/db/sqlp/description.html, lib/gis/parser.c,
+	  lib/init/grass6.html, lib/init/helptext.html,
+	  lib/init/variables.html, raster/r.coin/description.html,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.terraflow/description.html, raster/rasterintro.html,
+	  raster3d/raster3dintro.html,
+	  scripts/v.build.all/description.html,
+	  scripts/v.db.reconnect.all/description.html,
+	  tools/build_html_index.sh, tools/grass.smlogo.gif,
+	  tools/grass_logo.png, vector/v.lrs/lrs.html,
+	  vector/vectorintro.html,
+	  visualization/nviz/html/grass.smlogo.gif,
+	  visualization/nviz/html/grass_logo.png: changed GRASS logo from
+	  GIF to PNG
+
+2006-09-21 17:15  maciej
+
+	* vector/v.to.db/description.html: Doc updated. Still needs
+	  polishing.
+
+2006-09-21 12:50  markus
+
+	* vector/v.to.db/parse.c: fix: enforce qcolumn for option=query
+	  (bug #5158)
+
+2006-09-21 04:31  cho
+
+	* db/base/db.select.html: corrected sql=file => input=file
+
+2006-09-20 21:51  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Slightly modified this morning's
+	  change to mapcanvas.tcl to extend the
+	  zooming out behavior to cases where the zoom box is the same
+	  size as the current region, as well as larger than the current
+	  region.
+
+2006-09-20 19:52  markus
+
+	* configure, configure.in: blazek: cross compiling fix
+
+2006-09-20 17:30  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Changes zoom-out box tool to treat
+	  an attempt to defin a zoom-out
+	  box larger than the current region as undefined. The region will
+	  not be changed in that direction.
+
+2006-09-20 17:19  cho
+
+	* vector/v.in.dxf/write_vect.c: SQL compliant table names
+
+2006-09-20 13:54  markus
+
+	* vector/v.buffer/description.html: explain tolerance
+
+2006-09-20 09:47  markus
+
+	* AUTHORS: translators added
+
+2006-09-20 09:27  markus
+
+	* vector/v.in.db/description.html: fix
+
+2006-09-20 09:20  markus
+
+	* raster/rasterintro.html: links to hydro modules
+
+2006-09-20 08:20  moritz
+
+	* vector/v.in.db/description.html: added link to general sql man
+	  page
+
+2006-09-20 07:45  markus
+
+	* locale/po/grasslibs_vi.po, locale/po/grassmods_vi.po,
+	  locale/po/grasstcl_vi.po: Bui Huu Manh <bhmanh73 yahoo.com>:
+	  translation to Vietnamese
+
+2006-09-19 20:56  markus
+
+	* swig/python/interfaces/Makefile: also remove G_message (according
+	  to Sajith)
+
+2006-09-19 20:37  markus
+
+	* locale/po/grasslibs_hi.po, locale/po/grassmods_hi.po,
+	  locale/po/grasstcl_hi.po: updated to current state
+
+2006-09-19 14:02  glynn
+
+	* lib/driver/colors.txt: Remove references to floating colour mode
+
+2006-09-19 12:08  glynn
+
+	* visualization/nviz/src/do_zoom.c: Terminate pBuffer attribute
+	  list
+
+2006-09-19 10:23  glynn
+
+	* lib/init/Makefile, lib/init/grass-xterm-wrapper.c: Revert bogus
+	  grass-xterm-wrapper changes
+
+2006-09-19 10:21  glynn
+
+	* lib/init/grass-xterm-wrapper: Revert previous accidental commit
+
+2006-09-19 10:18  glynn
+
+	* display/d.his/main.c, display/d.rast/display.c,
+	  display/d.text.freetype/main.c, display/drivers/PNG/main.c,
+	  display/drivers/XDRIVER/Can_do.c,
+	  display/drivers/XDRIVER/Color.c,
+	  display/drivers/XDRIVER/Color_table.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Makefile,
+	  display/drivers/XDRIVER/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/local_vars.h,
+	  display/drivers/XDRIVER/main.c, imagery/i.class/graphics.c,
+	  imagery/i.ortho.photo/photo.2image/graphics.c,
+	  imagery/i.ortho.photo/photo.2target/graphics.c,
+	  imagery/i.points/graphics.c, imagery/i.vpoints/graphics.c,
+	  include/display.h, include/graphics.h, include/raster.h,
+	  lib/D/Dcell.c, lib/display/list.c, lib/driver/Can_do.c,
+	  lib/driver/Color.c, lib/driver/Color_table.c,
+	  lib/driver/Makefile, lib/driver/Num_colors.c,
+	  lib/driver/Reset_colors.c, lib/driver/Returns.c,
+	  lib/driver/command.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/init.c,
+	  lib/init/grass-xterm-wrapper, lib/pngdriver/Can_do.c,
+	  lib/pngdriver/Color_table.c, lib/pngdriver/Makefile,
+	  lib/pngdriver/pngdriver.h, lib/raster/com_io.c,
+	  lib/raster/com_proto.c, lib/raster/loc_io.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h: Remove support for floating colour mode
+
+2006-09-18 18:18  cho
+
+	* scripts/r.mapcalculator/r.mapcalculator,
+	  scripts/r3.mapcalculator/r3.mapcalculator: return correct exit
+	  codes
+
+2006-09-18 18:09  cho
+
+	* scripts/r3.mapcalculator/r3.mapcalculator: removed bashism
+
+2006-09-18 17:00  cho
+
+	* visualization/nviz/scripts/config.tcl,
+	  visualization/nviz/scripts/extra_bindings.tcl: missing else
+
+2006-09-18 16:47  cho
+
+	* lib/gtcltk/gronsole.tcl: missing else
+
+2006-09-18 16:42  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/maptext.tcl: Add
+	  option for mouse placement.
+
+2006-09-18 16:41  michael
+
+	* gui/tcltk/gis.m/gridline.tcl: Fix mislabeled color buttons
+
+2006-09-18 16:41  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fix one-click zoom out. Change
+	  mouse bindings to permit mouse
+	  placement of layer objects.
+
+2006-09-18 12:24  markus
+
+	* locale/po/grassmods_de.po: typo
+
+2006-09-18 12:23  markus
+
+	* contributors.csv: +Martin Landa
+
+2006-09-18 12:06  markus
+
+	* doc/howto_release.txt: new press contact
+
+2006-09-17 23:34  cho
+
+	* lib/init/init.sh: Don't change directory
+
+2006-09-17 22:49  cho
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/runandoutput.tcl,
+	  lib/init/init.sh: Create a fake monitorcap for windows
+	  Fix for calling shell scripts in windows
+
+2006-09-17 21:50  cho
+
+	* lib/gis/parser.c: MinGW fix for program name
+
+2006-09-17 20:39  cho
+
+	* lib/gis/parser.c: MinGW fix for program name
+
+2006-09-17 20:24  cho
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/runandoutput.tcl: MinGW
+	  fixes
+
+2006-09-17 20:23  cho
+
+	* scripts/r.mapcalculator/r.mapcalculator: removed unnecessary
+	  parentheses
+
+2006-09-17 20:04  cho
+
+	* scripts/r.mapcalculator/r.mapcalculator: work with
+	  P"E"RM"A"N"E"NT mapset
+
+2006-09-17 19:41  cho
+
+	* scripts/r.mapcalculator/description.html,
+	  scripts/r.mapcalculator/r.mapcalculator: Removed bashism
+
+2006-09-17 09:54  markus
+
+	* swig/python/Makefile.in: distclean target
+
+2006-09-17 09:51  markus
+
+	* swig/python/Makefile.in, swig/python/python_grass6.i: removed
+	  cloned include stuff
+
+2006-09-17 09:49  markus
+
+	* swig/python/interfaces/Makefile,
+	  swig/python/interfaces/gisdefs.i: auto-generate gisdefs.i
+
+2006-09-17 09:47  markus
+
+	* swig/python/grass, swig/python/include: removed cloned include
+	  files
+
+2006-09-17 08:14  hamish
+
+	* display/d.barscale/main.c: move D_parse_color() after
+	  R_open_driver() to avoid segfault
+
+2006-09-17 07:59  hamish
+
+	* display/d.grid/main.c: move D_parse_color() after R_open_driver()
+	  to avoid segfault
+
+2006-09-16 04:53  brad
+
+	* raster/r.grow2/main.c: - Added copyright header
+
+2006-09-16 01:56  cho
+
+	* lib/init/gis_set.tcl, lib/init/init.sh: work around MS-Windows
+	  TclTk event bug
+
+2006-09-15 10:29  cho
+
+	* lib/init/Makefile: removed unused line
+
+2006-09-15 10:22  cho
+
+	* gui/tcltk/gis.m/commonlayer.tcl, gui/tcltk/gis.m/georect.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/mapprint.tcl,
+	  gui/tcltk/gis.m/maptool.tcl, lib/gtcltk/gronsole.tcl,
+	  lib/init/Makefile, lib/init/epsg_option.tcl.in,
+	  lib/init/gis_set.tcl, lib/init/grass-xterm-wrapper.c,
+	  lib/init/help.tcl, lib/init/init.sh, lib/init/variables.html:
+	  more bugfixes for winGRASS
+	  grass-xterm-wrapper.exe added for winGRASS
+	  catch TclTk file commands (Windows TclTk returns bad code)
+
+2006-09-15 09:44  brad
+
+	* raster/r.distance/defs.h, raster/r.distance/distance.c,
+	  raster/r.distance/edges.c, raster/r.distance/labels.c,
+	  raster/r.distance/main.c, raster/r.distance/parse.c,
+	  raster/r.distance/report.c: - Added copyright header
+
+2006-09-15 07:13  brad
+
+	* raster/r.describe/describe.c, raster/r.describe/dumplist.c,
+	  raster/r.describe/local_proto.h, raster/r.describe/main.c,
+	  raster/r.describe/percent.c, raster/r.describe/tree.c: - Added
+	  copyright header
+	  - Removed unused percent.c
+	  - Fixed compiler warnings
+
+2006-09-15 06:51  brad
+
+	* raster/r.colors/eq.c, raster/r.colors/local_proto.h,
+	  raster/r.colors/log.c, raster/r.colors/main.c,
+	  raster/r.colors/rules.c, raster/r.compress/main.c,
+	  raster/r.contour/cont.c, raster/r.contour/local_proto.h,
+	  raster/r.contour/main.c, raster/r.cost/btree.c,
+	  raster/r.cost/cost.h, raster/r.cost/local_proto.h,
+	  raster/r.cost/main.c, raster/r.cost/memory.c,
+	  raster/r.cost/memory.h, raster/r.cost/stash.h,
+	  raster/r.covar/main.c, raster/r.cross/cats.c,
+	  raster/r.cross/cross.c, raster/r.cross/glob.h,
+	  raster/r.cross/local_proto.h, raster/r.cross/main.c,
+	  raster/r.cross/renumber.c, raster/r.cross/store.c,
+	  raster/r.cross/tree.c: - Added copyright statement
+
+2006-09-14 22:26  cho
+
+	* lib/init/projshare.sed: fix for Windows TclTk
+
+2006-09-14 21:40  cho
+
+	* configure, configure.in: invalid cross compiling check removed
+
+2006-09-14 09:08  hamish
+
+	* display/d.graph/do_graph.c: fix casting [bug #5037b] (thanks
+	  Glynn)
+
+2006-09-14 09:07  hamish
+
+	* display/d.graph/main.c: whitespace, added keyword
+
+2006-09-14 01:41  brad
+
+	* raster/r.clump/clump.c, raster/r.clump/local_proto.h,
+	  raster/r.clump/main.c, raster/r.coin/check.c,
+	  raster/r.coin/cmd_parms.c, raster/r.coin/coin.h,
+	  raster/r.coin/format.c, raster/r.coin/inter.c,
+	  raster/r.coin/local_proto.h, raster/r.coin/main.c,
+	  raster/r.coin/make_coin.c, raster/r.coin/print_coin.c,
+	  raster/r.coin/print_hdr.c, raster/r.coin/prnt_entry.c,
+	  raster/r.coin/totals.c: - Added copyright statement
+	  - Updated message handling and added locale macros
+
+2006-09-14 01:13  brad
+
+	* raster/r.buffer/distance.h, raster/r.buffer/execute.c,
+	  raster/r.buffer/find_dist.c, raster/r.buffer/init.c,
+	  raster/r.buffer/local_proto.h, raster/r.buffer/parse_dist.c,
+	  raster/r.buffer/process_at.c, raster/r.buffer/process_left.c,
+	  raster/r.buffer/process_rite.c, raster/r.buffer/process_row.c,
+	  raster/r.buffer/read_map.c, raster/r.buffer/support.c,
+	  raster/r.buffer/write_map.c, raster/r.cats/cats.c,
+	  raster/r.cats/local_proto.h, raster/r.cats/main.c,
+	  raster/r.circle/dist.c: - Added copyright statement
+	  - Updated message handling and used locale macros
+	  - Removed unused variables
+
+2006-09-13 15:49  moritz
+
+	* vector/v.what/main.c: add option to read coordinates from stdin
+
+2006-09-13 15:48  moritz
+
+	* gui/tcltk/gis.m/maptool.tcl: added missing parentheses
+
+2006-09-13 15:35  moritz
+
+	* gui/tcltk/gis.m/maptool.tcl: added option to save high-resolution
+	  jpeg file
+
+2006-09-13 15:05  moritz
+
+	* gui/tcltk/gis.m/maptool.tcl: added missing tmpdir variable
+
+2006-09-13 13:39  hamish
+
+	* display/d.graph/description.html: add example
+
+2006-09-13 12:23  hamish
+
+	* raster/r.buffer/description.html, raster/r.buffer/main.c: fix map
+	  history; add copyright header; rework man page
+
+2006-09-13 11:54  brad
+
+	* raster/r.average/main.c, raster/r.basins.fill/local_proto.h,
+	  raster/r.basins.fill/main.c, raster/r.basins.fill/read_map.c,
+	  raster/r.bilinear/main.c, raster/r.carve/enforce.h,
+	  raster/r.carve/enforce_ds.c, raster/r.carve/lobf.c,
+	  raster/r.carve/main.c, raster/r.carve/support.c,
+	  raster/r.carve/vect.c: - Added copyright headers
+
+2006-09-13 08:07  hamish
+
+	* raster/r.what/description.html: missing commas
+
+2006-09-13 08:04  hamish
+
+	* raster/r.what/description.html: whitespace
+
+2006-09-13 08:03  hamish
+
+	* raster/r.what/description.html: add another example
+
+2006-09-13 07:58  hamish
+
+	* raster/r.what/description.html: rework, new examples
+
+2006-09-13 04:40  cho
+
+	* include/config.h.in: Large file support for MinGW
+
+2006-09-13 04:13  cho
+
+	* aclocal.m4, configure: Large file support for MinGW
+
+2006-09-12 04:26  cho
+
+	* lib/gis/parser.c: MinGW support: $GRASS_WISH => %GRASS_WISH%
+
+2006-09-11 22:55  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Trying to commit this
+	  again. This fixes a potential minor problem
+	  by resetting the monitor to whatever it was prior to running
+	  d.vect.thematic from gism. (i.e., reset it to $currmon)
+
+2006-09-11 21:36  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Fixed bug that keeps all
+	  themes from being displayed when used
+	  with immediate mode rendering in gism. Essentially, I just check
+	  for the -s flag. If present (meaning use with GUI), it turns off
+	  immediate mode rendering and autowrite, and sends display to the
+	  PNG driver. Then it puts everything back after d.vect is
+	  iterated.
+
+2006-09-11 15:39  moritz
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: fixed small bug in querying
+	  routine
+
+2006-09-11 13:22  markus
+
+	* visualization/nviz/scripts/panel_animation.tcl,
+	  visualization/nviz/scripts/panel_kanimator.tcl: covill: button
+	  fix for saving an animation
+
+2006-09-11 10:11  moritz
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/labels.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/vector.tcl: add opacity option to .grc file
+
+2006-09-11 07:33  hamish
+
+	* scripts/v.db.droptable/v.db.droptable: messages to stderr; more
+	  instructive error message (bug #5118)
+
+2006-09-11 04:35  hamish
+
+	* lib/vector/Vlib/buffer.c: cleanup: whitespace; spelling in
+	  comments; rename oPoints() to origPoints()
+	  so it isn't confused with OutPoints().
+
+2006-09-10 06:26  hamish
+
+	* raster/r.univar2/description.html: Caveats
+
+2006-09-09 02:28  cho
+
+	* gui/tcltk/gis.m/gm.tcl: monitorcap is not available on MS-Windows
+
+2006-09-08 21:46  michael
+
+	* gui/tcltk/gis.m/gm.tcl: remove unneeded global variables and
+	  switch to local namespace
+	  variables as appropriate; fix cleanup procedures; other minor
+	  bug fixes.
+
+2006-09-08 21:44  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: remove unneeded global variables
+	  and switch to local namespace
+	  variables as appropriate; better indexing display and region
+	  management variables by monitor for better performance; several
+	  bug fixes.
+
+2006-09-08 21:42  michael
+
+	* gui/tcltk/gis.m/commonlayer.tcl: remove unneeded global variables
+	  and switch to local namespace
+	  variables as appropriate; better indexing of display variables
+	  by monitor to improve performance.
+
+2006-09-08 21:32  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: remove unneeded global variables and
+	  switch to local namespace
+	  variables as appropriate; index additional variables by monitor
+	  to improve performance; minor bug fixes
+
+2006-09-08 21:31  michael
+
+	* gui/tcltk/gis.m/thematic.tcl: remove unneeded global variables
+	  and switch to local namespace
+	  variables as appropriate; bug fix to catch incorrectly specified
+	  attribute columns
+
+2006-09-08 21:30  michael
+
+	* gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/georecttool.tcl:
+	  remove unneeded global variables and switch to local namespace
+	  variables as appropriate; update to use immediate mode rendering;
+	  allow proper region setting for latlon regions.
+
+2006-09-08 21:28  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/group.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/labels.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/maplabels.tcl,
+	  gui/tcltk/gis.m/mapprint.tcl, gui/tcltk/gis.m/maptext.tcl,
+	  gui/tcltk/gis.m/maptool.tcl, gui/tcltk/gis.m/profile.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.tcl,
+	  gui/tcltk/gis.m/vector.tcl: remove unneeded global variables and
+	  switch to local namespace
+	  variables as appropriate
+
+2006-09-07 12:04  markus
+
+	* lib/gis/legal_name.c: type
+
+2006-09-07 11:36  hamish
+
+	* display/d.legend/main.c: add missing copyright statement
+
+2006-09-07 11:04  hamish
+
+	* display/d.legend/main.c: re-enable -c "no numbers" for FP maps
+
+2006-09-07 10:33  brad
+
+	* lib/gis/legal_name.c: - Updated documentation
+
+2006-09-07 09:38  hamish
+
+	* scripts/r.univar.sh/description.html,
+	  scripts/r.univar.sh/r.univar.sh: add warning that this module
+	  will be removed in future.
+	  send messages to stderr (really this time!).
+
+2006-09-07 09:24  hamish
+
+	* scripts/i.landsat.rgb/description.html,
+	  scripts/i.landsat.rgb/i.landsat.rgb: update to use new r.univar
+	  extended stats: module is now much much faster
+
+2006-09-07 09:13  cho
+
+	* visualization/nviz/src/nvizMain.c: Reverted G_realloc of argv
+
+2006-09-07 08:54  hamish
+
+	* raster/r.univar2/description.html: update; extended stats
+
+2006-09-07 08:13  hamish
+
+	* raster/r.univar2/main.c: merge in extended statistics -
+	  contributed by Martin Landa <landa.martin at gmail com>
+
+2006-09-06 16:09  paul
+
+	* general/g.setproj/description.html: Mention PERMANENT mapset
+	  again
+
+2006-09-06 16:07  paul
+
+	* general/g.setproj/main.c: Crude check for mapset
+
+2006-09-06 00:33  glynn
+
+	* lib/ogsf/gsd_img_tif.c: Remove unnecessary use of non-ANSI
+	  typedefs
+
+2006-09-05 22:34  markus
+
+	* lib/vector/Vlib/init_head.c: initialize new file header with user
+	  name and current date (as it was in GRASS 5)
+
+2006-09-05 16:20  cho
+
+	* visualization/nviz/scripts/extra_bindings.tcl: fix for "bad
+	  cursor spec" on windows
+
+2006-09-05 14:24  cho
+
+	* lib/form/form.c, lib/form/open.c,
+	  visualization/nviz/scripts/config.tcl,
+	  visualization/nviz/src/do_zoom.c,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c: nviz -f option fixed: "nviz
+	  landuse-forest" did not work.
+	  MinGW support.
+
+2006-09-05 08:14  markus
+
+	* vector/vectorintro.html: rename v.bspline also here
+
+2006-09-05 05:02  hamish
+
+	* vector/v.in.ogr/description.html: add note about DBF column name
+	  truncation; cleanup
+
+2006-09-04 23:58  hamish
+
+	* vector/lidar/v.bspline/Makefile,
+	  vector/lidar/v.bspline/description.html,
+	  vector/lidar/v.bspline/main.c,
+	  vector/lidar/v.outlier/description.html: rename v.bspline to
+	  v.surf.bspline; minor text & whitespace updates
+
+2006-09-04 21:07  cho
+
+	* lib/ogsf/gsd_img_tif.c: typedefs for MinGW
+
+2006-09-04 16:02  markus
+
+	* visualization/nviz/src/togl_flythrough.c: avoid atoi() crash
+
+2006-09-04 03:14  hamish
+
+	* gui/tcltk/menus/menu.tcl: remove dead menu entries: v.topo.check,
+	  g3.*
+
+2006-09-03 17:47  cho
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmmenu.tcl,
+	  gui/tcltk/gis.m/runandoutput.tcl: Use nul for MinGW
+
+2006-09-03 17:37  cho
+
+	* lib/gtcltk/gronsole.tcl, lib/gtcltk/options.tcl: Use nul for
+	  MinGW
+
+2006-09-03 09:54  markus
+
+	* debian/changelog, debian/grass.install, debian/grass.links,
+	  debian/grass61.1, debian/grass63.1, debian/rules: changes 61 to
+	  63
+
+2006-09-03 07:09  hamish
+
+	* scripts/v.dissolve/description.html: help page contributed by
+	  Trevor Wiens <twiens interbaun com>
+
+2006-09-03 05:37  hamish
+
+	* AUTHORS: Formatting & bump to GRASS 6.2
+
+2006-09-02 14:57  markus
+
+	* locale/README: LC_ALL, not LC_CTYPE must be changed to get TclTk
+	  GUI into different language (LOCALE)
+
+2006-09-02 07:43  cho
+
+	* lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_projname.c, lib/gis/gishelp.c, lib/gis/list.c: MinGW
+	  support
+
+2006-09-02 05:44  cho
+
+	* lib/init/gis_set.tcl, lib/init/init.sh: MinGW fix
+
+2006-09-02 05:43  cho
+
+	* lib/gis/env.c: Use G_getl2() instead of G_getl() for portability
+
+2006-09-02 05:11  cho
+
+	* lib/init/set_data.c: MinGW fix
+
+2006-09-02 04:11  cho
+
+	* raster/r.flow/io.c: Commented out unused variables
+
+2006-09-02 02:43  cho
+
+	* lib/init/set_data.c: MinGW32 fix
+
+2006-09-02 02:15  cho
+
+	* lib/gis/env.c: remove unused variable
+
+2006-09-01 22:32  glynn
+
+	* visualization/nviz/src/do_zoom.c: Disable whole of Create_OS_Ctx
+	  if neither HAVE_PBUFFERS nor HAVE_PIXMAPS are defined
+
+2006-09-01 22:27  glynn
+
+	* display/d.vect/attr.c, display/d.vect/label.c,
+	  display/d.vect/main.c, display/d.vect/topo.c,
+	  display/d.vect/zcoor.c, include/raster.h, lib/driver/Font.c,
+	  lib/driver/command.c, lib/driver/driver.h, lib/raster/com_get.c,
+	  lib/raster/com_io.c, lib/raster/com_proto.c, lib/raster/common.c,
+	  lib/raster/loc_get.c, lib/raster/loc_io.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_get.c,
+	  lib/raster/rem_io.c, lib/raster/rem_pad.c,
+	  lib/raster/rem_proto.c, lib/raster/transport.h: Remove
+	  meaningless status returns from R_* functions
+	  Remove default setting and options list from d.vect's font=
+	  option
+
+2006-09-01 21:14  cho
+
+	* include/freetypecap.h: Readd freetypecap.h
+
+2006-09-01 21:05  markus
+
+	* lib/driver/Font.c: G_gisbase() needs gis.h
+
+2006-09-01 19:11  cho
+
+	* display/d.mon/pgms/select.c: Use R_font()
+
+2006-09-01 18:52  cho
+
+	* display/d.font/main.c: Removed unused one byte
+
+2006-09-01 18:31  glynn
+
+	* visualization/nviz/src/do_zoom.c: Don't try to set up off-screen
+	  context if neither pbuffer nor pixmap were created
+
+2006-09-01 18:30  glynn
+
+	* lib/raster/Makefile, lib/raster/loc_proto.c,
+	  lib/raster/rem_proto.c: Change LOC_font/REM_font to pass the name
+	  directly to the driver, without adding a path
+	  Don't install freetypecap from lib/raster
+
+2006-09-01 18:27  glynn
+
+	* lib/driver/Font.c, lib/driver/Get_t_box.c, lib/driver/Makefile,
+	  lib/driver/Text.c, lib/driver/driver.h, lib/driver/driverlib.h,
+	  lib/driver/init.c, lib/driver/parse_ftcap.c: Merge
+	  FreeType/stroke fonts
+
+2006-09-01 18:21  glynn
+
+	* display/d.font/main.c: Reinstate freetype/stroke merge
+	  Fix missing NUL-terminator
+
+2006-09-01 18:06  cho
+
+	* display/d.font/main.c, display/d.mon/pgms/select.c,
+	  include/freetypecap.h, include/raster.h, lib/raster/Makefile:
+	  Reverted recent changes for unifying freetype and stroke fonts
+
+2006-09-01 16:32  glynn
+
+	* lib/raster/com_io.c, lib/raster/freetypecap,
+	  lib/raster/loc_proto.c, lib/raster/parse_ftcap.c,
+	  lib/raster/rem_proto.c: Revert half-baked attempt at unifying
+	  FreeType and stroke fonts
+
+2006-09-01 12:47  markus
+
+	* vector/vectorintro.html: Lidar processing chain explained
+
+2006-09-01 11:23  brad
+
+	* display/d.text.new/main.c: - Added <math.h> for fmod()
+	  - Added <unistd.h> for isatty()
+	  
+	  NOTE: isatty() is *NOT* compliant and should be replaced.
+
+2006-09-01 10:54  cho
+
+	* display/d.font/main.c: free memory only if it's allocated before
+
+2006-09-01 10:19  cho
+
+	* display/d.font/main.c: realloc bug fixed
+
+2006-09-01 10:09  cho
+
+	* display/Makefile, display/d.text.new/Makefile,
+	  display/d.text.new/main.c: Added d.text.new to display/Makefile
+
+2006-09-01 10:05  cho
+
+	* display/d.barscale/main.c, display/d.text.new,
+	  display/d.text.new/Makefile, display/d.text.new/description.html,
+	  display/d.text.new/main.c, display/d.text.new/test.pl: Merged
+	  d.text and d.text.freetype into d.text.new (need more test).
+
+2006-09-01 09:57  markus
+
+	* lib/raster/loc_proto.c, lib/raster/parse_ftcap.c,
+	  lib/raster/rem_proto.c: missing header includes added
+
+2006-09-01 07:56  markus
+
+	* vector/v.lrs/lrs.html: LRS article now online
+
+2006-09-01 04:30  cho
+
+	* display/d.font/main.c, display/d.mon/pgms/select.c,
+	  include/freetypecap.h, include/raster.h, lib/raster/com_io.c,
+	  lib/raster/freetypecap, lib/raster/loc_proto.c,
+	  lib/raster/parse_ftcap.c, lib/raster/rem_proto.c: Merged R_font()
+	  and R_font_freetype().
+	  Merged d.font and d.font.freetype.
+	  Use GRASS_FT_* environment variables for d.mon initialization.
+
+2006-08-31 14:06  maciej
+
+	* vector/v.category/description.html,
+	  vector/v.out.ascii/description.html: Eric Patton: documentation
+	  improved
+
+2006-08-31 13:41  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: avoid .ppm.ppm
+	  filename extensions for Max Res .PPM
+
+2006-08-31 13:32  markus
+
+	* lib/init/grass-xterm-wrapper: simplified to avoid that broken
+	  gnome-terminal is picked up through x-terminal-emulator
+
+2006-08-31 12:46  markus
+
+	* vector/lidar/v.outlier/main.c: avoid caps in parameter names
+
+2006-08-31 11:46  markus
+
+	* scripts/v.centroids/description.html: typo
+
+2006-08-31 08:56  hamish
+
+	* scripts/v.centroids/description.html: formatting
+
+2006-08-31 08:54  hamish
+
+	* scripts/v.centroids/description.html: help page contributed by
+	  Trevor Wiens <twiens interbaun com>
+
+2006-08-31 08:47  hamish
+
+	* scripts/m.proj/description.html: typo
+
+2006-08-31 08:00  hamish
+
+	* gui/tcltk/menus/menu.tcl: added v.centroids and v.dissolve
+
+2006-08-31 07:56  moritz
+
+	* gui/tcltk/gis.m/description.html: add hint about use of backslash
+	  character to escape spaces in command layer
+
+2006-08-31 06:17  hamish
+
+	* scripts/Makefile: new modules: v.centroids and v.dissolve
+
+2006-08-31 06:13  hamish
+
+	* scripts/v.centroids, scripts/v.centroids/Makefile,
+	  scripts/v.centroids/v.centroids, scripts/v.dissolve,
+	  scripts/v.dissolve/Makefile, scripts/v.dissolve/v.dissolve: new
+	  modules (frontends)
+
+2006-08-31 05:59  hamish
+
+	* vector/v.digit/centre.c: revert to a faster zoom out
+
+2006-08-30 21:13  markus
+
+	* general/g.proj/main.c: added missing errno.h
+
+2006-08-30 21:00  markus
+
+	* visualization/nviz/src/interface.h: fix for Tk8.5
+
+2006-08-30 20:37  glynn
+
+	* lib/driver/font_freetype.c, lib/raster/loc_io.c: Allow immediate
+	  rendering to use FreeType fonts
+	  Change default encoding from EUC-JP to ISO-8859-1
+
+2006-08-30 18:53  glynn
+
+	* display/drivers/PNG/main.c,
+	  display/drivers/XDRIVER/Draw_bitmap.c,
+	  display/drivers/XDRIVER/XDRIVER.h, include/graphics.h,
+	  include/raster.h, lib/driver/Bitmap.c, lib/driver/Draw.c,
+	  lib/driver/Makefile, lib/driver/command.c, lib/driver/driver.h,
+	  lib/driver/text3.c, lib/pngdriver/Draw_bitmap.c,
+	  lib/pngdriver/Makefile, lib/pngdriver/pngdriver.h,
+	  lib/raster/com_io.c, lib/raster/com_proto.c,
+	  lib/raster/loc_proto.c, lib/raster/rem_proto.c,
+	  lib/raster/transport.h: Add R_bitmap() and supporting
+	  infrastructure
+
+2006-08-30 17:44  cho
+
+	* display/d.text.freetype/description.html: updated
+	  description.html
+
+2006-08-30 17:38  cho
+
+	* gui/tcltk/d.m/fttext.tcl: Updated d.text.freetype options and
+	  flags
+
+2006-08-30 17:37  cho
+
+	* display/d.text.freetype/main.c: Changed description: map
+	  coordinates -> geographic coordinates
+
+2006-08-30 17:20  cho
+
+	* display/d.text.freetype/main.c: Changed east_north= to at= to be
+	  compatible with d.text
+
+2006-08-30 16:57  michael
+
+	* gui/tcltk/gis.m/commonlayer.tcl: Removed debugging text (forgot
+	  on previoius commit).
+
+2006-08-30 16:48  michael
+
+	* gui/tcltk/gis.m/commonlayer.tcl: Added error trapping for trying
+	  to re-render 2 map displays simultaneously.
+
+2006-08-30 16:33  cho
+
+	* display/d.text.freetype/main.c: Changed FT_LOAD_DEFAULT to
+	  FT_LOAD_NO_BITMAP: do not load embedded bitmaps
+
+2006-08-30 16:17  glynn
+
+	* display/d.text.freetype/main.c: Fix bug in built-in ISO-8859-1 ->
+	  UCS-4 decoder
+
+2006-08-30 16:08  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Fixed row and column display in
+	  status bar area of map display window.
+
+2006-08-30 15:24  paul
+
+	* vector/v.proj/main.c: Leave z co-ordinates in 3-D vectors
+	  untouched by default
+
+2006-08-30 14:46  maciej
+
+	* general/g.mapsets/description.html: link added
+
+2006-08-30 14:00  trevor
+
+	* vector/v.what/main.c: Distance parameter description changed to
+	  Query threshold distance to increase clarity.
+	  Trevor Wiens 30 August 2006
+
+2006-08-30 13:43  maciej
+
+	* lib/init/helptext.html: removing mapset explained, cosmetics;
+	  fixes #3179
+
+2006-08-30 13:37  glynn
+
+	* lib/driver/text3.c: Revert previous fix; not applicable to driver
+	  implementation
+
+2006-08-30 13:28  paul
+
+	* general/g.proj/description.html: Make a few things clearer.
+	  Actually I would like to remove the -d flag some
+	  time as it is not really useful for anything and confuses the
+	  functionality
+	  of the module.
+
+2006-08-30 12:15  markus
+
+	* general/g.proj/description.html: notes on units and -w added
+
+2006-08-30 08:49  markus
+
+	* vector/lidar/v.outlier/main.c: Roberto Antolin: qgis parm
+	  optional
+
+2006-08-30 05:42  hamish
+
+	* vector/v.digit/toolbox.tcl: move redraw button to left to match
+	  gis.m, change hint box colors to look
+	  less clickable.
+
+2006-08-30 02:01  glynn
+
+	* lib/init/variables.html: Document GRASS_NO_GLX_{PBUFFERS,PIXMAPS}
+
+2006-08-30 02:00  glynn
+
+	* display/d.text.freetype/main.c, lib/driver/text3.c: Advance
+	  drawing position if FT_Render_Glyph() fails (fix missing-spaces
+	  bug)
+
+2006-08-29 15:09  markus
+
+	* vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c: fix for DB error if
+	  Auxiliar Table isn't present
+
+2006-08-29 15:08  markus
+
+	* vector/lidar/v.outlier/main.c: reverted else statement addition
+
+2006-08-29 14:59  markus
+
+	* vector/lidar/v.outlier/main.c: fix for DB error if Auxiliar Table
+	  isn't present
+
+2006-08-29 14:26  markus
+
+	* vector/lidar/v.outlier/main.c: grammar fix
+
+2006-08-29 08:50  markus
+
+	* debian/patches/htmlgen-fakeroot.dpatch: patch fixed
+
+2006-08-28 21:15  markus
+
+	* lib/init/variables.html: GRASS_TERM explained
+
+2006-08-28 19:44  markus
+
+	* doc/howto_release.txt: small updates
+
+2006-08-28 11:56  glynn
+
+	* include/Make/Html.make: Set LC_ALL=C when generating HTML files
+
+2006-08-28 11:35  markus
+
+	* lib/init/grass-xterm-wrapper: silent which
+
+2006-08-28 07:14  markus
+
+	* lib/init/grass-xterm-wrapper: removed unnecessary stuff
+
+2006-08-27 21:19  markus
+
+	* gui/tcltk/d.m/chart.tcl, gui/tcltk/d.m/d.m.tcl,
+	  gui/tcltk/d.m/script/d.colors.sh, gui/tcltk/d.m/script/d.text.sh,
+	  gui/tcltk/d.m/script/r.colors.rules,
+	  gui/tcltk/d.m/script/r.reclass.rules,
+	  gui/tcltk/d.m/script/r.recode.rules,
+	  gui/tcltk/d.m/script/r.support.sh, gui/tcltk/d.m/thematic.tcl,
+	  gui/tcltk/d.m/vector.tcl, gui/tcltk/gis.m/runandoutput.tcl,
+	  gui/tcltk/gis.m/script/d.colors.sh,
+	  gui/tcltk/gis.m/script/d.text.sh,
+	  gui/tcltk/gis.m/script/r.colors.rules,
+	  gui/tcltk/gis.m/script/r.reclass.rules,
+	  gui/tcltk/gis.m/script/r.recode.rules,
+	  gui/tcltk/gis.m/script/r.support.sh,
+	  gui/wxpython/scripts/r.colors.rules,
+	  gui/wxpython/scripts/r.reclass.rules,
+	  gui/wxpython/scripts/r.recode.rules,
+	  gui/wxpython/scripts/r.support.sh, lib/gtcltk/gronsole.tcl,
+	  lib/init/Makefile, lib/init/epsg_option.tcl.in,
+	  lib/init/grass-xterm-wrapper,
+	  scripts/r.mapcalculator/r.mapcalculator,
+	  scripts/r3.mapcalculator/r3.mapcalculator: use
+	  grass-xterm-wrapper script instead of hardcoded xterm
+
+2006-08-27 15:19  stephan
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: + more
+	  german i18n-translations
+
+2006-08-26 18:22  markus
+
+	* vector/v.to.points/description.html: Eric Patton: notes extended
+
+2006-08-26 15:18  markus
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: michael: fix for latlong supportÃ
+
+2006-08-25 17:50  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl: Fix
+	  to save display to named region procedures so that it actually
+	  saves the current display information. Also added check to see if
+	  named region exists and chance to overwrite.
+
+2006-08-25 15:52  paul
+
+	* vector/v.surf.idw/read_sites.c: Don't require topology to be
+	  built for input vector points file
+
+2006-08-25 13:12  glynn
+
+	* lib/form/Makefile, lib/form/open.c, raster/Makefile,
+	  vector/Makefile: Don't attempt to build modules whose
+	  dependencies are disabled
+	  lib/form/open.c can be compiled without Tcl/Tk present
+
+2006-08-25 11:55  markus
+
+	* Makefile: added exit status as suggested by Paul
+
+2006-08-25 00:11  michael
+
+	* vector/v.digit/toolbox.tcl: cosmetic improvements
+
+2006-08-24 22:27  hamish
+
+	* vector/v.digit/toolbox.tcl: swap order of button rows
+
+2006-08-24 21:52  michael
+
+	* vector/v.digit/toolbox.tcl: Turned single long toolbar into 2
+	  toolbars. Some other
+	  cosmetic improvements.
+
+2006-08-24 21:52  markus
+
+	* vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/v.bspline/main.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/main.c: Roberto Antolin: further
+	  fixes with declarations
+
+2006-08-24 19:59  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl: Map
+	  display toolbar: added zoom entry for saving current
+	  geometry to named region
+
+2006-08-24 19:06  markus
+
+	* db/databaseintro.html, db/drivers/dbf/Makefile,
+	  db/drivers/dbf/dbf.html, db/drivers/dbf/grass-dbf.html,
+	  db/drivers/mysql/Makefile, db/drivers/mysql/grass-mesql.html,
+	  db/drivers/mysql/grass-mysql.html, db/drivers/mysql/mesql.html,
+	  db/drivers/mysql/mysql.html, db/drivers/odbc/Makefile,
+	  db/drivers/odbc/grass-odbc.html, db/drivers/odbc/odbc.html,
+	  db/drivers/postgres/Makefile, db/drivers/postgres/grass-pg.html,
+	  db/drivers/postgres/pg.html, db/drivers/sqlite/Makefile,
+	  db/drivers/sqlite/grass-sqlite.html,
+	  db/drivers/sqlite/sqlite.html, lib/db/sqlp/description.html: dbmi
+	  docs renamed (bug #4992)
+
+2006-08-24 18:38  markus
+
+	* vector/v.digit/toolbox.tcl: split v.digit icons into two rows for
+	  800x600 screens (bug #5042)
+
+2006-08-24 18:04  michael
+
+	* gui/tcltk/gis.m/gm.tcl: minor code cleanup
+
+2006-08-24 18:04  michael
+
+	* gui/tcltk/gis.m/raster.tcl: Fixed nasty bug that locked up gism
+	  if there was a bad raster
+	  name in the layer tree.
+
+2006-08-24 18:04  michael
+
+	* gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/mapcanvas.tcl:
+	  Rewrote map rendering to use new GRASS_RENDER_IMMEDIATE mode.
+	  Rewrote region setting so that displays use GRASS_REGION and
+	  everything else usees WIND file settings.
+
+2006-08-23 17:43  glynn
+
+	* display/d.graph/main.c: Call R_open_driver() before calling any
+	  other R_* functions
+
+2006-08-23 13:04  hamish
+
+	* display/drivers/PNG/description.html: document
+	  GRASS_RENDER_IMMEDIATE as per Glynn's comments on the grass-dev
+	  mailing list
+
+2006-08-23 12:58  hamish
+
+	* lib/init/variables.html: move PNG driver variables into their own
+	  section
+
+2006-08-23 12:46  hamish
+
+	* lib/init/variables.html: document GRASS_PNG_AUTO_WRITE and
+	  GRASS_RENDER_IMMEDIATE as described by
+	  Glynn on the -dev mailing list
+
+2006-08-23 12:07  hamish
+
+	* lib/symbol/symbol/extra/pentagon: new symbol (derived from star)
+
+2006-08-23 07:44  markus
+
+	* Makefile: remove also swig/perl2/make.pl
+
+2006-08-23 07:19  markus
+
+	* doc/raster/r.example/main.c, general/g.parser/test.sh: fixed
+	  missing keywords
+
+2006-08-23 07:18  markus
+
+	* raster/r.to.rast3elev/main.c: fixed keywords
+
+2006-08-23 07:16  markus
+
+	* doc/vector/v.example/main.c: fixed module descr.; fixed indenting
+
+2006-08-23 07:16  markus
+
+	* swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c: sync'ed
+	  to module version
+
+2006-08-23 05:35  markus
+
+	* lib/ogsf/gvl_calc.c, lib/ogsf/gvld.c: indent -nbad -bap -bbb
+	  -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb -nce -ci4 -cli0 -ncs -d0
+	  -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp -npcs -pi4 -nprs
+	  -npsl -sbi0 -sc -nsob -ss -ts8
+
+2006-08-22 20:56  cho
+
+	* vector/lidar/lidarlib/PolimiFunct.h: fix for struct redefinitions
+
+2006-08-22 20:11  cho
+
+	* raster/r.topidx/description.html: clarified description
+
+2006-08-22 20:03  markus
+
+	* vector/lidar/lidarlib/InterpSpline.c,
+	  vector/lidar/lidarlib/Makefile,
+	  vector/lidar/lidarlib/TcholBand.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.bspline/Makefile, vector/lidar/v.bspline/main.c,
+	  vector/lidar/v.lidar.correction/Makefile,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/Makefile,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/Makefile,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/Makefile, vector/lidar/v.outlier/main.c,
+	  vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.outlier/outlier.h: Roberto Antolin: more fixes
+
+2006-08-22 12:26  martinl
+
+	* vector/v.extrude/main.c: hcolumn bug fixed
+
+2006-08-22 10:20  cho
+
+	* lib/init/init.sh: typo
+
+2006-08-22 10:19  cho
+
+	* lib/init/init.sh: MSYS specific code
+
+2006-08-22 10:17  cho
+
+	* lib/gis/env.c: POSIX path <-> WIN32 path conversion for the
+	  GISDBASE variable
+
+2006-08-22 10:15  cho
+
+	* lib/stats/Makefile: added GISLIB
+
+2006-08-22 09:28  cho
+
+	* configure, configure.in: --enable-runtime-pseudo-reloc option for
+	  MinGW LD
+
+2006-08-22 05:46  cho
+
+	* raster/r.out.tiff/r.out.tiff.c: u_short typedef for MinGW
+
+2006-08-22 05:05  cho
+
+	* raster/r.mapcalc/xrand.c: closing parenthesis
+
+2006-08-21 13:37  glynn
+
+	* include/Make/Grass.make.in, raster/Makefile,
+	  raster/simwe/simlib/Makefile, tools/sql.sh,
+	  vector/lidar/lidarlib/Makefile, vector/v.lrs/lib/Makefile,
+	  vector/v.lrs/v.lrs.create/Makefile,
+	  vector/v.lrs/v.lrs.label/Makefile,
+	  vector/v.lrs/v.lrs.segment/Makefile,
+	  vector/v.lrs/v.lrs.where/Makefile: Add dependencies to *LIB
+	  variables in Grass.make.in
+	  Tidy formatting of Grass.make.in
+	  Add LRS library to Grass.make.in; change Makefiles to use
+	  LRS{LIB,DEP,_LIBNAME}
+	  Add r.resamp.interp to raster/Makefile
+	  Set LIB_NAME for lidar/simlib Makefiles
+
+2006-08-21 12:50  markus
+
+	* include/Make/Grass.make.in, raster/simwe/r.sim.sediment/Makefile,
+	  raster/simwe/r.sim.water/Makefile, raster/simwe/simlib/Makefile:
+	  moved LIB declaration to central file
+
+2006-08-21 12:45  markus
+
+	* include/Make/Grass.make.in, vector/lidar/lidarlib/Makefile,
+	  vector/lidar/v.bspline/Makefile,
+	  vector/lidar/v.lidar.correction/Makefile,
+	  vector/lidar/v.lidar.edgedetection/Makefile,
+	  vector/lidar/v.lidar.growing/Makefile,
+	  vector/lidar/v.outlier/Makefile: moved LIB declaration to central
+	  file
+
+2006-08-21 08:33  markus
+
+	* vector/lidar/v.lidar.correction/correction.c: no C++ comments
+
+2006-08-20 18:26  markus
+
+	* vector/lidar/lidarlib/raster.c: don't declare extern (bug #5030);
+	  no C++ style comments
+
+2006-08-20 18:20  markus
+
+	* vector/lidar/lidarlib/Makefile: Use EXTRA_LIBS instead of LIBES
+	  (bug #5029)
+
+2006-08-20 18:12  markus
+
+	* raster/simwe/simlib/Makefile: missing VECTLIB added (bug #5028)
+
+2006-08-20 14:40  martinl
+
+	* general/g.region/cmd/adjust.c, general/g.region/cmd/main.c,
+	  general/g.region/cmd/printwindow.c, general/g.region/cmd/zoom.c,
+	  lib/gis/adj_cellhd.c: g.region b>t bug fixed
+
+2006-08-20 07:32  markus
+
+	* Makefile: distclean update
+
+2006-08-19 16:34  markus
+
+	* configure, configure.in, swig/python/grass.i,
+	  swig/python/grass.i.in: added swig/python/grass.i
+
+2006-08-19 15:55  markus
+
+	* vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.growing/growing.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c:
+	  added missing includes
+
+2006-08-19 14:25  markus
+
+	* vector/lidar/lidarlib/TcholBand.c,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.growing/ConvexHull.c,
+	  vector/lidar/v.outlier/outlier.c: fixed missing gis.h include
+
+2006-08-19 14:17  markus
+
+	* sites/s.in.ascii/main.c, sites/s.out.ascii/main.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/v.clean/test/topocheck.c,
+	  vector/v.edit/main.c, vector/v.in.dwg/main.c,
+	  vector/v.in.dxf/main.c, vector/v.out.dxf/main.c: keyword support
+	  added
+
+2006-08-19 13:22  glynn
+
+	* vector/v.hull/main.c: Remove extraneous semicolon
+
+2006-08-19 12:52  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/createdb.c, db/base/databases.c, db/base/describe.c,
+	  db/base/drivers.c, db/base/dropdb.c, db/base/droptable.c,
+	  db/base/execute.c, db/base/select.c, db/base/tables.c,
+	  db/db.login/main.c, display/d.ask/main.c,
+	  display/d.barscale/main.c, display/d.colorlist/main.c,
+	  display/d.colors/main.c, display/d.colortable/main.c,
+	  display/d.erase/main.c, display/d.extend/main.c,
+	  display/d.extract/main.c, display/d.font.freetype/main.c,
+	  display/d.font/main.c, display/d.frame/frame.c,
+	  display/d.geodesic/main.c, display/d.graph/main.c,
+	  display/d.grid/main.c, display/d.his/main.c,
+	  display/d.histogram/main.c, display/d.info/main.c,
+	  display/d.legend/main.c, display/d.linegraph/linegraph.c,
+	  display/d.mapgraph/main.c, display/d.measure/main.c,
+	  display/d.menu/main.c, display/d.mon/cmd/main.c,
+	  display/d.nviz/main.c, display/d.paint.labels/main.c,
+	  display/d.path/main.c, display/d.profile/main.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.num/number.c,
+	  display/d.rast/main.c, display/d.rgb/main.c,
+	  display/d.rhumbline/main.c, display/d.save/main.c,
+	  display/d.text.freetype/main.c, display/d.text/main.c,
+	  display/d.title/main.c, display/d.vect.chart/main.c,
+	  display/d.vect/main.c, display/d.what.rast/main.c,
+	  display/d.what.vect/main.c, display/d.where/main.c,
+	  display/d.zoom/main.c, general/g.access/main.c,
+	  general/g.ask/main.c, general/g.filename/main.c,
+	  general/g.findfile/main.c, general/g.gisenv/main.c,
+	  general/g.mapset/main.c, general/g.mapsets/main_cmd.c,
+	  general/g.parser/main.c, general/g.pnmcomp/main.c,
+	  general/g.proj/main.c, general/g.region/cmd/main.c,
+	  general/g.tempfile/main.c, general/g.transform/main.c,
+	  general/g.version/main.c, general/manage/cmd/copy.c,
+	  general/manage/cmd/list.c, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c, imagery/i.cca/main.c,
+	  imagery/i.class/main.c, imagery/i.cluster/main.c,
+	  imagery/i.fft/fftmain.c, imagery/i.gensig/main.c,
+	  imagery/i.gensigset/main.c, imagery/i.group/main.c,
+	  imagery/i.his.rgb/h2rmain.c, imagery/i.ifft/ifftmain.c,
+	  imagery/i.maxlik/main.c,
+	  imagery/i.ortho.photo/photo.2target/main.c, imagery/i.pca/main.c,
+	  imagery/i.points/main.c, imagery/i.rectify/main.c,
+	  imagery/i.rgb.his/r2hmain.c, imagery/i.smap/shapiro/main.c,
+	  imagery/i.target/main.c, imagery/i.vpoints/main.c,
+	  imagery/i.zc/main.c, include/gis.h, lib/gis/parser.c,
+	  misc/m.cogo/main.c, paint/p.out.vrml/main.c, ps/ps.map/main.c,
+	  raster/r.average/main.c, raster/r.basins.fill/main.c,
+	  raster/r.bilinear/main.c, raster/r.bitpattern/main.c,
+	  raster/r.buffer/main.c, raster/r.carve/main.c,
+	  raster/r.cats/main.c, raster/r.circle/dist.c,
+	  raster/r.clump/main.c, raster/r.coin/cmd_parms.c,
+	  raster/r.colors/main.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.contour/main.c,
+	  raster/r.cost/main.c, raster/r.covar/main.c,
+	  raster/r.cross/main.c, raster/r.describe/main.c,
+	  raster/r.digit/main.c, raster/r.distance/main.c,
+	  raster/r.drain/main.c, raster/r.fill.dir/main.c,
+	  raster/r.flow/io.c, raster/r.grow2/main.c, raster/r.his/main.c,
+	  raster/r.in.arc/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.gridatb/main.c, raster/r.in.mat/main.c,
+	  raster/r.in.poly/main.c, raster/r.in.xyz/main.c,
+	  raster/r.info/main.c, raster/r.kappa/main.c,
+	  raster/r.lake/main.c, raster/r.los/main.c,
+	  raster/r.median/main.c, raster/r.mfilter/main.c,
+	  raster/r.mode/main.c, raster/r.neighbors/main.c,
+	  raster/r.null/null.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/main.c, raster/r.out.bin/main.c,
+	  raster/r.out.gridatb/main.c, raster/r.out.mat/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.png/r.out.png.c,
+	  raster/r.out.pov/main.c, raster/r.out.ppm/main.c,
+	  raster/r.out.ppm3/main.c, raster/r.out.tiff/r.out.tiff.c,
+	  raster/r.out.vtk/main.c, raster/r.param.scale/interface.c,
+	  raster/r.patch/main.c, raster/r.profile/main.c,
+	  raster/r.proj/main.c, raster/r.quant/main.c,
+	  raster/r.random.cells/main.c, raster/r.random.surface/main.c,
+	  raster/r.random/main.c, raster/r.reclass/main.c,
+	  raster/r.recode/main.c, raster/r.region/main.c,
+	  raster/r.report/main.c, raster/r.resamp.interp/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/main.c, raster/r.rescale/main.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.statistics/main.c, raster/r.stats/main.c,
+	  raster/r.sum/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/main.c, raster/r.support/front/front.c,
+	  raster/r.surf.area/main.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.fractal/interface.c, raster/r.surf.gauss/main.c,
+	  raster/r.surf.idw/main.c, raster/r.surf.idw2/main.c,
+	  raster/r.surf.random/main.c, raster/r.texture/main.c,
+	  raster/r.thin/main.c, raster/r.timestamp/main.c,
+	  raster/r.to.rast3/main.c, raster/r.to.rast3elev/main.c,
+	  raster/r.to.vect/main.c, raster/r.topidx/main.c,
+	  raster/r.topmodel/main.c, raster/r.transect/main.c,
+	  raster/r.univar2/main.c, raster/r.volume/main.c,
+	  raster/r.walk/main.c, raster/r.water.outlet/main.c,
+	  raster/r.watershed/front/main.c, raster/r.what/main.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/wildfire/r.ros/main.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster3d/base/r3.info.main.c, raster3d/base/r3.mask.main.c,
+	  raster3d/base/r3.null.main.c, raster3d/base/r3.timestamp.main.c,
+	  raster3d/r3.cross.rast/main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/main.c, raster3d/r3.to.rast/main.c,
+	  scripts/d.correlate/d.correlate, scripts/d.monsize/d.monsize,
+	  scripts/d.mvmon/d.mvmon, scripts/d.out.file/d.out.file,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.png/d.out.png, scripts/d.polar/d.polar,
+	  scripts/d.rast.leg/d.rast.leg, scripts/d.redraw/d.redraw,
+	  scripts/d.resize/d.resize, scripts/d.slide.show/d.slide.show,
+	  scripts/d.split/d.split, scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/db.test/db.test, scripts/g.manual/g.manual,
+	  scripts/g.mlist/g.mlist, scripts/g.mremove/g.mremove,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt,
+	  scripts/i.landsat.rgb/i.landsat.rgb, scripts/i.oif/i.oif,
+	  scripts/i.spectral/i.spectral, scripts/i.tasscap/i.tasscap,
+	  scripts/m.proj/m.proj, scripts/r.blend/r.blend,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.aster/r.in.aster,
+	  scripts/r.in.srtm/r.in.srtm, scripts/r.in.wms/r.in.gdalwarp,
+	  scripts/r.in.wms/r.in.wms, scripts/r.in.wms/wms.download,
+	  scripts/r.in.wms/wms.request, scripts/r.mask/r.mask,
+	  scripts/r.out.gdal/r.out.gdal, scripts/r.plane/r.plane,
+	  scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.shaded.relief/r.shaded.relief,
+	  scripts/r.tileset/r.tileset, scripts/r.univar.sh/r.univar.sh,
+	  scripts/v.convert.all/v.convert.all,
+	  scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all,
+	  scripts/v.db.update/v.db.update, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.garmin/v.in.garmin, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.in.mapgen/v.in.mapgen,
+	  scripts/v.in.sites.all/v.in.sites.all,
+	  scripts/v.rast.stats/v.rast.stats, scripts/v.report/v.report,
+	  scripts/v.univar.sh/v.univar.sh, scripts/v.what.vect/v.what.vect,
+	  sites/s.in.ascii/main.c, sites/s.out.ascii/main.c,
+	  vector/lidar/v.bspline/main.c,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing/main.c,
+	  vector/lidar/v.outlier/main.c, vector/v.buffer/main.c,
+	  vector/v.build.polylines/main.c, vector/v.build/main.c,
+	  vector/v.category/main.c, vector/v.clean/main.c,
+	  vector/v.clean/test/topocheck.c, vector/v.convert/main.c,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  vector/v.digit/main.c, vector/v.distance/main.c,
+	  vector/v.drape/main.c, vector/v.edit/main.c,
+	  vector/v.external/main.c, vector/v.extract/main.c,
+	  vector/v.extrude/main.c, vector/v.hull/main.c,
+	  vector/v.in.ascii/in.c, vector/v.in.db/main.c,
+	  vector/v.in.dwg/main.c, vector/v.in.dxf/main.c,
+	  vector/v.in.ogr/main.c, vector/v.in.region/main.c,
+	  vector/v.in.sites/main.c, vector/v.info/main.c,
+	  vector/v.kcv/main.c, vector/v.kernel/main.c,
+	  vector/v.label/main.c, vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/main.c, vector/v.mkgrid/main.c,
+	  vector/v.neighbors/main.c, vector/v.net.alloc/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.path/main.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.net/main.c, vector/v.normal/main.c,
+	  vector/v.out.ascii/out.c, vector/v.out.dxf/main.c,
+	  vector/v.out.ogr/main.c, vector/v.out.pov/main.c,
+	  vector/v.out.vtk/main.c, vector/v.overlay/main.c,
+	  vector/v.parallel/main.c, vector/v.patch/main.c,
+	  vector/v.perturb/main.c, vector/v.proj/main.c,
+	  vector/v.qcount/main.c, vector/v.random/main.c,
+	  vector/v.reclass/main.c, vector/v.sample/main.c,
+	  vector/v.segment/main.c, vector/v.select/main.c,
+	  vector/v.split/main.c, vector/v.surf.idw/main.c,
+	  vector/v.surf.rst/main.c, vector/v.to.db/main.c,
+	  vector/v.to.points/main.c, vector/v.to.rast/main.c,
+	  vector/v.to.rast3/main.c, vector/v.transform/main.c,
+	  vector/v.type/main.c, vector/v.univar/main.c,
+	  vector/v.vol.rst/main.c, vector/v.voronoi/dt_main.c,
+	  vector/v.voronoi/vo_main.c, vector/v.what.rast/main.c,
+	  vector/v.what/main.c, visualization/nviz/src/nviz_init.c: keyword
+	  support added
+
+2006-08-19 11:15  glynn
+
+	* include/stats.h: Commit stats.h (omitted from previous commit of
+	  lib/stats)
+
+2006-08-19 11:15  glynn
+
+	* ps/ps.map/do_geogrid.c: Include gis.h before gprojects.h
+	  (eliminate warnings about unknown structures)
+
+2006-08-19 11:12  glynn
+
+	* include/Make/Dir.make, include/Make/Grass.make.in,
+	  include/Make/Script.make, lib/Makefile, lib/stats,
+	  lib/stats/Makefile, lib/stats/c_ave.c, lib/stats/c_count.c,
+	  lib/stats/c_divr.c, lib/stats/c_intr.c, lib/stats/c_max.c,
+	  lib/stats/c_maxx.c, lib/stats/c_median.c, lib/stats/c_min.c,
+	  lib/stats/c_minx.c, lib/stats/c_mode.c, lib/stats/c_percentile.c,
+	  lib/stats/c_reg.c, lib/stats/c_stddev.c, lib/stats/c_sum.c,
+	  lib/stats/c_var.c, lib/stats/sort_cell.c,
+	  raster/r.neighbors/Makefile, raster/r.neighbors/c_ave.c,
+	  raster/r.neighbors/c_divr.c, raster/r.neighbors/c_intr.c,
+	  raster/r.neighbors/c_max.c, raster/r.neighbors/c_median.c,
+	  raster/r.neighbors/c_min.c, raster/r.neighbors/c_mode.c,
+	  raster/r.neighbors/c_stddev.c, raster/r.neighbors/c_sum.c,
+	  raster/r.neighbors/c_var.c, raster/r.neighbors/gather.c,
+	  raster/r.neighbors/local_proto.h, raster/r.neighbors/main.c,
+	  raster/r.neighbors/method.h, raster/r.neighbors/ncb.h,
+	  raster/r.neighbors/sort_cell.c, raster/r.series/Makefile,
+	  raster/r.series/c_ave.c, raster/r.series/c_count.c,
+	  raster/r.series/c_divr.c, raster/r.series/c_max.c,
+	  raster/r.series/c_maxx.c, raster/r.series/c_median.c,
+	  raster/r.series/c_min.c, raster/r.series/c_minx.c,
+	  raster/r.series/c_mode.c, raster/r.series/c_percentile.c,
+	  raster/r.series/c_reg.c, raster/r.series/c_stddev.c,
+	  raster/r.series/c_sum.c, raster/r.series/c_var.c,
+	  raster/r.series/local_proto.h, raster/r.series/main.c,
+	  raster/r.series/sort_cell.c: Move aggregate functions into
+	  separate statistics library
+	  Modify r.series, r.neighbors to use statistics library
+
+2006-08-19 06:37  glynn
+
+	* lib/init/init.sh: Remove unnecessary exports
+	  Add GRASS_PAGER=cat if neither "more" nor "less" are present
+
+2006-08-19 06:36  glynn
+
+	* raster/r.mapcalc/xrand.c: Fix range of fallback drand48()
+	  emulation
+
+2006-08-18 14:50  markus
+
+	* swig/perl/Makefile.PL.in: removed no longer existant grass_image
+
+2006-08-18 14:10  markus
+
+	* swig/python/Makefile.in: fix to reflect that libgrass_image.so no
+	  longer exists
+
+2006-08-18 08:03  paul
+
+	* raster/r.resamp.interp/description.html: Corrections
+
+2006-08-17 22:11  martinl
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po,
+	  locale/po/grasstcl_cs.po: czech translation updated
+
+2006-08-17 18:17  paul
+
+	* raster/r.resamp.interp, raster/r.resamp.interp/Makefile,
+	  raster/r.resamp.interp/description.html,
+	  raster/r.resamp.interp/main.c: New module from Glynn (and Dylan)
+
+2006-08-17 10:18  markus
+
+	* vector/v.build/description.html: maciek: cosmetics
+
+2006-08-17 01:56  cho
+
+	* raster/r.colors/rules.c: removed conditional code
+
+2006-08-16 22:34  glynn
+
+	* raster/r.to.vect/areas_io.c, vector/v.out.dxf/main.c: Include
+	  <stdlib.h> for EXIT_{SUCCESS,FAILURE}
+
+2006-08-15 21:25  cho
+
+	* raster/r.colors/rules.c: Fixed a misleading warning for 100%
+	  value (negligible floating point error).
+	  For example,
+	  
+	  WARNING: Your color rules do not cover the whole range of data!
+	  (rules 0.000000 to 3.839074 but data 0.000000 to 3.839074)
+
+2006-08-15 21:05  markus
+
+	* locale/Makefile: fix for bug #4954
+
+2006-08-15 14:41  markus
+
+	* doc/howto_release.txt: extended
+
+2006-08-15 13:51  markus
+
+	* vector/lidar/v.lidar.correction/main.c: Roberto Antolin: fix
+
+2006-08-15 13:19  markus
+
+	* scripts/d.out.file/d.out.file: LOCALE - awk fix
+
+2006-08-15 12:55  markus
+
+	* scripts/r.shaded.relief/r.shaded.relief: awk fix
+
+2006-08-15 03:08  glynn
+
+	* raster/r.series/c_percentile.c: Don't try to return "void" values
+	  [bug #5003]
+
+2006-08-15 03:06  glynn
+
+	* lib/gis/color_str.c: Remove unused (and invalid) code [bug #5002]
+
+2006-08-14 18:33  soeren
+
+	* raster/r.le/r.le.patch/main.c, raster/r.le/r.le.patch/patch.c,
+	  raster/r.le/r.le.patch/trace.c, raster/r.le/r.le.pixel/driver.c,
+	  raster/r.le/r.le.pixel/main.c, raster/r.le/r.le.setup/main.c,
+	  raster/r.le/r.le.trace/main.c: - fixed wrong memory allocation
+	  - added EXIT_SUCCESS
+	  - code cosmetics
+
+2006-08-14 18:15  soeren
+
+	* raster/r.out.vtk/main.c, raster/r.out.vtk/parameters.c,
+	  raster/r.out.vtk/parameters.h, raster/r.out.vtk/writeascii.c,
+	  raster/r.out.vtk/writeascii.h, vector/v.out.vtk/head.c,
+	  vector/v.out.vtk/local_proto.h, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c, vector/v.out.vtk/writeVTK.h: -
+	  changed function names to fulfil grass naming convention
+
+2006-08-14 18:11  soeren
+
+	* raster/r.to.rast3/main.c: - added mask support for g3d maps
+	  - changed function names to fulfil grass naming convention
+	  - code cosmetics and more debug messages
+
+2006-08-14 18:05  soeren
+
+	* raster/r.to.rast3elev, raster/r.to.rast3elev/Makefile,
+	  raster/r.to.rast3elev/description.html,
+	  raster/r.to.rast3elev/main.c,
+	  raster/r.to.rast3elev/r.to.rast3elev.png: - r.to.rast3elev
+	  replaces r.elev.to.rast3
+	  - new feature have been added
+	  * now more than one elevation and value maps are supported
+	  to create complex volume maps,
+	  eg: a geological sequence from top to bottom with elevation maps
+	  which define the border between the geological structures
+
+2006-08-14 17:58  soeren
+
+	* raster/r.elev.to.rast3: - r.elev.to.rast3 is replaces by
+	  r.to.rast3elev
+
+2006-08-14 17:54  soeren
+
+	* lib/gis/parser.c: - added new standard Option definitions for
+	  raster and raster3d maps
+	  - added doxygen documentation for G_define_standard_option()
+
+2006-08-14 17:46  soeren
+
+	* include/gis.h: - added new G_OPT_* definitions for additional
+	  raster and raster3d options
+
+2006-08-14 16:36  markus
+
+	* gui/wxpython/Makefile: paths fixed
+
+2006-08-14 16:28  michael
+
+	* gui/wxpython/Makefile, gui/wxpython/gm.wxp: new wxPython gui
+	  files
+
+2006-08-14 16:19  michael
+
+	* gui/wxpython/scripts/d.shadedmap,
+	  gui/wxpython/scripts/r.colors.rules,
+	  gui/wxpython/scripts/r.reclass.file,
+	  gui/wxpython/scripts/r.reclass.rules,
+	  gui/wxpython/scripts/r.recode.file,
+	  gui/wxpython/scripts/r.recode.rules,
+	  gui/wxpython/scripts/r.support.sh,
+	  gui/wxpython/scripts/v.in.asciipoints: scripts for new wxPython
+	  gui menu
+
+2006-08-14 16:13  michael
+
+	* gui/wxpython/README, gui/wxpython/gism.py,
+	  gui/wxpython/grass-interface.dtd, gui/wxpython/grassgui.py,
+	  gui/wxpython/mapdisp.py, gui/wxpython/render.py,
+	  gui/wxpython/scripts, gui/wxpython/scripts/grass-interface.dtd,
+	  gui/wxpython/scripts/mapcalc_gparser.sh: new wxPython gui files
+
+2006-08-14 16:10  michael
+
+	* gui/wxpython/archive,
+	  gui/wxpython/archive/orig_grassgui_readme.txt: prep for moving
+	  new wxPython gui files to cvs
+
+2006-08-14 15:31  markus
+
+	* scripts/r.out.gdal/description.html: Maciek: explained data types
+
+2006-08-14 11:37  markus
+
+	* raster/r.mapcalc/r3.mapcalc.html: also updated for rand; WIND3D
+	  -> WIND
+
+2006-08-14 10:29  glynn
+
+	* raster/r.mapcalc/r.mapcalc.html: Clarify behaviour of rand()
+	  function
+
+2006-08-14 10:27  glynn
+
+	* raster/r.mapcalc/xrand.c: Fix infinite SIGFPE for rand(x,x) where
+	  x is an integer
+
+2006-08-12 16:09  markus
+
+	* binaryInstall.src: fixed description
+
+2006-08-12 16:02  markus
+
+	* scripts/i.landsat.rgb/description.html: example added
+
+2006-08-12 15:40  markus
+
+	* vector/v.to.points/description.html: Maciek: docs fix for bug
+	  #2801
+
+2006-08-12 00:45  glynn
+
+	* raster/r.bilinear/main.c: Read/write maps as DCELL
+	  Remove +0.5 from result
+
+2006-08-12 00:44  glynn
+
+	* include/Make/Grass.make.in: Add $(ICONVLIB) to DRIVERLIB
+
+2006-08-11 23:04  markus
+
+	* REQUIREMENTS.html: Python optional
+
+2006-08-11 20:47  markus
+
+	* vector/Makefile: + lidar
+
+2006-08-11 20:39  markus
+
+	* vector/lidar, vector/lidar/Makefile, vector/lidar/lidarlib,
+	  vector/lidar/lidarlib/InterpSpline.c,
+	  vector/lidar/lidarlib/Makefile,
+	  vector/lidar/lidarlib/PolimiFunct.h,
+	  vector/lidar/lidarlib/TcholBand.c,
+	  vector/lidar/lidarlib/raster.c, vector/lidar/lidarlib/zones.c,
+	  vector/lidar/v.bspline, vector/lidar/v.bspline/Makefile,
+	  vector/lidar/v.bspline/description.html,
+	  vector/lidar/v.bspline/main.c, vector/lidar/v.lidar.correction,
+	  vector/lidar/v.lidar.correction/Makefile,
+	  vector/lidar/v.lidar.correction/correction.c,
+	  vector/lidar/v.lidar.correction/correction.h,
+	  vector/lidar/v.lidar.correction/description.html,
+	  vector/lidar/v.lidar.correction/main.c,
+	  vector/lidar/v.lidar.edgedetection,
+	  vector/lidar/v.lidar.edgedetection/Makefile,
+	  vector/lidar/v.lidar.edgedetection/description.html,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.c,
+	  vector/lidar/v.lidar.edgedetection/edgedetection.h,
+	  vector/lidar/v.lidar.edgedetection/main.c,
+	  vector/lidar/v.lidar.growing,
+	  vector/lidar/v.lidar.growing/ConvexHull.c,
+	  vector/lidar/v.lidar.growing/Makefile,
+	  vector/lidar/v.lidar.growing/description.html,
+	  vector/lidar/v.lidar.growing/growing.c,
+	  vector/lidar/v.lidar.growing/growing.h,
+	  vector/lidar/v.lidar.growing/main.c, vector/lidar/v.outlier,
+	  vector/lidar/v.outlier/Makefile,
+	  vector/lidar/v.outlier/description.html,
+	  vector/lidar/v.outlier/main.c, vector/lidar/v.outlier/outlier.c,
+	  vector/lidar/v.outlier/outlier.h: Roberto Antolin <roberto
+	  geomatica.como.polimi.it>, Maria Brovelli <maria.brovelli polimi
+	  it>: new Lidar data analysis tools
+
+2006-08-11 19:56  markus
+
+	* visualization/nviz/scripts/panel_main.tcl: Bob Covill: Update
+	  height to avoid scene jump (bug #3506)
+
+2006-08-11 15:04  markus
+
+	* doc/infrastructure.txt: Sitemeter
+
+2006-08-11 10:52  markus
+
+	* include/VERSION: Switched development to 6.3.cvs
+
+2006-08-11 10:39  markus
+
+	* doc/howto_release.txt: updated release process
+
+2006-08-11 09:26  markus
+
+	* raster/r.region/main.c: G_done_msg for GUI
+
+2006-08-10 23:27  soeren
+
+	* vector/v.net.steiner/main.c: - fixed wrong memory allocation
+	  - added EXIT_SUCCESS
+
+2006-08-10 21:25  soeren
+
+	* raster/r.lake/main.c: - fixed memory allocation
+
+2006-08-10 13:33  markus
+
+	* display/Makefile, display/d.extract, display/d.extract/Makefile,
+	  display/d.extract/description.html, display/d.extract/extract.c,
+	  display/d.extract/main.c: added graphical vector extractor
+
+2006-08-10 08:23  markus
+
+	* Makefile: cleanup swig/python/Makefile
+
+2006-08-09 22:41  markus
+
+	* rpm/mandriva, rpm/mandriva/grass6-mdk2006.spec: new Mandriva2006
+	  spec file
+
+2006-08-09 22:30  markus
+
+	* raster/r.transect/main.c: exit; G_define_standard_option
+
+2006-08-09 21:51  markus
+
+	* include/Make/Platform.make.in: added USE_PYTHON for Makefiles
+
+2006-08-09 21:48  markus
+
+	* configure, configure.in: made Python optional
+
+2006-08-09 20:54  markus
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  swig/python/Makefile, swig/python/Makefile.in: Added version
+	  detection for Python
+
+2006-08-09 12:07  markus
+
+	* visualization/nviz/scripts/nviz2.2_script: Bob covill: draw all
+	  after startup
+
+2006-08-09 09:27  markus
+
+	* SUBMITTING: general3D was integrated into g.*; postGRASS no
+	  longer exists; GRASS-QA added
+
+2006-08-09 09:22  soeren
+
+	* SUBMITTING: - added GNU function naming convention
+	  - added module naming convention
+	  - added grass test suite hint
+
+2006-08-08 17:42  glynn
+
+	* raster/simwe/r.sim.sediment/main.c, vector/v.surf.idw/main.c: Use
+	  correct sizeof() in allocations
+
+2006-08-08 17:17  glynn
+
+	* scripts/r.blend/r.blend: Fix overwrite checks [bug #4983]
+
+2006-08-08 13:09  markus
+
+	* raster/r.statistics/description.html: HTML cleanup; example added
+
+2006-08-08 08:00  markus
+
+	* gui/xml/grass-interface.dtd: fixes
+
+2006-08-07 21:40  cho
+
+	* lib/fonts/for_grass/Makefile, lib/fonts/for_grass/splitfont.c: -
+	  added FMODE_OBJ to Makefile
+	  - close an open file
+
+2006-08-07 13:42  soeren
+
+	* lib/g3d/g3dopen.c: * added window struct and resampling function
+	  initialization to G3d_openCellNew()
+	  
+	  Without setting the resampling function and the window of the NEW
+	  map,
+	  there is no access to values that have already been written with
+	  G3d_putValue().
+	  G3d_getValue() will give only null values or will crash.
+	  This is fixed now.
+
+2006-08-07 13:32  soeren
+
+	* vector/v.to.rast3/main.c: * fixed row counting
+	  
+	  Because the g3d lib is row oriented
+	  and counts therefore from north to south,
+	  we have to do the same here.
+
+2006-08-07 12:57  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po,
+	  locale/po/grasstcl_it.po: Luciano Montanaro <mikelima
+	  cirulla.net>: cont'ed
+
+2006-08-07 12:50  markus
+
+	* doc/infrastructure.txt: grass-announce: no password reminder
+
+2006-08-05 20:09  markus
+
+	* doc/debugging.txt: typo fixed
+
+2006-08-05 19:53  markus
+
+	* doc/infrastructure.txt: GRASS Mailing lists
+
+2006-08-05 19:42  markus
+
+	* doc/infrastructure.txt: GRASS IRC
+
+2006-08-05 09:00  cho
+
+	* configure, configure.in: * --with-libs should work for MinGW32.
+	  * changed libW11 path to conform grass6 tree.
+
+2006-08-05 08:43  cho
+
+	* configure, configure.in: check for MinGW32 fixed when no target=
+	  specified.
+
+2006-08-04 23:03  brad
+
+	* doc/debugging.txt: - Added instructions for GCC profiling
+
+2006-08-04 14:43  markus
+
+	* doc/infrastructure.txt: fixes
+
+2006-08-04 14:11  markus
+
+	* doc/infrastructure.txt: explained how it all works (just in case)
+
+2006-08-04 13:10  markus
+
+	* db/drivers/postgres/pg.html: pgAdmin III is nice
+
+2006-08-04 09:22  markus
+
+	* vector/v.digit/main.c: fixed param order as suggested by Glynn
+
+2006-08-04 07:25  markus
+
+	* ps/ps.map/r_paper.c: Bob Covill: fix paper size/map scaling for
+	  rotated map
+
+2006-08-04 07:14  markus
+
+	* visualization/nviz/src/togl_flythrough.c: hopefully fixed volume
+	  crash (bug #4725)
+
+2006-08-03 22:46  markus
+
+	* doc/debugging.txt: more debugging tricks
+
+2006-08-03 14:26  markus
+
+	* raster/Makefile: restored r.surf.gauss, r.surf.random
+
+2006-08-03 13:57  markus
+
+	* raster/r.surf.fractal/interface.c: description shortened
+
+2006-08-03 13:43  markus
+
+	* gui/tcltk/menus/menu.tcl: menu bugs fixed (#4959, #4958)
+
+2006-08-03 13:42  markus
+
+	* raster/r.terraflow/main.cc: commented/shifted parser offending
+	  messages
+
+2006-08-03 11:42  brad
+
+	* raster/r.carve/enforce_ds.c: - Removed unused variable
+	  - Fixed apparent ANSI violation of variable declaration
+
+2006-08-03 08:47  brad
+
+	* raster/r.carve/enforce_ds.c: - Removed 'inline' keyword for ANSI
+	  compliance
+
+2006-08-03 08:22  markus
+
+	* lib/gis/location.c, vector/v.lrs/lib/lrs.c,
+	  vector/v.lrs/v.lrs.label/main.c,
+	  visualization/nviz/src/pick_vect_commands.c: fixed C++ style
+	  comments (buf #4955)
+
+2006-08-03 08:13  markus
+
+	* doc/howto_release.txt: finetuning of release procedure
+
+2006-08-02 22:59  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Fixed bug with cancel button, and
+	  related bug in closing initial
+	  georectifier window and cleanup routine.
+
+2006-08-02 21:45  markus
+
+	* visualization/nviz/src/nviz_init.c: i18N; EXIT_FAILURE
+
+2006-08-02 20:08  markus
+
+	* gui/tcltk/gis.m/georect.tcl: quit button added (wish #4885;
+	  however the bug report therein remains
+
+2006-08-02 18:43  markus
+
+	* lib/gis/parser.c: tcltk: first flags then params (fixes bug
+	  #4604)
+
+2006-08-02 14:40  markus
+
+	* AUTHORS: GRASS-QA list added
+
+2006-08-02 10:05  markus
+
+	* vector/v.db.connect/main.c: fixed the fix
+
+2006-08-02 10:02  markus
+
+	* vector/v.db.connect/main.c: trap error if map is in different
+	  mapset
+
+2006-08-02 09:03  paul
+
+	* include/gprojects.h, lib/proj/datum.c: Improved doxygenisation of
+	  datum.c, const correctness
+
+2006-08-01 21:15  glynn
+
+	* lib/gis/opencell.c: Ensure fileinfo array is actually large
+	  enough
+
+2006-08-01 11:44  markus
+
+	* raster/r.param.scale/features.pal,
+	  raster/r.param.scale/write_cols.c: fixed planar color; removed
+	  unused file
+
+2006-07-31 22:49  brad
+
+	* include/Make/Grass.make.in: - Added missing library for static
+	  linking
+
+2006-07-31 21:48  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Commented out apparently
+	  spurious line to create a legend datafile
+	  named 'outtext.txt' in home directory. A couple minor wording
+	  changes to
+	  argument descriptions.
+
+2006-07-31 21:12  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Improved error trapping for large
+	  maps and bug fix
+	  for negative elevations.
+
+2006-07-31 20:12  markus
+
+	* gui/tcltk/d.m/d.m.tcl: fixed mouse wheel problem (bug #4466)
+
+2006-07-31 19:01  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Improved error trapping. Currently
+	  selected raster is not default
+	  to profile.
+
+2006-07-31 18:38  markus
+
+	* lib/init/gis_set.tcl: michael: cosmetics
+
+2006-07-31 11:42  markus
+
+	* vector/v.net.path/main.c: EXIT status; i18N; description
+	  shortened 9is not a manual)
+
+2006-07-30 22:00  markus
+
+	* lib/init/gis_set.tcl: bugfix for undefined
+	  .frame0.frameNMS.right.button; reordered two buttons as discussed
+	  in the list
+
+2006-07-30 20:30  markus
+
+	* lib/init/gis_set.tcl: bugfix
+
+2006-07-30 10:04  stephan
+
+	* locale/po/grasstcl_de.po: + more german i18n-translation of
+	  tcl-interface
+
+2006-07-30 08:58  stephan
+
+	* locale/po/grasslibs_de.po: + small fixes
+
+2006-07-29 23:09  glynn
+
+	* lib/init/init.sh: Quote variables which contain pathnames
+
+2006-07-29 00:18  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: bugfix: correct parsing of
+	  gpstrans data. broke if desc included multiple spaces.
+	  please backport to release branches after someone tests it,
+	  thanks
+
+2006-07-28 22:39  michael
+
+	* lib/init/gis_set.tcl: reworded intro screen
+
+2006-07-28 20:43  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Changed toobar button order to make
+	  profiling more 'intuitive'
+
+2006-07-28 18:38  michael
+
+	* gui/tcltk/gis.m/profile.tcl: fix bug so that profile now works in
+	  latlon regions
+
+2006-07-28 18:37  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: fix bug in one-click zoomout in
+	  map display
+
+2006-07-28 17:11  glynn
+
+	* configure, configure.in, display/d.mon/pgms/start.c,
+	  display/d.paint.labels/Makefile, imagery/i.points/defs.h,
+	  imagery/i.rectify/compress.c, imagery/i.rectify/exec.c,
+	  imagery/i.rectify/global.h, include/Make/Platform.make.in,
+	  lib/db/dbmi_client/start.c, raster/r.support/modcats/Makefile,
+	  raster/r.support/modcolr/Makefile,
+	  raster/r.support/modhead/Makefile,
+	  raster/r.support/modhist/Makefile: More MinGW compatibility
+	  changes:
+	  configure: use AC_EXEEXT to determine executable extension
+	  mon.start: ignore tty check on MinGW (ttyname() not available)
+	  d.paint.labels: ignore error from "ln" (doesn't work on MinGW)
+	  i.points: include config.h before curses.h to prevent
+	  HAVE_UNISTD_H redefinition
+	  i.rectify: remove empty compress() function and references to it
+	  (conflicts with zlib)
+	  Platform.make.in: add EXE variable
+	  libdbmi_client: remove _CRT_fmode to prevent conflict
+	  r.support: mod{cats,colr,head,hist} have .exe suffix on MinGW
+
+2006-07-28 13:41  moritz
+
+	* scripts/d.vect.thematic/description.html: added label commands to
+	  the psmap file
+	  might make the creation of a separate psmap file for the legend
+	  superfluous
+
+2006-07-28 13:35  moritz
+
+	* scripts/d.vect.thematic/d.vect.thematic: added label commands to
+	  the psmap file
+	  might make the creation of a separate psmap file for the legend
+	  superfluous
+
+2006-07-28 08:34  markus
+
+	* lib/gis/put_title.c: remove leftover tempfile (r.clump
+	  etc)put_title.c
+
+2006-07-28 01:07  glynn
+
+	* lib/fonts/for_grass/Makefile, lib/fonts/for_grass/font_2_bin.c,
+	  lib/fonts/for_grass/splitfont.c: More MinGW compatibility
+	  changes; make splitfont/font_2_bin open() the
+	  files rather than read/write stdin/stdout (MSVCRT's stdin/stdout
+	  are
+	  in text mode).
+
+2006-07-27 15:17  glynn
+
+	* include/config.h.in, lib/ogsf/gsd_img_tif.c, lib/raster/com_io.c,
+	  lib/raster/rem_get.c, lib/raster/rem_io.c, lib/raster/rem_pad.c,
+	  lib/raster/rem_proto.c, visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/togl_flythrough.c: MinGW compatibility
+	  fixes:
+	  Add HAVE_TIFFIO_H to config.h.in
+	  Check HAVE_SOCKET/HAVE_TIFFIO_H before using associated
+	  functionality
+	  Use ftime() instead of gettimeofday() on MinGW
+
+2006-07-27 08:08  brad
+
+	* vector/v.in.dxf/make_arc.c: - remove unused variable
+
+2006-07-27 07:29  glynn
+
+	* include/Make/Grass.make.in: Add dependencies to PNGDRIVERLIB,
+	  RASTERLIB; needed when using static libraries
+
+2006-07-26 09:37  markus
+
+	* lib/init/gis_set.tcl: fixed error 'invalid command name
+	  '.frame0.frameNMS.right.button'' when hitting return in path to
+	  location entry field
+
+2006-07-26 00:25  glynn
+
+	* lib/gis/icon.c: Don't export trans()
+
+2006-07-25 19:10  markus
+
+	* lib/ogsf/GS2.c: Bob Covill: modification to return a more sane
+	  (1.0 not 100.0) from a constant surface
+
+2006-07-25 19:08  markus
+
+	* visualization/nviz/src/nviz_init.c: Bob Covill: load a
+	  transparent surface if vector data or sites data is being loaded
+	  without a surface
+
+2006-07-25 13:10  markus
+
+	* visualization/nviz/src/map_obj.c: initial vector color now blue,
+	  not white (to avoid color conflict with white default background)
+
+2006-07-25 10:25  markus
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: Davide Spano: message
+	  cosmetics; made rm -f less risky
+
+2006-07-25 08:07  paul
+
+	* general/g.setproj/Makefile: $(PROJINC) not $(GDALCFLAGS) - bug
+	  4901
+
+2006-07-25 05:31  stephan
+
+	* locale/po/grasslibs_de.po: + fixed typo
+
+2006-07-24 14:02  paul
+
+	* general/g.proj/main.c: Presumably ogr_srs is something like a
+	  pointer somewhere inside the main
+	  dataset and is freed when the dataset is freed, so remove a
+	  redundant line
+	  here...
+
+2006-07-24 09:09  paul
+
+	* general/g.proj/description.html, general/g.proj/main.c,
+	  include/gisdefs.h: Improve g.proj to parse WKT files with
+	  linebreaks in them ("pretty WKT"),
+	  tidier/improved error reporting when g.proj can't create a
+	  location,
+	  add missing function definition to gisdefs.h
+
+2006-07-23 14:29  hamish
+
+	* display/d.rast.edit/mk_new_layer.c: more verbose history comment
+
+2006-07-23 14:26  hamish
+
+	* display/d.rast.edit/mk_new_layer.c: module is now d.rast.edit,
+	  not Dedit
+
+2006-07-23 10:24  markus
+
+	* lib/raster/Makefile, lib/raster/rastergraphicslib.dox: Makefile
+	  simplified; docs cosmetics & docs activated
+
+2006-07-23 05:43  hamish
+
+	* lib/init/init.sh: "$ grass61 --help" text cleanup
+
+2006-07-23 04:02  glynn
+
+	* lib/raster/Makefile, lib/raster/README, lib/raster/com_get.c,
+	  lib/raster/com_io.c, lib/raster/com_pad.c,
+	  lib/raster/com_proto.c, lib/raster/commands.c,
+	  lib/raster/common.c, lib/raster/get.c, lib/raster/io.c,
+	  lib/raster/io_fifo.c, lib/raster/io_sock.c, lib/raster/loc_get.c,
+	  lib/raster/loc_io.c, lib/raster/loc_pad.c,
+	  lib/raster/loc_proto.c, lib/raster/pad.c, lib/raster/protocol.c,
+	  lib/raster/rem_get.c, lib/raster/rem_io.c, lib/raster/rem_pad.c,
+	  lib/raster/rem_proto.c, lib/raster/transport.h: New version of
+	  raster graphics library with driver-less rendering
+
+2006-07-23 01:32  glynn
+
+	* lib/gis/G.h, lib/gis/closecell.c, lib/gis/debug.c,
+	  lib/gis/get_row.c, lib/gis/gisinit.c, lib/gis/init_map.c,
+	  lib/gis/opencell.c, lib/gis/range.c, lib/gis/set_window.c,
+	  lib/gis/window_map.c: Eliminate use of FCB macro
+	  Dynamically resize G__.fileinfo as required
+
+2006-07-22 13:35  markus
+
+	* scripts/v.db.droptable/v.db.droptable: force flag added (fixes
+	  bug #2620)
+
+2006-07-22 10:22  markus
+
+	* db/drivers/odbc/odbc.html: documentation added
+
+2006-07-22 09:20  markus
+
+	* lib/gis/parser.c: explained old_file, new_file
+
+2006-07-21 23:12  michael
+
+	* gui/tcltk/d.m/script/r.reclass.file,
+	  gui/tcltk/d.m/script/r.recode.file,
+	  gui/tcltk/d.m/script/v.in.asciipoints,
+	  gui/tcltk/gis.m/script/r.reclass.file,
+	  gui/tcltk/gis.m/script/r.recode.file,
+	  gui/tcltk/gis.m/script/v.in.asciipoints: changed parser reference
+	  to old_file,file,file to open existing file.
+
+2006-07-21 22:08  michael
+
+	* gui/tcltk/d.m/script/r.reclass.file,
+	  gui/tcltk/d.m/script/r.recode.file,
+	  gui/tcltk/d.m/script/v.in.asciipoints,
+	  gui/tcltk/gis.m/script/r.reclass.file,
+	  gui/tcltk/gis.m/script/r.recode.file,
+	  gui/tcltk/gis.m/script/v.in.asciipoints: Fixed parser code to
+	  reactivate file button
+
+2006-07-21 19:22  michael
+
+	* lib/gtcltk/select.tcl: When browsing to open a gis file, the
+	  current mapset folder begins
+	  opened; other accessible mapset folder begin closed.
+
+2006-07-21 19:04  michael
+
+	* gui/tcltk/gis.m/runandoutput.tcl: updated to allow spaces in
+	  pathnames (updated run, spawn, and term procedures)
+
+2006-07-21 19:02  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: updated to use grass tmp
+	  directories for legend output used by
+	  gis manager
+
+2006-07-21 18:51  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/thematic.tcl: moved
+	  thematic legend file for gism into grass .tmp directory.
+	  Cleaned up when gism quits.
+
+2006-07-21 15:02  markus
+
+	* swig/swig.dox, swig/swiglib.dox: renamed to make doxygen happy
+
+2006-07-21 14:09  markus
+
+	* include/Make/Doxygen.make, swig/Makefile, swig/grassswig.dox,
+	  swig/swig.dox: dox name fixed
+
+2006-07-20 22:08  michael
+
+	* gui/tcltk/gis.m/thematic.tcl: add close to open file
+
+2006-07-20 22:08  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Add cleanup routine to delete
+	  gismlegend.txt file if it exists.
+
+2006-07-20 21:52  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Bug fix for ps text and explore
+	  mode.
+
+2006-07-20 20:32  michael
+
+	* gui/tcltk/gis.m/runandoutput.tcl: bug fix for expression parsing
+
+2006-07-20 20:32  michael
+
+	* gui/tcltk/gis.m/georect.tcl: minor comment change
+
+2006-07-20 17:45  michael
+
+	* general/g.mapsets/g.mapsets.tcl: minor update to remove duplicate
+	  listing for PERMANENT
+
+2006-07-20 17:45  michael
+
+	* gui/tcltk/menus/menu.tcl: remove show fonts entry, reworded
+	  g.mapsets entry.
+
+2006-07-20 17:43  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Menu entry for georectifier changed
+
+2006-07-20 17:42  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Minor updates
+
+2006-07-20 10:16  glynn
+
+	* raster/r.mapcalc/xif.c: Check argc before writing to argt[2/3/4]
+
+2006-07-20 09:03  paul
+
+	* display/d.grid/main.c: Fix order of checks
+
+2006-07-20 07:00  markus
+
+	* lib/db/sqlp/lex.l: enabled LIKE for DBF driver
+
+2006-07-19 23:33  michael
+
+	* gui/tcltk/gis.m/georect.tcl: updated georectification system for
+	  GIS Manager
+
+2006-07-19 14:10  paul
+
+	* display/d.grid/local_proto.h, display/d.grid/main.c,
+	  display/d.grid/plot.c: Support for drawing lat/long grids
+	  referenced to WGS84
+
+2006-07-19 13:19  paul
+
+	* ps/ps.map/do_geogrid.c: Initialise lat/long projection paramters
+	  correctly
+
+2006-07-19 10:08  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/map_info.c,
+	  ps/ps.map/map_info.h, ps/ps.map/r_info.c: enable optional box
+	  border for mapinfo command
+
+2006-07-19 09:31  paul
+
+	* display/d.where/main.c: Make use of library function
+
+2006-07-19 09:28  paul
+
+	* display/d.grid/plot.c: More elegant fix (silly me forgetting I'd
+	  created a function to do this
+	  exact thing...)
+
+2006-07-19 08:55  paul
+
+	* display/d.grid/plot.c: Convert projection to lat/long correctly
+	  (bug 4877)
+
+2006-07-19 07:56  hamish
+
+	* raster/r.proj/main.c: use G_command_history()
+
+2006-07-19 03:03  cho
+
+	* gui/tcltk/d.m/d.m, gui/tcltk/gis.m/gis.m: removed bashism
+
+2006-07-19 02:51  hamish
+
+	* vector/v.proj/main.c: input map isn't in current mapset (bug
+	  4865)
+
+2006-07-19 01:29  brad
+
+	* lib/db/dbmi_client/copy_tab.c: - Fix segv() issue
+
+2006-07-18 19:38  cho
+
+	* raster/r.topidx/check_ready.c, raster/r.topidx/description.html,
+	  raster/r.topidx/file_io.c, raster/r.topidx/global.h,
+	  raster/r.topidx/local_proto.h, raster/r.topidx/main.c,
+	  raster/r.topidx/topidx.c: removed a dead link
+
+2006-07-18 19:36  cho
+
+	* vector/v.out.dxf/global.h, vector/v.out.dxf/main.c,
+	  vector/v.out.dxf/write_dxf.c: use module->overwrite for overwrite
+	  check
+
+2006-07-18 19:35  cho
+
+	* raster/r.topmodel/check_ready.c,
+	  raster/r.topmodel/description.html, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/global.h, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/local_proto.h, raster/r.topmodel/main.c,
+	  raster/r.topmodel/misc.c, raster/r.topmodel/topmodel.c: removed
+	  its own overwrite flag
+
+2006-07-18 14:57  markus
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po,
+	  locale/po/grasstcl_pl.po: Artur Niecior <nieart interia.pl>:
+	  cont'ed
+
+2006-07-18 11:18  hamish
+
+	* raster/r.proj/main.c: use G_define_standard_option() for output
+
+2006-07-18 11:07  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/do_geogrid.c,
+	  ps/ps.map/do_scalebar.c, ps/ps.map/getgrid.c,
+	  ps/ps.map/ps_vlegend.c, ps/ps.map/r_vlegend.c,
+	  ps/ps.map/vector.h: be less strict with geogrid unit naming.
+	  enable no-background for simple scalebar.
+	  init default grid width, if drawing grid numbers, default every
+	  line.
+	  draw vector legend box outline of given color, or "none".
+
+2006-07-18 05:53  hamish
+
+	* lib/symbol/read.c, ps/ps.map/main.c: (int / int) != float
+
+2006-07-17 21:38  glynn
+
+	* general/g.transform/main.c: Add newline, print leading (rather
+	  than trailing) space
+
+2006-07-17 19:53  michael
+
+	* gui/tcltk/gis.m/script/r.support.sh: corrected raster entry field
+	  description
+
+2006-07-17 18:32  markus
+
+	* db/base/connect.c: clarified -p behaviour (closes bug#3853)
+
+2006-07-17 17:31  michael
+
+	* general/g.mapsets/g.mapsets.tcl, gui/tcltk/gis.m/barscale.tcl,
+	  gui/tcltk/gis.m/chart.tcl, gui/tcltk/gis.m/cmd.tcl,
+	  gui/tcltk/gis.m/frames.tcl, gui/tcltk/gis.m/georect.tcl,
+	  gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/group.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/mapprint.tcl,
+	  gui/tcltk/gis.m/maptool.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/runandoutput.tcl, gui/tcltk/gis.m/vector.tcl,
+	  lib/gtcltk/gronsole.tcl, lib/init/gis_set.tcl: update exec and
+	  eval exec statements to properly parse arguments
+
+2006-07-17 14:30  markus
+
+	* lib/db/dbmi_client/copy_tab.c: Martin Landa <landa martin
+	  gmail.com>: fixed bug #4527
+
+2006-07-17 08:41  markus
+
+	* scripts/i.spectral/i.spectral: francesco <francesco pirotti
+	  unipd.it>: fix
+
+2006-07-15 20:08  markus
+
+	* locale/po/grasstcl_fr.po: Eve (alias 'phyto')
+	  <dendrosociology[a]yahoo.co.uk>: cont'ed
+
+2006-07-15 19:38  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: added COMPRESSION_LZW option
+	  (wish #2860)
+
+2006-07-15 18:37  markus
+
+	* raster/r.out.arc/main.c: fixed output file gisprompt (fixes
+	  bug#4808); EXIT_FAILURE
+
+2006-07-15 18:27  markus
+
+	* raster/r.param.scale/process.c: removed offending G_debug() -
+	  fixes bug#4811
+
+2006-07-15 18:23  markus
+
+	* raster/r.param.scale/description.html: example added
+
+2006-07-15 18:06  markus
+
+	* raster/r.proj/main.c: head fixed; G_fatal_error fixed; i18N;
+	  EXIT_ status fixed; G_done_msg() (fixes bug #4841)
+
+2006-07-15 17:49  markus
+
+	* scripts/r.plane/r.plane: substituted strange hist file
+	  construction by r.support
+
+2006-07-15 17:14  markus
+
+	* db/drivers/mysql/Makefile: removed hardwired -g flag (bug #4852)
+
+2006-07-15 16:49  markus
+
+	* doc/howto_release.txt: OSGeo feed
+
+2006-07-15 10:15  hamish
+
+	* lib/gis/ll_scan.c: add support for scanning dd:mm.mmm format
+	  popular with many GPS units
+
+2006-07-15 09:12  hamish
+
+	* lib/symbol/symbol/extra/adcp: new symbol (composed in West Arm,
+	  Manapouri)
+
+2006-07-15 03:17  hamish
+
+	* AUTHORS: Baylor dates, list may be incomplete
+
+2006-07-14 17:28  markus
+
+	* doc/howto_release.txt: extended: branch stuff
+
+2006-07-14 16:41  markus
+
+	* lib/db/dbmi_client/select.c, lib/init/clean_temp.c,
+	  raster/r.support/front/check.c, raster/r.support/front/front.c,
+	  raster/r.support/front/run.c,
+	  raster/r.support/modhead/ask_format.c,
+	  raster/r.support/modhead/check_un.c,
+	  raster/r.support/modhead/modhead.c, raster3d/r3.in.ascii/main.c:
+	  snprintf() changed to G_snprintf() to address portability
+	  problems in a single place
+
+2006-07-14 16:32  markus
+
+	* include/gisdefs.h: added G_snprintf()
+
+2006-07-14 15:53  markus
+
+	* lib/gis/set_prior.c: check exit status of setuid(). Inspired by
+	  CVE-2006-2194
+
+2006-07-14 13:21  markus
+
+	* locale/po/grassmods_de.po: typo
+
+2006-07-14 10:22  markus
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po: Eve (alias
+	  'phyto') <dendrosociology[a]yahoo.co.uk>: cont'ed
+
+2006-07-13 20:35  cho
+
+	* vector/v.out.dxf/main.c, vector/v.out.dxf/write_dxf.c: removed
+	  historical logs
+
+2006-07-13 20:24  cho
+
+	* vector/v.out.dxf/main.c, vector/v.out.dxf/write_dxf.c: check for
+	  overwrite
+
+2006-07-13 19:43  cho
+
+	* vector/v.out.dxf/main.c: Fixed layer names for table creation
+
+2006-07-13 19:35  cho
+
+	* vector/v.out.dxf/main.c: fixed G_free
+
+2006-07-13 19:29  cho
+
+	* vector/v.out.dxf/global.h: removed blank lines in header file
+
+2006-07-13 19:24  cho
+
+	* vector/v.out.dxf/description.html, vector/v.out.dxf/global.h,
+	  vector/v.out.dxf/main.c, vector/v.out.dxf/write_dxf.c: i18n
+	  added progress meter
+
+2006-07-13 19:01  cho
+
+	* vector/v.out.dxf/global.h, vector/v.out.dxf/main.c,
+	  vector/v.out.dxf/write_dxf.c: indent -nbad -bap -bbb -nbbo -nbc
+	  -br -bli1 -bls -cbi0 -ncdb -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  \
+	  -npcs -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8
+
+2006-07-13 18:54  cho
+
+	* vector/v.out.dxf/description.html, vector/v.out.dxf/dxf.h,
+	  vector/v.out.dxf/global.h, vector/v.out.dxf/local_proto.h,
+	  vector/v.out.dxf/main.c, vector/v.out.dxf/write_dxf.c: code
+	  cleanup
+
+2006-07-13 07:02  benjamin
+
+	* gem/docs/GEM-Manual/img1.gif, gem/docs/GEM-Manual/img10.gif,
+	  gem/docs/GEM-Manual/img11.gif, gem/docs/GEM-Manual/img12.gif,
+	  gem/docs/GEM-Manual/img13.gif, gem/docs/GEM-Manual/img14.gif,
+	  gem/docs/GEM-Manual/img15.gif, gem/docs/GEM-Manual/img16.gif,
+	  gem/docs/GEM-Manual/img2.gif, gem/docs/GEM-Manual/img3.gif,
+	  gem/docs/GEM-Manual/img4.gif, gem/docs/GEM-Manual/img5.gif,
+	  gem/docs/GEM-Manual/img6.gif, gem/docs/GEM-Manual/img7.gif,
+	  gem/docs/GEM-Manual/img8.gif, gem/docs/GEM-Manual/img9.gif: gif
+	  files no longer needed
+
+2006-07-13 06:57  benjamin
+
+	* gem/docs/GEM-Manual/WARNINGS, gem/docs/GEM-Manual/images.aux,
+	  gem/docs/GEM-Manual/images.log, gem/docs/GEM-Manual/img1.old,
+	  gem/docs/GEM-Manual/img1.png, gem/docs/GEM-Manual/img10.png,
+	  gem/docs/GEM-Manual/img11.png, gem/docs/GEM-Manual/img12.png,
+	  gem/docs/GEM-Manual/img13.png, gem/docs/GEM-Manual/img14.png,
+	  gem/docs/GEM-Manual/img15.png, gem/docs/GEM-Manual/img16.png,
+	  gem/docs/GEM-Manual/img17.png, gem/docs/GEM-Manual/img18.png,
+	  gem/docs/GEM-Manual/img2.png, gem/docs/GEM-Manual/img3.png,
+	  gem/docs/GEM-Manual/img4.png, gem/docs/GEM-Manual/img5.png,
+	  gem/docs/GEM-Manual/img6.png, gem/docs/GEM-Manual/img7.png,
+	  gem/docs/GEM-Manual/img8.png, gem/docs/GEM-Manual/img9.png: added
+	  png files necessary for html docs
+
+2006-07-13 05:06  cho
+
+	* raster/r.to.vect/areas.c, raster/r.to.vect/areas_io.c,
+	  raster/r.to.vect/global.h, raster/r.to.vect/main.c: Converts
+	  (F|D)CELL area maps (closing request #4366).
+
+2006-07-13 03:55  glynn
+
+	* scripts/i.spectral/i.spectral: Fix name of variable
+
+2006-07-13 02:26  cho
+
+	* raster/r.to.vect/areas.c, raster/r.to.vect/lines.c,
+	  raster/r.to.vect/points.c: G_percent() usage fixed
+
+2006-07-12 21:03  cho
+
+	* include/devlib.h, lib/driver/Set_window.c,
+	  lib/driver/driverlib.h, lib/driver/text3.c: Added
+	  window_box_clip() to lib/driver/Set_window.c
+	  Clips FreeType text outside frames
+
+2006-07-12 18:02  cho
+
+	* scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms,
+	  scripts/r.in.wms/wms.download, scripts/r.in.wms/wms.request,
+	  scripts/r.tileset/r.tileset: options and flags changed to
+	  uppercase
+
+2006-07-12 17:48  cho
+
+	* scripts/d.slide.show/d.slide.show: mapset search fixed
+
+2006-07-12 16:32  cho
+
+	* lib/db/dbmi_driver/mk_dbstubs_h.sh: improved mk_dbstubs_h.sh
+
+2006-07-12 16:30  cho
+
+	* db/drivers/mk_dbdriver_h.sh, db/drivers/mysql/dbdriver.h: Updated
+	  mysql/dbdriver.h
+
+2006-07-12 10:16  soeren
+
+	* raster/r.mapcalc/map3.c: Changed G3d_getValueRegion to
+	  G3d_getValue to use the G3D cache mode.
+	  This fixed a bug (ERROR: G3d_getDoubleRegion: error in
+	  G3d_getTilePtr)
+	  which occured while computing maps with different resolution.
+
+2006-07-11 02:42  glynn
+
+	* display/d.colors/interact.c, raster/r.le/r.le.trace/main.c:
+	  Change sleep() -> G_sleep()
+
+2006-07-11 02:41  glynn
+
+	* lib/raster/parse_mon.c: Use G_gisbase(), G_fatal_error()
+
+2006-07-10 20:57  brad
+
+	* visualization/nviz/src/map_obj.c: - added missing <time.h>
+
+2006-07-10 18:11  soeren
+
+	* raster/r.to.rast3/description.html, raster/r.to.rast3/main.c,
+	  raster/r.to.rast3/r.to.rast3.png,
+	  raster3d/r3.cross.rast/description.html,
+	  raster3d/r3.cross.rast/main.c,
+	  raster3d/r3.cross.rast/r3.cross.rast.png,
+	  raster3d/r3.to.rast/description.html, raster3d/r3.to.rast/main.c,
+	  raster3d/r3.to.rast/r3.to.rast.png: small code cosmetics
+	  added a picture to the description
+
+2006-07-10 18:08  soeren
+
+	* raster/r.elev.to.rast3, raster/r.elev.to.rast3/Makefile,
+	  raster/r.elev.to.rast3/description.html,
+	  raster/r.elev.to.rast3/main.c,
+	  raster/r.elev.to.rast3/r.elev.to.rast3.png: New module for raster
+	  - raster3d conversion
+	  * This module allows to convert a 2D elevation map + value map
+	  into a 3D raster map
+
+2006-07-10 17:13  benjamin
+
+	* gem/NEWS: ...
+
+2006-07-10 17:11  benjamin
+
+	* gem/NEWS, gem/actions.c, gem/at_exit_funcs.c,
+	  gem/docs/GEM-Manual.lyx, gem/docs/GEM-Manual/GEM-Manual.html,
+	  gem/docs/GEM-Manual/images.pl, gem/docs/GEM-Manual/images.tex,
+	  gem/docs/GEM-Manual/index.html, gem/docs/GEM-Manual/labels.pl,
+	  gem/globals.h, gem/main.c: this is an update of GEM to final
+	  version 1.0:
+	  
+	  - fixed HTML man page registration
+	  - fixed a few annoyances (cosmetics)
+	  - added options to pass to extension's configure script
+	  - updated documentation
+	  - sync'd with version on my webpage
+
+2006-07-10 17:09  benjamin
+
+	* tools/build_html_index.sh: made a few modifications to accomodate
+	  HTML documentation for GEM and
+	  installed extensions:
+	  
+	  - insert a special comment so GEM will no where to merge HTML
+	  man pages of extension modules
+	  
+	  - insert link to GEM docs
+	  
+	  - set GEMDIR=../gem
+	  
+	  - copy GEM HTML files and gifs to $GISBASE/docs/html/gem/
+
+2006-07-10 17:05  benjamin
+
+	* Makefile: Made some changes to automatically install GEM and
+	  friends:
+	  - added gem to SUBDIRS for automatic building/cleaning
+	  - install gem binary in $BINDIR (e.g. /usr/local/bin)
+	  - install skeletion extension in $GISBASE/etc/gem/skeleton
+
+2006-07-10 12:28  hamish
+
+	* vector/v.lrs/v.lrs.label/main.c: typo
+
+2006-07-10 11:45  hamish
+
+	* scripts/Makefile: move i.in.spotvgt (why won't it build
+	  automatically?)
+
+2006-07-10 09:37  glynn
+
+	* configure, configure.in, visualization/nviz/src/Makefile,
+	  visualization/nviz/src/map_obj.c, visualization/nviz/src/togl.c,
+	  visualization/nviz/src/togl_flythrough.c: NVIZ/OpenGL portability
+	  fixes for Windows
+
+2006-07-09 22:42  glynn
+
+	* configure, configure.in, vector/v.digit/driver.c,
+	  vector/v.digit/global.h, vector/v.digit/main.c: Add Windows
+	  OpenGL tests to configure.in
+	  Rename Region -> GRegion in v.digit (clashes with X11 type name)
+
+2006-07-09 13:31  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n translations
+
+2006-07-09 13:06  markus
+
+	* AUTHORS: Maciek is Maciej
+
+2006-07-09 11:43  markus
+
+	* AUTHORS: Maciek added
+
+2006-07-09 08:58  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  include/config.h.in, include/gstypes.h, lib/ogsf/GS2.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gsd_prim.c, lib/ogsf/gsd_views.c,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/do_zoom.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/interface_old.h,
+	  visualization/nviz/src/togl_ws.h: More OpenGL portability changes
+
+2006-07-09 06:53  glynn
+
+	* gui/tcltk/gis.m/script/d.shadedmap: Add "exec", quotes
+
+2006-07-08 20:22  paul
+
+	* aclocal.m4, configure: Update support for NetBSD (patch from
+	  Brook Milligan - bug 4764)
+
+2006-07-08 20:03  markus
+
+	* db/drivers/postgres/pg.html: urls fixed
+
+2006-07-08 19:49  markus
+
+	* raster/simwe/simlib/output.c: outwalk: removed . from vector map
+	  name (not SQL compliant, bixes bug #4546); simplified
+	  G_fatal_error()
+
+2006-07-08 17:05  markus
+
+	* lib/vector/Vlib/field.c: scheduled FID autodetection for next
+	  GDAL release
+
+2006-07-08 16:31  scott
+
+	* lib/vector/vectorlib.dox: tidied up language - hard to break
+	  teacher habit of correcting while reading new submissions...
+
+2006-07-08 09:11  brad
+
+	* raster/r.param.scale/interface.c, raster/r.param.scale/nrutil.c,
+	  raster/r.param.scale/nrutil.h, raster/r.param.scale/open_files.c,
+	  raster/r.param.scale/process.c,
+	  raster/r.param.scale/write_cats.c: - Removed G_malloc() checks
+	  (G_malloc checks for us)
+	  - Update usage of G_message(), etc (no longer need temp storage)
+	  - Localized text
+	  - Used G_debug() instead of DEBUG macro
+
+2006-07-08 09:03  brad
+
+	* vector/v.clean/main.c, vector/v.clean/prune.c,
+	  vector/v.clean/rmdac.c: - Use EXIT_SUCCESS|EXIT_FAILURE
+	  - Localized text
+
+2006-07-07 22:05  markus
+
+	* vector/v.in.ogr/main.c: conditionalized OFTDate on
+	  GDAL_VERSION_NUM >= 1320
+
+2006-07-07 15:56  markus
+
+	* swig/perl2/README: complete cleanup
+
+2006-07-07 13:57  markus
+
+	* doc/vector/vector.html, lib/vector/vectorlib.dox: migrated
+	  programming notes to main programmer's manual
+
+2006-07-07 10:16  paul
+
+	* lib/gis/user_config.c: Don't need snprintf() here as buffer is
+	  already correctly sized.
+
+2006-07-07 10:15  paul
+
+	* db/drivers/dbf/dbfexe.c: Don't need snprintf() here as length of
+	  string is predictable and
+	  within limits.
+
+2006-07-07 10:06  hamish
+
+	* ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_colors.c,
+	  ps/ps.map/ps_fclrtbl.c, ps/ps.map/symbol.c: increase color
+	  precision so band resolution is not lost
+
+2006-07-07 09:56  hamish
+
+	* display/d.menu/description.html: formatting
+
+2006-07-07 09:55  markus
+
+	* locale/po/grasslibs_ru.po, locale/po/grassmods_ru.po,
+	  locale/po/grasstcl_ru.po: Russian files re-created. Now with
+	  KOI8-R encoding
+
+2006-07-07 09:54  hamish
+
+	* display/d.menu, display/d.menu/Makefile,
+	  display/d.menu/description.html, display/d.menu/main.c: port
+	  d.menu from GRASS 5
+
+2006-07-07 09:52  hamish
+
+	* display/Makefile: port d.menu from GRASS 5.
+
+2006-07-07 08:50  hamish
+
+	* imagery/i.ask/popup.c: rendering fixes
+
+2006-07-07 08:01  hamish
+
+	* raster/r.topidx/file_io.c: save input name in history file, i18n
+
+2006-07-07 00:37  glynn
+
+	* aclocal.m4, configure, configure.in,
+	  include/Make/Platform.make.in, include/config.h.in,
+	  include/gstypes.h, lib/ogsf/GS2.c, lib/ogsf/gsd_legend.c,
+	  lib/ogsf/gsd_prim.c, lib/ogsf/gsd_views.c,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/do_zoom.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/togl_ws.h: Improve support for native
+	  MacOSX/Aqua OpenGL
+
+2006-07-07 00:35  glynn
+
+	* lib/init/grass-run.src: Add quotes around $@ to handle with
+	  arguments containing spaces
+
+2006-07-07 00:34  glynn
+
+	* gui/tcltk/gis.m/script/d.colors.sh,
+	  gui/tcltk/gis.m/script/d.text.sh,
+	  gui/tcltk/gis.m/script/r.colors.rules,
+	  gui/tcltk/gis.m/script/r.reclass.file,
+	  gui/tcltk/gis.m/script/r.reclass.rules,
+	  gui/tcltk/gis.m/script/r.recode.file,
+	  gui/tcltk/gis.m/script/r.recode.rules,
+	  gui/tcltk/gis.m/script/r.support.sh: Remove unnecessary uses of
+	  "eval", add quotes
+
+2006-07-06 12:25  markus
+
+	* vector/v.in.ogr/main.c: 'NULL' support activated for OFTInteger
+	  and OFTReal
+
+2006-07-06 12:16  markus
+
+	* raster/simwe/r.sim.water/main.c: fixed declarations for 64bit
+	  (closes bug #4546); EXIT_SUCCESS; some i18N
+
+2006-07-06 12:14  markus
+
+	* raster/simwe/r.sim.water/spearfish.sh: cosmetics; more rain
+
+2006-07-06 10:16  markus
+
+	* vector/v.in.ogr/main.c: OFTDate added; OFTIntegerList hack
+	  polished
+
+2006-07-05 16:30  hamish
+
+	* ps/ps.map/patterns/polka_dot.eps: add closepath to close polygon,
+	  but leave commented as I think it looks
+	  better open.
+
+2006-07-05 16:24  hamish
+
+	* ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_fclrtbl.c: greyrast triggers
+	  a grey raster legend too. bug #1896
+
+2006-07-05 15:19  markus
+
+	* lib/db/sqlp/description.html: more examples
+
+2006-07-05 15:14  markus
+
+	* AUTHORS: some updates
+
+2006-07-05 13:14  hamish
+
+	* ps/ps.map/ps_vlegend.c: provide a default legend box width if
+	  none is provided.
+	  enable EPS fill patterns in vector legends
+
+2006-07-05 13:12  hamish
+
+	* ps/ps.map/r_vareas.c: use GNAME_MAX, GMAPSET_MAX
+
+2006-07-05 10:07  markus
+
+	* raster/simwe/r.sim.water/spearfish.sh: more rain; cosmetics
+
+2006-07-05 10:04  brad
+
+	* raster/r.slope.aspect/main.c: - color code cleanup for aspect map
+
+2006-07-05 09:39  markus
+
+	* vector/v.buffer/main.c: removed confusing dot
+
+2006-07-05 09:39  hamish
+
+	* vector/v.label/main.c: add bug warning for rotation option
+
+2006-07-05 09:31  hamish
+
+	* gui/tcltk/gis.m/gm.tcl: fix d.nviz, xganim launching
+
+2006-07-05 08:52  hamish
+
+	* gui/icons/module-d.nviz.gif, gui/icons/module-nviz.gif,
+	  gui/tcltk/d.m/fly.gif, gui/tcltk/d.m/nviz.gif: new nviz icons
+
+2006-07-05 08:30  hamish
+
+	* vector/v.buffer/main.c: add bufcol warning as slightly buggy
+
+2006-07-05 08:15  hamish
+
+	* lib/init/grass-run.src: add hint about when to resize X mon
+
+2006-07-05 08:00  hamish
+
+	* imagery/i.points/analyze.c, imagery/i.points/ask.c,
+	  imagery/i.points/input.c: fix window rendering
+
+2006-07-05 07:36  hamish
+
+	* imagery/i.vpoints/analyze.c, imagery/i.vpoints/ask.c,
+	  imagery/i.vpoints/input.c: fix window rendering
+
+2006-07-05 06:13  hamish
+
+	* imagery/i.vpoints/analyze.c, imagery/i.vpoints/input.c,
+	  imagery/i.vpoints/mark.c, imagery/i.vpoints/points.c: color code
+	  GCPs, fix outline of GCP rms details
+
+2006-07-05 04:37  hamish
+
+	* raster/r.digit/bnw_line.c, raster/r.digit/get_area.c,
+	  raster/r.digit/get_circle.c, raster/r.digit/get_line.c,
+	  raster/r.digit/main.c: don't flush display after every segment of
+	  circle, add bgcmd option to
+	  help GUI
+
+2006-07-05 04:04  glynn
+
+	* raster/simwe/simlib/input.c: 64-bit fix
+
+2006-07-05 02:39  brad
+
+	* raster/r.colors/main.c: - localized more text
+	  - use EXIT_SUCCESS|EXIT_FAILURE for exit() calls
+
+2006-07-04 20:01  glynn
+
+	* raster/r.sun/main.c: Fix 64-bit bug [bug #4786]
+
+2006-07-04 19:58  glynn
+
+	* imagery/Makefile: Re-enable i.cca and i.pca
+
+2006-07-04 13:46  markus
+
+	* raster/simwe/r.sim.water/spearfish.sh: test script added for
+	  Spearfish
+
+2006-07-04 13:26  markus
+
+	* vector/v.in.ascii/points.c: Andrew Danner <adanner cs duke.edu>:
+	  memory leak fixed (bugs #3354, #3877)
+
+2006-07-04 13:22  markus
+
+	* lib/gis/snprintf.c: G_snprintf() wrapper function
+
+2006-07-04 12:03  markus
+
+	* lib/Makefile, lib/grasslib.dox, lib/index.dox: renamed file for
+	  'make htmldocs' (fixes bug#4548)
+
+2006-07-04 09:46  brad
+
+	* raster/r.in.ascii/gethead.c, raster/r.in.ascii/local_proto.h,
+	  raster/r.in.ascii/main.c: - fixed large files (please test)
+	  - localized text
+	  - minor portability fixes
+
+2006-07-04 09:32  markus
+
+	* lib/db/sqlp/description.html: subquery expressions and pattern
+	  matching added
+
+2006-07-04 09:24  markus
+
+	* db/drivers/sqlite/describe.c: define sufficient length to make
+	  v.in.ascii functional
+
+2006-07-04 07:09  markus
+
+	* general/g.transform/main.c: added missing include; EXIT_FAILURE
+
+2006-07-04 00:38  glynn
+
+	* general/Makefile, general/g.transform/main.c: Extend g.transform
+	  to allow more choice of output format
+
+2006-07-03 22:41  cho
+
+	* vector/v.in.dxf/main.c: G_warning to G_fatal_error
+
+2006-07-03 21:50  markus
+
+	* vector/v.in.ascii/in.c: don't leave broken files behind
+
+2006-07-03 21:21  markus
+
+	* gui/wxpython/grassgui.py: typo
+
+2006-07-03 21:02  markus
+
+	* gui/wxpython, gui/wxpython/README,
+	  gui/wxpython/grass-interface.dtd, gui/wxpython/grassgui.py:
+	  Jachym Cepicky: wxpython GUI ported from GRASS 5
+
+2006-07-03 20:27  markus
+
+	* vector/v.in.ascii/in.c: don't leave broken files behind
+
+2006-07-03 16:38  markus
+
+	* vector/v.digit/description.html: v.edit linked
+
+2006-07-03 16:37  markus
+
+	* imagery/i.rectify/description.html: g.transform linked
+
+2006-07-03 16:31  markus
+
+	* general/g.transform/description.html, general/g.transform/main.c:
+	  Copyright header added + description to follow submission
+	  standards
+
+2006-07-03 16:30  michael
+
+	* gui/tcltk/menus/menu.tcl: better fix for menu entry for g.gisenv
+
+2006-07-03 16:26  michael
+
+	* gui/tcltk/menus/menu.tcl: fixed bugs with menu entries for
+	  d.font, g.access, g.gisenv,
+	  g.region -p, and g.version.
+
+2006-07-03 15:01  michael
+
+	* lib/init/init.sh: removed extra location name
+
+2006-07-03 14:41  markus
+
+	* vector/v.in.ogr/main.c: where parameter added for selective
+	  import
+
+2006-07-03 13:26  markus
+
+	* scripts/d.polar/description.html: input angles explained
+
+2006-07-03 13:11  markus
+
+	* scripts/d.polar/d.polar: EPS fix: print axis indications over
+	  circle
+
+2006-07-03 12:56  markus
+
+	* scripts/v.what.vect/description.html: comma
+
+2006-07-03 07:20  markus
+
+	* scripts/v.rast.stats/v.rast.stats: Fast SQL also for DBF
+
+2006-07-03 06:52  markus
+
+	* scripts/v.rast.stats/v.rast.stats: SQLTMP confusion fixed
+
+2006-07-03 06:39  markus
+
+	* locale/po/grasslibs_pt_br.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grasstcl_pt_br.po: Paulo Marcondes (aka PMarc) <grass
+	  marcondes org>: cont'ed
+
+2006-07-03 00:35  cho
+
+	* vector/v.in.dxf/add_text.c, vector/v.in.dxf/dxf_to_vect.c,
+	  vector/v.in.dxf/main.c: fixed a bug (thanks to Soeren Gebbert)
+	  added a message at failure
+
+2006-07-02 23:54  hamish
+
+	* scripts/d.polar/d.polar: fix scaling, add trend vector stats, add
+	  todo hint
+
+2006-07-02 21:58  markus
+
+	* scripts/v.rast.stats/v.rast.stats: Speed up for non-DBF drivers
+
+2006-07-02 21:17  markus
+
+	* scripts/v.rast.stats/v.rast.stats: fix to accept no data/NULL
+	  (fixes bug#4496)
+
+2006-07-02 20:28  markus
+
+	* include/Make/Html.make: title extended
+
+2006-07-02 12:06  markus
+
+	* raster/r.colors/rules.c: also tell user about range values
+
+2006-07-02 08:52  markus
+
+	* gui/tcltk/gis.m/vector.tcl: min line width is 1
+
+2006-07-02 07:15  hamish
+
+	* scripts/d.polar/d.polar: speed up script by moving loops into
+	  awk, minor scripting fixes.
+	  remove scaling fudge factor from d.graph output. Still scales
+	  differently
+	  than xgraph, eps output for unknown reasons.
+
+2006-07-02 00:37  markus
+
+	* gui/xml, gui/xml/README, gui/xml/grass-interface.dtd: added
+	  missing DTD for --interface-description
+
+2006-07-01 21:29  markus
+
+	* scripts/d.polar/description.html: Example added
+
+2006-07-01 21:15  markus
+
+	* scripts/d.polar/d.polar: cosmetics
+
+2006-07-01 20:32  markus
+
+	* vector/v.to.points/description.html, vector/v.to.points/main.c:
+	  EXIT status; example added
+
+2006-07-01 20:07  markus
+
+	* Makefile: create ARCH_DISTDIR if not existing (bug#4758)
+
+2006-07-01 20:01  markus
+
+	* lib/gis/done_msg.c: simplified to make functional (closes
+	  bug#4757)
+
+2006-06-30 15:49  markus
+
+	* locale/po/grasstcl_ja.po, locale/po/grasstcl_vi.po: Updated/news.
+	  Messages from GRASS 5 translation merged
+
+2006-06-30 15:34  markus
+
+	* include/gisdefs.h: removed deleted functions
+
+2006-06-30 15:32  markus
+
+	* configure, configure.in: enabled new PERL Swig interface
+
+2006-06-30 15:30  markus
+
+	* swig/Makefile: give hint
+
+2006-06-30 15:28  markus
+
+	* swig/perl2, swig/perl2/README, swig/perl2/error.c,
+	  swig/perl2/grass.i, swig/perl2/make.pl.in, swig/perl2/typemaps.i:
+	  Ari Jolma <ari.jolma tkk.fi>: GRASS-SWIG-Perl second version
+	  interface
+
+2006-06-30 06:23  hamish
+
+	* ps/ps.map/description.html: link to standard fill pattern image
+
+2006-06-30 06:15  hamish
+
+	* display/d.graph/description.html: note d.polar as example
+
+2006-06-29 19:29  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n module translations
+	  (mostly rough translated).
+
+2006-06-29 18:21  stephan
+
+	* locale/po/grasslibs_de.po: + more german i18n translations
+
+2006-06-29 15:56  hamish
+
+	* scripts/d.polar/description.html: use d.graph
+
+2006-06-29 15:43  hamish
+
+	* scripts/d.polar/d.polar: remove unused devel code
+
+2006-06-29 15:33  hamish
+
+	* scripts/d.polar/d.polar: use d.graph to draw by default.
+	  functionalize code.
+	  fix stderr redirects.
+	  de-bash exports.
+
+2006-06-29 13:19  hamish
+
+	* display/d.info/main.c: explain results
+
+2006-06-29 13:06  hamish
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive: d.info -f moved to more
+	  correct -b.
+	  de-Bash export.
+
+2006-06-29 13:01  hamish
+
+	* display/d.info/main.c: frame dimensions flag was actually showing
+	  region rectangle.
+	  corrected, region rectangle moved to -b flag.
+
+2006-06-29 02:48  cho
+
+	* lib/driver/Get_location.c: fixed if condition
+
+2006-06-29 02:40  cho
+
+	* display/d.measure/local_proto.h, display/d.measure/main.c,
+	  display/d.measure/msurements.c, display/d.profile/main.c,
+	  display/d.profile/profile.h, display/d.rast.edit/edit.c,
+	  display/d.rast.edit/edit.h, display/d.rast.edit/main.c,
+	  display/d.zoom/box.c, display/d.zoom/local_proto.h,
+	  display/d.zoom/main.c, display/d.zoom/pan.c,
+	  display/d.zoom/quit.c, display/d.zoom/set.c,
+	  display/d.zoom/zoom.c, lib/driver/Get_location.c,
+	  lib/driver/driver.h, lib/driver/init.c, lib/driver/text3.c,
+	  lib/init/variables.html, raster/r.digit/get_point.c,
+	  raster/r.digit/instruct.c, raster/r.digit/local_proto.h,
+	  raster/r.digit/main.c, vector/v.digit/attr.c,
+	  vector/v.digit/global.h, vector/v.digit/i_face.c,
+	  vector/v.digit/line.c, vector/v.digit/main.c,
+	  vector/v.digit/vertex.c, vector/v.digit/zoom.c: Fixed iconv()
+	  compiler warning.
+	  Changed the GRASS_ANOTHER_BUTTON environment variable to
+	  GRASS_MOUSE_BUTTON:
+	  Setting GRASS_MOUSE_BUTTON to 132 is equivalent to
+	  GRASS_ANOTHER_BUTTON.
+
+2006-06-28 22:23  markus
+
+	* scripts/Makefile: re-added i.in.spotvgt: why was it removed?
+
+2006-06-28 22:06  markus
+
+	* locale/po/grasstcl_it.po: Lorenzo Moretti <lorenzo moretti
+	  bologna enea.it>: updated
+
+2006-06-28 17:32  hamish
+
+	* ps/ps.map/patterns/brick.eps: less lumpy bricks
+
+2006-06-28 16:09  hamish
+
+	* imagery/i.points/main.c, imagery/i.vpoints/main.c,
+	  raster/r.digit/main.c: use G_putenv() as setenv() isn't portable
+
+2006-06-28 15:52  hamish
+
+	* imagery/i.points/Makefile, imagery/i.points/description.html,
+	  imagery/i.vpoints/Makefile, imagery/i.vpoints/description.html:
+	  inter -> cmd to build manpages now that these modules use
+	  G_parser()
+
+2006-06-28 15:34  hamish
+
+	* imagery/i.group/main.c: subgroup != group, prompt treats it like
+	  a $MAPSET/$ELEMENT, which isn't right
+
+2006-06-28 15:27  hamish
+
+	* raster/Makefile: r.surf.random and r.surf.gauss don't use FFTW
+
+2006-06-28 15:24  hamish
+
+	* imagery/Makefile: i.cca, i.pca don't use FFTW
+
+2006-06-28 14:50  hamish
+
+	* gui/tcltk/menus/menu.tcl: r.le.setup needs a xmon
+
+2006-06-28 14:15  hamish
+
+	* gui/tcltk/menus/menu.tcl: i.class needs an xmon
+
+2006-06-28 12:51  hamish
+
+	* lib/init/grass-run.src: change console title to name of module
+
+2006-06-28 12:19  hamish
+
+	* imagery/i.points/main.c: force no GUI startup
+
+2006-06-28 12:09  hamish
+
+	* raster/r.digit/main.c: must run in a term window
+
+2006-06-28 12:02  hamish
+
+	* lib/init/grass-run.src: force command line startup mode.
+	  if an error happens, pause before exit so user can see what the
+	  error was
+
+2006-06-28 11:59  hamish
+
+	* imagery/i.vpoints/main.c: force no GUI startup
+
+2006-06-28 09:03  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: more understandable
+	  debug messsages
+
+2006-06-28 07:37  hamish
+
+	* scripts/r.mask/r.mask: don't uppercase option key names, just
+	  parser variables
+
+2006-06-28 06:53  hamish
+
+	* imagery/i.points/main.c: clear screen on exit
+
+2006-06-28 06:48  hamish
+
+	* display/d.colors/curses.c, imagery/i.class/curses.c,
+	  imagery/i.points/curses.c, imagery/i.vpoints/curses.c: fix
+	  octals, allow both backspace and DEL
+
+2006-06-28 02:33  hamish
+
+	* imagery/i.vpoints/analyze.c, imagery/i.vpoints/plot.c: fully
+	  erase window on source rast redraw, make warped points work
+
+2006-06-27 22:13  cho
+
+	* raster/r.topmodel/file_io.c: Clarified output descriptions
+
+2006-06-27 19:45  cho
+
+	* display/d.profile/DumpProfile.c, display/d.profile/ExtractProf.c,
+	  display/d.profile/PlotProfile.c, display/d.profile/Range.c,
+	  display/d.profile/What.c, display/d.profile/main.c,
+	  display/d.profile/utils.c: localized text; exit status
+
+2006-06-27 16:37  paul
+
+	* imagery/i.find/main.c: Ignore hidden files (getting closer to
+	  original behaviour). Listing
+	  still isn't sorted though.
+
+2006-06-27 13:44  paul
+
+	* imagery/i.find/main.c: Fix bug: before recent change dir pointed
+	  to somewhere inside the
+	  "command" buffer: now command is gone, dir must have space of its
+	  own allocated.
+
+2006-06-27 12:44  hamish
+
+	* imagery/i.vpoints/analyze.c: refresh rast doesn't drop you out of
+	  overlay menu
+
+2006-06-27 10:25  hamish
+
+	* imagery/i.vpoints/colors.c, imagery/i.vpoints/drawvect.c,
+	  imagery/i.vpoints/globals.h, imagery/i.vpoints/plot.c,
+	  imagery/i.vpoints/plot1.c, imagery/i.vpoints/plot2.c,
+	  imagery/i.vpoints/points.c, imagery/i.vpoints/use_plot1.c,
+	  imagery/i.vpoints/vectpoints.h: enable warp overlay of target
+	  vector on source raster
+	  remove unused code
+
+2006-06-27 08:11  hamish
+
+	* imagery/i.vpoints/find.c: check if i.find worked
+
+2006-06-26 22:32  michael
+
+	* scripts/Makefile: Added missing scripts
+
+2006-06-26 22:22  michael
+
+	* lib/init/init.sh: Added location name to grass prompt
+
+2006-06-26 22:16  michael
+
+	* gui/tcltk/d.m/vector.tcl: Added show data button
+
+2006-06-26 22:16  michael
+
+	* gui/tcltk/d.m/d.m.tcl: Update to nviz procedure to recognize
+	  Intel Mac.
+
+2006-06-26 22:06  michael
+
+	* gui/tcltk/d.m/d.m, gui/tcltk/gis.m/gis.m: Update startup script
+	  so that it works for Mac without editing.
+
+2006-06-26 21:06  markus
+
+	* scripts/d.vect.thematic/d.vect.thematic: also clean TMP6
+
+2006-06-26 20:19  michael
+
+	* gui/tcltk/gis.m/georect.tcl: Bug fixes. Everything works except
+	  for RMS error calculations.
+	  Vectors and rasters are both in $GISBASE/group/ directory
+	  structure
+	  now.
+
+2006-06-26 20:18  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl:
+	  Implemented WIND_OVERRIDE for all zooming operations. WIND file
+	  is never changed except by explict user intention.
+
+2006-06-26 20:17  michael
+
+	* gui/tcltk/gis.m/thematic.tcl: Multiple thematic layers will now
+	  open multiple legends.
+
+2006-06-26 20:17  michael
+
+	* gui/tcltk/gis.m/gm.tcl: Added mapset to window title
+
+2006-06-26 18:48  markus
+
+	* doc/howto_release.txt: more lists
+
+2006-06-26 10:57  paul
+
+	* raster/r.out.tiff/r.out.tiff.c: Rethink of string-handling logic
+	  inspired by Glynn's comments on
+	  developers' mailing list: definitely shouldn't be using
+	  G_asprintf()
+	  (for reasons of efficiency) if we can predict the length of the
+	  formatted string.
+
+2006-06-26 10:28  markus
+
+	* scripts/r.out.gdal/description.html,
+	  scripts/r.out.gdal/r.out.gdal: debug disabled; +Plugin link
+
+2006-06-26 10:22  markus
+
+	* scripts/r.out.gdal/description.html,
+	  scripts/r.out.gdal/r.out.gdal: implemented multiple CREATEKEY and
+	  METAKEY (wish #4739)
+
+2006-06-26 08:11  markus
+
+	* lib/gis/gislib.dox, lib/gis/gisrasterlib.dox,
+	  lib/gis/gisvectorlib.dox: more TOCs added
+
+2006-06-26 07:53  hamish
+
+	* imagery/i.vpoints/analyze.c: condense analyze menu text
+
+2006-06-26 07:45  hamish
+
+	* imagery/i.vpoints/analyze.c, imagery/i.vpoints/driver.c: only try
+	  to refresh rasters if present, use G_free(), update menu after
+	  changing delete mode.
+
+2006-06-26 03:04  hamish
+
+	* scripts/i.spectral/i.spectral: use GRASS_GNUPLOT in check as well
+
+2006-06-24 21:04  glynn
+
+	* general/g.transform, general/g.transform/Makefile,
+	  general/g.transform/crs.c, general/g.transform/crs.h,
+	  general/g.transform/main.c: Utility to compute transformation
+	  based upon GCPs and output error measurements
+
+2006-06-24 19:33  markus
+
+	* lib/init/gis_set.tcl: more wording fine tuning
+
+2006-06-24 19:33  markus
+
+	* lib/init/clean_temp.c: Roberto Flor: rewritten; now removes also
+	  subdirectories in LOCATION/MAPSET/.tmp/ [previous CVS log message
+	  was wrong]
+
+2006-06-24 18:25  markus
+
+	* lib/init/clean_temp.c, lib/init/gis_set.tcl: fixed strange
+	  wording
+
+2006-06-23 14:10  markus
+
+	* rpm/mandrake/grass.spec: now also fft3 works
+
+2006-06-23 14:07  markus
+
+	* rpm/suse, rpm/suse/grass-6.1.cvs-1suse.spec: SuSe SPEC file
+
+2006-06-23 07:00  markus
+
+	* vector/v.clean/description.html: break example added
+
+2006-06-23 06:04  hamish
+
+	* imagery/i.vpoints/analyze.c, imagery/i.vpoints/colors.c,
+	  imagery/i.vpoints/drawcell.c, imagery/i.vpoints/driver.c,
+	  imagery/i.vpoints/globals.h, imagery/i.vpoints/input.c: return
+	  from select order menu (bug #4620)
+	  comment out unused menu,cursor color code
+	  refresh current location raster side as well as target side
+	  clean/shorten main menu bar and make bg color grey again
+
+2006-06-22 16:13  markus
+
+	* raster/r.profile/main.c: G_fatal_error(0 usage modernized;
+	  G_define_standard_option()
+
+2006-06-22 13:05  markus
+
+	* imagery/i.cca/Makefile, imagery/i.pca/Makefile,
+	  raster/r.surf.gauss/Makefile, raster/r.surf.random/Makefile:
+	  removed FFTWLIB dependency as suggested by Glynn
+
+2006-06-22 09:14  hamish
+
+	* ps/ps.map/description.html: more vareas pat updates
+
+2006-06-22 09:05  hamish
+
+	* ps/ps.map/description.html: font, vareas pat updates
+
+2006-06-22 07:47  markus
+
+	* lib/external/bwidget/README: New URL
+
+2006-06-22 07:46  markus
+
+	* scripts/r.plane/description.html: example added
+
+2006-06-22 07:44  hamish
+
+	* ps/ps.map/patterns/horiz_line_dash.eps,
+	  ps/ps.map/patterns/vert_line_dash.eps: more hatching patterns for
+	  ps.map's vareas
+
+2006-06-22 07:32  hamish
+
+	* ps/ps.map/patterns/diag_down_dash.eps,
+	  ps/ps.map/patterns/diag_up_dash.eps: more hatching patterns for
+	  ps.map's vareas
+
+2006-06-22 07:32  markus
+
+	* lib/external/bwidget/Makefile: INSTALL is preferred
+
+2006-06-22 07:16  hamish
+
+	* ps/ps.map/Makefile: install standard pattern files for ps.map's
+	  vareas command
+
+2006-06-22 06:54  hamish
+
+	* ps/ps.map/patterns, ps/ps.map/patterns/brick.eps,
+	  ps/ps.map/patterns/cross_diag.eps,
+	  ps/ps.map/patterns/cross_diag5.eps,
+	  ps/ps.map/patterns/cross_normal.eps,
+	  ps/ps.map/patterns/cross_normal5.eps,
+	  ps/ps.map/patterns/diag_down.eps,
+	  ps/ps.map/patterns/diag_down6.eps,
+	  ps/ps.map/patterns/diag_up.eps, ps/ps.map/patterns/diag_up6.eps,
+	  ps/ps.map/patterns/horiz_line.eps,
+	  ps/ps.map/patterns/horiz_line6.eps,
+	  ps/ps.map/patterns/polka_dot.eps,
+	  ps/ps.map/patterns/vert_line.eps,
+	  ps/ps.map/patterns/vert_line6.eps: hatch patterns for ps.map
+	  vareas command
+
+2006-06-21 13:19  markus
+
+	* lib/external/bwidget/Makefile: make .tcl executable
+
+2006-06-21 10:34  markus
+
+	* scripts/d.polar/d.polar: fixed remaining hardcoded values to
+	  calculated values
+
+2006-06-21 10:16  markus
+
+	* scripts/d.slide.show/description.html: example added to generate
+	  PDF map overview
+
+2006-06-21 10:09  markus
+
+	* scripts/v.db.update/description.html: HTML cosmetics
+
+2006-06-21 03:17  brad
+
+	* vector/v.distance/main.c: - localize text
+	  - use EXIT_SUCCESS|FAILURE
+
+2006-06-20 17:08  markus
+
+	* scripts/d.polar/description.html: docs
+
+2006-06-20 17:03  markus
+
+	* scripts/d.polar/Makefile, scripts/d.polar/d.polar,
+	  scripts/d.polar/polar_diagram.eps, scripts/d.polar/ps_defs.eps:
+	  EPS output added (contributed by Bruno Caprile, ITC-irst)
+
+2006-06-20 16:59  markus
+
+	* scripts/i.oif/Makefile: cp fixed to INSTALL
+
+2006-06-20 13:36  hamish
+
+	* vector/v.digit/main.c, vector/v.digit/toolbox.tcl: restore
+	  original region and clear screen on exit.
+	  attempt to set the main toolbox window title (needs help)
+
+2006-06-20 13:34  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grasslibs_hi.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_lv.po,
+	  locale/po/grasslibs_pl.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_it.po, locale/po/grasstcl_ja.po,
+	  locale/po/grasstcl_tr.po: header fixes
+
+2006-06-20 13:26  markus
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_es.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_tr.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_pt_br.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_tr.po, locale/po/grasstcl_pl.po,
+	  locale/po/grasstcl_pt_br.po: header fixes
+
+2006-06-20 13:26  markus
+
+	* locale/po/grasstcl_tr.po: Aras.Gor.O Yalcin Yilmaz <yilmazy
+	  istanbul edu.tr>: initial translation
+
+2006-06-20 10:51  paul
+
+	* lib/gis/basename.c: More portable (don't use strncasecmp())
+
+2006-06-20 10:42  hamish
+
+	* imagery/i.vpoints/drawcell.c: erase defunct zoom window after
+	  refresh
+
+2006-06-20 10:36  hamish
+
+	* imagery/i.vpoints/drawcell.c, imagery/i.vpoints/drawvect.c,
+	  imagery/i.vpoints/driver.c, imagery/i.vpoints/setup.c: numerous
+	  fixes:
+	  target raster maps and vector maps now coexist happily.
+	  Refresh works on target raster as well as vectors.
+	  GNAME_MAX, GMAPSET_MAX.
+	  internal drawvect control codes now human readable.
+	  bugfix: init numfiles to 0.
+	  remove bogus G_get_cellhd(vectormap) call.
+	  remove bogus D_add_to_list() call.
+
+2006-06-20 10:27  hamish
+
+	* imagery/i.vpoints/Makefile, imagery/i.vpoints/plot.c: add support
+	  for displaying point vectors
+
+2006-06-20 10:22  hamish
+
+	* imagery/i.vpoints/zoom_box.c: whitespace
+
+2006-06-20 10:05  markus
+
+	* raster/r.surf.idw/main.c: ambigous else fixed
+
+2006-06-20 10:04  markus
+
+	* raster/r.surf.idw/main.c: updated: err mgs simplified, EXIT
+	  status, parser; code indent
+
+2006-06-20 09:56  markus
+
+	* raster/r.surf.idw2/main.c: done msg added
+
+2006-06-20 09:39  markus
+
+	* raster/r.surf.idw2/main.c: updated: err mgs simplified, EXIT
+	  status, parser
+
+2006-06-20 09:26  markus
+
+	* raster/r.param.scale/description.html: meanc doesn't exist (bug
+	  #)
+
+2006-06-19 23:44  hamish
+
+	* raster/r.param.scale/interface.c: G_standard_option(),
+	  EXIT_FAILURE, simplify error handling
+	  (bug #4631)
+
+2006-06-19 15:47  paul
+
+	* include/gisdefs.h, lib/gis/basename.c,
+	  raster/r.out.tiff/description.html,
+	  raster/r.out.tiff/r.out.tiff.c: Add new G_basename() function and
+	  update r.out.tiff to use it as per
+	  wish number 4628
+
+2006-06-19 10:12  markus
+
+	* scripts/d.polar/d.polar: key_desc added
+
+2006-06-19 10:09  markus
+
+	* testsuite/README: URL to external project
+
+2006-06-19 09:35  markus
+
+	* display/d.graph/Makefile, display/d.graph/description.html: copy
+	  grass_logo.txt to HTML space
+
+2006-06-19 09:11  markus
+
+	* tools/grassdocs.css: CSS fix
+
+2006-06-19 08:37  markus
+
+	* visualization/nviz/scripts/panel_surf.tcl,
+	  visualization/nviz/scripts/panel_vect.tcl,
+	  visualization/nviz/scripts/panel_vol.tcl: menu entries improved
+
+2006-06-19 07:35  brad
+
+	* imagery/i.find/main.c: - making a soon to be obsolete program
+	  portable
+
+2006-06-19 04:50  brad
+
+	* visualization/nviz/scripts/panel_animation.tcl,
+	  visualization/nviz/scripts/panel_kanimator.tcl: - Remove
+	  reference to SGI IRIS .rgb support
+	  - Document removal of .rgb support in tcl scripts
+
+2006-06-19 04:45  brad
+
+	* visualization/nviz/scripts/panel_animation.tcl,
+	  visualization/nviz/scripts/panel_kanimator.tcl: - document
+	  removal of SGI .rgb support in tcl scripts
+	  - minor code formatting
+
+2006-06-18 22:05  brad
+
+	* include/Make/Grass.make.in, include/image.h,
+	  include/ogsf_proto.h, lib/Makefile, lib/image, lib/ogsf/Makefile,
+	  lib/ogsf/gsd_img.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c,
+	  visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_animation.tcl,
+	  visualization/nviz/scripts/panel_kanimator.tcl,
+	  visualization/nviz/scripts/script_file_tools,
+	  visualization/nviz/scripts/test.script,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/init_commands.c,
+	  visualization/nviz/src/interface.h: - Removed SGI .rgb image
+	  format support
+	  - GRASS just got a little bit lighter
+
+2006-06-18 10:44  markus
+
+	* gui/tcltk/menus/menu.tcl: Benjamin Ducke: fixes
+
+2006-06-18 10:26  markus
+
+	* gui/tcltk/menus/menu.tcl: fixed unclosed braces
+
+2006-06-18 08:24  markus
+
+	* lib/vector/Vlib/map.c: Fixed removal of tmp directories (from
+	  Glynn, bug #4450)
+
+2006-06-17 20:09  markus
+
+	* lib/external/shapelib/README, lib/external/shapelib/dbfopen.c:
+	  updated again to include two more upstream bugfixes
+
+2006-06-17 13:35  markus
+
+	* db/drivers/dbf/globals.h: type defs explained
+
+2006-06-17 13:02  markus
+
+	* lib/external/shapelib/README: updated
+
+2006-06-17 12:55  markus
+
+	* lib/external/shapelib/README, lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c: updated to current SHAPElib from
+	  OGR
+
+2006-06-17 11:35  hamish
+
+	* imagery/i.vpoints/main.c: fully erase the screen on exit
+
+2006-06-17 09:07  hamish
+
+	* imagery/i.vpoints/colors.c, imagery/i.vpoints/plot.c,
+	  imagery/i.vpoints/target.c: compiler warnings
+
+2006-06-17 08:57  hamish
+
+	* imagery/i.vpoints/ask.c, imagery/i.vpoints/colors.c,
+	  imagery/i.vpoints/drawvect.c, imagery/i.vpoints/globals.h,
+	  imagery/i.vpoints/graphics.c: remove multiple COLOR defn
+
+2006-06-17 08:43  hamish
+
+	* imagery/i.vpoints/colors.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.vpoints/drawvect.c, imagery/i.vpoints/main.c: put
+	  d.frame in the correct place, report correct vector line colors,
+	  don't set have_cellmap when we only have vector maps on the
+	  target
+	  side (was triggering bogus error message)
+
+2006-06-17 07:04  hamish
+
+	* imagery/i.vpoints/main.c: "d.frame -s" (rev 1.2) was causing
+	  lockup on error
+
+2006-06-17 06:23  hamish
+
+	* raster/r.in.xyz/description.html: add southern bound feature note
+
+2006-06-17 05:35  hamish
+
+	* imagery/i.points/defs.h, imagery/i.points/main.c,
+	  imagery/i.vpoints/defs.h, imagery/i.vpoints/main.c: use
+	  G_parser() to make into normal modules, GNAME_MAX, i18n,
+	  EXIT_FAILURE
+
+2006-06-16 19:35  markus
+
+	* raster/r.out.vtk/description.html,
+	  vector/v.out.vtk/description.html: typo; cosmetics
+
+2006-06-16 18:17  soeren
+
+	* raster/r.out.vtk/description.html, raster/r.out.vtk/parameters.c,
+	  vector/v.out.vtk/description.html, vector/v.out.vtk/main.c:
+	  updated the description.html
+	  message cosmetics
+
+2006-06-16 18:10  soeren
+
+	* raster3d/r3.out.vtk/description.html,
+	  raster3d/r3.out.vtk/globalDefs.h, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/parameters.h,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKHead.c: Added flag -c for VTK-OpenGL
+	  coordinates correction
+	  updated the description.html
+
+2006-06-16 15:27  soeren
+
+	* vector/v.out.vtk/local_proto.h, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c: Added flag -c for VTK-OpenGL
+	  coordinates correction
+
+2006-06-16 15:26  soeren
+
+	* raster/r.out.vtk/globaldefs.h, raster/r.out.vtk/main.c,
+	  raster/r.out.vtk/parameters.c, raster/r.out.vtk/parameters.h,
+	  raster/r.out.vtk/writeascii.c: Added flag -c for VTK-OpenGL
+	  coordinates correction
+
+2006-06-16 14:02  markus
+
+	* raster/r.in.xyz/main.c: msg cosmetics
+
+2006-06-16 12:13  markus
+
+	* vector/v.surf.rst/description.html,
+	  vector/v.vol.rst/description.html, vector/v.vol.rst/main.c: msg
+	  cosmetics
+
+2006-06-16 11:50  markus
+
+	* db/drivers/postgres/README, db/drivers/postgres/db.c,
+	  db/drivers/postgres/describe.c, db/drivers/postgres/fetch.c,
+	  db/drivers/postgres/globals.h: bit type added; mapped as integer
+
+2006-06-15 22:16  markus
+
+	* locale/po/grasstcl_it.po: Italian tcl added
+
+2006-06-15 21:26  markus
+
+	* locale/README: cosmetics
+
+2006-06-15 09:05  markus
+
+	* raster/r.in.xyz/main.c: fixed x/y inversion in new flag
+
+2006-06-15 08:57  markus
+
+	* raster/r.in.xyz/description.html, raster/r.in.xyz/local_proto.h,
+	  raster/r.in.xyz/main.c: flag added to print the input data extent
+	  in shell script style (for g.region)
+
+2006-06-15 08:42  markus
+
+	* raster/r.in.xyz/main.c: Error msg cosmetics
+
+2006-06-15 05:19  hamish
+
+	* vector/v.digit/settings.tcl: move line width to settings tab for
+	  higher visibility
+
+2006-06-15 03:13  hamish
+
+	* tools/sql.sh: documentation from Glynn
+
+2006-06-14 21:32  cho
+
+	* lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/dbcolumns.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/rewind_ogr.c: Changed header includes for
+	  external files
+
+2006-06-14 20:34  cho
+
+	* vector/v.in.ogr/main.c: --o and --overwrite option should work
+
+2006-06-14 17:45  michael
+
+	* gui/tcltk/menus/menu.tcl: updating menus to add new commands
+
+2006-06-14 16:50  michael
+
+	* lib/init/file_option.tcl: fixed bug in file not found warning
+
+2006-06-14 06:49  markus
+
+	* lib/vector/Vlib/field.c: comment updated; debug to 3
+
+2006-06-14 03:06  cho
+
+	* configure, configure.in: Added optional libraries (-lXext and
+	  -lm) to OPENGLLIB and OPENGLWM for *BSD systems
+
+2006-06-13 23:23  markus
+
+	* vector/v.extract/description.html: dissolve example renewed
+
+2006-06-13 22:52  markus
+
+	* lib/vector/Vlib/field.c: GID search added; auto-search of FID
+	  fixed (still non-functional due to apparent OGR_L_GetFIDColumn()
+	  failure; auto-search disabled
+
+2006-06-13 22:42  markus
+
+	* raster/r.lake/main.c: Maris Nartiss: bugfix
+
+2006-06-13 21:43  markus
+
+	* locale/po/grassmods_de.po: cosmetics
+
+2006-06-13 16:25  markus
+
+	* vector/v.out.ogr/README: no longer needed
+
+2006-06-13 16:17  markus
+
+	* vector/v.out.ogr/description.html, vector/v.out.ogr/main.c: Faces
+	  export added (for KML etc)
+
+2006-06-13 12:03  markus
+
+	* vector/v.out.vtk/writeVTK.c: Typo fixed
+
+2006-06-13 01:58  glynn
+
+	* visualization/nviz/src/Makefile: Fix defintion of USE_X11 macro;
+	  must be 0 or 1, not empty or 1.
+
+2006-06-13 01:58  glynn
+
+	* lib/ogsf/GS2.c: Fix prototype and use of gsd_getViewport()
+
+2006-06-13 01:57  glynn
+
+	* display/d.text/main.c: Don't try to use R_* functions before
+	  calling R_open_driver()
+
+2006-06-12 22:56  markus
+
+	* scripts/r.in.srtm/description.html: link to article
+
+2006-06-12 18:47  markus
+
+	* doc/howto_release.txt: Remote-Sensing-GIS-for-a-New-World
+
+2006-06-12 16:31  markus
+
+	* swig/grassswig.dox, swig/python/Makefile,
+	  swig/python/grasspython.dox: draft GRASS-SWIG-Python docs
+
+2006-06-12 13:53  hamish
+
+	* raster/r.in.xyz/description.html: spelling
+
+2006-06-12 13:11  markus
+
+	* lib/vector/Vlib/line.c: explanation improved
+
+2006-06-12 13:05  hamish
+
+	* raster/r.in.xyz/description.html: r3.in.rast is r.to.rast3
+
+2006-06-12 12:52  hamish
+
+	* raster/r.in.xyz/description.html: "point swarm" is better known
+	  as "point cloud"
+
+2006-06-12 12:47  markus
+
+	* locale/po/grassmods_pt_br.po: Daniel de Castro Victoria <daniel
+	  victoria gmail.com>: cont'ed
+
+2006-06-12 12:47  markus
+
+	* locale/po/grasstcl_pt_br.po: Paulo Marcondes <paulomarcondes
+	  gmail com>: cont'ed
+
+2006-06-12 08:42  paul
+
+	* lib/proj/get_proj.c: Use proj=longlat instead of proj=latlong as
+	  per Hamish's suggestion
+	  (hopefully reduces confusion about ordering of co-ordinate pairs
+	  for
+	  input to cs2cs)
+
+2006-06-12 08:13  markus
+
+	* lib/vector/Vlib/field.c: added code to auto-search FID column in
+	  OGR DB
+
+2006-06-12 05:42  cho
+
+	* vector/v.in.dxf/global.h, vector/v.in.dxf/layer_list.c,
+	  vector/v.in.dxf/main.c: free memory
+
+2006-06-12 04:43  hamish
+
+	* raster/r.los/main.c: cleanup G_fatal_error messages, EXIT_SUCCESS
+
+2006-06-11 20:42  cho
+
+	* lib/gis/error.c: The existence of GIS_ERROR_LOG file needs to be
+	  checked according to the
+	  variables man page. Use fopen() instead of access() for
+	  portability.
+
+2006-06-11 20:37  stephan
+
+	* locale/po/grassmods_de.po: + new german i18n translations
+
+2006-06-11 10:01  glynn
+
+	* include/ogsf_proto.h, lib/ogsf/gsd_img.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c, lib/ogsf/gsd_prim.c: Fix and clean up
+	  image-dump code; endianness, 64-bit issues
+
+2006-06-11 10:00  glynn
+
+	* lib/driver/Makefile: Only compile socket-related code if we have
+	  socket()
+
+2006-06-10 23:40  helena
+
+	* lib/rst/interp_float/point2d.c: commented out obsolete site
+	  function call
+
+2006-06-10 20:08  cho
+
+	* raster/r.statistics/main.c: fatal error if [FD]CELL basemap is
+	  given
+
+2006-06-09 07:41  cho
+
+	* display/d.save/description.html, display/d.save/main.c: better
+	  description for (re)move= option
+
+2006-06-09 07:40  hamish
+
+	* visualization/nviz/scripts/panel_site.tcl: temporarily disable
+	  option causing segfault for save/load state with sites
+	  defined. (bug #4377, patch from Massimo)
+
+2006-06-08 01:24  hamish
+
+	* raster/r.in.xyz/main.c: bugfix: don't assume memory is init'd to
+	  0. (segfault on 64bit FC5)
+
+2006-06-08 01:09  cho
+
+	* vector/v.in.dxf/add_3dface.c, vector/v.in.dxf/add_arc.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/read_dxf.c: comment
+
+2006-06-08 01:03  cho
+
+	* lib/gis/get_row.c: typo fixed
+
+2006-06-08 00:57  hamish
+
+	* raster/r.in.xyz/main.c: fix spelling in comment
+
+2006-06-08 00:48  cho
+
+	* vector/v.in.dxf/add_3dface.c, vector/v.in.dxf/add_arc.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/write_vect.c: header clean up
+
+2006-06-08 00:07  cho
+
+	* vector/v.in.dxf/add_3dface.c, vector/v.in.dxf/add_arc.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_lwpolyline.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/description.html, vector/v.in.dxf/dxf_to_vect.c,
+	  vector/v.in.dxf/global.h, vector/v.in.dxf/make_arc.c,
+	  vector/v.in.dxf/write_vect.c: 3DFACE import added
+
+2006-06-07 22:27  michael
+
+	* gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/georecttool.tcl:
+	  incooporate vector georectifying (v.transform), update, bug fix
+
+2006-06-07 22:26  michael
+
+	* gui/icons/drawmode-explore.gif, gui/icons/drawmode-strict.gif:
+	  icons easier to see
+
+2006-06-07 22:26  michael
+
+	* gui/icons/gui-gcpset.gif: icon for georectifier
+
+2006-06-07 22:09  cho
+
+	* vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/description.html,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/main.c, vector/v.in.dxf/write_vect.c: Entity
+	  column added
+
+2006-06-07 19:16  wolf
+
+	* vector/v.edit/Makefile, vector/v.edit/add.c,
+	  vector/v.edit/args.c, vector/v.edit/attr.c, vector/v.edit/del.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c: added del.c and
+	  support for adding cat to boundary (not tested throughly yet)
+
+2006-06-07 14:26  soeren
+
+	* lib/db/dbmilib.dox: Fixed the "doxygen function linking" issue
+
+2006-06-07 10:59  glynn
+
+	* lib/gis/error.c: Fix declaration of write_error() to match
+	  definition
+
+2006-06-07 07:12  hamish
+
+	* vector/v.clean/main.c: align threshold ascii border
+
+2006-06-07 06:46  hamish
+
+	* display/d.vect/main.c: make default fill color less gloomy.
+	  "gray" was ok when the default BG
+	  color was black, but it's too dark for a white BG.
+
+2006-06-07 06:36  hamish
+
+	* vector/v.digit/centre.c: zoom out as sqrt(2)
+
+2006-06-07 05:40  glynn
+
+	* raster/r.mapcalc/mapcalc.y, raster/r.mapcalc/r.mapcalc.html: Fix
+	  precedence of unary not (!) operator
+
+2006-06-07 05:11  hamish
+
+	* scripts/d.out.gpsdrive/description.html: typo is script
+
+2006-06-07 05:04  hamish
+
+	* raster/r.in.xyz/description.html: v.in.ascii needs -z
+
+2006-06-06 22:55  michael
+
+	* gui/tcltk/gis.m/description.html: Corrected typo (gis.m to
+	  restart gis manager, not d.m)
+
+2006-06-06 20:09  brad
+
+	* lib/gis/closecell.c, lib/gis/format.c, lib/gis/open.c: -
+	  portability update
+
+2006-06-06 20:05  brad
+
+	* lib/gis/get_row.c: - portability update
+	  - localized text
+
+2006-06-06 20:01  brad
+
+	* lib/gis/put_row.c: - portability update
+
+2006-06-06 15:09  cho
+
+	* vector/v.in.dxf/main.c: free memory
+
+2006-06-06 15:09  hamish
+
+	* raster/r.in.xyz/description.html: note r.to.vect -b flag
+
+2006-06-06 15:06  cho
+
+	* vector/v.in.dxf/main.c, vector/v.in.dxf/write_vect.c: The bug
+	  fixed that fails to build topology
+
+2006-06-06 14:46  hamish
+
+	* raster/r.to.vect/main.c: add flag to not build topology. (for
+	  r.in.xyz + v.surf.rst)
+
+2006-06-06 12:42  hamish
+
+	* lib/db/dbmi_base/valuefmt.c: whitespace
+
+2006-06-06 12:41  hamish
+
+	* lib/db/dbmi_base/valuefmt.c: use G_trim_decimal() on
+	  DB_C_TYPE_DOUBLE columns in db_convert_value_to_string()
+
+2006-06-06 07:21  wolf
+
+	* vector/v.edit/add.c, vector/v.edit/args.c, vector/v.edit/attr.c,
+	  vector/v.edit/main.c: Added support for centroids, boundaries in
+	  add. bugfixes. Added support for
+	  choosing your own cat with cat option (in add)
+
+2006-06-06 06:19  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/make_arc.c: Removed outdated credits from
+	  individual files
+
+2006-06-06 04:28  cho
+
+	* raster/r.watershed/front/description.html: typo fixed
+
+2006-06-06 03:22  cho
+
+	* raster/r.mapcalc/r.mapcalc.html: Added ! to the operator table
+
+2006-06-06 02:32  hamish
+
+	* raster/r.in.xyz/description.html, raster/r.in.xyz/main.c: minor
+	  refinements
+
+2006-06-06 02:03  brad
+
+	* lib/D/Dcell.c, lib/D/Dchoose.c, lib/D/Dclear.c, lib/D/Derase.c,
+	  lib/D/Dnew.c, lib/D/Dremove.c, lib/D/Dscreen.c: - localize text
+	  - added docbook function 'headers'
+
+2006-06-06 01:17  brad
+
+	* lib/gis/error.c: - proper usage of time()
+	  - removed access() call - portability reasons (fopen() is
+	  sufficient)
+	  - made local function params 'const' where applicable
+
+2006-06-06 00:15  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/pkgIndex.tcl: update
+	  for TclTk georectifying module
+
+2006-06-06 00:11  michael
+
+	* gui/tcltk/gis.m/georect.tcl, gui/tcltk/gis.m/georecttool.tcl:
+	  TclTk georectifying module - rms error calculation still not
+	  working.
+
+2006-06-06 00:10  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl:
+	  update for new georectify module
+
+2006-06-06 00:10  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: minor code cleanup
+
+2006-06-06 00:07  michael
+
+	* gui/icons/drawmode-explore.gif, gui/icons/drawmode-strict.gif:
+	  made icons easier to see
+
+2006-06-06 00:07  michael
+
+	* gui/icons/gui-gcperase.gif, gui/icons/gui-georect.gif,
+	  gui/icons/gui-rms.gif: icons for TclTk georectify module
+
+2006-06-05 20:50  glynn
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c: Don't print to stdout before
+	  G_parser() returns; breaks --tcltk etc.
+
+2006-06-05 20:16  cho
+
+	* raster/r.mapcalc/mapcalc.l, raster/r.mapcalc/mapcalc.y: !exp_pow
+	  implemented: !isnull() did not work as described in
+	  r.mapcalc.html.
+
+2006-06-05 04:56  hamish
+
+	* raster/r.in.xyz/main.c: final G_percent() flush to make the GUI
+	  happy
+
+2006-06-05 04:47  hamish
+
+	* raster/r.in.xyz/main.c: use G_percent_reset()
+
+2006-06-05 04:46  hamish
+
+	* include/gisdefs.h, lib/gis/percent.c: add G_percent_reset()
+
+2006-06-05 04:30  hamish
+
+	* raster/r.in.xyz/main.c: G_percent() needs to be flushed to
+	  restart at 0%
+
+2006-06-05 04:18  hamish
+
+	* raster/r.in.xyz/main.c: check for perc more often
+
+2006-06-05 04:15  hamish
+
+	* raster/r.in.xyz/main.c: add G_percent() to scan step. POTENTIAL
+	  POINT OF WEAKNESS FOR LFS ???
+
+2006-06-05 03:20  hamish
+
+	* raster/r.in.xyz/description.html: minor wording
+
+2006-06-05 03:16  hamish
+
+	* raster/r.in.xyz/description.html: table cosmetic
+
+2006-06-05 03:12  hamish
+
+	* raster/r.in.xyz/description.html: add notes, remove non-bug
+
+2006-06-05 02:48  hamish
+
+	* raster/r.in.xyz/main.c: msg cosmetic
+
+2006-06-05 02:47  hamish
+
+	* raster/r.in.xyz/main.c: include points found in region metric in
+	  done message.
+
+2006-06-05 02:07  hamish
+
+	* raster/r.in.xyz/main.c: comment out some low priority debug
+	  messages to speed up the loop
+
+2006-06-04 05:52  hamish
+
+	* raster/r.in.xyz/description.html: list available statistics
+
+2006-06-04 05:39  hamish
+
+	* scripts/d.out.gpsdrive/description.html: updated tiling script
+	  from Manuel Morales
+
+2006-06-03 17:31  glynn
+
+	* configure, configure.in: Use empty rather than 0 for HAVE_SOCKET
+	  "false" value
+
+2006-06-03 15:27  hamish
+
+	* raster/r.in.xyz/main.c: fill "Data Source:" line 1 with input
+	  filename
+
+2006-06-03 12:51  hamish
+
+	* raster/r.in.xyz/description.html: new r.in.xyz module for loading
+	  and binning ungridded x,y,z ASCII data
+
+2006-06-03 08:43  brad
+
+	* lib/gis/closecell.c: - localized text
+	  - updated debug code
+
+2006-06-03 08:30  hamish
+
+	* scripts/d.out.gpsdrive/description.html: less frightening
+	  disclaimer
+
+2006-06-03 08:27  hamish
+
+	* scripts/d.out.gpsdrive/description.html: batch export script
+	  donated by Manuel Morales <Manuel.A.Morales at williams.edu>
+
+2006-06-03 08:17  brad
+
+	* lib/gis/get_row.c, lib/gis/put_row.c: - localized text
+
+2006-06-03 08:06  hamish
+
+	* raster/r.in.xyz/main.c: g.region hint in scan debug messages
+
+2006-06-03 07:45  brad
+
+	* display/d.profile/DumpProfile.c, display/d.profile/Range.c: -
+	  fixed minor compiler warnings
+
+2006-06-03 06:40  brad
+
+	* lib/btree/update.c: - added parenthesis around truth statement
+
+2006-06-03 00:37  glynn
+
+	* lib/pngdriver/Makefile: Fix ordering of includes
+
+2006-06-02 23:10  glynn
+
+	* imagery/i.smap/shapiro/Makefile, lib/driver/command.c,
+	  lib/gis/asprintf.c: Portability fixes:
+	  mingw doesn't like trailing / in -I switches
+	  "eof" is used by mingw's io.h
+	  don't forcibly define HAVE_ASPRINTF;
+	  if configure says asprintf() isn't present, then it isn't
+
+2006-06-02 22:57  glynn
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  include/config.h.in: Record results of test for socket()
+
+2006-06-02 21:05  glynn
+
+	* lib/gis/location.c: Remove use of get[e]uid() - not portable
+
+2006-06-02 16:18  brad
+
+	* raster/r.carve/main.c, raster/r.carve/support.c: - fix raster
+	  history output
+	  - better usage of G_done_msg()
+
+2006-06-02 15:41  brad
+
+	* lib/display/list.c: - added parenthesis around truth statements
+
+2006-06-02 08:21  hamish
+
+	* doc/raster/r.example/main.c: history
+
+2006-06-02 07:31  hamish
+
+	* raster/r.in.xyz/main.c: CELL -> FCELL for default map type
+	  merge stddev,var,covar calculations as all dep on variance
+	  bugfix: multi-pass rasters were counting the same points twice
+	  and
+	  write beyond the number of rows in the array
+
+2006-06-02 05:54  brad
+
+	* raster/r.to.vect/README, raster/r.to.vect/areas.c,
+	  raster/r.to.vect/areas_io.c, raster/r.to.vect/global.h,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/lines.h,
+	  raster/r.to.vect/lines_io.c, raster/r.to.vect/main.c,
+	  raster/r.to.vect/points.c, raster/r.to.vect/util.c: - localized
+	  text
+	  - used G_message/warning/fatal_error()
+	  - added progress meters and quiet flag
+	  - updated and better scoped code
+	  - removed lines.h - all functions now static in lines.c
+
+2006-06-02 05:12  brad
+
+	* lib/image/local_proto.h, lib/image/open.c: - made imgopen()
+	  static - does not need to be exported
+
+2006-06-01 18:17  hamish
+
+	* raster/Makefile: new r.in.xyz module to load and bin ungridded
+	  x,y,z ASCII data.
+	  (e.g. zillions of LIDAR or sidescan sonar data points)
+
+2006-06-01 17:53  hamish
+
+	* raster/r.in.xyz, raster/r.in.xyz/Makefile,
+	  raster/r.in.xyz/local_proto.h, raster/r.in.xyz/main.c,
+	  raster/r.in.xyz/support.c: new module to load and bin ungridded
+	  x,y,z ASCII data.
+	  (e.g. zillions of LIDAR or sidescan sonar data points)
+
+2006-06-01 17:40  glynn
+
+	* display/drivers/Makefile, display/drivers/PNG/Box.c,
+	  display/drivers/PNG/Can_do.c, display/drivers/PNG/Client.c,
+	  display/drivers/PNG/Color.c, display/drivers/PNG/Color_table.c,
+	  display/drivers/PNG/Draw_line.c,
+	  display/drivers/PNG/Draw_point.c, display/drivers/PNG/Erase.c,
+	  display/drivers/PNG/Graph_close.c,
+	  display/drivers/PNG/Graph_set.c,
+	  display/drivers/PNG/Line_width.c, display/drivers/PNG/Makefile,
+	  display/drivers/PNG/Raster_RGB.c,
+	  display/drivers/PNG/Raster_int.c, display/drivers/PNG/Respond.c,
+	  display/drivers/PNG/pngdriver.h, display/drivers/PNG/write.c,
+	  display/drivers/PNG/write_png.c, display/drivers/PNG/write_ppm.c,
+	  display/drivers/XDRIVER/Makefile, display/drivers/lib,
+	  include/Make/Grass.make.in, include/config.h.in, lib/Makefile,
+	  lib/driver, lib/driver/Box.c, lib/driver/Can_do.c,
+	  lib/driver/Client.c, lib/driver/Color.c,
+	  lib/driver/Color_table.c, lib/driver/Cont.c, lib/driver/Draw.c,
+	  lib/driver/Erase.c, lib/driver/Font.c, lib/driver/Get_location.c,
+	  lib/driver/Get_t_box.c, lib/driver/Graph.c,
+	  lib/driver/Line_width.c, lib/driver/Makefile, lib/driver/Move.c,
+	  lib/driver/Num_colors.c, lib/driver/Panel.c,
+	  lib/driver/Polydots.c, lib/driver/Polygon.c,
+	  lib/driver/Polyline.c, lib/driver/Raster_RGB.c,
+	  lib/driver/Raster_char.c, lib/driver/Raster_int.c,
+	  lib/driver/Reset_colors.c, lib/driver/Respond.c,
+	  lib/driver/Returns.c, lib/driver/Set_window.c, lib/driver/Text.c,
+	  lib/driver/Text_size.c, lib/driver/Work.c, lib/driver/clip.c,
+	  lib/driver/color_support.c, lib/driver/colors.txt,
+	  lib/driver/command.c, lib/driver/connect_fifo.c,
+	  lib/driver/connect_sock.c, lib/driver/driver.h,
+	  lib/driver/driverlib.h, lib/driver/font2.c,
+	  lib/driver/font_freetype.c, lib/driver/init.c, lib/driver/main.c,
+	  lib/driver/pad.c, lib/driver/pad.h, lib/driver/text2.c,
+	  lib/driver/text3.c, lib/pngdriver, lib/pngdriver/Box.c,
+	  lib/pngdriver/Can_do.c, lib/pngdriver/Client.c,
+	  lib/pngdriver/Color.c, lib/pngdriver/Color_table.c,
+	  lib/pngdriver/Draw_line.c, lib/pngdriver/Draw_point.c,
+	  lib/pngdriver/Erase.c, lib/pngdriver/Graph_close.c,
+	  lib/pngdriver/Graph_set.c, lib/pngdriver/Line_width.c,
+	  lib/pngdriver/Makefile, lib/pngdriver/Raster_RGB.c,
+	  lib/pngdriver/Raster_int.c, lib/pngdriver/Respond.c,
+	  lib/pngdriver/pngdriver.h, lib/pngdriver/write.c,
+	  lib/pngdriver/write_png.c, lib/pngdriver/write_ppm.c:
+	  Refactoring:
+	  Move display/drivers/lib to lib/driver
+	  Move bulk of PNG driver code to lib/pngdriver
+
+2006-06-01 17:37  glynn
+
+	* tools/sql.sh: Increase size of "symbol" field to handle long C++
+	  symbols from GDAL
+
+2006-06-01 14:52  markus
+
+	* TODO: cleanup
+
+2006-06-01 11:53  markus
+
+	* doc/vector/TODO: broken long lines (layout)
+
+2006-06-01 10:19  markus
+
+	* raster/r.carve/description.html: example added
+
+2006-06-01 07:31  cho
+
+	* vector/v.proj/main.c: exit status
+
+2006-06-01 07:24  markus
+
+	* doc/debugging.txt: NVIZ debug tip
+
+2006-06-01 07:24  cho
+
+	* vector/v.proj/main.c: standard options for vector input/output
+
+2006-06-01 00:55  brad
+
+	* include/gis.h: - added macros for type size independent integers
+	  via serialization
+
+2006-05-31 21:29  glynn
+
+	* display/drivers/PNG/Makefile, display/drivers/PNG/main.c,
+	  display/drivers/PNG/pngdriver.h, display/drivers/PNG/write.c,
+	  display/drivers/PNG/write_png.c, display/drivers/PNG/write_ppm.c,
+	  display/drivers/XDRIVER/main.c, display/drivers/lib/Makefile,
+	  display/drivers/lib/driver.h, display/drivers/lib/init.c,
+	  display/drivers/lib/main.c, display/drivers/lib/pad.c,
+	  display/drivers/lib/pad.h: Clean-up and refactoring:
+	  Move PPM/PNG writing code to separate files
+	  Separate driverlib initialisation from main loop
+	  Add "const" to pad functions
+
+2006-05-31 16:49  hamish
+
+	* lib/gis/raster.c: cleanup comments
+
+2006-05-31 13:21  hamish
+
+	* doc/vector/vector.html: "Y X" to "X Y"
+
+2006-05-31 13:03  hamish
+
+	* vector/v.in.ascii/description.html: explain face,kernel
+
+2006-05-31 13:00  hamish
+
+	* doc/vector/vector.html: add face, kernel. html bugs
+
+2006-05-31 07:48  brad
+
+	* raster/Makefile: - adding r.carve back in
+
+2006-05-31 07:46  brad
+
+	* raster/r.carve/raster.c: - forgot to add new file
+
+2006-05-31 07:44  brad
+
+	* raster/r.carve/README, raster/r.carve/enforce.h,
+	  raster/r.carve/enforce_ds.c, raster/r.carve/lobf.c,
+	  raster/r.carve/main.c, raster/r.carve/support.c,
+	  raster/r.carve/vect.c: - bugs fixed
+	  - cleanup
+	  - tested against spearfish and data from Maciek (with MASK)
+
+2006-05-30 11:06  hamish
+
+	* db/drivers/postgres/pg.html: more merge from
+	  web/grass57/tutorial/links.html (links still need a better home?)
+
+2006-05-30 11:04  hamish
+
+	* db/databaseintro.html: merge in from
+	  web/grass57/tutorial/links.html
+
+2006-05-30 10:49  hamish
+
+	* db/drivers/postgres/pg.html: merge in info from
+	  web/grass57/tutorial/links.html
+
+2006-05-30 10:18  hamish
+
+	* lib/db/sqlp/description.html: html bugs mostly
+
+2006-05-30 10:06  hamish
+
+	* lib/db/sqlp/description.html: merge in reference text from
+	  web/grass57/tutorial/links.html
+
+2006-05-30 09:35  markus
+
+	* lib/init/gis_set.tcl: fixed odd wording
+
+2006-05-30 09:13  hamish
+
+	* db/databaseintro.html: add link to sql examples
+
+2006-05-30 09:05  hamish
+
+	* vector/v.hull/description.html, vector/v.hull/v_hull.png: add
+	  diagram
+
+2006-05-30 04:06  glynn
+
+	* lib/db/dbmi_client/select.c, vector/v.reclass/main.c: Make
+	  cmpcat() static to avoid conflict
+
+2006-05-30 04:06  glynn
+
+	* display/d.extend/Makefile, general/g.setproj/Makefile,
+	  raster/r.resamp.rst/Makefile, raster/r.support/modhead/Makefile,
+	  raster/simwe/r.sim.sediment/Makefile,
+	  raster/simwe/r.sim.water/Makefile, vector/v.in.sites/Makefile,
+	  visualization/nviz/src/Makefile: Fix ordering of libraries so
+	  that --disable-shared works
+
+2006-05-29 08:47  hamish
+
+	* lib/gis/parser.c: tense of preposition for new maps
+
+2006-05-29 08:25  wolf
+
+	* vector/v.edit/add.c, vector/v.edit/args.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c: Removed -n flag,
+	  added 'create' to the 'action' option. Added option snap,
+	  to snap points to existing ones in map units.
+
+2006-05-29 06:37  markus
+
+	* locale/po/grasstcl_pt_br.po: Paulo Marcondes <paulomarcondes
+	  gmail.com>: initial translation
+
+2006-05-28 21:20  soeren
+
+	* vector/v.out.vtk/description.html, vector/v.out.vtk/head.c,
+	  vector/v.out.vtk/local_proto.h, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c, vector/v.out.vtk/writeVTK.h: Rewrite
+	  of v.out.vtk.
+	  Now more then one vector type can be exported in a vtk file.
+
+2006-05-28 16:43  stephan
+
+	* locale/po/grasstcl_de.po: + german tcltk-messages
+
+2006-05-28 05:16  brad
+
+	* raster/r.carve/lobf.c: - Fix swapping error.
+
+2006-05-27 21:40  markus
+
+	* lib/gis/location.c: restored strange formatting problem
+
+2006-05-27 21:39  markus
+
+	* lib/gis/location.c: also print reuid and euid
+
+2006-05-27 21:30  markus
+
+	* lib/gis/location.c: translate error into human-readable form
+
+2006-05-27 20:03  soeren
+
+	* raster/r.out.vtk/description.html, raster/r.out.vtk/globaldefs.h,
+	  raster/r.out.vtk/main.c, raster/r.out.vtk/parameters.c,
+	  raster/r.out.vtk/parameters.h, raster/r.out.vtk/writeascii.c,
+	  raster/r.out.vtk/writeascii.h: Added vector data support,
+	  refracturated the code and extended the documentation.
+
+2006-05-27 16:49  soeren
+
+	* raster3d/r3.out.vtk/errorHandling.c,
+	  raster3d/r3.out.vtk/errorHandling.h,
+	  raster3d/r3.out.vtk/globalDefs.h, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.out.vtk/parameters.c,
+	  raster3d/r3.out.vtk/parameters.h,
+	  raster3d/r3.out.vtk/writeVTKData.c,
+	  raster3d/r3.out.vtk/writeVTKData.h,
+	  raster3d/r3.out.vtk/writeVTKHead.c,
+	  raster3d/r3.out.vtk/writeVTKHead.h: Code cleaning and
+	  refracturing.
+	  Splitted the huge main.c file in several files for better reading
+	  and code understanding.
+
+2006-05-27 10:07  wolf
+
+	* vector/v.edit/add.c, vector/v.edit/attr.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c: Added support for
+	  lines and layers. Improved error handling, but there is
+	  still a probblem with printing fatal error messages to the GUI.
+	  I'd need a
+	  G_error that would work like G_fatal_error ,except that it
+	  wouldn't call exit.
+
+2006-05-26 21:42  wolf
+
+	* vector/v.edit/add.c, vector/v.edit/args.c, vector/v.edit/attr.c,
+	  vector/v.edit/global.h: Added attr.c and some new flags.
+
+2006-05-26 21:07  markus
+
+	* vector/v.out.vtk/description.html, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c: changed feature to type for
+	  consistency; fixed user messages
+
+2006-05-26 19:52  markus
+
+	* swig/python, swig/python/Makefile, swig/python/README,
+	  swig/python/TODO, swig/python/grass, swig/python/grass.i,
+	  swig/python/grass/P_datetime.h, swig/python/grass/config.h,
+	  swig/python/grass/datetime.h, swig/python/grass/gis.h,
+	  swig/python/grass/gisdefs.h, swig/python/grass/imagedefs.h,
+	  swig/python/grass/imagery.h, swig/python/include,
+	  swig/python/include/gis.h, swig/python/include/gisdefs.h,
+	  swig/python/include/grass,
+	  swig/python/include/grass/P_datetime.h,
+	  swig/python/include/grass/config.h,
+	  swig/python/include/grass/datetime.h,
+	  swig/python/include/grass/gis.h,
+	  swig/python/include/grass/gisdefs.h,
+	  swig/python/include/grass/imagedefs.h,
+	  swig/python/include/grass/imagery.h,
+	  swig/python/include/imagedefs.h, swig/python/include/imagery.h,
+	  swig/python/interfaces, swig/python/interfaces/gis.i,
+	  swig/python/interfaces/gisdefs.i,
+	  swig/python/interfaces/imagedefs.i,
+	  swig/python/interfaces/imagery.i, swig/python/my_typemaps.i,
+	  swig/python/python_grass6.i, swig/python/renames.i,
+	  swig/python/test.py: Sajith VK <sajithvk at gmail.com>: initial
+	  Python GRASS-SWIG interface
+
+2006-05-26 19:32  glynn
+
+	* imagery/i.fft/fftmain.c, imagery/i.ifft/ifftmain.c,
+	  imagery/i.zc/main.c, include/gisdefs.h, lib/gis/gisinit.c,
+	  lib/gis/parser.c, lib/gis/progrm_nme.c, lib/gis/store.c,
+	  raster/r.in.arc/gethead.c, raster/r.in.ascii/gethead.c,
+	  raster/r.info/main.c, raster3d/base/r3.info.main.c,
+	  visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/draw.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/site_attr_commands.c,
+	  visualization/nviz/src/site_highlight_commands.c,
+	  visualization/nviz/src/togl_flythrough.c: Add "const" in various
+	  places to eliminate compiler warnings
+
+2006-05-26 16:13  wolf
+
+	* vector/v.edit/add.c, vector/v.edit/args.c,
+	  vector/v.edit/global.h, vector/v.edit/main.c: Added
+	  error-handling code, and support for adding attributes.
+
+2006-05-26 14:37  radim
+
+	* vector/v.in.db/main.c: buffer bug by Stefano Merler
+	  (merler at itc.it)
+
+2006-05-26 13:50  radim
+
+	* vector/v.distance/main.c: Don't free catexists if all (fix by
+	  Stefano Merlo, ITC-irst, merler at itc.it)
+
+2006-05-26 10:40  wolf
+
+	* vector/v.edit, vector/v.edit/Makefile, vector/v.edit/add.c,
+	  vector/v.edit/args.c, vector/v.edit/cat.c,
+	  vector/v.edit/description.html, vector/v.edit/global.h,
+	  vector/v.edit/main.c: Initial revision of v.edit
+
+2006-05-26 08:44  hamish
+
+	* vector/v.to.rast/description.html: wording
+
+2006-05-26 08:37  hamish
+
+	* vector/v.to.rast/description.html: fix several HTML bugs (yay
+	  Dillo!)
+
+2006-05-26 03:27  brad
+
+	* lib/gis/legal_name.c: - Simple documentation correction
+
+2006-05-25 20:43  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Updated icons for menu buttons
+
+2006-05-25 20:42  michael
+
+	* gui/icons/gui-filesave.gif, gui/icons/gui-mapzoom.gif: Added
+	  visual cue to differentiate menu buttons from normal
+	  buttons in map display toolbar.
+
+2006-05-25 19:58  markus
+
+	* vector/v.to.rast/description.html: typo fixed
+
+2006-05-25 19:55  cedric
+
+	* visualization/nviz/src/draw.c,
+	  visualization/nviz/src/mkdspf_calc_linefax.c,
+	  visualization/nviz/src/position.c: Memory allocated by Tcl must
+	  be freed by Tcl_Free.
+
+2006-05-25 17:28  cedric
+
+	* visualization/nviz/src/anim_support.c: Memory allocated by Tcl
+	  must be freed by Tcl_Free. Closes bug 4246.
+
+2006-05-25 15:05  stephan
+
+	* locale/po/grassmods_de.po: + more i18n german translations.
+
+2006-05-25 12:45  markus
+
+	* include/Make/Html.make: Glynn Clements: Test if file is a script
+	  (bug #4498)
+
+2006-05-25 11:25  markus
+
+	* lib/gis/is.c: added missing include file
+
+2006-05-24 20:32  soeren
+
+	* raster3d/r3.to.rast/description.html, raster3d/r3.to.rast/main.c:
+	  Added flag "-r". The output 2d raster maps can now be created
+	  with the 2d resolution
+	  of the G3D input map, independently from the current region
+	  settings.
+
+2006-05-24 15:16  radim
+
+	* include/gis.h, include/gisdefs.h, lib/gis/is.c, lib/gis/list.c:
+	  G_is_gisbase, G_is_location, G_is_mapset, G_list
+
+2006-05-24 12:47  radim
+
+	* lib/db/dbmi_client/start.c: more info on MS pipes
+
+2006-05-24 09:36  radim
+
+	* doc/vector/TODO: vector TODO/testament
+
+2006-05-24 09:10  hamish
+
+	* include/Make/Html.make: html bug
+
+2006-05-24 08:51  hamish
+
+	* vector/v.voronoi/v.delaunay.html,
+	  vector/v.voronoi/v.voronoi.html,
+	  vector/v.voronoi/v_voronoi_delaunay.png: add diagram, example
+
+2006-05-24 08:09  hamish
+
+	* vector/v.voronoi/dt_main.c, vector/v.voronoi/vo_main.c: i18n,
+	  Voronoi triangulation -> Voronoi diagram
+
+2006-05-24 05:02  hamish
+
+	* lib/gis/parser.c: cosmetic: G_usage(),html. Move --overwrite to
+	  end of list, and expand it
+	  when doing so doesn't make things ugly. (and subtle hint that --o
+	  works too)
+
+2006-05-24 02:49  hamish
+
+	* raster/r.sun/description.html: expand citation
+
+2006-05-23 16:50  michael
+
+	* raster/r.lake/description.html: Improved English of description.
+
+2006-05-23 16:16  michael
+
+	* gui/tcltk/gis.m/profile.tcl: bug fix for redrawing profile.
+
+2006-05-23 14:44  radim
+
+	* lib/db/dbmi_client/start.c: increase pipe buffer on Windows
+
+2006-05-23 14:35  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: reverted
+	  last change upon translator request
+
+2006-05-23 14:33  radim
+
+	* lib/db/dbmi_driver/driver.c: close file discriptors from 3 up
+
+2006-05-23 12:49  hamish
+
+	* visualization/nviz/html/nviz_panel_scale.html,
+	  visualization/nviz/html/nviz_toc.html: updates to reflect recent
+	  changes in the code
+
+2006-05-23 12:22  hamish
+
+	* visualization/nviz/html/help_frame.tcl: nviz docs have moved
+
+2006-05-23 12:09  radim
+
+	* lib/gis/debug.c: flush debug
+
+2006-05-23 11:38  hamish
+
+	* visualization/nviz/scripts/panel_scale.tcl: rename panel
+
+2006-05-23 11:31  hamish
+
+	* visualization/nviz/src/togl_flythrough.c: bugfix: fringe EW was
+	  swapped for main redraw
+
+2006-05-23 11:24  markus
+
+	* scripts/v.db.addcol/v.db.addcol: better error message
+
+2006-05-23 07:30  markus
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ko.po,
+	  locale/po/grasslibs_lv.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_tr.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_hi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ko.po, locale/po/grassmods_lv.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_sl.po, locale/po/grassmods_tr.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po,
+	  locale/po/grasstcl_de.po, locale/po/grasstcl_fr.po,
+	  locale/po/grasstcl_ja.po: merged new messages into po files
+
+2006-05-23 07:27  markus
+
+	* locale/po/grasslibs_pt_br.po: Paulo Marcondes <paulomarcondes
+	  gmail.com>: cont'ed
+
+2006-05-22 13:33  markus
+
+	* vector/v.in.sites/main.c, vector/v.surf.rst/main.c: fixed GRASS 5
+	  leftover
+
+2006-05-22 13:32  markus
+
+	* vector/v.in.db/main.c: fixed output overwrite control; fixed
+	  check for existing table to look in *target* mapset instead of DB
+	  source
+
+2006-05-21 22:09  markus
+
+	* raster/Makefile: r.lake added
+
+2006-05-21 22:09  markus
+
+	* raster/r.lake, raster/r.lake/Makefile,
+	  raster/r.lake/description.html, raster/r.lake/main.c: Maris
+	  Nartiss <maris.nartiss gmail.com>: new module added
+
+2006-05-21 21:37  soeren
+
+	* raster3d/r3.out.vtk/description.html, raster3d/r3.out.vtk/main.c:
+	  Added support for cell-data (an unstructured grid will be
+	  created) if top and bottom surfaces are requested.
+	  cell-data is default, point-data can be enabled with the -p flag.
+	  Made a notice in the description.
+
+2006-05-21 09:54  glynn
+
+	* visualization/nviz/src/Makefile,
+	  visualization/nviz/src/do_zoom.c,
+	  visualization/nviz/src/togl_ws.h: Portability fixes
+
+2006-05-20 22:50  soeren
+
+	* raster3d/base/r3.info.main.c: help cosmetic
+
+2006-05-20 22:49  soeren
+
+	* raster3d/base/r3.info.main.c: Added -h flag for history output,
+	  now r3.info has the same flags like r.info.
+
+2006-05-20 13:37  glynn
+
+	* visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/src/togl.c, visualization/nviz/src/togl.h,
+	  visualization/nviz/src/togl_ws.h: Update Togl to 1.7
+
+2006-05-20 13:35  glynn
+
+	* visualization/nviz/src/Makefile,
+	  visualization/nviz/src/interface.h: Clean-ups to eliminate
+	  warnings:
+	  Makefile: Don't define __STDC__; that's the compiler's job
+	  interface.h: add empty "struct Map_info" declaration
+
+2006-05-19 21:46  michael
+
+	* gui/tcltk/gis.m/profile.tcl: Fixed a bug in the destroy window
+	  procedure.
+
+2006-05-19 21:19  michael
+
+	* lib/gtcltk/options.tcl: Changed mouse over balloon help from bold
+	  to normal
+
+2006-05-19 21:02  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: changed a comment for hotkeys
+
+2006-05-19 21:01  michael
+
+	* gui/tcltk/gis.m/pkgIndex.tcl: Added profile.tcl to source list
+
+2006-05-19 20:10  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Added mouse over help for remaining
+	  tools. Added option to set
+	  current region (WIND file) to match display zoom. Added button
+	  for new profile tool. Rearranged buttons to group similar
+	  functions.
+	  
+	  Support for hot-key tool switching (i,o,p,?,m and z,t,a,q,d for
+	  switching between zoom-in, zoom-out, pan, query, and measure). By
+	  Trevor Wiens.
+
+2006-05-19 20:05  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Added support for TclTk profile
+	  tool. New hot keys for quick tool
+	  switching (by Trevor Wiens). Changed one-click zoom to large
+	  value.
+
+2006-05-19 20:03  michael
+
+	* gui/tcltk/gis.m/profile.tcl: New profile tool written in TclTk
+
+2006-05-19 19:54  michael
+
+	* gui/icons/gui-profile.gif, gui/icons/gui-profiledefine.gif,
+	  gui/icons/gui-profiledraw.gif: new icons for TckTk profiler
+
+2006-05-19 18:32  markus
+
+	* locale/po/grasslibs_pl.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grassmods_pl.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grasstcl_pl.po, locale/po/grasstcl_pt_br.po: New
+	  messages merged into; new tcl message file
+
+2006-05-19 10:08  glynn
+
+	* visualization/nviz/src/togl_cb.c,
+	  visualization/nviz/src/togl_flythrough.c: Remove (unnecessary)
+	  use of X11 headers
+
+2006-05-19 08:38  markus
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po: Artur
+	  Niescior: cont'ed
+
+2006-05-18 21:55  markus
+
+	* scripts/i.image.mosaic/i.image.mosaic: fix for path
+
+2006-05-18 13:16  radim
+
+	* vector/v.buffer/main.c: dont assign category to boundaries
+
+2006-05-18 09:35  markus
+
+	* vector/v.extract/description.html: island removal
+
+2006-05-18 08:44  markus
+
+	* lib/index.dox: made gis more outstanding
+
+2006-05-18 04:37  hamish
+
+	* SUBMITTING_SCRIPTS: cleaner use of g.findfile
+
+2006-05-18 01:35  hamish
+
+	* lib/gis/parser.c: add some comments about sanitary G_parser()
+	  usage
+
+2006-05-17 19:33  cho
+
+	* display/d.vect/area.c, display/d.vect/plot1.c: initialize
+	  variables
+
+2006-05-17 14:09  glynn
+
+	* lib/gis/put_window.c: Observer WIND_OVERRIDE when writing region
+
+2006-05-17 12:26  glynn
+
+	* general/g.region/cmd/main.c: Use G_get_window() so that
+	  WIND_OVERRIDE and GRASS_REGION work
+
+2006-05-17 11:51  markus
+
+	* vector/v.extract/main.c: fixed position of G_gisinit ()
+
+2006-05-17 08:45  markus
+
+	* vector/v.patch/main.c: Martin Landa <landa.martin gmail.com>:
+	  test for 3D added; i18N
+
+2006-05-17 02:19  cho
+
+	* display/d.vect/main.c: wcol_opt -> wcolumn_opt
+
+2006-05-17 00:48  hamish
+
+	* display/d.vect/main.c: update ref to wcol
+
+2006-05-17 00:45  hamish
+
+	* display/d.vect/main.c: wcol -> wcolumn. don't abbreviate (harder
+	  to understand), the parser can take care of that.
+
+2006-05-16 22:03  cho
+
+	* raster/r.info/main.c: G_asprintf test bug fixed
+
+2006-05-16 21:11  cho
+
+	* display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/label.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot1.c: Added wcol= and
+	  wscale= options to handle line width based on the attribute
+
+2006-05-16 20:59  cho
+
+	* display/d.vect/main.c: _quiet -> quiet_flag
+
+2006-05-16 20:58  cho
+
+	* display/d.vect/main.c: removed an unused global variable
+
+2006-05-16 19:25  cho
+
+	* display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/main.c,
+	  display/d.vect/topo.c, display/d.vect/zcoor.c: removed
+	  unnecessary R_line_width() calls
+
+2006-05-16 17:27  cedric
+
+	* locale/Makefile: Don't search the distribution directory for tcl
+	  strings.
+
+2006-05-16 17:24  cedric
+
+	* lib/gis/parser.c: Fixed --o (the else before --ui). Made --o and
+	  --ui match strictly.
+
+2006-05-16 13:45  markus
+
+	* general/g.findfile/description.html: example expanded
+
+2006-05-16 09:12  markus
+
+	* raster/r.info/main.c: fixed missing newline; msg cosmetics
+
+2006-05-16 09:10  markus
+
+	* raster/r.timestamp/main.c: G_OPT_R_MAP; exit status
+
+2006-05-16 07:21  markus
+
+	* general/g.mapsets/g.mapsets.tcl: Cedric Shock: mouse wheel
+	  support added
+
+2006-05-16 03:49  cedric
+
+	* lib/init/epsg_option.tcl.in, lib/init/file_option.tcl,
+	  lib/init/gis_set.tcl, lib/init/help.tcl: Lifted strings for
+	  translation.
+
+2006-05-16 00:42  hamish
+
+	* raster/r.out.pov/main.c: big cleanup:
+	  don't call G_percent on every cell (bug #3117), call when done;
+	  remove unused variables;
+	  cleanup G_fatal_error, G_warning;
+	  EXIT_SUCCESS;
+	  sscanf types;
+	  too many input variables for sprintf (XMAX,YMAX test)
+	  
+	  note:
+	  fmt unused and wrong. bias unused and hfBias used uninitialized.
+	  too many globals.
+
+2006-05-15 18:55  cho
+
+	* INSTALL: typo fixed
+
+2006-05-15 18:02  cho
+
+	* raster/r.topidx/topidx.c: array index fixed
+
+2006-05-15 02:02  hamish
+
+	* raster/r.patch/description.html: add example,
+	  ubiquitous </p> html bug
+
+2006-05-15 01:51  hamish
+
+	* display/d.vect/description.html: note how to avoid filling
+	  holes/islands.
+	  ubiquitous </p> html bug
+
+2006-05-13 21:51  cedric
+
+	* lib/gis/parser.c: --ui code simplified, works as any argument
+
+2006-05-12 19:06  markus
+
+	* raster/r.univar2/main.c: print NULL cells also with -q; EXIT_*;
+	  G_OPT_R_MAP macro
+
+2006-05-12 10:04  markus
+
+	* raster/r.mapcalc/r.mapcalc.html: HTML cosmetics, author added
+
+2006-05-12 08:27  markus
+
+	* raster/r.patch/description.html: g.region trick added
+
+2006-05-12 06:44  cedric
+
+	* gui/tcltk/gis.m/gm.tcl: Detects if grass database elements (i.e.
+	  cell) exist correctly.
+
+2006-05-12 06:42  cedric
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Changed wording to "workspace" for
+	  gis.m files.
+
+2006-05-12 06:40  cedric
+
+	* gui/tcltk/gis.m/runandoutput.tcl: Set a window size so it doesn't
+	  open up very slim.
+
+2006-05-12 06:23  cedric
+
+	* lib/gis/gui.tcl: Text wraps in labels for options.
+
+2006-05-12 05:57  cedric
+
+	* vector/v.in.ascii/points.c: Fixed bug 4291 (writting past end of
+	  buffer caused segfault later in
+	  malloc. Thanks valgrind!)
+
+2006-05-12 01:44  cho
+
+	* scripts/v.db.addcol/v.db.addcol, scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.rast.stats/v.rast.stats: double -> double precision
+	  (ANSI data type)
+
+2006-05-12 01:03  cho
+
+	* raster/r.mapcalc/r.mapcalc.html: r,blend -> r.blend
+
+2006-05-11 19:49  markus
+
+	* vector/v.lrs/Makefile, vector/v.lrs/lrs.html,
+	  vector/v.lrs/v.lrs.create/description.html,
+	  vector/v.lrs/v.lrs.create/main.c,
+	  vector/v.lrs/v.lrs.label/description.html,
+	  vector/v.lrs/v.lrs.segment/description.html,
+	  vector/v.lrs/v.lrs.segment/main.c,
+	  vector/v.lrs/v.lrs.where/description.html,
+	  vector/vectorintro.html: LRS docs in vector intro integrated;
+	  message cosmetics; HTML cosmetics
+
+2006-05-11 15:30  markus
+
+	* lib/init/Makefile: define PROJSHARE if empty (use
+	  --with-proj-share to define to other directory
+
+2006-05-11 14:53  paul
+
+	* vector/v.in.ogr/main.c: Be sure to use first layer *actually
+	  imported* for projection check
+
+2006-05-11 12:32  markus
+
+	* db/base/connect.c: more precise module description
+
+2006-05-11 12:30  markus
+
+	* vector/v.db.connect/main.c: more precise module description; i18N
+
+2006-05-11 10:56  hamish
+
+	* visualization/nviz/scripts/panel_color.tcl: better naming for the
+	  background color panel
+
+2006-05-11 07:28  radim
+
+	* lib/gis/get_window.c: GRASS_REGION moved to G_get_window()
+
+2006-05-11 06:38  hamish
+
+	* scripts/i.spectral/i.spectral: use $GRASS_GNUPLOT
+
+2006-05-11 06:36  hamish
+
+	* lib/init/variables.html: only i.spectral uses $GRASS_GNUPLOT
+
+2006-05-11 06:27  hamish
+
+	* lib/init/variables.html: startup script is no longer called
+	  "grass5"
+
+2006-05-11 06:24  hamish
+
+	* lib/init/variables.html: create "for internal use only" section.
+	  make internal quick-links for sections.
+
+2006-05-10 14:51  paul
+
+	* lib/proj/convert.c: Warn if projection name missing rather than
+	  segfault
+
+2006-05-10 07:08  cho
+
+	* vector/v.in.dxf/description.html: MESHES -> POLYFACE MESHES
+
+2006-05-10 07:01  cho
+
+	* vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/main.c: Added -f flag for 3d wire frame
+
+2006-05-10 06:15  markus
+
+	* REQUIREMENTS.html: url fix
+
+2006-05-10 06:13  markus
+
+	* vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/description.html,
+	  vector/v.in.dxf/global.h: write DXF MESH as faces
+
+2006-05-10 05:31  cedric
+
+	* lib/init/variables.html: Description of GRASS_OVERWRITE
+	  environment variable. Corrected description of
+	  --o with OVERWRITE grass variable.
+
+2006-05-10 05:30  cedric
+
+	* lib/gis/parser.c: --o changing environment for scripts actually
+	  works now. Uses
+	  documented environment variable GRASS_OVERWRITE.
+
+2006-05-10 05:00  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: fix "table already exists"
+	  grep test for tables of a similar name,
+	  exit gracefully if dupe is found
+
+2006-05-09 19:43  cedric
+
+	* scripts/r.in.wms/r.in.wms: Added gisprompt for output.
+
+2006-05-09 19:26  cedric
+
+	* lib/gis/parser.c: --o: OVERWRITE environment variable set so that
+	  --o works for scripts. --o
+	  included in usage and html usage. Not included in xml usage (no
+	  existing
+	  architecture) or gui.tcl call (would cause guisection problem).
+
+2006-05-09 11:45  hamish
+
+	* vector/v.in.ascii/a2b.c: skip well formatted commented lines
+
+2006-05-09 05:36  hamish
+
+	* lib/init/variables.html: mention GRASS_REGION and WIND_OVERRIDE
+
+2006-05-09 05:04  glynn
+
+	* display/d.extend/main.c, raster/r.out.vtk/main.c,
+	  raster/r.region/main.c, vector/v.in.ascii/points.c: Use
+	  G_get_window() instead of G__get_window(..., "WIND")
+
+2006-05-08 15:55  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Add ability to query thematic and
+	  chart maps, RGBHIS maps, and
+	  raster number and raster arrow maps.
+
+2006-05-08 15:53  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Add button to redraw all; move zoom
+	  to current and several other
+	  zoom buttons to menu button.
+
+2006-05-08 15:53  michael
+
+	* gui/tcltk/gis.m/chart.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/vector.tcl: Remove active check from procedure to
+	  return mapname. Can query or
+	  zoom to map whether it is active or not.
+
+2006-05-08 15:50  michael
+
+	* gui/icons/gui-mapzoom.gif, gui/icons/gui-redraw.gif: new toolbar
+	  icons
+
+2006-05-08 15:49  michael
+
+	* gui/icons/gui-pointer.gif: match image size to other icons
+
+2006-05-08 07:26  hamish
+
+	* db/base/db.execute.html: emphasize the need for a semicolon
+	  between SQL commands
+
+2006-05-08 06:35  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: set default database driver
+	  to DBF if unset
+
+2006-05-08 06:05  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: quieten perser usage if db
+	  path / driver not set
+
+2006-05-08 04:15  cedric
+
+	* lib/gtcltk/select.tcl: No more code or memmory leak. (Forgot to
+	  save part of edit before
+	  testing and committing)
+
+2006-05-08 04:10  cedric
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmtree.tcl: Mouse scroll
+	  the layer tree and options windows.
+
+2006-05-08 04:08  cedric
+
+	* lib/gtcltk/select.tcl: Improvements to scrolling. Scrolling is
+	  much more specific (must have
+	  heyboard or mouse focus). Binding scrolling is no longer a code
+	  leak.
+
+2006-05-08 02:05  brad
+
+	* lib/image/SGIIMAGESPEC: - Cosmetics
+	  - Updated URL of original spec
+
+2006-05-08 01:32  brad
+
+	* lib/image/SGIIMAGESPEC, lib/ogsf/SGIIMAGESPEC: - Moved
+	  SGIIMAGESPEC from lib/ogsf/ to lib/image (makes more sense).
+
+2006-05-08 01:13  cedric
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/vector.tcl: Digitizing a
+	  vector layer might actually work now. Todo: grab other layers
+	  that are selected and use them for the
+	  draw commands.
+
+2006-05-08 00:54  cedric
+
+	* SUBMITTING: Changed menu editing instructions.
+
+2006-05-08 00:52  cedric
+
+	* gui/tcltk/Makefile, gui/tcltk/d.m/d.m.tcl,
+	  gui/tcltk/d.m/menu.tcl, gui/tcltk/gis.m/gm.tcl,
+	  gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/runandoutput.tcl,
+	  gui/tcltk/menus, gui/tcltk/menus/Makefile,
+	  gui/tcltk/menus/menu.tcl: Unified gis.m and d.m menus. d.m menus
+	  are now lifted for translation. Most (all?) secondary menu text
+	  is now lifted
+	  for translation too. The following d.* commands that were in the
+	  d.m menus aren't in the new one: These should probably
+	  all go in a comprehensive menu for doing things with displays.
+	  
+	  d.what.rast
+	  d.rast.arrow
+	  d.rast.num
+	  d.what.vect
+	  d.histogram
+
+2006-05-07 22:38  cedric
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.tcl,
+	  gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/vector.tcl: Layers
+	  don't mark themselves clean if the layer still thinks it is
+	  dirty.
+
+2006-05-07 22:06  brad
+
+	* gui/tcltk/d.m/barscale.tcl: - Maciek's patch for drawing arrow
+	  and scale alone.
+
+2006-05-07 17:36  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Run g.pnmcomp with run_panel so
+	  errors are shown in gronsole instead of halting program.
+
+2006-05-07 17:20  cedric
+
+	* gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/rastnums.tcl:
+	  Mark to redraw when explicitly told to redraw.
+
+2006-05-07 01:59  cedric
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Lifted strings for translation.
+	  Replaced string concatenation of lists with lappend.
+
+2006-05-06 23:13  soeren
+
+	* general/g.region/cmd/main.c: The window struct has to be
+	  initialised bevor G_parser is called.
+	  Otherwise the llinfo function will depend on an uninitialised
+	  value.
+
+2006-05-06 22:50  soeren
+
+	* lib/g3d/g3dopen.c: Fixed small a memory access error
+	  added glocale support
+
+2006-05-06 18:37  cedric
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/runandoutput.tcl: Lifted
+	  strigns for translation.
+
+2006-05-06 17:54  cedric
+
+	* locale/Makefile, locale/README: Tcl translation support.
+
+2006-05-06 17:49  cedric
+
+	* include/Make/Script.make: Translation of g.parser options:
+	  Extract options with g.parser when scripts are made, write them
+	  as fake
+	  .c files to locale/scriptstrings/
+
+2006-05-06 17:43  cedric
+
+	* Makefile: Translation of g.parser options: Remove old extracted
+	  strings to translate on "make clean".
+
+2006-05-06 17:36  cedric
+
+	* locale/scriptstrings, locale/scriptstrings/README: Folder for
+	  putting g.parser option strings extracted from scripts.
+
+2006-05-06 17:12  cedric
+
+	* general/g.parser/main.c: Sometimes the naive way is the best. _(
+	  const char * ) which is really conditionally a macro to
+	  G_gettext is exactly what we want here.
+
+2006-05-06 17:12  glynn
+
+	* general/g.pnmcomp/main.c: Add optimisations for completely opaque
+	  or completely transparent
+
+2006-05-06 11:05  markus
+
+	* vector/v.in.dxf/description.html: Meshes added
+
+2006-05-06 11:04  markus
+
+	* locale/po/grassmods_de.po: typos
+
+2006-05-06 11:01  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_vi.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_vi.po: merged in
+	  new messages
+
+2006-05-06 08:23  cedric
+
+	* general/g.parser/description.html, general/g.parser/main.c:
+	  Support for translation of script options: translatable strings
+	  are tried to be translated. New -t switch
+	  as first argument (before filename) outputs strings to translate
+	  one per line. Actuall use in build system
+	  NOT included.
+
+2006-05-06 06:44  cho
+
+	* vector/v.in.dxf/add_polyline.c: minor change
+
+2006-05-06 06:36  cho
+
+	* vector/v.in.dxf/add_polyline.c: Added polyface mesh import
+
+2006-05-05 23:35  brad
+
+	* lib/ogsf/local_proto.h: - Removed local_proto.h. Exists as
+	  include/ogsf_proto.h.
+
+2006-05-05 23:31  brad
+
+	* lib/ogsf/SGIIMAGESPEC, lib/ogsf/TODO: - Updated SGIIMAGESPEC
+	  example functions to modern (non-K&R) standards
+	  - Added 64bit support to TODO
+
+2006-05-05 23:28  brad
+
+	* include/gstypes.h, include/gsurf.h, include/image.h,
+	  include/keyframe.h, include/kftypes.h, include/ogsf_proto.h,
+	  lib/image/close.c, lib/image/filbuf.c, lib/image/flsbuf.c,
+	  lib/image/image.h, lib/image/name.c, lib/image/open.c,
+	  lib/image/rdwr.c, lib/image/rle.c, lib/image/row.c,
+	  lib/ogsf/Makefile, lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_img.c,
+	  lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c,
+	  lib/ogsf/gsd_objs.c, lib/ogsf/gstypes.h, lib/ogsf/gsurf.h,
+	  lib/ogsf/image.h, lib/ogsf/keyframe.h, lib/ogsf/kftypes.h: -
+	  Moved headers from lib/ogsf to include/
+	  - Updated files to use new header location
+
+2006-05-05 22:37  michael
+
+	* gui/icons/channel-rgb.gif, gui/icons/edit-copy.gif,
+	  gui/icons/edit-cut.gif, gui/icons/element-cell.gif,
+	  gui/icons/element-labels.gif, gui/icons/element-vector.gif,
+	  gui/icons/file-new.gif, gui/icons/file-open.gif,
+	  gui/icons/file-print.gif, gui/icons/file-save.gif,
+	  gui/icons/gui-cmd.gif, gui/icons/gui-display.gif,
+	  gui/icons/gui-erase.gif, gui/icons/gui-group.gif,
+	  gui/icons/gui-maplabels.gif, gui/icons/gui-maptext.gif,
+	  gui/icons/gui-measure.gif, gui/icons/gui-pan.gif,
+	  gui/icons/gui-query.gif, gui/icons/gui-startmon.gif,
+	  gui/icons/gui-zoom_back.gif, gui/icons/gui-zoom_current.gif,
+	  gui/icons/gui-zoom_default.gif, gui/icons/gui-zoom_in.gif,
+	  gui/icons/gui-zoom_map.gif, gui/icons/gui-zoom_out.gif,
+	  gui/icons/gui-zoom_region.gif, gui/icons/module-d.barscale.gif,
+	  gui/icons/module-d.chart.gif, gui/icons/module-d.grid.gif,
+	  gui/icons/module-d.histogram.gif, gui/icons/module-d.labels.gif,
+	  gui/icons/module-d.legend.gif, gui/icons/module-d.nviz.gif,
+	  gui/icons/module-d.rast.arrow.gif,
+	  gui/icons/module-d.rast.num.gif,
+	  gui/icons/module-d.vect.chart.gif,
+	  gui/icons/module-d.vect.thematic.gif, gui/icons/module-nviz.gif,
+	  gui/icons/module-v.digit.gif, gui/icons/module-xganim.gif: GIS
+	  Manager icon enhancement
+
+2006-05-05 22:24  cedric
+
+	* gui/tcltk/d.m/d.m.tcl, gui/tcltk/gis.m/gm.tcl, lib/gis/gui.tcl:
+	  gui.tcl uses G_msg for translatable strings. Removed redundant
+	  sources from things that source gui.tcl.
+
+2006-05-05 18:37  michael
+
+	* gui/tcltk/gis.m/thematic.tcl: added procedure to get map name
+
+2006-05-05 18:36  cedric
+
+	* SUBMITTING, SUBMITTING_SCRIPTS, SUBMITTING_TCLTK:
+	  Internationalization in TCL/TK, new grass-dev at grass.itc.it
+	  developers mailing list address.
+
+2006-05-05 18:36  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: added zoom to selected map button
+
+2006-05-05 18:36  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: added zoom to selected map
+	  procedure
+
+2006-05-05 18:35  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.tcl: code
+	  cosmetics
+
+2006-05-05 18:35  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl: added procedure to get selected node
+
+2006-05-05 18:35  michael
+
+	* gui/tcltk/gis.m/chart.tcl: added procedure to get mapname
+
+2006-05-05 18:34  michael
+
+	* gui/icons/gui-display.gif, gui/icons/gui-erase.gif,
+	  gui/icons/gui-measure.gif, gui/icons/gui-zoom_back.gif,
+	  gui/icons/gui-zoom_in.gif, gui/icons/gui-zoom_out.gif,
+	  gui/icons/gui-zoom_region.gif: Improvements to icons for toolbar
+	  buttons
+
+2006-05-05 18:33  michael
+
+	* gui/icons/gui-zoom_map.gif: new icon for zoom to selected map
+	  button
+
+2006-05-05 13:06  hamish
+
+	* raster/r.info/main.c: nan -> NULL for CELL maps without data
+
+2006-05-05 12:55  hamish
+
+	* lib/init/gintro.gif: must fix the 1 dead pixel
+
+2006-05-05 10:08  cedric
+
+	* gui/tcltk/gis.m/description.html, gui/tcltk/gis.m/mapcanvas.tcl,
+	  gui/tcltk/gis.m/maptool.tcl: New featurette - explore mode
+	  drawing which fills screen, fixed zoom out box behaviour, a bunch
+	  of small
+	  fixups (like tooltips).
+
+2006-05-05 09:28  cedric
+
+	* gui/icons/Makefile: Install icons where they can be used in
+	  documentation.
+
+2006-05-05 09:27  cedric
+
+	* gui/icons/AUTHORS, gui/icons/drawmode-explore.gif,
+	  gui/icons/drawmode-strict.gif: Added icons for display draw modes
+	  for gis.m.
+
+2006-05-05 08:37  radim
+
+	* vector/v.digit/centre.c: nanosleep for TOOL_NOTHING
+
+2006-05-05 08:31  radim
+
+	* configure, configure.in: nanosleep test
+
+2006-05-05 08:29  radim
+
+	* include/config.h.in: nanosleep
+
+2006-05-05 08:17  cedric
+
+	* gui/tcltk/gis.m/thematic.tcl: Mark to redraw when explicitly told
+	  to redraw.
+
+2006-05-04 19:37  cedric
+
+	* vector/v.digit/c_face.c, vector/v.digit/main.c: Non-0 argc to
+	  Tk_Main - possible fix for startup segfault. Added a few more
+	  debugging messages.
+
+2006-05-04 17:32  markus
+
+	* raster/r.patch/description.html: v.mkquads doesn't exist
+
+2006-05-04 15:40  radim
+
+	* lib/db/dbmi_client/start.c: notes about spawn/CreateProcess with
+	  respect to file descriptors
+
+2006-05-04 15:38  radim
+
+	* lib/db/dbmi_driver/driver.c: close file descriptors
+
+2006-05-04 15:00  soeren
+
+	* gem/actions.c: Fixed a minor bug related to the -q flag
+	  A segfault occured if no extensions.db file exists
+
+2006-05-04 14:22  stephan
+
+	* locale/po/grassmods_de.po: + small i18n-updates for german
+	  language
+
+2006-05-04 08:46  hamish
+
+	* display/d.graph/do_graph.c: d.graph is nmow using RGBA_Color
+
+2006-05-04 08:43  hamish
+
+	* display/d.graph/do_graph.c, display/d.graph/main.c,
+	  include/display.h, include/gis.h, lib/display/symbol.c: remove
+	  set switch from RGBA_Color struct, use alpha as on/off switch
+
+2006-05-04 08:26  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Doesn't run d.mon to figure out
+	  whether or not to run d.mon.
+
+2006-05-04 08:15  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Cleaned out declarations of unused
+	  globals, other stuff. Added comments describing
+	  namespace variables.
+
+2006-05-04 07:52  hamish
+
+	* lib/init/gis_set.tcl: don't hardcode window placement, let the
+	  system's window manager do it
+
+2006-05-04 06:40  cedric
+
+	* lib/gtcltk/options.tcl: Recommitted changes of 1.4. Removed
+	  helpfont (no longer used by gis.m).
+
+2006-05-04 06:38  cedric
+
+	* gui/tcltk/gis.m/gm.tcl: Removed helpfont. This is controlled by
+	  options.tcl.
+
+2006-05-04 04:26  hamish
+
+	* raster/r.info/main.c: all null CELL map reports nan for min max
+
+2006-05-04 03:40  hamish
+
+	* include/gis.h: spelling
+
+2006-05-04 03:26  hamish
+
+	* lib/gis/range.c: fix Doxygen comment formatting
+
+2006-05-04 02:10  cedric
+
+	* gui/icons/status-running.gif: Icon for running programs. It got
+	  left behind in my previous batches somehow.
+
+2006-05-04 01:53  cedric
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/mapcanvas.tcl,
+	  gui/tcltk/gis.m/pkgIndex.tcl: Most of gis.m is loaded as a
+	  package. The package lazy loading keeps from
+	  loading layer types until someone actually uses them.
+
+2006-05-04 01:28  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Zoom and region overhaul, monitor
+	  bindings simplified.
+	  
+	  Region is independent of zooming. Monitors no longer use regions
+	  to store zoom
+	  information. Previous zooms on monitors are now independent of
+	  each other.
+	  Monitors always set region before any rendering. A region named
+	  gism_temp_region
+	  is used to store the previous region, and is then loaded after
+	  rendering. Monitors
+	  have a zoom history of 7 (arbitrary) previous zooms.
+
+2006-05-04 01:20  cedric
+
+	* gui/tcltk/gis.m/vector.tcl: Removed unnecessary source.
+
+2006-05-03 20:39  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl:
+	  Reverted changes of region belief state; it removed independence
+	  of the displays. The correct thing
+	  to do is add more independence between the displays and the
+	  current region.
+
+2006-05-03 19:06  markus
+
+	* gem, gem/LICENSE, gem/Makefile, gem/NEWS, gem/README,
+	  gem/actions.c, gem/actions.h, gem/at_exit_funcs.c,
+	  gem/at_exit_funcs.h, gem/docs, gem/docs/GEM-Manual,
+	  gem/docs/GEM-Manual.lyx, gem/docs/GEM-Manual.tex,
+	  gem/docs/GEM-Manual/GEM-Manual.css,
+	  gem/docs/GEM-Manual/GEM-Manual.html,
+	  gem/docs/GEM-Manual/images.pl, gem/docs/GEM-Manual/images.tex,
+	  gem/docs/GEM-Manual/img1.gif, gem/docs/GEM-Manual/img10.gif,
+	  gem/docs/GEM-Manual/img11.gif, gem/docs/GEM-Manual/img12.gif,
+	  gem/docs/GEM-Manual/img13.gif, gem/docs/GEM-Manual/img14.gif,
+	  gem/docs/GEM-Manual/img15.gif, gem/docs/GEM-Manual/img16.gif,
+	  gem/docs/GEM-Manual/img2.gif, gem/docs/GEM-Manual/img3.gif,
+	  gem/docs/GEM-Manual/img4.gif, gem/docs/GEM-Manual/img5.gif,
+	  gem/docs/GEM-Manual/img6.gif, gem/docs/GEM-Manual/img7.gif,
+	  gem/docs/GEM-Manual/img8.gif, gem/docs/GEM-Manual/img9.gif,
+	  gem/docs/GEM-Manual/index.html, gem/docs/GEM-Manual/internals.pl,
+	  gem/docs/GEM-Manual/labels.pl, gem/docs/make-html.sh,
+	  gem/error.c, gem/error.h, gem/globals.h, gem/main.c,
+	  gem/reg_deps.c, gem/reg_deps.h, gem/reg_entries.c,
+	  gem/reg_entries.h, gem/reg_html.c, gem/reg_html.h, gem/skeleton,
+	  gem/skeleton/README, gem/skeleton/authors, gem/skeleton/bugs,
+	  gem/skeleton/commands, gem/skeleton/depends,
+	  gem/skeleton/description, gem/skeleton/entries-gisman,
+	  gem/skeleton/entries-gisman2, gem/skeleton/headers,
+	  gem/skeleton/id, gem/skeleton/info, gem/skeleton/libs,
+	  gem/skeleton/license, gem/skeleton/name, gem/skeleton/post,
+	  gem/skeleton/uninstall, gem/skeleton/version, gem/tools.c,
+	  gem/tools.h: Benjamin Ducke <benducke compuserve de>: GEM - GRASS
+	  Extension Manager added
+
+2006-05-03 18:45  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl:
+	  Mapcanvas has a belief state for the region. When trying to
+	  redraw on an
+	  unmodified canvas it checks against the actual region; if
+	  different it marks
+	  everything as dirty and renders with this new region. Fixes bug
+	  (incorrect
+	  display) after changing region in background. User can use
+	  g.region to zoom
+	  by just clicking the one redisplay button. Zoom to current region
+	  button removed.
+
+2006-05-03 16:24  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Performance optimization updates
+
+2006-05-03 16:17  michael
+
+	* gui/tcltk/gis.m/vector.tcl: Optimization for improved
+	  performance. Fix (I hope) for v.digit from gis.m
+
+2006-05-03 16:16  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/thematic.tcl: Performance optimization updates
+
+2006-05-03 16:12  michael
+
+	* gui/icons/gui-pointer.gif: updated pointer for updated toolbar
+
+2006-05-03 14:49  radim
+
+	* vector/v.db.connect/main.c: warning only if cannot grant rights;
+	  dont start driver if not necessary
+
+2006-05-03 14:13  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/add_text.c: output consistency
+
+2006-05-03 13:34  markus
+
+	* vector/v.in.dxf/add_polyline.c: debug output added
+
+2006-05-03 12:46  markus
+
+	* vector/v.in.dxf/main.c, vector/v.in.dxf/write_vect.c: cosmetics
+
+2006-05-03 12:15  markus
+
+	* lib/init/README, lib/init/init.sh: changed from d.m to gis.m
+
+2006-05-03 10:06  radim
+
+	* vector/v.transform/Makefile: Windows better
+
+2006-05-03 09:57  radim
+
+	* vector/v.transform/Makefile, vector/v.transform/ask_trans.c,
+	  vector/v.transform/creat_trans.c: fix for Windows
+
+2006-05-03 09:53  markus
+
+	* raster/r.to.rast3/main.c: message cosmetics
+
+2006-05-03 09:46  hamish
+
+	* general/manage/lib/do_remove.c: i18n
+
+2006-05-03 09:38  hamish
+
+	* general/g.proj/main.c: i18n
+
+2006-05-03 09:35  radim
+
+	* configure.in: disable check for epsg on MinGW
+
+2006-05-03 09:28  moritz
+
+	* debian/control: added libgdal1-1.3.1-dev dependency to match
+	  current debian situation
+
+2006-05-03 09:20  hamish
+
+	* display/d.what.vect/main.c: i18n, EXIT_SUCCESS, cleanup
+
+2006-05-03 09:05  hamish
+
+	* display/d.what.rast/main.c: cleanup, i18n, EXIT_SUCCESS, unused
+	  vars
+
+2006-05-03 08:53  hamish
+
+	* display/d.save/main.c: i18n, EXIT_SUCCESS, cleanup
+
+2006-05-03 08:40  hamish
+
+	* display/d.rgb/main.c: i18n, EXIT_SUCCESS
+
+2006-05-03 08:27  hamish
+
+	* display/d.mon/cmd/main.c: cleanup:
+	  i18n
+	  EXIT_SUCCESS
+	  G_message()
+
+2006-05-03 08:15  hamish
+
+	* display/d.zoom/box.c, display/d.zoom/local_proto.h,
+	  display/d.zoom/main.c, display/d.zoom/redraw.c: cleanup:
+	  unused variables
+	  G_fatal_error(),G_message()
+	  i18n
+	  EXIT_FAILURE
+	  remove unused sites code
+
+2006-05-03 07:54  markus
+
+	* include/Make/Doxyfile_arch_html,
+	  include/Make/Doxyfile_arch_latex: fixed include path
+
+2006-05-03 07:06  markus
+
+	* SUBMITTING_TCLTK: fixed strange chars
+
+2006-05-03 05:52  hamish
+
+	* lib/init/gintro.gif: new version
+
+2006-05-03 04:59  hamish
+
+	* lib/imagery/colors.c: G_debug() doesn't need to hide behind an
+	  #ifdef
+
+2006-05-03 04:43  hamish
+
+	* lib/raster/commands.c, lib/raster/io.c: R_flush() and
+	  R_stabilize() Doxygen comments
+
+2006-05-03 04:27  hamish
+
+	* display/d.histogram/dhist.h, display/d.histogram/mytext.c: remove
+	  unused code
+
+2006-05-03 03:54  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl: New
+	  little redraw request system and redraw server. Redraws can only
+	  happen one at
+	  a time. If multiple things request a redraw before the next one
+	  the redraw only
+	  happens once. Resizing the canvas no longer cause many many
+	  concurrent redraws and
+	  errors. Zoom tools don't conflict with each other or with
+	  resizing the canvas.
+
+2006-05-03 03:51  cedric
+
+	* gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl: Removed unnecessary source of
+	  mapcanvas.tcl.
+
+2006-05-03 01:44  brad
+
+	* lib/imagery/colors.c: - Updated to use G_debug/G_warning()
+	  - Minor consmetics for readability
+
+2006-05-03 01:00  glynn
+
+	* raster/r.mapcalc/Makefile, raster/r.mapcalc/func_proto.h,
+	  raster/r.mapcalc/function.c, raster/r.mapcalc/mapcalc.l,
+	  raster/r.mapcalc/mapcalc.y, raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/xand2.c, raster/r.mapcalc/xor2.c: Add &&& and
+	  ||| operators with more intuitive null handling
+
+2006-05-03 00:08  cedric
+
+	* SUBMITTING_TCLTK: Added notes on lists, exec, and open. Fixed
+	  error in example. Thanks Glynn.
+
+2006-05-02 20:55  cedric
+
+	* SUBMITTING, SUBMITTING_SCRIPTS, SUBMITTING_TCLTK: New
+	  instructions for submitting tcl/tk code. Moved tcl/tk specific
+	  instruction
+	  from scripts to tcltk. Updated menu update instructions in
+	  submitting.
+
+2006-05-02 19:24  brad
+
+	* lib/ogsf/gs_bm.c: - Code reduction
+
+2006-05-02 16:10  michael
+
+	* scripts/Makefile: added r.mask to default compiled scripts
+
+2006-05-02 16:09  michael
+
+	* scripts/r.mask/r.mask: Made parser variable upper case for
+	  Windows
+
+2006-05-02 16:00  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Fine tuning for readability
+
+2006-05-02 15:49  michael
+
+	* gui/tcltk/gis.m/gmtool1.tcl, gui/tcltk/gis.m/gmtool2.tcl,
+	  gui/tcltk/gis.m/maptool.tcl: Fine tune tool bars
+
+2006-05-02 15:38  cedric
+
+	* scripts/r.in.onearth: Removed r.in.onearth. It belongs as an
+	  extension.
+
+2006-05-02 15:33  cedric
+
+	* gui/tcltk/d.m/menu.tcl, gui/tcltk/gis.m/gmmenu.tcl,
+	  scripts/Makefile: Removed r.in.onearth
+
+2006-05-02 15:32  cedric
+
+	* scripts/r.in.wms/description.html: Added layer list example,
+	  fixed spelling, removed r.in.onearth.
+
+2006-05-02 14:09  markus
+
+	* general/g.proj/description.html,
+	  general/g.setproj/description.html,
+	  raster/r.proj/description.html, vector/v.proj/description.html:
+	  Web refs added to find projection stuff and datums
+
+2006-05-02 13:51  markus
+
+	* lib/gis/datum.table: North Sahara 1959 Datum added for
+	  Algeria/UTM etc
+
+2006-05-02 13:23  radim
+
+	* lib/form/form.c: loop fix
+
+2006-05-02 06:43  hamish
+
+	* display/d.rast.num/number.c: remove R_flush() call, vastly
+	  speeding up rendering (thanks for the hint Glynn)
+
+2006-05-02 05:32  hamish
+
+	* vector/v.label/main.c: enable rotation setting from the command
+	  line.
+	  bug: rotate around center not lower left (take from code for -a
+	  flag)
+	  EXIT_SUCCESS
+
+2006-05-02 04:19  cedric
+
+	* gui/tcltk/d.m/menu.tcl, gui/tcltk/gis.m/gmmenu.tcl: Added menu
+	  entries for new modules r.tileset, r.in.wms, and r.in.onearth.
+	  Added
+	  old modules v.voronoi and v.delaunay to a new menu undder vector
+	  for "Neighborhood
+	  analysis" along with v.distance.
+
+2006-05-02 03:50  cedric
+
+	* scripts/Makefile: Added new modules for raster tiling, importing
+	  raster data from web mapping
+	  servers.
+
+2006-05-02 03:50  cedric
+
+	* scripts/r.in.wms/r.in.wms: Added listing of layers.
+
+2006-05-02 02:12  cedric
+
+	* scripts/r.in.onearth, scripts/r.in.onearth/Makefile,
+	  scripts/r.in.onearth/description.html,
+	  scripts/r.in.onearth/r.in.onearth: Soerren Gebbert's
+	  r.in.onearth, added new. Wrapper around r.in.wms.
+
+2006-05-02 02:09  cedric
+
+	* scripts/r.in.wms, scripts/r.in.wms/Makefile,
+	  scripts/r.in.wms/description.html,
+	  scripts/r.in.wms/r.in.gdalwarp, scripts/r.in.wms/r.in.wms,
+	  scripts/r.in.wms/wms.download, scripts/r.in.wms/wms.request: New
+	  r.in.wms for importing data from OpenGIS web mapping servers.
+
+2006-05-02 01:49  cedric
+
+	* scripts/r.tileset, scripts/r.tileset/Makefile,
+	  scripts/r.tileset/description.html, scripts/r.tileset/r.tileset:
+	  New program to calculate raster tilesets. Used by new r.in.wms to
+	  get large
+	  datasets from web mapping services.
+
+2006-05-01 23:42  hamish
+
+	* db/databaseintro.html: cvs hint
+
+2006-05-01 23:40  hamish
+
+	* db/databaseintro.html: minor words
+
+2006-05-01 21:09  markus
+
+	* lib/init/gintro.gif: submitting broken file again
+
+2006-05-01 20:54  michael
+
+	* lib/init/gintro.gif: Trying to commit this graphic again
+
+2006-05-01 20:41  michael
+
+	* lib/init/gintro.gif: New shorter graphic for intro window. Left a
+	  space for OSGeo logo
+
+2006-05-01 20:40  michael
+
+	* lib/init/gis_set.tcl: Place intro window against top of screen so
+	  that it it can open
+	  fully visible on low resolution monitors (800x600 minimum).
+
+2006-05-01 17:39  glynn
+
+	* display/drivers/PNG/Makefile, display/drivers/PNG/Raster_RGB.c,
+	  display/drivers/PNG/main.c, display/drivers/PNG/pngdriver.h: Add
+	  RGB-raster operation
+
+2006-05-01 17:39  glynn
+
+	* configure, configure.in: Generate warning if --with-proj-share is
+	  omitted
+
+2006-05-01 17:15  markus
+
+	* raster/r.univar2/main.c: get rid of useless messages and white
+	  space
+
+2006-05-01 17:07  markus
+
+	* db/databaseintro.html: cosmetics
+
+2006-05-01 14:30  markus
+
+	* db/base/db.execute.html: hint on create DB
+
+2006-05-01 14:18  markus
+
+	* db/drivers/mysql/mesql.html, db/drivers/mysql/mysql.html: added
+	  hint how to create DB table
+
+2006-05-01 14:13  markus
+
+	* db/databaseintro.html: order fixed
+
+2006-05-01 14:11  markus
+
+	* db/drivers/dbf/dbf.html: added hint how to create DB table
+
+2006-05-01 14:04  markus
+
+	* db/drivers/sqlite/sqlite.html: added hint how to create DB
+
+2006-05-01 13:46  markus
+
+	* db/drivers/postgres/pg.html: added hint how to create DB
+
+2006-05-01 13:40  markus
+
+	* db/Makefile, db/databaseintro.html,
+	  db/drivers/sqlite/sqlite.html, tools/build_html_index.sh,
+	  vector/vectorintro.html: database mngmt docs added
+
+2006-05-01 09:25  hamish
+
+	* display/d.rast.num/number.c: don't use G_yes() so the module will
+	  work from the GUI
+	  EXIT_SUCCESS
+
+2006-05-01 06:42  hamish
+
+	* scripts/r.blend/r.blend: tweak module descr.
+
+2006-05-01 06:41  hamish
+
+	* scripts/r.blend/r.blend: param names/descr
+	  base name gisprompt old->new
+	  test for existing maps of same name (bug #4368)
+	  add metadata info to output maps with r.support
+	  all output to stderr except d.rgb hint (eval `r.blend ...`)
+	  percent must be 0-99, add test
+
+2006-04-30 19:33  markus
+
+	* include/proto_dbmi.h, lib/db/dbmi_client/c_version.c: db_version
+	  renamed to db_gversion (bug #4349)
+
+2006-04-29 18:58  markus
+
+	* Makefile: also 'make' in doc/ for projectionintro.html
+
+2006-04-29 16:49  glynn
+
+	* aclocal.m4, configure, configure.in: --with-proj-share switch
+
+2006-04-29 14:13  markus
+
+	* scripts/i.spectral/description.html,
+	  scripts/i.spectral/i.spectral: check if monitor is open; example
+	  added. This script is still sometimes failing
+
+2006-04-29 13:53  markus
+
+	* display/d.where/description.html, display/d.where/main.c: exit
+	  status; links added
+
+2006-04-28 21:02  markus
+
+	* ps/ps.map/main.c: copyright header added with 'tools/copywrite.pl
+	  contributors.csv' and few cosmetics; exit status
+
+2006-04-28 20:05  markus
+
+	* scripts/v.univar.sh/description.html,
+	  scripts/v.univar.sh/v.univar.sh: Arithmetic mean of absolute
+	  values added as desired by Helena; debug stuff commented; example
+	  added
+
+2006-04-28 19:58  markus
+
+	* scripts/r.univar.sh/r.univar.sh: Arithmetic mean of absolute
+	  values added as desired by Helena
+
+2006-04-28 14:03  moritz
+
+	* vector/v.clean/description.html: attempt at making description of
+	  rmsa tool clearer.
+
+2006-04-28 12:49  markus
+
+	* vector/vectorintro.html: vector directions added
+
+2006-04-28 09:58  markus
+
+	* vector/v.clean/description.html, vector/v.clean/v_clean_rmsa.png:
+	  Radim Blazek: figure added
+
+2006-04-28 09:24  markus
+
+	* contributors_extra.csv: contributors without write access (please
+	  complete list)
+
+2006-04-28 08:52  markus
+
+	* tools/build_html_index.sh: d.m and gis.m added
+
+2006-04-28 08:52  markus
+
+	* ps/ps.map/description.html: HTML fixes
+
+2006-04-28 08:47  markus
+
+	* gui/tcltk/gis.m/Makefile, gui/tcltk/gis.m/description.html: docs
+	  generation fixed
+
+2006-04-28 08:40  markus
+
+	* vector/v.clean/description.html: rmsa added
+
+2006-04-28 05:40  brad
+
+	* aclocal.m4, configure.in: - Added LOC_ARG_WITH_SHARE() macro for
+	  PROJ.4 EPSG data files
+
+2006-04-27 19:28  markus
+
+	* tools/copywrite.pl: Schuyler Erle: Script to easily add missing
+	  copyright statements in GRASS source code files. Please use it,
+	  developers...
+
+2006-04-27 15:34  markus
+
+	* lib/proj/gcs.csv, lib/proj/pcs.csv, lib/proj/stateplane.csv:
+	  updated to EPSG 6.9 + recent fixes in GDAL
+
+2006-04-27 14:53  radim
+
+	* general/g.parser/main.c: wait on windows until the end of script
+
+2006-04-27 09:48  hamish
+
+	* lib/gis/adj_cellhd.c: disable E-W lat/lon epsilon check as it
+	  breaks global wrapping
+
+2006-04-27 09:31  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: don't assume whitespace in
+	  columns= answer
+
+2006-04-27 08:44  hamish
+
+	* scripts/v.db.addtable/v.db.addtable: columns= defaults to "cat
+	  int";
+	  quieten db-test messages;
+	  option descriptions;
+	  messages to stderr
+
+2006-04-27 05:16  hamish
+
+	* lib/init/gis_set.tcl: fix broken mapset check (before it let you
+	  in regardless of validity)
+
+2006-04-26 21:01  brad
+
+	* raster/r.watershed/shed/basin_maps.c,
+	  raster/r.watershed/shed/com_line.c,
+	  raster/r.watershed/shed/file_in.c,
+	  raster/r.watershed/shed/intro.c, raster/r.watershed/shed/main.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c:
+	  - Use G_message()
+	  - Localized text
+
+2006-04-26 19:37  markus
+
+	* raster/r.random/main.c: option definitions simplified;
+	  EXIT_FAILURE
+
+2006-04-26 19:00  markus
+
+	* Makefile: RFCs added for doxygen
+
+2006-04-26 18:53  markus
+
+	* rfc, rfc/Makefile, rfc/RFC1_PSC.dox, rfc/rfc_list.dox: added
+	  proposal for GRASS Project Steering Committee (PSC)
+
+2006-04-26 18:51  markus
+
+	* swig/Makefile, swig/grassswig.dox, swig/index.dox: renamed to
+	  more useful name
+
+2006-04-26 18:48  markus
+
+	* include/Make/Doxygen.make: simplified possibility to override
+	  doxfile name
+
+2006-04-26 15:56  markus
+
+	* doc/howto_release.txt: webcommittee.osgeo.org added
+
+2006-04-26 11:17  hamish
+
+	* lib/init/gis_set.tcl: double clicking mapset name implies
+	  clicking <ok> (Michael Barton)
+
+2006-04-26 11:01  hamish
+
+	* db/base/db.execute.html: add note about input= is faster than a
+	  loop
+
+2006-04-26 08:26  hamish
+
+	* scripts/m.proj/description.html: mention +towgs84=
+
+2006-04-26 07:50  hamish
+
+	* display/d.graph/do_graph.c: RGBA_Color -> RGB_Color
+
+2006-04-26 07:45  hamish
+
+	* lib/display/symbol.c: more doxygen comments, RGBA_Color ->
+	  RGB_Color
+
+2006-04-26 07:39  hamish
+
+	* include/segment.h: remove unused _GRASS_GIS_LIB defined test
+
+2006-04-26 07:38  hamish
+
+	* include/display.h: remove unused _GRASS_GIS_LIB_ define test
+	  define _GRASS_DISPLAY_LIB_ -> GRASS_DISPLAY_H
+	  return type for D_symbol()
+	  RGBA_Color -> RGB_Color for D_symbol()
+
+2006-04-26 06:27  hamish
+
+	* vector/v.digit/main.c: make module description functional (fixes
+	  bug #4338),
+	  whitespace cleanup, i18n
+
+2006-04-26 06:00  hamish
+
+	* db/base/execute.c: Rearrange parameter order, i18n
+
+2006-04-26 04:27  brad
+
+	* raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/usage.c: - Removed buffers no longer
+	  needed for G_message() and other string fncs.
+	  - Localized text
+
+2006-04-26 04:18  hamish
+
+	* scripts/v.what.vect/description.html: make it clear that it will
+	  only take up attributes which are an exact
+	  spatial match
+
+2006-04-26 01:09  brad
+
+	* raster/r.watershed/ram/flag_create.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c: - Removed unnecessary code
+	  checking return values of G_*alloc() commands
+
+2006-04-26 01:03  brad
+
+	* raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/ram/usage.c: - Localized text
+
+2006-04-25 18:59  markus
+
+	* lib/init/Makefile, lib/init/epsg_option.tcl.in,
+	  lib/init/file_option.tcl, lib/init/gintro.gif,
+	  lib/init/gis_set.tcl, lib/init/helptext.html: Michael Barton:
+	  improved startup screen
+
+2006-04-25 18:59  brad
+
+	* raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c, raster/r.watershed/ram/usage.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c, raster/r.watershed/seg/usage.c,
+	  raster/r.watershed/shed/com_line.c,
+	  raster/r.watershed/shed/file_in.c,
+	  raster/r.watershed/shed/main.c, raster/r.watershed/shed/read.c,
+	  raster/r.watershed/shed/valid.c: - Removed unneeded exit() after
+	  G_fatal_error()
+	  - Use EXIT_SUCCESS/EXIT_FAILURE for exit()
+
+2006-04-25 18:46  brad
+
+	* raster/r.watershed/front/main.c: - Added localization macros for
+	  text output
+
+2006-04-25 18:42  brad
+
+	* raster/r.watershed/front/main.c: - Use EXIT_FAILURE/EXIT_SUCCESS
+
+2006-04-25 18:37  brad
+
+	* raster/r.slope.aspect/description.html: - Fix bug #3966 (-z no
+	  longer exists and replaced by NULL support)
+
+2006-04-25 18:17  brad
+
+	* vector/v.digit/main.c: - Use EXIT_SUCCESS/EXIT_FAILURE for exit()
+
+2006-04-25 18:15  brad
+
+	* vector/v.digit/main.c: - Fix bug #4338
+
+2006-04-25 04:54  brad
+
+	* raster/r.carve/enforce_ds.c, raster/r.carve/main.c,
+	  raster/r.carve/support.c: - Module should work now.
+
+2006-04-24 20:36  markus
+
+	* locale/po/grasslibs_tr.po, locale/po/grassmods_tr.po:
+	  synchronized to current messages
+
+2006-04-24 20:31  markus
+
+	* locale/po/grasslibs_tr.po, locale/po/grassmods_tr.po: Aras.Gor.O
+	  Yalcin Yilmaz <yilmazy istanbul.edu.tr>: initial translation
+
+2006-04-24 17:31  hamish
+
+	* include/gis.h: add RGB_Color (alias to RGBA_Color)
+
+2006-04-24 17:21  hamish
+
+	* display/d.graph/description.html, display/d.graph/do_graph.c,
+	  display/d.graph/local_proto.h, display/d.graph/main.c: symbol
+	  support
+
+2006-04-24 17:00  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: added m.proj to the menu
+
+2006-04-24 16:41  hamish
+
+	* lib/display/symbol.c: Doxygen comments
+
+2006-04-24 16:31  hamish
+
+	* include/display.h, lib/display/symbol.c: add D_symbol()
+
+2006-04-24 09:23  markus
+
+	* debian/changelog, debian/patches/00list,
+	  debian/patches/epsg-codes-loc.dpatch: patch to look for epsg
+	  codes no longer needed
+
+2006-04-24 09:20  markus
+
+	* lib/init/epsg_option.tcl.in: change all paths
+
+2006-04-24 09:17  markus
+
+	* lib/init/Makefile, lib/init/epsg_option.tcl,
+	  lib/init/epsg_option.tcl.in, lib/init/make_location_epsg.sh.in,
+	  lib/init/make_location_epsg_g57.sh, lib/init/projshare.sed: let
+	  configure define where share/proj/epsg is found
+
+2006-04-24 08:52  markus
+
+	* configure, configure.in, include/Make/Platform.make.in: hack for
+	  PROJSHARE to find epsg file
+
+2006-04-24 07:47  hamish
+
+	* vector/v.buffer/description.html: note bufcol bug
+
+2006-04-24 06:09  hamish
+
+	* scripts/v.db.addcol/v.db.addcol: typo
+
+2006-04-24 05:04  hamish
+
+	* lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c: bad filename is
+	  not fatal to nviz
+
+2006-04-24 00:14  brad
+
+	* raster/r.terraflow/grid.h: - Removed 'grid::' C++ class
+	  identifier from header to fix compiler error.
+
+2006-04-23 23:13  markus
+
+	* scripts/d.vect.thematic/d.vect.thematic: fixed undesired creation
+	  of none and stdout files
+
+2006-04-23 07:15  hamish
+
+	* display/d.graph/Makefile, display/d.graph/allocation.c,
+	  display/d.graph/do_graph.c, display/d.graph/graphics.c,
+	  display/d.graph/local_proto.h, display/d.graph/main.c,
+	  display/d.graph/options.h: cleanup in preparation for symbol
+	  drawing code
+
+2006-04-22 14:45  hamish
+
+	* display/d.legend/main.c: better default placement (worse for
+	  d.rast.leg?), EXIT_SUCCESS, remove
+	  some unused #define
+
+2006-04-22 09:15  hamish
+
+	* raster/r.drain/main.c: gis prompt for vector map
+
+2006-04-22 06:14  hamish
+
+	* lib/gis/error.c: error in comments
+
+2006-04-22 03:07  cedric
+
+	* lib/gtcltk/gronsole.tcl: Always show the vertical scrollbar. This
+	  keep BWidgets from deadlocking
+	  in litteraly, a border packing case. (Adds horizontal scrollbar
+	  -> adds
+	  vertical -> rescale -> remove horizontal -> remove vertical ->
+	  rescale
+	  -> top).
+
+2006-04-22 00:03  cedric
+
+	* lib/gis/color_str.c: Fixed so color names past grey look up the
+	  correct color.
+
+2006-04-21 18:01  markus
+
+	* scripts/d.vect.thematic/d.vect.thematic: removed excessive blank
+	  lines
+
+2006-04-21 12:56  markus
+
+	* imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.2target/description.html: docs fixes
+
+2006-04-21 12:45  markus
+
+	* raster/r.region/description.html: broken header fixed
+
+2006-04-21 12:05  markus
+
+	* doc/projectionintro.html: r.region added
+
+2006-04-21 09:06  markus
+
+	* raster/r.in.mat/description.html: polished see also
+
+2006-04-21 07:30  hamish
+
+	* include/gis.h: add a struct for RGBA_Color
+
+2006-04-21 03:44  hamish
+
+	* raster/r.digit/description.html: updates
+
+2006-04-21 03:34  hamish
+
+	* raster/r.digit/digitize.c, raster/r.digit/get_label.c,
+	  raster/r.digit/get_map.c, raster/r.digit/get_type.c,
+	  raster/r.digit/local_proto.h, raster/r.digit/main.c: make into a
+	  normal module, i18n, better (y/n) defaults, quit without saving
+
+2006-04-21 02:14  hamish
+
+	* display/d.measure/description.html, display/d.measure/main.c: be
+	  a bit clearer about what units will be used
+
+2006-04-20 21:31  markus
+
+	* display/d.linegraph/description.html,
+	  general/g.setproj/description.html,
+	  imagery/i.class/description.html,
+	  raster/r.fill.dir/description.html,
+	  raster/r.flow/description.html,
+	  raster/r.out.ppm3/description.html,
+	  raster/r.out.tiff/description.html,
+	  raster/r.random.cells/description.html,
+	  raster/r.terraflow/description.html,
+	  raster/simwe/r.sim.sediment/description.html,
+	  raster3d/base/r3.mask.html,
+	  raster3d/r3.in.ascii/description.html,
+	  raster3d/r3.out.ascii/description.html,
+	  scripts/r.fillnulls/description.html,
+	  vector/v.surf.idw/description.html: urls fixed
+
+2006-04-20 15:41  michael
+
+	* gui/tcltk/gis.m/description.html: detailed documentation for GIS
+	  Manager 2
+
+2006-04-20 15:40  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Update to add new scripts to menu
+
+2006-04-20 13:17  markus
+
+	* scripts/m.proj/description.html: linked Evenden Report
+
+2006-04-20 13:11  hamish
+
+	* scripts/m.proj/description.html: add help page (derived from
+	  m.proj2's man page from GRASS 5)
+
+2006-04-20 12:27  hamish
+
+	* scripts/m.proj/m.proj: more hints in verbose mode
+
+2006-04-20 10:46  glynn
+
+	* Makefile: Remove -h switch from tar commands
+
+2006-04-20 09:26  hamish
+
+	* lib/init/init.sh: avoid including the pwd in the PATH if
+	  GRASS_ADDON_PATH was undefined (bug #4281)
+
+2006-04-20 08:32  hamish
+
+	* scripts/Makefile, scripts/m.proj, scripts/m.proj/Makefile,
+	  scripts/m.proj/m.proj: add new m.proj module: cs2cs reprojection
+	  frontend for a list of coordinates
+
+2006-04-20 05:40  hamish
+
+	* raster/r.surf.contour/main.c: use G_command_history()
+
+2006-04-20 02:43  hamish
+
+	* scripts/r.shaded.relief/description.html: _ back to .
+
+2006-04-20 02:29  hamish
+
+	* scripts/r.shaded.relief/r.shaded.relief: fix broken quoting
+	  units doesn't clobber scale
+	  save metadata info to map history file
+	  move alt,az checks to the parser (fixes bug #4311)
+	  r.mapcalc success test
+
+2006-04-19 21:43  michael
+
+	* scripts/r.shaded.relief/r.shaded.relief: fixed error message for
+	  sun angle to say "between 0 and 90 degrees"
+
+2006-04-19 18:15  michael
+
+	* gui/tcltk/gis.m/gmmenu.tcl: added v.in.dxf. Updated for
+	  compatability with GEM.
+
+2006-04-19 15:58  michael
+
+	* gui/tcltk/gis.m/maplabels.tcl: added support for GRASS named
+	  colors; fixed bug that caused objects
+	  to be mislabeled.
+
+2006-04-19 15:58  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: add erase canvas objects before
+	  redrawing.
+
+2006-04-19 15:57  michael
+
+	* gui/tcltk/gis.m/mapprint.tcl: Enhance postscript file output (pdf
+	  and eps)
+
+2006-04-19 14:54  markus
+
+	* raster/r.sum/description.html: more explanation
+
+2006-04-19 14:47  markus
+
+	* gui/tcltk/gis.m/description.html: HTML cleanup
+
+2006-04-19 14:43  markus
+
+	* doc/Makefile, doc/projectionintro.html,
+	  tools/build_html_index.sh: projection intro added
+
+2006-04-19 13:12  markus
+
+	* db/base/drivers.c: fixed wrong description
+
+2006-04-19 12:43  markus
+
+	* raster/r.proj/description.html: url added
+
+2006-04-19 09:47  markus
+
+	* scripts/r.in.srtm/description.html: SRTM Web Forum url
+
+2006-04-19 06:51  hamish
+
+	* scripts/i.landsat.rgb/description.html: add note that the module
+	  isn't restricted to just LANDSAT or 8-bit data.
+
+2006-04-19 06:14  hamish
+
+	* raster/r.cost/main.c: remove some redundant code
+
+2006-04-19 05:51  hamish
+
+	* raster/r.drain/description.html: fix vector inputs, can use both
+	  coord= and vect=, and max_points=1024
+
+2006-04-19 05:36  hamish
+
+	* raster/r.drain/main.c: fix input vector points map code:
+	  stop_points doesn't exist; user can
+	  enter both coord= and vector_points= on the command line.
+	  increase max points 100->1024 and check for buffer overflow.
+
+2006-04-19 04:00  hamish
+
+	* raster/r.drain/description.html: updates
+
+2006-04-19 03:05  hamish
+
+	* raster/r.drain/main.c: G_gisinit(), allocate space for site atts
+	  (bug #4286)
+
+2006-04-19 01:08  hamish
+
+	* scripts/i.landsat.rgb/description.html: much updates
+
+2006-04-19 00:19  hamish
+
+	* scripts/i.landsat.rgb/i.landsat.rgb: much updates
+
+2006-04-18 22:41  markus
+
+	* doc/vector/vector.html: some updates
+
+2006-04-18 22:37  markus
+
+	* db/drivers/sqlite/sqlite.html: url fixed
+
+2006-04-18 21:49  markus
+
+	* swig/Makefile: Doxygen based ProgMan generation simplified
+
+2006-04-18 21:13  markus
+
+	* Makefile: new htmldocs-single targets
+
+2006-04-18 21:12  markus
+
+	* lib/Makefile, lib/db/Doxyfile_arch_html,
+	  lib/db/Doxyfile_arch_latex, lib/db/Makefile,
+	  lib/g3d/Doxyfile_arch_html, lib/g3d/Doxyfile_arch_latex,
+	  lib/g3d/Makefile, lib/gis/Doxyfile_arch_html,
+	  lib/gis/Doxyfile_arch_latex, lib/gis/Makefile,
+	  lib/gmath/Makefile, lib/ogsf/Doxyfile_arch_html,
+	  lib/ogsf/Doxyfile_arch_latex, lib/ogsf/Makefile,
+	  lib/proj/Makefile, lib/segment/Makefile,
+	  lib/vector/Doxyfile_arch_html, lib/vector/Doxyfile_arch_latex,
+	  lib/vector/Makefile, lib/vector/dglib/Makefile: Doxygen based
+	  ProgMan generation simplified
+
+2006-04-18 20:57  markus
+
+	* include/Make/Doxygen.make: comments added
+
+2006-04-18 20:54  markus
+
+	* include/Make/Doxyfile_arch_html,
+	  include/Make/Doxyfile_arch_latex, include/Make/Doxygen.make:
+	  centralized Doxygen Makefile targets
+
+2006-04-18 20:54  cedric
+
+	* lib/gis/gui.tcl: Changes r:g:b triplets to named colors when
+	  possible. Correted sense of internal alpha.
+
+2006-04-18 17:06  glynn
+
+	* include/colors.h, lib/gis/color_str.c: Move arrays from header
+	  file to source file
+
+2006-04-18 16:13  markus
+
+	* scripts/Makefile: i.landsat.rgb added
+
+2006-04-18 16:13  markus
+
+	* scripts/i.landsat.rgb, scripts/i.landsat.rgb/Makefile,
+	  scripts/i.landsat.rgb/description.html,
+	  scripts/i.landsat.rgb/i.landsat.rgb: added
+
+2006-04-18 15:14  markus
+
+	* raster/r.clump/description.html: removed broken links
+
+2006-04-18 14:52  glynn
+
+	* display/drivers/PNG/Color_table.c,
+	  display/drivers/XDRIVER/Color_table.c: Fix formatting
+
+2006-04-18 14:52  markus
+
+	* raster/r.cost/main.c: fixed segfault (bug #)
+
+2006-04-18 11:54  markus
+
+	* scripts/r.in.srtm/r.in.srtm: URLs updated
+
+2006-04-18 08:42  markus
+
+	* lib/gis/find_file.c: doxygenized
+
+2006-04-18 08:13  hamish
+
+	* vector/v.label/main.c: bypass fixed fontsize dynamic space
+	  calculation if given on the command line.
+	  (allows module to run without a xmon for the new GUI)
+
+2006-04-18 06:24  hamish
+
+	* raster/r.surf.contour/main.c: make fast mode the default as
+	  memory use is only slightly more.
+	  see https://intevation.de/rt/webrt?serial_num=4248
+
+2006-04-18 05:52  hamish
+
+	* scripts/d.vect.thematic/d.vect.thematic: add warning if
+	  breakpoints are given but not to be used.
+
+2006-04-18 05:24  cedric
+
+	* display/d.erase/main.c: Added color gisprompt.
+
+2006-04-18 05:23  cedric
+
+	* lib/D/Derase.c: Use the shared color parsing code. Removed
+	  colors.h header.
+
+2006-04-18 05:19  cedric
+
+	* display/d.grid/main.c: Added gisprompts for color. Uses
+	  simplified (abstracted) color handling. Removed colors.h header.
+
+2006-04-18 05:12  cedric
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c: Added
+	  gisprompts, uses simplified color system.
+
+2006-04-18 05:06  hamish
+
+	* raster/r.surf.contour/description.html: note existing bugs
+
+2006-04-18 05:03  cedric
+
+	* include/display.h, lib/display/tran_colr.c: Added commands to
+	  make using colors in display programs easier.
+
+2006-04-18 04:37  hamish
+
+	* raster/r.mapcalc/r.mapcalc.html: add pow()
+
+2006-04-18 03:17  cedric
+
+	* include/colors.h: Corrected number of color names.
+
+2006-04-18 02:55  hamish
+
+	* raster/r.cost/description.html,
+	  raster/r.cost/rcost_knightsmove.png: rework the help page, add a
+	  figure showing result of using knight's move
+
+2006-04-17 23:46  hamish
+
+	* lib/segment/format.c: Fix segment short read() errors. (Glynn
+	  Clements) Bug #s: 3514,3741,4244
+
+2006-04-17 22:02  cedric
+
+	* display/drivers/PNG/Color.c,
+	  display/drivers/XDRIVER/Draw_bitmap.c,
+	  display/drivers/XDRIVER/Graph_set.c: Removed colors.h header from
+	  files that don't use it.
+
+2006-04-17 22:01  cedric
+
+	* display/drivers/PNG/Color_table.c,
+	  display/drivers/XDRIVER/Color_table.c: Look up colors from
+	  standard color definitions in colors.h instead of many seperate
+	  color lists to
+	  maintain.
+
+2006-04-17 21:59  cedric
+
+	* include/display.h: New command for using custom colors in display
+	  programs.
+
+2006-04-17 21:58  cedric
+
+	* lib/display/tran_colr.c: Translated colors are looked up from the
+	  standard color definitions in colors.h. This changes (corrects)
+	  the meanings of some colors, notably violet and magenta, and adds
+	  the colors cyan and purple. A new
+	  command, D_translate_or_add_color, does most of the work needed
+	  for a display module to use custom
+	  colors using G_str_to_color instead of disparate implementations
+	  of color parsers.
+
+2006-04-17 21:52  cedric
+
+	* lib/gis/gui.tcl: Color support changed to match the behaviour of
+	  G_str_to_color (colors in colors.h). RGB to tcl/tk color
+	  conversion simplified.
+
+2006-04-17 21:51  cedric
+
+	* lib/gis/color_str.c: Changed to look up colors from the standard
+	  color definitions in colors.h. This results in a slight
+	  change in the meanings of some colors.
+
+2006-04-17 21:46  cedric
+
+	* include/colors.h: Added purple (alias to violet). With next few
+	  commits should clear up bug 3049.
+
+2006-04-17 20:45  cedric
+
+	* include/colors.h: Added cyan as a basic color. Reordered colors.
+	  Added structures for specifying standard RGB values for
+	  the basic colors.
+
+2006-04-17 16:43  michael
+
+	* gui/tcltk/gis.m/maplabels.tcl: postscript labels layer for vector
+	  objects
+
+2006-04-17 16:42  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmtool1.tcl,
+	  gui/tcltk/gis.m/gmtool2.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl:
+	  updated for consistency with new options database for formatting
+
+2006-04-17 16:42  michael
+
+	* lib/gtcltk/options.tcl: added formatting for entrybg and
+	  ButtonBar
+
+2006-04-17 16:40  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.tcl,
+	  gui/tcltk/gis.m/mapprint.tcl, gui/tcltk/gis.m/maptext.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.tcl,
+	  gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/vector.tcl: made
+	  consistent with new options database for formatting
+
+2006-04-17 16:39  michael
+
+	* gui/icons/gui-maplabels.gif: icon for new postscript labels layer
+
+2006-04-17 16:38  michael
+
+	* gui/icons/gui-maptext.gif: updated to indicate postscript text
+
+2006-04-17 16:37  michael
+
+	* gui/icons/element-windows.gif: updated icon to fit 24x24 standard
+
+2006-04-16 22:36  cedric
+
+	* display/d.graph/main.c, display/d.mapgraph/main.c,
+	  display/d.path/main.c, display/d.vect.chart/main.c: Added color
+	  gisprompts to the display modules that use G_str_to_color type
+	  colors.
+
+2006-04-16 21:03  cedric
+
+	* display/d.vect/main.c: Added color gisprompts.
+
+2006-04-16 21:01  cedric
+
+	* include/gis.h: Added GISPROMPT_COLOR ("color,grass,color") macro
+	  for parser.c options descriptions.
+
+2006-04-16 20:59  cedric
+
+	* lib/gis/parser.c: Added trivial color gisprompt support to
+	  interactive console user interface. Programmer
+	  errors on gisprompts no longer prevent entry of data in
+	  interactive interface even though
+	  the program would have worked from the command line.
+
+2006-04-16 20:55  cedric
+
+	* lib/gis/gui.tcl: Widgets expand to fill width of window instead
+	  of scrolling.
+
+2006-04-16 19:59  cedric
+
+	* lib/gis/gui.tcl: Fixed formatting of grass named colors.
+
+2006-04-16 18:51  cedric
+
+	* lib/gis/gui.tcl: Color gisprompt support for gisprompt:
+	  color,grass,[whatever] and gisprompt:
+	  color,tcltk,[whatever]. Entry type description label shows
+	  multiple and name, balloon help
+	  is formatted like --help output (bug 3002).
+
+2006-04-16 18:36  cedric
+
+	* gui/icons/edit-color.gif: edit-color.gif icon from bwidgets.
+
+2006-04-15 03:23  cedric
+
+	* gui/tcltk/gis.m/runandoutput.tcl: Output from commands run in the
+	  background is discarded instead of
+	  polluting the terminal. runcmd made more general.
+
+2006-04-15 03:20  cedric
+
+	* lib/gtcltk/options.tcl: Fixed spelling error (balloon help now
+	  correct font). Requires bwidgets
+	  b itself.
+
+2006-04-15 03:19  cedric
+
+	* lib/gtcltk/gronsole.tcl: Removed an unwise error throw, donecmd
+	  now run if the process fails to
+	  open. This fixes the bug (no report) where the run buttons
+	  wouldn't
+	  become reactivated.
+
+2006-04-14 17:51  michael
+
+	* gui/tcltk/gis.m/vector.tcl: Update legend to reflect vector type
+	  selected in check boxes
+
+2006-04-14 17:51  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Improve help text for zoom to
+	  current region and redraw all
+
+2006-04-14 17:50  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Display coordinates activated
+	  during zooming, measuring, and panning.
+
+2006-04-13 19:25  scott
+
+	* raster/wildfire/r.ros/description.html,
+	  raster/wildfire/r.spread/description.html: removed references to
+	  r.mask from help modules
+
+2006-04-13 19:02  scott
+
+	* vector/v.surf.idw/description.html: removed reference to r.mask
+	  from help
+
+2006-04-13 19:01  scott
+
+	* raster/r.average/description.html,
+	  raster/r.circle/description.html, raster/r.coin/description.html,
+	  raster/r.describe/description.html,
+	  raster/r.kappa/description.html,
+	  raster/r.median/description.html, raster/r.mode/description.html,
+	  raster/r.neighbors/description.html,
+	  raster/r.random.cells/description.html,
+	  raster/r.random.surface/description.html,
+	  raster/r.random/description.html,
+	  raster/r.report/description.html,
+	  raster/r.resample/description.html,
+	  raster/r.stats/description.html,
+	  raster/r.surf.fractal/description.html,
+	  raster/r.surf.gauss/description.html,
+	  raster/r.surf.idw/description.html,
+	  raster/r.surf.idw2/description.html,
+	  raster/r.surf.random/description.html,
+	  raster/r.watershed/front/description.html: Removing help
+	  references to nonexistant r.mask
+
+2006-04-13 18:50  scott
+
+	* display/d.histogram/description.html,
+	  display/d.rast.edit/description.html,
+	  imagery/i.class/description.html,
+	  imagery/i.ifft/description.html,
+	  imagery/i.maxlik/description.html: removed references to r.mask
+	  in help pages
+
+2006-04-12 17:42  cho
+
+	* lib/init/init.sh: Non-interactive startup fixed for LOCATION="."
+
+2006-04-12 17:39  cho
+
+	* lib/init/init.sh: Non-interactive startup fixed for LOCATION="."
+
+2006-04-12 13:04  radim
+
+	* lib/gis/location.c: dont use backslash
+
+2006-04-12 12:25  radim
+
+	* scripts/r.out.gdal/r.out.gdal: no need to set projection, it is
+	  read by GDAL from GRASS location
+
+2006-04-12 09:28  radim
+
+	* vector/v.lrs/v.lrs.create/Makefile,
+	  vector/v.lrs/v.lrs.label/Makefile,
+	  vector/v.lrs/v.lrs.segment/Makefile,
+	  vector/v.lrs/v.lrs.where/Makefile: removed raster/display deps
+
+2006-04-12 09:23  radim
+
+	* vector/v.lrs/lib/Makefile: win fix
+
+2006-04-12 07:17  cho
+
+	* lib/vector/Vlib/cats.c: Vect_str_to_cat_list() bug fixed
+
+2006-04-11 13:02  markus
+
+	* doc/parms_flags.txt: parameter/flags cleanup docs
+
+2006-04-11 09:51  radim
+
+	* vector/Makefile, vector/v.lrs, vector/v.lrs/LICENSE,
+	  vector/v.lrs/MAIL, vector/v.lrs/Makefile, vector/v.lrs/lib,
+	  vector/v.lrs/lib/Makefile, vector/v.lrs/lib/lrs.c,
+	  vector/v.lrs/lib/lrs.h, vector/v.lrs/lrs.html,
+	  vector/v.lrs/v.lrs.create, vector/v.lrs/v.lrs.create/Makefile,
+	  vector/v.lrs/v.lrs.create/description.html,
+	  vector/v.lrs/v.lrs.create/main.c, vector/v.lrs/v.lrs.label,
+	  vector/v.lrs/v.lrs.label/Makefile,
+	  vector/v.lrs/v.lrs.label/description.html,
+	  vector/v.lrs/v.lrs.label/main.c, vector/v.lrs/v.lrs.segment,
+	  vector/v.lrs/v.lrs.segment/Makefile,
+	  vector/v.lrs/v.lrs.segment/description.html,
+	  vector/v.lrs/v.lrs.segment/main.c, vector/v.lrs/v.lrs.where,
+	  vector/v.lrs/v.lrs.where/Makefile,
+	  vector/v.lrs/v.lrs.where/description.html,
+	  vector/v.lrs/v.lrs.where/main.c: lrs
+
+2006-04-11 08:40  radim
+
+	* vector/v.kernel/main.c: speed up patch by sorokina at ornl.gov, bug
+	  4258
+
+2006-04-10 16:24  radim
+
+	* general/g.parser/main.c: more debug
+
+2006-04-10 03:36  hamish
+
+	* lib/ogsf/gsd_img_ppm.c: include MPEG filename in output message
+
+2006-04-10 01:28  brad
+
+	* gui/tcltk/d.m/script/r.reclass.file,
+	  gui/tcltk/gis.m/script/r.reclass.file: - Fix bug #4267 for both
+	  d.m and gis.m.
+
+2006-04-10 00:33  hamish
+
+	* scripts/r.shaded.relief/r.shaded.relief: output map name is new,
+	  quote input map name to allow special chars "-" "."
+	  (bug 4272)
+
+2006-04-10 00:14  hamish
+
+	* scripts/r.shaded.relief/description.html: updates (bug #4272)
+
+2006-04-09 01:49  cedric
+
+	* gui/tcltk/d.m/d.m.tcl: Seperated panes for tree and options
+	  (actually put tree in a pane) (wish
+	  3779). Removed unnecessary packs on members of Bwidgets.
+
+2006-04-09 01:00  cedric
+
+	* vector/v.extrude/main.c: Fixed gisprompts.
+
+2006-04-08 11:36  hamish
+
+	* visualization/nviz/scripts/panel_kanimator.tcl: new key time
+	  dialog: if all fields are blank then do nothing
+
+2006-04-08 10:31  soeren
+
+	* raster3d/base/r3.info.main.c: Using G_format_timestamp() to
+	  create the timestamp output
+
+2006-04-08 10:30  soeren
+
+	* raster/r.info/description.html, raster/r.info/main.c: Using
+	  G_format_timestamp() to create the timestamp output and
+	  documentation update
+
+2006-04-08 08:50  hamish
+
+	* visualization/nviz/scripts/panel_kanimator.tcl: get rid of
+	  rounding error for number of frames text
+
+2006-04-08 07:34  hamish
+
+	* lib/gis/color_hist.c: use DEFAULT_BG_COLOR
+
+2006-04-08 01:50  cho
+
+	* vector/Makefile: Re-added v.in.dxf. v.in.dxf has been rewritten
+	  for GRASS 6 and it's in CVS.
+
+2006-04-08 00:36  brad
+
+	* vector/Makefile: - Removed v.in.dxf. No longer in tree.
+
+2006-04-07 23:43  brad
+
+	* general/g.setproj/Makefile: - Added EXTRA_CFLAGS = $(GDALCFLAGS)
+	  to fix build
+
+2006-04-07 03:16  hamish
+
+	* visualization/nviz/html/nvimg/panel/keyexample.gif,
+	  visualization/nviz/html/nvimg/panel/keyexample.png,
+	  visualization/nviz/html/nviz_panel_kanim.html: update to new &
+	  better keyframe panel screenshot
+
+2006-04-07 02:57  hamish
+
+	* visualization/nviz/html/nviz_panel_kanim.html: add note to
+	  example about codecs needing canvas size to be a multiple of 16
+
+2006-04-07 02:42  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: rearrange scripting
+	  menu
+
+2006-04-07 02:29  hamish
+
+	* display/d.nviz/main.c: better flag description
+
+2006-04-07 01:16  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: update for new nviz
+	  docs path
+
+2006-04-07 00:36  hamish
+
+	* display/d.nviz/main.c: strncpy() doesn't null terminate the
+	  string on its own
+
+2006-04-06 13:52  radim
+
+	* raster3d/base/Makefile: suffix
+
+2006-04-06 06:45  hamish
+
+	* display/d.nviz/main.c: append filename extensions if the need
+	  them
+	  follow path with mouse in real-time
+	  EXIT_SUCCESS
+	  more explanitive warning message
+
+2006-04-06 05:17  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: better name for open
+	  new script menu item
+
+2006-04-06 05:11  glynn
+
+	* lib/gis/popen.c: Fix type of terminating null-pointer constant
+
+2006-04-06 05:05  hamish
+
+	* visualization/nviz/scripts/script_support.tcl,
+	  visualization/nviz/scripts/script_tools: append ".nvscr"
+	  extension to new script files if it isn't already there,
+	  update tkerror to bgerror.
+
+2006-04-06 04:28  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_kanimator.tcl: *** empty log
+	  message ***
+
+2006-04-06 03:15  cedric
+
+	* general/g.region/cmd/main.c: Added guisections to g.region. Added
+	  gisprompt for 3d views. Made shell script
+	  output the last displayed help option instead of the first.
+
+2006-04-06 02:38  cedric
+
+	* lib/gis/gui.tcl: Ignore directories on icons for elements so that
+	  "paint/labels" can get an icon.
+
+2006-04-06 02:35  cedric
+
+	* gui/icons/AUTHORS, gui/icons/element-3d.view.gif,
+	  gui/icons/element-group.gif, gui/icons/element-icons.gif,
+	  gui/icons/element-labels.gif: New gisprompt icons. Group and
+	  labels copied from gis.m icons.
+
+2006-04-06 00:41  glynn
+
+	* raster/r.resamp.rst/main.c: Fix integer/pointer mismatch
+
+2006-04-06 00:37  glynn
+
+	* include/Make/Platform.make.in: Remove
+	  {CFLAGS,LDFLAGS}_{DEBUG,WARNING,OPTIMIZE}
+
+2006-04-06 00:28  cedric
+
+	* general/manage/cmd/copy.c, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c: Gisprompts generated automatically
+	  from data in element_list. These commands now
+	  have prompts for 3d rasters, 3d regions, 3d views, and ascii
+	  vector files, as
+	  well as for any other elements added in the future.
+
+2006-04-06 00:23  cedric
+
+	* general/manage/lib/read_list.c: Gisprompt cleanup prep: stores
+	  main element, needed for gisprompt, and main
+	  element description in list structure.
+
+2006-04-06 00:21  cedric
+
+	* general/manage/list.h: Clean up gisprompts prep: Added main
+	  element and main element description to list
+	  structure.
+
+2006-04-06 00:20  cedric
+
+	* general/manage/lib/Makefile: Now compiles when list.h header in
+	  parent directory is changed.
+
+2006-04-05 21:32  cho
+
+	* display/d.vect/area.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c: Added random colors (-c flag) according
+	  to layer number when all layers are
+	  displayed (layer=-1).
+
+2006-04-05 21:07  markus
+
+	* vector/v.patch/description.html: attrib transfer
+
+2006-04-05 20:52  cho
+
+	* vector/v.in.dxf/write_vect.c: -1 flag bug fixed
+
+2006-04-05 19:06  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/add_text.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/main.c, vector/v.in.dxf/write_vect.c: Added -1
+	  flag to import all objects into one layer
+
+2006-04-05 12:06  hamish
+
+	* lib/ogsf/gsd_img_ppm.c: make it easier to use the Xvid codec for
+	  MPEG encoding (gcc -D"USE_XVID")
+	  canvas size must be a multiple of 4 (16?).
+
+2006-04-05 11:40  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: change redundant menu
+	  item name
+
+2006-04-05 09:04  hamish
+
+	* visualization/nviz/scripts/nviz2.2_script: append file
+	  extensions, change "image dump" to "save image as"
+	  should probably check to see that the extension isn't given twice
+	  and strip if needed. (how?)
+
+2006-04-05 08:41  hamish
+
+	* visualization/nviz/scripts/panel_kanimator.tcl: auto-append .mpg
+	  to MPEG streams
+
+2006-04-05 08:17  markus
+
+	* scripts/r.in.srtm/description.html: extended
+
+2006-04-05 07:49  hamish
+
+	* visualization/nviz/html/nviz_panel_kanim.html: make things a lot
+	  clearer
+
+2006-04-05 06:10  hamish
+
+	* visualization/nviz/html/nviz_panel_kanim.html: more html cleanup
+
+2006-04-05 05:56  hamish
+
+	* visualization/nviz/html/nviz_panel_kanim.html: more updates
+
+2006-04-05 05:27  hamish
+
+	* visualization/nviz/html/nviz_panel_kanim.html: Increase time by 3
+	  sec, not 1 minute after "Add". (missed one)
+
+2006-04-05 05:24  hamish
+
+	* visualization/nviz/html/nviz_panel_kanim.html: Increase time by 3
+	  sec, not 1 minute after "Add".
+
+2006-04-05 05:21  hamish
+
+	* visualization/nviz/scripts/panel_kanimator.tcl: Increase time by
+	  3 sec, not 1 minute after "Add".
+	  Allow blank fields in "New Key Time" window.
+
+2006-04-05 04:43  cedric
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.tcl,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/vector.tcl: Common compositing code move into
+	  commonlayer.tcl. Layers are now rendered only if
+	  they are checked and modified, not if they are modified but not
+	  checked.
+
+2006-04-05 04:39  cedric
+
+	* gui/tcltk/gis.m/legend.tcl: Some compositing code moved to common
+	  layer library. Fixed some bugs I found with
+	  icons.
+
+2006-04-05 04:37  cedric
+
+	* gui/tcltk/gis.m/gm.tcl: Added source of common layer library,
+	  comments.
+
+2006-04-05 04:36  cedric
+
+	* gui/tcltk/gis.m/commonlayer.tcl: Pulled the identical or almost
+	  identical compositing code out of the layer modules
+	  to start this library of common code shared amongst layers.
+
+2006-04-05 04:28  cedric
+
+	* gui/tcltk/gis.m/runandoutput.tcl: Removed puts that were
+	  polluting console
+
+2006-04-05 04:18  cedric
+
+	* lib/gis/gui.tcl: Simplified configuring icons on things.
+
+2006-04-05 03:56  brad
+
+	* raster/r.carve/support.c: - Added G_command_history()
+
+2006-04-05 03:36  hamish
+
+	* visualization/nviz/html/nviz_panel_kanim.html: add mpeg example
+
+2006-04-04 22:27  cho
+
+	* display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/dir.c, display/d.vect/label.c,
+	  display/d.vect/plot1.c: Displays lines with no category
+	  regardless of whether layer= option is given or not
+
+2006-04-04 21:13  markus
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Msg cosmetics; v.type added
+
+2006-04-04 20:55  markus
+
+	* locale/po/grasslibs_de.po: mgs cosmetics
+
+2006-04-04 20:46  markus
+
+	* vector/v.in.dxf/main.c: copyright added
+
+2006-04-04 20:38  markus
+
+	* locale/po/grasslibs_de.po: cometics
+
+2006-04-04 20:36  cedric
+
+	* lib/gis/gui.tcl, lib/gtcltk/select.tcl: Added scrolling to select
+	  dialogs. Moved scrolling code to select.tcl.
+	  Fixed scrolling code to scroll more specifically.
+
+2006-04-04 20:26  markus
+
+	* Makefile, lib/external/bwidget/Makefile, lib/symbol/Makefile:
+	  Roberto Flor: added -h flag to tar to expand links
+
+2006-04-04 20:23  markus
+
+	* vector/v.select/main.c, vector/v.surf.idw/main.c: added missing
+	  copyright statement/contributors
+
+2006-04-04 20:09  cedric
+
+	* gui/tcltk/gis.m/runandoutput.tcl: gui.tcl overloading cosmetics:
+	  Buttons put in a frame, window
+	  scales nicely (Buttons are packed against
+	  bottom of window at the top of the packing order).
+
+2006-04-04 20:06  cedric
+
+	* lib/gis/README.GUI, lib/gis/gui.tcl: Cosmetics: Module
+	  description label text wraps, buttons put in a frame,
+	  unused progress bar removed, window scales nicely (buttons and
+	  command
+	  label packed against bottom).
+	  Bindings for scrolling frames and wrapping labels factored out
+	  into
+	  procs.
+
+2006-04-04 19:47  markus
+
+	* vector/v.build.polylines/main.c, vector/v.patch/main.c,
+	  vector/v.to.rast/main.c: added missing copyright
+	  statement/contributors (thanks to Schuyler's helpful PERL script)
+
+2006-04-04 18:20  cho
+
+	* db/base/execute.c, db/base/select.c,
+	  display/d.font.freetype/main.c, display/d.graph/main.c,
+	  display/d.mapgraph/main.c, display/d.text.freetype/main.c,
+	  ps/ps.map/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.mat/main.c,
+	  raster/r.out.vtk/parameters.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/main.c,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.png/d.out.png,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/r.in.aster/r.in.aster,
+	  scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/v.in.e00/v.in.e00, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.mapgen/v.in.mapgen, vector/v.external/main.c,
+	  vector/v.in.ascii/in.c, vector/v.in.dwg/main.c,
+	  vector/v.in.dxf/main.c, vector/v.in.ogr/main.c,
+	  vector/v.out.ascii/out.c, vector/v.out.vtk/main.c,
+	  vector/v.transform/main.c: Undefined "file" gisprompt changed to
+	  either old_file or new_file.
+	  (new, old, mapset, any, old_file, and new_file are defined in
+	  lib/gis/parser.c)
+	  Interactive execution from the command line does not work with
+	  "file".
+
+2006-04-04 18:01  cho
+
+	* lib/gis/gui.tcl: gisprompt for file (old_file, new_file) fixed.
+	  Save File dialog added.
+
+2006-04-04 15:07  markus
+
+	* raster/r.thin/main.c: increased to 200 iterations default
+
+2006-04-04 14:48  markus
+
+	* raster/r.thin/local_proto.h, raster/r.thin/main.c,
+	  raster/r.thin/thin_lines.c: added iterations parameter. Added
+	  exit error message if failure. Fixed wording. Increased default
+	  iterations
+
+2006-04-04 14:40  markus
+
+	* raster/r.thin/main.c: indent -nbad -bap -bbb -nbbo -nbc -br -bli1
+	  -bls -cbi0 -ncdb -nce -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl
+	  -i4 -ip4 -l80 -lc80 -lp -npcs -pi4 -nprs -npsl -sbi0 -sc -nsob
+	  -ss -ts8
+
+2006-04-04 13:43  markus
+
+	* contributors.csv: CVS contributors as CSV added (for
+	  semiautomated copyright statement processing
+
+2006-04-04 13:05  markus
+
+	* vector/v.external/main.c, vector/v.in.ascii/in.c,
+	  vector/v.in.dwg/main.c, vector/v.in.dxf/main.c,
+	  vector/v.in.ogr/main.c, vector/v.out.ascii/out.c,
+	  vector/v.out.vtk/main.c, vector/v.transform/main.c: reverted
+	  gisprompts for file (to get file manager back); EXIT status
+	  fixed; some i18N
+
+2006-04-04 10:40  radim
+
+	* general/g.parser/description.html: variables converted to
+	  uppercase
+
+2006-04-04 10:33  radim
+
+	* gui/tcltk/d.m/d.m, gui/tcltk/d.m/script/d.colors.sh,
+	  gui/tcltk/d.m/script/d.shadedmap, gui/tcltk/d.m/script/d.text.sh,
+	  gui/tcltk/d.m/script/d.title.sh,
+	  gui/tcltk/d.m/script/r.colors.rules,
+	  gui/tcltk/d.m/script/r.reclass.file,
+	  gui/tcltk/d.m/script/r.reclass.rules,
+	  gui/tcltk/d.m/script/r.recode.file,
+	  gui/tcltk/d.m/script/r.recode.rules,
+	  gui/tcltk/d.m/script/r.support.sh,
+	  gui/tcltk/d.m/script/v.in.asciipoints, gui/tcltk/gis.m/gis.m,
+	  gui/tcltk/gis.m/script/d.colors.sh,
+	  gui/tcltk/gis.m/script/d.shadedmap,
+	  gui/tcltk/gis.m/script/d.text.sh,
+	  gui/tcltk/gis.m/script/r.colors.rules,
+	  gui/tcltk/gis.m/script/r.reclass.file,
+	  gui/tcltk/gis.m/script/r.reclass.rules,
+	  gui/tcltk/gis.m/script/r.recode.file,
+	  gui/tcltk/gis.m/script/r.recode.rules,
+	  gui/tcltk/gis.m/script/r.support.sh,
+	  gui/tcltk/gis.m/script/v.in.asciipoints,
+	  scripts/d.correlate/d.correlate, scripts/d.monsize/d.monsize,
+	  scripts/d.mvmon/d.mvmon, scripts/d.out.file/d.out.file,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.png/d.out.png, scripts/d.polar/d.polar,
+	  scripts/d.rast.leg/d.rast.leg, scripts/d.resize/d.resize,
+	  scripts/d.slide.show/d.slide.show, scripts/d.split/d.split,
+	  scripts/d.vect.thematic/d.vect.thematic, scripts/db.test/db.test,
+	  scripts/g.manual/g.manual, scripts/g.mlist/g.mlist,
+	  scripts/g.mremove/g.mremove,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/i.oif/i.oif,
+	  scripts/i.spectral/i.spectral, scripts/i.tasscap/i.tasscap,
+	  scripts/r.blend/r.blend, scripts/r.fillnulls/r.fillnulls,
+	  scripts/r.in.aster/r.in.aster, scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.mapcalculator/r.mapcalculator, scripts/r.mask/r.mask,
+	  scripts/r.out.gdal/r.out.gdal, scripts/r.plane/r.plane,
+	  scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.shaded.relief/r.shaded.relief,
+	  scripts/r.univar.sh/r.univar.sh,
+	  scripts/r3.mapcalculator/r3.mapcalculator,
+	  scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all,
+	  scripts/v.db.update/v.db.update, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.garmin/v.in.garmin, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel,
+	  scripts/v.in.mapgen/v.in.mapgen,
+	  scripts/v.rast.stats/v.rast.stats, scripts/v.report/v.report,
+	  scripts/v.univar.sh/v.univar.sh, scripts/v.what.vect/v.what.vect:
+	  variables converted to uppercase
+
+2006-04-04 09:27  glynn
+
+	* lib/gis/remove.c: Enlarge buffer to 4K
+	  Add overflow check
+
+2006-04-04 09:25  radim
+
+	* gui/tcltk/gis.m/script/d.title.sh: variables converted to
+	  uppercase
+
+2006-04-04 08:31  radim
+
+	* general/g.parser/main.c: set uppercase vars
+
+2006-04-04 08:30  radim
+
+	* include/gisdefs.h, lib/gis/strings.c:
+	  G_str_to_upper,G_str_to_lower
+
+2006-04-04 06:12  hamish
+
+	* display/d.histogram/Makefile, display/d.histogram/main.c: clear
+	  the screen before drawing, EXIT_SUCCESS, i18n
+
+2006-04-03 19:38  markus
+
+	* gui/tcltk/gis.m/gm.tcl: mgs cosmetics
+
+2006-04-03 08:42  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/mapprint.tcl,
+	  gui/tcltk/gis.m/runandoutput.tcl: Added abstraction (procs) for
+	  displaying constructed output in the output window.
+	  Removed vestigial code. Converted existing constructed output
+	  code from old output window to
+	  new output window.
+
+2006-04-03 08:27  cedric
+
+	* gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/vector.tcl: Tiny
+	  changes: corrected spelling in vector.tcl, removed a no-longer
+	  used global from
+	  thematic.tcl
+
+2006-04-03 08:23  cedric
+
+	* lib/gtcltk/gronsole.tcl: Added features: add text to an
+	  annotation, set click binding for an
+	  individual command or annotation.
+
+2006-04-01 17:17  hamish
+
+	* scripts/r.univar.sh/r.univar.sh: catch it if percent is left
+	  empty
+
+2006-04-01 12:01  stephan
+
+	* locale/po/grasslibs_de.po: + more german i18n-translations
+
+2006-04-01 12:00  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n translations
+
+2006-04-01 07:35  cho
+
+	* raster/r.grow2/main.c: Removed gcc warnings
+
+2006-04-01 07:33  cho
+
+	* raster/r.grow2/main.c: added space
+
+2006-04-01 07:32  hamish
+
+	* vector/v.to.db/description.html: add note about column must
+	  already exist to cleaned up notes section
+
+2006-03-31 21:23  cho
+
+	* vector/v.in.dxf/add_point.c: cosmetics
+
+2006-03-31 21:19  cho
+
+	* vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/dxf_to_vect.c,
+	  vector/v.in.dxf/global.h, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/write_vect.c: Remove map unless any layer found
+
+2006-03-31 20:51  glynn
+
+	* lib/ogsf/GS2.c, lib/ogsf/gsd_legend.c, lib/ogsf/local_proto.h:
+	  Change fontbase argument from GLuint* -> GLuint in
+	  GS_draw_legend()
+	  and gsd_put_legend() to match actual usage
+
+2006-03-31 20:49  glynn
+
+	* raster/r.le/r.le.trace/main.c: Fix typos:
+	  PATCH* -> FILE*
+	  Trailing garbage on #include directive
+
+2006-03-31 20:48  glynn
+
+	* raster/simwe/simlib/input.c: Fix bug due to calling
+	  G_is_f_null_value() on DCELL arrays
+
+2006-03-31 20:46  glynn
+
+	* raster/simwe/simlib/waterglobs.h: Remove invalid "extern" from
+	  struct definition
+
+2006-03-31 20:45  glynn
+
+	* vector/v.normal/main.c: Fix typo in definition of -r flag
+
+2006-03-31 20:44  glynn
+
+	* visualization/xganim/main.c: Fix type of XtAppAddWorkProc()
+	  callback
+
+2006-03-31 20:44  glynn
+
+	* vector/v.vol.rst/main.c: Fix int/pointer comparisons
+
+2006-03-31 20:34  cho
+
+	* vector/v.in.dxf/main.c, vector/v.in.dxf/write_vect.c: Escape
+	  single quotes in SQL
+
+2006-03-31 20:22  glynn
+
+	* vector/v.vol.rst/dataoct.h: Add missing "struct octtree"
+	  declaration
+
+2006-03-31 20:21  glynn
+
+	* vector/v.normal/scancats.c: Fix prototype of scan_cats()
+
+2006-03-31 20:20  glynn
+
+	* include/gisdefs.h, lib/gis/color_str.c, lib/gis/key_value1.c: Add
+	  "const" to protoypes of G_str_to_color, G_set_key_value
+
+2006-03-31 20:19  glynn
+
+	* lib/fonts/for_grass/font_2_bin.c: Change index -> findex (index
+	  is a standard library function)
+
+2006-03-31 20:17  glynn
+
+	* display/d.zoom/main.c: Fix bug in handling of -h flag (handheld
+	  mode was always enabled)
+
+2006-03-31 20:16  glynn
+
+	* display/d.text.freetype/main.c: Pass correct argument types to
+	  iconv()
+
+2006-03-31 19:49  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/add_text.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/main.c: Added -i flag
+
+2006-03-31 19:31  cho
+
+	* db/base/execute.c, db/base/select.c,
+	  display/d.font.freetype/main.c, display/d.graph/main.c,
+	  display/d.mapgraph/main.c, display/d.text.freetype/main.c,
+	  ps/ps.map/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.mat/main.c,
+	  raster/r.out.vtk/parameters.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.vtk/main.c,
+	  vector/v.external/main.c, vector/v.in.ascii/in.c,
+	  vector/v.in.dwg/main.c, vector/v.in.dxf/main.c,
+	  vector/v.in.ogr/main.c, vector/v.out.ascii/out.c,
+	  vector/v.out.vtk/main.c, vector/v.transform/main.c: Fixed
+	  gisprompts for file
+
+2006-03-31 15:17  glynn
+
+	* lib/raster/io.c: Make R_kill_driver() wait for driver to
+	  terminate
+
+2006-03-31 14:51  glynn
+
+	* raster/r.random.cells/init.c: Fix declaration to match definition
+
+2006-03-31 11:24  markus
+
+	* general/g.setproj/get_datum.c: added missing header
+
+2006-03-31 09:13  cho
+
+	* vector/v.in.dxf/description.html: fixed typo
+
+2006-03-31 09:10  cho
+
+	* vector/v.in.dxf/debug.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/main.c: deleted unused debug.c
+
+2006-03-31 09:10  paul
+
+	* general/g.setproj/Makefile, general/g.setproj/get_datum.c,
+	  include/gisdefs.h, lib/gis/datum.c, lib/gis/get_datum.c,
+	  lib/proj/datum.c: Add some extra guidance/hints to selection
+	  procedure for datum transformation
+	  parameters, change g.setproj to use same datum parameter
+	  selection function
+	  as g.proj/r.in.gdal/v.in.ogr use, remove from gislib some datum
+	  parameter
+	  stuff that has been replaced by functions in gprojlib.
+
+2006-03-31 08:18  cho
+
+	* vector/v.in.dxf/description.html, vector/v.in.dxf/main.c: Removed
+	  version numbers
+
+2006-03-31 07:31  cho
+
+	* vector/v.in.dxf/description.html: document updated
+
+2006-03-31 07:26  markus
+
+	* locale/po/grassmods_pl.po: Artur Niescior <nieart interia pl>:
+	  extended
+
+2006-03-31 07:24  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/add_text.c, vector/v.in.dxf/dxf_to_vect.c,
+	  vector/v.in.dxf/global.h, vector/v.in.dxf/layer_list.c,
+	  vector/v.in.dxf/main.c, vector/v.in.dxf/read_dxf.c: Added -l flag
+	  to list all available layer names
+
+2006-03-31 05:59  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/add_text.c, vector/v.in.dxf/description.html,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/write_vect.c: Added TEXT import
+
+2006-03-31 04:16  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/add_text.c, vector/v.in.dxf/description.html,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/main.c, vector/v.in.dxf/make_arc.c,
+	  vector/v.in.dxf/write_vect.c: Added -e flag to ignore the map
+	  extent
+
+2006-03-31 04:08  glynn
+
+	* lib/cdhc/as181.c: Fix bug in wgp()
+
+2006-03-31 04:07  glynn
+
+	* db/drivers/postgres/db.c, lib/vector/diglib/cindex.c,
+	  lib/vector/diglib/cindex_rw.c: Fix warnings due to incorrect
+	  pointer type-casts
+
+2006-03-31 04:04  glynn
+
+	* lib/db/dbmi_base/dirent.c, lib/g3d/index.c,
+	  raster/r.random.cells/init.c: Fix prototypes of qsort()
+	  comparison functions
+
+2006-03-31 04:03  glynn
+
+	* display/drivers/lib/text3.c: Change int -> size_t (iconv() bug on
+	  64-bit platforms)
+	  Fix incorrect argument order in memset() call
+
+2006-03-31 04:01  glynn
+
+	* display/d.mon/pgms/select.c: Remove local prototype for
+	  R_parse_monitorcap()
+
+2006-03-31 03:14  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/global.h, vector/v.in.dxf/make_arc.c:
+	  fprintf(stderr) changed to G_debug(3)
+
+2006-03-31 00:42  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_lwpolyline.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/make_arc.c, vector/v.in.dxf/write_vect.c: added
+	  LWPOLYLINE
+
+2006-03-30 21:38  cho
+
+	* vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/read_dxf.c: code
+	  reading fixed
+
+2006-03-30 20:18  cho
+
+	* vector/v.in.dxf/dxf_to_vect.c: bug fixed
+
+2006-03-30 20:17  cho
+
+	* lib/vector/Vlib/box.c: fixed description
+
+2006-03-30 20:01  cho
+
+	* vector/v.in.dxf/dxf_to_vect.c: removed debug message
+
+2006-03-30 20:00  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/add_text.c,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/read_dxf.c: code clean up
+
+2006-03-30 15:12  radim
+
+	* general/g.tempfile/Makefile: vasklib removed
+
+2006-03-30 15:06  radim
+
+	* general/g.parser/main.c: exec on windows
+
+2006-03-30 11:40  hamish
+
+	* vector/v.distance/description.html: add univar example; note that
+	  column must already exist
+
+2006-03-30 11:14  markus
+
+	* lib/gis/parser.c: fixed EXITs for portability
+
+2006-03-30 10:18  radim
+
+	* lib/gis/parser.c: exit with 0 if description was requested
+
+2006-03-29 20:05  helena
+
+	* lib/rst/interp_float/matrix.c: commented out old debugging fprint
+
+2006-03-29 16:47  markus
+
+	* debian/grass.install: fixed nviz
+
+2006-03-29 13:51  radim
+
+	* raster/r.slope.aspect/main.c: G_make_aspect_fp_colors instead of
+	  system()
+
+2006-03-29 12:43  radim
+
+	* vector/v.hull/Makefile: vasklib removed
+
+2006-03-29 11:38  radim
+
+	* general/manage/cmd/Makefile, vector/v.voronoi/Makefile: suffix
+
+2006-03-28 17:27  cho
+
+	* vector/v.extract/main.c: i18n
+
+2006-03-28 17:27  cho
+
+	* display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/dir.c, display/d.vect/label.c,
+	  display/d.vect/main.c, display/d.vect/plot1.c: implemented
+	  "d.vect layer=". layer=-1 will display all layers
+
+2006-03-28 14:20  markus
+
+	* doc/raster/r.example/Makefile, doc/vector/v.example/Makefile:
+	  fixed to this position
+
+2006-03-28 07:59  markus
+
+	* SUBMITTING: write better Makefiles
+
+2006-03-28 06:57  hamish
+
+	* REQUIREMENTS.html: everyone can use tcltk 8.4 now
+
+2006-03-28 06:27  markus
+
+	* lib/segment/pagein.c: fixed debug msg param order
+
+2006-03-27 22:13  markus
+
+	* vector/v.in.dxf/description.html: re-added DESCRIPTION tag for
+	  tools/build_html_index.sh
+
+2006-03-27 22:12  markus
+
+	* locale/po/grassmods_de.po: fix
+
+2006-03-27 19:21  cho
+
+	* vector/v.in.dxf/README, vector/v.in.dxf/TODO: removed outdated
+	  files
+
+2006-03-27 19:18  cho
+
+	* vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/main.c: message
+	  moved
+
+2006-03-27 17:27  cho
+
+	* vector/v.in.dxf/write_vect.c: i18n
+
+2006-03-27 17:23  cho
+
+	* vector/v.in.dxf/add_polyline.c: replaced stderr warning with
+	  G_warning
+
+2006-03-27 17:15  cho
+
+	* vector/v.in.dxf/make_arc.c: removed printf
+
+2006-03-27 17:09  cho
+
+	* vector/v.in.dxf/description.html, vector/v.in.dxf/dxf_to_vect.c,
+	  vector/v.in.dxf/global.h: updated
+
+2006-03-27 17:05  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_labelbox.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/add_text.c, vector/v.in.dxf/close_layer.c,
+	  vector/v.in.dxf/create_layers.c, vector/v.in.dxf/debug.c,
+	  vector/v.in.dxf/dxf_to_vect.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/init_chars.c, vector/v.in.dxf/layer_map.c,
+	  vector/v.in.dxf/main.c, vector/v.in.dxf/make_arc.c,
+	  vector/v.in.dxf/make_header.c, vector/v.in.dxf/open_layer.c,
+	  vector/v.in.dxf/read_dxf.c, vector/v.in.dxf/reopen_layer.c,
+	  vector/v.in.dxf/which_layer.c, vector/v.in.dxf/write_polylines.c,
+	  vector/v.in.dxf/write_vect.c: rewrite to import all layers
+
+2006-03-27 16:51  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: Fixed bug in display output
+
+2006-03-27 16:50  michael
+
+	* gui/tcltk/gis.m/barscale.gif, gui/tcltk/gis.m/chart.gif,
+	  gui/tcltk/gis.m/cmd.gif, gui/tcltk/gis.m/columns.gif,
+	  gui/tcltk/gis.m/copy.gif, gui/tcltk/gis.m/cut.gif,
+	  gui/tcltk/gis.m/dig.gif, gui/tcltk/gis.m/display.gif,
+	  gui/tcltk/gis.m/erase.gif, gui/tcltk/gis.m/fly.gif,
+	  gui/tcltk/gis.m/font.gif, gui/tcltk/gis.m/frames.gif,
+	  gui/tcltk/gis.m/grass.gif, gui/tcltk/gis.m/grid.gif,
+	  gui/tcltk/gis.m/group.gif, gui/tcltk/gis.m/histogram.gif,
+	  gui/tcltk/gis.m/labels.gif, gui/tcltk/gis.m/legend.gif,
+	  gui/tcltk/gis.m/maptext.gif, gui/tcltk/gis.m/measure.gif,
+	  gui/tcltk/gis.m/new.gif, gui/tcltk/gis.m/nviz.gif,
+	  gui/tcltk/gis.m/open.gif, gui/tcltk/gis.m/pan.gif,
+	  gui/tcltk/gis.m/pointer.gif, gui/tcltk/gis.m/position.gif,
+	  gui/tcltk/gis.m/print.gif, gui/tcltk/gis.m/query.gif,
+	  gui/tcltk/gis.m/rastarrow.gif, gui/tcltk/gis.m/rastarrows.gif,
+	  gui/tcltk/gis.m/rastarrowsdir.gif,
+	  gui/tcltk/gis.m/rastarrowsint.gif, gui/tcltk/gis.m/raster.gif,
+	  gui/tcltk/gis.m/rastnums.gif, gui/tcltk/gis.m/rgbhis.gif,
+	  gui/tcltk/gis.m/rgbhis1.gif, gui/tcltk/gis.m/rgbhis2.gif,
+	  gui/tcltk/gis.m/rgbhis3.gif, gui/tcltk/gis.m/save.gif,
+	  gui/tcltk/gis.m/startmon.gif, gui/tcltk/gis.m/thematic.gif,
+	  gui/tcltk/gis.m/vector.gif, gui/tcltk/gis.m/xganim.gif,
+	  gui/tcltk/gis.m/zoom.back.gif, gui/tcltk/gis.m/zoom.gif,
+	  gui/tcltk/gis.m/zoom_current.gif,
+	  gui/tcltk/gis.m/zoom_default.gif,
+	  gui/tcltk/gis.m/zoom_region.gif, gui/tcltk/gis.m/zoomout.gif:
+	  moved button icons to new icon directory
+
+2006-03-27 16:42  markus
+
+	* imagery/i.ortho.photo/photo.2target/zoom.c, lib/ogsf/gpd.c,
+	  raster/r.walk/main.c: fixed declaration position for gcc2.96
+
+2006-03-27 16:31  michael
+
+	* gui/tcltk/gis.m/legend.tcl: fixed bad icon reference.
+
+2006-03-27 16:17  michael
+
+	* lib/gtcltk/options.tcl: minor update
+
+2006-03-27 16:16  michael
+
+	* gui/icons/AUTHORS: update
+
+2006-03-27 16:15  michael
+
+	* gui/tcltk/gis.m/gmtool1.tcl, gui/tcltk/gis.m/gmtool2.tcl: Switch
+	  toolbar to reference icons in new icon directory
+
+2006-03-27 16:14  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/mapcanvas.tcl,
+	  gui/tcltk/gis.m/maptext.tcl, gui/tcltk/gis.m/maptool.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/vector.tcl: Code cleanup. Fixed duplicating and
+	  compositing bugs.
+
+2006-03-27 16:13  michael
+
+	* gui/icons/gui-display.gif, gui/icons/gui-erase.gif,
+	  gui/icons/gui-group.gif, gui/icons/gui-maptext.gif,
+	  gui/icons/gui-measure.gif, gui/icons/gui-pan.gif,
+	  gui/icons/gui-pointer.gif, gui/icons/gui-query.gif,
+	  gui/icons/gui-rastarrowsdir.gif, gui/icons/gui-rastarrowsint.gif,
+	  gui/icons/gui-startmon.gif, gui/icons/gui-zoom_back.gif,
+	  gui/icons/gui-zoom_current.gif, gui/icons/gui-zoom_default.gif,
+	  gui/icons/gui-zoom_in.gif, gui/icons/gui-zoom_out.gif,
+	  gui/icons/gui-zoom_region.gif, gui/icons/module-d.frame.gif,
+	  gui/icons/module-d.grid.gif, gui/icons/module-d.rast.arrow.gif,
+	  gui/icons/module-d.rast.num.gif,
+	  gui/icons/module-d.vect.chart.gif,
+	  gui/icons/module-d.vect.thematic.gif,
+	  gui/icons/module-v.digit.gif, gui/icons/module-xganim.gif: gism
+	  icons moved to new icon directory
+
+2006-03-27 14:07  markus
+
+	* include/P_site.h, lib/sites/sites.c,
+	  visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/site_attr_commands.c: another declaration
+	  fix
+
+2006-03-27 14:06  hamish
+
+	* lib/gis/timestamp.c: doxygen comments
+
+2006-03-27 13:43  markus
+
+	* include/P_site.h: declare new functions - fix
+
+2006-03-27 13:40  markus
+
+	* include/P_site.h: declare new functions
+
+2006-03-27 13:16  markus
+
+	* visualization/nviz/src/map_obj.c: fixed broken declaration
+	  position
+
+2006-03-27 13:14  radim
+
+	* imagery/i.ortho.photo/photo.2target/analyze.c,
+	  imagery/i.ortho.photo/photo.2target/driver.c,
+	  imagery/i.ortho.photo/photo.2target/globals.h,
+	  imagery/i.ortho.photo/photo.2target/local_proto.h,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.2target/zoom.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_pnt.c: autozoom
+
+2006-03-27 12:55  markus
+
+	* display/d.nviz/description.html: HTML layout polished; nviz url
+
+2006-03-27 12:51  markus
+
+	* tools/build_html_index.sh, visualization/nviz/html/Makefile:
+	  repositioned nviz turorial
+
+2006-03-27 12:50  markus
+
+	* visualization/nviz/src/Makefile,
+	  visualization/nviz/src/description.html: create nviz docs
+	  correctly
+
+2006-03-27 11:30  hamish
+
+	* raster/r.proj/description.html: formatting & text cleanup
+
+2006-03-27 09:38  hamish
+
+	* raster/r.support/front/description.html: html fix
+
+2006-03-27 08:51  hamish
+
+	* raster/r.support/front/description.html: add command line options
+	  for modifying the map's title and adding a line
+	  of text to the map's history file
+
+2006-03-27 08:13  hamish
+
+	* raster/r.support/front/front.c: add command line options for
+	  modifying the map's title and adding a line
+	  of text to the map's history file
+
+2006-03-26 12:40  markus
+
+	* vector/v.in.dxf/description.html: fixed structure for
+	  tools/build_html_index.sh
+
+2006-03-26 12:31  markus
+
+	* tools/build_html_index.sh: logo added
+
+2006-03-26 11:44  markus
+
+	* gui/tcltk/gis.m/gis.m: mesg cosmetics; start in background
+
+2006-03-26 05:31  cho
+
+	* vector/v.in.dxf/create_layers.c, vector/v.in.dxf/main.c: indent
+
+2006-03-26 05:25  cho
+
+	* vector/v.in.dxf/add_extents.c, vector/v.in.dxf/add_labelbox.c,
+	  vector/v.in.dxf/create_layers.c, vector/v.in.dxf/find_lines.c,
+	  vector/v.in.dxf/global.h, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/read_dxf.c: Build topology after import
+
+2006-03-25 23:06  cho
+
+	* vector/v.in.dxf/description.html: removed trailing whitespaces
+
+2006-03-25 22:55  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_extents.c, vector/v.in.dxf/add_labelbox.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/close_layer.c,
+	  vector/v.in.dxf/find_lines.c, vector/v.in.dxf/global.h,
+	  vector/v.in.dxf/layer_map.c, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/make_arc.c, vector/v.in.dxf/make_header.c,
+	  vector/v.in.dxf/read_dxf.c, vector/v.in.dxf/reopen_layer.c,
+	  vector/v.in.dxf/which_layer.c, vector/v.in.dxf/write_polylines.c:
+	  declarations fixed
+
+2006-03-25 21:45  markus
+
+	* lib/db/sqlp/description.html: typo
+
+2006-03-25 19:34  markus
+
+	* vector/v.in.ascii/points.c: fixed segfault in LatLong
+
+2006-03-25 02:15  cho
+
+	* vector/v.in.dxf/description.html, vector/v.in.dxf/main.c: print
+	  output file names
+
+2006-03-25 02:03  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_bounds.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_extents.c,
+	  vector/v.in.dxf/add_labelbox.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/check_ext.c, vector/v.in.dxf/close_layer.c,
+	  vector/v.in.dxf/debug.c, vector/v.in.dxf/dxf2vect.h,
+	  vector/v.in.dxf/entities.c, vector/v.in.dxf/find_lines.c,
+	  vector/v.in.dxf/global.h, vector/v.in.dxf/header.c,
+	  vector/v.in.dxf/init_chars.c, vector/v.in.dxf/layer_map.c,
+	  vector/v.in.dxf/main.c, vector/v.in.dxf/make_arc.c,
+	  vector/v.in.dxf/make_header.c, vector/v.in.dxf/open_layer.c,
+	  vector/v.in.dxf/read_dxf.c, vector/v.in.dxf/reopen_layer.c,
+	  vector/v.in.dxf/which_layer.c, vector/v.in.dxf/write_polylines.c:
+	  code clean up
+
+2006-03-25 00:36  cho
+
+	* vector/v.in.dxf/add_labelbox.c, vector/v.in.dxf/label_box.c:
+	  renamed label_box.c to add_labelbox.c
+
+2006-03-25 00:02  cho
+
+	* scripts/v.convert.all/v.convert.all: fixed OUTPUT
+
+2006-03-24 23:34  michael
+
+	* gui/tcltk/gis.m/gm.tcl: added guioptfont global variable
+
+2006-03-24 22:49  cho
+
+	* vector/v.in.dxf/description.html: AUTHORS
+
+2006-03-24 22:45  cho
+
+	* vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/debug.c,
+	  vector/v.in.dxf/description.html, vector/v.in.dxf/main.c,
+	  vector/v.surf.idw/main.c, vector/v.surf.idw/read_sites.c:
+	  Modified v.surf.idw to interpolate z coordinates with layer=0
+	  option.
+
+2006-03-24 21:41  cho
+
+	* vector/v.in.dxf/dxf2vect.h, vector/v.in.dxf/find_lines.c,
+	  vector/v.in.dxf/main.c: commented out unsupported label import
+
+2006-03-24 21:35  cho
+
+	* vector/v.in.dxf/README, vector/v.in.dxf/TODO,
+	  vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_circle.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/description.html,
+	  vector/v.in.dxf/dxf2vect.h, vector/v.in.dxf/find_lines.c,
+	  vector/v.in.dxf/main.c: added z coordinates import
+
+2006-03-24 19:32  cho
+
+	* vector/v.in.dxf/description.html, vector/v.in.dxf/main.c: help
+	  fixed
+
+2006-03-24 19:30  cho
+
+	* vector/v.in.dxf/description.html, vector/v.in.dxf/main.c:
+	  description.html added
+
+2006-03-24 19:09  cho
+
+	* vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_bounds.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_line.c,
+	  vector/v.in.dxf/add_point.c, vector/v.in.dxf/add_polyline.c,
+	  vector/v.in.dxf/dxf2vect.h, vector/v.in.dxf/find_lines.c,
+	  vector/v.in.dxf/label_box.c, vector/v.in.dxf/main.c,
+	  vector/v.in.dxf/make_header.c, vector/v.in.dxf/reopen_layer.c,
+	  vector/v.in.dxf/which_layer.c: code clean up
+
+2006-03-24 18:46  cho
+
+	* vector/v.in.dxf/main.c: G_gisinit()
+
+2006-03-24 18:17  cho
+
+	* vector/Makefile, vector/v.in.dxf, vector/v.in.dxf/Makefile,
+	  vector/v.in.dxf/README, vector/v.in.dxf/TODO,
+	  vector/v.in.dxf/add_arc.c, vector/v.in.dxf/add_bounds.c,
+	  vector/v.in.dxf/add_circle.c, vector/v.in.dxf/add_extents.c,
+	  vector/v.in.dxf/add_line.c, vector/v.in.dxf/add_point.c,
+	  vector/v.in.dxf/add_polyline.c, vector/v.in.dxf/check_ext.c,
+	  vector/v.in.dxf/close_layer.c, vector/v.in.dxf/debug.c,
+	  vector/v.in.dxf/dxf2vect.h, vector/v.in.dxf/entities.c,
+	  vector/v.in.dxf/find_lines.c, vector/v.in.dxf/header.c,
+	  vector/v.in.dxf/init_chars.c, vector/v.in.dxf/label_box.c,
+	  vector/v.in.dxf/main.c, vector/v.in.dxf/make_header.c,
+	  vector/v.in.dxf/open_layer.c, vector/v.in.dxf/reopen_layer.c,
+	  vector/v.in.dxf/which_layer.c: v.in.dxf added.
+	  importing labels and z coordinates is missing yet.
+
+2006-03-24 15:45  michael
+
+	* gui/icons/gui-font.gif, gui/icons/module-d.chart.gif,
+	  gui/icons/module-d.rgb.gif, gui/icons/module-d.thematic.gif: GIS
+	  Manager icons
+
+2006-03-24 15:45  michael
+
+	* gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/vector.tcl:
+	  performance enhancements and minor code cleanup
+
+2006-03-24 15:44  michael
+
+	* gui/tcltk/gis.m/gmtool1.tcl, gui/tcltk/gis.m/gmtool2.tcl: update
+	  to use new standard icons
+
+2006-03-24 15:44  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/rgbhis.tcl,
+	  gui/tcltk/gis.m/thematic.tcl: Performance enhancements, fix for
+	  duplicating bug, fix for
+	  compositing bug, use of new standard icons.
+
+2006-03-24 13:39  markus
+
+	* lib/gis/parser.c: define length in single place on top
+
+2006-03-24 10:20  soeren
+
+	* gui/tcltk/gis.m/histogram.tcl: Added fp-range support for DCELL
+	  maps
+
+2006-03-24 03:53  cedric
+
+	* lib/gtcltk/options.tcl: Made default font go to bwidget labels,
+	  set select foreground color.
+
+2006-03-24 03:01  cedric
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Color options removed from
+	  mapcanvas creation to allow them to be controlled by options.tcl
+	  via
+	  the options database. Unnecessary sourcing removed.
+
+2006-03-24 02:57  cedric
+
+	* lib/gis/gui.tcl, lib/gtcltk/options.tcl: Options.tcl now controls
+	  visual display options for gui.tcl, gis.m, d.m.
+
+2006-03-24 02:52  cedric
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/runandoutput.tcl: gis.m:
+	  Output now displayed in a "gronsole", run buttons moved to output
+	  window, commands run
+	  from menus show output in output window.
+
+2006-03-23 19:43  michael
+
+	* gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/vector.tcl:
+	  performance enhancements, fix for layer duplicating bug, fix for
+	  compositing bug.
+
+2006-03-23 19:42  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: update, performance enhancements,
+	  grey canvas background
+
+2006-03-23 19:42  michael
+
+	* gui/tcltk/gis.m/gm.tcl: minor update
+
+2006-03-23 19:41  michael
+
+	* gui/icons/db-columns.gif, gui/icons/db-values.gif,
+	  gui/icons/gui-help.gif: new icons for gis.m gui
+
+2006-03-23 18:01  markus
+
+	* tools/build_html_index.sh: pg.postgisdb removed as outdated
+
+2006-03-23 18:00  markus
+
+	* vector/v.in.db/description.html: fix
+
+2006-03-23 17:57  markus
+
+	* vector/v.db.connect/description.html: postgis example
+
+2006-03-23 17:50  markus
+
+	* scripts/Makefile, scripts/pg.postgisdb: pg.postgisdb removed as
+	  outdated
+
+2006-03-23 14:48  radim
+
+	* include/gisdefs.h, lib/gis/get_window.c, lib/gis/rd_cellhd.c:
+	  region from variable
+
+2006-03-22 23:48  markus
+
+	* CHANGES: updated
+
+2006-03-22 15:58  radim
+
+	* general/g.parser/main.c: Win but not tested
+
+2006-03-22 14:43  markus
+
+	* lib/gis/adj_cellhd.c: also G_adjust_Cell_head3() extended
+
+2006-03-22 14:12  markus
+
+	* lib/gis/adj_cellhd.c: latlong boundaries now polished if slightly
+	  deviating due to rounding errors
+
+2006-03-22 13:58  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: cosmetics!
+
+2006-03-22 13:25  markus
+
+	* vector/v.db.connect/description.html: view trick added
+
+2006-03-22 12:35  markus
+
+	* lib/gis/adj_cellhd.c: disabled ew polishing for now
+
+2006-03-22 11:39  markus
+
+	* lib/gis/adj_cellhd.c: improved boundary testing with epsilon
+
+2006-03-22 09:13  radim
+
+	* vector/v.digit/main.c: start with new point tool
+
+2006-03-22 09:07  radim
+
+	* display/drivers/XDRIVER/Get_w_box.c,
+	  display/drivers/XDRIVER/Get_w_line.c,
+	  display/drivers/XDRIVER/Get_w_pointer.c,
+	  display/drivers/XDRIVER/Serve_Xevent.c,
+	  display/drivers/XDRIVER/local_proto.h: loop fix
+
+2006-03-22 03:37  cedric
+
+	* lib/gis/gui.tcl: Modified to use new "gronsole" output widget.
+
+2006-03-22 03:35  cedric
+
+	* lib/gtcltk/gronsole.tcl: New tcl GUI widget that runs grass
+	  commands and displays their output.
+
+2006-03-22 03:22  cedric
+
+	* gui/icons/AUTHORS: List of authors for icons.
+
+2006-03-22 03:20  cedric
+
+	* gui/icons/README, gui/icons/channel-blue.gif,
+	  gui/icons/channel-green.gif, gui/icons/channel-his.gif,
+	  gui/icons/channel-hue.gif, gui/icons/channel-intensity.gif,
+	  gui/icons/channel-red.gif, gui/icons/channel-rgb.gif,
+	  gui/icons/channel-saturation.gif, gui/icons/status-failure.gif,
+	  gui/icons/status-gism.gif, gui/icons/status-out.gif,
+	  gui/icons/status-success.gif: New icons for HIS channels and run
+	  status. Added AUTHORS file ot keep track of icon
+	  authors. Copied some more icons from bwidgets and gis.m.
+
+2006-03-22 00:11  markus
+
+	* scripts/d.vect.thematic/description.html: 2nd example
+
+2006-03-21 23:58  markus
+
+	* scripts/d.vect.thematic/description.html: html polished; example
+
+2006-03-21 23:47  markus
+
+	* lib/gis/adj_cellhd.c: epsilon added to polish rounding problems
+	  when importing world maps
+
+2006-03-21 18:22  markus
+
+	* vector/v.external/description.html: r/w example
+
+2006-03-21 18:16  markus
+
+	* vector/v.db.connect/description.html: fancy example added
+
+2006-03-21 18:09  markus
+
+	* vector/v.in.db/main.c: bail out if target table already exists
+
+2006-03-21 17:29  markus
+
+	* db/base/db.copy.html: extended with pg2pg example
+
+2006-03-21 14:36  radim
+
+	* imagery/i.ortho.photo/photo.2target/cellhd.c,
+	  imagery/i.ortho.photo/photo.2target/globals.h,
+	  imagery/i.ortho.photo/photo.2target/local_proto.h,
+	  imagery/i.ortho.photo/photo.2target/main.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_pnt.c: save/restore
+	  window
+
+2006-03-21 11:12  radim
+
+	* display/drivers/XDRIVER/Get_w_box.c,
+	  display/drivers/XDRIVER/Get_w_line.c,
+	  display/drivers/XDRIVER/Get_w_pointer.c,
+	  display/drivers/lib/command.c, include/graphics.h,
+	  include/raster.h, lib/raster/commands.c, lib/raster/get.c: enable
+	  old R_get_location_with_* without loop
+
+2006-03-21 10:53  markus
+
+	* vector/v.in.ogr/main.c: initialize Ogr_ds to NULL (bug #4190)
+
+2006-03-21 08:45  radim
+
+	* lib/vector/Vlib/map.c: typo
+
+2006-03-20 18:02  soeren
+
+	* raster3d/r3.to.rast/main.c: Code cosmetics and bug fixing wrong
+	  input map name handling
+
+2006-03-20 17:52  radim
+
+	* imagery/i.ortho.photo/photo.2target/description.html: Zoom by
+	  middle/right mouse button
+
+2006-03-20 17:47  radim
+
+	* imagery/i.ortho.photo/photo.2target/dot.c,
+	  imagery/i.ortho.photo/photo.2target/globals.h,
+	  imagery/i.ortho.photo/photo.2target/local_proto.h,
+	  imagery/i.ortho.photo/photo.2target/main.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_pnt.c: standard parser,
+	  zoom by middle button, pan by right button, plot target point,
+	  cancle by right button
+
+2006-03-20 17:45  soeren
+
+	* raster3d/r3.cross.rast/main.c, raster3d/r3.to.rast/main.c:
+	  Improved some error messages
+
+2006-03-20 17:43  soeren
+
+	* raster3d/r3.out.vtk/description.html, raster3d/r3.out.vtk/main.c:
+	  Added vector export
+	  Added vector export description
+	  Improved error messages
+
+2006-03-20 10:46  markus
+
+	* REQUIREMENTS.html: FFTW: also 3.x now
+
+2006-03-20 10:44  markus
+
+	* db/drivers/postgres/pg.html, db/drivers/sqlite/sqlite.html:
+	  extended
+
+2006-03-20 10:35  markus
+
+	* rpm/fedora/grass_FC4.spec: Roberto Flor <flor itc.it>: Added
+	  with/without option;
+	  Added cvs snapshot option;
+	  Fixed a lot of inconsistency on x86_64 lib
+
+2006-03-20 10:30  markus
+
+	* scripts/r.in.srtm/r.in.srtm: more and better tests
+
+2006-03-20 08:52  markus
+
+	* SUBMITTING: strict compiler flags
+
+2006-03-19 21:23  markus
+
+	* Makefile: fix bug #4188
+
+2006-03-19 05:35  hamish
+
+	* raster/r.series/main.c, raster/r.stats/main.c: bugfix: catch if
+	  "inputs=" has no (multiple) answer bug #4178
+
+2006-03-19 04:09  hamish
+
+	* raster/r.univar2/main.c: output as much sum as we can instead of
+	  1.23456+e07
+
+2006-03-19 03:52  hamish
+
+	* vector/v.extract/description.html: add note about only features
+	  with a cat will get extracted
+
+2006-03-19 02:21  hamish
+
+	* general/manage/cmd/copy.c, general/manage/cmd/list.c,
+	  general/manage/cmd/remove.c, general/manage/cmd/rename.c: i18n
+
+2006-03-18 22:34  soeren
+
+	* raster/r.to.rast3/main.c: Fixed Null support for CELL maps
+
+2006-03-18 11:04  radim
+
+	* general/manage/lib/do_copy.c, general/manage/lib/do_remove.c,
+	  general/manage/lib/do_rename.c: return error code
+
+2006-03-18 11:03  radim
+
+	* general/manage/cmd/copy.c, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c: exit with error if fails
+
+2006-03-18 08:35  brad
+
+	* raster/r.carve/enforce.h, raster/r.carve/lobf.c,
+	  raster/r.carve/vect.c: - minor function declaration changes
+	  - fixed vector writing
+
+2006-03-17 20:16  glynn
+
+	* configure, configure.in, include/config.h.in, lib/gmath/del2g.c,
+	  lib/gmath/fft.c: Support FFTW 3.x
+
+2006-03-17 10:18  markus
+
+	* lib/segment/pagein.c: be more chatty about warning
+
+2006-03-17 03:50  cedric
+
+	* lib/gis/gui.tcl: Layout abstracted out into a programming
+	  interface. changed programming interface
+	  for over ridding behavior, icons all come from etc/gui/icon,
+	  doesn't crash when
+	  icons are missing, icons for success/failure notification, run
+	  button disabled while
+	  program is running, answer (yes or no) used to set checkboxes.
+	  
+	  See README.GUI for a detailed explanation of the programming
+	  interface and
+	  differences between this version and its predecessor.
+
+2006-03-17 03:39  cedric
+
+	* lib/gis/README.GUI: Detailed explanation of gui.tcl and the
+	  differences between version 1.15 and the
+	  following commited version 2.
+
+2006-03-17 03:34  cedric
+
+	* lib/gis/gui.tcl: This is an incremental version that makes the
+	  changes to the next major version more
+	  clear. It is tested and works, but isn't really ever going to be
+	  used.
+	  
+	  Options and Output are now displayed in tabs instead of panes
+	  
+	  There is a new command label which shows the current command as
+	  it is edited.
+	  It has a button for copying the command to the clipboard. (Might
+	  be worth
+	  noting in wish 2074)
+	  
+	  Programs reporting guisections will have a tab made for options
+	  in each
+	  toplevel section. Finer section grouping is obeyed, but no labels
+	  are created
+	  or displayed.
+	  
+	  The options frames scroll with the mouse wheel.
+	  
+	  If possible the window opens wide enough to display its contents.
+	  This is
+	  accomplished by adding a binding to the scrolled frames which
+	  report their
+	  widths to their parent frames.
+	  
+	  Programs using the label and description attributes on options or
+	  tabs will
+	  now have the description displayed as balloon help.
+	  
+	  The help button is not enabled if no help file exists for the
+	  program. (closes
+	  wish 3799)
+	  
+	  The type and required text for options is displayed right
+	  justified.
+	  
+	  Module information is displayed differently. Both the label and
+	  description
+	  are displayed if available. Module is displayed with an icon if a
+	  matching
+	  one can be found in $(GISBASE)/etc/icons. See /gui/icons/README
+	  for more
+	  information.
+	  
+	  Buttons for file selection are displayed with an open file icon.
+	  
+	  Buttons for selecting database elements and symbols are displayed
+	  with an icon
+	  if a matching one can be found in $(GISBASE)/etc/icons.
+	  
+	  It is now possible to determine when a command has finished
+	  executing. Output
+	  text has an added graphic along with the command text when the
+	  command is
+	  run. When the command finishes another graphic is displayed along
+	  with the
+	  text "Done."
+
+2006-03-17 03:22  cedric
+
+	* gui/Makefile, gui/icons, gui/icons/Makefile, gui/icons/README,
+	  gui/icons/edit-copy.gif, gui/icons/edit-cut.gif,
+	  gui/icons/element-cell.gif, gui/icons/element-grid3.gif,
+	  gui/icons/element-vector.gif, gui/icons/element-windows.gif,
+	  gui/icons/file-new.gif, gui/icons/file-open.gif,
+	  gui/icons/file-print.gif, gui/icons/file-save.gif,
+	  gui/icons/gui-cmd.gif, gui/icons/module-d.barscale.gif,
+	  gui/icons/module-d.gif, gui/icons/module-d.graph.gif,
+	  gui/icons/module-d.histogram.gif, gui/icons/module-d.labels.gif,
+	  gui/icons/module-d.legend.gif, gui/icons/module-d.nviz.gif,
+	  gui/icons/module-db.gif, gui/icons/module-g.gif,
+	  gui/icons/module-nviz.gif, gui/icons/module-r.gif,
+	  gui/icons/module-r3.gif, gui/icons/module-v.gif,
+	  gui/icons/status-error.gif, gui/icons/status-failure.gif,
+	  gui/icons/status-message.gif, gui/icons/status-success.gif,
+	  gui/icons/status-warning.gif: Gif icons installed in
+	  GISBASE/etc/gui/icons for use by gui.tcl and other graphical
+	  user interfaces.
+
+2006-03-16 22:41  cedric
+
+	* visualization/nviz/src/draw.c, visualization/nviz/src/exag.c,
+	  visualization/nviz/src/lights.c,
+	  visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/togl_flythrough.c,
+	  visualization/nviz/src/volume.c: NVIZ runs with TCL 8.4 Threaded:
+	  Memory allocated with Tcl_Alloc, such as the result of Tcl_Merge
+	  should be freed using
+	  TCL_DYNAMIC.
+
+2006-03-16 21:48  markus
+
+	* scripts/d.polar/d.polar: apply undef completely
+
+2006-03-16 21:31  cedric
+
+	* lib/gis/parser.c: Allows setting default options for a ui from
+	  the command line:
+	  --ui switch now starts the ui _after_ the remaining arguments are
+	  parsed.
+	  Answer section for flags passed to tcl guis.
+
+2006-03-16 21:30  markus
+
+	* vector/vectorintro.html: heavily extended; even W3 compliant
+
+2006-03-16 19:34  cho
+
+	* raster/r.topmodel/description.html: close EM
+
+2006-03-16 17:49  radim
+
+	* lib/vector/Vlib/map.c: copy vector without syscall
+
+2006-03-16 17:42  markus
+
+	* raster/rasterintro.html: more docu
+
+2006-03-16 16:37  radim
+
+	* lib/gis/find_vect.c: search vector dir not head file
+
+2006-03-16 16:27  radim
+
+	* lib/vector/Vlib/map.c: check if dbln exists
+
+2006-03-16 15:54  radim
+
+	* lib/vector/Vlib/open.c: warning only if head does not exit
+
+2006-03-16 15:53  radim
+
+	* lib/vector/Vlib/header.c: init header
+
+2006-03-16 11:01  markus
+
+	* scripts/r.shaded.relief/r.shaded.relief: error checking
+
+2006-03-16 10:56  markus
+
+	* general/g.findfile/main.c: use EXIT_FAILURE (also EXIT_SUCCESS?)
+
+2006-03-16 04:11  hamish
+
+	* lib/gis/list.c: (re)add spacing line between different mapset
+	  listings lost in recent removal
+	  of system calls
+
+2006-03-15 23:11  markus
+
+	* raster/r.to.rast3/main.c: better message
+
+2006-03-15 22:52  markus
+
+	* raster3d/r3.out.vtk/main.c: say which map was not found
+
+2006-03-15 22:49  markus
+
+	* include/G3d.h, lib/g3d/G3d_intern.h, lib/g3d/g3derror.c: have
+	  multiple parameters in G3d_fatalError(); use vsprintf() etc in
+	  G3d_fatalError()
+
+2006-03-15 22:43  markus
+
+	* lib/gis/error.c: EXIT_FAILURE
+
+2006-03-15 22:24  markus
+
+	* visualization/nviz/src/interface.h,
+	  visualization/nviz/src/site_attr_commands.c: declarations fixed
+
+2006-03-15 22:04  markus
+
+	* lib/ogsf/gpd.c, lib/ogsf/local_proto.h: declarations fixed
+
+2006-03-15 21:57  markus
+
+	* tools/build_html_index.sh: layout simplified
+
+2006-03-15 21:48  markus
+
+	* db/drivers/dbf/dbf.html, db/drivers/mysql/mesql.html,
+	  db/drivers/mysql/mysql.html, db/drivers/odbc/Makefile,
+	  db/drivers/odbc/odbc.html, db/drivers/postgres/Makefile,
+	  db/drivers/postgres/pg.html, db/drivers/sqlite/sqlite.html,
+	  lib/db/sqlp/description.html: docs boosted
+
+2006-03-15 20:09  markus
+
+	* locale/po/grassmods_de.po: typo
+
+2006-03-15 17:34  massimo
+
+	* visualization/nviz/scripts/tclIndex: added: resize pick highlight
+	  panels
+
+2006-03-15 17:32  massimo
+
+	* visualization/nviz/scripts/site_attr.tcl: All the variable site
+	  attribute management is here
+
+2006-03-15 17:30  massimo
+
+	* visualization/nviz/scripts/panel_surf.tcl: Several string
+	  modified in menubuttons Draw Mode and Coarse Style.
+	  Only strings have been modified, behavior (functions) are
+	  unchanged
+
+2006-03-15 17:29  massimo
+
+	* visualization/nviz/scripts/panel_site.tcl: Added variable site
+	  attributes management
+
+2006-03-15 17:28  massimo
+
+	* visualization/nviz/scripts/panel_resize.tcl: Resize of the
+	  drawing window for getting movies at a given window size.
+
+2006-03-15 17:24  massimo
+
+	* visualization/nviz/scripts/panel_pick.tcl: Sites picking
+
+2006-03-15 17:23  massimo
+
+	* visualization/nviz/scripts/panel_highlight.tcl: sites highlight
+
+2006-03-15 17:21  massimo
+
+	* visualization/nviz/scripts/nviz_params: User defined parameters
+	  for picking and hiperlink
+
+2006-03-15 17:18  massimo
+
+	* visualization/nviz/scripts/ACS_utils.tcl: Generic utility
+	  functions
+
+2006-03-15 17:17  massimo
+
+	* visualization/nviz/scripts/panelIndex: added new panels pick and
+	  highlight
+
+2006-03-15 17:14  massimo
+
+	* visualization/nviz/scripts/colorPopup.tcl: correct a bug: the
+	  scales and $w.top.color are set to white next time
+	  after a color button (not sliders) has been used, regardless
+	  $color.
+
+2006-03-15 17:10  massimo
+
+	* visualization/nviz/src/site_highlight_commands.c: Commands for
+	  sites highlight
+
+2006-03-15 17:09  massimo
+
+	* visualization/nviz/src/site_attr_commands.c: Manage color and
+	  site attributes for each point in a single site.
+
+2006-03-15 17:07  massimo
+
+	* visualization/nviz/src/pick_vect_commands.c: Commands for picking
+	  of sites
+
+2006-03-15 17:04  massimo
+
+	* visualization/nviz/src/nviz_init.c: added initializations for
+	  pick, site_attr and site_highlight
+
+2006-03-15 17:01  massimo
+
+	* visualization/nviz/src/map_obj.c: added site_attribute management
+	  for variable points in sites
+
+2006-03-15 16:58  massimo
+
+	* visualization/nviz/src/Makefile: added compilation for
+	  pick_vect_commands.o site_attr_commands.o
+	  site_highlight_commands.o
+
+2006-03-15 16:54  massimo
+
+	* visualization/nviz/README.ACS: README file for all ACS
+	  modifications to nviz
+
+2006-03-15 16:50  massimo
+
+	* visualization/nviz/Makefile: added: $(INSTALL)
+	  scripts/nviz_params $(INSTALL_DIR)/scripts/nviz_params
+	  to copy user defined parameters file for nviz in target directory
+
+2006-03-15 16:47  massimo
+
+	* lib/ogsf/gsurf.h: site_attr management (nviz)
+	  defined ST_HISTOGRAM for histogram markers
+
+2006-03-15 16:45  massimo
+
+	* lib/ogsf/gstypes.h: added variables for site attribute and
+	  highlight management in nviz
+
+2006-03-15 16:43  massimo
+
+	* lib/ogsf/gsd_objs.c: site_attr management (nviz):
+	  drawing of boxes used as histograms
+
+2006-03-15 16:40  massimo
+
+	* lib/ogsf/gpd.c: site_attr management (nviz):
+	  - drawing of 3D objects in sites depending from DB field values
+	  - added histogram marker
+
+2006-03-15 16:35  massimo
+
+	* lib/ogsf/Gp3.c: added initializations for
+	  site_attr management and highlight management
+
+2006-03-15 16:33  massimo
+
+	* lib/ogsf/gk.c: changed GS_get_focus in GS_get_viewdir
+	  with this kanimator works also for flythrough navigation
+
+2006-03-15 16:06  massimo
+
+	* lib/sites/sites.c: sites_attribute management (nviz)
+	  Functions to obtain fields in order to draw sites with each point
+	  having a
+	  geometric property depending from database values.
+
+2006-03-15 08:44  markus
+
+	* db/base/db.connect.html: 2 mysql examples
+
+2006-03-15 08:41  markus
+
+	* db/base/db.connect.html: mysql example fixed
+
+2006-03-15 08:19  hamish
+
+	* vector/v.label/main.c: d.labels now respects text highlighting
+
+2006-03-15 08:10  hamish
+
+	* display/d.paint.labels/do_labels.c: respect highlight color and
+	  highlight width settings
+
+2006-03-14 16:22  radim
+
+	* vector/v.net/main.c, vector/v.net/proto.h, vector/v.net/report.c:
+	  nodes report
+
+2006-03-14 15:26  radim
+
+	* vector/v.net/main.c, vector/v.net/nodes.c, vector/v.net/proto.h:
+	  optionaly assign cats to nodes
+
+2006-03-14 05:34  helena
+
+	* vector/v.surf.rst/description.html: note about support for level1
+	  data added
+
+2006-03-14 00:37  hamish
+
+	* general/g.filename/main.c: move optional option to last
+
+2006-03-13 23:49  markus
+
+	* lib/init/init.sh: closed bug #922
+
+2006-03-13 23:20  markus
+
+	* vector/vectorintro.html: Trevor Wiens <twiens at interbaun.com>:
+	  clarified layer and topology
+
+2006-03-13 14:19  radim
+
+	* vector/v.net.iso/main.c: ccats option -> imteger multiple
+
+2006-03-13 13:28  markus
+
+	* vector/v.mkgrid/write_grid.c: more G_percent() added
+
+2006-03-13 12:57  markus
+
+	* imagery/Makefile: activated imageryintro.html
+
+2006-03-13 12:50  markus
+
+	* gui/tcltk/gis.m/description.html, imagery/imageryintro.html,
+	  raster/rasterintro.html, raster3d/raster3dintro.html,
+	  tools/build_html_index.sh, vector/vectorintro.html: new imagery
+	  docs page; cosmetics
+
+2006-03-13 12:43  glynn
+
+	* general/g.parser/main.c, include/gis.h, lib/gis/gui.tcl,
+	  lib/gis/parser.c: Tcl/Tk GUI patch from Cedric Shock
+
+2006-03-13 10:02  radim
+
+	* lib/vector/Vlib/buffer.c: abs to fabs, enabled line segment
+	  returning in 180 deg
+
+2006-03-11 22:40  soeren
+
+	* raster/r.info/main.c: timestamp bugfix
+
+2006-03-11 21:34  markus
+
+	* raster/r.flow/calc.c: Helena Mitasova: fixed G_percent() position
+
+2006-03-11 20:13  soeren
+
+	* raster3d/r3.out.vtk/description.html, raster3d/r3.out.vtk/main.c:
+	  Added support for different 2d and 3d regions
+	  * If the 2d and 3d region settings are different, the 2d
+	  resolution will be adjust to the 3d resolution
+	  Adjusted the depth counting
+
+2006-03-11 20:13  soeren
+
+	* raster3d/r3.to.rast/description.html, raster3d/r3.to.rast/main.c:
+	  Added support for different 2d and 3d regions
+	  * If the 2d and 3d region settings are different, the 3d
+	  resolution will be adjust to the 2d resolution
+	  * the depths are not touched!
+	  Adjusted the depth counting
+
+2006-03-11 20:11  soeren
+
+	* raster3d/r3.cross.rast/description.html,
+	  raster3d/r3.cross.rast/main.c: Added support for different 2d and
+	  3d regions
+	  * If the 2d and 3d region settings are different, the 2d
+	  resolution will be adjust to the 3d resolution
+
+2006-03-11 20:08  soeren
+
+	* raster/r.to.rast3/description.html, raster/r.to.rast3/main.c:
+	  Added different 2d and 3d region support
+	  * If the 2d and 3d region settings are different, the 2d
+	  resolution will be adjust to the 3d resolution
+	  Adjusted depth counting
+
+2006-03-11 19:08  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n-translations
+
+2006-03-11 18:36  soeren
+
+	* lib/g3d/g3dclose.c, lib/g3d/g3dhistory.c, lib/g3d/g3dlib.dox:
+	  Added history support for g3d files.
+	  The history structure is the same as for raster maps.
+	  Two new function have been added:
+	  G3d_readHistory and G3d_writeHistory
+	  to initialize the history structure G_short_history should be
+	  used.
+	  If a new cell is closed, a history file is created
+	  automaticially.
+
+2006-03-11 18:29  soeren
+
+	* include/G3d.h: Added two history support functions and a
+	  definition
+
+2006-03-11 18:28  soeren
+
+	* raster3d/base/r3.info.main.c: Enabled histroy support and fixed
+	  timestamp handling
+
+2006-03-11 01:38  soeren
+
+	* gui/tcltk/gis.m/gmmenu.tcl: Added menu entries v.out.vtk and
+	  r.out.vtk
+
+2006-03-11 00:55  soeren
+
+	* vector/v.out.vtk/description.html: small description changes and
+	  updates
+
+2006-03-11 00:40  soeren
+
+	* raster/r.patch/description.html, raster/r.patch/do_patch.c:
+	  Cedric Shock: Closes bug 4145 by replacing zero and null values
+	  with data and null
+	  values with zeros when using -z flag. Description.html partly
+	  rewritten to
+	  describe the effect the current region has on r.patch.
+
+2006-03-10 23:55  cho
+
+	* raster/r.topmodel/infiltration.c, raster/r.topmodel/topmodel.c:
+	  infiltration routine bug fixed
+
+2006-03-10 20:27  michael
+
+	* gui/tcltk/gis.m/barscale.tcl, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.tcl, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/gridline.tcl, gui/tcltk/gis.m/group.tcl,
+	  gui/tcltk/gis.m/histogram.tcl, gui/tcltk/gis.m/labels.tcl,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/maptext.tcl,
+	  gui/tcltk/gis.m/rastarrows.tcl, gui/tcltk/gis.m/raster.tcl,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.tcl,
+	  gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/vector.tcl: Updates
+	  for new map layer compositing architecture and transparency
+
+2006-03-10 20:25  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl:
+	  update to implement new map layer compositing method,
+	  transparency,
+	  and layer tree arrangement.
+
+2006-03-10 20:24  michael
+
+	* gui/tcltk/gis.m/gis.m: slight update to reflect gis.m instead of
+	  d.m in script
+
+2006-03-10 18:04  markus
+
+	* raster/r.flow/calc.c: incremented to 2 percent steps
+
+2006-03-10 18:03  markus
+
+	* raster/r.flow/io.c: msg cosmetics
+
+2006-03-10 13:43  markus
+
+	* lib/init/epsg_option.tcl: gdal/pymod/epsg_tr.py nore added
+
+2006-03-10 11:38  markus
+
+	* raster/r.walk/main.c: fixed remaining segfaults
+
+2006-03-10 10:56  markus
+
+	* raster/r.flow/description.html, raster/r.flow/io.c: polished
+	  parms/flags references (lgout still unclear)
+
+2006-03-10 10:54  markus
+
+	* raster/r.flow/io.c: extended description
+
+2006-03-10 09:06  markus
+
+	* lib/proj/ellipsoid.csv, lib/proj/gcs.csv,
+	  lib/proj/gdal_datum.csv, lib/proj/pcs.csv,
+	  lib/proj/projop_wparm.csv, lib/proj/unit_of_measure.csv: upgrade
+	  to EPSG 6.9 (files from GDAL CVS)
+
+2006-03-10 02:13  glynn
+
+	* display/drivers/XDRIVER/Makefile, tools/timer/Makefile: Fixes to
+	  eliminate unnecessary re-linking
+
+2006-03-10 01:09  glynn
+
+	* lib/gis/Makefile: Remove dependency upon version.h to prevent
+	  excessive re-linking
+
+2006-03-10 00:37  glynn
+
+	* include/Make/Rules.make: Remove bogus dependency on
+	  $(DEPENDENCIES) which caused everything to be re-compiled
+
+2006-03-09 20:44  markus
+
+	* doc/vector/v.example/main.c: fix variables
+
+2006-03-09 18:08  markus
+
+	* vector/v.extrude/main.c: fixed segfault
+
+2006-03-09 17:43  markus
+
+	* raster/r.walk/main.c: fixed file management mess (also bug #4156)
+
+2006-03-09 14:27  markus
+
+	* imagery/i.vpoints/target.c: fixed hardcoded buffer lengths
+
+2006-03-09 13:45  markus
+
+	* lib/segment/patch: remove unwanted stuff
+
+2006-03-09 01:02  hamish
+
+	* vector/v.to.rast/support.c: use G_command_history()
+
+2006-03-08 15:03  markus
+
+	* Makefile: also generate dglib docs
+
+2006-03-08 14:10  markus
+
+	* lib/vector/dglib/Makefile, lib/vector/vectorlib.dox: graph
+	  related functions mentioned; generate dglib file
+
+2006-03-08 13:56  markus
+
+	* lib/vector/dglib/dglib.dox, lib/vector/vectorlib.dox: dglib docs
+	  doxygenized added
+
+2006-03-08 09:48  markus
+
+	* raster/r.sun/main.c: Jaro Hofierka: another shadow bugfix
+
+2006-03-08 04:35  hamish
+
+	* lib/db/sqlp/description.html: clarify quoting
+
+2006-03-08 02:12  hamish
+
+	* scripts/d.correlate/d.correlate,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.png/d.out.png, scripts/d.polar/d.polar,
+	  scripts/d.resize/d.resize,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic, scripts/i.oif/i.oifcalc,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.plane/r.plane, scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.univar.sh/r.univar.sh,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.update/v.db.update,
+	  scripts/v.rast.stats/v.rast.stats,
+	  scripts/v.univar.sh/v.univar.sh, scripts/v.what.vect/v.what.vect:
+	  PROG= has to happen before we can ask for $PROG
+
+2006-03-08 01:50  hamish
+
+	* scripts/i.in.spotvgt/i.in.spotvgt, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.gns/v.in.gns, scripts/v.in.mapgen/v.in.mapgen: PROG=
+	  has to happen before we can ask for $PROG
+
+2006-03-08 01:35  hamish
+
+	* scripts/v.db.addcol/v.db.addcol: missing PROG=
+
+2006-03-07 16:17  michael
+
+	* gui/tcltk/gis.m/rgbhis.tcl: fix for flickering options panel
+
+2006-03-07 16:16  michael
+
+	* gui/tcltk/gis.m/maptool.tcl: fix for display management buttons
+	  that don't stop their functions.
+
+2006-03-07 16:16  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: fix for missing text bug in
+	  legends and scales
+
+2006-03-07 16:15  michael
+
+	* gui/tcltk/gis.m/barscale.tcl: minor bug fix
+
+2006-03-07 13:29  radim
+
+	* lib/gis/home.c: debug level
+
+2006-03-07 04:50  hamish
+
+	* general/g.filename/main.c: make current mapset the default. i18n,
+	  exit codes
+
+2006-03-06 20:34  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n grassmods-update
+
+2006-03-06 17:53  markus
+
+	* doc/howto_release.txt: update
+
+2006-03-06 14:20  radim
+
+	* lib/gis/home.c: home directory on windows
+
+2006-03-05 18:35  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n updates for
+	  grassmods
+
+2006-03-03 14:57  markus
+
+	* raster/r.colors/Makefile, raster/r.colors/population: population
+	  color map added (GPW inspired)
+
+2006-03-03 14:45  markus
+
+	* lib/gis/color_hist.c: fix log color NULL to white
+
+2006-03-03 14:16  markus
+
+	* scripts/i.spectral/description.html,
+	  scripts/i.spectral/i.spectral: Francesco Pirotti
+	  <francesco.pirotti unipd it>:
+	  new features:
+	  1 - can choose to use a group instead of a list of rasters
+	  2 - can have more than 8 rasters
+	  3 - can choose to pick a single point or to pick multiple points
+	  4 - can choose to label with successive numbers or with
+	  coordinate pairs
+
+2006-03-03 13:41  markus
+
+	* vector/v.reclass/description.html: dissolve hint added
+
+2006-03-03 13:40  markus
+
+	* vector/v.extract/description.html: dissolve example; prettified
+
+2006-03-03 12:19  markus
+
+	* vector/v.perturb/main.c: fix to avoid that points concentrate in
+	  box corners when using min parm
+
+2006-03-03 10:47  stephan
+
+	* locale/po/grassmods_fr.po: Eve Rousseau
+	  <phytosociologue at yahoo.fr>: updated french i18N translations
+	  Thank you
+
+2006-03-03 10:41  markus
+
+	* vector/v.perturb/description.html, vector/v.perturb/main.c: added
+	  minimum and seed parameter; i18N
+
+2006-03-03 10:34  markus
+
+	* vector/v.perturb/myrng.c: debug output
+
+2006-03-02 20:03  soeren
+
+	* raster/r.out.vtk/main.c, raster/r.out.vtk/parameters.c,
+	  raster/r.out.vtk/writeascii.c: Improved the error handling and
+	  messages
+	  Now the input maps are optional
+	  used indent for code beautification
+
+2006-03-02 19:56  soeren
+
+	* raster/r.out.vtk/description.html: Added examples
+
+2006-03-02 14:34  soeren
+
+	* raster3d/r3.out.vtk/main.c: Improved the error handling and error
+	  messages
+	  Now the input g3d maps are optional, only RGB data or pure
+	  geometry data can be exported
+
+2006-03-02 14:31  soeren
+
+	* raster3d/r3.out.vtk/description.html: Added RGB map example and
+	  explanation
+
+2006-03-02 09:21  markus
+
+	* rpm/fedora/grass_FC4.spec: Roberto Flor: updated for FC4/RHEL4
+
+2006-03-02 06:46  cho
+
+	* general/manage/lib/copyfile.c, general/manage/lib/read_list.c:
+	  compiler warning fixed
+
+2006-03-02 03:44  hamish
+
+	* raster/r.param.scale/close_down.c: save command history to hist
+	  file
+
+2006-03-01 22:19  markus
+
+	* raster3d/r3.out.vtk/description.html: more fun for the volume
+
+2006-03-01 17:51  cho
+
+	* display/d.barscale/draw_scale.c: saving/restoring of region fixed
+
+2006-03-01 17:50  markus
+
+	* include/Make/Grass.make.in: changed order so that the GRASS build
+	  tree is searched before system directories (suggested by Glynn)
+
+2006-03-01 11:23  hamish
+
+	* SUBMITTING: add indent rules. slight reordering of some rules to
+	  group like kinds
+
+2006-03-01 10:41  markus
+
+	* lib/vector/vectorlib.dox: updated faces descr.
+
+2006-03-01 10:02  hamish
+
+	* general/g.pnmcomp/description.html: add helpful explanation from
+	  Glynn
+
+2006-03-01 07:29  hamish
+
+	* raster/r.cost/main.c: write G_command_history()
+
+2006-03-01 06:57  hamish
+
+	* lib/segment/pagein.c: non-bogus error messages for read(). bug #
+	  3514
+
+2006-03-01 05:07  hamish
+
+	* scripts/d.polar/description.html: missing BR after IMG SRC
+
+2006-02-28 12:24  radim
+
+	* raster/r.in.gdal/Makefile: removed vask lib
+
+2006-02-27 23:05  cho
+
+	* display/d.legend/main.c: D_add_to_list() for mouse
+
+2006-02-27 19:19  soeren
+
+	* raster3d/r3.out.vtk/main.c: Added RGB voxel maps support
+
+2006-02-27 13:30  markus
+
+	* swig/index.dox: links added
+
+2006-02-27 09:15  radim
+
+	* db/drivers/mysql/mesql.html, db/drivers/mysql/mysql.html: credits
+
+2006-02-27 08:48  markus
+
+	* scripts/d.slide.show/d.slide.show: fixed param order
+
+2006-02-26 22:21  markus
+
+	* raster3d/r3.out.vtk/main.c: typos
+
+2006-02-26 22:20  markus
+
+	* raster3d/r3.out.vtk/main.c: typo
+
+2006-02-26 22:17  markus
+
+	* doc/howto_release.txt: Tag release
+
+2006-02-26 21:59  markus
+
+	* locale/po/grassmods_de.po: typo
+
+2006-02-26 14:18  markus
+
+	* locale/po/grassmods_it.po: typos fixed
+
+2006-02-26 14:11  markus
+
+	* raster3d/r3.cross.rast/description.html,
+	  raster3d/r3.cross.rast/main.c: include headers fixed; cosmetics
+
+2006-02-26 10:29  markus
+
+	* raster3d/r3.out.vtk/description.html: also print 3D settings
+
+2006-02-26 10:22  markus
+
+	* vector/v.out.vtk/description.html: cosmetics
+
+2006-02-26 10:14  markus
+
+	* visualization/nviz/src/togl_flythrough.c: GSD_FRONT -> GSD_BACK
+	  (needs to be BACK to avoid flickering)
+
+2006-02-26 09:59  markus
+
+	* vector/v.out.vtk/description.html, vector/v.out.vtk/writeVTK.c:
+	  faces support added; G_percent() added
+
+2006-02-26 09:31  markus
+
+	* include/Vect.h, lib/vector/Vlib/level_two.c: Vect_get_num_faces()
+	  added
+
+2006-02-25 10:26  cho
+
+	* lib/gis/list.c: coding style
+
+2006-02-25 09:48  cho
+
+	* lib/gis/list.c: fixed multicolumn list
+
+2006-02-25 09:39  cho
+
+	* lib/gis/list.c: list==NULL check
+
+2006-02-25 09:37  cho
+
+	* lib/gis/list.c: sorted list
+
+2006-02-25 00:20  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: Improvement to way map display is
+	  created. May fix nviz problem
+	  with Cygwin versions.
+
+2006-02-23 18:09  soeren
+
+	* raster3d/r3.out.vtk/main.c: Added dp option
+	  number of significant digits for floating point output
+
+2006-02-23 16:03  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl: bug fix for zooming problems and
+	  for close statements.
+
+2006-02-23 16:02  michael
+
+	* gui/tcltk/gis.m/barscale.tcl: bug fix for separate north arrow
+	  and scale check boxes
+
+2006-02-23 03:00  soeren
+
+	* raster3d/Makefile: Added r3.cross.rast
+
+2006-02-23 03:00  soeren
+
+	* raster3d/r3.cross.rast, raster3d/r3.cross.rast/Makefile,
+	  raster3d/r3.cross.rast/description.html,
+	  raster3d/r3.cross.rast/main.c: New module:
+	  creates a cross section 2d map from a existing g3d map based on a
+	  2d elevation map
+
+2006-02-23 02:15  soeren
+
+	* vector/v.out.ascii/out.c: Fixed a comment
+
+2006-02-23 02:10  soeren
+
+	* vector/Makefile: Added v.out.vtk
+
+2006-02-23 02:10  soeren
+
+	* vector/v.out.vtk, vector/v.out.vtk/Makefile,
+	  vector/v.out.vtk/description.html, vector/v.out.vtk/head.c,
+	  vector/v.out.vtk/local_proto.h, vector/v.out.vtk/main.c,
+	  vector/v.out.vtk/writeVTK.c: This module exports grass vector
+	  features into the vtk dataformat.
+	  You can visualize the output with Paraview or MayaVi.
+
+2006-02-23 00:13  michael
+
+	* gui/tcltk/d.m/d.m.tcl: closing open d.mon reads
+
+2006-02-23 00:10  michael
+
+	* gui/tcltk/gis.m/gm.tcl, gui/tcltk/gis.m/mapcanvas.tcl: closing
+	  open d.mon statements
+
+2006-02-22 23:56  michael
+
+	* gui/tcltk/gis.m/pointer.gif: Map display tool icon
+
+2006-02-22 15:17  glynn
+
+	* include/version.h.in: Revert to fix _get_make_sock_path() and
+	  G_version() breakage.
+
+2006-02-21 23:50  michael
+
+	* gui/tcltk/gis.m/dtext.gif, gui/tcltk/gis.m/dtext.tcl,
+	  gui/tcltk/gis.m/fttext.gif, gui/tcltk/gis.m/fttext.tcl: No longer
+	  used in GIS Manager
+
+2006-02-21 23:49  michael
+
+	* gui/tcltk/gis.m/chart.tcl, gui/tcltk/gis.m/thematic.tcl,
+	  gui/tcltk/gis.m/vector.tcl: Fixes inability to display data from
+	  database outside current
+	  mapset or not with dbf driver.
+
+2006-02-21 23:46  markus
+
+	* locale/po/grasslibs_hi.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_vi.po,
+	  locale/po/grassmods_hi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_mr.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_vi.po: merged in
+	  new messages
+
+2006-02-21 20:59  michael
+
+	* gui/tcltk/gis.m/gm.tcl: width slightly increased to accomodate
+	  option panes without
+	  scrolling
+
+2006-02-21 20:56  michael
+
+	* gui/tcltk/gis.m/gmtree.tcl, gui/tcltk/gis.m/mapcanvas.tcl: fix
+	  issues with digitizing from GM--and related but unreported
+	  issues with other modules requiring x displays.
+
+2006-02-21 19:39  michael
+
+	* gui/tcltk/gis.m/mapcanvas.tcl, gui/tcltk/gis.m/maptool.tcl:
+	  updating display controls to radiobutton behavior. Removed
+	  incorrect
+	  configure bind.
+
+2006-02-21 18:47  markus
+
+	* vector/v.in.db/description.html: oid doesn't seem to work well
+
+2006-02-21 16:46  radim
+
+	* raster/r.in.bin/main.c, raster/r.in.gdal/main.c:
+	  G_define_standard_option
+
+2006-02-21 16:43  radim
+
+	* raster/r.neighbors/main.c, raster/r.series/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c: set output age to new
+
+2006-02-21 10:01  markus
+
+	* raster/r.sun/description.html: Jaro Hofierka: correction factor
+	  for shadowing to account for the earth curvature
+
+2006-02-21 10:00  markus
+
+	* raster/r.sun/local_proto.h, raster/r.sun/main.c: Jaro Hofierka:
+	  new shadow algorithm; dist param changed to fixed value;
+	  correction factor for shadowing to account for the earth
+	  curvature
+
+2006-02-21 09:02  radim
+
+	* include/version.h.in: added defines
+
+2006-02-20 21:09  stephan
+
+	* locale/po/grassmods_de.po: + update german i18N messages
+
+2006-02-20 20:58  stephan
+
+	* locale/po/grasslibs_de.po: + more german i18n libs-messages
+
+2006-02-19 21:54  markus
+
+	* scripts/r.univar.sh/r.univar.sh: added user defined percentile
+
+2006-02-19 21:20  markus
+
+	* Makefile: added missing gui/
+
+2006-02-19 21:19  markus
+
+	* gui/Makefile, gui/tcltk/Makefile: missing Makefiles added
+
+2006-02-19 21:15  markus
+
+	* gui/tcltk/d.m/Makefile, gui/tcltk/gis.m/Makefile: fixed path
+	  position
+
+2006-02-19 20:13  markus
+
+	* raster3d/r3.out.vtk/description.html: Slovakia3d example added
+
+2006-02-19 19:06  cho
+
+	* lib/gis/list.c: fix for access() failure
+
+2006-02-19 16:58  markus
+
+	* raster3d/r3.out.vtk/description.html: Spearfish example added
+
+2006-02-19 16:53  glynn
+
+	* lib/gis/list.c: Catch num_cols == 0 [bug #4103]
+
+2006-02-19 14:24  glynn
+
+	* display/d.rast/main.c, display/d.vect/main.c,
+	  display/drivers/PNG/Color_table.c,
+	  display/drivers/PNG/Draw_line.c,
+	  display/drivers/PNG/Draw_point.c,
+	  display/drivers/PNG/Graph_set.c,
+	  display/drivers/PNG/Line_width.c,
+	  display/drivers/PNG/Raster_int.c, display/drivers/PNG/main.c,
+	  display/drivers/PNG/pngdriver.h,
+	  display/drivers/XDRIVER/Color_table.c,
+	  display/drivers/XDRIVER/Draw_bitmap.c,
+	  display/drivers/XDRIVER/Draw_line.c,
+	  display/drivers/XDRIVER/Draw_point.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Line_width.c,
+	  display/drivers/XDRIVER/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/local_vars.h,
+	  display/drivers/XDRIVER/main.c, display/drivers/lib/Color.c,
+	  display/drivers/lib/Line_width.c, display/drivers/lib/Makefile,
+	  display/drivers/lib/Transparency.c,
+	  display/drivers/lib/command.c, display/drivers/lib/driver.h,
+	  include/graphics.h, include/raster.h, lib/display/raster.c,
+	  lib/raster/protocol.c: Revert ill-considered attempt at
+	  translucency support
+
+2006-02-19 14:22  glynn
+
+	* general/g.pnmcomp/main.c: Add opacity=... option
+
+2006-02-19 12:13  cho
+
+	* lib/display/raster.c: transparency applied
+
+2006-02-19 10:52  cho
+
+	* display/drivers/lib/Transparency.c: transparency
+
+2006-02-19 10:50  cho
+
+	* display/d.rast/main.c, display/d.vect/main.c,
+	  display/drivers/PNG/Color_table.c,
+	  display/drivers/PNG/Draw_line.c,
+	  display/drivers/PNG/Draw_point.c,
+	  display/drivers/PNG/Graph_set.c,
+	  display/drivers/PNG/Raster_int.c, display/drivers/PNG/main.c,
+	  display/drivers/PNG/pngdriver.h,
+	  display/drivers/XDRIVER/Color_table.c,
+	  display/drivers/XDRIVER/Draw_bitmap.c,
+	  display/drivers/XDRIVER/Draw_line.c,
+	  display/drivers/XDRIVER/Draw_point.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/local_vars.h,
+	  display/drivers/XDRIVER/main.c, display/drivers/lib/Color.c,
+	  display/drivers/lib/Makefile, display/drivers/lib/command.c,
+	  display/drivers/lib/driver.h, include/graphics.h,
+	  include/raster.h, lib/gis/plot.c, lib/raster/protocol.c:
+	  R_transparency() added: 0.0 <= transparency <= 1.0
+	  Transparency applied to Draw_line, Draw_point, Raster_int.
+	  DRV_lookup_rgb() added to convert color index to RGB.
+	  
+	  TODO:
+	  Box, Polygon, Polydots, Polyline?
+	  support for visual class < TrueColor?
+
+2006-02-18 20:40  cho
+
+	* display/Makefile: removed gis.m d.m from Makefile
+
+2006-02-18 16:53  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n-translations
+
+2006-02-18 12:12  bernhard
+
+	* display/gis.m: Moving gis.m from display/ to gui/tcltk/: Part
+	  two: removing files in display/.
+
+2006-02-18 12:11  bernhard
+
+	* gui/tcltk/gis.m, gui/tcltk/gis.m/Makefile,
+	  gui/tcltk/gis.m/barscale.gif, gui/tcltk/gis.m/barscale.tcl,
+	  gui/tcltk/gis.m/chart.gif, gui/tcltk/gis.m/chart.tcl,
+	  gui/tcltk/gis.m/cmd.gif, gui/tcltk/gis.m/cmd.tcl,
+	  gui/tcltk/gis.m/columns.gif, gui/tcltk/gis.m/copy.gif,
+	  gui/tcltk/gis.m/cut.gif, gui/tcltk/gis.m/dig.gif,
+	  gui/tcltk/gis.m/display.gif, gui/tcltk/gis.m/dtext.gif,
+	  gui/tcltk/gis.m/dtext.tcl, gui/tcltk/gis.m/erase.gif,
+	  gui/tcltk/gis.m/fly.gif, gui/tcltk/gis.m/font.gif,
+	  gui/tcltk/gis.m/frames.gif, gui/tcltk/gis.m/frames.tcl,
+	  gui/tcltk/gis.m/fttext.gif, gui/tcltk/gis.m/fttext.tcl,
+	  gui/tcltk/gis.m/gis.m, gui/tcltk/gis.m/gm.tcl,
+	  gui/tcltk/gis.m/gmmenu.tcl, gui/tcltk/gis.m/gmtool1.tcl,
+	  gui/tcltk/gis.m/gmtool2.tcl, gui/tcltk/gis.m/gmtree.tcl,
+	  gui/tcltk/gis.m/grass.gif, gui/tcltk/gis.m/grassabout.tcl,
+	  gui/tcltk/gis.m/grid.gif, gui/tcltk/gis.m/gridline.tcl,
+	  gui/tcltk/gis.m/group.gif, gui/tcltk/gis.m/group.tcl,
+	  gui/tcltk/gis.m/histogram.gif, gui/tcltk/gis.m/histogram.tcl,
+	  gui/tcltk/gis.m/intro.gif, gui/tcltk/gis.m/labels.gif,
+	  gui/tcltk/gis.m/labels.tcl, gui/tcltk/gis.m/legend.gif,
+	  gui/tcltk/gis.m/legend.tcl, gui/tcltk/gis.m/mapcanvas.tcl,
+	  gui/tcltk/gis.m/mapprint.tcl, gui/tcltk/gis.m/maptext.gif,
+	  gui/tcltk/gis.m/maptext.tcl, gui/tcltk/gis.m/maptool.tcl,
+	  gui/tcltk/gis.m/measure.gif, gui/tcltk/gis.m/new.gif,
+	  gui/tcltk/gis.m/nviz.gif, gui/tcltk/gis.m/open.gif,
+	  gui/tcltk/gis.m/pan.gif, gui/tcltk/gis.m/position.gif,
+	  gui/tcltk/gis.m/print.gif, gui/tcltk/gis.m/query.gif,
+	  gui/tcltk/gis.m/rastarrow.gif, gui/tcltk/gis.m/rastarrows.gif,
+	  gui/tcltk/gis.m/rastarrows.tcl,
+	  gui/tcltk/gis.m/rastarrowsdir.gif,
+	  gui/tcltk/gis.m/rastarrowsint.gif, gui/tcltk/gis.m/raster.gif,
+	  gui/tcltk/gis.m/raster.tcl, gui/tcltk/gis.m/rastnums.gif,
+	  gui/tcltk/gis.m/rastnums.tcl, gui/tcltk/gis.m/rgbhis.gif,
+	  gui/tcltk/gis.m/rgbhis.tcl, gui/tcltk/gis.m/rgbhis1.gif,
+	  gui/tcltk/gis.m/rgbhis2.gif, gui/tcltk/gis.m/rgbhis3.gif,
+	  gui/tcltk/gis.m/save.gif, gui/tcltk/gis.m/script,
+	  gui/tcltk/gis.m/script/d.colors.sh,
+	  gui/tcltk/gis.m/script/d.shadedmap,
+	  gui/tcltk/gis.m/script/d.text.sh,
+	  gui/tcltk/gis.m/script/d.title.sh,
+	  gui/tcltk/gis.m/script/print.sh,
+	  gui/tcltk/gis.m/script/r.colors.rules,
+	  gui/tcltk/gis.m/script/r.reclass.file,
+	  gui/tcltk/gis.m/script/r.reclass.rules,
+	  gui/tcltk/gis.m/script/r.recode.file,
+	  gui/tcltk/gis.m/script/r.recode.rules,
+	  gui/tcltk/gis.m/script/r.support.sh,
+	  gui/tcltk/gis.m/script/v.in.asciipoints,
+	  gui/tcltk/gis.m/startmon.gif, gui/tcltk/gis.m/thematic.gif,
+	  gui/tcltk/gis.m/thematic.tcl, gui/tcltk/gis.m/tksys.tcl,
+	  gui/tcltk/gis.m/vector.gif, gui/tcltk/gis.m/vector.tcl,
+	  gui/tcltk/gis.m/xganim.gif, gui/tcltk/gis.m/zoom.back.gif,
+	  gui/tcltk/gis.m/zoom.gif, gui/tcltk/gis.m/zoom_current.gif,
+	  gui/tcltk/gis.m/zoom_default.gif,
+	  gui/tcltk/gis.m/zoom_region.gif, gui/tcltk/gis.m/zoomout.gif:
+	  Moving gis.m from display/ to gui/tcltk/: Part one: adding files
+	  to gui/tcltk/.
+
+2006-02-18 11:58  bernhard
+
+	* display/d.m: Second part of moving d.m: Removing the files from
+	  display/ .
+
+2006-02-18 11:55  bernhard
+
+	* gui, gui/tcltk, gui/tcltk/d.m, gui/tcltk/d.m/Makefile,
+	  gui/tcltk/d.m/barscale.gif, gui/tcltk/d.m/barscale.tcl,
+	  gui/tcltk/d.m/chart.gif, gui/tcltk/d.m/chart.tcl,
+	  gui/tcltk/d.m/cmd.gif, gui/tcltk/d.m/cmd.tcl,
+	  gui/tcltk/d.m/columns.gif, gui/tcltk/d.m/copy.gif,
+	  gui/tcltk/d.m/cut.gif, gui/tcltk/d.m/d.m, gui/tcltk/d.m/d.m.tcl,
+	  gui/tcltk/d.m/description.html, gui/tcltk/d.m/dig.gif,
+	  gui/tcltk/d.m/display.all.gif, gui/tcltk/d.m/display.gif,
+	  gui/tcltk/d.m/display.region.gif, gui/tcltk/d.m/dtext.gif,
+	  gui/tcltk/d.m/dtext.tcl, gui/tcltk/d.m/erase.gif,
+	  gui/tcltk/d.m/fly.gif, gui/tcltk/d.m/frames.gif,
+	  gui/tcltk/d.m/frames.tcl, gui/tcltk/d.m/fttext.gif,
+	  gui/tcltk/d.m/fttext.tcl, gui/tcltk/d.m/grass.gif,
+	  gui/tcltk/d.m/grassabout.tcl, gui/tcltk/d.m/grid.gif,
+	  gui/tcltk/d.m/gridline.tcl, gui/tcltk/d.m/group.gif,
+	  gui/tcltk/d.m/group.tcl, gui/tcltk/d.m/intro.gif,
+	  gui/tcltk/d.m/labels.gif, gui/tcltk/d.m/labels.tcl,
+	  gui/tcltk/d.m/legend.gif, gui/tcltk/d.m/legend.tcl,
+	  gui/tcltk/d.m/measure.gif, gui/tcltk/d.m/menu.tcl,
+	  gui/tcltk/d.m/monitorsel.tcl, gui/tcltk/d.m/new.gif,
+	  gui/tcltk/d.m/nviz.gif, gui/tcltk/d.m/open.gif,
+	  gui/tcltk/d.m/pan.gif, gui/tcltk/d.m/position.gif,
+	  gui/tcltk/d.m/print.gif, gui/tcltk/d.m/print.tcl,
+	  gui/tcltk/d.m/query.gif, gui/tcltk/d.m/raster.gif,
+	  gui/tcltk/d.m/raster.tcl, gui/tcltk/d.m/rgbhis.gif,
+	  gui/tcltk/d.m/rgbhis.tcl, gui/tcltk/d.m/save.gif,
+	  gui/tcltk/d.m/script, gui/tcltk/d.m/script/d.colors.sh,
+	  gui/tcltk/d.m/script/d.shadedmap, gui/tcltk/d.m/script/d.text.sh,
+	  gui/tcltk/d.m/script/d.title.sh, gui/tcltk/d.m/script/print.sh,
+	  gui/tcltk/d.m/script/r.colors.rules,
+	  gui/tcltk/d.m/script/r.reclass.file,
+	  gui/tcltk/d.m/script/r.reclass.rules,
+	  gui/tcltk/d.m/script/r.recode.file,
+	  gui/tcltk/d.m/script/r.recode.rules,
+	  gui/tcltk/d.m/script/r.support.sh,
+	  gui/tcltk/d.m/script/v.in.asciipoints,
+	  gui/tcltk/d.m/thematic.gif, gui/tcltk/d.m/thematic.tcl,
+	  gui/tcltk/d.m/tksys.tcl, gui/tcltk/d.m/tool1.tcl,
+	  gui/tcltk/d.m/tool2.tcl, gui/tcltk/d.m/tree.tcl,
+	  gui/tcltk/d.m/vector.gif, gui/tcltk/d.m/vector.tcl,
+	  gui/tcltk/d.m/xganim.gif, gui/tcltk/d.m/zoom.back.gif,
+	  gui/tcltk/d.m/zoom.gif: Part one of moving d.m: Adding files to
+	  gui/tcltk/ .
+
+2006-02-18 01:02  cho
+
+	* display/d.vect/main.c, display/drivers/PNG/Line_width.c,
+	  display/drivers/PNG/pngdriver.h,
+	  display/drivers/XDRIVER/Line_width.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/lib/Line_width.c, display/drivers/lib/command.c,
+	  display/drivers/lib/driver.h, include/gisdefs.h, lib/gis/plot.c,
+	  lib/raster/protocol.c: G_setup_fill(int gap) added for dotted
+	  fill.
+	  Dot fill applied to d.vect (fill option).
+	  R_line_width() returns the previous line width:
+	  if -1 is given, returns the current line width w/o changing
+	  anything.
+
+2006-02-17 23:07  markus
+
+	* display/d.m/d.m.tcl: fixed again HOSTTYPE
+
+2006-02-17 22:04  markus
+
+	* raster3d/r3.out.vtk/description.html, raster3d/r3.out.vtk/main.c:
+	  Soeren Gebbert: added support for 3d elevation output, generated
+	  between a a 2d top and bottom raster map
+
+2006-02-17 22:02  markus
+
+	* raster3d/base/r3.info.main.c: Soeren Gebbert: added missing
+	  newline's, closed g3d map
+
+2006-02-17 21:59  michael
+
+	* display/d.m/barscale.tcl: added support for new -n and -s flags
+
+2006-02-17 21:54  michael
+
+	* display/gis.m/barscale.tcl: added -s and -n flag support
+
+2006-02-17 21:15  michael
+
+	* display/gis.m, display/gis.m/Makefile,
+	  display/gis.m/barscale.gif, display/gis.m/barscale.tcl,
+	  display/gis.m/chart.gif, display/gis.m/chart.tcl,
+	  display/gis.m/cmd.gif, display/gis.m/cmd.tcl,
+	  display/gis.m/columns.gif, display/gis.m/copy.gif,
+	  display/gis.m/cut.gif, display/gis.m/dig.gif,
+	  display/gis.m/display.gif, display/gis.m/erase.gif,
+	  display/gis.m/fly.gif, display/gis.m/font.gif,
+	  display/gis.m/frames.gif, display/gis.m/frames.tcl,
+	  display/gis.m/gis.m, display/gis.m/gm.tcl,
+	  display/gis.m/gmmenu.tcl, display/gis.m/gmtool1.tcl,
+	  display/gis.m/gmtool2.tcl, display/gis.m/gmtree.tcl,
+	  display/gis.m/grass.gif, display/gis.m/grassabout.tcl,
+	  display/gis.m/grid.gif, display/gis.m/gridline.tcl,
+	  display/gis.m/group.gif, display/gis.m/group.tcl,
+	  display/gis.m/histogram.gif, display/gis.m/histogram.tcl,
+	  display/gis.m/intro.gif, display/gis.m/labels.gif,
+	  display/gis.m/labels.tcl, display/gis.m/legend.gif,
+	  display/gis.m/legend.tcl, display/gis.m/mapcanvas.tcl,
+	  display/gis.m/mapprint.tcl, display/gis.m/maptext.gif,
+	  display/gis.m/maptext.tcl, display/gis.m/maptool.tcl,
+	  display/gis.m/measure.gif, display/gis.m/new.gif,
+	  display/gis.m/nviz.gif, display/gis.m/open.gif,
+	  display/gis.m/pan.gif, display/gis.m/position.gif,
+	  display/gis.m/print.gif, display/gis.m/query.gif,
+	  display/gis.m/rastarrow.gif, display/gis.m/rastarrows.gif,
+	  display/gis.m/rastarrows.tcl, display/gis.m/rastarrowsdir.gif,
+	  display/gis.m/rastarrowsint.gif, display/gis.m/raster.gif,
+	  display/gis.m/raster.tcl, display/gis.m/rastnums.gif,
+	  display/gis.m/rastnums.tcl, display/gis.m/rgbhis.gif,
+	  display/gis.m/rgbhis.tcl, display/gis.m/rgbhis1.gif,
+	  display/gis.m/rgbhis2.gif, display/gis.m/rgbhis3.gif,
+	  display/gis.m/save.gif, display/gis.m/script,
+	  display/gis.m/script/d.colors.sh,
+	  display/gis.m/script/d.shadedmap, display/gis.m/script/d.text.sh,
+	  display/gis.m/script/d.title.sh, display/gis.m/script/print.sh,
+	  display/gis.m/script/r.colors.rules,
+	  display/gis.m/script/r.reclass.file,
+	  display/gis.m/script/r.reclass.rules,
+	  display/gis.m/script/r.recode.file,
+	  display/gis.m/script/r.recode.rules,
+	  display/gis.m/script/r.support.sh,
+	  display/gis.m/script/v.in.asciipoints,
+	  display/gis.m/startmon.gif, display/gis.m/thematic.gif,
+	  display/gis.m/thematic.tcl, display/gis.m/tksys.tcl,
+	  display/gis.m/vector.gif, display/gis.m/vector.tcl,
+	  display/gis.m/xganim.gif, display/gis.m/zoom.back.gif,
+	  display/gis.m/zoom.gif, display/gis.m/zoom_current.gif,
+	  display/gis.m/zoom_default.gif, display/gis.m/zoom_region.gif,
+	  display/gis.m/zoomout.gif: Moving (again) gis.m files to new
+	  /gui/tcltk directory
+
+2006-02-17 21:09  michael
+
+	* display/d.m, display/d.m/Makefile, display/d.m/barscale.gif,
+	  display/d.m/barscale.tcl, display/d.m/chart.gif,
+	  display/d.m/chart.tcl, display/d.m/cmd.gif, display/d.m/cmd.tcl,
+	  display/d.m/columns.gif, display/d.m/copy.gif,
+	  display/d.m/cut.gif, display/d.m/d.m, display/d.m/d.m.tcl,
+	  display/d.m/description.html, display/d.m/dig.gif,
+	  display/d.m/display.all.gif, display/d.m/display.gif,
+	  display/d.m/display.region.gif, display/d.m/dtext.gif,
+	  display/d.m/dtext.tcl, display/d.m/erase.gif,
+	  display/d.m/fly.gif, display/d.m/frames.gif,
+	  display/d.m/frames.tcl, display/d.m/fttext.gif,
+	  display/d.m/fttext.tcl, display/d.m/grass.gif,
+	  display/d.m/grassabout.tcl, display/d.m/grid.gif,
+	  display/d.m/gridline.tcl, display/d.m/group.gif,
+	  display/d.m/group.tcl, display/d.m/intro.gif,
+	  display/d.m/labels.gif, display/d.m/labels.tcl,
+	  display/d.m/legend.gif, display/d.m/legend.tcl,
+	  display/d.m/measure.gif, display/d.m/menu.tcl,
+	  display/d.m/monitorsel.tcl, display/d.m/new.gif,
+	  display/d.m/nviz.gif, display/d.m/open.gif, display/d.m/pan.gif,
+	  display/d.m/position.gif, display/d.m/print.gif,
+	  display/d.m/print.tcl, display/d.m/query.gif,
+	  display/d.m/raster.gif, display/d.m/raster.tcl,
+	  display/d.m/rgbhis.gif, display/d.m/rgbhis.tcl,
+	  display/d.m/save.gif, display/d.m/script,
+	  display/d.m/script/d.colors.sh, display/d.m/script/d.shadedmap,
+	  display/d.m/script/d.text.sh, display/d.m/script/d.title.sh,
+	  display/d.m/script/print.sh, display/d.m/script/r.colors.rules,
+	  display/d.m/script/r.reclass.file,
+	  display/d.m/script/r.reclass.rules,
+	  display/d.m/script/r.recode.file,
+	  display/d.m/script/r.recode.rules,
+	  display/d.m/script/r.support.sh,
+	  display/d.m/script/v.in.asciipoints, display/d.m/thematic.gif,
+	  display/d.m/thematic.tcl, display/d.m/tksys.tcl,
+	  display/d.m/tool1.tcl, display/d.m/tool2.tcl,
+	  display/d.m/tree.tcl, display/d.m/vector.gif,
+	  display/d.m/vector.tcl, display/d.m/xganim.gif,
+	  display/d.m/zoom.back.gif, display/d.m/zoom.gif: Moving (again)
+	  d.m files to new /gui/tcltk directory
+
+2006-02-17 19:52  michael
+
+	* display/gis.m: removing files along with move of all gis.m to new
+	  /gui/tcltk directory
+
+2006-02-17 19:46  michael
+
+	* display/d.m: moved to /gui/tcltk
+
+2006-02-17 19:43  michael
+
+	* display/d.m/Makefile, display/d.m/barscale.gif,
+	  display/d.m/barscale.tcl, display/d.m/chart.gif,
+	  display/d.m/chart.tcl, display/d.m/cmd.gif, display/d.m/cmd.tcl,
+	  display/d.m/columns.gif, display/d.m/copy.gif,
+	  display/d.m/cut.gif, display/d.m/d.m, display/d.m/d.m.tcl,
+	  display/d.m/description.html, display/d.m/dig.gif,
+	  display/d.m/display.all.gif, display/d.m/display.gif,
+	  display/d.m/display.region.gif, display/d.m/dtext.gif,
+	  display/d.m/dtext.tcl, display/d.m/erase.gif,
+	  display/d.m/fly.gif, display/d.m/frames.gif,
+	  display/d.m/frames.tcl, display/d.m/fttext.gif,
+	  display/d.m/fttext.tcl, display/d.m/grass.gif,
+	  display/d.m/grassabout.tcl, display/d.m/grid.gif,
+	  display/d.m/gridline.tcl, display/d.m/group.gif,
+	  display/d.m/group.tcl, display/d.m/intro.gif,
+	  display/d.m/labels.gif, display/d.m/labels.tcl,
+	  display/d.m/legend.gif, display/d.m/legend.tcl,
+	  display/d.m/measure.gif, display/d.m/menu.tcl,
+	  display/d.m/monitorsel.tcl, display/d.m/new.gif,
+	  display/d.m/nviz.gif, display/d.m/open.gif, display/d.m/pan.gif,
+	  display/d.m/position.gif, display/d.m/print.gif,
+	  display/d.m/print.tcl, display/d.m/query.gif,
+	  display/d.m/raster.gif, display/d.m/raster.tcl,
+	  display/d.m/rgbhis.gif, display/d.m/rgbhis.tcl,
+	  display/d.m/save.gif, display/d.m/thematic.gif,
+	  display/d.m/thematic.tcl, display/d.m/tksys.tcl,
+	  display/d.m/tool1.tcl, display/d.m/tool2.tcl,
+	  display/d.m/tree.tcl, display/d.m/vector.gif,
+	  display/d.m/vector.tcl, display/d.m/xganim.gif,
+	  display/d.m/zoom.back.gif, display/d.m/zoom.gif: Moved to
+	  /gui/tcktk/d.m
+
+2006-02-17 19:25  michael
+
+	* display/gis.m/maptool.tcl: change help text for nviz tool
+
+2006-02-17 19:07  michael
+
+	* display/gis.m/mapcanvas.tcl: fix to preserve resolution exactly
+	  when zooming.
+
+2006-02-17 18:07  michael
+
+	* display/gis.m/group.tcl, display/gis.m/maptool.tcl,
+	  display/gis.m/raster.tcl, display/gis.m/vector.tcl: adding nviz
+	  displays to map canvas toolbar
+
+2006-02-17 18:06  michael
+
+	* display/gis.m/rgbhis.tcl: bug fix for auto naming
+
+2006-02-17 18:06  michael
+
+	* display/gis.m/rastnums.tcl: small bugfix
+
+2006-02-17 18:05  michael
+
+	* display/gis.m/mapcanvas.tcl: up to change zoom behavior and
+	  (hopefully) close open g.region
+	  zombies
+
+2006-02-17 18:05  michael
+
+	* display/gis.m/gm.tcl: bug fix for map display resizing and
+	  disappearing buttons at
+	  bottom of command console
+
+2006-02-17 14:16  markus
+
+	* vector/v.out.ascii/b2a.c, vector/v.out.ascii/head.c,
+	  vector/v.out.ascii/local_proto.h, vector/v.out.ascii/out.c:
+	  Soeren Gebbert: added option dp to truncate the float output of
+	  point coordinates; added localisation; code prettified with
+	  indent
+
+2006-02-17 14:14  markus
+
+	* raster/r.info/main.c, raster/r.info/reclas_txt.c: Soeren Gebbert:
+	  added timestamp to default r.info output, if no timestamp is
+	  available or the entries are empty, "none" will printed; added
+	  shell like output for the -p timestamp flag
+
+2006-02-17 14:12  markus
+
+	* raster3d/base/mask_functions.c, raster3d/base/r3.info.main.c,
+	  raster3d/base/r3.timestamp.main.c: Soeren Gebbert: r3-base:
+	  * used indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0
+	  -ncdb -nce -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80
+	  -lc80 -lp -npcs -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8
+	  to nice the code layout;
+	  
+	  r3.info:
+	  * synced the output style with r.info;
+	  * added the flags "-g", "-s", "-t" and "-p";
+	  * added timestamp to default r3.info output, if no timestamp is
+	  available or the entries are empty, "none" will printed;
+	  * added shell like output for the -p timestamp flag;
+
+2006-02-17 11:04  radim
+
+	* vector/v.out.ogr/main.c: enable combination of types
+
+2006-02-17 10:50  stephan
+
+	* display/d.barscale/description.html: + added note about not
+	  working in latlon-locs.
+
+2006-02-17 08:07  glynn
+
+	* lib/raster/protocol.c: Fix documentation of box/polygon functions
+	  regarding current location
+	  Change "current position" to "current location" for consistency
+
+2006-02-16 23:01  markus
+
+	* db/drivers/sqlite/Makefile: generate docs
+
+2006-02-16 22:56  markus
+
+	* db/drivers/sqlite/Makefile: tab please
+
+2006-02-16 22:52  markus
+
+	* db/drivers/dbf/dbf.html, db/drivers/sqlite/Makefile,
+	  db/drivers/sqlite/sqlite.html: minimalistic docs for sqlite;
+	  cosmetics
+
+2006-02-16 22:46  markus
+
+	* vector/v.patch/description.html: example fixed (bug #4097)
+
+2006-02-16 22:05  markus
+
+	* display/d.m/d.m.tcl: fixed HOSTTYPE if not existing
+
+2006-02-16 21:59  cho
+
+	* display/d.profile/main.c, display/d.profile/profile.h,
+	  display/d.rast.edit/edit.c, display/d.rast.edit/edit.h,
+	  display/d.rast.edit/main.c, vector/v.digit/attr.c,
+	  vector/v.digit/global.h, vector/v.digit/i_face.c,
+	  vector/v.digit/line.c, vector/v.digit/main.c,
+	  vector/v.digit/vertex.c, vector/v.digit/zoom.c:
+	  GRASS_ANOTHER_BUTTON
+
+2006-02-16 21:18  markus
+
+	* raster/r.to.vect/main.c: exit status (bug #2711)
+
+2006-02-16 21:04  markus
+
+	* imagery/i.find/main.c: don't free in the loop
+
+2006-02-16 20:23  markus
+
+	* scripts/d.polar/d.polar: minor fixed
+
+2006-02-16 20:05  markus
+
+	* INSTALL: -O3 -> -O2
+
+2006-02-16 13:07  cho
+
+	* display/drivers/XDRIVER/Polydots.c,
+	  display/drivers/XDRIVER/Polyline.c: cur_x, cur_y corrected
+
+2006-02-16 12:42  markus
+
+	* vector/v.digit/c_face.c, vector/v.digit/centre.c,
+	  vector/v.digit/display.c, vector/v.digit/global.h,
+	  vector/v.digit/line.c, vector/v.digit/proto.h,
+	  vector/v.digit/settings.tcl, vector/v.digit/toolbox.tcl: Ralf
+	  Gerlich <ralf.gerlich at bsse.biz>: remainder submitted of
+	  1. the possibility to change the width of displayed lines in the
+	  settings dialog,
+	  2. a tool for continuous appending of points to a previously
+	  closed line, and
+	  3. a tool for copying categories between features.
+
+2006-02-16 12:40  cho
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h: -s (scalebar only), -n (northarrow
+	  only) flags added.
+
+2006-02-16 09:55  cho
+
+	* display/drivers/XDRIVER/Polyline.c: R_polyline_rel() bug fixed
+
+2006-02-16 08:57  cho
+
+	* display/d.barscale/draw_scale.c: coordinates discrepancy fixed
+
+2006-02-16 06:50  cho
+
+	* general/g.setproj/main.c: mv, rm removed
+
+2006-02-16 06:44  cho
+
+	* general/manage/lib/empty.c: ls dependency removed
+
+2006-02-16 06:20  cho
+
+	* general/manage/lib/do_copy.c: recursive_copy
+
+2006-02-16 06:12  cho
+
+	* general/manage/lib/do_copy.c, lib/gis/mapset_msc.c,
+	  lib/gis/remove.c, lib/gis/user_config.c: mingw
+
+2006-02-16 06:11  cho
+
+	* general/manage/lib/do_copy.c: added return value description
+
+2006-02-16 06:07  cho
+
+	* general/manage/lib/Makefile, general/manage/lib/do_copy.c: remove
+	  cp dependency
+
+2006-02-16 03:14  cho
+
+	* general/manage/cmd/copy.c, general/manage/cmd/remove.c: rm
+	  removed
+
+2006-02-16 00:37  markus
+
+	* vector/v.extract/main.c: exit status
+
+2006-02-16 00:36  michael
+
+	* display/gis.m/mapcanvas.tcl: changes zoom/unzoom to continue to
+	  function until R button clicked
+
+2006-02-16 00:36  markus
+
+	* doc/vector/v.example/main.c: modernized
+
+2006-02-16 00:09  cho
+
+	* lib/g3d/g3dclose.c: mv dependency removed
+
+2006-02-15 23:52  cho
+
+	* lib/gis/remove.c: rm dependency removed
+
+2006-02-15 23:47  michael
+
+	* display/d.m/d.m.tcl, display/d.m/legend.tcl,
+	  display/d.m/raster.tcl: update to close 'orphaned' open files
+
+2006-02-15 23:14  cho
+
+	* lib/gis/closecell.c, lib/gis/rename.c: mv dependency removed
+
+2006-02-15 23:01  cho
+
+	* display/d.font/main.c: moved <string.h> to above grass header
+	  files
+
+2006-02-15 20:54  cho
+
+	* lib/gis/list.c: removed unused variables
+
+2006-02-15 20:52  cho
+
+	* lib/gis/list.c: Removed ls dependency
+
+2006-02-15 20:05  markus
+
+	* vector/v.digit/attr.c, vector/v.digit/c_face.c,
+	  vector/v.digit/centre.c, vector/v.digit/global.h,
+	  vector/v.digit/icons/copy.cats.gif,
+	  vector/v.digit/icons/edit.line.gif, vector/v.digit/proto.h,
+	  vector/v.digit/toolbox.tcl: Ralf Gerlich <ralf.gerlich at
+	  bsse.biz>:
+	  1. the possibility to change the width of displayed lines in the
+	  settings dialog,
+	  2. a tool for continuous appending of points to a previously
+	  closed line, and
+	  3. a tool for copying categories between features.
+
+2006-02-15 15:11  markus
+
+	* display/d.histogram/description.html, scripts/Makefile: d.polar
+	  added
+
+2006-02-15 15:10  markus
+
+	* scripts/d.polar, scripts/d.polar/Makefile,
+	  scripts/d.polar/d.polar, scripts/d.polar/d_polar_aspect.png,
+	  scripts/d.polar/description.html: added polar diagram
+
+2006-02-15 14:49  markus
+
+	* lib/gis/legal_name.c: don't die on undefined parameters
+
+2006-02-15 14:37  markus
+
+	* include/gis.h, include/gisdefs.h, lib/gis/legal_name.c,
+	  raster/r.slope.aspect/main.c: G_check_input_output_name()
+
+2006-02-15 09:03  markus
+
+	* swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c: updated
+	  to current r_slope_aspect
+
+2006-02-15 08:59  markus
+
+	* swig/perl/Makefile.PL.in: fixed include header problem
+
+2006-02-15 08:45  markus
+
+	* locale/po/grasslibs_zh.po, locale/po/grassmods_zh.po: Zhang Jun:
+	  continued Chinese translation
+
+2006-02-14 10:04  radim
+
+	* general/manage/lib/Makefile: u+w element_list
+
+2006-02-14 09:02  radim
+
+	* lib/gis/user_config.c, lib/gis/win32_pipes.c: mingw
+
+2006-02-14 05:09  cho
+
+	* display/drivers/lib/Polygon.c: poly() fill fixed
+
+2006-02-14 05:04  glynn
+
+	* ps/ps.map/map_setup.c: Remove downsampling of raster maps
+
+2006-02-14 04:38  cho
+
+	* display/d.legend/main.c: the length of category number>100
+	  adjusted
+	  category-label-only option (-c && !-v) fixed
+
+2006-02-14 02:19  glynn
+
+	* display/drivers/PNG/Color.c, display/drivers/PNG/main.c,
+	  display/drivers/PNG/pngdriver.h, display/drivers/XDRIVER/Color.c,
+	  display/drivers/XDRIVER/Draw_bitmap.c,
+	  display/drivers/XDRIVER/Makefile,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/local_vars.h,
+	  display/drivers/XDRIVER/main.c, display/drivers/lib/Color.c,
+	  display/drivers/lib/Cont.c, display/drivers/lib/Draw.c,
+	  display/drivers/lib/Makefile, display/drivers/lib/driver.h,
+	  display/drivers/lib/text3.c: Add draw_bitmap operation, change
+	  FreeType renderer to use it
+
+2006-02-13 23:52  michael
+
+	* display/gis.m/maptext.tcl: fixes issue with unrecognized 'anchor'
+
+2006-02-13 23:52  michael
+
+	* display/gis.m/mapcanvas.tcl: fixes clicking without dragging
+	  error with panning
+
+2006-02-13 23:51  michael
+
+	* display/gis.m/README_gism.txt: left over from development
+
+2006-02-13 20:41  cho
+
+	* display/d.barscale/main.c: fixed exit status
+
+2006-02-13 20:08  markus
+
+	* display/d.font.freetype/description.html: example cosmetics
+
+2006-02-13 18:31  michael
+
+	* display/gis.m/zoom_current.gif: new icon for map display tool bar
+
+2006-02-13 16:43  michael
+
+	* display/gis.m/gmmenu.tcl: Update to include recent additions to
+	  GRASS
+
+2006-02-13 16:33  markus
+
+	* vector/v.out.ogr/main.c: fix exit status
+
+2006-02-13 16:06  radim
+
+	* vector/v.out.ogr/main.c: output lines as polygons
+
+2006-02-13 16:06  michael
+
+	* display/gis.m/gm.tcl, display/gis.m/gmtree.tcl,
+	  display/gis.m/mapcanvas.tcl: Bug fixes, change to 'sticky'
+	  zooming, zoom to current region,
+	  other updates
+
+2006-02-13 16:05  michael
+
+	* display/gis.m/zoom_default.gif: New icon due to change to allow
+	  zooming to current region settings
+
+2006-02-13 16:04  michael
+
+	* display/gis.m/mapprint.tcl: Updates for improved usability and
+	  automatic checking for
+	  ghostscript
+
+2006-02-13 16:03  michael
+
+	* display/gis.m/gmtool1.tcl, display/gis.m/gmtool2.tcl: Updates to
+	  appearance and addition of new text layer
+
+2006-02-13 16:02  michael
+
+	* display/gis.m/barscale.tcl, display/gis.m/chart.tcl,
+	  display/gis.m/cmd.tcl, display/gis.m/frames.tcl,
+	  display/gis.m/gridline.tcl, display/gis.m/histogram.gif,
+	  display/gis.m/histogram.tcl, display/gis.m/labels.tcl,
+	  display/gis.m/legend.tcl, display/gis.m/maptool.tcl,
+	  display/gis.m/rastarrows.gif, display/gis.m/rastarrows.tcl,
+	  display/gis.m/raster.tcl, display/gis.m/rastnums.gif,
+	  display/gis.m/rastnums.tcl, display/gis.m/rgbhis.tcl,
+	  display/gis.m/savedisp.tcl, display/gis.m/startmon.gif,
+	  display/gis.m/thematic.tcl, display/gis.m/vector.tcl: Updates to
+	  options panels for improved usability
+
+2006-02-13 15:57  markus
+
+	* vector/v.voronoi/v.delaunay.html: typo
+
+2006-02-13 15:57  michael
+
+	* display/gis.m/maptext.tcl: new TclTk text layer and option panel
+	  for GIS Manager
+
+2006-02-13 15:56  michael
+
+	* display/gis.m/font.gif, display/gis.m/maptext.gif,
+	  display/gis.m/rastarrowsdir.gif, display/gis.m/rastarrowsint.gif,
+	  display/gis.m/rgbhis.gif, display/gis.m/rgbhis1.gif,
+	  display/gis.m/rgbhis2.gif, display/gis.m/rgbhis3.gif: icons for
+	  options panels in GIS Manager
+
+2006-02-13 13:37  markus
+
+	* tools/build_html_index.sh: 2006
+
+2006-02-13 13:34  markus
+
+	* raster/r.fill.dir/description.html: r.direct removed
+
+2006-02-13 07:02  cho
+
+	* raster/r.in.gdal/main.c: syntax fixed
+
+2006-02-13 06:47  markus
+
+	* raster/r.composite/main.c: generate history file
+
+2006-02-13 06:32  markus
+
+	* raster/r.in.gdal/main.c: write history
+
+2006-02-13 06:20  markus
+
+	* raster/r.in.arc/main.c: G_define_standard_option; write history
+
+2006-02-13 06:16  markus
+
+	* raster/r.flow/calc.c, raster/r.flow/io.c: write raster history;
+	  i18N; exit status
+
+2006-02-12 23:21  markus
+
+	* locale/po/grassmods_de.po: Cosmetics
+
+2006-02-12 23:19  markus
+
+	* vector/v.extrude/main.c, vector/v.sample/main.c: also write
+	  history file
+
+2006-02-12 23:10  cho
+
+	* display/drivers/lib/Makefile: added $(FTLIB) $(ICONVLIB) for
+	  Cygwin
+
+2006-02-12 23:07  cho
+
+	* display/drivers/PNG/Makefile, display/drivers/XDRIVER/Makefile:
+	  test syntax fixed: "[-f" => "[ -f"
+
+2006-02-12 21:41  cho
+
+	* general/g.proj/main.c, include/gprojects.h, lib/proj/convert.c,
+	  vector/v.in.ogr/main.c: v.in.ogr segmentation fault fixed
+	  argument type fixed: OGRSpatialReferenceH * =>
+	  OGRSpatialReferenceH
+	  OGRSpatialReferenceH is already a pointer to void.
+
+2006-02-12 11:47  brad
+
+	* raster/r.sunmask/main.c: - Changed 'malloc' to 'G_malloc' in
+	  documentation
+
+2006-02-12 11:44  brad
+
+	* raster/r.out.tiff/r.out.tiff.c: - Made function param pointers
+	  const if not modified by function
+
+2006-02-12 11:40  brad
+
+	* raster/r.out.tiff/r.out.tiff.c: - Used EXIT_SUCCESS |
+	  EXIT_FAILURE
+	  - Added localization macros around output text
+	  - Minor code reformatting
+	  - Changed stdout to stderr
+	  - Made local function static
+
+2006-02-12 10:51  brad
+
+	* raster/r.out.mpeg/write.c: - Minor reformatting of code for
+	  marginally better readability
+
+2006-02-12 10:45  brad
+
+	* raster/r.out.mpeg/main.c, raster/r.out.mpeg/rom_proto.h: -
+	  Reformatted code for marginally better readability
+	  - Made file scope functions static and removed from rom_proto.h
+
+2006-02-12 10:08  brad
+
+	* raster/r.out.mpeg/main.c: - Added localization macros around
+	  output text
+	  - Used EXIT_SUCCESS | EXIT_FAILURE for exit()
+
+2006-02-12 09:58  brad
+
+	* raster/r.out.mpeg/write.c: - Removed unneeded return check for
+	  G_malloc()
+	  - Added localization macros around text
+	  - Removed unused variable
+
+2006-02-12 09:32  brad
+
+	* raster/r.out.mpeg/main.c: - Removed unneeded G_malloc() return
+	  checks
+	  - Replaced fprintf() with G_*() where appropriate
+
+2006-02-11 23:35  glynn
+
+	* raster/r.region/main.c: Fix description of region= option [bug
+	  #4077]
+
+2006-02-10 15:31  radim
+
+	* include/Make/Shlib.make: back
+
+2006-02-10 15:05  radim
+
+	* include/Make/Grass.make.in, include/Make/Shlib.make: LIB_PREFIX
+	  for MINGW
+
+2006-02-10 15:00  radim
+
+	* lib/vector/Vlib/Makefile: better DEPENDENCIES
+
+2006-02-10 13:28  markus
+
+	* doc/howto_release.txt: more publicity
+
+2006-02-10 08:41  cho
+
+	* raster/r.surf.area/main.c, sites/s.in.ascii/get_site.c: fixed vim
+	  setting
+
+2006-02-10 08:19  cho
+
+	* display/d.profile/main.c: vim setting fixed: do we really need
+	  this?
+
+2006-02-10 08:11  cho
+
+	* display/d.font/main.c: indent
+
+2006-02-10 08:10  cho
+
+	* display/d.font/main.c: remove ls dependency
+
+2006-02-10 07:44  cho
+
+	* display/drivers/lib/font2.c: memory leak fixed
+
+2006-02-10 07:43  cho
+
+	* display/d.font/main.c: allows the user to select grass fonts
+	  again after d.font.freetype
+
+2006-02-10 03:47  glynn
+
+	* configure, configure.in, display/drivers/Makefile,
+	  display/drivers/PNG/Color.c, display/drivers/PNG/Color_table.c,
+	  display/drivers/PNG/Makefile, display/drivers/PNG/main.c,
+	  display/drivers/PNG/moncap.entry,
+	  display/drivers/PNG/pngdriver.h, display/drivers/XDRIVER/Color.c,
+	  display/drivers/XDRIVER/Makefile,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/main.c,
+	  display/drivers/XDRIVER/moncap.entry,
+	  display/drivers/lib/Color.c, display/drivers/lib/README,
+	  display/drivers/lib/colors.txt, display/drivers/lib/driver.h,
+	  display/drivers/lib/text3.c, display/drivers/monitorcap,
+	  include/Make/Platform.make.in: Change FreeType rendering to use
+	  raster functions rather than plotting individual pixels
+	  Remove monitorcap directory; move monitorcap management to
+	  driver-specific directories
+	  Add notes on colour handling
+
+2006-02-09 22:52  markus
+
+	* imagery/i.ortho.photo/photo.2target/curses.c: made perfect clone
+	  to imagery/i.class/curses.c (for now)
+
+2006-02-09 17:41  markus
+
+	* display/d.colors/get_info.c, display/d.colors/interact.c,
+	  display/d.colors/main.c, display/d.colors/tbl_toggle.c: fixed
+	  local header declaration
+
+2006-02-09 17:27  cho
+
+	* include/gprojects.h: cosmetics
+
+2006-02-09 17:17  cho
+
+	* general/g.proj/main.c, include/gprojects.h, lib/proj/convert.c:
+	  Wrong argument type fixed: OGRSpatialReferenceH * =>
+	  OGRSpatialReferenceH
+	  Return type of GPJ_grass_to_osr() changed to OGRSpatialReferenceH
+
+2006-02-09 16:58  cho
+
+	* vector/v.in.ogr/main.c: bug fixed: wrong argument type passed
+
+2006-02-09 15:45  markus
+
+	* lib/rst/interp_float/Makefile: added SITESLIB
+
+2006-02-09 14:08  markus
+
+	* display/gis.m/gmmenu.tcl: r3.in.rast -> r.to.rast3
+
+2006-02-09 14:07  markus
+
+	* display/d.m/menu.tcl: r3.in.rast -> r.to.rast3
+
+2006-02-09 14:05  markus
+
+	* raster3d/r3.in.rast: renamed to r.to.rast3
+
+2006-02-09 13:57  markus
+
+	* display/d.what.rast/what.c: test if we are clicking outside the
+	  map
+
+2006-02-09 13:24  markus
+
+	* display/drivers/XDRIVER/description.html: cosmetics
+
+2006-02-09 12:59  markus
+
+	* general/g.setproj/description.html: url updated
+
+2006-02-09 12:58  markus
+
+	* raster/r.grow2/main.c: fixed description
+
+2006-02-09 03:38  cho
+
+	* general/g.proj/main.c: g.proj bug fixed: wrong variable type
+
+2006-02-09 03:09  glynn
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/createdb.c, db/base/databases.c, db/base/describe.c,
+	  db/base/drivers.c, db/base/dropdb.c, db/base/droptable.c,
+	  db/base/execute.c, db/base/printtab.c, db/base/select.c,
+	  db/base/tables.c, db/db.login/main.c, db/drivers/dbf/column.c,
+	  db/drivers/dbf/create_table.c, db/drivers/dbf/cursor.c,
+	  db/drivers/dbf/db.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/describe.c, db/drivers/dbf/driver.c,
+	  db/drivers/dbf/error.c, db/drivers/dbf/execute.c,
+	  db/drivers/dbf/fetch.c, db/drivers/dbf/globals.h,
+	  db/drivers/dbf/listtab.c, db/drivers/dbf/main.c,
+	  db/drivers/dbf/main_debug.c, db/drivers/dbf/select.c,
+	  db/drivers/dbf/str.c, db/drivers/dbf/table.c,
+	  db/drivers/mysql/create_table.c, db/drivers/mysql/cursor.c,
+	  db/drivers/mysql/db.c, db/drivers/mysql/describe.c,
+	  db/drivers/mysql/driver.c, db/drivers/mysql/error.c,
+	  db/drivers/mysql/execute.c, db/drivers/mysql/fetch.c,
+	  db/drivers/mysql/index.c, db/drivers/mysql/listtab.c,
+	  db/drivers/mysql/main.c, db/drivers/mysql/parse.c,
+	  db/drivers/mysql/select.c, db/drivers/odbc/connect.c,
+	  db/drivers/odbc/create_table.c, db/drivers/odbc/cursor.c,
+	  db/drivers/odbc/db.c, db/drivers/odbc/describe.c,
+	  db/drivers/odbc/driver.c, db/drivers/odbc/error.c,
+	  db/drivers/odbc/execute.c, db/drivers/odbc/fetch.c,
+	  db/drivers/odbc/listdb.c, db/drivers/odbc/listtab.c,
+	  db/drivers/odbc/main.c, db/drivers/odbc/select.c,
+	  db/drivers/odbc/table.c, db/drivers/ogr/cursor.c,
+	  db/drivers/ogr/db.c, db/drivers/ogr/describe.c,
+	  db/drivers/ogr/driver.c, db/drivers/ogr/error.c,
+	  db/drivers/ogr/fetch.c, db/drivers/ogr/listtab.c,
+	  db/drivers/ogr/main.c, db/drivers/ogr/select.c,
+	  db/drivers/postgres/create_table.c, db/drivers/postgres/cursor.c,
+	  db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/driver.c, db/drivers/postgres/error.c,
+	  db/drivers/postgres/execute.c, db/drivers/postgres/fetch.c,
+	  db/drivers/postgres/index.c, db/drivers/postgres/listdb.c,
+	  db/drivers/postgres/listtab.c, db/drivers/postgres/main.c,
+	  db/drivers/postgres/parse.c, db/drivers/postgres/priv.c,
+	  db/drivers/postgres/select.c, db/drivers/sqlite/create_table.c,
+	  db/drivers/sqlite/cursor.c, db/drivers/sqlite/db.c,
+	  db/drivers/sqlite/describe.c, db/drivers/sqlite/driver.c,
+	  db/drivers/sqlite/error.c, db/drivers/sqlite/execute.c,
+	  db/drivers/sqlite/fetch.c, db/drivers/sqlite/index.c,
+	  db/drivers/sqlite/listtab.c, db/drivers/sqlite/main.c,
+	  db/drivers/sqlite/select.c, display/d.ask/main.c,
+	  display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/mouse.c, display/d.colorlist/main.c,
+	  display/d.colors/curses.c, display/d.colors/get_info.c,
+	  display/d.colors/interact.c, display/d.colors/main.c,
+	  display/d.colors/tbl_toggle.c, display/d.colortable/main.c,
+	  display/d.erase/main.c, display/d.extend/main.c,
+	  display/d.font.freetype/main.c, display/d.font/main.c,
+	  display/d.frame/create.c, display/d.frame/dumper.c,
+	  display/d.frame/frame.c, display/d.frame/list.c,
+	  display/d.frame/select.c, display/d.geodesic/main.c,
+	  display/d.geodesic/mouse.c, display/d.geodesic/plot.c,
+	  display/d.graph/allocation.c, display/d.graph/do_graph.c,
+	  display/d.graph/graphics.c, display/d.graph/main.c,
+	  display/d.grid/main.c, display/d.grid/plot.c,
+	  display/d.grid/plotborder.c, display/d.his/his.c,
+	  display/d.his/main.c, display/d.histogram/bar.c,
+	  display/d.histogram/bar.h, display/d.histogram/draw_slice.c,
+	  display/d.histogram/get_stats.c, display/d.histogram/main.c,
+	  display/d.histogram/mytext.c, display/d.histogram/pie.c,
+	  display/d.histogram/pie.h, display/d.info/main.c,
+	  display/d.legend/box.c, display/d.legend/main.c,
+	  display/d.linegraph/linegraph.c, display/d.mapgraph/do_graph.c,
+	  display/d.mapgraph/main.c, display/d.mapgraph/read_line.c,
+	  display/d.measure/draw_line.c, display/d.measure/main.c,
+	  display/d.measure/msurements.c, display/d.mon/cmd/main.c,
+	  display/d.mon/pgms/list.c, display/d.mon/pgms/release.c,
+	  display/d.mon/pgms/select.c, display/d.mon/pgms/start.c,
+	  display/d.mon/pgms/status.c, display/d.mon/pgms/stop.c,
+	  display/d.mon/pgms/which.c, display/d.nviz/main.c,
+	  display/d.paint.labels/do_labels.c,
+	  display/d.paint.labels/main.c, display/d.path/main.c,
+	  display/d.path/select.c, display/d.profile/DrawText.c,
+	  display/d.profile/PlotProfile.c, display/d.profile/Range.c,
+	  display/d.profile/What.c, display/d.profile/bnw_line.c,
+	  display/d.profile/main.c, display/d.profile/profile.h,
+	  display/d.profile/utils.c, display/d.rast.arrow/arrow.c,
+	  display/d.rast.edit/edit.h, display/d.rast.edit/menu.c,
+	  display/d.rast.num/number.c, display/d.rast/colors.c,
+	  display/d.rast/display.c, display/d.rast/main.c,
+	  display/d.rast/mask.c, display/d.rgb/main.c,
+	  display/d.rhumbline/main.c, display/d.rhumbline/mouse.c,
+	  display/d.rhumbline/plot.c, display/d.save/main.c,
+	  display/d.text.freetype/main.c, display/d.text/main.c,
+	  display/d.title/fancy.c, display/d.title/main.c,
+	  display/d.title/normal.c, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/main.c, display/d.vect.chart/pie.c,
+	  display/d.vect.chart/plot.c, display/d.vect/area.c,
+	  display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot1.c,
+	  display/d.vect/topo.c, display/d.vect/zcoor.c,
+	  display/d.what.rast/main.c, display/d.what.rast/opencell.c,
+	  display/d.what.rast/show.c, display/d.what.rast/what.c,
+	  display/d.what.rast/what.h, display/d.what.vect/flash.c,
+	  display/d.what.vect/main.c, display/d.what.vect/openvect.c,
+	  display/d.what.vect/what.c, display/d.where/b_w_line.c,
+	  display/d.where/main.c, display/d.where/where.c,
+	  display/d.zoom/ask.c, display/d.zoom/box.c,
+	  display/d.zoom/center.c, display/d.zoom/local_proto.h,
+	  display/d.zoom/main.c, display/d.zoom/pan.c,
+	  display/d.zoom/print.c, display/d.zoom/quit.c,
+	  display/d.zoom/redraw.c, display/d.zoom/returns.c,
+	  display/d.zoom/set.c, display/d.zoom/zoom.c,
+	  display/drivers/HTMLMAP/Graph_Clse.c,
+	  display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/Polygn_abs.c,
+	  display/drivers/HTMLMAP/Text.c, display/drivers/PNG/Color.c,
+	  display/drivers/PNG/Color_table.c,
+	  display/drivers/PNG/Graph_close.c,
+	  display/drivers/PNG/Graph_set.c, display/drivers/PNG/pngdriver.h,
+	  display/drivers/PNG/write.c, display/drivers/XDRIVER/Color.c,
+	  display/drivers/XDRIVER/Color_table.c,
+	  display/drivers/XDRIVER/Get_w_box.c,
+	  display/drivers/XDRIVER/Get_w_line.c,
+	  display/drivers/XDRIVER/Get_w_pointer.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Panel.c,
+	  display/drivers/XDRIVER/Raster.c,
+	  display/drivers/XDRIVER/Raster_RGB.c,
+	  display/drivers/XDRIVER/Serve_Xevent.c,
+	  display/drivers/XDRIVER/alloc.c, display/drivers/lib/Color.c,
+	  display/drivers/lib/Color_table.c,
+	  display/drivers/lib/Num_colors.c, display/drivers/lib/Polygon.c,
+	  display/drivers/lib/Raster_RGB.c,
+	  display/drivers/lib/Raster_char.c,
+	  display/drivers/lib/Reset_colors.c,
+	  display/drivers/lib/color_support.c,
+	  display/drivers/lib/command.c,
+	  display/drivers/lib/connect_fifo.c,
+	  display/drivers/lib/connect_sock.c, display/drivers/lib/font2.c,
+	  display/drivers/lib/graph.h, display/drivers/lib/main.c,
+	  display/drivers/lib/pad.c, display/drivers/lib/text2.c,
+	  display/drivers/lib/text3.c, doc/raster/r.example/main.c,
+	  doc/vector/v.example/main.c, general/g.access/exp_perms.c,
+	  general/g.access/main.c, general/g.access/set_perms.c,
+	  general/g.ask/main.c, general/g.filename/main.c,
+	  general/g.findfile/main.c, general/g.gisenv/main.c,
+	  general/g.mapset/main.c, general/g.mapsets/dsply_path.c,
+	  general/g.mapsets/get_maps.c, general/g.mapsets/get_path.c,
+	  general/g.mapsets/main_cmd.c, general/g.mapsets/main_inter.c,
+	  general/g.mapsets/set_path.c, general/g.parser/main.c,
+	  general/g.pnmcomp/main.c, general/g.proj/main.c,
+	  general/g.region/cmd/adjust.c, general/g.region/cmd/main.c,
+	  general/g.region/cmd/printwindow.c, general/g.region/cmd/zoom.c,
+	  general/g.setproj/get_datum.c, general/g.setproj/get_deg.c,
+	  general/g.setproj/get_num.c, general/g.setproj/get_stp.c,
+	  general/g.setproj/local_proto.h, general/g.setproj/main.c,
+	  general/g.tempfile/main.c, general/g.version/main.c,
+	  general/manage/cmd/rename.c, general/manage/lib/copyfile.c,
+	  general/manage/lib/do_copy.c, general/manage/lib/do_remove.c,
+	  general/manage/lib/do_rename.c, general/manage/lib/empty.c,
+	  general/manage/lib/menu.c, general/manage/list.h,
+	  general/manage/lister/cell.c, general/manage/lister/vector.c,
+	  imagery/i.ask/main.c, imagery/i.ask/popup.c,
+	  imagery/i.cca/main.c, imagery/i.cca/matrix.c,
+	  imagery/i.cca/stats.c, imagery/i.cca/transform.c,
+	  imagery/i.class/add_point.c, imagery/i.class/analyze_sig.c,
+	  imagery/i.class/ask_files.c, imagery/i.class/band_files.c,
+	  imagery/i.class/complete_reg.c, imagery/i.class/curses.c,
+	  imagery/i.class/defs.h, imagery/i.class/del_point.c,
+	  imagery/i.class/draw_cell.c, imagery/i.class/draw_reg.c,
+	  imagery/i.class/erase_reg.c, imagery/i.class/graphics.c,
+	  imagery/i.class/histograms.c, imagery/i.class/input.c,
+	  imagery/i.class/main.c, imagery/i.class/mouse.c,
+	  imagery/i.class/outline.c, imagery/i.class/readbands.c,
+	  imagery/i.class/redisplay.c, imagery/i.class/remove_mask.c,
+	  imagery/i.class/restore_reg.c, imagery/i.class/save_reg.c,
+	  imagery/i.class/signature.c, imagery/i.class/title.c,
+	  imagery/i.class/view.c, imagery/i.class/zoom_box.c,
+	  imagery/i.cluster/checkpt.c, imagery/i.cluster/global.h,
+	  imagery/i.cluster/main.c, imagery/i.cluster/open_files.c,
+	  imagery/i.cluster/print1.c, imagery/i.cluster/print2.c,
+	  imagery/i.cluster/print3.c, imagery/i.cluster/print4.c,
+	  imagery/i.cluster/print5.c, imagery/i.cluster/print6.c,
+	  imagery/i.cluster/timer.c, imagery/i.fft/do_histogram.c,
+	  imagery/i.fft/fft_colors.c, imagery/i.fft/fftmain.c,
+	  imagery/i.fft/orig_wind.c, imagery/i.fft/save_fft.c,
+	  imagery/i.find/main.c, imagery/i.gensig/alloc.c,
+	  imagery/i.gensig/can_invert.c, imagery/i.gensig/check.c,
+	  imagery/i.gensig/closefiles.c, imagery/i.gensig/copy.c,
+	  imagery/i.gensig/covariance.c, imagery/i.gensig/eigen.c,
+	  imagery/i.gensig/get_train.c, imagery/i.gensig/init_sig.c,
+	  imagery/i.gensig/labels.c, imagery/i.gensig/lookup_class.c,
+	  imagery/i.gensig/main.c, imagery/i.gensig/means.c,
+	  imagery/i.gensig/opencell.c, imagery/i.gensig/openfiles.c,
+	  imagery/i.gensig/parse.c, imagery/i.gensig/print_sig.c,
+	  imagery/i.gensig/read_train.c, imagery/i.gensig/write_sig.c,
+	  imagery/i.gensigset/closefiles.c,
+	  imagery/i.gensigset/get_train.c, imagery/i.gensigset/invert.c,
+	  imagery/i.gensigset/labels.c, imagery/i.gensigset/lookup_class.c,
+	  imagery/i.gensigset/main.c, imagery/i.gensigset/opencell.c,
+	  imagery/i.gensigset/openfiles.c, imagery/i.gensigset/parse.c,
+	  imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c,
+	  imagery/i.gensigset/subcluster.c,
+	  imagery/i.gensigset/write_sig.c, imagery/i.group/main.c,
+	  imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/h2rmain.c,
+	  imagery/i.his.rgb/his2rgb.c, imagery/i.his.rgb/openfiles.c,
+	  imagery/i.ifft/do_histogram.c, imagery/i.ifft/fft_colors.c,
+	  imagery/i.ifft/ifftmain.c, imagery/i.ifft/orig_wind.c,
+	  imagery/i.maxlik/classify.c, imagery/i.maxlik/global.h,
+	  imagery/i.maxlik/hist.c, imagery/i.maxlik/invert.c,
+	  imagery/i.maxlik/main.c, imagery/i.maxlik/open.c,
+	  imagery/i.ortho.photo/libes/ask_camera.c,
+	  imagery/i.ortho.photo/libes/cam.c,
+	  imagery/i.ortho.photo/libes/cam_info.c,
+	  imagery/i.ortho.photo/libes/camera.c,
+	  imagery/i.ortho.photo/libes/conz_points.c,
+	  imagery/i.ortho.photo/libes/elev.c,
+	  imagery/i.ortho.photo/libes/find_camera.c,
+	  imagery/i.ortho.photo/libes/find_init.c,
+	  imagery/i.ortho.photo/libes/fopen_camera.c,
+	  imagery/i.ortho.photo/libes/group_elev.c,
+	  imagery/i.ortho.photo/libes/init.c,
+	  imagery/i.ortho.photo/libes/isnull.c,
+	  imagery/i.ortho.photo/libes/ls_cameras.c,
+	  imagery/i.ortho.photo/libes/ls_elev.c,
+	  imagery/i.ortho.photo/libes/open_camera.c,
+	  imagery/i.ortho.photo/libes/orthophoto.h,
+	  imagery/i.ortho.photo/libes/orthoref.c,
+	  imagery/i.ortho.photo/libes/ref_points.c,
+	  imagery/i.ortho.photo/libes/title_camera.c,
+	  imagery/i.ortho.photo/menu/menu.c,
+	  imagery/i.ortho.photo/photo.2image/analyze.c,
+	  imagery/i.ortho.photo/photo.2image/ask.c,
+	  imagery/i.ortho.photo/photo.2image/ask_mag.c,
+	  imagery/i.ortho.photo/photo.2image/call.c,
+	  imagery/i.ortho.photo/photo.2image/cell.c,
+	  imagery/i.ortho.photo/photo.2image/colors.c,
+	  imagery/i.ortho.photo/photo.2image/curses.c,
+	  imagery/i.ortho.photo/photo.2image/dot.c,
+	  imagery/i.ortho.photo/photo.2image/drawcam.c,
+	  imagery/i.ortho.photo/photo.2image/drawcell.c,
+	  imagery/i.ortho.photo/photo.2image/equ.c,
+	  imagery/i.ortho.photo/photo.2image/find.c,
+	  imagery/i.ortho.photo/photo.2image/graphics.c,
+	  imagery/i.ortho.photo/photo.2image/group.c,
+	  imagery/i.ortho.photo/photo.2image/input.c,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2image/mark.c,
+	  imagery/i.ortho.photo/photo.2image/mouse.c,
+	  imagery/i.ortho.photo/photo.2image/points.c,
+	  imagery/i.ortho.photo/photo.2image/target.c,
+	  imagery/i.ortho.photo/photo.2image/title.c,
+	  imagery/i.ortho.photo/photo.2image/use_camera.c,
+	  imagery/i.ortho.photo/photo.2image/view.c,
+	  imagery/i.ortho.photo/photo.2image/where.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_pnt.c,
+	  imagery/i.ortho.photo/photo.2target/analyze.c,
+	  imagery/i.ortho.photo/photo.2target/ask.c,
+	  imagery/i.ortho.photo/photo.2target/ask_mag.c,
+	  imagery/i.ortho.photo/photo.2target/call.c,
+	  imagery/i.ortho.photo/photo.2target/colors.c,
+	  imagery/i.ortho.photo/photo.2target/defs.h,
+	  imagery/i.ortho.photo/photo.2target/dot.c,
+	  imagery/i.ortho.photo/photo.2target/drawcell.c,
+	  imagery/i.ortho.photo/photo.2target/graphics.c,
+	  imagery/i.ortho.photo/photo.2target/input.c,
+	  imagery/i.ortho.photo/photo.2target/main.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.2target/mouse.c,
+	  imagery/i.ortho.photo/photo.2target/points.c,
+	  imagery/i.ortho.photo/photo.2target/target.c,
+	  imagery/i.ortho.photo/photo.2target/title.c,
+	  imagery/i.ortho.photo/photo.2target/view.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_pnt.c,
+	  imagery/i.ortho.photo/photo.camera/mod_cam_info.c,
+	  imagery/i.ortho.photo/photo.elev/ask_elev.c,
+	  imagery/i.ortho.photo/photo.elev/main.c,
+	  imagery/i.ortho.photo/photo.elev/mod_elev.c,
+	  imagery/i.ortho.photo/photo.init/mod_info.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_elev.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files2.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_wind.c,
+	  imagery/i.ortho.photo/photo.rectify/defs.h,
+	  imagery/i.ortho.photo/photo.rectify/global.h,
+	  imagery/i.ortho.photo/photo.rectify/main.c,
+	  imagery/i.ortho.photo/photo.target/ask_target.c,
+	  imagery/i.ortho.photo/photo.target/main.c, imagery/i.pca/main.c,
+	  imagery/i.points/analyze.c, imagery/i.points/ask.c,
+	  imagery/i.points/ask_mag.c, imagery/i.points/call.c,
+	  imagery/i.points/cell.c, imagery/i.points/colors.c,
+	  imagery/i.points/debug.c, imagery/i.points/defs.h,
+	  imagery/i.points/dot.c, imagery/i.points/drawcell.c,
+	  imagery/i.points/graphics.c, imagery/i.points/group.c,
+	  imagery/i.points/input.c, imagery/i.points/main.c,
+	  imagery/i.points/mark.c, imagery/i.points/mouse.c,
+	  imagery/i.points/points.c, imagery/i.points/target.c,
+	  imagery/i.points/title.c, imagery/i.points/view.c,
+	  imagery/i.points/zoom_box.c, imagery/i.points/zoom_pnt.c,
+	  imagery/i.rectify/crs.c, imagery/i.rectify/global.h,
+	  imagery/i.rectify/main.c, imagery/i.rgb.his/closefiles.c,
+	  imagery/i.rgb.his/openfiles.c, imagery/i.rgb.his/r2hmain.c,
+	  imagery/i.rgb.his/rgb2his.c, imagery/i.smap/bouman/bouman.h,
+	  imagery/i.smap/bouman/decimate.c, imagery/i.smap/bouman/eigen.c,
+	  imagery/i.smap/bouman/interp.c, imagery/i.smap/bouman/invert.c,
+	  imagery/i.smap/bouman/model.c,
+	  imagery/i.smap/bouman/multialloc.c,
+	  imagery/i.smap/bouman/read_block.c,
+	  imagery/i.smap/bouman/segment.c,
+	  imagery/i.smap/shapiro/closefiles.c,
+	  imagery/i.smap/shapiro/history.c,
+	  imagery/i.smap/shapiro/labels.c, imagery/i.smap/shapiro/main.c,
+	  imagery/i.smap/shapiro/opencell.c,
+	  imagery/i.smap/shapiro/openfiles.c,
+	  imagery/i.smap/shapiro/parse.c,
+	  imagery/i.smap/shapiro/read_sig.c,
+	  imagery/i.smap/shapiro/write_img.c, imagery/i.target/main.c,
+	  imagery/i.vpoints/analyze.c, imagery/i.vpoints/ask.c,
+	  imagery/i.vpoints/ask_lineclr.c, imagery/i.vpoints/ask_mag.c,
+	  imagery/i.vpoints/call.c, imagery/i.vpoints/colors.c,
+	  imagery/i.vpoints/crs.c, imagery/i.vpoints/debug.c,
+	  imagery/i.vpoints/defs.h, imagery/i.vpoints/dot.c,
+	  imagery/i.vpoints/drawcell.c, imagery/i.vpoints/drawvect.c,
+	  imagery/i.vpoints/graphics.c, imagery/i.vpoints/input.c,
+	  imagery/i.vpoints/main.c, imagery/i.vpoints/mark.c,
+	  imagery/i.vpoints/mouse.c, imagery/i.vpoints/open.c,
+	  imagery/i.vpoints/plot.c, imagery/i.vpoints/plot1.c,
+	  imagery/i.vpoints/plot2.c, imagery/i.vpoints/points.c,
+	  imagery/i.vpoints/setup.c, imagery/i.vpoints/title.c,
+	  imagery/i.vpoints/use_plot1.c, imagery/i.vpoints/vectpoints.h,
+	  imagery/i.vpoints/view.c, imagery/i.vpoints/zoom_box.c,
+	  imagery/i.vpoints/zoom_pnt.c, imagery/i.zc/findzc.c,
+	  imagery/i.zc/main.c, include/G3d.h, include/Make/Grass.make.in,
+	  include/Make/Platform.make.in, include/V_.h, include/Vect.h,
+	  include/bitmap.h, include/datetime.h, include/dbmi.h,
+	  include/display.h, include/edit.h, include/gis.h,
+	  include/glocale.h, include/gmath.h, include/gprojects.h,
+	  include/graph.h, include/graphics.h, include/imagery.h,
+	  include/la.h, include/pbmplus.h, include/raster.h,
+	  include/readsites.h, include/segment.h, include/site.h,
+	  include/sitelib.h, include/vect/dig_structs.h, lib/D/Dcell.c,
+	  lib/D/Dchoose.c, lib/D/Dclear.c, lib/D/Derase.c, lib/D/Dnew.c,
+	  lib/D/Dremove.c, lib/D/Dscreen.c, lib/Makefile,
+	  lib/bitmap/bitmap.c, lib/bitmap/main.c, lib/bitmap/smain.c,
+	  lib/bitmap/sparse.c, lib/btree/create.c, lib/btree/find.c,
+	  lib/btree/free.c, lib/btree/next.c, lib/btree/rewind.c,
+	  lib/btree/try.c, lib/btree/update.c, lib/cdhc/dagstndn.c,
+	  lib/datetime/change.c, lib/datetime/copy.c,
+	  lib/datetime/datetime.h, lib/datetime/diff.c,
+	  lib/datetime/format.c, lib/datetime/incr1.c,
+	  lib/datetime/incr2.c, lib/datetime/incr3.c, lib/datetime/local.c,
+	  lib/datetime/misc.c, lib/datetime/same.c, lib/datetime/scan.c,
+	  lib/datetime/sign.c, lib/datetime/type.c, lib/datetime/tz1.c,
+	  lib/datetime/tz2.c, lib/datetime/values.c,
+	  lib/db/dbmi_base/alloc.c, lib/db/dbmi_base/case.c,
+	  lib/db/dbmi_base/column.c, lib/db/dbmi_base/columnfmt.c,
+	  lib/db/dbmi_base/connect.c, lib/db/dbmi_base/cursor.c,
+	  lib/db/dbmi_base/datetime.c, lib/db/dbmi_base/dbmscap.c,
+	  lib/db/dbmi_base/default_name.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/error.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/index.c, lib/db/dbmi_base/interval.c,
+	  lib/db/dbmi_base/isdir.c, lib/db/dbmi_base/legal_dbname.c,
+	  lib/db/dbmi_base/login.c, lib/db/dbmi_base/ret_codes.c,
+	  lib/db/dbmi_base/sqlCtype.c, lib/db/dbmi_base/sqltype.c,
+	  lib/db/dbmi_base/string.c, lib/db/dbmi_base/table.c,
+	  lib/db/dbmi_base/token.c, lib/db/dbmi_base/value.c,
+	  lib/db/dbmi_base/valuefmt.c, lib/db/dbmi_base/whoami.c,
+	  lib/db/dbmi_base/xdr.h, lib/db/dbmi_base/xdrcolumn.c,
+	  lib/db/dbmi_base/xdrdatetime.c, lib/db/dbmi_base/xdrhandle.c,
+	  lib/db/dbmi_base/xdrindex.c, lib/db/dbmi_base/xdrtable.c,
+	  lib/db/dbmi_base/xdrtoken.c, lib/db/dbmi_base/xdrvalue.c,
+	  lib/db/dbmi_base/zero.c, lib/db/dbmi_client/c_add_col.c,
+	  lib/db/dbmi_client/c_bindupdate.c,
+	  lib/db/dbmi_client/c_close_cur.c, lib/db/dbmi_client/c_closedb.c,
+	  lib/db/dbmi_client/c_create_idx.c,
+	  lib/db/dbmi_client/c_create_tab.c,
+	  lib/db/dbmi_client/c_createdb.c, lib/db/dbmi_client/c_delete.c,
+	  lib/db/dbmi_client/c_deletedb.c,
+	  lib/db/dbmi_client/c_desc_table.c,
+	  lib/db/dbmi_client/c_drop_col.c,
+	  lib/db/dbmi_client/c_drop_index.c,
+	  lib/db/dbmi_client/c_drop_tab.c, lib/db/dbmi_client/c_execute.c,
+	  lib/db/dbmi_client/c_fetch.c, lib/db/dbmi_client/c_finddb.c,
+	  lib/db/dbmi_client/c_insert.c,
+	  lib/db/dbmi_client/c_list_drivers.c,
+	  lib/db/dbmi_client/c_list_idx.c,
+	  lib/db/dbmi_client/c_list_tabs.c, lib/db/dbmi_client/c_listdb.c,
+	  lib/db/dbmi_client/c_opendb.c, lib/db/dbmi_client/c_openinsert.c,
+	  lib/db/dbmi_client/c_openselect.c,
+	  lib/db/dbmi_client/c_openupdate.c, lib/db/dbmi_client/c_priv.c,
+	  lib/db/dbmi_client/c_rows.c, lib/db/dbmi_client/c_update.c,
+	  lib/db/dbmi_client/c_version.c, lib/db/dbmi_client/column.c,
+	  lib/db/dbmi_client/copy_tab.c, lib/db/dbmi_client/db.c,
+	  lib/db/dbmi_client/delete_tab.c, lib/db/dbmi_client/printtab.c,
+	  lib/db/dbmi_client/select.c, lib/db/dbmi_client/shutdown.c,
+	  lib/db/dbmi_client/start.c, lib/db/dbmi_client/table.c,
+	  lib/db/dbmi_driver/d_add_col.c,
+	  lib/db/dbmi_driver/d_bindupdate.c,
+	  lib/db/dbmi_driver/d_close_cur.c, lib/db/dbmi_driver/d_closedb.c,
+	  lib/db/dbmi_driver/d_create_idx.c,
+	  lib/db/dbmi_driver/d_create_tab.c,
+	  lib/db/dbmi_driver/d_createdb.c, lib/db/dbmi_driver/d_delete.c,
+	  lib/db/dbmi_driver/d_deletedb.c,
+	  lib/db/dbmi_driver/d_desc_table.c,
+	  lib/db/dbmi_driver/d_drop_col.c,
+	  lib/db/dbmi_driver/d_drop_index.c,
+	  lib/db/dbmi_driver/d_drop_tab.c, lib/db/dbmi_driver/d_execute.c,
+	  lib/db/dbmi_driver/d_fetch.c, lib/db/dbmi_driver/d_finddb.c,
+	  lib/db/dbmi_driver/d_insert.c, lib/db/dbmi_driver/d_list_idx.c,
+	  lib/db/dbmi_driver/d_list_tabs.c, lib/db/dbmi_driver/d_listdb.c,
+	  lib/db/dbmi_driver/d_mkdir.c, lib/db/dbmi_driver/d_opendb.c,
+	  lib/db/dbmi_driver/d_openinsert.c,
+	  lib/db/dbmi_driver/d_openselect.c,
+	  lib/db/dbmi_driver/d_openupdate.c, lib/db/dbmi_driver/d_priv.c,
+	  lib/db/dbmi_driver/d_rows.c, lib/db/dbmi_driver/d_update.c,
+	  lib/db/dbmi_driver/d_version.c, lib/db/dbmi_driver/driver.c,
+	  lib/db/dbmi_driver/driver_state.c, lib/db/sqlp/alloc.c,
+	  lib/db/sqlp/lex.l, lib/db/sqlp/print.c, lib/db/sqlp/sql.c,
+	  lib/db/sqlp/test/sqlptest.c, lib/db/sqlp/yac.y,
+	  lib/db/stubs/add_col.c, lib/db/stubs/bindupdate.c,
+	  lib/db/stubs/close_cursor.c, lib/db/stubs/closedb.c,
+	  lib/db/stubs/create_index.c, lib/db/stubs/create_table.c,
+	  lib/db/stubs/createdb.c, lib/db/stubs/delete.c,
+	  lib/db/stubs/deletedb.c, lib/db/stubs/desc_table.c,
+	  lib/db/stubs/drop_col.c, lib/db/stubs/drop_index.c,
+	  lib/db/stubs/drop_table.c, lib/db/stubs/execute.c,
+	  lib/db/stubs/fetch.c, lib/db/stubs/finddb.c,
+	  lib/db/stubs/finish.c, lib/db/stubs/init.c,
+	  lib/db/stubs/insert.c, lib/db/stubs/list_index.c,
+	  lib/db/stubs/list_tables.c, lib/db/stubs/listdb.c,
+	  lib/db/stubs/open_insert.c, lib/db/stubs/open_select.c,
+	  lib/db/stubs/open_update.c, lib/db/stubs/opendb.c,
+	  lib/db/stubs/priv.c, lib/db/stubs/rows.c,
+	  lib/db/stubs/transaction.c, lib/db/stubs/update.c,
+	  lib/display/cnversions.c, lib/display/color_list.c,
+	  lib/display/draw.c, lib/display/get_win.c,
+	  lib/display/ident_win.c, lib/display/list.c, lib/display/popup.c,
+	  lib/display/raster.c, lib/display/raster2.c,
+	  lib/display/raster_rgb.c, lib/display/scan_dbl.c,
+	  lib/display/scan_float.c, lib/display/scan_int.c,
+	  lib/display/setup.c, lib/display/tran_colr.c,
+	  lib/display/window.c, lib/edit/edit_cats.c,
+	  lib/edit/edit_cellhd.c, lib/edit/edit_hist.c,
+	  lib/external/shapelib/Makefile, lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/shpopen.c,
+	  lib/fonts/for_grass/font_2_bin.c, lib/form/form.c,
+	  lib/form/generate.c, lib/form/open.c, lib/front.end/main.c,
+	  lib/g3d/G3d_intern.h, lib/g3d/cache.c, lib/g3d/cachehash.c,
+	  lib/g3d/changeprecision.c, lib/g3d/changetype.c,
+	  lib/g3d/filecompare.c, lib/g3d/find_grid3.c, lib/g3d/g3dcats.c,
+	  lib/g3d/g3dcolor.c, lib/g3d/g3ddefaults.c, lib/g3d/g3dmask.c,
+	  lib/g3d/g3dopen.c, lib/g3d/g3dopen2.c, lib/g3d/g3dparam.c,
+	  lib/g3d/g3drange.c, lib/g3d/g3dregion.c, lib/g3d/g3dresample.c,
+	  lib/g3d/g3dvolume.c, lib/g3d/g3dwindow.c, lib/g3d/g3dwindowio.c,
+	  lib/g3d/header.c, lib/g3d/headerinfo.c, lib/g3d/index.c,
+	  lib/g3d/retile.c, lib/g3d/rle.c, lib/g3d/writeascii.c,
+	  lib/gis/G.h, lib/gis/adj_cellhd.c, lib/gis/align_window.c,
+	  lib/gis/alloc.c, lib/gis/alloc_cell.c, lib/gis/area.c,
+	  lib/gis/area_ellipse.c, lib/gis/area_poly1.c,
+	  lib/gis/area_poly2.c, lib/gis/area_sphere.c, lib/gis/ascii_chk.c,
+	  lib/gis/ask.c, lib/gis/ask_cell.c, lib/gis/ask_vctrs.c,
+	  lib/gis/asprintf.c, lib/gis/auto_mask.c, lib/gis/bres_line.c,
+	  lib/gis/cats.c, lib/gis/cell_stats.c, lib/gis/cell_title.c,
+	  lib/gis/cellstats_eq.c, lib/gis/clear_scrn.c,
+	  lib/gis/closecell.c, lib/gis/color_asp.c, lib/gis/color_byg.c,
+	  lib/gis/color_byr.c, lib/gis/color_free.c, lib/gis/color_get.c,
+	  lib/gis/color_grey.c, lib/gis/color_gyr.c, lib/gis/color_hist.c,
+	  lib/gis/color_init.c, lib/gis/color_insrt.c,
+	  lib/gis/color_invrt.c, lib/gis/color_look.c, lib/gis/color_org.c,
+	  lib/gis/color_rain.c, lib/gis/color_ramp.c, lib/gis/color_rand.c,
+	  lib/gis/color_range.c, lib/gis/color_read.c,
+	  lib/gis/color_rule.c, lib/gis/color_rule_get.c,
+	  lib/gis/color_ryg.c, lib/gis/color_set.c, lib/gis/color_shift.c,
+	  lib/gis/color_str.c, lib/gis/color_wave.c, lib/gis/color_write.c,
+	  lib/gis/commas.c, lib/gis/copy.c, lib/gis/date.c,
+	  lib/gis/datum.c, lib/gis/debug.c, lib/gis/dig_title.c,
+	  lib/gis/distance.c, lib/gis/done_msg.c, lib/gis/env.c,
+	  lib/gis/error.c, lib/gis/file_name.c, lib/gis/find_cell.c,
+	  lib/gis/find_file.c, lib/gis/find_vect.c, lib/gis/flate.c,
+	  lib/gis/fork.c, lib/gis/format.c, lib/gis/fpreclass.c,
+	  lib/gis/geo_init.c, lib/gis/geodesic.c, lib/gis/geodist.c,
+	  lib/gis/get_cellhd.c, lib/gis/get_datum.c,
+	  lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_ellipse.c, lib/gis/get_projinfo.c,
+	  lib/gis/get_projname.c, lib/gis/get_row.c,
+	  lib/gis/get_row_colr.c, lib/gis/get_window.c, lib/gis/getl.c,
+	  lib/gis/gets.c, lib/gis/gisbase.c, lib/gis/gisdbase.c,
+	  lib/gis/gishelp.c, lib/gis/gisinit.c, lib/gis/histo_eq.c,
+	  lib/gis/histogram.c, lib/gis/history.c, lib/gis/home.c,
+	  lib/gis/icon.c, lib/gis/index.c, lib/gis/intr_char.c,
+	  lib/gis/key_value1.c, lib/gis/key_value2.c, lib/gis/key_value3.c,
+	  lib/gis/key_value4.c, lib/gis/legal_name.c, lib/gis/line_dist.c,
+	  lib/gis/list.c, lib/gis/ll_format.c, lib/gis/ll_scan.c,
+	  lib/gis/locale.c, lib/gis/location.c, lib/gis/mach_name.c,
+	  lib/gis/make_colr.c, lib/gis/make_loc.c, lib/gis/mapcase.c,
+	  lib/gis/mapset.c, lib/gis/mapset_msc.c, lib/gis/mapset_nme.c,
+	  lib/gis/mask_info.c, lib/gis/maskfd.c, lib/gis/myname.c,
+	  lib/gis/named_colr.c, lib/gis/nl_to_spaces.c,
+	  lib/gis/nme_in_mps.c, lib/gis/null_val.c, lib/gis/open.c,
+	  lib/gis/opencell.c, lib/gis/parser.c, lib/gis/percent.c,
+	  lib/gis/pi.h, lib/gis/plot.c, lib/gis/pole_in_poly.c,
+	  lib/gis/popen.c, lib/gis/progrm_nme.c, lib/gis/proj1.c,
+	  lib/gis/proj2.c, lib/gis/proj3.c, lib/gis/put_cellhd.c,
+	  lib/gis/put_row.c, lib/gis/put_title.c, lib/gis/put_window.c,
+	  lib/gis/putenv.c, lib/gis/quant.c, lib/gis/quant_io.c,
+	  lib/gis/quant_rw.c, lib/gis/radii.c, lib/gis/range.c,
+	  lib/gis/raster.c, lib/gis/rd_cellhd.c, lib/gis/reclass.c,
+	  lib/gis/remove.c, lib/gis/rename.c, lib/gis/rhumbline.c,
+	  lib/gis/rm_colr.c, lib/gis/sample.c, lib/gis/set_prior.c,
+	  lib/gis/set_window.c, lib/gis/short_way.c, lib/gis/sleep.c,
+	  lib/gis/spawn.c, lib/gis/squeeze.c, lib/gis/store.c,
+	  lib/gis/strings.c, lib/gis/system.c, lib/gis/tempfile.c,
+	  lib/gis/timestamp.c, lib/gis/token.c, lib/gis/trim_dec.c,
+	  lib/gis/unctrl.c, lib/gis/unix_socks.c, lib/gis/user_config.c,
+	  lib/gis/version.c, lib/gis/view.c, lib/gis/whoami.c,
+	  lib/gis/win32_pipes.c, lib/gis/wind_2_box.c,
+	  lib/gis/wind_format.c, lib/gis/wind_limits.c,
+	  lib/gis/wind_overlap.c, lib/gis/wind_scan.c,
+	  lib/gis/window_map.c, lib/gis/wr_cellhd.c, lib/gis/writ_zeros.c,
+	  lib/gis/yes.c, lib/gis/zero.c, lib/gis/zero_cell.c,
+	  lib/gis/zone.c, lib/gmath/dalloc.c, lib/gmath/del2g.c,
+	  lib/gmath/eigen.c, lib/gmath/eigen_tools.c, lib/gmath/fft.c,
+	  lib/gmath/gauss.c, lib/gmath/getg.c, lib/gmath/ialloc.c,
+	  lib/gmath/jacobi.c, lib/gmath/la.c, lib/gmath/lu.c,
+	  lib/gmath/max_pow2.c, lib/gmath/numerical.h, lib/gmath/rand1.c,
+	  lib/gmath/svd.c, lib/image/rdwr.c, lib/imagery/add_cov.c,
+	  lib/imagery/advance.c, lib/imagery/alloc.c, lib/imagery/ask.c,
+	  lib/imagery/ask_bands.c, lib/imagery/ask_colors.c,
+	  lib/imagery/ask_group.c, lib/imagery/ask_subgrp.c,
+	  lib/imagery/band_io.c, lib/imagery/c_assign.c,
+	  lib/imagery/c_begin.c, lib/imagery/c_clear.c,
+	  lib/imagery/c_distinct.c, lib/imagery/c_exec.c,
+	  lib/imagery/c_execmem.c, lib/imagery/c_means.c,
+	  lib/imagery/c_merge.c, lib/imagery/c_nclasses.c,
+	  lib/imagery/c_point.c, lib/imagery/c_reassign.c,
+	  lib/imagery/c_reclass.c, lib/imagery/c_sep.c,
+	  lib/imagery/c_sig.c, lib/imagery/c_sum2.c, lib/imagery/colors.c,
+	  lib/imagery/eol.c, lib/imagery/find.c, lib/imagery/fopen.c,
+	  lib/imagery/georef.c, lib/imagery/grey.c, lib/imagery/group.c,
+	  lib/imagery/histo.c, lib/imagery/histo_eq.c, lib/imagery/image.c,
+	  lib/imagery/list_gp.c, lib/imagery/list_subgp.c,
+	  lib/imagery/loc_info.c, lib/imagery/ls_groups.c,
+	  lib/imagery/nfiles.c, lib/imagery/open.c, lib/imagery/percent.c,
+	  lib/imagery/points.c, lib/imagery/proj.c, lib/imagery/ref.c,
+	  lib/imagery/set_window.c, lib/imagery/sig.c,
+	  lib/imagery/sig2cats.c, lib/imagery/sigfile.c,
+	  lib/imagery/sigset.c, lib/imagery/sigsetfile.c,
+	  lib/imagery/tape_info.c, lib/imagery/target.c,
+	  lib/imagery/title.c, lib/imagery/v_exec.c, lib/imagery/var.c,
+	  lib/imagery/vask_group.c, lib/init/clean_temp.c, lib/init/echo.c,
+	  lib/init/lock.c, lib/init/mke_loc.c, lib/init/mke_mapset.c,
+	  lib/init/other.c, lib/init/set_data.c, lib/linkm/destroy.c,
+	  lib/linkm/dispose.c, lib/linkm/init.c, lib/linkm/linkm.c,
+	  lib/linkm/malloc.c, lib/linkm/new.c, lib/linkm/next.c,
+	  lib/linkm/oom.c, lib/linkm/speed.c, lib/linkm/speed2.c,
+	  lib/linkm/speed3.c, lib/linkm/try.c, lib/linkm/try2.c,
+	  lib/ogsf/GK2.c, lib/ogsf/GP2.c, lib/ogsf/GS2.c, lib/ogsf/GSX.c,
+	  lib/ogsf/GS_util.c, lib/ogsf/GV2.c, lib/ogsf/GVL2.c,
+	  lib/ogsf/Gp3.c, lib/ogsf/Gs3.c, lib/ogsf/Gv3.c, lib/ogsf/Gvl3.c,
+	  lib/ogsf/Makefile, lib/ogsf/gk.c, lib/ogsf/gp.c, lib/ogsf/gpd.c,
+	  lib/ogsf/gs.c, lib/ogsf/gs_bm.c, lib/ogsf/gs_norms.c,
+	  lib/ogsf/gs_query.c, lib/ogsf/gsd_cplane.c, lib/ogsf/gsd_fonts.c,
+	  lib/ogsf/gsd_fringe.c, lib/ogsf/gsd_img.c,
+	  lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c,
+	  lib/ogsf/gsd_label.c, lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c,
+	  lib/ogsf/gsd_prim.c, lib/ogsf/gsd_surf.c, lib/ogsf/gsd_views.c,
+	  lib/ogsf/gsd_wire.c, lib/ogsf/gsdiff.c, lib/ogsf/gsdrape.c,
+	  lib/ogsf/gsds.c, lib/ogsf/gsget.c, lib/ogsf/gsget.h,
+	  lib/ogsf/gstypes.h, lib/ogsf/gv.c, lib/ogsf/gv_quick.c,
+	  lib/ogsf/gvd.c, lib/ogsf/gvl.c, lib/ogsf/gvl_calc.c,
+	  lib/ogsf/gvl_calc2.c, lib/ogsf/gvl_file.c, lib/ogsf/gvld.c,
+	  lib/ogsf/kftypes.h, lib/ogsf/local_proto.h, lib/ogsf/trans.c,
+	  lib/proj/convert.c, lib/proj/datum.c, lib/proj/do_proj.c,
+	  lib/proj/ellipse.c, lib/proj/get_proj.c, lib/raster/commands.c,
+	  lib/raster/get.c, lib/raster/graph.h, lib/raster/io.c,
+	  lib/raster/io_fifo.c, lib/raster/io_sock.c, lib/raster/pad.c,
+	  lib/raster/parse_mon.c, lib/raster/protocol.c,
+	  lib/rowio/fileno.c, lib/rowio/forget.c, lib/rowio/get.c,
+	  lib/rowio/put.c, lib/rowio/release.c, lib/rowio/setup.c,
+	  lib/rst/data/Makefile, lib/rst/data/dataquad.c,
+	  lib/rst/interp_float/distance.c, lib/rst/interp_float/func2d.c,
+	  lib/rst/interp_float/init2d.c, lib/rst/interp_float/input2d.c,
+	  lib/rst/interp_float/interp2d.c, lib/rst/interp_float/interpf.h,
+	  lib/rst/interp_float/matrix.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/point2d.c, lib/rst/interp_float/points.h,
+	  lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/secpar2d.c, lib/rst/interp_float/segmen2d.c,
+	  lib/rst/interp_float/vinput2d.c, lib/rst/interp_float/write2d.c,
+	  lib/rst/qtree/Makefile, lib/rst/qtree/qtree.c,
+	  lib/segment/address.c, lib/segment/debug.c, lib/segment/flush.c,
+	  lib/segment/format.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/init.c, lib/segment/pagein.c, lib/segment/pageout.c,
+	  lib/segment/put.c, lib/segment/put_row.c, lib/segment/release.c,
+	  lib/segment/seek.c, lib/segment/setup.c, lib/segment/try.c,
+	  lib/sites/sites.c, lib/symbol/read.c, lib/symbol/stroke.c,
+	  lib/vask/V_acc.c, lib/vask/V_call.c, lib/vask/V_clear.c,
+	  lib/vask/V_const.c, lib/vask/V_error.c, lib/vask/V_exit.c,
+	  lib/vask/V_init.c, lib/vask/V_line.c, lib/vask/V_ques.c,
+	  lib/vask/V_support.c, lib/vask/V_trim_dec.c,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/array.c,
+	  lib/vector/Vlib/box.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/buffer.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/cindex.c,
+	  lib/vector/Vlib/clean_nodes.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_nat.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/dangles.c,
+	  lib/vector/Vlib/dbcolumns.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/graph.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/hist.c, lib/vector/Vlib/init_head.c,
+	  lib/vector/Vlib/intersect.c, lib/vector/Vlib/legal_vname.c,
+	  lib/vector/Vlib/level.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/list.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/overlap.c,
+	  lib/vector/Vlib/overlay.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/remove_areas.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_ogr.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/Vlib/snap.c, lib/vector/Vlib/tin.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/window.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/dglib/Makefile, lib/vector/dglib/dgl.h,
+	  lib/vector/diglib/allocation.c, lib/vector/diglib/angle.c,
+	  lib/vector/diglib/box.c, lib/vector/diglib/cindex.c,
+	  lib/vector/diglib/cindex_rw.c, lib/vector/diglib/file.c,
+	  lib/vector/diglib/frmt.c, lib/vector/diglib/head.c,
+	  lib/vector/diglib/inside.c, lib/vector/diglib/list.c,
+	  lib/vector/diglib/plus.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_node.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/port_test.c, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/prune.c, lib/vector/diglib/spindex.c,
+	  lib/vector/diglib/spindex_rw.c, lib/vector/diglib/struct_alloc.c,
+	  lib/vector/diglib/test.c, lib/vector/diglib/type.c,
+	  lib/vector/diglib/update.c, lib/vector/rtree/Makefile,
+	  lib/vector/rtree/gammavol.c, lib/vector/rtree/rect.c,
+	  lib/vector/rtree/rtree.h, lib/vector/rtree/sphvol.c,
+	  lib/vector/transform/inverse.c, lib/vector/transform/m_mult.c,
+	  lib/vector/transform/transform.c, misc/m.cogo/main.c,
+	  paint/p.out.vrml/main.c, paint/p.out.vrml/pv.h,
+	  ps/ps.map/distance.c, ps/ps.map/do_geogrid.c,
+	  ps/ps.map/do_labels.c, ps/ps.map/do_plt.c,
+	  ps/ps.map/do_vectors.c, ps/ps.map/error.c, ps/ps.map/get_font.c,
+	  ps/ps.map/group.h, ps/ps.map/input.c, ps/ps.map/main.c,
+	  ps/ps.map/outl_io.c, ps/ps.map/parse_list.c,
+	  ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/ps_info.h, ps/ps.map/ps_outline.c,
+	  ps/ps.map/ps_raster.c, ps/ps.map/ps_vareas.c,
+	  ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_labels.c, ps/ps.map/r_vareas.c, ps/ps.map/r_vlines.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/read_cfg.c,
+	  ps/ps.map/scan_gis.c, ps/ps.map/session.c, ps/ps.map/symbol.c,
+	  ps/ps.map/vect.c, ps/ps.map/vector.c, ps/ps.map/vector.h,
+	  raster/r.average/main.c, raster/r.basins.fill/main.c,
+	  raster/r.basins.fill/read_map.c, raster/r.bilinear/main.c,
+	  raster/r.bitpattern/main.c, raster/r.buffer/distance.h,
+	  raster/r.buffer/find_dist.c, raster/r.buffer/init.c,
+	  raster/r.buffer/main.c, raster/r.carve/enforce.h,
+	  raster/r.carve/enforce_ds.c, raster/r.carve/lobf.c,
+	  raster/r.carve/main.c, raster/r.carve/support.c,
+	  raster/r.carve/vect.c, raster/r.cats/cats.c,
+	  raster/r.cats/main.c, raster/r.circle/dist.c,
+	  raster/r.clump/clump.c, raster/r.clump/main.c,
+	  raster/r.coin/cmd_parms.c, raster/r.coin/coin.h,
+	  raster/r.coin/make_coin.c, raster/r.colors/eq.c,
+	  raster/r.colors/log.c, raster/r.colors/main.c,
+	  raster/r.colors/rules.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.contour/cont.c,
+	  raster/r.contour/main.c, raster/r.cost/btree.c,
+	  raster/r.cost/main.c, raster/r.cost/memory.c,
+	  raster/r.covar/main.c, raster/r.cross/glob.h,
+	  raster/r.cross/main.c, raster/r.describe/describe.c,
+	  raster/r.describe/dumplist.c, raster/r.describe/main.c,
+	  raster/r.describe/tree.c, raster/r.digit/bnw_line.c,
+	  raster/r.digit/digitize.c, raster/r.digit/get_area.c,
+	  raster/r.digit/get_circle.c, raster/r.digit/get_en.c,
+	  raster/r.digit/get_label.c, raster/r.digit/get_line.c,
+	  raster/r.digit/get_map.c, raster/r.digit/get_point.c,
+	  raster/r.digit/get_type.c, raster/r.digit/main.c,
+	  raster/r.digit/setup_graph.c, raster/r.distance/defs.h,
+	  raster/r.distance/main.c, raster/r.distance/parse.c,
+	  raster/r.drain/filldir.c, raster/r.drain/main.c,
+	  raster/r.drain/resolve.c, raster/r.drain/tinf.c,
+	  raster/r.fill.dir/dopolys.c, raster/r.fill.dir/filldir.c,
+	  raster/r.fill.dir/main.c, raster/r.fill.dir/ppupdate.c,
+	  raster/r.fill.dir/resolve.c, raster/r.fill.dir/tinf.c,
+	  raster/r.fill.dir/wtrshed.c, raster/r.flow/aspect.c,
+	  raster/r.flow/aspect.h, raster/r.flow/calc.c, raster/r.flow/io.h,
+	  raster/r.flow/mem.h, raster/r.flow/r.flow.h,
+	  raster/r.grow2/main.c, raster/r.his/his.c, raster/r.his/main.c,
+	  raster/r.in.arc/gethead.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/gethead.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c, raster/r.in.gdal/main.c,
+	  raster/r.in.gridatb/file_io.c, raster/r.in.gridatb/local_proto.h,
+	  raster/r.in.gridatb/main.c, raster/r.in.mat/main.c,
+	  raster/r.in.poly/get_item.c, raster/r.in.poly/getformat.c,
+	  raster/r.in.poly/main.c, raster/r.in.poly/poly2rast.c,
+	  raster/r.in.poly/raster.c, raster/r.info/main.c,
+	  raster/r.info/reclas_txt.c, raster/r.kappa/calc_kappa.c,
+	  raster/r.kappa/kappa.h, raster/r.kappa/main.c,
+	  raster/r.kappa/prt_mat.c, raster/r.kappa/stats.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/input.c,
+	  raster/r.le/r.le.patch/main.c, raster/r.le/r.le.patch/patch.c,
+	  raster/r.le/r.le.patch/patch.h, raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.pixel/input.c,
+	  raster/r.le/r.le.pixel/main.c, raster/r.le/r.le.pixel/pixel.h,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/ask_group.c,
+	  raster/r.le/r.le.setup/colors.h, raster/r.le/r.le.setup/main.c,
+	  raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.setup/setup.h, raster/r.le/r.le.trace/main.c,
+	  raster/r.le/r.le.trace/r.le.trace.h,
+	  raster/r.le/r.le.trace/user_input.c, raster/r.los/delete.c,
+	  raster/r.los/main.c, raster/r.los/make_list.c,
+	  raster/r.los/make_point.c, raster/r.los/mark_pts.c,
+	  raster/r.los/pts_elim.c, raster/r.los/radians.h,
+	  raster/r.los/segment.c, raster/r.mapcalc/column_shift.c,
+	  raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/globals3.h, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/map3.c, raster/r.mapcalc/mapcalc.h,
+	  raster/r.mapcalc/mapcalc.l, raster/r.mapcalc/xabs.c,
+	  raster/r.mapcalc/xacos.c, raster/r.mapcalc/xadd.c,
+	  raster/r.mapcalc/xand.c, raster/r.mapcalc/xasin.c,
+	  raster/r.mapcalc/xatan.c, raster/r.mapcalc/xcoor.c,
+	  raster/r.mapcalc/xcoor3.c, raster/r.mapcalc/xcos.c,
+	  raster/r.mapcalc/xdiv.c, raster/r.mapcalc/xdouble.c,
+	  raster/r.mapcalc/xeq.c, raster/r.mapcalc/xeval.c,
+	  raster/r.mapcalc/xexp.c, raster/r.mapcalc/xfloat.c,
+	  raster/r.mapcalc/xge.c, raster/r.mapcalc/xgraph.c,
+	  raster/r.mapcalc/xgt.c, raster/r.mapcalc/xif.c,
+	  raster/r.mapcalc/xint.c, raster/r.mapcalc/xisnull.c,
+	  raster/r.mapcalc/xle.c, raster/r.mapcalc/xlog.c,
+	  raster/r.mapcalc/xlt.c, raster/r.mapcalc/xmax.c,
+	  raster/r.mapcalc/xmedian.c, raster/r.mapcalc/xmin.c,
+	  raster/r.mapcalc/xmod.c, raster/r.mapcalc/xmode.c,
+	  raster/r.mapcalc/xmul.c, raster/r.mapcalc/xne.c,
+	  raster/r.mapcalc/xneg.c, raster/r.mapcalc/xnot.c,
+	  raster/r.mapcalc/xnull.c, raster/r.mapcalc/xor.c,
+	  raster/r.mapcalc/xpow.c, raster/r.mapcalc/xrand.c,
+	  raster/r.mapcalc/xres.c, raster/r.mapcalc/xres3.c,
+	  raster/r.mapcalc/xround.c, raster/r.mapcalc/xrowcol.c,
+	  raster/r.mapcalc/xsin.c, raster/r.mapcalc/xsqrt.c,
+	  raster/r.mapcalc/xsub.c, raster/r.mapcalc/xtan.c,
+	  raster/r.median/main.c, raster/r.mfilter/execute.c,
+	  raster/r.mfilter/filter.h, raster/r.mfilter/getrow.c,
+	  raster/r.mfilter/main.c, raster/r.mfilter/perform.c,
+	  raster/r.mode/main.c, raster/r.neighbors/bufs.c,
+	  raster/r.neighbors/c_ave.c, raster/r.neighbors/c_divr.c,
+	  raster/r.neighbors/c_intr.c, raster/r.neighbors/c_max.c,
+	  raster/r.neighbors/c_median.c, raster/r.neighbors/c_min.c,
+	  raster/r.neighbors/c_mode.c, raster/r.neighbors/c_stddev.c,
+	  raster/r.neighbors/c_sum.c, raster/r.neighbors/c_var.c,
+	  raster/r.neighbors/divr_cats.c, raster/r.neighbors/gather.c,
+	  raster/r.neighbors/intr_cats.c, raster/r.neighbors/main.c,
+	  raster/r.neighbors/null_cats.c, raster/r.neighbors/readcell.c,
+	  raster/r.neighbors/sort_cell.c, raster/r.null/mask.c,
+	  raster/r.null/null.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/formspecific.c, raster/r.out.ascii/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.gridatb/local_proto.h,
+	  raster/r.out.gridatb/main.c, raster/r.out.mat/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.mpeg/write.c,
+	  raster/r.out.png/pngfunc.h, raster/r.out.png/r.out.png.c,
+	  raster/r.out.png/version.h, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/r.out.tiff.c, raster/r.out.vtk/main.c,
+	  raster/r.out.vtk/parameters.c, raster/r.out.vtk/writeascii.c,
+	  raster/r.param.scale/interface.c, raster/r.param.scale/nrutil.c,
+	  raster/r.param.scale/param.h, raster/r.patch/do_patch.c,
+	  raster/r.patch/main.c, raster/r.patch/support.c,
+	  raster/r.profile/input.c, raster/r.profile/local_proto.h,
+	  raster/r.proj/bilinear.c, raster/r.proj/bordwalk.c,
+	  raster/r.proj/cubic.c, raster/r.proj/main.c,
+	  raster/r.proj/nearest.c, raster/r.proj/readcell.c,
+	  raster/r.quant/global.h, raster/r.quant/main.c,
+	  raster/r.random.cells/flag.c, raster/r.random.cells/indep.c,
+	  raster/r.random.cells/init.c, raster/r.random.cells/main.c,
+	  raster/r.random.cells/random.c, raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/init.c, raster/r.random.surface/main.c,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c, raster/r.random/count.c,
+	  raster/r.random/main.c, raster/r.random/random.c,
+	  raster/r.random/support.c, raster/r.reclass/main.c,
+	  raster/r.reclass/parse.c, raster/r.reclass/range.c,
+	  raster/r.reclass/rule.h, raster/r.reclass/stats.c,
+	  raster/r.recode/global.h, raster/r.recode/main.c,
+	  raster/r.region/main.c, raster/r.report/format.c,
+	  raster/r.report/global.h, raster/r.report/main.c,
+	  raster/r.report/maskinfo.c, raster/r.report/parse.c,
+	  raster/r.resamp.rst/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/get_range.c, raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale.eq/main.c, raster/r.rescale/get_range.c,
+	  raster/r.rescale/main.c, raster/r.series/c_ave.c,
+	  raster/r.series/c_count.c, raster/r.series/c_divr.c,
+	  raster/r.series/c_max.c, raster/r.series/c_maxx.c,
+	  raster/r.series/c_median.c, raster/r.series/c_min.c,
+	  raster/r.series/c_minx.c, raster/r.series/c_mode.c,
+	  raster/r.series/c_percentile.c, raster/r.series/c_reg.c,
+	  raster/r.series/c_stddev.c, raster/r.series/c_sum.c,
+	  raster/r.series/c_var.c, raster/r.series/local_proto.h,
+	  raster/r.series/main.c, raster/r.series/sort_cell.c,
+	  raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.statistics/main.c, raster/r.statistics/o_adev.c,
+	  raster/r.statistics/o_average.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_kurt.c, raster/r.statistics/o_max.c,
+	  raster/r.statistics/o_median.c, raster/r.statistics/o_min.c,
+	  raster/r.statistics/o_mode.c, raster/r.statistics/o_sdev.c,
+	  raster/r.statistics/o_skew.c, raster/r.statistics/o_sum.c,
+	  raster/r.statistics/o_var.c, raster/r.stats/global.h,
+	  raster/r.stats/main.c, raster/r.stats/raw_stats.c,
+	  raster/r.sum/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/g_solposition.c, raster/r.sunmask/main.c,
+	  raster/r.support/front/check.c, raster/r.support/front/front.c,
+	  raster/r.support/front/histo.c,
+	  raster/r.support/front/hitreturn.c, raster/r.support/front/run.c,
+	  raster/r.support/modcats/modcats.c,
+	  raster/r.support/modcolr/modcolr.c,
+	  raster/r.support/modhead/ask_format.c,
+	  raster/r.support/modhead/check_un.c,
+	  raster/r.support/modhead/factors.c,
+	  raster/r.support/modhead/hitreturn.c,
+	  raster/r.support/modhead/modhead.c,
+	  raster/r.support/modhead/row_addr.c,
+	  raster/r.support/modhist/modhist.c, raster/r.surf.area/main.c,
+	  raster/r.surf.contour/bseg_close.c,
+	  raster/r.surf.contour/bseg_get.c,
+	  raster/r.surf.contour/bseg_open.c,
+	  raster/r.surf.contour/bseg_put.c,
+	  raster/r.surf.contour/bseg_read.c,
+	  raster/r.surf.contour/bseg_write.c,
+	  raster/r.surf.contour/contour.h, raster/r.surf.contour/cseg.h,
+	  raster/r.surf.contour/cseg_close.c,
+	  raster/r.surf.contour/cseg_get.c,
+	  raster/r.surf.contour/cseg_open.c,
+	  raster/r.surf.contour/cseg_put.c,
+	  raster/r.surf.contour/cseg_read.c,
+	  raster/r.surf.contour/cseg_write.c,
+	  raster/r.surf.contour/flag_create.c,
+	  raster/r.surf.contour/flag_destroy.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.fractal/frac.h,
+	  raster/r.surf.fractal/interface.c,
+	  raster/r.surf.gauss/gaussurf.c, raster/r.surf.gauss/main.c,
+	  raster/r.surf.idw/dist.c, raster/r.surf.idw/ll.c,
+	  raster/r.surf.idw/main.c, raster/r.surf.idw/pi.h,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c,
+	  raster/r.surf.random/main.c, raster/r.surf.random/randsurf.c,
+	  raster/r.terraflow/Makefile, raster/r.terraflow/common.h,
+	  raster/r.terraflow/main.cc, raster/r.texture/h_measure.c,
+	  raster/r.texture/main.c, raster/r.thin/io.c,
+	  raster/r.thin/main.c, raster/r.thin/thin_lines.c,
+	  raster/r.timestamp/main.c, raster/r.to.rast3/main.c,
+	  raster/r.to.vect/areas.c, raster/r.to.vect/areas_io.c,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/lines_io.c,
+	  raster/r.to.vect/main.c, raster/r.to.vect/points.c,
+	  raster/r.to.vect/util.c, raster/r.topidx/file_io.c,
+	  raster/r.topidx/local_proto.h, raster/r.topidx/main.c,
+	  raster/r.topmodel/file_io.c, raster/r.topmodel/local_proto.h,
+	  raster/r.topmodel/main.c, raster/r.topmodel/topmodel.c,
+	  raster/r.transect/main.c, raster/r.transect/parse_line.c,
+	  raster/r.univar2/main.c, raster/r.volume/centroids.c,
+	  raster/r.volume/main.c, raster/r.walk/btree.c,
+	  raster/r.walk/main.c, raster/r.walk/memory.c,
+	  raster/r.water.outlet/basin.h,
+	  raster/r.water.outlet/flag_create.c,
+	  raster/r.water.outlet/flag_destroy.c,
+	  raster/r.water.outlet/legal.c, raster/r.water.outlet/main.c,
+	  raster/r.watershed/front/main.c, raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/flag_create.c,
+	  raster/r.watershed/ram/flag_destroy.c,
+	  raster/r.watershed/ram/usage.c, raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_close.c,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/cseg.h,
+	  raster/r.watershed/seg/cseg_close.c,
+	  raster/r.watershed/seg/cseg_get.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_close.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/sseg_close.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_open.c,
+	  raster/r.watershed/seg/sseg_put.c,
+	  raster/r.watershed/seg/usage.c,
+	  raster/r.watershed/shed/com_line.c,
+	  raster/r.watershed/shed/free.c,
+	  raster/r.watershed/shed/watershed.h, raster/r.what/die.c,
+	  raster/r.what/main.c, raster/r.what/usage.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/erod.c,
+	  raster/simwe/simlib/hydro.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c, raster/simwe/simlib/random.c,
+	  raster/wildfire/r.ros/main.c, raster/wildfire/r.ros/spot_dist.c,
+	  raster/wildfire/r.spread/collect_ori.c,
+	  raster/wildfire/r.spread/display.c,
+	  raster/wildfire/r.spread/insert2Ha.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/ram2out.c,
+	  raster/wildfire/r.spread/select_linksB.c,
+	  raster/wildfire/r.spread/spot.c,
+	  raster/wildfire/r.spread/spread.c,
+	  raster/wildfire/r.spreadpath/drawline.c,
+	  raster/wildfire/r.spreadpath/insert.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster/wildfire/r.spreadpath/path_finder.c,
+	  raster3d/base/mask_functions.c, raster3d/base/r3.info.main.c,
+	  raster3d/base/r3.mask.main.c, raster3d/base/r3.null.main.c,
+	  raster3d/base/r3.timestamp.main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.rast/main.c, raster3d/r3.in.v5d/binio.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.in.v5d/v5d.c,
+	  raster3d/r3.mkdspf/calc_linefax.c,
+	  raster3d/r3.mkdspf/iso_surface.c, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/make_header.c, raster3d/r3.mkdspf/r3_data.c,
+	  raster3d/r3.mkdspf/r3_find.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/binio.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.v5d/v5d.c, raster3d/r3.out.vtk/main.c,
+	  raster3d/r3.showdspf/draw_polys_ogl.c,
+	  raster3d/r3.showdspf/init_caps.c,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/make_header.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/r3_data.c, raster3d/r3.showdspf/r3_find.c,
+	  raster3d/r3.showdspf/togif.c, raster3d/r3.showdspf/vizual.h,
+	  raster3d/r3.to.rast/main.c, sites/s.in.ascii/get_site.c,
+	  sites/s.in.ascii/main.c, sites/s.out.ascii/main.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  swig/perl/grass_wrap.c, vector/v.buffer/main.c,
+	  vector/v.build.polylines/main.c, vector/v.build.polylines/walk.c,
+	  vector/v.build/main.c, vector/v.category/main.c,
+	  vector/v.clean/main.c, vector/v.clean/prune.c,
+	  vector/v.clean/rmdac.c, vector/v.clean/test/topocheck.c,
+	  vector/v.convert/att.c, vector/v.convert/dist.c,
+	  vector/v.convert/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.convert/type.c,
+	  vector/v.db.connect/main.c, vector/v.db.select/main.c,
+	  vector/v.digit/attr.c, vector/v.digit/background.c,
+	  vector/v.digit/c_face.c, vector/v.digit/cat.c,
+	  vector/v.digit/centre.c, vector/v.digit/display.c,
+	  vector/v.digit/driver.c, vector/v.digit/global.h,
+	  vector/v.digit/i_face.c, vector/v.digit/line.c,
+	  vector/v.digit/main.c, vector/v.digit/symb.c,
+	  vector/v.digit/util.c, vector/v.digit/var.c,
+	  vector/v.digit/vertex.c, vector/v.digit/zoom.c,
+	  vector/v.distance/main.c, vector/v.drape/main.c,
+	  vector/v.external/main.c, vector/v.extract/extract.c,
+	  vector/v.extract/main.c, vector/v.extrude/main.c,
+	  vector/v.hull/main.c, vector/v.in.ascii/a2b.c,
+	  vector/v.in.ascii/head.c, vector/v.in.ascii/in.c,
+	  vector/v.in.ascii/points.c, vector/v.in.db/main.c,
+	  vector/v.in.dwg/entity.c, vector/v.in.dwg/main.c,
+	  vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c,
+	  vector/v.in.region/main.c, vector/v.in.sites/main.c,
+	  vector/v.info/main.c, vector/v.kcv/histo.c, vector/v.kcv/main.c,
+	  vector/v.kcv/utils.c, vector/v.kernel/function.c,
+	  vector/v.kernel/global.h, vector/v.kernel/main.c,
+	  vector/v.label/main.c, vector/v.mapcalc/any.c,
+	  vector/v.mapcalc/list.c, vector/v.mapcalc/map.c,
+	  vector/v.mapcalc/mapcalc.c, vector/v.mapcalc/vector.c,
+	  vector/v.mapcalc/yylex.c, vector/v.mkgrid/main.c,
+	  vector/v.mkgrid/write_grid.c, vector/v.neighbors/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.path/path.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.net/main.c, vector/v.net/nodes.c, vector/v.net/report.c,
+	  vector/v.normal/main.c, vector/v.out.ascii/b2a.c,
+	  vector/v.out.ascii/head.c, vector/v.out.ascii/out.c,
+	  vector/v.out.dxf/main.c, vector/v.out.ogr/main.c,
+	  vector/v.out.pov/main.c, vector/v.overlay/area_area.c,
+	  vector/v.overlay/line_area.c, vector/v.overlay/main.c,
+	  vector/v.overlay/util.c, vector/v.parallel/main.c,
+	  vector/v.patch/main.c, vector/v.perturb/main.c,
+	  vector/v.proj/main.c, vector/v.proj/setenv.c,
+	  vector/v.qcount/count.c, vector/v.qcount/findquads.c,
+	  vector/v.qcount/indices.c, vector/v.qcount/main.c,
+	  vector/v.random/main.c, vector/v.reclass/main.c,
+	  vector/v.reclass/reclass.c, vector/v.reclass/rules.c,
+	  vector/v.sample/main.c, vector/v.segment/main.c,
+	  vector/v.select/main.c, vector/v.split/main.c,
+	  vector/v.surf.idw/main.c, vector/v.surf.idw/read_sites.c,
+	  vector/v.surf.rst/main.c, vector/v.to.db/areas.c,
+	  vector/v.to.db/calc.c, vector/v.to.db/global.h,
+	  vector/v.to.db/lines.c, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/query.c,
+	  vector/v.to.db/report.c, vector/v.to.db/update.c,
+	  vector/v.to.points/main.c, vector/v.to.rast/do_areas.c,
+	  vector/v.to.rast/do_lines.c, vector/v.to.rast/local.h,
+	  vector/v.to.rast/main.c, vector/v.to.rast/mapgraph.c,
+	  vector/v.to.rast/raster.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c, vector/v.to.rast3/main.c,
+	  vector/v.transform/ask_trans.c, vector/v.transform/creat_trans.c,
+	  vector/v.transform/get_coor.c, vector/v.transform/main.c,
+	  vector/v.transform/print_trans.c,
+	  vector/v.transform/setup_trans.c, vector/v.transform/trans.h,
+	  vector/v.transform/trans_digit.c, vector/v.type/main.c,
+	  vector/v.univar/main.c, vector/v.vol.rst/dataoct.c,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/oct.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/user4.c,
+	  vector/v.vol.rst/userglobs.h, vector/v.vol.rst/vector.c,
+	  vector/v.voronoi/dt_main.c, vector/v.voronoi/dt_write.c,
+	  vector/v.voronoi/sw_main.c, vector/v.voronoi/sw_memory.c,
+	  vector/v.voronoi/sw_output.c, vector/v.voronoi/vo_extend.c,
+	  vector/v.voronoi/vo_main.c, vector/v.voronoi/vo_write.c,
+	  vector/v.what.rast/main.c, vector/v.what/main.c,
+	  vector/v.what/what.c, visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/buildPg.c,
+	  visualization/nviz/src/do_zoom.c, visualization/nviz/src/draw.c,
+	  visualization/nviz/src/getCat.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/interface_old.h,
+	  visualization/nviz/src/label.c, visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/mkdspf_calc_linefax.c,
+	  visualization/nviz/src/mkdspf_iso_surface.c,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/openvect.c, visualization/nviz/src/pg.h,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/query_postgr.c,
+	  visualization/nviz/src/query_vect.c,
+	  visualization/nviz/src/quick_draw.c,
+	  visualization/nviz/src/runPg.c, visualization/nviz/src/togl.c,
+	  visualization/nviz/src/togl_flythrough.c,
+	  visualization/nviz/src/volume.c,
+	  visualization/xganim/Clr_table.c, visualization/xganim/main.c:
+	  Use <grass/gis.h> etc rather than <gis.h>
+
+2006-02-08 23:20  cho
+
+	* general/g.setproj/description.html: removed a self-link
+
+2006-02-08 23:19  cho
+
+	* INSTALL: to libraries => two libraries
+
+2006-02-08 23:06  markus
+
+	* raster/Makefile: r.to.rast3
+
+2006-02-08 23:05  markus
+
+	* raster/r.to.rast3, raster/r.to.rast3/Makefile,
+	  raster/r.to.rast3/description.html, raster/r.to.rast3/main.c:
+	  Soeren Gebbert: Converts 2D raster map(s) into one G3D raster map
+
+2006-02-08 22:49  markus
+
+	* raster3d/base/r3.mask.main.c, raster3d/base/r3.null.main.c:
+	  Soeren Gebbert: fixed the 'flushing tiles' error
+
+2006-02-08 22:40  markus
+
+	* raster/r.info/local_proto.h, raster/r.info/main.c: Soeren
+	  Gebbert: timestamp print flag added
+
+2006-02-08 22:18  markus
+
+	* raster/r.slope.aspect/description.html: explained 360deg vs 0deg
+	  aspect
+
+2006-02-08 18:00  markus
+
+	* raster/r.grow2/main.c: better explain radius parm
+
+2006-02-08 17:11  markus
+
+	* db/drivers/postgres/describe.c, db/drivers/postgres/globals.h:
+	  reference to pg_type.h; fix compiler warning
+
+2006-02-08 15:15  markus
+
+	* scripts/Makefile: v.in.gpsbabel activated
+
+2006-02-08 15:14  markus
+
+	* scripts/v.in.gpsbabel/description.html: fixed (see SUBMISSIONS,
+	  #20)
+
+2006-02-08 03:07  brad
+
+	* raster/Makefile: - Removed r.carve from Makefile until it is
+	  finished.
+
+2006-02-08 00:42  markus
+
+	* raster/r.describe/main.c, raster/r.digit/main.c,
+	  raster/r.distance/parse.c, raster/r.drain/main.c,
+	  raster/r.fill.dir/main.c, raster/r.grow2/main.c,
+	  raster/r.his/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c: use parameter macros; i18N; exit status
+	  fixed; error messages fixed
+
+2006-02-07 23:07  glynn
+
+	* lib/gis/get_window.c: Add WIND_OVERRIDE variable to allow a
+	  different region to be selected for individual commands
+
+2006-02-07 21:27  markus
+
+	* display/d.vect.chart/d.vect.chart_example.jpg,
+	  display/d.vect.chart/description.html: screenshot example added
+
+2006-02-07 21:01  markus
+
+	* locale/po/grassmods_de.po: Some translations fixed
+
+2006-02-07 20:58  markus
+
+	* display/d.vect.chart/description.html: Dylan Beaudette: examples
+	  added
+
+2006-02-07 20:41  glynn
+
+	* display/drivers/PNG/pngdriver.h: Add missing "extern"
+
+2006-02-07 16:55  markus
+
+	* vector/v.info/main.c: exit status
+
+2006-02-07 16:28  markus
+
+	* display/d.vect.chart/bar.c, display/d.vect.chart/global.h,
+	  display/d.vect.chart/main.c, display/d.vect.chart/plot.c: Dylan
+	  Beaudette: adjusting the vertical position of bar graphs
+	  generated from attribute data; reference bar outline based on
+	  user supplied max values
+
+2006-02-07 14:06  radim
+
+	* raster/r.le/r.le.setup/polytocell/Makefile,
+	  raster/r.mapcalc/Makefile, raster3d/base/Makefile,
+	  vector/v.voronoi/Makefile, visualization/nviz/src/Makefile:
+	  FMODE_OBJ
+
+2006-02-07 13:24  radim
+
+	* db/base/Makefile, db/drivers/dbf/Makefile,
+	  db/drivers/mysql/Makefile, db/drivers/odbc/Makefile,
+	  db/drivers/ogr/Makefile, db/drivers/postgres/Makefile,
+	  db/drivers/sqlite/Makefile, general/manage/cmd/Makefile,
+	  general/manage/lister/Makefile, include/Make/Grass.make.in,
+	  include/Make/Module.make, lib/gis/Makefile: FMODE_OBJ
+
+2006-02-07 12:12  markus
+
+	* raster/r.average/main.c, raster/r.bilinear/main.c,
+	  raster/r.bitpattern/main.c, raster/r.buffer/main.c,
+	  raster/r.cats/main.c, raster/r.circle/dist.c,
+	  raster/r.clump/main.c, raster/r.coin/cmd_parms.c,
+	  raster/r.colors/main.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.contour/main.c,
+	  raster/r.cost/main.c, raster/r.covar/main.c,
+	  raster/r.cross/main.c: use parameter macros; i18N; exit status
+	  fixed; error messages fixed
+
+2006-02-07 11:49  markus
+
+	* doc/raster/r.example/main.c: use parameter macros
+
+2006-02-07 11:40  markus
+
+	* include/gis.h, lib/gis/parser.c: mmore predefined parameters
+
+2006-02-06 20:17  glynn
+
+	* display/drivers/lib/Font_get.c, display/drivers/lib/Makefile,
+	  display/drivers/lib/font.c, display/drivers/lib/font2.c: Rename
+	  index -> findex (clashes with BSD index() function from
+	  <string.h>)
+	  Remove renamed files
+
+2006-02-06 19:23  michael
+
+	* display/gis.m/gm.tcl: update and bug fix for output window
+
+2006-02-06 19:23  michael
+
+	* display/gis.m/thematic.tcl: update for thematic mapping, creation
+	  of new canvas for
+	  thematic map legend
+
+2006-02-06 19:22  michael
+
+	* display/gis.m/mapcanvas.tcl, display/gis.m/mapprint.tcl,
+	  display/gis.m/maptool.tcl: minor enhancements and bug fixes
+
+2006-02-06 19:22  michael
+
+	* display/gis.m/rastarrows.tcl: bug fix for arrow magnitude map
+	  selection
+
+2006-02-06 19:21  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: update so that script
+	  will work with new GIS Manager 2
+
+2006-02-05 19:01  glynn
+
+	* display/drivers/PNG/Box.c, display/drivers/PNG/Box_abs.c,
+	  display/drivers/PNG/Can_do.c, display/drivers/PNG/Client.c,
+	  display/drivers/PNG/Clr_table.c, display/drivers/PNG/Color.c,
+	  display/drivers/PNG/Color_table.c,
+	  display/drivers/PNG/Draw_line.c,
+	  display/drivers/PNG/Draw_point.c, display/drivers/PNG/Erase.c,
+	  display/drivers/PNG/Get_w_box.c,
+	  display/drivers/PNG/Get_w_line.c,
+	  display/drivers/PNG/Get_w_pnt.c,
+	  display/drivers/PNG/Graph_Clse.c,
+	  display/drivers/PNG/Graph_Set.c,
+	  display/drivers/PNG/Graph_close.c,
+	  display/drivers/PNG/Graph_set.c,
+	  display/drivers/PNG/Line_width.c, display/drivers/PNG/Makefile,
+	  display/drivers/PNG/Panel.c, display/drivers/PNG/Polygn_abs.c,
+	  display/drivers/PNG/Raster_int.c, display/drivers/PNG/Respond.c,
+	  display/drivers/PNG/line_attr.c, display/drivers/PNG/main.c,
+	  display/drivers/PNG/pngdriver.h, display/drivers/PNG/write.c,
+	  display/drivers/XDRIVER/Box.c, display/drivers/XDRIVER/Can_do.c,
+	  display/drivers/XDRIVER/Client.c,
+	  display/drivers/XDRIVER/Color.c,
+	  display/drivers/XDRIVER/Color_table.c,
+	  display/drivers/XDRIVER/Draw_line.c,
+	  display/drivers/XDRIVER/Draw_point.c,
+	  display/drivers/XDRIVER/Get_w_box.c,
+	  display/drivers/XDRIVER/Get_w_line.c,
+	  display/drivers/XDRIVER/Get_w_pointer.c,
+	  display/drivers/XDRIVER/Graph_close.c,
+	  display/drivers/XDRIVER/Graph_set.c,
+	  display/drivers/XDRIVER/Line_width.c,
+	  display/drivers/XDRIVER/Makefile,
+	  display/drivers/XDRIVER/Panel.c,
+	  display/drivers/XDRIVER/Polydots.c,
+	  display/drivers/XDRIVER/Polygon.c,
+	  display/drivers/XDRIVER/Polyline.c,
+	  display/drivers/XDRIVER/README, display/drivers/XDRIVER/Raster.c,
+	  display/drivers/XDRIVER/Raster_RGB.c,
+	  display/drivers/XDRIVER/Respond.c,
+	  display/drivers/XDRIVER/Serve_Xevent.c,
+	  display/drivers/XDRIVER/Work.c,
+	  display/drivers/XDRIVER/XDRIVER.h,
+	  display/drivers/XDRIVER/XDRIVER24,
+	  display/drivers/XDRIVER/alloc.c,
+	  display/drivers/XDRIVER/description.html,
+	  display/drivers/XDRIVER/icon.bit,
+	  display/drivers/XDRIVER/icon.bit.3,
+	  display/drivers/XDRIVER/icon.bit.cerl,
+	  display/drivers/XDRIVER/icon.bit.grass5,
+	  display/drivers/XDRIVER/includes.h,
+	  display/drivers/XDRIVER/local_proto.h,
+	  display/drivers/XDRIVER/local_vars.h,
+	  display/drivers/XDRIVER/main.c, display/drivers/lib/Box.c,
+	  display/drivers/lib/Box_abs.c, display/drivers/lib/Box_rel.c,
+	  display/drivers/lib/Can_do.c, display/drivers/lib/Client.c,
+	  display/drivers/lib/Clr_table.c, display/drivers/lib/Color.c,
+	  display/drivers/lib/Color_table.c, display/drivers/lib/Cont.c,
+	  display/drivers/lib/Cont_abs.c, display/drivers/lib/Cont_rel.c,
+	  display/drivers/lib/Erase.c, display/drivers/lib/Font.c,
+	  display/drivers/lib/Font_get.c,
+	  display/drivers/lib/Get_location.c,
+	  display/drivers/lib/Get_t_box.c, display/drivers/lib/Graph.c,
+	  display/drivers/lib/Line_width.c, display/drivers/lib/Linemod.c,
+	  display/drivers/lib/Makefile, display/drivers/lib/Move.c,
+	  display/drivers/lib/Move_abs.c, display/drivers/lib/Move_rel.c,
+	  display/drivers/lib/Num_colors.c, display/drivers/lib/Panel.c,
+	  display/drivers/lib/Plydts_abs.c,
+	  display/drivers/lib/Plydts_rel.c,
+	  display/drivers/lib/Plylne_abs.c,
+	  display/drivers/lib/Plylne_rel.c, display/drivers/lib/Polydots.c,
+	  display/drivers/lib/Polygn_rel.c, display/drivers/lib/Polygon.c,
+	  display/drivers/lib/Polyline.c, display/drivers/lib/RGB.c,
+	  display/drivers/lib/Raster_RGB.c,
+	  display/drivers/lib/Raster_char.c,
+	  display/drivers/lib/Raster_chr.c,
+	  display/drivers/lib/Raster_def.c,
+	  display/drivers/lib/Raster_int.c,
+	  display/drivers/lib/Reset_clrs.c,
+	  display/drivers/lib/Reset_colors.c,
+	  display/drivers/lib/Respond.c, display/drivers/lib/Returns.c,
+	  display/drivers/lib/Set_window.c, display/drivers/lib/Text.c,
+	  display/drivers/lib/Text2.c, display/drivers/lib/Text3.c,
+	  display/drivers/lib/Text_size.c, display/drivers/lib/Work.c,
+	  display/drivers/lib/clip.c, display/drivers/lib/color_supp.c,
+	  display/drivers/lib/color_support.c,
+	  display/drivers/lib/command.c,
+	  display/drivers/lib/connect_fifo.c,
+	  display/drivers/lib/connect_sock.c, display/drivers/lib/driver.h,
+	  display/drivers/lib/driverlib.h, display/drivers/lib/font.c,
+	  display/drivers/lib/font2.c, display/drivers/lib/font_freetype.c,
+	  display/drivers/lib/main.c, display/drivers/lib/pad.c,
+	  display/drivers/lib/text2.c, display/drivers/lib/text3.c,
+	  display/drivers/lib/utils.c, display/drivers/lib/utils.h,
+	  include/Make/Grass.make.in, include/gisdefs.h,
+	  lib/gis/unix_socks.c: Major reorganisation of display drivers
+
+2006-02-05 16:19  brad
+
+	* raster/r.carve/enforce.h, raster/r.carve/enforce_ds.c,
+	  raster/r.carve/line_dist.c, raster/r.carve/support.c,
+	  raster/r.carve/vect.c: - replaced distance functions with
+	  dig_distance2_point_line()
+	  - minor touchup of support files (mostly function documentation)
+
+2006-02-04 16:16  brad
+
+	* raster/r.carve/lobf.c: - code and documentation update
+
+2006-02-03 20:22  glynn
+
+	* raster/r.le/r.le.setup/polytocell/do_dots.c,
+	  raster/r.le/r.le.setup/polytocell/do_line.c,
+	  raster/r.le/r.le.setup/polytocell/find_area.c,
+	  raster/r.le/r.le.setup/polytocell/ply_t_bmif.c,
+	  raster/r.le/r.le.setup/polytocell/ply_to_cll.h,
+	  raster/r.le/r.le.setup/polytocell/save_area.c,
+	  raster/r.le/r.le.setup/polytocell/wrte_recrd.c,
+	  raster/r.le/r.le.setup/polytocell/yadjust.c: Convert to ANSI C
+	  prototypes
+
+2006-02-03 18:57  michael
+
+	* display/gis.m/vector.tcl: fixed minor error opening xmonitor for
+	  v.digit
+
+2006-02-03 18:54  michael
+
+	* display/gis.m/gmtree.tcl: bug fix for deleting layer name
+
+2006-02-03 18:52  michael
+
+	* display/gis.m/gmmenu.tcl: fixing menu items for group file open
+	  and save
+
+2006-02-03 18:52  michael
+
+	* display/gis.m/gm.tcl: fixing bugs and enhancing command console
+	  and output window.
+
+2006-02-03 16:24  brad
+
+	* vector/v.extrude/main.c: - Made local function static
+	  - Added localization macro around some text
+
+2006-02-03 16:20  glynn
+
+	* include/raster.h, lib/raster/Box.c, lib/raster/Clr_table.c,
+	  lib/raster/Color.c, lib/raster/Cont_abs.c, lib/raster/Cont_rel.c,
+	  lib/raster/Erase.c, lib/raster/Flush.c, lib/raster/Font.c,
+	  lib/raster/Get_cindex.c, lib/raster/Get_ncolors.c,
+	  lib/raster/Get_t_box.c, lib/raster/Get_w_box.c,
+	  lib/raster/Get_w_line.c, lib/raster/Get_w_pnt.c,
+	  lib/raster/Makefile, lib/raster/Move_abs.c,
+	  lib/raster/Move_rel.c, lib/raster/Panel.c,
+	  lib/raster/Plydts_abs.c, lib/raster/Plydts_rel.c,
+	  lib/raster/Plylne_abs.c, lib/raster/Plylne_rel.c,
+	  lib/raster/Polygn_abs.c, lib/raster/Polygn_rel.c,
+	  lib/raster/RGB_color.c, lib/raster/RGB_ras.c,
+	  lib/raster/Raster.c, lib/raster/Reset_clr.c,
+	  lib/raster/Reset_clrs.c, lib/raster/Returns.c,
+	  lib/raster/Set_win.c, lib/raster/Text.c, lib/raster/Text_rot.c,
+	  lib/raster/Text_size.c, lib/raster/cancel.c,
+	  lib/raster/commands.c, lib/raster/get.c, lib/raster/io.c,
+	  lib/raster/io_fifo.c, lib/raster/io_sock.c,
+	  lib/raster/item_appnd.c, lib/raster/item_del.c,
+	  lib/raster/item_get.c, lib/raster/item_list.c,
+	  lib/raster/item_set.c, lib/raster/line_attr.c,
+	  lib/raster/lists.c, lib/raster/pad.c, lib/raster/pad_create.c,
+	  lib/raster/pad_cur.c, lib/raster/pad_delete.c,
+	  lib/raster/pad_invent.c, lib/raster/pad_list.c,
+	  lib/raster/pad_select.c, lib/raster/perror.c,
+	  lib/raster/protocol.c, lib/raster/update.c: Clean-up of raster
+	  library
+
+2006-02-03 16:18  brad
+
+	* vector/v.extrude/main.c, vector/v.extrude/nearest.c,
+	  vector/v.extrude/nearest.h: - Removed cloned local function
+	  nearest() and replaced with G_get_raster_sample()
+
+2006-02-03 16:04  radim
+
+	* db/drivers/ogr/Makefile: EXE_SUFFIX
+
+2006-02-02 13:53  radim
+
+	* scripts/v.db.reconnect.all/v.db.reconnect.all: added database
+	  schema
+
+2006-02-02 13:31  markus
+
+	* display/d.m/description.html: header fixed; some of many HTML
+	  tags fixed
+
+2006-02-02 13:18  markus
+
+	* display/d.mon/cmd/description.html: URL cosmetics (for better MAN
+	  readability)
+
+2006-02-02 07:12  cho
+
+	* display/d.extend/description.html: flag description removed
+	  (d.extend doesn't have any option)
+
+2006-02-01 15:27  markus
+
+	* display/gis.m/gm.tcl, display/gis.m/gmtree.tcl,
+	  display/gis.m/labels.tcl, display/gis.m/mapcanvas.tcl: Michael
+	  Barton: updates
+
+2006-02-01 11:54  markus
+
+	* lib/rst/interp_float/vinput2d.c: msg cosmetics
+
+2006-02-01 11:53  radim
+
+	* lib/gis/asprintf.c: fix for MinGW
+
+2006-02-01 11:45  radim
+
+	* db/drivers/mysql/Makefile, db/drivers/mysql/mesql.html,
+	  lib/db/sqlp/description.html: mesql driver doc
+
+2006-02-01 11:24  radim
+
+	* configure, configure.in: test mysql_server_init in libmysqld
+
+2006-02-01 11:21  markus
+
+	* imagery/i.ortho.photo/photo.camera/camera.h,
+	  imagery/i.ortho.photo/photo.camera/defines.h: removed empty file
+
+2006-02-01 09:31  markus
+
+	* lib/gis/sample.c: TODO is done
+
+2006-02-01 09:26  markus
+
+	* SUBMITTING: better explain description.html mechanism
+
+2006-02-01 09:18  markus
+
+	* vector/v.what/description.html, vector/v.what/main.c,
+	  vector/v.what/what.c: include header fixed; typo fixed; i18N
+	  fixed; url fixed
+
+2006-02-01 00:54  michael
+
+	* vector/Makefile: add v.what
+
+2006-02-01 00:53  michael
+
+	* vector/v.what/Makefile, vector/v.what/description.html,
+	  vector/v.what/main.c: code and doc cleanup
+
+2006-02-01 00:52  michael
+
+	* display/gis.m/gm.tcl, display/gis.m/gmtree.tcl,
+	  display/gis.m/vector.tcl: misc bug fixes and optimization
+	  (closing open clauses)
+
+2006-02-01 00:49  brad
+
+	* lib/gis/sample.c: - forgot to add sample.c to CVS
+
+2006-01-31 18:12  markus
+
+	* INSTALL: redirect people
+
+2006-01-31 17:49  markus
+
+	* SUBMITTING: explain messages
+
+2006-01-31 17:40  markus
+
+	* SUBMITTING: better explain description.html
+
+2006-01-31 17:27  markus
+
+	* display/d.vect/attr.c, display/d.vect/label.c: Dylan Beaudette:
+	  enlarge buffers
+
+2006-01-31 16:40  michael
+
+	* vector/v.what, vector/v.what/description.html,
+	  vector/v.what/main.c, vector/v.what/what.c, vector/v.what/what.h:
+	  vector querying using xy coordinates for GIS Manager 2 RC1
+
+2006-01-31 16:39  michael
+
+	* display/gis.m/rastarrows.gif: replaces rastarrow.gif, which was
+	  incorrectly named.
+
+2006-01-31 16:23  markus
+
+	* scripts/i.in.spotvgt/description.html: export notes added
+
+2006-01-31 13:17  glynn
+
+	* include/Make/Html.make, include/Make/Platform.make.in: Define and
+	  use $(INSTALL_DATA)
+	  Don't pass multiple filenames to $(INSTALL)/$(INSTALL_DATA)
+
+2006-01-31 13:09  markus
+
+	* scripts/d.out.png/d.out.png: respect requested save directory
+
+2006-01-31 09:56  markus
+
+	* lib/gis/gislib.dox: sites refs minimized
+
+2006-01-31 09:19  markus
+
+	* raster/r.topmodel/description.html: Maciek Sieczka: examples
+	  added
+
+2006-01-30 21:25  michael
+
+	* display/drivers/monitorcap/monitorcap: Added PNG monitor named
+	  gism for use by GIS Manager 2 RC1
+
+2006-01-30 21:24  michael
+
+	* display/gis.m/barscale.tcl, display/gis.m/chart.tcl,
+	  display/gis.m/cmd.tcl, display/gis.m/dtext.tcl,
+	  display/gis.m/frames.tcl, display/gis.m/fttext.tcl,
+	  display/gis.m/gm.tcl, display/gis.m/gmmenu.tcl,
+	  display/gis.m/gmtool1.tcl, display/gis.m/gmtool2.tcl,
+	  display/gis.m/gmtree.tcl, display/gis.m/gridline.tcl,
+	  display/gis.m/group.tcl, display/gis.m/histogram.gif,
+	  display/gis.m/histogram.tcl, display/gis.m/labels.tcl,
+	  display/gis.m/legend.tcl, display/gis.m/mapcanvas.tcl,
+	  display/gis.m/mapprint.tcl, display/gis.m/maptool.tcl,
+	  display/gis.m/rastarrow.gif, display/gis.m/rastarrows.tcl,
+	  display/gis.m/raster.tcl, display/gis.m/rastnums.gif,
+	  display/gis.m/rastnums.tcl, display/gis.m/rgbhis.tcl,
+	  display/gis.m/thematic.tcl, display/gis.m/vector.tcl: updates for
+	  GIS Manager 2 RC1
+
+2006-01-30 18:29  cho
+
+	* swig/perl/Makefile.PL.in,
+	  swig/perl/R_slope_aspect/r_slope_aspect/Makefile.PL: Added
+	  PACKAGE definition to CCFLAGS
+	  Fixed X library dependency (ogsf => openGL => X libs)
+
+2006-01-30 16:27  cho
+
+	* swig/perl/grass_wrap.c: G_version pointer bug fixed
+
+2006-01-30 16:24  cho
+
+	* swig/perl/grass_wrap.c: G_version pointer bug fixed
+
+2006-01-30 16:01  cho
+
+	* include/gisdefs.h, lib/gis/version.c, locale/po/grasslibs_ko.po,
+	  locale/po/grassmods_ko.po, swig/perl/gisdefs.h,
+	  swig/perl/grass_wrap.c: G_version pointer bug fixed
+	  more Korean translation
+
+2006-01-30 10:20  radim
+
+	* db/drivers/mysql/Makefile, db/drivers/mysql/db.c,
+	  db/drivers/mysql/driver.c: embeded version
+
+2006-01-30 10:17  radim
+
+	* configure, configure.in: MySQL embeded
+
+2006-01-30 09:42  radim
+
+	* include/Make/Platform.make.in: MySQL embeded
+
+2006-01-30 09:07  radim
+
+	* include/gisdefs.h, lib/gis/asprintf.c: implement G_asprintf
+	  because of GDAL configure
+
+2006-01-30 09:05  markus
+
+	* include/gis.h: comment extended
+
+2006-01-30 09:05  markus
+
+	* lib/gis/gisrasterlib.dox: G_get_raster_sample updated
+
+2006-01-30 08:39  markus
+
+	* lib/sites/sites.c: moved sites functions here from
+	  lib/gis/sites.c
+
+2006-01-30 08:39  markus
+
+	* vector/v.in.sites/Makefile: fix for sites functions
+
+2006-01-30 08:27  markus
+
+	* lib/gis/gissiteslib.dox, lib/gis/readsites.c,
+	  lib/gis/readsites_xyz.c, lib/gis/sites.c, lib/gis/sites_title.c:
+	  removed unused stuff
+
+2006-01-30 08:07  markus
+
+	* lib/gis/Makefile: simplified: removed hardcoded LIB_OBJS
+
+2006-01-30 08:06  markus
+
+	* lib/gis/grid_dist1.c, lib/gis/grid_dist2.c, lib/gis/support.c,
+	  lib/gis/try.c: removed unused stuff
+
+2006-01-29 01:00  brad
+
+	* vector/v.sample/main.c: - Reformatted code for aestetics
+
+2006-01-29 00:43  brad
+
+	* vector/v.sample/main.c: - added localization macros around text
+
+2006-01-29 00:22  brad
+
+	* include/gis.h, include/gisdefs.h, lib/gis/Makefile,
+	  lib/gis/bilinear.c, vector/v.drape/cubic.c,
+	  vector/v.drape/main.c, vector/v.drape/methods.h,
+	  vector/v.drape/nearest.c, vector/v.drape/utils.c,
+	  vector/v.sample/cubic.c, vector/v.sample/main.c,
+	  vector/v.sample/methods.h, vector/v.sample/nearest.c,
+	  vector/v.sample/utils.c: - New Function: G_get_raster_sample()
+	  - Removed code from v.sample and v.drape that
+	  G_get_raster_sample() replaces
+	  - Moved partial implementation G_get_raster_sample_bilinear()
+	  into lib/gis/sample.c and is now handled by new function
+
+2006-01-28 13:20  markus
+
+	* include/gisdefs.h: don't use C++ comments
+
+2006-01-28 07:53  markus
+
+	* raster/r.topmodel/description.html: tutorial url added
+
+2006-01-27 23:44  michael
+
+	* display/d.m/thematic.tcl: bug fix for color scheme type
+
+2006-01-27 20:13  glynn
+
+	* raster/r.mapcalc/func_proto.h, raster/r.mapcalc/function.c:
+	  Change entries for acos/asin to use c_double1
+
+2006-01-27 18:21  radim
+
+	* lib/proj/convert.c: better OGRSpatialReferenceH
+
+2006-01-27 17:47  radim
+
+	* lib/proj/convert.c: use OGRSpatialReferenceH instead of pointer
+
+2006-01-27 17:42  radim
+
+	* include/gisdefs.h: another version of asprintf
+
+2006-01-27 17:13  radim
+
+	* include/gisdefs.h: G_asprintf better?
+
+2006-01-27 16:27  radim
+
+	* lib/gis/asprintf.c: ifdef G_asprintf
+
+2006-01-27 16:27  radim
+
+	* configure, configure.in, include/config.h.in, include/gisdefs.h:
+	  +HAVE_ASPRINTF
+
+2006-01-27 15:22  markus
+
+	* testsuite/raster/rhemisphere.sh: new raster test case started
+
+2006-01-27 14:55  markus
+
+	* raster/r.mapcalc/Makefile, raster/r.mapcalc/func_proto.h,
+	  raster/r.mapcalc/function.c, raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html, raster/r.mapcalc/xacos.c,
+	  raster/r.mapcalc/xasin.c: acos() and asin() added
+
+2006-01-27 10:59  markus
+
+	* general/g.version/Makefile, general/g.version/description.html,
+	  general/g.version/main.c, include/Make/Grass.make.in: Soeren
+	  Gebbert: print the GRASS build information
+
+2006-01-26 13:56  markus
+
+	* lib/gis/list.c: issue a warning in winGRASS
+
+2006-01-26 13:06  markus
+
+	* lib/imagery/advance.c: fixed missing include
+
+2006-01-26 13:05  markus
+
+	* lib/imagery/advance.c: added missing include
+
+2006-01-26 10:20  markus
+
+	* raster/r.sun/description.html: fixed another time the URL
+
+2006-01-26 10:12  markus
+
+	* raster/r.sun/description.html: fixed another time the URL
+
+2006-01-26 08:41  radim
+
+	* lib/imagery/ask_bands.c, lib/imagery/ask_colors.c,
+	  lib/imagery/tape_info.c, lib/imagery/v_exec.c,
+	  lib/imagery/vask_group.c: include gis.h before HAVE_CURSES_H
+
+2006-01-26 05:42  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: Fix #4034 and #4036
+
+2006-01-25 20:32  markus
+
+	* Makefile: also clean grass.pc
+
+2006-01-25 20:28  markus
+
+	* Makefile: also clean error.log
+
+2006-01-25 13:16  glynn
+
+	* lib/gis/put_row.c: Fix bug in zlib compression of CELL maps
+
+2006-01-25 12:23  radim
+
+	* lib/imagery/Makefile: VASKLIB better
+
+2006-01-25 12:17  radim
+
+	* lib/imagery/Makefile, lib/imagery/ask_bands.c,
+	  lib/imagery/ask_colors.c, lib/imagery/tape_info.c,
+	  lib/imagery/v_exec.c, lib/imagery/vask_group.c: conditional VASK
+	  lib
+
+2006-01-25 09:39  hamish
+
+	* scripts/v.in.gpsbabel/v.in.gpsbabel: typo
+
+2006-01-25 08:11  hamish
+
+	* scripts/v.in.gpsbabel/grass_write_ascii.style,
+	  scripts/v.in.gpsbabel/v.in.gpsbabel: new module by Davide Spano
+	  and Claudio Porta of the University of Pisa
+	  adapted from v.in.garmin
+	  
+	  still some bugs to work out
+
+2006-01-24 23:32  markus
+
+	* visualization/nviz/html/Makefile: one more test
+
+2006-01-24 17:17  radim
+
+	* db/drivers/dbf/dbf.html: general notes removed
+
+2006-01-24 17:16  radim
+
+	* lib/db/sqlp/description.html: general notes
+
+2006-01-24 17:00  radim
+
+	* db/drivers/mysql/cursor.c, db/drivers/mysql/db.c,
+	  db/drivers/mysql/execute.c, db/drivers/mysql/fetch.c,
+	  db/drivers/mysql/listtab.c, db/drivers/mysql/main.c: ANSI C
+
+2006-01-24 14:17  markus
+
+	* vector/v.kernel/main.c: message cometics
+
+2006-01-24 13:35  markus
+
+	* SUBMITTING: typo fixed
+
+2006-01-24 13:18  markus
+
+	* display/d.nviz/description.html: better d.nviz settings
+
+2006-01-24 12:41  radim
+
+	* lib/db/sqlp/description.html: dbf decription moved to dbf.html
+
+2006-01-24 11:25  radim
+
+	* db/drivers/dbf/Makefile, db/drivers/dbf/dbf.html: dbf doc
+
+2006-01-24 11:13  radim
+
+	* db/drivers/mysql/Makefile: install doc
+
+2006-01-24 10:47  radim
+
+	* db/drivers/mysql, db/drivers/mysql/Makefile,
+	  db/drivers/mysql/create_table.c, db/drivers/mysql/cursor.c,
+	  db/drivers/mysql/db.c, db/drivers/mysql/dbdriver.h,
+	  db/drivers/mysql/describe.c, db/drivers/mysql/driver.c,
+	  db/drivers/mysql/error.c, db/drivers/mysql/execute.c,
+	  db/drivers/mysql/fetch.c, db/drivers/mysql/globals.h,
+	  db/drivers/mysql/index.c, db/drivers/mysql/listtab.c,
+	  db/drivers/mysql/main.c, db/drivers/mysql/mysql.html,
+	  db/drivers/mysql/parse.c, db/drivers/mysql/proto.h,
+	  db/drivers/mysql/select.c: driver rewritten
+
+2006-01-24 10:42  radim
+
+	* db/drivers/mysql: driver rewrite
+
+2006-01-24 04:46  hamish
+
+	* scripts/v.in.gpsbabel/description.html: html bug
+
+2006-01-24 04:43  hamish
+
+	* scripts/v.in.gpsbabel, scripts/v.in.gpsbabel/Makefile,
+	  scripts/v.in.gpsbabel/description.html: new module by Davide
+	  Spano and Claudio Porta of the University of Pisa
+	  adapted from v.in.garmin
+
+2006-01-23 22:44  markus
+
+	* raster/simwe/r.sim.water/main.c: no need to include malloc.h
+
+2006-01-23 18:06  michael
+
+	* display/d.m/menu.tcl: Removed v.topo.check reference
+
+2006-01-23 17:18  michael
+
+	* display/gis.m/mapcanvas.tcl: Update to permit repeated panning.
+
+2006-01-23 16:39  michael
+
+	* display/gis.m/gm.tcl, display/gis.m/mapcanvas.tcl: bug fixes for
+	  zooming, panning, and querying
+
+2006-01-23 08:54  markus
+
+	* raster/r.le/r.le.setup/polytocell/ply_to_cll.h: declarations
+	  slightly better
+
+2006-01-23 08:44  markus
+
+	* lib/db/dbmi_base/xdr.c, lib/db/dbmi_base/xdr.h: fixed declaration
+	  (K&R ->ANSI)
+
+2006-01-22 04:06  scott
+
+	* raster/simwe/r.sim.water/main.c: Added check for Apple compiler
+	  in check for malloc.h - may not be appropriate check?
+
+2006-01-20 22:41  michael
+
+	* display/gis.m/mapcanvas.tcl: Bug fix for resizing. Added
+	  crosshair cursor for querying.
+
+2006-01-20 16:51  markus
+
+	* vector/v.vol.rst/main.c: better explain region as also t/b
+	  matters
+
+2006-01-20 16:42  markus
+
+	* general/g.region/cmd/main.c: comment on bug added
+
+2006-01-20 08:30  markus
+
+	* doc/howto_release.txt: foss4g.org added
+
+2006-01-19 21:56  michael
+
+	* display/gis.m/mapcanvas.tcl: Update to support different cursors
+	  for map display control
+
+2006-01-19 20:15  michael
+
+	* display/gis.m/gm.tcl, display/gis.m/gmtree.tcl,
+	  display/gis.m/mapcanvas.tcl, display/gis.m/raster.tcl,
+	  display/gis.m/rgbhis.tcl, display/gis.m/vector.tcl: Bug fix for
+	  querying issues.
+	  Made save button on output display functional
+	  Added buttons to command console to run grass command,
+	  save or clear
+
+2006-01-19 13:26  markus
+
+	* vector/v.voronoi/Makefile: removed unused dependencies
+
+2006-01-19 13:26  markus
+
+	* vector/v.voronoi/vo_write.c: use Vect_box_clip() instead of
+	  D_clip()
+
+2006-01-19 13:25  markus
+
+	* include/Vect.h, lib/vector/Vlib/box.c: added Vect_box_clip(),
+	  derived from D_clip(), for v.voronoi
+
+2006-01-19 13:05  markus
+
+	* vector/v.kernel/Makefile, vector/v.net.salesman/Makefile,
+	  vector/v.net.steiner/Makefile, vector/v.segment/Makefile: removed
+	  unused dependencies
+
+2006-01-19 13:04  markus
+
+	* vector/v.kcv/main.c, vector/v.random/main.c: __MINGW32__ fix
+
+2006-01-19 13:03  markus
+
+	* vector/v.qcount/main.c: fixed missing include
+
+2006-01-19 12:58  markus
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c: define MAIN for cellhd etc
+
+2006-01-19 12:53  markus
+
+	* raster/r.walk/Makefile: removed unused dependencies
+
+2006-01-19 12:52  markus
+
+	* raster/r.support/front/run.c: __MINGW32__ fix
+
+2006-01-19 12:52  markus
+
+	* raster/r.patch/main.c, raster/r.random/creat_rand.c,
+	  raster/r.support/front/run.c, raster/r.to.vect/lines_io.c,
+	  raster/r.to.vect/util.c: __MINGW32__ fix
+
+2006-01-19 12:49  markus
+
+	* raster/r.to.vect/lines_io.c: fixed missing include
+
+2006-01-19 12:44  markus
+
+	* raster/r.random/Makefile: removed unused dependencies
+
+2006-01-19 12:41  markus
+
+	* raster/Makefile: conditionalize r.out.tiff
+
+2006-01-19 12:38  markus
+
+	* raster/r.mapcalc/Makefile: fix for __MINGW32__ compilation
+
+2006-01-19 12:37  markus
+
+	* raster/r.mapcalc/Makefile: fix for __MINGW32__ compilation
+
+2006-01-19 12:29  markus
+
+	* raster/r.cost/Makefile, raster/r.drain/Makefile: removed unused
+	  dependencies
+
+2006-01-19 12:25  markus
+
+	* raster/r.carve/enforce_ds.c: define MIN, MAX
+
+2006-01-19 12:18  markus
+
+	* raster/r.carve/main.c: fixed missing include
+
+2006-01-19 12:17  markus
+
+	* imagery/i.smap/bouman/interp.c: fixed HUGE to HUGE_VAL
+
+2006-01-19 12:06  markus
+
+	* imagery/i.ortho.photo/libes/conz_points.c,
+	  imagery/i.ortho.photo/libes/elev.c: __MINGW32__ fixes
+
+2006-01-19 11:23  markus
+
+	* general/g.setproj/get_deg.c: __MINGW32__ fixes
+
+2006-01-19 11:23  markus
+
+	* general/g.setproj/get_deg.c, lib/g3d/g3dclose.c: __MINGW32__
+	  fixes
+
+2006-01-19 11:10  markus
+
+	* lib/vask/V_error.c: sleep() stub for __MINGW32__
+
+2006-01-19 10:20  markus
+
+	* lib/raster/Raster.c, lib/raster/io.c, lib/raster/lists.c,
+	  lib/raster/parse_mon.c: free() -> G_free(); malloc() ->
+	  G_malloc(); realloc() -> G_realloc()
+
+2006-01-19 06:14  hamish
+
+	* display/d.vect/area.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot1.c: make color
+	  definition column name (GRASSRGB) variable
+
+2006-01-19 04:56  helena
+
+	* vector/v.vol.rst/main.c: command history added for 2D output
+
+2006-01-19 02:36  hamish
+
+	* display/d.vect/plot1.c: use -a GRASSRGB point fill color if main
+	  color as set to none (Martin Landa)
+
+2006-01-17 23:55  michael
+
+	* display/gis.m/legend.tcl, display/gis.m/mapcanvas.tcl: bug fixes
+	  for zooming, resizing, and zooming back
+
+2006-01-17 23:51  michael
+
+	* display/gis.m/script/d.colors.sh,
+	  display/gis.m/script/d.shadedmap, display/gis.m/script/d.text.sh,
+	  display/gis.m/script/print.sh,
+	  display/gis.m/script/r.colors.rules,
+	  display/gis.m/script/r.reclass.file,
+	  display/gis.m/script/r.reclass.rules,
+	  display/gis.m/script/r.recode.file,
+	  display/gis.m/script/r.recode.rules,
+	  display/gis.m/script/r.support.sh,
+	  display/gis.m/script/v.in.asciipoints: updated to use -z
+	  "$GISBASE"
+
+2006-01-17 21:17  markus
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po: Jachym
+	  Cepicky: cont'ed
+
+2006-01-17 20:59  markus
+
+	* display/gis.m/Makefile: fixed missing script subdir
+
+2006-01-17 20:22  markus
+
+	* display/gis.m/gm.tcl: clean all dispmon files (better use
+	  g.tempfile etc)
+
+2006-01-17 20:18  markus
+
+	* display/gis.m/Makefile: fixed
+
+2006-01-17 18:45  michael
+
+	* display/gis.m/gis.m: startup shell script for GIS Manager 2
+
+2006-01-17 18:44  michael
+
+	* display/gis.m/gm copy.tcl: draft file to be removed
+
+2006-01-17 17:53  michael
+
+	* display/gis.m/mapcanvas.tcl, display/gis.m/vector.tcl: Minor
+	  enhancement to vector querying. Selection distance set
+	  to 10 screen pixels.
+
+2006-01-17 17:32  michael
+
+	* display/gis.m/gm.tcl: Bug fix for help fonts
+
+2006-01-17 16:19  michael
+
+	* display/Makefile: Added compilation support for gis.m
+
+2006-01-17 16:17  michael
+
+	* display/gis.m, display/gis.m/Makefile,
+	  display/gis.m/README_gism.txt, display/gis.m/barscale.gif,
+	  display/gis.m/barscale.tcl, display/gis.m/chart.gif,
+	  display/gis.m/chart.tcl, display/gis.m/cmd.gif,
+	  display/gis.m/cmd.tcl, display/gis.m/columns.gif,
+	  display/gis.m/copy.gif, display/gis.m/cut.gif,
+	  display/gis.m/dig.gif, display/gis.m/display.gif,
+	  display/gis.m/dtext.gif, display/gis.m/dtext.tcl,
+	  display/gis.m/erase.gif, display/gis.m/fly.gif,
+	  display/gis.m/frames.gif, display/gis.m/frames.tcl,
+	  display/gis.m/fttext.gif, display/gis.m/fttext.tcl,
+	  display/gis.m/gm copy.tcl, display/gis.m/gm.tcl,
+	  display/gis.m/gmmenu.tcl, display/gis.m/gmtool1.tcl,
+	  display/gis.m/gmtool2.tcl, display/gis.m/gmtree.tcl,
+	  display/gis.m/grass.gif, display/gis.m/grassabout.tcl,
+	  display/gis.m/grid.gif, display/gis.m/gridline.tcl,
+	  display/gis.m/group.gif, display/gis.m/group.tcl,
+	  display/gis.m/intro.gif, display/gis.m/labels.gif,
+	  display/gis.m/labels.tcl, display/gis.m/legend.gif,
+	  display/gis.m/legend.tcl, display/gis.m/mapcanvas.tcl,
+	  display/gis.m/mapprint.tcl, display/gis.m/maptool.tcl,
+	  display/gis.m/measure.gif, display/gis.m/new.gif,
+	  display/gis.m/nviz.gif, display/gis.m/open.gif,
+	  display/gis.m/pan.gif, display/gis.m/position.gif,
+	  display/gis.m/print.gif, display/gis.m/query.gif,
+	  display/gis.m/raster.gif, display/gis.m/raster.tcl,
+	  display/gis.m/rgbhis.gif, display/gis.m/rgbhis.tcl,
+	  display/gis.m/save.gif, display/gis.m/savedisp.tcl,
+	  display/gis.m/script, display/gis.m/script/d.colors.sh,
+	  display/gis.m/script/d.shadedmap, display/gis.m/script/d.text.sh,
+	  display/gis.m/script/d.title.sh, display/gis.m/script/print.sh,
+	  display/gis.m/script/r.colors.rules,
+	  display/gis.m/script/r.reclass.file,
+	  display/gis.m/script/r.reclass.rules,
+	  display/gis.m/script/r.recode.file,
+	  display/gis.m/script/r.recode.rules,
+	  display/gis.m/script/r.support.sh,
+	  display/gis.m/script/v.in.asciipoints,
+	  display/gis.m/startmon.gif, display/gis.m/thematic.gif,
+	  display/gis.m/thematic.tcl, display/gis.m/tksys.tcl,
+	  display/gis.m/tree copy.tcl, display/gis.m/vector.gif,
+	  display/gis.m/vector.tcl, display/gis.m/xganim.gif,
+	  display/gis.m/zoom.back.gif, display/gis.m/zoom.gif,
+	  display/gis.m/zoom_default.gif, display/gis.m/zoom_region.gif,
+	  display/gis.m/zoomout.gif: GIS Manager 2 - TclTk GUI for GRASS
+	  6+. Requires BWidgets 1.2.1
+	  and TclTk 8.4+
+
+2006-01-17 10:42  markus
+
+	* locale/po/grasslibs_lv.po, locale/po/grassmods_lv.po: new
+	  messages merged into
+
+2006-01-17 10:38  markus
+
+	* locale/po/grasslibs_lv.po, locale/po/grassmods_lv.po: Peteris
+	  Bruns <peteris bruns gmail com>: Initial translation
+
+2006-01-17 08:13  markus
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po: merged new
+	  messages into
+
+2006-01-16 23:33  cho
+
+	* raster/r.mapcalc/Makefile, raster/r.mapcalc/column_shift.c:
+	  bugfix by Ralf Gerlich
+	  renamed htmlcmd: to html: in Makefile to avoid make error
+
+2006-01-16 19:39  cho
+
+	* lib/db/dbmi_driver/dbstubs.h, lib/db/dbmi_driver/mk_dbstubs_h.sh:
+	  removed GNU-sed specific code
+
+2006-01-16 19:27  cho
+
+	* db/drivers/sqlite/dbdriver.h: removed undefined functions
+
+2006-01-16 19:16  cho
+
+	* raster/r.topmodel/misc.c: bug fixed
+
+2006-01-16 19:11  cho
+
+	* raster/r.topmodel/README, raster/r.topmodel/description.html,
+	  raster/r.topmodel/file_io.c, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/local_proto.h, raster/r.topmodel/main.c,
+	  raster/r.topmodel/misc.c: bug fixed; more description added
+
+2006-01-16 19:06  cho
+
+	* lib/gis/parser.c: </DT> added
+
+2006-01-16 17:23  markus
+
+	* locale/po/grasslibs_mr.po, locale/po/grassmods_mr.po:
+	  synchronized with current GRASS (agreed by translator)
+
+2006-01-16 14:00  markus
+
+	* display/d.vect/area.c, display/d.vect/description.html,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot.h, display/d.vect/plot1.c: Martin Landa
+	  <landa martin gmail com>: extended to display also colored lines
+	  and points based on GRASSRGB column (not only areas)
+
+2006-01-16 10:25  markus
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po:
+	  synchronized with current GRASS (agreed by translator)
+
+2006-01-16 09:29  markus
+
+	* locale/po/grasslibs_sl.po, locale/po/grassmods_sl.po:
+	  synchronized with current GRASS (agreed by translator)
+
+2006-01-16 09:07  markus
+
+	* locale/po/grasslibs_ru.po, locale/po/grassmods_ru.po: fixed wrong
+	  language name in header ; synchronized with current GRASS
+
+2006-01-16 08:59  markus
+
+	* locale/po/grasslibs_zh.po, locale/po/grassmods_zh.po:
+	  synchronized with current GRASS (agreed by translator)
+
+2006-01-16 08:21  markus
+
+	* SUBMITTING_SCRIPTS: typos fixed
+
+2006-01-16 02:55  hamish
+
+	* SUBMITTING_SCRIPTS: add some more "best practices"
+
+2006-01-15 22:47  markus
+
+	* doc/howto_release.txt: http://slashgeo.org/submit.pl added
+
+2006-01-15 19:18  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n updates for
+	  grassmods_de
+
+2006-01-15 05:05  helena
+
+	* lib/rst/interp_float/output2d.c: writing command to history file
+
+2006-01-15 05:02  helena
+
+	* lib/rst/interp_float/vinput2d.c: option to read level1 data
+	  added, impl. by Jaro following advice from Radim and Andy D
+
+2006-01-15 04:58  helena
+
+	* vector/v.surf.rst/main.c: check for topology commented out to
+	  allow reading level1 data
+
+2006-01-14 21:07  markus
+
+	* configure, configure.in: output list sorted
+
+2006-01-14 21:05  markus
+
+	* db/drivers/postgres/cursor.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/execute.c, db/drivers/postgres/fetch.c,
+	  db/drivers/postgres/listdb.c, db/drivers/postgres/listtab.c,
+	  db/drivers/sqlite/cursor.c, db/drivers/sqlite/db.c,
+	  db/drivers/sqlite/describe.c, db/drivers/sqlite/driver.c,
+	  db/drivers/sqlite/execute.c, db/drivers/sqlite/fetch.c,
+	  db/drivers/sqlite/listtab.c, db/drivers/sqlite/main.c,
+	  db/drivers/sqlite/select.c: converted remaining KR style
+	  functions to ANSI style
+
+2006-01-13 17:00  markus
+
+	* lib/gis/bilinear.c, lib/gis/gisrasterlib.dox: added doxygen style
+	  docs of new function
+
+2006-01-13 16:47  markus
+
+	* include/gisdefs.h, lib/gis/Makefile, lib/gis/bilinear.c,
+	  vector/v.drape/bilinear.c, vector/v.drape/main.c,
+	  vector/v.drape/methods.h, vector/v.sample/bilinear.c,
+	  vector/v.sample/main.c, vector/v.sample/methods.h: bilinear.c
+	  implemented as G_get_raster_sample_bilinear() in libgis for clone
+	  removal
+
+2006-01-13 15:32  markus
+
+	* lib/gis/gisrasterlib.dox: Layout fixed; todo added
+
+2006-01-12 17:51  markus
+
+	* scripts/r.plane/r.plane: parameters reordered, renamed; tmp file
+	  management fixed
+
+2006-01-12 12:30  radim
+
+	* configure, configure.in: disable GDAL test for MinGW
+
+2006-01-11 19:17  markus
+
+	* testsuite/Makefile, testsuite/raster/Makefile: added
+
+2006-01-11 17:49  markus
+
+	* raster/rasterintro.html: added list of interpolation methods
+
+2006-01-11 12:53  markus
+
+	* testsuite/raster/raster_md5test.sh: updated check_md5sum to
+	  polished r.univar results
+
+2006-01-11 10:48  markus
+
+	* testsuite/raster/rmapcalc_test.sh: precision problems hopefully
+	  fixed
+
+2006-01-11 10:39  markus
+
+	* include/gis.h, raster/r.univar2/main.c: check against
+	  GRASS_EPSILON
+
+2006-01-11 10:26  markus
+
+	* vector/v.transform/description.html, vector/v.transform/main.c:
+	  fixed file browser (bug #3971)
+
+2006-01-11 10:19  markus
+
+	* testsuite/raster/raster_md5test.sh: decimal places
+
+2006-01-11 10:08  radim
+
+	* vector/v.db.connect/main.c: allow schema.table (dot) in name
+
+2006-01-11 09:07  markus
+
+	* lib/gis/opencell.c, lib/image/rdwr.c, lib/segment/seek.c,
+	  raster/r.thin/io.c, raster3d/r3.in.v5d/v5d.c,
+	  raster3d/r3.out.v5d/v5d.c: added missing config.h for off_t (as
+	  suggested by Glynn; bug #3974)
+
+2006-01-11 08:37  markus
+
+	* display/d.info/screenscale.c.unused: this better goes into its
+	  own module
+
+2006-01-11 08:06  cho
+
+	* display/d.info/screenscale.c,
+	  display/d.info/screenscale.c.unused: renamed an unused file to
+	  successfully compile the module
+
+2006-01-11 04:22  glynn
+
+	* general/Makefile, general/g.pnmcomp, general/g.pnmcomp/Makefile,
+	  general/g.pnmcomp/main.c: Add g.pnmcomp
+
+2006-01-10 23:12  michael
+
+	* vector/v.digit/settings.tcl: Fixed settings notebook so that it
+	  would open automatically
+	  sized.
+
+2006-01-10 17:20  markus
+
+	* testsuite/raster/rmapcalc_test.sh: fix abs and round cases
+
+2006-01-10 16:56  markus
+
+	* testsuite/raster/raster_md5test.sh,
+	  testsuite/raster/rmapcalc_test.sh: fixes for MASK and region
+	  restore
+
+2006-01-10 16:40  markus
+
+	* testsuite/raster/raster_md5test.sh,
+	  testsuite/raster/rmapcalc_test.sh: also clean tmp region file
+
+2006-01-10 16:25  markus
+
+	* testsuite, testsuite/README, testsuite/raster,
+	  testsuite/raster/README, testsuite/raster/raster_md5test.sh,
+	  testsuite/raster/rmapcalc_test.sh: initial testsuite
+
+2006-01-09 16:54  markus
+
+	* raster/r.sun/main.c: debug output
+
+2006-01-09 16:27  markus
+
+	* raster/r.sun/main.c: support input maps in different mapsets;
+	  i18N
+
+2006-01-09 11:09  markus
+
+	* lib/vector/Vlib/open.c: read history also for OGR formats
+
+2006-01-09 10:57  markus
+
+	* lib/vector/Vlib/field.c: changed msg about [OGR|OCI]FID to debug
+
+2006-01-09 10:27  glynn
+
+	* raster/r.mapcalc/check.c: Fix c_varop() (return type of
+	  max,min,median,mode) [bug #3967]
+
+2006-01-09 10:07  markus
+
+	* scripts/v.in.garmin/v.in.garmin: tail -n fixed; grep arguments
+	  quotes for Solaris
+
+2006-01-08 22:23  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes: cont'ed
+
+2006-01-06 22:48  markus
+
+	* doc/howto_release.txt: more paranoia checks
+
+2006-01-06 20:50  markus
+
+	* locale/po/grassmods_de.po: Language cosmetics
+
+2006-01-06 19:43  markus
+
+	* scripts/r.out.gdal/description.html: Int type explanations URL
+
+2006-01-06 19:31  markus
+
+	* doc/howto_release.txt: paranoia cleanup
+
+2006-01-06 18:19  markus
+
+	* raster/r.le/r.le.setup/polytocell/Makefile: clean target fixed
+
+2006-01-06 17:30  markus
+
+	* display/d.info/Makefile, display/d.info/main.c: optional screen
+	  scale removed as requested by Glynn
+
+2006-01-06 17:24  markus
+
+	* raster/r.le/r.le.setup/polytocell/Makefile: clean target fixed
+
+2006-01-06 09:31  stephan
+
+	* raster/r.null/description.html: + HTML-beautifying done by
+	  Michael Fecht <fecht at grid-it.at>
+
+2006-01-05 15:53  markus
+
+	* display/d.info/Makefile, display/d.info/main.c,
+	  display/d.info/screenscale.c: conditionalized upon X11 presence
+
+2006-01-05 15:16  markus
+
+	* scripts/v.in.e00/v.in.e00: fix quoting
+
+2006-01-05 12:00  markus
+
+	* display/d.info/Makefile, display/d.info/main.c,
+	  display/d.info/screenscale.c: -s screen scale flag added; i18N
+
+2006-01-05 10:49  markus
+
+	* vector/v.in.ogr/description.html: warning message explained
+
+2006-01-05 10:43  markus
+
+	* vector/v.select/description.html: cosmetics
+
+2006-01-05 10:43  markus
+
+	* vector/v.select/description.html, vector/v.select/main.c: i18N;
+	  example added
+
+2006-01-05 10:04  markus
+
+	* display/d.rast/display.c, display/d.rast/main.c: i18N
+
+2006-01-04 22:29  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes: cont'ed
+
+2006-01-04 17:03  markus
+
+	* imagery/i.rectify/crs.c: added missing gis.h
+
+2006-01-04 16:37  glynn
+
+	* Makefile: Add -o switch (don't preserve owner) to tar when
+	  extracting demolocation
+
+2006-01-04 16:09  markus
+
+	* Makefile: clean doxygen docs before (re)building; new target
+	  'htmldocs-single' for Web
+
+2006-01-04 14:46  markus
+
+	* db/drivers/dbf/column.c, db/drivers/dbf/cursor.c,
+	  db/drivers/dbf/db.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/error.c, db/drivers/dbf/main_debug.c,
+	  db/drivers/dbf/str.c, db/drivers/dbf/table.c,
+	  db/drivers/mysql/column.c, db/drivers/mysql/cursor.c,
+	  db/drivers/mysql/db.c, db/drivers/mysql/mysqlexe.c,
+	  db/drivers/mysql/str.c, db/drivers/mysql/table.c,
+	  db/drivers/ogr/cursor.c, db/drivers/ogr/describe.c,
+	  db/drivers/ogr/error.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/execute.c, db/drivers/postgres/select.c,
+	  db/drivers/sqlite/execute.c, db/drivers/sqlite/select.c,
+	  display/d.graph/allocation.c, display/d.profile/main.c,
+	  display/d.rast.edit/menu.c, display/d.rast/display.c,
+	  display/d.save/main.c, display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/Polygn_abs.c,
+	  display/drivers/HTMLMAP/Text.c, display/drivers/lib/Text3.c,
+	  display/drivers/lib/font.c, display/drivers/lib/pad.c,
+	  general/g.region/cmd/zoom.c, general/manage/cmd/rename.c,
+	  general/manage/lib/menu.c, imagery/i.class/analyze_sig.c,
+	  imagery/i.class/band_files.c, imagery/i.class/draw_cell.c,
+	  imagery/i.fft/fftmain.c, imagery/i.his.rgb/closefiles.c,
+	  imagery/i.ifft/do_histogram.c, imagery/i.points/analyze.c,
+	  imagery/i.points/ask.c, imagery/i.points/drawcell.c,
+	  imagery/i.points/group.c, imagery/i.rgb.his/closefiles.c,
+	  imagery/i.smap/bouman/multialloc.c,
+	  imagery/i.vpoints/ask_lineclr.c, imagery/i.vpoints/crs.c,
+	  imagery/i.zc/main.c, ps/ps.map/main.c, raster/r.drain/filldir.c,
+	  raster/r.drain/main.c, raster/r.drain/resolve.c,
+	  raster/r.fill.dir/dopolys.c, raster/r.fill.dir/filldir.c,
+	  raster/r.fill.dir/main.c, raster/r.fill.dir/ppupdate.c,
+	  raster/r.fill.dir/resolve.c, raster/r.fill.dir/wtrshed.c,
+	  raster/r.flow/calc.c, raster/r.in.gdal/main.c,
+	  raster/r.in.gridatb/file_io.c, raster/r.kappa/calc_kappa.c,
+	  raster/r.kappa/prt_mat.c, raster/r.le/r.le.patch/patch.c,
+	  raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.pixel/main.c,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/ask_group.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.trace/main.c, raster/r.los/delete.c,
+	  raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/map.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.mpeg/write.c, raster/r.out.png/r.out.png.c,
+	  raster/r.out.tiff/r.out.tiff.c, raster/r.param.scale/nrutil.c,
+	  raster/r.random.cells/flag.c, raster/r.random.surface/calcsurf.c,
+	  raster/r.resamp.rst/main.c, raster/r.sum/main.c,
+	  raster/r.sun/main.c, raster/r.surf.contour/flag_create.c,
+	  raster/r.surf.contour/flag_destroy.c, raster/r.surf.idw/main.c,
+	  raster/r.to.vect/areas_io.c, raster/r.to.vect/util.c,
+	  raster/r.topidx/file_io.c, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/topmodel.c, raster/r.watershed/shed/com_line.c,
+	  raster/r.watershed/shed/free.c,
+	  raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/input.c,
+	  raster/wildfire/r.ros/main.c, raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/spread.c,
+	  raster/wildfire/r.spreadpath/main.c, raster3d/r3.in.v5d/binio.c,
+	  raster3d/r3.in.v5d/main.c, raster3d/r3.in.v5d/v5d.c,
+	  raster3d/r3.out.v5d/binio.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.v5d/v5d.c, raster3d/r3.showdspf/draw_polys_ogl.c,
+	  raster3d/r3.showdspf/init_caps.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/togif.c, vector/v.build.polylines/main.c,
+	  vector/v.category/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.drape/cubic.c,
+	  vector/v.extract/main.c, vector/v.in.dwg/entity.c,
+	  vector/v.in.dwg/main.c, vector/v.mapcalc/any.c,
+	  vector/v.mapcalc/list.c, vector/v.mapcalc/map.c,
+	  vector/v.mapcalc/mapcalc.c, vector/v.mapcalc/vector.c,
+	  vector/v.mapcalc/yylex.c, vector/v.reclass/main.c,
+	  vector/v.sample/cubic.c, vector/v.surf.rst/main.c,
+	  vector/v.to.db/update.c, vector/v.vol.rst/dataoct.c,
+	  vector/v.vol.rst/main.c, vector/v.vol.rst/oct.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.voronoi/sw_main.c,
+	  vector/v.voronoi/sw_memory.c, vector/v.voronoi/vo_main.c,
+	  vector/v.what.rast/main.c, visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/draw.c, visualization/nviz/src/exag.c,
+	  visualization/nviz/src/label.c, visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/mkdspf_calc_linefax.c,
+	  visualization/nviz/src/mkdspf_iso_surface.c,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/quick_draw.c,
+	  visualization/nviz/src/togl.c,
+	  visualization/nviz/src/togl_flythrough.c,
+	  visualization/nviz/src/volume.c: cleanup: free() -> G_free();
+	  malloc() -> G_malloc(); alloc()-> G_alloc(); calloc() ->
+	  G_calloc(); realloc() -> G_realloc(); fixed gis.h includes where
+	  needed (thanks to script of G. Antoniol, Ecole Polytechnique
+	  Montreal)
+
+2006-01-04 14:24  markus
+
+	* lib/gis/ll_scan.c: don't include gis.h twice
+
+2006-01-04 12:40  markus
+
+	* imagery/i.rectify/crs.c, imagery/i.vpoints/crs.c: fixed headers
+
+2006-01-04 11:40  markus
+
+	* lib/gis/ask.c, lib/gis/ask_cell.c, lib/gis/auto_mask.c,
+	  lib/gis/cats.c, lib/gis/cell_stats.c, lib/gis/closecell.c,
+	  lib/gis/color_free.c, lib/gis/color_rand.c, lib/gis/env.c,
+	  lib/gis/format.c, lib/gis/get_cellhd.c, lib/gis/get_row.c,
+	  lib/gis/histogram.c, lib/gis/key_value1.c, lib/gis/plot.c,
+	  lib/gis/quant.c, lib/gis/rd_cellhd.c, lib/gis/set_window.c,
+	  lib/gis/strings.c, lib/gis/tempfile.c, lib/gis/token.c,
+	  lib/gis/unix_socks.c, lib/gis/user_config.c,
+	  lib/gis/win32_pipes.c, lib/gis/window_map.c: cleanup: free() ->
+	  G_free(); malloc() -> G_malloc(); alloc() -> G_alloc(); calloc()
+	  -> G_calloc(); realloc() -> G_realloc()
+
+2006-01-04 11:25  brad
+
+	* imagery/i.ortho.photo/libes/georef.c: resurrected
+
+2006-01-04 11:19  markus
+
+	* vector/v.in.dwg/description.html: URL updated; cosmetics
+
+2006-01-03 17:47  markus
+
+	* INSTALL: prerequisites added
+
+2006-01-03 17:32  markus
+
+	* doc/howto_release.txt: happy new year also here
+
+2006-01-03 14:17  markus
+
+	* general/manage/lib/do_remove.c: fix
+
+2006-01-03 13:10  markus
+
+	* include/VERSION: Happy new year
+
+2006-01-03 12:34  markus
+
+	* display/d.text/main.c: type fixed
+
+2006-01-03 11:01  markus
+
+	* doc/howto_release.txt: manuals + announcement
+
+2006-01-03 10:46  markus
+
+	* doc/howto_release.txt: another version paranoia fix
+
+2006-01-03 09:25  brad
+
+	* imagery/i.ortho.photo/libes/georef.c: - Removed duplicate
+	  georef.c - already in lib/imagery
+	  - For code refactoring project
+
+2006-01-03 09:08  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes: cont'ed
+
+2006-01-03 08:50  markus
+
+	* lib/gmath/la.c, lib/vector/dglib/examples/components.c,
+	  lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/cr_large_graph.c,
+	  lib/vector/dglib/examples/delnode.c,
+	  lib/vector/dglib/examples/minspan.c,
+	  lib/vector/dglib/examples/shortest_path.c,
+	  lib/vector/dglib/examples/span.c,
+	  lib/vector/dglib/examples/unflatten.c,
+	  lib/vector/dglib/examples/view.c: cleaned up multiple identical
+	  include headers
+
+2006-01-03 06:39  markus
+
+	* lib/gis/align_window.c, lib/gis/color_range.c: don't clear stuff
+	  from math.h
+
+2006-01-03 06:34  markus
+
+	* lib/gis/index.c, lib/gis/unctrl.c, lib/imagery/open.c: fixed KR
+	  to ANSI declarations
+
+2006-01-02 22:23  brad
+
+	* raster/r.mapcalc/Makefile, raster/r.mapcalc/column_shift.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/map3.c,
+	  raster/r.mapcalc/mapcalc.h: - Removed duplicated code from map.c
+	  map3.c and moved to column_shift.c
+	  - For GRASS code refactoring project
+
+2006-01-02 16:54  markus
+
+	* raster/r.proj/description.html: added v.in.region trick
+
+2006-01-02 16:46  markus
+
+	* raster/rasterintro.html: explanations from Glynn added
+
+2006-01-02 16:35  markus
+
+	* aclocal.m4, configure: re-activated MP-RAS test with bugfix
+
+2006-01-02 16:19  markus
+
+	* vector/v.drape/description.html,
+	  vector/v.what.rast/description.html: (cross)-refs added
+
+2006-01-02 15:07  markus
+
+	* vector/v.drape/utils.c, vector/v.normal/scancats.c,
+	  vector/v.qcount/indices.c, vector/v.sample/main.c,
+	  vector/v.sample/utils.c, vector/v.vol.rst/dataoct.c,
+	  vector/v.vol.rst/oct.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/vector.c,
+	  visualization/nviz/src/position.c: ANSIfication (thanks to script
+	  of G. Antoniol)
+
+2006-01-02 15:00  markus
+
+	* raster/r.fill.dir/main.c, raster/r.flow/aspect.c,
+	  raster/r.flow/calc.c, raster/r.flow/io.c,
+	  raster/r.in.gridatb/adjcellhd.c, raster/r.in.gridatb/main.c,
+	  raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/input.c,
+	  raster/r.le/r.le.patch/main.c, raster/r.le/r.le.patch/patch.c,
+	  raster/r.le/r.le.patch/patch.h, raster/r.le/r.le.patch/trace.c,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.pixel/input.c,
+	  raster/r.le/r.le.pixel/main.c, raster/r.le/r.le.pixel/pixel.h,
+	  raster/r.le/r.le.pixel/texture.c,
+	  raster/r.le/r.le.setup/ask_group.c,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.setup/user_input.c,
+	  raster/r.le/r.le.trace/main.c,
+	  raster/r.le/r.le.trace/user_input.c,
+	  raster/r.out.gridatb/adjcellhd.c, raster/r.out.gridatb/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.mpeg/write.c,
+	  raster/r.out.pov/main.c, raster/r.random/random.c,
+	  raster/r.sun/main.c, raster/r.surf.area/main.c,
+	  raster/r.topmodel/file_io.c, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/main.c, raster/r.topmodel/misc.c,
+	  raster/simwe/simlib/input.c, raster3d/base/mask_functions.c,
+	  raster3d/base/r3.mask.main.c, raster3d/r3.in.ascii/main.c,
+	  raster3d/r3.in.v5d/main.c: ANSIfication (thanks to script of G.
+	  Antoniol)
+
+2006-01-02 14:44  stephan
+
+	* vector/v.buffer/description.html,
+	  vector/v.build/description.html,
+	  vector/v.category/description.html,
+	  vector/v.clean/description.html,
+	  vector/v.convert/description.html,
+	  vector/v.digit/description.html,
+	  vector/v.external/description.html,
+	  vector/v.extrude/description.html,
+	  vector/v.in.dwg/description.html,
+	  vector/v.in.ogr/description.html,
+	  vector/v.in.sites/description.html,
+	  vector/v.info/description.html, vector/v.kcv/description.html,
+	  vector/v.mkgrid/description.html,
+	  vector/v.net.alloc/description.html,
+	  vector/v.net.iso/description.html,
+	  vector/v.net.path/description.html,
+	  vector/v.net/description.html, vector/v.normal/description.html,
+	  vector/v.out.dxf/description.html,
+	  vector/v.out.pov/description.html,
+	  vector/v.overlay/description.html,
+	  vector/v.patch/description.html,
+	  vector/v.perturb/description.html,
+	  vector/v.reclass/description.html,
+	  vector/v.segment/description.html,
+	  vector/v.select/description.html,
+	  vector/v.to.points/description.html,
+	  vector/v.to.rast/description.html,
+	  vector/v.transform/description.html,
+	  vector/v.type/description.html: + HTML-description-update to
+	  CSS-code-tags
+
+2006-01-02 14:24  markus
+
+	* doc/raster/r.example/Makefile, doc/vector/v.example/Makefile:
+	  explain absolute path trick
+
+2006-01-02 14:22  markus
+
+	* doc/howto_release.txt: explain where to announce
+
+2006-01-02 13:58  markus
+
+	* lib/gis/find_cell.c, lib/gis/find_vect.c, lib/gis/get_cellhd.c,
+	  lib/gis/init_map.c, lib/gis/key_value2.c, lib/gis/make_colr.c,
+	  lib/gis/mapcase.c, lib/gis/nme_in_mps.c, lib/gis/plot.c,
+	  lib/gis/quant_io.c, lib/gis/radii.c, lib/gis/store.c,
+	  lib/imagery/colors.c, lib/imagery/fopen.c, lib/imagery/open.c,
+	  lib/imagery/sigset.c: ANSIfication (thanks to script of G.
+	  Antoniol)
+
+2006-01-02 13:37  markus
+
+	* lib/gis/color_look.c, lib/gis/color_set.c, lib/gis/flate.c,
+	  lib/gis/fpreclass.c, lib/gis/get_projname.c, lib/gis/histogram.c:
+	  ANSIfication (thanks to script of G. Antoniol)
+
+2006-01-02 13:30  markus
+
+	* lib/gis/align_window.c, lib/gis/alloc_cell.c, lib/gis/ask.c,
+	  lib/gis/ask_cell.c, lib/gis/cell_title.c: ANSIfication (thanks to
+	  script of G. Antoniol)
+
+2006-01-02 13:21  markus
+
+	* lib/g3d/cache.c, lib/g3d/cachehash.c, lib/g3d/changeprecision.c,
+	  lib/g3d/changetype.c, lib/g3d/filecompare.c, lib/g3d/filename.c,
+	  lib/g3d/find_grid3.c, lib/g3d/fpcompress.c, lib/g3d/g3dalloc.c,
+	  lib/g3d/g3dcache.c, lib/g3d/g3dcats.c, lib/g3d/g3dclose.c,
+	  lib/g3d/g3dcolor.c, lib/g3d/g3ddefaults.c, lib/g3d/g3ddoubleio.c,
+	  lib/g3d/g3derror.c, lib/g3d/g3dfpxdr.c, lib/g3d/g3dintio.c,
+	  lib/g3d/g3dkeys.c, lib/g3d/g3dlong.c, lib/g3d/g3dmapset.c,
+	  lib/g3d/g3dmask.c, lib/g3d/g3dmisc.c, lib/g3d/g3dnull.c,
+	  lib/g3d/g3dopen.c, lib/g3d/g3dopen2.c, lib/g3d/g3dparam.c,
+	  lib/g3d/g3drange.c, lib/g3d/g3dregion.c, lib/g3d/g3dresample.c,
+	  lib/g3d/g3dwindow.c, lib/g3d/g3dwindowio.c, lib/g3d/getblock.c,
+	  lib/g3d/header.c, lib/g3d/headerinfo.c, lib/g3d/index.c,
+	  lib/g3d/retile.c, lib/g3d/rle.c, lib/g3d/tilealloc.c,
+	  lib/g3d/tileio.c, lib/g3d/tilemath.c, lib/g3d/tilenull.c,
+	  lib/g3d/tileread.c, lib/g3d/tilewrite.c, lib/g3d/writeascii.c:
+	  ANSIfication (thanks to script of G. Antoniol)
+
+2006-01-02 12:46  markus
+
+	* display/d.m/script/d.colors.sh, display/d.m/script/d.shadedmap,
+	  display/d.m/script/d.text.sh, display/d.m/script/print.sh,
+	  display/d.m/script/r.colors.rules,
+	  display/d.m/script/r.reclass.file,
+	  display/d.m/script/r.reclass.rules,
+	  display/d.m/script/r.recode.file,
+	  display/d.m/script/r.recode.rules,
+	  display/d.m/script/r.support.sh,
+	  display/d.m/script/v.in.asciipoints: quoted GISBASE
+
+2006-01-02 11:28  markus
+
+	* lib/db/dbmi_base/column.c, lib/db/dbmi_base/columnfmt.c,
+	  lib/db/dbmi_base/connect.c, lib/db/dbmi_base/datetime.c,
+	  lib/db/dbmi_base/dbmscap.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/error.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/index.c, lib/db/dbmi_base/interval.c,
+	  lib/db/dbmi_base/isdir.c, lib/db/dbmi_base/ret_codes.c,
+	  lib/db/dbmi_base/sqlCtype.c, lib/db/dbmi_base/sqltype.c,
+	  lib/db/dbmi_base/string.c, lib/db/dbmi_base/strip.c,
+	  lib/db/dbmi_base/table.c, lib/db/dbmi_base/token.c,
+	  lib/db/dbmi_base/value.c, lib/db/dbmi_base/valuefmt.c,
+	  lib/db/dbmi_base/xdrcolumn.c, lib/db/dbmi_base/xdrdatetime.c,
+	  lib/db/dbmi_base/xdrhandle.c, lib/db/dbmi_base/xdrindex.c,
+	  lib/db/dbmi_base/xdrtable.c, lib/db/dbmi_base/xdrtoken.c,
+	  lib/db/dbmi_base/xdrvalue.c, lib/db/dbmi_base/zero.c,
+	  lib/db/dbmi_client/c_opendb.c, lib/db/dbmi_client/c_openinsert.c,
+	  lib/db/dbmi_client/c_openselect.c,
+	  lib/db/dbmi_client/c_openupdate.c, lib/db/dbmi_client/c_update.c,
+	  lib/db/dbmi_client/c_version.c, lib/db/dbmi_client/printtab.c,
+	  lib/db/dbmi_client/shutdown.c, lib/db/dbmi_client/start.c,
+	  lib/db/dbmi_driver/driver_state.c: ANSIfication (thanks to script
+	  of G. Antoniol)
+
+2006-01-02 11:21  markus
+
+	* lib/datetime/local.c: ANSIfication (thanks to script of G.
+	  Antoniol)
+
+2006-01-02 11:21  markus
+
+	* lib/gis/strings.c: todo added
+
+2006-01-02 11:10  markus
+
+	* lib/cdhc/andrsnde.c, lib/cdhc/andrsndn.c, lib/cdhc/as177.c,
+	  lib/cdhc/as181.c, lib/cdhc/as241.c, lib/cdhc/as66.c,
+	  lib/cdhc/chisqe.c, lib/cdhc/chisqn.c, lib/cdhc/cvmw2e.c,
+	  lib/cdhc/cvmw2n.c, lib/cdhc/dagstndn.c, lib/cdhc/dcmp.c,
+	  lib/cdhc/dmax.c, lib/cdhc/dmaxe.c, lib/cdhc/durbins.c,
+	  lib/cdhc/enormp.c, lib/cdhc/extreme.c, lib/cdhc/geary.c,
+	  lib/cdhc/kotz.c, lib/cdhc/kse.c, lib/cdhc/ksn.c,
+	  lib/cdhc/kuiprsve.c, lib/cdhc/kuiprsvn.c, lib/cdhc/normp.c,
+	  lib/cdhc/omnibus.c, lib/cdhc/royston.c, lib/cdhc/shapiro1.c,
+	  lib/cdhc/shapiro2.c, lib/cdhc/shapiroe.c, lib/cdhc/watsonue.c,
+	  lib/cdhc/watsonun.c, lib/cdhc/weisberg.c, lib/cdhc/xinormal.c:
+	  wext() declaration/call fixed; ANSIfication (thanks to script of
+	  G. Antoniol)
+
+2006-01-02 10:24  markus
+
+	* db/drivers/dbf/cursor.c, db/drivers/dbf/db.c,
+	  db/drivers/dbf/describe.c, db/drivers/dbf/driver.c,
+	  db/drivers/dbf/execute.c, db/drivers/dbf/fetch.c,
+	  db/drivers/dbf/listtab.c, db/drivers/dbf/select.c,
+	  db/drivers/ogr/fetch.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/driver.c, db/drivers/postgres/select.c,
+	  display/drivers/PNG/Get_w_box.c,
+	  display/drivers/PNG/Get_w_line.c,
+	  display/drivers/PNG/Get_w_pnt.c: ANSIfication (thanks to script
+	  of G. Antoniol)
+
+2006-01-02 09:45  markus
+
+	* db/base/execute.c, db/base/printtab.c: ANSIfication (thanks to
+	  script of G. Antoniol
+
+2006-01-02 09:29  markus
+
+	* scripts/d.correlate/d.correlate, scripts/d.out.png/d.out.png,
+	  scripts/d.resize/d.resize,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/i.oif/i.oifcalc,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.plane/r.plane, scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.univar.sh/r.univar.sh, scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.update/v.db.update, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.garmin/v.in.garmin, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.mapgen/v.in.mapgen,
+	  scripts/v.rast.stats/v.rast.stats,
+	  scripts/v.univar.sh/v.univar.sh: awk test fixed; duplicated awk
+	  test removed; gdalinfo/ogr2ogr test fixed; GISBASE test fixed
+
+2006-01-01 14:22  markus
+
+	* raster/r.colors/description.html: ColorBrewer URL added
+
+2005-12-30 16:44  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_vi.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_vi.po: update to
+	  current message pool
+
+2005-12-30 16:24  markus
+
+	* visualization/nviz/src/nvizAppInit.c,
+	  visualization/nviz/src/nvizMain.c: removed matherr declaration to
+	  not fail on FreeBSD
+
+2005-12-30 14:54  markus
+
+	* INSTALL: Trick to use other compiler than gcc; Pentium64bit
+	  CFLAGS
+
+2005-12-30 14:17  markus
+
+	* aclocal.m4, configure: commented MP-RAS test due to syntax error;
+	  caused Debian to fail
+
+2005-12-30 09:07  markus
+
+	* db/drivers/postgres/main.c: ansified
+
+2005-12-29 22:43  markus
+
+	* doc/howto_release.txt: updated release instructions
+
+2005-12-29 22:31  markus
+
+	* raster3d/r3.showdspf/Viz.h.bak: cleanup
+
+2005-12-29 17:36  markus
+
+	* SUBMITTING, SUBMITTING_SCRIPTS: separated out scripts programming
+	  from C programming
+
+2005-12-29 17:19  markus
+
+	* vector/vectorintro.html: extended
+
+2005-12-29 17:12  markus
+
+	* vector/v.surf.rst/description.html, vector/v.surf.rst/main.c:
+	  reverted back: interpolation -> approximation as requested by
+	  Helena
+
+2005-12-29 16:51  markus
+
+	* vector/v.normal/main.c, vector/v.perturb/main.c,
+	  vector/v.qcount/main.c: oldish pragma removed; exit status fixed
+
+2005-12-29 16:45  markus
+
+	* lib/gis/Makefile, lib/gis/chop.c, lib/gis/strings.c,
+	  lib/gis/strip.c: merged into single file
+
+2005-12-29 16:34  markus
+
+	* imagery/i.rectify/crs.c: declaration fixed
+
+2005-12-29 15:20  markus
+
+	* vector/v.sample/nearest.c: memory leak fixed
+
+2005-12-29 13:23  markus
+
+	* vector/v.univar/main.c: debug ->3
+
+2005-12-29 11:37  markus
+
+	* raster/Makefile: r.carve added
+
+2005-12-29 11:37  markus
+
+	* raster/r.carve, raster/r.carve/Makefile, raster/r.carve/README,
+	  raster/r.carve/description.html, raster/r.carve/enforce.h,
+	  raster/r.carve/enforce_ds.c, raster/r.carve/line_dist.c,
+	  raster/r.carve/lobf.c, raster/r.carve/main.c,
+	  raster/r.carve/support.c, raster/r.carve/vect.c: Helena Mitasova
+	  + Brad Douglas: new module
+
+2005-12-29 11:18  markus
+
+	* raster/r.digit/main.c: help text added (fixes Debian bug#287589)
+
+2005-12-29 11:11  markus
+
+	* vector/v.vol.rst/description.html: better example: slovakia3d
+
+2005-12-29 10:37  markus
+
+	* vector/v.surf.rst/description.html, vector/v.surf.rst/main.c:
+	  Jaro Hofierka: approximation -> interpolation to avoid confusion
+
+2005-12-29 09:38  markus
+
+	* vector/v.vol.rst/description.html: CV comments from Jaro added
+
+2005-12-29 09:33  markus
+
+	* vector/v.vol.rst/main.c: message homogenization with v.surf.rst;
+	  i18N
+
+2005-12-29 09:30  markus
+
+	* vector/v.surf.rst/description.html, vector/v.surf.rst/main.c:
+	  exit status; message homogenization with v.vol.rst
+
+2005-12-28 23:38  markus
+
+	* raster/r.info/main.c: -h flag added to print only history (such
+	  as in v.info)
+
+2005-12-28 21:32  markus
+
+	* vector/v.univar/description.html, vector/v.univar/main.c:
+	  messages improved; i18N; example added
+
+2005-12-28 21:17  markus
+
+	* vector/v.vol.rst/description.html: explicitely type=point for
+	  v.univar
+
+2005-12-28 16:45  markus
+
+	* vector/v.vol.rst/description.html: cross validation prettified
+
+2005-12-28 16:45  markus
+
+	* vector/v.vol.rst/main.c: message cosmetics
+
+2005-12-28 16:20  markus
+
+	* vector/v.vol.rst/description.html: clarified g.region
+
+2005-12-28 16:16  markus
+
+	* vector/v.vol.rst/description.html: g3.region -> g.region
+
+2005-12-28 16:13  markus
+
+	* vector/v.vol.rst/user1.c: message cosmetics
+
+2005-12-28 12:59  markus
+
+	* vector/v.drape/description.html: fixes + examples beautified
+
+2005-12-28 12:58  markus
+
+	* vector/v.drape/spearfish.pov: added sample povscript
+
+2005-12-28 12:28  markus
+
+	* vector/v.drape/main.c: updated to better follow GRASS coding
+	  standards
+
+2005-12-28 12:07  markus
+
+	* raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/polytocell/do_dots.c,
+	  raster/r.le/r.le.setup/polytocell/find_area.c,
+	  raster/r.le/r.le.setup/polytocell/ply_t_bmif.c,
+	  raster/r.le/r.le.setup/polytocell/ply_to_cll.h,
+	  raster/r.le/r.le.setup/polytocell/yadjust.c: some header fixes
+
+2005-12-28 09:40  markus
+
+	* vector/v.extract/description.html: examples beautified
+
+2005-12-28 09:35  markus
+
+	* vector/v.info/main.c: message cosmetics
+
+2005-12-28 09:33  markus
+
+	* vector/v.out.ogr/description.html: examples beautified
+
+2005-12-23 16:08  markus
+
+	* visualization/nviz/html/nvimg/panel/volumes.gif,
+	  visualization/nviz/html/nviz_panel_vol.html,
+	  visualization/nviz/html/nviz_toc.html: added volume manual
+
+2005-12-22 14:40  markus
+
+	* raster3d/raster3dintro.html: cosmetics
+
+2005-12-22 14:37  markus
+
+	* general/g.region/cmd/description.html: 3d voxel example added
+
+2005-12-22 14:33  markus
+
+	* general/g.region/cmd/description.html: interactive mode basically
+	  removed; examples renovated to Spearfish
+
+2005-12-22 13:55  markus
+
+	* locale/README: added keymap switches
+
+2005-12-22 13:53  markus
+
+	* locale/po/grasslibs_hi.po, locale/po/grassmods_hi.po: headers
+	  fixed
+
+2005-12-22 13:52  markus
+
+	* locale/po/grasslibs_ko.po: fixed \\n and %s
+
+2005-12-22 13:36  markus
+
+	* locale/po/grasslibs_hi.po: Two sample phrases translated
+
+2005-12-21 10:55  markus
+
+	* doc/raster/r.example/main.c: fixed creeped in return
+
+2005-12-21 00:37  hamish
+
+	* lib/gis/history.c: strncpy() doesn't null terminate, get history
+	  length from gis.h
+
+2005-12-20 23:34  hamish
+
+	* raster/r.sun/main.c: msg cosmetics, exit return codes to
+	  EXIT_SUCCESS, EXIT_FAILURE
+
+2005-12-20 23:01  hamish
+
+	* raster/r.sun/description.html: make example better
+
+2005-12-20 23:00  hamish
+
+	* raster/r.mapcalc/map.c: map type in history is "raster" as per
+	  lib fn documentation
+
+2005-12-20 21:33  markus
+
+	* locale/po/grasslibs_hi.po, locale/po/grassmods_hi.po: added Hindi
+	  support
+
+2005-12-20 20:21  markus
+
+	* raster/r.mapcalc/main.c: also accept --help (such as in parser.c)
+
+2005-12-20 16:02  markus
+
+	* SUBMITTING: added G_free()
+
+2005-12-20 14:26  markus
+
+	* general/g.proj/description.html: example fix: better use
+	  ERDAS/Img format and no -e flag to make datum description survive
+	  conversion
+
+2005-12-20 09:20  markus
+
+	* raster/r.walk/main.c: activated history (using Hamish's new
+	  method)
+
+2005-12-20 09:18  markus
+
+	* general/g.region/cmd/main.c: clarified -l and -b flag
+
+2005-12-20 07:48  hamish
+
+	* include/gisdefs.h: remove a few more fns which were moved into
+	  the edit lib
+
+2005-12-20 06:49  hamish
+
+	* raster/r.in.mat/main.c, raster/r.patch/main.c,
+	  raster/r.series/main.c: use G_command_history(), i18n of error
+	  messages
+
+2005-12-20 06:42  hamish
+
+	* lib/gis/history.c: G_short_history(): limit string copy to
+	  allocated size in the struct
+
+2005-12-20 06:39  hamish
+
+	* raster/r.sun/description.html, raster/r.sun/main.c: cleanup fatal
+	  errors, i18n, cleanup history, add example of nice output
+
+2005-12-20 04:40  hamish
+
+	* include/gisdefs.h, lib/gis/history.c, raster/r.in.mat/main.c: add
+	  G_command_history() for adding command line to raster's hist
+	  file.
+	  removed G_edit_history() from gisdefs.h as AFAICT it doesn't
+	  exist.
+
+2005-12-19 22:46  hamish
+
+	* display/d.m/zoom.gif: binary upload for Michael.
+	  fixing corrupted binary in CVS:
+	  cvs admin -kb zoom.gif
+	  cvs update -A zoom.gif
+	  cvs commit zoom.gif
+
+2005-12-19 19:58  michael
+
+	* display/d.m/thematic.tcl: Fixed bug in themecalc selection
+
+2005-12-19 16:14  markus
+
+	* general/g.region/cmd/local_proto.h, general/g.region/cmd/main.c,
+	  general/g.region/cmd/printwindow.c: Soeren Gebbert <soerengebbert
+	  gmx.de>: new -b flag (bounding box in LatLong/WGS84); indenting
+	  of printwindow.c
+
+2005-12-19 14:53  markus
+
+	* visualization/nviz/src/README,
+	  visualization/nviz/src/tkInt8.4.9.h,
+	  visualization/nviz/src/tkIntDecls8.4.9.h,
+	  visualization/nviz/src/togl.c: To make Fodera Core4 happy,
+	  tkInt[Decls]8.4.9.h included
+
+2005-12-19 14:39  markus
+
+	* swig/license.mbox: GRASS-SWIG License file from Ari Jolma
+	  <ari.jolma AT tkk fi>
+
+2005-12-19 14:35  markus
+
+	* raster/r.sun/main.c: description correction
+
+2005-12-18 22:19  hamish
+
+	* lib/symbol/read.c: i18n, fix path names in comments
+
+2005-12-16 21:38  markus
+
+	* raster/r.cost/main.c: message cleanup; i18N; percent=100%
+
+2005-12-16 21:36  cho
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib/hydro.c:
+	  undefined symbols in Cygwin fixed
+
+2005-12-16 21:26  cho
+
+	* display/d.mapgraph/main.c: fixed string
+
+2005-12-16 21:04  markus
+
+	* raster/r.walk/description.html: cosmetics
+
+2005-12-16 21:03  markus
+
+	* raster/r.walk/main.c: indent -nbad -bap -bbb -nbbo -nbc -br -bli1
+	  -bls -cbi0 -ncdb -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+
+2005-12-16 20:56  markus
+
+	* raster/r.cost/main.c: i18N; EXIT_SUCCESS/EXIT_FAILURE; indent
+	  -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+
+2005-12-16 13:10  hamish
+
+	* raster/r.volume/main.c: i18n macros
+
+2005-12-16 12:58  hamish
+
+	* raster/Makefile: add r.volume
+
+2005-12-16 12:56  hamish
+
+	* raster/r.volume, raster/r.volume/Makefile,
+	  raster/r.volume/centroids.c, raster/r.volume/description.html,
+	  raster/r.volume/main.c: initial copy into GRASS 6. sites needs
+	  updating to new vectors,
+	  and probably the centroid output doesn't work at all.
+
+2005-12-16 11:00  markus
+
+	* scripts/v.rast.stats/v.rast.stats: correct use of TMP files
+
+2005-12-16 10:51  markus
+
+	* scripts/v.rast.stats/v.rast.stats: bugfix if many cats present;
+	  error test fixed; better messages
+
+2005-12-16 10:48  markus
+
+	* scripts/v.db.addtable/v.db.addtable: heavy error checking added
+	  (if only layers > 1 defined)
+
+2005-12-16 10:12  markus
+
+	* vector/v.db.connect/main.c: fix for -p case
+
+2005-12-16 10:02  markus
+
+	* vector/v.db.connect/main.c: check if table name is valid; exit
+	  status
+
+2005-12-16 10:01  markus
+
+	* include/proto_dbmi.h, lib/db/dbmi_base/legal_dbname.c: written
+	  db_legal_tablename() for v.db.connect
+
+2005-12-16 09:51  markus
+
+	* lib/vector/Vlib/legal_vname.c: doxygenized
+
+2005-12-16 09:36  markus
+
+	* scripts/v.db.addcol/v.db.addcol: added missing error check
+
+2005-12-16 08:47  markus
+
+	* raster/r.drain/description.html: cosmetics
+
+2005-12-16 08:42  markus
+
+	* raster/r.drain/main.c: indent -nbad -bap -bbb -nbbo -nbc -br
+	  -bli1 -bls -cbi0 -ncdb -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+
+2005-12-16 08:41  markus
+
+	* raster/r.drain/Makefile, raster/r.drain/description.html,
+	  raster/r.drain/main.c: Roberto Flor, Matteo Franchi: error
+	  checking and vector points added
+
+2005-12-16 01:11  hamish
+
+	* display/d.mapgraph/description.html, display/d.mapgraph/main.c:
+	  this module is superseded. Please use 'd.graph -m' instead.
+
+2005-12-16 00:57  hamish
+
+	* display/d.graph/main.c, vector/v.to.rast/main.c,
+	  vector/v.to.rast3/main.c: EXIT_SUCCESS and EXIT_FAILURE
+
+2005-12-15 23:22  cho
+
+	* locale/po/grasslibs_ko.po: more Korean translation
+
+2005-12-15 23:16  markus
+
+	* SUBMITTING: extended/updated
+
+2005-12-15 23:11  hamish
+
+	* vector/v.to.rast/main.c: make direction source option more
+	  readable
+
+2005-12-15 23:05  hamish
+
+	* vector/v.to.rast/main.c: reorder options
+
+2005-12-15 22:55  hamish
+
+	* display/d.graph/graphics.c: update error message, skip blank
+	  lines in input file
+
+2005-12-15 22:41  hamish
+
+	* vector/v.to.rast3/main.c: reorder options, i18n of error messages
+
+2005-12-15 22:31  hamish
+
+	* vector/v.to.rast/main.c: add column-type hint to column= option
+	  description
+
+2005-12-15 20:43  michael
+
+	* display/d.m/menu.tcl: add v.extrude to menu
+
+2005-12-15 20:09  markus
+
+	* lib/sites/sites.c: unhelpful message hopefully improved
+
+2005-12-15 19:47  michael
+
+	* display/d.m/menu.tcl: update menu selections for 3D-2D map type
+	  conversions
+
+2005-12-15 17:53  radim
+
+	* db/drivers/postgres/describe.c: fix for tables without oid
+
+2005-12-15 14:28  markus
+
+	* raster/r.walk/TODO: Suggestions from Ferdinando Urbano
+
+2005-12-15 14:28  markus
+
+	* raster/r.walk/description.html: Updates from Ferdinando Urbano
+
+2005-12-15 11:18  markus
+
+	* vector/v.digit/main.c: better message
+
+2005-12-15 10:02  hamish
+
+	* display/d.graph/description.html, display/d.graph/do_graph.c,
+	  display/d.graph/graphics.c, display/d.graph/local_proto.h,
+	  display/d.graph/main.c: add line width command
+
+2005-12-15 09:34  markus
+
+	* locale/po/grasslibs_pl.po, locale/po/grassmods_pl.po: Artur
+	  Nie¶cior <nieart interia.pl>: initial translation to Polish
+
+2005-12-15 01:10  hamish
+
+	* display/d.graph/do_graph.c: merge d.mapgraph functionality into
+	  d.graph with -m flag
+
+2005-12-15 00:58  hamish
+
+	* display/d.graph/description.html: merge in d.mapgraph
+	  functionality
+
+2005-12-15 00:44  hamish
+
+	* display/d.graph/do_graph.c, display/d.graph/main.c,
+	  display/d.graph/options.h: merge in d.mapgraph functionality as
+	  -m flag
+
+2005-12-15 00:37  hamish
+
+	* display/d.graph/description.html: add note that "polyline" exists
+
+2005-12-15 00:29  hamish
+
+	* display/d.graph/do_graph.c: G_getl2() removes newline so we can't
+	  remove it again
+
+2005-12-15 00:24  markus
+
+	* raster/r.walk/description.html: small updates by Ferdinando
+	  Urbano
+
+2005-12-14 16:01  stephan
+
+	* raster/r.mapcalc/r.mapcalc.html: + beautify HTML-description
+
+2005-12-14 12:42  markus
+
+	* raster/r.walk/main.c: coeff cosmetics
+
+2005-12-14 12:41  markus
+
+	* raster/r.walk/description.html, raster/r.walk/main.c: some
+	  cleanup; docs extended
+
+2005-12-14 09:30  markus
+
+	* raster/r.walk/description.html: cosmetics
+
+2005-12-14 02:11  hamish
+
+	* display/d.graph/description.html: many updates
+
+2005-12-14 02:00  hamish
+
+	* display/d.graph/grass_logo.txt: add d.graph example from 5.0
+	  source (grass.logo.sh)
+
+2005-12-14 01:53  markus
+
+	* vector/v.sample/description.html, vector/v.sample/main.c:
+	  de-mystified
+
+2005-12-14 01:47  hamish
+
+	* display/d.graph/do_graph.c, display/d.graph/main.c: add some
+	  debug hints
+
+2005-12-14 01:30  hamish
+
+	* display/d.graph/do_graph.c, display/d.graph/graphics.c,
+	  display/d.graph/local_proto.h, display/d.graph/main.c: add text
+	  rotation command
+
+2005-12-14 01:27  markus
+
+	* vector/v.to.points/description.html: de-mystified
+
+2005-12-14 01:17  markus
+
+	* raster/rasterintro.html: extended
+
+2005-12-14 01:14  markus
+
+	* vector/v.segment/description.html: slightly less mysterious
+
+2005-12-14 00:22  hamish
+
+	* display/d.graph/do_graph.c: skip commented polygon coordinate
+	  lines
+
+2005-12-14 00:11  hamish
+
+	* display/d.graph/do_graph.c, display/d.graph/graphics.c: error
+	  checking and warnings on bad input
+
+2005-12-13 23:40  markus
+
+	* raster/r.walk/description.html: added
+
+2005-12-13 21:35  hamish
+
+	* display/d.graph/main.c: add to G_recreate_command() list if input
+	  came from a file
+
+2005-12-13 11:55  hamish
+
+	* display/d.where/description.html, display/d.where/local_proto.h,
+	  display/d.where/main.c, display/d.where/where.c: add flag to
+	  output frame coordinates (as percentage). useful for d.graph,
+	  etc.
+
+2005-12-13 11:08  hamish
+
+	* lib/gis/parser.c: key_desc to "name" for standard map options
+
+2005-12-13 11:00  hamish
+
+	* display/d.graph/do_graph.c, display/d.graph/graphics.c,
+	  display/d.graph/local_proto.h, display/d.graph/main.c: i18n,
+	  simplify RGB color handling,
+	  use G_getl2() for input parsing,
+	  crop whitespace from input lines.
+	  Not bothering to do same to d.mapgraph as it will be merged into
+	  this module in future.
+
+2005-12-13 10:30  hamish
+
+	* display/d.graph/description.html: add example
+
+2005-12-12 21:56  markus
+
+	* lib/gis/error.c: don't ring the bell for G_message()
+
+2005-12-12 21:55  markus
+
+	* locale/po/grassmods_de.po: get rid of unneeded Carriage return
+
+2005-12-12 21:48  markus
+
+	* visualization/xganim/main.c: get rid of unneeded Carriage return
+
+2005-12-12 21:42  hamish
+
+	* lib/gis/parser.c: add key_desc to standard where and cats options
+
+2005-12-12 14:53  stephan
+
+	* raster/r.out.arc/description.html,
+	  raster/r.out.ascii/description.html,
+	  raster/r.out.bin/description.html,
+	  raster/r.out.mat/description.html,
+	  raster/r.out.mpeg/description.html,
+	  raster/r.out.pov/description.html,
+	  raster/r.out.ppm/description.html,
+	  raster/r.out.ppm3/description.html,
+	  raster/r.out.vtk/description.html: + beautify HTML-descriptions
+
+2005-12-12 14:30  stephan
+
+	* raster/r.in.arc/description.html,
+	  raster/r.in.ascii/description.html,
+	  raster/r.in.bin/description.html,
+	  raster/r.in.gdal/description.html,
+	  raster/r.in.mat/description.html,
+	  raster/r.in.poly/description.html: + beatifying HTML-descriptions
+
+2005-12-10 18:06  stephan
+
+	* scripts/v.db.addtable/description.html,
+	  scripts/v.db.droptable/description.html: + beautifying
+	  HTML-descriptions
+
+2005-12-10 17:58  stephan
+
+	* vector/v.db.connect/description.html,
+	  vector/v.db.select/description.html: + beautifying
+	  HTML-descriptions
+
+2005-12-10 17:49  stephan
+
+	* db/base/db.columns.html, db/base/db.createdb.html,
+	  db/base/db.describe.html, db/base/db.droptable.html,
+	  db/base/db.execute.html, db/base/db.select.html,
+	  db/base/db.tables.html: + beautifying HTML-descriptions
+
+2005-12-09 11:40  stephan
+
+	* locale/po/grassmods_fr.po: + continued french i18N translations
+	  by Eve (alias 'phyto') <dendrosociology[a]yahoo.co.uk>
+
+2005-12-09 11:37  stephan
+
+	* locale/po/grasslibs_fr.po: + updated french i18N translations by
+	  Eve (alias 'phyto') <dendrosociology[a]yahoo.co.uk>
+
+2005-12-08 19:22  markus
+
+	* general/g.region/cmd/printwindow.c: added missing rows/cols etc
+	  output for -g flag
+
+2005-12-08 08:36  stephan
+
+	* general/g.region/cmd/description.html,
+	  general/manage/cmd/g.copy.html, general/manage/cmd/g.remove.html,
+	  general/manage/cmd/g.rename.html: + removed HTML-tags from
+	  <pre></pre> env.
+	  + beautified
+
+2005-12-07 17:14  markus
+
+	* raster/Makefile: r.walk added
+
+2005-12-07 17:07  markus
+
+	* raster/r.walk, raster/r.walk/Makefile, raster/r.walk/btree.c,
+	  raster/r.walk/cost.h, raster/r.walk/local_proto.h,
+	  raster/r.walk/main.c, raster/r.walk/memory.c,
+	  raster/r.walk/memory.h, raster/r.walk/stash.h: added new module:
+	  extended r.cost
+
+2005-12-07 17:05  markus
+
+	* raster/r.cost/description.html: prettified examples etc
+
+2005-12-07 13:31  stephan
+
+	* general/g.ask/description.html,
+	  general/g.filename/description.html,
+	  general/g.findfile/description.html,
+	  general/g.gisenv/description.html,
+	  general/g.mapset/description.html,
+	  general/g.mapsets/description.html,
+	  general/g.parser/description.html,
+	  general/g.region/cmd/description.html,
+	  general/g.tempfile/description.html,
+	  general/manage/cmd/g.copy.html, general/manage/cmd/g.remove.html,
+	  general/manage/cmd/g.rename.html: + beautified g.x
+	  description.html files according to Markus' CSS
+
+2005-12-06 10:10  hamish
+
+	* lib/gis/parser.c: G_usage() description of strings are not always
+	  names. Changed to match
+	  HTML and TCL option descriptors.
+
+2005-12-04 21:08  paul
+
+	* general/g.proj/main.c: Make parser output clearer
+
+2005-12-04 16:17  paul
+
+	* general/g.proj/main.c: Correct the logic that checks if we should
+	  prompt before overwritting
+	  projection files.
+
+2005-12-04 14:44  paul
+
+	* general/g.proj/main.c: Don't try to overwrite projection if
+	  PERMANENT mapset is not selected
+	  (bug 3876), fix error checking to catch invalid proj.4 strings,
+	  don't
+	  overwrite region files unless projection number or zone have
+	  changed.
+
+2005-12-04 14:37  paul
+
+	* lib/proj/convert.c: Return 1 for XY, 2 for projected or latlong
+	  co-ordinate system as
+	  requested by Radim
+
+2005-12-03 20:05  markus
+
+	* raster/r.flow/mem.c: commented version advertisement
+
+2005-12-01 23:49  michael
+
+	* scripts/r.mask/description.html, scripts/r.mask/r.mask: update to
+	  add remove MASK option
+
+2005-12-01 12:44  bob
+
+	* visualization/nviz/src/do_zoom.c: Fixed max size init
+
+2005-11-30 17:17  markus
+
+	* vector/Makefile: v.extrude added
+
+2005-11-30 17:17  markus
+
+	* vector/v.extrude, vector/v.extrude/Makefile,
+	  vector/v.extrude/description.html, vector/v.extrude/main.c,
+	  vector/v.extrude/nearest.c, vector/v.extrude/nearest.h: Jachym
+	  Cepicky: new extrude module
+
+2005-11-30 15:26  markus
+
+	* vector/v.to.db/areas.c, vector/v.to.db/description.html: Wolf
+	  Bergenheim: use geodetic length for perimeter in LatLong;
+	  prettified areas.c with indent
+
+2005-11-30 14:30  markus
+
+	* vector/v.drape/nearest.c: free memory; better user message
+
+2005-11-29 23:07  michael
+
+	* scripts/r.mask/r.mask: update for Cygwin compatibility
+
+2005-11-29 16:38  paul
+
+	* lib/gis/datum.table: Add comment about EPSG datum names
+
+2005-11-29 16:02  markus
+
+	* configure, configure.in, grass.pc.in: initial grass.pc[.in] file
+	  added
+
+2005-11-29 15:52  michael
+
+	* display/d.m/thematic.tcl: tweaking labels to reference graduated
+	  lines.
+
+2005-11-28 21:51  markus
+
+	* scripts/r.mask/description.html: fixed a couple of problems
+
+2005-11-28 16:27  michael
+
+	* display/d.m/cmd.tcl: Bug fix to prevent hanging in GIS Manager
+
+2005-11-28 16:26  michael
+
+	* display/d.m/menu.tcl: Update
+
+2005-11-28 16:26  michael
+
+	* scripts/r.mask, scripts/r.mask/Makefile,
+	  scripts/r.mask/description.html, scripts/r.mask/r.mask: Script to
+	  facilitate MASK creation
+
+2005-11-28 16:25  michael
+
+	* display/d.m/thematic.tcl: Bug fix and incorporate new options for
+	  d.vect.thematic
+
+2005-11-28 16:24  michael
+
+	* scripts/d.vect.thematic/description.html: Update for graduated
+	  line widths
+
+2005-11-28 16:17  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Update to add graduated
+	  line width, remove spaces from argument
+	  options, and fix bugs (hanging and group save in GIS Manager).
+
+2005-11-28 16:00  michael
+
+	* display/d.m/d.m.tcl: Bug fix for hanging while executing thematic
+	  maps and display commands
+
+2005-11-28 15:59  michael
+
+	* display/d.m/raster.tcl: Bug fix for saving groups
+
+2005-11-28 15:59  michael
+
+	* display/d.m/gridline.tcl: Added new d.grid options
+
+2005-11-28 15:51  markus
+
+	* imagery/i.rectify/rectify.c: longer buffer
+
+2005-11-28 08:37  markus
+
+	* vector/v.in.ascii/description.html, vector/v.in.ascii/in.c:
+	  Helena: support for no-topology added (to be used for large
+	  points maps only)
+
+2005-11-27 10:42  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n-translations
+
+2005-11-25 17:38  markus
+
+	* locale/po/grasslibs_de.po: Cosmetics; new messages added
+
+2005-11-25 14:46  radim
+
+	* raster/r.out.bin/tif_swab.c: MINGW
+
+2005-11-25 14:43  radim
+
+	* raster/r.out.bin/tif_swab.c, raster/r.out.tiff/r.out.tiff.c:
+	  MINGW
+
+2005-11-25 14:38  radim
+
+	* raster/r.mapcalc/Makefile: .exe
+
+2005-11-25 14:37  radim
+
+	* raster/r.mapcalc/main.c: MINGW (Javier Yebrin)
+
+2005-11-25 14:30  radim
+
+	* lib/init/Makefile: .exe
+
+2005-11-25 14:25  radim
+
+	* lib/init/run.c: dont use SIGQUIT on MINGW
+
+2005-11-25 14:14  radim
+
+	* lib/init/lock.c: MINGW
+
+2005-11-25 14:05  radim
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  lib/init/Makefile: USE_CURSES
+
+2005-11-25 14:05  radim
+
+	* lib/init/clean_temp.c: sleep->G_sleep
+
+2005-11-25 13:51  radim
+
+	* lib/init/clean_temp.c: MINGW
+
+2005-11-25 13:44  radim
+
+	* lib/image/image.h: MINGW
+
+2005-11-25 13:37  radim
+
+	* lib/gis/whoami.c: G_whoami on MINGW (Javier Yebrin)
+
+2005-11-25 13:30  radim
+
+	* lib/form/open.c: winsock.h (Javier Yebrin)
+
+2005-11-25 13:19  radim
+
+	* lib/form/form.c: definitions for MINGW (from Javier Yebrin)
+
+2005-11-25 13:15  radim
+
+	* configure, configure.in: define CROSS_COMPILING
+
+2005-11-25 13:14  radim
+
+	* include/Make/Html.make, include/Make/Platform.make.in: dont
+	  generate man pages if CROSS_COMPILING
+
+2005-11-25 13:09  radim
+
+	* lib/db/dbmi_base/Makefile: +XDRLIB
+
+2005-11-25 12:52  radim
+
+	* general/manage/lib/read_list.c: sleep -> G_sleep
+
+2005-11-25 12:50  radim
+
+	* general/manage/lib/sighold.c: dont use SIGQUIT on MINGW (from
+	  Javier Yebrin)
+
+2005-11-25 12:41  radim
+
+	* db/base/Makefile: + XDRLIB
+
+2005-11-25 11:06  radim
+
+	* vector/v.in.ascii/in.c, vector/v.in.ascii/points.c: missing
+	  headers
+
+2005-11-25 10:48  radim
+
+	* lib/vector/Vlib/close.c, lib/vector/Vlib/open.c: Vect_coor_info
+	  on MINGW
+
+2005-11-25 09:29  radim
+
+	* db/drivers/dbf/table.c: mv fix
+
+2005-11-24 10:48  moritz
+
+	* lib/gis/datum.table, lib/gis/ellipse.table: corrected ellispoid
+	  definition for ntf datum
+
+2005-11-24 02:35  helena
+
+	* raster/simwe/r.sim.water/description.html: adding missing
+	  description file
+
+2005-11-23 17:24  markus
+
+	* swig/index.dox: url fix
+
+2005-11-23 17:19  markus
+
+	* lib/index.dox, swig/index.dox: linked SWIG
+
+2005-11-23 16:04  markus
+
+	* Makefile, swig/Makefile, swig/index.dox, swig/perl/index.dox:
+	  added initial GRASS-SWIG docs
+
+2005-11-23 14:48  markus
+
+	* swig/index.dox: started SWIG documentation
+
+2005-11-23 14:07  markus
+
+	* Makefile: fix demolocation permission problems
+
+2005-11-23 13:15  radim
+
+	* lib/form/form.c, lib/form/html_library_grass.tcl: fix for null
+	  value
+
+2005-11-22 20:14  markus
+
+	* raster/simwe/r.sim.sediment/main.c,
+	  raster/simwe/r.sim.sediment/waterglobs.h,
+	  raster/simwe/r.sim.water/main.c,
+	  raster/simwe/r.sim.water/waterglobs.h,
+	  raster/simwe/simlib/waterglobs.h: Jaro Hofierka: variables
+	  declaration fixes
+
+2005-11-22 16:04  markus
+
+	* db/drivers/Makefile: fixed bug #3854
+
+2005-11-22 14:28  radim
+
+	* vector/v.to.db/global.h, vector/v.to.db/lines.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/report.c,
+	  vector/v.to.db/update.c: start/end
+
+2005-11-21 20:16  markus
+
+	* raster3d/raster3dintro.html: url fixed
+
+2005-11-21 20:13  markus
+
+	* raster3d/raster3dintro.html: extended
+
+2005-11-21 19:41  markus
+
+	* configure, configure.in: be more chatty in nad2bin error message
+
+2005-11-21 18:26  radim
+
+	* vector/v.patch/main.c: forget to change cats
+
+2005-11-21 17:38  radim
+
+	* vector/v.patch/main.c: patch tables
+
+2005-11-21 16:37  bob
+
+	* vector/v.to.db/areas.c: Fixed compiler error
+
+2005-11-21 16:34  bob
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  include/config.h.in, lib/ogsf/Makefile, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/local_proto.h,
+	  visualization/nviz/scripts/panel_animation.tcl,
+	  visualization/nviz/scripts/panel_kanimator.tcl,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/init_commands.c: Added FFMPEG support
+
+2005-11-21 08:19  markus
+
+	* include/Make/Shlib.make: added missing quotes
+
+2005-11-21 08:10  markus
+
+	* Makefile: chmod 744 install-sh for Solaris
+
+2005-11-20 10:59  hamish
+
+	* scripts/d.out.gpsdrive/d.out.gpsdrive: output filename is
+	  required
+
+2005-11-19 19:28  markus
+
+	* raster3d/r3.to.rast/main.c: Soeren Gebbert: fixing wrong NULL
+	  settings
+
+2005-11-19 19:27  markus
+
+	* raster3d/r3.out.vtk/description.html: Soeren Gebbert: extended
+
+2005-11-19 19:26  markus
+
+	* raster/r.out.vtk/description.html: Soeren Gebbert: fixes
+
+2005-11-19 19:25  markus
+
+	* display/d.m/menu.tcl: Soeren Gebbert: added r.out.vtk to the menu
+	  and fixed the enty for r3.in.rast
+
+2005-11-19 17:26  markus
+
+	* INSTALL: Solaris hint added
+
+2005-11-18 14:27  radim
+
+	* lib/db/dbmi_base/column.c: used 0/1 instead of
+	  DB_DEFINED/DB_UNDEFINED
+
+2005-11-18 14:23  radim
+
+	* lib/db/dbmi_client/start.c: binary mode
+
+2005-11-18 11:27  markus
+
+	* lib/db/dbmi_client/start.c: printf -> G_debug
+
+2005-11-18 06:29  hamish
+
+	* visualization/nviz/html/index.html: name of docs
+
+2005-11-17 21:07  cho
+
+	* raster/simwe/r.sim.water/main.c: corrected test
+
+2005-11-17 21:05  cho
+
+	* raster/simwe/r.sim.water/main.c: added NetBSD, OpenBSD
+
+2005-11-17 21:03  cho
+
+	* raster/simwe/r.sim.water/main.c: added __FreeBSD__ test to avoid
+	  malloc.h error
+
+2005-11-16 23:00  markus
+
+	* doc/howto_release.txt: new URL for announcements
+
+2005-11-16 15:33  markus
+
+	* vector/v.in.db/description.html: fixed SQLite example; now works
+
+2005-11-16 13:39  markus
+
+	* vector/v.proj/description.html: example added
+
+2005-11-16 13:34  markus
+
+	* vector/v.in.db/description.html: fixed DBF example, added SQLITE
+	  example
+
+2005-11-16 12:20  markus
+
+	* REQUIREMENTS.html: cosmetics
+
+2005-11-16 11:58  hamish
+
+	* visualization/nviz/html/nviz_toc.html: more cleanup
+
+2005-11-16 11:52  hamish
+
+	* visualization/nviz/html/nviz_3dsetting.html,
+	  visualization/nviz/html/nviz_desc.html,
+	  visualization/nviz/html/nviz_image.html,
+	  visualization/nviz/html/nviz_panel_anim.html,
+	  visualization/nviz/html/nviz_panel_color.html,
+	  visualization/nviz/html/nviz_panel_cplane.html,
+	  visualization/nviz/html/nviz_panel_dsf.html,
+	  visualization/nviz/html/nviz_panel_dsf1.html,
+	  visualization/nviz/html/nviz_panel_dsf2.html,
+	  visualization/nviz/html/nviz_panel_dsf3.html,
+	  visualization/nviz/html/nviz_panel_kanim.html,
+	  visualization/nviz/html/nviz_panel_labels.html,
+	  visualization/nviz/html/nviz_panel_lights.html,
+	  visualization/nviz/html/nviz_panel_move.html,
+	  visualization/nviz/html/nviz_panel_pos.html,
+	  visualization/nviz/html/nviz_panel_scale.html,
+	  visualization/nviz/html/nviz_panel_sdiff.html,
+	  visualization/nviz/html/nviz_panel_sites.html,
+	  visualization/nviz/html/nviz_panel_surf.html,
+	  visualization/nviz/html/nviz_panel_vect.html,
+	  visualization/nviz/html/nviz_panel_what.html,
+	  visualization/nviz/html/nviz_script.html,
+	  visualization/nviz/html/nviz_state.html,
+	  visualization/nviz/html/nviz_toc.html: cleanup of help pages
+
+2005-11-16 09:11  hamish
+
+	* lib/ogsf/gpd.c, lib/ogsf/gsd_objs.c, lib/ogsf/local_proto.h,
+	  visualization/nviz/scripts/panel_site.tcl: add wire-frame box
+	  object, compiler warnings
+
+2005-11-16 08:19  hamish
+
+	* visualization/nviz/scripts/panel_site.tcl: add cube, activate
+	  asterisk and gyroscope
+
+2005-11-16 08:18  hamish
+
+	* lib/ogsf/gpd.c, lib/ogsf/gsd_objs.c, lib/ogsf/local_proto.h: add
+	  a cube object
+
+2005-11-16 04:52  hamish
+
+	* lib/gis/parser.c: fix comment
+
+2005-11-15 17:39  michael
+
+	* display/d.m/chart.tcl, display/d.m/thematic.tcl,
+	  display/d.m/vector.tcl: update to select proper layer when
+	  displaying attribute columns for
+	  vector, chart, and thematic layers
+
+2005-11-15 17:37  michael
+
+	* display/d.m/menu.tcl: update to include new modules
+
+2005-11-15 17:36  michael
+
+	* display/d.m/d.m.tcl: bug fixes for monitor selection and to fix
+	  hanging by thematic mapper.
+
+2005-11-15 17:35  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Minor updates. No change
+	  in functionality.
+
+2005-11-15 13:56  markus
+
+	* configure, configure.in: generate Makefile.PL from Makefile.PL.in
+	  by configure
+
+2005-11-15 12:50  markus
+
+	* swig/perl/Makefile.PL: generate Makefile.PL from Makefile.PL.in
+	  by configure
+
+2005-11-15 12:50  markus
+
+	* swig/perl/Makefile.PL.in: generate Makefile.PL from
+	  Makefile.PL.in by configureMakefile.PL
+
+2005-11-15 09:20  hamish
+
+	* vector/vectorintro.html: text cleanup, input modules, html bug
+
+2005-11-15 08:47  markus
+
+	* scripts/v.db.addcol/description.html: example prettified
+
+2005-11-15 08:14  markus
+
+	* display/d.colors/description.html,
+	  display/d.rast.edit/description.html,
+	  display/d.what.vect/description.html,
+	  display/drivers/PNG/description.html,
+	  display/drivers/XDRIVER/XDRIVER24/description.html,
+	  general/g.parser/description.html,
+	  general/g.setproj/description.html,
+	  imagery/i.class/description.html,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.2target/description.html,
+	  imagery/i.ortho.photo/photo.camera/description.html,
+	  imagery/i.ortho.photo/photo.init/description.html,
+	  imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/i.points/description.html,
+	  imagery/i.vpoints/description.html, lib/db/sqlp/description.html,
+	  lib/init/grass6.html, lib/init/helptext.html,
+	  lib/init/variables.html, raster/r.coin/description.html,
+	  raster/r.digit/description.html,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.region/description.html,
+	  raster/r.terraflow/description.html, raster/rasterintro.html,
+	  raster3d/base/r3.mask.html, raster3d/raster3dintro.html,
+	  scripts/pg.postgisdb/description.html,
+	  scripts/v.build.all/description.html,
+	  scripts/v.db.reconnect.all/description.html,
+	  vector/vectorintro.html: alt tag
+
+2005-11-15 08:01  markus
+
+	* include/Make/Html.make, lib/gis/parser.c: alt tag added
+
+2005-11-15 06:51  markus
+
+	* vector/v.to.rast3/description.html: added missing file
+
+2005-11-15 06:46  markus
+
+	* vector/v.parallel/description.html: added missing file
+
+2005-11-15 06:43  markus
+
+	* vector/v.sample/description.html: html fixes
+
+2005-11-14 16:30  markus
+
+	* lib/proj/convert.c: Campo_Inchauspe_1969 synonyms added
+
+2005-11-14 16:30  markus
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table:
+	  Campo_Inchauspe_1969 added from CONAE/NIMA sources
+
+2005-11-14 12:46  radim
+
+	* configure, configure.in, db/base/Makefile,
+	  db/drivers/dbf/Makefile, db/drivers/mysql/Makefile,
+	  db/drivers/odbc/Makefile, db/drivers/postgres/Makefile,
+	  db/drivers/sqlite/Makefile, include/Make/Module.make,
+	  include/Make/Platform.make.in: EXE_SUFFIX
+
+2005-11-14 12:23  radim
+
+	* lib/db/dbmi_client/shutdown.c, lib/db/dbmi_driver/driver.c:
+	  DB_PROC_SHUTDOWN_DRIVER for mingw
+
+2005-11-14 12:19  radim
+
+	* include/dbmi.h: DB_PROC_SHUTDOWN_DRIVER
+
+2005-11-14 11:03  markus
+
+	* db/base/db.copy.html: examples fixed and prettified
+
+2005-11-14 08:49  markus
+
+	* raster/r.resamp.rst/main.c: message cosmetics
+
+2005-11-14 02:45  helena
+
+	* vector/v.surf.rst/main.c: small changes to description
+
+2005-11-14 02:40  helena
+
+	* vector/v.surf.rst/description.html: update for CV use,
+	  interpolation changed to approximation
+
+2005-11-13 23:00  hamish
+
+	* raster/r.resamp.rst/main.c: change warning to fatal error if
+	  resolutions do not match (bug# 3826)
+
+2005-11-13 10:51  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n-translations
+
+2005-11-12 12:25  hamish
+
+	* raster/r.resamp.rst/main.c: add G_done_msg()
+
+2005-11-12 12:19  hamish
+
+	* raster/r.resamp.rst/main.c: use local_proto.h
+
+2005-11-12 12:12  hamish
+
+	* lib/rst/interp_float/ressegm2d.c: let G_percent() really get to
+	  100%
+
+2005-11-12 11:48  hamish
+
+	* raster/r.resamp.rst/description.html, raster/r.resamp.rst/main.c:
+	  cleanup of text strings and check input values
+
+2005-11-12 10:17  hamish
+
+	* raster/r.resamp.rst/main.c: string cleanup and i18n
+
+2005-11-12 09:24  hamish
+
+	* scripts/v.rast.stats/v.rast.stats: speed & clean
+
+2005-11-12 05:17  hamish
+
+	* scripts/d.out.gpsdrive/description.html: spelling
+
+2005-11-12 05:11  hamish
+
+	* scripts/Makefile, scripts/d.out.gpsdrive,
+	  scripts/d.out.gpsdrive/Makefile,
+	  scripts/d.out.gpsdrive/d.out.gpsdrive,
+	  scripts/d.out.gpsdrive/description.html: Module for creating
+	  GpsDrive backdrop images
+
+2005-11-12 04:57  hamish
+
+	* general/g.region/cmd/local_proto.h, general/g.region/cmd/main.c,
+	  general/g.region/cmd/printwindow.c: make -e flag respect -g flag
+
+2005-11-11 22:44  brad
+
+	* vector/v.hull/main.c: - Bug fix
+
+2005-11-11 18:10  stephan
+
+	* locale/po/grassmods_de.po: + small german i18n updates.
+
+2005-11-11 13:48  markus
+
+	* lib/proj/projlib.dox: added how to add datum trafo parms
+
+2005-11-11 11:15  markus
+
+	* general/g.proj/description.html: examples prettified
+
+2005-11-11 04:07  hamish
+
+	* raster/r.resamp.rst/main.c: ran indent:
+	  $ indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb
+	  -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+
+2005-11-11 02:12  helena
+
+	* raster/r.terraflow/grass2str.h, raster/r.terraflow/main.cc: fp
+	  output of filled DEM fix
+
+2005-11-10 20:00  markus
+
+	* doc/howto_release.txt: added OSdir
+
+2005-11-10 18:51  markus
+
+	* lib/proj/projlib.dox: Makefile example
+
+2005-11-10 17:15  radim
+
+	* lib/db/dbmi_base/dbmscap.c, lib/db/dbmi_base/login.c,
+	  lib/db/dbmi_base/xdr.h, lib/db/dbmi_client/shutdown.c,
+	  lib/db/dbmi_client/start.c, lib/db/dbmi_driver/d_mkdir.c,
+	  lib/gis/env.c, lib/gis/location.c: mingw
+
+2005-11-10 16:34  paul
+
+	* lib/proj/projlib.dox: Add just a little more information
+
+2005-11-10 16:06  markus
+
+	* Makefile, lib/proj/Makefile: proj dox added
+
+2005-11-10 16:00  markus
+
+	* lib/proj/projlib.dox: placeholder dox added
+
+2005-11-10 14:06  radim
+
+	* db/base/columns.c, db/base/createdb.c, db/base/describe.c,
+	  db/base/dropdb.c, db/base/droptable.c, db/base/execute.c,
+	  db/base/select.c, db/base/tables.c: correct error message
+
+2005-11-10 12:03  markus
+
+	* vector/v.in.ascii/description.html: examples prettified
+
+2005-11-10 11:29  markus
+
+	* scripts/v.rast.stats/description.html,
+	  scripts/v.rast.stats/v.rast.stats: permit other DB drivers than
+	  dbf; awk test updated; examples prettified
+
+2005-11-10 11:05  radim
+
+	* lib/vector/diglib/Makefile, lib/vector/diglib/allocation.c,
+	  lib/vector/diglib/portable,
+	  lib/vector/diglib/portable/i386-pc-mingw32msvc.h: mingw
+
+2005-11-10 10:31  radim
+
+	* include/Make/Shlib.make: mingw
+
+2005-11-10 10:24  radim
+
+	* lib/vector/rtree/gammavol.c: gamma -> lgamma
+
+2005-11-10 10:22  markus
+
+	* lib/db/sqlp/description.html: examples prettified
+
+2005-11-10 08:10  markus
+
+	* raster/r.in.gdal/main.c: improved message if prj info is absent
+
+2005-11-10 07:34  markus
+
+	* vector/v.in.ogr/main.c: improved message if .prj file is absent
+
+2005-11-10 00:12  brad
+
+	* vector/v.hull/main.c: - Fixed realloc error
+
+2005-11-09 16:13  michael
+
+	* display/d.m/menu.tcl: region and version output to GIS Manager
+	  output window, improvements
+	  to group file save, attempt to run r.flow modally.
+
+2005-11-09 14:32  radim
+
+	* include/gisdefs.h, lib/gis/error.c, lib/gis/gisinit.c,
+	  lib/gis/sleep.c: G_sleep
+
+2005-11-09 14:31  radim
+
+	* configure, configure.in, include/Make/Platform.make.in: mingw
+
+2005-11-09 13:37  markus
+
+	* vector/v.in.ogr/main.c: advertise the number of features to be
+	  imported
+
+2005-11-09 13:19  markus
+
+	* db/base/db.connect.html: examples prettified
+
+2005-11-09 00:47  michael
+
+	* display/d.m/raster.tcl: fix for bug fixes of 07/11/05
+
+2005-11-09 00:46  michael
+
+	* display/d.m/d.m.tcl: fix for bug fixes of 11/7/05
+
+2005-11-08 16:58  markus
+
+	* vector/v.to.db/description.html: topological example added
+
+2005-11-08 16:33  markus
+
+	* vector/vectorintro.html: more explanations
+
+2005-11-08 16:14  markus
+
+	* vector/v.clean/main.c: changed err -> error for consistency; i18N
+
+2005-11-08 15:25  markus
+
+	* display/d.m/menu.tcl: added open/save workspace file to menu
+
+2005-11-08 13:00  markus
+
+	* scripts/r.fillnulls/r.fillnulls: fixed TMP file mess
+
+2005-11-08 12:19  hamish
+
+	* vector/v.buffer/Makefile: add dbmi lib & deps for dynamic buffer
+	  size from attribute column
+
+2005-11-08 12:14  hamish
+
+	* vector/v.buffer/main.c: add dynamic buffer sizing from attribute
+	  column
+
+2005-11-08 07:43  markus
+
+	* raster/r.stats/main.c: removed unused var; i18N
+
+2005-11-08 06:40  hamish
+
+	* vector/v.buffer/main.c: i18n
+
+2005-11-08 00:13  brad
+
+	* raster/r.stats/main.c: variable i has no usage (is used but not
+	  set or incremented); replaced with nflies
+
+2005-11-07 19:39  michael
+
+	* display/d.m/menu.tcl: Minor bugfixes
+
+2005-11-07 19:38  michael
+
+	* display/d.m/d.m.tcl: made run procedure modal to stop "lockup" of
+	  dm when a few
+	  commands are run [bug#3799]. Cleaned up information sent to
+	  GIS Manager output window.
+
+2005-11-07 18:09  markus
+
+	* scripts/i.in.spotvgt/description.html,
+	  scripts/i.in.spotvgt/i.in.spotvgt: optionally process and import
+	  quality map (status map)
+
+2005-11-07 16:22  markus
+
+	* vector/v.univar/main.c: where option added
+
+2005-11-07 09:57  markus
+
+	* vector/v.to.db/description.html,
+	  vector/v.what.rast/description.html: v.what.vect link added;
+	  examples prettified
+
+2005-11-07 09:54  markus
+
+	* vector/v.distance/description.html: v.what.vect link added
+
+2005-11-07 09:51  markus
+
+	* scripts/Makefile: v.what.vect added
+
+2005-11-07 09:50  markus
+
+	* scripts/v.what.vect, scripts/v.what.vect/Makefile,
+	  scripts/v.what.vect/description.html,
+	  scripts/v.what.vect/v.what.vect: added
+
+2005-11-07 09:42  radim
+
+	* vector/v.distance/main.c: 2. fix for to_attr if no nearest
+
+2005-11-07 09:35  radim
+
+	* vector/v.distance/main.c: fix for to_attr if no nearest
+
+2005-11-07 09:23  markus
+
+	* vector/v.distance/description.html: examples prettified to new
+	  CSS based style
+
+2005-11-07 08:47  markus
+
+	* debian/patches/htmlgen-fakeroot.dpatch: patch hacked again
+
+2005-11-07 08:30  markus
+
+	* raster/r.stats/main.c: fixed segfault again (taken from r.patch)
+
+2005-11-05 17:35  glynn
+
+	* aclocal.m4, configure, configure.in: Split LOC_CHECK_VERSION into
+	  _INT and _STRING versions
+
+2005-11-05 17:30  glynn
+
+	* configure.in: Fix message for TIFF library check
+
+2005-11-05 09:55  brad
+
+	* vector/v.vol.rst/dataoct.c, vector/v.vol.rst/dataoct.h,
+	  vector/v.vol.rst/externs.h, vector/v.vol.rst/main.c,
+	  vector/v.vol.rst/oct.c, vector/v.vol.rst/oct.h,
+	  vector/v.vol.rst/points.h, vector/v.vol.rst/user.h,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user4.c, vector/v.vol.rst/userextern.h,
+	  vector/v.vol.rst/userglobs.h: - Removed unused variables
+	  - Ugraded coding style for function declarations
+
+2005-11-05 07:30  markus
+
+	* tools/build_html_index.sh: voxel info added
+
+2005-11-05 07:29  markus
+
+	* raster3d/Makefile, raster3d/raster3dintro.html: info added
+
+2005-11-05 07:26  brad
+
+	* raster/r.profile/input.c: - Added () around truth value per
+	  compiler warning
+
+2005-11-05 06:37  brad
+
+	* raster/r.stats/main.c: - Fixed segfault issue.
+
+2005-11-05 06:33  markus
+
+	* display/d.paint.labels/Makefile: flag split for Solaris
+
+2005-11-05 06:26  markus
+
+	* vector/v.in.ogr/description.html: removed v.database (see
+	  http://grass.itc.it/pipermail/grassuser/2004-November/027146.html)
+
+2005-11-05 06:20  markus
+
+	* raster/rasterintro.html, vector/vectorintro.html: cosmetics
+
+2005-11-05 06:05  markus
+
+	* debian/patches/htmlgen-fakeroot.dpatch: try for a fix since this
+	  section was extracted from Rules.make into Html.make
+
+2005-11-04 22:47  michael
+
+	* scripts/r.in.aster/r.in.aster: updated to work with gdal 1.3.1
+	  and hdf 4.2
+
+2005-11-04 19:51  danielc
+
+	* tools/g.html2man/g.html2man: Fixed PRE handling to deal with new
+	  convention (<div class="code><pre>)
+
+2005-11-04 17:09  markus
+
+	* vector/v.to.db/areas.c, vector/v.to.db/global.h,
+	  vector/v.to.db/main.c, vector/v.to.db/parse.c,
+	  vector/v.to.db/report.c, vector/v.to.db/units.c,
+	  vector/v.to.db/update.c: Wolf Bergenheim <wolf+grass bergenheim
+	  net>: new features compactness and perimeter added
+
+2005-11-04 16:53  markus
+
+	* REQUIREMENTS.html, display/d.colors/description.html,
+	  display/d.rast.edit/description.html,
+	  display/d.what.vect/description.html,
+	  display/drivers/PNG/description.html,
+	  display/drivers/XDRIVER/XDRIVER24/description.html,
+	  general/g.parser/description.html,
+	  general/g.setproj/description.html,
+	  imagery/i.class/description.html,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.2target/description.html,
+	  imagery/i.ortho.photo/photo.camera/description.html,
+	  imagery/i.ortho.photo/photo.init/description.html,
+	  imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/i.points/description.html,
+	  imagery/i.vpoints/description.html, lib/db/sqlp/description.html,
+	  lib/init/grass6.html, lib/init/helptext.html,
+	  lib/init/variables.html, raster/r.coin/description.html,
+	  raster/r.digit/description.html,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.region/description.html,
+	  raster/r.terraflow/description.html, raster/rasterintro.html,
+	  raster3d/base/r3.mask.html,
+	  scripts/pg.postgisdb/description.html,
+	  scripts/v.build.all/description.html,
+	  scripts/v.db.reconnect.all/description.html,
+	  vector/vectorintro.html, visualization/nviz/html/bugs_todo.html,
+	  visualization/nviz/html/index.html,
+	  visualization/nviz/html/nviz_3dsetting.html,
+	  visualization/nviz/html/nviz_credit.html,
+	  visualization/nviz/html/nviz_desc.html,
+	  visualization/nviz/html/nviz_hints.html,
+	  visualization/nviz/html/nviz_image.html,
+	  visualization/nviz/html/nviz_panel_anim.html,
+	  visualization/nviz/html/nviz_panel_color.html,
+	  visualization/nviz/html/nviz_panel_cplane.html,
+	  visualization/nviz/html/nviz_panel_dsf.html,
+	  visualization/nviz/html/nviz_panel_dsf1.html,
+	  visualization/nviz/html/nviz_panel_dsf2.html,
+	  visualization/nviz/html/nviz_panel_dsf3.html,
+	  visualization/nviz/html/nviz_panel_kanim.html,
+	  visualization/nviz/html/nviz_panel_labels.html,
+	  visualization/nviz/html/nviz_panel_lights.html,
+	  visualization/nviz/html/nviz_panel_move.html,
+	  visualization/nviz/html/nviz_panel_pos.html,
+	  visualization/nviz/html/nviz_panel_scale.html,
+	  visualization/nviz/html/nviz_panel_sdiff.html,
+	  visualization/nviz/html/nviz_panel_sites.html,
+	  visualization/nviz/html/nviz_panel_surf.html,
+	  visualization/nviz/html/nviz_panel_vect.html,
+	  visualization/nviz/html/nviz_panel_what.html,
+	  visualization/nviz/html/nviz_quit.html,
+	  visualization/nviz/html/nviz_script.html,
+	  visualization/nviz/html/nviz_startup.html,
+	  visualization/nviz/html/nviz_state.html,
+	  visualization/nviz/html/nviz_toc.html,
+	  visualization/nviz/src/description.html: GRASS logo restored in
+	  HTML docs (bug #3802)
+
+2005-11-04 16:49  markus
+
+	* tools/build_html_index.sh: GRASS logo restored for HTML docs (bug
+	  #3802)
+
+2005-11-04 16:40  markus
+
+	* include/Make/Html.make, lib/gis/parser.c: GRASS logo restored for
+	  HTML docs (bug #3802)
+
+2005-11-04 16:39  markus
+
+	* display/d.ask/description.html: HTML fix
+
+2005-11-04 16:30  markus
+
+	* tools/build_html_index.sh, tools/grass.smlogo.gif: GRASS logo
+	  restored for HTML docs (bug #3802)
+
+2005-11-04 16:13  markus
+
+	* scripts/v.in.e00/v.in.e00: don't use -c flag for v.in.ogr
+
+2005-11-04 16:11  markus
+
+	* vector/v.in.ogr/main.c: better don't use -c flag
+
+2005-11-04 16:03  markus
+
+	* vector/v.to.db/description.html: updated HTML to new CSS code
+	  style
+
+2005-11-04 15:59  markus
+
+	* REQUIREMENTS.html, display/d.rast.edit/description.html,
+	  display/d.what.vect/description.html,
+	  display/drivers/PNG/description.html,
+	  display/drivers/XDRIVER/XDRIVER24/description.html,
+	  display/drivers/description.html,
+	  general/g.parser/description.html,
+	  general/g.setproj/description.html,
+	  imagery/i.class/description.html,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.2target/description.html,
+	  imagery/i.ortho.photo/photo.camera/description.html,
+	  imagery/i.ortho.photo/photo.init/description.html,
+	  imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/i.points/description.html,
+	  imagery/i.vpoints/description.html, lib/db/sqlp/description.html,
+	  lib/init/grass6.html, lib/init/helptext.html,
+	  lib/init/variables.html, raster/r.coin/description.html,
+	  raster/r.digit/description.html,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.region/description.html,
+	  raster/r.terraflow/description.html, raster/rasterintro.html,
+	  raster/simwe/r.sim.sediment/description.html,
+	  raster3d/base/r3.mask.html,
+	  raster3d/r3.showdspf/r3.showdspf_opengl_mods.html,
+	  scripts/pg.postgisdb/description.html,
+	  scripts/v.build.all/description.html,
+	  scripts/v.db.reconnect.all/description.html,
+	  vector/v.vol.rst/description.html, vector/vectorintro.html,
+	  visualization/nviz/html/bugs_todo.html,
+	  visualization/nviz/html/index.html,
+	  visualization/nviz/html/nviz_3dsetting.html,
+	  visualization/nviz/html/nviz_credit.html,
+	  visualization/nviz/html/nviz_desc.html,
+	  visualization/nviz/html/nviz_hints.html,
+	  visualization/nviz/html/nviz_image.html,
+	  visualization/nviz/html/nviz_panel_anim.html,
+	  visualization/nviz/html/nviz_panel_color.html,
+	  visualization/nviz/html/nviz_panel_cplane.html,
+	  visualization/nviz/html/nviz_panel_dsf.html,
+	  visualization/nviz/html/nviz_panel_dsf1.html,
+	  visualization/nviz/html/nviz_panel_dsf2.html,
+	  visualization/nviz/html/nviz_panel_dsf3.html,
+	  visualization/nviz/html/nviz_panel_kanim.html,
+	  visualization/nviz/html/nviz_panel_labels.html,
+	  visualization/nviz/html/nviz_panel_lights.html,
+	  visualization/nviz/html/nviz_panel_move.html,
+	  visualization/nviz/html/nviz_panel_pos.html,
+	  visualization/nviz/html/nviz_panel_scale.html,
+	  visualization/nviz/html/nviz_panel_sdiff.html,
+	  visualization/nviz/html/nviz_panel_sites.html,
+	  visualization/nviz/html/nviz_panel_surf.html,
+	  visualization/nviz/html/nviz_panel_vect.html,
+	  visualization/nviz/html/nviz_panel_what.html,
+	  visualization/nviz/html/nviz_quit.html,
+	  visualization/nviz/html/nviz_script.html,
+	  visualization/nviz/html/nviz_startup.html,
+	  visualization/nviz/html/nviz_state.html,
+	  visualization/nviz/html/nviz_toc.html,
+	  visualization/nviz/src/description.html: added CSS support
+
+2005-11-04 14:59  markus
+
+	* display/d.colors/description.html: CSS support added
+
+2005-11-04 14:52  markus
+
+	* tools/build_html_index.sh, tools/grassdocs.css: added CSS support
+
+2005-11-04 14:46  markus
+
+	* include/Make/Html.make, lib/gis/parser.c: added CSS support
+
+2005-11-04 13:39  markus
+
+	* display/d.paint.labels/Makefile: enforce link to get rid of error
+
+2005-11-04 13:39  hamish
+
+	* vector/v.out.ascii/description.html: add note about category
+	  numbers being needed
+
+2005-11-04 12:16  hamish
+
+	* display/d.info/Makefile, display/d.info/description.html,
+	  display/d.info/main.c: add -f flag to give frame dimensions (nice
+	  for figuring out meters/pixel).
+	  i18n.
+	  output to stdout.
+
+2005-11-04 10:01  markus
+
+	* vector/vectorintro.html: extended
+
+2005-11-04 09:48  markus
+
+	* lib/vector/vectorlib.dox: vector objects added
+
+2005-11-04 09:26  markus
+
+	* raster/rasterintro.html, vector/vectorintro.html: small additions
+
+2005-11-04 09:25  markus
+
+	* tools/build_html_index.sh: raster/vector intro added
+
+2005-11-04 09:21  markus
+
+	* vector/Makefile, vector/vectorintro.html: added initial vector
+	  intro page
+
+2005-11-04 09:15  markus
+
+	* raster/Makefile, raster/rasterintro.html: added initial raster
+	  intro page
+
+2005-11-04 08:35  markus
+
+	* include/Make/Dir.make, include/Make/Html.make,
+	  include/Make/Rules.make: separated out HTML rules into own file
+
+2005-11-04 02:14  hamish
+
+	* scripts/v.in.e00/v.in.e00: if a user gives all of the options
+	  listed on the option line, the
+	  parser accepts that as a valid answer, even with multiple=no.
+	  Added a test as it was failing silently in this case.
+
+2005-11-04 00:46  brad
+
+	* lib/bitmap/bitmap.c, lib/bitmap/sparse.c: - Updated/added
+	  documentation for public functions
+
+2005-11-04 00:03  brad
+
+	* lib/datetime/error.c, lib/datetime/format.c, lib/datetime/misc.c,
+	  lib/datetime/same.c, lib/datetime/scan.c, lib/datetime/sign.c,
+	  lib/datetime/tz1.c, lib/datetime/tz2.c, lib/datetime/values.c: -
+	  Updated/added documentation for public functions
+
+2005-11-04 00:00  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: Use -z and -n for string tests
+	  instead of == ""
+
+2005-11-03 21:57  markus
+
+	* raster/r.sun/description.html: url fixed (to latest?)
+
+2005-11-03 21:36  markus
+
+	* raster3d/r3.out.vtk/main.c: Soeren Gebbert: added new flag -o --
+	  the scale factor effects the origin; code layout prettified
+
+2005-11-03 21:34  markus
+
+	* raster/r.out.vtk/description.html, raster/r.out.vtk/main.c,
+	  raster/r.out.vtk/parameters.c, raster/r.out.vtk/parameters.h,
+	  raster/r.out.vtk/writeascii.c, raster/r.out.vtk/writeascii.h:
+	  Soeren Gebbert: documentation update; added new flag "-o" -- the
+	  scalefactor effects the origin; added new flag "-p" -- pointdata
+	  support if no elevation map is given; added new option --
+	  elevation value for 2D data
+
+2005-11-03 19:53  danielc
+
+	* display/d.vect/main.c: extended -x descriptin (final fix for
+	  RT#3332)
+
+2005-11-03 17:40  markus
+
+	* vector/Makefile: v.drape added
+
+2005-11-03 16:32  markus
+
+	* vector/v.to.db/description.html: example added
+
+2005-11-03 16:00  markus
+
+	* vector/v.distance/description.html: fix
+
+2005-11-03 15:51  markus
+
+	* vector/v.what.rast/main.c: message cosmetics; EXIT_SUCCESS
+
+2005-11-03 15:48  markus
+
+	* vector/v.what.rast/main.c: i18N
+
+2005-11-03 13:48  markus
+
+	* raster3d/r3.in.rast/description.html, raster3d/r3.in.rast/main.c:
+	  Soeren Gebbert: Bugfixing: wrong interpretion of the rastermap
+	  void pointer; code layout prettified with indent
+
+2005-11-03 13:44  markus
+
+	* raster3d/r3.to.rast/description.html, raster3d/r3.to.rast/main.c:
+	  better error handling (G_unopen_cell); code layout prettified
+	  with indent
+
+2005-11-03 13:42  markus
+
+	* scripts/g.mremove/g.mremove: added rast3d support
+
+2005-11-03 09:17  markus
+
+	* imagery/i.vpoints/Vectpoints.h, imagery/i.vpoints/plot1.c,
+	  imagery/i.vpoints/plot2.c, imagery/i.vpoints/use_plot1.c,
+	  imagery/i.vpoints/vectpoints.h: merged Vectpoints.h into
+	  vectpoints.h
+
+2005-11-03 08:59  radim
+
+	* vector/v.to.rast/do_lines.c: enabled last line segment
+
+2005-11-03 06:48  danielc
+
+	* raster/r.watershed/front/description.html: tidied up (re-inserted
+	  command name within empty <em>/<em>)
+
+2005-11-03 00:36  hamish
+
+	* scripts/v.in.e00/v.in.e00: better dependency tests (for cygwin?)
+
+2005-11-02 17:23  markus
+
+	* imagery/i.vpoints/analyze.c: fixed string length
+
+2005-11-02 10:10  markus
+
+	* locale/po/grasslibs_pt_br.po, locale/po/grassmods_pt_br.po: Paulo
+	  Marcondes: cont'ed. Mods updated to current CVS state
+
+2005-11-02 09:12  radim
+
+	* vector/v.drape/main.c: method option
+
+2005-11-02 08:47  radim
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po:
+	  landa.martin at gmail.com
+
+2005-11-01 03:12  hamish
+
+	* display/d.m/description.html, display/d.m/labels.tcl: rename
+	  d.paint.labels -> d.labels
+
+2005-11-01 00:01  hamish
+
+	* display/d.text/description.html, vector/v.label/description.html:
+	  d.paint.labels -> d.labels
+
+2005-10-31 23:54  hamish
+
+	* display/d.paint.labels/Makefile,
+	  display/d.paint.labels/description.html: rename module to
+	  d.labels. Make a symlink to old name for GRASS 6.x.
+
+2005-10-28 16:58  stephan
+
+	* locale/po/grassmods_de.po: + more i18N-translations (german)
+
+2005-10-28 10:27  stephan
+
+	* locale/po/grassmods_de.po: + more i18N-translations (german)
+
+2005-10-28 09:32  hamish
+
+	* scripts/d.slide.show/description.html: add link to xganim
+
+2005-10-28 09:28  hamish
+
+	* visualization/xganim/description.html: minor updates
+
+2005-10-27 23:20  hamish
+
+	* display/d.legend/description.html, display/d.legend/main.c: add
+	  debug message with at= settings from mouse placement,
+	  update help page links
+
+2005-10-27 03:46  hamish
+
+	* display/d.grid/plot.c: tweak the geogrid text placement a little
+
+2005-10-26 22:24  michael
+
+	* display/d.m/gridline.tcl, display/d.m/menu.tcl: updated grid
+	  panel and menu to include new options
+
+2005-10-26 14:00  paul
+
+	* lib/gis/datum.c: Extra check for validity of datum parameter
+	  string; stops segmentation
+	  fault in g.setproj (bug 3740)
+
+2005-10-26 12:55  bob
+
+	* display/d.grid/plot.c: Changed geogrid line edge and number
+	  placement
+
+2005-10-26 08:39  markus
+
+	* scripts/d.split/description.html: example/note added
+
+2005-10-26 06:48  markus
+
+	* scripts/r.fillnulls/description.html: new interpolation trick
+	  explained
+
+2005-10-26 01:13  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: make interpolation edges several
+	  data points thick
+
+2005-10-25 14:24  markus
+
+	* lib/imagery/group.c: fixed 30 char limit of file names in group
+
+2005-10-25 12:51  markus
+
+	* display/d.grid/description.html: typo
+
+2005-10-25 12:48  bob
+
+	* display/d.grid/description.html: Updated for new arguments
+
+2005-10-25 12:25  bob
+
+	* display/d.grid/local_proto.h, display/d.grid/plot.c: Added
+	  geogrid text labels
+
+2005-10-25 12:25  bob
+
+	* display/d.grid/main.c: Cleaned up flags and options
+
+2005-10-25 00:26  hamish
+
+	* raster/r.out.bin/main.c: use GNAME_MAX for map name array
+
+2005-10-24 19:33  michael
+
+	* display/d.m/d.m.tcl: Improved error trapping in GIS Manager and
+	  replacement of
+	  monitor control buttons with radiobuttons.
+
+2005-10-24 18:54  markus
+
+	* scripts/r.fillnulls/r.fillnulls: fixed for res<1
+
+2005-10-24 15:24  markus
+
+	* raster/r.profile/main.c: fix for LatLong sexagesimal data input,
+	  as suggested by Bob
+
+2005-10-24 07:58  hamish
+
+	* general/g.region/cmd/printwindow.c: more output cleanup
+
+2005-10-24 07:48  hamish
+
+	* general/g.region/cmd/printwindow.c: fix -e typo: nort -> north.
+	  i18n
+
+2005-10-23 05:17  hamish
+
+	* raster/r.out.bin/main.c: if output name is not given then mapname
+	  is used with .bin extension
+
+2005-10-22 15:35  markus
+
+	* include/Vect.h, lib/vector/Vlib/area.c: added function to
+	  calculate area perimeter
+
+2005-10-22 13:27  markus
+
+	* scripts/v.in.e00/v.in.e00: bugfix for RT bug #3758
+
+2005-10-22 13:06  markus
+
+	* swig, swig/perl, swig/perl/Grass.pm, swig/perl/MANIFEST,
+	  swig/perl/META.yml, swig/perl/Makefile.PL, swig/perl/README,
+	  swig/perl/R_slope_aspect, swig/perl/R_slope_aspect/Changes,
+	  swig/perl/R_slope_aspect/MANIFEST,
+	  swig/perl/R_slope_aspect/Makefile.PL,
+	  swig/perl/R_slope_aspect/README,
+	  swig/perl/R_slope_aspect/R_slope_aspect.xs,
+	  swig/perl/R_slope_aspect/lib,
+	  swig/perl/R_slope_aspect/lib/R_slope_aspect.pm,
+	  swig/perl/R_slope_aspect/ppport.h,
+	  swig/perl/R_slope_aspect/r_slope_aspect,
+	  swig/perl/R_slope_aspect/r_slope_aspect/Makefile.PL,
+	  swig/perl/R_slope_aspect/r_slope_aspect/local_proto.h,
+	  swig/perl/R_slope_aspect/r_slope_aspect/opennew.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.c,
+	  swig/perl/R_slope_aspect/r_slope_aspect/r_slope_aspect.h,
+	  swig/perl/R_slope_aspect/test.pl,
+	  swig/perl/R_slope_aspect/typemap, swig/perl/fallback,
+	  swig/perl/fallback/const-c.inc, swig/perl/fallback/const-xs.inc,
+	  swig/perl/gisdefs.h, swig/perl/grass.i, swig/perl/grass_wrap.c,
+	  swig/perl/t, swig/perl/t/R_slope_aspect.t, swig/perl/typemaps.i:
+	  Ari Jolma: <ari.jolma tkk.fi>: initial GRASS-SWIG-PERL interface
+
+2005-10-21 16:19  markus
+
+	* scripts/r.out.gdal/description.html: comments added
+
+2005-10-20 21:30  markus
+
+	* imagery/i.ortho.photo/README: cosmetics
+
+2005-10-20 18:33  michael
+
+	* display/d.m/display.gif, display/d.m/pan.gif,
+	  display/d.m/zoom.gif: Updated icons
+
+2005-10-20 18:33  michael
+
+	* display/d.m/gridline.tcl: Added support for -t flag
+
+2005-10-20 18:32  michael
+
+	* display/d.m/tree.tcl: Bug fix
+
+2005-10-20 15:18  markus
+
+	* vector/v.db.connect/description.html: polished examples
+
+2005-10-20 15:14  markus
+
+	* lib/vector/Vlib/area.c: bugfixes from Martin Landa/Radim
+
+2005-10-20 12:15  markus
+
+	* lib/db/sqlp/description.html: Cosmetics
+
+2005-10-20 11:29  markus
+
+	* vector/v.drape, vector/v.drape/Makefile,
+	  vector/v.drape/bilinear.c, vector/v.drape/cubic.c,
+	  vector/v.drape/description.html, vector/v.drape/main.c,
+	  vector/v.drape/methods.h, vector/v.drape/nearest.c,
+	  vector/v.drape/utils.c: Dylan Beaudette: added first version
+
+2005-10-20 09:25  markus
+
+	* db/base/db.execute.html: example added
+
+2005-10-20 07:55  markus
+
+	* general/manage/lister/Makefile: fixed MKDIR bug
+
+2005-10-19 22:31  hamish
+
+	* display/d.grid/Makefile: EXTRA_INC = $(PROJINC)
+
+2005-10-19 22:26  hamish
+
+	* display/d.grid/description.html: dead links, updates
+
+2005-10-19 22:13  michael
+
+	* display/d.m/raster.tcl: fixed minor bug
+
+2005-10-19 22:03  michael
+
+	* display/d.m/tree.tcl: Fixed overlap of icons in layer tree
+
+2005-10-19 18:17  michael
+
+	* display/d.m/copy.gif, display/d.m/cut.gif, display/d.m/d.m.tcl,
+	  display/d.m/group.gif, display/d.m/menu.tcl, display/d.m/new.gif,
+	  display/d.m/open.gif, display/d.m/print.gif,
+	  display/d.m/save.gif, display/d.m/tool1.tcl,
+	  display/d.m/tool2.tcl: Bug fixes (d.nviz and xganim button
+	  issues), menu updates, and
+	  minor cosmetic enhancements.
+
+2005-10-19 11:46  markus
+
+	* general/manage/Makefile: lister added
+
+2005-10-19 11:45  markus
+
+	* general/manage/cmd/list.c: debug output
+
+2005-10-19 11:43  markus
+
+	* general/manage/lister, general/manage/lister/Makefile,
+	  general/manage/lister/cell.c, general/manage/lister/vector.c:
+	  added missing lister software (vector may not be functional yet)
+
+2005-10-19 09:52  markus
+
+	* db/drivers/sqlite/README: added info from email
+
+2005-10-19 09:34  markus
+
+	* SUBMITTING: we only want unified diffs
+
+2005-10-19 08:59  markus
+
+	* db/base/db.connect.html: SQLite added; cosmetics
+
+2005-10-19 08:19  hamish
+
+	* display/d.grid/plot.c: one #include too far..
+
+2005-10-19 08:15  hamish
+
+	* display/d.grid/local_proto.h, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.grid/plotborder.c: add text
+	  labels on grid lines
+
+2005-10-18 22:08  markus
+
+	* scripts/v.in.gns/v.in.gns: fixed bugs in #3743
+
+2005-10-18 21:21  markus
+
+	* db/base/db.connect.html: html fixes
+
+2005-10-18 17:10  markus
+
+	* lib/gis/radii.c: doubt added
+
+2005-10-18 17:00  markus
+
+	* lib/vector/Vlib/field.c: OGR_FID added for Oracle connection
+
+2005-10-18 15:54  michael
+
+	* display/d.m/columns.gif: New icon for button to display attribute
+	  columns
+
+2005-10-18 15:35  markus
+
+	* lib/init/gis_set.tcl: better generate DB VAR file from scratch
+
+2005-10-18 15:26  markus
+
+	* lib/init/mke_mapset.c: better generate DB VAR file from scratch
+
+2005-10-18 14:11  markus
+
+	* db/drivers/postgres/create_table.c, db/drivers/postgres/fetch.c:
+	  error check for time zone presence in TIMESTAMP type added; type
+	  datetime -> timestamp
+
+2005-10-18 09:07  markus
+
+	* scripts/v.db.addcol/v.db.addcol: fixed description
+
+2005-10-18 09:06  markus
+
+	* scripts/v.db.addcol/v.db.addcol: fixed description
+
+2005-10-18 08:50  markus
+
+	* lib/init/gis_set.tcl, lib/init/mke_mapset.c: also create the dbf
+	  subdirectory for default DB
+
+2005-10-18 08:40  markus
+
+	* lib/init/mke_mapset.c: fixed missing DB default definition for
+	  new mapsets (when using test interface)
+
+2005-10-18 08:33  markus
+
+	* lib/init/gis_set.tcl: fixed missing DB default definition for new
+	  mapsets (when using GUI)
+
+2005-10-18 07:45  markus
+
+	* display/d.rhumbline/description.html: definition extended from
+	  Wikipedia
+
+2005-10-18 06:41  hamish
+
+	* AUTHORS: shocking abuse of a possessive pronoun
+
+2005-10-18 06:23  hamish
+
+	* vector/v.surf.rst/main.c: i18n, G_done_msg()
+
+2005-10-18 05:44  hamish
+
+	* display/d.barscale/main.c: i18n, make -l flag survive redraw
+
+2005-10-18 05:17  hamish
+
+	* display/d.rast.num/description.html: updates
+
+2005-10-18 04:58  hamish
+
+	* display/d.rast.arrow/description.html: add example, remove dead
+	  links
+
+2005-10-17 22:29  michael
+
+	* display/d.m/barscale.gif, display/d.m/chart.gif,
+	  display/d.m/cmd.gif, display/d.m/dig.gif,
+	  display/d.m/display.all.gif, display/d.m/display.region.gif,
+	  display/d.m/dtext.gif, display/d.m/erase.gif,
+	  display/d.m/fly.gif, display/d.m/frames.gif,
+	  display/d.m/fttext.gif, display/d.m/grid.gif,
+	  display/d.m/labels.gif, display/d.m/measure.gif,
+	  display/d.m/nviz.gif, display/d.m/pan.gif,
+	  display/d.m/position.gif, display/d.m/query.gif,
+	  display/d.m/raster.gif, display/d.m/rgbhis.gif,
+	  display/d.m/thematic.gif, display/d.m/vector.gif,
+	  display/d.m/xganim.gif, display/d.m/zoom.back.gif,
+	  display/d.m/zoom.gif: Updated icons for GIS Manager
+
+2005-10-17 22:26  michael
+
+	* display/d.m/thematic.tcl, display/d.m/tool1.tcl,
+	  display/d.m/vector.tcl: Update to add command output window for
+	  all panels and button
+	  to display attribute columns for vector, chart, and thematic
+	  panels.
+
+2005-10-17 22:15  michael
+
+	* display/d.m/legend.gif: Updated icons for GIS Manager
+
+2005-10-17 22:09  michael
+
+	* display/d.m/barscale.tcl, display/d.m/chart.tcl,
+	  display/d.m/cmd.tcl, display/d.m/d.m.tcl, display/d.m/dtext.tcl,
+	  display/d.m/frames.tcl, display/d.m/fttext.tcl,
+	  display/d.m/gridline.tcl, display/d.m/labels.tcl,
+	  display/d.m/legend.tcl, display/d.m/raster.tcl,
+	  display/d.m/rgbhis.tcl: Update to add command output window for
+	  all panels and button
+	  to display attribute columns for vector, chart, and thematic
+	  panels.
+
+2005-10-17 17:34  stephan
+
+	* locale/po/grassmods_de.po: + more i18n-translations de_DE
+
+2005-10-17 09:54  radim
+
+	* vector/v.in.db/main.c: correct buffer space
+
+2005-10-17 08:21  hamish
+
+	* vector/v.in.ascii/in.c: minor bugfix: report correct number of
+	  columns in error msg
+
+2005-10-17 07:10  hamish
+
+	* raster/r.out.bin/main.c: quasi-bug fix: G_parser() is letting NaN
+	  through as a valid integer value,
+	  add test.
+
+2005-10-17 06:29  hamish
+
+	* raster/r.out.bin/main.c: bugfix: BIL .hdr file had wrong print
+	  type
+	  cleanup: unused vars, option descr, error msgs; endian test and
+	  done msg -> gis lib fns
+
+2005-10-17 04:25  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: fix for unavailable
+	  cyan-yellow yellow-cyan gradients by Jachym Cepicky
+
+2005-10-17 02:54  hamish
+
+	* raster/r.out.bin/main.c: Ran indent as it was a mess.
+	  $ indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb
+	  -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+
+2005-10-16 06:27  danielc
+
+	* AUTHORS: shamelessly added myself to spanish translation team
+
+2005-10-16 06:24  danielc
+
+	* locale/po/grassmods_es.po: No more f's; 669u to go...
+
+2005-10-16 05:57  danielc
+
+	* locale/po/grasslibs_es.po: 422t 8f
+
+2005-10-16 05:39  danielc
+
+	* display/d.rast.arrow/description.html: reflect recent updates to
+	  the command: fp slopes, magnitude maps, skip
+
+2005-10-16 04:40  danielc
+
+	* vector/v.db.connect/description.html: fix RT#3342
+
+2005-10-15 19:39  danielc
+
+	* locale/po/grassmods_fr.po: gradient -> pente la ou il faut
+
+2005-10-15 04:45  danielc
+
+	* locale/po/grassmods_fr.po: 720t, 5f, 156u
+
+2005-10-14 17:59  danielc
+
+	* lib/db/sqlp/description.html: Oops: "LHS" -> "RHS"
+
+2005-10-14 17:56  danielc
+
+	* db/drivers/postgres/create_table.c: - added missing 'break' for
+	  varchar; fixes RT#3744
+
+2005-10-14 15:06  markus
+
+	* scripts/v.db.addtable/v.db.addtable: error check for existing
+	  tables added
+
+2005-10-13 16:17  markus
+
+	* rpm/fedora/grass_FC4.spec: functional now also with new
+	  gdal-ogr-grass plugin
+
+2005-10-13 16:00  markus
+
+	* vector/v.split/description.html: added
+
+2005-10-13 15:59  markus
+
+	* vector/v.build.polylines/description.html: v.split url added
+
+2005-10-13 15:08  markus
+
+	* scripts/v.db.addtable/v.db.addtable: fixed processing order
+
+2005-10-12 16:23  markus
+
+	* rpm/fedora/grass_FC4.spec: cosmetics
+
+2005-10-12 16:18  markus
+
+	* rpm/fedora/grass_FC4.spec: added Fedora Core 4 RPM spec file
+
+2005-10-12 16:14  markus
+
+	* REQUIREMENTS.html: some updates
+
+2005-10-12 05:49  hamish
+
+	* display/d.rast.arrow/arrow.c: add skip and magnitude map options
+
+2005-10-11 15:47  michael
+
+	* display/d.m/thematic.tcl: cosmetic change for consistency in
+	  layer tree
+
+2005-10-11 15:45  michael
+
+	* display/d.m/add.cmd.gif, display/d.m/add.duplicate.gif,
+	  display/d.m/add.group.gif, display/d.m/add.labels.gif,
+	  display/d.m/add.raster.gif, display/d.m/add.vector.gif,
+	  display/d.m/scalebar.gif: cleaning up old, and unused files
+
+2005-10-11 15:42  michael
+
+	* display/d.m/menu.tcl: update to reflect updated GIS Manager help
+	  file
+
+2005-10-11 15:40  michael
+
+	* display/d.m/description.html: Finally got around to updating the
+	  docs for the GIS Manager.
+
+2005-10-11 15:39  michael
+
+	* display/d.m/barscale.tcl: bug fix for mouse placement description
+
+2005-10-10 20:34  markus
+
+	* lib/init/init.sh: fixed MASK notification bug (bash)
+
+2005-10-10 19:55  markus
+
+	* raster/r.profile/local_proto.h, raster/r.profile/main.c: fixed
+	  parameter definitions
+
+2005-10-10 19:52  markus
+
+	* raster/r.out.vtk/main.c, raster/r.out.vtk/parameters.h: fixed
+	  parameter definition
+
+2005-10-10 16:58  markus
+
+	* scripts/v.db.addtable/description.html,
+	  scripts/v.db.addtable/v.db.addtable: fix to generate cats when
+	  adding new table
+
+2005-10-10 16:02  michael
+
+	* display/d.m/barscale.tcl, display/d.m/chart.tcl,
+	  display/d.m/dtext.tcl, display/d.m/frames.tcl,
+	  display/d.m/fttext.tcl, display/d.m/labels.tcl,
+	  display/d.m/legend.tcl, display/d.m/raster.tcl: Small bug fixes
+	  and cosmetic improvements
+
+2005-10-10 09:40  stephan
+
+	* vector/v.in.ogr/description.html: + added example for Oracle
+	  Spatial Import
+
+2005-10-10 02:35  hamish
+
+	* display/d.rast.arrow/arrow.c, display/d.rast.num/number.c:
+	  support for turning off grids
+
+2005-10-10 00:53  hamish
+
+	* display/d.rast.num/number.c: full FP support for -f flag (thanks
+	  Glynn)
+
+2005-10-09 20:18  markus
+
+	* display/d.m/menu.tcl: fixed wrong module name
+
+2005-10-09 13:30  stephan
+
+	* locale/po/grassmods_de.po: + some more german translations of
+	  po-file.
+
+2005-10-08 00:18  michael
+
+	* display/d.m/menu.tcl: fix menu commands for r3.in.rast and
+	  r3.out.rast
+
+2005-10-07 06:38  hamish
+
+	* display/d.rast.num/number.c: try at a bugfix from haywire -f
+	  flag.
+
+2005-10-07 00:02  hamish
+
+	* display/d.rast.arrow/arrow.c: whitespace,
+	  add support for compass aspect maps,
+	  draw arrows in 360 degrees, not D8, when we can
+
+2005-10-06 23:41  hamish
+
+	* display/d.rast.num/number.c: i18n, whitespace, error messages,
+	  add to display history
+
+2005-10-06 04:29  hamish
+
+	* display/d.rast.arrow/arrow.c: i18n, error messages, add to
+	  display history
+
+2005-10-05 23:13  bob
+
+	* lib/ogsf/GS2.c, lib/ogsf/local_proto.h,
+	  visualization/nviz/scripts/flythrough.tcl,
+	  visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/position_procs.tcl,
+	  visualization/nviz/src/change_view.c,
+	  visualization/nviz/src/init_commands.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/position.c: Added routine to reset center
+	  focus
+
+2005-10-05 23:12  bob
+
+	* visualization/nviz/scripts/panel_animation.tcl,
+	  visualization/nviz/scripts/panel_kanimator.tcl: Added option to
+	  update eye widget
+
+2005-10-05 05:38  hamish
+
+	* raster/r.terraflow/IOStream/include/replacementHeap.h,
+	  raster/r.terraflow/IOStream/include/replacementHeapBlock.h,
+	  raster/r.terraflow/IOStream/lib/src/Makefile: gcc 4.0 and large
+	  file support fixes from Laura
+
+2005-10-04 20:36  markus
+
+	* vector/v.in.ascii/description.html, vector/v.in.ascii/in.c,
+	  vector/v.in.ascii/local_proto.h, vector/v.in.ascii/points.c: DMS
+	  LatLong import functional now
+
+2005-10-04 07:41  hamish
+
+	* ps/ps.map/main.c: increase size of text buffer to match
+	  do_labels.c
+
+2005-10-03 19:03  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes: cont'ed
+
+2005-10-02 03:55  helena
+
+	* raster/simwe/r.sim.sediment/description.html: added missing man
+	  page
+
+2005-10-02 02:50  helena
+
+	* raster3d/r3.in.rast/description.html: adding r3.in.rast
+	  description
+
+2005-10-02 02:49  helena
+
+	* raster3d/r3.in.rast/Makefile: adding r3.in.rast make
+
+2005-10-02 02:48  helena
+
+	* raster3d/r3.in.rast, raster3d/r3.in.rast/main.c: adding
+	  r3.in.rast main
+
+2005-09-30 12:41  markus
+
+	* locale/Makefile: comment added
+
+2005-09-30 12:21  markus
+
+	* scripts/v.rast.stats/v.rast.stats: removed unused TMP
+
+2005-09-30 10:01  markus
+
+	* AUTHORS: translator added
+
+2005-09-30 10:00  markus
+
+	* locale/po/grassmods_fr.po: Laurent COURTY <laurent_courty yahoo
+	  fr>: continued
+
+2005-09-30 09:10  markus
+
+	* raster/Makefile: fixed spaces to TAB
+
+2005-09-29 17:42  stephan
+
+	* locale/po/grassmods_de.po: + more german i18n-translations
+
+2005-09-29 14:18  helena
+
+	* raster/Makefile: simwe added
+
+2005-09-29 14:12  helena
+
+	* raster/simwe/r.sim.sediment/Makefile: command name fixed
+
+2005-09-29 05:01  hamish
+
+	* raster/r.profile/input.c, raster/r.profile/main.c: more robust
+	  handling of bad stdin input. Not perfect but should at least
+	  avoid segfaults.
+
+2005-09-28 13:26  hamish
+
+	* display/d.m/barscale.tcl, display/d.m/chart.tcl,
+	  display/d.m/d.m.tcl, display/d.m/dtext.tcl,
+	  display/d.m/frames.tcl, display/d.m/fttext.tcl,
+	  display/d.m/gridline.tcl, display/d.m/labels.tcl,
+	  display/d.m/legend.tcl, display/d.m/raster.tcl,
+	  display/d.m/rgbhis.tcl, display/d.m/thematic.tcl,
+	  display/d.m/tool1.tcl, display/d.m/tool2.tcl,
+	  display/d.m/vector.tcl: centralize background color setting
+
+2005-09-28 13:08  hamish
+
+	* display/d.m/intro.gif: try and fix broken GIF:
+	  get good file locally
+	  cvs admin -kb filename
+	  cvs commit filename
+
+2005-09-28 09:05  hamish
+
+	* raster/r.profile/input.c: allow comma separated data from stdin.
+	  eg:
+	  e1,n1
+	  e2,n2
+	  ...
+
+2005-09-28 07:23  hamish
+
+	* raster/r.profile/main.c: add missing column title
+
+2005-09-27 07:21  radim
+
+	* vector/v.in.ogr/main.c: release support
+
+2005-09-27 02:23  helena
+
+	* raster/simwe/r.sim.sediment/Gmakefile: update for grass6
+
+2005-09-27 02:22  helena
+
+	* raster/simwe/r.sim.sediment/waterglobs.h: time series fix
+
+2005-09-27 02:21  helena
+
+	* raster/simwe/r.sim.sediment/Makefile: udate for grass6
+
+2005-09-26 18:26  helena
+
+	* raster/simwe/r.sim.water/Gmakefile,
+	  raster/simwe/r.sim.water/Makefile: update for grass6
+
+2005-09-26 18:24  helena
+
+	* raster/simwe/r.sim.water/waterglobs.h: timeseries fix
+
+2005-09-26 18:23  helena
+
+	* raster/simwe/r.sim.water/main.c: time series fix
+
+2005-09-26 18:15  helena
+
+	* raster/simwe/Gmakefile, raster/simwe/simlib/Gmakefile: update for
+	  grass6
+
+2005-09-26 18:15  helena
+
+	* raster/simwe/Makefile: makefile updated for grass6
+
+2005-09-26 18:14  helena
+
+	* raster/simwe/simlib/waterglobs.h: timeseries fix
+
+2005-09-26 18:08  helena
+
+	* raster/simwe/simlib/output.c: time series fix
+
+2005-09-26 18:04  helena
+
+	* raster/simwe/simlib/Makefile: makefile updated for grass6
+
+2005-09-26 17:59  helena
+
+	* raster/simwe/simlib/input.c: fixed opening raster files and put
+	  back the correct time step
+
+2005-09-26 17:55  helena
+
+	* raster/simwe/simlib/hydro.c: time series bugfix
+
+2005-09-23 04:23  hamish
+
+	* lib/init/variables.html: update error & warning messages to mail
+	  & log files
+
+2005-09-22 16:03  radim
+
+	* vector/v.to.rast3/main.c: debug 3
+
+2005-09-21 18:14  bob
+
+	* lib/ogsf/GK2.c, lib/ogsf/gk.c, lib/ogsf/kftypes.h,
+	  lib/ogsf/local_proto.h,
+	  visualization/nviz/scripts/panel_kanimator.tcl,
+	  visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/init_commands.c,
+	  visualization/nviz/src/interface.h: Added label field to
+	  keyframes
+
+2005-09-21 07:35  florian
+
+	* display/d.m/d.m.tcl, display/d.m/rgbhis.tcl: added
+	  DmRgbhis::query; klick on the "query" button will now query all 3
+	  maps if rgbhis item is selected
+
+2005-09-20 06:51  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: awk test was in there twice
+
+2005-09-20 01:29  hamish
+
+	* display/d.text/description.html, display/d.text/main.c: add dot
+	  command for rotation angle
+
+2005-09-19 16:51  moritz
+
+	* scripts/d.vect.thematic/d.vect.thematic: corrected color
+	  calculations so that the user-given start and end colors are
+	  actually used
+
+2005-09-19 16:20  radim
+
+	* db/drivers/sqlite/Makefile: +SQLITELIBPATH
+
+2005-09-19 15:30  moritz
+
+	* scripts/d.correlate/d.correlate, scripts/d.out.png/d.out.png,
+	  scripts/d.resize/d.resize,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/i.oif/i.oifcalc,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.plane/r.plane, scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.univar.sh/r.univar.sh, scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.addtable/v.db.addtable,
+	  scripts/v.db.droptable/v.db.droptable,
+	  scripts/v.db.update/v.db.update, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.garmin/v.in.garmin, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.mapgen/v.in.mapgen,
+	  scripts/v.rast.stats/v.rast.stats: unset LC_ALL before setting
+	  LC_NUMERIC, otherwise LC_NUMERIC setting will not be taken into
+	  account
+
+2005-09-19 12:08  moritz
+
+	* display/d.m/thematic.tcl: added the psmap file option
+
+2005-09-19 11:34  moritz
+
+	* scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/d.vect.thematic/description.html: added an option for
+	  ps.map instruction file creation
+
+2005-09-19 07:40  hamish
+
+	* display/d.text/description.html: more fixes
+
+2005-09-19 07:20  hamish
+
+	* display/d.text/description.html,
+	  display/d.title/description.html: see also's and html bugs
+
+2005-09-19 03:24  hamish
+
+	* display/drivers/lib/Text3.c: bugfix: rotation wasn't getting
+	  converted into radians before plotting
+
+2005-09-19 03:12  hamish
+
+	* display/d.text/main.c: add rotation option.
+	  i18n
+
+2005-09-19 02:49  hamish
+
+	* display/d.text/locals.hh: unused file
+
+2005-09-17 12:56  stephan
+
+	* locale/po/grassmods_de.po: + more german translations
+
+2005-09-16 20:53  brad
+
+	* vector/v.to.rast/description.html: - Update description.html to
+	  add options.
+
+2005-09-16 16:12  michael
+
+	* display/d.m/script/print.sh: Fixed bug (removed non-existent flag
+	  for d.out.file)
+
+2005-09-16 16:02  michael
+
+	* scripts/Makefile: updated to include d.out.file
+
+2005-09-16 14:58  bob
+
+	* raster/r.profile/main.c, raster/r.profile/read_rast.c: Updated
+	  RGB output
+
+2005-09-16 14:58  bob
+
+	* raster/r.profile/description.html: Updated description
+
+2005-09-16 14:09  cho
+
+	* lib/db/README: fixed typo
+
+2005-09-16 12:25  bob
+
+	* raster/r.profile/input.c, raster/r.profile/local_proto.h,
+	  raster/r.profile/main.c, raster/r.profile/read_rast.c: Added
+	  stdin support and RGB output
+
+2005-09-16 11:58  radim
+
+	* db/drivers/sqlite/globals.h, db/drivers/sqlite/select.c: -
+
+2005-09-16 09:14  radim
+
+	* db/drivers/postgres/describe.c: TEXT type
+
+2005-09-16 08:24  radim
+
+	* configure, configure.in, db/drivers/Makefile, db/drivers/sqlite,
+	  db/drivers/sqlite/Makefile, db/drivers/sqlite/create_table.c,
+	  db/drivers/sqlite/cursor.c, db/drivers/sqlite/db.c,
+	  db/drivers/sqlite/dbdriver.h, db/drivers/sqlite/describe.c,
+	  db/drivers/sqlite/driver.c, db/drivers/sqlite/error.c,
+	  db/drivers/sqlite/execute.c, db/drivers/sqlite/fetch.c,
+	  db/drivers/sqlite/globals.h, db/drivers/sqlite/index.c,
+	  db/drivers/sqlite/listtab.c, db/drivers/sqlite/main.c,
+	  db/drivers/sqlite/proto.h, db/drivers/sqlite/select.c,
+	  include/Make/Platform.make.in, include/config.h.in: sqlite
+
+2005-09-16 08:19  radim
+
+	* db/drivers/postgres/create_table.c, include/dbmi.h,
+	  lib/db/dbmi_base/sqltype.c, lib/db/dbmi_base/table.c: TEXT type
+
+2005-09-16 08:18  radim
+
+	* lib/db/dbmi_client/copy_tab.c: open cursor twice for SQLite
+
+2005-09-16 06:45  cho
+
+	* scripts/g.mremove/g.mremove: description consistency
+
+2005-09-16 03:04  hamish
+
+	* vector/v.label/description.html: d.paint.labels now does rotation
+
+2005-09-16 03:01  hamish
+
+	* display/d.paint.labels/do_labels.c,
+	  display/d.paint.labels/local_proto.h,
+	  display/d.paint.labels/main.c: respect font rotation if given
+
+2005-09-16 01:02  michael
+
+	* scripts/d.out.file, scripts/d.out.file/Makefile,
+	  scripts/d.out.file/d.out.file,
+	  scripts/d.out.file/description.html: Uses PNG driver and gdal to
+	  save display monitor output to
+	  various graphic file formats
+
+2005-09-16 00:41  michael
+
+	* display/d.m/Makefile, display/d.m/barscale.tcl,
+	  display/d.m/chart.tcl, display/d.m/d.m.tcl,
+	  display/d.m/dtext.tcl, display/d.m/frames.tcl,
+	  display/d.m/gridline.tcl, display/d.m/labels.tcl,
+	  display/d.m/legend.tcl, display/d.m/measure.gif,
+	  display/d.m/menu.tcl, display/d.m/raster.tcl,
+	  display/d.m/rgbhis.tcl, display/d.m/thematic.tcl,
+	  display/d.m/tool1.tcl, display/d.m/tool2.tcl,
+	  display/d.m/tree.tcl, display/d.m/vector.tcl: New panels and
+	  related files for updated GIS Manager
+
+2005-09-16 00:40  michael
+
+	* display/d.m/add.raster.gif, display/d.m/barscale.gif,
+	  display/d.m/chart.gif, display/d.m/dig.gif,
+	  display/d.m/display.gif, display/d.m/dtext.gif,
+	  display/d.m/fly.gif, display/d.m/frames.gif,
+	  display/d.m/fttext.gif, display/d.m/grass.gif,
+	  display/d.m/grid.gif, display/d.m/group.gif,
+	  display/d.m/intro.gif, display/d.m/labels.gif,
+	  display/d.m/legend.gif, display/d.m/nviz.gif,
+	  display/d.m/position.gif, display/d.m/query.gif,
+	  display/d.m/raster.gif, display/d.m/rgbhis.gif,
+	  display/d.m/thematic.gif, display/d.m/vector.gif,
+	  display/d.m/xganim.gif, display/d.m/zoom.back.gif,
+	  display/d.m/zoom.gif: New GIS Manager icons
+
+2005-09-16 00:34  hamish
+
+	* vector/v.label/main.c: better automatic setting of space option
+	  and allow override
+
+2005-09-16 00:11  michael
+
+	* display/d.m/fttext.tcl: *** empty log message ***
+
+2005-09-15 10:16  hamish
+
+	* vector/v.label/main.c: add warning if output is going to look
+	  like crap
+
+2005-09-15 09:51  hamish
+
+	* vector/v.label/Makefile, vector/v.label/description.html,
+	  vector/v.label/main.c: add flag to (not) curl letters along line,
+	  automatic space setting if fontsize is used.
+
+2005-09-15 08:52  radim
+
+	* vector/v.to.rast3/main.c: fixed shifed by half resolution
+
+2005-09-15 08:22  radim
+
+	* vector/v.to.db/report.c, vector/v.to.db/update.c: it can be
+	  correct if nothing was found for sides, e.g. cat assigned to
+	  different type
+
+2005-09-15 08:07  radim
+
+	* vector/v.to.db/main.c: check db connection only without -p
+
+2005-09-14 23:54  hamish
+
+	* vector/v.label/main.c: better -a flag description
+
+2005-09-13 18:18  michael
+
+	* display/d.m/script/print.sh: lpr printing script for GIS Manager
+
+2005-09-13 12:36  radim
+
+	* vector/Makefile: v.to.rast3
+
+2005-09-13 12:36  radim
+
+	* vector/v.to.rast3, vector/v.to.rast3/Makefile,
+	  vector/v.to.rast3/main.c: convert 3d vector points to 3d raster
+
+2005-09-13 11:23  hamish
+
+	* ps/ps.map/description.html: add RGB support to more plotting
+	  commands
+
+2005-09-13 10:54  hamish
+
+	* ps/ps.map/do_plt.c, ps/ps.map/r_plt.c, ps/ps.map/r_wind.c: add
+	  RGB support to region, rectangle, and line instructions
+
+2005-09-13 10:43  hamish
+
+	* ps/ps.map/r_wind.c: bugfix: ps.map's region command was broken
+	  due to incorrect
+	  G__get_window() return test.
+
+2005-09-13 09:34  hamish
+
+	* ps/ps.map/do_plt.c, ps/ps.map/r_plt.c: allow 'point' command to
+	  take RGB triplets for color and fcolor.
+
+2005-09-13 08:21  markus
+
+	* raster/r.sun/description.html: explain hyphen in the brackets
+
+2005-09-13 04:56  hamish
+
+	* scripts/d.split/d.split: make frame split a bit more even. (bug
+	  #3628)
+
+2005-09-12 16:00  radim
+
+	* vector/v.surf.rst/main.c: zcolumn default removed
+
+2005-09-12 12:46  markus
+
+	* raster3d/r3.out.vtk/description.html: crosslink added
+
+2005-09-09 15:54  moritz
+
+	* scripts/v.db.addcol/description.html,
+	  scripts/v.db.addcol/v.db.addcol: postgresql backend soes not
+	  support double, added reference to real
+
+2005-09-08 02:26  hamish
+
+	* ps/ps.map/ps_vpoints.c: fix PostScript error if size was zero
+
+2005-09-08 02:18  brad
+
+	* raster/r.thin/io.c: - Added parenthesis around (off_t) row for
+	  lseek.
+
+2005-09-08 01:58  brad
+
+	* raster/r.thin/io.c: - Made local functions static in io.c.
+	  - ?\024
+
+2005-09-07 17:32  moritz
+
+	* scripts/d.vect.thematic/d.vect.thematic: added a where option
+
+2005-09-07 17:25  moritz
+
+	* scripts/v.univar.sh/v.univar.sh: added a where option
+
+2005-09-07 17:23  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: Ooops: Merged back
+	  previous changes
+
+2005-09-07 06:16  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/ps_vpoints.c,
+	  ps/ps.map/r_vpoints.c, ps/ps.map/vector.h: Add dynamic sizing
+	  option for point symbols and EPS files.
+	  Size is taken from given attribute column and scaling factor.
+	  Code adapted from d.vect.chart and v.to.rast modules.
+
+2005-09-06 06:28  hamish
+
+	* ps/ps.map/do_plt.c, ps/ps.map/local_proto.h,
+	  ps/ps.map/ps_vpoints.c, ps/ps.map/symbol.c: remove unused size
+	  variable from fn def'n
+
+2005-09-06 05:38  hamish
+
+	* ps/ps.map/description.html: remove dupes
+
+2005-09-05 17:27  danielc
+
+	* scripts/d.vect.thematic/d.vect.thematic: Inverted drawing order
+	  for graudated points: now it's from bigger to smaller.
+	  
+	  Tidied up some code.
+
+2005-09-05 08:58  moritz
+
+	* lib/db/sqlp/description.html: added examples of null and
+	  expression usage
+
+2005-09-05 03:27  danielc
+
+	* lib/db/sqlp/test/test: A couple o' cases for expressions in
+	  update and where
+
+2005-09-02 14:19  paul
+
+	* lib/proj/get_proj.c: Fix bug introduced by last change
+	  (over-zealous conversions of strncmp
+	  to strcmp)
+
+2005-09-02 07:44  markus
+
+	* db/base/db.connect.html: port example added
+
+2005-09-01 22:38  markus
+
+	* locale/po/grasslibs_it.po: extended by Luciano
+
+2005-09-01 15:48  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes: cont'ed
+
+2005-09-01 09:51  hamish
+
+	* ps/ps.map/description.html: add range control for floating point
+	  raster legends.
+	  (so you can go beyond the map's range, e.g. as part of a time
+	  series)
+	  [request by Michael Gonsior]
+
+2005-09-01 09:37  hamish
+
+	* ps/ps.map/colortable.h, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/r_colortable.c: add range control for floating point
+	  raster legends.
+	  (so you can go beyond the map's range, e.g. as part of a time
+	  series)
+
+2005-09-01 09:18  markus
+
+	* Makefile: gmathlib doxygenized
+
+2005-09-01 09:13  markus
+
+	* lib/gmath/Makefile, lib/gmath/gmathlib.dox, lib/gmath/la.c:
+	  doxygenized
+
+2005-09-01 08:48  hamish
+
+	* display/d.m/raster.tcl: bugfix from Michael Barton
+
+2005-09-01 07:58  markus
+
+	* scripts/db.test/description.html: URLs added
+
+2005-09-01 04:13  hamish
+
+	* lib/symbol/symbol/basic/star: update to 5-point star. old 4-point
+	  star is now extra/4pt_star
+
+2005-09-01 04:10  hamish
+
+	* lib/symbol/symbol/basic/airport, lib/symbol/symbol/basic/compass,
+	  lib/symbol/symbol/basic/target, lib/symbol/symbol/extra/4pt_star,
+	  lib/symbol/symbol/extra/airport, lib/symbol/symbol/extra/compass,
+	  lib/symbol/symbol/extra/target: move non-basic symbols to extra/
+
+2005-09-01 03:35  hamish
+
+	* lib/symbol/symbol/extra/half-circle: add new symbol (combine with
+	  full circle for A/B combos)
+
+2005-09-01 00:32  danielc
+
+	* vector/v.in.ascii/description.html: Added tip on using cut to
+	  select columns prior to importing.
+
+2005-08-31 22:32  danielc
+
+	* lib/db/sqlp/description.html: Clarify uses of insert values and
+	  rules for expression and condition handling according to new
+	  capabilities.
+
+2005-08-31 19:41  markus
+
+	* vector/v.db.connect/description.html: examples simplified
+
+2005-08-31 19:22  markus
+
+	* visualization/nviz/src/Makefile,
+	  visualization/nviz/src/description.html: added simple description
+
+2005-08-31 15:23  markus
+
+	* scripts/v.rast.stats/v.rast.stats: catch also case of table
+	  absence
+
+2005-08-31 14:21  moritz
+
+	* scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/v.univar.sh/v.univar.sh: unset LC_ALL in order to take
+	  into account LC_NUMERIC setting
+
+2005-08-31 14:05  markus
+
+	* lib/segment/segmentlib.dox: fixed name for crosslinking
+
+2005-08-31 12:03  markus
+
+	* lib/vector/Makefile, lib/vector/vector_arch.dox,
+	  lib/vector/vectorlib.dox: renamed doxygen file for consistency
+
+2005-08-31 11:55  markus
+
+	* Doxyfile, Makefile: retired top level doxygen file
+
+2005-08-31 11:53  markus
+
+	* grassrefman.dox: no longer needed; maintained in lib/index.dox
+
+2005-08-31 11:48  moritz
+
+	* ps/ps.map/description.html: added information on default value
+	  for ref option in text element
+
+2005-08-31 11:43  markus
+
+	* Makefile: libsegment doxygenized
+
+2005-08-31 11:39  markus
+
+	* lib/segment/Makefile, lib/segment/format.c,
+	  lib/segment/segmentlib.dox: doxygenized
+
+2005-08-31 11:32  markus
+
+	* lib/g3d/g3dlib.dox: cosmetics
+
+2005-08-31 09:53  moritz
+
+	* debian/control: parentheses around dependency options make
+	  dpkg-buildpackage ignore this dependency
+
+2005-08-31 09:43  markus
+
+	* debian/control: conditionalized libreadline version to avoid
+	  conflicts with R
+
+2005-08-31 09:10  markus
+
+	* raster/Makefile: r.out.vtk added
+
+2005-08-31 09:10  markus
+
+	* raster/r.out.vtk, raster/r.out.vtk/Makefile,
+	  raster/r.out.vtk/description.html, raster/r.out.vtk/globaldefs.h,
+	  raster/r.out.vtk/main.c, raster/r.out.vtk/parameters.c,
+	  raster/r.out.vtk/parameters.h, raster/r.out.vtk/writeascii.c,
+	  raster/r.out.vtk/writeascii.h: Soeren Gebbert <soerengebbert gmx
+	  de>: new module to export 2D maps to VTK
+
+2005-08-31 09:08  markus
+
+	* raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/main.c: added file manager support for output
+	  files
+
+2005-08-31 08:22  markus
+
+	* raster3d/Makefile: r3.to.rast added
+
+2005-08-31 08:21  markus
+
+	* raster3d/r3.to.rast, raster3d/r3.to.rast/Makefile,
+	  raster3d/r3.to.rast/description.html, raster3d/r3.to.rast/main.c:
+	  Soeren Gebbert <soerengebbert gmx de>: new module to horizontally
+	  slice a volume into 2D raster maps
+
+2005-08-31 07:52  markus
+
+	* raster3d/r3.out.vtk/description.html, raster3d/r3.out.vtk/main.c:
+	  Soeren Gebbert <soerengebbert gmx de>: cleaned up the code for
+	  better readability; Added the option -p for pointdata support
+
+2005-08-30 19:40  danielc
+
+	* lib/db/sqlp/description.html: Reflect some of the recent changes:
+	  expressions, updates using expressions, NULL handling
+
+2005-08-30 19:30  danielc
+
+	* scripts/v.univar.sh/v.univar.sh: Ensure min/max are correct in
+	  the presence of NULLs
+
+2005-08-30 18:57  bob
+
+	* display/d.grid/plot.c: Updated geogrid drawing
+
+2005-08-30 18:27  bob
+
+	* display/d.grid/Makefile, display/d.grid/description.html,
+	  display/d.grid/local_proto.h, display/d.grid/main.c,
+	  display/d.grid/plot.c: Added geographic grid support
+
+2005-08-30 14:57  markus
+
+	* scripts/r.regression.line/description.html,
+	  scripts/r.regression.line/r.regression.line: made functional upon
+	  hint from Bernhard Reimar Hoefle
+
+2005-08-30 13:22  moritz
+
+	* scripts/d.vect.thematic/d.vect.thematic: added black lines around
+	  the legend boxes for better looks
+
+2005-08-30 09:58  markus
+
+	* raster/r.flow/description.html: link added
+
+2005-08-30 09:41  markus
+
+	* vector/v.to.rast/description.html, vector/v.to.rast/support.c:
+	  don't limit FP color map (bug #3587); description extended
+
+2005-08-30 09:20  markus
+
+	* lib/vector/Makefile, lib/vector/vector_arch.dox: doxygen fixes
+
+2005-08-30 06:55  markus
+
+	* lib/rst/interp_float/vinput2d.c: print column name in error
+	  message
+
+2005-08-29 13:38  markus
+
+	* vector/v.to.rast/support.c: try to write more reasonable raster
+	  cat file (to not crash r.cats etc)
+
+2005-08-29 13:31  markus
+
+	* raster/r.cats/main.c: some updates to more modern GRASS
+	  programming
+
+2005-08-29 13:20  markus
+
+	* raster/r.report/parse.c: fixed crash if cats absent; fixed
+	  compiler warnings
+
+2005-08-29 11:38  markus
+
+	* lib/Makefile, lib/db/Makefile, lib/g3d/Makefile,
+	  lib/gis/Makefile, lib/ogsf/Makefile, lib/vector/Makefile,
+	  lib/vector/vector_arch.dox: more doxygen fixes
+
+2005-08-29 11:21  markus
+
+	* scripts/v.db.addtable/description.html,
+	  scripts/v.db.addtable/v.db.addtable: create new DB settings if no
+	  table is found yet
+
+2005-08-29 10:02  markus
+
+	* lib/vector/vector_arch.dox: merged contents from
+	  ../../doc/vector/vector.html
+
+2005-08-29 06:37  markus
+
+	* lib/db/Doxyfile_arch_latex, lib/g3d/Doxyfile_arch_latex,
+	  lib/gis/Doxyfile_arch_latex, lib/ogsf/Doxyfile_arch_latex,
+	  lib/vector/Doxyfile_arch_latex: use pdflatex for smaller files
+	  and Type1 fonts
+
+2005-08-29 06:28  markus
+
+	* doc/debugging.txt: small cleanup; kdbg added
+
+2005-08-28 22:22  markus
+
+	* Makefile: added missing g3d for doxygen
+
+2005-08-28 21:43  markus
+
+	* lib/index.dox: crossref fixes
+
+2005-08-28 21:37  markus
+
+	* lib/index.dox: fixed title
+
+2005-08-28 14:38  stephan
+
+	* locale/po/grassmods_de.po: + more german i18N translations
+
+2005-08-28 12:32  danielc
+
+	* scripts/v.univar.sh/v.univar.sh: Ignores NULLs, issues error
+	  message if everything is null.
+
+2005-08-27 04:39  brad
+
+	* lib/bitmap/bitmap.c, lib/bitmap/main.c, lib/bitmap/smain.c,
+	  lib/bitmap/sparse.c: - Fix several compiler warnings.
+	  - Made local functions static in main.c and smain.c.
+	  - Made main() return a value.
+
+2005-08-26 16:57  markus
+
+	* lib/db/dbmilib.dox, lib/g3d/g3dlib.dox,
+	  lib/vector/vector_arch.dox: doxygen hierarchy fixes
+
+2005-08-26 16:49  markus
+
+	* doc/debugging.txt: ddd url added
+
+2005-08-26 16:47  markus
+
+	* lib/Makefile: no more preprocessing needed for doxygen
+
+2005-08-26 16:42  markus
+
+	* lib/vector/Makefile, lib/vector/Vlib/generate_dox.sh,
+	  lib/vector/vector_arch.dox: simplified doxygen
+
+2005-08-26 16:30  markus
+
+	* lib/db/dbmilib.dox: TODO added
+
+2005-08-26 16:19  markus
+
+	* lib/ogsf/Makefile, lib/vector/Makefile: updated for doxugen 1.3.x
+
+2005-08-26 16:17  markus
+
+	* lib/D/d_displaylib.dox, lib/db/Makefile, lib/db/dbmi.dox,
+	  lib/db/dbmi_base/generate_dox.sh,
+	  lib/db/dbmi_client/generate_dox.sh,
+	  lib/db/dbmi_driver/generate_dox.sh, lib/db/dbmilib.dox,
+	  lib/g3d/Doxyfile_arch_html, lib/g3d/Doxyfile_arch_latex,
+	  lib/g3d/Makefile, lib/g3d/g3dlib.dox, lib/gis/gisrasterlib.dox,
+	  lib/gis/gissiteslib.dox, lib/gis/gisvectorlib.dox,
+	  lib/imagery/imagerylib.dox, lib/ogsf/Makefile,
+	  lib/ogsf/ogsflib.dox, lib/raster/rastergraphicslib.dox,
+	  lib/vector/Makefile, lib/vector/vector_arch.dox: more doxygen
+	  fixes: dbmi simplified; g3d added
+
+2005-08-26 15:10  markus
+
+	* lib/db/dbmi_base/cursor.c: layout fixed to make doxygen happy
+
+2005-08-26 08:10  brad
+
+	* lib/edit/edit_cellhd.c: - Add function prototypes.
+	  - Use GRASS messaging functions.
+	  - Reformat some G_message() uses so they can be easily localized.
+
+2005-08-25 20:46  markus
+
+	* scripts/v.rast.stats/v.rast.stats: fixed leftover bug
+
+2005-08-25 13:34  markus
+
+	* lib/init/init.sh: reverted unwanted submission
+
+2005-08-25 11:25  paul
+
+	* lib/proj/convert.c: Allow for broken WKT where sphere is
+	  described with inverse flattening of 0,
+	  change unnecessary strncmp to strcmp and tidy formatting of es in
+	  generated
+	  PROJ_INFO.
+
+2005-08-25 10:39  markus
+
+	* scripts/v.rast.stats/v.rast.stats: permit for non-square cells
+	  (latlong etc)
+
+2005-08-25 10:13  markus
+
+	* vector/v.surf.idw/main.c: message cosmetics
+
+2005-08-25 10:11  markus
+
+	* vector/v.surf.idw/main.c: updated error message handling; renamed
+	  col -> column parameter for consistencyi18N
+
+2005-08-25 07:44  radim
+
+	* locale/po/grassmods_cs.po: fixed translation sent by Martin Landa
+	  <landa at gama.fsv.cvut.cz>
+
+2005-08-24 23:06  markus
+
+	* scripts/v.rast.stats/v.rast.stats: fixed for 10char column limit
+	  in DBF driver
+
+2005-08-24 22:49  markus
+
+	* scripts/Makefile: added v.rast.stats
+
+2005-08-24 22:48  markus
+
+	* scripts/v.rast.stats, scripts/v.rast.stats/Makefile,
+	  scripts/v.rast.stats/description.html,
+	  scripts/v.rast.stats/v.rast.stats: added new script to calculate
+	  raster stats based on vector objects
+
+2005-08-24 20:33  markus
+
+	* db/base/copy.c: don't request predefined parameters
+
+2005-08-24 20:16  markus
+
+	* lib/db/dbmi.dox, lib/gis/gisvectorlib.dox, lib/index.dox,
+	  lib/vector/vector_arch.dox: doxygen crosslinks fixed
+
+2005-08-24 16:23  markus
+
+	* Makefile: comment on alternative method
+
+2005-08-24 14:38  markus
+
+	* lib/Makefile, lib/db/Doxyfile_arch_html,
+	  lib/db/Doxyfile_arch_latex, lib/ogsf/Doxyfile_arch_html,
+	  lib/ogsf/Doxyfile_arch_latex, lib/vector/Doxyfile_arch_html,
+	  lib/vector/Doxyfile_arch_latex: modernized doxygen config files
+	  with 'doxygen -u' (1.3.x)
+
+2005-08-24 14:05  markus
+
+	* lib/sites/sites.c: crash fixed
+
+2005-08-24 13:36  markus
+
+	* lib/gis/Makefile, lib/gis/gislib.dox, lib/gis/gisvectorlib.dox:
+	  doxygen page order hacks
+
+2005-08-24 13:09  paul
+
+	* lib/proj/get_proj.c: Don't use strncmp---matches "alpha" as "a"
+	  and other problems (reported by
+	  Morten Hulden)
+
+2005-08-24 11:54  markus
+
+	* lib/Makefile, lib/db/dbmi_base/alloc.c,
+	  lib/db/dbmi_base/default_name.c, lib/db/dbmi_client/copy_tab.c,
+	  lib/db/dbmi_client/db.c, lib/db/dbmi_client/delete_tab.c,
+	  lib/db/dbmi_driver/driver.c, lib/gis/alloc.c, lib/gis/gislib.dox,
+	  lib/vector/vector_arch.dox: doxygen fixes
+
+2005-08-24 10:30  markus
+
+	* lib/D/d_displaylib.dox, lib/Makefile, lib/db/dbmi.dox,
+	  lib/g3d/g3dlib.dox, lib/gis/gislib.dox, lib/gis/gisrasterlib.dox,
+	  lib/gis/gissiteslib.dox, lib/gis/gisvectorlib.dox,
+	  lib/imagery/imagerylib.dox, lib/index.dox, lib/init/init.sh,
+	  lib/ogsf/ogsflib.dox, lib/raster/rastergraphicslib.dox,
+	  lib/vector/vector_arch.dox: doxygen improved to generate
+	  hierarchical document
+
+2005-08-24 10:11  markus
+
+	* lib/cdhc/README: explained purpose of lib
+
+2005-08-24 08:33  markus
+
+	* lib/gis/gisvectorlib.dox: title fixed
+
+2005-08-24 08:28  markus
+
+	* lib/gis/gislib.dox, lib/gis/gisrasterlib.dox: more doxygen
+	  updates
+
+2005-08-24 05:26  brad
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/raster.c, vector/v.to.rast/support.c,
+	  vector/v.to.rast/vect2rast.c: - Added option to compute the
+	  direction (angle) of lines.
+	  - Fixed compiler warnings.
+
+2005-08-23 21:23  glynn
+
+	* lib/gis/format.c: Fix bug where row pointers were enlarged to 8
+	  bytes, overwriting the
+	  beginning of the data (discovered by Andrew Danner).
+
+2005-08-23 17:00  brad
+
+	* raster/r.out.png/r.out.png.c: - Use EXIT_FAILURE for exit()
+	  - Remove unused variables.
+	  - Fix compiler warnings.
+	  - Use G_fatal_warning() for error messages.
+	  - GRASS6 usage of G_fatal_error() for existing uses.
+
+2005-08-23 16:41  brad
+
+	* raster/r.out.png/pngfunc.h: - #if 0 out unused variables.
+
+2005-08-23 16:10  markus
+
+	* raster/r.out.arc/main.c: changed to a digits (bug #3546)
+
+2005-08-23 16:06  markus
+
+	* vector/v.to.db/main.c, vector/v.to.db/parse.c: added DB
+	  connection test; i18N
+
+2005-08-23 15:52  markus
+
+	* lib/gis/Doxyfile_arch_html, lib/gis/Doxyfile_arch_latex,
+	  lib/gis/Makefile, lib/gis/gislib.dox: Extended libgis docs
+
+2005-08-23 12:58  markus
+
+	* display/d.where/main.c: i18N
+
+2005-08-23 12:48  markus
+
+	* raster/r.info/main.c: i18N
+
+2005-08-23 12:45  radim
+
+	* lib/vector/Vlib/cindex.c: fix for pointer arithmetics and bsearch
+
+2005-08-23 12:13  markus
+
+	* raster3d/Makefile, raster3d/r3.info, raster3d/r3.mask,
+	  raster3d/r3.null, raster3d/r3.timestamp: Soeren Gebbert: code
+	  simplification: now sharing code in base/
+
+2005-08-23 12:11  markus
+
+	* raster3d/base, raster3d/base/Makefile,
+	  raster3d/base/mask_functions.c, raster3d/base/mask_functions.h,
+	  raster3d/base/r3.info.html, raster3d/base/r3.info.main.c,
+	  raster3d/base/r3.mask.html, raster3d/base/r3.mask.main.c,
+	  raster3d/base/r3.null.html, raster3d/base/r3.null.main.c,
+	  raster3d/base/r3.timestamp.html,
+	  raster3d/base/r3.timestamp.main.c: Soeren Gebbert: code
+	  simplification ; new -t flag for timestamps in r3.info
+
+2005-08-23 11:46  markus
+
+	* Makefile: fixed packagehtmldocs target
+
+2005-08-23 10:25  markus
+
+	* lib/gis/gislib.dox: updates
+
+2005-08-23 10:09  markus
+
+	* raster/r.info/main.c: use EXIT_FAILURE
+
+2005-08-23 07:52  radim
+
+	* vector/v.distance/main.c: set db updated
+
+2005-08-22 19:48  stephan
+
+	* locale/po/grassmods_de.po: + more grassmods_de-translations
+
+2005-08-22 19:41  markus
+
+	* locale/po/grasslibs_de.po: fixed email address
+
+2005-08-22 18:53  stephan
+
+	* locale/po/grasslibs_de.po: + more german translations
+
+2005-08-22 14:53  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes: cont'ed
+
+2005-08-22 14:16  markus
+
+	* locale/po/grasslibs_pt_br.po: Paulo Marcondes: Reviewed many
+	  messagens previously marked as fuzzy
+
+2005-08-22 13:44  radim
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po: updated
+	  czech translation by Martin Landa <landa at gama.fsv.cvut.cz>
+
+2005-08-22 13:37  radim
+
+	* vector/v.distance/main.c: added to_attr upload option
+
+2005-08-22 13:36  radim
+
+	* lib/db/dbmi_base/value.c: fix for previous types added to
+	  dbCatVal
+
+2005-08-22 13:29  radim
+
+	* include/dbmi.h, lib/db/dbmi_base/value.c,
+	  lib/db/dbmi_client/select.c: more types added to dbCatVal
+
+2005-08-22 12:41  markus
+
+	* raster3d/r3.mkdspf/Makefile, raster3d/r3.mkdspf/main.c:
+	  description added; i18N; fixed Makefile
+
+2005-08-22 11:20  markus
+
+	* vector/v.digit/description.html: dead lines hint added
+
+2005-08-22 11:15  markus
+
+	* lib/vector/vector_arch.dox: another piece of knowledge added
+
+2005-08-22 09:48  markus
+
+	* doc/howto_release.txt: also post to FreeGIS
+
+2005-08-22 09:11  markus
+
+	* doc/howto_release.txt: more release fine tuning
+
+2005-08-22 06:02  danielc
+
+	* db/drivers/dbf/dbfexe.c: Fix for update set string=NULL
+	  (temporary; should clean up a bit)
+
+2005-08-22 03:40  brad
+
+	* lib/vector/rtree/Makefile, lib/vector/rtree/split_l.c,
+	  lib/vector/rtree/split_l.h: - Removed unused split_l.[c|h].
+
+2005-08-21 15:22  markus
+
+	* include/Make/Shlib.make: use flags separately to make solaris2.9
+	  happy
+
+2005-08-21 06:12  brad
+
+	* lib/vector/rtree/split_l.c: - #if 0 #endif out unused function
+	  RTreePrintPVars().
+
+2005-08-21 06:09  brad
+
+	* lib/vector/rtree/MAILS, lib/vector/rtree/README.grass,
+	  lib/vector/rtree/README.txt, lib/vector/rtree/docs,
+	  lib/vector/rtree/docs/MAILS, lib/vector/rtree/docs/README.grass,
+	  lib/vector/rtree/docs/README.txt,
+	  lib/vector/rtree/docs/sources.htm, lib/vector/rtree/sources.htm:
+	  - Moved documentation away from source.
+
+2005-08-21 05:36  brad
+
+	* lib/vector/diglib/local_proto.h, lib/vector/diglib/port_test.c: -
+	  Made local function 'dumpflags()' static.
+	  - Removed now unused local_proto.h.
+
+2005-08-19 12:18  markus
+
+	* locale/po/grasslibs_ja.po, locale/po/grasslibs_vi.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_vi.po: merged new
+	  messages
+
+2005-08-19 12:07  brad
+
+	* raster/r.out.arc/main.c: - GRASS6 usage of G_fatal_error().
+	  - Removed unused legacy function.
+	  - Removed unused variable.
+	  - Use EXIT_SUCCESS || EXIT_FAILURE with exit().
+
+2005-08-19 11:28  brad
+
+	* imagery/i.ortho.photo/libes/cam_info.c: - Fix compiler warnings.
+	  - GRASS6 usage of G_warning().
+	  - Removed now unused variables.
+
+2005-08-19 11:24  brad
+
+	* imagery/i.ortho.photo/libes/elev.c: - Added stdio.h.
+	  - Fixed compiler warnings.
+
+2005-08-19 11:17  brad
+
+	* imagery/i.ortho.photo/libes/conz_points.c,
+	  imagery/i.ortho.photo/libes/ref_points.c: - Changed variable used
+	  with G_realloc() size type to size_t.
+
+2005-08-19 11:15  brad
+
+	* imagery/i.ortho.photo/libes/orthoref.c: - Initialize
+	  uninitialized variables.
+	  - Remove unused variable.
+
+2005-08-19 11:11  brad
+
+	* imagery/i.class/ask_files.c, imagery/i.class/local_proto.h,
+	  imagery/i.class/outline.c, imagery/i.class/signature.c: - Fix
+	  some compiler warnings.
+
+2005-08-19 11:04  brad
+
+	* lib/db/dbmi_driver/d_fetch.c, lib/db/dbmi_driver/d_mkdir.c,
+	  lib/db/dbmi_driver/driver_state.c: - Update to modern programming
+	  standards.
+
+2005-08-19 10:53  brad
+
+	* lib/db/dbmi_driver/procs.h: - Added braces around struct
+	  elements.
+
+2005-08-19 10:45  brad
+
+	* imagery/i.maxlik/classify.c, imagery/i.maxlik/invert.c,
+	  imagery/i.maxlik/local_proto.h, imagery/i.maxlik/main.c,
+	  imagery/i.maxlik/open.c: - Removed unused functions from
+	  local_proto.h.
+	  - GRASS6 usage of message functions.
+	  - Fix compiler warnings.
+	  - Use GRASS6 message functions instead of fprintf(stderr,...).
+
+2005-08-19 10:41  brad
+
+	* imagery/i.find/local_proto.h, imagery/i.find/main.c: - Remove
+	  unneeded local_proto.h.
+	  - Make global variables local.
+	  - Make local functions static.
+	  - Initialize uninitialized variables.
+	  - Reorganized code.
+
+2005-08-19 08:53  brad
+
+	* lib/sites/sites.c: - Remove unused variables.
+	  - Make local comparison function static.
+
+2005-08-19 08:48  brad
+
+	* lib/datetime/scan.c: - Initialize uninitialized variable.
+	  - Commented out unused function 'is_wordend()'.
+
+2005-08-19 07:21  markus
+
+	* display/d.m/tool2.tcl: Michael Barton: new icons
+
+2005-08-18 20:35  markus
+
+	* lib/gis/Makefile, lib/vector/Makefile: Doxygen stuff slightly
+	  generalized
+
+2005-08-18 20:34  markus
+
+	* Makefile, lib/ogsf/Makefile: Doxygen OGSF docs activated
+
+2005-08-18 20:29  markus
+
+	* lib/ogsf/Doxyfile_arch_html, lib/ogsf/Doxyfile_arch_latex:
+	  Doxygen docs activated
+
+2005-08-18 16:04  markus
+
+	* general/g.proj/description.html: example added
+
+2005-08-18 13:35  brad
+
+	* lib/imagery/set_window.c: - Reverted I__* global variables.
+
+2005-08-18 08:02  markus
+
+	* display/d.m/d.m.tcl, display/d.m/measure.gif,
+	  display/d.m/raster.tcl, display/d.m/scalebar.gif,
+	  display/d.m/tool1.tcl: Michael Barton: improvements in the raster
+	  panel and a couple new tool buttons
+
+2005-08-18 04:15  brad
+
+	* lib/imagery/set_window.c: - Made sure global variables are extern
+	  referenced.
+
+2005-08-18 04:12  brad
+
+	* lib/imagery/percent.c: - Made I_percent() simply return
+	  G_percent().
+
+2005-08-18 04:07  brad
+
+	* lib/imagery/title.c: - Add stdio.h.
+
+2005-08-18 04:03  brad
+
+	* lib/imagery/target.c: - GRASS6 usage of G_warning().
+	  - Remove now unused variable 'msg'.
+	  - Add stdio.h.
+
+2005-08-18 03:56  brad
+
+	* lib/edit/edit_cats.c: - GRASS6 usage of G_fatal_error().
+	  - Proper type for string length variable.
+
+2005-08-18 03:20  brad
+
+	* raster/r.support/modcats/Makefile,
+	  raster/r.support/modcolr/Makefile,
+	  raster/r.support/modhead/Makefile,
+	  raster/r.support/modhist/Makefile: - Modified Makefiles to remove
+	  extra copies of binaries from etc/.
+
+2005-08-17 21:36  cho
+
+	* display/drivers/XDRIVER/XDRIVER24/line_attr.c: removed
+	  unnecessary line
+
+2005-08-17 16:44  markus
+
+	* vector/v.in.db/description.html: example added
+
+2005-08-17 15:45  markus
+
+	* vector/v.in.db/main.c: added WHERE statement; i18N
+
+2005-08-17 15:34  markus
+
+	* include/Make/Rules.make: don't print comments
+
+2005-08-17 10:05  brad
+
+	* display/drivers/lib/Text2.c: - Removed unused variable.
+
+2005-08-17 10:01  brad
+
+	* display/drivers/lib/pad.c: - Make non-void function return a
+	  value.
+
+2005-08-17 10:00  markus
+
+	* scripts/d.vect.thematic/d.vect.thematic: clarified message
+
+2005-08-17 09:59  brad
+
+	* display/drivers/lib/font_freetype.c: - Fix compiler warning:
+	  change 'int len' to 'size_t len' for strncpy().
+
+2005-08-17 09:54  brad
+
+	* misc/m.cogo/main.c: - Made local functions static.
+	  - Removed compiler warning.
+
+2005-08-17 09:31  brad
+
+	* raster/r.basins.fill/main.c: - GRASS6 usage of G_fatal_error().
+	  - Replace fprintf(stderr...) with G_*() functions.
+	  - Use EXIT_SUCCESS || EXIT_FAILURE for exit().
+	  - Remove now unused variables 'mg' and 'msg'.
+
+2005-08-17 09:25  markus
+
+	* scripts/d.vect.thematic/d.vect.thematic: more color schemes
+	  added; fixed 255 -> 255 to get full range
+
+2005-08-17 09:18  brad
+
+	* raster/r.basins.fill/HELP, raster/r.basins.fill/die.c,
+	  raster/r.basins.fill/local_proto.h,
+	  raster/r.basins.fill/percent.c, raster/r.basins.fill/read_map.c:
+	  - Removed legacy 'HELP' file.
+	  - Removed die.c and replaced with G_fatal_error().
+	  - Removed percent.c -- already replaced with G_percent().
+
+2005-08-17 09:04  brad
+
+	* raster/r.average/main.c: - Made local function static.
+	  - Changed references to argv[0] to G_program_name().
+	  - Replaced fprintf(stderr,...)...exit() with G_fatal_error(...).
+	  - Removed now unused variable 'me'.
+
+2005-08-17 08:48  brad
+
+	* raster/r.slope.aspect/main.c: - Remove variables: str, align,
+	  verbose and use the flags/options directly.
+
+2005-08-17 08:30  brad
+
+	* raster/r.slope.aspect/main.c: - Convert fprintf() to G_*()
+	  commands.
+	  - Change exit() to use EXIT_SUCCESS || EXIT_FAILURE.
+
+2005-08-17 08:07  brad
+
+	* raster/r.slope.aspect/main.c: - Removed unneeded external
+	  function declarations.
+	  - Initialized uninitialized variables.
+
+2005-08-17 08:00  brad
+
+	* raster/r.slope.aspect/opennew.c: - GRASS6 usage of
+	  G_fatal_error().
+	  - Remove now unused buffer variable.
+
+2005-08-16 20:34  markus
+
+	* scripts/Makefile, scripts/v.db.addcol/description.html,
+	  scripts/v.db.update/description.html: added v.db.addcol +
+	  v.db.droptable
+
+2005-08-16 20:33  markus
+
+	* scripts/v.db.addtable, scripts/v.db.addtable/Makefile,
+	  scripts/v.db.addtable/description.html,
+	  scripts/v.db.addtable/v.db.addtable, scripts/v.db.droptable,
+	  scripts/v.db.droptable/Makefile,
+	  scripts/v.db.droptable/description.html,
+	  scripts/v.db.droptable/v.db.droptable: added
+
+2005-08-16 19:32  cho
+
+	* display/d.vect/attr.c, display/d.vect/label.c,
+	  display/d.vect/main.c, display/d.vect/topo.c,
+	  display/d.vect/zcoor.c: fixed text thickness
+
+2005-08-16 17:28  cho
+
+	* display/d.measure/local_proto.h, display/d.measure/main.c,
+	  display/d.measure/msurements.c: applied GRASS_ANOTHER_BUTTON
+
+2005-08-15 09:56  markus
+
+	* include/gisdefs.h: added missing headers
+
+2005-08-15 09:16  markus
+
+	* locale/po/grasslibs_pt_br.po, locale/po/grassmods_pt_br.po:
+	  updated with new messages
+
+2005-08-15 09:01  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po: updated
+	  with new messages
+
+2005-08-15 08:43  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes: cont'ed
+
+2005-08-15 01:58  brad
+
+	* raster/r.random.surface/calcsd.c,
+	  raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/cpfilter.c, raster/r.random.surface/dd.c,
+	  raster/r.random.surface/decay.c,
+	  raster/r.random.surface/digits.c,
+	  raster/r.random.surface/gasdev.c,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/init.c,
+	  raster/r.random.surface/local_proto.h,
+	  raster/r.random.surface/main.c,
+	  raster/r.random.surface/makebigf.c,
+	  raster/r.random.surface/makepp.c,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c, raster/r.random.surface/zero.c: -
+	  Upgraded to modern programming standards.
+	  - Added local_proto.h for global functions.
+	  - Removed unused variables.
+	  - Initialize uninitialized variables.
+
+2005-08-15 01:37  brad
+
+	* raster/r.random.surface/MAN.old: - Removed old manpage.
+
+2005-08-14 19:22  brad
+
+	* raster/r.random.cells/flag.c, raster/r.random.cells/flag.h,
+	  raster/r.random.cells/gasdev.c, raster/r.random.cells/indep.c,
+	  raster/r.random.cells/init.c,
+	  raster/r.random.cells/local_proto.h,
+	  raster/r.random.cells/main.c, raster/r.random.cells/random.c,
+	  raster/r.random.cells/ransurf.h: - Upgraded to modern programming
+	  standards.
+	  - Added local_proto.h for global functions.
+	  - Made local functions static.
+	  - Removed unused variables.
+
+2005-08-14 05:23  brad
+
+	* raster/wildfire/r.spreadpath/drawline.c,
+	  raster/wildfire/r.spreadpath/insert.c,
+	  raster/wildfire/r.spreadpath/local_proto.h,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster/wildfire/r.spreadpath/path_finder.c,
+	  raster/wildfire/r.spreadpath/point.h,
+	  raster/wildfire/r.spreadpath/stash.h: - Upgraded to modern
+	  programming standards.
+	  - Added local_proto.h for global functions.
+	  - Remove unused variables.
+	  - Initialized uninitialized variables.
+	  - Use GRASS6 usage of G_fatal_error().
+
+2005-08-14 05:20  brad
+
+	* raster/wildfire/r.spread/collect_ori.c,
+	  raster/wildfire/r.spread/fixHa.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/pick_dist.c,
+	  raster/wildfire/r.spread/replaceHa.c,
+	  raster/wildfire/r.spread/select_linksB.c,
+	  raster/wildfire/r.spread/spread.c: - Add stdlib.h header file.
+	  - Remove unused variables.
+	  - Initialize uninitialized variables.
+
+2005-08-13 17:00  brad
+
+	* raster3d/r3.null/local_proto.h, raster3d/r3.null/mask.c,
+	  raster3d/r3.null/null_main.c: - Upgraded to modern programming
+	  standards.
+	  - Added local_proto.h for global function definitions and
+	  structs.
+	  - Added function prototypes for non-global functions.
+
+2005-08-13 14:25  brad
+
+	* raster/wildfire/r.ros/local_proto.h,
+	  raster/wildfire/r.ros/main.c, raster/wildfire/r.ros/spot_dist.c:
+	  - Upgraded to modern programming standards.
+	  - Added function prototypes.
+	  - Added global functions prototypes to local_proto.h.
+	  - Upgraded to GRASS6 usage of G_fatal_error().
+	  - Removed unused variables.
+	  - Initialized uninitialized variables.
+
+2005-08-13 13:49  brad
+
+	* lib/vector/Vlib/array.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/cindex.c,
+	  lib/vector/Vlib/clean_nodes.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/dangles.c,
+	  lib/vector/Vlib/graph.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/hist.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/list.c,
+	  lib/vector/Vlib/net.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/snap.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c: - Cleanup many compiler warnings by
+	  initializing uninitialized variables and adding function
+	  prototypes.
+
+2005-08-13 13:44  brad
+
+	* raster3d/r3.mkdspf/calc_linefax.c,
+	  raster3d/r3.mkdspf/fill_cfax.c, raster3d/r3.mkdspf/iso_surface.c,
+	  raster3d/r3.mkdspf/local_proto.h, raster3d/r3.mkdspf/main.c,
+	  raster3d/r3.mkdspf/make_header.c, raster3d/r3.mkdspf/r3_data.c,
+	  raster3d/r3.mkdspf/r3_find.c: - Upgraded to modern programming
+	  standards.
+	  - Added global function prototypes via local_proto.h.
+
+2005-08-13 02:42  brad
+
+	* db/drivers/odbc/main.c: - Upgraded to modern programming
+	  standards.
+
+2005-08-13 01:38  brad
+
+	* raster/r.kappa/calc_kappa.c, raster/r.kappa/kappa.h,
+	  raster/r.kappa/local_proto.h, raster/r.kappa/main.c,
+	  raster/r.kappa/mask.c, raster/r.kappa/prt_hdr.c,
+	  raster/r.kappa/prt_label.c, raster/r.kappa/prt_mat.c,
+	  raster/r.kappa/stats.c, raster/r.kappa/sum.c: - Update module to
+	  modern programming standards.
+
+2005-08-12 15:19  markus
+
+	* raster/r.in.bin/description.html: added TOPEX/SRTM30 PLUS
+
+2005-08-12 14:22  markus
+
+	* scripts/d.rast.leg/d.rast.leg: changed drawing order to survive
+	  for d.zoom in case of monitor resize
+
+2005-08-12 09:51  markus
+
+	* INSTALL: XEON compiler flags
+
+2005-08-12 09:47  markus
+
+	* INSTALL: XEON hints added
+
+2005-08-12 09:44  brad
+
+	* lib/vector/Vlib/area.c: - Instance of *Isle should be typed as
+	  P_ISLE, not P_AREA. Fixed.
+
+2005-08-12 09:05  markus
+
+	* locale/po/grasslibs_pt_br.po: Paulo Marcondes: cont'ed
+	  translation
+
+2005-08-12 08:33  markus
+
+	* scripts/v.db.addcol/description.html,
+	  scripts/v.db.addcol/v.db.addcol: message cosmetics; example added
+
+2005-08-12 06:30  brad
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/node.c,
+	  lib/vector/rtree/split_q.c: - Initialize uninitialized variables.
+
+2005-08-12 06:25  brad
+
+	* lib/vector/diglib/portable.c: - Remove unused variable.
+
+2005-08-12 06:20  brad
+
+	* lib/vector/diglib/cindex.c: - Removed unused variable.
+
+2005-08-12 06:14  brad
+
+	* lib/vector/diglib/prune.c: - Initialize uninitialized variable.
+
+2005-08-12 06:10  brad
+
+	* lib/vector/diglib/file.c: - Change G_malloc() variable type to
+	  size_t.
+
+2005-08-12 06:04  brad
+
+	* lib/vector/dglib/graph.c, lib/vector/dglib/sp-template.c: -
+	  Initialize uninitialized variables.
+
+2005-08-12 05:54  brad
+
+	* lib/rst/interp_float/output2d.c, lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/secpar2d.c, lib/rst/interp_float/vinput2d.c:
+	  - Initialize uninitialized variables.
+
+2005-08-12 05:41  brad
+
+	* lib/rst/interp_float/matrix.c: - Initialize uninitialized
+	  variables.
+
+2005-08-12 05:39  brad
+
+	* lib/rst/interp_float/interp2d.c: - Initialize unilitialized
+	  variables.
+	  - Remove unused variable.
+
+2005-08-12 05:36  brad
+
+	* lib/rst/interp_float/input2d.c: - Initialize uninitialized
+	  variable.
+
+2005-08-12 05:30  brad
+
+	* lib/display/window.c: - Added parenthesis around truth statements
+	  to quiet compiler.
+
+2005-08-12 05:29  brad
+
+	* lib/display/raster_rgb.c: - Changed variable for G_malloc() to
+	  size_t storage type.
+
+2005-08-11 21:42  brad
+
+	* include/gisdefs.h, lib/gmath/dalloc.c, lib/gmath/ialloc.c: -
+	  Updated gmath memory allocation to use size_t type.
+
+2005-08-11 20:34  markus
+
+	* debian/patches/htmlgen-fakeroot.dpatch: updated patch
+
+2005-08-11 17:53  bob
+
+	* visualization/nviz/src/togl_flythrough.c: updated coarse draw
+	  routine
+
+2005-08-11 16:59  bob
+
+	* visualization/nviz/src/togl_cb.c: changed redraw callback to
+	  draw_all
+
+2005-08-11 11:10  markus
+
+	* vector/v.build/description.html: fixed broken url
+
+2005-08-11 10:55  markus
+
+	* scripts/v.in.gns/description.html, scripts/v.in.gns/v.in.gns:
+	  simplified code; we keep the original UTF-8 encoding
+
+2005-08-11 10:50  markus
+
+	* vector/v.in.ascii/points.c: LatLong test disabled
+
+2005-08-11 10:11  markus
+
+	* display/d.m/vector.tcl: Michael Barton: modifications for vector
+	  line width
+
+2005-08-11 10:04  markus
+
+	* raster3d/r3.info/main.c: Soeren Gebbert: snprintf's() ->
+	  G_asprintf(); i18N
+
+2005-08-11 08:09  markus
+
+	* locale/po/grasslibs_pt_br.po, locale/po/grassmods_pt_br.po: Paulo
+	  Marcondes <paulomarcondes gmail com>: cont'ed
+
+2005-08-10 17:22  markus
+
+	* raster/r.random/random.c: message cosmetics
+
+2005-08-10 17:19  markus
+
+	* vector/v.random/description.html: r.random url added
+
+2005-08-10 17:10  cho
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_mr.po, locale/po/grasslibs_pt_br.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_vi.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: reverted
+	  unintended changes
+
+2005-08-10 15:19  markus
+
+	* rpm/fedora/grass.spec, rpm/fedora/grass_FC2.spec,
+	  rpm/fedora/grass_FC3.spec: restored FC2/G5.7 spec file ; added
+	  FC3/G6.0 spec file
+
+2005-08-10 13:05  markus
+
+	* lib/imagery/vask_group.c: layout cosmetics for longer names
+
+2005-08-10 13:05  markus
+
+	* lib/vask/V_ques.c: fix from Glynn
+
+2005-08-10 09:58  markus
+
+	* imagery/i.ask/local_proto.h, imagery/i.ask/main.c: fix to make
+	  gcc happy
+
+2005-08-10 09:45  markus
+
+	* lib/vector/Vlib/field.c: fix for v.external with PostgreSQL
+
+2005-08-10 09:39  markus
+
+	* lib/db/dbmi_base/error.c: doxygenized db_auto_print_errors()
+
+2005-08-10 09:16  markus
+
+	* raster/r.mapcalc/r.mapcalc.html: r.bitpattern url added
+
+2005-08-10 09:15  markus
+
+	* raster/r.bitpattern/description.html, raster/r.bitpattern/main.c:
+	  i18N; docs extended
+
+2005-08-10 07:30  markus
+
+	* locale/po/grasslibs_ko.po, locale/po/grassmods_ko.po: fixed
+	  headers
+
+2005-08-10 05:47  cho
+
+	* aclocal.m4, configure: message alignment
+
+2005-08-10 05:04  brad
+
+	* imagery/i.group/main.c: - Rewrote for GRASS6, simplifying code.
+
+2005-08-10 04:37  cho
+
+	* locale/po/grasslibs_ko.po: messages updated
+
+2005-08-10 04:34  cho
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ko.po, locale/po/grasslibs_mr.po,
+	  locale/po/grasslibs_pt_br.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grasslibs_vi.po,
+	  locale/po/grasslibs_zh.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_es.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_it.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ko.po,
+	  locale/po/grassmods_mr.po, locale/po/grassmods_pt_br.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_zh.po: just
+	  started Korean translation
+
+2005-08-10 04:14  cho
+
+	* locale/Makefile: make -> $(MAKE)
+
+2005-08-10 01:39  cho
+
+	* scripts/d.mvmon/description.html,
+	  scripts/d.redraw/description.html: added a cross-link and an
+	  example
+
+2005-08-10 01:30  cho
+
+	* scripts/d.mvmon/d.mvmon, scripts/d.redraw/description.html: text
+	  consistency
+
+2005-08-10 01:28  cho
+
+	* scripts/Makefile, scripts/d.mvmon, scripts/d.mvmon/Makefile,
+	  scripts/d.mvmon/d.mvmon, scripts/d.mvmon/description.html,
+	  scripts/d.redraw/d.redraw, scripts/d.redraw/description.html:
+	  added d.mvmon
+
+2005-08-10 01:24  cho
+
+	* display/d.erase/main.c: added -x flag not to add to the command
+	  list
+
+2005-08-10 01:23  cho
+
+	* lib/gis/parser.c: added a new line between </body> and </html>
+	  since it now works with Rules.make
+
+2005-08-10 01:08  cho
+
+	* include/Make/Rules.make: Generates html header for no-parameter
+	  modules
+
+2005-08-09 19:58  cho
+
+	* display/drivers/PNG/Clr_table.c, display/drivers/PNG/Graph_Set.c,
+	  display/drivers/PNG/write.c: transparency bug fixed
+
+2005-08-09 17:59  cho
+
+	* display/d.vect/main.c: added reset line width
+
+2005-08-09 16:22  danielc
+
+	* db/drivers/dbf/dbfexe.c: Properly handle parallel updates
+
+2005-08-09 16:08  markus
+
+	* vector/v.db.select/main.c: message cosmetics
+
+2005-08-09 16:08  markus
+
+	* vector/v.out.ogr/main.c: i18n
+
+2005-08-09 14:08  markus
+
+	* raster/r.cost/main.c: bug added
+
+2005-08-09 11:29  cho
+
+	* display/d.vect/main.c: free() -> G_free()
+
+2005-08-09 11:26  cho
+
+	* display/d.vect/area.c, display/d.vect/dir.c,
+	  display/d.vect/main.c, display/d.vect/plot1.c, include/raster.h:
+	  R_line_width() added to the header file.
+	  d.vect icon_files() bug fixed.
+
+2005-08-09 10:16  cho
+
+	* display/drivers/PNG/Clr_table.c: added comment
+
+2005-08-09 10:13  cho
+
+	* display/drivers/PNG/Clr_table.c, display/drivers/PNG/Graph_Set.c,
+	  display/drivers/PNG/write.c: fixed PNG transparency
+
+2005-08-09 10:07  markus
+
+	* vector/v.db.select/main.c: first search for the map; i18N
+
+2005-08-09 09:13  markus
+
+	* raster/r.support/Makefile: simplified
+
+2005-08-09 07:02  brad
+
+	* imagery/i.group/local_proto.h, imagery/i.group/main.c: - Make
+	  local functions static.
+	  - Remove now unused local_proto.h.
+
+2005-08-09 06:51  brad
+
+	* imagery/i.target/main.c: - Greatly simplified code by rewriting
+	  for GRASS6.
+
+2005-08-09 06:30  cho
+
+	* display/drivers/XDRIVER/XDRIVER24/line_attr.c: default width = 0
+
+2005-08-09 06:21  brad
+
+	* imagery/i.target/local_proto.h, imagery/i.target/main.c: -
+	  local_proto.h is not needed. Removing.
+
+2005-08-09 06:12  cho
+
+	* display/drivers/PNG/Draw_line.c: bug fixed
+
+2005-08-09 05:57  cho
+
+	* display/d.vect/main.c: default width = 0
+
+2005-08-09 05:55  cho
+
+	* display/d.vect/main.c: default width = 0
+
+2005-08-09 05:53  cho
+
+	* display/drivers/PNG/Draw_line.c, display/drivers/PNG/line_attr.c:
+	  store_xy() updated
+
+2005-08-09 04:56  cho
+
+	* display/d.vect/main.c, display/drivers/HTMLMAP/Makefile,
+	  display/drivers/HTMLMAP/line_attr.c,
+	  display/drivers/HTMLMAP/local_proto.h,
+	  display/drivers/PNG/Draw_line.c, display/drivers/PNG/Graph_Set.c,
+	  display/drivers/PNG/Makefile, display/drivers/PNG/line_attr.c,
+	  display/drivers/PNG/pngdriver.h,
+	  display/drivers/XDRIVER/XDRIVER24/Get_w_pnt.c,
+	  display/drivers/XDRIVER/XDRIVER24/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/XDRIVER.h,
+	  display/drivers/XDRIVER/XDRIVER24/line_attr.c,
+	  display/drivers/XDRIVER/XDRIVER24/local_proto.h,
+	  display/drivers/lib/command.c, display/drivers/lib/driverlib.h,
+	  include/graph.h, lib/raster/Makefile, lib/raster/graph.h,
+	  lib/raster/line_attr.c: int R_line_width(int width) added to the
+	  raster library.
+	  int line_width(int width) added to display drivers.
+	  DEFAULT_[FB]G_COLOR bug fixed in the PNG driver.
+	  width option added to d.vect.
+
+2005-08-09 01:02  brad
+
+	* imagery/i.ask/local_proto.h, imagery/i.ask/main.c,
+	  imagery/i.ask/popup.c: - Move global variables (TOP, BOTTOM,
+	  LEFT, RIGHT) to local_proto.h.
+	  - Remove function usage() from local_proto.h.
+
+2005-08-09 00:57  brad
+
+	* imagery/i.ask/main.c: - Replace function usage() with
+	  G_fatal_error().
+
+2005-08-09 00:25  brad
+
+	* imagery/i.class/ask_files.c, imagery/i.class/main.c,
+	  imagery/i.class/zoom_box.c: - Remove localization from functions
+	  that don't/can't need it.
+
+2005-08-09 00:15  brad
+
+	* lib/gmath/gauss.c: - Ensure non-void function returns: changed
+	  if...else... to if...return...
+
+2005-08-09 00:14  brad
+
+	* lib/gmath/eigen_tools.c: - Upgrade function declaration to modern
+	  standards.
+
+2005-08-08 23:54  brad
+
+	* lib/imagery/colors.c: - Remove unneeded function declaration
+	  get_colors() in function read_color() -- already defined in
+	  function prototypes at top of file.
+
+2005-08-08 23:50  brad
+
+	* lib/imagery/ask.c: - Correct compiler warning (add parenthesis
+	  around truth statement)
+
+2005-08-08 22:43  brad
+
+	* include/imagedefs.h, lib/imagery/alloc.c: - Use size_t for memory
+	  allocaton size.
+	  - Reworked memory allocation functions to call G_*alloc()
+	  commands to simplify code.
+
+2005-08-08 21:12  markus
+
+	* doc/howto_release.txt: more fine tuning
+
+2005-08-08 17:29  markus
+
+	* scripts/v.in.e00/v.in.e00: we consider E00 to be topologically
+	  clean; speeds up import enormously
+
+2005-08-08 16:25  markus
+
+	* vector/v.in.db/description.html: extended DBF example
+
+2005-08-08 16:10  markus
+
+	* raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.out.vtk/main.c: error message improved/cleaned; i18N
+
+2005-08-08 15:55  markus
+
+	* raster3d/r3.mask/mask_main.c: error message improved; i18N
+
+2005-08-08 14:24  markus
+
+	* debian/rules: removed --without-cxx, left --with-cxx
+
+2005-08-08 13:54  markus
+
+	* visualization/xganim/Clr_table.c,
+	  visualization/xganim/local_proto.h, visualization/xganim/main.c:
+	  fixed (hopfully) compilation error
+
+2005-08-08 12:56  markus
+
+	* visualization/nviz/src/nvizMain.c: added missing headers
+
+2005-08-08 12:50  markus
+
+	* display/d.extend/main.c: fixed Vect__open_old() ->
+	  Vect_open_old_head()
+
+2005-08-08 11:29  markus
+
+	* lib/vask/V_line.c, lib/vask/V_ques.c: doxygen fixed
+
+2005-08-08 10:05  markus
+
+	* lib/ogsf/gsd_objs.c: fixed compiler error/warning
+
+2005-08-08 09:05  markus
+
+	* lib/vector/vector_arch.dox: added knowledge piece
+
+2005-08-08 09:03  markus
+
+	* lib/vector/Makefile: fixe version number for PDF
+
+2005-08-08 08:26  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes <paulomarcondes
+	  gmail com>: cont'ed translation
+
+2005-08-08 07:48  markus
+
+	* debian/changelog: fixed patch mess
+
+2005-08-08 07:41  markus
+
+	* debian/rules: fixed patch mess
+
+2005-08-07 05:44  brad
+
+	* vector/v.kernel/main.c: - Fixed compiler warnings (uninitialized
+	  variables)
+
+2005-08-07 05:41  brad
+
+	* vector/v.kernel/main.c: - Convert fprintf(stderr, ...) to
+	  G_message().
+	  - Localize text.
+
+2005-08-07 05:37  brad
+
+	* SUBMITTING: - Reworded message handling section for readability
+	  and compactness.
+
+2005-08-07 05:35  brad
+
+	* vector/v.kernel/function.c: - Updated function
+	  declarations/definitions to modern standards.
+
+2005-08-07 05:32  brad
+
+	* vector/v.kernel/min.h: - Removed unused header min.h
+
+2005-08-07 02:52  cho
+
+	* lib/db/dbmi_base/login.c: prevent garbage user and password
+
+2005-08-06 22:26  cho
+
+	* vector/v.in.ogr/main.c: fixed messages
+
+2005-08-06 22:17  cho
+
+	* lib/gis/make_loc.c: G_compare_projections bug fixed
+
+2005-08-06 22:17  cho
+
+	* vector/v.in.ogr/main.c: fixed G_compare_projections test
+
+2005-08-06 10:27  markus
+
+	* aclocal.m4, configure: fix for MacOSX
+
+2005-08-06 08:06  markus
+
+	* doc/vector/v.example.c: moved to v.example/
+
+2005-08-06 07:09  cho
+
+	* display/d.extend/main.c: bug fixed
+
+2005-08-06 07:07  cho
+
+	* lib/vector/Vlib/open.c: headed -> header
+
+2005-08-06 03:40  brad
+
+	* imagery/i.ortho.photo/photo.2image/ask.c: - Surround truth
+	  statement with () re: compiler warning
+
+2005-08-06 03:38  brad
+
+	* imagery/i.ortho.photo/photo.2image/main.c: - Use G_fatal_error()
+	  according to new usage
+	  - Removed now unused buffer variables
+
+2005-08-06 03:27  brad
+
+	* imagery/i.ortho.photo/photo.2image/use_camera.c: - #if 0 out
+	  unused code (code in progress?)
+
+2005-08-06 03:22  brad
+
+	* imagery/i.ortho.photo/photo.2image/mark.c: - Added DEBUG define
+	  to surround debug functions
+	  - Removed unused functions screen() cancel() and printcentered()
+
+2005-08-06 03:09  brad
+
+	* imagery/i.ortho.photo/photo.2image/target.c: - Fix 'return from
+	  non-void function' warning
+
+2005-08-06 03:07  brad
+
+	* imagery/i.ortho.photo/photo.2image/analyze.c: - Added DEBUG
+	  definition to surround debug functions
+
+2005-08-06 03:03  brad
+
+	* imagery/i.ortho.photo/photo.2image/analyze.c,
+	  imagery/i.ortho.photo/photo.2image/equ.c,
+	  imagery/i.ortho.photo/photo.2image/where.c: - Add imagery.h to
+	  files that call I_*() functions
+
+2005-08-06 02:45  brad
+
+	* imagery/i.ortho.photo/photo.2image/analyze.c,
+	  imagery/i.ortho.photo/photo.2image/ask.c,
+	  imagery/i.ortho.photo/photo.2image/cell.c,
+	  imagery/i.ortho.photo/photo.2image/curses.c,
+	  imagery/i.ortho.photo/photo.2image/find.c,
+	  imagery/i.ortho.photo/photo.2image/graphics.c,
+	  imagery/i.ortho.photo/photo.2image/group.c,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2image/target.c,
+	  imagery/i.ortho.photo/photo.2image/title.c,
+	  imagery/i.ortho.photo/photo.2image/use_camera.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_pnt.c: - Add gis.h to
+	  files that make G_*() calls
+
+2005-08-06 02:31  brad
+
+	* raster/r.resample/main.c: - Use G_message() instead of
+	  fprintf(...)
+	  - Removed unused variable 'buf'
+
+2005-08-06 02:13  brad
+
+	* doc/raster/r.example/main.c, doc/vector/v.example/main.c: -
+	  Changed exit(-1) to more portable exit(EXIT_FAILURE)
+
+2005-08-06 00:09  danielc
+
+	* tools/g.html2man/g.html2man: Handle backticks/grave accent ('`')
+
+2005-08-05 17:09  brad
+
+	* raster/r.terraflow/IOStream/include/replacementHeap.h,
+	  raster/r.terraflow/IOStream/include/replacementHeapBlock.h: -
+	  GCC4 header fixes.
+
+2005-08-05 04:39  brad
+
+	* lib/ogsf/gvld.c: - Added gis.h include file.
+
+2005-08-05 04:34  brad
+
+	* lib/ogsf/gsd_legend.c: - Added gis.h include file.
+	  - Commented out unused function bigger().
+
+2005-08-05 04:31  brad
+
+	* lib/ogsf/gsd_img_tif.c: - Added gis.h include file.
+	  - Use G_malloc() instead of malloc().
+
+2005-08-05 04:27  brad
+
+	* lib/ogsf/gsd_img.c: - Added gis.h include file.
+	  - Convert fprintf(stderr, ...) to G_message().
+
+2005-08-05 04:22  brad
+
+	* lib/ogsf/gvd.c: - Added gis.h include file.
+
+2005-08-04 19:58  brad
+
+	* imagery/i.smap/bouman/bouman.h, imagery/i.smap/bouman/decimate.c,
+	  imagery/i.smap/bouman/interp.c, imagery/i.smap/bouman/invert.c,
+	  imagery/i.smap/bouman/model.c,
+	  imagery/i.smap/bouman/multialloc.c,
+	  imagery/i.smap/bouman/region.h, imagery/i.smap/bouman/segment.c,
+	  imagery/i.smap/shapiro/closefiles.c,
+	  imagery/i.smap/shapiro/main.c, imagery/i.smap/shapiro/opencell.c,
+	  imagery/i.smap/shapiro/openfiles.c,
+	  imagery/i.smap/shapiro/parse.c,
+	  imagery/i.smap/shapiro/read_sig.c,
+	  imagery/i.smap/shapiro/write_img.c: - Canibalize GIS API.
+	  - Localize text.
+	  - Correct minor compiler warnings.
+
+2005-08-04 18:58  brad
+
+	* lib/ogsf/local_proto.h, lib/ogsf/trans.c: - Remove unused legacy
+	  public functions: P_translate() P_rotate().
+	  - Removed associated unused private functions.
+
+2005-08-04 11:48  markus
+
+	* lib/init/init.sh: also advertise presence of volume G3D_MASK
+
+2005-08-04 11:41  markus
+
+	* raster3d/r3.mask/mask_main.c: message cosmetics
+
+2005-08-04 10:01  markus
+
+	* raster3d/r3.mask/mask.h: Soeren Gebbert <soerengebbert gmx de>:
+	  code reorganised for better reading and to be closer to the
+	  grass/gnu coding standards
+
+2005-08-04 10:01  markus
+
+	* raster3d/r3.mask/mask.c, raster3d/r3.mask/mask_main.c: Soeren
+	  Gebbert <soerengebbert gmx de>: fixed bug (rows and cols were
+	  permuted); added translation macro ; code reorganised for better
+	  reading and to be closer to the grass/gnu coding standards
+
+2005-08-04 09:52  markus
+
+	* raster3d/r3.out.ascii/description.html,
+	  raster3d/r3.out.ascii/main.c: Soeren Gebbert <soerengebbert gmx
+	  de>: added translation macro ; added -m flag for mask support
+
+2005-08-04 09:47  markus
+
+	* raster3d/r3.out.vtk/description.html, raster3d/r3.out.vtk/main.c:
+	  Soeren Gebbert <soerengebbert gmx de>: added -m flag for mask
+	  support
+
+2005-08-04 09:44  markus
+
+	* raster3d/r3.info/main.c: Soeren Gebbert <soerengebbert gmx de>:
+	  added translation macro; replaced most sprintf with snprintf ;
+	  added flag R, now range is printed like in r.info
+
+2005-08-04 09:42  markus
+
+	* raster3d/r3.in.ascii/description.html,
+	  raster3d/r3.in.ascii/main.c: Soeren Gebbert <soerengebbert gmx
+	  de>: code cleanup
+
+2005-08-03 22:09  brad
+
+	* visualization/xganim/Clr_table.c, visualization/xganim/gui.c,
+	  visualization/xganim/gui.h, visualization/xganim/main.c: - Update
+	  to modern standards
+	  - Use functions from lib/gis for messaging, localization and
+	  memory allocation
+	  - Fix compilation warnings
+	  - Update function namespace
+
+2005-08-03 17:51  danielc
+
+	* tools/g.html2man/g.html2man: Added <sup> support (used by
+	  r.watershed); man will ignore it anyway but who knows
+
+2005-08-03 17:47  danielc
+
+	* vector/v.in.ascii/description.html: Tidy the HTML a little. Makes
+	  g.html2man happier.
+
+2005-08-03 17:28  markus
+
+	* doc/howto_release.txt: completed
+
+2005-08-03 16:12  markus
+
+	* doc/howto_release.txt: more src package fine tuning
+
+2005-08-03 15:44  markus
+
+	* doc/howto_release.txt: improved ChangeLog procedure
+
+2005-08-03 12:56  markus
+
+	* scripts/d.correlate/d.correlate, scripts/d.out.png/d.out.png,
+	  scripts/d.resize/d.resize,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/i.oif/i.oifcalc,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.in.srtm/r.in.srtm,
+	  scripts/r.plane/r.plane, scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.univar.sh/r.univar.sh, scripts/v.db.addcol/v.db.addcol,
+	  scripts/v.db.update/v.db.update, scripts/v.in.e00/v.in.e00,
+	  scripts/v.in.garmin/v.in.garmin, scripts/v.in.gns/v.in.gns,
+	  scripts/v.in.mapgen/v.in.mapgen, scripts/v.univar.sh/v.univar.sh:
+	  added LC_NUMERIC=C to avoid that awk fails in non-English
+	  locales; ask test added
+
+2005-08-03 12:40  markus
+
+	* display/d.m/menu.tcl: g3.* functionality merged into g.region
+
+2005-08-03 12:36  markus
+
+	* scripts/g3_scripts: functionality merged into g.region
+
+2005-08-02 12:57  markus
+
+	* doc/debugging.txt: memusage added
+
+2005-08-02 10:38  markus
+
+	* rpm/mandrake/grass.spec: updated
+
+2005-08-02 10:13  markus
+
+	* raster3d/Makefile: Sören Gebbert <soerengebbert gmx de>:
+	  r3.out.vtk added
+
+2005-08-02 10:12  markus
+
+	* raster3d/r3.out.vtk, raster3d/r3.out.vtk/Makefile,
+	  raster3d/r3.out.vtk/description.html, raster3d/r3.out.vtk/main.c:
+	  Sören Gebbert <soerengebbert gmx de>: new export module
+
+2005-08-02 00:55  danielc
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/print.c, lib/db/sqlp/sql.c, lib/db/sqlp/yac.y: *
+	  Modify DBF parser and interpreter to handle updates that use
+	  expressions:
+	  grass6/db/drivers/dbf/dbfexe.c grass6/include/sqlp.h
+	  grass6/lib/db/sqlp/lex.l grass6/lib/db/sqlp/print.c
+	  grass6/lib/db/sqlp/sql.c grass6/lib/db/sqlp/yac.y
+
+2005-08-02 00:25  markus
+
+	* lib/g3d/g3dlib.dox, lib/gis/gislib.dox,
+	  lib/imagery/imagerylib.dox, lib/ogsf/ogsflib.dox: a tentative to
+	  reorganize page order
+
+2005-08-01 20:28  markus
+
+	* visualization/nviz/src/nviz_init.c: added CMD line parameters for
+	  (vector) points and volumes
+
+2005-08-01 18:44  markus
+
+	* raster/r.kappa/stats.c: fixed compiler warnings; i18N
+
+2005-08-01 17:59  bob
+
+	* visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/change_view.c,
+	  visualization/nviz/src/cutplane_obj.c,
+	  visualization/nviz/src/do_zoom.c, visualization/nviz/src/draw.c,
+	  visualization/nviz/src/init_commands.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/map_obj.c, visualization/nviz/src/misc.c,
+	  visualization/nviz/src/mkdspf_fill_cfax.c,
+	  visualization/nviz/src/nvizAppInit.c,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/quick_draw.c,
+	  visualization/nviz/src/togl_cb.c,
+	  visualization/nviz/src/togl_flythrough.c,
+	  visualization/nviz/src/volume.c: Code cleanup and streamline
+	  drawing routines
+
+2005-08-01 17:57  bob
+
+	* visualization/nviz/scripts/attIsosurfPopup.tcl,
+	  visualization/nviz/scripts/extra_bindings.tcl,
+	  visualization/nviz/scripts/flythrough.tcl,
+	  visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panel_kanimator.tcl,
+	  visualization/nviz/scripts/panel_label.tcl,
+	  visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_scale.tcl,
+	  visualization/nviz/scripts/widgets.tcl: Changed GUI layout and
+	  updated drawing routines
+
+2005-08-01 17:54  bob
+
+	* lib/ogsf/local_proto.h: Added missing prototypes
+
+2005-08-01 17:54  bob
+
+	* lib/ogsf/GS2.c, lib/ogsf/gsd_objs.c: Updated north arrow routines
+
+2005-08-01 17:53  bob
+
+	* lib/ogsf/gk.c: Moved prototype
+
+2005-08-01 17:47  bob
+
+	* lib/ogsf/gsd_surf.c: Changed cut plane color option
+
+2005-08-01 17:26  markus
+
+	* tools/cvs2cl.pl: updated to current version
+
+2005-08-01 16:43  markus
+
+	* lib/vector/Vlib/build_ogr.c: fixed printing of numbers of
+	  features ; i18N
+
+2005-08-01 13:16  stephan
+
+	* locale/po/grassmods_de.po: + more german translations
+
+2005-08-01 10:15  markus
+
+	* configure: print 64bit support
+
+2005-07-31 08:45  markus
+
+	* lib/g3d/g3dcolor.c: Jaro Hofierka: fix volume visualization
+	  bug/lost filename
+
+2005-07-29 15:18  markus
+
+	* doc/howto_release.txt: also publish SUBMITTING
+
+2005-07-29 13:45  markus
+
+	* debian/NEWS, debian/changelog, debian/compat, debian/copyright,
+	  debian/docs, debian/fixpaths.sh, debian/fixscripts.sh,
+	  debian/grass-doc.install, debian/grass-doc.links,
+	  debian/grass.install, debian/grass.links, debian/grass61.1,
+	  debian/libgrass-dev.install, debian/libgrass.dirs,
+	  debian/libgrass.install, debian/libgrass.lintian-overrides,
+	  debian/libgrass.postinst, debian/libgrass.postrm, debian/rules:
+	  updated from 6.0.0-1/Debian
+
+2005-07-29 13:44  markus
+
+	* debian/patches, debian/patches/00list,
+	  debian/patches/epsg-codes-loc.dpatch,
+	  debian/patches/htmlgen-fakeroot.dpatch: added
+
+2005-07-29 13:08  markus
+
+	* debian/control: updated from 6.0.0-1/Debian
+
+2005-07-28 10:02  markus
+
+	* scripts/v.in.e00/v.in.e00: E00 ASCII test modified
+
+2005-07-28 07:52  markus
+
+	* Makefile: reverted nonsense submission
+
+2005-07-28 07:51  markus
+
+	* Makefile: pdfdocs: this lib is called gis... (merged from HEAD)
+
+2005-07-27 21:38  michael
+
+	* display/d.m/menu.tcl, display/d.m/script/r.support.sh: Adds
+	  r.support to GIS Manager menus
+
+2005-07-27 16:58  markus
+
+	* lib/gis/Makefile: pdfdocs: this lib is called gis...
+
+2005-07-27 16:54  markus
+
+	* INSTALL: polished
+
+2005-07-25 13:19  stephan
+
+	* locale/po/grasslibs_de.po: + header-adress fix
+
+2005-07-25 02:04  brad
+
+	* imagery/i.ifft/ifftmain.c: - Localize text.
+
+2005-07-24 14:13  moritz
+
+	* scripts/v.db.addcol/description.html,
+	  scripts/v.db.addcol/v.db.addcol: added hints to supported column
+	  types
+
+2005-07-24 01:18  brad
+
+	* imagery/i.ifft/orig_wind.c: - Localize messages
+
+2005-07-24 00:38  brad
+
+	* visualization/xganim/Clr_table.c, visualization/xganim/gui.h: -
+	  Make nonvoid function return a value in Clr_table.c
+	  - Add function prototypes to gui.h
+
+2005-07-23 06:34  brad
+
+	* visualization/xganim/Clr_table.c, visualization/xganim/gui.c,
+	  visualization/xganim/main.c: - Update function
+	  declarations/prototypes to modern standards.
+	  - Add localization support to Clr_table.c
+
+2005-07-22 21:07  brad
+
+	* imagery/i.gensig/check.c, imagery/i.gensig/covariance.c,
+	  imagery/i.gensig/get_train.c, imagery/i.gensig/means.c,
+	  imagery/i.gensig/parse.c: - Localization plurality update.
+
+2005-07-22 19:32  stephan
+
+	* locale/po/grasslibs_de.po: + i18n: debug-messages in german
+
+2005-07-22 17:25  brad
+
+	* imagery/i.gensig/check.c, imagery/i.gensig/covariance.c,
+	  imagery/i.gensig/get_train.c, imagery/i.gensig/main.c,
+	  imagery/i.gensig/means.c, imagery/i.gensig/opencell.c,
+	  imagery/i.gensig/openfiles.c, imagery/i.gensig/parse.c,
+	  imagery/i.gensig/print_sig.c, imagery/i.gensig/write_sig.c: -
+	  Message output and localization updates.
+
+2005-07-22 14:03  markus
+
+	* lib/vector/Vlib/map.c: added tests for file name (closes bug
+	  #3454)
+
+2005-07-22 13:59  markus
+
+	* lib/vector/Vlib/legal_vname.c: use GNAME_MAX from gis.h
+
+2005-07-22 12:40  markus
+
+	* doc/howto_release.txt: extract version
+
+2005-07-22 03:25  glynn
+
+	* raster/r.statistics/o_var.c: Fix bug in m_var(): initialise s to
+	  zero.
+
+2005-07-21 11:56  markus
+
+	* doc/howto_release.txt: fix for Changelog file creation
+
+2005-07-21 09:39  markus
+
+	* raster/r.in.gdal/description.html: comment on rotated images
+	  added
+
+2005-07-21 09:11  radim
+
+	* lib/vector/Vlib/header.c: warning on currupted head
+
+2005-07-20 21:02  markus
+
+	* scripts/r.out.gdal/description.html: updated
+
+2005-07-19 22:20  markus
+
+	* AUTHORS: added Brad
+
+2005-07-19 21:29  markus
+
+	* lib/ogsf/Makefile: specify also TIFFLIBPATH for non-standard
+	  setups (bug #3104)
+
+2005-07-19 21:27  markus
+
+	* visualization/nviz/src/Makefile: don't hardcode -ltiff (bug
+	  #3105)
+
+2005-07-19 21:21  markus
+
+	* lib/ogsf/gsurf.h, lib/ogsf/gvl_file.c: have definitions in one
+	  place (see related wish #3146)
+
+2005-07-19 20:50  markus
+
+	* lib/gmath/numerical.h: removed unused definitions (closes #3357)
+
+2005-07-19 15:00  markus
+
+	* imagery/i.group/main.c: fix the fix - cleaner implementation
+
+2005-07-19 14:40  markus
+
+	* imagery/i.group/main.c: create REF file for group in case
+	  'subgroup' parameter is used (fix for i.points)
+
+2005-07-19 14:34  markus
+
+	* lib/imagery/find.c, lib/imagery/fopen.c: debug message added
+
+2005-07-19 10:01  hamish
+
+	* scripts/r.shaded.relief/r.shaded.relief: message cosmetics
+
+2005-07-19 09:17  hamish
+
+	* display/d.legend/main.c: whitespace in description.
+	  i18n
+
+2005-07-19 06:04  stephan
+
+	* locale/po/grassmods_de.po: + more german translations
+
+2005-07-18 19:03  stephan
+
+	* locale/po/grassmods_de.po: + more german translations
+
+2005-07-18 12:51  markus
+
+	* vector/v.in.ascii/points.c: added DMS LatLong support
+
+2005-07-18 08:26  markus
+
+	* tools/g.html2man/g.html2man: Daniel Calvelo Aros <dcalvelo minag
+	  gob pe>: properlty escape special chars; closes debian bug#313307
+
+2005-07-18 07:50  markus
+
+	* locale/README: hopefully clarified
+
+2005-07-18 07:26  stephan
+
+	* locale/po/grasslibs_de.po: + some more german translations
+
+2005-07-16 09:09  markus
+
+	* include/gis.h: enables long name support (may still not work with
+	  a few modules
+
+2005-07-15 11:55  markus
+
+	* raster/r.random.cells/flag.c, raster/r.random.cells/init.c: some
+	  compiler warnings fixed
+
+2005-07-15 11:48  markus
+
+	* config.guess, config.sub: re-committed to enforce executable
+	  permissions
+
+2005-07-15 11:45  markus
+
+	* INSTALL: use also --enable-64bit for 64bit
+
+2005-07-15 11:44  markus
+
+	* config.guess, config.sub: updated from
+	  http://savannah.gnu.org/cgi-bin/viewcvs/config/config/
+
+2005-07-15 11:40  markus
+
+	* configure.in: advertise 64bit support if activated
+
+2005-07-15 10:14  markus
+
+	* INSTALL: added further 64bit trick
+
+2005-07-15 09:37  markus
+
+	* raster/r.kappa/stats.c, raster3d/r3.mkdspf/iso_surface.c,
+	  raster3d/r3.mkdspf/r3_find.c: some compiler warnings fixed
+
+2005-07-15 07:54  markus
+
+	* vector/v.external/description.html: fixed outdated links
+
+2005-07-14 14:48  markus
+
+	* general/g.region/cmd/main.c, raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.showdspf/r3_find.c: fixed hardcoded name lengths
+
+2005-07-14 14:46  markus
+
+	* general/g3.region: merged into g.region
+
+2005-07-14 14:39  markus
+
+	* raster/r.clump/main.c, raster/r.kappa/stats.c,
+	  raster/r.resample/main.c, raster/r.sun/main.c,
+	  raster/r.what/main.c: fixed hardcoded name lengths
+
+2005-07-14 14:33  markus
+
+	* lib/gis/get_row.c, lib/gis/gislib.dox, lib/gis/myname.c,
+	  lib/gis/tempfile.c: some more GNAME_MAX candidates fixed
+
+2005-07-14 14:25  markus
+
+	* lib/imagery/imagerylib.dox: global definition
+
+2005-07-14 13:51  markus
+
+	* imagery/i.class/defs.h, imagery/i.class/main.c,
+	  imagery/i.points/analyze.c, imagery/i.points/ask.c,
+	  imagery/i.points/cell.c, imagery/i.points/defs.h,
+	  imagery/i.points/drawcell.c, imagery/i.points/main.c,
+	  imagery/i.points/target.c: replaced hardcoded name lengths by
+	  global definition
+
+2005-07-14 13:30  markus
+
+	* include/imagery.h: coupled INAME_LEN to raster map name length
+
+2005-07-14 13:26  markus
+
+	* imagery/i.group/main.c, imagery/i.rectify/main.c,
+	  imagery/i.rectify/target.c, imagery/i.target/main.c: use global
+	  name length definitions instead of local lengths
+
+2005-07-14 08:50  markus
+
+	* raster/r.proj/description.html: added Morten's whole-world
+	  comment
+
+2005-07-14 08:34  markus
+
+	* include/gis.h: don't include math.h, unconditionally define PI to
+	  avoid later compilation problems
+
+2005-07-14 08:10  markus
+
+	* scripts/d.rast.leg/d.rast.leg: mention new simplified clear
+	  screen
+
+2005-07-14 07:59  markus
+
+	* lib/cdhc/as66.c, lib/cdhc/dagstndn.c,
+	  lib/vector/rtree/gammavol.c, lib/vector/rtree/rect.c,
+	  lib/vector/rtree/sphvol.c, vector/v.label/main.c: use M_PI from
+	  gis.h/math.h
+
+2005-07-14 07:25  markus
+
+	* tools/g.html2man/g.html2man: reverted last patch (re-opens debian
+	  bug#313307)
+
+2005-07-14 07:22  markus
+
+	* visualization/nviz/html/nviz_panel_cplane.html: cosmetics
+
+2005-07-14 06:38  hamish
+
+	* vector/v.mkgrid/description.html: remove broken link, add one to
+	  d.grid
+
+2005-07-14 05:51  hamish
+
+	* scripts/d.rast.leg/description.html: add note about erasing
+	  frames. remove cruft
+
+2005-07-14 01:47  hamish
+
+	* raster/r.random/creat_rand.c: both includes are needed in all
+	  cases, so move to top
+
+2005-07-14 01:37  hamish
+
+	* raster/r.random/creat_rand.c: RAND_MAX is defined in stdlib.h, so
+	  include it
+	  (not bothering conditionalizing it as it's so common)
+
+2005-07-13 16:07  markus
+
+	* vector/v.voronoi/sw_output.c: fixed compiler warning
+
+2005-07-13 16:06  markus
+
+	* raster/r.what/usage.c, raster3d/r3.mkdspf/calc_linefax.c: fixed
+	  compiler warnings
+
+2005-07-13 15:57  markus
+
+	* raster/r.median/main.c, raster/r.median/read_stats.c,
+	  raster/r.mfilter/getrow.c, raster/r.mfilter/main.c,
+	  raster/r.mode/main.c, raster/r.mode/read_stats.c,
+	  raster/r.out.arc/main.c, raster/r.out.gridatb/check_ready.c,
+	  raster/r.out.gridatb/file_io.c, raster/r.reclass/input.c,
+	  raster/r.reclass/reclass.c, raster/r.report/main.c,
+	  raster/r.report/parse.c, raster/r.report/prt_report.c,
+	  raster/r.resample/main.c, raster/r.thin/main.c,
+	  raster/r.thin/thin_lines.c, raster/r.timestamp/main.c,
+	  raster/r.water.outlet/legal.c, raster/r.water.outlet/main.c:
+	  fixed compiler warnings
+
+2005-07-13 15:56  markus
+
+	* raster/r.los/make_list.c, raster/r.out.mpeg/write.c,
+	  raster/r.quant/main.c, raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale/get_range.c, raster/r.statistics/read_stats.c,
+	  raster/r.stats/cell_stats.c, raster/r.stats/raw_stats.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.idw2/read_cell.c: fixed
+	  compiler warning
+
+2005-07-13 15:47  markus
+
+	* raster/r.kappa/calc_kappa.c, raster/r.kappa/local_proto.h,
+	  raster/r.kappa/prt_label.c: some compiler warings fixed
+
+2005-07-13 15:39  markus
+
+	* imagery/i.ifft/do_histogram.c, imagery/i.rgb.his/r2hmain.c,
+	  raster/r.describe/main.c, raster/r.distance/labels.c,
+	  raster/r.in.ascii/local_proto.h, raster/r.in.gridatb/file_io.c,
+	  raster/r.in.poly/poly2rast.c: fixed compiler warning
+
+2005-07-13 15:37  markus
+
+	* display/d.mon/pgms/release.c, display/d.mon/pgms/start.c,
+	  display/d.mon/pgms/status.c, display/d.mon/pgms/stop.c,
+	  display/d.mon/pgms/which.c, display/d.profile/ExtractProf.c,
+	  display/d.profile/bnw_line.c, display/d.rast.edit/main.c,
+	  display/d.rast.edit/menu.c, display/d.zoom/ask.c,
+	  display/d.zoom/redraw.c, display/drivers/PNG/pngdriver.h,
+	  imagery/i.gensig/covariance.c, imagery/i.gensig/get_train.c,
+	  imagery/i.gensig/main.c, imagery/i.gensig/means.c,
+	  imagery/i.gensig/opencell.c, imagery/i.gensig/openfiles.c,
+	  imagery/i.gensig/parse.c, imagery/i.gensig/read_train.c,
+	  imagery/i.gensig/write_sig.c, imagery/i.maxlik/main.c,
+	  imagery/i.maxlik/open.c,
+	  imagery/i.ortho.photo/photo.2image/call.c,
+	  imagery/i.ortho.photo/photo.2image/curses.c,
+	  imagery/i.ortho.photo/photo.2image/find.c,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2target/call.c,
+	  imagery/i.ortho.photo/photo.2target/curses.c,
+	  imagery/i.ortho.photo/photo.2target/find.c,
+	  imagery/i.ortho.photo/photo.camera/main.c,
+	  imagery/i.ortho.photo/photo.camera/mod_cam_info.c,
+	  imagery/i.ortho.photo/photo.elev/ask_elev.c,
+	  imagery/i.ortho.photo/photo.elev/main.c,
+	  imagery/i.ortho.photo/photo.elev/mod_elev.c,
+	  imagery/i.ortho.photo/photo.init/main.c,
+	  imagery/i.ortho.photo/photo.init/mod_info.c,
+	  imagery/i.ortho.photo/photo.target/main.c,
+	  imagery/i.smap/bouman/interp.c,
+	  imagery/i.smap/bouman/multialloc.c,
+	  imagery/i.smap/bouman/read_block.c,
+	  imagery/i.smap/bouman/segment.c, imagery/i.smap/shapiro/main.c,
+	  imagery/i.smap/shapiro/opencell.c,
+	  imagery/i.smap/shapiro/openfiles.c,
+	  imagery/i.smap/shapiro/parse.c,
+	  imagery/i.smap/shapiro/read_sig.c, imagery/i.vpoints/call.c,
+	  imagery/i.vpoints/cell.c, imagery/i.vpoints/curses.c,
+	  raster/r.cats/cats.c, raster/r.cats/main.c,
+	  raster/r.cross/cross.c, raster/r.cross/renumber.c,
+	  raster/r.digit/bnw_line.c, raster/r.digit/main.c,
+	  raster/r.in.arc/main.c: fixed compiler warnings
+
+2005-07-13 15:24  markus
+
+	* display/d.histogram/mytext.c, display/d.linegraph/linegraph.c,
+	  display/d.measure/draw_line.c, display/d.mon/cmd/main.c,
+	  display/d.rgb/main.c, display/d.where/b_w_line.c,
+	  general/g.tempfile/main.c, general/manage/lib/menu.c,
+	  imagery/i.ask/main.c, imagery/i.ortho.photo/libes/conz_points.c:
+	  fixed compiler warning
+
+2005-07-13 15:05  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Clr_table.c,
+	  display/drivers/XDRIVER/XDRIVER24/Color.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster_RGB.c,
+	  display/drivers/XDRIVER/XDRIVER24/Serve_Xevent.c: fixed compiler
+	  warnings
+
+2005-07-13 12:35  stephan
+
+	* locale/po/grassmods_de.po: + more translations (i18n:de_DE)
+
+2005-07-13 12:29  markus
+
+	* raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/local_proto.h: fixed compiler warnings
+
+2005-07-13 12:25  markus
+
+	* raster/r.le/r.le.setup/local_proto.h,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.setup/user_input.c,
+	  raster/r.le/r.le.trace/local_proto.h,
+	  raster/r.le/r.le.trace/main.c: use global constant for
+	  GNAME_MAX/GMAPSET_MAX lengths; fixed compiler warnings
+
+2005-07-13 12:21  stephan
+
+	* visualization/nviz/html/nviz_panel_cplane.html: + added note
+	  about the colorisation
+
+2005-07-13 12:16  markus
+
+	* raster/r.coin/coin.h, raster/r.drain/main.c: use global constant
+	  for GNAME_MAX/GMAPSET_MAX lengths
+
+2005-07-13 12:15  markus
+
+	* raster/r.basins.fill/die.c, raster/r.basins.fill/main.c,
+	  raster/r.coin/check.c, raster/r.coin/cmd_parms.c,
+	  raster/r.coin/main.c, raster/r.coin/make_coin.c,
+	  raster/r.fill.dir/filldir.c, raster/r.fill.dir/main.c,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c, raster/r.watershed/ram/usage.c,
+	  raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c, raster/r.watershed/seg/usage.c,
+	  raster/r.watershed/shed/basin_maps.c,
+	  raster/r.watershed/shed/file_in.c,
+	  raster/r.watershed/shed/main.c, raster/r.watershed/shed/read.c,
+	  raster/r.watershed/shed/valid.c: use global constant for
+	  GNAME_MAX/GMAPSET_MAX lengths; fixed compiler warnings
+
+2005-07-13 11:56  markus
+
+	* lib/gis/gislib.dox, lib/gis/gisrasterlib.dox,
+	  lib/gis/gissiteslib.dox, lib/gis/gisvectorlib.dox: fixed
+	  documentation
+
+2005-07-13 11:53  markus
+
+	* lib/gmath/numerical.h: commented/fixed unused definition
+
+2005-07-13 11:50  markus
+
+	* include/gis.h, lib/gis/find_cell.c, lib/gis/get_cellhd.c,
+	  lib/gis/list.c, lib/gis/mapset_nme.c, lib/gis/mask_info.c,
+	  lib/gis/nme_in_mps.c: single global constant for
+	  GNAME_MAX/GMAPSET_MAX lengths
+
+2005-07-13 11:47  markus
+
+	* include/imagery.h: single global constant for INAME_LEN length
+
+2005-07-13 11:45  markus
+
+	* lib/imagery/imagerylib.dox: use global constant for length
+
+2005-07-13 10:18  markus
+
+	* tools/g.html2man/g.html2man: Daniel Calvelo Aros <dcalvelo minag
+	  gob pe>: escaping control characters for roff (Closes: #313307
+	  Debian)
+
+2005-07-12 17:26  markus
+
+	* include/gis.h: also M_PI_4
+
+2005-07-12 17:18  markus
+
+	* raster/r.random.cells/ransurf.h,
+	  raster/r.random.surface/ransurf.h, raster/r.sunmask/main.c,
+	  raster/r.transect/parse_line.c, raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/select_linksB.c,
+	  raster/wildfire/r.spread/spot.c,
+	  raster/wildfire/r.spread/spread.c, vector/v.buffer/main.c,
+	  vector/v.in.dwg/entity.c, vector/v.mkgrid/main.c,
+	  vector/v.transform/trans_digit.c: use M_PI from math.h/gis.h
+
+2005-07-12 17:17  markus
+
+	* vector/v.label/main.c: replaced
+	  3.1415926535897932384626433832795029L with M_PI - right?
+
+2005-07-12 17:14  markus
+
+	* scripts/r.plane/r.plane: longer PI
+
+2005-07-12 17:10  markus
+
+	* raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.surf.idw/ll.c, raster/r.surf.idw/pi.h: use M_PI from
+	  math.h/gis.h; fixed compiler warnings
+
+2005-07-12 16:59  markus
+
+	* raster/r.out.pov/main.c: use M_PI from math.h/gis.h; fixed
+	  compiler warnings
+
+2005-07-12 16:58  markus
+
+	* raster/r.mapcalc/xatan.c, raster/r.mapcalc/xcos.c,
+	  raster/r.mapcalc/xsin.c, raster/r.mapcalc/xtan.c: use M_PI from
+	  math.h/gis.h
+
+2005-07-12 16:55  markus
+
+	* misc/m.cogo/main.c, ps/ps.map/vector.h,
+	  raster/r.le/r.le.patch/patch.h, raster/r.los/radians.h: use M_PI
+	  from gis.h
+
+2005-07-12 16:47  markus
+
+	* include/gis.h: M_PI_2 as well
+
+2005-07-12 16:44  markus
+
+	* display/drivers/lib/driverlib.h: fix gcc warnings
+
+2005-07-12 16:44  markus
+
+	* display/drivers/lib/Text2.c: depend on M_PI instead of local
+	  definition
+
+2005-07-12 16:37  markus
+
+	* display/d.vect.chart/bar.c, display/d.vect.chart/pie.c,
+	  imagery/i.gensigset/subcluster.c, imagery/i.smap/bouman/model.c,
+	  imagery/i.zc/findzc.c: depend on M_PI instead of local definition
+
+2005-07-12 16:34  markus
+
+	* imagery/i.gensigset/get_train.c, imagery/i.gensigset/main.c,
+	  imagery/i.gensigset/opencell.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.gensigset/parse.c, imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c,
+	  imagery/i.gensigset/write_sig.c: fixed compiler warnings
+
+2005-07-12 16:17  markus
+
+	* lib/ogsf/trans.c, lib/symbol/stroke.c: depend on M_PI instead of
+	  local definition
+
+2005-07-12 16:05  markus
+
+	* lib/gis/pi.h, lib/vector/Vlib/buffer.c: depend on M_PI instead of
+	  local definition
+
+2005-07-12 16:01  markus
+
+	* include/gis.h: added math.h for PI
+
+2005-07-12 15:55  markus
+
+	* raster/r.flow/r.flow.h: M_PI now defined in gis.h
+
+2005-07-12 15:54  markus
+
+	* include/gis.h: centralized M_PI definition
+
+2005-07-12 15:13  markus
+
+	* db/base/local_proto.h, db/base/printtab.c: definitions to make
+	  gcc 3.4.3 happy
+
+2005-07-12 15:11  markus
+
+	* INSTALL: added 64bit notes
+
+2005-07-12 09:52  markus
+
+	* vector/v.vol.rst/dataoct.h, vector/v.vol.rst/user3.c,
+	  vector/v.vol.rst/user4.c: fixes for gcc
+	  -Werror-implicit-function-declaration -fno-common
+
+2005-07-12 08:57  markus
+
+	* lib/vector/diglib/local_proto.h, lib/vector/diglib/port_test.c:
+	  fixes for gcc -Werror-implicit-function-declaration -fno-common;
+	  removed unused vars
+
+2005-07-12 08:34  hamish
+
+	* lib/gis/parser.c: quote opt->key_desc
+
+2005-07-12 07:26  markus
+
+	* raster/r.texture/h_measure.c: trap negative/no data values with
+	  dedicated error message
+
+2005-07-12 07:14  hamish
+
+	* lib/gis/gui.tcl: make option description more readable
+
+2005-07-12 06:34  hamish
+
+	* lib/gis/parser.c: make HTML and TclTk forms use opt->key_desc if
+	  it is there.
+	  fix compiler warning re. cast type.
+
+2005-07-11 17:57  markus
+
+	* vector/v.vol.rst/dataoct.c: fix to make gcc happy
+
+2005-07-11 17:56  markus
+
+	* vector/v.vol.rst/main.c: fixed segfault when closing
+
+2005-07-11 17:43  markus
+
+	* general/g.region/cmd/main.c: message cosmetics
+
+2005-07-10 09:25  stephan
+
+	* locale/po/grassmods_de.po: + more translations to grassmods_de
+
+2005-07-07 08:29  hamish
+
+	* ps/ps.map/description.html: add note about escaping parentheses
+
+2005-07-07 05:24  markus
+
+	* lib/index.dox: activated more links'
+
+2005-07-06 16:00  markus
+
+	* db/base/describe.c: print also column type (as v.info does)
+
+2005-07-06 15:40  markus
+
+	* scripts/Makefile, scripts/i.in.spotvgt,
+	  scripts/i.in.spotvgt/Makefile,
+	  scripts/i.in.spotvgt/description.html,
+	  scripts/i.in.spotvgt/i.in.spotvgt, scripts/i.in.spotvrt: renamed
+	  i.in.spotvrt -> i.in.spotvgt
+
+2005-07-06 13:20  markus
+
+	* lib/vector/Vlib/build.c: added hint
+
+2005-07-06 13:18  markus
+
+	* lib/vector/vector_arch.dox: adding knowledge piecewise
+
+2005-07-06 13:09  markus
+
+	* lib/vector/vector_arch.dox: adding knowledge piecewise (sigh)
+
+2005-07-06 12:48  markus
+
+	* lib/db/dbmi_client/c_list_tabs.c: doxygen added
+
+2005-07-06 12:24  markus
+
+	* raster/r.texture/h_measure.c: first attemt to fix category
+	  problem
+
+2005-07-06 11:38  hamish
+
+	* display/d.vect/main.c: i18n, 'cat' to 'cats' in -i desc.
+
+2005-07-06 11:27  hamish
+
+	* ps/ps.map/description.html: missing end in example (bug # 3332)
+
+2005-07-06 11:15  markus
+
+	* scripts/i.in.spotvrt/i.in.spotvrt: bugfix (thanks to Vincent
+	  Schut)
+
+2005-07-06 11:02  hamish
+
+	* ps/ps.map/description.html: fix some typos from bug #3318
+
+2005-07-06 10:49  hamish
+
+	* ps/ps.map/description.html: remove references to r.mask (not
+	  ported to GRASS 6)
+
+2005-07-06 10:35  hamish
+
+	* ps/ps.map/do_plt.c: draw all points as only way to generate one
+	  is explicitly with the ps.map
+	  "point" instruction.
+
+2005-07-06 09:06  markus
+
+	* scripts/Makefile: i.in.spotvrt
+
+2005-07-06 09:05  markus
+
+	* scripts/i.in.spotvrt, scripts/i.in.spotvrt/Makefile,
+	  scripts/i.in.spotvrt/description.html,
+	  scripts/i.in.spotvrt/i.in.spotvrt: new script to import SPOT
+	  VEGETATION NDVI
+
+2005-07-06 06:59  hamish
+
+	* lib/init/init.sh: check that $SHELL exists before using it
+
+2005-07-06 03:26  hamish
+
+	* lib/symbol/symbol/extra, lib/symbol/symbol/extra/alpha_flag,
+	  lib/symbol/symbol/extra/dive_flag: add some new icons
+
+2005-07-05 16:23  glynn
+
+	* lib/db/sqlp/Makefile: Fix y.tab.h dependency
+
+2005-07-05 11:11  hamish
+
+	* ps/ps.map/description.html: add hint about making custom legends
+
+2005-07-05 10:33  hamish
+
+	* ps/ps.map/r_plt.c: make default point size visible (and match
+	  vpoints)
+
+2005-07-05 10:25  markus
+
+	* scripts/v.in.gns/description.html: extended
+
+2005-07-05 08:33  stephan
+
+	* locale/po/grassmods_de.po: + small fix (and test, if commiting
+	  works, thanks bernhard)
+
+2005-07-05 07:39  hamish
+
+	* display/d.text.freetype/main.c: fix segfault if capfile was empty
+
+2005-07-05 07:10  hamish
+
+	* display/d.text.freetype/main.c: i18n
+
+2005-07-05 05:50  hamish
+
+	* raster/r.random/creat_rand.c: fix lrand48() for Cygwin & Apple.
+	  (fix from Glynn) see:
+	  http://grass.itc.it/pipermail/grass5/2005-June/018519.html
+	  http://grass.itc.it/pipermail/grass5/2005-June/018528.html
+
+2005-07-04 13:29  markus
+
+	* raster3d/r3.info/main.c: cosmetics
+
+2005-07-04 13:24  markus
+
+	* raster3d/r3.info/description.html: cleanup
+
+2005-07-04 13:22  markus
+
+	* raster3d/r3.info/local_proto.h, raster3d/r3.info/main.c: added
+	  range flag for 3D voxel
+
+2005-07-04 03:54  helena
+
+	* vector/v.surf.rst/surf.h: default npmin increased to 300 as it
+	  was in s.surf.rst
+
+2005-07-04 03:52  helena
+
+	* vector/v.surf.rst/main.c: bug fix that was not carried over from
+	  s.surf.rst related to large segments added
+
+2005-07-04 03:46  helena
+
+	* lib/rst/interp_float/vinput2d.c: fatal error added if negative
+	  smoothing is found
+
+2005-07-03 17:44  markus
+
+	* doc/howto_release.txt: added branch trick for ChangeLog
+
+2005-07-03 02:12  helena
+
+	* vector/v.surf.rst/description.html: more explanation of dmax and
+	  reference updated
+
+2005-07-03 02:11  helena
+
+	* vector/v.surf.rst/main.c: clarified description of parameters
+	  (hopefuly)
+
+2005-07-03 01:18  helena
+
+	* vector/v.surf.rst/main.c: fix for 3381 reading spatially variable
+	  smoothing
+
+2005-07-02 08:00  hamish
+
+	* display/d.paint.labels/do_labels.c: surpess more offscreen text
+	  boxes
+
+2005-07-01 20:19  markus
+
+	* doc/vector/v.example, doc/vector/v.example/Makefile,
+	  doc/vector/v.example/description.html,
+	  doc/vector/v.example/main.c, doc/vector/vector.html: moved
+	  v.example.c into own directory
+
+2005-07-01 17:51  glynn
+
+	* lib/db/sqlp/Makefile, lib/db/sqlp/lex.l, lib/db/sqlp/yac.y:
+	  Improve expression parsing: precedence, associativity,
+	  parentheses, negation
+	  Fix dependencies in Makefile
+
+2005-07-01 17:48  glynn
+
+	* tools/sql.sh: Ignore symlinks
+
+2005-07-01 15:20  markus
+
+	* vector/v.random/main.c: added 3D support
+
+2005-07-01 07:12  markus
+
+	* locale/po/grassmods_pt_br.po: Paulo Marcondes <paulomarcondes
+	  gmail com>: initial version
+
+2005-07-01 06:48  markus
+
+	* raster/r.flow/calc.c: fix the fix to get rid of nested comment
+
+2005-07-01 03:10  helena
+
+	* raster/r.flow/r.flow.h: removed unsed option offset
+
+2005-07-01 03:09  helena
+
+	* raster/r.flow/calc.c: disabled nonfunctional offset
+
+2005-07-01 03:08  helena
+
+	* raster/r.flow/io.c: disabled nonfunctional offset to fix calloc
+	  error, removed default reference info
+
+2005-06-30 16:32  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: cont'ed
+
+2005-06-30 16:22  markus
+
+	* lib/db/dbmi.dox: explained function groups
+
+2005-06-30 16:20  markus
+
+	* lib/db/Makefile, lib/db/README, lib/db/dbmi.dox,
+	  lib/db/dbmi_base/generate_dox.sh,
+	  lib/db/dbmi_client/generate_dox.sh,
+	  lib/db/dbmi_driver/generate_dox.sh: generate function index for
+	  all subdirs
+
+2005-06-30 15:48  markus
+
+	* lib/segment/format.c: Roberto Flor (ITC-irst): use lseek
+
+2005-06-30 14:50  markus
+
+	* lib/vector/Vlib/array.c, lib/vector/Vlib/cindex.c,
+	  lib/vector/Vlib/dbcolumns.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/write.c: added missing '\fn' declarations for
+	  doxygen
+
+2005-06-30 14:29  markus
+
+	* lib/vector/vector_arch.dox: started to add more general vector
+	  lib documentation
+
+2005-06-29 10:32  hamish
+
+	* lib/symbol/symbol/basic/triangle: add triangle symbol.
+	  note it is bigger than its bounding box-- living on the edge
+	  here.
+
+2005-06-29 01:32  hamish
+
+	* Makefile: error.log cosmetics to make the no error case less
+	  ambiguous
+
+2005-06-28 12:34  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: continued
+
+2005-06-28 10:18  markus
+
+	* vector/v.voronoi/vo_main.c: fixed module description
+
+2005-06-28 10:16  markus
+
+	* doc/debugging.txt: valgrind hints added
+
+2005-06-27 13:18  markus
+
+	* locale/po/grassmods_de.po: typos fixed (Debian bug #314063, by
+	  Jens Seidel)
+
+2005-06-27 13:11  markus
+
+	* locale/po/grasslibs_de.po: typos fixed (Debian bug #314059)
+
+2005-06-27 00:18  hamish
+
+	* raster/r.texture/description.html: minor rearrangement
+
+2005-06-27 00:14  hamish
+
+	* raster/r.texture/description.html: remove references to i.texture
+
+2005-06-27 00:04  hamish
+
+	* raster/r.texture/description.html: remove duplicate paragraph
+	  (bug#3371)
+
+2005-06-26 10:54  hamish
+
+	* vector/v.label/description.html: updates for the modern age
+
+2005-06-26 08:42  markus
+
+	* tools/build_html_index.sh: added missing nviz
+
+2005-06-26 08:42  markus
+
+	* display/d.nviz/description.html,
+	  visualization/xganim/description.html: fixed doc url
+
+2005-06-26 08:40  markus
+
+	* visualization/nviz/html/img, visualization/nviz/html/img/nv,
+	  visualization/nviz/html/img/nv/9j.gif,
+	  visualization/nviz/html/img/nv/9j_i.gif,
+	  visualization/nviz/html/img/nv/cplane.gif,
+	  visualization/nviz/html/img/nv/cplane_i.gif,
+	  visualization/nviz/html/img/nv/cut1.gif,
+	  visualization/nviz/html/img/nv/cut1_i.gif,
+	  visualization/nviz/html/img/nv/inter1.gif,
+	  visualization/nviz/html/img/nv/inter1_i.gif,
+	  visualization/nviz/html/img/nv/inter1b.gif,
+	  visualization/nviz/html/img/nv/lmodel.gif,
+	  visualization/nviz/html/img/nv/lmodel_i.gif,
+	  visualization/nviz/html/img/nv/mask1.gif,
+	  visualization/nviz/html/img/nv/mask1_i.gif,
+	  visualization/nviz/html/img/nv/sit0.gif,
+	  visualization/nviz/html/img/nv/sit0_i.gif,
+	  visualization/nviz/html/img/nv/sit3a.gif,
+	  visualization/nviz/html/img/nv/sit3a_i.gif,
+	  visualization/nviz/html/img/nv/surf3a.gif,
+	  visualization/nviz/html/img/nv/surf3a_i.gif,
+	  visualization/nviz/html/img/nv/transp2.gif,
+	  visualization/nviz/html/img/nv/transp2_i.gif,
+	  visualization/nviz/html/img/nv/trcut0.gif,
+	  visualization/nviz/html/img/nv/trcut0_i.gif,
+	  visualization/nviz/html/img/nv/trcut1.gif,
+	  visualization/nviz/html/img/nv/trcut1_i.gif,
+	  visualization/nviz/html/img/nv/trcut3.gif,
+	  visualization/nviz/html/img/nv/trcut3_i.gif: added missing
+	  directory
+
+2005-06-26 06:32  hamish
+
+	* vector/v.in.ascii/a2b.c, vector/v.in.ascii/head.c,
+	  vector/v.in.ascii/in.c: fgets() -> G_getl2()
+	  i18n
+	  skip '#' in standard input file
+
+2005-06-24 13:09  radim
+
+	* lib/vector/Vlib/cindex.c: difference between pointers counts with
+	  sizeof(int)
+
+2005-06-24 06:57  hamish
+
+	* vector/v.label/main.c: get rid of extra newline which made it
+	  ambiguous which record the
+	  text belonged to.
+
+2005-06-24 06:15  hamish
+
+	* display/d.paint.labels/do_labels.c: change border spacing to
+	  match ps.map (more or less)
+
+2005-06-24 01:15  markus
+
+	* tools/build_html_index.sh: list also nviz
+
+2005-06-23 10:21  paul
+
+	* lib/gis/asprintf.c: Don't use G_tempfile() (bug 3362)
+
+2005-06-23 10:20  hamish
+
+	* raster/r.in.arc/gethead.c, raster/r.in.ascii/gethead.c,
+	  vector/v.reclass/rules.c: use G_getl2()
+
+2005-06-23 10:12  hamish
+
+	* ps/ps.map/comment.c, ps/ps.map/do_header.c, ps/ps.map/input.c:
+	  G_getl() -> G_getl2()
+
+2005-06-23 10:09  hamish
+
+	* display/d.paint.labels/do_labels.c: G_getl2() for DOS/MacOS9
+	  input files
+
+2005-06-23 09:46  hamish
+
+	* vector/v.in.ascii/in.c: column type bugfix from Radim
+
+2005-06-23 09:09  paul
+
+	* scripts/i.oif/m.cutmatrix, scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.univar.sh/r.univar.sh, scripts/v.in.garmin/v.in.garmin,
+	  scripts/v.univar.sh/v.univar.sh, tools/build_html_index.sh:
+	  Replace head/tail -X syntax with -n X to stop warnings from
+	  recent GNU versions
+
+2005-06-23 03:21  markus
+
+	* misc/m.cogo/main.c: conditionalized hypot()
+
+2005-06-23 03:20  markus
+
+	* raster/r.flow/calc.c: disabled LatLong for now after discussion
+	  with Helena; i18N
+
+2005-06-23 03:19  markus
+
+	* raster/r.flow/r.flow.h: conditionally defined M_PI and hypot()
+
+2005-06-23 02:22  hamish
+
+	* ps/ps.map/do_labels.c, ps/ps.map/local_proto.h: obey font
+	  override from labels instruction
+
+2005-06-22 22:59  markus
+
+	* INSTALL: added Table of contents
+
+2005-06-22 21:10  brad
+
+	* lib/gis/color_insrt.c: Updated types for G_malloc() macros: int
+	  -> size_t.
+
+2005-06-22 14:06  hamish
+
+	* imagery/i.points/defs.h, imagery/i.points/main.c: revert the
+	  G_parser() update as we can't currently escape the GUI.
+	  It will read group name from the CLI though, hopefully with
+	  grace.
+
+2005-06-22 12:29  hamish
+
+	* ps/ps.map/do_labels.c: wasn't clearing the font size between
+	  labels
+
+2005-06-22 12:09  hamish
+
+	* display/d.paint.labels/do_labels.c, vector/v.label/main.c: fix
+	  multi-word placement reference
+
+2005-06-22 10:25  hamish
+
+	* display/d.paint.labels/do_labels.c: placement fix
+
+2005-06-22 09:30  hamish
+
+	* ps/ps.map/main.c: add check to see if "end" was called with data
+	  still in the pipe
+
+2005-06-22 08:56  hamish
+
+	* vector/v.label/description.html, vector/v.label/main.c: add
+	  support for fontsize label instruction
+	  i18n
+
+2005-06-22 08:12  hamish
+
+	* display/d.paint.labels/description.html,
+	  display/d.paint.labels/do_labels.c,
+	  display/d.paint.labels/main.c: add support for fontsize label
+	  instruction
+	  i18n
+
+2005-06-22 07:42  brad
+
+	* include/gisdefs.h, lib/gis/alloc.c: Correct G_calloc() types to
+	  conform to ANSI-C calloc().
+
+2005-06-21 23:08  paul
+
+	* include/gprojects.h, lib/proj/datum.c, lib/proj/get_proj.c:
+	  Append full path to datum gridshift file (fixes bug 3302)
+
+2005-06-21 19:34  markus
+
+	* db/base/db.connect.html, vector/v.category/description.html:
+	  explanations extended
+
+2005-06-21 18:57  markus
+
+	* vector/v.db.connect/description.html: fixed layer
+
+2005-06-21 13:33  radim
+
+	* vector/v.to.db/global.h, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/report.c: totals for
+	  length, area, count
+
+2005-06-21 07:57  brad
+
+	* lib/gis/system.c: Terminate execl() with a proper NULL.
+	  Convert fprintf(stderr, ...) to G_*() message commands.
+
+2005-06-21 04:20  markus
+
+	* Makefile: activated misc
+
+2005-06-21 04:18  markus
+
+	* misc, misc/Makefile, misc/m.cogo, misc/m.cogo/Makefile,
+	  misc/m.cogo/TODO, misc/m.cogo/cogo.dat,
+	  misc/m.cogo/description.html, misc/m.cogo/main.c: added code from
+	  Eric Miller with few fixes
+
+2005-06-21 04:09  brad
+
+	* raster/r.support/modhead/check_un.c,
+	  raster/r.support/modhead/factors.c,
+	  raster/r.support/modhead/modhead.c: Fix localization errors.
+	  Remove localization from fprintf() calls.
+
+2005-06-21 04:07  markus
+
+	* display/d.erase/main.c: added -f flag to erase frames; i18N
+
+2005-06-21 03:56  markus
+
+	* locale/po/grasslibs_ja.po, locale/po/grasslibs_ru.po,
+	  locale/po/grassmods_ja.po, locale/po/grassmods_ru.po,
+	  locale/po/grassmods_vi.po: a try to migrate more messages from
+	  GRASS 5.0 to 6 (still marked as fuzzy, so manual check is needed)
+
+2005-06-21 03:42  markus
+
+	* locale/po/grasslibs_pt_br.po: Paulo Marcondes <paulomarcondes
+	  gmail com>: initial Brasil translation
+
+2005-06-21 03:41  markus
+
+	* locale/Makefile: fix for xx_yy languages such as pt_br
+
+2005-06-21 03:04  markus
+
+	* locale/po/grasslibs_mr.po, locale/po/grassmods_mr.po: Swapnil
+	  Hajare <dreamil gmail com>: added Marathi (India) initial
+	  translation
+
+2005-06-21 01:11  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/do_labels.c,
+	  ps/ps.map/r_text.c: add direct font size support to the text
+	  command and the v.labels
+	  parsing code.
+
+2005-06-21 00:45  markus
+
+	* locale/po/grasslibs_de.po: cosmetics
+
+2005-06-19 11:21  hamish
+
+	* ps/ps.map/decorate.h, ps/ps.map/description.html,
+	  ps/ps.map/do_scalebar.c, ps/ps.map/get_scalebar.c: add background
+	  switch to the scalebar.
+	  TODO: change [y|n] to [color|none]
+
+2005-06-18 04:20  hamish
+
+	* ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/r_colortable.c: + i18n
+	  + bugfix: default category legend width was getting stomped on
+	  + bugfix: default placement of category legend was off the page
+	  + set better defaults for placement if out of bounds
+
+2005-06-17 13:00  radim
+
+	* vector/v.voronoi/vo_main.c: rebuild topology
+
+2005-06-17 12:47  hamish
+
+	* raster/r.grow2/main.c: typo
+
+2005-06-17 09:02  hamish
+
+	* display/d.m/d.m.tcl: remove hard-coded xterm placement. add xterm
+	  window name.
+
+2005-06-17 08:48  hamish
+
+	* vector/v.out.ascii/description.html: add link to vector ascii
+	  format spec.
+
+2005-06-17 08:06  hamish
+
+	* ps/ps.map/do_vectors.c, ps/ps.map/local_proto.h,
+	  ps/ps.map/ps_map.c: make it draw vector point symbols after it
+	  does the grid lines
+
+2005-06-16 01:43  hamish
+
+	* ps/ps.map/description.html: add missing option for grid command
+
+2005-06-16 01:37  hamish
+
+	* lib/rst/interp_float/vinput2d.c: i18n, warning messages
+
+2005-06-15 17:01  cho
+
+	* visualization/nviz/src/position.c: Nget_zrange returns garbage
+	  values when nviz is called without any option.
+	  Fixed it.
+
+2005-06-15 16:21  cho
+
+	* display/d.m/d.m: When it's executed by the user without any
+	  option, isatty(0) returns 1, which
+	  is wrong. For example, after running "d.m&", go to nviz and just
+	  click Run. Now
+	  we have two same nviz gui windows.
+	  
+	  Fixed this bug.
+
+2005-06-15 12:31  brad
+
+	* raster/r.grow2/main.c: Removed ABS() macro in favor of abs()
+	  library function.
+	  Localized text in G_warning() and G_fatal_eror().
+
+2005-06-15 02:47  brad
+
+	* raster/r.grow2/main.c: Convert local abs() and max() functions to
+	  macros.
+
+2005-06-14 19:47  brad
+
+	* lib/image/open.c: Default i_errfunc = 0.
+	  Remove G_fatal_error() from code.
+
+2005-06-14 19:35  brad
+
+	* lib/ogsf/image.h: Added i_errhdlr() and i_seterror() prototypes
+	  to image.h.
+
+2005-06-14 19:34  brad
+
+	* lib/image/image.h, lib/image/open.c: Modernized i_errhdlr() to
+	  use va_* commands for processing an unknown number of arguments.
+
+2005-06-14 12:39  paul
+
+	* raster/r.digit/Makefile, raster/r.support/modcats/Makefile,
+	  raster/r.support/modhead/Makefile,
+	  raster/r.support/modhist/Makefile, vector/v.hull/Makefile: Add
+	  $(CURSES) where $(VASKLIB) is used (would be tidier to make
+	  VASKLIB
+	  include $(CURSES) in global Makefiles but this is the way it has
+	  been
+	  done
+
+2005-06-14 09:16  hamish
+
+	* ps/ps.map/description.html: add internal quick links to mapping
+	  instructions
+
+2005-06-14 08:43  hamish
+
+	* ps/ps.map/colortable.h, ps/ps.map/description.html,
+	  ps/ps.map/ps_fclrtbl.c, ps/ps.map/r_colortable.c: add switch to
+	  floating point colortable for tick style.
+	  see this thread:
+	  http://article.gmane.org/gmane.comp.gis.grass.devel/1676
+
+2005-06-14 08:18  paul
+
+	* lib/db/sqlp/lex.l: Put comments inside C-code sections and
+	  conditionalise use of YY_CURRENT_BUFFER
+	  so it all works with Solaris lex
+
+2005-06-14 07:41  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/main.c,
+	  ps/ps.map/map_info.c, ps/ps.map/map_info.h,
+	  ps/ps.map/ps_colors.c, ps/ps.map/r_info.c: add control for
+	  mapinfo background box color (or none)
+
+2005-06-14 07:12  hamish
+
+	* ps/ps.map/description.html, ps/ps.map/main.c: more cleanup
+	  (tagging scale= option for future depreciation)
+
+2005-06-13 11:51  markus
+
+	* scripts/Makefile: fix
+
+2005-06-13 10:36  moritz
+
+	* scripts/Makefile: placed v.db.addcol and v.db.update in their
+	  correct spot according to alphabetical order (thanks Hamish)
+
+2005-06-13 03:11  hamish
+
+	* ps/ps.map/main.c: better description for scale= option
+
+2005-06-13 02:51  hamish
+
+	* ps/ps.map/description.html: cleanup
+
+2005-06-13 02:36  hamish
+
+	* ps/ps.map/main.c: l10n
+
+2005-06-13 02:33  hamish
+
+	* ps/ps.map/main.c: cleanup and l10n of module description & params
+
+2005-06-12 10:24  brad
+
+	* lib/image/open.c.zal, lib/image/pix.c: Removed unused source
+	  files.
+
+2005-06-12 07:44  brad
+
+	* lib/ogsf/gsd_img.c, lib/ogsf/image.h: Copied image.h from
+	  lib/image.
+
+2005-06-12 07:43  brad
+
+	* lib/image/local_proto.h: local function prototypes
+
+2005-06-12 07:42  brad
+
+	* lib/image/close.c, lib/image/filbuf.c, lib/image/flsbuf.c,
+	  lib/image/image.h, lib/image/name.c, lib/image/open.c,
+	  lib/image/rdwr.c, lib/image/rle.c, lib/image/row.c: Added
+	  function prototypes to image.h.
+	  Added local function prototypes to local_proto.h.
+	  Minor cleanups (documented struct members in image.h).
+
+2005-06-11 20:41  markus
+
+	* locale/po/grasslibs_sl.po, locale/po/grassmods_sl.po: Miha Staut
+	  <mihastaut yahoo co uk>: updated translation
+
+2005-06-11 12:47  brad
+
+	* lib/image/open.c: Replaced implicit (size_t) declaration with
+	  sizeof() in read() and write().
+
+2005-06-11 12:44  brad
+
+	* lib/image/close.c, lib/image/filbuf.c, lib/image/flsbuf.c,
+	  lib/image/name.c, lib/image/open.c, lib/image/pix.c,
+	  lib/image/rdwr.c, lib/image/rle.c, lib/image/row.c: Updated to
+	  modern function declaration style.
+
+2005-06-11 12:15  brad
+
+	* lib/image/close.c, lib/image/filbuf.c, lib/image/flsbuf.c,
+	  lib/image/name.c, lib/image/open.c, lib/image/pix.c,
+	  lib/image/rdwr.c, lib/image/rle.c, lib/image/row.c: Added return
+	  types and proper returns to functions.
+	  Added proper header files.
+
+2005-06-11 05:14  hamish
+
+	* vector/v.in.ascii/description.html: add i.points GCP import
+	  example. (not for 6.0.x)
+
+2005-06-11 05:03  hamish
+
+	* scripts/r.in.srtm/description.html, scripts/r.in.srtm/r.in.srtm:
+	  remove 90m as r.in.srtm now supports both 1" and 3" data
+
+2005-06-11 04:13  hamish
+
+	* display/d.m/menu.tcl: minor correction
+
+2005-06-11 04:05  hamish
+
+	* display/d.m/menu.tcl: fix labels and tags
+
+2005-06-11 00:24  brad
+
+	* lib/gis/G_dump.c, lib/gis/Makefile, lib/gis/debug.c: Moved
+	  G_dump() from G_dump.c to debug.c
+	  Removed G_dump.c
+
+2005-06-10 02:55  brad
+
+	* lib/gis/asprintf.c: Reformatted source to standards and added
+	  doxygen text.
+
+2005-06-10 02:40  brad
+
+	* lib/gis/asprintf.c: Updated to use G_*() commands. ie.
+	  G_tempfile(), G_calloc()
+
+2005-06-09 17:22  markus
+
+	* lib/vector/Vlib/write.c: error message a bit more useful
+
+2005-06-09 17:00  markus
+
+	* lib/vector/Vlib/write.c: offset message cosmetics; doxygen
+	  cleanup
+
+2005-06-09 14:17  moritz
+
+	* scripts/Makefile: added v.db.addcol and v.db.update
+
+2005-06-09 09:48  markus
+
+	* scripts/v.in.gns/v.in.gns: added commented DDMMSS solution from
+	  Hamish
+
+2005-06-09 07:57  markus
+
+	* vector/v.out.ascii/b2a.c: comment added
+
+2005-06-08 23:30  hamish
+
+	* scripts/Makefile: add r.in.aster for Michael
+
+2005-06-08 05:05  hamish
+
+	* raster/r.patch/nfiles.h: update for new path structure
+
+2005-06-07 23:16  hamish
+
+	* display/d.m/d.m.tcl: place term window for d.zoom etc. in the
+	  bottom right of the screen
+
+2005-06-06 08:21  markus
+
+	* ps/ps.map/description.html: p.labels -> v.label
+
+2005-06-06 08:19  markus
+
+	* vector/v.univar/description.html: fixed nonsense
+
+2005-06-06 00:54  brad
+
+	* imagery/i.cluster/checkpt.c, imagery/i.cluster/global.h,
+	  imagery/i.cluster/local_proto.h, imagery/i.cluster/main.c,
+	  imagery/i.cluster/open_files.c, imagery/i.cluster/print1.c,
+	  imagery/i.cluster/print2.c, imagery/i.cluster/print3.c,
+	  imagery/i.cluster/print4.c, imagery/i.cluster/print5.c,
+	  imagery/i.cluster/print6.c, imagery/i.cluster/timer.c: - update
+	  application of time()
+	  - localize text
+
+2005-06-05 23:36  brad
+
+	* imagery/i.fft/do_histogram.c, imagery/i.fft/fftmain.c,
+	  imagery/i.fft/globals.h, imagery/i.fft/orig_wind.c,
+	  imagery/i.fft/save_fft.c: - Update fprintf(stderr, ...) to
+	  G_message(_(""))
+	  - localize text
+
+2005-06-05 08:16  hamish
+
+	* raster/r.surf.idw/description.html: s.surf.idw to v.surf.idw
+
+2005-06-05 08:10  hamish
+
+	* raster/r.in.gdal/main.c: helps if I put it in the right place
+
+2005-06-05 08:07  hamish
+
+	* raster/r.in.gdal/main.c: use G_done_msg().
+
+2005-06-05 06:59  brad
+
+	* imagery/i.target/main.c: localize text
+
+2005-06-05 06:53  brad
+
+	* imagery/i.find/main.c: - localize text
+	  - add type to fwrite() to fix compiler warning
+
+2005-06-05 04:05  hamish
+
+	* raster/r.watershed/front/main.c: better flag description
+
+2005-06-04 12:00  hamish
+
+	* lib/rst/interp_float/segmen2d.c: l12n
+
+2005-06-04 11:47  hamish
+
+	* display/d.m/menu.tcl: add v.in.mapgen (port from GRASS 5)
+
+2005-06-04 11:35  hamish
+
+	* scripts/Makefile, scripts/v.in.mapgen,
+	  scripts/v.in.mapgen/Makefile,
+	  scripts/v.in.mapgen/description.html,
+	  scripts/v.in.mapgen/v.in.mapgen: add v.in.mapgen (port from GRASS
+	  5)
+
+2005-06-04 06:57  hamish
+
+	* scripts/r.out.gdal/r.out.gdal: re-add check for grass plugin
+	  removed in rev 1.12.
+
+2005-06-04 06:02  hamish
+
+	* lib/rst/interp_float/segmen2d.c: change warning message so it
+	  doesn't clobber G_percent()
+
+2005-06-04 05:24  hamish
+
+	* scripts/r.in.srtm/r.in.srtm: add flag to read in US 1-arcsec
+	  tiles
+
+2005-06-03 17:34  michael
+
+	* display/d.m/menu.tcl: Added v.db.update and v.db.addcol scripts
+	  to menus
+
+2005-06-03 11:33  moritz
+
+	* scripts/v.db.update, scripts/v.db.update/Makefile,
+	  scripts/v.db.update/description.html,
+	  scripts/v.db.update/v.db.update: new module v.db.update: frontend
+	  to db.execute allowing easy update of a column
+
+2005-06-03 11:33  moritz
+
+	* scripts/v.db.addcol, scripts/v.db.addcol/Makefile,
+	  scripts/v.db.addcol/description.html,
+	  scripts/v.db.addcol/v.db.addcol: new module v.db.addcol: frontend
+	  to db.execute allowing to add new column
+
+2005-06-03 07:05  hamish
+
+	* raster/r.in.gdal/main.c: get GCPs in correct place
+
+2005-06-03 01:40  brad
+
+	* imagery/i.class/add_point.c, imagery/i.class/analyze_sig.c,
+	  imagery/i.class/ask_files.c, imagery/i.class/band_files.c,
+	  imagery/i.class/complete_reg.c, imagery/i.class/curses.c,
+	  imagery/i.class/draw_reg.c, imagery/i.class/erase_reg.c,
+	  imagery/i.class/main.c, imagery/i.class/outline.c,
+	  imagery/i.class/readbands.c, imagery/i.class/redisplay.c,
+	  imagery/i.class/remove_mask.c, imagery/i.class/restore_reg.c,
+	  imagery/i.class/save_reg.c, imagery/i.class/signature.c,
+	  imagery/i.class/title.c, imagery/i.class/zoom_box.c: Updated for
+	  localization.
+
+2005-06-02 08:15  markus
+
+	* raster/r.flow/precomp.c: special message for LatLong locations
+
+2005-06-02 02:18  hamish
+
+	* raster/r.in.gdal/main.c: more negative coordinate excavation
+
+2005-06-02 00:28  hamish
+
+	* raster/r.in.gdal/main.c: make default map coordinates positive,
+	  i.e. 0,0 is bottom-left.
+	  add warning that L1B data should use 'gdalwarp -tps' instead of
+	  i.rectify
+
+2005-06-01 22:39  michael
+
+	* scripts/d.vect.thematic/description.html: Added to description of
+	  d.vect.thematic
+
+2005-06-01 22:39  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Minor bug fix
+
+2005-06-01 09:57  markus
+
+	* locale/po/grasslibs_vi.po, locale/po/grasslibs_vn.po,
+	  locale/po/grassmods_vi.po, locale/po/grassmods_vn.po: fixed wrong
+	  country code for Vietnam
+
+2005-06-01 09:05  markus
+
+	* locale/README: also set LC_CTYPE
+
+2005-05-31 09:50  markus
+
+	* scripts/r.out.gdal/r.out.gdal: test cosmetics
+
+2005-05-31 08:36  markus
+
+	* scripts/r.out.gdal/r.out.gdal: Fixed quoting problems
+
+2005-05-30 22:46  markus
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_es.po, locale/po/grasslibs_fr.po,
+	  locale/po/grasslibs_it.po, locale/po/grasslibs_ja.po,
+	  locale/po/grasslibs_ru.po, locale/po/grasslibs_sl.po,
+	  locale/po/grasslibs_vn.po, locale/po/grasslibs_zh.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_es.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po,
+	  locale/po/grassmods_vn.po, locale/po/grassmods_zh.po: merged new
+	  messages into existing files
+
+2005-05-30 21:04  markus
+
+	* raster/r.flow/description.html: v.llabel -> v.category
+
+2005-05-30 20:54  markus
+
+	* raster/r.flow/io.c: don't forget to build topology
+
+2005-05-30 14:51  paul
+
+	* configure, configure.in, include/Make/Platform.make.in: Check for
+	  nad2bin in configure script, so that if PROJ isn't installed
+	  properly the user hears about it before compilation fails in
+	  lib/proj
+
+2005-05-30 13:47  markus
+
+	* lib/raster/io.c: fixed doxygen
+
+2005-05-30 11:10  markus
+
+	* display/d.nviz/description.html: added script explanations for
+	  NVIZ
+
+2005-05-30 07:02  brad
+
+	* imagery/i.cca/transform.c: free() -> G_free().
+
+2005-05-30 06:57  brad
+
+	* imagery/i.cca/main.c, imagery/i.cca/transform.c: Updated to use
+	  localization and newer G_message(), etc. formatting.
+	  Removed unused variable tempbuf.
+
+2005-05-30 06:24  brad
+
+	* imagery/i.ask/popup.c: Updated calloc() to G_calloc().
+
+2005-05-30 06:22  brad
+
+	* imagery/i.ask/main.c, imagery/i.ask/popup.c: Changed
+	  fprintf(stderr, ...); to G_message(_(""));.
+
+2005-05-30 04:42  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: bugfix 1: if called without type
+	  flag would end in error
+	  bugfix 2: test for track/route line with a grid file was still
+	  broken
+
+2005-05-30 02:20  hamish
+
+	* imagery/i.rectify/main.c: module would abort with "Input file foo
+	  does not exist in group.." if input=
+	  image was not the first map listed in the group.
+
+2005-05-30 00:19  hamish
+
+	* lib/raster/io.c: Doxygen comments cleanup ("fo")
+
+2005-05-29 22:35  brad
+
+	* lib/gmath/numerical.h: Remove unused Command_keys[] for GCC4
+	  compatibility.
+
+2005-05-26 22:27  michael
+
+	* scripts/v.univar.sh/v.univar.sh: Reverts to earlier version,
+	  removing check for numeric column
+
+2005-05-26 22:19  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Adds custom breakpoints
+
+2005-05-25 17:11  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/d.vect.thematic/description.html: Add automatic checking
+	  for numeric column
+
+2005-05-25 14:39  markus
+
+	* vector/v.out.ogr/main.c: better message
+
+2005-05-25 14:36  markus
+
+	* vector/v.in.ascii/description.html: fixed some mess
+
+2005-05-25 11:48  markus
+
+	* vector/v.in.ascii/description.html: 3D Lines example added
+
+2005-05-24 21:18  markus
+
+	* vector/v.db.select/main.c: added WHERE statement
+
+2005-05-24 19:56  markus
+
+	* scripts/v.in.gns/v.in.gns: added utf2any URL
+
+2005-05-24 19:31  markus
+
+	* scripts/v.report/v.report: Message cosmetics
+
+2005-05-24 19:17  markus
+
+	* scripts/v.univar.sh/v.univar.sh: added test for numeric column
+	  type
+
+2005-05-24 18:44  markus
+
+	* locale/po/grasslibs_de.po: deutsch korrigiert
+
+2005-05-24 18:42  markus
+
+	* vector/v.digit/icons/delete.line.gif,
+	  vector/v.digit/icons/exit.gif: submitted for Michael
+
+2005-05-24 18:28  markus
+
+	* visualization/xganim/gui.c: animation speed also a bit slower
+
+2005-05-24 18:16  michael
+
+	* vector/v.digit/icons/exit.gif: replacing corrupt icon
+
+2005-05-24 18:13  michael
+
+	* vector/v.digit/icons/exit.gif: resubmitting icon *.gif
+
+2005-05-24 17:58  michael
+
+	* display/d.m/menu.tcl: Add d.vect.thematic to menus, and minor
+	  rearrangement for this.
+
+2005-05-24 17:57  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Bug fix for graduated
+	  points and added ability to save group.dm file
+	  for GIS Manager.
+
+2005-05-24 16:12  markus
+
+	* scripts/Makefile: added v.in.gns
+
+2005-05-24 16:12  markus
+
+	* scripts/v.in.gns, scripts/v.in.gns/Makefile,
+	  scripts/v.in.gns/description.html, scripts/v.in.gns/v.in.gns:
+	  added new script to import Gazetteer GNS data from NGA
+
+2005-05-24 13:53  radim
+
+	* vector/v.in.ascii/in.c: user col types from created table instead
+	  from input for insert
+
+2005-05-24 02:08  brad
+
+	* imagery/i.group/local_proto.h, imagery/i.group/main.c: - Updated
+	  fprintf(stderr, ...) --> G_message()
+	  - Updated text to use include/glocale.h "" --> _("")
+
+2005-05-24 01:50  brad
+
+	* imagery/i.zc/globals.h, imagery/i.zc/local_proto.h,
+	  imagery/i.zc/main.c, imagery/i.zc/mult.c: Updated i.zc to use
+	  lib/gmath functions.
+
+2005-05-24 01:35  brad
+
+	* lib/imagery/imagery.hh: Remove unused header file. Duplicated in
+	  include/imagedefs.h
+
+2005-05-23 13:50  markus
+
+	* lib/ogsf/GK2.c, lib/ogsf/GP2.c, lib/ogsf/GS2.c,
+	  lib/ogsf/GS_util.c, lib/ogsf/Gs3.c, lib/ogsf/gk.c, lib/ogsf/gp.c,
+	  lib/ogsf/gs.c, lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_img.c,
+	  lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gsd_prim.c, lib/ogsf/gsd_surf.c,
+	  lib/ogsf/gsds.c, lib/ogsf/local_proto.h: try to get rid of some
+	  compiler warnings
+
+2005-05-23 13:48  markus
+
+	* lib/g3d/g3dcolor.c, lib/g3d/g3dkeys.c, lib/g3d/g3dparam.c: code
+	  cleanup
+
+2005-05-23 13:46  markus
+
+	* lib/db/dbmi_base/dbmscap.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/whoami.c, lib/db/dbmi_base/xdr.h,
+	  lib/db/dbmi_client/shutdown.c, lib/db/dbmi_driver/d_mkdir.c:
+	  fixes for gcc 3.4.x
+
+2005-05-23 07:16  radim
+
+	* vector/v.select/main.c: 3D fix
+
+2005-05-21 12:54  markus
+
+	* scripts/v.in.sites.all/v.in.sites.all: fixed param/flag test
+
+2005-05-21 08:19  hamish
+
+	* scripts/v.convert.all/v.convert.all: fix parsing
+
+2005-05-20 17:09  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/v.univar.sh/v.univar.sh: Fix bug that prevents
+	  d.vect.thematic from working on vector in
+	  different mapset from current. Also, improve interval thematic
+	  mapping.
+
+2005-05-20 14:49  markus
+
+	* vector/v.convert/description.html: centroid hint
+
+2005-05-20 14:47  markus
+
+	* general/g.proj/description.html: cosmetics
+
+2005-05-20 14:37  markus
+
+	* general/g.proj/description.html: added reprojection tricks
+
+2005-05-18 16:27  markus
+
+	* vector/v.reclass/main.c, vector/v.what.rast/main.c: error message
+	  cosmetics
+
+2005-05-18 16:04  radim
+
+	* vector/v.reclass/main.c: reclass string type columns
+
+2005-05-18 11:19  markus
+
+	* scripts/Makefile, scripts/d.correlate,
+	  scripts/d.correlate/Makefile, scripts/d.correlate/d.correlate,
+	  scripts/d.correlate/description.html: added rewritten d.correlate
+
+2005-05-18 08:16  markus
+
+	* raster/r.average/main.c: system() -> G_system()
+
+2005-05-17 21:15  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Minor updates: moved map
+	  argument to first place and added a couple
+	  color schemes (blue-red and green-red)
+
+2005-05-17 15:52  markus
+
+	* include/Vect.h, lib/vector/Vlib/dbcolumns.c: new functions to
+	  fetch DB column names/types
+
+2005-05-17 15:51  markus
+
+	* vector/v.info/main.c: message cosmetics
+
+2005-05-17 14:29  radim
+
+	* lib/vector/Vlib/map.c: rename vector dir to temporary instead of
+	  remove which fails on NFS
+
+2005-05-17 08:48  markus
+
+	* lib/init/helptext.html: crosslink added
+
+2005-05-16 19:15  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: Bug fix for updating
+	  GRASSRGB column
+
+2005-05-16 16:47  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/d.vect.thematic/description.html: Update to thematic
+	  mapping. Adds custom color gradients, graphic
+	  legend, update GRASSRGB column, and automatic table recognition
+
+2005-05-16 07:48  radim
+
+	* lib/gis/open.c: patch for MinGW sent by Javier A. Yebrin
+
+2005-05-15 08:30  hamish
+
+	* display/d.mapgraph/description.html,
+	  display/d.mapgraph/do_graph.c, display/d.mapgraph/main.c: update
+	  for RGB triplets
+
+2005-05-15 07:00  hamish
+
+	* display/d.graph/description.html: html fixes, update for RGB
+	  triplets
+
+2005-05-15 06:31  hamish
+
+	* display/d.graph/do_graph.c: make color='none' draw in the default
+	  BG color
+
+2005-05-15 06:15  hamish
+
+	* display/d.graph/main.c: description update
+
+2005-05-15 06:10  hamish
+
+	* display/d.graph/do_graph.c, display/d.graph/main.c,
+	  display/d.graph/options.h: update to take RGB triplets
+
+2005-05-14 15:55  markus
+
+	* imagery/i.his.rgb/h2rmain.c, imagery/i.rgb.his/r2hmain.c: added
+	  percentage
+
+2005-05-14 13:38  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: continued...
+
+2005-05-13 20:45  markus
+
+	* scripts/d.vect.thematic/d.vect.thematic: fixed variable names
+
+2005-05-13 20:29  markus
+
+	* vector/v.surf.rst/description.html: html fixes (debian bug
+	  #304275)
+
+2005-05-13 18:24  michael
+
+	* scripts/Makefile: Added entries for d.vect.thematic and
+	  v.univar.sh
+
+2005-05-13 17:48  michael
+
+	* scripts/d.vect.thematic/d.vect.thematic: minor update to fix bug
+	  that might break under Cygwin and
+	  improved readability of 'legend' output.
+
+2005-05-13 17:46  michael
+
+	* scripts/v.univar.sh/v.univar.sh: minor update for consistency in
+	  argument names
+
+2005-05-13 12:54  markus
+
+	* vector/v.in.dwg/description.html: compilation a bit better
+	  explained
+
+2005-05-13 12:32  markus
+
+	* imagery/i.cca/globals.h, imagery/i.cca/main.c: fixed declaration
+
+2005-05-13 12:07  markus
+
+	* vector/v.surf.rst/description.html: s.surf.rst -> v.surf.rst
+	  (debian bug #305422)
+
+2005-05-13 12:03  markus
+
+	* raster/r.surf.idw2/local_proto.h, raster/r.surf.idw2/main.c,
+	  raster/r.surf.idw2/read_sites.c: removed unused code
+
+2005-05-13 12:00  markus
+
+	* raster/Makefile: added missing r.surf.idw2
+
+2005-05-13 09:07  markus
+
+	* vector/v.hull/description.html: added explanations (debian bug
+	  #304249)
+
+2005-05-13 02:59  hamish
+
+	* vector/v.db.connect/main.c: minor text cleanup
+
+2005-05-13 02:56  hamish
+
+	* vector/v.db.connect/main.c: error if both -p and -g are given.
+	  cleanup and i18n of option descriptions.
+
+2005-05-13 01:52  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: set environment so that awk
+	  works properly in all languages
+
+2005-05-12 22:16  michael
+
+	* scripts/d.vect.thematic, scripts/d.vect.thematic/Makefile,
+	  scripts/d.vect.thematic/d.vect.thematic,
+	  scripts/d.vect.thematic/description.html: Thematic mapping script
+	  for vectors. Uses v.univar.sh
+
+2005-05-12 22:14  michael
+
+	* scripts/v.univar.sh, scripts/v.univar.sh/Makefile,
+	  scripts/v.univar.sh/description.html,
+	  scripts/v.univar.sh/v.univar.sh: Univariate statistics. Used in
+	  d.vect.thematic
+
+2005-05-12 08:02  markus
+
+	* raster/r.param.scale/description.html: link fixed
+
+2005-05-11 20:50  markus
+
+	* scripts/Makefile: v.report
+
+2005-05-11 20:49  markus
+
+	* scripts/v.report, scripts/v.report/Makefile,
+	  scripts/v.report/description.html, scripts/v.report/v.report:
+	  added simple script
+
+2005-05-11 16:05  markus
+
+	* lib/gis/spawn.c: Javier A. Yebrin: <javier.yebrin ing unitn.it>:
+	  fix for MINGW32
+
+2005-05-11 09:13  radim
+
+	* configure, configure.in, include/config.h.in, lib/gis/parser.c:
+	  HAVE_LANGINFO_H
+
+2005-05-10 11:48  hamish
+
+	* rpm/fedora/INSTALL.TXT: RPM install instructions from Craig
+	  Aumann <caumann at ualberta ca> for
+	  Fedora Core 3
+
+2005-05-10 11:44  markus
+
+	* visualization/nviz/scripts/panel_kanimator.tcl: fix from Bob for
+	  new viz method
+
+2005-05-10 11:37  hamish
+
+	* rpm/fedora/grass.spec: New spec file from Craig Aumann <caumann
+	  at ualberta ca> for Fedora Core 3
+
+2005-05-10 11:19  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: add check that db connection
+	  exists, dbf/ dir exists, and cs2cs worked.
+	  see PROJ.4 bug # 834
+
+2005-05-10 09:58  radim
+
+	* db/drivers/dbf/dbfexe.c: set columns to null before insert
+
+2005-05-10 08:41  hamish
+
+	* lib/symbol/README: further explain angles
+
+2005-05-10 04:29  hamish
+
+	* raster/r.sun/description.html: fix units
+
+2005-05-09 23:41  hamish
+
+	* scripts/r.out.gdal/r.out.gdal: minor attempt at fixing quoting
+
+2005-05-09 09:51  markus
+
+	* vector/v.info/main.c: query vector map projection instead of
+	  location info (to better debug conflicts with 'v.in.ogr -o')
+
+2005-05-09 09:50  markus
+
+	* include/Vect.h, lib/vector/Vlib/header.c: added
+	  Vect_get_proj_name()
+
+2005-05-09 07:11  markus
+
+	* display/d.nviz/main.c: message cosmetics; i18N
+
+2005-05-08 07:15  brad
+
+	* db/drivers/mysql/db.c, db/drivers/mysql/error.c,
+	  db/drivers/mysql/listdb.c, db/drivers/mysql/mysqlexe.c,
+	  db/drivers/mysql/table.c: Update snprintf() to G_asprintf() for
+	  portability, etc.
+
+2005-05-08 06:35  brad
+
+	* SUBMITTING: Added notes regarding G_asprintf().
+
+2005-05-08 06:10  brad
+
+	* db/drivers/odbc/create_table.c, db/drivers/odbc/cursor.c,
+	  db/drivers/odbc/db.c, db/drivers/odbc/describe.c,
+	  db/drivers/odbc/error.c, db/drivers/odbc/execute.c,
+	  db/drivers/odbc/table.c: Update snprintf() to G_asprintf() for
+	  portability, etc.
+
+2005-05-07 10:13  brad
+
+	* imagery/i.cca/globals.h, imagery/i.cca/local_proto.h,
+	  imagery/i.cca/main.c, imagery/i.cca/matrix.c: i.cca cleanup
+
+2005-05-06 19:23  brad
+
+	* include/gisdefs.h, lib/gis/alloc.c: Update G*alloc() functions
+	  from int to size_t.
+
+2005-05-06 17:17  markus
+
+	* vector/v.overlay/main.c: typo
+
+2005-05-06 13:31  markus
+
+	* db/base/db.execute.html: SQL fix
+
+2005-05-06 13:08  markus
+
+	* vector/v.to.db/parse.c: grammar
+
+2005-05-06 12:50  markus
+
+	* tools/build_html_index.sh: add ref to new man page
+
+2005-05-06 12:44  markus
+
+	* lib/init/grass6.html, lib/init/helptext.html: have also index
+	  crossurl
+
+2005-05-06 12:38  markus
+
+	* lib/init/grass6.html: html fixes
+
+2005-05-06 12:33  markus
+
+	* lib/init/Makefile, lib/init/grass6.html: added man page for GRASS
+
+2005-05-05 16:40  markus
+
+	* scripts/v.in.e00/v.in.e00: fix for too long coverage names (which
+	  was silently failing)
+
+2005-05-05 16:26  markus
+
+	* raster/r.le/r.le.setup/main.c, raster/r.le/r.le.setup/sample.c,
+	  raster/r.le/r.le.setup/setup.c: some G6 updates, still doesn't
+	  work well
+
+2005-05-05 16:25  markus
+
+	* vector/v.transform/main.c: set scale to 1:1, not 1:0
+
+2005-05-05 16:24  markus
+
+	* vector/v.mkgrid/description.html: HTML fix
+
+2005-05-05 16:22  markus
+
+	* vector/v.info/main.c: -g flag added
+
+2005-05-05 16:19  markus
+
+	* include/Vect.h, lib/vector/Vlib/header.c: Vect_get_proj() written
+
+2005-05-05 16:18  markus
+
+	* locale/po/grasslibs_de.po: White space fixed
+
+2005-05-05 16:17  markus
+
+	* locale/po/grassmods_de.po: Korrekturen
+
+2005-05-05 16:12  markus
+
+	* scripts/r.shaded.relief/description.html,
+	  scripts/r.shaded.relief/r.shaded.relief: bugfixes
+
+2005-05-05 16:08  markus
+
+	* db/base/db.execute.html: examples fixed/extended
+
+2005-05-05 08:39  radim
+
+	* lib/vector/Vlib/array.c: patch for more cats of the same layer
+	  sent by Martin Landa <landa at gama.fsv.cvut.cz>
+
+2005-05-04 06:20  hamish
+
+	* lib/db/sqlp/description.html: reinstate useful SQL reference link
+	  fix html semi-bug
+
+2005-05-03 18:29  michael
+
+	* vector/v.digit/icons/delete.line.gif,
+	  vector/v.digit/icons/exit.gif,
+	  vector/v.digit/icons/move.line.gif,
+	  vector/v.digit/icons/redraw.gif,
+	  vector/v.digit/icons/split.line.gif,
+	  vector/v.digit/icons/zoom.default.gif,
+	  vector/v.digit/icons/zoom.pan.gif,
+	  vector/v.digit/icons/zoom.region.gif, vector/v.digit/toolbox.tcl:
+	  standardization of iconography and minor improvements to look
+	  and usability of v.digit toolbar
+
+2005-05-02 16:12  michael
+
+	* display/d.m/vector.tcl: update digitizing button in GIS Manager
+	  to automatically set
+	  background to maps displayed in active monitor
+
+2005-05-02 02:12  hamish
+
+	* raster/r.param.scale/description.html: remove dead link:
+	  d.param.scale
+
+2005-05-02 00:53  hamish
+
+	* raster/r.basins.fill/description.html: rip out text refering to
+	  old parser interface
+
+2005-04-30 09:26  radim
+
+	* raster/r.to.vect/global.h, raster/r.to.vect/main.c,
+	  raster/r.to.vect/points.c: write raster value as z coordinate for
+	  points
+
+2005-04-29 16:32  markus
+
+	* vector/v.category/description.html: link added
+
+2005-04-29 14:36  radim
+
+	* display/d.what.vect/what.c: print node coordinates - %.6f
+
+2005-04-29 14:01  radim
+
+	* display/d.what.vect/what.c: print node coordinates
+
+2005-04-29 10:24  radim
+
+	* vector/v.overlay/main.c: substitute variable
+
+2005-04-29 09:37  radim
+
+	* lib/db/dbmi_client/start.c, lib/db/dbmi_driver/driver.c: set
+	  correctly GISRC mode
+
+2005-04-29 09:16  radim
+
+	* lib/gis/env.c: ensure to read G_VAR_GISRC before G_VAR_MAPSET
+
+2005-04-29 09:11  radim
+
+	* db/drivers/dbf/db.c: debug
+
+2005-04-29 08:27  markus
+
+	* vector/v.in.ogr/main.c: more i18n
+
+2005-04-29 07:40  markus
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c: fixed
+	  layer description; i18N
+
+2005-04-29 07:29  markus
+
+	* raster/r.in.gdal/description.html,
+	  vector/v.in.ogr/description.html,
+	  vector/v.out.ogr/description.html: urls fixed
+
+2005-04-28 10:56  radim
+
+	* lib/gis/parser.c: use gettext output encoding for interface
+	  description
+
+2005-04-28 06:47  markus
+
+	* vector/v.transform/main.c: allow for vertical shifts of
+	  originally 2D maps
+
+2005-04-27 22:36  glynn
+
+	* include/Make/Grass.make.in, include/Make/Platform.make.in: Add
+	  $(LD_SEARCH_FLAGS) to LDFLAGS
+
+2005-04-27 15:40  markus
+
+	* db/base/db.connect.html: added hint
+
+2005-04-27 15:22  markus
+
+	* general/g.gisenv/main.c: fixed module description; i18n
+
+2005-04-26 06:36  hamish
+
+	* vector/v.in.ascii/description.html: whitespace
+
+2005-04-26 00:36  hamish
+
+	* general/g.mapset/description.html: formatting
+
+2005-04-21 14:11  radim
+
+	* vector/v.overlay/main.c: fix for empty map
+
+2005-04-21 07:25  markus
+
+	* locale/po/grassmods_zh.po: Zhang Jun: continued...
+
+2005-04-20 16:04  radim
+
+	* lib/vector/Vlib/map.c: use original key also for index
+
+2005-04-20 15:56  radim
+
+	* lib/vector/Vlib/map.c: use original key
+
+2005-04-20 15:20  radim
+
+	* scripts/Makefile: v.db.reconnect.all
+
+2005-04-20 15:20  radim
+
+	* scripts/v.db.reconnect.all, scripts/v.db.reconnect.all/Makefile,
+	  scripts/v.db.reconnect.all/description.html,
+	  scripts/v.db.reconnect.all/v.db.reconnect.all: reconnect vector
+	  to a new database
+
+2005-04-20 13:16  markus
+
+	* vector/v.db.select/main.c: multiple col support added; message
+	  cosmetics
+
+2005-04-20 12:45  markus
+
+	* locale/po/grassmods_zh.po: Zhang Jun: continued...
+
+2005-04-20 12:44  markus
+
+	* locale/po/grasslibs_zh.po: Zhang Jun: translated to simple
+	  Chinese
+
+2005-04-20 02:20  hamish
+
+	* vector/v.split/main.c: if both length= and vertices= were not
+	  set, the vertices var would be used
+	  uninitialized.
+
+2005-04-19 16:12  markus
+
+	* doc/raster/r.example/description.html: progman url added
+
+2005-04-19 16:09  markus
+
+	* doc/raster, doc/raster/r.example, doc/raster/r.example/COMMENTS,
+	  doc/raster/r.example/Makefile,
+	  doc/raster/r.example/description.html,
+	  doc/raster/r.example/main.c: added r.example here for better
+	  maintenance
+
+2005-04-19 14:07  brad
+
+	* raster/r.support/modhist/Makefile: vasklib/vaskdep to Makefile
+
+2005-04-19 02:22  brad
+
+	* raster/r.support/modcats/Makefile: Add $(VASKLIB) $(VASKDEP) to
+	  Makefile
+
+2005-04-18 08:08  hamish
+
+	* raster/r.flow/description.html: s.surf.rst -> v.surf.rst; cleanup
+
+2005-04-18 07:39  hamish
+
+	* raster/r.fill.dir/main.c: update aspect map to GRASS 5(!) fmt so
+	  it can actually be used by other modules.
+	  misc cleanup.
+
+2005-04-18 05:57  hamish
+
+	* display/d.rast.arrow/arrow.c: fix "?" color for AGNPS maps
+
+2005-04-17 03:10  hamish
+
+	* vector/v.in.ascii/description.html: options were renamed
+
+2005-04-15 14:56  glynn
+
+	* tools/sql.sh: Force directory to be specified as an argument
+	  Fix for newer ldd
+
+2005-04-15 13:29  markus
+
+	* general/g.region/cmd/main.c: i18N'ed
+
+2005-04-15 13:22  markus
+
+	* general/g.region/cmd/main.c: simplified G_fatal_error handling
+
+2005-04-15 13:14  markus
+
+	* general/g.region/cmd/printwindow.c: comments added
+
+2005-04-15 08:34  markus
+
+	* raster/r.support/front/front.c: fixed segfault as G_usage() is
+	  AFAIK deprecated
+
+2005-04-15 04:42  brad
+
+	* raster/r.support/front/check.c, raster/r.support/front/front.c,
+	  raster/r.support/modcats/modcats.c,
+	  raster/r.support/modcolr/modcolr.c,
+	  raster/r.support/modhead/modhead.c,
+	  raster/r.support/modhist/modhist.c: string fixes
+
+2005-04-15 00:29  brad
+
+	* raster/r.support/front/front.c: string error fix
+
+2005-04-14 12:14  markus
+
+	* raster/r.to.vect/areas_io.c, raster/r.to.vect/lines_io.c: code
+	  prettifying: indent -i4 -npsl -di0 -br -nce -d0 -cli0 -npcs -nfc1
+	  $1
+
+2005-04-14 00:26  brad
+
+	* raster/Makefile, raster/r.support, raster/r.support/Makefile,
+	  raster/r.support/front, raster/r.support/front/Makefile,
+	  raster/r.support/front/check.c,
+	  raster/r.support/front/description.html,
+	  raster/r.support/front/front.c, raster/r.support/front/histo.c,
+	  raster/r.support/front/hitreturn.c,
+	  raster/r.support/front/local_proto.h,
+	  raster/r.support/front/run.c, raster/r.support/modcats,
+	  raster/r.support/modcats/Makefile,
+	  raster/r.support/modcats/modcats.c, raster/r.support/modcolr,
+	  raster/r.support/modcolr/Makefile,
+	  raster/r.support/modcolr/modcolr.c, raster/r.support/modhead,
+	  raster/r.support/modhead/Makefile,
+	  raster/r.support/modhead/ask_format.c,
+	  raster/r.support/modhead/check_un.c,
+	  raster/r.support/modhead/factors.c,
+	  raster/r.support/modhead/hitreturn.c,
+	  raster/r.support/modhead/local_proto.h,
+	  raster/r.support/modhead/modhead.c,
+	  raster/r.support/modhead/row_addr.c, raster/r.support/modhist,
+	  raster/r.support/modhist/Makefile,
+	  raster/r.support/modhist/modhist.c: Add r.support module
+
+2005-04-13 16:04  paul
+
+	* scripts/r.out.gdal/r.out.gdal: Don't fail if g.proj can't produce
+	  a WKT description (for Krovak)
+
+2005-04-13 15:22  markus
+
+	* raster/r.random/description.html, raster/r.random/local_proto.h,
+	  raster/r.random/main.c, raster/r.random/random.c: added optional
+	  3D vector points support
+
+2005-04-13 14:53  markus
+
+	* lib/db/dbmi_base/column.c, lib/db/dbmi_base/sqltype.c: added
+	  doxygen description
+
+2005-04-13 14:20  markus
+
+	* vector/v.db.select/main.c: added support to query only single
+	  attribute column
+
+2005-04-13 13:50  markus
+
+	* doc/vector/v.example.c: updated
+
+2005-04-13 13:48  markus
+
+	* doc/vector/v.example.c: updated
+
+2005-04-12 15:39  markus
+
+	* README: PDF notice
+
+2005-04-12 11:47  markus
+
+	* vector/v.to.rast/main.c: i18N
+
+2005-04-12 11:44  markus
+
+	* vector/v.to.rast/main.c: User error checks added
+
+2005-04-12 11:29  radim
+
+	* vector/v.distance/main.c: init counts, sent by Jachym Cepicky
+
+2005-04-12 08:16  markus
+
+	* raster/r.param.scale/description.html: html fix
+
+2005-04-11 17:27  markus
+
+	* vector/v.in.dwg/main.c: Giovanni Bortoluzzi <Giovanni Bortoluzzi
+	  ismar cnr it>: added flag to imoprt with numeric type
+
+2005-04-11 08:41  markus
+
+	* aclocal.m4, configure: switched LFS to no per default
+
+2005-04-11 06:14  hamish
+
+	* lib/gis/endian.c: all ints are not created equal
+
+2005-04-10 05:23  hamish
+
+	* vector/v.to.db/description.html: typo
+
+2005-04-10 04:27  hamish
+
+	* vector/v.to.db/description.html: missing line break
+
+2005-04-10 02:16  hamish
+
+	* vector/v.out.ascii/description.html: add note on how to export
+	  non-points vector data in points mode
+
+2005-04-09 22:24  glynn
+
+	* tools/sql.sh: Added sql.sh (tool to build import/export database)
+
+2005-04-09 05:58  markus
+
+	* lib/init/Makefile, lib/init/gis_set.tcl, lib/init/help.tcl: added
+	  minibrowser here for intro help text
+
+2005-04-09 04:02  glynn
+
+	* lib/init/init.sh: Remove DYLD_LIBRARY_PATH stuff
+
+2005-04-09 03:50  glynn
+
+	* lib/init/init.sh: Don't override the user's PATH setting
+
+2005-04-09 03:34  glynn
+
+	* raster/r.series/c_maxx.c, raster/r.series/c_minx.c,
+	  raster/r.series/c_percentile.c, raster/r.series/local_proto.h,
+	  raster/r.series/main.c: Add quartile/percentile options
+	  Fix layout of c_{min,max}x.c
+
+2005-04-08 16:01  radim
+
+	* lib/init/init.sh: PATH order
+
+2005-04-08 12:30  markus
+
+	* locale/po/grassmods_zh.po: Zhang Jun: continued
+
+2005-04-06 14:30  markus
+
+	* raster/r.info/main.c: Jachym Cepicky: -g flag added to print map
+	  region
+
+2005-04-05 18:06  michael
+
+	* display/d.m/script/d.text.sh: add default type size
+
+2005-04-05 07:56  markus
+
+	* db/base/db.copy.html, db/base/db.createdb.html,
+	  db/base/db.describe.html, db/base/db.select.html,
+	  display/d.path/description.html,
+	  display/d.vect.chart/description.html,
+	  display/d.vect/description.html,
+	  scripts/pg.postgisdb/description.html,
+	  scripts/v.convert.all/description.html,
+	  scripts/v.in.sites.all/description.html: HTML fixes, removed
+	  outdated tutorial ref
+
+2005-04-05 06:14  hamish
+
+	* db/base/db.select.html: fix html errors
+
+2005-04-04 20:06  markus
+
+	* locale/po/grassmods_zh.po: Zhang Jun: continued
+
+2005-04-04 19:15  cho
+
+	* lib/init/init.sh: Fixed GRASS_WISH test
+
+2005-04-04 11:11  markus
+
+	* AUTHORS: added Jeshua
+
+2005-04-03 09:53  hamish
+
+	* raster/r.out.mat/main.c: once more to stderr
+
+2005-04-03 09:50  hamish
+
+	* raster/r.out.mat/main.c: stdout -> stderr for messages
+
+2005-04-03 09:38  hamish
+
+	* raster/r.in.mat/main.c: update to use G_is_little_endian().
+	  update to use G_debug(), mostly.
+	  stdout -> stderr for messages.
+	  use G_done_msg().
+
+2005-04-03 08:52  hamish
+
+	* raster/r.out.mat/main.c: update to use G_is_little_endian().
+	  update to use G_debug().
+	  add G_done_msg().
+
+2005-04-03 08:25  hamish
+
+	* include/gisdefs.h: G_is_little_endian() was missing
+
+2005-04-03 07:58  hamish
+
+	* vector/v.overlay/main.c: add G_done_msg() to modules that take a
+	  long time to run.
+	  (helpful from GUI where there isn't an obvious return on finish)
+
+2005-04-03 05:26  hamish
+
+	* display/d.m/script/d.text.sh: typo
+
+2005-04-03 05:23  hamish
+
+	* display/d.m/script/d.text.sh, display/d.m/script/d.title.sh:
+	  shell script cleanup
+
+2005-04-03 04:45  hamish
+
+	* display/d.m/script/d.text.sh, display/d.m/script/d.title.sh: add
+	  two scripts from Michael Barton
+
+2005-04-02 17:15  cho
+
+	* lib/init/init.sh: indentation
+
+2005-04-01 23:44  michael
+
+	* display/d.m/menu.tcl: Updates for proper menu displays with Aqua
+	  Tcl/Tk version of
+	  GRASS in Mac OSX. Also some minor bug fixes and cleanups.
+
+2005-04-01 23:43  michael
+
+	* display/d.m/d.m.tcl, lib/init/init.sh: updates for initiating an
+	  Aqua Tcl/Tk version of GRASS in
+	  Mac OSX
+
+2005-04-01 10:08  radim
+
+	* vector/v.in.dwg/entity.c: double quoute layer name
+
+2005-03-31 16:48  radim
+
+	* lib/vector/Vlib/intersect.c: segment and line intersection fix
+
+2005-03-31 09:06  radim
+
+	* vector/v.to.points/main.c: along fix
+
+2005-03-31 08:00  radim
+
+	* vector/v.to.db/report.c, vector/v.to.db/update.c: increase
+	  precision for doubles
+
+2005-03-30 21:24  paul
+
+	* lib/proj/Makefile, lib/proj/s57attributes.csv,
+	  lib/proj/s57expectedinput.csv, lib/proj/s57objectclasses.csv:
+	  Don't need S57 files for providing datum information! (and
+	  possibly not
+	  all the others either but not sure)
+
+2005-03-30 13:24  markus
+
+	* lib/proj/Makefile, lib/proj/datum.csv, lib/proj/ellipsoid.csv,
+	  lib/proj/gcs.csv, lib/proj/gdal_datum.csv, lib/proj/pcs.csv,
+	  lib/proj/projop_wparm.csv, lib/proj/s57attributes.csv,
+	  lib/proj/s57expectedinput.csv, lib/proj/s57objectclasses.csv,
+	  lib/proj/unit_of_measure.csv: updated to GDAL 1.2.6 to fix ETRS89
+	  datum problems
+
+2005-03-30 08:02  markus
+
+	* raster/r.proj/bilinear.c, raster/r.proj/bordwalk.c,
+	  raster/r.proj/cubic.c, raster/r.proj/main.c,
+	  raster/r.proj/nearest.c: Morten Hulden:
+	  - asymmetric integer truncation error [bug #3100]
+	  - adds a missing offset to the initial x-coodinate for each row
+	  in the
+	  main projection loop. this offset causes the projection of the
+	  _center_
+	  of the cell instead of the border. this was always the intention
+	  but
+	  earlier it was only made correctly for the first row of the
+	  location.
+
+2005-03-30 06:11  markus
+
+	* lib/gis/geo_init.c: LAEA extended by false easting/northing for
+	  ETRS89/EU
+
+2005-03-30 05:41  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: fix script to match new
+	  v.in.ascii option names.
+	  fix error checking logic.
+	  note why we only accept DDD input.
+
+2005-03-29 12:38  radim
+
+	* raster/r.random/random.c: cat bug
+
+2005-03-27 01:57  florian
+
+	* display/d.m/monitorsel.tcl: file was missing
+
+2005-03-26 06:46  hamish
+
+	* vector/v.info/main.c: stdout->stderr for info message so v.info
+	  -c can be parsed by scripts.
+
+2005-03-25 18:44  michael
+
+	* display/d.m/Makefile: Updated Makefile to include tool1.tcl,
+	  tool2.tcl, and monitorsel.tcl
+
+2005-03-25 18:44  michael
+
+	* display/d.m/d.m: added -name d_m_tcl flag to make setting fonts
+	  possible.
+
+2005-03-25 18:00  michael
+
+	* display/d.m/tool.tcl: Remove tool.tcl. Replaced by tool1.tcl and
+	  tool2.tcl.
+
+2005-03-25 17:58  michael
+
+	* display/d.m/raster.tcl, display/d.m/vector.tcl: Cosmetic
+	  improvements to raster and vector panels in GIS Manager
+
+2005-03-25 10:00  markus
+
+	* locale/po/grasslibs_vn.po, locale/po/grassmods_vn.po: Tran Van
+	  Anh: continued translation
+
+2005-03-25 09:46  markus
+
+	* locale/po/grassmods_zh.po: Zhang Jun: continued translation
+
+2005-03-25 03:33  cho
+
+	* configure, configure.in: Fixed GDAL_CONFIG test
+
+2005-03-24 22:18  markus
+
+	* scripts/v.in.garmin/description.html: PROJ4 url updated
+
+2005-03-24 20:26  glynn
+
+	* visualization/nviz/src/togl_flythrough.c: Don't use C99-specific
+	  asinf, atan2f, fmodf functions.
+
+2005-03-24 16:21  markus
+
+	* scripts/d.rast.leg/d.rast.leg: don't erase to white as monitor BG
+	  is white
+
+2005-03-24 15:11  markus
+
+	* lib/gis/ask.c, lib/gis/cell_stats.c, lib/gis/cellstats_eq.c,
+	  lib/gis/datum.c, lib/gis/get_window.c, lib/gis/gets.c,
+	  lib/gis/gisinit.c, lib/gis/icon.c, lib/gis/locale.c,
+	  lib/gis/mach_name.c, lib/gis/opencell.c, lib/gis/parser.c,
+	  lib/gis/quant_io.c, lib/gis/sites.c: Brad Douglas <rez
+	  touchofmadness com>: fixed compiler warnings
+
+2005-03-24 14:28  markus
+
+	* lib/external/shapelib/README: updated history
+
+2005-03-24 14:27  markus
+
+	* lib/external/shapelib/dbfopen.c: GDAL bugfix #809
+	  (http://208.24.120.44/show_bug.cgi?id=809)
+
+2005-03-24 14:26  markus
+
+	* lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c: updated to GDAL 1.2.6
+
+2005-03-24 12:41  markus
+
+	* doc/howto_release.txt: added MLs for release announcement
+
+2005-03-23 18:36  radim
+
+	* vector/v.distance/main.c: included to_angle from 1.22
+
+2005-03-23 18:33  radim
+
+	* vector/v.distance/main.c: sorry, back to 1.21
+
+2005-03-23 18:29  radim
+
+	* vector/v.distance/main.c: back to 1.20
+
+2005-03-23 16:26  radim
+
+	* vector/v.to.points/main.c: transaction
+
+2005-03-23 16:24  radim
+
+	* vector/Makefile, vector/v.parallel, vector/v.parallel/Makefile,
+	  vector/v.parallel/main.c: parallel lines
+
+2005-03-23 16:19  radim
+
+	* vector/v.distance/main.c: to_angle
+
+2005-03-22 23:26  hamish
+
+	* vector/v.in.ascii/in.c: add hint to error message re. common
+	  mistake
+
+2005-03-22 15:58  markus
+
+	* lib/gis/ellipse.table: fixed URL
+
+2005-03-22 15:10  radim
+
+	* lib/gis/parser.c: removed piece of HTML from XML
+
+2005-03-22 15:08  radim
+
+	* raster/r.colors/main.c: nothing must be printed after parser
+
+2005-03-22 11:15  markus
+
+	* vector/v.to.db/description.html: ref fixed
+
+2005-03-22 09:16  markus
+
+	* AUTHORS: added new Spanish translator
+
+2005-03-22 09:14  radim
+
+	* db/drivers/dbf/dbfexe.c: free statement better
+
+2005-03-22 08:54  markus
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po: Luis
+	  Izquierdo <luisizq2002 hotmail com>: extended Spanish translation
+
+2005-03-22 08:54  radim
+
+	* db/drivers/dbf/dbfexe.c: free statement
+
+2005-03-21 10:04  markus
+
+	* lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c: reverted to GDAL 1.1.9 as 1.2.6
+	  doesn't report INT as INT (but as FLOAT)
+
+2005-03-21 09:17  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Stephan
+	  Holl: update
+
+2005-03-21 09:09  markus
+
+	* db/drivers/dbf/table.c: comments added, added FTInvalid and
+	  default
+
+2005-03-21 09:06  markus
+
+	* db/drivers/dbf/create_table.c: include fix
+
+2005-03-21 09:05  markus
+
+	* lib/external/shapelib/Makefile: target cleanup
+
+2005-03-21 00:28  hamish
+
+	* vector/v.in.ascii/points.c: doh!
+
+2005-03-20 09:42  hamish
+
+	* vector/v.in.ascii/description.html, vector/v.in.ascii/in.c,
+	  vector/v.in.ascii/local_proto.h, vector/v.in.ascii/points.c: -
+	  use G_getl2() for multi-platform newline support
+	  - add skip= option to write header lines to history file
+	  - skip any data lines starting with hash ('#') character
+	  TODO: skip= and hash support for format=standard ?
+
+2005-03-20 06:23  hamish
+
+	* lib/db/dbmi_base/valuefmt.c: add return type int to
+	  db_convert_Cstring_to_value()
+
+2005-03-18 12:49  markus
+
+	* lib/gis/make_loc.c: doxygenized explanations
+
+2005-03-18 10:44  markus
+
+	* lib/gis/make_loc.c: meter -> meters
+
+2005-03-18 04:38  hamish
+
+	* imagery/i.points/call.c, imagery/i.points/curses.c,
+	  imagery/i.points/defs.h, imagery/i.points/main.c: update to use
+	  G_parser(), add missing includes, exit(1)->G_fatal_error()
+
+2005-03-17 21:46  markus
+
+	* scripts/r.in.srtm/description.html: extended
+
+2005-03-17 14:24  radim
+
+	* raster/r.to.vect/main.c: without debug, with driver check
+
+2005-03-17 14:19  radim
+
+	* raster/r.to.vect/main.c: insert cats to table with -v
+
+2005-03-17 11:16  markus
+
+	* scripts/d.out.png/d.out.png: get rid of extra png extension;
+	  message cosmetics
+
+2005-03-17 10:51  markus
+
+	* lib/external/shapelib/README, lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c: Updated from GDAL 1.2.6
+
+2005-03-17 10:50  radim
+
+	* vector/v.category/main.c: table names in report, patch by Martin
+	  Landa landa at gama.fsv.cvut.cz
+
+2005-03-17 09:55  markus
+
+	* locale/po/grassmods_zh.po: zhangjun <nilarcs gmail com>: started
+	  chinese translation
+
+2005-03-16 23:59  paul
+
+	* vector/v.in.ogr/main.c: Don't bother checking for proj_info and
+	  proj_units if location is XY
+
+2005-03-16 16:47  radim
+
+	* lib/vector/Vlib/bridges.c: endless loop fix on zero length
+	  boundaries
+
+2005-03-16 05:01  hamish
+
+	* lib/gis/getl.c: doxygenize G_getl() and G_getl2()
+
+2005-03-15 22:27  hamish
+
+	* scripts/r.in.srtm/r.in.srtm: fix output= test; broke on some
+	  cygwin
+
+2005-03-15 10:39  markus
+
+	* vector/v.in.dwg/main.c: avoid segfault
+
+2005-03-15 10:21  radim
+
+	* vector/v.select/main.c: 3d fix
+
+2005-03-15 10:15  markus
+
+	* raster/wildfire/README: fixed URL
+
+2005-03-15 10:09  markus
+
+	* raster/wildfire/README: demolocation URL
+
+2005-03-15 08:53  markus
+
+	* visualization/nviz/src/togl_flythrough.c: Bob Covill: compiler
+	  fixes
+
+2005-03-14 17:19  markus
+
+	* raster/r.series/description.html: comment added
+
+2005-03-14 13:46  markus
+
+	* raster/r.series/description.html: HTML cosmetic; name -> number
+
+2005-03-14 13:40  martin
+
+	* raster/r.series/description.html: added description in Notes for
+	  min_/max_raster
+
+2005-03-14 09:45  radim
+
+	* vector/Makefile: +v.split
+
+2005-03-14 09:44  radim
+
+	* vector/v.split, vector/v.split/Makefile, vector/v.split/main.c:
+	  split lines
+
+2005-03-14 09:30  martin
+
+	* raster/r.series/c_minx.c: new funct. -- ts raster with min.
+	  value, code by Glynn
+
+2005-03-14 09:30  martin
+
+	* raster/r.series/c_maxx.c: new funct. -- ts raster with max.
+	  value, code by Glynn
+
+2005-03-14 09:28  martin
+
+	* raster/r.series/description.html, raster/r.series/local_proto.h,
+	  raster/r.series/main.c: added new func.: ts min/max raster
+	  corresponding to c_maxx.c and c_minx.c
+
+2005-03-14 08:49  radim
+
+	* vector/v.mkgrid/write_grid.c: 3 times += x_len is probably
+	  optimized to += 3*x_len
+
+2005-03-14 08:01  radim
+
+	* db/drivers/ogr/describe.c: c can be NULL
+
+2005-03-14 07:52  radim
+
+	* vector/v.db.connect/main.c: field info fix
+
+2005-03-14 07:33  radim
+
+	* lib/db/dbmi_base/error.c: protocol error is protocol error and it
+	  is not sure where it comes from
+
+2005-03-14 05:59  florian
+
+	* display/d.m/d.m.tcl: corrected spelling again. cannot even spell
+	  my own name
+
+2005-03-14 03:35  florian
+
+	* display/d.m/d.m.tcl: corrected spelling
+
+2005-03-13 10:54  cho
+
+	* scripts/g.manual/g.manual: minor changes
+
+2005-03-12 21:40  markus
+
+	* AUTHORS: Massimo Cuomo added for NVIZ
+
+2005-03-12 21:38  markus
+
+	* visualization/nviz/src/ChangeLog: Flythrough docs added
+
+2005-03-12 21:33  markus
+
+	* lib/ogsf/GK2.c, lib/ogsf/gk.c,
+	  visualization/nviz/bitmaps/flythrough,
+	  visualization/nviz/bitmaps/flythrough/a_lr.gif,
+	  visualization/nviz/bitmaps/flythrough/a_ud.gif,
+	  visualization/nviz/bitmaps/flythrough/b_c.gif,
+	  visualization/nviz/bitmaps/flythrough/b_cr.gif,
+	  visualization/nviz/bitmaps/flythrough/b_l.gif,
+	  visualization/nviz/bitmaps/flythrough/b_lc.gif,
+	  visualization/nviz/bitmaps/flythrough/b_lr.gif,
+	  visualization/nviz/bitmaps/flythrough/b_r.gif,
+	  visualization/nviz/bitmaps/flythrough/vuota.gif,
+	  visualization/nviz/scripts/flythrough.tcl,
+	  visualization/nviz/scripts/panel_kanimator.tcl,
+	  visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/quick_draw.c,
+	  visualization/nviz/src/togl_flythrough.c: ACS - Massimo Cuomo
+	  <m.cuomo at acsys it>: new flythrough navigation for NVIZ
+
+2005-03-12 19:58  markus
+
+	* Makefile: copy AUTHORS as well
+
+2005-03-12 17:45  markus
+
+	* scripts/v.in.garmin/v.in.garmin: small fixes
+
+2005-03-12 17:27  markus
+
+	* visualization/xganim/main.c: 400 images max to support longer
+	  time series
+
+2005-03-12 16:58  markus
+
+	* doc/howto_release.txt: links updated
+
+2005-03-12 04:56  florian
+
+	* display/d.m/d.m.tcl, display/d.m/labels.tcl,
+	  display/d.m/raster.tcl, display/d.m/tree.tcl,
+	  display/d.m/vector.tcl: added autonaming of layers when map is
+	  chosen
+
+2005-03-12 01:29  hamish
+
+	* vector/v.out.ogr/description.html: fix broken "layer=" ->
+	  "olayer=" in examples
+
+2005-03-11 23:48  cho
+
+	* display/d.m/Makefile, display/d.m/menu.tcl, lib/init/init.sh: add
+	  tool[12].tcl to Makefile
+	  make the About System window run in background
+
+2005-03-11 20:51  michael
+
+	* display/d.m/d.m.tcl: fixed bug with query procedure
+
+2005-03-11 19:51  cho
+
+	* scripts/g.manual/g.manual: code cleanup
+
+2005-03-11 19:48  cho
+
+	* scripts/g.manual/g.manual: Fixed a regular expression
+
+2005-03-11 19:47  cho
+
+	* display/d.m/menu.tcl, lib/init/init.sh,
+	  scripts/g.manual/g.manual: Added Cygwin hack for
+	  GRASS_HTML_BROWSER.
+	  The idea was provided by Marco Lechner.
+
+2005-03-11 16:58  markus
+
+	* raster/Makefile: r.bitpattern added: this functionality may
+	  eventually go into r.mapcalc
+
+2005-03-11 16:57  markus
+
+	* raster/r.bitpattern, raster/r.bitpattern/Makefile,
+	  raster/r.bitpattern/description.html, raster/r.bitpattern/main.c:
+	  added
+
+2005-03-11 15:21  michael
+
+	* display/d.m/copy.gif, display/d.m/d.m.tcl,
+	  display/d.m/raster.tcl, display/d.m/tool1.tcl,
+	  display/d.m/tool2.tcl: Update to GIS Manager. New display monitor
+	  controls, improved
+	  raster display panel, updated tool bars.
+
+2005-03-11 06:51  florian
+
+	* display/d.m/add.duplicate.gif: duplicate layer button
+
+2005-03-11 03:43  hamish
+
+	* lib/init/init.sh: on MacOSX "more" is in /usr/bin/
+
+2005-03-10 17:27  markus
+
+	* include/Make/Rules.make: add module class crosslink to each
+	  module description page (footer)
+
+2005-03-10 17:16  radim
+
+	* vector/v.in.ascii/in.c: check z only for points
+
+2005-03-10 15:38  radim
+
+	* lib/vector/Vlib/cindex.c: check field < 0
+
+2005-03-10 13:19  florian
+
+	* display/d.m/cmd.tcl, display/d.m/d.m.tcl, display/d.m/group.tcl,
+	  display/d.m/labels.tcl, display/d.m/raster.tcl,
+	  display/d.m/tool.tcl, display/d.m/vector.tcl: added duplicate
+	  layer functionality
+
+2005-03-10 13:08  markus
+
+	* include/VERSION: 6.0.cvs -> 6.1.cvs
+
+2005-03-10 13:06  markus
+
+	* aclocal.m4: credits added
+
+2005-03-10 12:58  markus
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  lib/gis/Makefile: activated Large File Support (default now)
+
+2005-03-10 11:55  hamish
+
+	* imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/i.ortho.photo/photo.rectify/exec.c,
+	  imagery/i.ortho.photo/photo.rectify/local_proto.h,
+	  imagery/i.ortho.photo/photo.rectify/mail.c,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c,
+	  imagery/i.ortho.photo/photo.rectify/report.c: re-exorcize the
+	  email code
+
+2005-03-10 11:40  hamish
+
+	* imagery/i.rectify/description.html, imagery/i.rectify/exec.c,
+	  imagery/i.rectify/global.h, imagery/i.rectify/mail.c,
+	  imagery/i.rectify/rectify.c, imagery/i.rectify/report.c:
+	  re-exorcize the email code
+
+2005-03-10 11:23  hamish
+
+	* AUTHORS: more correct description of what lies at
+	  grasscredits.html (ie <= 5.0.0)
+
+2005-03-10 11:20  hamish
+
+	* display/d.m/d.m.tcl: premature ","
+
+2005-03-10 11:02  markus
+
+	* aclocal.m4, configure, configure.in, include/config.h.in: added
+	  systematic Large File Support (LFS) tests. Based on cdrtools-2.01
+	  by Joerg Schilling <schilling fokus fraunhofer de>
+
+2005-03-10 10:58  markus
+
+	* lib/gis/make_loc.c: MINGW32 fix
+
+2005-03-10 10:56  markus
+
+	* display/d.m/d.m.tcl: fixed typo
+
+2005-03-10 10:55  markus
+
+	* vector/v.in.ascii/in.c: added noheader_flag
+
+2005-03-10 10:54  markus
+
+	* vector/v.in.ogr/main.c: message cosmetics
+
+2005-03-10 10:50  markus
+
+	* doc/howto_release.txt: extended
+
+2005-03-09 16:03  michael
+
+	* display/d.m/d.m.tcl, display/d.m/menu.tcl: Minor bug fixes and
+	  showing location name in GIS Manager frame
+
+2005-03-09 13:49  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po: Maurizio
+	  Napolitano: extended
+
+2005-03-09 12:50  markus
+
+	* locale/po/grasslibs_ja.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_vn.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_vn.po: Fuzzy
+	  translated messages from GRASS 5.0 po files
+
+2005-03-09 12:48  markus
+
+	* AUTHORS: extended
+
+2005-03-09 11:11  markus
+
+	* lib/ogsf/gk.c: Massimo Cuomo, ACS: fix core dump
+
+2005-03-09 10:05  hamish
+
+	* display/d.m/menu.tcl: fix r.flow menu entry (execute->spawn)
+
+2005-03-09 06:12  hamish
+
+	* raster/r.in.gdal/main.c: Cell_head.depths is defined as int in
+	  include/gis.h
+	  see
+	  http://grass.itc.it/pipermail/grassuser/2005-March/028203.html
+
+2005-03-09 05:52  hamish
+
+	* display/d.m/menu.tcl: fix broken g.list entry
+
+2005-03-09 05:34  hamish
+
+	* raster/r.sun/main.c: minor option description text
+
+2005-03-09 04:57  hamish
+
+	* AUTHORS: credit Michael Barton for work on 5.4 menu system
+
+2005-03-08 11:17  markus
+
+	* lib/gis/debug.c: doxygenized G_debug()
+
+2005-03-08 10:58  markus
+
+	* SUBMITTING: added doxygen comment
+
+2005-03-08 10:56  markus
+
+	* lib/ogsf/gsurf.h: allow for more vector maps
+	  (http://grass.itc.it/pipermail/grass5/2005-March/thread.html#17624)
+
+2005-03-08 10:53  markus
+
+	* doc/vector/grass51concept.fig, doc/vector/grass51concept.png: 5.7
+	  -> 6.0
+
+2005-03-08 10:47  markus
+
+	* AUTHORS: Web site added
+
+2005-03-08 10:43  markus
+
+	* AUTHORS: extended
+
+2005-03-08 06:20  hamish
+
+	* AUTHORS: added intro text, 6.0 project contribs, merged in 5.4
+	  AUTHORS file
+
+2005-03-07 12:29  markus
+
+	* raster/r.mapcalc/r.mapcalc.html: added Glynn's NULL/if() comments
+
+2005-03-07 11:07  markus
+
+	* raster/r.sun/main.c: coefbh and coefdh are INPUT maps
+
+2005-03-07 04:16  hamish
+
+	* SUBMITTING: suggest using G_debug() and
+	  G_define_standard_option()
+
+2005-03-06 12:33  markus
+
+	* raster/r.sun/description.html, raster/r.sun/main.c: cleanup of
+	  parameters
+
+2005-03-06 09:32  hamish
+
+	* lib/gis/getl.c: minor cleanup
+
+2005-03-05 13:05  markus
+
+	* general/g.region/cmd/printwindow.c: typo
+
+2005-03-05 11:49  markus
+
+	* tools/g.html2man/g.html2man, tools/g.html2man/htmltags.txt:
+	  Daniel Calvelo Aros <dcalvelo minag gob pe>: added table tag
+	  support
+
+2005-03-05 11:43  markus
+
+	* scripts/i.tasscap/i.tasscap: fixed #3067
+
+2005-03-05 03:03  hamish
+
+	* raster/r.proj/description.html: clean up links. comment out
+	  r.support until it exists again (bug #3070)
+
+2005-03-04 10:16  radim
+
+	* lib/vector/diglib/frmt.c: G_getl2
+
+2005-03-04 09:59  radim
+
+	* include/gisdefs.h, lib/gis/getl.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/hist.c,
+	  vector/v.info/main.c: G_getl2
+
+2005-03-02 16:00  markus
+
+	* lib/ogsf/gvd.c: Bob Covill: bugfix for surface/3Dvect light
+	  problems
+
+2005-03-02 14:51  markus
+
+	* scripts/i.fusion.brovey/description.html,
+	  scripts/i.fusion.brovey/i.fusion.brovey: refences updated
+
+2005-03-02 13:43  markus
+
+	* visualization/nviz/scripts/tclIndex: panel_mkdspf.tcl cleanup
+
+2005-03-02 11:39  markus
+
+	* general/g.region/cmd/description.html: added LL DMS example
+
+2005-03-02 11:26  paul
+
+	* vector/v.surf.idw/main.c: Fix bug where sites outside region were
+	  being ignored when indexing not used
+
+2005-03-02 11:25  markus
+
+	* scripts/i.fusion.brovey/i.fusion.brovey: user message extended
+
+2005-03-02 10:00  paul
+
+	* vector/v.surf.idw/description.html, vector/v.surf.idw/main.c:
+	  Make implications of -n flag clearer and tidy HTML in description
+
+2005-03-02 08:57  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po: messages
+	  updated
+
+2005-03-02 04:18  hamish
+
+	* lib/ogsf/GS2.c: apply lighting bugfix by Glynn (Aug 26 2004)
+	  http://grass.itc.it/pipermail/grass5/2004-August/015202.html
+	  http://grass.itc.it/pipermail/grass-commit/2004-August/012451.html
+
+2005-03-02 03:30  hamish
+
+	* ps/ps.map/ps_clrtbl.c: fix segfault if there are no labeled
+	  categories (bug #3057)
+
+2005-03-02 02:22  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: remove AWK for doing decimal
+	  multiplication -- broke when decimal point was a ",".
+	  The buffer distance is pretty arbitrary anyway, so not a big deal
+	  if we lose
+	  sub-meter precision (I hope).
+
+2005-03-01 21:50  cho
+
+	* lib/gis/ask.c: Fixed comments
+
+2005-03-01 20:56  markus
+
+	* lib/init/init.sh: advertise LOCATION_NAME also for bash and
+	  cygwin
+
+2005-03-01 20:37  markus
+
+	* SUBMITTING, locale/README: extended to better understand
+	  G_message() usage
+
+2005-03-01 20:18  markus
+
+	* raster/r.composite/description.html: URLs cleanup (#3058)
+
+2005-03-01 20:16  markus
+
+	* raster/r.his/description.html: URLs cleanup (#3055)
+
+2005-03-01 20:15  markus
+
+	* display/d.rgb/description.html: URLs cleanup
+
+2005-03-01 20:13  markus
+
+	* display/d.rgb/description.html: URLs cleanup (#3053)
+
+2005-03-01 20:08  markus
+
+	* raster/r.mapcalc/r.mapcalc.html: URLs cleanup (#3048)
+
+2005-03-01 06:58  cho
+
+	* raster/r.topidx/README, raster/r.topidx/description.html: Removed
+	  r.avgstats
+
+2005-03-01 06:58  cho
+
+	* raster/r.topmodel/REFERENCE, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/local_proto.h, raster/r.topmodel/misc.c,
+	  raster/r.topmodel/topmodel.c: Removed AVG macro
+	  Removed r.avgstats dependency
+	  Fixed some bugs
+	  Added references
+
+2005-03-01 06:56  cho
+
+	* raster/r.stats/global.h, raster/r.stats/main.c,
+	  raster/r.stats/stats.c: Added -A flag
+
+2005-03-01 06:52  cho
+
+	* raster/r.topidx/r.avgstats: Removed r.avgstats
+
+2005-02-28 17:13  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Graph_Set.c: also advertise
+	  LOCATION name
+
+2005-02-28 17:05  markus
+
+	* general/manage/lib/Element_List: vect re-ordered
+
+2005-02-28 16:39  martin
+
+	* raster/r.series/description.html, raster/r.series/local_proto.h,
+	  raster/r.series/main.c: changed back to previous state before
+	  c_minx/_maxx addition - will add it after freeze
+
+2005-02-28 16:38  martin
+
+	* raster/r.series/c_maxx.c, raster/r.series/c_minx.c: removed new
+	  funct. - will commit them after freeze
+
+2005-02-28 16:36  markus
+
+	* display/d.m/script/d.colors.sh, display/d.m/script/d.shadedmap,
+	  display/d.m/script/r.colors.rules,
+	  display/d.m/script/r.reclass.file,
+	  display/d.m/script/r.reclass.rules,
+	  display/d.m/script/r.recode.file,
+	  display/d.m/script/r.recode.rules,
+	  display/d.m/script/v.in.asciipoints: removed half-broken Id tags
+
+2005-02-28 16:00  markus
+
+	* visualization/nviz/scripts/panel_label.tcl,
+	  visualization/nviz/scripts/panel_scale.tcl,
+	  visualization/nviz/scripts/structlib.tcl: cleanup
+
+2005-02-28 14:39  martin
+
+	* raster/r.series/c_maxx.c, raster/r.series/c_minx.c: new method --
+	  extracts name (number of raster in row) of raster with the
+	  min/max value of the time-series -- code by Glynn
+
+2005-02-28 14:37  martin
+
+	* raster/r.series/description.html: added min_/max_raster method
+	  corresponding to c_minx/maxx
+
+2005-02-28 14:36  martin
+
+	* raster/r.series/local_proto.h, raster/r.series/main.c: added
+	  c_minx/c_maxx
+
+2005-02-28 13:24  markus
+
+	* visualization/nviz/scripts/panelIndex,
+	  visualization/nviz/scripts/panel_mkdspf.tcl: removed mkdspf
+
+2005-02-28 12:12  markus
+
+	* include/Make/Platform.make.in: fixed INSTALL as suggested by
+	  Glynn
+
+2005-02-28 10:11  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Graph_Set.c: added 'GRASS' in
+	  window name
+
+2005-02-28 10:10  markus
+
+	* visualization/nviz/src/draw.c: activated GS_draw_all_list()
+
+2005-02-28 03:16  cho
+
+	* display/d.text.freetype/main.c: font info
+
+2005-02-28 03:13  cho
+
+	* display/d.text.freetype/main.c: Code cleanup
+
+2005-02-28 02:41  cho
+
+	* display/d.text.freetype/main.c: UTF-8 is the default charset.
+	  Interactive display command is also saved.
+
+2005-02-27 22:15  markus
+
+	* raster/r.resamp.rst/main.c: permit for LatLong style resolutions
+
+2005-02-27 20:39  markus
+
+	* scripts/v.in.e00/v.in.e00: added paranoia comment
+
+2005-02-27 03:36  cho
+
+	* raster/r.topmodel/README, raster/r.topmodel/main.c: Fixed option
+	  description
+
+2005-02-24 08:26  radim
+
+	* locale/po/grasslibs_fr.po: by Daniel Calvelo Aros
+
+2005-02-24 03:31  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: revert last change, does not
+	  match the way that all other non-import raster
+	  functions operate
+
+2005-02-24 03:14  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: zoom to extents of input map
+	  before calculations and then zoom back to
+	  current region settings afterwards.
+
+2005-02-23 18:08  radim
+
+	* lib/vector/Vlib/break_polygons.c: out of array
+
+2005-02-23 13:06  radim
+
+	* lib/vector/Vlib/map.c: delete nfs . files
+
+2005-02-23 10:50  radim
+
+	* vector/v.in.ascii/points.c: null values
+
+2005-02-22 23:49  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: add some error checking along
+	  the way
+
+2005-02-22 23:19  hamish
+
+	* scripts/r.in.srtm/r.in.srtm: - add check that g.tempfile ran ok
+	  - correctly remove zip file (GRASS Bug # 3022)
+	  - disable region change (without any warning)
+
+2005-02-22 16:01  radim
+
+	* lib/db/dbmi_client/table.c: tabname, not dbname
+
+2005-02-22 08:26  radim
+
+	* raster/r.out.tiff/Makefile: TIFFLIBPATH; by Brad Douglas
+
+2005-02-22 02:13  hamish
+
+	* INSTALL: updates & cleanups; add large file support section
+
+2005-02-22 01:26  hamish
+
+	* REQUIREMENTS.html: add note about needing tcl/tk 8.3 on some
+	  platforms (NVIZ segfault bug)
+
+2005-02-22 01:17  hamish
+
+	* vector/v.digit/description.html: cleanup examples; add d.save
+	  trick; add "see also" r.digit
+
+2005-02-21 16:53  michael
+
+	* display/d.m/menu.tcl: series of bug fixes and correcting
+	  omissions.
+
+2005-02-21 11:34  radim
+
+	* vector/v.distance/main.c: alloc less for -a
+
+2005-02-21 09:51  cho
+
+	* raster/r.topidx/check_ready.c, raster/r.topidx/r.avgstats:
+	  Applied g.parser
+
+2005-02-21 09:11  cho
+
+	* raster/r.topmodel/description.html: Updated
+
+2005-02-21 09:04  cho
+
+	* raster/r.topmodel/README, raster/r.topmodel/check_ready.c,
+	  raster/r.topmodel/description.html, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/local_proto.h, raster/r.topmodel/main.c,
+	  raster/r.topmodel/misc.c, raster/r.topmodel/topmodel.c: Code
+	  cleanup
+
+2005-02-20 06:12  hamish
+
+	* vector/v.mkgrid/description.html: add an example
+
+2005-02-20 05:32  hamish
+
+	* scripts/r.regression.line/r.regression.line: add check to
+	  g.tempfile; avoid possible 'rm -f *' trap
+
+2005-02-20 05:18  hamish
+
+	* scripts/v.in.e00/v.in.e00: $TMP was never set, so if user hit ^C
+	  it deleted their home directory.
+	  Thanks to Marc Girondot for finding this bug the hard way.
+	  -- just commented out for now, should be fixed to properly
+	  cleanup temp
+	  files.
+
+2005-02-20 05:08  hamish
+
+	* scripts/r.univar.sh/r.univar.sh: add test to make sure $TMP gets
+	  set, otherwise cleanup "rm -f *" nastiness.
+
+2005-02-20 04:55  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: add check to g.tempfile so if it
+	  fails, cleanup doesn't "rm -f *".
+	  TODO: Improve cleanup further?
+
+2005-02-20 04:20  hamish
+
+	* vector/v.category/description.html: fix broken URL
+
+2005-02-18 04:32  hamish
+
+	* raster/r.univar2/description.html: add some "see also"s
+
+2005-02-18 04:25  hamish
+
+	* vector/v.type/description.html: add v.to.points to "see also"
+	  section
+
+2005-02-17 18:12  michael
+
+	* display/d.m/menu.tcl: several bug fixes, removing entries for
+	  non-existent modules, etc.
+
+2005-02-16 23:25  helena
+
+	* raster/r.resamp.rst/main.c: removal of -r and references
+
+2005-02-16 23:22  helena
+
+	* lib/rst/interp_float/interpf.h, lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/vinput2d.c: removal of -c -r
+
+2005-02-16 23:16  helena
+
+	* vector/v.surf.rst/main.c: removed -c -r, moved fprint after
+	  G_parser, changed explanation of options
+
+2005-02-15 17:12  michael
+
+	* display/d.m/script/d.colors.sh: bugfix for acessing d.colors from
+	  GIS Manager menu
+
+2005-02-15 17:11  michael
+
+	* display/d.m/menu.tcl: bugfix for accessing r.terraflow and
+	  d.colors from GIS Manager menu
+
+2005-02-15 13:51  radim
+
+	* lib/db/dbmi_driver/driver.c: umask(0) removed
+
+2005-02-15 08:09  hamish
+
+	* vector/v.mkgrid/main.c: enhance angle= option description
+
+2005-02-14 08:37  radim
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po: format fix
+
+2005-02-14 08:23  radim
+
+	* display/d.extend/Makefile: vect flags
+
+2005-02-13 22:38  hamish
+
+	* vector/v.extract/description.html: comment out -n flag
+	  description (flag doesn't exist)
+
+2005-02-13 08:40  hamish
+
+	* scripts/r.in.srtm/description.html: SRTM ftp site has changed.
+	  Added link to SRTM homepage in case it changes again.
+
+2005-02-13 06:59  florian
+
+	* display/d.zoom/main.c: renamed region used by previous zoom
+	  command
+
+2005-02-13 06:29  hamish
+
+	* display/d.vect/description.html: make a bit fancier
+
+2005-02-13 06:26  hamish
+
+	* display/d.vect/description.html: anglify & cleanup some of the
+	  text.
+	  simplify RGB color values
+
+2005-02-12 17:00  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: continued
+
+2005-02-12 15:35  markus
+
+	* db/base/db.execute.html: added example
+
+2005-02-12 15:13  markus
+
+	* display/d.vect/description.html: updated due to src code change
+
+2005-02-12 05:39  hamish
+
+	* display/d.vect/area.c, display/d.vect/main.c: String buffer was
+	  not big enough to hold full input. (prime candidate for
+	  G_asprintf()?)
+	  Change RR:GG:BB to RRR:GGG:BBB so not to confuse 0x00-0xFF with
+	  0-255
+
+2005-02-11 18:24  cho
+
+	* raster/r.topidx/main.c: Added error message
+
+2005-02-11 18:03  markus
+
+	* raster/r.cost/main.c: changed permissions to 0666 as adviced by
+	  Glynn
+
+2005-02-11 18:02  markus
+
+	* raster/r.los/main.c: changed back permissions to 0666 as adviced
+	  by Glynn
+
+2005-02-11 15:12  radim
+
+	* vector/v.extract/extract.c: new >= 0 fix
+
+2005-02-11 14:35  radim
+
+	* lib/db/dbmi_client/table.c: schemas
+
+2005-02-11 11:08  radim
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po: by Martin
+	  Landa <landa at gama.fsv.cvut.cz>, Jachym Cepicky
+	  <jachym.cepicky at centrum.cz> and Michal Bil <michal.bil at seznam.cz>
+
+2005-02-11 10:48  markus
+
+	* lib/gis/geodesic.c: TODO added
+
+2005-02-11 09:05  cho
+
+	* raster/r.in.gdal/main.c: Added cellhd.depths to avoid garbage
+	  number
+
+2005-02-11 06:29  cho
+
+	* raster/r.topidx/topidx.c: Code consistency
+
+2005-02-11 02:30  cho
+
+	* raster/r.topidx/file_io.c, raster/r.topidx/local_proto.h,
+	  raster/r.topidx/main.c: Removed duplicated header includes
+	  Fixed compiler warnings
+
+2005-02-10 22:59  markus
+
+	* Makefile: generate MD5 sum for srcdist
+
+2005-02-10 22:54  hamish
+
+	* scripts/g.manual/g.manual: backgrounding the browser doesn't work
+	  for text based browsers, so revert the last change
+
+2005-02-10 22:36  markus
+
+	* doc/howto_release.txt: url added
+
+2005-02-10 22:23  markus
+
+	* display/d.font.freetype/description.html: fixes
+
+2005-02-10 21:41  cho
+
+	* db/drivers/mk_dbdriver_h.sh: Made it work with a non-GNU sed
+
+2005-02-10 18:34  cho
+
+	* scripts/g.mlist/g.mlist, scripts/g.mremove/g.mremove: Fixed
+	  g.mlist bug (mapset search path)
+	  Improved mapset option of g.mlist
+	  Added -m flag to g.mlist
+	  Added -r flag to g.mremove
+
+2005-02-10 17:18  markus
+
+	* general/g.proj/description.html: LL example added, cosmetics
+
+2005-02-10 17:10  markus
+
+	* doc/howto_release.txt: added
+
+2005-02-10 15:14  markus
+
+	* raster/r.los/main.c: security fix (taken from r.cost)
+
+2005-02-09 22:34  hamish
+
+	* raster3d/r3.out.ascii/description.html: change table to pre as
+	  g.html2man doesn't like tables.
+
+2005-02-09 20:10  cho
+
+	* raster/r.topidx/adjcellhd.c: Removed adjcellhd.c
+
+2005-02-09 20:09  cho
+
+	* raster/r.topidx/file_io.c, raster/r.topidx/local_proto.h,
+	  raster/r.topidx/main.c, raster/r.topidx/topidx.c: Fixed bugs
+
+2005-02-09 17:46  markus
+
+	* lib/init/variables.html: GRASS_VERSION added
+
+2005-02-09 17:42  markus
+
+	* lib/init/init.sh: added env var for R interface
+
+2005-02-09 17:37  markus
+
+	* lib/init/make_location_epsg_g57.sh: removed unused version number
+
+2005-02-09 15:14  markus
+
+	* scripts/r.out.gdal/r.out.gdal: message cosmetics
+
+2005-02-09 08:52  markus
+
+	* vector/v.reclass/description.html: fixes
+
+2005-02-09 08:27  markus
+
+	* raster/r.in.gdal/description.html: updated
+
+2005-02-08 21:12  hamish
+
+	* scripts/g.manual/g.manual: launch html browser as a new process &
+	  free the command line
+
+2005-02-08 18:11  markus
+
+	* visualization/nviz/scripts/nviz2.2_script: redraw before dumping
+	  to file
+
+2005-02-08 18:00  markus
+
+	* raster/r.los/main.c: overwrite test is already in the parser
+
+2005-02-08 15:56  markus
+
+	* vector/v.in.ascii/description.html: description extended [a
+	  change to avoid the header by new flag will be submitted after
+	  6.0 release]
+
+2005-02-08 13:48  markus
+
+	* db/drivers/README, lib/db/README,
+	  vector/v.in.ascii/description.html: grass51 -> grass6
+
+2005-02-08 13:08  markus
+
+	* lib/index.dox: minor updates
+
+2005-02-08 12:57  markus
+
+	* vector/v.in.ascii/in.c: message cosmetics
+
+2005-02-08 11:25  bernhard
+
+	* INSTALL: Changing grass51 to grass6 in line mention CVS. This is
+	  a test for CVS access.
+
+2005-02-07 22:00  markus
+
+	* Doxyfile, lib/index.dox: ProgMan overview page
+
+2005-02-07 21:58  markus
+
+	* general/manage/lib/Element_List: fixed description
+
+2005-02-07 21:58  markus
+
+	* vector/v.clean/main.c: message cosmetics; typo
+
+2005-02-05 17:02  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: continued translation
+
+2005-02-04 15:46  markus
+
+	* TODO: v.to.rast and v.distance TODO added
+
+2005-02-04 14:36  radim
+
+	* include/VERSION: cvs
+
+2005-02-04 14:33  radim
+
+	* include/VERSION: 6.0.0beta2
+
+2005-02-04 02:32  hamish
+
+	* imagery/i.ortho.photo/photo.rectify/description.html: revert
+	  anti-email code for now
+
+2005-02-04 02:26  hamish
+
+	* imagery/i.ortho.photo/photo.rectify/exec.c,
+	  imagery/i.ortho.photo/photo.rectify/local_proto.h,
+	  imagery/i.ortho.photo/photo.rectify/mail.c,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c,
+	  imagery/i.ortho.photo/photo.rectify/report.c: revert anti-email
+	  code for now
+
+2005-02-04 02:04  hamish
+
+	* imagery/i.rectify/description.html: revert anti-email code for
+	  now
+
+2005-02-04 01:52  hamish
+
+	* imagery/i.rectify/exec.c, imagery/i.rectify/global.h,
+	  imagery/i.rectify/mail.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/report.c: revert anti-email code for now
+
+2005-02-03 22:42  hamish
+
+	* lib/init/grass.src: revert session-within-session check for now
+
+2005-02-03 21:18  markus
+
+	* TODO: added v.reclass dissolve TODO
+
+2005-02-03 17:28  markus
+
+	* display/d.vect/main.c: catch error
+
+2005-02-03 14:28  markus
+
+	* lib/ogsf/Gv3.c: fix for areas, now 2D polygons visible as
+	  boundaries again (3D areas should be visible as filled polygons)
+
+2005-02-03 13:02  markus
+
+	* locale/po/grasslibs_es.po, locale/po/grassmods_es.po: jose miguel
+	  manzano <josemimanga2 yahoo es>: started spanish translations
+
+2005-02-03 12:26  markus
+
+	* lib/init/variables.html: explanation added
+
+2005-02-03 11:00  markus
+
+	* vector/v.net.path/path.c: message cosmetics
+
+2005-02-03 10:59  markus
+
+	* vector/v.convert/description.html,
+	  vector/v.db.connect/description.html,
+	  vector/v.extract/description.html,
+	  vector/v.out.ogr/description.html,
+	  vector/v.sample/description.html,
+	  vector/v.transform/description.html: cleanup
+
+2005-02-03 10:58  markus
+
+	* vector/v.in.db/description.html, vector/v.in.db/main.c: changed
+	  back cat -> key parameter for consistency
+
+2005-02-03 09:56  paul
+
+	* lib/proj/convert.c: Fix bug 2936 Maciek Sieczka (generating
+	  incorrect PROJ_UNITS files)
+
+2005-02-03 04:07  hamish
+
+	* raster/r.colors/rules.c: bugfix: correctly warn if rules do not
+	  cover full extent
+	  (it was the ORDER of rules that was causing the negative rules to
+	  fail)
+
+2005-02-03 02:24  hamish
+
+	* lib/init/init.sh: revert $TMPDIR capability (instead of /tmp)
+	  until lib/gis/unix_socks.c
+	  can be updated to use $TMPDIR too.
+
+2005-02-02 16:07  markus
+
+	* vector/v.in.db/description.html: updated
+
+2005-02-02 13:03  markus
+
+	* locale/README: extended
+
+2005-02-02 12:59  markus
+
+	* locale/README: extended
+
+2005-02-02 12:55  markus
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_it.po,
+	  locale/po/grasslibs_ja.po, locale/po/grasslibs_ru.po,
+	  locale/po/grasslibs_sl.po, locale/po/grassmods_cs.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_fr.po,
+	  locale/po/grassmods_it.po, locale/po/grassmods_ja.po,
+	  locale/po/grassmods_ru.po, locale/po/grassmods_sl.po: updated:
+	  merged in numerous new messages
+
+2005-02-02 11:02  markus
+
+	* vector/v.to.db/lines.c, vector/v.to.db/units.c: don't apply unit
+	  conversion to coordinates; removed unused vars
+
+2005-02-02 07:37  hamish
+
+	* imagery/i.ortho.photo/photo.rectify/description.html: exorcize
+	  the email code
+
+2005-02-02 07:28  hamish
+
+	* imagery/i.ortho.photo/photo.rectify/ask_elev.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files2.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_wind.c,
+	  imagery/i.ortho.photo/photo.rectify/cp.c,
+	  imagery/i.ortho.photo/photo.rectify/exec.c,
+	  imagery/i.ortho.photo/photo.rectify/local_proto.h,
+	  imagery/i.ortho.photo/photo.rectify/mail.c,
+	  imagery/i.ortho.photo/photo.rectify/main.c,
+	  imagery/i.ortho.photo/photo.rectify/ps_cp.c,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c,
+	  imagery/i.ortho.photo/photo.rectify/report.c: exorcize the email
+	  code; add some missing #includes
+	  G_percent() may still need some fine tuning
+
+2005-02-02 07:21  hamish
+
+	* imagery/i.rectify/description.html: exorcize the email code
+
+2005-02-02 07:14  hamish
+
+	* imagery/i.rectify/mail.c: obsolete
+
+2005-02-02 07:10  hamish
+
+	* imagery/i.rectify/cp.c, imagery/i.rectify/exec.c,
+	  imagery/i.rectify/global.h, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/report.c: exorcize the email code; add some
+	  missing #includes
+	  G_percent() may still need some fine tuning
+
+2005-02-02 06:44  hamish
+
+	* REQUIREMENTS.html: minor edits: "interface interface"; PNG driver
+	  needs libpng
+
+2005-02-01 18:07  cho
+
+	* lib/init/variables.html: Added GRASS_UI_TERM
+
+2005-02-01 17:14  markus
+
+	* lib/proj/convert.c: extended explanations based on Paul's comment
+
+2005-02-01 16:29  markus
+
+	* lib/rst/interp_float/Makefile,
+	  lib/rst/interp_float/resout2dmod.c: simplified Makefile: removed
+	  unused file (ok with Jaro)
+
+2005-02-01 16:28  markus
+
+	* lib/rst/interp_float/distance.c: fixed coding style
+
+2005-02-01 15:49  scott
+
+	* lib/init/helptext.html: small grammar / flow edits
+
+2005-02-01 14:00  markus
+
+	* scripts/r.in.srtm/r.in.srtm: fix for read-only directories
+
+2005-02-01 12:53  markus
+
+	* SUBMITTING: added with updates from 5.4
+
+2005-02-01 12:36  markus
+
+	* REQUIREMENTS.html: added version number
+
+2005-02-01 06:44  hamish
+
+	* display/d.rast.num/number.c, display/d.vect.chart/main.c: update
+	  to use DEFAULT_FG_COLOR (no change in behavior)
+
+2005-02-01 06:37  hamish
+
+	* display/d.path/main.c: update to use DEFAULT_FG_COLOR,
+	  DEFAULT_BG_COLOR (no change in behavior)
+
+2005-02-01 06:32  hamish
+
+	* display/d.measure/main.c: update to use DEFAULT_FG_COLOR,
+	  DEFAULT_BG_COLOR
+
+2005-02-01 06:30  hamish
+
+	* display/d.colortable/main.c, display/d.graph/main.c,
+	  display/d.linegraph/linegraph.c: update to use DEFAULT_FG_COLOR
+
+2005-02-01 04:35  hamish
+
+	* lib/init/variables.html: add "--o" overwrite note
+	  whitespace cleanup etc
+
+2005-02-01 03:22  hamish
+
+	* lib/init/grass.src: test for grass-within-grass situation.
+	  (concurrent use still ok)
+	  fix comments
+
+2005-02-01 02:16  hamish
+
+	* lib/init/init.sh: remove temp files if concurrent use error.
+	  fix insecure temp files (GRASS Bug # 2877, Debian Bug # 287651)
+
+2005-01-31 22:55  hamish
+
+	* lib/db/stubs/BUILD.PROTO: remove file as it is leftover from
+	  GRASS 4.x(?) and uses insecure temp file
+	  GRASS Bug # 2877
+	  Debian Bug # 287651
+
+2005-01-31 16:10  markus
+
+	* scripts/r.in.srtm/r.in.srtm: fixed broken tmp dir management
+
+2005-01-31 11:08  markus
+
+	* general/g.setproj/main.c: removed unused variables message
+	  cosmetics
+
+2005-01-31 09:24  markus
+
+	* vector/v.to.db/description.html: explained coor behaviour
+
+2005-01-31 09:19  markus
+
+	* vector/v.net.path/description.html: usage explained; message
+	  cosmetics
+
+2005-01-31 03:47  hamish
+
+	* raster/r.out.arc/description.html: add ArcGIS 9.0 import info &
+	  GeoTIFF hint
+
+2005-01-31 01:31  hamish
+
+	* REQUIREMENTS.html: update for grass 5.7/6.0, various cleanups
+	  hopefully the INSTALL link works
+
+2005-01-30 16:27  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Stephan
+	  Holl: continued translation
+
+2005-01-30 14:09  markus
+
+	* general/g.proj/main.c: message cosmetics
+
+2005-01-30 14:06  markus
+
+	* vector/v.net.alloc/description.html,
+	  vector/v.net.path/description.html: examples added
+
+2005-01-29 18:31  paul
+
+	* lib/proj/convert.c: Fix bug (addition of Monte_Mario_Rome is
+	  actually to support other GIS
+	  software that mixes prime meridians with datum names)
+
+2005-01-29 13:06  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: continued translation
+
+2005-01-29 06:05  markus
+
+	* scripts/i.fusion.brovey/description.html,
+	  scripts/i.fusion.brovey/i.fusion.brovey: clarified output message
+
+2005-01-28 17:48  markus
+
+	* lib/vector/Vlib/build_nat.c: message cosmetics if no islands
+	  present
+
+2005-01-28 17:19  markus
+
+	* lib/proj/convert.c: Support for Italian Datum and Sri Lanka Datum
+
+2005-01-28 09:58  markus
+
+	* vector/v.build/main.c: clarify error message
+
+2005-01-28 09:56  radim
+
+	* lib/form/form.c: + G_gisinit in main
+
+2005-01-28 09:45  markus
+
+	* general/g.proj/main.c: don't crash when creating new locations ;
+	  description cosmetics
+
+2005-01-28 08:32  markus
+
+	* lib/rst/interp_float/ressegm2d.c: reverted to previous version
+	  without cross validation
+
+2005-01-28 03:01  florian
+
+	* lib/form/form.c: added radims broken-pipe bugfix
+
+2005-01-28 02:00  hamish
+
+	* raster/r.stats/main.c: fix fs='\t' and fs=tab
+
+2005-01-28 01:37  hamish
+
+	* raster/r.cats/main.c: bugfix: make fs='\t' work
+
+2005-01-28 01:11  hamish
+
+	* vector/v.in.ascii/in.c: added "space" and "tab" back in for field
+	  separators
+
+2005-01-27 23:09  hamish
+
+	* lib/gis/gislib.dox: add note about the evils of using /tmp
+	  GRASS Bug # 2877
+	  Debian Bug # 287651
+
+2005-01-27 22:57  hamish
+
+	* lib/db/dbmi_driver/mk_dbstubs_h.sh: don't use /tmp/ as it can be
+	  insecure. we are writing dbstubs.h to `pwd`
+	  anyway so there shouldn't be a problem putting a tmp file there
+	  too.
+
+2005-01-27 21:38  markus
+
+	* doc/vector/grass51atts.fig, doc/vector/grass51atts.png: updated
+
+2005-01-27 17:55  markus
+
+	* lib/rst/interp_float/vinput2d.c: fixed error message
+
+2005-01-27 17:51  markus
+
+	* vector/v.surf.rst/main.c: fix -r flag description ; reduce number
+	  of white lines
+
+2005-01-27 17:44  markus
+
+	* raster/r.random/random.c: start with cat 1, not 2
+
+2005-01-27 16:45  markus
+
+	* raster/r.contour/main.c: fix for new file check
+
+2005-01-27 08:07  radim
+
+	* vector/v.extract/main.c: check layer if where is used
+
+2005-01-27 04:04  hamish
+
+	* lib/init/make_location_epsg_g57.sh: don't use /tmp/$$ for
+	  temporary files
+	  GRASS Bug # 2877
+	  Debian Bug # 287651
+
+2005-01-27 02:29  hamish
+
+	* lib/symbol/symbol/basic/pushpin: new symbol
+
+2005-01-27 01:28  hamish
+
+	* display/d.mapgraph/description.html: make example more
+	  complicated but more relevant
+	  comment out dead links
+
+2005-01-26 23:45  hamish
+
+	* raster/r.out.arc/description.html: add note on how to load Arc
+	  ASCII grids into new versions of ArcGIS
+
+2005-01-26 22:36  michael
+
+	* display/d.m/menu.tcl: Menu updates: fix typo in r.in.srtm
+	  command, remove obsolete commands
+	  i.tm.dehaze and db.databases, add new db.test command
+
+2005-01-26 10:41  radim
+
+	* vector/v.digit/main.c: set update cidx
+
+2005-01-26 10:39  radim
+
+	* lib/vector/Vlib/cindex.c: always check if up to date
+
+2005-01-26 09:33  radim
+
+	* vector/v.in.ogr/main.c: don not check if vector exists with
+	  location onpiton
+
+2005-01-26 09:10  radim
+
+	* general/manage/cmd/copy.c: check if exists only in current mapset
+
+2005-01-26 05:30  hamish
+
+	* scripts/r.in.srtm/r.in.srtm: don't put temporary files in pwd as
+	  it may be on a read-only filesystem
+
+2005-01-26 05:17  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: remove temp file use in `pwd` --
+	  failed if pwd was a read-only filesystem
+
+2005-01-26 03:43  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: * fix resolution setting for
+	  lat-lon locations
+	  * increase r.buffer search distance to get full border
+
+2005-01-25 21:43  markus
+
+	* db/db.login/description.html: url added
+
+2005-01-25 21:42  markus
+
+	* vector/v.digit/c_face.c, vector/v.digit/cats.tcl,
+	  vector/v.digit/toolbox.tcl: Field -> Layer
+
+2005-01-25 21:37  markus
+
+	* lib/db/sqlp/description.html: example addedÃ
+
+2005-01-25 15:34  radim
+
+	* vector/v.to.db/main.c: now realy allocation fix
+
+2005-01-25 15:17  radim
+
+	* vector/v.to.db/main.c: allocation fix
+
+2005-01-25 14:50  radim
+
+	* vector/v.overlay/main.c: transaction
+
+2005-01-25 04:47  hamish
+
+	* scripts/r.out.gdal/r.out.gdal: do check for gdal_translate
+
+2005-01-25 04:19  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: take out "map already exists"
+	  check (use --o now)
+
+2005-01-24 22:34  markus
+
+	* vector/v.out.ogr/main.c: fix for ESRI SHAPE .prj files (from
+	  g.proj)
+
+2005-01-24 22:30  markus
+
+	* lib/db/sqlp/description.html: url fixed
+
+2005-01-24 22:28  markus
+
+	* display/d.m/d.m.tcl: fix for raster legends
+
+2005-01-24 22:25  markus
+
+	* ps/ps.map/main.c: added missing file button
+
+2005-01-24 09:18  radim
+
+	* db/base/Makefile: drop table removed because it is not
+	  implemented in drivers
+
+2005-01-24 02:07  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: r.grow2 -> r.grow fixes from
+	  Markus
+
+2005-01-24 01:53  hamish
+
+	* scripts/r.out.gdal/r.out.gdal: comment out test for gdal as will
+	  fail with GDAL GRASS plugin (Markus)
+
+2005-01-24 01:38  hamish
+
+	* vector/v.in.ogr/description.html,
+	  vector/v.out.ogr/description.html: GDAL website updates (from
+	  Markus)
+
+2005-01-22 04:36  helena
+
+	* vector/v.vol.rst/Viz.h: no longer needed, used for writing old
+	  grid3d files
+
+2005-01-21 12:52  markus
+
+	* tools/build_html_index.sh: line up descriptions
+
+2005-01-21 12:44  paul
+
+	* include/vect/dig_structs.h: Fix empty struct syntax error
+
+2005-01-21 10:50  markus
+
+	* general/g.proj/main.c: initialization bugfix
+
+2005-01-21 10:34  markus
+
+	* display/d.colors/Makefile, display/d.colors/description.html:
+	  made inter to avoid GUI; completed HTML docs as fake session
+	  fails now
+
+2005-01-21 08:31  hamish
+
+	* scripts/r.plane/description.html: add hint about 'g.region -c'
+
+2005-01-21 07:29  hamish
+
+	* scripts/i.oif/description.html: add more of a description and
+	  some "see also"s
+
+2005-01-21 04:08  hamish
+
+	* scripts/i.oif/Makefile, scripts/i.oif/i.oif,
+	  scripts/i.oif/r.stddev: update to use r.univar to figure out std
+	  deviations.
+	  removes the need for the r.stddev script.
+
+2005-01-21 03:38  hamish
+
+	* scripts/i.oif/i.oif, scripts/i.oif/i.oifcalc: finish temp file
+	  updates
+
+2005-01-21 03:11  hamish
+
+	* scripts/i.oif/m.cutmatrix: add checks to inputs etc
+
+2005-01-21 01:15  hamish
+
+	* lib/init/helptext.html: fix some typos and update some outdated
+	  info
+
+2005-01-20 17:45  markus
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po: kbabel
+	  fuzzy translation from GRASS 5.0.3
+
+2005-01-20 13:19  markus
+
+	* tools/build_html_index.sh: simplified helptext installation
+
+2005-01-20 13:16  markus
+
+	* tools/build_html_index.sh: exclude helptext.html
+
+2005-01-20 13:14  markus
+
+	* lib/init/helptext.html: added CVS location
+
+2005-01-20 13:13  markus
+
+	* lib/init/Makefile, lib/init/gis_set.tcl: simplified helptext
+	  installation
+
+2005-01-20 06:10  hamish
+
+	* ps/ps.map/description.html: add note about order of drawing
+	  vector files.
+	  add missing flags
+
+2005-01-20 03:31  hamish
+
+	* ps/ps.map/r_vpoints.c: If no vector point symbol was given it
+	  would be used uninitialized and break the PS file.
+	  Make default icon size a bit bigger.
+
+2005-01-19 23:16  hamish
+
+	* ps/ps.map/description.html: spelling
+
+2005-01-19 20:46  markus
+
+	* scripts/r.in.srtm/r.in.srtm: bugfixes: W. Kyngesburye
+
+2005-01-19 20:43  markus
+
+	* raster/r.colors/srtm: added Himalaya
+
+2005-01-19 11:06  markus
+
+	* display/d.mon/description.html: wrong place
+
+2005-01-19 11:05  markus
+
+	* display/d.mon/cmd/description.html: extended
+
+2005-01-18 11:03  markus
+
+	* lib/sites/README: comment added
+
+2005-01-18 09:45  markus
+
+	* vector/v.in.ascii/description.html: removed outdated passage
+
+2005-01-18 06:21  hamish
+
+	* imagery/i.ask/popup.c: use G_tempfile() and not hardcode /tmp/$$
+
+2005-01-18 03:03  hamish
+
+	* scripts/r.plane/r.plane: refine error message
+
+2005-01-18 01:52  hamish
+
+	* scripts/r.plane/r.plane: don't use tmp files when you can just
+	  use enviro vars
+
+2005-01-17 15:33  markus
+
+	* Makefile: added missing paint
+
+2005-01-17 14:05  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: continued translation
+
+2005-01-17 13:53  markus
+
+	* raster/r.composite/main.c: fixed parameter names for consistency
+
+2005-01-17 13:20  markus
+
+	* tools/build_html_index.sh: fixed EXCLUDEHTML
+
+2005-01-17 09:19  radim
+
+	* raster/r.topidx/check_ready.c, raster/r.topidx/local_proto.h,
+	  raster/r.topidx/main.c: -o removed
+
+2005-01-17 09:01  radim
+
+	* raster/r.his/main.c, raster/r.in.gridatb/check_ready.c,
+	  raster/r.in.gridatb/local_proto.h, raster/r.in.gridatb/main.c: -o
+	  removed
+
+2005-01-17 08:41  radim
+
+	* vector/v.in.ascii/in.c: tab fix
+
+2005-01-17 05:32  hamish
+
+	* imagery/i.rectify/description.html: reword confusing 1st ORDER
+	  comment (bug # 2889)
+
+2005-01-16 23:54  hamish
+
+	* debian/control: update Description text (Helena and Steve)
+
+2005-01-16 19:41  markus
+
+	* ps/ps.map/description.html: version number fixed
+
+2005-01-15 15:17  markus
+
+	* locale/README: updated
+
+2005-01-15 11:18  markus
+
+	* raster/r.average/main.c, raster/r.basins.fill/main.c,
+	  raster/r.bilinear/main.c, raster/r.buffer/main.c,
+	  raster/r.cats/main.c, raster/r.clump/main.c,
+	  raster/r.colors/main.c, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.contour/main.c,
+	  raster/r.cost/main.c, raster/r.covar/main.c,
+	  raster/r.cross/main.c, raster/r.describe/main.c,
+	  raster/r.digit/main.c, raster/r.distance/main.c,
+	  raster/r.distance/parse.c, raster/r.drain/main.c,
+	  raster/r.fill.dir/main.c, raster/r.grow2/main.c,
+	  raster/r.his/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gdal/main.c, raster/r.in.gridatb/main.c,
+	  raster/r.in.mat/main.c, raster/r.in.poly/main.c,
+	  raster/r.info/main.c, raster/r.kappa/main.c,
+	  raster/r.le/r.le.patch/main.c, raster/r.le/r.le.pixel/main.c,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.trace/main.c,
+	  raster/r.los/main.c, raster/r.median/main.c,
+	  raster/r.mfilter/main.c, raster/r.mode/main.c,
+	  raster/r.neighbors/main.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/main.c, raster/r.out.bin/main.c,
+	  raster/r.out.gridatb/main.c, raster/r.out.mat/main.c,
+	  raster/r.out.mpeg/main.c, raster/r.out.pov/main.c,
+	  raster/r.out.ppm/main.c, raster/r.out.ppm3/main.c,
+	  raster/r.param.scale/interface.c, raster/r.patch/main.c,
+	  raster/r.profile/main.c, raster/r.proj/main.c,
+	  raster/r.quant/main.c, raster/r.random.cells/main.c,
+	  raster/r.random.surface/main.c, raster/r.random/main.c,
+	  raster/r.reclass/main.c, raster/r.reclass/parse.c,
+	  raster/r.recode/main.c, raster/r.region/main.c,
+	  raster/r.report/main.c, raster/r.report/parse.c,
+	  raster/r.resamp.rst/main.c, raster/r.resample/main.c,
+	  raster/r.rescale.eq/main.c, raster/r.rescale/main.c,
+	  raster/r.series/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.statistics/main.c, raster/r.stats/main.c,
+	  raster/r.sum/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/main.c, raster/r.surf.area/main.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.fractal/interface.c,
+	  raster/r.surf.gauss/main.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.random/main.c,
+	  raster/r.texture/main.c, raster/r.thin/main.c,
+	  raster/r.timestamp/main.c, raster/r.to.vect/main.c,
+	  raster/r.topidx/main.c, raster/r.topmodel/main.c,
+	  raster/r.transect/main.c, raster/r.univar2/main.c,
+	  raster/r.water.outlet/main.c, raster/r.watershed/front/main.c,
+	  raster/r.what/main.c, raster/wildfire/r.ros/main.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spreadpath/main.c: i18N macros added ; few
+	  compiler warnings fixed
+
+2005-01-15 07:28  hamish
+
+	* scripts/i.oif/i.oifcalc: use g.tempfile for temporary files, not
+	  /tmp/$$.
+	  GRASS Bug # 2877
+	  Debian Bug # 287651
+	  
+	  note "$tmp" inside awk statement will probably be broken
+
+2005-01-15 07:11  hamish
+
+	* scripts/r.regression.line/r.regression.line: e g.tempfile for
+	  temporary files, not /tmp/$$.
+	  GRASS Bug # 2877
+	  Debian Bug # 287651
+
+2005-01-15 06:58  hamish
+
+	* scripts/r.plane/r.plane: use g.tempfile for temporary files, not
+	  /tmp/$$.
+	  GRASS Bug # 2877
+	  Debian Bug # 287651
+	  
+	  cleanup output
+	  fix azimuth range test
+
+2005-01-15 06:27  hamish
+
+	* scripts/i.spectral/i.spectral: use g.tempfile for temporary
+	  files, not /tmp/$$.
+	  GRASS Bug # 2877
+	  Debian Bug # 287651
+
+2005-01-14 17:24  paul
+
+	* scripts/i.oif/i.oif: Less predictable / more secure? tempfile
+	  creation using g.tempfile
+
+2005-01-14 15:38  markus
+
+	* include/Make/Platform.make.in: GRASSMANDIR added for Debian
+	  packager
+
+2005-01-14 15:31  markus
+
+	* raster/r.proj/main.c, scripts/r.out.gdal/r.out.gdal,
+	  scripts/r.reclass.area/r.reclass.area: cosmetics
+
+2005-01-14 15:29  markus
+
+	* scripts/d.monsize/d.monsize, scripts/d.out.png/d.out.png,
+	  scripts/d.rast.leg/d.rast.leg, scripts/d.resize/d.resize,
+	  scripts/d.slide.show/d.slide.show, scripts/d.split/d.split,
+	  scripts/i.image.mosaic/i.image.mosaic, scripts/i.oif/i.oif,
+	  scripts/i.tasscap/i.tasscap: removed prog name from description
+
+2005-01-14 15:19  markus
+
+	* vector/v.in.ascii/description.html: added tab fs
+
+2005-01-14 15:14  radim
+
+	* vector/v.in.ascii/in.c: tab fs
+
+2005-01-14 14:51  radim
+
+	* display/d.m/raster.tcl: legend
+
+2005-01-14 14:45  markus
+
+	* lib/db/Makefile, lib/gis/Makefile, lib/vector/Makefile: fixed
+	  version number
+
+2005-01-14 14:30  markus
+
+	* scripts/i.spectral/i.spectral: fixed (null); test for gnuplot
+	  first
+
+2005-01-14 13:39  markus
+
+	* debian/control, debian/copyright: Debian patch
+
+2005-01-14 13:30  markus
+
+	* scripts/g.manual/g.manual: use GRASS_DOC_BASE (Debian patch)
+
+2005-01-14 13:12  markus
+
+	* config.guess, config.sub: updated for AMD64 etc support; based on
+	  Debian 5.7.0 patches
+
+2005-01-14 12:55  markus
+
+	* display/d.vect/attr.c: warning -> error
+
+2005-01-14 12:27  markus
+
+	* raster/r.mapcalc/r.mapcalc.html: fixed urls
+
+2005-01-14 11:20  markus
+
+	* vector/v.digit/attr.c, vector/v.kcv/main.c,
+	  vector/v.label/main.c, vector/v.normal/main.c,
+	  vector/v.out.ogr/main.c, vector/v.reclass/main.c,
+	  vector/v.sample/main.c, vector/v.to.db/query.c,
+	  vector/v.to.db/update.c, vector/v.to.rast/vect2rast.c,
+	  vector/v.univar/main.c, vector/v.what.rast/main.c: field -> layer
+
+2005-01-14 11:13  markus
+
+	* lib/rst/interp_float/vinput2d.c: field -> layer
+
+2005-01-14 08:00  markus
+
+	* general/g.version/description.html: updated version
+
+2005-01-14 07:59  markus
+
+	* general/g.version/main.c: fixed empty line fer version output
+
+2005-01-14 06:21  hamish
+
+	* scripts/r.univar.sh/r.univar.sh: use g.tempfile for temporary
+	  files, not /tmp/$$.
+	  GRASS Bug # 2877
+	  Debian Bug # 287651
+
+2005-01-14 06:02  hamish
+
+	* scripts/v.in.e00/v.in.e00: remove bashisms
+
+2005-01-14 05:59  hamish
+
+	* scripts/r.out.gdal/r.out.gdal,
+	  scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.shaded.relief/r.shaded.relief,
+	  scripts/v.in.e00/v.in.e00: update $GIS_OPT tests for zero string
+	  length; "(null)" may not be portable
+
+2005-01-14 05:41  hamish
+
+	* scripts/g.mremove/g.mremove: update $GIS_OPT tests for zero
+	  string length; "(null)" may not be portable
+
+2005-01-14 05:32  hamish
+
+	* scripts/g.manual/g.manual: update $GIS_OPT tests for zero string
+	  length; "(null)" may not be portable
+
+2005-01-14 05:26  hamish
+
+	* scripts/d.slide.show/d.slide.show: update $GIS_OPT tests for zero
+	  string length; "(null)" may not be portable
+
+2005-01-14 05:17  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: update $GIS_OPT tests for zero
+	  string length; "(null)" may not be portable
+
+2005-01-13 23:49  hamish
+
+	* lib/symbol/README: GISDBASE -> $GISBASE
+	  Clean up language
+
+2005-01-13 16:47  markus
+
+	* scripts/r.blend/r.blend, scripts/r.plane/r.plane,
+	  scripts/r.regression.line/r.regression.line: removed program name
+	  from description, not needed
+
+2005-01-13 16:39  markus
+
+	* lib/form/form.c, vector/v.info/main.c,
+	  visualization/nviz/src/query_vect.c: field -> layer
+
+2005-01-13 16:30  markus
+
+	* imagery/i.points/description.html,
+	  imagery/i.rectify/description.html,
+	  imagery/i.vpoints/description.html,
+	  vector/v.proj/description.html: links fixed
+
+2005-01-13 16:27  radim
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po: czech
+
+2005-01-13 14:35  markus
+
+	* lib/vector/Vlib/cindex.c, vector/v.category/main.c,
+	  vector/v.digit/attr.c: field -> layer
+
+2005-01-13 13:56  markus
+
+	* vector/v.clean/main.c: message cosmetics
+
+2005-01-13 07:39  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Stephan
+	  Holl: updates, typos fixed
+
+2005-01-13 01:48  hamish
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: "fields" are now
+	  called "layers"
+
+2005-01-12 19:47  cho
+
+	* raster/r.topidx/arc.to.gridatb, raster/r.topidx/gridatb.to.arc:
+	  Added converters for gridatb maps
+
+2005-01-12 17:46  cho
+
+	* TODO: not
+
+2005-01-12 17:31  radim
+
+	* visualization/nviz/Makefile: MAKE
+
+2005-01-12 17:29  radim
+
+	* raster/r.mapcalc/map3.c: declaration
+
+2005-01-12 16:38  radim
+
+	* include/VERSION: cvs
+
+2005-01-12 16:32  radim
+
+	* include/VERSION: 6.0.0beta1
+
+2005-01-12 16:05  markus
+
+	* AUTHORS, CHANGES, README: version 5.7 ->6
+
+2005-01-12 15:53  markus
+
+	* lib/db/dbmi.dox, lib/gis/gissiteslib.dox: version fix
+
+2005-01-12 15:51  markus
+
+	* Doxyfile, grass51refman.dox, grassrefman.dox: renamed
+
+2005-01-12 15:49  markus
+
+	* Doxyfile, lib/db/Doxyfile_arch_html, lib/db/Doxyfile_arch_latex,
+	  lib/gis/Doxyfile_arch_html, lib/gis/Doxyfile_arch_latex,
+	  lib/vector/Doxyfile_arch_html, lib/vector/Doxyfile_arch_latex:
+	  fixed version
+
+2005-01-12 15:47  markus
+
+	* TODO: extended
+
+2005-01-12 15:14  radim
+
+	* Makefile: sed fix in bindist
+
+2005-01-12 14:33  radim
+
+	* Makefile, binaryInstall.src: grass bin name
+
+2005-01-12 14:29  markus
+
+	* include/VERSION: 2004 -> 2005
+
+2005-01-12 13:53  radim
+
+	* INSTALL, include/VERSION, lib/init/Makefile,
+	  lib/init/epsg_option.tcl: 57->60
+
+2005-01-12 11:47  markus
+
+	* gui: no longer needed, integrated in d.m
+
+2005-01-12 10:41  markus
+
+	* locale/po/grasslibs_it.po, locale/po/grassmods_it.po: Maurizio
+	  Napolitano <napo itc it>:started italian translation
+
+2005-01-12 08:53  markus
+
+	* tools/build_html_index.sh: autogenerate Version number
+
+2005-01-12 08:24  markus
+
+	* vector/v.db.select/description.html, vector/v.db.select/main.c:
+	  docs added, i18n, comment corrected
+
+2005-01-12 08:18  markus
+
+	* Makefile: added hint in case of compilation errors
+
+2005-01-12 08:14  markus
+
+	* raster/r.los/main.c: Ron Yorston <rmy tigress co uk>: fixed
+	  segfault if patt_flag unused
+
+2005-01-11 21:58  markus
+
+	* lib/init/gis_set.tcl, lib/init/msgs/ru.msg: Version stuff
+
+2005-01-11 18:07  radim
+
+	* vector/Makefile: + v.db.select
+
+2005-01-11 18:06  radim
+
+	* vector/v.db.select, vector/v.db.select/Makefile,
+	  vector/v.db.select/main.c: new
+
+2005-01-11 17:27  markus
+
+	* scripts/v.build.all/v.build.all: added help parm support
+
+2005-01-11 17:24  markus
+
+	* imagery/i.group/main.c, imagery/i.smap/shapiro/main.c,
+	  imagery/i.target/main.c, scripts/i.spectral/i.spectral: module
+	  description polished (bug #2879)
+
+2005-01-11 17:19  markus
+
+	* imagery/i.group/description.html: added i.ortho.photo
+
+2005-01-11 17:10  radim
+
+	* vector/v.extract/extract.c: type fix
+
+2005-01-11 16:52  radim
+
+	* TODO: update
+
+2005-01-11 16:19  markus
+
+	* INSTALL, display/d.vect.chart/description.html,
+	  display/drivers/description.html, grass51refman.dox,
+	  lib/db/Doxyfile_arch_html, lib/db/Doxyfile_arch_latex,
+	  lib/gis/Doxyfile_arch_html, lib/gis/Doxyfile_arch_latex,
+	  lib/init/helptext.html, lib/vector/Doxyfile_arch_html,
+	  lib/vector/Doxyfile_arch_latex, lib/vector/vector_arch.dox,
+	  locale/README, locale/po/grasslibs_fr.po,
+	  locale/po/grassmods_fr.po, rpm/fedora/grass.spec,
+	  rpm/mandrake/grass.spec, vector/v.db.connect/description.html,
+	  vector/v.extract/description.html: fixed version number; minor
+	  fixes
+
+2005-01-11 14:25  markus
+
+	* display/d.m/d.m.tcl, display/d.m/print.tcl: no hardcoded version
+	  number
+
+2005-01-11 13:52  markus
+
+	* tools/build_html_index.sh: comment added
+
+2005-01-11 13:50  markus
+
+	* tools/build_html_index.sh: docs extended
+
+2005-01-11 13:36  markus
+
+	* lib/init/Makefile, lib/init/gis_set.tcl, lib/init/helptext.html:
+	  added help button with Quick Intro
+
+2005-01-11 10:35  markus
+
+	* scripts/r.in.srtm/description.html, scripts/r.in.srtm/r.in.srtm:
+	  small docs changes
+
+2005-01-11 10:28  markus
+
+	* scripts/r.plane/description.html: cosmetics
+
+2005-01-11 10:25  markus
+
+	* vector/v.neighbors/description.html: added minimalistic docs
+
+2005-01-11 10:23  markus
+
+	* vector/v.kernel/description.html: added missing DESCRIPTION
+
+2005-01-11 10:22  markus
+
+	* paint/Makefile: p.out.vrml added
+
+2005-01-11 10:21  markus
+
+	* tools/build_html_index.sh: paint integrated
+
+2005-01-11 10:13  markus
+
+	* display/d.m/description.html: added DM_FORM_MODE
+
+2005-01-11 09:58  markus
+
+	* lib/init/variables.html: added DM_FORM_MODE
+
+2005-01-11 08:59  radim
+
+	* display/d.m/vector.tcl: default form mode
+
+2005-01-11 08:47  markus
+
+	* REQUIREMENTS.html: fixed Mesa
+
+2005-01-11 08:45  radim
+
+	* include/vect/dig_structs.h: temporary flag, recycle
+
+2005-01-11 08:27  radim
+
+	* vector/v.out.ascii/out.c: mapset removed
+
+2005-01-11 07:52  markus
+
+	* display/d.m/menu.tcl: v.in.v00 -> v.in.e00
+
+2005-01-10 18:36  radim
+
+	* vector/v.buffer/main.c: tolerance as multiple, layer
+
+2005-01-10 18:20  radim
+
+	* vector/v.buffer/description.html: bug
+
+2005-01-10 18:16  radim
+
+	* vector/v.buffer/main.c: isle size check
+
+2005-01-10 18:16  radim
+
+	* lib/vector/Vlib/buffer.c: abs->fabs
+
+2005-01-10 18:07  markus
+
+	* locale/po/grasslibs_sl.po, locale/po/grassmods_sl.po: Miha Staut
+	  <mihastaut yahoo co uk>: new Slovene translation
+
+2005-01-10 18:05  markus
+
+	* scripts/r.plane/description.html: updated
+
+2005-01-10 17:51  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Stephan
+	  Holl: updated
+
+2005-01-10 17:42  markus
+
+	* paint, paint/p.out.vrml, paint/p.out.vrml/Makefile,
+	  paint/p.out.vrml/README, paint/p.out.vrml/description.html,
+	  paint/p.out.vrml/main.c, paint/p.out.vrml/put_grid.c,
+	  paint/p.out.vrml/put_view.c, paint/p.out.vrml/pv.h,
+	  paint/p.out.vrml/vrml.c: added
+
+2005-01-10 17:23  radim
+
+	* raster/r.mapcalc/map3.c: setup region before open old
+
+2005-01-10 17:23  radim
+
+	* lib/g3d/g3ddefaults.c, lib/g3d/g3dopen.c, lib/g3d/g3dregion.c:
+	  adjust region fix, region convert
+
+2005-01-10 17:22  radim
+
+	* include/G3d.h: convert region
+
+2005-01-10 16:28  radim
+
+	* general/g.region/cmd/main.c: sscanf
+
+2005-01-10 05:28  helena
+
+	* vector/v.vol.rst/user.h: update for deviation points
+
+2005-01-10 05:26  helena
+
+	* vector/v.vol.rst/userextern.h, vector/v.vol.rst/userglobs.h:
+	  update for crossvalidation
+
+2005-01-10 05:23  helena
+
+	* vector/v.vol.rst/user3.c: update for variable smoothing
+
+2005-01-10 05:21  helena
+
+	* vector/v.vol.rst/user2.c: updates for crossvalidation
+
+2005-01-10 05:20  helena
+
+	* vector/v.vol.rst/user1.c: variable smoothing, update to vector
+	  format
+
+2005-01-10 05:19  helena
+
+	* vector/v.vol.rst/main.c: variable smoothing added, merge with
+	  Radims updates from sites to vector
+
+2005-01-10 05:17  helena
+
+	* vector/v.vol.rst/dataoct.c, vector/v.vol.rst/dataoct.h: variable
+	  smoothing added
+
+2005-01-10 05:15  helena
+
+	* vector/v.vol.rst/points.h: update for 3d point data
+
+2005-01-10 05:13  helena
+
+	* vector/v.vol.rst/vector.c: saving point deviations as vector
+
+2005-01-04 19:00  michael
+
+	* display/d.m/menu.tcl: Adds menu entries for scripts
+	  r.reclass.file and r.recode.file to
+	  permit use of rules files for reclassification and recoding of
+	  raster maps via the GIS Manager GUI.
+
+2005-01-04 18:58  michael
+
+	* display/d.m/script/r.recode.file: Allows use of recode rules file
+	  via GIS Manager GUI
+
+2005-01-04 18:58  michael
+
+	* display/d.m/script/r.reclass.file: Allows use of reclassification
+	  rules file via GIS Manager GUI
+
+2005-01-04 12:19  radim
+
+	* vector/v.net/nodes.c: lines only
+
+2005-01-03 04:03  helena
+
+	* lib/rst/interp_float/segmen2d.c: speedup for crossvalidation,
+	  only points within segment are used
+
+2004-12-24 21:37  cho
+
+	* display/d.linegraph/linegraph.c, display/d.nviz/main.c: Check if
+	  device is available
+
+2004-12-23 21:37  cho
+
+	* lib/db/dbmi_base/login.c: Fixed Segmentation fault error in
+	  db.login
+
+2004-12-23 19:58  cho
+
+	* binaryInstall.src: Added -f option to ln to overwrite a previous
+	  link.
+
+2004-12-22 04:03  cho
+
+	* db/drivers/dbf/dbdriver.h, db/drivers/mysql/dbdriver.h,
+	  db/drivers/odbc/dbdriver.h, db/drivers/postgres/dbdriver.h:
+	  Updated dbdriver.h
+
+2004-12-21 21:13  cho
+
+	* scripts/g.mremove/g.mremove: Removed bash specific test
+
+2004-12-20 23:23  michael
+
+	* scripts/r.in.aster, scripts/r.in.aster/Makefile,
+	  scripts/r.in.aster/description.html,
+	  scripts/r.in.aster/r.in.aster: script to georeference and import
+	  aster L1A and L1B imagery, and
+	  relative DEM's
+
+2004-12-18 06:04  markus
+
+	* lib/init/Makefile: generate (ETC)/VERSIONNUMBER
+
+2004-12-17 20:22  cho
+
+	* configure, configure.in: Changed LDFLAGS to LIBS for gdal-config
+
+2004-12-17 19:10  cho
+
+	* lib/rst/interp_float/interpf.h, lib/rst/interp_float/point2d.c,
+	  vector/v.surf.rst/main.c: fixed undefined symbol problem
+
+2004-12-17 18:09  markus
+
+	* display/d.font.freetype/description.html: ooffice font example
+
+2004-12-17 16:14  markus
+
+	* demolocation/PERMANENT/dig_plus,
+	  demolocation/PERMANENT/dig_plus/point: added old vect file for
+	  v.in.sites.all HTML creation
+
+2004-12-17 16:14  markus
+
+	* demolocation/PERMANENT/site_lists,
+	  demolocation/PERMANENT/site_lists/mysites: added old sites file
+	  for v.in.sites.all HTML creation
+
+2004-12-17 16:13  markus
+
+	* demolocation/PERMANENT/dig, demolocation/PERMANENT/dig/point,
+	  demolocation/PERMANENT/dig_att,
+	  demolocation/PERMANENT/dig_att/point: added old vect file for
+	  v.convert.all HTML creation
+
+2004-12-17 16:11  markus
+
+	* scripts/v.convert.all/v.convert.all,
+	  scripts/v.in.sites.all/v.in.sites.all: added error check
+
+2004-12-17 12:51  radim
+
+	* vector/v.surf.rst/main.c: col->column
+
+2004-12-17 12:49  radim
+
+	* lib/gis/parser.c: label, options better
+
+2004-12-17 12:48  radim
+
+	* vector/v.to.db/parse.c: label, options
+
+2004-12-17 12:41  radim
+
+	* include/gis.h, lib/gis/parser.c, vector/v.clean/main.c,
+	  vector/v.net.iso/main.c: label, options
+
+2004-12-17 12:39  markus
+
+	* tools/build_html_index.sh: fixed name
+
+2004-12-17 12:38  markus
+
+	* Makefile: fixed build_html_index.sh name
+
+2004-12-17 12:37  markus
+
+	* tools/build_html_index.html, tools/build_html_index.sh: fixed
+	  name
+
+2004-12-17 11:41  moritz
+
+	* scripts/d.out.png/d.out.png: corrected the reading of user input
+	  and the usage of the $output variable
+
+2004-12-17 11:11  markus
+
+	* display/d.vect/main.c: disactivate icon_files unless solution is
+	  found
+
+2004-12-17 10:57  radim
+
+	* include/Make/Rules.make: first GRASS lib
+
+2004-12-17 09:45  moritz
+
+	* display/d.m/menu.tcl: Erased menu entry for db.createdb which
+	  does not exist anymore.
+
+2004-12-17 05:32  helena
+
+	* raster/r.resamp.rst/main.c: fixed missing argument in
+	  IL_init_params_2d
+
+2004-12-16 16:25  radim
+
+	* general/g.region/cmd/main.c: raster -> rast
+
+2004-12-16 16:08  radim
+
+	* raster3d/r3.info/main.c, raster3d/r3.mask/mask_main.c,
+	  raster3d/r3.null/null_main.c, raster3d/r3.timestamp/main.c:
+	  grid3d -> map
+
+2004-12-16 16:07  radim
+
+	* raster3d/r3.mkdspf/main.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c: grid3d -> input
+
+2004-12-16 14:26  radim
+
+	* lib/rst/interp_float/vinput2d.c: back to 1.7 otherwise previous
+	  changes are lost
+
+2004-12-16 13:38  radim
+
+	* vector/v.vol.rst/main.c, vector/v.vol.rst/user1.c: use vector
+
+2004-12-16 12:37  radim
+
+	* vector/v.distance/main.c, vector/v.net.path/main.c: dmax is used
+	  also in v.to.points and v.surf.rst
+
+2004-12-16 12:27  radim
+
+	* vector/v.what.rast/main.c: vector,raster
+
+2004-12-16 12:27  radim
+
+	* vector/v.to.db/parse.c, vector/v.to.rast/main.c,
+	  vector/v.univar/main.c, vector/v.what.rast/main.c: col -> column
+
+2004-12-16 12:06  radim
+
+	* vector/v.distance/main.c: no limit
+
+2004-12-16 11:18  radim
+
+	* vector/v.kcv/main.c, vector/v.net.alloc/main.c,
+	  vector/v.net.iso/main.c, vector/v.net.path/main.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.sample/main.c: col -> column
+
+2004-12-16 11:15  radim
+
+	* vector/v.distance/main.c: max -> maxdist
+
+2004-12-16 11:07  radim
+
+	* vector/v.in.db/main.c: key -> cat
+
+2004-12-16 11:06  radim
+
+	* vector/v.in.ascii/in.c: or better without 'column'
+
+2004-12-16 11:02  radim
+
+	* vector/v.in.ascii/in.c: col->column
+
+2004-12-16 10:38  radim
+
+	* lib/gis/gui.tcl: defaults in checkbox and combobox
+
+2004-12-16 10:28  radim
+
+	* vector/v.category/main.c: multicat in print
+
+2004-12-15 23:17  hamish
+
+	* raster/r.cost/main.c: check that start_points= vector map is
+	  valid before doing any work
+
+2004-12-15 17:45  radim
+
+	* raster/r.to.vect/main.c, vector/v.hull/main.c,
+	  vector/v.mkgrid/main.c, vector/v.net.path/main.c,
+	  vector/v.perturb/main.c, vector/v.qcount/main.c,
+	  vector/v.random/main.c, vector/v.segment/main.c,
+	  vector/v.voronoi/dt_main.c, vector/v.voronoi/vo_main.c: history
+
+2004-12-15 17:29  radim
+
+	* vector/v.distance/main.c: history
+
+2004-12-15 17:21  radim
+
+	* raster/r.in.gdal/main.c: WIND3
+
+2004-12-15 17:19  radim
+
+	* lib/gis/set_window.c: don't adjust 3D
+
+2004-12-15 17:12  radim
+
+	* vector/v.in.ogr/main.c: WIND3
+
+2004-12-15 16:57  radim
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: all layers,
+	  completely rewritten extract
+
+2004-12-15 13:35  radim
+
+	* display/d.what.vect/what.c: field->layer
+
+2004-12-15 13:31  radim
+
+	* lib/init/Makefile, lib/init/init.sh, lib/init/license.txt,
+	  lib/init/welcome.txt: welcome reduced
+
+2004-12-15 12:00  radim
+
+	* raster/r.random/Makefile, raster/r.random/main.c,
+	  raster/r.random/random.c: create table
+
+2004-12-15 11:14  radim
+
+	* vector/v.random/Makefile, vector/v.random/main.c: use vectlib,
+	  write cats
+
+2004-12-15 11:06  radim
+
+	* lib/external/shapelib/Makefile: include/grass
+
+2004-12-15 11:02  radim
+
+	* display/d.zoom/set.c, general/g.region/cmd/adjust.c,
+	  general/g.region/cmd/main.c, lib/g3d/g3dregion.c,
+	  lib/gis/set_window.c: G_adjust_Cell_head3
+
+2004-12-15 10:55  radim
+
+	* lib/gis/adj_cellhd.c: G_adjust_Cell_head only 2D
+
+2004-12-15 10:47  radim
+
+	* vector/v.voronoi/dt_main.c, vector/v.voronoi/vo_main.c: -a -> -r;
+	  copy all tables
+
+2004-12-15 10:41  radim
+
+	* vector/v.select/main.c: dont check Fi
+
+2004-12-15 10:24  radim
+
+	* vector/v.select/main.c: copy all tables
+
+2004-12-15 08:37  markus
+
+	* display/d.vect/main.c: fixed declaration position for gcc < 3.x
+
+2004-12-15 07:39  markus
+
+	* vector/v.surf.rst/main.c: define MAIN to get it compiled
+
+2004-12-15 07:06  markus
+
+	* scripts/r.plane/r.plane: Alessandro Frigeri & Ivan Marchesini:
+	  type support added
+
+2004-12-15 06:24  markus
+
+	* lib/sites/README: updated
+
+2004-12-15 05:22  helena
+
+	* vector/v.surf.rst/main.c: fixed rmse output
+
+2004-12-15 04:54  helena
+
+	* lib/rst/interp_float/point2d.c: fixed rmse output
+
+2004-12-15 04:50  helena
+
+	* lib/rst/interp_float/interpf.h: fix
+
+2004-12-14 22:55  markus
+
+	* scripts/r.plane/r.plane: quick hack to make module work with dips
+	  like 0.00x (untested)
+
+2004-12-14 21:26  michael
+
+	* display/d.m/vector.tcl: Improve description of options for vector
+	  query and display
+
+2004-12-14 20:43  florian
+
+	* display/d.vect/main.c: fixed segfault happend on some linux
+	  distributions
+
+2004-12-14 17:50  radim
+
+	* vector/v.reclass/description.html, vector/v.reclass/main.c,
+	  vector/v.reclass/reclass.c: cleanup
+
+2004-12-14 16:55  radim
+
+	* vector/v.random/main.c: n limit removed
+
+2004-12-14 16:48  radim
+
+	* vector/v.normal/main.c: -a -> -r; column
+
+2004-12-14 16:36  radim
+
+	* vector/v.net/nodes.c: tables and history
+
+2004-12-14 13:44  markus
+
+	* Makefile: do not include the debian control files in srcdist (as
+	  requested by debian developers)
+
+2004-12-14 09:45  radim
+
+	* db/drivers/postgres/db.c, db/drivers/postgres/globals.h,
+	  db/drivers/postgres/parse.c: schema in db string
+
+2004-12-14 09:15  markus
+
+	* display/d.font.freetype/description.html,
+	  display/d.font/description.html: crossrefs, cap file
+
+2004-12-14 09:11  radim
+
+	* lib/init/mke_loc.c: WIND3
+
+2004-12-14 09:00  markus
+
+	* lib/init/variables.html: update to GRASS_MESSAGE_FORMAT
+
+2004-12-14 08:57  radim
+
+	* lib/gis/gui.tcl: Set gui only in run_cmd
+
+2004-12-14 08:54  markus
+
+	* lib/rst/interp_float/interpf.h: declared extern
+
+2004-12-14 08:30  markus
+
+	* display/d.font.freetype/description.html,
+	  display/d.vect/description.html: d.vect and freetype
+
+2004-12-14 04:13  helena
+
+	* lib/rst/interp_float/Makefile, lib/rst/interp_float/interpf.h,
+	  lib/rst/interp_float/point2d.c, lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/segmen2d.c, lib/rst/interp_float/vinput2d.c:
+	  crossvalidation and devi output added
+
+2004-12-14 04:00  helena
+
+	* lib/rst/interp_float/init2d.c: crossvalidation and devi output
+	  added
+
+2004-12-14 03:58  helena
+
+	* vector/v.surf.rst/BUGS: notes about things that need more work
+	  added
+
+2004-12-14 03:53  helena
+
+	* vector/v.surf.rst/main.c: crossvalidation added, description fix,
+	  refs removed
+
+2004-12-14 03:51  helena
+
+	* vector/v.surf.rst/description.html: update for point vector data,
+	  author info, reference
+
+2004-12-13 17:54  radim
+
+	* include/Make/Grass.make.in, lib/ogsf/Makefile,
+	  lib/rst/data/Makefile, lib/rst/interp_float/Makefile,
+	  lib/rst/qtree/Makefile, lib/vector/dglib/Makefile,
+	  lib/vector/diglib/Makefile, lib/vector/rtree/Makefile:
+	  include/grass
+
+2004-12-13 17:51  radim
+
+	* display/d.save/main.c: set window defaults
+
+2004-12-13 17:27  radim
+
+	* Makefile: + tcltkgrass to clean
+
+2004-12-13 16:53  radim
+
+	* lib/Makefile: include/grass
+
+2004-12-13 16:52  markus
+
+	* visualization/nviz/html/index.html: urls updated
+
+2004-12-13 16:38  markus
+
+	* raster/r.sunmask/g_solposition.c: message cosmetics
+
+2004-12-13 15:48  florian
+
+	* display/d.m/vector.tcl: updated to work with new select.tcl;
+	  includes updates by michael barton: added random color fill; some
+	  rearrangement and relabeling
+
+2004-12-13 15:43  florian
+
+	* lib/gtcltk/select.tcl: updated to work with mapsets and symbol
+	  collections
+
+2004-12-13 10:53  markus
+
+	* display/d.vect/main.c: Florian Goessmann: fixed symbol search
+
+2004-12-13 10:43  markus
+
+	* lib/init/init.sh: removed GRASS_MESSAGE_FORMAT as requested in
+	  grass5 ML
+
+2004-12-13 10:04  radim
+
+	* vector/v.vol.rst/description.html: bug: deviation is not written
+
+2004-12-13 10:00  radim
+
+	* lib/rst/interp_float/init2d.c, lib/rst/interp_float/interpf.h,
+	  lib/rst/interp_float/point2d.c, vector/v.surf.rst/main.c: store
+	  devi as z coor
+
+2004-12-13 09:02  markus
+
+	* scripts/v.in.sites.all/description.html,
+	  scripts/v.in.sites.all/v.in.sites.all: add _points extension to
+	  output
+
+2004-12-13 08:54  markus
+
+	* lib/gis/list.c: message cosmetics
+
+2004-12-13 08:45  markus
+
+	* lib/gtcltk/select.tcl: Florian Goessmann: extended for symbol
+	  collection
+
+2004-12-13 02:23  helena
+
+	* visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/panel_vect.tcl: name of the pannel
+	  changed to better reflect its function
+
+2004-12-12 19:01  markus
+
+	* locale/po/grassmods_de.po: typo fixed
+
+2004-12-12 18:44  markus
+
+	* display/d.m/d.m.tcl, display/d.m/tool.tcl,
+	  display/d.m/vector.tcl, display/d.m/zoom.back.gif,
+	  display/d.zoom/local_proto.h, display/d.zoom/main.c,
+	  display/d.zoom/quit.c, display/d.zoom/zoom.c: Florian Goessmann:
+	  zoom back feature added
+
+2004-12-12 16:41  markus
+
+	* INSTALL: added code optimization
+
+2004-12-12 16:24  markus
+
+	* vector/v.patch/main.c: segfault fixed
+
+2004-12-12 16:24  markus
+
+	* locale/po/grasslibs_de.po: Typo fixed
+
+2004-12-12 14:14  markus
+
+	* vector/v.surf.rst/description.html: fixed see also
+
+2004-12-11 12:25  radim
+
+	* lib/vector/Vlib/map.c: create dir
+
+2004-12-11 11:55  radim
+
+	* display/d.zoom/set.c, general/Makefile,
+	  general/g.region/cmd/Makefile,
+	  general/g.region/cmd/local_proto.h, general/g.region/cmd/main.c,
+	  general/g.region/cmd/printwindow.c, include/G3d.h, include/gis.h,
+	  include/gisdefs.h, lib/g3d/g3dwindowio.c, lib/gis/adj_cellhd.c,
+	  lib/gis/get_window.c, lib/gis/put_window.c, lib/gis/rd_cellhd.c,
+	  lib/gis/wr_cellhd.c, scripts/Makefile,
+	  visualization/nviz/src/nviz_init.c: WIND3->WIND
+
+2004-12-11 11:53  radim
+
+	* raster/r.mapcalc/map3.c: init
+
+2004-12-10 16:25  markus
+
+	* display/d.vect/main.c: fix (ok, poor implementation, should loop
+	  over all dirs in /etc/symbol)
+
+2004-12-10 15:30  markus
+
+	* display/d.vect/main.c: button for icons added (based on r.colors
+	  code by Glynn Clements)
+
+2004-12-10 15:18  markus
+
+	* raster/r.colors/terrain: darker green for lowest positive
+	  altitudes
+
+2004-12-10 14:34  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: extended
+
+2004-12-10 11:45  markus
+
+	* configure, configure.in: changed ODBC default to 'no' (such as
+	  for mysql)
+
+2004-12-10 09:54  markus
+
+	* vector/v.overlay/description.html: added v.select link, join
+	  update
+
+2004-12-10 09:23  markus
+
+	* display/d.mapgraph/description.html: example added
+
+2004-12-10 08:43  markus
+
+	* lib/init/variables.html: updated OVERWRITE
+
+2004-12-10 08:02  markus
+
+	* display/d.what.vect/main.c: help parameter functional now (based
+	  on d.zoom code)
+
+2004-12-10 06:21  hamish
+
+	* debian/control: go ahead and remove the csh depends as it isn't
+	  needed
+
+2004-12-09 17:04  markus
+
+	* lib/gis/store.c: inverted G_store/NULL change
+
+2004-12-09 16:56  radim
+
+	* general/manage/cmd/copy.c, general/manage/cmd/rename.c,
+	  include/gis.h, lib/gis/parser.c: overwrite
+
+2004-12-09 16:38  radim
+
+	* raster/r.composite/main.c: removed -o
+
+2004-12-09 16:37  radim
+
+	* lib/gis/parser.c, lib/vector/Vlib/open.c: check overwrite
+
+2004-12-09 15:11  markus
+
+	* vector/v.build/description.html, vector/v.build/main.c: extended
+	  error story
+
+2004-12-09 15:00  markus
+
+	* general/manage/lib/do_copy.c: extended message
+
+2004-12-09 14:55  markus
+
+	* db/base/execute.c: -i flag added to ignore errors (stop as
+	  default now)
+
+2004-12-09 14:50  markus
+
+	* lib/db/dbmi_base/error.c: extended error message
+
+2004-12-09 14:43  markus
+
+	* scripts/g.manual/g.manual: added MAN support
+
+2004-12-09 14:17  markus
+
+	* vector/v.to.db/query.c, vector/v.to.db/update.c: extended message
+
+2004-12-09 14:06  markus
+
+	* display/d.path/main.c: updated for help text using d.zoom code
+
+2004-12-09 13:56  bob
+
+	* general/g.region/cmd/main.c: Added multiple raster option
+
+2004-12-09 13:52  bob
+
+	* lib/symbol/symbol/basic/airport, lib/symbol/symbol/basic/arrow1,
+	  lib/symbol/symbol/basic/arrow2, lib/symbol/symbol/basic/compass,
+	  lib/symbol/symbol/basic/cross1, lib/symbol/symbol/basic/cross2,
+	  lib/symbol/symbol/basic/marker, lib/symbol/symbol/basic/octagon,
+	  lib/symbol/symbol/basic/star, lib/symbol/symbol/basic/target: New
+	  symbols
+
+2004-12-09 13:50  bob
+
+	* lib/symbol/symbol/basic/cross: moved cross to cross1
+
+2004-12-09 13:19  radim
+
+	* db/drivers/mysql/db.c: _
+
+2004-12-09 08:49  radim
+
+	* vector/v.distance/main.c: options not coded yet
+
+2004-12-09 00:26  hamish
+
+	* debian/control: meta-packages should be given as OR (csh):
+	  http://lists.debian.org/debian-devel/2004/12/msg00391.html
+
+2004-12-08 16:38  michael
+
+	* scripts/g.mlist/g.mlist: Removed reference to (null); added
+	  pulldown listing all datatypes
+
+2004-12-08 16:37  michael
+
+	* scripts/d.out.png/d.out.png, scripts/d.rast.leg/d.rast.leg:
+	  Removed reference to (null)
+
+2004-12-08 16:34  michael
+
+	* scripts/d.monsize/d.monsize: Removed (null) reference; added
+	  pulldown for selecting monitors
+
+2004-12-08 16:32  michael
+
+	* display/d.m/menu.tcl: Added v.in.e00 and r.in.strm
+	  Removed v.database and r3.showdspf
+
+2004-12-08 13:48  markus
+
+	* lib/init/variables.html: added GRASS_MESSAGE_FORMAT
+
+2004-12-08 13:45  markus
+
+	* db/base/db.columns.html, db/base/db.connect.html,
+	  db/base/db.copy.html, db/base/db.createdb.html,
+	  db/base/db.databases.html, db/base/db.describe.html,
+	  db/base/db.drivers.html, db/base/db.dropdb.html,
+	  db/base/db.droptable.html, db/base/db.execute.html,
+	  db/base/db.select.html, db/base/db.tables.html,
+	  vector/v.extract/description.html: link to SQL page added
+
+2004-12-07 18:10  markus
+
+	* vector/v.in.sites/description.html,
+	  vector/v.proj/description.html: cleanup
+
+2004-12-07 18:02  markus
+
+	* display/d.vect/main.c: single attrcol only
+
+2004-12-07 17:56  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/databases.c,
+	  db/base/describe.c, db/base/drivers.c, db/base/printtab.c,
+	  db/base/select.c, db/base/tables.c: reverted some G_message()
+	  changes to make db.* functional again (why linebreaks with
+	  G_message()? )
+
+2004-12-07 17:44  markus
+
+	* db/base/select.c: reverted some G_message() changes to make
+	  db.select functional again (why linebreaks with G_message()? )
+
+2004-12-07 17:32  markus
+
+	* db/base/columns.c, db/base/databases.c, db/base/describe.c,
+	  db/base/drivers.c, db/base/printtab.c, db/base/select.c,
+	  db/base/tables.c: G_message() fixes
+
+2004-12-07 17:32  markus
+
+	* db/base/db.columns.html, db/base/db.connect.html,
+	  db/base/db.copy.html, db/base/db.createdb.html,
+	  db/base/db.databases.html, db/base/db.describe.html,
+	  db/base/db.drivers.html, db/base/db.dropdb.html,
+	  db/base/db.droptable.html, db/base/db.execute.html,
+	  db/base/db.select.html, db/base/db.tables.html: added db.login
+
+2004-12-07 17:20  markus
+
+	* locale/README: Note3 added
+
+2004-12-07 17:05  markus
+
+	* db/base/connect.c: fixed -p output
+
+2004-12-07 16:12  markus
+
+	* raster/r.sunmask/description.html, raster/r.sunmask/main.c: fixed
+	  sunset/sunrise indications to avoid user confusion, note added on
+	  atmosphere refraction
+
+2004-12-07 14:29  markus
+
+	* raster/r.sunmask/main.c: use G_debug() for DEBUG output; don't
+	  output sunset/sunrise in case of overflow
+
+2004-12-07 14:15  markus
+
+	* display/d.legend/main.c: explain range
+
+2004-12-07 13:30  markus
+
+	* display/d.font.freetype/description.html,
+	  display/d.font.freetype/main.c: minor fixes
+
+2004-12-07 13:00  markus
+
+	* display/d.vect/description.html, lib/db/sqlp/description.html:
+	  example added
+
+2004-12-07 12:09  bob
+
+	* visualization/nviz/scripts/panel_main.tcl: Fixed 0 zexag
+
+2004-12-07 06:23  hamish
+
+	* ps/ps.map/description.html: document geogrid's width option
+
+2004-12-06 15:57  markus
+
+	* lib/init/variables.html: added GRASS_HTML_BROWSER
+
+2004-12-06 15:54  markus
+
+	* lib/init/init.sh: added GRASS_MESSAGE_FORMAT
+
+2004-12-06 15:50  markus
+
+	* lib/init/variables.html: fixed OVERWRITE; added
+	  GRASS_MESSAGE_FORMAT, GRASS_DB_ENCODING
+
+2004-12-06 15:30  markus
+
+	* lib/form/form.c: debug output added
+
+2004-12-06 14:52  bob
+
+	* visualization/nviz/scripts/fileBrowser.tcl: Removed GISDBASE
+	  reference
+
+2004-12-06 14:51  bob
+
+	* visualization/nviz/scripts/attIsosurfPopup.tcl: Fixed DEBUG error
+
+2004-12-06 13:36  markus
+
+	* general/g.gisenv/description.html: added link to variables list
+
+2004-12-06 12:30  markus
+
+	* raster/r.bilinear/main.c: added missing north/east description
+
+2004-12-06 12:20  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/createdb.c, db/base/databases.c, db/base/describe.c,
+	  db/base/drivers.c, db/base/dropdb.c, db/base/droptable.c,
+	  db/base/execute.c, db/base/printtab.c, db/base/select.c,
+	  db/base/tables.c, db/db.login/main.c, db/drivers/mysql/db.c,
+	  db/drivers/ogr/describe.c, db/drivers/ogr/fetch.c,
+	  db/drivers/postgres/describe.c, db/drivers/postgres/fetch.c,
+	  db/drivers/postgres/parse.c: Stephan Holl: i18N macros added
+
+2004-12-06 11:39  markus
+
+	* vector/v.in.ascii/points.c: debug output cosmetics
+
+2004-12-06 10:45  markus
+
+	* vector/v.qcount/description.html: fixed (bug #2788)
+
+2004-12-06 10:13  markus
+
+	* vector/v.to.points/main.c: message cosmetics, i18N
+
+2004-12-06 09:45  markus
+
+	* display/drivers/PNG/description.html: added link to netpbm tools
+
+2004-12-06 08:59  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: updated
+
+2004-12-06 00:43  helena
+
+	* visualization/nviz/scripts/panel_vol.tcl: loading and saving
+	  isosurfaces and slices added
+
+2004-12-06 00:19  helena
+
+	* visualization/nviz/src/map_obj.c: increased default polygon
+	  resolution for isosurfaces
+
+2004-12-05 14:06  markus
+
+	* display/d.paint.labels/description.html: fixed HTML (bug #2771)
+
+2004-12-05 07:02  hamish
+
+	* vector/v.build/main.c, vector/v.net/report.c: fix spelling (Dan
+	  Jacobson bug #2774)
+
+2004-12-05 06:45  hamish
+
+	* display/d.vect/main.c: fix spelling (Dan Jacobson bug #2773)
+
+2004-12-05 03:30  paul
+
+	* lib/init/Makefile, lib/init/grass-run.sh, lib/init/grass-run.src,
+	  lib/init/init.sh: Fix grass-run.sh to restore LD_LIBRARY_PATH
+	  correctly as discussed
+	  on developers' mailing list
+
+2004-12-03 16:33  markus
+
+	* display/d.path/description.html: v.net.path added
+
+2004-12-03 16:31  markus
+
+	* display/d.path/description.html: extended
+
+2004-12-03 16:27  radim
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/local.h, vector/v.overlay/main.c,
+	  vector/v.overlay/util.c: join tables
+
+2004-12-03 10:46  markus
+
+	* vector/v.in.region/main.c: added history
+
+2004-12-03 10:25  markus
+
+	* scripts/r.plane/r.plane: code cosmetics
+
+2004-12-03 10:21  markus
+
+	* doc/debugging.txt: added ddd/gdb debugging
+
+2004-12-03 10:13  markus
+
+	* lib/init/variables.html: added OVERWRITE
+
+2004-12-03 09:49  markus
+
+	* lib/init/README, lib/init/init.sh: don't mention tcltkgrass eny
+	  more
+
+2004-12-03 08:57  markus
+
+	* Makefile: tcltkgrass disabled
+
+2004-12-02 17:52  markus
+
+	* vector/v.surf.rst/main.c: indent -i4 -npsl -di0 -br -nce -d0
+	  -cli0 -npcs -nfc1
+
+2004-12-02 17:51  markus
+
+	* vector/v.surf.rst/main.c: fixed G_fatal_error style; v.support ->
+	  v.build
+
+2004-12-02 08:39  radim
+
+	* db/drivers/mysql/db.c, db/drivers/postgres/parse.c: login
+
+2004-12-02 03:41  hamish
+
+	* vector/v.in.ogr/main.c: add -f flag to list available drivers
+
+2004-12-02 02:33  hamish
+
+	* raster/r.in.gdal/main.c: add authorship note (list formats code
+	  originally written by Frank Warmerdam).
+	  add read/write to available format list
+
+2004-12-02 02:01  hamish
+
+	* raster/r.in.gdal/main.c: Add -f flag to list supported formats
+	  then exit
+
+2004-12-01 22:08  markus
+
+	* scripts/v.in.sites.all/v.in.sites.all: fixed nonsense i char
+	  (thanks to vim)
+
+2004-12-01 22:04  markus
+
+	* scripts/Makefile: added missing v.convert.all
+
+2004-12-01 22:00  markus
+
+	* scripts/Makefile: r.in.srtm added (from
+	  http://mpa.itc.it/rs/srtm/ )
+
+2004-12-01 21:59  markus
+
+	* scripts/r.in.srtm, scripts/r.in.srtm/Makefile,
+	  scripts/r.in.srtm/r.in.srtm: added
+
+2004-12-01 16:48  markus
+
+	* notyetuploaded: no longer needed
+
+2004-12-01 16:27  radim
+
+	* vector/v.in.db/main.c: database
+
+2004-12-01 16:06  radim
+
+	* vector/v.overlay/main.c: -
+
+2004-12-01 15:42  radim
+
+	* vector/v.convert/att.c, vector/v.to.points/main.c: index
+
+2004-12-01 15:32  markus
+
+	* raster/r.sunmask/main.c: added -g shell style flag
+
+2004-12-01 15:16  markus
+
+	* raster/r.sunmask/main.c: changed fprintf() to G_message()
+
+2004-12-01 13:59  radim
+
+	* lib/vector/Vlib/map.c: index
+
+2004-12-01 13:47  radim
+
+	* raster/r.contour/main.c, raster/r.to.vect/main.c,
+	  vector/v.db.connect/main.c, vector/v.digit/c_face.c,
+	  vector/v.in.dwg/main.c, vector/v.in.ogr/main.c,
+	  vector/v.in.sites/main.c, vector/v.mkgrid/main.c,
+	  vector/v.net.path/path.c, vector/v.overlay/main.c,
+	  vector/v.sample/main.c: index
+
+2004-12-01 13:27  radim
+
+	* db/drivers/postgres/index.c, db/drivers/postgres/priv.c,
+	  include/proto_dbmi.h, lib/db/dbmi_client/c_create_idx.c,
+	  lib/db/stubs/create_index.c, vector/v.in.ascii/in.c: index
+
+2004-12-01 12:49  markus
+
+	* display/d.m/d.m.tcl: modified term usage for Debian et al.
+
+2004-12-01 12:48  markus
+
+	* tools/Makefile: removed moved/unused subdirs
+
+2004-12-01 12:47  markus
+
+	* tools/getModTime: no longer needed
+
+2004-12-01 12:47  markus
+
+	* tools/grass-run.sh: moved to ../lib/init/
+
+2004-12-01 12:45  markus
+
+	* lib/init/Makefile, lib/init/grass-run.sh: maintain grass-run.sh
+	  here
+
+2004-12-01 12:34  radim
+
+	* raster3d/Makefile: r3.showdspf removed
+
+2004-12-01 11:34  markus
+
+	* raster/r.univar2/main.c: added sum
+
+2004-12-01 10:54  radim
+
+	* vector/v.to.db/query.c: multicat also for field in query
+
+2004-12-01 09:40  markus
+
+	* raster/r.univar2/main.c: also print number of NULL cells
+
+2004-12-01 09:00  markus
+
+	* tools/g51.extract_description.sh: updated to current state of 5.7
+
+2004-12-01 08:58  markus
+
+	* tools/Makefile, tools/grass-run.sh/Makefile: activated
+	  grass-run.sh with clean target
+
+2004-12-01 08:55  markus
+
+	* tools/grass-run.sh, tools/grass-run.sh/Makefile,
+	  tools/grass-run.sh/grass-run.sh: added
+
+2004-12-01 08:28  markus
+
+	* vector/v.net.iso/description.html: correction (?)
+
+2004-11-30 22:54  hamish
+
+	* debian/control, debian/rules: more tweaking required packages for
+	  building and configure options
+
+2004-11-30 21:27  markus
+
+	* vector/v.hull/main.c, vector/v.overlay/main.c,
+	  vector/v.patch/main.c, vector/v.reclass/main.c,
+	  vector/v.select/main.c, vector/v.to.points/main.c: added transfer
+	  of map history
+
+2004-11-30 21:06  markus
+
+	* db/base/columns.c, db/base/copy.c, db/base/describe.c,
+	  db/base/execute.c, db/base/select.c, db/base/tables.c,
+	  display/d.path/main.c, lib/db/dbmi_base/default_name.c,
+	  lib/gis/env.c, lib/gis/gisinit.c, lib/gis/parser.c,
+	  lib/gis/set_window.c, lib/gis/window_map.c: fakestart stuff
+	  removed as we run a true session now to generate the HTML pages
+
+2004-11-30 20:32  markus
+
+	* visualization/nviz/scripts/attIsosurfPopup.tcl: change chatty
+	  output to debug output
+
+2004-11-30 20:20  markus
+
+	* display/d.extend/description.html: added docs
+
+2004-11-30 18:01  markus
+
+	* vector/v.in.db/description.html: examples updates
+
+2004-11-30 17:57  markus
+
+	* vector/v.in.db/main.c: fetch current sessings for driver/db
+
+2004-11-30 17:55  markus
+
+	* db/base/db.connect.html, db/db.login/description.html:
+	  added/updated docs
+
+2004-11-30 16:50  radim
+
+	* ps/ps.map/r_vlegend.c: don't limit fontsize
+
+2004-11-30 16:36  radim
+
+	* lib/db/dbmi_base/login.c: dont write user/password if null
+
+2004-11-30 16:32  markus
+
+	* lib/gis/store.c: return NULL if input string is NULL
+
+2004-11-30 15:39  michael
+
+	* display/d.m/menu.tcl: bugfix. Changed menu entry for v.surf.rst
+	  from spawn to run.
+
+2004-11-30 15:18  markus
+
+	* db/base/db.select.html: added example
+
+2004-11-30 15:12  markus
+
+	* db/base/execute.c, db/base/select.c: added file button
+
+2004-11-30 14:21  radim
+
+	* display/d.rast/display.c, display/d.rast/local_proto.h,
+	  display/d.rast/main.c, display/d.rgb/main.c,
+	  display/d.vect/main.c: don't add to commands flag
+
+2004-11-30 14:00  radim
+
+	* db/drivers/postgres/describe.c: set length of character varying
+	  to 250
+
+2004-11-30 13:29  radim
+
+	* db/drivers/postgres/db.c: don't set default schema
+
+2004-11-30 11:11  radim
+
+	* db/drivers/dbf/Makefile, db/drivers/mysql/Makefile,
+	  db/drivers/odbc/Makefile: create table
+
+2004-11-30 11:10  radim
+
+	* vector/v.db.connect/main.c, vector/v.overlay/main.c: grant select
+	  on table
+
+2004-11-30 11:01  radim
+
+	* raster/r.contour/main.c, raster/r.to.vect/main.c,
+	  vector/v.convert/att.c, vector/v.digit/c_face.c,
+	  vector/v.distance/main.c, vector/v.in.dwg/main.c,
+	  vector/v.in.ogr/main.c, vector/v.in.sites/main.c,
+	  vector/v.mkgrid/main.c, vector/v.net.path/path.c,
+	  vector/v.sample/main.c, vector/v.to.points/main.c: grant select
+	  on table
+
+2004-11-30 10:38  radim
+
+	* vector/v.in.ascii/in.c: grant select on table
+
+2004-11-30 10:37  radim
+
+	* db/drivers/dbf/create_table.c, db/drivers/mysql/create_table.c,
+	  db/drivers/odbc/create_table.c: create table
+
+2004-11-30 10:36  radim
+
+	* db/drivers/postgres/create_table.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/priv.c: create table, grant on table
+
+2004-11-30 10:35  radim
+
+	* db/base/connect.c: group
+
+2004-11-30 10:34  radim
+
+	* include/dbmi.h, include/proto_dbmi.h, lib/db/dbmi_base/connect.c,
+	  lib/db/dbmi_base/default_name.c, lib/db/dbmi_base/table.c,
+	  lib/db/dbmi_client/c_priv.c, lib/db/dbmi_client/copy_tab.c,
+	  lib/db/dbmi_driver/d_priv.c, lib/db/dbmi_driver/dbstubs.h,
+	  lib/db/dbmi_driver/procs.h, lib/db/stubs/priv.c:
+	  db_grant_on_table
+
+2004-11-29 23:16  glynn
+
+	* general/g.parser/main.c: Unused options should be empty rather
+	  than "(null)".
+
+2004-11-29 17:18  markus
+
+	* Makefile: fix for MaxOSX
+
+2004-11-29 17:12  markus
+
+	* vector/v.in.ogr/main.c: typo fixed
+
+2004-11-29 16:44  markus
+
+	* scripts/v.in.sites.all/description.html,
+	  scripts/v.in.sites.all/v.in.sites.all: docs added; help fix
+
+2004-11-29 16:39  markus
+
+	* scripts/Makefile: activate v.in.sites.all
+
+2004-11-29 10:39  markus
+
+	* scripts/v.convert.all/description.html,
+	  vector/v.convert/description.html: added g.list hint
+
+2004-11-29 10:32  markus
+
+	* scripts/v.convert.all/description.html,
+	  vector/v.convert/description.html: additions on SQL restrictions
+
+2004-11-29 10:23  markus
+
+	* scripts/v.convert.all/description.html,
+	  scripts/v.convert.all/v.convert.all: small fix ; added docu
+
+2004-11-29 09:28  markus
+
+	* config.guess, config.sub: updated to fix bug #2725
+
+2004-11-29 09:21  markus
+
+	* debian/control: removed auto-tools as not needed. Fixed FFTW2
+	  (FFTW3 doesn't work)
+
+2004-11-29 09:17  markus
+
+	* configure, configure.in, include/Make/Platform.make.in: disabled
+	  F77 as not needed
+
+2004-11-29 09:10  markus
+
+	* tools/build_html_index.html: explain abbreviations
+
+2004-11-29 08:42  markus
+
+	* Makefile: distclean: remove also ChangeLog stuff
+
+2004-11-29 08:39  markus
+
+	* INSTALL: cosmetics
+
+2004-11-28 15:04  markus
+
+	* debian/control: csh | c-shell
+
+2004-11-28 07:43  glynn
+
+	* raster/r.colors/main.c: Change -l switch to list rules files in
+	  alphabetical order
+
+2004-11-27 21:11  markus
+
+	* scripts/g3_scripts/g3.setregion: fix
+
+2004-11-27 20:32  markus
+
+	* vector/v.in.ascii/description.html: quoted fs
+
+2004-11-26 21:52  glynn
+
+	* configure, configure.in: Check whether GDAL needs --dep-libs
+
+2004-11-26 21:51  glynn
+
+	* display/drivers/lib/Text3.c: Declare internal functions as
+	  "static"
+
+2004-11-26 15:07  markus
+
+	* lib/init/make_location_epsg_g57.sh: simplified
+
+2004-11-26 13:49  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: extended
+
+2004-11-26 13:43  markus
+
+	* debian/control, debian/rules: Stephan Holl: fixed to reflect
+	  recent changes
+
+2004-11-25 17:05  markus
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po: Emmanuel
+	  Saracco: Update for fr translation
+
+2004-11-25 15:49  radim
+
+	* vector/v.database: ->db.connect
+
+2004-11-25 15:47  radim
+
+	* vector/Makefile: v.database removed
+
+2004-11-25 15:47  radim
+
+	* lib/vector/Vlib/field.c, vector/v.db.connect/main.c: GV_ -> DB_
+
+2004-11-25 15:46  radim
+
+	* db/base/connect.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/listtab.c: schema
+
+2004-11-25 15:45  radim
+
+	* include/dbmi.h, include/proto_dbmi.h, lib/db/dbmi_base/connect.c,
+	  lib/db/dbmi_base/default_name.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/xdrhandle.c, lib/db/dbmi_client/c_finddb.c,
+	  lib/db/dbmi_driver/d_opendb.c, lib/db/dbmi_driver/driver_state.c:
+	  dbpath->dbschema
+
+2004-11-25 13:56  markus
+
+	* lib/init/variables.html: cosmetics
+
+2004-11-25 13:46  radim
+
+	* lib/init/init.sh: .grassrc57 -> .grassrc6
+
+2004-11-25 13:45  radim
+
+	* lib/gis/unix_socks.c: path 5 -> 6
+
+2004-11-25 13:44  radim
+
+	* lib/db/dbmi_base/login.c: .grasslogin5 -> .grasslogin6
+
+2004-11-25 13:15  radim
+
+	* vector/v.db.connect/main.c: error -> warning if table does not
+	  exist
+
+2004-11-25 12:53  radim
+
+	* display/d.m/vector.tcl: optional form
+
+2004-11-25 10:21  radim
+
+	* configure, configure.in: GDAL dep libs removed
+
+2004-11-24 20:58  markus
+
+	* Makefile: also clean demolocation
+
+2004-11-24 20:23  bob
+
+	* visualization/nviz/src/nviz_init.c: Added check for WIND3
+
+2004-11-24 20:22  markus
+
+	* Makefile, demolocation, demolocation/PERMANENT,
+	  demolocation/PERMANENT/DEFAULT_WIND,
+	  demolocation/PERMANENT/DEFAULT_WIND3,
+	  demolocation/PERMANENT/MYNAME, demolocation/PERMANENT/PROJ_INFO,
+	  demolocation/PERMANENT/PROJ_UNITS, demolocation/PERMANENT/WIND,
+	  demolocation/PERMANENT/WIND3, general/g3.region/Makefile,
+	  imagery/i.ask/Makefile, imagery/i.ortho.photo/menu/Makefile,
+	  imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.target/Makefile,
+	  include/Make/Rules.make, raster/r.watershed/ram/Makefile,
+	  raster/r.watershed/seg/Makefile: demolocation (LatLong) added for
+	  new 'fakestart' concept to render HTML/MAN documentation. May
+	  also be used for regression tests in future
+
+2004-11-24 14:02  markus
+
+	* visualization/nviz/Makefile: simplified
+
+2004-11-24 14:00  markus
+
+	* visualization/nviz/src/Makefile: fixed
+
+2004-11-24 13:37  radim
+
+	* vector/v.distance/main.c: condition for transaction
+
+2004-11-24 09:14  radim
+
+	* db/drivers/mysql/db.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/parse.c: login
+
+2004-11-24 09:13  radim
+
+	* db/Makefile: +db.login
+
+2004-11-24 09:13  radim
+
+	* db/db.login, db/db.login/Makefile, db/db.login/main.c: new
+
+2004-11-24 09:11  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi_base/login.c: get/set login
+
+2004-11-24 09:02  markus
+
+	* visualization/nviz/html/help_frame.tcl,
+	  visualization/nviz/scripts/nviz2.2_script: fixed new home of NVIZ
+	  HTML docs
+
+2004-11-24 08:59  markus
+
+	* visualization/nviz/Makefile: also generate HTML docs
+
+2004-11-24 08:56  markus
+
+	* visualization/nviz/html, visualization/nviz/html/Makefile,
+	  visualization/nviz/html/bugs_todo.html,
+	  visualization/nviz/html/gmsmodviz.gif,
+	  visualization/nviz/html/grass.smlogo.gif,
+	  visualization/nviz/html/help.tcl,
+	  visualization/nviz/html/help_frame.tcl,
+	  visualization/nviz/html/index.html,
+	  visualization/nviz/html/nvimg,
+	  visualization/nviz/html/nvimg/panel,
+	  visualization/nviz/html/nvimg/panel/anim.gif,
+	  visualization/nviz/html/nvimg/panel/anim1.gif,
+	  visualization/nviz/html/nvimg/panel/anim2.gif,
+	  visualization/nviz/html/nvimg/panel/anim3.gif,
+	  visualization/nviz/html/nvimg/panel/anim4.gif,
+	  visualization/nviz/html/nvimg/panel/anim5.gif,
+	  visualization/nviz/html/nvimg/panel/color.gif,
+	  visualization/nviz/html/nvimg/panel/cut.gif,
+	  visualization/nviz/html/nvimg/panel/file_menu.gif,
+	  visualization/nviz/html/nvimg/panel/file_menu2.gif,
+	  visualization/nviz/html/nvimg/panel/image_dump.gif,
+	  visualization/nviz/html/nvimg/panel/keyanim.gif,
+	  visualization/nviz/html/nvimg/panel/keyexample.gif,
+	  visualization/nviz/html/nvimg/panel/labels.gif,
+	  visualization/nviz/html/nvimg/panel/light.gif,
+	  visualization/nviz/html/nvimg/panel/main.gif,
+	  visualization/nviz/html/nvimg/panel/mkdspf.gif,
+	  visualization/nviz/html/nvimg/panel/mkdspf_complete.gif,
+	  visualization/nviz/html/nvimg/panel/mkdspf_range.gif,
+	  visualization/nviz/html/nvimg/panel/position.gif,
+	  visualization/nviz/html/nvimg/panel/scale.gif,
+	  visualization/nviz/html/nvimg/panel/scale_diff.gif,
+	  visualization/nviz/html/nvimg/panel/sites.gif,
+	  visualization/nviz/html/nvimg/panel/surf.gif,
+	  visualization/nviz/html/nvimg/panel/vect.gif,
+	  visualization/nviz/html/nvimg/panel/whats.gif,
+	  visualization/nviz/html/nvimg/panel/whats_options.gif,
+	  visualization/nviz/html/nvimg/work,
+	  visualization/nviz/html/nvimg/work/AddField.gif,
+	  visualization/nviz/html/nvimg/work/FBrowse.gif,
+	  visualization/nviz/html/nvimg/work/FSTool.gif,
+	  visualization/nviz/html/nvimg/work/FSToolBrowse.gif,
+	  visualization/nviz/html/nvimg/work/FSToolExample.gif,
+	  visualization/nviz/html/nvimg/work/SimpLoop.gif,
+	  visualization/nviz/html/nvimg/work/script_pulldown.gif,
+	  visualization/nviz/html/nviz_3dsetting.html,
+	  visualization/nviz/html/nviz_credit.html,
+	  visualization/nviz/html/nviz_desc.html,
+	  visualization/nviz/html/nviz_hints.html,
+	  visualization/nviz/html/nviz_image.html,
+	  visualization/nviz/html/nviz_panel_anim.html,
+	  visualization/nviz/html/nviz_panel_color.html,
+	  visualization/nviz/html/nviz_panel_cplane.html,
+	  visualization/nviz/html/nviz_panel_dsf.html,
+	  visualization/nviz/html/nviz_panel_dsf1.html,
+	  visualization/nviz/html/nviz_panel_dsf2.html,
+	  visualization/nviz/html/nviz_panel_dsf3.html,
+	  visualization/nviz/html/nviz_panel_kanim.html,
+	  visualization/nviz/html/nviz_panel_labels.html,
+	  visualization/nviz/html/nviz_panel_lights.html,
+	  visualization/nviz/html/nviz_panel_move.html,
+	  visualization/nviz/html/nviz_panel_pos.html,
+	  visualization/nviz/html/nviz_panel_scale.html,
+	  visualization/nviz/html/nviz_panel_sdiff.html,
+	  visualization/nviz/html/nviz_panel_sites.html,
+	  visualization/nviz/html/nviz_panel_surf.html,
+	  visualization/nviz/html/nviz_panel_vect.html,
+	  visualization/nviz/html/nviz_panel_what.html,
+	  visualization/nviz/html/nviz_quit.html,
+	  visualization/nviz/html/nviz_script.html,
+	  visualization/nviz/html/nviz_startup.html,
+	  visualization/nviz/html/nviz_state.html,
+	  visualization/nviz/html/nviz_toc.html: added missing HTML docs
+
+2004-11-23 19:49  bob
+
+	* visualization/nviz/src/map_obj.c: Added catch for bad vector load
+
+2004-11-23 19:48  bob
+
+	* visualization/nviz/src/draw.c,
+	  visualization/nviz/src/init_commands.c: Added fringe drawing
+	  option
+
+2004-11-23 19:47  bob
+
+	* visualization/nviz/src/Makefile,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/nviz_init.c: Changed NVWISH to be directly
+	  called as nviz
+
+2004-11-23 19:45  bob
+
+	* visualization/nviz/scripts/nviz: Replaced script with NVWISH
+
+2004-11-23 19:44  bob
+
+	* visualization/nviz/scripts/panel_scale.tcl: Added fringe support
+
+2004-11-23 19:43  bob
+
+	* visualization/nviz/scripts/nviz2.2,
+	  visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/script_file_tools,
+	  visualization/nviz/scripts/script_get_line,
+	  visualization/nviz/scripts/script_play,
+	  visualization/nviz/scripts/script_support.tcl,
+	  visualization/nviz/scripts/script_tools: Removed reference to
+	  NVWISH and minor bug cleanup
+
+2004-11-23 19:41  bob
+
+	* visualization/nviz/Makefile: Replaced nviz script with NVWISH
+
+2004-11-23 19:39  bob
+
+	* lib/ogsf/GP2.c, lib/ogsf/Gp3.c, lib/ogsf/Gv3.c,
+	  lib/ogsf/gs_norms.c: Added loading check
+
+2004-11-23 19:39  bob
+
+	* lib/ogsf/GS2.c: Added fringe support and raster load check
+
+2004-11-23 19:36  bob
+
+	* lib/ogsf/gsd_fringe.c, lib/ogsf/local_proto.h: Added fringe
+	  support
+
+2004-11-23 16:44  markus
+
+	* lib/init/epsg_option.tcl: using terminal to catch query of datum
+	  transformation parameters
+
+2004-11-23 14:33  radim
+
+	* display/d.m/vector.tcl, display/d.path/main.c,
+	  display/d.vect/main.c, lib/gis/parser.c,
+	  ps/ps.map/description.html, ps/ps.map/r_vareas.c,
+	  ps/ps.map/r_vlines.c, ps/ps.map/r_vpoints.c,
+	  vector/v.category/main.c, vector/v.db.connect/main.c,
+	  vector/v.distance/main.c, vector/v.info/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.salesman/main.c,
+	  vector/v.net.steiner/main.c, vector/v.net/main.c,
+	  vector/v.out.ogr/main.c, vector/v.overlay/main.c,
+	  vector/v.segment/main.c, vector/v.select/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.points/main.c: field -> layer
+
+2004-11-23 13:35  markus
+
+	* vector/v.in.region/main.c: fixed description
+
+2004-11-23 13:22  radim
+
+	* general/g.access/ask_perms.c, general/g.access/description.html,
+	  general/g.access/local_proto.h, general/g.access/main.c,
+	  general/g.access/verify_perms.c: noninteractive
+
+2004-11-23 13:01  markus
+
+	* display/d.m/menu.tcl: call nviz without -q to get dialog (not
+	  sure about spawn/execute)
+
+2004-11-23 12:35  radim
+
+	* vector/v.category/main.c, vector/v.db.connect/main.c: shell style
+
+2004-11-23 11:01  radim
+
+	* lib/vector/Vlib/cindex.c, lib/vector/Vlib/open.c: mapset
+
+2004-11-23 10:58  markus
+
+	* scripts/g.mlist/description.html: fixes and additions
+
+2004-11-23 10:31  radim
+
+	* lib/vector/Vlib/cindex.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/cindex_rw.c, lib/vector/diglib/file.c,
+	  lib/vector/diglib/plus.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/portable.c: r/w better(?)
+
+2004-11-22 19:21  helena
+
+	* visualization/nviz/scripts/nviz: creates WIND3 if needed
+
+2004-11-22 19:19  helena
+
+	* lib/ogsf/gvl_file.c: fix for volume support in case WIND3 and
+	  grid3 have diff. resolution
+
+2004-11-22 17:00  markus
+
+	* vector/v.category/main.c: mapset is now searched in Vect lib,
+	  just give empty string here
+
+2004-11-22 16:25  markus
+
+	* vector/v.category/main.c: find vector to set mapset
+
+2004-11-22 15:49  markus
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po: Emmanuel
+	  Saracco: extended translations
+
+2004-11-22 15:40  markus
+
+	* display/d.m/vector.tcl: added missing sqlcolor for save settings
+
+2004-11-22 14:38  markus
+
+	* raster/r.sunmask/main.c: added decimal time output (nice for
+	  r.sun)
+
+2004-11-22 09:59  radim
+
+	* vector/v.to.db/query.c, vector/v.to.db/update.c: datetime
+
+2004-11-22 09:43  radim
+
+	* lib/db/dbmi_client/copy_tab.c: null
+
+2004-11-21 22:10  markus
+
+	* locale/po/grassmods_de.po: Stephan Holl: update
+
+2004-11-19 17:15  paul
+
+	* man/Makefile, tools/g.html2man/g.html2man: Fix man page
+	  generation so it works
+
+2004-11-19 16:44  markus
+
+	* vector/v.in.ascii/description.html: added d.where pipe example
+
+2004-11-19 16:39  markus
+
+	* raster/r.colors/Makefile, raster/r.colors/etopo2,
+	  raster/r.colors/ndvi: added etopo2 and ndvi color tables
+
+2004-11-19 15:11  markus
+
+	* vector/v.info/main.c: layout fix
+
+2004-11-19 14:10  radim
+
+	* display/d.vect/main.c: return 0 if outside region
+
+2004-11-19 13:45  markus
+
+	* raster/r.in.bin/description.html: added crosslink
+
+2004-11-19 13:44  markus
+
+	* raster/r.in.bin/description.html: cleanup, added ETOPO-2
+
+2004-11-19 11:40  radim
+
+	* vector/v.distance/main.c: transaction
+
+2004-11-19 11:09  radim
+
+	* vector/v.voronoi/description.html, vector/v.voronoi/dt_main.c,
+	  vector/v.voronoi/v.delaunay.html,
+	  vector/v.voronoi/v.voronoi.html, vector/v.voronoi/vo_main.c: copy
+	  table; centroids; manuals
+
+2004-11-19 09:54  radim
+
+	* lib/ogsf/Gv3.c: open on level 2
+
+2004-11-19 07:59  markus
+
+	* Makefile: fixed 'mixclean' target
+
+2004-11-18 16:02  markus
+
+	* raster/r.terraflow/IOStream/include/empq_impl.h,
+	  raster/r.terraflow/IOStream/lib/src/mm_utils.cc,
+	  raster/r.terraflow/common.cc, raster/r.terraflow/direction.h:
+	  conditionalized <ostream> upon gcc version
+
+2004-11-18 14:10  radim
+
+	* include/Vect.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/cindex.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/sindex.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/cindex.c, lib/vector/diglib/cindex_rw.c,
+	  lib/vector/diglib/plus.c, vector/v.build/main.c,
+	  vector/v.digit/attr.c, vector/v.digit/global.h,
+	  vector/v.digit/i_face.c, vector/v.digit/line.c,
+	  vector/v.digit/main.c, vector/v.digit/proto.h: category index
+	  update
+
+2004-11-18 14:09  radim
+
+	* lib/gis/percent.c: output
+
+2004-11-18 14:08  radim
+
+	* vector/v.kcv/main.c, vector/v.surf.idw/read_sites.c: debug
+
+2004-11-18 09:53  markus
+
+	* lib/db/dbmi_base/error.c: error message extended
+
+2004-11-18 03:41  cho
+
+	* display/Makefile, display/d.extend, display/d.extend/Makefile,
+	  display/d.extend/main.c: Added d.extend
+
+2004-11-17 17:27  markus
+
+	* locale/po/grasslibs_ru.po, locale/po/grassmods_ru.po:
+	  autotranslated messages to Russian (based on 5.0 translations
+	  from Alex Shevlakov)
+
+2004-11-17 17:07  markus
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_ja.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_ja.po: updated
+	  again to match recent G_message() fixes
+
+2004-11-17 17:01  markus
+
+	* vector/v.convert/att.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c: restored slash-n in G_message() ue to
+	  current concept
+
+2004-11-17 16:56  markus
+
+	* vector/v.transform/ask_trans.c, vector/v.transform/creat_trans.c,
+	  vector/v.transform/main.c, vector/v.transform/print_trans.c:
+	  fprintf() -> G_message(), i18N
+
+2004-11-17 16:55  markus
+
+	* locale/README: more macro fun
+
+2004-11-17 16:38  markus
+
+	* vector/v.what.rast/main.c: fixed G_message() to current strategy
+	  (means: keeping slash-n where present)
+
+2004-11-17 16:35  markus
+
+	* include/gisdefs.h, lib/gis/Makefile, lib/gis/version.c: added
+	  G_version()
+
+2004-11-17 15:50  markus
+
+	* imagery/i.group/description.html, imagery/i.group/local_proto.h,
+	  imagery/i.group/main.c: added group list flag
+
+2004-11-17 15:49  markus
+
+	* include/imagedefs.h, lib/imagery/list_gp.c: added group list
+	  function for i.group
+
+2004-11-17 15:49  markus
+
+	* lib/imagery/list_subgp.c: fixed warnings
+
+2004-11-17 15:17  markus
+
+	* display/d.m/menu.tcl: bugfix + typo fixed.
+
+2004-11-17 14:42  markus
+
+	* raster/r.out.ascii/description.html, raster/r.out.ascii/main.c:
+	  width parm better documented. Changed -M to -m for consistency
+
+2004-11-17 14:37  markus
+
+	* locale/README: keep new line if present
+
+2004-11-17 14:03  markus
+
+	* imagery/i.group/main.c: don't segfault when no input map(s)
+	  given; pretty printing with indent -i4 -npsl -di0 -br -nce -d0
+	  -cli0 -npcs -nfc1
+
+2004-11-17 13:42  markus
+
+	* locale/po/grasslibs_de.po: Stephan Holl: additions
+
+2004-11-17 13:07  markus
+
+	* vector/v.in.ascii/description.html: extended
+
+2004-11-17 13:06  radim
+
+	* vector/v.to.rast/vect2rast.c: close vect
+
+2004-11-17 13:04  radim
+
+	* vector/v.surf.idw/read_sites.c, vector/v.surf.rst/main.c: release
+	  support
+
+2004-11-17 12:51  radim
+
+	* vector/v.clean/main.c: support not released
+
+2004-11-17 12:50  radim
+
+	* display/d.what.vect/main.c, include/Vect.h,
+	  include/vect/dig_structs.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/init_head.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/sindex.c: spatial index
+	  not saved, support not released
+
+2004-11-17 12:38  markus
+
+	* vector/v.database/description.html: html fixes
+
+2004-11-17 11:37  markus
+
+	* vector/v.info/main.c: bugfix
+
+2004-11-17 09:20  markus
+
+	* locale/README: slightly extended
+
+2004-11-17 08:37  markus
+
+	* locale/po/grasslibs_cs.po, locale/po/grasslibs_de.po,
+	  locale/po/grasslibs_fr.po, locale/po/grasslibs_ja.po,
+	  locale/po/grassmods_cs.po, locale/po/grassmods_de.po,
+	  locale/po/grassmods_fr.po, locale/po/grassmods_ja.po: header
+	  fixes
+
+2004-11-16 19:56  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: UTF-8 ->
+	  ISO fixed ; cosmetics
+
+2004-11-16 15:55  michael
+
+	* display/d.m/menu.tcl: Addition of recently ported commands to
+	  menu
+
+2004-11-15 19:27  markus
+
+	* scripts/v.convert.all/v.convert.all,
+	  scripts/v.in.sites.all/v.in.sites.all: message cosmetics
+
+2004-11-15 16:02  markus
+
+	* scripts/v.convert.all, scripts/v.convert.all/Makefile,
+	  scripts/v.convert.all/v.convert.all, scripts/v.in.sites.all,
+	  scripts/v.in.sites.all/Makefile,
+	  scripts/v.in.sites.all/v.in.sites.all: added for 5.0/5.3
+	  migration to new GRASS
+
+2004-11-15 15:47  markus
+
+	* vector/v.convert/att.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.convert/type.c: fprintf ->
+	  G_message ; i18N macros
+
+2004-11-15 15:34  markus
+
+	* locale/README: of course we still need glocale.h; clarifications
+
+2004-11-15 15:31  markus
+
+	* vector/v.what.rast/main.c: fixed G_message/i18N
+
+2004-11-15 15:28  markus
+
+	* locale/README: of course we still need glocale.h
+
+2004-11-15 15:08  markus
+
+	* display/d.m/description.html: extended
+
+2004-11-15 13:25  radim
+
+	* display/d.m/vector.tcl: fcolor for points
+
+2004-11-15 11:57  radim
+
+	* vector/v.extract/main.c: keep field in db link
+
+2004-11-15 10:49  markus
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po: update-po
+
+2004-11-15 10:47  markus
+
+	* locale/README: correction
+
+2004-11-15 10:46  markus
+
+	* vector/v.surf.idw/read_sites.c, vector/v.what.rast/main.c: added
+	  gettext macro
+
+2004-11-15 09:48  markus
+
+	* locale/README: no more macros, but G_message() to be used
+
+2004-11-15 09:25  markus
+
+	* scripts/g.mlist/g.mlist: first test if we are in GRASS
+
+2004-11-15 09:21  radim
+
+	* display/d.vect/main.c: color list removed
+
+2004-11-15 08:40  radim
+
+	* display/d.vect/main.c: color list
+
+2004-11-15 08:12  radim
+
+	* configure, configure.in: GDAL dep-libs
+
+2004-11-14 11:51  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Stephan
+	  Holl: translation cont'd
+
+2004-11-13 12:55  radim
+
+	* vector/v.out.ogr/main.c: WKT -> WKB
+
+2004-11-13 12:29  radim
+
+	* vector/v.transform/creat_trans.c,
+	  vector/v.transform/setup_trans.c, vector/v.transform/trans.h:
+	  noninteractively
+
+2004-11-13 12:06  radim
+
+	* vector/v.surf.idw/Makefile, vector/v.surf.idw/main.c,
+	  vector/v.surf.idw/read_sites.c: sites -> vectors
+
+2004-11-13 11:31  radim
+
+	* vector/v.db.connect/main.c: Vect_open_update_head
+
+2004-11-13 10:59  radim
+
+	* include/Vect.h, lib/vector/Vlib/field.c, vector/v.to.db/main.c,
+	  vector/v.what.rast/main.c: Vect_set_db_updated
+
+2004-11-13 10:22  radim
+
+	* lib/gis/error.c, lib/gis/gui.tcl: info format changed
+
+2004-11-13 08:06  hamish
+
+	* imagery/i.vpoints/mark.c: make lat/lon GCP from keyboard-input
+	  work
+
+2004-11-13 06:28  markus
+
+	* lib/gis/list.c: message cosmetics
+
+2004-11-13 06:26  markus
+
+	* scripts/g.mlist/g.mlist: shortened message to avoid problems with
+	  translated g.list messages
+
+2004-11-13 06:24  markus
+
+	* locale/po/grasslibs_de.po: some more messages translated
+
+2004-11-12 18:32  radim
+
+	* db/drivers/mysql/Makefile: /
+
+2004-11-12 18:14  radim
+
+	* db/drivers/dbf/Makefile, db/drivers/dbf/globals.h,
+	  db/drivers/dbf/main.c, db/drivers/dbf/table.c: shp removed
+
+2004-11-12 17:40  radim
+
+	* lib/gis/percent.c: x
+
+2004-11-12 16:23  markus
+
+	* Makefile, configure, configure.in, general/g.version/Makefile,
+	  general/g.version/main.c, include/Make/Grass.make.in,
+	  include/Make/Platform.make.in, include/Make/Shlib.make,
+	  include/version.h.in, include/winname.h.in, lib/gis/Makefile,
+	  lib/gis/unix_socks.c, lib/init/Makefile, lib/init/gis_set.tcl,
+	  lib/init/grass_intro.txt, lib/init/init.sh, lib/init/license.txt,
+	  lib/init/set_data.c, lib/init/version.sed,
+	  visualization/nviz/src/nviz_init.c: changed VERSION_ ->
+	  GRASS_VERSION_
+
+2004-11-12 16:11  radim
+
+	* lib/vector/Vlib/build_nat.c: G_percent2
+
+2004-11-12 16:10  radim
+
+	* vector/v.what.rast/main.c: G_message
+
+2004-11-12 16:10  radim
+
+	* include/gis.h, include/gisdefs.h, lib/gis/error.c,
+	  lib/gis/gui.tcl, lib/gis/percent.c: message format, G_percent2,
+	  G_message
+
+2004-11-12 13:50  radim
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: by type
+	  only, new=-1 as default
+
+2004-11-12 13:05  markus
+
+	* raster/r.grow2/description.html: micro documentation
+
+2004-11-12 12:40  markus
+
+	* scripts/Makefile: added v.in.e00
+
+2004-11-12 12:40  markus
+
+	* scripts/v.in.e00, scripts/v.in.e00/Makefile,
+	  scripts/v.in.e00/description.html, scripts/v.in.e00/v.in.e00:
+	  contribution from GDF Hannover
+
+2004-11-12 09:53  radim
+
+	* raster/Makefile, raster/r.grow, raster/r.grow2/Makefile:
+	  r.grow->r.grow2
+
+2004-11-11 19:39  glynn
+
+	* display/drivers/lib/Get_t_box.c, display/drivers/lib/Makefile,
+	  display/drivers/lib/Text.c, display/drivers/lib/Text3.c,
+	  display/drivers/lib/driverlib.h: Less invasive FreeType fix
+
+2004-11-11 17:05  cho
+
+	* include/Make/Shlib.make: Removed duplicated includes
+
+2004-11-11 15:50  markus
+
+	* raster/r.univar2/description.html: typo fixed
+
+2004-11-11 15:50  markus
+
+	* vector/v.univar/description.html: doku added
+
+2004-11-11 15:49  markus
+
+	* vector/v.univar/main.c: message cosmetics
+
+2004-11-11 15:45  markus
+
+	* display/drivers/lib/driverlib.h: fix (?) for Freetype support
+
+2004-11-11 10:51  markus
+
+	* display/drivers/lib/Get_t_box.c, display/drivers/lib/Makefile,
+	  display/drivers/lib/Text.c, display/drivers/lib/Text3.c,
+	  display/drivers/lib/driverlib.h: first attempt to conditionalize
+	  Freetype support
+
+2004-11-11 06:09  hamish
+
+	* lib/init/local_proto.h, lib/init/mke_loc.c, lib/init/set_data.c:
+	  update to use G_yes() with default answers
+
+2004-11-11 05:40  cho
+
+	* lib/db/stubs/add_col.c, lib/db/stubs/bindupdate.c,
+	  lib/db/stubs/close_cursor.c: Updated doxygen comments
+
+2004-11-11 05:34  cho
+
+	* display/drivers/XDRIVER/XDRIVER24/Get_w_pnt.c: Added comments
+
+2004-11-11 04:21  cho
+
+	* db/drivers/dbf/dbdriver.h, db/drivers/mk_dbdriver_h.sh,
+	  db/drivers/mysql/dbdriver.h, db/drivers/odbc/dbdriver.h,
+	  db/drivers/ogr/dbdriver.h, db/drivers/postgres/dbdriver.h,
+	  lib/db/dbmi_driver/dbstubs.h, lib/db/dbmi_driver/mk_dbstubs_h.sh:
+	  Added comments
+
+2004-11-11 04:15  cho
+
+	* db/drivers/README, db/drivers/dbf/Makefile,
+	  db/drivers/dbf/cursor.c, db/drivers/dbf/db.c,
+	  db/drivers/dbf/dbdriver.h, db/drivers/dbf/describe.c,
+	  db/drivers/dbf/driver.c, db/drivers/dbf/execute.c,
+	  db/drivers/dbf/fetch.c, db/drivers/dbf/listtab.c,
+	  db/drivers/dbf/main.c, db/drivers/dbf/select.c,
+	  db/drivers/mk_dbdriver_h.sh, db/drivers/mysql/Makefile,
+	  db/drivers/mysql/cursor.c, db/drivers/mysql/db.c,
+	  db/drivers/mysql/dbdriver.h, db/drivers/mysql/describe.c,
+	  db/drivers/mysql/driver.c, db/drivers/mysql/execute.c,
+	  db/drivers/mysql/fetch.c, db/drivers/mysql/listdb.c,
+	  db/drivers/mysql/listtab.c, db/drivers/mysql/main.c,
+	  db/drivers/mysql/select.c, db/drivers/odbc/Makefile,
+	  db/drivers/odbc/cursor.c, db/drivers/odbc/db.c,
+	  db/drivers/odbc/dbdriver.h, db/drivers/odbc/describe.c,
+	  db/drivers/odbc/driver.c, db/drivers/odbc/execute.c,
+	  db/drivers/odbc/fetch.c, db/drivers/odbc/listdb.c,
+	  db/drivers/odbc/listtab.c, db/drivers/odbc/main.c,
+	  db/drivers/odbc/select.c, db/drivers/odbc/table.c,
+	  db/drivers/ogr/Makefile, db/drivers/ogr/cursor.c,
+	  db/drivers/ogr/db.c, db/drivers/ogr/dbdriver.h,
+	  db/drivers/ogr/describe.c, db/drivers/ogr/driver.c,
+	  db/drivers/ogr/fetch.c, db/drivers/ogr/listtab.c,
+	  db/drivers/ogr/main.c, db/drivers/ogr/select.c,
+	  db/drivers/postgres/Makefile, db/drivers/postgres/cursor.c,
+	  db/drivers/postgres/db.c, db/drivers/postgres/dbdriver.h,
+	  db/drivers/postgres/describe.c, db/drivers/postgres/driver.c,
+	  db/drivers/postgres/execute.c, db/drivers/postgres/fetch.c,
+	  db/drivers/postgres/listdb.c, db/drivers/postgres/listtab.c,
+	  db/drivers/postgres/main.c, db/drivers/postgres/select.c,
+	  lib/db/README, lib/db/dbmi_driver/d_add_col.c,
+	  lib/db/dbmi_driver/d_bindupdate.c,
+	  lib/db/dbmi_driver/d_close_cur.c, lib/db/dbmi_driver/d_closedb.c,
+	  lib/db/dbmi_driver/d_create_idx.c,
+	  lib/db/dbmi_driver/d_create_tab.c,
+	  lib/db/dbmi_driver/d_createdb.c, lib/db/dbmi_driver/d_delete.c,
+	  lib/db/dbmi_driver/d_deletedb.c,
+	  lib/db/dbmi_driver/d_desc_table.c,
+	  lib/db/dbmi_driver/d_drop_col.c,
+	  lib/db/dbmi_driver/d_drop_index.c,
+	  lib/db/dbmi_driver/d_drop_tab.c, lib/db/dbmi_driver/d_execute.c,
+	  lib/db/dbmi_driver/d_fetch.c, lib/db/dbmi_driver/d_finddb.c,
+	  lib/db/dbmi_driver/d_insert.c, lib/db/dbmi_driver/d_list_idx.c,
+	  lib/db/dbmi_driver/d_list_tabs.c, lib/db/dbmi_driver/d_listdb.c,
+	  lib/db/dbmi_driver/d_mkdir.c, lib/db/dbmi_driver/d_opendb.c,
+	  lib/db/dbmi_driver/d_openinsert.c,
+	  lib/db/dbmi_driver/d_openselect.c,
+	  lib/db/dbmi_driver/d_openupdate.c, lib/db/dbmi_driver/d_rows.c,
+	  lib/db/dbmi_driver/d_update.c, lib/db/dbmi_driver/dbstubs.h,
+	  lib/db/dbmi_driver/driver.c, lib/db/dbmi_driver/driver_state.c,
+	  lib/db/dbmi_driver/mk_dbstubs_h.sh, lib/db/stubs/add_col.c,
+	  lib/db/stubs/bindupdate.c, lib/db/stubs/close_cursor.c,
+	  lib/db/stubs/closedb.c, lib/db/stubs/create_index.c,
+	  lib/db/stubs/create_table.c, lib/db/stubs/createdb.c,
+	  lib/db/stubs/delete.c, lib/db/stubs/deletedb.c,
+	  lib/db/stubs/desc_table.c, lib/db/stubs/drop_col.c,
+	  lib/db/stubs/drop_index.c, lib/db/stubs/drop_table.c,
+	  lib/db/stubs/execute.c, lib/db/stubs/fetch.c,
+	  lib/db/stubs/finddb.c, lib/db/stubs/finish.c,
+	  lib/db/stubs/init.c, lib/db/stubs/insert.c,
+	  lib/db/stubs/list_index.c, lib/db/stubs/list_tables.c,
+	  lib/db/stubs/listdb.c, lib/db/stubs/open_insert.c,
+	  lib/db/stubs/open_select.c, lib/db/stubs/open_update.c,
+	  lib/db/stubs/opendb.c, lib/db/stubs/rows.c,
+	  lib/db/stubs/transaction.c, lib/db/stubs/update.c: Changed the
+	  way to call db stub functions.
+	  Now, each db driver saves pointers to its own functions to call
+	  later
+	  in libgrass_dbmidriver library.
+
+2004-11-11 04:05  cho
+
+	* scripts/db.test/db.test, scripts/db.test/test1: Changed "read -r"
+	  to "read". read -r is specific to bash.
+	  Fixed test1.
+
+2004-11-11 00:09  michael
+
+	* display/d.m/menu.tcl: Updated entry for v.in.ascii and deleted
+	  entry for v.in.asciipoints
+	  because reecne update to v.in.ascii module made the script
+	  obsolete.
+
+2004-11-10 22:44  cho
+
+	* lib/db/stubs/closedb.c, lib/db/stubs/create_index.c,
+	  lib/db/stubs/create_table.c, lib/db/stubs/createdb.c,
+	  lib/db/stubs/delete.c, lib/db/stubs/deletedb.c,
+	  lib/db/stubs/desc_table.c, lib/db/stubs/drop_col.c,
+	  lib/db/stubs/drop_index.c, lib/db/stubs/drop_table.c,
+	  lib/db/stubs/execute.c, lib/db/stubs/fetch.c,
+	  lib/db/stubs/finddb.c, lib/db/stubs/finish.c,
+	  lib/db/stubs/init.c, lib/db/stubs/insert.c,
+	  lib/db/stubs/list_index.c, lib/db/stubs/list_tables.c,
+	  lib/db/stubs/listdb.c, lib/db/stubs/open_insert.c,
+	  lib/db/stubs/open_select.c, lib/db/stubs/open_update.c,
+	  lib/db/stubs/opendb.c, lib/db/stubs/rows.c,
+	  lib/db/stubs/transaction.c, lib/db/stubs/update.c: Changed the
+	  (obsolete) nonprototyped style to the prototyped style
+
+2004-11-10 22:39  cho
+
+	* include/Make/Shlib.make: Changed .so to SHLIB_SUFFIX
+
+2004-11-10 18:12  markus
+
+	* Makefile: also generate libgis docs
+
+2004-11-10 18:10  markus
+
+	* lib/gis/Doxyfile_arch_html, lib/gis/Doxyfile_arch_latex,
+	  lib/gis/Makefile: added doxygen support (still not catching
+	  gisrasterlib.dox as first pages)
+
+2004-11-10 17:51  markus
+
+	* visualization/nviz/src/nviz_init.c: Glynn Clements: make NVIZ GUI
+	  call functional
+
+2004-11-10 10:10  markus
+
+	* visualization/nviz/scripts/config.tcl: added missing file from
+	  5.3
+
+2004-11-09 23:19  hamish
+
+	* lib/ogsf/gvl.c: add missing includes
+
+2004-11-09 23:08  hamish
+
+	* lib/ogsf/gv.c: add missing includes
+
+2004-11-09 23:02  hamish
+
+	* lib/ogsf/GV2.c: add missing includes
+
+2004-11-09 17:29  markus
+
+	* tools/cpbin, tools/cpbin.conf, tools/link, tools/link.conf: no
+	  longer needed
+
+2004-11-09 17:27  markus
+
+	* rpm/mandrake/grass.spec: no more 'make mix'
+
+2004-11-09 17:27  markus
+
+	* Makefile: also remove config.status.
+
+2004-11-09 17:16  markus
+
+	* INSTALL: GRASS 5.3-CVS no longer required to compile 5.7
+
+2004-11-09 16:36  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Makefile: unconditionalized
+	  Draw_point.o
+
+2004-11-09 16:30  markus
+
+	* Makefile, configure, configure.in, include/Make/Platform.make.in:
+	  'make mix' stuff removed, no longer needed
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/xganim/main.c
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/gui.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/xganim/gui.h
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/gui.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/xganim/gui.c
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/Clr_table.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/xganim/Clr_table.c
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/swing.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/swing.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/stop.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/stop.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/stepf.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/stepf.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/stepb.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/stepb.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/snail.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/snail.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/rplay.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/rplay.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/rewind.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/rewind.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/rabbit.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/rabbit.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/play.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/play.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/loop.xbm: copied within CVS
+	  repository from grass/src.contrib/GMSL/xganim/bitmaps/loop.xbm
+
+2004-11-09 14:23  bernhard
+
+	* visualization/xganim/bitmaps/ff.xbm: copied within CVS repository
+	  from grass/src.contrib/GMSL/xganim/bitmaps/ff.xbm
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/viz.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/viz.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/vect.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/vect.c
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/TOGL_LICENSE: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/TOGL_LICENSE
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/togl.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/togl.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/togl_cb.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/togl_cb.c
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/togl.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/togl.c
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/TODO: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/TODO
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tmp: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/tmp
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkWinPort.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkWinPort.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkWinInt.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkWinInt.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkWin.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/tkWin.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkUnixPort.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkUnixPort.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkPort.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkPort.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkInt.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/tkInt.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkIntDecls8.4.h: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/tkIntDecls8.4.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkIntDecls8.3.h: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/tkIntDecls8.3.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkIntDecls8.3.3.h: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/tkIntDecls8.3.3.h
+
+2004-11-09 14:22  bernhard
+
+	* visualization/nviz/src/tkIntDecls8.2.3.h: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/tkIntDecls8.2.3.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkIntDecls8.1.1.h: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/tkIntDecls8.1.1.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt8.4.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt8.4.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt8.3.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt8.3.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt8.3.3.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt8.3.3.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt8.2.3.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt8.2.3.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt8.1.1.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt8.1.1.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt8.0.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt8.0.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt8.0.2.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt8.0.2.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt4.2.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt4.2.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt4.1.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt4.1.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkInt4.0.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkInt4.0.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tkFont.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tkFont.h
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/tclcommands: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/tclcommands
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/script_support.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/script_support.c
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/runPg.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/runPg.c
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/README: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/README
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/query_postgr.c: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/src/query_postgr.c
+
+2004-11-09 14:21  bernhard
+
+	* visualization/nviz/src/pg.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/pg.h
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/openvect.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/openvect.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/nvizMain.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/nvizMain.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/nvizAppInit.c: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/src/nvizAppInit.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/mkdspf_main.c: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/src/mkdspf_main.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/mkdspf_iso_surface.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/mkdspf_iso_surface.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/mkdspf_init_file.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/mkdspf_init_file.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/mkdspf_fill_cfax.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/mkdspf_fill_cfax.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/mkdspf_calc_linefax.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/mkdspf_calc_linefax.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/misc.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/misc.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/lights.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/lights.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/label.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/label.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/ks_names.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/ks_names.h
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/interface_old.h: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/interface_old.h
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/glwrappers.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/glwrappers.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/getCat.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/getCat.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/exag.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/src/exag.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/do_zoom.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/do_zoom.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/cutplane_obj.c: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/src/cutplane_obj.c
+
+2004-11-09 14:20  bernhard
+
+	* visualization/nviz/src/coldefs.h: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/coldefs.h
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/src/change_view.c: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/src/change_view.c
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/src/ChangeLog: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/ChangeLog
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/src/buildPg.c: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/src/buildPg.c
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/wirecolorPopup.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/wirecolorPopup.tcl
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/unique.tcl: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/scripts/unique.tcl
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/test.state: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/scripts/test.state
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/test.script: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/test.script
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/test.fields: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/test.fields
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/structlib.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/structlib.tcl
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/send_support.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/send_support.tcl
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/script_tools: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/script_tools
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/script_support.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/script_support.tcl
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/script_play: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/script_play
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/script_get_line: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/script_get_line
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/script_file_tools: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/script_file_tools
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/queue.tcl: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/scripts/queue.tcl
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/panel_tst.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_tst.tcl
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/panel_surf.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_surf.tcl
+
+2004-11-09 14:19  bernhard
+
+	* visualization/nviz/scripts/panel_site.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_site.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_sdiff.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_sdiff.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_scale.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_scale.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_query_pg.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_query_pg.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_query_orig.tcl: copied within
+	  CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_query_orig.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_pos.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_pos.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_mkdspf.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_mkdspf.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_lights.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_lights.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_label.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_label.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_cutplane.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_cutplane.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/panel_color.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/panel_color.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/nviz_init.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/nviz_init.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/nviz2.2: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/scripts/nviz2.2
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/nviz: copied within CVS repository
+	  from grass/src.contrib/GMSL/NVIZ2.2/scripts/nviz
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/fileBrowser.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/fileBrowser.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/extra_bindings.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/extra_bindings.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/cutplane_channels.tcl: copied within
+	  CVS repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/cutplane_channels.tcl
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/cross.listing: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/cross.listing
+
+2004-11-09 14:18  bernhard
+
+	* visualization/nviz/scripts/colorPopup.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/colorPopup.tcl
+
+2004-11-09 14:17  bernhard
+
+	* visualization/nviz/scripts/ChangeLog: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/scripts/ChangeLog
+
+2004-11-09 14:17  bernhard
+
+	* visualization/nviz/scripts/attPopup.tcl: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/NVIZ2.2/scripts/attPopup.tcl
+
+2004-11-09 14:17  bernhard
+
+	* visualization/nviz/scripts/assoc.tcl: copied within CVS
+	  repository from grass/src.contrib/GMSL/NVIZ2.2/scripts/assoc.tcl
+
+2004-11-09 14:17  bernhard
+
+	* scripts/g.mlist/README: copied within CVS repository from
+	  grass/src/scripts/contrib/g.mlist/README
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spread/spread.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/spread.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spread/spot.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/spot.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spread/select_linksB.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/select_linksB.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spread/replaceHa.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/replaceHa.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spread/ram2out.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/ram2out.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spread/prob_invsqr/prob_invsqr.c: copied within
+	  CVS repository from
+	  grass/src/raster/wildfire/src/r.spread/prob_invsqr/prob_invsqr.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spread/pick_ignite.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/pick_ignite.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spread/pick_dist.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/pick_dist.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spreadpath/stash.h: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spreadpath/stash.h
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spreadpath/point.h: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spreadpath/point.h
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spreadpath/path_finder.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spreadpath/path_finder.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spreadpath/main.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spreadpath/main.c
+
+2004-11-09 14:17  bernhard
+
+	* raster/wildfire/r.spreadpath/insert.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spreadpath/insert.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spreadpath/drawline.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spreadpath/drawline.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/main.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/main.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/local_proto.h: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/local_proto.h
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/insertHa.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/insertHa.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/insert2Ha.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/insert2Ha.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/get_minHa.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/get_minHa.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/fixHa.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/fixHa.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/display.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/display.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/deleteHa.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/deleteHa.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/costHa.h: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/costHa.h
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/collect_ori.c: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/collect_ori.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/cmd_line.h: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.spread/cmd_line.h
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.spread/cell_ptrHa.h: copied within CVS
+	  repository from
+	  grass/src/raster/wildfire/src/r.spread/cell_ptrHa.h
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.ros/spot_dist.c: copied within CVS repository
+	  from grass/src/raster/wildfire/src/r.ros/spot_dist.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/wildfire/r.ros/main.c: copied within CVS repository from
+	  grass/src/raster/wildfire/src/r.ros/main.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/r.surf.idw2/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.surf.idw2/cmd/local_proto.h
+
+2004-11-09 14:16  bernhard
+
+	* raster/r.rescale.eq/TODO: copied within CVS repository from
+	  grass/src/raster/r.rescale.eq/cmd/TODO
+
+2004-11-09 14:16  bernhard
+
+	* raster/r.rescale.eq/main.c: copied within CVS repository from
+	  grass/src/raster/r.rescale.eq/cmd/main.c
+
+2004-11-09 14:16  bernhard
+
+	* raster/r.rescale.eq/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.rescale.eq/cmd/local_proto.h
+
+2004-11-09 14:16  bernhard
+
+	* raster/r.rescale.eq/get_stats.c: copied within CVS repository
+	  from grass/src/raster/r.rescale.eq/cmd/get_stats.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.rescale.eq/get_range.c: copied within CVS repository
+	  from grass/src/raster/r.rescale.eq/cmd/get_range.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.patch/support.c: copied within CVS repository from
+	  grass/src/raster/r.patch/cmd/support.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.patch/nfiles.h: copied within CVS repository from
+	  grass/src/raster/r.patch/cmd/nfiles.h
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.patch/main.c: copied within CVS repository from
+	  grass/src/raster/r.patch/cmd/main.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.patch/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.patch/cmd/local_proto.h
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.patch/do_patch.c: copied within CVS repository from
+	  grass/src/raster/r.patch/cmd/do_patch.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.out.mpeg/write.c: copied within CVS repository from
+	  grass/src/raster/r.out.mpeg/write.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.out.mpeg/rom_proto.h: copied within CVS repository from
+	  grass/src/raster/r.out.mpeg/rom_proto.h
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.out.mpeg/README: copied within CVS repository from
+	  grass/src/raster/r.out.mpeg/README
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.out.mpeg/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.mpeg/main.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/uppercase.c: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/uppercase.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/TODO: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/TODO
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/perform.c: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/perform.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/main.c: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/main.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/local_proto.h
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/glob.h: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/glob.h
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/getrow.c: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/getrow.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/getfilt.c: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/getfilt.c
+
+2004-11-09 14:15  bernhard
+
+	* raster/r.mfilter/filter.h: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/filter.h
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.mfilter/filter.ave: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/filter.ave
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.mfilter/filter: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/filter
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.mfilter/execute.c: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/execute.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.mfilter/apply.c: copied within CVS repository from
+	  grass/src/raster/r.mfilter/cmd/apply.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.drain/tinf.h: copied within CVS repository from
+	  grass/src/raster/r.drain/tinf.h
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.drain/tinf.c: copied within CVS repository from
+	  grass/src/raster/r.drain/tinf.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.drain/resolve.c: copied within CVS repository from
+	  grass/src/raster/r.drain/resolve.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.drain/README: copied within CVS repository from
+	  grass/src/raster/r.drain/README
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.drain/main.c: copied within CVS repository from
+	  grass/src/raster/r.drain/main.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.drain/local.h: copied within CVS repository from
+	  grass/src/raster/r.drain/local.h
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.drain/filldir.c: copied within CVS repository from
+	  grass/src/raster/r.drain/filldir.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.distance/report.c: copied within CVS repository from
+	  grass/src.contrib/CERL/raster/r.distance/report.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.distance/parse.c: copied within CVS repository from
+	  grass/src.contrib/CERL/raster/r.distance/parse.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.distance/mapgrapher: copied within CVS repository from
+	  grass/src.contrib/CERL/raster/r.distance/mapgrapher
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.distance/main.c: copied within CVS repository from
+	  grass/src.contrib/CERL/raster/r.distance/main.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.distance/labels.c: copied within CVS repository from
+	  grass/src.contrib/CERL/raster/r.distance/labels.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.distance/edges.c: copied within CVS repository from
+	  grass/src.contrib/CERL/raster/r.distance/edges.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.distance/distance.c: copied within CVS repository from
+	  grass/src.contrib/CERL/raster/r.distance/distance.c
+
+2004-11-09 14:14  bernhard
+
+	* raster/r.distance/defs.h: copied within CVS repository from
+	  grass/src.contrib/CERL/raster/r.distance/defs.h
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/totals.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/totals.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/prnt_entry.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/prnt_entry.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/print_hdr.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/print_hdr.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/print_coin.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/print_coin.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/make_coin.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/make_coin.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/main.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/main.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/local_proto.h
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/inter.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/inter.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/format.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/format.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/coin.h: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/coin.h
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/cmd_parms.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/cmd_parms.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.coin/check.c: copied within CVS repository from
+	  grass/src/raster/r.coin/cmd/check.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.buffer/write_map.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/write_map.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.buffer/support.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/support.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.buffer/read_map.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/read_map.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.buffer/process_row.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/process_row.c
+
+2004-11-09 14:13  bernhard
+
+	* raster/r.buffer/process_rite.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/process_rite.c
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/process_left.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/process_left.c
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/process_at.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/process_at.c
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/parse_dist.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/parse_dist.c
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/main.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/main.c
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/local_proto.h
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/init.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/init.c
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/find_dist.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/find_dist.c
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/execute.c: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/execute.c
+
+2004-11-09 14:12  bernhard
+
+	* raster/r.buffer/distance.h: copied within CVS repository from
+	  grass/src/raster/r.buffer/cmd/distance.h
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.timestamp/README: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.timestamp/README
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.timestamp/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.timestamp/main.c
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.showdspf/vizual.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/vizual.h
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.showdspf/vizual2.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/vizual2.h
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.showdspf/Viz.h.bak: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/Viz.h.bak
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.showdspf/togif.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/togif.h
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.showdspf/togif.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/togif.c
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.showdspf/TODO: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/TODO
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.showdspf/thresh_array.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/thresh_array.c
+
+2004-11-09 14:12  bernhard
+
+	* raster3d/r3.showdspf/showdspf.gif: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/showdspf.gif
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/README: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/README
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/r3.showdspf_opengl_mods.html: copied within
+	  CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/r3.showdspf_opengl_mods.html
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/r3_find.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/r3_find.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/r3_data.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/r3_data.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/new_init_graphics.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/new_init_graphics.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/make_header.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/make_header.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/main_ogl.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/main_ogl.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/kns_globals.h: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/kns_globals.h
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/kns_defines.h: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/kns_defines.h
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/init_caps.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/init_caps.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/get_color_ogl.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/get_color_ogl.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/draw_polys_ogl.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/draw_polys_ogl.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/draw_cappolys_ogl.c: copied within CVS
+	  repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/draw_cappolys_ogl.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/draw_cap_ogl.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/draw_cap_ogl.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/do_color_ogl.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/do_color_ogl.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/cell_table.h: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/cell_table.h
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/cap_data.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/cap_data.c
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/BallMath.h: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/BallMath.h
+
+2004-11-09 14:11  bernhard
+
+	* raster3d/r3.showdspf/BallMath.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/BallMath.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.showdspf/Ball.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/Ball.h
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.showdspf/Ball.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/Ball.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.showdspf/BallAux.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/BallAux.h
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.showdspf/BallAux.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/BallAux.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.out.v5d/vis5d.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.out.v5d/vis5d.h
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.out.v5d/v5d.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.out.v5d/v5d.h
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.out.v5d/v5d.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.out.v5d/v5d.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.out.v5d/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.out.v5d/main.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.out.v5d/BUG: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.out.v5d/BUG
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.out.v5d/binio.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.out.v5d/binio.h
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.out.v5d/binio.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.out.v5d/binio.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.out.ascii/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.out.ascii/main.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.null/null_main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mask/null_main.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.mask/mask.c, raster3d/r3.null/mask.c: copied within
+	  CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mask/mask.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.mkdspf/vizual.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf/vizual.h
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.mkdspf/r3_find.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf/r3_find.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.mkdspf/r3_data.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf/r3_data.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.mkdspf/make_header.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf/make_header.c
+
+2004-11-09 14:10  bernhard
+
+	* raster3d/r3.mkdspf/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf/main.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.mkdspf/iso_surface.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf/iso_surface.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.mkdspf/fill_cfax.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf/fill_cfax.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.mkdspf/calc_linefax.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf/calc_linefax.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.mask/mask_main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.mask/mask_main.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.in.v5d/vis5d.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.in.v5d/vis5d.h
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.in.v5d/v5d.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.in.v5d/v5d.h
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.in.v5d/v5d.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.in.v5d/v5d.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.in.v5d/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.in.v5d/main.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.in.v5d/binio.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.in.v5d/binio.h
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.in.v5d/binio.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.in.v5d/binio.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.info/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.info/cmd/main.c
+
+2004-11-09 14:09  bernhard
+
+	* raster3d/r3.in.ascii/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/raster/r3.in.ascii/main.c
+
+2004-11-09 14:09  bernhard
+
+	* general/g.version/sed.script: copied within CVS repository from
+	  grass/src/general/g.version/sed.script
+
+2004-11-09 14:09  bernhard
+
+	* general/g.version/main.c: copied within CVS repository from
+	  grass/src/general/g.version/main.c
+
+2004-11-09 14:09  bernhard
+
+	* general/g.tempfile/main.c: copied within CVS repository from
+	  grass/src/general/g.tempfile/main.c
+
+2004-11-09 14:09  bernhard
+
+	* general/g.setproj/README: copied within CVS repository from
+	  grass/src/general/g.setproj/README
+
+2004-11-09 14:09  bernhard
+
+	* general/g.setproj/main.c: copied within CVS repository from
+	  grass/src/general/g.setproj/main.c
+
+2004-11-09 14:09  bernhard
+
+	* general/g.setproj/local_proto.h: copied within CVS repository
+	  from grass/src/general/g.setproj/local_proto.h
+
+2004-11-09 14:08  bernhard
+
+	* general/g.setproj/get_stp.c: copied within CVS repository from
+	  grass/src/general/g.setproj/get_stp.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.setproj/get_num.c: copied within CVS repository from
+	  grass/src/general/g.setproj/get_num.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.setproj/get_deg.c: copied within CVS repository from
+	  grass/src/general/g.setproj/get_deg.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.setproj/get_datum.c: copied within CVS repository from
+	  grass/src/general/g.setproj/get_datum.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.region/cmd/zoom.c: copied within CVS repository from
+	  grass/src/general/g.region/cmd/zoom.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.region/cmd/printwindow.c: copied within CVS repository
+	  from grass/src/general/g.region/cmd/printwindow.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.region/cmd/local_proto.h: copied within CVS repository
+	  from grass/src/general/g.region/cmd/local_proto.h
+
+2004-11-09 14:08  bernhard
+
+	* general/g.region/cmd/adjust.c: copied within CVS repository from
+	  grass/src/general/g.region/cmd/adjust.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.parser/main.c: copied within CVS repository from
+	  grass/src/general/g.parser/main.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.mapsets/set_path.c: copied within CVS repository from
+	  grass/src/general/g.mapsets/set_path.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.mapsets/scan_int.c: copied within CVS repository from
+	  grass/src/general/g.mapsets/scan_int.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.mapsets/main_inter.c: copied within CVS repository from
+	  grass/src/general/g.mapsets/main_inter.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.mapsets/local_proto.h: copied within CVS repository
+	  from grass/src/general/g.mapsets/local_proto.h
+
+2004-11-09 14:08  bernhard
+
+	* general/g.mapsets/get_path.c: copied within CVS repository from
+	  grass/src/general/g.mapsets/get_path.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.mapsets/externs.h: copied within CVS repository from
+	  grass/src/general/g.mapsets/externs.h
+
+2004-11-09 14:08  bernhard
+
+	* general/g.mapsets/dsply_path.c: copied within CVS repository from
+	  grass/src/general/g.mapsets/dsply_path.c
+
+2004-11-09 14:08  bernhard
+
+	* general/g.mapsets/dsply_maps.c: copied within CVS repository from
+	  grass/src/general/g.mapsets/dsply_maps.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.findfile/main.c: copied within CVS repository from
+	  grass/src/general/g.findfile/cmd/main.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.filename/main.c: copied within CVS repository from
+	  grass/src/general/g.filename/cmd/main.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.ask/main.c: copied within CVS repository from
+	  grass/src/general/g.ask/cmd/main.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.access/verify_perms.c: copied within CVS repository
+	  from grass/src/general/g.access/inter/verify_perms.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.access/set_perms.c: copied within CVS repository from
+	  grass/src/general/g.access/inter/set_perms.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.access/main.c: copied within CVS repository from
+	  grass/src/general/g.access/inter/main.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.access/local_proto.h: copied within CVS repository from
+	  grass/src/general/g.access/inter/local_proto.h
+
+2004-11-09 14:07  bernhard
+
+	* general/g.access/get_perms.c: copied within CVS repository from
+	  grass/src/general/g.access/inter/get_perms.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.access/exp_perms.c: copied within CVS repository from
+	  grass/src/general/g.access/inter/exp_perms.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.access/ask_perms.c: copied within CVS repository from
+	  grass/src/general/g.access/inter/ask_perms.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g.access/access.h: copied within CVS repository from
+	  grass/src/general/g.access/inter/access.h
+
+2004-11-09 14:07  bernhard
+
+	* general/g3.region/yes.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/yes.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g3.region/set.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/set.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g3.region/new_db.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/new_db.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g3.region/modify_db.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/modify_db.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g3.region/modify_cur.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/modify_cur.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g3.region/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/main.c
+
+2004-11-09 14:07  bernhard
+
+	* general/g3.region/local_proto.h: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/local_proto.h
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/lister.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/lister.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/glob.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/glob.h
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/from_view.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/from_view.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/from_cell.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/from_cell.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/from_3dcell.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/from_3dcell.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/editcellhd3d.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/editcellhd3d.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/edit.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/edit.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/cur_to_db.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/cur_to_db.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/cur_frm_df.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/cur_frm_df.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/cur_frm_db.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/cur_frm_db.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/cur_frm_3ddf.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/cur_frm_3ddf.c
+
+2004-11-09 14:06  bernhard
+
+	* general/g3.region/cur_frm_3ddb.c: copied within CVS repository
+	  from
+	  grass/src.contrib/GMSL/g3d/src3d/general/g3.region/cur_frm_3ddb.c
+
+2004-11-09 14:06  bernhard
+
+	* db/drivers/odbc/TODO: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/TODO
+
+2004-11-09 14:06  bernhard
+
+	* db/drivers/odbc/table.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/table.c
+
+2004-11-09 14:06  bernhard
+
+	* db/drivers/odbc/proto.h: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/proto.h
+
+2004-11-09 14:06  bernhard
+
+	* db/drivers/odbc/odbc.h: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/odbc.h
+
+2004-11-09 14:06  bernhard
+
+	* db/drivers/odbc/main.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/main.c
+
+2004-11-09 14:06  bernhard
+
+	* db/drivers/odbc/listtab.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/listtab.c
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/listdb.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/listdb.c
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/INSTALL: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/INSTALL
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/execute.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/execute.c
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/error.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/error.c
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/driver.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/driver.c
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/describe.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/describe.c
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/db.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/db.c
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/cursor.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/cursor.c
+
+2004-11-09 14:05  bernhard
+
+	* db/drivers/odbc/connect.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/odbc/connect.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.what/usage.c: copied within CVS repository from
+	  grass/src/raster/r.what/cmd/usage.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.what/main.c: copied within CVS repository from
+	  grass/src/raster/r.what/cmd/main.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.what/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.what/cmd/local_proto.h
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.what/die.c: copied within CVS repository from
+	  grass/src/raster/r.what/cmd/die.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.watershed/seg/sseg_open.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/sseg_open.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.watershed/seg/split_str.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/split_str.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.watershed/seg/no_stream.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/no_stream.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.watershed/seg/haf_side.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/haf_side.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.watershed/seg/dseg_put.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/dseg_put.c
+
+2004-11-09 14:05  bernhard
+
+	* raster/r.watershed/seg/cseg_read.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/cseg_read.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.watershed/seg/cseg_put.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/cseg_put.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.watershed/seg/cseg_close.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/cseg_close.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.watershed/seg/bseg_write.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/bseg_write.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.watershed/seg/bseg_read.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/bseg_read.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.watershed/seg/bseg_close.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/bseg_close.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/TODO: copied within CVS repository from
+	  grass/src/raster/r.water.outlet/TODO
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/ramseg.h: copied within CVS repository from
+	  grass/src/raster/r.water.outlet/ramseg.h
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/ramseg.c: copied within CVS repository from
+	  grass/src/raster/r.water.outlet/ramseg.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/over_cells.c: copied within CVS repository
+	  from grass/src/raster/r.water.outlet/over_cells.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/outletP.h: copied within CVS repository
+	  from grass/src/raster/r.water.outlet/outletP.h
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/main.c: copied within CVS repository from
+	  grass/src/raster/r.water.outlet/main.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/legal.c: copied within CVS repository from
+	  grass/src/raster/r.water.outlet/legal.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/flag_unset.c: copied within CVS repository
+	  from grass/src/raster/r.water.outlet/flag_unset.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/flag_set.c: copied within CVS repository
+	  from grass/src/raster/r.water.outlet/flag_set.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/flag.h: copied within CVS repository from
+	  grass/src/raster/r.water.outlet/flag.h
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/flag_get.c: copied within CVS repository
+	  from grass/src/raster/r.water.outlet/flag_get.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/flag_destroy.c: copied within CVS
+	  repository from grass/src/raster/r.water.outlet/flag_destroy.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/flag_create.c: copied within CVS repository
+	  from grass/src/raster/r.water.outlet/flag_create.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/flag_clr_all.c: copied within CVS
+	  repository from grass/src/raster/r.water.outlet/flag_clr_all.c
+
+2004-11-09 14:04  bernhard
+
+	* raster/r.water.outlet/basin.h: copied within CVS repository from
+	  grass/src/raster/r.water.outlet/basin.h
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.transect/parse_line.c: copied within CVS repository from
+	  grass/src/raster/r.transect/cmd/parse_line.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.transect/main.c: copied within CVS repository from
+	  grass/src/raster/r.transect/cmd/main.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.transect/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.transect/cmd/local_proto.h
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/topmodel.c: copied within CVS repository from
+	  grass/src/raster/r.topmodel/topmodel.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/REFERENCE: copied within CVS repository from
+	  grass/src/raster/r.topmodel/REFERENCE
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/README: copied within CVS repository from
+	  grass/src/raster/r.topmodel/README
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/misc.c: copied within CVS repository from
+	  grass/src/raster/r.topmodel/misc.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/main.c: copied within CVS repository from
+	  grass/src/raster/r.topmodel/main.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.topmodel/local_proto.h
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/infiltration.c: copied within CVS repository
+	  from grass/src/raster/r.topmodel/infiltration.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/file_io.c: copied within CVS repository from
+	  grass/src/raster/r.topmodel/file_io.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topmodel/check_ready.c: copied within CVS repository
+	  from grass/src/raster/r.topmodel/check_ready.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topidx/topidx.c: copied within CVS repository from
+	  grass/src/raster/r.topidx/topidx.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topidx/README: copied within CVS repository from
+	  grass/src/raster/r.topidx/README
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topidx/r.avgstats: copied within CVS repository from
+	  grass/src/raster/r.topidx/r.avgstats
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topidx/main.c: copied within CVS repository from
+	  grass/src/raster/r.topidx/main.c
+
+2004-11-09 14:03  bernhard
+
+	* raster/r.topidx/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.topidx/local_proto.h
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.topidx/file_io.c: copied within CVS repository from
+	  grass/src/raster/r.topidx/file_io.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.topidx/check_ready.c: copied within CVS repository from
+	  grass/src/raster/r.topidx/check_ready.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.topidx/adjcellhd.c: copied within CVS repository from
+	  grass/src/raster/r.topidx/adjcellhd.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.timestamp/main.c: copied within CVS repository from
+	  grass/src/raster/r.timestamp/main.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.thin/thin_lines.c: copied within CVS repository from
+	  grass/src/raster/r.thin/cmd/thin_lines.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.thin/main.c: copied within CVS repository from
+	  grass/src/raster/r.thin/cmd/main.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.thin/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.thin/cmd/local_proto.h
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.thin/io.c: copied within CVS repository from
+	  grass/src/raster/r.thin/cmd/io.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.texture/main.c: copied within CVS repository from
+	  grass/src/raster/r.texture/main.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.texture/h_measure.h: copied within CVS repository from
+	  grass/src/raster/r.texture/h_measure.h
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.texture/h_measure.c: copied within CVS repository from
+	  grass/src/raster/r.texture/h_measure.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.surf.random/SOURCE.TXT: copied within CVS repository
+	  from grass/src/raster/r.surf.random/SOURCE.TXT
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.surf.random/README: copied within CVS repository from
+	  grass/src/raster/r.surf.random/README
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.surf.random/randsurf.c: copied within CVS repository
+	  from grass/src/raster/r.surf.random/randsurf.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.surf.random/main.c: copied within CVS repository from
+	  grass/src/raster/r.surf.random/main.c
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.surf.random/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.surf.random/local_proto.h
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.surf.idw/pi.h: copied within CVS repository from
+	  grass/src/raster/r.surf.idw/cmd/pi.h
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.surf.idw/main.h: copied within CVS repository from
+	  grass/src/raster/r.surf.idw/cmd/main.h
+
+2004-11-09 14:02  bernhard
+
+	* raster/r.surf.idw/main.c: copied within CVS repository from
+	  grass/src/raster/r.surf.idw/cmd/main.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.idw/ll.c: copied within CVS repository from
+	  grass/src/raster/r.surf.idw/cmd/ll.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.idw/dist.c: copied within CVS repository from
+	  grass/src/raster/r.surf.idw/cmd/dist.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.idw2/read_sites.c: copied within CVS repository
+	  from grass/src/raster/r.surf.idw2/cmd/read_sites.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.idw2/read_cell.c: copied within CVS repository from
+	  grass/src/raster/r.surf.idw2/cmd/read_cell.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.idw2/main.c: copied within CVS repository from
+	  grass/src/raster/r.surf.idw2/cmd/main.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.gauss/source.txt: copied within CVS repository from
+	  grass/src/raster/r.surf.gauss/source.txt
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.gauss/README: copied within CVS repository from
+	  grass/src/raster/r.surf.gauss/README
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.gauss/main.c: copied within CVS repository from
+	  grass/src/raster/r.surf.gauss/main.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.gauss/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.surf.gauss/local_proto.h
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.gauss/gaussurf.c: copied within CVS repository from
+	  grass/src/raster/r.surf.gauss/gaussurf.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/write_rast.c: copied within CVS repository
+	  from grass/src/raster/r.surf.fractal/write_rast.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/spec_syn.c: copied within CVS repository
+	  from grass/src/raster/r.surf.fractal/spec_syn.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/README: copied within CVS repository from
+	  grass/src/raster/r.surf.fractal/README
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/process.c: copied within CVS repository
+	  from grass/src/raster/r.surf.fractal/process.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/open_files.c: copied within CVS repository
+	  from grass/src/raster/r.surf.fractal/open_files.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/max_pow.c: copied within CVS repository
+	  from grass/src/raster/r.surf.fractal/max_pow.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/main.c: copied within CVS repository from
+	  grass/src/raster/r.surf.fractal/main.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/interface.c: copied within CVS repository
+	  from grass/src/raster/r.surf.fractal/interface.c
+
+2004-11-09 14:01  bernhard
+
+	* raster/r.surf.fractal/frac.h: copied within CVS repository from
+	  grass/src/raster/r.surf.fractal/frac.h
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.fractal/close_down.c: copied within CVS repository
+	  from grass/src/raster/r.surf.fractal/close_down.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/main.c: copied within CVS repository from
+	  grass/src/raster/r.surf.contour/cmd/main.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/flag_unset.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/flag_unset.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/flag_set.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/flag_set.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/flag.h: copied within CVS repository from
+	  grass/src/raster/r.surf.contour/cmd/flag.h
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/flag_get.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/flag_get.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/flag_destroy.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.surf.contour/cmd/flag_destroy.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/flag_create.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/flag_create.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/flag_clr_all.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.surf.contour/cmd/flag_clr_all.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/find_con.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/find_con.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/cseg_write.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/cseg_write.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/cseg_read.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/cseg_read.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/cseg_put.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/cseg_put.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/cseg_open.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/cseg_open.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/cseg.h: copied within CVS repository from
+	  grass/src/raster/r.surf.contour/cmd/cseg.h
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/cseg_get.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/cseg_get.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/cseg_close.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/cseg_close.c
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/contour.h: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/contour.h
+
+2004-11-09 14:00  bernhard
+
+	* raster/r.surf.contour/bseg_write.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/bseg_write.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.surf.contour/bseg_read.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/bseg_read.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.surf.contour/bseg_put.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/bseg_put.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.surf.contour/bseg_open.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/bseg_open.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.surf.contour/bseg_get.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/bseg_get.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.surf.contour/bseg_close.c: copied within CVS repository
+	  from grass/src/raster/r.surf.contour/cmd/bseg_close.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.surf.contour/addpts.c: copied within CVS repository from
+	  grass/src/raster/r.surf.contour/cmd/addpts.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.surf.contour/add_in.c: copied within CVS repository from
+	  grass/src/raster/r.surf.contour/cmd/add_in.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.surf.area/main.c: copied within CVS repository from
+	  grass/src/raster/r.surf.area/main.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sun/TODO: copied within CVS repository from
+	  grass/src/raster/r.sun/TODO
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sunmask/TODO: copied within CVS repository from
+	  grass/src/raster/r.sunmask/TODO
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sunmask/solpos00.h: copied within CVS repository from
+	  grass/src/raster/r.sunmask/solpos00.h
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sunmask/solpos00.c: copied within CVS repository from
+	  grass/src/raster/r.sunmask/solpos00.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sunmask/README: copied within CVS repository from
+	  grass/src/raster/r.sunmask/README
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sunmask/main.c: copied within CVS repository from
+	  grass/src/raster/r.sunmask/main.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sunmask/g_solposition.c: copied within CVS repository
+	  from grass/src/raster/r.sunmask/g_solposition.c
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sunmask/global.h: copied within CVS repository from
+	  grass/src/raster/r.sunmask/global.h
+
+2004-11-09 13:59  bernhard
+
+	* raster/r.sun/main.c: copied within CVS repository from
+	  grass/src/raster/r.sun/main.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.sun/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.sun/local_proto.h
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.stats/stats.c: copied within CVS repository from
+	  grass/src/raster/r.stats/cmd/stats.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.stats/raw_stats.c: copied within CVS repository from
+	  grass/src/raster/r.stats/cmd/raw_stats.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.stats/main.c: copied within CVS repository from
+	  grass/src/raster/r.stats/cmd/main.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.stats/global.h: copied within CVS repository from
+	  grass/src/raster/r.stats/cmd/global.h
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.stats/cell_stats.c: copied within CVS repository from
+	  grass/src/raster/r.stats/cmd/cell_stats.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/write_rec.c: copied within CVS repository
+	  from grass/src/raster/r.statistics/cmd/write_rec.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/read_stats.c: copied within CVS repository
+	  from grass/src/raster/r.statistics/cmd/read_stats.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/o_var.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_var.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/o_sum.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_sum.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/o_skew.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_skew.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/o_sdev.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_sdev.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/o_mode.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_mode.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/o_min.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_min.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/o_median.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_median.c
+
+2004-11-09 13:58  bernhard
+
+	* raster/r.statistics/o_max.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_max.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.statistics/o_kurt.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_kurt.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.statistics/o_distrib.c: copied within CVS repository
+	  from grass/src/raster/r.statistics/cmd/o_distrib.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.statistics/o_average.c: copied within CVS repository
+	  from grass/src/raster/r.statistics/cmd/o_average.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.statistics/o_adev.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/o_adev.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.statistics/method.h: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/method.h
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.statistics/main.c: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/main.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.statistics/gauss.dat: copied within CVS repository from
+	  grass/src/raster/r.statistics/cmd/gauss.dat
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.slope.aspect/r_sl_asp_northangle_diffs.tar.gz: copied
+	  within CVS repository from
+	  grass/src/raster/r.slope.aspect/cmd/r_sl_asp_northangle_diffs.tar.gz
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.slope.aspect/opennew.c: copied within CVS repository
+	  from grass/src/raster/r.slope.aspect/cmd/opennew.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.slope.aspect/main.c: copied within CVS repository from
+	  grass/src/raster/r.slope.aspect/cmd/main.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.slope.aspect/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.slope.aspect/cmd/local_proto.h
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.series/sort_cell.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/sort_cell.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.series/main.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/main.c
+
+2004-11-09 13:57  bernhard
+
+	* raster/r.series/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/local_proto.h
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_var.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_var.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_sum.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_sum.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_stddev.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_stddev.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_reg.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_reg.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_mode.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_mode.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_min.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_min.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_median.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_median.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_max.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_max.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_divr.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_divr.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_count.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_count.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.series/c_ave.c: copied within CVS repository from
+	  grass/src/raster/r.series/cmd/c_ave.c
+
+2004-11-09 13:56  bernhard
+
+	* raster/r.rescale/main.c: copied within CVS repository from
+	  grass/src/raster/r.rescale/cmd/main.c
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.rescale/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.rescale/cmd/local_proto.h
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.rescale/get_range.c: copied within CVS repository from
+	  grass/src/raster/r.rescale/cmd/get_range.c
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resamp.rst/surf.h: copied within CVS repository from
+	  grass/src/raster/r.resamp.rst/surf.h
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resamp.rst/README: copied within CVS repository from
+	  grass/src/raster/r.resamp.rst/README
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resamp.rst/main.c: copied within CVS repository from
+	  grass/src/raster/r.resamp.rst/main.c
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resamp.rst/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.resamp.rst/local_proto.h
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resamp.rst/HISTORY: copied within CVS repository from
+	  grass/src/raster/r.resamp.rst/HISTORY
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resamp.rst/DESCRIPTION: copied within CVS repository
+	  from grass/src/raster/r.resamp.rst/DESCRIPTION
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resamp.rst/BUGS: copied within CVS repository from
+	  grass/src/raster/r.resamp.rst/BUGS
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resample/main.c: copied within CVS repository from
+	  grass/src/raster/r.resample/cmd/main.c
+
+2004-11-09 13:55  bernhard
+
+	* raster/r.resample/diff.sh: copied within CVS repository from
+	  grass/src/raster/r.resample/cmd/diff.sh
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/sums.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/sums.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/stats.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/stats.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/report.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/report.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/prt_unit.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/prt_unit.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/prt_report.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/prt_report.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/parse.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/parse.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/maskinfo.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/maskinfo.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/main.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/main.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/label.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/label.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/header.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/header.c
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/global.h: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/global.h
+
+2004-11-09 13:54  bernhard
+
+	* raster/r.report/format.c: copied within CVS repository from
+	  grass/src/raster/r.report/cmd/format.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.recode/recode.c: copied within CVS repository from
+	  grass/src/raster/r.recode/recode.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.recode/read_rules.c: copied within CVS repository from
+	  grass/src/raster/r.recode/read_rules.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.recode/main.c: copied within CVS repository from
+	  grass/src/raster/r.recode/main.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.recode/global.h: copied within CVS repository from
+	  grass/src/raster/r.recode/global.h
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.reclass/stats.c: copied within CVS repository from
+	  grass/src/raster/r.reclass/cmd/stats.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.reclass/rule.h: copied within CVS repository from
+	  grass/src/raster/r.reclass/cmd/rule.h
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.reclass/reclass.c: copied within CVS repository from
+	  grass/src/raster/r.reclass/cmd/reclass.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.reclass/range.c: copied within CVS repository from
+	  grass/src/raster/r.reclass/cmd/range.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.reclass/parse.c: copied within CVS repository from
+	  grass/src/raster/r.reclass/cmd/parse.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.reclass/main.c: copied within CVS repository from
+	  grass/src/raster/r.reclass/cmd/main.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.reclass/input.c: copied within CVS repository from
+	  grass/src/raster/r.reclass/cmd/input.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.reclass/add_rule.c: copied within CVS repository from
+	  grass/src/raster/r.reclass/cmd/add_rule.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.random/support.c: copied within CVS repository from
+	  grass/src/raster/r.random/support.c
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.random/README: copied within CVS repository from
+	  grass/src/raster/r.random/README
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.random/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.random/local_proto.h
+
+2004-11-09 13:53  bernhard
+
+	* raster/r.random/creat_rand.c: copied within CVS repository from
+	  grass/src/raster/r.random/creat_rand.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random/count.c: copied within CVS repository from
+	  grass/src/raster/r.random/count.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/README: copied within CVS repository from
+	  grass/src/raster/r.random.cells/README
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/ransurf.h: copied within CVS repository
+	  from grass/src/raster/r.random.cells/ransurf.h
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/random.c: copied within CVS repository from
+	  grass/src/raster/r.random.cells/random.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/main.c: copied within CVS repository from
+	  grass/src/raster/r.random.cells/main.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/init.c: copied within CVS repository from
+	  grass/src/raster/r.random.cells/init.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/indep.c: copied within CVS repository from
+	  grass/src/raster/r.random.cells/indep.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/gasdev.c: copied within CVS repository from
+	  grass/src/raster/r.random.cells/gasdev.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/flag.h: copied within CVS repository from
+	  grass/src/raster/r.random.cells/flag.h
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.random.cells/flag.c: copied within CVS repository from
+	  grass/src/raster/r.random.cells/flag.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.quant/read_rules.c: copied within CVS repository from
+	  grass/src/raster/r.quant/read_rules.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.quant/main.c: copied within CVS repository from
+	  grass/src/raster/r.quant/main.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.quant/global.h: copied within CVS repository from
+	  grass/src/raster/r.quant/global.h
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.proj/r.proj.h: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/r.proj.h
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.proj/readcell.c: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/readcell.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.proj/nearest.c: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/nearest.c
+
+2004-11-09 13:52  bernhard
+
+	* raster/r.proj/main.c: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/main.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.proj/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/local_proto.h
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.proj/cubic.c: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/cubic.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.proj/COMMENT: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/COMMENT
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.proj/bordwalk.c: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/bordwalk.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.proj/bilinear.c: copied within CVS repository from
+	  grass/src/raster/r.proj/cmd/bilinear.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.profile/read_rast.c: copied within CVS repository from
+	  grass/src/raster/r.profile/cmd/read_rast.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.profile/main.c: copied within CVS repository from
+	  grass/src/raster/r.profile/cmd/main.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/write_cols.c: copied within CVS repository
+	  from grass/src/raster/r.param.scale/write_cols.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/write_cats.c: copied within CVS repository
+	  from grass/src/raster/r.param.scale/write_cats.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/README: copied within CVS repository from
+	  grass/src/raster/r.param.scale/README
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/process.c: copied within CVS repository from
+	  grass/src/raster/r.param.scale/process.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/param.sh: copied within CVS repository from
+	  grass/src/raster/r.param.scale/param.sh
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/param.h: copied within CVS repository from
+	  grass/src/raster/r.param.scale/param.h
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/param.c: copied within CVS repository from
+	  grass/src/raster/r.param.scale/param.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/open_files.c: copied within CVS repository
+	  from grass/src/raster/r.param.scale/open_files.c
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/nrutil.h: copied within CVS repository from
+	  grass/src/raster/r.param.scale/nrutil.h
+
+2004-11-09 13:51  bernhard
+
+	* raster/r.param.scale/nrutil.c: copied within CVS repository from
+	  grass/src/raster/r.param.scale/nrutil.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/main.c: copied within CVS repository from
+	  grass/src/raster/r.param.scale/main.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/interface.c: copied within CVS repository
+	  from grass/src/raster/r.param.scale/interface.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/find_normal.c: copied within CVS repository
+	  from grass/src/raster/r.param.scale/find_normal.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/features.pal: copied within CVS repository
+	  from grass/src/raster/r.param.scale/features.pal
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/feature.c: copied within CVS repository from
+	  grass/src/raster/r.param.scale/feature.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/disp_matrix.c: copied within CVS repository
+	  from grass/src/raster/r.param.scale/disp_matrix.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/cols.sh: copied within CVS repository from
+	  grass/src/raster/r.param.scale/cols.sh
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/close_down.c: copied within CVS repository
+	  from grass/src/raster/r.param.scale/close_down.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.param.scale/CHANGES: copied within CVS repository from
+	  grass/src/raster/r.param.scale/CHANGES
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.out.tiff/r.out.tiff.c: copied within CVS repository from
+	  grass/src/raster/r.tiff/r.out.tiff.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.out.tiff/rasterfile.h: copied within CVS repository from
+	  grass/src/raster/r.tiff/rasterfile.h
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.out.ppm/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.ppm/main.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.out.ppm3/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.ppm3/main.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.out.pov/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.pov/cmd/main.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.out.png/version.h: copied within CVS repository from
+	  grass/src/raster/r.out.png/version.h
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.out.png/r.out.png.c: copied within CVS repository from
+	  grass/src/raster/r.out.png/r.out.png.c
+
+2004-11-09 13:50  bernhard
+
+	* raster/r.out.png/README: copied within CVS repository from
+	  grass/src/raster/r.out.png/README
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.png/pngfunc.h: copied within CVS repository from
+	  grass/src/raster/r.out.png/pngfunc.h
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.gridatb/README: copied within CVS repository from
+	  grass/src/raster/r.out.gridatb/README
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.gridatb/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.gridatb/main.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.gridatb/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.out.gridatb/local_proto.h
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.gridatb/file_io.c: copied within CVS repository from
+	  grass/src/raster/r.out.gridatb/file_io.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.gridatb/check_ready.c: copied within CVS repository
+	  from grass/src/raster/r.out.gridatb/check_ready.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.gridatb/adjcellhd.c: copied within CVS repository
+	  from grass/src/raster/r.out.gridatb/adjcellhd.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.bin/tif_swab.c: copied within CVS repository from
+	  grass/src/raster/r.out.bin/tif_swab.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.bin/swab.h: copied within CVS repository from
+	  grass/src/raster/r.out.bin/swab.h
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.bin/README: copied within CVS repository from
+	  grass/src/raster/r.out.bin/README
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.bin/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.bin/main.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.bin/gmt_grd.h: copied within CVS repository from
+	  grass/src/raster/r.out.bin/gmt_grd.h
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.ascii/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.ascii/cmd/main.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.ascii/localproto.h: copied within CVS repository
+	  from grass/src/raster/r.out.ascii/cmd/localproto.h
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.ascii/formspecific.c: copied within CVS repository
+	  from grass/src/raster/r.out.ascii/cmd/formspecific.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.out.arc/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.arc/cmd/main.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.null/null.c: copied within CVS repository from
+	  grass/src/raster/r.null/null.c
+
+2004-11-09 13:49  bernhard
+
+	* raster/r.null/mask.h: copied within CVS repository from
+	  grass/src/raster/r.null/mask.h
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.null/mask.c: copied within CVS repository from
+	  grass/src/raster/r.null/mask.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.null/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.null/local_proto.h
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mode/write_rec.c: copied within CVS repository from
+	  grass/src/raster/r.mode/cmd/write_rec.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mode/read_stats.c: copied within CVS repository from
+	  grass/src/raster/r.mode/cmd/read_stats.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mode/main.c: copied within CVS repository from
+	  grass/src/raster/r.mode/cmd/main.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mode/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.mode/cmd/local_proto.h
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.median/write_rec.c: copied within CVS repository from
+	  grass/src/raster/r.median/cmd/write_rec.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.median/stats.h: copied within CVS repository from
+	  grass/src/raster/r.median/cmd/stats.h
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.median/read_stats.c: copied within CVS repository from
+	  grass/src/raster/r.median/cmd/read_stats.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.median/median.c: copied within CVS repository from
+	  grass/src/raster/r.median/cmd/median.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.median/main.c: copied within CVS repository from
+	  grass/src/raster/r.median/cmd/main.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.median/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.median/cmd/local_proto.h
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mapcalc/xtan.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xtan.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mapcalc/xsub.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xsub.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mapcalc/xsqrt.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xsqrt.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mapcalc/xsin.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xsin.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mapcalc/xrowcol.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xrowcol.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mapcalc/xround.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xround.c
+
+2004-11-09 13:48  bernhard
+
+	* raster/r.mapcalc/xres.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xres.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xres3.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xres3.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xrand.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xrand.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xpow.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xpow.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xor.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xor.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xnull.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xnull.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xnot.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xnot.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xneg.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xneg.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xne.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xne.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xmul.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xmul.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xmode.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xmode.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xmod.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xmod.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xmin.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xmin.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xmedian.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xmedian.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xmax.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xmax.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xlt.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xlt.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xlog.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xlog.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xle.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xle.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xisnull.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xisnull.c
+
+2004-11-09 13:47  bernhard
+
+	* raster/r.mapcalc/xint.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xint.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xif.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xif.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xgt.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xgt.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xgraph.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xgraph.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xge.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xge.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xfloat.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xfloat.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xexp.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xexp.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xeval.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xeval.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xeq.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xeq.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xdouble.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xdouble.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xdiv.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xdiv.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xcos.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xcos.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xcoor.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xcoor.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xcoor3.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xcoor3.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xatan.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xatan.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xand.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xand.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xadd.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xadd.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/xabs.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/xabs.c
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/mapcalc.y: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/mapcalc.y
+
+2004-11-09 13:46  bernhard
+
+	* raster/r.mapcalc/mapcalc.l: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/mapcalc.l
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/mapcalc.h: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/mapcalc.h
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/map.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/map.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/map3.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/map3.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/main.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/main.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/globals.h: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/globals.h
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/globals3.h: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/globals3.h
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/globals2.h: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/globals2.h
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/function.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/function.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/func_proto.h: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/func_proto.h
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/expression.h: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/expression.h
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/expression.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/expression.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/evaluate.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/evaluate.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.mapcalc/check.c: copied within CVS repository from
+	  grass/src/raster/r.mapcalc3/check.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.los/segment.c: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/segment.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.los/radians.h: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/radians.h
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.los/pts_elim.c: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/pts_elim.c
+
+2004-11-09 13:45  bernhard
+
+	* raster/r.los/point.h: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/point.h
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.los/mark_pts.c: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/mark_pts.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.los/make_point.c: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/make_point.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.los/make_list.c: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/make_list.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.los/main.c: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/main.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.los/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/local_proto.h
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.los/delete.c: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/delete.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.los/color_rnge.c: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/color_rnge.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.los/cmd_line.h: copied within CVS repository from
+	  grass/src/raster/r.los/cmd/cmd_line.h
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.trace/user_input.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.trace/user_input.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.trace/r.le.trace.h: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.trace/r.le.trace.h
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.trace/main.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.trace/main.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.setup/user_input.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.setup/user_input.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.setup/setup.h: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.setup/setup.h
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.setup/setup.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.setup/setup.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.setup/sample.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.setup/sample.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/yadjust.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/yadjust.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/wrte_recrd.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/wrte_recrd.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/save_area.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/save_area.c
+
+2004-11-09 13:44  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/ply_to_cll.h: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/ply_to_cll.h
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/ply_t_bmif.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/ply_t_bmif.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/find_area.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/find_area.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/do_line.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/do_line.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/do_dots.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/do_dots.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/bmf_to_cll.c: copied within CVS
+	  repository from
+	  grass/src/raster/r.le/r.le.setup/polytocell/bmf_to_cll.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/polytocell/bmf.b: copied within CVS
+	  repository from grass/src/raster/r.le/r.le.setup/polytocell/bmf.b
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/mv_wind.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.setup/mv_wind.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/main.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.setup/main.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/colors.h: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.setup/colors.h
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.setup/ask_group.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.setup/ask_group.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.pixel/texture.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.pixel/texture.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.pixel/pixel.h: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.pixel/pixel.h
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.pixel/main.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.pixel/main.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.pixel/input.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.pixel/input.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.pixel/driver.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.pixel/driver.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.pixel/cellclip.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.pixel/cellclip.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.patch/trace.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.patch/trace.c
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.patch/patch.h: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.patch/patch.h
+
+2004-11-09 13:43  bernhard
+
+	* raster/r.le/r.le.patch/patch.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.patch/patch.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.le/r.le.patch/main.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.patch/main.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.le/r.le.patch/input.c: copied within CVS repository from
+	  grass/src/raster/r.le/r.le.patch/input.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.le/r.le.patch/driver.c: copied within CVS repository
+	  from grass/src/raster/r.le/r.le.patch/driver.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/sum.c: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/sum.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/stats.c: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/stats.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/prt_mat.c: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/prt_mat.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/prt_label.c: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/prt_label.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/prt_hdr.c: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/prt_hdr.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/mask.c: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/mask.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/main.c: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/main.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/kappa.h: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/kappa.h
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.kappa/calc_kappa.c: copied within CVS repository from
+	  grass/src/raster/r.kappa/cmd/calc_kappa.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.in.poly/README: copied within CVS repository from
+	  grass/src/raster/r.in.poly/README
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.in.poly/raster.c: copied within CVS repository from
+	  grass/src/raster/r.in.poly/raster.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.in.poly/poly2rast.c: copied within CVS repository from
+	  grass/src/raster/r.in.poly/poly2rast.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.in.poly/main.c: copied within CVS repository from
+	  grass/src/raster/r.in.poly/main.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.in.poly/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.in.poly/local_proto.h
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.in.poly/get_item.c: copied within CVS repository from
+	  grass/src/raster/r.in.poly/get_item.c
+
+2004-11-09 13:42  bernhard
+
+	* raster/r.in.poly/getformat.c: copied within CVS repository from
+	  grass/src/raster/r.in.poly/getformat.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.poly/format.h: copied within CVS repository from
+	  grass/src/raster/r.in.poly/format.h
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.mat/main.c: copied within CVS repository from
+	  grass/src/raster/r.in.mat/main.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.gridatb/README: copied within CVS repository from
+	  grass/src/raster/r.in.gridatb/README
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.gridatb/main.c: copied within CVS repository from
+	  grass/src/raster/r.in.gridatb/main.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.gridatb/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.in.gridatb/local_proto.h
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.gridatb/file_io.c: copied within CVS repository from
+	  grass/src/raster/r.in.gridatb/file_io.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.gridatb/check_ready.c: copied within CVS repository
+	  from grass/src/raster/r.in.gridatb/check_ready.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.gridatb/adjcellhd.c: copied within CVS repository
+	  from grass/src/raster/r.in.gridatb/adjcellhd.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.info/reclas_txt.c: copied within CVS repository from
+	  grass/src/raster/r.info/cmd/reclas_txt.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.info/main.c: copied within CVS repository from
+	  grass/src/raster/r.info/cmd/main.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.info/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.info/cmd/local_proto.h
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.bin/README: copied within CVS repository from
+	  grass/src/raster/r.in.bin/README
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.bin/main.c: copied within CVS repository from
+	  grass/src/raster/r.in.bin/main.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.bin/gmt_grd.h: copied within CVS repository from
+	  grass/src/raster/r.in.bin/gmt_grd.h
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.ascii/main.c: copied within CVS repository from
+	  grass/src/raster/r.in.ascii/cmd/main.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.ascii/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.in.ascii/cmd/local_proto.h
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.ascii/gethead.c: copied within CVS repository from
+	  grass/src/raster/r.in.ascii/cmd/gethead.c
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.arc/README: copied within CVS repository from
+	  grass/src/raster/r.in.arc/cmd/README
+
+2004-11-09 13:41  bernhard
+
+	* raster/r.in.arc/main.c: copied within CVS repository from
+	  grass/src/raster/r.in.arc/cmd/main.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.in.arc/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.in.arc/cmd/local_proto.h
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.in.arc/gethead.c: copied within CVS repository from
+	  grass/src/raster/r.in.arc/cmd/gethead.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.his/main.c: copied within CVS repository from
+	  grass/src/raster/r.his/cmd/main.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.his/his.h: copied within CVS repository from
+	  grass/src/raster/r.his/cmd/his.h
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.his/his.c: copied within CVS repository from
+	  grass/src/raster/r.his/cmd/his.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.grow/main.c: copied within CVS repository from
+	  grass/src/raster/r.grow/cmd/main.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/wtrshed.c: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/wtrshed.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/tinf.h: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/tinf.h
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/tinf.c: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/tinf.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/resolve.c: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/resolve.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/README: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/README
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/ppupdate.c: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/ppupdate.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/main.c: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/main.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/local.h: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/local.h
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/filldir.c: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/filldir.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.fill.dir/dopolys.c: copied within CVS repository from
+	  grass/src/raster/r.fill.dir/dopolys.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.digit/TODO: copied within CVS repository from
+	  grass/src/raster/r.digit/TODO
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.digit/setup_graph.c: copied within CVS repository from
+	  grass/src/raster/r.digit/setup_graph.c
+
+2004-11-09 13:40  bernhard
+
+	* raster/r.digit/main.c: copied within CVS repository from
+	  grass/src/raster/r.digit/main.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.digit/local_proto.h
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/instruct.c: copied within CVS repository from
+	  grass/src/raster/r.digit/instruct.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/get_type.c: copied within CVS repository from
+	  grass/src/raster/r.digit/get_type.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/get_point.c: copied within CVS repository from
+	  grass/src/raster/r.digit/get_point.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/get_map.c: copied within CVS repository from
+	  grass/src/raster/r.digit/get_map.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/get_line.c: copied within CVS repository from
+	  grass/src/raster/r.digit/get_line.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/get_label.c: copied within CVS repository from
+	  grass/src/raster/r.digit/get_label.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/get_en.c: copied within CVS repository from
+	  grass/src/raster/r.digit/get_en.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/get_circle.c: copied within CVS repository from
+	  grass/src/raster/r.digit/get_circle.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/get_area.c: copied within CVS repository from
+	  grass/src/raster/r.digit/get_area.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/digitize.c: copied within CVS repository from
+	  grass/src/raster/r.digit/digitize.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/create_map.c: copied within CVS repository from
+	  grass/src/raster/r.digit/create_map.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.digit/bnw_line.c: copied within CVS repository from
+	  grass/src/raster/r.digit/bnw_line.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.describe/tree.c: copied within CVS repository from
+	  grass/src/raster/r.describe/cmd/tree.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.describe/percent.c: copied within CVS repository from
+	  grass/src/raster/r.describe/cmd/percent.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.describe/main.c: copied within CVS repository from
+	  grass/src/raster/r.describe/cmd/main.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.describe/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.describe/cmd/local_proto.h
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.describe/dumplist.c: copied within CVS repository from
+	  grass/src/raster/r.describe/cmd/dumplist.c
+
+2004-11-09 13:39  bernhard
+
+	* raster/r.describe/describe.c: copied within CVS repository from
+	  grass/src/raster/r.describe/cmd/describe.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cross/tree.c: copied within CVS repository from
+	  grass/src/raster/r.cross/tree.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cross/store.c: copied within CVS repository from
+	  grass/src/raster/r.cross/store.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cross/renumber.c: copied within CVS repository from
+	  grass/src/raster/r.cross/renumber.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cross/main.c: copied within CVS repository from
+	  grass/src/raster/r.cross/main.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cross/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.cross/local_proto.h
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cross/glob.h: copied within CVS repository from
+	  grass/src/raster/r.cross/glob.h
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cross/cross.c: copied within CVS repository from
+	  grass/src/raster/r.cross/cross.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cross/cats.c: copied within CVS repository from
+	  grass/src/raster/r.cross/cats.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.covar/main.c: copied within CVS repository from
+	  grass/src/raster/r.covar/cmd/main.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cost/stash.h: copied within CVS repository from
+	  grass/src/raster/r.cost/cmd/stash.h
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cost/memory.h: copied within CVS repository from
+	  grass/src/raster/r.cost/cmd/memory.h
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cost/memory.c: copied within CVS repository from
+	  grass/src/raster/r.cost/cmd/memory.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.cost/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.cost/cmd/local_proto.h
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.compress/main.c: copied within CVS repository from
+	  grass/src/raster/r.compress/cmd/main.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.composite/main.c: copied within CVS repository from
+	  grass/src/raster/r.composite/cmd/main.c
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.colors/wave: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/wave
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.colors/terrain: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/terrain
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.colors/srtm: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/srtm
+
+2004-11-09 13:38  bernhard
+
+	* raster/r.colors/slope: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/slope
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/ryg: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/ryg
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/rules.c: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/rules.c
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/ramp: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/ramp
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/rainbow: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/rainbow
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/main.c: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/main.c
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/log.c: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/log.c
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/local_proto.h
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/gyr: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/gyr
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/grey: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/grey
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/example4: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/example4
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/example3: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/example3
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/example2: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/example2
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/example1: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/example1
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/evi: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/evi
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/eq.c: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/eq.c
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/elevation: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/elevation
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/byr: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/byr
+
+2004-11-09 13:37  bernhard
+
+	* raster/r.colors/byg: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/byg
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.colors/bcyr: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/bcyr
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.colors/aspect: copied within CVS repository from
+	  grass/src/raster/r.colors/cmd/aspect
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.clump/main.c: copied within CVS repository from
+	  grass/src/raster/r.clump/cmd/main.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.clump/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.clump/cmd/local_proto.h
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.clump/clump.c: copied within CVS repository from
+	  grass/src/raster/r.clump/cmd/clump.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.circle/TODO: copied within CVS repository from
+	  grass/src/raster/r.circle/TODO
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.circle/README: copied within CVS repository from
+	  grass/src/raster/r.circle/README
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.circle/dist.c: copied within CVS repository from
+	  grass/src/raster/r.circle/dist.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.cats/main.c: copied within CVS repository from
+	  grass/src/raster/r.cats/cmd/main.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.cats/local_proto.h: copied within CVS repository from
+	  grass/src/raster/r.cats/cmd/local_proto.h
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.cats/cats.c: copied within CVS repository from
+	  grass/src/raster/r.cats/cmd/cats.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.bilinear/main.c: copied within CVS repository from
+	  grass/src/raster/r.bilinear/main.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.basins.fill/read_map.c: copied within CVS repository
+	  from grass/src/raster/r.basins.fill/read_map.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.basins.fill/percent.c: copied within CVS repository from
+	  grass/src/raster/r.basins.fill/percent.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.basins.fill/main.c: copied within CVS repository from
+	  grass/src/raster/r.basins.fill/main.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.basins.fill/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.basins.fill/local_proto.h
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.basins.fill/HELP: copied within CVS repository from
+	  grass/src/raster/r.basins.fill/HELP
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.basins.fill/die.c: copied within CVS repository from
+	  grass/src/raster/r.basins.fill/die.c
+
+2004-11-09 13:36  bernhard
+
+	* raster/r.average/main.c: copied within CVS repository from
+	  grass/src/raster/r.average/cmd/main.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/watershed.h: copied within CVS repository
+	  from grass/src/raster/r.watershed/shed/watershed.h
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/valid.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/shed/valid.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/read.c: copied within CVS repository from
+	  grass/src/raster/r.watershed/shed/read.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/print.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/shed/print.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/main.c: copied within CVS repository from
+	  grass/src/raster/r.watershed/shed/main.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/local_proto.h: copied within CVS
+	  repository from grass/src/raster/r.watershed/shed/local_proto.h
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/intro.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/shed/intro.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/insert_cat.c: copied within CVS
+	  repository from grass/src/raster/r.watershed/shed/insert_cat.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/free.c: copied within CVS repository from
+	  grass/src/raster/r.watershed/shed/free.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/file_in.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/shed/file_in.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/com_line.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/shed/com_line.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/basin_maps.c: copied within CVS
+	  repository from grass/src/raster/r.watershed/shed/basin_maps.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/shed/accum_down.c: copied within CVS
+	  repository from grass/src/raster/r.watershed/shed/accum_down.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/seg/usage.c: copied within CVS repository from
+	  grass/src/raster/r.watershed/seg/usage.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/seg/sseg_put.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/sseg_put.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/seg/sseg_get.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/sseg_get.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/seg/sseg_close.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/sseg_close.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/seg/slope_len.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/slope_len.c
+
+2004-11-09 13:35  bernhard
+
+	* raster/r.watershed/seg/sg_factor.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/sg_factor.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/over_cells.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/over_cells.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/main.c: copied within CVS repository from
+	  grass/src/raster/r.watershed/seg/main.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/init_vars.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/init_vars.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/Gwater.h: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/Gwater.h
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/find_pour.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/find_pour.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/dseg_write.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/dseg_write.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/dseg_read.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/dseg_read.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/dseg_open.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/dseg_open.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/dseg_get.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/dseg_get.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/dseg_close.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/dseg_close.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/do_cum.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/do_cum.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/do_astar.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/do_astar.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/def_basin.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/def_basin.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/cseg_write.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/cseg_write.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/cseg_open.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/cseg_open.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/cseg.h: copied within CVS repository from
+	  grass/src/raster/r.watershed/seg/cseg.h
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/cseg_get.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/cseg_get.c
+
+2004-11-09 13:34  bernhard
+
+	* raster/r.watershed/seg/close_maps.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/close_maps.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/seg/close_maps2.c: copied within CVS
+	  repository from grass/src/raster/r.watershed/seg/close_maps2.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/seg/bseg_put.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/bseg_put.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/seg/bseg_open.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/bseg_open.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/seg/bseg_get.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/seg/bseg_get.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/usage.c: copied within CVS repository from
+	  grass/src/raster/r.watershed/ram/usage.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/split_str.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/split_str.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/slope_len.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/slope_len.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/sg_factor.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/sg_factor.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/ramseg.h: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/ramseg.h
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/ramseg.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/ramseg.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/over_cells.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/over_cells.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/no_stream.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/no_stream.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/main.c: copied within CVS repository from
+	  grass/src/raster/r.watershed/ram/main.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/init_vars.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/init_vars.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/haf_side.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/haf_side.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/Gwater.h: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/Gwater.h
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/flag_unset.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/flag_unset.c
+
+2004-11-09 13:33  bernhard
+
+	* raster/r.watershed/ram/flag_set.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/flag_set.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/flag.h: copied within CVS repository from
+	  grass/src/raster/r.watershed/ram/flag.h
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/flag_get.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/flag_get.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/flag_destroy.c: copied within CVS
+	  repository from grass/src/raster/r.watershed/ram/flag_destroy.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/flag_create.c: copied within CVS
+	  repository from grass/src/raster/r.watershed/ram/flag_create.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/flag_clr_all.c: copied within CVS
+	  repository from grass/src/raster/r.watershed/ram/flag_clr_all.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/find_pour.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/find_pour.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/do_cum.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/do_cum.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/do_astar.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/do_astar.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/def_basin.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/def_basin.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/close_maps.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/ram/close_maps.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/ram/close_maps2.c: copied within CVS
+	  repository from grass/src/raster/r.watershed/ram/close_maps2.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.watershed/front/main.c: copied within CVS repository
+	  from grass/src/raster/r.watershed/front/main.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.univar2/main.c: copied within CVS repository from
+	  grass/src/raster/r.univar2/main.c
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.terraflow/weightWindow.h: copied within CVS repository
+	  from grass/src.contrib/DUKE/r.terraflow/weightWindow.h
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.terraflow/weightWindow.cc: copied within CVS repository
+	  from grass/src.contrib/DUKE/r.terraflow/weightWindow.cc
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.terraflow/water.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/water.h
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.terraflow/water.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/water.cc
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.terraflow/unionFind.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/unionFind.h
+
+2004-11-09 13:32  bernhard
+
+	* raster/r.terraflow/types.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/types.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/types.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/types.cc
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/sweep.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/sweep.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/sweep.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/sweep.cc
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/streamutils.h: copied within CVS repository
+	  from grass/src.contrib/DUKE/r.terraflow/streamutils.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/stats.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/stats.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/stats.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/stats.cc
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/sortutils.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/sortutils.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/r.terraflow.copyright: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/r.terraflow.copyright
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/plateau.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/plateau.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/plateau.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/plateau.cc
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/option.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/option.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/nodata.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/nodata.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/nodata.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/nodata.cc
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/main.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/main.h
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/main.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/main.cc
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/IOStream/lib/src/rtimer.cc: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/lib/src/rtimer.cc
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/IOStream/lib/src/mm_utils.cc: copied within
+	  CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/lib/src/mm_utils.cc
+
+2004-11-09 13:31  bernhard
+
+	* raster/r.terraflow/IOStream/lib/src/mm.cc: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/lib/src/mm.cc
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/lib/src/minmaxheap_test.cc: copied
+	  within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/lib/src/minmaxheap_test.cc
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/lib/src/ami_stream.cc: copied within
+	  CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/lib/src/ami_stream.cc
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/rtimer.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/rtimer.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/replacementHeap.h: copied
+	  within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/replacementHeap.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/replacementHeapBlock.h:
+	  copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/replacementHeapBlock.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/quicksort.h: copied within
+	  CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/quicksort.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/queue.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/queue.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/pqheap.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/pqheap.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/mm_utils.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/mm_utils.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/mm.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/mm.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/minmaxheap.h: copied within
+	  CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/minmaxheap.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/mem_stream.h: copied within
+	  CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/mem_stream.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/imbuffer.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/imbuffer.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/empq_impl.h: copied within
+	  CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/empq_impl.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/empq.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/empq.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/empq_adaptive_impl.h: copied
+	  within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/empq_adaptive_impl.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/empq_adaptive.h: copied
+	  within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/empq_adaptive.h
+
+2004-11-09 13:30  bernhard
+
+	* raster/r.terraflow/IOStream/include/embuffer.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/embuffer.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/IOStream/include/ami_stream.h: copied within
+	  CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/ami_stream.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/IOStream/include/ami_sort_impl.h: copied
+	  within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/ami_sort_impl.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/IOStream/include/ami_sort.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/ami_sort.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/IOStream/include/ami.h: copied within CVS
+	  repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/ami.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/IOStream/include/ami_config.h: copied within
+	  CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/IOStream/include/ami_config.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/grid.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/grid.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/grid.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/grid.cc
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/grass2str.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/grass2str.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/genericWindow.h: copied within CVS repository
+	  from grass/src.contrib/DUKE/r.terraflow/genericWindow.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/genericWindow.cc: copied within CVS repository
+	  from grass/src.contrib/DUKE/r.terraflow/genericWindow.cc
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/flow.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/flow.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/flow.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/flow.cc
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/fill.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/fill.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/filldepr.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/filldepr.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/filldepr.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/filldepr.cc
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/fill.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/fill.cc
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/direction.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/direction.h
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/direction.cc: copied within CVS repository
+	  from grass/src.contrib/DUKE/r.terraflow/direction.cc
+
+2004-11-09 13:29  bernhard
+
+	* raster/r.terraflow/common.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/common.h
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.terraflow/common.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/common.cc
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.terraflow/ccforest.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/ccforest.h
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.terraflow/ccforest.cc: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/ccforest.cc
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.terraflow/3scan.h: copied within CVS repository from
+	  grass/src.contrib/DUKE/r.terraflow/3scan.h
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.sum/main.c: copied within CVS repository from
+	  grass/src/raster/r.sum/main.c
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/zero.c: copied within CVS repository from
+	  grass/src/raster/r.random.surface/zero.c
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/TODO: copied within CVS repository from
+	  grass/src/raster/r.random.surface/TODO
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/save.c: copied within CVS repository from
+	  grass/src/raster/r.random.surface/save.c
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/ransurf.h: copied within CVS repository
+	  from grass/src/raster/r.random.surface/ransurf.h
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/random.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/random.c
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/MAN.old: copied within CVS repository
+	  from grass/src/raster/r.random.surface/MAN.old
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/makepp.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/makepp.c
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/makebigf.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/makebigf.c
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/main.c: copied within CVS repository from
+	  grass/src/raster/r.random.surface/main.c
+
+2004-11-09 13:28  bernhard
+
+	* raster/r.random.surface/init.c: copied within CVS repository from
+	  grass/src/raster/r.random.surface/init.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.random.surface/gennorm.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/gennorm.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.random.surface/gasdev.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/gasdev.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.random.surface/digits.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/digits.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.random.surface/decay.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/decay.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.random.surface/dd.c: copied within CVS repository from
+	  grass/src/raster/r.random.surface/dd.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.random.surface/cpfilter.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/cpfilter.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.random.surface/calcsurf.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/calcsurf.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.random.surface/calcsd.c: copied within CVS repository
+	  from grass/src/raster/r.random.surface/calcsd.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.out.mat/main.c: copied within CVS repository from
+	  grass/src/raster/r.out.mat/main.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/sort_cell.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/sort_cell.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/readcell.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/readcell.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/null_cats.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/null_cats.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/ncb.h: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/ncb.h
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/method.h: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/method.h
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/main.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/main.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/local_proto.h: copied within CVS repository
+	  from grass/src/raster/r.neighbors/cmd/local_proto.h
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/intr_cats.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/intr_cats.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/gather.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/gather.c
+
+2004-11-09 13:27  bernhard
+
+	* raster/r.neighbors/divr_cats.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/divr_cats.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_var.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_var.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_sum.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_sum.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_stddev.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_stddev.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_mode.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_mode.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_min.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_min.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_median.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_median.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_max.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_max.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_intr.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_intr.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_divr.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_divr.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/c_ave.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/c_ave.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.neighbors/bufs.c: copied within CVS repository from
+	  grass/src/raster/r.neighbors/cmd/bufs.c
+
+2004-11-09 13:26  bernhard
+
+	* raster/r.grow2/main.c: copied within CVS repository from
+	  grass/src/raster/r.grow2/main.c
+
+2004-11-09 13:26  bernhard
+
+	* imagery/i.zc/mult.c: copied within CVS repository from
+	  grass/src/imagery/i.zc/cmd/mult.c
+
+2004-11-09 13:26  bernhard
+
+	* imagery/i.zc/main.c: copied within CVS repository from
+	  grass/src/imagery/i.zc/cmd/main.c
+
+2004-11-09 13:26  bernhard
+
+	* imagery/i.zc/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.zc/cmd/local_proto.h
+
+2004-11-09 13:26  bernhard
+
+	* imagery/i.zc/globals.h: copied within CVS repository from
+	  grass/src/imagery/i.zc/cmd/globals.h
+
+2004-11-09 13:26  bernhard
+
+	* imagery/i.zc/findzc.c: copied within CVS repository from
+	  grass/src/imagery/i.zc/cmd/findzc.c
+
+2004-11-09 13:26  bernhard
+
+	* imagery/i.vpoints/zoom_pnt.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/zoom_pnt.c
+
+2004-11-09 13:26  bernhard
+
+	* imagery/i.vpoints/zoom.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/zoom.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/zoom_box.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/zoom_box.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/where.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/where.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/view.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/view.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/Vectpoints.h: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/Vectpoints.h
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/use_plot1.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/use_plot1.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/title.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/title.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/target.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/target.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/setup.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/setup.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/points.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/points.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/plot2.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/plot2.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/plot1.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/plot1.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/open.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/open.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/mouse.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/mouse.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/mark.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/mark.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/main.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/main.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/input.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/input.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/group.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/group.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/graphics.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/graphics.c
+
+2004-11-09 13:25  bernhard
+
+	* imagery/i.vpoints/globals.h: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/globals.h
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/equ.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/equ.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/driver.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/driver.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/drawcell.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/drawcell.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/dot.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/dot.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/digit.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/digit.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/defs.h: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/defs.h
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/debug.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/debug.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/curses.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/curses.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/crs.h: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/crs.h
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/crs.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/crs.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/conv.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/conv.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/colors.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/colors.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/cellhd.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/cellhd.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/cell.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/cell.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/call.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/call.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/ask_mag.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/ask_mag.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/ask_lineclr.c: copied within CVS repository
+	  from grass/src/imagery/i.vpoints/ask_lineclr.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/ask.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/ask.c
+
+2004-11-09 13:24  bernhard
+
+	* imagery/i.vpoints/analyze.c: copied within CVS repository from
+	  grass/src/imagery/i.vpoints/analyze.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.target/main.c: copied within CVS repository from
+	  grass/src/imagery/i.target/cmd/main.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.target/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.target/cmd/local_proto.h
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.rgb.his/rgb2his.c: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/rgb2his.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.rgb.his/r2hmain.c: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/r2hmain.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.rgb.his/openfiles.c: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/openfiles.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.rgb.his/globals.h: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/globals.h
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.rgb.his/closefiles.c: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/closefiles.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/zoom_pnt.c: copied within CVS repository from
+	  grass/src/imagery/i.points/zoom_pnt.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/zoom.c: copied within CVS repository from
+	  grass/src/imagery/i.points/zoom.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/zoom_box.c: copied within CVS repository from
+	  grass/src/imagery/i.points/zoom_box.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/where.c: copied within CVS repository from
+	  grass/src/imagery/i.points/where.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/view.c: copied within CVS repository from
+	  grass/src/imagery/i.points/view.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/title.c: copied within CVS repository from
+	  grass/src/imagery/i.points/title.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/target.c: copied within CVS repository from
+	  grass/src/imagery/i.points/target.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/points.c: copied within CVS repository from
+	  grass/src/imagery/i.points/points.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/mouse.c: copied within CVS repository from
+	  grass/src/imagery/i.points/mouse.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/mark.c: copied within CVS repository from
+	  grass/src/imagery/i.points/mark.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/main.c: copied within CVS repository from
+	  grass/src/imagery/i.points/main.c
+
+2004-11-09 13:23  bernhard
+
+	* imagery/i.points/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.points/local_proto.h
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/input.c: copied within CVS repository from
+	  grass/src/imagery/i.points/input.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/group.c: copied within CVS repository from
+	  grass/src/imagery/i.points/group.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/graphics.c: copied within CVS repository from
+	  grass/src/imagery/i.points/graphics.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/globals.h: copied within CVS repository from
+	  grass/src/imagery/i.points/globals.h
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/find.c: copied within CVS repository from
+	  grass/src/imagery/i.points/find.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/equ.c: copied within CVS repository from
+	  grass/src/imagery/i.points/equ.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/driver.c: copied within CVS repository from
+	  grass/src/imagery/i.points/driver.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/drawcell.c: copied within CVS repository from
+	  grass/src/imagery/i.points/drawcell.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/dot.c: copied within CVS repository from
+	  grass/src/imagery/i.points/dot.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/digit.c: copied within CVS repository from
+	  grass/src/imagery/i.points/digit.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/defs.h: copied within CVS repository from
+	  grass/src/imagery/i.points/defs.h
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/debug.c: copied within CVS repository from
+	  grass/src/imagery/i.points/debug.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/curses.c: copied within CVS repository from
+	  grass/src/imagery/i.points/curses.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/conv.c: copied within CVS repository from
+	  grass/src/imagery/i.points/conv.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/colors.c: copied within CVS repository from
+	  grass/src/imagery/i.points/colors.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/cellhd.c: copied within CVS repository from
+	  grass/src/imagery/i.points/cellhd.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/cell.c: copied within CVS repository from
+	  grass/src/imagery/i.points/cell.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/call.c: copied within CVS repository from
+	  grass/src/imagery/i.points/call.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/ask_mag.c: copied within CVS repository from
+	  grass/src/imagery/i.points/ask_mag.c
+
+2004-11-09 13:22  bernhard
+
+	* imagery/i.points/ask.c: copied within CVS repository from
+	  grass/src/imagery/i.points/ask.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.points/analyze.c: copied within CVS repository from
+	  grass/src/imagery/i.points/analyze.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.target/main.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.target/main.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.target/local_proto.h: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.target/local_proto.h
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.target/ask_target.c: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.target/ask_target.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/write.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/write.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/target.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/target.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/rowcol.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/rowcol.h
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/report.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/report.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/rectify.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/rectify.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/README: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/README
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/ps_cp.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/ps_cp.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/perform.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/perform.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/matrix.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/matrix.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/main.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/main.c
+
+2004-11-09 13:21  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/mail.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/mail.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/local_proto.h: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/local_proto.h
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/global.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/global.h
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/get_wind.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/get_wind.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/exec.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/exec.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/equ.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/equ.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/env.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/env.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/defs.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/defs.h
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/cp.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/cp.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/conv.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/conv.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/compress.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/compress.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/aver_z.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/aver_z.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/ask_wind.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/ask_wind.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/ask_files.c: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/ask_files.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/ask_files2.c: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/ask_files2.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.rectify/ask_elev.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.rectify/ask_elev.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.init/mod_info.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.init/mod_info.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.init/main.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/photo.init/main.c
+
+2004-11-09 13:20  bernhard
+
+	* imagery/i.ortho.photo/photo.init/initial.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.init/initial.h
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.init/globals.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.init/globals.h
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.init/camera.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.init/camera.h
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.elev/mod_elev.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.elev/mod_elev.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.elev/main.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/photo.elev/main.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.elev/local_proto.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.elev/local_proto.h
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.elev/elev.h: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/photo.elev/elev.h
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.elev/ask_elev.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.elev/ask_elev.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/zoom_pnt.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/zoom_pnt.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/zoom.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/zoom.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/zoom_box.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/zoom_box.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/where.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/where.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/view.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/view.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/use_camera.c: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/use_camera.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/title.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/title.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/target.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/target.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/points.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/points.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/mouse.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/mouse.c
+
+2004-11-09 13:19  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/mark.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/mark.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/main.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/main.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/local_proto.h: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/local_proto.h
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/input.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/input.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/group.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/group.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/graphics.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/graphics.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/globals.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/globals.h
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/find.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/find.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/equ.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/equ.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/driver.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/driver.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/drawcell.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/drawcell.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/drawcam.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/drawcam.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/dot.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/dot.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/defs.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/defs.h
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/curses.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/curses.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/conv.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/conv.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/colors.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/colors.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/cellhd.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/cellhd.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/cell.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/cell.c
+
+2004-11-09 13:18  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/camera_ref.h: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/camera_ref.h
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/call.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/call.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/ask_mag.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/ask_mag.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/ask.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/ask.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/photo.2image/analyze.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2image/analyze.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/menu/menu.c: copied within CVS repository
+	  from grass/src/imagery/i.ortho.photo/menu/menu.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/menu/local_proto.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/menu/local_proto.h
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/orthoref.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/orthoref.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/orthophoto.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/orthophoto.h
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/m_mult.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/m_mult.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/m_inverse.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/m_inverse.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/matrixdefs.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/matrixdefs.h
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/mat.h: copied within CVS repository
+	  from grass/src/imagery/i.ortho.photo/libes/mat.h
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/m_add.c: copied within CVS repository
+	  from grass/src/imagery/i.ortho.photo/libes/m_add.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/ls_elev.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/ls_elev.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/local_proto.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/local_proto.h
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/isnull.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/isnull.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/init.c: copied within CVS repository
+	  from grass/src/imagery/i.ortho.photo/libes/init.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/group_elev.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/group_elev.c
+
+2004-11-09 13:17  bernhard
+
+	* imagery/i.ortho.photo/libes/funcdefs.h: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/funcdefs.h
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.ortho.photo/libes/find_init.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/find_init.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.ortho.photo/libes/camera.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/camera.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.ortho.photo/libes/cam.c: copied within CVS repository
+	  from grass/src/imagery/i.ortho.photo/libes/cam.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.ortho.photo/libes/ask_camera.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/ask_camera.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.ortho.photo/alg_camera_position.txt: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/alg_camera_position.txt
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.fft/orig_wind.c, imagery/i.ifft/orig_wind.c: copied
+	  within CVS repository from
+	  grass/src/imagery/i.fft/cmd/orig_wind.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.fft/local_proto.h, imagery/i.ifft/local_proto.h: copied
+	  within CVS repository from
+	  grass/src/imagery/i.fft/cmd/local_proto.h
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.ifft/ifftmain.c: copied within CVS repository from
+	  grass/src/imagery/i.fft/cmd/ifftmain.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.fft/globals.h, imagery/i.ifft/globals.h: copied within
+	  CVS repository from grass/src/imagery/i.fft/cmd/globals.h
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.fft/fft_colors.c, imagery/i.ifft/fft_colors.c: copied
+	  within CVS repository from
+	  grass/src/imagery/i.fft/cmd/fft_colors.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.fft/do_histogram.c, imagery/i.ifft/do_histogram.c:
+	  copied within CVS repository from
+	  grass/src/imagery/i.fft/cmd/do_histogram.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.group/main.c: copied within CVS repository from
+	  grass/src/imagery/i.group/cmd/main.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.group/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.group/cmd/local_proto.h
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.gensigset/write_sig.c: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/write_sig.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.gensigset/subcluster.c: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/subcluster.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.gensigset/read_train.c: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/read_train.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.gensigset/read_data.c: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/read_data.c
+
+2004-11-09 13:16  bernhard
+
+	* imagery/i.gensigset/parse.c: copied within CVS repository from
+	  grass/src/imagery/i.gensigset/cmd/parse.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/parms.h: copied within CVS repository from
+	  grass/src/imagery/i.gensigset/cmd/parms.h
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/openfiles.c: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/openfiles.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/opencell.c: copied within CVS repository from
+	  grass/src/imagery/i.gensigset/cmd/opencell.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/main.c: copied within CVS repository from
+	  grass/src/imagery/i.gensigset/cmd/main.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/lookup_class.c: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/lookup_class.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/local_proto.h: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/local_proto.h
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/labels.c: copied within CVS repository from
+	  grass/src/imagery/i.gensigset/cmd/labels.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/invert.c: copied within CVS repository from
+	  grass/src/imagery/i.gensigset/cmd/invert.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/get_train.c: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/get_train.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/files.h: copied within CVS repository from
+	  grass/src/imagery/i.gensigset/cmd/files.h
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/DIR: copied within CVS repository from
+	  grass/src/imagery/i.gensigset/cmd/DIR
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.gensigset/closefiles.c: copied within CVS repository
+	  from grass/src/imagery/i.gensigset/cmd/closefiles.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.find/main.c: copied within CVS repository from
+	  grass/src/imagery/i.find/main.c
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.find/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.find/local_proto.h
+
+2004-11-09 13:15  bernhard
+
+	* imagery/i.fft/save_fft.c: copied within CVS repository from
+	  grass/src/imagery/i.fft/cmd/save_fft.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.fft/fftmain.c: copied within CVS repository from
+	  grass/src/imagery/i.fft/cmd/fftmain.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/timer.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/timer.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/print6.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/print6.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/print5.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/print5.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/print4.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/print4.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/print3.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/print3.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/print2.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/print2.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/print1.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/print1.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/open_files.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/open_files.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/main.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/main.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/local_proto.h: copied within CVS repository
+	  from grass/src/imagery/i.cluster/cmd/local_proto.h
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/global.h: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/global.h
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.cluster/checkpt.c: copied within CVS repository from
+	  grass/src/imagery/i.cluster/cmd/checkpt.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.class/zoom_box.c: copied within CVS repository from
+	  grass/src/imagery/i.class/zoom_box.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.class/view.c: copied within CVS repository from
+	  grass/src/imagery/i.class/view.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.class/title.c: copied within CVS repository from
+	  grass/src/imagery/i.class/title.c
+
+2004-11-09 13:14  bernhard
+
+	* imagery/i.class/signature.c: copied within CVS repository from
+	  grass/src/imagery/i.class/signature.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/sigint.c: copied within CVS repository from
+	  grass/src/imagery/i.class/sigint.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/sigalarm.c: copied within CVS repository from
+	  grass/src/imagery/i.class/sigalarm.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/set_signals.c: copied within CVS repository from
+	  grass/src/imagery/i.class/set_signals.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/save_reg.c: copied within CVS repository from
+	  grass/src/imagery/i.class/save_reg.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/restore_reg.c: copied within CVS repository from
+	  grass/src/imagery/i.class/restore_reg.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/remove_mask.c: copied within CVS repository from
+	  grass/src/imagery/i.class/remove_mask.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/redisplay.c: copied within CVS repository from
+	  grass/src/imagery/i.class/redisplay.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/readbands.c: copied within CVS repository from
+	  grass/src/imagery/i.class/readbands.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/point.h: copied within CVS repository from
+	  grass/src/imagery/i.class/point.h
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/outline.c: copied within CVS repository from
+	  grass/src/imagery/i.class/outline.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/mouse.c: copied within CVS repository from
+	  grass/src/imagery/i.class/mouse.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/main.c: copied within CVS repository from
+	  grass/src/imagery/i.class/main.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.class/local_proto.h
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/input_std.c: copied within CVS repository from
+	  grass/src/imagery/i.class/input_std.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/input_color.c: copied within CVS repository from
+	  grass/src/imagery/i.class/input_color.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/input.c: copied within CVS repository from
+	  grass/src/imagery/i.class/input.c
+
+2004-11-09 13:13  bernhard
+
+	* imagery/i.class/init_reg.c: copied within CVS repository from
+	  grass/src/imagery/i.class/init_reg.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/histograms.c: copied within CVS repository from
+	  grass/src/imagery/i.class/histograms.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/graphics.c: copied within CVS repository from
+	  grass/src/imagery/i.class/graphics.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/globals.h: copied within CVS repository from
+	  grass/src/imagery/i.class/globals.h
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/g_init.c: copied within CVS repository from
+	  grass/src/imagery/i.class/g_init.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/erase_reg.c: copied within CVS repository from
+	  grass/src/imagery/i.class/erase_reg.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/edge_point.c: copied within CVS repository from
+	  grass/src/imagery/i.class/edge_point.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/edge_order.c: copied within CVS repository from
+	  grass/src/imagery/i.class/edge_order.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/edge.c: copied within CVS repository from
+	  grass/src/imagery/i.class/edge.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/driver.c: copied within CVS repository from
+	  grass/src/imagery/i.class/driver.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/draw_reg.c: copied within CVS repository from
+	  grass/src/imagery/i.class/draw_reg.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/draw_cell.c: copied within CVS repository from
+	  grass/src/imagery/i.class/draw_cell.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/del_point.c: copied within CVS repository from
+	  grass/src/imagery/i.class/del_point.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/defs.h: copied within CVS repository from
+	  grass/src/imagery/i.class/defs.h
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/define_reg.c: copied within CVS repository from
+	  grass/src/imagery/i.class/define_reg.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/curses.c: copied within CVS repository from
+	  grass/src/imagery/i.class/curses.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/conv.c: copied within CVS repository from
+	  grass/src/imagery/i.class/conv.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/complete_reg.c: copied within CVS repository from
+	  grass/src/imagery/i.class/complete_reg.c
+
+2004-11-09 13:12  bernhard
+
+	* imagery/i.class/cellhd.c: copied within CVS repository from
+	  grass/src/imagery/i.class/cellhd.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.class/band_files.c: copied within CVS repository from
+	  grass/src/imagery/i.class/band_files.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.class/ask_files.c: copied within CVS repository from
+	  grass/src/imagery/i.class/ask_files.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.class/analyze_sig.c: copied within CVS repository from
+	  grass/src/imagery/i.class/analyze_sig.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.class/add_point.c: copied within CVS repository from
+	  grass/src/imagery/i.class/add_point.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.cca/transform.c: copied within CVS repository from
+	  grass/src/imagery/i.cca/cmd/transform.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.cca/stats.c: copied within CVS repository from
+	  grass/src/imagery/i.cca/cmd/stats.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.cca/matrix.c: copied within CVS repository from
+	  grass/src/imagery/i.cca/cmd/matrix.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.cca/main.c: copied within CVS repository from
+	  grass/src/imagery/i.cca/cmd/main.c
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.cca/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.cca/cmd/local_proto.h
+
+2004-11-09 13:11  bernhard
+
+	* imagery/i.cca/globals.h: copied within CVS repository from
+	  grass/src/imagery/i.cca/cmd/globals.h
+
+2004-11-09 13:11  bernhard
+
+	* vector/v.vol.rst/Viz.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/Viz.h
+
+2004-11-09 13:11  bernhard
+
+	* vector/v.vol.rst/user.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/user.h
+
+2004-11-09 13:11  bernhard
+
+	* vector/v.vol.rst/userglobs.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/userglobs.h
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/userextern.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/userextern.h
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/user4.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/user4.c
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/user3.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/user3.c
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/user2.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/user2.c
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/user1.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/user1.c
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/surf.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/surf.h
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/README: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/README
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/oct.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/oct.h
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/oct.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/oct.c
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/externs.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/externs.h
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/dataoct.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/dataoct.h
+
+2004-11-09 13:10  bernhard
+
+	* vector/v.vol.rst/dataoct.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/g3d/src3d/sites/s.vol.rst/dataoct.c
+
+2004-11-09 13:10  bernhard
+
+	* sites/s.in.ascii/local_proto.h: copied within CVS repository from
+	  grass/src/sites/s.in.ascii/local_proto.h
+
+2004-11-09 13:10  bernhard
+
+	* sites/s.in.ascii/get_site.c: copied within CVS repository from
+	  grass/src/sites/s.in.ascii/get_site.c
+
+2004-11-09 13:10  bernhard
+
+	* lib/segment/try.c: copied within CVS repository from
+	  grass/src/libes/segment/try.c
+
+2004-11-09 13:10  bernhard
+
+	* lib/segment/setup.c: copied within CVS repository from
+	  grass/src/libes/segment/setup.c
+
+2004-11-09 13:10  bernhard
+
+	* lib/segment/seek.c: copied within CVS repository from
+	  grass/src/libes/segment/seek.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/release.c: copied within CVS repository from
+	  grass/src/libes/segment/release.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/put_row.c: copied within CVS repository from
+	  grass/src/libes/segment/put_row.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/put.c: copied within CVS repository from
+	  grass/src/libes/segment/put.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/patch: copied within CVS repository from
+	  grass/src/libes/segment/patch
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/pageout.c: copied within CVS repository from
+	  grass/src/libes/segment/pageout.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/pagein.c: copied within CVS repository from
+	  grass/src/libes/segment/pagein.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/init.c: copied within CVS repository from
+	  grass/src/libes/segment/init.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/get_row.c: copied within CVS repository from
+	  grass/src/libes/segment/get_row.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/get.c: copied within CVS repository from
+	  grass/src/libes/segment/get.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/format.c: copied within CVS repository from
+	  grass/src/libes/segment/format.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/flush.c: copied within CVS repository from
+	  grass/src/libes/segment/flush.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/debug.c: copied within CVS repository from
+	  grass/src/libes/segment/debug.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/segment/address.c: copied within CVS repository from
+	  grass/src/libes/segment/address.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/front.end/README: copied within CVS repository from
+	  grass/src/front.end/README
+
+2004-11-09 13:09  bernhard
+
+	* lib/front.end/main.c: copied within CVS repository from
+	  grass/src/front.end/main.c
+
+2004-11-09 13:09  bernhard
+
+	* lib/dspf/viz.h: copied within CVS repository from
+	  grass/src/libes/dspf/viz.h
+
+2004-11-09 13:08  bernhard
+
+	* lib/dspf/struct_copy.c: copied within CVS repository from
+	  grass/src/libes/dspf/struct_copy.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/dspf/README: copied within CVS repository from
+	  grass/src/libes/dspf/README
+
+2004-11-09 13:08  bernhard
+
+	* lib/dspf/print_info.c: copied within CVS repository from
+	  grass/src/libes/dspf/print_info.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/dspf/dspf_header.c: copied within CVS repository from
+	  grass/src/libes/dspf/dspf_header.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/dspf/cube_io.c: copied within CVS repository from
+	  grass/src/libes/dspf/cube_io.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/dspf/cell_table.h: copied within CVS repository from
+	  grass/src/libes/dspf/cell_table.h
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/update.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/update.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/open_update.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/open_update.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/open_select.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/open_select.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/open_insert.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/open_insert.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/opendb.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/opendb.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/list_tables.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/list_tables.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/list_index.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/list_index.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/listdb.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/listdb.c
+
+2004-11-09 13:08  bernhard
+
+	* lib/db/stubs/insert.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/insert.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/init.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/init.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/finish.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/finish.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/finddb.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/finddb.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/fetch.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/fetch.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/drop_table.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/drop_table.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/drop_index.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/drop_index.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/deletedb.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/deletedb.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/delete.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/delete.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/create_table.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/create_table.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/create_index.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/create_index.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/createdb.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/createdb.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/closedb.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/closedb.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/close_cursor.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/close_cursor.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/bindupdate.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/bindupdate.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/db/stubs/begin_work.x: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/begin_work.x
+
+2004-11-09 13:07  bernhard
+
+	* lib/bitmap/sparse.c: copied within CVS repository from
+	  grass/src/libes/bitmap/sparse.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/bitmap/smain.c: copied within CVS repository from
+	  grass/src/libes/bitmap/smain.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/bitmap/main.c: copied within CVS repository from
+	  grass/src/libes/bitmap/main.c
+
+2004-11-09 13:07  bernhard
+
+	* lib/bitmap/bitmap.c: copied within CVS repository from
+	  grass/src/libes/bitmap/bitmap.c
+
+2004-11-09 13:06  bernhard
+
+	* include/V_.h: copied within CVS repository from
+	  grass/src/include/V_.h
+
+2004-11-09 13:06  bernhard
+
+	* include/vbuildlib.h: copied within CVS repository from
+	  grass/src/include/vbuildlib.h
+
+2004-11-09 13:06  bernhard
+
+	* include/vask.h: copied within CVS repository from
+	  grass/src/include/vask.h
+
+2004-11-09 13:06  bernhard
+
+	* include/transform.h: copied within CVS repository from
+	  grass/src/include/transform.h
+
+2004-11-09 13:06  bernhard
+
+	* include/std_incs.h: copied within CVS repository from
+	  grass/src/include/std_incs.h
+
+2004-11-09 13:06  bernhard
+
+	* include/spawn.h: copied within CVS repository from
+	  grass/src/include/spawn.h
+
+2004-11-09 13:06  bernhard
+
+	* include/sitelib.h: copied within CVS repository from
+	  grass/src/include/sitelib.h
+
+2004-11-09 13:06  bernhard
+
+	* include/site.h: copied within CVS repository from
+	  grass/src/include/site.h
+
+2004-11-09 13:06  bernhard
+
+	* include/shhopt.h: copied within CVS repository from
+	  grass/src/include/shhopt.h
+
+2004-11-09 13:06  bernhard
+
+	* include/segment.h: copied within CVS repository from
+	  grass/src/include/segment.h
+
+2004-11-09 13:06  bernhard
+
+	* include/search.h: copied within CVS repository from
+	  grass/src/include/search.h
+
+2004-11-09 13:06  bernhard
+
+	* include/rowio.h: copied within CVS repository from
+	  grass/src/include/rowio.h
+
+2004-11-09 13:06  bernhard
+
+	* include/region_bm.h: copied within CVS repository from
+	  grass/src/include/region_bm.h
+
+2004-11-09 13:06  bernhard
+
+	* include/readsites.h: copied within CVS repository from
+	  grass/src/include/readsites.h
+
+2004-11-09 13:06  bernhard
+
+	* include/P_datetime.h: copied within CVS repository from
+	  grass/src/include/P_datetime.h
+
+2004-11-09 13:06  bernhard
+
+	* include/pbmplus.h: copied within CVS repository from
+	  grass/src/include/pbmplus.h
+
+2004-11-09 13:06  bernhard
+
+	* include/patterns.h: copied within CVS repository from
+	  grass/src/include/patterns.h
+
+2004-11-09 13:06  bernhard
+
+	* include/Paintlib.h: copied within CVS repository from
+	  grass/src/include/Paintlib.h
+
+2004-11-09 13:05  bernhard
+
+	* include/ortholib.h: copied within CVS repository from
+	  grass/src/include/ortholib.h
+
+2004-11-09 13:05  bernhard
+
+	* include/monitors.h: copied within CVS repository from
+	  grass/src/include/monitors.h
+
+2004-11-09 13:05  bernhard
+
+	* include/lock.h: copied within CVS repository from
+	  grass/src/include/lock.h
+
+2004-11-09 13:05  bernhard
+
+	* include/linkm.h: copied within CVS repository from
+	  grass/src/include/linkm.h
+
+2004-11-09 13:05  bernhard
+
+	* include/lapack.h: copied within CVS repository from
+	  grass/src/include/lapack.h
+
+2004-11-09 13:05  bernhard
+
+	* include/la.h: copied within CVS repository from
+	  grass/src/include/la.h
+
+2004-11-09 13:05  bernhard
+
+	* include/label_bm.h: copied within CVS repository from
+	  grass/src/include/label_bm.h
+
+2004-11-09 13:05  bernhard
+
+	* include/imagery.h: copied within CVS repository from
+	  grass/src/include/imagery.h
+
+2004-11-09 13:05  bernhard
+
+	* include/imagedefs.h: copied within CVS repository from
+	  grass/src/include/imagedefs.h
+
+2004-11-09 13:05  bernhard
+
+	* include/icon.h: copied within CVS repository from
+	  grass/src/include/icon.h
+
+2004-11-09 13:05  bernhard
+
+	* include/icon_bm.h: copied within CVS repository from
+	  grass/src/include/icon_bm.h
+
+2004-11-09 13:05  bernhard
+
+	* include/ibtree.h: copied within CVS repository from
+	  grass/src/include/ibtree.h
+
+2004-11-09 13:05  bernhard
+
+	* include/help.h: copied within CVS repository from
+	  grass/src/include/help.h
+
+2004-11-09 13:05  bernhard
+
+	* include/graph.h: copied within CVS repository from
+	  grass/src/libes/raster/graph.h
+
+2004-11-09 13:05  bernhard
+
+	* include/gproj_api.h: copied within CVS repository from
+	  grass/src/include/gproj_api.h
+
+2004-11-09 13:05  bernhard
+
+	* include/gmath.h: copied within CVS repository from
+	  grass/src/include/gmath.h
+
+2004-11-09 13:05  bernhard
+
+	* include/glocale.h: copied within CVS repository from
+	  grass/src/include/glocale.h
+
+2004-11-09 13:04  bernhard
+
+	* include/geom.h: copied within CVS repository from
+	  grass/src/include/geom.h
+
+2004-11-09 13:04  bernhard
+
+	* include/geo.h: copied within CVS repository from
+	  grass/src/include/geo.h
+
+2004-11-09 13:04  bernhard
+
+	* include/G3d.h: copied within CVS repository from
+	  grass/src/include/G3d.h
+
+2004-11-09 13:04  bernhard
+
+	* include/edit.h: copied within CVS repository from
+	  grass/src/include/edit.h
+
+2004-11-09 13:04  bernhard
+
+	* include/dlg.h: copied within CVS repository from
+	  grass/src/include/dlg.h
+
+2004-11-09 13:04  bernhard
+
+	* include/dlg_bm.h: copied within CVS repository from
+	  grass/src/include/dlg_bm.h
+
+2004-11-09 13:04  bernhard
+
+	* include/display.h: copied within CVS repository from
+	  grass/src/include/display.h
+
+2004-11-09 13:04  bernhard
+
+	* include/dig_atts.h: copied within CVS repository from
+	  grass/src/include/dig_atts.h
+
+2004-11-09 13:04  bernhard
+
+	* include/D.h: copied within CVS repository from
+	  grass/src/include/D.h
+
+2004-11-09 13:04  bernhard
+
+	* include/devlib.h: copied within CVS repository from
+	  grass/src/include/devlib.h
+
+2004-11-09 13:04  bernhard
+
+	* include/datetime.h: copied within CVS repository from
+	  grass/src/include/datetime.h
+
+2004-11-09 13:04  bernhard
+
+	* include/colors.h: copied within CVS repository from
+	  grass/src/include/colors.h
+
+2004-11-09 13:04  bernhard
+
+	* include/CC.h: copied within CVS repository from
+	  grass/src/include/CC.h
+
+2004-11-09 13:04  bernhard
+
+	* include/btree.h: copied within CVS repository from
+	  grass/src/include/btree.h
+
+2004-11-09 13:04  bernhard
+
+	* include/blas.h: copied within CVS repository from
+	  grass/src/include/blas.h
+
+2004-11-09 13:04  bernhard
+
+	* include/bitmap.h: copied within CVS repository from
+	  grass/src/include/bitmap.h
+
+2004-11-09 13:03  bernhard
+
+	* include/bdlg_bm.h: copied within CVS repository from
+	  grass/src/include/bdlg_bm.h
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/write_img.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/shapiro/write_img.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/read_sig.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/shapiro/read_sig.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/parse.c: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/shapiro/parse.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/openfiles.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/shapiro/openfiles.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/opencell.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/shapiro/opencell.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/main.c: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/shapiro/main.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/local_proto.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.smap/cmd/shapiro/local_proto.h
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/labels.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/shapiro/labels.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/history.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/shapiro/history.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/shapiro/closefiles.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/shapiro/closefiles.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/bouman/solve.c: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/bouman/solve.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/bouman/segment.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/bouman/segment.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/bouman/reg_util.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/bouman/reg_util.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/bouman/region.h: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/bouman/region.h
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/bouman/read_block.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/bouman/read_block.c
+
+2004-11-09 13:03  bernhard
+
+	* imagery/i.smap/bouman/multialloc.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/bouman/multialloc.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.smap/bouman/model.c: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/bouman/model.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.smap/bouman/invert.c: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/bouman/invert.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.smap/bouman/interp.c: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/bouman/interp.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.smap/bouman/eigen.c: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/bouman/eigen.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.smap/bouman/decimate.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/bouman/decimate.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.smap/bouman/bouman.h: copied within CVS repository from
+	  grass/src/imagery/i.smap/cmd/bouman/bouman.h
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.smap/bouman/alpha_max.c: copied within CVS repository
+	  from grass/src/imagery/i.smap/cmd/bouman/alpha_max.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.rectify/write.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/write.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.rectify/target.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/target.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.rectify/rowcol.h: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/rowcol.h
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.rectify/report.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/report.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.rectify/rectify.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/rectify.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.rectify/README: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/README
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.rectify/perform.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/perform.c
+
+2004-11-09 13:02  bernhard
+
+	* imagery/i.rectify/matrix.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/matrix.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/main.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/main.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/mail.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/mail.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/global.h: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/global.h
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/get_wind.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/get_wind.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/exec.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/exec.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/env.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/env.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/crs.h: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/crs.h
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/crs.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/crs.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/cp.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/cp.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.rectify/compress.c: copied within CVS repository from
+	  grass/src/imagery/i.rectify2/cmd/compress.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.pca/main.c: copied within CVS repository from
+	  grass/src/imagery/i.pca/cmd/main.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.pca/globals.h: copied within CVS repository from
+	  grass/src/imagery/i.pca/cmd/globals.h
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.ortho.photo/README: copied within CVS repository from
+	  grass/src/imagery/i.ortho.photo/README
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.ortho.photo/photo.camera/mod_cam_info.c: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.camera/mod_cam_info.c
+
+2004-11-09 13:01  bernhard
+
+	* imagery/i.ortho.photo/photo.camera/main.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.camera/main.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.camera/globals.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.camera/globals.h
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.camera/defines.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.camera/defines.h
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.camera/camera.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.camera/camera.h
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/zoom_pnt.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/zoom_pnt.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/zoom.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/zoom.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/zoom_box.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/zoom_box.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/where.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/where.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/view.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/view.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/title.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/title.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/target.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/target.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/points.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/points.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/mouse.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/mouse.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/mark.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/mark.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/main.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/main.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/local_proto.h: copied within
+	  CVS repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/local_proto.h
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/input.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/input.c
+
+2004-11-09 13:00  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/group.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/group.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/graphics.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/graphics.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/globals.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/globals.h
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/find.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/find.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/equ.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/equ.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/driver.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/driver.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/drawcell.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/drawcell.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/dot.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/dot.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/digit.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/digit.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/defs.h: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/defs.h
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/curses.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/curses.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/conv.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/conv.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/colors.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/colors.c
+
+2004-11-09 12:59  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/cellhd.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/cellhd.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/cell.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/cell.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/call.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/call.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/ask_mag.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/ask_mag.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/ask.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/ask.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/photo.2target/analyze.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/photo.2target/analyze.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/libes/title_camera.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/title_camera.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/libes/ref_points.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/ref_points.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/libes/open_camera.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/open_camera.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/libes/m_zero.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/m_zero.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/libes/m_transpose.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/m_transpose.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/libes/m_copy.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/m_copy.c
+
+2004-11-09 12:58  bernhard
+
+	* imagery/i.ortho.photo/libes/ls_cameras.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/ls_cameras.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/libes/init_info.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/init_info.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/libes/georef.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/georef.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/libes/fopen_camera.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/fopen_camera.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/libes/find_camera.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/find_camera.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/libes/error.c: copied within CVS repository
+	  from grass/src/imagery/i.ortho.photo/libes/error.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/libes/elev.c: copied within CVS repository
+	  from grass/src/imagery/i.ortho.photo/libes/elev.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/libes/conz_points.c: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/libes/conz_points.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/libes/cam_info.c: copied within CVS
+	  repository from grass/src/imagery/i.ortho.photo/libes/cam_info.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/BUGS: copied within CVS repository from
+	  grass/src/imagery/i.ortho.photo/BUGS
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.ortho.photo/alg_photo_rectify.txt: copied within CVS
+	  repository from
+	  grass/src/imagery/i.ortho.photo/alg_photo_rectify.txt
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.maxlik/open.c: copied within CVS repository from
+	  grass/src/imagery/i.maxlik/cmd/open.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.maxlik/main.c: copied within CVS repository from
+	  grass/src/imagery/i.maxlik/cmd/main.c
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.maxlik/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.maxlik/cmd/local_proto.h
+
+2004-11-09 12:57  bernhard
+
+	* imagery/i.maxlik/invert.c: copied within CVS repository from
+	  grass/src/imagery/i.maxlik/cmd/invert.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.maxlik/hist.c: copied within CVS repository from
+	  grass/src/imagery/i.maxlik/cmd/hist.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.maxlik/global.h: copied within CVS repository from
+	  grass/src/imagery/i.maxlik/cmd/global.h
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.maxlik/classify.c: copied within CVS repository from
+	  grass/src/imagery/i.maxlik/cmd/classify.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.his.rgb/openfiles.c: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/openfiles.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.his.rgb/his2rgb.c: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/his2rgb.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.his.rgb/h2rmain.c: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/h2rmain.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.his.rgb/globals.h: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/globals.h
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.his.rgb/closefiles.c: copied within CVS repository from
+	  grass/src/imagery/i.rgb.his/cmd/closefiles.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.gensig/write_sig.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/write_sig.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.gensig/signature.h: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/signature.h
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.gensig/read_train.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/read_train.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.gensig/print_sig.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/print_sig.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.gensig/parse.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/parse.c
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.gensig/parms.h: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/parms.h
+
+2004-11-09 12:56  bernhard
+
+	* imagery/i.gensig/openfiles.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/openfiles.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/opencell.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/opencell.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/means.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/means.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/main.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/main.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/lookup_class.c: copied within CVS repository
+	  from grass/src/imagery/i.gensig/cmd/lookup_class.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/local_proto.h
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/labels.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/labels.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/init_sig.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/init_sig.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/get_train.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/get_train.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/files.h: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/files.h
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/eigen.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/eigen.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/covariance.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/covariance.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/copy.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/copy.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/closefiles.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/closefiles.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/check.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/check.c
+
+2004-11-09 12:55  bernhard
+
+	* imagery/i.gensig/can_invert.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/can_invert.c
+
+2004-11-09 12:54  bernhard
+
+	* imagery/i.gensig/alloc.c: copied within CVS repository from
+	  grass/src/imagery/i.gensig/cmd/alloc.c
+
+2004-11-09 12:54  bernhard
+
+	* imagery/i.ask/popup.c: copied within CVS repository from
+	  grass/src/imagery/i.ask/popup.c
+
+2004-11-09 12:54  bernhard
+
+	* imagery/i.ask/main.c: copied within CVS repository from
+	  grass/src/imagery/i.ask/main.c
+
+2004-11-09 12:54  bernhard
+
+	* imagery/i.ask/local_proto.h: copied within CVS repository from
+	  grass/src/imagery/i.ask/local_proto.h
+
+2004-11-09 12:54  bernhard
+
+	* display/d.zoom/set.c: copied within CVS repository from
+	  grass/src/display/d.zoom/cmd/set.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.zoom/returns.c: copied within CVS repository from
+	  grass/src/display/d.zoom/cmd/returns.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.zoom/redraw.c: copied within CVS repository from
+	  grass/src/display/d.zoom/cmd/redraw.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.zoom/print.c: copied within CVS repository from
+	  grass/src/display/d.zoom/cmd/print.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.zoom/graphics.h: copied within CVS repository from
+	  grass/src/display/d.zoom/cmd/graphics.h
+
+2004-11-09 12:54  bernhard
+
+	* display/d.zoom/center.c: copied within CVS repository from
+	  grass/src/display/d.zoom/cmd/center.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.zoom/box.c: copied within CVS repository from
+	  grass/src/display/d.zoom/cmd/box.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.zoom/ask.c: copied within CVS repository from
+	  grass/src/display/d.zoom/cmd/ask.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.where/where.c: copied within CVS repository from
+	  grass/src/display/d.where/cmd/where.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.where/main.c: copied within CVS repository from
+	  grass/src/display/d.where/cmd/main.c
+
+2004-11-09 12:54  bernhard
+
+	* display/d.where/local_proto.h: copied within CVS repository from
+	  grass/src/display/d.where/cmd/local_proto.h
+
+2004-11-09 12:54  bernhard
+
+	* display/d.where/b_w_line.c: copied within CVS repository from
+	  grass/src/display/d.where/cmd/b_w_line.c
+
+2004-11-09 12:53  bernhard
+
+	* display/d.what.rast/what.h: copied within CVS repository from
+	  grass/src/display/d.what.rast/cmd/what.h
+
+2004-11-09 12:53  bernhard
+
+	* display/d.what.rast/what.c: copied within CVS repository from
+	  grass/src/display/d.what.rast/cmd/what.c
+
+2004-11-09 12:53  bernhard
+
+	* display/d.what.rast/show.c: copied within CVS repository from
+	  grass/src/display/d.what.rast/cmd/show.c
+
+2004-11-09 12:53  bernhard
+
+	* display/d.what.rast/opencell.c: copied within CVS repository from
+	  grass/src/display/d.what.rast/cmd/opencell.c
+
+2004-11-09 12:53  bernhard
+
+	* display/d.what.rast/main.c: copied within CVS repository from
+	  grass/src/display/d.what.rast/cmd/main.c
+
+2004-11-09 12:53  bernhard
+
+	* display/d.what.rast/local_proto.h: copied within CVS repository
+	  from grass/src/display/d.what.rast/cmd/local_proto.h
+
+2004-11-09 12:53  bernhard
+
+	* display/d.title/options.h: copied within CVS repository from
+	  grass/src/display/d.title/cmd/options.h
+
+2004-11-09 12:53  bernhard
+
+	* display/d.title/normal.c: copied within CVS repository from
+	  grass/src/display/d.title/cmd/normal.c
+
+2004-11-09 12:53  bernhard
+
+	* display/d.title/main.c: copied within CVS repository from
+	  grass/src/display/d.title/cmd/main.c
+
+2004-11-09 12:53  bernhard
+
+	* display/d.title/local_proto.h: copied within CVS repository from
+	  grass/src/display/d.title/cmd/local_proto.h
+
+2004-11-09 12:53  bernhard
+
+	* display/d.title/fancy.c: copied within CVS repository from
+	  grass/src/display/d.title/cmd/fancy.c
+
+2004-11-09 12:53  bernhard
+
+	* display/d.text/test.input: copied within CVS repository from
+	  grass/src/display/d.text/cmd/test.input
+
+2004-11-09 12:53  bernhard
+
+	* display/d.text/main.c: copied within CVS repository from
+	  grass/src/display/d.text/cmd/main.c
+
+2004-11-09 12:52  bernhard
+
+	* display/d.text/locals.hh: copied within CVS repository from
+	  grass/src/display/d.text/cmd/locals.hh
+
+2004-11-09 12:52  bernhard
+
+	* display/d.text.freetype/test.input: copied within CVS repository
+	  from grass/src/display/d.text.freetype/test.input
+
+2004-11-09 12:52  bernhard
+
+	* display/d.text.freetype/README: copied within CVS repository from
+	  grass/src/display/d.text.freetype/README
+
+2004-11-09 12:52  bernhard
+
+	* display/d.text.freetype/main.c: copied within CVS repository from
+	  grass/src/display/d.text.freetype/main.c
+
+2004-11-09 12:52  bernhard
+
+	* display/d.text.freetype/freetypecap: copied within CVS repository
+	  from grass/src/display/d.text.freetype/freetypecap
+
+2004-11-09 12:52  bernhard
+
+	* display/d.save/main.c: copied within CVS repository from
+	  grass/src/display/d.save/main.c
+
+2004-11-09 12:52  bernhard
+
+	* display/d.save/locals.h: copied within CVS repository from
+	  grass/src/display/d.save/locals.h
+
+2004-11-09 12:52  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/XDRIVER.h: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/XDRIVER.h
+
+2004-11-09 12:52  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Work.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Work.c
+
+2004-11-09 12:52  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Respond.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Respond.c
+
+2004-11-09 12:52  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/README: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/README
+
+2004-11-09 12:52  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Raster_RGB.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Raster_RGB.c
+
+2004-11-09 12:52  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Raster.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Raster.c
+
+2004-11-09 12:52  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Polygn_abs.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Polygn_abs.c
+
+2004-11-09 12:52  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Plylne_abs.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Plylne_abs.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Panel.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Panel.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/local_vars.h: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/local_vars.h
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/local_proto.h: copied within
+	  CVS repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/local_proto.h
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/includes.h: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/includes.h
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/icon.bit.grass5: copied within
+	  CVS repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/icon.bit.grass5
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/icon.bit.cerl: copied within
+	  CVS repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/icon.bit.cerl
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/icon.bit.3: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/icon.bit.3
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/icon.bit: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/icon.bit
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Graph_Clse.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Graph_Clse.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Draw_line.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Draw_line.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Color.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Color.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Clr_table.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Clr_table.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Client.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Client.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Can_do.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Can_do.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/Box_abs.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/Box_abs.c
+
+2004-11-09 12:51  bernhard
+
+	* display/drivers/XDRIVER/XDRIVER24/alloc.c: copied within CVS
+	  repository from
+	  grass/src/display/devices/XDRIVER/XDRIVER24/alloc.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/write.c: copied within CVS repository from
+	  grass/src/display/devices/PNGdriver/write.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Respond.c: copied within CVS repository from
+	  grass/src/display/devices/PNGdriver/Respond.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/README: copied within CVS repository from
+	  grass/src/display/devices/PNGdriver/README
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Raster_int.c: copied within CVS repository
+	  from grass/src/display/devices/PNGdriver/Raster_int.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Polygn_abs.c: copied within CVS repository
+	  from grass/src/display/devices/PNGdriver/Polygn_abs.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/pngdriver.h: copied within CVS repository
+	  from grass/src/display/devices/PNGdriver/pngdriver.h
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Panel.c: copied within CVS repository from
+	  grass/src/display/devices/PNGdriver/Panel.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/moncap.entry: copied within CVS repository
+	  from grass/src/display/devices/PNGdriver/moncap.entry
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Graph_Set.c: copied within CVS repository
+	  from grass/src/display/devices/PNGdriver/Graph_Set.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Graph_Clse.c: copied within CVS repository
+	  from grass/src/display/devices/PNGdriver/Graph_Clse.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Draw_line.c: copied within CVS repository
+	  from grass/src/display/devices/PNGdriver/Draw_line.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Color.c: copied within CVS repository from
+	  grass/src/display/devices/PNGdriver/Color.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Clr_table.c: copied within CVS repository
+	  from grass/src/display/devices/PNGdriver/Clr_table.c
+
+2004-11-09 12:50  bernhard
+
+	* display/drivers/PNG/Client.c: copied within CVS repository from
+	  grass/src/display/devices/PNGdriver/Client.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/PNG/Can_do.c: copied within CVS repository from
+	  grass/src/display/devices/PNGdriver/Can_do.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/PNG/Box_abs.c: copied within CVS repository from
+	  grass/src/display/devices/PNGdriver/Box_abs.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/monitorcap/monitorcap: copied within CVS
+	  repository from grass/src/display/devices/monitorcap/monitorcap
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Work.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Work.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/utils.h: copied within CVS repository from
+	  grass/src/display/devices/lib/utils.h
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/utils.c: copied within CVS repository from
+	  grass/src/display/devices/lib/utils.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Text_size.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Text_size.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Text2.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Text2.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Set_window.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Set_window.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/RGB.c: copied within CVS repository from
+	  grass/src/display/devices/lib/RGB.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Returns.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Returns.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Respond.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Respond.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Reset_clrs.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Reset_clrs.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/README: copied within CVS repository from
+	  grass/src/display/devices/lib/README
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Raster_int.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Raster_int.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Raster_def.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Raster_def.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Raster_chr.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Raster_chr.c
+
+2004-11-09 12:49  bernhard
+
+	* display/drivers/lib/Polygn_rel.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Polygn_rel.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Plylne_rel.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Plylne_rel.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Plylne_abs.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Plylne_abs.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Plydts_rel.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Plydts_rel.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Plydts_abs.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Plydts_abs.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/pad.h: copied within CVS repository from
+	  grass/src/display/devices/lib/pad.h
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/pad.c: copied within CVS repository from
+	  grass/src/display/devices/lib/pad.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Num_colors.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Num_colors.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Move_rel.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Move_rel.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Move_abs.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Move_abs.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/main.c: copied within CVS repository from
+	  grass/src/display/devices/lib/main.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Linemod.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Linemod.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/font.c: copied within CVS repository from
+	  grass/src/display/devices/lib/font.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Erase.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Erase.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/driver.h: copied within CVS repository from
+	  grass/src/display/devices/lib/driver.h
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Cont_rel.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Cont_rel.c
+
+2004-11-09 12:48  bernhard
+
+	* display/drivers/lib/Cont_abs.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Cont_abs.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/connect_sock.c: copied within CVS repository
+	  from grass/src/display/devices/lib/connect_sock.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/connect_fifo.c: copied within CVS repository
+	  from grass/src/display/devices/lib/connect_fifo.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/color_supp.c: copied within CVS repository
+	  from grass/src/display/devices/lib/color_supp.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/Color.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Color.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/Clr_table.c: copied within CVS repository
+	  from grass/src/display/devices/lib/Clr_table.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/clip.c: copied within CVS repository from
+	  grass/src/display/devices/lib/clip.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/Client.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Client.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/Box_rel.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Box_rel.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/lib/Box_abs.c: copied within CVS repository from
+	  grass/src/display/devices/lib/Box_abs.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/HTMLMAP/Text.c: copied within CVS repository from
+	  grass/src/display/devices/HTMLMAP/Text.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/HTMLMAP/Reset_clr.c: copied within CVS repository
+	  from grass/src/display/devices/HTMLMAP/Reset_clr.c
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/HTMLMAP/README: copied within CVS repository from
+	  grass/src/display/devices/HTMLMAP/README
+
+2004-11-09 12:47  bernhard
+
+	* display/drivers/HTMLMAP/Polygn_abs.c: copied within CVS
+	  repository from grass/src/display/devices/HTMLMAP/Polygn_abs.c
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/Panel.c: copied within CVS repository
+	  from grass/src/display/devices/HTMLMAP/Panel.c
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/moncap.entry: copied within CVS
+	  repository from grass/src/display/devices/HTMLMAP/moncap.entry
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/local_proto.h: copied within CVS
+	  repository from grass/src/display/devices/HTMLMAP/local_proto.h
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/htmlmap.h: copied within CVS repository
+	  from grass/src/display/devices/HTMLMAP/htmlmap.h
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/Graph_Set.c: copied within CVS repository
+	  from grass/src/display/devices/HTMLMAP/Graph_Set.c
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/Graph_Clse.c: copied within CVS
+	  repository from grass/src/display/devices/HTMLMAP/Graph_Clse.c
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/Draw_line.c: copied within CVS repository
+	  from grass/src/display/devices/HTMLMAP/Draw_line.c
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/Color.c: copied within CVS repository
+	  from grass/src/display/devices/HTMLMAP/Color.c
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/changes.FEB2001: copied within CVS
+	  repository from grass/src/display/devices/HTMLMAP/changes.FEB2001
+
+2004-11-09 12:46  bernhard
+
+	* display/drivers/HTMLMAP/Can_do.c: copied within CVS repository
+	  from grass/src/display/devices/HTMLMAP/Can_do.c
+
+2004-11-09 12:46  bernhard
+
+	* display/d.rhumbline/plot.c: copied within CVS repository from
+	  grass/src/display/d.rhumbline/cmd/plot.c
+
+2004-11-09 12:46  bernhard
+
+	* display/d.rhumbline/mouse.c: copied within CVS repository from
+	  grass/src/display/d.rhumbline/cmd/mouse.c
+
+2004-11-09 12:46  bernhard
+
+	* display/d.rhumbline/main.c: copied within CVS repository from
+	  grass/src/display/d.rhumbline/cmd/main.c
+
+2004-11-09 12:46  bernhard
+
+	* display/d.rhumbline/local_proto.h: copied within CVS repository
+	  from grass/src/display/d.rhumbline/cmd/local_proto.h
+
+2004-11-09 12:46  bernhard
+
+	* display/d.rgb/main.c: copied within CVS repository from
+	  grass/src/display/d.rgb/main.c
+
+2004-11-09 12:46  bernhard
+
+	* display/d.rast.num/number.c: copied within CVS repository from
+	  grass/src/display/d.rast.num/number.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast/mask.h: copied within CVS repository from
+	  grass/src/display/d.rast/cmd/mask.h
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast/mask.c: copied within CVS repository from
+	  grass/src/display/d.rast/cmd/mask.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast/main.c: copied within CVS repository from
+	  grass/src/display/d.rast/cmd/main.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast/local_proto.h: copied within CVS repository from
+	  grass/src/display/d.rast/cmd/local_proto.h
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.edit/mk_tmp_file.c: copied within CVS repository
+	  from grass/src/display/d.rast.edit/mk_tmp_file.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.edit/mk_new_layer.c: copied within CVS repository
+	  from grass/src/display/d.rast.edit/mk_new_layer.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.edit/menu.c: copied within CVS repository from
+	  grass/src/display/d.rast.edit/menu.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.edit/main.c: copied within CVS repository from
+	  grass/src/display/d.rast.edit/main.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.edit/local_proto.h: copied within CVS repository
+	  from grass/src/display/d.rast.edit/local_proto.h
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.edit/edit.h: copied within CVS repository from
+	  grass/src/display/d.rast.edit/edit.h
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.edit/edit.c: copied within CVS repository from
+	  grass/src/display/d.rast.edit/edit.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.edit/draw_grid.c: copied within CVS repository
+	  from grass/src/display/d.rast.edit/draw_grid.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast/display.c: copied within CVS repository from
+	  grass/src/display/d.rast/cmd/display.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast/colors.c: copied within CVS repository from
+	  grass/src/display/d.rast/cmd/colors.c
+
+2004-11-09 12:45  bernhard
+
+	* display/d.rast.arrow/arrow.c: copied within CVS repository from
+	  grass/src/display/d.rast.arrow/arrow.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/What.c: copied within CVS repository from
+	  grass/src/display/d.profile/What.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/utils.c: copied within CVS repository from
+	  grass/src/display/d.profile/utils.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/Range.c: copied within CVS repository from
+	  grass/src/display/d.profile/Range.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/profile.h: copied within CVS repository from
+	  grass/src/display/d.profile/profile.h
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/PlotProfile.c: copied within CVS repository
+	  from grass/src/display/d.profile/PlotProfile.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/main.c: copied within CVS repository from
+	  grass/src/display/d.profile/main.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/InitProfile.c: copied within CVS repository
+	  from grass/src/display/d.profile/InitProfile.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/ExtractProf.c: copied within CVS repository
+	  from grass/src/display/d.profile/ExtractProf.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/DumpProfile.c: copied within CVS repository
+	  from grass/src/display/d.profile/DumpProfile.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/DrawText.c: copied within CVS repository from
+	  grass/src/display/d.profile/DrawText.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.profile/bnw_line.c: copied within CVS repository from
+	  grass/src/display/d.profile/bnw_line.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.nviz/main.c: copied within CVS repository from
+	  grass/src.contrib/GMSL/d.nviz/main.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.nviz/local.h: copied within CVS repository from
+	  grass/src.contrib/GMSL/d.nviz/local.h
+
+2004-11-09 12:44  bernhard
+
+	* display/d.mon/pgms/which.c: copied within CVS repository from
+	  grass/src/display/d.mon/pgms/which.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.mon/pgms/stop.c: copied within CVS repository from
+	  grass/src/display/d.mon/pgms/stop.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.mon/pgms/status.c: copied within CVS repository from
+	  grass/src/display/d.mon/pgms/status.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.mon/pgms/start.c: copied within CVS repository from
+	  grass/src/display/d.mon/pgms/start.c
+
+2004-11-09 12:44  bernhard
+
+	* display/d.mon/pgms/select.c: copied within CVS repository from
+	  grass/src/display/d.mon/pgms/select.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mon/pgms/release.c: copied within CVS repository from
+	  grass/src/display/d.mon/pgms/release.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mon/pgms/open.h: copied within CVS repository from
+	  grass/src/display/d.mon/pgms/open.h
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mon/pgms/local_proto.h: copied within CVS repository
+	  from grass/src/display/d.mon/pgms/local_proto.h
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mon/pgms/list.c: copied within CVS repository from
+	  grass/src/display/d.mon/pgms/list.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mon/cmd/main.c: copied within CVS repository from
+	  grass/src/display/d.mon/cmd/main.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.measure/msurements.c: copied within CVS repository from
+	  grass/src/display/d.measure/cmd/msurements.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.measure/main.c: copied within CVS repository from
+	  grass/src/display/d.measure/cmd/main.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.measure/local_proto.h: copied within CVS repository
+	  from grass/src/display/d.measure/cmd/local_proto.h
+
+2004-11-09 12:43  bernhard
+
+	* display/d.measure/draw_line.c: copied within CVS repository from
+	  grass/src/display/d.measure/cmd/draw_line.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mapgraph/read_line.c: copied within CVS repository from
+	  grass/src/display/d.mapgraph/cmd/read_line.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mapgraph/options.h: copied within CVS repository from
+	  grass/src/display/d.mapgraph/cmd/options.h
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mapgraph/main.c: copied within CVS repository from
+	  grass/src/display/d.mapgraph/cmd/main.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mapgraph/local_proto.h: copied within CVS repository
+	  from grass/src/display/d.mapgraph/cmd/local_proto.h
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mapgraph/graphics.c: copied within CVS repository from
+	  grass/src/display/d.mapgraph/cmd/graphics.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.mapgraph/do_graph.c: copied within CVS repository from
+	  grass/src/display/d.mapgraph/cmd/do_graph.c
+
+2004-11-09 12:43  bernhard
+
+	* display/d.linegraph/linegraph.h: copied within CVS repository
+	  from grass/src.contrib/PURDUE/d.linegraph/cmd/linegraph.h
+
+2004-11-09 12:42  bernhard
+
+	* display/d.linegraph/linegraph.c: copied within CVS repository
+	  from grass/src.contrib/PURDUE/d.linegraph/cmd/linegraph.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.legend/README: copied within CVS repository from
+	  grass/src/display/d.leg.thin/README
+
+2004-11-09 12:42  bernhard
+
+	* display/d.legend/main.c: copied within CVS repository from
+	  grass/src/display/d.leg.thin/main.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.legend/local_proto.h: copied within CVS repository from
+	  grass/src/display/d.leg.thin/local_proto.h
+
+2004-11-09 12:42  bernhard
+
+	* display/d.legend/box.c: copied within CVS repository from
+	  grass/src/display/d.leg.thin/box.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.info/main.c: copied within CVS repository from
+	  grass/src/display/d.info/main.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/pie.h: copied within CVS repository from
+	  grass/src/display/d.histogram/cmd/pie.h
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/pie.c: copied within CVS repository from
+	  grass/src/display/d.histogram/cmd/pie.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/options.h: copied within CVS repository from
+	  grass/src/display/d.histogram/cmd/options.h
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/mytext.c: copied within CVS repository from
+	  grass/src/display/d.histogram/cmd/mytext.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/main.c: copied within CVS repository from
+	  grass/src/display/d.histogram/cmd/main.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/get_stats.c: copied within CVS repository
+	  from grass/src/display/d.histogram/cmd/get_stats.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/draw_slice.c: copied within CVS repository
+	  from grass/src/display/d.histogram/cmd/draw_slice.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/dhist.h: copied within CVS repository from
+	  grass/src/display/d.histogram/cmd/dhist.h
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/bar.h: copied within CVS repository from
+	  grass/src/display/d.histogram/cmd/bar.h
+
+2004-11-09 12:42  bernhard
+
+	* display/d.histogram/bar.c: copied within CVS repository from
+	  grass/src/display/d.histogram/cmd/bar.c
+
+2004-11-09 12:42  bernhard
+
+	* display/d.his/main.c: copied within CVS repository from
+	  grass/src/display/d.his/cmd/main.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.his/his.h: copied within CVS repository from
+	  grass/src/display/d.his/cmd/his.h
+
+2004-11-09 12:41  bernhard
+
+	* display/d.his/his.c: copied within CVS repository from
+	  grass/src/display/d.his/cmd/his.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.grid/plot.c: copied within CVS repository from
+	  grass/src/display/d.grid/cmd/plot.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.grid/plotborder.c: copied within CVS repository from
+	  grass/src/display/d.grid/cmd/plotborder.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.grid/main.c: copied within CVS repository from
+	  grass/src/display/d.grid/cmd/main.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.graph/options.h: copied within CVS repository from
+	  grass/src/display/d.graph/cmd/options.h
+
+2004-11-09 12:41  bernhard
+
+	* display/d.graph/main.c: copied within CVS repository from
+	  grass/src/display/d.graph/cmd/main.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.graph/local_proto.h: copied within CVS repository from
+	  grass/src/display/d.graph/cmd/local_proto.h
+
+2004-11-09 12:41  bernhard
+
+	* display/d.graph/graphics.c: copied within CVS repository from
+	  grass/src/display/d.graph/cmd/graphics.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.graph/do_graph.c: copied within CVS repository from
+	  grass/src/display/d.graph/cmd/do_graph.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.graph/allocation.c: copied within CVS repository from
+	  grass/src/display/d.graph/cmd/allocation.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.geodesic/plot.c: copied within CVS repository from
+	  grass/src/display/d.geodesic/cmd/plot.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.geodesic/mouse.c: copied within CVS repository from
+	  grass/src/display/d.geodesic/cmd/mouse.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.geodesic/main.c: copied within CVS repository from
+	  grass/src/display/d.geodesic/cmd/main.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.geodesic/local_proto.h: copied within CVS repository
+	  from grass/src/display/d.geodesic/cmd/local_proto.h
+
+2004-11-09 12:41  bernhard
+
+	* display/d.frame/select.c: copied within CVS repository from
+	  grass/src/display/d.frame/cmd/select.c
+
+2004-11-09 12:41  bernhard
+
+	* display/d.frame/list.c: copied within CVS repository from
+	  grass/src/display/d.frame/cmd/list.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.frame/frame.c: copied within CVS repository from
+	  grass/src/display/d.frame/cmd/frame.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.frame/dumper.c: copied within CVS repository from
+	  grass/src/display/d.frame/cmd/dumper.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.frame/create.c: copied within CVS repository from
+	  grass/src/display/d.frame/cmd/create.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.font/main.c: copied within CVS repository from
+	  grass/src/display/d.font/cmd/main.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.erase/main.c: copied within CVS repository from
+	  grass/src/display/d.erase/main.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colortable/main.c: copied within CVS repository from
+	  grass/src/display/d.colortable/cmd/main.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colors/tbl_toggle.c: copied within CVS repository from
+	  grass/src/display/d.colors/tbl_toggle.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colors/sigint.c: copied within CVS repository from
+	  grass/src/display/d.colors/sigint.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colors/set_sigs.c: copied within CVS repository from
+	  grass/src/display/d.colors/set_sigs.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colors/Readme: copied within CVS repository from
+	  grass/src/display/d.colors/Readme
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colors/main.c: copied within CVS repository from
+	  grass/src/display/d.colors/main.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colors/interact.c: copied within CVS repository from
+	  grass/src/display/d.colors/interact.c
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colors/graphics.h: copied within CVS repository from
+	  grass/src/display/d.colors/graphics.h
+
+2004-11-09 12:40  bernhard
+
+	* display/d.colors/get_info.c: copied within CVS repository from
+	  grass/src/display/d.colors/get_info.c
+
+2004-11-09 12:39  bernhard
+
+	* display/d.colors/externs.h: copied within CVS repository from
+	  grass/src/display/d.colors/externs.h
+
+2004-11-09 12:39  bernhard
+
+	* display/d.colors/curses.c: copied within CVS repository from
+	  grass/src/display/d.colors/curses.c
+
+2004-11-09 12:39  bernhard
+
+	* display/d.colors/colors.h: copied within CVS repository from
+	  grass/src/display/d.colors/colors.h
+
+2004-11-09 12:39  bernhard
+
+	* display/d.colorlist/main.c: copied within CVS repository from
+	  grass/src/display/d.colorlist/main.c
+
+2004-11-09 12:39  bernhard
+
+	* display/d.barscale/options.h: copied within CVS repository from
+	  grass/src/display/d.barscale/cmd/options.h
+
+2004-11-09 12:39  bernhard
+
+	* display/d.barscale/mouse.c: copied within CVS repository from
+	  grass/src/display/d.barscale/cmd/mouse.c
+
+2004-11-09 12:39  bernhard
+
+	* display/d.barscale/main.c: copied within CVS repository from
+	  grass/src/display/d.barscale/cmd/main.c
+
+2004-11-09 12:39  bernhard
+
+	* display/d.barscale/draw_scale.c: copied within CVS repository
+	  from grass/src/display/d.barscale/cmd/draw_scale.c
+
+2004-11-09 12:39  bernhard
+
+	* display/d.ask/main.c: copied within CVS repository from
+	  grass/src/display/d.ask/main.c
+
+2004-11-09 12:39  bernhard
+
+	* lib/vask/V_trim_dec.c: copied within CVS repository from
+	  grass/src/libes/vask/V_trim_dec.c
+
+2004-11-09 12:39  bernhard
+
+	* lib/vask/V_support.c: copied within CVS repository from
+	  grass/src/libes/vask/V_support.c
+
+2004-11-09 12:39  bernhard
+
+	* lib/vask/V_ques.c: copied within CVS repository from
+	  grass/src/libes/vask/V_ques.c
+
+2004-11-09 12:39  bernhard
+
+	* lib/vask/V_line.c: copied within CVS repository from
+	  grass/src/libes/vask/V_line.c
+
+2004-11-09 12:39  bernhard
+
+	* lib/vask/V_init.c: copied within CVS repository from
+	  grass/src/libes/vask/V_init.c
+
+2004-11-09 12:39  bernhard
+
+	* lib/vask/V_exit.c: copied within CVS repository from
+	  grass/src/libes/vask/V_exit.c
+
+2004-11-09 12:39  bernhard
+
+	* lib/vask/V_error.c: copied within CVS repository from
+	  grass/src/libes/vask/V_error.c
+
+2004-11-09 12:39  bernhard
+
+	* lib/vask/V_const.c: copied within CVS repository from
+	  grass/src/libes/vask/V_const.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/vask/V_clear.c: copied within CVS repository from
+	  grass/src/libes/vask/V_clear.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/vask/V_call.c: copied within CVS repository from
+	  grass/src/libes/vask/V_call.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/vask/V_acc.c: copied within CVS repository from
+	  grass/src/libes/vask/V_acc.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/vask/README: copied within CVS repository from
+	  grass/src/libes/vask/README
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/write2d.c: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/write2d.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/segmen2d.c: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/segmen2d.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/secpar2d.c: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/secpar2d.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/ressegm2d.c: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/ressegm2d.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/resout2dmod.c: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/resout2dmod.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/resout2d.c: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/resout2d.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/protos: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/protos
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/print_tree: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/print_tree
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/points.h: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/points.h
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/point2d.c: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/point2d.c
+
+2004-11-09 12:38  bernhard
+
+	* lib/rst/interp_float/output2d.c: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/output2d.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/minmax.c: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/minmax.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/mem: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/mem
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/matrix.c: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/matrix.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/interp2d.c: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/interp2d.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/init2d.c: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/init2d.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/func2d.c: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/func2d.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/distance.c: copied within CVS repository
+	  from grass/src/libes/rst_gmsl/interp_float/distance.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/DESCRIPTION.INTERP: copied within CVS
+	  repository from
+	  grass/src/libes/rst_gmsl/interp_float/DESCRIPTION.INTERP
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/interp_float/BUGS: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/interp_float/BUGS
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/data/local_proto.h: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/data/local_proto.h
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/data/DESCRIPTION.DATA: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/data/DESCRIPTION.DATA
+
+2004-11-09 12:37  bernhard
+
+	* lib/rst/data/dataquad.c: copied within CVS repository from
+	  grass/src/libes/rst_gmsl/data/dataquad.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rowio/setup.c: copied within CVS repository from
+	  grass/src/libes/rowio/setup.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rowio/release.c: copied within CVS repository from
+	  grass/src/libes/rowio/release.c
+
+2004-11-09 12:37  bernhard
+
+	* lib/rowio/put.c: copied within CVS repository from
+	  grass/src/libes/rowio/put.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/rowio/get.c: copied within CVS repository from
+	  grass/src/libes/rowio/get.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/rowio/forget.c: copied within CVS repository from
+	  grass/src/libes/rowio/forget.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/rowio/fileno.c: copied within CVS repository from
+	  grass/src/libes/rowio/fileno.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Text_size.c: copied within CVS repository from
+	  grass/src/libes/raster/Text_size.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Text_rot.c: copied within CVS repository from
+	  grass/src/libes/raster/Text_rot.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Text.c: copied within CVS repository from
+	  grass/src/libes/raster/Text.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Set_win.c: copied within CVS repository from
+	  grass/src/libes/raster/Set_win.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/RGB_ras.c: copied within CVS repository from
+	  grass/src/libes/raster/RGB_ras.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/RGB_color.c: copied within CVS repository from
+	  grass/src/libes/raster/RGB_color.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Returns.c: copied within CVS repository from
+	  grass/src/libes/raster/Returns.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Reset_clrs.c: copied within CVS repository from
+	  grass/src/libes/raster/Reset_clrs.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Reset_clr.c: copied within CVS repository from
+	  grass/src/libes/raster/Reset_clr.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/README: copied within CVS repository from
+	  grass/src/libes/raster/README
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/rastergraphicslib.dox: copied within CVS repository
+	  from grass/src/libes/raster/rastergraphicslib.dox
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Raster.c: copied within CVS repository from
+	  grass/src/libes/raster/Raster.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Polygn_rel.c: copied within CVS repository from
+	  grass/src/libes/raster/Polygn_rel.c
+
+2004-11-09 12:36  bernhard
+
+	* lib/raster/Polygn_abs.c: copied within CVS repository from
+	  grass/src/libes/raster/Polygn_abs.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/Plylne_rel.c: copied within CVS repository from
+	  grass/src/libes/raster/Plylne_rel.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/Plylne_abs.c: copied within CVS repository from
+	  grass/src/libes/raster/Plylne_abs.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/Plydts_rel.c: copied within CVS repository from
+	  grass/src/libes/raster/Plydts_rel.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/Plydts_abs.c: copied within CVS repository from
+	  grass/src/libes/raster/Plydts_abs.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/perror.c: copied within CVS repository from
+	  grass/src/libes/raster/perror.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/parse_mon.c: copied within CVS repository from
+	  grass/src/libes/raster/parse_mon.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/Panel.c: copied within CVS repository from
+	  grass/src/libes/raster/Panel.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/pad_select.c: copied within CVS repository from
+	  grass/src/libes/raster/pad_select.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/pad_list.c: copied within CVS repository from
+	  grass/src/libes/raster/pad_list.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/pad_invent.c: copied within CVS repository from
+	  grass/src/libes/raster/pad_invent.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/pad_delete.c: copied within CVS repository from
+	  grass/src/libes/raster/pad_delete.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/pad_cur.c: copied within CVS repository from
+	  grass/src/libes/raster/pad_cur.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/pad_create.c: copied within CVS repository from
+	  grass/src/libes/raster/pad_create.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/open.h: copied within CVS repository from
+	  grass/src/libes/raster/open.h
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/Move_rel.c: copied within CVS repository from
+	  grass/src/libes/raster/Move_rel.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/Move_abs.c: copied within CVS repository from
+	  grass/src/libes/raster/Move_abs.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/lists.c: copied within CVS repository from
+	  grass/src/libes/raster/lists.c
+
+2004-11-09 12:35  bernhard
+
+	* lib/raster/item_set.c: copied within CVS repository from
+	  grass/src/libes/raster/item_set.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/item_list.c: copied within CVS repository from
+	  grass/src/libes/raster/item_list.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/item_get.c: copied within CVS repository from
+	  grass/src/libes/raster/item_get.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/item_del.c: copied within CVS repository from
+	  grass/src/libes/raster/item_del.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/item_appnd.c: copied within CVS repository from
+	  grass/src/libes/raster/item_appnd.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/io.c: copied within CVS repository from
+	  grass/src/libes/raster/io.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/graph.h: copied within CVS repository from
+	  grass/src/libes/raster/graph.h
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Get_t_box.c: copied within CVS repository from
+	  grass/src/libes/raster/Get_t_box.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Get_ncolors.c: copied within CVS repository from
+	  grass/src/libes/raster/Get_ncolors.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Get_cindex.c: copied within CVS repository from
+	  grass/src/libes/raster/Get_cindex.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Font.c: copied within CVS repository from
+	  grass/src/libes/raster/Font.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Flush.c: copied within CVS repository from
+	  grass/src/libes/raster/Flush.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Erase.c: copied within CVS repository from
+	  grass/src/libes/raster/Erase.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Cont_rel.c: copied within CVS repository from
+	  grass/src/libes/raster/Cont_rel.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Cont_abs.c: copied within CVS repository from
+	  grass/src/libes/raster/Cont_abs.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Color.c: copied within CVS repository from
+	  grass/src/libes/raster/Color.c
+
+2004-11-09 12:34  bernhard
+
+	* lib/raster/Clr_table.c: copied within CVS repository from
+	  grass/src/libes/raster/Clr_table.c
+
+2004-11-09 12:33  bernhard
+
+	* lib/raster/Box.c: copied within CVS repository from
+	  grass/src/libes/raster/Box.c
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/WO.lla: copied within CVS repository from
+	  grass/src/libes/proj/WO.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/WI.lla: copied within CVS repository from
+	  grass/src/libes/proj/WI.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/TN.lla: copied within CVS repository from
+	  grass/src/libes/proj/TN.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/stpaul.lla: copied within CVS repository from
+	  grass/src/libes/proj/stpaul.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/stlrnc.lla: copied within CVS repository from
+	  grass/src/libes/proj/stlrnc.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/stgeorge.lla: copied within CVS repository from
+	  grass/src/libes/proj/stgeorge.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/prvi.lla: copied within CVS repository from
+	  grass/src/libes/proj/prvi.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/nzgd2kgrid0005.gsb: copied within CVS repository from
+	  grass/src/libes/proj/nzgd2kgrid0005.gsb
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/ntv1_can.dat: copied within CVS repository from
+	  grass/src/libes/proj/ntv1_can.dat
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/MD.lla: copied within CVS repository from
+	  grass/src/libes/proj/MD.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/hawaii.lla: copied within CVS repository from
+	  grass/src/libes/proj/hawaii.lla
+
+2004-11-09 12:33  bernhard
+
+	* lib/proj/FL.lla: copied within CVS repository from
+	  grass/src/libes/proj/FL.lla
+
+2004-11-09 12:32  bernhard
+
+	* lib/proj/conus.lla: copied within CVS repository from
+	  grass/src/libes/proj/conus.lla
+
+2004-11-09 12:32  bernhard
+
+	* lib/proj/alaska.lla: copied within CVS repository from
+	  grass/src/libes/proj/alaska.lla
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/trans.c: copied within CVS repository from
+	  grass/src/libes/ogsf/trans.c
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/TODO: copied within CVS repository from
+	  grass/src/libes/ogsf/TODO
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/SGIIMAGESPEC: copied within CVS repository from
+	  grass/src/libes/ogsf/SGIIMAGESPEC
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/rowcol.h: copied within CVS repository from
+	  grass/src/libes/ogsf/rowcol.h
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/rgbpack.h: copied within CVS repository from
+	  grass/src/libes/ogsf/rgbpack.h
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/README: copied within CVS repository from
+	  grass/src/libes/ogsf/README
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/ogsflib.dox: copied within CVS repository from
+	  grass/src/libes/ogsf/ogsflib.dox
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/keyframe.h: copied within CVS repository from
+	  grass/src/libes/ogsf/keyframe.h
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/image.h: copied within CVS repository from
+	  grass/src/libes/ogsf/image.h
+
+2004-11-09 12:32  bernhard
+
+	* lib/ogsf/gv_quick.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gv_quick.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gv.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gv.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/GV2.c: copied within CVS repository from
+	  grass/src/libes/ogsf/GV2.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/GSX.c: copied within CVS repository from
+	  grass/src/libes/ogsf/GSX.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/GS_util.c: copied within CVS repository from
+	  grass/src/libes/ogsf/GS_util.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gs_query.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gs_query.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gs_norms.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gs_norms.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsget.h: copied within CVS repository from
+	  grass/src/libes/ogsf/gsget.h
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsget.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsget.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsd_wire.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_wire.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsd_views.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_views.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsd_surf.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_surf.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsds.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsds.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsdrape.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsdrape.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsd_prim.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_prim.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsd_objs.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_objs.c
+
+2004-11-09 12:31  bernhard
+
+	* lib/ogsf/gsd_legend.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_legend.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gsd_label.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_label.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gsd_img_tif.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_img_tif.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gsd_img_ppm.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_img_ppm.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gsd_img.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_img.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gsdiff.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsdiff.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gsd_fonts.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_fonts.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gsd_cplane.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gsd_cplane.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gs.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gs.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gs_bm.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gs_bm.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/Gs3.c: copied within CVS repository from
+	  grass/src/libes/ogsf/Gs3.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gpd.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gpd.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/gp.c: copied within CVS repository from
+	  grass/src/libes/ogsf/gp.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/ogsf/GP2.c: copied within CVS repository from
+	  grass/src/libes/ogsf/GP2.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/linkm/try.c: copied within CVS repository from
+	  grass/src/libes/linkm/try.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/linkm/try2.c: copied within CVS repository from
+	  grass/src/libes/linkm/try2.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/linkm/speed.c: copied within CVS repository from
+	  grass/src/libes/linkm/speed.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/linkm/speed3.c: copied within CVS repository from
+	  grass/src/libes/linkm/speed3.c
+
+2004-11-09 12:30  bernhard
+
+	* lib/linkm/speed2.c: copied within CVS repository from
+	  grass/src/libes/linkm/speed2.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/README: copied within CVS repository from
+	  grass/src/libes/linkm/README
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/oom.c: copied within CVS repository from
+	  grass/src/libes/linkm/oom.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/next.c: copied within CVS repository from
+	  grass/src/libes/linkm/next.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/new.c: copied within CVS repository from
+	  grass/src/libes/linkm/new.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/malloc.c: copied within CVS repository from
+	  grass/src/libes/linkm/malloc.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/linkm.c: copied within CVS repository from
+	  grass/src/libes/linkm/linkm.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/init.c: copied within CVS repository from
+	  grass/src/libes/linkm/init.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/dispose.c: copied within CVS repository from
+	  grass/src/libes/linkm/dispose.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/linkm/destroy.c: copied within CVS repository from
+	  grass/src/libes/linkm/destroy.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/version.sed: copied within CVS repository from
+	  grass/src/general/init/version.sed
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/set_data.c: copied within CVS repository from
+	  grass/src/general/init/set_data.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/run.c: copied within CVS repository from
+	  grass/src/general/init/run.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/README: copied within CVS repository from
+	  grass/src/general/init/README
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/other.c: copied within CVS repository from
+	  grass/src/general/init/other.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/mke_mapset.c: copied within CVS repository from
+	  grass/src/general/init/mke_mapset.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/mke_loc.c: copied within CVS repository from
+	  grass/src/general/init/mke_loc.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/lock.c: copied within CVS repository from
+	  grass/src/general/init/lock.c
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/local_proto.h: copied within CVS repository from
+	  grass/src/general/init/local_proto.h
+
+2004-11-09 12:29  bernhard
+
+	* lib/init/grass_intro.txt: copied within CVS repository from
+	  grass/src/general/init/grass_intro.txt
+
+2004-11-09 12:28  bernhard
+
+	* lib/init/echo.c: copied within CVS repository from
+	  grass/src/general/init/echo.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/init/clean_temp.c: copied within CVS repository from
+	  grass/src/general/init/clean_temp.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/init/chk_dbase.c: copied within CVS repository from
+	  grass/src/general/init/chk_dbase.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/v_exec.c: copied within CVS repository from
+	  grass/src/libes/imagery/v_exec.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/vask_group.c: copied within CVS repository from
+	  grass/src/libes/imagery/vask_group.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/var.c: copied within CVS repository from
+	  grass/src/libes/imagery/var.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/title.c: copied within CVS repository from
+	  grass/src/libes/imagery/title.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/target.c: copied within CVS repository from
+	  grass/src/libes/imagery/target.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/tape_info.c: copied within CVS repository from
+	  grass/src/libes/imagery/tape_info.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/sigsetfile.c: copied within CVS repository from
+	  grass/src/libes/imagery/sigsetfile.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/sigset.c: copied within CVS repository from
+	  grass/src/libes/imagery/sigset.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/sigfile.c: copied within CVS repository from
+	  grass/src/libes/imagery/sigfile.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/sig.c: copied within CVS repository from
+	  grass/src/libes/imagery/sig.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/sig2cats.c: copied within CVS repository from
+	  grass/src/libes/imagery/sig2cats.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/set_window.c: copied within CVS repository from
+	  grass/src/libes/imagery/set_window.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/ref.c: copied within CVS repository from
+	  grass/src/libes/imagery/ref.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/README: copied within CVS repository from
+	  grass/src/libes/imagery/README
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/proj.c: copied within CVS repository from
+	  grass/src/libes/imagery/proj.c
+
+2004-11-09 12:28  bernhard
+
+	* lib/imagery/points.c: copied within CVS repository from
+	  grass/src/libes/imagery/points.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/percent.c: copied within CVS repository from
+	  grass/src/libes/imagery/percent.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/open.c: copied within CVS repository from
+	  grass/src/libes/imagery/open.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/nfiles.c: copied within CVS repository from
+	  grass/src/libes/imagery/nfiles.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/ls_groups.c: copied within CVS repository from
+	  grass/src/libes/imagery/ls_groups.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/loc_info.c: copied within CVS repository from
+	  grass/src/libes/imagery/loc_info.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/list_subgp.c: copied within CVS repository from
+	  grass/src/libes/imagery/list_subgp.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/imagerylib.dox: copied within CVS repository from
+	  grass/src/libes/imagery/imagerylib.dox
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/imagery.hh: copied within CVS repository from
+	  grass/src/libes/imagery/imagery.hh
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/image.c: copied within CVS repository from
+	  grass/src/libes/imagery/image.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/histo_eq.c: copied within CVS repository from
+	  grass/src/libes/imagery/histo_eq.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/histo.c: copied within CVS repository from
+	  grass/src/libes/imagery/histo.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/group.c: copied within CVS repository from
+	  grass/src/libes/imagery/group.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/grey.c: copied within CVS repository from
+	  grass/src/libes/imagery/grey.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/georef.c: copied within CVS repository from
+	  grass/src/libes/imagery/georef.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/fopen.c: copied within CVS repository from
+	  grass/src/libes/imagery/fopen.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/find.c: copied within CVS repository from
+	  grass/src/libes/imagery/find.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/eol.c: copied within CVS repository from
+	  grass/src/libes/imagery/eol.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/c_sum2.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_sum2.c
+
+2004-11-09 12:27  bernhard
+
+	* lib/imagery/c_sig.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_sig.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_sep.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_sep.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_reclass.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_reclass.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_reassign.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_reassign.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_point.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_point.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/colors.c: copied within CVS repository from
+	  grass/src/libes/imagery/colors.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_nclasses.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_nclasses.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_merge.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_merge.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_means.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_means.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_execmem.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_execmem.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_exec.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_exec.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_distinct.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_distinct.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_clear.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_clear.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_begin.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_begin.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/c_assign.c: copied within CVS repository from
+	  grass/src/libes/imagery/c_assign.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/band_io.c: copied within CVS repository from
+	  grass/src/libes/imagery/band_io.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/ask_subgrp.c: copied within CVS repository from
+	  grass/src/libes/imagery/ask_subgrp.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/ask_group.c: copied within CVS repository from
+	  grass/src/libes/imagery/ask_group.c
+
+2004-11-09 12:26  bernhard
+
+	* lib/imagery/ask_colors.c: copied within CVS repository from
+	  grass/src/libes/imagery/ask_colors.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/imagery/ask.c: copied within CVS repository from
+	  grass/src/libes/imagery/ask.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/imagery/ask_bands.c: copied within CVS repository from
+	  grass/src/libes/imagery/ask_bands.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/imagery/alloc.c: copied within CVS repository from
+	  grass/src/libes/imagery/alloc.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/imagery/advance.c: copied within CVS repository from
+	  grass/src/libes/imagery/advance.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/imagery/add_cov.c: copied within CVS repository from
+	  grass/src/libes/imagery/add_cov.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/row.c: copied within CVS repository from
+	  grass/src/libes/libimage/row.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/rle.c: copied within CVS repository from
+	  grass/src/libes/libimage/rle.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/README: copied within CVS repository from
+	  grass/src/libes/libimage/README
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/rdwr.c: copied within CVS repository from
+	  grass/src/libes/libimage/rdwr.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/pix.c: copied within CVS repository from
+	  grass/src/libes/libimage/pix.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/open.c.zal: copied within CVS repository from
+	  grass/src/libes/libimage/open.c.zal
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/open.c: copied within CVS repository from
+	  grass/src/libes/libimage/open.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/name.c: copied within CVS repository from
+	  grass/src/libes/libimage/name.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/image.h: copied within CVS repository from
+	  grass/src/libes/libimage/image.h
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/flsbuf.c: copied within CVS repository from
+	  grass/src/libes/libimage/flsbuf.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/filbuf.c: copied within CVS repository from
+	  grass/src/libes/libimage/filbuf.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/image/close.c: copied within CVS repository from
+	  grass/src/libes/libimage/close.c
+
+2004-11-09 12:25  bernhard
+
+	* lib/gmath/TODO: copied within CVS repository from
+	  grass/src/libes/gmath/TODO
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/svd.c: copied within CVS repository from
+	  grass/src/libes/gmath/svd.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/README: copied within CVS repository from
+	  grass/src/libes/gmath/README
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/rand1.c: copied within CVS repository from
+	  grass/src/libes/gmath/rand1.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/numerical.h: copied within CVS repository from
+	  grass/src/libes/gmath/numerical.h
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/mult.c: copied within CVS repository from
+	  grass/src/libes/gmath/mult.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/max_pow2.c: copied within CVS repository from
+	  grass/src/libes/gmath/max_pow2.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/lu.c: copied within CVS repository from
+	  grass/src/libes/gmath/lu.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/local_proto.h: copied within CVS repository from
+	  grass/src/libes/gmath/local_proto.h
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/la.c: copied within CVS repository from
+	  grass/src/libes/gmath/la.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/jacobi.c: copied within CVS repository from
+	  grass/src/libes/gmath/jacobi.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/ialloc.c: copied within CVS repository from
+	  grass/src/libes/gmath/ialloc.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/getg.c: copied within CVS repository from
+	  grass/src/libes/gmath/getg.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/gauss.c: copied within CVS repository from
+	  grass/src/libes/gmath/gauss.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/fft.c: copied within CVS repository from
+	  grass/src/libes/gmath/fft.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/eigen_tools.c: copied within CVS repository from
+	  grass/src/libes/gmath/eigen_tools.c
+
+2004-11-09 12:24  bernhard
+
+	* lib/gmath/eigen.c: copied within CVS repository from
+	  grass/src/libes/gmath/eigen.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gmath/DEPEND: copied within CVS repository from
+	  grass/src/libes/gmath/DEPEND
+
+2004-11-09 12:23  bernhard
+
+	* lib/gmath/dalloc.c: copied within CVS repository from
+	  grass/src/libes/gmath/dalloc.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gmath/brent.c: copied within CVS repository from
+	  grass/src/libes/gmath/brent.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/zone.c: copied within CVS repository from
+	  grass/src/libes/gis/zone.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/zero_cell.c: copied within CVS repository from
+	  grass/src/libes/gis/zero_cell.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/zero.c: copied within CVS repository from
+	  grass/src/libes/gis/zero.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/yes.c: copied within CVS repository from
+	  grass/src/libes/gis/yes.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/writ_zeros.c: copied within CVS repository from
+	  grass/src/libes/gis/writ_zeros.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/wr_cellhd.c: copied within CVS repository from
+	  grass/src/libes/gis/wr_cellhd.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/wind_scan.c: copied within CVS repository from
+	  grass/src/libes/gis/wind_scan.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/window_map.c: copied within CVS repository from
+	  grass/src/libes/gis/window_map.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/wind_overlap.c: copied within CVS repository from
+	  grass/src/libes/gis/wind_overlap.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/wind_limits.c: copied within CVS repository from
+	  grass/src/libes/gis/wind_limits.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/wind_format.c: copied within CVS repository from
+	  grass/src/libes/gis/wind_format.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/wind_2_box.c: copied within CVS repository from
+	  grass/src/libes/gis/wind_2_box.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/win32_pipes.c: copied within CVS repository from
+	  grass/src/libes/gis/win32_pipes.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/whoami.c: copied within CVS repository from
+	  grass/src/libes/gis/whoami.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/view.c: copied within CVS repository from
+	  grass/src/libes/gis/view.c
+
+2004-11-09 12:23  bernhard
+
+	* lib/gis/user_config.c: copied within CVS repository from
+	  grass/src/libes/gis/user_config.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/unctrl.c: copied within CVS repository from
+	  grass/src/libes/gis/unctrl.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/try.c: copied within CVS repository from
+	  grass/src/libes/gis/try.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/trim_dec.c: copied within CVS repository from
+	  grass/src/libes/gis/trim_dec.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/token.c: copied within CVS repository from
+	  grass/src/libes/gis/token.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/timestamp.c: copied within CVS repository from
+	  grass/src/libes/gis/timestamp.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/tempfile.c: copied within CVS repository from
+	  grass/src/libes/gis/tempfile.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/system.c: copied within CVS repository from
+	  grass/src/libes/gis/system.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/support.c: copied within CVS repository from
+	  grass/src/libes/gis/support.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/strip.c: copied within CVS repository from
+	  grass/src/libes/gis/strip.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/strings.c: copied within CVS repository from
+	  grass/src/libes/gis/strings.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/store.c: copied within CVS repository from
+	  grass/src/libes/gis/store.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/state83: copied within CVS repository from
+	  grass/src/libes/gis/state83
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/state27: copied within CVS repository from
+	  grass/src/libes/gis/state27
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/squeeze.c: copied within CVS repository from
+	  grass/src/libes/gis/squeeze.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/spawn.c: copied within CVS repository from
+	  grass/src/libes/gis/spawn.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/sleep.c: copied within CVS repository from
+	  grass/src/libes/gis/sleep.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/sites_title.c: copied within CVS repository from
+	  grass/src/libes/gis/sites_title.c
+
+2004-11-09 12:22  bernhard
+
+	* lib/gis/short_way.c: copied within CVS repository from
+	  grass/src/libes/gis/short_way.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/set_window.c: copied within CVS repository from
+	  grass/src/libes/gis/set_window.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/set_prior.c: copied within CVS repository from
+	  grass/src/libes/gis/set_prior.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/rm_colr.c: copied within CVS repository from
+	  grass/src/libes/gis/rm_colr.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/rhumbline.c: copied within CVS repository from
+	  grass/src/libes/gis/rhumbline.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/rename.c: copied within CVS repository from
+	  grass/src/libes/gis/rename.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/remove.c: copied within CVS repository from
+	  grass/src/libes/gis/remove.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/reclass.c: copied within CVS repository from
+	  grass/src/libes/gis/reclass.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/readsites_xyz.c: copied within CVS repository from
+	  grass/src/libes/gis/readsites_xyz.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/readsites.c: copied within CVS repository from
+	  grass/src/libes/gis/readsites.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/README.TYPE: copied within CVS repository from
+	  grass/src/libes/gis/README.TYPE
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/rd_cellhd.c: copied within CVS repository from
+	  grass/src/libes/gis/rd_cellhd.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/raster.c: copied within CVS repository from
+	  grass/src/libes/gis/raster.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/range.c: copied within CVS repository from
+	  grass/src/libes/gis/range.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/radii.c: copied within CVS repository from
+	  grass/src/libes/gis/radii.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/quant_rw.c: copied within CVS repository from
+	  grass/src/libes/gis/quant_rw.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/quant_io.c: copied within CVS repository from
+	  grass/src/libes/gis/quant_io.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/quant.c: copied within CVS repository from
+	  grass/src/libes/gis/quant.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/put_window.c: copied within CVS repository from
+	  grass/src/libes/gis/put_window.c
+
+2004-11-09 12:21  bernhard
+
+	* lib/gis/put_title.c: copied within CVS repository from
+	  grass/src/libes/gis/put_title.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/put_row.c: copied within CVS repository from
+	  grass/src/libes/gis/put_row.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/putenv.c: copied within CVS repository from
+	  grass/src/libes/gis/putenv.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/put_cellhd.c: copied within CVS repository from
+	  grass/src/libes/gis/put_cellhd.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/projections: copied within CVS repository from
+	  grass/src/libes/gis/projections
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/proj3.c: copied within CVS repository from
+	  grass/src/libes/gis/proj3.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/proj2.c: copied within CVS repository from
+	  grass/src/libes/gis/proj2.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/proj1.c: copied within CVS repository from
+	  grass/src/libes/gis/proj1.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/progrm_nme.c: copied within CVS repository from
+	  grass/src/libes/gis/progrm_nme.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/popen.c: copied within CVS repository from
+	  grass/src/libes/gis/popen.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/pole_in_poly.c: copied within CVS repository from
+	  grass/src/libes/gis/pole_in_poly.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/plot.c: copied within CVS repository from
+	  grass/src/libes/gis/plot.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/pi.h: copied within CVS repository from
+	  grass/src/libes/gis/pi.h
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/percent.c: copied within CVS repository from
+	  grass/src/libes/gis/percent.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/opencell.c: copied within CVS repository from
+	  grass/src/libes/gis/opencell.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/open.c: copied within CVS repository from
+	  grass/src/libes/gis/open.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/null_val.c: copied within CVS repository from
+	  grass/src/libes/gis/null_val.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/nme_in_mps.c: copied within CVS repository from
+	  grass/src/libes/gis/nme_in_mps.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/nl_to_spaces.c: copied within CVS repository from
+	  grass/src/libes/gis/nl_to_spaces.c
+
+2004-11-09 12:20  bernhard
+
+	* lib/gis/new_des: copied within CVS repository from
+	  grass/src/libes/gis/new_des
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/named_colr.c: copied within CVS repository from
+	  grass/src/libes/gis/named_colr.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/myname.c: copied within CVS repository from
+	  grass/src/libes/gis/myname.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/mask_info.c: copied within CVS repository from
+	  grass/src/libes/gis/mask_info.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/maskfd.c: copied within CVS repository from
+	  grass/src/libes/gis/maskfd.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/mapset.c: copied within CVS repository from
+	  grass/src/libes/gis/mapset.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/mapcase.c: copied within CVS repository from
+	  grass/src/libes/gis/mapcase.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/make_loc.c: copied within CVS repository from
+	  grass/src/libes/gis/make_loc.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/make_colr.c: copied within CVS repository from
+	  grass/src/libes/gis/make_colr.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/mach_name.c: copied within CVS repository from
+	  grass/src/libes/gis/mach_name.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/location.c: copied within CVS repository from
+	  grass/src/libes/gis/location.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/locale.c: copied within CVS repository from
+	  grass/src/libes/gis/locale.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/ll_scan.c: copied within CVS repository from
+	  grass/src/libes/gis/ll_scan.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/ll_format.c: copied within CVS repository from
+	  grass/src/libes/gis/ll_format.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/list.c: copied within CVS repository from
+	  grass/src/libes/gis/list.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/line_dist.c: copied within CVS repository from
+	  grass/src/libes/gis/line_dist.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/legal_name.c: copied within CVS repository from
+	  grass/src/libes/gis/legal_name.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/key_value4.c: copied within CVS repository from
+	  grass/src/libes/gis/key_value4.c
+
+2004-11-09 12:19  bernhard
+
+	* lib/gis/key_value3.c: copied within CVS repository from
+	  grass/src/libes/gis/key_value3.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/key_value2.c: copied within CVS repository from
+	  grass/src/libes/gis/key_value2.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/key_value1.c: copied within CVS repository from
+	  grass/src/libes/gis/key_value1.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/intr_char.c: copied within CVS repository from
+	  grass/src/libes/gis/intr_char.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/intersect.c: copied within CVS repository from
+	  grass/src/libes/gis/intersect.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/init_map.c: copied within CVS repository from
+	  grass/src/libes/gis/init_map.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/index.c: copied within CVS repository from
+	  grass/src/libes/gis/index.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/home.c: copied within CVS repository from
+	  grass/src/libes/gis/home.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/history.c: copied within CVS repository from
+	  grass/src/libes/gis/history.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/histogram.c: copied within CVS repository from
+	  grass/src/libes/gis/histogram.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/histo_eq.c: copied within CVS repository from
+	  grass/src/libes/gis/histo_eq.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/grid_dist2.c: copied within CVS repository from
+	  grass/src/libes/gis/grid_dist2.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/grid_dist1.c: copied within CVS repository from
+	  grass/src/libes/gis/grid_dist1.c
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/gisvectorlib.dox: copied within CVS repository from
+	  grass/src/libes/gis/gisvectorlib.dox
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/gissiteslib.dox: copied within CVS repository from
+	  grass/src/libes/gis/gissiteslib.dox
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/gisrasterlib.dox: copied within CVS repository from
+	  grass/src/libes/gis/gisrasterlib.dox
+
+2004-11-09 12:18  bernhard
+
+	* lib/gis/gislib.dox: copied within CVS repository from
+	  grass/src/libes/gis/gislib.dox
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/gishelp.c: copied within CVS repository from
+	  grass/src/libes/gis/gishelp.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/gisdbase.c: copied within CVS repository from
+	  grass/src/libes/gis/gisdbase.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/gisbase.c: copied within CVS repository from
+	  grass/src/libes/gis/gisbase.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/G.h: copied within CVS repository from
+	  grass/src/libes/gis/G.h
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_window.c: copied within CVS repository from
+	  grass/src/libes/gis/get_window.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/gets.c: copied within CVS repository from
+	  grass/src/libes/gis/gets.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_row_colr.c: copied within CVS repository from
+	  grass/src/libes/gis/get_row_colr.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_row.c: copied within CVS repository from
+	  grass/src/libes/gis/get_row.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_projname.c: copied within CVS repository from
+	  grass/src/libes/gis/get_projname.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_projinfo.c: copied within CVS repository from
+	  grass/src/libes/gis/get_projinfo.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/getl.c: copied within CVS repository from
+	  grass/src/libes/gis/getl.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_ell_name.c: copied within CVS repository from
+	  grass/src/libes/gis/get_ell_name.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_ellipse.c: copied within CVS repository from
+	  grass/src/libes/gis/get_ellipse.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_datum_name.c: copied within CVS repository from
+	  grass/src/libes/gis/get_datum_name.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_datum.c: copied within CVS repository from
+	  grass/src/libes/gis/get_datum.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/get_cellhd.c: copied within CVS repository from
+	  grass/src/libes/gis/get_cellhd.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/geo_init.c: copied within CVS repository from
+	  grass/src/libes/gis/geo_init.c
+
+2004-11-09 12:17  bernhard
+
+	* lib/gis/geodist.c: copied within CVS repository from
+	  grass/src/libes/gis/geodist.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/geodesic.c: copied within CVS repository from
+	  grass/src/libes/gis/geodesic.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/G_dump.c: copied within CVS repository from
+	  grass/src/libes/gis/G_dump.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/fpreclass.c: copied within CVS repository from
+	  grass/src/libes/gis/fpreclass.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/format.c: copied within CVS repository from
+	  grass/src/libes/gis/format.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/fork.c: copied within CVS repository from
+	  grass/src/libes/gis/fork.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/flate.c: copied within CVS repository from
+	  grass/src/libes/gis/flate.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/FIPS.code: copied within CVS repository from
+	  grass/src/libes/gis/FIPS.code
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/find_cell.c: copied within CVS repository from
+	  grass/src/libes/gis/find_cell.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/file_name.c: copied within CVS repository from
+	  grass/src/libes/gis/file_name.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/endian.c: copied within CVS repository from
+	  grass/src/libes/gis/endian.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/ellipse.table: copied within CVS repository from
+	  grass/src/libes/gis/ellipse.table
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/done_msg.c: copied within CVS repository from
+	  grass/src/libes/gis/done_msg.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/distance.c: copied within CVS repository from
+	  grass/src/libes/gis/distance.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/dig_title.c: copied within CVS repository from
+	  grass/src/libes/gis/dig_title.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/datumtransform.table: copied within CVS repository from
+	  grass/src/libes/gis/datumtransform.table
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/datum.table: copied within CVS repository from
+	  grass/src/libes/gis/datum.table
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/datum.c: copied within CVS repository from
+	  grass/src/libes/gis/datum.c
+
+2004-11-09 12:16  bernhard
+
+	* lib/gis/date.c: copied within CVS repository from
+	  grass/src/libes/gis/date.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/copy.c: copied within CVS repository from
+	  grass/src/libes/gis/copy.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/commas.c: copied within CVS repository from
+	  grass/src/libes/gis/commas.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_write.c: copied within CVS repository from
+	  grass/src/libes/gis/color_write.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_wave.c: copied within CVS repository from
+	  grass/src/libes/gis/color_wave.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_shift.c: copied within CVS repository from
+	  grass/src/libes/gis/color_shift.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_set.c: copied within CVS repository from
+	  grass/src/libes/gis/color_set.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_rule.c: copied within CVS repository from
+	  grass/src/libes/gis/color_rule.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_read.c: copied within CVS repository from
+	  grass/src/libes/gis/color_read.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_range.c: copied within CVS repository from
+	  grass/src/libes/gis/color_range.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_rand.c: copied within CVS repository from
+	  grass/src/libes/gis/color_rand.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_ramp.c: copied within CVS repository from
+	  grass/src/libes/gis/color_ramp.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_rain.c: copied within CVS repository from
+	  grass/src/libes/gis/color_rain.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_org.c: copied within CVS repository from
+	  grass/src/libes/gis/color_org.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_look.c: copied within CVS repository from
+	  grass/src/libes/gis/color_look.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_invrt.c: copied within CVS repository from
+	  grass/src/libes/gis/color_invrt.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_insrt.c: copied within CVS repository from
+	  grass/src/libes/gis/color_insrt.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_init.c: copied within CVS repository from
+	  grass/src/libes/gis/color_init.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_hist.c: copied within CVS repository from
+	  grass/src/libes/gis/color_hist.c
+
+2004-11-09 12:15  bernhard
+
+	* lib/gis/color_grey.c: copied within CVS repository from
+	  grass/src/libes/gis/color_grey.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/color_get.c: copied within CVS repository from
+	  grass/src/libes/gis/color_get.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/color_free.c: copied within CVS repository from
+	  grass/src/libes/gis/color_free.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/color_asp.c: copied within CVS repository from
+	  grass/src/libes/gis/color_asp.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/closecell.c: copied within CVS repository from
+	  grass/src/libes/gis/closecell.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/clicker.c: copied within CVS repository from
+	  grass/src/libes/gis/clicker.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/clear_scrn.c: copied within CVS repository from
+	  grass/src/libes/gis/clear_scrn.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/chop.c: copied within CVS repository from
+	  grass/src/libes/gis/chop.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/cell_title.c: copied within CVS repository from
+	  grass/src/libes/gis/cell_title.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/cellstats_eq.c: copied within CVS repository from
+	  grass/src/libes/gis/cellstats_eq.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/cell_stats.c: copied within CVS repository from
+	  grass/src/libes/gis/cell_stats.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/cats.c: copied within CVS repository from
+	  grass/src/libes/gis/cats.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/bres_line.c: copied within CVS repository from
+	  grass/src/libes/gis/bres_line.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/auto_mask.c: copied within CVS repository from
+	  grass/src/libes/gis/auto_mask.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/ask_cell.c: copied within CVS repository from
+	  grass/src/libes/gis/ask_cell.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/ask.c: copied within CVS repository from
+	  grass/src/libes/gis/ask.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/ascii_chk.c: copied within CVS repository from
+	  grass/src/libes/gis/ascii_chk.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/area_sphere.c: copied within CVS repository from
+	  grass/src/libes/gis/area_sphere.c
+
+2004-11-09 12:14  bernhard
+
+	* lib/gis/area_poly2.c: copied within CVS repository from
+	  grass/src/libes/gis/area_poly2.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/gis/area_poly1.c: copied within CVS repository from
+	  grass/src/libes/gis/area_poly1.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/gis/area_ellipse.c: copied within CVS repository from
+	  grass/src/libes/gis/area_ellipse.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/gis/area.c: copied within CVS repository from
+	  grass/src/libes/gis/area.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/gis/alloc_cell.c: copied within CVS repository from
+	  grass/src/libes/gis/alloc_cell.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/gis/alloc.c: copied within CVS repository from
+	  grass/src/libes/gis/alloc.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/gis/align_window.c: copied within CVS repository from
+	  grass/src/libes/gis/align_window.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/gis/adj_cellhd.c: copied within CVS repository from
+	  grass/src/libes/gis/adj_cellhd.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/writeascii.c: copied within CVS repository from
+	  grass/src/libes/g3d/writeascii.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/tilewrite.c: copied within CVS repository from
+	  grass/src/libes/g3d/tilewrite.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/tileread.c: copied within CVS repository from
+	  grass/src/libes/g3d/tileread.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/tilenull.c: copied within CVS repository from
+	  grass/src/libes/g3d/tilenull.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/tilemath.c: copied within CVS repository from
+	  grass/src/libes/g3d/tilemath.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/tileio.c: copied within CVS repository from
+	  grass/src/libes/g3d/tileio.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/tilealloc.c: copied within CVS repository from
+	  grass/src/libes/g3d/tilealloc.c
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/snap.rgb: copied within CVS repository from
+	  grass/src/libes/g3d/snap.rgb
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/snap.gif: copied within CVS repository from
+	  grass/src/libes/g3d/snap.gif
+
+2004-11-09 12:13  bernhard
+
+	* lib/g3d/rle.c: copied within CVS repository from
+	  grass/src/libes/g3d/rle.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/retile.c: copied within CVS repository from
+	  grass/src/libes/g3d/retile.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/index.c: copied within CVS repository from
+	  grass/src/libes/g3d/index.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/headerinfo.c: copied within CVS repository from
+	  grass/src/libes/g3d/headerinfo.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/header.c: copied within CVS repository from
+	  grass/src/libes/g3d/header.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/getblock.c: copied within CVS repository from
+	  grass/src/libes/g3d/getblock.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dwindowio.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dwindowio.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dwindow.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dwindow.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dvolume.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dvolume.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dresample.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dresample.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dregion.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dregion.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3drange.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3drange.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dparam.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dparam.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dopen.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dopen.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dopen2.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dopen2.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dnull.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dnull.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dmisc.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dmisc.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dmask.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dmask.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dmapset.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dmapset.c
+
+2004-11-09 12:12  bernhard
+
+	* lib/g3d/g3dlong.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dlong.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dlib.dox: copied within CVS repository from
+	  grass/src/libes/g3d/g3dlib.dox
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dkeys.h: copied within CVS repository from
+	  grass/src/libes/g3d/g3dkeys.h
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dkeys.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dkeys.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dintio.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dintio.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/G3d_intern.h: copied within CVS repository from
+	  grass/src/libes/g3d/G3d_intern.h
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/G3d.h_unused: copied within CVS repository from
+	  grass/src/libes/g3d/G3d.h_unused
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dfpxdr.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dfpxdr.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3derror.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3derror.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3ddoubleio.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3ddoubleio.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3ddefaults.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3ddefaults.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dclose.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dclose.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dcats.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dcats.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dcache.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dcache.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/g3dalloc.c: copied within CVS repository from
+	  grass/src/libes/g3d/g3dalloc.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/fpcompress.c: copied within CVS repository from
+	  grass/src/libes/g3d/fpcompress.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/find_grid3.c: copied within CVS repository from
+	  grass/src/libes/g3d/find_grid3.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/filename.c: copied within CVS repository from
+	  grass/src/libes/g3d/filename.c
+
+2004-11-09 12:11  bernhard
+
+	* lib/g3d/filecompare.c: copied within CVS repository from
+	  grass/src/libes/g3d/filecompare.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/g3d/changetype.c: copied within CVS repository from
+	  grass/src/libes/g3d/changetype.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/g3d/changeprecision.c: copied within CVS repository from
+	  grass/src/libes/g3d/changeprecision.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/g3d/cachehash.h: copied within CVS repository from
+	  grass/src/libes/g3d/cachehash.h
+
+2004-11-09 12:10  bernhard
+
+	* lib/g3d/cachehash.c: copied within CVS repository from
+	  grass/src/libes/g3d/cachehash.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/g3d/cache.c: copied within CVS repository from
+	  grass/src/libes/g3d/cache.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/for_grass/try.c: copied within CVS repository from
+	  grass/src/fonts/for_grass/try.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/for_grass/splitfont.c: copied within CVS repository
+	  from grass/src/fonts/for_grass/splitfont.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/for_grass/showchar.c: copied within CVS repository from
+	  grass/src/fonts/for_grass/showchar.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/for_grass/local_proto.h: copied within CVS repository
+	  from grass/src/fonts/for_grass/local_proto.h
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/for_grass/fontmap.c: copied within CVS repository from
+	  grass/src/fonts/for_grass/fontmap.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/for_grass/font.c: copied within CVS repository from
+	  grass/src/fonts/for_grass/font.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/for_grass/font_2_bin.c: copied within CVS repository
+	  from grass/src/fonts/for_grass/font_2_bin.c
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/fonts/scripts.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/scripts.hmp
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/fonts/scriptc.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/scriptc.hmp
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/fonts/romant.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/romant.hmp
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/fonts/romans.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/romans.hmp
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/fonts/romand.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/romand.hmp
+
+2004-11-09 12:10  bernhard
+
+	* lib/fonts/fonts/romancs.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/romancs.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/romanc.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/romanc.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/README: copied within CVS repository from
+	  grass/src/fonts/fonts/README
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/italict.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/italict.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/italiccs.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/italiccs.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/italicc.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/italicc.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/hersh.or4: copied within CVS repository from
+	  grass/src/fonts/fonts/hersh.or4
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/hersh.or3: copied within CVS repository from
+	  grass/src/fonts/fonts/hersh.or3
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/hersh.or2: copied within CVS repository from
+	  grass/src/fonts/fonts/hersh.or2
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/hersh.or1: copied within CVS repository from
+	  grass/src/fonts/fonts/hersh.or1
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/hersh.oc4: copied within CVS repository from
+	  grass/src/fonts/fonts/hersh.oc4
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/hersh.oc3: copied within CVS repository from
+	  grass/src/fonts/fonts/hersh.oc3
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/hersh.oc2: copied within CVS repository from
+	  grass/src/fonts/fonts/hersh.oc2
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/hersh.oc1: copied within CVS repository from
+	  grass/src/fonts/fonts/hersh.oc1
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/greeks.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/greeks.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/greekp.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/greekp.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/greekcs.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/greekcs.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/greekc.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/greekc.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/gothitt.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/gothitt.hmp
+
+2004-11-09 12:09  bernhard
+
+	* lib/fonts/fonts/gothgrt.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/gothgrt.hmp
+
+2004-11-09 12:08  bernhard
+
+	* lib/fonts/fonts/gothgbt.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/gothgbt.hmp
+
+2004-11-09 12:08  bernhard
+
+	* lib/fonts/fonts/cyrilc.hmp: copied within CVS repository from
+	  grass/src/fonts/fonts/cyrilc.hmp
+
+2004-11-09 12:08  bernhard
+
+	* lib/edit/edit_hist.c: copied within CVS repository from
+	  grass/src/libes/edit/edit_hist.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/edit/edit_cellhd.c: copied within CVS repository from
+	  grass/src/libes/edit/edit_cellhd.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/edit/edit_cats.c: copied within CVS repository from
+	  grass/src/libes/edit/edit_cats.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/window.c: copied within CVS repository from
+	  grass/src/libes/display/window.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/tran_colr.c: copied within CVS repository from
+	  grass/src/libes/display/tran_colr.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/setup.c: copied within CVS repository from
+	  grass/src/libes/display/setup.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/scan_int.c: copied within CVS repository from
+	  grass/src/libes/display/scan_int.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/scan_float.c: copied within CVS repository from
+	  grass/src/libes/display/scan_float.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/scan_dbl.c: copied within CVS repository from
+	  grass/src/libes/display/scan_dbl.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/raster_rgb.c: copied within CVS repository from
+	  grass/src/libes/display/raster_rgb.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/raster.c: copied within CVS repository from
+	  grass/src/libes/display/raster.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/raster2.c: copied within CVS repository from
+	  grass/src/libes/display/raster2.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/popup.c: copied within CVS repository from
+	  grass/src/libes/display/popup.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/list.c: copied within CVS repository from
+	  grass/src/libes/display/list.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/ident_win.c: copied within CVS repository from
+	  grass/src/libes/display/ident_win.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/get_win.c: copied within CVS repository from
+	  grass/src/libes/display/get_win.c
+
+2004-11-09 12:08  bernhard
+
+	* lib/display/draw.c: copied within CVS repository from
+	  grass/src/libes/display/draw.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/display/color_list.c: copied within CVS repository from
+	  grass/src/libes/display/color_list.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/display/cnversions.c: copied within CVS repository from
+	  grass/src/libes/display/cnversions.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/display/clip.c: copied within CVS repository from
+	  grass/src/libes/display/clip.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/D/Dscreen.c: copied within CVS repository from
+	  grass/src/libes/D/Dscreen.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/D/Dremove.c: copied within CVS repository from
+	  grass/src/libes/D/Dremove.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/D/Dnew.c: copied within CVS repository from
+	  grass/src/libes/D/Dnew.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/D/Derase.c: copied within CVS repository from
+	  grass/src/libes/D/Derase.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/D/d_displaylib.dox: copied within CVS repository from
+	  grass/src/libes/D/d_displaylib.dox
+
+2004-11-09 12:07  bernhard
+
+	* lib/D/Dclear.c: copied within CVS repository from
+	  grass/src/libes/D/Dclear.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/D/Dchoose.c: copied within CVS repository from
+	  grass/src/libes/D/Dchoose.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/D/Dcell.c: copied within CVS repository from
+	  grass/src/libes/D/Dcell.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/db/stubs/drop_col.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/drop_col.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/db/stubs/desc_table.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/desc_table.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/db/stubs/BUILD.PROTO: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/BUILD.PROTO
+
+2004-11-09 12:07  bernhard
+
+	* lib/db/stubs/add_col.c: copied within CVS repository from
+	  grass/src/libes/dbmi/drivers/stubs/add_col.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/datetime/values.c: copied within CVS repository from
+	  grass/src/libes/datetime/values.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/datetime/tz2.c: copied within CVS repository from
+	  grass/src/libes/datetime/tz2.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/datetime/tz1.c: copied within CVS repository from
+	  grass/src/libes/datetime/tz1.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/datetime/type.c: copied within CVS repository from
+	  grass/src/libes/datetime/type.c
+
+2004-11-09 12:07  bernhard
+
+	* lib/datetime/sign.c: copied within CVS repository from
+	  grass/src/libes/datetime/sign.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/scan.c: copied within CVS repository from
+	  grass/src/libes/datetime/scan.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/same.c: copied within CVS repository from
+	  grass/src/libes/datetime/same.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/README: copied within CVS repository from
+	  grass/src/libes/datetime/README
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/P_datetime.h: copied within CVS repository from
+	  grass/src/libes/datetime/P_datetime.h
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/misc.c: copied within CVS repository from
+	  grass/src/libes/datetime/misc.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/local.c: copied within CVS repository from
+	  grass/src/libes/datetime/local.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/incr3.c: copied within CVS repository from
+	  grass/src/libes/datetime/incr3.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/incr2.c: copied within CVS repository from
+	  grass/src/libes/datetime/incr2.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/incr1.c: copied within CVS repository from
+	  grass/src/libes/datetime/incr1.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/format.c: copied within CVS repository from
+	  grass/src/libes/datetime/format.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/error.c: copied within CVS repository from
+	  grass/src/libes/datetime/error.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/diff.c: copied within CVS repository from
+	  grass/src/libes/datetime/diff.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/datetime.h: copied within CVS repository from
+	  grass/src/libes/datetime/datetime.h
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/copy.c: copied within CVS repository from
+	  grass/src/libes/datetime/copy.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/change.c: copied within CVS repository from
+	  grass/src/libes/datetime/change.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/datetime/between.c: copied within CVS repository from
+	  grass/src/libes/datetime/between.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/cdhc/xinormal.c: copied within CVS repository from
+	  grass/src/sites/cdhc/xinormal.c
+
+2004-11-09 12:06  bernhard
+
+	* lib/cdhc/shapiro1.c: copied within CVS repository from
+	  grass/src/sites/cdhc/shapiro1.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/weisberg.c: copied within CVS repository from
+	  grass/src/sites/cdhc/weisberg.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/watsonun.c: copied within CVS repository from
+	  grass/src/sites/cdhc/watsonun.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/watsonue.c: copied within CVS repository from
+	  grass/src/sites/cdhc/watsonue.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/test.f: copied within CVS repository from
+	  grass/src/sites/cdhc/test.f
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/test.c: copied within CVS repository from
+	  grass/src/sites/cdhc/test.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/shapiroe.c: copied within CVS repository from
+	  grass/src/sites/cdhc/shapiroe.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/shapiro2.c: copied within CVS repository from
+	  grass/src/sites/cdhc/shapiro2.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/shapiro1.c.save: copied within CVS repository from
+	  grass/src/sites/cdhc/shapiro1.c.save
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/royston.c: copied within CVS repository from
+	  grass/src/sites/cdhc/royston.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/omnibus.c: copied within CVS repository from
+	  grass/src/sites/cdhc/omnibus.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/nprob.f: copied within CVS repository from
+	  grass/src/sites/cdhc/nprob.f
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/nprob.c: copied within CVS repository from
+	  grass/src/sites/cdhc/nprob.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/normp.c: copied within CVS repository from
+	  grass/src/sites/cdhc/normp.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/kuiprsvn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/kuiprsvn.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/kuiprsve.c: copied within CVS repository from
+	  grass/src/sites/cdhc/kuiprsve.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/ksn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/ksn.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/kse.c: copied within CVS repository from
+	  grass/src/sites/cdhc/kse.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/kotz.c: copied within CVS repository from
+	  grass/src/sites/cdhc/kotz.c
+
+2004-11-09 12:05  bernhard
+
+	* lib/cdhc/geary.c: copied within CVS repository from
+	  grass/src/sites/cdhc/geary.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/f-drive.f: copied within CVS repository from
+	  grass/src/sites/cdhc/f-drive.f
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/extreme.c: copied within CVS repository from
+	  grass/src/sites/cdhc/extreme.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/enormp.c: copied within CVS repository from
+	  grass/src/sites/cdhc/enormp.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/durbins.c: copied within CVS repository from
+	  grass/src/sites/cdhc/durbins.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/dmaxe.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dmaxe.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/dmax.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dmax.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/dcmp.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dcmp.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/dblcomp.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dblcomp.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/dagstndn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dagstndn.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/cvmw2n.c: copied within CVS repository from
+	  grass/src/sites/cdhc/cvmw2n.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/cvmw2e.c: copied within CVS repository from
+	  grass/src/sites/cdhc/cvmw2e.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/chisqn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/chisqn.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/chisqe.c: copied within CVS repository from
+	  grass/src/sites/cdhc/chisqe.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/c-drive.c: copied within CVS repository from
+	  grass/src/sites/cdhc/c-drive.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/cdh-f77.out: copied within CVS repository from
+	  grass/src/sites/cdhc/cdh-f77.out
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/cdh.f: copied within CVS repository from
+	  grass/src/sites/cdhc/cdh.f
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/cdhc.h: copied within CVS repository from
+	  grass/src/sites/cdhc/cdhc.h
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/as66.c: copied within CVS repository from
+	  grass/src/sites/cdhc/as66.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/as241.c: copied within CVS repository from
+	  grass/src/sites/cdhc/as241.c
+
+2004-11-09 12:04  bernhard
+
+	* lib/cdhc/as181.c: copied within CVS repository from
+	  grass/src/sites/cdhc/as181.c
+
+2004-11-09 12:03  bernhard
+
+	* lib/cdhc/as177.c: copied within CVS repository from
+	  grass/src/sites/cdhc/as177.c
+
+2004-11-09 12:03  bernhard
+
+	* lib/cdhc/andrsndn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/andrsndn.c
+
+2004-11-09 12:03  bernhard
+
+	* lib/cdhc/andrsnde.c: copied within CVS repository from
+	  grass/src/sites/cdhc/andrsnde.c
+
+2004-11-09 12:03  bernhard
+
+	* lib/btree/update.c: copied within CVS repository from
+	  grass/src/libes/btree/update.c
+
+2004-11-09 12:03  bernhard
+
+	* lib/btree/rewind.c: copied within CVS repository from
+	  grass/src/libes/btree/rewind.c
+
+2004-11-09 12:03  bernhard
+
+	* lib/btree/next.c: copied within CVS repository from
+	  grass/src/libes/btree/next.c
+
+2004-11-09 12:03  bernhard
+
+	* lib/btree/free.c: copied within CVS repository from
+	  grass/src/libes/btree/free.c
+
+2004-11-09 12:03  bernhard
+
+	* lib/btree/find.c: copied within CVS repository from
+	  grass/src/libes/btree/find.c
+
+2004-11-09 12:02  bernhard
+
+	* lib/btree/create.c: copied within CVS repository from
+	  grass/src/libes/btree/create.c
+
+2004-11-09 11:55  bernhard
+
+	* lib/cdhc/xinormal.c: copied within CVS repository from
+	  grass/src/sites/cdhc/xinormal.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/weisberg.c: copied within CVS repository from
+	  grass/src/sites/cdhc/weisberg.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/watsonun.c: copied within CVS repository from
+	  grass/src/sites/cdhc/watsonun.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/watsonue.c: copied within CVS repository from
+	  grass/src/sites/cdhc/watsonue.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/test.f: copied within CVS repository from
+	  grass/src/sites/cdhc/test.f
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/test.c: copied within CVS repository from
+	  grass/src/sites/cdhc/test.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/shapiroe.c: copied within CVS repository from
+	  grass/src/sites/cdhc/shapiroe.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/shapiro2.c: copied within CVS repository from
+	  grass/src/sites/cdhc/shapiro2.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/shapiro1.c.save: copied within CVS repository from
+	  grass/src/sites/cdhc/shapiro1.c.save
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/shapiro1.c: copied within CVS repository from
+	  grass/src/sites/cdhc/shapiro1.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/royston.c: copied within CVS repository from
+	  grass/src/sites/cdhc/royston.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/omnibus.c: copied within CVS repository from
+	  grass/src/sites/cdhc/omnibus.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/nprob.f: copied within CVS repository from
+	  grass/src/sites/cdhc/nprob.f
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/nprob.c: copied within CVS repository from
+	  grass/src/sites/cdhc/nprob.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/normp.c: copied within CVS repository from
+	  grass/src/sites/cdhc/normp.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/kuiprsvn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/kuiprsvn.c
+
+2004-11-09 11:54  bernhard
+
+	* lib/cdhc/kuiprsve.c: copied within CVS repository from
+	  grass/src/sites/cdhc/kuiprsve.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/ksn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/ksn.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/kse.c: copied within CVS repository from
+	  grass/src/sites/cdhc/kse.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/kotz.c: copied within CVS repository from
+	  grass/src/sites/cdhc/kotz.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/geary.c: copied within CVS repository from
+	  grass/src/sites/cdhc/geary.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/f-drive.f: copied within CVS repository from
+	  grass/src/sites/cdhc/f-drive.f
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/extreme.c: copied within CVS repository from
+	  grass/src/sites/cdhc/extreme.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/enormp.c: copied within CVS repository from
+	  grass/src/sites/cdhc/enormp.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/durbins.c: copied within CVS repository from
+	  grass/src/sites/cdhc/durbins.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/dmaxe.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dmaxe.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/dmax.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dmax.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/dcmp.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dcmp.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/dblcomp.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dblcomp.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/dagstndn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/dagstndn.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/cvmw2n.c: copied within CVS repository from
+	  grass/src/sites/cdhc/cvmw2n.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/cvmw2e.c: copied within CVS repository from
+	  grass/src/sites/cdhc/cvmw2e.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/chisqn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/chisqn.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/chisqe.c: copied within CVS repository from
+	  grass/src/sites/cdhc/chisqe.c
+
+2004-11-09 11:53  bernhard
+
+	* lib/cdhc/c-drive.c: copied within CVS repository from
+	  grass/src/sites/cdhc/c-drive.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/cdh-f77.out: copied within CVS repository from
+	  grass/src/sites/cdhc/cdh-f77.out
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/cdh.f: copied within CVS repository from
+	  grass/src/sites/cdhc/cdh.f
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/cdhc.h: copied within CVS repository from
+	  grass/src/sites/cdhc/cdhc.h
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/as66.c: copied within CVS repository from
+	  grass/src/sites/cdhc/as66.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/as241.c: copied within CVS repository from
+	  grass/src/sites/cdhc/as241.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/as181.c: copied within CVS repository from
+	  grass/src/sites/cdhc/as181.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/as177.c: copied within CVS repository from
+	  grass/src/sites/cdhc/as177.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/andrsndn.c: copied within CVS repository from
+	  grass/src/sites/cdhc/andrsndn.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/cdhc/andrsnde.c: copied within CVS repository from
+	  grass/src/sites/cdhc/andrsnde.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/btree/update.c: copied within CVS repository from
+	  grass/src/libes/btree/update.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/btree/rewind.c: copied within CVS repository from
+	  grass/src/libes/btree/rewind.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/btree/next.c: copied within CVS repository from
+	  grass/src/libes/btree/next.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/btree/free.c: copied within CVS repository from
+	  grass/src/libes/btree/free.c
+
+2004-11-09 11:52  bernhard
+
+	* lib/btree/find.c: copied within CVS repository from
+	  grass/src/libes/btree/find.c
+
+2004-11-09 11:51  bernhard
+
+	* lib/btree/create.c: copied within CVS repository from
+	  grass/src/libes/btree/create.c
+
+2004-11-08 18:28  markus
+
+	* include/Make/Shlib.make: version number in lib names
+
+2004-11-08 18:00  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Makefile: compile Draw_point.o
+	  upon FreeType presence
+
+2004-11-08 10:37  markus
+
+	* scripts/pg.postgisdb/pg.postgisdb: bugfix (to be tested)
+
+2004-11-05 15:21  radim
+
+	* vector/v.to.db/description.html, vector/v.to.db/global.h,
+	  vector/v.to.db/lines.c, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/report.c,
+	  vector/v.to.db/update.c: upload z, multiple col
+
+2004-11-05 14:09  radim
+
+	* display/drivers/lib/Makefile: include order
+
+2004-11-05 13:50  markus
+
+	* display/drivers/lib/Makefile: conditionalize Text3.o
+	  font_freetype.o upon FreeType presence
+
+2004-11-05 13:29  markus
+
+	* include/config.h.in: added HAVE_FT2BUILD_H
+
+2004-11-05 11:30  radim
+
+	* lib/vector/Vlib/field.c: check if FID is available
+
+2004-11-05 11:28  markus
+
+	* display/d.rast.edit/description.html,
+	  general/g.access/description.html,
+	  general/g.parser/description.html,
+	  general/g.setproj/description.html,
+	  general/g3.region/description.html,
+	  imagery/i.class/description.html,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.2target/description.html,
+	  imagery/i.ortho.photo/photo.camera/description.html,
+	  imagery/i.ortho.photo/photo.init/description.html,
+	  imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/i.points/description.html,
+	  imagery/i.vpoints/description.html,
+	  raster/r.coin/description.html, raster/r.digit/description.html,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html,
+	  raster/r.region/description.html,
+	  raster/r.terraflow/description.html,
+	  raster3d/r3.mask/description.html,
+	  scripts/d.redraw/description.html,
+	  scripts/pg.postgisdb/description.html,
+	  scripts/v.build.all/description.html: added HTML header/footer
+	  for non G_parser() modules
+
+2004-11-05 10:52  markus
+
+	* scripts/g.html2man: moved to tools dir
+
+2004-11-05 10:52  markus
+
+	* man/Makefile: g.html2man in tools now
+
+2004-11-05 10:51  markus
+
+	* tools/g.html2man, tools/g.html2man/README,
+	  tools/g.html2man/g.html2man, tools/g.html2man/htmltags.txt: moved
+	  here from scripts dir
+
+2004-11-05 09:56  glynn
+
+	* man/Makefile: Simplify building manpages
+
+2004-11-05 09:53  hamish
+
+	* vector/v.in.ascii/description.html: typo
+
+2004-11-05 09:50  hamish
+
+	* vector/v.in.ascii/description.html: updates to match latest
+	  features
+
+2004-11-05 09:31  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: update to new v.in.ascii format
+	  & options.
+	  change vect= to output=
+
+2004-11-04 23:22  hamish
+
+	* scripts/r.regression.line/description.htm: rename .htm -> .html
+
+2004-11-04 23:22  hamish
+
+	* scripts/r.regression.line/description.html: rename .htm -> .html
+	  minor cosmetics
+
+2004-11-04 17:47  radim
+
+	* vector/v.in.ascii/a2b.c, vector/v.in.ascii/description.html,
+	  vector/v.in.ascii/in.c, vector/v.in.ascii/local_proto.h: format,
+	  stdin
+
+2004-11-04 17:45  radim
+
+	* vector/v.out.ascii/b2a.c, vector/v.out.ascii/description.html,
+	  vector/v.out.ascii/local_proto.h, vector/v.out.ascii/out.c:
+	  format, stdout
+
+2004-11-04 17:24  markus
+
+	* scripts/g.html2man/g.html2man: one bug less
+
+2004-11-04 17:06  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/description.html: HTML header
+	  added
+
+2004-11-04 17:04  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/describe.c, db/base/execute.c, db/base/select.c,
+	  db/base/tables.c: fakestart support
+
+2004-11-04 14:35  markus
+
+	* vector/v.database/main.c: cosmetics
+
+2004-11-04 14:35  markus
+
+	* vector/v.database/main.c, vector/v.db.connect/main.c: fakestart
+	  added
+
+2004-11-04 14:21  markus
+
+	* display/d.path/main.c: fakestart added
+
+2004-11-04 14:00  markus
+
+	* display/d.m/d.m: path fixed
+
+2004-11-04 13:57  markus
+
+	* lib/db/dbmi_base/default_name.c: fakestart added
+
+2004-11-04 13:30  markus
+
+	* raster/r.terraflow/Makefile: fakestart working now
+
+2004-11-04 13:30  markus
+
+	* lib/gis/window_map.c: fakestart added
+
+2004-11-04 13:08  markus
+
+	* lib/db/sqlp/description.html: fixed missing header
+
+2004-11-04 05:23  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: list column names for both
+	  points and lines
+
+2004-11-03 23:34  hamish
+
+	* scripts/v.in.garmin/description.html: missing BR
+
+2004-11-03 23:32  hamish
+
+	* scripts/v.in.garmin/description.html: link, attribute updates
+
+2004-11-03 22:05  markus
+
+	* Makefile: added MAN page creation
+
+2004-11-03 22:04  markus
+
+	* scripts/g.html2man, scripts/g.html2man/README,
+	  scripts/g.html2man/g.html2man, scripts/g.html2man/htmltags.txt,
+	  tools/getModTime, tools/getModTime/Makefile,
+	  tools/getModTime/main.c: needed for MAN page generator
+
+2004-11-03 22:03  markus
+
+	* tools/Makefile: added getModTime tool
+
+2004-11-03 22:01  markus
+
+	* man, man/Makefile: added MAN page generator
+
+2004-11-03 20:33  cho
+
+	* configure, configure.in, display/d.profile/main.c,
+	  display/d.profile/profile.h, display/d.rast.edit/edit.c,
+	  display/d.rast.edit/edit.h, display/d.rast.edit/main.c,
+	  display/d.zoom/box.c, display/d.zoom/local_proto.h,
+	  display/d.zoom/main.c, display/d.zoom/pan.c,
+	  display/d.zoom/set.c, display/d.zoom/zoom.c, include/config.h.in,
+	  lib/init/variables.html, raster/r.digit/Makefile,
+	  raster/r.digit/get_point.c, raster/r.digit/instruct.c,
+	  raster/r.digit/local_proto.h, raster/r.digit/main.c: Changed the
+	  --enable-another-button flag to GRASS_ANOTHER_BUTTON env var
+
+2004-11-03 17:11  radim
+
+	* vector/v.to.points/main.c: create 2 tables
+
+2004-11-03 16:18  radim
+
+	* lib/vector/Vlib/map.c: don't copy tables with OGR format
+
+2004-11-03 16:12  radim
+
+	* general/manage/lib/do_rename.c: + rename vectors
+
+2004-11-03 16:11  radim
+
+	* lib/vector/Vlib/field.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c: Vect_copy changed, new Vect_rename
+
+2004-11-03 16:10  radim
+
+	* include/Vect.h: Vect_open_update_head
+
+2004-11-03 13:43  markus
+
+	* display/d.what.vect/main.c, vector/v.distance/main.c: typos fixed
+
+2004-11-03 11:01  markus
+
+	* scripts/r.out.gdal/r.out.gdal: output bugfix
+
+2004-11-02 16:56  markus
+
+	* vector/v.in.ascii/description.html: added dig_cats trick
+
+2004-11-02 09:38  markus
+
+	* vector/Makefile: re-added v.out.dxf
+
+2004-11-02 09:20  radim
+
+	* locale/po/grassmods_cs.po: header
+
+2004-11-01 18:07  markus
+
+	* INSTALL: cleaned up
+
+2004-11-01 16:57  cho
+
+	* vector/v.transform/main.c: Changed file prompt to old_file; file
+	  prompt is not implemented.
+
+2004-10-31 09:42  markus
+
+	* include/Make/Rules.make: added missing i18N support for XDRIVER
+
+2004-10-31 09:32  markus
+
+	* vector/v.transform/description.html: extendend
+
+2004-10-31 08:41  cho
+
+	* raster/r.terraflow/IOStream/include/minmaxheap.h: Made comment
+	  more clear
+
+2004-10-31 06:16  cho
+
+	* configure, configure.in: Removed an unused variable
+
+2004-10-30 22:27  cho
+
+	* lib/gis/Makefile, lib/gmath/Makefile: Added more libraries to
+	  build
+
+2004-10-29 21:23  cho
+
+	* raster/r.terraflow/IOStream/include/minmaxheap.h: Changed log2()
+	  to log2_()
+	  log2() macro can be already defined in math.h by default: e.g.,
+	  CYGWIN
+
+2004-10-29 19:15  cho
+
+	* vector/Makefile: Removed v.out.dxf from the list since it dosn't
+	  exist yet.
+
+2004-10-29 15:43  markus
+
+	* display/d.paint.labels/do_labels.c,
+	  display/d.paint.labels/main.c, display/d.path/select.c,
+	  display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c, display/d.vect/topo.c,
+	  display/d.what.vect/main.c, display/d.what.vect/openvect.c,
+	  display/d.what.vect/what.c, display/d.zoom/main.c,
+	  display/d.zoom/pan.c, display/d.zoom/zoom.c,
+	  display/drivers/XDRIVER/XDRIVER24/Get_w_box.c,
+	  display/drivers/XDRIVER/XDRIVER24/Get_w_line.c,
+	  display/drivers/XDRIVER/XDRIVER24/Get_w_pnt.c,
+	  display/drivers/XDRIVER/XDRIVER24/Graph_Set.c,
+	  display/drivers/XDRIVER/XDRIVER24/Serve_Xevent.c,
+	  display/drivers/lib/command.c: Stephan Holl <sholl gmx net>: i18N
+	  patches
+
+2004-10-29 15:21  radim
+
+	* vector/v.clean/Makefile: removed ctest, it is used for debugging
+	  only
+
+2004-10-29 15:19  radim
+
+	* sites/Makefile: disabled s.in.ascii/s.out.ascii, it was used for
+	  debugging only
+
+2004-10-29 14:55  radim
+
+	* locale/po/grasslibs_cs.po, locale/po/grassmods_cs.po: initial
+	  czech translation
+
+2004-10-29 14:53  radim
+
+	* vector/v.category/main.c: removed G_find_vector2
+
+2004-10-29 14:52  radim
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/open.c: i18n
+
+2004-10-29 14:13  markus
+
+	* vector/v.transform/main.c: added file prompt
+
+2004-10-29 14:12  markus
+
+	* raster/r.terraflow/IOStream/lib/Makefile: Andrew Danner: fix
+
+2004-10-29 14:12  markus
+
+	* raster/r.terraflow/IOStream/include/embuffer.h,
+	  raster/r.terraflow/IOStream/include/empq_adaptive_impl.h,
+	  raster/r.terraflow/IOStream/include/empq_impl.h,
+	  raster/r.terraflow/IOStream/include/minmaxheap.h,
+	  raster/r.terraflow/IOStream/include/pqheap.h,
+	  raster/r.terraflow/IOStream/lib/src/mm_utils.cc,
+	  raster/r.terraflow/common.cc, raster/r.terraflow/direction.h,
+	  raster/r.terraflow/filldepr.cc: Andrew Danner <adanner cs.duke
+	  edu>:
+	  patch to the 5.7.0 release that fixes the errors when
+	  compiling with g++-3.4. I tested it with gcc version 3.4.2 and
+	  version
+	  3.3.5 using Debian unstable.
+	  The major changes are in the IOStream/include directory. Other
+	  changes
+	  are to eliminate warnings and some one line changes for g++-3.4
+	  compliance.
+
+2004-10-29 10:01  markus
+
+	* lib/db/dbmi_base/alloc.c: cleanup
+
+2004-10-29 00:45  cho
+
+	* scripts/r3.mapcalculator/r3.mapcalculator: Changed /bin/sh to
+	  /bin/bash
+
+2004-10-29 00:43  cho
+
+	* scripts/pg.postgisdb/pg.postgisdb,
+	  scripts/r.mapcalculator/r.mapcalculator: Changed /bin/sh to
+	  /bin/bash since these are actually bash scripts
+
+2004-10-28 21:16  cho
+
+	* display/d.font.freetype/main.c: Corrected description
+
+2004-10-28 21:00  cho
+
+	* display/d.font.freetype/description.html,
+	  display/d.text.freetype/description.html: Updated descriptions
+
+2004-10-28 20:52  cho
+
+	* display/d.text.freetype/description.html: Added default values
+	  for commands
+
+2004-10-28 20:46  cho
+
+	* display/d.text.freetype/description.html: Updated
+
+2004-10-28 20:37  cho
+
+	* display/d.font.freetype/description.html,
+	  display/d.font.freetype/main.c: Added an example
+
+2004-10-28 20:16  cho
+
+	* display/d.font.freetype/main.c,
+	  display/d.text.freetype/freetypecap,
+	  display/d.text.freetype/main.c: Removed color and size from the
+	  freetypecap
+
+2004-10-28 12:35  cho
+
+	* display/d.text.freetype/main.c,
+	  display/d.text.freetype/test.input: Added bold: -b flag, .B
+	  command
+	  Added linespacing: linespacing option, .I command
+
+2004-10-28 10:53  cho
+
+	* display/d.text/main.c: Implemented ".C R:G:B" command
+
+2004-10-28 10:39  cho
+
+	* INSTALL: Added INST_NOW description
+
+2004-10-28 10:29  cho
+
+	* display/d.text.freetype/freetypecap,
+	  display/d.text.freetype/main.c,
+	  display/d.text.freetype/test.input: Fixed size calculation.
+	  Changed the default size to 5 which is the same as
+	  d.font.freetype.
+
+2004-10-28 10:22  cho
+
+	* display/drivers/HTMLMAP/Draw_line.c: Removed unused header file
+
+2004-10-28 10:20  cho
+
+	* display/d.font.freetype/main.c: Added USE_FREETYPECAP condition
+	  to support the freetypecap file
+
+2004-10-28 08:04  cho
+
+	* display/d.text.freetype/freetypecap: Changed TrueType to TTF
+
+2004-10-28 06:23  cho
+
+	* include/Make/Grass.make.in, include/Make/Rules.make: Fixed the
+	  inst_now target
+
+2004-10-28 05:50  cho
+
+	* display/drivers/HTMLMAP/Draw_point.c,
+	  display/drivers/HTMLMAP/Makefile: Made it compiled in 5.7, but it
+	  doesn't work with "d.vect type=area"
+
+2004-10-28 04:42  cho
+
+	* lib/gis/ask.c: Added G_ask_(old|new)_file declarations.
+	  Deleted G_ask_(old|new)_file_ext functions.
+	  NOTE: Listing functions for the above routines are not yet
+	  implemented.
+
+2004-10-28 04:40  cho
+
+	* include/gisdefs.h: Added G_ask_(old|new)_file declarations
+
+2004-10-28 04:36  cho
+
+	* display/d.font.freetype/main.c: Updated the description of the
+	  font gisprompt
+
+2004-10-28 04:36  cho
+
+	* display/d.text.freetype/main.c: Updated the description
+
+2004-10-28 04:24  cho
+
+	* display/d.text.freetype/main.c: Fixed gisprompt
+
+2004-10-28 04:24  cho
+
+	* lib/gis/ask.c: Added G_ask_(old|new)_file(_ext)? functions
+
+2004-10-28 04:23  cho
+
+	* lib/gis/parser.c: Added old_file and new_file options to
+	  gisprompt
+
+2004-10-28 02:52  cho
+
+	* display/drivers/lib/command.c: Merged freetype related codes from
+	  grass-i18n.
+	  Now d.font.freetype should work.
+
+2004-10-28 02:50  cho
+
+	* include/Make/Grass.make.in, include/Make/Rules.make: Added
+	  inst_now target to compile and install modules directly into
+	  INST_DIR
+	  Usage:
+	  INST_NOW=y make
+	  This will update both $(GRASS_HOME)/dist.$(ARCH) and $(INST_DIR)
+
+2004-10-28 02:48  cho
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  raster3d/r3.showdspf/Makefile: Changed some macro names to be
+	  more consistent
+	  LGLWM to OPENGLWM
+	  OPENGLwINC to OPENGLWINC
+	  Added ICONVLIB to detect the ODBC library
+
+2004-10-27 03:07  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: create tables for line atts and
+	  connect to vector file
+
+2004-10-26 23:05  hamish
+
+	* lib/db/sqlp/description.html: add reference links link
+
+2004-10-26 10:26  markus
+
+	* locale/README: fixes
+
+2004-10-26 09:44  markus
+
+	* Makefile: fixed call of locale
+
+2004-10-26 09:28  radim
+
+	* db/drivers/postgres/parse.c: dialog removed
+
+2004-10-26 09:26  markus
+
+	* lib/ogsf/Makefile: added XLIBPATH for MDK10.1
+
+2004-10-26 09:05  markus
+
+	* vector/v.in.ascii/description.html: multi-attribute fun added
+
+2004-10-26 03:20  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: add start/end info to line atts
+	  to indicate direction of travel
+
+2004-10-25 18:53  markus
+
+	* display/d.font.freetype/description.html: small fixes
+
+2004-10-25 17:15  radim
+
+	* db/drivers/Makefile, db/drivers/dialog: dialog removed
+
+2004-10-25 17:12  radim
+
+	* db/drivers/mysql/Makefile, db/drivers/mysql/db.c,
+	  db/drivers/postgres/Makefile, db/drivers/postgres/db.c: login
+	  dialog removed
+
+2004-10-25 16:59  radim
+
+	* lib/vector/Vlib/open.c: delete support files if opened for update
+
+2004-10-25 16:10  radim
+
+	* vector/Makefile: + v.out.dxf
+
+2004-10-25 16:10  radim
+
+	* vector/v.out.dxf, vector/v.out.dxf/Makefile,
+	  vector/v.out.dxf/description.html, vector/v.out.dxf/dxf.h,
+	  vector/v.out.dxf/local_proto.h, vector/v.out.dxf/main.c: update
+	  from grass/src/mapdev/v.out.dxf
+
+2004-10-25 15:24  cho
+
+	* include/Make/Rules.make: Fixed space-in-$PATH problem.
+
+2004-10-25 12:33  radim
+
+	* db/base/select.c: options order
+
+2004-10-25 09:20  radim
+
+	* configure, configure.in: Installation directory fix
+
+2004-10-25 05:06  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: create attr table for route and
+	  track lines; not sure how to connect.
+
+2004-10-25 03:51  hamish
+
+	* scripts/v.in.garmin/v.in.garmin: remove hard coded g.parser path.
+	  add category numbers for track and route lines
+
+2004-10-25 02:04  hamish
+
+	* vector/v.in.ascii/description.html: add link to Vector ASCII
+	  Format Specification
+
+2004-10-25 01:48  hamish
+
+	* vector/v.in.ascii/a2b.c: better debug clue
+
+2004-10-25 01:42  hamish
+
+	* vector/v.in.ascii/a2b.c: add debug message
+
+2004-10-23 10:24  cho
+
+	* lib/ogsf/Makefile, lib/vector/diglib/Makefile: PATH quoted to
+	  avoid space problem
+	  OPENGLULIB added to specify -lGLU
+
+2004-10-23 10:00  cho
+
+	* display/d.text.freetype/README, display/d.text.freetype/main.c,
+	  raster/r.in.gridatb/main.c, raster/r.out.gridatb/main.c,
+	  raster/r.topidx/main.c, raster/r.topmodel/main.c: email corrected
+
+2004-10-23 06:05  cho
+
+	* db/drivers/odbc/Makefile: ICONVLIB added
+
+2004-10-23 04:24  cho
+
+	* display/d.text.freetype/description.html,
+	  include/Make/Platform.make.in, lib/init/init.sh,
+	  raster/r.topidx/description.html,
+	  raster/r.topmodel/description.html, scripts/d.redraw/d.redraw,
+	  scripts/g.mlist/g.mlist, scripts/g.mremove/description.html,
+	  scripts/g.mremove/g.mremove: contact updated
+
+2004-10-23 04:04  cho
+
+	* include/Make/Platform.make.in: deleted deprecated flags
+
+2004-10-23 03:06  cho
+
+	* display/d.text.freetype/main.c: initialize path
+
+2004-10-22 21:00  cho
+
+	* display/d.zoom/local_proto.h, display/d.zoom/pan.c,
+	  display/d.zoom/zoom.c, display/drivers/PNG/Makefile: ICONVLIB
+	  added to LIBES
+	  LBTN, MBTN, and RBTN changed to LEFTS, MIDDLES, and RIGHTS
+	  respectively
+
+2004-10-22 20:52  cho
+
+	* display/drivers/XDRIVER/XDRIVER24/Makefile: ICONVLIB added to
+	  LIBES
+
+2004-10-22 18:52  michael
+
+	* display/d.m/menu.tcl: Fixed typo for v.voronoi
+
+2004-10-22 13:28  markus
+
+	* vector/v.what.rast/description.html: example added
+
+2004-10-22 10:26  markus
+
+	* scripts/g3_scripts/Makefile, scripts/g3_scripts/g3.list,
+	  scripts/g3_scripts/g3.remove, scripts/g3_scripts/g3.rename:
+	  removed. integrated functionality into
+	  g.list/g.copy/g.rename/g.remove
+
+2004-10-22 10:22  markus
+
+	* scripts/g.mlist/g.mlist: rast3d support added
+
+2004-10-22 10:18  markus
+
+	* general/manage/lib/Element_List: windows3d support added
+
+2004-10-22 09:13  markus
+
+	* vector/v.to.db/description.html: index hint added to avoid
+	  slowliness
+
+2004-10-22 08:41  markus
+
+	* scripts/v.in.garmin/v.in.garmin: typo fixed
+
+2004-10-22 08:14  markus
+
+	* lib/symbol/symbol/basic/point: point pattern for d.vect etc
+
+2004-10-22 06:30  hamish
+
+	* debian/control: try to clean up build depends a bit. clues from
+	  Steve Halasz.
+	  see deb-src http://bullhorn.org/debian unstable main
+
+2004-10-22 02:17  glynn
+
+	* raster3d/r3.showdspf/new_init_graphics.c: Fix GLwMDrawA.h
+	  includes (name depends on config.h)
+
+2004-10-22 01:20  hamish
+
+	* raster/r.out.ppm/description.html: cleanup, add links.
+	  add hint on using module to make transparent PNGs from Gordon
+	  Keith, CSIRO
+
+2004-10-21 22:36  glynn
+
+	* display/drivers/PNG/Draw_point.c: Implement draw_point()
+
+2004-10-21 22:33  cho
+
+	* display/d.profile/main.c, display/d.profile/profile.h,
+	  display/d.rast.edit/edit.c, display/d.rast.edit/edit.h:
+	  --enable-another-button feature fixed
+
+2004-10-21 21:57  cho
+
+	* display/d.zoom/box.c, display/d.zoom/set.c: messages corrected
+	  for two button mice
+
+2004-10-21 12:06  markus
+
+	* raster/r.resamp.rst/main.c: removed unused vars
+
+2004-10-21 11:51  markus
+
+	* lib/init/variables.html: GRASS_INT_ZLIB explained
+
+2004-10-21 11:38  markus
+
+	* locale/README: poEdit added
+
+2004-10-21 07:23  markus
+
+	* display/d.m/menu.tcl: fixed typo
+
+2004-10-21 00:35  michael
+
+	* display/d.m/menu.tcl: Added v.delaunay to menu
+
+2004-10-20 14:31  hamish
+
+	* scripts/g.mlist/g.mlist: pipe output through "sort".
+
+2004-10-20 10:16  hamish
+
+	* raster/r.out.mpeg/main.c: Search for ppmtompeg encoder (from
+	  netpbm) & use if it's installed.
+	  Increase MAX FRAMES to 400 (ie >365).
+	  Comment out some unused variables.
+
+2004-10-20 10:02  hamish
+
+	* raster/r.out.mpeg/description.html: increase max frames to 400
+	  (to accommodate 365 days, eg r.sun output).
+	  add note on where to find mpeg_play (mplayer et al. don't do
+	  MPEG-1 very well)
+
+2004-10-20 09:32  hamish
+
+	* raster/r.out.mpeg/README: now r.out.mpeg will find ppmtompeg if
+	  it is installed.
+	  note mpeg_play is provided by the ucbmpeg-play package
+
+2004-10-20 08:40  hamish
+
+	* raster/r.out.mpeg/README: update broken Berkeley ftp link and add
+	  link to netpbm's ppmtompeg
+	  which is the same thing as mpeg_encode
+
+2004-10-20 08:12  hamish
+
+	* raster/r.out.mpeg/description.html: update broken Berkeley ftp
+	  link and add link to netpbm's ppmtompeg
+	  which is the same thing as mpeg_encode
+
+2004-10-20 07:44  markus
+
+	* general/manage/lib/Element_List: added raster3D (grid3) listing
+
+2004-10-20 04:51  markus
+
+	* raster/r.in.bin/main.c: clarify n,e,w,s
+
+2004-10-20 04:49  markus
+
+	* raster/r.in.bin/description.html: ewres comment added
+
+2004-10-19 19:42  markus
+
+	* raster/r.in.bin/main.c: ration 50 -> 10 as suggested by Roger
+
+2004-10-19 17:11  michael
+
+	* display/d.m/add.group.gif: Replace corrupt graphic
+
+2004-10-19 17:11  michael
+
+	* display/d.m/menu.tcl: Adds menu entries for point commands
+	  recently ported from GRASS 5.3
+	  sites to GRASS 5.7 vector points.
+
+2004-10-19 16:57  markus
+
+	* locale/po/grassmods_fr.po: Emmanuel Saracco: French update
+
+2004-10-19 16:54  markus
+
+	* locale/po/grasslibs_de.po, locale/po/grassmods_de.po: Stephan
+	  Holl: started German translation
+
+2004-10-19 16:53  markus
+
+	* db/base/connect.c, db/base/databases.c, db/base/describe.c,
+	  db/base/drivers.c, db/base/printtab.c, db/base/select.c: Stephan
+	  Holl: gettext patches
+
+2004-10-19 16:50  radim
+
+	* raster/r.contour/main.c: category shift fix
+
+2004-10-19 16:34  radim
+
+	* doc/vector/v.modules.html: s.kcv, v.mkgrid
+
+2004-10-19 14:25  paul
+
+	* lib/ogsf/gvl_calc.c, lib/ogsf/gvld.c,
+	  visualization/nviz/src/nviz_init.c: Fixes to compile on IRIX
+
+2004-10-19 05:41  hamish
+
+	* vector/v.in.ascii/points.c: make points import more robust:
+	  - warn that Mac OS9 text files will fail
+	  - strip trailing CRs from DOS text files and continue import
+
+2004-10-19 03:06  helena
+
+	* lib/g3d/g3dcolor.c: volume support for nviz
+
+2004-10-19 02:54  helena
+
+	* lib/ogsf/GK2.c, lib/ogsf/GS2.c, lib/ogsf/GVL2.c,
+	  lib/ogsf/Makefile, lib/ogsf/gk.c, lib/ogsf/gstypes.h,
+	  lib/ogsf/gsurf.h, lib/ogsf/gvl.c, lib/ogsf/kftypes.h,
+	  lib/ogsf/local_proto.h: volume support for nviz
+
+2004-10-19 02:10  helena
+
+	* visualization/nviz/scripts/nviz2.2_script,
+	  visualization/nviz/scripts/panelIndex,
+	  visualization/nviz/scripts/panel_animation.tcl,
+	  visualization/nviz/scripts/panel_kanimator.tcl,
+	  visualization/nviz/scripts/panel_main.tcl,
+	  visualization/nviz/scripts/panel_vol.tcl,
+	  visualization/nviz/scripts/position_procs.tcl,
+	  visualization/nviz/scripts/tclIndex,
+	  visualization/nviz/scripts/widgets.tcl: volume support for nviz
+
+2004-10-19 01:41  helena
+
+	* visualization/nviz/src/anim_support.c,
+	  visualization/nviz/src/draw.c, visualization/nviz/src/map_obj.c,
+	  visualization/nviz/src/quick_draw.c: volume support for nviz
+
+2004-10-18 17:01  helena
+
+	* visualization/nviz/src/Makefile,
+	  visualization/nviz/src/init_commands.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/nviz_init.c,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/volume.c: volume support for nviz
+
+2004-10-18 16:48  helena
+
+	* visualization/nviz/scripts/attIsosurfPopup.tcl,
+	  visualization/nviz/scripts/mapBrowser.tcl: volume support for
+	  nviz
+
+2004-10-18 16:41  helena
+
+	* lib/ogsf/gvl_calc.c, lib/ogsf/gvl_calc2.c, lib/ogsf/gvl_file.c,
+	  lib/ogsf/gvld.c, lib/ogsf/mc33_table.h: volume support for nviz
+
+2004-10-18 16:02  helena
+
+	* lib/ogsf/Gvl3.c: volume support for nviz
+
+2004-10-18 15:45  radim
+
+	* vector/Makefile: + v.kcv
+
+2004-10-18 15:45  radim
+
+	* vector/v.kcv, vector/v.kcv/Makefile,
+	  vector/v.kcv/description.html, vector/v.kcv/histo.c,
+	  vector/v.kcv/kcv.h, vector/v.kcv/main.c, vector/v.kcv/utils.c:
+	  updgrade from grass/src/sites/s.kcv
+
+2004-10-18 13:51  radim
+
+	* raster/r.contour/cont.c, raster/r.contour/main.c: levels to table
+
+2004-10-18 13:15  markus
+
+	* general/manage/lib/Element_List: listing for ascii vector files
+	  added
+
+2004-10-18 13:12  radim
+
+	* vector/v.voronoi/vo_write.c: don't write zero length
+
+2004-10-18 12:35  markus
+
+	* raster/r.in.bin/main.c: added test for LatLong in case the
+	  resolution differs significantly (two ways to go around the globe
+	  in E/W direction...)
+
+2004-10-18 12:23  markus
+
+	* raster/r.in.bin/main.c: make null parm functional
+
+2004-10-18 10:31  radim
+
+	* vector/Makefile: + v.mkgrid
+
+2004-10-18 10:31  radim
+
+	* vector/v.mkgrid, vector/v.mkgrid/Makefile,
+	  vector/v.mkgrid/description.html, vector/v.mkgrid/grid_structs.h,
+	  vector/v.mkgrid/local_proto.h, vector/v.mkgrid/main.c,
+	  vector/v.mkgrid/rotate.c, vector/v.mkgrid/write_grid.c: upgrade
+
+2004-10-18 10:15  markus
+
+	* db/base/db.execute.html, db/base/db.select.html: more examples
+	  added + crossrefs
+
+2004-10-18 10:12  markus
+
+	* lib/db/sqlp/description.html: crossrefs added
+
+2004-10-18 00:36  hamish
+
+	* display/d.colorlist/main.c: fix to run when no options are given
+
+2004-10-17 13:39  markus
+
+	* locale/po/grasslibs_ja.po, locale/po/grassmods_ja.po: draft
+	  Japanese translation (based on 5.0-i18N)
+
+2004-10-17 13:37  markus
+
+	* display/Makefile: compile d.font.freetype if Freetype selected
+
+2004-10-17 13:35  markus
+
+	* display/drivers/PNG/Draw_point.c, display/drivers/PNG/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/Draw_point.c,
+	  display/drivers/XDRIVER/XDRIVER24/Makefile,
+	  display/drivers/lib/Font_get.c, display/drivers/lib/Get_t_box.c,
+	  display/drivers/lib/Makefile, display/drivers/lib/Text.c,
+	  display/drivers/lib/Text3.c, display/drivers/lib/command.c,
+	  display/drivers/lib/driverlib.h,
+	  display/drivers/lib/font_freetype.c: updated for optional
+	  Freetype support. author: GRASS i18n project members (code merge
+	  from 5.0-i18N)
+
+2004-10-17 13:28  markus
+
+	* display/d.font.freetype, display/d.font.freetype/Makefile,
+	  display/d.font.freetype/description.html,
+	  display/d.font.freetype/main.c: added. author: GRASS i18n project
+	  members (code merge from 5.0-i18N)
+
+2004-10-17 03:38  hamish
+
+	* vector/v.surf.rst/main.c: normal text to stdout, not stderr.
+
+2004-10-16 11:26  radim
+
+	* vector/Makefile: ported sites
+
+2004-10-16 10:36  radim
+
+	* doc/vector/v.modules.html: more s. ported
+
+2004-10-16 10:30  radim
+
+	* vector/v.normal, vector/v.normal/Makefile,
+	  vector/v.normal/description.html, vector/v.normal/main.c,
+	  vector/v.normal/scancats.c: upgrade from grass/src/sites/s.normal
+
+2004-10-16 10:29  radim
+
+	* vector/v.sample, vector/v.sample/Makefile,
+	  vector/v.sample/README, vector/v.sample/bilinear.c,
+	  vector/v.sample/cubic.c, vector/v.sample/description.html,
+	  vector/v.sample/main.c, vector/v.sample/methods.h,
+	  vector/v.sample/nearest.c, vector/v.sample/utils.c: upgrade from
+	  grass/src/sites/s.sample
+
+2004-10-16 10:27  radim
+
+	* vector/v.qcount, vector/v.qcount/Makefile,
+	  vector/v.qcount/README, vector/v.qcount/count.c,
+	  vector/v.qcount/cressie.vm, vector/v.qcount/description.html,
+	  vector/v.qcount/findquads.c, vector/v.qcount/indices.c,
+	  vector/v.qcount/main.c, vector/v.qcount/quaddefs.h: upgrade from
+	  grass/src/sites/s.qcount
+
+2004-10-16 10:26  radim
+
+	* vector/v.perturb, vector/v.perturb/Makefile,
+	  vector/v.perturb/description.html, vector/v.perturb/fische.c,
+	  vector/v.perturb/main.c, vector/v.perturb/myrng.c,
+	  vector/v.perturb/normal00.c, vector/v.perturb/normalen.c,
+	  vector/v.perturb/normalrs.c, vector/v.perturb/normalsv.c,
+	  vector/v.perturb/perturb.h, vector/v.perturb/zufall.c,
+	  vector/v.perturb/zufall.c.README,
+	  vector/v.perturb/zufall.f77.README, vector/v.perturb/zufall.h,
+	  vector/v.perturb/zufalli.c, vector/v.perturb/zufallrs.c,
+	  vector/v.perturb/zufallsv.c: upgrade from
+	  grass/src/sites/s.perturb
+
+2004-10-16 10:25  radim
+
+	* include/Make/Grass.make.in, include/cdhc.h, lib/Makefile: +cdhc
+
+2004-10-16 10:20  radim
+
+	* lib/cdhc/Makefile: upgrade
+
+2004-10-16 10:18  radim
+
+	* tools/link.conf: + cdhc
+
+2004-10-15 21:45  michael
+
+	* lib/gis/gui.tcl: Removes annoying "\b's" from progress indicators
+	  in tcltk dialog output
+
+2004-10-15 21:43  michael
+
+	* display/d.m/menu.tcl: Permits g.access.tcl script to run from GIS
+	  Manager menus
+
+2004-10-15 18:14  michael
+
+	* display/d.m/menu.tcl: Bug fix for GIS Manager menu. g.access and
+	  d.rast.edit now run correctly
+	  in an xterm using the term procedure; r.terraflow runs via
+	  {exec cmd &} instead of execute procedure. v.surf.rst runs
+	  via spawn procedure; d.what.vect now opens in form mode from
+	  vector
+	  menu.
+
+2004-10-15 14:36  markus
+
+	* raster/r.contour/main.c: removed optional query
+
+2004-10-15 09:50  markus
+
+	* raster/r.contour/local_proto.h, raster/r.contour/main.c: removed
+	  old code (btw: bugfix for debian)
+
+2004-10-15 09:14  markus
+
+	* raster/r.contour/main.c: Don't ask questions in CMD mode
+
+2004-10-15 07:24  hamish
+
+	* vector/v.voronoi/Makefile: add raster lib for compile on Debian.
+	  see http://grass.itc.it/pipermail/grass5/2004-October/015592.html
+
+2004-10-14 14:44  paul
+
+	* lib/proj/convert.c: Fix southern hemisphere UTM zone bug
+
+2004-10-14 11:27  markus
+
+	* debian/control: fixed (?) libtiff
+
+2004-10-14 09:10  markus
+
+	* display/d.m/intro.gif: fixed damaged intro map
+
+2004-10-14 09:08  markus
+
+	* display/d.m/query.gif: fixed damaged query symbol
+
+2004-10-14 09:06  markus
+
+	* general/g3.region/description.html: added
+
+2004-10-14 03:35  hamish
+
+	* vector/v.surf.rst/main.c: better description for theta= option
+
+2004-10-13 17:48  glynn
+
+	* raster/r.colors/main.c, raster/r.mapcalc/mapcalc.l: Enable
+	  r.series
+	  Add -l flag to r.colors
+	  Remove leading whitespace from preprocessor directives in
+	  mapcalc.l
+
+2004-10-13 08:31  markus
+
+	* raster/r.watershed/ram/Makefile, raster/r.watershed/seg/Makefile:
+	  fixed permissions
+
+2004-10-13 04:41  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: add tension and smoothing
+	  options for interpolation
+
+2004-10-13 01:38  hamish
+
+	* scripts/r.fillnulls/r.fillnulls: fix to work with floating point
+	  input maps
+	  check if input file exists
+
+2004-10-12 16:27  paul
+
+	* raster/r.mapcalc/mapcalc.l: Fixes for r.mapcalc/r3.mapcalc using
+	  Solaris lex and disable building
+	  old version of r3.mapcalc
+
+2004-10-11 12:49  radim
+
+	* TODO: update for 6.0.0
+
+2004-10-11 05:47  hamish
+
+	* doc/html_documentation.txt: add some clues
+
+2004-10-10 18:04  markus
+
+	* include/raster.h: prototypes for freetype support
+
+2004-10-10 05:54  hamish
+
+	* raster/r.cost/main.c: Updates from Jim Westervelt (USACE/CERL)
+	  merged with 5.7 updates
+
+2004-10-10 05:49  hamish
+
+	* raster/r.cost/btree.c, raster/r.cost/cost.h: Updates from Jim
+	  Westervelt (USACE/CERL): "I thought I'd note the
+	  key changes I made to the code. First, I added to the binary tree
+	  the ability to efficiently store identical matches by adding a
+	  linked
+	  list to each binary node. This increased the speed by about 50x
+	  for
+	  my particular application. Second, I added the ability to specify
+	  how much of the segmented space to hold in memory. With available
+	  memory I was able to set the percent for my application at 100 -
+	  avoiding the virtual paging. (I'd like to avoid the segmenting
+	  altogether on a request of 100%.)"
+
+2004-10-10 05:40  hamish
+
+	* raster/r.cost/btree.c, raster/r.cost/cost.h: initial copy from
+	  5.3 CVS (unchanged).
+	  was:
+	  btree.c rev 1.5
+	  cost.h rev 1.2
+
+2004-10-08 21:56  michael
+
+	* display/d.m/menu.tcl: Makes entries for i.points, i.orthophoto,
+	  and i.class open in xterm
+
+2004-10-07 14:18  markus
+
+	* tools/build_html_index.html: changed to table output
+
+2004-10-07 13:11  markus
+
+	* scripts/g3_scripts/g3.createwind: bugfix
+
+2004-10-07 13:06  markus
+
+	* vector/v.in.ascii/description.html: new 3D example
+
+2004-10-07 09:17  markus
+
+	* imagery/i.vpoints/description.html: added
+
+2004-10-07 04:58  hamish
+
+	* scripts/v.in.garmin/description.html: initial port of
+	  v.in.**garmin** for GRASS 5.7. (major rewrite)
+
+2004-10-07 03:16  hamish
+
+	* scripts/Makefile, scripts/v.in.garmin/Makefile: initial port of
+	  v.in.ascii for GRASS 5.7. (major rewrite)
+
+2004-10-06 17:26  markus
+
+	* lib/gis/gisrasterlib.dox: doxygenized (half through)
+
+2004-10-06 17:25  markus
+
+	* lib/gis/percent.c, lib/gis/plot.c, lib/gis/pole_in_poly.c,
+	  lib/gis/progrm_nme.c, lib/gis/proj1.c, lib/gis/proj3.c,
+	  lib/gis/put_window.c, lib/gis/quant.c, lib/gis/quant_rw.c,
+	  lib/gis/radii.c, lib/gis/range.c, lib/gis/raster.c,
+	  lib/gis/readsites_xyz.c, lib/gis/reclass.c, lib/gis/remove.c,
+	  lib/gis/rename.c, lib/gis/short_way.c, lib/gis/sites_title.c,
+	  lib/gis/squeeze.c, lib/gis/store.c, lib/gis/system.c,
+	  lib/gis/tempfile.c, lib/gis/timestamp.c, lib/gis/trim_dec.c,
+	  lib/gis/unctrl.c, lib/gis/whoami.c, lib/gis/wind_format.c,
+	  lib/gis/wind_scan.c, lib/gis/window_map.c, lib/gis/yes.c,
+	  lib/gis/zero_cell.c, lib/gis/zone.c: doxygenized
+
+2004-10-06 15:38  paul
+
+	* general/g3.region/Makefile, lib/db/dbmi_base/whoami.c: Fixes for
+	  OS X
+
+2004-10-06 14:50  paul
+
+	* aclocal.m4, configure: Shared libs compile fixes for Solaris and
+	  OS X
+
+2004-10-06 11:30  markus
+
+	* tools/link.conf: g3* scripts now in 5.7
+
+2004-10-06 11:29  markus
+
+	* scripts/g3_scripts/g3.createwind, scripts/g3_scripts/g3.list,
+	  scripts/g3_scripts/g3.remove, scripts/g3_scripts/g3.rename,
+	  scripts/g3_scripts/g3.setregion: 5.7 versions added
+
+2004-10-06 08:52  hamish
+
+	* scripts/v.in.garmin, scripts/v.in.garmin/v.in.garmin: initial
+	  port of v.in.ascii for GRASS 5.7.
+	  (major rewrite)
+
+2004-10-04 21:17  glynn
+
+	* raster/r.colors/main.c: Add (dynamically-generated) options field
+	  for rules= option
+
+2004-10-04 17:03  markus
+
+	* lib/gis/index.c, lib/gis/intr_char.c, lib/gis/legal_name.c,
+	  lib/gis/location.c, lib/gis/make_loc.c, lib/gis/mapcase.c,
+	  lib/gis/mapset.c, lib/gis/maskfd.c, lib/gis/myname.c,
+	  lib/gis/nme_in_mps.c, lib/gis/null_val.c, lib/gis/open.c:
+	  doxygenized
+
+2004-10-04 16:53  markus
+
+	* lib/gis/bres_line.c, lib/gis/date.c, lib/gis/distance.c,
+	  lib/gis/endian.c, lib/gis/find_cell.c, lib/gis/geodist.c,
+	  lib/gis/get_cellhd.c, lib/gis/get_datum.c,
+	  lib/gis/get_datum_name.c, lib/gis/get_ellipse.c,
+	  lib/gis/get_row_colr.c, lib/gis/get_window.c, lib/gis/gisbase.c,
+	  lib/gis/gisdbase.c, lib/gis/history.c, lib/gis/home.c:
+	  doxygenized
+
+2004-10-04 16:39  markus
+
+	* lib/gis/cats.c, lib/gis/cell_stats.c, lib/gis/cell_title.c,
+	  lib/gis/chop.c, lib/gis/closecell.c, lib/gis/color_asp.c,
+	  lib/gis/color_free.c, lib/gis/color_get.c, lib/gis/color_grey.c,
+	  lib/gis/color_hist.c, lib/gis/color_init.c, lib/gis/color_look.c,
+	  lib/gis/color_rain.c, lib/gis/color_ramp.c, lib/gis/color_rand.c,
+	  lib/gis/color_range.c, lib/gis/color_read.c,
+	  lib/gis/color_rule.c, lib/gis/color_set.c, lib/gis/color_wave.c,
+	  lib/gis/color_write.c: doxygenized
+
+2004-10-04 16:10  glynn
+
+	* raster/r.mapcalc/xmedian.c, raster/r.mapcalc/xmode.c: Fix bug in
+	  median/mode functions
+
+2004-10-04 07:29  markus
+
+	* raster/r.flow/description.html,
+	  vector/v.voronoi/description.html: man page added
+
+2004-10-04 05:17  markus
+
+	* scripts/g.manual/g.manual: fix the fix
+
+2004-10-03 04:14  glynn
+
+	* lib/gis/history.c: Don't localise strings which will be stored in
+	  files
+
+2004-10-02 11:28  radim
+
+	* vector/v.voronoi/Makefile: manuals
+
+2004-10-02 11:21  radim
+
+	* doc/vector/v.modules.html: update
+
+2004-10-02 11:10  radim
+
+	* raster/Makefile: + r.flow
+
+2004-10-02 11:09  radim
+
+	* raster/r.flow, raster/r.flow/Makefile, raster/r.flow/TODO,
+	  raster/r.flow/aspect.c, raster/r.flow/aspect.h,
+	  raster/r.flow/calc.c, raster/r.flow/io.c, raster/r.flow/io.h,
+	  raster/r.flow/mem.c, raster/r.flow/mem.h,
+	  raster/r.flow/precomp.c, raster/r.flow/precomp.h,
+	  raster/r.flow/r.flow.h: update from grass/src/raster/r.flow
+
+2004-10-02 11:05  radim
+
+	* vector/Makefile: + v.voronoi
+
+2004-10-02 11:03  radim
+
+	* vector/v.voronoi/Makefile, vector/v.voronoi/README,
+	  vector/v.voronoi/defs.h, vector/v.voronoi/dt_main.c,
+	  vector/v.voronoi/dt_write.c, vector/v.voronoi/sw_defs.h,
+	  vector/v.voronoi/sw_edgelist.c, vector/v.voronoi/sw_geometry.c,
+	  vector/v.voronoi/sw_heap.c, vector/v.voronoi/sw_main.c,
+	  vector/v.voronoi/sw_output.c, vector/v.voronoi/sw_voronoi.c,
+	  vector/v.voronoi/vo_extend.c, vector/v.voronoi/vo_main.c,
+	  vector/v.voronoi/vo_write.c, vector/v.voronoi/write.h: update
+
+2004-10-02 11:02  radim
+
+	* vector/v.voronoi, vector/v.voronoi/README,
+	  vector/v.voronoi/sw_defs.h, vector/v.voronoi/sw_edgelist.c,
+	  vector/v.voronoi/sw_geometry.c, vector/v.voronoi/sw_heap.c,
+	  vector/v.voronoi/sw_main.c, vector/v.voronoi/sw_memory.c,
+	  vector/v.voronoi/sw_output.c, vector/v.voronoi/sw_voronoi.c,
+	  vector/v.voronoi/vo_extend.c: copy from grass/src/sites/s.voronoi
+
+2004-10-01 15:49  markus
+
+	* lib/display/clip.c, lib/display/cnversions.c, lib/display/draw.c,
+	  lib/display/list.c, lib/display/popup.c, lib/display/raster.c,
+	  lib/display/raster2.c, lib/display/setup.c,
+	  lib/display/tran_colr.c, lib/display/window.c: doxygenized
+
+2004-10-01 15:38  markus
+
+	* lib/datetime/change.c, lib/datetime/copy.c, lib/datetime/diff.c,
+	  lib/datetime/error.c, lib/datetime/incr1.c, lib/datetime/incr2.c,
+	  lib/datetime/incr3.c, lib/datetime/local.c, lib/datetime/misc.c,
+	  lib/datetime/same.c, lib/datetime/scan.c, lib/datetime/sign.c,
+	  lib/datetime/type.c, lib/datetime/tz1.c, lib/datetime/tz2.c,
+	  lib/datetime/values.c: doxygenized
+
+2004-10-01 15:28  markus
+
+	* lib/bitmap/bitmap.c: doxygenized
+
+2004-10-01 15:22  markus
+
+	* lib/rowio/fileno.c, lib/rowio/get.c, lib/rowio/put.c,
+	  lib/rowio/setup.c, lib/segment/debug.c, lib/segment/flush.c,
+	  lib/segment/format.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/init.c, lib/segment/put.c, lib/segment/put_row.c,
+	  lib/segment/release.c, lib/vask/V_acc.c, lib/vask/V_call.c,
+	  lib/vask/V_clear.c, lib/vask/V_const.c, lib/vask/V_line.c,
+	  lib/vask/V_ques.c: doxygenized
+
+2004-10-01 10:02  markus
+
+	* locale/README: web added
+
+2004-10-01 09:30  markus
+
+	* locale/README: small addition
+
+2004-09-30 16:25  markus
+
+	* locale/README, locale/po/README, locale/po/grasslibs_fr.po,
+	  locale/po/grassmods_de.po, locale/po/grassmods_fr.po: updated
+	  encoding to ISO-8859-1
+
+2004-09-30 13:47  markus
+
+	* vector/v.out.ogr/description.html: holes trick added
+
+2004-09-30 11:59  paul
+
+	* lib/gis/make_loc.c: zone check
+
+2004-09-30 10:53  paul
+
+	* lib/gis/make_loc.c: fix bug
+
+2004-09-30 02:47  hamish
+
+	* gui/tcltkgrass/script/v.in.asciipoints: * fix filename quoting
+	  * change default catcol number (to match v.in.ascii rev1.5)
+	  * don't report success if things didn't go well.
+
+2004-09-29 15:22  radim
+
+	* imagery/Makefile: +i.vpoints
+
+2004-09-29 15:20  radim
+
+	* general/g3.region/Makefile, general/g3.region/from_vect.c,
+	  imagery/i.vpoints/Makefile, imagery/i.vpoints/drawvect.c,
+	  imagery/i.vpoints/find.c, imagery/i.vpoints/plot.c,
+	  imagery/i.vpoints/vectpoints.h, lib/gis/ask_vctrs.c: update
+
+2004-09-29 15:15  radim
+
+	* tools/link.conf: +g3.region, i.vpoints
+
+2004-09-29 15:14  radim
+
+	* general/Makefile: g3.region
+
+2004-09-29 13:00  radim
+
+	* vector/Makefile: v.neighbors
+
+2004-09-29 13:00  radim
+
+	* vector/v.neighbors, vector/v.neighbors/Makefile,
+	  vector/v.neighbors/main.c: new
+
+2004-09-27 23:44  michael
+
+	* display/d.m/menu.tcl: Improvements to arrangement of entries for
+	  interpolation and surface
+	  generation, under raster menu hierarchy.
+
+2004-09-27 15:53  markus
+
+	* Makefile: print out compilation errors directly
+
+2004-09-27 15:21  markus
+
+	* locale/Makefile: user messages extended
+
+2004-09-27 15:05  markus
+
+	* locale/po/grasslibs_fr.po, locale/po/grassmods_fr.po: added
+	  French translation
+
+2004-09-27 03:34  glynn
+
+	* display/d.vect.chart/pie.c: Fix infinite loop
+
+2004-09-27 03:30  glynn
+
+	* lib/gis/get_ellipse.c: Change handling of error message to
+	  facilitate localisation
+
+2004-09-24 15:00  markus
+
+	* raster/r.colors/Makefile, raster/r.colors/evi: EVI color table
+	  added (MODIS)
+
+2004-09-23 15:12  markus
+
+	* Makefile: if condition fix
+
+2004-09-22 22:26  michael
+
+	* scripts/r.shaded.relief/r.shaded.relief: Fixed bug in parsing
+	  output relief map name
+
+2004-09-22 06:10  hamish
+
+	* vector/v.in.ascii/description.html: sharpen format of example
+
+2004-09-21 03:03  hamish
+
+	* display/d.vect/main.c: add error checking for color= and fcolor=
+	  options
+
+2004-09-20 20:42  michael
+
+	* display/d.m/menu.tcl: Changed calling procedure for v.surf.rst
+	  from execute to spawn
+	  because of errors generated.
+
+2004-09-20 15:34  radim
+
+	* display/d.m/Makefile: probably
+
+2004-09-19 01:50  hamish
+
+	* scripts/Makefile: re-enable re-enabled r.univar.sh to reflect
+	  change of directory name
+
+2004-09-17 17:11  michael
+
+	* scripts/r.univar: Renamed from r.univar to r.univar.sh to avoid
+	  confusion with binary
+	  r.univar
+
+2004-09-17 16:54  michael
+
+	* scripts/r.univar.sh, scripts/r.univar.sh/Makefile,
+	  scripts/r.univar.sh/description.html,
+	  scripts/r.univar.sh/r.univar.sh: Renamed to include r.univar.sh
+	  script when GRASS compiled
+
+2004-09-17 16:50  michael
+
+	* display/d.m/script, display/d.m/script/d.shadedmap,
+	  display/d.m/script/r.colors.rules,
+	  display/d.m/script/r.reclass.rules,
+	  display/d.m/script/r.recode.rules,
+	  display/d.m/script/v.in.asciipoints,
+	  scripts/r.univar/r.univar.sh: Scripts needed for menus in GIS
+	  Manager (d.m) gui
+
+2004-09-17 15:15  radim
+
+	* vector/v.db.connect/description.html,
+	  vector/v.overlay/description.html: fix by Otto Dassau
+
+2004-09-17 07:09  radim
+
+	* vector/v.external/description.html: notes
+
+2004-09-17 05:13  markus
+
+	* Makefile: fix
+
+2004-09-16 15:54  michael
+
+	* scripts/r.univar/description.html, scripts/r.univar/r.univar.sh:
+	  Added 90th percentile to extended statistics
+
+2004-09-16 15:53  michael
+
+	* display/d.m/menu.tcl: Fixed menu item for d.measure to run it in
+	  xterm
+
+2004-09-16 11:03  hamish
+
+	* display/d.rhumbline/main.c: fix segfault when coor=""
+
+2004-09-16 10:57  hamish
+
+	* display/d.rhumbline/description.html: comment out some irrelevant
+	  information
+	  fix DEFAULT_FG_COLOR
+
+2004-09-16 10:52  hamish
+
+	* display/d.geodesic/description.html: add support for omitting
+	  text (tcolor=none)
+	  fix DEFAULT_FG_COLOR
+
+2004-09-16 10:21  hamish
+
+	* display/d.rhumbline/mouse.c: don't output debug info by default
+	  (window coords not geo-coords)
+
+2004-09-16 06:37  hamish
+
+	* display/d.geodesic/main.c, display/d.geodesic/plot.c: add support
+	  for omitting text (color=none)
+	  fix segfault when coor=""
+
+2004-09-16 03:16  hamish
+
+	* scripts/Makefile: re-enable (renamed) r.univar.sh
+
+2004-09-14 17:03  michael
+
+	* scripts/r.shaded.relief/description.html,
+	  scripts/r.shaded.relief/r.shaded.relief: Update to add user input
+	  of scale factor for horizontal units,
+	  better explanation of units "feet" and "meters" options (i.e.,
+	  for lat/lon regions), user input to set z exaggeration for
+	  relief.
+
+2004-09-14 16:58  michael
+
+	* lib/init/init.sh: Commented out line starting tcltkgrass GUI menu
+	  system. Menus now
+	  incoporated into d.m (GIS Manager).
+
+2004-09-14 16:48  michael
+
+	* display/d.m/cmd.tcl, display/d.m/d.m.tcl, display/d.m/dig.gif,
+	  display/d.m/erase.gif, display/d.m/grassabout.tcl,
+	  display/d.m/intro.gif, display/d.m/labels.tcl,
+	  display/d.m/menu.tcl, display/d.m/pan.gif, display/d.m/query.gif,
+	  display/d.m/raster.tcl, display/d.m/tool.tcl,
+	  display/d.m/vector.tcl, gui/tcltkgrass/script/v.in.asciipoints:
+	  Update to Display Manager. Display Manager becomes GIS Manager,
+	  and incorporate all the UI functions of tcltkgrass for GRASS 5.7.
+	  Menu is defined in menu.tcl, called from d.m.tcl.
+	  Added new tools for erase and pan to dm toolbar, updated some
+	  existing icons for tool bar. Added option to display legend with
+	  raster map in dm UI for raster display. Updated menu script
+	  v.in.asciipoints to permit user to input column names from GUI
+	  for
+	  table to be created.
+
+2004-09-14 16:40  michael
+
+	* display/d.m/Makefile, display/d.m/add.cmd.gif,
+	  display/d.m/add.group.gif, display/d.m/add.labels.gif,
+	  display/d.m/add.raster.gif, display/d.m/add.vector.gif: Update to
+	  Display Manager. Display Manager becomes GIS Manager.
+	  Now incorporates all GUI functions of tcltkgrass for GRASS 5.7.
+	  New tools for erase and pan added to tool bar. Updates to other
+	  tool icons. Option to display raster with legend added to raster
+	  display in GIS Manager. Update to dm menu script v.in.asciipoints
+	  to permit user to enter column names within GUI for table
+	  created.
+
+2004-09-10 17:30  glynn
+
+	* include/Make/Rules.make, scripts/d.monsize/d.monsize,
+	  scripts/d.out.png/d.out.png, scripts/d.rast.leg/d.rast.leg,
+	  scripts/d.redraw/d.redraw, scripts/d.resize/d.resize,
+	  scripts/d.slide.show/d.slide.show, scripts/d.split/d.split,
+	  scripts/db.test/db.test, scripts/g.manual/g.manual,
+	  scripts/g.mlist/g.mlist, scripts/g.mremove/g.mremove,
+	  scripts/i.fusion.brovey/i.fusion.brovey,
+	  scripts/i.image.mosaic/i.image.mosaic, scripts/i.oif/i.oif,
+	  scripts/i.spectral/i.spectral, scripts/i.tasscap/i.tasscap,
+	  scripts/r.blend/r.blend, scripts/r.fillnulls/r.fillnulls,
+	  scripts/r.mapcalculator/r.mapcalculator,
+	  scripts/r.out.gdal/r.out.gdal, scripts/r.plane/r.plane,
+	  scripts/r.reclass.area/r.reclass.area,
+	  scripts/r.regression.line/r.regression.line,
+	  scripts/r.shaded.relief/r.shaded.relief,
+	  scripts/r.univar/r.univar.sh,
+	  scripts/r3.mapcalculator/r3.mapcalculator: Fix scripts: just run
+	  "g.parser", don't use the full path
+
+2004-09-10 16:14  glynn
+
+	* general/g.access/Makefile, general/g.setproj/Makefile,
+	  imagery/i.class/Makefile, imagery/i.points/Makefile,
+	  include/Make/Module.make, raster/r.le/r.le.setup/Makefile,
+	  raster/r.watershed/shed/Makefile: Revoke part of last commit;
+	  "inter" rule needed to handle HTML rules correctly
+
+2004-09-10 16:00  glynn
+
+	* db/base/Makefile, display/d.frame/Makefile,
+	  general/g.access/Makefile, general/g.mapsets/Makefile,
+	  general/g.mapsets/main_cmd.c, general/g.setproj/Makefile,
+	  general/manage/cmd/Makefile, imagery/i.class/Makefile,
+	  imagery/i.points/Makefile, include/Make/Grass.make.in,
+	  include/Make/Module.make, include/Make/Rules.make, lib/Makefile,
+	  lib/front.end/Makefile, raster/r.le/r.le.setup/Makefile,
+	  raster/r.le/r.le.setup/polytocell/Makefile,
+	  raster/r.mapcalc/Makefile, raster/r.terraflow/Makefile,
+	  raster/r.watershed/shed/Makefile: Remove front.end
+
+2004-09-09 20:02  glynn
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/yac.y: Add IS NULL/NOT NULL support
+
+2004-09-09 20:00  glynn
+
+	* Makefile: Remove ${ARCH_DISTDIR}/locale
+
+2004-09-09 19:59  glynn
+
+	* raster/r.grow2/Makefile, tools/link.conf: Add r.grow2
+
+2004-09-07 05:02  markus
+
+	* lib/rst/interp_float/vinput2d.c: stop crashing
+
+2004-09-07 04:47  markus
+
+	* lib/rst/interp_float/vinput2d.c: only close db if opened
+
+2004-09-06 16:06  markus
+
+	* vector/v.external/main.c: this module is read-only
+
+2004-09-06 06:50  glynn
+
+	* lib/gis/get_row.c: Fix cell_values_{float,double} to handle
+	  180-degree wrapping
+
+2004-09-05 14:44  glynn
+
+	* raster/r.grow2/main.c: Update r.grow2 to support FP maps
+	  Add r.grow2 and g.pnmcomp to src/CMD/lists/GRASS
+
+2004-09-05 12:08  glynn
+
+	* lib/gis/get_row.c: Fix index in error messages
+
+2004-09-05 09:31  hamish
+
+	* raster/r.sun/description.html: squash another mention of
+	  r.sun_out.txt
+
+2004-09-05 09:28  hamish
+
+	* raster/r.sun/description.html: fix hist/ file details, broken
+	  link
+
+2004-09-05 07:31  glynn
+
+	* lib/gis/put_row.c: Allow FP values to be written to CELL maps
+	  (values are truncated using C type cast)
+
+2004-09-05 07:29  glynn
+
+	* include/spawn.h, lib/gis/spawn.c: Add G_spawn_ex()
+	  Fix G_spawn() signal handling
+
+2004-09-05 07:27  glynn
+
+	* display/drivers/PNG/Box_abs.c, display/drivers/PNG/Draw_line.c,
+	  display/drivers/PNG/Graph_Set.c,
+	  display/drivers/PNG/Polygn_abs.c,
+	  display/drivers/PNG/Raster_int.c, display/drivers/PNG/Respond.c,
+	  display/drivers/PNG/pngdriver.h, display/drivers/PNG/write.c:
+	  auto-write now writes image file in response to RESPOND command
+	  auto-write only writes image file when modified
+	  When writing PPM files, PGM mask is written if GRASS_TRANSPARENT
+	  is TRUE
+
+2004-09-05 06:53  hamish
+
+	* raster/r.contour/cont.c: fix disappearing level number text
+
+2004-09-05 06:48  hamish
+
+	* raster/r.contour/main.c: rearrange output option location
+	  (cosmetic)
+
+2004-09-03 17:29  michael
+
+	* gui/tcltkgrass/main/menu.tcl: Update to include support for new
+	  options in d.zoom and d.erase
+	  Reorganization to improve useability
+
+2004-09-02 04:37  hamish
+
+	* vector/v.digit/line.c: correct button menu
+
+2004-09-02 03:10  hamish
+
+	* vector/v.convert/description.html: less ambiguous description
+	  added v.out.ascii note
+
+2004-09-02 03:08  hamish
+
+	* vector/v.convert/main.c: less ambiguous description
+	  cleanup whitespace
+
+2004-09-02 03:01  markus
+
+	* rpm/fedora/grass.spec: fixed outdated description
+
+2004-09-02 02:41  hamish
+
+	* display/d.vect.chart/bar.c, display/d.vect.chart/pie.c: fix so
+	  colors=none works
+
+2004-09-02 00:54  glynn
+
+	* raster/r.le/r.le.setup/Makefile, tools/Makefile,
+	  vector/v.clean/Makefile: Fix handling of subdirectories
+
+2004-09-01 15:35  markus
+
+	* display/d.m/description.html,
+	  imagery/i.smap/shapiro/description.html: Otto Dassau: extended
+	  docs
+
+2004-09-01 15:04  bernhard
+
+	* rpm/fedora, rpm/fedora/grass-readline.patch,
+	  rpm/fedora/grass.spec: Adding a fedora2 spec file and a patch
+	  necessary so far.
+
+2004-09-01 15:03  bernhard
+
+	* grass.spec: Moving to rpm/mandrake/ .
+
+2004-09-01 15:02  bernhard
+
+	* rpm, rpm/mandrake, rpm/mandrake/grass.spec: Moving here from
+	  toplevel directory.
+	  Added small header infomation.
+
+2004-09-01 14:42  radim
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/main.c: clean in loop
+
+2004-09-01 14:13  radim
+
+	* vector/v.in.ogr/global.h, vector/v.in.ogr/main.c: clean in loop
+
+2004-09-01 14:12  radim
+
+	* vector/v.to.db/report.c: print %g
+
+2004-09-01 14:11  radim
+
+	* lib/vector/Vlib/intersect.c: removed threshold
+
+2004-09-01 14:11  radim
+
+	* lib/vector/Vlib/dangles.c: force GV_LINES only
+
+2004-09-01 14:11  radim
+
+	* lib/vector/Vlib/clean_nodes.c: fix for small angle between 2 ends
+	  of one line
+
+2004-09-01 13:57  markus
+
+	* lib/gis/parser.c: fixed message
+
+2004-09-01 01:04  hamish
+
+	* general/g.proj/main.c: -e flag implies -w
+
+2004-08-31 08:25  hamish
+
+	* display/d.vect.chart/pie.c: Nice bubbles: don't draw line to
+	  center of circle if the pie isn't cut
+
+2004-08-30 03:22  markus
+
+	* raster/r.colors/Makefile, raster/r.colors/srtm: srtm color table
+	  added
+
+2004-08-28 21:42  glynn
+
+	* visualization/nviz/src/do_zoom.c: More do_zoom.c fixes:
+	  Defer Ndraw_all until after we have the original context back
+	  Don't use "Nset_cancel_func update"
+
+2004-08-27 13:32  markus
+
+	* Makefile: compile locale when requested
+
+2004-08-27 13:22  markus
+
+	* lib/ogsf/Makefile: added XLIBPATH for Mdk10
+
+2004-08-27 12:29  markus
+
+	* include/graph.h, lib/raster/Font.c, lib/raster/graph.h: GRASS
+	  i18n-jp Project: added new functions for truetype with Asian
+	  charsets
+
+2004-08-27 12:10  markus
+
+	* lib/gis/parser.c: added i18N macros
+
+2004-08-27 12:09  markus
+
+	* lib/gis/get_row.c, lib/gis/opencell.c: added doxygen comments
+
+2004-08-27 11:16  markus
+
+	* lib/gis/locale.c: added LC_TYPE for japanese
+
+2004-08-27 09:33  markus
+
+	* locale/README: fixes
+
+2004-08-27 08:49  markus
+
+	* Makefile: install LOCALE if present
+
+2004-08-27 07:25  markus
+
+	* locale/README: minor improvements
+
+2004-08-27 05:57  markus
+
+	* lib/init/init.sh: added htmlview
+
+2004-08-26 22:06  glynn
+
+	* visualization/nviz/src/do_zoom.c: Fix do_zoom.c context handling
+
+2004-08-25 14:07  markus
+
+	* Makefile: don't delete links in ${ARCH_BINDIR}/bin
+
+2004-08-25 09:12  hamish
+
+	* display/d.rast.arrow/description.html: update, hint for aspect
+	  directions
+
+2004-08-25 08:34  hamish
+
+	* display/d.rast.arrow/arrow.c: update it so it actually works; add
+	  NULL, FCELL, and DCELL support
+
+2004-08-25 03:28  glynn
+
+	* gui/tcltkgrass/main/gui.tcl: Change execute procedure to use
+	  --tcltk switch
+
+2004-08-25 03:27  glynn
+
+	* lib/gis/gui.tcl, lib/gis/parser.c: More Tcl/Tk changes:
+	  Fix gui.tcl bugs
+	  Change gui.tcl:close_cmd to destroy window instead of exit (for
+	  tcltkgrass)
+	  Add --ui and --tcltk switches to G_parser
+	  Move bulk of G_gui() into a separate function
+
+2004-08-23 22:40  hamish
+
+	* display/d.vect/main.c: fix for drawing points in lat/lon when
+	  crossing 180 longitude
+
+2004-08-23 21:54  glynn
+
+	* lib/gis/gui.tcl: Clean up, oriented toward supporting multiple
+	  dialogs in one process
+
+2004-08-23 16:17  glynn
+
+	* lib/gis/gui.tcl: Fix bug in file button
+
+2004-08-23 08:05  hamish
+
+	* display/d.zoom/local_proto.h, display/d.zoom/main.c,
+	  display/d.zoom/pan.c, display/d.zoom/zoom.c: add -p flag for pan
+	  mode
+
+2004-08-22 00:37  glynn
+
+	* lib/gis/gui.tcl, lib/gis/parser.c: G_gui() update; move as much
+	  as possible into gui.tcl
+
+2004-08-22 00:35  glynn
+
+	* vector/v.clean/Makefile: Use "$(MAKE) -c ..." instead of "cd ...
+	  ; $(MAKE)"
+
+2004-08-21 19:52  glynn
+
+	* gui/tcltkgrass/main/menu.tcl: Build start/stop/select monitor
+	  menus dynamically from etc/monitorcap
+
+2004-08-21 02:17  hamish
+
+	* display/d.vect/area.c: finish off last commit (area check)
+
+2004-08-20 16:12  markus
+
+	* tools/build_html_index.html: tried to fix the EXCLUDEHTML bug,
+	  not yet functional
+
+2004-08-20 14:38  markus
+
+	* display/drivers/PNG/Makefile: updated
+
+2004-08-20 14:29  markus
+
+	* display/drivers/PNG/description.html: added new features
+
+2004-08-20 08:58  paul
+
+	* general/g.mapset/main.c: Fix segfault when GRASS variable MONITOR
+	  didn't exist and tidy a bit
+
+2004-08-20 08:19  hamish
+
+	* vector/v.out.ascii/description.html: add note about outputting
+	  point coordinates to stdout if not output
+	  filename is given
+
+2004-08-20 08:01  hamish
+
+	* vector/v.in.ascii/description.html: add some notes on the GRASS
+	  ASCII vector format
+
+2004-08-20 06:55  hamish
+
+	* display/d.vect/area.c: fix area box check when using lat/lon with
+	  'g.region w=0 e=360' and
+	  map data is -180 to +180
+
+2004-08-19 21:04  glynn
+
+	* display/drivers/XDRIVER/XDRIVER24/Panel.c: Change panel code to
+	  use Pixmaps rather than files
+
+2004-08-19 21:04  glynn
+
+	* display/drivers/PNG/Client.c, display/drivers/PNG/Graph_Clse.c,
+	  display/drivers/PNG/Graph_Set.c, display/drivers/PNG/pngdriver.h,
+	  display/drivers/PNG/write.c: Allow writing of PPM files as well
+	  as PNG
+	  Allow image file to be written after each operation
+	  (GRASS_PNG_AUTO_WRITE)
+
+2004-08-18 18:15  michael
+
+	* gui/tcltkgrass/main/gui.tcl: New procedures for calling GRASS
+	  programs in menu.tcl.
+
+2004-08-18 18:14  michael
+
+	* gui/tcltkgrass/main/menu.tcl: Improved grid3D support. Updated
+	  procedures for calling GRASS
+	  programs (see /gui/tcltkgrass/main/gui.tcl)
+
+2004-08-18 10:36  hamish
+
+	* visualization/nviz/src/vect.c: comment without end
+
+2004-08-18 09:28  hamish
+
+	* display/d.graph/main.c, display/d.mapgraph/main.c: add file
+	  prompt for input option
+
+2004-08-18 09:13  hamish
+
+	* vector/v.digit/line.c, vector/v.digit/toolbox.tcl: more correct
+	  button descriptions
+
+2004-08-17 20:30  michael
+
+	* scripts/r3.mapcalculator, scripts/r3.mapcalculator/Makefile,
+	  scripts/r3.mapcalculator/description.html,
+	  scripts/r3.mapcalculator/r3.mapcalculator: Script to provide GUI
+	  frontend for r3.mapcalc similar to the GUI
+	  frontend for r.mcapcalc (r.mapcalculator). Script is referenced
+	  in updated tcltkgrass 4.1 for GRASS 5.7
+
+2004-08-17 20:14  michael
+
+	* gui/tcltkgrass/main/help-scripting.tcl: Scripting within
+	  tcltkgrass no longer works under GRASS 5.7, so
+	  help file removed.
+
+2004-08-17 20:13  michael
+
+	* gui/tcltkgrass/main/help-netscape.tcl: Removed because netscape
+	  configuration no longer works in
+	  tcltkgrass.
+
+2004-08-17 20:12  michael
+
+	* gui/tcltkgrass/main/menu.tcl: Added new commands. Removed
+	  commands for scripting, netscape
+	  configuration, configuration save. Updated menu entries for
+	  commands
+	  that still need to be run in xterm. Other minor updates.
+
+2004-08-17 20:10  michael
+
+	* gui/tcltkgrass/main/gui.tcl: Removed unused code. Improvements to
+	  menu_build procedure.
+
+2004-08-17 16:12  markus
+
+	* vector/v.what.rast/main.c: small fixes
+
+2004-08-17 12:13  markus
+
+	* vector/v.convert/description.html,
+	  vector/v.database/description.html,
+	  vector/v.in.ogr/description.html,
+	  vector/v.out.ogr/description.html: docs updated
+
+2004-08-17 12:04  markus
+
+	* vector/v.out.ascii/out.c: added module description
+
+2004-08-17 12:00  markus
+
+	* vector/v.build/main.c: fixed module description
+	  position/G_parser() position in code
+
+2004-08-17 10:11  markus
+
+	* scripts/d.out.png/d.out.png: reverted curr_mon change
+
+2004-08-17 08:59  markus
+
+	* vector/v.in.ogr/description.html: E00 slightly extended, layout
+
+2004-08-16 16:56  markus
+
+	* vector/v.in.ogr/description.html: E00 import example added
+
+2004-08-15 16:10  glynn
+
+	* lib/gis/G.h, lib/gis/G_dump.c, lib/gis/closecell.c,
+	  lib/gis/format.c, lib/gis/get_row.c, lib/gis/opencell.c,
+	  lib/gis/put_row.c: Add option to compress integer maps using zlib
+	  instead of RLE
+	  Move RLE decompressor to separate function
+	  Remove unused compression_bits field from fileinfo structure
+
+2004-08-14 18:32  markus
+
+	* include/gisdefs.h: G__open_raster_new is no longer public
+
+2004-08-13 20:23  glynn
+
+	* lib/gis/put_row.c: Fix bugs in null file handling
+
+2004-08-13 20:22  glynn
+
+	* lib/gis/get_row.c: Fix bug in column mapping
+
+2004-08-13 20:22  glynn
+
+	* lib/init/set_data.c: Allow longer database (GISDBASE) path
+
+2004-08-13 07:35  markus
+
+	* scripts/d.out.png/d.out.png: bugfix to catch selected monitor
+
+2004-08-13 07:31  markus
+
+	* scripts/d.rast.leg/d.rast.leg: added (commented) d.text.freetype
+	  support
+
+2004-08-12 19:51  markus
+
+	* lib/gis/env.c: merged some 5.3 change
+
+2004-08-12 15:35  markus
+
+	* raster/r.colors/rules.c: fixed warning in case of all cell values
+	  < 0
+
+2004-08-12 13:56  markus
+
+	* raster/r.stats/main.c: typo fixed
+
+2004-08-12 13:53  glynn
+
+	* lib/gis/G.h, lib/gis/closecell.c, lib/gis/format.c,
+	  lib/gis/get_row.c, lib/gis/opencell.c, lib/gis/put_row.c: Raster
+	  I/O cleanup
+	  Use off_t instead of long, to allow for files >2Gb
+
+2004-08-12 13:50  glynn
+
+	* lib/gis/spawn.c: Remove unused variables
+
+2004-08-12 13:50  glynn
+
+	* lib/gis/gets.c: Include stdlib.h (for exit())
+
+2004-08-12 13:43  markus
+
+	* vector/v.extract/main.c: message cosmetics
+
+2004-08-12 12:31  markus
+
+	* scripts/d.rast.leg/d.rast.leg: smaller font for map title
+
+2004-08-12 11:37  markus
+
+	* vector/v.db.connect/main.c: bugfix for -p
+
+2004-08-11 18:26  michael
+
+	* gui/tcltkgrass/main/menu.tcl: Fixed missing quotes for G3D
+	  display entry
+
+2004-08-11 16:32  glynn
+
+	* lib/gis/gui.tcl, lib/gis/parser.c: Make map/file buttons append
+	  to value when opt->multiple == YES
+
+2004-08-11 16:30  glynn
+
+	* lib/gtcltk/select.tcl: Don't use "glob -directory"; doesn't work
+	  with less recent Tcl versions
+
+2004-08-11 14:57  markus
+
+	* vector/v.digit/cats.tcl, vector/v.digit/settings.tcl,
+	  vector/v.digit/toolbox.tcl: dos2unix'ed
+
+2004-08-11 14:42  markus
+
+	* vector/v.digit/description.html: Martin Wegmann <wegmann
+	  biozentrum uni-wuerzburg de>: example added
+
+2004-08-11 14:26  markus
+
+	* vector/v.type/main.c: fixed bug #2475
+
+2004-08-11 10:14  markus
+
+	* vector/v.out.ogr/description.html: fixed area/SHAPe export and
+	  cosmetics
+
+2004-08-11 09:14  markus
+
+	* raster/r.circle/dist.c: extended help text
+
+2004-08-11 09:09  markus
+
+	* scripts/r.blend/r.blend: set color tables to grey to make script
+	  useful
+
+2004-08-11 09:04  markus
+
+	* scripts/r.shaded.relief/r.shaded.relief: az and alt are
+	  predefined
+
+2004-08-11 08:54  markus
+
+	* scripts/r.blend/r.blend: bugfix
+
+2004-08-10 16:03  markus
+
+	* lib/gis/find_file.c: advertise name of other mapsets (identical
+	  map name)
+
+2004-08-10 15:32  glynn
+
+	* visualization/nviz/src/do_zoom.c: Check that
+	  GLX_PBUFFER_{WIDTH,HEIGHT} are defined before using them
+
+2004-08-10 14:36  markus
+
+	* raster/r.clump/description.html, raster/r.grow/description.html,
+	  raster/r.resamp.rst/description.html,
+	  raster/r.sun/description.html,
+	  raster/r.surf.contour/description.html,
+	  raster/r.surf.fractal/description.html,
+	  raster/r.surf.idw/description.html,
+	  vector/v.proj/description.html,
+	  vector/v.surf.rst/description.html: fixed dead links
+
+2004-08-10 14:05  markus
+
+	* display/d.barscale/description.html,
+	  display/d.rast.num/description.html,
+	  imagery/i.class/description.html,
+	  imagery/i.points/description.html,
+	  raster/r.what/description.html: fixed dead links
+
+2004-08-10 10:40  paul
+
+	* vector/v.kernel/main.c: Fix syntax errors
+
+2004-08-10 10:16  markus
+
+	* lib/init/set_data.c: extended line lengths to enter location and
+	  mapset
+
+2004-08-10 08:35  markus
+
+	* db/base/db.columns.html, db/base/db.connect.html,
+	  db/base/db.copy.html, db/base/db.createdb.html,
+	  db/base/db.databases.html, db/base/db.describe.html,
+	  db/base/db.drivers.html, db/base/db.dropdb.html,
+	  db/base/db.droptable.html, db/base/db.execute.html,
+	  db/base/db.select.html, db/base/db.tables.html,
+	  display/d.colors/description.html,
+	  display/d.colortable/description.html,
+	  display/d.his/description.html,
+	  display/d.histogram/description.html,
+	  display/d.legend/description.html,
+	  display/d.measure/description.html,
+	  display/d.paint.labels/description.html,
+	  display/d.rgb/description.html,
+	  display/drivers/PNG/description.html,
+	  display/drivers/XDRIVER/XDRIVER24/description.html,
+	  general/g.region/cmd/description.html,
+	  raster/r.basins.fill/description.html,
+	  raster/r.colors/description.html, raster/r.his/description.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.random.cells/description.html,
+	  raster/r.thin/description.html,
+	  raster3d/r3.in.ascii/description.html,
+	  scripts/r.shaded.relief/description.html,
+	  vector/v.hull/description.html: fixed dead links
+
+2004-08-09 12:57  markus
+
+	* db/base/db.copy.html: new example added
+
+2004-08-07 15:56  markus
+
+	* vector/v.clean/description.html: fixed typo
+
+2004-08-07 14:42  glynn
+
+	* lib/gis/gui.tcl, lib/gis/parser.c: Move more code into gui.tcl
+
+2004-08-07 14:41  glynn
+
+	* lib/init/init.sh: Don't run clean_temp in the background
+
+2004-08-07 14:40  glynn
+
+	* vector/v.clean/Makefile: Add test subdir to EXTRA_CLEAN_DIRS
+
+2004-08-07 14:39  glynn
+
+	* lib/proj/Makefile: Don't build nad2bin
+
+2004-08-06 11:40  markus
+
+	* Makefile, include/Make/Dir.make: error log implemented as
+	  suggested by Glynn
+
+2004-08-05 12:53  markus
+
+	* display/d.erase/description.html, display/d.m/description.html,
+	  display/d.mon/cmd/description.html,
+	  display/d.mon/description.html, display/d.path/description.html,
+	  display/d.rast/description.html,
+	  display/d.what.rast/description.html,
+	  display/d.what.vect/description.html,
+	  display/d.zoom/description.html,
+	  general/g.mapsets/description.html,
+	  general/g.region/cmd/description.html,
+	  scripts/d.redraw/description.html: fixed 'Last changed' ref
+
+2004-08-05 12:39  markus
+
+	* include/imagery.h: changed NAME_LEN to INAME_LEN to avoid
+	  conflicts
+
+2004-08-05 12:28  markus
+
+	* lib/imagery/ask_bands.c, lib/imagery/group.c,
+	  lib/imagery/nfiles.c, lib/imagery/vask_group.c: changed NAME_LEN
+	  to INAME_LEN to avoid conflicts
+
+2004-08-05 10:08  radim
+
+	* lib/vector/Vlib/open.c: overwrite variable 2
+
+2004-08-05 09:59  radim
+
+	* lib/vector/Vlib/open.c: overwrite variable
+
+2004-08-05 09:42  radim
+
+	* include/Vect.h, lib/vector/Vlib/legal_vname.c,
+	  vector/v.buffer/main.c, vector/v.build.polylines/main.c,
+	  vector/v.build/main.c, vector/v.category/main.c,
+	  vector/v.clean/main.c, vector/v.extract/main.c,
+	  vector/v.hull/main.c, vector/v.kernel/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/main.c, vector/v.net.salesman/main.c,
+	  vector/v.net.steiner/main.c, vector/v.net/main.c,
+	  vector/v.overlay/main.c, vector/v.patch/main.c,
+	  vector/v.reclass/main.c, vector/v.segment/main.c,
+	  vector/v.select/main.c, vector/v.surf.rst/main.c,
+	  vector/v.to.points/main.c, vector/v.transform/main.c,
+	  vector/v.type/main.c: check input output name
+
+2004-08-05 07:41  markus
+
+	* lib/gis/Makefile: cleanup
+
+2004-08-05 02:37  glynn
+
+	* lib/gis/null_val.c: Remove (unused) openvect.c + Gmakefile
+	  references
+	  null_val.c doesn't need to include G.h
+
+2004-08-04 14:36  markus
+
+	* aclocal.m4, configure: sync'ed with 5.3
+
+2004-08-04 14:07  markus
+
+	* include/gisdefs.h: sync'ed with 5.3
+
+2004-08-04 09:39  radim
+
+	* lib/rst/interp_float/vinput2d.c: faster data from table
+
+2004-08-04 07:51  glynn
+
+	* lib/gis/gui.tcl: Commit G_gui() prolog (omitted from previous
+	  commit)
+
+2004-08-04 07:50  glynn
+
+	* lib/gis/Makefile, lib/gis/parser.c: G_gui() improvements:
+	  move bulk code to separate file
+	  use popen() instead of system()/echo
+
+2004-08-04 04:52  hamish
+
+	* lib/gis/parser.c: reformat Tcl command line string output so it
+	  can be cut-and-pasted into
+	  a terminal shell (mostly from Glynn Clements)
+
+2004-08-04 04:17  hamish
+
+	* lib/gis/parser.c: better error handling (Glynn Clements)
+
+2004-08-03 17:28  michael
+
+	* gui/tcltkgrass/main/menu.tcl: Updated tcltkgrass to include new
+	  GRASS 5.7 commands
+
+2004-08-03 15:03  markus
+
+	* scripts/r.out.gdal/r.out.gdal: some fixes
+
+2004-08-03 14:38  markus
+
+	* raster/r.info/main.c: tflag added to report map type only
+
+2004-08-03 12:59  markus
+
+	* doc/vector/grass51atts.fig, doc/vector/grass51atts.gif,
+	  doc/vector/grass51atts.png, doc/vector/grass51concept.fig,
+	  doc/vector/grass51concept.gif, doc/vector/grass51concept.png:
+	  slightly updated
+
+2004-08-03 07:48  markus
+
+	* lib/proj/Makefile, lib/proj/nad2bin.c: no local version of
+	  nad2bin
+
+2004-08-03 07:25  hamish
+
+	* lib/gis/parser.c: fix text entries with whitespaces in Tcl
+	  auto-gen menus
+
+2004-08-03 06:22  hamish
+
+	* vector/v.digit/line.c, vector/v.digit/toolbox.tcl: better button
+	  descriptions
+
+2004-08-02 11:37  markus
+
+	* lib/rst/interp_float/Makefile: added missing SITESLIB (bug #2564)
+
+2004-08-02 09:33  hamish
+
+	* display/d.zoom/set.c: preserve region resolution when res is not
+	  a multiple of 1.0
+
+2004-08-02 08:53  hamish
+
+	* display/d.nviz/local.h, display/d.nviz/main.c: cleanup + missing
+	  fn prototypes & includes
+
+2004-08-02 08:26  markus
+
+	* doc/debugging.txt: added TCLm debugging
+
+2004-08-02 03:32  hamish
+
+	* display/d.text.freetype/main.c: send input instructions to stderr
+	  not stdout so we can see them when we
+	  need them in the Tcl window
+
+2004-08-01 06:27  hamish
+
+	* lib/gis/parser.c: Tcl text strings should be quoted with {} not
+	  "" to protect "[]$ chars
+	  in module descriptions/options/flag strings. e.g. d.text.freetype
+
+2004-08-01 04:41  hamish
+
+	* display/d.text.freetype/main.c: add gisprompt for path= file
+	  selection with 5.7 parser window
+
+2004-08-01 03:31  hamish
+
+	* display/d.zoom/set.c: more robust longitude settings
+
+2004-07-30 02:54  hamish
+
+	* display/d.zoom/set.c: don't fall off the end of the world
+
+2004-07-29 08:49  hamish
+
+	* vector/v.surf.rst/main.c: fix segfault & bug #1068. (passing
+	  uninit'd TimeStamp structure)
+	  
+	  -> devi= option is not producing useful output as it
+	  -> needs to be updated to the new vector points format
+
+2004-07-29 06:18  hamish
+
+	* vector/v.kernel/description.html: typo
+
+2004-07-28 13:30  markus
+
+	* display/d.m/vector.tcl: Soeren Gebbert <soeren pool math
+	  TU-Berlin DE>: added SQL color for vector maps
+
+2004-07-28 08:59  markus
+
+	* raster/r.colors/description.html: added description extra color
+	  tables
+
+2004-07-26 09:36  markus
+
+	* configure, configure.in: merged 5.3 fix
+
+2004-07-26 09:34  markus
+
+	* raster/r.resamp.rst/BUGS: bug/feature added
+
+2004-07-26 09:26  markus
+
+	* include/config.h.in: merged 5.3 fix
+
+2004-07-26 09:14  markus
+
+	* visualization/nviz/src/Makefile: merged 5.3 fix
+
+2004-07-26 08:46  radim
+
+	* db/drivers/Makefile: USE_OGR
+
+2004-07-25 07:09  hamish
+
+	* imagery/i.points/mark.c: make lat/lon GCP input work
+
+2004-07-25 06:52  hamish
+
+	* lib/db/sqlp/description.html: add note about single quoting text
+	  strings
+
+2004-07-24 16:27  markus
+
+	* include/gisdefs.h: merged 5.3 changes into
+
+2004-07-23 19:08  glynn
+
+	* visualization/nviz/src/do_zoom.c: Improve GLX PBuffer/Pixmap
+	  checks
+
+2004-07-23 19:06  glynn
+
+	* imagery/i.class/defs.h, imagery/i.class/edge_order.c,
+	  imagery/i.class/outline.c, include/G3d.h, include/display.h,
+	  lib/display/cnversions.c, lib/display/tran_colr.c,
+	  lib/g3d/g3dwindow.c, lib/g3d/tileio.c, lib/g3d/tilewrite.c,
+	  lib/gis/null_val.c, lib/gis/quant.c, lib/gis/strings.c,
+	  lib/gis/whoami.c, raster/r.coin/make_coin.c,
+	  raster/r.le/r.le.setup/polytocell/do_line.c,
+	  raster/r.le/r.le.setup/polytocell/find_area.c,
+	  raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.showdspf/draw_polys_ogl.c,
+	  raster3d/r3.showdspf/get_color_ogl.c,
+	  raster3d/r3.showdspf/r3_find.c, raster3d/r3.timestamp/main.c: Fix
+	  compiler warnings
+
+2004-07-23 14:05  markus
+
+	* scripts/r.univar/Makefile, scripts/r.univar/r.univar,
+	  scripts/r.univar/r.univar.sh: renamed
+
+2004-07-22 21:37  hamish
+
+	* raster/r.univar2/main.c: typo
+
+2004-07-22 13:09  radim
+
+	* raster/r.out.png/r.out.png.c: return (0)
+
+2004-07-22 12:13  markus
+
+	* vector/v.build.polylines/description.html,
+	  vector/v.build/description.html,
+	  vector/v.category/description.html, vector/v.category/main.c,
+	  vector/v.to.db/description.html: minor updates
+
+2004-07-22 12:08  markus
+
+	* vector/v.to.db/description.html: line length example
+
+2004-07-22 11:08  radim
+
+	* lib/vector/Vlib/map.c: fix previous fix
+
+2004-07-22 07:22  hamish
+
+	* raster/r.univar2/main.c: finish the job
+
+2004-07-22 07:20  hamish
+
+	* raster/r.univar2/main.c: Use s^2_N not s^2_{N-1} for sample
+	  variance not unbiased population variance.
+
+2004-07-22 06:15  hamish
+
+	* display/d.nviz/description.html: typos
+
+2004-07-22 06:10  hamish
+
+	* raster/r.univar2/main.c: change %f to %g for maps with very large
+	  and very small value ranges
+
+2004-07-22 06:03  hamish
+
+	* raster/r.univar2/description.html: replace the r.univar script
+	  with a C version
+
+2004-07-22 05:46  hamish
+
+	* raster/Makefile, scripts/Makefile: disable r.univar1(script);
+	  enable r.univar2(C)
+	  r.univar(1) not removed from CVS as r.univar(2) still lacks
+	  extended stats
+	  Framework for extended stats is there, volunteer required to
+	  finish it.
+
+2004-07-22 05:05  hamish
+
+	* gui/tcltkgrass/main/menu.tcl: add v.univar
+
+2004-07-21 20:23  markus
+
+	* tools/link.conf: updated to reflect 5.3 change
+
+2004-07-21 17:15  paul
+
+	* raster3d/r3.mask/mask_main.c, raster3d/r3.null/null_main.c: Build
+	  r3.mask and r3.null from same directory to simplify makefiles
+
+2004-07-21 16:47  markus
+
+	* display/Makefile, tools/link.conf: d.nviz added
+
+2004-07-21 16:46  markus
+
+	* display/d.nviz/Makefile, display/d.nviz/description.html: added
+
+2004-07-21 15:10  radim
+
+	* vector/v.in.ogr/main.c: cnames also for cat column
+
+2004-07-21 14:59  radim
+
+	* vector/v.in.ogr/main.c: column names
+
+2004-07-21 10:15  markus
+
+	* raster/r.sun/description.html: JRC url added
+
+2004-07-21 09:42  hamish
+
+	* ps/ps.map/description.html: fix html error
+
+2004-07-21 09:35  hamish
+
+	* vector/v.in.ascii/description.html: add fs= option; clean up some
+	  of the text
+
+2004-07-21 05:57  hamish
+
+	* vector/v.in.ascii/in.c: add field separator option
+
+2004-07-20 13:34  markus
+
+	* vector/Makefile: added
+
+2004-07-20 13:32  markus
+
+	* vector/v.kernel/Makefile, vector/v.kernel/description.html,
+	  vector/v.kernel/function.c, vector/v.kernel/global.h,
+	  vector/v.kernel/main.c, vector/v.kernel/min.h: Stefano Menegon
+	  <menegon itc it> + Radim Blazek: update of command with new brent
+	  function and new parameter 'net'
+
+2004-07-20 13:28  markus
+
+	* lib/gmath/brent.c: Stefano Menegon <menegon itc it>: brent
+	  function added
+
+2004-07-19 13:26  radim
+
+	* lib/vector/Vlib/close.c, lib/vector/Vlib/open.c: + ifdef HAVE_OGR
+
+2004-07-18 14:34  paul
+
+	* vector/v.clean/Makefile: Fix for make not being GNU make
+	  (submitted by fnarg0)
+
+2004-07-17 04:54  hamish
+
+	* display/d.legend/main.c: reenable horizontal legends for
+	  categorical maps now that horiz legends are labeled
+
+2004-07-16 19:54  markus
+
+	* raster/Makefile, tools/link.conf: added r.resamp.rst
+
+2004-07-16 19:52  markus
+
+	* raster/r.resamp.rst/Makefile,
+	  raster/r.resamp.rst/description.html: added
+
+2004-07-16 12:59  markus
+
+	* scripts/i.fusion.brovey/i.fusion.brovey: messages mnore chatty
+
+2004-07-15 20:43  markus
+
+	* raster/r.in.bin/main.c: fixed segfault (Debian bug #256208)
+
+2004-07-14 13:22  paul
+
+	* general/g.proj/main.c: missing newline
+
+2004-07-14 12:06  markus
+
+	* raster/r.cost/description.html: added algorithm notes from Jim
+	  Westervelt
+
+2004-07-14 10:15  markus
+
+	* raster/r.sun/description.html: made shadow maps more outstanding
+
+2004-07-14 09:20  markus
+
+	* general/manage/lib/do_rename.c: better message
+
+2004-07-14 09:14  markus
+
+	* vector/v.in.ogr/description.html: added import of Arc Coverages
+
+2004-07-14 09:03  markus
+
+	* ps/ps.map/Makefile: re-added GMATHLIB dep)
+
+2004-07-14 07:34  markus
+
+	* locale/Makefile: create MO file is NLS activated
+
+2004-07-13 22:20  markus
+
+	* include/Make/Rules.make: true added to suppress error message in
+	  case PNG/JPG not present
+
+2004-07-13 11:39  paul
+
+	* Makefile, aclocal.m4, configure, display/drivers/lib/Makefile,
+	  general/manage/cmd/Makefile, general/manage/lib/Makefile,
+	  imagery/i.smap/bouman/Makefile, include/Make/Grass.make.in,
+	  include/Make/Lib.make, include/Make/Platform.make.in,
+	  include/Make/Rules.make, include/Make/Shlib.make,
+	  include/Make/Stlib.make, lib/g3d/Makefile, lib/gis/Makefile,
+	  lib/imagery/Makefile, lib/rst/interp_float/Makefile,
+	  lib/vector/diglib/Makefile: Update 5.7 aclocal.m4 to
+	  SC_CONFIG_CFLAGS version used in 5.3. Various
+	  other changes/fixes to allow shared dll compilation of 5.7 on
+	  Cygwin.
+	  driver, manage and ismap libs made always static as they have
+	  symbols
+	  that are not resolved until linked into modules.
+
+2004-07-12 20:09  paul
+
+	* raster/r.in.gdal/main.c: Don't check for PROJ_INFO and PROJ_UNITS
+	  if they're not there (to avoid
+	  possibly confusing error message)
+
+2004-07-12 16:57  radim
+
+	* lib/vector/Vlib/map.c: delete external fix
+
+2004-07-12 09:29  markus
+
+	* ps/ps.map/Makefile: No GMATHLIB ref required
+
+2004-07-12 08:50  markus
+
+	* lib/proj/convert.c: don't use OSRDestroySpatialReference twice
+	  with XY data
+
+2004-07-12 02:09  hamish
+
+	* raster/r.in.mat/main.c: don't output override info if in==out
+
+2004-07-11 20:42  markus
+
+	* lib/imagery/group.c: reverted accidentally submitted change
+
+2004-07-10 14:02  markus
+
+	* lib/vector/Vlib/build_ogr.c: message print fix
+
+2004-07-10 13:53  markus
+
+	* vector/v.external/description.html: small fix
+
+2004-07-10 12:00  glynn
+
+	* db/base/Makefile, display/d.frame/Makefile,
+	  display/drivers/HTMLMAP/Makefile, display/drivers/PNG/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/Makefile,
+	  display/drivers/lib/Makefile, general/g.parser/Makefile,
+	  general/manage/cmd/Makefile, include/Make/Platform.make.in,
+	  include/Make/Rules.make, lib/proj/Makefile,
+	  raster/r.mapcalc/Makefile, raster/r.terraflow/Makefile: Simplify
+	  building of HTML files
+	  Remove unnecessary dependencies
+	  Fix handling of COMPILE_FLAGS
+
+2004-07-09 17:44  markus
+
+	* include/Make/Module.make, include/Make/Shlib.make: we always set
+	  i18N FLAGS (as in GRASS 5.3 libgis)
+
+2004-07-09 17:15  glynn
+
+	* display/d.text.freetype/main.c: Include <freetype/freetype.h> via
+	  FT_FREETYPE_H macro
+	  Fix handling of situation where freetypecap not found
+
+2004-07-09 17:15  markus
+
+	* include/Make/Module.make, include/Make/Rules.make,
+	  include/Make/Shlib.make: changed NLS support to own variable to
+	  avoid that local EXTRA_CFLAGS gets overwritten
+
+2004-07-09 15:50  markus
+
+	* locale/Makefile, locale/README: fix, if only one of the two
+	  language files is present; comment added
+
+2004-07-09 15:03  markus
+
+	* locale/po/grassmods_de.po: translated parts of r.colors (deutsch)
+
+2004-07-09 14:42  markus
+
+	* locale/README: added compilation hint
+
+2004-07-09 14:28  markus
+
+	* locale/README: added where to send contributions
+
+2004-07-09 14:23  markus
+
+	* raster/r.colors/rules.c: added i18N support as example for a
+	  module (see libgis as well)
+
+2004-07-09 14:05  markus
+
+	* locale/ru: no longer needed
+
+2004-07-09 14:04  markus
+
+	* locale/README.koi: removed outdated file
+
+2004-07-09 13:29  markus
+
+	* tools/link.conf: 5.7 comes with own i18N support now
+
+2004-07-09 13:27  markus
+
+	* locale/Makefile, locale/README: added instructions and Makefile
+	  for internationalization
+
+2004-07-09 12:19  markus
+
+	* lib/gis/Makefile: moved i18N support to include/Make/Shlib.make
+
+2004-07-09 12:19  markus
+
+	* include/Make/Module.make, include/Make/Shlib.make: global
+	  optional i18N support
+
+2004-07-09 11:34  markus
+
+	* vector/v.proj/main.c: message cosmetics, bug #2523
+
+2004-07-09 10:35  markus
+
+	* locale/po, locale/po/README: added
+
+2004-07-09 07:28  radim
+
+	* display/d.what.vect/Makefile: Tcl/Tk removed
+
+2004-07-08 14:09  markus
+
+	* include/Make/Platform.make.in: defined missing LIB_RUNTIME_DIR
+	  for -rpath
+
+2004-07-08 14:00  markus
+
+	* include/Make/Module.make, include/Make/Platform.make.in: added
+	  global i18N support (optional, from 5.3)
+
+2004-07-08 13:58  markus
+
+	* configure, configure.in: added flag for i18N/NLS support
+
+2004-07-08 10:18  radim
+
+	* db/drivers/dialog/user.c: include config.h; warning without
+	  Tcl/Tk
+
+2004-07-08 08:40  markus
+
+	* include/Make/Module.make: new try for softlinks
+
+2004-07-08 08:35  markus
+
+	* vector/v.in.ogr/description.html,
+	  vector/v.out.ogr/description.html: example cosmetics
+
+2004-07-07 22:13  markus
+
+	* include/Make/Module.make: added for i18N support
+
+2004-07-07 15:37  radim
+
+	* vector/v.in.ogr/main.c: +Vect_clean_small_angles_at_nodes
+
+2004-07-07 15:26  markus
+
+	* display/d.zoom/main.c: added 'finished' message for display
+	  manager
+
+2004-07-07 14:49  radim
+
+	* vector/v.clean/main.c, vector/v.clean/proto.h: + rmsa
+	  (Vect_clean_small_angles_at_nodes)
+
+2004-07-07 14:48  radim
+
+	* include/Vect.h, lib/vector/Vlib/clean_nodes.c,
+	  vector/v.overlay/area_area.c: + Vect_clean_small_angles_at_nodes
+
+2004-07-07 13:58  markus
+
+	* display/drivers/PNG/Makefile: fix
+
+2004-07-07 10:06  radim
+
+	* vector/v.out.ogr/main.c: the message was not true, slow is not
+	  conversion to simple feature, but parsing of WKT in OGR
+
+2004-07-07 09:48  radim
+
+	* vector/v.distance/main.c: island by index fix
+
+2004-07-06 07:47  radim
+
+	* vector/v.univar/main.c: disabled variance and stdev for lines and
+	  areas
+
+2004-07-03 09:29  radim
+
+	* include/dbmi.h: isNull
+
+2004-07-02 17:24  radim
+
+	* vector/Makefile: + v.univar
+
+2004-07-02 17:24  radim
+
+	* vector/v.univar, vector/v.univar/Makefile,
+	  vector/v.univar/main.c: new
+
+2004-07-02 17:22  radim
+
+	* lib/db/dbmi_client/select.c: null
+
+2004-07-01 17:07  michael
+
+	* scripts/Makefile: Fixed scripts makefile to include all scripts
+	  in directory
+
+2004-07-01 12:31  markus
+
+	* scripts/r.out.gdal/r.out.gdal: fixed proj defs with white space,
+	  added type option
+
+2004-07-01 11:17  radim
+
+	* vector/v.clean/prune.c: better intersection check
+
+2004-07-01 11:01  radim
+
+	* lib/vector/Vlib/build_nat.c: only if plus->do_uplist
+
+2004-07-01 10:24  radim
+
+	* vector/v.clean/main.c, vector/v.clean/prune.c: prune boundaries
+	  carefully
+
+2004-07-01 08:47  markus
+
+	* display/d.info/description.html,
+	  general/g.mapset/description.html,
+	  raster/r.contour/description.html,
+	  scripts/g.mremove/description.html,
+	  scripts/i.spectral/description.html,
+	  scripts/r.reclass.area/description.html,
+	  vector/v.clean/test/description.html,
+	  vector/v.in.region/description.html,
+	  vector/v.to.points/description.html: Otto Dassau: added missing
+	  pages
+
+2004-06-30 23:00  michael
+
+	* gui/tcltkgrass/main/menu.tcl: Added menu entry for r.contour
+
+2004-06-30 16:55  markus
+
+	* include/Make/Module.make: reverted to hardlinks for now. Do we
+	  have to use GISBASE instead (as in 5.3)?
+
+2004-06-30 16:26  radim
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/local.h, vector/v.overlay/main.c: + output field
+	  option
+
+2004-06-30 16:15  markus
+
+	* raster/r.out.tiff/description.html: added cross link
+
+2004-06-30 16:06  markus
+
+	* lib/sites/README, lib/sites/sites.c: reverted last change. Added
+	  note
+
+2004-06-30 15:22  radim
+
+	* vector/v.clean/main.c, vector/v.clean/proto.h: + remove small
+	  areas
+
+2004-06-30 15:21  radim
+
+	* lib/vector/diglib/plus_area.c: Warning if island is dead
+
+2004-06-30 15:20  radim
+
+	* lib/vector/Vlib/README, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/remove_areas.c, lib/vector/Vlib/write_nat.c:
+	  Vect_remove_small_areas; fix for Vect_attach_centroids
+
+2004-06-30 15:18  radim
+
+	* include/Vect.h: +Vect_remove_small_areas
+
+2004-06-30 13:23  markus
+
+	* scripts/r.out.gdal/r.out.gdal: Paul Kelly: added projection
+	  output
+
+2004-06-30 12:28  markus
+
+	* lib/init/init.sh, lib/init/make_location_epsg_g57.sh: fixed
+	  LD_LIBRARY_PATH_VAR order
+
+2004-06-30 09:49  markus
+
+	* vector/v.reclass/description.html: cosmetics
+
+2004-06-30 08:20  markus
+
+	* include/Make/Module.make: Create symlinks to front.end instead of
+	  hard links
+
+2004-06-30 07:33  markus
+
+	* scripts/i.oif/Makefile, scripts/i.oif/i.oifcalc,
+	  scripts/i.oif/m.cutmatrix, scripts/i.oif/r.stddev: completed
+	  missing scripts
+
+2004-06-30 02:41  hamish
+
+	* gui/tcltkgrass/main/menu.tcl: remove reference to d.scale, which
+	  is superseded by 'd.barscale -l'
+
+2004-06-29 23:35  michael
+
+	* gui/tcltkgrass/main/menu.tcl: Corrected errors that prevented
+	  d.barscale, d.scale, and
+	  v.in.region from running. Made d.out.png modal.
+
+2004-06-29 15:25  radim
+
+	* vector/v.clean/main.c, vector/v.clean/proto.h,
+	  vector/v.clean/prune.c: prune
+
+2004-06-29 15:25  radim
+
+	* include/Vect.h, lib/vector/Vlib/line.c: +Vect_line_prune_thresh
+
+2004-06-29 15:24  radim
+
+	* lib/vector/diglib/Makefile: + prune.c
+
+2004-06-29 07:26  radim
+
+	* raster/r.mapcalc/Makefile: missing EXTRA_CFLAGS for Fink (Mac OS
+	  X)
+
+2004-06-29 07:11  radim
+
+	* vector/v.extract/main.c: copy table fix
+
+2004-06-28 16:47  glynn
+
+	* lib/gis/color_read.c: Fix bug in handling of colour tables for FP
+	  maps in other mapsets [bug #2511]
+
+2004-06-28 16:07  markus
+
+	* lib/sites/sites.c: fixed 3D sites output
+
+2004-06-28 15:41  markus
+
+	* vector/v.in.ascii/in.c: message cosmetics
+
+2004-06-28 11:09  hamish
+
+	* raster/r.what/main.c: update option description for multiple
+	  inputs
+
+2004-06-25 10:58  paul
+
+	* configure, configure.in, include/Make/Platform.make.in,
+	  raster/Makefile, raster/r.in.gdal/Makefile,
+	  raster/r.in.gdal/description.html, raster/r.in.gdal/main.c,
+	  tools/link.conf: Update r.in.gdal for 5.7 to use
+	  GPJ_wkt_to_grass(), remove gdalbridge and
+	  fix configure script to only call SC_CONFIG_CFLAGS once
+
+2004-06-24 07:40  markus
+
+	* raster/r.info/main.c: added -s flag to only print map resolution
+	  (useful for scripts)
+
+2004-06-23 14:16  markus
+
+	* vector/v.in.ascii/in.c: fix
+
+2004-06-23 14:16  markus
+
+	* vector/v.in.ascii/in.c: fix
+
+2004-06-23 10:30  markus
+
+	* configure, configure.in, display/d.text.freetype/main.c: freetype
+	  include file fix
+
+2004-06-23 10:24  paul
+
+	* lib/gis/make_loc.c: bugfix
+
+2004-06-21 15:50  markus
+
+	* vector/v.in.ascii/in.c: added zcol tests
+
+2004-06-21 13:49  markus
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table: new CRS web
+	  home
+
+2004-06-21 13:34  markus
+
+	* raster/r.in.bin/main.c: Luigi Pirelli <l pirelli acsys it>: added
+	  DCELL support
+
+2004-06-21 12:18  markus
+
+	* raster/r.in.bin/description.html: fixed GTOPO30 import
+
+2004-06-21 01:38  glynn
+
+	* Makefile, include/Make/Dir.make, include/Make/Platform.make.in,
+	  include/Make/Rules.make, tools/link: Build system clean-up
+	  Don't abort on first error
+	  Don't set MAKE
+	  Use -C switch instead of subshell+cd
+	  No need to use "${SHELL} -c ..."
+	  Use leading dash instead of "... ; true"
+	  Fix tools/link; only display help if switch starts with (not
+	  contains) -h
+
+2004-06-19 10:16  radim
+
+	* vector/v.to.db/parse.c: + new line in description
+
+2004-06-19 10:13  radim
+
+	* vector/v.to.db/find.c, vector/v.to.db/global.h,
+	  vector/v.to.db/lines.c, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/query.c,
+	  vector/v.to.db/report.c, vector/v.to.db/update.c: + sides option
+
+2004-06-18 16:22  markus
+
+	* raster3d/r3.showdspf/kns_defines.h: added
+
+2004-06-18 16:18  radim
+
+	* vector/v.extract/extract.c: more cats of the same field for
+	  extracted elements (not for dissolve boundary)
+
+2004-06-18 16:13  markus
+
+	* raster3d/r3.showdspf/Makefile: fixed
+
+2004-06-18 15:51  radim
+
+	* lib/vector/Vlib/remove_duplicates.c: merge cats
+
+2004-06-18 15:40  radim
+
+	* vector/v.net.path/main.c, vector/v.net.path/path.c: optionaly
+	  write segments
+
+2004-06-18 15:38  radim
+
+	* display/d.path/select.c, include/Vect.h, lib/vector/Vlib/net.c,
+	  vector/v.kernel/main.c: Vect_net_shortest_path_coor modified
+
+2004-06-18 13:25  radim
+
+	* vector/v.net.path/main.c, vector/v.net.path/path.c: input +id,
+	  optional coordinates
+
+2004-06-18 11:40  markus
+
+	* vector/v.clean/description.html: updated
+
+2004-06-18 10:44  radim
+
+	* db/base/copy.c: + where, select options
+
+2004-06-18 10:43  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi_client/copy_tab.c:
+	  db_copy_table_select
+
+2004-06-18 10:00  markus
+
+	* display/d.m/d.m.tcl: bugfix from Glynn
+
+2004-06-17 16:06  radim
+
+	* db/drivers/ogr/fetch.c: force count
+
+2004-06-17 15:04  markus
+
+	* raster3d/Makefile: added r3.mkdspf and r3.showdspf
+
+2004-06-17 15:04  markus
+
+	* lib/dspf/Makefile, raster3d/r3.mkdspf/Makefile,
+	  raster3d/r3.mkdspf/description.html,
+	  raster3d/r3.showdspf/Makefile,
+	  raster3d/r3.showdspf/description.html: added
+
+2004-06-17 15:03  markus
+
+	* lib/Makefile: dspf added
+
+2004-06-17 15:01  markus
+
+	* include/Make/Grass.make.in: added DSPFLIB
+
+2004-06-17 15:00  markus
+
+	* tools/link.conf: added dspf, r3.mkdspf and r3.showdspf
+
+2004-06-17 15:00  markus
+
+	* vector/v.vol.rst/description.html: Jaro Hofierka: updated
+
+2004-06-17 14:33  radim
+
+	* include/VERSION: 5.7.cvs
+
+2004-06-17 13:26  markus
+
+	* grass.spec: rpmlint fixes, cleanup
+
+2004-06-17 11:59  markus
+
+	* Makefile: fixed version scheme for installation
+
+2004-06-17 11:17  markus
+
+	* configure, configure.in: merged in 5.3 changes
+
+2004-06-17 10:19  markus
+
+	* grass-5.7.0.spec, grass.spec: updated spec file (still not
+	  relocatable)
+
+2004-06-17 09:36  markus
+
+	* AUTHORS: updated
+
+2004-06-17 09:14  radim
+
+	* include/VERSION: for 5.7.0 release
+
+2004-06-17 07:53  markus
+
+	* vector/v.extract/description.html: dissolve comment
+
+2004-06-17 07:21  markus
+
+	* raster/r.slope.aspect/main.c: merged parameter descriptions from
+	  HTML page
+
+2004-06-17 07:20  markus
+
+	* raster/r.slope.aspect/description.html: merged 5.3 changes
+
+2004-06-16 21:19  michael
+
+	* gui/tcltkgrass/script/v.in.asciipoints: Adds import of ASCII
+	  points file to GUI using new tcltkgrass menu script
+	  v.in.asciipoints
+
+2004-06-16 21:17  michael
+
+	* gui/tcltkgrass/main/menu.tcl: Corrects lack of modal window for
+	  d.shadedmap menu command.
+	  Adds import of ASCII points file using new tcltkgrass menu script
+	  v.in.asciipoints
+
+2004-06-15 15:06  markus
+
+	* grass-5.7.0.spec: added RPM spec file
+
+2004-06-15 14:21  radim
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: dissolve fix
+
+2004-06-15 13:09  markus
+
+	* vector/v.random/main.c: fixed tcl gui problem
+
+2004-06-15 08:47  radim
+
+	* configure, configure.in: removed mysql/ from mysql header file
+	  names
+
+2004-06-15 08:46  radim
+
+	* db/drivers/mysql/globals.h: removed mysql/ from included file
+	  names
+
+2004-06-15 07:25  radim
+
+	* lib/db/sqlp/yac.y: missing semicolon
+
+2004-06-12 08:49  radim
+
+	* visualization/nviz/scripts/panel_vect.tcl,
+	  visualization/nviz/src/nviz_init.c: sites -> vector points
+
+2004-06-12 08:03  radim
+
+	* vector/v.in.ascii/points.c: points_analyse fix (number of
+	  columns)
+
+2004-06-12 07:56  radim
+
+	* db/drivers/dbf/dbfexe.c: add column - set values to NULL
+
+2004-06-12 07:51  radim
+
+	* scripts/db.test/test1: more tests
+
+2004-06-12 07:51  radim
+
+	* db/drivers/dbf/dbfexe.c: add column fix
+
+2004-06-12 07:30  radim
+
+	* db/drivers/postgres/execute.c, db/drivers/postgres/select.c:
+	  escape backslash
+
+2004-06-11 16:52  radim
+
+	* db/base/execute.c: return number of errors
+
+2004-06-11 16:51  radim
+
+	* scripts/Makefile: + db.test
+
+2004-06-11 16:51  radim
+
+	* scripts/db.test, scripts/db.test/Makefile,
+	  scripts/db.test/README, scripts/db.test/db.test,
+	  scripts/db.test/description.html, scripts/db.test/test1: database
+	  driver test
+
+2004-06-11 16:49  radim
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/alloc.c,
+	  lib/db/sqlp/lex.l, lib/db/sqlp/print.c, lib/db/sqlp/sql.c,
+	  lib/db/sqlp/test/sqlptest.c, lib/db/sqlp/yac.y: where nodes
+	  rewritten
+
+2004-06-10 18:15  michael
+
+	* gui/tcltkgrass/script/unused: Removing tcltkgrass scripts
+	  inherited from GRASS 5.3 but not used in GRASS 5.7
+
+2004-06-09 19:33  michael
+
+	* gui/tcltkgrass/script/cell.out.tiff,
+	  gui/tcltkgrass/script/d.pan.sh, gui/tcltkgrass/script/d.title.sh,
+	  gui/tcltkgrass/script/d.zoom.sh,
+	  gui/tcltkgrass/script/db.connect.driver,
+	  gui/tcltkgrass/script/db.select.all,
+	  gui/tcltkgrass/script/g.region.sh,
+	  gui/tcltkgrass/script/mapset.remove,
+	  gui/tcltkgrass/script/wait.sh: Moved to /tcltkgrass/script/unused
+	  folder.
+
+2004-06-09 19:32  michael
+
+	* gui/tcltkgrass/script/d.shadedmap: Updated 5.3 script to 5.7. For
+	  use in tcltkgrass.
+
+2004-06-09 19:30  michael
+
+	* gui/tcltkgrass/script/unused/cell.out.tiff,
+	  gui/tcltkgrass/script/unused/d.pan.sh,
+	  gui/tcltkgrass/script/unused/d.title.sh,
+	  gui/tcltkgrass/script/unused/d.zoom.sh,
+	  gui/tcltkgrass/script/unused/db.connect.driver,
+	  gui/tcltkgrass/script/unused/db.select.all,
+	  gui/tcltkgrass/script/unused/g.region.sh,
+	  gui/tcltkgrass/script/unused/mapset.remove,
+	  gui/tcltkgrass/script/unused/wait.sh: Permits interactive input
+	  of 'rules'
+
+2004-06-09 19:05  michael
+
+	* gui/tcltkgrass/script/mapcalculator.sh: Moved to /script/unused.
+
+2004-06-09 19:04  michael
+
+	* gui/tcltkgrass/script/unused,
+	  gui/tcltkgrass/script/unused/mapcalculator.sh: Permits
+	  interactive input of 'rules'
+
+2004-06-09 18:57  michael
+
+	* gui/tcltkgrass/script/r.colors.rules,
+	  gui/tcltkgrass/script/r.reclass.rules,
+	  gui/tcltkgrass/script/r.recode.rules: Permits interactive input
+	  of 'rules'
+
+2004-06-09 16:53  michael
+
+	* scripts/d.out.png, scripts/d.out.png/Makefile,
+	  scripts/d.out.png/d.out.png, scripts/d.out.png/description.html,
+	  scripts/d.resize, scripts/d.resize/Makefile,
+	  scripts/d.resize/d.resize, scripts/d.resize/description.html,
+	  scripts/d.split, scripts/d.split/Makefile,
+	  scripts/d.split/d.split, scripts/d.split/description.html,
+	  scripts/i.image.mosaic, scripts/i.image.mosaic/Makefile,
+	  scripts/i.image.mosaic/description.html,
+	  scripts/i.image.mosaic/i.image.mosaic, scripts/i.oif,
+	  scripts/i.oif/Makefile, scripts/i.oif/description.html,
+	  scripts/i.oif/i.oif, scripts/r.blend, scripts/r.blend/Makefile,
+	  scripts/r.blend/description.html, scripts/r.blend/r.blend,
+	  scripts/r.mapcalculator, scripts/r.mapcalculator/Makefile,
+	  scripts/r.mapcalculator/description.html,
+	  scripts/r.mapcalculator/r.mapcalculator, scripts/r.plane,
+	  scripts/r.plane/Makefile, scripts/r.plane/description.html,
+	  scripts/r.plane/r.plane, scripts/r.regression.line,
+	  scripts/r.regression.line/Makefile,
+	  scripts/r.regression.line/description.htm,
+	  scripts/r.regression.line/r.regression.line: Updated script from
+	  5.3 to 5.7. Used in tcltkgrass GUI.
+
+2004-06-09 07:11  hamish
+
+	* general/g.mapset/main.c: swap option order so you don't have to
+	  type 'mapset=' if that's all you're doing.
+	  update copyright year
+
+2004-06-08 22:00  michael
+
+	* scripts/d.monsize, scripts/d.monsize/Makefile,
+	  scripts/d.monsize/d.monsize, scripts/d.monsize/description.html:
+	  Updated script from 5.3 to 5.7. Used in tcltkgrass GUI.
+
+2004-06-08 13:30  radim
+
+	* general/g.mapset/main.c: reselect monitor
+
+2004-06-07 20:42  michael
+
+	* gui/tcltkgrass/main/menu.tcl: 7 June 2004 Michael Barton
+	  
+	  Updated several menu descriptions for better readability
+	  Removed d.pan (doesn't work) and replaced with d.zoom -f (and
+	  appropriate menu description)
+	  Added -xf flags to d.what.vect until default tcltk output is
+	  fixed.
+	  Corrected several other small bugs
+
+2004-06-07 20:32  michael
+
+	* gui/tcltkgrass/main/help.tcl: 7 June 2004 - Michael Barton
+	  
+	  Updated help file to match behavior of GRASS 5.7 g.parser
+	  compliant autogenerated tcltk dialogs
+	  Removed reference to right mouse button for contextual help.
+	  Removed reference to right mouse button for popup menu.
+	  Removed reference to saving window arrangement and size
+	  configuration.
+	  
+	  Updated URL's to point to grass.itc.it
+
+2004-06-06 05:25  hamish
+
+	* raster/r.out.ascii/formspecific.c: buxfix: [Surfer .grd] write
+	  floating point Lat/Lon bounds instead of ddd:mm:ss
+
+2004-06-04 16:02  radim
+
+	* vector/v.database/main.c: default driver and database from
+	  current settings
+
+2004-06-04 16:00  radim
+
+	* lib/gis/parser.c: do not substitute variables
+
+2004-06-04 15:44  radim
+
+	* vector/v.db.connect/main.c: default driver and database from
+	  current settings
+
+2004-06-04 15:38  radim
+
+	* db/base/columns.c, db/base/connect.c, db/base/copy.c,
+	  db/base/describe.c, db/base/execute.c, db/base/select.c,
+	  db/base/tables.c: default driver and database from current
+	  settings
+
+2004-06-04 15:28  radim
+
+	* lib/gis/parser.c: set default value in combobox
+
+2004-06-04 15:19  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi_base/default_name.c:
+	  db_get_default_driver_name, db_get_default_database_name
+
+2004-06-04 15:01  radim
+
+	* gui/tcltkgrass/main/menu.tcl: salesman
+
+2004-06-04 14:59  radim
+
+	* vector/v.random/main.c: n options moved to description
+
+2004-06-04 14:39  radim
+
+	* vector/v.in.ascii/in.c: default catcol 3->0
+
+2004-06-04 14:37  radim
+
+	* general/Makefile: +g.mapset
+
+2004-06-04 14:37  radim
+
+	* general/g.mapset, general/g.mapset/Makefile,
+	  general/g.mapset/main.c: Change current mapset
+
+2004-06-04 13:27  radim
+
+	* raster/Makefile: + r.contour
+
+2004-06-04 13:26  radim
+
+	* raster/r.contour/Makefile, raster/r.contour/cont.c,
+	  raster/r.contour/local_proto.h, raster/r.contour/main.c: update
+	  to 5.7
+
+2004-06-04 12:56  radim
+
+	* raster/r.contour/cont.c, raster/r.contour/local_proto.h,
+	  raster/r.contour/main.c: copy from
+	  intevation.de:/grassrepository/src/raster/r.contour/
+
+2004-06-04 12:55  radim
+
+	* raster/r.contour, raster/r.contour/README: copy from
+	  intevation.de:/grassrepository/src/raster/r.contour/desc1.txt,
+	  desc2.txt
+
+2004-06-03 15:07  radim
+
+	* include/gisdefs.h, lib/gis/mapset_msc.c: +G__mapset_permissions2
+
+2004-06-03 13:16  radim
+
+	* lib/gis/mapset_msc.c: copy from
+	  intevation.de:/grassrepository/src/libes/gis/mapset_msc.c
+
+2004-06-03 02:57  hamish
+
+	* raster/r.in.mat/description.html: Raster map titles can be 1024
+	  chars long (stored in cats/ file)
+
+2004-06-03 02:45  hamish
+
+	* raster/r.in.mat/main.c: Raster map titles can be 1024 chars long
+	  (stored in cats/ file)
+
+2004-06-01 16:51  radim
+
+	* gui/tcltkgrass/main/menu.tcl: patch by Michael Barton
+
+2004-06-01 16:35  radim
+
+	* vector/v.digit/global.h: enry -> entry
+
+2004-06-01 16:10  radim
+
+	* binaryInstall.src: run grass-$NAME_VER -> run $GRASSPRG
+
+2004-06-01 13:07  radim
+
+	* display/d.m/d.m.tcl, display/d.m/vector.tcl: GRASS_FORM_MODE ->
+	  -e flag
+
+2004-06-01 12:54  radim
+
+	* lib/form/generate.c: override_form_mode removed
+
+2004-06-01 12:52  radim
+
+	* display/d.what.vect/main.c, display/d.what.vect/what.c,
+	  display/d.what.vect/what.h: edit mode
+
+2004-06-01 12:20  radim
+
+	* gui/tcltkgrass/Makefile: Michael Barton's update
+
+2004-06-01 10:36  radim
+
+	* include/gisdefs.h, lib/gis/Makefile, lib/gis/color_rule_get.c:
+	  +G_colors_count, +G_get_f_color_rule
+
+2004-06-01 07:53  hamish
+
+	* lib/gis/cell_title.c, lib/gis/put_title.c: standardize raster
+	  title length at 1024 chars.
+	  This is to match G_*_raster_cats_title()
+	  see http://grass.itc.it/pipermail/grass5/2004-May/014282.html
+
+2004-06-01 03:56  hamish
+
+	* vector/v.to.rast/description.html: add notes about what raster
+	  cells get filled, & when
+
+2004-05-31 12:40  radim
+
+	* configure, configure.in: removed check for grass5 HEAD
+
+2004-05-31 10:17  radim
+
+	* Makefile, binaryInstall.src, include/VERSION: versions
+
+2004-05-29 04:46  hamish
+
+	* raster/r.transect/main.c: * bugfix: G_find_cell() was stripping
+	  off mapset
+	  * add flag to output coordinates
+
+2004-05-28 10:04  radim
+
+	* INSTALL: full and incomplete source code
+
+2004-05-28 08:56  radim
+
+	* include/Make/Dir.make: make -> $(MAKE)
+
+2004-05-27 09:51  radim
+
+	* lib/gis/color_byg.c, lib/gis/color_byr.c, lib/gis/color_gyr.c,
+	  lib/gis/color_ryg.c: 0:255 (0->white) removed
+
+2004-05-27 09:48  radim
+
+	* lib/gis/color_byg.c, lib/gis/color_byr.c, lib/gis/color_gyr.c,
+	  lib/gis/color_ryg.c: copy from
+	  intevation.de:/grassrepository/src/libes/gis/
+
+2004-05-26 13:30  radim
+
+	* lib/gis/gisinit.c: check if the library is already initialized
+
+2004-05-26 12:58  radim
+
+	* vector/v.to.db/query.c, vector/v.to.db/update.c: print progress
+
+2004-05-26 11:38  markus
+
+	* vector/v.to.db/description.html: added info
+
+2004-05-25 13:03  hamish
+
+	* raster/r.buffer/description.html: support for units= nautical
+	  miles
+
+2004-05-25 12:43  hamish
+
+	* raster/r.buffer/main.c: oops, broke it
+
+2004-05-25 12:38  hamish
+
+	* raster/r.buffer/read_map.c: add missing include
+
+2004-05-25 12:36  hamish
+
+	* raster/r.buffer/main.c: add missing includes
+
+2004-05-25 12:28  hamish
+
+	* raster/r.buffer/main.c: support for units= nautical miles.
+	  Useful for territorial limits around a coastline.
+
+2004-05-25 12:19  hamish
+
+	* raster/r.buffer/distance.h: support for units= nautical miles
+
+2004-05-24 16:18  markus
+
+	* raster/r.mapcalc/Makefile: fixed again
+
+2004-05-24 08:59  radim
+
+	* include/Make/Grass.make.in: add GDALLIBS to VECTLIB
+
+2004-05-24 08:36  markus
+
+	* raster/r.mapcalc/Makefile: new try
+
+2004-05-21 15:59  radim
+
+	* lib/vector/Vlib/build_post.c, lib/vector/Vlib/build_shp.c,
+	  lib/vector/Vlib/close_post.c, lib/vector/Vlib/close_shp.c,
+	  lib/vector/Vlib/open_post.c, lib/vector/Vlib/open_shp.c,
+	  lib/vector/Vlib/read_post.c, lib/vector/Vlib/read_shp.c,
+	  lib/vector/Vlib/rewind_post.c, lib/vector/Vlib/rewind_shp.c,
+	  lib/vector/Vlib/write_post.c: Shapefile/PostGIS removed
+
+2004-05-21 15:00  radim
+
+	* include/vect/dig_structs.h: fix structure size
+
+2004-05-21 13:17  paul
+
+	* lib/proj/convert.c: nzgd2k hack (might as well)
+
+2004-05-21 10:13  radim
+
+	* include/Make/Grass.make.in, include/Vect.h,
+	  include/vect/dig_defines.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/Makefile, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/write.c, lib/vector/diglib/frmt.c:
+	  Shapefile/PostGIS removed
+
+2004-05-21 10:10  radim
+
+	* include/vect/dig_nodes.h: not used
+
+2004-05-21 08:51  radim
+
+	* lib/init/init.sh: multi sessions
+
+2004-05-21 08:50  radim
+
+	* lib/gis/unix_socks.c: add GIS_LOCK number to sock name
+
+2004-05-21 08:48  radim
+
+	* lib/vector/diglib/cindex_rw.c, lib/vector/diglib/head.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/spindex_rw.c:
+	  fix back version check
+
+2004-05-21 07:45  markus
+
+	* locale, locale/README.koi, locale/ru, locale/ru/LC_MESSAGES,
+	  locale/ru/LC_MESSAGES/README, locale/templates,
+	  locale/templates/README: added
+
+2004-05-21 07:18  markus
+
+	* Makefile: added tcltkgrass to installation. Bug #2418
+
+2004-05-21 02:07  hamish
+
+	* ps/ps.map/description.html: add missing option descriptor
+
+2004-05-20 19:49  markus
+
+	* raster/r.mapcalc/Makefile: fix
+
+2004-05-20 07:20  markus
+
+	* raster/r.mapcalc/Makefile: Makefile fix
+
+2004-05-19 21:37  markus
+
+	* display/d.m/d.m.tcl: explaning behaviour
+
+2004-05-19 14:41  markus
+
+	* db/drivers/postgres/README: fixed URL
+
+2004-05-19 14:02  markus
+
+	* db/base/Makefile, db/drivers/dbf/Makefile,
+	  display/d.frame/Makefile, display/d.m/Makefile,
+	  display/d.text.freetype/Makefile,
+	  display/drivers/HTMLMAP/Makefile, display/drivers/Makefile,
+	  display/drivers/PNG/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/Makefile,
+	  general/g.mapsets/Makefile, general/g.parser/Makefile,
+	  general/manage/cmd/Makefile, general/manage/lib/Makefile,
+	  gui/tcltkgrass/Makefile, lib/Makefile, lib/db/sqlp/Makefile,
+	  lib/external/bwidget/Makefile, lib/external/shapelib/Makefile,
+	  lib/form/Makefile, lib/gis/Makefile, lib/gtcltk/Makefile,
+	  lib/init/Makefile, lib/ogsf/Makefile, lib/proj/Makefile,
+	  lib/rst/data/Makefile, lib/rst/interp_float/Makefile,
+	  lib/rst/qtree/Makefile, lib/symbol/Makefile,
+	  lib/vector/dglib/Makefile, lib/vector/diglib/Makefile,
+	  lib/vector/rtree/Makefile, ps/ps.map/Makefile,
+	  raster/r.colors/Makefile, raster/r.terraflow/Makefile,
+	  raster/r.watershed/ram/Makefile, raster/r.watershed/seg/Makefile,
+	  scripts/g3_scripts/Makefile, vector/v.clean/test/Makefile,
+	  vector/v.digit/Makefile, vector/v.in.dwg/Makefile,
+	  visualization/nviz/Makefile: Updated Makefiles to use $(INSTALL)
+	  and $(MKDIR)
+
+2004-05-19 13:58  markus
+
+	* vector/v.in.db/description.html: added PostGIS example
+
+2004-05-19 13:38  markus
+
+	* lib/db/sqlp/description.html: DBF column names
+
+2004-05-19 13:37  markus
+
+	* include/Make/Platform.make.in: added MKDIR, CHMOD, INSTALL for
+	  usage in Makefiles
+
+2004-05-19 13:24  markus
+
+	* Makefile: distclean fix
+
+2004-05-19 13:12  markus
+
+	* raster/r.mapcalc/Makefile, raster/r.mapcalc/description.html,
+	  raster/r.mapcalc/r.mapcalc.html,
+	  raster/r.mapcalc/r3.mapcalc.html: updated to build r.mapcalc and
+	  r3.mapcalc
+
+2004-05-19 08:29  markus
+
+	* imagery/i.ortho.photo/photo.rectify/ask_files.c: wait after error
+	  message
+
+2004-05-19 07:26  markus
+
+	* vector/v.in.sites/description.html,
+	  vector/v.to.db/description.html: extended docs
+
+2004-05-18 20:03  markus
+
+	* Makefile: also package tcltkgrass in bindist
+
+2004-05-18 11:38  hamish
+
+	* vector/v.extract/extract.c: finished TODO (Radim)
+
+2004-05-18 09:13  radim
+
+	* db/drivers/dbf/dbfexe.c, db/drivers/dbf/fetch.c,
+	  db/drivers/dbf/globals.h, db/drivers/dbf/main.c,
+	  db/drivers/dbf/table.c, include/sqlp.h, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/print.c, lib/db/sqlp/sql.c, lib/db/sqlp/yac.y: null
+
+2004-05-18 06:50  markus
+
+	* INSTALL: added how to compile modules
+
+2004-05-17 07:55  radim
+
+	* include/vect/dig_defines.h: max cat limit 5.0 ->5.1 finished
+
+2004-05-15 21:48  markus
+
+	* vector/v.info/main.c: -c flag added to display column types of
+	  attribute table
+
+2004-05-15 13:50  markus
+
+	* scripts/Makefile: added r.shaded.relief and r.fillnulls (both
+	  updated by Michael Barton)
+
+2004-05-15 13:48  markus
+
+	* scripts/r.fillnulls, scripts/r.fillnulls/Makefile,
+	  scripts/r.fillnulls/description.html,
+	  scripts/r.fillnulls/r.fillnulls, scripts/r.shaded.relief,
+	  scripts/r.shaded.relief/Makefile,
+	  scripts/r.shaded.relief/description.html,
+	  scripts/r.shaded.relief/r.shaded.relief: added
+
+2004-05-14 15:21  radim
+
+	* include/vect/dig_defines.h: max cat limit 5.0 ->5.1
+
+2004-05-14 14:28  radim
+
+	* visualization/nviz/Makefile, visualization/nviz/doconfigure,
+	  visualization/nviz/scripts/panel_query.tcl,
+	  visualization/nviz/src/Makefile,
+	  visualization/nviz/src/Makefile.in,
+	  visualization/nviz/src/init_commands.c,
+	  visualization/nviz/src/interface.h,
+	  visualization/nviz/src/position.c,
+	  visualization/nviz/src/query_vect.c: Postgres -> DBMI
+
+2004-05-14 12:54  markus
+
+	* vector/v.vol.rst/user1.c: better user message
+
+2004-05-14 11:56  markus
+
+	* vector/v.vol.rst/description.html, vector/v.vol.rst/main.c:
+	  updated variable names to avoid confusion
+
+2004-05-14 09:22  markus
+
+	* vector/v.to.db/description.html: example added
+
+2004-05-14 07:58  radim
+
+	* include/vect/dig_defines.h: write 5.1 coor
+
+2004-05-13 15:59  markus
+
+	* include/imagery.h: defined NAME_LEN
+
+2004-05-13 13:51  radim
+
+	* vector/v.select/main.c: abs(boundary)
+
+2004-05-13 13:29  markus
+
+	* vector/v.vol.rst/main.c: added new main.c (forgot to upload)
+
+2004-05-13 13:27  radim
+
+	* vector/v.extract/main.c: remove duplicate centroids
+
+2004-05-13 09:04  paul
+
+	* display/d.where/main.c, general/g.region/cmd/printwindow.c,
+	  raster/r.sun/main.c, raster/r.sunmask/g_solposition.c: use
+	  pj_latlong_from_proj() to work around PROJ feature (bug no. 368).
+	  Use
+	  GPJ_get_equivalent_latlong() in 5.7.
+
+2004-05-13 08:58  markus
+
+	* lib/imagery/ask_bands.c, lib/imagery/ask_group.c,
+	  lib/imagery/find.c, lib/imagery/group.c, lib/imagery/nfiles.c,
+	  lib/imagery/points.c, lib/imagery/target.c,
+	  lib/imagery/vask_group.c: doxygenized. Also changed hardcoded
+	  name buffer length to variable (defined in imagery.h)
+
+2004-05-13 08:42  markus
+
+	* lib/Makefile: fixed order
+
+2004-05-13 01:45  hamish
+
+	* vector/v.in.ogr/main.c: better description for -l flag
+
+2004-05-12 12:43  radim
+
+	* vector/v.in.ascii/in.c: create empty map
+
+2004-05-12 12:36  radim
+
+	* vector/v.in.ascii/in.c, vector/v.in.ascii/points.c: no table flag
+
+2004-05-12 12:03  markus
+
+	* lib/Makefile: reordered
+
+2004-05-12 08:47  radim
+
+	* scripts/v.shape.regist, vector/v.format: replaced by v.external
+
+2004-05-12 08:46  radim
+
+	* scripts/Makefile: v.shape.regist removed
+
+2004-05-12 08:43  radim
+
+	* vector/Makefile: +v.external, -v.format
+
+2004-05-12 08:42  radim
+
+	* vector/v.external, vector/v.external/Makefile,
+	  vector/v.external/description.html, vector/v.external/main.c:
+	  create a new vector as a link to OGR layer
+
+2004-05-12 08:40  radim
+
+	* lib/vector/Vlib/open.c: shape and postgis deprecated warning
+
+2004-05-12 08:40  radim
+
+	* lib/vector/Vlib/read_post.c: last_offset fix
+
+2004-05-12 01:30  hamish
+
+	* vector/v.digit/symb.c: remove duplicate colors for easier editing
+
+2004-05-12 00:25  hamish
+
+	* vector/v.extract/description.html: enable dissolve common
+	  boundaries flag
+
+2004-05-12 00:18  hamish
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: enable
+	  dissolve common boundaries flag
+
+2004-05-11 14:59  markus
+
+	* lib/init/init.sh: bugfix for 'create new location'
+
+2004-05-11 12:43  radim
+
+	* lib/vector/Vlib/read_ogr.c: feature_cache_id
+
+2004-05-11 12:37  radim
+
+	* vector/v.out.ogr/main.c: cat 0, multicat fix
+
+2004-05-11 11:31  markus
+
+	* lib/g3d/G3d_intern.h, lib/g3d/cache.c, lib/g3d/cachehash.c,
+	  lib/g3d/changeprecision.c, lib/g3d/changetype.c,
+	  lib/g3d/filecompare.c, lib/g3d/filename.c, lib/g3d/find_grid3.c,
+	  lib/g3d/fpcompress.c, lib/g3d/g3dalloc.c, lib/g3d/g3dcache.c,
+	  lib/g3d/g3dcats.c, lib/g3d/g3dclose.c, lib/g3d/g3ddefaults.c,
+	  lib/g3d/g3ddoubleio.c, lib/g3d/g3derror.c, lib/g3d/g3dfpxdr.c,
+	  lib/g3d/g3dintio.c, lib/g3d/g3dkeys.c, lib/g3d/g3dkeys.h,
+	  lib/g3d/g3dlib.dox, lib/g3d/g3dlong.c, lib/g3d/g3dmapset.c,
+	  lib/g3d/g3dmask.c, lib/g3d/g3dmisc.c, lib/g3d/g3dnull.c,
+	  lib/g3d/g3dopen.c, lib/g3d/g3dopen2.c, lib/g3d/g3dparam.c,
+	  lib/g3d/g3drange.c, lib/g3d/g3dregion.c, lib/g3d/g3dresample.c,
+	  lib/g3d/g3dvolume.c, lib/g3d/g3dwindow.c, lib/g3d/g3dwindowio.c,
+	  lib/g3d/getblock.c, lib/g3d/header.c, lib/g3d/headerinfo.c,
+	  lib/g3d/index.c, lib/g3d/retile.c, lib/g3d/rle.c,
+	  lib/g3d/tilealloc.c, lib/g3d/tileio.c, lib/g3d/tilemath.c,
+	  lib/g3d/tilenull.c, lib/g3d/tileread.c, lib/g3d/tilewrite.c,
+	  lib/g3d/writeascii.c: doxygenized G3D library
+
+2004-05-11 10:31  hamish
+
+	* vector/v.info/main.c: typo
+
+2004-05-11 09:08  markus
+
+	* lib/init/init.sh: also popup tcltkgrass
+
+2004-05-11 09:07  markus
+
+	* lib/init/init.sh: mention tcltkgrass
+
+2004-05-11 06:57  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/expression.h, raster/r.mapcalc/func_proto.h,
+	  raster/r.mapcalc/function.c, raster/r.mapcalc/globals.h,
+	  raster/r.mapcalc/globals2.h, raster/r.mapcalc/globals3.h,
+	  raster/r.mapcalc/main.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/map3.c, raster/r.mapcalc/mapcalc.h,
+	  raster/r.mapcalc/mapcalc.y, raster/r.mapcalc/xabs.c,
+	  raster/r.mapcalc/xadd.c, raster/r.mapcalc/xand.c,
+	  raster/r.mapcalc/xatan.c, raster/r.mapcalc/xcoor.c,
+	  raster/r.mapcalc/xcoor3.c, raster/r.mapcalc/xcos.c,
+	  raster/r.mapcalc/xdiv.c, raster/r.mapcalc/xdouble.c,
+	  raster/r.mapcalc/xeq.c, raster/r.mapcalc/xeval.c,
+	  raster/r.mapcalc/xexp.c, raster/r.mapcalc/xfloat.c,
+	  raster/r.mapcalc/xge.c, raster/r.mapcalc/xgraph.c,
+	  raster/r.mapcalc/xgt.c, raster/r.mapcalc/xif.c,
+	  raster/r.mapcalc/xint.c, raster/r.mapcalc/xisnull.c,
+	  raster/r.mapcalc/xle.c, raster/r.mapcalc/xlog.c,
+	  raster/r.mapcalc/xlt.c, raster/r.mapcalc/xmax.c,
+	  raster/r.mapcalc/xmedian.c, raster/r.mapcalc/xmin.c,
+	  raster/r.mapcalc/xmod.c, raster/r.mapcalc/xmode.c,
+	  raster/r.mapcalc/xmul.c, raster/r.mapcalc/xne.c,
+	  raster/r.mapcalc/xneg.c, raster/r.mapcalc/xnot.c,
+	  raster/r.mapcalc/xnull.c, raster/r.mapcalc/xor.c,
+	  raster/r.mapcalc/xpow.c, raster/r.mapcalc/xrand.c,
+	  raster/r.mapcalc/xres.c, raster/r.mapcalc/xres3.c,
+	  raster/r.mapcalc/xround.c, raster/r.mapcalc/xrowcol.c,
+	  raster/r.mapcalc/xsin.c, raster/r.mapcalc/xsqrt.c,
+	  raster/r.mapcalc/xsub.c, raster/r.mapcalc/xtan.c: Add support for
+	  G3d volumes (r3.mapcalc)
+
+2004-05-10 20:21  paul
+
+	* lib/db/dbmi_base/dbmscap.c: snprintf shouldn't be here...
+
+2004-05-10 17:17  radim
+
+	* ps/ps.map/ps_vlines.c, ps/ps.map/ps_vpoints.c,
+	  vector/v.label/main.c, vector/v.net.path/path.c,
+	  vector/v.out.ogr/main.c, vector/v.out.pov/main.c,
+	  vector/v.to.db/areas.c, vector/v.to.db/query.c,
+	  vector/v.to.db/update.c, vector/v.to.points/main.c,
+	  vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.what.rast/main.c: cat 0
+
+2004-05-10 17:08  radim
+
+	* display/d.vect.chart/plot.c, include/Vect.h,
+	  lib/rst/interp_float/vinput2d.c, lib/vector/Vlib/area.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, vector/v.category/main.c,
+	  vector/v.distance/main.c, vector/v.extract/extract.c,
+	  vector/v.overlay/line_area.c, vector/v.reclass/reclass.c,
+	  vector/v.select/main.c: cat 0
+
+2004-05-10 16:20  markus
+
+	* Makefile: also compile raster3d
+
+2004-05-10 15:27  markus
+
+	* tools/build_html_index.html: cosmetics for final HTML output when
+	  description is missing
+
+2004-05-10 15:20  markus
+
+	* lib/rst/interp_float/segmen2d.c: fixed nasty bug. Now RST works
+	  in LatLong as well
+
+2004-05-10 15:14  markus
+
+	* scripts/Makefile: activated i.fusion.brovey
+
+2004-05-10 15:10  markus
+
+	* tools/build_html_index.html: added support for r3.* modules
+
+2004-05-10 15:08  markus
+
+	* raster3d/r3.mask/mask.c, raster3d/r3.null/mask.c,
+	  raster3d/r3.out.ascii/main.c, raster3d/r3.out.v5d/main.c,
+	  raster3d/r3.timestamp/main.c: added one-line module description,
+	  fixed compiler warnings
+
+2004-05-10 14:53  markus
+
+	* raster3d/r3.in.ascii/main.c, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.info/main.c: added one-line module description, fixed
+	  compiler warnings
+
+2004-05-10 14:41  markus
+
+	* raster3d/Makefile, raster3d/r3.in.ascii/Makefile,
+	  raster3d/r3.in.ascii/description.html,
+	  raster3d/r3.in.v5d/Makefile, raster3d/r3.in.v5d/description.html,
+	  raster3d/r3.info/Makefile, raster3d/r3.info/description.html,
+	  raster3d/r3.mask/Makefile, raster3d/r3.mask/description.html,
+	  raster3d/r3.null/Makefile, raster3d/r3.null/description.html,
+	  raster3d/r3.out.ascii/Makefile,
+	  raster3d/r3.out.ascii/description.html,
+	  raster3d/r3.out.v5d/Makefile,
+	  raster3d/r3.out.v5d/description.html,
+	  raster3d/r3.timestamp/Makefile,
+	  raster3d/r3.timestamp/description.html: added r3.* commands
+
+2004-05-10 14:40  markus
+
+	* tools/link.conf: added most G3D/raster3D commands
+
+2004-05-10 13:51  markus
+
+	* lib/gis/parser.c: added clear button
+
+2004-05-10 13:21  markus
+
+	* display/d.m/tksys.tcl: fix
+
+2004-05-10 13:05  markus
+
+	* vector/v.database/description.html: DBF example added
+
+2004-05-10 12:58  markus
+
+	* Makefile: added changelog target
+
+2004-05-10 12:46  markus
+
+	* tools/cvs2cl.pl: added
+
+2004-05-10 12:23  markus
+
+	* lib/init/Makefile, lib/init/description.html,
+	  lib/init/variables.html: extended, renamed file
+
+2004-05-10 11:59  markus
+
+	* db/base/Makefile: fixed
+
+2004-05-10 11:57  markus
+
+	* db/base/db.execute.html: examples added ALTER TABLE and UPDATE
+
+2004-05-10 11:51  markus
+
+	* vector/v.to.db/description.html: examples added (v.report like)
+
+2004-05-10 11:42  markus
+
+	* vector/v.to.db/parse.c: fixed typo
+
+2004-05-10 11:25  markus
+
+	* raster/r.colors/Makefile: sync w/5.3
+
+2004-05-10 11:24  markus
+
+	* raster/r.colors/main.c: print path where rules files are searched
+
+2004-05-10 10:02  markus
+
+	* db/drivers/ogr/README: added
+
+2004-05-10 09:20  markus
+
+	* general/g.proj/main.c: added missing module 1-line description
+
+2004-05-10 08:40  markus
+
+	* vector/v.out.ogr/main.c: declaration fix for gcc 2.9x
+
+2004-05-10 08:25  markus
+
+	* vector/v.out.ogr/main.c: declaration fix for gcc 2.9x
+
+2004-05-10 04:46  hamish
+
+	* raster/r.colors/bcyr, raster/r.colors/elevation,
+	  raster/r.colors/slope, raster/r.colors/terrain: add some nice
+	  color maps for the new rules= option
+
+2004-05-10 02:59  hamish
+
+	* raster/r.colors/example4: removed non-referenced color selections
+	  as a) it doesn't seem to work
+	  and b) I'm not sure what it was trying to do in the first place.
+
+2004-05-10 02:53  hamish
+
+	* raster/r.colors/byg, raster/r.colors/byr, raster/r.colors/gyr,
+	  raster/r.colors/ryg: remove rules that still think 0 is NULL
+
+2004-05-10 00:28  hamish
+
+	* display/d.legend/main.c: bugfix: correctly decide when to switch
+	  to a smoothed legend
+
+2004-05-07 16:25  radim
+
+	* db/drivers/Makefile: + ogr
+
+2004-05-07 16:24  radim
+
+	* db/drivers/ogr, db/drivers/ogr/Makefile, db/drivers/ogr/cursor.c,
+	  db/drivers/ogr/db.c, db/drivers/ogr/describe.c,
+	  db/drivers/ogr/driver.c, db/drivers/ogr/error.c,
+	  db/drivers/ogr/fetch.c, db/drivers/ogr/globals.h,
+	  db/drivers/ogr/listtab.c, db/drivers/ogr/main.c,
+	  db/drivers/ogr/proto.h, db/drivers/ogr/select.c: ogr
+
+2004-05-07 11:56  markus
+
+	* tools/link.conf: fixed typo
+
+2004-05-07 11:53  markus
+
+	* tools/link.conf: added i18N directories
+
+2004-05-07 11:51  markus
+
+	* tools/build_html_index.html: generate short description for every
+	  module
+
+2004-05-07 09:43  radim
+
+	* lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/read_ogr.c: OGR missing ifdef and include
+
+2004-05-07 08:46  radim
+
+	* include/Vect.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/Makefile, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/build_shp.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/rewind_ogr.c: OGR
+
+2004-05-07 08:39  radim
+
+	* display/d.vect/main.c: check box only on level2
+
+2004-05-05 22:07  markus
+
+	* scripts/i.fusion.brovey, scripts/i.fusion.brovey/Makefile,
+	  scripts/i.fusion.brovey/description.html,
+	  scripts/i.fusion.brovey/i.fusion.brovey: added satellite channel
+	  fusion script
+
+2004-05-05 06:56  hamish
+
+	* raster/r.stats/main.c: -g and -x flags imply -1 flag.
+	  misc minor code cleanup.
+
+2004-05-04 20:43  markus
+
+	* vector/v.out.ogr/main.c: implemented lco= and dsco= parameters
+	  (see ogr2ogr and OGR driver docs how to use it
+
+2004-05-04 11:41  markus
+
+	* vector/v.out.ogr/main.c: fix
+
+2004-05-04 09:02  markus
+
+	* vector/v.out.ogr/main.c: be more chatting with area conversion
+
+2004-05-04 08:57  markus
+
+	* vector/v.out.ogr/main.c: added some messages (for impatient
+	  users)
+
+2004-05-04 07:31  markus
+
+	* raster/r.mapcalc/description.html: sync w/5.3
+
+2004-05-03 10:10  markus
+
+	* Makefile, lib/db/Makefile, lib/vector/Makefile,
+	  raster/r.le/r.le.setup/Makefile,
+	  raster/r.terraflow/IOStream/lib/Makefile,
+	  raster/r.terraflow/Makefile, tools/Makefile,
+	  visualization/nviz/Makefile: hardcoded 'make' -> $(MAKE)
+
+2004-05-02 06:59  hamish
+
+	* ps/ps.map/comment.c: bugfix: change comments' y-placement to not
+	  depend on mercurial PS.min_y
+
+2004-05-02 02:34  hamish
+
+	* sites/s.in.ascii/description.html: remove some 5.0 specific text
+
+2004-04-30 16:49  radim
+
+	* include/vect/dig_defines.h, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/diglib/head.c: coor 5.1
+	  read
+
+2004-04-30 16:45  radim
+
+	* vector/v.select/main.c: multicat fix
+
+2004-04-30 16:44  radim
+
+	* display/d.what.vect/what.c: txt fix
+
+2004-04-29 16:29  markus
+
+	* lib/vector/Vlib/build.c: advertise when done.
+
+2004-04-29 11:03  markus
+
+	* lib/init/init.sh: added mozilla-firefox to list of HTML browsers
+
+2004-04-28 23:10  paul
+
+	* raster/r.mapcalc/Makefile: sync w/ 5.3
+
+2004-04-28 16:33  glynn
+
+	* raster/r.mapcalc/xgraph.c: Handle case where first/last values
+	  are null
+
+2004-04-28 16:25  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.h,
+	  raster/r.mapcalc/func_proto.h, raster/r.mapcalc/function.c,
+	  raster/r.mapcalc/xgraph.c: Add graph() function
+
+2004-04-28 16:12  markus
+
+	* Makefile: cleanup
+
+2004-04-28 14:47  radim
+
+	* GPL.TXT: GPL
+
+2004-04-28 14:43  radim
+
+	* lib/init/license.txt: GPL version 2
+
+2004-04-28 14:40  markus
+
+	* lib/db/dbmi_base/dbmscap.c: missing header
+
+2004-04-28 14:35  markus
+
+	* gui, gui/Makefile, gui/tcltkgrass, gui/tcltkgrass/Makefile,
+	  gui/tcltkgrass/README, gui/tcltkgrass/README2,
+	  gui/tcltkgrass/main, gui/tcltkgrass/main/about.tcl,
+	  gui/tcltkgrass/main/balloon.tcl, gui/tcltkgrass/main/gis_set.tcl,
+	  gui/tcltkgrass/main/grassabout.tcl, gui/tcltkgrass/main/gui.tcl,
+	  gui/tcltkgrass/main/help-netscape.tcl,
+	  gui/tcltkgrass/main/help-scripting.tcl,
+	  gui/tcltkgrass/main/help.tcl, gui/tcltkgrass/main/menu.tcl,
+	  gui/tcltkgrass/main/pause, gui/tcltkgrass/main/tksys.tcl,
+	  gui/tcltkgrass/script, gui/tcltkgrass/script/cell.out.tiff,
+	  gui/tcltkgrass/script/d.pan.sh,
+	  gui/tcltkgrass/script/d.shadedmap,
+	  gui/tcltkgrass/script/d.title.sh,
+	  gui/tcltkgrass/script/d.zoom.sh,
+	  gui/tcltkgrass/script/db.connect.driver,
+	  gui/tcltkgrass/script/db.select.all,
+	  gui/tcltkgrass/script/g.region.sh,
+	  gui/tcltkgrass/script/mapcalculator.sh,
+	  gui/tcltkgrass/script/mapset.remove,
+	  gui/tcltkgrass/script/wait.sh, gui/tcltkgrass/tcltkgrass: Michael
+	  Barton <michael barton asu edu>: tcltkgrass revamped for GRASS
+	  5.7
+
+2004-04-28 14:30  markus
+
+	* lib/init/Makefile, lib/init/epsg_option.tcl,
+	  lib/init/gis_set.tcl, lib/init/init.sh,
+	  lib/init/make_location_epsg_g57.sh: Andrea Antonello <antonell
+	  ing unitn it>/MN: added new GUI tool to generate new locations
+	  just by selecting EPSG code (uses epsg file from PROJ4)
+
+2004-04-28 14:25  markus
+
+	* vector/v.out.ogr/main.c: fixed segfault; added G_percent()
+
+2004-04-28 14:25  markus
+
+	* vector/v.in.ogr/main.c: bugfix if 'cat' column already present in
+	  data source
+
+2004-04-28 14:23  markus
+
+	* display/d.m/d.m.tcl: added tcltkgrass launch entry
+
+2004-04-28 14:16  radim
+
+	* lib/db/sqlp/yac.y: ;
+
+2004-04-27 09:33  markus
+
+	* visualization/Makefile: made nviz, xganim optional depending on
+	  lib presence
+
+2004-04-27 07:11  markus
+
+	* tools/link.conf: added xganim
+
+2004-04-27 07:09  markus
+
+	* visualization/xganim/Makefile,
+	  visualization/xganim/bitmaps/README,
+	  visualization/xganim/description.html: added
+
+2004-04-27 07:04  markus
+
+	* raster/r.watershed/ram/Makefile, raster/r.watershed/seg/Makefile:
+	  make docs fix
+
+2004-04-27 03:10  hamish
+
+	* display/d.legend/box.c, display/d.legend/main.c: when placing
+	  legend with mouse, middle button cancels
+
+2004-04-27 02:41  glynn
+
+	* raster/r.mapcalc/mapcalc.l, raster/r.mapcalc/mapcalc.y: As a
+	  result of the previous changes, a quoted string might be a
+	  variable
+
+2004-04-26 23:12  markus
+
+	* raster/r.colors/Makefile: fix again
+
+2004-04-26 23:08  markus
+
+	* raster/Makefile, tools/link.conf: added r.watershed
+
+2004-04-26 23:03  markus
+
+	* raster/r.watershed/Makefile, raster/r.watershed/front/Makefile,
+	  raster/r.watershed/front/description.html,
+	  raster/r.watershed/ram/Makefile, raster/r.watershed/seg/Makefile,
+	  raster/r.watershed/shed/Makefile: added
+
+2004-04-26 17:09  markus
+
+	* display/d.what.vect/main.c: tell user that query mode was left
+	  (especially for d.m)
+
+2004-04-26 17:08  markus
+
+	* configure, configure.in: Add $X_CFLAGS to GLw header checks
+
+2004-04-26 17:07  markus
+
+	* display/d.path/select.c: advertise node coords
+
+2004-04-26 05:22  hamish
+
+	* raster/r.univar2/main.c: correctly report min,max,range as "nan"
+	  when all data is NULL
+
+2004-04-25 20:30  markus
+
+	* raster/r.colors/Makefile: updated according to 5.3 changes
+
+2004-04-25 11:32  hamish
+
+	* raster/r.colors/rules.c: add support for R:G:B triplets (colon
+	  separated) for consistency with
+	  other d.* modules. Left it backwards compatible (space
+	  separated).
+	  
+	  commented out non-referenced color selections as a) it doesn't
+	  seem to work
+	  and b) I'm not sure what it was trying to do in the first place.
+	  
+	  left in place "default [color]" input, but I can't figure out
+	  what it is
+	  supposed to be doing.
+
+2004-04-25 10:04  hamish
+
+	* display/d.info/main.c: fail a bit more gracefully if nothing
+	  requested
+
+2004-04-24 23:49  glynn
+
+	* raster/r.mapcalc/mapcalc.y: Fix variable-handling bug in previous
+	  commit
+
+2004-04-24 23:33  glynn
+
+	* raster/r.mapcalc/mapcalc.y: Change assignment semantics
+
+2004-04-24 00:57  glynn
+
+	* raster/r.colors/aspect, raster/r.colors/byg, raster/r.colors/byr,
+	  raster/r.colors/grey, raster/r.colors/gyr,
+	  raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/rainbow, raster/r.colors/ramp,
+	  raster/r.colors/rules.c, raster/r.colors/ryg,
+	  raster/r.colors/wave: Add rules= option, rules files
+
+2004-04-23 15:35  radim
+
+	* vector/v.to.db/query.c: do not query if cat == 0 and nqcats >
+	  1000
+
+2004-04-23 13:46  markus
+
+	* raster/r.sun/main.c: typo fixed
+
+2004-04-23 10:41  markus
+
+	* raster/r.param.scale/description.html: fix
+
+2004-04-23 10:11  radim
+
+	* lib/vector/Vlib/open.c: do not rewind if head only
+
+2004-04-21 13:50  radim
+
+	* lib/vector/Vlib/net.c: Vect_net_shortest_path_coor fix
+
+2004-04-21 05:15  hamish
+
+	* scripts/pg.postgisdb/description.html: add note about needing
+	  PostGIS
+
+2004-04-20 22:12  paul
+
+	* lib/gis/state83: Fix from Richard Greenwood
+
+2004-04-20 08:09  radim
+
+	* db/drivers/dbf/column.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/table.c, include/sqlp.h,
+	  lib/db/sqlp/description.html, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/print.c, lib/db/sqlp/test/test, lib/db/sqlp/yac.y:
+	  alter table add column
+
+2004-04-19 08:01  hamish
+
+	* general/g.parser/description.html: merge from 5.3
+
+2004-04-19 07:52  hamish
+
+	* general/g.parser/description.html: add note about multiple:yes
+
+2004-04-19 05:58  hamish
+
+	* raster/r.univar2/main.c: add 'g' flag for shell script output
+
+2004-04-17 07:21  hamish
+
+	* tools/link.conf: new [updated] module: r.univar in C form.
+	  Replaces the r.univar script.
+
+2004-04-17 07:16  hamish
+
+	* raster/r.univar2/Makefile: new [updated] module: r.univar in C
+	  form. Replaces the r.univar script.
+
+2004-04-17 04:27  markus
+
+	* raster/r.report/parse.c: hectacres -> hectares
+
+2004-04-16 08:16  markus
+
+	* general/manage/cmd/copy.c, general/manage/cmd/rename.c: make
+	  error messages understandable
+
+2004-04-16 06:33  hamish
+
+	* raster/r.univar2, raster/r.univar2/main.c: new [updated] module:
+	  r.univar in C form. Replaces the r.univar script.
+
+2004-04-15 17:03  markus
+
+	* vector/v.extract/description.html: html fix
+
+2004-04-15 17:01  markus
+
+	* vector/v.extract/main.c: fix (new could be negative)
+
+2004-04-15 15:47  markus
+
+	* vector/v.in.ogr/description.html: added schema
+
+2004-04-15 15:41  markus
+
+	* vector/v.database/description.html: added schema
+
+2004-04-15 13:12  radim
+
+	* lib/vector/Vlib/field.c, vector/v.database/main.c: +schema
+
+2004-04-14 19:24  markus
+
+	* vector/v.in.ogr/description.html: finished PGIS example
+
+2004-04-14 19:22  markus
+
+	* vector/v.in.ogr/description.html,
+	  vector/v.out.ogr/description.html: PostGIS example added
+
+2004-04-14 14:44  markus
+
+	* lib/gis/strings.c: docu fix
+
+2004-04-14 14:39  markus
+
+	* include/gisdefs.h: added G_str_replace()
+
+2004-04-14 14:38  markus
+
+	* lib/gis/strings.c: added G_str_replace() code example
+
+2004-04-14 14:11  radim
+
+	* vector/v.in.ascii/a2b.c, vector/v.in.ascii/description.html,
+	  vector/v.in.ascii/in.c, vector/v.in.ascii/local_proto.h,
+	  vector/v.in.ascii/points.c: points' attributes
+
+2004-04-14 11:41  markus
+
+	* lib/gis/format.c: added format comments
+
+2004-04-13 11:52  radim
+
+	* vector/v.select/main.c: use afield
+
+2004-04-13 09:55  markus
+
+	* display/drivers/PNG/description.html: added compression
+
+2004-04-11 06:25  hamish
+
+	* raster/r.out.mat/description.html: typos, cleanup
+
+2004-04-11 06:14  hamish
+
+	* raster/r.in.mat/description.html: new module: import a raster map
+	  from a v4 MAT-File
+
+2004-04-11 05:02  hamish
+
+	* raster/r.out.mat/description.html: new module: export a raster
+	  map to a v4 MAT-File
+
+2004-04-09 10:12  radim
+
+	* db/drivers/dialog/user.c: tcltk header if has tcltk
+
+2004-04-09 10:10  radim
+
+	* lib/vector/Vlib/intersect.c: allocation fix
+
+2004-04-08 09:32  radim
+
+	* lib/vector/Vlib/build_shp.c: save support
+
+2004-04-07 23:19  glynn
+
+	* display/drivers/PNG/Graph_Clse.c: Add GRASS_PNG_COMPRESSION
+	  environment variable to PNG driver
+
+2004-04-07 13:54  radim
+
+	* vector/v.overlay/main.c, vector/v.select/main.c: options order
+
+2004-04-06 01:09  hamish
+
+	* display/d.barscale/draw_scale.c: support for smaller scales
+
+2004-04-05 08:10  radim
+
+	* vector/v.reclass/main.c: 'column' description
+
+2004-04-05 06:11  hamish
+
+	* sites/s.in.ascii/get_site.c: bugfix: as I understand it, the
+	  pointer is advanced by the length of the
+	  text strings plus the length of the whitespace between them. As
+	  G_squeeze()
+	  reduces the whitespace to a single space, we can just make this
+	  1. I can
+	  only guess that the original author was adding 2 to account for
+	  the null
+	  characters in each string, which is wrong in this context and
+	  lead to
+	  an incorrect memory read. Specifically sites with no attributes
+	  or strings
+	  should read in slightly better now. It's still not perfect in the
+	  case of
+	  differing double/string counts between sites (which breaks all
+	  sorts of
+	  modules anyway, but you have to start somewhere..).
+
+2004-04-05 03:24  glynn
+
+	* display/drivers/PNG/Box_abs.c, display/drivers/PNG/Polygn_abs.c:
+	  Fix off-by-one errors
+
+2004-04-04 04:07  hamish
+
+	* tools/link.conf: add new modules: d.info, r.in.mat, r.out.mat
+
+2004-04-02 23:55  glynn
+
+	* general/g.mapsets/get_maps.c: Fix increment bug
+
+2004-04-02 12:02  paul
+
+	* include/sqlp.h: Remove C++ comment
+
+2004-03-31 14:33  radim
+
+	* lib/db/dbmi_base/dbmscap.c: remove .exe from driver name
+
+2004-03-31 06:57  hamish
+
+	* raster/r.out.mat/main.c: add support for exporting raster title
+	  if there is one.
+	  now r.out.mat -> r.in.mat -> r.out.mat is lossless
+
+2004-03-31 00:39  hamish
+
+	* raster/Makefile: new modules: r.in.mat, r.out.mat Import/Export
+	  from/to a MAT-File(v4)
+
+2004-03-31 00:36  hamish
+
+	* display/Makefile, display/d.info/Makefile: new module (Glynn):
+	  d.info
+
+2004-03-31 00:26  hamish
+
+	* raster/r.in.mat/Makefile, raster/r.out.mat/Makefile: new modules:
+	  r.in.mat, r.out.mat Import/Export from/to a MAT-File(v4)
+
+2004-03-30 15:58  markus
+
+	* db/drivers/dbf/Makefile: enforce copying (fix for cygwin)
+
+2004-03-30 15:04  radim
+
+	* lib/vector/Vlib/cats.c: debug removed
+
+2004-03-30 14:37  radim
+
+	* lib/vector/Vlib/cats.c: Vect_cat_del bugfix
+
+2004-03-30 12:58  radim
+
+	* lib/vector/Vlib/poly.c: Vect_get_point_in_poly_isl fix
+
+2004-03-29 16:30  markus
+
+	* binaryInstall.src: fixes for cygwin
+
+2004-03-29 14:37  hamish
+
+	* raster/r.in.mat/main.c: typo
+
+2004-03-29 14:34  hamish
+
+	* raster/r.in.mat, raster/r.in.mat/main.c: New module: Input a
+	  binary MAT-File (version 4) to a GRASS raster
+	  - Probably not endian-safe, I have nothing to test it with.
+	  Framework for endianness is in place though.
+
+2004-03-28 00:10  glynn
+
+	* display/d.info, display/d.info/main.c: Add d.info utility
+
+2004-03-28 00:09  glynn
+
+	* lib/raster/Returns.c: Fix behaviour, documentation of
+	  R_screen_{left,rite,top,bot}
+
+2004-03-26 20:21  markus
+
+	* vector/v.to.db/parse.c: hectacres -> hectares
+
+2004-03-25 10:41  radim
+
+	* ps/ps.map/ps_vareas.c, ps/ps.map/ps_vlines.c: linejoin round
+
+2004-03-25 05:30  hamish
+
+	* lib/display/window.c: fix DEFAULT_?B_COLOR lower case bug. Was
+	  making frames disappear in 5.3.
+
+2004-03-25 03:51  hamish
+
+	* display/d.frame/d.frame.html: add note about the ever-present
+	  frame named "full_screen".
+	  add missing text that was lost with the html_parser update from
+	  5.3.
+
+2004-03-25 00:35  hamish
+
+	* display/d.legend/main.c: add support for auto-scaling text when a
+	  gradient (FP) legend is used
+	  - still not quite right when the flip flag is set (uneven text
+	  sizes)
+
+2004-03-25 00:30  hamish
+
+	* display/d.legend/box.c: include missing includes
+
+2004-03-23 13:04  hamish
+
+	* raster/r.out.bin/main.c: small fixes & cleanup
+
+2004-03-23 11:41  markus
+
+	* display/drivers/lib/command.c: reverted nanosleep
+
+2004-03-23 10:47  hamish
+
+	* raster/r.out.mat, raster/r.out.mat/main.c: new module: Output a
+	  GRASS raster file to a MAT-File (version 4)
+
+2004-03-23 04:30  hamish
+
+	* sites/s.in.ascii/get_site.c: * error on Mac OS9 files; warning on
+	  DOS files
+	  * the "case '\0':" lines allow two column (x,y) input,
+	  instead of requiring a 3rd dummy column as was the case.
+
+2004-03-22 15:26  markus
+
+	* vector/v.in.ogr/main.c: fixed spatial filter
+
+2004-03-21 14:24  markus
+
+	* display/d.scale, tools/link.conf: d.scale deprecated. use
+	  d.barscale instead
+
+2004-03-21 08:31  hamish
+
+	* lib/gis/alloc_cell.c: typo in comments
+
+2004-03-21 08:11  hamish
+
+	* lib/init/license.txt: bumped year
+
+2004-03-19 15:10  radim
+
+	* lib/vector/Vlib/dangles.c: fix requested type overwritten
+
+2004-03-19 10:55  markus
+
+	* lib/gis/strings.c: small fix
+
+2004-03-19 08:09  glynn
+
+	* include/Make/Grass.make.in: Add $(XDRLIB) to definition of GISLIB
+
+2004-03-19 03:23  helena
+
+	* raster/simwe/simlib/input.c: added missing end of comment
+
+2004-03-18 15:57  markus
+
+	* display/drivers/lib/command.c: for now reduced to 0.001
+	  milliseconds. Somehow we have to differenciate between
+	  d.what.vect and d.zoom
+
+2004-03-18 15:22  markus
+
+	* display/drivers/lib/command.c: nanosleep() added to reduce CPU
+	  load when querying/zooming into maps
+
+2004-03-18 13:50  radim
+
+	* lib/vector/Vlib/build_nat.c: check if area exists (category
+	  index)
+
+2004-03-18 10:23  markus
+
+	* vector/v.out.ogr/main.c: improved messages
+
+2004-03-18 09:38  markus
+
+	* display/drivers/PNG/Makefile: fixed XDRLIB
+
+2004-03-18 09:30  markus
+
+	* vector/v.transform/description.html: typo fixed
+
+2004-03-18 09:14  markus
+
+	* ps/ps.map/description.html, ps/ps.map/ps_vlegend.c,
+	  ps/ps.map/r_vlegend.c, ps/ps.map/vector.h: Morten Hulden <morten
+	  untamo net>: added legend in columns option
+
+2004-03-17 09:00  markus
+
+	* vector/v.to.rast/description.html, vector/v.to.rast/main.c:
+	  message cosmetics, added hint
+
+2004-03-16 14:47  markus
+
+	* vector/v.distance/description.html: added Point-in-polygon test
+	  (can someone please fix the english)
+
+2004-03-16 13:06  radim
+
+	* db/drivers/dbf/cursor.c, db/drivers/dbf/db.c,
+	  db/drivers/dbf/dbfexe.c, db/drivers/dbf/describe.c,
+	  db/drivers/dbf/error.c, db/drivers/dbf/execute.c,
+	  db/drivers/dbf/globals.h, db/drivers/dbf/main.c,
+	  db/drivers/dbf/proto.h, db/drivers/dbf/select.c,
+	  db/drivers/dbf/table.c: + order by
+
+2004-03-16 13:02  radim
+
+	* vector/v.extract/extract.c: area - island fix
+
+2004-03-16 13:01  radim
+
+	* vector/v.info/main.c: open head
+
+2004-03-16 13:00  radim
+
+	* lib/vector/diglib/Makefile, lib/vector/diglib/cindex.c,
+	  lib/vector/diglib/cindex_rw.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/type.c,
+	  vector/v.build/main.c: Category index
+
+2004-03-16 12:58  radim
+
+	* include/Vect.h, include/vect/dig_defines.h,
+	  include/vect/dig_externs.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/README, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/cindex.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_ogr.c, lib/vector/Vlib/close_post.c,
+	  lib/vector/Vlib/close_shp.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/open_post.c,
+	  lib/vector/Vlib/open_shp.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_post.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/Vlib/write_post.c:
+	  Category index, Vect_open_old_head, Vect_open*/Vect_close*
+	  reorganised
+
+2004-03-16 12:55  radim
+
+	* scripts/Makefile: + v.build all
+
+2004-03-16 12:53  radim
+
+	* scripts/v.build.all, scripts/v.build.all/Makefile,
+	  scripts/v.build.all/description.html,
+	  scripts/v.build.all/v.build.all: new
+
+2004-03-16 12:52  radim
+
+	* include/gisdefs.h, lib/gis/error.c: do not exit if error_routine
+	  is set
+
+2004-03-16 12:50  radim
+
+	* include/sqlp.h, lib/db/sqlp/alloc.c, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/print.c, lib/db/sqlp/sql.c, lib/db/sqlp/yac.y: +
+	  order by
+
+2004-03-16 12:48  radim
+
+	* include/dbmi.h, lib/db/dbmi_base/table.c,
+	  lib/db/dbmi_base/xdrtable.c: delete is reserved word in C++
+
+2004-03-16 12:24  markus
+
+	* raster/r.cost/description.html: html fix
+
+2004-03-16 12:22  markus
+
+	* raster/r.cost/description.html: added 'Shortest distance
+	  surfaces' section
+
+2004-03-16 10:26  hamish
+
+	* COPYING: merge changes from 5.3 HEAD
+
+2004-03-16 08:19  hamish
+
+	* display/drivers/PNG/description.html: cleanup, add hint
+
+2004-03-16 07:47  hamish
+
+	* display/d.grid/plot.c: fix slight mistake in last commit
+
+2004-03-16 07:44  hamish
+
+	* display/d.grid/plot.c, display/d.grid/plotborder.c: fix so it
+	  gets the frame outline in the correct place.
+	  see
+	  http://grass.itc.it/pipermail/grass5/2004-February/013625.html
+
+2004-03-15 15:05  markus
+
+	* lib/gis/parser.c: G_usage_html() improvement, added doxygen docs
+
+2004-03-15 15:04  markus
+
+	* lib/gis/strings.c: Wallace, Beverly <beverly.t.wallace lmco com>:
+	  added G_str_replace()
+
+2004-03-15 13:52  markus
+
+	* raster/r.in.arc/main.c, raster/r.in.ascii/main.c,
+	  raster/r.in.bin/main.c: file gisprompt added (mainly for 5.7)
+
+2004-03-15 10:49  hamish
+
+	* lib/display/window.c: fix so d.frame gets the frame outline in
+	  the correct place.
+	  see
+	  http://grass.itc.it/pipermail/grass5/2004-February/013625.html
+
+2004-03-14 19:40  markus
+
+	* general/manage/cmd/copy.c, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c: button for group added
+
+2004-03-14 02:10  hamish
+
+	* display/Makefile, display/d.barscale/description.html: d.scale is
+	  depreciated, use 'd.barscale -l' instead
+
+2004-03-13 05:54  helena
+
+	* raster/simwe/simlib/output.c: history file fix jh,hm
+
+2004-03-13 05:53  helena
+
+	* raster/simwe/simlib/input.c: comments and equations added hm
+
+2004-03-13 05:50  helena
+
+	* raster/simwe/simlib/hydro.c, raster/simwe/simlib/waterglobs.h:
+	  null fix
+
+2004-03-13 05:49  helena
+
+	* raster/simwe/simlib/erod.c: null fix jh,hm
+
+2004-03-12 09:49  radim
+
+	* vector/v.out.ogr/main.c: fix of multicat fix
+
+2004-03-11 22:25  markus
+
+	* vector/v.out.ogr/main.c: added warning when exporting
+	  points/lines but areas (also) present in map
+
+2004-03-11 22:15  markus
+
+	* vector/v.out.ogr/main.c: fixed segfault
+
+2004-03-11 21:43  markus
+
+	* doc/vector/grass51concept.fig, doc/vector/grass51concept.gif:
+	  fixed
+
+2004-03-10 13:26  markus
+
+	* vector/v.clean/description.html: explained bridge
+
+2004-03-10 13:17  markus
+
+	* ps/ps.map/description.html: small addition
+
+2004-03-10 12:15  radim
+
+	* vector/v.clean/main.c: help fix
+
+2004-03-09 22:47  markus
+
+	* vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.path/path.c: explain a bit more to avoid user error
+
+2004-03-09 21:51  markus
+
+	* db/drivers/dbf/dbfexe.c: added some debug output (this protocol
+	  error drives me crazy)
+
+2004-03-09 15:22  paul
+
+	* display/d.rast.edit/menu.c: Remove recently added snprintf
+
+2004-03-09 10:57  markus
+
+	* display/d.m/print.tcl: added close button
+
+2004-03-09 09:44  markus
+
+	* scripts/pg.postgisdb/description.html,
+	  scripts/v.shape.regist/v.shape.register,
+	  scripts/v.shape.regist/v.shape.register.html: cosmetics
+
+2004-03-09 08:29  markus
+
+	* vector/v.net.path/description.html: notes added
+
+2004-03-08 10:35  markus
+
+	* general/g.proj/main.c: message cosmetics
+
+2004-03-08 09:37  markus
+
+	* vector/v.distance/description.html: another example added
+
+2004-03-05 02:30  glynn
+
+	* raster/r.slope.aspect/main.c: Fixes from Jaro/Helena:
+	  Add colour tables
+	  Fix signs of second derivatives
+	  Add warning when converting to metres
+
+2004-03-04 17:40  markus
+
+	* scripts/Makefile, tools/link.conf: added r.reclass.area
+
+2004-03-04 17:38  markus
+
+	* scripts/r.reclass.area, scripts/r.reclass.area/Makefile: added
+
+2004-03-04 15:21  markus
+
+	* vector/v.segment/description.html: extended (just guessing)
+
+2004-03-03 21:21  markus
+
+	* vector/v.in.db/description.html: added example
+
+2004-03-03 13:41  markus
+
+	* vector/v.segment/description.html: added
+
+2004-03-03 10:00  markus
+
+	* sites/Makefile, sites/s.vol.rst, tools/link.conf,
+	  vector/Makefile, vector/v.vol.rst/Makefile,
+	  vector/v.vol.rst/description.html: s.vol.rst -> v.vol.rst
+
+2004-03-03 09:51  markus
+
+	* display/d.vect/main.c: message fix
+
+2004-03-02 18:12  radim
+
+	* db/base/Makefile: removed db.databases, db.createdb, db.dropdb
+
+2004-03-02 17:14  radim
+
+	* doc/vector/vector.html: tiger -> 3
+
+2004-03-01 23:17  markus
+
+	* raster/r.le/r.le.setup/bmif_to_cell: no longer needed
+
+2004-03-01 23:14  markus
+
+	* raster/r.le/r.le.setup/polytocell/Makefile: bugfix
+
+2004-03-01 17:48  markus
+
+	* vector/v.overlay/line_area.c: fixed segmentation fault
+
+2004-03-01 15:59  markus
+
+	* lib/init/gis_set.tcl: permission bugfix for 'create mapset'
+
+2004-03-01 12:02  paul
+
+	* raster/r.le/r.le.setup/polytocell/Makefile, tools/link.conf: Fix
+	  bugs in r.le Makefiles (slight improvement) don't try to compile
+	  sub-programs as if they were GRASS modules because they aren't!
+
+2004-02-29 16:19  markus
+
+	* lib/gis/gislib.dox: doxygenized
+
+2004-02-29 14:42  markus
+
+	* vector/v.in.dwg/main.c: added button for import
+
+2004-02-29 14:41  markus
+
+	* vector/v.in.ogr/main.c: help text cosmetics, added button for
+	  import
+
+2004-02-29 14:39  markus
+
+	* lib/gis/parser.c: added tcl/file button for import modules
+
+2004-02-28 09:32  markus
+
+	* lib/gis/gissiteslib.dox, lib/gis/gisvectorlib.dox: doxygenized
+	  programmer's manual
+
+2004-02-27 20:59  markus
+
+	* general/g.region/cmd/main.c, general/manage/cmd/copy.c,
+	  general/manage/cmd/remove.c, general/manage/cmd/rename.c: buttons
+	  added
+
+2004-02-27 18:12  markus
+
+	* lib/gis/gisvectorlib.dox, lib/imagery/imagerylib.dox,
+	  lib/ogsf/ogsflib.dox: fixes to make doxygen happy
+
+2004-02-27 17:30  markus
+
+	* lib/imagery/imagerylib.dox, lib/ogsf/ogsflib.dox: fix
+
+2004-02-27 17:25  markus
+
+	* lib/D/d_displaylib.dox: added dummy file
+
+2004-02-27 17:12  markus
+
+	* lib/imagery/imagerylib.dox, lib/ogsf/ogsflib.dox: added
+	  doxygenized programmer's manual
+
+2004-02-27 16:11  markus
+
+	* doc/vector/vector.html: extended document
+
+2004-02-27 12:52  markus
+
+	* doc/vector/vector.html: added missing types
+
+2004-02-26 16:25  markus
+
+	* configure, configure.in: removed LOC_MSG_USE(DBM support,USE_DBM)
+
+2004-02-25 23:28  glynn
+
+	* raster/r.patch/do_patch.c: Fix bug in handling of -z switch
+
+2004-02-25 21:33  markus
+
+	* lib/gis/Makefile, lib/proj/Makefile, lib/vector/Vlib/Makefile:
+	  fixed --with-nls bug
+
+2004-02-25 21:05  markus
+
+	* lib/raster/Makefile: fixed --with-nls bug
+
+2004-02-25 17:15  radim
+
+	* display/d.vect/area.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c: check area box
+
+2004-02-25 15:34  paul
+
+	* display/drivers/HTMLMAP/htmlmap.h: Mac OSX fixes (errors from
+	  Lorenzo Moretti)
+
+2004-02-25 04:02  hamish
+
+	* raster/r.colors/rules.c: bugfix: endpoints were off by 0.5
+	  (thanks Glynn)
+
+2004-02-24 14:51  radim
+
+	* vector/v.out.ogr/main.c, vector/v.overlay/area_area.c,
+	  vector/v.overlay/line_area.c, vector/v.overlay/local.h: multiple
+	  cats
+
+2004-02-24 14:50  radim
+
+	* vector/v.category/main.c: change field
+
+2004-02-24 00:35  hamish
+
+	* raster/r.transect/description.html: add null= option
+
+2004-02-24 00:29  hamish
+
+	* raster/r.profile/description.html: add null= option, spelling
+	  fixes
+
+2004-02-23 21:35  hamish
+
+	* raster/r.profile/main.c: default output to stdout (previously
+	  required intervention)
+
+2004-02-21 08:16  radim
+
+	* display/d.vect/main.c: check if in region
+
+2004-02-20 17:46  markus
+
+	* imagery/i.class/Makefile, imagery/i.cluster/Makefile,
+	  imagery/i.gensig/Makefile, imagery/i.gensigset/Makefile,
+	  imagery/i.group/Makefile, imagery/i.his.rgb/Makefile,
+	  imagery/i.maxlik/Makefile, imagery/i.ortho.photo/menu/Makefile,
+	  imagery/i.ortho.photo/photo.2image/Makefile,
+	  imagery/i.ortho.photo/photo.2target/Makefile,
+	  imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.elev/Makefile,
+	  imagery/i.ortho.photo/photo.init/Makefile,
+	  imagery/i.ortho.photo/photo.rectify/Makefile,
+	  imagery/i.ortho.photo/photo.target/Makefile,
+	  imagery/i.points/Makefile, imagery/i.rectify/Makefile,
+	  imagery/i.rgb.his/Makefile, imagery/i.smap/shapiro/Makefile,
+	  imagery/i.target/Makefile, ps/ps.map/Makefile,
+	  raster/r.in.gdal/Makefile, raster/r.param.scale/Makefile,
+	  vector/v.surf.rst/Makefile: added new gmath dependency
+
+2004-02-20 17:08  markus
+
+	* lib/gis/gislib.dox: moved chapter from programmer's manual here,
+	  polishing not finished yet
+
+2004-02-20 16:49  markus
+
+	* lib/gis/Makefile: moved numerial functions to lib/gmath/
+
+2004-02-20 16:36  markus
+
+	* lib/gmath/dalloc.c, lib/gmath/eigen_tools.c, lib/gmath/ialloc.c,
+	  lib/gmath/lu.c, lib/gmath/svd.c: moved here from src/libes/gis
+
+2004-02-20 15:30  markus
+
+	* vector/v.buffer/description.html: circles with attributes example
+	  added
+
+2004-02-20 15:04  markus
+
+	* vector/v.buffer/description.html: circle example added
+
+2004-02-20 14:49  markus
+
+	* lib/gmath/la.c: partially doxygenized
+
+2004-02-20 07:51  hamish
+
+	* raster/r.transect/main.c: add support for user settable "null"
+	  string.
+
+2004-02-20 07:35  hamish
+
+	* raster/r.profile/main.c, raster/r.profile/read_rast.c: add
+	  support for user settable "null" string, change default to "*" so
+	  to
+	  match r.out.ascii, r.what, etc.
+	  fix some compiler warnings.
+
+2004-02-19 15:02  markus
+
+	* lib/gis/histogram.c: doxygenized
+
+2004-02-19 12:21  markus
+
+	* display/d.rast.num/number.c: fixed compiler warning
+
+2004-02-19 12:13  markus
+
+	* display/d.rast.num/number.c: updated for FP support
+
+2004-02-19 11:36  alex
+
+	* display/d.rast.edit/menu.c: easier zoom/pan; small fix on
+	  tempfile
+
+2004-02-17 14:51  markus
+
+	* display/d.m/tool.tcl: message cosmetics
+
+2004-02-17 11:00  radim
+
+	* vector/v.distance/main.c: debug removed
+
+2004-02-16 17:32  radim
+
+	* vector/v.distance/main.c: calc dist bug fix
+
+2004-02-16 12:46  markus
+
+	* configure, configure.in: merged from 5.3: Leave INTLLIB empty
+	  unless --with-nls is used
+
+2004-02-16 12:27  markus
+
+	* lib/gis/Makefile: added spawn.o
+
+2004-02-14 23:27  glynn
+
+	* lib/gis/spawn.c: Add G_spawn()
+
+2004-02-14 07:26  hamish
+
+	* raster/r.profile/main.c, raster/r.profile/read_rast.c: Ran indent
+	  as it was a mess.
+	  $ indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb
+	  -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+
+2004-02-13 09:26  radim
+
+	* db/drivers/dbf/column.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/table.c: fix, debug
+
+2004-02-12 09:02  radim
+
+	* lib/vector/Vlib/cats.c, vector/v.extract/extract.c: delete all
+	  old cats of the field
+
+2004-02-12 08:20  hamish
+
+	* raster/r.grow2/main.c: missing include
+
+2004-02-11 14:19  radim
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: category fix
+
+2004-02-11 07:44  hamish
+
+	* vector/v.in.region/main.c: swap parser order to save a few
+	  unnecessary keystrokes
+
+2004-02-10 17:32  markus
+
+	* scripts/g.mremove/g.mremove: added 5.7 version of script
+
+2004-02-10 17:27  markus
+
+	* scripts/Makefile: added g.mremove
+
+2004-02-10 17:27  markus
+
+	* scripts/g.mremove, scripts/g.mremove/Makefile: added from 5.3
+
+2004-02-10 17:22  markus
+
+	* sites/s.vol.rst/description.html: added params since fakestart
+	  doesn't work here
+
+2004-02-10 17:20  markus
+
+	* sites/s.in.ascii/description.html,
+	  sites/s.out.ascii/description.html,
+	  sites/s.vol.rst/description.html: added
+
+2004-02-10 17:18  radim
+
+	* db/drivers/postgres/README: more types
+
+2004-02-10 14:21  radim
+
+	* db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/fetch.c, db/drivers/postgres/globals.h,
+	  db/drivers/postgres/proto.h: more types
+
+2004-02-10 10:19  markus
+
+	* sites/s.vol.rst/main.c: updated to 5.7
+
+2004-02-10 10:18  markus
+
+	* vector/v.vol.rst/user1.c, vector/v.vol.rst/user3.c,
+	  vector/v.vol.rst/userglobs.h: fixed declarations for 5.7
+
+2004-02-10 10:12  markus
+
+	* lib/sites/README, vector/v.out.ogr/description.html: cosmetics
+
+2004-02-10 10:11  markus
+
+	* raster/Makefile, sites/Makefile: added s.vol.rst, r.le
+
+2004-02-10 10:10  markus
+
+	* raster/r.le/r.le.setup/Makefile,
+	  raster/r.le/r.le.setup/polytocell/Makefile, tools/link.conf:
+	  added r.le
+
+2004-02-10 10:09  markus
+
+	* raster/r.le/r.le.setup/bmif_to_cell,
+	  raster/r.le/r.le.setup/bmif_to_cell/Makefile: added for r.le
+
+2004-02-10 10:08  markus
+
+	* lib/Makefile, lib/g3d/Makefile: added G3D for s.vol.rst
+
+2004-02-10 10:06  markus
+
+	* sites/s.vol.rst, sites/s.vol.rst/Makefile: added s.vol.rst
+
+2004-02-10 10:05  markus
+
+	* scripts/Makefile: added g3.* commands for s.vol.rst
+
+2004-02-10 09:52  markus
+
+	* scripts/g3_scripts, scripts/g3_scripts/Makefile: added g3.*
+	  commands for s.vol.rst
+
+2004-02-09 14:48  markus
+
+	* lib/init/Makefile, lib/init/init.sh: sync'ed with 5.3 changes
+
+2004-02-09 14:41  markus
+
+	* configure, configure.in: merged 5.3 iconv fixes
+
+2004-02-09 08:10  hamish
+
+	* lib/display/window.c: update WHITE -> DEFAULT_FG_COLOR and BLACK
+	  -> DEFAULT_BG_COLOR for 5.7
+	  D_set_cur_wind() and D_reset_screen_window()
+
+2004-02-09 03:51  hamish
+
+	* vector/v.digit/display.c: Node 1 & 2 on/off checkboxes in the
+	  settings->symbology menu now work
+
+2004-02-07 14:13  hamish
+
+	* scripts/g.mlist/description.html: cleanup text
+
+2004-02-05 11:56  hamish
+
+	* vector/v.digit/display.c: fix backwards order of displaying
+	  nodes, the comments had to right but the code was wrong.
+
+2004-02-05 08:59  hamish
+
+	* vector/v.out.ogr/main.c: missing whitespace in -c flag
+	  description
+
+2004-02-05 08:54  hamish
+
+	* vector/v.overlay/area_area.c: missing newline
+
+2004-02-05 08:43  hamish
+
+	* vector/v.build.polylines/description.html: remove references to
+	  non-existant options, still some remain?
+
+2004-02-04 14:00  paul
+
+	* general/g.proj/main.c: Fix for no OGR to last week's change
+
+2004-02-03 17:04  markus
+
+	* lib/gis/make_loc.c: bugfix if 'a' not found by G_find_key_value()
+
+2004-02-03 15:27  markus
+
+	* display/d.what.vect/description.html, display/d.what.vect/main.c:
+	  extended docs (as fake session doesn't work here), fixed typo
+
+2004-02-03 15:24  markus
+
+	* display/d.what.vect/main.c, display/d.what.vect/what.c,
+	  display/d.what.vect/what.h: made flashing optional
+
+2004-02-03 12:15  paul
+
+	* vector/v.in.ogr/main.c: Some extra informative messages so
+	  warnings from GPJ_osr_to_grass() aren't
+	  as confusing
+
+2004-02-03 09:21  markus
+
+	* lib/init/description.html, tools/build_html_index.html: added
+	  GRASS end environment variables explanations
+
+2004-02-03 08:21  markus
+
+	* scripts/d.redraw/d.redraw: disabled g.parser support (i.e. GUI)
+
+2004-02-03 08:17  markus
+
+	* include/Make/Platform.make.in: commented some unimplemented
+	  variables
+
+2004-02-02 12:34  paul
+
+	* general/g.proj/description.html, general/g.proj/main.c: Make
+	  function of -c and location= clearer
+
+2004-02-02 11:13  hamish
+
+	* vector/v.to.rast/main.c: bump up default rows= memory use to suit
+	  the modern user
+
+2004-02-02 10:56  paul
+
+	* lib/gis/make_loc.c: Can't rely on 'a' always being there either.
+	  If this function is really
+	  necessary it should probably in gproj library somewhere but this
+	  will
+	  do for now.
+
+2004-02-02 10:55  hamish
+
+	* raster/r.in.poly/main.c: bump up default rows= memory use to suit
+	  the modern user
+
+2004-02-02 07:52  hamish
+
+	* display/d.grid/plotborder.c: bugfix: missing tick marks
+
+2004-02-02 02:31  hamish
+
+	* display/d.grid/main.c: add R:G:B triplet support for color= and
+	  bordercolor=
+
+2004-02-01 18:39  paul
+
+	* lib/gis/make_loc.c: Don't check zone as it is only relevant for
+	  UTM and will not always be
+	  in PROJ_INFO
+
+2004-02-01 11:26  hamish
+
+	* display/d.rast.edit/edit.c: attempt to fix up ugliness in edit
+	  mode. still not perfect.
+	  * change (int) flooring to (int)+0.5 rounding for pixel position
+	  * replace slightly bizarre thatching with an "X"
+	  * added missing R_stabilize()
+
+2004-02-01 09:38  hamish
+
+	* display/d.legend/description.html: add use= option, note new
+	  horizontal legend text: finished TODOs
+
+2004-02-01 06:59  hamish
+
+	* display/d.erase/main.c, lib/D/Derase.c: Add R:G:B support; update
+	  d.erase to use the 5.7 friendly DEFAULT_BG_COLOR
+	  
+	  The Derase.c change touches (hopefully with no harm) these active
+	  modules:
+	  src/display/d.3d, src/display/d.display, src/display/d.erase,
+	  src/display/d.frame, src/display/d.mon, src/display/d.profile,
+	  src/display/d.rast, src/display/d.rast.edit, src/display/d.rgb,
+	  src/imagery/i.class, src/imagery/i.colors,
+	  src/imagery/i.ortho.photo,
+	  src/imagery/i.points, src/imagery/i.vpoints,
+	  src/paint/Drivers/preview,
+	  src/paint/Drivers/preview2, src/raster/r.combine,
+	  src/raster/r.weight
+
+2004-01-30 10:20  paul
+
+	* general/g.region/cmd/printwindow.c: Avoid unnecessary PROJ_INFO
+	  not found error messages
+
+2004-01-30 05:33  hamish
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c: add
+	  R:G:B triplet support for bcolor= and tcolor=
+
+2004-01-29 17:11  radim
+
+	* configure, configure.in, db/drivers/dialog/user.c,
+	  include/config.h.in: + HAVE_TCLTK
+
+2004-01-29 17:01  moritz
+
+	* scripts/v.shape.regist/v.shape.unregister: adapted to g.parser
+	  and corrected .shp file extension problem
+
+2004-01-29 17:00  moritz
+
+	* scripts/v.shape.regist/v.shape.register: deleted .shp file
+	  extension from registered files to make file names acceptable
+
+2004-01-29 16:26  radim
+
+	* vector/v.distance/main.c: optional from each to each
+
+2004-01-29 15:47  markus
+
+	* display/drivers/Makefile, display/drivers/description.html,
+	  tools/build_html_index.html: added documentation of xdriver,
+	  pngdriver
+
+2004-01-29 15:04  markus
+
+	* configure, configure.in, display/drivers/Makefile,
+	  include/Make/Platform.make.in: activated PNG driver
+
+2004-01-29 14:58  radim
+
+	* vector/v.kernel/brent.c: license problem
+
+2004-01-29 11:11  radim
+
+	* vector/Makefile: v.kernel removed
+
+2004-01-29 08:55  radim
+
+	* display/d.m/vector.tcl: print width
+
+2004-01-29 04:25  hamish
+
+	* display/d.text.freetype/main.c: do R:G:B color selection a bit
+	  more cleanly
+
+2004-01-29 03:47  hamish
+
+	* display/d.text/main.c: do R:G:B color selection a bit more
+	  cleanly
+
+2004-01-29 00:06  hamish
+
+	* raster/r.terraflow/IOStream/include/empq_impl.h,
+	  raster/r.terraflow/IOStream/lib/src/mm_utils.cc,
+	  raster/r.terraflow/common.cc, raster/r.terraflow/direction.h:
+	  revert gcc 3.3 update for "#include <ostream>" as gcc 2.95 isn't
+	  forward compatible
+
+2004-01-28 22:47  hamish
+
+	* include/VERSION: Happy New Year
+
+2004-01-28 21:45  markus
+
+	* debian/rules: changed relativ path to 5.3 code to absolute path
+
+2004-01-28 21:02  markus
+
+	* vector/v.in.ogr/Makefile: added proj deps
+
+2004-01-28 15:36  markus
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c: added
+	  support to create locations from OGR sources (with much help from
+	  Paul Kelly)
+
+2004-01-27 14:50  markus
+
+	* debian/control: dependencies update
+
+2004-01-27 12:59  radim
+
+	* ps/ps.map/description.html, ps/ps.map/do_masking.c,
+	  ps/ps.map/main.c, ps/ps.map/ps_info.h: maskcolor, modified
+	  contribution sent by Alessandro Frigeri <afrigeri at unipg.it>
+
+2004-01-27 07:22  hamish
+
+	* raster/r.sun/description.html: minor improvements
+
+2004-01-26 16:15  paul
+
+	* general/g.proj/description.html: Fix bug in example
+
+2004-01-26 15:37  paul
+
+	* general/g.proj/description.html, general/g.proj/main.c,
+	  include/gprojects.h, lib/gis/datum.table, lib/proj/Makefile,
+	  lib/proj/convert.c, lib/proj/datum.c, lib/proj/datum.csv,
+	  lib/proj/ellipse.c, lib/proj/ellipsoid.csv, lib/proj/gcs.csv,
+	  lib/proj/gdal_datum.csv, lib/proj/get_proj.c,
+	  lib/proj/local_proto.h, lib/proj/pcs.csv,
+	  lib/proj/prime_meridian.csv, lib/proj/projop_wparm.csv,
+	  lib/proj/stateplane.csv, lib/proj/unit_of_measure.csv: Updates
+	  for proj library and g.proj to read projection information
+	  from various sources
+
+2004-01-26 13:26  markus
+
+	* visualization/nviz/scripts/panel_surf.tcl: fixed typo
+
+2004-01-26 11:08  markus
+
+	* display/drivers/Makefile: commented HTMLMAP driver (needs updates
+	  to work with d.vect)
+
+2004-01-26 11:03  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Graph_Set.c: Merge from 5.3:
+	  Erase window at startup (prevents transparent window when
+	  starting without selecting).
+
+2004-01-25 13:57  markus
+
+	* tools/link.conf: HTMLMAP added
+
+2004-01-25 13:56  markus
+
+	* display/drivers/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/description.html: added
+	  HTMLMAP, added XDRIVER docs
+
+2004-01-25 13:55  markus
+
+	* display/drivers/HTMLMAP/Get_w_box.c,
+	  display/drivers/HTMLMAP/Get_w_line.c,
+	  display/drivers/HTMLMAP/Get_w_pnt.c,
+	  display/drivers/HTMLMAP/Makefile,
+	  display/drivers/HTMLMAP/description.html: added
+
+2004-01-24 17:32  markus
+
+	* lib/gis/set_window.c: added support for fake session for HTML
+	  generation with parser (r.sun etc)
+
+2004-01-24 01:56  glynn
+
+	* lib/gis/tempfile.c: Use stat() instead of access(); we're
+	  interested in whether the file exists,
+	  not its permissions)
+
+2004-01-24 01:54  glynn
+
+	* display/drivers/lib/Plydts_rel.c: Fix bug (not important, as
+	  nothing actually uses R_polydots_rel())
+
+2004-01-23 16:44  markus
+
+	* vector/v.database/description.html,
+	  vector/v.format/description.html: links added
+
+2004-01-23 16:38  radim
+
+	* display/d.m/tree.tcl: drop below
+
+2004-01-23 15:10  markus
+
+	* include/sqlp.h: added SQLP_DATE
+
+2004-01-23 14:08  markus
+
+	* lib/db/sqlp/test/sqlptest.c: message cosmetics
+
+2004-01-23 13:33  radim
+
+	* include/Vect.h, lib/vector/Vlib/field.c, lib/vector/Vlib/map.c,
+	  vector/v.extract/main.c, vector/v.select/main.c: +
+	  Vect_copy_table_by_cats
+
+2004-01-23 13:28  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi_client/copy_tab.c: +
+	  db_copy_table_where, db_copy_table_by_ints
+
+2004-01-23 13:27  radim
+
+	* lib/form/Makefile: conditional compilation (TclTk)
+
+2004-01-23 13:27  radim
+
+	* INSTALL, Makefile, configure, configure.in: new targets
+	  srclibsdist, libs, libsclean
+
+2004-01-23 13:13  markus
+
+	* display/d.text.freetype/description.html: cleanup
+
+2004-01-23 13:08  markus
+
+	* display/Makefile: added d.text.freetype
+
+2004-01-23 12:56  markus
+
+	* tools/link.conf: added d.text.freetype
+
+2004-01-23 12:56  markus
+
+	* display/d.text.freetype/Makefile,
+	  display/d.text.freetype/description.html: added
+
+2004-01-23 12:34  markus
+
+	* lib/db/sqlp/description.html: added note about 'dbmi: Protocol
+	  error'
+
+2004-01-23 12:31  markus
+
+	* db/drivers/dbf/dbfexe.c, lib/db/sqlp/README, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/print.c, lib/db/sqlp/yac.y: added SQLP_DATE
+
+2004-01-23 10:23  markus
+
+	* lib/vector/Vlib/legal_vname.c: also allow for @ (for mapsets)
+
+2004-01-22 21:35  markus
+
+	* db/base/db.connect.html: added DBF example
+
+2004-01-22 21:34  markus
+
+	* lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/open.c: map name
+	  check added to avoid seg fault
+
+2004-01-22 15:34  markus
+
+	* db/drivers/dbf/table.c: API url added
+
+2004-01-22 13:15  markus
+
+	* general/g.gisenv/description.html: added GRASS debugging
+
+2004-01-22 10:55  radim
+
+	* lib/db/dbmi_client/start.c: putenv -> G_putenv
+
+2004-01-21 16:57  markus
+
+	* raster/r.texture/description.html: ref fixes
+
+2004-01-21 16:48  markus
+
+	* raster/r.texture/description.html: updated
+
+2004-01-21 16:42  markus
+
+	* lib/gis/parser.c: html output cosmetics
+
+2004-01-21 16:34  markus
+
+	* raster/r.texture/h_measure.c, raster/r.texture/main.c: fixed Meas
+	  -> Measure
+
+2004-01-21 10:32  radim
+
+	* vector/Makefile: +v.kernel
+
+2004-01-21 10:32  radim
+
+	* vector/v.kernel, vector/v.kernel/Makefile,
+	  vector/v.kernel/brent.c, vector/v.kernel/description.html,
+	  vector/v.kernel/function.c, vector/v.kernel/global.h,
+	  vector/v.kernel/main.c: update, +network version
+
+2004-01-21 09:30  markus
+
+	* vector/v.transform/main.c: fixed comments to be clear
+
+2004-01-21 09:23  markus
+
+	* lib/proj/convert.c: error message cosmetics
+
+2004-01-20 16:25  radim
+
+	* db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/globals.h: bpchar
+
+2004-01-20 12:59  paul
+
+	* lib/proj/convert.c: Still improved error reporting
+
+2004-01-20 12:51  paul
+
+	* general/g.proj/main.c, lib/proj/convert.c: More graceful errors
+	  for when OGR has problems (e.g. Krovak)
+
+2004-01-19 17:40  radim
+
+	* vector/v.label/main.c: number parameters more flexible II
+
+2004-01-19 17:39  radim
+
+	* vector/v.label/main.c: number parameters more flexible
+
+2004-01-19 09:32  markus
+
+	* lib/init/gis_set.tcl: Remove export statements from output
+
+2004-01-17 06:47  hamish
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h: merge in d.scale functionality;
+	  d.barscale can now fully replace d.scale (which is broken).
+	  * add -l flag to draw d.scale style line scale
+	  * center text over scale a bit better in -t mode
+	  note draw_scale.c bugfix: (int)line_len/2. should be
+	  (int)(line_len/2.)
+
+2004-01-17 05:19  hamish
+
+	* display/d.text.freetype/main.c: revert last change as it doesn't
+	  actually work. sizing code could use some cleanup
+
+2004-01-17 05:08  hamish
+
+	* display/d.text.freetype/main.c: change default text size to match
+	  d.text (ie =5)
+
+2004-01-16 16:29  markus
+
+	* general/manage/cmd/copy.c, general/manage/cmd/remove.c,
+	  general/manage/cmd/rename.c: added gui buttons for map selection
+
+2004-01-16 06:33  hamish
+
+	* display/d.text/main.c: add new features:
+	  * at= text placement as percent of screen height/width
+	  * color= supports R:G:B triplets
+	  * -b flag to bold text from the command line
+
+2004-01-16 02:36  hamish
+
+	* display/d.text.freetype/main.c: standardize color= usage to R:G:B
+	  instead of 0xRRGGBB.
+	  Left it backwards compatible for now (unadvertised).
+
+2004-01-16 02:05  hamish
+
+	* display/d.text.freetype/main.c: add support for placement of text
+	  as percentage of monitor frame
+
+2004-01-15 17:51  markus
+
+	* imagery/i.ortho.photo/BUGS: fixed one bug, added new bug
+
+2004-01-15 17:42  markus
+
+	* imagery/i.ortho.photo/alg_camera_position.txt: Ivan Michelazzi:
+	  added commented algorithm description (camera position)
+
+2004-01-15 17:34  markus
+
+	* imagery/i.ortho.photo/libes/orthoref.c: Ivan Michelazzi: added
+	  commented algorithm description (photo.rectify)
+
+2004-01-15 17:25  markus
+
+	* imagery/i.ortho.photo/README,
+	  imagery/i.ortho.photo/alg_photo_rectify.txt: Ivan Michelazzi:
+	  added commented algorithm description (photo.rectify)
+
+2004-01-15 11:29  paul
+
+	* visualization/nviz/src/buildPg.c,
+	  visualization/nviz/src/getCat.c,
+	  visualization/nviz/src/query_postgr.c,
+	  visualization/nviz/src/runPg.c: snprintf removal
+
+2004-01-15 10:02  hamish
+
+	* display/d.legend/main.c: add text label support for horizontal
+	  legends; some whitespace cleanup
+
+2004-01-14 08:36  hamish
+
+	* raster/r.terraflow/3scan.h,
+	  raster/r.terraflow/IOStream/include/ami_sort.h,
+	  raster/r.terraflow/IOStream/include/ami_stream.h,
+	  raster/r.terraflow/IOStream/include/embuffer.h,
+	  raster/r.terraflow/IOStream/include/empq.h,
+	  raster/r.terraflow/IOStream/include/empq_adaptive_impl.h,
+	  raster/r.terraflow/IOStream/include/empq_impl.h,
+	  raster/r.terraflow/IOStream/include/imbuffer.h,
+	  raster/r.terraflow/IOStream/include/mem_stream.h,
+	  raster/r.terraflow/IOStream/include/minmaxheap.h,
+	  raster/r.terraflow/IOStream/include/queue.h,
+	  raster/r.terraflow/IOStream/include/replacementHeap.h,
+	  raster/r.terraflow/IOStream/include/replacementHeapBlock.h,
+	  raster/r.terraflow/IOStream/include/rtimer.h,
+	  raster/r.terraflow/IOStream/lib/src/ami_stream.cc,
+	  raster/r.terraflow/IOStream/lib/src/mm.cc,
+	  raster/r.terraflow/IOStream/lib/src/mm_utils.cc,
+	  raster/r.terraflow/ccforest.cc, raster/r.terraflow/ccforest.h,
+	  raster/r.terraflow/common.cc, raster/r.terraflow/common.h,
+	  raster/r.terraflow/direction.h, raster/r.terraflow/fill.cc,
+	  raster/r.terraflow/filldepr.cc,
+	  raster/r.terraflow/genericWindow.h, raster/r.terraflow/main.cc,
+	  raster/r.terraflow/nodata.cc, raster/r.terraflow/nodata.h,
+	  raster/r.terraflow/plateau.h, raster/r.terraflow/sortutils.h,
+	  raster/r.terraflow/stats.cc, raster/r.terraflow/stats.h,
+	  raster/r.terraflow/streamutils.h, raster/r.terraflow/sweep.cc,
+	  raster/r.terraflow/types.h, raster/r.terraflow/unionFind.h,
+	  raster/r.terraflow/water.cc, raster/r.terraflow/water.h,
+	  raster/r.terraflow/weightWindow.cc,
+	  raster/r.terraflow/weightWindow.h: further gcc3.3 updates from
+	  Laura
+
+2004-01-12 17:43  markus
+
+	* aclocal.m4, configure, configure.in, db/drivers/dbf/Makefile,
+	  db/drivers/odbc/Makefile, db/drivers/postgres/Makefile,
+	  include/Make/Grass.make.in, include/Make/Platform.make.in: Tom
+	  Russo <russo at bogoflux.losalamos.nm.us>: bug report #2232 - fixes
+	  for FreeBSD
+
+2004-01-12 14:11  markus
+
+	* vector/v.surf.idw/description.html: added voronoi note
+
+2004-01-12 14:08  radim
+
+	* lib/sites/sites.c: free Map at the end
+
+2004-01-12 11:01  markus
+
+	* raster/r.texture/description.html: fixed reference
+
+2004-01-10 08:15  radim
+
+	* lib/proj/convert.c: fatal error -> warning in GPJ_grass_to_osr()
+
+2004-01-10 08:03  radim
+
+	* vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/trans_digit.c: + x/yscale
+
+2004-01-09 16:28  paul
+
+	* lib/proj/convert.c: Improved (functional!) error reporting
+
+2004-01-09 13:20  radim
+
+	* lib/raster/io.c: use RETSIGTYPE in declaration of dead()
+
+2004-01-09 11:23  markus
+
+	* raster/r.series/description.html: explained parameters
+
+2004-01-09 10:20  paul
+
+	* lib/gis/make_loc.c: Don't need to check datum name if checking
+	  ellipsoid and actual
+	  ellipsoid dimensions much better to check than name.
+
+2004-01-09 09:54  markus
+
+	* raster/r.what/description.html: fixed url
+
+2004-01-09 09:22  markus
+
+	* raster/r.series/description.html: extended notes
+
+2004-01-08 23:39  glynn
+
+	* raster/r.series/c_count.c, raster/r.series/local_proto.h,
+	  raster/r.series/main.c: Add "count" method
+
+2004-01-08 16:50  markus
+
+	* raster/r.series/description.html: added -n explanation
+
+2004-01-08 15:05  markus
+
+	* scripts/g.mlist/description.html: fixed examples
+
+2004-01-08 14:58  markus
+
+	* scripts/g.mlist/description.html: examples added
+
+2004-01-08 14:10  markus
+
+	* scripts/Makefile, scripts/g.mlist/Makefile, tools/link.conf:
+	  added g.mlist
+
+2004-01-08 14:05  markus
+
+	* scripts/g.mlist/description.html: added
+
+2004-01-08 13:59  markus
+
+	* raster/r.series/description.html: added wildcards example
+
+2004-01-08 10:33  radim
+
+	* vector/v.in.ogr/main.c: set varchar width to 255 if not specified
+
+2004-01-08 09:52  radim
+
+	* include/Make/Grass.make.in: PQLIBPATH moved to LDFLAGS
+
+2004-01-08 09:45  radim
+
+	* include/Make/Grass.make.in: +PQLIBPATH to VECTLIB
+
+2004-01-07 17:14  markus
+
+	* lib/gis/adj_cellhd.c, lib/gis/align_window.c, lib/gis/alloc.c,
+	  lib/gis/alloc_cell.c, lib/gis/area.c, lib/gis/area_ellipse.c,
+	  lib/gis/area_poly1.c, lib/gis/area_poly2.c,
+	  lib/gis/area_sphere.c, lib/gis/ascii_chk.c, lib/gis/ask.c,
+	  lib/gis/ask_cell.c: added doxygen docs
+
+2004-01-06 18:24  markus
+
+	* display/d.vect/area.c, display/d.vect/description.html,
+	  display/d.vect/local_proto.h, display/d.vect/main.c: added simple
+	  color support for areas
+
+2004-01-06 14:26  markus
+
+	* raster/r.sun/main.c: message cosmetics
+
+2004-01-06 14:25  markus
+
+	* raster/r.sun/description.html: added shadow map extraction
+
+2004-01-05 17:03  markus
+
+	* scripts/Makefile: added i.tasscap
+
+2004-01-05 17:02  markus
+
+	* scripts/i.tasscap, scripts/i.tasscap/Makefile,
+	  scripts/i.tasscap/description.html, scripts/i.tasscap/i.tasscap:
+	  added
+
+2003-12-31 01:40  bob
+
+	* visualization/nviz/scripts/panel_surf.tcl: Reworked panel layout
+
+2003-12-31 01:33  bob
+
+	* visualization/nviz/scripts/panel_mkdspf.tcl,
+	  visualization/nviz/scripts/panel_sdiff.tcl: Reworked panel layout
+
+2003-12-31 01:30  bob
+
+	* visualization/nviz/scripts/panel_lights.tcl,
+	  visualization/nviz/scripts/panel_site.tcl: Update panel names
+
+2003-12-30 07:47  radim
+
+	* vector/v.surf.rst/main.c: field description
+
+2003-12-29 15:13  radim
+
+	* vector/v.in.dwg/entity.c, vector/v.in.dwg/global.h,
+	  vector/v.in.dwg/main.c: circle as point, select leyers
+
+2003-12-19 17:04  markus
+
+	* scripts/d.rast.leg/d.rast.leg: -n flag added
+
+2003-12-19 16:16  markus
+
+	* vector/Makefile: added v.hull
+
+2003-12-19 16:15  markus
+
+	* vector/v.hull, vector/v.hull/Makefile, vector/v.hull/README,
+	  vector/v.hull/description.html, vector/v.hull/main.c: added
+
+2003-12-19 13:00  radim
+
+	* vector/v.surf.rst/main.c: return IL_check_at_points_2d
+
+2003-12-19 12:57  radim
+
+	* lib/rst/interp_float/Makefile: +point2d.c
+
+2003-12-18 16:58  markus
+
+	* visualization/nviz/src/getCat.c: updated code layout with indent
+	  for 5.7 comparisons
+
+2003-12-18 16:56  markus
+
+	* visualization/nviz/src/nviz_init.c: updated from 5.3, layout
+
+2003-12-18 12:49  radim
+
+	* lib/gtcltk/select.tcl: changed node names to avoid conflict with
+	  root node
+
+2003-12-17 17:29  scott
+
+	* lib/g3d/g3dwindowio.c: set path before checking for errors - gets
+	  rid of segfault when WIND3 missing
+
+2003-12-17 07:10  hamish
+
+	* raster/r.terraflow/main.cc: fix for compile on Mac OSX (from
+	  Laura Toma)
+	  
+	  Still need to add HAVE_STATVFS_H check to the config script,
+	  possibly a switch to use sys/mount.h statfs() on Mac ?
+
+2003-12-17 06:59  hamish
+
+	* raster/r.terraflow/IOStream/include/ami_sort_impl.h: fix for
+	  compile on Mac OSX (from Laura Toma)
+
+2003-12-16 17:50  radim
+
+	* vector/v.label/main.c: check string length
+
+2003-12-16 17:50  radim
+
+	* vector/v.to.rast/do_lines.c, vector/v.to.rast/local.h,
+	  vector/v.to.rast/main.c, vector/v.to.rast/vect2rast.c: z
+	  coordinate
+
+2003-12-16 17:49  radim
+
+	* display/d.what.vect/what.c, lib/form/generate.c: text format
+
+2003-12-16 17:48  radim
+
+	* lib/db/dbmi_client/copy_tab.c: transaction
+
+2003-12-16 15:51  markus
+
+	* configure, configure.in: removed GD, added X_CFLAGS
+
+2003-12-16 14:27  markus
+
+	* include/config.h.in: removed GD
+
+2003-12-16 13:11  markus
+
+	* display/drivers/PNG/description.html: removed GD refs
+
+2003-12-16 10:08  markus
+
+	* db/drivers/postgres/Makefile: removed unneccesary CRYPTLIB,
+	  already available via PQLIB
+
+2003-12-13 21:58  markus
+
+	* raster/r.topidx/main.c: fixed mapset search path
+
+2003-12-13 07:19  glynn
+
+	* display/drivers/PNG/README: Add $X_CFLAGS to Motif header checks
+	  Remove GD stuff from configure[.in] and related files
+	  Remove references to GD from PNGdriver/README
+
+2003-12-12 14:56  markus
+
+	* raster/r.out.png/version.h: added newline
+
+2003-12-12 14:55  markus
+
+	* raster/r.out.png/r.out.png.c: fixed odd layout and
+	  comment-in-comment
+
+2003-12-11 12:12  markus
+
+	* raster/r.terraflow/IOStream/lib/Makefile: temporal solution for
+	  'make mixclean ; make clean' failure
+
+2003-12-11 09:24  markus
+
+	* raster/r.terraflow/Makefile: fix
+
+2003-12-10 15:41  paul
+
+	* lib/gis/Makefile, lib/imagery/Makefile: Tentatively remove
+	  EXTRA_LIBS lines from some Makefiles
+
+2003-12-09 15:47  markus
+
+	* debian/control: added missing dev packages
+
+2003-12-09 15:16  paul
+
+	* lib/gis/datumtransform.table: Fix typing error in Sardinia datum
+	  transform parameters
+
+2003-12-09 11:40  markus
+
+	* lib/init/Makefile: fixed missing quote, polished sed
+
+2003-12-09 11:25  markus
+
+	* lib/gis/Makefile: added PACKAGE/nls from 5.3
+
+2003-12-08 17:18  paul
+
+	* lib/init/Makefile, lib/init/grass.src, lib/init/init.sh: Better
+	  to have PERL_COMMAND and LD_LIBRARY_PATH_VAR substituted in
+	  init.sh
+
+2003-12-08 11:56  paul
+
+	* aclocal.m4, configure, include/Make/Platform.make.in,
+	  lib/init/Makefile, lib/init/grass.src, lib/init/init.sh: Use the
+	  name for the shared library path environment variable that is
+	  determined by the configure script and remove the special hacks
+	  for
+	  OSX from init.sh.
+	  Fix bug with GRASS_PERL / PERL_COMMAND not being substituted
+
+2003-12-08 10:18  markus
+
+	* lib/init/init.sh: [t]csh: keep history in mapset as bash is doing
+	  ; BASH: added raster MASK presence indicator to prompt
+
+2003-12-05 10:06  markus
+
+	* debian/rules: clean links after compilation
+
+2003-12-04 16:29  radim
+
+	* vector/v.in.dwg/README: configure options
+
+2003-12-04 16:26  radim
+
+	* tools/link.conf: shapelib removed
+
+2003-12-04 16:26  radim
+
+	* lib/external/shapelib/README, lib/external/shapelib/dbfopen.c,
+	  lib/external/shapelib/shapefil.h,
+	  lib/external/shapelib/shpopen.c: shapelib from GDAL 1.1.9
+
+2003-12-04 16:23  radim
+
+	* vector/Makefile: v.reclass
+
+2003-12-04 16:22  radim
+
+	* vector/v.reclass, vector/v.reclass/Makefile,
+	  vector/v.reclass/description.html, vector/v.reclass/main.c,
+	  vector/v.reclass/reclass.c, vector/v.reclass/rules.c: new/upgrade
+
+2003-12-04 16:21  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi_base/value.c,
+	  lib/db/dbmi_client/select.c: new CatValArray functions
+
+2003-12-02 15:42  paul
+
+	* imagery/i.ortho.photo/photo.rectify/rectify.c: Tidy recent
+	  changes (fix DCELL / double mixing)
+
+2003-12-01 14:46  radim
+
+	* lib/gis/find_file.c: print a warning if the file is found in more
+	  mapsets
+
+2003-12-01 14:20  radim
+
+	* general/g.mapsets/g.mapsets.tcl: put current and PERMANENT on the
+	  top, disable current
+
+2003-11-28 11:25  radim
+
+	* lib/vector/diglib/Makefile, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/test.ok: big -> little fix
+
+2003-11-27 17:02  markus
+
+	* debian/control, debian/rules: hopefully final fixes, creates ARM
+	  deb now
+
+2003-11-27 13:02  radim
+
+	* lib/vector/diglib/test.c: byte order report
+
+2003-11-26 15:37  markus
+
+	* debian/control, debian/rules: debian: lintian fixes, cleanup
+	  fixed
+
+2003-11-26 14:11  markus
+
+	* display/d.m/Makefile: make tksys.tcl executable
+
+2003-11-26 14:06  markus
+
+	* INSTALL: small additions
+
+2003-11-26 11:10  markus
+
+	* debian/changelog, debian/control, debian/rules: added fixes from
+	  Giuseppe Dia <giusedia at libero.it>
+
+2003-11-25 17:18  markus
+
+	* imagery/i.ortho.photo/photo.rectify/global.h,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c: added floating
+	  point DEM fix as suggested by Paul Kelly, added comment on TILE
+	  window size
+
+2003-11-25 15:32  radim
+
+	* vector/v.category/main.c: + sum option
+
+2003-11-25 14:58  markus
+
+	* lib/init/init.sh: GRASS_WISH updates as suggested by Glynn
+	  Clements
+
+2003-11-25 14:57  radim
+
+	* vector/v.to.points/main.c: end point fix
+
+2003-11-25 14:56  radim
+
+	* vector/v.select/main.c: set aline bbox for all btypes
+
+2003-11-25 13:08  markus
+
+	* debian/rules: activated OpenGL
+
+2003-11-25 13:06  markus
+
+	* debian/control: added xlibmesa-gl-dev, xlibmesa-glu-dev,
+	  postgresql-dev, postgresql-client, unixodbc-dev
+
+2003-11-25 13:01  markus
+
+	* debian/control: added gdal-bin, libgdal1-dev, libgdal1, proj (>=
+	  4.4.7), postgresql-dev, postgresql-client, unixodbc-dev
+
+2003-11-24 16:33  radim
+
+	* lib/vector/Vlib/poly.c: better debug
+
+2003-11-24 16:32  radim
+
+	* vector/v.to.db/parse.c: optional col1 (for option=cat)
+
+2003-11-24 16:31  radim
+
+	* vector/v.overlay/area_area.c, vector/v.overlay/line_area.c,
+	  vector/v.overlay/local.h, vector/v.overlay/main.c: +atype=line
+
+2003-11-24 13:55  markus
+
+	* lib/init/init.sh: force X11 tcl on Mac
+
+2003-11-24 10:48  markus
+
+	* display/d.m/d.m, display/d.m/d.m.tcl: made d.m pure tcl
+
+2003-11-24 10:08  radim
+
+	* include/dbmi.h, lib/db/dbmi_client/select.c: + ctype
+
+2003-11-24 10:04  radim
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/vect2rast.c: optionaly use category or cpecified
+	  value
+
+2003-11-24 09:16  markus
+
+	* imagery/i.ortho.photo/photo.rectify/exec.c: make DEBUG3
+	  functional
+
+2003-11-23 00:09  glynn
+
+	* display/d.his/main.c: Make -n treat NULL cells as transparent.
+
+2003-11-21 08:56  markus
+
+	* lib/vector/Vlib/legal_vname.c: messages more useful
+
+2003-11-21 08:54  markus
+
+	* raster/r.terraflow/Makefile: added missing links to front.end
+
+2003-11-20 15:48  markus
+
+	* lib/init/init.sh: added powerpc
+
+2003-11-20 10:58  radim
+
+	* db/drivers/postgres/error.c: Correct driver name
+
+2003-11-19 21:19  markus
+
+	* display/d.m/print.tcl: commented debug output
+
+2003-11-19 20:49  markus
+
+	* lib/init/init.sh: fix for powermac
+
+2003-11-19 16:27  radim
+
+	* vector/v.select/main.c: fix for area B completely within area A
+
+2003-11-19 15:35  radim
+
+	* vector/Makefile: + v.in.region v.select
+
+2003-11-19 15:34  radim
+
+	* vector/v.select, vector/v.select/Makefile,
+	  vector/v.select/description.html, vector/v.select/main.c: new;
+	  select features from one vector by features from another one
+
+2003-11-19 15:32  radim
+
+	* vector/v.in.region, vector/v.in.region/Makefile,
+	  vector/v.in.region/main.c: new; create vector from current region
+
+2003-11-19 15:30  radim
+
+	* display/d.path/select.c: SP between arbitrary points
+
+2003-11-19 15:25  radim
+
+	* lib/vector/Vlib/intersect.c: + Vect_line_check_intersection
+
+2003-11-19 15:25  radim
+
+	* lib/vector/Vlib/area.c: + Vect_get_isle_boundaries
+
+2003-11-19 15:24  radim
+
+	* lib/vector/Vlib/net.c: + Vect_net_shortest_path_coor
+
+2003-11-19 15:24  radim
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/graph.c: independent
+	  graph
+
+2003-11-19 15:22  radim
+
+	* include/Vect.h: independent graph, Vect_get_isle_boundaries
+
+2003-11-19 11:30  markus
+
+	* Makefile: fix to (re)enable NVIZ compilation
+
+2003-11-19 10:29  markus
+
+	* debian/control, debian/copyright: updated according to lintian
+	  errors
+
+2003-11-18 17:36  markus
+
+	* lib/init/init.sh: make also 'powermac' happy
+
+2003-11-18 16:23  markus
+
+	* lib/init/init.sh: added support for dynamic libs on MacOSX
+	  (DYLD_LIBRARY_PATH)
+
+2003-11-18 10:27  markus
+
+	* debian/control: fix
+
+2003-11-17 16:02  radim
+
+	* db/drivers/postgres/fetch.c: db_driver_get_num_rows
+
+2003-11-17 16:00  markus
+
+	* aclocal.m4, configure, configure.in: added new flag for Mac OSX,
+	  added printing of Startup script dir
+
+2003-11-17 14:25  markus
+
+	* debian, debian/changelog, debian/control, debian/copyright,
+	  debian/rules: added debian control files (with Paolo Brunetti and
+	  Donato Minati) - tested under ARM/iPAQ
+
+2003-11-17 13:46  markus
+
+	* Makefile: added install target
+
+2003-11-17 13:00  markus
+
+	* configure, configure.in: print if compiling with shared libs,
+	  cosmetics
+
+2003-11-17 12:45  radim
+
+	* vector/v.overlay/main.c: write only valid attributes
+
+2003-11-17 12:44  markus
+
+	* lib/proj/Makefile: added missing GDALLIBS and GDALCFLAGS for Mac
+	  OSX
+
+2003-11-17 12:37  radim
+
+	* vector/v.overlay/main.c: help fix
+
+2003-11-17 12:10  radim
+
+	* vector/v.to.points/main.c: + areas
+
+2003-11-17 10:27  markus
+
+	* general/g.proj/description.html: added draft description
+
+2003-11-17 10:25  radim
+
+	* scripts/Makefile: g.projinfo removed
+
+2003-11-17 10:22  radim
+
+	* scripts/g.projinfo: replaced by g.proj
+
+2003-11-17 09:59  radim
+
+	* raster/r.mapcalc/Makefile: OBJ -> CMD_OBJS
+
+2003-11-17 09:01  markus
+
+	* raster/r.reclass/main.c: added printing of range
+
+2003-11-16 00:07  bob
+
+	* lib/ogsf/gsd_surf.c, lib/ogsf/gsd_wire.c: Fixed coarse draw bug
+
+2003-11-13 09:54  radim
+
+	* db/drivers/postgres/column.c, db/drivers/postgres/pgexe.c,
+	  db/drivers/postgres/str.c, db/drivers/postgres/table.c: driver
+	  rewritten
+
+2003-11-12 16:24  radim
+
+	* db/base/databases.c: location
+
+2003-11-12 16:23  radim
+
+	* db/drivers/postgres/Makefile, db/drivers/postgres/README,
+	  db/drivers/postgres/cursor.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/describe.c, db/drivers/postgres/driver.c,
+	  db/drivers/postgres/error.c, db/drivers/postgres/execute.c,
+	  db/drivers/postgres/fetch.c, db/drivers/postgres/globals.h,
+	  db/drivers/postgres/listdb.c, db/drivers/postgres/listtab.c,
+	  db/drivers/postgres/main.c, db/drivers/postgres/parse.c,
+	  db/drivers/postgres/proto.h, db/drivers/postgres/select.c: driver
+	  rewritten
+
+2003-11-10 16:26  markus
+
+	* lib/init/init.sh: don't send d.m output to /dev/null
+
+2003-11-10 16:13  markus
+
+	* Makefile: conditionalized OPENGL/nviz
+
+2003-11-10 15:36  markus
+
+	* raster/r.terraflow/IOStream/include/minmaxheap.h: fix
+
+2003-11-10 15:15  markus
+
+	* general/g.parser/Makefile, scripts/v.shape.regist/Makefile: added
+	  missing LD_LIBRARY_PATH for html file creation (fake session)
+
+2003-11-10 14:50  markus
+
+	* visualization/Makefile: try (not finished) to make NVIZ
+	  compilation conditional upon OPENGL presence
+
+2003-11-10 14:46  bob
+
+	* visualization/nviz/scripts/panel_surf.tcl: Added option for
+	  drawing coarse surface/wire
+
+2003-11-10 14:43  markus
+
+	* configure, configure.in, include/Make/Platform.make.in: commented
+	  GD as no longer required (PNG driver was updated in 5.3)
+
+2003-11-10 14:41  bob
+
+	* visualization/nviz/scripts/panel_pos.tcl: Added new position
+	  panel
+
+2003-11-10 14:37  markus
+
+	* lib/init/init.sh: added ARM browers
+
+2003-11-10 14:36  bob
+
+	* lib/ogsf/gsd_wire.c: Added new wire routine
+
+2003-11-10 14:35  bob
+
+	* lib/ogsf/gsd_surf.c: Added optimized surface routine
+
+2003-11-10 14:34  bob
+
+	* lib/ogsf/gsd_prim.c: Added new region routines
+
+2003-11-10 14:21  markus
+
+	* display/d.frame/Makefile: fixed fake session for HTML description
+
+2003-11-10 14:10  markus
+
+	* display/drivers/PNG/Makefile: fixed for new PNG driver version
+	  (without GD dependency)
+
+2003-11-10 14:05  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Makefile: fixed XDRLIB position
+
+2003-11-10 14:03  markus
+
+	* lib/init/init.sh: limited monitor size for ARM handhelds
+
+2003-11-10 13:40  markus
+
+	* lib/Makefile: conditionalized OPENGL/ogsf
+
+2003-11-07 11:12  markus
+
+	* REQUIREMENTS.html: added
+
+2003-11-07 10:50  markus
+
+	* config.guess, config.sub: updated for ARM and other new
+	  architectures
+
+2003-11-05 16:50  markus
+
+	* vector/v.format/description.html, vector/v.format/v.format.tcl:
+	  help updated, help button added
+
+2003-11-05 11:02  markus
+
+	* raster/r.in.bin/main.c: fixed compiler warnings, made parameter
+	  names longer than 1 char
+
+2003-11-05 09:40  alex
+
+	* lib/init/msgs/ru.msg, vector/v.digit/cats.tcl,
+	  vector/v.digit/settings.tcl, vector/v.digit/toolbox.tcl: I18n
+	  half-way for v.digit (only for GUI Tk strings; the C code strings
+	  need
+	  another approach wich is done in 5.0 version but still missing
+	  here;
+	  to have localized messages only in d.m, v.digit, gis_set, etc.,
+	  one doesn't
+	  need to enable locale during "configure.")
+
+2003-11-05 01:05  bob
+
+	* raster/r.in.bin/main.c: Fixed GMT resolution problem
+
+2003-11-03 13:16  markus
+
+	* display/d.m/d.m: fixed g.parser for optional dmrc file parameter
+
+2003-11-03 10:45  alex
+
+	* lib/gtcltk/gmsg.tcl: Cosmetics
+
+2003-11-03 10:36  alex
+
+	* display/d.m/cmd.tcl, display/d.m/d.m.tcl, display/d.m/labels.tcl,
+	  display/d.m/print.tcl, display/d.m/raster.tcl,
+	  display/d.m/tool.tcl, display/d.m/vector.tcl,
+	  lib/external/bwidget/mainframe.tcl, lib/gtcltk/gmsg.tcl,
+	  lib/init/Makefile, lib/init/gis_set.tcl, lib/init/msgs,
+	  lib/init/msgs/ru.msg: Internationalization (I18n) for Tcl/Tk
+	  interfaces (gis_set, d.m, etc.)
+
+2003-11-03 10:19  alex
+
+	* lib/form/generate.c: Bugfix (pointed by Markus)
+
+2003-11-02 23:17  markus
+
+	* lib/gis/make_loc.c: added different return errors for r.in.gdal
+
+2003-11-02 09:43  hamish
+
+	* display/d.legend/main.c: don't force smooth horizontal legend if
+	  it is categorical (many boxes) legend
+
+2003-11-01 13:03  alex
+
+	* display/d.m/d.m, display/d.m/d.m.tcl: Open the d.m resource
+	  (project) file from command line
+
+2003-11-01 10:34  markus
+
+	* scripts/Makefile: some scripts added
+
+2003-11-01 10:33  markus
+
+	* scripts/d.rast.leg, scripts/d.rast.leg/Makefile,
+	  scripts/d.rast.leg/d.rast.leg,
+	  scripts/d.rast.leg/description.html, scripts/i.spectral,
+	  scripts/i.spectral/Makefile, scripts/i.spectral/README,
+	  scripts/i.spectral/i.spectral: added
+
+2003-11-01 10:33  markus
+
+	* scripts/d.slide.show, scripts/d.slide.show/Makefile,
+	  scripts/d.slide.show/d.slide.show,
+	  scripts/d.slide.show/description.html: added, renamed
+	  slide.show.sh -> d.slide.show
+
+2003-10-31 16:21  glynn
+
+	* display/drivers/PNG/Box_abs.c, display/drivers/PNG/Can_do.c,
+	  display/drivers/PNG/Clr_table.c, display/drivers/PNG/Color.c,
+	  display/drivers/PNG/Draw_line.c,
+	  display/drivers/PNG/Graph_Clse.c,
+	  display/drivers/PNG/Graph_Set.c, display/drivers/PNG/Panel.c,
+	  display/drivers/PNG/Polygn_abs.c,
+	  display/drivers/PNG/Raster_int.c,
+	  display/drivers/PNG/pngdriver.h: Re-write PNG driver to remove
+	  dependency upon GD
+
+2003-10-31 09:08  markus
+
+	* display/drivers/PNG/Graph_Set.c: added white default background
+	  for G5.7
+
+2003-10-30 14:36  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Serve_Xevent.c: added local 5.7
+	  version to support white background
+
+2003-10-29 16:16  markus
+
+	* raster/r.random/description.html,
+	  vector/v.random/description.html,
+	  vector/v.surf.idw/description.html: added
+
+2003-10-29 14:47  markus
+
+	* raster/r.distance/description.html: html fix
+
+2003-10-29 14:44  markus
+
+	* display/d.mapgraph/main.c: 'white' -> DEFAULT_FG_COLOR for 5.7
+
+2003-10-29 13:37  markus
+
+	* include/VERSION: removed minor number and month
+
+2003-10-29 13:29  glynn
+
+	* raster/r.grow2/main.c: Add metric= option, maximum, manhattan
+	  metrics
+	  Fix windowing bug
+
+2003-10-29 13:14  alex
+
+	* display/d.m/d.m.tcl, lib/form/generate.c: Form edit/view mode
+	  toggled from d.m menu
+
+2003-10-29 08:41  markus
+
+	* scripts/r.out.gdal/description.html,
+	  scripts/r.out.gdal/r.out.gdal: added/explained metaopt, createopt
+
+2003-10-28 01:49  glynn
+
+	* raster/r.grow2/main.c: Add radius= option
+	  Remove -d (diagonal) flag
+	  Allow writing out NULL for original cells
+	  Update corresponding categories when old=/new= are used
+
+2003-10-27 22:44  glynn
+
+	* raster/r.grow2/main.c: Fix colour table handling
+
+2003-10-27 16:28  markus
+
+	* raster/r.reclass/main.c: help message cosmetics
+
+2003-10-27 16:23  markus
+
+	* db/drivers/postgres/Makefile: commented -lcrypt (should go into
+	  PGLIB if needed)
+
+2003-10-27 13:17  radim
+
+	* vector/v.to.db/lines.c: line cat found
+
+2003-10-27 08:50  radim
+
+	* display/d.vect/attr.c: attributes better
+
+2003-10-27 00:49  glynn
+
+	* raster/r.grow2, raster/r.grow2/main.c: Add r.grow2
+
+2003-10-25 21:50  markus
+
+	* raster/Makefile, tools/link.conf: r.random added
+
+2003-10-25 21:49  markus
+
+	* raster/r.random/Makefile, raster/r.random/main.c,
+	  raster/r.random/random.c: updated to 5.7
+
+2003-10-25 20:17  markus
+
+	* lib/sites/README: added missing update note
+
+2003-10-25 20:17  markus
+
+	* raster/r.cost/main.c: updated to 5.7
+
+2003-10-25 18:32  markus
+
+	* lib/sites/README: added from
+	  http://grass.itc.it/pipermail/grass5/2003-September/016713.html
+	  to clarify the idea
+
+2003-10-25 18:24  markus
+
+	* raster/Makefile: added r.cost
+
+2003-10-25 18:23  markus
+
+	* raster/r.cost/Makefile: updated
+
+2003-10-25 18:19  markus
+
+	* tools/timer/Makefile: fix
+
+2003-10-25 15:23  markus
+
+	* raster/r.param.scale/interface.c: cosmetics for 5.7 HTML
+	  interface
+
+2003-10-25 15:20  markus
+
+	* raster/r.drain/tinf.h: fix
+
+2003-10-25 12:16  markus
+
+	* lib/vector/Vlib/legal_vname.c, lib/vector/Vlib/open.c: added
+	  Vect_legal_filename() test to get rid of dbmi protocol errors
+
+2003-10-25 12:14  markus
+
+	* include/Vect.h: added Vect_legal_filename()
+
+2003-10-25 09:20  markus
+
+	* lib/gis/make_loc.c: fix
+
+2003-10-25 07:51  markus
+
+	* lib/gis/make_loc.c: bugfix, added tests for map datum, ellipsoid,
+	  zone
+
+2003-10-24 22:53  glynn
+
+	* raster/r.series/c_reg.c: Fix bug in linear regression computation
+
+2003-10-24 16:13  radim
+
+	* raster/r.to.vect/areas.c, raster/r.to.vect/description.html:
+	  description, nabors prototype
+
+2003-10-24 15:47  radim
+
+	* vector/v.to.rast/do_areas.c, vector/v.to.rast/do_lines.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/vect2rast.c: category field
+
+2003-10-24 15:47  radim
+
+	* raster/Makefile: r.to.vect
+
+2003-10-24 15:46  radim
+
+	* raster/r.to.vect, raster/r.to.vect/Makefile,
+	  raster/r.to.vect/README, raster/r.to.vect/areas.c,
+	  raster/r.to.vect/areas_io.c, raster/r.to.vect/global.h,
+	  raster/r.to.vect/lines.c, raster/r.to.vect/lines.h,
+	  raster/r.to.vect/lines_io.c, raster/r.to.vect/main.c,
+	  raster/r.to.vect/points.c, raster/r.to.vect/util.c: r.line,
+	  r.poly, r.to.sites
+
+2003-10-23 15:20  markus
+
+	* raster/Makefile, tools/link.conf: added r.digit
+
+2003-10-23 15:19  markus
+
+	* raster/r.digit/Makefile, raster/r.digit/description.html: added
+
+2003-10-23 13:07  markus
+
+	* imagery/i.ortho.photo/photo.rectify/equ.c: removed unused var
+
+2003-10-22 11:27  glynn
+
+	* raster/r.bilinear/main.c: Write NULL instead of 0 for
+	  out-of-range easting
+
+2003-10-22 09:53  markus
+
+	* raster/r.sunmask/main.c: reverted last 'fix', defined variable
+	  extern (for gcc -fno-common)
+
+2003-10-22 09:43  radim
+
+	* vector/v.to.rast/vect2rast.c: case insensitive column name
+
+2003-10-22 08:32  radim
+
+	* doc/vector/v.modules.html: update
+
+2003-10-22 07:57  radim
+
+	* vector/v.to.db/description.html: updated example
+
+2003-10-21 19:29  markus
+
+	* lib/display/setup.c: black -> DEFAULT_BG_COLOR for G5.7
+
+2003-10-21 16:04  markus
+
+	* display/d.title/main.c: use of DEFAULT_FG_COLOR for G5.7
+	  compliance
+
+2003-10-21 15:12  markus
+
+	* display/d.rhumbline/main.c: use of DEFAULT_FG_COLOR for G5.7
+	  compliance
+
+2003-10-21 14:57  markus
+
+	* display/d.geodesic/main.c: use of DEFAULT_FG_COLOR for G5.7
+	  compliance
+
+2003-10-21 13:46  markus
+
+	* display/d.profile/PlotProfile.c, display/d.profile/What.c,
+	  display/d.profile/bnw_line.c, display/d.profile/main.c,
+	  display/d.profile/profile.h: changed black -> DEFAULT_BG_COLOR,
+	  white -> DEFAULT_FG_COLOR for GRASS 5.7 compliance
+
+2003-10-21 13:45  markus
+
+	* lib/D/Dclear.c, lib/D/Dremove.c: changed black ->
+	  DEFAULT_BG_COLOR for GRASS 5.7 compliance
+
+2003-10-21 13:01  markus
+
+	* display/d.legend/main.c: use of DEFAULT_FG_COLOR/DEFAULT_BG_COLOR
+	  for G5.7 compliance
+
+2003-10-21 11:47  radim
+
+	* vector/v.in.db/main.c: separate z column by comma
+
+2003-10-21 11:45  markus
+
+	* vector/v.in.db/description.html: example added
+
+2003-10-21 10:12  markus
+
+	* imagery/i.ortho.photo/photo.2target/main.c: fixed crash if
+	  monitor not open
+
+2003-10-21 10:10  markus
+
+	* imagery/i.ortho.photo/photo.rectify/cp.c: Ivan Michelazzi: fixed
+	  wrong menu references, message cosmetics
+
+2003-10-21 09:23  markus
+
+	* display/d.barscale/main.c: white -> DEFAULT_FG_COLOR, black ->
+	  DEFAULT_BG_COLOR for 5.7 compliance
+
+2003-10-21 09:20  markus
+
+	* display/d.histogram/main.c: white -> DEFAULT_FG_COLOR for 5.7
+	  compliance, warnings fixed
+
+2003-10-20 16:48  markus
+
+	* vector/v.db.connect/description.html: PG example added
+
+2003-10-20 16:32  markus
+
+	* db/base/db.connect.html: PG example added
+
+2003-10-20 12:23  markus
+
+	* display/drivers/PNG/Graph_Set.c: print always GRASS_TRUECOLOR
+	  status
+
+2003-10-18 14:34  paul
+
+	* vector/v.out.ogr/main.c: Tidier
+
+2003-10-17 16:01  markus
+
+	* raster/r.recode/read_rules.c: message cosmetics to avoid
+	  confusion when user operates on map subregion
+
+2003-10-17 01:25  glynn
+
+	* raster/r.series/c_reg.c: Fix bug in regression code
+
+2003-10-16 14:46  markus
+
+	* tools/build_html_index.html: added sites
+
+2003-10-16 14:15  markus
+
+	* scripts/g.manual/description.html, scripts/g.manual/g.manual:
+	  added print-browser-name hack
+
+2003-10-16 14:11  markus
+
+	* include/Make/Rules.make: fix for htmlscripts target
+
+2003-10-16 14:07  markus
+
+	* display/d.his/description.html: typo fixed
+
+2003-10-16 12:21  markus
+
+	* imagery/i.ortho.photo/photo.rectify/get_wind.c: extend target
+	  region to avoid cut-off of image edges in mountainous terrain
+
+2003-10-16 09:17  markus
+
+	* lib/gis/Makefile: added G_make_location() and
+	  G_compare_projections()
+	  - moved to libgis from r.in.gdal for use in v.in.ogr
+
+2003-10-16 09:16  markus
+
+	* include/gisdefs.h, lib/gis/make_loc.c: added G_make_location()
+	  and G_compare_projections() - moved to libgis from r.in.gdal for
+	  use in v.in.ogr
+
+2003-10-15 11:51  markus
+
+	* lib/init/init.sh: replaced macintosh browser selection to general
+	  solution
+
+2003-10-14 14:02  markus
+
+	* display/d.m/tksys.tcl: fixes for size, still ugly
+
+2003-10-14 13:58  markus
+
+	* general/g.mapsets/g.mapsets.tcl: added Close button
+
+2003-10-14 13:38  markus
+
+	* lib/init/init.sh: added support for Mac OSX browser Safari
+
+2003-10-13 19:24  glynn
+
+	* raster/r.series/c_mode.c: Use return value from sort_cell()
+
+2003-10-13 19:23  glynn
+
+	* raster/r.series/c_ave.c, raster/r.series/c_divr.c,
+	  raster/r.series/c_max.c, raster/r.series/c_median.c,
+	  raster/r.series/c_min.c, raster/r.series/c_mode.c,
+	  raster/r.series/c_reg.c, raster/r.series/c_stddev.c,
+	  raster/r.series/c_sum.c, raster/r.series/c_var.c,
+	  raster/r.series/local_proto.h, raster/r.series/main.c,
+	  raster/r.series/sort_cell.c: Substantially re-write r.series:
+	  Add -n switch to automatically propagate NULLs
+	  Without -n, NULL values are now passed to aggregate functions
+	  Add linear regression slope/offset aggregates
+
+2003-10-11 08:52  markus
+
+	* lib/init/init.sh: removed GISRC file if UNKNOWN is inside
+
+2003-10-10 16:25  markus
+
+	* doc/html_documentation.txt: added howto make HTML documents
+
+2003-10-10 16:22  markus
+
+	* raster/r.terraflow/Makefile, raster/r.terraflow/description.html,
+	  raster/r.terraflow/rterraflow_dir2.png,
+	  raster/r.terraflow/rterraflow_dir3.png: added HTML docs
+
+2003-10-10 16:01  radim
+
+	* db/drivers/postgres/driver.c, db/drivers/postgres/execute.c,
+	  db/drivers/postgres/globals.h, db/drivers/postgres/main.c,
+	  db/drivers/postgres/pgexe.c, db/drivers/postgres/select.c,
+	  db/drivers/postgres/table.c: + numeric type, better error
+	  messages
+
+2003-10-10 15:44  paul
+
+	* lib/proj/convert.c, vector/v.out.ogr/main.c: Better handling of
+	  unprojected XY locations
+
+2003-10-10 14:27  markus
+
+	* vector/v.out.ogr/Makefile, vector/v.out.ogr/main.c: added support
+	  to write PROJECTION info to output
+
+2003-10-10 11:55  radim
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/global.h,
+	  vector/v.in.ogr/main.c: point in island fix, number of features
+	  written as category, statistics printed and written to history
+
+2003-10-10 11:51  radim
+
+	* vector/v.out.ogr/main.c: init string earlier
+
+2003-10-10 11:50  radim
+
+	* vector/v.to.db/main.c: close the map later
+
+2003-10-10 11:49  radim
+
+	* display/d.m/d.m.tcl: + .dm extension
+
+2003-10-10 11:48  radim
+
+	* vector/v.format/v.format.tcl: run better v.build (library path)
+
+2003-10-10 11:46  radim
+
+	* lib/vector/Vlib/sindex.c, lib/vector/diglib/spindex.c: static
+	  function
+
+2003-10-10 09:24  markus
+
+	* raster/r.texture/h_measure.c: more descriptive error message
+
+2003-10-10 08:20  markus
+
+	* raster/r.terraflow/IOStream/include/README: added file to make
+	  cvs up -dP happy
+
+2003-10-10 08:16  markus
+
+	* Makefile: made 'make mixclean' portable (Mac OSX)
+
+2003-10-09 15:53  markus
+
+	* ps/ps.map/vector.h: color.h no longer exists
+
+2003-10-09 09:55  markus
+
+	* aclocal.m4, configure: update for Mac OS X
+
+2003-10-09 08:34  markus
+
+	* display/d.vect/description.html: added GRASSRGB color info with
+	  example
+
+2003-10-08 05:39  markus
+
+	* raster/Makefile, tools/link.conf: r.terraflow added
+	  conditionalized
+
+2003-10-08 05:34  markus
+
+	* raster/r.terraflow/IOStream/lib/Makefile,
+	  raster/r.terraflow/IOStream/lib/src/Makefile,
+	  raster/r.terraflow/Makefile: added
+
+2003-10-07 16:05  paul
+
+	* lib/form/Makefile: XCFLAGS needed for Cygwin
+
+2003-10-07 10:32  paul
+
+	* general/g.setproj/main.c: Put negative zone number in
+	  DEFAULT_WIND for UTM in southern hemisphere
+	  to be consistent with r.in.gdal and coorcnv library
+
+2003-10-07 10:08  paul
+
+	* configure, configure.in: Check GRASS 5.3 source directory
+	  contains CVS HEAD version (suggestion
+	  by Hamish)
+
+2003-10-06 10:13  radim
+
+	* lib/gmath/del2g.c: Conditional compilation
+
+2003-10-04 03:40  hamish
+
+	* display/d.where/main.c: add some checks to avoid ellipsoid
+	  ambiguity
+
+2003-10-03 08:43  radim
+
+	* display/drivers/lib/Makefile: +GISLIB
+
+2003-10-02 08:16  radim
+
+	* lib/db/dbmi_client/Makefile, lib/db/dbmi_driver/Makefile,
+	  lib/db/stubs/Makefile: +LIBGIS
+
+2003-10-02 08:01  radim
+
+	* display/d.zoom/main.c: smap removed
+
+2003-09-30 15:01  radim
+
+	* display/d.vect/area.c, display/d.vect/attr.c,
+	  display/d.vect/dir.c, display/d.vect/label.c,
+	  display/d.vect/plot1.c, vector/v.digit/Makefile,
+	  vector/v.digit/attr.c, vector/v.digit/c_face.c,
+	  vector/v.digit/cats.tcl, vector/v.digit/centre.c,
+	  vector/v.digit/global.h, vector/v.digit/icons/display.cats.gif,
+	  vector/v.digit/line.c, vector/v.digit/main.c,
+	  vector/v.digit/proto.h, vector/v.digit/toolbox.tcl,
+	  vector/v.in.ogr/geom.c, vector/v.in.ogr/global.h,
+	  vector/v.in.ogr/main.c, vector/v.to.db/areas.c,
+	  vector/v.to.db/find.c, vector/v.to.db/global.h,
+	  vector/v.to.db/lines.c, vector/v.to.db/main.c,
+	  vector/v.to.db/parse.c, vector/v.to.db/query.c,
+	  vector/v.to.db/report.c, vector/v.to.db/update.c: multiple cats
+	  for the same field
+
+2003-09-30 14:53  radim
+
+	* lib/vector/Vlib/cats.c: more cats of the same field
+
+2003-09-30 14:53  radim
+
+	* include/Vect.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/sindex.c: spatial index
+
+2003-09-30 14:50  radim
+
+	* display/d.m/vector.tcl: label attributes
+
+2003-09-29 17:03  markus
+
+	* lib/init/gis_set.tcl: fix for create mapset (WIND file must be
+	  copied)
+
+2003-09-29 16:58  markus
+
+	* lib/init/init.sh: we want GUI also for new users
+
+2003-09-29 09:08  radim
+
+	* vector/v.in.ogr/main.c: field name string manipulation fix
+
+2003-09-29 07:39  radim
+
+	* lib/db/stubs/execute.c, lib/db/stubs/transaction.c: transaction
+	  to separate file
+
+2003-09-27 13:21  hamish
+
+	* display/d.geodesic/main.c: fix segfault. [bug #2073]
+	  G_recreate_command() would break as opt->answers[0] wasn't set
+
+2003-09-27 12:09  hamish
+
+	* raster/r.terraflow/IOStream/lib/src/mm_utils.cc: Update for
+	  r.terraflow 1.5 (mostly to make gcc 3.3 happy)
+
+2003-09-27 12:02  hamish
+
+	* raster/r.terraflow/IOStream/include/ami_stream.h,
+	  raster/r.terraflow/IOStream/include/embuffer.h,
+	  raster/r.terraflow/IOStream/include/empq_impl.h: Update for
+	  r.terraflow 1.5 (mostly to make gcc 3.3 happy)
+
+2003-09-27 10:16  hamish
+
+	* raster/r.terraflow/sweep.cc, raster/r.terraflow/sweep.h,
+	  raster/r.terraflow/water.cc, raster/r.terraflow/water.h: Update
+	  for r.terraflow 1.5 (mostly to make gcc 3.3 happy)
+
+2003-09-27 10:02  hamish
+
+	* raster/r.terraflow/stats.cc: Update for r.terraflow 1.5 (mostly
+	  to make gcc 3.3 happy)
+
+2003-09-27 09:55  hamish
+
+	* raster/r.terraflow/main.cc: Update for r.terraflow 1.5 (mostly to
+	  make gcc 3.3 happy)
+
+2003-09-27 09:49  hamish
+
+	* raster/r.terraflow/filldepr.cc, raster/r.terraflow/flow.cc,
+	  raster/r.terraflow/grass2str.h, raster/r.terraflow/grid.cc:
+	  Update for r.terraflow 1.5 (mostly to make gcc 3.3 happy)
+
+2003-09-27 08:41  hamish
+
+	* raster/r.terraflow/direction.h, raster/r.terraflow/fill.cc:
+	  Update for r.terraflow 1.5 (mostly to make gcc 3.3 happy)
+
+2003-09-26 12:29  markus
+
+	* Makefile: made strip target functional
+
+2003-09-26 11:54  markus
+
+	* visualization/nviz/src/Makefile.in: fixed order
+
+2003-09-26 11:49  markus
+
+	* visualization/nviz/src/Makefile.in: $(DBMILIB) needed due to new
+	  $(SITESLIB)
+
+2003-09-26 11:34  hamish
+
+	* display/d.title/main.c: Make default font size something a bit
+	  less gigantic
+
+2003-09-26 10:17  markus
+
+	* lib/vector/diglib/Makefile: added $(COMPILE_FLAGS) in case
+	  ogr_api.h is in a strange place (Mac OS X)
+
+2003-09-26 08:10  markus
+
+	* display/drivers/lib/Makefile: fix for Mac OS X
+
+2003-09-25 09:30  hamish
+
+	* display/d.text.freetype/main.c: improve module, flag, and option
+	  descriptions
+
+2003-09-25 07:57  markus
+
+	* lib/raster/Raster.c, lib/raster/rastergraphicslib.dox: added docs
+	  for R_raster_char()
+
+2003-09-25 05:48  hamish
+
+	* display/d.text.freetype/main.c: Bugfix: use correct pitch for
+	  reading bitmap buffer & fix scrambled letters.
+	  also added some debug code
+
+2003-09-24 15:53  markus
+
+	* lib/raster/rastergraphicslib.dox: activated doxygen docu, section
+	  fixes
+
+2003-09-24 15:48  markus
+
+	* lib/raster/rastergraphicslib.dox: doxygen: added chapter15
+	  progman text
+
+2003-09-24 14:58  markus
+
+	* lib/vector/Doxyfile_arch_html, lib/vector/Doxyfile_arch_latex:
+	  5.1 -> 5.7
+
+2003-09-24 13:36  markus
+
+	* lib/D/Dcell.c: Doxygen style comments merged from Latex Prog.
+	  Man.
+
+2003-09-24 13:17  markus
+
+	* lib/Makefile: order fix
+
+2003-09-24 13:16  markus
+
+	* lib/ogsf/Makefile: fix EXTRA_LIBS for Mac OS X
+
+2003-09-24 13:16  markus
+
+	* lib/sites/Makefile: added EXTRA_LIBS for Mac OS X
+
+2003-09-24 12:37  markus
+
+	* lib/raster/Get_w_box.c, lib/raster/Get_w_line.c,
+	  lib/raster/Get_w_pnt.c, lib/raster/cancel.c, lib/raster/update.c:
+	  Doxygen style comments merged from Latex Programmer's Manual
+	  (based on PERL merge script by Paolo Armani, ITC-irst)
+
+2003-09-24 12:21  markus
+
+	* lib/raster/Box.c, lib/raster/Clr_table.c, lib/raster/Color.c,
+	  lib/raster/Cont_abs.c, lib/raster/Cont_rel.c, lib/raster/Erase.c,
+	  lib/raster/Flush.c, lib/raster/Font.c, lib/raster/Get_t_box.c,
+	  lib/raster/Move_abs.c, lib/raster/Move_rel.c,
+	  lib/raster/Plydts_abs.c, lib/raster/Plydts_rel.c,
+	  lib/raster/Plylne_abs.c, lib/raster/Plylne_rel.c,
+	  lib/raster/Polygn_abs.c, lib/raster/Polygn_rel.c,
+	  lib/raster/RGB_color.c, lib/raster/RGB_ras.c,
+	  lib/raster/Raster.c, lib/raster/Reset_clr.c,
+	  lib/raster/Reset_clrs.c, lib/raster/Returns.c,
+	  lib/raster/Set_win.c, lib/raster/Text.c, lib/raster/Text_size.c,
+	  lib/raster/io.c: Doxygen style comments merged from Latex
+	  Programmer's Manual (based on PERL merge script by Paolo Armani,
+	  ITC-irst)
+
+2003-09-24 11:22  markus
+
+	* configure, configure.in: Merged 5.3 changes from Glynn Clements:
+	  Add configure checks for putenv() and setenv()
+	  Change G_putenv() to use putenv() or setenv() in preference to a
+	  local
+	  implementation
+	  Change prototype of G_putenv()
+
+2003-09-24 11:20  markus
+
+	* include/Make/Platform.make.in: cosmetics
+
+2003-09-24 11:13  markus
+
+	* include/config.h.in, include/gisdefs.h: merged 5.3 changs from
+	  Glynn Clements:
+	  Add configure checks for putenv() and setenv()
+	  Change G_putenv() to use putenv() or setenv() in preference to a
+	  local
+	  implementation
+	  Change prototype of G_putenv()
+
+2003-09-24 08:22  hamish
+
+	* display/d.text.freetype/test.input: Change font to B&H Luxi from
+	  Korean.
+	  note fonts paths are hardcoded in ./freetypecap
+
+2003-09-24 02:58  glynn
+
+	* lib/gis/putenv.c: Add configure checks for putenv() and setenv()
+	  Change G_putenv() to use putenv() or setenv() in preference to a
+	  local
+	  implementation
+	  Change prototype of G_putenv()
+
+2003-09-23 16:40  markus
+
+	* Makefile: added disclaimer and strip target
+
+2003-09-23 15:15  radim
+
+	* db/drivers/postgres/execute.c, db/drivers/postgres/globals.h,
+	  include/dbmi.h, include/proto_dbmi.h,
+	  lib/db/dbmi_client/c_execute.c, lib/db/dbmi_driver/d_execute.c,
+	  lib/db/dbmi_driver/procs.h, lib/db/stubs/execute.c,
+	  vector/v.to.db/update.c, vector/v.what.rast/main.c: transaction
+
+2003-09-23 15:10  markus
+
+	* binaryInstall.src: fixed startup-script name advertising
+
+2003-09-23 14:11  markus
+
+	* imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.init/Makefile: fixed order for Mac OS
+	  X static compilation
+
+2003-09-23 12:48  radim
+
+	* lib/form/form.c: UTF fix
+
+2003-09-23 12:19  radim
+
+	* lib/db/sqlp/test/test: ;
+
+2003-09-23 10:28  radim
+
+	* lib/sites/sites.c: attributes better
+
+2003-09-23 10:22  radim
+
+	* sites/s.in.ascii/main.c, sites/s.out.ascii/main.c,
+	  vector/v.surf.idw/main.c: parameter description
+
+2003-09-23 09:14  radim
+
+	* Makefile, display/d.zoom/main.c, general/g.region/cmd/main.c,
+	  include/P_site.h, include/vect/dig_structs.h, lib/Makefile,
+	  lib/gis/Makefile, lib/gis/sites.c, lib/ogsf/Gp3.c,
+	  lib/rst/interp_float/Makefile, lib/rst/interp_float/input2d.c,
+	  lib/sites, lib/sites/Makefile, lib/sites/sites.c, sites/Makefile,
+	  sites/s.in.ascii/Makefile, sites/s.in.ascii/main.c,
+	  sites/s.out.ascii, sites/s.out.ascii/Makefile,
+	  sites/s.out.ascii/main.c, tools/link.conf, vector/Makefile,
+	  vector/v.in.sites/main.c, vector/v.random,
+	  vector/v.random/Makefile, vector/v.random/main.c,
+	  vector/v.surf.idw, vector/v.surf.idw/Makefile,
+	  vector/v.surf.idw/main.c, vector/v.surf.idw/proto.h,
+	  vector/v.surf.idw/read_sites.c, vector/v.surf.rst/Makefile,
+	  vector/v.surf.rst/main.c, visualization/nviz/src/Makefile.in:
+	  sites
+
+2003-09-23 09:11  radim
+
+	* raster/Makefile: sites must be updated
+
+2003-09-23 08:54  radim
+
+	* include/Make/Grass.make.in: SITESLIB
+
+2003-09-23 06:14  hamish
+
+	* lib/init/init.sh: replace reference to g.help with g.manual
+
+2003-09-22 20:24  markus
+
+	* lib/Makefile: fixed linkm position
+
+2003-09-22 16:32  markus
+
+	* imagery/i.smap/bouman/Makefile: added dep for Mac OS X
+
+2003-09-22 16:23  markus
+
+	* general/manage/lib/Makefile,
+	  imagery/i.ortho.photo/libes/Makefile: added dep for Mac OS X
+
+2003-09-22 15:32  markus
+
+	* db/drivers/dialog/Makefile, lib/ogsf/Makefile: added dep for Mac
+	  OS X
+
+2003-09-22 15:20  markus
+
+	* lib/form/Makefile: added EXTRA_LIBS for Mac OSX
+
+2003-09-22 15:17  markus
+
+	* aclocal.m4, configure: next try for Mac OS X compiler flags
+
+2003-09-22 15:14  hamish
+
+	* raster/r.sun/main.c: fix Max Latitude to work for the southern
+	  hemisphere. (thanks to Jaro)
+
+2003-09-22 15:14  markus
+
+	* lib/Makefile: fixed order to satisfy dependencies (Mac OSX)
+
+2003-09-22 15:12  markus
+
+	* lib/D/Makefile, lib/Makefile, lib/db/Makefile,
+	  lib/db/dbmi_base/Makefile, lib/db/dbmi_client/Makefile,
+	  lib/db/dbmi_driver/Makefile, lib/db/stubs/Makefile,
+	  lib/display/Makefile, lib/edit/Makefile, lib/gis/Makefile,
+	  lib/gmath/Makefile, lib/imagery/Makefile, lib/ogsf/Makefile,
+	  lib/proj/Makefile, lib/raster/Makefile,
+	  lib/rst/interp_float/Makefile, lib/segment/Makefile,
+	  lib/symbol/Makefile, lib/vask/Makefile, lib/vector/Vlib/Makefile,
+	  lib/vector/diglib/Makefile: added EXTRA_LIBS for Mac OSX
+
+2003-09-22 14:59  hamish
+
+	* raster/r.sun/main.c: minor change to error message if no output
+	  maps were requested
+
+2003-09-22 14:48  hamish
+
+	* raster/r.sun/main.c: - better description for time= option
+	  - replaced some printf()'s with G_fatal_error()'s
+	  - added checks to prevent mixing Mode 1 & 2 options
+	  - added stdout status message to announce using either Mode 1 or
+	  2
+	  - fix Seg Fault when beam_rad= was not used
+	  * Note incorrect map titles are written to some history files.
+	  Harmless?
+	  - add "Local (solar) Time" to history when time= is set (mode 1)
+
+2003-09-22 14:24  markus
+
+	* lib/db/dbmi_base/whoami.c: added missing header
+
+2003-09-22 14:08  markus
+
+	* doc/debugging.txt: Mac OS X: ldd -> otool -l
+
+2003-09-22 13:01  markus
+
+	* lib/bitmap/Makefile: added EXTRA_LIBS to make Mac OS X compiler
+	  happy
+
+2003-09-22 07:53  radim
+
+	* lib/init/init.sh: export LD_LIBRARY_PATH
+
+2003-09-19 09:25  markus
+
+	* vector/v.in.ascii/description.html: added new example
+
+2003-09-18 14:18  markus
+
+	* configure: Mac OS X: added '-r' to SHLIB_LD to get relocation
+	  information in the output files
+
+2003-09-18 12:45  paul
+
+	* lib/proj/get_proj.c: Add +no_defs in case PROJ gets confused by
+	  no rf value (PROJ bug 386)
+
+2003-09-18 09:33  markus
+
+	* aclocal.m4: Mac OS X: added '-r' to SHLIB_LD to get relocation
+	  information in the output files
+
+2003-09-18 07:19  radim
+
+	* ps/ps.map/Makefile: + PROJINC
+
+2003-09-17 19:38  markus
+
+	* lib/vector/Vlib/line.c: fix
+
+2003-09-16 19:49  paul
+
+	* lib/proj/Makefile: Missing (empty) target for NAD2BIN and added
+	  note for future improvement
+
+2003-09-16 16:04  markus
+
+	* display/d.vect/area.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c: added individual area fill colors
+
+2003-09-16 09:13  markus
+
+	* include/Vect.h, lib/vector/Vlib/area.c, lib/vector/Vlib/line.c:
+	  added Vect_get_line_cat()
+
+2003-09-15 16:20  markus
+
+	* lib/vector/Vlib/area.c: added brief description
+
+2003-09-15 16:15  markus
+
+	* include/Vect.h, lib/vector/Vlib/area.c: added Vect_get_area_cat()
+
+2003-09-15 08:15  radim
+
+	* lib/db/dbmi_client/start.c: setenv -> putenv 2
+
+2003-09-15 08:14  radim
+
+	* lib/db/dbmi_client/start.c: setenv -> putenv
+
+2003-09-12 16:33  markus
+
+	* INSTALL: fixes from John Gillette
+
+2003-09-12 15:00  markus
+
+	* INSTALL: explained targets
+
+2003-09-12 14:48  markus
+
+	* Makefile: added 'srcdist' target which copies the linked 5.3.x
+	  files into the tarball
+
+2003-09-12 11:41  markus
+
+	* lib/init/init.sh: activated GUI startup
+
+2003-09-12 10:15  markus
+
+	* lib/init/gis_set.tcl: version fix
+
+2003-09-12 10:15  markus
+
+	* lib/init/Makefile, lib/init/gis_set.tcl: gis_set.tcl added
+
+2003-09-12 09:17  paul
+
+	* configure, configure.in: Move PROJ test earlier in sequence and
+	  make it mandatory
+
+2003-09-11 17:34  markus
+
+	* tools/build_html_index.html: 5.1 -> 5.7
+
+2003-09-11 16:12  markus
+
+	* AUTHORS, Doxyfile, INSTALL, README, TODO, binaryInstall.src,
+	  db/drivers/README, display/d.m/d.m.tcl, display/d.m/print.tcl,
+	  doc/debugging.txt, doc/migration_50_51.txt,
+	  doc/vector/grass51atts.fig, doc/vector/grass51concept.fig,
+	  grass51refman.dox, include/Make/Grass.make.in, include/VERSION,
+	  include/vect/dig_structs.h, lib/db/Doxyfile_arch_latex,
+	  lib/db/Makefile, lib/db/dbmi.dox, lib/db/dbmi_base/dbmscap.c,
+	  lib/gis/Makefile, lib/init/init.sh,
+	  lib/vector/Doxyfile_arch_latex, lib/vector/Makefile,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/build_post.c, lib/vector/Vlib/build_shp.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_nat.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/close_shp.c, lib/vector/Vlib/constraint.c,
+	  lib/vector/Vlib/error.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/find.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/level.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/open_ogr.c,
+	  lib/vector/Vlib/open_shp.c, lib/vector/Vlib/overlap.c,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/read_shp.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_ogr.c,
+	  lib/vector/Vlib/rewind_shp.c, lib/vector/Vlib/window.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/allocation.c, lib/vector/diglib/angle.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/inside.c,
+	  lib/vector/diglib/line_dist.c, lib/vector/diglib/linecros.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_node.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/poly.c, lib/vector/diglib/port_test.c,
+	  lib/vector/diglib/portable.c, lib/vector/diglib/prune.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/struct_alloc.c,
+	  lib/vector/diglib/test.c, lib/vector/vector_arch.dox,
+	  scripts/g.manual/g.manual,
+	  scripts/v.shape.regist/v.shape.register,
+	  scripts/v.shape.regist/v.shape.unregister, tools/cpbin,
+	  tools/cpbin.conf, tools/g51.extract_description.sh, tools/link,
+	  tools/link.conf, vector/v.build.polylines/main.c,
+	  vector/v.clean/test/v.rand.poly, vector/v.distance/main.c,
+	  vector/v.extract/main.c, vector/v.in.sites/main.c,
+	  vector/v.info/main.c, vector/v.patch/main.c,
+	  vector/v.transform/main.c: boosted 5.1 -> 5.7
+
+2003-09-11 14:39  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/winname.h: not needed
+
+2003-09-11 12:58  markus
+
+	* lib/init/init.sh: added -gui (-tcltk alias) as no new user can
+	  remember -tcltk
+
+2003-09-11 10:14  markus
+
+	* configure, configure.in, include/config.h.in: merged GLw fixes
+	  from 5.0, polished GDAL message
+
+2003-09-11 00:27  glynn
+
+	* raster3d/r3.showdspf/main_ogl.c: r3.showdspf.openGL fixes:
+	  Allow for <X11/GLw/GLwMDrawA.h>
+	  Define WAIT_ANY if not defined
+
+2003-09-10 13:51  markus
+
+	* imagery/i.ortho.photo/README: updated by Ivan Michelazzi
+	  <michelazzi at itc.it>
+
+2003-09-10 12:26  markus
+
+	* scripts/r.out.gdal/description.html: added list of supported
+	  formats
+
+2003-09-10 12:20  markus
+
+	* scripts/r.out.gdal/r.out.gdal: formats in alphabetical order
+
+2003-09-09 14:06  markus
+
+	* imagery/i.ortho.photo/BUGS: TODO added
+
+2003-09-09 14:05  markus
+
+	* imagery/i.ortho.photo/libes/conz_points.c: added sleep to make
+	  warnings legible
+
+2003-09-09 13:09  markus
+
+	* imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/photo.init/description.html: fixes
+
+2003-09-09 11:46  markus
+
+	* imagery/i.ortho.photo/photo.init/description.html: added
+	  important notes
+
+2003-09-09 11:44  hamish
+
+	* display/d.legend/main.c: add use= option for discrete category
+	  legends
+
+2003-09-09 10:54  hamish
+
+	* display/d.legend/main.c: add ability to stretch range= to limits
+	  of colr file.
+	  (limit is from %first line of colr, not the body)
+
+2003-09-09 10:02  markus
+
+	* imagery/i.ortho.photo/BUGS: added BUGS
+
+2003-09-08 16:14  paul
+
+	* lib/proj/Makefile: Fix an oversight about nad2bin
+	  availability---still need to get this right
+	  for cross-compiling some time
+
+2003-09-08 14:58  markus
+
+	* imagery/i.ortho.photo/photo.init/description.html: explanations
+	  added
+
+2003-09-08 11:59  markus
+
+	* include/gis.h, include/gisdefs.h: GRASS_copyright changes,
+	  G_fatal_error, G_warning and new definition of DEFAULT_FG_COLOR,
+	  DEFAULT_BG_COLOR for the display modules
+
+2003-09-08 11:38  markus
+
+	* lib/db/sqlp/description.html: sub-clauses in brackets
+
+2003-09-07 20:06  markus
+
+	* Doxyfile: added FILE-PATTERN *.c for proj lib documentation
+
+2003-08-31 17:17  paul
+
+	* general/g.proj/Makefile, include/Make/Platform.make.in: Include
+	  GDAL CFLAGS in PROJ includes now that gproj lib uses GDAL/OGR
+
+2003-08-31 17:13  paul
+
+	* configure, configure.in, display/drivers/Makefile,
+	  include/Make/Platform.make.in, vector/Makefile: Fix conditional
+	  compilation especially for OGR and add it for GD
+
+2003-08-31 16:47  paul
+
+	* general/g.proj/main.c: Missing newlines
+
+2003-08-31 16:44  paul
+
+	* include/Make/Grass.make.in, include/Make/Stlib.make: Fix
+	  dependencies for static libraries
+
+2003-08-29 12:08  glynn
+
+	* lib/gis/color_look.c: Fix rounding of min/max fields to match
+	  color_org.c
+
+2003-08-28 10:23  paul
+
+	* general/Makefile: Added g.proj
+
+2003-08-28 10:15  paul
+
+	* general/g.proj, general/g.proj/Makefile, general/g.proj/main.c,
+	  include/Make/Grass.make.in, include/gprojects.h,
+	  lib/proj/Makefile, lib/proj/convert.c, lib/proj/datum.c,
+	  lib/proj/do_proj.c, lib/proj/ellipse.c, lib/proj/get_proj.c,
+	  lib/proj/nad2bin.c, tools/link.conf: Kind of a new gproj library
+	  for 5.7.x and a new module to test it
+
+2003-08-28 09:52  markus
+
+	* ps/ps.map/description.html: added pixel explanation
+
+2003-08-26 16:32  markus
+
+	* vector/v.in.ogr/description.html: TIGER example added
+
+2003-08-26 14:28  paul
+
+	* include/Make/Grass.make.in, include/Make/Stlib.make: Libraries
+	  should only be dependencies when using static libraries so move
+	  them to Stlib.make (should greatly speed up re-compilation)
+
+2003-08-26 14:14  markus
+
+	* imagery/i.ortho.photo/libes/georef.c,
+	  imagery/i.ortho.photo/libes/orthophoto.h: removed I_georef as
+	  identical with libgrass_I
+
+2003-08-26 13:51  paul
+
+	* raster/r.fill.dir/tinf.h: Improve fix so r.fill.dir compiles
+
+2003-08-26 13:40  markus
+
+	* imagery/i.ortho.photo/photo.2image/equ.c,
+	  imagery/i.ortho.photo/photo.2target/equ.c,
+	  imagery/i.ortho.photo/photo.rectify/equ.c,
+	  imagery/i.ortho.photo/photo.rectify/ps_cp.c: reverted clone
+	  removal as being more complicated than expected
+
+2003-08-26 13:29  markus
+
+	* imagery/i.ortho.photo/libes/georef.c: reverted clone removal as
+	  being more complicated than expected
+
+2003-08-25 16:33  markus
+
+	* db/drivers/mysql/globals.h: fixed ifdef
+
+2003-08-25 16:17  markus
+
+	* db/drivers/odbc/globals.h: fixed ifdef
+
+2003-08-25 15:21  radim
+
+	* vector/Makefile: v.to.points
+
+2003-08-25 15:21  radim
+
+	* vector/v.to.points, vector/v.to.points/Makefile,
+	  vector/v.to.points/main.c: new
+
+2003-08-25 14:08  markus
+
+	* configure, configure.in: test added for OGR support as GDAL
+	  without OGR support exists
+
+2003-08-25 14:04  markus
+
+	* vector/Makefile: OGR_LIB used OGR test (v.in/out.ogr) as GDAL
+	  without OGR support exists
+
+2003-08-25 14:02  markus
+
+	* include/Make/Platform.make.in: OGR_LIB added for vector/Makefile
+	  test (v.in/out.ogr) as GDAL without OGR support exists
+
+2003-08-25 14:01  markus
+
+	* raster/Makefile: r.series added
+
+2003-08-25 14:00  markus
+
+	* raster/r.series/Makefile, raster/r.series/description.html: added
+
+2003-08-25 13:57  markus
+
+	* tools/link.conf: added r.series
+
+2003-08-25 12:21  markus
+
+	* include/Make/Shlib.make: fixed variable names
+
+2003-08-25 11:19  markus
+
+	* display/d.colors/externs.h, display/d.colors/set_sigs.c:
+	  cosmetics
+
+2003-08-25 11:18  markus
+
+	* imagery/i.ortho.photo/libes/georef.c,
+	  imagery/i.ortho.photo/photo.2image/equ.c,
+	  imagery/i.ortho.photo/photo.2target/equ.c,
+	  imagery/i.ortho.photo/photo.rectify/equ.c,
+	  imagery/i.ortho.photo/photo.rectify/ps_cp.c: removed clone
+
+2003-08-25 10:20  markus
+
+	* raster/r.sunmask/main.c: fixed variable name conflict (gcc
+	  -fno-common finds problems like that)
+
+2003-08-25 10:02  markus
+
+	* raster/r.drain/tinf.c, raster/r.drain/tinf.h,
+	  raster/r.fill.dir/tinf.c, raster/r.fill.dir/tinf.h,
+	  raster/r.le/r.le.patch/main.c, raster/r.le/r.le.patch/patch.h,
+	  raster/r.le/r.le.setup/main.c, raster/r.le/r.le.setup/setup.h:
+	  multiple inclusions fixed
+
+2003-08-25 09:28  markus
+
+	* imagery/i.ortho.photo/photo.elev/elev.h,
+	  imagery/i.ortho.photo/photo.elev/main.c: multiple inclusions
+	  fixed
+
+2003-08-25 09:22  markus
+
+	* display/d.rast.edit/menu.c, display/d.rast.edit/mk_new_layer.c,
+	  display/d.rast.edit/mk_tmp_file.c: fixed GLOBAL multiple defined
+
+2003-08-25 09:14  markus
+
+	* display/d.colors/externs.h, display/d.colors/set_sigs.c: fixed
+	  for Mac OSX
+
+2003-08-25 09:11  markus
+
+	* db/drivers/dbf/globals.h, db/drivers/postgres/globals.h: fix
+
+2003-08-25 09:01  markus
+
+	* lib/db/sqlp/alloc.c, lib/db/sqlp/print.c: have SQLP_MAIN only
+	  once
+
+2003-08-25 04:23  hamish
+
+	* raster/r.what/description.html: add example for east_north
+	  option; cleanup
+
+2003-08-23 06:52  hamish
+
+	* raster/r.in.poly/description.html: merge 5.0 changes
+
+2003-08-23 06:20  hamish
+
+	* display/d.colortable/description.html: merge changes from 5.0
+
+2003-08-23 06:15  hamish
+
+	* display/d.rgb/description.html: merge updates from 5.0
+
+2003-08-23 05:05  markus
+
+	* lib/db/sqlp/Makefile: fix as /docs/html doesn't exist yet at this
+	  early state of compilation
+
+2003-08-22 12:12  markus
+
+	* tools/build_html_index.html: SQL notes added
+
+2003-08-22 12:05  markus
+
+	* lib/db/sqlp/Makefile, lib/db/sqlp/description.html: docs added
+
+2003-08-22 11:43  markus
+
+	* include/sqlp.h: reverted nonsense change
+
+2003-08-22 11:30  markus
+
+	* include/sqlp.h: Mac OS X: extern sqlpStmt to avoid 'multiple
+	  symbols ... in section (__DATA,__common) for libgrass_sqlp'
+
+2003-08-22 10:21  markus
+
+	* aclocal.m4, configure: Mac OS X: SHLIB_CFLAGS=-fno-common
+
+2003-08-22 10:01  markus
+
+	* configure: Mac OS X: -dylib -> -dynamiclib
+
+2003-08-22 08:53  alex
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/sql.c: String pattern match operator '~" added
+
+2003-08-22 08:52  alex
+
+	* lib/external/bwidget/dragsite.tcl: catching annoying '_state not
+	  found' error
+
+2003-08-22 08:50  markus
+
+	* aclocal.m4: URL added: Static linking is not supported an Mac OS
+	  X
+
+2003-08-21 10:17  markus
+
+	* aclocal.m4: MacOSX: works now for DateTime, but not yet for
+	  libgis
+
+2003-08-21 08:42  markus
+
+	* include/Make/Grass.make.in: switched order for MacOSX, to get
+	  --with-includes='/usr/X11R6/include /sw/include' into right
+	  position
+
+2003-08-20 13:38  paul
+
+	* aclocal.m4, configure, configure.in, db/drivers/dialog/Makefile,
+	  general/manage/cmd/Makefile, include/Make/Grass.make.in,
+	  include/Make/Lib.make, include/Make/Platform.make.in,
+	  include/Make/Shlib.make, vector/v.digit/Makefile: Some fixes /
+	  changes to compiling:
+	  - Make --enable-shared=no result in static libraries (useful for
+	  Cygwin)
+	  - Make linking line work on IRIX (add LD_SEARCH_FLAGS)
+	  - Change to compile o32 binaries for IRIX 6.2 instead of n32 as
+	  this is what
+	  the old configure script and almost all other free software
+	  except Tcl/Tk does
+	  - Some other Makefile changes to help compilation on Cygwin
+	  - Delete some stuff from aclocal.m4 that didn't seem relevant and
+	  removed
+	  \$\{DBGX\} which seemed to be causing problems. More work needed
+	  to
+	  fully make use of the new aclocal.m4 macros
+
+2003-08-20 09:54  markus
+
+	* raster/r.colors/local_proto.h, raster/r.colors/main.c,
+	  raster/r.colors/rules.c: quiet flag
+
+2003-08-20 08:24  radim
+
+	* vector/v.buffer/main.c: better identify area in/out
+
+2003-08-20 08:22  radim
+
+	* lib/vector/Vlib/buffer.c: better buffer
+
+2003-08-19 14:59  markus
+
+	* vector/v.extract/main.c: message cosmetics
+
+2003-08-19 13:48  markus
+
+	* vector/v.in.ogr/main.c: change: now just removing a leading '_'
+	  in column name
+
+2003-08-19 12:40  paul
+
+	* vector/v.overlay/main.c: Hopefully obvious bugfix (fixes "missing
+	  size for array 'pre'" compile error
+	  on IRIX)
+
+2003-08-19 08:49  markus
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c: update
+	  for SDTS: fixed leading '_' character in column name(s)
+
+2003-08-18 20:32  markus
+
+	* vector/v.out.ogr/main.c: added OGR_list_write_drivers() to
+	  display drivers in help text, some warnings fixed
+
+2003-08-18 16:59  markus
+
+	* raster/r.los/delete.c, raster/r.los/main.c,
+	  raster/r.los/mark_pts.c, raster/r.los/pts_elim.c: updated to FP
+	  (please validate)
+
+2003-08-18 13:40  markus
+
+	* vector/v.category/description.html: added new example
+
+2003-08-18 13:32  markus
+
+	* vector/v.clean/main.c: fix to avoid empty tool string being
+	  accepted (could be also a parser bug)
+
+2003-08-15 12:25  paul
+
+	* lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/dangles.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/snap.c: Fix
+	  comments and return types
+
+2003-08-14 15:50  markus
+
+	* ps/ps.map/description.html: description cosmetics
+
+2003-08-14 14:27  radim
+
+	* vector/Makefile, vector/v.buffer, vector/v.buffer/Makefile,
+	  vector/v.buffer/description.html, vector/v.buffer/main.c:
+	  v.buffer
+
+2003-08-14 14:25  radim
+
+	* include/Vect.h, lib/vector/Vlib/buffer.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/line.c: buffer
+
+2003-08-14 14:23  radim
+
+	* ps/ps.map/local_proto.h, ps/ps.map/ps_vlines.c, ps/ps.map/vect.c:
+	  parallel to library
+
+2003-08-14 12:26  markus
+
+	* ps/ps.map/do_scalebar.c: fixed PS error, polished code layout
+	  with
+	  indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb -nce
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 do_scalebar.c
+
+2003-08-14 10:53  radim
+
+	* vector/v.in.ogr/main.c: removed driver name
+
+2003-08-14 08:58  markus
+
+	* display/d.m/vector.tcl: commented xref/yref as it is offending
+	  ps.map output
+
+2003-08-13 16:35  markus
+
+	* vector/v.format/v.format.tcl: predefined map scale to avoid 1:0
+	  scale when user doesn't enter anything
+
+2003-08-13 15:35  markus
+
+	* raster/r.los/main.c: FP warning added
+
+2003-08-13 14:58  markus
+
+	* vector/v.distance/description.html: grammar fix
+
+2003-08-13 14:15  radim
+
+	* vector/v.overlay/main.c: +operator
+
+2003-08-13 13:52  markus
+
+	* scripts/Makefile: v.distance.connect removed as no longer needed
+	  as v.distance does the job now
+
+2003-08-13 13:51  markus
+
+	* scripts/v.distance.connect: removed as no longer needed as
+	  v.distance does the job now
+
+2003-08-13 13:08  markus
+
+	* vector/v.net.steiner/main.c: tcat is required (segfault
+	  otherwise)
+
+2003-08-13 13:07  markus
+
+	* vector/v.distance/description.html, vector/v.distance/main.c:
+	  cosmetics, new example added
+
+2003-08-13 10:24  markus
+
+	* vector/v.format/description.html, vector/v.format/v.format:
+	  better use 'register' instead of 'import' as only v.in.ogr can
+	  import SHAPE
+
+2003-08-13 09:45  radim
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: type option, z
+	  and t flag
+
+2003-08-13 09:23  markus
+
+	* vector/v.build.polylines/description.html,
+	  vector/v.build/description.html,
+	  vector/v.category/description.html,
+	  vector/v.clean/description.html,
+	  vector/v.convert/description.html,
+	  vector/v.database/description.html,
+	  vector/v.db.connect/description.html,
+	  vector/v.digit/description.html,
+	  vector/v.distance/description.html,
+	  vector/v.extract/description.html,
+	  vector/v.format/description.html,
+	  vector/v.in.ascii/description.html,
+	  vector/v.in.dwg/description.html,
+	  vector/v.in.ogr/description.html,
+	  vector/v.in.sites/description.html,
+	  vector/v.info/description.html, vector/v.label/description.html,
+	  vector/v.net.path/description.html,
+	  vector/v.net/description.html,
+	  vector/v.out.ascii/description.html,
+	  vector/v.out.ogr/description.html,
+	  vector/v.out.pov/description.html,
+	  vector/v.overlay/description.html,
+	  vector/v.patch/description.html, vector/v.segment/main.c,
+	  vector/v.surf.rst/description.html,
+	  vector/v.to.rast/description.html,
+	  vector/v.transform/description.html,
+	  vector/v.type/description.html: docs cosmetics
+
+2003-08-13 07:47  radim
+
+	* vector/v.in.ascii/a2b.c: G_*alloc
+
+2003-08-13 07:35  radim
+
+	* vector/v.distance/main.c: dig_ -> Vect_
+
+2003-08-12 15:45  radim
+
+	* vector/v.db.connect/main.c: delete link
+
+2003-08-12 15:45  radim
+
+	* include/Vect.h, include/vect/dig_defines.h,
+	  include/vect/dig_externs.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/break_lines.c,
+	  lib/vector/Vlib/break_polygons.c, lib/vector/Vlib/bridges.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/build_post.c,
+	  lib/vector/Vlib/build_shp.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_post.c, lib/vector/Vlib/dangles.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/intersect.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/snap.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/plus.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/spindex.c, vector/v.build/main.c,
+	  vector/v.clean/main.c, vector/v.clean/proto.h,
+	  vector/v.digit/main.c, vector/v.in.ogr/geom.c,
+	  vector/v.in.ogr/main.c: build a cleaning functions
+
+2003-08-12 15:44  radim
+
+	* vector/v.database/main.c: set also default driver/db for db.*
+
+2003-08-12 15:41  radim
+
+	* general/manage/lib/do_copy.c: output enabled
+
+2003-08-12 15:40  radim
+
+	* display/d.what.vect/main.c, display/d.what.vect/what.c,
+	  display/d.what.vect/what.h: topo output
+
+2003-08-11 17:11  markus
+
+	* display/drivers/PNG/Makefile,
+	  display/drivers/PNG/description.html: description added
+
+2003-08-09 15:57  hamish
+
+	* raster/r.fill.dir/ppupdate.c: this fixes the segfault, but are
+	  array calls still off by one?
+
+2003-08-09 15:29  markus
+
+	* vector/v.net.alloc/description.html,
+	  vector/v.net.iso/description.html,
+	  vector/v.net.salesman/description.html,
+	  vector/v.net.steiner/description.html: added cosmetics
+
+2003-08-08 05:02  hamish
+
+	* vector/v.vol.rst/README: sites_list -> site_lists
+
+2003-08-06 05:42  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: * flip FP legend so biggest value is at
+	  top.
+	  * move single-value error message to a more logical spot.
+
+2003-08-06 03:19  hamish
+
+	* ps/ps.map/ps_fclrtbl.c: bug fix: If FP raster only had one value,
+	  ps.map would get stuck
+
+2003-08-05 20:48  markus
+
+	* tools/build_html_index.html: small fix
+
+2003-08-05 20:28  markus
+
+	* configure: removed debug output
+
+2003-08-05 16:13  markus
+
+	* aclocal.m4, configure, configure.in: tried to improve Makefile
+	  system to also support MacOSX (maybe also helps for IRIX etc).
+	  Hope it doesn't break anything
+
+2003-08-05 16:11  markus
+
+	* include/Make/Grass.make.in, include/Make/Platform.make.in,
+	  include/Make/Shlib.make: tried to improve Makefile system to also
+	  support MacOSX
+
+2003-08-05 16:10  markus
+
+	* lib/db/dbmi_client/copy_tab.c: closedb() ->
+	  db_close_database_shutdown_driver()
+
+2003-08-05 13:56  markus
+
+	* lib/vector/dglib/examples/components.c,
+	  lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/cr_large_graph.c,
+	  lib/vector/dglib/examples/delnode.c,
+	  lib/vector/dglib/examples/minspan.c,
+	  lib/vector/dglib/examples/shortest_path.c,
+	  lib/vector/dglib/examples/span.c,
+	  lib/vector/dglib/examples/unflatten.c,
+	  lib/vector/dglib/examples/view.c, lib/vector/dglib/graph.c,
+	  lib/vector/dglib/graph_v1.c, lib/vector/dglib/graph_v2.c,
+	  lib/vector/dglib/heap.c, lib/vector/dglib/tree.c: fixed malloc.h
+	  -> stdlib.h (needed for MacOSX
+
+2003-08-05 13:47  markus
+
+	* lib/vector/rtree/index.c, lib/vector/rtree/node.c: fixed malloc.h
+	  -> stdlib.h
+
+2003-08-04 11:48  markus
+
+	* imagery/i.ortho.photo/photo.elev/Makefile,
+	  imagery/i.ortho.photo/photo.target/Makefile: fix
+
+2003-08-04 11:39  markus
+
+	* lib/db/Makefile, lib/vector/Makefile: doxygen hack added to make
+	  Acroread's search engine happy, also reported to doxygen
+	  maintainers
+
+2003-08-04 11:36  markus
+
+	* lib/vector/Vlib/field.c: fixed comment
+
+2003-08-03 07:19  hamish
+
+	* raster/r.sun/main.c: Write parameters to raster history/comments
+	  instead of r.sun_out.txt
+
+2003-08-02 03:11  hamish
+
+	* raster/wildfire/r.spread/prob_invsqr/README: added small file to
+	  make 'cvs -dP' happy
+
+2003-08-01 12:15  radim
+
+	* vector/Makefile: +v.overlay
+
+2003-08-01 12:15  radim
+
+	* vector/v.overlay, vector/v.overlay/Makefile,
+	  vector/v.overlay/description.html, vector/v.overlay/main.c: new
+	  module
+
+2003-08-01 10:11  markus
+
+	* raster/r.le/r.le.setup/polytocell/README: added small file to
+	  make 'cvs -dP' happy
+
+2003-08-01 09:36  radim
+
+	* vector/v.in.ogr/main.c: typo
+
+2003-08-01 05:59  radim
+
+	* vector/v.clean/proto.h: new tools
+
+2003-07-31 13:39  radim
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: +cleaning
+	  functions, multiple layers
+
+2003-07-31 13:34  radim
+
+	* vector/v.clean/bpol.c, vector/v.clean/break.c,
+	  vector/v.clean/main.c, vector/v.clean/rmdupl.c,
+	  vector/v.clean/snap.c: cleaning functions moved to library, new
+	  tools
+
+2003-07-31 13:31  radim
+
+	* lib/vector/Vlib/build_shp.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_post.c, lib/vector/Vlib/close_shp.c: free
+	  better memory
+
+2003-07-31 13:31  radim
+
+	* lib/vector/Vlib/break_lines.c, lib/vector/Vlib/break_polygons.c,
+	  lib/vector/Vlib/bridges.c, lib/vector/Vlib/dangles.c,
+	  lib/vector/Vlib/remove_duplicates.c, lib/vector/Vlib/snap.c: +
+	  cleaning functions
+
+2003-07-31 13:28  radim
+
+	* include/Vect.h: +cleaning functions
+
+2003-07-31 12:48  markus
+
+	* vector/v.to.db/update.c: fixed crash in case of missing dbln link
+
+2003-07-31 12:21  markus
+
+	* vector/v.to.db/parse.c: fixed typo
+
+2003-07-31 10:03  markus
+
+	* db/drivers/postgres/globals.h, db/drivers/postgres/table.c: added
+	  OIDs to support select from geomtry_column
+
+2003-07-31 07:23  hamish
+
+	* raster/r.sun/main.c: remove 3 unused variables, minor cleanup
+
+2003-07-31 06:29  hamish
+
+	* raster/r.sun/main.c: Ran indent as it was a mess.
+	  $ indent -nbad -bap -bbb -nbbo -nbc -br -bli1 -bls -cbi0 -ncdb
+	  -nce \
+	  -ci4 -cli0 -ncs -d0 -di0 -fc1 -nfca -hnl -i4 -ip4 -l80 -lc80 -lp
+	  -npcs \
+	  -pi4 -nprs -npsl -sbi0 -sc -nsob -ss -ts8 main.c
+	  
+	  indent: main.c:1261: Warning:old style assignment ambiguity in
+	  "=-". Assuming "= -"
+
+2003-07-28 09:33  paul
+
+	* lib/gis/datum.table: Add nzgd2k
+
+2003-07-25 08:37  markus
+
+	* vector/v.in.ogr/main.c: message cosmetics
+
+2003-07-24 08:18  hamish
+
+	* display/d.where/main.c: module->description doesn't get a \n
+	  after all.
+
+2003-07-24 07:27  markus
+
+	* ps/ps.map/description.html: fixed colortable in example, now ok
+
+2003-07-24 07:23  hamish
+
+	* display/d.where/main.c: fix incomplete reversion
+
+2003-07-23 13:18  radim
+
+	* lib/db/sqlp/Makefile: removed test
+
+2003-07-23 07:15  hamish
+
+	* lib/gis/datumtransform.table: update NZGD49 NTv2 grid description
+
+2003-07-23 06:25  radim
+
+	* lib/gis/parser.c: exact BWidget version
+
+2003-07-22 15:53  markus
+
+	* ps/ps.map/input.c: some help text fixes
+
+2003-07-22 15:52  markus
+
+	* ps/ps.map/input.c, ps/ps.map/main.c: some help text fixes
+
+2003-07-22 15:32  markus
+
+	* ps/ps.map/description.html: further updates
+
+2003-07-22 15:10  bob
+
+	* ps/ps.map/r_colortable.c: Fixed raster check
+
+2003-07-22 13:56  markus
+
+	* ps/ps.map/description.html: updated spearfish example
+
+2003-07-22 13:25  paul
+
+	* general/g.setproj/main.c: Check return value when writing
+	  DEFAULT_WIND
+
+2003-07-22 11:25  paul
+
+	* general/g.setproj/main.c, lib/gis/proj3.c: Some tidying of output
+
+2003-07-22 08:42  radim
+
+	* lib/db/sqlp/lex.l, lib/db/sqlp/test/Makefile,
+	  lib/db/sqlp/test/sqlptest.c: allow new line in string value
+
+2003-07-22 08:41  radim
+
+	* db/base/execute.c: better join sql over more lines
+
+2003-07-22 03:22  hamish
+
+	* display/d.legend/main.c: fix minor bug when box width/height was
+	  0.
+
+2003-07-21 19:18  paul
+
+	* aclocal.m4, configure, configure.in: PROJ version check
+
+2003-07-21 13:18  markus
+
+	* configure, configure.in: improved USE_GDAL and USE_OGR
+
+2003-07-21 05:11  hamish
+
+	* ps/ps.map/description.html: cleanup; added note about default
+	  'text' 'size'; added color= option
+
+2003-07-21 03:48  hamish
+
+	* ps/ps.map/do_labels.c: Use default fontsize for 'text' option if
+	  none is defined instead of
+	  silently displaying nothing.
+
+2003-07-20 14:12  paul
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table: Further
+	  tidying of datum tables
+
+2003-07-19 09:22  markus
+
+	* lib/fonts/for_grass/splitfont.c: changed char -> int to fix
+	  gcc3.2.2 problem
+
+2003-07-19 06:28  hamish
+
+	* ps/ps.map/ps_map.c: move the grid lines above all map layers but
+	  below all labels, ticks, etc.
+
+2003-07-15 14:26  radim
+
+	* vector/Makefile, vector/v.out.pov, vector/v.out.pov/Makefile,
+	  vector/v.out.pov/description.html, vector/v.out.pov/main.c:
+	  v.out.pov
+
+2003-07-15 07:34  radim
+
+	* db/drivers/postgres/table.c: table names case insensitive
+
+2003-07-15 07:32  radim
+
+	* include/Vect.h, lib/vector/Vlib/field.c: db link functions
+
+2003-07-15 07:30  radim
+
+	* vector/v.in.ogr/main.c: write features without geometry
+
+2003-07-15 07:30  radim
+
+	* vector/v.db.connect/main.c: overwrite link
+
+2003-07-11 12:39  bob
+
+	* ps/ps.map/do_scalebar.c: add nice number check
+
+2003-07-10 18:01  bob
+
+	* ps/ps.map/colortable.h: added raster option to colortable
+
+2003-07-10 18:00  bob
+
+	* ps/ps.map/description.html: updated documentation
+
+2003-07-10 17:59  bob
+
+	* ps/ps.map/do_grid.c, ps/ps.map/getgrid.c: added cross instruction
+	  to grid
+
+2003-07-10 17:58  bob
+
+	* ps/ps.map/Makefile, ps/ps.map/do_geogrid.c: added geographic grid
+	  instruction
+
+2003-07-10 17:57  bob
+
+	* ps/ps.map/decorate.h, ps/ps.map/do_scalebar.c,
+	  ps/ps.map/get_scalebar.c, ps/ps.map/local_proto.h,
+	  ps/ps.map/main.c, ps/ps.map/ps_info.h, ps/ps.map/ps_map.c: added
+	  scalebar instruction
+
+2003-07-10 17:54  bob
+
+	* ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_fclrtbl.c,
+	  ps/ps.map/r_colortable.c: added raster option to colortable
+
+2003-07-10 17:53  bob
+
+	* ps/ps.map/read_cfg.c: added rotate support to page size
+
+2003-07-10 15:39  radim
+
+	* vector/Makefile, vector/v.type, vector/v.type/Makefile,
+	  vector/v.type/description.html, vector/v.type/main.c: v.type
+
+2003-07-10 12:44  paul
+
+	* vector/v.in.dwg/check: /bin/bash --> /bin/sh for portability and
+	  fix some spellings
+
+2003-07-10 11:27  paul
+
+	* lib/symbol/Makefile: Try to avoid dependence on GNU tar options
+
+2003-07-08 15:27  glynn
+
+	* lib/fonts/for_grass/splitfont.c: Add return statement to end of
+	  main()
+
+2003-07-08 12:19  paul
+
+	* general/g.setproj/main.c: If projection was changed to or from
+	  utm/stp/ll remind user that WIND file
+	  is also affected
+
+2003-07-08 09:23  radim
+
+	* vector/Makefile, vector/v.net, vector/v.net.path,
+	  vector/v.net.path/Makefile, vector/v.net.path/description.html,
+	  vector/v.net.path/main.c, vector/v.net.path/path.c,
+	  vector/v.net/Makefile, vector/v.net/main.c, vector/v.net/nodes.c,
+	  vector/v.net/proto.h, vector/v.net/report.c: v.net, v.net.path
+
+2003-07-07 18:46  bob
+
+	* lib/ogsf/gsd_legend.c: fixed supplied range for integer maps
+
+2003-07-07 14:00  markus
+
+	* vector/v.in.ogr/main.c: added sort of support for OFTStringList
+	  (to fix S-57 import
+
+2003-07-07 08:55  paul
+
+	* general/g.setproj/main.c: Bugfix when there is a datum name in
+	  the PROJ_INFO file but it doesn't exist
+	  in the current system datum.table file
+
+2003-07-07 07:03  hamish
+
+	* raster/r.patch/nfiles.h: add some hints
+
+2003-07-04 14:28  paul
+
+	* general/g.setproj/main.c: Fix some erroneous G_free() calls
+
+2003-07-04 10:41  markus
+
+	* configure, configure.in: advertise (no) GDAL/OGR support
+
+2003-07-04 09:19  markus
+
+	* display/d.where/main.c: reverted 5.1 change, removed unused
+	  variables
+
+2003-07-03 10:28  paul
+
+	* general/g.setproj/main.c: Try to update WIND file as well as
+	  PROJ_INFO
+
+2003-07-03 10:09  paul
+
+	* display/d.where/local_proto.h, display/d.where/main.c,
+	  display/d.where/where.c: Print 'WGS84 Co-ordinates' heading above
+	  column where they are displayed
+
+2003-07-01 14:34  radim
+
+	* vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/open_files.c, vector/v.transform/trans.h,
+	  vector/v.transform/trans_digit.c: x,y shift
+
+2003-07-01 13:22  radim
+
+	* vector/v.in.db/main.c: source driver/database fix
+
+2003-06-30 17:31  bob
+
+	* lib/ogsf/GP2.c, lib/ogsf/GSX.c, lib/ogsf/GS_util.c,
+	  lib/ogsf/GV2.c, lib/ogsf/Gs3.c, lib/ogsf/gp.c, lib/ogsf/gpd.c,
+	  lib/ogsf/gs.c, lib/ogsf/gs_bm.c, lib/ogsf/gs_norms.c,
+	  lib/ogsf/gs_query.c, lib/ogsf/gsd_cplane.c, lib/ogsf/gsd_fonts.c,
+	  lib/ogsf/gsd_img.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c, lib/ogsf/gsd_label.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c, lib/ogsf/gsd_prim.c,
+	  lib/ogsf/gsd_surf.c, lib/ogsf/gsd_views.c, lib/ogsf/gsd_wire.c,
+	  lib/ogsf/gsdiff.c, lib/ogsf/gsdrape.c, lib/ogsf/gsds.c,
+	  lib/ogsf/gsget.c, lib/ogsf/gv.c, lib/ogsf/gv_quick.c,
+	  lib/ogsf/trans.c: code cleanup and updates
+
+2003-06-30 17:25  bob
+
+	* visualization/nviz/scripts/panel_label.tcl,
+	  visualization/nviz/scripts/panel_scale.tcl,
+	  visualization/nviz/scripts/panel_site.tcl: various upgrades
+
+2003-06-30 17:24  bob
+
+	* visualization/nviz/src/do_zoom.c: moved off-screen code and added
+	  flags
+
+2003-06-30 17:23  bob
+
+	* visualization/nviz/src/change_view.c,
+	  visualization/nviz/src/cutplane_obj.c,
+	  visualization/nviz/src/exag.c,
+	  visualization/nviz/src/glwrappers.c,
+	  visualization/nviz/src/label.c, visualization/nviz/src/lights.c,
+	  visualization/nviz/src/misc.c,
+	  visualization/nviz/src/mkdspf_calc_linefax.c,
+	  visualization/nviz/src/mkdspf_fill_cfax.c,
+	  visualization/nviz/src/mkdspf_init_file.c,
+	  visualization/nviz/src/mkdspf_iso_surface.c,
+	  visualization/nviz/src/mkdspf_main.c,
+	  visualization/nviz/src/nvizAppInit.c,
+	  visualization/nviz/src/nvizMain.c,
+	  visualization/nviz/src/openvect.c,
+	  visualization/nviz/src/query_postgr.c,
+	  visualization/nviz/src/runPg.c,
+	  visualization/nviz/src/script_support.c,
+	  visualization/nviz/src/togl_cb.c: code cleanup and changes
+
+2003-06-30 16:46  bob
+
+	* display/d.nviz, display/d.nviz/local.h, display/d.nviz/main.c:
+	  initial d.nviz
+
+2003-06-30 12:17  radim
+
+	* display/drivers/Makefile, display/drivers/PNG/Get_w_box.c,
+	  display/drivers/PNG/Get_w_line.c,
+	  display/drivers/PNG/Get_w_pnt.c, display/drivers/PNG/Makefile,
+	  tools/link.conf: PNG
+
+2003-06-26 10:27  alex
+
+	* lib/fonts/fonts/cyrilc.hmp, lib/fonts/for_grass/splitfont.c: To
+	  use upper 8-bit encodings characters
+
+2003-06-25 21:35  markus
+
+	* imagery/i.ortho.photo/menu/run.c: all photo.* modules live in ETC
+	  at time, not in ETC/imagery/. Fixed.
+
+2003-06-25 21:34  markus
+
+	* imagery/i.ask/Makefile, imagery/i.find/Makefile: lives in ETC
+
+2003-06-25 14:32  radim
+
+	* visualization/nviz/src/Makefile.in: VECT_CFLAGS
+
+2003-06-25 13:26  radim
+
+	* include/gisdefs.h: G_get_gisrc_mode()
+
+2003-06-25 11:31  paul
+
+	* general/g.region/cmd/printwindow.c, raster/r.sun/main.c,
+	  raster/r.sunmask/g_solposition.c: Hopefully final tidying up of
+	  proj usage in various modules
+
+2003-06-25 02:42  hamish
+
+	* general/g.gisenv/main.c: allow program to run even with a
+	  corrupted mapset (so you can fix it) [Bug 1797]
+
+2003-06-24 15:51  radim
+
+	* lib/gis/env.c: G_get_gisrc_mode()
+
+2003-06-24 15:50  radim
+
+	* lib/db/dbmi_client/start.c, lib/db/dbmi_driver/driver.c: pass
+	  variables to driver if GISRC is not set
+
+2003-06-24 15:48  radim
+
+	* db/drivers/dbf/main.c: don't call G_debug before gisenv is set
+
+2003-06-23 11:23  paul
+
+	* lib/gis/datumtransform.table, lib/proj/nzgd2kgrid0005.gsb:
+	  Support for New Zealand grid-based datum transformations, shorter
+	  and
+	  (hopefully) simpler Gmakefile for src/libes/proj
+
+2003-06-20 09:01  alex
+
+	* vector/v.digit/background.c, vector/v.digit/c_face.c,
+	  vector/v.digit/centre.c, vector/v.digit/global.h,
+	  vector/v.digit/main.c, vector/v.digit/proto.h,
+	  vector/v.digit/settings.tcl, vector/v.digit/toolbox.tcl: Add
+	  background commands interactively + wrap call to settings toolbox
+	  in order to avoid monitor pipe break
+
+2003-06-20 00:54  glynn
+
+	* raster/r.reclass/reclass.c: Fix bug in reclassing reclassed maps
+	  [bug #1956]
+
+2003-06-18 15:11  radim
+
+	* display/d.mon/cmd/Makefile: removed vector
+
+2003-06-18 14:34  radim
+
+	* vector/v.in.ogr/main.c: 3D
+
+2003-06-18 13:00  radim
+
+	* ps/ps.map/main.c, ps/ps.map/ps_header.c, ps/ps.map/ps_map.c: page
+	  size, EPS option
+
+2003-06-18 12:06  alex
+
+	* include/form.h: F_close proto added
+
+2003-06-18 12:05  alex
+
+	* lib/form/form.c, lib/form/open.c, vector/v.digit/attr.c: Need to
+	  close the "idle" form in v.digit due to some memory leaks (and
+	  cpu overwhelmin')
+
+2003-06-17 15:33  paul
+
+	* scripts/g.manual/g.manual: Bugfix and spelling correction
+
+2003-06-17 14:30  paul
+
+	* raster/r.in.gdal/Makefile: Missing GDALCFLAGS
+
+2003-06-16 10:16  paul
+
+	* configure, configure.in: Make --with-gdal the default and bugfix
+	  for HAVE_OGR
+
+2003-06-15 10:16  paul
+
+	* include/Make/Grass.make.in: link in fftw, lapack and blas
+	  libraries when libgmath is used
+
+2003-06-12 15:00  radim
+
+	* lib/form/generate.c: encoding in edit mode only
+
+2003-06-12 12:25  radim
+
+	* include/vect/dig_defines.h: removed not used constants
+
+2003-06-12 07:27  radim
+
+	* general/manage/lib/Makefile: +VECT_CFLAG
+
+2003-06-11 12:18  alex
+
+	* display/d.m/d.m.tcl, display/d.m/dig.gif, display/d.m/tool.tcl,
+	  display/d.m/vector.tcl: Added options to load/save .dmrc files.
+
+2003-06-11 12:13  alex
+
+	* include/gisdefs.h, lib/form/open.c, lib/gis/unix_socks.c: unix
+	  sockets versus pipes
+
+2003-06-10 09:52  radim
+
+	* vector/Makefile, vector/v.segment, vector/v.segment/Makefile,
+	  vector/v.segment/main.c: + v.segment
+
+2003-06-10 09:48  radim
+
+	* vector/v.distance/box_closer.c: -
+
+2003-06-10 09:48  radim
+
+	* vector/v.distance/description.html, vector/v.distance/distance.c,
+	  vector/v.distance/local_proto.h, vector/v.distance/main.c:
+	  box_closer.c
+
+2003-06-10 09:28  radim
+
+	* general/g.region/cmd/Makefile, raster/r.in.gdal/Makefile: +
+	  PROJINC
+
+2003-06-10 08:49  paul
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table,
+	  lib/gis/ellipse.table: Add support for ngo48 datum and modified
+	  Bessel ellipsoid (used in Norway)
+
+2003-06-09 10:32  alex
+
+	* lib/form/form.c, lib/form/generate.c, lib/form/open.c: Cleanup
+	  localisation of the form db data view/update
+
+2003-06-06 07:45  radim
+
+	* db/drivers/postgres/table.c: removed forgotten debug
+
+2003-06-05 15:38  radim
+
+	* db/drivers/postgres/table.c: fix for date/time null
+
+2003-06-05 09:05  alex
+
+	* include/form.h, lib/form/form.c, lib/form/generate.c,
+	  lib/form/html_library_grass.tcl: TCL latest 8.4.3 is still broken
+	  in encoding path finder,
+	  but with a simple fix (like hardcoding the path into libs)
+	  this form will allow the user
+	  to change view (and update) encoding of the data from/to
+	  database.
+	  
+	  Without care of the encoding, we get corrupted the data on
+	  "UPDATE"
+	  command if the data had encoding other then 'utf'.
+
+2003-06-04 12:13  radim
+
+	* lib/vector/Vlib/read_shp.c: fix for MULTIPOINTS
+
+2003-06-04 09:53  markus
+
+	* general/g.mapsets/g.mapsets.tcl: sort mapset list
+
+2003-06-04 09:46  markus
+
+	* raster/r.cost/description.html: removed old stuff, updated to
+	  current implementation
+
+2003-06-03 19:06  paul
+
+	* lib/gis/datum.table: French datum should have clark80 ellipsoid
+	  and change name to make it less
+	  confusing
+
+2003-06-02 13:27  markus
+
+	* tools/link.conf: i.ortho.photo added
+
+2003-06-02 13:24  markus
+
+	* imagery/Makefile: i.ortho.photo added (rerun configure to
+	  compile)
+
+2003-06-02 13:22  markus
+
+	* imagery/i.ortho.photo/Makefile,
+	  imagery/i.ortho.photo/libes/Makefile,
+	  imagery/i.ortho.photo/menu/Makefile,
+	  imagery/i.ortho.photo/menu/description.html,
+	  imagery/i.ortho.photo/photo.2image/Makefile,
+	  imagery/i.ortho.photo/photo.2image/description.html,
+	  imagery/i.ortho.photo/photo.2target/Makefile,
+	  imagery/i.ortho.photo/photo.2target/description.html,
+	  imagery/i.ortho.photo/photo.camera/Makefile,
+	  imagery/i.ortho.photo/photo.camera/description.html,
+	  imagery/i.ortho.photo/photo.camera/photo.camera.png,
+	  imagery/i.ortho.photo/photo.elev/Makefile,
+	  imagery/i.ortho.photo/photo.init/Makefile,
+	  imagery/i.ortho.photo/photo.init/description.html,
+	  imagery/i.ortho.photo/photo.rectify/Makefile,
+	  imagery/i.ortho.photo/photo.rectify/description.html,
+	  imagery/i.ortho.photo/photo.target/Makefile: added
+
+2003-06-02 13:10  markus
+
+	* include/Make/Grass.make.in, include/Make/Module.make,
+	  include/Make/Rules.make: etc rule added, IORTHOLIB added
+
+2003-05-30 16:49  markus
+
+	* display/d.m/vector.tcl: added label positioning
+
+2003-05-30 13:26  markus
+
+	* display/d.vect.chart/description.html: sizecol comment added
+
+2003-05-30 11:01  radim
+
+	* lib/form/license.terms: license for html_library.tcl
+
+2003-05-29 13:32  radim
+
+	* lib/db/sqlp/lex.l: YY_FLUSH_BUFFER was problem for some lex
+
+2003-05-29 10:08  paul
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table: Try to use OGC
+	  long names, added nzgd49 and new S-42 parameters
+
+2003-05-29 09:08  markus
+
+	* display/Makefile: d.extract was not ready for submission
+
+2003-05-29 09:07  markus
+
+	* display/d.extract: not ready for submission
+
+2003-05-28 13:38  markus
+
+	* vector/v.in.ogr/main.c: message cosmetics
+
+2003-05-28 12:32  radim
+
+	* display/d.m/vector.tcl: fcolor none
+
+2003-05-28 05:30  glynn
+
+	* raster/r.mapcalc/evaluate.c: Only display progress percentages if
+	  stderr is a tty
+
+2003-05-27 15:41  markus
+
+	* vector/v.clean/main.c: message cosmetics
+
+2003-05-27 15:20  markus
+
+	* db/drivers/postgres/globals.h, db/drivers/postgres/table.c: added
+	  POSTGISPOINTOID type to make d.what.vect/PostGIS happy
+
+2003-05-27 12:35  radim
+
+	* display/d.m/vector.tcl: label column
+
+2003-05-27 10:18  markus
+
+	* display/Makefile: d.extract added
+
+2003-05-27 10:17  markus
+
+	* display/d.extract, display/d.extract/Makefile,
+	  display/d.extract/description.html, display/d.extract/extract.c,
+	  display/d.extract/main.c: added d.extract
+
+2003-05-27 05:12  hamish
+
+	* raster/r.in.ascii/description.html: typo
+
+2003-05-27 03:40  glynn
+
+	* raster3d/r3.showdspf/draw_cap_ogl.c,
+	  raster3d/r3.showdspf/draw_cappolys_ogl.c: Remove broken debug
+	  code
+	  Fix warnings
+
+2003-05-26 14:27  markus
+
+	* scripts/r.out.gdal/description.html,
+	  scripts/r.out.gdal/r.out.gdal: added METAKEY support
+
+2003-05-26 14:24  radim
+
+	* db/drivers/mysql/Makefile, db/drivers/postgres/Makefile: shared
+	  dialog
+
+2003-05-26 14:19  radim
+
+	* display/d.m/d.m.tcl, display/d.m/vector.tcl: exec better?
+
+2003-05-26 13:04  radim
+
+	* include/Make/Grass.make.in: libs forgotten to shared
+
+2003-05-26 12:45  radim
+
+	* general/manage/cmd/Makefile: shared lib
+
+2003-05-26 11:40  markus
+
+	* display/d.m/d.m.tcl: cosmetics
+
+2003-05-25 09:43  markus
+
+	* vector/v.db.connect/description.html, vector/v.db.connect/main.c:
+	  -c flag added to print table column names and types
+
+2003-05-24 21:08  markus
+
+	* general/g.findfile/description.html: fix
+
+2003-05-24 20:59  markus
+
+	* scripts/Makefile: r.out.gdal added
+
+2003-05-24 20:58  markus
+
+	* scripts/r.out.gdal, scripts/r.out.gdal/Makefile,
+	  scripts/r.out.gdal/description.html,
+	  scripts/r.out.gdal/r.out.gdal: added ... unless someone writes a
+	  C implementation
+
+2003-05-24 20:46  markus
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c: added
+	  spatial parm for subregion import
+
+2003-05-23 05:21  markus
+
+	* raster/Makefile: FFTW dependency fix
+
+2003-05-22 14:42  radim
+
+	* binaryInstall.src: -
+
+2003-05-22 14:37  radim
+
+	* Makefile: lib to dist
+
+2003-05-22 14:11  radim
+
+	* db/base/Makefile, db/drivers/dbf/Makefile,
+	  db/drivers/mysql/Makefile, db/drivers/odbc/Makefile,
+	  db/drivers/postgres/Makefile, display/d.colorlist/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/Makefile,
+	  general/g.mapsets/Makefile, general/g.tempfile/Makefile,
+	  general/manage/cmd/Makefile, imagery/i.cca/Makefile,
+	  imagery/i.cluster/Makefile, imagery/i.fft/Makefile,
+	  imagery/i.gensig/Makefile, imagery/i.gensigset/Makefile,
+	  imagery/i.group/Makefile, imagery/i.his.rgb/Makefile,
+	  imagery/i.ifft/Makefile, imagery/i.maxlik/Makefile,
+	  imagery/i.pca/Makefile, imagery/i.points/Makefile,
+	  imagery/i.rectify/Makefile, imagery/i.rgb.his/Makefile,
+	  imagery/i.smap/shapiro/Makefile, imagery/i.zc/Makefile,
+	  lib/db/sqlp/test/Makefile, lib/form/Makefile,
+	  lib/front.end/Makefile, lib/init/Makefile,
+	  lib/vector/diglib/Makefile, lib/vector/diglib/plus_area.c,
+	  lib/vector/rtree/Makefile, ps/ps.map/Makefile,
+	  raster/r.cost/Makefile, raster/r.in.gdal/Makefile,
+	  raster/r.surf.gauss/Makefile, raster/r.surf.random/Makefile,
+	  vector/v.build.polylines/Makefile, vector/v.category/Makefile,
+	  vector/v.clean/Makefile, vector/v.clean/test/Makefile,
+	  vector/v.in.ascii/Makefile, vector/v.in.db/Makefile,
+	  vector/v.in.sites/Makefile, vector/v.info/Makefile,
+	  vector/v.out.ascii/Makefile, vector/v.out.ogr/Makefile,
+	  vector/v.what.rast/Makefile, visualization/nviz/src/Makefile.in:
+	  missing libs
+
+2003-05-22 13:59  radim
+
+	* lib/db/dbmi, lib/db/dbmi_base, lib/db/dbmi_base/Makefile,
+	  lib/db/dbmi_base/README, lib/db/dbmi_base/alloc.c,
+	  lib/db/dbmi_base/case.c, lib/db/dbmi_base/column.c,
+	  lib/db/dbmi_base/columnfmt.c, lib/db/dbmi_base/connect.c,
+	  lib/db/dbmi_base/cursor.c, lib/db/dbmi_base/datetime.c,
+	  lib/db/dbmi_base/dbmscap.c, lib/db/dbmi_base/dirent.c,
+	  lib/db/dbmi_base/error.c, lib/db/dbmi_base/handle.c,
+	  lib/db/dbmi_base/index.c, lib/db/dbmi_base/interval.c,
+	  lib/db/dbmi_base/isdir.c, lib/db/dbmi_base/macros.h,
+	  lib/db/dbmi_base/ret_codes.c, lib/db/dbmi_base/sqlCtype.c,
+	  lib/db/dbmi_base/sqltype.c, lib/db/dbmi_base/string.c,
+	  lib/db/dbmi_base/strip.c, lib/db/dbmi_base/table.c,
+	  lib/db/dbmi_base/token.c, lib/db/dbmi_base/value.c,
+	  lib/db/dbmi_base/valuefmt.c, lib/db/dbmi_base/whoami.c,
+	  lib/db/dbmi_base/xdr.c, lib/db/dbmi_base/xdr.h,
+	  lib/db/dbmi_base/xdrchar.c, lib/db/dbmi_base/xdrcolumn.c,
+	  lib/db/dbmi_base/xdrdatetime.c, lib/db/dbmi_base/xdrdouble.c,
+	  lib/db/dbmi_base/xdrfloat.c, lib/db/dbmi_base/xdrhandle.c,
+	  lib/db/dbmi_base/xdrindex.c, lib/db/dbmi_base/xdrint.c,
+	  lib/db/dbmi_base/xdrprocedure.c, lib/db/dbmi_base/xdrshort.c,
+	  lib/db/dbmi_base/xdrstring.c, lib/db/dbmi_base/xdrtable.c,
+	  lib/db/dbmi_base/xdrtoken.c, lib/db/dbmi_base/xdrvalue.c,
+	  lib/db/dbmi_base/zero.c, lib/db/dbmi_client,
+	  lib/db/dbmi_client/Makefile, lib/db/dbmi_client/c_add_col.c,
+	  lib/db/dbmi_client/c_begin_work.x,
+	  lib/db/dbmi_client/c_bindupdate.c,
+	  lib/db/dbmi_client/c_close_cur.c, lib/db/dbmi_client/c_closedb.c,
+	  lib/db/dbmi_client/c_create_idx.c,
+	  lib/db/dbmi_client/c_create_tab.c,
+	  lib/db/dbmi_client/c_createdb.c, lib/db/dbmi_client/c_delete.c,
+	  lib/db/dbmi_client/c_deletedb.c,
+	  lib/db/dbmi_client/c_desc_table.c,
+	  lib/db/dbmi_client/c_drop_col.c,
+	  lib/db/dbmi_client/c_drop_index.c,
+	  lib/db/dbmi_client/c_drop_tab.c, lib/db/dbmi_client/c_execute.c,
+	  lib/db/dbmi_client/c_fetch.c, lib/db/dbmi_client/c_finddb.c,
+	  lib/db/dbmi_client/c_insert.c,
+	  lib/db/dbmi_client/c_list_drivers.c,
+	  lib/db/dbmi_client/c_list_idx.c,
+	  lib/db/dbmi_client/c_list_tabs.c, lib/db/dbmi_client/c_listdb.c,
+	  lib/db/dbmi_client/c_opendb.c, lib/db/dbmi_client/c_openinsert.c,
+	  lib/db/dbmi_client/c_openselect.c,
+	  lib/db/dbmi_client/c_openupdate.c, lib/db/dbmi_client/c_rows.c,
+	  lib/db/dbmi_client/c_update.c, lib/db/dbmi_client/c_version.c,
+	  lib/db/dbmi_client/column.c, lib/db/dbmi_client/copy_tab.c,
+	  lib/db/dbmi_client/db.c, lib/db/dbmi_client/delete_tab.c,
+	  lib/db/dbmi_client/generate_dox.sh,
+	  lib/db/dbmi_client/printtab.c, lib/db/dbmi_client/select.c,
+	  lib/db/dbmi_client/shutdown.c, lib/db/dbmi_client/start.c,
+	  lib/db/dbmi_client/table.c, lib/db/dbmi_driver,
+	  lib/db/dbmi_driver/Makefile, lib/db/dbmi_driver/d_add_col.c,
+	  lib/db/dbmi_driver/d_begin_work.x,
+	  lib/db/dbmi_driver/d_bindupdate.c,
+	  lib/db/dbmi_driver/d_close_cur.c, lib/db/dbmi_driver/d_closedb.c,
+	  lib/db/dbmi_driver/d_create_idx.c,
+	  lib/db/dbmi_driver/d_create_tab.c,
+	  lib/db/dbmi_driver/d_createdb.c, lib/db/dbmi_driver/d_delete.c,
+	  lib/db/dbmi_driver/d_deletedb.c,
+	  lib/db/dbmi_driver/d_desc_table.c,
+	  lib/db/dbmi_driver/d_drop_col.c,
+	  lib/db/dbmi_driver/d_drop_index.c,
+	  lib/db/dbmi_driver/d_drop_tab.c, lib/db/dbmi_driver/d_execute.c,
+	  lib/db/dbmi_driver/d_fetch.c, lib/db/dbmi_driver/d_finddb.c,
+	  lib/db/dbmi_driver/d_insert.c, lib/db/dbmi_driver/d_list_idx.c,
+	  lib/db/dbmi_driver/d_list_tabs.c, lib/db/dbmi_driver/d_listdb.c,
+	  lib/db/dbmi_driver/d_mkdir.c, lib/db/dbmi_driver/d_opendb.c,
+	  lib/db/dbmi_driver/d_openinsert.c,
+	  lib/db/dbmi_driver/d_openselect.c,
+	  lib/db/dbmi_driver/d_openupdate.c, lib/db/dbmi_driver/d_rows.c,
+	  lib/db/dbmi_driver/d_update.c, lib/db/dbmi_driver/d_version.c,
+	  lib/db/dbmi_driver/driver.c, lib/db/dbmi_driver/driver_state.c,
+	  lib/db/dbmi_driver/procs.h: dbmi split
+
+2003-05-22 13:49  radim
+
+	* include/Make/Grass.make.in, include/Make/Lib.make,
+	  include/Make/Rules.make, include/Make/Shlib.make, lib/Makefile,
+	  lib/db/Makefile: shared libs
+
+2003-05-22 09:04  markus
+
+	* raster/r.texture/main.c: message cosmetics
+
+2003-05-22 08:13  radim
+
+	* general/g.mapsets/get_maps.c: use G_available_mapsets()
+
+2003-05-22 08:10  radim
+
+	* include/gis.h, include/gisdefs.h, lib/gis/env.c,
+	  lib/gis/mapset_nme.c: G_add_mapset_to_search_path,
+	  G_set_gisrc_mode
+
+2003-05-21 19:42  glynn
+
+	* raster/wildfire/r.ros/spot_dist.c: Fix broken string literal
+
+2003-05-21 17:14  paul
+
+	* include/gisdefs.h, lib/gis/Makefile, lib/gis/asprintf.c: Add
+	  G_asprintf() by Eric Miller
+
+2003-05-21 15:29  radim
+
+	* vector/Makefile, vector/v.what.rast, vector/v.what.rast/Makefile,
+	  vector/v.what.rast/description.html, vector/v.what.rast/main.c:
+	  v.what.rast
+
+2003-05-21 09:26  markus
+
+	* display/d.vect.chart/description.html: some additions
+
+2003-05-21 09:22  markus
+
+	* display/d.vect.chart/main.c, display/d.vect.chart/plot.c: typo
+	  fixed, bugfix if no field defined
+
+2003-05-21 08:44  radim
+
+	* lib/vector/Vlib/box.c: Vect_region_box description
+
+2003-05-20 15:12  markus
+
+	* lib/init/init.sh: Cygwin wants SHELL to be exported...
+
+2003-05-20 14:33  markus
+
+	* raster/Makefile: conditionalized PNGLIB
+
+2003-05-18 14:22  markus
+
+	* tools/build_html_index.html: sort added
+
+2003-05-17 16:42  markus
+
+	* scripts/r.univar/r.univar: fix to make Variation coefficient
+	  absolute number
+
+2003-05-16 16:00  markus
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c: also
+	  fix . (dot) in column names
+
+2003-05-16 14:39  markus
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c:
+	  auto-convert # and - to _ (needed for ArcBIN Coverages, added
+	  support for OFTIntegerList
+
+2003-05-16 10:00  markus
+
+	* lib/gis/parser.c: slider from left to right
+
+2003-05-16 08:31  radim
+
+	* db/drivers/postgres/Makefile: PQLIBPATH
+
+2003-05-15 14:39  radim
+
+	* vector/v.in.dwg/Makefile, vector/v.in.dwg/README,
+	  vector/v.in.dwg/check, vector/v.in.dwg/entity.c,
+	  vector/v.in.dwg/global.h, vector/v.in.dwg/main.c: License issues
+
+2003-05-13 20:14  markus
+
+	* raster/r.texture/main.c: [] -> () for 5.1 tcl/tk parser.c
+
+2003-05-13 14:23  markus
+
+	* lib/symbol/Makefile: changed to exclude CVS from being copied
+
+2003-05-13 13:26  markus
+
+	* lib/gtcltk/select.tcl: added windows title
+
+2003-05-13 12:50  markus
+
+	* lib/gis/parser.c: now using Selection window from
+	  ../lib/gtcltk/select.tcl
+
+2003-05-13 10:11  markus
+
+	* lib/gtcltk/select.tcl: show only maps from 'active' mapsets
+
+2003-05-13 10:01  markus
+
+	* display/d.m/labels.tcl: fixed (sorry), ok now
+
+2003-05-13 09:48  markus
+
+	* lib/gtcltk/select.tcl: bindImage Double-ButtonPress-1 added
+
+2003-05-13 09:45  markus
+
+	* lib/gtcltk/select.tcl: added double click selection
+
+2003-05-13 09:07  markus
+
+	* general/g.region/cmd/main.c: changed [] -> () to map parser/HTML
+	  happy
+
+2003-05-13 09:03  markus
+
+	* general/g.region/cmd/main.c, general/g.region/cmd/printwindow.c:
+	  -e flag added
+
+2003-05-13 08:55  markus
+
+	* display/d.m/labels.tcl, display/d.m/tool.tcl,
+	  display/d.m/vector.tcl: message cosmetics
+
+2003-05-12 14:01  markus
+
+	* ps/ps.map/paper.h: merged Hamish's 5.0 updates
+
+2003-05-12 12:44  markus
+
+	* raster/Makefile, tools/link.conf: r.texture added
+
+2003-05-12 12:43  markus
+
+	* raster/r.texture/Makefile, raster/r.texture/description.html:
+	  Carmine Basco <basco at unisannio.it>: added r.texture. Generate
+	  images with textural features from a raster map
+
+2003-05-12 12:19  markus
+
+	* raster/r.texture, raster/r.texture/h_measure.c,
+	  raster/r.texture/h_measure.h, raster/r.texture/main.c: Carmine
+	  Basco <basco at unisannio.it>: added r.texture. Generate images with
+	  textural features from a raster map [with some fixes by Glynn
+	  Clements]
+
+2003-05-12 09:18  markus
+
+	* lib/init/init.sh: fix cmd line startup problem when .grassrc5 not
+	  present
+
+2003-05-11 20:27  paul
+
+	* general/g.setproj/main.c, lib/gis/datum.c: Change g.setproj not
+	  to use 'datumparams' key so PROJ_INFO files are
+	  compatible with older versions of GRASS
+	  Change pj_get_kv() and G_get_datumparams_from_projinfo() to take
+	  account of this
+	  General tidying and possible southern hemisphere zone fix in
+	  get_proj.c
+
+2003-05-10 19:01  cho
+
+	* scripts/d.redraw/d.redraw: corrected email info
+
+2003-05-10 05:04  markus
+
+	* tools/build_html_index.html: better html man page collection with
+	  meta pages
+
+2003-05-09 14:53  paul
+
+	* include/vect/dig_globs.h, lib/vector/rtree/split_q.h: Don't use
+	  macro GLOBAL in global header files as it might be re-defined
+	  in user-level modules
+
+2003-05-09 14:45  radim
+
+	* lib/vector/rtree/Makefile: sphvol.c removed from objects
+
+2003-05-09 14:42  paul
+
+	* vector/v.transform/main.c, vector/v.transform/trans.h: Fix
+	  multiply defined symbols and missing header file
+
+2003-05-09 14:26  radim
+
+	* lib/segment/Makefile: list objects to be compiled (not all)
+
+2003-05-09 12:53  markus
+
+	* scripts/r.univar/r.univar: fixed trap bug
+
+2003-05-09 12:37  markus
+
+	* tools/timer/main.c: no typecast for NULL
+
+2003-05-09 12:34  markus
+
+	* lib/gis/sleep.c: fixed unused tzone -> NULL
+
+2003-05-09 09:34  radim
+
+	* include/Make/Grass.make.in: LINK_FLAGS
+
+2003-05-08 14:40  paul
+
+	* vector/v.clean/bpol.c: added one too many
+
+2003-05-08 14:11  paul
+
+	* vector/v.clean/bpol.c: Add missing header files
+
+2003-05-08 14:06  paul
+
+	* lib/vector/rtree/card.c, lib/vector/rtree/index.c,
+	  lib/vector/rtree/index.h, lib/vector/rtree/node.c,
+	  lib/vector/rtree/rect.c, lib/vector/rtree/split_q.c: Fix function
+	  prototypes and warnings
+
+2003-05-08 07:42  radim
+
+	* vector/v.in.ascii/a2b.c: n_points bug
+
+2003-05-08 06:50  hamish
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h: modified d.barscale to accept a
+	  background color of "none"
+	  code is inspired by what d.vect.area uses.
+
+2003-05-07 21:23  markus
+
+	* raster/Makefile: added r.region
+
+2003-05-07 21:22  markus
+
+	* raster/r.region, raster/r.region/Makefile,
+	  raster/r.region/description.html, raster/r.region/main.c: added
+	  with vector update
+
+2003-05-07 20:48  markus
+
+	* lib/ogsf/Makefile: cleaned double EXTRA_CFLAGS entry
+
+2003-05-07 15:22  paul
+
+	* lib/init/init.sh: Improve portability in Init.sh as per point 21
+	  in SUBMITTING
+
+2003-05-07 13:27  markus
+
+	* scripts/d.redraw/description.html,
+	  scripts/g.manual/description.html,
+	  scripts/g.projinfo/description.html,
+	  scripts/pg.postgisdb/description.html,
+	  scripts/v.distance.connect/description.html: $Date$ added for
+	  consistency
+
+2003-05-07 13:13  markus
+
+	* display/d.erase/description.html, display/d.m/description.html,
+	  display/d.mon/cmd/description.html,
+	  display/d.mon/description.html, display/d.path/description.html,
+	  display/d.rast/description.html,
+	  display/d.vect.chart/description.html,
+	  display/d.vect/description.html,
+	  display/d.what.rast/description.html,
+	  display/d.what.vect/description.html,
+	  display/d.zoom/description.html,
+	  general/g.gisenv/description.html,
+	  general/g.mapsets/description.html,
+	  general/g.region/cmd/description.html,
+	  vector/v.build.polylines/description.html,
+	  vector/v.build/description.html,
+	  vector/v.category/description.html,
+	  vector/v.clean/description.html,
+	  vector/v.convert/description.html,
+	  vector/v.db.connect/description.html,
+	  vector/v.extract/description.html,
+	  vector/v.format/description.html,
+	  vector/v.in.ascii/description.html,
+	  vector/v.in.dwg/description.html,
+	  vector/v.in.ogr/description.html,
+	  vector/v.in.sites/description.html,
+	  vector/v.info/description.html, vector/v.label/description.html,
+	  vector/v.net.alloc/description.html,
+	  vector/v.net.iso/description.html,
+	  vector/v.out.ascii/description.html,
+	  vector/v.out.ogr/description.html,
+	  vector/v.patch/description.html,
+	  vector/v.surf.rst/description.html,
+	  vector/v.to.rast/description.html,
+	  vector/v.transform/description.html: $Date$ added for consistency
+
+2003-05-07 13:02  markus
+
+	* vector/v.in.db/description.html, vector/v.to.db/description.html:
+	  removed unwanted </body> and </html> tag
+
+2003-05-07 12:38  markus
+
+	* lib/ogsf/Makefile: sync with 5.0
+
+2003-05-07 09:48  radim
+
+	* vector/Makefile, vector/v.label, vector/v.label/Makefile,
+	  vector/v.label/description.html, vector/v.label/main.c: +v.label
+
+2003-05-07 09:46  radim
+
+	* display/Makefile, display/d.paint.labels,
+	  display/d.paint.labels/Makefile,
+	  display/d.paint.labels/description.html,
+	  display/d.paint.labels/do_labels.c,
+	  display/d.paint.labels/local_proto.h,
+	  display/d.paint.labels/main.c: +d.paint.labels
+
+2003-05-07 09:44  radim
+
+	* display/d.m/Makefile, display/d.m/add.labels.gif,
+	  display/d.m/d.m.tcl, display/d.m/labels.gif,
+	  display/d.m/labels.tcl, display/d.m/raster.tcl,
+	  display/d.m/tool.tcl: +labels, query raster fix
+
+2003-05-07 08:29  markus
+
+	* tools/cpbin.conf, tools/link.conf: added remaining general
+	  modules
+
+2003-05-07 08:29  markus
+
+	* tools/build_html_index.html: removed bc dependency, hope it still
+	  works on SGI
+
+2003-05-07 08:26  markus
+
+	* general/Makefile: general set of modules complete now
+
+2003-05-07 08:23  markus
+
+	* general/g.ask/description.html: fix
+
+2003-05-07 08:23  markus
+
+	* general/g.ask/Makefile, general/g.ask/description.html,
+	  general/g.filename/Makefile, general/g.filename/description.html,
+	  general/g.findfile/Makefile, general/g.findfile/description.html:
+	  added
+
+2003-05-07 08:22  markus
+
+	* general/g.ask/main.c, general/g.filename/main.c,
+	  general/g.findfile/main.c: fixed compiler warnings
+
+2003-05-07 08:07  markus
+
+	* general/g.access/Makefile, general/g.access/description.html:
+	  added
+
+2003-05-07 07:20  markus
+
+	* raster/r.statistics/method.h: enabled median() prototype
+
+2003-05-06 16:55  markus
+
+	* tools/cpbin.conf: updated according to new raster modules in 5.1
+
+2003-05-06 16:47  markus
+
+	* raster/Makefile: added numerous raster modules with cleaned HTML
+	  descriptions
+
+2003-05-06 16:43  markus
+
+	* tools/link.conf: finished for now
+
+2003-05-06 16:41  markus
+
+	* raster/wildfire/Makefile, raster/wildfire/r.ros/Makefile,
+	  raster/wildfire/r.ros/description.html,
+	  raster/wildfire/r.spread/Makefile,
+	  raster/wildfire/r.spread/description.html,
+	  raster/wildfire/r.spreadpath/Makefile,
+	  raster/wildfire/r.spreadpath/description.html: added
+
+2003-05-06 16:32  markus
+
+	* raster/r.transect/Makefile, raster/r.transect/description.html,
+	  raster/r.water.outlet/Makefile,
+	  raster/r.water.outlet/description.html, raster/r.what/Makefile,
+	  raster/r.what/description.html: added
+
+2003-05-06 16:22  markus
+
+	* raster/r.topmodel/main.c: sync'ed with man page
+
+2003-05-06 16:22  markus
+
+	* raster/r.topmodel/Makefile, raster/r.topmodel/description.html:
+	  added
+
+2003-05-06 16:15  markus
+
+	* raster/r.surf.gauss/Makefile,
+	  raster/r.surf.gauss/description.html, raster/r.surf.idw/Makefile,
+	  raster/r.surf.idw/description.html, raster/r.surf.idw2/Makefile,
+	  raster/r.surf.idw2/description.html,
+	  raster/r.surf.random/Makefile,
+	  raster/r.surf.random/description.html, raster/r.thin/Makefile,
+	  raster/r.thin/description.html, raster/r.timestamp/Makefile,
+	  raster/r.timestamp/description.html, raster/r.topidx/Makefile,
+	  raster/r.topidx/description.html: added
+
+2003-05-06 15:56  markus
+
+	* raster/r.surf.contour/Makefile,
+	  raster/r.surf.contour/description.html,
+	  raster/r.surf.fractal/Makefile,
+	  raster/r.surf.fractal/description.html: added
+
+2003-05-06 15:50  markus
+
+	* tools/link.conf: added raster modules
+
+2003-05-06 15:49  markus
+
+	* raster/r.surf.area/Makefile, raster/r.surf.area/description.html:
+	  added
+
+2003-05-06 15:35  markus
+
+	* raster/r.random.cells/Makefile,
+	  raster/r.random.cells/description.html,
+	  raster/r.reclass/Makefile, raster/r.reclass/description.html,
+	  raster/r.recode/Makefile, raster/r.recode/description.html,
+	  raster/r.report/Makefile, raster/r.report/description.html,
+	  raster/r.resample/Makefile, raster/r.resample/description.html,
+	  raster/r.rescale.eq/Makefile,
+	  raster/r.rescale.eq/description.html, raster/r.rescale/Makefile,
+	  raster/r.rescale/description.html,
+	  raster/r.slope.aspect/Makefile,
+	  raster/r.slope.aspect/description.html,
+	  raster/r.statistics/Makefile,
+	  raster/r.statistics/description.html, raster/r.sum/Makefile,
+	  raster/r.sum/description.html, raster/r.sun/Makefile,
+	  raster/r.sun/description.html, raster/r.sunmask/Makefile,
+	  raster/r.sunmask/description.html: added
+
+2003-05-06 15:01  markus
+
+	* raster/r.quant/Makefile, raster/r.quant/description.html,
+	  raster/r.random.surface/Makefile,
+	  raster/r.random.surface/description.html: added
+
+2003-05-06 14:52  markus
+
+	* raster/r.quant/main.c: [] -> () to make 5.1 parser/tcl happy
+
+2003-05-06 14:50  markus
+
+	* raster/r.profile/main.c: improved flag description from man page
+
+2003-05-06 14:49  markus
+
+	* raster/r.null/Makefile, raster/r.null/description.html,
+	  raster/r.out.arc/Makefile, raster/r.out.arc/description.html,
+	  raster/r.out.ascii/Makefile, raster/r.out.ascii/description.html,
+	  raster/r.out.bin/Makefile, raster/r.out.bin/description.html,
+	  raster/r.out.gridatb/Makefile,
+	  raster/r.out.gridatb/description.html,
+	  raster/r.out.mpeg/Makefile, raster/r.out.mpeg/description.html,
+	  raster/r.out.png/Makefile, raster/r.out.png/description.html,
+	  raster/r.out.pov/Makefile, raster/r.out.pov/description.html,
+	  raster/r.out.ppm/Makefile, raster/r.out.ppm/description.html,
+	  raster/r.out.ppm3/Makefile, raster/r.out.ppm3/description.html,
+	  raster/r.out.tiff/Makefile, raster/r.out.tiff/description.html,
+	  raster/r.param.scale/Makefile,
+	  raster/r.param.scale/description.html, raster/r.patch/Makefile,
+	  raster/r.patch/description.html, raster/r.profile/Makefile,
+	  raster/r.profile/description.html: added
+
+2003-05-06 14:36  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: typo fixed
+
+2003-05-06 14:06  markus
+
+	* raster/r.le/Makefile, raster/r.le/r.le.patch/Makefile,
+	  raster/r.le/r.le.patch/description.html,
+	  raster/r.le/r.le.pixel/Makefile,
+	  raster/r.le/r.le.pixel/description.html,
+	  raster/r.le/r.le.setup/Makefile,
+	  raster/r.le/r.le.setup/description.html,
+	  raster/r.le/r.le.trace/Makefile,
+	  raster/r.le/r.le.trace/description.html, raster/r.los/Makefile,
+	  raster/r.los/description.html, raster/r.median/Makefile,
+	  raster/r.median/description.html, raster/r.mfilter/Makefile,
+	  raster/r.mfilter/description.html, raster/r.mode/Makefile,
+	  raster/r.mode/description.html: added
+
+2003-05-06 13:44  markus
+
+	* raster/r.in.gridatb/Makefile,
+	  raster/r.in.gridatb/description.html, raster/r.in.poly/Makefile,
+	  raster/r.in.poly/description.html, raster/r.kappa/Makefile,
+	  raster/r.kappa/description.html: added
+
+2003-05-06 13:33  markus
+
+	* raster/r.in.bin/main.c: more flag explanations from man page
+
+2003-05-06 13:32  markus
+
+	* raster/r.in.bin/Makefile, raster/r.in.bin/description.html,
+	  raster/r.info/Makefile, raster/r.info/description.html: added
+
+2003-05-06 13:26  markus
+
+	* raster/r.cross/Makefile, raster/r.cross/description.html,
+	  raster/r.describe/Makefile, raster/r.describe/description.html,
+	  raster/r.distance/Makefile, raster/r.distance/description.html,
+	  raster/r.drain/Makefile, raster/r.drain/description.html,
+	  raster/r.fill.dir/Makefile, raster/r.fill.dir/description.html,
+	  raster/r.grow/Makefile, raster/r.grow/description.html,
+	  raster/r.in.arc/Makefile, raster/r.in.arc/description.html,
+	  raster/r.in.ascii/Makefile, raster/r.in.ascii/description.html:
+	  added
+
+2003-05-06 12:57  markus
+
+	* raster/r.circle/Makefile, raster/r.circle/description.html,
+	  raster/r.coin/Makefile, raster/r.coin/description.html,
+	  raster/r.compress/Makefile, raster/r.compress/description.html,
+	  raster/r.covar/Makefile, raster/r.covar/description.html: added
+
+2003-05-06 12:40  markus
+
+	* raster/r.average/Makefile, raster/r.average/description.html,
+	  raster/r.basins.fill/Makefile,
+	  raster/r.basins.fill/description.html, raster/r.cats/Makefile,
+	  raster/r.cats/description.html: added
+
+2003-05-06 08:03  markus
+
+	* raster/r.sun/main.c: removed unused Vect dependencies
+
+2003-05-06 08:00  markus
+
+	* raster/r.statistics/method.h: moved to unused/ to avoid 5.1
+	  conflicts
+
+2003-05-06 07:52  markus
+
+	* raster/wildfire/r.spread/prob_invsqr,
+	  raster/wildfire/r.spread/prob_invsqr/prob_invsqr.c: moved here
+	  from ../ for 5.1
+
+2003-05-06 07:22  markus
+
+	* raster/r.coin/cmd_parms.c: renamed file to avoid 5.1 compile
+	  problem
+
+2003-05-05 16:04  markus
+
+	* sites/s.in.ascii/get_site.c: slightly better warning
+
+2003-05-05 15:30  radim
+
+	* vector/v.convert/att.c: dig_cats mapset fix
+
+2003-05-05 14:55  radim
+
+	* display/drivers/XDRIVER/XDRIVER24/Get_w_pnt.c: compare button
+	  value instead of pointer
+
+2003-05-05 14:00  markus
+
+	* vector/Makefile: updated for OPENDWGINCPATH
+
+2003-05-05 13:45  markus
+
+	* include/Make/Platform.make.in: openDWG updated
+
+2003-05-05 13:42  markus
+
+	* configure, configure.in: next try for openDWG. Working now, but
+	  partially a hack (help welcome)
+
+2003-05-05 13:35  markus
+
+	* vector/v.in.dwg/Makefile, vector/v.in.dwg/main.c: updated to find
+	  openDWG include files/libs
+
+2003-05-05 12:31  markus
+
+	* vector/v.in.ogr/description.html,
+	  vector/v.out.ogr/description.html: added Refs
+
+2003-05-05 09:24  markus
+
+	* configure, configure.in: added OPENDWG (optional)
+
+2003-05-05 09:22  markus
+
+	* include/Make/Platform.make.in, vector/v.in.dwg/Makefile: added
+	  OPENDWGINC, OPENDWGLIB)
+
+2003-05-05 09:21  markus
+
+	* vector/Makefile: simplified, added OPENDWGBASED
+
+2003-05-05 09:20  markus
+
+	* raster/Makefile: simplified
+
+2003-05-05 09:20  markus
+
+	* db/drivers/Makefile, raster/Makefile: simplified
+
+2003-05-04 06:27  glynn
+
+	* raster/r.his/main.c: Fix bug: don't require output files to
+	  exist.
+
+2003-05-03 09:13  paul
+
+	* include/vect/dig_defines.h: Get rid of warning about trailing
+	  comma appearing everywhere
+
+2003-05-03 09:05  paul
+
+	* tools/build_html_index.html: Hopefully more portable shell script
+
+2003-05-02 15:46  paul
+
+	* imagery/i.target/Makefile: vask/curses used here
+
+2003-05-02 15:07  paul
+
+	* vector/v.digit/Makefile: Changed order libraries are linked so it
+	  compiles on Irix
+
+2003-05-02 14:59  paul
+
+	* lib/vector/rtree/split_q.c, lib/vector/rtree/split_q.h: Fix
+	  multiply-defined symbol errors
+
+2003-05-01 12:14  paul
+
+	* ps/ps.map/local_proto.h, ps/ps.map/vector.h: Remove C++ comments
+
+2003-05-01 12:07  paul
+
+	* display/d.what.vect/what.h, display/d.zoom/main.c,
+	  vector/v.digit/centre.c: Small fixes
+
+2003-05-01 09:53  paul
+
+	* display/drivers/XDRIVER/XDRIVER24/Get_w_pnt.c: Fix 'Unacceptable
+	  operand of relational operator' error
+
+2003-04-30 15:46  radim
+
+	* db/drivers/dbf/dbfexe.c: condition changed to double
+
+2003-04-30 15:44  markus
+
+	* INSTALL: UPDATE section added
+
+2003-04-30 15:18  markus
+
+	* raster/Makefile, tools/link.conf: added r.bilinear
+
+2003-04-30 15:17  markus
+
+	* raster/r.bilinear/Makefile, raster/r.bilinear/description.html:
+	  added
+
+2003-04-30 15:04  paul
+
+	* lib/vector/Vlib/build_shp.c: Remove C++ comment
+
+2003-04-30 14:57  radim
+
+	* lib/vector/Vlib/intersect.c: free RTree
+
+2003-04-30 14:56  radim
+
+	* lib/vector/rtree/index.h, lib/vector/rtree/node.c:
+	  +RTreeDestroyNode()
+
+2003-04-30 14:55  radim
+
+	* include/vect/dig_externs.h, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/spindex.c: +dig_spidx_free()
+
+2003-04-30 14:28  markus
+
+	* raster/r.in.gdal/Makefile: fixed
+
+2003-04-30 14:21  markus
+
+	* raster/Makefile: fix
+
+2003-04-30 14:20  markus
+
+	* raster/Makefile, raster/r.gdal, raster/r.in.gdal,
+	  raster/r.in.gdal/Makefile, raster/r.in.gdal/description.html,
+	  tools/link.conf: we keep the original names -> r.in.gdal
+
+2003-04-30 14:04  radim
+
+	* lib/gis/debug.c: fix for last fix
+
+2003-04-30 13:48  markus
+
+	* vector/v.proj/description.html: url added
+
+2003-04-30 12:35  radim
+
+	* db/drivers/dbf/dbfexe.c, db/drivers/dbf/table.c: fix for
+	  save_table
+
+2003-04-30 12:34  radim
+
+	* lib/db/sqlp/yac.y: fix for DELETE
+
+2003-04-30 08:55  radim
+
+	* lib/gis/debug.c: vsnprintf -> vfprintf
+
+2003-04-29 19:13  paul
+
+	* include/Make/Grass.make.in: Temporary fix for library
+	  dependencies
+
+2003-04-29 18:21  paul
+
+	* lib/gis/datum.table, lib/gis/datumtransform.table,
+	  lib/gis/ellipse.table: Tentatively adding some new datums for
+	  testing
+
+2003-04-29 17:26  markus
+
+	* display/d.barscale/main.c: typo fixed
+
+2003-04-29 17:15  markus
+
+	* vector/v.proj/main.c: added pj_print_proj_params fomr 5.0
+
+2003-04-29 17:05  markus
+
+	* scripts/Makefile: added g.projinfo
+
+2003-04-29 17:04  markus
+
+	* scripts/g.projinfo, scripts/g.projinfo/Makefile,
+	  scripts/g.projinfo/description.html,
+	  scripts/g.projinfo/g.projinfo: added
+
+2003-04-29 16:53  markus
+
+	* display/d.m/vector.tcl: added SQL query on/off checkbox
+
+2003-04-29 15:42  markus
+
+	* lib/vector/Vlib/field.c: added missing \#include "gis.h"
+
+2003-04-29 14:45  markus
+
+	* include/Make/Grass.make.in: added all dependencies
+
+2003-04-29 14:28  paul
+
+	* display/d.where/Makefile: Fix for include path
+
+2003-04-29 13:51  markus
+
+	* display/d.m/vector.tcl: added fill area checkbox
+
+2003-04-29 13:01  markus
+
+	* display/d.m/vector.tcl: Label size added
+
+2003-04-29 11:12  markus
+
+	* include/Make/Grass.make.in: added GPROJDEP for d.where etc
+
+2003-04-29 09:46  markus
+
+	* display/d.m/vector.tcl: white space cosmetics
+
+2003-04-29 09:32  markus
+
+	* display/d.m/tool.tcl: extended help messages
+
+2003-04-29 09:30  markus
+
+	* display/d.m/Makefile: select.tcl: select -> gtcltk
+
+2003-04-29 09:12  markus
+
+	* lib/Makefile: added missing gmath lib
+
+2003-04-29 09:11  markus
+
+	* ps/ps.map/description.html: cleanup for appropriate style (the
+	  rest is added during compilation)
+
+2003-04-29 08:58  radim
+
+	* ps/ps.map/description.html: changes between 5.0 and 5.1
+
+2003-04-28 17:09  markus
+
+	* scripts/v.shape.regist/v.shape.register: some more updates
+
+2003-04-28 16:56  markus
+
+	* tools/cpbin.conf, tools/link.conf: r.proj added
+
+2003-04-28 16:56  markus
+
+	* raster/Makefile: added r.proj
+
+2003-04-28 16:56  markus
+
+	* raster/r.proj/Makefile, raster/r.proj/description.html: added
+
+2003-04-28 16:30  paul
+
+	* raster/r.proj/main.c: Colourtable support (suggestion from
+	  Markus)
+
+2003-04-28 16:28  markus
+
+	* scripts/v.shape.regist/v.shape.register: parser support, updates
+
+2003-04-28 12:47  markus
+
+	* include/Make/Grass.make.in: DBMIDEP added
+
+2003-04-28 09:54  markus
+
+	* scripts/r.univar/r.univar: fix
+
+2003-04-28 09:41  markus
+
+	* lib/rst/interp_float/interpf.h, vector/v.surf.rst/main.c: merged
+	  5.0 change into
+
+2003-04-28 09:22  markus
+
+	* scripts/Makefile: added r.univar
+
+2003-04-28 09:22  markus
+
+	* scripts/r.univar, scripts/r.univar/Makefile,
+	  scripts/r.univar/description.html, scripts/r.univar/r.univar:
+	  added
+
+2003-04-28 08:49  markus
+
+	* tools/cpbin.conf, tools/link.conf: added r.neighbors, r.stats
+
+2003-04-28 08:47  markus
+
+	* raster/Makefile: added r.stats
+
+2003-04-28 08:46  markus
+
+	* raster/r.stats/Makefile, raster/r.stats/description.html: added
+
+2003-04-28 08:24  markus
+
+	* lib/ogsf/gstypes.h: merged 5.0 update into
+
+2003-04-28 08:20  markus
+
+	* scripts/d.redraw/Makefile, scripts/g.manual/Makefile,
+	  scripts/pg.postgisdb/Makefile,
+	  scripts/v.distance.connect/Makefile: simplified Makefile
+
+2003-04-28 08:18  markus
+
+	* include/Make/Script.make: rule for scripts added
+
+2003-04-28 07:33  markus
+
+	* raster/Makefile: added r.neighbors
+
+2003-04-28 07:33  markus
+
+	* raster/r.neighbors/Makefile, raster/r.neighbors/description.html:
+	  added
+
+2003-04-27 22:26  paul
+
+	* lib/rst/interp_float/DESCRIPTION.INTERP,
+	  lib/rst/interp_float/interp2d.c, raster/r.resamp.rst/main.c: MASK
+	  support for RST modules
+
+2003-04-27 21:08  markus
+
+	* Makefile: imagery and docs added
+
+2003-04-27 21:04  glynn
+
+	* raster/r.mapcalc/expression.c: Initialise data.func.oper field to
+	  NULL (fix intermittent segfault)
+
+2003-04-23 12:41  markus
+
+	* lib/ogsf/GV2.c: fixed compiler warning, cosmetics
+
+2003-04-23 12:15  markus
+
+	* visualization/nviz/src/tkInt8.3.3.h,
+	  visualization/nviz/src/tkIntDecls8.3.3.h,
+	  visualization/nviz/src/togl.c: added tk8.3.3 headers
+
+2003-04-23 11:59  markus
+
+	* lib/gis/parser.c: tcl fix
+
+2003-04-22 17:32  bob
+
+	* lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_label.c,
+	  visualization/nviz/scripts/panel_label.tcl,
+	  visualization/nviz/scripts/panel_scale.tcl,
+	  visualization/nviz/src/label.c: Added functions for N arrow,
+	  colorbar, and labels
+
+2003-04-22 17:25  bob
+
+	* lib/ogsf/GV2.c, lib/ogsf/gv.c: Added flat vector option
+
+2003-04-22 17:24  bob
+
+	* lib/ogsf/gsd_prim.c: Fixed off-screen context size
+
+2003-04-22 17:20  bob
+
+	* lib/ogsf/gsd_legend.c: Added legend support
+
+2003-04-22 14:06  markus
+
+	* scripts/Makefile: added g.manual
+
+2003-04-22 14:06  markus
+
+	* scripts/g.manual, scripts/g.manual/Makefile,
+	  scripts/g.manual/description.html, scripts/g.manual/g.manual:
+	  added simple script version of g.manual, thanks to g.parser
+
+2003-04-22 13:11  paul
+
+	* display/d.where/main.c, display/d.where/where.c: Further tidying;
+	  fix handling of -1 flag when combined with other flags;
+	  keep consistent with manpage
+
+2003-04-22 11:48  markus
+
+	* tools/build_html_index.html: now W3 valid doc
+
+2003-04-22 09:05  markus
+
+	* general/g.parser/Makefile: htmlcmd hardcoded, currently no other
+	  way for this module
+
+2003-04-22 09:02  markus
+
+	* general/g.parser/description.html, general/g.parser/test.sh: 5.1
+	  example for g.parser added
+
+2003-04-22 08:52  markus
+
+	* tools/build_html_index.html: added check for modules missing the
+	  'description.html' file in src code directory
+
+2003-04-19 10:45  markus
+
+	* lib/gtcltk/Makefile: missing clean target added
+
+2003-04-19 09:36  markus
+
+	* scripts/v.distance.connect/v.distance.connect: added gisprompt
+	  buttons
+
+2003-04-18 15:43  radim
+
+	* display/d.m/d.m.tcl, display/d.m/select.tcl: select -> gtcltk
+
+2003-04-18 15:41  radim
+
+	* vector/v.digit/Makefile, vector/v.digit/attr.c,
+	  vector/v.digit/background.c, vector/v.digit/c_face.c,
+	  vector/v.digit/centre.c, vector/v.digit/display.c,
+	  vector/v.digit/global.h, vector/v.digit/i_face.c,
+	  vector/v.digit/icons/display.attributes.gif,
+	  vector/v.digit/icons/split.line.gif,
+	  vector/v.digit/icons/zoom.default.gif,
+	  vector/v.digit/icons/zoom.pan.gif,
+	  vector/v.digit/icons/zoom.region.gif,
+	  vector/v.digit/icons/zoom.window.gif, vector/v.digit/main.c,
+	  vector/v.digit/proto.h, vector/v.digit/settings.tcl,
+	  vector/v.digit/toolbox.tcl, vector/v.digit/vertex.c,
+	  vector/v.digit/zoom.c: zoom to (default) region, display
+	  attributes, split line
+
+2003-04-18 15:37  radim
+
+	* lib/Makefile, lib/gtcltk, lib/gtcltk/Makefile,
+	  lib/gtcltk/select.tcl: +gtcltk
+
+2003-04-18 15:35  radim
+
+	* lib/vector/diglib/frmt.c: ifdef HAVE_POSTGRES
+
+2003-04-18 15:25  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Graph_Set.c: fixed monitor
+	  title according to winname string (GRASS appeared twice)
+
+2003-04-18 15:21  markus
+
+	* scripts/Makefile: d.redraw added
+
+2003-04-18 15:20  markus
+
+	* scripts/pg.postgisdb/Makefile, scripts/pg.postgisdb/pg.postgisdb,
+	  scripts/pg.postgisdb/postgisdb: renamed to pg.postgisdb for
+	  consistency and for HTML builder
+
+2003-04-18 15:20  markus
+
+	* scripts/d.redraw, scripts/d.redraw/Makefile,
+	  scripts/d.redraw/d.redraw, scripts/d.redraw/description.html:
+	  added
+
+2003-04-18 14:47  markus
+
+	* scripts/v.shape.regist/v.shape.register,
+	  scripts/v.shape.regist/v.shape.unregister: tricks for the tricks.
+	  Maybe we cancel these scripts anyway in future
+
+2003-04-18 14:45  markus
+
+	* scripts/Makefile: cleanup of structure
+
+2003-04-18 14:45  markus
+
+	* scripts/Makefile, scripts/postgisdb, scripts/postgisdb.html,
+	  scripts/v.distance.connect/Makefile, scripts/v.shape.register,
+	  scripts/v.shape.register.html, scripts/v.shape.unregister,
+	  scripts/v.shape.unregister.html: cleanup of structure
+
+2003-04-18 14:45  markus
+
+	* scripts/pg.postgisdb, scripts/pg.postgisdb/Makefile,
+	  scripts/pg.postgisdb/description.html,
+	  scripts/pg.postgisdb/postgisdb, scripts/v.shape.regist,
+	  scripts/v.shape.regist/Makefile,
+	  scripts/v.shape.regist/v.shape.register,
+	  scripts/v.shape.regist/v.shape.register.html,
+	  scripts/v.shape.regist/v.shape.unregister,
+	  scripts/v.shape.regist/v.shape.unregister.html: moved here from
+	  ../
+
+2003-04-18 13:33  markus
+
+	* scripts/Makefile: moved scripts to subdirs
+
+2003-04-18 13:15  markus
+
+	* scripts/v.distance.connect,
+	  scripts/v.distance.connect/description.html,
+	  scripts/v.distance.connect/v.distance.connect: v.distance.connect
+	  added
+
+2003-04-18 12:51  markus
+
+	* vector/v.build.polylines/main.c, vector/v.build/main.c,
+	  vector/v.category/main.c, vector/v.clean/main.c,
+	  vector/v.clean/test/topocheck.c, vector/v.info/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.out.ogr/main.c, vector/v.transform/main.c: message
+	  cosmetics
+
+2003-04-18 12:10  markus
+
+	* general/manage/lib/do_remove.c: added test if vector map exists
+
+2003-04-18 09:25  markus
+
+	* raster/r.colors/description.html: sync with 5.0
+
+2003-04-18 00:35  glynn
+
+	* configure, configure.in: Add $SOCKLIB, $MATHLIB to MySQL
+	  dependency candidates
+
+2003-04-17 16:35  markus
+
+	* vector/Makefile: added v.distance
+
+2003-04-17 16:35  markus
+
+	* vector/v.distance, vector/v.distance/Makefile,
+	  vector/v.distance/box_closer.c,
+	  vector/v.distance/description.html, vector/v.distance/distance.c,
+	  vector/v.distance/local_proto.h, vector/v.distance/main.c: added
+	  v.distance, updated by Radim
+
+2003-04-17 16:27  markus
+
+	* vector/v.net.iso/description.html: example
+
+2003-04-17 15:30  markus
+
+	* vector/v.in.ascii/description.html: example added
+
+2003-04-17 15:15  markus
+
+	* lib/gis/parser.c: small fix for --html-description
+
+2003-04-17 14:52  markus
+
+	* vector/v.db.connect/main.c: TODO added
+
+2003-04-17 14:51  markus
+
+	* imagery/Makefile, imagery/i.ask/Makefile, imagery/i.cca/Makefile,
+	  imagery/i.cca/description.html, imagery/i.class/Makefile,
+	  imagery/i.class/description.html, imagery/i.cluster/Makefile,
+	  imagery/i.cluster/description.html, imagery/i.fft/Makefile,
+	  imagery/i.fft/description.html, imagery/i.find/Makefile,
+	  imagery/i.gensig/Makefile, imagery/i.gensig/description.html,
+	  imagery/i.gensigset/Makefile,
+	  imagery/i.gensigset/description.html, imagery/i.group/Makefile,
+	  imagery/i.group/description.html, imagery/i.his.rgb/Makefile,
+	  imagery/i.his.rgb/description.html, imagery/i.ifft/Makefile,
+	  imagery/i.ifft/description.html, imagery/i.maxlik/Makefile,
+	  imagery/i.maxlik/description.html, imagery/i.pca/Makefile,
+	  imagery/i.pca/description.html, imagery/i.points/Makefile,
+	  imagery/i.points/description.html, imagery/i.rectify/Makefile,
+	  imagery/i.rectify/description.html, imagery/i.rgb.his/Makefile,
+	  imagery/i.rgb.his/description.html, imagery/i.smap/Makefile,
+	  imagery/i.smap/bouman/Makefile, imagery/i.smap/shapiro/Makefile,
+	  imagery/i.smap/shapiro/description.html,
+	  imagery/i.target/Makefile, imagery/i.target/description.html,
+	  imagery/i.zc/Makefile, imagery/i.zc/description.html: added
+	  imagery modules (those not added either require vector update or
+	  are rather useless)
+
+2003-04-17 14:49  markus
+
+	* tools/cpbin.conf, tools/link.conf: added imagery modules
+
+2003-04-17 14:23  markus
+
+	* include/Make/Grass.make.in: fixed GMATHDEP, added ISMAPLIB for
+	  i.smap
+
+2003-04-17 14:07  markus
+
+	* lib/gis/Makefile: added missing done_msg.o
+
+2003-04-17 14:03  markus
+
+	* imagery/i.rectify/main.c: squared brackets are not supported by
+	  parser.c/tcl/5.1, changed to ()
+
+2003-04-17 13:43  markus
+
+	* vector/v.net.iso/description.html: note added
+
+2003-04-17 12:06  markus
+
+	* vector/v.patch/description.html: small fixes
+
+2003-04-17 12:01  markus
+
+	* vector/v.in.ogr/main.c: improved user message
+
+2003-04-17 11:39  markus
+
+	* vector/v.clean/description.html,
+	  vector/v.in.ogr/description.html: example added
+
+2003-04-17 10:03  markus
+
+	* vector/v.in.ogr/description.html, vector/v.in.ogr/main.c: typo
+	  fixed, fixed creating of empty file when layers are printed
+
+2003-04-17 09:46  markus
+
+	* lib/gis/parser.c: color cosmetics, feel free to modify again
+
+2003-04-17 09:00  markus
+
+	* vector/v.db.connect/main.c: field fixes
+
+2003-04-16 17:17  markus
+
+	* vector/v.db.connect/main.c: added test if field not found, TODOs
+	  added (expert needed)
+
+2003-04-16 17:06  markus
+
+	* vector/v.db.connect/main.c: vect open fix, print also key
+
+2003-04-16 15:41  paul
+
+	* general/g.region/cmd/printwindow.c: Fix
+
+2003-04-16 14:10  paul
+
+	* raster/r.proj/main.c: Extra informative output added to
+	  [rsv].proj and tidied a bit
+
+2003-04-16 12:09  paul
+
+	* include/gproj_api.h, include/gprojects.h: New function to report
+	  actual projection parameters being used by proj
+
+2003-04-16 10:13  markus
+
+	* lib/gis/parser.c: added module description to tcl GUI
+
+2003-04-16 09:44  markus
+
+	* imagery/i.cluster/main.c: moved G_get_window(), I_cluster_clear()
+	  after G_parser for --html-description flag
+
+2003-04-16 08:23  markus
+
+	* display/d.rhumbline/main.c, display/d.where/main.c: fix for
+	  startup
+
+2003-04-16 08:23  markus
+
+	* display/d.geodesic/main.c: fix for startup, cc warnings fixed
+
+2003-04-16 08:20  markus
+
+	* db/base/Makefile, display/d.frame/Makefile,
+	  general/manage/cmd/Makefile: renamed html to htmlcmd for
+	  consistency
+
+2003-04-16 08:16  markus
+
+	* include/Make/Grass.make.in, include/Make/Module.make,
+	  include/Make/Rules.make: added more dependencies, renamed html to
+	  htmlcmd for consistency
+
+2003-04-15 19:50  paul
+
+	* display/d.where/description.html, display/d.where/main.c,
+	  include/gisdefs.h, lib/gis/datum.c: New function to extract
+	  datum-related parameters from a set of PROJ_INFO
+	  values. Make use of it in the improved d.where.
+
+2003-04-15 15:54  markus
+
+	* include/Make/Grass.make.in: added missing LINK_FLAGS
+
+2003-04-15 13:19  markus
+
+	* INSTALL: CVS HEAD version note added
+
+2003-04-15 10:08  markus
+
+	* display/d.profile/Makefile, display/d.rast.edit/Makefile,
+	  display/d.where/Makefile: fixed DEPENDENCIES names
+
+2003-04-15 09:44  markus
+
+	* display/d.m/Makefile, display/d.m/d.m.tcl, display/d.m/tksys.tcl:
+	  added 'About System'
+
+2003-04-14 19:10  paul
+
+	* display/d.where/Makefile: Extra include directory needed for
+	  external proj
+
+2003-04-14 17:07  markus
+
+	* display/d.where/description.html: 5.0 changes merged into
+
+2003-04-14 17:05  markus
+
+	* tools/link.conf: coorcnv removed, gmath added
+
+2003-04-14 17:03  markus
+
+	* include/Make/Grass.make.in: renamed libs to libgrass_xxx scheme,
+	  more sorted, DBDIALOGLIB, MANAGELIB added
+
+2003-04-14 17:02  markus
+
+	* Makefile: added deletion of docs
+
+2003-04-14 17:02  markus
+
+	* db/drivers/mysql/Makefile, db/drivers/postgres/Makefile: use new
+	  DBDIALOG lib name
+
+2003-04-14 17:00  markus
+
+	* general/manage/cmd/Makefile: use new lib name
+
+2003-04-14 16:58  markus
+
+	* db/drivers/dialog/Makefile, general/manage/lib/Makefile: lib name
+	  now defined in include/Grass.make
+
+2003-04-14 16:18  markus
+
+	* include/Make/Grass.make.in: added GMATHDEP, sorted some part
+
+2003-04-14 16:16  paul
+
+	* display/d.where/Makefile, lib/Makefile, lib/coorcnv: coorcnv is
+	  old stuff; don't want this migrated to GRASS 5.1
+
+2003-04-14 16:09  markus
+
+	* general/g.setproj/description.html: urls fixed
+
+2003-04-14 16:06  paul
+
+	* display/d.where/main.c, display/d.where/where.c: Fix d.where to
+	  use proj instead of coorcnv lib (good for GRASS 5.1) and
+	  add some extra functionality afforded by use of proj over coorcnv
+
+2003-04-14 15:58  markus
+
+	* lib/gmath/Makefile: added for i.cca
+
+2003-04-14 15:21  markus
+
+	* general/Makefile, tools/link.conf: added g.setproj
+
+2003-04-14 15:20  markus
+
+	* include/Make/Module.make, include/Make/Rules.make: htmlinter
+	  rules added for inter modules
+
+2003-04-14 15:20  markus
+
+	* general/g.setproj/Makefile, general/g.setproj/description.html:
+	  added
+
+2003-04-14 15:13  markus
+
+	* general/g.version/description.html: added
+
+2003-04-14 14:53  markus
+
+	* general/g.version/Makefile: generate COPYING file properly
+
+2003-04-14 14:52  markus
+
+	* display/d.m/Makefile, display/d.m/d.m.tcl,
+	  display/d.m/grassabout.tcl: added help texts
+
+2003-04-14 14:44  markus
+
+	* include/Make/Grass.make.in: added VERSION_FILE for g.version
+
+2003-04-14 14:25  markus
+
+	* general/Makefile, tools/link.conf: g.version added
+
+2003-04-14 14:24  markus
+
+	* general/g.version/Makefile: added
+
+2003-04-14 13:54  markus
+
+	* general/g.gisenv/main.c: merged 5.0 changes into
+
+2003-04-14 12:05  markus
+
+	* tools/link.conf: cleanup for proj4
+
+2003-04-14 09:08  markus
+
+	* tools/build_html_index.html: added EXCLUDEHTML list for modules
+	  to be ignored in index.html
+
+2003-04-14 08:40  markus
+
+	* vector/v.db.connect/description.html: more examples
+
+2003-04-14 08:27  markus
+
+	* tools/build_html_index.html: top menu added
+
+2003-04-11 18:10  markus
+
+	* db/base/Makefile, display/d.frame/Makefile,
+	  general/manage/cmd/Makefile: index added
+
+2003-04-11 17:21  markus
+
+	* include/Make/Rules.make: html cosmetics
+
+2003-04-11 17:20  markus
+
+	* vector/v.in.db/description.html, vector/v.to.db/description.html:
+	  added
+
+2003-04-11 17:15  markus
+
+	* display/d.frame/Makefile, display/d.frame/d.frame.html,
+	  display/d.frame/description.html: when compiling multiple
+	  programs, description.html must have the program name (here:
+	  d.frame.html)
+
+2003-04-11 17:10  markus
+
+	* display/d.frame/description.html,
+	  general/g.parser/description.html,
+	  general/g.tempfile/description.html,
+	  raster/r.colors/description.html,
+	  raster/r.composite/description.html,
+	  raster/r.cost/description.html, raster/r.his/description.html,
+	  raster/r.mapcalc/description.html,
+	  vector/v.proj/description.html: added
+
+2003-04-11 17:02  markus
+
+	* tools/g51.extract_description.sh: DESCRIPTION test added
+
+2003-04-11 16:55  markus
+
+	* ps/ps.map/description.html, raster/r.buffer/description.html,
+	  raster/r.clump/description.html: added
+
+2003-04-11 16:38  markus
+
+	* include/Make/Rules.make: refer to Help Index
+
+2003-04-11 15:52  markus
+
+	* display/Makefile: cleanup
+
+2003-04-11 15:45  markus
+
+	* display/Makefile: most display commands added
+
+2003-04-11 15:39  markus
+
+	* tools/cpbin.conf, tools/g51.extract_description.sh,
+	  tools/link.conf: most display commands added. Tool to extract 5.0
+	  HTML pieces added.
+
+2003-04-11 15:37  markus
+
+	* display/d.linegraph/Makefile~: removed
+
+2003-04-11 15:34  markus
+
+	* display/d.linegraph/Makefile, display/d.linegraph/Makefile~,
+	  display/d.linegraph/description.html, display/d.where/Makefile,
+	  display/d.where/description.html: added
+
+2003-04-11 15:30  markus
+
+	* lib/Makefile: coorcnv added
+
+2003-04-11 15:30  markus
+
+	* lib/coorcnv, lib/coorcnv/Makefile: added for d.where
+
+2003-04-11 15:25  markus
+
+	* display/d.legend/Makefile, display/d.legend/description.html,
+	  display/d.mapgraph/Makefile, display/d.mapgraph/description.html,
+	  display/d.measure/Makefile, display/d.measure/description.html,
+	  display/d.profile/Makefile, display/d.profile/description.html,
+	  display/d.rast.arrow/Makefile,
+	  display/d.rast.arrow/description.html,
+	  display/d.rast.edit/Makefile,
+	  display/d.rast.edit/description.html,
+	  display/d.rast.num/Makefile, display/d.rast.num/description.html,
+	  display/d.rhumbline/Makefile,
+	  display/d.rhumbline/description.html, display/d.save/Makefile,
+	  display/d.save/description.html, display/d.scale,
+	  display/d.scale/Makefile, display/d.scale/description.html,
+	  display/d.text/description.html, display/d.title/Makefile,
+	  display/d.title/description.html: added
+
+2003-04-11 14:59  radim
+
+	* display/d.vect/main.c: min/max region
+
+2003-04-11 14:58  radim
+
+	* display/d.m/d.m.tcl, display/d.m/display.region.gif,
+	  display/d.m/tool.tcl, display/d.m/vector.tcl: display region,
+	  vector min/maxreg
+
+2003-04-11 14:56  radim
+
+	* vector/v.extract/main.c: -t option
+
+2003-04-11 14:54  radim
+
+	* vector/v.to.db, vector/v.to.db/Makefile, vector/v.to.db/areas.c,
+	  vector/v.to.db/calc.c, vector/v.to.db/find.c,
+	  vector/v.to.db/global.h, vector/v.to.db/lines.c,
+	  vector/v.to.db/main.c, vector/v.to.db/parse.c,
+	  vector/v.to.db/report.c, vector/v.to.db/units.c,
+	  vector/v.to.db/update.c: v.to.db
+
+2003-04-11 14:53  radim
+
+	* vector/v.in.db, vector/v.in.db/Makefile, vector/v.in.db/main.c:
+	  v.in.db
+
+2003-04-11 14:51  radim
+
+	* vector/Makefile: v.to.db, v.in.db
+
+2003-04-11 14:49  radim
+
+	* display/drivers/XDRIVER/XDRIVER24/Graph_Set.c: cursor modified
+
+2003-04-11 14:48  radim
+
+	* vector/v.digit/c_face.c, vector/v.digit/centre.c,
+	  vector/v.digit/global.h, vector/v.digit/icons/add.vertex.gif,
+	  vector/v.digit/icons/move.vertex.gif,
+	  vector/v.digit/icons/rm.vertex.gif, vector/v.digit/line.c,
+	  vector/v.digit/proto.h, vector/v.digit/toolbox.tcl,
+	  vector/v.digit/vertex.c: add vertex, remove vertex
+
+2003-04-11 14:45  radim
+
+	* db/drivers/dbf/dbfexe.c: check if column exists
+
+2003-04-11 14:45  markus
+
+	* display/d.geodesic/Makefile: fix
+
+2003-04-11 14:45  markus
+
+	* display/d.geodesic/Makefile, display/d.geodesic/description.html,
+	  display/d.graph/Makefile, display/d.graph/description.html,
+	  display/d.grid/description.html, display/d.his/description.html,
+	  display/d.histogram/Makefile,
+	  display/d.histogram/description.html: added
+
+2003-04-11 14:26  markus
+
+	* display/d.font/Makefile, display/d.font/description.html: added
+
+2003-04-11 11:26  markus
+
+	* display/d.colortable/Makefile,
+	  display/d.colortable/description.html: added
+
+2003-04-11 11:20  markus
+
+	* display/d.colors/Makefile, display/d.colors/description.html:
+	  added
+
+2003-04-11 10:13  markus
+
+	* display/d.barscale/description.html: added
+
+2003-04-11 09:59  markus
+
+	* display/d.colorlist/Makefile,
+	  display/d.colorlist/description.html, display/d.rgb/Makefile,
+	  display/d.rgb/description.html: added
+
+2003-04-11 09:50  markus
+
+	* display/d.ask/Makefile, display/d.ask/description.html: added
+
+2003-04-10 14:15  markus
+
+	* lib/ogsf/Makefile: simplified
+
+2003-04-10 12:49  markus
+
+	* vector/v.convert/old2new.c: fixed typo
+
+2003-04-10 11:29  paul
+
+	* raster/r.sun/main.c: Only set up projection parameters once at
+	  start of program, not for every cell
+
+2003-04-10 11:26  paul
+
+	* configure, configure.in, include/Make/Grass.make.in,
+	  include/Make/Platform.make.in, include/gprojects.h,
+	  lib/proj/Makefile, vector/v.proj/Makefile, vector/v.proj/main.c:
+	  Updated to use external PROJ.4 library
+
+2003-04-10 08:16  markus
+
+	* include/gprojects.h: Paul Kelly: added
+
+2003-04-09 08:48  hamish
+
+	* raster/r.sun/main.c: minor typo in coefbh= option description
+
+2003-04-08 15:52  paul
+
+	* lib/gis/datum.c: Bugfix when no shift parameters specified in
+	  datum.table
+
+2003-04-08 08:55  radim
+
+	* lib/vector/diglib/plus_area.c: fix for isolated degenerate line
+
+2003-04-08 08:54  radim
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/map.c: build
+	  improvements
+
+2003-04-08 08:53  radim
+
+	* vector/v.clean/bpol.c, vector/v.clean/main.c,
+	  vector/v.clean/proto.h: break polygons
+
+2003-04-07 15:15  paul
+
+	* general/g.region/cmd/printwindow.c, include/gproj_api.h,
+	  raster/r.proj/bordwalk.c, raster/r.proj/main.c,
+	  raster/r.sun/main.c, raster/r.sunmask/g_solposition.c: External
+	  PROJ.4 (libproj) support
+
+2003-04-04 16:35  radim
+
+	* display/Makefile, display/d.vect.chart,
+	  display/d.vect.chart/Makefile, display/d.vect.chart/bar.c,
+	  display/d.vect.chart/description.html,
+	  display/d.vect.chart/global.h, display/d.vect.chart/main.c,
+	  display/d.vect.chart/pie.c, display/d.vect.chart/plot.c:
+	  d.vect.chart
+
+2003-04-04 05:00  eric
+
+	* display/d.histogram/get_stats.c: Revert revert and remove
+	  va_copy.
+
+2003-04-04 03:52  glynn
+
+	* display/d.histogram/get_stats.c: Revert attempt at fixing use of
+	  system()
+	  Enlarge command buffer
+
+2003-04-04 03:47  glynn
+
+	* lib/db/dbmi/error.c: Fix errno handling
+
+2003-04-03 17:08  markus
+
+	* tools/cpbin.conf: d.grid part of 5.1 now
+
+2003-04-03 13:50  radim
+
+	* display/d.m/d.m.tcl, display/d.m/print.tcl: init print tmp files,
+	  delete tmpfiles, save script option
+
+2003-04-03 12:04  markus
+
+	* doc/debugging.txt: debug now with: g.gisenv set="DEBUG=X"
+
+2003-04-03 10:19  hamish
+
+	* raster/r.proj/main.c: more verbose description for -n flag
+
+2003-04-03 09:29  radim
+
+	* vector/v.extract/extract.c: catr->catl bugfix
+
+2003-04-03 09:10  radim
+
+	* vector/v.proj/main.c: z coor
+
+2003-04-03 07:58  markus
+
+	* lib/init/init.sh: graphical user interface: d.m
+
+2003-04-03 07:56  markus
+
+	* vector/v.format/v.format.tcl: added map names printing
+
+2003-04-03 07:50  markus
+
+	* vector/v.format/Makefile: fix, be sure to clean the scripts from
+	  dist.$ARCH before recompiling
+
+2003-04-03 07:29  markus
+
+	* db/base/Makefile: hopefully last fix
+
+2003-04-03 07:28  markus
+
+	* general/manage/cmd/Makefile: renamed html target
+
+2003-04-03 07:23  markus
+
+	* db/base/Makefile: fixed nonsense line, renamed html target
+
+2003-04-02 21:31  markus
+
+	* general/Makefile, tools/cpbin.conf, tools/link.conf: g.tempfile
+	  added
+
+2003-04-02 21:27  markus
+
+	* general/g.tempfile/Makefile: added
+
+2003-04-02 15:29  markus
+
+	* lib/gis/parser.c: have GRASS_HTML_BROWSER as separate process
+
+2003-04-02 15:19  markus
+
+	* db/base/Makefile, general/manage/cmd/Makefile: fix
+
+2003-04-02 15:16  markus
+
+	* lib/gis/parser.c: added help text button
+
+2003-04-02 15:15  markus
+
+	* lib/init/init.sh: added GRASS_HTML_BROWSER for help texts
+
+2003-04-02 14:44  radim
+
+	* vector/v.proj/main.c: debug level
+
+2003-04-02 12:23  mike
+
+	* lib/gis/done_msg.c: MinGW32 temporary workaround.
+
+2003-04-02 11:26  markus
+
+	* db/base/Makefile, general/manage/cmd/Makefile: fixed remaining
+	  problem, now ok
+
+2003-04-02 07:53  radim
+
+	* include/Make/Grass.make.in: VECT_CFLAGS
+
+2003-04-01 16:55  paul
+
+	* general/g.setproj/get_datum.c, general/g.setproj/main.c,
+	  lib/gis/get_datum_name.c, lib/gis/get_ellipse.c: Fix two bugs of
+	  my introduction in gislib and slight g.setproj improvement
+
+2003-04-01 14:31  markus
+
+	* display/d.mon/cmd/description.html,
+	  general/g.gisenv/description.html,
+	  general/g.mapsets/description.html,
+	  general/g.region/cmd/description.html: Otto Dassau:
+	  desciption.html added
+
+2003-04-01 14:20  markus
+
+	* vector/v.in.ascii/description.html,
+	  vector/v.out.ascii/description.html: Otto Dassau: desciption.html
+	  added
+
+2003-04-01 14:16  markus
+
+	* scripts/postgisdb.html, scripts/v.shape.register.html,
+	  scripts/v.shape.unregister.html: added descriptions
+
+2003-04-01 14:13  markus
+
+	* general/manage/cmd/Makefile, general/manage/cmd/g.copy.html,
+	  general/manage/cmd/g.list.html, general/manage/cmd/g.remove.html,
+	  general/manage/cmd/g.rename.html: added HTML support, same bugfix
+	  as for db/base/Makefile needed
+
+2003-04-01 14:06  markus
+
+	* display/d.vect/main.c: bgcolor/bcolor fix
+
+2003-04-01 13:56  markus
+
+	* db/base/Makefile, db/base/db.columns.html,
+	  db/base/db.connect.html, db/base/db.copy.html,
+	  db/base/db.createdb.html, db/base/db.databases.html,
+	  db/base/db.describe.html, db/base/db.drivers.html,
+	  db/base/db.dropdb.html, db/base/db.droptable.html,
+	  db/base/db.execute.html, db/base/db.select.html,
+	  db/base/db.tables.html: added html file support, adding of
+	  descriptions still fails
+
+2003-04-01 13:42  markus
+
+	* include/Make/Rules.make: pass GISBASE for fake session
+
+2003-04-01 13:41  markus
+
+	* lib/gis/env.c: fix for fakesession
+
+2003-04-01 13:03  radim
+
+	* vector/Makefile, vector/v.proj, vector/v.proj/Makefile,
+	  vector/v.proj/local_proto.h, vector/v.proj/main.c,
+	  vector/v.proj/setenv.c: v.proj
+
+2003-04-01 12:59  radim
+
+	* vector/v.net.salesman/main.c, vector/v.net.steiner/main.c: not
+	  used proto.h
+
+2003-04-01 12:57  radim
+
+	* include/Vect.h, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_post.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/open.c,
+	  vector/v.convert/att.c, vector/v.digit/c_face.c,
+	  vector/v.in.dwg/main.c, vector/v.in.ogr/main.c,
+	  vector/v.in.sites/main.c: field info reads location from map
+	  structure
+
+2003-04-01 12:51  radim
+
+	* include/vect/dig_structs.h: gisdbase + location to map structure
+
+2003-04-01 12:46  markus
+
+	* vector/Makefile: v.ascii: split into v.in.ascii and v.out.ascii
+
+2003-04-01 12:46  markus
+
+	* vector/v.ascii: split into v.in.ascii and v.out.ascii
+
+2003-04-01 12:45  markus
+
+	* vector/v.in.ascii, vector/v.in.ascii/Makefile,
+	  vector/v.in.ascii/a2b.c, vector/v.in.ascii/head.c,
+	  vector/v.in.ascii/in.c, vector/v.in.ascii/local_proto.h,
+	  vector/v.out.ascii, vector/v.out.ascii/Makefile,
+	  vector/v.out.ascii/b2a.c, vector/v.out.ascii/head.c,
+	  vector/v.out.ascii/local_proto.h, vector/v.out.ascii/out.c: was
+	  in v.ascii, split into two directories
+
+2003-04-01 12:44  markus
+
+	* tools/link.conf: d.grid
+
+2003-04-01 12:17  markus
+
+	* display/d.m/Makefile, display/d.m/d.m: parser support added and
+	  html page generator
+
+2003-04-01 12:16  markus
+
+	* include/Make/Rules.make: trick to satisfy g.parser added for
+	  htmlscript target
+
+2003-04-01 12:11  markus
+
+	* vector/v.format/Makefile, vector/v.format/v.format: small fixes
+
+2003-04-01 12:02  markus
+
+	* display/d.grid/Makefile: added
+
+2003-04-01 12:00  markus
+
+	* display/d.frame/Makefile: each Makefile must have a $(PGM) to
+	  satisfy the html built target
+
+2003-04-01 11:55  markus
+
+	* include/Make/Rules.make, vector/v.format/Makefile: added
+	  htmlscript rule for scripts with g.parser support
+
+2003-04-01 11:53  markus
+
+	* vector/v.format/Makefile, vector/v.format/v.format: added parser
+	  support
+
+2003-04-01 11:53  markus
+
+	* general/Makefile, tools/build_html_index.html, tools/link.conf:
+	  g.parser added
+
+2003-04-01 11:50  markus
+
+	* general/g.parser/Makefile: added
+
+2003-04-01 11:27  markus
+
+	* vector/v.in.dwg/description.html: description addded
+
+2003-04-01 11:23  markus
+
+	* lib/gis/parser.c: small fix for G_html_usage()
+
+2003-04-01 10:21  markus
+
+	* tools/build_html_index.html: bugfix
+
+2003-04-01 10:02  radim
+
+	* lib/proj/Makefile: removed krovakgis
+
+2003-04-01 09:52  radim
+
+	* lib/gis/projections: krovakgis removed
+
+2003-04-01 08:50  markus
+
+	* include/gisdefs.h: sync'ed with 5.0
+
+2003-04-01 06:51  cho
+
+	* display/d.text.freetype/main.c, lib/init/README,
+	  raster/r.in.gridatb/main.c, raster/r.out.gridatb/main.c,
+	  raster/r.topidx/main.c, raster/r.topmodel/REFERENCE,
+	  raster/r.topmodel/main.c: email address corrected
+
+2003-03-31 19:35  paul
+
+	* general/g.region/cmd/adjust.c,
+	  general/g.region/cmd/printwindow.c, raster/r.sun/main.c,
+	  raster/r.sunmask/g_solposition.c, raster/r.sunmask/main.c: Get
+	  rid of most occurences of pj_get_string() and just use the more
+	  robust
+	  pj_get_kv(), fix some other compiler warnings in modules that use
+	  these
+	  functions
+
+2003-03-31 15:35  markus
+
+	* Makefile, tools/build_html_index.html: added simple index.html
+	  builder for html man pages
+
+2003-03-31 13:37  markus
+
+	* lib/g3d/g3dmask.c, lib/g3d/tilewrite.c: Alfonso Vitti
+	  <alfonso.vitti at ing.unitn.it>: row/col fixes for tiles
+
+2003-03-31 11:57  markus
+
+	* lib/gis/Makefile: merged datum.table etc changes from 5.0 into
+
+2003-03-31 11:53  markus
+
+	* lib/proj/Makefile: cosmetics with order
+
+2003-03-31 11:22  markus
+
+	* general/g.region/cmd/main.c: merged 5.0 changes into
+
+2003-03-31 10:19  markus
+
+	* general/g.region/cmd/main.c: fixed relative position of
+	  G_parser()
+
+2003-03-31 09:55  markus
+
+	* display/d.barscale/main.c: moved G_parser() up for 5.1's make
+	  html
+
+2003-03-31 09:28  markus
+
+	* raster/r.cost/stash.h: moved G_parser() up, removed unused
+	  variables, removed some oldish, unused code
+
+2003-03-31 08:35  markus
+
+	* lib/gis/env.c: fakestart fix
+
+2003-03-30 20:25  eric
+
+	* display/d.histogram/get_stats.c: Quote both input and output
+	  names for r.stats system command. Dynamically
+	  allocate command buffer. Check fopen() didn't fail for reading
+	  back the
+	  temp file from r.stats.
+
+2003-03-28 13:37  radim
+
+	* display/d.m/Makefile, display/d.m/d.m.tcl, display/d.m/group.tcl,
+	  display/d.m/print.tcl, display/d.m/raster.tcl,
+	  display/d.m/tool.tcl, display/d.m/vector.tcl: printing
+
+2003-03-28 13:36  radim
+
+	* ps/ps.map/local_proto.h, ps/ps.map/main.c, ps/ps.map/r_vareas.c,
+	  ps/ps.map/read_cfg.c: print papers
+
+2003-03-27 23:12  markus
+
+	* include/Make/Module.make, include/Make/Rules.make, lib/gis/env.c,
+	  lib/gis/gisinit.c, lib/gis/parser.c: fake session support added
+	  for --html-description in Makefiles
+
+2003-03-27 23:01  markus
+
+	* display/d.vect/Makefile: cleaned html target, newversion to come
+
+2003-03-27 18:38  glynn
+
+	* raster/r.mapcalc/map.c: Fix bug in colour modifiers
+
+2003-03-27 18:09  markus
+
+	* display/Makefile, tools/link.conf: added d.frame
+
+2003-03-27 18:08  markus
+
+	* display/d.frame/Makefile: fix
+
+2003-03-27 18:07  markus
+
+	* display/d.frame/Makefile: added
+
+2003-03-27 17:58  markus
+
+	* display/Makefile, tools/cpbin.conf, tools/link.conf: d.text added
+
+2003-03-27 17:57  markus
+
+	* display/d.text/Makefile: added
+
+2003-03-26 17:27  markus
+
+	* raster/r.gdal/Makefile: fixed order of LIBES
+
+2003-03-26 16:52  markus
+
+	* general/g.region/cmd/Makefile: fixed order of LIBES
+
+2003-03-26 15:56  radim
+
+	* ps, ps/Makefile, ps/ps.map, ps/ps.map/Makefile, ps/ps.map/README,
+	  ps/ps.map/box.c, ps/ps.map/chk_scale.c, ps/ps.map/clr.h,
+	  ps/ps.map/colortable.h, ps/ps.map/comment.c, ps/ps.map/comment.h,
+	  ps/ps.map/distance.c, ps/ps.map/do_grid.c, ps/ps.map/do_header.c,
+	  ps/ps.map/do_labels.c, ps/ps.map/do_masking.c,
+	  ps/ps.map/do_plt.c, ps/ps.map/do_psfiles.c,
+	  ps/ps.map/do_vectors.c, ps/ps.map/eps.c, ps/ps.map/error.c,
+	  ps/ps.map/fit_map.c, ps/ps.map/get_font.c, ps/ps.map/getgrid.c,
+	  ps/ps.map/gprims.c, ps/ps.map/group.h, ps/ps.map/header.h,
+	  ps/ps.map/input.c, ps/ps.map/key_data.c, ps/ps.map/labels.h,
+	  ps/ps.map/local_proto.h, ps/ps.map/main.c, ps/ps.map/makeprocs.c,
+	  ps/ps.map/map_info.c, ps/ps.map/map_info.h,
+	  ps/ps.map/map_setup.c, ps/ps.map/mtextbox.c, ps/ps.map/outl_io.c,
+	  ps/ps.map/paper.h, ps/ps.map/parse_list.c, ps/ps.map/prolog.ps,
+	  ps/ps.map/ps_clrtbl.c, ps/ps.map/ps_colors.c,
+	  ps/ps.map/ps_fclrtbl.c, ps/ps.map/ps_header.c,
+	  ps/ps.map/ps_info.h, ps/ps.map/ps_map.c, ps/ps.map/ps_outline.c,
+	  ps/ps.map/ps_raster.c, ps/ps.map/ps_vareas.c,
+	  ps/ps.map/ps_vlegend.c, ps/ps.map/ps_vlines.c,
+	  ps/ps.map/ps_vpoints.c, ps/ps.map/r_cell.c,
+	  ps/ps.map/r_colortable.c, ps/ps.map/r_group.c,
+	  ps/ps.map/r_header.c, ps/ps.map/r_info.c, ps/ps.map/r_labels.c,
+	  ps/ps.map/r_paper.c, ps/ps.map/r_plt.c, ps/ps.map/r_rgb.c,
+	  ps/ps.map/r_text.c, ps/ps.map/r_vareas.c, ps/ps.map/r_vlegend.c,
+	  ps/ps.map/r_vlines.c, ps/ps.map/r_vpoints.c, ps/ps.map/r_wind.c,
+	  ps/ps.map/read_cfg.c, ps/ps.map/scale.c, ps/ps.map/scan_gis.c,
+	  ps/ps.map/scan_misc.c, ps/ps.map/scan_ref.c, ps/ps.map/session.c,
+	  ps/ps.map/show_scale.c, ps/ps.map/symbol.c, ps/ps.map/textbox.c,
+	  ps/ps.map/vect.c, ps/ps.map/vector.c, ps/ps.map/vector.h,
+	  ps/ps.map/yesno.c: ps.map
+
+2003-03-26 15:52  radim
+
+	* display/d.m/vector.tcl, display/d.vect/Makefile,
+	  display/d.vect/area.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot1.c: symbol
+
+2003-03-26 15:45  radim
+
+	* lib/vector/diglib/Makefile: linecros
+
+2003-03-26 15:44  radim
+
+	* lib/vector/Vlib/array.c: vector array
+
+2003-03-26 15:42  radim
+
+	* include/Make/Grass.make.in, include/symbol.h, lib/Makefile,
+	  lib/symbol/symbol, lib/symbol/symbol/basic,
+	  lib/symbol/symbol/basic/box, lib/symbol/symbol/basic/circle,
+	  lib/symbol/symbol/basic/cross, lib/symbol/symbol/basic/diamond,
+	  lib/symbol/symbol/basic/x, lib/symbol/symbol/demo,
+	  lib/symbol/symbol/demo/muchomurka, lib/symbol/symbol/demo/smrk:
+	  symbol lib
+
+2003-03-26 15:41  radim
+
+	* lib/symbol, lib/symbol/Makefile, lib/symbol/README,
+	  lib/symbol/read.c, lib/symbol/stroke.c: symblib
+
+2003-03-26 15:39  radim
+
+	* lib/gis/color_str.c: color NONE
+
+2003-03-26 15:36  radim
+
+	* include/Vect.h, include/vect/dig_structs.h: vector array
+
+2003-03-26 15:35  radim
+
+	* Makefile: ps
+
+2003-03-25 17:38  paul
+
+	* lib/gis/datumtransform.table: Fix classification of datum shift
+	  files according to discussion on PROJ.4
+	  mailing list
+
+2003-03-21 18:01  markus
+
+	* display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot.h, display/d.vect/zcoor.c: added
+	  display=zcoor to display elevation of nodes
+
+2003-03-19 16:33  glynn
+
+	* lib/gis/quant.c: Handle case where
+	  G__quant_get_rule_for_d_raster_val() returns null (bug #1502)
+
+2003-03-18 20:58  paul
+
+	* include/gisdefs.h: New function G_ask_datum_params()
+
+2003-03-17 17:50  markus
+
+	* include/gisdefs.h: sync'ed with 5.0
+
+2003-03-17 17:39  markus
+
+	* lib/init/Makefile, lib/init/license.txt: added
+
+2003-03-17 17:38  markus
+
+	* lib/init/grass_intro.txt: changed site as original is always
+	  outdated
+
+2003-03-17 17:36  markus
+
+	* lib/init/grass.src, lib/init/init.sh: merged init scripts
+	  enhancements from 5.0
+
+2003-03-17 17:12  markus
+
+	* configure, configure.in: synced OPENGLULIB with 5.0
+
+2003-03-17 13:29  markus
+
+	* display/d.grid/main.c, display/d.grid/plotborder.c: added
+	  optional border marks plotting
+
+2003-03-17 13:12  markus
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/mouse.c, display/d.barscale/options.h: fixed
+	  -f redraw bug, added -t flag to optionally draw text on top
+	  rather than to the right
+
+2003-03-17 09:09  radim
+
+	* vector/v.ascii/Makefile: test -x
+
+2003-03-17 09:08  radim
+
+	* vector/v.ascii/b2a.c: rewind
+
+2003-03-15 10:16  paul
+
+	* lib/gis/datum.c, lib/gis/get_datum_name.c: Use G_warning() where
+	  appropriate
+
+2003-03-14 16:59  markus
+
+	* display/Makefile, display/d.barscale/Makefile, tools/link.conf:
+	  added d.barscale
+
+2003-03-14 15:55  markus
+
+	* display/Makefile, tools/cpbin.conf, tools/link.conf: d.his added
+
+2003-03-14 15:53  markus
+
+	* display/d.his/Makefile: added as it must be compiled against 5.1
+	  libs
+
+2003-03-13 09:48  paul
+
+	* general/g.setproj/get_datum.c, general/g.setproj/get_stp.c,
+	  general/g.setproj/local_proto.h, general/g.setproj/main.c,
+	  lib/gis/datum.c, lib/gis/datumtransform.table,
+	  lib/gis/get_datum_name.c, lib/gis/get_ellipse.c: Tidied and
+	  improved datum and datum transformation handling
+	  Fixed various bugs in g.setproj
+	  Improved error reporting in pj_do_proj()
+	  Changed various Gmakefiles to link $(GPROJLIB) before $(GISLIB)
+
+2003-03-13 08:24  markus
+
+	* lib/init/README: script cleanup
+
+2003-03-13 08:22  markus
+
+	* lib/init/mke_loc.c, lib/init/mke_mapset.c, lib/init/set_data.c:
+	  more white space fixes
+
+2003-03-13 08:18  markus
+
+	* configure, configure.in: fixed SOCKLIB
+
+2003-03-13 04:26  hamish
+
+	* raster/r.transect/main.c: comment out options which don't
+	  actually exist in the code
+
+2003-03-13 00:44  hamish
+
+	* raster/r.profile/main.c: remove extraneous output & clean out a
+	  little unused cruft
+
+2003-03-12 18:08  markus
+
+	* raster/r.colors/rules.c: made error message more useful
+
+2003-03-12 09:50  radim
+
+	* include/Vect.h, include/vect/dig_defines.h,
+	  include/vect/dig_structs.h, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/hist.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, vector/v.ascii/in.c,
+	  vector/v.build.polylines/main.c, vector/v.category/main.c,
+	  vector/v.clean/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c, vector/v.db.connect/main.c,
+	  vector/v.digit/main.c, vector/v.extract/main.c,
+	  vector/v.in.dwg/main.c, vector/v.in.ogr/main.c,
+	  vector/v.in.sites/main.c, vector/v.info/main.c,
+	  vector/v.net.alloc/main.c, vector/v.net.iso/main.c,
+	  vector/v.net.salesman/main.c, vector/v.net.steiner/main.c,
+	  vector/v.patch/main.c, vector/v.surf.rst/main.c,
+	  vector/v.transform/main.c: history
+
+2003-03-12 09:46  radim
+
+	* lib/gis/parser.c: fix for NULL answer in G_recreate_command()
+
+2003-03-10 17:47  radim
+
+	* db/drivers/dbf/dbfexe.c: load hed for drop
+
+2003-03-10 17:33  radim
+
+	* db/drivers/dbf/dbfexe.c: set permissions for new table
+
+2003-03-10 16:15  markus
+
+	* configure, configure.in, include/Make/Grass.make.in,
+	  include/Make/Platform.make.in: sync'ed recent 5.0 changes into
+
+2003-03-10 10:36  markus
+
+	* db/drivers/dbf/dbf_catalog/datetime.dbf: added small date/time
+	  dbf table
+
+2003-03-10 10:21  radim
+
+	* db/drivers/dbf/db.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/error.c, db/drivers/dbf/globals.h,
+	  db/drivers/dbf/proto.h, db/drivers/dbf/table.c: .DBF fix, better
+	  file permissions
+
+2003-03-10 09:48  markus
+
+	* vector/v.surf.rst/v.surf.rst.dox: small fix
+
+2003-03-10 03:38  eric
+
+	* raster/wildfire/r.spread/cell_ptrHa.h,
+	  raster/wildfire/r.spread/cmd_line.h,
+	  raster/wildfire/r.spread/collect_ori.c,
+	  raster/wildfire/r.spread/costHa.h,
+	  raster/wildfire/r.spread/deleteHa.c,
+	  raster/wildfire/r.spread/display.c,
+	  raster/wildfire/r.spread/fixHa.c,
+	  raster/wildfire/r.spread/get_minHa.c,
+	  raster/wildfire/r.spread/insert2Ha.c,
+	  raster/wildfire/r.spread/insertHa.c,
+	  raster/wildfire/r.spread/local_proto.h,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/pick_dist.c,
+	  raster/wildfire/r.spread/pick_ignite.c,
+	  raster/wildfire/r.spread/ram2out.c,
+	  raster/wildfire/r.spread/replaceHa.c,
+	  raster/wildfire/r.spread/select_linksB.c,
+	  raster/wildfire/r.spread/spot.c,
+	  raster/wildfire/r.spread/spread.c: Some cleanup - Mostly
+	  prototyping functions, changing definitions from
+	  K&R to ANSI style, and adding several missing headers. Still
+	  needs work to
+	  clean up globals - eliminating unused and consolidating their
+	  definitions.
+
+2003-03-07 15:51  radim
+
+	* vector/v.digit/settings.tcl, vector/v.digit/toolbox.tcl: bind
+	  entries
+
+2003-03-07 13:44  radim
+
+	* display/d.erase/description.html, display/d.m/description.html,
+	  display/d.mon/description.html, display/d.path/description.html,
+	  display/d.rast/description.html, display/d.vect/description.html,
+	  display/d.what.rast/description.html,
+	  display/d.what.vect/description.html,
+	  display/d.zoom/description.html,
+	  vector/v.build.polylines/description.html,
+	  vector/v.build/description.html,
+	  vector/v.category/description.html,
+	  vector/v.clean/description.html,
+	  vector/v.convert/description.html,
+	  vector/v.db.connect/description.html,
+	  vector/v.extract/description.html,
+	  vector/v.format/description.html,
+	  vector/v.in.ogr/description.html,
+	  vector/v.in.sites/description.html,
+	  vector/v.info/description.html,
+	  vector/v.net.alloc/description.html,
+	  vector/v.net.iso/description.html,
+	  vector/v.out.ogr/description.html,
+	  vector/v.patch/description.html,
+	  vector/v.surf.rst/description.html,
+	  vector/v.to.rast/description.html,
+	  vector/v.transform/description.html: man pages
+
+2003-03-06 13:48  radim
+
+	* include/vect/dig_defines.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/close_nat.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/Makefile, lib/vector/diglib/file.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/spindex_rw.c, lib/vector/diglib/test.c: Loading
+	  file to memory
+
+2003-03-06 07:11  hamish
+
+	* raster/r.timestamp/main.c: check to see if timestamp is valid
+	  before writing it to the file...
+
+2003-03-06 06:48  hamish
+
+	* display/d.legend/main.c: make floating point rasters respect the
+	  -c flag (suppress text)
+
+2003-03-05 15:39  markus
+
+	* raster/r.patch/main.c: fixed exit(1) -> G_fatal_error()
+
+2003-03-05 14:34  radim
+
+	* lib/vector/Vlib/build_nat.c: memory leakages fixed
+
+2003-03-05 13:01  radim
+
+	* vector/v.extract/main.c: Vect_copy_table and field
+
+2003-03-05 13:01  radim
+
+	* include/Vect.h, lib/vector/Vlib/map.c: Vect_copy_table
+
+2003-03-05 12:58  markus
+
+	* vector/v.in.ogr/main.c: added user message
+
+2003-03-05 11:05  markus
+
+	* vector/v.in.ogr/main.c: fix for output parm crash
+
+2003-03-05 08:51  radim
+
+	* db/base/Makefile: LIBES removed from deps
+
+2003-03-05 08:46  radim
+
+	* db/base/Makefile, general/manage/cmd/Makefile,
+	  include/Make/Module.make: test -e -> test -x
+
+2003-03-05 08:43  radim
+
+	* lib/init/init.sh: test -e -> test -r
+
+2003-03-03 18:20  markus
+
+	* vector/v.db.connect/main.c: reordered parameters, better error
+	  message
+
+2003-03-03 17:26  radim
+
+	* vector/v.net.steiner, vector/v.net.steiner/Makefile,
+	  vector/v.net.steiner/main.c: steiner
+
+2003-03-03 17:25  radim
+
+	* vector/v.net.salesman, vector/v.net.salesman/Makefile,
+	  vector/v.net.salesman/main.c: salesman
+
+2003-03-03 17:24  radim
+
+	* vector/Makefile: +steiner and salesman
+
+2003-03-03 13:37  radim
+
+	* db/drivers/dialog/Makefile: +TCLINCDIR and TKINCDIR
+
+2003-03-03 11:31  radim
+
+	* lib/vector/diglib/test.c: +fflush
+
+2003-03-02 16:53  markus
+
+	* vector/v.db.connect/main.c: (multiple) field management added
+
+2003-03-02 16:53  markus
+
+	* lib/vector/Vlib/field.c: added Vect_check_dblink(),
+	  Vect_replace_dblink(), Vect_map_check_dblink(),
+	  Vect_map_replace_dblink() for fields management.
+	  Vect_replace_dblink must be fixed
+
+2003-03-02 16:52  markus
+
+	* include/Vect.h: added Vect_check_dblink(), Vect_replace_dblink(),
+	  Vect_map_check_dblink(), Vect_map_replace_dblink() for fields
+	  management
+
+2003-03-02 16:51  markus
+
+	* lib/vector/Vlib/open.c: better warning
+
+2003-03-02 16:50  markus
+
+	* lib/vector/Vlib/build.c: print wether map is 3D
+
+2003-03-02 16:50  markus
+
+	* vector/v.ascii/a2b.c: print refused cats
+
+2003-03-01 18:02  markus
+
+	* db/drivers/postgres/db.c: db.* modules: added support for VIEWS
+	  with postgresql driver
+
+2003-02-28 20:05  markus
+
+	* db/base/columns.c, db/base/createdb.c, db/base/databases.c,
+	  db/base/describe.c, db/base/dropdb.c, db/base/droptable.c,
+	  db/base/execute.c, db/base/select.c, db/base/tables.c: better
+	  error message if DB_ not yet defined
+
+2003-02-28 20:04  markus
+
+	* vector/v.database/main.c: better explanation
+
+2003-02-28 20:04  markus
+
+	* vector/v.info/main.c: fixed centroid, polished output
+
+2003-02-28 20:03  markus
+
+	* lib/db/dbmi/start.c: fix segfault when DB_.. not defined
+
+2003-02-28 17:44  markus
+
+	* db/drivers/postgres/describe.c, db/drivers/postgres/fetch.c,
+	  db/drivers/postgres/globals.h, db/drivers/postgres/table.c: added
+	  DATE and TIME support for PostgreSQL tables
+
+2003-02-28 16:41  radim
+
+	* db/drivers/dbf/db.c: + .DBF etc.
+
+2003-02-28 15:51  radim
+
+	* vector/v.in.ogr/main.c: double quote strings
+
+2003-02-28 15:30  radim
+
+	* general/g.gisenv/main.c: store option
+
+2003-02-28 15:29  radim
+
+	* vector/v.format/v.format.tcl: format, postgis db
+
+2003-02-28 15:28  radim
+
+	* include/vect/dig_externs.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_post.c,
+	  lib/vector/diglib/frmt.c: create new vector for postgis
+
+2003-02-28 15:08  markus
+
+	* vector/v.in.dwg/main.c: output must be defined
+
+2003-02-28 12:57  radim
+
+	* db/drivers/dbf/Makefile, db/drivers/mysql/Makefile,
+	  db/drivers/odbc/Makefile, db/drivers/postgres/Makefile: remove
+	  LIBES from deps
+
+2003-02-28 11:03  paul
+
+	* lib/ogsf/Gs3.c: Don't scale twist value when reading in from
+	  3dview file, and round fov
+	  and twist when converting float -> int
+
+2003-02-28 10:32  markus
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c,
+	  vector/v.transform/main.c: simplified to Vect_copy_tables()
+
+2003-02-27 22:58  markus
+
+	* lib/gis/list.c: white space fixes for home\ dir case
+
+2003-02-27 17:05  radim
+
+	* INSTALL, Makefile: make binmix
+
+2003-02-27 17:02  radim
+
+	* tools/cpbin, tools/cpbin.conf: copy compiled modules from 5.0
+
+2003-02-27 15:12  radim
+
+	* include/Vect.h, lib/vector/Vlib/map.c, vector/v.category/main.c,
+	  vector/v.clean/main.c: +Vect_copy_tables()
+
+2003-02-27 14:18  radim
+
+	* display/d.path/Makefile, display/d.vect/Makefile,
+	  display/d.what.vect/Makefile, display/d.zoom/Makefile,
+	  general/g.region/cmd/Makefile, general/manage/cmd/Makefile,
+	  general/manage/lib/Makefile, include/Make/Grass.make.in,
+	  include/Make/Rules.make, lib/ogsf/Makefile,
+	  lib/rst/interp_float/Makefile, lib/vector/Vlib/Makefile,
+	  lib/vector/diglib/Makefile, lib/vector/rtree/Makefile,
+	  vector/v.ascii/Makefile, vector/v.build.polylines/Makefile,
+	  vector/v.build/Makefile, vector/v.category/Makefile,
+	  vector/v.clean/Makefile, vector/v.clean/test/Makefile,
+	  vector/v.convert/Makefile, vector/v.database/Makefile,
+	  vector/v.db.connect/Makefile, vector/v.digit/Makefile,
+	  vector/v.extract/Makefile, vector/v.format/Makefile,
+	  vector/v.in.dwg/Makefile, vector/v.in.ogr/Makefile,
+	  vector/v.in.sites/Makefile, vector/v.info/Makefile,
+	  vector/v.net.alloc/Makefile, vector/v.net.iso/Makefile,
+	  vector/v.out.ogr/Makefile, vector/v.patch/Makefile,
+	  vector/v.surf.rst/Makefile, vector/v.to.rast/Makefile,
+	  vector/v.transform/Makefile: VECT_INC, VECT_CFLAGS
+
+2003-02-27 14:16  radim
+
+	* db/drivers/odbc/Makefile: INC
+
+2003-02-27 10:53  radim
+
+	* vector/Makefile, vector/v.net.iso, vector/v.net.iso/Makefile,
+	  vector/v.net.iso/main.c: +v.net.iso
+
+2003-02-27 10:52  radim
+
+	* vector/v.net.alloc/main.c: fix node cost calc twice for centre
+	  node
+
+2003-02-27 08:11  markus
+
+	* lib/db/Makefile, lib/vector/Makefile: changed type -p to type for
+	  solaris
+
+2003-02-26 18:01  markus
+
+	* visualization/nviz/src/nviz_init.c: updated
+
+2003-02-26 13:18  radim
+
+	* include/Vect.h, lib/vector/Vlib/level_two.c,
+	  vector/v.info/main.c: Vect_get_num_primitives
+
+2003-02-26 12:59  radim
+
+	* vector/v.db.connect/main.c: open for update + warning
+
+2003-02-26 12:45  radim
+
+	* db/drivers/dbf/describe.c, db/drivers/dbf/table.c: case
+	  nonsensitive
+
+2003-02-26 12:41  radim
+
+	* db/base/describe.c: -
+
+2003-02-26 12:40  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi/table.c: db_table_exists()
+
+2003-02-26 12:40  radim
+
+	* lib/gis/debug.c: use gisenv
+
+2003-02-26 12:39  radim
+
+	* lib/vector/Vlib/field.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c: delete existing map, write dbln
+
+2003-02-26 09:58  radim
+
+	* include/Make/Platform.make.in: PNGINC and PNGLIB
+
+2003-02-26 08:56  markus
+
+	* Makefile: fixed VERSION number variables
+
+2003-02-25 13:53  radim
+
+	* display/d.path/main.c: field numbers
+
+2003-02-25 09:50  radim
+
+	* db/drivers/dbf/column.c: columns case insensitive
+
+2003-02-25 09:27  radim
+
+	* db/drivers/odbc/connect.c, db/drivers/odbc/db.c,
+	  db/drivers/odbc/describe.c, db/drivers/odbc/table.c: removed //
+	  comments
+
+2003-02-25 09:18  radim
+
+	* lib/vector/dglib/BUGS: +BUGS
+
+2003-02-25 09:17  radim
+
+	* lib/vector/Vlib/line.c: Vect_line_segment(): check if points on
+	  line
+
+2003-02-25 09:16  radim
+
+	* lib/vector/Vlib/net.c: +Vect_net_get_line_cost(),
+	  Vect_net_get_node_cost(); Vect_net_build_graph(): double col
+	  types, closed arcs nodes (cost = -1)
+
+2003-02-25 09:15  radim
+
+	* lib/db/dbmi/select.c: db_select_CatValArray () check key col type
+
+2003-02-25 09:14  radim
+
+	* lib/db/dbmi/value.c: +db_CatValArray_free()
+
+2003-02-25 09:13  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi/column.c: +db_get_column()
+
+2003-02-25 09:12  radim
+
+	* include/Vect.h, include/vect/dig_structs.h:
+	  +Vect_net_get_line_cost(), Vect_net_get_node_cost()
+
+2003-02-25 09:10  radim
+
+	* vector/v.net.alloc/main.c: split arcs between 2 areas
+
+2003-02-24 21:06  glynn
+
+	* lib/gis/get_row.c: Fix do_reclass_int() for null_is_zero case
+
+2003-02-24 13:58  radim
+
+	* vector/v.digit/line.c: check driver not field info
+
+2003-02-21 20:59  paul
+
+	* raster/r.sun/local_proto.h, raster/r.sun/main.c: Improve speed
+	  using macros instead of non-standard 'inline' keyword
+	  (fixes IRIX compile error)
+
+2003-02-21 12:26  bob
+
+	* visualization/nviz/scripts/panel_color.tcl: Fix for BG color
+
+2003-02-20 23:54  bob
+
+	* visualization/nviz/scripts/panel_color.tcl: various updates and
+	  add-ons
+
+2003-02-20 23:52  bob
+
+	* visualization/nviz/scripts/fileBrowser.tcl: Fixed pwd
+
+2003-02-20 23:48  bob
+
+	* visualization/nviz/src/change_view.c: various updates and add-ons
+
+2003-02-20 23:41  bob
+
+	* lib/ogsf/Gs3.c, lib/ogsf/gsd_prim.c, lib/ogsf/gsd_surf.c,
+	  lib/ogsf/gsd_views.c: various updates and add-ons
+
+2003-02-20 12:51  markus
+
+	* TODO: added todo
+
+2003-02-20 11:07  radim
+
+	* display/drivers/XDRIVER/XDRIVER24/Graph_Set.c: cursor modified
+
+2003-02-20 09:43  radim
+
+	* vector/Makefile, vector/v.net.alloc, vector/v.net.alloc/Makefile,
+	  vector/v.net.alloc/main.c: +v.net.alloc
+
+2003-02-20 09:41  radim
+
+	* lib/vector/Vlib/net.c: from = to fixed, load att if col != NULL
+	  instead of field > 0
+
+2003-02-20 01:48  glynn
+
+	* general/g.parser/main.c: Replace setenv() (BSD) with putenv()
+	  (POSIX).
+	  Add option description to test.sh
+
+2003-02-19 12:47  markus
+
+	* vector/v.vol.rst/README, vector/v.vol.rst/surf.h,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/userextern.h,
+	  vector/v.vol.rst/userglobs.h: Jaro Hofierka
+	  <hofierka at geomodel.sk>: added option for deviation site file
+
+2003-02-19 12:36  markus
+
+	* raster/r.sun/local_proto.h, raster/r.sun/main.c: Jaro Hofierka
+	  <hofierka at geomodel.sk>:
+	  added null data support, code optimization, now runs almost 2x
+	  faster (thanks to Marcel Suri and Thomas Huld from JRC Ispra) +
+	  update to man
+	  page
+
+2003-02-19 09:28  radim
+
+	* include/Make/Rules.make, lib/vector/diglib/Makefile: +GDALCFLAGS
+
+2003-02-19 09:26  radim
+
+	* raster/r.gdal/Makefile: GDALLIBS
+
+2003-02-19 05:09  hamish
+
+	* raster/r.transect/main.c: fix command line call, module now works
+	  again.
+
+2003-02-19 02:05  hamish
+
+	* display/d.legend/main.c: * changed at= usage to match d.frame's
+	  at= option
+	  * changed at= 0,0 position to lower left
+	  * fixed framing bugs
+
+2003-02-18 21:55  markus
+
+	* vector/v.db.connect/main.c: implemented set dbln routine
+
+2003-02-18 20:24  paul
+
+	* lib/rst/interp_float/resout2d.c: Create a normal compressed
+	  raster map for output
+
+2003-02-18 16:43  radim
+
+	* vector/v.digit/line.c: better place for cat update
+
+2003-02-18 14:08  radim
+
+	* vector/v.clean/main.c: help format
+
+2003-02-18 14:07  radim
+
+	* vector/v.clean/main.c, vector/v.clean/proto.h,
+	  vector/v.clean/rmdac.c: + remove duplicate area centroids
+
+2003-02-18 13:56  paul
+
+	* lib/rst/interp_float/ressegm2d.c: Fix a silly bug in
+	  r.resamp.rst. Now appears usable on maps that contain
+	  null values
+
+2003-02-18 09:54  radim
+
+	* vector/v.digit/main.c: new map first close and reopen for update
+
+2003-02-18 09:21  radim
+
+	* vector/v.format/v.format.tcl: buttons to one row
+
+2003-02-18 04:50  hamish
+
+	* display/d.legend/README: removed completed TODO, added HISTORY
+
+2003-02-17 16:56  markus
+
+	* display/d.what.vect/main.c: removed Vect_get_num_dblinks() test,
+	  no longer needed
+
+2003-02-17 13:00  radim
+
+	* vector/v.digit/Makefile, vector/v.digit/c_face.c,
+	  vector/v.digit/cat.c, vector/v.digit/centre.c,
+	  vector/v.digit/display.c, vector/v.digit/driver.c,
+	  vector/v.digit/global.h, vector/v.digit/i_face.c,
+	  vector/v.digit/line.c, vector/v.digit/main.c,
+	  vector/v.digit/proto.h, vector/v.digit/settings.tcl,
+	  vector/v.digit/symb.c, vector/v.digit/toolbox.tcl,
+	  vector/v.digit/var.c, vector/v.digit/zoom.c: +create table,
+	  variables, R_flush()
+
+2003-02-17 09:09  radim
+
+	* lib/db/dbmi/db.c: debug level
+
+2003-02-17 08:07  radim
+
+	* raster/Makefile, raster/r.buffer/Makefile, tools/link.conf:
+	  +r.buffer
+
+2003-02-17 08:05  radim
+
+	* lib/Makefile: gis before form
+
+2003-02-17 06:41  radim
+
+	* lib/form/Makefile, lib/form/form.c, lib/form/form.tcl,
+	  lib/form/open.c: +execl()
+
+2003-02-17 06:36  radim
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/sql.c,
+	  lib/db/sqlp/yac.y: SQLP_ prefix for OP, AND, OR, NOT
+
+2003-02-14 12:58  paul
+
+	* raster/r.proj/main.c: Fix Multiply Defined Symbol errors in proj
+	  library by removing global
+	  variable definitions (in the end should probably be separate
+	  header files
+	  for proj internal files and for GRASS modules that use proj)
+
+2003-02-14 09:59  radim
+
+	* lib/rst/interp_float/vinput2d.c: increase debug level
+
+2003-02-13 17:12  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi/db.c, lib/db/dbmi/start.c:
+	  +db_start_driver_open_database
+
+2003-02-13 16:01  radim
+
+	* vector/v.digit/rm.line.gif: moved to icons
+
+2003-02-13 14:27  radim
+
+	* lib/vector/Vlib/build_ogr.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_ogr.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_ogr.c: +HAVE_OGR and some fixes
+
+2003-02-11 12:27  markus
+
+	* lib/init/init.sh: cosmetic
+
+2003-02-11 12:23  markus
+
+	* COPYING: updated urls
+
+2003-02-11 12:11  radim
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c,
+	  vector/v.out.ogr/main.c, vector/v.to.rast/vect2rast.c:
+	  Vect_get_field_info() -> Vect_get_field
+
+2003-02-11 11:59  radim
+
+	* vector/v.db.connect/main.c: Vect_get_field_info() ->
+	  Vect_get_field
+
+2003-02-11 11:58  radim
+
+	* lib/vector/Vlib/field.c: increate debug level
+
+2003-02-11 11:52  radim
+
+	* display/d.vect/attr.c, display/d.what.vect/what.c,
+	  lib/rst/interp_float/vinput2d.c, lib/vector/Vlib/net.c:
+	  Vect_get_field_info() -> Vect_get_field
+
+2003-02-11 11:45  radim
+
+	* include/Vect.h, lib/vector/Vlib/field.c: -Vect_get_field_info()
+
+2003-02-11 11:06  radim
+
+	* display/d.vect/main.c: use Vect_get_field()
+
+2003-02-11 11:05  radim
+
+	* include/Vect.h, lib/vector/Vlib/field.c: +Vect_get_field()
+
+2003-02-11 08:31  radim
+
+	* lib/vector/Vlib/field.c: check if fiedl number exists
+
+2003-02-10 21:11  markus
+
+	* vector/v.digit/display.c, vector/v.digit/symb.c: reverted black
+	  and white
+
+2003-02-10 16:41  markus
+
+	* db/base/connect.c: commented unused warning, variable note
+
+2003-02-10 16:34  markus
+
+	* lib/db/dbmi/connect.c: fix
+
+2003-02-10 16:16  markus
+
+	* vector/v.info/main.c: fix for number of points
+
+2003-02-10 16:16  markus
+
+	* include/Vect.h, lib/vector/Vlib/level_two.c: added
+	  Vect_get_num_points()
+
+2003-02-10 15:44  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/createdb.c,
+	  db/base/databases.c, db/base/describe.c, db/base/dropdb.c,
+	  db/base/droptable.c, db/base/execute.c, db/base/printtab.c,
+	  db/base/select.c, db/base/tables.c: cleanup
+
+2003-02-10 15:44  markus
+
+	* db/drivers/dbf/db.c: added variable parser for db.name
+
+2003-02-10 14:14  markus
+
+	* lib/db/dbmi/connect.c: read connection from
+	  LOCATION_NAME/MAPSET/VAR instead of HOME/.grassrc51
+
+2003-02-10 14:08  radim
+
+	* lib/vector/Vlib/field.c: LOCATION removed
+
+2003-02-10 13:18  radim
+
+	* vector/v.to.rast/main.c: vector element fixed
+
+2003-02-10 13:17  radim
+
+	* vector/v.patch/main.c: vector element fixed, setbuf removed
+
+2003-02-10 12:58  radim
+
+	* vector/v.build.polylines/main.c: vector element fixed
+
+2003-02-10 12:51  radim
+
+	* vector/v.transform/main.c: vector element fixed
+
+2003-02-10 12:32  radim
+
+	* vector/v.surf.rst/main.c: input vector element fixed
+
+2003-02-10 10:45  markus
+
+	* display/d.m/vector.tcl: faces supported now
+
+2003-02-10 10:41  markus
+
+	* lib/db/sqlp/lex.l, lib/db/sqlp/yac.y: commented DISTINCT unless
+	  supported by drivers
+
+2003-02-09 20:15  markus
+
+	* lib/db/sqlp/lex.l, lib/db/sqlp/yac.y: DISTINCT for SELECT
+	  DISTINCT FROM WHERE added
+
+2003-02-09 20:14  markus
+
+	* vector/v.convert/old2new.c: fixed exit to G_fatal_error (still
+	  bug: existing 5.1 vector map is not detected but silently
+	  overwritten)
+
+2003-02-09 20:13  markus
+
+	* vector/v.extract/extract.c, vector/v.extract/main.c: added faces,
+	  added table copy for new map
+
+2003-02-09 20:12  markus
+
+	* display/d.path/main.c: fixed colors, check for PROJECTION_LL,
+	  check for empty GRASS monitor
+
+2003-02-09 20:11  markus
+
+	* display/d.vect/main.c: changed label color to red
+
+2003-02-09 20:11  markus
+
+	* display/d.m/vector.tcl: faces added
+
+2003-02-09 20:09  markus
+
+	* display/d.what.vect/main.c: faces added, error when no dbln
+	  connection
+
+2003-02-09 20:09  markus
+
+	* display/d.what.vect/what.c: flash toggle added (middle mouse
+	  button)
+
+2003-02-09 14:52  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Graph_Set.c: set default color
+	  to white
+
+2003-02-09 14:47  markus
+
+	* display/d.vect/main.c: code cosmetics
+
+2003-02-08 21:33  markus
+
+	* vector/v.transform/trans_digit.c: ztozero added
+
+2003-02-08 21:30  markus
+
+	* tools/cvs.recursadd: trap added
+
+2003-02-08 21:29  markus
+
+	* vector/v.transform/get_coor.c, vector/v.transform/local_proto.h,
+	  vector/v.transform/main.c, vector/v.transform/print_trans.c: -t
+	  flag added for Z-coordinate zero elevation normalization,
+	  cosmetics
+
+2003-02-08 21:28  markus
+
+	* include/Vect.h, lib/vector/Vlib/level_two.c,
+	  vector/v.info/main.c: added Vect_get_num_faces() and
+	  Vect_get_num_kernels()
+
+2003-02-08 21:27  markus
+
+	* Makefile: raster added
+
+2003-02-07 16:17  markus
+
+	* vector/v.transform/main.c: zscale default fixed
+
+2003-02-07 15:21  markus
+
+	* vector/v.transform/local_proto.h, vector/v.transform/main.c,
+	  vector/v.transform/trans_digit.c: added zshift and zscale
+	  parameter
+
+2003-02-07 15:01  radim
+
+	* display/d.m/vector.tcl: default bg white
+
+2003-02-07 14:51  radim
+
+	* display/d.vect/main.c: default color black
+
+2003-02-07 14:51  radim
+
+	* display/d.path/main.c, display/d.path/select.c: default bg,
+	  destination unreachable
+
+2003-02-07 14:30  radim
+
+	* vector/v.in.dwg/main.c: layer and block switched
+
+2003-02-07 14:23  markus
+
+	* vector/v.in.dwg/entity.c, vector/v.in.dwg/main.c: added 3D
+	  support (see TODO for CIRCLE and ARC)
+
+2003-02-07 13:38  markus
+
+	* include/version.h.in, include/winname.h.in: added
+
+2003-02-07 13:15  radim
+
+	* vector/Makefile, vector/v.transform, vector/v.transform/Makefile,
+	  vector/v.transform/ask_trans.c, vector/v.transform/creat_trans.c,
+	  vector/v.transform/get_coor.c, vector/v.transform/local_proto.h,
+	  vector/v.transform/main.c, vector/v.transform/open_files.c,
+	  vector/v.transform/print_trans.c,
+	  vector/v.transform/setup_trans.c, vector/v.transform/trans.h,
+	  vector/v.transform/trans_digit.c: v.transform
+
+2003-02-07 13:12  radim
+
+	* include/Make/Grass.make.in, include/libtrans.h,
+	  lib/vector/Makefile, lib/vector/transform,
+	  lib/vector/transform/Makefile, lib/vector/transform/TODO,
+	  lib/vector/transform/inverse.c, lib/vector/transform/m_mult.c,
+	  lib/vector/transform/transform.c: translib
+
+2003-02-07 13:10  radim
+
+	* lib/db/dbmi/copy_tab.c: double quote strings
+
+2003-02-07 13:06  markus
+
+	* display/d.vect/main.c: type face added
+
+2003-02-07 11:05  markus
+
+	* vector/v.ascii/b2a.c: added GV_KERNEL export
+
+2003-02-07 11:04  markus
+
+	* vector/v.ascii/b2a.c: added GV_FACE export
+
+2003-02-06 22:32  markus
+
+	* display/d.erase/Makefile, display/d.mon/cmd/Makefile,
+	  display/d.vect/Makefile, display/d.zoom/Makefile,
+	  general/g.gisenv/Makefile, general/g.mapsets/Makefile,
+	  general/g.region/cmd/Makefile, general/manage/cmd/Makefile,
+	  vector/v.build.polylines/Makefile, vector/v.category/Makefile,
+	  vector/v.clean/Makefile, vector/v.clean/test/Makefile,
+	  vector/v.convert/Makefile, vector/v.db.connect/Makefile,
+	  vector/v.digit/Makefile, vector/v.extract/Makefile,
+	  vector/v.in.sites/Makefile, vector/v.info/Makefile,
+	  vector/v.patch/Makefile, vector/v.surf.rst/Makefile,
+	  vector/v.to.rast/Makefile: added missing DEPENDENCIES (the
+	  Grass.make.in needs further updates)
+
+2003-02-06 17:18  radim
+
+	* vector/v.in.dwg, vector/v.in.dwg/Makefile,
+	  vector/v.in.dwg/README, vector/v.in.dwg/entity.c,
+	  vector/v.in.dwg/global.h, vector/v.in.dwg/main.c: new
+
+2003-02-06 12:26  markus
+
+	* tools/timer/Makefile: try for a better makefile
+
+2003-02-06 12:20  markus
+
+	* lib/gis/parser.c: HTML fix for multiple options
+
+2003-02-05 13:43  radim
+
+	* db/drivers/dbf/dbfexe.c: add space at the end of statement (bug
+	  in sqlp)
+
+2003-02-05 11:17  markus
+
+	* lib/gis/unix_socks.c: changed sockets directory to
+	  /tmp/grass'VERSION_MAJOR''VERSION_MINOR'-neteler to achieve
+	  independence from 5.0 sessions
+
+2003-02-05 10:41  markus
+
+	* lib/gis/parser.c: html cosmetics
+
+2003-02-05 10:31  markus
+
+	* display/d.erase/Makefile, display/d.mon/cmd/Makefile,
+	  display/d.mon/pgms/Makefile, display/d.zoom/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/Makefile: added DEPENDENCIES
+
+2003-02-04 15:12  markus
+
+	* raster/simwe/Gmakefile: important fix
+
+2003-02-04 15:02  markus
+
+	* lib/gis/parser.c: added G_usage_html() to generate
+	  parameter/flags file in HTML with --html-description
+
+2003-02-04 09:31  markus
+
+	* Makefile, lib/init/Makefile: clean target fixed
+
+2003-02-03 21:57  paul
+
+	* general/g.region/cmd/printwindow.c, raster/r.sun/main.c,
+	  raster/r.sunmask/g_solposition.c: Always specify an ellipsoid
+	  along with the projection type
+
+2003-02-03 16:17  radim
+
+	* lib/ogsf/Gv3.c, lib/ogsf/gstypes.h, lib/ogsf/gvd.c,
+	  vector/v.ascii/a2b.c: faces
+
+2003-02-03 16:16  radim
+
+	* vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: not used var
+	  removed
+
+2003-02-03 16:16  radim
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_ogr.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_ogr.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_ogr.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_ogr.c,
+	  lib/vector/Vlib/rewind.c, lib/vector/Vlib/rewind_nat.c,
+	  lib/vector/Vlib/rewind_ogr.c, lib/vector/Vlib/type.c,
+	  lib/vector/Vlib/write.c: templates for OGR
+
+2003-02-03 16:15  radim
+
+	* lib/vector/diglib/frmt.c, lib/vector/diglib/head.c,
+	  lib/vector/diglib/plus.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/spindex.c,
+	  lib/vector/diglib/spindex_rw.c: format changed
+
+2003-02-03 16:12  radim
+
+	* include/Vect.h, include/config.h.in, include/vect/dig_defines.h,
+	  include/vect/dig_structs.h: OGR
+
+2003-02-03 16:10  radim
+
+	* configure, configure.in: HAVE_OGR
+
+2003-02-03 15:40  markus
+
+	* configure, configure.in, include/Make/Grass.make,
+	  include/version.h, include/winname.h: version number and date are
+	  generated now from include/VERSION and configure
+
+2003-02-03 15:32  markus
+
+	* lib/Makefile: order fixed for front.end
+
+2003-02-02 22:12  markus
+
+	* lib/Makefile: compile order fix
+
+2003-02-02 21:45  markus
+
+	* lib/vector/Vlib/Makefile: back to hardcoded dependencies
+
+2003-02-02 21:39  markus
+
+	* raster/Makefile, raster/r.clump/Makefile,
+	  raster/r.colors/Makefile, raster/r.composite/Makefile,
+	  raster/r.cost/Makefile, raster/r.gdal, raster/r.gdal/Makefile,
+	  raster/r.his/Makefile, raster/r.mapcalc/Makefile: some raster
+	  modules added
+
+2003-02-02 21:37  markus
+
+	* tools/link.conf: libs added, some raster modules added
+
+2003-02-02 21:35  markus
+
+	* lib/Makefile: sorted, added new dirs
+
+2003-02-02 21:34  markus
+
+	* lib/imagery/Makefile, lib/rowio/Makefile, lib/segment/Makefile:
+	  added
+
+2003-02-02 21:33  markus
+
+	* include/gisdefs.h: added missing functions
+
+2003-02-02 21:33  markus
+
+	* lib/gis/Makefile: changed spaces to tab, sync'ed with 5.0
+
+2003-01-31 13:59  markus
+
+	* vector/v.database/Makefile: added missing $(DBMILIB) - there is a
+	  dependency on that in VECTLIB
+
+2003-01-31 13:57  markus
+
+	* vector/v.clean/Makefile, vector/v.clean/test/Makefile: added
+	  missing $(DBMILIB)
+
+2003-01-31 13:23  markus
+
+	* configure, configure.in, include/Make/Grass.make,
+	  include/Make/Grass.make.in, include/version.h, include/winname.h:
+	  reverted version stuff, but left commented. Hardcoded version for
+	  now in include/version.h etc.
+
+2003-01-31 10:16  markus
+
+	* AUTHORS: PostGRASS, DBLib, DBMI added, please complete
+
+2003-01-30 10:21  markus
+
+	* configure, configure.in: fixed AC_INIT
+
+2003-01-30 10:16  markus
+
+	* configure, configure.in, include/Make/Grass.make,
+	  include/Make/Grass.make.in, include/VERSION: Grass.make is now
+	  generated from Grass.make.in, VERSION added to solve link tool
+	  problems with 5.0 links
+
+2003-01-30 09:01  radim
+
+	* vector/v.to.rast/vect2rast.c: union name
+
+2003-01-30 09:00  radim
+
+	* lib/db/dbmi/driver.c, lib/db/dbmi/isdir.c, lib/db/dbmi/select.c:
+	  union name, header, POSIX
+
+2003-01-30 08:59  radim
+
+	* include/dbmi.h: name for union
+
+2003-01-29 18:21  markus
+
+	* include/Make/Grass.make: avoid circular dependencies
+
+2003-01-29 18:18  markus
+
+	* lib/vector/Vlib/Makefile: DEPENDENCIES = $(VECTDEP)
+
+2003-01-29 18:14  markus
+
+	* lib/vector/Vlib/Makefile: DEPENDENCIES removed - now in
+	  Grass.Make
+
+2003-01-29 17:18  markus
+
+	* Makefile: changed bindist date to %d_%m_%Y
+
+2003-01-29 16:41  radim
+
+	* db/drivers/dbf/table.c: write temp file and rename to table then
+
+2003-01-29 16:07  radim
+
+	* vector/Makefile, vector/v.in.ogr, vector/v.in.ogr/Makefile,
+	  vector/v.in.ogr/geom.c, vector/v.in.ogr/main.c: v.in.ogr
+
+2003-01-29 13:45  radim
+
+	* display/d.vect/main.c: fcolor gray
+
+2003-01-29 13:44  radim
+
+	* lib/vector/Vlib/build_shp.c: fix for isle box
+
+2003-01-28 16:20  radim
+
+	* lib/gis/parser.c: better not best (tcltk)
+
+2003-01-28 14:15  radim
+
+	* lib/vector/Vlib/map.c: copy on level 2
+
+2003-01-28 14:14  radim
+
+	* vector/v.ascii/b2a.c, vector/v.ascii/local_proto.h,
+	  vector/v.ascii/out.c: Write dig_att
+
+2003-01-28 12:54  radim
+
+	* vector/Makefile, vector/v.to.rast, vector/v.to.rast/Makefile,
+	  vector/v.to.rast/clock.c, vector/v.to.rast/do_areas.c,
+	  vector/v.to.rast/do_lines.c, vector/v.to.rast/inform.c,
+	  vector/v.to.rast/local.h, vector/v.to.rast/main.c,
+	  vector/v.to.rast/mapgraph.c, vector/v.to.rast/raster.c,
+	  vector/v.to.rast/support.c, vector/v.to.rast/vect2rast.c:
+	  v.to.rast
+
+2003-01-28 12:51  radim
+
+	* db/drivers/dbf/fetch.c, db/drivers/mysql/fetch.c,
+	  db/drivers/odbc/fetch.c, db/drivers/odbc/globals.h,
+	  db/drivers/odbc/select.c, db/drivers/postgres/fetch.c,
+	  lib/db/stubs/rows.c: db_get_num_rows()
+
+2003-01-28 12:48  radim
+
+	* include/dbmi.h, include/proto_dbmi.h, lib/db/dbmi/c_rows.c,
+	  lib/db/dbmi/d_rows.c, lib/db/dbmi/procs.h, lib/db/dbmi/select.c,
+	  lib/db/dbmi/value.c: db_get_num_rows(), CatValArray
+
+2003-01-28 10:45  markus
+
+	* vector/v.convert/old2new.c: typo fixed
+
+2003-01-27 14:47  markus
+
+	* vector/v.format/v.format.tcl: close button
+
+2003-01-27 09:15  markus
+
+	* lib/gis/parser.c: added close button
+
+2003-01-27 08:53  markus
+
+	* lib/proj/Makefile: updated to changes from 5.0
+
+2003-01-27 07:59  markus
+
+	* lib/imagery/vask_group.c: increased buffer length a bit
+
+2003-01-26 17:47  paul
+
+	* general/g.region/cmd/printwindow.c, raster/r.proj/bordwalk.c,
+	  raster/r.proj/main.c, raster/r.sun/main.c,
+	  raster/r.sunmask/g_solposition.c: Implement general datum
+	  transformation support in [rsv].proj,
+	  Fix some other programs' usage of the GRASS PROJ.4 wrapper
+	  functions
+	  to reflect changes in these.
+
+2003-01-26 08:30  markus
+
+	* vector/v.database/main.c: added db_list_drivers()
+
+2003-01-26 08:28  markus
+
+	* lib/db/dbmi/c_list_drivers.c: new function db_list_drivers() -
+	  was in db/base code
+
+2003-01-26 08:27  markus
+
+	* include/proto_dbmi.h: proto fix
+
+2003-01-26 08:27  markus
+
+	* db/base/Makefile, db/base/list_drivers.c: moved list_drivers.c to
+	  DBMI
+
+2003-01-24 16:31  radim
+
+	* display/d.what.vect/what.c: read only attributes for maps from
+	  other mapsets
+
+2003-01-24 16:18  radim
+
+	* db/base/select.c: -c, -h switched, new options table, sql
+
+2003-01-24 15:53  radim
+
+	* db/base/connect.c: location removed
+
+2003-01-24 15:49  radim
+
+	* vector/Makefile, vector/v.database, vector/v.database/Makefile,
+	  vector/v.database/main.c: v.database
+
+2003-01-24 15:34  radim
+
+	* lib/vector/Vlib/map.c: Do not delete tables for external formats
+
+2003-01-24 15:28  radim
+
+	* vector/v.format/v.format.tcl: save base name
+
+2003-01-24 14:51  radim
+
+	* include/gis.h, include/gisdefs.h, lib/gis/env.c: G_get/setenv2()
+
+2003-01-24 14:49  radim
+
+	* lib/vector/Vlib/field.c: default driver/database
+
+2003-01-24 13:38  markus
+
+	* Makefile: Doxygen fix
+
+2003-01-24 12:09  paul
+
+	* lib/gis/datum.table: Add support for Ireland 1965 Datum
+	  Fix missing underscores in pj_ellps.c and pj_datums.c
+
+2003-01-24 11:24  radim
+
+	* vector/Makefile, vector/v.format, vector/v.format/Makefile,
+	  vector/v.format/v.format.tcl: + v.format
+
+2003-01-24 10:46  markus
+
+	* vector/v.clean/main.c: default settings cosmetics
+
+2003-01-23 21:14  paul
+
+	* visualization/nviz/src/buildPg.c,
+	  visualization/nviz/src/getCat.c, visualization/nviz/src/runPg.c:
+	  Changed some function definitions to ANSI syntax to match new
+	  ANSI
+	  prototypes in pg.h (discrepancy was causing compile error on
+	  IRIX)
+
+2003-01-23 16:54  markus
+
+	* vector/v.clean/main.c: re-enabled thresh_opt ->answer
+
+2003-01-23 15:49  radim
+
+	* lib/vector/diglib/plus_line.c: debug level
+
+2003-01-23 15:46  radim
+
+	* include/Make/Grass.make: DBMILIB added to VECTLIB
+
+2003-01-23 15:40  radim
+
+	* general/Makefile, general/manage, general/manage/Makefile,
+	  general/manage/cmd, general/manage/cmd/Makefile,
+	  general/manage/cmd/copy.c, general/manage/cmd/init.c,
+	  general/manage/cmd/list.c, general/manage/cmd/local_proto.h,
+	  general/manage/cmd/remove.c, general/manage/cmd/rename.c,
+	  general/manage/lib, general/manage/lib/Element_List,
+	  general/manage/lib/Makefile, general/manage/lib/add_elem.c,
+	  general/manage/lib/ask.c, general/manage/lib/copy.sh,
+	  general/manage/lib/copyfile.c, general/manage/lib/do_copy.c,
+	  general/manage/lib/do_list.c, general/manage/lib/do_remove.c,
+	  general/manage/lib/do_rename.c, general/manage/lib/empty.c,
+	  general/manage/lib/find.c, general/manage/lib/get_len.c,
+	  general/manage/lib/menu.c, general/manage/lib/read_list.c,
+	  general/manage/lib/show_elem.c, general/manage/lib/sighold.c,
+	  general/manage/list.h: +manage
+
+2003-01-23 15:37  radim
+
+	* lib/vector/Vlib/map.c, lib/vector/Vlib/write_post.c:
+	  +Vect_delete(), Vect_copy()
+
+2003-01-23 15:35  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi/delete_tab.c:
+	  +db_delete_table()
+
+2003-01-23 15:34  radim
+
+	* include/Vect.h: +Vect_copy(), Vect_delete()
+
+2003-01-23 10:14  markus
+
+	* vector/v.clean/main.c: polished help text
+
+2003-01-22 20:56  markus
+
+	* tools/Makefile: make compliant to Makefile style
+
+2003-01-22 18:03  markus
+
+	* vector/v.info/main.c: added maptype output (native, shape,
+	  postgis), polished output a bit
+
+2003-01-22 18:01  markus
+
+	* include/Vect.h, lib/vector/Vlib/open.c: added Vect_maptype_info()
+	  to get maptype string (native, shape, postgis)
+
+2003-01-22 15:53  markus
+
+	* tools/Makefile: generate timer for ./bench from new g51test-10
+	  demo location
+
+2003-01-22 15:52  markus
+
+	* Makefile: added tools
+
+2003-01-22 13:54  radim
+
+	* vector/Makefile, vector/v.in.sites, vector/v.in.sites/Makefile,
+	  vector/v.in.sites/main.c: +v.in.sites
+
+2003-01-22 13:51  radim
+
+	* vector/v.convert/Makefile, vector/v.convert/att.c,
+	  vector/v.convert/local_proto.h, vector/v.convert/main.c,
+	  vector/v.convert/old2new.c: create table
+
+2003-01-22 13:49  radim
+
+	* lib/vector/Vlib/close_nat.c, lib/vector/Vlib/close_post.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_post.c: + functions
+	  for dblink informations
+
+2003-01-22 13:48  radim
+
+	* lib/db/sqlp/lex.l: '' -> '
+
+2003-01-22 13:47  radim
+
+	* lib/db/dbmi/string.c: double_quote
+
+2003-01-22 13:47  radim
+
+	* lib/form/todo: -
+
+2003-01-22 13:45  radim
+
+	* lib/form/form.tcl, lib/form/generate.c, lib/form/open.c: fixes
+	  for '
+
+2003-01-22 13:41  radim
+
+	* include/proto_dbmi.h: db_double_quote_string()
+
+2003-01-22 13:35  radim
+
+	* include/vect/dig_defines.h, include/vect/dig_structs.h: + dblink
+	  informations
+
+2003-01-22 13:33  radim
+
+	* include/Vect.h: + functions for manipulation with dblink
+	  informations
+
+2003-01-22 13:32  radim
+
+	* include/proto_dbmi.h: + db_double_quoute_string()
+
+2003-01-22 13:04  markus
+
+	* tools/timer/main.c: fix
+
+2003-01-22 12:53  markus
+
+	* tools/timer, tools/timer/Makefile, tools/timer/README,
+	  tools/timer/main.c: added $ETC/current_time_s_ms for
+	  benchmarking. Prints current time in seconds.milliseconds
+
+2003-01-22 12:29  alex
+
+	* lib/db/sqlp/yac.y: Parse 2+3 the same as 2 + 3
+
+2003-01-22 08:40  markus
+
+	* lib/vector/Vlib/open_post.c: typo fixed
+
+2003-01-22 08:10  markus
+
+	* raster/simwe, raster/simwe/Gmakefile, raster/simwe/README,
+	  raster/simwe/r.sim.sediment,
+	  raster/simwe/r.sim.sediment/Gmakefile,
+	  raster/simwe/r.sim.sediment/main.c, raster/simwe/r.sim.water,
+	  raster/simwe/r.sim.water/Gmakefile,
+	  raster/simwe/r.sim.water/main.c, raster/simwe/simlib,
+	  raster/simwe/simlib/Gmakefile, raster/simwe/simlib/erod.c,
+	  raster/simwe/simlib/hydro.c, raster/simwe/simlib/input.c,
+	  raster/simwe/simlib/output.c, raster/simwe/simlib/random.c,
+	  raster/simwe/simlib/waterglobs.h: Helena Mitasova, Jaro Hofierka,
+	  Lubos Mitas: Hydrologic and sediment transport simulation (SIMWE)
+
+2003-01-21 16:55  markus
+
+	* scripts/postgisdb: removed debug output
+
+2003-01-21 16:52  markus
+
+	* scripts/postgisdb: added -G parameter to allow for local
+	  postgis.sql file (when working with remote server), disabled test
+	  for PG directories when working with remote server
+
+2003-01-21 15:01  paul
+
+	* include/vect/dig_externs.h, include/vect/dig_structs.h,
+	  lib/vector/dglib/dgl.h: Fixed some comments // change to /* */
+	  syntax
+
+2003-01-21 14:05  paul
+
+	* lib/vector/dglib/graph.c: Function declared as void should not
+	  attempt to return a value
+
+2003-01-21 13:29  markus
+
+	* scripts/postgisdb: cosmetics
+
+2003-01-21 13:20  markus
+
+	* scripts/v.shape.register: build topology directly, don't just
+	  talk about it
+
+2003-01-21 12:44  paul
+
+	* lib/gis/parser.c: Fix literal newlines in strings (replace by
+	  "\n")
+
+2003-01-20 21:38  paul
+
+	* Makefile, tools/link: Fix hard-coded Perl path (use same
+	  mechanism as g.html2man)
+
+2003-01-20 16:46  markus
+
+	* raster/r.terraflow, raster/r.terraflow/3scan.h,
+	  raster/r.terraflow/IOStream, raster/r.terraflow/IOStream/include,
+	  raster/r.terraflow/IOStream/include/ami.h,
+	  raster/r.terraflow/IOStream/include/ami_config.h,
+	  raster/r.terraflow/IOStream/include/ami_sort.h,
+	  raster/r.terraflow/IOStream/include/ami_sort_impl.h,
+	  raster/r.terraflow/IOStream/include/ami_stream.h,
+	  raster/r.terraflow/IOStream/include/embuffer.h,
+	  raster/r.terraflow/IOStream/include/empq.h,
+	  raster/r.terraflow/IOStream/include/empq_adaptive.h,
+	  raster/r.terraflow/IOStream/include/empq_adaptive_impl.h,
+	  raster/r.terraflow/IOStream/include/empq_impl.h,
+	  raster/r.terraflow/IOStream/include/imbuffer.h,
+	  raster/r.terraflow/IOStream/include/mem_stream.h,
+	  raster/r.terraflow/IOStream/include/minmaxheap.h,
+	  raster/r.terraflow/IOStream/include/mm.h,
+	  raster/r.terraflow/IOStream/include/mm_utils.h,
+	  raster/r.terraflow/IOStream/include/pqheap.h,
+	  raster/r.terraflow/IOStream/include/queue.h,
+	  raster/r.terraflow/IOStream/include/quicksort.h,
+	  raster/r.terraflow/IOStream/include/replacementHeap.h,
+	  raster/r.terraflow/IOStream/include/replacementHeapBlock.h,
+	  raster/r.terraflow/IOStream/include/rtimer.h,
+	  raster/r.terraflow/IOStream/lib,
+	  raster/r.terraflow/IOStream/lib/src,
+	  raster/r.terraflow/IOStream/lib/src/ami_stream.cc,
+	  raster/r.terraflow/IOStream/lib/src/minmaxheap_test.cc,
+	  raster/r.terraflow/IOStream/lib/src/mm.cc,
+	  raster/r.terraflow/IOStream/lib/src/mm_utils.cc,
+	  raster/r.terraflow/IOStream/lib/src/rtimer.cc,
+	  raster/r.terraflow/ccforest.cc, raster/r.terraflow/ccforest.h,
+	  raster/r.terraflow/common.cc, raster/r.terraflow/common.h,
+	  raster/r.terraflow/direction.cc, raster/r.terraflow/direction.h,
+	  raster/r.terraflow/fill.cc, raster/r.terraflow/fill.h,
+	  raster/r.terraflow/filldepr.cc, raster/r.terraflow/filldepr.h,
+	  raster/r.terraflow/flow.cc, raster/r.terraflow/flow.h,
+	  raster/r.terraflow/genericWindow.cc,
+	  raster/r.terraflow/genericWindow.h,
+	  raster/r.terraflow/grass2str.h, raster/r.terraflow/grid.cc,
+	  raster/r.terraflow/grid.h, raster/r.terraflow/main.cc,
+	  raster/r.terraflow/main.h, raster/r.terraflow/nodata.cc,
+	  raster/r.terraflow/nodata.h, raster/r.terraflow/option.h,
+	  raster/r.terraflow/plateau.cc, raster/r.terraflow/plateau.h,
+	  raster/r.terraflow/r.terraflow.copyright,
+	  raster/r.terraflow/sortutils.h, raster/r.terraflow/stats.cc,
+	  raster/r.terraflow/stats.h, raster/r.terraflow/streamutils.h,
+	  raster/r.terraflow/sweep.cc, raster/r.terraflow/sweep.h,
+	  raster/r.terraflow/types.cc, raster/r.terraflow/types.h,
+	  raster/r.terraflow/unionFind.h, raster/r.terraflow/water.cc,
+	  raster/r.terraflow/water.h, raster/r.terraflow/weightWindow.cc,
+	  raster/r.terraflow/weightWindow.h: Laura I. Toma
+	  <laura at cs.duke.edu>: r.terraflow - Flow computation for massive
+	  grids
+
+2003-01-20 14:15  radim
+
+	* include/Make/Grass.make: GISDEPS fixed
+
+2003-01-20 11:10  alex
+
+	* db/drivers/dbf/dbfexe.c: Bugfix
+
+2003-01-20 09:01  radim
+
+	* display/d.m/vector.tcl: reflect d.what.vect options
+
+2003-01-20 08:09  markus
+
+	* raster3d/r3.out.v5d/v5d.h: fixed MAXCOLUMNS to 400 (according to
+	  v5d.h)
+
+2003-01-19 00:02  markus
+
+	* include/Make/Grass.make: GISDEP added (maybe not yet complete)
+
+2003-01-17 17:49  markus
+
+	* lib/gis/token.c: moved new function G_number_of_tokens() to GIS
+	  lib
+
+2003-01-17 17:33  markus
+
+	* lib/db/Doxyfile_arch_latex: batchmode yes
+
+2003-01-17 16:34  markus
+
+	* vector/v.convert/main.c: put version 5 first unless the tcltk gui
+	  picks up the default value
+
+2003-01-17 16:07  radim
+
+	* db/base/copy.c: output parameters description
+
+2003-01-17 15:12  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi/copy_tab.c: + db_copy_table()
+
+2003-01-17 15:11  radim
+
+	* db/base/Makefile, db/base/copy.c, db/base/db.attr: copy table
+
+2003-01-17 15:09  radim
+
+	* lib/db/sqlp/lex.l, lib/db/sqlp/yac.y: DOUBLE PRECISION field type
+
+2003-01-17 15:07  radim
+
+	* db/drivers/postgres/table.c: varchar field length
+
+2003-01-17 08:33  markus
+
+	* vector/Makefile: conditionalized v.out.ogr upon GDALLIBS
+
+2003-01-17 08:27  radim
+
+	* vector/v.category/main.c: place new centroids in areas
+
+2003-01-17 07:57  radim
+
+	* lib/db/sqlp/test/sqlptest.c: larger buffer
+
+2003-01-17 07:55  radim
+
+	* configure, configure.in: zlib for mysql
+
+2003-01-16 17:59  radim
+
+	* general/g.mapsets/g.mapsets.tcl: debug removed
+
+2003-01-16 17:44  radim
+
+	* lib/vector/Vlib/build_shp.c: calculate correct centroids
+
+2003-01-16 17:44  radim
+
+	* lib/vector/Vlib/poly.c: Vect_get_point_in_area() enabled
+
+2003-01-16 17:43  radim
+
+	* lib/vector/diglib/poly.c: debug output
+
+2003-01-16 17:42  radim
+
+	* include/Make/Grass.make: LINKMLIB added to VECTORLIB
+
+2003-01-16 15:19  radim
+
+	* general/g.mapsets/Makefile, general/g.mapsets/g.mapsets.tcl: GUI
+
+2003-01-16 15:18  radim
+
+	* include/Make/Module.make: rules for inter
+
+2003-01-16 13:23  radim
+
+	* lib/form/generate.c, lib/form/open.c: fixed error for
+	  database='dbmane=xxx'
+
+2003-01-16 11:01  markus
+
+	* configure, configure.in: cosmetics for gdal-config message
+
+2003-01-16 10:38  radim
+
+	* lib/db/sqlp/lex.l: negative numbers enabled again
+
+2003-01-15 18:41  markus
+
+	* vector/v.convert/main.c: temporarily put big as first parameter
+	  to satisfy tcl gui
+
+2003-01-15 15:36  radim
+
+	* db/drivers/postgres/Makefile, db/drivers/postgres/db.c: parser
+	  for database, user/password dialog
+
+2003-01-15 14:57  radim
+
+	* db/drivers/mysql/Makefile, db/drivers/mysql/db.c,
+	  db/drivers/mysql/globals.h: host removed, parser for database,
+	  user/password dialog
+
+2003-01-15 14:56  radim
+
+	* db/drivers/Makefile, db/drivers/dialog,
+	  db/drivers/dialog/Makefile, db/drivers/dialog/dbd.h,
+	  db/drivers/dialog/user.c: + user/password dialog
+
+2003-01-14 17:55  radim
+
+	* db/base/connect.c, db/drivers/postgres/db.c, include/dbmi.h,
+	  lib/db/dbmi/connect.c: host removed
+
+2003-01-14 17:54  radim
+
+	* include/gisdefs.h: + G_strchg()
+
+2003-01-14 15:09  radim
+
+	* display/d.what.vect/Makefile, display/d.what.vect/attr.c,
+	  display/d.what.vect/main.c, display/d.what.vect/what.c,
+	  lib/form/open.c: form lib
+
+2003-01-14 14:59  radim
+
+	* include/Make/Grass.make, include/form.h, lib/Makefile, lib/form,
+	  lib/form/Makefile, lib/form/form.tcl, lib/form/generate.c,
+	  lib/form/html_library.tcl, lib/form/html_library_grass.tcl,
+	  lib/form/open.c: form lib
+
+2003-01-14 07:09  glynn
+
+	* raster3d/r3.out.v5d/main.c: Fix comments
+
+2003-01-14 07:03  glynn
+
+	* raster3d/r3.out.v5d/main.c: G3D patches from John Harrop
+
+2003-01-13 17:56  markus
+
+	* display/d.vect/main.c: reverted after discussion with Radim - d.m
+	  needs more flexibility
+
+2003-01-13 15:31  radim
+
+	* db/drivers/dbf/table.c: save correctly in shp mode
+
+2003-01-10 01:49  mike
+
+	* lib/g3d/g3dcache.c, lib/g3d/g3dclose.c, lib/g3d/g3drange.c,
+	  lib/gis/closecell.c, lib/gis/fork.c, lib/gis/get_datum_name.c,
+	  lib/gis/get_ell_name.c, lib/gis/get_projname.c, lib/gis/list.c,
+	  lib/gis/popen.c, lib/gis/remove.c, lib/gis/system.c,
+	  lib/imagery/ls_groups.c, lib/raster/io.c: Take Glynn's advice re
+	  unlink, fork and SIG* macro checks.
+
+2003-01-09 17:54  markus
+
+	* display/d.vect/main.c: added D_COLOR_LIST options for convenience
+
+2003-01-08 17:57  markus
+
+	* scripts/v.shape.register: removed ID test and DB file support as
+	  no longer needed. added test that SHAPE file start with letter
+	  (SQLP requirement)
+
+2003-01-08 16:22  markus
+
+	* include/vect/dig_defines.h: removed color definitions which
+	  already live in ../colors.h, also deleted unused MAX_OPEN_FILES
+
+2003-01-08 15:15  radim
+
+	* db/drivers/dbf/Makefile, db/drivers/dbf/globals.h,
+	  db/drivers/dbf/main.c, db/drivers/dbf/table.c: shp mode for dbf
+	  driver
+
+2003-01-08 15:13  radim
+
+	* lib/vector/Vlib/close_post.c, lib/vector/Vlib/close_shp.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/open_post.c,
+	  lib/vector/Vlib/open_shp.c, lib/vector/Vlib/read_shp.c: default
+	  driver/db/table/key for shape
+
+2003-01-08 15:12  radim
+
+	* lib/vector/diglib/frmt.c: shp format description changed
+
+2003-01-08 15:11  radim
+
+	* lib/db/dbmi/start.c: error msg changed
+
+2003-01-08 15:08  radim
+
+	* include/vect/dig_structs.h: shp info changed
+
+2003-01-08 12:24  markus
+
+	* display/d.legend/main.c: polished comments:
+	  * 12/2002: added range= option, -f for more explicit flipping. HB
+	  * 11/2002: added 'at' option, prettier fp labels, vertical
+	  flipping,
+	  * more robust mouse selection, fixed lines=x to actually
+	  * display x lines, fixed mouse placement bug for non-fp,
+	  * cleaned out some useless code (non-fp), re-centered color
+	  * box in frame, fixed smoothed color display limits,
+	  * reimplemented n (nee o) flag, reduced labelnum when few cats,
+	  * auto-scale text when position not explicitly set, and
+	  * other cleanups. Hamish Bowman
+
+2003-01-07 17:33  radim
+
+	* include/Make/Grass.make: VECTDEP modified
+
+2003-01-07 17:15  markus
+
+	* lib/db/dbmi/c_close_cur.c, lib/db/dbmi/c_finddb.c,
+	  lib/db/dbmi/column.c, lib/db/dbmi/cursor.c,
+	  lib/db/dbmi/d_add_col.c, lib/db/dbmi/d_close_cur.c,
+	  lib/db/dbmi/d_create_idx.c, lib/db/dbmi/d_create_tab.c,
+	  lib/db/dbmi/d_createdb.c, lib/db/dbmi/d_deletedb.c,
+	  lib/db/dbmi/d_desc_table.c, lib/db/dbmi/d_drop_col.c,
+	  lib/db/dbmi/d_drop_index.c, lib/db/dbmi/d_drop_tab.c,
+	  lib/db/dbmi/d_execute.c, lib/db/dbmi/d_finddb.c,
+	  lib/db/dbmi/d_list_idx.c, lib/db/dbmi/d_listdb.c,
+	  lib/db/dbmi/d_opendb.c, lib/db/dbmi/d_openselect.c,
+	  lib/db/dbmi/d_openupdate.c, lib/db/dbmi/datetime.c,
+	  lib/db/dbmi/dbmscap.c, lib/db/dbmi/dirent.c,
+	  lib/db/dbmi/driver.c, lib/db/dbmi/driver_state.c,
+	  lib/db/dbmi/error.c, lib/db/dbmi/handle.c, lib/db/dbmi/index.c,
+	  lib/db/dbmi/printtab.c, lib/db/dbmi/ret_codes.c,
+	  lib/db/dbmi/shutdown.c, lib/db/dbmi/sqltype.c,
+	  lib/db/dbmi/start.c, lib/db/dbmi/string.c, lib/db/dbmi/table.c,
+	  lib/db/dbmi/valuefmt.c, lib/db/dbmi/xdrdouble.c,
+	  lib/db/dbmi/xdrfloat.c, lib/db/dbmi/xdrint.c,
+	  lib/db/dbmi/xdrshort.c, lib/db/dbmi/xdrstring.c: added various
+	  missing include headers to fix compiler warnings
+
+2003-01-07 16:25  markus
+
+	* raster/r.colors/main.c: added blue through yellow to green
+	  colors, nice for temperature/NDVI maps
+
+2003-01-07 16:02  markus
+
+	* display/d.legend/main.c: Hamish Bowman
+	  <ihatejunkyabastards at yahoo.com>: new commit of various bugfixes
+
+2003-01-07 14:04  radim
+
+	* vector/v.build/Makefile, vector/v.build/main.c: DEPENDENCIES
+
+2003-01-07 14:02  radim
+
+	* lib/vector/Vlib/Makefile, lib/vector/Vlib/close_post.c: fix coor
+	  size for PostGIS topo
+
+2003-01-07 14:01  radim
+
+	* include/Make/Grass.make: added VECTLIB to VECTDEP
+
+2003-01-07 13:30  radim
+
+	* display/Makefile, display/d.what.rast/Makefile: + d.what.rast
+
+2003-01-07 13:28  radim
+
+	* tools/link.conf: +d.what.rast
+
+2003-01-07 13:13  radim
+
+	* lib/init/init.sh: force text mode until GUI is updated
+
+2003-01-07 13:08  radim
+
+	* lib/vector/Vlib/build_nat.c: print primitives instead of lines
+
+2003-01-07 12:39  radim
+
+	* display/d.m/vector.tcl: init label (attribute) column name
+
+2003-01-07 11:11  radim
+
+	* include/Make/Module.make: DEPENDENCIES removed (must be defined
+	  in the Makefile of each module)
+
+2003-01-03 05:47  mike
+
+	* lib/gis/win32_pipes.c: More MinGW32 changes. Experiment with
+	  named pipes as no AF_UNIX sockets.
+
+2003-01-02 07:45  mike
+
+	* lib/gis/closecell.c, lib/gis/get_datum_name.c,
+	  lib/gis/get_ell_name.c, lib/gis/get_projname.c, lib/gis/gets.c,
+	  lib/gis/popen.c, lib/gis/remove.c, lib/gis/set_prior.c,
+	  lib/gis/system.c, lib/gis/user_config.c: More native windows
+	  changes.
+
+2003-01-01 12:05  mike
+
+	* lib/gis/fork.c, lib/gis/popen.c, lib/init/chk_dbase.c: Further
+	  native Windows mods.
+
+2002-12-31 14:59  markus
+
+	* INSTALL: few comments
+
+2002-12-31 07:50  mike
+
+	* lib/gis/intr_char.c, lib/gis/list.c, lib/gis/popen.c,
+	  lib/gis/system.c, lib/gis/whoami.c, lib/raster/io.c,
+	  lib/vask/V_support.c: New years eve start on MSYS/MinGW32 native
+	  Win32 build.
+
+2002-12-30 11:21  markus
+
+	* tools/link: 'Linked ...' cosmetics
+
+2002-12-30 11:04  markus
+
+	* tools/link: don't print 'Subdir ignored' any longer, but 'Linked
+	  ...' - hopefully less confusing
+
+2002-12-28 08:30  markus
+
+	* include/Make/Platform.make.in: hardcoded -Wall to force
+	  developers to fix warnings
+
+2002-12-27 12:20  alex
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/lex.l,
+	  lib/db/sqlp/sql.c, lib/db/sqlp/yac.y: Arithmetic operators added
+	  to WHERE clause; nodes cleanup
+
+2002-12-23 09:32  alex
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/alloc.c,
+	  lib/db/sqlp/lex.l, lib/db/sqlp/print.c, lib/db/sqlp/sql.c,
+	  lib/db/sqlp/yac.y: include all binary logics to SQLP and dbf
+	  driver
+
+2002-12-23 08:48  markus
+
+	* vector/v.db.connect/main.c: fixed message
+
+2002-12-23 08:47  markus
+
+	* lib/vector/Vlib/open_shp.c: fixed debug level
+
+2002-12-23 08:34  markus
+
+	* vector/v.info/main.c: cleaned unneccesary cats stuff (#cats =
+	  #centroids)
+
+2002-12-23 08:21  markus
+
+	* include/Make/Module.make: added missing DEPENDENCIES
+
+2002-12-20 17:22  markus
+
+	* lib/gis/opencell.c: made error message for zone conflict more
+	  helpful
+
+2002-12-19 15:18  radim
+
+	* db/drivers/dbf/dbfexe.c: another attempt to fix allocation
+	  problem 2
+
+2002-12-19 15:07  radim
+
+	* db/drivers/dbf/cursor.c, db/drivers/dbf/db.c,
+	  db/drivers/dbf/dbfexe.c, db/drivers/dbf/globals.h,
+	  db/drivers/dbf/proto.h: another attempt to fix allocation problem
+
+2002-12-19 13:11  markus
+
+	* include/config.h.in: HAVE POSTGRES should be HAVE_POSTGRES
+
+2002-12-19 13:06  markus
+
+	* configure, configure.in: added keypad test
+
+2002-12-19 13:04  markus
+
+	* include/config.h.in: added missing stuff from 5.0
+
+2002-12-19 11:54  alex
+
+	* db/drivers/dbf/cursor.c, db/drivers/dbf/db.c,
+	  db/drivers/dbf/dbfexe.c, db/drivers/dbf/globals.h,
+	  db/drivers/dbf/main_debug.c: Fix for memory allocation problem
+
+2002-12-18 18:05  markus
+
+	* db/base/describe.c: added -c flag to only print column names
+
+2002-12-18 14:57  radim
+
+	* vector/v.digit/icons, vector/v.digit/icons/delete.line.gif,
+	  vector/v.digit/icons/exit.gif,
+	  vector/v.digit/icons/move.line.gif,
+	  vector/v.digit/icons/move.vertex.gif,
+	  vector/v.digit/icons/new.boundary.gif,
+	  vector/v.digit/icons/new.centroid.gif,
+	  vector/v.digit/icons/new.line.gif,
+	  vector/v.digit/icons/new.point.gif,
+	  vector/v.digit/icons/redraw.gif,
+	  vector/v.digit/icons/settings.gif, vector/v.digit/icons/stop.gif,
+	  vector/v.digit/icons/zoom.out.centre.gif,
+	  vector/v.digit/icons/zoom.window.gif: icons new or moved
+
+2002-12-18 14:56  radim
+
+	* vector/v.digit/Makefile, vector/v.digit/background.c,
+	  vector/v.digit/c_face.c, vector/v.digit/cat.c,
+	  vector/v.digit/centre.c, vector/v.digit/display.c,
+	  vector/v.digit/driver.c, vector/v.digit/global.h,
+	  vector/v.digit/i_face.c, vector/v.digit/line.c,
+	  vector/v.digit/main.c, vector/v.digit/proto.h,
+	  vector/v.digit/settings.tcl, vector/v.digit/symb.c,
+	  vector/v.digit/toolbox.tcl, vector/v.digit/util.c,
+	  vector/v.digit/zoom.c: new features
+
+2002-12-18 14:53  radim
+
+	* vector/v.digit/exit.gif, vector/v.digit/mv.line.gif,
+	  vector/v.digit/mv.node.gif, vector/v.digit/new.line.gif,
+	  vector/v.digit/stop.gif: -
+
+2002-12-18 14:40  radim
+
+	* include/Vect.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/diglib/Makefile, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/update.c: + list
+	  of updated lines
+
+2002-12-18 08:29  markus
+
+	* lib/gis/opencell.c: improved warning to be more helpful
+
+2002-12-17 11:57  alex
+
+	* db/drivers/dbf/Makefile, db/drivers/dbf/dbf_catalog,
+	  db/drivers/dbf/dbf_catalog/river.dbf,
+	  db/drivers/dbf/main_debug.c: Small add-on for debugging the
+	  driver
+
+2002-12-17 09:39  markus
+
+	* doc/vector/vector.html: added link to progman
+
+2002-12-16 16:05  radim
+
+	* doc/vector/vector.html: -
+
+2002-12-16 15:56  radim
+
+	* doc/vector/v.modules.html: status update
+
+2002-12-14 14:12  alex
+
+	* configure, configure.in, include/config.h.in: Restoring
+	  HAVE_POSTGRES because it 's everywhere in libs.
+	  However it's not in GRASS5.0 so we are just where we were
+	  - not sync'ed between versions in this point
+	  HAVE_POSTGRES is confusing, to my mind, as it has the same
+	  sense as USE_POSTGRES but without checks to existing
+	  header and libs.
+
+2002-12-14 13:54  alex
+
+	* configure, configure.in, include/config.h.in,
+	  visualization/nviz/doconfigure: Synchronizing 'configure' option
+	  concerning PostgreSQL between GRASS5.0
+	  and 5.1:
+	  
+	  - HAVE_LIBPQ_FE_H is used whenever check for header
+	  - HAVE_POSTGRES is NOT used (confusing check removed)
+	  - query_postgr.c is not overwritten by doconfigure any_more (it
+	  has
+	  both cases now)
+
+2002-12-14 13:11  alex
+
+	* visualization/nviz/src/query_postgr.c,
+	  visualization/nviz/src/runPg.c: Synchronizing 'configure' option
+	  concerning PostgreSQL between GRASS5.0 and 5.1:
+	  
+	  - HAVE_LIBPQ_FE_H is used whenever check for header
+	  - HAVE_POSTGRES is NOT used (confusing check removed)
+	  - query_postgr.c is not overwritten by doconfigure any_more (it
+	  has both cases now)
+
+2002-12-13 16:11  markus
+
+	* vector/v.db.connect/main.c: fix for vector maps path
+
+2002-12-13 16:10  markus
+
+	* vector/v.db.connect/main.c, vector/v.extract/main.c: fix for
+	  vector maps path
+
+2002-12-13 11:29  markus
+
+	* db/base/columns.c, db/base/describe.c, db/base/droptable.c:
+	  changed parameter order for convenience
+
+2002-12-13 06:50  glynn
+
+	* lib/vask/V_exit.c, lib/vask/V_init.c: Include config.h for
+	  HAVE_KEYPAD
+
+2002-12-11 17:47  markus
+
+	* vector/Makefile: added v.db.connect
+
+2002-12-11 17:46  markus
+
+	* vector/v.db.connect, vector/v.db.connect/Makefile,
+	  vector/v.db.connect/main.c: displays DB connection for a vector
+	  map
+
+2002-12-11 14:47  markus
+
+	* display/d.m/vector.tcl: added new attribute display feature
+
+2002-12-11 13:09  radim
+
+	* include/vect/dig_structs.h: PostGIS: info structure changed
+
+2002-12-11 13:08  radim
+
+	* scripts/postgisdb: existTable function removed
+
+2002-12-11 13:06  radim
+
+	* lib/vector/Vlib/build_nat.c, lib/vector/Vlib/close_post.c,
+	  lib/vector/Vlib/open_post.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_post.c, lib/vector/Vlib/rewind_post.c,
+	  lib/vector/Vlib/write_post.c: PostGIS: removed some limits; use
+	  binary cursor
+
+2002-12-10 10:29  alex
+
+	* visualization/nviz/src/runPg.c: Added clause to check
+	  HAVE_POSTGRES for 5.1 compat
+
+2002-12-10 10:15  radim
+
+	* lib/gis/debug.c: removed buffer limit
+
+2002-12-10 10:00  alex
+
+	* db/drivers/dbf/dbfexe.c, include/sqlp.h, lib/db/sqlp/alloc.c,
+	  lib/db/sqlp/lex.l, lib/db/sqlp/print.c, lib/db/sqlp/sql.c,
+	  lib/db/sqlp/yac.y: Added (and_clause) or (and_clause).. or
+	  (and_clause) to parser and dbf driver
+
+2002-12-09 14:20  radim
+
+	* display/d.vect/attr.c, display/d.vect/dir.c,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot.h, display/d.vect/topo.c: + display attribute
+	  from db
+
+2002-12-05 15:18  radim
+
+	* vector/v.build.polylines/main.c: fix last line skip
+
+2002-12-05 14:03  radim
+
+	* vector/v.category/main.c: +print cats
+
+2002-12-05 13:31  radim
+
+	* vector/Makefile, vector/v.patch, vector/v.patch/Makefile,
+	  vector/v.patch/main.c: +v.patch
+
+2002-12-05 12:13  radim
+
+	* display/d.what.vect/what.c: fix for multiple maps
+
+2002-12-05 11:00  radim
+
+	* display/d.what.vect/attr.c: do not wait until attr win is closed
+
+2002-12-05 09:27  alex
+
+	* db/base/connect.c, db/drivers/mysql/db.c,
+	  db/drivers/mysql/mysqlexe.c, db/drivers/mysql/proto.h,
+	  db/drivers/mysql/table.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/table.c, include/dbmi.h,
+	  lib/db/dbmi/connect.c: DB_HOST added to dbConnection struct and
+	  to the db_get_set_connection calls;
+	  mysql driver modified to handle multiple queries in one
+	  connection
+
+2002-12-04 22:25  glynn
+
+	* display/d.legend/main.c: Minor fixes from Hamish Bowman: mouse
+	  x/y swapped, filled box too small
+
+2002-12-04 22:21  glynn
+
+	* display/d.legend/main.c: Revert latest changes
+
+2002-12-04 15:51  radim
+
+	* include/Vect.h, lib/vector/Vlib/line.c: +Vect_line_segment()
+
+2002-12-03 13:54  markus
+
+	* vector/v.extract/main.c: bugs expect white space bugs fixed for
+	  file= parameter
+
+2002-12-03 13:51  markus
+
+	* vector/v.extract/main.c: bugs expect white space bugs fixed for
+	  file= parameter
+
+2002-12-03 11:28  alex
+
+	* db/drivers/postgres/describe.c, db/drivers/postgres/pgexe.c,
+	  db/drivers/postgres/proto.h, db/drivers/postgres/table.c: Table
+	  data upload refresh on each query ( one db_conn)
+
+2002-12-03 02:30  eric
+
+	* lib/gis/state83: Fix North Carolina false easting per bug report:
+	  verified w/ North Carolina
+	  statutes chapter 102.
+
+2002-12-02 10:32  alex
+
+	* vector/v.digit/c_face.c, vector/v.digit/centre.c,
+	  vector/v.digit/display.c, vector/v.digit/global.h,
+	  vector/v.digit/i_face.c, vector/v.digit/line.c,
+	  vector/v.digit/mv.line.gif, vector/v.digit/mv.node.gif,
+	  vector/v.digit/new.line.gif, vector/v.digit/proto.h,
+	  vector/v.digit/rm.line.gif: Delete/move line/node operations
+
+2002-11-30 14:44  alex
+
+	* display/d.what.vect/what.c: color macros instead of
+	  D_translate_color
+
+2002-11-30 14:39  alex
+
+	* vector/v.digit/rm.line.gif: icon for menu
+
+2002-11-30 14:38  alex
+
+	* vector/v.digit/c_face.c, vector/v.digit/centre.c,
+	  vector/v.digit/display.c, vector/v.digit/global.h,
+	  vector/v.digit/line.c, vector/v.digit/main.c,
+	  vector/v.digit/proto.h, vector/v.digit/toolbox.tcl: line edit
+	  operations
+
+2002-11-30 13:35  alex
+
+	* visualization/nviz/doconfigure: Changing Postgres support in nviz
+
+2002-11-30 12:52  alex
+
+	* visualization/nviz/src/buildPg.c,
+	  visualization/nviz/src/getCat.c, visualization/nviz/src/pg.h,
+	  visualization/nviz/src/query_postgr.c,
+	  visualization/nviz/src/runPg.c: Sunday morning purge with hand of
+	  iron:
+	  
+	  Removing confusing names, bogus header files, bogus
+	  vars/definitions,
+	  more precise error handling and sources identing.
+
+2002-11-28 15:18  radim
+
+	* vector/Makefile: v.mapcalc removed
+
+2002-11-28 14:43  radim
+
+	* vector/v.digit/Makefile: older version
+
+2002-11-28 12:48  radim
+
+	* vector/v.digit/Makefile: tcl/tk header flags
+
+2002-11-28 12:36  glynn
+
+	* configure, configure.in: Define HAVE_POSTGRES
+
+2002-11-28 11:53  alex
+
+	* display/d.what.vect/attr.c, display/d.what.vect/flash.c,
+	  display/d.what.vect/main.c, display/d.what.vect/what.c,
+	  display/d.what.vect/what.h: Added flashing on clicked object
+
+2002-11-28 11:04  radim
+
+	* lib/db/dbmi/select.c: +debug output in db_select_int
+
+2002-11-28 10:57  markus
+
+	* display/d.legend/main.c: Hamish Bowman
+	  <ihatejunkyabastards at yahoo.com>: many, many fixes for this
+	  program
+
+2002-11-27 17:30  radim
+
+	* lib/vector/Vlib/read.c, lib/vector/Vlib/read_shp.c: fix for shp
+	  build (line offset)
+
+2002-11-26 20:01  markus
+
+	* lib/init/init.sh: cosmetics
+
+2002-11-26 18:10  radim
+
+	* lib/vector/Vlib/build_shp.c: fixed build areas
+
+2002-11-25 18:36  radim
+
+	* display/drivers/XDRIVER/XDRIVER24/Get_w_box.c,
+	  display/drivers/XDRIVER/XDRIVER24/Get_w_line.c,
+	  display/drivers/XDRIVER/XDRIVER24/Get_w_pnt.c,
+	  display/drivers/lib/command.c, display/drivers/lib/driverlib.h,
+	  lib/raster/Get_w_box.c, lib/raster/Get_w_line.c,
+	  lib/raster/Get_w_pnt.c: hack for interactive Get_with_
+
+2002-11-25 18:31  radim
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/build_shp.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_shp.c, lib/vector/Vlib/write_nat.c: fixed
+	  build for shape points and lines (moved to build_shp.c);
+	  +Vect_get_area_bounaries()
+
+2002-11-25 18:30  radim
+
+	* include/Vect.h: +Vect_get_area_boundaries()
+
+2002-11-24 22:32  markus
+
+	* lib/db/README, lib/db/dbmi.dox: PG and mySQL driver present now
+
+2002-11-24 21:01  glynn
+
+	* raster/r.mapcalc/map.c: Add missing break statement [bug #1436]
+
+2002-11-24 18:36  markus
+
+	* db/drivers/Makefile: fixed for optional mysql compilation
+
+2002-11-24 18:14  markus
+
+	* include/codes.h: moved here from db/base/
+
+2002-11-24 18:12  markus
+
+	* db/base/codes.h: moved to include/ for general usage
+
+2002-11-24 18:10  markus
+
+	* db/base/connect.c: fixed driver selection options
+
+2002-11-24 11:39  alex
+
+	* db/drivers/mysql/column.c, db/drivers/mysql/describe.c,
+	  db/drivers/mysql/globals.h, db/drivers/mysql/proto.h,
+	  db/drivers/mysql/table.c, db/drivers/postgres/db.c,
+	  db/drivers/postgres/globals.h, db/drivers/postgres/listdb.c,
+	  db/drivers/postgres/pgexe.c, db/drivers/postgres/table.c: More
+	  accurate error handling & cosmetics
+
+2002-11-23 19:25  markus
+
+	* db/drivers/Makefile: added mysql target
+
+2002-11-23 18:33  glynn
+
+	* configure, configure.in, db/drivers/mysql/Makefile,
+	  include/Make/Platform.make.in: Add configure options for MySQL
+
+2002-11-22 19:09  markus
+
+	* db/drivers/dbf/main.c: return type added
+
+2002-11-22 16:54  radim
+
+	* vector/v.out.ogr/Makefile: EXTRA_CFLAGS enabled
+
+2002-11-22 13:58  markus
+
+	* db/drivers/odbc/Makefile: small fix
+
+2002-11-22 13:54  markus
+
+	* db/drivers/Makefile: new logic added for optional compilation
+
+2002-11-22 10:22  alex
+
+	* db/drivers/mysql, db/drivers/mysql/Makefile,
+	  db/drivers/mysql/column.c, db/drivers/mysql/cursor.c,
+	  db/drivers/mysql/db.c, db/drivers/mysql/describe.c,
+	  db/drivers/mysql/driver.c, db/drivers/mysql/error.c,
+	  db/drivers/mysql/execute.c, db/drivers/mysql/fetch.c,
+	  db/drivers/mysql/globals.h, db/drivers/mysql/listdb.c,
+	  db/drivers/mysql/listtab.c, db/drivers/mysql/main.c,
+	  db/drivers/mysql/mysqlexe.c, db/drivers/mysql/proto.h,
+	  db/drivers/mysql/select.c, db/drivers/mysql/str.c,
+	  db/drivers/mysql/table.c, db/drivers/postgres/Makefile: MySQL
+	  DBMI driver code
+
+2002-11-22 09:02  markus
+
+	* db/drivers/Makefile: added postgres, fixed odbc, but this
+	  Makefile must be improved (postgres optional if PGLIB is set)
+
+2002-11-22 08:48  markus
+
+	* db/drivers/pg: removed bogus dir
+
+2002-11-21 11:33  alex
+
+	* db/drivers/postgres/Makefile, db/drivers/postgres/column.c,
+	  db/drivers/postgres/listdb.c, db/drivers/postgres/str.c: listdb.c
+	  added for db.databases
+
+2002-11-20 11:27  markus
+
+	* db/base/drivers.c: added -p flag, activated interactive mode
+	  (with potential bug in parser.c in tcltk part, try 'run'
+
+2002-11-20 09:43  alex
+
+	* db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/pgexe.c, db/drivers/postgres/select.c,
+	  db/drivers/postgres/table.c: cleanup
+
+2002-11-19 10:59  alex
+
+	* db/drivers/postgres, db/drivers/postgres/Makefile,
+	  db/drivers/postgres/column.c, db/drivers/postgres/cursor.c,
+	  db/drivers/postgres/db.c, db/drivers/postgres/describe.c,
+	  db/drivers/postgres/driver.c, db/drivers/postgres/error.c,
+	  db/drivers/postgres/execute.c, db/drivers/postgres/fetch.c,
+	  db/drivers/postgres/globals.h, db/drivers/postgres/listtab.c,
+	  db/drivers/postgres/main.c, db/drivers/postgres/pgexe.c,
+	  db/drivers/postgres/proto.h, db/drivers/postgres/select.c,
+	  db/drivers/postgres/str.c, db/drivers/postgres/table.c: The rest
+	  of the code for postgres driver
+
+2002-11-19 06:59  glynn
+
+	* raster/r.mapcalc/mapcalc.y: Fix syntax error in mapcalc.y (bug
+	  reported by Scott W Mitchell).
+
+2002-11-18 18:50  radim
+
+	* lib/init/init.sh: back to v1.4
+
+2002-11-17 10:58  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/expression.h, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/mapcalc.h, raster/r.mapcalc/mapcalc.y: Add
+	  "oper" and "prec" fields to struct expr_data_func to allow the
+	  original
+	  expression to be more accurately reconstructed.
+	  Improve formatting:
+	  use infix operators, precedence
+	  remove automated type conversion functions.
+	  don't display [row,col] offsets when [0,0]
+	  Change print_* functions to format_*; new versions generate a
+	  string rather
+	  than write to a stream.
+	  Save (reconstructed) formula in history.
+
+2002-11-17 08:58  alex
+
+	* db/drivers/pg, db/drivers/pg/Makefile, db/drivers/pg/db.c,
+	  db/drivers/pg/driver.c, db/drivers/pg/error.c,
+	  db/drivers/pg/globals.h, db/drivers/pg/listtab.c,
+	  db/drivers/pg/main.c, db/drivers/pg/proto.h,
+	  db/drivers/pg/table.c: Just to begin with. Not much but enough to
+	  run db.tables.
+
+2002-11-14 09:50  alex
+
+	* lib/init/init.sh: Scripts in g51test-7 heavily use LOCATION
+	  variable - so I guess
+	  it has to be exported. Besides, scripts 'tour' and 'tower'
+	  also have to be modified in order to run them from any catalog -
+	  change './tower' to '$LOCATION/../tower' and './mvascii' the same
+	  way.
+	  I got demo tour working after that.
+
+2002-11-10 22:46  eric
+
+	* lib/gis/geo_init.c: Only ask for "south" in UPS. All else is
+	  predefined...
+
+2002-11-09 23:30  glynn
+
+	* aclocal.m4, configure, configure.in,
+	  include/Make/Platform.make.in: Update configure script
+	  Remove references to TERMLIB
+	  Remove bogus $(XEXTRALIBS) from definition of XDRLIB
+
+2002-11-08 16:04  markus
+
+	* lib/vector/Vlib/read.c: fixed Vect_read_line descr.
+
+2002-11-08 15:40  markus
+
+	* vector/v.out.ogr/main.c: G_gis_init() must be called before
+	  defining parameters, compare
+	  http://grass.itc.it/pipermail/grass5/2001-June/000197.html
+
+2002-11-08 15:35  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/createdb.c,
+	  db/base/databases.c, db/base/describe.c, db/base/dropdb.c,
+	  db/base/droptable.c, db/base/execute.c, db/base/select.c,
+	  db/base/tables.c: fixed position of G_gisinit()
+
+2002-11-07 16:29  markus
+
+	* db/base/connect.c: flag cosmetics
+
+2002-11-07 16:29  markus
+
+	* db/base/tables.c: -p flag added
+
+2002-11-07 14:43  markus
+
+	* imagery/i.ortho.photo/menu/menu.c: fixed the startup for certain
+	  cases
+
+2002-11-05 08:58  markus
+
+	* raster3d/r3.out.v5d/main.c: fixed small bug
+
+2002-11-04 18:04  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/createdb.c,
+	  db/base/databases.c, db/base/describe.c, db/base/dropdb.c,
+	  db/base/droptable.c, db/base/execute.c, db/base/select.c,
+	  db/base/tables.c: added G_description, added support for pop-up
+	  GUI
+
+2002-11-04 16:20  markus
+
+	* vector/v.surf.rst/Makefile, vector/v.surf.rst/v.surf.rst.dox:
+	  added clean target
+
+2002-11-04 15:48  markus
+
+	* Doxyfile, Makefile, vector/v.surf.rst/v.surf.rst.dox: cosmetics
+
+2002-11-04 15:30  markus
+
+	* vector/v.surf.rst/Makefile, vector/v.surf.rst/v.surf.rst.dox:
+	  suggestion for new man page documentation including formula
+
+2002-11-04 15:09  markus
+
+	* include/proto_dbmi.h: db_list_drivers() no longer in DBMI but in
+	  /db/base/
+
+2002-11-04 15:08  markus
+
+	* lib/db/dbmi/list_drivers.c: moved db_list_drivers() here to
+	  /db/base/ to avoid strange compilation problems with DBMI and
+	  stubs
+
+2002-11-04 15:06  markus
+
+	* db/base/Makefile, db/base/describe.c, db/base/list_drivers.c:
+	  moved db_list_drivers() here to avoid strange compilation
+	  problems with DBMI and stubs
+
+2002-11-04 14:45  markus
+
+	* db/base/Makefile: removed DBSTUBSLIB dependency
+
+2002-11-04 14:43  markus
+
+	* include/proto_dbmi.h: renamed function
+
+2002-11-04 14:42  markus
+
+	* lib/db/dbmi/d_listdb.c, lib/db/dbmi/driver.c,
+	  lib/db/dbmi/list_drivers.c: moved db_list_drivers() to own file
+
+2002-11-04 14:20  markus
+
+	* db/base/Makefile, db/base/columns.c, db/base/connect.c,
+	  db/base/createdb.c, db/base/databases.c, db/base/describe.c,
+	  db/base/dropdb.c, db/base/droptable.c, db/base/execute.c,
+	  db/base/printtab.c, db/base/select.c, db/base/tables.c: some
+	  fixes
+
+2002-11-04 12:57  markus
+
+	* db/base/columns.c, db/base/connect.c, db/base/createdb.c,
+	  db/base/databases.c, db/base/describe.c, db/base/drivers.c,
+	  db/base/dropdb.c, db/base/droptable.c, db/base/execute.c,
+	  db/base/printtab.c, db/base/select.c, db/base/tables.c: fixed
+	  function headers, added driver options
+
+2002-11-04 12:48  markus
+
+	* lib/db/dbmi/driver.c: added: db_driver_list()
+
+2002-11-04 12:47  markus
+
+	* include/proto_dbmi.h: added: db_driver_list
+
+2002-11-04 07:37  radim
+
+	* tools/link.conf: rm qtree
+
+2002-11-02 16:54  markus
+
+	* lib/gis/Makefile: re-added local color_str.c
+
+2002-11-02 16:39  markus
+
+	* lib/ogsf/gpd.c, lib/ogsf/gsd_prim.c,
+	  visualization/nviz/src/change_view.c: Date: Fri, 18 Oct 2002
+	  12:27:02 -0300
+	  From: Bob Covill <bcovill at tekmap.ns.ca>
+	  Subject: NVIZ update
+	  
+	  I have been cleaning up the NVIZ off-screen code and have
+	  attached the
+	  changes.
+	  
+	  The cleanup includes better handling of the off-screen context
+	  and a
+	  compile option to use a pixmap instead of a pbuffer. The pixmap
+	  would
+	  only be usable with a lower end graphics setup that does not have
+	  direct
+	  rendering. I have also fixed the destroy pbuffer routine so that
+	  the
+	  togl display is returned when the animation is complete. These
+	  changes
+	  are included in gsd_prim.c.
+	  
+	  I have also changed the panel_kanimator.tcl so that off-screen is
+	  an
+	  option when rendering. The destroy pbuffer routine is tied into
+	  the
+	  animation stop routine which is executed when the animation
+	  completes or
+	  the stop button is pressed. This should destroy the pbuffer and
+	  return
+	  the togl context (original window).
+	  
+	  I have also added an unrelated option to the panel_kanimator.tcl
+	  that
+	  allows the user to set a starting frame number (default = 0).
+	  This is
+	  useful when rendering animations in different sections, and you
+	  want to
+	  continue numbering from where the last section left off. I have
+	  also
+	  changed the number format from 5 digits to 4. This simply makes
+	  it more
+	  compatible with the gimp animation scripting tools.
+	  
+	  It is important to note that when running the off-screen
+	  rendering, the
+	  original togl window should be minimized. If it is isn't, it can
+	  interfere with the off-screen context. As a general rule,
+	  minimize the
+	  window before running in off-screen mode. Also, I have found that
+	  wireframe off-screen rendering is temperamental and requires a
+	  bit more
+	  work.
+	  
+	  If you have any questions or problems let me know.
+	  
+	  --
+	  Bob Covill
+	  
+	  Tekmap Consulting
+	  P.O. Box 2016
+	  Fall River, N.S.
+	  B2T 1K6
+	  Canada
+
+2002-11-02 16:34  markus
+
+	* visualization/nviz/scripts/fileBrowser.tcl: fix (?) for devision
+	  by zero (from GRASSLIST)
+
+2002-11-02 16:30  markus
+
+	* db/base/Makefile, db/drivers/dbf/Makefile,
+	  db/drivers/odbc/Makefile: added missing DATETIMELIB
+
+2002-11-02 16:29  markus
+
+	* lib/gis/Makefile: color_str was removed in 5.0
+
+2002-11-02 16:19  markus
+
+	* lib/gis/Makefile: added missing file
+
+2002-11-02 16:19  markus
+
+	* vector/v.info/main.c: fixed description
+
+2002-11-02 15:56  markus
+
+	* include/Make/Grass.make, include/Make/Lib.make: preparations for
+	  shared libs support
+
+2002-11-01 11:42  alex
+
+	* lib/raster/io.c, lib/raster/parse_mon.c: i18n amendments
+
+2002-10-31 17:26  markus
+
+	* vector/v.extract/extract.c: type fixed
+
+2002-10-31 17:09  markus
+
+	* scripts/v.shape.register: fixed DB file writing
+
+2002-10-31 12:45  markus
+
+	* lib/vector/Vlib/open.c: message improved
+
+2002-10-30 16:27  markus
+
+	* scripts/v.shape.register: print path to DBF file
+
+2002-10-30 15:56  markus
+
+	* scripts/v.shape.register, scripts/v.shape.unregister: DB support
+	  added
+
+2002-10-30 14:09  radim
+
+	* vector/v.out.ogr/main.c: better options description
+
+2002-10-30 13:28  radim
+
+	* include/Make/Module.make: LIBES replaced by DEPENDENCIES in
+	  dependencies
+
+2002-10-30 13:26  radim
+
+	* include/Make/Platform.make.in: + GDAL
+
+2002-10-30 13:25  radim
+
+	* vector/v.out.ogr, vector/v.out.ogr/Makefile,
+	  vector/v.out.ogr/README, vector/v.out.ogr/main.c: new module
+
+2002-10-28 13:02  markus
+
+	* lib/db/dbmi/generate_dox.sh: cosmetics
+
+2002-10-28 13:02  markus
+
+	* lib/db/dbmi/cursor.c: added function names for doxygen
+
+2002-10-24 17:33  markus
+
+	* lib/db/Makefile, lib/vector/Makefile: renamed pdf file
+
+2002-10-24 17:32  markus
+
+	* Makefile: added docs targets
+
+2002-10-24 09:54  markus
+
+	* INSTALL, README: some hints added
+
+2002-10-24 09:30  markus
+
+	* lib/db/dbmi.dox: added see also for Vector architeture
+
+2002-10-24 09:28  markus
+
+	* lib/vector/vector_arch.dox: added see also for DBMI
+
+2002-10-24 09:23  markus
+
+	* lib/vector/Doxyfile_arch_html, lib/vector/Doxyfile_arch_latex,
+	  lib/vector/vector_arch.dox: cosmetics
+
+2002-10-24 09:13  markus
+
+	* Doxyfile, grass51refman.dox: added docs master file
+
+2002-10-24 08:16  markus
+
+	* lib/db/dbmi.dox: added draft master file for DBMI docs
+
+2002-10-23 13:31  radim
+
+	* vector/v.build.polylines, vector/v.build.polylines/Makefile,
+	  vector/v.build.polylines/README,
+	  vector/v.build.polylines/global.h,
+	  vector/v.build.polylines/main.c, vector/v.build.polylines/walk.c,
+	  vector/v.build.polylines/walk.h: initial upgrade
+
+2002-10-23 13:29  radim
+
+	* vector/Makefile: +v.build.polylines
+
+2002-10-23 09:02  markus
+
+	* lib/vector/vector_arch.dox: cosmetics
+
+2002-10-23 08:58  markus
+
+	* lib/vector/Vlib/generate_dox.sh: polished
+
+2002-10-23 08:57  markus
+
+	* lib/db/Doxyfile_arch_html, lib/db/Doxyfile_arch_latex,
+	  lib/db/Makefile, lib/db/dbmi/generate_dox.sh: added doxygen
+	  support. Note that the functions are still undocumented, so the
+	  result is not exciting.
+
+2002-10-23 08:34  markus
+
+	* db/drivers/README: added info
+
+2002-10-23 08:10  radim
+
+	* db/drivers/dbf/column.c, db/drivers/dbf/cursor.c,
+	  db/drivers/dbf/db.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/describe.c, db/drivers/dbf/execute.c,
+	  db/drivers/dbf/fetch.c, db/drivers/dbf/listtab.c,
+	  db/drivers/dbf/main.c, db/drivers/dbf/select.c,
+	  db/drivers/dbf/str.c, db/drivers/dbf/table.c: + #include
+
+2002-10-22 09:08  radim
+
+	* lib/vector/Vlib/build_nat.c: -
+
+2002-10-22 07:51  radim
+
+	* include/vect/dig_defines.h, lib/vector/Vlib/area.c: -
+
+2002-10-21 12:19  markus
+
+	* vector/v.info/main.c: fixed input to map for consistency
+
+2002-10-21 09:39  markus
+
+	* lib/vector/Vlib/generate_dox.sh: Glynn Clements: fixed sed
+	  function extraction
+
+2002-10-21 07:05  markus
+
+	* lib/vector/Doxyfile_arch_html, lib/vector/Doxyfile_arch_latex,
+	  lib/vector/Makefile, lib/vector/Vlib/generate_dox.sh: improved
+	  docs
+
+2002-10-20 09:47  glynn
+
+	* display/d.mon/cmd/main.c: Fix exit code (return non-zero if any
+	  errors occurred)
+
+2002-10-18 17:19  markus
+
+	* lib/vector/README: FIX
+
+2002-10-18 17:14  markus
+
+	* lib/vector/Makefile: fixes
+
+2002-10-18 16:54  markus
+
+	* lib/vector/README: docs instructions added
+
+2002-10-18 16:51  markus
+
+	* lib/vector/Doxyfile_arch_html, lib/vector/Doxyfile_arch_latex,
+	  lib/vector/Makefile, lib/vector/vector_arch.dox: preliminary
+	  Vector API docs added (can be generated in HTML, Latex and PDF)
+
+2002-10-18 16:22  markus
+
+	* Doxyfile: path fix
+
+2002-10-18 16:16  markus
+
+	* lib/vector/Vlib/write.c: dox fixes
+
+2002-10-18 15:41  markus
+
+	* lib/vector/Vlib/line.c, lib/vector/Vlib/write.c: dox fixes
+
+2002-10-18 15:19  markus
+
+	* Doxyfile: also respect .dox files
+
+2002-10-18 15:05  markus
+
+	* lib/vector/Vlib/find.c, lib/vector/Vlib/open_shp.c,
+	  lib/vector/Vlib/overlap.c, lib/vector/Vlib/overlay.c,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_post.c,
+	  lib/vector/Vlib/read_shp.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_post.c,
+	  lib/vector/Vlib/rewind_shp.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/tin.c, lib/vector/Vlib/type.c,
+	  lib/vector/Vlib/window.c: continued to add doxygen docs
+
+2002-10-18 14:21  markus
+
+	* lib/vector/Vlib/header.c, lib/vector/Vlib/init_head.c,
+	  lib/vector/Vlib/intersect.c, lib/vector/Vlib/level.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/list.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c: continued to
+	  add doxygen docs
+
+2002-10-17 14:44  markus
+
+	* lib/vector/Vlib/build_post.c, lib/vector/Vlib/build_shp.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_post.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/read_post.c,
+	  lib/vector/Vlib/read_shp.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/tin.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_post.c: continued a bit with docs, removed
+	  $Id$ lines
+
+2002-10-17 14:20  markus
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/build_shp.c, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_nat.c, lib/vector/Vlib/close_shp.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/error.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/level.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/list.c,
+	  lib/vector/Vlib/map.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/open.c: removed the $Id$ from files as causing
+	  problems with cvs diff
+
+2002-10-17 14:05  markus
+
+	* lib/db/README, lib/db/dbmi/alloc.c, lib/db/dbmi/c_add_col.c,
+	  lib/db/dbmi/c_bindupdate.c, lib/db/dbmi/c_close_cur.c,
+	  lib/db/dbmi/c_closedb.c, lib/db/dbmi/c_create_idx.c,
+	  lib/db/dbmi/c_create_tab.c, lib/db/dbmi/c_createdb.c,
+	  lib/db/dbmi/c_delete.c, lib/db/dbmi/c_deletedb.c,
+	  lib/db/dbmi/c_desc_table.c, lib/db/dbmi/c_drop_col.c,
+	  lib/db/dbmi/c_drop_index.c, lib/db/dbmi/c_drop_tab.c,
+	  lib/db/dbmi/c_execute.c, lib/db/dbmi/c_fetch.c,
+	  lib/db/dbmi/c_finddb.c, lib/db/dbmi/c_insert.c,
+	  lib/db/dbmi/c_list_idx.c, lib/db/dbmi/c_list_tabs.c,
+	  lib/db/dbmi/c_listdb.c, lib/db/dbmi/c_opendb.c,
+	  lib/db/dbmi/c_openinsert.c, lib/db/dbmi/c_openselect.c,
+	  lib/db/dbmi/c_openupdate.c, lib/db/dbmi/c_update.c,
+	  lib/db/dbmi/c_version.c, lib/db/dbmi/case.c,
+	  lib/db/dbmi/column.c, lib/db/dbmi/columnfmt.c,
+	  lib/db/dbmi/connect.c, lib/db/dbmi/cursor.c,
+	  lib/db/dbmi/d_add_col.c, lib/db/dbmi/d_bindupdate.c,
+	  lib/db/dbmi/d_close_cur.c, lib/db/dbmi/d_closedb.c,
+	  lib/db/dbmi/d_create_idx.c, lib/db/dbmi/d_create_tab.c,
+	  lib/db/dbmi/d_createdb.c, lib/db/dbmi/d_delete.c,
+	  lib/db/dbmi/d_deletedb.c, lib/db/dbmi/d_desc_table.c,
+	  lib/db/dbmi/d_drop_col.c, lib/db/dbmi/d_drop_index.c,
+	  lib/db/dbmi/d_drop_tab.c, lib/db/dbmi/d_execute.c,
+	  lib/db/dbmi/d_fetch.c, lib/db/dbmi/d_finddb.c,
+	  lib/db/dbmi/d_insert.c, lib/db/dbmi/d_list_idx.c,
+	  lib/db/dbmi/d_list_tabs.c, lib/db/dbmi/d_listdb.c,
+	  lib/db/dbmi/d_mkdir.c, lib/db/dbmi/d_opendb.c,
+	  lib/db/dbmi/d_openinsert.c, lib/db/dbmi/d_openselect.c,
+	  lib/db/dbmi/d_openupdate.c, lib/db/dbmi/d_update.c,
+	  lib/db/dbmi/d_version.c, lib/db/dbmi/datetime.c,
+	  lib/db/dbmi/dbmscap.c, lib/db/dbmi/dirent.c,
+	  lib/db/dbmi/driver.c, lib/db/dbmi/error.c, lib/db/dbmi/handle.c,
+	  lib/db/dbmi/index.c, lib/db/dbmi/interval.c, lib/db/dbmi/isdir.c,
+	  lib/db/dbmi/printtab.c, lib/db/dbmi/select.c,
+	  lib/db/dbmi/shutdown.c, lib/db/dbmi/sqlCtype.c,
+	  lib/db/dbmi/sqltype.c, lib/db/dbmi/start.c, lib/db/dbmi/string.c,
+	  lib/db/dbmi/strip.c, lib/db/dbmi/table.c, lib/db/dbmi/token.c,
+	  lib/db/dbmi/value.c, lib/db/dbmi/valuefmt.c,
+	  lib/db/dbmi/whoami.c, lib/db/dbmi/zero.c: added (mostly empty)
+	  doxygen style function descriptions... let's fill them
+
+2002-10-17 12:34  markus
+
+	* lib/db/stubs/add_col.c, lib/db/stubs/bindupdate.c,
+	  lib/db/stubs/close_cursor.c: added void doxygen descriptions
+
+2002-10-17 11:52  markus
+
+	* lib/db/README: added sort of explanation
+
+2002-10-16 13:40  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: added warning if FP map found
+
+2002-10-16 08:38  markus
+
+	* vector/v.info/main.c: fix (?) for categories
+
+2002-10-16 08:34  markus
+
+	* vector/v.info/main.c: added Number of centroids
+
+2002-10-16 08:32  markus
+
+	* include/Vect.h, lib/vector/Vlib/level_two.c: added
+	  Vect_get_num_centroids()
+
+2002-10-15 09:41  markus
+
+	* lib/gis/parser.c: fixed GISDBASE env problem
+
+2002-10-15 09:40  markus
+
+	* lib/init/init.sh: test added if gis_set.tcl not present, added
+	  GRASS VERSION_NUMBER to bash and cygwin
+
+2002-10-15 09:07  markus
+
+	* lib/init/init.sh: added history saving for csh
+
+2002-10-12 19:48  markus
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/box.c,
+	  lib/vector/Vlib/build.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/write.c: started to add doxygen compliant
+	  function docs
+
+2002-10-12 08:29  markus
+
+	* vector/v.info/main.c: cosmetics
+
+2002-10-12 08:29  markus
+
+	* vector/Makefile: added v.info
+
+2002-10-12 08:28  markus
+
+	* include/Vect.h, lib/vector/Vlib/level_two.c: added
+	  Vect_get_num_islands()
+
+2002-10-12 08:25  markus
+
+	* vector/v.info, vector/v.info/Makefile, vector/v.info/main.c:
+	  added updated v.info, might be improved
+
+2002-10-11 13:54  radim
+
+	* vector/v.extract, vector/v.extract/Makefile,
+	  vector/v.extract/extract.c, vector/v.extract/main.c: initial
+	  update, TODO: area centroids, field number
+
+2002-10-11 13:52  radim
+
+	* vector/Makefile: + v.extract
+
+2002-10-11 10:12  markus
+
+	* visualization/nviz/src/tkInt8.4.h: fixed include name
+
+2002-10-11 10:11  markus
+
+	* visualization/nviz/src/README: README added how to update the
+	  tkInt.h and tkIntDecls.h
+
+2002-10-11 10:03  markus
+
+	* visualization/nviz/src/tkIntDecls8.4.h: added for tk8.4 support
+
+2002-10-11 09:29  markus
+
+	* visualization/nviz/src/tkInt8.4.h, visualization/nviz/src/togl.c:
+	  added tkInt8.4.h for Otto
+
+2002-10-09 16:53  glynn
+
+	* raster/r.mapcalc/mapcalc.l: Fix end/exit/blank-line handling
+
+2002-10-09 16:25  radim
+
+	* vector/v.digit, vector/v.digit/Makefile, vector/v.digit/c_face.c,
+	  vector/v.digit/centre.c, vector/v.digit/display.c,
+	  vector/v.digit/driver.c, vector/v.digit/exit.gif,
+	  vector/v.digit/global.h, vector/v.digit/i_face.c,
+	  vector/v.digit/line.c, vector/v.digit/main.c,
+	  vector/v.digit/new.line.gif, vector/v.digit/proto.h,
+	  vector/v.digit/stop.gif, vector/v.digit/toolbox.tcl: update
+	  started
+
+2002-10-09 16:23  radim
+
+	* vector/Makefile: +v.digit
+
+2002-10-09 16:22  radim
+
+	* display/drivers/XDRIVER/XDRIVER24/Get_w_line.c,
+	  display/drivers/XDRIVER/XDRIVER24/Get_w_pnt.c,
+	  display/drivers/lib/command.c, display/drivers/lib/driverlib.h,
+	  include/raster.h, lib/raster/Get_w_line.c,
+	  lib/raster/Get_w_pnt.c, lib/raster/Makefile, lib/raster/cancel.c,
+	  lib/raster/update.c: break R_get_location_* enabled
+
+2002-10-09 16:16  markus
+
+	* lib/g3d/g3dresample.c, lib/g3d/g3dwindow.c: Alfonso Vitti
+	  <alfonso.vitti at ing.unitn.it>: fixes (documented in
+	  src.contrib/GMSL/g3d/ changelog
+
+2002-10-09 16:15  markus
+
+	* general/g3.region/editcellhd3d.c, raster3d/r3.out.ascii/main.c,
+	  raster3d/r3.out.v5d/main.c, vector/v.vol.rst/user1.c: Alfonso
+	  Vitti <alfonso.vitti at ing.unitn.it>:
+	  Changes summary on r3.* modules:
+	  
+	  what I've done is:
+	  
+	  r3.out.ascii now works, values are written in the right order and
+	  the
+	  module even works on any region;
+	  r3.out.v5d now works with rows!=cols and the output of vis5d is
+	  the same
+	  of r3.showdspf;
+	  s.vol.idw and s.vol.rst now have consistent output;
+	  r3.null works properly and on any region;
+	  g3.region gives the right warning if the current top value is
+	  greater
+	  than the one of the default region;
+	  r3.mapcalc "row()" gives the right number of the current row;
+	  r3.mapcalc "y()" gives the right value of the current y
+	  coordinate.
+	  
+	  You can easily find where I've modified the code: all my comments
+	  are
+	  capitals and they begin with the string: /*AV*/, first you'll
+	  find the
+	  original code commented and then mine.
+	  
+	  So, now the first thing could/should be to have all the 3D
+	  for-loops
+	  like 2D ones and to check the order of the functions parameters.
+	  About
+	  the z for-loop the idea was to have it working from bottom to
+	  top. Then
+	  the work could move to s.vol.rst and r3.mapcalc and so on...
+	  
+	  s.vol.rst if I've understood correctly the current module doesn't
+	  work properly so Jaro's written a version which doesn't
+	  use the grass libraries (is it right?).
+	  After the work on the libraries, if the problems will
+	  not disappear, we should find what is wrong until the
+	  output of the two modules is the same.
+	  
+	  r3.mapcalc someone is re-writing r.mapcalc (sorry, I don't
+	  remember
+	  the name) and could be a good idea to introduce the news
+	  in the 3D version. I don't now anything about the
+	  changing on r.mapcalc;
+	  add the possibility to have absolute reference to the
+	  cells and not only relative;
+	  
+	  find out why the module crashes when the number of
+	  levels is increased over a certain value;
+	  add the possibility to use 2D maps
+	  
+	  question/suggestion: could be an idea to have only one
+	  r.mapcalc able to work with 2D and 3D rasters?
+	  
+	  r3.showdspf.openGL some of its features don't work,
+	  if you change the vertical resolution using g3.region
+	  and set it different by x-y and then you re-run r3.mkdspf
+	  the visualization of r3.showdspf is wrong, higher vertical
+	  resolution compacts the vertical height, compare to the x-y
+	  base, lower vertical resolution (compared to x-y) increase
+	  the vertical hight;
+	  no cross section, no re-defining volume walls,
+	  volume-rendering not correct displayed, (or at least
+	  difficult to be obtained)
+	  first isosurface is often not-displayed (yet, I have not
+	  understood why...)
+	  you've suggested to check the porting from
+	  r3.showdspf.sgi, which uses GL libraries (is it right?)
+	  
+	  g3.region no parser
+	  
+	  time series I've talked with Paolo about that, could be an idea
+	  to
+	  add to the header files a row containing the time
+	  information? of course this is not a trivial issue but we
+	  think that could be better to have a structured approach to
+	  the problem, but I do know nothing about this issue, perhaps
+	  some solution is already available.
+
+2002-10-09 16:14  radim
+
+	* display/d.m/d.m.tcl: enviroment variables
+
+2002-10-08 19:03  glynn
+
+	* raster/r.mapcalc/mapcalc.l, raster/r.mapcalc/mapcalc.y: Improve
+	  interactive usage: print help message, terminate on "end" or
+	  "exit"
+
+2002-10-07 20:20  glynn
+
+	* raster/r.mapcalc/xnot.c: Fix arity of not() function (takes 1
+	  argument, not 2)
+
+2002-10-05 15:06  glynn
+
+	* raster/r.series/local_proto.h: Add missing file
+
+2002-10-05 15:00  glynn
+
+	* imagery/i.pca/main.c: Rename round() -> round_c() (C9X conflict)
+
+2002-10-05 14:59  glynn
+
+	* vector/v.vol.rst/dataoct.c, vector/v.vol.rst/oct.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/user4.c: Obtain
+	  malloc() prototype from <stdlib.h>, not <malloc.h> or local
+	  prototypes
+
+2002-10-05 14:57  glynn
+
+	* lib/vask/V_exit.c, lib/vask/V_init.c: Only use keypad() if it
+	  exists
+
+2002-10-05 14:54  glynn
+
+	* raster/r.series, raster/r.series/c_ave.c,
+	  raster/r.series/c_divr.c, raster/r.series/c_max.c,
+	  raster/r.series/c_median.c, raster/r.series/c_min.c,
+	  raster/r.series/c_mode.c, raster/r.series/c_stddev.c,
+	  raster/r.series/c_sum.c, raster/r.series/c_var.c,
+	  raster/r.series/main.c, raster/r.series/sort_cell.c: Add
+	  r.series; compute aggregates of a time series (not yet tested)
+
+2002-10-01 16:34  markus
+
+	* raster/r.param.scale/interface.c: fixed c_tol value
+
+2002-10-01 10:34  glynn
+
+	* lib/gis/ellipse.table, lib/gis/get_ellipse.c: Allow "sphere"
+	  ellipsoid
+
+2002-10-01 07:51  radim
+
+	* doc/vector/v.modules.html: -
+
+2002-09-30 15:18  radim
+
+	* lib/rst/interp_float/interpf.h: process_point +smooth
+
+2002-09-30 08:08  radim
+
+	* include/proto_dbmi.h, lib/db/dbmi/column.c, lib/db/dbmi/select.c,
+	  lib/db/dbmi/value.c: new functions
+
+2002-09-30 08:07  radim
+
+	* vector/v.surf.rst, vector/v.surf.rst/BUGS,
+	  vector/v.surf.rst/DESCRIPTION, vector/v.surf.rst/HISTORY,
+	  vector/v.surf.rst/Makefile, vector/v.surf.rst/README,
+	  vector/v.surf.rst/main.c, vector/v.surf.rst/surf.h: update from
+	  g50
+
+2002-09-30 08:06  radim
+
+	* vector/Makefile: + v.surf.rst
+
+2002-09-30 08:06  radim
+
+	* include/Make/Grass.make: rst libs
+
+2002-09-30 08:04  radim
+
+	* lib/Makefile, lib/rst/Makefile, lib/rst/data/Makefile,
+	  lib/rst/data/dataquad.h, lib/rst/interp_float/Makefile,
+	  lib/rst/interp_float/interpf.h, lib/rst/interp_float/vinput2d.c,
+	  lib/rst/qtree, lib/rst/qtree/DESCRIPTION.TREE,
+	  lib/rst/qtree/Makefile, lib/rst/qtree/qtree.c,
+	  lib/rst/qtree/qtree.h: + rst lib
+
+2002-09-27 14:15  radim
+
+	* tools/link.conf: surf rst
+
+2002-09-25 16:32  markus
+
+	* notyetuploaded/README: added http://grass.itc.it/outgoing/ url
+
+2002-09-25 16:31  markus
+
+	* notyetuploaded/r.carve, notyetuploaded/s.label,
+	  notyetuploaded/v.to.rast2, notyetuploaded/v.to.rastdir: moved to
+	  http://grass.itc.it/outgoing/
+
+2002-09-25 04:46  glynn
+
+	* display/d.zoom/set.c: Change round() to round_to(), declare
+	  "static" [bug #1315]
+
+2002-09-24 15:09  markus
+
+	* raster/r.neighbors/c_sum.c, raster/r.neighbors/main.c,
+	  raster/r.neighbors/method.h: added sum method
+
+2002-09-24 13:34  radim
+
+	* vector/v.clean/break.c, vector/v.clean/main.c,
+	  vector/v.clean/proto.h, vector/v.clean/snap.c: fixed
+	  selfcross/overlap, new tool for snapping vertices
+
+2002-09-24 13:32  radim
+
+	* display/d.what.vect/what.c: Vect_find_line changed
+
+2002-09-24 13:32  radim
+
+	* display/d.vect/area.c: fix for area boundaries
+
+2002-09-24 13:30  radim
+
+	* include/Vect.h: exclude line in Vect_find_line
+
+2002-09-24 13:29  radim
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/build_nat.c,
+	  lib/vector/Vlib/find.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/open_shp.c, lib/vector/Vlib/write_nat.c: fixes
+	  for intersection; find by box
+
+2002-09-24 12:57  markus
+
+	* imagery/i.ortho.photo/photo.rectify/write.c: changed write error
+	  to strerror(errno) as suggested by Glynn
+
+2002-09-24 12:53  markus
+
+	* raster/r.sunmask/main.c: added history write functions. But long
+	  lines are still truncated, we should improve the library function
+
+2002-09-24 12:44  markus
+
+	* raster/r.transect/main.c: fixed wrong r.profile call, should have
+	  gone into 5.0.0
+
+2002-09-23 13:27  radim
+
+	* lib/init/init.sh: new env style
+
+2002-09-20 03:15  glynn
+
+	* lib/gis/get_row.c: Change G_get_map_row() to honour the mask.
+
+2002-09-13 04:02  glynn
+
+	* raster/r.sun/main.c: Remove bogus reference to <malloc.h>
+	  Change Key_value -> Key_Value (typo)
+
+2002-09-13 03:56  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/mapcalc.h: Allow for
+	  libgis functions trampling on fully-qualified map names
+
+2002-09-10 12:48  radim
+
+	* include/Make/Module.make: + XTRA_LDFLAGS
+
+2002-09-10 12:47  radim
+
+	* vector/v.ascii/b2a.c: bundary as A in old version
+
+2002-09-10 12:43  radim
+
+	* lib/ogsf/Gv3.c: fix for 2D areas
+
+2002-09-06 14:48  radim
+
+	* lib/ogsf/Gv3.c, lib/ogsf/gvd.c: fill 3d vector polygons
+
+2002-09-06 12:32  markus
+
+	* lib/gis/datum.table: added URL for ETRS89 transformation - Europe
+
+2002-09-02 16:32  markus
+
+	* lib/gis/flate.c: added algorithm explanation url
+
+2002-09-02 08:08  radim
+
+	* db/drivers/Makefile: conditional compilation of odbc
+
+2002-09-02 08:07  radim
+
+	* configure, configure.in, include/config.h.in: define HAVE_SQL_H
+
+2002-08-30 13:24  radim
+
+	* display/d.vect/local_proto.h: -
+
+2002-08-30 13:19  radim
+
+	* Makefile, binaryInstall.src: binary package
+
+2002-08-30 13:18  radim
+
+	* display/d.m/d.m.tcl: exact BWidget
+
+2002-08-30 13:17  radim
+
+	* display/d.vect/area.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c, display/d.vect/topo.c: optional line id
+	  instead of cat, check dead elements
+
+2002-08-30 13:16  radim
+
+	* vector/v.clean, vector/v.clean/Makefile, vector/v.clean/break.c,
+	  vector/v.clean/main.c, vector/v.clean/rmdupl.c,
+	  vector/v.clean/test, vector/v.clean/test/Makefile,
+	  vector/v.clean/test/topocheck.c,
+	  vector/v.clean/test/v.clean.test,
+	  vector/v.clean/test/v.rand.poly: new module
+
+2002-08-30 13:13  radim
+
+	* vector/Makefile: + v.clean
+
+2002-08-30 13:12  radim
+
+	* vector/v.build/main.c: -
+
+2002-08-30 13:11  radim
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_post.c, lib/vector/Vlib/close_shp.c,
+	  lib/vector/Vlib/find.c, lib/vector/Vlib/intersect.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/map.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_post.c, lib/vector/Vlib/open_shp.c,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/rewind_nat.c,
+	  lib/vector/Vlib/select.c, lib/vector/Vlib/tin.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_post.c, lib/vector/diglib/Makefile,
+	  lib/vector/diglib/angle.c, lib/vector/diglib/box.c,
+	  lib/vector/diglib/head.c, lib/vector/diglib/line_dist.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_node.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/portable.c, lib/vector/diglib/spindex.c,
+	  lib/vector/diglib/spindex_rw.c, lib/vector/diglib/struct_alloc.c:
+	  rtree, l2 update
+
+2002-08-30 13:04  radim
+
+	* include/Vect.h, include/vect/dig_defines.h,
+	  include/vect/dig_externs.h, include/vect/dig_structs.h: rtree, l2
+	  update
+
+2002-08-30 13:02  radim
+
+	* include/Make/Grass.make: -
+
+2002-08-30 10:54  radim
+
+	* lib/vector/rtree, lib/vector/rtree/MAILS,
+	  lib/vector/rtree/Makefile, lib/vector/rtree/Makefile.alone,
+	  lib/vector/rtree/README.grass, lib/vector/rtree/README.txt,
+	  lib/vector/rtree/card.c, lib/vector/rtree/card.h,
+	  lib/vector/rtree/gammavol.c, lib/vector/rtree/index.c,
+	  lib/vector/rtree/index.h, lib/vector/rtree/node.c,
+	  lib/vector/rtree/rect.c, lib/vector/rtree/rtree.h,
+	  lib/vector/rtree/sources.htm, lib/vector/rtree/sphvol.c,
+	  lib/vector/rtree/split_l.c, lib/vector/rtree/split_l.h,
+	  lib/vector/rtree/split_q.c, lib/vector/rtree/split_q.h,
+	  lib/vector/rtree/test.c: rtree library written by A. Guttman and
+	  D. Green
+
+2002-08-30 10:50  radim
+
+	* lib/vector/Makefile: add rtree
+
+2002-08-29 03:22  glynn
+
+	* raster/r.mapcalc/check.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/main.c, raster/r.mapcalc/mapcalc.h,
+	  raster/r.mapcalc/mapcalc.y: Improve error handling
+
+2002-08-28 07:23  eric
+
+	* lib/gis/state83: add wyoming, closes #1212
+
+2002-08-28 02:19  eric
+
+	* general/g.setproj/get_num.c, general/g.setproj/local_proto.h,
+	  general/g.setproj/main.c: Projection code cleanups:
+	  * changes to reflect changes in geo.h and geo_init.c
+	  * copy some globals from geo.h back here where they are used.
+
+2002-08-28 02:17  eric
+
+	* lib/gis/geo_init.c: Projection code clean up:
+	  * define a couple global structs here (rather than geo.h)
+	  * eliminate init_units() function by making UNITS table defined
+	  and
+	  intialiazed at compilation (as const struct).
+	  * make DESC table constant with initializing strings paired with
+	  corresponding #define symbol from geo.h for documentation.
+	  * rename functions with G_geo_ prefix to indicate gislib
+	  membership.
+	  * comment out unused variables/functions that don't belong in
+	  gislib.
+
+2002-08-28 02:12  eric
+
+	* include/geo.h: Baby steps to cleaning up projection code:
+	  * move definition of global structs to geo_init.c
+	  * remove/comment several globals that shouldn't be here.
+	  * Add a couple function prototypes for geo_init.c
+
+2002-08-23 13:58  markus
+
+	* imagery/i.ortho.photo/photo.rectify/write.c: made error message a
+	  bit more useful as suggested by Bernhard
+
+2002-08-23 13:41  markus
+
+	* imagery/i.ortho.photo/photo.rectify/write.c: made error message a
+	  bit more useful
+
+2002-08-20 22:04  glynn
+
+	* display/drivers/PNG/Polygn_abs.c: Fix memory leak
+
+2002-08-14 09:07  markus
+
+	* display/d.legend/main.c: a try for bugfix, -m is still not
+	  perfect without -s or -o
+
+2002-08-14 08:30  markus
+
+	* display/d.legend/main.c: added maxfontsize parameter to
+	  optionally avoid BIG characters in legend (nice with -o flag)
+
+2002-08-13 16:35  markus
+
+	* display/d.legend/main.c: added -o flag: Draw entries only for
+	  existing categories
+
+2002-08-09 05:27  glynn
+
+	* lib/edit/edit_cellhd.c: Don't round coordinates for X-Y locations
+	  [bug #1228]
+
+2002-08-07 14:52  radim
+
+	* vector/v.mapcalc/README: + descriptions by Christoph Simon
+
+2002-08-07 12:26  radim
+
+	* vector/v.mapcalc/number.c, vector/v.mapcalc/v.mapcalc.y,
+	  vector/v.mapcalc/vector.c: added some header files
+
+2002-08-07 09:42  radim
+
+	* vector/v.mapcalc/Makefile, vector/v.mapcalc/README,
+	  vector/v.mapcalc/any.c, vector/v.mapcalc/any.h,
+	  vector/v.mapcalc/list.c, vector/v.mapcalc/list.h,
+	  vector/v.mapcalc/map.c, vector/v.mapcalc/map.h,
+	  vector/v.mapcalc/mapcalc.c, vector/v.mapcalc/mapcalc.h,
+	  vector/v.mapcalc/number.c, vector/v.mapcalc/number.h,
+	  vector/v.mapcalc/plugin.c, vector/v.mapcalc/plugin.h,
+	  vector/v.mapcalc/plugins, vector/v.mapcalc/plugins/Makefile,
+	  vector/v.mapcalc/plugins/testmod.c, vector/v.mapcalc/v.mapcalc.y,
+	  vector/v.mapcalc/vector.c, vector/v.mapcalc/vector.h,
+	  vector/v.mapcalc/yylex.c, vector/v.mapcalc/yylex.h: code written
+	  by Christoph Simon
+
+2002-08-07 09:34  radim
+
+	* vector/v.mapcalc/main.c: example replaced by version of Christoph
+	  Simon
+
+2002-08-06 15:53  roberto
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/net.c: Follow new
+	  DGLib API (name prefix is now 'dgl')
+
+2002-08-06 15:49  roberto
+
+	* lib/vector/dglib/Makefile, lib/vector/dglib/Makefile.alone,
+	  lib/vector/dglib/README, lib/vector/dglib/edgemgmt-template.c,
+	  lib/vector/dglib/examples/GRAPH.TXT,
+	  lib/vector/dglib/examples/Makefile.alone,
+	  lib/vector/dglib/examples/components.c,
+	  lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/cr_large_graph.c,
+	  lib/vector/dglib/examples/delnode.c,
+	  lib/vector/dglib/examples/minspan.c,
+	  lib/vector/dglib/examples/parse.c,
+	  lib/vector/dglib/examples/rtest01.sh,
+	  lib/vector/dglib/examples/rtest03.sh,
+	  lib/vector/dglib/examples/shortest_path.c,
+	  lib/vector/dglib/examples/span.c,
+	  lib/vector/dglib/examples/unflatten.c,
+	  lib/vector/dglib/examples/view.c, lib/vector/dglib/graph.c,
+	  lib/vector/dglib/graph.h, lib/vector/dglib/graph_v1.c,
+	  lib/vector/dglib/graph_v1.h, lib/vector/dglib/graph_v2.c,
+	  lib/vector/dglib/graph_v2.h, lib/vector/dglib/heap.c,
+	  lib/vector/dglib/heap.h, lib/vector/dglib/helpers.c,
+	  lib/vector/dglib/helpers.h, lib/vector/dglib/misc-template.c,
+	  lib/vector/dglib/nodemgmt-template.c,
+	  lib/vector/dglib/sp-template.c, lib/vector/dglib/span-template.c,
+	  lib/vector/dglib/tavl.c, lib/vector/dglib/tavl.h,
+	  lib/vector/dglib/tree.c, lib/vector/dglib/tree.h,
+	  lib/vector/dglib/type.h, lib/vector/dglib/v1-defs.h,
+	  lib/vector/dglib/v2-defs.h: Massive refactoring and new features.
+	  Implemented version 1, 2 and 3 (undirected) graph. Library prefix
+	  is now 'dgl'
+	  instead of the old 'gnGrp'. Many API changes and new examples.
+
+2002-08-05 17:22  markus
+
+	* raster/r.info/main.c: added -r flag to optionally print only
+	  range
+
+2002-08-02 09:16  markus
+
+	* raster/r.colors/main.c: added missing byr help text
+
+2002-07-26 17:14  markus
+
+	* doc/vector/vector.html: some language fixes
+
+2002-07-26 16:59  markus
+
+	* lib/vector/README: Contents of this directory
+
+2002-07-26 16:36  markus
+
+	* doc/vector/vector.html: fixed some typos/wordings
+
+2002-07-26 13:30  markus
+
+	* doc/vector/vector.html: fixed Radim's mailto
+
+2002-07-25 10:57  markus
+
+	* visualization/nviz/scripts/panel_cutplane.tcl: Bob Covill: fix
+	  for z scale range: bug #1202
+
+2002-07-23 11:29  radim
+
+	* lib/gis/parser.c: added quotes for string options for
+	  G_recreate_command()
+
+2002-07-22 18:21  glynn
+
+	* imagery/i.class/curses.c,
+	  imagery/i.ortho.photo/photo.2image/curses.c,
+	  imagery/i.ortho.photo/photo.2target/curses.c,
+	  imagery/i.points/curses.c, imagery/i.vpoints/curses.c: Don't use
+	  "true" as a variable name [patch from Pavol Cvengros]
+
+2002-07-22 13:05  radim
+
+	* vector/v.convert/old2new.c: print progress for categories
+
+2002-07-08 14:20  radim
+
+	* display/d.what.vect/what.c: points' precedence
+
+2002-07-05 13:07  radim
+
+	* lib/vector/Vlib/net.c: gnGrpShortestDistance
+
+2002-07-04 09:36  eric
+
+	* lib/gis/flate.c: Replace "break_compile" function with
+	  preprocessor #error macro reporting
+	  the need for libz (the conditional could probably be removed
+	  entirely at
+	  this point as libz is well entrenched now...)
+
+2002-07-04 08:21  eric
+
+	* lib/edit/edit_cellhd.c: Function format_value does not return
+	  anything. Make it void. Move
+	  expression evaluation and assignments after declaration.
+	  Hopefully,
+	  this'll make gcc-2.96 happier...
+
+2002-07-04 00:39  roberto
+
+	* lib/vector/dglib/examples/shortest_path.c: - gnGrpShortestPath()
+	  calling convention changed
+
+2002-07-04 00:39  roberto
+
+	* lib/vector/dglib/examples/rtest03.sh: This script written to test
+	  shortest path computation correctness.
+
+2002-07-04 00:36  roberto
+
+	* lib/vector/dglib/graph.c, lib/vector/dglib/graph.h,
+	  lib/vector/dglib/graph_v1.c, lib/vector/dglib/graph_v1.h: -
+	  gnGrpShortestDistance() added
+	  - gnGrpShortestPath() calling convention refactored
+
+2002-07-04 00:33  roberto
+
+	* lib/vector/Vlib/net.c: - new gnGrpShortestPath() calling
+	  convention
+
+2002-07-03 14:37  radim
+
+	* lib/vector/diglib/Makefile: -static removed
+
+2002-07-03 14:23  radim
+
+	* lib/db/sqlp/test/Makefile: -static removed
+
+2002-07-03 11:17  radim
+
+	* include/vect/dig_structs.h, lib/vector/Vlib/net.c: Shortest path
+	  cache
+
+2002-07-01 12:57  roberto
+
+	* lib/vector/dglib/graph_v1.c, lib/vector/dglib/graph_v1.h:
+	  gnGrpShortestPath() returned a wrong error condition - fixed
+
+2002-06-30 23:59  roberto
+
+	* lib/vector/Vlib/net.c: Compatibility with new DGLIB API. We no
+	  more use macros to access node and link properties.
+	  Shortest path report has been simplified.
+
+2002-06-30 23:54  roberto
+
+	* lib/vector/dglib/Makefile, lib/vector/dglib/Makefile.alone,
+	  lib/vector/dglib/README,
+	  lib/vector/dglib/examples/Makefile.alone,
+	  lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/cr_large_graph.c,
+	  lib/vector/dglib/examples/parse.c,
+	  lib/vector/dglib/examples/rtest01.sh,
+	  lib/vector/dglib/examples/rtest02.sh,
+	  lib/vector/dglib/examples/shortest_path.c,
+	  lib/vector/dglib/examples/view.c, lib/vector/dglib/graph.c,
+	  lib/vector/dglib/graph.h, lib/vector/dglib/graph_v1.c,
+	  lib/vector/dglib/graph_v1.h, lib/vector/dglib/helpers.c,
+	  lib/vector/dglib/helpers.h: The library has been largely
+	  refactored:
+	  - new API design
+	  - scheleton for multi version support
+	  - one-to-many/one-to-all shortest path cache
+	  - one-node components are now supported (before we had not nodes
+	  outside of links)
+	  - improved README (not yet a API guide)
+	  - bug fixes
+
+2002-06-27 14:38  radim
+
+	* lib/vector/Vlib/net.c: bug fix cost
+
+2002-06-27 11:26  glynn
+
+	* raster/r.proj/bordwalk.c, raster/r.proj/main.c,
+	  raster/r.proj/r.proj.h: Further tidying; both bordwalk() calls
+	  now controlled by -n switch
+
+2002-06-27 10:59  radim
+
+	* lib/vector/Vlib/cats.c: bug fix in Vect_str_to_cat_list()
+
+2002-06-20 08:20  radim
+
+	* display/d.path/select.c, include/Vect.h, lib/vector/Vlib/net.c: +
+	  total costs
+
+2002-06-18 15:34  glynn
+
+	* raster/r.sun/main.c: Fix literal newline in string literal.
+
+2002-06-14 14:27  markus
+
+	* lib/README: added contents info
+
+2002-06-14 13:42  markus
+
+	* doc/vector/v.modules.html: fixed Radim's address
+
+2002-06-14 11:13  roberto
+
+	* lib/vector/dglib/COPYING: DGLIB can be used alone so I need to
+	  add GPL license there.
+
+2002-06-14 08:11  radim
+
+	* include/Vect.h, lib/vector/Vlib/close.c,
+	  lib/vector/Vlib/close_post.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_post.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_post.c, lib/vector/Vlib/rewind_post.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_post.c,
+	  scripts/Makefile, scripts/postgisdb: postgrass
+
+2002-06-12 10:05  markus
+
+	* imagery/i.rectify/main.c: bugfix: reverted parameters
+
+2002-06-11 14:19  radim
+
+	* vector/v.category/main.c: add category fix
+
+2002-06-11 14:19  radim
+
+	* vector/Makefile, vector/v.mapcalc, vector/v.mapcalc/Makefile,
+	  vector/v.mapcalc/main.c: + mapcalc
+
+2002-06-11 14:13  radim
+
+	* include/Vect.h, include/vect/dig_defines.h,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/overlay.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c: overlay start
+
+2002-06-08 14:42  cho
+
+	* display/drivers/PNG/README: Default background color is not white
+	  but black.
+
+2002-06-08 03:02  cho
+
+	* display/drivers/PNG/Graph_Set.c: GRASS_BACKGROUNDCOLOR bug fixed
+
+2002-06-08 02:57  cho
+
+	* display/d.text.freetype/main.c: code simplified
+
+2002-06-08 02:53  roberto
+
+	* lib/vector/dglib/examples/rtest02.sh: Second regression test tool
+	  to test import/export of graph from/to text.
+	  Create a graph, save and convert to text.
+	  Import from text to a second graph.
+	  Save the second graph and convert too text.
+	  Compare th two resulting text files.
+
+2002-06-08 02:49  roberto
+
+	* lib/vector/dglib/examples/Makefile.alone,
+	  lib/vector/dglib/examples/cr_large_graph.c,
+	  lib/vector/dglib/examples/parse.c,
+	  lib/vector/dglib/examples/rtest01.sh,
+	  lib/vector/dglib/examples/shortest_path.c,
+	  lib/vector/dglib/examples/view.c: A simplified way to convert
+	  graphs to text that doesn't require the parser
+	  to read two times the input.
+
+2002-06-08 02:46  roberto
+
+	* lib/vector/dglib/examples/GRAPH.TXT: *** empty log message ***
+
+2002-06-08 02:45  roberto
+
+	* lib/vector/dglib/Makefile.alone: -DGNGRP_NEWCLIP no more needed
+
+2002-06-08 02:43  roberto
+
+	* lib/vector/Vlib/net.c: new clipper interface
+
+2002-06-08 02:41  roberto
+
+	* lib/vector/dglib/heap.c, lib/vector/dglib/heap.h:
+	  gnHeapExtractMin/Max returned a pointer to a static node . fixed
+
+2002-06-08 02:40  roberto
+
+	* lib/vector/dglib/graph.c, lib/vector/dglib/graph.h: 1)
+	  gnHeapExtractMin() changed interface
+	  2) removed !GNGRP_NEWCLIP branch
+
+2002-06-07 19:49  roberto
+
+	* lib/vector/dglib/examples/GRAPH-2-COMPONENTX.TXT: This graph has
+	  two disconnected components
+
+2002-06-07 19:47  roberto
+
+	* lib/vector/dglib/examples/Makefile.alone,
+	  lib/vector/dglib/examples/components.c,
+	  lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/parse.c,
+	  lib/vector/dglib/examples/span.c,
+	  lib/vector/dglib/examples/view.c: 1) 'span' program with clip
+	  2) 'components' program added to test connected components
+	  recognition
+	  3) 'parse' program added to generate a graph by text output from
+	  'view'
+	  4) 'view' modified in order to print node/link attribute hex-dump
+	  5) plus other minor changes
+
+2002-06-07 19:38  roberto
+
+	* lib/vector/dglib/graph.c, lib/vector/dglib/graph.h: 1) more
+	  readability (macros, variable names, ...)
+	  2) clip support for gnGrpDepthSpanning and gnGrpDepthComponents
+	  3) bug fix in add_link_V1 (node status was not initialized)
+
+2002-06-07 14:03  radim
+
+	* lib/vector/diglib/list.c: alloc fix
+
+2002-06-07 11:58  radim
+
+	* display/d.path/main.c: geodesic length
+
+2002-06-07 11:39  radim
+
+	* lib/vector/Vlib/read_shp.c: constraint fix
+
+2002-06-07 10:18  markus
+
+	* Doxyfile: updated dot tool path
+
+2002-06-07 08:11  cho
+
+	* display/d.text.freetype/main.c: cosmetics
+
+2002-06-07 08:01  cho
+
+	* display/d.text.freetype/main.c: added d.text.vflib
+	  VFlib supported.
+	  Many more font formats supported. Unfortunately, rotation could
+	  not
+	  be implemented because of the lack of VFlib feature.
+
+2002-06-07 06:43  radim
+
+	* lib/vector/Vlib/list.c, lib/vector/Vlib/net.c: fixes by Roberto
+	  Micarelli
+
+2002-06-07 02:01  cho
+
+	* display/d.text.freetype/main.c: fixed charset override in command
+	  mode
+
+2002-06-06 13:29  radim
+
+	* display/d.vect/local_proto.h, display/d.vect/main.c: speed up
+
+2002-06-06 13:28  radim
+
+	* display/d.vect/plot2.c, display/d.vect/use_plot1.c: not used
+
+2002-06-06 13:26  radim
+
+	* lib/vector/Vlib/box.c, lib/vector/Vlib/constraint.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/read_nat.c: constraint enabled, new functions,
+	  network LL fix
+
+2002-06-06 13:26  radim
+
+	* include/Vect.h, include/vect/dig_structs.h,
+	  lib/vector/diglib/plus_struct.c: constraint enabled, new
+	  functions
+
+2002-06-06 13:24  radim
+
+	* lib/ogsf/Gv3.c: constraint enabled
+
+2002-06-06 11:07  roberto
+
+	* lib/vector/dglib/examples/rtest01.sh: script exit status fixed
+
+2002-06-06 11:06  roberto
+
+	* lib/vector/dglib/examples/cr_large_graph.c,
+	  lib/vector/dglib/examples/view.c: minor changes
+
+2002-06-06 11:01  roberto
+
+	* lib/vector/dglib/examples/Makefile.alone,
+	  lib/vector/dglib/examples/span.c: New example program span:
+	  generate the spanning tree of the input graph
+
+2002-06-06 10:58  roberto
+
+	* lib/vector/dglib/graph.c, lib/vector/dglib/graph.h: 1) New
+	  functions (gnGrp((Get)|(Set))_.*) to hide direct access to
+	  gnGrpGraph_s properties
+	  2) New algorithm: Depth Spanning Tree (gnGrpDepthSpanning)
+	  3) Minor changes for readability
+
+2002-06-06 10:51  roberto
+
+	* lib/vector/dglib/Makefile.alone, lib/vector/dglib/tree.c:
+	  Compiled AVL object instead of included
+
+2002-06-05 08:23  cho
+
+	* display/d.text.freetype/main.c: font selection fixed
+
+2002-06-05 08:04  cho
+
+	* display/d.text.freetype/test.input: nothing
+
+2002-06-05 07:54  cho
+
+	* display/d.text.freetype/main.c: changed description of -c
+
+2002-06-05 07:52  cho
+
+	* display/d.text.freetype/main.c: bug fixed
+
+2002-06-05 07:30  cho
+
+	* display/d.text.freetype/test.input: updated
+
+2002-06-05 07:21  cho
+
+	* display/d.text.freetype/main.c: G_fatal_error() => error()
+
+2002-06-05 06:50  cho
+
+	* display/d.text.freetype/main.c,
+	  display/d.text.freetype/test.input: .L behavior changed
+	  .E and .N added
+
+2002-06-05 01:57  cho
+
+	* display/d.text.freetype/main.c,
+	  display/d.text.freetype/test.input: added % for .X and .Y
+	  .Y 0 bug fixed
+
+2002-06-04 13:37  radim
+
+	* lib/proj/Makefile: +Krovak
+
+2002-06-04 13:13  markus
+
+	* imagery/i.vpoints/drawcell.c, imagery/i.vpoints/driver.c,
+	  imagery/i.vpoints/globals.h, imagery/i.vpoints/main.c,
+	  imagery/i.vpoints/zoom_box.c: now module zoom either raster or
+	  vector, but now both. problem is that vector maps always erases
+	  screen - I cannot find a way to solve that.
+
+2002-06-04 09:10  markus
+
+	* imagery/i.vpoints/cell.c, imagery/i.vpoints/drawcell.c: fixed
+	  color problem for raster maps in upper windows, cleanup. Zoom
+	  still fails for target window
+
+2002-06-04 00:18  roberto
+
+	* lib/vector/dglib/examples/rtest01.sh: An initial regression test
+	  tool. Create a graph and save it to a file
+	  by ./cr_large_file . Dup it by ./unflatten (read -> unflatten ->
+	  flatten -> write)
+	  and save to a second file. Convert both the first and the second
+	  files to text by
+	  ./view and diff them in order to discover eventual differences.
+
+2002-06-04 00:14  roberto
+
+	* lib/vector/dglib/examples/view.c: gnGrpDumpHead() and
+	  gnGrpDumpNode() no longer exist. We now use
+	  gnGrpScan() to navigate the nodes and print contents with the
+	  help
+	  of newly defined macros. This is useful as a general example of
+	  how to
+	  access the whole internal structure of a FLAT graph.
+
+2002-06-04 00:10  roberto
+
+	* lib/vector/dglib/examples/unflatten.c: Not only unflatten the
+	  input graph but optionally flatten and write it back
+	  to an output file
+
+2002-06-04 00:08  roberto
+
+	* lib/vector/dglib/examples/cr_large_graph.c: 1) Statistics do not
+	  print anymore link-tree related counters given
+	  that the link tree no longer exists
+	  2) Test values for node and link attributes are now used
+
+2002-06-04 00:05  roberto
+
+	* lib/vector/dglib/examples/README: Updated to reflect last changes
+	  (still incomplete)
+
+2002-06-04 00:03  roberto
+
+	* lib/vector/dglib/README: Updated to reflect last changes
+
+2002-06-04 00:01  roberto
+
+	* lib/vector/dglib/avl.c, lib/vector/dglib/avl.h,
+	  lib/vector/dglib/bst.c, lib/vector/dglib/bst.h,
+	  lib/vector/dglib/tree.c, lib/vector/dglib/tree.h: AVL now used in
+	  place of BST
+
+2002-06-03 23:58  roberto
+
+	* lib/vector/dglib/graph.c, lib/vector/dglib/graph.h: 1) LinkTree
+	  removed (NodeTree used for links too)
+	  2) Added gnGrpGetNode() , gnGrpGetLinkArea() , gnGrpGetLink()
+	  3) Removed gnGrpSearchLink()
+	  4) Added gnGrpScan()
+	  5) Removed gnGrpDumpHead() , gnGrpDumpNode()
+	  6) Added support for endianess convertion on reading (not yet for
+	  extended attributes)
+	  7) Improved error return codes (the negative of the errno instead
+	  of -1)
+	  8) Graph version now makes sense only for I/O format. The only
+	  methods in gnGrpMethods_s
+	  are now read and write. All other methods still use static
+	  functions that will be
+	  collapesd into (exported) calling function.
+	  9) gnGrpRead() now supports the version switch.
+
+2002-06-03 23:34  roberto
+
+	* lib/vector/dglib/Makefile: bst replaced by avl
+
+2002-06-03 20:41  markus
+
+	* imagery/i.vpoints/cell.c: warp_map bugfix as suggested by Glynn.
+	  Raster map still get's lost when zooming target maps
+
+2002-06-03 13:52  radim
+
+	* display/d.vect/area.c, display/d.vect/topo.c,
+	  display/d.what.vect/what.c, vector/v.ascii/a2b.c,
+	  vector/v.convert/dist.c, vector/v.convert/local_proto.h,
+	  vector/v.convert/old2new.c, vector/v.convert/read.c: various
+	  changes in vector library
+
+2002-06-03 13:50  radim
+
+	* display/d.path, display/d.path/Makefile, display/d.path/main.c,
+	  display/d.path/proto.h, display/d.path/select.c: Shortest path -
+	  new module
+
+2002-06-03 13:48  radim
+
+	* display/Makefile: + d.path
+
+2002-06-03 13:46  radim
+
+	* lib/vector/dglib/Makefile: mkdir -p
+
+2002-06-03 13:45  radim
+
+	* db/base/execute.c: check return code
+
+2002-06-03 13:43  radim
+
+	* lib/db/sqlp/alloc.c, lib/db/sqlp/sql.c,
+	  lib/db/sqlp/test/sqlptest.c, lib/db/sqlp/yac.y: bugfix for first
+	  integer in statement
+
+2002-06-03 13:41  radim
+
+	* lib/vector/Makefile, lib/vector/Vlib/area.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/list.c, lib/vector/Vlib/net.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_shp.c, lib/vector/Vlib/select.c,
+	  lib/vector/Vlib/type.c, lib/vector/diglib/inside.c,
+	  lib/vector/diglib/line_dist.c, lib/vector/diglib/spindex.c:
+	  various changes in vector library
+
+2002-06-03 13:39  radim
+
+	* lib/gis/find_vect.c: header
+
+2002-06-03 13:37  radim
+
+	* lib/Makefile: reordered (cp includes)
+
+2002-06-03 13:32  radim
+
+	* include/Vect.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h: various changes in vector library
+
+2002-06-03 13:31  radim
+
+	* include/Make/Grass.make: +dglib
+
+2002-05-31 15:12  glynn
+
+	* raster/r.mapcalc/main.c: Allow expression to be split across
+	  multiple arguments
+
+2002-05-31 13:33  roberto
+
+	* lib/vector/dglib/examples/unflatten.c: Just unflatten the input
+	  graph - written in order to 'time' the
+	  unflatting of a large graph.
+
+2002-05-31 13:31  roberto
+
+	* lib/vector/dglib/examples/README: Added howto lines about
+	  'cr_large_graph' program
+
+2002-05-31 13:30  roberto
+
+	* lib/vector/dglib/examples/cr_large_graph.c: Support the
+	  --interlace option instead of preprocessor -DINTERLACE
+
+2002-05-31 13:28  roberto
+
+	* lib/vector/dglib/examples/Makefile.alone: Added instructions for
+	  'unflatten' program
+
+2002-05-31 13:25  roberto
+
+	* lib/vector/dglib/bst.h, lib/vector/dglib/graph.c: 1)
+	  BST_MAX_HEIGHT set to 128 in order to improve node insertion
+	  performances
+	  2) no more memsets on new allocated nodes in gnGrpAddLink()
+	  3) gnGrpUnflatten() extracts nodes in alternate order to minimize
+	  sorted-nodes slowness ids when inserting them to the binary tree
+
+2002-05-31 06:53  markus
+
+	* AUTHORS: added authors
+
+2002-05-31 00:01  glynn
+
+	* raster/r.mapcalc/xexp.c: exp() may have two arguments
+
+2002-05-30 18:56  roberto
+
+	* lib/vector/dglib/examples/cr_large_graph.c: Written to test
+	  insertion time of a high number of nodes/arcs.
+
+2002-05-30 18:53  roberto
+
+	* lib/vector/dglib/examples/shortest_path.c: Make use of the new
+	  clip() interface. This version will not compile
+	  without the -DGNGRP_NEWCLIP switch. The dglib must also be
+	  compiled
+	  the same way. In the future we'll adopt the new interface
+	  unconditionally
+	  and the compilation switch will be removed.
+
+2002-05-30 18:49  roberto
+
+	* lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/opt.c: Minor changes to avoid
+	  compilation warnings
+
+2002-05-30 18:47  roberto
+
+	* lib/vector/dglib/examples/Makefile.alone: 1) Changed local
+	  compilation options to CFLAGS = -Wall -DGNGRP_STATS
+	  -DGNGRP_NEWCLIP
+	  in order to test new clip interface and time statistics
+	  2) Added instructions for 'cr_large_graph' program
+
+2002-05-30 18:42  roberto
+
+	* lib/vector/dglib/type.h: type gnInt32_t was 'unsigned int' now is
+	  unconditionally 'long'
+
+2002-05-30 18:40  roberto
+
+	* lib/vector/dglib/tree.c, lib/vector/dglib/tree.h: minor changes
+
+2002-05-30 18:38  roberto
+
+	* lib/vector/dglib/graph.h: 1) Long initial comment removed (it's
+	  now in the README)
+	  2) Structure gnGrpGraph_s extended with time statistics fields
+	  (only with -DGNGRP_STATS)
+	  3) New structure types: gnGrpSPClipInput_s and
+	  gnGrpSPClipOutput_s for the new shortest path clip() interface
+	  (only with -DGNGRP_NEWCLIP)
+	  4) New internal structures' access macros
+
+2002-05-30 18:31  roberto
+
+	* lib/vector/dglib/graph.c: 1) Added support for gnGrpAddLink()
+	  time statistics (available with -DGNGRP_STATS)
+	  2) Added support for new SP clip() interface reporting fromnode
+	  actual distance
+	  (available with -DGNGRP_NEWCLIP)
+	  3) Added comments
+	  4) Moving access to internal structures from explicit array
+	  indexing to the
+	  use of specialized macros in order to improve readability
+	  5) Two bugs fixed in gnGrpSetLinkAttr() and gnGrpGetLinkAttr()
+
+2002-05-30 18:22  roberto
+
+	* lib/vector/dglib/Makefile.alone: Changed local compilation
+	  options to CFLAGS = -Wall -DGNGRP_STATS -DGNGRP_NEWCLIP
+	  in order to test new clip interface and time statistics
+
+2002-05-30 10:44  glynn
+
+	* raster/r.proj/main.c, raster/r.proj/r.proj.h: Allow cropping to
+	  be disabled
+	  Tidy
+
+2002-05-30 10:43  glynn
+
+	* lib/edit/edit_cellhd.c: Fix rounding of negative values
+
+2002-05-30 09:40  cho
+
+	* display/d.text.freetype/main.c: cosmetics
+
+2002-05-30 09:35  cho
+
+	* display/d.text.freetype/test.input: updated
+
+2002-05-30 09:24  cho
+
+	* display/d.text.freetype/freetypecap,
+	  display/d.text.freetype/main.c,
+	  display/d.text.freetype/test.input: added -c flag for
+	  compatibility with d.text and more
+	  
+	  .F .C .S .A .R .X .Y .L .. commands supported; See test.input for
+	  more detail.
+
+2002-05-30 05:39  cho
+
+	* display/d.text.freetype/main.c: updated description.
+	  GRASS_FREETYPECAP env var can be used to override the default
+	  capfile.
+	  It would be helpful when users have their own capfile and
+	  reinstall GRASS.
+
+2002-05-30 05:33  cho
+
+	* display/d.text.freetype/main.c: added -s flag to support relative
+	  font size by default.
+
+2002-05-30 04:11  glynn
+
+	* raster/r.proj/bordwalk.c, raster/r.proj/main.c: Cells which fail
+	  to project are ignored or set to null
+
+2002-05-30 03:11  cho
+
+	* display/d.text.freetype/main.c: added -p flag and modularized
+
+2002-05-29 19:40  markus
+
+	* imagery/i.points/ask_mag.c, imagery/i.vpoints/ask_mag.c: fixed
+	  display problem for zoom menu
+
+2002-05-29 15:39  radim
+
+	* lib/vector/dglib, lib/vector/dglib/Makefile,
+	  lib/vector/dglib/Makefile.alone, lib/vector/dglib/README,
+	  lib/vector/dglib/bst.c, lib/vector/dglib/bst.h,
+	  lib/vector/dglib/dgl.h, lib/vector/dglib/examples,
+	  lib/vector/dglib/examples/GRAPH.TXT,
+	  lib/vector/dglib/examples/Makefile.alone,
+	  lib/vector/dglib/examples/README,
+	  lib/vector/dglib/examples/cr_from_a.c,
+	  lib/vector/dglib/examples/opt.c, lib/vector/dglib/examples/opt.h,
+	  lib/vector/dglib/examples/shortest_path.c,
+	  lib/vector/dglib/examples/view.c, lib/vector/dglib/graph.c,
+	  lib/vector/dglib/graph.h, lib/vector/dglib/heap.c,
+	  lib/vector/dglib/heap.h, lib/vector/dglib/tree.c,
+	  lib/vector/dglib/tree.h, lib/vector/dglib/type.h: New 'Direct
+	  Graph library' written by Roberto Micarelli
+
+2002-05-29 10:20  markus
+
+	* lib/gis/datum.table, lib/gis/geo_init.c, lib/gis/projections:
+	  added Krovak and Krovakgis projection (Krovak already present in
+	  latest PROJ4 CVS version, added Hermannskogel datum for Krovakgis
+
+2002-05-29 10:19  markus
+
+	* include/geo.h: added Krovak and Krovakgis projection (Krovak
+	  already present in latest PROJ4 CVS version
+
+2002-05-29 07:37  glynn
+
+	* lib/gis/reclass.c: Don't generate a warning if the reclassed_to
+	  file can't be written to
+
+2002-05-29 01:43  eric
+
+	* raster/r.proj/main.c: Make "hold" a pointer 8^0!
+
+2002-05-28 19:42  markus
+
+	* imagery/i.vpoints/colors.c, imagery/i.vpoints/debug.c,
+	  imagery/i.vpoints/drawcell.c, imagery/i.vpoints/driver.c,
+	  imagery/i.vpoints/globals.h: fixed various bugs, now somewhat
+	  usable
+
+2002-05-28 13:47  markus
+
+	* imagery/i.vpoints/cell.c: re-enabled old code, the new was never
+	  working (now we can again plot a target raster map
+
+2002-05-27 09:26  markus
+
+	* raster/r.proj/main.c: Roger Miller: fix for empty datum/ellips
+
+2002-05-27 07:46  cho
+
+	* display/d.text.freetype/main.c: nothing
+
+2002-05-27 06:06  cho
+
+	* display/d.text.freetype/main.c: added rotation feature
+
+2002-05-27 02:25  cho
+
+	* display/d.text.freetype/main.c: added the parameter description
+
+2002-05-27 02:22  cho
+
+	* display/d.text.freetype/main.c: added rotation feature
+
+2002-05-27 00:22  cho
+
+	* display/d.text.freetype/main.c: code cleanup
+
+2002-05-27 00:18  cho
+
+	* display/d.text.freetype/main.c: code cleanup
+
+2002-05-24 18:56  cho
+
+	* display/d.text.freetype/main.c: displays text more clearly
+
+2002-05-24 17:29  glynn
+
+	* display/d.text.freetype/main.c: Tidy handling of x,y
+
+2002-05-24 16:17  cho
+
+	* display/d.text.freetype/main.c: nothing
+
+2002-05-24 15:17  cho
+
+	* display/d.text.freetype/main.c: updated to remove the uninstalled
+	  fonts list from freetypecap.
+
+2002-05-24 14:35  cho
+
+	* display/d.text.freetype/main.c: improved a character space
+
+2002-05-21 20:01  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/mapcalc.h: When creating
+	  an exact copy, copy categories, colour table, and history
+
+2002-05-21 16:02  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: bugfix for segfault
+
+2002-05-21 06:40  markus
+
+	* raster/r.sun/main.c: removed debug output
+
+2002-05-16 15:56  markus
+
+	* lib/init/Makefile: fix for G_fatal_error in init.c
+
+2002-05-16 14:38  radim
+
+	* tools/link: ignore makefile and Makefile
+
+2002-05-16 14:30  radim
+
+	* vector/v.ascii/local_proto.h: + head
+
+2002-05-16 14:26  radim
+
+	* lib/vector/diglib/rw_ascii.c: functions moved
+
+2002-05-16 14:21  radim
+
+	* vector/v.ascii/head.c: + stdlib
+
+2002-05-16 14:20  radim
+
+	* lib/vector/diglib/plus.c, lib/vector/diglib/plus_struct.c: z = 0
+	  / 2D
+
+2002-05-16 14:19  radim
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/header.c: init with_z in
+	  plus
+
+2002-05-16 12:20  radim
+
+	* display/d.vect/area.c, display/d.what.vect/what.c,
+	  include/Vect.h, include/vect/dig_externs.h,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/build_shp.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/find.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read_shp.c, lib/vector/diglib/line_dist.c,
+	  vector/v.convert/dist.c, vector/v.convert/old2new.c: 3D for some
+	  functions
+
+2002-05-16 11:42  alex
+
+	* lib/gis/ask.c, lib/gis/range.c, lib/gis/rd_cellhd.c,
+	  lib/gis/readsites.c, lib/gis/readsites_xyz.c, lib/gis/reclass.c,
+	  lib/gis/set_window.c, lib/gis/system.c, lib/gis/timestamp.c,
+	  lib/gis/view.c: Final 'touch of i18n' for libgis
+
+2002-05-16 10:58  glynn
+
+	* raster/r.mapcalc/mapcalc.l: Add readline support to r.mapcalc3;
+	  based upon patch from Alexandre Sorokine
+
+2002-05-16 07:13  radim
+
+	* lib/vector/diglib/angle.c: #ifdef OLD removed
+
+2002-05-16 06:53  markus
+
+	* doc/migration_50_51.txt: code cleanup comments added as suggested
+	  by Glynn
+
+2002-05-16 06:45  radim
+
+	* include/gisdefs.h: + G_chop definition
+
+2002-05-16 06:44  radim
+
+	* vector/v.ascii/a2b.c: allocation fix for z, tested with 10^6
+	  points in line
+
+2002-05-15 15:07  glynn
+
+	* raster/r.mapcalc/mapcalc.l: Fix bug with quoted map names (was
+	  including the closing quote in the name)
+	  (bug #1045, reported by Peter Löwe)
+
+2002-05-15 14:21  markus
+
+	* display/d.barscale/main.c, display/d.barscale/mouse.c,
+	  display/d.colors/get_info.c, display/d.colortable/main.c,
+	  display/d.font/main.c, display/d.frame/create.c,
+	  display/d.frame/dumper.c, display/d.frame/select.c,
+	  display/d.geodesic/main.c, display/d.graph/allocation.c,
+	  display/d.graph/main.c, display/d.grid/main.c,
+	  display/d.histogram/get_stats.c, display/d.legend/main.c,
+	  display/d.mapgraph/main.c, display/d.mon/pgms/release.c,
+	  display/d.mon/pgms/start.c, display/d.mon/pgms/stop.c,
+	  display/d.profile/What.c, display/d.profile/main.c,
+	  display/d.rast/display.c, display/d.rast/main.c,
+	  display/d.rhumbline/main.c, display/d.title/main.c,
+	  display/d.vect/main.c, display/d.what.vect/main.c,
+	  display/d.where/main.c: next update exit(-1) -> G_fatal_error
+
+2002-05-15 12:15  markus
+
+	* raster/r.his/main.c: fixed wrong flag name
+
+2002-05-15 11:38  markus
+
+	* general/g.mapsets/dsply_path.c, general/g.parser/main.c,
+	  general/g.region/cmd/printwindow.c, general/g.region/cmd/zoom.c,
+	  general/g.setproj/main.c, lib/init/lock.c: changed fprintf/exit
+	  on error to G_fatal_error(), removed CVS Log tags
+
+2002-05-15 10:18  alex
+
+	* lib/gis/opencell.c, lib/gis/proj2.c, lib/gis/proj3.c,
+	  lib/gis/put_cellhd.c, lib/gis/put_row.c, lib/gis/put_title.c,
+	  lib/gis/quant_io.c, lib/gis/quant_rw.c: Portion #4 of i18n for
+	  libgis.
+
+2002-05-15 10:07  radim
+
+	* display/d.zoom/main.c: fix for vectors without topology
+
+2002-05-14 21:16  markus
+
+	* display/d.his/main.c, raster/r.his/main.c: corrected grammar
+
+2002-05-14 21:12  markus
+
+	* display/d.his/main.c, raster/r.his/main.c: inverted flag, renamed
+	  to -n
+
+2002-05-14 09:38  markus
+
+	* raster/r.his/main.c: added -i flag to ignore NULL values when
+	  drawing (former version didn't allow for drawing shaded maps),
+	  default behaviour unchanged
+
+2002-05-14 09:16  markus
+
+	* display/d.his/main.c: added -i flag to ignore NULL values when
+	  drawing (former version didn't allow for drawing shaded maps),
+	  default behaviour unchanged
+
+2002-05-14 06:52  radim
+
+	* include/Vect.h, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_post.c: postgrass level2 temporary fix
+
+2002-05-13 09:46  alex
+
+	* lib/gis/get_row.c, lib/gis/get_window.c, lib/gis/gishelp.c,
+	  lib/gis/histogram.c, lib/gis/history.c, lib/gis/home.c,
+	  lib/gis/legal_name.c, lib/gis/list.c, lib/gis/location.c,
+	  lib/gis/make_colr.c, lib/gis/mapset.c, lib/gis/mask_info.c,
+	  lib/gis/myname.c, lib/gis/null_val.c: Portion #3 of i18n for
+	  libgis
+
+2002-05-13 08:52  glynn
+
+	* visualization/nviz/src/togl.c: Remove (Debian-specific)
+	  tkInt8.0.5.h, and references thereto
+
+2002-05-13 07:02  glynn
+
+	* include/glocale.h, lib/gis/locale.c: Make I18N optional
+
+2002-05-12 12:04  alex
+
+	* lib/gis/G_dump.c, lib/gis/done_msg.c, lib/gis/format.c,
+	  lib/gis/get_cellhd.c, lib/gis/get_datum.c,
+	  lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_ellipse.c, lib/gis/get_projinfo.c,
+	  lib/gis/get_projname.c: Portion of i18n for libgis
+
+2002-05-11 12:55  alex
+
+	* lib/gis/adj_cellhd.c, lib/gis/ask.c, lib/gis/ask_cell.c,
+	  lib/gis/auto_mask.c, lib/gis/cats.c, lib/gis/closecell.c,
+	  lib/gis/color_read.c, lib/gis/datum.c: i18n changes
+
+2002-05-09 20:58  glynn
+
+	* visualization/nviz/src/tkInt8.0.2.h,
+	  visualization/nviz/src/togl.c: Add tkInt8.0.5.h
+	  Rename tkInt8.0p2.h to tkInt8.0.2.h for consistency
+
+2002-05-09 15:08  markus
+
+	* raster/r.what/main.c: fixed compile warning, extended max maps
+	  limit
+
+2002-05-09 11:48  glynn
+
+	* lib/gis/datum.c: Fix memory allocation bug in read_datum_table()
+
+2002-05-07 08:32  radim
+
+	* db/drivers/odbc/listtab.c: changed note about returned number of
+	  tables
+
+2002-05-07 08:20  radim
+
+	* display/d.vect/area.c, display/d.vect/main.c,
+	  display/d.vect/plot2.c, display/d.vect/topo.c: vect and gislib
+	  update
+
+2002-05-07 08:18  radim
+
+	* lib/gis/parser.c: removed answer for G_OPT_WHERE
+
+2002-05-07 07:50  radim
+
+	* display/d.zoom/print.c: + return() in print_coor
+
+2002-05-06 16:32  radim
+
+	* vector/v.ascii/Makefile, vector/v.ascii/head.c,
+	  vector/v.ascii/in.c, vector/v.ascii/out.c, vector/v.build/main.c,
+	  vector/v.category/main.c, vector/v.convert/main.c,
+	  vector/v.convert/old2new.c, vector/v.convert/read.c:
+	  Vect_set/get_*(), G_define_standard_option()
+
+2002-05-06 16:04  radim
+
+	* lib/vector/Vlib/error.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c: +fatal error
+	  handling, Vect_set/get_*()
+
+2002-05-06 16:02  radim
+
+	* lib/vector/diglib/Makefile: rw ascii head moved
+
+2002-05-06 16:00  radim
+
+	* lib/gis/parser.c: G_define_standard_option
+
+2002-05-06 15:59  radim
+
+	* include/Vect.h, include/gis.h, include/gisdefs.h,
+	  include/vect/dig_defines.h, include/vect/dig_structs.h:
+	  G_define_standard_option, Vect_set/get_*
+
+2002-05-06 15:57  radim
+
+	* configure, configure.in: -g -Wall
+
+2002-05-06 12:17  radim
+
+	* db/drivers/odbc/listtab.c: fix for list of tables
+
+2002-05-06 09:49  eric
+
+	* lib/gis/readsites_xyz.c: Check errno after strtod() usage against
+	  ERANGE to catch overflow errors.
+
+2002-05-06 08:04  markus
+
+	* lib/gis/tempfile.c: added unlink hint to notes
+
+2002-05-06 08:00  markus
+
+	* raster/r.drain/main.c: added unlink() for tempfiles on exit
+
+2002-05-06 01:39  glynn
+
+	* lib/gis/remove.c: Allow removing directories, but with added
+	  safety checks
+
+2002-05-05 12:30  glynn
+
+	* include/glocale.h, lib/gis/locale.c: Remove G_init_locale();
+	  perform initialisation on first call to G_gettext()
+	  Resurrect i18n changes to s.surf.rst
+
+2002-05-03 20:47  glynn
+
+	* include/glocale.h, lib/gis/locale.c: Locale changes
+
+2002-05-03 14:02  markus
+
+	* doc/vector/grass51concept.fig: ODBC is now implemented by Radim
+
+2002-05-03 10:48  alex
+
+	* lib/gis/locale.c: G_gettext to handle translations for libs and
+	  modules
+
+2002-05-03 10:47  alex
+
+	* include/glocale.h: G_gettext to handle translations from both
+	  libs and modules
+
+2002-05-02 11:22  alex
+
+	* include/glocale.h, lib/gis/locale.c: conforming to standards
+
+2002-05-01 12:54  alex
+
+	* lib/gis/locale.c: A wrapper for gettext added
+
+2002-05-01 12:47  alex
+
+	* include/glocale.h: A new wrapper for gettext used in macro
+
+2002-04-30 14:20  radim
+
+	* display/d.zoom/main.c, include/Make/Grass.make, lib/Makefile,
+	  lib/edit/Makefile, lib/gis/Makefile, lib/init/Makefile,
+	  lib/proj/Makefile, tools/link.conf: amusing modifications
+	  reflecting g50 changes
+
+2002-04-30 12:31  radim
+
+	* tools/link.conf: +odbc
+
+2002-04-30 12:13  radim
+
+	* db/drivers/Makefile: +odbc
+
+2002-04-30 12:12  radim
+
+	* db/drivers/odbc/Makefile: new
+
+2002-04-30 12:05  radim
+
+	* display/d.m/Makefile, display/d.m/add.cmd.gif,
+	  display/d.m/cmd.gif, display/d.m/cmd.tcl, display/d.m/d.m.tcl,
+	  display/d.m/tool.tcl: command layer
+
+2002-04-30 10:23  radim
+
+	* display/d.zoom/set.c: ew rounding (LL proj)
+
+2002-04-30 08:59  cho
+
+	* display/d.text.freetype/main.c: path override fixed
+
+2002-04-30 05:03  cho
+
+	* display/d.text.freetype/main.c: removed G_free() at exit().
+
+2002-04-30 04:58  cho
+
+	* display/d.text.freetype/main.c: bug fixed
+
+2002-04-30 04:20  cho
+
+	* display/d.text.freetype/main.c: default value bug fixed
+
+2002-04-29 17:46  cho
+
+	* display/d.text.freetype/main.c: lessen memory usage
+
+2002-04-29 16:16  markus
+
+	* doc/migration_50_51.txt: GNU indent hint added
+
+2002-04-29 14:01  radim
+
+	* display/d.zoom/box.c, display/d.zoom/print.c,
+	  display/d.zoom/set.c: -f -h options
+
+2002-04-29 11:54  cho
+
+	* display/d.text.freetype/README: added more hints
+
+2002-04-29 11:51  cho
+
+	* display/d.text.freetype/freetypecap,
+	  display/d.text.freetype/main.c: cosmetics
+
+2002-04-29 11:26  cho
+
+	* display/d.text.freetype/main.c: Added some updates.
+	  Glynn, Thanks for your cleanup.
+
+2002-04-29 10:19  glynn
+
+	* display/d.text.freetype/freetypecap,
+	  display/d.text.freetype/main.c: Tidy "freetypecap" related
+	  changes
+	  Add entries for "Luxi" fonts (from XFree86 4.0) to freetypecap
+	  Fix Gmakefile to copy freetypecap if modified
+
+2002-04-29 05:57  cho
+
+	* display/d.text.freetype/freetypecap: updated
+
+2002-04-29 05:28  cho
+
+	* display/d.text.freetype/main.c: bug fixed
+
+2002-04-29 04:50  cho
+
+	* display/d.text.freetype/README: cosmetics
+
+2002-04-29 04:43  cho
+
+	* display/d.text.freetype/README,
+	  display/d.text.freetype/freetypecap,
+	  display/d.text.freetype/main.c: added font definition file
+
+2002-04-26 15:02  glynn
+
+	* raster/r.fill.dir/ppupdate.c, raster/r.le/r.le.patch/input.c,
+	  raster/r.le/r.le.pixel/input.c: Various fixes (from Paul Kelly)
+
+2002-04-26 00:38  glynn
+
+	* raster/r.clump/main.c: Remove prohibition on reclass maps
+
+2002-04-25 01:33  roger
+
+	* display/d.rast/display.c: returned display.c to its documented
+	  behavior
+
+2002-04-24 18:52  glynn
+
+	* include/glocale.h: Include <locale.h>
+
+2002-04-24 17:04  markus
+
+	* vector/v.vol.rst/dataoct.c, vector/v.vol.rst/oct.c,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/user4.c,
+	  vector/v.vol.rst/userglobs.h: Jaro Hofierka: bugfix for
+	  segmentation problem
+
+2002-04-24 14:57  glynn
+
+	* display/d.barscale/draw_scale.c: Fix text size at 14 pixels,
+	  rather than scaling with frame height
+
+2002-04-24 04:59  eric
+
+	* display/d.profile/DumpProfile.c: s/snprintf/sprintf/ -- all sizes
+	  are known quantities or buffers are more
+	  than big enough.
+
+2002-04-24 03:54  roger
+
+	* general/g.mapsets/get_path.c: Fix reported parse problem
+
+2002-04-23 20:25  glynn
+
+	* raster/r.fill.dir/wtrshed.c: Fix various bugs (reported by Paul
+	  Kelly)
+	  p.vrml: tidy
+	  add prototypes
+	  convert to ANSI syntax
+	  change macro V2.0 to VRML2
+	  remove local prototypes of libgis functions
+	  remove FP_GRASS conditionalisation; always true
+	  Remove use of non-standard variable-size arrays from
+	  r.fill.dir/wtrshed.c
+	  Change s.hull/hull.c to use C comment syntax instead of C++
+	  nviz_init.c:
+	  Fix split string literal
+	  Use G_fatal_error instead of fprintf/exit
+
+2002-04-23 08:41  markus
+
+	* display/drivers/PNG/Graph_Set.c: added message for
+	  GRASS_TRUECOLOR status:
+
+2002-04-22 21:02  glynn
+
+	* lib/gis/remove.c: Change G_remove() to only remove files, using
+	  unlink()
+
+2002-04-22 17:26  markus
+
+	* raster/r.sun/main.c: flag cosmetics
+
+2002-04-22 17:25  markus
+
+	* raster/r.sun/main.c: Jaro Hofierka: new improved version
+
+2002-04-22 16:34  glynn
+
+	* raster/r.mapcalc/map.c, raster/r.mapcalc/mapcalc.y: Fix bug in
+	  r.mapcalc parser; wouldn't allow re-assigning to an existing
+	  variable
+	  Fix bug in r.mapcalc; use of non-zero Y in neighbourhood modifier
+	  caused error
+	  Update shade.rel.sh to new r.mapcalc semantics (FP values aren't
+	  valid booleans)
+
+2002-04-22 13:03  markus
+
+	* include/geo.h: reverted accidential change
+
+2002-04-22 13:03  markus
+
+	* include/geo.h, raster/r.colors/main.c: added G_make_byr_fp_colors
+	  for r.colors
+
+2002-04-21 21:45  roger
+
+	* lib/proj/ntv1_can.dat: Canadian NAD table for proj-4.4.5
+
+2002-04-21 21:42  roger
+
+	* lib/proj/FL.lla, lib/proj/MD.lla, lib/proj/TN.lla,
+	  lib/proj/WI.lla, lib/proj/WO.lla, lib/proj/alaska.lla,
+	  lib/proj/conus.lla, lib/proj/hawaii.lla, lib/proj/prvi.lla,
+	  lib/proj/stgeorge.lla, lib/proj/stlrnc.lla, lib/proj/stpaul.lla:
+	  NAD data tables for proj 4.4.5
+
+2002-04-21 03:38  roger
+
+	* raster/r.proj/bordwalk.c, raster/r.proj/main.c: Modified to
+	  perform conversions between nad83 and nad27 during (re)projection
+
+2002-04-19 20:39  glynn
+
+	* lib/display/draw.c, lib/edit, lib/edit/edit_cats.c,
+	  lib/edit/edit_cellhd.c, lib/edit/edit_hist.c, lib/gis/locale.c:
+	  Remove LOCALEDIR from configure.in, config.h.in
+	  Add src/libes/edit
+	  Move src/libes/gis/edit_*.c to src/libes/edit
+	  Add src/libes/gis/locale.c
+	  Add G_init_locale() to gisdefs.h
+	  Remove R__cur[xy] references from libdisplay
+	  Remove pos.h references from src/libes/raster/Gmakefile
+	  Move libgeo variables to new file vars.c
+	  Replace boilerplate locale code with G_init_locale()
+
+2002-04-19 15:55  radim
+
+	* display/d.zoom/box.c, display/d.zoom/print.c: new menu
+
+2002-04-19 12:13  markus
+
+	* raster/r.le/r.le.patch/driver.c, raster/r.le/r.le.patch/main.c,
+	  raster/r.le/r.le.patch/trace.c: free -> G_free
+
+2002-04-19 08:37  markus
+
+	* vector/v.vol.rst/user3.c: improved user message
+
+2002-04-18 19:11  glynn
+
+	* raster/r.kappa/prt_mat.c: Fix int/long type confusion in
+	  longcomp()
+
+2002-04-18 18:30  glynn
+
+	* raster/r.neighbors/sort_cell.c: Fix bug in comparison routines
+	  (as noted by Bob Covill)
+
+2002-04-18 17:22  glynn
+
+	* include/vask.h, lib/ogsf/GSX.c, lib/ogsf/gsd_img.c,
+	  lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c,
+	  lib/raster/Cont_abs.c, lib/raster/Cont_rel.c,
+	  lib/raster/Move_abs.c, lib/raster/Move_rel.c: Eliminate duplicate
+	  global variables from libraries
+	  Remove ask_initial.c (clone of ask_camera.c) from libortho
+	  Remove unused variables R__cur[xy] from libraster
+
+2002-04-17 15:57  glynn
+
+	* visualization/nviz/scripts/nviz: Set
+	  GISDBASE/LOCATION_NAME/MAPSET env vars from g.gisenv
+
+2002-04-17 13:10  markus
+
+	* doc/vector/grass51atts.fig, doc/vector/grass51atts.gif,
+	  doc/vector/grass51concept.fig, doc/vector/grass51concept.gif:
+	  added GRASS 5.1 architecture
+
+2002-04-17 11:35  markus
+
+	* vector/v.vol.rst/user2.c: fix for user message (npm was 1 too
+	  low)
+
+2002-04-17 09:47  radim
+
+	* INSTALL: + make mixclean
+
+2002-04-17 09:09  radim
+
+	* display/d.m/Makefile, display/d.m/add.raster.gif,
+	  display/d.m/d.m.tcl, display/d.m/raster.gif,
+	  display/d.m/raster.tcl, display/d.m/select.tcl,
+	  display/d.m/tool.tcl, display/d.m/vector.tcl: +raster
+
+2002-04-17 07:00  markus
+
+	* INSTALL: extended
+
+2002-04-16 16:11  glynn
+
+	* display/d.mon/pgms/select.c: Only create "full_screen" frame if
+	  no current frame
+
+2002-04-16 15:51  markus
+
+	* raster/r.composite/main.c: deleted CVS ID, added comment about
+	  Floyd-Steinberg dithering
+
+2002-04-16 15:35  markus
+
+	* display/drivers/HTMLMAP/README: d.area -> d.vect,area
+
+2002-04-16 13:25  glynn
+
+	* lib/vask/V_call.c: Make backspace erase target character
+
+2002-04-16 12:38  roger
+
+	* raster/r.out.ascii/formspecific.c,
+	  raster/r.out.ascii/localproto.h: Added option to write USGS
+	  MODFLOW arrays
+
+2002-04-15 16:01  roger
+
+	* raster/r.out.ascii/main.c: Added option to output USGS MODFLOW
+	  array
+
+2002-04-15 09:38  radim
+
+	* display/Makefile, display/d.rast/Makefile, tools/link.conf:
+	  d.rast added
+
+2002-04-15 09:34  radim
+
+	* include/sqlp.h, lib/db/sqlp/lex.l, lib/db/sqlp/sql.c,
+	  lib/db/sqlp/test/test, lib/db/sqlp/yac.y: handle numbers better
+
+2002-04-14 04:15  glynn
+
+	* raster/r.resamp.rst/HISTORY, raster/r.resamp.rst/main.c: Add
+	  anisotropy options (from Jaro Hofierka, via Helena)
+
+2002-04-13 17:15  glynn
+
+	* include/edit.h, lib/init/set_data.c: Move G_edit_* functions to a
+	  separate library (libedit), rename to E_edit_*
+	  Change programs accordingly
+	  Rationale: remove curses dependency from libgis
+
+2002-04-13 17:12  glynn
+
+	* imagery/i.ortho.photo/photo.rectify/exec.c, lib/ogsf/Gs3.c: Fix
+	  compiler warning
+
+2002-04-13 12:14  glynn
+
+	* raster/r.topmodel/file_io.c: Fix bug in s.in.shape
+	  Fix date/time in s.in.shape, r.topmodel
+
+2002-04-13 10:53  glynn
+
+	* raster/r.composite/main.c: Change dithering option to
+	  Floyd-Steinberg dithering
+
+2002-04-13 05:17  glynn
+
+	* include/imagery.h: Change GROUP/SUBGROUP file names to
+	  CURGROUP/CURSUBGROUP unconditionally
+
+2002-04-12 14:09  glynn
+
+	* lib/gis/datum.c, lib/gis/datum.table, lib/gis/get_datum.c,
+	  lib/gis/get_datum_name.c: Move datum table code (and datum.table)
+	  from libcoorcnv to libgis
+	  Tidy datum table code
+
+2002-04-12 13:39  glynn
+
+	* lib/raster/RGB_ras.c: Fix compiler warning
+
+2002-04-12 07:42  glynn
+
+	* include/readsites.h, lib/gis/readsites.c,
+	  lib/gis/readsites_xyz.c: Fix references to undefined symbols
+	  Change G_readsites() to take Cell_head* as a parameter (was
+	  relying upon the
+	  main program defining a global symbol "window").
+	  Change src/libes/dbmi/lib/error.c to include <errno.h> for errno
+	  Fix error message in G_readsites_xyz()
+	  Change G_site_destroy_struct() to G_site_free_struct() in
+	  src/libes/ogsf/Gp3.c
+	  Change s.sv, s.kcv, s.normal, s.probplt, s.univar to use new
+	  prototype for
+	  G_readsites()
+	  
+	  Fix "find" command in "makefiles" target in mk/Makefile.in to
+	  explicitly
+	  specify "-print" (needed for non-GNU "find").
+	  Add mk/mkmakefiles script
+
+2002-04-12 03:10  eric
+
+	* lib/gis/ask.c, lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_row_colr.c, lib/gis/get_window.c, lib/gis/home.c,
+	  lib/gis/list.c, lib/gis/myname.c, lib/gis/nme_in_mps.c,
+	  lib/gis/pole_in_poly.c, lib/gis/putenv.c, lib/gis/quant_io.c,
+	  lib/gis/rd_cellhd.c, lib/gis/set_window.c, lib/gis/strings.c,
+	  lib/gis/strip.c, lib/gis/whoami.c: Small cleanups, mostly add
+	  parenthesis for expressions being evaluated for
+	  truth values. Rename of "clock" variable in error.c to eliminate
+	  shadowing of
+	  standard function and use time_t. Other future considerations are
+	  the
+	  widespread mixing of assignments to/from long,int, and off_t.
+	  Will need a bit
+	  of work to support large (> 2GB) files properly.
+
+2002-04-12 01:44  glynn
+
+	* display/d.rgb/main.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster_RGB.c,
+	  display/drivers/lib/RGB.c, lib/display/raster_rgb.c,
+	  lib/raster/RGB_ras.c: Change RGB_RASTER display operation to
+	  support a mask
+	  Change src/libes/raster and src/display/devices/* to implement
+	  mask
+	  Change src/libes/display to make use of mask
+	  Change i.colors to use new prototype for R_RGB_raster()
+	  Add overlay (-o) flag to d.rgb
+	  Update d.rgb HTML page
+	  Fix errors in d.rast HTML page
+
+2002-04-10 14:52  radim
+
+	* vector/v.convert/read.c, vector/v.convert/type.c: fix for dead
+	  elements
+
+2002-04-10 14:05  radim
+
+	* vector/v.category/main.c: + build
+
+2002-04-10 14:02  radim
+
+	* vector/v.convert/old2new.c: open att fixes
+
+2002-04-10 12:45  glynn
+
+	* display/d.text.freetype/main.c: Add configure check for libintl
+	  (gettext etc)
+	  Conditionalise use of iconv() in d.text.freetype
+
+2002-04-10 09:05  radim
+
+	* db/base/db.attr: expand
+
+2002-04-10 09:04  radim
+
+	* lib/gis/debug.c: buffer length
+
+2002-04-09 00:31  glynn
+
+	* display/d.mon/cmd/main.c, display/d.mon/pgms/local_proto.h,
+	  display/d.mon/pgms/start.c, display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/PNG/Graph_Set.c,
+	  display/drivers/XDRIVER/XDRIVER24/local_proto.h,
+	  display/drivers/lib/main.c: Remove "nlev" argument, as it is no
+	  longer meaningful
+	  Add XDRIVER_TRUECOLOR env var to tell XDRIVER to use a TrueColor
+	  visual in preference to the default visual
+
+2002-04-08 12:49  radim
+
+	* include/vbuildlib.h: build_all_areas() + error file
+
+2002-04-08 02:15  glynn
+
+	* raster/r.resamp.rst/main.c: Update to use new IL_init_params_2d()
+	  prototype
+
+2002-04-04 17:43  markus
+
+	* lib/rst/interp_float/init2d.c, lib/rst/interp_float/interp2d.c,
+	  lib/rst/interp_float/matrix.c, lib/rst/interp_float/output2d.c:
+	  Jaro Hofierka: added optional anisotropy
+
+2002-04-02 12:35  radim
+
+	* display/d.what.vect/what.c: abs -> fabs; fix for big zoom
+
+2002-04-02 11:56  radim
+
+	* db/base/execute.c: db.execute can read more statements, statement
+	  must end with ';'
+
+2002-04-02 11:54  radim
+
+	* lib/vector/Vlib/find.c, lib/vector/Vlib/line.c,
+	  lib/vector/Vlib/read.c, lib/vector/diglib/line_dist.c,
+	  vector/v.convert/dist.c: dig_distance2_point_to_line() changed
+
+2002-04-02 11:51  radim
+
+	* include/Vect.h, include/vect/dig_externs.h: functions modified
+
+2002-04-02 11:49  radim
+
+	* vector/v.ascii/a2b.c, vector/v.ascii/b2a.c, vector/v.ascii/in.c,
+	  vector/v.ascii/local_proto.h, vector/v.ascii/out.c: import/export
+	  of points from/to stdin/out
+
+2002-03-28 17:30  glynn
+
+	* raster/r.reclass/main.c, raster/r.reclass/reclass.c,
+	  raster/r.reclass/rule.h: Allow reclassing of reclass maps
+	  Rewrite reclass.c
+	  Fix bug in handling of categories with reclass-to-self rule
+
+2002-03-26 14:59  markus
+
+	* raster/r.param.scale/feature.c, raster/r.param.scale/main.c:
+	  cosmetics for features, test to forbid lat/long - would produce
+	  crazy results
+
+2002-03-25 22:44  glynn
+
+	* raster/r.mapcalc/mapcalc.l, raster/r.mapcalc/mapcalc.y: Improve
+	  interactive use
+
+2002-03-25 21:02  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.what.rast/what.c,
+	  include/display.h, lib/display/cnversions.c,
+	  lib/display/raster.c, lib/display/raster_rgb.c: Remove
+	  D_get_u_to_a_[xy]conv() and D_get_a_to_d_[xy]conv()
+	  Re-write cnversions.c to reduce floating-point errors
+	  Change d.barscale and d.scale to handle removals
+	  Change raster.c and raster_rgb.c to use pixel centre
+	  Change d.what.rast to match raster functions
+
+2002-03-25 12:17  glynn
+
+	* display/d.mon/pgms/stop.c,
+	  imagery/i.ortho.photo/photo.2image/drawcell.c,
+	  imagery/i.ortho.photo/photo.2target/drawcell.c: Remove local
+	  prototypes, mainly for getenv(); include appropriate header
+	  instead
+	  Change v.in.gef to use G_location_path(), G_mapset() instead of
+	  $LOCATION
+
+2002-03-24 19:05  glynn
+
+	* display/d.text.freetype/main.c: Make G_recreate_command() quote
+	  arguments as necessary
+	  Make d.text.freetype call D_add_to_list(G_recreate_command())
+
+2002-03-24 14:23  glynn
+
+	* raster/r.info/main.c: Fix handling of null values in reclass
+	  table
+
+2002-03-24 13:14  glynn
+
+	* raster/r.reclass/reclass.c, raster/r.reclass/rule.h: Extend range
+	  of reclass table to include entire source range if a default
+	  rule is present
+	  Remove unused "old" parameter from _reclass()
+
+2002-03-23 11:23  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/mapcalc.h,
+	  raster/r.mapcalc/xdiv.c: Simplify error handling; just call
+	  G_fatal_error
+	  Explicitly trap divide-by-zero in f_div()
+
+2002-03-22 18:34  glynn
+
+	* raster/r.colors/main.c: Report correct map in error message
+
+2002-03-21 20:18  glynn
+
+	* raster/r.mapcalc/evaluate.c: Sync with release branch
+
+2002-03-21 12:33  markus
+
+	* raster/r.statistics/main.c: improved file-not-there check, added
+	  FP test to restrict usage to integer
+
+2002-03-21 09:20  glynn
+
+	* display/d.his/main.c, lib/gis/get_row_colr.c,
+	  raster/r.composite/main.c, raster/r.his/main.c: Sync with release
+	  branch
+
+2002-03-21 08:32  markus
+
+	* display/d.rast/main.c: improved user message
+
+2002-03-19 09:44  radim
+
+	* configure, configure.in, include/config.h.in: + HAVE_POSTGRES_H
+
+2002-03-19 09:39  markus
+
+	* visualization/nviz/src/query_postgr.c: reverted accidental upload
+
+2002-03-19 09:32  markus
+
+	* visualization/nviz/src/query_postgr.c: html fix
+
+2002-03-15 14:25  markus
+
+	* raster/r.param.scale/feature.c, raster/r.param.scale/interface.c:
+	  Stefano Menegon: fix for features and fixed curvature tolerance
+	  due to FP update
+
+2002-03-14 01:49  glynn
+
+	* display/d.mon/pgms/select.c: Don't call D_setup()
+
+2002-03-12 10:02  markus
+
+	* Makefile: scripts added
+
+2002-03-12 10:00  markus
+
+	* scripts/Makefile, scripts/v.shape.register,
+	  scripts/v.shape.unregister: added new/updated scripts
+
+2002-03-09 14:01  radim
+
+	* display/d.m/add.vector.gif, display/d.m/d.m.tcl,
+	  display/d.m/display.all.gif, display/d.m/display.gif,
+	  display/d.m/tool.tcl, display/d.m/zoom.gif: zoom
+
+2002-03-09 13:58  radim
+
+	* display/d.zoom/Makefile, display/d.zoom/main.c,
+	  general/g.region/Makefile, general/g.region/cmd/Makefile,
+	  general/g.region/cmd/main.c, lib/proj, lib/proj/Makefile: new
+
+2002-03-09 13:57  radim
+
+	* display/Makefile: d.zoom
+
+2002-03-09 13:55  radim
+
+	* general/Makefile: g.region
+
+2002-03-09 13:52  radim
+
+	* include/Vect.h, include/vect/dig_structs.h,
+	  lib/vector/Vlib/box.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_shp.c,
+	  lib/vector/diglib/plus.c, lib/vector/diglib/plus_struct.c: box
+
+2002-03-09 13:51  radim
+
+	* lib/Makefile: proj
+
+2002-03-09 13:50  radim
+
+	* tools/link.conf: projlib, g.region, d.zoom
+
+2002-03-08 03:43  glynn
+
+	* display/d.histogram/bar.c, raster/r.neighbors/gather.c: Sync with
+	  release branch
+
+2002-03-08 01:17  glynn
+
+	* raster/r.neighbors/main.c: Sync with release branch
+
+2002-03-08 01:12  glynn
+
+	* raster/r.neighbors/gather.c, raster/r.neighbors/main.c: Sync with
+	  release branch
+
+2002-03-07 18:04  radim
+
+	* display/d.vect/label.c, display/d.vect/main.c,
+	  display/d.vect/plot1.c, display/d.vect/topo.c,
+	  doc/vector/vector.html, vector/v.ascii/a2b.c,
+	  vector/v.ascii/b2a.c, vector/v.category/main.c,
+	  vector/v.convert/old2new.c, vector/v.convert/read.c,
+	  vector/v.convert/type.c: reflect lib changes
+
+2002-03-07 17:59  radim
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_shp.c,
+	  lib/vector/Vlib/cats.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_shp.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_nat.c,
+	  lib/vector/Vlib/open_shp.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_post.c, lib/vector/Vlib/read_shp.c,
+	  lib/vector/Vlib/type.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/write_nat.c, lib/vector/diglib/allocation.c,
+	  lib/vector/diglib/angle.c, lib/vector/diglib/box.c,
+	  lib/vector/diglib/frmt.c, lib/vector/diglib/head.c,
+	  lib/vector/diglib/inside.c, lib/vector/diglib/line_dist.c,
+	  lib/vector/diglib/linecros.c, lib/vector/diglib/list.c,
+	  lib/vector/diglib/plus.c, lib/vector/diglib/plus_area.c,
+	  lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_node.c,
+	  lib/vector/diglib/plus_struct.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/port_test.c, lib/vector/diglib/portable.c,
+	  lib/vector/diglib/prune.c, lib/vector/diglib/rw_ascii.c,
+	  lib/vector/diglib/spindex.c, lib/vector/diglib/struct_alloc.c,
+	  lib/vector/diglib/test.c: various changes
+
+2002-03-07 17:57  radim
+
+	* include/Vect.h, include/vect/dig_defines.h,
+	  include/vect/dig_externs.h, include/vect/dig_structs.h,
+	  lib/vector/diglib/Makefile: -
+
+2002-03-07 17:54  radim
+
+	* lib/vector/diglib/file_checks.c: not used
+
+2002-03-07 16:54  glynn
+
+	* lib/ogsf/gsd_img_tif.c: Sync with release branch
+
+2002-03-07 11:31  markus
+
+	* lib/gis/geo_init.c: added y_0 for TMERC as needed for British
+	  Nat. Grid system
+
+2002-03-05 01:00  glynn
+
+	* display/drivers/PNG/Panel.c: Sync with release branch
+
+2002-03-04 19:53  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/mouse.c, display/d.barscale/options.h,
+	  display/drivers/PNG/Panel.c,
+	  display/drivers/XDRIVER/XDRIVER24/Panel.c: Sync with release
+	  branch
+
+2002-03-04 17:25  markus
+
+	* INSTALL: added (=experimental) to be really very clear here
+
+2002-03-04 10:30  markus
+
+	* raster/r.patch/nfiles.h: boosted max files to 200
+
+2002-03-04 05:08  cho
+
+	* display/d.what.rast/main.c: -c help changed
+
+2002-03-04 01:04  cho
+
+	* display/d.what.rast/show.c: -c option bug fixed
+
+2002-03-04 00:38  glynn
+
+	* raster/r.statistics/o_adev.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_kurt.c, raster/r.statistics/o_max.c,
+	  raster/r.statistics/o_median.c, raster/r.statistics/o_min.c,
+	  raster/r.statistics/o_mode.c, raster/r.statistics/o_sdev.c,
+	  raster/r.statistics/o_skew.c, raster/r.statistics/o_sum.c,
+	  raster/r.statistics/o_var.c: Sync with release branch
+
+2002-03-03 21:28  glynn
+
+	* display/d.barscale/draw_scale.c: Sync with release branch
+
+2002-03-03 20:51  glynn
+
+	* display/d.save/main.c: Sync with release branch
+
+2002-03-03 01:12  glynn
+
+	* raster/r.statistics/o_average.c: Sync with release branch
+
+2002-03-01 22:16  glynn
+
+	* display/d.his/main.c: Sync with release branch
+
+2002-03-01 15:03  glynn
+
+	* display/d.mon/cmd/main.c: Sync with release branch
+
+2002-03-01 15:00  glynn
+
+	* imagery/i.class/draw_cell.c, imagery/i.points/drawcell.c,
+	  imagery/i.vpoints/drawcell.c, lib/gis/color_write.c: Sync with
+	  release branch (remove local getenv() declarations)
+
+2002-02-28 23:46  glynn
+
+	* imagery/i.ortho.photo/photo.rectify/ask_elev.c: Sync with release
+	  branch
+
+2002-02-28 13:12  glynn
+
+	* include/glocale.h: Check for libintl.h
+	  Define HAVE_LIBINTL_H, HAVE_ICONV_H if present
+	  Change glocale.h to use HAVE_LIBINTL_H
+
+2002-02-28 12:06  alex
+
+	* include/glocale.h: locale header (needs be updated later when
+	  configure.in is up)
+
+2002-02-27 17:04  markus
+
+	* lib/fonts/for_grass/Makefile: fixed several bugs
+
+2002-02-27 17:02  markus
+
+	* lib/fonts/for_grass/Makefile: fixed several bugs
+
+2002-02-27 13:45  radim
+
+	* display/d.m/Makefile, display/d.m/add.group.gif,
+	  display/d.m/add.vector.gif, display/d.m/d.m, display/d.m/d.m.tcl,
+	  display/d.m/display.gif, display/d.m/group.tcl,
+	  display/d.m/intro.gif, display/d.m/query.gif,
+	  display/d.m/select.tcl, display/d.m/tool.tcl,
+	  display/d.m/tree.tcl, display/d.m/vector.tcl: new d.m
+
+2002-02-27 13:41  radim
+
+	* include/vect/dig_externs.h, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_node.c: z-coor in dig_add_node
+
+2002-02-27 13:39  radim
+
+	* display/d.vect/area.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot.h,
+	  display/d.vect/plot1.c, display/d.vect/topo.c: point icon, color
+
+2002-02-27 13:36  radim
+
+	* include/gisdefs.h, lib/gis/Makefile, lib/gis/color_str.c: color
+	  parser
+
+2002-02-26 22:16  glynn
+
+	* raster/r.mapcalc/expression.c, raster/r.mapcalc/expression.h,
+	  raster/r.mapcalc/mapcalc.y: Sync with release branch
+
+2002-02-25 17:13  markus
+
+	* lib/gis/ellipse.table: Charles Beaudry: fixed Brasil ellipsoid
+
+2002-02-25 13:03  glynn
+
+	* raster/r.bilinear/main.c: Sync with release branch
+
+2002-02-23 15:21  radim
+
+	* lib/gis/line_dist.c: distance calculation fix
+
+2002-02-22 05:34  glynn
+
+	* lib/fonts/for_grass/font_2_bin.c,
+	  lib/fonts/for_grass/splitfont.c, raster/r.mapcalc/mapcalc.h: Sync
+	  build-related changes with release branch
+
+2002-02-20 08:59  markus
+
+	* INSTALL: added CFLAGS hint
+
+2002-02-16 20:52  glynn
+
+	* display/drivers/lib/main.c: Sync with release branch
+
+2002-02-16 18:20  radim
+
+	* db/drivers/dbf/describe.c: table name fix
+
+2002-02-16 18:19  radim
+
+	* lib/vector/diglib/Makefile, lib/vector/diglib/box.c,
+	  lib/vector/diglib/list.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_node.c, lib/vector/diglib/spindex.c: new
+	  functions, btree for nodes
+
+2002-02-16 18:15  radim
+
+	* lib/vector/Vlib/box.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_shp.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/list.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/select.c: new functions
+
+2002-02-16 18:09  radim
+
+	* lib/gis/debug.c: debug to file
+
+2002-02-16 18:05  radim
+
+	* lib/Makefile, lib/btree/Makefile, lib/btree/try.c,
+	  tools/link.conf: btree
+
+2002-02-16 18:02  radim
+
+	* include/Vect.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h: new functions
+
+2002-02-16 18:01  radim
+
+	* include/Make/Grass.make: -
+
+2002-02-16 07:22  glynn
+
+	* display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/htmlmap.h,
+	  display/drivers/PNG/Graph_Set.c,
+	  display/drivers/XDRIVER/XDRIVER24/includes.h,
+	  display/drivers/XDRIVER/XDRIVER24/local_vars.h,
+	  display/drivers/lib/Returns.c, display/drivers/lib/Text2.c,
+	  display/drivers/lib/Text_size.c, display/drivers/lib/driver.h,
+	  display/drivers/lib/main.c: Sync with release branch
+
+2002-02-15 13:32  markus
+
+	* lib/vector/Vlib/build_nat.c: removed max shape output
+
+2002-02-15 13:21  markus
+
+	* scripts/v.shape.register: added TODOs
+
+2002-02-15 13:16  markus
+
+	* scripts/v.shape.register: added TODOs
+
+2002-02-14 22:28  markus
+
+	* scripts/v.shape.register: enjoy
+
+2002-02-14 19:27  radim
+
+	* display/d.what.vect/what.c: max distance from selected point
+
+2002-02-14 09:46  markus
+
+	* lib/vector/Vlib/build_nat.c: added max_lines_in_shape output for
+	  registering lines progress (to estimate how long it takes)
+
+2002-02-13 23:39  radim
+
+	* lib/ogsf/Makefile, visualization/nviz/Makefile: -L removed
+
+2002-02-13 22:22  markus
+
+	* raster/r.clump/clump.c: bugfix to write NULL, not zero
+
+2002-02-13 12:48  markus
+
+	* tools/cvs.recursadd: improvement
+
+2002-02-13 12:46  markus
+
+	* tools/cvs.recursadd, tools/cvs.remove, tools/cvs.rename.dir,
+	  tools/cvs.rename.file: fix for help
+
+2002-02-11 21:36  glynn
+
+	* display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/PNG/Graph_Set.c: Sync with release branch
+
+2002-02-11 12:37  markus
+
+	* lib/gis/debug.c, lib/vector/Vlib/build.c: fixed typos
+
+2002-02-11 12:36  markus
+
+	* doc/debugging.txt: added hint for debugging
+
+2002-02-11 00:49  glynn
+
+	* display/drivers/PNG/Graph_Set.c: Sync with release branch
+
+2002-02-10 22:52  glynn
+
+	* raster/r.mapcalc/check.c, raster/r.mapcalc/evaluate.c,
+	  raster/r.mapcalc/expression.c, raster/r.mapcalc/function.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/xatan.c,
+	  raster/r.mapcalc/xexp.c, raster/r.mapcalc/xmedian.c,
+	  raster/r.mapcalc/xmode.c: Add median, mode functions
+	  Fix warnings
+	  Fix bug in column_shift()
+
+2002-02-10 18:29  radim
+
+	* vector/v.build/main.c: redundant Vect_close removed
+
+2002-02-10 18:28  radim
+
+	* display/d.what.vect/attr.c, display/d.what.vect/what.c: structure
+	  changed
+
+2002-02-10 18:26  radim
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/build_nat.c, lib/vector/Vlib/build_post.c,
+	  lib/vector/Vlib/build_shp.c, lib/vector/Vlib/close_shp.c,
+	  lib/vector/Vlib/find.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/open_shp.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_shp.c, lib/vector/Vlib/tin.c: 2D+3D structs
+	  merged, shape improved
+
+2002-02-10 18:24  radim
+
+	* lib/vector/diglib/inside.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_node.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/struct_alloc.c: 2D+3D structs merged
+
+2002-02-10 18:22  radim
+
+	* include/Vect.h, include/gis.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h: -
+
+2002-02-10 18:20  radim
+
+	* lib/init/grass.src: .grassrc51
+
+2002-02-10 18:19  radim
+
+	* lib/gis/debug.c: + GDEBUG
+
+2002-02-10 18:18  radim
+
+	* lib/init/init.sh: .gislock51
+
+2002-02-06 19:10  glynn
+
+	* raster/r.mapcalc/xexp.c, raster/r.mapcalc/xpow.c: Check for
+	  negative value raised to non-integral power
+
+2002-02-06 14:43  markus
+
+	* visualization/nviz/src/tkInt8.1.1.h,
+	  visualization/nviz/src/tkInt8.2.3.h,
+	  visualization/nviz/src/tkIntDecls8.1.1.h,
+	  visualization/nviz/src/tkIntDecls8.2.3.h: added tkIntDecls8.2.3.h
+	  tkIntDecls8.1.1.h to fix Irix compile problem
+
+2002-02-06 13:42  markus
+
+	* visualization/nviz/src/nvizMain.c: fixed include path
+
+2002-02-05 23:14  radim
+
+	* tools/link.conf: nviz/bitmaps
+
+2002-02-05 23:11  radim
+
+	* visualization/nviz/bitmaps, visualization/nviz/bitmaps/down,
+	  visualization/nviz/bitmaps/left,
+	  visualization/nviz/bitmaps/right,
+	  visualization/nviz/bitmaps/slow_left,
+	  visualization/nviz/bitmaps/slow_right,
+	  visualization/nviz/bitmaps/stop,
+	  visualization/nviz/bitmaps/trash, visualization/nviz/bitmaps/up:
+	  nviz
+
+2002-02-05 22:58  radim
+
+	* lib/linkm/Makefile: nviz
+
+2002-02-05 22:54  radim
+
+	* visualization/nviz/Makefile: better, not best
+
+2002-02-05 22:48  radim
+
+	* Makefile: rm scripts
+
+2002-02-05 21:51  radim
+
+	* Makefile, include/Make/Grass.make, lib/Makefile,
+	  lib/bitmap/Makefile, lib/datetime/Makefile, lib/image/Makefile,
+	  lib/ogsf/Gv3.c, lib/ogsf/Makefile, lib/ogsf/gvd.c,
+	  tools/link.conf, visualization/Makefile,
+	  visualization/nviz/Makefile, visualization/nviz/doconfigure,
+	  visualization/nviz/scripts/filemapBrowser.tcl,
+	  visualization/nviz/scripts/mapBrowser.tcl,
+	  visualization/nviz/scripts/multimapBrowser.tcl,
+	  visualization/nviz/src/Makefile.in,
+	  visualization/nviz/src/nviz_init.c: nviz
+
+2002-02-05 10:47  markus
+
+	* doc/vector/v.modules.html, doc/vector/vector.html: updated
+	  Radim's mailto
+
+2002-02-05 10:45  markus
+
+	* COPYING: GPL added
+
+2002-02-04 23:25  glynn
+
+	* raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/expression.h, raster/r.mapcalc/main.c,
+	  raster/r.mapcalc/map.c, raster/r.mapcalc/mapcalc.h,
+	  raster/r.mapcalc/mapcalc.l, raster/r.mapcalc/mapcalc.y: Fix
+	  various bugs
+	  Allow expression to be read from stdin
+	  Support multiple expressions
+	  Revert "#map" behaviour to original (but probably incorrect)
+	  R/G/B weights
+	  Add addtional "y#map" and "i#map" grey-scale operators (NTSC and
+	  equal weights)
+	  Support CELL/FCELL/DCELL output maps (DCELL was previously
+	  missing)
+	  Add single-precision FP ("float") constants (using ANSI-C
+	  notation, e.g. "1.0f")
+	  Change name of executable (in Gmakefile) to "r.mapcalc3"
+
+2002-01-31 16:18  glynn
+
+	* display/drivers/XDRIVER/XDRIVER24/Client.c,
+	  display/drivers/XDRIVER/XDRIVER24/local_vars.h: Sync with release
+	  branch
+
+2002-01-30 18:25  glynn
+
+	* raster/r.mapcalc, raster/r.mapcalc/check.c,
+	  raster/r.mapcalc/evaluate.c, raster/r.mapcalc/expression.c,
+	  raster/r.mapcalc/expression.h, raster/r.mapcalc/func_proto.h,
+	  raster/r.mapcalc/function.c, raster/r.mapcalc/globals.h,
+	  raster/r.mapcalc/main.c, raster/r.mapcalc/map.c,
+	  raster/r.mapcalc/mapcalc.h, raster/r.mapcalc/mapcalc.l,
+	  raster/r.mapcalc/mapcalc.y, raster/r.mapcalc/xabs.c,
+	  raster/r.mapcalc/xadd.c, raster/r.mapcalc/xand.c,
+	  raster/r.mapcalc/xatan.c, raster/r.mapcalc/xcoor.c,
+	  raster/r.mapcalc/xcos.c, raster/r.mapcalc/xdiv.c,
+	  raster/r.mapcalc/xdouble.c, raster/r.mapcalc/xeq.c,
+	  raster/r.mapcalc/xeval.c, raster/r.mapcalc/xexp.c,
+	  raster/r.mapcalc/xfloat.c, raster/r.mapcalc/xge.c,
+	  raster/r.mapcalc/xgt.c, raster/r.mapcalc/xif.c,
+	  raster/r.mapcalc/xint.c, raster/r.mapcalc/xisnull.c,
+	  raster/r.mapcalc/xle.c, raster/r.mapcalc/xlog.c,
+	  raster/r.mapcalc/xlt.c, raster/r.mapcalc/xmax.c,
+	  raster/r.mapcalc/xmedian.c, raster/r.mapcalc/xmin.c,
+	  raster/r.mapcalc/xmod.c, raster/r.mapcalc/xmode.c,
+	  raster/r.mapcalc/xmul.c, raster/r.mapcalc/xne.c,
+	  raster/r.mapcalc/xneg.c, raster/r.mapcalc/xnot.c,
+	  raster/r.mapcalc/xnull.c, raster/r.mapcalc/xor.c,
+	  raster/r.mapcalc/xpow.c, raster/r.mapcalc/xrand.c,
+	  raster/r.mapcalc/xres.c, raster/r.mapcalc/xround.c,
+	  raster/r.mapcalc/xrowcol.c, raster/r.mapcalc/xsin.c,
+	  raster/r.mapcalc/xsqrt.c, raster/r.mapcalc/xsub.c,
+	  raster/r.mapcalc/xtan.c: New version of r.mapcalc
+
+2002-01-29 20:31  glynn
+
+	* lib/raster/io.c, lib/raster/lists.c: Sync to release branch
+
+2002-01-29 04:20  glynn
+
+	* display/drivers/XDRIVER/XDRIVER24/Work.c,
+	  display/drivers/lib/Work.c, display/drivers/lib/connect_sock.c,
+	  display/drivers/lib/main.c: Sync with release branch
+
+2002-01-28 18:17  radim
+
+	* db/base/db.attr: smaller window
+
+2002-01-28 18:15  radim
+
+	* display/Makefile, display/d.m, display/d.m/Makefile,
+	  display/d.m/d.m: d.m
+
+2002-01-28 02:43  eric
+
+	* lib/gis/plot.c: Added G_plot_area() to handle a set of rings.
+
+2002-01-27 22:35  radim
+
+	* display/d.vect/main.c, display/d.what.vect/main.c,
+	  vector/v.ascii/out.c, vector/v.build/main.c,
+	  vector/v.category/main.c, vector/v.convert/main.c: options
+
+2002-01-27 22:28  radim
+
+	* general/Makefile, general/g.mapsets/Makefile, tools/link.conf:
+	  g.mapset
+
+2002-01-27 22:23  radim
+
+	* lib/gis/parser.c: gui
+
+2002-01-27 22:15  radim
+
+	* CHANGES: gui
+
+2002-01-26 09:02  radim
+
+	* display/d.vect/area.c, display/d.vect/dir.c,
+	  display/d.vect/label.c, display/d.vect/local_proto.h,
+	  display/d.vect/main.c, display/d.vect/plot1.c: display empty list
+	  of cats fix
+
+2002-01-26 09:01  radim
+
+	* include/Vect.h: new functions
+
+2002-01-26 08:58  radim
+
+	* lib/vector/Vlib/build.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/close_shp.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open_shp.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_shp.c: shapefile improved
+
+2002-01-26 08:56  radim
+
+	* lib/vector/diglib/plus_line.c, lib/vector/diglib/plus_node.c,
+	  lib/vector/diglib/struct_alloc.c: alloc fix
+
+2002-01-25 14:05  markus
+
+	* raster/r.param.scale/CHANGES, raster/r.param.scale/param.c: fixes
+	  for curvature calculations, should be o.k. now, tested with
+	  hemisphere and other synthetic surfaces
+
+2002-01-25 11:07  markus
+
+	* README: removed my name
+
+2002-01-25 10:41  radim
+
+	* lib/gis/Makefile, lib/gis/error.c, lib/gis/icon.c: -
+
+2002-01-24 19:37  radim
+
+	* lib/external/bwidget/lang, lib/external/bwidget/lang/de.rc,
+	  lib/external/bwidget/lang/en.rc, lib/external/bwidget/lang/es.rc,
+	  lib/external/bwidget/lang/fr.rc: bwidget
+
+2002-01-24 19:30  radim
+
+	* lib/external/bwidget/images,
+	  lib/external/bwidget/images/bold.gif,
+	  lib/external/bwidget/images/copy.gif,
+	  lib/external/bwidget/images/cut.gif,
+	  lib/external/bwidget/images/dragfile.gif,
+	  lib/external/bwidget/images/dragicon.gif,
+	  lib/external/bwidget/images/error.gif,
+	  lib/external/bwidget/images/file.gif,
+	  lib/external/bwidget/images/folder.gif,
+	  lib/external/bwidget/images/hourglass.gif,
+	  lib/external/bwidget/images/info.gif,
+	  lib/external/bwidget/images/italic.gif,
+	  lib/external/bwidget/images/minus.xbm,
+	  lib/external/bwidget/images/new.gif,
+	  lib/external/bwidget/images/opcopy.xbm,
+	  lib/external/bwidget/images/open.gif,
+	  lib/external/bwidget/images/openfold.gif,
+	  lib/external/bwidget/images/oplink.xbm,
+	  lib/external/bwidget/images/opmove.xbm,
+	  lib/external/bwidget/images/overstrike.gif,
+	  lib/external/bwidget/images/palette.gif,
+	  lib/external/bwidget/images/passwd.gif,
+	  lib/external/bwidget/images/paste.gif,
+	  lib/external/bwidget/images/plus.xbm,
+	  lib/external/bwidget/images/print.gif,
+	  lib/external/bwidget/images/question.gif,
+	  lib/external/bwidget/images/save.gif,
+	  lib/external/bwidget/images/underline.gif,
+	  lib/external/bwidget/images/undo.gif,
+	  lib/external/bwidget/images/warning.gif: bwidget
+
+2002-01-24 19:25  radim
+
+	* lib/external/bwidget, lib/external/bwidget/CHANGES.txt,
+	  lib/external/bwidget/LGPL.txt, lib/external/bwidget/LICENSE.txt,
+	  lib/external/bwidget/Makefile, lib/external/bwidget/README,
+	  lib/external/bwidget/README.grass,
+	  lib/external/bwidget/arrow.tcl, lib/external/bwidget/bitmap.tcl,
+	  lib/external/bwidget/button.tcl,
+	  lib/external/bwidget/buttonbox.tcl,
+	  lib/external/bwidget/color.tcl,
+	  lib/external/bwidget/combobox.tcl,
+	  lib/external/bwidget/dialog.tcl,
+	  lib/external/bwidget/dragsite.tcl,
+	  lib/external/bwidget/dropsite.tcl,
+	  lib/external/bwidget/dynhelp.tcl, lib/external/bwidget/entry.tcl,
+	  lib/external/bwidget/font.tcl, lib/external/bwidget/init.tcl,
+	  lib/external/bwidget/label.tcl,
+	  lib/external/bwidget/labelentry.tcl,
+	  lib/external/bwidget/labelframe.tcl,
+	  lib/external/bwidget/listbox.tcl,
+	  lib/external/bwidget/mainframe.tcl,
+	  lib/external/bwidget/messagedlg.tcl,
+	  lib/external/bwidget/notebook.tcl,
+	  lib/external/bwidget/pagesmgr.tcl,
+	  lib/external/bwidget/panedw.tcl,
+	  lib/external/bwidget/passwddlg.tcl,
+	  lib/external/bwidget/pkgIndex.tcl,
+	  lib/external/bwidget/progressbar.tcl,
+	  lib/external/bwidget/progressdlg.tcl,
+	  lib/external/bwidget/scrollframe.tcl,
+	  lib/external/bwidget/scrollview.tcl,
+	  lib/external/bwidget/scrollw.tcl,
+	  lib/external/bwidget/separator.tcl,
+	  lib/external/bwidget/spinbox.tcl,
+	  lib/external/bwidget/titleframe.tcl,
+	  lib/external/bwidget/tree.tcl, lib/external/bwidget/utils.tcl,
+	  lib/external/bwidget/widget.tcl,
+	  lib/external/bwidget/xpm2image.tcl: bwidget
+
+2002-01-24 18:56  radim
+
+	* lib/external/Makefile: bwidget
+
+2002-01-24 18:56  radim
+
+	* db/Makefile, db/base, db/base/Makefile, db/base/codes.h,
+	  db/base/columns.c, db/base/connect.c, db/base/createdb.c,
+	  db/base/databases.c, db/base/db.attr, db/base/describe.c,
+	  db/base/drivers.c, db/base/dropdb.c, db/base/droptable.c,
+	  db/base/execute.c, db/base/printtab.c, db/base/select.c,
+	  db/base/tables.c: basic modules
+
+2002-01-24 18:54  radim
+
+	* db/drivers/dbf/db.c: db name fix
+
+2002-01-24 18:53  radim
+
+	* display/d.what.vect, display/d.what.vect/Makefile,
+	  display/d.what.vect/attr.c, display/d.what.vect/main.c,
+	  display/d.what.vect/openvect.c, display/d.what.vect/what.c,
+	  display/d.what.vect/what.h: new
+
+2002-01-24 18:52  radim
+
+	* display/drivers/XDRIVER/XDRIVER24/Makefile,
+	  display/drivers/lib/Makefile, display/drivers/lib/graph.h: -
+
+2002-01-24 18:46  radim
+
+	* display/drivers/Makefile: + lib
+
+2002-01-24 18:40  radim
+
+	* display/d.mon/pgms/Makefile: -
+
+2002-01-24 18:37  radim
+
+	* display/d.vect/area.c, display/d.vect/dir.c,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot.h, display/d.vect/topo.c: new options, level2
+
+2002-01-24 18:36  radim
+
+	* display/Makefile: d.what.vect
+
+2002-01-24 18:35  radim
+
+	* CHANGES: icon
+
+2002-01-24 18:33  radim
+
+	* Makefile: clean bwidget
+
+2002-01-24 18:32  radim
+
+	* vector/v.ascii/in.c, vector/v.build, vector/v.build/Makefile,
+	  vector/v.build/main.c, vector/v.convert/old2new.c,
+	  vector/v.convert/read.c: build topo
+
+2002-01-24 18:28  radim
+
+	* vector/Makefile: + v.build
+
+2002-01-24 18:27  radim
+
+	* lib/vector/diglib/Makefile, lib/vector/diglib/angle.c,
+	  lib/vector/diglib/area.c, lib/vector/diglib/bound_box.c,
+	  lib/vector/diglib/calc_angl.c, lib/vector/diglib/check_node.c,
+	  lib/vector/diglib/chk_inside.c, lib/vector/diglib/clock.c,
+	  lib/vector/diglib/cont_lines.c, lib/vector/diglib/debugf.c,
+	  lib/vector/diglib/debugf.h, lib/vector/diglib/file_checks.c,
+	  lib/vector/diglib/find_area.c, lib/vector/diglib/format.c,
+	  lib/vector/diglib/inside.c, lib/vector/diglib/isle.c,
+	  lib/vector/diglib/line_dist.c, lib/vector/diglib/load_plus.c,
+	  lib/vector/diglib/map_to_head.c, lib/vector/diglib/memory_io.c,
+	  lib/vector/diglib/node_op.c, lib/vector/diglib/plus.c,
+	  lib/vector/diglib/plus_area.c, lib/vector/diglib/plus_line.c,
+	  lib/vector/diglib/plus_node.c, lib/vector/diglib/plus_struct.c,
+	  lib/vector/diglib/point_t_area.c,
+	  lib/vector/diglib/point_t_line.c, lib/vector/diglib/poly.c,
+	  lib/vector/diglib/portable.c, lib/vector/diglib/struct_alloc.c,
+	  lib/vector/diglib/struct_copy.c, lib/vector/diglib/struct_io.c,
+	  lib/vector/diglib/test.c, lib/vector/diglib/unit_conv.c,
+	  lib/vector/diglib/write_file.c, lib/vector/diglib/x_struct_io.c:
+	  -
+
+2002-01-24 18:18  radim
+
+	* include/Vect.h, include/gis.h, include/gisdefs.h,
+	  include/vect/dig_defines.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h, include/vect/digit.h,
+	  lib/vector/Vlib/area.c, lib/vector/Vlib/build.c,
+	  lib/vector/Vlib/close_nat.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/find.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/read.c, lib/vector/Vlib/read_nat.c,
+	  lib/vector/Vlib/read_post.c, lib/vector/Vlib/read_shp.c,
+	  lib/vector/Vlib/tin.c, lib/vector/Vlib/write_nat.c: -
+
+2002-01-24 18:13  radim
+
+	* include/vect/dig_head.h: merged to dig_structs.h
+
+2002-01-24 18:11  radim
+
+	* include/Make/Grass.make: removed dig_head.h
+
+2002-01-24 18:03  radim
+
+	* tools/link.conf: update for merged version
+
+2002-01-24 17:43  radim
+
+	* CHANGES, INSTALL: more info
+
+2002-01-22 12:01  glynn
+
+	* lib/gis/alloc.c: Change 'char *' to 'void *' in definition of
+	  G_malloc() etc
+
+2002-01-22 07:34  glynn
+
+	* imagery/i.rectify/exec.c, imagery/i.rectify/main.c,
+	  imagery/i.vpoints/graphics.c, raster/r.circle/dist.c,
+	  raster/r.composite/main.c, raster/r.param.scale/CHANGES,
+	  raster/r.param.scale/feature.c,
+	  raster/r.param.scale/find_normal.c,
+	  raster/r.param.scale/interface.c,
+	  raster/r.param.scale/open_files.c, raster/r.param.scale/param.c,
+	  raster/r.param.scale/param.h, raster/r.param.scale/process.c,
+	  raster/r.param.scale/write_cats.c, raster/r.slope.aspect/main.c:
+	  Merge in changes since previous merge (2002-01-17)
+
+2002-01-22 04:51  glynn
+
+	* display/d.barscale/draw_scale.c, display/d.colorlist/main.c,
+	  display/d.colors/colors.h, display/d.colors/curses.c,
+	  display/d.colors/main.c, display/d.erase/main.c,
+	  display/d.font/main.c, display/d.frame/frame.c,
+	  display/d.frame/list.c, display/d.geodesic/plot.c,
+	  display/d.graph/main.c, display/d.grid/main.c,
+	  display/d.his/his.c, display/d.his/his.h, display/d.his/main.c,
+	  display/d.legend/README, display/d.legend/box.c,
+	  display/d.legend/local_proto.h, display/d.legend/main.c,
+	  display/d.linegraph/linegraph.c, display/d.mapgraph/main.c,
+	  display/d.measure/draw_line.c, display/d.measure/local_proto.h,
+	  display/d.measure/main.c, display/d.measure/msurements.c,
+	  display/d.mon/pgms/start.c, display/d.mon/pgms/status.c,
+	  display/d.profile/PlotProfile.c, display/d.profile/What.c,
+	  display/d.profile/bnw_line.c, display/d.profile/main.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.edit/draw_grid.c,
+	  display/d.rast.num/number.c, display/d.rast/display.c,
+	  display/d.rast/main.c, display/d.rgb, display/d.rgb/main.c,
+	  display/d.rhumbline/plot.c, display/d.save/main.c,
+	  display/d.text.freetype, display/d.text.freetype/README,
+	  display/d.text.freetype/main.c, display/d.text/main.c,
+	  display/d.title/main.c, display/d.what.rast/main.c,
+	  display/d.where/b_w_line.c, display/d.where/local_proto.h,
+	  display/d.where/main.c, display/d.where/where.c,
+	  display/d.zoom/ask.c, display/d.zoom/box.c,
+	  display/d.zoom/center.c, display/d.zoom/redraw.c,
+	  display/drivers/HTMLMAP/Graph_Clse.c,
+	  display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/local_proto.h,
+	  display/drivers/HTMLMAP/moncap.entry,
+	  display/drivers/PNG/Can_do.c, display/drivers/PNG/Clr_table.c,
+	  display/drivers/PNG/Color.c, display/drivers/PNG/Graph_Clse.c,
+	  display/drivers/PNG/Graph_Set.c,
+	  display/drivers/PNG/moncap.entry,
+	  display/drivers/XDRIVER/XDRIVER24/Box_abs.c,
+	  display/drivers/XDRIVER/XDRIVER24/Can_do.c,
+	  display/drivers/XDRIVER/XDRIVER24/Client.c,
+	  display/drivers/XDRIVER/XDRIVER24/Clr_table.c,
+	  display/drivers/XDRIVER/XDRIVER24/Color.c,
+	  display/drivers/XDRIVER/XDRIVER24/Draw_line.c,
+	  display/drivers/XDRIVER/XDRIVER24/Graph_Clse.c,
+	  display/drivers/XDRIVER/XDRIVER24/Panel.c,
+	  display/drivers/XDRIVER/XDRIVER24/Plylne_abs.c,
+	  display/drivers/XDRIVER/XDRIVER24/Polygn_abs.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster_RGB.c,
+	  display/drivers/XDRIVER/XDRIVER24/Respond.c,
+	  display/drivers/XDRIVER/XDRIVER24/Work.c,
+	  display/drivers/XDRIVER/XDRIVER24/XDRIVER.h,
+	  display/drivers/XDRIVER/XDRIVER24/includes.h,
+	  display/drivers/XDRIVER/XDRIVER24/local_proto.h,
+	  display/drivers/XDRIVER/XDRIVER24/local_vars.h,
+	  display/drivers/lib/Box_abs.c, display/drivers/lib/Client.c,
+	  display/drivers/lib/Clr_table.c, display/drivers/lib/Color.c,
+	  display/drivers/lib/Num_colors.c,
+	  display/drivers/lib/Polygn_rel.c, display/drivers/lib/RGB.c,
+	  display/drivers/lib/Raster_def.c, display/drivers/lib/Respond.c,
+	  display/drivers/lib/Returns.c, display/drivers/lib/Text2.c,
+	  display/drivers/lib/Work.c, display/drivers/lib/color_supp.c,
+	  display/drivers/lib/connect_fifo.c,
+	  display/drivers/lib/connect_sock.c, display/drivers/lib/main.c,
+	  display/drivers/lib/pad.c, display/drivers/lib/pad.h,
+	  display/drivers/lib/utils.c, display/drivers/lib/utils.h,
+	  display/drivers/monitorcap/monitorcap, general/g.ask/main.c,
+	  general/g.filename/main.c, general/g.findfile/main.c,
+	  general/g.parser, general/g.parser/main.c,
+	  general/g.region/cmd/local_proto.h,
+	  general/g.region/cmd/printwindow.c, general/g.setproj/get_stp.c,
+	  general/g.version/main.c, imagery/i.ask/popup.c,
+	  imagery/i.cca/local_proto.h, imagery/i.cca/main.c,
+	  imagery/i.cca/transform.c, imagery/i.class/curses.c,
+	  imagery/i.class/draw_reg.c, imagery/i.class/local_proto.h,
+	  imagery/i.class/main.c, imagery/i.class/signature.c,
+	  imagery/i.fft/fftmain.c, imagery/i.fft/local_proto.h,
+	  imagery/i.gensigset/subcluster.c, imagery/i.group,
+	  imagery/i.group/local_proto.h, imagery/i.group/main.c,
+	  imagery/i.his.rgb/h2rmain.c, imagery/i.ifft/ifftmain.c,
+	  imagery/i.ifft/local_proto.h, imagery/i.maxlik/main.c,
+	  imagery/i.ortho.photo/libes/ls_cameras.c,
+	  imagery/i.ortho.photo/libes/ls_elev.c,
+	  imagery/i.ortho.photo/photo.2image/curses.c,
+	  imagery/i.ortho.photo/photo.2image/globals.h,
+	  imagery/i.ortho.photo/photo.2image/group.c,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2target/curses.c,
+	  imagery/i.ortho.photo/photo.2target/group.c,
+	  imagery/i.ortho.photo/photo.2target/input.c,
+	  imagery/i.ortho.photo/photo.2target/local_proto.h,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.rectify/README,
+	  imagery/i.ortho.photo/photo.rectify/exec.c,
+	  imagery/i.ortho.photo/photo.rectify/global.h,
+	  imagery/i.ortho.photo/photo.rectify/local_proto.h,
+	  imagery/i.ortho.photo/photo.rectify/matrix.c,
+	  imagery/i.ortho.photo/photo.rectify/perform.c,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c,
+	  imagery/i.ortho.photo/photo.rectify/write.c,
+	  imagery/i.pca/main.c, imagery/i.points/curses.c,
+	  imagery/i.points/group.c, imagery/i.points/local_proto.h,
+	  imagery/i.points/main.c, imagery/i.rectify,
+	  imagery/i.rectify/README, imagery/i.rectify/compress.c,
+	  imagery/i.rectify/cp.c, imagery/i.rectify/crs.c,
+	  imagery/i.rectify/crs.h, imagery/i.rectify/env.c,
+	  imagery/i.rectify/exec.c, imagery/i.rectify/get_wind.c,
+	  imagery/i.rectify/global.h, imagery/i.rectify/mail.c,
+	  imagery/i.rectify/main.c, imagery/i.rectify/matrix.c,
+	  imagery/i.rectify/perform.c, imagery/i.rectify/rectify.c,
+	  imagery/i.rectify/report.c, imagery/i.rectify/rowcol.h,
+	  imagery/i.rectify/target.c, imagery/i.rectify/write.c,
+	  imagery/i.rgb.his/r2hmain.c, imagery/i.smap/shapiro/write_img.c,
+	  imagery/i.target, imagery/i.target/local_proto.h,
+	  imagery/i.target/main.c, imagery/i.vpoints/curses.c,
+	  imagery/i.vpoints/globals.h, imagery/i.vpoints/group.c,
+	  imagery/i.zc/main.c, include/colors.h, include/display.h,
+	  include/gmath.h, include/imagery.h, include/la.h, include/vask.h,
+	  lib/D/Derase.c, lib/D/Dnew.c, lib/D/Dremove.c, lib/bitmap/main.c,
+	  lib/bitmap/smain.c, lib/datetime/diff.c, lib/datetime/scan.c,
+	  lib/db/stubs/add_col.c, lib/db/stubs/bindupdate.c,
+	  lib/db/stubs/close_cursor.c, lib/db/stubs/closedb.c,
+	  lib/db/stubs/create_index.c, lib/db/stubs/create_table.c,
+	  lib/db/stubs/createdb.c, lib/db/stubs/delete.c,
+	  lib/db/stubs/deletedb.c, lib/db/stubs/desc_table.c,
+	  lib/db/stubs/drop_col.c, lib/db/stubs/drop_index.c,
+	  lib/db/stubs/drop_table.c, lib/db/stubs/fetch.c,
+	  lib/db/stubs/finddb.c, lib/db/stubs/finish.c,
+	  lib/db/stubs/init.c, lib/db/stubs/insert.c,
+	  lib/db/stubs/list_index.c, lib/db/stubs/list_tables.c,
+	  lib/db/stubs/listdb.c, lib/db/stubs/open_insert.c,
+	  lib/db/stubs/open_select.c, lib/db/stubs/open_update.c,
+	  lib/db/stubs/opendb.c, lib/db/stubs/update.c,
+	  lib/display/cnversions.c, lib/display/list.c,
+	  lib/display/popup.c, lib/display/raster.c, lib/display/raster2.c,
+	  lib/display/raster_rgb.c, lib/display/tran_colr.c,
+	  lib/fonts/fonts/README, lib/fonts/for_grass/fontmap.c,
+	  lib/gis/G.h, lib/gis/cats.c, lib/gis/color_hist.c,
+	  lib/gis/color_look.c, lib/gis/color_org.c, lib/gis/color_read.c,
+	  lib/gis/dig_title.c, lib/gis/done_msg.c,
+	  lib/gis/get_datum_name.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_projname.c, lib/gis/get_row.c,
+	  lib/gis/get_row_colr.c, lib/gis/get_window.c, lib/gis/gishelp.c,
+	  lib/gis/histogram.c, lib/gis/home.c, lib/gis/list.c,
+	  lib/gis/ll_format.c, lib/gis/mapset.c, lib/gis/named_colr.c,
+	  lib/gis/nme_in_mps.c, lib/gis/null_val.c, lib/gis/open.c,
+	  lib/gis/opencell.c, lib/gis/percent.c, lib/gis/plot.c,
+	  lib/gis/readsites.c, lib/gis/set_prior.c, lib/gis/set_window.c,
+	  lib/gis/sites_title.c, lib/gis/strings.c, lib/gis/strip.c,
+	  lib/gmath/DEPEND, lib/gmath/README, lib/gmath/TODO,
+	  lib/gmath/eigen.c, lib/gmath/fft.c, lib/gmath/gauss.c,
+	  lib/gmath/getg.c, lib/gmath/jacobi.c, lib/gmath/la.c,
+	  lib/gmath/local_proto.h, lib/gmath/max_pow2.c, lib/gmath/mult.c,
+	  lib/gmath/numerical.h, lib/gmath/rand1.c, lib/imagery/ask.c,
+	  lib/imagery/ask_colors.c, lib/imagery/group.c,
+	  lib/imagery/ls_groups.c, lib/imagery/proj.c,
+	  lib/imagery/v_exec.c, lib/init/clean_temp.c, lib/init/echo.c,
+	  lib/init/grass_intro.txt, lib/init/lock.c, lib/init/run.c,
+	  lib/linkm/oom.c, lib/ogsf/Gs3.c, lib/ogsf/gs_bm.c,
+	  lib/ogsf/gs_norms.c, lib/ogsf/gsd_prim.c, lib/ogsf/gsd_views.c,
+	  lib/raster/io.c, lib/raster/item_appnd.c,
+	  lib/rst/data/dataquad.c, lib/rst/interp_float/interp2d.c,
+	  lib/rst/interp_float/matrix.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/point2d.c, lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/segmen2d.c, lib/vask/README,
+	  lib/vask/V_call.c, lib/vask/V_exit.c, lib/vask/V_init.c,
+	  lib/vask/V_support.c, raster/r.basins.fill/main.c,
+	  raster/r.buffer/init.c, raster/r.buffer/local_proto.h,
+	  raster/r.buffer/main.c, raster/r.buffer/parse_dist.c,
+	  raster/r.buffer/support.c, raster/r.buffer/write_map.c,
+	  raster/r.cats/main.c, raster/r.circle/dist.c,
+	  raster/r.clump/clump.c, raster/r.clump/main.c,
+	  raster/r.coin/inter.c, raster/r.colors/eq.c,
+	  raster/r.colors/local_proto.h, raster/r.colors/log.c,
+	  raster/r.colors/main.c, raster/r.colors/rules.c,
+	  raster/r.composite, raster/r.composite/main.c,
+	  raster/r.compress/main.c, raster/r.cost/memory.c,
+	  raster/r.cross/cross.c, raster/r.cross/main.c,
+	  raster/r.cross/renumber.c, raster/r.describe/main.c,
+	  raster/r.digit/TODO, raster/r.distance/edges.c,
+	  raster/r.distance/main.c, raster/r.drain, raster/r.drain/README,
+	  raster/r.drain/filldir.c, raster/r.drain/local.h,
+	  raster/r.drain/main.c, raster/r.drain/resolve.c,
+	  raster/r.drain/tinf.c, raster/r.drain/tinf.h,
+	  raster/r.fill.dir/README, raster/r.fill.dir/dopolys.c,
+	  raster/r.fill.dir/filldir.c, raster/r.fill.dir/local.h,
+	  raster/r.fill.dir/main.c, raster/r.fill.dir/ppupdate.c,
+	  raster/r.fill.dir/resolve.c, raster/r.fill.dir/tinf.c,
+	  raster/r.fill.dir/tinf.h, raster/r.fill.dir/wtrshed.c,
+	  raster/r.grow/main.c, raster/r.his, raster/r.his/his.c,
+	  raster/r.his/his.h, raster/r.his/main.c,
+	  raster/r.in.arc/gethead.c, raster/r.in.ascii/gethead.c,
+	  raster/r.in.ascii/main.c, raster/r.in.bin/main.c,
+	  raster/r.in.gridatb/main.c, raster/r.in.poly/raster.c,
+	  raster/r.info/main.c, raster/r.kappa/main.c, raster/r.le,
+	  raster/r.le/r.le.patch, raster/r.le/r.le.patch/driver.c,
+	  raster/r.le/r.le.patch/input.c, raster/r.le/r.le.patch/main.c,
+	  raster/r.le/r.le.patch/patch.c, raster/r.le/r.le.patch/patch.h,
+	  raster/r.le/r.le.patch/trace.c, raster/r.le/r.le.pixel,
+	  raster/r.le/r.le.pixel/cellclip.c,
+	  raster/r.le/r.le.pixel/driver.c, raster/r.le/r.le.pixel/input.c,
+	  raster/r.le/r.le.pixel/main.c, raster/r.le/r.le.pixel/pixel.h,
+	  raster/r.le/r.le.pixel/texture.c, raster/r.le/r.le.setup,
+	  raster/r.le/r.le.setup/ask_group.c,
+	  raster/r.le/r.le.setup/colors.h, raster/r.le/r.le.setup/main.c,
+	  raster/r.le/r.le.setup/mv_wind.c,
+	  raster/r.le/r.le.setup/polytocell,
+	  raster/r.le/r.le.setup/polytocell/bmf.b,
+	  raster/r.le/r.le.setup/polytocell/bmf_to_cll.c,
+	  raster/r.le/r.le.setup/polytocell/do_dots.c,
+	  raster/r.le/r.le.setup/polytocell/do_line.c,
+	  raster/r.le/r.le.setup/polytocell/find_area.c,
+	  raster/r.le/r.le.setup/polytocell/ply_t_bmif.c,
+	  raster/r.le/r.le.setup/polytocell/ply_to_cll.h,
+	  raster/r.le/r.le.setup/polytocell/save_area.c,
+	  raster/r.le/r.le.setup/polytocell/wrte_recrd.c,
+	  raster/r.le/r.le.setup/polytocell/yadjust.c,
+	  raster/r.le/r.le.setup/sample.c, raster/r.le/r.le.setup/setup.c,
+	  raster/r.le/r.le.setup/setup.h,
+	  raster/r.le/r.le.setup/user_input.c, raster/r.le/r.le.trace,
+	  raster/r.le/r.le.trace/main.c,
+	  raster/r.le/r.le.trace/r.le.trace.h,
+	  raster/r.le/r.le.trace/user_input.c, raster/r.los/main.c,
+	  raster/r.mfilter/TODO, raster/r.mfilter/main.c,
+	  raster/r.mfilter/perform.c, raster/r.neighbors/sort_cell.c,
+	  raster/r.null/null.c, raster/r.out.arc/main.c,
+	  raster/r.out.ascii/main.c, raster/r.out.bin/main.c,
+	  raster/r.out.gridatb/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.mpeg/rom_proto.h, raster/r.out.mpeg/write.c,
+	  raster/r.out.png/pngfunc.h, raster/r.out.pov/main.c,
+	  raster/r.out.ppm3, raster/r.out.ppm3/main.c,
+	  raster/r.out.tiff/r.out.tiff.c, raster/r.param.scale,
+	  raster/r.param.scale/CHANGES, raster/r.param.scale/README,
+	  raster/r.param.scale/close_down.c, raster/r.param.scale/cols.sh,
+	  raster/r.param.scale/disp_matrix.c,
+	  raster/r.param.scale/feature.c,
+	  raster/r.param.scale/features.pal,
+	  raster/r.param.scale/find_normal.c,
+	  raster/r.param.scale/interface.c, raster/r.param.scale/main.c,
+	  raster/r.param.scale/nrutil.c, raster/r.param.scale/nrutil.h,
+	  raster/r.param.scale/open_files.c, raster/r.param.scale/param.c,
+	  raster/r.param.scale/param.h, raster/r.param.scale/param.sh,
+	  raster/r.param.scale/process.c,
+	  raster/r.param.scale/write_cats.c,
+	  raster/r.param.scale/write_cols.c, raster/r.patch/main.c,
+	  raster/r.profile/main.c, raster/r.proj/bilinear.c,
+	  raster/r.proj/cubic.c, raster/r.proj/main.c,
+	  raster/r.proj/nearest.c, raster/r.random.cells/indep.c,
+	  raster/r.random.cells/main.c, raster/r.random.surface/init.c,
+	  raster/r.random.surface/save.c, raster/r.reclass/main.c,
+	  raster/r.reclass/parse.c, raster/r.recode/global.h,
+	  raster/r.recode/main.c, raster/r.recode/read_rules.c,
+	  raster/r.recode/recode.c, raster/r.report/header.c,
+	  raster/r.report/main.c, raster/r.resamp.rst/main.c,
+	  raster/r.resample/main.c, raster/r.rescale.eq/TODO,
+	  raster/r.rescale.eq/main.c, raster/r.rescale/main.c,
+	  raster/r.slope.aspect/main.c, raster/r.stats/cell_stats.c,
+	  raster/r.stats/global.h, raster/r.stats/main.c,
+	  raster/r.stats/raw_stats.c, raster/r.stats/stats.c,
+	  raster/r.sunmask/README, raster/r.sunmask/g_solposition.c,
+	  raster/r.sunmask/global.h, raster/r.sunmask/main.c,
+	  raster/r.sunmask/solpos00.c, raster/r.sunmask/solpos00.h,
+	  raster/r.surf.area/main.c, raster/r.surf.contour/bseg_write.c,
+	  raster/r.surf.contour/cseg_write.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.fractal/interface.c,
+	  raster/r.surf.fractal/write_rast.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.thin/io.c,
+	  raster/r.thin/main.c, raster/r.timestamp/main.c,
+	  raster/r.topidx/file_io.c, raster/r.topidx/local_proto.h,
+	  raster/r.topidx/main.c, raster/r.topidx/topidx.c,
+	  raster/r.topmodel/main.c, raster/r.transect/main.c,
+	  raster/r.water.outlet/main.c, raster/r.watershed/front/main.c,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/dseg_write.c, raster/r.what/main.c,
+	  raster/wildfire/r.ros/main.c, raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/ram2out.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster/wildfire/r.spreadpath/stash.h, scripts/g.mlist/README,
+	  vector/v.vol.rst, vector/v.vol.rst/README,
+	  vector/v.vol.rst/Viz.h, vector/v.vol.rst/dataoct.c,
+	  vector/v.vol.rst/dataoct.h, vector/v.vol.rst/externs.h,
+	  vector/v.vol.rst/oct.c, vector/v.vol.rst/oct.h,
+	  vector/v.vol.rst/surf.h, vector/v.vol.rst/user.h,
+	  vector/v.vol.rst/user1.c, vector/v.vol.rst/user2.c,
+	  vector/v.vol.rst/user3.c, vector/v.vol.rst/user4.c,
+	  vector/v.vol.rst/userextern.h, vector/v.vol.rst/userglobs.h,
+	  visualization/nviz/scripts/attPopup.tcl,
+	  visualization/nviz/scripts/fileBrowser.tcl,
+	  visualization/nviz/scripts/nviz,
+	  visualization/nviz/scripts/nviz2.2,
+	  visualization/nviz/scripts/nviz_init.tcl,
+	  visualization/nviz/scripts/panel_lights.tcl,
+	  visualization/nviz/scripts/panel_surf.tcl,
+	  visualization/nviz/scripts/script_file_tools,
+	  visualization/nviz/scripts/script_get_line,
+	  visualization/nviz/scripts/script_play,
+	  visualization/nviz/scripts/script_support.tcl,
+	  visualization/nviz/scripts/script_tools,
+	  visualization/nviz/src/change_view.c,
+	  visualization/nviz/src/do_zoom.c, visualization/nviz/src/label.c,
+	  visualization/nviz/src/lights.c,
+	  visualization/nviz/src/mkdspf_calc_linefax.c,
+	  visualization/nviz/src/tkFont.h, visualization/nviz/src/tkInt.h,
+	  visualization/nviz/src/tkInt4.0.h,
+	  visualization/nviz/src/tkInt4.1.h,
+	  visualization/nviz/src/tkInt4.2.h,
+	  visualization/nviz/src/tkInt8.1.1.h,
+	  visualization/nviz/src/tkInt8.2.3.h,
+	  visualization/nviz/src/tkWin.h,
+	  visualization/nviz/src/tkWinInt.h,
+	  visualization/nviz/src/tkWinPort.h,
+	  visualization/nviz/src/togl.c, visualization/nviz/src/togl.h,
+	  visualization/xganim/Clr_table.c, visualization/xganim/gui.c,
+	  visualization/xganim/main.c: Merge
+	  releasebranch_11_april_2001_5_0_0 with HEAD
+
+2002-01-07 18:44  radim
+
+	* lib/db/sqlp/test/Makefile: make
+
+2002-01-07 18:39  markus
+
+	* lib/fonts/fonts/README.51: added readme
+
+2002-01-07 14:23  markus
+
+	* lib/db/sqlp/test/Makefile: added fake Makefile, please fix
+
+2002-01-07 14:16  markus
+
+	* display/drivers/Makefile: added new lib dir
+
+2002-01-07 14:12  markus
+
+	* include/Make/Grass.make: changed to January for amusement
+
+2002-01-07 14:00  markus
+
+	* display/d.mon/pgms/Makefile: ttyname.c doesn't exist any more
+
+2002-01-07 13:59  markus
+
+	* tools/link.conf: perfect, XDRIVER compiles now
+
+2002-01-07 13:54  markus
+
+	* display/drivers/lib/Makefile: added local installation with new
+	  Makefile
+
+2002-01-07 13:53  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Makefile: final fix, compiles
+	  now
+
+2002-01-07 13:45  markus
+
+	* display/drivers/XDRIVER/Makefile: removed unused lib/ subdir
+
+2002-01-07 13:39  markus
+
+	* display/drivers/XDRIVER/lib: removed oldish stuff
+
+2002-01-07 13:32  markus
+
+	* tools/link.conf: fixes to XDRIVER to reflect latest changes in
+	  stable release
+
+2002-01-07 13:00  markus
+
+	* include/gisdefs.h: added new protos from 5.0 file
+
+2002-01-06 18:57  radim
+
+	* INSTALL: make
+
+2002-01-06 18:44  radim
+
+	* lib/vector/Vlib/area.c, lib/vector/Vlib/cats.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/close_nat.c,
+	  lib/vector/Vlib/close_post.c, lib/vector/Vlib/close_shp.c,
+	  lib/vector/Vlib/constraint.c, lib/vector/Vlib/field.c,
+	  lib/vector/Vlib/header.c, lib/vector/Vlib/init_head.c,
+	  lib/vector/Vlib/level.c, lib/vector/Vlib/level_two.c,
+	  lib/vector/Vlib/line.c, lib/vector/Vlib/open.c,
+	  lib/vector/Vlib/open_nat.c, lib/vector/Vlib/open_post.c,
+	  lib/vector/Vlib/open_shp.c, lib/vector/Vlib/overlap.c,
+	  lib/vector/Vlib/poly.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read_nat.c, lib/vector/Vlib/read_post.c,
+	  lib/vector/Vlib/read_shp.c, lib/vector/Vlib/rewind.c,
+	  lib/vector/Vlib/rewind_nat.c, lib/vector/Vlib/rewind_post.c,
+	  lib/vector/Vlib/rewind_shp.c, lib/vector/Vlib/window.c,
+	  lib/vector/Vlib/write.c, lib/vector/Vlib/write_nat.c,
+	  lib/vector/Vlib/write_post.c: multiformat
+
+2002-01-06 18:42  radim
+
+	* lib/vector/Vlib/cats_struct.c, lib/vector/Vlib/get_area.c,
+	  lib/vector/Vlib/line_struct.c, lib/vector/Vlib/open1.c,
+	  lib/vector/Vlib/open2.c, lib/vector/Vlib/portable_io.c,
+	  lib/vector/Vlib/read1.c, lib/vector/Vlib/read2.c,
+	  lib/vector/Vlib/support.c, lib/vector/Vlib/x_point_io.c: renamed,
+	  removed
+
+2002-01-06 18:38  radim
+
+	* lib/vector/diglib/rw_ascii.c: threshold fix
+
+2002-01-06 18:38  radim
+
+	* lib/vector/diglib/frmt.c: reads frmt file
+
+2002-01-06 18:36  radim
+
+	* general/Makefile, general/g.gisenv, general/g.gisenv/Makefile,
+	  vector/Makefile, vector/v.ascii/Gmakefile,
+	  vector/v.ascii/Makefile, vector/v.category/Gmakefile,
+	  vector/v.category/Makefile, vector/v.convert/Gmakefile,
+	  vector/v.convert/Makefile: make
+
+2002-01-06 18:30  radim
+
+	* display/d.vect/plot1.c: do not display not labeled with cat=
+
+2002-01-06 18:29  radim
+
+	* display/d.vect/open.c: not used
+
+2002-01-06 18:26  radim
+
+	* display/Makefile, display/d.erase/Makefile,
+	  display/d.mon/Makefile, display/d.mon/cmd/Makefile,
+	  display/d.mon/pgms/Makefile, display/d.vect/Gmakefile,
+	  display/d.vect/Makefile, display/drivers/Makefile,
+	  display/drivers/XDRIVER/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/Makefile,
+	  display/drivers/XDRIVER/XDRIVER24/winname.h,
+	  display/drivers/XDRIVER/lib,
+	  display/drivers/XDRIVER/lib/Makefile,
+	  display/drivers/XDRIVER/lib/graph.h,
+	  display/drivers/monitorcap/Makefile, lib/vector/Vlib/Gmakefile,
+	  lib/vector/diglib/Gmakefile: make
+
+2002-01-06 18:16  radim
+
+	* lib/gis/find_vect.c: look for head
+
+2002-01-06 18:09  radim
+
+	* lib/db/dbmi/Gmakefile, lib/db/sqlp/Gmakefile,
+	  lib/db/sqlp/test/Gmakefile, lib/front.end/Makefile,
+	  lib/gis/Makefile, lib/gis/debug.c, lib/init/Makefile,
+	  lib/raster/Makefile, lib/vask/Makefile: make
+
+2002-01-06 18:00  radim
+
+	* lib/D/Makefile, lib/Makefile, lib/db/Makefile,
+	  lib/db/dbmi/Makefile, lib/db/sqlp/Makefile,
+	  lib/db/stubs/Makefile, lib/display/Makefile, lib/external,
+	  lib/external/Makefile, lib/external/shapelib,
+	  lib/external/shapelib/Makefile, lib/fonts/Makefile,
+	  lib/fonts/for_grass/Makefile, lib/vector/Makefile,
+	  lib/vector/Vlib/Makefile, lib/vector/diglib/Makefile: make
+
+2002-01-06 17:47  radim
+
+	* Doxyfile, Makefile, config.guess, config.sub, configure,
+	  configure.in, db/Makefile, db/drivers/Makefile,
+	  db/drivers/dbf/Gmakefile, db/drivers/dbf/Makefile, include/Make,
+	  include/Make/Dir.make, include/Make/Grass.make,
+	  include/Make/Lib.make, include/Make/Module.make,
+	  include/Make/Platform.make.in, include/Make/Rules.make,
+	  include/Make/Shlib.make, include/Make/Stlib.make, include/Vect.h,
+	  include/config.h.in, include/gisdefs.h, install-sh, tools/link,
+	  tools/link.conf: make
+
+2002-01-06 17:36  radim
+
+	* include/vect/dig_defines.h, include/vect/dig_externs.h,
+	  include/vect/dig_structs.h: multiformat
+
+2001-07-09 11:56  markus
+
+	* notyetuploaded/d.vect.db, notyetuploaded/d.vect.db/Gmakefile,
+	  notyetuploaded/d.vect.db/Makefile,
+	  notyetuploaded/d.vect.db/README.olga.man,
+	  notyetuploaded/d.vect.db/README.txt,
+	  notyetuploaded/d.vect.db/Table.c,
+	  notyetuploaded/d.vect.db/Table.h,
+	  notyetuploaded/d.vect.db/TableP.h,
+	  notyetuploaded/d.vect.db/att_table.c,
+	  notyetuploaded/d.vect.db/att_table.sv,
+	  notyetuploaded/d.vect.db/back.c,
+	  notyetuploaded/d.vect.db/choose_ref.c,
+	  notyetuploaded/d.vect.db/gdbmi.h,
+	  notyetuploaded/d.vect.db/global.h,
+	  notyetuploaded/d.vect.db/openvect.c,
+	  notyetuploaded/d.vect.db/raster.xbm, notyetuploaded/d.vect.db/sv,
+	  notyetuploaded/d.vect.db/tmp, notyetuploaded/d.vect.db/unit_cell,
+	  notyetuploaded/d.vect.db/up_down.sv,
+	  notyetuploaded/d.vect.db/vect_hilite.c,
+	  notyetuploaded/d.vect.db/what.c,
+	  notyetuploaded/d.vect.db/xmain.c: d.vect.db - interesting for
+	  Radim?
+
+2001-07-09 11:50  markus
+
+	* notyetuploaded/s.label, notyetuploaded/s.label/Gmakefile,
+	  notyetuploaded/s.label/TODO,
+	  notyetuploaded/s.label/s.label.README,
+	  notyetuploaded/s.label/s.label.c: added
+
+2001-06-20 19:51  markus
+
+	* notyetuploaded/s.vol.rst: Helena Mitasova: added to 5.0
+
+2001-06-20 19:45  markus
+
+	* notyetuploaded/s.vol.rst/MANUAL,
+	  notyetuploaded/s.vol.rst/s.vol.rst.html: wrong here
+
+2001-06-18 17:08  bob
+
+	* raster/r.out.bin/main.c: fixed integer output error
+
+2001-06-12 05:34  eric
+
+	* lib/gis/file_name.c, lib/gis/get_row.c, lib/gis/open.c: Fix some
+	  memory leakages.
+
+2001-06-08 04:16  eric
+
+	* display/d.legend/main.c: Move G_gisinit() call before all GRASS
+	  function calls to prevent segfaults.
+
+2001-06-08 02:06  eric
+
+	* display/d.colortable/main.c: Move G_gisinit() before module
+	  parameter definitions to avoid segfault
+	  when called with --interface-description.
+
+2001-06-08 02:02  eric
+
+	* display/d.colors/main.c: Wrap first R_open_driver() and related
+	  calls, to allow
+	  --interface-description flag to work when G_parser() is called
+	  later.
+
+2001-05-14 11:27  markus
+
+	* doc/vector/v.modules.html: fixed 5.0 to 5.1
+
+2001-05-10 17:51  radim
+
+	* doc/vector/vector.html: new informations added
+
+2001-05-10 17:48  radim
+
+	* display/d.vect/main.c: SQL where option added
+
+2001-05-10 17:47  radim
+
+	* db/drivers/dbf, db/drivers/dbf/Gmakefile,
+	  db/drivers/dbf/column.c, db/drivers/dbf/cursor.c,
+	  db/drivers/dbf/db.c, db/drivers/dbf/dbfexe.c,
+	  db/drivers/dbf/describe.c, db/drivers/dbf/driver.c,
+	  db/drivers/dbf/error.c, db/drivers/dbf/execute.c,
+	  db/drivers/dbf/fetch.c, db/drivers/dbf/globals.h,
+	  db/drivers/dbf/listtab.c, db/drivers/dbf/main.c,
+	  db/drivers/dbf/proto.h, db/drivers/dbf/select.c,
+	  db/drivers/dbf/str.c, db/drivers/dbf/table.c: dbf driver
+
+2001-05-10 17:43  radim
+
+	* lib/db/sqlp/test, lib/db/sqlp/test/Gmakefile,
+	  lib/db/sqlp/test/README, lib/db/sqlp/test/sqlptest.c,
+	  lib/db/sqlp/test/test: SQL parser test
+
+2001-05-10 17:42  radim
+
+	* lib/db/sqlp, lib/db/sqlp/Gmakefile, lib/db/sqlp/README,
+	  lib/db/sqlp/alloc.c, lib/db/sqlp/lex.l, lib/db/sqlp/print.c,
+	  lib/db/sqlp/sql.c, lib/db/sqlp/yac.y: SQL parser
+
+2001-05-10 17:38  radim
+
+	* lib/db/dbmi, lib/db/dbmi/Gmakefile, lib/db/dbmi/README,
+	  lib/db/dbmi/alloc.c, lib/db/dbmi/c_add_col.c,
+	  lib/db/dbmi/c_begin_work.x, lib/db/dbmi/c_bindupdate.c,
+	  lib/db/dbmi/c_close_cur.c, lib/db/dbmi/c_closedb.c,
+	  lib/db/dbmi/c_create_idx.c, lib/db/dbmi/c_create_tab.c,
+	  lib/db/dbmi/c_createdb.c, lib/db/dbmi/c_delete.c,
+	  lib/db/dbmi/c_deletedb.c, lib/db/dbmi/c_desc_table.c,
+	  lib/db/dbmi/c_drop_col.c, lib/db/dbmi/c_drop_index.c,
+	  lib/db/dbmi/c_drop_tab.c, lib/db/dbmi/c_execute.c,
+	  lib/db/dbmi/c_fetch.c, lib/db/dbmi/c_finddb.c,
+	  lib/db/dbmi/c_insert.c, lib/db/dbmi/c_list_idx.c,
+	  lib/db/dbmi/c_list_tabs.c, lib/db/dbmi/c_listdb.c,
+	  lib/db/dbmi/c_opendb.c, lib/db/dbmi/c_openinsert.c,
+	  lib/db/dbmi/c_openselect.c, lib/db/dbmi/c_openupdate.c,
+	  lib/db/dbmi/c_update.c, lib/db/dbmi/c_version.c,
+	  lib/db/dbmi/case.c, lib/db/dbmi/column.c,
+	  lib/db/dbmi/columnfmt.c, lib/db/dbmi/connect.c,
+	  lib/db/dbmi/cursor.c, lib/db/dbmi/d_add_col.c,
+	  lib/db/dbmi/d_begin_work.x, lib/db/dbmi/d_bindupdate.c,
+	  lib/db/dbmi/d_close_cur.c, lib/db/dbmi/d_closedb.c,
+	  lib/db/dbmi/d_create_idx.c, lib/db/dbmi/d_create_tab.c,
+	  lib/db/dbmi/d_createdb.c, lib/db/dbmi/d_delete.c,
+	  lib/db/dbmi/d_deletedb.c, lib/db/dbmi/d_desc_table.c,
+	  lib/db/dbmi/d_drop_col.c, lib/db/dbmi/d_drop_index.c,
+	  lib/db/dbmi/d_drop_tab.c, lib/db/dbmi/d_execute.c,
+	  lib/db/dbmi/d_fetch.c, lib/db/dbmi/d_finddb.c,
+	  lib/db/dbmi/d_insert.c, lib/db/dbmi/d_list_idx.c,
+	  lib/db/dbmi/d_list_tabs.c, lib/db/dbmi/d_listdb.c,
+	  lib/db/dbmi/d_mkdir.c, lib/db/dbmi/d_opendb.c,
+	  lib/db/dbmi/d_openinsert.c, lib/db/dbmi/d_openselect.c,
+	  lib/db/dbmi/d_openupdate.c, lib/db/dbmi/d_update.c,
+	  lib/db/dbmi/d_version.c, lib/db/dbmi/datetime.c,
+	  lib/db/dbmi/dbmscap.c, lib/db/dbmi/dirent.c,
+	  lib/db/dbmi/driver.c, lib/db/dbmi/driver_state.c,
+	  lib/db/dbmi/error.c, lib/db/dbmi/handle.c, lib/db/dbmi/index.c,
+	  lib/db/dbmi/interval.c, lib/db/dbmi/isdir.c,
+	  lib/db/dbmi/macros.h, lib/db/dbmi/printtab.c,
+	  lib/db/dbmi/procs.h, lib/db/dbmi/ret_codes.c,
+	  lib/db/dbmi/select.c, lib/db/dbmi/shutdown.c,
+	  lib/db/dbmi/sqlCtype.c, lib/db/dbmi/sqltype.c,
+	  lib/db/dbmi/start.c, lib/db/dbmi/string.c, lib/db/dbmi/strip.c,
+	  lib/db/dbmi/table.c, lib/db/dbmi/token.c, lib/db/dbmi/value.c,
+	  lib/db/dbmi/valuefmt.c, lib/db/dbmi/whoami.c, lib/db/dbmi/xdr.c,
+	  lib/db/dbmi/xdr.h, lib/db/dbmi/xdrchar.c,
+	  lib/db/dbmi/xdrcolumn.c, lib/db/dbmi/xdrdatetime.c,
+	  lib/db/dbmi/xdrdouble.c, lib/db/dbmi/xdrfloat.c,
+	  lib/db/dbmi/xdrhandle.c, lib/db/dbmi/xdrindex.c,
+	  lib/db/dbmi/xdrint.c, lib/db/dbmi/xdrprocedure.c,
+	  lib/db/dbmi/xdrshort.c, lib/db/dbmi/xdrstring.c,
+	  lib/db/dbmi/xdrtable.c, lib/db/dbmi/xdrtoken.c,
+	  lib/db/dbmi/xdrvalue.c, lib/db/dbmi/zero.c: initial import
+
+2001-05-10 17:32  radim
+
+	* lib/vector/Vlib/Gmakefile, lib/vector/Vlib/cats_struct.c,
+	  lib/vector/Vlib/field.c, lib/vector/Vlib/x_point_io.c: field
+	  changed to int; field, and cat operations
+
+2001-05-10 17:28  radim
+
+	* include/vect/dig_defines.h, include/vect/dig_structs.h:
+	  field_info, GRASS_VECT_ to GV_
+
+2001-05-10 17:25  radim
+
+	* include/Vect.h, include/dbmi.h, include/proto_dbmi.h,
+	  include/sqlp.h: new functions, new files
+
+2001-04-22 13:18  markus
+
+	* notyetuploaded/s.vol.rst/sss: rubbish
+
+2001-04-22 10:51  markus
+
+	* notyetuploaded/s.vol.rst, notyetuploaded/s.vol.rst/Gmakefile,
+	  notyetuploaded/s.vol.rst/MANUAL, notyetuploaded/s.vol.rst/README,
+	  notyetuploaded/s.vol.rst/Viz.h,
+	  notyetuploaded/s.vol.rst/dataoct.c,
+	  notyetuploaded/s.vol.rst/dataoct.h,
+	  notyetuploaded/s.vol.rst/externs.h,
+	  notyetuploaded/s.vol.rst/main.c, notyetuploaded/s.vol.rst/oct.c,
+	  notyetuploaded/s.vol.rst/oct.h,
+	  notyetuploaded/s.vol.rst/s.vol.rst.html,
+	  notyetuploaded/s.vol.rst/sss, notyetuploaded/s.vol.rst/surf.h,
+	  notyetuploaded/s.vol.rst/user.h,
+	  notyetuploaded/s.vol.rst/user1.c,
+	  notyetuploaded/s.vol.rst/user2.c,
+	  notyetuploaded/s.vol.rst/user3.c,
+	  notyetuploaded/s.vol.rst/user4.c,
+	  notyetuploaded/s.vol.rst/userextern.h,
+	  notyetuploaded/s.vol.rst/userglobs.h: Helena Mitasova
+	  <hmitaso at unity.ncsu.edu>: released under GPL
+
+2001-04-11 14:54  bob
+
+	* visualization/nviz/src/do_zoom.c: Added system pnmcat routine
+
+2001-04-11 13:09  markus
+
+	* raster/r.sun/TODO: added hint on G_calc_solar_position()
+
+2001-04-11 12:50  markus
+
+	* raster/r.sunmask/main.c: cosmetics
+
+2001-04-11 12:45  markus
+
+	* raster/r.sunmask/g_solposition.c, raster/r.sunmask/main.c,
+	  raster/r.sunmask/solpos00.h: cleanup
+
+2001-04-11 12:37  markus
+
+	* raster/r.sunmask/README, raster/r.sunmask/g_solposition.c,
+	  raster/r.sunmask/global.h, raster/r.sunmask/main.c,
+	  raster/r.sunmask/solpos00.h: implemented new method to calculate
+	  sun position, G_calc_solar_position() may go into libgis later
+
+2001-04-11 00:22  cho
+
+	* raster/r.fill.dir/README: added comments
+
+2001-04-11 00:12  cho
+
+	* raster/r.fill.dir/main.c: added AUTHOR info
+
+2001-04-10 22:23  glynn
+
+	* raster/r.kappa/mask.c, raster/r.kappa/prt_mat.c,
+	  raster/r.kappa/stats.c: Fix various gcc warnings.
+
+2001-04-10 21:29  markus
+
+	* raster/r.fill.dir/README: added comments from Huidae
+
+2001-04-10 21:24  markus
+
+	* raster/r.fill.dir, raster/r.fill.dir/README,
+	  raster/r.fill.dir/dopolys.c, raster/r.fill.dir/main.c,
+	  raster/r.fill.dir/ppupdate.c, raster/r.fill.dir/wtrshed.c: Huidae
+	  Cho: converted from FORTRAN to C
+
+2001-04-10 13:17  glynn
+
+	* display/drivers/XDRIVER/XDRIVER24/icon.bit, lib/gis/opencell.c,
+	  lib/gis/put_row.c, lib/raster/Raster.c, raster/r.out.mpeg/main.c:
+	  Fix various "char" vs "unsigned char" warnings, plus a couple of
+	  things
+	  which I didn't fix last time.
+
+2001-04-09 19:26  glynn
+
+	* raster/r.surf.idw/main.c, raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/vizual.h: Synopsis: fix various compiler
+	  warnings reported by Markus
+	  
+	  * configure.in:
+	  Add AC_TYPE_SIGNAL to check return type of signal handlers.
+	  
+	  * src/include/config.h.in:
+	  Add RETSIGTYPE
+	  
+	  * src/libes/vask/V_tty.c (get_tstp):
+	  Use RETSIGTYPE macro (from config.h)
+	  
+	  * src/misc/m.kappa/cmd/readin_data.c:
+	  "mat" is "long**" not "int**"; fix accordingly.
+	  
+	  * src/display/devices/lib/socket.new/SWITCHER.c (main):
+	  remove (incorrect) typecast from call to Raster_int().
+	  
+	  * src/ps.map/ps.map/cmd/vect.c (vect):
+	  fix typo bug (unconditional "*x = 5/0")
+	  consistently handle the case where length is 0 by returning
+	  (NaN,NaN)
+	  
+	  * src/raster/r.infer/cmd/infer.h:
+	  remove redefinitions of TRUE and FALSE (already defined in
+	  "gis.h").
+	  
+	  * src/raster/r.surf.idw/cmd/main.c (interpolate):
+	  Use "#if 0" to disable code instead of comment.
+	  NB: this idiom is already widely used within GRASS, so preferred
+	  over "#ifdef notdef".
+	  
+	  * src/sites/s.to.rast/main.c (main):
+	  Add "break" after "default" case.
+	  
+	  * src.contrib/SDTS/mapdev/v.out.sdts/spatial_ref.c
+	  (init_SDTS_proj_info):
+	  Changed type of (unused) parameter Map to "char *"; this code is
+	  K&R C, so no "void *".
+	  
+	  * src.contrib/SDTS/libes/fips123/gfstr.c:
+	  * src.contrib/SDTS/libes/fips123/stc123.h:
+	  * src.contrib/SDTS/libes/fips123/f123inc/stc123.h:
+	  Renamed MAXINT to MAX_INT to avoid clash with <values.h>
+	  
+	  * configure.in: OpenGL headers are referenced as e.g. <GL/gl.h>,
+	  so don't include the "GL/" in the include directory.
+	  Note: all of the references to <gl.h> in src.contrib/CERL/SGI
+	  refer to something other than OpenGL (I don't know what, though).
+	  
+	  * documents/compile_warnings.log:
+	  Add comments about src/sites/cdhc/as181.c and
+	  src/libes/libimage/open.c
+	  Remove entries which are no longer relevant.
+	  
+	  * src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/vizual.h
+	  Change <gl.h> to <GL/gl.h>
+	  
+	  *
+	  src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/new_init_graphics.c
+	  * src.contrib/GMSL/g3d/src3d/raster/r3.showdspf.openGL/main_ogl.c
+	  Change "GLwMDrawA.h" to <GL/GLwMDrawA.h>
+
+2001-04-09 10:11  glynn
+
+	* lib/gis/reclass.c: Don't treat as fatal the case where the
+	  "reclassed_to" file cannot be modified;
+	  this allows users to create reclassed maps from maps to which
+	  they don't have
+	  write permission.
+	  Don't try to fseek() until after the FILE* has been verified as
+	  non-NULL.
+
+2001-04-06 12:26  bob
+
+	* display/d.what.rast/local_proto.h, display/d.what.rast/show.c,
+	  display/d.what.rast/what.c: Fix Mapset Problem
+
+2001-04-05 15:50  markus
+
+	* display/d.histogram/bar.c: Glynn Clements
+	  <glynn.clements at virgin.net>: fix for open comment
+
+2001-04-05 14:56  markus
+
+	* raster/r.statistics/o_adev.c, raster/r.statistics/o_distrib.c,
+	  raster/r.statistics/o_kurt.c, raster/r.statistics/o_sdev.c,
+	  raster/r.statistics/o_skew.c, raster/r.statistics/o_var.c: fixex
+	  comments in comment
+
+2001-04-05 14:53  markus
+
+	* raster/r.slope.aspect/main.c: fixed open comment
+
+2001-04-05 14:51  markus
+
+	* raster/r.proj/bordwalk.c: added CRLF
+
+2001-04-05 13:54  markus
+
+	* imagery/i.ortho.photo/photo.2target/zoom_pnt.c: fixed comment in
+	  comment
+
+2001-04-05 10:11  markus
+
+	* imagery/i.ortho.photo/photo.2image/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_pnt.c: fixed open comment
+
+2001-04-05 10:06  markus
+
+	* imagery/i.fft/fftmain.c: fixed comment
+
+2001-04-04 16:22  markus
+
+	* display/drivers/PNG/README: fixed typo, added url
+
+2001-04-04 16:04  markus
+
+	* display/d.histogram/bar.c: <glynn at sensei.co.uk>: d.histogram
+	  omitted the last bar (unless "-n" is given). fixed.
+
+2001-04-02 09:36  markus
+
+	* raster/r.surf.idw2/main.c: changed 3 to PROJECTION_LL
+
+2001-03-26 08:18  markus
+
+	* notyetuploaded/README: added
+
+2001-03-26 08:17  markus
+
+	* notyetuploaded/r.carve/Gmakefile~,
+	  notyetuploaded/r.carve/write_sites.c~: removed rubbish
+
+2001-03-26 08:15  markus
+
+	* notyetuploaded, notyetuploaded/new_makefile_system,
+	  notyetuploaded/new_makefile_system/README,
+	  notyetuploaded/new_makefile_system/grass.remake.tgz,
+	  notyetuploaded/r.carve, notyetuploaded/r.carve/Gmakefile,
+	  notyetuploaded/r.carve/Gmakefile~, notyetuploaded/r.carve/README,
+	  notyetuploaded/r.carve/enforce.h,
+	  notyetuploaded/r.carve/enforce_ds.c,
+	  notyetuploaded/r.carve/line_dist.c,
+	  notyetuploaded/r.carve/lobf.c, notyetuploaded/r.carve/main.c,
+	  notyetuploaded/r.carve/r.carve.html,
+	  notyetuploaded/r.carve/write_sites.c,
+	  notyetuploaded/r.carve/write_sites.c~, notyetuploaded/v.to.rast2,
+	  notyetuploaded/v.to.rast2/Gmakefile,
+	  notyetuploaded/v.to.rast2/README,
+	  notyetuploaded/v.to.rast2/main.c, notyetuploaded/v.to.rastdir,
+	  notyetuploaded/v.to.rastdir/DIR,
+	  notyetuploaded/v.to.rastdir/Gmakefile,
+	  notyetuploaded/v.to.rastdir/MR,
+	  notyetuploaded/v.to.rastdir/README,
+	  notyetuploaded/v.to.rastdir/clock.c,
+	  notyetuploaded/v.to.rastdir/do_areas.c,
+	  notyetuploaded/v.to.rastdir/do_lines.c,
+	  notyetuploaded/v.to.rastdir/do_sites.c,
+	  notyetuploaded/v.to.rastdir/format.h,
+	  notyetuploaded/v.to.rastdir/getformat.c,
+	  notyetuploaded/v.to.rastdir/inform.c,
+	  notyetuploaded/v.to.rastdir/label.c,
+	  notyetuploaded/v.to.rastdir/main.c,
+	  notyetuploaded/v.to.rastdir/mapgraph.c,
+	  notyetuploaded/v.to.rastdir/null.h,
+	  notyetuploaded/v.to.rastdir/raster.c,
+	  notyetuploaded/v.to.rastdir/support.c,
+	  notyetuploaded/v.to.rastdir/tags,
+	  notyetuploaded/v.to.rastdir/vect2rast.c: new code arrived...
+
+2001-03-25 23:48  eric
+
+	* lib/gis/user_config.c: Candidate for handling $HOME/.grass
+	  resource configuration files.
+	  
+	  Currently unused, but this provides a possible implemenation. I
+	  have
+	  tested it with the unix_socks.c mechanism (see
+	  G_socks_get_fname())
+	  function for an example. Just wanted to make this available for
+	  possible use...
+
+2001-03-22 15:28  markus
+
+	* raster/r.in.bin/main.c: Bob Covill: fixed to import AVHRR
+	  properly
+
+2001-03-22 08:56  justin
+
+	* lib/gis/null_val.c: Fixed a bug for SGI's and simplified the
+	  initialization and setting of the
+	  null value patterns. Previous #ifdef's were removed and general
+	  overhaul
+	  of the file.
+
+2001-03-21 13:04  markus
+
+	* raster3d/r3.timestamp/README: added
+
+2001-03-21 13:02  markus
+
+	* lib/datetime/README: timestamp3
+
+2001-03-21 12:59  markus
+
+	* raster3d/r3.timestamp, raster3d/r3.timestamp/main.c: Michael
+	  Pelizzari <michael.pelizzari at lmco.com>: tool to timestamp g3d
+	  raster maps
+
+2001-03-21 11:04  markus
+
+	* lib/gis/timestamp.c: Michael Pelizzari
+	  <michael.pelizzari at lmco.com>: added three grid3 timestamp
+	  functions for r3.timestamp
+
+2001-03-21 01:12  cho
+
+	* lib/gis/file_name.c: segfault fixed
+
+2001-03-16 07:01  justin
+
+	* lib/front.end/main.c: Tidied up the error messages
+
+2001-03-14 21:16  radim
+
+	* lib/vector/Vlib/x_point_io.c: write z coordinate
+
+2001-03-13 15:16  cho
+
+	* lib/gis/file_name.c: fixed not to return a local pointer
+
+2001-03-12 12:13  david
+
+	* doc/vector/v.modules.html: Added 5.0 -> 5.1 update info for
+	  v.cutter,v.spag and v.patch
+
+2001-03-12 08:35  markus
+
+	* lib/gis/histogram.c: added info for user's convenience
+
+2001-03-11 19:02  radim
+
+	* vector/v.category, vector/v.category/Gmakefile,
+	  vector/v.category/main.c: new
+
+2001-03-11 18:59  radim
+
+	* display/d.vect/Gmakefile, display/d.vect/label.c,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/plot.h, display/d.vect/plot1.c: new options
+
+2001-03-11 18:57  radim
+
+	* include/vect/dig_structs.h: added field to cat_list
+
+2001-03-10 18:46  bob
+
+	* raster/r.neighbors/main.c: fix null problem
+
+2001-03-09 14:43  bob
+
+	* raster/r.neighbors/main.c: updated null flag
+
+2001-03-09 08:56  markus
+
+	* raster/r.topidx/r.avgstats: fix for Solaris' sed
+
+2001-03-08 20:16  bob
+
+	* raster/r.neighbors/main.c: Update NULL flag
+
+2001-03-08 19:29  bob
+
+	* raster/r.neighbors/c_median.c, raster/r.neighbors/main.c: Updated
+	  median, added null flag
+
+2001-03-05 17:13  markus
+
+	* doc/migration_50_51.txt: added return types
+
+2001-03-05 14:57  markus
+
+	* raster/r.sunmask/README, raster/r.sunmask/main.c: added (no) alg.
+	  source
+
+2001-03-05 12:22  markus
+
+	* lib/gis/flate.c: added HAVE_ZLIB_H flag info
+
+2001-03-05 09:50  markus
+
+	* display/d.text/main.c: added ctrl-d
+
+2001-03-05 09:45  markus
+
+	* raster/r.sunmask/main.c: recoded output values
+
+2001-03-05 09:28  markus
+
+	* raster/r.sunmask/TODO: FP done by Huidae
+
+2001-03-05 09:28  markus
+
+	* raster/r.sunmask/main.c: modified description
+
+2001-03-04 13:46  cho
+
+	* display/d.what.rast/local_proto.h, display/d.what.rast/main.c,
+	  display/d.what.rast/what.c: minor change
+
+2001-03-04 11:23  radim
+
+	* display/d.legend/main.c: main_new.c to main.c, FP support
+
+2001-03-04 06:49  cho
+
+	* raster/r.sunmask/main.c: removed unused var
+
+2001-03-04 06:47  cho
+
+	* raster/r.sunmask/TODO: added comment on speed-up
+
+2001-03-04 06:40  cho
+
+	* raster/r.sunmask/main.c: FP update done
+
+2001-03-04 03:11  cho
+
+	* raster/r.sunmask/main.c: fixed year 2002 -> 2001 :-)
+
+2001-03-03 19:18  radim
+
+	* lib/vector/Vlib/cats_struct.c: struct cat_list added
+
+2001-03-03 19:16  radim
+
+	* lib/vector/Vlib/portable_io.c, lib/vector/diglib/Gmakefile,
+	  lib/vector/diglib/struct_io.c: some dig_*() moved from Vlib to
+	  diglib
+
+2001-03-03 19:13  radim
+
+	* include/Vect.h, include/vect/dig_head.h,
+	  include/vect/dig_structs.h: structure cat_list
+
+2001-03-03 11:04  markus
+
+	* db/drivers/odbc/cursor.c, db/drivers/odbc/db.c,
+	  db/drivers/odbc/describe.c, db/drivers/odbc/error.c,
+	  db/drivers/odbc/execute.c, db/drivers/odbc/table.c,
+	  visualization/nviz/src/getCat.c: added missing #include
+	  \<stdio.h\>
+
+2001-03-03 10:52  markus
+
+	* display/d.profile/DumpProfile.c: corrected #include \<stdio.h\>
+
+2001-03-02 08:19  markus
+
+	* lib/gis/geo_init.c: Morten Hulden <morten at ngb.se>: added false
+	  easting/northing for LCC projection
+
+2001-02-28 03:49  cho
+
+	* raster/r.topmodel/file_io.c: typo fixed
+
+2001-02-27 06:05  eric
+
+	* display/drivers/XDRIVER/XDRIVER24/Plylne_abs.c: Add missing
+	  backing store code, so lines don't disappear!
+
+2001-02-26 19:19  markus
+
+	* raster/r.buffer/main.c: Bob Covill: added writing of usable
+	  history
+
+2001-02-24 17:02  markus
+
+	* raster/r.los/main.c: added check for lat/log with exit in this
+	  case
+
+2001-02-24 16:52  markus
+
+	* raster/r.sunmask/main.c: fixed put_row line
+
+2001-02-24 05:54  cho
+
+	* raster/r.sunmask/main.c: maybe typo fixed
+
+2001-02-24 05:50  cho
+
+	* raster/r.sunmask/main.c: pointer problems fixed
+
+2001-02-23 21:33  markus
+
+	* raster/r.sunmask/main.c: cosmetics
+
+2001-02-23 15:54  radim
+
+	* raster/r.statistics/main.c, raster/r.statistics/method.h,
+	  raster/r.statistics/o_sum.c: sum enabled
+
+2001-02-20 12:25  markus
+
+	* doc/migration_50_51.txt: Rules to migrate GRASS 5.0 modules into
+	  GRASS 5.1
+
+2001-02-19 16:48  cho
+
+	* lib/gis/reclass.c: G_is_reclassed_by() renamed to
+	  G_is_reclassed_to()
+	  reclassed_by file renamed to reclassed_to
+
+2001-02-19 16:24  cho
+
+	* raster/r.reclass/reclass.c: range of left-hand side bug fixed.
+	  
+	  DO NOT REVERT COMMENTED CODE.
+	  OLD CODE IS ONLY FOR NOSTALGIA :-)
+
+2001-02-19 14:29  markus
+
+	* doc/vector/vector.html: 5.1 api, not 5.0
+
+2001-02-19 03:58  eric
+
+	* display/drivers/XDRIVER/XDRIVER24/local_proto.h: Changes to
+	  improve Expose event handling.
+	  
+	  *) Move code for expose event handling in Serve_Xevent.c to a
+	  callable
+	  function.
+	  *) In the various Get_w_* functions, add handling for Expose
+	  events --
+	  calling the handleExposeEvent() function in Serve_Xevent.c
+	  
+	  Doesn't handle all of the situations, but it should be better
+	  than before.
+	  No difference should be noticed for people with X servers that
+	  are doing
+	  backing store (but they wouldn't see the problems anyway).
+
+2001-02-18 14:28  radim
+
+	* vector/v.convert, vector/v.convert/Gmakefile,
+	  vector/v.convert/conv.h, vector/v.convert/dist.c,
+	  vector/v.convert/local_proto.h, vector/v.convert/main.c,
+	  vector/v.convert/old2new.c, vector/v.convert/read.c,
+	  vector/v.convert/type.c: conversion from 3,4 to 5
+
+2001-02-18 14:24  radim
+
+	* doc, doc/vector, doc/vector/v.example.c,
+	  doc/vector/v.modules.html, doc/vector/vector.html: new vector
+	  docs
+
+2001-02-17 16:42  cho
+
+	* lib/gis/reclass.c: added G_is_reclassed_by()
+
+2001-02-17 15:03  cho
+
+	* raster/r.reclass/main.c: minor bug fixed
+
+2001-02-16 21:23  markus
+
+	* raster/r.sunmask/main.c: added info
+
+2001-02-16 21:15  markus
+
+	* raster/r.sunmask/main.c: still not finished
+
+2001-02-16 20:53  markus
+
+	* raster/r.sunmask/README: not required
+
+2001-02-16 20:53  markus
+
+	* raster/r.sunmask/main.c: attempt to update to FP
+
+2001-02-15 11:22  markus
+
+	* raster/r.reclass/main.c: improved error message for reclasses
+	  maps
+
+2001-02-15 02:45  cho
+
+	* display/d.what.rast/main.c: minor change
+
+2001-02-15 02:43  cho
+
+	* display/d.what.rast/main.c, display/d.what.rast/what.c,
+	  display/d.what.rast/what.h: removed limit of number of rasters
+	  improved code consistency
+
+2001-02-13 02:22  eric
+
+	* display/d.ask/main.c, display/d.barscale/main.c,
+	  display/d.colors/main.c, display/d.colortable/main.c,
+	  display/d.erase/main.c, display/d.font/main.c,
+	  display/d.frame/create.c, display/d.frame/dumper.c,
+	  display/d.frame/frame.c, display/d.frame/select.c,
+	  display/d.geodesic/main.c, display/d.graph/main.c,
+	  display/d.grid/main.c, display/d.histogram/main.c,
+	  display/d.legend/main.c, display/d.mapgraph/main.c,
+	  display/d.measure/main.c, display/d.profile/main.c,
+	  display/d.rast.arrow/arrow.c, display/d.rast.edit/main.c,
+	  display/d.rast.edit/menu.c, display/d.rast.num/number.c,
+	  display/d.rast/main.c, display/d.rhumbline/main.c,
+	  display/d.save/main.c, display/d.text/main.c,
+	  display/d.title/main.c, display/d.what.rast/main.c,
+	  display/d.where/main.c, display/d.zoom/redraw.c: Add check for
+	  the return value from R_open_driver().
+
+2001-02-12 23:35  eric
+
+	* display/d.mon/pgms/select.c: Have select.c return EXIT_FAILURE if
+	  R_open_driver() fails. d.mon can then
+	  retry if it's processing a start and select (typical usage).
+
+2001-02-12 20:57  eric
+
+	* display/d.mon/pgms/status.c: Report status of monitors better
+	  (catch NO_RUN and NO_MON).
+
+2001-02-12 15:35  markus
+
+	* display/drivers/PNG, display/drivers/PNG/Can_do.c,
+	  display/drivers/PNG/Color.c, display/drivers/PNG/Draw_line.c,
+	  display/drivers/PNG/Graph_Clse.c,
+	  display/drivers/PNG/Graph_Set.c, display/drivers/PNG/Panel.c,
+	  display/drivers/PNG/Polygn_abs.c, display/drivers/PNG/README,
+	  display/drivers/PNG/moncap.entry: Johansen Per Henrik
+	  <per.henrik.johansen at norgit.no>: PNGdriver for GRASS
+
+2001-02-12 15:00  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: Luca Cristelli
+	  <luca.cristelli at ies.it>: fixed compile warnings. some changes to
+	  r.out.tiff to speed up the output process. To r.in.tiff I addedd
+	  G_percent() status indication for verbode mode.
+
+2001-02-12 08:57  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: Luca Cristelli
+	  <luca.cristelli at ies.it>: added tiled tiff support
+
+2001-02-12 06:13  eric
+
+	* lib/gis/set_prior.c: Fixed dumb mistake with #ifndef.
+
+2001-02-10 19:51  eric
+
+	* display/d.mon/pgms/start.c: Hacked in support for sockets based
+	  XDRIVER. Now is the time for wider
+	  testing. You must run ./configure --with-socks first to set-up a
+	  define
+	  used by d.mon/pgms/start.c. Let me know if there are problems.
+	  I'll start
+	  looking at the CELL and HTMLMAP drivers now.
+
+2001-02-10 06:10  eric
+
+	* lib/gis/set_prior.c: Add unix_sock.o to objects -- *PLEASE* let
+	  me know if this breaks anything.
+	  I've tried to find and fix all the breakage already.
+	  
+	  Wrap PRIO_PROCESS in #ifndef to avoid compiler warning.
+
+2001-02-10 03:37  eric
+
+	* lib/gis/get_row.c, lib/gis/put_row.c: Remove LZW related code
+	  sections
+
+2001-02-09 18:56  radim
+
+	* display/d.vect, display/d.vect/Gmakefile,
+	  display/d.vect/local_proto.h, display/d.vect/main.c,
+	  display/d.vect/open.c, display/d.vect/plot1.c,
+	  display/d.vect/plot2.c, display/d.vect/use_plot1.c, vector,
+	  vector/v.ascii, vector/v.ascii/Gmakefile, vector/v.ascii/a2b.c,
+	  vector/v.ascii/b2a.c, vector/v.ascii/in.c,
+	  vector/v.ascii/local_proto.h, vector/v.ascii/out.c: new vector
+
+2001-02-09 18:44  radim
+
+	* lib/gis/find_vect.c, lib/vector, lib/vector/Vlib,
+	  lib/vector/Vlib/Gmakefile, lib/vector/Vlib/cats_struct.c,
+	  lib/vector/Vlib/close.c, lib/vector/Vlib/constraint.c,
+	  lib/vector/Vlib/get_area.c, lib/vector/Vlib/header.c,
+	  lib/vector/Vlib/init_head.c, lib/vector/Vlib/level.c,
+	  lib/vector/Vlib/level_two.c, lib/vector/Vlib/line_struct.c,
+	  lib/vector/Vlib/open.c, lib/vector/Vlib/open1.c,
+	  lib/vector/Vlib/open2.c, lib/vector/Vlib/poly.c,
+	  lib/vector/Vlib/portable_io.c, lib/vector/Vlib/read.c,
+	  lib/vector/Vlib/read1.c, lib/vector/Vlib/read2.c,
+	  lib/vector/Vlib/rewind.c, lib/vector/Vlib/support.c,
+	  lib/vector/Vlib/window.c, lib/vector/Vlib/write.c,
+	  lib/vector/Vlib/x_point_io.c, lib/vector/diglib,
+	  lib/vector/diglib/Gmakefile, lib/vector/diglib/allocation.c,
+	  lib/vector/diglib/area.c, lib/vector/diglib/bound_box.c,
+	  lib/vector/diglib/calc_angl.c, lib/vector/diglib/check_node.c,
+	  lib/vector/diglib/chk_inside.c, lib/vector/diglib/clock.c,
+	  lib/vector/diglib/cont_lines.c, lib/vector/diglib/debugf.c,
+	  lib/vector/diglib/debugf.h, lib/vector/diglib/file_checks.c,
+	  lib/vector/diglib/find_area.c, lib/vector/diglib/format.c,
+	  lib/vector/diglib/isle.c, lib/vector/diglib/line_dist.c,
+	  lib/vector/diglib/linecros.c, lib/vector/diglib/load_plus.c,
+	  lib/vector/diglib/map_to_head.c, lib/vector/diglib/memory_io.c,
+	  lib/vector/diglib/node_op.c, lib/vector/diglib/point_t_area.c,
+	  lib/vector/diglib/point_t_line.c, lib/vector/diglib/port_test.c,
+	  lib/vector/diglib/portable.c, lib/vector/diglib/prune.c,
+	  lib/vector/diglib/rw_ascii.c, lib/vector/diglib/struct_alloc.c,
+	  lib/vector/diglib/struct_copy.c, lib/vector/diglib/test.c,
+	  lib/vector/diglib/unit_conv.c, lib/vector/diglib/write_file.c,
+	  lib/vector/diglib/x_struct_io.c: new vector library
+
+2001-02-09 18:31  radim
+
+	* include/Vect.h, include/vect, include/vect/dig_defines.h,
+	  include/vect/dig_externs.h, include/vect/dig_globs.h,
+	  include/vect/dig_head.h, include/vect/dig_macros.h,
+	  include/vect/dig_nodes.h, include/vect/dig_structs.h,
+	  include/vect/digit.h: new vector library
+
+2001-02-09 14:10  markus
+
+	* raster/r.profile/read_rast.c: added test for read request for row
+	  -417 is outside region
+
+2001-02-09 14:05  markus
+
+	* raster/r.profile/read_rast.c: fix for double maps
+
+2001-02-08 21:08  bob
+
+	* visualization/nviz/src/do_zoom.c: Added routine for high res
+	  output
+
+2001-02-08 20:57  bob
+
+	* lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_prim.c: Added routine for
+	  high res output
+
+2001-02-08 15:59  cho
+
+	* display/d.zoom/box.c: bug fixed
+
+2001-02-08 15:23  cho
+
+	* display/d.zoom/box.c: alternative method to unzoom
+
+2001-02-07 10:33  markus
+
+	* raster/r.reclass/main.c: added check if input map is already a
+	  reclass (currently not allowed)
+
+2001-02-07 08:13  markus
+
+	* display/drivers/HTMLMAP/Graph_Clse.c,
+	  display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/Polygn_abs.c,
+	  display/drivers/HTMLMAP/README, display/drivers/HTMLMAP/Text.c,
+	  display/drivers/HTMLMAP/changes.FEB2001,
+	  display/drivers/HTMLMAP/htmlmap.h: Tom Poindexter:
+	  <tpoindex at nyx.net>: various improvements and fix for IE5
+
+2001-02-06 20:07  markus
+
+	* include/readsites.h, lib/gis/readsites.c: improved G_readsites()
+	  for use in s.kcv, s.normal, s.probplt, s.sv, s.univar
+
+2001-02-04 16:59  markus
+
+	* raster3d/r3.out.v5d/BUG: adde bug
+
+2001-01-30 14:55  markus
+
+	* general/g3.region/main.c: removed one empty line to see full
+	  screen
+
+2001-01-29 12:21  markus
+
+	* raster3d/r3.out.ascii/main.c: added authors
+
+2001-01-29 12:20  markus
+
+	* raster3d/r3.out.ascii/main.c: added test of g3d exists
+
+2001-01-28 21:32  markus
+
+	* raster3d/r3.out.v5d/main.c: made true coordinates an optional
+	  flag
+
+2001-01-28 20:32  markus
+
+	* raster3d/r3.out.v5d/main.c: fix for coordinates due to odd vid5d
+	  coordinate counting
+
+2001-01-28 20:18  markus
+
+	* raster3d/r3.out.v5d/main.c: added true coordinates support
+
+2001-01-28 17:11  markus
+
+	* lib/g3d/fpcompress.c: commented debug message
+
+2001-01-28 10:53  markus
+
+	* lib/gmath/TODO: added gmatth TODO
+
+2001-01-27 13:26  markus
+
+	* raster3d/r3.out.v5d/main.c: added check for g3d file existance
+
+2001-01-27 12:31  markus
+
+	* raster3d/r3.mkdspf/calc_linefax.c: added No. of thresholds for
+	  user's convenience
+
+2001-01-27 12:28  markus
+
+	* raster3d/r3.mkdspf/main.c: adjusted DSPF DIMS + 1 as counting
+	  shall start with 1, not 0
+
+2001-01-27 12:07  markus
+
+	* raster3d/r3.out.v5d/BUG: Bug: module doesn't output non-square
+	  volumes properly.
+
+2001-01-27 12:06  markus
+
+	* raster3d/r3.out.v5d/main.c: global region variable, cosmetics.
+	  Bug: module doesn't output non-square volumes properly.
+
+2001-01-26 22:10  markus
+
+	* raster3d/r3.out.v5d/BUG, raster3d/r3.out.v5d/main.c: changed y
+	  write direction, now Vis5D looks like r3.showdspf output
+
+2001-01-26 21:37  markus
+
+	* raster3d/r3.out.v5d/BUG: more bug found...
+
+2001-01-26 19:39  markus
+
+	* raster3d/r3.out.v5d/main.c: further attempts to get it region
+	  sensitive, see local BUGS
+
+2001-01-26 19:38  markus
+
+	* raster3d/r3.out.v5d/BUG: region bug
+
+2001-01-26 16:11  markus
+
+	* raster3d/r3.out.v5d/main.c: bugfix to export rows/cols/depth
+	  properly (was reverted)
+
+2001-01-26 15:12  cho
+
+	* lib/raster/io.c: reverted fifo io.c
+
+2001-01-26 15:09  andreas
+
+	* include/pbmplus.h, include/shhopt.h: added pbmplus headers for
+	  r.in/out.png
+
+2001-01-26 12:45  markus
+
+	* raster/r.random/creat_rand.c: changed defined(__MAC_OS_X__) to
+	  defined(__APPLE__)
+
+2001-01-24 20:46  markus
+
+	* raster3d/r3.showdspf/TODO: added solid TODO - eventually easy to
+	  fix?
+
+2001-01-24 20:42  markus
+
+	* raster3d/r3.showdspf/Ball.c, raster3d/r3.showdspf/BallMath.c,
+	  raster3d/r3.showdspf/cap_data.c,
+	  raster3d/r3.showdspf/do_color_ogl.c,
+	  raster3d/r3.showdspf/draw_cap_ogl.c,
+	  raster3d/r3.showdspf/draw_cappolys_ogl.c,
+	  raster3d/r3.showdspf/draw_polys_ogl.c,
+	  raster3d/r3.showdspf/get_color_ogl.c,
+	  raster3d/r3.showdspf/init_caps.c,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/make_header.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/r3_data.c, raster3d/r3.showdspf/r3_find.c,
+	  raster3d/r3.showdspf/thresh_array.c: fixed several function
+	  headers, removed unused variables: note: in main_ogl.c the
+	  function do__draw_solid() is internally commented, therefore we
+	  cannot watch solids...
+
+2001-01-24 17:50  markus
+
+	* raster3d/r3.out.v5d/main.c: changed map to grid3 for consistency
+
+2001-01-24 13:29  bob
+
+	* lib/ogsf/gsd_img_ppm.c, lib/ogsf/gsd_img_tif.c: Added free pixbuf
+
+2001-01-24 10:12  markus
+
+	* raster3d/r3.info/main.c, raster3d/r3.out.ascii/main.c: changed
+	  map to grid3 for consistency
+
+2001-01-24 09:57  markus
+
+	* lib/g3d/g3dparam.c: removed lzw from compression options
+
+2001-01-23 00:04  john
+
+	* lib/raster/io.c: io.c chnaged to run under cygwin
+
+2001-01-21 20:08  markus
+
+	* lib/gis/strings.c: Bernhard Reiter: added G_strchg function to
+	  replace characters in string
+
+2001-01-21 14:48  markus
+
+	* raster/r.profile/main.c: added test: "ERROR: Either -i flag
+	  and/or profile parameter must be used."
+
+2001-01-21 14:43  markus
+
+	* raster/r.profile/read_rast.c: changed NULL output from
+	  -2147483648 to Null string
+
+2001-01-21 14:10  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: bugfix on extension problem.
+	  snprintf is not portable or whatever. now modules runs fine.
+
+2001-01-20 17:51  bob
+
+	* raster/r.profile/main.c, raster/r.profile/read_rast.c: Update
+	  r.profile for column output
+
+2001-01-19 13:00  markus
+
+	* lib/g3d/tilewrite.c: fixed re.def of MIN/MAX, fixed header of
+	  G3d_putFloat()
+
+2001-01-18 15:45  markus
+
+	* lib/gis/get_row.c, lib/gis/put_row.c: deactivated LZW, activated
+	  flate compression
+
+2001-01-17 14:35  markus
+
+	* lib/g3d/g3dmask.c: Justin Hickey: workaround to satisfy CRAY
+	  compiler
+
+2001-01-15 14:42  markus
+
+	* lib/gis/endian.c, lib/ogsf/gsd_img.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c: added G_is_little_endian() function to
+	  test little/big endianess
+
+2001-01-15 14:21  markus
+
+	* include/G3d.h, lib/g3d/g3dmask.c, lib/g3d/g3dparam.c,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.in.v5d/main.c: fixed
+	  typo in function name: Standart -\> Standard
+
+2001-01-15 09:53  eric
+
+	* raster3d/r3.showdspf/new_init_graphics.c: Make initial colortable
+	  window a more sensible size.
+
+2001-01-15 09:28  eric
+
+	* raster3d/r3.showdspf/main_ogl.c: Hackery to get Xevents handled
+	  in good time (such as redrawing windows).
+	  Side-Effect that two different processes write to terminal means
+	  you have
+	  to hit the return key to get the prompt back. Behavior seems to
+	  be nice
+	  and snappy now.
+
+2001-01-14 23:43  eric
+
+	* include/G3d.h: Fix incorrect function parameter prototypes
+
+2001-01-14 23:42  eric
+
+	* lib/g3d/filecompare.c, lib/g3d/fpcompress.c: Add some more type
+	  casts to satisfy Cray. Add some more braces for
+	  multilevel if/else and for loops for clarity.
+
+2001-01-14 04:30  eric
+
+	* general/g3.region/cur_frm_3ddb.c,
+	  general/g3.region/cur_frm_3ddf.c, general/g3.region/cur_frm_db.c,
+	  general/g3.region/cur_frm_df.c, general/g3.region/cur_to_db.c,
+	  general/g3.region/edit.c, general/g3.region/editcellhd3d.c,
+	  general/g3.region/from_3dcell.c, general/g3.region/from_cell.c,
+	  general/g3.region/from_view.c, general/g3.region/glob.h,
+	  general/g3.region/lister.c, general/g3.region/local_proto.h,
+	  general/g3.region/main.c, general/g3.region/modify_cur.c,
+	  general/g3.region/modify_db.c, general/g3.region/new_db.c,
+	  general/g3.region/set.c, general/g3.region/yes.c: Add local
+	  prototyping file. Remove unused file. Fix some function
+	  call return values and/or number/type of parameters. Add checks
+	  for
+	  North > South, East > West, Top > Bottom, and all resolutions
+	  positive.
+
+2001-01-14 01:35  eric
+
+	* include/G3d.h: Add a bunch of prototypes, and struct definitions.
+	  Wrap definition in
+	  header define. Include gis.h for categories and key/value defs.
+	  
+	  Don't think I have all the prototypes, but most that have been
+	  used are here.
+
+2001-01-14 01:33  eric
+
+	* lib/g3d/G3d_intern.h, lib/g3d/cache.c, lib/g3d/cachehash.c,
+	  lib/g3d/changeprecision.c, lib/g3d/filecompare.c,
+	  lib/g3d/fpcompress.c, lib/g3d/g3dalloc.c, lib/g3d/g3dcache.c,
+	  lib/g3d/g3dcats.c, lib/g3d/g3dclose.c, lib/g3d/g3ddefaults.c,
+	  lib/g3d/g3ddoubleio.c, lib/g3d/g3dintio.c, lib/g3d/g3dkeys.c,
+	  lib/g3d/g3dmask.c, lib/g3d/g3dmisc.c, lib/g3d/g3dopen.c,
+	  lib/g3d/g3drange.c, lib/g3d/g3dregion.c, lib/g3d/g3dvolume.c,
+	  lib/g3d/g3dwindow.c, lib/g3d/g3dwindowio.c, lib/g3d/header.c,
+	  lib/g3d/headerinfo.c, lib/g3d/index.c, lib/g3d/retile.c,
+	  lib/g3d/rle.c, lib/g3d/tilewrite.c, lib/g3d/writeascii.c: Clean
+	  up integer/pointer mismatches, add proper casts for function
+	  calls,
+	  add some braces to eliminate "ambiguous else" warnings, add some
+	  return
+	  values where they were missing, include G3d.h in most files, add
+	  #ifdef's
+	  where necessary so definitions don't occur more than once. Lots
+	  of little
+	  stuff to go with full prototyping in G3d.h.
+
+2001-01-13 19:18  eric
+
+	* lib/gis/readsites_xyz.c: put a break; in default: to satisfy some
+	  compilers
+
+2001-01-13 17:25  markus
+
+	* lib/gis/flate.c: added some info on HAVE_ZLIB_H = FALSE
+
+2001-01-12 19:20  markus
+
+	* raster3d/r3.out.v5d/main.c: added region settings sensivity
+
+2001-01-12 14:30  markus
+
+	* lib/front.end/main.c: fixed cmdLine pre-definition
+
+2001-01-12 08:49  justin
+
+	* visualization/nviz/src/query_postgr.c: reverted back due to some
+	  strange error in CVS
+
+2001-01-12 08:17  justin
+
+	* include/readsites.h, lib/gis/readsites_xyz.c,
+	  lib/rst/interp_float/point2d.c, sites/s.in.ascii/get_site.c,
+	  visualization/nviz/src/query_postgr.c: Added site.h since it was
+	  removed from gis.h
+
+2001-01-11 10:03  justin
+
+	* lib/front.end/main.c: Changed EX_OK to X_OK, EX_OK is SGI only
+
+2001-01-11 09:54  markus
+
+	* lib/front.end/main.c: added sysexits.h to have EX_OK defined
+
+2001-01-11 09:20  justin
+
+	* lib/front.end/main.c: Rewritten to work with new CMD and INTER
+	  directories and cleaned up
+
+2001-01-09 08:09  markus
+
+	* raster/r.out.tiff/r.out.tiff.c: fixed G-set_windows() to
+	  G_get_windows()
+
+2001-01-09 02:42  eric
+
+	* raster/r.out.tiff/r.out.tiff.c: Fix dumb error.
+
+2001-01-07 03:10  eric
+
+	* raster/r.out.tiff/r.out.tiff.c: Attempt to fix NULL color --
+	  still not working exactly but my tests end up
+	  with either white or black depending on the input source (which
+	  is better).
+	  Fail for pallette if there are more than 255 colors in the color
+	  map. Seems
+	  to break under some of GRASS's default color rules schemes, but
+	  custom rules
+	  will get around this.
+
+2001-01-06 06:41  eric
+
+	* raster/r.out.tiff/r.out.tiff.c: Fix file extension thing (always
+	  gets .tif/.tfw appended). Format TIFF
+	  World more like Arc/Info.
+
+2001-01-05 02:36  justin
+
+	* lib/init/run.c: Changed execv to execvp to clean up code
+
+2001-01-04 09:40  justin
+
+	* general/g3.region/editcellhd3d.c: Fixes for VASKLIB and CURSES
+
+2001-01-02 13:11  markus
+
+	* display/d.legend/box.c: added 4.x code to support flags. Little
+	  more work needed. Volunteers\??
+
+2000-12-30 08:36  radim
+
+	* tools/link, tools/link.conf: script to symlink to grass5
+
+2000-12-22 13:47  markus
+
+	* lib/gis/ellipse.table: changed last caps to minor letter
+
+2000-12-22 13:44  markus
+
+	* lib/gis/ellipse.table: changed ellipsoid names to minor letters
+
+2000-12-22 08:38  markus
+
+	* lib/g3d/fpcompress.c, lib/gis/get_row.c, lib/gis/put_row.c:
+	  re-activated LZW for beta11
+
+2000-12-21 09:26  justin
+
+	* raster/r.in.ascii/gethead.c, raster/r.in.ascii/main.c: Removed
+	  #include of previously removed global.h
+
+2000-12-20 16:28  markus
+
+	* display/d.colors/interact.c: fixed u jump problem
+
+2000-12-20 14:42  jan
+
+	* general/g.ask/main.c, general/g.filename/main.c,
+	  general/g.findfile/main.c, general/g.tempfile/main.c: Added
+	  module description.
+
+2000-12-20 13:40  jan
+
+	* display/d.rast.arrow/arrow.c, display/d.rast.num/number.c,
+	  display/d.rast/main.c, display/d.rhumbline/main.c,
+	  display/d.text/main.c, display/d.title/main.c,
+	  display/d.where/main.c: Added module description
+
+2000-12-20 09:04  markus
+
+	* raster/r.surf.idw2/main.c: added check for lat/long projection
+	  not supported
+
+2000-12-18 11:49  justin
+
+	* general/g.version/main.c: Added flag to print copyright and
+	  changed binary to cmd from inter
+
+2000-12-17 15:50  markus
+
+	* raster/r.compress/main.c: added percentage output, added quiet
+	  flag
+
+2000-12-16 20:53  eric
+
+	* lib/g3d/fpcompress.c, lib/gis/get_row.c, lib/gis/put_row.c:
+	  Comment out '#define USE_LZW_COMPRESSION'
+
+2000-12-16 16:07  andreas
+
+	* general/g.version/sed.script: reverted last change, not working
+	  correctly
+
+2000-12-14 23:36  andreas
+
+	* general/g.version/sed.script: fixed double line spacing on IRIX
+	  (hope so)
+
+2000-12-14 09:36  markus
+
+	* raster/r.proj/COMMENT: added comment on r.proj error messages
+
+2000-12-13 08:21  markus
+
+	* general/g.setproj/main.c: added useful message if in xy-location
+
+2000-12-13 06:57  justin
+
+	* general/g.version/sed.script: Added blank line to end of file
+
+2000-12-12 09:02  markus
+
+	* raster/r.random/creat_rand.c: changed __MAC_OS_X__ to __MAC_OS
+	  (next try)
+
+2000-12-11 13:35  markus
+
+	* raster/r.random/creat_rand.c: added MacOS X/drand sensivity
+
+2000-12-09 21:22  eric
+
+	* lib/g3d/fpcompress.c: Add #ifdef's and '#define
+	  USE_LZW_COMPRESSION' to switch between G_lzw_*()
+	  functions and G_zlib_*() functions using DEFLATE. The deflate
+	  functions
+	  seem to work properly with the G3D libes/modules. Everything is
+	  still
+	  called LZW after the switch (even though it uses DEFLATE). Need
+	  to export
+	  G3D_USE_LZW=1 to turn it on. Comment out the #define
+	  USE_LZW_COMPRESSION
+	  to make the switch (like with put_row.c/get_row.c in libes/gis/).
+	  Will
+	  change the names of things from xyz_LZW to xyz_ZLIB after switch
+	  is made
+	  Dec. 16 or 17.
+
+2000-12-06 16:43  markus
+
+	* raster3d/r3.out.ascii/main.c: Jaro Hofierka: bugfix
+
+2000-12-06 15:55  cho
+
+	* display/drivers/lib/font.c: simplified X_copy()
+
+2000-12-06 15:33  cho
+
+	* display/drivers/lib/font.c: X_copy() prototype changed
+
+2000-12-06 09:54  cho
+
+	* include/devlib.h: "unsigned int *" => "int *"
+
+2000-12-06 09:51  cho
+
+	* display/drivers/lib/RGB.c, display/drivers/lib/Raster_chr.c,
+	  display/drivers/lib/Raster_def.c,
+	  display/drivers/lib/Raster_int.c,
+	  display/drivers/lib/color_supp.c, display/drivers/lib/font.c:
+	  "unsigned int *" => "int *"
+	  added "gis.h"
+
+2000-12-06 09:42  cho
+
+	* display/drivers/XDRIVER/XDRIVER24/Raster.c: "unsigned int *" is
+	  not required.
+	  final function call takes type of "int *".
+
+2000-12-06 06:29  cho
+
+	* visualization/nviz/scripts/nviz2.2,
+	  visualization/nviz/scripts/structlib.tcl,
+	  visualization/nviz/src/query_postgr.c: applied GRASS_TCLSH and
+	  GRASS_WISH
+	  removed OS specific script
+
+2000-12-05 23:58  andreas
+
+	* display/drivers/XDRIVER/XDRIVER24/Clr_table.c,
+	  display/drivers/XDRIVER/XDRIVER24/Panel.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER24/alloc.c: fixed again typecasts,
+	  changed to G_malloc etc.
+
+2000-12-05 10:14  cho
+
+	* visualization/nviz/scripts/nviz2.2: nviz2.2 just reverted
+
+2000-12-05 09:45  cho
+
+	* visualization/nviz/scripts/nviz2.2: added check for GRASS_TCLSH
+	  env var to use non-standard tclsh names.
+
+2000-12-05 09:32  cho
+
+	* lib/init/README: added text mode comment
+
+2000-12-03 12:27  eric
+
+	* raster/r.in.bin/main.c: Hacks to prevent segfault and byte
+	  swapping when bytes == 1.
+
+2000-12-03 04:36  eric
+
+	* display/d.profile/DumpProfile.c, display/d.profile/ExtractProf.c,
+	  display/d.profile/main.c, display/d.profile/profile.h: Improved
+	  plotfile output has more information. Added module description.
+	  Added ability to display a raster different than the one being
+	  profiled.
+
+2000-12-01 14:23  jan
+
+	* display/d.ask/main.c, display/d.barscale/main.c,
+	  display/d.colortable/main.c, display/d.font/main.c,
+	  display/d.frame/frame.c, display/d.geodesic/main.c,
+	  display/d.graph/main.c, display/d.grid/main.c,
+	  display/d.his/main.c, display/d.histogram/main.c,
+	  display/d.legend/main.c, display/d.mapgraph/main.c,
+	  display/d.measure/main.c, display/d.mon/cmd/main.c: added module
+	  description
+
+2000-12-01 06:53  eric
+
+	* lib/raster/io.c: Save/Restore signal state "correctly".
+
+2000-11-30 10:30  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER24/alloc.c: changed realloc to
+	  G_realloc for consistency and to satisfy Mac OSX compiler
+
+2000-11-30 06:34  eric
+
+	* lib/raster/io.c: Use sigaction() rather than signal(). Semantics
+	  of signal() are not reliable
+	  across platforms. Other method caused errors elsewhere.
+
+2000-11-30 03:47  eric
+
+	* lib/raster/io.c: Fix d.mon -L bug I think (this'll need to be
+	  propagated to io.c in ipc.new)
+
+2000-11-29 17:38  markus
+
+	* lib/ogsf/gsget.h: Bob Covill: color bug fixed for lat/long
+
+2000-11-29 08:19  markus
+
+	* visualization/nviz/scripts/structlib.tcl: replaced hard-coded
+	  wish by new wish fragment
+
+2000-11-28 16:53  eric
+
+	* lib/gis/put_row.c: Oops, had #define commented!
+
+2000-11-28 16:51  eric
+
+	* lib/gis/put_row.c: Sorry, typo in one #ifdef
+
+2000-11-28 09:25  andreas
+
+	* display/d.colorlist, display/d.colorlist/main.c: new colorlist
+	  command
+
+2000-11-28 05:48  justin
+
+	* lib/init/set_data.c: Revert back to original file
+
+2000-11-28 05:30  justin
+
+	* lib/init/set_data.c: New initialization code
+
+2000-11-28 05:14  eric
+
+	* lib/gis/get_row.c, lib/gis/put_row.c: #ifdef's for switching
+	  between LZW compression routines and ZLIB routines.
+	  Set to use LZW by default. You better understand what your doing
+	  if you
+	  change this!
+
+2000-11-27 21:38  markus
+
+	* display/d.his/main.c: changed G_percent to 2 percent steps for
+	  large maps
+
+2000-11-27 18:13  andreas
+
+	* general/g.version/sed.script: new COPYING msg. added
+
+2000-11-27 14:49  cho
+
+	* display/d.save/main.c: updated
+
+2000-11-27 12:41  cho
+
+	* display/d.save/main.c: nothing
+
+2000-11-27 12:25  cho
+
+	* display/d.save/main.c: updated
+
+2000-11-27 12:21  cho
+
+	* display/d.save/main.c: updated
+
+2000-11-27 12:17  cho
+
+	* display/d.save/main.c: updated
+
+2000-11-27 12:15  cho
+
+	* display/d.save/main.c: added auto-redraw after remove= and move=
+	  options
+
+2000-11-27 11:56  cho
+
+	* display/d.save/main.c: added move= option
+
+2000-11-27 10:28  cho
+
+	* display/d.save/main.c: updated help
+
+2000-11-27 10:26  cho
+
+	* display/d.save/main.c: added remove= option
+
+2000-11-27 10:05  markus
+
+	* raster/r.proj/main.c: changed parameters for consistency
+
+2000-11-27 09:56  markus
+
+	* raster/r.proj/main.c: fixed parameter comment
+
+2000-11-26 23:38  eric
+
+	* lib/gis/flate.c: Added G_zlib_write_noCompress() for future
+	  compatibility with G3D library.
+
+2000-11-26 19:49  cho
+
+	* display/d.zoom/box.c: fixed
+
+2000-11-26 16:35  andreas
+
+	* general/g.setproj/README, general/g.setproj/local_proto.h,
+	  general/g.setproj/main.c: added file header, see comments in
+	  README
+
+2000-11-26 16:30  andreas
+
+	* display/d.save/main.c: added module description, file header etc.
+
+2000-11-26 16:28  andreas
+
+	* display/d.save/locals.h: new include file
+
+2000-11-26 16:27  andreas
+
+	* display/d.erase/main.c: added D_color_list, module descr. and
+	  file header
+
+2000-11-26 15:25  cho
+
+	* display/d.his/main.c: added -o flag
+
+2000-11-26 15:20  cho
+
+	* display/d.his/main.c: 999 bug fixed
+
+2000-11-26 05:51  eric
+
+	* lib/gis/flate.c: Use flag to indicate row is compressed or not;
+	  don't write compressed rows
+	  that are larger than uncompressed rows. Try harder not to fail!
+
+2000-11-26 03:45  eric
+
+	* lib/gis/flate.c: Okay, working better now. Have tested with
+	  several rasters of various
+	  data regularity. Is possible under current configuration for
+	  compressed
+	  rows to be larger than uncompressed rows.
+
+2000-11-25 20:29  eric
+
+	* lib/gis/flate.c: Okay, I've tested it (with appropriate changes
+	  to get_row.c and put_row.c)
+	  and it appears to be functioning properly (no guarantees!).
+	  Still, not
+	  compiled in by default.
+
+2000-11-25 18:09  cho
+
+	* lib/gis/put_row.c: added comments
+
+2000-11-25 18:06  cho
+
+	* display/d.his/main.c: mask applied
+
+2000-11-25 17:46  markus
+
+	* lib/gmath/la.c: added comments, few layout cosmetics
+
+2000-11-25 16:53  andreas
+
+	* raster/r.out.png/pngfunc.h, raster/r.out.png/r.out.png.c: added
+	  module descr., updated, removed depend. on pbm lib, changed
+	  compression support
+
+2000-11-25 16:19  andreas
+
+	* display/d.what.rast/main.c, display/d.what.rast/what.c: added
+	  module descr., fixed parser interface
+
+2000-11-24 08:33  justin
+
+	* general/g.version/main.c: Can't define COPYING with cat in
+	  Gmakefile - see main.c for proper definition
+
+2000-11-23 12:18  markus
+
+	* visualization/nviz/scripts/panel_site.tcl: Bob Covill: added
+	  auto-redraw and auto-selection for vector and sites maps
+
+2000-11-23 06:18  cho
+
+	* visualization/nviz/scripts/nviz_init.tcl: I experienced "bus
+	  error" bug whenever I ran "nviz2.2 elev=map" after
+	  "g.region rast=map".
+	  No error occurred if i used "d.zoom" to set smaller region than
+	  full region.
+	  
+	  I don't know why Nset_focus_map is commented. Anyway, bug
+	  disappeared after
+	  this line uncommented.
+
+2000-11-22 14:51  jan
+
+	* imagery/i.cca/main.c, imagery/i.class/main.c,
+	  imagery/i.cluster/main.c, imagery/i.fft/fftmain.c,
+	  imagery/i.gensig/main.c, imagery/i.gensigset/main.c,
+	  imagery/i.maxlik/main.c, imagery/i.pca/main.c,
+	  imagery/i.smap/shapiro/main.c, imagery/i.zc/main.c: added module
+	  description
+
+2000-11-22 10:12  markus
+
+	* raster/r.proj/main.c: updated description
+
+2000-11-22 10:03  markus
+
+	* raster/r.proj/main.c: reordered parameters for convenience
+
+2000-11-22 09:34  jan
+
+	* raster/r.out.arc/main.c, raster/r.out.ascii/main.c,
+	  raster/r.out.bin/main.c, raster/r.out.mpeg/main.c,
+	  raster/r.out.pov/main.c, raster/r.out.ppm/main.c,
+	  raster/r.patch/main.c, raster/r.profile/main.c,
+	  raster/r.proj/main.c, raster/r.quant/main.c,
+	  raster/r.random.surface/main.c, raster/r.reclass/main.c,
+	  raster/r.recode/main.c, raster/r.report/main.c,
+	  raster/r.resamp.rst/main.c, raster/r.resample/main.c,
+	  raster/r.rescale/main.c, raster/r.slope.aspect/main.c,
+	  raster/r.statistics/main.c, raster/r.stats/main.c,
+	  raster/r.sum/main.c, raster/r.surf.area/main.c,
+	  raster/r.surf.contour/main.c, raster/r.surf.fractal/interface.c,
+	  raster/r.surf.gauss/main.c, raster/r.surf.idw/main.c,
+	  raster/r.surf.idw2/main.c, raster/r.surf.random/main.c,
+	  raster/r.thin/main.c, raster/r.timestamp/main.c,
+	  raster/r.topidx/main.c, raster/r.topmodel/main.c,
+	  raster/r.transect/main.c, raster/r.water.outlet/main.c: added
+	  module description
+
+2000-11-22 08:45  cho
+
+	* display/d.zoom/redraw.c: bug fixed successfully
+
+2000-11-22 08:39  cho
+
+	* display/d.zoom/center.c: cosmetics
+
+2000-11-22 08:26  cho
+
+	* display/d.zoom/box.c: bug fixed partly
+
+2000-11-22 04:34  justin
+
+	* lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_label.c: cosmetics
+
+2000-11-21 19:38  markus
+
+	* raster/r.proj/COMMENT: cosmetics
+
+2000-11-21 19:16  markus
+
+	* raster/r.proj/COMMENT, raster/r.proj/bordwalk.c,
+	  raster/r.proj/main.c, raster/r.proj/r.proj.h: Morten Hulden:
+	  updated (was r.proj.new before)
+
+2000-11-21 19:14  markus
+
+	* display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/Polygn_abs.c,
+	  display/drivers/HTMLMAP/Text.c, display/drivers/lib/RGB.c,
+	  display/drivers/lib/Raster_chr.c,
+	  display/drivers/lib/color_supp.c, display/drivers/lib/font.c:
+	  changed malloc to G_malloc
+
+2000-11-21 18:59  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Panel.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER24/alloc.c: changed malloc to
+	  G_malloc
+
+2000-11-21 17:30  markus
+
+	* raster/wildfire/r.spread/pick_dist.c,
+	  raster/wildfire/r.spread/pick_ignite.c: changed \#include
+	  values.h to \#include limits.h, changed MAXINT to INT_MAX
+
+2000-11-21 17:29  jan
+
+	* raster/r.average/main.c, raster/r.buffer/main.c,
+	  raster/r.cats/main.c, raster/r.clump/main.c,
+	  raster/r.colors/main.c, raster/r.compress/main.c,
+	  raster/r.covar/main.c, raster/r.describe/main.c,
+	  raster/r.grow/main.c, raster/r.in.arc/main.c,
+	  raster/r.in.ascii/main.c, raster/r.info/main.c,
+	  raster/r.kappa/main.c, raster/r.los/main.c,
+	  raster/r.median/main.c, raster/r.mfilter/main.c,
+	  raster/r.mode/main.c, raster/r.neighbors/main.c: added module
+	  description
+
+2000-11-21 17:24  jan
+
+	* raster/r.bilinear/main.c, raster/r.circle/dist.c,
+	  raster/r.cross/main.c, raster/r.digit/main.c,
+	  raster/r.in.poly/main.c, raster/r.null/null.c: added module
+	  description
+
+2000-11-21 15:00  jan
+
+	* raster/r.basins.fill/main.c: added module description
+
+2000-11-21 11:56  cho
+
+	* lib/gis/put_row.c: statement fixed
+
+2000-11-21 11:14  cho
+
+	* display/d.his/main.c: fixed NULL bug
+
+2000-11-21 11:12  cho
+
+	* lib/gis/put_row.c: added G_zeros_r_nulls() to fix d.his NULL bug
+
+2000-11-20 23:19  andreas
+
+	* display/drivers/XDRIVER/XDRIVER24/Panel.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER24/alloc.c: added pedantic
+	  typcasts and size_t to alloc/realloc
+
+2000-11-20 23:14  andreas
+
+	* display/drivers/lib/RGB.c, display/drivers/lib/Raster_chr.c,
+	  display/drivers/lib/font.c: added pedantic casts and size_t to
+	  alloc/realloc
+
+2000-11-20 16:23  markus
+
+	* raster/r.out.bin/main.c: Bob Covill: another fix fro CRAY
+
+2000-11-20 15:49  markus
+
+	* raster/r.in.bin/main.c, raster/r.out.bin/main.c: Bob Covill:
+	  updated for CRAY
+
+2000-11-20 10:43  markus
+
+	* raster/r.in.bin, raster/r.in.bin/README,
+	  raster/r.in.bin/gmt_grd.h, raster/r.in.bin/main.c: Bob Covill:
+	  improved version
+
+2000-11-20 05:25  eric
+
+	* lib/gis/flate.c: Beginnings of replacement for lzw.c using
+	  DEFLATE algorithm. Unfinished and
+	  not compiled in by default (and untested !!!). Need some
+	  configure.in (and
+	  friends) changes.
+
+2000-11-19 18:45  markus
+
+	* raster/r.in.bin: replaced for updated
+
+2000-11-19 17:18  markus
+
+	* raster/r.random/count.c: added float.h
+
+2000-11-17 13:17  markus
+
+	* raster/r.out.bin/gmt_grd.h, raster/r.out.bin/main.c,
+	  raster/r.out.bin/swab.h, raster/r.out.bin/tif_swab.c: Bob Covill:
+	  update and improvements
+
+2000-11-14 16:47  markus
+
+	* raster/r.bilinear/main.c: changed G_percent to steps of 2
+
+2000-11-11 12:46  eric
+
+	* display/d.profile/main.c: Revert to Dclearscreen() call
+
+2000-11-11 07:56  eric
+
+	* display/d.profile/DumpProfile.c: change output precision for
+	  _fmt_ucat()
+
+2000-11-11 07:41  eric
+
+	* display/d.profile/DumpProfile.c, display/d.profile/ExtractProf.c,
+	  display/d.profile/PlotProfile.c, display/d.profile/main.c,
+	  display/d.profile/profile.h: Added profile output to
+	  <file>.[A|B|C|D] Maximum of four profiles.
+
+2000-11-11 03:05  eric
+
+	* display/d.profile/utils.c: Won't work without this file...
+
+2000-11-11 03:05  eric
+
+	* display/d.profile/ExtractProf.c, display/d.profile/PlotProfile.c,
+	  display/d.profile/main.c, display/d.profile/profile.h: Some FP
+	  updates for eventual dump of profiles. Remove unused code file.
+
+2000-11-10 22:06  eric
+
+	* display/d.profile/main.c: Fix NULL bug with reclass by using
+	  newer drawing API. CELL is drawn in
+	  overlay mode now.
+
+2000-11-10 18:34  markus
+
+	* raster/r.out.bin/README: cosmetics
+
+2000-11-10 18:30  markus
+
+	* raster/r.out.bin, raster/r.out.bin/README,
+	  raster/r.out.bin/main.c: Bob Covill <bcovill at tekmap.ns.ca>: added
+	  to export binary files
+
+2000-11-10 02:56  justin
+
+	* lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_label.c: New header style
+
+2000-11-10 02:46  justin
+
+	* lib/ogsf/gsd_fonts.c: Test of new header style
+
+2000-11-10 02:20  justin
+
+	* lib/ogsf/TODO: Added general overhaul comments
+
+2000-11-10 02:20  justin
+
+	* lib/ogsf/gsd_cplane.c: Removed comments about bug that is now
+	  fixed
+
+2000-11-09 15:31  markus
+
+	* lib/ogsf/gsd_cplane.c: Bill Brown: fix to satisfy CRAY cc and
+	  others
+
+2000-11-09 09:51  cho
+
+	* lib/gis/null_val.c: use G_malloc() instead of malloc().
+
+2000-11-09 08:28  eric
+
+	* lib/gis/null_val.c: Fix 4 byte memory leak in G_set_c_null_value
+	  for Linux and FreeBSD
+	  (didn't affect others due to #ifdef's).
+
+2000-11-08 20:32  andreas
+
+	* general/g.version/main.c: added automatic input of COPYING file
+	  for copyr. msg.
+
+2000-11-08 19:02  cho
+
+	* visualization/nviz/scripts/fileBrowser.tcl: Image dump dir
+	  changed to images from rgb.
+	  
+	  You can dump all images in GISDBASE/LOCATION_NAME/MAPSET/images
+	  dir,
+	  if it exists. Otherwise you'll browse your home directory first.
+	  
+	  Unfortunately, whenever you dump images you always browse images
+	  or home dir
+	  first by limits of tcl script call.
+
+2000-11-08 09:45  eric
+
+	* raster/r.random, raster/r.random/README, raster/r.random/count.c,
+	  raster/r.random/creat_rand.c, raster/r.random/local_proto.h,
+	  raster/r.random/support.c: Updated and heavily modified. New -i
+	  flag for total/null counts. No more
+	  interactive screen session. Everything seems to work but the
+	  history.
+
+2000-11-08 09:31  markus
+
+	* lib/ogsf/TODO: added NVIZ color bug
+
+2000-11-08 09:17  justin
+
+	* lib/ogsf/GP2.c, lib/ogsf/GSX.c, lib/ogsf/GS_util.c,
+	  lib/ogsf/GV2.c, lib/ogsf/Gs3.c, lib/ogsf/gp.c, lib/ogsf/gpd.c,
+	  lib/ogsf/gs.c, lib/ogsf/gs_bm.c, lib/ogsf/gs_norms.c,
+	  lib/ogsf/gs_query.c, lib/ogsf/gsd_cplane.c, lib/ogsf/gsd_fonts.c,
+	  lib/ogsf/gsd_img.c, lib/ogsf/gsd_img_ppm.c,
+	  lib/ogsf/gsd_img_tif.c, lib/ogsf/gsd_label.c,
+	  lib/ogsf/gsd_objs.c, lib/ogsf/gsd_prim.c, lib/ogsf/gsd_surf.c,
+	  lib/ogsf/gsd_views.c, lib/ogsf/gsd_wire.c, lib/ogsf/gsdiff.c,
+	  lib/ogsf/gsdrape.c, lib/ogsf/gsds.c, lib/ogsf/gsget.c,
+	  lib/ogsf/gsget.h, lib/ogsf/gv.c, lib/ogsf/gv_quick.c,
+	  lib/ogsf/image.h, lib/ogsf/keyframe.h, lib/ogsf/rgbpack.h,
+	  lib/ogsf/rowcol.h, lib/ogsf/trans.c: Made it more ANSI C
+	  complient but still needs work
+
+2000-11-07 18:13  markus
+
+	* lib/gmath/la.c: cosmetics
+
+2000-11-07 17:46  david
+
+	* include/la.h: New defines and prototypes for updates.
+
+2000-11-07 17:41  david
+
+	* lib/gmath/la.c: More fixes.
+
+2000-11-07 14:40  markus
+
+	* raster/r.sunmask/TODO, raster/r.sunmask/main.c: added FP TODO
+
+2000-11-07 13:53  david
+
+	* lib/gmath/la.c: Fixed logic error.
+
+2000-11-07 13:51  markus
+
+	* raster3d/r3.mkdspf/main.c: modified parameters for consistency
+	  with r3.showdspf
+
+2000-11-07 13:00  david
+
+	* lib/gmath/la.c: Some more routi
+
+2000-11-07 07:46  cho
+
+	* raster/r.digit/get_point.c: cosmetics
+
+2000-11-07 07:41  cho
+
+	* raster/r.digit/get_point.c, raster/r.digit/instruct.c,
+	  raster/r.digit/local_proto.h: applied DANOTHER_BUTTON
+
+2000-11-07 07:34  cho
+
+	* display/d.rast.edit/edit.c, display/d.rast.edit/edit.h: renamed
+	  var
+
+2000-11-07 07:29  cho
+
+	* display/d.profile/main.c, display/d.profile/profile.h: renamed
+	  LEFT, MIDDLE and RIGHT to LEFTB, MIDDLEB and RIGHTB to avoid
+	  conflicts
+	  with dig_defines.h
+
+2000-11-07 07:01  cho
+
+	* display/d.profile/profile.h, display/d.rast.edit/edit.h: applied
+	  DANOTHER_BUTTON
+
+2000-11-06 17:29  cho
+
+	* lib/raster/io.c, lib/raster/open.h: renamed: OKOK => OK
+
+2000-11-06 15:57  cho
+
+	* lib/raster/io.c: Sorry for owveriting original source.
+	  reverted
+
+2000-11-06 15:54  cho
+
+	* lib/raster/io.c: ready for socket i/o
+
+2000-11-06 13:32  markus
+
+	* lib/raster/pad_create.c, lib/raster/pad_cur.c,
+	  lib/raster/pad_delete.c, lib/raster/pad_invent.c,
+	  lib/raster/pad_list.c, lib/raster/pad_select.c: added R_pad_*
+	  info
+
+2000-11-06 13:30  markus
+
+	* lib/raster/README: added manual
+
+2000-11-06 12:02  markus
+
+	* display/d.rast.edit/menu.c: changed d.rast.zoom to d.zoom
+
+2000-11-06 05:37  cho
+
+	* display/d.what.rast/main.c: added support for multiple raster
+	  maps on current window
+
+2000-11-06 03:53  eric
+
+	* display/d.profile/ExtractProf.c, display/d.profile/PlotProfile.c:
+	  Hopefully fixed profile plot bug for NULL values.
+
+2000-11-05 15:59  cho
+
+	* display/d.save/main.c: added -o flag not to print header and
+	  tailer
+
+2000-11-05 15:53  cho
+
+	* display/d.zoom/box.c, display/d.zoom/redraw.c: added -r flag to
+	  recreate current window using R_pad_get_item("list",...).
+	  added -p flag to unzoom with panning. No panning is default.
+	  
+	  "d.zoom -p zoom=1.0" is similar to "d.pan".
+
+2000-11-05 13:47  cho
+
+	* display/d.rast/display.c, display/d.save/main.c: d.save should
+	  work correctly.
+
+2000-11-05 11:35  cho
+
+	* display/d.save/main.c, display/d.zoom/box.c: restored printout
+	  order
+
+2000-11-05 06:18  eric
+
+	* raster/r.out.tiff/r.out.tiff.c: Add compression option for none,
+	  packbits, or deflate. Tried CCITT RLE, but
+	  r.in.tiff didn't like it ;(
+
+2000-11-05 04:37  eric
+
+	* raster/r.out.tiff/r.out.tiff.c: Added TIFF World file support in
+	  both. For r.out.tiff, specify the -t flag.
+	  For r.in.tiff, it tries to read a <file>.[tfw|tifw|TIFW|TFW] to
+	  get the
+	  info, or falls back to cell==pixel behavior. Fixed segfault bug
+	  for
+	  PHOTOMETRIC_RGB input types (old dead code neaded to be removed).
+
+2000-11-03 17:55  andreas
+
+	* display/drivers/XDRIVER/XDRIVER24/icon.bit.cerl: old icon from
+	  cerl
+
+2000-11-03 17:54  andreas
+
+	* display/drivers/XDRIVER/XDRIVER24/icon.bit.grass5: new grass 5
+	  logo icon
+
+2000-11-03 17:54  andreas
+
+	* display/drivers/XDRIVER/XDRIVER24/icon.bit: new grass5 logo icon
+
+2000-11-03 08:03  cho
+
+	* display/d.what.rast/main.c, display/d.what.rast/show.c: -c flag
+	  bugfixed
+
+2000-11-02 19:09  markus
+
+	* display/drivers/lib/README: renamed
+
+2000-11-02 17:33  cho
+
+	* raster/r.out.gridatb/local_proto.h: oname is not required
+
+2000-11-02 17:24  markus
+
+	* raster/r.out.gridatb/local_proto.h: added GLOBAL char *oname;
+
+2000-11-02 16:56  cho
+
+	* raster/r.out.gridatb/main.c: fixed error
+
+2000-11-02 16:26  andreas
+
+	* raster/wildfire/r.spread/main.c: removed chars from parameter
+	  description that caused problems with xml-parser
+
+2000-11-02 07:58  cho
+
+	* raster/r.reclass/parse.c: "* = VALUE" segment fault bugfixed
+
+2000-11-01 17:40  markus
+
+	* lib/gis/readsites_xyz.c, raster/r.thin/io.c: updated CVS-Id style
+
+2000-11-01 17:26  cho
+
+	* raster/r.in.gridatb/main.c, raster/r.out.gridatb/main.c,
+	  raster/r.topidx/main.c, raster/r.topmodel/main.c: updated
+	  copyleft
+
+2000-11-01 08:11  cho
+
+	* display/d.zoom/box.c: added boundary checking
+	  
+	  BUG: cannot get sites list boundary.
+	  "NEVER REACH HERE" in main.c is starting point.
+	  Could anyone help me?
+
+2000-11-01 06:14  cho
+
+	* display/d.zoom/box.c, display/d.zoom/center.c: unzoom with
+	  panning
+
+2000-11-01 05:56  cho
+
+	* display/d.zoom/redraw.c: removed garbage output
+
+2000-11-01 05:55  cho
+
+	* display/d.zoom/redraw.c: works around rectangle bug.
+	  Hope you like it.
+
+2000-10-31 20:59  markus
+
+	* tools/cvs.recursadd, tools/cvs.remove, tools/cvs.rename.dir,
+	  tools/cvs.rename.file: added help parameter
+
+2000-10-31 20:51  markus
+
+	* tools, tools/cvs.recursadd, tools/cvs.remove,
+	  tools/cvs.rename.dir, tools/cvs.rename.file: added useful tools
+
+2000-10-31 20:50  markus
+
+	* TODO: added
+
+2000-10-31 20:50  markus
+
+	* README: Initial revision
+
+2000-10-31 15:37  cho
+
+	* raster/r.stats/cell_stats.c, raster/r.stats/global.h,
+	  raster/r.stats/main.c, raster/r.stats/stats.c: added -p flag to
+	  print percentages of cells
+
+2000-10-30 14:41  markus
+
+	* raster3d/r3.out.v5d/main.c: added error check
+
+2000-10-30 14:31  markus
+
+	* raster3d/r3.out.v5d/main.c: changed steps for percent
+
+2000-10-30 13:58  markus
+
+	* general/g3.region/editcellhd3d.c: cosmetics
+
+2000-10-28 16:03  markus
+
+	* lib/gmath/README: added small examples
+
+2000-10-28 15:13  markus
+
+	* visualization/nviz/scripts/nviz2.2: Bob Covill: parameter bugfix
+
+2000-10-28 14:36  markus
+
+	* lib/gmath/la.c: typo corrected
+
+2000-10-28 12:45  cho
+
+	* display/d.zoom/ask.c: NEW_YES is default
+
+2000-10-28 12:10  cho
+
+	* display/d.zoom/ask.c: cosmetics
+
+2000-10-28 12:08  cho
+
+	* display/d.zoom/ask.c: added #define NEW_YES to answer yes/no by
+	  clicking left/right.
+
+2000-10-28 11:46  cho
+
+	* display/d.zoom/box.c, display/d.zoom/center.c: added unzoom, with
+	  Markus Neteler
+
+2000-10-28 11:03  markus
+
+	* display/d.zoom/box.c, display/d.zoom/center.c: added unzoom,
+	  fixed quit function
+
+2000-10-27 13:08  cho
+
+	* include/display.h: added D_[get,set]_site_name() and
+	  D_add_to_site_list(), D_get_site_list()
+
+2000-10-27 12:48  cho
+
+	* lib/display/list.c: added D_[get,set]_site_name() and
+	  D_add_to_site_list(), D_get_site_list()
+
+2000-10-27 11:32  cho
+
+	* lib/gis/nme_in_mps.c: improved G_fully_qualified_name() to check
+	  already full mapname
+
+2000-10-27 10:56  cho
+
+	* display/d.rast/display.c: support for D_add_to_cell_list()
+
+2000-10-27 10:55  cho
+
+	* include/display.h, lib/display/list.c: added
+	  D_add_to_[cell,dig]_list() and D_get_[cell,dig]_list()
+
+2000-10-27 08:23  markus
+
+	* db/drivers/odbc/odbc.h: simplified due to configure
+
+2000-10-26 22:35  cho
+
+	* include/display.h, lib/display/list.c: renamed digit to dig
+
+2000-10-26 19:47  cho
+
+	* include/display.h, lib/display/list.c: added
+	  D_[set,get]_digit_name()
+
+2000-10-26 19:06  cho
+
+	* imagery/i.ortho.photo/photo.2target/mark.c: typecast bugfixed
+
+2000-10-26 06:56  justin
+
+	* lib/ogsf/gsd_legend.c: Moved files with new features to
+	  newFeatures directory
+
+2000-10-25 15:27  markus
+
+	* raster/r.water.outlet/main.c: updated to common parser
+
+2000-10-25 13:31  markus
+
+	* visualization/nviz/scripts/nviz2.2: Bob Covill
+	  <bcovill at tekmap.ns.ca>: new startup script based on tcl
+
+2000-10-25 07:34  cho
+
+	* lib/init/README: added, non-interactive startup examples
+
+2000-10-25 07:03  markus
+
+	* lib/ogsf/gsd_views.c: Justin Hickey: fixed: The problem was that
+	  OpenGL wants the matrices defined as m[16] instead of m[4][4]
+
+2000-10-24 14:19  markus
+
+	* imagery/i.ortho.photo/photo.2target/mark.c: Huidae Cho: removed
+	  compiler problem on CRAY
+
+2000-10-24 14:14  markus
+
+	* imagery/i.ortho.photo/photo.2target/zoom_box.c: severe: closed
+	  comment
+
+2000-10-24 14:00  markus
+
+	* lib/ogsf/gsd_views.c: added cast (const GLfloat *) for CRAY
+
+2000-10-24 13:49  markus
+
+	* lib/ogsf/Gs3.c: added casts for CRAY
+
+2000-10-23 16:44  markus
+
+	* raster/r.sunmask, raster/r.sunmask/README,
+	  raster/r.sunmask/main.c: janne soimasuo: added to calculated
+	  shadows from DEM, not yet added to lists/GRASS
+
+2000-10-23 13:57  markus
+
+	* raster/r.buffer/local_proto.h, raster/r.buffer/main.c,
+	  raster/r.buffer/read_map.c: added -z flag
+
+2000-10-23 13:45  markus
+
+	* raster/r.patch/main.c: renamed Gpatch.c to main.c, removed
+	  comment
+
+2000-10-23 12:31  cho
+
+	* display/d.profile/profile.h: corrected prototype
+
+2000-10-23 11:54  cho
+
+	* display/d.profile/Range.c, display/d.profile/main.c: bug fixed to
+	  work with FP maps
+
+2000-10-23 11:23  cho
+
+	* display/d.profile/main.c, display/d.profile/profile.h: added
+	  #define ANOTHER_BUTTON for two button mouse
+
+2000-10-20 05:01  cho
+
+	* raster/r.topidx/topidx.c: logf() changed to log() for SUN
+
+2000-10-19 05:52  eric
+
+	* visualization/nviz/src/tkUnixPort.h: make that #if ...
+
+2000-10-19 05:40  eric
+
+	* visualization/nviz/src/tkUnixPort.h: Added '#ifdef
+	  (TCL_MINOR_VERSION) < 2' wrapper around 'panic()' declaration.
+	  Now NVIZ compiles and runs after 2+ weeks of no NVIZ.
+	  *** Hope this doesn't cause breakage for others ***
+
+2000-10-19 03:46  justin
+
+	* lib/ogsf/gsd_views.c: Found a cleaner fix to ID_matrix bug
+
+2000-10-18 02:45  eric
+
+	* raster/r.surf.area/main.c: Updated to work with FP rasters.
+	  Skips NULL cells, but reports total NULL area found.
+	  Might be a big problem if there's alot of NULL values mixed in
+	  surface.
+	  Basic algorithm is untouched.
+
+2000-10-17 12:51  cho
+
+	* imagery/i.ortho.photo/photo.2image/mark.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c: added #define
+	  MOUSE_YN to answer y/n by mouse click
+
+2000-10-17 11:33  cho
+
+	* lib/ogsf/gsd_views.c: ID_matrix should be defined once in a
+	  library (in gsd_views.c).
+	  
+	  NVIZ compilation was successfully done with this fix.
+	  I hope this corrects NVIZ compilation.
+
+2000-10-17 08:37  markus
+
+	* imagery/i.ortho.photo/photo.2target/globals.h,
+	  imagery/i.ortho.photo/photo.2target/mark.c: Huidae Cho: updated
+	  to support FP elevations
+
+2000-10-16 16:15  markus
+
+	* visualization/nviz/src/tkInt8.3.h,
+	  visualization/nviz/src/tkIntDecls8.3.h,
+	  visualization/nviz/src/togl.h: Bob Covill <bcovill at tekmap.ns.ca>:
+	  added tcl8.3 sensivity
+
+2000-10-16 16:14  markus
+
+	* visualization/nviz/src/tkInt.h,
+	  visualization/nviz/src/tkInt8.0.h: renamed from tkInt.h to
+	  tkInt8.0.h
+
+2000-10-16 04:21  eric
+
+	* sites/s.in.ascii/get_site.c: Think I've fixed the parsing once
+	  and for all.
+
+2000-10-15 18:40  andreas
+
+	* include/CC.h: updated to conform to new coordinate conversion
+	  library, sorry forgot this in the first round
+
+2000-10-15 16:01  markus
+
+	* include/CC.h: corrected type definitions for datm support
+
+2000-10-15 12:30  andreas
+
+	* general/g.setproj/README, general/g.setproj/get_datum.c,
+	  general/g.setproj/local_proto.h, general/g.setproj/main.c:
+	  support for new datum metadata
+
+2000-10-15 12:03  andreas
+
+	* lib/gis/ellipse.table, lib/gis/get_datum.c,
+	  lib/gis/get_datum_name.c, lib/gis/get_ellipse.c, lib/gis/proj3.c:
+	  new cc library
+
+2000-10-14 16:53  markus
+
+	* raster/r.param.scale: moved to src.nonGPL due to use of numerical
+	  receipe functions
+
+2000-10-11 10:40  justin
+
+	* lib/init/clean_temp.c: Changed time() call to ANSI C standard
+
+2000-10-09 01:57  eric
+
+	* include/site.h, lib/gis/readsites_xyz.c: Added ability to ignore
+	  z-value completely using field=SITE_COL_NUL
+
+2000-10-07 21:40  eric
+
+	* lib/gis/readsites_xyz.c: Minor change for clarity.
+
+2000-10-07 21:23  eric
+
+	* include/site.h, lib/gis/readsites_xyz.c: Added Cell_head *region
+	  parameter. Now respects region! Fixed index bug for
+	  dimensions.
+
+2000-10-06 04:13  eric
+
+	* include/site.h, lib/gis/readsites_xyz.c: Added the
+	  G_readsites_xyz() function and related G_alloc_site_xyz() and
+	  G_free_site_xyz() convenience functions. Will send Markus a short
+	  LaTeX
+	  documentation and example...
+
+2000-10-05 13:30  cho
+
+	* display/d.what.rast/local_proto.h, display/d.what.rast/main.c,
+	  display/d.what.rast/show.c, display/d.what.rast/what.c: added -c
+	  flag to find out col and row
+
+2000-10-04 19:16  cho
+
+	* imagery/i.ortho.photo/libes/ls_cameras.c,
+	  imagery/i.ortho.photo/libes/ls_elev.c, lib/imagery/ls_groups.c:
+	  use PAGER env var instead of "more -d"
+
+2000-10-02 15:30  markus
+
+	* lib/ogsf/gsd_img_tif.c: Bob Covill <bcovill at tekmap.ns.ca>: added
+	  TIFF support
+
+2000-10-02 14:57  markus
+
+	* imagery/i.ortho.photo/README: updated
+
+2000-09-29 13:26  markus
+
+	* lib/ogsf/gsd_img.c: added little/big endian test
+
+2000-09-28 16:29  markus
+
+	* lib/rst/interp_float/output2d.c: Helena Mitasova: bugfix: it had
+	  problems when spatially variable smoothing was given as smatt
+
+2000-09-28 09:02  markus
+
+	* raster3d/r3.mask/mask.c, raster3d/r3.null/mask.c: corrected type
+	  of perror
+
+2000-09-28 08:59  markus
+
+	* general/g3.region/main.c: added int type to main()
+
+2000-09-28 08:49  markus
+
+	* raster3d/r3.info/main.c: added extern declaration
+
+2000-09-28 08:44  markus
+
+	* raster3d/r3.in.ascii/main.c: added extern declaration
+
+2000-09-28 07:27  markus
+
+	* lib/g3d/g3drange.c: Bill Brown: corrected fclose() to close()
+
+2000-09-28 00:47  david
+
+	* lib/gmath/la.c: Further updates and bugfixes from last version
+
+2000-09-28 00:46  david
+
+	* include/la.h: Further updates
+
+2000-09-28 00:22  david
+
+	* include/la.h: Updated
+
+2000-09-28 00:22  david
+
+	* lib/gmath/la.c: More functions added, updates
+
+2000-09-27 16:48  markus
+
+	* lib/gmath/README: added further LAPACK/BLAS compile instructions
+
+2000-09-27 16:15  markus
+
+	* lib/gmath/README: added LAPACK/BLAS compile instructions
+
+2000-09-27 16:06  markus
+
+	* lib/gmath/README: added netlib URL
+
+2000-09-27 15:57  markus
+
+	* lib/gmath/README: added netlib URLa
+
+2000-09-27 15:46  markus
+
+	* lib/gmath/README: short doc
+
+2000-09-27 14:53  markus
+
+	* lib/ogsf/gsd_img_ppm.c: added little/big endian test
+
+2000-09-27 12:02  markus
+
+	* lib/g3d/g3ddefaults.c: Justin Hickey: added G3d_getWindowParams
+	  prototype
+
+2000-09-27 04:44  david
+
+	* include/blas.h: Bugfixes
+
+2000-09-27 04:43  david
+
+	* lib/gmath/la.c: Couple of bugfixes
+
+2000-09-27 03:39  david
+
+	* include/blas.h, include/lapack.h: Prototypes for blas and lapack
+	  functions
+	  
+	  (only called by wrapper functions)
+
+2000-09-27 03:31  david
+
+	* lib/gmath, lib/gmath/la.c: New wrapper routines to link code to
+	  linear algebra libs (BLAS and
+	  LAPACK)
+
+2000-09-27 03:19  david
+
+	* include/la.h: Header file for linear algebra wrapper functions
+
+2000-09-27 03:19  david
+
+	* include/gmath.h: Top level header for pluggable maths routines
+
+2000-09-26 11:48  markus
+
+	* lib/g3d/g3dparam.c: cosmetics to satify CRAY compiler
+
+2000-09-26 07:23  markus
+
+	* lib/g3d/find_grid3.c: dos2unix'ed
+
+2000-09-26 07:12  markus
+
+	* lib/g3d/filecompare.c: cast to caddr_t added
+
+2000-09-25 11:51  markus
+
+	* lib/ogsf/gsd_img_ppm.c: added PPM export support
+
+2000-09-25 11:38  markus
+
+	* sites/s.in.ascii/get_site.c: Eric G . Miller: fix the parsing
+	  problem for s.in.ascii when no category or other attributes are
+	  specified (just dimensions)
+
+2000-09-23 12:58  markus
+
+	* lib/cdhc/cdhc.h: removed ;
+
+2000-09-21 12:45  bernhard
+
+	* raster3d/r3.in.v5d/main.c: Changed license of Jaro's code to GPL
+	  as requested by him in mail:
+	  Message-ID: <39C75FCF.691AC8D4 at geomodel.sk>
+	  Date: Tue, 19 Sep 2000 14:45:03 +0200
+	  From: Jaro Hofierka <hofierka at geomodel.sk>
+	  To: Bernhard Reiter <bernhard at intevation.de>
+	  Cc: paudits at gssr.sk, Markus Neteler
+	  <neteler at geog.uni-hannover.de>
+	  Subject: Re: Grass code, your license
+
+2000-09-21 06:01  cho
+
+	* db/drivers/odbc/odbc.h: added
+
+2000-09-21 06:00  cho
+
+	* db/drivers/odbc/connect.c, db/drivers/odbc/cursor.c,
+	  db/drivers/odbc/db.c, db/drivers/odbc/describe.c,
+	  db/drivers/odbc/driver.c, db/drivers/odbc/error.c,
+	  db/drivers/odbc/execute.c, db/drivers/odbc/listdb.c,
+	  db/drivers/odbc/listtab.c, db/drivers/odbc/main.c,
+	  db/drivers/odbc/table.c: adjusted for FreeBSD unixODBC port
+
+2000-09-20 16:38  bernhard
+
+	* lib/datetime/P_datetime.h, lib/datetime/README,
+	  lib/datetime/between.c, lib/datetime/change.c,
+	  lib/datetime/copy.c, lib/datetime/datetime.h,
+	  lib/datetime/diff.c, lib/datetime/error.c, lib/datetime/format.c,
+	  lib/datetime/incr1.c, lib/datetime/incr2.c, lib/datetime/incr3.c,
+	  lib/datetime/local.c, lib/datetime/misc.c, lib/datetime/same.c,
+	  lib/datetime/scan.c, lib/datetime/sign.c, lib/datetime/type.c,
+	  lib/datetime/tz1.c, lib/datetime/tz2.c, lib/datetime/values.c,
+	  raster/r.surf.area/main.c: Changed license to GPL as requested by
+	  Helena in Mail
+	  Date: Mon, 18 Sep 2000 10:26:41 -0500 Message-Id:
+	  <200009181526.KAA23862 at modra.gis.uiuc.edu>
+	  Subject: [GRASS5] licence X-Mailing-List:
+	  grass5 at geog.uni-hannover.de
+	  From: Helena Mitasova - staff <helena at gis.uiuc.edu>
+
+2000-09-11 09:47  justin
+
+	* lib/segment/get_row.c, lib/segment/put_row.c,
+	  raster/r.cost/memory.c, raster/r.random.cells/flag.c,
+	  raster/r.random.cells/init.c: Changes required to compile on SGI
+	  IRIX 6.5
+
+2000-09-09 02:54  cho
+
+	* raster/r.patch/do_patch.c: -z flag works with ZERO and NULL
+	  transparency
+
+2000-09-08 18:49  bernhard
+
+	* raster/r.resamp.rst/main.c: Changed license to GPL as requested
+	  by Helena Mitasova - staff <helena at gis.uiuc.edu>
+	  in Mail from:
+	  Date: Thu, 31 Aug 2000 11:12:28 -0500
+	  Message-Id: <200008311612.LAA00114 at modra.gis.uiuc.edu>
+
+2000-09-08 13:21  frankw
+
+	* lib/gis/mapset.c: avoid crashing in G_mapset() if MAPSET not set
+
+2000-09-08 13:18  frankw
+
+	* lib/gis/mapset.c: added G__mapset() for safely fetching mapset
+	  name
+
+2000-09-07 21:15  cho
+
+	* raster/r.patch/do_patch.c: simplified G_is_zero_value()
+
+2000-09-07 20:03  cho
+
+	* lib/gis/range.c: check NULL boundary
+
+2000-09-07 18:13  cho
+
+	* raster/r.patch/do_patch.c: -z flag implemented.
+	  try as follows:
+	  r.mapcalc "tmp1=0"
+	  
+	  r.patch -z i=another,tmp1 o=tmp2
+	  d.erase; d.rast -o tmp2 # another's color table is used.
+	  # normal color
+	  
+	  r.patch -z i=tmp1,another o=tmp3
+	  d.erase; d.rast -o tmp3 # tmp1's color table is used.
+	  # maybe white color
+	  
+	  r.mapcalc "tmp4=tmp2-tmp3"
+	  r.null map=tmp4 setnull=0 # now tmp4 is NULL map.
+	  # this means that tmp2 equals to tmp3.
+	  # don't confuse because of color.
+
+2000-09-07 16:52  markus
+
+	* raster/r.patch/do_patch.c, raster/r.patch/local_proto.h: added
+	  preliminary support for new flag: -z: use 0 for transparency
+	  instead of NULL
+
+2000-09-07 16:42  markus
+
+	* raster/r.patch/nfiles.h: increased number of accepted files to 50
+
+2000-09-07 16:30  markus
+
+	* raster3d/r3.showdspf/main_ogl.c: Bev Wallace
+	  <beverly.t.wallace at lmco.com>: bugfix to remove the mapset within
+	  buff, add to G_find_file2
+
+2000-09-07 09:35  cho
+
+	* raster/r.topmodel/file_io.c: tm_zone removed
+
+2000-09-06 16:36  cho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/local_proto.h, raster/r.topmodel/topmodel.c:
+	  new qv routine added: qv = alpha * K0 * exp(-S/m)
+	  K renamed to K0
+
+2000-09-06 05:41  cho
+
+	* raster/r.what/main.c: fixed to quit
+
+2000-09-05 14:49  cho
+
+	* raster/r.topmodel/topmodel.c: nothing :)
+
+2000-09-05 08:58  cho
+
+	* raster/r.topmodel/README, raster/r.topmodel/REFERENCE,
+	  raster/r.topmodel/check_ready.c, raster/r.topmodel/file_io.c,
+	  raster/r.topmodel/local_proto.h, raster/r.topmodel/main.c,
+	  raster/r.topmodel/topmodel.c: added Qobs parameter and cosmetics
+
+2000-09-01 06:52  cho
+
+	* lib/gis/proj3.c: added "unit" to
+	  G_database_units_to_meters_factor() for PROJECTION_XY.
+	  
+	  v.digit abnormally exits with Customize menu because
+	  G_database_units_to_meters_factor() returns 0 and causes 'divided
+	  by zero'.
+
+2000-08-31 09:50  markus
+
+	* imagery/i.smap/bouman/bouman.h, imagery/i.smap/bouman/segment.c,
+	  imagery/i.smap/shapiro/write_img.c: Roger Miller <abq at lwasf.com>:
+	  bugfix to get i.smap working
+
+2000-08-31 09:09  markus
+
+	* raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/vizual.h: modified GL paths
+
+2000-08-26 11:18  markus
+
+	* lib/gis/geo_init.c: Eric G. Miller/Morten Hulden: added false
+	  easting/false northing to aea:Albers Equal Area projection
+
+2000-08-26 11:06  markus
+
+	* general/g.setproj/get_num.c: Morten Hulden: fix on false northing
+	  not set properly
+
+2000-08-23 19:18  cho
+
+	* raster/r.topmodel/local_proto.h, raster/r.topmodel/topmodel.c:
+	  correct algorithm
+
+2000-08-23 18:21  cho
+
+	* raster/r.topmodel/file_io.c: added qs0 exception check
+
+2000-08-23 18:15  cho
+
+	* raster/r.topmodel/topmodel.c: correct algorithm
+
+2000-08-23 17:45  cho
+
+	* raster/r.topmodel/file_io.c, raster/r.topmodel/local_proto.h:
+	  fixed getting infex
+
+2000-08-23 17:09  cho
+
+	* display/d.rast.edit/menu.c: fixed grid color menu
+
+2000-08-23 16:50  cho
+
+	* raster/r.topmodel/file_io.c: parameters file format changed
+
+2000-08-23 10:22  cho
+
+	* raster/r.topmodel/file_io.c: "%15.5lf" format changed to
+	  "%15.5le"
+
+2000-08-22 16:17  cho
+
+	* display/d.rast.edit/edit.c, display/d.rast.edit/edit.h: added
+	  #define ANOTHER_BUTTON for convenient two mouse clicking
+
+2000-08-21 20:27  cho
+
+	* scripts, scripts/g.mlist, scripts/g.mlist/README: added g.mlist
+
+2000-08-21 18:42  cho
+
+	* raster/r.topidx/r.avgstats: exit with values
+
+2000-08-21 18:40  cho
+
+	* raster/r.topidx/r.avgstats: cosmetics
+
+2000-08-21 18:26  cho
+
+	* raster/r.surf.contour/main.c: print out 100% :)
+
+2000-08-21 13:44  john
+
+	* raster/r.topmodel/file_io.c: tm_zone not in Cygwin, added #ifdef
+
+2000-08-21 13:38  markus
+
+	* general/g.version/main.c: corrected GRASS name
+
+2000-08-21 04:21  cho
+
+	* raster/r.topmodel/local_proto.h, raster/r.topmodel/main.c,
+	  raster/r.topmodel/misc.c: modulized and cosmetics
+
+2000-08-20 18:26  cho
+
+	* raster/r.topmodel/file_io.c: corrected get_line() function to
+	  skip newline character
+
+2000-08-20 18:07  cho
+
+	* raster/r.topmodel/file_io.c: corrected get_line() function
+
+2000-08-20 17:57  cho
+
+	* raster/r.out.gridatb/main.c: corrected flag description
+
+2000-08-20 14:10  markus
+
+	* lib/gis/null_val.c: fix for Linux on -129 NULL bug
+
+2000-08-20 14:01  markus
+
+	* lib/ogsf/README: added explanations
+
+2000-08-20 13:59  markus
+
+	* lib/ogsf/README: added explanations
+
+2000-08-20 06:35  cho
+
+	* raster/r.topmodel/main.c: cosmetics
+
+2000-08-20 05:57  cho
+
+	* raster/r.in.gridatb, raster/r.in.gridatb/README,
+	  raster/r.in.gridatb/adjcellhd.c,
+	  raster/r.in.gridatb/check_ready.c, raster/r.in.gridatb/file_io.c,
+	  raster/r.in.gridatb/local_proto.h, raster/r.in.gridatb/main.c,
+	  raster/r.out.gridatb, raster/r.out.gridatb/README,
+	  raster/r.out.gridatb/adjcellhd.c,
+	  raster/r.out.gridatb/check_ready.c,
+	  raster/r.out.gridatb/file_io.c,
+	  raster/r.out.gridatb/local_proto.h, raster/r.out.gridatb/main.c,
+	  raster/r.topidx, raster/r.topidx/README,
+	  raster/r.topidx/adjcellhd.c, raster/r.topidx/check_ready.c,
+	  raster/r.topidx/file_io.c, raster/r.topidx/local_proto.h,
+	  raster/r.topidx/main.c, raster/r.topidx/r.avgstats,
+	  raster/r.topidx/topidx.c, raster/r.topmodel,
+	  raster/r.topmodel/README, raster/r.topmodel/check_ready.c,
+	  raster/r.topmodel/file_io.c, raster/r.topmodel/infiltration.c,
+	  raster/r.topmodel/local_proto.h, raster/r.topmodel/main.c,
+	  raster/r.topmodel/misc.c, raster/r.topmodel/topmodel.c: Huidae
+	  Cho <hdcho at geni.knu.ac.kr>: TOPMODEL simulation and other stuff
+
+2000-08-19 15:19  markus
+
+	* lib/init/lock.c: added extended error message for can't write
+	  lockfile error
+
+2000-08-19 13:54  markus
+
+	* lib/imagery/proj.c: corrected typo
+
+2000-08-01 19:17  cho
+
+	* lib/gis/closecell.c: Bug fixed: free FCB.data twice
+
+2000-07-28 17:56  cho
+
+	* lib/gis/null_val.c: CELL NULL value fixed. -129 was NULL value on
+	  some machines.
+	  The largest negative integer value is used as NULL.
+	  
+	  Include this line if -129 does not work:
+	  
+	  #define ANOTHER_CELL_NULL
+
+2000-07-26 13:07  markus
+
+	* visualization/nviz/src/query_postgr.c: corrected vector header
+
+2000-07-25 15:46  cho
+
+	* raster/r.info/main.c: Print raster data type.
+
+2000-07-22 21:01  alex
+
+	* lib/fonts/fonts/cyrilc.hmp: jcuken-koi8 mapping used
+
+2000-07-15 07:37  andreas
+
+	* general/g.version/main.c: fixed version strings
+
+2000-07-13 13:18  markus
+
+	* visualization/nviz/src/getCat.c,
+	  visualization/nviz/src/query_postgr.c: removed dig*.h as Vect.h
+	  is sufficient now
+
+2000-07-12 19:30  cho
+
+	* visualization/nviz/scripts/fileBrowser.tcl: Save box browses
+	  GISDBASE/LOCATION_NAME/MAPSET/rgb first. If this does not
+	  exist, browse HOME directory then '.'.
+	  This method cannot save changed directory after closing dialog
+	  box.
+
+2000-07-12 18:51  cho
+
+	* raster/r.null/mask.c: Bug fixed: skip null values in
+	  mask_match_d_interval()
+
+2000-07-12 14:01  markus
+
+	* lib/image/close.c: reversed byte order for header for Linux to
+	  make RGB output readable
+
+2000-07-07 11:50  markus
+
+	* display/drivers/HTMLMAP/Can_do.c,
+	  display/drivers/HTMLMAP/Color.c,
+	  display/drivers/HTMLMAP/Draw_line.c,
+	  display/drivers/HTMLMAP/Graph_Clse.c,
+	  display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/Panel.c,
+	  display/drivers/HTMLMAP/Polygn_abs.c,
+	  display/drivers/HTMLMAP/Reset_clr.c,
+	  display/drivers/HTMLMAP/Text.c,
+	  display/drivers/HTMLMAP/local_proto.h,
+	  imagery/i.vpoints/Vectpoints.h, imagery/i.vpoints/setup.c,
+	  include/V_.h, lib/datetime/format.c, lib/datetime/type.c,
+	  lib/gis/timestamp.c, raster/r.cost/memory.c,
+	  raster/r.kappa/calc_kappa.c: Bill Hughes: moves the vector
+	  headers and changes the modules to #include Vect.h instead of the
+	  individual dig_*.h headers.
+
+2000-07-06 16:50  markus
+
+	* lib/gis/readsites.c: comments added and debug output removed
+
+2000-07-06 16:44  markus
+
+	* include/readsites.h, lib/gis/readsites.c: added new library
+	  function G_readsites to overcome the problem, that all sites
+	  modules have their private readsites code.
+
+2000-07-06 13:55  cho
+
+	* lib/gis/adj_cellhd.c: Huidae Cho <hdcho at geni.knu.ac.kr>: return
+	  back
+
+2000-07-06 13:48  markus
+
+	* raster/r.out.mpeg/README: removed GARDEN path, as unused now
+
+2000-07-05 11:13  justin
+
+	* lib/init/local_proto.h: Made changes to comply with renaming
+	  src/general/gis to src/general/init
+
+2000-07-05 09:50  justin
+
+	* lib/init/grass_intro.txt, lib/init/set_data.c: new name makes
+	  more sense
+
+2000-07-05 09:32  justin
+
+	* lib/init, lib/init/chk_dbase.c, lib/init/clean_temp.c,
+	  lib/init/echo.c, lib/init/local_proto.h, lib/init/lock.c,
+	  lib/init/mke_loc.c, lib/init/mke_mapset.c, lib/init/other.c,
+	  lib/init/run.c, lib/init/version.sed: moved gis// to init//:
+	  renamed directory
+
+2000-07-03 14:07  markus
+
+	* visualization/nviz/scripts/nviz2.2: adjusted parameter management
+
+2000-06-30 15:24  markus
+
+	* raster/r.out.pov, raster/r.out.pov/main.c: Klaus D. Meyer: added
+	  to export to POVRAY software
+
+2000-06-30 11:59  markus
+
+	* lib/gis/get_row.c: Roger Bivand: updated error messages to avoid
+	  crashes in R interface
+
+2000-06-30 11:32  markus
+
+	* lib/gis/get_window.c: cosmetics
+
+2000-06-22 10:58  cho
+
+	* lib/image/close.c: Huidae Cho <hdcho at geni.knu.ac.kr>: DOREV
+	  defined for byte order
+
+2000-06-22 06:50  cho
+
+	* visualization/nviz/scripts/fileBrowser.tcl: Huidae Cho
+	  <hdcho at geni.knu.ac.kr>: GISDBASE/LOCATION_NAME/MAPSET/rgb
+	  directory
+	  can be used to store rgb files if this directory exists.
+
+2000-06-22 06:01  cho
+
+	* lib/image/close.c: Huidae Cho <hdcho at geni.knu.ac.kr>: byte order
+	  checking in FreeBSD
+
+2000-06-22 06:00  cho
+
+	* lib/image/open.c: Huidae Cho <hdcho at geni.knu.ac.kr>: added
+	  missing fclose(f1)
+
+2000-06-21 11:22  cho
+
+	* lib/ogsf/Gs3.c: Huidae Cho <hdcho at geni.knu.ac.kr>: fixed buggy
+	  Gs_loadmap_as_char()
+
+2000-06-18 17:07  markus
+
+	* raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c:
+	  updated G_get_map_row
+
+2000-06-13 08:04  markus
+
+	* raster3d/r3.out.ascii/main.c: changed return type of main to int
+
+2000-06-13 08:02  markus
+
+	* raster3d/r3.mask/mask.c, raster3d/r3.null/mask.c: changed static
+	  to extern declaration
+
+2000-06-13 07:56  markus
+
+	* raster3d/r3.info/main.c: added int to main, changed static to
+	  extern declaration
+
+2000-06-13 07:51  markus
+
+	* general/g3.region/main.c: changed static declaration to extern
+
+2000-06-13 07:51  markus
+
+	* general/g3.region/editcellhd3d.c: changed static declarations to
+	  extern
+
+2000-06-12 14:23  cho
+
+	* lib/gis/adj_cellhd.c: Huidae Cho <hdcho at geni.knu.ac.kr>: fixed
+	  CELL size info
+
+2000-06-07 13:52  john
+
+	* general/g3.region/editcellhd3d.c: removed max function
+
+2000-06-07 13:51  john
+
+	* general/g3.region/lister.c: removed format_double fucntion
+
+2000-06-04 11:41  markus
+
+	* raster3d/r3.out.v5d/main.c: Jaro Hofierka: removed region
+	  sensitive settings, corrected row/col order
+
+2000-05-31 13:34  markus
+
+	* raster3d/r3.out.v5d/main.c: region settings sensitive now
+
+2000-05-31 11:57  markus
+
+	* raster3d/r3.out.ascii/main.c: updated decimals to dp (top be
+	  conform with r.out.ascii) and corrected dp in case of double G3D
+	  (was 2*dp)
+
+2000-05-30 18:14  markus
+
+	* raster3d/r3.showdspf/r3_find.c: added more explanatory error
+	  message
+
+2000-05-30 16:18  markus
+
+	* raster3d/r3.showdspf/cap_data.c,
+	  raster3d/r3.showdspf/do_color_ogl.c,
+	  raster3d/r3.showdspf/draw_cap_ogl.c,
+	  raster3d/r3.showdspf/draw_cappolys_ogl.c,
+	  raster3d/r3.showdspf/draw_polys_ogl.c,
+	  raster3d/r3.showdspf/get_color_ogl.c,
+	  raster3d/r3.showdspf/init_caps.c,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/make_header.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/r3.showdspf_opengl_mods.html,
+	  raster3d/r3.showdspf/r3_data.c,
+	  raster3d/r3.showdspf/thresh_array.c: changed viz.h to vizual.h to
+	  avoid file name conflicts on WINDOWS
+
+2000-05-30 16:15  markus
+
+	* raster3d/r3.showdspf/vizual.h, raster3d/r3.showdspf/vizual2.h:
+	  renamed to avoid file name conflict on WINDOWS
+
+2000-05-30 15:57  markus
+
+	* lib/ogsf/Gs3.c: renamed from Gs.c to Gs3.c to fix name conflict
+	  on WIN
+
+2000-05-30 15:56  markus
+
+	* lib/ogsf/GV2.c: renamed from GV.c to GV2.c to fix name conflict
+	  on WIN
+
+2000-05-30 15:55  markus
+
+	* lib/ogsf/GP2.c: renamed from GP.c to GP2.c to fix name conflict
+	  on WIN
+
+2000-05-30 15:31  markus
+
+	* display/drivers/lib/Text2.c: mv text.c Text2.c
+
+2000-05-30 12:23  markus
+
+	* raster3d/r3.showdspf/main_ogl.c: updated gets to fgets
+
+2000-05-26 14:05  markus
+
+	* visualization/nviz/src/tkUnixPort.h: Huidae Cho
+	  <hdcho at geni.knu.ac.kr>: added FreeBSD sensivity
+
+2000-05-25 07:48  markus
+
+	* raster3d/r3.showdspf/showdspf.gif: Lisa Zygo: updated to common
+	  man structure
+
+2000-05-25 07:06  markus
+
+	* raster3d/r3.in.ascii/main.c: corrected output gisprompt from cell
+	  to g3d
+
+2000-05-25 07:00  markus
+
+	* raster3d/r3.in.v5d/main.c: corrected output gisprompt
+
+2000-05-25 06:45  markus
+
+	* raster3d/r3.out.v5d/main.c: added G_percent, changed type of main
+	  to int, added return
+
+2000-05-24 12:11  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Panel.c: Carl Anderson
+	  <candrsn at mindspring.com>: changed so that if any part of the
+	  window was off screen during an image capture (popup, menu) the
+	  window is moved such that the entire window is on screen.
+
+2000-05-23 12:27  markus
+
+	* raster3d/r3.out.v5d/main.c: made output parameter required, as
+	  the module will cause problems otherwise
+
+2000-05-22 15:40  markus
+
+	* imagery/i.ortho.photo/menu/menu.c: switched item 6 and 7 to avoid
+	  warning. Makes more sense now
+
+2000-05-20 20:40  markus
+
+	* raster/wildfire, raster/wildfire/r.ros,
+	  raster/wildfire/r.ros/main.c, raster/wildfire/r.ros/spot_dist.c,
+	  raster/wildfire/r.spread, raster/wildfire/r.spread/cell_ptrHa.h,
+	  raster/wildfire/r.spread/cmd_line.h,
+	  raster/wildfire/r.spread/collect_ori.c,
+	  raster/wildfire/r.spread/costHa.h,
+	  raster/wildfire/r.spread/deleteHa.c,
+	  raster/wildfire/r.spread/display.c,
+	  raster/wildfire/r.spread/fixHa.c,
+	  raster/wildfire/r.spread/get_minHa.c,
+	  raster/wildfire/r.spread/insert2Ha.c,
+	  raster/wildfire/r.spread/insertHa.c,
+	  raster/wildfire/r.spread/main.c,
+	  raster/wildfire/r.spread/pick_dist.c,
+	  raster/wildfire/r.spread/pick_ignite.c,
+	  raster/wildfire/r.spread/ram2out.c,
+	  raster/wildfire/r.spread/replaceHa.c,
+	  raster/wildfire/r.spread/select_linksB.c,
+	  raster/wildfire/r.spread/spot.c,
+	  raster/wildfire/r.spread/spread.c, raster/wildfire/r.spreadpath,
+	  raster/wildfire/r.spreadpath/drawline.c,
+	  raster/wildfire/r.spreadpath/insert.c,
+	  raster/wildfire/r.spreadpath/main.c,
+	  raster/wildfire/r.spreadpath/path_finder.c,
+	  raster/wildfire/r.spreadpath/point.h,
+	  raster/wildfire/r.spreadpath/stash.h: Jianping Xu 1995: WIldfire
+	  SPread Simulation, WiSpS, containing three GRASS modules r.ros,
+	  r.spread and r.spreadpath, their manual pages, and a set of test
+	  data. - changed G_put_row to compile on GRASS 5. firedemo.sh is
+	  working impressively.
+
+2000-05-20 17:58  radim
+
+	* db, db/drivers, db/drivers/odbc, db/drivers/odbc/INSTALL,
+	  db/drivers/odbc/TODO, db/drivers/odbc/connect.c,
+	  db/drivers/odbc/cursor.c, db/drivers/odbc/db.c,
+	  db/drivers/odbc/describe.c, db/drivers/odbc/driver.c,
+	  db/drivers/odbc/error.c, db/drivers/odbc/execute.c,
+	  db/drivers/odbc/listdb.c, db/drivers/odbc/listtab.c,
+	  db/drivers/odbc/main.c, db/drivers/odbc/proto.h,
+	  db/drivers/odbc/table.c: new driver
+
+2000-05-19 12:11  markus
+
+	* imagery/i.ortho.photo/libes/m_inverse.c: added user hint in case
+	  of singular matrix error
+
+2000-05-18 14:47  markus
+
+	* raster/r.out.tiff, raster/r.out.tiff/r.out.tiff.c,
+	  raster/r.out.tiff/rasterfile.h: r.in.tiff/r.out.tiff without LZW
+	  compression and memory overflow fix
+
+2000-05-18 09:21  markus
+
+	* lib/datetime/copy.c: Bill Brown/Bill Hughes: updated to fix
+	  r.timestamp bug
+
+2000-05-15 17:44  markus
+
+	* imagery/i.ortho.photo/photo.rectify/cp.c: corrected typo
+
+2000-05-15 13:24  markus
+
+	* imagery/i.ortho.photo/README: added hint where to find main
+	  program
+
+2000-05-14 12:30  markus
+
+	* raster/r.mfilter/perform.c: changed G_put_map_row to
+	  G_put_c_raster_row to avoid NULL problem. Further updating
+	  required
+
+2000-05-12 16:47  markus
+
+	* include/G3d.h: dos2unix'ed file
+
+2000-05-07 10:39  markus
+
+	* raster3d/r3.showdspf/TODO: is updated
+
+2000-05-05 14:13  markus
+
+	* display/d.linegraph/linegraph.c, raster3d/r3.mkdspf/main.c: added
+	  math.h
+
+2000-05-05 14:06  markus
+
+	* raster/r.out.png/r.out.png.c: Andreas Lange: added and , added
+	  _MYINCLUDE_H
+
+2000-05-04 14:54  markus
+
+	* lib/gis/timestamp.c: Bill Brown <brown at gis.uiuc.edu>: reversed
+	  patch to to match datetime_copy() like memcpy() or strcpy(),
+	  changed src/libes/datetime/copy.c accordingly
+
+2000-05-04 13:39  markus
+
+	* lib/gis/timestamp.c: Bill Hughes <bhughes at grasshoppernet.com>:
+	  fixed timestamp bug
+
+2000-05-02 14:17  markus
+
+	* general/g.setproj/get_stp.c: Bill Brown: fixed missing braces for
+	  ALASKA FIPS bug
+
+2000-05-02 07:29  markus
+
+	* raster3d/r3.out.ascii/main.c: removed as idea was included by
+	  Jaro
+
+2000-05-02 07:24  markus
+
+	* raster3d/r3.in.v5d, raster3d/r3.in.v5d/binio.c,
+	  raster3d/r3.in.v5d/binio.h, raster3d/r3.in.v5d/main.c,
+	  raster3d/r3.in.v5d/v5d.c, raster3d/r3.in.v5d/v5d.h,
+	  raster3d/r3.in.v5d/vis5d.h, raster3d/r3.out.v5d,
+	  raster3d/r3.out.v5d/binio.c, raster3d/r3.out.v5d/binio.h,
+	  raster3d/r3.out.v5d/main.c, raster3d/r3.out.v5d/v5d.c,
+	  raster3d/r3.out.v5d/v5d.h, raster3d/r3.out.v5d/vis5d.h: Jaro
+	  Hofierka <hofierka at geomodel.sk>: contribution to interchange
+	  grid3d with VIS5D
+
+2000-04-25 19:00  markus
+
+	* raster/r.cost/stash.h: Pierre: added multiple sites support
+
+2000-04-15 08:35  markus
+
+	* lib/segment/get.c, lib/segment/put.c: Pierre: bugfix
+
+2000-04-15 08:12  markus
+
+	* raster/r.cost/memory.c, raster/r.cost/memory.h: Pierre: final
+	  bugfix for NULL etc.
+
+2000-04-14 13:22  markus
+
+	* lib/imagery/ask_bands.c, lib/imagery/ask_colors.c,
+	  lib/imagery/ask_group.c, lib/imagery/ask_subgrp.c: changed stdout
+	  to srderr to fix blank screen problem
+
+2000-04-14 13:08  markus
+
+	* general/g3.region/editcellhd3d.c: changed stdout to stderr
+
+2000-04-14 13:00  markus
+
+	* general/g3.region/editcellhd3d.c: updated printf to fprintf to
+	  fix screen problems
+
+2000-04-14 12:58  markus
+
+	* general/g3.region/editcellhd3d.c: updated printf to fprintf to
+	  fix screen problems
+
+2000-04-14 11:12  markus
+
+	* lib/segment/debug.c: qPierre de Mouveaux <pmx at audiovu.com>:
+	  modified to reflect ../../include/segment.h changes
+
+2000-04-12 13:02  markus
+
+	* raster/r.cost/memory.c, raster/r.cost/memory.h: Pierre: added new
+	  files
+
+2000-04-12 10:23  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/README: added bugfix
+	  information
+
+2000-04-12 10:19  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/Clr_table.c,
+	  display/drivers/XDRIVER/XDRIVER24/local_proto.h: Carl Anderson
+	  <candrsn at mindspring.com>: many fixes to get fully platform
+	  independent, new parameter nlev=-1 to force TrueColor
+
+2000-04-11 19:08  markus
+
+	* raster/r.random.cells, raster/r.random.cells/README,
+	  raster/r.random.cells/flag.c, raster/r.random.cells/flag.h,
+	  raster/r.random.cells/gasdev.c, raster/r.random.cells/indep.c,
+	  raster/r.random.cells/init.c, raster/r.random.cells/main.c,
+	  raster/r.random.cells/random.c, raster/r.random.cells/ransurf.h:
+	  Author:? r.random.cells generates a random sets of cells that are
+	  at least some distance apart. The cells are numbered from 1 to
+	  the numbers of cells generated. Random cells will not be
+	  generated in areas masked off.
+
+2000-04-11 19:05  markus
+
+	* raster/r.random.surface, raster/r.random.surface/MAN.old,
+	  raster/r.random.surface/TODO, raster/r.random.surface/calcsd.c,
+	  raster/r.random.surface/calcsurf.c,
+	  raster/r.random.surface/cpfilter.c, raster/r.random.surface/dd.c,
+	  raster/r.random.surface/decay.c,
+	  raster/r.random.surface/digits.c,
+	  raster/r.random.surface/gasdev.c,
+	  raster/r.random.surface/gennorm.c,
+	  raster/r.random.surface/init.c, raster/r.random.surface/main.c,
+	  raster/r.random.surface/makebigf.c,
+	  raster/r.random.surface/makepp.c,
+	  raster/r.random.surface/random.c,
+	  raster/r.random.surface/ransurf.h,
+	  raster/r.random.surface/save.c, raster/r.random.surface/zero.c:
+	  Charles Ehlschlaeger, Michael Goodchild, and Chih-chang Lin:
+	  generates random surface(s) with spatial dependence
+
+2000-04-10 16:12  markus
+
+	* include/segment.h, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/put.c, lib/segment/put_row.c: Pierre de Mouveaux
+	  <pmx at audiovu.com>: update to fix r.cost related bug
+
+2000-04-08 00:21  alex
+
+	* lib/gis/get_row.c: buffer overrun fix
+
+2000-04-05 17:21  markus
+
+	* display/drivers/XDRIVER/XDRIVER24/README: added xdpyinfo info
+
+2000-04-05 15:38  markus
+
+	* raster3d/r3.showdspf, raster3d/r3.showdspf/Ball.c,
+	  raster3d/r3.showdspf/Ball.h, raster3d/r3.showdspf/BallAux.c,
+	  raster3d/r3.showdspf/BallAux.h, raster3d/r3.showdspf/BallMath.c,
+	  raster3d/r3.showdspf/BallMath.h, raster3d/r3.showdspf/README,
+	  raster3d/r3.showdspf/TODO, raster3d/r3.showdspf/Viz.h.bak,
+	  raster3d/r3.showdspf/cap_data.c,
+	  raster3d/r3.showdspf/cell_table.h,
+	  raster3d/r3.showdspf/do_color_ogl.c,
+	  raster3d/r3.showdspf/draw_cap_ogl.c,
+	  raster3d/r3.showdspf/draw_cappolys_ogl.c,
+	  raster3d/r3.showdspf/draw_polys_ogl.c,
+	  raster3d/r3.showdspf/get_color_ogl.c,
+	  raster3d/r3.showdspf/init_caps.c,
+	  raster3d/r3.showdspf/kns_defines.h,
+	  raster3d/r3.showdspf/kns_globals.h,
+	  raster3d/r3.showdspf/main_ogl.c,
+	  raster3d/r3.showdspf/make_header.c,
+	  raster3d/r3.showdspf/new_init_graphics.c,
+	  raster3d/r3.showdspf/r3.showdspf_opengl_mods.html,
+	  raster3d/r3.showdspf/r3_data.c, raster3d/r3.showdspf/r3_find.c,
+	  raster3d/r3.showdspf/thresh_array.c,
+	  raster3d/r3.showdspf/togif.c, raster3d/r3.showdspf/togif.h: Steve
+	  Hall: ported to openGL
+
+2000-04-03 16:09  markus
+
+	* visualization/nviz/scripts/panel_query_orig.tcl,
+	  visualization/nviz/scripts/panel_query_pg.tcl: Alex Shevlakov:
+	  patch to manage PostgreSQL support in menus
+
+2000-03-28 07:25  alex
+
+	* raster/r.out.png/r.out.png.c: bugfix
+
+2000-03-25 02:51  alex
+
+	* raster/r.out.png/r.out.png.c: ppm libs not needed
+
+2000-03-22 20:57  markus
+
+	* visualization/nviz/scripts/nviz2.2: changed starting ':' to
+	  '#!/bin/sh'
+
+2000-03-15 17:51  markus
+
+	* display/drivers/HTMLMAP, display/drivers/HTMLMAP/Can_do.c,
+	  display/drivers/HTMLMAP/Color.c,
+	  display/drivers/HTMLMAP/Draw_line.c,
+	  display/drivers/HTMLMAP/Graph_Clse.c,
+	  display/drivers/HTMLMAP/Graph_Set.c,
+	  display/drivers/HTMLMAP/Panel.c,
+	  display/drivers/HTMLMAP/Polygn_abs.c,
+	  display/drivers/HTMLMAP/README,
+	  display/drivers/HTMLMAP/Reset_clr.c,
+	  display/drivers/HTMLMAP/Text.c,
+	  display/drivers/HTMLMAP/htmlmap.h,
+	  display/drivers/HTMLMAP/moncap.entry: Tom Poindexter
+	  (tpoindex at nyx.net): HTMLMAP driver to generate maps using common
+	  GRASS display commands
+
+2000-03-15 17:07  markus
+
+	* raster/r.out.png/README: added PNG server info
+
+2000-03-12 17:12  markus
+
+	* general/g.version/main.c: closer to truth...
+
+2000-03-11 09:20  markus
+
+	* raster/r.out.png/README: removed obsolete files
+
+2000-03-11 09:19  markus
+
+	* raster/r.out.png/pngfunc.h, raster/r.out.png/r.out.png.c,
+	  raster/r.out.png/version.h: Alex Shevlakov: written from
+	  r.out.ppm by Bill Brown and pnmtopng by Alexander Lehmann and
+	  Willem van Schaik
+
+2000-03-09 19:07  markus
+
+	* lib/gis/chop.c: Radim Blazek: added G_chop - an improved version
+	  of G_squeeze
+
+2000-03-09 18:18  markus
+
+	* imagery/i.class/local_proto.h,
+	  imagery/i.ortho.photo/photo.2image/globals.h,
+	  imagery/i.ortho.photo/photo.2target/local_proto.h,
+	  imagery/i.points/main.c, imagery/i.vpoints/globals.h: Eric
+	  Mitchell: update for IRIX
+
+2000-03-09 18:11  markus
+
+	* general/g.version/main.c: Eric Mitchell: update for IRIX -- but
+	  variables are not expanded any more
+
+2000-03-09 18:05  markus
+
+	* general/g.setproj/local_proto.h: Eric Mitchell: update for IRIX
+
+2000-03-09 17:59  markus
+
+	* display/d.rast.edit/edit.h, display/drivers/lib/font.c: Eric
+	  Mitchell: update for IRIX
+
+2000-03-09 17:35  markus
+
+	* raster/r.out.png, raster/r.out.png/README,
+	  raster/r.out.png/version.h: colde collection for future r.out.png
+
+2000-03-09 17:14  markus
+
+	* visualization/nviz/scripts/nviz2.2: changed '#!' to ':'
+
+2000-03-06 17:17  markus
+
+	* visualization/nviz/src/getCat.c,
+	  visualization/nviz/src/openvect.c,
+	  visualization/nviz/src/query_postgr.c: Alex Shevlakov: added new
+	  fields in WHATS HERE menu for GRASS/PostgreSQL interface
+
+2000-03-06 09:06  markus
+
+	* visualization/nviz/scripts/attPopup.tcl,
+	  visualization/nviz/scripts/nviz2.2,
+	  visualization/nviz/scripts/script_file_tools,
+	  visualization/nviz/scripts/script_get_line,
+	  visualization/nviz/scripts/script_play,
+	  visualization/nviz/scripts/script_support.tcl,
+	  visualization/nviz/scripts/script_tools: Philip Warner/Markus
+	  Neteler: updated to relative paths
+
+2000-02-29 15:01  markus
+
+	* visualization/nviz/src/nvizAppInit.c,
+	  visualization/nviz/src/nvizMain.c: Philip Warner
+
+2000-02-28 17:10  markus
+
+	* display/drivers/lib/font.c: Ludovic Drolez: updated from
+	  grass5.0beta/src/display/devices/XDRIVER/lib/font.c to fix
+	  alignment problem while trying to read a font was caused by an
+	  alignement problem while trying to read a font
+
+2000-02-25 18:48  markus
+
+	* imagery/i.smap/shapiro/write_img.c: interim fix to overcome
+	  segfault problem on writing image
+
+2000-02-24 18:12  markus
+
+	* lib/gis/projections: updated on McBryde typo
+
+2000-02-24 16:28  markus
+
+	* general/g3.region, general/g3.region/cur_frm_3ddb.c,
+	  general/g3.region/cur_frm_3ddf.c, general/g3.region/cur_frm_db.c,
+	  general/g3.region/cur_frm_df.c, general/g3.region/cur_to_db.c,
+	  general/g3.region/edit.c, general/g3.region/editcellhd3d.c,
+	  general/g3.region/from_3dcell.c, general/g3.region/from_cell.c,
+	  general/g3.region/from_view.c, general/g3.region/glob.h,
+	  general/g3.region/lister.c, general/g3.region/main.c,
+	  general/g3.region/modify_cur.c, general/g3.region/modify_db.c,
+	  general/g3.region/new_db.c, general/g3.region/set.c,
+	  general/g3.region/yes.c, raster3d, raster3d/r3.in.ascii,
+	  raster3d/r3.in.ascii/main.c, raster3d/r3.info,
+	  raster3d/r3.info/main.c, raster3d/r3.mask,
+	  raster3d/r3.mask/mask.c, raster3d/r3.mkdspf,
+	  raster3d/r3.mkdspf/calc_linefax.c,
+	  raster3d/r3.mkdspf/fill_cfax.c, raster3d/r3.mkdspf/iso_surface.c,
+	  raster3d/r3.mkdspf/main.c, raster3d/r3.mkdspf/make_header.c,
+	  raster3d/r3.mkdspf/r3_data.c, raster3d/r3.mkdspf/r3_find.c,
+	  raster3d/r3.mkdspf/vizual.h, raster3d/r3.null,
+	  raster3d/r3.null/mask.c, raster3d/r3.out.ascii,
+	  raster3d/r3.out.ascii/main.c: Contribution of Helena Mitasova and
+	  Bill Brown
+
+2000-02-22 19:19  markus
+
+	* visualization/nviz/src/tkInt.h: added definition for Tk_SendCmd
+
+2000-02-22 17:46  markus
+
+	* sites/s.in.ascii/get_site.c: Roger Bivand (Roger.Bivand at nhh.no):
+	  bugfix for broken string input
+
+2000-02-09 15:15  markus
+
+	* imagery/i.vpoints/main.c: added drame -s full_screen
+
+2000-02-09 14:44  markus
+
+	* raster/r.surf.area/main.c: changed stderr to stdout
+
+2000-02-06 15:00  markus
+
+	* visualization/nviz/src/change_view.c,
+	  visualization/nviz/src/cutplane_obj.c,
+	  visualization/nviz/src/exag.c,
+	  visualization/nviz/src/glwrappers.c,
+	  visualization/nviz/src/label.c, visualization/nviz/src/lights.c,
+	  visualization/nviz/src/misc.c,
+	  visualization/nviz/src/script_support.c,
+	  visualization/nviz/src/togl.h, visualization/nviz/src/togl_cb.c:
+	  Bill Hughes: update prototyping and 'return' fixing
+
+2000-02-01 14:44  markus
+
+	* raster/r.param.scale/disp_matrix.c: update on fgets and fprintf
+
+2000-02-01 12:59  markus
+
+	* lib/vask/V_call.c: removed '#include <curses.h>', already in
+	  vask.h
+
+2000-02-01 10:15  markus
+
+	* lib/vask/V_call.c: added #include <curses.h>
+
+2000-01-30 16:04  markus
+
+	* lib/vask/V_call.c: added '#include <curses.h>'
+
+2000-01-19 08:17  markus
+
+	* raster/r.coin/make_coin.c: final (?) update for GRASS 5 on
+	  r.stats command
+
+2000-01-17 18:31  markus
+
+	* raster/r.coin/make_coin.c: updated to GRASS 5
+
+2000-01-13 17:02  markus
+
+	* imagery/i.pca/main.c: corrected typo covatiance to covariance
+
+2000-01-13 16:01  markus
+
+	* lib/gis/put_row.c: removed white space after 'log'
+
+2000-01-12 08:52  markus
+
+	* visualization/nviz/src/tkInt.h: commented line 46:
+	  Tk_PostscriptInfo
+
+2000-01-03 17:22  markus
+
+	* imagery/i.smap/bouman/interp.c: John: added HUGE definition for
+	  Cygnus
+
+2000-01-03 17:02  markus
+
+	* raster/r.thin/io.c: Joh Huddleston: removed explicit errno
+	  declaration, included <errno.h> statement
+
+2000-01-02 12:23  markus
+
+	* include/site.h: again comments fixed
+
+2000-01-02 12:21  markus
+
+	* include/site.h: comments fixed
+
+2000-01-02 12:18  markus
+
+	* imagery/i.ortho.photo/photo.rectify/ask_elev.c, include/site.h:
+	  Bill Hughes: some variable types fixed
+
+1999-12-30 12:46  markus
+
+	* sites/s.in.ascii/get_site.c: bugfix to accept x y z data (z
+	  treated as decimal now rather than string)
+
+1999-12-29 15:10  markus
+
+	* display, display/d.ask, display/d.ask/main.c, display/d.barscale,
+	  display/d.barscale/draw_scale.c, display/d.barscale/main.c,
+	  display/d.barscale/options.h, display/d.colors,
+	  display/d.colors/Readme, display/d.colors/colors.h,
+	  display/d.colors/curses.c, display/d.colors/externs.h,
+	  display/d.colors/get_info.c, display/d.colors/graphics.h,
+	  display/d.colors/interact.c, display/d.colors/main.c,
+	  display/d.colors/set_sigs.c, display/d.colors/sigint.c,
+	  display/d.colors/tbl_toggle.c, display/d.colortable,
+	  display/d.colortable/main.c, display/d.erase,
+	  display/d.erase/main.c, display/d.font, display/d.font/main.c,
+	  display/d.frame, display/d.frame/create.c,
+	  display/d.frame/dumper.c, display/d.frame/frame.c,
+	  display/d.frame/select.c, display/d.geodesic,
+	  display/d.geodesic/local_proto.h, display/d.geodesic/main.c,
+	  display/d.geodesic/mouse.c, display/d.geodesic/plot.c,
+	  display/d.graph, display/d.graph/allocation.c,
+	  display/d.graph/do_graph.c, display/d.graph/graphics.c,
+	  display/d.graph/local_proto.h, display/d.graph/main.c,
+	  display/d.graph/options.h, display/d.grid, display/d.grid/main.c,
+	  display/d.grid/plot.c, display/d.his, display/d.his/his.c,
+	  display/d.his/his.h, display/d.his/main.c, display/d.histogram,
+	  display/d.histogram/bar.c, display/d.histogram/bar.h,
+	  display/d.histogram/dhist.h, display/d.histogram/draw_slice.c,
+	  display/d.histogram/get_stats.c, display/d.histogram/main.c,
+	  display/d.histogram/mytext.c, display/d.histogram/options.h,
+	  display/d.histogram/pie.c, display/d.histogram/pie.h,
+	  display/d.legend, display/d.legend/main.c, display/d.linegraph,
+	  display/d.linegraph/linegraph.c, display/d.linegraph/linegraph.h,
+	  display/d.mapgraph, display/d.mapgraph/do_graph.c,
+	  display/d.mapgraph/graphics.c, display/d.mapgraph/local_proto.h,
+	  display/d.mapgraph/main.c, display/d.mapgraph/options.h,
+	  display/d.mapgraph/read_line.c, display/d.measure,
+	  display/d.measure/draw_line.c, display/d.measure/local_proto.h,
+	  display/d.measure/main.c, display/d.measure/msurements.c,
+	  display/d.mon, display/d.mon/cmd, display/d.mon/cmd/main.c,
+	  display/d.mon/pgms, display/d.mon/pgms/list.c,
+	  display/d.mon/pgms/local_proto.h, display/d.mon/pgms/open.h,
+	  display/d.mon/pgms/release.c, display/d.mon/pgms/select.c,
+	  display/d.mon/pgms/start.c, display/d.mon/pgms/status.c,
+	  display/d.mon/pgms/stop.c, display/d.mon/pgms/which.c,
+	  display/d.profile, display/d.profile/DrawText.c,
+	  display/d.profile/DumpProfile.c, display/d.profile/ExtractProf.c,
+	  display/d.profile/InitProfile.c, display/d.profile/PlotProfile.c,
+	  display/d.profile/Range.c, display/d.profile/What.c,
+	  display/d.profile/bnw_line.c, display/d.profile/main.c,
+	  display/d.profile/profile.h, display/d.rast,
+	  display/d.rast.arrow, display/d.rast.arrow/arrow.c,
+	  display/d.rast.edit, display/d.rast.edit/draw_grid.c,
+	  display/d.rast.edit/edit.c, display/d.rast.edit/edit.h,
+	  display/d.rast.edit/local_proto.h, display/d.rast.edit/main.c,
+	  display/d.rast.edit/menu.c, display/d.rast.edit/mk_new_layer.c,
+	  display/d.rast.edit/mk_tmp_file.c, display/d.rast.num,
+	  display/d.rast.num/number.c, display/d.rast/colors.c,
+	  display/d.rast/display.c, display/d.rast/local_proto.h,
+	  display/d.rast/main.c, display/d.rast/mask.c,
+	  display/d.rast/mask.h, display/d.rhumbline,
+	  display/d.rhumbline/local_proto.h, display/d.rhumbline/main.c,
+	  display/d.rhumbline/mouse.c, display/d.rhumbline/plot.c,
+	  display/d.save, display/d.save/main.c, display/d.text,
+	  display/d.text/locals.hh, display/d.text/main.c,
+	  display/d.text/test.input, display/d.title,
+	  display/d.title/fancy.c, display/d.title/local_proto.h,
+	  display/d.title/main.c, display/d.title/normal.c,
+	  display/d.title/options.h, display/d.what.rast,
+	  display/d.what.rast/local_proto.h, display/d.what.rast/main.c,
+	  display/d.what.rast/opencell.c, display/d.what.rast/show.c,
+	  display/d.what.rast/what.c, display/d.what.rast/what.h,
+	  display/d.where, display/d.where/b_w_line.c,
+	  display/d.where/local_proto.h, display/d.where/main.c,
+	  display/d.where/where.c, display/d.zoom, display/d.zoom/ask.c,
+	  display/d.zoom/box.c, display/d.zoom/center.c,
+	  display/d.zoom/graphics.h, display/d.zoom/returns.c,
+	  display/drivers, display/drivers/XDRIVER,
+	  display/drivers/XDRIVER/XDRIVER24,
+	  display/drivers/XDRIVER/XDRIVER24/Box_abs.c,
+	  display/drivers/XDRIVER/XDRIVER24/Can_do.c,
+	  display/drivers/XDRIVER/XDRIVER24/Clr_table.c,
+	  display/drivers/XDRIVER/XDRIVER24/Color.c,
+	  display/drivers/XDRIVER/XDRIVER24/Draw_line.c,
+	  display/drivers/XDRIVER/XDRIVER24/Graph_Clse.c,
+	  display/drivers/XDRIVER/XDRIVER24/Panel.c,
+	  display/drivers/XDRIVER/XDRIVER24/Plylne_abs.c,
+	  display/drivers/XDRIVER/XDRIVER24/Polygn_abs.c,
+	  display/drivers/XDRIVER/XDRIVER24/Raster.c,
+	  display/drivers/XDRIVER/XDRIVER24/alloc.c,
+	  display/drivers/XDRIVER/XDRIVER24/icon.bit,
+	  display/drivers/XDRIVER/XDRIVER24/icon.bit.3,
+	  display/drivers/XDRIVER/XDRIVER24/includes.h,
+	  display/drivers/XDRIVER/XDRIVER24/local_proto.h,
+	  display/drivers/lib, display/drivers/lib/Box_abs.c,
+	  display/drivers/lib/Box_rel.c, display/drivers/lib/Clr_table.c,
+	  display/drivers/lib/Color.c, display/drivers/lib/Cont_abs.c,
+	  display/drivers/lib/Cont_rel.c, display/drivers/lib/Erase.c,
+	  display/drivers/lib/Linemod.c, display/drivers/lib/Move_abs.c,
+	  display/drivers/lib/Move_rel.c, display/drivers/lib/Num_colors.c,
+	  display/drivers/lib/Plydts_abs.c,
+	  display/drivers/lib/Plydts_rel.c,
+	  display/drivers/lib/Plylne_abs.c,
+	  display/drivers/lib/Plylne_rel.c,
+	  display/drivers/lib/Polygn_rel.c, display/drivers/lib/RGB.c,
+	  display/drivers/lib/Raster_chr.c,
+	  display/drivers/lib/Raster_def.c,
+	  display/drivers/lib/Raster_int.c,
+	  display/drivers/lib/Reset_clrs.c,
+	  display/drivers/lib/Set_window.c,
+	  display/drivers/lib/Text_size.c, display/drivers/lib/clip.c,
+	  display/drivers/lib/color_supp.c, display/drivers/lib/driver.h,
+	  display/drivers/lib/font.c, display/drivers/monitorcap,
+	  display/drivers/monitorcap/monitorcap, general, general/g.access,
+	  general/g.access/access.h, general/g.access/ask_perms.c,
+	  general/g.access/exp_perms.c, general/g.access/get_perms.c,
+	  general/g.access/local_proto.h, general/g.access/main.c,
+	  general/g.access/set_perms.c, general/g.access/verify_perms.c,
+	  general/g.ask, general/g.ask/main.c, general/g.filename,
+	  general/g.filename/main.c, general/g.findfile,
+	  general/g.findfile/main.c, general/g.mapsets,
+	  general/g.mapsets/dsply_maps.c, general/g.mapsets/dsply_path.c,
+	  general/g.mapsets/externs.h, general/g.mapsets/get_path.c,
+	  general/g.mapsets/local_proto.h, general/g.mapsets/main_inter.c,
+	  general/g.mapsets/scan_int.c, general/g.mapsets/set_path.c,
+	  general/g.region, general/g.region/cmd,
+	  general/g.region/cmd/adjust.c,
+	  general/g.region/cmd/local_proto.h, general/g.region/cmd/zoom.c,
+	  general/g.setproj, general/g.setproj/get_deg.c,
+	  general/g.setproj/get_num.c, general/g.setproj/get_stp.c,
+	  general/g.setproj/local_proto.h, general/g.setproj/main.c,
+	  general/g.tempfile, general/g.tempfile/main.c, general/g.version,
+	  general/g.version/main.c, imagery, imagery/i.ask,
+	  imagery/i.ask/local_proto.h, imagery/i.ask/main.c,
+	  imagery/i.ask/popup.c, imagery/i.cca, imagery/i.cca/globals.h,
+	  imagery/i.cca/local_proto.h, imagery/i.cca/main.c,
+	  imagery/i.cca/matrix.c, imagery/i.cca/stats.c,
+	  imagery/i.cca/transform.c, imagery/i.class,
+	  imagery/i.class/add_point.c, imagery/i.class/analyze_sig.c,
+	  imagery/i.class/ask_files.c, imagery/i.class/band_files.c,
+	  imagery/i.class/cellhd.c, imagery/i.class/complete_reg.c,
+	  imagery/i.class/conv.c, imagery/i.class/curses.c,
+	  imagery/i.class/define_reg.c, imagery/i.class/defs.h,
+	  imagery/i.class/del_point.c, imagery/i.class/draw_cell.c,
+	  imagery/i.class/draw_reg.c, imagery/i.class/driver.c,
+	  imagery/i.class/edge.c, imagery/i.class/edge_order.c,
+	  imagery/i.class/edge_point.c, imagery/i.class/erase_reg.c,
+	  imagery/i.class/g_init.c, imagery/i.class/globals.h,
+	  imagery/i.class/graphics.c, imagery/i.class/histograms.c,
+	  imagery/i.class/init_reg.c, imagery/i.class/input.c,
+	  imagery/i.class/input_color.c, imagery/i.class/input_std.c,
+	  imagery/i.class/local_proto.h, imagery/i.class/main.c,
+	  imagery/i.class/mouse.c, imagery/i.class/outline.c,
+	  imagery/i.class/point.h, imagery/i.class/readbands.c,
+	  imagery/i.class/redisplay.c, imagery/i.class/remove_mask.c,
+	  imagery/i.class/restore_reg.c, imagery/i.class/save_reg.c,
+	  imagery/i.class/set_signals.c, imagery/i.class/sigalarm.c,
+	  imagery/i.class/sigint.c, imagery/i.class/signature.c,
+	  imagery/i.class/title.c, imagery/i.class/view.c,
+	  imagery/i.class/zoom_box.c, imagery/i.cluster,
+	  imagery/i.cluster/checkpt.c, imagery/i.cluster/global.h,
+	  imagery/i.cluster/local_proto.h, imagery/i.cluster/main.c,
+	  imagery/i.cluster/open_files.c, imagery/i.cluster/print1.c,
+	  imagery/i.cluster/print2.c, imagery/i.cluster/print3.c,
+	  imagery/i.cluster/print4.c, imagery/i.cluster/print5.c,
+	  imagery/i.cluster/print6.c, imagery/i.cluster/timer.c,
+	  imagery/i.fft, imagery/i.fft/do_histogram.c,
+	  imagery/i.fft/fft_colors.c, imagery/i.fft/fftmain.c,
+	  imagery/i.fft/globals.h, imagery/i.fft/local_proto.h,
+	  imagery/i.fft/orig_wind.c, imagery/i.fft/save_fft.c,
+	  imagery/i.find, imagery/i.find/local_proto.h,
+	  imagery/i.find/main.c, imagery/i.gensig,
+	  imagery/i.gensig/alloc.c, imagery/i.gensig/can_invert.c,
+	  imagery/i.gensig/check.c, imagery/i.gensig/closefiles.c,
+	  imagery/i.gensig/copy.c, imagery/i.gensig/covariance.c,
+	  imagery/i.gensig/eigen.c, imagery/i.gensig/files.h,
+	  imagery/i.gensig/get_train.c, imagery/i.gensig/init_sig.c,
+	  imagery/i.gensig/labels.c, imagery/i.gensig/local_proto.h,
+	  imagery/i.gensig/lookup_class.c, imagery/i.gensig/main.c,
+	  imagery/i.gensig/means.c, imagery/i.gensig/opencell.c,
+	  imagery/i.gensig/openfiles.c, imagery/i.gensig/parms.h,
+	  imagery/i.gensig/parse.c, imagery/i.gensig/print_sig.c,
+	  imagery/i.gensig/read_train.c, imagery/i.gensig/signature.h,
+	  imagery/i.gensig/write_sig.c, imagery/i.gensigset,
+	  imagery/i.gensigset/DIR, imagery/i.gensigset/closefiles.c,
+	  imagery/i.gensigset/files.h, imagery/i.gensigset/get_train.c,
+	  imagery/i.gensigset/invert.c, imagery/i.gensigset/labels.c,
+	  imagery/i.gensigset/local_proto.h,
+	  imagery/i.gensigset/lookup_class.c, imagery/i.gensigset/main.c,
+	  imagery/i.gensigset/opencell.c, imagery/i.gensigset/openfiles.c,
+	  imagery/i.gensigset/parms.h, imagery/i.gensigset/parse.c,
+	  imagery/i.gensigset/read_data.c,
+	  imagery/i.gensigset/read_train.c,
+	  imagery/i.gensigset/subcluster.c,
+	  imagery/i.gensigset/write_sig.c, imagery/i.his.rgb,
+	  imagery/i.his.rgb/closefiles.c, imagery/i.his.rgb/globals.h,
+	  imagery/i.his.rgb/h2rmain.c, imagery/i.his.rgb/his2rgb.c,
+	  imagery/i.his.rgb/openfiles.c, imagery/i.ifft,
+	  imagery/i.ifft/do_histogram.c, imagery/i.ifft/fft_colors.c,
+	  imagery/i.ifft/globals.h, imagery/i.ifft/ifftmain.c,
+	  imagery/i.ifft/local_proto.h, imagery/i.ifft/orig_wind.c,
+	  imagery/i.maxlik, imagery/i.maxlik/classify.c,
+	  imagery/i.maxlik/global.h, imagery/i.maxlik/hist.c,
+	  imagery/i.maxlik/invert.c, imagery/i.maxlik/local_proto.h,
+	  imagery/i.maxlik/main.c, imagery/i.maxlik/open.c,
+	  imagery/i.ortho.photo, imagery/i.ortho.photo/README,
+	  imagery/i.ortho.photo/libes,
+	  imagery/i.ortho.photo/libes/ask_camera.c,
+	  imagery/i.ortho.photo/libes/cam.c,
+	  imagery/i.ortho.photo/libes/cam_info.c,
+	  imagery/i.ortho.photo/libes/camera.c,
+	  imagery/i.ortho.photo/libes/conz_points.c,
+	  imagery/i.ortho.photo/libes/elev.c,
+	  imagery/i.ortho.photo/libes/error.c,
+	  imagery/i.ortho.photo/libes/find_camera.c,
+	  imagery/i.ortho.photo/libes/find_init.c,
+	  imagery/i.ortho.photo/libes/fopen_camera.c,
+	  imagery/i.ortho.photo/libes/funcdefs.h,
+	  imagery/i.ortho.photo/libes/georef.c,
+	  imagery/i.ortho.photo/libes/group_elev.c,
+	  imagery/i.ortho.photo/libes/init.c,
+	  imagery/i.ortho.photo/libes/init_info.c,
+	  imagery/i.ortho.photo/libes/isnull.c,
+	  imagery/i.ortho.photo/libes/local_proto.h,
+	  imagery/i.ortho.photo/libes/ls_cameras.c,
+	  imagery/i.ortho.photo/libes/ls_elev.c,
+	  imagery/i.ortho.photo/libes/m_add.c,
+	  imagery/i.ortho.photo/libes/m_copy.c,
+	  imagery/i.ortho.photo/libes/m_inverse.c,
+	  imagery/i.ortho.photo/libes/m_mult.c,
+	  imagery/i.ortho.photo/libes/m_transpose.c,
+	  imagery/i.ortho.photo/libes/m_zero.c,
+	  imagery/i.ortho.photo/libes/mat.h,
+	  imagery/i.ortho.photo/libes/matrixdefs.h,
+	  imagery/i.ortho.photo/libes/open_camera.c,
+	  imagery/i.ortho.photo/libes/orthophoto.h,
+	  imagery/i.ortho.photo/libes/orthoref.c,
+	  imagery/i.ortho.photo/libes/ref_points.c,
+	  imagery/i.ortho.photo/libes/title_camera.c,
+	  imagery/i.ortho.photo/menu,
+	  imagery/i.ortho.photo/menu/local_proto.h,
+	  imagery/i.ortho.photo/menu/menu.c,
+	  imagery/i.ortho.photo/photo.2image,
+	  imagery/i.ortho.photo/photo.2image/analyze.c,
+	  imagery/i.ortho.photo/photo.2image/ask.c,
+	  imagery/i.ortho.photo/photo.2image/ask_mag.c,
+	  imagery/i.ortho.photo/photo.2image/call.c,
+	  imagery/i.ortho.photo/photo.2image/camera_ref.h,
+	  imagery/i.ortho.photo/photo.2image/cell.c,
+	  imagery/i.ortho.photo/photo.2image/cellhd.c,
+	  imagery/i.ortho.photo/photo.2image/colors.c,
+	  imagery/i.ortho.photo/photo.2image/conv.c,
+	  imagery/i.ortho.photo/photo.2image/curses.c,
+	  imagery/i.ortho.photo/photo.2image/defs.h,
+	  imagery/i.ortho.photo/photo.2image/dot.c,
+	  imagery/i.ortho.photo/photo.2image/drawcam.c,
+	  imagery/i.ortho.photo/photo.2image/drawcell.c,
+	  imagery/i.ortho.photo/photo.2image/driver.c,
+	  imagery/i.ortho.photo/photo.2image/equ.c,
+	  imagery/i.ortho.photo/photo.2image/find.c,
+	  imagery/i.ortho.photo/photo.2image/globals.h,
+	  imagery/i.ortho.photo/photo.2image/graphics.c,
+	  imagery/i.ortho.photo/photo.2image/group.c,
+	  imagery/i.ortho.photo/photo.2image/input.c,
+	  imagery/i.ortho.photo/photo.2image/local_proto.h,
+	  imagery/i.ortho.photo/photo.2image/main.c,
+	  imagery/i.ortho.photo/photo.2image/mark.c,
+	  imagery/i.ortho.photo/photo.2image/mouse.c,
+	  imagery/i.ortho.photo/photo.2image/points.c,
+	  imagery/i.ortho.photo/photo.2image/target.c,
+	  imagery/i.ortho.photo/photo.2image/title.c,
+	  imagery/i.ortho.photo/photo.2image/use_camera.c,
+	  imagery/i.ortho.photo/photo.2image/view.c,
+	  imagery/i.ortho.photo/photo.2image/where.c,
+	  imagery/i.ortho.photo/photo.2image/zoom.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2image/zoom_pnt.c,
+	  imagery/i.ortho.photo/photo.2target,
+	  imagery/i.ortho.photo/photo.2target/analyze.c,
+	  imagery/i.ortho.photo/photo.2target/ask.c,
+	  imagery/i.ortho.photo/photo.2target/ask_mag.c,
+	  imagery/i.ortho.photo/photo.2target/call.c,
+	  imagery/i.ortho.photo/photo.2target/cell.c,
+	  imagery/i.ortho.photo/photo.2target/cellhd.c,
+	  imagery/i.ortho.photo/photo.2target/colors.c,
+	  imagery/i.ortho.photo/photo.2target/conv.c,
+	  imagery/i.ortho.photo/photo.2target/curses.c,
+	  imagery/i.ortho.photo/photo.2target/defs.h,
+	  imagery/i.ortho.photo/photo.2target/digit.c,
+	  imagery/i.ortho.photo/photo.2target/dot.c,
+	  imagery/i.ortho.photo/photo.2target/drawcell.c,
+	  imagery/i.ortho.photo/photo.2target/driver.c,
+	  imagery/i.ortho.photo/photo.2target/equ.c,
+	  imagery/i.ortho.photo/photo.2target/find.c,
+	  imagery/i.ortho.photo/photo.2target/globals.h,
+	  imagery/i.ortho.photo/photo.2target/graphics.c,
+	  imagery/i.ortho.photo/photo.2target/group.c,
+	  imagery/i.ortho.photo/photo.2target/input.c,
+	  imagery/i.ortho.photo/photo.2target/local_proto.h,
+	  imagery/i.ortho.photo/photo.2target/main.c,
+	  imagery/i.ortho.photo/photo.2target/mark.c,
+	  imagery/i.ortho.photo/photo.2target/mouse.c,
+	  imagery/i.ortho.photo/photo.2target/points.c,
+	  imagery/i.ortho.photo/photo.2target/target.c,
+	  imagery/i.ortho.photo/photo.2target/title.c,
+	  imagery/i.ortho.photo/photo.2target/view.c,
+	  imagery/i.ortho.photo/photo.2target/where.c,
+	  imagery/i.ortho.photo/photo.2target/zoom.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_box.c,
+	  imagery/i.ortho.photo/photo.2target/zoom_pnt.c,
+	  imagery/i.ortho.photo/photo.camera,
+	  imagery/i.ortho.photo/photo.camera/camera.h,
+	  imagery/i.ortho.photo/photo.camera/defines.h,
+	  imagery/i.ortho.photo/photo.camera/globals.h,
+	  imagery/i.ortho.photo/photo.camera/main.c,
+	  imagery/i.ortho.photo/photo.camera/mod_cam_info.c,
+	  imagery/i.ortho.photo/photo.elev,
+	  imagery/i.ortho.photo/photo.elev/ask_elev.c,
+	  imagery/i.ortho.photo/photo.elev/elev.h,
+	  imagery/i.ortho.photo/photo.elev/local_proto.h,
+	  imagery/i.ortho.photo/photo.elev/main.c,
+	  imagery/i.ortho.photo/photo.elev/mod_elev.c,
+	  imagery/i.ortho.photo/photo.init,
+	  imagery/i.ortho.photo/photo.init/camera.h,
+	  imagery/i.ortho.photo/photo.init/globals.h,
+	  imagery/i.ortho.photo/photo.init/initial.h,
+	  imagery/i.ortho.photo/photo.init/main.c,
+	  imagery/i.ortho.photo/photo.init/mod_info.c,
+	  imagery/i.ortho.photo/photo.rectify,
+	  imagery/i.ortho.photo/photo.rectify/ask_elev.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_files2.c,
+	  imagery/i.ortho.photo/photo.rectify/ask_wind.c,
+	  imagery/i.ortho.photo/photo.rectify/aver_z.c,
+	  imagery/i.ortho.photo/photo.rectify/compress.c,
+	  imagery/i.ortho.photo/photo.rectify/conv.c,
+	  imagery/i.ortho.photo/photo.rectify/cp.c,
+	  imagery/i.ortho.photo/photo.rectify/defs.h,
+	  imagery/i.ortho.photo/photo.rectify/env.c,
+	  imagery/i.ortho.photo/photo.rectify/equ.c,
+	  imagery/i.ortho.photo/photo.rectify/exec.c,
+	  imagery/i.ortho.photo/photo.rectify/get_wind.c,
+	  imagery/i.ortho.photo/photo.rectify/global.h,
+	  imagery/i.ortho.photo/photo.rectify/local_proto.h,
+	  imagery/i.ortho.photo/photo.rectify/mail.c,
+	  imagery/i.ortho.photo/photo.rectify/main.c,
+	  imagery/i.ortho.photo/photo.rectify/matrix.c,
+	  imagery/i.ortho.photo/photo.rectify/perform.c,
+	  imagery/i.ortho.photo/photo.rectify/ps_cp.c,
+	  imagery/i.ortho.photo/photo.rectify/rectify.c,
+	  imagery/i.ortho.photo/photo.rectify/report.c,
+	  imagery/i.ortho.photo/photo.rectify/rowcol.h,
+	  imagery/i.ortho.photo/photo.rectify/target.c,
+	  imagery/i.ortho.photo/photo.rectify/write.c,
+	  imagery/i.ortho.photo/photo.target,
+	  imagery/i.ortho.photo/photo.target/ask_target.c,
+	  imagery/i.ortho.photo/photo.target/local_proto.h,
+	  imagery/i.ortho.photo/photo.target/main.c, imagery/i.pca,
+	  imagery/i.pca/globals.h, imagery/i.pca/main.c, imagery/i.points,
+	  imagery/i.points/analyze.c, imagery/i.points/ask.c,
+	  imagery/i.points/ask_mag.c, imagery/i.points/call.c,
+	  imagery/i.points/cell.c, imagery/i.points/cellhd.c,
+	  imagery/i.points/colors.c, imagery/i.points/conv.c,
+	  imagery/i.points/curses.c, imagery/i.points/debug.c,
+	  imagery/i.points/defs.h, imagery/i.points/digit.c,
+	  imagery/i.points/dot.c, imagery/i.points/drawcell.c,
+	  imagery/i.points/driver.c, imagery/i.points/equ.c,
+	  imagery/i.points/find.c, imagery/i.points/globals.h,
+	  imagery/i.points/graphics.c, imagery/i.points/group.c,
+	  imagery/i.points/input.c, imagery/i.points/local_proto.h,
+	  imagery/i.points/main.c, imagery/i.points/mark.c,
+	  imagery/i.points/mouse.c, imagery/i.points/points.c,
+	  imagery/i.points/target.c, imagery/i.points/title.c,
+	  imagery/i.points/view.c, imagery/i.points/where.c,
+	  imagery/i.points/zoom.c, imagery/i.points/zoom_box.c,
+	  imagery/i.points/zoom_pnt.c, imagery/i.rgb.his,
+	  imagery/i.rgb.his/closefiles.c, imagery/i.rgb.his/globals.h,
+	  imagery/i.rgb.his/openfiles.c, imagery/i.rgb.his/r2hmain.c,
+	  imagery/i.rgb.his/rgb2his.c, imagery/i.smap,
+	  imagery/i.smap/bouman, imagery/i.smap/bouman/alpha_max.c,
+	  imagery/i.smap/bouman/bouman.h, imagery/i.smap/bouman/decimate.c,
+	  imagery/i.smap/bouman/eigen.c, imagery/i.smap/bouman/interp.c,
+	  imagery/i.smap/bouman/invert.c, imagery/i.smap/bouman/model.c,
+	  imagery/i.smap/bouman/multialloc.c,
+	  imagery/i.smap/bouman/read_block.c,
+	  imagery/i.smap/bouman/reg_util.c, imagery/i.smap/bouman/region.h,
+	  imagery/i.smap/bouman/segment.c, imagery/i.smap/bouman/solve.c,
+	  imagery/i.smap/shapiro, imagery/i.smap/shapiro/closefiles.c,
+	  imagery/i.smap/shapiro/history.c,
+	  imagery/i.smap/shapiro/labels.c,
+	  imagery/i.smap/shapiro/local_proto.h,
+	  imagery/i.smap/shapiro/main.c, imagery/i.smap/shapiro/opencell.c,
+	  imagery/i.smap/shapiro/openfiles.c,
+	  imagery/i.smap/shapiro/parse.c,
+	  imagery/i.smap/shapiro/read_sig.c,
+	  imagery/i.smap/shapiro/write_img.c, imagery/i.vpoints,
+	  imagery/i.vpoints/Vectpoints.h, imagery/i.vpoints/analyze.c,
+	  imagery/i.vpoints/ask.c, imagery/i.vpoints/ask_lineclr.c,
+	  imagery/i.vpoints/ask_mag.c, imagery/i.vpoints/call.c,
+	  imagery/i.vpoints/cell.c, imagery/i.vpoints/cellhd.c,
+	  imagery/i.vpoints/colors.c, imagery/i.vpoints/conv.c,
+	  imagery/i.vpoints/crs.c, imagery/i.vpoints/crs.h,
+	  imagery/i.vpoints/curses.c, imagery/i.vpoints/debug.c,
+	  imagery/i.vpoints/defs.h, imagery/i.vpoints/digit.c,
+	  imagery/i.vpoints/dot.c, imagery/i.vpoints/drawcell.c,
+	  imagery/i.vpoints/driver.c, imagery/i.vpoints/equ.c,
+	  imagery/i.vpoints/globals.h, imagery/i.vpoints/graphics.c,
+	  imagery/i.vpoints/group.c, imagery/i.vpoints/input.c,
+	  imagery/i.vpoints/main.c, imagery/i.vpoints/mark.c,
+	  imagery/i.vpoints/mouse.c, imagery/i.vpoints/open.c,
+	  imagery/i.vpoints/plot1.c, imagery/i.vpoints/plot2.c,
+	  imagery/i.vpoints/points.c, imagery/i.vpoints/setup.c,
+	  imagery/i.vpoints/target.c, imagery/i.vpoints/title.c,
+	  imagery/i.vpoints/use_plot1.c, imagery/i.vpoints/view.c,
+	  imagery/i.vpoints/where.c, imagery/i.vpoints/zoom.c,
+	  imagery/i.vpoints/zoom_box.c, imagery/i.vpoints/zoom_pnt.c,
+	  imagery/i.zc, imagery/i.zc/findzc.c, imagery/i.zc/globals.h,
+	  imagery/i.zc/local_proto.h, imagery/i.zc/main.c,
+	  imagery/i.zc/mult.c, include, include/CC.h, include/D.h,
+	  include/G3d.h, include/P_datetime.h, include/Paintlib.h,
+	  include/bdlg_bm.h, include/bitmap.h, include/btree.h,
+	  include/colors.h, include/datetime.h, include/devlib.h,
+	  include/dig_atts.h, include/display.h, include/dlg.h,
+	  include/dlg_bm.h, include/geo.h, include/geom.h, include/graph.h,
+	  include/help.h, include/ibtree.h, include/icon.h,
+	  include/icon_bm.h, include/imagedefs.h, include/imagery.h,
+	  include/label_bm.h, include/linkm.h, include/lock.h,
+	  include/monitors.h, include/ortholib.h, include/patterns.h,
+	  include/region_bm.h, include/rowio.h, include/search.h,
+	  include/segment.h, include/site.h, include/sitelib.h,
+	  include/std_incs.h, include/transform.h, include/vask.h,
+	  include/vbuildlib.h, lib, lib/D, lib/D/Dcell.c, lib/D/Dchoose.c,
+	  lib/D/Dclear.c, lib/D/Derase.c, lib/D/Dnew.c, lib/D/Dremove.c,
+	  lib/D/Dscreen.c, lib/bitmap, lib/bitmap/bitmap.c,
+	  lib/bitmap/main.c, lib/bitmap/smain.c, lib/bitmap/sparse.c,
+	  lib/btree, lib/btree/create.c, lib/btree/find.c,
+	  lib/btree/free.c, lib/btree/next.c, lib/btree/rewind.c,
+	  lib/btree/update.c, lib/cdhc, lib/cdhc/andrsnde.c,
+	  lib/cdhc/andrsndn.c, lib/cdhc/as177.c, lib/cdhc/as181.c,
+	  lib/cdhc/as241.c, lib/cdhc/as66.c, lib/cdhc/c-drive.c,
+	  lib/cdhc/cdh-f77.out, lib/cdhc/cdh.f, lib/cdhc/cdhc.h,
+	  lib/cdhc/chisqe.c, lib/cdhc/chisqn.c, lib/cdhc/cvmw2e.c,
+	  lib/cdhc/cvmw2n.c, lib/cdhc/dagstndn.c, lib/cdhc/dblcomp.c,
+	  lib/cdhc/dcmp.c, lib/cdhc/dmax.c, lib/cdhc/dmaxe.c,
+	  lib/cdhc/durbins.c, lib/cdhc/enormp.c, lib/cdhc/extreme.c,
+	  lib/cdhc/f-drive.f, lib/cdhc/geary.c, lib/cdhc/kotz.c,
+	  lib/cdhc/kse.c, lib/cdhc/ksn.c, lib/cdhc/kuiprsve.c,
+	  lib/cdhc/kuiprsvn.c, lib/cdhc/normp.c, lib/cdhc/nprob.c,
+	  lib/cdhc/nprob.f, lib/cdhc/omnibus.c, lib/cdhc/royston.c,
+	  lib/cdhc/shapiro1.c, lib/cdhc/shapiro1.c.save,
+	  lib/cdhc/shapiro2.c, lib/cdhc/shapiroe.c, lib/cdhc/test.c,
+	  lib/cdhc/test.f, lib/cdhc/watsonue.c, lib/cdhc/watsonun.c,
+	  lib/cdhc/weisberg.c, lib/cdhc/xinormal.c, lib/datetime,
+	  lib/datetime/P_datetime.h, lib/datetime/README,
+	  lib/datetime/between.c, lib/datetime/change.c,
+	  lib/datetime/copy.c, lib/datetime/datetime.h,
+	  lib/datetime/diff.c, lib/datetime/error.c, lib/datetime/format.c,
+	  lib/datetime/incr1.c, lib/datetime/incr2.c, lib/datetime/incr3.c,
+	  lib/datetime/local.c, lib/datetime/misc.c, lib/datetime/same.c,
+	  lib/datetime/scan.c, lib/datetime/sign.c, lib/datetime/type.c,
+	  lib/datetime/tz1.c, lib/datetime/tz2.c, lib/datetime/values.c,
+	  lib/db, lib/db/stubs, lib/db/stubs/BUILD.PROTO,
+	  lib/db/stubs/add_col.c, lib/db/stubs/begin_work.x,
+	  lib/db/stubs/bindupdate.c, lib/db/stubs/close_cursor.c,
+	  lib/db/stubs/closedb.c, lib/db/stubs/create_index.c,
+	  lib/db/stubs/create_table.c, lib/db/stubs/createdb.c,
+	  lib/db/stubs/delete.c, lib/db/stubs/deletedb.c,
+	  lib/db/stubs/desc_table.c, lib/db/stubs/drop_col.c,
+	  lib/db/stubs/drop_index.c, lib/db/stubs/drop_table.c,
+	  lib/db/stubs/fetch.c, lib/db/stubs/finddb.c,
+	  lib/db/stubs/finish.c, lib/db/stubs/init.c,
+	  lib/db/stubs/insert.c, lib/db/stubs/list_index.c,
+	  lib/db/stubs/list_tables.c, lib/db/stubs/listdb.c,
+	  lib/db/stubs/open_insert.c, lib/db/stubs/open_select.c,
+	  lib/db/stubs/open_update.c, lib/db/stubs/opendb.c,
+	  lib/db/stubs/update.c, lib/display, lib/display/clip.c,
+	  lib/display/cnversions.c, lib/display/color_list.c,
+	  lib/display/draw.c, lib/display/get_win.c,
+	  lib/display/ident_win.c, lib/display/list.c, lib/display/popup.c,
+	  lib/display/raster.c, lib/display/raster2.c,
+	  lib/display/scan_dbl.c, lib/display/scan_float.c,
+	  lib/display/scan_int.c, lib/display/setup.c,
+	  lib/display/tran_colr.c, lib/display/window.c, lib/dspf,
+	  lib/dspf/README, lib/dspf/cell_table.h, lib/dspf/cube_io.c,
+	  lib/dspf/dspf_header.c, lib/dspf/print_info.c,
+	  lib/dspf/struct_copy.c, lib/dspf/viz.h, lib/fonts,
+	  lib/fonts/fonts, lib/fonts/fonts/cyrilc.hmp,
+	  lib/fonts/fonts/gothgbt.hmp, lib/fonts/fonts/gothgrt.hmp,
+	  lib/fonts/fonts/gothitt.hmp, lib/fonts/fonts/greekc.hmp,
+	  lib/fonts/fonts/greekcs.hmp, lib/fonts/fonts/greekp.hmp,
+	  lib/fonts/fonts/greeks.hmp, lib/fonts/fonts/hersh.oc1,
+	  lib/fonts/fonts/hersh.oc2, lib/fonts/fonts/hersh.oc3,
+	  lib/fonts/fonts/hersh.oc4, lib/fonts/fonts/hersh.or1,
+	  lib/fonts/fonts/hersh.or2, lib/fonts/fonts/hersh.or3,
+	  lib/fonts/fonts/hersh.or4, lib/fonts/fonts/italicc.hmp,
+	  lib/fonts/fonts/italiccs.hmp, lib/fonts/fonts/italict.hmp,
+	  lib/fonts/fonts/romanc.hmp, lib/fonts/fonts/romancs.hmp,
+	  lib/fonts/fonts/romand.hmp, lib/fonts/fonts/romans.hmp,
+	  lib/fonts/fonts/romant.hmp, lib/fonts/fonts/scriptc.hmp,
+	  lib/fonts/fonts/scripts.hmp, lib/fonts/for_grass,
+	  lib/fonts/for_grass/font.c, lib/fonts/for_grass/font_2_bin.c,
+	  lib/fonts/for_grass/fontmap.c, lib/fonts/for_grass/local_proto.h,
+	  lib/fonts/for_grass/showchar.c, lib/fonts/for_grass/splitfont.c,
+	  lib/fonts/for_grass/try.c, lib/front.end, lib/front.end/README,
+	  lib/front.end/main.c, lib/g3d, lib/g3d/G3d.h_unused,
+	  lib/g3d/G3d_intern.h, lib/g3d/cache.c, lib/g3d/cachehash.c,
+	  lib/g3d/cachehash.h, lib/g3d/changeprecision.c,
+	  lib/g3d/changetype.c, lib/g3d/filecompare.c, lib/g3d/filename.c,
+	  lib/g3d/find_grid3.c, lib/g3d/fpcompress.c, lib/g3d/g3dalloc.c,
+	  lib/g3d/g3dcache.c, lib/g3d/g3dcats.c, lib/g3d/g3dclose.c,
+	  lib/g3d/g3ddefaults.c, lib/g3d/g3ddoubleio.c, lib/g3d/g3derror.c,
+	  lib/g3d/g3dfpxdr.c, lib/g3d/g3dintio.c, lib/g3d/g3dkeys.c,
+	  lib/g3d/g3dkeys.h, lib/g3d/g3dlong.c, lib/g3d/g3dmapset.c,
+	  lib/g3d/g3dmask.c, lib/g3d/g3dmisc.c, lib/g3d/g3dnull.c,
+	  lib/g3d/g3dopen.c, lib/g3d/g3dopen2.c, lib/g3d/g3dparam.c,
+	  lib/g3d/g3drange.c, lib/g3d/g3dregion.c, lib/g3d/g3dresample.c,
+	  lib/g3d/g3dvolume.c, lib/g3d/g3dwindow.c, lib/g3d/g3dwindowio.c,
+	  lib/g3d/getblock.c, lib/g3d/header.c, lib/g3d/headerinfo.c,
+	  lib/g3d/index.c, lib/g3d/retile.c, lib/g3d/rle.c,
+	  lib/g3d/snap.gif, lib/g3d/snap.rgb, lib/g3d/tilealloc.c,
+	  lib/g3d/tileio.c, lib/g3d/tilemath.c, lib/g3d/tilenull.c,
+	  lib/g3d/tileread.c, lib/g3d/tilewrite.c, lib/g3d/writeascii.c,
+	  lib/gis, lib/gis/FIPS.code, lib/gis/G.h, lib/gis/G_dump.c,
+	  lib/gis/README.TYPE, lib/gis/adj_cellhd.c,
+	  lib/gis/align_window.c, lib/gis/alloc.c, lib/gis/alloc_cell.c,
+	  lib/gis/area.c, lib/gis/area_ellipse.c, lib/gis/area_poly1.c,
+	  lib/gis/area_poly2.c, lib/gis/area_sphere.c, lib/gis/ascii_chk.c,
+	  lib/gis/ask.c, lib/gis/ask_cell.c, lib/gis/auto_mask.c,
+	  lib/gis/bres_line.c, lib/gis/cats.c, lib/gis/cell_stats.c,
+	  lib/gis/cell_title.c, lib/gis/cellstats_eq.c,
+	  lib/gis/clear_scrn.c, lib/gis/clicker.c, lib/gis/closecell.c,
+	  lib/gis/color_asp.c, lib/gis/color_free.c, lib/gis/color_get.c,
+	  lib/gis/color_grey.c, lib/gis/color_hist.c, lib/gis/color_init.c,
+	  lib/gis/color_insrt.c, lib/gis/color_invrt.c,
+	  lib/gis/color_look.c, lib/gis/color_org.c, lib/gis/color_rain.c,
+	  lib/gis/color_ramp.c, lib/gis/color_rand.c,
+	  lib/gis/color_range.c, lib/gis/color_read.c,
+	  lib/gis/color_rule.c, lib/gis/color_set.c, lib/gis/color_shift.c,
+	  lib/gis/color_wave.c, lib/gis/color_write.c, lib/gis/commas.c,
+	  lib/gis/copy.c, lib/gis/date.c, lib/gis/distance.c,
+	  lib/gis/done_msg.c, lib/gis/ellipse.table, lib/gis/file_name.c,
+	  lib/gis/find_cell.c, lib/gis/fork.c, lib/gis/format.c,
+	  lib/gis/fpreclass.c, lib/gis/geo_init.c, lib/gis/geodesic.c,
+	  lib/gis/geodist.c, lib/gis/get_cellhd.c, lib/gis/get_ell_name.c,
+	  lib/gis/get_ellipse.c, lib/gis/get_projinfo.c,
+	  lib/gis/get_projname.c, lib/gis/get_row.c, lib/gis/get_window.c,
+	  lib/gis/getl.c, lib/gis/gets.c, lib/gis/gisbase.c,
+	  lib/gis/gisdbase.c, lib/gis/gishelp.c, lib/gis/grid_dist1.c,
+	  lib/gis/grid_dist2.c, lib/gis/histo_eq.c, lib/gis/histogram.c,
+	  lib/gis/history.c, lib/gis/home.c, lib/gis/index.c,
+	  lib/gis/init_map.c, lib/gis/intersect.c, lib/gis/intr_char.c,
+	  lib/gis/key_value1.c, lib/gis/key_value2.c, lib/gis/key_value3.c,
+	  lib/gis/key_value4.c, lib/gis/legal_name.c, lib/gis/line_dist.c,
+	  lib/gis/list.c, lib/gis/ll_format.c, lib/gis/ll_scan.c,
+	  lib/gis/location.c, lib/gis/mach_name.c, lib/gis/make_colr.c,
+	  lib/gis/mapcase.c, lib/gis/mapset.c, lib/gis/mask_info.c,
+	  lib/gis/maskfd.c, lib/gis/myname.c, lib/gis/named_colr.c,
+	  lib/gis/new_des, lib/gis/nl_to_spaces.c, lib/gis/nme_in_mps.c,
+	  lib/gis/null_val.c, lib/gis/open.c, lib/gis/opencell.c,
+	  lib/gis/percent.c, lib/gis/pi.h, lib/gis/plot.c,
+	  lib/gis/pole_in_poly.c, lib/gis/popen.c, lib/gis/progrm_nme.c,
+	  lib/gis/proj1.c, lib/gis/proj2.c, lib/gis/proj3.c,
+	  lib/gis/projections, lib/gis/put_cellhd.c, lib/gis/put_row.c,
+	  lib/gis/put_title.c, lib/gis/put_window.c, lib/gis/putenv.c,
+	  lib/gis/quant.c, lib/gis/quant_io.c, lib/gis/quant_rw.c,
+	  lib/gis/radii.c, lib/gis/range.c, lib/gis/raster.c,
+	  lib/gis/rd_cellhd.c, lib/gis/reclass.c, lib/gis/remove.c,
+	  lib/gis/rename.c, lib/gis/rhumbline.c, lib/gis/rm_colr.c,
+	  lib/gis/set_prior.c, lib/gis/set_window.c, lib/gis/short_way.c,
+	  lib/gis/sleep.c, lib/gis/squeeze.c, lib/gis/state27,
+	  lib/gis/state83, lib/gis/store.c, lib/gis/strings.c,
+	  lib/gis/strip.c, lib/gis/support.c, lib/gis/system.c,
+	  lib/gis/tempfile.c, lib/gis/timestamp.c, lib/gis/token.c,
+	  lib/gis/trim_dec.c, lib/gis/try.c, lib/gis/unctrl.c,
+	  lib/gis/view.c, lib/gis/whoami.c, lib/gis/wind_2_box.c,
+	  lib/gis/wind_format.c, lib/gis/wind_limits.c,
+	  lib/gis/wind_overlap.c, lib/gis/wind_scan.c,
+	  lib/gis/window_map.c, lib/gis/wr_cellhd.c, lib/gis/writ_zeros.c,
+	  lib/gis/yes.c, lib/gis/zero.c, lib/gis/zero_cell.c,
+	  lib/gis/zone.c, lib/image, lib/image/README, lib/image/close.c,
+	  lib/image/filbuf.c, lib/image/flsbuf.c, lib/image/image.h,
+	  lib/image/name.c, lib/image/open.c, lib/image/open.c.zal,
+	  lib/image/pix.c, lib/image/rdwr.c, lib/image/rle.c,
+	  lib/image/row.c, lib/imagery, lib/imagery/README,
+	  lib/imagery/add_cov.c, lib/imagery/advance.c,
+	  lib/imagery/alloc.c, lib/imagery/ask.c, lib/imagery/ask_bands.c,
+	  lib/imagery/ask_colors.c, lib/imagery/ask_group.c,
+	  lib/imagery/ask_subgrp.c, lib/imagery/band_io.c,
+	  lib/imagery/c_assign.c, lib/imagery/c_begin.c,
+	  lib/imagery/c_clear.c, lib/imagery/c_distinct.c,
+	  lib/imagery/c_exec.c, lib/imagery/c_execmem.c,
+	  lib/imagery/c_means.c, lib/imagery/c_merge.c,
+	  lib/imagery/c_nclasses.c, lib/imagery/c_point.c,
+	  lib/imagery/c_reassign.c, lib/imagery/c_reclass.c,
+	  lib/imagery/c_sep.c, lib/imagery/c_sig.c, lib/imagery/c_sum2.c,
+	  lib/imagery/colors.c, lib/imagery/eol.c, lib/imagery/find.c,
+	  lib/imagery/fopen.c, lib/imagery/georef.c, lib/imagery/grey.c,
+	  lib/imagery/group.c, lib/imagery/histo.c, lib/imagery/histo_eq.c,
+	  lib/imagery/image.c, lib/imagery/imagery.hh,
+	  lib/imagery/list_subgp.c, lib/imagery/loc_info.c,
+	  lib/imagery/ls_groups.c, lib/imagery/nfiles.c,
+	  lib/imagery/open.c, lib/imagery/percent.c, lib/imagery/points.c,
+	  lib/imagery/proj.c, lib/imagery/ref.c, lib/imagery/set_window.c,
+	  lib/imagery/sig.c, lib/imagery/sig2cats.c, lib/imagery/sigfile.c,
+	  lib/imagery/sigset.c, lib/imagery/sigsetfile.c,
+	  lib/imagery/tape_info.c, lib/imagery/target.c,
+	  lib/imagery/title.c, lib/imagery/v_exec.c, lib/imagery/var.c,
+	  lib/imagery/vask_group.c, lib/linkm, lib/linkm/README,
+	  lib/linkm/destroy.c, lib/linkm/dispose.c, lib/linkm/init.c,
+	  lib/linkm/linkm.c, lib/linkm/malloc.c, lib/linkm/new.c,
+	  lib/linkm/next.c, lib/linkm/oom.c, lib/linkm/speed.c,
+	  lib/linkm/speed2.c, lib/linkm/speed3.c, lib/linkm/try.c,
+	  lib/linkm/try2.c, lib/ogsf, lib/ogsf/GSX.c, lib/ogsf/GS_util.c,
+	  lib/ogsf/README, lib/ogsf/SGIIMAGESPEC, lib/ogsf/TODO,
+	  lib/ogsf/gp.c, lib/ogsf/gpd.c, lib/ogsf/gs.c, lib/ogsf/gs_bm.c,
+	  lib/ogsf/gs_norms.c, lib/ogsf/gs_query.c, lib/ogsf/gsd_cplane.c,
+	  lib/ogsf/gsd_fonts.c, lib/ogsf/gsd_img.c, lib/ogsf/gsd_label.c,
+	  lib/ogsf/gsd_legend.c, lib/ogsf/gsd_objs.c, lib/ogsf/gsd_prim.c,
+	  lib/ogsf/gsd_surf.c, lib/ogsf/gsd_views.c, lib/ogsf/gsd_wire.c,
+	  lib/ogsf/gsdiff.c, lib/ogsf/gsdrape.c, lib/ogsf/gsds.c,
+	  lib/ogsf/gsget.c, lib/ogsf/gsget.h, lib/ogsf/gv.c,
+	  lib/ogsf/gv_quick.c, lib/ogsf/image.h, lib/ogsf/keyframe.h,
+	  lib/ogsf/rgbpack.h, lib/ogsf/rowcol.h, lib/ogsf/trans.c,
+	  lib/raster, lib/raster/Box.c, lib/raster/Clr_table.c,
+	  lib/raster/Color.c, lib/raster/Cont_abs.c, lib/raster/Cont_rel.c,
+	  lib/raster/Erase.c, lib/raster/Flush.c, lib/raster/Font.c,
+	  lib/raster/Get_cindex.c, lib/raster/Get_ncolors.c,
+	  lib/raster/Get_t_box.c, lib/raster/Move_abs.c,
+	  lib/raster/Move_rel.c, lib/raster/Panel.c,
+	  lib/raster/Plydts_abs.c, lib/raster/Plydts_rel.c,
+	  lib/raster/Plylne_abs.c, lib/raster/Plylne_rel.c,
+	  lib/raster/Polygn_abs.c, lib/raster/Polygn_rel.c,
+	  lib/raster/RGB_color.c, lib/raster/RGB_ras.c,
+	  lib/raster/Raster.c, lib/raster/Reset_clr.c,
+	  lib/raster/Reset_clrs.c, lib/raster/Returns.c,
+	  lib/raster/Set_win.c, lib/raster/Text.c, lib/raster/Text_rot.c,
+	  lib/raster/Text_size.c, lib/raster/graph.h, lib/raster/io.c,
+	  lib/raster/item_appnd.c, lib/raster/item_del.c,
+	  lib/raster/item_get.c, lib/raster/item_list.c,
+	  lib/raster/item_set.c, lib/raster/lists.c, lib/raster/open.h,
+	  lib/raster/pad_create.c, lib/raster/pad_cur.c,
+	  lib/raster/pad_delete.c, lib/raster/pad_invent.c,
+	  lib/raster/pad_list.c, lib/raster/pad_select.c,
+	  lib/raster/parse_mon.c, lib/raster/perror.c, lib/rowio,
+	  lib/rowio/fileno.c, lib/rowio/forget.c, lib/rowio/get.c,
+	  lib/rowio/put.c, lib/rowio/release.c, lib/rowio/setup.c, lib/rst,
+	  lib/rst/data, lib/rst/data/DESCRIPTION.DATA,
+	  lib/rst/data/dataquad.c, lib/rst/data/local_proto.h,
+	  lib/rst/interp_float, lib/rst/interp_float/BUGS,
+	  lib/rst/interp_float/DESCRIPTION.INTERP,
+	  lib/rst/interp_float/distance.c, lib/rst/interp_float/func2d.c,
+	  lib/rst/interp_float/init2d.c, lib/rst/interp_float/interp2d.c,
+	  lib/rst/interp_float/matrix.c, lib/rst/interp_float/mem,
+	  lib/rst/interp_float/minmax.c, lib/rst/interp_float/output2d.c,
+	  lib/rst/interp_float/point2d.c, lib/rst/interp_float/points.h,
+	  lib/rst/interp_float/print_tree, lib/rst/interp_float/protos,
+	  lib/rst/interp_float/resout2d.c,
+	  lib/rst/interp_float/resout2dmod.c,
+	  lib/rst/interp_float/ressegm2d.c,
+	  lib/rst/interp_float/secpar2d.c, lib/rst/interp_float/segmen2d.c,
+	  lib/rst/interp_float/write2d.c, lib/segment,
+	  lib/segment/address.c, lib/segment/debug.c, lib/segment/flush.c,
+	  lib/segment/format.c, lib/segment/get.c, lib/segment/get_row.c,
+	  lib/segment/init.c, lib/segment/pagein.c, lib/segment/pageout.c,
+	  lib/segment/patch, lib/segment/put.c, lib/segment/put_row.c,
+	  lib/segment/release.c, lib/segment/seek.c, lib/segment/setup.c,
+	  lib/segment/try.c, lib/vask, lib/vask/V_acc.c, lib/vask/V_call.c,
+	  lib/vask/V_clear.c, lib/vask/V_const.c, lib/vask/V_error.c,
+	  lib/vask/V_exit.c, lib/vask/V_init.c, lib/vask/V_line.c,
+	  lib/vask/V_ques.c, lib/vask/V_support.c, lib/vask/V_trim_dec.c,
+	  raster, raster/r.average, raster/r.average/main.c,
+	  raster/r.basins.fill, raster/r.basins.fill/HELP,
+	  raster/r.basins.fill/die.c, raster/r.basins.fill/local_proto.h,
+	  raster/r.basins.fill/main.c, raster/r.basins.fill/percent.c,
+	  raster/r.basins.fill/read_map.c, raster/r.bilinear,
+	  raster/r.bilinear/main.c, raster/r.buffer,
+	  raster/r.buffer/distance.h, raster/r.buffer/execute.c,
+	  raster/r.buffer/find_dist.c, raster/r.buffer/init.c,
+	  raster/r.buffer/local_proto.h, raster/r.buffer/main.c,
+	  raster/r.buffer/parse_dist.c, raster/r.buffer/process_at.c,
+	  raster/r.buffer/process_left.c, raster/r.buffer/process_rite.c,
+	  raster/r.buffer/process_row.c, raster/r.buffer/read_map.c,
+	  raster/r.buffer/support.c, raster/r.buffer/write_map.c,
+	  raster/r.cats, raster/r.cats/cats.c, raster/r.cats/local_proto.h,
+	  raster/r.cats/main.c, raster/r.circle, raster/r.circle/README,
+	  raster/r.circle/TODO, raster/r.circle/dist.c, raster/r.clump,
+	  raster/r.clump/clump.c, raster/r.clump/local_proto.h,
+	  raster/r.clump/main.c, raster/r.coin, raster/r.coin/check.c,
+	  raster/r.coin/coin.h, raster/r.coin/format.c,
+	  raster/r.coin/inter.c, raster/r.coin/local_proto.h,
+	  raster/r.coin/main.c, raster/r.coin/make_coin.c,
+	  raster/r.coin/print_coin.c, raster/r.coin/print_hdr.c,
+	  raster/r.coin/prnt_entry.c, raster/r.coin/totals.c,
+	  raster/r.colors, raster/r.colors/eq.c, raster/r.colors/example1,
+	  raster/r.colors/example2, raster/r.colors/example3,
+	  raster/r.colors/example4, raster/r.colors/local_proto.h,
+	  raster/r.colors/main.c, raster/r.colors/rules.c,
+	  raster/r.compress, raster/r.compress/main.c, raster/r.cost,
+	  raster/r.cost/local_proto.h, raster/r.cost/stash.h,
+	  raster/r.covar, raster/r.covar/main.c, raster/r.cross,
+	  raster/r.cross/cats.c, raster/r.cross/cross.c,
+	  raster/r.cross/glob.h, raster/r.cross/local_proto.h,
+	  raster/r.cross/main.c, raster/r.cross/renumber.c,
+	  raster/r.cross/store.c, raster/r.cross/tree.c, raster/r.describe,
+	  raster/r.describe/describe.c, raster/r.describe/dumplist.c,
+	  raster/r.describe/local_proto.h, raster/r.describe/main.c,
+	  raster/r.describe/percent.c, raster/r.describe/tree.c,
+	  raster/r.digit, raster/r.digit/bnw_line.c,
+	  raster/r.digit/create_map.c, raster/r.digit/digitize.c,
+	  raster/r.digit/get_area.c, raster/r.digit/get_circle.c,
+	  raster/r.digit/get_en.c, raster/r.digit/get_label.c,
+	  raster/r.digit/get_line.c, raster/r.digit/get_map.c,
+	  raster/r.digit/get_point.c, raster/r.digit/get_type.c,
+	  raster/r.digit/instruct.c, raster/r.digit/local_proto.h,
+	  raster/r.digit/main.c, raster/r.digit/setup_graph.c,
+	  raster/r.distance, raster/r.distance/defs.h,
+	  raster/r.distance/distance.c, raster/r.distance/edges.c,
+	  raster/r.distance/labels.c, raster/r.distance/main.c,
+	  raster/r.distance/mapgrapher, raster/r.distance/parse.c,
+	  raster/r.distance/report.c, raster/r.grow, raster/r.grow/main.c,
+	  raster/r.in.arc, raster/r.in.arc/README,
+	  raster/r.in.arc/gethead.c, raster/r.in.arc/local_proto.h,
+	  raster/r.in.arc/main.c, raster/r.in.ascii,
+	  raster/r.in.ascii/gethead.c, raster/r.in.ascii/local_proto.h,
+	  raster/r.in.ascii/main.c, raster/r.in.bin,
+	  raster/r.in.bin/README, raster/r.in.bin/main.c, raster/r.in.poly,
+	  raster/r.in.poly/README, raster/r.in.poly/format.h,
+	  raster/r.in.poly/get_item.c, raster/r.in.poly/getformat.c,
+	  raster/r.in.poly/local_proto.h, raster/r.in.poly/main.c,
+	  raster/r.in.poly/poly2rast.c, raster/r.in.poly/raster.c,
+	  raster/r.info, raster/r.info/local_proto.h, raster/r.info/main.c,
+	  raster/r.info/reclas_txt.c, raster/r.kappa,
+	  raster/r.kappa/calc_kappa.c, raster/r.kappa/kappa.h,
+	  raster/r.kappa/main.c, raster/r.kappa/mask.c,
+	  raster/r.kappa/prt_hdr.c, raster/r.kappa/prt_label.c,
+	  raster/r.kappa/prt_mat.c, raster/r.kappa/stats.c,
+	  raster/r.kappa/sum.c, raster/r.los, raster/r.los/cmd_line.h,
+	  raster/r.los/color_rnge.c, raster/r.los/delete.c,
+	  raster/r.los/local_proto.h, raster/r.los/main.c,
+	  raster/r.los/make_list.c, raster/r.los/make_point.c,
+	  raster/r.los/mark_pts.c, raster/r.los/point.h,
+	  raster/r.los/pts_elim.c, raster/r.los/radians.h,
+	  raster/r.los/segment.c, raster/r.median,
+	  raster/r.median/local_proto.h, raster/r.median/main.c,
+	  raster/r.median/median.c, raster/r.median/read_stats.c,
+	  raster/r.median/stats.h, raster/r.median/write_rec.c,
+	  raster/r.mfilter, raster/r.mfilter/apply.c,
+	  raster/r.mfilter/execute.c, raster/r.mfilter/filter,
+	  raster/r.mfilter/filter.ave, raster/r.mfilter/filter.h,
+	  raster/r.mfilter/getfilt.c, raster/r.mfilter/getrow.c,
+	  raster/r.mfilter/glob.h, raster/r.mfilter/local_proto.h,
+	  raster/r.mfilter/main.c, raster/r.mfilter/perform.c,
+	  raster/r.mfilter/uppercase.c, raster/r.mode,
+	  raster/r.mode/local_proto.h, raster/r.mode/main.c,
+	  raster/r.mode/read_stats.c, raster/r.mode/write_rec.c,
+	  raster/r.neighbors, raster/r.neighbors/bufs.c,
+	  raster/r.neighbors/c_ave.c, raster/r.neighbors/c_divr.c,
+	  raster/r.neighbors/c_intr.c, raster/r.neighbors/c_max.c,
+	  raster/r.neighbors/c_median.c, raster/r.neighbors/c_min.c,
+	  raster/r.neighbors/c_mode.c, raster/r.neighbors/c_stddev.c,
+	  raster/r.neighbors/c_var.c, raster/r.neighbors/divr_cats.c,
+	  raster/r.neighbors/gather.c, raster/r.neighbors/intr_cats.c,
+	  raster/r.neighbors/local_proto.h, raster/r.neighbors/main.c,
+	  raster/r.neighbors/method.h, raster/r.neighbors/ncb.h,
+	  raster/r.neighbors/null_cats.c, raster/r.neighbors/readcell.c,
+	  raster/r.neighbors/sort_cell.c, raster/r.null,
+	  raster/r.null/local_proto.h, raster/r.null/mask.c,
+	  raster/r.null/mask.h, raster/r.null/null.c, raster/r.out.arc,
+	  raster/r.out.arc/main.c, raster/r.out.ascii,
+	  raster/r.out.ascii/main.c, raster/r.out.mpeg,
+	  raster/r.out.mpeg/README, raster/r.out.mpeg/main.c,
+	  raster/r.out.mpeg/rom_proto.h, raster/r.out.mpeg/write.c,
+	  raster/r.out.ppm, raster/r.out.ppm/main.c, raster/r.param.scale,
+	  raster/r.param.scale/CHANGES, raster/r.param.scale/README,
+	  raster/r.param.scale/close_down.c, raster/r.param.scale/cols.sh,
+	  raster/r.param.scale/disp_matrix.c,
+	  raster/r.param.scale/feature.c,
+	  raster/r.param.scale/features.pal,
+	  raster/r.param.scale/find_normal.c,
+	  raster/r.param.scale/interface.c, raster/r.param.scale/main.c,
+	  raster/r.param.scale/nrutil.c, raster/r.param.scale/nrutil.h,
+	  raster/r.param.scale/open_files.c, raster/r.param.scale/param.c,
+	  raster/r.param.scale/param.h, raster/r.param.scale/param.sh,
+	  raster/r.param.scale/process.c,
+	  raster/r.param.scale/write_cats.c,
+	  raster/r.param.scale/write_cols.c, raster/r.patch,
+	  raster/r.patch/do_patch.c, raster/r.patch/local_proto.h,
+	  raster/r.patch/nfiles.h, raster/r.patch/support.c,
+	  raster/r.profile, raster/r.profile/main.c, raster/r.proj,
+	  raster/r.proj/bilinear.c, raster/r.proj/cubic.c,
+	  raster/r.proj/local_proto.h, raster/r.proj/main.c,
+	  raster/r.proj/nearest.c, raster/r.proj/r.proj.h,
+	  raster/r.proj/readcell.c, raster/r.quant,
+	  raster/r.quant/global.h, raster/r.quant/main.c,
+	  raster/r.quant/read_rules.c, raster/r.reclass,
+	  raster/r.reclass/add_rule.c, raster/r.reclass/input.c,
+	  raster/r.reclass/main.c, raster/r.reclass/parse.c,
+	  raster/r.reclass/range.c, raster/r.reclass/reclass.c,
+	  raster/r.reclass/rule.h, raster/r.reclass/stats.c,
+	  raster/r.recode, raster/r.recode/global.h,
+	  raster/r.recode/main.c, raster/r.recode/read_rules.c,
+	  raster/r.recode/recode.c, raster/r.report,
+	  raster/r.report/format.c, raster/r.report/global.h,
+	  raster/r.report/header.c, raster/r.report/label.c,
+	  raster/r.report/main.c, raster/r.report/maskinfo.c,
+	  raster/r.report/parse.c, raster/r.report/prt_report.c,
+	  raster/r.report/prt_unit.c, raster/r.report/report.c,
+	  raster/r.report/stats.c, raster/r.report/sums.c,
+	  raster/r.resamp.rst, raster/r.resamp.rst/BUGS,
+	  raster/r.resamp.rst/DESCRIPTION, raster/r.resamp.rst/HISTORY,
+	  raster/r.resamp.rst/README, raster/r.resamp.rst/local_proto.h,
+	  raster/r.resamp.rst/main.c, raster/r.resamp.rst/surf.h,
+	  raster/r.resample, raster/r.resample/diff.sh,
+	  raster/r.resample/main.c, raster/r.rescale, raster/r.rescale.eq,
+	  raster/r.rescale.eq/get_range.c, raster/r.rescale.eq/get_stats.c,
+	  raster/r.rescale.eq/local_proto.h, raster/r.rescale.eq/main.c,
+	  raster/r.rescale/get_range.c, raster/r.rescale/local_proto.h,
+	  raster/r.rescale/main.c, raster/r.slope.aspect,
+	  raster/r.slope.aspect/local_proto.h,
+	  raster/r.slope.aspect/main.c, raster/r.slope.aspect/opennew.c,
+	  raster/r.slope.aspect/r_sl_asp_northangle_diffs.tar.gz,
+	  raster/r.statistics, raster/r.statistics/gauss.dat,
+	  raster/r.statistics/main.c, raster/r.statistics/method.h,
+	  raster/r.statistics/o_adev.c, raster/r.statistics/o_average.c,
+	  raster/r.statistics/o_distrib.c, raster/r.statistics/o_kurt.c,
+	  raster/r.statistics/o_max.c, raster/r.statistics/o_median.c,
+	  raster/r.statistics/o_min.c, raster/r.statistics/o_mode.c,
+	  raster/r.statistics/o_sdev.c, raster/r.statistics/o_skew.c,
+	  raster/r.statistics/o_sum.c, raster/r.statistics/o_var.c,
+	  raster/r.statistics/read_stats.c,
+	  raster/r.statistics/write_rec.c, raster/r.stats,
+	  raster/r.stats/cell_stats.c, raster/r.stats/global.h,
+	  raster/r.stats/main.c, raster/r.stats/raw_stats.c,
+	  raster/r.stats/stats.c, raster/r.sum, raster/r.sum/main.c,
+	  raster/r.sun, raster/r.sun/local_proto.h, raster/r.surf.area,
+	  raster/r.surf.area/main.c, raster/r.surf.contour,
+	  raster/r.surf.contour/add_in.c, raster/r.surf.contour/addpts.c,
+	  raster/r.surf.contour/bseg_close.c,
+	  raster/r.surf.contour/bseg_get.c,
+	  raster/r.surf.contour/bseg_open.c,
+	  raster/r.surf.contour/bseg_put.c,
+	  raster/r.surf.contour/bseg_read.c,
+	  raster/r.surf.contour/bseg_write.c,
+	  raster/r.surf.contour/contour.h, raster/r.surf.contour/cseg.h,
+	  raster/r.surf.contour/cseg_close.c,
+	  raster/r.surf.contour/cseg_get.c,
+	  raster/r.surf.contour/cseg_open.c,
+	  raster/r.surf.contour/cseg_put.c,
+	  raster/r.surf.contour/cseg_read.c,
+	  raster/r.surf.contour/cseg_write.c,
+	  raster/r.surf.contour/find_con.c, raster/r.surf.contour/flag.h,
+	  raster/r.surf.contour/flag_clr_all.c,
+	  raster/r.surf.contour/flag_create.c,
+	  raster/r.surf.contour/flag_destroy.c,
+	  raster/r.surf.contour/flag_get.c,
+	  raster/r.surf.contour/flag_set.c,
+	  raster/r.surf.contour/flag_unset.c, raster/r.surf.contour/main.c,
+	  raster/r.surf.fractal, raster/r.surf.fractal/README,
+	  raster/r.surf.fractal/close_down.c, raster/r.surf.fractal/frac.h,
+	  raster/r.surf.fractal/interface.c, raster/r.surf.fractal/main.c,
+	  raster/r.surf.fractal/max_pow.c,
+	  raster/r.surf.fractal/open_files.c,
+	  raster/r.surf.fractal/process.c,
+	  raster/r.surf.fractal/spec_syn.c,
+	  raster/r.surf.fractal/write_rast.c, raster/r.surf.gauss,
+	  raster/r.surf.gauss/README, raster/r.surf.gauss/gaussurf.c,
+	  raster/r.surf.gauss/local_proto.h, raster/r.surf.gauss/main.c,
+	  raster/r.surf.gauss/source.txt, raster/r.surf.idw,
+	  raster/r.surf.idw/dist.c, raster/r.surf.idw/ll.c,
+	  raster/r.surf.idw/main.c, raster/r.surf.idw/main.h,
+	  raster/r.surf.idw/pi.h, raster/r.surf.idw2,
+	  raster/r.surf.idw2/local_proto.h, raster/r.surf.idw2/main.c,
+	  raster/r.surf.idw2/read_cell.c, raster/r.surf.idw2/read_sites.c,
+	  raster/r.surf.random, raster/r.surf.random/README,
+	  raster/r.surf.random/SOURCE.TXT,
+	  raster/r.surf.random/local_proto.h, raster/r.surf.random/main.c,
+	  raster/r.surf.random/randsurf.c, raster/r.thin,
+	  raster/r.thin/io.c, raster/r.thin/local_proto.h,
+	  raster/r.thin/main.c, raster/r.thin/thin_lines.c,
+	  raster/r.timestamp, raster/r.timestamp/main.c, raster/r.transect,
+	  raster/r.transect/local_proto.h, raster/r.transect/main.c,
+	  raster/r.transect/parse_line.c, raster/r.water.outlet,
+	  raster/r.water.outlet/TODO, raster/r.water.outlet/basin.h,
+	  raster/r.water.outlet/flag.h,
+	  raster/r.water.outlet/flag_clr_all.c,
+	  raster/r.water.outlet/flag_create.c,
+	  raster/r.water.outlet/flag_destroy.c,
+	  raster/r.water.outlet/flag_get.c,
+	  raster/r.water.outlet/flag_set.c,
+	  raster/r.water.outlet/flag_unset.c,
+	  raster/r.water.outlet/legal.c, raster/r.water.outlet/main.c,
+	  raster/r.water.outlet/outletP.h,
+	  raster/r.water.outlet/over_cells.c,
+	  raster/r.water.outlet/ramseg.c, raster/r.water.outlet/ramseg.h,
+	  raster/r.watershed, raster/r.watershed/front,
+	  raster/r.watershed/front/main.c, raster/r.watershed/ram,
+	  raster/r.watershed/ram/Gwater.h,
+	  raster/r.watershed/ram/close_maps.c,
+	  raster/r.watershed/ram/close_maps2.c,
+	  raster/r.watershed/ram/def_basin.c,
+	  raster/r.watershed/ram/do_astar.c,
+	  raster/r.watershed/ram/do_cum.c,
+	  raster/r.watershed/ram/find_pour.c,
+	  raster/r.watershed/ram/flag.h,
+	  raster/r.watershed/ram/flag_clr_all.c,
+	  raster/r.watershed/ram/flag_create.c,
+	  raster/r.watershed/ram/flag_destroy.c,
+	  raster/r.watershed/ram/flag_get.c,
+	  raster/r.watershed/ram/flag_set.c,
+	  raster/r.watershed/ram/flag_unset.c,
+	  raster/r.watershed/ram/haf_side.c,
+	  raster/r.watershed/ram/init_vars.c,
+	  raster/r.watershed/ram/main.c,
+	  raster/r.watershed/ram/no_stream.c,
+	  raster/r.watershed/ram/over_cells.c,
+	  raster/r.watershed/ram/ramseg.c, raster/r.watershed/ram/ramseg.h,
+	  raster/r.watershed/ram/sg_factor.c,
+	  raster/r.watershed/ram/slope_len.c,
+	  raster/r.watershed/ram/split_str.c,
+	  raster/r.watershed/ram/usage.c, raster/r.watershed/seg,
+	  raster/r.watershed/seg/Gwater.h,
+	  raster/r.watershed/seg/bseg_close.c,
+	  raster/r.watershed/seg/bseg_get.c,
+	  raster/r.watershed/seg/bseg_open.c,
+	  raster/r.watershed/seg/bseg_put.c,
+	  raster/r.watershed/seg/bseg_read.c,
+	  raster/r.watershed/seg/bseg_write.c,
+	  raster/r.watershed/seg/close_maps.c,
+	  raster/r.watershed/seg/close_maps2.c,
+	  raster/r.watershed/seg/cseg.h,
+	  raster/r.watershed/seg/cseg_close.c,
+	  raster/r.watershed/seg/cseg_get.c,
+	  raster/r.watershed/seg/cseg_open.c,
+	  raster/r.watershed/seg/cseg_put.c,
+	  raster/r.watershed/seg/cseg_read.c,
+	  raster/r.watershed/seg/cseg_write.c,
+	  raster/r.watershed/seg/def_basin.c,
+	  raster/r.watershed/seg/do_astar.c,
+	  raster/r.watershed/seg/do_cum.c,
+	  raster/r.watershed/seg/dseg_close.c,
+	  raster/r.watershed/seg/dseg_get.c,
+	  raster/r.watershed/seg/dseg_open.c,
+	  raster/r.watershed/seg/dseg_put.c,
+	  raster/r.watershed/seg/dseg_read.c,
+	  raster/r.watershed/seg/dseg_write.c,
+	  raster/r.watershed/seg/find_pour.c,
+	  raster/r.watershed/seg/haf_side.c,
+	  raster/r.watershed/seg/init_vars.c,
+	  raster/r.watershed/seg/main.c,
+	  raster/r.watershed/seg/no_stream.c,
+	  raster/r.watershed/seg/over_cells.c,
+	  raster/r.watershed/seg/sg_factor.c,
+	  raster/r.watershed/seg/slope_len.c,
+	  raster/r.watershed/seg/split_str.c,
+	  raster/r.watershed/seg/sseg_close.c,
+	  raster/r.watershed/seg/sseg_get.c,
+	  raster/r.watershed/seg/sseg_open.c,
+	  raster/r.watershed/seg/sseg_put.c,
+	  raster/r.watershed/seg/usage.c, raster/r.watershed/shed,
+	  raster/r.watershed/shed/accum_down.c,
+	  raster/r.watershed/shed/basin_maps.c,
+	  raster/r.watershed/shed/com_line.c,
+	  raster/r.watershed/shed/file_in.c,
+	  raster/r.watershed/shed/free.c,
+	  raster/r.watershed/shed/insert_cat.c,
+	  raster/r.watershed/shed/intro.c,
+	  raster/r.watershed/shed/local_proto.h,
+	  raster/r.watershed/shed/main.c, raster/r.watershed/shed/print.c,
+	  raster/r.watershed/shed/read.c, raster/r.watershed/shed/valid.c,
+	  raster/r.watershed/shed/watershed.h, raster/r.what,
+	  raster/r.what/die.c, raster/r.what/local_proto.h,
+	  raster/r.what/main.c, raster/r.what/usage.c, sites,
+	  sites/s.in.ascii, sites/s.in.ascii/get_site.c,
+	  sites/s.in.ascii/local_proto.h, visualization,
+	  visualization/nviz, visualization/nviz/scripts,
+	  visualization/nviz/scripts/ChangeLog,
+	  visualization/nviz/scripts/assoc.tcl,
+	  visualization/nviz/scripts/attPopup.tcl,
+	  visualization/nviz/scripts/colorPopup.tcl,
+	  visualization/nviz/scripts/cross.listing,
+	  visualization/nviz/scripts/cutplane_channels.tcl,
+	  visualization/nviz/scripts/extra_bindings.tcl,
+	  visualization/nviz/scripts/fileBrowser.tcl,
+	  visualization/nviz/scripts/nviz_init.tcl,
+	  visualization/nviz/scripts/panel_color.tcl,
+	  visualization/nviz/scripts/panel_cutplane.tcl,
+	  visualization/nviz/scripts/panel_label.tcl,
+	  visualization/nviz/scripts/panel_lights.tcl,
+	  visualization/nviz/scripts/panel_mkdspf.tcl,
+	  visualization/nviz/scripts/panel_scale.tcl,
+	  visualization/nviz/scripts/panel_sdiff.tcl,
+	  visualization/nviz/scripts/panel_site.tcl,
+	  visualization/nviz/scripts/panel_surf.tcl,
+	  visualization/nviz/scripts/panel_tst.tcl,
+	  visualization/nviz/scripts/queue.tcl,
+	  visualization/nviz/scripts/script_file_tools,
+	  visualization/nviz/scripts/script_get_line,
+	  visualization/nviz/scripts/script_play,
+	  visualization/nviz/scripts/script_support.tcl,
+	  visualization/nviz/scripts/script_tools,
+	  visualization/nviz/scripts/send_support.tcl,
+	  visualization/nviz/scripts/structlib.tcl,
+	  visualization/nviz/scripts/test.fields,
+	  visualization/nviz/scripts/test.script,
+	  visualization/nviz/scripts/test.state,
+	  visualization/nviz/scripts/unique.tcl,
+	  visualization/nviz/scripts/wirecolorPopup.tcl,
+	  visualization/nviz/src, visualization/nviz/src/ChangeLog,
+	  visualization/nviz/src/TODO, visualization/nviz/src/TOGL_LICENSE,
+	  visualization/nviz/src/change_view.c,
+	  visualization/nviz/src/coldefs.h,
+	  visualization/nviz/src/cutplane_obj.c,
+	  visualization/nviz/src/exag.c,
+	  visualization/nviz/src/glwrappers.c,
+	  visualization/nviz/src/interface_old.h,
+	  visualization/nviz/src/ks_names.h,
+	  visualization/nviz/src/label.c, visualization/nviz/src/lights.c,
+	  visualization/nviz/src/misc.c,
+	  visualization/nviz/src/mkdspf_calc_linefax.c,
+	  visualization/nviz/src/mkdspf_fill_cfax.c,
+	  visualization/nviz/src/mkdspf_init_file.c,
+	  visualization/nviz/src/mkdspf_iso_surface.c,
+	  visualization/nviz/src/mkdspf_main.c,
+	  visualization/nviz/src/script_support.c,
+	  visualization/nviz/src/tclcommands,
+	  visualization/nviz/src/tkInt.h, visualization/nviz/src/tkPort.h,
+	  visualization/nviz/src/tkUnixPort.h, visualization/nviz/src/tmp,
+	  visualization/nviz/src/togl.c, visualization/nviz/src/togl.h,
+	  visualization/nviz/src/togl_cb.c, visualization/nviz/src/vect.c,
+	  visualization/nviz/src/viz.h, visualization/xganim,
+	  visualization/xganim/bitmaps,
+	  visualization/xganim/bitmaps/ff.xbm,
+	  visualization/xganim/bitmaps/loop.xbm,
+	  visualization/xganim/bitmaps/play.xbm,
+	  visualization/xganim/bitmaps/rabbit.xbm,
+	  visualization/xganim/bitmaps/rewind.xbm,
+	  visualization/xganim/bitmaps/rplay.xbm,
+	  visualization/xganim/bitmaps/snail.xbm,
+	  visualization/xganim/bitmaps/stepb.xbm,
+	  visualization/xganim/bitmaps/stepf.xbm,
+	  visualization/xganim/bitmaps/stop.xbm,
+	  visualization/xganim/bitmaps/swing.xbm,
+	  visualization/xganim/gui.c, visualization/xganim/gui.h,
+	  visualization/xganim/main.c: Initial revision
+
+1999-12-29 15:10  
+
+	* .: New repository initialized by cvs2svn.
+
diff --git a/ChangeLog_7.0.3.gz b/ChangeLog_7.0.3.gz
deleted file mode 100644
index 58bcfc6..0000000
Binary files a/ChangeLog_7.0.3.gz and /dev/null differ
diff --git a/INSTALL b/INSTALL
index f62360a..6a0f673 100644
--- a/INSTALL
+++ b/INSTALL
@@ -308,4 +308,4 @@ http://grass.osgeo.org/documentation/first-time-users/
 ------------------
 (C) 1999-2016 by The GRASS Development Team
 
-Last changed: $Date: 2016-01-02 16:58:40 +0100 (Sat, 02 Jan 2016) $
+Last changed: $Date: 2016-01-02 07:54:04 -0800 (Sat, 02 Jan 2016) $
diff --git a/Makefile b/Makefile
index 44ac2ff..a6ef570 100644
--- a/Makefile
+++ b/Makefile
@@ -96,7 +96,8 @@ LIBDIRS = \
 	lib/linkm \
 	lib/db \
 	lib/vector \
-	db/drivers
+	db/drivers \
+	lib/python
 
 # Compile libraries only
 libs:
diff --git a/README.debian b/README.debian
index 4c0ff35..2a8cd52 100644
--- a/README.debian
+++ b/README.debian
@@ -72,7 +72,6 @@
 FIXME: how to download just the grass/debian/ directory from git
        and not the whole thing?
 
-
 --
 H.Bowman
-Last changed: $Date: 2015-07-21 13:14:50 +0200 (Tue, 21 Jul 2015) $
+Last changed: $Date: 2015-07-21 04:13:44 -0700 (Tue, 21 Jul 2015) $
diff --git a/REQUIREMENTS.html b/REQUIREMENTS.html
index caf3c74..f5ef8ad 100644
--- a/REQUIREMENTS.html
+++ b/REQUIREMENTS.html
@@ -160,6 +160,14 @@ Ctypes can be added as a third-party module in Python 2.3 and 2.4
 a newer version is "python-pillow"
 </li>
 
+<li><b>Python matplotlib > 1.2</b> ("python-matplotlib", needed for the several wxGUI tools)<br>
+<a href="http://matplotlib.org/">http://matplotlib.org/</a>
+</li>
+
+<li><b>python-termcolor</b> (recommended for g.search.modules)<br>
+<a href="https://pypi.python.org/pypi/termcolor">https://pypi.python.org/pypi/termcolor</a>
+</li>
+
 <li><b>FFMPEG or alternative</b> (for wxGUI Animation tool - g.gui.module),
     specifically ffmpeg tool<br>
 <a href="http://ffmpeg.org">http://ffmpeg.org</a>
@@ -201,6 +209,6 @@ MacOSX users may go here to download precompiled libraries etc.:
 <br><a href="http://grass.osgeo.org/development/bug-tracking/">http://grass.osgeo.org/development/bug-tracking/</a>
 
 <p>
-<i>Last changed: $Date: 2016-01-02 16:58:40 +0100 (Sat, 02 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-03-10 05:00:45 -0800 (Thu, 10 Mar 2016) $</i>
 </body>
 </html>
diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 0000000..331f2d8
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,113 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+### Inspired by https://svn.osgeo.org/gdal/trunk/gdal/Vagrantfile
+
+require 'socket'
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  
+  vm_ram = ENV['VAGRANT_VM_RAM'] || 1024
+  vm_cpu = ENV['VAGRANT_VM_CPU'] || 2
+  
+  config.vm.box = "trusty64"
+  
+  config.vm.hostname = "grass-gis-vagrant"
+  config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
+  config.vm.define "grass-gis-vagrant" do |host|
+    
+    config.vm.network :forwarded_port, guest: 80, host: 8080
+    
+    host.vm.provider :virtualbox do |vb|
+      vb.customize ["modifyvm", :id, "--memory", vm_ram]
+      vb.customize ["modifyvm", :id, "--cpus", vm_cpu]
+      vb.customize ["modifyvm", :id, "--ioapic", "on"]
+      vb.name = "grass-gis-vagrant"
+    end  
+
+    config.ssh.forward_agent = true
+    config.ssh.forward_x11 = true
+
+    ### Define your GRASS data directory to be synce'd on virtual machine
+    # grassdata_dir = "/opt/grassdata"
+    # host.vm.synced_folder grassdata_dir, "/home/vagrant/grassdata"
+    
+    ppaRepos = [
+      "ppa:ubuntugis/ubuntugis-unstable"
+    ]
+    
+    packageList = [
+      "autoconf2.13",
+      "autotools-dev",
+      "make",
+      "g++",
+      "gettext",
+      "flex",
+      "bison",
+      "libcairo2-dev",
+      "libfftw3-dev",
+      "libfreetype6-dev",
+      "libgdal-dev",
+      "libgeos-dev",
+      "libglu1-mesa-dev",
+      "libjpeg-dev",
+      "libpng-dev",
+      "libtiff-dev",
+      "libmysqlclient-dev",
+      "libncurses5-dev",
+      "libpq-dev",
+      "libproj-dev",
+      "proj-bin",
+      "libreadline-dev",
+      "libsqlite3-dev",
+      "libwxgtk2.8-dev",
+      "libxmu-dev",
+      "python",
+      "python-wxgtk2.8",
+      "python-dev",
+      "python-numpy",
+      "python-ply",
+      "python-pil",
+      "libnetcdf-dev",
+      "netcdf-bin",
+      "libblas-dev",
+      "liblapack-dev",
+      "unixodbc-dev",
+      "zlib1g-dev",
+      "liblas-c-dev"
+    ]
+    
+    unless File.exists?(".no_apt_cache")
+      cache_dir = "apt-cache/#{config.vm.box}"
+      FileUtils.mkdir_p(cache_dir) unless Dir.exists?(cache_dir)
+      host.vm.synced_folder cache_dir, "/var/cache/apt/archives"
+    end
+    
+    if Dir.glob("#{File.dirname(__FILE__)}/.vagrant/machines/grass-gis-vagrant/*/id").empty?
+      pkg_cmd = "sed -i 's#deb http://us.archive.ubuntu.com/ubuntu/#deb mirror://mirrors.ubuntu.com/mirrors.txt#' /etc/apt/sources.list; "
+      
+      pkg_cmd << "apt-get update -qq; apt-get install -q -y python-software-properties; "
+      
+      if ppaRepos.length > 0
+	ppaRepos.each { |repo| pkg_cmd << "add-apt-repository -y " << repo << " ; " }
+	pkg_cmd << "apt-get update -qq; "
+      end
+      
+      # install packages we need we need
+      pkg_cmd << "apt-get install -q -y " + packageList.join(" ") << " ; "
+      host.vm.provision :shell, :inline => pkg_cmd
+
+      scripts = [
+      "clean.sh",
+      ];
+      scripts.each { |script| host.vm.provision :shell, :privileged => false, :path => "tools/vagrant/" << script }
+    end
+    scripts = [
+      "compile.sh",
+    ];
+    scripts.each { |script| host.vm.provision :shell, :privileged => false, :path => "tools/vagrant/" << script }
+  end
+end
diff --git a/configure b/configure
index da52471..8aea3dc 100755
--- a/configure
+++ b/configure
@@ -67,6 +67,8 @@ ac_help="$ac_help
 ac_help="$ac_help
   --with-opencl           support OpenCL functionality (default: no)"
 ac_help="$ac_help
+  --with-bzlib            support BZIP2 functionality (default: no)"
+ac_help="$ac_help
   --with-gdal[=path/gdal-config]
                           enable GDAL/OGR support (gdal-config with path,
                           e.g. '--with-gdal=/usr/local/bin/gdal-config')"
@@ -76,6 +78,11 @@ ac_help="$ac_help
                           e.g. '--with-liblas=/usr/local/bin/liblas-config',
                           default: no)"
 ac_help="$ac_help
+  --with-pdal[=path/pdal-config]
+                          enable PDAL support (pdal-config with path,
+                          e.g. '--with-pdal=/usr/local/bin/pdal-config',
+                          default: no)"
+ac_help="$ac_help
   --with-wxwidgets[=path/wx-config]
                           enable wxWidgets support (wx-config with path,
                           e.g. '--with-wxwidgets=/usr/local/bin/wx-config',
@@ -100,6 +107,11 @@ ac_help="$ac_help
 ac_help="$ac_help
   --with-zlib-libs=DIRS   zlib library files are in DIRS"
 ac_help="$ac_help
+  --with-bzlib-includes=DIRS
+                          BZIP2 include files are in DIRS"
+ac_help="$ac_help
+  --with-bzlib-libs=DIRS  BZIP2 library files are in DIRS"
+ac_help="$ac_help
   --with-readline-includes=DIRS
                           Readline include files are in DIRS"
 ac_help="$ac_help
@@ -743,7 +755,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:747: checking host system type" >&5
+echo "configure:759: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -766,7 +778,7 @@ echo "$ac_t""$host" 1>&6
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:770: checking for $ac_word" >&5
+echo "configure:782: checking for $ac_word" >&5
 
 if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -793,7 +805,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:797: checking for $ac_word" >&5
+echo "configure:809: checking for $ac_word" >&5
 
 if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -841,7 +853,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:845: checking for $ac_word" >&5
+echo "configure:857: checking for $ac_word" >&5
 
 if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -870,7 +882,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:874: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:886: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -881,12 +893,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 885 "configure"
+#line 897 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -912,19 +924,19 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:916: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:928: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:921: checking whether we are using GNU C" >&5
+echo "configure:933: checking whether we are using GNU C" >&5
 
 cat > conftest.c <<EOF
 #ifdef __GNUC__
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:940: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -942,7 +954,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:946: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:958: checking whether ${CC-cc} accepts -g" >&5
 
 echo 'void f(){}' > conftest.c
 if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
@@ -971,10 +983,10 @@ else
 fi
 
 echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:975: checking for Cygwin environment" >&5
+echo "configure:987: checking for Cygwin environment" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 978 "configure"
+#line 990 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -985,7 +997,7 @@ int main() {
 return __CYGWIN__;
 ; return 0; }
 EOF
-if { (eval echo configure:989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cygwin=yes
 else
@@ -1001,17 +1013,17 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
 CYGWIN=
 test "$ac_cv_cygwin" = yes && CYGWIN=yes
 echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:1005: checking for mingw32 environment" >&5
+echo "configure:1017: checking for mingw32 environment" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 1008 "configure"
+#line 1020 "configure"
 #include "confdefs.h"
 
 int main() {
 return __MINGW32__;
 ; return 0; }
 EOF
-if { (eval echo configure:1015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1027: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_mingw32=yes
 else
@@ -1029,7 +1041,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
 
 
 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1033: checking for executable suffix" >&5
+echo "configure:1045: checking for executable suffix" >&5
 
 if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
   ac_cv_exeext=.exe
@@ -1048,23 +1060,23 @@ ac_exeext=$EXEEXT
 IEEEFLAG=
 
 echo $ac_n "checking for full floating-point support""... $ac_c" 1>&6
-echo "configure:1052: checking for full floating-point support" >&5
+echo "configure:1064: checking for full floating-point support" >&5
 if test "$cross_compiling" = yes; then
      echo "$ac_t""unknown (cross-compiling)" 1>&6
      
 echo $ac_n "checking whether "cc -mieee" works""... $ac_c" 1>&6
-echo "configure:1057: checking whether "cc -mieee" works" >&5
+echo "configure:1069: checking whether "cc -mieee" works" >&5
 ac_save_cflags=${CFLAGS}
 CFLAGS="$CFLAGS -mieee"
 cat > conftest.$ac_ext <<EOF
-#line 1061 "configure"
+#line 1073 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:1068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
      echo "$ac_t""yes" 1>&6
         IEEEFLAG="-mieee"
@@ -1080,7 +1092,7 @@ CFLAGS=${ac_save_cflags}
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 1084 "configure"
+#line 1096 "configure"
 #include "confdefs.h"
 
 #include <float.h>
@@ -1094,7 +1106,7 @@ int main(void) {
 }
 
 EOF
-if { (eval echo configure:1098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
      echo "$ac_t""yes" 1>&6
     
@@ -1107,14 +1119,14 @@ else
   CFLAGS=-mieee
   
 echo $ac_n "checking for full floating-point support with -mieee""... $ac_c" 1>&6
-echo "configure:1111: checking for full floating-point support with -mieee" >&5
+echo "configure:1123: checking for full floating-point support with -mieee" >&5
 if test "$cross_compiling" = yes; then
      echo "$ac_t""unknown (cross-compiling)" 1>&6
     { echo "configure: error: *** INTERNAL CONFIGURE ERROR" 1>&2; exit 1; }
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 1118 "configure"
+#line 1130 "configure"
 #include "confdefs.h"
 
 #include <float.h>
@@ -1128,7 +1140,7 @@ int main(void) {
 }
 
 EOF
-if { (eval echo configure:1132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
      echo "$ac_t""yes" 1>&6
     IEEEFLAG="-mieee"
@@ -1165,7 +1177,7 @@ fi
 # Extract the first word of "pwd", so it can be a program name with args.
 set dummy pwd; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1169: checking for $ac_word" >&5
+echo "configure:1181: checking for $ac_word" >&5
 
 case "$pwd" in
   /*)
@@ -1203,7 +1215,7 @@ else
 fi
 
 echo $ac_n "checking for source directory""... $ac_c" 1>&6
-echo "configure:1207: checking for source directory" >&5
+echo "configure:1219: checking for source directory" >&5
 
 if test -z "$srcdir" ; then
   SRCDIR=`$pwd`
@@ -1214,7 +1226,7 @@ fi
 echo "$ac_t"""$SRCDIR"" 1>&6
 
 echo $ac_n "checking for build directory""... $ac_c" 1>&6
-echo "configure:1218: checking for build directory" >&5
+echo "configure:1230: checking for build directory" >&5
 
 DSTDIR=`$pwd`
 WINDSTDIR=`$winpwd`
@@ -1278,11 +1290,11 @@ NAME_VER=`echo ${GRASS_VERSION_NUMBER} | sed 's/\..*//'`
 LIB_VER=`echo ${GRASS_VERSION_NUMBER} | sed 's/^\([0-9.]*\).*$/\1/'`
 
 
-GRASS_VERSION_SVN=00000
+GRASS_VERSION_SVN="exported"
 # Extract the first word of "svnversion", so it can be a program name with args.
 set dummy svnversion; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1286: checking for $ac_word" >&5
+echo "configure:1298: checking for $ac_word" >&5
 
 case "$SVN_VERSION" in
   /*)
@@ -1315,7 +1327,9 @@ fi
 if test "$SVN_VERSION" != "no" ; then
    GRASS_VERSION_SVN=`$SVN_VERSION -c | cut -f2 -d:`
    if test "$GRASS_VERSION_SVN" = "exported" -o "$GRASS_VERSION_SVN" = "Unversioned directory" ; then
-      GRASS_VERSION_SVN=00000
+      GRASS_VERSION_SVN="exported"
+   else
+      GRASS_VERSION_SVN="r$GRASS_VERSION_SVN"
    fi
 fi
 
@@ -1341,7 +1355,7 @@ fi
 
 
 echo $ac_n "checking for MacOSX App""... $ac_c" 1>&6
-echo "configure:1345: checking for MacOSX App" >&5
+echo "configure:1359: checking for MacOSX App" >&5
 case "$enable_macosx_app" in
 	yes)	MACOSX_APP=1	;;
 	no)	MACOSX_APP=	;;
@@ -1353,7 +1367,7 @@ echo "$ac_t"""$enable_macosx_app"" 1>&6
 # Check for MacOSX archs
 
 echo $ac_n "checking for MacOSX architectures""... $ac_c" 1>&6
-echo "configure:1357: checking for MacOSX architectures" >&5
+echo "configure:1371: checking for MacOSX architectures" >&5
 
 MACOSX_ARCHS=
 
@@ -1382,7 +1396,7 @@ fi
 # Check for MacOSX SDK
 
 echo $ac_n "checking for MacOSX SDK""... $ac_c" 1>&6
-echo "configure:1386: checking for MacOSX SDK" >&5
+echo "configure:1400: checking for MacOSX SDK" >&5
 
 MACOSX_SDK=
 
@@ -1392,7 +1406,7 @@ else
   
 ac_safe=`echo "$with_macosx_sdk/SDKSettings.plist" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $with_macosx_sdk/SDKSettings.plist""... $ac_c" 1>&6
-echo "configure:1396: checking for $with_macosx_sdk/SDKSettings.plist" >&5
+echo "configure:1410: checking for $with_macosx_sdk/SDKSettings.plist" >&5
 
 if test "$cross_compiling" = yes; then
     { echo "configure: error: Cannot check for file existence when cross compiling" 1>&2; exit 1; }
@@ -1436,7 +1450,7 @@ fi
 
 
     echo $ac_n "checking how to build libraries""... $ac_c" 1>&6
-echo "configure:1440: checking how to build libraries" >&5
+echo "configure:1454: checking how to build libraries" >&5
     # Check whether --enable-shared or --disable-shared was given.
 if test "${enable_shared+set}" = set; then
   enableval="$enable_shared"
@@ -1873,6 +1887,16 @@ fi
 
 
 
+# Check whether --with-bzlib or --without-bzlib was given.
+if test "${with_bzlib+set}" = set; then
+  withval="$with_bzlib"
+  :
+else
+  with_bzlib=no
+fi
+
+
+
 # Check whether --with-gdal or --without-gdal was given.
 if test "${with_gdal+set}" = set; then
   withval="$with_gdal"
@@ -1889,6 +1913,15 @@ else
 fi
 
 
+# Check whether --with-pdal or --without-pdal was given.
+if test "${with_pdal+set}" = set; then
+  withval="$with_pdal"
+  :
+else
+  with_pdal="no"
+fi
+
+
 # Check whether --with-wxwidgets or --without-wxwidgets was given.
 if test "${with_wxwidgets+set}" = set; then
   withval="$with_wxwidgets"
@@ -1950,6 +1983,23 @@ fi
 
 
 
+# Check whether --with-bzlib-includes or --without-bzlib-includes was given.
+if test "${with_bzlib_includes+set}" = set; then
+  withval="$with_bzlib_includes"
+  :
+fi
+
+
+
+# Check whether --with-bzlib-libs or --without-bzlib-libs was given.
+if test "${with_bzlib_libs+set}" = set; then
+  withval="$with_bzlib_libs"
+  :
+fi
+
+
+
+
 # Check whether --with-readline-includes or --without-readline-includes was given.
 if test "${with_readline_includes+set}" = set; then
   withval="$with_readline_includes"
@@ -2306,7 +2356,7 @@ fi
 # Done checking fortran
 
 echo $ac_n "checking for additional include dirs""... $ac_c" 1>&6
-echo "configure:2310: checking for additional include dirs" >&5
+echo "configure:2360: checking for additional include dirs" >&5
 case "$with_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to list --with-includes." 1>&2; exit 1; }
@@ -2329,7 +2379,7 @@ fi
 # With libs option
 
 echo $ac_n "checking for additional library dirs""... $ac_c" 1>&6
-echo "configure:2333: checking for additional library dirs" >&5
+echo "configure:2383: checking for additional library dirs" >&5
 case "$with_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory list to --with-libs." 1>&2; exit 1; }
@@ -2363,7 +2413,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:2367: checking for a BSD compatible install" >&5
+echo "configure:2417: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 
   IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
@@ -2416,7 +2466,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 # Extract the first word of "flex", so it can be a program name with args.
 set dummy flex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2420: checking for $ac_word" >&5
+echo "configure:2470: checking for $ac_word" >&5
 
 if test -n "$LEX"; then
   ac_cv_prog_LEX="$LEX" # Let the user override the test.
@@ -2447,13 +2497,13 @@ then
   *) ac_lib=l ;;
   esac
   echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
-echo "configure:2451: checking for yywrap in -l$ac_lib" >&5
+echo "configure:2501: checking for yywrap in -l$ac_lib" >&5
 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-l$ac_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2457 "configure"
+#line 2507 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2464,7 +2514,7 @@ int main() {
 yywrap()
 ; return 0; }
 EOF
-if { (eval echo configure:2468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2489,7 +2539,7 @@ if test "$LEX" = "lex"; then
     # Extract the first word of "lex", so it can be a program name with args.
 set dummy lex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2493: checking for $ac_word" >&5
+echo "configure:2543: checking for $ac_word" >&5
 
 case "$LEXPATH" in
   /*)
@@ -2529,7 +2579,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2533: checking for $ac_word" >&5
+echo "configure:2583: checking for $ac_word" >&5
 
 if test -n "$YACC"; then
   ac_cv_prog_YACC="$YACC" # Let the user override the test.
@@ -2560,7 +2610,7 @@ if test "$YACC" = "yacc"; then
     # Extract the first word of "yacc", so it can be a program name with args.
 set dummy yacc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2564: checking for $ac_word" >&5
+echo "configure:2614: checking for $ac_word" >&5
 
 case "$YACCPATH" in
   /*)
@@ -2598,7 +2648,7 @@ fi
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2602: checking for $ac_word" >&5
+echo "configure:2652: checking for $ac_word" >&5
 
 if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -2627,7 +2677,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2631: checking for $ac_word" >&5
+echo "configure:2681: checking for $ac_word" >&5
 
 if test -n "$AR"; then
   ac_cv_prog_AR="$AR" # Let the user override the test.
@@ -2658,7 +2708,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2662: checking for $ac_word" >&5
+echo "configure:2712: checking for $ac_word" >&5
 
 if test -n "$ENV"; then
   ac_cv_prog_ENV="$ENV" # Let the user override the test.
@@ -2687,7 +2737,7 @@ done
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2691: checking for $ac_word" >&5
+echo "configure:2741: checking for $ac_word" >&5
 
 case "$PERL" in
   /*)
@@ -2718,7 +2768,7 @@ else
 fi
   
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2722: checking how to run the C preprocessor" >&5
+echo "configure:2772: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -2731,13 +2781,13 @@ if test -z "$CPP"; then
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 2735 "configure"
+#line 2785 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2791: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2748,13 +2798,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 2752 "configure"
+#line 2802 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2758: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2808: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2765,13 +2815,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 2769 "configure"
+#line 2819 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2775: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -2795,10 +2845,10 @@ fi
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2799: checking for ANSI C header files" >&5
+echo "configure:2849: checking for ANSI C header files" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2802 "configure"
+#line 2852 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -2806,7 +2856,7 @@ cat > conftest.$ac_ext <<EOF
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2810: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2823,7 +2873,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 2827 "configure"
+#line 2877 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -2841,7 +2891,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 2845 "configure"
+#line 2895 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -2862,7 +2912,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 2866 "configure"
+#line 2916 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2873,7 +2923,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:2877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -2900,15 +2950,15 @@ for ac_hdr in limits.h termio.h termios.h unistd.h values.h f2c.h g2c.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2904: checking for $ac_hdr" >&5
+echo "configure:2954: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2907 "configure"
+#line 2957 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2912: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2962: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2937,15 +2987,15 @@ for ac_hdr in sys/ioctl.h sys/mtio.h sys/resource.h sys/time.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2941: checking for $ac_hdr" >&5
+echo "configure:2991: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2944 "configure"
+#line 2994 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2949: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2999: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2974,15 +3024,15 @@ for ac_hdr in sys/timeb.h sys/types.h sys/utsname.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2978: checking for $ac_hdr" >&5
+echo "configure:3028: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2981 "configure"
+#line 3031 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3011,15 +3061,15 @@ for ac_hdr in libintl.h iconv.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3015: checking for $ac_hdr" >&5
+echo "configure:3065: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3018 "configure"
+#line 3068 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3023: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3073: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3048,15 +3098,15 @@ for ac_hdr in langinfo.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3052: checking for $ac_hdr" >&5
+echo "configure:3102: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3055 "configure"
+#line 3105 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3060: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3110: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3082,10 +3132,10 @@ fi
 done
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3086: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:3136: checking whether time.h and sys/time.h may both be included" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3089 "configure"
+#line 3139 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -3094,7 +3144,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:3098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3148: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -3114,10 +3164,10 @@ EOF
 fi
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3118: checking for off_t" >&5
+echo "configure:3168: checking for off_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3121 "configure"
+#line 3171 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3144,10 +3194,10 @@ EOF
 fi
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:3148: checking for uid_t in sys/types.h" >&5
+echo "configure:3198: checking for uid_t in sys/types.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3151 "configure"
+#line 3201 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -3175,10 +3225,10 @@ EOF
 fi
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3179: checking return type of signal handlers" >&5
+echo "configure:3229: checking return type of signal handlers" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3182 "configure"
+#line 3232 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -3195,7 +3245,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:3199: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3249: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -3213,10 +3263,10 @@ EOF
 
 
 echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:3217: checking for Cygwin environment" >&5
+echo "configure:3267: checking for Cygwin environment" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3220 "configure"
+#line 3270 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -3227,7 +3277,7 @@ int main() {
 return __CYGWIN__;
 ; return 0; }
 EOF
-if { (eval echo configure:3231: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cygwin=yes
 else
@@ -3245,10 +3295,10 @@ test "$ac_cv_cygwin" = yes && CYGWIN=yes
 for ac_func in ftime gethostname gettimeofday lseek nice time uname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3249: checking for $ac_func" >&5
+echo "configure:3299: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3252 "configure"
+#line 3302 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3271,7 +3321,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3297,10 +3347,10 @@ done
 for ac_func in seteuid setpriority setreuid setruid
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3301: checking for $ac_func" >&5
+echo "configure:3351: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3304 "configure"
+#line 3354 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3323,7 +3373,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3349,10 +3399,10 @@ done
 for ac_func in drand48
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3353: checking for $ac_func" >&5
+echo "configure:3403: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3356 "configure"
+#line 3406 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3375,7 +3425,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3401,10 +3451,10 @@ done
 for ac_func in putenv setenv
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3405: checking for $ac_func" >&5
+echo "configure:3455: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3408 "configure"
+#line 3458 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3427,7 +3477,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3453,10 +3503,10 @@ done
 for ac_func in nanosleep
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3457: checking for $ac_func" >&5
+echo "configure:3507: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3460 "configure"
+#line 3510 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3479,7 +3529,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3504,13 +3554,13 @@ done
 
 if test "$cross_compiling" != "yes" ; then
 echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:3508: checking whether setpgrp takes no argument" >&5
+echo "configure:3558: checking whether setpgrp takes no argument" >&5
 
 if test "$cross_compiling" = yes; then
   { echo "configure: error: cannot check setpgrp if cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 3514 "configure"
+#line 3564 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_UNISTD_H
@@ -3530,7 +3580,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:3534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_setpgrp_void=no
 else
@@ -3558,16 +3608,16 @@ CROSS_COMPILING=1
 fi
 
 echo $ac_n "checking for long long int""... $ac_c" 1>&6
-echo "configure:3562: checking for long long int" >&5
+echo "configure:3612: checking for long long int" >&5
 cat > conftest.$ac_ext <<EOF
-#line 3564 "configure"
+#line 3614 "configure"
 #include "confdefs.h"
 
 int main() {
 long long int x;
 ; return 0; }
 EOF
-if { (eval echo configure:3571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3621: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 echo "$ac_t""yes" 1>&6
@@ -3587,7 +3637,7 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for W11""... $ac_c" 1>&6
-echo "configure:3591: checking for W11" >&5
+echo "configure:3641: checking for W11" >&5
 case "$enable_w11" in
 	yes|no)	echo "$ac_t"""$enable_w11"" 1>&6	;;
 	*)	{ echo "configure: error: *** You must answer yes or no." 1>&2; exit 1; }	;;
@@ -3615,7 +3665,7 @@ else
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:3619: checking for X" >&5
+echo "configure:3669: checking for X" >&5
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
@@ -3675,12 +3725,12 @@ if test "$ac_x_includes" = NO; then
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 3679 "configure"
+#line 3729 "configure"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3684: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3734: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3749,14 +3799,14 @@ if test "$ac_x_libraries" = NO; then
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3753 "configure"
+#line 3803 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:3760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   LIBS="$ac_save_LIBS"
 # We can link X programs with no special library path.
@@ -3861,17 +3911,17 @@ else
     case "`(uname -sr) 2>/dev/null`" in
     "SunOS 5"*)
       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:3865: checking whether -R must be followed by a space" >&5
+echo "configure:3915: checking whether -R must be followed by a space" >&5
       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
       cat > conftest.$ac_ext <<EOF
-#line 3868 "configure"
+#line 3918 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -3887,14 +3937,14 @@ rm -f conftest*
       else
 	LIBS="$ac_xsave_LIBS -R $x_libraries"
 	cat > conftest.$ac_ext <<EOF
-#line 3891 "configure"
+#line 3941 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -3926,13 +3976,13 @@ rm -f conftest*
     # libraries were built with DECnet support.  And karl at cs.umb.edu says
     # the Alpha needs dnet_stub (dnet does not exist).
     echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:3930: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:3980: checking for dnet_ntoa in -ldnet" >&5
 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3936 "configure"
+#line 3986 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3943,7 +3993,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:3947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3964,13 +4014,13 @@ fi
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
       echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:3968: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:4018: checking for dnet_ntoa in -ldnet_stub" >&5
 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3974 "configure"
+#line 4024 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3981,7 +4031,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:3985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4009,10 +4059,10 @@ fi
     # The nsl library prevents programs from opening the X display
     # on Irix 5.2, according to dickey at clark.net.
     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:4013: checking for gethostbyname" >&5
+echo "configure:4063: checking for gethostbyname" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4016 "configure"
+#line 4066 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -4035,7 +4085,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -4055,13 +4105,13 @@ fi
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:4059: checking for gethostbyname in -lnsl" >&5
+echo "configure:4109: checking for gethostbyname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4065 "configure"
+#line 4115 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4072,7 +4122,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:4076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4101,10 +4151,10 @@ fi
     # -lsocket must be given before -lnsl if both are needed.
     # We assume that if connect needs -lnsl, so does gethostbyname.
     echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:4105: checking for connect" >&5
+echo "configure:4155: checking for connect" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4108 "configure"
+#line 4158 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -4127,7 +4177,7 @@ connect();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
@@ -4147,13 +4197,13 @@ fi
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:4151: checking for connect in -lsocket" >&5
+echo "configure:4201: checking for connect in -lsocket" >&5
 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4157 "configure"
+#line 4207 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4164,7 +4214,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:4168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4187,10 +4237,10 @@ fi
 
     # gomez at mi.uni-erlangen.de says -lposix is necessary on A/UX.
     echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:4191: checking for remove" >&5
+echo "configure:4241: checking for remove" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4194 "configure"
+#line 4244 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -4213,7 +4263,7 @@ remove();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_remove=yes"
 else
@@ -4233,13 +4283,13 @@ fi
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:4237: checking for remove in -lposix" >&5
+echo "configure:4287: checking for remove in -lposix" >&5
 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4243 "configure"
+#line 4293 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4250,7 +4300,7 @@ int main() {
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:4254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4273,10 +4323,10 @@ fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:4277: checking for shmat" >&5
+echo "configure:4327: checking for shmat" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4280 "configure"
+#line 4330 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -4299,7 +4349,7 @@ shmat();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_shmat=yes"
 else
@@ -4319,13 +4369,13 @@ fi
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:4323: checking for shmat in -lipc" >&5
+echo "configure:4373: checking for shmat in -lipc" >&5
 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4329 "configure"
+#line 4379 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4336,7 +4386,7 @@ int main() {
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:4340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4368,13 +4418,13 @@ fi
   # libraries we check for below, so use a different variable.
   #  --interran at uluru.Stanford.EDU, kb at cs.umb.edu.
   echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:4372: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:4422: checking for IceConnectionNumber in -lICE" >&5
 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4378 "configure"
+#line 4428 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4385,7 +4435,7 @@ int main() {
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:4389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4425,12 +4475,12 @@ ac_save_libs="$LIBS"
 LIBS=""
 
 echo $ac_n "checking for library containing cuserid""... $ac_c" 1>&6
-echo "configure:4429: checking for library containing cuserid" >&5
+echo "configure:4479: checking for library containing cuserid" >&5
 
 ac_func_search_save_LIBS="$LIBS"
 ac_cv_search_cuserid="no"
 cat > conftest.$ac_ext <<EOF
-#line 4434 "configure"
+#line 4484 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4441,7 +4491,7 @@ int main() {
 cuserid()
 ; return 0; }
 EOF
-if { (eval echo configure:4445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_cuserid="none required"
 else
@@ -4452,7 +4502,7 @@ rm -f conftest*
 test "$ac_cv_search_cuserid" = "no" && for i in compat; do
 LIBS="-l$i  $ac_func_search_save_LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4456 "configure"
+#line 4506 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4463,7 +4513,7 @@ int main() {
 cuserid()
 ; return 0; }
 EOF
-if { (eval echo configure:4467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_cuserid="-l$i"
 break
@@ -4489,10 +4539,10 @@ LIBS="$ac_save_libs"
 for ac_func in asprintf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4493: checking for $ac_func" >&5
+echo "configure:4543: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4496 "configure"
+#line 4546 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4515,7 +4565,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4542,10 +4592,10 @@ done
 
 # Test if mathlib needs -lm flag or is included with libc
 echo $ac_n "checking for atan""... $ac_c" 1>&6
-echo "configure:4546: checking for atan" >&5
+echo "configure:4596: checking for atan" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4549 "configure"
+#line 4599 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char atan(); below.  */
@@ -4568,7 +4618,7 @@ atan();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_atan=yes"
 else
@@ -4586,13 +4636,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for atan in -lm""... $ac_c" 1>&6
-echo "configure:4590: checking for atan in -lm" >&5
+echo "configure:4640: checking for atan in -lm" >&5
 ac_lib_var=`echo m'_'atan | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4596 "configure"
+#line 4646 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4603,7 +4653,7 @@ int main() {
 atan()
 ; return 0; }
 EOF
-if { (eval echo configure:4607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4630,10 +4680,10 @@ fi
 
 
 echo $ac_n "checking for dlsym""... $ac_c" 1>&6
-echo "configure:4634: checking for dlsym" >&5
+echo "configure:4684: checking for dlsym" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4637 "configure"
+#line 4687 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dlsym(); below.  */
@@ -4656,7 +4706,7 @@ dlsym();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_dlsym=yes"
 else
@@ -4674,13 +4724,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for dlsym in -ldl""... $ac_c" 1>&6
-echo "configure:4678: checking for dlsym in -ldl" >&5
+echo "configure:4728: checking for dlsym in -ldl" >&5
 ac_lib_var=`echo dl'_'dlsym | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4684 "configure"
+#line 4734 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4691,7 +4741,7 @@ int main() {
 dlsym()
 ; return 0; }
 EOF
-if { (eval echo configure:4695: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4718,10 +4768,10 @@ fi
 
 
 echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:4722: checking for iconv" >&5
+echo "configure:4772: checking for iconv" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4725 "configure"
+#line 4775 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char iconv(); below.  */
@@ -4744,7 +4794,7 @@ iconv();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_iconv=yes"
 else
@@ -4762,13 +4812,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
-echo "configure:4766: checking for iconv in -liconv" >&5
+echo "configure:4816: checking for iconv in -liconv" >&5
 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-liconv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4772 "configure"
+#line 4822 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4779,7 +4829,7 @@ int main() {
 iconv()
 ; return 0; }
 EOF
-if { (eval echo configure:4783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4798,13 +4848,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for iconv in -lgiconv""... $ac_c" 1>&6
-echo "configure:4802: checking for iconv in -lgiconv" >&5
+echo "configure:4852: checking for iconv in -lgiconv" >&5
 ac_lib_var=`echo giconv'_'iconv | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lgiconv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4808 "configure"
+#line 4858 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4815,7 +4865,7 @@ int main() {
 iconv()
 ; return 0; }
 EOF
-if { (eval echo configure:4819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4834,10 +4884,10 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for libiconv""... $ac_c" 1>&6
-echo "configure:4838: checking for libiconv" >&5
+echo "configure:4888: checking for libiconv" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4841 "configure"
+#line 4891 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char libiconv(); below.  */
@@ -4860,7 +4910,7 @@ libiconv();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_libiconv=yes"
 else
@@ -4878,13 +4928,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for libiconv in -liconv""... $ac_c" 1>&6
-echo "configure:4882: checking for libiconv in -liconv" >&5
+echo "configure:4932: checking for libiconv in -liconv" >&5
 ac_lib_var=`echo iconv'_'libiconv | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-liconv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4888 "configure"
+#line 4938 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4895,7 +4945,7 @@ int main() {
 libiconv()
 ; return 0; }
 EOF
-if { (eval echo configure:4899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4914,13 +4964,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for libiconv in -lgiconv""... $ac_c" 1>&6
-echo "configure:4918: checking for libiconv in -lgiconv" >&5
+echo "configure:4968: checking for libiconv in -lgiconv" >&5
 ac_lib_var=`echo giconv'_'libiconv | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lgiconv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4924 "configure"
+#line 4974 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4931,7 +4981,7 @@ int main() {
 libiconv()
 ; return 0; }
 EOF
-if { (eval echo configure:4935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4968,10 +5018,10 @@ fi
 
 have_socket=1
 echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:4972: checking for socket" >&5
+echo "configure:5022: checking for socket" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4975 "configure"
+#line 5025 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char socket(); below.  */
@@ -4994,7 +5044,7 @@ socket();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5048: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_socket=yes"
 else
@@ -5012,13 +5062,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:5016: checking for socket in -lsocket" >&5
+echo "configure:5066: checking for socket in -lsocket" >&5
 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5022 "configure"
+#line 5072 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5029,7 +5079,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:5033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5077,7 +5127,7 @@ ZLIB=
 
 
 echo $ac_n "checking for location of zlib includes""... $ac_c" 1>&6
-echo "configure:5081: checking for location of zlib includes" >&5
+echo "configure:5131: checking for location of zlib includes" >&5
 case "$with_zlib_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-zlib-includes." 1>&2; exit 1; }
@@ -5103,15 +5153,15 @@ for ac_hdr in zlib.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5107: checking for $ac_hdr" >&5
+echo "configure:5157: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5110 "configure"
+#line 5160 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5115: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5145,7 +5195,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of zlib library""... $ac_c" 1>&6
-echo "configure:5149: checking for location of zlib library" >&5
+echo "configure:5199: checking for location of zlib library" >&5
 case "$with_zlib_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-zlib-libs." 1>&2; exit 1; }
@@ -5170,13 +5220,13 @@ LDFLAGS="$ZLIBLIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6
-echo "configure:5174: checking for deflate in -lz" >&5
+echo "configure:5224: checking for deflate in -lz" >&5
 ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lz  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5180 "configure"
+#line 5230 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5187,7 +5237,7 @@ int main() {
 deflate()
 ; return 0; }
 EOF
-if { (eval echo configure:5191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5225,6 +5275,180 @@ LDFLAGS=${ac_save_ldflags}
 
 # Done checking zlib
 
+# bzip2 support
+
+
+echo $ac_n "checking whether to use bzlib""... $ac_c" 1>&6
+echo "configure:5283: checking whether to use bzlib" >&5
+echo "$ac_t"""$with_bzlib"" 1>&6
+case "$with_bzlib" in
+	"no")	USE_BZIP2=	;;
+	"yes")	USE_BZIP2="1"	;;
+	*)	{ echo "configure: error: *** You must answer yes or no." 1>&2; exit 1; }	;;
+esac
+
+
+
+if test -n "$USE_BZIP2"; then
+
+BZLIBLIBPATH=
+BZLIBINCPATH=
+BZLIB=
+
+# With bzip2 includes directory
+
+
+echo $ac_n "checking for location of bzlib includes""... $ac_c" 1>&6
+echo "configure:5303: checking for location of bzlib includes" >&5
+case "$with_bzlib_includes" in
+y | ye | yes | n | no)
+	{ echo "configure: error: *** You must supply a directory to --with-bzlib-includes." 1>&2; exit 1; }
+	;;
+esac
+echo "$ac_t""$with_bzlib_includes" 1>&6
+
+if test -n "$with_bzlib_includes" ; then
+    for dir in $with_bzlib_includes; do
+        if test -d "$dir"; then
+            BZLIBINCPATH="$BZLIBINCPATH -I$dir"
+        else
+            { echo "configure: error: *** bzlib includes directory $dir does not exist." 1>&2; exit 1; }
+        fi
+    done
+fi
+
+
+
+ac_save_cppflags="$CPPFLAGS"
+CPPFLAGS="$BZLIBINCPATH $CPPFLAGS"
+for ac_hdr in bzlib.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:5329: checking for $ac_hdr" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 5332 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:5337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+{ echo "configure: error: *** Unable to locate bzlib includes." 1>&2; exit 1; }
+
+fi
+done
+
+CPPFLAGS=$ac_save_cppflags
+
+
+# With bzip2 library directory
+
+
+echo $ac_n "checking for location of bzlib library""... $ac_c" 1>&6
+echo "configure:5371: checking for location of bzlib library" >&5
+case "$with_bzlib_libs" in
+y | ye | yes | n | no)
+	{ echo "configure: error: *** You must supply a directory to --with-bzlib-libs." 1>&2; exit 1; }
+	;;
+esac
+echo "$ac_t""$with_bzlib_libs" 1>&6
+
+if test -n "$with_bzlib_libs"; then
+    for dir in $with_bzlib_libs; do
+        if test -d "$dir"; then
+            BZLIBLIBPATH="$BZLIBLIBPATH -L$dir"
+        else
+            { echo "configure: error: *** bzlib library directory $dir does not exist." 1>&2; exit 1; }
+        fi
+    done
+fi
+
+
+
+ac_save_ldflags="$LDFLAGS"
+LDFLAGS="$BZLIBLIBPATH $LDFLAGS"
+
+
+echo $ac_n "checking for BZ2_bzBuffToBuffCompress in -lbz2""... $ac_c" 1>&6
+echo "configure:5396: checking for BZ2_bzBuffToBuffCompress in -lbz2" >&5
+ac_lib_var=`echo bz2'_'BZ2_bzBuffToBuffCompress | sed 'y%./+-%__p_%'`
+
+ac_save_LIBS="$LIBS"
+LIBS="-lbz2  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 5402 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char BZ2_bzBuffToBuffCompress();
+
+int main() {
+BZ2_bzBuffToBuffCompress()
+; return 0; }
+EOF
+if { (eval echo configure:5413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  BZLIB="$BZLIB -lbz2 "
+else
+  echo "$ac_t""no" 1>&6
+
+LDFLAGS=${ac_save_ldflags}
+
+    { echo "configure: error: *** Unable to locate bzlib library." 1>&2; exit 1; }
+
+
+fi
+
+
+
+LDFLAGS=${ac_save_ldflags}
+
+
+#
+
+fi # $USE_BZIP2
+
+
+
+
+
+# Done checking bzip2
+
 # Mandatory PROJ dependency
 
 PROJINC=
@@ -5235,7 +5459,7 @@ PROJSHARE=
 
 
 echo $ac_n "checking for location of External PROJ.4 includes""... $ac_c" 1>&6
-echo "configure:5239: checking for location of External PROJ.4 includes" >&5
+echo "configure:5463: checking for location of External PROJ.4 includes" >&5
 case "$with_proj_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-proj-includes." 1>&2; exit 1; }
@@ -5261,15 +5485,15 @@ for ac_hdr in proj_api.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5265: checking for $ac_hdr" >&5
+echo "configure:5489: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5268 "configure"
+#line 5492 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5306,7 +5530,7 @@ if test "$cross_compiling" = yes; then
 else
     
 echo $ac_n "checking External PROJ.4 version""... $ac_c" 1>&6
-echo "configure:5310: checking External PROJ.4 version" >&5
+echo "configure:5534: checking External PROJ.4 version" >&5
 ac_save_cppflags="$CPPFLAGS"
 CPPFLAGS="$PROJINC $CPPFLAGS"
 if test "$cross_compiling" = yes; then
@@ -5314,7 +5538,7 @@ if test "$cross_compiling" = yes; then
         echo "$ac_t""unknown (cross-compiling)" 1>&6 
 else
   cat > conftest.$ac_ext <<EOF
-#line 5318 "configure"
+#line 5542 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5326,7 +5550,7 @@ int main(void) {
 }
     
 EOF
-if { (eval echo configure:5330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
      proj_ver=`cat conftestdata`
         echo "$ac_t""$proj_ver" 1>&6
@@ -5351,7 +5575,7 @@ fi
 
 
 echo $ac_n "checking for location of External PROJ.4 library""... $ac_c" 1>&6
-echo "configure:5355: checking for location of External PROJ.4 library" >&5
+echo "configure:5579: checking for location of External PROJ.4 library" >&5
 case "$with_proj_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-proj-libs." 1>&2; exit 1; }
@@ -5376,13 +5600,13 @@ LDFLAGS="$PROJLIB $LDFLAGS"
 
 
 echo $ac_n "checking for pj_get_def in -lproj""... $ac_c" 1>&6
-echo "configure:5380: checking for pj_get_def in -lproj" >&5
+echo "configure:5604: checking for pj_get_def in -lproj" >&5
 ac_lib_var=`echo proj'_'pj_get_def | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lproj  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5386 "configure"
+#line 5610 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5393,7 +5617,7 @@ int main() {
 pj_get_def()
 ; return 0; }
 EOF
-if { (eval echo configure:5397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5427,7 +5651,7 @@ LDFLAGS=${ac_save_ldflags}
 
 
 echo $ac_n "checking for location of External PROJ.4 data files""... $ac_c" 1>&6
-echo "configure:5431: checking for location of External PROJ.4 data files" >&5
+echo "configure:5655: checking for location of External PROJ.4 data files" >&5
 case "$with_proj_share" in
 y | ye | yes | n | no)
         { echo "configure: error: *** You must supply a directory to --with-proj-share." 1>&2; exit 1; }
@@ -5451,14 +5675,14 @@ fi
 # LOC_CHECK_SHARE does not work when cross compiling
 if test "$cross_compiling" = "yes" ; then
     echo $ac_n "checking for epsg""... $ac_c" 1>&6
-echo "configure:5455: checking for epsg" >&5
+echo "configure:5679: checking for epsg" >&5
     echo "$ac_t""unknown (cross-compiling)" 1>&6
 else
     
 
 ac_safe=`echo "$PROJSHARE/epsg" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $PROJSHARE/epsg""... $ac_c" 1>&6
-echo "configure:5462: checking for $PROJSHARE/epsg" >&5
+echo "configure:5686: checking for $PROJSHARE/epsg" >&5
 
 if test "$cross_compiling" = yes; then
     { echo "configure: error: Cannot check for file existence when cross compiling" 1>&2; exit 1; }
@@ -5490,7 +5714,7 @@ fi
 # Extract the first word of "nad2bin", so it can be a program name with args.
 set dummy nad2bin; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5494: checking for $ac_word" >&5
+echo "configure:5718: checking for $ac_word" >&5
 
 case "$NAD2BIN" in
   /*)
@@ -5530,7 +5754,7 @@ fi
 
 
 echo $ac_n "checking whether to use regex""... $ac_c" 1>&6
-echo "configure:5534: checking whether to use regex" >&5
+echo "configure:5758: checking whether to use regex" >&5
 echo "$ac_t"""$with_regex"" 1>&6
 case "$with_regex" in
 	"no")	USE_REGEX=	;;
@@ -5550,7 +5774,7 @@ if test -n "$USE_REGEX"; then
 
 
 echo $ac_n "checking for location of regex includes""... $ac_c" 1>&6
-echo "configure:5554: checking for location of regex includes" >&5
+echo "configure:5778: checking for location of regex includes" >&5
 case "$with_regex_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-regex-includes." 1>&2; exit 1; }
@@ -5576,15 +5800,15 @@ for ac_hdr in regex.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5580: checking for $ac_hdr" >&5
+echo "configure:5804: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5583 "configure"
+#line 5807 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5588: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5812: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5618,7 +5842,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of regex library""... $ac_c" 1>&6
-echo "configure:5622: checking for location of regex library" >&5
+echo "configure:5846: checking for location of regex library" >&5
 case "$with_regex_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-regex-libs." 1>&2; exit 1; }
@@ -5643,10 +5867,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS="  $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for regcomp""... $ac_c" 1>&6
-echo "configure:5647: checking for regcomp" >&5
+echo "configure:5871: checking for regcomp" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5650 "configure"
+#line 5874 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char regcomp(); below.  */
@@ -5669,7 +5893,7 @@ regcomp();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5897: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_regcomp=yes"
 else
@@ -5696,13 +5920,13 @@ LDFLAGS="$REGEXLIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for regcomp in -lregex""... $ac_c" 1>&6
-echo "configure:5700: checking for regcomp in -lregex" >&5
+echo "configure:5924: checking for regcomp in -lregex" >&5
 ac_lib_var=`echo regex'_'regcomp | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lregex  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5706 "configure"
+#line 5930 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5713,7 +5937,7 @@ int main() {
 regcomp()
 ; return 0; }
 EOF
-if { (eval echo configure:5717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5763,7 +5987,7 @@ fi # $USE_REGEX
 
 
 echo $ac_n "checking whether to use Readline""... $ac_c" 1>&6
-echo "configure:5767: checking whether to use Readline" >&5
+echo "configure:5991: checking whether to use Readline" >&5
 echo "$ac_t"""$with_readline"" 1>&6
 case "$with_readline" in
 	"no")	USE_READLINE=	;;
@@ -5784,7 +6008,7 @@ if test -n "$USE_READLINE"; then
 
 
 echo $ac_n "checking for location of Readline includes""... $ac_c" 1>&6
-echo "configure:5788: checking for location of Readline includes" >&5
+echo "configure:6012: checking for location of Readline includes" >&5
 case "$with_readline_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-readline-includes." 1>&2; exit 1; }
@@ -5810,15 +6034,15 @@ for ac_hdr in readline/readline.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5814: checking for $ac_hdr" >&5
+echo "configure:6038: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5817 "configure"
+#line 6041 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5822: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5854,15 +6078,15 @@ for ac_hdr in readline/history.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5858: checking for $ac_hdr" >&5
+echo "configure:6082: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5861 "configure"
+#line 6085 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5866: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5896,7 +6120,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of Readline library""... $ac_c" 1>&6
-echo "configure:5900: checking for location of Readline library" >&5
+echo "configure:6124: checking for location of Readline library" >&5
 case "$with_readline_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-readline-libs." 1>&2; exit 1; }
@@ -5921,13 +6145,13 @@ LDFLAGS="$READLINELIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for readline in -lreadline""... $ac_c" 1>&6
-echo "configure:5925: checking for readline in -lreadline" >&5
+echo "configure:6149: checking for readline in -lreadline" >&5
 ac_lib_var=`echo readline'_'readline | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lreadline  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5931 "configure"
+#line 6155 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5938,7 +6162,7 @@ int main() {
 readline()
 ; return 0; }
 EOF
-if { (eval echo configure:5942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5973,13 +6197,13 @@ LDFLAGS="$READLINELIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for add_history in -lhistory""... $ac_c" 1>&6
-echo "configure:5977: checking for add_history in -lhistory" >&5
+echo "configure:6201: checking for add_history in -lhistory" >&5
 ac_lib_var=`echo history'_'add_history | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lhistory  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5983 "configure"
+#line 6207 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5990,7 +6214,7 @@ int main() {
 add_history()
 ; return 0; }
 EOF
-if { (eval echo configure:5994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6032,7 +6256,7 @@ fi # $USE_READLINE
 # GDAL option
 
 echo $ac_n "checking whether to use GDAL""... $ac_c" 1>&6
-echo "configure:6036: checking whether to use GDAL" >&5
+echo "configure:6260: checking whether to use GDAL" >&5
 
 GDAL_LIBS=
 GDAL_CFLAGS=
@@ -6050,7 +6274,7 @@ else
   # Extract the first word of "gdal-config", so it can be a program name with args.
 set dummy gdal-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6054: checking for $ac_word" >&5
+echo "configure:6278: checking for $ac_word" >&5
 
 case "$GDAL_CONFIG" in
   /*)
@@ -6105,14 +6329,14 @@ EOF
   LIBS="$LIBS $GDAL_LIBS"
   CFLAGS="$CFLAGS $GDAL_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 6109 "configure"
+#line 6333 "configure"
 #include "confdefs.h"
 #include <gdal.h>
 int main() {
 GDALOpen("foo", GA_ReadOnly);
 ; return 0; }
 EOF
-if { (eval echo configure:6116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -6121,14 +6345,14 @@ else
   
   LIBS="$LIBS $GDAL_DEP_LIBS"
   cat > conftest.$ac_ext <<EOF
-#line 6125 "configure"
+#line 6349 "configure"
 #include "confdefs.h"
 #include <gdal.h>
 int main() {
 GDALOpen("foo", GA_ReadOnly);
 ; return 0; }
 EOF
-if { (eval echo configure:6132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   GDAL_LIBS="$GDAL_LIBS $GDAL_DEP_LIBS"
 else
@@ -6160,7 +6384,7 @@ fi
 # libLAS option
 
 echo $ac_n "checking whether to use libLAS""... $ac_c" 1>&6
-echo "configure:6164: checking whether to use libLAS" >&5
+echo "configure:6388: checking whether to use libLAS" >&5
 
 LIBLAS_LIBS=
 LIBLAS_CFLAGS=
@@ -6177,7 +6401,7 @@ else
   # Extract the first word of "liblas-config", so it can be a program name with args.
 set dummy liblas-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6181: checking for $ac_word" >&5
+echo "configure:6405: checking for $ac_word" >&5
 
 case "$LIBLAS_CONFIG" in
   /*)
@@ -6227,14 +6451,14 @@ fi
   CFLAGS="$CFLAGS $LIBLAS_CFLAGS"
   CPPFLAGS="$CPPFLAGS $LIBLAS_INC"
   cat > conftest.$ac_ext <<EOF
-#line 6231 "configure"
+#line 6455 "configure"
 #include "confdefs.h"
 #include <liblas/capi/liblas.h>
 int main() {
 LASReader_Create("foo");
 ; return 0; }
 EOF
-if { (eval echo configure:6238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6462: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -6242,14 +6466,14 @@ else
   rm -rf conftest*
   
   cat > conftest.$ac_ext <<EOF
-#line 6246 "configure"
+#line 6470 "configure"
 #include "confdefs.h"
 #include <liblas/capi/liblas.h>
 int main() {
 LASReader_Create("foo");
 ; return 0; }
 EOF
-if { (eval echo configure:6253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   LAS_LIBS="$LAS_LIBS"
 else
@@ -6279,10 +6503,160 @@ fi
 
 
 
+# PDAL option
+
+echo $ac_n "checking whether to use PDAL""... $ac_c" 1>&6
+echo "configure:6510: checking whether to use PDAL" >&5
+
+# new and currently used way to switch language to C++
+# AC_LANG_PUSH(C++)
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+
+PDAL_LIBS=
+PDAL_CPPFLAGS=
+USE_PDAL=
+
+if test "`basename xx/$with_pdal`" = "pdal-config" ; then
+  PDAL_CONFIG="$with_pdal"
+fi
+
+if test "$with_pdal" = "no" ; then
+  echo "$ac_t""no" 1>&6
+else
+  echo "$ac_t""yes" 1>&6
+  # Extract the first word of "pdal-config", so it can be a program name with args.
+set dummy pdal-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:6538: checking for $ac_word" >&5
+
+case "$PDAL_CONFIG" in
+  /*)
+  ac_cv_path_PDAL_CONFIG="$PDAL_CONFIG" # Let the user override the test with a path.
+  ;;
+  ?:/*)			 
+  ac_cv_path_PDAL_CONFIG="$PDAL_CONFIG" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_PDAL_CONFIG="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_PDAL_CONFIG" && ac_cv_path_PDAL_CONFIG="no"
+  ;;
+esac
+PDAL_CONFIG="$ac_cv_path_PDAL_CONFIG"
+if test -n "$PDAL_CONFIG"; then
+  echo "$ac_t""$PDAL_CONFIG" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+  if test "$PDAL_CONFIG" = "no" ; then
+    { echo "configure: error: *** could not find pdal-config" 1>&2; exit 1; }
+  fi
+
+  if test "$PDAL_CONFIG" != "" ; then
+    PDAL_LIBS=`"$PDAL_CONFIG" --libs`
+    PDAL_CPPFLAGS=`"$PDAL_CONFIG" --cxxflags`
+    PDAL_INC=`"$PDAL_CONFIG" --includes`
+    USE_PDAL=1
+  fi
+
+  PDAL=
+  ac_save_libs="$LIBS"
+  ac_save_cflags="$CFLAGS"
+  ac_save_cppflags="$CPPFLAGS"
+  LIBS="$LIBS $PDAL_LIBS"
+  CFLAGS="$CFLAGS $PDAL_CFLAGS"
+  CPPFLAGS="$CPPFLAGS $PDAL_CPPFLAGS $PDAL_INC"
+  cat > conftest.$ac_ext <<EOF
+#line 6588 "configure"
+#include "confdefs.h"
+#include <pdal/PointTable.hpp>
+int main() {
+pdal::PointTable table;
+; return 0; }
+EOF
+if { (eval echo configure:6595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  
+  cat > conftest.$ac_ext <<EOF
+#line 6603 "configure"
+#include "confdefs.h"
+#include <pdal/PointTable.hpp>
+int main() {
+pdal::PointTable table;
+; return 0; }
+EOF
+if { (eval echo configure:6610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  PDAL_LIBS="$PDAL_LIBS"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  
+  { echo "configure: error: *** Unable to locate PDAL library." 1>&2; exit 1; }
+  
+fi
+rm -f conftest*
+  
+fi
+rm -f conftest*
+  LIBS=${ac_save_libs}
+  CFLAGS=${ac_save_cflags}
+  CPPFLAGS=${ac_save_cppflags}
+
+  cat >> confdefs.h <<\EOF
+#define HAVE_PDAL 1
+EOF
+
+fi
+
+
+
+
+
+
+# new and currently used way to switch language back to C
+# AC_LANG_POP(C++)
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+
 # NetCDF option
 
 echo $ac_n "checking whether to use NetCDF""... $ac_c" 1>&6
-echo "configure:6286: checking whether to use NetCDF" >&5
+echo "configure:6660: checking whether to use NetCDF" >&5
 
 NETCDF_LIBS=
 NETCDF_CFLAGS=
@@ -6299,7 +6673,7 @@ else
   # Extract the first word of "nc-config", so it can be a program name with args.
 set dummy nc-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6303: checking for $ac_word" >&5
+echo "configure:6677: checking for $ac_word" >&5
 
 case "$NETCDF_CONFIG" in
   /*)
@@ -6346,14 +6720,14 @@ fi
   LIBS="$LIBS $NETCDF_LIBS"
   CFLAGS="$CFLAGS $NETCDF_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 6350 "configure"
+#line 6724 "configure"
 #include "confdefs.h"
 #include <netcdf.h>
 int main() {
 nc_create("foo", NC_CLOBBER, NULL);
 ; return 0; }
 EOF
-if { (eval echo configure:6357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -6361,14 +6735,14 @@ else
   rm -rf conftest*
   
   cat > conftest.$ac_ext <<EOF
-#line 6365 "configure"
+#line 6739 "configure"
 #include "confdefs.h"
 #include <netcdf.h>
 int main() {
 nc_create("foo", NC_CLOBBER, NULL);
 ; return 0; }
 EOF
-if { (eval echo configure:6372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   NETCDF_LIBS="$NETCDF_LIBS"
 else
@@ -6399,7 +6773,7 @@ fi
 # GEOS option
 
 echo $ac_n "checking whether to use GEOS""... $ac_c" 1>&6
-echo "configure:6403: checking whether to use GEOS" >&5
+echo "configure:6777: checking whether to use GEOS" >&5
 
 GEOS_LIBS=
 GEOS_CFLAGS=
@@ -6417,7 +6791,7 @@ else
   # Extract the first word of "geos-config", so it can be a program name with args.
 set dummy geos-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6421: checking for $ac_word" >&5
+echo "configure:6795: checking for $ac_word" >&5
 
 case "$GEOS_CONFIG" in
   /*)
@@ -6465,15 +6839,15 @@ for ac_hdr in geos_c.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6469: checking for $ac_hdr" >&5
+echo "configure:6843: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6472 "configure"
+#line 6846 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6512,13 +6886,13 @@ LDFLAGS="$GEOS_LIBS $LDFLAGS"
 
 
 echo $ac_n "checking for initGEOS in -lgeos_c""... $ac_c" 1>&6
-echo "configure:6516: checking for initGEOS in -lgeos_c" >&5
+echo "configure:6890: checking for initGEOS in -lgeos_c" >&5
 ac_lib_var=`echo geos_c'_'initGEOS | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lgeos_c  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6522 "configure"
+#line 6896 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6529,7 +6903,7 @@ int main() {
 initGEOS()
 ; return 0; }
 EOF
-if { (eval echo configure:6533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6573,7 +6947,7 @@ fi
 
 
 echo $ac_n "checking whether to use TIFF""... $ac_c" 1>&6
-echo "configure:6577: checking whether to use TIFF" >&5
+echo "configure:6951: checking whether to use TIFF" >&5
 echo "$ac_t"""$with_tiff"" 1>&6
 case "$with_tiff" in
 	"no")	USE_TIFF=	;;
@@ -6593,7 +6967,7 @@ if test -n "$USE_TIFF"; then
 
 
 echo $ac_n "checking for location of TIFF includes""... $ac_c" 1>&6
-echo "configure:6597: checking for location of TIFF includes" >&5
+echo "configure:6971: checking for location of TIFF includes" >&5
 case "$with_tiff_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-tiff-includes." 1>&2; exit 1; }
@@ -6619,15 +6993,15 @@ for ac_hdr in tiffio.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6623: checking for $ac_hdr" >&5
+echo "configure:6997: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6626 "configure"
+#line 7000 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6631: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7005: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6661,7 +7035,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of TIFF library""... $ac_c" 1>&6
-echo "configure:6665: checking for location of TIFF library" >&5
+echo "configure:7039: checking for location of TIFF library" >&5
 case "$with_tiff_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-tiff-libs." 1>&2; exit 1; }
@@ -6692,13 +7066,13 @@ LDFLAGS="$TIFF_LIBRARY_DIRS $LDFLAGS"
 
 
 echo $ac_n "checking for TIFFOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:6696: checking for TIFFOpen in -ltiff" >&5
+echo "configure:7070: checking for TIFFOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFOpen | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ltiff  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6702 "configure"
+#line 7076 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6709,7 +7083,7 @@ int main() {
 TIFFOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:6713: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6728,13 +7102,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for TIFFOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:6732: checking for TIFFOpen in -ltiff" >&5
+echo "configure:7106: checking for TIFFOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFOpen | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ltiff $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6738 "configure"
+#line 7112 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6745,7 +7119,7 @@ int main() {
 TIFFOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:6749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6764,13 +7138,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for TIFFOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:6768: checking for TIFFOpen in -ltiff" >&5
+echo "configure:7142: checking for TIFFOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFOpen | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ltiff $ZLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6774 "configure"
+#line 7148 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6781,7 +7155,7 @@ int main() {
 TIFFOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:6785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6800,13 +7174,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for TIFFOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:6804: checking for TIFFOpen in -ltiff" >&5
+echo "configure:7178: checking for TIFFOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFOpen | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ltiff $ZLIB $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6810 "configure"
+#line 7184 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6817,7 +7191,7 @@ int main() {
 TIFFOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:6821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6836,13 +7210,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for TIFFOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:6840: checking for TIFFOpen in -ltiff" >&5
+echo "configure:7214: checking for TIFFOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFOpen | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ltiff -ljpeg $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6846 "configure"
+#line 7220 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6853,7 +7227,7 @@ int main() {
 TIFFOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:6857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6872,13 +7246,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for TIFFOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:6876: checking for TIFFOpen in -ltiff" >&5
+echo "configure:7250: checking for TIFFOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFOpen | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ltiff -ljpeg $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6882 "configure"
+#line 7256 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6889,7 +7263,7 @@ int main() {
 TIFFOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:6893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6908,13 +7282,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for TIFFOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:6912: checking for TIFFOpen in -ltiff" >&5
+echo "configure:7286: checking for TIFFOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFOpen | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ltiff -ljpeg $ZLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6918 "configure"
+#line 7292 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6925,7 +7299,7 @@ int main() {
 TIFFOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:6929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6944,13 +7318,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for TIFFOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:6948: checking for TIFFOpen in -ltiff" >&5
+echo "configure:7322: checking for TIFFOpen in -ltiff" >&5
 ac_lib_var=`echo tiff'_'TIFFOpen | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ltiff -ljpeg $ZLIB $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6954 "configure"
+#line 7328 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6961,7 +7335,7 @@ int main() {
 TIFFOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:6965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7059,7 +7433,7 @@ fi # $USE_TIFF
 
 
 echo $ac_n "checking whether to use PNG""... $ac_c" 1>&6
-echo "configure:7063: checking whether to use PNG" >&5
+echo "configure:7437: checking whether to use PNG" >&5
 echo "$ac_t"""$with_png"" 1>&6
 case "$with_png" in
 	"no")	USE_PNG=	;;
@@ -7078,7 +7452,7 @@ if test -n "$USE_PNG"; then
 
 
 echo $ac_n "checking for location of PNG includes""... $ac_c" 1>&6
-echo "configure:7082: checking for location of PNG includes" >&5
+echo "configure:7456: checking for location of PNG includes" >&5
 case "$with_png_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-png-includes." 1>&2; exit 1; }
@@ -7104,15 +7478,15 @@ for ac_hdr in png.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7108: checking for $ac_hdr" >&5
+echo "configure:7482: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7111 "configure"
+#line 7485 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7490: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7146,7 +7520,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of PNG library""... $ac_c" 1>&6
-echo "configure:7150: checking for location of PNG library" >&5
+echo "configure:7524: checking for location of PNG library" >&5
 case "$with_png_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-png-libs." 1>&2; exit 1; }
@@ -7171,13 +7545,13 @@ LDFLAGS="$PNGLIB $LDFLAGS"
 
 
 echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6
-echo "configure:7175: checking for png_read_image in -lpng" >&5
+echo "configure:7549: checking for png_read_image in -lpng" >&5
 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lpng $ZLIB $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7181 "configure"
+#line 7555 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7188,7 +7562,7 @@ int main() {
 png_read_image()
 ; return 0; }
 EOF
-if { (eval echo configure:7192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7566: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7230,7 +7604,7 @@ fi # $USE_PNG
 
 
 echo $ac_n "checking whether to use PostgreSQL""... $ac_c" 1>&6
-echo "configure:7234: checking whether to use PostgreSQL" >&5
+echo "configure:7608: checking whether to use PostgreSQL" >&5
 echo "$ac_t"""$with_postgres"" 1>&6
 case "$with_postgres" in
 	"no")	USE_POSTGRES=	;;
@@ -7257,7 +7631,7 @@ if test -n "$USE_POSTGRES"; then
 
 
 echo $ac_n "checking for location of PostgreSQL includes""... $ac_c" 1>&6
-echo "configure:7261: checking for location of PostgreSQL includes" >&5
+echo "configure:7635: checking for location of PostgreSQL includes" >&5
 case "$with_postgres_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-postgres-includes." 1>&2; exit 1; }
@@ -7283,15 +7657,15 @@ for ac_hdr in libpq-fe.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7287: checking for $ac_hdr" >&5
+echo "configure:7661: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7290 "configure"
+#line 7664 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7295: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7669: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7329,7 +7703,7 @@ if test -n "$USE_POSTGRES"; then
 
 
 echo $ac_n "checking for location of PostgreSQL library""... $ac_c" 1>&6
-echo "configure:7333: checking for location of PostgreSQL library" >&5
+echo "configure:7707: checking for location of PostgreSQL library" >&5
 case "$with_postgres_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-postgres-libs." 1>&2; exit 1; }
@@ -7358,13 +7732,13 @@ LDFLAGS="$PQLIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for PQsetdbLogin in -lpq""... $ac_c" 1>&6
-echo "configure:7362: checking for PQsetdbLogin in -lpq" >&5
+echo "configure:7736: checking for PQsetdbLogin in -lpq" >&5
 ac_lib_var=`echo pq'_'PQsetdbLogin | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lpq  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7368 "configure"
+#line 7742 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7375,7 +7749,7 @@ int main() {
 PQsetdbLogin()
 ; return 0; }
 EOF
-if { (eval echo configure:7379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7394,13 +7768,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for PQsetdbLogin in -lpq""... $ac_c" 1>&6
-echo "configure:7398: checking for PQsetdbLogin in -lpq" >&5
+echo "configure:7772: checking for PQsetdbLogin in -lpq" >&5
 ac_lib_var=`echo pq'_'PQsetdbLogin | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lpq -lssl -lcrypto $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7404 "configure"
+#line 7778 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7411,7 +7785,7 @@ int main() {
 PQsetdbLogin()
 ; return 0; }
 EOF
-if { (eval echo configure:7415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7430,13 +7804,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for PQsetdbLogin in -lpq""... $ac_c" 1>&6
-echo "configure:7434: checking for PQsetdbLogin in -lpq" >&5
+echo "configure:7808: checking for PQsetdbLogin in -lpq" >&5
 ac_lib_var=`echo pq'_'PQsetdbLogin | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lpq -lcrypt $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7440 "configure"
+#line 7814 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7447,7 +7821,7 @@ int main() {
 PQsetdbLogin()
 ; return 0; }
 EOF
-if { (eval echo configure:7451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7466,13 +7840,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for PQsetdbLogin in -lpq""... $ac_c" 1>&6
-echo "configure:7470: checking for PQsetdbLogin in -lpq" >&5
+echo "configure:7844: checking for PQsetdbLogin in -lpq" >&5
 ac_lib_var=`echo pq'_'PQsetdbLogin | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lpq -lcrypt -lssl -lcrypto $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7476 "configure"
+#line 7850 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7483,7 +7857,7 @@ int main() {
 PQsetdbLogin()
 ; return 0; }
 EOF
-if { (eval echo configure:7487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7540,13 +7914,13 @@ LDFLAGS=${ac_save_ldflags}
 ac_save_ldflags="$LDFLAGS"
 LDFLAGS="$LDFLAGS $PQLIBPATH"
 echo $ac_n "checking for PQcmdTuples in -lpq""... $ac_c" 1>&6
-echo "configure:7544: checking for PQcmdTuples in -lpq" >&5
+echo "configure:7918: checking for PQcmdTuples in -lpq" >&5
 ac_lib_var=`echo pq'_'PQcmdTuples | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lpq  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7550 "configure"
+#line 7924 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7557,7 +7931,7 @@ int main() {
 PQcmdTuples()
 ; return 0; }
 EOF
-if { (eval echo configure:7561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7579,13 +7953,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for PQcmdTuples in -lpq""... $ac_c" 1>&6
-echo "configure:7583: checking for PQcmdTuples in -lpq" >&5
+echo "configure:7957: checking for PQcmdTuples in -lpq" >&5
 ac_lib_var=`echo pq'_'PQcmdTuples | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lpq -lcrypt $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7589 "configure"
+#line 7963 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7596,7 +7970,7 @@ int main() {
 PQcmdTuples()
 ; return 0; }
 EOF
-if { (eval echo configure:7600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7639,7 +8013,7 @@ fi # $USE_POSTGRES
 
 
 echo $ac_n "checking whether to use MySQL""... $ac_c" 1>&6
-echo "configure:7643: checking whether to use MySQL" >&5
+echo "configure:8017: checking whether to use MySQL" >&5
 echo "$ac_t"""$with_mysql"" 1>&6
 case "$with_mysql" in
 	"no")	USE_MYSQL=	;;
@@ -7659,7 +8033,7 @@ if test -n "$USE_MYSQL"; then
 
 
 echo $ac_n "checking for location of MySQL includes""... $ac_c" 1>&6
-echo "configure:7663: checking for location of MySQL includes" >&5
+echo "configure:8037: checking for location of MySQL includes" >&5
 case "$with_mysql_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-mysql-includes." 1>&2; exit 1; }
@@ -7685,15 +8059,15 @@ for ac_hdr in mysql.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7689: checking for $ac_hdr" >&5
+echo "configure:8063: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7692 "configure"
+#line 8066 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7697: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8071: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7730,7 +8104,7 @@ if test -n "$USE_MYSQL"; then
 
   
 echo $ac_n "checking for location of MySQL library""... $ac_c" 1>&6
-echo "configure:7734: checking for location of MySQL library" >&5
+echo "configure:8108: checking for location of MySQL library" >&5
 case "$with_mysql_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-mysql-libs." 1>&2; exit 1; }
@@ -7761,13 +8135,13 @@ LDFLAGS="$MYSQLLIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for mysql_query in -lmysqlclient""... $ac_c" 1>&6
-echo "configure:7765: checking for mysql_query in -lmysqlclient" >&5
+echo "configure:8139: checking for mysql_query in -lmysqlclient" >&5
 ac_lib_var=`echo mysqlclient'_'mysql_query | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lmysqlclient  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7771 "configure"
+#line 8145 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7778,7 +8152,7 @@ int main() {
 mysql_query()
 ; return 0; }
 EOF
-if { (eval echo configure:7782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7797,13 +8171,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for mysql_query in -lmysqlclient""... $ac_c" 1>&6
-echo "configure:7801: checking for mysql_query in -lmysqlclient" >&5
+echo "configure:8175: checking for mysql_query in -lmysqlclient" >&5
 ac_lib_var=`echo mysqlclient'_'mysql_query | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lmysqlclient $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7807 "configure"
+#line 8181 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7814,7 +8188,7 @@ int main() {
 mysql_query()
 ; return 0; }
 EOF
-if { (eval echo configure:7818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7833,13 +8207,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for mysql_query in -lmysqlclient""... $ac_c" 1>&6
-echo "configure:7837: checking for mysql_query in -lmysqlclient" >&5
+echo "configure:8211: checking for mysql_query in -lmysqlclient" >&5
 ac_lib_var=`echo mysqlclient'_'mysql_query | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lmysqlclient $SOCKLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7843 "configure"
+#line 8217 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7850,7 +8224,7 @@ int main() {
 mysql_query()
 ; return 0; }
 EOF
-if { (eval echo configure:7854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7869,13 +8243,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for mysql_query in -lmysqlclient""... $ac_c" 1>&6
-echo "configure:7873: checking for mysql_query in -lmysqlclient" >&5
+echo "configure:8247: checking for mysql_query in -lmysqlclient" >&5
 ac_lib_var=`echo mysqlclient'_'mysql_query | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lmysqlclient $SOCKLIB $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7879 "configure"
+#line 8253 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7886,7 +8260,7 @@ int main() {
 mysql_query()
 ; return 0; }
 EOF
-if { (eval echo configure:7890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7905,13 +8279,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for mysql_query in -lmysqlclient""... $ac_c" 1>&6
-echo "configure:7909: checking for mysql_query in -lmysqlclient" >&5
+echo "configure:8283: checking for mysql_query in -lmysqlclient" >&5
 ac_lib_var=`echo mysqlclient'_'mysql_query | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lmysqlclient $ZLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7915 "configure"
+#line 8289 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7922,7 +8296,7 @@ int main() {
 mysql_query()
 ; return 0; }
 EOF
-if { (eval echo configure:7926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7941,13 +8315,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for mysql_query in -lmysqlclient""... $ac_c" 1>&6
-echo "configure:7945: checking for mysql_query in -lmysqlclient" >&5
+echo "configure:8319: checking for mysql_query in -lmysqlclient" >&5
 ac_lib_var=`echo mysqlclient'_'mysql_query | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lmysqlclient $ZLIB $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7951 "configure"
+#line 8325 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7958,7 +8332,7 @@ int main() {
 mysql_query()
 ; return 0; }
 EOF
-if { (eval echo configure:7962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7977,13 +8351,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for mysql_query in -lmysqlclient""... $ac_c" 1>&6
-echo "configure:7981: checking for mysql_query in -lmysqlclient" >&5
+echo "configure:8355: checking for mysql_query in -lmysqlclient" >&5
 ac_lib_var=`echo mysqlclient'_'mysql_query | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lmysqlclient $ZLIB $SOCKLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7987 "configure"
+#line 8361 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7994,7 +8368,7 @@ int main() {
 mysql_query()
 ; return 0; }
 EOF
-if { (eval echo configure:7998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8013,13 +8387,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for mysql_query in -lmysqlclient""... $ac_c" 1>&6
-echo "configure:8017: checking for mysql_query in -lmysqlclient" >&5
+echo "configure:8391: checking for mysql_query in -lmysqlclient" >&5
 ac_lib_var=`echo mysqlclient'_'mysql_query | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lmysqlclient $ZLIB $SOCKLIB $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8023 "configure"
+#line 8397 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8030,7 +8404,7 @@ int main() {
 mysql_query()
 ; return 0; }
 EOF
-if { (eval echo configure:8034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8120,7 +8494,7 @@ LDFLAGS=${ac_save_ldflags}
   # Extract the first word of "mysql_config", so it can be a program name with args.
 set dummy mysql_config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:8124: checking for $ac_word" >&5
+echo "configure:8498: checking for $ac_word" >&5
 
 case "$MYSQLD_CONFIG" in
   /*)
@@ -8169,10 +8543,10 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
     LIBS="$MYSQLDLIB $LIBS"
     echo $ac_n "checking for mysql_server_init""... $ac_c" 1>&6
-echo "configure:8173: checking for mysql_server_init" >&5
+echo "configure:8547: checking for mysql_server_init" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8176 "configure"
+#line 8550 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char mysql_server_init(); below.  */
@@ -8198,7 +8572,7 @@ mysql_server_init();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_mysql_server_init=yes"
 else
@@ -8250,7 +8624,7 @@ fi # $USE_MYSQL
 
 
 echo $ac_n "checking whether to use SQLite""... $ac_c" 1>&6
-echo "configure:8254: checking whether to use SQLite" >&5
+echo "configure:8628: checking whether to use SQLite" >&5
 echo "$ac_t"""$with_sqlite"" 1>&6
 case "$with_sqlite" in
 	"no")	USE_SQLITE=	;;
@@ -8270,7 +8644,7 @@ if test -n "$USE_SQLITE"; then
 
 
 echo $ac_n "checking for location of SQLite includes""... $ac_c" 1>&6
-echo "configure:8274: checking for location of SQLite includes" >&5
+echo "configure:8648: checking for location of SQLite includes" >&5
 case "$with_sqlite_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-sqlite-includes." 1>&2; exit 1; }
@@ -8296,15 +8670,15 @@ for ac_hdr in sqlite3.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8300: checking for $ac_hdr" >&5
+echo "configure:8674: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8303 "configure"
+#line 8677 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8308: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8682: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8347,7 +8721,7 @@ if test -n "$USE_SQLITE"; then
 
 
 echo $ac_n "checking for location of SQLite library""... $ac_c" 1>&6
-echo "configure:8351: checking for location of SQLite library" >&5
+echo "configure:8725: checking for location of SQLite library" >&5
 case "$with_sqlite_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-sqlite-libs." 1>&2; exit 1; }
@@ -8376,13 +8750,13 @@ LDFLAGS="$SQLITELIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for sqlite3_open in -lsqlite3""... $ac_c" 1>&6
-echo "configure:8380: checking for sqlite3_open in -lsqlite3" >&5
+echo "configure:8754: checking for sqlite3_open in -lsqlite3" >&5
 ac_lib_var=`echo sqlite3'_'sqlite3_open | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsqlite3  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8386 "configure"
+#line 8760 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8393,7 +8767,7 @@ int main() {
 sqlite3_open()
 ; return 0; }
 EOF
-if { (eval echo configure:8397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8412,13 +8786,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for sqlite3_open in -lsqlite3""... $ac_c" 1>&6
-echo "configure:8416: checking for sqlite3_open in -lsqlite3" >&5
+echo "configure:8790: checking for sqlite3_open in -lsqlite3" >&5
 ac_lib_var=`echo sqlite3'_'sqlite3_open | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsqlite3 $DLLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8422 "configure"
+#line 8796 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8429,7 +8803,7 @@ int main() {
 sqlite3_open()
 ; return 0; }
 EOF
-if { (eval echo configure:8433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8448,13 +8822,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for sqlite3_open in -lsqlite3""... $ac_c" 1>&6
-echo "configure:8452: checking for sqlite3_open in -lsqlite3" >&5
+echo "configure:8826: checking for sqlite3_open in -lsqlite3" >&5
 ac_lib_var=`echo sqlite3'_'sqlite3_open | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsqlite3 $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8458 "configure"
+#line 8832 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8465,7 +8839,7 @@ int main() {
 sqlite3_open()
 ; return 0; }
 EOF
-if { (eval echo configure:8469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8484,13 +8858,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for sqlite3_open in -lsqlite3""... $ac_c" 1>&6
-echo "configure:8488: checking for sqlite3_open in -lsqlite3" >&5
+echo "configure:8862: checking for sqlite3_open in -lsqlite3" >&5
 ac_lib_var=`echo sqlite3'_'sqlite3_open | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsqlite3 $MATHLIB $DLLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8494 "configure"
+#line 8868 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8501,7 +8875,7 @@ int main() {
 sqlite3_open()
 ; return 0; }
 EOF
-if { (eval echo configure:8505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8576,7 +8950,7 @@ OPENGL_AQUA=
 OPENGL_WINDOWS=
 
 echo $ac_n "checking whether to use OpenGL""... $ac_c" 1>&6
-echo "configure:8580: checking whether to use OpenGL" >&5
+echo "configure:8954: checking whether to use OpenGL" >&5
 echo "$ac_t"""$with_opengl"" 1>&6
 case "$with_opengl" in
 	n|no)
@@ -8610,7 +8984,7 @@ if test "$OPENGL_X11" = 1 ; then
 
 
 echo $ac_n "checking for location of OpenGL includes""... $ac_c" 1>&6
-echo "configure:8614: checking for location of OpenGL includes" >&5
+echo "configure:8988: checking for location of OpenGL includes" >&5
 case "$with_opengl_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opengl-includes." 1>&2; exit 1; }
@@ -8636,15 +9010,15 @@ for ac_hdr in GL/gl.h GL/glu.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8640: checking for $ac_hdr" >&5
+echo "configure:9014: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8643 "configure"
+#line 9017 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8648: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8678,7 +9052,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of OpenGL library""... $ac_c" 1>&6
-echo "configure:8682: checking for location of OpenGL library" >&5
+echo "configure:9056: checking for location of OpenGL library" >&5
 case "$with_opengl_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opengl-libs." 1>&2; exit 1; }
@@ -8707,13 +9081,13 @@ LDFLAGS="$OPENGL_LIB_PATH $LDFLAGS"
 
 
 echo $ac_n "checking for glBegin in -lGL""... $ac_c" 1>&6
-echo "configure:8711: checking for glBegin in -lGL" >&5
+echo "configure:9085: checking for glBegin in -lGL" >&5
 ac_lib_var=`echo GL'_'glBegin | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lGL $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $MATHLIB  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8717 "configure"
+#line 9091 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8724,7 +9098,7 @@ int main() {
 glBegin()
 ; return 0; }
 EOF
-if { (eval echo configure:8728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8743,13 +9117,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for glBegin in -lGL""... $ac_c" 1>&6
-echo "configure:8747: checking for glBegin in -lGL" >&5
+echo "configure:9121: checking for glBegin in -lGL" >&5
 ac_lib_var=`echo GL'_'glBegin | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lGL $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $MATHLIB -lXext $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8753 "configure"
+#line 9127 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8760,7 +9134,7 @@ int main() {
 glBegin()
 ; return 0; }
 EOF
-if { (eval echo configure:8764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8779,13 +9153,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for glBegin in -lGL""... $ac_c" 1>&6
-echo "configure:8783: checking for glBegin in -lGL" >&5
+echo "configure:9157: checking for glBegin in -lGL" >&5
 ac_lib_var=`echo GL'_'glBegin | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lGL $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $MATHLIB -lpthread $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8789 "configure"
+#line 9163 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8796,7 +9170,7 @@ int main() {
 glBegin()
 ; return 0; }
 EOF
-if { (eval echo configure:8800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8815,13 +9189,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for glBegin in -lGL""... $ac_c" 1>&6
-echo "configure:8819: checking for glBegin in -lGL" >&5
+echo "configure:9193: checking for glBegin in -lGL" >&5
 ac_lib_var=`echo GL'_'glBegin | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lGL $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $MATHLIB -lpthread -lXext $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8825 "configure"
+#line 9199 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8832,7 +9206,7 @@ int main() {
 glBegin()
 ; return 0; }
 EOF
-if { (eval echo configure:8836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8894,13 +9268,13 @@ LDFLAGS="$OPENGL_LIB_PATH $LDFLAGS"
 
 
 echo $ac_n "checking for gluBeginCurve in -lGLU""... $ac_c" 1>&6
-echo "configure:8898: checking for gluBeginCurve in -lGLU" >&5
+echo "configure:9272: checking for gluBeginCurve in -lGLU" >&5
 ac_lib_var=`echo GLU'_'gluBeginCurve | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lGLU $OPENGLLIB $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $MATHLIB  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8904 "configure"
+#line 9278 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8911,7 +9285,7 @@ int main() {
 gluBeginCurve()
 ; return 0; }
 EOF
-if { (eval echo configure:8915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8930,13 +9304,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gluBeginCurve in -lGLU""... $ac_c" 1>&6
-echo "configure:8934: checking for gluBeginCurve in -lGLU" >&5
+echo "configure:9308: checking for gluBeginCurve in -lGLU" >&5
 ac_lib_var=`echo GLU'_'gluBeginCurve | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lGLU $OPENGLLIB $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $MATHLIB -lstdc++ $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8940 "configure"
+#line 9314 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8947,7 +9321,7 @@ int main() {
 gluBeginCurve()
 ; return 0; }
 EOF
-if { (eval echo configure:8951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8994,10 +9368,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS=" $OPENGLLIB $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for glXCreatePbuffer""... $ac_c" 1>&6
-echo "configure:8998: checking for glXCreatePbuffer" >&5
+echo "configure:9372: checking for glXCreatePbuffer" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9001 "configure"
+#line 9375 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char glXCreatePbuffer(); below.  */
@@ -9020,7 +9394,7 @@ glXCreatePbuffer();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_glXCreatePbuffer=yes"
 else
@@ -9057,10 +9431,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS=" $OPENGLLIB $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for glXCreateGLXPixmap""... $ac_c" 1>&6
-echo "configure:9061: checking for glXCreateGLXPixmap" >&5
+echo "configure:9435: checking for glXCreateGLXPixmap" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9064 "configure"
+#line 9438 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char glXCreateGLXPixmap(); below.  */
@@ -9083,7 +9457,7 @@ glXCreateGLXPixmap();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_glXCreateGLXPixmap=yes"
 else
@@ -9126,7 +9500,7 @@ if test "$OPENGL_AQUA" = 1 ; then
 
 
 echo $ac_n "checking for location of OpenGL framework""... $ac_c" 1>&6
-echo "configure:9130: checking for location of OpenGL framework" >&5
+echo "configure:9504: checking for location of OpenGL framework" >&5
 case "$with_opengl_framework" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opengl-framework." 1>&2; exit 1; }
@@ -9150,15 +9524,15 @@ for ac_hdr in OpenGL/gl.h OpenGL/glu.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9154: checking for $ac_hdr" >&5
+echo "configure:9528: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9157 "configure"
+#line 9531 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9536: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9194,10 +9568,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS="-framework OpenGL -framework AGL -framework ApplicationServices  $LIBS"
 LDFLAGS="$OPENGLPATH $LDFLAGS"
 echo $ac_n "checking for glBegin""... $ac_c" 1>&6
-echo "configure:9198: checking for glBegin" >&5
+echo "configure:9572: checking for glBegin" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9201 "configure"
+#line 9575 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char glBegin(); below.  */
@@ -9220,7 +9594,7 @@ glBegin();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_glBegin=yes"
 else
@@ -9257,10 +9631,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS=" $OPENGLLIB $LIBS"
 LDFLAGS="$OPENGLPATH $LDFLAGS"
 echo $ac_n "checking for gluBeginCurve""... $ac_c" 1>&6
-echo "configure:9261: checking for gluBeginCurve" >&5
+echo "configure:9635: checking for gluBeginCurve" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9264 "configure"
+#line 9638 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gluBeginCurve(); below.  */
@@ -9283,7 +9657,7 @@ gluBeginCurve();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gluBeginCurve=yes"
 else
@@ -9331,7 +9705,7 @@ if test "$OPENGL_WINDOWS" = 1 ; then
 
 
 echo $ac_n "checking for location of OpenGL includes""... $ac_c" 1>&6
-echo "configure:9335: checking for location of OpenGL includes" >&5
+echo "configure:9709: checking for location of OpenGL includes" >&5
 case "$with_opengl_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opengl-includes." 1>&2; exit 1; }
@@ -9357,15 +9731,15 @@ for ac_hdr in GL/gl.h GL/glu.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9361: checking for $ac_hdr" >&5
+echo "configure:9735: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9364 "configure"
+#line 9738 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9369: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9743: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9399,7 +9773,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of OpenGL library""... $ac_c" 1>&6
-echo "configure:9403: checking for location of OpenGL library" >&5
+echo "configure:9777: checking for location of OpenGL library" >&5
 case "$with_opengl_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opengl-libs." 1>&2; exit 1; }
@@ -9424,18 +9798,18 @@ CFLAGS="$CFLAGS $OPENGLINC"
 ac_save_ldflags="$LDFLAGS"
 ac_save_libs="$LIBS"
 echo $ac_n "checking for OpenGL library""... $ac_c" 1>&6
-echo "configure:9428: checking for OpenGL library" >&5
+echo "configure:9802: checking for OpenGL library" >&5
 LDFLAGS="$OPENGL_LIB_PATH $LDFLAGS"
 LIBS="-lopengl32  "
 cat > conftest.$ac_ext <<EOF
-#line 9432 "configure"
+#line 9806 "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
 int main() {
 glEnd();
 ; return 0; }
 EOF
-if { (eval echo configure:9439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   
 echo "$ac_t""found" 1>&6
@@ -9459,18 +9833,18 @@ LDFLAGS=${ac_save_ldflags}
 ac_save_ldflags="$LDFLAGS"
 ac_save_libs="$LIBS"
 echo $ac_n "checking for GLU library""... $ac_c" 1>&6
-echo "configure:9463: checking for GLU library" >&5
+echo "configure:9837: checking for GLU library" >&5
 LDFLAGS="$OPENGL_LIB_PATH $LDFLAGS"
 LIBS="-lglu32 $OPENGLLIB "
 cat > conftest.$ac_ext <<EOF
-#line 9467 "configure"
+#line 9841 "configure"
 #include "confdefs.h"
 #include <GL/glu.h>
 int main() {
 gluNewQuadric();
 ; return 0; }
 EOF
-if { (eval echo configure:9474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   
 echo "$ac_t""found" 1>&6
@@ -9519,7 +9893,7 @@ fi # $USE_OPENGL
 
 
 echo $ac_n "checking whether to use ODBC""... $ac_c" 1>&6
-echo "configure:9523: checking whether to use ODBC" >&5
+echo "configure:9897: checking whether to use ODBC" >&5
 echo "$ac_t"""$with_odbc"" 1>&6
 case "$with_odbc" in
 	"no")	USE_ODBC=	;;
@@ -9538,7 +9912,7 @@ if test -n "$USE_ODBC"; then
 
 
 echo $ac_n "checking for location of ODBC includes""... $ac_c" 1>&6
-echo "configure:9542: checking for location of ODBC includes" >&5
+echo "configure:9916: checking for location of ODBC includes" >&5
 case "$with_odbc_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-odbc-includes." 1>&2; exit 1; }
@@ -9564,15 +9938,15 @@ for ac_hdr in sql.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9568: checking for $ac_hdr" >&5
+echo "configure:9942: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9571 "configure"
+#line 9945 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9576: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9950: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9606,7 +9980,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of ODBC library""... $ac_c" 1>&6
-echo "configure:9610: checking for location of ODBC library" >&5
+echo "configure:9984: checking for location of ODBC library" >&5
 case "$with_odbc_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-odbc-libs." 1>&2; exit 1; }
@@ -9631,13 +10005,13 @@ LDFLAGS="$ODBCLIB $LDFLAGS"
 
 
 echo $ac_n "checking for SQLConnect in -lodbc""... $ac_c" 1>&6
-echo "configure:9635: checking for SQLConnect in -lodbc" >&5
+echo "configure:10009: checking for SQLConnect in -lodbc" >&5
 ac_lib_var=`echo odbc'_'SQLConnect | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lodbc $ICONVLIB  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 9641 "configure"
+#line 10015 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -9648,7 +10022,7 @@ int main() {
 SQLConnect()
 ; return 0; }
 EOF
-if { (eval echo configure:9652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -9673,13 +10047,13 @@ LDFLAGS="$ODBCLIB $LDFLAGS"
 
 
 echo $ac_n "checking for SQLConnect in -liodbc""... $ac_c" 1>&6
-echo "configure:9677: checking for SQLConnect in -liodbc" >&5
+echo "configure:10051: checking for SQLConnect in -liodbc" >&5
 ac_lib_var=`echo iodbc'_'SQLConnect | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-liodbc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 9683 "configure"
+#line 10057 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -9690,7 +10064,7 @@ int main() {
 SQLConnect()
 ; return 0; }
 EOF
-if { (eval echo configure:9694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -9715,11 +10089,11 @@ CFLAGS="$CFLAGS $ODBCINC"
 ac_save_ldflags="$LDFLAGS"
 ac_save_libs="$LIBS"
 echo $ac_n "checking for ODBC library""... $ac_c" 1>&6
-echo "configure:9719: checking for ODBC library" >&5
+echo "configure:10093: checking for ODBC library" >&5
 LDFLAGS="$ODBCLIB $LDFLAGS"
 LIBS="-lodbc32  "
 cat > conftest.$ac_ext <<EOF
-#line 9723 "configure"
+#line 10097 "configure"
 #include "confdefs.h"
 #include <windows.h>
 #include <sql.h>
@@ -9727,7 +10101,7 @@ int main() {
 SQLAllocEnv((SQLHENV *)0);
 ; return 0; }
 EOF
-if { (eval echo configure:9731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   
 echo "$ac_t""found" 1>&6
@@ -9776,7 +10150,7 @@ fi # $USE_ODBC
 
 
 echo $ac_n "checking whether to use FFTW""... $ac_c" 1>&6
-echo "configure:9780: checking whether to use FFTW" >&5
+echo "configure:10154: checking whether to use FFTW" >&5
 echo "$ac_t"""$with_fftw"" 1>&6
 case "$with_fftw" in
 	"no")	USE_FFTW=	;;
@@ -9795,7 +10169,7 @@ if test -n "$USE_FFTW"; then
 
 
 echo $ac_n "checking for location of FFTW includes""... $ac_c" 1>&6
-echo "configure:9799: checking for location of FFTW includes" >&5
+echo "configure:10173: checking for location of FFTW includes" >&5
 case "$with_fftw_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-fftw-includes." 1>&2; exit 1; }
@@ -9821,15 +10195,15 @@ for ac_hdr in fftw3.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9825: checking for $ac_hdr" >&5
+echo "configure:10199: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9828 "configure"
+#line 10202 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9833: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9857,15 +10231,15 @@ for ac_hdr in fftw.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9861: checking for $ac_hdr" >&5
+echo "configure:10235: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9864 "configure"
+#line 10238 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9869: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10243: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9893,15 +10267,15 @@ for ac_hdr in dfftw.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9897: checking for $ac_hdr" >&5
+echo "configure:10271: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9900 "configure"
+#line 10274 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9905: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9947,7 +10321,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of FFTW library""... $ac_c" 1>&6
-echo "configure:9951: checking for location of FFTW library" >&5
+echo "configure:10325: checking for location of FFTW library" >&5
 case "$with_fftw_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-fftw-libs." 1>&2; exit 1; }
@@ -9972,13 +10346,13 @@ LDFLAGS="$FFTWLIB $LDFLAGS"
 
 
 echo $ac_n "checking for fftw_execute in -lfftw3""... $ac_c" 1>&6
-echo "configure:9976: checking for fftw_execute in -lfftw3" >&5
+echo "configure:10350: checking for fftw_execute in -lfftw3" >&5
 ac_lib_var=`echo fftw3'_'fftw_execute | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lfftw3 $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 9982 "configure"
+#line 10356 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -9989,7 +10363,7 @@ int main() {
 fftw_execute()
 ; return 0; }
 EOF
-if { (eval echo configure:9993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10014,13 +10388,13 @@ LDFLAGS="$FFTWLIB $LDFLAGS"
 
 
 echo $ac_n "checking for fftwnd_one in -lfftw""... $ac_c" 1>&6
-echo "configure:10018: checking for fftwnd_one in -lfftw" >&5
+echo "configure:10392: checking for fftwnd_one in -lfftw" >&5
 ac_lib_var=`echo fftw'_'fftwnd_one | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lfftw $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10024 "configure"
+#line 10398 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10031,7 +10405,7 @@ int main() {
 fftwnd_one()
 ; return 0; }
 EOF
-if { (eval echo configure:10035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10056,13 +10430,13 @@ LDFLAGS="$FFTWLIB $LDFLAGS"
 
 
 echo $ac_n "checking for fftwnd_one in -ldfftw""... $ac_c" 1>&6
-echo "configure:10060: checking for fftwnd_one in -ldfftw" >&5
+echo "configure:10434: checking for fftwnd_one in -ldfftw" >&5
 ac_lib_var=`echo dfftw'_'fftwnd_one | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ldfftw $MATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10066 "configure"
+#line 10440 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10073,7 +10447,7 @@ int main() {
 fftwnd_one()
 ; return 0; }
 EOF
-if { (eval echo configure:10077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10130,7 +10504,7 @@ fi # $USE_FFTW
 
 
 echo $ac_n "checking whether to use BLAS""... $ac_c" 1>&6
-echo "configure:10134: checking whether to use BLAS" >&5
+echo "configure:10508: checking whether to use BLAS" >&5
 echo "$ac_t"""$with_blas"" 1>&6
 case "$with_blas" in
 	"no")	USE_BLAS=	;;
@@ -10151,7 +10525,7 @@ if test -n "$USE_BLAS"; then
 
 
 echo $ac_n "checking for location of BLAS includes""... $ac_c" 1>&6
-echo "configure:10155: checking for location of BLAS includes" >&5
+echo "configure:10529: checking for location of BLAS includes" >&5
 case "$with_blas_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-blas-includes." 1>&2; exit 1; }
@@ -10171,7 +10545,7 @@ fi
 
 
 echo $ac_n "checking for location of BLAS library""... $ac_c" 1>&6
-echo "configure:10175: checking for location of BLAS library" >&5
+echo "configure:10549: checking for location of BLAS library" >&5
 case "$with_blas_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-blas-libs." 1>&2; exit 1; }
@@ -10197,15 +10571,15 @@ for ac_hdr in cblas.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10201: checking for $ac_hdr" >&5
+echo "configure:10575: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10204 "configure"
+#line 10578 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10209: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10583: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -10240,13 +10614,13 @@ LDFLAGS="$BLASLIB $LDFLAGS"
 
 
 echo $ac_n "checking for dnrm2_ in -lblas""... $ac_c" 1>&6
-echo "configure:10244: checking for dnrm2_ in -lblas" >&5
+echo "configure:10618: checking for dnrm2_ in -lblas" >&5
 ac_lib_var=`echo blas'_'dnrm2_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lblas $MATHLIB  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10250 "configure"
+#line 10624 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10257,7 +10631,7 @@ int main() {
 dnrm2_()
 ; return 0; }
 EOF
-if { (eval echo configure:10261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10276,13 +10650,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for dnrm2_ in -lblas""... $ac_c" 1>&6
-echo "configure:10280: checking for dnrm2_ in -lblas" >&5
+echo "configure:10654: checking for dnrm2_ in -lblas" >&5
 ac_lib_var=`echo blas'_'dnrm2_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lblas $MATHLIB -lg2c $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10286 "configure"
+#line 10660 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10293,7 +10667,7 @@ int main() {
 dnrm2_()
 ; return 0; }
 EOF
-if { (eval echo configure:10297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10337,13 +10711,13 @@ blas_ok=no
 save_LDFLAGS="$LDFLAGS"
 LDFLAGS="$BLASLIB $LDFLAGS"
 echo $ac_n "checking for ATL_xerbla in -latlas""... $ac_c" 1>&6
-echo "configure:10341: checking for ATL_xerbla in -latlas" >&5
+echo "configure:10715: checking for ATL_xerbla in -latlas" >&5
 ac_lib_var=`echo atlas'_'ATL_xerbla | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-latlas  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10347 "configure"
+#line 10721 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10354,7 +10728,7 @@ int main() {
 ATL_xerbla()
 ; return 0; }
 EOF
-if { (eval echo configure:10358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10369,13 +10743,13 @@ LIBS="$ac_save_LIBS"
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for sgemm_ in -lf77blas""... $ac_c" 1>&6
-echo "configure:10373: checking for sgemm_ in -lf77blas" >&5
+echo "configure:10747: checking for sgemm_ in -lf77blas" >&5
 ac_lib_var=`echo f77blas'_'sgemm_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lf77blas -latlas $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10379 "configure"
+#line 10753 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10386,7 +10760,7 @@ int main() {
 sgemm_()
 ; return 0; }
 EOF
-if { (eval echo configure:10390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10401,13 +10775,13 @@ LIBS="$ac_save_LIBS"
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for cblas_dgemm in -lcblas""... $ac_c" 1>&6
-echo "configure:10405: checking for cblas_dgemm in -lcblas" >&5
+echo "configure:10779: checking for cblas_dgemm in -lcblas" >&5
 ac_lib_var=`echo cblas'_'cblas_dgemm | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lcblas -lf77blas -latlas $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10411 "configure"
+#line 10785 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10418,7 +10792,7 @@ int main() {
 cblas_dgemm()
 ; return 0; }
 EOF
-if { (eval echo configure:10422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10464,16 +10838,16 @@ if test $blas_ok = no; then
 	save_LIBS="$LIBS"
 	LIBS="$vlib_flags $LIBS"
 	echo $ac_n "checking for sgemm in $vlib_flags""... $ac_c" 1>&6
-echo "configure:10468: checking for sgemm in $vlib_flags" >&5
+echo "configure:10842: checking for sgemm in $vlib_flags" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 10470 "configure"
+#line 10844 "configure"
 #include "confdefs.h"
 
 int main() {
 sgemm
 ; return 0; }
 EOF
-if { (eval echo configure:10477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   blas_ok=yes; BLASLIB="$vlib_flags"
 else
@@ -10491,13 +10865,13 @@ fi
 # BLAS in PhiPACK libraries? (requires generic BLAS, too)
 if test $blas_ok = no; then
 	echo $ac_n "checking for sgemm_ in -lblas""... $ac_c" 1>&6
-echo "configure:10495: checking for sgemm_ in -lblas" >&5
+echo "configure:10869: checking for sgemm_ in -lblas" >&5
 ac_lib_var=`echo blas'_'sgemm_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lblas  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10501 "configure"
+#line 10875 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10508,7 +10882,7 @@ int main() {
 sgemm_()
 ; return 0; }
 EOF
-if { (eval echo configure:10512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10523,13 +10897,13 @@ LIBS="$ac_save_LIBS"
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for dgemm_ in -ldgemm""... $ac_c" 1>&6
-echo "configure:10527: checking for dgemm_ in -ldgemm" >&5
+echo "configure:10901: checking for dgemm_ in -ldgemm" >&5
 ac_lib_var=`echo dgemm'_'dgemm_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-ldgemm -lblas $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10533 "configure"
+#line 10907 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10540,7 +10914,7 @@ int main() {
 dgemm_()
 ; return 0; }
 EOF
-if { (eval echo configure:10544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10555,13 +10929,13 @@ LIBS="$ac_save_LIBS"
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for sgemm_ in -lsgemm""... $ac_c" 1>&6
-echo "configure:10559: checking for sgemm_ in -lsgemm" >&5
+echo "configure:10933: checking for sgemm_ in -lsgemm" >&5
 ac_lib_var=`echo sgemm'_'sgemm_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsgemm -lblas $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10565 "configure"
+#line 10939 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10572,7 +10946,7 @@ int main() {
 sgemm_()
 ; return 0; }
 EOF
-if { (eval echo configure:10576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10606,13 +10980,13 @@ fi
 if test $blas_ok = no; then
 	if test "x$GCC" != xyes; then # only works with Sun CC
 		echo $ac_n "checking for acosp in -lsunmath""... $ac_c" 1>&6
-echo "configure:10610: checking for acosp in -lsunmath" >&5
+echo "configure:10984: checking for acosp in -lsunmath" >&5
 ac_lib_var=`echo sunmath'_'acosp | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsunmath  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10616 "configure"
+#line 10990 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10623,7 +10997,7 @@ int main() {
 acosp()
 ; return 0; }
 EOF
-if { (eval echo configure:10627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10638,13 +11012,13 @@ LIBS="$ac_save_LIBS"
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for sgemm_ in -lsunperf""... $ac_c" 1>&6
-echo "configure:10642: checking for sgemm_ in -lsunperf" >&5
+echo "configure:11016: checking for sgemm_ in -lsunperf" >&5
 ac_lib_var=`echo sunperf'_'sgemm_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lsunperf -lsunmath $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10648 "configure"
+#line 11022 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10655,7 +11029,7 @@ int main() {
 sgemm_()
 ; return 0; }
 EOF
-if { (eval echo configure:10659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10685,13 +11059,13 @@ fi
 # Generic BLAS library
 if test $blas_ok = no; then
 	echo $ac_n "checking for sgemm_ in -lblas""... $ac_c" 1>&6
-echo "configure:10689: checking for sgemm_ in -lblas" >&5
+echo "configure:11063: checking for sgemm_ in -lblas" >&5
 ac_lib_var=`echo blas'_'sgemm_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lblas  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10695 "configure"
+#line 11069 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10702,7 +11076,7 @@ int main() {
 sgemm_()
 ; return 0; }
 EOF
-if { (eval echo configure:10706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10741,7 +11115,7 @@ fi # $USE_BLAS
 
 
 echo $ac_n "checking whether to use LAPACK""... $ac_c" 1>&6
-echo "configure:10745: checking whether to use LAPACK" >&5
+echo "configure:11119: checking whether to use LAPACK" >&5
 echo "$ac_t"""$with_lapack"" 1>&6
 case "$with_lapack" in
 	"no")	USE_LAPACK=	;;
@@ -10766,7 +11140,7 @@ lapack_ok=no
 
 
 echo $ac_n "checking for location of LAPACK includes""... $ac_c" 1>&6
-echo "configure:10770: checking for location of LAPACK includes" >&5
+echo "configure:11144: checking for location of LAPACK includes" >&5
 case "$with_lapack_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-lapack-includes." 1>&2; exit 1; }
@@ -10786,7 +11160,7 @@ fi
 
 
 echo $ac_n "checking for location of LAPACK library""... $ac_c" 1>&6
-echo "configure:10790: checking for location of LAPACK library" >&5
+echo "configure:11164: checking for location of LAPACK library" >&5
 case "$with_lapack_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-lapack-libs." 1>&2; exit 1; }
@@ -10812,15 +11186,15 @@ for ac_hdr in clapack.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10816: checking for $ac_hdr" >&5
+echo "configure:11190: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10819 "configure"
+#line 11193 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10824: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11198: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -10852,10 +11226,10 @@ if test lapack_ok=no; then
 	save_LIBS="$LIBS"; LIBS="$LIBS $BLASLIB $MATHLIB $FLIBS"
 	save_LDFLAGS="$LDFLAGS"; LDFLAGS="$LAPACKLIB $LDFLAGS"
 	echo $ac_n "checking for dsegv_""... $ac_c" 1>&6
-echo "configure:10856: checking for dsegv_" >&5
+echo "configure:11230: checking for dsegv_" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10859 "configure"
+#line 11233 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dsegv_(); below.  */
@@ -10878,7 +11252,7 @@ dsegv_();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_dsegv_=yes"
 else
@@ -10905,13 +11279,13 @@ if test $lapack_ok = no; then
 	save_libs="$LIBS"; LIBS="$BLASLIB $MATHLIB $LIBS"
 	save_LDFLAGS="$LDFLAGS"; LDFLAGS="$LAPACKLIB $LDFLAGS"
 	echo $ac_n "checking for desgv_ in -llapack""... $ac_c" 1>&6
-echo "configure:10909: checking for desgv_ in -llapack" >&5
+echo "configure:11283: checking for desgv_ in -llapack" >&5
 ac_lib_var=`echo lapack'_'desgv_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-llapack $FLIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10915 "configure"
+#line 11289 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10922,7 +11296,7 @@ int main() {
 desgv_()
 ; return 0; }
 EOF
-if { (eval echo configure:10926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10954,13 +11328,13 @@ LDFLAGS="$LAPACKLIB $LDFLAGS"
 
 
 echo $ac_n "checking for dgesv_ in -llapack""... $ac_c" 1>&6
-echo "configure:10958: checking for dgesv_ in -llapack" >&5
+echo "configure:11332: checking for dgesv_ in -llapack" >&5
 ac_lib_var=`echo lapack'_'dgesv_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-llapack $BLASLIB $MATHLIB  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10964 "configure"
+#line 11338 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10971,7 +11345,7 @@ int main() {
 dgesv_()
 ; return 0; }
 EOF
-if { (eval echo configure:10975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10990,13 +11364,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for dgesv_ in -llapack""... $ac_c" 1>&6
-echo "configure:10994: checking for dgesv_ in -llapack" >&5
+echo "configure:11368: checking for dgesv_ in -llapack" >&5
 ac_lib_var=`echo lapack'_'dgesv_ | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-llapack $BLASLIB $MATHLIB -lg2c $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11000 "configure"
+#line 11374 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11007,7 +11381,7 @@ int main() {
 dgesv_()
 ; return 0; }
 EOF
-if { (eval echo configure:11011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -11063,7 +11437,7 @@ fi # $USE_BLAS
 
 
 echo $ac_n "checking whether to use Cairo""... $ac_c" 1>&6
-echo "configure:11067: checking whether to use Cairo" >&5
+echo "configure:11441: checking whether to use Cairo" >&5
 echo "$ac_t"""$with_cairo"" 1>&6
 case "$with_cairo" in
 	"no")	USE_CAIRO=	;;
@@ -11095,7 +11469,7 @@ CAIROINC=`pkg-config --cflags $cairo`
 
 
 echo $ac_n "checking for location of cairo includes""... $ac_c" 1>&6
-echo "configure:11099: checking for location of cairo includes" >&5
+echo "configure:11473: checking for location of cairo includes" >&5
 case "$with_cairo_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-cairo-includes." 1>&2; exit 1; }
@@ -11121,15 +11495,15 @@ for ac_hdr in cairo.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11125: checking for $ac_hdr" >&5
+echo "configure:11499: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11128 "configure"
+#line 11502 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11133: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11507: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11165,7 +11539,7 @@ CAIROLIB=`pkg-config --libs $cairo`
 
 
 echo $ac_n "checking for location of cairo library""... $ac_c" 1>&6
-echo "configure:11169: checking for location of cairo library" >&5
+echo "configure:11543: checking for location of cairo library" >&5
 case "$with_cairo_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-cairo-libs." 1>&2; exit 1; }
@@ -11185,7 +11559,7 @@ fi
 
 
 echo $ac_n "checking for cairo linking flags""... $ac_c" 1>&6
-echo "configure:11189: checking for cairo linking flags" >&5
+echo "configure:11563: checking for cairo linking flags" >&5
 case "$with_cairo_ldflags" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-cairo-ldflags." 1>&2; exit 1; }
@@ -11201,10 +11575,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS=" $CAIROLIB $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for cairo_create""... $ac_c" 1>&6
-echo "configure:11205: checking for cairo_create" >&5
+echo "configure:11579: checking for cairo_create" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11208 "configure"
+#line 11582 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char cairo_create(); below.  */
@@ -11227,7 +11601,7 @@ cairo_create();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_cairo_create=yes"
 else
@@ -11261,10 +11635,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS=" $CAIROLIB $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for cairo_xlib_surface_create_with_xrender_format""... $ac_c" 1>&6
-echo "configure:11265: checking for cairo_xlib_surface_create_with_xrender_format" >&5
+echo "configure:11639: checking for cairo_xlib_surface_create_with_xrender_format" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11268 "configure"
+#line 11642 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char cairo_xlib_surface_create_with_xrender_format(); below.  */
@@ -11287,7 +11661,7 @@ cairo_xlib_surface_create_with_xrender_format();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_cairo_xlib_surface_create_with_xrender_format=yes"
 else
@@ -11320,10 +11694,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS=" $CAIROLIB $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for cairo_xlib_surface_get_xrender_format""... $ac_c" 1>&6
-echo "configure:11324: checking for cairo_xlib_surface_get_xrender_format" >&5
+echo "configure:11698: checking for cairo_xlib_surface_get_xrender_format" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11327 "configure"
+#line 11701 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char cairo_xlib_surface_get_xrender_format(); below.  */
@@ -11346,7 +11720,7 @@ cairo_xlib_surface_get_xrender_format();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_cairo_xlib_surface_get_xrender_format=yes"
 else
@@ -11388,7 +11762,7 @@ fi # $USE_CAIRO
 
 
 echo $ac_n "checking whether to use FreeType""... $ac_c" 1>&6
-echo "configure:11392: checking whether to use FreeType" >&5
+echo "configure:11766: checking whether to use FreeType" >&5
 echo "$ac_t"""$with_freetype"" 1>&6
 case "$with_freetype" in
 	"no")	USE_FREETYPE=	;;
@@ -11407,7 +11781,7 @@ if test -n "$USE_FREETYPE"; then
 
 
 echo $ac_n "checking for location of FreeType includes""... $ac_c" 1>&6
-echo "configure:11411: checking for location of FreeType includes" >&5
+echo "configure:11785: checking for location of FreeType includes" >&5
 case "$with_freetype_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-freetype-includes." 1>&2; exit 1; }
@@ -11433,15 +11807,15 @@ for ac_hdr in ft2build.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11437: checking for $ac_hdr" >&5
+echo "configure:11811: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11440 "configure"
+#line 11814 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11819: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11475,7 +11849,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of FreeType library""... $ac_c" 1>&6
-echo "configure:11479: checking for location of FreeType library" >&5
+echo "configure:11853: checking for location of FreeType library" >&5
 case "$with_freetype_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-freetype-libs." 1>&2; exit 1; }
@@ -11500,13 +11874,13 @@ LDFLAGS="$FTLIB $LDFLAGS"
 
 
 echo $ac_n "checking for FT_Init_FreeType in -lfreetype""... $ac_c" 1>&6
-echo "configure:11504: checking for FT_Init_FreeType in -lfreetype" >&5
+echo "configure:11878: checking for FT_Init_FreeType in -lfreetype" >&5
 ac_lib_var=`echo freetype'_'FT_Init_FreeType | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lfreetype  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11510 "configure"
+#line 11884 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11517,7 +11891,7 @@ int main() {
 FT_Init_FreeType()
 ; return 0; }
 EOF
-if { (eval echo configure:11521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -11558,7 +11932,7 @@ fi # $USE_FREETYPE
 
 
 echo $ac_n "checking whether to use NLS""... $ac_c" 1>&6
-echo "configure:11562: checking whether to use NLS" >&5
+echo "configure:11936: checking whether to use NLS" >&5
 echo "$ac_t"""$with_nls"" 1>&6
 case "$with_nls" in
 	"no")	USE_NLS=	;;
@@ -11578,10 +11952,10 @@ EOF
 
 
 echo $ac_n "checking for gettext""... $ac_c" 1>&6
-echo "configure:11582: checking for gettext" >&5
+echo "configure:11956: checking for gettext" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11585 "configure"
+#line 11959 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gettext(); below.  */
@@ -11604,7 +11978,7 @@ gettext();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gettext=yes"
 else
@@ -11622,13 +11996,13 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:11626: checking for gettext in -lintl" >&5
+echo "configure:12000: checking for gettext in -lintl" >&5
 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11632 "configure"
+#line 12006 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11639,7 +12013,7 @@ int main() {
 gettext()
 ; return 0; }
 EOF
-if { (eval echo configure:11643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -11674,7 +12048,7 @@ fi
  
 
 echo $ac_n "checking whether to use C++""... $ac_c" 1>&6
-echo "configure:11678: checking whether to use C++" >&5
+echo "configure:12052: checking whether to use C++" >&5
 echo "$ac_t"""$with_cxx"" 1>&6
 case "$with_cxx" in
 	"no")	USE_CXX=	;;
@@ -11690,7 +12064,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:11694: checking for $ac_word" >&5
+echo "configure:12068: checking for $ac_word" >&5
 
 if test -n "$CXX"; then
   ac_cv_prog_CXX="$CXX" # Let the user override the test.
@@ -11719,7 +12093,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:11723: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:12097: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -11730,12 +12104,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 11734 "configure"
+#line 12108 "configure"
 #include "confdefs.h"
 
 int main(){return(0);}
 EOF
-if { (eval echo configure:11739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -11761,19 +12135,19 @@ if test $ac_cv_prog_cxx_works = no; then
   { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:11765: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:12139: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:11770: checking whether we are using GNU C++" >&5
+echo "configure:12144: checking whether we are using GNU C++" >&5
 
 cat > conftest.C <<EOF
 #ifdef __GNUC__
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:11777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:12151: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -11791,7 +12165,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}"
 ac_save_CXXFLAGS="$CXXFLAGS"
 CXXFLAGS=
 echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:11795: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:12169: checking whether ${CXX-g++} accepts -g" >&5
 
 echo 'void f(){}' > conftest.cc
 if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
@@ -11819,57 +12193,6 @@ else
   fi
 fi
 
-for ac_declaration in \
-   ''\
-   '#include <stdlib.h>' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat > conftest.$ac_ext <<EOF
-#line 11833 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-$ac_declaration
-int main() {
-exit (42);
-; return 0; }
-EOF
-if { (eval echo configure:11841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  :
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  continue
-fi
-rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#line 11851 "configure"
-#include "confdefs.h"
-$ac_declaration
-int main() {
-exit (42);
-; return 0; }
-EOF
-if { (eval echo configure:11858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  break
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
-done
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-
 else
 	CXX=
 	CXXFLAGS=
@@ -11883,7 +12206,7 @@ fi
 
 
 echo $ac_n "checking whether to use openDWG""... $ac_c" 1>&6
-echo "configure:11887: checking whether to use openDWG" >&5
+echo "configure:12210: checking whether to use openDWG" >&5
 echo "$ac_t"""$with_opendwg"" 1>&6
 case "$with_opendwg" in
 	"no")	USE_OPENDWG=	;;
@@ -11903,7 +12226,7 @@ if test -n "${USE_OPENDWG}"; then
 
 
 echo $ac_n "checking for location of openDGW includes""... $ac_c" 1>&6
-echo "configure:11907: checking for location of openDGW includes" >&5
+echo "configure:12230: checking for location of openDGW includes" >&5
 case "$with_opendwg_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opendwg-includes." 1>&2; exit 1; }
@@ -11929,15 +12252,15 @@ for ac_hdr in ad2.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11933: checking for $ac_hdr" >&5
+echo "configure:12256: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11936 "configure"
+#line 12259 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11941: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12264: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11971,7 +12294,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of openDWG library""... $ac_c" 1>&6
-echo "configure:11975: checking for location of openDWG library" >&5
+echo "configure:12298: checking for location of openDWG library" >&5
 case "$with_opendwg_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opendwg-libs." 1>&2; exit 1; }
@@ -12012,7 +12335,7 @@ fi # $USE_OPENDWG
 
 
 echo $ac_n "checking whether to use POSIX threads""... $ac_c" 1>&6
-echo "configure:12016: checking whether to use POSIX threads" >&5
+echo "configure:12339: checking whether to use POSIX threads" >&5
 echo "$ac_t"""$with_pthread"" 1>&6
 case "$with_pthread" in
 	"no")	USE_PTHREAD=	;;
@@ -12032,7 +12355,7 @@ if test -n "$USE_PTHREAD"; then
 
 
 echo $ac_n "checking for location of POSIX threads includes""... $ac_c" 1>&6
-echo "configure:12036: checking for location of POSIX threads includes" >&5
+echo "configure:12359: checking for location of POSIX threads includes" >&5
 case "$with_pthread_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-pthread-includes." 1>&2; exit 1; }
@@ -12058,15 +12381,15 @@ for ac_hdr in pthread.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:12062: checking for $ac_hdr" >&5
+echo "configure:12385: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 12065 "configure"
+#line 12388 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12393: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -12100,7 +12423,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of POSIX threads library""... $ac_c" 1>&6
-echo "configure:12104: checking for location of POSIX threads library" >&5
+echo "configure:12427: checking for location of POSIX threads library" >&5
 case "$with_pthread_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-pthread-libs." 1>&2; exit 1; }
@@ -12125,10 +12448,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS="  $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for pthread_create""... $ac_c" 1>&6
-echo "configure:12129: checking for pthread_create" >&5
+echo "configure:12452: checking for pthread_create" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 12132 "configure"
+#line 12455 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char pthread_create(); below.  */
@@ -12151,7 +12474,7 @@ pthread_create();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_pthread_create=yes"
 else
@@ -12178,13 +12501,13 @@ LDFLAGS="$PTHREADLIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
-echo "configure:12182: checking for pthread_create in -lpthread" >&5
+echo "configure:12505: checking for pthread_create in -lpthread" >&5
 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lpthread  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 12188 "configure"
+#line 12511 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -12195,7 +12518,7 @@ int main() {
 pthread_create()
 ; return 0; }
 EOF
-if { (eval echo configure:12199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -12245,7 +12568,7 @@ fi # $USE_PTHREAD
 
 
 echo $ac_n "checking whether to use OpenMP""... $ac_c" 1>&6
-echo "configure:12249: checking whether to use OpenMP" >&5
+echo "configure:12572: checking whether to use OpenMP" >&5
 echo "$ac_t"""$with_openmp"" 1>&6
 case "$with_openmp" in
 	"no")	USE_OPENMP=	;;
@@ -12266,7 +12589,7 @@ if test -n "$USE_OPENMP"; then
 
 
 echo $ac_n "checking for location of OpenMP includes""... $ac_c" 1>&6
-echo "configure:12270: checking for location of OpenMP includes" >&5
+echo "configure:12593: checking for location of OpenMP includes" >&5
 case "$with_openmp_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-openmp-includes." 1>&2; exit 1; }
@@ -12292,15 +12615,15 @@ for ac_hdr in omp.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:12296: checking for $ac_hdr" >&5
+echo "configure:12619: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 12299 "configure"
+#line 12622 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12304: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12627: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -12338,7 +12661,7 @@ CPPFLAGS=$ac_save_cppflags
 
 
 echo $ac_n "checking for location of OpenMP library""... $ac_c" 1>&6
-echo "configure:12342: checking for location of OpenMP library" >&5
+echo "configure:12665: checking for location of OpenMP library" >&5
 case "$with_openmp_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-openmp-libs." 1>&2; exit 1; }
@@ -12363,10 +12686,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS="  $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for GOMP_parallel_start""... $ac_c" 1>&6
-echo "configure:12367: checking for GOMP_parallel_start" >&5
+echo "configure:12690: checking for GOMP_parallel_start" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 12370 "configure"
+#line 12693 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char GOMP_parallel_start(); below.  */
@@ -12389,7 +12712,7 @@ GOMP_parallel_start();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_GOMP_parallel_start=yes"
 else
@@ -12416,13 +12739,13 @@ LDFLAGS="$OMPLIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for GOMP_parallel_start in -lgomp""... $ac_c" 1>&6
-echo "configure:12420: checking for GOMP_parallel_start in -lgomp" >&5
+echo "configure:12743: checking for GOMP_parallel_start in -lgomp" >&5
 ac_lib_var=`echo gomp'_'GOMP_parallel_start | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lgomp  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 12426 "configure"
+#line 12749 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -12433,7 +12756,7 @@ int main() {
 GOMP_parallel_start()
 ; return 0; }
 EOF
-if { (eval echo configure:12437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -12506,7 +12829,7 @@ fi # $USE_OPENMP
 
 
 echo $ac_n "checking whether to use OpenCL""... $ac_c" 1>&6
-echo "configure:12510: checking whether to use OpenCL" >&5
+echo "configure:12833: checking whether to use OpenCL" >&5
 echo "$ac_t"""$with_opencl"" 1>&6
 case "$with_opencl" in
 	"no")	USE_OPENCL=	;;
@@ -12526,7 +12849,7 @@ if test -n "$USE_OPENCL"; then
 
 
 echo $ac_n "checking for location of OpenCL includes""... $ac_c" 1>&6
-echo "configure:12530: checking for location of OpenCL includes" >&5
+echo "configure:12853: checking for location of OpenCL includes" >&5
 case "$with_opencl_includes" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opencl-includes." 1>&2; exit 1; }
@@ -12553,15 +12876,15 @@ for ac_hdr in OpenCL/opencl.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:12557: checking for $ac_hdr" >&5
+echo "configure:12880: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 12560 "configure"
+#line 12883 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12565: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12888: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -12601,10 +12924,10 @@ ac_save_ldflags="$LDFLAGS"
 LIBS="-framework OpenCL  $LIBS"
 LDFLAGS=" $LDFLAGS"
 echo $ac_n "checking for clGetPlatformInfo""... $ac_c" 1>&6
-echo "configure:12605: checking for clGetPlatformInfo" >&5
+echo "configure:12928: checking for clGetPlatformInfo" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 12608 "configure"
+#line 12931 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char clGetPlatformInfo(); below.  */
@@ -12627,7 +12950,7 @@ clGetPlatformInfo();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_clGetPlatformInfo=yes"
 else
@@ -12666,15 +12989,15 @@ for ac_hdr in CL/cl.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:12670: checking for $ac_hdr" >&5
+echo "configure:12993: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 12673 "configure"
+#line 12996 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12678: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13001: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -12707,7 +13030,7 @@ CPPFLAGS=$ac_save_cppflags
     # With OpenCL library directory
     
 echo $ac_n "checking for location of OpenCL library""... $ac_c" 1>&6
-echo "configure:12711: checking for location of OpenCL library" >&5
+echo "configure:13034: checking for location of OpenCL library" >&5
 case "$with_opencl_libs" in
 y | ye | yes | n | no)
 	{ echo "configure: error: *** You must supply a directory to --with-opencl-libs." 1>&2; exit 1; }
@@ -12731,13 +13054,13 @@ LDFLAGS="$OCLLIBPATH $LDFLAGS"
 
 
 echo $ac_n "checking for clGetPlatformInfo in -lOpenCL""... $ac_c" 1>&6
-echo "configure:12735: checking for clGetPlatformInfo in -lOpenCL" >&5
+echo "configure:13058: checking for clGetPlatformInfo in -lOpenCL" >&5
 ac_lib_var=`echo OpenCL'_'clGetPlatformInfo | sed 'y%./+-%__p_%'`
 
 ac_save_LIBS="$LIBS"
 LIBS="-lOpenCL  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 12741 "configure"
+#line 13064 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -12748,7 +13071,7 @@ int main() {
 clGetPlatformInfo()
 ; return 0; }
 EOF
-if { (eval echo configure:12752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -12808,7 +13131,7 @@ fi
      fi
 
      echo $ac_n "checking for special C compiler options needed for large files""... $ac_c" 1>&6
-echo "configure:12812: checking for special C compiler options needed for large files" >&5
+echo "configure:13135: checking for special C compiler options needed for large files" >&5
 
 ac_cv_sys_largefile_CC=no
         largefile_cc_opt=""
@@ -12816,7 +13139,7 @@ ac_cv_sys_largefile_CC=no
 	  # IRIX 6.2 and later do not support large files by default,
 	  # so use the C compiler's -n32 option if that helps.
 	  cat > conftest.$ac_ext <<EOF
-#line 12820 "configure"
+#line 13143 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
     /* Check that off_t can represent 2**63 - 1 correctly.
@@ -12832,7 +13155,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12836: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -12841,7 +13164,7 @@ else
   ac_save_CC="${CC-cc}"
 	     CC="$CC -n32"
 	     cat > conftest.$ac_ext <<EOF
-#line 12845 "configure"
+#line 13168 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
     /* Check that off_t can represent 2**63 - 1 correctly.
@@ -12857,7 +13180,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12861: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_sys_largefile_CC=' -n32'
 else
@@ -12884,11 +13207,11 @@ echo "$ac_t""$ac_cv_sys_largefile_CC" 1>&6
      fi
 
      echo $ac_n "checking for _FILE_OFFSET_BITS value needed for large files""... $ac_c" 1>&6
-echo "configure:12888: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+echo "configure:13211: checking for _FILE_OFFSET_BITS value needed for large files" >&5
 
 ac_cv_sys_file_offset_bits=no
       cat > conftest.$ac_ext <<EOF
-#line 12892 "configure"
+#line 13215 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
     /* Check that off_t can represent 2**63 - 1 correctly.
@@ -12904,14 +13227,14 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12908: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13231: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 12915 "configure"
+#line 13238 "configure"
 #include "confdefs.h"
 #define _FILE_OFFSET_BITS 64
 #include <sys/types.h>
@@ -12929,7 +13252,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_sys_file_offset_bits=64
 else
@@ -12955,11 +13278,11 @@ EOF
 
    fi
      echo $ac_n "checking for _LARGE_FILES value needed for large files""... $ac_c" 1>&6
-echo "configure:12959: checking for _LARGE_FILES value needed for large files" >&5
+echo "configure:13282: checking for _LARGE_FILES value needed for large files" >&5
 
 ac_cv_sys_large_files=no
       cat > conftest.$ac_ext <<EOF
-#line 12963 "configure"
+#line 13286 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
     /* Check that off_t can represent 2**63 - 1 correctly.
@@ -12975,14 +13298,14 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 12986 "configure"
+#line 13309 "configure"
 #include "confdefs.h"
 #define _LARGE_FILES 1
 #include <sys/types.h>
@@ -13000,7 +13323,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:13004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13327: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_sys_large_files=1
 else
@@ -13026,25 +13349,25 @@ EOF
 
    fi
      echo $ac_n "checking for _LARGEFILE_SOURCE value needed for large files""... $ac_c" 1>&6
-echo "configure:13030: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+echo "configure:13353: checking for _LARGEFILE_SOURCE value needed for large files" >&5
 
 ac_cv_sys_largefile_source=no
       cat > conftest.$ac_ext <<EOF
-#line 13034 "configure"
+#line 13357 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 return !fseeko;
 ; return 0; }
 EOF
-if { (eval echo configure:13041: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 13048 "configure"
+#line 13371 "configure"
 #include "confdefs.h"
 #define _LARGEFILE_SOURCE 1
 #include <stdio.h>
@@ -13053,7 +13376,7 @@ int main() {
 return !fseeko;
 ; return 0; }
 EOF
-if { (eval echo configure:13057: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13380: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_sys_largefile_source=1
 else
@@ -13085,25 +13408,25 @@ EOF
 ac_save_cflags=${CFLAGS}
 CFLAGS="$LFS_CFLAGS ${ac_save_cflags}"
 echo $ac_n "checking for _LARGEFILE_SOURCE value needed for large files""... $ac_c" 1>&6
-echo "configure:13089: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+echo "configure:13412: checking for _LARGEFILE_SOURCE value needed for large files" >&5
 
 ac_cv_sys_largefile_source=no
       cat > conftest.$ac_ext <<EOF
-#line 13093 "configure"
+#line 13416 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 return !fseeko;
 ; return 0; }
 EOF
-if { (eval echo configure:13100: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13423: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 13107 "configure"
+#line 13430 "configure"
 #include "confdefs.h"
 #define _LARGEFILE_SOURCE 1
 #include <stdio.h>
@@ -13112,7 +13435,7 @@ int main() {
 return !fseeko;
 ; return 0; }
 EOF
-if { (eval echo configure:13116: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13439: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_sys_largefile_source=1
 else
@@ -13142,18 +13465,18 @@ EOF
    # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
 
    echo $ac_n "checking for fseeko""... $ac_c" 1>&6
-echo "configure:13146: checking for fseeko" >&5
+echo "configure:13469: checking for fseeko" >&5
 
 ac_cv_func_fseeko=no
       cat > conftest.$ac_ext <<EOF
-#line 13150 "configure"
+#line 13473 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 return fseeko && fseeko (stdin, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:13157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_fseeko=yes
 else
@@ -13170,10 +13493,10 @@ EOF
 
    fi
 echo $ac_n "checking if system supports Large Files at all""... $ac_c" 1>&6
-echo "configure:13174: checking if system supports Large Files at all" >&5
+echo "configure:13497: checking if system supports Large Files at all" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 13177 "configure"
+#line 13500 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <sys/types.h>
@@ -13205,7 +13528,7 @@ return !ftello;
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:13209: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13532: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_largefiles=yes
 else
@@ -13233,177 +13556,6 @@ EOF
 CFLAGS=${ac_save_cflags}
 # Done large file support
 
-# Enable wxWidgets support (for wxGUI)
-
-echo $ac_n "checking whether to use wxWidgets""... $ac_c" 1>&6
-echo "configure:13240: checking whether to use wxWidgets" >&5
-
-WXVERSION=
-WXWIDGETSCXXFLAGS= 
-WXWIDGETSCPPFLAGS=  
-WXWIDGETSLIB=  
-USE_WXWIDGETS=
-MACOSX_ARCHS_WXPYTHON=
-
-if test "$with_wxwidgets" = "no" ; then
-  echo "$ac_t""no" 1>&6
-else
-  echo "$ac_t""yes" 1>&6
-  USE_WXWIDGETS="1"
-  if test "$with_wxwidgets" != "yes" ; then
-    WX_CONFIG="$with_wxwidgets"
-  fi
-
-  # Extract the first word of "wx-config", so it can be a program name with args.
-set dummy wx-config; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13261: checking for $ac_word" >&5
-
-case "$WX_CONFIG" in
-  /*)
-  ac_cv_path_WX_CONFIG="$WX_CONFIG" # Let the user override the test with a path.
-  ;;
-  ?:/*)			 
-  ac_cv_path_WX_CONFIG="$WX_CONFIG" # Let the user override the test with a dos path.
-  ;;
-  *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do 
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_path_WX_CONFIG="$ac_dir/$ac_word"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_WX_CONFIG" && ac_cv_path_WX_CONFIG="no"
-  ;;
-esac
-WX_CONFIG="$ac_cv_path_WX_CONFIG"
-if test -n "$WX_CONFIG"; then
-  echo "$ac_t""$WX_CONFIG" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-  if test "$WX_CONFIG" = "no" ; then
-    { echo "configure: error: *** couldn't find wx-config
-
-  	  	  wxWidgets must be installed on your system.
-  
-                  Please check that wx-config is in path, the directory
-                  where wxWidgets libraries are installed (returned by
-                  'wx-config --libs' or 'wx-config --static --libs' command)
-                  is in LD_LIBRARY_PATH or equivalent variable and
-                  wxWidgets version is 2.8.1 or above." 1>&2; exit 1; }
- fi
-
- # Check wxWidgets version
-
- REQWX="2.8.1"
-
- echo $ac_n "checking wxWidgets version""... $ac_c" 1>&6
-echo "configure:13309: checking wxWidgets version" >&5
- if WXVERSION=`"$WX_CONFIG" --version`; then
-   echo "$ac_t""$WXVERSION" 1>&6
- else
-   echo "$ac_t""not found" 1>&6
-   { echo "configure: error: wxWidgets is required." 1>&2; exit 1; }
- fi
- if test `expr "$WXVERSION" \< "$REQWX"` = 1 ; then
-   { echo "configure: error: *** wxWidgets "$REQWX" or later is required." 1>&2; exit 1; }
- fi
-
- # With wxWidgets includes directory 
-
- WXWIDGETSCXXFLAGS=`"$WX_CONFIG" --cxxflags`
- WXWIDGETSCPPFLAGS=`"$WX_CONFIG" --cppflags`
-
- 
-ac_save_cppflags="$CPPFLAGS"
-CPPFLAGS="$WXWIDGETSCPPFLAGS $CPPFLAGS"
-for ac_hdr in wx/wxprec.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13332: checking for $ac_hdr" >&5
-
-cat > conftest.$ac_ext <<EOF
-#line 13335 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13340: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
- 
-else
-  echo "$ac_t""no" 1>&6
-{ echo "configure: error: *** Unable to locate wxWidgets includes." 1>&2; exit 1; }
-
-fi
-done
-
-CPPFLAGS=$ac_save_cppflags
- 
-
- # With wxWidgets library directory 
-
- WXWIDGETSLIB=`"$WX_CONFIG" --libs`
-
- # shouldn't have arch flags in C/LD flags on OSX
- for a in i386 ppc x86_64 ppc64
- do
-   WXWIDGETSCXXFLAGS=`echo "$WXWIDGETSCXXFLAGS" | sed "s/-arch  *$a//g"`
-   WXWIDGETSCPPFLAGS=`echo "$WXWIDGETSCPPFLAGS" | sed "s/-arch  *$a//g"`
-   WXWIDGETSLIB=`echo "$WXWIDGETSLIB" | sed "s/-arch  *$a//g"`
- done
-
-  # check for available OSX archs in wxPython
-  if test -n "$MACOSX_ARCHS" ; then
-    wxver=`"$WX_CONFIG" --version`
-    wxlib=`"$WX_CONFIG" --prefix`/lib/lib`"$WX_CONFIG" --basename`-`echo "$wxver" | cut -d . -f1,2`.dylib
-    wxlibinfo=`file "$wxlib"`
-    for a in i386 ppc x86_64 ppc64
-    do
-      # add only if in MACOSX_ARCHS
-      if test -n "`echo \"$wxlibinfo\" | grep \"library $a\"`" ; then
-        if test -n "`echo \"$MACOSX_ARCHS\" | grep $a`" ; then
-          MACOSX_ARCHS_WXPYTHON="$MACOSX_ARCHS_WXPYTHON -arch $a"
-        fi
-      fi
-    done
-  fi
-fi # $USE_WXWIDGETS
-
- 
-
- 
- 
- 
-
-
-# Done checking wxWidgets
-
 USE_TERMIO=
 
 
@@ -13571,6 +13723,9 @@ s%@HAVE_SOCKET@%$HAVE_SOCKET%g
 s%@ZLIBINCPATH@%$ZLIBINCPATH%g
 s%@ZLIBLIBPATH@%$ZLIBLIBPATH%g
 s%@ZLIB@%$ZLIB%g
+s%@BZLIBINCPATH@%$BZLIBINCPATH%g
+s%@BZLIBLIBPATH@%$BZLIBLIBPATH%g
+s%@BZLIB@%$BZLIB%g
 s%@PROJINC@%$PROJINC%g
 s%@PROJLIB@%$PROJLIB%g
 s%@PROJSHARE@%$PROJSHARE%g
@@ -13593,6 +13748,11 @@ s%@LIBLAS_LIBS@%$LIBLAS_LIBS%g
 s%@LIBLAS_CFLAGS@%$LIBLAS_CFLAGS%g
 s%@LIBLAS_INC@%$LIBLAS_INC%g
 s%@USE_LIBLAS@%$USE_LIBLAS%g
+s%@PDAL_CONFIG@%$PDAL_CONFIG%g
+s%@PDAL_LIBS@%$PDAL_LIBS%g
+s%@PDAL_CPPFLAGS@%$PDAL_CPPFLAGS%g
+s%@PDAL_INC@%$PDAL_INC%g
+s%@USE_PDAL@%$USE_PDAL%g
 s%@NETCDF_CONFIG@%$NETCDF_CONFIG%g
 s%@NETCDF_LIBS@%$NETCDF_LIBS%g
 s%@NETCDF_CFLAGS@%$NETCDF_CFLAGS%g
@@ -13665,13 +13825,6 @@ s%@OCLLIB@%$OCLLIB%g
 s%@USE_OPENCL@%$USE_OPENCL%g
 s%@USE_LARGEFILES@%$USE_LARGEFILES%g
 s%@LFS_CFLAGS@%$LFS_CFLAGS%g
-s%@WX_CONFIG@%$WX_CONFIG%g
-s%@WXVERSION@%$WXVERSION%g
-s%@WXWIDGETSCXXFLAGS@%$WXWIDGETSCXXFLAGS%g
-s%@WXWIDGETSCPPFLAGS@%$WXWIDGETSCPPFLAGS%g
-s%@WXWIDGETSLIB@%$WXWIDGETSLIB%g
-s%@USE_WXWIDGETS@%$USE_WXWIDGETS%g
-s%@MACOSX_ARCHS_WXPYTHON@%$MACOSX_ARCHS_WXPYTHON%g
 s%@USE_TERMIO@%$USE_TERMIO%g
 s%@STRIPFLAG@%$STRIPFLAG%g
 s%@GRASS_HOME@%$GRASS_HOME%g
@@ -13952,6 +14105,8 @@ echo ""
 
 echo "  BLAS support:               `if test -n "${USE_BLAS}" ; then echo yes ; else echo no ; fi`"
 
+echo "  BZIP2 support:              `if test -n "${USE_BZIP2}" ; then echo yes ; else echo no ; fi`"
+
 echo "  C++ support:                `if test -n "${USE_CXX}" ; then echo yes ; else echo no ; fi`"
 
 echo "  Cairo support:              `if test -n "${USE_CAIRO}" ; then echo yes ; else echo no ; fi`"
@@ -13988,6 +14143,8 @@ echo "  OpenGL support:             `if test -n "${USE_OPENGL}" ; then echo yes
 
 echo "  OpenMP support:             `if test -n "${USE_OPENMP}" ; then echo yes ; else echo no ; fi`"
 
+echo "  PDAL support:               `if test -n "${USE_PDAL}" ; then echo yes ; else echo no ; fi`"
+
 echo "  PNG support:                `if test -n "${USE_PNG}" ; then echo yes ; else echo no ; fi`"
 
 echo "  POSIX thread support:       `if test -n "${USE_PTHREAD}" ; then echo yes ; else echo no ; fi`"
@@ -14002,8 +14159,6 @@ echo "  SQLite support:             `if test -n "${USE_SQLITE}" ; then echo yes
 
 echo "  TIFF support:               `if test -n "${USE_TIFF}" ; then echo yes ; else echo no ; fi`"
 
-echo "  wxWidgets support:          `if test -n "${USE_WXWIDGETS}" ; then echo yes ; else echo no ; fi`"
-
 echo "  X11 support:                `if test -n "${USE_X11}" ; then echo yes ; else echo no ; fi`"
 
 echo ""
diff --git a/configure.in b/configure.in
index c338c96..575f62b 100644
--- a/configure.in
+++ b/configure.in
@@ -126,12 +126,14 @@ changequote(,)
 LIB_VER=`echo ${GRASS_VERSION_NUMBER} | sed 's/^\([0-9.]*\).*$/\1/'`
 changequote([,])
 
-GRASS_VERSION_SVN=00000
+GRASS_VERSION_SVN="exported"
 AC_PATH_PROG(SVN_VERSION, svnversion, no)
 if test "$SVN_VERSION" != "no" ; then
    GRASS_VERSION_SVN=`$SVN_VERSION -c | cut -f2 -d:`
    if test "$GRASS_VERSION_SVN" = "exported" -o "$GRASS_VERSION_SVN" = "Unversioned directory" ; then
-      GRASS_VERSION_SVN=00000
+      GRASS_VERSION_SVN="exported"
+   else
+      GRASS_VERSION_SVN="r$GRASS_VERSION_SVN"
    fi
 fi
 
@@ -265,6 +267,7 @@ LOC_ARG_WITH(regex, regex)
 LOC_ARG_WITH(pthread, POSIX threads, no)
 LOC_ARG_WITH(openmp, OpenMP, no)
 LOC_ARG_WITH(opencl, OpenCL, no)
+LOC_ARG_WITH(bzlib, BZIP2, no)
 
 AC_ARG_WITH(gdal,
 [  --with-gdal[=path/gdal-config]
@@ -277,6 +280,12 @@ AC_ARG_WITH(liblas,
                           e.g. '--with-liblas=/usr/local/bin/liblas-config',
                           default: no)],, with_liblas="no")
 
+AC_ARG_WITH(pdal,
+[  --with-pdal[=path/pdal-config]
+                          enable PDAL support (pdal-config with path,
+                          e.g. '--with-pdal=/usr/local/bin/pdal-config',
+                          default: no)],, with_pdal="no")
+
 AC_ARG_WITH(wxwidgets,
 [  --with-wxwidgets[=path/wx-config]
                           enable wxWidgets support (wx-config with path,
@@ -306,6 +315,9 @@ AC_ARG_WITH(libs,
 LOC_ARG_WITH_INC(zlib, zlib)
 LOC_ARG_WITH_LIB(zlib, zlib)
 
+LOC_ARG_WITH_INC(bzlib, BZIP2)
+LOC_ARG_WITH_LIB(bzlib, BZIP2)
+
 LOC_ARG_WITH_INC(readline, Readline)
 LOC_ARG_WITH_LIB(readline, Readline)
 
@@ -586,6 +598,38 @@ AC_SUBST(ZLIB)
 
 # Done checking zlib
 
+# bzip2 support
+
+LOC_CHECK_USE(bzlib,bzlib,USE_BZIP2)
+
+if test -n "$USE_BZIP2"; then
+
+BZLIBLIBPATH=
+BZLIBINCPATH=
+BZLIB=
+
+# With bzip2 includes directory
+
+LOC_CHECK_INC_PATH(bzlib,bzlib,BZLIBINCPATH)
+
+LOC_CHECK_INCLUDES(bzlib.h,bzlib,$BZLIBINCPATH)
+
+# With bzip2 library directory
+
+LOC_CHECK_LIB_PATH(bzlib,bzlib,BZLIBLIBPATH)
+
+LOC_CHECK_LIBS(bz2,BZ2_bzBuffToBuffCompress,bzlib,$BZLIBLIBPATH,BZLIB,,,)
+
+#
+
+fi # $USE_BZIP2
+
+AC_SUBST(BZLIBINCPATH)
+AC_SUBST(BZLIBLIBPATH)
+AC_SUBST(BZLIB)
+
+# Done checking bzip2
+
 # Mandatory PROJ dependency
 
 PROJINC=
@@ -823,6 +867,69 @@ AC_SUBST(LIBLAS_CFLAGS)
 AC_SUBST(LIBLAS_INC)
 AC_SUBST(USE_LIBLAS)
 
+# PDAL option
+
+AC_MSG_CHECKING(whether to use PDAL)
+
+# new and currently used way to switch language to C++
+# AC_LANG_PUSH(C++)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+PDAL_LIBS=
+PDAL_CPPFLAGS=
+USE_PDAL=
+
+if test "`basename xx/$with_pdal`" = "pdal-config" ; then
+  PDAL_CONFIG="$with_pdal"
+fi
+
+if test "$with_pdal" = "no" ; then
+  AC_MSG_RESULT(no)
+else
+  AC_MSG_RESULT(yes)
+  AC_PATH_PROG(PDAL_CONFIG, pdal-config, no)
+
+  if test "$PDAL_CONFIG" = "no" ; then
+    AC_MSG_ERROR([*** could not find pdal-config])
+  fi
+
+  if test "$PDAL_CONFIG" != "" ; then
+    PDAL_LIBS=`"$PDAL_CONFIG" --libs`
+    PDAL_CPPFLAGS=`"$PDAL_CONFIG" --cxxflags`
+    PDAL_INC=`"$PDAL_CONFIG" --includes`
+    USE_PDAL=1
+  fi
+
+  PDAL=
+  ac_save_libs="$LIBS"
+  ac_save_cflags="$CFLAGS"
+  ac_save_cppflags="$CPPFLAGS"
+  LIBS="$LIBS $PDAL_LIBS"
+  CFLAGS="$CFLAGS $PDAL_CFLAGS"
+  CPPFLAGS="$CPPFLAGS $PDAL_CPPFLAGS $PDAL_INC"
+  AC_TRY_LINK([#include <pdal/PointTable.hpp>],[pdal::PointTable table;],,[
+  AC_TRY_LINK([#include <pdal/PointTable.hpp>],[pdal::PointTable table;],PDAL_LIBS="$PDAL_LIBS",[
+  AC_MSG_ERROR([*** Unable to locate PDAL library.])
+  ])
+  ])
+  LIBS=${ac_save_libs}
+  CFLAGS=${ac_save_cflags}
+  CPPFLAGS=${ac_save_cppflags}
+
+  AC_DEFINE(HAVE_PDAL)
+fi
+
+AC_SUBST(PDAL_LIBS)
+AC_SUBST(PDAL_CPPFLAGS)
+AC_SUBST(PDAL_INC)
+AC_SUBST(USE_PDAL)
+
+# new and currently used way to switch language back to C
+# AC_LANG_POP(C++)
+AC_LANG_C
+AC_LANG_RESTORE
+
 # NetCDF option
 
 AC_MSG_CHECKING(whether to use NetCDF)
@@ -1768,100 +1875,6 @@ AC_HAVE_LARGEFILES
 CFLAGS=${ac_save_cflags}
 # Done large file support
 
-# Enable wxWidgets support (for wxGUI)
-
-AC_MSG_CHECKING(whether to use wxWidgets)
-
-WXVERSION=
-WXWIDGETSCXXFLAGS= 
-WXWIDGETSCPPFLAGS=  
-WXWIDGETSLIB=  
-USE_WXWIDGETS=
-MACOSX_ARCHS_WXPYTHON=
-
-if test "$with_wxwidgets" = "no" ; then
-  AC_MSG_RESULT(no)
-else
-  AC_MSG_RESULT(yes)
-  USE_WXWIDGETS="1"
-  if test "$with_wxwidgets" != "yes" ; then
-    WX_CONFIG="$with_wxwidgets"
-  fi
-
-  AC_PATH_PROG(WX_CONFIG, wx-config, no)
-
-  if test "$WX_CONFIG" = "no" ; then
-    AC_MSG_ERROR([*** couldn't find wx-config
-
-  	  	  wxWidgets must be installed on your system.
-  
-                  Please check that wx-config is in path, the directory
-                  where wxWidgets libraries are installed (returned by
-                  'wx-config --libs' or 'wx-config --static --libs' command)
-                  is in LD_LIBRARY_PATH or equivalent variable and
-                  wxWidgets version is 2.8.1 or above.])
- fi
-
- # Check wxWidgets version
-
- REQWX="2.8.1"
-
- AC_MSG_CHECKING([wxWidgets version])
- if WXVERSION=`"$WX_CONFIG" --version`; then
-   AC_MSG_RESULT([$WXVERSION])
- else
-   AC_MSG_RESULT([not found])
-   AC_MSG_ERROR([wxWidgets is required.])
- fi
- if test `expr "$WXVERSION" \< "$REQWX"` = 1 ; then
-   AC_MSG_ERROR([*** wxWidgets "$REQWX" or later is required.])
- fi
-
- # With wxWidgets includes directory 
-
- WXWIDGETSCXXFLAGS=`"$WX_CONFIG" --cxxflags`
- WXWIDGETSCPPFLAGS=`"$WX_CONFIG" --cppflags`
-
- LOC_CHECK_INCLUDES(wx/wxprec.h,wxWidgets,$WXWIDGETSCPPFLAGS) 
-
- # With wxWidgets library directory 
-
- WXWIDGETSLIB=`"$WX_CONFIG" --libs`
-
- # shouldn't have arch flags in C/LD flags on OSX
- for a in i386 ppc x86_64 ppc64
- do
-   WXWIDGETSCXXFLAGS=`echo "$WXWIDGETSCXXFLAGS" | sed "s/-arch  *$a//g"`
-   WXWIDGETSCPPFLAGS=`echo "$WXWIDGETSCPPFLAGS" | sed "s/-arch  *$a//g"`
-   WXWIDGETSLIB=`echo "$WXWIDGETSLIB" | sed "s/-arch  *$a//g"`
- done
-
-  # check for available OSX archs in wxPython
-  if test -n "$MACOSX_ARCHS" ; then
-    wxver=`"$WX_CONFIG" --version`
-    wxlib=`"$WX_CONFIG" --prefix`/lib/lib`"$WX_CONFIG" --basename`-`echo "$wxver" | cut -d . -f1,2`.dylib
-    wxlibinfo=`file "$wxlib"`
-    for a in i386 ppc x86_64 ppc64
-    do
-      # add only if in MACOSX_ARCHS
-      if test -n "`echo \"$wxlibinfo\" | grep \"library $a\"`" ; then
-        if test -n "`echo \"$MACOSX_ARCHS\" | grep $a`" ; then
-          MACOSX_ARCHS_WXPYTHON="$MACOSX_ARCHS_WXPYTHON -arch $a"
-        fi
-      fi
-    done
-  fi
-fi # $USE_WXWIDGETS
-
-AC_SUBST(WXVERSION) 
-AC_SUBST(WXWIDGETSCXXFLAGS)
-AC_SUBST(WXWIDGETSCPPFLAGS) 
-AC_SUBST(WXWIDGETSLIB) 
-AC_SUBST(USE_WXWIDGETS) 
-AC_SUBST(MACOSX_ARCHS_WXPYTHON)
-
-# Done checking wxWidgets
-
 USE_TERMIO=
 AC_SUBST(USE_TERMIO)
 
@@ -1895,6 +1908,7 @@ LOC_MSG([  MacOSX architectures:       ${MACOSX_ARCHS}])
 LOC_MSG([  MacOSX SDK:                 ${MACOSX_SDK}])
 LOC_MSG()
 LOC_MSG_USE(BLAS support,USE_BLAS)
+LOC_MSG_USE(BZIP2 support,USE_BZIP2)
 LOC_MSG_USE(C++ support,USE_CXX)
 LOC_MSG_USE(Cairo support,USE_CAIRO)
 LOC_MSG_USE(DWG support,USE_OPENDWG)
@@ -1913,6 +1927,7 @@ LOC_MSG_USE(OGR support,USE_OGR)
 LOC_MSG_USE(OpenCL support,USE_OPENCL)
 LOC_MSG_USE(OpenGL support,USE_OPENGL)
 LOC_MSG_USE(OpenMP support,USE_OPENMP)
+LOC_MSG_USE(PDAL support,USE_PDAL)
 LOC_MSG_USE(PNG support,USE_PNG)
 LOC_MSG_USE(POSIX thread support,USE_PTHREAD)
 LOC_MSG_USE(PostgreSQL support,USE_POSTGRES)
@@ -1920,6 +1935,5 @@ LOC_MSG_USE(Readline support,USE_READLINE)
 LOC_MSG_USE(Regex support,USE_REGEX)
 LOC_MSG_USE(SQLite support,USE_SQLITE)
 LOC_MSG_USE(TIFF support,USE_TIFF)
-LOC_MSG_USE(wxWidgets support,USE_WXWIDGETS)
 LOC_MSG_USE(X11 support,USE_X11)
 LOC_MSG()
diff --git a/contributors_extra.csv b/contributors_extra.csv
index cdf52eb..6569b3b 100644
--- a/contributors_extra.csv
+++ b/contributors_extra.csv
@@ -34,6 +34,7 @@ Ralf Gerlich,<ralf gerlich at bsse.biz>,-,-
 Roberto Flor,<flor fbk.eu>,Italy,-
 Roger Bivand,<Roger Bivand nhh.no>,Norway,-
 Roger Miller,<rgrmill rt66.com>,-,-
+Tereza Fiedlerová,<tfiedlerova gmail.com>,Czech Republic,-
 Tomas Paudits,<tpaudits mailbox.sk>,Slovakia,-
 Trevor Wiens,<twiens interbaun.com>,-,-
 Veronica Andreo,<veroandreo gmail.com>,Argentina,-
diff --git a/db/db.columns/db.columns.html b/db/db.columns/db.columns.html
index d84a7ac..4251d51 100644
--- a/db/db.columns/db.columns.html
+++ b/db/db.columns/db.columns.html
@@ -57,4 +57,4 @@ db.columns driver=sqlite table=archsites database='$GISDBASE/$LOCATION_NAME/$MAP
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-28 01:57:47 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/db/db.connect/db.connect.html b/db/db.connect/db.connect.html
index 4683ccf..9683030 100644
--- a/db/db.connect/db.connect.html
+++ b/db/db.connect/db.connect.html
@@ -32,69 +32,70 @@ db.tables -p
 <p>The SQLite database file is created automatically when used the first time.
 
 
-<h3>ODBC</h3>
+<h3>PostgreSQL (local connection)</h3>
 
-Network storage, database tables stored in database "mydb"
+Local storage, database tables stored in database "mydb"
 (may require the use of <em><a href=db.login.html>db.login</a></em>):
-<br> 
+<br>
 <div class="code"><pre>
-db.connect driver=odbc database=mydb
-db.login user=myname [pass=secret]
+db.connect driver=pg database=mydb
+db.login user=myname pass=secret
 db.connect -p
 db.tables -p
 </pre></div>
 
 
-<h3>PostgreSQL</h3>
+<h3>PostgreSQL (network connection)</h3>
 
 Network storage, database tables stored in database "mydb"
 (may require the use of <em><a href=db.login.html>db.login</a></em>):
 <br>
 <div class="code"><pre>
-db.connect driver=pg database="host=myserver.itc.it,dbname=mydb"
-db.login user=myname [pass=secret]
+db.connect driver=pg database=mydb
+db.login user=myname pass=secret host=myserver.com port=6666
 db.connect -p
 db.tables -p
 </pre></div>
 
 
-<h3>PostgreSQL with different port</h3>
+<h3>MySQL (local connection)</h3>
 
-Network storage, database tables stored in database "mydb"
-(may require the use of <em><a href=db.login.html>db.login</a></em>):
+Local storage, database tables stored in database "mydb" (may require
+the use of <em><a href=db.login.html>db.login</a></em>):
 <br>
 <div class="code"><pre>
-db.connect driver=pg database="host=myserver.itc.it,dbname=mydb,port=6666"
-db.login user=myname [pass=secret]
+db.connect driver=mysql database=mydb
+db.login user=myname pass=secret
 db.connect -p
 db.tables -p
 </pre></div>
 
 
-<h3>MySQL (local connection)</h3>
+<h3>MySQL (network connection)</h3>
 
-Local storage (<em><a href=db.login.html>db.login</a></em> may not be needed):
+Network storage, database tables stored in database "mydb"
+(may require the use of <em><a href=db.login.html>db.login</a></em>):
 <br>
 <div class="code"><pre>
 db.connect driver=mysql database=mydb
-db.login user=myname [pass=secret]
+db.login user=myname pass=secret host=myserver.com
 db.connect -p
 db.tables -p
 </pre></div>
 
-
-<h3>MySQL (external server)</h3>
+<h3>ODBC</h3>
 
 Network storage, database tables stored in database "mydb"
 (may require the use of <em><a href=db.login.html>db.login</a></em>):
-<br>
+<br> 
 <div class="code"><pre>
-db.connect driver=mysql database="host=myserver.itc.it,dbname=mydb"
-db.login user=myname [pass=secret]
+db.connect driver=odbc database=mydb
+db.login user=myname pass=secret
 db.connect -p
 db.tables -p
 </pre></div>
 
+
 <h3>DBF (local, not recommended)</h3>
 
 Local storage (the dbf/ subdirectory in the mapset must exist or must be
@@ -126,4 +127,4 @@ Main author: Radim Blazek, ITC-Irst, Trento, Italy<br>
 GRASS 7 improvements: Martin Landa, Markus Metz
 
 <p>
-<i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2015-04-17 02:08:54 -0700 (Fri, 17 Apr 2015) $</i>
diff --git a/db/db.copy/db.copy.html b/db/db.copy/db.copy.html
index 419a0a8..a3844f3 100644
--- a/db/db.copy/db.copy.html
+++ b/db/db.copy/db.copy.html
@@ -79,4 +79,4 @@ db.copy from_driver=sqlite from_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlit
 
 Radim Blazek, ITC-irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-28 01:57:47 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/db/db.createdb/db.createdb.html b/db/db.createdb/db.createdb.html
index 77c844f..667809f 100644
--- a/db/db.createdb/db.createdb.html
+++ b/db/db.createdb/db.createdb.html
@@ -65,4 +65,4 @@ Radim Blazek, ITC-Irst, Trento, Italy<br>
 SQLite and PostgreSQL support by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-12-07 23:24:06 +0100 (Sun, 07 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-07 14:22:14 -0800 (Sun, 07 Dec 2014) $</i>
diff --git a/db/db.databases/db.databases.html b/db/db.databases/db.databases.html
index 04f7bd4..bd046da 100644
--- a/db/db.databases/db.databases.html
+++ b/db/db.databases/db.databases.html
@@ -55,4 +55,4 @@ Radim Blazek, ITC-Irst, Trento, Italy<br>
 Updated for GRASS 7 by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-12-07 23:24:06 +0100 (Sun, 07 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-07 14:22:14 -0800 (Sun, 07 Dec 2014) $</i>
diff --git a/db/db.describe/db.describe.html b/db/db.describe/db.describe.html
index 59d89e0..f2fa1c3 100644
--- a/db/db.describe/db.describe.html
+++ b/db/db.describe/db.describe.html
@@ -76,4 +76,4 @@ type:INTEGER
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-28 01:57:47 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/db/db.drivers/db.drivers.html b/db/db.drivers/db.drivers.html
index 5066dc1..4d7c490 100644
--- a/db/db.drivers/db.drivers.html
+++ b/db/db.drivers/db.drivers.html
@@ -31,4 +31,4 @@ dbf
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-28 01:57:47 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/db/db.dropdb/db.dropdb.html b/db/db.dropdb/db.dropdb.html
index 1d87b09..9779141 100644
--- a/db/db.dropdb/db.dropdb.html
+++ b/db/db.dropdb/db.dropdb.html
@@ -47,4 +47,4 @@ Radim Blazek, ITC-Irst, Trento, Italy<br>
 SQLite and PostgreSQL support by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-12-07 23:24:06 +0100 (Sun, 07 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-07 14:22:14 -0800 (Sun, 07 Dec 2014) $</i>
diff --git a/db/db.execute/db.execute.html b/db/db.execute/db.execute.html
index a5c7975..0e43036 100644
--- a/db/db.execute/db.execute.html
+++ b/db/db.execute/db.execute.html
@@ -111,4 +111,4 @@ db.execute sql="UPDATE extratab SET names=(SELECT label FROM myroads WHERE extra
 CERL
 
 <p>
-<i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 01:57:47 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/db/db.login/db.login.html b/db/db.login/db.login.html
index 869de81..24dbd37 100644
--- a/db/db.login/db.login.html
+++ b/db/db.login/db.login.html
@@ -1,12 +1,12 @@
 <h2>DESCRIPTION</h2>
 
 <em>db.login</em> sets login parameters such an user name and
-optionally also a password for the connection to
+optionally also a password, a hostname or a port for the connection to
 the selected <b>database</b> through the DB <b>driver</b>.
 
 <h2>NOTE</h2>
 
-This command is only related to SQL database
+Options <b>host</b> and <b>port</b> are related to only SQL database
 backends like <a href="grass-pg.html">PostgreSQL</a>,
 <a href="grass-mysql.html">MySQL</a> or <a href="grass-odbc.html">ODBC</a>.
 
@@ -31,16 +31,15 @@ db.login driver=pg database=mydb
 </pre></div>
 
 <p>
-Username and password specified (note that the command lines
+Username, password and hostname specified (note that the command lines
 history will store the password in this way):
 
 <div class="code"><pre>
-db.login user=bacava password=secret
+db.login driver=pg database=mydb user=bacava password=secret host=db.example.com
 </pre></div>
 
 <p>
-Username and empty password specified (note that the command
-lines history will store the password in this way):
+Username and empty password specified:
 
 <div class="code"><pre>
 db.login driver=pg database=mydb user=bacava password=""
@@ -60,7 +59,8 @@ db.login driver=pg database=mydb user=bacava password=""
 
 <h2>AUTHOR</h2>
 
-Radim Blazek
+Radim Blazek<br>
+Support for hostname and port by Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic (GRASS 7.1)
 
 <p>
-<i>Last changed: $Date: 2015-10-01 23:15:07 +0200 (Thu, 01 Oct 2015) $</i>
+<i>Last changed: $Date: 2015-10-01 14:06:38 -0700 (Thu, 01 Oct 2015) $</i>
diff --git a/db/db.login/main.c b/db/db.login/main.c
index 88b4103..6a345ef 100644
--- a/db/db.login/main.c
+++ b/db/db.login/main.c
@@ -6,7 +6,7 @@
  *               Glynn Clements <glynn gclements.plus.com>
  *               Markus Neteler <neteler itc.it>
  * PURPOSE:      Store db login settings
- * COPYRIGHT:    (C) 2004-2014 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2004-2015 by the GRASS Development Team
  *
  *               This program is free software under the GNU General
  *               Public License (>=v2). Read the file COPYING that
@@ -29,7 +29,7 @@
 
 int main(int argc, char *argv[])
 {
-    struct Option *driver, *database, *user, *password;
+    struct Option *driver, *database, *user, *password, *host, *port;
     struct Flag *print;
     struct GModule *module;
     
@@ -40,7 +40,8 @@ int main(int argc, char *argv[])
     G_add_keyword(_("database"));
     G_add_keyword(_("connection settings"));
     module->description = _("Sets user/password for DB driver/database.");
-
+    module->overwrite = TRUE;
+    
     driver = G_define_standard_option(G_OPT_DB_DRIVER);
     driver->options = db_list_drivers();
     driver->required = YES;
@@ -55,7 +56,7 @@ int main(int argc, char *argv[])
     user->type = TYPE_STRING;
     user->required = NO;
     user->multiple = NO;
-    user->description = _("Username to set for DB connection");
+    user->description = _("Username");
     user->guisection = _("Settings");
     
     password = G_define_option();
@@ -63,9 +64,27 @@ int main(int argc, char *argv[])
     password->type = TYPE_STRING;
     password->required = NO;
     password->multiple = NO;
-    password->description = _("Password to set for DB connection");
+    password->description = _("Password");
     password->guisection = _("Settings");
 
+    host = G_define_option();
+    host->key = "host";
+    host->type = TYPE_STRING;
+    host->required = NO;
+    host->multiple = NO;
+    host->label = _("Hostname");
+    host->description = _("Relevant only for pg and mysql driver");
+    host->guisection = _("Settings");
+
+    port = G_define_option();
+    port->key = "port";
+    port->type = TYPE_STRING;
+    port->required = NO;
+    port->multiple = NO;
+    port->label = _("Port");
+    port->description = _("Relevant only for pg and mysql driver");
+    port->guisection = _("Settings");
+
     print = G_define_flag();
     print->key = 'p';
     print->description = _("Print connection settings and exit");
@@ -80,13 +99,15 @@ int main(int argc, char *argv[])
         exit(EXIT_SUCCESS);
     }
 
-    if (db_set_login(driver->answer, database->answer, user->answer,
-                     password->answer) == DB_FAILED) {
+    if (db_set_login2(driver->answer, database->answer, user->answer,
+                      password->answer, host->answer, port->answer,
+                      G_get_overwrite()) == DB_FAILED) {
         G_fatal_error(_("Unable to set user/password"));
     }
     
     if (password->answer)
-	G_important_message(_("The password was stored in file (%s%cdblogin)"), G_config_path(), HOST_DIRSEP);
+	G_important_message(_("The password was stored in file (%s%cdblogin)"),
+                            G_config_path(), HOST_DIRSEP);
     
     exit(EXIT_SUCCESS);
 }
diff --git a/db/db.select/db.select.html b/db/db.select/db.select.html
index 022d4bd..38139bf 100644
--- a/db/db.select/db.select.html
+++ b/db/db.select/db.select.html
@@ -102,4 +102,4 @@ Modifications by Radim Blazek, ITC-Irst, Trento, Italy<br>
 Support for multiple statements by Martin Landa, Czech Technical University in Prague
 
 <p>
-<i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 01:57:47 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/db/db.tables/db.tables.html b/db/db.tables/db.tables.html
index 60627e9..1947dba 100644
--- a/db/db.tables/db.tables.html
+++ b/db/db.tables/db.tables.html
@@ -42,4 +42,4 @@ db.tables -p driver=sqlite database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sql
 
 Unknown
 
-<p><i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-28 01:57:47 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/db/drivers/dbf/grass-dbf.html b/db/drivers/dbf/grass-dbf.html
index c1459b5..e01a133 100644
--- a/db/drivers/dbf/grass-dbf.html
+++ b/db/drivers/dbf/grass-dbf.html
@@ -128,4 +128,4 @@ column names on the fly.
 </em>
 
 <p>
-<i>Last changed: $Date: 2014-04-20 19:54:31 +0200 (Sun, 20 Apr 2014) $</i>
+<i>Last changed: $Date: 2014-04-20 03:28:15 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/db/drivers/mysql/db.c b/db/drivers/mysql/db.c
index 2ea052f..6798739 100644
--- a/db/drivers/mysql/db.c
+++ b/db/drivers/mysql/db.c
@@ -37,7 +37,7 @@ int db__driver_open_database(dbHandle * handle)
 
     {
 	/* Client version */
-	const char *user, *password;
+        const char *user, *password, *host, *port;
 	CONNPAR connpar;
 
 	if (parse_conn(name, &connpar) == DB_FAILED) {
@@ -50,11 +50,11 @@ int db__driver_open_database(dbHandle * handle)
 		connpar.host, connpar.port, connpar.dbname,
 		connpar.user, connpar.password);
 
-	db_get_login("mysql", name, &user, &password);
+	db_get_login2("mysql", name, &user, &password, &host, &port);
 
 	connection = mysql_init(NULL);
-	res = mysql_real_connect(connection, connpar.host, user, password,
-				 connpar.dbname, connpar.port, NULL, 0);
+	res = mysql_real_connect(connection, host, user, password,
+				 connpar.dbname, port, NULL, 0);
 
 	if (res == NULL) {
 	    db_d_append_error("%s\n%s",
diff --git a/db/drivers/mysql/dbe.c b/db/drivers/mysql/dbe.c
index 5e27d9a..d71646f 100644
--- a/db/drivers/mysql/dbe.c
+++ b/db/drivers/mysql/dbe.c
@@ -43,7 +43,7 @@ int db__driver_open_database(dbHandle * handle)
 
 	if (!replace_variables(name, &datadir, &database)) {
 	    db_d_append_error(_("Unable parse MySQL embedded database name"));
-	    db_d_append_error(mysql_error(connection));
+	    db_d_append_error("%s", mysql_error(connection));
 	    db_d_report_error();
 	    return DB_FAILED;
 	}
@@ -59,7 +59,7 @@ int db__driver_open_database(dbHandle * handle)
 
 	if (mysql_server_init(4, server_args, NULL)) {
 	    db_d_append_error(_("Cannot initialize MySQL embedded server"));
-	    db_d_append_error(mysql_error(connection));
+	    db_d_append_error("%s", mysql_error(connection));
 	    db_d_report_error();
 	    free(datadir);
 	    free(database);
@@ -78,7 +78,7 @@ int db__driver_open_database(dbHandle * handle)
 
 	if (res == NULL) {
 	    db_d_append_error(_("Unable to connect to MySQL embedded server: "));
-	    db_d_append_error(mysql_error(connection));
+	    db_d_append_error("%s", mysql_error(connection));
 	    db_d_report_error();
 	    return DB_FAILED;
 	}
diff --git a/db/drivers/mysql/grass-mesql.html b/db/drivers/mysql/grass-mesql.html
index 98ef6f7..fe9b4aa 100644
--- a/db/drivers/mysql/grass-mesql.html
+++ b/db/drivers/mysql/grass-mesql.html
@@ -79,7 +79,7 @@ as part of a project for <a href="http://www.atac.roma.it/">ATAC</a>.
 Radim Blazek
 
 <p>
-<i>Last changed: $Date: 2014-04-20 19:54:31 +0200 (Sun, 20 Apr 2014) $</i>
+<i>Last changed: $Date: 2014-04-20 03:09:22 -0700 (Sun, 20 Apr 2014) $</i>
 
 <hr class="header">
 <p><a href="index.html">Main index</a> - <a href="database.html">Database index</a> - <a href="topics.html">Topics index</a> - <a href="keywords.html">Keywords Index</a> - <a href="full_index.html">Full index</a></p>
diff --git a/db/drivers/mysql/grass-mysql.html b/db/drivers/mysql/grass-mysql.html
index 284563e..8b366da 100644
--- a/db/drivers/mysql/grass-mysql.html
+++ b/db/drivers/mysql/grass-mysql.html
@@ -116,4 +116,4 @@ as part of a project for <a href="http://www.atac.roma.it/">ATAC</a>.
 Radim Blazek
 
 <p>
-<i>Last changed: $Date: 2014-04-20 19:54:31 +0200 (Sun, 20 Apr 2014) $</i>
+<i>Last changed: $Date: 2014-04-20 03:28:15 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/db/drivers/odbc/grass-odbc.html b/db/drivers/odbc/grass-odbc.html
index 90101b6..66a25e1 100644
--- a/db/drivers/odbc/grass-odbc.html
+++ b/db/drivers/odbc/grass-odbc.html
@@ -166,4 +166,4 @@ which should print the database connection through ODBC to the defined RDBMS.
 </em>
 
 <p>
-<i>Last changed: $Date: 2014-04-20 19:54:31 +0200 (Sun, 20 Apr 2014) $</i>
+<i>Last changed: $Date: 2014-04-20 03:28:15 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/db/drivers/ogr/grass-ogr.html b/db/drivers/ogr/grass-ogr.html
index 406c509..98c8e20 100644
--- a/db/drivers/ogr/grass-ogr.html
+++ b/db/drivers/ogr/grass-ogr.html
@@ -15,4 +15,4 @@ by <em><a href="v.external.html">v.external</a></em>.
 </em>
 
 <p>
-<i>Last changed: $Date: 2014-04-20 19:54:31 +0200 (Sun, 20 Apr 2014) $</i>
+<i>Last changed: $Date: 2014-04-20 03:28:15 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/db/drivers/postgres/db.c b/db/drivers/postgres/db.c
index 5e171eb..828ee16 100644
--- a/db/drivers/postgres/db.c
+++ b/db/drivers/postgres/db.c
@@ -32,7 +32,7 @@ static int create_delete_db();
 int db__driver_open_database(dbHandle * handle)
 {
     char buf[500];
-    const char *name, *schema, *user, *password;
+    const char *name, *schema, *user, *password, *host, *port;
     dbConnection connection;
     PGCONN pgconn;
     PGresult *res;
@@ -56,14 +56,15 @@ int db__driver_open_database(dbHandle * handle)
 
     G_debug(3,
 	    "db_driver_open_database(): host = %s, port = %s, options = %s, tty = %s, "
-	    "dbname = %s, user = %s, password = %s, "
+	    "dbname = %s, user = %s, password = %s, host = %s, port = %s "
 	    "schema = %s", pgconn.host, pgconn.port, pgconn.options,
 	    pgconn.tty, pgconn.dbname, pgconn.user, pgconn.password,
+            pgconn.host, pgconn.port,
 	    pgconn.schema);
 
-    db_get_login("pg", name, &user, &password);
+    db_get_login2("pg", name, &user, &password, &host, &port);
 
-    pg_conn = PQsetdbLogin(pgconn.host, pgconn.port, pgconn.options, pgconn.tty,
+    pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty,
 			   pgconn.dbname, user, password);
     
     if (PQstatus(pg_conn) == CONNECTION_BAD) {
@@ -221,7 +222,7 @@ int db__driver_delete_database(dbHandle *handle)
 int create_delete_db(dbHandle *handle, int create)
 {
     dbString stmt;
-    const char *template_db, *name, *user, *password;
+    const char *template_db, *name, *user, *password, *host, *port;
     
     PGCONN pgconn;
     PGresult *res;
@@ -237,13 +238,14 @@ int create_delete_db(dbHandle *handle, int create)
     }
     G_debug(3,
 	    "db_driver_create_database(): host = %s, port = %s, options = %s, tty = %s, "
-	    "dbname = %s, user = %s, password = %s, "
+	    "dbname = %s, user = %s, password = %s, host = %s, port = %s"
 	    "schema = %s", pgconn.host, pgconn.port, pgconn.options,
 	    pgconn.tty, pgconn.dbname, pgconn.user, pgconn.password,
+            pgconn.host, pgconn.port,
 	    pgconn.schema);
-    db_get_login("pg", template_db, &user, &password);
+    db_get_login2("pg", template_db, &user, &password, &host, &port);
     
-    pg_conn = PQsetdbLogin(pgconn.host, pgconn.port, pgconn.options, pgconn.tty,
+    pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty,
 			   pgconn.dbname, user, password);
     if (PQstatus(pg_conn) == CONNECTION_BAD) {
 	db_d_append_error(_("Connection failed."));
diff --git a/db/drivers/postgres/dbdriver.h b/db/drivers/postgres/dbdriver.h
index 41d53ee..2a1f670 100644
--- a/db/drivers/postgres/dbdriver.h
+++ b/db/drivers/postgres/dbdriver.h
@@ -8,6 +8,8 @@ db_driver_create_table = db__driver_create_table;\
 db_driver_close_cursor = db__driver_close_cursor;\
 db_driver_open_database = db__driver_open_database;\
 db_driver_close_database = db__driver_close_database;\
+db_driver_create_database = db__driver_create_database;\
+db_driver_delete_database = db__driver_delete_database;\
 db_driver_describe_table = db__driver_describe_table;\
 db_driver_init = db__driver_init;\
 db_driver_finish = db__driver_finish;\
@@ -21,6 +23,7 @@ db_driver_list_databases = db__driver_list_databases;\
 db_driver_list_tables = db__driver_list_tables;\
 db_driver_grant_on_table = db__driver_grant_on_table;\
 db_driver_open_select_cursor = db__driver_open_select_cursor;\
+db_driver_drop_table = db__driver_drop_table;\
 }while(0)
 
 #endif
diff --git a/db/drivers/postgres/grass-pg.html b/db/drivers/postgres/grass-pg.html
index d5e342c..d796224 100644
--- a/db/drivers/postgres/grass-pg.html
+++ b/db/drivers/postgres/grass-pg.html
@@ -133,4 +133,4 @@ driver documentation</a></li>
 </ul>
 
 <p>
-<i>Last changed: $Date: 2015-11-24 09:08:30 +0100 (Tue, 24 Nov 2015) $</i>
+<i>Last changed: $Date: 2015-11-24 00:07:58 -0800 (Tue, 24 Nov 2015) $</i>
diff --git a/db/drivers/postgres/listdb.c b/db/drivers/postgres/listdb.c
index 2066a65..e080cc1 100644
--- a/db/drivers/postgres/listdb.c
+++ b/db/drivers/postgres/listdb.c
@@ -19,7 +19,7 @@ int db__driver_list_databases(dbString * dbpath, int npaths,
 			      dbHandle ** dblist, int *dbcount)
 {
     int i;
-    const char *user, *passwd;
+    const char *user, *passwd, *host, *port;
     PGCONN pgconn;
     PGresult *res;
     int rec_num = 0;
@@ -42,20 +42,21 @@ int db__driver_list_databases(dbString * dbpath, int npaths,
         return DB_FAILED;
     }
     
-    G_debug(1, "db = %s, user = %s, pass = %s, host = %s, port = %s, options = %s, tty = %s",
+    G_debug(1, "db = %s, user = %s, pass = %s, "
+            "host = %s, port = %s, options = %s, tty = %s",
 	    pgconn.dbname, pgconn.user, pgconn.password, pgconn.host,
             pgconn.port, pgconn.options, pgconn.tty);
 
-    db_get_login("pg", NULL, &user, &passwd);
+    db_get_login2("pg", NULL, &user, &passwd, &host, &port);
     G_debug(1, "user = %s, passwd = %s", user, passwd ? "xxx" : "");
 
     if (user || passwd) {
-        pg_conn = PQsetdbLogin(pgconn.host, pgconn.port, pgconn.options, pgconn.tty,
+        pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty,
                                "template1", user, passwd);
     }
     else {
         pg_conn =
-            PQsetdb(pgconn.host, pgconn.port, pgconn.options, pgconn.tty,
+            PQsetdb(host, port, pgconn.options, pgconn.tty,
                     "template1");
     }
 
diff --git a/db/drivers/postgres/table.c b/db/drivers/postgres/table.c
new file mode 100644
index 0000000..0409516
--- /dev/null
+++ b/db/drivers/postgres/table.c
@@ -0,0 +1,44 @@
+/*!
+ * \file table.c
+ *
+ * \brief Low level drop table function.
+ *
+ * This program is free software under the GNU General Public License
+ * (>=v2). Read the file COPYING that comes with GRASS for details.
+ *
+ * \author Martin Landa <landa.martin gmail.com>
+ *
+ * \date 2015
+ */
+
+#include <grass/gis.h>
+#include <grass/dbmi.h>
+#include <grass/glocale.h>
+#include "globals.h"
+#include "proto.h"
+
+/*!
+ * \brief Low level driver drop table from database.
+ *
+ * \param name table name to drop
+ * \return DB_FAILED on error; DB_OK on success
+ */
+int db__driver_drop_table(dbString *name)
+{
+    PGresult *res;
+    char cmd[DB_SQL_MAX];
+
+    sprintf(cmd, "DROP TABLE %s", db_get_string(name));
+        
+    res = PQexec(pg_conn, cmd);
+
+    if (!res || PQresultStatus(res) != PGRES_COMMAND_OK) {
+	db_d_append_error("%s\n%s",
+			  _("Unable to execute():"),
+			  PQerrorMessage(pg_conn));
+	db_d_report_error();
+	return DB_FAILED;
+    }
+
+    return DB_OK;
+}
diff --git a/db/drivers/sqlite/db.c b/db/drivers/sqlite/db.c
index a0a4c1b..2fac449 100644
--- a/db/drivers/sqlite/db.c
+++ b/db/drivers/sqlite/db.c
@@ -111,6 +111,9 @@ int db__driver_open_database(dbHandle * handle)
 	return DB_FAILED;
     }
 
+    /* enable loading of extensions */
+    sqlite3_enable_load_extension(sqlite, 1);
+
     /* set the sqlite busy handler */
     sqlite3_busy_handler(sqlite, sqlite_busy_callback, NULL);
 
diff --git a/db/drivers/sqlite/dbdriver.h b/db/drivers/sqlite/dbdriver.h
index 41a8e52..e02952e 100644
--- a/db/drivers/sqlite/dbdriver.h
+++ b/db/drivers/sqlite/dbdriver.h
@@ -8,6 +8,8 @@ db_driver_create_table = db__driver_create_table;\
 db_driver_close_cursor = db__driver_close_cursor;\
 db_driver_open_database = db__driver_open_database;\
 db_driver_close_database = db__driver_close_database;\
+db_driver_create_database = db__driver_create_database;\
+db_driver_delete_database = db__driver_delete_database;\
 db_driver_describe_table = db__driver_describe_table;\
 db_driver_init = db__driver_init;\
 db_driver_finish = db__driver_finish;\
@@ -17,8 +19,10 @@ db_driver_commit_transaction = db__driver_commit_transaction;\
 db_driver_fetch = db__driver_fetch;\
 db_driver_get_num_rows = db__driver_get_num_rows;\
 db_driver_create_index = db__driver_create_index;\
+db_driver_list_databases = db__driver_list_databases;\
 db_driver_list_tables = db__driver_list_tables;\
 db_driver_open_select_cursor = db__driver_open_select_cursor;\
+db_driver_drop_table = db__driver_drop_table;\
 }while(0)
 
 #endif
diff --git a/db/drivers/sqlite/grass-sqlite.html b/db/drivers/sqlite/grass-sqlite.html
index cb28f57..841e56b 100644
--- a/db/drivers/sqlite/grass-sqlite.html
+++ b/db/drivers/sqlite/grass-sqlite.html
@@ -78,4 +78,4 @@ echo "
 </em>
 
 <p>
-<i>Last changed: $Date: 2014-04-20 19:54:31 +0200 (Sun, 20 Apr 2014) $</i>
+<i>Last changed: $Date: 2014-04-20 03:28:15 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/db/drivers/sqlite/table.c b/db/drivers/sqlite/table.c
new file mode 100644
index 0000000..815ae6b
--- /dev/null
+++ b/db/drivers/sqlite/table.c
@@ -0,0 +1,44 @@
+/*!
+ * \file table.c
+ *
+ * \brief Low level drop table function.
+ *
+ * This program is free software under the GNU General Public License
+ * (>=v2). Read the file COPYING that comes with GRASS for details.
+ *
+ * \author Martin Landa <landa.martin gmail.com>
+ *
+ * \date 2015
+ */
+
+#include <grass/gis.h>
+#include <grass/dbmi.h>
+#include <grass/glocale.h>
+#include "globals.h"
+#include "proto.h"
+
+/*!
+ * \brief Low level driver drop table from database.
+ *
+ * \param name table name to drop
+ * \return DB_FAILED on error; DB_OK on success
+ */
+int db__driver_drop_table(dbString *name)
+{
+    int ret;
+    char cmd[DB_SQL_MAX];
+
+    sprintf(cmd, "DROP TABLE %s", db_get_string(name));
+        
+    ret = sqlite3_exec(sqlite, cmd, NULL, NULL, NULL);
+
+    if (ret != SQLITE_OK) {
+	db_d_append_error("%s\n%s",
+			  _("Error in sqlite3_exec():"),
+			  (char *)sqlite3_errmsg(sqlite));
+	db_d_report_error();
+	return DB_FAILED;
+    }
+
+    return DB_OK;
+}
diff --git a/demolocation/PERMANENT/.bash_history b/demolocation/PERMANENT/.bash_history
deleted file mode 100644
index 1d6ba35..0000000
--- a/demolocation/PERMANENT/.bash_history
+++ /dev/null
@@ -1,43 +0,0 @@
-db.connect -p
-g.manual 
-g.manual v.db.reconnect.all
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-v.build.all 
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-db.connect -p
-db.connect driver=sqlite database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-db.connect -p
-db.tables -p
-l /home/neteler/grass70/demolocation/PERMANENT/sqlite/sqlite.db
-l /home/neteler/grass70/demolocation/PERMANENT/sqlite/
-l /home/neteler/grass70/demolocation/PERMANENT/
-db.connect -p
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-l /home/neteler/grass70/demolocation/PERMANENT/sqlite/sqlite.db
-l /home/neteler/grass70/demolocation/PERMANENT/sqlite/
-mkdir /home/neteler/grass70/demolocation/PERMANENT/sqlite/
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-cd demolocation/
-l
-cd PERMANENT/
-l
-svn status
-svn revert VAR vector
-svn revert vector
-svn revert VAR vector/*
-svn status
-svn revert VAR vector/*/*
-svn status
-rm -f vector/mysites/sidx vector/mysites/sidx
-l
-v.build.all 
-rm -f sqlite/sqlite.db 
-v.db.reconnect.all old_database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'  new_driver=sqlite new_database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-db.connect driver=sqlite database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
-db.tables -p
-l
-history 
-svn revert VAR vector/*/*
-svn status
-rm -rf sqlite vector/mysites/sidx vector/point/sidx
-svn status
diff --git a/demolocation/PERMANENT/.bashrc b/demolocation/PERMANENT/.bashrc
deleted file mode 100644
index 89d7a3d..0000000
--- a/demolocation/PERMANENT/.bashrc
+++ /dev/null
@@ -1,14 +0,0 @@
-test -r ~/.alias && . ~/.alias
-PS1='GRASS 7.0.svn (demolocation):\w > '
-PROMPT_COMMAND="'/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/etc/prompt.py'"
-alias rm='rm -i'
-alias mv='mv -i'
-alias l='ls -lrt --color=tty'
-alias cp='cp -i'
-alias ls='ls -F --show-control-chars --color=auto'
-alias egrep='egrep --color'
-alias fgrep='fgrep --color'
-alias grep='grep --color'
-
-export PATH="/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/bin:/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/scripts:/home/neteler/.grass7/addons/bin:/home/neteler/.grass7/addons/scripts:/usr/java/default/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/home/neteler/bin"
-export HOME="/home/neteler"
diff --git a/display/d.barscale/d.barscale.html b/display/d.barscale/d.barscale.html
index 8ffd6a6..d74e447 100644
--- a/display/d.barscale/d.barscale.html
+++ b/display/d.barscale/d.barscale.html
@@ -32,4 +32,4 @@ unknown, but from USACE/CERL.<br>
 Major rewrite for GRASS 7 by Hamish Bowman
 
 <p>
-<i>Last changed: $Date: 2013-09-18 15:49:10 +0200 (Wed, 18 Sep 2013) $</i>
+<i>Last changed: $Date: 2013-09-18 06:49:10 -0700 (Wed, 18 Sep 2013) $</i>
diff --git a/display/d.colorlist/d.colorlist.html b/display/d.colorlist/d.colorlist.html
index 9adef41..4380fc9 100644
--- a/display/d.colorlist/d.colorlist.html
+++ b/display/d.colorlist/d.colorlist.html
@@ -12,4 +12,4 @@ separator (default is comma).
 
 Andreas Lange
 
-<p><i>Last changed: $Date: 2014-11-01 11:10:14 +0100 (Sat, 01 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-10-31 16:17:14 -0700 (Fri, 31 Oct 2014) $</i>
diff --git a/display/d.colortable/d.colortable.html b/display/d.colortable/d.colortable.html
index 88daed4..65b08c7 100644
--- a/display/d.colortable/d.colortable.html
+++ b/display/d.colortable/d.colortable.html
@@ -64,4 +64,4 @@ between runs of <em>d.colortable</em> to avoid confusion.
 James Westervelt, U.S. Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2015-02-02 09:13:36 +0100 (Mon, 02 Feb 2015) $</i>
+<i>Last changed: $Date: 2015-02-01 19:27:58 -0800 (Sun, 01 Feb 2015) $</i>
diff --git a/display/d.erase/d.erase.html b/display/d.erase/d.erase.html
index c68a7d6..74d1443 100644
--- a/display/d.erase/d.erase.html
+++ b/display/d.erase/d.erase.html
@@ -18,4 +18,4 @@ specified by the user.
 James Westervelt, U.S. Army Construction Engineering Research
 Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/display/d.extract/d.extract.html b/display/d.extract/d.extract.html
index 52a30d8..c723fbc 100644
--- a/display/d.extract/d.extract.html
+++ b/display/d.extract/d.extract.html
@@ -22,4 +22,4 @@ d.extract input=roads output=interstate
 
 Radim Blazek, Markus Neteler
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i>
diff --git a/display/d.font/d.font.html b/display/d.font/d.font.html
index cd32b3a..6889062 100644
--- a/display/d.font/d.font.html
+++ b/display/d.font/d.font.html
@@ -70,4 +70,4 @@ by Dr. A.V. Hershey while working at the U.S. National Bureau of
 Standards.
 
 <p>
-<i>Last changed: $Date: 2012-01-17 11:50:47 +0100 (Tue, 17 Jan 2012) $</i>
+<i>Last changed: $Date: 2012-01-17 02:50:47 -0800 (Tue, 17 Jan 2012) $</i>
diff --git a/display/d.fontlist/d.fontlist.html b/display/d.fontlist/d.fontlist.html
index 72f0a2c..a78aa28 100644
--- a/display/d.fontlist/d.fontlist.html
+++ b/display/d.fontlist/d.fontlist.html
@@ -11,4 +11,4 @@ GRASS display commands.
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2012-08-29 10:19:44 +0200 (Wed, 29 Aug 2012) $</i>
+<p><i>Last changed: $Date: 2012-08-29 01:19:44 -0700 (Wed, 29 Aug 2012) $</i>
diff --git a/display/d.geodesic/d.geodesic.html b/display/d.geodesic/d.geodesic.html
index 4bb233b..196ce72 100644
--- a/display/d.geodesic/d.geodesic.html
+++ b/display/d.geodesic/d.geodesic.html
@@ -53,4 +53,4 @@ coordinate system.
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-28 14:30:25 +0100 (Sun, 28 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-28 05:22:50 -0800 (Sun, 28 Dec 2014) $</i>
diff --git a/display/d.graph/d.graph.html b/display/d.graph/d.graph.html
index 743f798..6641b4c 100644
--- a/display/d.graph/d.graph.html
+++ b/display/d.graph/d.graph.html
@@ -230,4 +230,4 @@ graphics editor into GRASS <em>d.graph</em> format.
 James Westervelt, U.S. Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2013-04-10 23:20:23 +0200 (Wed, 10 Apr 2013) $</i>
+<i>Last changed: $Date: 2013-04-10 14:20:23 -0700 (Wed, 10 Apr 2013) $</i>
diff --git a/display/d.grid/d.grid.html b/display/d.grid/d.grid.html
index a186b2b..b7282b3 100644
--- a/display/d.grid/d.grid.html
+++ b/display/d.grid/d.grid.html
@@ -96,4 +96,4 @@ Border support: Markus Neteler<br>
 Text and RGB support: Hamish Bowman<br>
 
 <p>
-<i>Last changed: $Date: 2014-11-28 10:58:18 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 01:57:47 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/display/d.his/d.his.html b/display/d.his/d.his.html
index e732f18..f2ccf55 100644
--- a/display/d.his/d.his.html
+++ b/display/d.his/d.his.html
@@ -130,4 +130,4 @@ d.his hue=elevation intensity=elevation_shaded_relief brighten=50
 
 James Westervelt, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-20 05:56:06 +0100 (Sat, 20 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/display/d.histogram/d.histogram.html b/display/d.histogram/d.histogram.html
index afe4faf..08aff24 100644
--- a/display/d.histogram/d.histogram.html
+++ b/display/d.histogram/d.histogram.html
@@ -34,4 +34,4 @@ Dave Johnson
 <br> 10560 Arrowhead Drive 
 <br> Fairfax, Virginia 22030
 
-<p><i>Last changed: $Date: 2012-11-25 11:59:42 +0100 (Sun, 25 Nov 2012) $</i>
+<p><i>Last changed: $Date: 2012-11-25 02:59:42 -0800 (Sun, 25 Nov 2012) $</i>
diff --git a/display/d.info/d.info.html b/display/d.info/d.info.html
index 8002a85..4c88569 100644
--- a/display/d.info/d.info.html
+++ b/display/d.info/d.info.html
@@ -36,4 +36,4 @@ Note: GRASS display pixel coordinates are measured from the top left.
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2012-01-20 20:01:55 +0100 (Fri, 20 Jan 2012) $</i>
+<i>Last changed: $Date: 2012-01-20 11:01:55 -0800 (Fri, 20 Jan 2012) $</i>
diff --git a/display/d.info/main.c b/display/d.info/main.c
index d520c5d..4fb0e96 100644
--- a/display/d.info/main.c
+++ b/display/d.info/main.c
@@ -4,7 +4,7 @@
  * MODULE:       d.info
  * AUTHOR(S):    Glynn Clements
  * PURPOSE:      Display information about the active display monitor
- * COPYRIGHT:    (C) 2004, 2012 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2004-2015 by the GRASS Development Team
  *
  *               This program is free software under the GNU General Public
  *               License (>=v2). Read the file COPYING that comes with GRASS
@@ -14,6 +14,9 @@
 
 #include <stdlib.h>
 #include <stdio.h>
+#include <dirent.h>
+#include <string.h>
+
 #include <grass/gis.h>
 #include <grass/display.h>
 #include <grass/glocale.h>
@@ -62,8 +65,8 @@ int main(int argc, char *argv[])
     gflag->description =
 	_("Display geographic coordinates and resolution of entire frame");
 
-    G_option_required(rflag, dflag, fflag, eflag, bflag, gflag, NULL); 
-
+    G_option_required(rflag, dflag, fflag, eflag, bflag, gflag, NULL);
+    
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
@@ -118,7 +121,7 @@ int main(int argc, char *argv[])
 	fprintf(stdout, "nsres=%.15g\n", -D_get_d_to_u_yconv() );
     }
 
-    
+   
     D_close_driver();
 
     exit(EXIT_SUCCESS);
diff --git a/display/d.labels/d.labels.html b/display/d.labels/d.labels.html
index 2d67319..b3be691 100644
--- a/display/d.labels/d.labels.html
+++ b/display/d.labels/d.labels.html
@@ -38,4 +38,4 @@ James Westervelt,
 U.S. Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/display/d.legend/d.legend.html b/display/d.legend/d.legend.html
index 4b04209..8fa70f4 100644
--- a/display/d.legend/d.legend.html
+++ b/display/d.legend/d.legend.html
@@ -113,4 +113,4 @@ Bill Brown, U.S. Army Construction Engineering Research Laboratories
 <br>Additional improvements from various authors
 
 <p>
-<i>Last changed: $Date: 2015-07-20 20:56:23 +0200 (Mon, 20 Jul 2015) $</i>
+<i>Last changed: $Date: 2015-07-20 11:56:11 -0700 (Mon, 20 Jul 2015) $</i>
diff --git a/display/d.legend/histogram.c b/display/d.legend/histogram.c
index 0df0dca..40263bf 100644
--- a/display/d.legend/histogram.c
+++ b/display/d.legend/histogram.c
@@ -9,18 +9,26 @@
 
 #include <grass/gis.h>
 #include <grass/display.h>
+#include <grass/raster.h>
+#include <grass/glocale.h>
 #include "local_proto.h"
 
 void draw_histogram(const char *map_name, int x0, int y0, int width,
 		    int height, int color, int flip, int horiz,
-		    int map_type, int is_fp)
+		    int map_type, int is_fp, struct FPRange render_range)
 {
-    int i, nsteps;
+    int i, nsteps, ystep;
     long cell_count = 0;
     double max_width, width_mult, dx;
     double dy, y0_adjust;	/* only needed for CELL maps */
     struct stat_list dist_stats;
     struct stat_node *ptr;
+    struct Range range;
+    struct FPRange fprange;
+    CELL c_map_min, c_map_max;
+    DCELL d_map_min, d_map_max;
+    double map_min, map_max, map_range, user_range;
+    double crop_min_perc = 0.0, crop_max_perc = 1.0, pad_min_perc = 0.0;
 
     if (horiz) {
 	max_width = height * 1.75;
@@ -31,6 +39,78 @@ void draw_histogram(const char *map_name, int x0, int y0, int width,
 	nsteps = height - 3;
     }
 
+
+    if (render_range.first_time) {
+	/* user specified range, can be either larger
+	    or smaller than actual map's range */
+
+	if (is_fp) {
+	    Rast_read_fp_range(map_name, "", &fprange);
+	    Rast_get_fp_range_min_max(&fprange, &d_map_min, &d_map_max);
+	    map_min = (double)d_map_min;
+	    map_max = (double)d_map_max;
+	}
+	else {
+	    Rast_read_range(map_name, "", &range);
+	    Rast_get_range_min_max(&range, &c_map_min, &c_map_max);
+	    map_min = (double)c_map_min;
+	    map_max = (double)c_map_max;
+	}
+
+	map_range = map_max - map_min;
+	user_range = render_range.max - render_range.min;
+
+	if (horiz)
+	    nsteps = (int)(0.5 + (map_range * (width - 3) / user_range));
+	else
+	    nsteps = (int)(0.5 + (map_range * (height - 3) / user_range));
+
+	G_debug(1, "number of steps for r.stats = %d, height-3=%d  width-3=%d",
+		nsteps, height - 3, width - 3);
+
+	/* need to know the % of the MAP range where user range starts and stops.
+	 *   note that MAP range can be fully inside user range, in which case
+	 *   keep 0-100% aka 0,nsteps, i.e. the step number in the nsteps range */
+
+	if (render_range.min > map_min) {
+	   crop_min_perc = (render_range.min - map_min) / map_range;
+	   G_debug(3, "min: %.02f vs. %.02f (%.02f) ... %.02f%%",
+	   	   render_range.min, map_min, map_range, 100 * crop_min_perc);
+	}
+
+	if (render_range.max > map_max) {
+	    crop_max_perc = 1.0 - ((render_range.max - map_max) / user_range);
+	    G_debug(3, "max: %.02f vs. %.02f (%.02f) ... %.02f%%",
+		    map_max, render_range.max, map_range, 100 * crop_max_perc);
+	}
+
+	if (render_range.min < map_min) {
+	   pad_min_perc = (map_min - render_range.min) / user_range;
+	   G_debug(3, "Min: %.02f vs. %.02f (%.02f) ... %.02f%%",
+	   	   map_min, render_range.min, user_range, 100 * pad_min_perc);
+	}
+
+#ifdef amplify_gain
+	/* proportion of nsteps to width, use as mult factor to boost the 1.75x
+	    when spread out over more nsteps than we are displaying */
+	G_debug(0, "max_width was: %.2f  (nsteps=%d)", max_width, nsteps);
+
+	if (nsteps > ((horiz ? width : height) - 3.0))
+	    max_width *= nsteps / ((horiz ? width : height) - 3.0);
+
+	G_debug(0, "max_width now: %.2f", max_width);
+#endif
+    }
+
+
+    /* TODO */
+    if (!is_fp && render_range.first_time) {
+	G_warning(_("Histogram constrained by range not yet implemented for "
+		  "categorical rasters"));
+	return;
+    }
+
+
     /* get the distribution statistics */
     get_stats(map_name, &dist_stats, nsteps, map_type);
 
@@ -56,10 +136,39 @@ void draw_histogram(const char *map_name, int x0, int y0, int width,
 	    y0_adjust += 0.5;
     }
 
-    for (i = dist_stats.mincat; i <= dist_stats.maxcat; i++) {
+
+    G_debug(3, "mincat=%ld  maxcat=%ld", dist_stats.mincat, dist_stats.maxcat);
+
+    for (i = dist_stats.mincat, ystep = 0; i <= dist_stats.maxcat; i++) {
 	if (!ptr)
 	    break;
 
+	/* jump out if user range cuts things shorter than the map's native range */
+	if ((horiz && ystep > width - 4) || (!horiz && ystep > height - 4))
+	    break;
+
+	/* jump out if user range goes beyond max of map data */
+	if (((double)ystep / ((horiz ? width : height) - 3.0)) > crop_max_perc)
+	    break;
+/* TODO	if (!is_fp && i > render_range.max)
+	    break;
+*/
+	/* haven't made it to the min of the user range yet */
+	if (((double)i / nsteps) < crop_min_perc) {
+	    continue;
+	}
+
+	/* now it's ok advance the plotter position */
+	ystep++;
+
+	/* if user range is below the minimum real map value, we need to pad out the space */
+	if (render_range.first_time && render_range.min < map_min) {
+	    if ( ((double)ystep / ((horiz ? width : height) - 3.0)) < pad_min_perc) {
+		i--;
+		continue;
+	    }
+	}
+
 	if (ptr->cat == i) {	/* AH-HA!! found the stat */
 	    cell_count = ptr->stat;
 
@@ -78,9 +187,12 @@ void draw_histogram(const char *map_name, int x0, int y0, int width,
 		    ptr = ptr->next;
 	    }
 	    else		/* stat cannot be found */
-		G_debug(4, "No matching stat found, i=%d", i);
+		G_debug(5, "No matching stat found, i=%d", i);
 	}
 
+	G_debug(5, "i=%d  ptr->cat=%ld  cell_count=%ld", i, ptr->cat, 
+		cell_count);
+
 	if (!cell_count)
 	    continue;
 
@@ -89,17 +201,17 @@ void draw_histogram(const char *map_name, int x0, int y0, int width,
 	if (is_fp) {
 	    if (horiz) {
 		if (flip)
-		    D_move_abs(x0 + width - i - 1, y0 - 1);
+		    D_move_abs(x0 + width - ystep - 1, y0 - 1);
 		else
-		    D_move_abs(x0 + i + 1, y0 - 1);
+		    D_move_abs(x0 + ystep + 1, y0 - 1);
 
 		D_cont_rel(0, -dx);
 	    }
 	    else {  /* vertical */
 		if (flip)
-		    D_move_abs(x0 - 1, y0 - 1 + height - i);
+		    D_move_abs(x0 - 1, y0 - 1 + height - ystep);
 		else
-		    D_move_abs(x0 - 1, y0 + 1 + i);
+		    D_move_abs(x0 - 1, y0 + 1 + ystep);
 
 		D_cont_rel(-dx, 0);
 	    }
diff --git a/display/d.legend/local_proto.h b/display/d.legend/local_proto.h
index 82496f0..c8f7fce 100644
--- a/display/d.legend/local_proto.h
+++ b/display/d.legend/local_proto.h
@@ -1,3 +1,5 @@
+#include <grass/raster.h>
+
 #define MAP_TYPE_RASTER2D 1
 #define MAP_TYPE_RASTER3D 2
 /* possibles for the future:
@@ -27,7 +29,8 @@ struct stat_list
 
 
 /* histogram.c */
-void draw_histogram(const char *, int, int, int, int, int, int, int, int, int);
+void draw_histogram(const char *, int, int, int, int, int, int, int, int,
+		    int, struct FPRange);
 
 /* get_stats.c */
 void get_stats(const char *, struct stat_list *, int, int);
diff --git a/display/d.legend/main.c b/display/d.legend/main.c
index b699094..b585f57 100644
--- a/display/d.legend/main.c
+++ b/display/d.legend/main.c
@@ -16,7 +16,7 @@
  *      Late 2002: Rewrite of much of the code:
  *         Hamish Bowman, Otago University, New Zealand
  *
- * COPYRIGHT:   (c) 2006-2014 by The GRASS Development Team
+ * COPYRIGHT:   (c) 2002-2014 by The GRASS Development Team
  *
  *              This program is free software under the GNU General Public
  *              License (>=v2). Read the file COPYING that comes with GRASS
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
 		  *opt_font, *opt_path, *opt_charset, *opt_fontsize;
     struct Flag *hidestr, *hidenum, *hidenodata, *smooth, *flipit, *histo;
     struct Range range;
-    struct FPRange fprange;
+    struct FPRange fprange, render_range;
     CELL min_ind, max_ind;
     DCELL dmin, dmax, val;
     CELL min_colr, max_colr;
@@ -838,11 +838,14 @@ int main(int argc, char **argv)
 
 	/* display sidebar histogram, if requested */
 	if (histo->answer) {
-	    if (opt_range->answer != NULL)
-		G_warning(_("Histogram constrained by range not yet implemented"));
-	    else
-		draw_histogram(map_name, x0, y0, wleg, lleg, color, flip,
-			       horiz, maptype, fp);
+
+	    render_range.min = (DCELL)(fp ? dmin : min_ind);
+	    render_range.max = (DCELL)(fp ? dmax : max_ind);
+	    /* reuse flag to indicate if user-specified or default ranging */
+	    render_range.first_time = opt_range->answer ? TRUE : FALSE;
+
+	    draw_histogram(map_name, x0, y0, wleg, lleg, color, flip, horiz,
+			   maptype, fp, render_range);
 	}
 
     }
@@ -852,6 +855,10 @@ int main(int argc, char **argv)
 	double txsiz;
 	float ScaleFactor = 1.0;
 
+	if (histo->answer)
+	    G_warning(_("Histogram plotting not implemented for categorical legends. "
+			"Use the '-s' flag"));
+
 	/* set legend box bounds */
 	true_l = l;
 	true_r = r;	/* preserve window width */
@@ -905,15 +912,15 @@ int main(int argc, char **argv)
 
 	/* Draw away */
 
-	/*              if(ScaleFactor < 1.0)   */
-	/*                  cur_dot_row = ((b-t) - (dots_per_line*lines))/2; *//* this will center the legend */
-	/*              else    */
+	/* if(ScaleFactor < 1.0)   */
+	/*    cur_dot_row = ((b-t) - (dots_per_line*lines))/2; *//* this will center the legend */
+	/* else    */
 	cur_dot_row = t + dots_per_line / 2;
 
 	/*  j = (do_cats == cats_num ? 1 : 2 ); */
 
 	for (i = 0, k = 0; i < catlistCount; i++)
-	    /*              for(i=min_ind, j=1, k=0; j<=do_cats && i<=max_ind; j++, i+=thin)        */
+	    /* for(i=min_ind, j=1, k=0; j<=do_cats && i<=max_ind; j++, i+=thin) */
 	{
 	    if (!flip)
 		cstr = Rast_get_d_cat(&catlist[i], &cats);
@@ -929,7 +936,7 @@ int main(int argc, char **argv)
 	    else
 		hide_catstr = hidestr->answer;
 
-	    k++;		/* count of actual boxes drawn (hide_nodata option invaidates using j-1) */
+	    k++;  /* count of actual boxes drawn (hide_nodata option invaidates using j-1) */
 
 	    /* White box */
 	    cur_dot_row += dots_per_line;
diff --git a/display/d.linegraph/d.linegraph.html b/display/d.linegraph/d.linegraph.html
index fcc5d76..f86f630 100644
--- a/display/d.linegraph/d.linegraph.html
+++ b/display/d.linegraph/d.linegraph.html
@@ -85,4 +85,4 @@ driver and converting that back into a rasterized image in a paint program)
 <h2>AUTHOR</h2>
 Chris Rewerts, Agricultural Engineering, Purdue University
 
-<p><i>Last changed: $Date: 2012-12-28 11:52:38 +0100 (Fri, 28 Dec 2012) $</i>
+<p><i>Last changed: $Date: 2012-12-28 02:52:38 -0800 (Fri, 28 Dec 2012) $</i>
diff --git a/display/d.mon/Makefile b/display/d.mon/Makefile
index 6d06f9b..ecfcbba 100644
--- a/display/d.mon/Makefile
+++ b/display/d.mon/Makefile
@@ -2,6 +2,8 @@ MODULE_TOPDIR = ../..
 
 PGM = d.mon
 
+ETCFILES = render_cmd.py
+
 LIBES = $(GISLIB) $(DISPLAYLIB)
 DEPENDENCIES= $(GISDEP) $(DISPLAYDEP)
 
diff --git a/display/d.mon/d.mon.html b/display/d.mon/d.mon.html
index ac87233..079b30e 100644
--- a/display/d.mon/d.mon.html
+++ b/display/d.mon/d.mon.html
@@ -42,7 +42,7 @@ explicitly selecting the monitor for output. Only running monitors can
 be selected for graphics output.
 
 <p>The user can run multiple graphics monitors by simply starting each of
-the graphics monitors he wishes to direct output to.
+the graphics monitors the user wishes to direct output to.
 
 <h3>Releasing (unselecting) a monitor</h3>
 
@@ -118,7 +118,8 @@ d.mon stop=wx0
 <a href="d.erase.html">d.erase</a>,
 <a href="d.redraw.html">d.redraw</a>,
 <a href="d.rast.html">d.rast</a>,
-<a href="d.vect.html">d.vect</a>
+<a href="d.vect.html">d.vect</a>,
+<a href="d.frame.html">d.frame</a>
 </em>
 
 <p>
@@ -130,4 +131,5 @@ of variables for rendering</a>,
 
 Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic
 
-<p><i>Last changed: $Date: 2014-12-27 23:51:00 +0100 (Sat, 27 Dec 2014) $</i>
+<p>
+<i>Last changed: $Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/display/d.mon/list.c b/display/d.mon/list.c
index 99ec774..ebdc195 100644
--- a/display/d.mon/list.c
+++ b/display/d.mon/list.c
@@ -1,39 +1,72 @@
 #include <string.h>
 #include <stdlib.h>
+#include <dirent.h>
+#include <sys/stat.h>
+
 #include <grass/gis.h>
 #include <grass/glocale.h>
+
 #include "proto.h"
 
+/* get monitor path */
+char *get_path(const char *name, int fpath)
+{
+    char tmpdir[GPATH_MAX];
+    
+    G_temp_element(tmpdir);
+    strcat(tmpdir, "/");
+    strcat(tmpdir, "MONITORS");
+    if (name) {
+        strcat(tmpdir, "/");
+        strcat(tmpdir, name);
+    }
+
+    if (fpath) {
+        char ret[GPATH_MAX];
+        
+        G_file_name(ret, tmpdir, NULL, G_mapset());
+        return G_store(ret);
+    }
+    
+    return G_store(tmpdir);
+}
+
 /* get list of running monitors */
 void list_mon(char ***list, int *n)
 {
-    int i;
-    const char *name;
-    const char *env_prefix = "MONITOR_";
-    int env_prefix_len;
-    char **tokens;
-    
-    env_prefix_len = strlen(env_prefix);
+    char *mon_path;
+    struct dirent *dp;
+    DIR *dirp;
+    struct stat s;
     
     *list = NULL;
     *n    = 0;
-    tokens = NULL;
-    for (i = 0; (name = G_get_env_name(i)); i++) {
-	if (strncmp(env_prefix, name, env_prefix_len) == 0) {
-	    tokens = G_tokenize(name, "_");
-	    if (G_number_of_tokens(tokens) != 3 ||
-		strcmp(tokens[2], "ENVFILE") != 0)
-		continue;
-	    *list = G_realloc(*list, (*n + 1) * sizeof(char *));
-	    /* GRASS variable names are upper case, but monitor names are lower
-	     * case. */
-	    (*list)[*n] = G_store_lower(tokens[1]);
-	    (*n)++;
-	    G_free_tokens(tokens);
-	    tokens = NULL;
-	}
-    }
     
+    mon_path = get_path(NULL, TRUE);
+    dirp = opendir(mon_path);
+    G_free(mon_path);
+    
+    if (!dirp)
+        return;
+
+    while ((dp = readdir(dirp)) != NULL) {
+	int ret;
+
+        if (!dp->d_name || dp->d_name[0] == '.')
+	    continue;
+
+	mon_path = get_path(dp->d_name, TRUE);
+        ret = G_stat(mon_path, &s);
+	G_free(mon_path);
+
+        if (ret != 0 || !S_ISDIR(s.st_mode))
+            continue;
+
+        *list = G_realloc(*list, (*n + 1) * sizeof(char *));
+        (*list)[*n] = dp->d_name;
+        (*n)++;
+    }
+    closedir(dirp);
 }
 
 /* print list of running monitors */
@@ -57,39 +90,71 @@ void print_list(FILE *fd)
 /* check if monitor is running */
 int check_mon(const char *name)
 {
-    char *env_name;
-    const char *str;
+    char **list;
+    int   i, n;
+
+    list_mon(&list, &n);
     
-    env_name = NULL;
-    G_asprintf(&env_name, "MONITOR_%s_ENVFILE", G_store_upper(name));
-    str = G_getenv_nofatal(env_name);
-    if (!str)
-	return FALSE;
+    for (i = 0; i < n; i++)
+        if (G_strcasecmp(list[i], name) == 0)
+            return TRUE;
     
-    return TRUE;
+    return FALSE;
 }
 
 /* list related commands for given monitor */
 void list_cmd(const char *name, FILE *fd_out)
 {
-    char buf[1024];
-    char *cmd_name;
-    const char *cmd_value;
+    char *mon_path;
+    char cmd_file[GPATH_MAX], buf[4096];
     FILE *fd;
-
-    cmd_name = NULL;
-    G_asprintf(&cmd_name, "MONITOR_%s_CMDFILE", G_store_upper(name));
-    cmd_value = G_getenv_nofatal(cmd_name);
-    if (!cmd_value)
-	G_fatal_error(_("Command file not found"));
     
-    fd = fopen(cmd_value, "r");
+    mon_path = get_path(name, FALSE);
+    G_file_name(cmd_file, mon_path, "cmd", G_mapset());
+    fd = fopen(cmd_file, "r");
     if (!fd)
-	G_fatal_error(_("Unable to read command file"));
+	G_fatal_error(_("Unable to open file '%s'"), cmd_file);
 
     while (G_getl2(buf, sizeof(buf) - 1, fd) != 0) {
 	fprintf(fd_out, "%s\n", buf);
     }
     
     fclose(fd);
+
+    G_free(mon_path);
+}
+
+void list_files(const char *name, FILE *fd_out)
+{
+    char *p;
+    char tmpdir[GPATH_MAX], mon_path[GPATH_MAX];
+    struct dirent *dp;
+    DIR *dirp;
+    
+    G_temp_element(tmpdir);
+    strcat(tmpdir, "/");
+    strcat(tmpdir, "MONITORS");
+    strcat(tmpdir, "/");
+    strcat(tmpdir, name);
+    
+    G_file_name(mon_path, tmpdir, NULL, G_mapset());
+    fprintf(fd_out, "path=%s\n", mon_path);
+    
+    dirp = opendir(mon_path);
+    if (!dirp)
+        G_fatal_error(_("No support files found for monitor <%s>"), name);
+
+    while ((dp = readdir(dirp)) != NULL) {
+        if (!dp->d_name || dp->d_name[0] == '.')
+            continue;
+        
+        p = strrchr(dp->d_name, '.');
+        if (!p)
+            p = dp->d_name;
+        else
+            p++; /* skip '.' */
+        
+        fprintf(fd_out, "%s=%s%c%s\n", p,
+                mon_path, HOST_DIRSEP, dp->d_name);
+    }
 }
diff --git a/display/d.mon/main.c b/display/d.mon/main.c
index 020bc1b..f0242d6 100644
--- a/display/d.mon/main.c
+++ b/display/d.mon/main.c
@@ -4,7 +4,7 @@
  * MODULE:       d.mon
  * AUTHOR(S):    Martin Landa <landa.martin gmail.com>
  * PURPOSE:      Controls graphics monitors for CLI
- * COPYRIGHT:    (C) 2011-2014 by Martin Landa, and the GRASS Development Team
+ * COPYRIGHT:    (C) 2011-2015 by Martin Landa, and the GRASS Development Team
  *
  *               This program is free software under the GNU General
  *               Public License (>=v2). Read the file COPYING that
@@ -27,7 +27,7 @@ int main(int argc, char *argv[])
     struct Option *start_opt, *select_opt, *stop_opt, *output_opt,
         *width_opt, *height_opt, *bgcolor_opt, *res_opt;
     struct Flag *list_flag, *selected_flag, *select_flag, *release_flag, 
-        *cmd_flag, *truecolor_flag, *update_flag;
+        *cmd_flag, *truecolor_flag, *update_flag, *x_flag, *sfile_flag;
     
     int nopts, ret;
     const char *mon;
@@ -112,6 +112,11 @@ int main(int argc, char *argv[])
     cmd_flag->description = _("Print commands for currently selected monitor and exit");
     cmd_flag->guisection = _("Print");
 
+    sfile_flag = G_define_flag();
+    sfile_flag->key = 'g';
+    sfile_flag->description =
+	_("Print path to support files of currently selected monitor and exit");
+
     select_flag = G_define_flag();
     select_flag->key = 's';
     select_flag->description = _("Do not automatically select when starting");
@@ -133,10 +138,21 @@ int main(int argc, char *argv[])
     update_flag->description = _("Requires --overwrite flag");
     update_flag->guisection = _("Settings");
 
+    x_flag = G_define_flag();
+    x_flag->key = 'x';
+    x_flag->label = _("Launch light-weight wx monitor without toolbars and statusbar");
+    x_flag->description = _("Requires 'start=wx0-7'");
+    x_flag->guisection = _("Settings");
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
-    
-    if (selected_flag->answer || release_flag->answer || cmd_flag->answer) {
+
+    if (x_flag->answer && start_opt->answer && strncmp(start_opt->answer, "wx", 2) != 0)
+        G_warning(_("Flag -%c has effect only for wx monitors (%s=wx0-7)"),
+                  x_flag->key, start_opt->key);
+            
+    if (selected_flag->answer || release_flag->answer ||
+        cmd_flag->answer || sfile_flag->answer) {
 	if (list_flag->answer)
 	    G_warning(_("Flag -%c ignored"), list_flag->key);
 	mon = G_getenv_nofatal("MONITOR");
@@ -149,6 +165,9 @@ int main(int argc, char *argv[])
 		G_message(_("List of commands for monitor <%s>:"), mon);
 		list_cmd(mon, stdout);
 	    }
+            else if (sfile_flag->answer) {
+                list_files(mon, stdout);
+            }
 	    else if (mon) { /* release */
 		G_unsetenv("MONITOR");
 		G_verbose_message(_("Monitor <%s> released"), mon); 
@@ -185,8 +204,23 @@ int main(int argc, char *argv[])
     if (start_opt->answer) {
         int width, height;
 
-        width = width_opt->answer ? atoi(width_opt->answer) : 640;
-        height = height_opt->answer ? atoi(height_opt->answer) : 480;
+        width = width_opt->answer ? atoi(width_opt->answer) : 0;
+        height = height_opt->answer ? atoi(height_opt->answer) : 0;
+        if (width < 1) {
+            char *env_width = getenv("GRASS_RENDER_WIDTH");
+            if (env_width)
+                width = atoi(env_width);
+        }
+        if (height < 1) {
+            char *env_height = getenv("GRASS_RENDER_HEIGHT");
+            if (env_height)
+                height = atoi(env_height);
+        }
+        if (width < 1)
+            width = DEFAULT_WIDTH;
+        if (height < 1)
+            height = DEFAULT_HEIGHT;
+        
         if (res_opt->answer) {
             int res;
             
@@ -195,9 +229,11 @@ int main(int argc, char *argv[])
             height *= res;
         }
 
+        G_debug(1, "Monitor width/height = %d/%d", width, height);
+
 	ret = start_mon(start_opt->answer, output_opt->answer, !select_flag->answer,
 			width, height, bgcolor_opt->answer,
-			!truecolor_flag->answer, update_flag->answer);
+			!truecolor_flag->answer, x_flag->answer, update_flag->answer);
         if (output_opt->answer && !update_flag->answer) {
             D_open_driver();
             D_setup_unity(0);
diff --git a/display/d.mon/proto.h b/display/d.mon/proto.h
index c9d4746..e1336e7 100644
--- a/display/d.mon/proto.h
+++ b/display/d.mon/proto.h
@@ -1,6 +1,12 @@
+#ifndef __PROTO_H__
+#define __PROTO_H__
+#define DEFAULT_WIDTH 640
+#define DEFAULT_HEIGHT 480
+
+
 /* start */
 int start_mon(const char *, const char *, int, int, int,
-	      const char *, int, int);
+	      const char *, int, int, int);
 
 /* select.c */
 int select_mon(const char *);
@@ -13,3 +19,6 @@ void list_mon();
 void print_list(FILE *);
 int check_mon(const char *);
 void list_cmd(const char *, FILE *);
+char *get_path(const char *, int);
+void list_files(const char *, FILE *);
+#endif
diff --git a/display/d.mon/render_cmd.py b/display/d.mon/render_cmd.py
new file mode 100644
index 0000000..11f620b
--- /dev/null
+++ b/display/d.mon/render_cmd.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+import os
+import sys
+import tempfile
+
+from grass.script import core as grass
+from grass.script import task as gtask
+
+# read environment variables from file
+def read_env_file(env_file):
+    width = height = None
+    fd = open(env_file, 'r')
+    if fd is None:
+        grass.fatal("Unable to open file '{}'".format(env_file))
+    lines = fd.readlines()
+    for l in lines:
+        if l.startswith('#'):
+            continue
+        k, v = l.rstrip('\n').split('#', 1)[0].strip().split('=', 1)
+        os.environ[k] = v
+        if width is None and k == 'GRASS_RENDER_WIDTH':
+            width = int(v)
+        if height is None and k == 'GRASS_RENDER_HEIGHT':
+            height = int(v)
+    fd.close()
+    
+    if width is None or height is None:
+        grass.fatal("Unknown monitor size")
+    
+    return width, height
+
+# run display command
+def render(cmd, mapfile):
+    env = os.environ.copy()
+    if mapfile:
+        env['GRASS_RENDER_FILE'] = mapfile
+    try:
+        grass.run_command(cmd[0], env=env, **cmd[1])
+    except Exception as e:
+        grass.debug(1, "Unable to render: {}".format(e))
+
+# update cmd file
+def update_cmd_file(cmd_file, cmd, mapfile):
+    if cmd[0] in ('d.colorlist', 'd.font', 'd.fontlist',
+                  'd.frame', 'd.info', 'd.mon', 'd.out.file',
+                  'd.redraw', 'd.to.rast', 'd.what.rast',
+                  'd.what.vect', 'd.where'):
+        return
+    
+    mode = 'w' if cmd[0] == 'd.erase' else 'a'
+    # update cmd file
+    fd = open(cmd_file, mode)
+    if fd is None:
+        grass.fatal("Unable to open file '{}'".format(cmd_file))
+    if mode == 'a':
+        frame = os.getenv('GRASS_RENDER_FRAME', None)
+        if frame:
+            fd.write('# GRASS_RENDER_FRAME={}\n'.format(frame))
+        if mapfile:
+            fd.write('# GRASS_RENDER_FILE={}\n'.format(mapfile))
+        fd.write(' '.join(gtask.cmdtuple_to_list(cmd)))
+        fd.write('\n')
+    else:
+         fd.write('')
+    fd.close()
+
+# adjust region
+def adjust_region(width, height):
+    region = grass.region()
+    
+    mapwidth  = abs(region["e"] - region["w"])
+    mapheight = abs(region['n'] - region['s'])
+    
+    region["nsres"] =  mapheight / height
+    region["ewres"] =  mapwidth  / width
+    region['rows']  = int(round(mapheight / region["nsres"]))
+    region['cols']  = int(round(mapwidth / region["ewres"]))
+    region['cells'] = region['rows'] * region['cols']
+    
+    kwdata = [('proj',      'projection'),
+              ('zone',      'zone'),
+              ('north',     'n'),
+              ('south',     's'),
+              ('east',      'e'),
+              ('west',      'w'),
+              ('cols',      'cols'),
+              ('rows',      'rows'),
+              ('e-w resol', 'ewres'),
+              ('n-s resol', 'nsres')]
+    
+    grass_region = ''
+    for wkey, rkey in kwdata:
+        grass_region += '%s: %s;' % (wkey, region[rkey])
+    
+    os.environ['GRASS_REGION'] = grass_region
+    
+if __name__ == "__main__":
+    cmd = gtask.cmdstring_to_tuple(sys.argv[1])
+    if not cmd[0] or cmd[0] == 'd.mon':
+        sys.exit(0)
+    path = os.path.dirname(os.path.abspath(__file__))
+    mon = os.path.split(path)[-1]
+    
+    width, height = read_env_file(os.path.join(path, 'env'))
+    if mon.startswith('wx'):
+        mapfile = tempfile.NamedTemporaryFile(dir=path).name
+        if cmd[0] in ('d.barscale', 'd.legend', 'd.northarrow'):
+            mapfile += '.png'
+        else:
+            mapfile += '.ppm'
+    else:
+        mapfile = None
+        adjust_region(width, height)
+        
+
+    render(cmd, mapfile)
+    update_cmd_file(os.path.join(path, 'cmd'), cmd, mapfile)
+        
+    sys.exit(0)
diff --git a/display/d.mon/start.c b/display/d.mon/start.c
index 1b6ae05..1a4f023 100644
--- a/display/d.mon/start.c
+++ b/display/d.mon/start.c
@@ -1,5 +1,6 @@
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 #include <grass/gis.h>
 #include <grass/spawn.h>
 #include <grass/display.h>
@@ -7,29 +8,41 @@
 
 #include "proto.h"
 
-static void start(const char *, const char *, int);
-static void start_wx(const char *, const char *, const char *,
-		     const char *, int, int);
+static char *start(const char *, const char *, int, int, int);
+static char *start_wx(const char *, const char *, int, int, int);
 static void error_handler(void *);
 
 /* start file-based monitor */
-void start(const char *name, const char *output, int update)
+char *start(const char *name, const char *output, int width, int height, int update)
 {
-    char *env_name, output_path[GPATH_MAX];
+    char *output_path;
     const char *output_name;
     
     /* stop monitor on failure */
     G_add_error_handler(error_handler, (char *)name);
     
+    /* full path for output file */
+    output_path = (char *) G_malloc(GPATH_MAX);
+    output_path[0] = '\0';
+    
     if (!output) {
+        char buff[512];
+
+        sprintf(buff, "GRASS_RENDER_IMMEDIATE=%s", name);
+        putenv(G_store(buff));
+        sprintf(buff, "GRASS_RENDER_WIDTH=%d", width);
+        putenv(G_store(buff));
+        sprintf(buff, "GRASS_RENDER_HEIGHT=%d", height);
+        putenv(G_store(buff));
+
         D_open_driver();
         
         output_name = D_get_file();
         if (!output_name) 
-            return;
+            return NULL;
         if (!update && access(output_name, F_OK) == 0) {
             if (G_get_overwrite()) {
-                G_warning(_("File '%s' already exists and will be overwritten"), output_name);
+                G_warning(_("File <%s> already exists and will be overwritten"), output_name);
                 D_setup_unity(0);
                 D_erase("white");
             }
@@ -41,15 +54,23 @@ void start(const char *name, const char *output, int update)
         }
         D_close_driver(); /* must be called after check because this
                            * function produces default map file */
+        putenv("GRASS_RENDER_IMMEDIATE=");
     }
     else {
         output_name = output;
+        if (!update && access(output_name, F_OK) == 0) {
+            if (G_get_overwrite()) {
+                G_warning(_("File <%s> already exists and will be overwritten"), output_name);
+                if (0 != unlink(output_name))
+                    G_fatal_error(_("Unable to delete <%s>"), output_name);
+            }
+        }
     }
 
         
     if (!strchr(output_name, HOST_DIRSEP)) { /* relative path */
         char *ptr;
-        
+    
         if (!getcwd(output_path, GPATH_MAX))
             G_fatal_error(_("Unable to get current working directory"));
         ptr = output_path + strlen(output_path) - 1;
@@ -64,50 +85,47 @@ void start(const char *name, const char *output, int update)
         strcpy(output_path, output_name); /* already full path */
     }
 
-    env_name = NULL;
-    G_asprintf(&env_name, "MONITOR_%s_MAPFILE", G_store_upper(name));
-    G_setenv(env_name, output_path);
+    return output_path;
 }
 
 /* start wxGUI display monitor */
-void start_wx(const char *name, const char *tempfile,
-	      const char *env_value, const char *cmd_value,
-	      int width, int height)
+char *start_wx(const char *name, const char *element, int width, int height, int x_only)
 {
-    char progname[GPATH_MAX];
-    char *env_name, *map_value, str_width[1024], str_height[1024];
-
-    env_name = NULL;
-    G_asprintf(&env_name, "MONITOR_%s_MAPFILE", G_store_upper(name));
-    G_asprintf(&map_value, "%s.ppm", tempfile);
-    G_setenv(env_name, map_value);
-    /* close(creat(map_value, 0666)); */
+    char progname[GPATH_MAX], mon_path[GPATH_MAX];
+    char str_width[1024], str_height[1024], *str_x_only;
+    char *mapfile;
     
-    G_debug(3, "       mapfile = %s", map_value);
+    /* full path */
+    mapfile = (char *) G_malloc(GPATH_MAX);
+    mapfile[0] = '\0';
 
     sprintf(progname, "%s/gui/wxpython/mapdisp/main.py", G_gisbase());
-    if (width > 0)
-        sprintf(str_width, "%d", width);
-    else
-        str_width[0] = '\0';
-    if (height > 0)
-        sprintf(str_height, "%d", height);
-    else
-        str_height[0] = '\0';
+    sprintf(str_width, "%d", width);
+    sprintf(str_height, "%d", height);
 
+    if (x_only)
+        str_x_only = "1";
+    else
+        str_x_only = "0";
+    
+    G_file_name(mon_path, element, NULL, G_mapset());
     G_spawn_ex(getenv("GRASS_PYTHON"), progname, progname,
-	       name, map_value, cmd_value, env_value,
-               str_width, str_height, SF_BACKGROUND, NULL);
+               name, mon_path, str_width, str_height, str_x_only, SF_BACKGROUND, NULL);
+
+    G_file_name(mapfile, element, "map.ppm", G_mapset());
+    
+    return mapfile;
 }
 
 int start_mon(const char *name, const char *output, int select,
 	      int width, int height, const char *bgcolor,
-	      int truecolor, int update)
+	      int truecolor, int x_only, int update)
 {
-    char *u_name;
-    char *env_name, *env_value, *cmd_value;
-    char *tempfile, buf[1024];
-    int env_fd;
+    char *mon_path;
+    char *out_file, *env_file, *cmd_file;
+    char  buf[1024];
+    char file_path[GPATH_MAX], render_cmd_path[GPATH_MAX];
+    int  fd;
 
     if (check_mon(name)) {
         const char *curr_mon;
@@ -119,71 +137,83 @@ int start_mon(const char *name, const char *output, int select,
         G_fatal_error(_("Monitor <%s> already running"), name);
     }
 
-    tempfile = G_tempfile();
-
-    u_name = G_store_upper(name);
-
-    env_name = env_value = NULL;
-    G_asprintf(&env_name, "MONITOR_%s_ENVFILE", u_name);
-    G_asprintf(&env_value, "%s.env", tempfile);
-    G_setenv(env_name, env_value);
-    env_fd = creat(env_value, 0666);
-    if (env_fd < 0)
-	G_fatal_error(_("Unable to create file '%s'"), env_value);
-
-    sprintf(buf, "GRASS_RENDER_FILE_READ=TRUE\n");
-    write(env_fd, buf, strlen(buf));
-    if (width) {
-	sprintf(buf, "GRASS_RENDER_WIDTH=%d\n", width);
-	write(env_fd, buf, strlen(buf));
+    G_verbose_message(_("Starting monitor <%s>..."), name);
+    
+    /* create .tmp/HOSTNAME/u_name directory */
+    mon_path = get_path(name, FALSE);
+    G_make_mapset_element(mon_path);
+    
+    G_file_name(file_path, mon_path, "env", G_mapset());
+    env_file = G_store(file_path);
+    G_file_name(file_path, mon_path, "cmd", G_mapset());
+    cmd_file = G_store(file_path);
+
+    /* create py file (renderer) */
+    sprintf(render_cmd_path, "%s/etc/d.mon/render_cmd.py", getenv("GISBASE"));
+    G_file_name(file_path, mon_path, "render.py", G_mapset());
+    G_debug(1, "Monitor name=%s, pyfile = %s", name, file_path);
+    if (1 != G_copy_file(render_cmd_path, file_path))
+        G_fatal_error(_("Unable to copy render command file"));
+
+    /* start monitor */
+    if (strncmp(name, "wx", 2) == 0)
+        out_file = start_wx(name, mon_path, width, height, x_only);
+    else
+        out_file = start(name, output, width, height, update);
+    
+    /* create env file (environmental variables used for rendering) */
+    G_debug(1, "Monitor name=%s, envfile=%s", name, env_file);
+    fd = creat(env_file, 0666);
+    if (fd < 0)
+	G_fatal_error(_("Unable to create file <%s>"), env_file);
+
+    if (G_strncasecmp(name, "wx", 2) == 0) {
+        sprintf(buf, "GRASS_RENDER_IMMEDIATE=default\n"); /* TODO: read settings from wxGUI */
+        write(fd, buf, strlen(buf));
+        sprintf(buf, "GRASS_RENDER_FILE_READ=FALSE\n");
+        write(fd, buf, strlen(buf));
+        sprintf(buf, "GRASS_RENDER_TRANSPARENT=TRUE\n");
+        write(fd, buf, strlen(buf));
     }
-    if (height) {
-	sprintf(buf, "GRASS_RENDER_HEIGHT=%d\n", height);
-	write(env_fd, buf, strlen(buf));
+    else {
+        sprintf(buf, "GRASS_RENDER_IMMEDIATE=%s\n", name);
+        write(fd, buf, strlen(buf));
+        sprintf(buf, "GRASS_RENDER_FILE_READ=TRUE\n");
+        write(fd, buf, strlen(buf));
+
     }
+    sprintf(buf, "GRASS_RENDER_FILE=%s\n", out_file);
+    write(fd, buf, strlen(buf));
+    sprintf(buf, "GRASS_RENDER_WIDTH=%d\n", width);
+    write(fd, buf, strlen(buf));
+    sprintf(buf, "GRASS_RENDER_HEIGHT=%d\n", height);
+    write(fd, buf, strlen(buf));
     if (bgcolor) {
 	if (strcmp(bgcolor, "none") == 0)
 	    sprintf(buf, "GRASS_RENDER_TRANSPARENT=TRUE\n");
 	else
 	    sprintf(buf, "GRASS_RENDER_BACKGROUNDCOLOR=%s\n", bgcolor);
-	write(env_fd, buf, strlen(buf));
+	write(fd, buf, strlen(buf));
     }
     if (truecolor) {
 	sprintf(buf, "GRASS_RENDER_TRUECOLOR=TRUE\n");
-	write(env_fd, buf, strlen(buf));
+	write(fd, buf, strlen(buf));
     }
-    close(env_fd);
-
-    cmd_value = NULL;
-    G_asprintf(&env_name, "MONITOR_%s_CMDFILE", u_name);
-    G_asprintf(&cmd_value, "%s.cmd", tempfile);
-    G_setenv(env_name, cmd_value);
-    close(creat(cmd_value, 0666));
-
-    G_verbose_message(_("Starting monitor <%s> with env file '%s'"), name, env_value);
-    if (G_verbose() > G_verbose_std()) {
-        FILE *fd;
-        
-        fd = fopen(env_value, "r");
-        while (G_getl2(buf, sizeof(buf) - 1, fd) != 0) {
-            fprintf(stderr, " %s\n", buf);
-        }
-        fclose(fd);
-    }
-
-    G_debug(1, "start: name=%s ", name);
-    G_debug(3, "       envfile = %s", env_value);
-    G_debug(3, "       cmdfile = %s", cmd_value);
-    
+    close(fd);
+   
+    /* create cmd file (list of GRASS display commands to render) */
+    G_debug(1, "Monitor name=%s, cmdfile = %s", name, cmd_file);
+    if (0 > creat(cmd_file, 0666))
+        G_fatal_error(_("Unable to create file <%s>"), cmd_file);
+
+    /* select monitor if requested */
     if (select)
 	G_setenv("MONITOR", name);
-    
-    if (strncmp(name, "wx", 2) == 0) 
-	start_wx(name, tempfile, env_value, cmd_value, 
-		 width, height);
-    else
-      start(name, output, update);
-    
+   
+    G_free(mon_path);
+    G_free(out_file);
+    G_free(env_file);
+
     return 0;
 }
 
diff --git a/display/d.mon/stop.c b/display/d.mon/stop.c
index 04c2b11..cd16a6d 100644
--- a/display/d.mon/stop.c
+++ b/display/d.mon/stop.c
@@ -1,58 +1,79 @@
 #include <stdlib.h>
 #include <signal.h>
 #include <string.h>
+#include <unistd.h>
+#include <dirent.h>
 
 #include <grass/gis.h>
 #include <grass/glocale.h>
 
 #include "proto.h"
 
-static void clean_env(const char *);
 static int stop_wx(const char *);
 static int stop(const char *);
 
 int stop_mon(const char *name)
 {
     if (!check_mon(name)) {
-	clean_env(name);
 	G_fatal_error(_("Monitor <%s> is not running"), name);
     }
     
     if (strncmp(name, "wx", 2) == 0)
-	return stop_wx(name);
+	stop_wx(name);
 
     return stop(name);
 }
 
 int stop(const char *name)
 {
-    char *env_name;
-    const char *env_file;
+    char *mon_path, file_path[GPATH_MAX];
+    struct dirent *dp;
+    DIR *dirp;
 
-    env_name = NULL;
-    G_asprintf(&env_name, "MONITOR_%s_ENVFILE", G_store_upper(name));
-    
-    env_file = G_getenv_nofatal(env_name);
-    if (!env_file)
-	G_warning(_("Env file not found"));
+    mon_path = get_path(name, TRUE);
+    dirp = opendir(mon_path);
+
+    while ((dp = readdir(dirp)) != NULL) {
+        if (!dp->d_name || dp->d_name[0] == '.')
+            continue;
+        sprintf(file_path, "%s/%s", mon_path, dp->d_name);
+        if (unlink(file_path) == -1)
+            G_warning(_("Unable to delete file <%s>"), file_path);
+    }
+    closedir(dirp);
     
-    clean_env(name);
+    if (rmdir(mon_path) == -1)
+        G_warning(_("Unable to delete directory <%s>"), mon_path);
+
+    G_free(mon_path);
+
+    G_unsetenv("MONITOR");
 
     return 0;
 }
 
 int stop_wx(const char *name)
 {
-    char *env_name;
-    const char *pid;
-
-    env_name = NULL;
-    G_asprintf(&env_name, "MONITOR_%s_PID", G_store_upper(name));
+    char *mon_path, *pid;
+    char pid_file[GPATH_MAX], buf[512];
+    FILE *fp;
+    
+    mon_path = get_path(name, FALSE);
+    G_file_name(pid_file, mon_path, "pid", G_mapset());
+    
+    fp = fopen(pid_file, "r");
+    if (!fp) {
+	G_warning(_("Unable to open file <%s>"), pid_file);
+        return 1;
+    }
+    pid = NULL;
+    if (G_getl2(buf, sizeof(buf) - 1, fp) != 0)
+        pid = G_store(buf);
+    fclose(fp);
     
-    pid = G_getenv_nofatal(env_name);
     if (!pid) {
-	clean_env(name);
-	G_fatal_error(_("PID file not found"));
+	G_warning(_("Unable to read file <%s>"), pid_file);
+        return 1;
     }
     
 #ifdef __MINGW32__
@@ -63,37 +84,5 @@ int stop_wx(const char *name)
     }
 #endif
     
-    clean_env(name);
-
     return 0;
 }
-
-void clean_env(const char *name)
-{
-    int i;
-    char *u_name;
-    const char *env_prefix = "MONITOR_";
-    const char *env;
-    int env_prefix_len;
-    char **tokens;
-
-    u_name = G_store_upper(name);
-    env_prefix_len = strlen(env_prefix);
-    
-    tokens = NULL;
-    for (i = 0; (env = G_get_env_name(i)); i++) {
-	if (strncmp(env_prefix, env, env_prefix_len) != 0)
-	    continue;
-	
-	tokens = G_tokenize(env, "_");
-	if (G_number_of_tokens(tokens) != 3 ||
-	    strcmp(tokens[1], u_name) != 0)
-	    continue;
-	G_unsetenv(env);
-	i--; /* env has been removed for the list */
-	G_free_tokens(tokens);
-	tokens = NULL;
-    }
-
-    G_unsetenv("MONITOR");
-}
diff --git a/display/d.northarrow/d.northarrow.html b/display/d.northarrow/d.northarrow.html
index f32057d..40dacca 100644
--- a/display/d.northarrow/d.northarrow.html
+++ b/display/d.northarrow/d.northarrow.html
@@ -30,4 +30,4 @@ the rotation automatically.
 Hamish Bowman, <i>Department of Geology, University of Otago, New Zealand</i>
 
 <p>
-<i>Last changed: $Date: 2013-09-19 08:08:54 +0200 (Thu, 19 Sep 2013) $</i>
+<i>Last changed: $Date: 2013-09-18 23:08:54 -0700 (Wed, 18 Sep 2013) $</i>
diff --git a/display/d.path/d.path.html b/display/d.path/d.path.html
index 583595a..01fc7f0 100644
--- a/display/d.path/d.path.html
+++ b/display/d.path/d.path.html
@@ -45,4 +45,4 @@ d.path -b roadsmajor coordinates=668646.15,224447.16,668348.83,235894.02
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/display/d.path/select.c b/display/d.path/select.c
index 1fdd640..9b3dffe 100644
--- a/display/d.path/select.c
+++ b/display/d.path/select.c
@@ -117,7 +117,7 @@ int coor_path(struct Map_info *Map, const struct color_rgb *hcolor,
     ret =
 	Vect_net_shortest_path_coor(Map, fx, fy, 0.0, tx, ty, 0.0,
 				    5 * maxdist, 5 * maxdist, &cost, Points,
-				    NULL, NULL, NULL, &fdist, &tdist);
+				    NULL, NULL, NULL, NULL, &fdist, &tdist);
     if (ret == 0) {
 	fprintf(stdout, _("Destination unreachable\n"));
     }
diff --git a/display/d.profile/d.profile.html b/display/d.profile/d.profile.html
index 1e3ec8a..6d7b4bb 100644
--- a/display/d.profile/d.profile.html
+++ b/display/d.profile/d.profile.html
@@ -18,4 +18,4 @@ Glynn Clements
 This program has been completely re-written for 7.0. It bears no
 relation to the interactive d.profile module in previous versions.
 
-<p><i>Last changed: $Date: 2014-09-27 23:56:34 +0200 (Sat, 27 Sep 2014) $</i>
+<p><i>Last changed: $Date: 2014-09-27 14:56:16 -0700 (Sat, 27 Sep 2014) $</i>
diff --git a/display/d.rast.arrow/d.rast.arrow.html b/display/d.rast.arrow/d.rast.arrow.html
index 5123cc2..11ea2b3 100644
--- a/display/d.rast.arrow/d.rast.arrow.html
+++ b/display/d.rast.arrow/d.rast.arrow.html
@@ -19,28 +19,31 @@ Cells containing null data will be marked with an "X".
 You can disable drawing of null data and unknown aspect values by
 setting its color to "<tt>none</tt>".
 
-<p>If you specify the <em>magnitude_map</em> option, arrow lengths 
-denoting magnitude will be extracted from the cell values of the specified 
+<p>If you specify the <em>magnitude_map</em> option, arrow lengths
+denoting magnitude will be extracted from the cell values of the specified
 map. In this case the tail of the arrow will be centered on the source cell.
 You may adjust the overall scale using the <em>scale</em> option.
 <em>d.rast.arrow</em> will ignore NULL and negative magnitudes, and will
 warn you if the debug level is set at 5 or higher. Be aware. If your application
-uses negative values for magnitude, you can use <em>r.mapcalc</em> to prepare
-the magnitude map to suit your needs (absolute value, inverted direction and 
-so on). 
+uses negative values for magnitude, you can use
+<em><a href="r.mapcalc.html">r.mapcalc</a></em> to prepare the magnitude map to
+suit your needs (absolute value, inverted direction and so on).
 
 <p><h2>NOTES</h2>
-By default, arrows are drawn at the size of a cell and cannot be seen if 
-the raster map is relatively close in scale. You can use the <em>skip</em> 
-option to draw arrows every n-th cell in both directions if you are working 
+By default, arrows are drawn at the size of a cell and cannot be seen if
+the raster map is relatively close in scale. You can use the <em>skip</em>
+option to draw arrows every n-th cell in both directions if you are working
 with relatively high resolutions. It may be useful to disable the grid in
 this case, which is accomplished by setting its color to "<tt>none</tt>".
 <p>For GRASS and Compass type aspect maps, the cell values of the aspect map
-will determine the corresponding direction in 360 degrees. ANSWERS type
-aspect maps will be plotted in multiples of 15 degrees, and AGNPS type
-aspect maps will be displayed in D8 representation, i.e. the eight multiples 
-of 45 degrees.
-<p>GRASS aspect maps are measured using Cartesian conventions, i.e. in degrees 
+will determine the corresponding direction in 360 degrees. ANSWERS type aspect
+maps will be plotted in multiples of 15 degrees counterclockwise from east, and
+AGNPS and Drainage type aspect maps will be displayed in D8 representation,
+i.e. the eight multiples of 45 degrees. Cell values are 1 to 8 clockwise from
+north for AGNPS and 1 to 8 counterclockwise from north east for Drainage. See
+<em><a href="r.watershed.html">r.watershed</a></em> for more details about the
+Drainage aspect.
+<p>GRASS aspect maps are measured using Cartesian conventions, i.e. in degrees
 counterclockwise from east. e.g.:
 
 <div class="code"><pre>
@@ -50,17 +53,18 @@ counterclockwise from east. e.g.:
 0,360 East
 </pre></div>
 
-They can be created from a raster elevation map with <em>r.slope.aspect</em>.
+They can be created from a raster elevation map with
+<em><a href="r.slope.aspect.html">r.slope.aspect</a></em>.
 <p>Compass type aspect maps are measured in degrees clockwise from north.
-<p>This module uses oceanographic conventions, i.e. arrows point downslope or 
+<p>This module uses oceanographic conventions, i.e. arrows point downslope or
 direction "to", as opposed to atmospheric conventions (direction "from").
 
 
 <h2>EXAMPLE</h2>
 
-Convert U,V velocity component maps into magnitide,direction maps for use 
+Convert U,V velocity component maps into magnitide,direction maps for use
 with <em>d.rast.arrow</em>:
-  
+
 <div class="code"><pre>
 r.mapcalc "magnitude = sqrt(U_map^2 + V_map^2)"
 r.mapcalc "direction = atan(U_map, V_map)"
@@ -75,6 +79,7 @@ d.rast.arrow map=direction type=grass magnitude_map=magnitude skip=3 grid=none
 <em><a href="d.rast.num.html">d.rast.num</a></em><br>
 <em><a href="g.region.html">g.region</a></em><br>
 <em><a href="r.slope.aspect.html">r.slope.aspect</a></em><br>
+<em><a href="r.watershed.html">r.watershed</a></em><br>
 <br>
 
 <h2>AUTHORS</h2>
@@ -85,7 +90,9 @@ Chris Rewerts<br>
 Purdue University</em><br><br>
 <u>Magnitude and 360 arrow code</u><br>
 Hamish Bowman<br>
-<em>Department of Marine Science, <br>
-University of Otago, New Zealand</em>
+<em>Department of Marine Science,<br>
+University of Otago, New Zealand</em><br><br>
+<u>Align grids with raster cells and Drainage aspect type</u><br>
+Huidae Cho<br>
 
-<p><i>Last changed: $Date: 2014-11-25 15:36:43 +0100 (Tue, 25 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2015-09-30 09:42:11 -0700 (Wed, 30 Sep 2015) $</i>
diff --git a/display/d.rast.arrow/main.c b/display/d.rast.arrow/main.c
index 683c1c8..8953c2e 100644
--- a/display/d.rast.arrow/main.c
+++ b/display/d.rast.arrow/main.c
@@ -15,6 +15,8 @@
 /* some minor cleanup done by Andreas Lange, andreas.lange at rhein-main.de
  * Update to handle NULLs and floating point aspect maps: Hamish Bowman, Aug 2004
  * Update for 360 degree arrows and magnitude scaling:  Hamish Bowman, Oct 2005
+ * Align grids with raster cells: Huidae Cho, Apr 2009
+ * Drainage aspect type: Huidae Cho, Sep 2015
  */
 
 /*
@@ -107,7 +109,7 @@ int main(int argc, char **argv)
     opt2->type = TYPE_STRING;
     opt2->required = NO;
     opt2->answer = "grass";
-    opt2->options = "grass,compass,agnps,answers";
+    opt2->options = "grass,compass,drainage,agnps,answers";
     opt2->description = _("Type of existing raster aspect map");
 
     opt3 = G_define_standard_option(G_OPT_C);
@@ -199,6 +201,8 @@ int main(int argc, char **argv)
 	map_type = 3;
     else if (strcmp("compass", opt2->answer) == 0)
 	map_type = 4;
+    else if (strcmp("drainage", opt2->answer) == 0)
+	map_type = 5;
 
 
     scale = atof(opt8->answer);
@@ -373,7 +377,7 @@ int main(int argc, char **argv)
 
 	    /* treat AGNPS and ANSWERS data like old zero-as-null CELL */
 	    /*   TODO: update models */
-	    if (map_type == 2 || map_type == 3) {
+	    if (map_type == 2 || map_type == 3 || map_type == 5) {
 		if (Rast_is_null_value(ptr, raster_type))
 		    aspect_c = 0;
 		else
@@ -507,6 +511,53 @@ int main(int argc, char **argv)
 		}
 	    }
 
+	    /* case switch for r.watershed drainage type aspect map */
+	    else if (map_type == 5) {
+		D_use_color(arrow_color);
+		switch (aspect_c >= 0 ? aspect_c : -aspect_c) {
+		case 0:
+		    /* only draw if x_color is not none (transparent) */
+		    if (x_color > 0) {
+			D_use_color(x_color);
+			draw_x();
+			D_use_color(arrow_color);
+		    }
+		    break;
+		case 1:
+		    arrow_ne();
+		    break;
+		case 2:
+		    arrow_n();
+		    break;
+		case 3:
+		    arrow_nw();
+		    break;
+		case 4:
+		    arrow_w();
+		    break;
+		case 5:
+		    arrow_sw();
+		    break;
+		case 6:
+		    arrow_s();
+		    break;
+		case 7:
+		    arrow_se();
+		    break;
+		case 8:
+		    arrow_e();
+		    break;
+		default:
+		    /* only draw if unknown_color is not none */
+		    if (unknown_color > 0) {
+			D_use_color(unknown_color);
+			unknown_();
+			D_use_color(arrow_color);
+		    }
+		    break;
+		}
+	    }
+
 	    ptr = G_incr_void_ptr(ptr, Rast_cell_size(raster_type));
 	    if (opt7->answer)
 		mag_ptr =
diff --git a/display/d.rast.num/d.rast.num.html b/display/d.rast.num/d.rast.num.html
index b4c8571..12f5f75 100644
--- a/display/d.rast.num/d.rast.num.html
+++ b/display/d.rast.num/d.rast.num.html
@@ -57,4 +57,4 @@ Raghavan Srinivasan,
 and Chris Rewerts,<br>
 Agricultural Engineering, Purdue University
 
-<p><i>Last changed: $Date: 2015-05-01 12:27:34 +0200 (Fri, 01 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-01 03:25:58 -0700 (Fri, 01 May 2015) $</i>
diff --git a/display/d.rast.num/main.c b/display/d.rast.num/main.c
index 06c2778..be236fe 100644
--- a/display/d.rast.num/main.c
+++ b/display/d.rast.num/main.c
@@ -60,7 +60,8 @@ int main(int argc, char **argv)
     struct Colors colors;
     struct GModule *module;
     struct _opt {
-	struct Option *map, *grid_color, *text_color, *prec;
+	struct Option *map, *grid_color, *text_color, *prec,
+	    *font, *path, *charset;
     } opt;
     struct _flg {
 	struct Flag *text_color, *align;
@@ -110,7 +111,29 @@ int main(int argc, char **argv)
     flg.text_color->key = 'f';
     flg.text_color->description = _("Get text color from cell color value");
     flg.text_color->guisection = _("Colors");
-    
+
+    opt.font = G_define_option();
+    opt.font->key = "font";
+    opt.font->type = TYPE_STRING;
+    opt.font->required = NO;
+    opt.font->description = _("Font name");
+    opt.font->guisection = _("Font settings");
+
+    opt.path = G_define_standard_option(G_OPT_F_INPUT);
+    opt.path->key = "path";
+    opt.path->required = NO;
+    opt.path->description = _("Path to font file");
+    opt.path->gisprompt = "old_file,font,file";
+    opt.path->guisection = _("Font settings");
+
+    opt.charset = G_define_option();
+    opt.charset->key = "charset";
+    opt.charset->type = TYPE_STRING;
+    opt.charset->required = NO;
+    opt.charset->description =
+	_("Text encoding (only applicable to TrueType fonts)");
+    opt.charset->guisection = _("Font settings");
+
     /* Check command line */
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
@@ -193,6 +216,14 @@ int main(int argc, char **argv)
 
     D_open_driver();
     
+    if (opt.font->answer)
+	D_font(opt.font->answer);
+    else if (opt.path->answer)
+	D_font(opt.path->answer);
+
+    if (opt.charset->answer)
+	D_encoding(opt.charset->answer);
+    
     D_setup2(0, 0, t, b, l, r);
 
     D_ns = fabs(D_get_u_to_d_yconv());
diff --git a/display/d.rast/d.rast.html b/display/d.rast/d.rast.html
index 5490b52..09e7c77 100644
--- a/display/d.rast/d.rast.html
+++ b/display/d.rast/d.rast.html
@@ -44,4 +44,4 @@ d.rast landuse96_28m values=1,2
 James Westervelt, U.S. Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-01-26 00:43:30 +0100 (Sun, 26 Jan 2014) $</i>
+<i>Last changed: $Date: 2014-01-25 15:43:30 -0800 (Sat, 25 Jan 2014) $</i>
diff --git a/display/d.rast/display.c b/display/d.rast/display.c
index 3521f74..73be606 100644
--- a/display/d.rast/display.c
+++ b/display/d.rast/display.c
@@ -30,8 +30,6 @@ int display(const char *name,
 	Rast_set_null_value_color(r, g, b, &colors);
     }
 
-    D_setup(0);
-
     /* Go draw the raster map */
     cell_draw(name, &colors, overlay, invert, data_type);
 
diff --git a/display/d.rgb/d.rgb.html b/display/d.rgb/d.rgb.html
index 44cb14f..6b03f5b 100644
--- a/display/d.rgb/d.rgb.html
+++ b/display/d.rgb/d.rgb.html
@@ -66,4 +66,4 @@ d.rgb blue=lsat7_2002_10 green=lsat7_2002_20 red=lsat7_2002_30
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2014-12-28 16:45:01 +0100 (Sun, 28 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-28 07:42:58 -0800 (Sun, 28 Dec 2014) $</i>
diff --git a/display/d.rhumbline/d.rhumbline.html b/display/d.rhumbline/d.rhumbline.html
index d9c8db2..2b7b678 100644
--- a/display/d.rhumbline/d.rhumbline.html
+++ b/display/d.rhumbline/d.rhumbline.html
@@ -54,4 +54,4 @@ coordinate system.
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/display/d.rhumbline/main.c b/display/d.rhumbline/main.c
index 36aefa5..4c015f6 100644
--- a/display/d.rhumbline/main.c
+++ b/display/d.rhumbline/main.c
@@ -57,9 +57,9 @@ int main(int argc, char *argv[])
     parm.lcolor->label = _("Line color");
 
 #ifdef CAN_DO_DISTANCES
-    parm.tcolor = G_define_standard_option(G_OPT_C_FG);
+    parm.tcolor = G_define_standard_option(G_OPT_C);
     parm.tcolor->key = "text_color";
-    parm.tcolor->label = _("Text color or \"none\"");
+    parm.tcolor->label = _("Text color");
     parm.tcolor->answer = NULL;
 
     parm.units = G_define_standard_option(G_OPT_M_UNITS);
diff --git a/display/d.text/d.text.html b/display/d.text/d.text.html
index 34e932a..80116ec 100644
--- a/display/d.text/d.text.html
+++ b/display/d.text/d.text.html
@@ -109,4 +109,4 @@ U.S. Army Construction Engineering
 Research Laboratory
 <p>Updates by Huidae Cho
 
-<p><i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/display/d.title/d.title.html b/display/d.title/d.title.html
index 0c31b30..30cc7b6 100644
--- a/display/d.title/d.title.html
+++ b/display/d.title/d.title.html
@@ -57,4 +57,4 @@ James Westervelt,
 U.S. Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/display/d.vect.chart/bar.c b/display/d.vect.chart/bar.c
index 2c31853..468734e 100644
--- a/display/d.vect.chart/bar.c
+++ b/display/d.vect.chart/bar.c
@@ -7,11 +7,12 @@
 
 int
 bar(double cx, double cy, int size, double scale, double *val, int ncols,
-    COLOR * ocolor, COLOR * colors, int y_center, double *max_reference)
+    COLOR * ocolor, COLOR * colors, int y_center, double *max_reference,
+    int do3d)
 {
     int i;
     double max;
-    double x0, y0;
+    double x0, y0, x1, y1, dx, dy;
     double bw;			/* bar width */
     double pixel;		/* pixel size */
     struct line_pnts *Points, *max_Points;
@@ -44,6 +45,8 @@ bar(double cx, double cy, int size, double scale, double *val, int ncols,
     x0 = cx - size * pixel / 2;
 
     bw = size * pixel / ncols;
+    dx = bw / 5.0;
+    dy = dx * 1.5;
 
     if (max_reference) {
 	/* Draw polygon outlining max value in dataset with no fill color */
@@ -81,6 +84,46 @@ bar(double cx, double cy, int size, double scale, double *val, int ncols,
 
 	D_RGB_color(ocolor->r, ocolor->g, ocolor->b);
 	D_polyline_abs(Points->x, Points->y, Points->n_points);
+	
+	if (do3d) {
+	    /* up */
+	    Vect_reset_line(Points);
+	    y1 = y0 + scale * val[i] * pixel;
+	    Vect_append_point(Points, x0 + i * bw, y1, 0);
+	    Vect_append_point(Points, x0 + i * bw + dx, y1 + dy, 0);
+	    Vect_append_point(Points, x0 + (i + 1) * bw + dx, y1 + dy, 0);
+	    Vect_append_point(Points, x0 + (i + 1) * bw, y1, 0);
+	    Vect_append_point(Points, x0 + i * bw, y1, 0);
+
+	    if (!colors[i].none) {
+		D_RGB_color(colors[i].r, colors[i].g, colors[i].b);
+		D_polygon_abs(Points->x, Points->y, Points->n_points);
+	    }
+
+	    D_RGB_color(ocolor->r, ocolor->g, ocolor->b);
+	    /* do not draw the same line twice */
+	    Points->n_points = 4;
+	    D_polyline_abs(Points->x, Points->y, Points->n_points);
+
+	    /* right */
+	    Vect_reset_line(Points);
+	    x1 = x0 + (i + 1) * bw;
+	    Vect_append_point(Points, x1 + dx + 0.5 * pixel, y1 + dy, 0);
+	    Vect_append_point(Points, x1 + dx + 0.5 * pixel, y0 + dy, 0);
+	    Vect_append_point(Points, x1, y0, 0);
+	    Vect_append_point(Points, x1, y1, 0);
+	    Vect_append_point(Points, x1 + dx + 0.5 * pixel, y1 + dy, 0);
+
+	    if (!colors[i].none && val[i] > 0) {
+		D_RGB_color(colors[i].r, colors[i].g, colors[i].b);
+		D_polygon_abs(Points->x, Points->y, Points->n_points);
+	    }
+
+	    D_RGB_color(ocolor->r, ocolor->g, ocolor->b);
+	    /* do not draw the same line twice */
+	    Points->n_points = 3;
+	    D_polyline_abs(Points->x, Points->y, Points->n_points);
+	}
     }
 
     /* tidy up */
diff --git a/display/d.vect.chart/d.vect.chart.html b/display/d.vect.chart/d.vect.chart.html
index 8822f34..9329861 100644
--- a/display/d.vect.chart/d.vect.chart.html
+++ b/display/d.vect.chart/d.vect.chart.html
@@ -28,18 +28,33 @@ plot if <b>chart_type</b> is <em>bar</em> (See Example 2).
 
 <h3>Example 1</h3>
 
-Pie-chart of monthly winter precipitation (North Carolina sample dataset):
+Pie-charts of monthly winter precipitation (North Carolina sample dataset):
+
+<!-- might be good to add this to example:
+v.voronoi input=precip_30ynormals output=precip_stations_voronoi
+d.vect precip_stations_voronoi type=boundary
+-->
 
 <div class="code"><pre>
 g.region vector=nc_state -p
 d.vect nc_state
 d.vect.chart precip_30ynormals chart_type=pie columns=nov,dec,jan,feb -l
+
+# show pie chart as 3D
+d.erase
+d.vect nc_state
+d.vect.chart precip_30ynormals chart_type=pie columns=nov,dec,jan,feb -l -3
 </pre></div>
 
 <center>
 <img src="d_vect_chart_pie_2d.png" alt="d.vect.chart 2D pie chart"><br>
 2D pie-chart of monthly winter precipitation in North Carolina
 </center>
+<p>
+<center>
+<img src="d_vect_chart_pie_3d.png" alt="d.vect.chart 3D pie chart"><br>
+3D pie-chart of monthly winter precipitation in North Carolina
+</center>
 
 <h3>Example 2</h3>
 
@@ -83,4 +98,4 @@ Bar charts of an erodibiliy index (spatial subset)
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2015-03-15 21:22:17 +0100 (Sun, 15 Mar 2015) $</i>
+<p><i>Last changed: $Date: 2015-08-20 03:55:47 -0700 (Thu, 20 Aug 2015) $</i>
diff --git a/display/d.vect.chart/d_vect_chart_pie_3d.png b/display/d.vect.chart/d_vect_chart_pie_3d.png
new file mode 100644
index 0000000..3ee70b6
Binary files /dev/null and b/display/d.vect.chart/d_vect_chart_pie_3d.png differ
diff --git a/display/d.vect.chart/global.h b/display/d.vect.chart/global.h
index 139693c..8aa9862 100644
--- a/display/d.vect.chart/global.h
+++ b/display/d.vect.chart/global.h
@@ -10,8 +10,10 @@ typedef struct
 
 int plot(int ctype, struct Map_info *Map, int type, int field,
 	 char *columns, int ncols, char *sizecol, int size, double scale,
-	 COLOR * ocolor, COLOR * colors, int y_center, double *max_reference);
+	 COLOR * ocolor, COLOR * colors, int y_center,
+	 double *max_reference, int do3d);
 int pie(double cx, double cy, int size, double *val, int ncols,
-	COLOR * ocolor, COLOR * colors);
+	COLOR * ocolor, COLOR * colors, int do3d);
 int bar(double cx, double cy, int size, double scale, double *val, int ncols,
-	COLOR * ocolor, COLOR * colors, int y_center, double *max_reference);
+	COLOR * ocolor, COLOR * colors, int y_center, double *max_reference,
+	int do3d);
diff --git a/display/d.vect.chart/main.c b/display/d.vect.chart/main.c
index 59f886d..52d7782 100644
--- a/display/d.vect.chart/main.c
+++ b/display/d.vect.chart/main.c
@@ -43,7 +43,7 @@ int main(int argc, char **argv)
     struct Option *field_opt;
     struct Option *ocolor_opt, *colors_opt;
     struct Option *columns_opt, *sizecol_opt;
-    struct Flag *y_center_flag, *legend_flag;
+    struct Flag *y_center_flag, *legend_flag, *chart3d_flag;
 
     /*   struct Flag *horizontal_bar_flag; */
     struct Map_info Map;
@@ -141,6 +141,12 @@ int main(int argc, char **argv)
     legend_flag->description =
 	_("Create legend information and send to stdout");
 
+    chart3d_flag = G_define_flag();
+    chart3d_flag->key = '3';
+    chart3d_flag->description =
+	_("Create 3D charts");
+    chart3d_flag->guisection = _("Chart properties");
+
     /*
        horizontal_bar_flag = G_define_flag();
        horizontal_bar_flag->key = 'h';
@@ -264,7 +270,8 @@ int main(int argc, char **argv)
     ret = plot(ctype, &Map, type, field,
 	       columns_opt->answer, ncols,
 	       sizecol_opt->answer, size, scale,
-	       &ocolor, colors, y_center, max_reference);
+	       &ocolor, colors, y_center, max_reference,
+	       chart3d_flag->answer);
 
     D_save_command(G_recreate_command());
     D_close_driver();
diff --git a/display/d.vect.chart/pie.c b/display/d.vect.chart/pie.c
index 7c4408e..9ee4076 100644
--- a/display/d.vect.chart/pie.c
+++ b/display/d.vect.chart/pie.c
@@ -8,12 +8,41 @@
 
 #define PI  M_PI
 
+static int init = 0;
+static double sa = 0.0;
+static double ca = 1.0;
+
+
+/* rotates x and y about the origin (xo,yo) by angle radians */
+static void rotate(double *x, double *y, double xo, double yo, int do3d)
+{
+    double tmpx, tmpy;
+
+    if (!do3d)
+	return;
+
+    /* first translate */
+    tmpx = *x - xo;
+    tmpy = *y - yo;
+
+    /* now rotate */
+    *x = tmpx * ca - tmpy * sa;
+    *y = tmpx * sa + tmpy * ca;
+
+    /* now translate back */
+    *x += xo;
+    *y += yo;
+
+    return;
+}
+
+
 int
 pie(double cx, double cy, int size, double *val, int ncols, COLOR * ocolor,
-    COLOR * colors)
+    COLOR * colors, int do3d)
 {
     int i, j, n;
-    double a, end_ang, ang, tot_sum, sum, step, r;
+    double a, end_ang, ang, tot_sum, sum, step, r, rminor;
     double x, y;
     struct line_pnts *Points;
 
@@ -21,13 +50,118 @@ pie(double cx, double cy, int size, double *val, int ncols, COLOR * ocolor,
 
     Points = Vect_new_line_struct();
 
+    if (!init) {
+	sa = sin(-6 / 180.0 * PI);
+	ca = cos(-6 / 180.0 * PI);
+	init = 1;
+    }
+
     /* Calc sum */
     tot_sum = 0;
     for (i = 0; i < ncols; i++)
 	tot_sum += val[i];
+    
+    if (tot_sum == 0) {
+	Vect_destroy_line_struct(Points);
+	return 0;    /* nothing to draw */
+    }
 
     step = PI / 180;
     r = (D_d_to_u_col(2) - D_d_to_u_col(1)) * size / 2;	/* do it better */
+    rminor = r;
+
+    if (do3d) {
+	int first, np;
+
+	rminor = r * 2.0 / 3.0;
+
+	/* Draw lower polygon for each value */
+	sum = 0;
+	ang = 0;
+	for (i = 0; i < ncols; i++) {
+	    if (val[i] == 0)
+		continue;
+
+	    sum += val[i];
+
+	    end_ang = 2 * PI * sum / tot_sum;
+
+	    if (end_ang <= PI) {
+		ang = end_ang;
+		continue;
+	    }
+
+	    Vect_reset_line(Points);
+
+	    n = (int)ceil((end_ang - ang) / step);
+
+	    /* upper -> lower */
+	    a = ang;
+	    if (ang < PI)
+		a = PI;
+
+	    x = cx + r * cos(a);
+	    y = cy + rminor * sin(a);
+	    rotate(&x, &y, cx, cy, do3d);
+	    Vect_append_point(Points, x, y, 0);
+
+	    /* lower */
+	    first = ang < PI ? 1 : 0;
+	    for (j = 0, a = ang; j <= n; j++, a += step) {
+		if (j == n)
+		    a = end_ang;
+		if (a > PI) {
+		    if (first) {
+			x = cx + r * cos(PI);
+			y = cy + rminor * sin(PI) - r / 5;
+			rotate(&x, &y, cx, cy, do3d);
+			Vect_append_point(Points, x, y, 0);
+			first = 0;
+		    }
+		    x = cx + r * cos(a);
+		    y = cy + rminor * sin(a) - r / 5;
+		    rotate(&x, &y, cx, cy, do3d);
+		    Vect_append_point(Points, x, y, 0);
+		}
+	    }
+	    np = Points->n_points + 1;
+
+	    /* upper */
+	    first = end_ang > PI ? 1 : 0;
+	    for (j = 0, a = end_ang; j <= n; j++, a -= step) {
+		if (j == n)
+		    a = ang;
+		if (a > PI) {
+		    x = cx + r * cos(a);
+		    y = cy + rminor * sin(a);
+		    rotate(&x, &y, cx, cy, do3d);
+		    Vect_append_point(Points, x, y, 0);
+		}
+		else if (first) {
+		    x = cx + r * cos(PI);
+		    y = cy + rminor * sin(PI);
+		    rotate(&x, &y, cx, cy, do3d);
+		    Vect_append_point(Points, x, y, 0);
+		    first = 0;
+		}
+	    }
+
+	    ang = end_ang;
+	    
+	    if (Points->n_points == 0)
+		continue;
+
+	    if (!colors[i].none) {
+		D_RGB_color(colors[i].r, colors[i].g, colors[i].b);
+		D_polygon_abs(Points->x, Points->y, Points->n_points);
+	    }
+
+	    D_RGB_color(ocolor->r, ocolor->g, ocolor->b);
+	    Points->n_points = np;
+	    D_polyline_abs(Points->x, Points->y, Points->n_points);
+	}
+    }
+
     /* Draw polygon for each value */
     sum = 0;
     ang = 0;
@@ -41,21 +175,30 @@ pie(double cx, double cy, int size, double *val, int ncols, COLOR * ocolor,
 
 	Vect_reset_line(Points);
 
-	if (val[i] != tot_sum)    /* all in one slice, don't draw line to center */
-	    Vect_append_point(Points, cx, cy, 0);
+	if (val[i] != tot_sum) {    /* all in one slice, don't draw line to center */
+	    x = cx;
+	    y = cy;
+	    rotate(&x, &y, cx, cy, do3d);
+	    Vect_append_point(Points, x, y, 0);
+	}
 
 	n = (int)ceil((end_ang - ang) / step);
 	for (j = 0, a = ang; j <= n; j++, a += step) {
 	    if (a > end_ang)
 		a = end_ang;
 	    x = cx + r * cos(a);
-	    y = cy + r * sin(a);
+	    y = cy + rminor * sin(a);
+	    rotate(&x, &y, cx, cy, do3d);
 	    Vect_append_point(Points, x, y, 0);
 	}
 	ang = end_ang;
 
-	if (val[i] != tot_sum)    /* all in one slice, don't draw line to center */
-	    Vect_append_point(Points, cx, cy, 0);
+	if (val[i] != tot_sum) {    /* all in one slice, don't draw line to center */
+	    x = cx;
+	    y = cy;
+	    rotate(&x, &y, cx, cy, do3d);
+	    Vect_append_point(Points, x, y, 0);
+	}
 
 	if (!colors[i].none) {
 	    D_RGB_color(colors[i].r, colors[i].g, colors[i].b);
diff --git a/display/d.vect.chart/plot.c b/display/d.vect.chart/plot.c
index c33a9bc..f0b8e40 100644
--- a/display/d.vect.chart/plot.c
+++ b/display/d.vect.chart/plot.c
@@ -11,7 +11,8 @@
 int
 plot(int ctype, struct Map_info *Map, int type, int field,
      char *columns, int ncols, char *sizecol, int size, double scale,
-     COLOR * ocolor, COLOR * colors, int y_center, double *max_reference)
+     COLOR * ocolor, COLOR * colors, int y_center, double *max_reference,
+     int do3d)
 {
     int ltype, nlines, line, col, more, coltype, nselcols;
     double x, y, csize, len;
@@ -126,11 +127,11 @@ plot(int ctype, struct Map_info *Map, int type, int field,
 		csize = val[ncols];
 		size = scale * csize;
 	    }
-	    pie(x, y, size, val, ncols, ocolor, colors);
+	    pie(x, y, size, val, ncols, ocolor, colors, do3d);
 	}
 	else {
 	    bar(x, y, size, scale, val, ncols, ocolor, colors, y_center,
-		max_reference);
+		max_reference, do3d);
 	}
     }
 
diff --git a/display/d.vect.thematic/d.vect.thematic.html b/display/d.vect.thematic/d.vect.thematic.html
index 6692f58..05b44c2 100644
--- a/display/d.vect.thematic/d.vect.thematic.html
+++ b/display/d.vect.thematic/d.vect.thematic.html
@@ -125,4 +125,4 @@ AddOns: <em><a href="http://grass.osgeo.org/grass70/manuals/addons/d.vect.themat
 Moritz Lennert
 
 <p>
-<i>Last changed: $Date: 2015-08-11 23:07:09 +0200 (Tue, 11 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-11 14:06:03 -0700 (Tue, 11 Aug 2015) $</i>
diff --git a/display/d.vect/d.vect.html b/display/d.vect/d.vect.html
index 12e1934..7336730 100644
--- a/display/d.vect/d.vect.html
+++ b/display/d.vect/d.vect.html
@@ -123,4 +123,4 @@ Radim Blazek, ITC-Irst, Trento, Italy<br>
 Support for color tables by Martin Landa, Czech Technical University in Prague (8/2011)<br>
 and many other GRASS developers
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/display/d.vect/main.c b/display/d.vect/main.c
index 542a2d4..7290e96 100644
--- a/display/d.vect/main.c
+++ b/display/d.vect/main.c
@@ -100,7 +100,7 @@ int main(int argc, char **argv)
     
     /* Query */
     type_opt = G_define_standard_option(G_OPT_V_TYPE);
-    type_opt->answer = "point,line,boundary,area,face";
+    type_opt->answer = "point,line,area,face";
     type_opt->options = "point,line,boundary,centroid,area,face";
     type_opt->guisection = _("Selection");
     
diff --git a/display/d.where/d.where.html b/display/d.where/d.where.html
index d5c2f16..5aa4569 100644
--- a/display/d.where/d.where.html
+++ b/display/d.where/d.where.html
@@ -64,4 +64,4 @@ Michael Shapiro, <br>
 U.S. Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/display/displaydrivers.html b/display/displaydrivers.html
index 6fcafcc..309150f 100644
--- a/display/displaydrivers.html
+++ b/display/displaydrivers.html
@@ -15,6 +15,57 @@ running <em><a href="d.mon.html">d.mon</a></em> module.
   <li><a href="htmldriver.html">HTMLMAP driver</a>
 </ul>
 
+<h2>NOTES</h2>
+
+<h3>GRASS_RENDER_COMMAND</h3>
+
+If environmental variable GRASS_RENDER_COMMAND is defined,
+rendering is redirected by display library to the given external command
+defined by this variable. Currently only Python scrips are supported.
+
+<p>
+Lets start with simple example of Python script called <i>render.py</i>:
+
+<div class="code"><pre>
+#!/usr/bin/evn python
+
+import os
+import sys
+
+import grass.script as grass
+from grass.script import task as gtask
+
+os.environ['GRASS_RENDER_IMMEDIATE'] = 'default'
+os.environ['GRASS_RENDER_FILE'] = 'output.png'
+
+cmd, dcmd = gtask.cmdstring_to_tuple(sys.argv[1])
+
+grass.run_command('d.text', text="Test of GRASS_RENDER_COMMAND redirection")
+
+os.environ['GRASS_RENDER_FILE_READ'] = 'TRUE'
+grass.run_command(cmd, **dcmd)
+</pre></div>
+
+After defining GRASS_RENDER_COMMAND variable (example for Bash):
+
+<div class="code"><pre>
+export GRASS_RENDER_COMMAND=render.py
+</pre></div>
+
+Display GRASS modules like <em><a href="d.rast.html">d.rast</a></em>
+or <em><a href="d.vect.html">d.vect</a></em> will be executed
+by <i>render.py</i> program.
+
+For example the command
+
+<div class="code"><pre>
+d.vect roadsmajor
+</pre></div>
+
+produces output PNG file <i>output.png</i> which will contain rendered
+features from vector map <i>roadsmajor</i> and sample text <i>"Test of
+GRASS_RENDER_COMMAND redirection"</i>.
+
 <h2>SEE ALSO</h2>
 
 <em>
diff --git a/doc/Makefile b/doc/Makefile
index bd8ec91..042789d 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,8 +1,7 @@
 MODULE_TOPDIR = ..
 
-PGM = projectionintro
+include $(MODULE_TOPDIR)/include/Make/Other.make
 
-include $(MODULE_TOPDIR)/include/Make/Dir.make
-
-default: htmldir
+FILES := $(wildcard *.html)
 
+default: $(patsubst %,$(HTMLDIR)/%,$(FILES))
diff --git a/doc/README b/doc/README
new file mode 100644
index 0000000..30ebd2f
--- /dev/null
+++ b/doc/README
@@ -0,0 +1,105 @@
+Graphical index images
+======================
+
+General
+-------
+
+Clipped part from grass_structure.png with Locations, Mapsets and data
+types.
+
+Alternative (can be also alternative for display):
+
+g.region n=224940 s=224590 w=638450 e=638840
+
+d.shade shade=elevation_shade color=elevation  # opacity 90%
+d.vect map=firestations color=45:107:168 fill_color=30:144:255 width=2 icon=basic/circle size=15
+d.vect map=schools color=208:208:0 fill_color=yellow width=2 icon=basic/triangle size=15
+d.vect map=hospitals color=136:0:0 fill_color=213:21:21 width=2 icon=basic/box size=15
+
+
+Raster
+------
+
+d.rast.num -a -f map=elevation grid_color=179:179:179 precision=0
+
+
+Vector
+------
+
+g.region n=224940 s=224590 w=638450 e=638840
+
+v.buffer input="streams" layer="-1" output="streams_buffer" distance=20
+
+d.vect map=census color=142:142:0 fill_color=255:255:167 width=2
+d.vect map=streams_buffer color=11:185:11 fill_color=11:185:11 width=1
+d.vect map=streams color=30:144:255 width=4
+
+
+Database
+--------
+
+streams attributes screenshot
+
+DIR="../trunk-commands/doc/"
+for FILE in *.png; do convert $FILE -resize 200x200 $DIR/`basename -s .png $FILE`.jpg; done;
+
+
+Display
+-------
+
+g.region n=226640 s=222860 w=631260 e=637170
+
+d.rast map=elevation_shade
+d.rast map=lakes
+d.vect map=schools color=16:70:123 fill_color=30:144:255 width=1 icon=basic/triangle size=10
+d.vect map=roadsmajor color=255:151:38 width=4
+d.vect map=roadsmajor color=255:172:82 width=2
+
+GUI
+---
+
+* Ubuntu 14.04 with Unity
+* landclass, roadsmajor, elevation
+* query map dialog active
+* Search modules tab active (with open subtrees)
+
+
+Imagery
+-------
+
+# this takes some time, perhaps the region below would be enough
+g.region -p raster=ortho_2001_t792_1m
+i.group group=ortho_group input=ortho_2001_t792_1m
+i.segment group=ortho_group output=ortho_segs_final threshold=0.25 min=10
+
+g.region n=221100 s=219700 w=638616 e=639316 -p
+d.mon start=cairo output=gi_imagery.png width=500 height=500
+d.frame left -c at=0,100,0,50d.rast ortho_2001_t792_1m
+d.rast ortho_2001_t792_1m
+d.frame right -c at=0,100,50,100
+d.rast ortho_segs_final
+d.mon stop=cairo
+
+
+Temporal
+--------
+
+Done in GUI.
+
+g.region raster=landuse
+
+r.mapcalc "a1 = 10"
+r.mapcalc "a2 = 20"
+r.mapcalc "a3 = 30"
+r.mapcalc "a4 = 40"
+
+m.nviz.image elevation_map=a1,a2,a3,a4 mode=fine,fine,fine,fine resolution_fine=1,6,1,1 resolution_coarse=9,9,9,9 shading=gouraud,gouraud,gouraud,gouraud style=surface,surface,surface,surface wire_color=136:136:136,136:136:136,136:136:136,136:136:136 color_map=landuse,landuse,landuse,landuse \
+position=0.03,0.31 height=92 perspective=36 twist=-99 zexag=200.000000 focus=1071,9393,30 \
+light_position=-0.57,0.75,0.80 light_brightness=80 light_ambient=20 light_color=255:255:255 \
+output=nviz_output format=ppm size=872,586  
+
+
+Miscellaneous
+-------------
+
+Taken from d.rhumbline.
diff --git a/doc/gi_3dview.jpg b/doc/gi_3dview.jpg
new file mode 100644
index 0000000..74d4693
Binary files /dev/null and b/doc/gi_3dview.jpg differ
diff --git a/doc/gi_c.jpg b/doc/gi_c.jpg
new file mode 100644
index 0000000..3233e79
Binary files /dev/null and b/doc/gi_c.jpg differ
diff --git a/doc/gi_cartography.jpg b/doc/gi_cartography.jpg
new file mode 100644
index 0000000..b2bb80b
Binary files /dev/null and b/doc/gi_cartography.jpg differ
diff --git a/doc/gi_database.jpg b/doc/gi_database.jpg
new file mode 100644
index 0000000..c8f13cf
Binary files /dev/null and b/doc/gi_database.jpg differ
diff --git a/doc/gi_display.jpg b/doc/gi_display.jpg
new file mode 100644
index 0000000..1b2abde
Binary files /dev/null and b/doc/gi_display.jpg differ
diff --git a/doc/gi_gallery.jpg b/doc/gi_gallery.jpg
new file mode 100644
index 0000000..ecedefb
Binary files /dev/null and b/doc/gi_gallery.jpg differ
diff --git a/doc/gi_general.jpg b/doc/gi_general.jpg
new file mode 100644
index 0000000..c424666
Binary files /dev/null and b/doc/gi_general.jpg differ
diff --git a/doc/gi_gui.jpg b/doc/gi_gui.jpg
new file mode 100644
index 0000000..c2be3ff
Binary files /dev/null and b/doc/gi_gui.jpg differ
diff --git a/doc/gi_imagery.jpg b/doc/gi_imagery.jpg
new file mode 100644
index 0000000..b826c7c
Binary files /dev/null and b/doc/gi_imagery.jpg differ
diff --git a/doc/gi_misc.jpg b/doc/gi_misc.jpg
new file mode 100644
index 0000000..b8af30b
Binary files /dev/null and b/doc/gi_misc.jpg differ
diff --git a/doc/gi_python.jpg b/doc/gi_python.jpg
new file mode 100644
index 0000000..15da985
Binary files /dev/null and b/doc/gi_python.jpg differ
diff --git a/doc/gi_raster.jpg b/doc/gi_raster.jpg
new file mode 100644
index 0000000..9dfcf97
Binary files /dev/null and b/doc/gi_raster.jpg differ
diff --git a/doc/gi_raster3d.jpg b/doc/gi_raster3d.jpg
new file mode 100644
index 0000000..99dbcff
Binary files /dev/null and b/doc/gi_raster3d.jpg differ
diff --git a/doc/gi_temporal.jpg b/doc/gi_temporal.jpg
new file mode 100644
index 0000000..1de6a95
Binary files /dev/null and b/doc/gi_temporal.jpg differ
diff --git a/doc/gi_vector.jpg b/doc/gi_vector.jpg
new file mode 100644
index 0000000..c9dacaf
Binary files /dev/null and b/doc/gi_vector.jpg differ
diff --git a/doc/grass_database.html b/doc/grass_database.html
new file mode 100644
index 0000000..2ef53f3
--- /dev/null
+++ b/doc/grass_database.html
@@ -0,0 +1,295 @@
+<!-- meta page description: GRASS GIS Database -->
+
+A GRASS GIS Database is simply a set of directories and files
+with certain structure which GRASS GIS works efficiently with.
+Location is a directory with data related to
+one geographic location or a project.
+All data within one Location has the same cartographic projection.
+A Location contains Mapsets and each Mapset contains data related to
+a specific task, user or a smaller project.
+Within each Location, a mandatory PERMANENT Mapset exists
+which can contain commonly used data within a Location such as base maps.
+PERMANENT Mapset also contains metadata related to Location
+such as projection.
+When GRASS GIS is started it connects to a Database, Location and Mapset
+specified by the user.
+
+<p>
+<!-- original drawing: doc/grass_database.svg -->
+<center>
+  <img src="grass_database.png" alt="example: nc_spm - highway - elevation"><br>
+  <i>Fig. 1: GRASS GIS Database structure as visible to the user</i>
+</center>
+
+<!--
+TODO: Introduction/Rationale/Motivation
+
+data format handling separated from analysis
+
+organizing the data
+In geospatial analysis often involves combining data from various sources
+multiple users
+-->
+
+
+<h3>GRASS GIS Database</h3>
+
+All data for GRASS GIS must be in GRASS GIS Database which is a directory
+(visible on the disk) containing subdirectories which are GRASS Locations.
+User can have one or more of Databases on the disk. Typically users have
+one directory called <code>grassdata</code> in their home directory.
+In multi-user environment users often have a <code>grassdata</code> directory
+mounted as a network directory (network file system).
+For teams, a centralized GRASS DATABASE would be defined
+in a shared network file system (e.g. NFS).
+<!-- TODO: above needs some fixes -->
+
+<p>
+GRASS GIS Databases can be safely copied or moved as any other directories.
+Don't be confused with (relational) databases which are used in GRASS GIS
+to hold attribute data and might be part of the GRASS GIS Database.
+From user point of view, GRASS GIS Database with all its data in it
+is similar to, e.g. PostGIS, database, as it stores all information
+inside in a specific format and is accessible by specific tools.
+GRASS GIS Databases is in GRASS GIS often called GISDBASE or DATABASE.
+
+
+<h3>GRASS Locations</h3>
+
+Location is a directory which contains GRASS Mapsets which are its subdirectories.
+All data in one Location have the same projection (coordinate system, datum).
+Each Location must contain Mapset called PERMANENT.
+Typically, a Location contains all data related to one project
+or a geographic area (geographic location or region).
+Alternatively, Location can simply contain all data in a given projection.
+
+<p>
+GRASS Locations can be safely copied or moved as any other directories.
+Compressed Location is usually what GRASS users exchange between each other
+when they want to share a lot of data.
+For example, GRASS GIS sample data are provided as Locations.
+
+<p>
+Don't be confused with location as a place (file or directory) in a file system.
+The word location in GRASS Location refers to a location or area on Earth
+(or whatever is applicable).
+Users and programmers familiar with relational databases such as PostgreSQL
+can view Location as an individual database inside the system or a storage area
+which would be equivalent to GRASS GIS Database. Mapsets in a Locations
+are like namespaces or schemas inside a database.
+
+<!-- TODO: naming limitations and best practices -->
+
+
+<h3>GRASS Mapsets</h3>
+
+Mapsets contains the actual data, mostly geospatial data,
+referred to as maps in GRASS GIS.
+Mapsets are a tool for organizing maps in a transparent way
+as well as a tool for isolating different tasks to prevent data loss.
+
+<p>
+GRASS GIS is always connected to one particular Mapset.
+GRASS GIS modules can create, modify, change, or delete a data only in
+the current Mapset.
+By default, only the data from the current Mapset and PERMANENT Mapset
+are visible. Using
+<a href="g.mapsets.html"><em>g.mapsets</em></a>
+module or in GUI other Mapsets can be made visible and seamlessly accessible.
+All data are available for reading when Mapset is specified explicitly,
+for example to access map <code>streets</code> in Mapset
+<code>new_highway</code> user can use <code>streets at new_highway</code>.
+For maps which are in the current or PERMAENT Mapsets or Mapsets
+sets as visible (accessible), there is no need to use
+<code>@mapset</code> syntax.
+
+
+<p>
+Mapsets are used to store maps related to one project, smaller project,
+specific task, issue or subregions.
+In multi-user environment, when a team works together on one project,
+Mapsets support simultaneous access of several users to the maps
+stored within the same Location.
+Besides access to his or her own
+Mapset, each user can also read maps in PERMANENT Mapsent
+and in other users' Mapsets when set.
+However, each user can modify or remove only the maps
+in his or her own Mapset.
+
+<p>
+Besides the geospatial data, Mapset holds additional data such as
+color tables (managed e.g. by <a href="r.colors.html"><em>r.colors</em></a>)
+and the current computational region's extent and resolution
+stored in a file called <code>WIND</code>
+and managed by <a href="g.region.html"><em>g.region</em></a>.
+
+<p>
+Mapsets can be copied and moved as directories, however only when it is clear
+that the projections of both Locations
+(as reported by <a href="g.proj.html"><em>g.proj</em></a>)
+match each other. Since this is sometimes hard to to establish,
+it is recommended to use <a href="r.proj.html"><em>r.proj</em></a>
+or <a href="v.proj.html"><em>v.proj</em></a> to reproject the data.
+The files and directories should not be moved or modified directly,
+but only using GRASS GIS tools.
+
+
+<h3>The role of the PERMANENT Mapset</h3>
+
+When creating a new Location, GRASS GIS automatically creates a special
+Mapset called PERMANENT where the core data for the Location are stored.
+
+<p>
+Since the maps in PERMANENT Mapset are visible from all the other Mapsets,
+it can be used to store the base maps (base cartography), data common
+to all projects or needed for different analyses done is separate Mapsets.
+
+<p>
+In multi-user environment, data in the PERMANENT Mapset can only be added,
+modified or removed by the owner of the PERMANENT Mapset; however, they can be
+accessed, analyzed, and copied into their own Mapset by the other
+users. The PERMANENT Mapset is useful for providing general spatial
+data (e.g. an elevation model), accessible but write-protected to all
+users who are working in the same Location as the database owner.
+To manipulate or add data to PERMANENT, the owner can start
+GRASS GIS and choose the relevant Location and the PERMANENT Mapset.
+
+<p>
+The PERMANENT Mapset also contains the <code>DEFAULT_WIND</code> file which holds
+the default computational region's extent and resolution values
+for the Location (which all Mapsets will inherit when they are created).
+Users have the option of switching back to the default region at any time.
+
+
+<h3>Importing, exporting and linking data</h3>
+
+GRASS GIS works only with data which are imported into a GRASS Database,
+so all data needs to be imported, e.g. by
+<a href="r.in.gdal.html"><em>r.in.gdal</em></a> or
+highly convenient <a href="r.import.html"><em>r.import</em></a>,
+before the actual analysis.
+Data in GRASS Datable can be exported using for example
+<a href="r.in.gdal.html"><em>r.in.gdal</em></a> in case of raster maps.
+
+<p>
+For cases when import is not desirable, an option to link external data exists.
+Projection of the linked data must match the Location's projection
+otherwise the external data cannot be linked. (Linking data in different
+projection is not allowed as it would require on-the-fly reprojection
+which could cause inconsistencies in the data.
+
+<p>
+For example, module <a href="r.external.html"><em>r.external</em></a> links
+external raster data, so that the data are accessible in GRASS Database
+as standard raster maps. Similarly for newly created maps,
+<a href="r.external.out.html"><em>r.external.out</em></a>
+setups a format and directory where the actual data will be stored,
+however in GRASS Database the data will be created as standard maps.
+
+
+<h3>Starting GRASS GIS using GUI</h3>
+
+After launching GRASS GIS, the startup window will open (Fig. 2).
+
+<p>
+<center>
+  <img src="grass_start.png" alt="startup window with numbered fields"><br>
+  <i>Fig. 2: GRASS GIS startup window</i>
+</center>
+
+The startup windows provides these functions:
+
+<ol>
+    <li>Selecting the GRASS GIS Database directory.
+    <li>Selecting the Location (e.g. a project or area).
+        See the <em>Location Wizard</em> (4) for creating new Locations.
+    <li>Selecting the Mapset (a subproject or task).
+        Creating a new Mapset requires only name.
+    <li>The <em>Location Wizard</em> for creating new Locations
+        based for example, on existing georeferenced file or EPDS code.
+    <li>Start GRASS GIS once you have selected an existing Location and Mapset
+        or defined a new one. The graphical user interface
+        <a href="wxGUI.html">wxGUI</a> will open and provide you with a
+        menu system, map visualization tool, digitizer, and more.
+</ol>
+
+
+<h3>Starting GRASS GIS using command line</h3>
+
+GRASS GIS can be started with given Database, Location and Mapset
+from the command line. For example, the following will start
+in a given Mapset with only command line interface:
+
+<div class="code"><pre>
+grass71 -text ~/grassdata/mylocation/mymapset
+</pre></div>
+
+And the following will create the given Location with projection given
+by the EPSG code and it will start the default interface
+(GUI or command line):
+
+<div class="code"><pre>
+grass71 -c EPSG:5514:3 ~/grassdata/mylocation
+</pre></div>
+
+See <a href="grass7.html"><em>grass</em></a> command manual for more details.
+
+
+<h3>Creating a New Location with the Location Wizard</h3>
+
+The <a href="wxGUI.html">wxGUI</a> graphical user interface provides a
+graphical <em>Location Wizard</em> which lets you easily create a
+new Location for your own data. You will be guided through a series of
+dialogues to browse and select predefined projections or to
+define custom projections.
+
+<p>
+The most convenient way of using <em>Location Wizard</em> is creating new
+Location based on a georeferenced file, such as Shapefile or GeoTIFF,
+or by selecting the corresponding EPSG projection code.
+In case of using georeferenced file, you are asked whether the data itself
+should be imported into the new Location.
+<!-- TODO: some of this should be or already is automatic
+dialog with checkboxes would be also more convenient than multiple questions -->
+The default region is then set to match imported map.
+<!-- TODO: difference rasters versus vectors -->
+
+<!--
+TODO: some notes about resolution and extent would be nice
+(as well as removing the step from the wizard)
+
+this was in the text pointing to some unknown text:
+* The rules to define the resolution as described above also apply here.
+* Find below also some rules to define the default raster resolution
+  for a new Location.
+-->
+
+<p>
+After defining a new Location, wxGUI starts automatically.
+<!-- TODO: how GUI start actually works -->
+If data were already imported, you can add them into the Layer Manager now
+and display them.
+More data can be imported into the Location, e.g. using import options in
+the <em>File</em> menu in <em>Layer Manager</em> or
+<a href="r.import.html"><em>r.import</em></a>.
+
+
+<h2>See also</h2>
+
+<em>
+<a href="index.html">GRASS GIS 7 Reference Manual</a>
+<br>
+<a href="grass7.html">GRASS GIS 7 startup program manual page</a>
+<br>
+<a href="http://grasswiki.osgeo.org/wiki/Importing_data">Importing data on GRASS Wiki</a>
+<br>
+<a href="r.import.html">r.import</a>,
+<a href="v.import.html">v.import</a>,
+<a href="r.external.html">r.external</a>,
+<a href="v.external.html">v.external</a>,
+<a href="r.proj.html">r.proj</a>,
+<a href="v.proj.html">v.proj</a>,
+</em>
+
+<p>
+<i>Last changed: $Date: 2015-08-26 13:37:24 -0700 (Wed, 26 Aug 2015) $</i>
diff --git a/doc/grass_database.png b/doc/grass_database.png
new file mode 100644
index 0000000..7fcb4f7
Binary files /dev/null and b/doc/grass_database.png differ
diff --git a/doc/grass_database.svg b/doc/grass_database.svg
new file mode 100644
index 0000000..444da3c
--- /dev/null
+++ b/doc/grass_database.svg
@@ -0,0 +1,510 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="194.78999mm"
+   height="107.56693mm"
+   viewBox="0 0 690.20076 381.14265"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="grass_database.svg"
+   inkscape:export-filename="grass_database.png"
+   inkscape:export-xdpi="97.797638"
+   inkscape:export-ydpi="97.797638">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.98994949"
+     inkscape:cx="159.3735"
+     inkscape:cy="218.52638"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer3"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1055"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     showguides="true"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4292"
+       originx="-20.781704"
+       originy="-264.0025" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="lines"
+     style="display:inline"
+     transform="translate(-20.781703,-407.21704)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 140,452.3622 30,0"
+       id="path4321"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 155,452.3622 0,280 15,0"
+       id="path4323"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 155,732.3622 0,40 15,0"
+       id="path4325"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 290,452.3622 20,0 -10,0 0,240 10,0"
+       id="path4327"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 300,492.3622 10,0"
+       id="path4329"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 430,492.3622 20,0"
+       id="path4331"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 440,492.3622 0,160 10,0"
+       id="path4333"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 440,572.3622 10,0"
+       id="path4335"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 570,492.3622 20,0"
+       id="path4337"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 580,492.3622 0,40 10,0"
+       id="path4339"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 570,572.3622 20,0"
+       id="path4341"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 580,572.3622 0,40 10,0"
+       id="path4343"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#d4d800;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 570,652.3622 20,0"
+       id="path4345"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     inkscape:label="text"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="display:inline"
+     transform="translate(-20.781703,-407.21704)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="43.928326"
+       y="455.54086"
+       id="text4197"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199"
+         x="43.928326"
+         y="455.54086"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">grassdata</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="202.2225"
+       y="453.83432"
+       id="text4197-7"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-5"
+         x="202.2225"
+         y="453.83432"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">nc_spm</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="190.54037"
+       y="734.52502"
+       id="text4197-1"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-9"
+         x="190.54037"
+         y="734.52502"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">usa_albers</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="182.01132"
+       y="774.66211"
+       id="text4197-4"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-78"
+         x="182.01132"
+         y="774.66211"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">world_lat_lon</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="474.36481"
+       y="656.65985"
+       id="text4197-0"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-6"
+         x="474.36481"
+         y="656.65985"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">3D raster</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="486.09454"
+       y="575.28345"
+       id="text4197-5"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-0"
+         x="486.09454"
+         y="575.28345"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">vector</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="625.02332"
+       y="575.28345"
+       id="text4197-43"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-27"
+         x="625.02332"
+         y="575.28345"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">streets</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="323.36652"
+       y="456.87021"
+       id="text4197-9-0"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-90-7"
+         x="323.36652"
+         y="456.87021"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">PERMANENT</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="319.50299"
+       y="494.31436"
+       id="text4197-9-7"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         x="319.50299"
+         y="494.31436"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none"
+         id="tspan4186">new_highway</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="321.86139"
+       y="694.97174"
+       id="text4197-9-1"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-90-9"
+         x="321.86139"
+         y="694.97174"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">wake_county</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="487.18951"
+       y="495.54483"
+       id="text4197-9-2"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-90-38"
+         x="487.18951"
+         y="495.54483"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">raster</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="616.44299"
+       y="495.97696"
+       id="text4197-3"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-2"
+         x="616.44299"
+         y="495.97696"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">elevation</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="613.16907"
+       y="535.76624"
+       id="text4197-3-8"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-2-5"
+         x="613.16907"
+         y="535.76624"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">landcover</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="616.66272"
+       y="615.4408"
+       id="text4197-43-1"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-27-7"
+         x="616.66272"
+         y="615.4408"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">buildings</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4.43300009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="634.32507"
+       y="656.79169"
+       id="text4197-9"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4199-90"
+         x="634.32507"
+         y="656.79169"
+         style="font-size:15px;stroke-width:4.43300009;stroke-miterlimit:4;stroke-dasharray:none">soils</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="boxes"
+     style="display:inline"
+     transform="translate(-20.781703,-407.21704)">
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155"
+       width="115.67372"
+       height="30.820921"
+       x="22.998203"
+       y="435.99222"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-1"
+       width="115.67372"
+       height="30.820921"
+       x="173.04898"
+       y="435.99222"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-8"
+       width="115.67372"
+       height="30.820921"
+       x="173.04898"
+       y="715.18518"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-4"
+       width="115.67372"
+       height="30.820921"
+       x="173.04898"
+       y="755.32227"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-9"
+       width="115.67372"
+       height="30.820921"
+       x="452.27747"
+       y="635.78918"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-91"
+       width="115.67372"
+       height="30.820921"
+       x="452.27747"
+       y="554.71307"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-47"
+       width="115.67372"
+       height="30.820921"
+       x="593.09222"
+       y="554.71307"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-12-0"
+       width="115.67372"
+       height="30.820921"
+       x="312.92468"
+       y="435.99222"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-12-1"
+       width="115.67372"
+       height="30.820921"
+       x="312.92468"
+       y="474.97446"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-12-5"
+       width="115.67372"
+       height="30.820921"
+       x="312.92468"
+       y="675.63184"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-12-2"
+       width="115.67372"
+       height="30.820921"
+       x="452.27747"
+       y="474.97446"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-0"
+       width="115.67372"
+       height="30.820921"
+       x="593.09222"
+       y="474.97446"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-0-7"
+       width="115.67372"
+       height="30.820921"
+       x="593.09222"
+       y="514.76379"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-47-2"
+       width="115.67372"
+       height="30.820921"
+       x="593.09222"
+       y="594.87042"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <rect
+       style="fill:none;stroke:#0092a8;stroke-width:4.43300009;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4155-12"
+       width="115.67372"
+       height="30.820921"
+       x="593.09222"
+       y="635.78918"
+       rx="5.7467012"
+       ry="5.5560374" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="30"
+       y="422.41235"
+       id="text4363"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4365"
+         x="30"
+         y="422.41235">Database</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="331.38074"
+       y="422.16626"
+       id="text4367"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4369"
+         x="331.38074"
+         y="422.16626">Mapset</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="190"
+       y="422.41235"
+       id="text4371"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4373"
+         x="190"
+         y="422.41235">Location</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="622"
+       y="422.16626"
+       id="text4375"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4377"
+         x="622"
+         y="422.16626">Maps</tspan></text>
+  </g>
+</svg>
diff --git a/doc/gui/wxpython/example/g.gui.example.html b/doc/gui/wxpython/example/g.gui.example.html
index eca9b2f..b209c16 100644
--- a/doc/gui/wxpython/example/g.gui.example.html
+++ b/doc/gui/wxpython/example/g.gui.example.html
@@ -72,5 +72,5 @@ Anna Kratochvilova,
 </p>
 
 <p>
-<i>$Date: 2014-01-03 04:39:48 +0100 (Fri, 03 Jan 2014) $</i>
+<i>$Date: 2014-01-02 19:39:48 -0800 (Thu, 02 Jan 2014) $</i>
 
diff --git a/doc/howto_release.txt b/doc/howto_release.txt
index ff68b1d..d48b05e 100644
--- a/doc/howto_release.txt
+++ b/doc/howto_release.txt
@@ -1,6 +1,6 @@
 How to release GRASS GIS binaries and source code
 
-$Date: 2016-01-18 16:57:27 +0100 (Mon, 18 Jan 2016) $
+$Date: 2016-02-16 05:33:42 -0800 (Tue, 16 Feb 2016) $
 
 Note: This text contains *some* rules only applicable to the
       development coordinator (currently Markus Neteler, PSC Chair).
@@ -57,8 +57,8 @@ Contents
 
 #example:
 7
-0
-3RC1
+1
+0RC1
 2016
       rm -f include/VERSION~
 
@@ -120,8 +120,8 @@ Contents
 
 #example
 7
-0
-3svn
+1
+0svn
 2016
 
     rm -f include/VERSION~
@@ -145,12 +145,14 @@ Contents
     - News section
     - http://grass.osgeo.org/download/software/
     - http://grass.osgeo.org/download/software/sources/
-    - http://grass.osgeo.org/grass70/
+    - http://grass.osgeo.org/download/software/linux/
+    - http://grass.osgeo.org/grass71/
     - http://grass.osgeo.org/home/history/releases/
     - http://grass.osgeo.org/development/svn/svn-tags/ (add tag): echo $RELEASETAG
 
      write announcement
       - store in trac: http://trac.osgeo.org/grass/wiki/Release/7.XX.YY-News
+      - update version in https://grasswiki.osgeo.org/wiki/GRASS-Wiki
       - store in Web as announces/announce_grass$MAJOR$MINOR$RELEASE.html <- how? with protected PHP upload page?
 
      full release:
@@ -168,8 +170,8 @@ Contents
                    release tag for the differences
 
  o Trac updates:
-      - Set "complete" flag in https://trac.osgeo.org/grass/milestone/7.0.x
-        and batch-migrate assigned tickets to next milestone
+      - Set "complete" flag in https://trac.osgeo.org/grass/milestone/7.0.x --> Edit Milestone
+        this batch-migrates assigned tickets to next milestone
       - Add release to https://trac.osgeo.org/grass/admin/ticket/versions
 
  o WinGRASS notes:
@@ -177,12 +179,12 @@ Contents
    Update grass_packager_release.bat, eg.
 
      set MAJOR=7
-     set MINOR=0
-     set PATCH=3beta3
+     set MINOR=1
+     set PATCH=0beta3
 
    Update addons (grass_addons.sh) rules, eg.
 
-     compile $SVN_PATH/grass7 $GISBASE_PATH/grass703beta3   $ADDON_PATH/grass703beta3/addons
+     compile $SVN_PATH/grass7 $GISBASE_PATH/grass710beta3   $ADDON_PATH/grass710beta3/addons
 
    Modify grass_copy_wwwroot.sh accordingly, eg.
 
@@ -194,7 +196,7 @@ Contents
 
    Upload tarball for created release
 
-   Update daily recipe contents: https://code.launchpad.net/~grass/+recipe/grass70-release-daily
+   Update daily recipe contents: https://code.launchpad.net/~grass/+recipe/grass-trunk
 
 2. Tell others about it:
 
diff --git a/doc/infrastructure.txt b/doc/infrastructure.txt
index 2af49ee..7017d3f 100644
--- a/doc/infrastructure.txt
+++ b/doc/infrastructure.txt
@@ -1,24 +1,24 @@
 How the GRASS Webserver and related infrastructure works
 
 written by M. Neteler
-Last changed: $Date: 2013-10-19 12:01:07 +0200 (Sat, 19 Oct 2013) $
+Last changed: $Date: 2016-03-04 06:41:44 -0800 (Fri, 04 Mar 2016) $
 
 
 Related Wiki documents:
-* http://grass.osgeo.org/wiki/GRASS_Migration_to_OSGeo
+* http://grass.osgeo.org/wiki/GRASS_Migration_to_OSGeo (historical document)
 
 == GRASS Web server ==
 
 Maintainer: M. Neteler
 
 * http://grass.osgeo.org
-** Shared virtual OSGeo machine hosted at Oregon State University Open Source Lab
-   (server: projects.osgeo.osuosl.org)
+** Shared virtual OSGeo machine (osgeo6) hosted at Oregon State University Open Source Lab
+   (server: osgeo6.osgeo.osuosl.org)
 ** OSGeo SAC page: http://wiki.osgeo.org/wiki/SAC_Service_Status
     http://wiki.osgeo.org/index.php/SAC
 ** Login: via OSGeo LDAP, there is a "grass" LDAP group
 ** Software:
-*** OS: Debian Lenny
+*** OS: Debian Wheezy
 *** Apache Server with PHP
 ** Further addresses: http://www.grass-gis.org
 *** points through Apache rewrite engine to http://grass.osgeo.org
@@ -41,7 +41,7 @@ Maintainer: M. Neteler
 ** Source code tarball of SVN HEAD
 ** Linux binary snapshot is compiled
 *** GRASS is compiled with GDAL, PROJ, SQLite, MySQL, PostgreSQL, FFTW, C++ support
-*** binary tar.gz is moved into Web space
+*** binary tar.gz and manuals are moved into Web space
 
 * GRASS user manual HTML:
 ** generated during compilation of weekly Linux binary snapshot
@@ -56,23 +56,13 @@ Maintainer: M. Neteler
    (cd locale; make) are extracted into text file
 ** text file parsed by PHP page and shown as table
 
-* GRASS user map
-** under development
-
-* GRASS-Mapserver demo
-** currently broken after grass.osgeo.org update
-** something is on the OSGeo Adhoc Virtual machine
-
-* FTP server
-** no longer available due to security risk
-
 * Mailman mailing lists + greylisting (at lists.osgeo.org since 11/2007)
 ** Mailman is doing the job, only registered users can post
 ** messages from unsubscribed people is auto-discarded without notification
 ** the open "weblist" operates instead like this:
     User -> grass-web at lists osgeo.org -> greylisting -> Mailman
 
-* Backup of mailing lists (mbox files) (TODO!!)
+* Backup of mailing lists (mbox files)
 ** manually done by MN 
 ** nightly backup at OSGeo.org, bacula
 ** TODO: Establish solution via local cp on lists.osgeo.org (SAC ticket todo)
@@ -86,7 +76,7 @@ Maintainer: M. Neteler
 *** awstats processed log files: /osgeo/download/logs
 *** cronjob script: /osgeo/scripts/update_logs.sh
 ** FBK Mirror: Webalizer (http://grass.fbk.eu/webalizer/) runs daily as cronjob
-** Sitemeter: http://www.sitemeter.com/?a=stats&s=s24grassgis
+** OLD: Sitemeter: http://www.sitemeter.com/?a=stats&s=s24grassgis
 
 Summary: The system should run almost autonomously.
 
@@ -102,17 +92,17 @@ Available lists:
    grass-commit 	Mailing list to distribute GRASS-CVS commits
    grass-dev 		GRASS GIS Development mailing list
    grass-es 		La lista de correo de GRASS GIS en espa�ol
-   grass-gui 		GRASSGUI mailing list
    grass-psc 		GRASS-PSC: GRASS Project Steering Committee
-   grass-qa 		GRASS Quality Assessment and monitoring list
    grass-stats 		GRASS and statistical software
    grass-translations 	Translation of GRASS (i18N)
    grass-user 		GRASS user list
    grass-web 		GRASS website mailing list
-   grass-windows 	winGRASS - Using GRASS on MS-Windows systems mailing list
 
 * OLD, UNUSED: at FBK-irst (http://grass.fbk.eu/mailman/admin/):
-   grass-commit-addons          Mailing list to distribute GRASS Addons-SVN commits
+   grass-commit-addons  Mailing list to distribute GRASS Addons-SVN commits
+   grass-gui 		GRASSGUI mailing list
+   grass-qa 		GRASS Quality Assessment and monitoring list
+   grass-windows 	winGRASS - Using GRASS on MS-Windows systems mailing list
 
 Notes:
 * grass-announce:
@@ -179,6 +169,16 @@ Very old bugtracker (Dec 2000 - Dec 2006):
   * reports are directly sent to GRASS Developers mailing list for notification
   * TODO: migrate to trac
 
+== GRASS Travis CI ==
+
+Maintainer: Martin Landa
+
+* https://travis-ci.org/GRASS-GIS
+* https://github.com/GRASS-GIS/grass-ci
+
+Coverity Scan:
+* https://scan.coverity.com/projects/grass?tab=overview
+
 == OLD: GRASS Quality Control ==
 
 Maintainer: Prof. Giulio Antoniol
@@ -190,16 +190,16 @@ Maintainer: Prof. Giulio Antoniol
 * Realtime analysis is sent to: http://lists.osgeo.org/mailman/listinfo/grass-qa
 
 Further notification/functionality test systems:
-* http://cia.vc/stats/project/GRASS
 ** posts into #grass IRC channel
 ** posts into #osgeo-commits IRC channel
 
 == Previous hosting sponsors ==
 
+Since 2010 the GRASS GIS project is hosted at the Oregon State University Open Source Lab (OSUOSL), Oregon, USA
+
 Numerous institutions have sponsored the GRASS Project with Hardware/Bandwidth (list of master site hosting):
 * 1997-1999: Institut fuer Landschaftspflege und Naturschutz (ILN), Universitaet Hannover, Germany
 * 1999-2001: Institut fuer Physische Geographie und Landschaftsoekologie, Universitaet Hannover, Germany
 * 2001-2008: ITC-irst, Trento, Italy
 * 2009-2010: Telascience.org at San Diego Supercomputer Center, California, USA
-* Since 2010: Oregon State University Open Source Lab (OSUOSL), Oregon, USA
 
diff --git a/doc/projectionintro.html b/doc/projectionintro.html
index 4073d83..a91cfb0 100644
--- a/doc/projectionintro.html
+++ b/doc/projectionintro.html
@@ -1,5 +1,5 @@
 <!-- meta page description: Projections and spatial transformations in GRASS GIS-->
-<h3>Introduction</h3>
+<h3>Projection management in general</h3>
 
 A GRASS location is referenced with a single projection and coordinate system
 (or unreferenced as XY location). When creating a new location from an existing
diff --git a/doc/raster/r.example/r.example.html b/doc/raster/r.example/r.example.html
index 260a71f..6a8d061 100644
--- a/doc/raster/r.example/r.example.html
+++ b/doc/raster/r.example/r.example.html
@@ -17,4 +17,4 @@ See the source code for details.
 
 GRASS Development Team
 
-<p><i>Last changed: $Date: 2014-08-05 23:45:19 +0200 (Tue, 05 Aug 2014) $</i>
+<p><i>Last changed: $Date: 2014-08-05 14:45:01 -0700 (Tue, 05 Aug 2014) $</i>
diff --git a/doc/vector/v.example/v.example.html b/doc/vector/v.example/v.example.html
index dad7561..3a22a9d 100644
--- a/doc/vector/v.example/v.example.html
+++ b/doc/vector/v.example/v.example.html
@@ -20,4 +20,4 @@ v.example input=map output=newmap
 
 Radim Blazek, ITC-irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2012-07-19 18:56:09 +0200 (Thu, 19 Jul 2012) $</i>
+<p><i>Last changed: $Date: 2012-07-19 09:56:09 -0700 (Thu, 19 Jul 2012) $</i>
diff --git a/general/g.access/g.access.html b/general/g.access/g.access.html
index afcc528..88ad0fa 100644
--- a/general/g.access/g.access.html
+++ b/general/g.access/g.access.html
@@ -41,4 +41,4 @@ UNIX manual entries for <em>chmod</em> and <em>group</em>
 Michael Shapiro, 
 U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/general/g.cairocomp/g.cairocomp.html b/general/g.cairocomp/g.cairocomp.html
index aad0cb1..e315e45 100644
--- a/general/g.cairocomp/g.cairocomp.html
+++ b/general/g.cairocomp/g.cairocomp.html
@@ -18,4 +18,4 @@ works with X Pixmaps instead of PNM files.
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2013-01-15 16:13:13 +0100 (Tue, 15 Jan 2013) $</i>
+<i>Last changed: $Date: 2013-01-15 07:13:13 -0800 (Tue, 15 Jan 2013) $</i>
diff --git a/general/g.copy/g.copy.html b/general/g.copy/g.copy.html
index 9741c53..231a061 100644
--- a/general/g.copy/g.copy.html
+++ b/general/g.copy/g.copy.html
@@ -1,8 +1,8 @@
 <h2>DESCRIPTION</h2>
 
-A user may access data stored under the other mapsets listed in his
+A user may access data stored under the other mapsets listed in their
 mapset search path. However, the user may only modify data stored
-under his own current mapset. <em>g.copy</em> allows the user to copy
+under their own current mapset. <em>g.copy</em> allows the user to copy
 existing data files <b>from</b> other mapsets <b>to</b> the user's
 current mapset ($MAPSET). The files to be copied must exist in the
 user's current mapset search path and location; output is sent to the
@@ -73,4 +73,4 @@ U.S. Army Construction Engineering
 Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/general/g.copy/main.c b/general/g.copy/main.c
index 7d33c3e..006038a 100644
--- a/general/g.copy/main.c
+++ b/general/g.copy/main.c
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
 		continue;
 	    }
 	    if (M_find(n, to, G_mapset()) && !(module->overwrite)) {
-		G_warning(_("<%s> already exists"), to);
+		G_warning(_("<%s> already exists. File not copied."), to);
 		continue;
 	    }
 	    if (G_legal_filename(to) < 0) {
diff --git a/general/g.dirseps/g.dirseps.html b/general/g.dirseps/g.dirseps.html
index 2f90a8d..26131dc 100644
--- a/general/g.dirseps/g.dirseps.html
+++ b/general/g.dirseps/g.dirseps.html
@@ -8,4 +8,4 @@ It is used for interoperability between Unix and MS-Windows pathnames.
 
 Paul Kelly
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i>
diff --git a/general/g.filename/g.filename.html b/general/g.filename/g.filename.html
index 3f919f7..cf91643 100644
--- a/general/g.filename/g.filename.html
+++ b/general/g.filename/g.filename.html
@@ -86,4 +86,4 @@ file=<em>'full_file_pathname'</em> is not output.
 Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2015-02-14 22:08:31 +0100 (Sat, 14 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2015-02-14 13:07:18 -0800 (Sat, 14 Feb 2015) $</i>
diff --git a/general/g.findetc/g.findetc.html b/general/g.findetc/g.findetc.html
index 614cc54..6756bcf 100644
--- a/general/g.findetc/g.findetc.html
+++ b/general/g.findetc/g.findetc.html
@@ -23,4 +23,4 @@ directory, such as a user's home or a system addon directory.
 
 William Kyngesburye
 
-<p><i>Last changed: $Date: 2015-02-14 22:08:31 +0100 (Sat, 14 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2015-02-14 13:07:18 -0800 (Sat, 14 Feb 2015) $</i>
diff --git a/general/g.findfile/g.findfile.html b/general/g.findfile/g.findfile.html
index 973746e..065e71d 100644
--- a/general/g.findfile/g.findfile.html
+++ b/general/g.findfile/g.findfile.html
@@ -34,14 +34,18 @@ as follows:
 eval `g.findfile element=name mapset=name file=name`
 </pre></div>
 
-<p>
-For example (raster map):
+<h2>EXAMPLES</h2>
+
+<h3>SHELL</h3>
+
+<b>Raster map example:</b>
+
 <div class="code"><pre>
 eval `g.findfile element=cell file=elevation`
 </pre></div>
 
-If the specified file does not exist, the variables will be set as
-follows:
+If the specified file (here: raster map) does not exist, the variables
+will be set as follows:
 
 <div class="code"><pre>
 name=
@@ -58,12 +62,23 @@ then
 fi
 </pre></div>
 
-<h2>PYTHON</h2>
+<p>
+<b>Vector map example (including error message):</b>
+
+<div class="code"><pre>
+eval `g.findfile element=vector file="$G_OPT_V_INPUT"`
+if [ ! "$file" ] ; then
+   g.message -e "Vector map <$G_OPT_V_INPUT> not found"
+   exit 1
+fi
+</pre></div>
+
+<h3>PYTHON</h3>
 
-See <em><a href="http://grass.osgeo.org/grass70/manuals/libpython/">Python
+See <em><a href="http://grass.osgeo.org/grass71/manuals/libpython/">Python
 Scripting Library</a></em> for more info.
 <p>
-Note: The Python shell in the <em>wxGUI</em> can be used for entering the
+Note: The Python tab in the <em>wxGUI</em> can be used for entering the
 following code:
 <p>
 <div class="code"><pre>
@@ -86,4 +101,4 @@ gcore.find_file('elevation', element = 'cell')
 Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-15 14:06:41 -0700 (Tue, 15 Mar 2016) $</i>
diff --git a/general/g.gisenv/g.gisenv.html b/general/g.gisenv/g.gisenv.html
index 3938716..07d9ba1 100644
--- a/general/g.gisenv/g.gisenv.html
+++ b/general/g.gisenv/g.gisenv.html
@@ -73,9 +73,9 @@ which fall under the same <em>LOCATION_NAME</em> all contain data
 geographically relevant to the <em>LOCATION_NAME</em>, and all store
 data in the same map coordinate system.  Frequently, maps are placed
 into different mapsets to distinguish file ownership - e.g., each user
-might have his own mapset, storing any maps that he has created and/or
-are relevant to his work.) During each GRASS session, the user must
-choose one mapset to be the <em>current mapset</em>; the current
+might have one or more own mapset(s), storing any maps that the user has
+created and/or are relevant to the own work.) During each GRASS session, the
+user must choose one mapset to be the <em>current mapset</em>; the current
 mapset setting is given by <em>MAPSET</em>, and is a subdirectory
 of <em>LOCATION_NAME</em>.  During a single GRASS session, the user
 can use available data in any of the mapsets stored under the
@@ -195,4 +195,4 @@ Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-12-15 23:40:52 +0100 (Mon, 15 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/general/g.gui/g.gui.html b/general/g.gui/g.gui.html
index 1941f6f..5b2094e 100644
--- a/general/g.gui/g.gui.html
+++ b/general/g.gui/g.gui.html
@@ -70,4 +70,4 @@ Martin Landa, FBK-irst, Trento, Italy<br>
 Hamish Bowman, Otago University, Dunedin, New Zealand (fine tuning)
 
 <p>
-<i>Last changed: $Date: 2014-04-21 13:58:28 +0200 (Mon, 21 Apr 2014) $</i>
+<i>Last changed: $Date: 2014-04-21 04:55:01 -0700 (Mon, 21 Apr 2014) $</i>
diff --git a/general/g.gui/main.c b/general/g.gui/main.c
index cb91b3e..29e31ea 100644
--- a/general/g.gui/main.c
+++ b/general/g.gui/main.c
@@ -27,7 +27,7 @@
 int main(int argc, char *argv[])
 {
     struct Option *type, *rc_file;
-    struct Flag *update_ui, *nolaunch;
+    struct Flag *update_ui, *fglaunch, *nolaunch;
     struct GModule *module;
     const char *gui_type_env;
     char progname[GPATH_MAX];
@@ -63,7 +63,15 @@ int main(int argc, char *argv[])
     rc_file->key = "workspace";
     rc_file->required = NO;
     rc_file->key_desc = "name.gxw";
-    rc_file->description = _("Name of workspace file to load on start-up (valid only for wxGUI)");
+    rc_file->label = _("Name of workspace file to load on start-up");
+    rc_file->description = _("This is valid only for wxGUI (wxpython)");
+
+    fglaunch = G_define_flag();
+    fglaunch->key = 'f';
+    fglaunch->label = _("Start GUI in the foreground");
+    fglaunch->description = _("By default the GUI starts in the background"
+        " and control is immediately returned to the caller."
+        " When GUI runs in foregreound, it blocks the command line");
 
     update_ui = G_define_flag();
     update_ui->key = 'd';
@@ -95,22 +103,35 @@ int main(int argc, char *argv[])
 	exit(EXIT_SUCCESS);
     }
 
-    G_message(_("Launching <%s> GUI in the background, please wait..."), type->answer);
     sprintf(progname, "%s/gui/wxpython/wxgui.py", G_gisbase());
     if (access(progname, F_OK) == -1)
         G_fatal_error(_("Your installation doesn't include GUI, exiting."));
-    if (rc_file->answer) {
-        G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,
-                   "--workspace", rc_file->answer, SF_BACKGROUND, NULL);
+                      
+    if (fglaunch->answer) {
+        G_message(_("Launching <%s> GUI, please wait..."), type->answer);
+        if (rc_file->answer) {
+            G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,
+                       "--workspace", rc_file->answer, NULL);
+        }
+        else {
+            G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,
+                       NULL);
+        }
     }
     else {
-        G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,
-                   SF_BACKGROUND, NULL);
+        G_message(_("Launching <%s> GUI in the background, please wait..."), type->answer);
+        if (rc_file->answer) {
+            G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,
+                       "--workspace", rc_file->answer, SF_BACKGROUND, NULL);
+        }
+        else {
+            G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,
+                       SF_BACKGROUND, NULL);
+        }
+        /* stop the impatient from starting it again
+           before the splash screen comes up */
+        G_sleep(3);
     }
-    
-    /* stop the impatient from starting it again
-       before the splash screen comes up */
-    G_sleep(3);
 
     exit(EXIT_SUCCESS);
 }
diff --git a/general/g.list/g.list.html b/general/g.list/g.list.html
index c38fa83..ec89a0c 100644
--- a/general/g.list/g.list.html
+++ b/general/g.list/g.list.html
@@ -201,4 +201,4 @@ grass4u at gmail.com
 based on general/manage/cmd/list.c by Michael Shapiro
 
 <p>
-<i>Last changed: $Date: 2014-12-27 00:50:11 +0100 (Sat, 27 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-26 15:33:06 -0800 (Fri, 26 Dec 2014) $</i>
diff --git a/general/g.list/global.h b/general/g.list/global.h
new file mode 100644
index 0000000..e85d7e5
--- /dev/null
+++ b/general/g.list/global.h
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <grass/gis.h>
+#include <grass/manage.h>
+
+enum {
+    TYPE_RAST,
+    TYPE_RAST3D,
+    TYPE_VECT,
+    TYPE_OTHERS
+};
+
+struct elist
+{
+    char *type;
+    char *name;
+    char *mapset;
+};
+
+void make_list(struct elist **, int *, int *, const struct list *, const char *,
+	       const struct Cell_head *);
+void print_list(FILE *, struct elist *, int, const char *, int, int);
diff --git a/general/g.list/list.c b/general/g.list/list.c
new file mode 100644
index 0000000..d572eff
--- /dev/null
+++ b/general/g.list/list.c
@@ -0,0 +1,172 @@
+#include "global.h"
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <grass/gis.h>
+#include <grass/raster3d.h>
+#include <grass/vector.h>
+#include <grass/manage.h>
+#include <grass/glocale.h>
+
+static int region_overlaps(const struct Cell_head *, const char *, const char *,
+			   int);
+static int compare_elist(const void *, const void *);
+
+void make_list(struct elist **el, int *lcount, int *lalloc,
+	       const struct list *elem, const char *mapset,
+	       const struct Cell_head *window)
+{
+    char path[GPATH_MAX];
+    const char *element, *alias;
+    char **list;
+    int count, i;
+    int type;
+
+    element = elem->element[0];
+    alias = elem->alias;
+
+    G_file_name(path, element, "", mapset);
+    if (access(path, 0) != 0)
+	return;
+
+    if ((list = G_ls2(path, &count)) == NULL)
+	return;
+
+    if (strcmp(alias, "raster") == 0)
+	type = TYPE_RAST;
+    else if (strcmp(alias, "raster_3d") == 0)
+	type = TYPE_RAST3D;
+    else if (strcmp(alias, "vector") == 0)
+	type = TYPE_VECT;
+    else
+	type = TYPE_OTHERS;
+
+    /* Suppress "... found in more mapsets" warnings from G_find_file2. */
+    G_suppress_warnings(1);
+
+    if (*lcount + count > *lalloc) {
+	*lalloc = *lcount + count + 10;
+	*el = G_realloc(*el, *lalloc * sizeof(struct elist));
+    }
+
+    for (i = 0; i < count; i++) {
+
+	/* If region= is used, read the map region. */
+	if (window) {
+	    /* If the map region doesn't overlap with the input region, don't
+	     * print the map. */
+	    if (!region_overlaps(window, list[i], mapset, type))
+		continue;
+	}
+
+	(*el)[*lcount].type = G_store(alias);
+	(*el)[*lcount].name = list[i];
+	(*el)[*lcount].mapset = G_store(mapset);
+	(*lcount)++;
+    }
+
+    G_suppress_warnings(0);
+
+    G_free(list);
+}
+
+void print_list(FILE *fp, struct elist *el, int count, const char *separator,
+		int add_type, int add_mapset)
+{
+    int i;
+
+    if (!count)
+	return;
+
+    qsort(el, count, sizeof(struct elist), compare_elist);
+
+    for (i = 0; i < count; i++) {
+	int need_mapset = 0;
+
+	if (i != 0)
+	    fprintf(fp, "%s", separator);
+
+	if (add_type)
+	    fprintf(fp, "%s/", el[i].type);
+
+	fprintf(fp, "%s", el[i].name);
+
+	if (!add_mapset) {
+	    if (i + 1 < count)
+		need_mapset = strcmp(el[i].name, el[i + 1].name) == 0;
+	    if (!need_mapset && i > 0)
+		need_mapset = strcmp(el[i].name, el[i - 1].name) == 0;
+	}
+	if (add_mapset || need_mapset)
+	    fprintf(fp, "@%s", el[i].mapset);
+    }
+
+    fflush(fp);
+}
+
+static int region_overlaps(const struct Cell_head *window, const char *name,
+			   const char *mapset, int type)
+{
+    int has_region;
+    struct Cell_head map_window;
+    RASTER3D_Region region3d;
+    struct Map_info Map;
+    struct bound_box box;
+
+    switch (type) {
+    case TYPE_RAST:
+	Rast_get_cellhd(name, mapset, &map_window);
+	has_region = 1;
+	break;
+    case TYPE_RAST3D:
+	if (Rast3d_read_region_map(name, mapset, &region3d) < 0)
+	    G_fatal_error(_("Unable to read header of 3D raster map <%s@%s>"),
+			  name, mapset);
+	Rast3d_region_to_cell_head(&region3d, &map_window);
+	has_region = 1;
+	break;
+    case TYPE_VECT:
+	Vect_set_open_level(2);
+	if (Vect_open_old_head(&Map, name, mapset) < 2)
+	    G_fatal_error(_("Unable to open vector map <%s@%s> on topological level"),
+			  name, mapset);
+	Vect_get_map_box(&Map, &box);
+	Vect_close(&Map);
+
+	map_window.north = box.N;
+	map_window.south = box.S;
+	map_window.west = box.W;
+	map_window.east = box.E;
+	has_region = 1;
+	break;
+    default:
+	has_region = 0;
+	break;
+    }
+
+    /* If an element doesn't have a concept of region at all, return 1 so we
+     * can always print it. */
+    if (!has_region)
+	return 1;
+
+    /* If the map region is outside the input region, return 0. Otherwise
+     * return 1 */
+    return !(window->north <= map_window.south ||
+	     window->south >= map_window.north ||
+	     window->west >= map_window.east ||
+	     window->east <= map_window.west);
+}
+
+static int compare_elist(const void *a, const void *b)
+{
+    struct elist *al = (struct elist *)a;
+    struct elist *bl = (struct elist *)b;
+    int ret;
+
+    if (!(ret = strcmp(al->type, bl->type))) {
+	if (!(ret = strcmp(al->name, bl->name)))
+	    ret = strcmp(al->mapset, bl->mapset);
+    }
+
+    return ret;
+}
diff --git a/general/g.list/main.c b/general/g.list/main.c
index ea7da70..fb4873d 100644
--- a/general/g.list/main.c
+++ b/general/g.list/main.c
@@ -17,39 +17,15 @@
  *
  *****************************************************************************/
 
+#include "global.h"
 #include <stdlib.h>
 #include <unistd.h>
 #include <string.h>
 #include <grass/gis.h>
-#include <grass/raster3d.h>
-#include <grass/vector.h>
 #include <grass/manage.h>
 #include <grass/glocale.h>
 #include <grass/spawn.h>
 
-enum {
-    TYPE_RAST,
-    TYPE_RAST3D,
-    TYPE_VECT,
-    TYPE_OTHERS
-};
-
-struct elist
-{
-    char *type;
-    char *name;
-    char *mapset;
-};
-
-static int any = 0;
-
-static void make_list(struct elist **, int *, int *, 
-                      const struct list *, const char *,
-		      struct Cell_head *);
-static void print_list(FILE *, struct elist *, int,
-		      const char *, int, int);
-static int region_overlaps(struct Cell_head *, const char *, const char *, int);
-
 int main(int argc, char *argv[])
 {
     struct GModule *module;
@@ -175,27 +151,15 @@ int main(int argc, char *argv[])
     flag.full->description = _("Verbose listing (also list map titles)");
     flag.full->guisection = _("Print");
 
+    G_option_excludes(opt.region, flag.pretty, flag.full, NULL);
+    G_option_excludes(flag.pretty, flag.mapset, flag.type, NULL);
+    G_option_excludes(flag.full, flag.mapset, flag.type, NULL);
+    G_option_exclusive(flag.pretty, flag.full, NULL);
+    G_option_exclusive(flag.regex, flag.extended, NULL);
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
-    if ((flag.pretty->answer || flag.full->answer) && opt.region->answer)
-        G_fatal_error(_("-%c/-%c and %s= are mutually exclusive"),
-		      flag.pretty->key, flag.full->key, opt.region->key);
-
-    if ((flag.pretty->answer || flag.full->answer) &&
-	(flag.mapset->answer || flag.type->answer))
-	G_fatal_error(_("-%c/-%c and -%c/-%c are mutually exclusive"),
-		      flag.pretty->key, flag.full->key,
-		      flag.mapset->key, flag.type->key);
-
-    if (flag.pretty->answer && flag.full->answer)
-	G_fatal_error(_("-%c and -%c are mutually exclusive"),
-		      flag.pretty->key, flag.full->key);
-
-    if (flag.regex->answer && flag.extended->answer)
-	G_fatal_error(_("-%c and -%c are mutually exclusive"),
-		      flag.regex->key, flag.extended->key);
-
     if (opt.pattern->answer) {
 	if (flag.regex->answer || flag.extended->answer)
 	    filter = G_ls_regex_filter(opt.pattern->answer, 0,
@@ -370,7 +334,7 @@ int main(int argc, char *argv[])
 
     if (flag.pretty->answer || flag.full->answer)
 	fclose(stdout);
-    else if (any)
+    else if (lcount)
 	fprintf(fp, "\n");
 
     if (use_pager)
@@ -386,164 +350,3 @@ int main(int argc, char *argv[])
 
     exit(EXIT_SUCCESS);
 }
-
-static void make_list(struct elist **el, int *lcount, int *lalloc, 
-                      const struct list *elem, const char *mapset,
-		      struct Cell_head *window)
-{
-    char path[GPATH_MAX];
-    const char *element, *alias;
-    char **list;
-    int count, i;
-    int type;
-
-    element = elem->element[0];
-    alias = elem->alias;
-
-    G_file_name(path, element, "", mapset);
-    if (access(path, 0) != 0)
-	return;
-
-    if ((list = G_ls2(path, &count)) == NULL)
-	return;
-
-    if (strcmp(alias, "raster") == 0)
-	type = TYPE_RAST;
-    else if (strcmp(alias, "raster_3d") == 0)
-	type = TYPE_RAST3D;
-    else if (strcmp(alias, "vector") == 0)
-	type = TYPE_VECT;
-    else
-	type = TYPE_OTHERS;
-
-    /* Suppress "... found in more mapsets" warnings from G_find_file2. */
-    G_suppress_warnings(1);
-
-    if (*lcount + count > *lalloc) {
-	*lalloc = *lcount + count + 10;
-	*el = G_realloc(*el, *lalloc * sizeof(struct elist));
-    }
-
-    for (i = 0; i < count; i++) {
-
-	/* If region= is used, read the map region. */
-	if (window) {
-	    /* If the map region doesn't overlap with the input region, don't
-	     * print the map. */
-	    if (!region_overlaps(window, list[i], mapset, type))
-		continue;
-	}
-
-	(*el)[*lcount].type = G_store(alias);
-	(*el)[*lcount].name = list[i];
-	(*el)[*lcount].mapset = G_store(mapset);
-	(*lcount)++;
-
-	any++;
-    }
-
-    G_suppress_warnings(0);
-
-    G_free(list);
-}
-
-int cmp(const void *a, const void *b)
-{
-    struct elist *al = (struct elist *)a;
-    struct elist *bl = (struct elist *)b;
-    int ret;
-
-    if (!(ret = strcmp(al->type, bl->type))) {
-	if (!(ret = strcmp(al->name, bl->name)))
-	    ret = strcmp(al->mapset, bl->mapset);
-    }
-
-    return ret;
-}
-
-static void print_list(FILE *fp, struct elist *el, int count,
-		      const char *separator, int add_type, int add_mapset)
-{
-    int i;
-
-    if (!count)
-	return;
-
-    qsort(el, count, sizeof(struct elist), cmp);
-
-    for (i = 0; i < count; i++) {
-	int need_mapset = 0;
-
-	if (i != 0)
-	    fprintf(fp, "%s", separator);
-
-	if (add_type)
-	    fprintf(fp, "%s/", el[i].type);
-
-	fprintf(fp, "%s", el[i].name);
-
-	if (!add_mapset) {
-	    if (i + 1 < count)
-		need_mapset = strcmp(el[i].name, el[i + 1].name) == 0;
-	    if (!need_mapset && i > 0)
-		need_mapset = strcmp(el[i].name, el[i - 1].name) == 0;
-	}
-	if (add_mapset || need_mapset)
-	    fprintf(fp, "@%s", el[i].mapset);
-    }
-
-    fflush(fp);
-}
-
-static int region_overlaps(struct Cell_head *window, const char *name,
-			   const char *mapset, int type)
-{
-    int has_region;
-    struct Cell_head map_window;
-    RASTER3D_Region region3d;
-    struct Map_info Map;
-    struct bound_box box;
-
-    switch (type) {
-    case TYPE_RAST:
-	Rast_get_cellhd(name, mapset, &map_window);
-	has_region = 1;
-	break;
-    case TYPE_RAST3D:
-	if (Rast3d_read_region_map(name, mapset, &region3d) < 0)
-	    G_fatal_error(_("Unable to read header of 3D raster map <%s@%s>"),
-			  name, mapset);
-	Rast3d_region_to_cell_head(&region3d, &map_window);
-	has_region = 1;
-	break;
-    case TYPE_VECT:
-	Vect_set_open_level(2);
-	if (Vect_open_old_head(&Map, name, mapset) < 2)
-	    G_fatal_error(_("Unable to open vector map <%s@%s> on topological level"),
-			  name, mapset);
-	Vect_get_map_box(&Map, &box);
-	Vect_close(&Map);
-
-	map_window.north = box.N;
-	map_window.south = box.S;
-	map_window.west = box.W;
-	map_window.east = box.E;
-	has_region = 1;
-	break;
-    default:
-	has_region = 0;
-	break;
-    }
-
-    /* If an element doesn't have a concept of region at all, return 1 so we
-     * can always print it. */
-    if (!has_region)
-	return 1;
-
-    /* If the map region is outside the input region, return 0. Otherwise
-     * return 1 */
-    return !(window->north <= map_window.south ||
-	     window->south >= map_window.north ||
-	     window->west >= map_window.east ||
-	     window->east <= map_window.west);
-}
diff --git a/general/g.list/testsuite/test_g_list.py b/general/g.list/testsuite/test_g_list.py
index 93f2252..88ba8f0 100644
--- a/general/g.list/testsuite/test_g_list.py
+++ b/general/g.list/testsuite/test_g_list.py
@@ -1,10 +1,11 @@
 """g.list tests"""
 
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gmodules import SimpleModule
 
 
-class GMlistWrongParamertersTest(grass.gunittest.TestCase):
+class GMlistWrongParamertersTest(TestCase):
     """Test wrong input of parameters for g.list module"""
 
     @classmethod
@@ -52,4 +53,4 @@ class GMlistWrongParamertersTest(grass.gunittest.TestCase):
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/general/g.mapset/g.mapset.html b/general/g.mapset/g.mapset.html
index ce0fa5b..dd17907 100644
--- a/general/g.mapset/g.mapset.html
+++ b/general/g.mapset/g.mapset.html
@@ -29,4 +29,4 @@ HISTFILE=/"$GISDBASE/$LOCATION/$MAPSET"/.bash_history
 Radim Blazek
 
 <p>
-<i>Last changed: $Date: 2014-09-26 21:19:49 +0200 (Fri, 26 Sep 2014) $</i>
+<i>Last changed: $Date: 2014-09-26 12:18:48 -0700 (Fri, 26 Sep 2014) $</i>
diff --git a/general/g.mapsets/g.mapsets.html b/general/g.mapsets/g.mapsets.html
index 8e8e1b2..87f6da1 100644
--- a/general/g.mapsets/g.mapsets.html
+++ b/general/g.mapsets/g.mapsets.html
@@ -19,7 +19,7 @@ mapset with a session).
 
 <p>
 The user can add, modify, and delete data layers that exist under
-his <em>current mapset</em>. Although the user can
+their <em>current mapset</em>. Although the user can
 also <em>access</em> (i.e., use) data that are stored under
 <em>other</em> mapsets in the same GRASS location using the
 <tt>mapname at mapsetname</tt> notation or mapset search path, the user
@@ -42,7 +42,7 @@ may be called in such a manner.
 GRASS location, lists mapsets to which the user currently has access,
 and lists the order in which accessible mapsets will be accessed by
 GRASS programs searching for data files.  The user is then given the
-opportunity to add or delete mapset names from his search path, or
+opportunity to add or delete mapset names from the search path, or
 modify the order in which mapsets will be accessed.
 
 <p>
@@ -180,4 +180,4 @@ Greg Koerper, ManTech Environmental Technology, Inc.<br>
 Updated to GRASS 7 by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-05-29 11:34:08 +0200 (Fri, 29 May 2015) $</i>
+<i>Last changed: $Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/general/g.message/g.message.html b/general/g.message/g.message.html
index 9724e7b..48ac9df 100644
--- a/general/g.message/g.message.html
+++ b/general/g.message/g.message.html
@@ -47,7 +47,7 @@ you are enouraged to single-quote messages that do not require
 
 <h3>Usage in Python scripts</h3>
 
-<a href="http://grass.osgeo.org/grass70/manuals/libpython/">GRASS
+<a href="http://grass.osgeo.org/grass71/manuals/libpython/">GRASS
 Python Scripting Library</a> defines special wrappers
 for <em>g.message</em>.
 
@@ -111,4 +111,4 @@ Recommended levels:
 Jachym Cepicky
 
 <p>
-<i>Last changed: $Date: 2015-12-31 09:19:51 +0100 (Thu, 31 Dec 2015) $</i>
+<i>Last changed: $Date: 2015-12-31 00:19:29 -0800 (Thu, 31 Dec 2015) $</i>
diff --git a/general/g.mkfontcap/g.mkfontcap.html b/general/g.mkfontcap/g.mkfontcap.html
index 9a9226c..ea04afc 100644
--- a/general/g.mkfontcap/g.mkfontcap.html
+++ b/general/g.mkfontcap/g.mkfontcap.html
@@ -54,4 +54,4 @@ followed by Freetype) and within each type by the short name of the font.
 Paul Kelly
 
 <p>
-<i>Last changed: $Date: 2013-06-26 07:18:23 +0200 (Wed, 26 Jun 2013) $</i>
+<i>Last changed: $Date: 2013-06-25 22:18:23 -0700 (Tue, 25 Jun 2013) $</i>
diff --git a/general/g.parser/g.parser.html b/general/g.parser/g.parser.html
index b6173eb..9fbcbbc 100644
--- a/general/g.parser/g.parser.html
+++ b/general/g.parser/g.parser.html
@@ -527,7 +527,7 @@ printf ("Value of GIS_OPT_vect: '%s'\n", $ENV{'GIS_OPT_VECTOR'});
 </em>
 
 <p>
-Overview table: <a href="https://grass.osgeo.org/grass71/manuals/parser_standard_options.html">Parser standard options</a>
+Overview table: <a href="parser_standard_options.html">Parser standard options</a>
 <p>
 <a href="http://trac.osgeo.org/grass/wiki/Submitting/Python">Submitting rules for Python</a>
 
@@ -540,4 +540,4 @@ Related Wiki pages:
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2015-12-27 21:16:15 +0100 (Sun, 27 Dec 2015) $</i>
+<i>Last changed: $Date: 2015-11-28 09:59:44 -0800 (Sat, 28 Nov 2015) $</i>
diff --git a/general/g.pnmcomp/g.pnmcomp.html b/general/g.pnmcomp/g.pnmcomp.html
index 1cbaaca..a6123c6 100644
--- a/general/g.pnmcomp/g.pnmcomp.html
+++ b/general/g.pnmcomp/g.pnmcomp.html
@@ -43,4 +43,4 @@ the existence of <em>g.pnmcomp</em>.
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2013-01-15 16:12:43 +0100 (Tue, 15 Jan 2013) $</i>
+<p><i>Last changed: $Date: 2013-01-15 07:12:43 -0800 (Tue, 15 Jan 2013) $</i>
diff --git a/general/g.ppmtopng/g.ppmtopng.html b/general/g.ppmtopng/g.ppmtopng.html
index 3940436..81adee0 100644
--- a/general/g.ppmtopng/g.ppmtopng.html
+++ b/general/g.ppmtopng/g.ppmtopng.html
@@ -8,4 +8,4 @@ convert between PPM/PGM and PNG image formats.
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2013-01-15 17:46:35 +0100 (Tue, 15 Jan 2013) $</i>
+<i>Last changed: $Date: 2013-01-15 08:46:35 -0800 (Tue, 15 Jan 2013) $</i>
diff --git a/general/g.proj/datumtrans.c b/general/g.proj/datumtrans.c
index 208d322..a3905b4 100644
--- a/general/g.proj/datumtrans.c
+++ b/general/g.proj/datumtrans.c
@@ -130,8 +130,10 @@ int set_datumtrans(int datumtrans, int force)
 	    G_debug(3, "set_datumtrans(): datum transform terms found "
 		    "with %d options", paramsets);
 
-	    if (status == 1 && paramsets > 1)
-		/* Parameters are missing and there is a choice to be made */
+	    if (paramsets > 1 && (status == 1 || datumtrans != 0))
+		/* Parameters are missing and there is a choice to be
+                   made / or / user asked to print datum
+                   transformation parameters */
 		force = 1;
 
 	}
diff --git a/general/g.proj/g.proj.html b/general/g.proj/g.proj.html
index a946be1..3af6b9b 100644
--- a/general/g.proj/g.proj.html
+++ b/general/g.proj/g.proj.html
@@ -137,7 +137,7 @@ cat proj4.description | g.proj -w proj4=-
 </pre></div>
 
 <p>Create a new location with the co-ordinate system referred to by EPSG code
-4326 (Latitude-Longitude/WGS84), without explicitly specifiying datum
+4326 (Latitude-Longitude/WGS84), without explicitly specifying datum
 transformation parameters:<br>
 
 <div class="code"><pre>
@@ -228,4 +228,4 @@ ogr2ogr -t_srs "`g.proj -wf`" polbnda_italy_GB_ovest.shp polbnda_italy_LL.shp
 
 Paul Kelly
 
-<p><i>Last changed: $Date: 2015-11-24 09:08:30 +0100 (Tue, 24 Nov 2015) $</i>
+<p><i>Last changed: $Date: 2016-01-29 01:29:57 -0800 (Fri, 29 Jan 2016) $</i>
diff --git a/general/g.proj/input.c b/general/g.proj/input.c
index c4f6640..d02191e 100644
--- a/general/g.proj/input.c
+++ b/general/g.proj/input.c
@@ -136,7 +136,7 @@ int input_proj4(char *proj4params)
 	G_asprintf(&proj4string, "%s +no_defs", proj4params);
 
     /* Set finder function for locating OGR csv co-ordinate system tables */
-    SetCSVFilenameHook(GPJ_set_csv_loc);
+    /* SetCSVFilenameHook(GPJ_set_csv_loc); */
 
     hSRS = OSRNewSpatialReference(NULL);
     if (OSRImportFromProj4(hSRS, proj4string) != OGRERR_NONE)
@@ -174,7 +174,7 @@ int input_epsg(int epsg_num)
     int ret = 0;
 
     /* Set finder function for locating OGR csv co-ordinate system tables */
-    SetCSVFilenameHook(GPJ_set_csv_loc);
+    /* SetCSVFilenameHook(GPJ_set_csv_loc); */
 
     hSRS = OSRNewSpatialReference(NULL);
     if (OSRImportFromEPSG(hSRS, epsg_num) != OGRERR_NONE)
diff --git a/general/g.proj/output.c b/general/g.proj/output.c
index 02164a8..1bff612 100644
--- a/general/g.proj/output.c
+++ b/general/g.proj/output.c
@@ -54,7 +54,7 @@ void print_projinfo(int shell, const char *force_epsg)
         struct Key_Value *in_epsg_key;
         
         if (force_epsg) {
-            epsg_key = "epgs";
+            epsg_key = "epsg";
             epsg_value = force_epsg;
         }
         else {
diff --git a/general/g.region/g.region.html b/general/g.region/g.region.html
index 6b0694e..040dc62 100644
--- a/general/g.region/g.region.html
+++ b/general/g.region/g.region.html
@@ -462,4 +462,4 @@ Michael Shapiro,
 U.S.Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2015-02-14 22:08:31 +0100 (Sat, 14 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2015-02-14 13:07:18 -0800 (Sat, 14 Feb 2015) $</i>
diff --git a/general/g.region/printwindow.c b/general/g.region/printwindow.c
index 68b4830..cfcbb84 100644
--- a/general/g.region/printwindow.c
+++ b/general/g.region/printwindow.c
@@ -83,23 +83,12 @@ void print_window(struct Cell_head *window, int print_flag)
 	prj = G_database_projection_name();
 	if (!prj)
 	    prj = "** unknown **";
-	/*
-	   please remove before GRASS 7 released
-	   backward compatibility issue
-
-	   if (print_flag & PRINT_SH)
-	   {
-	   fprintf(stdout, "projection=%d\n", window->proj);
-	   fprintf(stdout, "zone=%d\n", window->zone);
-	   }
-	   else
-	   {
-	   fprintf(stdout, "%-*s: %d (%s)\n", width, "projection", window->proj, prj);
-	   fprintf(stdout, "%-*s: %d\n", width, "zone", window->zone);
-	   }
-	 */
-
-	if (!(print_flag & PRINT_SH)) {
+
+	if (print_flag & PRINT_SH) {
+            fprintf(stdout, "projection=%d\n", window->proj);
+            fprintf(stdout, "zone=%d\n", window->zone);
+        }
+        else {
 	    fprintf(stdout, "%-*s %d (%s)\n", width, "projection:",
 		    window->proj, prj);
 	    fprintf(stdout, "%-*s %d\n", width, "zone:", window->zone);
diff --git a/general/g.remove/g.remove.html b/general/g.remove/g.remove.html
index 966f1ef..581a4c3 100644
--- a/general/g.remove/g.remove.html
+++ b/general/g.remove/g.remove.html
@@ -34,4 +34,4 @@ Huidae Cho<br>
 grass4u at gmail.com
 
 <p>
-<i>Last changed: $Date: 2014-12-19 21:07:19 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 12:06:05 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/general/g.remove/testsuite/test_g_remove.py b/general/g.remove/testsuite/test_g_remove.py
index e720ff8..c31c025 100644
--- a/general/g.remove/testsuite/test_g_remove.py
+++ b/general/g.remove/testsuite/test_g_remove.py
@@ -3,7 +3,8 @@
 # TODO: rmapcalc probably fatals, replace or add raise on error?
 from grass.script.raster import mapcalc as rmapcalc
 
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gutils import get_current_mapset
 from grass.gunittest.gmodules import SimpleModule
 
@@ -35,7 +36,7 @@ Removing raster <test_two>
 """
 
 
-class GMRemoveTest(grass.gunittest.TestCase):
+class GMRemoveTest(TestCase):
     """Test removing with g.remove"""
 
     @classmethod
@@ -92,7 +93,7 @@ class GMRemoveTest(grass.gunittest.TestCase):
                                  msg="4 maps should be removed")
 
 
-class GMRemoveWrongInputTest(grass.gunittest.TestCase):
+class GMRemoveWrongInputTest(TestCase):
     """Test wrong input of parameters for g.remove module"""
 
     def test_re_flags(self):
@@ -106,4 +107,4 @@ class GMRemoveWrongInputTest(grass.gunittest.TestCase):
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/general/g.rename/g.rename.html b/general/g.rename/g.rename.html
index 81cc3d5..85d8759 100644
--- a/general/g.rename/g.rename.html
+++ b/general/g.rename/g.rename.html
@@ -6,7 +6,6 @@ specify all necessary information to <em>g.rename</em> on
 the command line, by specifying:  the type of data base
 element to be renamed (one or more of:  <b>raster</b>,
 <b>raster_3d</b>, <b>vector</b>, <b>icon</b>, <b>labels</b>,
-<!-- old_vector, ascii_vector -->
 <b>region</b>, and <b>group</b>); the specific file element
 in the current mapset to be renamed (<em>old</em>); and the
 new name to be assigned to this file element (<em>new</em>)
@@ -77,4 +76,4 @@ Michael Shapiro,
 U.S.Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2015-01-12 22:50:21 +0100 (Mon, 12 Jan 2015) $</i><p>
+<p><i>Last changed: $Date: 2015-01-08 10:37:47 -0800 (Thu, 08 Jan 2015) $</i><p>
diff --git a/general/g.rename/testsuite/test_overwrite.py b/general/g.rename/testsuite/test_overwrite.py
new file mode 100644
index 0000000..40396f1
--- /dev/null
+++ b/general/g.rename/testsuite/test_overwrite.py
@@ -0,0 +1,120 @@
+"""g.remove tests
+
+(C) 2013 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:author: Vaclav Petras
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import SimpleModule
+from grass.gunittest.gutils import is_map_in_mapset
+from grass.gunittest.checkers import (text_to_keyvalue, keyvalue_equals,
+                                      diff_keyvalue)
+
+
+class RasterRenameTestCase(TestCase):
+    """Test wrong input of parameters for g.list module"""
+
+    def setUp(self):
+        """Create maps in a small region.
+
+        The raster exists must be renewed for every test.
+        """
+        self.use_temp_region()
+        self.runModule("g.region", s=0, n=5, w=0, e=5, res=1)
+
+        self.runModule("r.mapcalc", expression="rename_1 = 1")
+        self.runModule("r.mapcalc", expression="rename_2 = 20")
+        self.runModule("r.mapcalc", expression="rename_3 = 300")
+        self.runModule("r.mapcalc", expression="exists = 50000")
+        self.to_remove = ['rename_1', 'rename_2', 'rename_3', 'exists']
+
+    def tearDown(self):
+        """Remove temporary region and renamed maps (and also old if needed)"""
+        self.runModule('g.remove', name=self.to_remove, type=['raster'], flags='f')
+        self.del_temp_region()
+
+    def test_raster(self):
+        """Test that raster rename works"""
+        module = SimpleModule('g.rename', raster=['rename_1', 'renamed_1'])
+        self.assertModule(module)
+        new_names = ['renamed_1']
+        self.to_remove.extend(new_names)
+        for name in new_names:
+            self.assertRasterExists(name)
+
+    def test_preserve_existing_raster(self):
+        """Test that existing raster is preserved"""
+        # TODO: write the same for other types
+        # TODO: create a general functions to avoid duplication
+        runivar = SimpleModule('r.univar', flags='g', map='exists')
+        self.runModule(runivar, expecting_stdout=True)
+        original_runivar = text_to_keyvalue(runivar.outputs.stdout,
+                                            sep='=', skip_empty=True)
+        module = SimpleModule('g.rename', raster=['rename_3', 'exists'], overwrite=False)
+        self.assertModule(module)
+        self.assertRasterExists('exists', msg="Destination (existing) map (to) should exist")
+        self.assertRasterExists('rename_3', msg="Source map (from) should exist")
+        runivar = SimpleModule('r.univar', flags='g', map='exists')
+        self.runModule(runivar, expecting_stdout=True)
+        new_runivar = text_to_keyvalue(runivar.outputs.stdout,
+                                       sep='=', skip_empty=True)
+        if not keyvalue_equals(dict_a=original_runivar, dict_b=new_runivar,
+                               precision=1e-7):
+            unused, missing, mismatch = diff_keyvalue(dict_a=original_runivar,
+                                                      dict_b=new_runivar,
+                                                      precision=1e-7)
+            if mismatch:
+                msg = "Raster map changed. It was probably overwritten.\n"
+                msg += "Difference between r.univar of maps:\n"
+                msg += "mismatch values"
+                msg += " (key, reference, actual): %s\n" % mismatch
+                self.fail(msg)
+
+    def test_overwrite_existing_raster(self):
+        """Test that existing raster is overriden if desired"""
+        runivar_source = SimpleModule('r.univar', flags='g', map='rename_3')
+        self.runModule(runivar_source, expecting_stdout=True)
+        original_runivar_source = text_to_keyvalue(runivar_source.outputs.stdout,
+                                                   sep='=', skip_empty=True)
+        runivar_target = SimpleModule('r.univar', flags='g', map='exists')
+        self.runModule(runivar_target, expecting_stdout=True)
+        original_runivar_target = text_to_keyvalue(runivar_target.outputs.stdout,
+                                                   sep='=', skip_empty=True)
+        module = SimpleModule('g.rename', raster=['rename_3', 'exists'], overwrite=True)
+        self.assertModule(module)
+        self.assertRasterExists('exists', msg="Destination (here: existing) map (to) should exist after rename")
+        self.assertFalse(is_map_in_mapset('rename_3', type='raster'),
+                         msg="Source map (from) should not exist after rename")
+
+        runivar = SimpleModule('r.univar', flags='g', map='exists')
+        self.runModule(runivar, expecting_stdout=True)
+        new_runivar = text_to_keyvalue(runivar.outputs.stdout,
+                                       sep='=', skip_empty=True)
+
+        # both these tests are probably redundant but let's test thoroughly
+        if keyvalue_equals(dict_a=original_runivar_target, dict_b=new_runivar,
+                           precision=1e-7):
+            msg = "Raster map did not change. It probably wasn't overwritten."
+            self.fail(msg)
+
+        if not keyvalue_equals(dict_a=original_runivar_source, dict_b=new_runivar,
+                               precision=1e-7):
+            unused, missing, mismatch = diff_keyvalue(dict_a=original_runivar_source,
+                                                      dict_b=new_runivar,
+                                                      precision=1e-7)
+            if mismatch:
+                msg = "Destination raster map is not the same as source."
+                msg += " It probably wasn't overwritten.\n"
+                msg += "Difference between r.univar of maps:\n"
+                msg += "mismatch values"
+                msg += " (key, reference, actual): %s\n" % mismatch
+                self.fail(msg)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/general/g.setproj/g.setproj.html b/general/g.setproj/g.setproj.html
index 040aab4..ff41998 100644
--- a/general/g.setproj/g.setproj.html
+++ b/general/g.setproj/g.setproj.html
@@ -85,7 +85,7 @@ Research Laboratory<br>
 Morten Hulden, morten at untamo.net - rewrote module and added 121 projections <br>
 Andreas Lange, andreas.lange at rhein-main.de - added prelimnary map datum support
 
-<p><i>Last changed: $Date: 2012-03-30 13:56:21 +0200 (Fri, 30 Mar 2012) $</i>
+<p><i>Last changed: $Date: 2012-03-30 04:56:21 -0700 (Fri, 30 Mar 2012) $</i>
 
 
 </body>
diff --git a/general/g.tempfile/g.tempfile.html b/general/g.tempfile/g.tempfile.html
index 61ba47a..eca129f 100644
--- a/general/g.tempfile/g.tempfile.html
+++ b/general/g.tempfile/g.tempfile.html
@@ -49,4 +49,4 @@ Michael Shapiro,
 U.S. Army Construction Engineering 
 Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/general/g.version/g.version.html b/general/g.version/g.version.html
index 71a06d9..56531b3 100644
--- a/general/g.version/g.version.html
+++ b/general/g.version/g.version.html
@@ -38,7 +38,7 @@ print gcore.version()
 <div class="code"><pre>
 g.version 
 
-GRASS 7.0.0RC2 (2015)
+GRASS 7.1.svn (2016)
 </pre></div>
 
 <h3>GIS Library info</h3>
@@ -46,22 +46,22 @@ GRASS 7.0.0RC2 (2015)
 <div class="code"><pre>
 g.version -r
 
-GRASS 7.0.0RC2 (2015)
-libgis Revision: 64007 
-libgis Date: 2015-01-08 20:08:36 +0100 (Thu, 08 Jan 2015) 
+GRASS 7.1.svn (2015)
+libgis Revision: 63930 
+libgis Date: 2015-01-02 12:22:21 +0100 (Fri, 02 Jan 2015)
 </pre></div>
 
 <h3>Full info in shell script style</h3>
 <div class="code"><pre>
 g.version -rge
 
-version=7.0.0RC2
+version=7.1.svn
 date=2015
-revision=64517M
-build_date=2015-01-12
+revision=64567
+build_date=2015-01-11
 build_platform=x86_64-unknown-linux-gnu
-libgis_revision=64007 
-libgis_date="2015-01-08 20:08:36 +0100 (Thu, 08 Jan 2015) "
+libgis_revision=63930 
+libgis_date="2015-01-02 12:22:21 +0100 (Fri, 02 Jan 2015) "
 proj4=4.8.0
 gdal=1.11.1
 geos=3.4.2
@@ -85,4 +85,4 @@ Research Laboratory<br>
 Extended info by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-02-12 15:27:21 +0100 (Thu, 12 Feb 2015) $</i>
+<i>Last changed: $Date: 2016-01-02 07:54:04 -0800 (Sat, 02 Jan 2016) $</i>
diff --git a/general/g.version/main.c b/general/g.version/main.c
index 2ecc8a8..48fdfcc 100644
--- a/general/g.version/main.c
+++ b/general/g.version/main.c
@@ -8,7 +8,7 @@
 *               Extended info by Martin Landa <landa.martin gmail.com>
 * PURPOSE: 	Output GRASS version number, date and copyright message.
 *             
-* COPYRIGHT:  	(C) 2000-2013 by the GRASS Development Team
+* COPYRIGHT:  	(C) 2000-2015 by the GRASS Development Team
 *
 *   	    	This program is free software under the GPL (>=v2)
 *   	    	Read the file COPYING that comes with GRASS for details.
@@ -103,6 +103,7 @@ int main(int argc, char *argv[])
 	fprintf(stdout, "revision=%s\n", GRASS_VERSION_SVN);
 	fprintf(stdout, "build_date=%d-%02d-%02d\n", YEAR, MONTH, DAY);
 	fprintf(stdout, "build_platform=%s\n", ARCH);
+        fprintf(stdout, "build_off_t_size=%lu\n", sizeof(off_t));
     }
     else {
 	fprintf(stdout, "GRASS %s (%s)\n",
diff --git a/grasslib.dox b/grasslib.dox
index 2545159..179229e 100644
--- a/grasslib.dox
+++ b/grasslib.dox
@@ -53,11 +53,6 @@ href="http://grass.osgeo.org">http://grass.osgeo.org</a>
  - vector: \ref vectorlib
  - Temporal GIS API: See http://grass.osgeo.org/grass71/manuals/libpython/temporal_framework.html
 
-\section interfaces Interfaces
-
- - Python script interface: \ref pythonlib
- - %PyGRASS: A Python based object oriented raster, vector library interface
-
 \section libs Further libraries
 
 (the name refers to the directory name in <tt>lib/</tt> in the source code)
@@ -135,10 +130,6 @@ href="http://grass.osgeo.org">http://grass.osgeo.org</a>
  - manage:      \ref managelib
  - symbol:	\ref symbol (Drawing symbols for %point %vector data library)
 
-\section gui GUI
-
- - \ref wxpythonlib
-
 \section location File structure of GRASS Location
 
 A GRASS <b>raster map</b> consists of several files in several subdirectories in a mapset,
diff --git a/gui/icons/Makefile b/gui/icons/Makefile
index bc94100..16b0a58 100644
--- a/gui/icons/Makefile
+++ b/gui/icons/Makefile
@@ -21,17 +21,18 @@ default: $(ETCICONS) $(HTMLICONS)
 	$(MKDIR) $(ARCH_DISTDIR)/share/applications
 	$(INSTALL_DATA) grass.desktop $(ARCH_DISTDIR)/share/applications
 	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/48x48/apps
-	$(INSTALL_DATA) grass-48x48.png $(ARCH_DISTDIR)/share/icons/hicolor/48x48/apps/grass70.png
+	$(INSTALL_DATA) grass-48x48.png $(ARCH_DISTDIR)/share/icons/hicolor/48x48/apps/grass71.png
 	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/64x64/apps
-	$(INSTALL_DATA) grass-64x64.png $(ARCH_DISTDIR)/share/icons/hicolor/64x64/apps/grass70.png
+	$(INSTALL_DATA) grass-64x64.png $(ARCH_DISTDIR)/share/icons/hicolor/64x64/apps/grass71.png
 	$(MKDIR) $(ARCH_DISTDIR)/share/icons/hicolor/scalable/apps
-	$(INSTALL_DATA) grass.svg $(ARCH_DISTDIR)/share/icons/hicolor/scalable/apps/grass70.svg
+	$(INSTALL_DATA) grass.svg $(ARCH_DISTDIR)/share/icons/hicolor/scalable/apps/grass71.svg
 	$(MKDIR) $(ARCH_DISTDIR)/share/appdata
 	$(INSTALL_DATA) grass.appdata.xml $(ARCH_DISTDIR)/share/appdata
-ifeq ($(findstring x86_64,$(ARCH)),x86_64)
-	$(INSTALL_DATA) x86_64/grass.ico $(GUIDIR)/icons
-	$(INSTALL_DATA) x86_64/grass_osgeo.ico $(GUIDIR)/icons
-endif
+### disable special 64bit icons (using different icons can be confusing for the user)
+# ifeq ($(findstring x86_64,$(ARCH)),x86_64)
+# 	$(INSTALL_DATA) x86_64/grass.ico $(GUIDIR)/icons
+# 	$(INSTALL_DATA) x86_64/grass_osgeo.ico $(GUIDIR)/icons
+# endif
 
 $(GUIDIR)/icons/%: % | $(DSTDIRS)
 	$(INSTALL_DATA) $< $@
diff --git a/gui/icons/grass.desktop b/gui/icons/grass.desktop
index 155ec1d..510e44f 100644
--- a/gui/icons/grass.desktop
+++ b/gui/icons/grass.desktop
@@ -48,8 +48,8 @@ Comment[tr]=Coğrafi bilgi sistemi
 Comment[uk]=Геоінформаційна система
 Comment[uz]=Geografik axborot tizimi
 Categories=Education;Science;Geoscience;Geography;
-Exec=grass70
-Icon=grass70
+Exec=grass71
+Icon=grass71
 Terminal=true
 URL=https://grass.osgeo.org/
 Keywords=gis;spatial;geospatial;database;remote sensing;hydrology;vector;raster;visualization;maps;wms;wfs;ogc;osgeo;
diff --git a/gui/icons/grass.ico b/gui/icons/grass.ico
index baeb388..a0ac395 100644
Binary files a/gui/icons/grass.ico and b/gui/icons/grass.ico differ
diff --git a/gui/icons/grass/select.png b/gui/icons/grass/select.png
new file mode 100644
index 0000000..75d1ded
Binary files /dev/null and b/gui/icons/grass/select.png differ
diff --git a/gui/icons/grass_osgeo.ico b/gui/icons/grass_osgeo.ico
index 29eb7d1..c22f5ea 100644
Binary files a/gui/icons/grass_osgeo.ico and b/gui/icons/grass_osgeo.ico differ
diff --git a/gui/wxpython/Makefile b/gui/wxpython/Makefile
index 9f423fb..a9a4fdf 100644
--- a/gui/wxpython/Makefile
+++ b/gui/wxpython/Makefile
@@ -1,6 +1,6 @@
 MODULE_TOPDIR = ../..
 
-SUBDIRS = docs animation mapswipe gmodeler rlisetup psmap dbmgr vdigit iclass gcp timeline tplot
+SUBDIRS = docs animation datacatalog mapswipe gmodeler rlisetup psmap dbmgr vdigit iclass gcp timeline tplot
 EXTRA_CLEAN_FILES = menustrings.py build_ext.pyc xml/menudata.xml xml/module_tree_menudata.xml */*.pyc
 
 include $(MODULE_TOPDIR)/include/Make/Dir.make
@@ -9,18 +9,18 @@ include $(MODULE_TOPDIR)/include/Make/Python.make
 DSTDIR = $(GUIDIR)/wxpython
 
 SRCFILES := $(wildcard icons/*.py scripts/*.py xml/*) \
-	$(wildcard animation/* core/*.py dbmgr/* gcp/*.py gmodeler/* \
+	$(wildcard animation/* core/*.py datacatalog/* dbmgr/* gcp/*.py gmodeler/* \
 	gui_core/*.py iclass/* lmgr/*.py location_wizard/*.py mapwin/*.py mapdisp/*.py \
-	mapswipe/* modules/*.py nviz/*.py psmap/* rlisetup/* timeline/* vdigit/* \
+	mapswipe/* modules/*.py nviz/*.py psmap/* rdigit/* rlisetup/* timeline/* vdigit/* \
 	vnet/*.py web_services/*.py wxplot/*.py iscatt/*.py tplot/*) \
 	gis_set.py gis_set_error.py wxgui.py README
 
 DSTFILES := $(patsubst %,$(DSTDIR)/%,$(SRCFILES)) \
 	$(patsubst %.py,$(DSTDIR)/%.pyc,$(filter %.py,$(SRCFILES)))
 
-PYDSTDIRS := $(patsubst %,$(DSTDIR)/%,animation core dbmgr gcp gmodeler \
+PYDSTDIRS := $(patsubst %,$(DSTDIR)/%,animation core datacatalog dbmgr gcp gmodeler \
 	gui_core iclass lmgr location_wizard mapwin mapdisp modules nviz psmap \
-	mapswipe vdigit wxplot web_services rlisetup vnet timeline iscatt tplot)
+	mapswipe vdigit wxplot web_services rdigit rlisetup vnet timeline iscatt tplot)
 
 
 DSTDIRS := $(patsubst %,$(DSTDIR)/%,icons scripts xml)
@@ -38,9 +38,11 @@ $(DSTDIR)/%: % | $(PYDSTDIRS) $(DSTDIRS)
 
 xml/menudata.xml: core/toolboxes.py
 	$(call run_grass,$(PYTHON) $< > $@)
+	$(call run_grass,$(PYTHON) $< "validate" $@)
 
 xml/module_tree_menudata.xml: core/toolboxes.py
 	$(call run_grass,$(PYTHON) $< "module_tree" > $@)
+	$(call run_grass,$(PYTHON) $< "validate" $@)
 
 menustrings.py: core/menutree.py $(DSTDIR)/xml/menudata.xml $(DSTDIR)/xml/module_tree_menudata.xml $(DSTDIR)/xml/menudata_modeler.xml $(DSTDIR)/xml/menudata_psmap.xml
 	@echo "# This is a generated file.\n" > $@
diff --git a/gui/wxpython/README b/gui/wxpython/README
index 7cc2588..1dd6e82 100644
--- a/gui/wxpython/README
+++ b/gui/wxpython/README
@@ -1,7 +1,7 @@
 GRASS GIS - wxPython Graphical User Interface (wxGUI)
 =====================================================
 
-$Date: 2013-11-22 16:54:30 +0100 (Fri, 22 Nov 2013) $
+$Date: 2013-11-22 07:54:30 -0800 (Fri, 22 Nov 2013) $
 
 1 - REQUIREMENTS
 
diff --git a/gui/wxpython/animation/g.gui.animation.html b/gui/wxpython/animation/g.gui.animation.html
index 2108c2d..2f28344 100644
--- a/gui/wxpython/animation/g.gui.animation.html
+++ b/gui/wxpython/animation/g.gui.animation.html
@@ -97,4 +97,4 @@ Anna Kratochvilova,
 <a href="http://www.cvut.cz">Czech Technical University in Prague</a>, Czech Republic
 
 <p>
-<i>$Date: 2014-12-26 12:02:19 +0100 (Fri, 26 Dec 2014) $</i>
+<i>$Date: 2014-12-26 03:01:43 -0800 (Fri, 26 Dec 2014) $</i>
diff --git a/gui/wxpython/animation/g.gui.animation.py b/gui/wxpython/animation/g.gui.animation.py
index e7cf4fc..e51a9c0 100644
--- a/gui/wxpython/animation/g.gui.animation.py
+++ b/gui/wxpython/animation/g.gui.animation.py
@@ -61,6 +61,10 @@ def main():
     # to avoid issues when only interface is needed
     import grass.temporal as tgis
     import wx
+
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.globalvar import CheckWxVersion
     from core.utils import _
     from core.giface import StandaloneGrassInterface
diff --git a/gui/wxpython/animation/nviztask.py b/gui/wxpython/animation/nviztask.py
index 7fe9a9d..75dbea2 100644
--- a/gui/wxpython/animation/nviztask.py
+++ b/gui/wxpython/animation/nviztask.py
@@ -22,7 +22,7 @@ except ImportError:
 
 from core.workspace import ProcessWorkspaceFile
 from core.gcmd import RunCommand, GException
-from core.utils import GetLayerNameFromCmd, CmdToTuple, _
+from core.utils import GetLayerNameFromCmd, _
 from grass.script import task as gtask
 from core.settings import UserSettings
 
@@ -284,7 +284,7 @@ class NvizTask:
         self.task.set_flag('overwrite', True)
         self.task.set_param('output', 'tobechanged')
         cmd = self.task.get_cmd(ignoreErrors=False, ignoreRequired=False, ignoreDefault=True)
-        return CmdToTuple(cmd)
+        return gtask.cmdlist_to_tuple(cmd)
 
     def GetRegion(self):
         return self.region
diff --git a/gui/wxpython/animation/provider.py b/gui/wxpython/animation/provider.py
index 6aa6f3d..af76c89 100644
--- a/gui/wxpython/animation/provider.py
+++ b/gui/wxpython/animation/provider.py
@@ -29,11 +29,12 @@ from multiprocessing import Process, Queue
 from core.gcmd import RunCommand, GException
 from core.settings import UserSettings
 from core.debug import Debug
-from core.utils import _, CmdToTuple, autoCropImageFromFile
+from core.utils import _, autoCropImageFromFile
 
 from animation.utils import HashCmd, HashCmds, GetFileFromCmd, GetFileFromCmds
 
 import grass.script.core as gcore
+from grass.script.task import cmdlist_to_tuple
 from grass.pydispatch.signal import Signal
 
 
@@ -269,7 +270,7 @@ class BitmapProvider:
                         transparent=True, bgcolor=(0, 0, 0))
 
         Debug.msg(1, "Render raster legend " + str(filename))
-        cmdTuple = CmdToTuple(cmd)
+        cmdTuple = cmdlist_to_tuple(cmd)
         returncode, stdout, messages = read2_command(cmdTuple[0], **cmdTuple[1])
 
         if returncode == 0:
@@ -490,7 +491,7 @@ def RenderProcess2D(imageWidth, imageHeight, tempDir, cmd, region, bgcolor, file
                     transparent=transparency, bgcolor=bgcolor)
     if region:
         os.environ['GRASS_REGION'] = gcore.region_env(**region)
-    cmdTuple = CmdToTuple(cmd)
+    cmdTuple = cmdlist_to_tuple(cmd)
     returncode, stdout, messages = read2_command(cmdTuple[0], **cmdTuple[1])
     if returncode != 0:
         gcore.warning("Rendering failed:\n" + messages)
@@ -523,7 +524,7 @@ def RenderProcess3D(imageWidth, imageHeight, tempDir, cmd, region, bgcolor, file
     os.environ['GRASS_REGION'] = gcore.region_env(region3d=True, **region)
     Debug.msg(1, "Render image to file " + str(filename))
 
-    cmdTuple = CmdToTuple(cmd)
+    cmdTuple = cmdlist_to_tuple(cmd)
     cmdTuple[1]['output'] = os.path.splitext(filename)[0]
     # set size
     cmdTuple[1]['size'] = '%d,%d' % (imageWidth, imageHeight)
diff --git a/gui/wxpython/animation/utils.py b/gui/wxpython/animation/utils.py
index 6be75af..4ff0f42 100644
--- a/gui/wxpython/animation/utils.py
+++ b/gui/wxpython/animation/utils.py
@@ -68,9 +68,11 @@ def validateTimeseriesName(timeseries, etype='strds'):
         else:
             raise GException(_("Space time dataset <%s> not found.") % timeseries)
 
-    for mapset, names in trastDict.iteritems():
-        if timeseries in names:
-            return timeseries + "@" + mapset
+    mapsets = tgis.get_tgis_c_library_interface().available_mapsets()
+    for mapset in mapsets:
+        if mapset in trastDict.keys():
+            if timeseries in trastDict[mapset]:
+                return timeseries + "@" + mapset
 
     raise GException(_("Space time dataset <%s> not found.") % timeseries)
 
diff --git a/gui/wxpython/core/debug.py b/gui/wxpython/core/debug.py
index 7a75a5d..eba70d6 100644
--- a/gui/wxpython/core/debug.py
+++ b/gui/wxpython/core/debug.py
@@ -39,7 +39,13 @@ class DebugMsg:
     def SetLevel(self):
         """Initialize gui debug level
         """
-        self.debuglevel = int(grass.gisenv().get('WX_DEBUG', 0))
+        try:
+            self.debuglevel = int(grass.gisenv().get('WX_DEBUG', 0))
+            if self.debuglevel < 0 or self.debuglevel > 5:
+                raise ValueError(_("Wx debug level {}.").format(self.debuglevel))
+        except ValueError as e:
+            self.debuglevel = 0
+            sys.stderr.write(_("WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n").format(e))
         
     def msg(self, level, message, *args):
         """Print debug message
diff --git a/gui/wxpython/core/gcmd.py b/gui/wxpython/core/gcmd.py
index 821b867..dbc5301 100644
--- a/gui/wxpython/core/gcmd.py
+++ b/gui/wxpython/core/gcmd.py
@@ -60,15 +60,6 @@ except IOError:
         return string
     _ = null_gettext
 
-def GetRealCmd(cmd):
-    """Return real command name - only for MS Windows
-    """
-    if sys.platform == 'win32':
-        for ext in globalvar.grassScripts.keys():
-            if cmd in globalvar.grassScripts[ext]:
-                return cmd + ext
-    
-    return cmd
 
 def DecodeString(string):
     """Decode string using system encoding
@@ -168,7 +159,36 @@ class Popen(subprocess.Popen):
     def __init__(self, args, **kwargs):
         if subprocess.mswindows:
             args = map(EncodeString, args)
-        
+
+            # The Windows shell (cmd.exe) requires some special characters to
+            # be escaped by preceding them with 3 carets (^^^). cmd.exe /?
+            # mentions <space> and &()[]{}^=;!'+,`~. A quick test revealed that
+            # only ^|&<> need to be escaped. A single quote can be escaped by
+            # enclosing it with double quotes and vice versa.
+            for i in range(2, len(args)):
+                # "^" must be the first character in the list to avoid double
+                # escaping.
+                for c in ("^", "|", "&", "<", ">"):
+                    if c in args[i]:
+                        if "=" in args[i]:
+                            a = args[i].split("=")
+                            k = a[0] + "="
+                            v = "=".join(a[1:len(a)])
+                        else:
+                            k = ""
+                            v = args[i]
+
+                        # If there are spaces, the argument was already
+                        # esscaped with double quotes, so don't escape it
+                        # again.
+                        if c in v and not " " in v:
+                            # Here, we escape each ^ in ^^^ with ^^ and a
+                            # <special character> with ^ + <special character>,
+                            # so we need 7 carets.
+
+                            v = v.replace(c, "^^^^^^^" + c)
+                            args[i] = k + v
+
         subprocess.Popen.__init__(self, args, **kwargs)
         
     def recv(self, maxsize = None):
@@ -669,7 +689,6 @@ def RunCommand(prog, flags = "", overwrite = False, quiet = False,
         messageFormat = os.getenv('GRASS_MESSAGE_FORMAT', 'gui')
         os.environ['GRASS_MESSAGE_FORMAT'] = 'standard'
     
-    Debug.msg(2, "gcmd.RunCommand(): command started")
     start = time.time()
     
     ps = grass.start_command(prog, flags, overwrite, quiet, verbose, **kwargs)
@@ -679,7 +698,6 @@ def RunCommand(prog, flags = "", overwrite = False, quiet = False,
         ps.stdin.close()
         ps.stdin = None
     
-    Debug.msg(3, "gcmd.RunCommand(): decoding string")
     stdout, stderr = map(DecodeString, ps.communicate())
     
     if parent: # restore previous settings
@@ -689,7 +707,6 @@ def RunCommand(prog, flags = "", overwrite = False, quiet = False,
     Debug.msg(1, "gcmd.RunCommand(): get return code %d (%.6f sec)" % \
                   (ret, (time.time() - start)))
     
-    Debug.msg(3, "gcmd.RunCommand(): print error")
     if ret != 0:
         if stderr:
             Debug.msg(2, "gcmd.RunCommand(): error %s" % stderr)
@@ -701,7 +718,6 @@ def RunCommand(prog, flags = "", overwrite = False, quiet = False,
                    caption = _("Error in %s") % prog,
                    message = stderr)
     
-    Debug.msg(3, "gcmd.RunCommand(): print read error")
     if not read:
         if not getErrorMsg:
             return ret
@@ -709,9 +725,9 @@ def RunCommand(prog, flags = "", overwrite = False, quiet = False,
             return ret, _formatMsg(stderr)
 
     if stdout:
-        Debug.msg(2, "gcmd.RunCommand(): return stdout\n'%s'" % stdout)
+        Debug.msg(3, "gcmd.RunCommand(): return stdout\n'%s'" % stdout)
     else:
-        Debug.msg(2, "gcmd.RunCommand(): return stdout = None")
+        Debug.msg(3, "gcmd.RunCommand(): return stdout = None")
     
     if parse:
         stdout = parse(stdout)
@@ -719,11 +735,9 @@ def RunCommand(prog, flags = "", overwrite = False, quiet = False,
     if not getErrorMsg:
         return stdout
     
-    Debug.msg(2, "gcmd.RunCommand(): return ret, stdout")
     if read and getErrorMsg:
         return ret, stdout, _formatMsg(stderr)
     
-    Debug.msg(2, "gcmd.RunCommand(): return result")
     return stdout, _formatMsg(stderr)
 
 def GetDefaultEncoding(forceUTF8 = False):
diff --git a/gui/wxpython/core/gconsole.py b/gui/wxpython/core/gconsole.py
index caede67..5e024a1 100644
--- a/gui/wxpython/core/gconsole.py
+++ b/gui/wxpython/core/gconsole.py
@@ -9,7 +9,7 @@ Classes:
  - goutput::GStderr
  - goutput::GConsole
 
-(C) 2007-2014 by the GRASS Development Team
+(C) 2007-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -116,7 +116,7 @@ class CmdThread(threading.Thread):
         os.environ['GRASS_MESSAGE_FORMAT'] = 'gui'
         while True:
             requestId, args, kwds = self.requestQ.get()
-            for key in ('callable', 'onDone', 'onPrepare', 'userData', 'notification'):
+            for key in ('callable', 'onDone', 'onPrepare', 'userData', 'addLayer', 'notification'):
                 if key in kwds:
                     vars()[key] = kwds[key]
                     del kwds[key]
@@ -202,6 +202,7 @@ class CmdThread(threading.Thread):
                                   pid=requestId,
                                   onDone=vars()['onDone'],
                                   userData=vars()['userData'],
+                                  addLayer=vars()['addLayer'],
                                   notification=vars()['notification'])
 
                 # send event
@@ -381,7 +382,7 @@ class GConsole(wx.EvtHandler):
     def Redirect(self):
         """Redirect stdout/stderr
         """
-        if Debug.GetLevel() == 0 and int(grass.gisenv().get('DEBUG', 0)) == 0:
+        if Debug.GetLevel() == 0 and grass.debug_level(force=True) == 0:
             # don't redirect when debugging is enabled
             sys.stdout = self.cmdStdOut
             sys.stderr = self.cmdStdErr
@@ -424,7 +425,8 @@ class GConsole(wx.EvtHandler):
         self.writeError.emit(text=text)
 
     def RunCmd(self, command, compReg=True, skipInterface=False,
-               onDone=None, onPrepare=None, userData=None, notification=Notification.MAKE_VISIBLE):
+               onDone=None, onPrepare=None, userData=None, addLayer=None,
+               notification=Notification.MAKE_VISIBLE):
         """Run command typed into console command prompt (GPrompt).
 
         .. todo::
@@ -445,6 +447,7 @@ class GConsole(wx.EvtHandler):
                                    given
         :param onDone: function to be called when command is finished
         :param onPrepare: function to be called before command is launched
+        :param addLayer: to be passed in the mapCreated signal
         :param userData: data defined for the command
         """
         if len(command) == 0:
@@ -491,15 +494,34 @@ class GConsole(wx.EvtHandler):
                                                                       'opt': p.get('name', '')})
                             return
 
-                if len(command) == 1 and hasParams and \
-                        command[0] != 'v.krige':
-                    # no arguments given
-                    try:
-                        GUI(parent=self._guiparent, giface=self._giface).ParseCommand(command)
-                    except GException as e:
-                        print >> sys.stderr, e
-                    return
-
+                if len(command) == 1:
+                    if command[0].startswith('g.gui.'):
+                        import imp
+                        import inspect
+                        pyFile = command[0]
+                        if sys.platform == 'win32':
+                            pyFile += '.py'
+                        pyPath = os.path.join(os.environ['GISBASE'], 'scripts', pyFile)
+                        if not os.path.exists(pyPath):
+                            pyPath = os.path.join(os.environ['GRASS_ADDON_BASE'], 'scripts', pyFile)
+                        if not os.path.exists(pyPath):
+                            GError(parent=self._guiparent,
+                                   message=_("Module <%s> not found.") % command[0])
+                        pymodule = imp.load_source(command[0].replace('.', '_'), pyPath)
+                        pymain = inspect.getargspec(pymodule.main)
+                        if pymain and 'giface' in pymain.args:
+                            pymodule.main(self._giface)
+                            return
+                    
+                    if hasParams and command[0] != 'v.krige':
+                        # no arguments given
+                        try:
+                            GUI(parent=self._guiparent, giface=self._giface).ParseCommand(command)
+                        except GException as e:
+                            print >> sys.stderr, e
+                        
+                        return
+                
                 # activate computational region (set with g.region)
                 # for all non-display commands.
                 if compReg:
@@ -512,7 +534,7 @@ class GConsole(wx.EvtHandler):
                                       stdout=self.cmdStdOut,
                                       stderr=self.cmdStdErr,
                                       onDone=onDone, onPrepare=onPrepare,
-                                      userData=userData,
+                                      userData=userData, addLayer=addLayer,
                                       env=os.environ.copy(),
                                       notification=notification)
                 self.cmdOutputTimer.Start(50)
@@ -564,7 +586,7 @@ class GConsole(wx.EvtHandler):
                                       stdout=self.cmdStdOut,
                                       stderr=self.cmdStdErr,
                                       onDone=onDone, onPrepare=onPrepare,
-                                      userData=userData,
+                                      userData=userData, addLayer=addLayer,
                                       notification=notification)
             self.cmdOutputTimer.Start(50)
 
@@ -654,7 +676,7 @@ class GConsole(wx.EvtHandler):
         name = task.get_name()
         for p in task.get_options()['params']:
             prompt = p.get('prompt', '')
-            if prompt in ('raster', 'vector', '3d-raster') and p.get('value', None):
+            if prompt in ('raster', 'vector', 'raster_3d') and p.get('value', None):
                 if p.get('age', 'old') == 'new' or \
                         name in ('r.colors', 'r3.colors', 'v.colors', 'v.proj', 'r.proj'):
                     # if multiple maps (e.g. r.series.interp), we need add each
@@ -670,7 +692,7 @@ class GConsole(wx.EvtHandler):
                         if '@' not in lname:
                             lname += '@' + grass.gisenv()['MAPSET']
                         if grass.find_file(lname, element=p.get('element'))['fullname']:
-                            self.mapCreated.emit(name=lname, ltype=prompt)
+                            self.mapCreated.emit(name=lname, ltype=prompt, add=event.addLayer)
         if name == 'r.mask':
             self.updateMap.emit()
         
diff --git a/gui/wxpython/core/giface.py b/gui/wxpython/core/giface.py
index a5757e9..1693b29 100644
--- a/gui/wxpython/core/giface.py
+++ b/gui/wxpython/core/giface.py
@@ -77,7 +77,7 @@ class LayerList(object):
 
         Launches property dialog if needed (raster, vector, etc.)
 
-        :param ltype: layer type (raster, vector, 3d-raster, ...)
+        :param ltype: layer type (raster, vector, raster_3d, ...)
         :param name: layer name
         :param checked: if True layer is checked
         :param opacity: layer opacity level
diff --git a/gui/wxpython/core/globalvar.py b/gui/wxpython/core/globalvar.py
index 62050db..03d0ca4 100644
--- a/gui/wxpython/core/globalvar.py
+++ b/gui/wxpython/core/globalvar.py
@@ -3,7 +3,7 @@
 
 @brief Global variables used by wxGUI
 
-(C) 2007-2014 by the GRASS Development Team
+(C) 2007-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -49,8 +49,11 @@ def CheckWxVersion(version):
 
     return True
 
-def CheckForWx():
-    """Try to import wx module and check its version"""
+def CheckForWx(forceVersion = os.getenv('GRASS_WXVERSION', None)):
+    """Try to import wx module and check its version
+
+    :param forceVersion: force wxPython version, eg. '2.8'
+    """
     if 'wx' in sys.modules.keys():
         return
 
@@ -60,7 +63,8 @@ def CheckForWx():
             import wxversion
         except ImportError as e:
             raise ImportError(e)
-        # wxversion.select(str(minVersion[0]) + '.' + str(minVersion[1]))
+        if forceVersion:
+            wxversion.select(forceVersion)
         wxversion.ensureMinimal(str(minVersion[0]) + '.' + str(minVersion[1]))
         import wx
         version = wx.__version__
@@ -112,7 +116,7 @@ DIALOG_TEXTCTRL_SIZE = (400, -1)
 DIALOG_LAYER_SIZE = (100, -1)
 DIALOG_COLOR_SIZE = (30, 30)
 
-MAP_WINDOW_SIZE = (800, 600)
+MAP_WINDOW_SIZE = (825, 600)
 
 GM_WINDOW_MIN_SIZE = (525, 400)
 # small for ms window which wraps the menu
diff --git a/gui/wxpython/core/gthread.py b/gui/wxpython/core/gthread.py
index af4353d..b457e0e 100644
--- a/gui/wxpython/core/gthread.py
+++ b/gui/wxpython/core/gthread.py
@@ -115,6 +115,6 @@ class gThread(threading.Thread, wx.EvtHandler):
         if event.ondone:
             event.ondone(event)
 
-    def Terminate(self):
+    def Terminate(self, terminate=True):
         """Abort command(s)"""
-        self.terminate = True
+        self.terminate = terminate
diff --git a/gui/wxpython/core/layerlist.py b/gui/wxpython/core/layerlist.py
index 4dc927d..df42ee3 100644
--- a/gui/wxpython/core/layerlist.py
+++ b/gui/wxpython/core/layerlist.py
@@ -73,7 +73,7 @@ class LayerList(object):
                     opacity=1, label=None, pos=0):
         """Creates new layer and adds it to the list (insert to the first position).
 
-        :param ltype: layer type (raster, vector, 3d-raster, ...)
+        :param ltype: layer type (raster, vector, raster_3d, ...)
         :param cmd: command (given as a list)
         :param active: if True layer is active
         :param hidden: if True layer is hidden
@@ -357,16 +357,7 @@ class LayerListToRendererConverter:
 
     def AddLayer(self, index, layer):
         """Adds layer to renderer (prepends)."""
-        mapType = None
-        if layer.mapType == 'raster':
-            mapType = 'raster'
-        elif layer.mapType == 'vector':
-            mapType = 'vector'
-        elif layer.mapType == 'raster_3d':
-            mapType = '3d-raster'
-        elif layer.mapType == 'rgb':
-            mapType = 'rgb'
-        self._renderer.AddLayer(ltype=mapType, command=layer.cmd,
+        self._renderer.AddLayer(ltype=layer.mapType, command=layer.cmd,
                                 name=layer.name, active=layer.active,
                                 hidden=False, opacity=layer.opacity,
                                 render=True, pos=-1)
diff --git a/gui/wxpython/core/render.py b/gui/wxpython/core/render.py
index e6d4d94..e003e65 100644
--- a/gui/wxpython/core/render.py
+++ b/gui/wxpython/core/render.py
@@ -3,21 +3,15 @@
 
 @brief Rendering map layers and overlays into map composition image.
 
-.. todo::
-    Implement RenderManager also for other layers (see WMS
-    implementation for details)
-
-.. todo::
-    Render classes should not care about updating statusbar (change
-    emiting events).
-
 Classes:
  - render::Layer
  - render::MapLayer
  - render::Overlay
  - render::Map
+ - render::RenderLayerMgr
+ - render::RenderMapMgr
 
-(C) 2006-2014 by the GRASS Development Team
+(C) 2006-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -34,12 +28,15 @@ import math
 import copy
 import tempfile
 import types
+import time
 
 import wx
 
 from grass.script import core as grass
 from grass.script.utils import try_remove
+from grass.script.task import cmdlist_to_tuple, cmdtuple_to_list
 from grass.pydispatch.signal import Signal
+from grass.exceptions import CalledModuleError
 
 from core          import utils
 from core.utils import _
@@ -47,10 +44,7 @@ from core.ws       import RenderWMSMgr
 from core.gcmd     import GException, GError, RunCommand
 from core.debug    import Debug
 from core.settings import UserSettings
-
-
-USE_GPNMCOMP = True
-
+from core.gthread import gThread
 
 class Layer(object):
     """Virtual class which stores information about layers (map layers and
@@ -60,7 +54,7 @@ class Layer(object):
     - For overlays use Overlay class.
     """
     def __init__(self, ltype, cmd, Map, name=None,
-                 active=True, hidden=False, opacity=1.0):
+                 active=True, hidden=False, opacity=1.0, mapfile=None, render=True):
         """Create new instance
 
         .. todo::
@@ -75,10 +69,11 @@ class Layer(object):
         :param active: layer is active, will be rendered only if True
         :param hidden: layer is hidden, won't be listed in Layer Manager if True
         :param float opacity: layer opacity <0;1>
+        :param mapfile full path to output file or None
         """
-
-        # generated file for each layer
-        if USE_GPNMCOMP or ltype == 'overlay':
+        if mapfile:
+            self.mapfile = mapfile
+        else:
             if ltype == 'overlay':
                 tempfile_sfx = ".png"
             else:
@@ -88,10 +83,10 @@ class Layer(object):
             # we don't want it open, we just need the name
             self.mapfile = mapfile.name
             mapfile.close()
-            self.maskfile = self.mapfile.rsplit(".",1)[0] + ".pgm"
-        else:
-            self.mapfile = self.maskfile = None
-
+            os.remove(self.mapfile) # remove empty file
+            
+        self.maskfile = self.mapfile.rsplit(".",1)[0] + ".pgm"
+        
         # stores class which manages rendering instead of simple command - e.g. WMS
         self.renderMgr = None
 
@@ -99,20 +94,19 @@ class Layer(object):
         self.type = None
         self.SetType(ltype)
         self.name = name
-        self.environ = os.environ.copy()
 
         if self.type == 'command':
             self.cmd = list()
             for c in cmd:
-                self.cmd.append(utils.CmdToTuple(c))
+                self.cmd.append(cmdlist_to_tuple(c))
         else:
-            self.cmd = utils.CmdToTuple(cmd)
+            self.cmd = cmdlist_to_tuple(cmd)
 
         self.active  = active
         self.hidden  = hidden
         self.opacity = opacity
 
-        self.forceRender = True
+        self.forceRender = render
 
         Debug.msg (3, "Layer.__init__(): type=%s, cmd='%s', name=%s, " \
                        "active=%d, opacity=%d, hidden=%d" % \
@@ -123,7 +117,13 @@ class Layer(object):
         Debug.msg (3, "Layer.__del__(): layer=%s, cmd='%s'" %
                    (self.name, self.GetCmd(string = True)))
 
-    def Render(self):
+    def __str__(self):
+        return self.GetCmd(string=True)
+
+    def __repr__(self):
+        return self.__str__()
+    
+    def Render(self, env=None):
         """Render layer to image
 
         :return: rendered image filename
@@ -133,11 +133,11 @@ class Layer(object):
             return None
 
         # ignore in 2D
-        if self.type == '3d-raster':
+        if self.type == 'raster_3d':
             return None
 
-        Debug.msg (3, "Layer.Render(): type=%s, name=%s" % \
-                       (self.type, self.name))
+        Debug.msg (3, "Layer.Render(): type=%s, name=%s, file=%s" % \
+                       (self.type, self.name, self.mapfile))
 
         # prepare command for each layer
         layertypes = utils.command2ltype.values() + ['overlay', 'command']
@@ -145,58 +145,34 @@ class Layer(object):
         if self.type not in layertypes:
             raise GException(_("<%(name)s>: layer type <%(type)s> is not supported") % \
                                  {'type' : self.type, 'name' : self.name})
-
-        if self.mapfile:
-            self.environ["GRASS_RENDER_FILE"] = self.mapfile
-
-        # execute command
+        
+        if not env:
+            env = os.environ.copy()
+        
+        # render layers
         try:
             if self.type == 'command':
-                read = False
+                first = True
                 for c in self.cmd:
-                    ret, msg = self._runCommand(c)
-                    if ret != 0:
-                        break
-                    if not read:
-                        self.environ["GRASS_RENDER_FILE_READ"] = "TRUE"
-
-                self.environ["GRASS_RENDER_FILE_READ"] = "FALSE"
+                    self.renderMgr.Render(c, env)
+                    if first:
+                        env["GRASS_RENDER_FILE_READ"] = "TRUE"
+                        first = False
             else:
-                ret, msg = self._runCommand(self.cmd)
-            if ret != 0:
-                sys.stderr.write(_("Command '%s' failed\n") % self.GetCmd(string = True))
-                if msg:
-                    sys.stderr.write(_("Details: %s\n") % msg)
-                raise GException()
-
+                self.renderMgr.Render(self.cmd, env)
         except GException:
+            sys.stderr.write(_("Command '%s' failed\n") % self.GetCmd(string = True))
+            sys.stderr.write(_("Details: %s\n") % e)
+            
             # clean up after problems
             for f in [self.mapfile, self.maskfile]:
                 if not f:
                     continue
                 try_remove(f)
                 f = None
-
-        self.forceRender = False
-
+        
         return self.mapfile
-
-    def _runCommand(self, cmd):
-        """Run command to render data
-        """
-        if self.type == 'wms':
-            ret = 0
-            msg = ''
-            self.renderMgr.Render(cmd, env=self.environ)
-        else:
-            cmd[1]['quiet'] = True
-            ret, msg = RunCommand(cmd[0],
-                                  getErrorMsg = True,
-                                  env=self.environ,
-                                  **cmd[1])
-
-        return ret, msg
-
+    
     def GetCmd(self, string = False):
         """Get GRASS command as list of string.
 
@@ -273,13 +249,18 @@ class Layer(object):
         if ltype not in utils.command2ltype.values() + ['overlay', 'command']:
             raise GException(_("Unsupported map layer type '%s'") % ltype)
 
-        if ltype == 'wms' and not isinstance(self.renderMgr, RenderWMSMgr):
-            self.renderMgr = RenderWMSMgr(layer=self,
-                                          mapfile=self.mapfile,
-                                          maskfile=self.maskfile)
-        elif self.type == 'wms' and ltype != 'wms':
-            self.renderMgr = None
-
+        if not self.renderMgr:
+            env = {}
+            if ltype == 'wms':
+                renderMgr = RenderWMSMgr
+            else:
+                renderMgr = RenderLayerMgr
+                env['GRASS_RENDER_FILE'] = self.mapfile
+                if ltype == 'overlay':
+                    env['GRASS_RENDER_FILE_READ'] = 'FALSE'
+                    env['GRASS_RENDER_TRANSPARENT'] = 'TRUE'
+            self.renderMgr = renderMgr(self, env)
+        
         self.type = ltype
 
     def SetName(self, name):
@@ -308,54 +289,32 @@ class Layer(object):
         if self.type == 'command':
             self.cmd = []
             for c in cmd:
-                self.cmd.append(utils.CmdToTuple(c))
+                self.cmd.append(cmdlist_to_tuple(c))
         else:
-            self.cmd = utils.CmdToTuple(cmd)
+            self.cmd = cmdlist_to_tuple(cmd)
         Debug.msg(3, "Layer.SetCmd(): cmd='%s'" % self.GetCmd(string = True))
 
         # for re-rendering
         self.forceRender = True
 
-    def SetEnvironment(self, environ):
-        """Sets environment for rendering."""
-        self.environ = environ
-
     def IsDownloading(self):
         """Is data downloading from web server e. g. wms"""
-        if self.renderMgr is None:
-            return False
-        else:
-            return self.renderMgr.IsDownloading()
+        return self.renderMgr.IsDownloading()
 
     def AbortThread(self):
         """Abort running thread e. g. downloading data"""
-        if self.renderMgr is None:
-            return
-        else:
-            self.renderMgr.Abort()
+        self.renderMgr.Abort()
 
     def GetRenderMgr(self):
         """Get render manager """
         return self.renderMgr
 
 class MapLayer(Layer):
-    def __init__(self, ltype, cmd, Map, name = None,
-                 active = True, hidden = False, opacity = 1.0):
+    def __init__(self, *args, **kwargs):
         """Represents map layer in the map canvas
-
-        :param ltype: layer type ('raster', 'vector', 'command', etc.)
-        :param cmd: GRASS command to render layer,
-                    given as list, e.g. ['d.rast',
-                    'map=elevation at PERMANENT']
-        :param map: render.Map instance
-        :param name: layer name, e.g. 'elevation at PERMANENT' (for layer tree) or None
-        :param active: layer is active, will be rendered only if True
-        :param hidden: layer is hidden, won't be listed in Layer Manager if True
-        :param opacity: layer opacity <0;1>
         """
-        Layer.__init__(self, ltype, cmd, Map, name,
-                       active, hidden, opacity)
-
+        Layer.__init__(self, *args, **kwargs)
+        
     def GetMapset(self):
         """Get mapset of map layer
 
@@ -371,23 +330,308 @@ class MapLayer(Layer):
             return self.name
 
 class Overlay(Layer):
-    def __init__(self, id, ltype, cmd, Map,
-                 active = True, hidden = True, opacity = 1.0):
+    def __init__(self, id, *args, **kwargs):
         """Represents overlay displayed in map canvas
 
         :param id: overlay id (for PseudoDC)
-        :param type: overlay type ('barscale', 'legend', etc.)
-        :param cmd: GRASS command to render overlay,
-                    given as list, e.g. ['d.legend',
-                    'raster=elevation at PERMANENT']
-        :param map: render.Map instance
-        :param active: layer is active, will be rendered only if True
-        :param hidden: layer is hidden, won't be listed in Layer Manager if True
-        :param opacity: layer opacity <0;1>
         """
-        Layer.__init__(self, 'overlay', cmd, Map, ltype,
-                       active, hidden, opacity)
+        Layer.__init__(self, ltype='overlay', *args, **kwargs)
         self.id = id
+        
+class RenderLayerMgr(wx.EvtHandler):
+    def __init__(self, layer, env):
+        """Render layer into image
+
+        :param layer: Layer to be rendered
+        """
+        self.layer = layer
+         
+        wx.EvtHandler.__init__(self)
+        self.thread = gThread()
+        
+        self.updateProgress = Signal('RenderLayerMgr.updateProgress')
+        
+        self._startTime = None
+        self._render_env = env
+
+    def UpdateRenderEnv(self, env):
+        self._render_env.update(env)
+        
+    def Render(self, cmd, env):
+        """Render layer
+
+        :param cmd: display command given as tuple
+        :param env: environmental variables used for rendering
+        """
+        Debug.msg(1, "RenderLayerMgr.Render(%s): force=%d img=%s" % \
+                  (self.layer, self.layer.forceRender, self.layer.mapfile))
+        
+        env_cmd = env.copy()
+        env_cmd.update(self._render_env)
+        env_cmd['GRASS_RENDER_FILE'] = self.layer.mapfile
+
+        cmd_render = copy.deepcopy(cmd)
+        cmd_render[1]['quiet'] = True # be quiet
+        
+        self._startTime = time.time()
+        self.thread.Run(callable=self._render, cmd=cmd_render, env=env_cmd,
+                        ondone=self.OnRenderDone)
+        self.layer.forceRender = False
+
+    def _render(self, cmd, env):
+        try:
+            return grass.run_command(cmd[0], env=env, **cmd[1])
+        except CalledModuleError as e:
+            return 1
+    
+    def Abort(self):
+        """Abort rendering process"""
+        Debug.msg(1, "RenderLayerMgr({}).Abort()".format(self.layer))
+        self.thread.Terminate()
+        
+        # force rendering layer next time
+        self.layer.forceRender = True
+        self.thread.Terminate(False)
+        
+    def IsDownloading(self):
+        """Is downloading
+
+        :return: always False
+        """
+        return False
+    
+    def OnRenderDone(self, event):
+        """Rendering done
+
+        Emits updateProcess
+        """
+        Debug.msg(1, "RenderLayerMgr.OnRenderDone(%s): ret=%d time=%f" % \
+                      (self.layer, event.ret, time.time() - self._startTime))
+        if event.ret != 0:
+            try:
+                os.remove(self.layer.mapfile)
+            except:
+                pass
+        
+        self.updateProgress.emit(layer=self.layer)
+        
+class RenderMapMgr(wx.EvtHandler):
+    def __init__(self, Map):
+        """Render map layers as image composition
+
+        :param Map: Map object to be rendered
+        """
+        wx.EvtHandler.__init__(self)
+
+        self.Map = Map
+        
+        self.updateMap = Signal('RenderMapMgr.updateMap')
+        self.updateProgress = Signal('RenderMapMgr.updateProgress')
+        self.renderDone = Signal('RenderMapMgr.renderDone')
+        self.renderDone.connect(self.OnRenderDone)
+        
+        # GRASS environment variable (for rendering)
+        self._render_env = {"GRASS_RENDER_BACKGROUNDCOLOR" : "000000",
+                            "GRASS_RENDER_FILE_COMPRESSION" : "0",
+                            "GRASS_RENDER_TRUECOLOR"       : "TRUE",
+                            "GRASS_RENDER_TRANSPARENT"     : "TRUE" }
+        
+        self._init()
+        self._rendering = False
+        
+    def _init(self, env=None):
+        """Init render manager
+
+        :param env: environmental variables or None
+        """
+        self._startTime = time.time()
+        self.progressInfo = None
+        self._env = env
+        self.layers = []
+        
+        # re-render from scratch
+        if os.path.exists(self.Map.mapfile):
+            os.remove(self.Map.mapfile)
+        
+    def _renderLayers(self, env, force = False, overlaysOnly = False):
+        """Render all map layers into files
+
+        :param dict env: environmental variables to be used for rendering process
+        :param bool force: True to force rendering
+        :param bool overlaysOnly: True to render only overlays
+
+        :return: number of layers to be rendered
+        """
+        self.layers = self.Map.GetListOfLayers(ltype='overlay', active=True)
+        if not overlaysOnly:
+            self.layers += self.Map.GetListOfLayers(active=True,
+                                                    ltype='raster_3d',
+                                                    except_ltype=True)
+        
+        # reset progress
+        self.ReportProgress()
+
+        # render map layers if forced
+        nlayers = 0
+        for layer in self.layers:
+            if force or layer.forceRender:
+                nlayers += 1
+                layer.Render(env)
+            else:
+                layer.GetRenderMgr().updateProgress.emit(layer=layer)
+        
+        Debug.msg(1, "RenderMapMgr.Render(): %d layers to be rendered "
+                  "(force=%d, all active layers -> %d)" % (nlayers, force,
+                                                           len(self.layers)))
+        
+        return nlayers
+
+    def GetRenderEnv(self, windres=False):
+        env = os.environ.copy()
+        env.update(self._render_env)
+        # use external gisrc if defined
+        if self.Map.gisrc:
+            env['GISRC'] = self.Map.gisrc
+        env['GRASS_REGION'] = self.Map.SetRegion(windres)
+        env['GRASS_RENDER_WIDTH'] = str(self.Map.width)
+        env['GRASS_RENDER_HEIGHT'] = str(self.Map.height)
+        if UserSettings.Get(group = 'display', key = 'driver', subkey = 'type') == 'png':
+            env['GRASS_RENDER_IMMEDIATE'] = 'png'
+        else:
+            env['GRASS_RENDER_IMMEDIATE'] = 'cairo'
+
+        return env
+    
+    def Render(self, force = False, windres = False):
+        """Render map composition
+
+        :param bool force: force rendering all map layers in the composition
+        :param windres: True for region resolution instead for map resolution
+        """
+        if self._rendering:
+            Debug.msg(1, "RenderMapMgr().Render(): cancelled (already rendering)")
+            return
+        
+        wx.BeginBusyCursor()
+        self._rendering = True
+        
+        env = self.GetRenderEnv(windres)
+        self._init(env)
+        if self._renderLayers(env, force, windres) == 0:
+            self.renderDone.emit()
+        
+    def OnRenderDone(self):
+        """Rendering process done
+
+        Make image composiotion, emits updateMap event.
+        """
+        stopTime = time.time()
+        
+        maps = list()
+        masks = list()
+        opacities = list()
+        
+        for layer in self.layers:
+            if layer.GetType() == 'overlay':
+                continue
+
+            if os.path.isfile(layer.mapfile):
+                maps.append(layer.mapfile)
+                masks.append(layer.maskfile)
+                opacities.append(str(layer.opacity))
+        
+        # run g.pngcomp to get composite image
+        bgcolor = ':'.join(map(str, UserSettings.Get(group = 'display', key = 'bgcolor',
+                                                     subkey = 'color')))
+        startCompTime = time.time()
+        if maps:
+            ret, msg = RunCommand('g.pnmcomp',
+                                  getErrorMsg = True,
+                                  overwrite = True,
+                                  input = '%s' % ",".join(maps),
+                                  mask = '%s' % ",".join(masks),
+                                  opacity = '%s' % ",".join(opacities),
+                                  bgcolor = bgcolor,
+                                  width = self.Map.width,
+                                  height = self.Map.height,
+                                  output = self.Map.mapfile,
+                                  env=self._env)
+            if ret != 0:
+                self._rendering = False
+                if wx.IsBusy():
+                    wx.EndBusyCursor()
+                raise GException(_("Rendering failed: %s" % msg))
+        
+        stop = time.time()
+        Debug.msg (1, "RenderMapMgr.OnRenderDone() time=%f sec (comp: %f)" % \
+                   (stop - self._startTime, stop - startCompTime))
+        
+        self._rendering = False
+        if wx.IsBusy():
+            wx.EndBusyCursor()
+        
+        self.updateMap.emit()
+
+    def Abort(self):
+        """Abort all rendering processes"""
+        Debug.msg(1, "RenderMapMgr.Abort()")
+        for layer in self.layers:
+            layer.GetRenderMgr().Abort()
+
+        self._init()
+        if wx.IsBusy():
+            wx.EndBusyCursor()
+        self.updateProgress.emit(range=0, value=0, text=_("Rendering aborted"))
+        
+    def ReportProgress(self, layer=None):
+        """Calculates progress in rendering/downloading
+        and emits signal to inform progress bar about progress.
+
+        Emits renderDone event when progressVal is equal to range.
+        
+        :param layer: Layer to be processed or None to reset
+        """
+        if self.progressInfo is None or layer is None:
+            self.progressInfo = {'progresVal' : 0,   # current progress value
+                                 'downloading' : [], # layers, which are downloading data
+                                 'rendered' : [],    # already rendered layers
+                                 'range' : len(self.layers)}
+        else:
+            if layer not in self.progressInfo['rendered']:
+                self.progressInfo['rendered'].append(layer)
+            if layer.IsDownloading() and \
+                    layer not in self.progressInfo['downloading']:
+                self.progressInfo['downloading'].append(layer)
+            else:
+                self.progressInfo['progresVal'] += 1
+                if layer in self.progressInfo['downloading']:
+                    self.progressInfo['downloading'].remove(layer)
+        
+        # for updating statusbar text
+        stText = ''
+        first = True
+        for layer in self.progressInfo['downloading']:
+            if first:
+                stText += _("Downloading data ")
+                first = False
+            else:
+                stText += ', '
+            stText += '<%s>' % layer.GetName()
+        if stText:
+            stText += '...'
+
+        if  self.progressInfo['range'] != len(self.progressInfo['rendered']):
+            if stText:
+                stText = _('Rendering & ') + stText
+            else:
+                stText = _('Rendering...')
+        
+        self.updateProgress.emit(range=self.progressInfo['range'],
+                                 value=self.progressInfo['progresVal'],
+                                 text=stText)
+        
+        if layer and self.progressInfo['progresVal'] == self.progressInfo['range']:
+            self.renderDone.emit()
 
 class Map(object):
     def __init__(self, gisrc = None):
@@ -395,6 +639,7 @@ class Map(object):
 
         :param gisrc: alternative gisrc (used eg. by georectifier)
         """
+        Debug.msg (1, "Map.__init__(): gisrc=%s" % gisrc)
         # region/extent settigns
         self.wind      = dict() # WIND settings (wind file)
         self.region    = dict() # region settings (g.region)
@@ -409,34 +654,28 @@ class Map(object):
 
         # path to external gisrc
         self.gisrc = gisrc
-
+        
         # generated file for g.pnmcomp output for rendering the map
         self.mapfile = grass.tempfile(create = False) + '.ppm'
-
+        
         # setting some initial env. variables
         if not self.GetWindow():
             sys.stderr.write(_("Trying to recover from default region..."))
             RunCommand('g.region', flags='d')
 
-        # info to report progress
-        self.progressInfo = None
-
-        # GRASS environment variable (for rendering)
-        self.default_env = {"GRASS_RENDER_BACKGROUNDCOLOR" : "000000",
-                            "GRASS_RENDER_FILE_COMPRESSION" : "0",
-                            "GRASS_RENDER_TRUECOLOR"       : "TRUE",
-                            "GRASS_RENDER_TRANSPARENT"     : "TRUE"
-                            }
-
         # projection info
         self.projinfo = self._projInfo()
 
-        # is some layer being downloaded?
-        self.downloading = False
-
         self.layerChanged = Signal('Map.layerChanged')
-        self.updateProgress = Signal('Map.updateProgress')
+        self.layerRemoved = Signal('Map:layerRemoved')
+        self.layerAdded = Signal('Map:layerAdded')
+        
+        self.renderMgr = RenderMapMgr(self)
 
+    def GetRenderMgr(self):
+        """Get render manager """
+        return self.renderMgr
+        
     def GetProjInfo(self):
         """Get projection info"""
         return self.projinfo
@@ -796,7 +1035,7 @@ class Map(object):
             return None
 
     def GetListOfLayers(self, ltype = None, mapset = None, name = None,
-                        active = None, hidden = None):
+                        active = None, hidden = None, except_ltype=False):
         """Returns list of layers of selected properties or list of
         all layers.
 
@@ -805,6 +1044,7 @@ class Map(object):
         :param name: all layers with given name
         :param active: only layers with 'active' attribute set to True or False
         :param hidden: only layers with 'hidden' attribute set to True or False
+        :param except_ltype: True to return all layers with type not in ltype
 
         :return: list of selected layers
         """
@@ -824,11 +1064,15 @@ class Map(object):
         for layer in llist:
             # specified type only
             if ltype != None:
-                if one_type and layer.type != ltype:
-                    continue
-                elif not one_type and layer.type not in ltype:
-                    continue
-
+                if one_type:
+                    if (not except_ltype and layer.type != ltype) or \
+                        (except_ltype and layer.type == ltype):
+                        continue
+                elif not one_type:
+                    if (not except_ltype and layer.type not in ltype) or \
+                       (except_ltype and layer.type in ltype):
+                        continue
+            
             # mapset
             if (mapset != None and ltype != 'overlay') and \
                     layer.GetMapset() != mapset:
@@ -859,70 +1103,10 @@ class Map(object):
             else:
                 selected.append(layer)
 
-        Debug.msg (3, "Map.GetListOfLayers(): numberof=%d" % len(selected))
+        Debug.msg (3, "Map.GetListOfLayers(ltype=%s): -> %d" % (ltype, len(selected)))
 
         return selected
 
-    def _renderLayers(self, env, force = False, overlaysOnly = False):
-        """Render all map layers into files
-
-        :param bool force: True to force rendering
-        :param bool overlaysOnly: True to render only overlays
-
-        :return: list of maps, masks and opacities
-        """
-        maps = list()
-        masks = list()
-        opacities = list()
-        # render map layers
-        if overlaysOnly:
-            layers = self.overlays
-        else:
-            layers = self.layers + self.overlays
-
-        self.downloading = False
-
-        self.ReportProgress(layer=None)
-
-
-        for layer in layers:
-            # skip non-active map layers
-            if not layer or not layer.active:
-                continue
-
-            # render
-            if force or layer.forceRender:
-                layer.SetEnvironment(env)
-                if not layer.Render():
-                    continue
-
-            if layer.IsDownloading():
-                self.downloading = True
-
-            self.ReportProgress(layer=layer)
-
-            # skip map layers when rendering fails
-            if not os.path.exists(layer.mapfile):
-                continue
-
-            # add image to compositing list
-            if layer.type != "overlay":
-                maps.append(layer.mapfile)
-                masks.append(layer.maskfile)
-                opacities.append(str(layer.opacity))
-
-            Debug.msg(3, "Map.Render() type=%s, layer=%s " % (layer.type, layer.name))
-
-        return maps, masks, opacities
-
-    def GetMapsMasksAndOpacities(self, force, windres, env):
-        """
-        Used by Render function.
-
-        :return: maps, masks, opacities
-        """
-        return self._renderLayers(force=force, env=env)
-
     def Render(self, force = False, windres = False):
         """Creates final image composite
 
@@ -932,69 +1116,24 @@ class Map(object):
         :param force: force rendering
         :param windres: use region resolution (True) otherwise display
                         resolution
-
-        :return: name of file with rendered image or None
         """
-        wx.BeginBusyCursor()
-        env = os.environ.copy()
-        env.update(self.default_env)
-        # use external gisrc if defined
-        if self.gisrc:
-            env['GISRC'] = self.gisrc
-        env['GRASS_REGION'] = self.SetRegion(windres)
-        env['GRASS_RENDER_WIDTH'] = str(self.width)
-        env['GRASS_RENDER_HEIGHT'] = str(self.height)
-        driver = UserSettings.Get(group = 'display', key = 'driver', subkey = 'type')
-        if driver == 'png':
-            env['GRASS_RENDER_IMMEDIATE'] = 'png'
+        self.renderMgr.Render(force, windres)
+        
+    def _addLayer(self, layer, pos=-1):
+        if layer.type == 'overlay':
+            llist = self.overlays
         else:
-            env['GRASS_RENDER_IMMEDIATE'] = 'cairo'
-
-        maps, masks, opacities = self.GetMapsMasksAndOpacities(force, windres, env)
-
-        # ugly hack for MSYS
-        if sys.platform != 'win32':
-            mapstr = ",".join(maps)
-            maskstr = ",".join(masks)
+            llist = self.layers
+        
+        # add maplayer to the list of layers
+        if pos > -1:
+            llist.insert(pos, layer)
         else:
-            mapstr = ""
-            for item in maps:
-                mapstr += item.replace('\\', '/')
-            mapstr = mapstr.rstrip(',')
-            maskstr = ""
-            for item in masks:
-                maskstr += item.replace('\\', '/')
-            maskstr = maskstr.rstrip(',')
-
-        # run g.pngcomp to get composite image
-        bgcolor = ':'.join(map(str, UserSettings.Get(group = 'display', key = 'bgcolor',
-                                                     subkey = 'color')))
-
-        if maps:
-            ret, msg = RunCommand('g.pnmcomp',
-                                  getErrorMsg = True,
-                                  overwrite = True,
-                                  input = '%s' % ",".join(maps),
-                                  mask = '%s' % ",".join(masks),
-                                  opacity = '%s' % ",".join(opacities),
-                                  bgcolor = bgcolor,
-                                  width = self.width,
-                                  height = self.height,
-                                  output = self.mapfile,
-                                  env=env)
-
-            if ret != 0:
-                print >> sys.stderr, _("ERROR: Rendering failed. Details: %s") % msg
-                wx.EndBusyCursor()
-                return None
-
-        Debug.msg (3, "Map.Render() force=%s file=%s" % (force, self.mapfile))
-
-        wx.EndBusyCursor()
-        if not maps:
-            return None
-
-        return self.mapfile
+            llist.append(layer)
+        
+        Debug.msg (3, "Map._addLayer(): layer=%s type=%s" % (layer.name, layer.type))
+        
+        return layer
 
     def AddLayer(self, ltype, command, name = None,
                  active = True, hidden = False, opacity = 1.0, render = False,
@@ -1013,7 +1152,6 @@ class Map(object):
         :return: new layer on success
         :return: None on failure
         """
-        wx.BeginBusyCursor()
         # opacity must be <0;1>
         if opacity < 0:
             opacity = 0
@@ -1021,25 +1159,19 @@ class Map(object):
             opacity = 1
         layer = MapLayer(ltype = ltype, name = name, cmd = command, Map = self,
                          active = active, hidden = hidden, opacity = opacity)
-
-        # add maplayer to the list of layers
-        if pos > -1:
-            self.layers.insert(pos, layer)
-        else:
-            self.layers.append(layer)
-
-        Debug.msg (3, "Map.AddLayer(): layer=%s" % layer.name)
-        if render:
-            if not layer.Render():
-                raise GException(_("Unable to render map layer <%s>.") % name)
-
+        
+        self._addLayer(layer, pos)
+        
         renderMgr = layer.GetRenderMgr()
+        Debug.msg(1, "Map.AddLayer(): ltype={}, command={}".format(ltype, layer.GetCmd(string=True)))
         if renderMgr:
-            renderMgr.dataFetched.connect(self.layerChanged)
-            renderMgr.updateProgress.connect(self.ReportProgress)
-
-        wx.EndBusyCursor()
-
+            if layer.type == 'wms':
+                renderMgr.dataFetched.connect(self.renderMgr.ReportProgress)
+            renderMgr.updateProgress.connect(self.renderMgr.ReportProgress)
+        layer.forceRender = render
+        
+        self.layerAdded.emit(layer=layer)
+        
         return layer
 
     def DeleteAllLayers(self, overlay = False):
@@ -1078,20 +1210,14 @@ class Map(object):
                     os.remove(f)
             list.remove(layer)
 
+            self.layerRemoved.emit(layer=layer)
             return layer
 
         return None
 
     def SetLayers(self, layers):
         self.layers = layers
-
-        # only for debug
-        # might be removed including message, it seems more than clear
-        layerNameList = ""
-        for layer in self.layers:
-            if layer.GetName():
-                layerNameList += layer.GetName() + ','
-        Debug.msg(5, "Map.SetLayers(): layers=%s" % (layerNameList))
+        Debug.msg(5, "Map.SetLayers(): layers=%s" % (layers))
 
     def ChangeLayer(self, layer, render = False, **kargs):
         """Change map layer properties
@@ -1124,11 +1250,12 @@ class Map(object):
 
         if 'opacity' in kargs:
             layer.SetOpacity(kargs['opacity'])
-
-        if render and not layer.Render():
-            raise GException(_("Unable to render map layer <%s>.") %
-                             layer.GetName())
-
+        
+        self.forceRender = render
+        
+        # not needed since there is self.forceRender
+        ### self.layerChanged(layer=layer)
+        
         return layer
 
     def ChangeOpacity(self, layer, opacity):
@@ -1152,6 +1279,8 @@ class Map(object):
         :param active: to be rendered (True)
         """
         layer.active = active
+        if active:
+            layer.forceRender = True
 
         Debug.msg (3, "Map.ChangeLayerActive(): name='%s' -> active=%d" % \
                    (layer.name, layer.active))
@@ -1229,20 +1358,20 @@ class Map(object):
         :return: new layer on success
         :return: None on failure
         """
-        Debug.msg (2, "Map.AddOverlay(): cmd=%s, render=%d" % (command, render))
-        overlay = Overlay(id = id, ltype = ltype, cmd = command, Map = self,
+        overlay = Overlay(id = id, name = ltype, cmd = command, Map = self,
                           active = active, hidden = hidden, opacity = opacity)
-
-        # add maplayer to the list of layers
-        self.overlays.append(overlay)
-
-        if render and command != '' and not overlay.Render():
-            raise GException(_("Unable to render overlay <%s>.") %
-                             ltype)
-
-        return self.overlays[-1]
-
-    def ChangeOverlay(self, id, render = False, **kargs):
+        
+        self._addLayer(overlay)
+        
+        renderMgr = overlay.GetRenderMgr()
+        Debug.msg (1, "Map.AddOverlay(): cmd={}".format(overlay.GetCmd(string=True)))
+        if renderMgr:
+            renderMgr.updateProgress.connect(self.renderMgr.ReportProgress)
+        overlay.forceRender = render
+        
+        return overlay
+    
+    def ChangeOverlay(self, id, **kargs):
         """Change overlay properities
 
         Add new overlay if overlay with 'id' doesn't exist.
@@ -1274,11 +1403,10 @@ class Map(object):
 
         if 'opacity' in kargs:
             overlay.SetOpacity(kargs['opacity'])
-
-        if render and overlay.GetCmd() != [] and not overlay.Render():
-            raise GException(_("Unable to render overlay <%s>.") %
-                             overlay.GetType())
-
+        
+        if 'render' in kargs:
+            overlay.forceRender = kargs['render']
+            
         return overlay
 
     def GetOverlay(self, id, list=False):
@@ -1343,50 +1471,4 @@ class Map(object):
 
     def AbortAllThreads(self):
         """Abort all layers threads e. g. donwloading data"""
-        for l in self.layers + self.overlays:
-            l.AbortThread()
-
-    def ReportProgress(self, layer):
-        """Calculates progress in rendering/downloading
-        and emits signal to inform progress bar about progress.
-        """
-        if self.progressInfo is None or layer is None:
-            self.progressInfo = {'progresVal' : 0, # current progress value
-                                 'downloading' : [], # layers, which are downloading data
-                                 'rendered' : [], # already rendered layers
-                                 'range' : len(self.GetListOfLayers(active = True)) +
-                                           len(self.GetListOfLayers(active = True, ltype = 'overlay')) -
-                                           len(self.GetListOfLayers(active = True, ltype = '3d-raster'))}
-        else:
-            if layer not in self.progressInfo['rendered']:
-                self.progressInfo['rendered'].append(layer)
-            if layer.IsDownloading() and \
-                    layer not in self.progressInfo['downloading']:
-                self.progressInfo['downloading'].append(layer)
-            else:
-                self.progressInfo['progresVal'] += 1
-                if layer in self.progressInfo['downloading']:
-                    self.progressInfo['downloading'].remove(layer)
-
-        # for updating statusbar text
-        stText = ''
-        first = True
-        for layer in self.progressInfo['downloading']:
-            if first:
-                stText += _("Downloading data ")
-                first = False
-            else:
-                stText += ', '
-            stText += '<%s>' % layer.GetName()
-        if stText:
-            stText += '...'
-
-        if  self.progressInfo['range'] != len(self.progressInfo['rendered']):
-            if stText:
-                stText = _('Rendering & ') + stText
-            else:
-                stText = _('Rendering...')
-
-        self.updateProgress.emit(range=self.progressInfo['range'],
-                                 value=self.progressInfo['progresVal'],
-                                 text=stText)
+        self.renderMgr.Abort()
diff --git a/gui/wxpython/core/settings.py b/gui/wxpython/core/settings.py
index 7400b9a..a27857e 100644
--- a/gui/wxpython/core/settings.py
+++ b/gui/wxpython/core/settings.py
@@ -11,7 +11,7 @@ Usage:
 from core.settings import UserSettings
 @endcode
 
-(C) 2007-2011 by the GRASS Development Team
+(C) 2007-2016 by the GRASS Development Team
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
 
@@ -83,10 +83,10 @@ class Settings:
                 # use default window layout (layer manager, displays, ...)
                 'defWindowPos' : {
                     'enabled' : True,
-                    'dim' : '0,0,%d,%d,%d,0,%d,%d' % \
+                    'dim' : '1,1,%d,%d,%d,1,%d,%d' % \
                         (globalvar.GM_WINDOW_SIZE[0],
                          globalvar.GM_WINDOW_SIZE[1],
-                         globalvar.GM_WINDOW_SIZE[0],
+                         globalvar.GM_WINDOW_SIZE[0] + 1,
                          globalvar.MAP_WINDOW_SIZE[0],
                          globalvar.MAP_WINDOW_SIZE[1])
                     },
@@ -161,7 +161,7 @@ class Settings:
             'display': {
                 'font' : {
                     'type' : '',
-                    'encoding': 'ISO-8859-1',
+                    'encoding': 'UTF-8',
                     },
                 'driver': {
                     'type': 'cairo'
@@ -296,7 +296,7 @@ class Settings:
                         'enabled' : False
                         },
                     'boundary' : {
-                        'enabled' : True
+                        'enabled' : False
                         },
                     'area' : {
                         'enabled' : True
@@ -768,6 +768,7 @@ class Settings:
                         'raster'   : (215, 215, 248, 255), # light blue
                         'raster3d' : (215, 248, 215, 255), # light green
                         'vector'   : (248, 215, 215, 255), # light red
+                        'dbtable'  : (255, 253, 194, 255), # light yellow
                         },
                     'size' : {
                         'width' : 175,
@@ -776,7 +777,7 @@ class Settings:
                     },
                 'loop' : {
                     'color' : {
-                        'valid'   :  (234, 226, 154, 255), # light yellow
+                        'valid'   :  (234, 226, 154, 255), # dark yellow
                         },
                     'size' : {
                         'width' : 175,
diff --git a/gui/wxpython/core/test.toolboxes_menudata.xml b/gui/wxpython/core/test.toolboxes_menudata.xml
deleted file mode 100644
index 151f22d..0000000
--- a/gui/wxpython/core/test.toolboxes_menudata.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!--This is an auto-generated file-->
-<menudata>
-  <menubar>
-    <menu>
-      <label>Region</label>
-      <items>
-        <menuitem>
-          <label>Display region</label>
-          <command>g.region -p</command>
-          <help>Manages the boundary definitions for the geographic region.</help>
-          <keywords>general,settings</keywords>
-          <handler>RunMenuCmd</handler>
-        </menuitem>
-        <menuitem>
-          <label>Set region</label>
-          <command>g.region</command>
-          <help>Manages the boundary definitions for the geographic region.</help>
-          <keywords>general,settings</keywords>
-          <handler>OnMenuCmd</handler>
-        </menuitem>
-      </items>
-    </menu>
-    <menu>
-      <label>&Testing toolbox A</label>
-      <items>
-        <menuitem>
-          <label>Set region</label>
-          <command>g.region</command>
-          <help>Manages the boundary definitions for the geographic region.</help>
-          <keywords>general,settings</keywords>
-          <handler>OnMenuCmd</handler>
-        </menuitem>
-        <separator />
-        <menuitem>
-          <label>Testing unknown module</label>
-          <command>m.unknown</command>
-          <help />
-          <keywords />
-          <handler>OnMenuCmd</handler>
-        </menuitem>
-        <subtoolbox name="QueryRasterMap" />
-      </items>
-    </menu>
-    <menu>
-      <label>Map projections</label>
-      <items>
-        <menuitem>
-          <label>Display map projection</label>
-          <command>g.proj -p</command>
-          <help>Converts co-ordinate system descriptions (i.e. projection information) between various formats (including GRASS format).</help>
-          <keywords>general,projection,create location</keywords>
-          <handler>RunMenuCmd</handler>
-        </menuitem>
-        <menuitem>
-          <label>Manage projections</label>
-          <command>g.proj</command>
-          <help>Prints and manipulates GRASS projection information files (in various co-ordinate system descriptions). Can also be used to create new GRASS locations.</help>
-          <keywords>general,projection,create location</keywords>
-          <handler>OnMenuCmd</handler>
-        </menuitem>
-        <separator />
-        <menuitem>
-          <label>Convert coordinates</label>
-          <command>m.proj</command>
-          <help>Converts coordinates from one projection to another (cs2cs frontend).</help>
-          <keywords>miscellaneous,projection</keywords>
-          <handler>OnMenuCmd</handler>
-        </menuitem>
-      </items>
-    </menu>
-    <menu>
-      <label>&Testing toolbox B</label>
-      <items>
-        <menuitem>
-          <label>Set region</label>
-          <command>g.region</command>
-          <help>Manages the boundary definitions for the geographic region.</help>
-          <keywords>general,settings</keywords>
-          <handler>OnMenuCmd</handler>
-        </menuitem>
-      </items>
-    </menu>
-  </menubar>
-</menudata>
diff --git a/gui/wxpython/core/test.toolboxes_menu.xml b/gui/wxpython/core/testsuite/data/test_toolboxes_menu.xml
similarity index 100%
rename from gui/wxpython/core/test.toolboxes_menu.xml
rename to gui/wxpython/core/testsuite/data/test_toolboxes_menu.xml
diff --git a/gui/wxpython/core/testsuite/data/test_toolboxes_menudata_ref.xml b/gui/wxpython/core/testsuite/data/test_toolboxes_menudata_ref.xml
new file mode 100644
index 0000000..46b64f2
--- /dev/null
+++ b/gui/wxpython/core/testsuite/data/test_toolboxes_menudata_ref.xml
@@ -0,0 +1,85 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--This is an auto-generated file-->
+<menudata>
+  <menubar>
+    <menu>
+      <label>Region</label>
+      <items>
+        <menuitem>
+          <label>Display region</label>
+          <command>g.region -p</command>
+          <help>Manages the boundary definitions for the geographic region.</help>
+          <keywords>general,settings</keywords>
+          <handler>RunMenuCmd</handler>
+        </menuitem>
+        <menuitem>
+          <label>Set region</label>
+          <command>g.region</command>
+          <help>Manages the boundary definitions for the geographic region.</help>
+          <keywords>general,settings</keywords>
+          <handler>OnMenuCmd</handler>
+        </menuitem>
+      </items>
+    </menu>
+    <menu>
+      <label>&Testing toolbox A</label>
+      <items>
+        <menuitem>
+          <label>Set region</label>
+          <command>g.region</command>
+          <help>Manages the boundary definitions for the geographic region.</help>
+          <keywords>general,settings</keywords>
+          <handler>OnMenuCmd</handler>
+        </menuitem>
+        <separator />
+        <menuitem>
+          <label>Testing unknown module</label>
+          <command>m.unknown</command>
+          <help />
+          <keywords />
+          <handler>OnMenuCmd</handler>
+        </menuitem>
+        <subtoolbox name="QueryRasterMap" />
+      </items>
+    </menu>
+    <menu>
+      <label>Map projections</label>
+      <items>
+        <menuitem>
+          <label>Display map projection</label>
+          <command>g.proj -p</command>
+          <help>Converts co-ordinate system descriptions (i.e. projection information) between various formats (including GRASS format).</help>
+          <keywords>general,projection,create location</keywords>
+          <handler>RunMenuCmd</handler>
+        </menuitem>
+        <menuitem>
+          <label>Manage projections</label>
+          <command>g.proj</command>
+          <help>Prints or modifies GRASS projection information files (in various co-ordinate system descriptions). Can also be used to create new GRASS locations.</help>
+          <keywords>general,projection,create location</keywords>
+          <handler>OnMenuCmd</handler>
+        </menuitem>
+        <separator />
+        <menuitem>
+          <label>Convert coordinates</label>
+          <command>m.proj</command>
+          <help>Converts coordinates from one projection to another (cs2cs frontend).</help>
+          <keywords>miscellaneous,projection</keywords>
+          <handler>OnMenuCmd</handler>
+        </menuitem>
+      </items>
+    </menu>
+    <menu>
+      <label>&Testing toolbox B</label>
+      <items>
+        <menuitem>
+          <label>Set region</label>
+          <command>g.region</command>
+          <help>Manages the boundary definitions for the geographic region.</help>
+          <keywords>general,settings</keywords>
+          <handler>OnMenuCmd</handler>
+        </menuitem>
+      </items>
+    </menu>
+  </menubar>
+</menudata>
diff --git a/gui/wxpython/core/test.toolboxes_user_toolboxes.xml b/gui/wxpython/core/testsuite/data/test_toolboxes_user_toolboxes.xml
similarity index 100%
rename from gui/wxpython/core/test.toolboxes_user_toolboxes.xml
rename to gui/wxpython/core/testsuite/data/test_toolboxes_user_toolboxes.xml
diff --git a/gui/wxpython/core/testsuite/toolboxes.sh b/gui/wxpython/core/testsuite/toolboxes.sh
new file mode 100755
index 0000000..f3370f3
--- /dev/null
+++ b/gui/wxpython/core/testsuite/toolboxes.sh
@@ -0,0 +1,7 @@
+# Tests generating toolboxes XML
+
+# run make in gui/wxpython before the test
+# run test using sh -e
+
+python $GISBASE/gui/wxpython/core/toolboxes.py doctest
+python $GISBASE/gui/wxpython/core/toolboxes.py test
diff --git a/gui/wxpython/core/toolboxes.py b/gui/wxpython/core/toolboxes.py
index aabf061..97d8a37 100644
--- a/gui/wxpython/core/toolboxes.py
+++ b/gui/wxpython/core/toolboxes.py
@@ -480,12 +480,20 @@ def _removeUserToolboxesItem(root):
 
 def _getAddons():
     try:
-        output = gcore.read_command('g.extension', quiet=True, flags='a')
+        output = gcore.read_command('g.extension', quiet=True, flags='ag')
     except CalledModuleError:
         _warning(_("List of addons cannot be obtained"
                    " because g.extension failed."))
         return []
-    return sorted(output.splitlines())
+    
+    flist = []
+    for line in output.splitlines():
+        if not line.startswith('executables'):
+            continue
+        for fexe in line.split('=', 1)[1].split(','):
+            flist.append(fexe)
+    
+    return sorted(flist)
 
 
 def _removeAddonsItem(node, addonsNodes):
@@ -779,8 +787,8 @@ def module_test():
     directory and in files from distribution.
     """
     toolboxesFile   = os.path.join(WXGUIDIR, 'xml', 'toolboxes.xml')
-    userToolboxesFile = 'test.toolboxes_user_toolboxes.xml'
-    menuFile = 'test.toolboxes_menu.xml'
+    userToolboxesFile = 'data/test_toolboxes_user_toolboxes.xml'
+    menuFile = 'data/test_toolboxes_menu.xml'
     wxguiItemsFile  = os.path.join(WXGUIDIR, 'xml', 'wxgui_items.xml')
     moduleItemsFile = os.path.join(WXGUIDIR, 'xml', 'module_items.xml')
 
@@ -807,7 +815,7 @@ def module_test():
         sys.stdout.write(_getXMLString(root))
         return 0
 
-    menudataFile = 'test.toolboxes_menudata.xml'
+    menudataFile = 'data/test_toolboxes_menudata_ref.xml'
     with open(menudataFile) as correctMenudata:
         correct = str(correctMenudata.read())
 
@@ -829,6 +837,16 @@ def module_test():
         return 0
 
 
+def validate_file(filename):
+    try:
+        etree.parse(filename)
+    except ETREE_EXCEPTIONS as error:
+        print "XML file <{name}> is not well formed: {error}".format(
+            name=filename, error=error)
+        return 1
+    return 0
+
+
 def main():
     """Converts the toolboxes files on standard paths to the menudata file
 
@@ -854,4 +872,6 @@ if __name__ == '__main__':
             sys.exit(doc_test())
         elif sys.argv[1] == 'test':
             sys.exit(module_test())
+        elif sys.argv[1] == 'validate':
+            sys.exit(validate_file(sys.argv[2]))
     sys.exit(main())
diff --git a/gui/wxpython/core/treemodel.py b/gui/wxpython/core/treemodel.py
index 2353a5b..f11af0e 100644
--- a/gui/wxpython/core/treemodel.py
+++ b/gui/wxpython/core/treemodel.py
@@ -78,10 +78,11 @@ class TreeModel(object):
         node.parent = parent
         return node
 
-    def SearchNodes(self, **kwargs):
+    def SearchNodes(self, parent=None, **kwargs):
         """Search nodes according to specified attributes."""
         nodes = []
-        self._searchNodes(node=self.root, foundNodes=nodes, **kwargs)
+        parent = parent if parent else self.root
+        self._searchNodes(node=parent, foundNodes=nodes, **kwargs)
         return nodes
         
     def _searchNodes(self, node, foundNodes, **kwargs):
@@ -131,6 +132,15 @@ class TreeModel(object):
         """Removes node."""
         if node.parent:
             node.parent.children.remove(node)
+        else:
+            # node is root
+            for n in node.children:
+                node.children.remove(n)
+
+    def SortChildren(self, node):
+        """Sorts children alphabetically based on label."""
+        if node.children:
+            node.children.sort(key=lambda node: node.label)
 
     def __str__(self):
         """Print tree."""
@@ -196,7 +206,7 @@ class ModuleNode(DictNode):
             return False
         if key in ('command', 'keywords', 'description'):
             try:
-                return len(self.data[key]) and value in self.data[key]
+                return len(self.data[key]) and (value in self.data[key] or value == '*')
             except KeyError:
                 return False
         
diff --git a/gui/wxpython/core/utils.py b/gui/wxpython/core/utils.py
index 894a3d3..6f2dad8 100644
--- a/gui/wxpython/core/utils.py
+++ b/gui/wxpython/core/utils.py
@@ -3,7 +3,7 @@
 
 @brief Misc utilities for wxGUI
 
-(C) 2007-2013 by the GRASS Development Team
+(C) 2007-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -23,6 +23,7 @@ import inspect
 
 from grass.script import core as grass
 from grass.script import task as gtask
+from grass.exceptions import OpenError
 
 from core import globalvar
 from core.gcmd  import RunCommand
@@ -94,7 +95,7 @@ def GetLayerNameFromCmd(dcmd, fullyQualified = False, param = None,
     :param fullyQualified: change map name to be fully qualified
     :param param: params directory
     :param str layerType: check also layer type ('raster', 'vector',
-                          '3d-raster', ...)
+                          'raster_3d', ...)
     
     :return: tuple (name, found)
     """
@@ -156,11 +157,11 @@ def GetLayerNameFromCmd(dcmd, fullyQualified = False, param = None,
             mapname = v
             mapset = ''
             if fullyQualified and '@' not in mapname:
-                if layerType in ('raster', 'vector', '3d-raster', 'rgb', 'his'):
+                if layerType in ('raster', 'vector', 'raster_3d', 'rgb', 'his'):
                     try:
                         if layerType in ('raster', 'rgb', 'his'):
                             findType = 'cell'
-                        elif layerType == '3d-raster':
+                        elif layerType == 'raster_3d':
                             findType = 'grid3'
                         else:
                             findType = layerType
@@ -480,58 +481,7 @@ def GetCmdString(cmd):
     
     :return: command string
     """
-    return ' '.join(CmdTupleToList(cmd))
-
-def CmdTupleToList(cmd):
-    """Convert command tuple to list.
-    
-    :param cmd: GRASS command given as tuple
-    
-    :return: command in list
-    """
-    cmdList = []
-    if not cmd:
-        return cmdList
-    
-    cmdList.append(cmd[0])
-    
-    if 'flags' in cmd[1]:
-        for flag in cmd[1]['flags']:
-            cmdList.append('-' + flag)
-    for flag in ('help', 'verbose', 'quiet', 'overwrite'):
-        if flag in cmd[1] and cmd[1][flag] is True:
-            cmdList.append('--' + flag)
-    
-    for k, v in cmd[1].iteritems():
-        if k in ('flags', 'help', 'verbose', 'quiet', 'overwrite'):
-            continue
-        cmdList.append('%s=%s' % (k, v))
-            
-    return cmdList
-
-def CmdToTuple(cmd):
-    """Convert command list to tuple for gcmd.RunCommand()"""
-    if len(cmd) < 1:
-        return None
-    
-    dcmd = {}
-    for item in cmd[1:]:
-        if '=' in item: # params
-            key, value = item.split('=', 1)
-            dcmd[str(key)] = str(value).replace('"', '')
-        elif item[:2] == '--': # long flags
-            flag = item[2:]
-            if flag in ('help', 'verbose', 'quiet', 'overwrite'):
-                dcmd[str(flag)] = True
-        elif len(item) == 2 and item[0] == '-': # -> flags
-            if 'flags' not in dcmd:
-                dcmd['flags'] = ''
-            dcmd['flags'] += item[1]
-        else: # unnamed parameter
-            module = gtask.parse_interface(cmd[0])
-            dcmd[module.define_first()] = item
-    
-    return (cmd[0], dcmd)
+    return ' '.join(gtask.cmdtuple_to_list(cmd))
 
 def PathJoin(*args):
     """Check path created by os.path.join"""
@@ -547,15 +497,16 @@ def ReadEpsgCodes(path):
 
     :param path: full path to the file with EPSG codes
 
+    Raise OpenError on failure.
+
     :return: dictionary of EPSG code
-    :return: string on error
     """
     epsgCodeDict = dict()
     try:
         try:
             f = open(path, "r")
         except IOError:
-            return _("failed to open '%s'" % path)
+            raise OpenError(_("failed to open '{}'").format(path))
 
         code = None
         for line in f.readlines():
@@ -570,7 +521,7 @@ def ReadEpsgCodes(path):
                 try:
                     code = int(code.replace('<', '').replace('>', ''))
                 except ValueError as e:
-                    return e
+                    raise OpenError('{}'.format(e))
             
             if code is not None:
                 epsgCodeDict[code] = (descr, params)
@@ -578,7 +529,7 @@ def ReadEpsgCodes(path):
         
         f.close()
     except StandardError as e:
-        return e
+        raise OpenError('{}'.format(e))
     
     return epsgCodeDict
 
@@ -999,7 +950,7 @@ def color_resolve(color):
     return (rgb, label)
 
 command2ltype = {'d.rast'         : 'raster',
-                 'd.rast3d'       : '3d-raster',
+                 'd.rast3d'       : 'raster_3d',
                  'd.rgb'          : 'rgb',
                  'd.his'          : 'his',
                  'd.shade'        : 'shaded',
@@ -1022,7 +973,8 @@ command2ltype = {'d.rast'         : 'raster',
                  'd.graph'        : 'graph',
                  'd.out.file'     : 'export',
                  'd.to.rast'      : 'torast',
-                 'd.text'         : 'text'
+                 'd.text'         : 'text',
+                 'd.northarrow'   : 'northarrow'
                  }
 ltype2command = {}
 for (cmd, ltype) in command2ltype.items():
@@ -1175,6 +1127,32 @@ def doc_test():
     do_doctest_gettext_workaround()
     return doctest.testmod().failed
 
+def registerPid(pid):
+    """Register process id as GUI_PID GRASS variable
 
+    :param: pid process id
+    """
+    env = grass.gisenv()
+    guiPid = []
+    if 'GUI_PID' in env:
+        guiPid = env['GUI_PID'].split(',')
+    guiPid.append(str(pid))
+    grass.run_command('g.gisenv', set='GUI_PID={}'.format(','.join(guiPid)))
+    
+def unregisterPid(pid):
+    """Unregister process id from GUI_PID GRASS variable
+
+    :param: pid process id
+    """
+    env = grass.gisenv()
+    if 'GUI_PID' not in env:
+        return
+    
+    guiPid = env['GUI_PID'].split(',')
+    pid = str(os.getpid())
+    if pid in guiPid:
+        guiPid.remove(pid)
+        grass.run_command('g.gisenv', set='GUI_PID={}'.format(','.join(guiPid)))
+    
 if __name__ == '__main__':
     sys.exit(doc_test())
diff --git a/gui/wxpython/core/workspace.py b/gui/wxpython/core/workspace.py
index 6f001cf..6e71a8e 100644
--- a/gui/wxpython/core/workspace.py
+++ b/gui/wxpython/core/workspace.py
@@ -8,7 +8,7 @@ Classes:
  - workspace::WriteWorkspaceFile
  - workspace::ProcessGrcFile
 
-(C) 2007-2011 by the GRASS Development Team
+(C) 2007-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -895,7 +895,7 @@ class WriteWorkspaceFile(object):
                     self.file.write('%s<nviz>\n' % (' ' * self.indent))
                     if maplayer.type == 'raster':
                         self.__writeNvizSurface(nviz['surface'])
-                    if maplayer.type == '3d-raster':
+                    if maplayer.type == 'raster_3d':
                         self.__writeNvizVolume(nviz['volume'])
                     elif maplayer.type == 'vector':
                         self.__writeNvizVector(nviz['vector'])
diff --git a/gui/wxpython/core/ws.py b/gui/wxpython/core/ws.py
index 8742ada..8dfbe35 100644
--- a/gui/wxpython/core/ws.py
+++ b/gui/wxpython/core/ws.py
@@ -9,7 +9,7 @@ Classes:
  - ws::RenderWMSMgr
  - ws::GDALRasterMerger
 
-(C) 2012 by the GRASS Development Team
+(C) 2012-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -18,17 +18,18 @@ This program is free software under the GNU General Public License
 """
 import sys
 import copy
+import time
 
 import wx
 from wx.lib.newevent import NewEvent
 
 from grass.script.utils import try_remove
 from grass.script import core as grass
+from grass.exceptions import CalledModuleError
 
 from core          import utils
 from core.debug    import Debug
-
-from core.gconsole import CmdThread, GStderr, EVT_CMD_DONE, EVT_CMD_OUTPUT
+from core.gthread import  gThread
 from core.utils import _
 
 try:
@@ -44,33 +45,27 @@ from grass.pydispatch.signal import Signal
 class RenderWMSMgr(wx.EvtHandler):
     """Fetch and prepare WMS data for rendering.
     """
-    def __init__(self, layer, mapfile, maskfile):
+    def __init__(self, layer, env):
         if not haveGdal:
             sys.stderr.write(_("Unable to load GDAL Python bindings.\n"\
                                "WMS layers can not be displayed without the bindings.\n"))
 
         self.layer = layer
-
+        
         wx.EvtHandler.__init__(self)
 
         # thread for d.wms commands
-        self.thread = CmdThread(self)
-        self.Bind(EVT_CMD_DONE, self.OnDataFetched)
+        self.thread = gThread()
 
+        self._startTime = None
         self.downloading = False
         self.renderedRegion = None
         self.updateMap = True
         self.fetched_data_cmd = None
 
-        self.cmdStdErr = GStderr(self)
-
-        self.mapfile = mapfile
-        self.maskfile = maskfile
         self.tempMap = grass.tempfile()
         self.dstSize = {}
  
-        self.Bind(EVT_CMD_OUTPUT, self.OnCmdOutput)
-        
         self.dataFetched = Signal('RenderWMSMgr.dataFetched')
         self.updateProgress = Signal('RenderWMSMgr.updateProgress')
 
@@ -87,6 +82,9 @@ class RenderWMSMgr(wx.EvtHandler):
         if not haveGdal:
             return
 
+        Debug.msg(1, "RenderWMSMgr.Render(%s): force=%d img=%s" % \
+                  (self.layer, self.layer.forceRender, self.layer.mapfile))
+
         env = copy.copy(env)
         self.dstSize['cols'] = int(env["GRASS_RENDER_WIDTH"])
         self.dstSize['rows'] = int(env["GRASS_RENDER_HEIGHT"])
@@ -95,7 +93,7 @@ class RenderWMSMgr(wx.EvtHandler):
         self._fitAspect(region, self.dstSize)
 
         self.updateMap = True
-        fetchData = False
+        fetchData = True # changed to True when calling Render()
         zoomChanged = False
 
         if self.renderedRegion is None or \
@@ -118,35 +116,36 @@ class RenderWMSMgr(wx.EvtHandler):
             self.fetched_data_cmd = None
             self.renderedRegion = region
 
-            try_remove(self.mapfile)
+            try_remove(self.layer.mapfile)
             try_remove(self.tempMap)
 
             self.currentPid = self.thread.GetId()
-            self.thread.abort()
+            ### self.thread.Terminate()
             self.downloading = True
 
             self.fetching_cmd = cmd
-            cmdList = utils.CmdTupleToList(cmd)
-
-            if Debug.GetLevel() < 3:
-                cmdList.append('--quiet')
 
             env["GRASS_RENDER_FILE"] = self.tempMap
             env["GRASS_REGION"] = self._createRegionStr(region)
 
-            self.thread.RunCmd(cmdList, env=env, stderr=self.cmdStdErr)
-
-    def OnCmdOutput(self, event):
-        """Print cmd output according to debug level.
-        """
-        if Debug.GetLevel() == 0:
-            if event.type == 'error':
-                sys.stderr.write(event.text)
-                sys.stderr.flush()
-        else:
-            Debug.msg(1, event.text)
-
-    def OnDataFetched(self, event):
+            cmd_render = copy.deepcopy(cmd)
+            cmd_render[1]['quiet'] = True # be quiet
+        
+            self._startTime = time.time()
+            self.thread.Run(callable=self._render, cmd=cmd_render, env=env,
+                            ondone=self.OnRenderDone)
+            self.layer.forceRender = False
+            
+        self.updateProgress.emit(layer=self.layer)
+        
+    def _render(self, cmd, env):
+        try:
+            return grass.run_command(cmd[0], env=env, **cmd[1])
+        except CalledModuleError as e:
+            grass.error(e)
+            return 1
+
+    def OnRenderDone(self, event):
         """Fetch data
         """
         if event.pid != self.currentPid:
@@ -158,12 +157,13 @@ class RenderWMSMgr(wx.EvtHandler):
             self.fetched_data_cmd = None
             return
 
-        self.mapMerger = GDALRasterMerger(targetFile = self.mapfile, region = self.renderedRegion,
+        self.mapMerger = GDALRasterMerger(targetFile = self.layer.mapfile,
+                                          region = self.renderedRegion,
                                           bandsNum = 3, gdalDriver = 'PNM', fillValue = 0)
         self.mapMerger.AddRasterBands(self.tempMap, {1 : 1, 2 : 2, 3 : 3})
         del self.mapMerger
 
-        self.maskMerger = GDALRasterMerger(targetFile = self.maskfile, region = self.renderedRegion,
+        self.maskMerger = GDALRasterMerger(targetFile = self.layer.maskfile, region = self.renderedRegion,
                                            bandsNum = 1, gdalDriver = 'PNM', fillValue = 0)
         #{4 : 1} alpha channel (4) to first and only channel (1) in mask
         self.maskMerger.AddRasterBands(self.tempMap, {4 : 1}) 
@@ -171,7 +171,10 @@ class RenderWMSMgr(wx.EvtHandler):
 
         self.fetched_data_cmd = self.fetching_cmd
 
-        self.dataFetched.emit()
+        Debug.msg(1, "RenderWMSMgr.OnRenderDone(%s): ret=%d time=%f" % \
+                      (self.layer, event.ret, time.time() - self._startTime))
+        
+        self.dataFetched.emit(layer=self.layer)
 
     def _getRegionDict(self, env):
         """Parse string from GRASS_REGION env variable into dict.
@@ -232,10 +235,14 @@ class RenderWMSMgr(wx.EvtHandler):
             region['n-s resol'] = region['e-w resol']
 
     def Abort(self):
-        """Abort process"""
+        """Abort rendering process"""
+        Debug.msg(1, "RenderWMSMgr({}).Abort()".format(self.layer))
+        self.thread.Terminate()
+        
+        # force rendering layer next time
+        self.layer.forceRender = True
         self.updateMap = False
-        self.thread.abort(abortall = True)        
-
+        self.thread.Terminate(False)
 
 class GDALRasterMerger:
     """Merge rasters.
diff --git a/gui/wxpython/gmodeler/Makefile b/gui/wxpython/datacatalog/Makefile
similarity index 100%
copy from gui/wxpython/gmodeler/Makefile
copy to gui/wxpython/datacatalog/Makefile
diff --git a/gui/wxpython/datacatalog/__init__.py b/gui/wxpython/datacatalog/__init__.py
new file mode 100644
index 0000000..80cc42a
--- /dev/null
+++ b/gui/wxpython/datacatalog/__init__.py
@@ -0,0 +1,5 @@
+all = [
+    'catalog',
+    'frame',
+    'tree',
+]
diff --git a/gui/wxpython/datacatalog/catalog.py b/gui/wxpython/datacatalog/catalog.py
new file mode 100644
index 0000000..c6a3031
--- /dev/null
+++ b/gui/wxpython/datacatalog/catalog.py
@@ -0,0 +1,86 @@
+"""
+ at package datacatalog::catalog
+
+ at brief Data catalog
+
+Classes:
+ - datacatalog::DataCatalog
+
+(C) 2014 by Tereza Fiedlerova, and the GRASS Development Team
+
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Tereza Fiedlerova
+"""
+
+import wx
+
+from core.gthread import gThread
+from core.debug import Debug
+from datacatalog.tree import DataCatalogTree
+from core.utils import _
+from datacatalog.toolbars import DataCatalogToolbar
+
+from grass.pydispatch.signal import Signal
+
+class DataCatalog(wx.Panel):
+    """Data catalog panel"""
+    def __init__(self, parent, giface=None, id = wx.ID_ANY, title=_("Data catalog"),
+                 name='catalog', **kwargs):
+        """Panel constructor  """
+        self.showNotification = Signal('DataCatalog.showNotification')
+        self.parent = parent
+        self.baseTitle = title
+        wx.Panel.__init__(self, parent = parent, id = id, **kwargs)
+        self.SetName("DataCatalog")
+        
+        Debug.msg(1, "DataCatalog.__init__()")
+
+        # toolbar
+        self.toolbar = DataCatalogToolbar(parent = self)
+
+        # tree with layers
+        self.tree = DataCatalogTree(self, giface=giface)
+        self.thread = gThread()
+        self._loaded = False
+        self.tree.showNotification.connect(self.showNotification)
+
+        # some layout
+        self._layout()
+
+    def _layout(self):
+        """Do layout"""
+        sizer = wx.BoxSizer(wx.VERTICAL)
+
+        sizer.Add(item = self.toolbar, proportion = 0,
+                  flag = wx.EXPAND)          
+
+        sizer.Add(item = self.tree.GetControl(), proportion = 1,
+                  flag = wx.EXPAND)          
+        
+        self.SetAutoLayout(True)
+        self.SetSizer(sizer)
+        
+        self.Layout()
+
+    def LoadItems(self):
+        if self._loaded:
+            return
+
+        self.thread.Run(callable=self.tree.InitTreeItems,
+                        ondone=lambda event: self.LoadItemsDone())
+
+    def LoadItemsDone(self):
+        self._loaded = True
+        self.tree.ExpandCurrentMapset()
+
+    def OnReloadTree(self, event):
+        """Reload whole tree"""
+        self.tree.ReloadTreeItems()
+        self.tree.ExpandCurrentMapset()
+
+    def OnReloadCurrentMapset(self, event):
+        """Reload current mapset tree only"""
+        self.tree.ReloadCurrentMapset()
diff --git a/gui/wxpython/datacatalog/frame.py b/gui/wxpython/datacatalog/frame.py
new file mode 100644
index 0000000..81623c6
--- /dev/null
+++ b/gui/wxpython/datacatalog/frame.py
@@ -0,0 +1,92 @@
+"""
+ at package datacatalog::frame
+
+ at brief Data catalog frame class
+
+Classes:
+ - datacatalog::DataCatalogFrame
+
+(C) 2014-2016 by Tereza Fiedlerova, and the GRASS Development Team
+
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Tereza Fiedlerova (original author)
+ at author Martin Landa <landa.martin gmail.com> (various improvements)
+"""
+
+import os
+import sys
+
+import wx
+
+from core.utils import _
+from core.globalvar import ICONDIR
+from datacatalog.tree import DataCatalogTree
+from datacatalog.toolbars import DataCatalogToolbar
+
+class DataCatalogFrame(wx.Frame):
+    """Frame for testing purposes only."""
+    def __init__(self, parent, giface=None):
+        wx.Frame.__init__(self, parent=parent,
+                          title=_('GRASS GIS Data Catalog (experimetal)'))
+        self.SetName("DataCatalog")
+        self.SetIcon(wx.Icon(os.path.join(ICONDIR, 'grass.ico'), wx.BITMAP_TYPE_ICO))
+
+        self._giface = giface
+        self.panel = wx.Panel(self)
+
+        self.toolbar = DataCatalogToolbar(parent = self)
+        # workaround for http://trac.wxwidgets.org/ticket/13888
+        if sys.platform != 'darwin':
+            self.SetToolBar(self.toolbar)
+
+        # tree
+        self.tree = DataCatalogTree(parent=self.panel, giface=self._giface)
+        self.tree.InitTreeItems()
+        self.tree.ExpandCurrentMapset()
+        
+        # buttons
+        self.btnClose = wx.Button(parent=self.panel, id=wx.ID_CLOSE)
+        self.btnClose.SetToolTipString(_("Close GRASS GIS Data Catalog"))
+        self.btnClose.SetDefault()
+
+        # events
+        self.btnClose.Bind(wx.EVT_BUTTON, self.OnCloseWindow)
+        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
+
+        self._layout()
+
+    def _layout(self):
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(self.tree, proportion=1, flag=wx.EXPAND)
+
+        btnSizer = wx.BoxSizer(wx.HORIZONTAL)
+        btnSizer.AddStretchSpacer()
+        btnSizer.Add(self.btnClose)
+
+        sizer.Add(item=btnSizer, proportion=0,
+                  flag=wx.ALL | wx.ALIGN_RIGHT | wx.EXPAND,
+                  border=5)
+
+        self.panel.SetSizer(sizer)
+        sizer.Fit(self.panel)
+
+        self.SetMinSize((400, 500))
+
+    def OnCloseWindow(self, event):
+        """Cancel button pressed"""
+        if not isinstance(event, wx.CloseEvent):
+            self.Destroy()
+
+        event.Skip()
+
+    def OnReloadTree(self, event):
+        """Reload whole tree"""
+        self.tree.ReloadTreeItems()
+        self.tree.ExpandCurrentMapset()
+
+    def OnReloadCurrentMapset(self, event):
+        """Reload current mapset tree only"""
+        self.tree.ReloadCurrentMapset()
diff --git a/gui/wxpython/datacatalog/g.gui.datacatalog.html b/gui/wxpython/datacatalog/g.gui.datacatalog.html
new file mode 100644
index 0000000..426c797
--- /dev/null
+++ b/gui/wxpython/datacatalog/g.gui.datacatalog.html
@@ -0,0 +1,58 @@
+<!-- meta page description: wxGUI Data Catalog -->
+<!-- meta page index: topic_gui|GUI -->
+<h2>DESCRIPTION</h2>
+
+The <b>Data Catalog</b> is a <em><a href="wxGUI.html">wxGUI</a></em> component
+for browsing, modifying and managing GRASS maps.
+
+<p>
+Data Catalog allows you to:
+
+<ul>
+  <li>browse GRASS locations and mapsets in the current GIS directory</li>
+  <li>browse GRASS 2D/3D raster and vector maps</li>
+  <li>rename GRASS maps in the current mapset</li>
+  <li>copy GRASS maps from different mapsets into current mapsets (within the same location)</li>
+  <li>delete GRASS maps located in the current mapset</li>
+</ul>
+
+<h2>NOTES</h2>
+
+<h3>WARNING</h3>
+
+Data Catalog is <b>experimental and requires significant
+developement!</b>, see
+the <a href="http://trac.osgeo.org/grass/wiki/wxGUIDevelopment/wxDataCatalog">trac
+wiki page</a>.
+
+<h3>TODO</h3>
+
+<ul>
+  <li>Extend this manual, add screenshot</li>
+  <li>Improve this tool,
+see <a href="http://trac.osgeo.org/grass/wiki/wxGUIDevelopment/wxDataCatalog">trac
+wiki page</a></li>
+</ul>
+
+<h2>SEE ALSO</h2>
+
+<em>
+  <a href="wxGUI.html">wxGUI</a><br>
+  <a href="wxGUI.components.html">wxGUI components</a>
+</em>
+
+<p>
+<em>
+  <a href="g.copy.html">g.copy</a>,
+  <a href="g.copy.html">g.rename</a>,
+  <a href="g.copy.html">g.remove</a>,
+  <a href="g.list.html">g.list</a>
+</em>
+
+<h2>AUTHOR</h2>
+
+Tereza Fiedlerova, OSGeoREL, Czech Technical University in Prague,
+Czech Republic
+
+<p>
+<i>$Date: 2015-09-06 08:12:27 -0700 (Sun, 06 Sep 2015) $</i>
diff --git a/gui/wxpython/datacatalog/g.gui.datacatalog.py b/gui/wxpython/datacatalog/g.gui.datacatalog.py
new file mode 100644
index 0000000..dba9a94
--- /dev/null
+++ b/gui/wxpython/datacatalog/g.gui.datacatalog.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+############################################################################
+#
+# MODULE:    Data catalog
+# AUTHOR(S): Tereza Fiedlerova
+# PURPOSE:   GRASS data catalog for browsing, modifying and managing GRASS maps
+# COPYRIGHT: (C) 2014-2015 by Tereza Fiedlerova, and the GRASS Development Team
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+############################################################################
+
+#%module
+#% description: Tool for browsing, modifying and managing GRASS maps.
+#% keyword: general
+#% keyword: GUI
+#% keyword: map management
+#%end
+
+import grass.script as gscript
+
+def main():
+    options, flags = gscript.parser()
+
+    # import wx only after running parser
+    # to avoid issues when only interface is needed
+    import wx
+    
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
+    from core.giface import StandaloneGrassInterface
+    from datacatalog.frame import DataCatalogFrame
+
+    app = wx.App()
+
+    frame = DataCatalogFrame(parent=None, giface=StandaloneGrassInterface())
+    frame.CentreOnScreen()
+    frame.Show()
+    app.MainLoop()
+
+if __name__ == '__main__':
+    main()
diff --git a/gui/wxpython/datacatalog/toolbars.py b/gui/wxpython/datacatalog/toolbars.py
new file mode 100644
index 0000000..7d55e4a
--- /dev/null
+++ b/gui/wxpython/datacatalog/toolbars.py
@@ -0,0 +1,48 @@
+"""
+ at package datacatalog.toolbars
+
+ at brief Data Catalog toolbars
+
+Classes:
+ - toolbars::DataCatalogToolbar(BaseToolbar)
+
+(C) 2016 by the GRASS Development Team
+
+This program is free software under the GNU General Public License
+(>=v2). Read the file COPYING that comes with GRASS for details.
+
+ at author Martin Landa <landa.martin gmail.com>
+"""
+
+import wx
+from gui_core.toolbars import BaseToolbar, BaseIcons
+from icons.icon import MetaIcon
+from core.utils import _
+
+icons = {
+    'reloadTree': MetaIcon(img='redraw', label=_("Reload GRASS locations")),
+    'reloadMapset': MetaIcon(img='reload', label=_("Reload current GRASS mapset only"))
+    }
+
+class DataCatalogToolbar(BaseToolbar):
+    """Main data catalog toolbar
+    """
+    def __init__(self, parent):
+        """Main toolbar constructor
+        """
+        BaseToolbar.__init__(self, parent)
+
+        self.InitToolbar(self._toolbarData())
+
+        # realize the toolbar
+        self.Realize()
+
+    def _toolbarData(self):
+        """Returns toolbar data (name, icon, handler)"""
+        # BaseIcons are a set of often used icons. It is possible
+        # to reuse icons in ./trunk/gui/icons/grass or add new ones there.
+        return self._getToolbarData((("reloadTree", icons["reloadTree"],
+                                      self.parent.OnReloadTree),
+                                     ("reloadMapset", icons["reloadMapset"],
+                                      self.parent.OnReloadCurrentMapset)
+                                     ))
diff --git a/gui/wxpython/datacatalog/tree.py b/gui/wxpython/datacatalog/tree.py
new file mode 100644
index 0000000..7c00912
--- /dev/null
+++ b/gui/wxpython/datacatalog/tree.py
@@ -0,0 +1,658 @@
+"""
+ at package datacatalog::tree
+
+ at brief Data catalog tree classes
+
+Classes:
+ - datacatalog::LocationMapTree
+ - datacatalog::DataCatalogTree
+
+(C) 2014-2015 by Tereza Fiedlerova, and the GRASS Development Team
+
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Tereza Fiedlerova
+ at author Anna Petrasova (kratochanna gmail com)
+"""
+import os
+from multiprocessing import Process, Queue, cpu_count
+
+import wx
+
+from core.gcmd import RunCommand, GError, GMessage, GWarning
+from core.utils import GetListOfLocations
+from core.debug import Debug
+from gui_core.dialogs import TextEntryDialog
+from core.giface import StandaloneGrassInterface
+from core.treemodel import TreeModel, DictNode
+from gui_core.treeview import TreeView
+
+from grass.pydispatch.signal import Signal
+
+import grass.script as gscript
+from grass.exceptions import CalledModuleError
+
+
+def getEnvironment(gisdbase, location, mapset):
+    """Creates environment to be passed in run_command for example.
+    Returns tuple with temporary file path and the environment. The user
+    of this function is responsile for deleting the file."""
+    tmp_gisrc_file = gscript.tempfile()
+    with open(tmp_gisrc_file, 'w') as f:
+        f.write('MAPSET: {mapset}\n'.format(mapset=mapset))
+        f.write('GISDBASE: {g}\n'.format(g=gisdbase))
+        f.write('LOCATION_NAME: {l}\n'.format(l=location))
+        f.write('GUI: text\n')
+    env = os.environ.copy()
+    env['GISRC'] = tmp_gisrc_file
+    return tmp_gisrc_file, env
+
+
+def getLocationTree(gisdbase, location, queue, mapsets=[]):
+    """Creates dictionary with mapsets, elements, layers for given location.
+    Returns tuple with the dictionary and error (or None)"""
+    tmp_gisrc_file, env = getEnvironment(gisdbase, location, 'PERMANENT')
+    env['GRASS_SKIP_MAPSET_OWNER_CHECK'] = '1'
+
+    maps_dict = {}
+    elements = ['raster', 'raster_3d', 'vector']
+    try:
+        if not mapsets:
+            mapsets = gscript.read_command('g.mapsets', flags='l', quiet=True, env=env).strip()
+    except CalledModuleError:
+        queue.put((maps_dict, _("Failed to read mapsets from location <{l}>.").format(l=location)))
+        gscript.try_remove(tmp_gisrc_file)
+        return
+    else:
+        listOfMapsets = mapsets.split()
+        Debug.msg(4, "Location <{}>: {} mapsets found".format(location, len(listOfMapsets)))
+        for each in listOfMapsets:
+            maps_dict[each] = {}
+            for elem in elements:
+                maps_dict[each][elem] = []
+    try:
+        maplist = gscript.read_command('g.list', flags='mt', type=elements,
+                                       mapset=','.join(listOfMapsets), quiet=True, env=env).strip()
+    except CalledModuleError:
+        queue.put((maps_dict, _("Failed to read maps from location <{l}>.").format(l=location)))
+        gscript.try_remove(tmp_gisrc_file)
+        return
+    else:
+        # fill dictionary
+        listOfMaps = maplist.splitlines()
+        Debug.msg(4, "Location <{}>: {} maps found".format(location, len(listOfMaps)))
+        for each in listOfMaps:
+            ltype, wholename = each.split('/')
+            name, mapset = wholename.split('@')
+            maps_dict[mapset][ltype].append(name)
+
+    queue.put((maps_dict, None))
+    gscript.try_remove(tmp_gisrc_file)
+
+
+class DataCatalogNode(DictNode):
+    """Node representing item in datacatalog."""
+    def __init__(self, label, data=None):
+        super(DataCatalogNode, self).__init__(label=label, data=data)
+
+    def match(self, **kwargs):
+        """Method used for searching according to given parameters.
+
+        :param value: dictionary value to be matched
+        :param key: data dictionary key
+        """
+        if not kwargs:
+            return False
+
+        for key in kwargs:
+            if not (key in self.data and self.data[key] == kwargs[key]):
+                return False
+        return True
+
+
+class LocationMapTree(TreeView):
+    def __init__(self, parent, model=None, style=wx.TR_HIDE_ROOT | wx.TR_EDIT_LABELS | wx.TR_LINES_AT_ROOT |
+                 wx.TR_HAS_BUTTONS | wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_SINGLE):
+        """Location Map Tree constructor."""
+        self._model = TreeModel(DataCatalogNode)
+        super(LocationMapTree, self).__init__(parent=parent, model=self._model, id=wx.ID_ANY, style=style)
+        self.showNotification = Signal('Tree.showNotification')
+        self.parent = parent
+        self.contextMenu.connect(self.OnRightClick)
+        self.itemActivated.connect(self.OnDoubleClick)
+        
+        self._initVariables()
+
+    def _initTreeItems(self, locations=None, mapsets=None):
+        """Add locations, mapsets and layers to the tree.
+        Runs in multiple processes. Saves resulting data and error."""
+        # mapsets param currently unused
+        if not locations:
+            locations = GetListOfLocations(self.gisdbase)
+
+        loc_count = proc_count = 0
+        queue_list = []
+        proc_list = []
+        loc_list = []
+        nprocs = 4
+        try:
+            nprocs = cpu_count()
+        except NotImplementedError:
+                nprocs = 4
+                
+        results = dict()
+        errors = []
+        location_nodes = []
+        nlocations = len(locations)
+        grassdata_node = self._model.AppendNode(parent=self._model.root,
+                                                label=_('GRASS locations ({})').format(self.gisdbase),
+                                                data=dict(type='grassdata'))
+        for location in locations:
+            results[location] = dict()
+            varloc = self._model.AppendNode(parent=grassdata_node, label=location,
+                                            data=dict(type='location', name=location))
+            location_nodes.append(varloc)
+            loc_count += 1
+
+            Debug.msg(3, "Scanning location <{}> ({}/{})".format(location, loc_count, nlocations))
+
+            q = Queue()
+            p = Process(target=getLocationTree,
+                        args=(self.gisdbase, location, q))
+            p.start()
+
+            queue_list.append(q)
+            proc_list.append(p)
+            loc_list.append(location)
+
+            proc_count += 1
+            # Wait for all running processes
+            if proc_count == nprocs or loc_count == nlocations:
+                Debug.msg(4, "Process subresults")
+                for i in range(len(loc_list)):
+                    maps, error = queue_list[i].get()
+                    proc_list[i].join()
+                    if error:
+                        errors.append(error)
+
+                    for key in sorted(maps.keys()):
+                        mapset_node = self._model.AppendNode(parent=location_nodes[i], label=key,
+                                                             data=dict(type='mapset', name=key))
+                        self._populateMapsetItem(mapset_node, maps[key])
+
+                proc_count = 0
+                proc_list = []
+                queue_list = []
+                loc_list = []
+                location_nodes = []
+
+        if errors:
+            GWarning('\n'.join(errors))
+        Debug.msg(1, "Tree filled")
+        self.RefreshItems()
+
+    def InitTreeItems(self):
+        """Load locations, mapsets and layers in the tree."""
+        raise NotImplementedError()
+
+    def ReloadTreeItems(self):
+        """Reload locations, mapsets and layers in the tree."""
+        self._model.RemoveNode(self._model.root)
+        self.RefreshNode(self._model.root)
+        self.InitTreeItems()
+
+    def ReloadCurrentMapset(self):
+        """Reload current mapset tree only."""
+        def get_first_child(node):
+            try:
+                child = mapsetItem.children[0]
+            except IndexError:
+                child = None
+            return child
+
+        locationItem, mapsetItem = self.GetCurrentLocationMapsetNode()
+        if not locationItem or not mapsetItem:
+            return
+
+        if mapsetItem.children:
+            node = get_first_child(mapsetItem)
+            while node:
+                self._model.RemoveNode(node)
+                node = get_first_child(mapsetItem)
+
+        q = Queue()
+        p = Process(target=getLocationTree,
+                    args=(self.gisdbase, locationItem.data['name'], q, mapsetItem.data['name']))
+        p.start()
+        maps, error = q.get()
+        if error:
+            raise CalledModuleError(e)
+
+        self._populateMapsetItem(mapsetItem, maps[mapsetItem.data['name']])
+        self.RefreshNode(mapsetItem)
+        self.RefreshItems()
+
+    def _populateMapsetItem(self, mapset_node, data):
+        for elem in data:
+            if data[elem]:
+                element_node = self._model.AppendNode(parent=mapset_node, label=elem,
+                                                      data=dict(type='element', name=elem))
+                for layer in data[elem]:
+                    self._model.AppendNode(parent=element_node, label=layer,
+                                           data=dict(type=elem, name=layer))
+
+    def _popupMenuLayer(self):
+        """Create popup menu for layers"""
+        raise NotImplementedError()
+
+    def _popupMenuMapset(self):
+        """Create popup menu for mapsets"""
+        raise NotImplementedError()
+
+    def _initVariables(self):
+        """Init variables."""
+        self.selected_layer = None
+        self.selected_type = None
+        self.selected_mapset = None
+        self.selected_location = None
+
+        gisenv = gscript.gisenv()
+        self.gisdbase = gisenv['GISDBASE']
+        self.glocation = gisenv['LOCATION_NAME']
+        self.gmapset = gisenv['MAPSET']
+
+    def GetControl(self):
+        """Returns control itself."""
+        return self
+
+    def DefineItems(self, item):
+        """Set selected items."""
+        self.selected_layer = None
+        self.selected_type = None
+        self.selected_mapset = None
+        self.selected_location = None
+
+        type = item.data['type']
+        if type in ('raster', 'raster_3d', 'vector'):
+            self.selected_layer = item
+            type = 'element'
+            item = item.parent
+            
+        if type == 'element':
+            self.selected_type = item
+            type = 'mapset'
+            item = item.parent
+
+        if type == 'mapset':
+            self.selected_mapset = item
+            type = 'location'
+            item = item.parent
+            
+        if type == 'location':
+            self.selected_location = item
+        
+    def OnSelChanged(self, event):
+        self.selected_layer = None
+                
+    def OnRightClick(self, node):
+        """Display popup menu."""
+        self.DefineItems(node)
+        if self.selected_layer:
+            self._popupMenuLayer(self.selected_mapset.label == self.gmapset)
+        elif self.selected_mapset and not self.selected_type:
+            self._popupMenuMapset()
+
+    def OnDoubleClick(self, node):
+        """Expand/Collapse node."""
+        if self.IsNodeExpanded(node):
+            self.CollapseNode(node, recursive=False)
+        else:
+            self.ExpandNode(node, recursive=False)
+        
+    def ExpandCurrentLocation(self):
+        """Expand current location"""
+        location = gscript.gisenv()['LOCATION_NAME']
+        item = self._model.SearchNodes(name=location, type='location')
+        if item:
+            self.Select(item[0], select=True)
+            self.ExpandNode(item[0], recursive=False)
+        else:
+            Debug.msg(1, "Location <%s> not found" % location)
+
+    def GetCurrentLocationMapsetNode(self):
+        """Get current mapset node"""
+        gisenv = gscript.gisenv()
+        location = gisenv['LOCATION_NAME']
+        mapset = gisenv['MAPSET']
+        locationItem = self._model.SearchNodes(name=location, type='location')
+        if not locationItem:
+            return None, None
+
+        mapsetItem = self._model.SearchNodes(parent=locationItem[0], name=mapset, type='mapset')
+        if not mapsetItem:
+            return locationItem[0], None
+
+        return locationItem[0], mapsetItem[0]
+            
+    def ExpandCurrentMapset(self):
+        """Expand current mapset"""
+        locationItem, mapsetItem = self.GetCurrentLocationMapsetNode()
+        if mapsetItem:
+            self.Select(mapsetItem, select=True)
+            self.ExpandNode(mapsetItem, recursive=True)
+
+class DataCatalogTree(LocationMapTree):
+    def __init__(self, parent, giface=None):
+        """Data Catalog Tree constructor."""
+        super(DataCatalogTree, self).__init__(parent)
+        self._giface = giface
+
+        self._initVariablesCatalog()
+        self.beginDrag = Signal('DataCatalogTree.beginDrag')
+        self.endDrag = Signal('DataCatalogTree.endDrag')
+        self.startEdit = Signal('DataCatalogTree.startEdit')
+        self.endEdit = Signal('DataCatalogTree.endEdit')
+
+        self.Bind(wx.EVT_TREE_BEGIN_DRAG, lambda evt:
+            self._emitSignal(evt.GetItem(), self.beginDrag, event=evt))
+        self.Bind(wx.EVT_TREE_END_DRAG, lambda evt:
+            self._emitSignal(evt.GetItem(), self.endDrag, event=evt))
+        self.beginDrag.connect(self.OnBeginDrag)
+        self.endDrag.connect(self.OnEndDrag)
+
+        self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, lambda evt:
+            self._emitSignal(evt.GetItem(), self.startEdit, event=evt))
+        self.Bind(wx.EVT_TREE_END_LABEL_EDIT, lambda evt:
+            self._emitSignal(evt.GetItem(), self.endEdit, event=evt))
+        ###self.startEdit.connect(self.OnStartEditLabel)
+        ###self.endEdit.connect(self.OnEditLabel)
+
+    def _initVariablesCatalog(self):
+        """Init variables."""
+        self.copy_layer = None
+        self.copy_type = None
+        self.copy_mapset = None
+        self.copy_location = None
+
+    def _runCommand(self, prog, **kwargs):
+        cmdString = ' '.join(gscript.make_command(prog, **kwargs))
+        ret = RunCommand(prog, parent=self, **kwargs)
+
+        return ret, cmdString
+                
+    def InitTreeItems(self):
+        """Add locations, mapsets and layers to the tree."""
+        self._initTreeItems()
+        
+    def OnCopy(self, event):
+        """Copy layer or mapset (just save it temporarily, copying is done by paste)"""
+        self.copy_layer = self.selected_layer
+        self.copy_type = self.selected_type
+        self.copy_mapset = self.selected_mapset
+        self.copy_location = self.selected_location
+        label = _("Map <{layer}> marked for copying. "
+                  "You can paste it to the current mapset "
+                  "<{mapset}>.".format(layer=self.copy_layer.label, mapset=self.gmapset))
+        self.showNotification.emit(message=label)
+
+    def OnRename(self, event):
+        """Rename levent with dialog"""
+        if self.selected_layer:
+            self.old_name = self.selected_layer.label
+            self.new_name = self._getUserEntry(_('New name'), _('Rename map'), self.old_name)
+            self.Rename()
+
+    def OnStartEditLabel(self, node, event):
+        """Start label editing"""
+        self.DefineItems(node)
+        Debug.msg(1, "Start label edit {name}".format(name=node.label))
+        label = _("Editing {name}").format(name=node.label)
+        self.showNotification.emit(message=label)
+        if not self.selected_layer:
+            event.Veto()
+
+    def OnEditLabel(self, node, event):
+        """End label editing"""
+        if self.selected_layer and not event.IsEditCancelled():
+            self.old_name = node.label
+            Debug.msg(1, "End label edit {name}".format(name=self.old_name))
+            self.new_name = event.GetLabel()
+            self.Rename()
+
+    def Rename(self):
+        """Rename layer"""
+        if self.selected_layer and self.new_name:
+            string = self.old_name + ',' + self.new_name
+            gisrc, env = getEnvironment(self.gisdbase, self.selected_location.label, self.selected_mapset.label)
+            renamed = 0
+            label = _("Renaming map <{name}>...").format(name=string)
+            self.showNotification.emit(message=label)
+            if self.selected_type.label == 'vector':
+                renamed, cmd = self._runCommand('g.rename', vector=string, env=env)
+            elif self.selected_type.label == 'raster':
+                renamed, cmd = self._runCommand('g.rename', raster=string, env=env)
+            else:
+                renamed, cmd = self._runCommand('g.rename', raster3d=string, env=env)
+            if renamed == 0:
+                self.selected_layer.label = self.new_name
+                self.selected_layer.data['name'] = self.new_name
+                self.RefreshNode(self.selected_layer)
+                self.showNotification.emit(message=_("{cmd} -- completed").format(cmd=cmd))
+                Debug.msg(1, "LAYER RENAMED TO: " + self.new_name)
+            gscript.try_remove(gisrc)
+
+    def OnPaste(self, event):
+        """Paste layer or mapset"""
+        # copying between mapsets of one location
+        if not self.copy_layer:
+            GMessage(_("No map selected for copying."), parent=self)
+            return
+        if self.selected_location == self.copy_location and \
+           self.selected_mapset.data['name'] == gscript.gisenv()['MAPSET']:
+            if self.selected_type:
+                if self.copy_type.label != self.selected_type.label:  # copy raster to vector or vice versa
+                    GError(_("Failed to copy map: invalid map type "
+                             "({} vs. {}).".format(self.copy_type.label, self.selected_type.label)), parent=self)
+                    return
+            self.new_name = self._getUserEntry(_('New name'), _('Copy map'),
+                                               self.copy_layer.label + '_copy')
+            if not self.new_name:
+                return
+            if self.copy_layer.label == self.new_name:
+                GMessage(_("Failed to copy map: new map has the same name"), parent=self)
+                return
+
+            if not self.selected_type:
+                found = self._model.SearchNodes(parent=self.selected_mapset, type='element', name=self.copy_type.label)
+                self.selected_type = found[0] if found else None
+
+            overwrite = False
+            if self.selected_type:
+                found = self._model.SearchNodes(parent=self.selected_type, type=self.copy_type.label, name=self.new_name)
+                if found and found[0]:
+                    dlg = wx.MessageDialog(parent=self,
+                                           message = _("Map <{map}> already exists "
+                                                       "in the current mapset. "
+                                                       "Do you want to overwrite it?").format(map=self.new_name),
+                                           caption = _("Overwrite?"),
+                                           style = wx.YES_NO | wx.YES_DEFAULT | wx.ICON_QUESTION)
+                    ret = dlg.ShowModal()
+                    dlg.Destroy()
+                    if ret == wx.ID_YES:
+                        overwrite = True
+
+            string = self.copy_layer.label + '@' + self.copy_mapset.label + ',' + self.new_name
+            gisrc, env = getEnvironment(self.gisdbase, self.selected_location.label, self.selected_mapset.label)
+            pasted = 0
+            label = _("Copying <{name}>...").format(name=string)
+            self.showNotification.emit(message=label)
+            if self.copy_type.label == 'vector':
+                pasted, cmd = self._runCommand('g.copy', vector=string, overwrite=overwrite, env=env)
+                node = 'vector'
+            elif self.copy_type.label == 'raster':
+                pasted, cmd = self._runCommand('g.copy', raster=string, overwrite=overwrite, env=env)
+                node = 'raster'
+            else:
+                pasted, cmd = self._runCommand('g.copy', raster_3d=string, overwrite=overwrite, env=env)
+                node = 'raster_3d'
+            if pasted == 0:
+                if not self.selected_type:
+                    # add type node if not exists
+                    self.selected_type = self._model.AppendNode(parent=self.selected_mapset, label=node,
+                                                                data=dict(type='element', name=node))
+                if not overwrite:
+                    self._model.AppendNode(parent=self.selected_type, label=self.new_name,
+                                           data=dict(type=node, name=self.new_name))
+                    self._model.SortChildren(self.selected_type)
+                    self.RefreshNode(self.selected_type, recursive=True)
+                Debug.msg(1, "COPIED TO: " + self.new_name)
+                self.showNotification.emit(message= _("{cmd} -- completed").format(cmd=cmd))
+            gscript.try_remove(gisrc)
+        else:
+            if self.selected_location != self.copy_location:
+                GError(_("Failed to copy map: action is allowed only within the same location."),
+                       parent=self)
+            else:
+                GError(_("Failed to copy map: action is allowed only within the current mapset."),
+                       parent=self)
+        
+        # expand selected mapset
+        self.ExpandNode(self.selected_mapset, recursive=True)
+
+    def OnDelete(self, event):
+        """Delete layer or mapset"""
+        if self.selected_layer:
+            string = self.selected_layer.label
+            gisrc, env = getEnvironment(self.gisdbase, self.selected_location.label, self.selected_mapset.label)
+            removed = 0
+            # TODO: rewrite this that it will tell map type in the dialog
+            if self._confirmDialog(question=_('Do you really want to delete map <{m}>?').format(m=string),
+                                   title=_('Delete map')) == wx.ID_YES:
+                label = _("Deleting {name}...").format(name=string)
+                self.showNotification.emit(message=label)
+                if self.selected_type.label == 'vector':
+                    removed, cmd = self._runCommand('g.remove', flags='f', type='vector',
+                                         name=string, env=env)
+                elif self.selected_type.label == 'raster':
+                    removed, cmd = self._runCommand('g.remove', flags='f', type='raster',
+                                         name=string, env=env)
+                else:
+                    removed, cmd = self._runCommand('g.remove', flags='f', type='raster_3d',
+                                         name=string, env=env)
+                if removed == 0:
+                    self._model.RemoveNode(self.selected_layer)
+                    self.RefreshNode(self.selected_type, recursive=True)
+                    Debug.msg(1, "LAYER " + string + " DELETED")
+                    self.showNotification.emit(message= _("{cmd} -- completed").format(cmd=cmd))
+            gscript.try_remove(gisrc)
+
+    def OnDisplayLayer(self, event):
+        """Display layer in current graphics view"""
+        layerName = []
+        if self.selected_location.label == self.glocation and self.selected_mapset:
+            string = self.selected_layer.label + '@' + self.selected_mapset.label
+            layerName.append(string)
+            label = _("Displaying {name}...").format(name=string)
+            self.showNotification.emit(message=label)
+            label = "d." + self.selected_type.label[:4] + " --q map=" + string + \
+                    _(" -- completed. Go to Layers tab for further operations.")
+            if self.selected_type.label == 'vector':
+                self._giface.lmgr.AddMaps(layerName, 'vector', True)
+            elif self.selected_type.label == 'raster':
+                self._giface.lmgr.AddMaps(layerName, 'raster', True)
+            else:
+                self._giface.lmgr.AddMaps(layerName, 'raster_3d', True)
+                label = "d.rast --q map=" + string + _(" -- completed. Go to Layers tab for further operations.")  # generate this message (command) automatically?
+            self.showNotification.emit(message=label)
+            Debug.msg(1, "LAYER " + self.selected_layer.label + " DISPLAYED")
+        else:
+            GError(_("Failed to display layer: not in current mapset or invalid layer"),
+                   parent=self)
+
+    def OnBeginDrag(self, node, event):
+        """Just copy necessary data"""
+        if wx.GetMouseState().ControlDown():
+            #cursor = wx.StockCursor(wx.CURSOR_HAND)
+            #self.SetCursor(cursor)
+            event.Allow()
+            self.DefineItems(node)
+            self.OnCopy(event)
+            Debug.msg(1, "DRAG")
+        else:
+            event.Veto()
+            Debug.msg(1, "DRAGGING without ctrl key does nothing")
+
+    def OnEndDrag(self, node, event):
+        """Copy layer into target"""
+        #cursor = wx.StockCursor(wx.CURSOR_ARROW)
+        #self.SetCursor(cursor)
+        if node:
+            self.DefineItems(node)
+            if self.selected_location == self.copy_location and self.selected_mapset:
+                event.Allow()
+                self.OnPaste(event)
+                #cursor = wx.StockCursor(wx.CURSOR_DEFAULT)
+                #self.SetCursor(cursor) # TODO: change cursor while dragging and then back, this is not working
+                Debug.msg(1, "DROP DONE")
+            else:
+                event.Veto()
+
+    def _getUserEntry(self, message, title, value):
+        """Dialog for simple text entry"""
+        dlg = TextEntryDialog(self, message, title)
+        dlg.SetValue(value)
+        if dlg.ShowModal() == wx.ID_OK:
+            name = dlg.GetValue()
+        else:
+            name = None
+        dlg.Destroy()
+
+        return name
+
+    def _confirmDialog(self, question, title):
+        """Confirm dialog"""
+        dlg = wx.MessageDialog(self, question, title, wx.YES_NO)
+        res = dlg.ShowModal()
+        dlg.Destroy()
+        return res
+
+    def _popupMenuLayer(self, current_mapset):
+        """Create popup menu for layers"""
+        menu = wx.Menu()
+
+        item = wx.MenuItem(menu, wx.NewId(), _("&Copy"))
+        menu.AppendItem(item)
+        self.Bind(wx.EVT_MENU, self.OnCopy, item)
+
+        item = wx.MenuItem(menu, wx.NewId(), _("&Delete"))
+        menu.AppendItem(item)
+        self.Bind(wx.EVT_MENU, self.OnDelete, item)
+        if not current_mapset:
+            item.Enable(False)
+
+        item = wx.MenuItem(menu, wx.NewId(), _("&Rename"))
+        menu.AppendItem(item)
+        self.Bind(wx.EVT_MENU, self.OnRename, item)
+        if not current_mapset:
+            item.Enable(False)
+
+        if not isinstance(self._giface, StandaloneGrassInterface):
+            item = wx.MenuItem(menu, wx.NewId(), _("&Display"))
+            menu.AppendItem(item)
+            self.Bind(wx.EVT_MENU, self.OnDisplayLayer, item)
+
+        self.PopupMenu(menu)
+        menu.Destroy()
+
+    def _popupMenuMapset(self):
+        """Create popup menu for mapsets"""
+        menu = wx.Menu()
+
+        item = wx.MenuItem(menu, wx.NewId(), _("&Paste"))
+        menu.AppendItem(item)
+        self.Bind(wx.EVT_MENU, self.OnPaste, item)
+
+        self.PopupMenu(menu)
+        menu.Destroy()
diff --git a/gui/wxpython/dbmgr/base.py b/gui/wxpython/dbmgr/base.py
index 24dc19d..42209b9 100644
--- a/gui/wxpython/dbmgr/base.py
+++ b/gui/wxpython/dbmgr/base.py
@@ -1522,11 +1522,11 @@ class DbMgrBrowsePage(DbMgrNotebookBase):
         table    = self.dbMgrData['mapDBInfo'].layers[self.selLayer]["table"]
         key      = self.dbMgrData['mapDBInfo'].layers[self.selLayer]["key"]
         
-        indeces = []
+        indices = []
         # collect SQL statements
         while item != -1:
             index = dlist.itemIndexMap[item]
-            indeces.append(index)
+            indices.append(index)
             
             cat = dlist.itemCatsMap[index]
             
@@ -1557,7 +1557,7 @@ class DbMgrBrowsePage(DbMgrNotebookBase):
         
         i = 0
         for index in indexTemp:
-            if index in indeces:
+            if index in indices:
                 continue
             dlist.itemIndexMap.append(i)
             dlist.itemDataMap[i] = dataTemp[index]
@@ -2789,6 +2789,7 @@ class LayerBook(wx.Notebook):
         self.addLayerWidgets['database'][1].SetValue(self.defaultConnect['database'])
         self.addLayerWidgets['table'][1].SetSelection(0)
         self.addLayerWidgets['key'][1].SetSelection(0)
+        self.addLayerWidgets['addCat'][0].SetValue(True)
         # events
         self.addLayerWidgets['driver'][1].Bind(wx.EVT_CHOICE, self.OnDriverChanged)
         self.addLayerWidgets['database'][1].Bind(wx.EVT_TEXT_ENTER, self.OnDatabaseChanged)
diff --git a/gui/wxpython/dbmgr/g.gui.dbmgr.html b/gui/wxpython/dbmgr/g.gui.dbmgr.html
index bb6131e..649ab7c 100644
--- a/gui/wxpython/dbmgr/g.gui.dbmgr.html
+++ b/gui/wxpython/dbmgr/g.gui.dbmgr.html
@@ -74,4 +74,4 @@ Michael Barton, Arizona State University, USA<br>
 Jachym Cepicky
 
 <p>
-<i>$Date: 2014-04-20 19:57:39 +0200 (Sun, 20 Apr 2014) $</i>
+<i>$Date: 2014-04-20 06:20:39 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/gui/wxpython/dbmgr/g.gui.dbmgr.py b/gui/wxpython/dbmgr/g.gui.dbmgr.py
index 9574d12..618564e 100755
--- a/gui/wxpython/dbmgr/g.gui.dbmgr.py
+++ b/gui/wxpython/dbmgr/g.gui.dbmgr.py
@@ -35,6 +35,10 @@ def main():
     options, flags = gscript.parser()
 
     import wx
+
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.utils import _
     from dbmgr.manager import AttributeManager
 
diff --git a/gui/wxpython/docs/wxGUI.components.html b/gui/wxpython/docs/wxGUI.components.html
index 1b8a0a4..2a2452a 100644
--- a/gui/wxpython/docs/wxGUI.components.html
+++ b/gui/wxpython/docs/wxGUI.components.html
@@ -4,6 +4,7 @@
 List of available <em><a href="wxGUI.html">wxGUI</a></em> components:
 
 <ul>
+  <li><a href="wxGUI.modules.html">Module dialogs</a></li>
   <li><a href="wxGUI.nviz.html">3D Viewer</a> (nviz)</li>
   <li><a href="wxGUI.animation.html">Animation tool</a>,
     available as a command line tool <em><a href="g.gui.animation.html">g.gui.animation</a></em></li>
@@ -11,6 +12,8 @@ List of available <em><a href="wxGUI.html">wxGUI</a></em> components:
     available also as a command line tool <em><a href="g.gui.dbmgr.html">g.gui.dbmgr</a></em></li>
   <li><a href="wxGUI.psmap.html">Cartographic Composer</a>,
     available also as a command line tool <em><a href="g.gui.psmap.html">g.gui.psmap</a></em></li>
+  <li><a href="wxGUI.datacatalog.html">Data Catalog</a>,
+    available also as a command line tool <em><a href="g.gui.datacatalog.html">g.gui.datacatalog</a></em></li>
   <li><a href="wxGUI.gmodeler.html">Graphical Modeler</a>,
     available also as a command line tool <em><a href="g.gui.gmodeler.html">g.gui.gmodeler</a></em></li>
   <li><a href="wxGUI.gcp.html">Ground Control Points Manager</a>,
@@ -23,10 +26,12 @@ List of available <em><a href="wxGUI.html">wxGUI</a></em> components:
   <li>Configuration tool for r.li modules, <em><a href="g.gui.rlisetup.html">g.gui.rlisetup</a></em></li>
   <li><a href="wxGUI.timeline.html">Timeline Tool</a>,
      available also as a command line tool <em><a href="g.gui.timeline.html">g.gui.timeline</a></em></li>
+  <li><a href="wxGUI.tplot.html">Temporal Plot Tool</a>,
+     available also as a command line tool <em><a href="g.gui.tplot.html">g.gui.tplot</a></em></li>
   <li><a href="wxGUI.vdigit.html">Vector Digitizer</a>,
      available also as a command line tool <em><a href="g.gui.vdigit.html">g.gui.vdigit</a></em></li>
   <li><a href="wxGUI.vnet.html">Vector Network Analysis Tool</a></li>
 </ul>
 
 <p>
-<i>$Date: 2014-04-19 19:50:06 +0200 (Sat, 19 Apr 2014) $</i>
+<i>$Date: 2016-03-15 15:01:07 -0700 (Tue, 15 Mar 2016) $</i>
diff --git a/gui/wxpython/docs/wxGUI.html b/gui/wxpython/docs/wxGUI.html
index ada5e9e..ea7ce42 100644
--- a/gui/wxpython/docs/wxGUI.html
+++ b/gui/wxpython/docs/wxGUI.html
@@ -7,7 +7,7 @@ in 2D and 3D, calling GRASS GIS modules, and interacting with data.
 
 
 <h3>Overview</h3>
-The GUI is composed of <em>two</em> main components:
+The GUI is composed of <em>three</em> main components:
 
 <ul>
   <li>The <b>Layer Manager</b> includes map layer management, integrated
@@ -18,6 +18,7 @@ The GUI is composed of <em>two</em> main components:
   set of map layers in the layer manager. The user may start multiple map 
   displays during a session. The map layers for each display are grouped
   under different tabs in the Layer Manager.</li>
+  <li><a href="wxGUI.modules.html">Module dialogs</a> enable running GRASS modules.</li>
 </ul>
 
 <h3>Layer Manager</h3>
@@ -349,20 +350,14 @@ the computational region extents.
 
 <dl>
 
-  <dt><img src="icons/show.png" alt="icon"> 
-    <em>Display map</em></dt>
-  <dd>Displays all active layers from layer tree and re-renders for display
-    any layers that have changed since the last time the display was updated, 
-    including layers added or removed.</dd>
-  
   <dt><img src="icons/layer-redraw.png" alt="icon"> 
-    <em>Re-render map</em></dt>
-  <dd>Re-renders all active layers regardless of whether they have changed
-    or not.</dd>
+    <em>Re-render display</em></dt>
+  <dd>Re-renders all active map layers regardless of whether they have changed
+    or not, see <em><a href="d.redraw.html">d.redraw</a></em>.</dd>
   
   <dt><img src="icons/erase.png" alt="icon"> 
     <em>Erase display</em></dt>
-  <dd>Erases the currently selected map display to a white background.
+  <dd>Erases the currently selected map display to a white background,
     see <em><a href="d.erase.html">d.erase</a></em>.</dd>
   
   <dt><img src="icons/pointer.png" alt="icon"> 
@@ -575,7 +570,7 @@ the computational region extents.
 
 <dl>
   <dt>Ctrl+Tab</dt>
-  <dd>Switch 'Map layers' and 'Command output' tab</dd>
+  <dd>Switch 'Layers' and 'Console' tab</dd>
   <dt>Ctrl+Q</dt>
   <dd>Quit</dd>
 </dl>
@@ -590,7 +585,7 @@ the computational region extents.
   <dd>Close workspace</dd>
 </dl>
 
-<b>Map Layers</b>
+<b>Layers</b>
 <dl>
   <dt>Ctrl+Shift+L</dt>
   <dd>Add multiple raster or vector map layers to current map display</dd>
@@ -602,18 +597,24 @@ the computational region extents.
   <dd>Close current map display</dd>
 </dl>
 
-<b>Command line prompt</b>
+<b>Console</b>
 <dl>
   <dt>Tab</dt>
   <dd>Show command tooltips</dd>
   <dt>Esc</dt>
   <dd>Hide command tooltips</dd>
   <dt>Ctrl+Space</dt>
-  <dd>Map entries without arguments (as in <tt>r.info [mapname]</tt>)</dd>
+  <dd>Show auto-complete suggestions</dd>
   <dt>Up/Down</dt>
   <dd>List command history</dd>
   <dt>Enter</dt>
   <dd>Run command</dd>
+  <dt>Ctrl++</dt>
+  <dd>Increase font size (numerical keyboard plus key)</dd>
+  <dt>Ctrl+-</dt>
+  <dd>Decrease font size (numerical keyboard minus key)</dd>
+  <dt>Ctrl+mouse wheel</dt>
+  <dd>Increase or decrease font size</dd>
 </dl>
 
 <h4>Map Display</h4>
@@ -688,6 +689,7 @@ using <a href="http://www.wxpython.org">wxPython</a> library.
 
 <em>
   <a href="wxGUI.components.html">wxGUI components</a><br>
+  <a href="wxGUI.modules.html">wxGUI module dialogs</a>
   <a href="wxGUI.toolboxes.html">wxGUI toolboxes (menu customization)</a>
 </em>
 
@@ -715,4 +717,4 @@ Matej Krejci, OSGeoREL, Czech Technical University in Prague, Czech Republic<br>
 Icons created by <a href="http://robert.szczepanek.pl">Robert Szczepanek</a>, Poland (<a href="https://svn.osgeo.org/osgeo/graphics/trunk/toolbar-icons/24x24/">SVN</a>)
 
 <p>
-<i>$Date: 2015-09-06 14:24:18 +0200 (Sun, 06 Sep 2015) $</i>
+<i>$Date: 2016-03-15 15:01:07 -0700 (Tue, 15 Mar 2016) $</i>
diff --git a/gui/wxpython/docs/wxGUI.iscatt.html b/gui/wxpython/docs/wxGUI.iscatt.html
index 9408801..81b9393 100644
--- a/gui/wxpython/docs/wxGUI.iscatt.html
+++ b/gui/wxpython/docs/wxGUI.iscatt.html
@@ -82,4 +82,4 @@ Turek, <a href="http://grasswiki.osgeo.org/wiki/GRASS_GSoC_2013_GRASS_GIS_Intera
 Summer of Code 2013</a> (mentor: Martin Landa)
 
 <p>
-<i>$Date: 2015-10-22 00:41:33 +0200 (Thu, 22 Oct 2015) $</i>
+<i>$Date: 2015-10-21 15:30:01 -0700 (Wed, 21 Oct 2015) $</i>
diff --git a/gui/wxpython/docs/wxGUI.modules.html b/gui/wxpython/docs/wxGUI.modules.html
new file mode 100644
index 0000000..47c5e81
--- /dev/null
+++ b/gui/wxpython/docs/wxGUI.modules.html
@@ -0,0 +1,191 @@
+<!-- meta page description: wxGUI Module dialogs -->
+<!-- meta page index: wxGUI -->
+<h2>DESCRIPTION</h2>
+
+GRASS GIS functionality is organized into modules, which are standalone programs
+with defined interface. Their graphical user interface (GUI) is a dialog
+with several tabs which organize module parameters into groups.
+<p>
+Each parameter can have different type of input fields,
+for example text entry or drop-down list.
+Flags are represented as checkboxes. The parameter (or flag) name
+is visible on the right side of each input field
+so that it is simple to understand how the module dialog
+relates to the command representation which is used in the manuals and tutorials.
+The commands can be used to call the module in the command line, Shell scripts
+or, with a slight modification, in a Python script.
+
+
+<center>
+  <img src="wxGUI_modules_parameters.png" border="0" alt="r.neighbors dialog">
+</center>
+
+
+<h3>Tabs</h3>
+Module parameters and flags are organized in tabs. Their names can depend on a module,
+however every module has <i>Command output</i> tab where the progress can be observed,
+and the module output including text results or warnings are printed.
+The last <i>Manual</i> tab contains description of module's parameters
+and examples. The same information can be found in the online manual as well.
+
+<p>
+The style of the tabs can be changed through <i>GUI settings</i> - 
+<i>Appearance</i> - <i>Module dialog style</i>. Note that the style appearance
+depends on the platform and some styles might be more suitable
+for different platforms.
+
+<center>
+  <img src="wxGUI_modules_style_left.png" border="0" alt="dialog style left">
+  <img src="wxGUI_modules_style_top.png" border="0" alt="dialog style top">
+  <br>
+  Figure: Example of style "left" and "top" on Ubuntu.
+</center>
+
+<h3>Flags</h3>
+Module flags are represented as checkboxes with description. There
+are three special flags - <i>overwrite</i>, <i>verbose</i> and <i>quiet</i>.
+Flags <i>verbose</i> and <i>quiet</i> set the level of verbosity of the module
+(how detailed the messages should be).
+<center>
+  <img src="wxGUI_modules_flags.png" border="0" alt="dialog flags">
+  <br>
+</center>
+<p>
+Modules which output a new map or a new file have the flag <i>overwrite</i>
+which must be used when the specified output map or file is already present.
+If the map or file of the specified name already exist and <i>overwrite</i>
+flag is not used, an error message appears:
+<pre>
+r.slope.aspect elevation=elevation slope=slope
+ERROR: option <slope>: <slope> exists. To overwrite, use the --overwrite flag
+</pre>
+
+If using the command instead of GUI, these flags are unlike other flags
+prefixed with double dash:
+<div class="code"><pre>
+r.slope.aspect elevation=elevation slope=slope --overwrite --quiet
+</pre></div>
+
+<h3>Current working directory</h3>
+Certain modules require a file as input or output.
+Either the full path to the file needs to be specified
+or a path relative
+to the current working directory is enough, for example only the name of the file.
+<b>Current working directory</b> is a directory where GRASS would look 
+for or output files to if the full path is not specified.
+By default working directory is user's home folder.
+It can be changed in wxGUI menu
+<i>Settings</i> - <i>GRASS working environment</i> -
+<i>Change working directory</i>,
+or by typing <tt>cd</tt> and pressing Enter in the wxGUI Command console.
+If the working directory is changed to a directory where the input files are,
+then it is enough to specify just the name of the file instead of the full path.
+
+<p>
+This applies to external files such as text files or GeoTiff files.
+This does not apply to raster maps, vector maps
+and other geospatial data stored in GRASS database
+which do not need any path to be specified.
+
+
+<h3>Special widgets</h3>
+For raster, vector or 3D raster input, there is a special
+widget which after clicking on the arrow to the right pops up
+a list of existing maps from different mapsets.
+Selecting a map from the popup list will add it to the entry field.
+In case multiple maps can be specifed (denoted by <i>[multiple]</i> label),
+selecting a map from the popup list will append the map names with
+comma in between.
+
+<center>
+  <img src="wxGUI_modules_widget_selection.png" border="0" alt="widget for selecting maps">
+  <br>
+</center>
+
+<p>
+If the input file is supposed to be a text file
+(for example color rules in r.colors),
+it is possible to type the text in the provided box directly instead
+of creating a new file in a text editor and saving it.
+A temporary file is created in this case. By pressing the <i>Save as</i>
+button, the content of the box is then saved into user specified file,
+so that user's workflow can be reproduced later. With <i>Load</i>
+button we can display the content of selected file and edit it 
+directly in the box.
+
+<center>
+  <img src="wxGUI_modules_widget_file1.png" border="0" alt="widget for input files">
+  <img src="wxGUI_modules_widget_file2.png" border="0" alt="widget for input files">
+  <br>
+  <p> Figure: In the first image, user specified a full path to a file.
+      In the second image, user typed color rules conveniently
+      into the box below, however the rules will not be stored permanently.
+</center>
+
+
+<h2>NOTES</h2>
+Dialogs are generated automatically based on module interface defined using <a href="g.parser.html">g.parser</a>.
+Command line interface can be obtained when running the module with a <i>--help</i>
+flag. The options and flags are the same as in the module GUI.
+<pre>
+r.neighbors --help
+
+Description:
+ Makes each cell category value a function of the category
+values assigned to the cells around it, and stores new cell
+values in an output raster map layer.
+Keywords:
+ raster, algebra, statistics, aggregation, neighbor, focal
+statistics, filter
+Usage:
+ r.neighbors [-ac] input=name [selection=name]
+output=name[,name,...]
+   [method=string[,string,...]] [size=value] [title=phrase]
+[weight=name]
+   [gauss=value] [quantile=value[,value,...]] [--overwrite]
+[--help]
+   [--verbose] [--quiet] [--ui]
+Flags:
+  -a   Do not align output with the input
+  -c   Use circular neighborhood
+ --o   Allow output files to overwrite existing files
+ --h   Print usage summary
+ --v   Verbose module output
+ --q   Quiet module output
+ --ui  Force launching GUI dialog
+Parameters:
+      input   Name of input raster map
+  selection   Name of an input raster map to select the
+cells which should be processed
+     output   Name for output raster map
+     method   Neighborhood operation
+              options:
+average,median,mode,minimum,maximum,range,stddev,sum,
+count,variance,diversity,interspersion,quart1,quart3,
+                       perc90,quantile
+              default: average
+       size   Neighborhood size
+              default: 3
+      title   Title for output raster map
+     weight   Text file containing weights
+      gauss   Sigma (in cells) for Gaussian filter
+   quantile   Quantile to calculate for method=quantile
+              options: 0.0-1.0
+</pre>
+
+<h2>SEE ALSO</h2>
+
+<em>
+  <a href="wxGUI.html">wxGUI</a><br>
+  <a href="wxGUI.components.html">wxGUI components</a>
+</em>
+
+<h2>AUTHORS</h2>
+GRASS Development Team<br>
+manual by Anna Petrasova, OSGeoREL, Faculty of Civil Engineering, Czech Technical University in Prague<br>
+Vaclav Petras, OSGeoREL, Faculty of Civil Engineering, Czech Technical University in Prague<br>
+
+
+
+<p>
+<em>$Date: 2016-03-16 18:31:19 -0700 (Wed, 16 Mar 2016) $</em>
diff --git a/gui/wxpython/docs/wxGUI.nviz.html b/gui/wxpython/docs/wxGUI.nviz.html
index 6772534..84265fb 100644
--- a/gui/wxpython/docs/wxGUI.nviz.html
+++ b/gui/wxpython/docs/wxGUI.nviz.html
@@ -440,4 +440,4 @@ with contributions by Terrance McGhee.
 
 
 <p>
-<i>$Date: 2015-07-11 16:04:13 +0200 (Sat, 11 Jul 2015) $</i>
+<i>$Date: 2015-07-11 07:01:46 -0700 (Sat, 11 Jul 2015) $</i>
diff --git a/gui/wxpython/docs/wxGUI.toolboxes.html b/gui/wxpython/docs/wxGUI.toolboxes.html
index 9a885ff..5d53ec0 100644
--- a/gui/wxpython/docs/wxGUI.toolboxes.html
+++ b/gui/wxpython/docs/wxGUI.toolboxes.html
@@ -127,7 +127,7 @@ where we omitted the two toolboxes:</p>
 
 <h3>Creating custom toolbox</h3>
 
-<p>In this example we create a new toolbox <em>Favorites</em> containg
+<p>In this example we create a new toolbox <em>Favorites</em> containing
 existing GRASS module and toolbox, custom module
 created by the user and addon module.
 The <tt>toolboxes.xml</tt> file contains following lines:</p>
@@ -208,4 +208,4 @@ Vaclav Petras, OSGeoREL, Faculty of Civil Engineering, Czech Technical Universit
 
 
 <p>
-<em>$Date: 2013-07-04 14:49:20 +0200 (Thu, 04 Jul 2013) $</em>
+<em>$Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</em>
diff --git a/gui/wxpython/docs/wxGUI.vnet.html b/gui/wxpython/docs/wxGUI.vnet.html
index 533a5e9..5739c30 100644
--- a/gui/wxpython/docs/wxGUI.vnet.html
+++ b/gui/wxpython/docs/wxGUI.vnet.html
@@ -104,4 +104,4 @@ Turek, <a href="http://grasswiki.osgeo.org/wiki/GRASS_GSoC_2012_WxGUI_front_end_
 Summer of Code 2012</a> (mentor: Martin Landa)
 
 <p>
-<i>$Date: 2013-09-30 23:56:24 +0200 (Mon, 30 Sep 2013) $</i>
+<i>$Date: 2013-09-30 14:56:24 -0700 (Mon, 30 Sep 2013) $</i>
diff --git a/gui/wxpython/docs/wxGUI_map_display.jpg b/gui/wxpython/docs/wxGUI_map_display.jpg
index 4b15b63..796d4f9 100644
Binary files a/gui/wxpython/docs/wxGUI_map_display.jpg and b/gui/wxpython/docs/wxGUI_map_display.jpg differ
diff --git a/gui/wxpython/docs/wxGUI_modules_flags.png b/gui/wxpython/docs/wxGUI_modules_flags.png
new file mode 100644
index 0000000..b2b73d2
Binary files /dev/null and b/gui/wxpython/docs/wxGUI_modules_flags.png differ
diff --git a/gui/wxpython/docs/wxGUI_modules_parameters.png b/gui/wxpython/docs/wxGUI_modules_parameters.png
new file mode 100644
index 0000000..69ad820
Binary files /dev/null and b/gui/wxpython/docs/wxGUI_modules_parameters.png differ
diff --git a/gui/wxpython/docs/wxGUI_modules_style_left.png b/gui/wxpython/docs/wxGUI_modules_style_left.png
new file mode 100644
index 0000000..01e84b0
Binary files /dev/null and b/gui/wxpython/docs/wxGUI_modules_style_left.png differ
diff --git a/gui/wxpython/docs/wxGUI_modules_style_top.png b/gui/wxpython/docs/wxGUI_modules_style_top.png
new file mode 100644
index 0000000..3cf33e5
Binary files /dev/null and b/gui/wxpython/docs/wxGUI_modules_style_top.png differ
diff --git a/gui/wxpython/docs/wxGUI_modules_widget_file1.png b/gui/wxpython/docs/wxGUI_modules_widget_file1.png
new file mode 100644
index 0000000..17eb2e0
Binary files /dev/null and b/gui/wxpython/docs/wxGUI_modules_widget_file1.png differ
diff --git a/gui/wxpython/docs/wxGUI_modules_widget_file2.png b/gui/wxpython/docs/wxGUI_modules_widget_file2.png
new file mode 100644
index 0000000..3c763f6
Binary files /dev/null and b/gui/wxpython/docs/wxGUI_modules_widget_file2.png differ
diff --git a/gui/wxpython/docs/wxGUI_modules_widget_selection.png b/gui/wxpython/docs/wxGUI_modules_widget_selection.png
new file mode 100644
index 0000000..1cbf827
Binary files /dev/null and b/gui/wxpython/docs/wxGUI_modules_widget_selection.png differ
diff --git a/gui/wxpython/docs/wxgui_sphinx/_templates/oholosidebar.html b/gui/wxpython/docs/wxgui_sphinx/_templates/oholosidebar.html
deleted file mode 100644
index 93b382f..0000000
--- a/gui/wxpython/docs/wxgui_sphinx/_templates/oholosidebar.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<p width="210px">
-<iframe src='http://www.ohloh.net/p/3666/widgets/project_factoids_stats.html' scrolling='no' marginHeight=0 marginWidth=0 style='height: 160px; width: 210px; border: none;'></iframe>
-</p>
-<p width="210px">
-<iframe src='http://www.ohloh.net/p/3666/widgets/project_languages.html' scrolling='no' marginHeight=0 marginWidth=0 style='height: 160px; width: 210px; border: none;'></iframe>
-</p>
-<p width="210px">
-<iframe src='http://www.ohloh.net/p/3666/widgets/project_cocomo.html' scrolling='no' marginHeight=0 marginWidth=0 style='height: 160px; width: 210px; border: none;'></iframe>
-</p>
\ No newline at end of file
diff --git a/gui/wxpython/gcp/g.gui.gcp.html b/gui/wxpython/gcp/g.gui.gcp.html
index ed5665d..9030684 100644
--- a/gui/wxpython/gcp/g.gui.gcp.html
+++ b/gui/wxpython/gcp/g.gui.gcp.html
@@ -315,4 +315,4 @@ Markus Metz<br><br>
 Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>$Date: 2014-11-02 21:55:12 +0100 (Sun, 02 Nov 2014) $</i>
+<i>$Date: 2014-11-02 12:52:19 -0800 (Sun, 02 Nov 2014) $</i>
diff --git a/gui/wxpython/gcp/g.gui.gcp.py b/gui/wxpython/gcp/g.gui.gcp.py
index 0c26a99..7f080a6 100755
--- a/gui/wxpython/gcp/g.gui.gcp.py
+++ b/gui/wxpython/gcp/g.gui.gcp.py
@@ -47,6 +47,10 @@ def main():
     options, flags = gscript.parser()
 
     import wx
+    
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.settings import UserSettings
     from core.globalvar import CheckWxVersion
     from core.giface import StandaloneGrassInterface
diff --git a/gui/wxpython/gis_set.py b/gui/wxpython/gis_set.py
index 33629ad..063b027 100644
--- a/gui/wxpython/gis_set.py
+++ b/gui/wxpython/gis_set.py
@@ -45,6 +45,10 @@ sys.stderr = codecs.getwriter('utf8')(sys.stderr)
 
 
 class GRASSStartup(wx.Frame):
+    exit_success = 0
+    # 2 is file not found from python interpreter
+    exit_user_requested = 5
+
     """GRASS start-up screen"""
     def __init__(self, parent = None, id = wx.ID_ANY, style = wx.DEFAULT_FRAME_STYLE):
 
@@ -1004,12 +1008,12 @@ class GRASSStartup(wx.Frame):
 
     def ExitSuccessfully(self):
         self.Destroy()
-        sys.exit(0)
+        sys.exit(self.exit_success)
 
     def OnExit(self, event):
         """'Exit' button clicked"""
         self.Destroy()
-        sys.exit(2)
+        sys.exit(self.exit_user_requested)
 
     def OnHelp(self, event):
         """'Help' button clicked"""
@@ -1020,7 +1024,7 @@ class GRASSStartup(wx.Frame):
     def OnCloseWindow(self, event):
         """Close window event"""
         event.Skip()
-        sys.exit(2)
+        sys.exit(self.exit_user_requested)
 
     def _nameValidationFailed(self, ctrl):
         message = _("Name <%(name)s> is not a valid name for location or mapset. "
@@ -1050,7 +1054,7 @@ class GListBox(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
         """Load data into list
         
         :param choices: list of item
-        :param disabled: list of indeces of non-selectable items
+        :param disabled: list of indices of non-selectable items
         """
         idx = 0
         for item in choices:
diff --git a/gui/wxpython/gmodeler/Makefile b/gui/wxpython/gmodeler/Makefile
index e14518a..38f7382 100644
--- a/gui/wxpython/gmodeler/Makefile
+++ b/gui/wxpython/gmodeler/Makefile
@@ -2,4 +2,7 @@ MODULE_TOPDIR = ../../..
 
 include $(MODULE_TOPDIR)/include/Make/GuiScript.make
 
-default: guiscript
+default: guiscript sample_model
+
+sample_model: g_gui_gmodeler_zipcodes_avg_elevation.gxm
+	$(INSTALL_DATA) $< $(HTMLDIR)
diff --git a/gui/wxpython/gmodeler/dialogs.py b/gui/wxpython/gmodeler/dialogs.py
index fc4530b..ccc0807 100644
--- a/gui/wxpython/gmodeler/dialogs.py
+++ b/gui/wxpython/gmodeler/dialogs.py
@@ -53,16 +53,21 @@ class ModelDataDialog(SimpleDialog):
         SimpleDialog.__init__(self, parent, title)
                 
         self.element = Select(parent = self.panel,
+                              type = self.shape.GetPrompt(),
                               validator = SimpleValidator(callback = self.ValidatorCallback))
-        self.element.SetValue(shape.GetValue())
+        if shape.GetValue():
+            self.element.SetValue(shape.GetValue())
         
         self.Bind(wx.EVT_BUTTON, self.OnOK,     self.btnOK)
         self.Bind(wx.EVT_BUTTON, self.OnCancel, self.btnCancel)
         if self.etype:
             self.typeSelect = ElementSelect(parent = self.panel,
+                                            elements = ['raster', 'raster_3d', 'vector'],
                                             size = globalvar.DIALOG_GSELECT_SIZE)
             self.typeSelect.Bind(wx.EVT_CHOICE, self.OnType)
-        
+            self.typeSelect.SetSelection(0)
+            self.element.SetType('raster')
+            
         if shape.GetValue():
             self.btnOK.Enable()
         
@@ -118,7 +123,9 @@ class ModelDataDialog(SimpleDialog):
             if elem == 'raster':
                 self.shape.SetPrompt('raster')
             elif elem == 'vector':
-                self.shape.SetPrompt('raster')
+                self.shape.SetPrompt('vector')
+            elif elem == 'raster_3d':
+                self.shape.SetPrompt('raster_3d')
         
         self.parent.canvas.Refresh()
         self.parent.SetStatusText('', 0)
@@ -884,7 +891,7 @@ class ItemListCtrl(ModelListCtrl):
             self.DeleteItem(item)
             del self.itemDataMap[item]
             
-            action = model.GetItem(item+1) # action indeces starts at 1
+            action = model.GetItem(item+1) # action indices starts at 1
             if not action:
                 item = self.GetFirstSelected()
                 continue
diff --git a/gui/wxpython/gmodeler/frame.py b/gui/wxpython/gmodeler/frame.py
index c6af050..a7d9401 100644
--- a/gui/wxpython/gmodeler/frame.py
+++ b/gui/wxpython/gmodeler/frame.py
@@ -789,9 +789,12 @@ class ModelFrame(wx.Frame):
             x = width/2 - 200 + self._randomShift()
             y = height/2 + self._randomShift()
             for p in params['params']:
-                if p.get('prompt', '') in ('raster', 'vector', 'raster_3d') and \
-                        (p.get('value', None) or \
-                             (p.get('age', 'old') != 'old' and p.get('required', 'no') == 'yes')):
+                if p.get('prompt', '') not in ('raster', 'vector', 'raster_3d', 'dbtable'):
+                    continue
+
+                # add new data item if defined or required
+                if p.get('value', None) or \
+                   (p.get('age', 'old') != 'old' and p.get('required', 'no') == 'yes'):
                     data = layer.FindData(p.get('name', ''))
                     if data:
                         data.SetValue(p.get('value', ''))
@@ -830,7 +833,19 @@ class ModelFrame(wx.Frame):
                     data.AddRelation(rel)
                     self.AddLine(rel)
                     data.Update()
+
+                # remove dead data items
+                if not p.get('value', ''):
+                    data = layer.FindData(p.get('name', ''))
+                    if data:
+                        remList, upList = self.model.RemoveItem(data, layer)
+                        for item in remList:
+                            self.canvas.diagram.RemoveShape(item)
+                            item.__del__()
             
+                        for item in upList:
+                            item.Update()
+
             # valid / parameterized ?
             layer.SetValid(params)
             
@@ -1189,10 +1204,11 @@ class ModelEvtHandler(ogl.ShapeEvtHandler):
                                  completed = (self.frame.GetOptData, shape, shape.GetParams()))
         
         elif isinstance(shape, ModelData):
-            dlg = ModelDataDialog(parent = self.frame, shape = shape)
-            shape.SetPropDialog(dlg)
-            dlg.CentreOnParent()
-            dlg.Show()
+            if shape.GetPrompt() in ('raster', 'vector', 'raster_3d'):
+                dlg = ModelDataDialog(parent = self.frame, shape = shape)
+                shape.SetPropDialog(dlg)
+                dlg.CentreOnParent()
+                dlg.Show()
         
         elif isinstance(shape, ModelLoop):
             dlg = ModelLoopDialog(parent = self.frame, shape = shape)
@@ -1373,6 +1389,7 @@ class ModelEvtHandler(ogl.ShapeEvtHandler):
             comment = dlg.GetValue()
             shape.SetComment(comment)
             self.frame.ModelChanged()
+            self.frame.canvas.Refresh()
         dlg.Destroy()
 
     def _onSelectShape(self, shape, append=False):
@@ -1632,7 +1649,7 @@ class ItemPanel(wx.Panel):
         self.list.OnReload(None)
 
     def _getSelectedItems(self):
-        """Get list of selected items, indeces start at 0"""
+        """Get list of selected items, indices start at 0"""
         items = []
         current = -1
         while True:
diff --git a/gui/wxpython/gmodeler/g.gui.gmodeler.html b/gui/wxpython/gmodeler/g.gui.gmodeler.html
index 6d81345..c79c0f8 100644
--- a/gui/wxpython/gmodeler/g.gui.gmodeler.html
+++ b/gui/wxpython/gmodeler/g.gui.gmodeler.html
@@ -11,12 +11,18 @@ operations are not isolated, but part of a chain of operations. Using
 Graphical Modeler, that chain of processes (ie. GRASS modules)
 can be wrapped into one process (ie. model). So it's easier to execute
 the model later with slightly different inputs or parameters.
-
-<p>
-The modeler can be launched from the Layer Manager menu <tt>File ->
-Graphical modeler</tt> or from the main
-toolbar <img src="icons/modeler-main.png" alt="icon">. It's also
-available as stand-alone module <em>g.gui.gmodeler</em>.
+<br>
+Models represent a programming technique used in GRASS GIS to
+concatenate models together to accomplish a task. It is advantageous
+when user see boxes and ovals that are connected by lines and
+represent some tasks rather than seeing lines of coded text. Graphical
+Modeler can be used as custom tool that automates a process. Created
+model can simplify or shorten a task can be run many times and it can
+also be shared with others. Important note is that models cannot
+perform specified tasks that one cannot perform manually with GRASS
+GIS. It is recommended to first do process manually, note the steps
+(eg. using Copy button in module dialogs) and later duplicate them in
+model.
 
 <p>
 The Graphical Modeler allows you to:
@@ -30,18 +36,383 @@ The Graphical Modeler allows you to:
   <li>parameterize GRASS commands</li>
   <li>define intermediate data</li>
   <li>validate and run model</li>
-  <li>store model properties to the file (<tt>GRASS Model File|*.gxm</tt>)</li>
+  <li>store model properties to the file (<i>GRASS Model File|*.gxm</i>)</li>
   <li>export model to Python script</li>
   <li>export model to image file</li>
 </ul>
 
+<h3>Main dialog</h3>
+
+Graphical Modeler can be launched from the Layer Manager menu
+<tt>File -> Graphical modeler</tt> or from the main
+toolbar <img src="icons/modeler-main.png" alt="icon">. It's also
+available as stand-alone module <em>g.gui.gmodeler</em>.
+
+<p>
+The main Graphical Modeler menu contains options which enable the user
+to fully control the model. Directly under the main menu one can find
+toolbar with buttons (see figure below). There are options like
+(<font size="2" color="red">1</font>) Create new model,
+(<font size="2" color="red">2</font>) Load model from file,
+(<font size="2" color="red">3</font>) Save current model to file,
+(<font size="2" color="red">4</font>) Export model to image,
+(<font size="2" color="red">5</font>) Export model to Python script,
+(<font size="2" color="red">6</font>) Add command (GRASS modul) to
+model, (<font size="2" color="red">7</font>) Add data to model,
+(<font size="2" color="red">8</font>) Manually define relation between
+data and commands, (<font size="2" color="red">9</font>) Add
+loop/series to model, (<font size="2" color="red">10</font>) Add
+comment to model, (<font size="2" color="red">11</font>) Redraw model
+canvas, (<font size="2" color="red">12</font>) Validate model,
+(<font size="2" color="red">13</font>) Run model, (<font size="2"
+color="red">14</font>) Manage model variables, (<font size="2"
+color="red">15</font>) Model settings, (<font size="2"
+color="red">16</font>) Show manual and last of them is button
+(<font size="2" color="red">17</font>) Quit Graphical Modeler.
+
+<p>
+<center>
+<img src="g_gui_gmodeler_toolbar.png">
+<br>
+<i>Figure: Components of Graphical Modeler menu toolbar.</i>
+</center>
+
+<p>
+There is also lower menu bar in Graphical modeler dialog where one can
+manage model items, see commands, add or manage model variables,
+define default values and descriptions. Python editor dialog window
+allows to see performation written in Python code. The rightmost tab of
+the bottom menu is automatically triggered when the model is activated and
+shows all the steps of running GRASS modeler modules. In case of errors
+in the calculation process, it is written at that place.
+
+<center>
+<a href="g_gui_gmodeler_lower_toolbar.png"><img src="g_gui_gmodeler_lower_toolbar.png" width="700"></a>
+<br>
+<i>Figure: Lower Graphical Modeler menu toolbar.
+</i>
+</center>
+
+<h3>Components of models</h3>
+
+The workflow is usually established from four types of diagrams. Input and derived 
+model data are usually represented with oval diagram. 
+This type of model elements stores path to 
+specific data on the user's disk. It is possible to insert vector data, raster data, 
+database tables, etc. The type of data is clear distinguishable in the model by
+its color. Different model elements are shown in the figures below.
+
+<ul>
+  <li> (<font size="2" color="red">A</font>) raster data: <img src="g_gui_gmodeler_raster.png" alt="raster" style="margin: 0px 0px -5px 0px">
+  <li> (<font size="2" color="red">B</font>) relation: <img src="g_gui_gmodeler_relation.png" alt="relation" style="margin: 10px 0px 0px 0px">
+  <li> (<font size="2" color="red">C</font>) GRASS module: <img src="g_gui_gmodeler_modul.png" alt="module" style="margin: 0px 0px -5px 0px">
+  <li> (<font size="2" color="red">D</font>) loop: <img src="g_gui_gmodeler_loop.png" alt="loop" style="margin: 15px 0px -5px 0px">
+  <li> (<font size="2" color="red">E</font>) database table: <img src="g_gui_gmodeler_db.png" alt="db" style="margin: 10px 0px -5px 0px">
+  <li> (<font size="2" color="red">F</font>) 3D raster data: <img src="g_gui_gmodeler_raster3d.png" alt="raster3D" style="margin: 10px 0px -5px 0px"> 
+  <li> (<font size="2" color="red">G</font>) vector data: <img src="g_gui_gmodeler_vector.png" alt="vector" style="margin: 10px 0px -5px 0px">  
+  <li> (<font size="2" color="red">H</font>) disabled GRASS module: <img src="g_gui_gmodeler_modulex.png" alt="module" style="margin: 10px 0px -5px 0px"> 
+  <li> (<font size="2" color="red">I</font>) comment: <img src="g_gui_gmodeler_comment.png" alt="comment" style="margin: 10px 0px -5px 0px">  
+</ul> 
+
+<center>
+<a href="g_gui_gmodeler_model_classification.png">
+<img src="g_gui_gmodeler_model_classification.png" width="500"></a>
+<br>
+<i>Figure: A model to perform unsupervised classification using MLC
+(<a href="i.maxlik.html">i.maxlik</a>) and SMAP (<a href="i.smap.html">i.smap</a>).
+</i>
+</center>
+
+<p>
+Another example:
+
+<center>
+<a href="g_gui_gmodeler_model_usle.png">
+<img src="g_gui_gmodeler_model_usle.png" width="600"></a>
+<br>
+<i>Figure: A model to perform estimation of average annual soil loss
+caused by sheet and rill erosion using The Universal Soil Loss
+Equation.</i>
+</center>
+
+<p>
+Example as part of landslide prediction process:
+
 <center>
+<a href="g_gui_gmodeler_model_landslides.png">
+<img src="g_gui_gmodeler_model_landslides.png" width="600"></a>
 <br>
-<img src="gmodeler_frame.png">
+<i>Figure: A model to perform creation of parametric maps used by geologists 
+to predict landlides in area of interest.</i>
+</center>
+
+<h2>EXAMPLE</h2>
+
+In this example the <tt>zipcodes_wake</tt> vector data and the
+<tt>elev_state_500m</tt> raster data from the North Carolina
+sample dataset (original <a href="http://grass.osgeo.org/sampledata/north_carolina/nc_rast_geotiff.zip">raster</a> and
+<a href="http://grass.osgeo.org/sampledata/north_carolina/nc_shape.zip">vector</a>
+data) are used to calculate average elevation for every
+zone. The important part of the process is Graphical Modeler, namely its
+possibilities of process automation.
+
+<p>
+In command console the procedure would be as follows:
+
+<div class="code"><pre>
+# input data import
+r.import input=elev_state_500m.tif output=elevation 
+v.import input=zipcodes_wake.shp output=zipcodes_wake 
+# computation region settings
+g.region vector=zipcodes_wake  
+# raster statistics (average values), upload to vector map table calculation
+v.rast.stats -c map=zipcodes_wake raster=elevation column_prefix=rst method=average 
+# univariate statistics on selected table column for zipcode map calculation
+v.db.univar map=zipcodes_wake column=rst_average 
+# conversation from vector to raster layer (due to result presentation)
+v.to.rast input=zipcodes_wake output=zipcodes_avg use=attr attribute_column=rst_average 
+# display settings
+r.colors -e map=zipcodes_avg color=bgyr                                         
+d.mon start=wx0 bgcolor=white                                                   
+d.barscale style=arrow_ends color=black bgcolor=white fontsize=10
+d.rast map=zipcodes_avg bgcolor=white                                                                                                 
+d.vect map=zipcodes_wake type=boundary color=black                                                     
+d.northarrow style=1a at=85.0,15.0 color=black fill_color=black width=0 fontsize=10
+d.legend raster=zipcodes_avg lines=50 thin=5 labelnum=5 color=black fontsize=10 
+</pre></div>
+
+To start performing above steps as an automatic process with Graphical Modeler
+press the <img src="icons/modeler-main.png" alt="icon"> icon or
+type <em>g.gui.gmodeler</em>. The simplest way of inserting elements
+is by adding complete GRASS command to Command field in GRASS command
+dialog (see figure below).  With full text search one can faster
+module hunting. Then label and command can be added. In case that only
+module name is inserted, after <i>Enter</i> button pressing, module
+dialog window is displayed and it is possible to set all of usual
+module options (parameters and flags).
+
+<p> 
+<center>
+<a href="g_gui_gmodeler_dlg_module.png"><img src="g_gui_gmodeler_dlg_module.png"
+width="400"></a>
 <br>
-<i>Figure: A model to perform unsupervised classification using MLC and SMAP</i>
+<i>Figure: Dialog for adding GRASS commands to model.</i>
 </center>
 
+<p>  
+All used modules can be parameterized in the model. That causes launching the
+dialog with input options for model after the model is run. In this example
+input layers (<tt>zipcodes_wake</tt> vector data and <tt>elev_state_500m</tt> 
+raster data) are parameterized. Parameterized elements have a little thicker
+boarder in the model scheme with diagrams.
+
+<center>
+<a href="g_gui_gmodeler_parameter.png">
+<img src="g_gui_gmodeler_parameter.png" width="500"></a>
+<br>
+<i>Figure: Model parameter settings.</i>
+</center>
+
+<p>
+The final model, the list of all model items, and the Python code window with
+<i>Save</i> and <i>Run</i> option are in the figures below.
+
+<center>
+<a href="g_gui_gmodeler_model_avg.png">
+<img src="g_gui_gmodeler_model_avg.png" width="600"></a>
+<br>
+<i>Figure: A model to perform average statistics for zipcode zones.</i>
+</center>
+<br>
+<center>
+<a href="g_gui_gmodeler_items.png">
+<img src="g_gui_gmodeler_items.png" width="600"></a>
+<p>
+<a href="g_gui_gmodeler_python.png">
+<img src="g_gui_gmodeler_python.png" width="600"></a>
+<br>
+<i>Figure: Items with Python editor window.</i>
+</center>
+
+<p>
+The resultant model for Graphical Modeler is available
+<a href="g_gui_gmodeler_zipcodes_avg_elevation.gxm">here</a>.
+
+<p>
+After model is run with <img src="icons/execute.png" alt="run"> button
+and inputs are set, results can be displayed as follows:
+
+<center>
+<a href="g_gui_gmodeler_avg_run.png"><img src="g_gui_gmodeler_avg_run.png" width="500"></a>
+<a href="g_gui_gmodeler_avg_map.png"><img src="g_gui_gmodeler_avg_map.png" width="300"></a>
+<br>
+<i>Figure: Average elevation for zipcodes using North Carolina sample dataset as 
+automatic calculation performed by Graphical Modeler.</i>
+</center>
+
+<p>
+When one wants to run model again with the same data or the same names, it is 
+necessary to use <tt>--overwrite</tt> option. It will cause maps with identical 
+names to be overwritten. Instead of setting it for every 
+module separately it is handy to change Model Property settings globally.
+This dialog includes also metadata settings, where model name, model description 
+and autor(s) of model can be set.
+
+<center>
+<a href="g_gui_gmodeler_model_properties.png">
+<img src="g_gui_gmodeler_model_properties.png" width="350"></a>
+<br>
+<i>Figure: Model properties.</i>
+</center>
+
+<p>
+Another useful trick is the possibility to set variables. Their content can be used 
+as a substitute for other items. Value of variables can be values such as 
+raster or vector data, integer, float, string value or they may constitute some 
+region, mapset, file or direction data type.   
+
+Then it is not
+necessary to set any parameters for input data. Dialog with viariable settings 
+is automatically displayed after model is run. So, instead of Model parameters 
+(e.g. <tt>r.import</tt> a <tt>v.import</tt>, see 
+<em><a href="g_gui_gmodeler_avg_run.png">Run model dialog</a></em> above) 
+there are <tt>Variables</tt>.
+
+<center>
+<a href="g_gui_gmodeler_variables_run.png">
+<img src="g_gui_gmodeler_variables_run.png" width="500"></a>
+<br>
+<i>Figure: Model with variable inputs.</i>
+</center>
+
+<p>
+The key point is usage of <tt>%</tt> before the substituting variable and 
+settings in Variables dialog. For example, when there is a model variable 
+<tt>raster</tt> that references a file path and that value is required to be 
+used as one of inputs to a particular model, it should be specified in Variable 
+dialog with competent name (<tt>raster</tt>), data type, default value and 
+description. Then it should be set in module dialog as input called 
+<tt>%raster</tt>.
+
+<center>
+<a href="g_gui_gmodeler_variables.png">
+<img src="g_gui_gmodeler_variables.png" width="600"></a>
+<br>
+<i>Figure: Example of raster file variable settings.</i>
+</center>
+
+<br>
+<center>
+<a href="g_gui_gmodeler_variables_raster.png">
+<img src="g_gui_gmodeler_variables_raster.png" width="600"></a>
+<br>
+<i>Figure: Example of raster file variable usage.</i>
+</center>
+
+<p>
+Finally, the model settings can be stored to the file as a GRASS GIS Model 
+File <tt>*.gxm</tt> what represents very handy advantage. It can be shared as reusable 
+workflow that be run by different users with different data.
+
+<p>
+For example, this model can later be used to calculate (let's say)
+average precipe value for every administrative region in Slovakia
+using <tt>precip</tt> raster data from
+<a href="https://grass.osgeo.org/uploads/grass/sampledata/slovakia3d_grass7.tar.gz">
+Slovakia precipitation dataset</a> and administration boudaries of Slovakia from 
+<a href="https://www.geoportal.sk/sk/zbgis_smd/na-stiahnutie/">Slovak Geoportal</a>
+(only with a few clicks).
+
+<p>
+There can be some data in a model that did not exist before the process and 
+that it is not worth it to maintain after the process executes. They can 
+be described as being <tt>Intermediate</tt> by single clicking using the right 
+mouse button, see figure below. All such data should be deleted following 
+model completion. The boundary of intermediate component is dotted line.
+
+<center>
+<a href="g_gui_gmodeler_intermediate_data.png">
+<img src="g_gui_gmodeler_intermediate_data.png" width="400"></a>
+<br>
+<i>Figure: Usage and definition of intermediate data in model.</i>
+</center>
+ 
+<p>
+Using Python editor in wxGUI Graphical Modeler one can add python code and then 
+run it with <tt>Run</tt> button or just save it as python script <tt>*.py</tt>.
+Result is shown below.
+
+<center>
+<a href="g_gui_gmodeler_python_code.png">
+<img src="g_gui_gmodeler_python_code.png" width="350"></a>
+<a href="g_gui_gmodeler_python_code_result.png">
+<img src="g_gui_gmodeler_python_code_result.png" width="350"></a>
+<br>
+<i>Figure: Python editor in wxGUI Graphical Modeler.</i>
+</center>
+
+<p>
+In the example below the <a href="http://e4ftl01.cr.usgs.gov/MOLT/MOD13Q1.006/">MODIS MOD13Q1</a>
+(NDVI) satellite data products are used in a loop. The original data are 
+stored as coded integer values that need to be multiplied by the
+value <tt>0.0001</tt> to represent real <i>ndvi values</i>. Moreover, GRASS GIS
+provides a predefined color table called <tt>ndvi</tt> to represent <i>ndvi data</i>.  
+In this case it is not necessary to work with every image separately. 
+<br>
+The Graphical Modeler is an appropriate tool to 
+process data in an effective way using loop and variables (<tt>%map</tt> for a 
+particular MODIS image in mapset and <tt>%ndvi</tt> for original data name suffix). 
+After the loop component is added to model, it is necessary to define series of maps
+with required settings of map type, mapset, etc.
+
+<center>
+<a href="g_gui_gmodeler_loop_dlg.png">
+<img src="g_gui_gmodeler_loop_dlg.png" width="300"></a>
+<br>
+<i>Figure: MODIS data representation in GRASS GIS after Graphical Modeler usage.</i>
+</center>
+
+<p>
+When the model is supplemented by all of modules, these modules should be 
+ticked in the boxes of loop dialog. The final model and its results are shown below.
+
+<center>
+<a href="g_gui_gmodeler_loop_final.png">
+<img src="g_gui_gmodeler_loop_final.png" width="400"></a>
+<br>
+<i>Figure: Model with loop.</i>
+</center>
+
+<p>
+<center>
+<a href="g_gui_gmodeler_modis_1o.png">
+<img src="g_gui_gmodeler_modis_1o.png" width="300"></a>
+<a href="g_gui_gmodeler_modis_1.png">
+<img src="g_gui_gmodeler_modis_1.png" width="300"></a>
+<a href="g_gui_gmodeler_modis_2o.png">
+<img src="g_gui_gmodeler_modis_2o.png" width="300"></a><br>
+<a href="g_gui_gmodeler_modis_2.png">
+<img src="g_gui_gmodeler_modis_2.png" width="300"></a>
+<a href="g_gui_gmodeler_modis_3o.png">
+<img src="g_gui_gmodeler_modis_3o.png" width="300"></a>
+<a href="g_gui_gmodeler_modis_3.png">
+<img src="g_gui_gmodeler_modis_3.png" width="300"></a>
+<br>
+<i>Figure: MODIS data representation in GRASS GIS after Graphical Modeler usage.</i>
+</center>
+
+<p>
+The steps to enter in the command console would be as follows:
+
+<div class="code"><pre>
+# rename original image with preselected suffix
+g.rename raster = %map,%map.%ndvi
+# convert integer values
+r.mapcalc expression = %map = %map.%ndvi * 0.0001
+# set color table appropriate for nvdi data
+r.colors = map = %map color = ndvi
+</pre></div>
+
 <h2>SEE ALSO</h2>
 
 <em>
@@ -50,8 +421,8 @@ The Graphical Modeler allows you to:
 </em>
 
 <p>
-User-defined models available
-from <a href="http://svn.osgeo.org/grass/grass-addons/wxgui_modeler">SVN</a>.
+See also selected user models available from this 
+<a href="http://svn.osgeo.org/grass/grass-addons/grass7/models">SVN repository</a>.
 
 <p>
 See also
@@ -59,9 +430,10 @@ the <a href="http://grasswiki.osgeo.org/wiki/WxGUI_Graphical_Modeler">wiki</a> p
 (especially various <a href="http://grasswiki.osgeo.org/wiki/WxGUI_Graphical_Modeler#Video_tutorials">video
 tutorials</a>).
 
-<h2>AUTHOR</h2>
+<h2>AUTHORS</h2>
 
-Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic
+Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic<br>
+Various manual improvements by Ludmila Furkevicova, Slovak University of Technology in Bratislava, Slovak Republic
 
 <p>
-<i>$Date: 2015-02-14 13:09:41 +0100 (Sat, 14 Feb 2015) $</i>
+<i>$Date: 2016-03-18 09:46:45 -0700 (Fri, 18 Mar 2016) $</i>
diff --git a/gui/wxpython/gmodeler/g.gui.gmodeler.py b/gui/wxpython/gmodeler/g.gui.gmodeler.py
index f29e815..1f9e204 100755
--- a/gui/wxpython/gmodeler/g.gui.gmodeler.py
+++ b/gui/wxpython/gmodeler/g.gui.gmodeler.py
@@ -36,11 +36,14 @@
 
 import grass.script as gscript
 
-
 def main():
     options, flags = gscript.parser()
 
     import wx
+    
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.giface import StandaloneGrassInterface
     from core.globalvar import CheckWxVersion
     from gmodeler.frame import ModelFrame
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_avg_map.png b/gui/wxpython/gmodeler/g_gui_gmodeler_avg_map.png
new file mode 100644
index 0000000..7264210
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_avg_map.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_avg_run.png b/gui/wxpython/gmodeler/g_gui_gmodeler_avg_run.png
new file mode 100644
index 0000000..9b0eddb
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_avg_run.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_comment.png b/gui/wxpython/gmodeler/g_gui_gmodeler_comment.png
new file mode 100644
index 0000000..009d568
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_comment.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_db.png b/gui/wxpython/gmodeler/g_gui_gmodeler_db.png
new file mode 100644
index 0000000..b0810b2
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_db.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_dlg_module.png b/gui/wxpython/gmodeler/g_gui_gmodeler_dlg_module.png
new file mode 100644
index 0000000..6d1e923
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_dlg_module.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_intermediate_data.png b/gui/wxpython/gmodeler/g_gui_gmodeler_intermediate_data.png
new file mode 100644
index 0000000..446b266
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_intermediate_data.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_items.png b/gui/wxpython/gmodeler/g_gui_gmodeler_items.png
new file mode 100644
index 0000000..976bb12
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_items.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_loop.png b/gui/wxpython/gmodeler/g_gui_gmodeler_loop.png
new file mode 100644
index 0000000..ef12da3
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_loop.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_loop_dlg.png b/gui/wxpython/gmodeler/g_gui_gmodeler_loop_dlg.png
new file mode 100644
index 0000000..aa792fe
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_loop_dlg.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_loop_final.png b/gui/wxpython/gmodeler/g_gui_gmodeler_loop_final.png
new file mode 100644
index 0000000..931ce40
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_loop_final.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_lower_toolbar.png b/gui/wxpython/gmodeler/g_gui_gmodeler_lower_toolbar.png
new file mode 100644
index 0000000..63d5c4c
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_lower_toolbar.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png
new file mode 100644
index 0000000..8e6297e
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mcomment.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png
new file mode 100644
index 0000000..6d75a99
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mdb.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png
new file mode 100644
index 0000000..49cdc2f
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mloop.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png
new file mode 100644
index 0000000..897adcb
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mmodule.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png
new file mode 100644
index 0000000..583b29d
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mmodulex.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_model_avg.png b/gui/wxpython/gmodeler/g_gui_gmodeler_model_avg.png
new file mode 100644
index 0000000..57175a1
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_model_avg.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_model_classification.png b/gui/wxpython/gmodeler/g_gui_gmodeler_model_classification.png
new file mode 100644
index 0000000..03ff551
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_model_classification.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_model_landslides.png b/gui/wxpython/gmodeler/g_gui_gmodeler_model_landslides.png
new file mode 100644
index 0000000..26df9a8
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_model_landslides.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_model_properties.png b/gui/wxpython/gmodeler/g_gui_gmodeler_model_properties.png
new file mode 100644
index 0000000..3e65565
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_model_properties.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_model_usle.png b/gui/wxpython/gmodeler/g_gui_gmodeler_model_usle.png
new file mode 100644
index 0000000..b703f3d
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_model_usle.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_modis_1.png b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_1.png
new file mode 100644
index 0000000..bd35562
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_1.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_modis_1o.png b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_1o.png
new file mode 100644
index 0000000..80f8f96
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_1o.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_modis_2.png b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_2.png
new file mode 100644
index 0000000..7cbde59
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_2.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_modis_2o.png b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_2o.png
new file mode 100644
index 0000000..6e8e270
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_2o.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_modis_3.png b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_3.png
new file mode 100644
index 0000000..8f708ed
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_3.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_modis_3o.png b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_3o.png
new file mode 100644
index 0000000..fc1d832
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_modis_3o.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_modul.png b/gui/wxpython/gmodeler/g_gui_gmodeler_modul.png
new file mode 100644
index 0000000..8816927
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_modul.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_modulex.png b/gui/wxpython/gmodeler/g_gui_gmodeler_modulex.png
new file mode 100644
index 0000000..583b29d
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_modulex.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png
new file mode 100644
index 0000000..e3f0046
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mraster.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png
new file mode 100644
index 0000000..31d87d9
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mraster3d.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png
new file mode 100644
index 0000000..c1d164f
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mrelation.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png b/gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png
new file mode 100644
index 0000000..3130ddb
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_mvector.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png b/gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png
new file mode 100644
index 0000000..7cda701
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_parameter.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_python.png b/gui/wxpython/gmodeler/g_gui_gmodeler_python.png
new file mode 100644
index 0000000..8f9cc07
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_python.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_python_code.png b/gui/wxpython/gmodeler/g_gui_gmodeler_python_code.png
new file mode 100644
index 0000000..77b3ea6
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_python_code.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_python_code_result.png b/gui/wxpython/gmodeler/g_gui_gmodeler_python_code_result.png
new file mode 100644
index 0000000..f11b702
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_python_code_result.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_raster.png b/gui/wxpython/gmodeler/g_gui_gmodeler_raster.png
new file mode 100644
index 0000000..c5f8e60
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_raster.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_raster3d.png b/gui/wxpython/gmodeler/g_gui_gmodeler_raster3d.png
new file mode 100644
index 0000000..79032f1
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_raster3d.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_relation.png b/gui/wxpython/gmodeler/g_gui_gmodeler_relation.png
new file mode 100644
index 0000000..22815f5
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_relation.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png b/gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png
new file mode 100644
index 0000000..4e20958
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_toolbar.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_variables.png b/gui/wxpython/gmodeler/g_gui_gmodeler_variables.png
new file mode 100644
index 0000000..70d6aec
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_variables.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_variables_raster.png b/gui/wxpython/gmodeler/g_gui_gmodeler_variables_raster.png
new file mode 100644
index 0000000..c6d0d27
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_variables_raster.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_variables_run.png b/gui/wxpython/gmodeler/g_gui_gmodeler_variables_run.png
new file mode 100644
index 0000000..04c6c39
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_variables_run.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_vector.png b/gui/wxpython/gmodeler/g_gui_gmodeler_vector.png
new file mode 100644
index 0000000..c21ceca
Binary files /dev/null and b/gui/wxpython/gmodeler/g_gui_gmodeler_vector.png differ
diff --git a/gui/wxpython/gmodeler/g_gui_gmodeler_zipcodes_avg_elevation.gxm b/gui/wxpython/gmodeler/g_gui_gmodeler_zipcodes_avg_elevation.gxm
new file mode 100644
index 0000000..dfccc51
--- /dev/null
+++ b/gui/wxpython/gmodeler/g_gui_gmodeler_zipcodes_avg_elevation.gxm
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE gxm SYSTEM "grass-gxm.dtd">
+<gxm>
+    <window pos="47,27" size="1022,548" />
+    <properties>
+        <name>zipcodes_avg_elevation</name>
+        <description>Sample model for wxGUI Graphical Modeler.</description>
+        <author>ludka</author>
+    </properties>
+    <variables>
+        <variable name="raster" type="file">
+            <value>/opt/geodata/ncrast/elev_state_500m.tif</value>
+            <description>Input raster</description>
+        </variable>
+        <variable name="vector" type="file">
+            <value>/opt/geodata/ncshape/zipcodes_wake.shp</value>
+            <description>Input boundaries</description>
+        </variable>
+    </variables>
+    <action id="1" name="r.import" pos="85,65" size="110,58">
+        <comment>raster import</comment>
+        <task name="r.import">
+            <parameter name="input">
+                <value>%raster</value>
+            </parameter>
+            <parameter name="memory">
+                <value>300</value>
+            </parameter>
+            <parameter name="output">
+                <value>elevation</value>
+            </parameter>
+            <parameter name="resample">
+                <value>nearest</value>
+            </parameter>
+            <parameter name="extent">
+                <value>input</value>
+            </parameter>
+            <parameter name="resolution">
+                <value>estimated</value>
+            </parameter>
+            <flag name="overwrite" />
+        </task>
+    </action>
+    <action id="2" name="v.import" pos="85,125" size="110,46">
+        <comment>vector import</comment>
+        <task name="v.import">
+            <parameter name="input">
+                <value>%vector</value>
+            </parameter>
+            <parameter name="output">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="extent">
+                <value>input</value>
+            </parameter>
+            <parameter name="snap">
+                <value>1e-13</value>
+            </parameter>
+            <flag name="o" />
+            <flag name="overwrite" />
+        </task>
+    </action>
+    <action id="3" name="g.region" pos="85,180" size="110,52">
+        <comment>region settings</comment>
+        <task name="g.region">
+            <parameter name="vector">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="res">
+                <value>10</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="4" name="v.rast.stats" pos="460,65" size="148,46">
+        <comment>method = average</comment>
+        <task name="v.rast.stats">
+            <parameter name="map">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="raster">
+                <value>elevation</value>
+            </parameter>
+            <parameter name="column_prefix">
+                <value>rst</value>
+            </parameter>
+            <parameter name="method">
+                <value>average</value>
+            </parameter>
+            <parameter name="percentile">
+                <value>90</value>
+            </parameter>
+            <flag name="c" />
+        </task>
+    </action>
+    <action id="5" name="v.db.univar" pos="240,205" size="108,50">
+        <task name="v.db.univar">
+            <parameter name="map">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="column">
+                <value>rst_average</value>
+            </parameter>
+            <parameter name="percentile">
+                <value>90</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="6" name="v.to.rast" pos="405,185" size="114,42">
+        <comment>average raster</comment>
+        <task name="v.to.rast">
+            <parameter name="input">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="type">
+                <value>point,line,area</value>
+            </parameter>
+            <parameter name="output">
+                <value>zipcodes_avg</value>
+            </parameter>
+            <parameter name="use">
+                <value>attr</value>
+            </parameter>
+            <parameter name="attribute_column">
+                <value>rst_average</value>
+            </parameter>
+            <parameter name="value">
+                <value>1</value>
+            </parameter>
+            <parameter name="memory">
+                <value>300</value>
+            </parameter>
+            <flag name="overwrite" />
+        </task>
+    </action>
+    <action id="7" name="r.colors" pos="385,250" size="116,44">
+        <comment>bgyr color table</comment>
+        <task name="r.colors">
+            <parameter name="map">
+                <value>zipcodes_avg</value>
+            </parameter>
+            <parameter name="color">
+                <value>bgyr</value>
+            </parameter>
+            <flag name="e" />
+        </task>
+    </action>
+    <action id="8" name="d.mon" pos="285,310" size="122,42">
+        <comment>monitor display</comment>
+        <task name="d.mon">
+            <parameter name="start">
+                <value>wx0</value>
+            </parameter>
+            <parameter name="bgcolor">
+                <value>white</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="9" name="d.barscale" pos="595,290" size="134,38">
+        <comment>barscale display</comment>
+        <task name="d.barscale">
+            <parameter name="style">
+                <value>arrow_ends</value>
+            </parameter>
+            <parameter name="color">
+                <value>black</value>
+            </parameter>
+            <parameter name="bgcolor">
+                <value>white</value>
+            </parameter>
+            <parameter name="text_position">
+                <value>right</value>
+            </parameter>
+            <parameter name="fontsize">
+                <value>10</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="10" name="d.rast" pos="705,100" size="106,44">
+        <comment>raster display</comment>
+        <task name="d.rast">
+            <parameter name="map">
+                <value>zipcodes_avg</value>
+            </parameter>
+            <parameter name="bgcolor">
+                <value>white</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="11" name="d.vect" pos="505,125" size="130,46">
+        <comment>vector display</comment>
+        <task name="d.vect">
+            <parameter name="map">
+                <value>zipcodes_wake</value>
+            </parameter>
+            <parameter name="layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="display">
+                <value>shape</value>
+            </parameter>
+            <parameter name="type">
+                <value>boundary</value>
+            </parameter>
+            <parameter name="color">
+                <value>black</value>
+            </parameter>
+            <parameter name="fill_color">
+                <value>200:200:200</value>
+            </parameter>
+            <parameter name="width">
+                <value>0</value>
+            </parameter>
+            <parameter name="width_scale">
+                <value>1</value>
+            </parameter>
+            <parameter name="icon">
+                <value>basic/x</value>
+            </parameter>
+            <parameter name="size">
+                <value>5</value>
+            </parameter>
+            <parameter name="label_layer">
+                <value>1</value>
+            </parameter>
+            <parameter name="label_color">
+                <value>red</value>
+            </parameter>
+            <parameter name="label_bgcolor">
+                <value>none</value>
+            </parameter>
+            <parameter name="label_bcolor">
+                <value>none</value>
+            </parameter>
+            <parameter name="label_size">
+                <value>8</value>
+            </parameter>
+            <parameter name="xref">
+                <value>left</value>
+            </parameter>
+            <parameter name="yref">
+                <value>center</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="12" name="d.northarrow" pos="720,240" size="156,42">
+        <comment>northarrow display</comment>
+        <task name="d.northarrow">
+            <parameter name="style">
+                <value>1a</value>
+            </parameter>
+            <parameter name="at">
+                <value>85.0,15.0</value>
+            </parameter>
+            <parameter name="color">
+                <value>black</value>
+            </parameter>
+            <parameter name="fill_color">
+                <value>black</value>
+            </parameter>
+            <parameter name="width">
+                <value>0</value>
+            </parameter>
+            <parameter name="fontsize">
+                <value>10</value>
+            </parameter>
+        </task>
+    </action>
+    <action id="13" name="d.legend" pos="440,310" size="138,46">
+        <comment>legend display</comment>
+        <task name="d.legend">
+            <parameter name="raster">
+                <value>zipcodes_avg</value>
+            </parameter>
+            <parameter name="lines">
+                <value>50</value>
+            </parameter>
+            <parameter name="thin">
+                <value>5</value>
+            </parameter>
+            <parameter name="labelnum">
+                <value>5</value>
+            </parameter>
+            <parameter name="color">
+                <value>black</value>
+            </parameter>
+            <parameter name="fontsize">
+                <value>10</value>
+            </parameter>
+        </task>
+    </action>
+    <data pos="265,65" size="175,50">
+        <data-parameter prompt="raster">
+            <value>elevation</value>
+        </data-parameter>
+        <relation dir="from" id="4" name="raster">
+        </relation>
+        <relation dir="to" id="1" name="output">
+        </relation>
+    </data>
+    <data pos="275,125" size="175,50">
+        <data-parameter prompt="vector">
+            <value>zipcodes_wake</value>
+        </data-parameter>
+        <relation dir="from" id="4" name="map">
+        </relation>
+        <relation dir="from" id="5" name="map">
+        </relation>
+        <relation dir="from" id="6" name="input">
+        </relation>
+        <relation dir="from" id="11" name="map">
+        </relation>
+        <relation dir="from" id="3" name="vector">
+        </relation>
+        <relation dir="to" id="2" name="output">
+        </relation>
+    </data>
+    <data pos="575,185" size="175,50">
+        <data-parameter prompt="raster">
+            <value>zipcodes_avg</value>
+        </data-parameter>
+        <relation dir="from" id="7" name="map">
+        </relation>
+        <relation dir="from" id="10" name="map">
+        </relation>
+        <relation dir="from" id="13" name="raster">
+        </relation>
+        <relation dir="to" id="6" name="output">
+        </relation>
+    </data>
+</gxm>
diff --git a/gui/wxpython/gmodeler/gmodeler_frame.png b/gui/wxpython/gmodeler/gmodeler_frame.png
deleted file mode 100644
index e741a31..0000000
Binary files a/gui/wxpython/gmodeler/gmodeler_frame.png and /dev/null differ
diff --git a/gui/wxpython/gmodeler/model.py b/gui/wxpython/gmodeler/model.py
index 31edfed..74bc101 100644
--- a/gui/wxpython/gmodeler/model.py
+++ b/gui/wxpython/gmodeler/model.py
@@ -18,7 +18,7 @@ Classes:
  - model::WritePythonFile
  - model::ModelParamDialog
 
-(C) 2010-2014 by the GRASS Development Team
+(C) 2010-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -120,14 +120,17 @@ class Model(object):
             item = self.items.pop(oldIdx)
             items.append(item)
             self.items.insert(newIdx, item)
-            nextItem = self.items[newIdx+1]
-            items.append(nextItem)
-            x = item.GetX()
-            y = item.GetY()
-            item.SetX(nextItem.GetX())
-            item.SetY(nextItem.GetY())
-            nextItem.SetX(x)
-            nextItem.SetY(y)
+            # try:
+            #     nextItem = self.items[newIdx+1]
+            # except IndexError:
+            #     continue # newIdx is the last item in the list
+            # items.append(nextItem)
+            # x = item.GetX()
+            # y = item.GetY()
+            # item.SetX(nextItem.GetX())
+            # item.SetY(nextItem.GetY())
+            # nextItem.SetX(x)
+            # nextItem.SetY(y)
 
         dc = wx.ClientDC(self.canvas)
         for item in items:
@@ -189,16 +192,18 @@ class Model(object):
         """Reset model"""
         self.items = list()
 
-    def RemoveItem(self, item):
+    def RemoveItem(self, item, reference=None):
         """Remove item from model
         
+        :item: item to be removed
+        :reference: reference item valid for deletion
+
         :return: list of related items to remove/update
         """
         relList = list()
         upList = list()
-        
-        self.items.remove(item)
-        
+        doRemove = True
+
         if isinstance(item, ModelAction):
             for rel in item.GetRelations():
                 relList.append(rel)
@@ -210,17 +215,24 @@ class Model(object):
             
         elif isinstance(item, ModelData):
             for rel in item.GetRelations():
+                otherItem = rel.GetTo() if rel.GetFrom() == item else rel.GetFrom()
+                if reference and reference != otherItem:
+                    doRemove = False
+                    continue # avoid recursive deletion
                 relList.append(rel)
-                if rel.GetFrom() == self:
-                    relList.append(rel.GetTo())
-                else:
-                    relList.append(rel.GetFrom())
-        
+                if reference and reference != otherItem:
+                    relList.append(otherItem)
+            if not doRemove:
+                upList.append(item)
+
         elif isinstance(item, ModelLoop):
             for rel in item.GetRelations():
                 relList.append(rel)
             for action in self.GetItems():
                 action.UnSetBlock(item)
+
+        if doRemove and item in self.items:
+            self.items.remove(item)
         
         return relList, upList
     
@@ -552,7 +564,7 @@ class Model(object):
         :param onPrepare: on-prepare method
         :param statusbar: wx.StatusBar instance or None
         """
-        name = item.GetLabel()
+        name = '({0}) {1}'.format(item.GetId(), item.GetLabel())
         if name in params:
             paramsOrig = item.GetParams(dcopy = True)
             item.MergeParams(params[name])
@@ -676,7 +688,7 @@ class Model(object):
                 vlist = list()
                 if condText[0] == '`' and condText[-1] == '`':
                     # run command
-                    cmd, dcmd = utils.CmdToTuple(condText[1:-1].split(' '))
+                    cmd, dcmd = gtask.cmdlist_to_tuple(condText[1:-1].split(' '))
                     ret = RunCommand(cmd,
                                      read = True,
                                      **dcmd)
@@ -811,11 +823,13 @@ class Model(object):
         for action in self.GetItems(objType = ModelAction):
             if not action.IsEnabled():
                 continue
-            name   = action.GetLabel()
+            name   = '({0}) {1}'.format(action.GetId(), action.GetLabel())
             params = action.GetParams()
+            increment = False
             for f in params['flags']:
                 if f.get('parameterized', False):
                     if name not in result:
+                        increment = True
                         result[name] = { 'flags' : list(),
                                          'params': list(),
                                          'idx'   : idx }
@@ -823,11 +837,12 @@ class Model(object):
             for p in params['params']:
                 if p.get('parameterized', False):
                     if name not in result:
+                        increment = True
                         result[name] = { 'flags' : list(),
                                          'params': list(),
                                          'idx'   : idx }
                     result[name]['params'].append(p)
-            if name in result:
+            if increment:
                 idx += 1
         
         self.variablesParams = result # record parameters
@@ -1068,17 +1083,27 @@ class ModelAction(ModelObject, ogl.DividedShape):
 
     def SetComment(self, comment):
         """Set comment"""
+        self.comment = comment
+
         if self.regionComment is None:
             self.regionComment = ogl.ShapeRegion()
             self.regionComment.SetFormatMode(ogl.FORMAT_CENTRE_HORIZ)
             font = wx.SystemSettings_GetFont(wx.SYS_DEFAULT_GUI_FONT)
             font.SetStyle(wx.ITALIC)
             self.regionComment.SetFont(font)
+
+        ### clear doesn't work
+        ### self.regionComment.ClearText()
+        self.regionComment.SetText(comment)
+
+        self.ClearRegions()
+        self.AddRegion(self.regionLabel)
+        self.regionLabel.SetProportions(0.0, 1.0)
+
+        if self.comment:
             self.AddRegion(self.regionComment)
             self.regionLabel.SetProportions(0.0, 0.4)
-            
-        self.comment = comment
-        self.regionComment.SetText(comment)
+
         self.SetRegionSizes()
         self.ReformatRegions()
 
@@ -1367,12 +1392,15 @@ class ModelData(ModelObject, ogl.EllipseShape):
         if self.prompt == 'raster':
             color = UserSettings.Get(group = 'modeler', key = 'data',
                                      subkey = ('color', 'raster'))
-        elif self.prompt == 'raster3d':
+        elif self.prompt == 'raster_3d':
             color = UserSettings.Get(group = 'modeler', key = 'data',
                                      subkey = ('color', 'raster3d'))
         elif self.prompt == 'vector':
             color = UserSettings.Get(group = 'modeler', key = 'data',
                                      subkey = ('color', 'vector'))
+        elif self.prompt == 'dbtable':
+            color = UserSettings.Get(group = 'modeler', key = 'data',
+                                     subkey = ('color', 'dbtable'))
         else:
             color = UserSettings.Get(group = 'modeler', key = 'action',
                                      subkey = ('color', 'invalid'))
@@ -2515,15 +2543,15 @@ if __name__ == "__main__":
         """
         result = ''
         ss = re.split("\w*(%"+variable+")w*", string)
-
-        if not ss[0]:
+        
+        if not ss[0] and not ss[-1]:
             if data:
                 return "options['%s']" % variable
             else:
                 return variable
         
         for s in ss:
-            if s == '"':
+            if not s or s == '"':
                 continue
             
             if s == '%' + variable:
@@ -2532,7 +2560,9 @@ if __name__ == "__main__":
                 else:
                     result += '+%s+' % variable
             else:
-                result += '"' + s + '"'
+                result += '"' + s
+                if not s.endswith(']'): # options
+                    result += '"'
         
         return result.strip('+')
 
diff --git a/gui/wxpython/gmodeler/preferences.py b/gui/wxpython/gmodeler/preferences.py
index 79060ce..40003b3 100644
--- a/gui/wxpython/gmodeler/preferences.py
+++ b/gui/wxpython/gmodeler/preferences.py
@@ -261,7 +261,24 @@ class PreferencesDialog(PreferencesBaseDialog):
                       flag = wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos = (row, 1))
+
+        row += 1
+        gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
+                                         label = _("Table:")),
+                      flag = wx.ALIGN_LEFT |
+                      wx.ALIGN_CENTER_VERTICAL,
+                      pos = (row, 0))
+        tColor = csel.ColourSelect(parent = panel, id = wx.ID_ANY,
+                                   colour = self.settings.Get(group='modeler', key='data', subkey=('color', 'dbtable')),
+                                   size = globalvar.DIALOG_COLOR_SIZE)
+        tColor.SetName('GetColour')
+        self.winId['modeler:data:color:dbtable'] = tColor.GetId()
         
+        gridSizer.Add(item = tColor,
+                      flag = wx.ALIGN_RIGHT |
+                      wx.ALIGN_CENTER_VERTICAL,
+                      pos = (row, 1))
+
         gridSizer.AddGrowableCol(0)
         sizer.Add(item = gridSizer, proportion = 1, flag = wx.ALL | wx.EXPAND, border = 5)
         border.Add(item = sizer, proportion = 0, flag = wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border = 3)
diff --git a/gui/wxpython/gui_core/dialogs.py b/gui/wxpython/gui_core/dialogs.py
index 6d0dbe1..9cf41f8 100644
--- a/gui/wxpython/gui_core/dialogs.py
+++ b/gui/wxpython/gui_core/dialogs.py
@@ -12,18 +12,13 @@ List of classes:
  - :class:`SavedRegion`
  - :class:`GroupDialog`
  - :class:`MapLayersDialog`
- - :class:`ImportDialog`
- - :class:`GdalImportDialog`
- - :class:`GdalOutputDialog`
- - :class:`DxfImportDialog`
- - :class:`LayersList` (used by MultiImport)
  - :class:`SetOpacityDialog`
  - :class:`ImageSizeDialog`
  - :class:`SqlQueryFrame`
  - :class:`SymbolDialog`
  - :class:`QuitDialog`
 
-(C) 2008-2015 by the GRASS Development Team
+(C) 2008-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -35,25 +30,21 @@ This program is free software under the GNU General Public License
 import os
 import sys
 import re
-from bisect import bisect
 
 import wx
-import wx.lib.filebrowsebutton as filebrowse
-import wx.lib.mixins.listctrl as listmix
 
 from grass.script import core as grass
-from grass.script import task as gtask
+from grass.script.utils import natural_sort
 
 from grass.pydispatch.signal import Signal
 
 from core import globalvar
-from core.gcmd import GError, RunCommand, GMessage, GWarning
+from core.gcmd import GError, RunCommand, GMessage
 from gui_core.gselect import LocationSelect, MapsetSelect, Select, \
-                             OgrTypeSelect, GdalSelect, MapsetSelect, \
-                             SubGroupSelect
-from gui_core.widgets import SingleSymbolPanel, GListCtrl, SimpleValidator
-from core.utils import GetValidLayerName, _
-from core.settings import UserSettings, GetDisplayVectSettings
+                             OgrTypeSelect, SubGroupSelect
+from gui_core.widgets import SingleSymbolPanel, GListCtrl, SimpleValidator, MapValidator
+from core.utils import _
+from core.settings import UserSettings
 from core.debug import Debug
 
 class SimpleDialog(wx.Dialog):
@@ -200,7 +191,7 @@ class VectorDialog(SimpleDialog):
         
         self.element = Select(parent = self.panel, id = wx.ID_ANY, size = globalvar.DIALOG_GSELECT_SIZE,
                               type = 'vector', layerTree = layerTree,
-                              validator = SimpleValidator(callback = self.ValidatorCallback))
+                              validator = MapValidator())
         self.element.SetFocus()
         
         self.warning = _("Name of vector map is missing.")
@@ -1414,7 +1405,7 @@ class MapLayersDialogBase(wx.Dialog):
         :param str mapset: mapset name
         """
         self.map_layers = grass.list_grouped(type = type)[mapset]
-        self.layers.Set(self.map_layers)
+        self.layers.Set(natural_sort(self.map_layers))
         
         # check all items by default
         for item in range(self.layers.GetCount()):
@@ -1480,7 +1471,8 @@ class MapLayersDialogBase(wx.Dialog):
                     list.append(layer)
             except:
                 pass
-        
+        list = natural_sort(list)
+
         self.layers.Set(list)
         self.OnSelectAll(None)
         
@@ -1598,687 +1590,6 @@ class MapLayersDialogForModeler(MapLayersDialogBase):
         
         return cond
 
-    
-class ImportDialog(wx.Dialog):
-    """Dialog for bulk import of various data (base class)"""
-    def __init__(self, parent, giface, itype,
-                 id = wx.ID_ANY, title = _("Multiple import"),
-                 style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
-        self.parent = parent    # GMFrame 
-        self._giface = giface  # used to add layers
-        self.importType = itype
-        self.options = dict()   # list of options
-        self.options_par = dict()
-        
-        self.commandId = -1  # id of running command
-        
-        wx.Dialog.__init__(self, parent, id, title, style = style,
-                           name = "MultiImportDialog")
-        
-        self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
-        
-        self.layerBox = wx.StaticBox(parent = self.panel, id = wx.ID_ANY)
-        if self.importType == 'gdal':
-            label = _("List of raster layers")
-        elif self.importType == 'ogr':
-            label = _("List of vector layers")
-        else:
-            label = _("List of %s layers") % self.importType.upper()
-        self.layerBox.SetLabel(" %s - %s " % (label, _("right click to (un)select all")))
-        
-        # list of layers
-        columns = [_('Layer id'),
-                   _('Layer name'),
-                   _('Name for output GRASS map (editable)')]
-        if itype == 'ogr':
-            columns.insert(2, _('Feature type'))
-            columns.insert(3, _('Projection match'))
-
-        self.list = LayersList(parent = self.panel, columns = columns)
-        self.list.LoadData()
-
-        self.optionBox = wx.StaticBox(parent = self.panel, id = wx.ID_ANY,
-                                      label = "%s" % _("Options"))
-        
-        cmd = self._getCommand()
-        task = gtask.parse_interface(cmd)
-        for f in task.get_options()['flags']:
-            name = f.get('name', '')
-            desc = f.get('label', '')
-            if not desc:
-                desc = f.get('description', '')
-            if not name and not desc:
-                continue
-            if cmd == 'r.in.gdal' and name not in ('o', 'e', 'l', 'k'):
-                continue
-            elif cmd == 'r.external' and name not in ('o', 'e', 'r', 'h', 'v'):
-                continue
-            elif cmd == 'v.in.ogr' and name not in ('c', 'z', 't', 'o', 'r', 'e', 'w'):
-                continue
-            elif cmd == 'v.external' and name not in ('b'):
-                continue
-            elif cmd == 'v.in.dxf' and name not in ('e', 't', 'b', 'f', 'i'):
-                continue
-            self.options[name] = wx.CheckBox(parent = self.panel, id = wx.ID_ANY,
-                                             label = desc)
-        
-        for p in task.get_options()['params']:
-            name = p.get('name', '')
-            desc = p.get('label', '')
-            if not desc:
-                desc = p.get('description', '')
-            if not name and not desc:
-                continue
-            if cmd == 'v.in.ogr' and name == 'encoding':
-                self.options_par[name] = (_('Encoding'),
-                                          wx.TextCtrl(parent = self.panel, id = wx.ID_ANY))
-        
-        self.overwrite = wx.CheckBox(parent = self.panel, id = wx.ID_ANY,
-                                     label = _("Allow output files to overwrite existing files"))
-        self.overwrite.SetValue(UserSettings.Get(group = 'cmd', key = 'overwrite', subkey = 'enabled'))
-        
-        self.add = wx.CheckBox(parent = self.panel, id = wx.ID_ANY)
-        self.closeOnFinish = wx.CheckBox(parent = self.panel, id = wx.ID_ANY,
-                                     label = _("Close dialog on finish"))
-        self.closeOnFinish.SetValue(UserSettings.Get(group = 'cmd', key = 'closeDlg', subkey = 'enabled'))
-        
-        #
-        # buttons
-        #
-        # cancel
-        self.btn_close = wx.Button(parent = self.panel, id = wx.ID_CLOSE)
-        self.btn_close.SetToolTipString(_("Close dialog"))
-        self.btn_close.Bind(wx.EVT_BUTTON, self.OnClose)
-        # run
-        self.btn_run = wx.Button(parent = self.panel, id = wx.ID_OK, label = _("&Import"))
-        self.btn_run.SetToolTipString(_("Import selected layers"))
-        self.btn_run.SetDefault()
-        self.btn_run.Bind(wx.EVT_BUTTON, self.OnRun)
-
-        self.Bind(wx.EVT_CLOSE, lambda evt: self.Destroy())
-        
-    def doLayout(self):
-        """Do layout"""
-        dialogSizer = wx.BoxSizer(wx.VERTICAL)
-        
-        # dsn input
-        dialogSizer.Add(item = self.dsnInput, proportion = 0,
-                        flag = wx.EXPAND)
-        
-        #
-        # list of DXF layers
-        #
-        layerSizer = wx.StaticBoxSizer(self.layerBox, wx.HORIZONTAL)
-
-        layerSizer.Add(item = self.list, proportion = 1,
-                      flag = wx.ALL | wx.EXPAND, border = 5)
-        
-        dialogSizer.Add(item = layerSizer, proportion = 1,
-                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border = 5)
-
-        # options
-        optionSizer = wx.StaticBoxSizer(self.optionBox, wx.VERTICAL)
-        for key in self.options.keys():
-            optionSizer.Add(item = self.options[key], proportion = 0)
-        if self.options_par:
-            gridBox = wx.GridBagSizer(vgap = 5, hgap = 5)
-            row = 0
-            for label, win in self.options_par.itervalues():
-                gridBox.Add(item = wx.StaticText(parent = self.panel, id = wx.ID_ANY,
-                                                 label = label + ':'),
-                            pos = (row, 0), flag = wx.ALIGN_CENTER_VERTICAL)
-                gridBox.Add(item = win, pos = (row, 1), flag = wx.EXPAND)
-                row += 1
-            
-            gridBox.AddGrowableCol(1)
-            optionSizer.Add(item = gridBox, proportion = 0,
-                            flag = wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border = 5)
-        
-        dialogSizer.Add(item = optionSizer, proportion = 0,
-                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border = 5)
-        
-        dialogSizer.Add(item = self.overwrite, proportion = 0,
-                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
-        
-        dialogSizer.Add(item = self.add, proportion = 0,
-                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
-        
-        dialogSizer.Add(item = self.closeOnFinish, proportion = 0,
-                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
-        #
-        # buttons
-        #
-        btnsizer = wx.BoxSizer(orient = wx.HORIZONTAL)
-        
-        btnsizer.Add(item = self.btn_close, proportion = 0,
-                     flag = wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
-                     border = 10)
-        
-        btnsizer.Add(item = self.btn_run, proportion = 0,
-                     flag = wx.RIGHT | wx.ALIGN_CENTER,
-                     border = 10)
-        
-        dialogSizer.Add(item = btnsizer, proportion = 0,
-                        flag = wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.ALIGN_RIGHT,
-                        border = 10)
-        
-        # dialogSizer.SetSizeHints(self.panel)
-        self.panel.SetAutoLayout(True)
-        self.panel.SetSizer(dialogSizer)
-        dialogSizer.Fit(self.panel)
-        
-        # auto-layout seems not work here - FIXME
-        size = wx.Size(globalvar.DIALOG_GSELECT_SIZE[0] + 225, 550)
-        self.SetMinSize(size)
-        self.SetSize((size.width, size.height + 100))
-        # width = self.GetSize()[0]
-        # self.list.SetColumnWidth(col = 1, width = width / 2 - 50)
-        self.Layout()
-
-    def _getCommand(self):
-        """Get command"""
-        return ''
-    
-    def OnClose(self, event = None):
-        """Close dialog"""
-        self.Close()
-
-    def OnRun(self, event):
-        """Import/Link data (each layes as separate vector map)"""
-        pass
-
-    def AddLayers(self, returncode, cmd = None, userData = None):
-        """Add imported/linked layers into layer tree"""
-        if not self.add.IsChecked() or returncode != 0:
-            return
-
-        # TODO: if importing map creates more map the folowing does not work
-        # * do nothing if map does not exist or
-        # * try to determine names using regexp or
-        # * persuade import tools to report map names
-        self.commandId += 1
-        layer, output = self.list.GetLayers()[self.commandId]
-        
-        if '@' not in output:
-            name = output + '@' + grass.gisenv()['MAPSET']
-        else:
-            name = output
-        
-        # add imported layers into layer tree
-        # an alternative would be emit signal (mapCreated) and (optionally)
-        # connect to this signal
-        llist = self._giface.GetLayerList()
-        if self.importType == 'gdal':
-            if userData:
-                nBands = int(userData.get('nbands', 1))
-            else:
-                nBands = 1
-            
-            if UserSettings.Get(group = 'rasterLayer', key = 'opaque', subkey = 'enabled'):
-                nFlag = True
-            else:
-                nFlag = False
-            
-            for i in range(1, nBands+1):
-                nameOrig = name
-                if nBands > 1:
-                    mapName, mapsetName = name.split('@')
-                    mapName += '.%d' % i
-                    name = mapName + '@' + mapsetName
-                    
-                cmd = ['d.rast',
-                       'map=%s' % name]
-                if nFlag:
-                    cmd.append('-n')
-                
-                llist.AddLayer(ltype='raster',
-                               name=name, checked=True,
-                               cmd=cmd)
-                name = nameOrig
-        else:
-            llist.AddLayer(ltype='vector',
-                           name=name, checked=True,
-                           cmd=['d.vect',
-                                'map=%s' % name] + GetDisplayVectSettings())
-
-        self._giface.GetMapWindow().ZoomToMap()
-
-    def OnAbort(self, event):
-        """Abort running import
-
-        .. todo::
-            not yet implemented
-        """
-        pass
-
-    def OnCmdDone(self, event):
-        """Do what has to be done after importing"""
-        pass
-
-
-class GdalImportDialog(ImportDialog):
-    def __init__(self, parent, giface, ogr = False, link = False):
-        """Dialog for bulk import of various raster/vector data
-
-        .. todo::
-            Split into GdalImportDialog and OgrImportDialog
-
-        :param parent: parent window
-        :param ogr: True for OGR (vector) otherwise GDAL (raster)
-        :param link: True for linking data otherwise importing data
-        """
-        self._giface = giface
-        self.link = link
-        self.ogr  = ogr
-        
-        if ogr:
-            ImportDialog.__init__(self, parent, giface=giface, itype='ogr')
-            if link:
-                self.SetTitle(_("Link external vector data"))
-            else:
-                self.SetTitle(_("Import vector data"))
-        else:
-            ImportDialog.__init__(self, parent, giface=giface, itype='gdal') 
-            if link:
-                self.SetTitle(_("Link external raster data"))
-            else:
-                self.SetTitle(_("Import raster data"))
-        
-        self.dsnInput = GdalSelect(parent = self, panel = self.panel,
-                                   ogr = ogr, link = link)
-        self.dsnInput.reloadDataRequired.connect(lambda data: self.list.LoadData(data))
-
-        if link:
-            self.add.SetLabel(_("Add linked layers into layer tree"))
-        else:
-            self.add.SetLabel(_("Add imported layers into layer tree"))
-        
-        self.add.SetValue(UserSettings.Get(group = 'cmd', key = 'addNewLayer', subkey = 'enabled'))
-
-        if link:
-            self.btn_run.SetLabel(_("&Link"))
-            self.btn_run.SetToolTipString(_("Link selected layers"))
-        else:
-            self.btn_run.SetLabel(_("&Import"))
-            self.btn_run.SetToolTipString(_("Import selected layers"))
-
-        self.doLayout()
-
-    def OnRun(self, event):
-        """Import/Link data (each layes as separate vector map)"""
-        self.commandId = -1
-        data = self.list.GetLayers()
-        if not data:
-            GMessage(_("No layers selected. Operation canceled."),
-                     parent = self)
-            return
-        
-        dsn  = self.dsnInput.GetDsn()
-        ext  = self.dsnInput.GetFormatExt()
-        
-        # determine data driver for PostGIS links
-        self.popOGR = False
-        if self.importType == 'ogr' and \
-                self.dsnInput.GetType() == 'db' and \
-                self.dsnInput.GetFormat() == 'PostgreSQL' and \
-                'GRASS_VECTOR_OGR' not in os.environ:
-            self.popOGR = True
-            os.environ['GRASS_VECTOR_OGR'] = '1'
-        
-        for layer, output in data:
-            userData = {}
-            if self.importType == 'ogr':
-                if ext and layer.rfind(ext) > -1:
-                    layer = layer.replace('.' + ext, '')
-                if '|' in layer:
-                    layer, geometry = layer.split('|', 1)
-                else:
-                    geometry = None
-                if self.link:
-                    cmd = ['v.external',
-                           'input=%s' % dsn,
-                           'output=%s' % output,
-                           'layer=%s' % layer]
-                else:
-                    cmd = ['v.in.ogr',
-                           'input=%s' % dsn,
-                           'layer=%s' % layer,
-                           'output=%s' % output]
-                    if geometry:
-                        cmd.append('geometry=%s' % geometry)
-            else: # gdal
-                if self.dsnInput.GetType() == 'dir':
-                    idsn = os.path.join(dsn, layer)
-                else:
-                    idsn = dsn
-
-                # check number of bands
-                nBandsStr = RunCommand('r.in.gdal',
-                                       flags = 'p',
-                                       input = idsn, read = True)
-                nBands = -1
-                if nBandsStr:
-                    try:
-                        nBands = int(nBandsStr.rstrip('\n'))
-                    except:
-                        pass
-                if nBands < 0:
-                    GWarning(_("Unable to determine number of raster bands"),
-                             parent = self)
-                    nBands = 1
-
-                userData['nbands'] = nBands
-                if self.link:
-                    cmd = ['r.external',
-                           'input=%s' % idsn,
-                           'output=%s' % output]
-                else:
-                    cmd = ['r.in.gdal',
-                           'input=%s' % idsn,
-                           'output=%s' % output]
-                    if nBands > 1:
-                        cmd.append('-k')
-            
-            if self.overwrite.IsChecked():
-                cmd.append('--overwrite')
-            
-            for key in self.options.keys():
-                if self.options[key].IsChecked():
-                    cmd.append('-%s' % key)
-            for key in self.options_par.keys():
-                value = self.options_par[key][1].GetValue()
-                if value:
-                    cmd.append('%s=%s' % (key, value))
-            
-            if UserSettings.Get(group = 'cmd', key = 'overwrite', subkey = 'enabled') and \
-                    '--overwrite' not in cmd:
-                cmd.append('--overwrite')
-            
-            # run in Layer Manager
-            self._giface.RunCmd(cmd, onDone = self.OnCmdDone, userData = userData)
-
-    def OnCmdDone(self, event):
-        """Load layers and close if required"""
-        if not hasattr(self, 'AddLayers'):
-            return
-
-        self.AddLayers(event.returncode, event.cmd, event.userData)
-
-        if self.popOGR:
-            os.environ.pop('GRASS_VECTOR_OGR')
-
-        if event.returncode == 0 and self.closeOnFinish.IsChecked():
-            self.Close()
-
-    def _getCommand(self):
-        """Get command"""
-        if self.link:
-            if self.ogr:
-                return 'v.external'
-            else:
-                return 'r.external'
-        else:
-            if self.ogr:
-                return 'v.in.ogr'
-            else:
-                return 'r.in.gdal'
-        
-        return ''
-
-class GdalOutputDialog(wx.Dialog):
-    def __init__(self, parent, id = wx.ID_ANY, ogr = False,
-                 style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER, *kwargs):
-        """Dialog for setting output format for rasters/vectors
-
-        .. todo::
-            Split into GdalOutputDialog and OgrOutputDialog
-
-        :param parent: parent window
-        :param id: window id
-        :param ogr: True for OGR (vector) otherwise GDAL (raster)
-        :param style: window style
-        :param *kwargs: other wx.Dialog's arguments
-        """
-        self.parent = parent # GMFrame 
-        self.ogr = ogr
-        wx.Dialog.__init__(self, parent, id = id, style = style, *kwargs)
-        if self.ogr:
-            self.SetTitle(_("Define output format for vector data"))
-        else:
-            self.SetTitle(_("Define output format for raster data"))
-        
-        self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
-
-        # buttons
-        self.btnCancel = wx.Button(parent = self.panel, id = wx.ID_CANCEL)
-        self.btnCancel.SetToolTipString(_("Close dialog"))
-        self.btnOk = wx.Button(parent = self.panel, id = wx.ID_OK)
-        self.btnOk.SetToolTipString(_("Set external format and close dialog"))
-        self.btnOk.SetDefault()
-        
-        self.dsnInput = GdalSelect(parent = self, panel = self.panel,
-                                   ogr = ogr,
-                                   exclude = ['file', 'protocol'], dest = True)
-        
-        self.Bind(wx.EVT_BUTTON, self.OnCancel, self.btnCancel)
-        self.Bind(wx.EVT_BUTTON, self.OnOK, self.btnOk)
-        
-        self._layout()
-
-    def _layout(self):
-        dialogSizer = wx.BoxSizer(wx.VERTICAL)
-        
-        dialogSizer.Add(item = self.dsnInput, proportion = 1,
-                        flag = wx.EXPAND)
-
-        btnSizer = wx.BoxSizer(orient = wx.HORIZONTAL)
-        btnSizer.Add(item = self.btnCancel, proportion = 0,
-                     flag = wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
-                     border = 10)
-        btnSizer.Add(item = self.btnOk, proportion = 0,
-                     flag = wx.RIGHT | wx.ALIGN_CENTER,
-                     border = 10)
-        
-        dialogSizer.Add(item = btnSizer, proportion = 0,
-                        flag = wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.TOP | wx.ALIGN_RIGHT,
-                        border = 10)
-        
-        self.panel.SetAutoLayout(True)
-        self.panel.SetSizer(dialogSizer)
-        dialogSizer.Fit(self.panel)
-
-        size = wx.Size(globalvar.DIALOG_GSELECT_SIZE[0] + 225, self.GetBestSize()[1] + 35)
-        self.SetMinSize(size)
-        self.SetSize((size.width, size.height))
-        self.Layout()
-        
-    def OnCancel(self, event):
-        self.Destroy()
-        
-    def OnOK(self, event):
-        if self.dsnInput.GetType() == 'native':
-            RunCommand('v.external.out',
-                       parent = self,
-                       flags = 'r')
-        else:
-            dsn = self.dsnInput.GetDsn()
-            frmt = self.dsnInput.GetFormat()
-            options = self.dsnInput.GetOptions()
-            if not dsn:
-                GMessage(_("No data source selected."), parent=self)
-                return
-            
-            RunCommand('v.external.out',
-                       parent = self,
-                       output = dsn, format = frmt,
-                       options = options)
-        self.Close()
-        
-class DxfImportDialog(ImportDialog):
-    """Dialog for bulk import of DXF layers"""
-    def __init__(self, parent, giface):
-        ImportDialog.__init__(self, parent, giface=giface, itype='dxf',
-                              title = _("Import DXF layers"))
-        self._giface = giface
-        self.dsnInput = filebrowse.FileBrowseButton(parent = self.panel, id = wx.ID_ANY, 
-                                                    size = globalvar.DIALOG_GSELECT_SIZE, labelText = '',
-                                                    dialogTitle = _('Choose DXF file to import'),
-                                                    buttonText = _('Browse'),
-                                                    startDirectory = os.getcwd(), fileMode = 0,
-                                                    changeCallback = self.OnSetDsn,
-                                                    fileMask = "DXF File (*.dxf)|*.dxf")
-        
-        self.add.SetLabel(_("Add imported layers into layer tree"))
-        
-        self.add.SetValue(UserSettings.Get(group = 'cmd', key = 'addNewLayer', subkey = 'enabled'))
-        
-        self.doLayout()
-
-    def _getCommand(self):
-        """Get command"""
-        return 'v.in.dxf'
-    
-    def OnRun(self, event):
-        """Import/Link data (each layes as separate vector map)"""
-        data = self.list.GetLayers()
-        if not data:
-            GMessage(_("No layers selected."), parent=self)
-            return
-        
-        # hide dialog
-        self.Hide()
-        
-        inputDxf = self.dsnInput.GetValue()
-        
-        for layer, output in data:
-            cmd = ['v.in.dxf',
-                   'input=%s' % inputDxf,
-                   'layers=%s' % layer,
-                   'output=%s' % output]
-
-            for key in self.options.keys():
-                if self.options[key].IsChecked():
-                    cmd.append('-%s' % key)
-            
-            if self.overwrite.IsChecked() or \
-                    UserSettings.Get(group = 'cmd', key = 'overwrite', subkey = 'enabled'):
-                cmd.append('--overwrite')
-            
-            # run in Layer Manager
-            self._giface.RunCmd(cmd, onDone=self.OnCmdDone)
-
-    def OnCmdDone(self, event):
-        """Load layers and close if required"""
-        if not hasattr(self, 'AddLayers'):
-            return
-
-        self.AddLayers(event.returncode, event.cmd)
-
-        if self.closeOnFinish.IsChecked():
-            self.Close()
-
-    def OnSetDsn(self, event):
-        """Input DXF file defined, update list of layer widget"""
-        path = event.GetString()
-        if not path:
-            return 
-        
-        data = list()        
-        ret = RunCommand('v.in.dxf',
-                         quiet = True,
-                         parent = self,
-                         read = True,
-                         flags = 'l',
-                         input = path)
-        if not ret:
-            self.list.LoadData()
-            return
-            
-        for line in ret.splitlines():
-            layerId = line.split(':')[0].split(' ')[1]
-            layerName = line.split(':')[1].strip()
-            grassName = GetValidLayerName(layerName)
-            data.append((layerId, layerName.strip(), grassName.strip()))
-        
-        self.list.LoadData(data)
-
-
-class LayersList(GListCtrl, listmix.TextEditMixin):
-    """List of layers to be imported (dxf, shp...)"""
-    def __init__(self, parent, columns, log = None):
-        GListCtrl.__init__(self, parent)
-        
-        self.log = log
-        
-        # setup mixins
-        listmix.TextEditMixin.__init__(self)
-        
-        for i in range(len(columns)):
-            self.InsertColumn(i, columns[i])
-        
-        if len(columns) == 3:
-            width = (65, 200)
-        else:
-            width = (65, 180, 90, 70)
-        
-        for i in range(len(width)):
-            self.SetColumnWidth(col = i, width = width[i])
-        
-    def LoadData(self, data = None):
-        """Load data into list"""
-        self.DeleteAllItems()
-        if data is None:
-            return
-        
-        for item in data:
-            index = self.InsertStringItem(sys.maxint, str(item[0]))
-            for i in range(1, len(item)):
-                self.SetStringItem(index, i, item[i])
-        
-        # check by default only on one item
-        if len(data) == 1:
-            self.CheckItem(index, True)
-        
-    def OnLeftDown(self, event):
-        """Allow editing only output name
-        
-        Code taken from TextEditMixin class.
-        """
-        x, y = event.GetPosition()
-        
-        colLocs = [0]
-        loc = 0
-        for n in range(self.GetColumnCount()):
-            loc = loc + self.GetColumnWidth(n)
-            colLocs.append(loc)
-        
-        col = bisect(colLocs, x + self.GetScrollPos(wx.HORIZONTAL)) - 1
-        
-        if col == self.GetColumnCount() - 1:
-            listmix.TextEditMixin.OnLeftDown(self, event)
-        else:
-            event.Skip()
-        
-    def GetLayers(self):
-        """Get list of layers (layer name, output name)"""
-        data = []
-        item = -1
-        while True:
-            item = self.GetNextItem(item)
-            if item == -1:
-                break
-            if not self.IsChecked(item):
-                continue
-            # layer / output name
-            layer = self.GetItem(item, 1).GetText()
-            ftype = self.GetItem(item, 2).GetText()
-            if '/' in ftype:
-                layer += '|%s' % ftype.split('/', 1)[0]
-            output = self.GetItem(item, self.GetColumnCount() - 1).GetText()
-            data.append((layer, output))
-        
-        return data
-
 class SetOpacityDialog(wx.Dialog):
     """Set opacity of map layers.
     Dialog expects opacity between 0 and 1 and returns this range, too.    
@@ -2743,6 +2054,7 @@ class TextEntryDialog(wx.Dialog):
         self._textCtrl = wx.TextCtrl(self, id=wx.ID_ANY,
                                      value=defaultValue, validator=validator, style=textStyle)
         self._textCtrl.SetInitialSize(textSize)
+        wx.CallAfter(self._textCtrl.SetFocus)
         
         vbox.Add(item=self._textCtrl, proportion=0, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10)
         self._textCtrl.SetFocus()
@@ -2793,8 +2105,7 @@ class HyperlinkDialog(wx.Dialog):
 
 class QuitDialog(wx.Dialog):
     def __init__(self, parent, title=_("Quit GRASS GIS"), id=wx.ID_ANY,
-                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER,
-                 size=(350, 150), **kwargs):
+                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER, **kwargs):
         """Dialog to quit GRASS
         
         :param parent: window
@@ -2802,23 +2113,25 @@ class QuitDialog(wx.Dialog):
         wx.Dialog.__init__(self, parent, id, title, style=style, **kwargs)
         self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
 
+        self._icon = wx.StaticBitmap(parent=self.panel, id=wx.ID_ANY,
+                                     bitmap=wx.ArtProvider().GetBitmap(wx.ART_QUESTION, client=wx.ART_MESSAGE_BOX))
+
         self.informLabel = wx.StaticText(parent=self.panel, id=wx.ID_ANY,
                                          label=_("Do you want to quit GRASS including shell "
                                                  "prompt or just close the GUI?"))
         self.btnCancel = wx.Button(parent = self.panel, id = wx.ID_CANCEL)
         self.btnClose = wx.Button(parent = self.panel, id = wx.ID_NO,
                                    label=_("Close GUI"))
+        self.btnClose.SetFocus()
         self.btnQuit = wx.Button(parent = self.panel, id = wx.ID_YES,
                                    label=_("Quit GRASS GIS"))
         self.btnQuit.SetMinSize((130, self.btnQuit.GetSize()[1]))
         self.btnQuit.SetForegroundColour(wx.Colour(35, 142, 35))
-        self.btnQuit.SetDefault()
         
         self.btnClose.Bind(wx.EVT_BUTTON, self.OnClose)
         self.btnQuit.Bind(wx.EVT_BUTTON, self.OnQuit)
         
         self.__layout()
-        self.SetSize(size)
 
     def __layout(self):
         """Do layout"""
@@ -2829,13 +2142,17 @@ class QuitDialog(wx.Dialog):
         btnSizer.Add(item=self.btnClose, flag=wx.RIGHT, border=5)
         btnSizer.Add(item=self.btnQuit, flag=wx.RIGHT, border=5)
         
-        sizer.Add(item = self.informLabel, proportion = 1,
-                  flag = wx.EXPAND | wx.ALL, border = 25)
+        bodySizer = wx.BoxSizer(wx.HORIZONTAL)
+        bodySizer.Add(item=self._icon, flag=wx.RIGHT, border=10)
+        bodySizer.Add(item=self.informLabel, proportion=1, flag=wx.EXPAND)
+        
+        sizer.Add(item = bodySizer, proportion = 1,
+                  flag = wx.EXPAND | wx.ALL, border = 15)
         sizer.Add(item = btnSizer, proportion = 0,
                   flag = wx.ALL | wx.ALIGN_RIGHT, border = 5)
 
         self.panel.SetSizer(sizer)
-        sizer.Fit(self.panel)
+        sizer.Fit(self)
         self.Layout()
         
     def OnClose(self, event):
diff --git a/gui/wxpython/gui_core/forms.py b/gui/wxpython/gui_core/forms.py
index c72daf5..132d21c 100644
--- a/gui/wxpython/gui_core/forms.py
+++ b/gui/wxpython/gui_core/forms.py
@@ -82,6 +82,9 @@ from grass.pydispatch.signal import Signal
 from grass.script import core as grass
 from grass.script import task as gtask
 
+from grass.script.setup import set_gui_path
+set_gui_path()
+
 from core import globalvar
 from gui_core.widgets import StaticWrapText, ScrolledPanel, ColorTablesComboBox, \
                              BarscalesComboBox, NArrowsComboBox
@@ -93,6 +96,7 @@ from core.utils import _
 from core.settings    import UserSettings
 from gui_core.widgets import FloatValidator, GNotebook, FormNotebook, FormListbook
 from core.giface import Notification
+from gui_core.widgets import LayersList
 
 wxUpdateDialog, EVT_DIALOG_UPDATE = NewEvent()
 
@@ -560,7 +564,7 @@ class TaskFrame(wx.Frame):
             addLayer = False
             for p in self.task.params:
                 if p.get('age', 'old') == 'new' and \
-                   p.get('prompt', '') in ('raster', 'vector', '3d-raster'):
+                   p.get('prompt', '') in ('raster', 'vector', 'raster_3d'):
                     addLayer = True
             
             if addLayer:
@@ -1107,46 +1111,47 @@ class CmdPanel(wx.Panel):
                 and p.get('prompt','') !=  'color'):
 
                 title_txt.SetLabel(title + ':')
+                
                 if p.get('multiple', False) or \
                         p.get('type', 'string') == 'string' or \
                         len(p.get('key_desc', [])) > 1:
-                    txt3 = wx.TextCtrl(parent = which_panel, value = p.get('default',''))
+                    win = wx.TextCtrl(parent = which_panel, value = p.get('default',''))
                     
                     value = self._getValue(p)
                     if value:
                         # parameter previously set
-                        txt3.SetValue(str(value))
-                    
-                    txt3.Bind(wx.EVT_TEXT, self.OnSetValue)
+                        win.SetValue(str(value))
+                        
+                    win.Bind(wx.EVT_TEXT, self.OnSetValue)
                     style = wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT
                 elif p.get('type', '') == 'integer':
                     minValue = -1e9
                     maxValue = 1e9
                     value = self._getValue(p)
                     
-                    txt3 = wx.SpinCtrl(parent = which_panel, value = p.get('default', ''),
+                    win = wx.SpinCtrl(parent = which_panel, value = p.get('default', ''),
                                        size = globalvar.DIALOG_SPIN_SIZE,
                                        min = minValue, max = maxValue)
                     if value:
-                        txt3.SetValue(int(value)) # parameter previously set
-                        txt3.Bind(wx.EVT_SPINCTRL, self.OnSetValue)
+                        win.SetValue(int(value)) # parameter previously set
+                        win.Bind(wx.EVT_SPINCTRL, self.OnSetValue)
 
                     style = wx.BOTTOM | wx.LEFT | wx.RIGHT
                 else: # float
-                    txt3 = wx.TextCtrl(parent = which_panel, value = p.get('default',''),
+                    win = wx.TextCtrl(parent = which_panel, value = p.get('default',''),
                                        validator = FloatValidator())
                     style = wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT
                     
                     value = self._getValue(p)
                     if value:
-                        txt3.SetValue(str(value)) # parameter previously set
+                        win.SetValue(str(value)) # parameter previously set
                 
-                txt3.Bind(wx.EVT_TEXT, self.OnSetValue)
+                win.Bind(wx.EVT_TEXT, self.OnSetValue)
                 
-                which_sizer.Add(item = txt3, proportion = 0,
+                which_sizer.Add(item = win, proportion = 0,
                                 flag = style, border = 5)
-                p['wxId'] = [ txt3.GetId(), ]
-
+                p['wxId'] = [win.GetId()]
+            
             #
             # element selection tree combobox (maps, icons, regions, etc.)
             #
@@ -1154,6 +1159,8 @@ class CmdPanel(wx.Panel):
                 title_txt.SetLabel(title + ':')
                 # GIS element entry
                 if p.get('prompt','') not in ('color',
+                                              'cat',
+                                              'cats',
                                               'subgroup',
                                               'sigfile',
                                               'separator',
@@ -1170,7 +1177,9 @@ class CmdPanel(wx.Panel):
                                               'dir',
                                               'colortable',
                                               'barscale',
-                                              'northarrow'):
+                                              'northarrow',
+                                              'datasource',
+                                              'datasource_layer'):
                     multiple = p.get('multiple', False)
                     if p.get('age', '') == 'new':
                         mapsets = [grass.gisenv()['MAPSET'],]
@@ -1196,11 +1205,20 @@ class CmdPanel(wx.Panel):
                                 if maps_param and orig_elem == 'stds':
                                     element_dict = {'raster': 'strds', 'vector': 'stvds', 'raster_3d': 'str3ds'}
                                     elem = element_dict[type_param.get('default')]
-                        
-                        if self._giface and hasattr(self._giface, "_model"):
-                            extraItems = {_('Graphical Modeler') : self._giface.GetLayerList(p.get('prompt'))}
-                        else:
-                            extraItems = None
+
+                        extraItems = None
+                        if self._giface:
+                            if hasattr(self._giface, "_model"):
+                                extraItems = {_('Graphical Modeler') : self._giface.GetLayerList(p.get('prompt'))}
+                            else:
+                                layers = self._giface.GetLayerList()
+                                if len(layers) > 0:
+                                    mapList = []
+                                    extraItems = {_('Map Display') : mapList}
+                                    for layer in layers:
+                                        if layer.type != p.get('prompt'):
+                                            continue
+                                        mapList.append(str(layer))
                         selection = gselect.Select(parent = which_panel, id = wx.ID_ANY,
                                                    size = globalvar.DIALOG_GSELECT_SIZE,
                                                    type = elem, multiple = multiple, nmaps = len(p.get('key_desc', [])),
@@ -1623,6 +1641,30 @@ class CmdPanel(wx.Panel):
                                     proportion = 0,
                                     flag = wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT, 
                                     border = 5)
+
+                elif prompt in ('cat', 'cats'):
+                    # interactive selection of vector categories if layer manager is accessible
+                    if self._giface:
+                        win = gselect.VectorCategorySelect(parent = which_panel, giface = self._giface, task=self.task)
+                        
+                        p['wxId'] = [win.GetTextWin().GetId()]
+                        win.GetTextWin().Bind(wx.EVT_TEXT, self.OnSetValue)
+                        # bind closing event because destructor is not working properly
+                        if hasattr(self.parent, 'dialogClosing'):
+                            self.parent.dialogClosing.connect(win.OnClose)
+                    # normal text field
+                    else:
+                        win = wx.TextCtrl(parent = which_panel)
+                        value = self._getValue(p)
+                        win.SetValue(value)
+                        p['wxId'] = [win.GetId()]
+                        win.Bind(wx.EVT_TEXT, self.OnSetValue)
+                    
+                    which_sizer.Add(item = win,
+                                    proportion = 0,
+                                    flag = wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT,
+                                    border = 5)
+                    
                 elif prompt in ('colortable', 'barscale', 'northarrow'):
                     if prompt == 'colortable':
                         cb = ColorTablesComboBox(parent=which_panel, value=p.get('default',''),
@@ -1648,6 +1690,43 @@ class CmdPanel(wx.Panel):
                     if p.get('guidependency', ''):
                         cb.Bind(wx.EVT_COMBOBOX, self.OnUpdateSelection)
 
+                elif prompt == 'datasource':
+                    win = gselect.GdalSelect(parent = parent, panel = which_panel,
+                                             ogr = True)
+                    win.Bind(wx.EVT_TEXT, self.OnSetValue)
+                    win.Bind(wx.EVT_CHOICE, self.OnSetValue)
+                    p['wxId'] = [win.GetId(),
+                                 win.fileWidgets['browse'].GetChildren()[1].GetId(),
+                                 win.dirWidgets['browse'].GetChildren()[1].GetId(),
+                                 win.dbWidgets['choice'].GetId()]
+                    value = self._getValue(p)
+                    if value:
+                        win.fileWidgets['browse'].GetChildren()[1].SetValue(value) # parameter previously set
+                    which_sizer.Add(item = win, proportion = 0,
+                                    flag = wx.EXPAND)
+
+                elif prompt == 'datasource_layer':
+                    self.win1 = LayersList(parent = which_panel, columns = [_('Layer id'),
+                                                                            _('Layer name'),
+                                                                            _('Feature type'),
+                                                                            _('Projection match')])
+                    which_sizer.Add(item = self.win1, proportion = 0,
+                                    flag = wx.EXPAND | wx.ALL, border = 3)
+                    porf = self.task.get_param('input', element = 'name', raiseError = False)
+                    if porf and 'wxId' in porf:
+                        winDataSource = self.FindWindowById(porf['wxId'][0])
+                        winDataSource.reloadDataRequired.connect(lambda listData: self.win1.LoadData(listData, False))
+                        p['wxId'] = [self.win1.GetId()]
+                        def OnCheckItem(index, flag):
+                            layers = list()
+                            for layer, match, listId in self.win1.GetLayers():
+                                layers.append(layer)
+                            porf = self.task.get_param('layer', element = 'name', raiseError = False)
+                            porf['value'] = ','.join(layers)
+                            self.OnUpdateValues() # TODO: replace by signal
+
+                        self.win1.OnCheckItem = OnCheckItem
+                          
             if self.parent.GetName() == 'MainFrame' and (self._giface and hasattr(self._giface, "_model")):
                 parChk = wx.CheckBox(parent = which_panel, id = wx.ID_ANY,
                                      label = _("Parameterized in model"))
@@ -2168,6 +2247,7 @@ class CmdPanel(wx.Panel):
         for porf in self.task.params + self.task.flags:
             if 'wxId' not in porf:
                 continue
+            
             if myId in porf['wxId']:
                 found = True
                 break
@@ -2179,6 +2259,12 @@ class CmdPanel(wx.Panel):
             porf['value'] = event.dsn
         elif name == 'ModelParam':
             porf['parameterized'] = me.IsChecked()
+        elif name == 'GdalSelectDataSource':
+            win = self.FindWindowById(porf['wxId'][0])
+            porf['value'] = win.GetDsn()
+            pLayer = self.task.get_param('layer', element = 'name', raiseError = False)
+            if pLayer:
+                pLayer['value'] = ''
         else:
             if isinstance(me, wx.SpinCtrl):
                 porf['value'] = str(me.GetValue())
@@ -2393,20 +2479,6 @@ class GUI:
                                        { 'cmd' : cmd[0],
                                          'key' : key })
                         continue
-                    multiple = task['multiple']
-                    element = task['element']
-                    # to filter out g.copy, g.rename
-                    key_desc = task['key_desc']
-                    # do we need to find mapset for each of multiple maps?
-                    if element in ['cell', 'vector'] and not multiple and len(key_desc) != 2:
-                        # mapname -> mapname at mapset
-                        try:
-                            name, mapset = value.split('@')
-                        except ValueError:
-                            mapset = grass.find_file(value, element)['mapset']
-                            curr_mapset = grass.gisenv()['MAPSET']
-                            if mapset and mapset !=  curr_mapset:
-                                value = value + '@' + mapset
                     
                     self.grass_task.set_param(key, value)
                     cmd_validated.append(key + '=' + value)
@@ -2466,7 +2538,7 @@ class GUI:
                     element = p.get('element', '') 
                     if age == 'old' and \
                             element in ('cell', 'grid3', 'vector') and \
-                            prompt in ('raster', '3d-raster', 'vector'):
+                            prompt in ('raster', 'raster_3d', 'vector'):
                         return p.get('name', None)
         return None
 
diff --git a/gui/wxpython/gui_core/goutput.py b/gui/wxpython/gui_core/goutput.py
index fc78c2b..3bb2c6d 100644
--- a/gui/wxpython/gui_core/goutput.py
+++ b/gui/wxpython/gui_core/goutput.py
@@ -196,19 +196,19 @@ class GConsoleWindow(wx.SplitterWindow):
             outBtnSizer.AddStretchSpacer()
 
         outBtnSizer.Add(item = self.btnOutputClear, proportion = proportion,
-                        flag = wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT, border = 5)
+                        flag = wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
 
         outBtnSizer.Add(item = self.btnOutputSave, proportion = proportion,
-                        flag = wx.ALIGN_RIGHT | wx.RIGHT, border = 5)
+                        flag = wx.ALIGN_RIGHT | wx.RIGHT | wx.BOTTOM, border = 5)
 
         cmdBtnSizer.Add(item = self.btnCmdProtocol, proportion = 1,
-                        flag = wx.ALIGN_CENTER | wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border = 5)
+                        flag = wx.ALIGN_CENTER | wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
         cmdBtnSizer.Add(item = self.btnCmdClear, proportion = 1,
-                        flag = wx.ALIGN_CENTER | wx.RIGHT, border = 5)
+                        flag = wx.ALIGN_CENTER | wx.RIGHT | wx.BOTTOM, border = 5)
         progressSizer.Add(item = self.btnCmdAbort, proportion = 0,
                           flag = wx.ALL|wx.ALIGN_CENTER, border = 5)
         progressSizer.Add(item = self.progressbar, proportion = 1,
-                          flag = wx.ALIGN_CENTER|wx.RIGHT|wx.TOP|wx.BOTTOM, border = 5)
+                          flag = wx.ALIGN_CENTER | wx.RIGHT | wx.TOP | wx.BOTTOM, border = 5)
                           
         self.panelProgress.SetSizer(progressSizer)
         progressSizer.Fit(self.panelProgress)
diff --git a/gui/wxpython/gui_core/gselect.py b/gui/wxpython/gui_core/gselect.py
index 4b5695f..9f61ff1 100644
--- a/gui/wxpython/gui_core/gselect.py
+++ b/gui/wxpython/gui_core/gselect.py
@@ -24,6 +24,7 @@ Classes:
  - :class:`ElementSelect`
  - :class:`OgrTypeSelect`
  - :class:`CoordinatesSelect`
+ - :class:`VectorCategorySelect`
  - :class:`SignatureSelect`
  - :class:`SeparatorSelect`
 
@@ -36,6 +37,7 @@ This program is free software under the GNU General Public License
 @author Martin Landa <landa.martin gmail.com>
 @author Vaclav Petras <wenzeslaus gmail.com> (menu customization)
 @author Stepan Turek <stepan.turek seznam.cz> (CoordinatesSelect, ListCtrlComboPopup)
+ at author Matej Krejci <matejkrejci gmail.com> (VectorCategorySelect)
 """
 
 import os
@@ -61,15 +63,16 @@ except ImportError as e:
 
 from gui_core.widgets  import ManageSettingsWidget, CoordinatesValidator
 
-from core.gcmd     import RunCommand, GError, GMessage
+from core.gcmd     import RunCommand, GError, GMessage, GWarning
 from core.utils    import GetListOfLocations, GetListOfMapsets, \
                           GetFormats, rasterFormatExtension, vectorFormatExtension
 from core.utils    import GetSettingsPath, GetValidLayerName, ListSortLower
 from core.utils    import GetVectorNumberOfLayers, _
 from core.settings import UserSettings
 from core.debug    import Debug
-from grass.pydispatch.signal import Signal
+from gui_core.vselect import VectorSelectBase
 
+from grass.pydispatch.signal import Signal
 
 class Select(wx.combo.ComboCtrl):
     def __init__(self, parent, id = wx.ID_ANY, size = globalvar.DIALOG_GSELECT_SIZE,
@@ -247,8 +250,9 @@ class ListCtrlComboPopup(wx.combo.ComboPopup):
         if inputText:
             root = self.seltree.GetRootItem()
             match = self.FindItem(root, inputText, startLetters = True)
-            self.seltree.EnsureVisible(match)
-            self.seltree.SelectItem(match)
+            if match.IsOk():
+                self.seltree.EnsureVisible(match)
+                self.seltree.SelectItem(match)
 
     def GetAdjustedSize(self, minWidth, prefHeight, maxHeight):
         """Reads UserSettings to get height (which was 200 in old implementation).
@@ -409,8 +413,9 @@ class TreeCtrlComboPopup(ListCtrlComboPopup):
         """
         # update list
         self.seltree.DeleteAllItems()
-        self._getElementList(self.type, self.mapsets, elements, exclude)
-
+        if self.type:
+            self._getElementList(self.type, self.mapsets, elements, exclude)
+        
         if len(self.value) > 0:
             root = self.seltree.GetRootItem()
             if not root:
@@ -553,7 +558,7 @@ class TreeCtrlComboPopup(ListCtrlComboPopup):
         :param exclude: True to exclude, False for forcing the list
         :param node: parent node
         """
-        elist.sort()
+        elist = grass.natural_sort(elist)
         for elem in elist:
             if elem != '':
                 fullqElem = elem + '@' + mapset
@@ -1254,12 +1259,9 @@ class FormatSelect(wx.Choice):
 
         return formatToExt.get(name, '')
 
-# unused code since r47938
-# wxGdalSelect, EVT_GDALSELECT = NewEvent()
-
 class GdalSelect(wx.Panel):
     def __init__(self, parent, panel, ogr=False, link=False, dest=False,
-                 exclude=None):
+                 exclude=None, settings=True):
         """Widget for selecting GDAL/OGR datasource, format
 
         .. todo::
@@ -1278,25 +1280,16 @@ class GdalSelect(wx.Panel):
         self.dest = dest
         self._sourceType = None
 
-        wx.Panel.__init__(self, parent=panel)
+        wx.Panel.__init__(self, parent=panel, name='GdalSelect')
 
         self.reloadDataRequired = Signal('GdalSelect.reloadDataRequired')
 
-        if self.ogr:
-            settingsFile = os.path.join(GetSettingsPath(), 'wxOGR')
-        else:
-            settingsFile = os.path.join(GetSettingsPath(), 'wxGDAL')
-
-        self.settsManager = ManageSettingsWidget(parent=self,
-                                                 settingsFile=settingsFile)
-        self.settsManager.settingsChanged.connect(self.OnSettingsChanged)
-        self.settsManager.settingsSaving.connect(self.OnSettingsSaving)
 
         self.inputBox = wx.StaticBox(parent=self)
         if dest:
             self.inputBox.SetLabel(" %s " % _("Output settings"))
         else:
-            self.inputBox.SetLabel(" %s " % _("Source settings"))
+            self.inputBox.SetLabel(" %s " % _("Source input"))
 
         # source type
         sources = list()
@@ -1390,6 +1383,7 @@ class GdalSelect(wx.Panel):
                                              startDirectory=os.getcwd(),
                                              changeCallback=self.OnUpdate,
                                              fileMask=fileMask)
+        browse.GetChildren()[1].SetName('GdalSelectDataSource')
         self.fileWidgets['browse'] = browse
         self.fileWidgets['options'] = wx.TextCtrl(parent=self.filePanel)
 
@@ -1402,6 +1396,7 @@ class GdalSelect(wx.Panel):
                                             buttonText=_('Browse'),
                                             startDirectory=os.getcwd(),
                                             changeCallback=self.OnUpdate)
+        browse.GetChildren()[1].SetName('GdalSelectDataSource')
 
         self.dirWidgets['browse'] = browse
         formatSelect = wx.Choice(parent=self.dirPanel, size=(300, -1))
@@ -1441,10 +1436,12 @@ class GdalSelect(wx.Panel):
                                              buttonText=_('Browse'),
                                              startDirectory=os.getcwd(),
                                              changeCallback=self.OnUpdate)
+        browse.GetChildren()[1].SetName('GdalSelectDataSource')
+        
         self.dbWidgets['browse'] = browse
-        self.dbWidgets['choice'] = wx.Choice(parent=self.dbPanel)
+        self.dbWidgets['choice'] = wx.Choice(parent=self.dbPanel, name='GdalSelectDataSource')
         self.dbWidgets['choice'].Bind(wx.EVT_CHOICE, self.OnUpdate)
-        self.dbWidgets['text'] = wx.TextCtrl(parent=self.dbPanel)
+        self.dbWidgets['text'] = wx.TextCtrl(parent=self.dbPanel, name='GdalSelectDataSource')
         self.dbWidgets['text'].Bind(wx.EVT_TEXT, self.OnUpdate)
         self.dbWidgets['textLabel1'] = wx.StaticText(parent=self.dbPanel, label=_("Name:"))
         self.dbWidgets['textLabel2'] = wx.StaticText(parent=self.dbPanel, label=_("Name:"))
@@ -1542,7 +1539,7 @@ class GdalSelect(wx.Panel):
 
     def _layout(self):
         """Layout"""
-        mainSizer = wx.BoxSizer(wx.VERTICAL)
+        self.mainSizer = wx.BoxSizer(wx.VERTICAL)
 
         self.changingSizer = wx.StaticBoxSizer(self.inputBox, wx.VERTICAL)
 
@@ -1702,15 +1699,12 @@ class GdalSelect(wx.Panel):
             self.changingSizer.Add(item=panel, proportion=1,
                                    flag=wx.EXPAND)
 
-        mainSizer.Add(item=self.settsManager, proportion=0,
-                      flag=wx.ALL | wx.EXPAND, border=5)
-        mainSizer.Add(item=self.source, proportion=0,
+        self.mainSizer.Add(item=self.source, proportion=0,
                       flag=wx.LEFT | wx.RIGHT | wx.EXPAND, border=5)
-        mainSizer.Add(item=self.changingSizer, proportion=1,
+        self.mainSizer.Add(item=self.changingSizer, proportion=1,
                       flag=wx.ALL | wx.EXPAND, border=5)
-        self.mainSizer = mainSizer
-        self.SetSizer(mainSizer)
-        mainSizer.Fit(self)
+        self.SetSizer(self.mainSizer)
+        self.mainSizer.Fit(self)
 
     def _getExtension(self, name):
         """Get file extension by format name"""
@@ -1746,7 +1740,7 @@ class GdalSelect(wx.Panel):
             self.SetDatabase(db)
 
         if not self.dest:
-            self.reloadDataRequired.emit(data=None)
+            self.reloadDataRequired.emit(listData=None, data=None)
             self._reloadLayers()
 
     def OnSettingsChanged(self, data):
@@ -1786,9 +1780,24 @@ class GdalSelect(wx.Panel):
             self.dbWidgets['options'].SetValue(data[3])
 
         if not self.dest:
-            self.reloadDataRequired.emit(data=None)
+            self.reloadDataRequired.emit(listData=None, data=None)
             self._reloadLayers()
 
+    def AttachSettings(self):
+        if self.ogr:
+            settingsFile = os.path.join(GetSettingsPath(), 'wxOGR')
+        else:
+            settingsFile = os.path.join(GetSettingsPath(), 'wxGDAL')
+            
+        self.settsManager = ManageSettingsWidget(parent=self,
+                                                 settingsFile=settingsFile)
+        self.settsManager.settingsChanged.connect(self.OnSettingsChanged)
+        self.settsManager.settingsSaving.connect(self.OnSettingsSaving)
+
+        # do layout
+        self.mainSizer.Insert(0, item=self.settsManager,
+                              flag=wx.ALL | wx.EXPAND, border=5)
+
     def OnSettingsSaving(self, name):
         """Saving data"""
         if not self.GetDsn():
@@ -1906,11 +1915,40 @@ class GdalSelect(wx.Panel):
 
     def _reloadLayers(self):
         """Reload list of layers"""
+
+        def hasRastSameProjAsLocation(dsn):
+
+            ret = RunCommand('r.external',
+                             quiet = True,
+                             read = True,
+                             flags = 't',
+                             input = dsn)
+
+            # v.external returns info for individual bands, however projection is shared by all bands ->
+            # (it is possible to take first line)
+            
+            lines = ret.splitlines()
+            projectionMatch = '0'
+            if lines:
+                bandNumber, bandType, projectionMatch = map(lambda x: x.strip(), lines[0].split(','))
+
+            return projectionMatch
+
+        def getProjMatchCaption(projectionMatch):
+
+            if projectionMatch == '0':
+                projectionMatchCaption = _("No")
+            else:
+                projectionMatchCaption = _("Yes")
+
+            return projectionMatchCaption
+
         dsn = self.GetDsn()
         if not dsn:
             return
 
         data = list()
+        listData = list()
         layerId = 1
 
         if self.ogr:
@@ -1920,43 +1958,40 @@ class GdalSelect(wx.Panel):
                              flags = 't',
                              input = dsn)
             if not ret:
-                self.reloadDataRequired.emit(data=None)
+                self.reloadDataRequired.emit(listData=None, data=None)
                 return
 
             layerId = 1
             for line in ret.splitlines():
-                layerName, featureType, projection, geometryColumn = map(lambda x: x.strip(), line.split(','))
-                if projection == '0':
-                    projectionMatch = _("No")
-                else:
-                    projectionMatch = _("Yes")
+                layerName, featureType, projectionMatch, geometryColumn = map(lambda x: x.strip(), line.split(','))
+                projectionMatchCaption = getProjMatchCaption(projectionMatch)
                 grassName = GetValidLayerName(layerName)
                 if geometryColumn:
                     featureType = geometryColumn + '/' + featureType
-                data.append((layerId, layerName, featureType, projectionMatch, grassName))
+                listData.append((layerId, layerName, featureType, projectionMatchCaption, grassName))
+                data.append((layerId, layerName, featureType, int(projectionMatch), grassName))
                 layerId += 1
         else:
             if self._sourceType == 'file':
                 baseName = os.path.basename(dsn)
                 grassName = GetValidLayerName(baseName.split('.', -1)[0])
-                data.append((layerId, baseName, grassName))
+                projectionMatch = hasRastSameProjAsLocation(dsn)
+                projectionMatchCaption = getProjMatchCaption(projectionMatch)
+                listData.append((layerId, baseName, projectionMatchCaption, grassName))
+                data.append((layerId, baseName, int(projectionMatch), grassName))
             elif self._sourceType == 'dir':
                 ext = self.dirWidgets['extension'].GetValue()
                 for filename in glob.glob(os.path.join(dsn, "%s") % self._getExtPatternGlob(ext)):
                     baseName = os.path.basename(filename)
                     grassName = GetValidLayerName(baseName.split('.', -1)[0])
-                    data.append((layerId, baseName, grassName))
+                    projectionMatch = hasRastSameProjAsLocation(dsn)
+                    projectionMatchCaption = getProjMatchCaption(projectionMatch)
+                    listData.append((layerId, baseName, projectionMatchCaption, grassName))
+                    data.append((layerId, baseName,  int(projectionMatch), grassName))
                     layerId += 1
-# unused code since r47938
-#        if self.ogr:
-#            dsn += '@OGR'
-#
-#        evt = wxGdalSelect(dsn = dsn)
-#        evt.SetId(self.input[self.dsnType][1].GetId())
-#        wx.PostEvent(self.parent, evt)
-
-        if self.parent.GetName() == 'MultiImportDialog':
-            self.reloadDataRequired.emit(data=data)
+        
+        # emit signal
+        self.reloadDataRequired.emit(listData=listData, data=data)
 
     def ExtensionChanged(self, event):
         if not self.dest:
@@ -2072,11 +2107,13 @@ class ProjSelect(wx.ComboBox):
         self.SetValue('')
 
 class ElementSelect(wx.Choice):
-    def __init__(self, parent, id = wx.ID_ANY, size = globalvar.DIALOG_COMBOBOX_SIZE,
+    def __init__(self, parent, id = wx.ID_ANY, elements = None,
+                 size = globalvar.DIALOG_COMBOBOX_SIZE,
                  **kwargs):
         """Widget for selecting GIS element
 
         :param parent: parent window
+        :param elements: filter elements
         """
         super(ElementSelect, self).__init__(parent, id, size = size,
                                             **kwargs)
@@ -2086,7 +2123,18 @@ class ElementSelect(wx.Choice):
         p = task.get_param(value = 'type')
         self.values = p.get('values', [])
         self.valuesDesc = p.get('values_desc', [])
-
+        
+        if elements:
+            values = []
+            valuesDesc = []
+            for idx in range(0, len(self.values)):
+                value = self.values[idx]
+                if value in elements:
+                    values.append(value)
+                    valuesDesc.append(self.valuesDesc[idx])
+            self.values = values
+            self.valuesDesc = valuesDesc
+        
         self.SetItems(self.valuesDesc)
 
     def GetValue(self, name):
@@ -2277,6 +2325,137 @@ class CoordinatesSelect(wx.Panel):
         """Get TextCtrl widget"""
         return self.coordsField
 
+class VectorCategorySelect(wx.Panel):
+    """Widget that allows interactive selection of vector features"""
+    def __init__(self, parent, giface, task=None):
+        super(VectorCategorySelect, self).__init__(parent=parent, id=wx.ID_ANY)
+        self.task=task
+        self.parent = parent
+        self.giface = giface
+        
+        self.selectedFeatures = None
+        self.registered = False
+        self._vectorSelect = None
+
+        self.mapdisp = self.giface.GetMapDisplay()
+        
+        self.catsField = wx.TextCtrl(parent=self, id=wx.ID_ANY,
+                                     size=globalvar.DIALOG_TEXTCTRL_SIZE)
+        
+        icon = wx.Bitmap(os.path.join(globalvar.ICONDIR, "grass", "select.png"))
+        self.buttonVecSelect = buttons.ThemedGenBitmapToggleButton(parent=self, id=wx.ID_ANY,
+                                                                   bitmap=icon,
+                                                                   size=globalvar.DIALOG_COLOR_SIZE)
+        self.buttonVecSelect.Bind(wx.EVT_BUTTON, self._onClick)
+
+        
+        if self.mapdisp:
+            switcher = self.mapdisp.GetToolSwitcher()
+            switcher.AddCustomToolToGroup(group='mouseUse',
+                                          btnId=self.buttonVecSelect.GetId(),
+                                          toggleHandler=self.buttonVecSelect.SetValue)
+        
+        self._layout()
+
+    def _isMapSelected(self):
+        """Check if layer list contains at least one selected map
+        """
+        layerList = self.giface.GetLayerList()
+        layerSelected = layerList.GetSelectedLayer()
+        if layerSelected is None:
+            GWarning(_("No vector map selected in layer manager. Operation canceled."))
+            return False
+        
+        return True
+
+    def _chckMap(self):
+        """Check if selected map in 'input' widget is the same as selected map in lmgr """
+        if self._isMapSelected():
+            layerList = self.giface.GetLayerList()
+            layerSelected = layerList.GetSelectedLayer()
+            inputName=self.task.get_param('input')
+            if inputName['value'] != str(layerSelected):
+                if inputName['value'] == '' or inputName['value'] is None:
+                    GWarning(_("Input vector map is not selected"))
+                    return False
+                GWarning(_("Input vector map <%s> and selected map <%s> in layer manager are different. "
+                           "Operation canceled.") % (inputName['value'], str(layerSelected)))
+                return False
+            return True
+        return False
+
+    def _onClick(self, evt=None):
+        if self.task is not None:
+            if not self._chckMap():
+                self.buttonVecSelect.SetValue(False)
+                return
+        else:
+            if not self._isMapSelected():
+                self.buttonVecSelect.SetValue(False)
+                return
+        if self._vectorSelect is None:
+
+            if self.mapdisp:
+                if self.buttonVecSelect.IsEnabled():
+                    switcher = self.mapdisp.GetToolSwitcher()
+                    switcher.ToolChanged(self.buttonVecSelect.GetId())
+
+                self._vectorSelect = VectorSelectBase(self.mapdisp, self.giface)
+                if self.mapdisp.GetWindow().RegisterMouseEventHandler(wx.EVT_LEFT_DOWN,
+                                                                      self._onMapClickHandler,
+                                                                      'cross') == False:
+                    return
+                self.registered = True
+                self.mapdisp.Raise()
+        else:
+            self.OnClose()
+
+    def OnClose(self, event=None):
+        if not self.mapdisp:
+            return
+        
+        switcher = self.mapdisp.GetToolSwitcher()
+        switcher.RemoveCustomToolFromGroup(self.buttonVecSelect.GetId())
+        if self._vectorSelect is not None:
+            tmp = self._vectorSelect.GetLineStringSelectedCats()
+            self._vectorSelect.OnClose()
+            self.catsField.SetValue(tmp)
+        self._vectorSelect = None
+
+    def _onMapClickHandler(self, event):
+        """Update category text input widget"""
+        if event == "unregistered":
+            return
+
+        if self.task is None:
+            if not self._isMapSelected():
+                self.OnClose()
+            else:
+                self.catsField.SetValue(self._vectorSelect.GetLineStringSelectedCats())
+        else:
+            if not self._chckMap():
+                self.OnClose()
+            else:
+                self.catsField.SetValue(self._vectorSelect.GetLineStringSelectedCats())
+
+    def GetTextWin(self):
+        return self.catsField
+
+    def GetValue(self):
+        return self.catsField.GetValue()
+
+    def SetValue(self, value):
+        self.catsField.SetValue(value)
+
+    def _layout(self):
+        self.dialogSizer = wx.BoxSizer(wx.HORIZONTAL)
+        self.dialogSizer.Add(item=self.catsField,
+                             proportion=1,
+                             flag=wx.EXPAND)
+
+        self.dialogSizer.Add(item=self.buttonVecSelect)
+        self.SetSizer(self.dialogSizer)
+
 class SignatureSelect(wx.ComboBox):
     """Widget for selecting signatures"""
     def __init__(self, parent, element, id = wx.ID_ANY, size = globalvar.DIALOG_GSELECT_SIZE,
diff --git a/gui/wxpython/gui_core/mapdisp.py b/gui/wxpython/gui_core/mapdisp.py
index a11ab7a..be05528 100644
--- a/gui/wxpython/gui_core/mapdisp.py
+++ b/gui/wxpython/gui_core/mapdisp.py
@@ -23,7 +23,6 @@ import os
 import sys
 
 import wx
-import wx.aui
 
 from core        import globalvar
 from core.debug  import Debug
@@ -56,9 +55,9 @@ class MapFrameBase(wx.Frame):
     
     AUI manager is stored in \c self._mgr.
     """
-    def __init__(self, parent = None, id = wx.ID_ANY, title = None,
+    def __init__(self, parent = None, id = wx.ID_ANY, title = '',
                  style = wx.DEFAULT_FRAME_STYLE,
-                 auimgr = None, name = None, **kwargs):
+                 auimgr = None, name = '', **kwargs):
         """
 
         .. warning::
@@ -93,7 +92,8 @@ class MapFrameBase(wx.Frame):
         # Fancy gui
         #
         if auimgr == None:
-            self._mgr = wx.aui.AuiManager(self)
+            from wx.aui import AuiManager
+            self._mgr = AuiManager(self)
         else:
             self._mgr = auimgr
         
@@ -101,11 +101,14 @@ class MapFrameBase(wx.Frame):
         self._toolSwitcher = ToolSwitcher()
         self._toolSwitcher.toggleToolChanged.connect(self._onToggleTool)
 
-        # set accelerator table for fullscreen
-        fullScreenId = wx.NewId()
-        self.Bind(wx.EVT_MENU, self.OnFullScreen, id=fullScreenId)
-        accelTable = wx.AcceleratorTable([(wx.ACCEL_NORMAL, wx.WXK_F11, fullScreenId)])
-        self.SetAcceleratorTable(accelTable)
+        # set accelerator table (fullscreen, close window)
+        accelTable = []
+        for wxId, handler, entry, kdb in ((wx.NewId(), self.OnFullScreen, wx.ACCEL_NORMAL, wx.WXK_F11),
+                                          (wx.NewId(), self.OnCloseWindow, wx.ACCEL_CTRL, ord('W'))):
+            self.Bind(wx.EVT_MENU, handler, id=wxId)
+            accelTable.append((entry, kdb, wxId))
+        
+        self.SetAcceleratorTable(wx.AcceleratorTable(accelTable))
 
     def _initMap(self, Map):
         """Initialize map display, set dimensions and map region
@@ -119,6 +122,14 @@ class MapFrameBase(wx.Frame):
         Map.region = Map.GetRegion() # g.region -upgc
         # self.Map.SetRegion() # adjust region to match display window
 
+    def _resize(self):
+        Debug.msg(1, "MapFrame._resize():")
+        wm, hw = self.MapWindow.GetClientSize()
+        wf, hf = self.GetSize()
+        dw = wf - wm
+        dh = hf - hw
+        self.SetSize((wf + dw, hf + dh))
+
     def _onToggleTool(self, id):
         if self._toolSwitcher.IsToolInGroup(id, 'mouseUse'):
             self.GetWindow().UnregisterAllHandlers()
@@ -139,6 +150,9 @@ class MapFrameBase(wx.Frame):
         self.ShowFullScreen(not self.IsFullScreen())
         event.Skip()
 
+    def OnCloseWindow(self, event):
+        self.Destroy()
+        
     def GetToolSwitcher(self):
         return self._toolSwitcher
 
@@ -256,21 +270,20 @@ class MapFrameBase(wx.Frame):
     def GetMapToolbar(self):
         """Returns toolbar with zooming tools"""
         raise NotImplementedError("GetMapToolbar")
-       
+
     def GetToolbar(self, name):
-        """Returns toolbar if exists else None.
-        
-        Toolbars dictionary contains currently used toolbars only.
+        """Returns toolbar if exists and is active, else None.
         """
-        if name in self.toolbars:
+        if name in self.toolbars and self.toolbars[name].IsShown():
             return self.toolbars[name]
-        
+
         return None
-       
+
     def StatusbarUpdate(self):
         """Update statusbar content"""
-        Debug.msg(5, "MapFrameBase.StatusbarUpdate()")
-        self.statusbarManager.Update()
+        if self.statusbarManager:
+            Debug.msg(5, "MapFrameBase.StatusbarUpdate()")
+            self.statusbarManager.Update()
         
     def IsAutoRendered(self):
         """Check if auto-rendering is enabled"""
@@ -285,12 +298,14 @@ class MapFrameBase(wx.Frame):
         """
         # assuming that the first mode is coordinates
         # probably shold not be here but good solution is not available now
-        if self.statusbarManager.GetMode() == 0:
-            self.statusbarManager.ShowItem('coordinates')
+        if self.statusbarManager:
+            if self.statusbarManager.GetMode() == 0:
+                self.statusbarManager.ShowItem('coordinates')
         
     def StatusbarReposition(self):
         """Reposition items in statusbar"""
-        self.statusbarManager.Reposition()
+        if self.statusbarManager:
+            self.statusbarManager.Reposition()
         
     def StatusbarEnableLongHelp(self, enable = True):
         """Enable/disable toolbars long help"""
@@ -327,12 +342,13 @@ class MapFrameBase(wx.Frame):
     def _setUpMapWindow(self, mapWindow):
         """Binds map windows' zoom history signals to map toolbar."""
         # enable or disable zoom history tool
-        mapWindow.zoomHistoryAvailable.connect(
-            lambda:
-            self.GetMapToolbar().Enable('zoomBack', enable=True))
-        mapWindow.zoomHistoryUnavailable.connect(
-            lambda:
-            self.GetMapToolbar().Enable('zoomBack', enable=False))
+        if self.GetMapToolbar():
+            mapWindow.zoomHistoryAvailable.connect(
+                lambda:
+                self.GetMapToolbar().Enable('zoomBack', enable=True))
+            mapWindow.zoomHistoryUnavailable.connect(
+                lambda:
+                self.GetMapToolbar().Enable('zoomBack', enable=False))
         mapWindow.mouseMoving.connect(self.CoordinatesChanged)
 
     def OnPointer(self, event):
@@ -379,10 +395,10 @@ class SingleMapFrame(MapFrameBase):
     @note To access maps use getters only
     (when using class or when writing class itself).
     """
-    def __init__(self, parent = None, giface = None, id = wx.ID_ANY, title = None,
+    def __init__(self, parent = None, giface = None, id = wx.ID_ANY, title = '',
                  style = wx.DEFAULT_FRAME_STYLE,
                  Map = None,
-                 auimgr = None, name = None, **kwargs):
+                 auimgr = None, name = '', **kwargs):
         """
         
         :param parent: gui parent
@@ -403,7 +419,8 @@ class SingleMapFrame(MapFrameBase):
         #
         # initialize region values
         #
-        self._initMap(Map = self.Map)
+        if self.Map:
+            self._initMap(Map = self.Map)
         
     def GetMap(self):
         """Returns map (renderer) instance"""
diff --git a/gui/wxpython/gui_core/menu.py b/gui/wxpython/gui_core/menu.py
index 4838237..49f1ad5 100644
--- a/gui/wxpython/gui_core/menu.py
+++ b/gui/wxpython/gui_core/menu.py
@@ -130,8 +130,9 @@ class SearchModuleWindow(wx.Panel):
     Signal:
         showNotification - attribute 'message'
     """
-    def __init__(self, parent, model, id = wx.ID_ANY, **kwargs):
-        self.parent = parent # LayerManager
+    def __init__(self, parent, handlerObj, model, id = wx.ID_ANY, **kwargs):
+        self.parent = parent
+        self.handlerObj = handlerObj
         
         self.showNotification = Signal('SearchModuleWindow.showNotification')
         wx.Panel.__init__(self, parent = parent, id = id, **kwargs)
@@ -217,7 +218,7 @@ class SearchModuleWindow(wx.Panel):
         if not data:
             return
 
-        handler = 'self.parent.' + data['handler'].lstrip('self.')
+        handler = 'self.handlerObj.' + data['handler'].lstrip('self.')
 
         if data['command']:
             eval(handler)(event=None, cmd=data['command'].split())
diff --git a/gui/wxpython/gui_core/preferences.py b/gui/wxpython/gui_core/preferences.py
index 85adfba..f6d6496 100644
--- a/gui/wxpython/gui_core/preferences.py
+++ b/gui/wxpython/gui_core/preferences.py
@@ -41,8 +41,8 @@ import wx.lib.mixins.listctrl as listmix
 import wx.lib.scrolledpanel as SP
 
 from grass.pydispatch.signal import Signal
-
 from grass.script import core as grass
+from grass.exceptions import OpenError
 
 from core          import globalvar
 from core.gcmd     import RunCommand, GError
@@ -279,7 +279,7 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         row += 1
         hideSearch = wx.CheckBox(parent = panel, id = wx.ID_ANY,
-                                 label = _("Hide '%s' tab (requires GUI restart)") % _("Search module"),
+                                 label = _("Hide '%s' tab (requires GUI restart)") % _("Modules"),
                                  name = 'IsChecked')
         hideSearch.SetValue(self.settings.Get(group = 'manager', key = 'hideTabs', subkey = 'search'))
         self.winId['manager:hideTabs:search'] = hideSearch.GetId()
@@ -289,7 +289,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         
         row += 1
         hidePyShell = wx.CheckBox(parent = panel, id = wx.ID_ANY,
-                                  label = _("Hide '%s' tab (requires GUI restart)") % _("Python shell"),
+                                  label = _("Hide '%s' tab (requires GUI restart)") % _("Python"),
                                   name = 'IsChecked')
         hidePyShell.SetValue(self.settings.Get(group = 'manager', key = 'hideTabs', subkey = 'pyshell'))
         self.winId['manager:hideTabs:pyshell'] = hidePyShell.GetId()
@@ -302,7 +302,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         #
         row += 1
         copySelectedTextToClipboard = wx.CheckBox(parent = panel, id = wx.ID_ANY,
-                                                  label = _("Automatically copy selected text to clipboard (in Command console)"),
+                                                  label = _("Automatically copy selected text to clipboard (in the Console tab)"),
                                                   name = 'IsChecked')
         copySelectedTextToClipboard.SetValue(self.settings.Get(group = 'manager', key = 'copySelectedTextToClipboard', subkey = 'enabled'))
         self.winId['manager:copySelectedTextToClipboard:enabled'] = copySelectedTextToClipboard.GetId()
@@ -1373,10 +1373,17 @@ class PreferencesDialog(PreferencesBaseDialog):
         """Load EPSG codes from the file"""
         win = self.FindWindowById(self.winId['projection:statusbar:projFile'])
         path = win.GetValue()
+        epsgCombo = self.FindWindowById(self.winId['projection:statusbar:epsg'])
         wx.BeginBusyCursor()
-        self.epsgCodeDict = ReadEpsgCodes(path)
+        try:
+            self.epsgCodeDict = ReadEpsgCodes(path)
+        except OpenError as e:
+            wx.EndBusyCursor()
+            epsgCombo.SetItems([])
+            GError(parent = self,
+                   message = _("Unable to read EPGS codes: {}").format(e), showTraceback=False)
+            return
 
-        epsgCombo = self.FindWindowById(self.winId['projection:statusbar:epsg'])
         if type(self.epsgCodeDict) == type(''):
             wx.MessageBox(parent = self,
                           message = _("Unable to read EPSG codes: %s") % self.epsgCodeDict,
diff --git a/gui/wxpython/gui_core/pyedit.py b/gui/wxpython/gui_core/pyedit.py
new file mode 100644
index 0000000..e7c666c
--- /dev/null
+++ b/gui/wxpython/gui_core/pyedit.py
@@ -0,0 +1,566 @@
+"""GRASS GIS Simple Python Editor
+
+Copyright (C) 2016 by the GRASS Development Team
+
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+:authors: Martin Landa
+"""
+
+import sys
+import os
+import stat
+from StringIO import StringIO
+import time
+
+import wx
+
+import grass.script as gscript
+from grass.script.utils import try_remove
+
+# just for testing
+if __name__ == '__main__':
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+
+from core.utils import _
+from core.gcmd import EncodeString, GError
+from core.giface import StandaloneGrassInterface
+from gui_core.pystc import PyStc
+from core import globalvar
+from core.menutree import MenuTreeModelBuilder
+from gui_core.menu import Menu
+from gui_core.toolbars import BaseToolbar, BaseIcons
+from icons.icon import MetaIcon
+
+# TODO: add validation: call/import pep8 (error message if not available)
+# TODO: run with parameters
+# TODO: run with overwrite (in process env, not os.environ)
+# TODO: add more examples (separate file)
+# TODO: add test for templates and examples
+# TODO: add pep8 test for templates and examples
+# TODO: add snippets?
+
+
+def script_template():
+    """The most simple script which runs and gives something"""
+    return r"""#!/usr/bin/env python
+
+import grass.script as gscript
+
+
+def main():
+    gscript.run_command('g.region', flags='p')
+
+
+if __name__ == '__main__':
+    main()
+"""
+
+
+def module_template():
+    """Template from which to start writing GRASS module"""
+    import getpass
+    author = getpass.getuser()
+
+    properties = {}
+    properties['name'] = 'module name'
+    properties['author'] = author
+    properties['description'] = 'Module description'
+
+    output = StringIO()
+    # header
+    output.write(
+        r"""#!/usr/bin/env python
+#
+#%s
+#
+# MODULE:       %s
+#
+# AUTHOR(S):    %s
+#
+# PURPOSE:      %s
+#
+# DATE:         %s
+#
+#%s
+""" % ('#' * 72,
+       EncodeString(properties['name']),
+       EncodeString(properties['author']),
+       EncodeString('\n# '.join(properties['description'].splitlines())),
+       time.asctime(),
+       '#' * 72))
+
+    # UI
+    output.write(
+        r"""
+#%%module
+#%% description: %s
+#%%end
+""" % (EncodeString(' '.join(properties['description'].splitlines()))))
+
+    # import modules
+    output.write(
+        r"""
+import sys
+import os
+import atexit
+
+import grass.script as gscript
+""")
+
+    # cleanup()
+    output.write(
+        r"""
+RAST_REMOVE = []
+
+def cleanup():
+""")
+    output.write(
+        r"""    gscript.run_command('g.remove', flags='f', type='raster',
+                          name=RAST_REMOVE)
+""")
+    output.write("\ndef main():\n")
+    output.write(
+        r"""    options, flags = gscript.parser()
+    gscript.run_command('g.remove', flags='f', type='raster',
+                        name=RAST_REMOVE)
+""")
+
+    output.write("\n    return 0\n")
+
+    output.write(
+        r"""
+if __name__ == "__main__":
+    atexit.register(cleanup)
+    sys.exit(main())
+""")
+    return output.getvalue()
+
+
+def script_example():
+    """Example of a simple script"""
+    return r"""#!/usr/bin/env python
+
+import grass.script as gscript
+
+def main():
+    input_raster = 'elevation'
+    output_raster = 'high_areas'
+    stats = gscript.parse_command('r.univar', map='elevation', flags='g')
+    raster_mean = float(stats['mean'])
+    raster_stddev = float(stats['stddev'])
+    raster_high = raster_mean + raster_stddev
+    gscript.mapcalc('{r} = {a} > {m}'.format(r=output_raster, a=input_raster,
+                                             m=raster_high))
+
+if __name__ == "__main__":
+    main()
+"""
+
+
+def module_example():
+    """Example of a GRASS module"""
+    return r"""#!/usr/bin/env python
+
+#%module
+#% description: Adds the values of two rasters (A + B)
+#% keyword: raster
+#% keyword: algebra
+#% keyword: sum
+#%end
+#%option G_OPT_R_INPUT
+#% key: araster
+#% description: Name of input raster A in an expression A + B
+#%end
+#%option G_OPT_R_INPUT
+#% key: braster
+#% description: Name of input raster B in an expression A + B
+#%end
+#%option G_OPT_R_OUTPUT
+#%end
+
+
+import sys
+
+import grass.script as gscript
+
+
+def main():
+    options, flags = gscript.parser()
+    araster = options['araster']
+    braster = options['braster']
+    output = options['output']
+
+    gscript.mapcalc('{r} = {a} + {b}'.format(r=output, a=araster, b=braster))
+
+    return 0
+
+
+if __name__ == "__main__":
+    sys.exit(main())
+"""
+
+
+class PyEditController(object):
+    # using the naming GUI convention, change for controller?
+    # pylint: disable=invalid-name
+
+    def __init__(self, panel, guiparent, giface):
+        """Simple editor, this class could be a pure controller"""
+        self.guiparent = guiparent
+        self.giface = giface
+        self.body = panel
+        self.filename = None
+        self.tempfile = None  # bool, make them strings for better code
+        self.running = False
+
+    def OnRun(self, event):
+        """Run Python script"""
+        if self.running:
+            # ignore when already running
+            return
+
+        if not self.filename:
+            self.filename = gscript.tempfile()
+            self.tempfile = True
+            try:
+                fd = open(self.filename, "w")
+                fd.write(self.body.GetText())
+            except IOError as e:
+                GError(_("Unable to launch Python script. %s") % e,
+                       parent=self.guiparent)
+                return
+            finally:
+                fd.close()
+                mode = stat.S_IMODE(os.lstat(self.filename)[stat.ST_MODE])
+                os.chmod(self.filename, mode | stat.S_IXUSR)
+        else:
+            fd = open(self.filename, "w")
+            try:
+                fd.write(self.body.GetText())
+            finally:
+                fd.close()
+            # set executable file
+            # (not sure if needed every time but useful for opened files)
+            os.chmod(self.filename, stat.S_IRWXU | stat.S_IWUSR)
+
+        # TODO: add overwrite to toolbar, needs env in GConsole
+        # run in console as other modules, avoid Python shell which
+        # carries variables over to the next execution
+        self.giface.RunCmd([fd.name], skipInterface=True, onDone=self.OnDone)
+        self.running = True
+
+    def OnDone(self, event):
+        """Python script finished"""
+        if self.tempfile:
+            try_remove(self.filename)
+            self.filename = None
+        self.running = False
+
+    def SaveAs(self):
+        """Save python script to file"""
+        filename = ''
+        dlg = wx.FileDialog(parent=self.guiparent,
+                            message=_("Choose file to save"),
+                            defaultDir=os.getcwd(),
+                            wildcard=_("Python script (*.py)|*.py"),
+                            style=wx.FD_SAVE)
+
+        if dlg.ShowModal() == wx.ID_OK:
+            filename = dlg.GetPath()
+
+        if not filename:
+            return
+
+        # check for extension
+        if filename[-3:] != ".py":
+            filename += ".py"
+
+        if os.path.exists(filename):
+            dlg = wx.MessageDialog(
+                parent=self.guiparent,
+                message=_("File <%s> already exists. "
+                          "Do you want to overwrite this file?") % filename,
+                caption=_("Save file"),
+                style=wx.YES_NO | wx.YES_DEFAULT | wx.ICON_QUESTION)
+            if dlg.ShowModal() == wx.ID_NO:
+                dlg.Destroy()
+                return
+
+            dlg.Destroy()
+
+        self.filename = filename
+        self.tempfile = False
+        self.Save()
+
+    def Save(self):
+        """Save current content to a file and set executable permissions"""
+        assert self.filename
+        fd = open(self.filename, "w")
+        try:
+            fd.write(self.body.GetText())
+        finally:
+            fd.close()
+
+        # executable file
+        os.chmod(self.filename, stat.S_IRWXU | stat.S_IWUSR)
+
+    def OnSave(self, event):
+        """Save python script to file
+
+        Just save if file already specified, save as action otherwise.
+        """
+        if self.filename:
+            self.Save()
+        else:
+            self.SaveAs()
+
+    # TODO: it should be probably used with replacing, when this gives what we want?
+    def IsModified(self):
+        """Check if python script has been modified"""
+        return self.body.modified
+
+    def Open(self):
+        """Ask for a filename and load its content"""
+        filename = ''
+        dlg = wx.FileDialog(parent=self.guiparent,
+                            message=_("Open file"),
+                            defaultDir=os.getcwd(),
+                            wildcard=_("Python script (*.py)|*.py"),
+                            style=wx.OPEN)
+
+        if dlg.ShowModal() == wx.ID_OK:
+            filename = dlg.GetPath()
+
+        if not filename:
+            return
+
+        fd = open(filename, "r")
+        try:
+            self.body.SetText(fd.read())
+        finally:
+            fd.close()
+
+        self.filename = filename
+        self.tempfile = False
+
+    def OnOpen(self, event):
+        if self.CanReplaceContent('file'):
+            self.Open()
+
+    def IsEmpty(self):
+        """Check if python script is empty"""
+        return len(self.body.GetText()) == 0
+
+    def SetScriptTemplate(self, event):
+        if self.CanReplaceContent('template'):
+            self.body.SetText(script_template())
+
+    def SetModuleTemplate(self, event):
+        if self.CanReplaceContent('template'):
+            self.body.SetText(module_template())
+
+    def SetScriptExample(self, event):
+        if self.CanReplaceContent('template'):
+            self.body.SetText(script_example())
+
+    def SetModuleExample(self, event):
+        if self.CanReplaceContent('template'):
+            self.body.SetText(module_example())
+
+    def CanReplaceContent(self, by_message):
+        if by_message == 'template':
+            message = _("Replace the content by the template?")
+        elif by_message == 'file':
+            message = _("Replace the current content by the file content?")
+        else:
+            message = by_message
+        if not self.IsEmpty():
+            dlg = wx.MessageDialog(
+                parent=self.guiparent, message=message,
+                caption=_("Replace content"),
+                style=wx.YES_NO | wx.YES_DEFAULT | wx.ICON_QUESTION)
+            if dlg.ShowModal() == wx.ID_NO:
+                dlg.Destroy()
+                return False
+            dlg.Destroy()
+        return True
+
+    def OnHelp(self, event):
+        import webbrowser
+
+        # inspired by g.manual but simple not using GRASS_HTML_BROWSER
+        # not using g.manual because it does not show
+        entry = 'libpython/script_intro.html'
+        major, minor, patch = gscript.version()['version'].split('.')
+        url = 'http://grass.osgeo.org/grass%s%s/manuals/%s' % (
+            major, minor, entry)
+        webbrowser.open(url)
+
+    def OnPythonHelp(self, event):
+        import webbrowser
+
+        url = 'https://docs.python.org/%s/tutorial/' % sys.version_info[0]
+        webbrowser.open(url)
+
+    def OnModulesHelp(self, event):
+        self.giface.Help('full_index')
+
+    def OnAddonsHelp(self, event):
+        import webbrowser
+
+        url = 'https://grass.osgeo.org/development/code-submission/'
+        webbrowser.open(url)
+
+    def OnSupport(self, event):
+        import webbrowser
+
+        url = 'https://grass.osgeo.org/support/'
+        webbrowser.open(url)
+
+
+class PyEditToolbar(BaseToolbar):
+    # GUI class
+    # pylint: disable=too-many-ancestors
+    # pylint: disable=too-many-public-methods
+    """PyEdit toolbar"""
+    def __init__(self, parent):
+        BaseToolbar.__init__(self, parent)
+
+        # workaround for http://trac.wxwidgets.org/ticket/13888
+        if sys.platform == 'darwin':
+            parent.SetToolBar(self)
+
+        self.InitToolbar(self._toolbarData())
+
+        # realize the toolbar
+        self.Realize()
+
+    def _toolbarData(self):
+        """Toolbar data"""
+        icons = {
+            'open': MetaIcon(img='open',
+                             label=_('Open (Ctrl+O)')),
+            'save': MetaIcon(img='save',
+                             label=_('Save (Ctrl+S)')),
+            'run': MetaIcon(img='execute',
+                            label=_('Run (Ctrl+R)')),
+        }
+
+        return self._getToolbarData((('open', icons['open'],
+                                      self.parent.OnOpen),
+                                     ('save', icons['save'],
+                                      self.parent.OnSave),
+                                     (None, ),
+                                     ('run', icons['run'],
+                                      self.parent.OnRun),
+                                     (None, ),
+                                     ("help", BaseIcons['help'],
+                                      self.parent.OnHelp),
+                                    ))
+
+
+class PyEditFrame(wx.Frame):
+    # GUI class and a lot of trampoline methods
+    # pylint: disable=missing-docstring
+    # pylint: disable=too-many-public-methods
+    # pylint: disable=invalid-name
+    def __init__(self, parent, giface, id=wx.ID_ANY,
+                 title=_("GRASS GIS Simple Python Editor"),
+                 **kwargs):
+        wx.Frame.__init__(self, parent=parent, id=id, title=title, **kwargs)
+        self.parent = parent
+
+        filename = os.path.join(
+            globalvar.WXGUIDIR, 'xml', 'menudata_pyedit.xml')
+        self.menubar = Menu(
+            parent=self,
+            model=MenuTreeModelBuilder(filename).GetModel(separators=True))
+        self.SetMenuBar(self.menubar)
+
+        self.toolbar = PyEditToolbar(parent=self)
+        # workaround for http://trac.wxwidgets.org/ticket/13888
+        # TODO: toolbar is set in toolbar and here
+        if sys.platform != 'darwin':
+            self.SetToolBar(self.toolbar)
+
+        self.panel = PyStc(parent=self)
+        self.controller = PyEditController(
+            panel=self.panel, guiparent=self, giface=giface)
+
+        # don't start with an empty page
+        self.panel.SetText(script_template())
+
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(item=self.panel, proportion=1,
+                  flag=wx.EXPAND)
+        sizer.Fit(self)
+        sizer.SetSizeHints(self)
+        self.SetSizer(sizer)
+        self.Fit()
+        self.SetAutoLayout(True)
+        self.Layout()
+
+    # TODO: it would be nice if we can pass the controller to the menu
+    # might not be possible on the side of menu
+    # here we use self and self.controller which might make it harder
+    def OnOpen(self, *args, **kwargs):
+        self.controller.OnOpen(*args, **kwargs)
+
+    def OnSave(self, *args, **kwargs):
+        self.controller.OnSave(*args, **kwargs)
+
+    def OnClose(self, *args, **kwargs):
+        # saves without asking if we have an open file
+        self.controller.OnSave(*args, **kwargs)
+        self.Destroy()
+
+    def OnRun(self, *args, **kwargs):
+        # save without asking
+        self.controller.OnRun(*args, **kwargs)
+
+    def OnHelp(self, *args, **kwargs):
+        # save without asking
+        self.controller.OnHelp(*args, **kwargs)
+
+    def OnSimpleScriptTemplate(self, *args, **kwargs):
+        self.controller.SetScriptTemplate(*args, **kwargs)
+
+    def OnGrassModuleTemplate(self, *args, **kwargs):
+        self.controller.SetModuleTemplate(*args, **kwargs)
+
+    def OnSimpleScriptExample(self, *args, **kwargs):
+        self.controller.SetScriptExample(*args, **kwargs)
+
+    def OnGrassModuleExample(self, *args, **kwargs):
+        self.controller.SetModuleExample(*args, **kwargs)
+
+    def OnPythonHelp(self, *args, **kwargs):
+        self.controller.OnPythonHelp(*args, **kwargs)
+
+    def OnModulesHelp(self, *args, **kwargs):
+        self.controller.OnModulesHelp(*args, **kwargs)
+
+    def OnAddonsHelp(self, *args, **kwargs):
+        self.controller.OnAddonsHelp(*args, **kwargs)
+
+    def OnSupport(self, *args, **kwargs):
+        self.controller.OnSupport(*args, **kwargs)
+
+
+def main():
+    """Test application (potentially useful as g.gui.pyedit)"""
+    app = wx.App()
+    giface = StandaloneGrassInterface()
+    simple_editor = PyEditFrame(parent=None, giface=giface)
+    simple_editor.SetSize((600, 800))
+    simple_editor.Show()
+    app.MainLoop()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/gui/wxpython/gui_core/pystc.py b/gui/wxpython/gui_core/pystc.py
index 9659885..af04e97 100644
--- a/gui/wxpython/gui_core/pystc.py
+++ b/gui/wxpython/gui_core/pystc.py
@@ -35,11 +35,18 @@ class PyStc(stc.StyledTextCtrl):
         self.statusbar = statusbar
         
         self.modified = False # content modified ?
-        
-        self.faces = { 'times': 'Times New Roman',
-                       'mono' : 'Courier New',
-                       'helv' : 'Arial',
-                       'other': 'Comic Sans MS',
+
+        # this is supposed to get monospace
+        font = wx.Font(9, wx.FONTFAMILY_MODERN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)
+        face = font.GetFaceName()
+        size = font.GetPointSize()
+
+        # setting the monospace here to not mess with the rest of the code
+        # TODO: review the whole styling
+        self.faces = { 'times': face,
+                       'mono' : face,
+                       'helv' : face,
+                       'other': face,
                        'size' : 10,
                        'size2': 8,
                        }
@@ -77,7 +84,12 @@ class PyStc(stc.StyledTextCtrl):
         self.Bind(stc.EVT_STC_UPDATEUI, self.OnUpdateUI)
         self.Bind(stc.EVT_STC_MARGINCLICK, self.OnMarginClick)
         self.Bind(wx.EVT_KEY_DOWN, self.OnKeyPressed)
-        
+
+        # show whitespace
+        self.SetViewWhiteSpace(1)
+        # make the symbols very light gray to be less distracting
+        self.SetWhitespaceForeground(True, wx.Colour(200, 200, 200))
+
         # Make some styles, the lexer defines what each style is used
         # for, we just have to define what each style looks like.
         # This set is adapted from Scintilla sample property files.
diff --git a/gui/wxpython/gui_core/query.py b/gui/wxpython/gui_core/query.py
index 134f857..582c19b 100644
--- a/gui/wxpython/gui_core/query.py
+++ b/gui/wxpython/gui_core/query.py
@@ -249,7 +249,8 @@ def test():
     from grass.script import vector as gvect
     from grass.script import raster as grast
     testdata1 = grast.raster_what(map = ('elevation_shade at PERMANENT','landclass96'),
-                                  coord = [(638509.051416,224742.348346)])
+                                  coord = [(638509.051416,224742.348346)],
+                                  localized=True)
 
     testdata2 = gvect.vector_what(map=('firestations','bridges'),
                                   coord=(633177.897487,221352.921257), distance=10)
diff --git a/gui/wxpython/gui_core/simplelmgr.py b/gui/wxpython/gui_core/simplelmgr.py
index afb4846..ecbf99d 100644
--- a/gui/wxpython/gui_core/simplelmgr.py
+++ b/gui/wxpython/gui_core/simplelmgr.py
@@ -29,6 +29,7 @@ from gui_core.dialogs import SetOpacityDialog
 from core.utils import GetLayerNameFromCmd
 from core.gcmd import GError
 from core.layerlist import LayerList
+from core.utils import _
 
 SIMPLE_LMGR_RASTER = 1
 SIMPLE_LMGR_VECTOR = 2
diff --git a/gui/wxpython/gui_core/treeview.py b/gui/wxpython/gui_core/treeview.py
index 03c88ad..208393a 100644
--- a/gui/wxpython/gui_core/treeview.py
+++ b/gui/wxpython/gui_core/treeview.py
@@ -107,7 +107,48 @@ class AbstractTreeViewMixin(VirtualTree):
         item = self.GetItemByIndex(index)
         self.SelectItem(item, select)
 
-    def _emitSignal(self, item, signal):
+    def ExpandNode(self, node, recursive=True):
+        """Expand items.
+
+        :param node: node representing item
+        :param recursive: True/False to expand all children
+        """
+        index = self._model.GetIndexOfNode(node)
+        item = self.GetItemByIndex(index)
+        if recursive:
+            self.ExpandAllChildren(item)
+        else:
+            self.Expand(item)
+        self.EnsureVisible(item)
+
+    def IsNodeExpanded(self, node):
+        """Check if node is expanded"""
+        index = self._model.GetIndexOfNode(node)
+        item = self.GetItemByIndex(index)
+
+        return self.IsExpanded(item)
+    
+    def CollapseNode(self, node, recursive=True):
+        """Collapse items.
+
+        :param node: node representing item
+        :param recursive: True/False to collapse all children
+        """
+        index = self._model.GetIndexOfNode(node)
+        item = self.GetItemByIndex(index)
+        if recursive:
+            self.CollapseAllChildren(item)
+        else:
+            self.Collapse(item)
+
+    def RefreshNode(self, node, recursive=False):
+        """Refreshes node."""
+        index = self._model.GetIndexOfNode(node)
+        self.RefreshItem(index)
+        if recursive:
+            self.RefreshChildrenRecursively(self.GetItemByIndex(index))
+
+    def _emitSignal(self, item, signal, **kwargs):
         """Helper method for emitting signals.
 
         :param item: tree item
@@ -117,7 +158,7 @@ class AbstractTreeViewMixin(VirtualTree):
             return
         index = self.GetIndexOfItem(item)
         node = self._model.GetNodeByIndex(index)
-        signal.emit(node = node)
+        signal.emit(node=node, **kwargs)
 
 
 class TreeView(AbstractTreeViewMixin, wx.TreeCtrl):
diff --git a/gui/wxpython/gui_core/vselect.py b/gui/wxpython/gui_core/vselect.py
new file mode 100644
index 0000000..48ea3f0
--- /dev/null
+++ b/gui/wxpython/gui_core/vselect.py
@@ -0,0 +1,407 @@
+"""
+ at package gui_core.vselect
+
+ at brief wxGUI classes for interactive selection of vector
+features. Allows creating a new vector map from selected vector
+features or return their categories
+
+Classes:
+- vselect::VectorSelectList
+- vselect::VectorSelectDialog
+- vselect::VectorSelectBase
+- vselect::VectorSelectHighlighter
+
+(C) 2014-2015 by Matej Krejci, and the GRASS Development Team
+
+This program is free software under the GNU General Public License
+(>=v2). Read the file COPYING that comes with GRASS for details.
+
+ at author Matej Krejci <matejkrejci gmail.com> (mentor: Martin Landa)
+"""
+
+import string
+import random
+
+import wx
+import wx.lib.mixins.listctrl as listmix
+
+from core.utils import _
+from core.gcmd import GMessage, GError, GWarning
+from core.gcmd import RunCommand
+
+import grass.script as grass
+from grass.pydispatch.signal import Signal
+
+class VectorSelectList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
+    """Widget for managing vector features selected from map display
+    """
+    def __init__(self, parent):
+        wx.ListCtrl.__init__(self, parent=parent, id=wx.ID_ANY, style=wx.LC_REPORT | wx.BORDER_SUNKEN)
+        listmix.ListCtrlAutoWidthMixin.__init__(self)
+        
+        self.InsertColumn(col=0, heading=_('category'))
+        self.InsertColumn(col=1, heading=_('type'))
+        self.SetColumnWidth(0, 100)
+        self.SetColumnWidth(1, 100)
+
+        self.index = 0
+        self.dictIndex = {}
+
+    def AddItem(self, item):
+        if 'Category' not in item:
+            return
+        
+        pos = self.InsertStringItem(0, str(item['Category']))
+        self.SetStringItem(pos, 1, str(item['Type']))
+        self.dictIndex[str(item['Category'])] = pos
+
+    def RemoveItem(self, item):
+        index = self.dictIndex.get(str(item['Category']), -1)
+        if index > -1:
+            self.DeleteItem(index)
+        
+class VectorSelectDialog(wx.Dialog):
+    """Dialog for managing vector features selected from map display"""
+    def __init__(self, parent, title=_("Select features"), size=(200, 300)):
+        wx.Dialog.__init__(self, parent=parent, id=wx.ID_ANY,
+                           title=title, size=size, style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
+
+        self._layout()
+
+    def AddWidget(self, widget, proportion=1, flag=wx.EXPAND):
+        self.mainSizer.Add(widget, proportion=proportion, flag=flag)
+        self.Layout()
+
+    def _layout(self):
+        self.mainSizer = wx.BoxSizer(wx.VERTICAL)
+        self.SetSizer(self.mainSizer)
+
+        self.Show()
+
+class VectorSelectBase():
+    """@brief Main class of vector selection function
+
+    It allows selecting vector features from map display and to export
+    them as a new vector map. Current version allows selecting
+    features one-by-one by single click in map display.
+
+    This class can be initialized with (see CreateDialog()) or without
+    (see gselect) dialog (see VectorSelectDialog).
+    """
+    def __init__(self, parent, giface):
+        self.parent = parent
+        self._giface = giface
+        self.register = False
+        self.mapWin = self._giface.GetMapWindow()
+        self.mapDisp = giface.GetMapDisplay()
+        self.RegisterMapEvtHandler()
+
+        self.selectedFeatures = []
+        self.mapName = None # chosen map for selecting features
+
+        self._dialog = None
+        self.onCloseDialog = None
+        
+        self.updateLayer = Signal('VectorSelectBase.updateLayer')
+        
+        self.painter = VectorSelectHighlighter(self.mapDisp, giface)
+
+    def CreateDialog(self, createButton=True):
+        """Create dialog
+
+        :param createButton: True to add 'create new map' button
+        """
+        if self._dialog:
+            return
+        
+        self._dialog = VectorSelectDialog(parent=self.parent)
+        self._dialog.Bind(wx.EVT_CLOSE,self.OnCloseDialog)
+        if createButton:
+            createMap = wx.Button(self._dialog, wx.ID_ANY, _("Create a new map"))
+            createMap.Bind(wx.EVT_BUTTON, self.OnExportMap)
+            self._dialog.AddWidget(createMap, proportion=0.1)
+        self.slist = VectorSelectList(self._dialog)
+        self.slist.Bind(wx.EVT_LIST_KEY_DOWN, self.OnDelete)
+        self.slist.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnDeleteRow)
+        self._dialog.AddWidget(self.slist)
+        
+        self.onCloseDialog = Signal('VectorSelectBase.onCloseDialog')
+        
+    def OnDeleteRow(self, event=None):
+        """Delete row in widget
+        """
+        index = self.slist.GetFocusedItem()
+        category = self.slist.GetItemText(index)
+        for item in self.selectedFeatures:
+            if int(item['Category']) == int(category):
+                self.selectedFeatures.remove(item)
+                break
+        self.slist.DeleteItem(index)
+        self._draw()
+
+    def OnDelete(self, event):
+        """Delete row in widget by press key(delete)
+        """
+        keycode = event.GetKeyCode()
+        if keycode == wx.WXK_DELETE:
+            self.OnDeleteRow()
+
+    def RegisterMapEvtHandler(self):
+        if not self.register:
+            self.mapWin.RegisterMouseEventHandler(wx.EVT_LEFT_DOWN,
+                                                  self._onMapClickHandler,
+                                                  'cross')
+        self.register=True
+
+    def UnregisterMapEvtHandler(self):
+        """Unregistrates _onMapClickHandler from mapWin"""
+        if self.register:
+            self.mapWin.UnregisterMouseEventHandler(wx.EVT_LEFT_DOWN,
+                                                    self._onMapClickHandler)
+        self.register=False
+
+    def OnClose(self):
+        self.selectedFeatures=[]
+        self._draw()
+        self.UnregisterMapEvtHandler()
+
+    def OnCloseDialog(self,evt=None):
+        if not self.onCloseDialog:
+            return
+        
+        self.onCloseDialog.emit()
+        self.selectedFeatures=[]
+        self.painter.Clear()
+        self._dialog.Destroy()
+        self.UnregisterMapEvtHandler()
+
+    def Reset(self):
+        """Remove items from dialog list"""
+        self.selectedFeatures = []
+        if self._dialog:
+            self.slist.DeleteAllItems()
+            self._dialog.Raise()
+        self.RegisterMapEvtHandler()
+
+    def _onMapClickHandler(self, event):
+        """Registred handler for clicking on grass disp
+        """
+        if event == "unregistered":
+            return
+        vWhatDic = self.QuerySelectedMap()
+        if 'Category' in vWhatDic:
+            self.AddVecInfo(vWhatDic)
+            self._draw()
+            if self._dialog:
+                self._dialog.Raise()
+
+    def AddVecInfo(self, vInfoDictTMP):
+        """Update vector in list
+        
+        Note: click on features add category
+              second click on the same vector remove category from list
+        """
+        if len(self.selectedFeatures) > 0:
+            for sel in self.selectedFeatures:
+                if sel['Category'] == vInfoDictTMP['Category']: #features is selected=> remove features
+                    self.selectedFeatures.remove(sel)
+                    if self._dialog:#if dialog initilized->update dialog
+                        self.slist.RemoveItem(vInfoDictTMP)
+                    return True
+
+            self.selectedFeatures.append(vInfoDictTMP)
+            if self._dialog:
+                self.slist.AddItem(vInfoDictTMP)
+        else: # only one is selected
+            self.selectedFeatures.append(vInfoDictTMP)
+            if self._dialog:
+                self.slist.AddItem(vInfoDictTMP)
+
+        if len(self.selectedFeatures) == 0:
+            return False
+
+        return True
+
+    def _draw(self):
+        """Call class 'VectorSelectHighlighter' to draw selected features"""
+        self.updateLayer.emit()
+        if len(self.selectedFeatures) > 0:
+            self.painter.SetLayer(self.selectedFeatures[0]['Layer'])
+            self.painter.SetMap(self.selectedFeatures[0]['Map'])
+            tmp = list()
+            for i in self.selectedFeatures:
+                tmp.append(i['Category'])
+
+            self.painter.SetCats(tmp)
+            self.painter.DrawSelected()
+        else:
+            self.painter.Clear()
+
+    def GetSelectedMap(self):
+        """Return name of selected map in layer tree"""
+        layerList = self._giface.GetLayerList()
+        layerSelected = layerList.GetSelectedLayer()
+        if layerSelected is None:
+            return None
+
+        if not layerSelected.maplayer.IsActive():
+            GWarning(_("Selected map <%s> has been disabled for rendering. "
+                       "Operation canceled.") % str(layerSelected), parent=self.mapWin)
+            return None
+
+        if layerSelected:
+            mapName = str(layerSelected)
+            if self.mapName is not None:
+                if self.mapName!=mapName:
+                    self.Reset()
+        else:
+            mapName = None
+            self.UnregisterMapEvtHandler()
+            GError(_("No map layer selected. Operation canceled."))
+        return mapName
+
+    def QuerySelectedMap(self):
+        """Return w.what info from last clicked coords on display
+
+        """
+        self.mapName = self.GetSelectedMap()
+        if not self.mapName:
+            return {}
+
+        mapInfo = self.mapWin.GetMap()
+        threshold = 10.0 * ((mapInfo.region['e'] - mapInfo.region['w']) / mapInfo.width)
+        try:
+            query = grass.vector_what(map=[self.mapName],
+                                      coord=self.mapWin.GetLastEN(),
+                                      distance=threshold, skip_attributes=True)
+        except grass.ScriptError:
+            GError(parent=self,
+                   message=_("Failed to query vector map(s) <%s>.") % self.map)
+            return None
+
+        return query[0]
+
+    def GetLineStringSelectedCats(self):
+        """Return line of categories separated by comma"""
+        strTMP = ''
+        for cat in self.selectedFeatures:
+            strTMP += str(cat['Category']) + ','
+        return strTMP[:-1]
+
+    def _id_generator(self, size=6, chars=string.ascii_uppercase + string.digits):
+        return ''.join(random.choice(chars) for _ in range(size))
+
+    def OnExportMap(self, event):
+        """Export selected features to a new map
+        
+        Add new map layer to layer tree and checked it
+
+        @todo: set color of map to higlight color
+        """
+
+        if len(self.selectedFeatures)==0:
+            GMessage(_('No features selected'))
+            return
+        lst = ''
+        for cat in self.selectedFeatures: # build text string of categories for v.extract input
+            lst += str(cat['Category']) + ','
+        lst = lst[:-1]
+        outMap = str(self.selectedFeatures[0]['Map']) + '_selection' + str(self._id_generator(3))
+        ret, err = RunCommand('v.extract',
+                              input=self.selectedFeatures[0]['Map'],
+                              layer=self.selectedFeatures[0]['Layer'],
+                              output=outMap,
+                              cats=lst,
+                              getErrorMsg=True)
+        if ret == 0:
+            tree = self._giface.GetLayerTree()
+            if tree:
+                tree.AddLayer(ltype='vector', lname=outMap,
+                              lcmd=['d.vect', 'map=%s' % outMap],
+                              lchecked=True)
+
+                #TODO colorize new map
+                self.Reset()
+            else:
+                GMessage(_('Vector map <%s> was created') % outMap)
+                self.Reset()
+        else:
+            GError(_("Unable to create a new vector map.\n\nReason: %s") % err)
+        
+    """
+    def SetSelectedCat(self, cats):
+        # allows setting selected vector categories by list of cats (per line)
+        info = self.QuerySelectedMap()
+        if 'Category' not in info:
+            return
+
+        for cat in cats.splitlines():
+            tmpDict = {}
+            tmpDict['Category'] = cat
+            tmpDict['Map'] = info['Map']
+            tmpDict['Layer'] = info['Layer']
+            tmpDict['Type'] = '-'
+            self.AddVecInfo(tmpDict)
+
+        self._draw()
+    """
+    
+class VectorSelectHighlighter():
+    """Class for highlighting selected features on display
+
+    :param mapdisp: Map display frame
+    """
+    def __init__(self, mapdisp, giface):
+        self.qlayer = None
+        self.mapdisp = mapdisp
+        self.giface = giface
+        self.layerCat = {}
+        self.data = {}
+        self.data['Category'] = list()
+        self.data['Map'] = None
+        self.data['Layer']= None
+
+    def SetMap(self, map):
+        self.data['Map'] = map
+
+    def SetLayer(self, layer):
+        self.data['Layer'] = layer
+
+    def SetCats(self, cats):
+        self.data['Category'] = cats
+
+    def Clear(self):
+        self.data['Category'] = list()
+        self.data['Map'] = None
+        self.data['Layer']= None
+        self.mapdisp.RemoveQueryLayer()
+        self.giface.GetMapWindow().UpdateMap(render = False)
+
+    def DrawSelected(self):
+        """Highlight selected features"""
+        self.layerCat[int(self.data['Layer'])] = self.data['Category']
+        
+        # add map layer with higlighted vector features
+        self.AddQueryMapLayer()  # -> self.qlayer
+        self.qlayer.SetOpacity(0.7)
+        self.giface.updateMap.emit(render=True, renderVector=True)
+
+    def AddQueryMapLayer(self):
+        """Redraw a map
+
+        :return: True if map has been redrawn, False if no map is given
+        """
+        if self.mapdisp.GetMap().GetLayerIndex(self.qlayer) < 0:
+            self.qlayer = None
+
+        if self.qlayer:
+            self.qlayer.SetCmd(self.mapdisp.AddTmpVectorMapLayer(self.data['Map'], self.layerCat, addLayer=False))
+        else:
+            self.qlayer = self.mapdisp.AddTmpVectorMapLayer(self.data['Map'], self.layerCat)
+
+        return self.qlayer
+
+
+
+
+
diff --git a/gui/wxpython/gui_core/widgets.py b/gui/wxpython/gui_core/widgets.py
index 5d931b6..71587f4 100644
--- a/gui/wxpython/gui_core/widgets.py
+++ b/gui/wxpython/gui_core/widgets.py
@@ -14,6 +14,12 @@ Classes:
  - widgets::CoordinatesValidator
  - widgets::IntegerValidator
  - widgets::FloatValidator
+ - widgets::EmailValidator
+ - widgets::TimeISOValidator
+ - widgets::MapValidator
+ - widgets::NTCValidator
+ - widgets::SimpleValidator
+ - widgets::GenericValidator
  - widgets::GListCtrl
  - widgets::SearchModuleWidget
  - widgets::ManageSettingsWidget
@@ -21,6 +27,10 @@ Classes:
  - widgets::ColorTablesComboBox
  - widgets::BarscalesComboBox
  - widgets::NArrowsComboBox
+ - widgets::LayersList
+
+ at todo:
+ - move validators to a separate file gui_core/validators.py
 
 (C) 2008-2014 by the GRASS Development Team
 
@@ -31,11 +41,15 @@ This program is free software under the GNU General Public License
 @author Enhancements by Michael Barton <michael.barton asu.edu>
 @author Anna Kratochvilova <kratochanna gmail.com> (Google SoC 2011)
 @author Stepan Turek <stepan.turek seznam.cz> (ManageSettingsWidget - created from GdalSelect)
+ at author Matej Krejci <matejkrejci gmail.com> (Google GSoC 2014; EmailValidator, TimeISOValidator)
 """
 
 import os
 import sys
 import string
+import re
+from bisect import bisect
+from datetime import datetime
 
 import wx
 import wx.lib.mixins.listctrl as listmix
@@ -56,6 +70,8 @@ try:
 except ImportError:
     import wx.lib.customtreectrl as CT
 
+from grass.script import core as grass
+
 from grass.pydispatch.signal import Signal
 
 from core        import globalvar
@@ -103,7 +119,12 @@ class NotebookController:
         if 'name' in kwargs:
             self.notebookPages[kwargs['name']] = kwargs['page']
             del kwargs['name']
-        self.classObject.InsertPage(self.widget, **kwargs)
+        try:
+            self.classObject.InsertPage(self.widget, **kwargs)
+        except TypeError, e:  # documentation says 'index', but certain versions of wx require 'n'
+            kwargs['n'] = kwargs['index']
+            del kwargs['index']
+            self.classObject.InsertPage(self.widget, **kwargs)
 
     def DeletePage(self, page):
         """Delete page
@@ -214,6 +235,16 @@ class FlatNotebookController(NotebookController):
 
         return self.classObject.GetPageIndex(self.widget, self.notebookPages[page])
 
+    def InsertPage(self, **kwargs):
+        """Insert a new page
+        """
+        if 'name' in kwargs:
+            self.notebookPages[kwargs['name']] = kwargs['page']
+            del kwargs['name']
+        kwargs['indx'] = kwargs['index']
+        del kwargs['index']
+        self.classObject.InsertPage(self.widget, **kwargs)
+
 
 class GNotebook(FN.FlatNotebook):
     """Generic notebook widget.
@@ -602,6 +633,52 @@ class FloatValidator(BaseValidator):
         """Clone validator"""
         return FloatValidator()
 
+
+class EmailValidator(BaseValidator):
+    """Validator for email input"""
+    def __init__(self):
+        BaseValidator.__init__(self)
+
+    def Validate(self):
+        """Validate input"""
+        textCtrl = self.GetWindow()
+        text = textCtrl.GetValue()
+        if text:
+            if re.match(r'\b[\w.-]+@[\w.-]+.\w{2,4}\b', text) is None:
+                self._notvalid()
+                return False
+
+        self._valid()
+        return True
+
+    def Clone(self):
+        """Clone validator"""
+        return EmailValidator()
+
+
+class TimeISOValidator(BaseValidator):
+    """Validator for time ISO format (YYYY-MM-DD) input"""
+    def __init__(self):
+        BaseValidator.__init__(self)
+
+    def Validate(self):
+        """Validate input"""
+        textCtrl = self.GetWindow()
+        text = textCtrl.GetValue()
+        if text:
+            try:
+                datetime.strptime(text, '%Y-%m-%d')
+            except:
+                self._notvalid()
+                return False
+
+        self._valid()
+        return True
+
+    def Clone(self):
+        """Clone validator"""
+        return TimeISOValidator()
+
 class NTCValidator(wx.PyValidator):
     """validates input in textctrls, taken from wxpython demo"""
     def __init__(self, flag=None):
@@ -716,7 +793,22 @@ class GenericValidator(wx.PyValidator):
         """
         return True # Prevent wxDialog from complaining.
 
+class MapValidator(GenericValidator):
+    """Validator for map name input
 
+    See G_legal_filename()
+    """
+    def __init__(self):
+        def _mapNameValidationFailed(ctrl):
+            message = _("Name <%(name)s> is not a valid name for GRASS map. "
+                        "Please use only ASCII characters excluding %(chars)s "
+                        "and space.") % {'name': ctrl.GetValue(), 'chars': '/"\'@,=*~'}
+            GError(message, caption=_("Invalid name"))
+        
+        GenericValidator.__init__(self,
+                                  grass.legal_name,
+                                  _mapNameValidationFailed)
+       
 class SingleSymbolPanel(wx.Panel):
     """Panel for displaying one symbol.
 
@@ -844,6 +936,50 @@ class GListCtrl(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.CheckListCt
 
         event.Skip()
 
+    def GetData(self, checked=None):
+        """Get list data"""
+        data = []
+        checkedList = []
+        
+        item = -1
+        while True:
+            
+            row = []
+            item = self.GetNextItem(item)
+            if item == -1:
+                break
+
+            isChecked = self.IsChecked(item)
+            if checked is not None and  checked != isChecked:
+                continue
+
+            checkedList.append(isChecked)
+
+            for i in range(self.GetColumnCount()):
+                row.append(self.GetItem(item, i).GetText())
+            
+            row.append(item)
+            data.append(tuple(row))
+
+        if checked is not None:
+            return tuple(data)
+        else:
+            return (tuple(data), tuple(checkedList))
+
+    def LoadData(self, data=None, selectOne=True):
+        """Load data into list"""
+        self.DeleteAllItems()
+        if data is None:
+            return
+        
+        for item in data:
+            index = self.InsertStringItem(sys.maxint, str(item[0]))
+            for i in range(1, self.GetColumnCount()):
+                self.SetStringItem(index, i, item[i])
+        
+        # check by default only on one item
+        if len(data) == 1 and selectOne:
+            self.CheckItem(index, True)
 
 class SearchModuleWidget(wx.Panel):
     """Search module widget (used e.g. in SearchModuleWindow)
@@ -1021,7 +1157,7 @@ class ManageSettingsWidget(wx.Panel):
         wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY)
 
         self.settingsBox = wx.StaticBox(parent=self, id=wx.ID_ANY,
-                                        label=" %s " % _("Settings"))
+                                        label=" %s " % _("Profiles"))
 
         self.settingsChoice = wx.Choice(parent=self, id=wx.ID_ANY)
         self.settingsChoice.Bind(wx.EVT_CHOICE, self.OnSettingsChanged)
@@ -1050,7 +1186,7 @@ class ManageSettingsWidget(wx.Panel):
 
         self.settingsSizer = wx.StaticBoxSizer(self.settingsBox, wx.HORIZONTAL)
         self.settingsSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                                  label=_("Load settings:")),
+                                                  label=_("Load:")),
                                flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.LEFT,
                                border=5)
         self.settingsSizer.Add(item=self.settingsChoice,
@@ -1374,3 +1510,62 @@ class NArrowsComboBox(PictureComboBox):
 
     def OnMeasureItem(self, item):
         return 32
+
+class LayersList(GListCtrl, listmix.TextEditMixin):
+    """List of layers to be imported (dxf, shp...)"""
+    def __init__(self, parent, columns, log = None):
+        GListCtrl.__init__(self, parent)
+        
+        self.log = log
+        
+        # setup mixins
+        listmix.TextEditMixin.__init__(self)
+        
+        for i in range(len(columns)):
+            self.InsertColumn(i, columns[i])
+        
+        if len(columns) == 4:
+            width = (65, 200, 90)
+        else:
+            width = (65, 180, 90, 70)
+        
+        for i in range(len(width)):
+            self.SetColumnWidth(col = i, width = width[i])
+                
+    def OnLeftDown(self, event):
+        """Allow editing only output name
+        
+        Code taken from TextEditMixin class.
+        """
+        x, y = event.GetPosition()
+        
+        colLocs = [0]
+        loc = 0
+        for n in range(self.GetColumnCount()):
+            loc = loc + self.GetColumnWidth(n)
+            colLocs.append(loc)
+        
+        col = bisect(colLocs, x + self.GetScrollPos(wx.HORIZONTAL)) - 1
+        
+        if col == self.GetColumnCount() - 1:
+            listmix.TextEditMixin.OnLeftDown(self, event)
+        else:
+            event.Skip()
+        
+    def GetLayers(self):
+        """Get list of layers (layer name, output name, list id)"""
+        layers = []
+
+        data = self.GetData(checked=True);
+
+        for itm in data:
+
+            layer = itm[1]
+            ftype = itm[2]
+            if '/' in ftype:
+                layer += '|%s' % ftype.split('/', 1)[0]
+            output = itm[self.GetColumnCount() - 1]
+            layers.append((layer, output, itm[-1]))
+
+        return layers
+
diff --git a/gui/wxpython/iclass/frame.py b/gui/wxpython/iclass/frame.py
index 9527f78..f3513c0 100644
--- a/gui/wxpython/iclass/frame.py
+++ b/gui/wxpython/iclass/frame.py
@@ -86,6 +86,7 @@ class IClassMapFrame(DoubleMapFrame):
                                 firstMap = Map(), secondMap = Map(),
                                 **kwargs)
         self._giface = giface
+        self.tree = None
         self.mapWindowProperties = MapWindowProperties()
         self.mapWindowProperties.setValuesFromUserSettings()
         # show computation region by defaut
@@ -329,7 +330,7 @@ class IClassMapFrame(DoubleMapFrame):
                                                 tools = ['addArea', 'moveVertex', 'addVertex',
                                                          'removeVertex', 'editLine', 'moveLine',
                                                          'deleteArea',
-                                                         'undo', 'redo'])
+                                                         'undo', 'redo', 'settings'])
             self._mgr.AddPane(self.toolbars[name],
                               wx.aui.AuiPaneInfo().
                               Name(name).Caption(_("Digitization Toolbar")).
@@ -430,7 +431,7 @@ class IClassMapFrame(DoubleMapFrame):
 
     def GetMapToolbar(self):
         """Returns toolbar with zooming tools"""
-        return self.toolbars['iClassMap']
+        return self.toolbars['iClassMap'] if 'iClassMap' in self.toolbars else None
 
     def GetClassColor(self, cat):
         """Get class color as string
diff --git a/gui/wxpython/iclass/g.gui.iclass.html b/gui/wxpython/iclass/g.gui.iclass.html
index 3d80810..c202351 100644
--- a/gui/wxpython/iclass/g.gui.iclass.html
+++ b/gui/wxpython/iclass/g.gui.iclass.html
@@ -90,4 +90,4 @@ Vaclav Petras,
  <a href="http://www.cvut.cz">Czech Technical University in Prague</a>, Czech Republic
 
 <p>
-<i>$Date: 2014-04-20 19:57:39 +0200 (Sun, 20 Apr 2014) $</i>
+<i>$Date: 2014-04-20 06:20:39 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/gui/wxpython/iclass/g.gui.iclass.py b/gui/wxpython/iclass/g.gui.iclass.py
index 83ffdc2..091afc8 100755
--- a/gui/wxpython/iclass/g.gui.iclass.py
+++ b/gui/wxpython/iclass/g.gui.iclass.py
@@ -58,6 +58,10 @@ def main():
     options, flags = gscript.parser()
 
     import wx
+
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.settings import UserSettings
     from core.globalvar import CheckWxVersion
     from core.giface import StandaloneGrassInterface
diff --git a/gui/wxpython/iscatt/plots.py b/gui/wxpython/iscatt/plots.py
index d03ce92..875fa6d 100644
--- a/gui/wxpython/iscatt/plots.py
+++ b/gui/wxpython/iscatt/plots.py
@@ -1,14 +1,14 @@
 """
 @package iscatt.plots
 
- at brief Ploting widgets.
+ at brief Plotting widgets
 
 Classes:
  - plots::ScatterPlotWidget
  - plots::PolygonDrawer
  - plots::ModestImage
- 
-(C) 2013 by the GRASS Development Team
+
+(C) 2013-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -39,7 +39,8 @@ try:
     import matplotlib.colors as mcolors
     import matplotlib.cbook as cbook
 except ImportError as e:
-    raise ImportError(_("Unable to import matplotlib (try to install it).\n%s") % e)
+    raise ImportError(_('The Scatterplot Tool needs the "matplotlib" '
+                        '(python-matplotlib) package to be installed. {}').format(e))
 
 import grass.script as grass
 from grass.pydispatch.signal import Signal
diff --git a/gui/wxpython/lmgr/__init__.py b/gui/wxpython/lmgr/__init__.py
index b3cb597..8b42df7 100644
--- a/gui/wxpython/lmgr/__init__.py
+++ b/gui/wxpython/lmgr/__init__.py
@@ -5,4 +5,5 @@ all = [
     'pyshell',
     'frame',
     'giface',
+    'datacatalog'
     ]
diff --git a/gui/wxpython/lmgr/frame.py b/gui/wxpython/lmgr/frame.py
index 889ba2a..5258a90 100644
--- a/gui/wxpython/lmgr/frame.py
+++ b/gui/wxpython/lmgr/frame.py
@@ -49,15 +49,15 @@ from core.utils            import SetAddOnPath, GetLayerNameFromCmd, command2lty
 from gui_core.preferences  import MapsetAccess, PreferencesDialog
 from lmgr.layertree        import LayerTree, LMIcons
 from lmgr.menudata         import LayerManagerMenuData, LayerManagerModuleTree
-from gui_core.widgets      import GNotebook
+from gui_core.widgets      import GNotebook, FormNotebook
 from modules.mcalc_builder import MapCalcFrame
 from dbmgr.manager         import AttributeManager
 from core.workspace        import ProcessWorkspaceFile, ProcessGrcFile, WriteWorkspaceFile
 from core.gconsole         import GConsole, EVT_IGNORED_CMD_RUN
 from core.giface           import Notification
 from gui_core.goutput      import GConsoleWindow, GC_SEARCH, GC_PROMPT
-from gui_core.dialogs      import GdalOutputDialog, DxfImportDialog, GdalImportDialog, MapLayersDialog
-from gui_core.dialogs      import LocationDialog, MapsetDialog, CreateNewVector, GroupDialog, QuitDialog
+from modules.import_export import GdalOutputDialog, DxfImportDialog, GdalImportDialog, OgrImportDialog
+from gui_core.dialogs      import LocationDialog, MapsetDialog, CreateNewVector, GroupDialog, MapLayersDialog, QuitDialog
 from modules.colorrules    import RasterColorTable, VectorColorTable
 from gui_core.menu         import Menu, SearchModuleWindow
 from gmodeler.model        import Model
@@ -70,6 +70,7 @@ from lmgr.toolbars         import LMWorkspaceToolbar, LMDataToolbar, LMToolsTool
 from lmgr.toolbars         import LMMiscToolbar, LMVectorToolbar, LMNvizToolbar
 from lmgr.pyshell          import PyShellWindow
 from lmgr.giface           import LayerManagerGrassInterface
+from datacatalog.catalog   import DataCatalog
 from gui_core.forms        import GUI
 from gcp.manager           import GCPWizard
 from nviz.main             import haveNviz
@@ -277,17 +278,20 @@ class GMFrame(wx.Frame):
     
     def _createNoteBook(self):
         """Creates notebook widgets"""
-        self.notebook = GNotebook(parent = self, style = globalvar.FNPageDStyle)
+        if sys.platform == 'win32':
+            self.notebook = GNotebook(parent=self, style=globalvar.FNPageDStyle)
+        else:
+            self.notebook = FormNotebook(parent=self, style=wx.NB_BOTTOM)
         # create displays notebook widget and add it to main notebook page
         cbStyle = globalvar.FNPageStyle
         if globalvar.hasAgw:
-            self.notebookLayers = FN.FlatNotebook(self, id = wx.ID_ANY, agwStyle = cbStyle)
+            self.notebookLayers = FN.FlatNotebook(self.notebook, id=wx.ID_ANY, agwStyle=cbStyle)
         else:
-            self.notebookLayers = FN.FlatNotebook(self, id = wx.ID_ANY, style = cbStyle)
+            self.notebookLayers = FN.FlatNotebook(self.notebook, id=wx.ID_ANY, style=cbStyle)
         self.notebookLayers.SetTabAreaColour(globalvar.FNPageColor)
         menu = self._createTabMenu()
         self.notebookLayers.SetRightClickMenu(menu)
-        self.notebook.AddPage(page = self.notebookLayers, text = _("Map layers"), name = 'layers')
+        self.notebook.AddPage(page = self.notebookLayers, text = _("Layers"), name = 'layers')
         
         # create 'command output' text area
         self._gconsole = GConsole(guiparent = self, giface = self._giface,
@@ -295,10 +299,10 @@ class GMFrame(wx.Frame):
                                                       '^r.external$|^r.external.out$|'
                                                       '^v.in.ogr$|^v.external$|^v.external.out$|'
                                                       '^cd$|^cd .*')
-        self.goutput = GConsoleWindow(parent = self, gconsole = self._gconsole,
+        self.goutput = GConsoleWindow(parent=self.notebook, gconsole=self._gconsole,
                                       menuModel=self._moduleTreeBuilder.GetModel(),
                                       gcstyle = GC_PROMPT)
-        self.notebook.AddPage(page = self.goutput, text = _("Command console"), name = 'output')
+        self.notebook.AddPage(page = self.goutput, text = _("Console"), name = 'output')
 
         self.goutput.showNotification.connect(lambda message: self.SetStatusText(message))
 
@@ -313,22 +317,31 @@ class GMFrame(wx.Frame):
         
         # create 'search module' notebook page
         if not UserSettings.Get(group = 'manager', key = 'hideTabs', subkey = 'search'):
-            self.search = SearchModuleWindow(parent = self, model=self._moduleTreeBuilder.GetModel())
+            self.search = SearchModuleWindow(parent=self.notebook, handlerObj=self,
+                                             model=self._moduleTreeBuilder.GetModel())
             self.search.showNotification.connect(lambda message: self.SetStatusText(message))
-            self.notebook.AddPage(page = self.search, text = _("Search modules"), name = 'search')
+            self.notebook.AddPage(page = self.search, text = _("Modules"), name = 'search')
         else:
             self.search = None
         
+        # create 'data catalog' notebook page
+        self.datacatalog = DataCatalog(parent=self.notebook, giface=self._giface)
+        self.datacatalog.showNotification.connect(lambda message: self.SetStatusText(message))
+        self.notebook.AddPage(page = self.datacatalog, text = _("Data"), name = 'catalog')
+        
         # create 'python shell' notebook page
         if not UserSettings.Get(group = 'manager', key = 'hideTabs', subkey = 'pyshell'):
-            self.pyshell = PyShellWindow(parent = self)
-            self.notebook.AddPage(page = self.pyshell, text = _("Python shell"), name = 'pyshell')
+            self.pyshell = PyShellWindow(parent=self.notebook, giface=self._giface)
+            self.notebook.AddPage(page = self.pyshell, text = _("Python"), name = 'pyshell')
         else:
             self.pyshell = None
         
         # bindings
+        if sys.platform == 'win32':
+            self.notebook.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
+        else:
+            self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
         self.notebookLayers.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED,    self.OnCBPageChanged)
-        self.notebook.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CHANGED, self.OnPageChanged)
         self.notebookLayers.Bind(FN.EVT_FLATNOTEBOOK_PAGE_CLOSING,    self.OnCBPageClosed)
         
         return self.notebook
@@ -353,10 +366,10 @@ class GMFrame(wx.Frame):
         self._auimgr.Update()
         
         # create nviz tools tab
-        self.nviz = NvizToolWindow(parent = self,
-                                   display = self.GetMapDisplay())
+        self.nviz = NvizToolWindow(parent=self.notebook, tree=self.GetLayerTree(),
+                                   display=self.GetMapDisplay())
         idx = self.notebook.GetPageIndexByName('layers')
-        self.notebook.InsertPage(indx = idx + 1, page = self.nviz, text = _("3D view"), name = 'nviz')
+        self.notebook.InsertPage(index=idx + 1, page=self.nviz, text=_("3D view"), name='nviz')
         self.notebook.SetSelectionByName('nviz')
 
         # this is a bit strange here since a new window is created everytime
@@ -546,6 +559,8 @@ class GMFrame(wx.Frame):
         page = event.GetSelection()
         if page == self.notebook.GetPageIndexByName('output'):
             wx.CallAfter(self.goutput.ResetFocus)
+        elif page == self.notebook.GetPageIndexByName('catalog'):
+            wx.CallAfter(self.datacatalog.LoadItems)
         self.SetStatusText('', 0)
         
         event.Skip()
@@ -677,7 +692,7 @@ class GMFrame(wx.Frame):
             # add layer into layer tree
             lname, found = GetLayerNameFromCmd(command, fullyQualified = True,
                                                layerType = layertype)
-            self.GetLayerTree().AddLayer(ltype = layertype,
+            self.GetLayerTree().AddLayer(ltype = layertype, lchecked = True,
                                          lname = lname,
                                          lcmd = command)
 
@@ -1059,8 +1074,8 @@ class GMFrame(wx.Frame):
         if name and dlg.IsChecked('add'):
             # add layer to map layer tree
             self.GetLayerTree().AddLayer(ltype = 'vector',
-                                            lname = name,
-                                            lcmd = ['d.vect', 'map=%s' % name])
+                                         lname = name, lchecked=True,
+                                         lcmd = ['d.vect', 'map=%s' % name])
         dlg.Destroy()
         
     def OnSystemInfo(self, event):
@@ -1085,16 +1100,16 @@ class GMFrame(wx.Frame):
                                 "%s: %s\n"
                                 "%s: %s\n"
                                 # "%s: %s (%s)\n"
-                                "GDAL/OGR: %s\n"
+                                "GDAL: %s\n"
                                 "PROJ.4: %s\n"
                                 "GEOS: %s\n"
                                 "SQLite: %s\n"
                                 "Python: %s\n"
                                 "wxPython: %s\n"
                                 "%s: %s%s\n"% (_("GRASS version"), vInfo.get('version', _('unknown version')),
-                                               _("GRASS SVN Revision"), vInfo.get('revision', '?'),
-                                               _("Build Date"), vInfo.get('build_date', '?'),
-                                               _("Build Platform"), vInfo.get('build_platform', '?'),
+                                               _("GRASS SVN revision"), vInfo.get('revision', '?'),
+                                               _("Build date"), vInfo.get('build_date', '?'),
+                                               _("Build platform"), vInfo.get('build_platform', '?'),
                                                # _("GIS Library Revision"), vInfo.get('libgis_revision'], vInfo.get('libgis_date'].split(' ', 1)[0],
                                                vInfo.get('gdal', '?'), vInfo.get('proj4', '?'), vInfo.get('geos', '?'), vInfo.get('sqlite', '?'),
                                                platform.python_version(),
@@ -1274,7 +1289,7 @@ class GMFrame(wx.Frame):
                     mapdisp.SetPosition(display['pos'])
                 if display['size']:
                     mapdisp.SetSize(display['size'])
-                    
+            
             # set extent if defined
             if display['extent']:
                 w, s, e, n, b, t = display['extent']
@@ -1563,7 +1578,7 @@ class GMFrame(wx.Frame):
         The parameters of all handlers which are associated with module
         and contained in menu/toolboxes must be event and cmd.
         When called from menu event is always None and cmd is the
-        associated command (list containing a module name and paremeters).
+        associated command (list containing a module name and parameters).
         
         .. todo::
             This documentation is actually documentation of some
@@ -1698,13 +1713,13 @@ class GMFrame(wx.Frame):
         
     def OnImportOgrLayers(self, event, cmd = None):
         """Convert multiple OGR layers to GRASS vector map layers"""
-        dlg = GdalImportDialog(parent = self, giface = self._giface, ogr = True)
+        dlg = OgrImportDialog(parent = self, giface = self._giface)
         dlg.CentreOnScreen()
         dlg.Show()
         
     def OnLinkOgrLayers(self, event, cmd = None):
         """Links multiple OGR layers to GRASS vector map layers"""
-        dlg = GdalImportDialog(parent = self, giface = self._giface, ogr = True, link = True)
+        dlg = OgrImportDialog(parent = self, giface = self._giface, link = True)
         dlg.CentreOnScreen()
         dlg.Show()
         
@@ -1874,19 +1889,16 @@ class GMFrame(wx.Frame):
         for layerName in mapLayers:
             if ltype == 'raster':
                 cmd = ['d.rast', 'map=%s' % layerName]
-                wxType = 'raster'
             elif ltype == 'raster_3d':
                 cmd = ['d.rast3d', 'map=%s' % layerName]
-                wxType = '3d-raster'
             elif ltype == 'vector':
                 cmd = ['d.vect', 'map=%s' % layerName] + GetDisplayVectSettings()
-                wxType = 'vector'
             else:
                 GError(parent = self,
                        message = _("Unsupported map layer type <%s>.") % ltype)
                 return
             
-            newItem = maptree.AddLayer(ltype = wxType,
+            newItem = maptree.AddLayer(ltype = ltype,
                                        lname = layerName,
                                        lchecked = check,
                                        lopacity = 1.0,
@@ -1918,23 +1930,13 @@ class GMFrame(wx.Frame):
     def AddOrUpdateMap(self, mapName, ltype):
         """Add map layer or update"""
         # start new map display if no display is available
-
-        # TODO: standardize type identifiers
-        convertType = {'raster': 'raster',
-                       '3d-raster': 'raster_3d',
-                       'vector': 'vector'}
-        try:
-            grassType = convertType[ltype]
-        except KeyError:
-            if ltype in convertType.values():
-                grassType = ltype
-            else:
-                GError(parent = self,
-                       message = _("Unsupported map layer type <%s>.") % ltype)
-                return
+        if ltype not in ['raster', 'raster_3d', 'vector']:
+            GError(parent = self,
+                   message = _("Unsupported map layer type <%s>.") % ltype)
+            return
 
         if not self.currentPage:
-            self.AddMaps([mapName], grassType, check = True)
+            self.AddMaps([mapName], ltype, check=True)
         else:
             display = self.GetMapDisplay()
             mapLayers = map(lambda x: x.GetName(),
@@ -1942,7 +1944,7 @@ class GMFrame(wx.Frame):
             if mapName in mapLayers:
                 display.GetWindow().UpdateMap(render = True)
             else:
-                self.AddMaps([mapName], grassType, check = True)
+                self.AddMaps([mapName], ltype, check=True)
 
     def OnAddRaster(self, event):
         """Add raster map layer"""
@@ -1959,7 +1961,7 @@ class GMFrame(wx.Frame):
         if not self.currentPage:
             self.NewDisplay(show = True)
         
-        self._popupMenu((('layer3d-raster', self.OnAddRaster3D),
+        self._popupMenu((('layerRaster_3d', self.OnAddRaster3D),
                          (None, None),
                          ('layerRgb',    self.OnAddRasterRGB),
                          ('layerHis',    self.OnAddRasterHIS),
@@ -2022,7 +2024,7 @@ class GMFrame(wx.Frame):
     def OnAddRaster3D(self, event):
         """Add 3D raster map to the current layer tree"""
         self.notebook.SetSelectionByName('layers')
-        self.GetLayerTree().AddLayer('3d-raster')
+        self.GetLayerTree().AddLayer('raster_3d')
 
     def OnAddRasterRGB(self, event):
         """Add RGB raster map to the current layer tree"""
diff --git a/gui/wxpython/lmgr/giface.py b/gui/wxpython/lmgr/giface.py
index 1aa3809..c7d889b 100644
--- a/gui/wxpython/lmgr/giface.py
+++ b/gui/wxpython/lmgr/giface.py
@@ -47,11 +47,16 @@ class LayerList(object):
     def __init__(self, tree):
         self._tree = tree
 
+    def __len__(self):
+        return len([layer for layer in self])
+        
     def __iter__(self):
         """Iterates over the contents of the list."""
-        for item in self._tree.GetSelectedLayer(multi=True):
+        item = self._tree.GetFirstChild(self._tree.root)[0]
+        while item and item.IsOk():
             yield Layer(self._tree.GetPyData(item))
-
+            item = self._tree.GetNextItem(item)
+        
     def __getitem__(self, index):
         """Select a layer from the LayerList using the index."""
         return [l for l in self][index]
@@ -90,7 +95,7 @@ class LayerList(object):
 
         Launches property dialog if needed (raster, vector, etc.)
 
-        :param ltype: layer type (raster, vector, 3d-raster, ...)
+        :param ltype: layer type (raster, vector, raster_3d, ...)
         :param name: layer name
         :param checked: if True layer is checked
         :param opacity: layer opacity level
@@ -194,7 +199,23 @@ class LayerManagerGrassInterface(object):
 
     def UpdateCmdHistory(self, cmd):
         self.lmgr.goutput.GetPrompt().UpdateCmdHistory(cmd)
+        
+    def ShowStatusbar(self, show=True):
+        self.lmgr.GetMapDisplay().statusbarManager.Show(show)
+
+    def IsStatusbarShown(self):
+        return self.lmgr.GetMapDisplay().statusbarManager.IsShown()
 
+    def ShowAllToolbars(self, show=True):
+        if not show: # hide
+            action = self.lmgr.GetMapDisplay().RemoveToolbar
+        else:
+            action = self.lmgr.GetMapDisplay().AddToolbar
+        for toolbar in self.lmgr.GetMapDisplay().GetToolbarNames():
+            action(toolbar)
+            
+    def AreAllToolbarsShown(self):
+        return self.lmgr.GetMapDisplay().GetMapToolbar().IsShown()
 
 class LayerManagerGrassInterfaceForMapDisplay(object):
     """Provides reference only to the given layer list (according to tree),
diff --git a/gui/wxpython/lmgr/layertree.py b/gui/wxpython/lmgr/layertree.py
index c1ef3c2..ebaef23 100644
--- a/gui/wxpython/lmgr/layertree.py
+++ b/gui/wxpython/lmgr/layertree.py
@@ -45,7 +45,7 @@ from vdigit.main          import haveVDigit
 from core.gcmd            import GWarning, GError, RunCommand
 from icons.icon           import MetaIcon
 from web_services.dialogs import SaveWMSLayerDialog
-from gui_core.widgets import GenericValidator
+from gui_core.widgets import MapValidator
 from lmgr.giface import LayerManagerGrassInterfaceForMapDisplay
 from core.giface import Notification
 
@@ -100,7 +100,7 @@ LMIcons = {
                             label = _('Add rhumbline layer')),
     'layerLabels'  : MetaIcon(img = 'label',
                             label = _('Add labels')),
-    'layer3d-raster'  : MetaIcon(img = 'raster3d',
+    'layerRaster_3d'  : MetaIcon(img = 'raster3d',
                             label = _('Add 3D raster map layer'),
                             desc  =  _('Note that 3D raster data are rendered only in 3D view mode')),
     'layerWms'      :  MetaIcon(img = 'wms',
@@ -217,7 +217,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
 
     def _setIcons(self, il):
         self._icon = {}
-        for iconName in ("layerRaster", "layer3d-raster", "layerRgb",
+        for iconName in ("layerRaster", "layerRaster_3d", "layerRgb",
                          "layerHis", "layerShaded", "layerRastarrow",
                          "layerRastnum", "layerVector", "layerThememap",
                          "layerThemechart", "layerGrid", "layerGeodesic",
@@ -370,7 +370,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             # can cause another idle event
             self.rerender = False
             if self.mapdisplay.IsAutoRendered():
-                self.mapdisplay.GetMapWindow().UpdateMap(render=True)
+                self.mapdisplay.GetMapWindow().UpdateMap(render=False)
         
         event.Skip()
         
@@ -405,8 +405,8 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             for key in ('remove', 'rename', 'opacity', 'nviz', 'zoom',
                         'region', 'export', 'attr', 'edit', 'save_ws',
                         'bgmap', 'topo', 'meta', 'null', 'zoom1',
-                        'color', 'hist', 'univar', 'prof', 'properties', 'sql', 'copy',
-                        'report', 'export-pg', 'pack'):
+                        'color', 'colori', 'hist', 'univar', 'prof', 'properties', 'sql', 'copy',
+                        'report', 'export-pg', 'export-attr', 'pack'):
                 self.popupID[key] = wx.NewId()
         
         # get current mapset
@@ -439,7 +439,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         if ltype not in ("group", "command"):
             if numSelected == 1:
                 self.popupMenu.AppendSeparator()
-                if ltype != '3d-raster':
+                if ltype != 'raster_3d':
                     item = wx.MenuItem(self.popupMenu, id = self.popupID['opacity'], text=_("Change opacity level"))
                     item.SetBitmap(MetaIcon(img = 'layer-opacity').GetBitmap(self.bmpsize))
                     self.popupMenu.AppendItem(item)
@@ -449,11 +449,11 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 self.popupMenu.AppendItem(item)
                 self.Bind(wx.EVT_MENU, self.OnPopupProperties, id = self.popupID['properties'])
             
-                if ltype in ('raster', 'vector', '3d-raster') and self.mapdisplay.IsPaneShown('3d'):
+                if ltype in ('raster', 'vector', 'raster_3d') and self.mapdisplay.IsPaneShown('3d'):
                     self.popupMenu.Append(self.popupID['nviz'], _("3D view properties"))
                     self.Bind (wx.EVT_MENU, self.OnNvizProperties, id = self.popupID['nviz'])
 
-            if same and ltype in ('raster', 'vector', 'rgb', '3d-raster'):
+            if same and ltype in ('raster', 'vector', 'rgb', 'raster_3d'):
                 self.popupMenu.AppendSeparator()
                 item = wx.MenuItem(self.popupMenu, id = self.popupID['zoom'], text = _("Zoom to selected map(s)"))
                 item.SetBitmap(MetaIcon(img = 'zoom-layer').GetBitmap(self.bmpsize))
@@ -490,6 +490,13 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             if 'v.out.postgis' not in globalvar.grassCmd:
                 self.popupMenu.Enable(self.popupID['export-pg'], False)
 
+            self.popupMenu.Append(self.popupID['export-attr'], text = _("Export attribute table"))
+            self.Bind(wx.EVT_MENU, lambda x: self.lmgr.OnMenuCmd(cmd = ['v.db.select',
+                                                                        'map=%s' % mapLayer.GetName()]),
+                      id = self.popupID['export-attr'])
+            if 'v.db.select' not in globalvar.grassCmd:
+                self.popupMenu.Enable(self.popupID['export-attr'], False)
+
             item = wx.MenuItem(self.popupMenu, id = self.popupID['pack'], text = _("Create pack"))
             self.popupMenu.AppendItem(item)
             self.Bind(wx.EVT_MENU, lambda x: self.lmgr.OnMenuCmd(cmd = ['v.pack',
@@ -603,6 +610,8 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 
             self.popupMenu.Append(self.popupID['color'], _("Set color table"))
             self.Bind (wx.EVT_MENU, self.OnRasterColorTable, id = self.popupID['color'])
+            self.popupMenu.Append(self.popupID['colori'], _("Set color table interactively"))
+            self.Bind (wx.EVT_MENU, self.lmgr.OnRasterRules, id = self.popupID['colori'])
 
             item = wx.MenuItem(self.popupMenu, id = self.popupID['hist'], text = _("Histogram"))
             item.SetBitmap(MetaIcon(img = 'layer-raster-histogram').GetBitmap(self.bmpsize))
@@ -630,7 +639,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 self.popupMenu.AppendItem(item)
                 self.Bind (wx.EVT_MENU, self.OnMetadata, id = self.popupID['meta'])
             
-        elif mltype and mltype == '3d-raster':
+        elif mltype and mltype == 'raster_3d':
             if numSelected == 1:
                 self.popupMenu.AppendSeparator()
                 self.popupMenu.Append(self.popupID['color'], _("Set color table"))
@@ -689,7 +698,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             cmd = ['r.info']
         elif mltype == 'vector':
             cmd = ['v.info']
-        elif mltype == '3d-raster':
+        elif mltype == 'raster_3d':
             cmd = ['r3.info']
         cmd.append('map=%s' % mapLayer.GetName())
 
@@ -724,7 +733,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 rast.append(mapLayer.GetName())
             elif mltype == 'vector':
                 vect.append(mapLayer.GetName())
-            elif mltype == '3d-raster':
+            elif mltype == 'raster_3d':
                 rast3d.append(mapLayer.GetName())
             elif mltype == 'rgb':
                 for rname in mapLayer.GetName().splitlines():
@@ -740,7 +749,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         
         # print output to command log area
         if len(cmd) > 1:
-            if mltype == '3d-raster':
+            if mltype == 'raster_3d':
                 cmd.append('-3')
             self._giface.RunCmd(cmd, compReg = False,
                                 notification=Notification.NO_NOTIFICATION)
@@ -764,7 +773,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         raster2d = []
         raster3d = []
         for layer in self.GetSelectedLayers():
-            if self.GetLayerInfo(layer, key='type') == '3d-raster':
+            if self.GetLayerInfo(layer, key='type') == 'raster_3d':
                 raster3d.append(self.GetLayerInfo(layer, key = 'maplayer').GetName())
             else:
                 raster2d.append(self.GetLayerInfo(layer, key = 'maplayer').GetName())
@@ -782,12 +791,6 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         GUI(parent = self, centreOnParent = False).ParseCommand(['v.colors',
                                                                  'map=%s' % name])
         
-    def _mapNameValidationFailed(self, ctrl):
-        message = _("Name <%(name)s> is not a valid name for GRASS map. "
-                    "Please use only ASCII characters excluding %(chars)s "
-                    "and space.") % {'name': ctrl.GetValue(), 'chars': '/"\'@,=*~'}
-        GError(parent=self, message=message, caption=_("Invalid name"))
-
     def OnCopyMap(self, event):
         """Copy selected map into current mapset"""
         layer = self.GetSelectedLayer()
@@ -802,7 +805,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             key = 'vector'
             module = 'vect'
             label = _('Vector map')
-        elif ltype == '3d-raster':
+        elif ltype == 'raster_3d':
             key = 'raster_3d'
             module = 'rast3d'
             label = _('3D raster map')
@@ -815,7 +818,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                               message = _('Enter name for the new %s in the current mapset:') % label.lower(),
                               caption = _('Make a copy of %s <%s>') % (label.lower(), lnameSrc),
                               defaultValue = lnameSrc.split('@')[0],
-                              validator = GenericValidator(grass.legal_name, self._mapNameValidationFailed),
+                              validator = MapValidator(),
                               size = (700, -1))
         if dlg.ShowModal() == wx.ID_OK:
             lnameDst = dlg.GetValue()
@@ -874,7 +877,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         raster2d = []
         raster3d = []
         for layer in self.GetSelectedLayers():
-            if self.GetLayerInfo(layer, key='type') == '3d-raster':
+            if self.GetLayerInfo(layer, key='type') == 'raster_3d':
                 raster3d.append(self.GetLayerInfo(layer, key = 'maplayer').GetName())
             else:
                 raster2d.append(self.GetLayerInfo(layer, key = 'maplayer').GetName())
@@ -1007,7 +1010,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             self.lmgr.nviz.SetPage('surface')
         elif ltype == 'vector':
             self.lmgr.nviz.SetPage('vector')
-        elif ltype == '3d-raster':
+        elif ltype == 'raster_3d':
             self.lmgr.nviz.SetPage('volume')
         
     def OnRenameLayer (self, event):
@@ -1032,7 +1035,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         """Add new item to the layer tree, create corresponding MapLayer instance.
         Launch property dialog if needed (raster, vector, etc.)
 
-        :param ltype: layer type (raster, vector, 3d-raster, ...)
+        :param ltype: layer type (raster, vector, raster_3d, ...)
         :param lname: layer name
         :param lchecked: if True layer is checked
         :param lopacity: layer opacity level
@@ -1054,7 +1057,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         
         selectedLayer = self.GetSelectedLayer()
         # deselect active item
-        if selectedLayer:
+        if lchecked != False and selectedLayer:
             self.SelectItem(selectedLayer, select=False)
         
         Debug.msg (3, "LayerTree().AddLayer(): ltype=%s" % (ltype))
@@ -1107,8 +1110,10 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         # use predefined value if given
         if lchecked is not None:
             checked = lchecked
+            render = True if checked else False
         else:
-            checked = True
+            checked = False
+            render = False
         
         self.forceCheck = True
         
@@ -1122,7 +1127,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         else:
             if ltype in self._icon:
                 self.SetItemImage(layer, self._icon[ltype])
-                # do not use title() - will not work with ltype == '3d-raster'
+                # do not use title() - will not work with ltype == 'raster_3d'
                 self.SetItemText(layer, '%s %s' % (LMIcons["layer"+ltype[0].upper()+ltype[1:]].GetLabel(),
                                                    _('(double click to set properties)') + ' ' * 15))
             else:
@@ -1132,7 +1137,6 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         if ltype != 'group':
             if lcmd and len(lcmd) > 1:
                 cmd = lcmd
-                render = False
                 name, found = GetLayerNameFromCmd(lcmd)
             else:
                 cmd = []
@@ -1140,7 +1144,6 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                     for c in lname.split(';'):
                         cmd.append(c.split(' '))
                 
-                render = False
                 name = None
             
             if ctrl:
@@ -1148,7 +1151,8 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             else:
                 ctrlId = None
             
-            # add a data object to hold the layer's command (does not apply to generic command layers)
+            # add a data object to hold the layer's command (does not
+            # apply to generic command layers)
             self.SetPyData(layer, ({'cmd'      : cmd,
                                     'type'     : ltype,
                                     'ctrl'     : ctrlId,
@@ -1158,6 +1162,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                                     'nviz'     : lnviz,
                                     'propwin'  : None}, 
                                    None))
+            
             # must be after SetPyData because it calls OnLayerChecked
             # which calls GetVisibleLayers which requires already set PyData
             self.CheckItem(layer, checked=checked)
@@ -1188,7 +1193,6 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 self.PropertiesDialog(layer, show = True)
             else:
                 self.first = False
-        
         else: # group
             self.SetPyData(layer, ({'cmd'      : None,
                                     'type'     : ltype,
@@ -1199,7 +1203,8 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                                    None))
         
         # select new item
-        self.SelectItem(layer, select = True)
+        if lchecked != False:
+            self.SelectItem(layer, select = True)
 
         # use predefined layer name if given
         if lname:
@@ -1213,7 +1218,6 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             if ltype == 'group':
                 self.OnRenameLayer(None)
 
-        
         return layer
 
     def PropertiesDialog(self, layer, show = True):
@@ -1227,37 +1231,32 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 win.SetFocus()
             else:
                 win.Show()
-            
             return
         
         params = self.GetLayerParams(layer)
                 
         Debug.msg (3, "LayerTree.PropertiesDialog(): ltype=%s" % \
                    ltype)
-
+        
         cmd = None
         if self.GetLayerInfo(layer, key = 'cmd'):
-
             module = GUI(parent = self, show = show, centreOnParent = False)
             module.ParseCommand(self.GetLayerInfo(layer, key = 'cmd'),
-                                completed = (self.GetOptData,layer,params))
-            
+                                completed = (self.GetOptData, layer, params))
             self.SetLayerInfo(layer, key = 'cmd', value = module.GetCmd())
         elif self.GetLayerInfo(layer, key = 'type') != 'command':
             cmd = [ltype2command[ltype]]
-            if ltype == 'raster':
-                if UserSettings.Get(group = 'rasterLayer', key = 'opaque', subkey = 'enabled'):
-                    cmd.append('-n')
-            elif ltype == 'rgb':
+            if ltype in ('raster', 'rgb'):
                 if UserSettings.Get(group = 'rasterLayer', key = 'opaque', subkey = 'enabled'):
                     cmd.append('-n')
             elif ltype == 'vector':
                 cmd += GetDisplayVectSettings()
-            
-        if cmd:
-            GUI(parent = self, centreOnParent = False).ParseCommand(cmd,
-                                                                    completed = (self.GetOptData,layer,params))
         
+        if cmd:
+            module = GUI(parent = self, centreOnParent = False)
+            module.ParseCommand(cmd,
+                                completed = (self.GetOptData,layer,params))
+            
     def OnActivateLayer(self, event):
         """Double click on the layer item.
         Launch property dialog, or expand/collapse group of items, etc.
@@ -1370,7 +1369,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             if checked: # enable
                 if mapLayer.type == 'raster':
                     self.mapdisplay.MapWindow.LoadRaster(item)
-                elif mapLayer.type == '3d-raster':
+                elif mapLayer.type == 'raster_3d':
                     self.mapdisplay.MapWindow.LoadRaster3d(item)
                 elif mapLayer.type == 'vector':
                     vInfo = gvector.vector_info_topo(mapLayer.GetName())
@@ -1382,7 +1381,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             else: # disable
                 if mapLayer.type == 'raster':
                     self.mapdisplay.MapWindow.UnloadRaster(item)
-                elif mapLayer.type == '3d-raster':
+                elif mapLayer.type == 'raster_3d':
                     self.mapdisplay.MapWindow.UnloadRaster3d(item)
                 elif mapLayer.type == 'vector':
                     self.mapdisplay.MapWindow.UnloadVector(item)
@@ -1392,7 +1391,12 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         # redraw map if auto-rendering is enabled
         self.rerender = True
         self.Map.SetLayers(self.GetVisibleLayers())
-        
+
+        # if interactive vector feature selection is open -> reset
+        vselect = self._giface.GetMapDisplay().GetDialog('vselect')
+        if vselect:
+            vselect.Reset()
+
     def OnCmdChanged(self, event):
         """Change command string"""
         ctrl = event.GetEventObject().GetId()
@@ -1489,10 +1493,15 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 elif type == 'vector':
                     self.lmgr.nviz.UpdatePage('vector')
                     self.lmgr.nviz.SetPage('vector')
-                elif type == '3d-raster':
+                elif type == 'raster_3d':
                     self.lmgr.nviz.UpdatePage('volume')
                     self.lmgr.nviz.SetPage('volume')
 
+        # if interactive vector feature selection is open -> reset
+        vselect = self._giface.GetMapDisplay().GetDialog('vselect')
+        if vselect:
+            vselect.Reset()
+
     def OnEndDrag(self, event):
         self.StopDragging()
         dropTarget = event.GetItem()
@@ -1660,25 +1669,32 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 GWarning(parent = self,
                          message = _("Map <%s> not found.") % mapName)
                 return
-        
+
+            if not mapLayer.IsActive():
+                self.forceCheck = True
+                self.CheckItem(layer, True)
+                mapLayer.SetActive(True)
+                
         # update layer data
         if params:
             self.SetPyData(layer, (self.GetLayerInfo(layer), params))
         self.SetLayerInfo(layer, key = 'propwin', value = propwin)
         
         # change parameters for item in layers list in render.Map
-        self.ChangeLayer(layer)
-        
+        if params:
+            self.ChangeLayer(layer)
+
         # set region if auto-zooming is enabled or layer tree contains
         # only one map layer
         if dcmd:
-            if not self.mapdisplay.IsPaneShown('3d') and (self.first or
-                    UserSettings.Get(group = 'display', key = 'autoZooming', subkey = 'enabled')):
+            if not self.mapdisplay.IsPaneShown('3d') and \
+               (self.first or \
+                UserSettings.Get(group = 'display', key = 'autoZooming', subkey = 'enabled')):
                 mapLayer = self.GetLayerInfo(layer, key = 'maplayer')
                 if mapLayer.GetType() in ('raster', 'vector'):
                     self.mapdisplay.MapWindow.ZoomToMap(layers = [mapLayer,],
                                                         render = False)
-            
+                    
             self.first = False # first layer has been already added to
                                # the layer tree
         
@@ -1693,7 +1709,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                     
                     mapWin.LoadRaster(layer)
                     
-                elif mapLayer.type == '3d-raster':
+                elif mapLayer.type == 'raster_3d':
                     if mapWin.IsLoaded(layer):
                         mapWin.UnloadRaster3d(layer)
                     
@@ -1706,11 +1722,11 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                     mapWin.LoadVector(layer)
 
                 # reset view when first layer loaded
-                nlayers = len(mapWin.Map.GetListOfLayers(ltype = ('raster', '3d-raster', 'vector'),
+                nlayers = len(mapWin.Map.GetListOfLayers(ltype = ('raster', 'raster_3d', 'vector'),
                                                          active = True))
                 if nlayers < 2:
                     mapWin.ResetView()
-
+        
     def GetVisibleLayers(self, skipDigitized=False):
         # make a list of visible layers
         layers = []
@@ -1769,18 +1785,19 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 layerName, found = GetLayerNameFromCmd(cmdlist, fullyQualified = True)
                 if not found:
                     layerName = self.GetItemText(item)
-        
-        maplayer = self.Map.ChangeLayer(layer = self.GetLayerInfo(item, key = 'maplayer'), type = type,
-                                        command = cmdlist, name = layerName,
-                                        active = chk, hidden = hidden, opacity = opac, render = False)
+
+        maplayer = self.Map.ChangeLayer(layer = self.GetLayerInfo(item, key = 'maplayer'),
+                                        type = type, command = cmdlist, name = layerName,
+                                        active = chk, hidden = hidden, opacity = opac)
         
         self.SetLayerInfo(item, key = 'maplayer', value = maplayer)
         
         # if digitization tool enabled -> update list of available vector map layers
         if self.mapdisplay.GetToolbar('vdigit'):
             self.mapdisplay.GetToolbar('vdigit').UpdateListOfLayers(updateTool = True)
-
+        
         self.Map.SetLayers(self.GetVisibleLayers())
+        
         # redraw map if auto-rendering is enabled
         self.rerender = True
 
diff --git a/gui/wxpython/lmgr/pyshell.py b/gui/wxpython/lmgr/pyshell.py
index 33f8f15..5398a31 100644
--- a/gui/wxpython/lmgr/pyshell.py
+++ b/gui/wxpython/lmgr/pyshell.py
@@ -25,12 +25,15 @@ from wx.py.shell   import Shell as PyShell
 from wx.py.version import VERSION
 
 import grass.script as grass
+from grass.script.utils import try_remove
+
 from core.utils import _
 
 class PyShellWindow(wx.Panel):
     """Python Shell Window"""
-    def __init__(self, parent, id = wx.ID_ANY, **kwargs):
-        self.parent = parent # GMFrame
+    def __init__(self, parent, giface, id = wx.ID_ANY, **kwargs):
+        self.parent = parent
+        self.giface = giface
         
         wx.Panel.__init__(self, parent = parent, id = id, **kwargs)
         
@@ -47,7 +50,11 @@ class PyShellWindow(wx.Panel):
         self.btnClear = wx.Button(self, wx.ID_CLEAR)
         self.btnClear.Bind(wx.EVT_BUTTON, self.OnClear)
         self.btnClear.SetToolTipString(_("Delete all text from the shell"))
-                
+
+        self.btnSimpleEditor = wx.Button(self, id=wx.ID_ANY, label=_("Simple &editor"))
+        self.btnSimpleEditor.Bind(wx.EVT_BUTTON, self.OnSimpleEditor)
+        self.btnSimpleEditor.SetToolTipString(_("Open a simple Python code editor"))
+
         self._layout()
         
     def _displayhook(self, value):
@@ -60,10 +67,13 @@ class PyShellWindow(wx.Panel):
                   flag = wx.EXPAND)
         
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
+        btnSizer.Add(item=self.btnSimpleEditor, proportion=0,
+                     flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
+        btnSizer.AddStretchSpacer()
         btnSizer.Add(item = self.btnClear, proportion = 0,
-                     flag = wx.EXPAND | wx.RIGHT, border = 5)
+                     flag = wx.EXPAND | wx.ALIGN_RIGHT, border = 5)
         sizer.Add(item = btnSizer, proportion = 0,
-                  flag = wx.ALIGN_RIGHT | wx.ALL, border = 5)
+                  flag = wx.ALIGN_RIGHT | wx.ALL | wx.EXPAND, border = 5)
         
         sizer.Fit(self)
         sizer.SetSizeHints(self)
@@ -98,7 +108,7 @@ class PyShellWindow(wx.Panel):
         if not fname:
             return _("Raster or vector map <%s> not found") % (name)
         
-        self.parent.GetLayerTree().AddLayer(ltype = ltype,
+        self.giface.GetLayerTree().AddLayer(ltype = ltype,
                                             lname = fname,
                                             lchecked = True,
                                             lcmd = [lcmd, 'map=%s' % fname])
@@ -113,3 +123,14 @@ class PyShellWindow(wx.Panel):
         self.shell.clear()
         self.shell.showIntro(self.intro)
         self.shell.prompt()
+
+    def OnSimpleEditor(self, event):
+        # import on demand
+        from gui_core.pyedit import PyEditFrame
+
+        # we don't keep track of them and we don't care about open files
+        # there when closing the main GUI
+        simpleEditor = PyEditFrame(parent=self, giface=self.giface)
+        simpleEditor.SetSize(self.parent.GetSize())
+        simpleEditor.CenterOnParent()
+        simpleEditor.Show()
diff --git a/gui/wxpython/lmgr/toolbars.py b/gui/wxpython/lmgr/toolbars.py
index b0bc2af..4ccacb6 100644
--- a/gui/wxpython/lmgr/toolbars.py
+++ b/gui/wxpython/lmgr/toolbars.py
@@ -53,7 +53,6 @@ class LMWorkspaceToolbar(BaseToolbar):
             }
         return self._getToolbarData((('newdisplay', icons["newdisplay"],
                                       self.parent.OnNewDisplay),
-                                     (None, ),
                                      ('workspaceNew', icons["workspaceNew"],
                                       self.parent.OnWorkspaceNew),
                                      ('workspaceOpen', icons["workspaceOpen"],
@@ -112,7 +111,6 @@ class LMDataToolbar(BaseToolbar):
                                      (None, ),
                                      ('addgrp',  icons["addGroup"],
                                       self.parent.OnAddGroup),
-                                     (None, ),
                                      ('delcmd',  icons["delCmd"],
                                       self.parent.OnDeleteLayer),
                                      ))
diff --git a/gui/wxpython/location_wizard/wizard.py b/gui/wxpython/location_wizard/wizard.py
index 933fcec..4f6fc41 100644
--- a/gui/wxpython/location_wizard/wizard.py
+++ b/gui/wxpython/location_wizard/wizard.py
@@ -16,6 +16,7 @@ Classes:
  - wizard::GeoreferencedFilePage
  - wizard::WKTPage
  - wizard::EPSGPage
+ - wizard::IAUPage
  - wizard::CustomPage
  - wizard::SummaryPage
  - wizard::LocationWizard
@@ -32,6 +33,7 @@ This program is free software under the GNU General Public License
 @author Hamish Bowman (planetary ellipsoids)
 """
 import os
+import sys
 import locale
 
 import wx
@@ -48,6 +50,7 @@ from location_wizard.base    import BaseClass
 from location_wizard.dialogs import SelectTransformDialog
 
 from grass.script import core as grass
+from grass.exceptions import OpenError
 
 global coordsys
 global north
@@ -222,6 +225,8 @@ class CoordinateSystemPage(TitledPage):
         self.radioEpsg = wx.RadioButton(parent = self, id = wx.ID_ANY,
                                         label = _("Select EPSG code of spatial reference system"),
                                         style  =  wx.RB_GROUP)
+        self.radioIau = wx.RadioButton(parent = self, id = wx.ID_ANY,
+                                        label = _("Select IAU code of spatial reference system"))
         self.radioFile = wx.RadioButton(parent = self, id = wx.ID_ANY,
                                         label = _("Read projection and datum terms from a "
                                                   "georeferenced data file"))
@@ -240,20 +245,23 @@ class CoordinateSystemPage(TitledPage):
         self.sizer.SetVGap(10)
         self.sizer.Add(item = self.radioEpsg,
                        flag = wx.ALIGN_LEFT, pos = (1, 1))
-        self.sizer.Add(item = self.radioFile,
+        self.sizer.Add(item = self.radioIau,
                        flag = wx.ALIGN_LEFT, pos = (2, 1))
-        self.sizer.Add(item = self.radioWkt,
+        self.sizer.Add(item = self.radioFile,
                        flag = wx.ALIGN_LEFT, pos = (3, 1))
-        self.sizer.Add(item = self.radioSrs,
+        self.sizer.Add(item = self.radioWkt,
                        flag = wx.ALIGN_LEFT, pos = (4, 1))
-        self.sizer.Add(item = self.radioProj,
+        self.sizer.Add(item = self.radioSrs,
                        flag = wx.ALIGN_LEFT, pos = (5, 1))
-        self.sizer.Add(item = self.radioXy,
+        self.sizer.Add(item = self.radioProj,
                        flag = wx.ALIGN_LEFT, pos = (6, 1))
+        self.sizer.Add(item = self.radioXy,
+                       flag = wx.ALIGN_LEFT, pos = (7, 1))
         self.sizer.AddGrowableCol(1)
 
         # bindings
         self.Bind(wx.EVT_RADIOBUTTON, self.SetVal, id = self.radioEpsg.GetId())
+        self.Bind(wx.EVT_RADIOBUTTON, self.SetVal, id = self.radioIau.GetId())
         self.Bind(wx.EVT_RADIOBUTTON, self.SetVal, id = self.radioFile.GetId())
         self.Bind(wx.EVT_RADIOBUTTON, self.SetVal, id = self.radioWkt.GetId())
         self.Bind(wx.EVT_RADIOBUTTON, self.SetVal, id = self.radioSrs.GetId())
@@ -272,6 +280,8 @@ class CoordinateSystemPage(TitledPage):
                 self.radioSrs.SetValue(True)
             if coordsys == "epsg":
                 self.radioEpsg.SetValue(True)
+            if coordsys == "iau":
+                self.radioIau.SetValue(True)
             if coordsys == "file":
                 self.radioFile.SetValue(True)
             if coordsys == "wkt":
@@ -288,6 +298,9 @@ class CoordinateSystemPage(TitledPage):
             if coordsys == "epsg":
                 self.SetNext(self.parent.epsgpage)
                 self.parent.sumpage.SetPrev(self.parent.epsgpage)
+            if coordsys == "iau":
+                self.SetNext(self.parent.iaupage)
+                self.parent.sumpage.SetPrev(self.parent.iaupage)
             if coordsys == "file":
                 self.SetNext(self.parent.filepage)
                 self.parent.sumpage.SetPrev(self.parent.filepage)
@@ -311,6 +324,10 @@ class CoordinateSystemPage(TitledPage):
             coordsys = "proj"
             self.SetNext(self.parent.projpage)
             self.parent.sumpage.SetPrev(self.parent.datumpage)
+        elif event.GetId() == self.radioIau.GetId():
+            coordsys = "iau"
+            self.SetNext(self.parent.iaupage)
+            self.parent.sumpage.SetPrev(self.parent.iaupage)
         elif event.GetId() == self.radioEpsg.GetId():
             coordsys = "epsg"
             self.SetNext(self.parent.epsgpage)
@@ -1148,7 +1165,7 @@ class EllipsePage(TitledPage):
             self.scope = 'earth'
             for key in self.parent.ellipsoids.keys():
                 data.append([key, self.parent.ellipsoids[key][0]])
-        elif event.GetId() == self.radioEpsgx.GetId():
+        elif event.GetId() == self.radioEpsg.GetId():
             self.scope = 'planetary'
             for key in self.parent.planetary_ellipsoids.keys():
                 data.append([key, self.parent.planetary_ellipsoids[key][0]])
@@ -1433,8 +1450,9 @@ class EPSGPage(TitledPage):
             self.epsgcode = None
             
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
-
-        if self.epsgcode and self.epsgcode in self.epsgCodeDict.keys():
+        
+        if self.epsgcode and self.epsgCodeDict and \
+                self.epsgcode in self.epsgCodeDict.keys():
             self.epsgdesc = self.epsgCodeDict[self.epsgcode][0]
             self.epsgparams = self.epsgCodeDict[self.epsgcode][1]
             if not nextButton.IsEnabled():
@@ -1496,12 +1514,236 @@ class EPSGPage(TitledPage):
         
     def OnBrowseCodes(self, event, search = None):
         """Browse EPSG codes"""
-        self.epsgCodeDict = utils.ReadEpsgCodes(self.tfile.GetValue())
+        try:
+            self.epsgCodeDict = utils.ReadEpsgCodes(self.tfile.GetValue())
+        except OpenError as e:
+            GError(parent = self,
+                   message = _("Unable to read EPGS codes: {}").format(e), showTraceback=False)
+            self.epsglist.Populate(list(), update = True)
+            return
+        
+        data = list()
+        for code, val in self.epsgCodeDict.iteritems():
+            if code is not None:
+                data.append((code, val[0], val[1]))
+        
+        self.epsglist.Populate(data, update = True)
 
-        if type(self.epsgCodeDict) != dict:
-            wx.MessageBox(parent = self,
-                          message = _("Unable to read EPGS codes: %s") % self.epsgCodeDict,
-                          caption = _("Error"),  style = wx.OK | wx.ICON_ERROR | wx.CENTRE)
+class IAUPage(TitledPage):
+    """Wizard page for selecting IAU code/WKT for
+    setting coordinate system parameters"""
+
+    def __init__(self, wizard, parent):
+        TitledPage.__init__(self, wizard, _("Choose IAU Code"))
+        self.parent = parent
+        self.epsgCodeDict = {}
+        self.epsgcode = None
+        self.epsgdesc = ''
+        self.epsgparams = ''
+
+        # labels
+        self.lfile = self.MakeLabel(_("Path to the IAU-codes file:"),
+                                    style = wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL)
+        self.lcode = self.MakeLabel(_("IAU code:"),
+                                    style = wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL)
+        # text input
+        epsgdir = utils.PathJoin(globalvar.ETCDIR,"proj","ogr_csv",'iau2009.csv')
+        self.tfile = self.MakeTextCtrl(text = epsgdir, size = (200,-1),
+                                       style = wx.TE_PROCESS_ENTER)
+        self.tcode = self.MakeTextCtrl(size = (200,-1))
+
+        # buttons
+        self.bbrowse = self.MakeButton(_("Browse"))
+        
+        # search box
+        self.searchb = wx.SearchCtrl(self, size = (200,-1),
+                                     style = wx.TE_PROCESS_ENTER)
+
+        self.epsglist = ItemList(self, data = None,
+                                 columns = [_('Code'), _('Description'), _('Parameters')])
+
+        # layout
+        self.sizer.Add(item = self.lfile,
+                       flag = wx.ALIGN_LEFT |
+                       wx.ALIGN_CENTER_VERTICAL |
+                       wx.ALL, border = 5, pos = (1, 1), span = (1, 2))
+        self.sizer.Add(item = self.tfile,
+                       flag = wx.ALIGN_LEFT |
+                       wx.ALIGN_CENTER_VERTICAL |
+                       wx.ALL, border = 5, pos = (1, 3))
+        self.sizer.Add(item = self.bbrowse,
+                       flag = wx.ALIGN_LEFT |
+                       wx.ALIGN_CENTER_VERTICAL |
+                       wx.ALL, border = 5, pos = (1, 4))
+        self.sizer.Add(item = self.lcode,
+                       flag = wx.ALIGN_LEFT |
+                       wx.ALIGN_CENTER_VERTICAL |
+                       wx.ALL, border = 5, pos = (2, 1), span = (1, 2))
+        self.sizer.Add(item = self.tcode,
+                       flag = wx.ALIGN_LEFT |
+                       wx.ALIGN_CENTER_VERTICAL |
+                       wx.ALL, border = 5, pos = (2, 3))
+        self.sizer.Add(item = self.searchb,
+                       flag = wx.ALIGN_LEFT |
+                       wx.ALIGN_CENTER_VERTICAL |
+                       wx.ALL, border = 5, pos = (3, 3))
+        
+        self.sizer.Add(item = self.epsglist,
+                       flag = wx.ALIGN_LEFT | wx.EXPAND, pos = (4, 1),
+                       span = (1, 4))
+        self.sizer.AddGrowableCol(3)
+        self.sizer.AddGrowableRow(4)
+
+        # events
+        self.bbrowse.Bind(wx.EVT_BUTTON, self.OnBrowse)
+        self.tfile.Bind(wx.EVT_TEXT_ENTER, self.OnBrowseCodes)
+        self.tcode.Bind(wx.EVT_TEXT, self.OnText)
+        self.tcode.Bind(wx.EVT_TEXT_ENTER, self.OnText)
+        self.epsglist.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected)
+        self.searchb.Bind(wx.EVT_TEXT_ENTER, self.OnSearch)
+        self.Bind(wiz.EVT_WIZARD_PAGE_CHANGING, self.OnPageChanging)
+        self.Bind(wiz.EVT_WIZARD_PAGE_CHANGED, self.OnEnterPage)
+
+    def OnEnterPage(self, event):
+        self.parent.datum_trans = None
+        if event.GetDirection():
+            if not self.epsgcode:
+                # disable 'next' button by default
+                wx.FindWindowById(wx.ID_FORWARD).Enable(False)
+            else:
+                wx.FindWindowById(wx.ID_FORWARD).Enable(True)
+
+        # load default epsg database file
+        self.OnBrowseCodes(None)
+        
+        event.Skip()
+
+    def OnPageChanging(self, event):
+        if event.GetDirection():
+            if not self.epsgcode:
+                event.Veto()
+                return
+            else:
+                # check for datum transforms
+                ret = RunCommand('g.proj',
+                                 read = True,
+                                 proj4 = self.epsgparams,
+                                 datum_trans = '-1',
+                                 flags = 't')
+                
+                if ret != '':
+                    dtrans = ''
+                    # open a dialog to select datum transform number
+                    dlg = SelectTransformDialog(self.parent.parent, transforms = ret)
+                    
+                    if dlg.ShowModal() == wx.ID_OK:
+                        dtrans = dlg.GetTransform()
+                        if dtrans == '':
+                            dlg.Destroy()
+                            event.Veto()
+                            return 'Datum transform is required.'
+                    else:
+                        dlg.Destroy()
+                        event.Veto()
+                        return 'Datum transform is required.'
+                    
+                    self.parent.datum_trans = dtrans
+                    self.parent.epsgcode = self.epsgcode
+                    self.parent.epsgdesc = self.epsgdesc
+
+                # prepare +nadgrids or +towgs84 terms for Summary page. first convert them:
+                ret, projlabel, err = RunCommand('g.proj',
+                                                 flags = 'jft',
+                                                 proj4 = self.epsgparams,
+                                                 datum_trans = self.parent.datum_trans,
+                                                 getErrorMsg = True,
+                                                 read = True)
+                # splitting on space alone would break for grid files with space in pathname
+                for projterm in projlabel.split(' +'):
+                    if projterm.find("towgs84=") != -1 or projterm.find("nadgrids=") != -1:
+                        self.custom_dtrans_string = ' +%s' % projterm
+                        break
+
+            self.GetNext().SetPrev(self)
+
+    def OnText(self, event):
+        self.epsgcode = event.GetString()
+        try:
+            self.epsgcode = int(self.epsgcode)
+        except:
+            self.epsgcode = None
+            
+        nextButton = wx.FindWindowById(wx.ID_FORWARD)
+
+        #if self.epsgcode and self.epsgcode in self.epsgCodeDict.keys():
+        if self.epsgcode:
+            self.epsgdesc = self.epsgCodeDict[self.epsgcode][0]
+            self.epsgparams = self.epsgCodeDict[self.epsgcode][1]
+            if not nextButton.IsEnabled():
+                nextButton.Enable(True)
+        else:
+            self.epsgcode = None # not found
+            if nextButton.IsEnabled():
+                nextButton.Enable(False)
+            self.epsgdesc = self.epsgparams = ''
+        
+    def OnSearch(self, event):
+        value =  self.searchb.GetValue()
+        
+        if value == '':
+            self.epsgcode = None
+            self.epsgdesc = self.epsgparams = ''
+            self.tcode.SetValue('')
+            self.searchb.SetValue('')
+            self.OnBrowseCodes(None)
+        else:
+            try:
+                self.epsgcode, self.epsgdesc, self.epsgparams = \
+                        self.epsglist.Search(index=[0,1,2], pattern=value)
+            except (IndexError, ValueError): # -> no item found
+                self.epsgcode = None
+                self.epsgdesc = self.epsgparams = ''
+                self.tcode.SetValue('')
+
+        event.Skip()
+        
+    def OnBrowse(self, event):
+        """Define path for IAU code file"""
+        path = os.path.dirname(self.tfile.GetValue())
+        if not path:
+            path = os.getcwd()
+        
+        dlg = wx.FileDialog(parent = self, message = _("Choose IAU codes file"),
+                            defaultDir = path, defaultFile = "", wildcard = "*", style = wx.FD_OPEN)
+        
+        if dlg.ShowModal() == wx.ID_OK:
+            path = dlg.GetPath()
+            self.tfile.SetValue(path)
+            self.OnBrowseCodes(None)
+        
+        dlg.Destroy()
+
+        event.Skip()
+
+    def OnItemSelected(self, event):
+        """IAU code selected from the list"""
+        index = event.m_itemIndex
+        item = event.GetItem()
+
+        self.epsgcode = int(self.epsglist.GetItem(index, 0).GetText())
+	#This is here that the index 2 (aka WKT) should be loaded in a variable
+        self.epsgdesc = self.epsglist.GetItem(index, 1).GetText()
+        self.tcode.SetValue(str(self.epsgcode))
+
+        event.Skip()
+        
+    def OnBrowseCodes(self, event, search = None):
+        """Browse IAU codes"""
+        try:
+            self.epsgCodeDict = utils.ReadEpsgCodes(self.tfile.GetValue())
+        except OpenError as e:
+            GError(parent = self,
+                   message = _("Unable to read IAU codes: {}").format(e), showTraceback=False)
             self.epsglist.Populate(list(), update = True)
             return
         
@@ -1511,6 +1753,7 @@ class EPSGPage(TitledPage):
                 data.append((code, val[0], val[1]))
         
         self.epsglist.Populate(data, update = True)
+
         
 class CustomPage(TitledPage):
     """Wizard page for entering custom PROJ.4 string
@@ -1704,13 +1947,14 @@ class SummaryPage(TitledPage):
         database = self.parent.startpage.grassdatabase
         location = self.parent.startpage.location
         proj4string = self.parent.CreateProj4String()
+        iauproj4string = self.parent.iaupage.epsgparams
         epsgcode = self.parent.epsgpage.epsgcode
         datum = self.parent.datumpage.datum
         dtrans = self.parent.datum_trans
         global coordsys
 
         #print coordsys,proj4string
-        if coordsys in ('proj', 'epsg', 'wkt', 'file'):
+        if coordsys in ('proj', 'epsg', 'iau', 'wkt', 'file'):
             extra_opts = {}
             extra_opts['location'] = 'location'
             extra_opts['getErrorMsg'] = True
@@ -1726,6 +1970,16 @@ class SummaryPage(TitledPage):
                                                  flags = 'jf',
                                                  proj4 = proj4string,
                                                  **extra_opts)
+            elif coordsys == 'iau':
+                addl_opts = {}
+                if len(datum) > 0:
+                    extra_opts['datum'] = '%s' % datum
+                    extra_opts['datum_trans'] = dtrans
+
+                ret, projlabel, err = RunCommand('g.proj',
+                                                 flags = 'jf',
+                                                 proj4 = iauproj4string,
+                                                 **extra_opts)
             elif coordsys == 'epsg':
                 ret, projlabel, err = RunCommand('g.proj',
                                                  flags = 'jft',
@@ -1766,6 +2020,9 @@ class SummaryPage(TitledPage):
         if coordsys == 'epsg':
             label = 'EPSG code %s (%s)' % (self.parent.epsgpage.epsgcode,
                                            self.parent.epsgpage.epsgdesc)
+        elif coordsys == 'iau':
+            label = 'IAU code %s (%s)' % (self.parent.iaupage.epsgcode,
+                                           self.parent.iaupage.epsgdesc)
         elif coordsys == 'file':
             label = 'matches file %s' % self.parent.filepage.georeffile
 
@@ -1844,6 +2101,7 @@ class LocationWizard(wx.Object):
         self.datumpage = DatumPage(self.wizard, self)
         self.paramspage = ProjParamsPage(self.wizard,self)
         self.epsgpage = EPSGPage(self.wizard, self)
+        self.iaupage = IAUPage(self.wizard, self)
         self.filepage = GeoreferencedFilePage(self.wizard, self)
         self.wktpage = WKTPage(self.wizard, self)
         self.ellipsepage = EllipsePage(self.wizard, self)
@@ -1874,6 +2132,9 @@ class LocationWizard(wx.Object):
         self.epsgpage.SetPrev(self.csystemspage)
         self.epsgpage.SetNext(self.sumpage)
 
+        self.iaupage.SetPrev(self.csystemspage)
+        self.iaupage.SetNext(self.sumpage)
+
         self.filepage.SetPrev(self.csystemspage)
         self.filepage.SetNext(self.sumpage)
 
@@ -1894,6 +2155,7 @@ class LocationWizard(wx.Object):
         self.datumpage.DoLayout()
         self.paramspage.DoLayout()
         self.epsgpage.DoLayout()
+        self.iaupage.DoLayout()
         self.filepage.DoLayout()
         self.wktpage.DoLayout()
         self.ellipsepage.DoLayout()
@@ -2063,7 +2325,7 @@ class LocationWizard(wx.Object):
             return None
         
         # current GISDbase or a new one?
-        current_gdb = grass.gisenv()['GISDBASE']
+        current_gdb = grass.gisenv()['GISDBASE'].decode(sys.stdin.encoding)
         if current_gdb != database:
             # change to new GISDbase or create new one
             if os.path.isdir(database) != True:
@@ -2120,6 +2382,16 @@ class LocationWizard(wx.Object):
                                       datum = self.datumpage.datum,
                                       datum_trans = self.datum_trans,
                                       desc = self.startpage.locTitle)
+            elif coordsys == "iau":
+                if not self.iaupage.epsgcode:
+                    return _('IAU code missing.')
+                
+                grass.create_location(dbase = self.startpage.grassdatabase,
+                                      location = self.startpage.location,
+                                      proj4 = self.iaupage.epsgparams,
+                                      datum = self.datumpage.datum,
+                                      datum_trans = self.datum_trans,
+                                      desc = self.startpage.locTitle)
             elif coordsys == "file":
                 if not self.filepage.georeffile or \
                         not os.path.isfile(self.filepage.georeffile):
diff --git a/gui/wxpython/mapdisp/frame.py b/gui/wxpython/mapdisp/frame.py
index 87a9dc7..3c184e8 100644
--- a/gui/wxpython/mapdisp/frame.py
+++ b/gui/wxpython/mapdisp/frame.py
@@ -9,7 +9,7 @@ Can be used either from Layer Manager or as d.mon backend.
 Classes:
  - mapdisp::MapFrame
 
-(C) 2006-2014 by the GRASS Development Team
+(C) 2006-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -53,6 +53,7 @@ from mapwin.analysis import ProfileController, MeasureDistanceController, \
     MeasureAreaController
 from gui_core.forms import GUI
 from core.giface import Notification
+from gui_core.vselect import VectorSelectBase, VectorSelectHighlighter
 
 from mapdisp import statusbar as sb
 
@@ -66,23 +67,25 @@ class MapFrame(SingleMapFrame):
     child double buffered drawing window.
     """
     def __init__(self, parent, giface, title = _("GRASS GIS - Map display"),
-                 toolbars = ["map"], tree = None, notebook = None, lmgr = None,
-                 page = None, Map = Map(), auimgr = None, name = 'MapWindow', **kwargs):
+                 toolbars = ["map"], statusbar = True,
+                 tree = None, notebook = None, lmgr = None,
+                 page = None, Map = None, auimgr = None, name = 'MapWindow', **kwargs):
         """Main map display window with toolbars, statusbar and
         2D map window, 3D map window and digitizer.
         
         :param toolbars: array of activated toolbars, e.g. ['map', 'digit']
+        :param statusbar: True to add statusbar
         :param tree: reference to layer tree
         :param notebook: control book ID in Layer Manager
         :param lmgr: Layer Manager
         :param page: notebook page with layer tree
         :param map: instance of render.Map
-        :param auimgs: AUI manager
+        :param auimgr: AUI manager
         :param name: frame name
         :param kwargs: wx.Frame attributes
         """
         SingleMapFrame.__init__(self, parent = parent, title = title,
-                              Map = Map, auimgr = auimgr, name = name, **kwargs)
+                                Map = Map, auimgr = auimgr, name = name, **kwargs)
         
         self._giface = giface
         # Layer Manager object
@@ -118,43 +121,10 @@ class MapFrame(SingleMapFrame):
         #
         # Add statusbar
         #
+        self.statusbarManager = None
+        if statusbar:
+            self.CreateStatusbar()
         
-        # items for choice
-        self.statusbarItems = [sb.SbCoordinates,
-                               sb.SbRegionExtent,
-                               sb.SbCompRegionExtent,
-                               sb.SbShowRegion,
-                               sb.SbAlignExtent,
-                               sb.SbResolution,
-                               sb.SbDisplayGeometry,
-                               sb.SbMapScale,
-                               sb.SbGoTo,
-                               sb.SbProjection]
-                            
-        self.statusbarItemsHiddenInNviz = (sb.SbAlignExtent,
-                                           sb.SbDisplayGeometry,
-                                           sb.SbShowRegion,
-                                           sb.SbResolution,
-                                           sb.SbMapScale)
-        
-        # create statusbar and its manager
-        statusbar = self.CreateStatusBar(number = 4, style = 0)
-        if globalvar.wxPython3:
-            statusbar.SetMinHeight(24)
-        statusbar.SetStatusWidths([-5, -2, -1, -1])
-        self.statusbarManager = sb.SbManager(mapframe = self, statusbar = statusbar)
-        
-        # fill statusbar manager
-        self.statusbarManager.AddStatusbarItemsByClass(self.statusbarItems, mapframe = self, statusbar = statusbar)
-        self.statusbarManager.AddStatusbarItem(sb.SbMask(self, statusbar = statusbar, position = 2))
-        sbRender = sb.SbRender(self, statusbar = statusbar, position = 3)
-        self.statusbarManager.AddStatusbarItem(sbRender)
-        
-        self.statusbarManager.Update()
-        
-        #
-        self.Map.updateProgress.connect(self.statusbarManager.SetProgress)
-
         # init decoration objects
         self.decorations = {}
         self.legend = LegendController(self.Map, self._giface)
@@ -197,12 +167,9 @@ class MapFrame(SingleMapFrame):
         # used by Nviz (3D display mode)
         self.MapWindow3D = None 
 
-        #
-        # initialize region values
-        #
-        self._initMap(Map = self.Map) 
-
-        self.toolbars['map'].SelectDefault()
+        if 'map' in self.toolbars:
+            self.toolbars['map'].SelectDefault()
+        
         #
         # Bind various events
         #
@@ -231,13 +198,58 @@ class MapFrame(SingleMapFrame):
         self.dialogs['category'] = None
         self.dialogs['vnet'] = None
         self.dialogs['query'] = None
+        self.dialogs['vselect'] = None
 
         # initialize layers to query (d.what.vect/rast)
         self._vectQueryLayers = []
         self._rastQueryLayers = []
+        # initialize highlighter for vector features
+        self._highlighter_layer = None
 
         self.measureController = None
 
+        self._resize()
+
+    def CreateStatusbar(self):
+        if self.statusbarManager:
+            return
+        
+        # items for choice
+        self.statusbarItems = [sb.SbCoordinates,
+                               sb.SbRegionExtent,
+                               sb.SbCompRegionExtent,
+                               sb.SbShowRegion,
+                               sb.SbAlignExtent,
+                               sb.SbResolution,
+                               sb.SbDisplayGeometry,
+                               sb.SbMapScale,
+                               sb.SbGoTo,
+                               sb.SbProjection]
+                            
+        self.statusbarItemsHiddenInNviz = (sb.SbAlignExtent,
+                                           sb.SbDisplayGeometry,
+                                           sb.SbShowRegion,
+                                           sb.SbResolution,
+                                           sb.SbMapScale)
+        
+        # create statusbar and its manager
+        statusbar = self.CreateStatusBar(number = 4, style = 0)
+        if globalvar.wxPython3:
+            statusbar.SetMinHeight(24)
+        statusbar.SetStatusWidths([-5, -2, -1, -1])
+        self.statusbarManager = sb.SbManager(mapframe = self, statusbar = statusbar)
+        
+        # fill statusbar manager
+        self.statusbarManager.AddStatusbarItemsByClass(self.statusbarItems, mapframe = self, statusbar = statusbar)
+        self.statusbarManager.AddStatusbarItem(sb.SbMask(self, statusbar = statusbar, position = 2))
+        sbRender = sb.SbRender(self, statusbar = statusbar, position = 3)
+        self.statusbarManager.AddStatusbarItem(sbRender)
+        
+        self.statusbarManager.Update()
+        
+        #
+        self.Map.GetRenderMgr().updateProgress.connect(self.statusbarManager.SetProgress)
+        
     def GetMapWindow(self):
         return self.MapWindow
 
@@ -250,7 +262,7 @@ class MapFrame(SingleMapFrame):
             grassVersion = "?"
 
         gisenv = grass.gisenv()
-        title = _("GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s") % \
+        title = _("GRASS GIS %(version)s Map Display: %(id)s - Location: %(loc)s@%(mapset)s") % \
             {'version': grassVersion,
              'id': str(displayId),
              'loc': gisenv["LOCATION_NAME"],
@@ -300,9 +312,10 @@ class MapFrame(SingleMapFrame):
         elif self._mgr.GetPane('3d').IsShown():
             self._mgr.GetPane('3d').Hide()
         self._mgr.GetPane('vdigit').Show()
-        self.toolbars['vdigit'] = VDigitToolbar(parent=self, toolSwitcher=self._toolSwitcher,
-                                                MapWindow = self.MapWindow,
-                                                digitClass=VDigit, giface=self._giface)
+        if 'vdigit' not in self.toolbars:
+            self.toolbars['vdigit'] = VDigitToolbar(parent=self, toolSwitcher=self._toolSwitcher,
+                                                    MapWindow = self.MapWindow,
+                                                    digitClass=VDigit, giface=self._giface)
         self.MapWindowVDigit.SetToolbar(self.toolbars['vdigit'])
         
         self._mgr.AddPane(self.toolbars['vdigit'],
@@ -345,7 +358,6 @@ class MapFrame(SingleMapFrame):
                                           self.OnFlyThrough, wx.ITEM_CHECK, 8),))
         self._toolSwitcher.AddToolToGroup(group='mouseUse', toolbar=self.toolbars['map'],
                                           tool=self.toolbars['map'].flyThrough)
-        self.toolbars['map'].ChangeToolsDesc(mode2d = False)
         # update status bar
         
         self.statusbarManager.HideStatusbarChoiceItemsByClass(self.statusbarItemsHiddenInNviz)
@@ -466,7 +478,8 @@ class MapFrame(SingleMapFrame):
         """
         # default toolbar
         if name == "map":
-            self.toolbars['map'] = MapToolbar(self, toolSwitcher=self._toolSwitcher)
+            if 'map' not in self.toolbars:
+                self.toolbars['map'] = MapToolbar(self, toolSwitcher=self._toolSwitcher)
             
             self._mgr.AddPane(self.toolbars['map'],
                               wx.aui.AuiPaneInfo().
@@ -479,7 +492,7 @@ class MapFrame(SingleMapFrame):
             
         # vector digitizer
         elif name == "vdigit":
-            self.toolbars['map'].combo.SetValue(_("Digitize"))
+            self.toolbars['map'].combo.SetValue(_("Vector digitizer"))
             self._addToolbarVDigit()
         
         if fixed:
@@ -487,27 +500,25 @@ class MapFrame(SingleMapFrame):
          
         self._mgr.Update()
         
-    def RemoveToolbar (self, name):
+    def RemoveToolbar (self, name, destroy=False):
         """Removes defined toolbar from the window
 
-        .. todo::
-            Only hide, activate by calling AddToolbar()
+        :param name toolbar to remove
+        :param destroy True to destroy otherwise toolbar is only hidden
         """
-        # cannot hide main toolbar
-        if name == "map":
-            return
-        
         self._mgr.DetachPane(self.toolbars[name])
-        self._toolSwitcher.RemoveToolbarFromGroup('mouseUse', self.toolbars[name])
-        self.toolbars[name].Destroy()
-        self.toolbars.pop(name)
+        if destroy:
+            self._toolSwitcher.RemoveToolbarFromGroup('mouseUse', self.toolbars[name])
+            self.toolbars[name].Destroy()
+            self.toolbars.pop(name)
+        else:
+            self.toolbars[name].Hide()
         
         if name == 'vdigit':
             self._mgr.GetPane('vdigit').Hide()
             self._mgr.GetPane('2d').Show()
             self._switchMapWindow(self.MapWindow2D)
-            
-        self.toolbars['map'].combo.SetValue(_("2D view"))
+
         self.toolbars['map'].Enable2D(True)
         
         self._mgr.Update()
@@ -536,6 +547,10 @@ class MapFrame(SingleMapFrame):
             self.MapWindow.UpdateMap(render = True, renderVector = True)
         else:
             self.MapWindow.UpdateMap(render = True)
+
+        # reset dialog with selected features
+        if self.dialogs['vselect']:
+            self.dialogs['vselect'].Reset()
         
         # update statusbar
         self.StatusbarUpdate()
@@ -549,6 +564,23 @@ class MapFrame(SingleMapFrame):
             self.toolbars['vdigit'].action['id'] = -1
             self.toolbars['vdigit'].action['desc']=''
 
+    def OnSelect(self, event):
+        """Vector feature selection button clicked
+        """
+        layerList = self._giface.GetLayerList()
+        layerSelected = layerList.GetSelectedLayer()
+        if not self.dialogs['vselect']:
+            if layerSelected is None:
+                GMessage(_("No map layer selected. Operation canceled."))
+                return
+
+            self.dialogs['vselect'] = VectorSelectBase(self.parent, self._giface)
+            self.dialogs['vselect'].CreateDialog(createButton=True)
+            self.dialogs['vselect'].onCloseDialog.connect(self._onCloseVectorSelectDialog)
+            
+    def _onCloseVectorSelectDialog(self):
+        self.dialogs['vselect'] = None
+
     def OnRotate(self, event):
         """Rotate 3D view
         """
@@ -774,7 +806,9 @@ class MapFrame(SingleMapFrame):
                 self.toolbars['vdigit'].OnExit()
         if self.IsPaneShown('3d'):
             self.RemoveNviz()
-        
+        if hasattr(self, 'rdigit') and self.rdigit:
+            self.rdigit.CleanUp()
+
         if not self._layerManager:
             self.Destroy()
         elif self.page:
@@ -859,6 +893,8 @@ class MapFrame(SingleMapFrame):
         """
         Debug.msg(1, "QueryMap(): raster=%s vector=%s" % (','.join(rast),
                                                           ','.join(vect)))
+        if self._highlighter_layer is None:
+            self._highlighter_layer = VectorSelectHighlighter(mapdisp=self._giface.GetMapDisplay(), giface=self._giface)
 
         # use display region settings instead of computation region settings
         self.tmpreg = os.getenv("GRASS_REGION")
@@ -867,7 +903,8 @@ class MapFrame(SingleMapFrame):
         rastQuery = []
         vectQuery = []
         if rast:
-            rastQuery = grass.raster_what(map=rast, coord=(east, north))
+            rastQuery = grass.raster_what(map=rast, coord=(east, north),
+                                          localized=True)
         if vect:
             encoding = UserSettings.Get(group='atm', key='encoding', subkey='value')
             try:
@@ -878,7 +915,9 @@ class MapFrame(SingleMapFrame):
                        message=_("Failed to query vector map(s) <{maps}>. "
                                  "Check database settings and topology.").format(maps=','.join(vect)))
         self._QueryMapDone()
-        if 'Id' in vectQuery:
+
+        self._highlighter_layer.Clear()
+        if vectQuery and 'Category' in vectQuery[0]:
             self._queryHighlight(vectQuery)
 
         result = rastQuery + vectQuery
@@ -896,6 +935,8 @@ class MapFrame(SingleMapFrame):
         self.dialogs['query'] = None
         self._vectQueryLayers = []
         self._rastQueryLayers = []
+        self._highlighter_layer.Clear()
+        self._highlighter_layer = None
         event.Skip()
 
     def _onRedirectQueryOutput(self, output, style='log'):
@@ -907,36 +948,15 @@ class MapFrame(SingleMapFrame):
 
     def _queryHighlight(self, vectQuery):
         """Highlight category from query."""
-        cats = name = None
-        for res in vectQuery:
-            cats = {res['Layer']: [res['Category']]}
-            name = res['Map']
-        try:
-            qlayer = self.Map.GetListOfLayers(name = globalvar.QUERYLAYER)[0]
-        except IndexError:
-            qlayer = None
-
-        if not (cats and name):
-            if qlayer:
-                self.Map.DeleteLayer(qlayer)
-                self.MapWindow.UpdateMap(render = False, renderVector = False)
-            return
+        if len(vectQuery) > 0:
+            self._highlighter_layer.SetLayer(vectQuery[0]['Layer'])
+            self._highlighter_layer.SetMap(vectQuery[0]['Map'])
+            tmp = list()
+            for i in vectQuery:
+                tmp.append(i['Category'])
 
-        if not self.IsPaneShown('3d') and self.IsAutoRendered():
-            # highlight feature & re-draw map
-            if qlayer:
-                qlayer.SetCmd(self.AddTmpVectorMapLayer(name, cats,
-                                                        useId = False,
-                                                        addLayer = False))
-            else:
-                qlayer = self.AddTmpVectorMapLayer(name, cats, useId = False)
-            
-            # set opacity based on queried layer
-            # TODO fix
-            # opacity = layer.maplayer.GetOpacity(float = True)
-            # qlayer.SetOpacity(opacity)
-            
-            self.MapWindow.UpdateMap(render = False, renderVector = False)
+            self._highlighter_layer.SetCats(tmp)
+            self._highlighter_layer.DrawSelected()
 
     def _QueryMapDone(self):
         """Restore settings after querying (restore GRASS_REGION)
@@ -977,13 +997,19 @@ class MapFrame(SingleMapFrame):
         icon = ''
         size = 0
         # here we know that there is one selected layer and it is vector
-        vparam = self._giface.GetLayerList().GetSelectedLayers()[0].cmd
+        layerSelected = self._giface.GetLayerList().GetSelectedLayer()
+        if not layerSelected:
+            return None
+        
+        vparam = layerSelected.cmd
         for p in vparam:
             if '=' in p:
-                parg,pval = p.split('=', 1)
-                if parg == 'icon': icon = pval
-                elif parg == 'size': size = float(pval)
-
+                parg, pval = p.split('=', 1)
+                if parg == 'icon':
+                    icon = pval
+                elif parg == 'size':
+                    size = float(pval)
+        
         pattern = ["d.vect",
                    "map=%s" % name,
                    "color=%s" % colorStr,
@@ -1007,12 +1033,15 @@ class MapFrame(SingleMapFrame):
                 cmd[-1].append("cats=%s" % ListOfCatsToRange(lcats))
 
         if addLayer:
+            args = {}
             if useId:
-                return self.Map.AddLayer(ltype = 'vector', name = globalvar.QUERYLAYER, command = cmd,
-                                         active = True, hidden = True, opacity = 1.0)
+                args['ltype'] = 'vector'
             else:
-                return self.Map.AddLayer(ltype = 'command', name = globalvar.QUERYLAYER, command = cmd,
-                                         active = True, hidden = True, opacity = 1.0)
+                args['ltype'] = 'command'
+                
+            return self.Map.AddLayer(name = globalvar.QUERYLAYER, command = cmd,
+                                     active = True, hidden = True, opacity = 1.0,
+                                     render = True, **args)
         else:
             return cmd
 
@@ -1414,7 +1443,15 @@ class MapFrame(SingleMapFrame):
 
     def GetMapToolbar(self):
         """Returns toolbar with zooming tools"""
-        return self.toolbars['map']
+        return self.toolbars['map'] if 'map' in self.toolbars else None
+
+    def GetToolbarNames(self):
+        """Return toolbar names"""
+        return self.toolbars.keys()
+
+    def GetDialog(self, name):
+        """Get selected dialog if exist"""
+        return self.dialogs.get(name, None)
 
     def OnVNet(self, event):
         """Dialog for v.net* modules 
@@ -1442,3 +1479,58 @@ class MapFrame(SingleMapFrame):
         map_win.ActivateWin()
 
         self.MapWindow = map_win
+
+    def AddRDigit(self):
+        """Adds raster digitizer: creates toolbar and digitizer controller,
+        binds events and signals."""
+        from rdigit.controller import RDigitController, EVT_UPDATE_PROGRESS
+        from rdigit.toolbars import RDigitToolbar
+
+        self.rdigit = RDigitController(self._giface,
+                                       mapWindow=self.GetMapWindow())
+        self.toolbars['rdigit'] = RDigitToolbar(parent=self, controller=self.rdigit,
+                                                toolSwitcher=self._toolSwitcher)
+        # connect signals
+        self.rdigit.newRasterCreated.connect(self.toolbars['rdigit'].NewRasterAdded)
+        self.rdigit.newRasterCreated.connect(lambda name: self._giface.mapCreated.emit(name=name, ltype='raster'))
+        self.rdigit.newFeatureCreated.connect(self.toolbars['rdigit'].UpdateCellValues)
+        self.rdigit.uploadMapCategories.connect(self.toolbars['rdigit'].UpdateCellValues)
+        self.rdigit.showNotification.connect(lambda text: self.SetStatusText(text, 0))
+        self.rdigit.quitDigitizer.connect(self.QuitRDigit)
+        self.rdigit.Bind(EVT_UPDATE_PROGRESS,
+                         lambda evt: self.statusbarManager.SetProgress(evt.range, evt.value, evt.text))
+        rasters = self.GetMap().GetListOfLayers(ltype='raster', mapset=grass.gisenv()['MAPSET'])
+        self.toolbars['rdigit'].UpdateRasterLayers(rasters)
+        self.toolbars['rdigit'].SelectDefault()
+
+        self.GetMap().layerAdded.connect(self._updateRDigitLayers)
+        self.GetMap().layerRemoved.connect(self._updateRDigitLayers)
+        self.GetMap().layerChanged.connect(self._updateRDigitLayers)
+        self._mgr.AddPane(self.toolbars['rdigit'],
+                          wx.aui.AuiPaneInfo().
+                          Name("rdigit toolbar").Caption(_("Raster Digitizer Toolbar")).
+                          ToolbarPane().Top().Row(1).
+                          LeftDockable(False).RightDockable(False).
+                          BottomDockable(False).TopDockable(True).Floatable().
+                          CloseButton(False).Layer(2).DestroyOnClose().
+                          BestSize((self.toolbars['rdigit'].GetBestSize())))
+        self._mgr.Update()
+
+        self.rdigit.Start()
+
+    def _updateRDigitLayers(self, layer):
+        mapset = grass.gisenv()['MAPSET']
+        self.toolbars['rdigit'].UpdateRasterLayers(
+            rasters=self.GetMap().GetListOfLayers(ltype='raster', mapset=mapset))
+
+    def QuitRDigit(self):
+        """Calls digitizer cleanup, removes digitizer object and disconnects
+        signals from Map."""
+        self.rdigit.CleanUp()
+        # disconnect updating layers
+        self.GetMap().layerAdded.disconnect(self._updateRDigitLayers)
+        self.GetMap().layerRemoved.disconnect(self._updateRDigitLayers)
+        self.GetMap().layerChanged.disconnect(self._updateRDigitLayers)
+
+        self.RemoveToolbar('rdigit', destroy=True)
+        self.rdigit = None
diff --git a/gui/wxpython/mapdisp/main.py b/gui/wxpython/mapdisp/main.py
index 7d66ae0..abbf671 100644
--- a/gui/wxpython/mapdisp/main.py
+++ b/gui/wxpython/mapdisp/main.py
@@ -14,7 +14,7 @@ Classes:
 Usage:
 python mapdisp/main.py monitor-identifier /path/to/map/file /path/to/command/file /path/to/env/file
 
-(C) 2006-2014 by the GRASS Development Team
+(C) 2006-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -28,6 +28,12 @@ This program is free software under the GNU General Public License
 
 import os
 import sys
+import time
+import shutil
+import fileinput
+
+from grass.script.setup import set_gui_path
+set_gui_path()
 
 from core          import globalvar
 import wx
@@ -35,7 +41,7 @@ import wx
 from core          import utils
 from core.giface   import StandaloneGrassInterface
 from core.gcmd     import RunCommand
-from core.render   import Map, MapLayer
+from core.render   import Map, MapLayer, Overlay, RenderMapMgr
 from core.utils import _
 from mapdisp.frame import MapFrame
 from core.debug    import Debug
@@ -43,6 +49,7 @@ from core.settings import UserSettings
 
 from grass.script.utils import try_remove
 from grass.script import core as grass
+from grass.script.task import cmdtuple_to_list
 from grass.pydispatch.signal import Signal
 
 # for standalone app
@@ -52,6 +59,7 @@ monFile = { 'cmd' : None,
             }
 monName = None
 monSize = list(globalvar.MAP_WINDOW_SIZE)
+monDecor = False
 
 class DMonMap(Map):
     def __init__(self, giface, cmdfile=None, mapfile=None):
@@ -60,9 +68,8 @@ class DMonMap(Map):
         :param cmdline: full path to the cmd file (defined by d.mon)
         :param mapfile: full path to the map file (defined by d.mon)
         """
-
         Map.__init__(self)
-
+        
         self._giface = giface
 
         # environment settings
@@ -89,6 +96,8 @@ class DMonMap(Map):
         # signal sent when d.what.rast/vect appears in cmd file, attribute is cmd
         self.query = Signal('DMonMap.query')
 
+        self.renderMgr = RenderMapMgr(self)
+        
     def GetLayersFromCmdFile(self):
         """Get list of map layers from cmdfile
         """
@@ -96,14 +105,14 @@ class DMonMap(Map):
             return
 
         nlayers = 0
-
         try:
             fd = open(self.cmdfile, 'r')
             lines = fd.readlines()
             fd.close()
             # detect d.out.file, delete the line from the cmd file and export graphics
             if len(lines) > 0:
-                if lines[-1].startswith('d.out.file') or lines[-1].startswith('d.to.rast'):
+                if lines[-1].startswith('d.out.file') or \
+                   lines[-1].startswith('d.to.rast'):
                     dCmd = lines[-1].strip()
                     fd = open(self.cmdfile, 'w')
                     fd.writelines(lines[:-1])
@@ -124,38 +133,62 @@ class DMonMap(Map):
                         maps = utils.split(dWhatCmd)[1].split(',')
                     self.query.emit(ltype=utils.split(dWhatCmd)[0].split('.')[-1], maps=maps)
                     return
-
+            
             existingLayers = self.GetListOfLayers()
 
             # holds new rendreing order for every layer in existingLayers
-            layersOrder = [-1] * len(self.GetListOfLayers())
+            layersOrder = [-1] * len(existingLayers)
 
             # next number in rendering order
             next_layer = 0
-
+            mapFile = None
+            render_env = dict()
             for line in lines:
+                if line.startswith('#'):
+                    if 'GRASS_RENDER_FILE' in line:
+                        mapFile = line.split('=', 1)[1].strip()
+                    try:
+                        k, v = line[2:].strip().split('=', 1)
+                    except:
+                        pass
+                    render_env[k] = v
+                    continue
+                
                 cmd = utils.split(line.strip())
+                
                 ltype = None
-
                 try:
                     ltype = utils.command2ltype[cmd[0]]
                 except KeyError:
                     grass.warning(_("Unsupported command %s.") % cmd[0])
                     continue
-
+                
                 name = utils.GetLayerNameFromCmd(cmd, fullyQualified = True,
                                                  layerType = ltype)[0]
 
-                # creating temporary layer object to compare commands
-                # neccessary to get the same format
-                # supposing that there are no side effects
-                tmpMapLayer = MapLayer(ltype = ltype, name = name,
-                                       cmd = cmd, Map = None,
-                                       active = False, hidden = True,
-                                       opacity = 0)
+                args = {}
+                if ltype in ('barscale', 'rastleg', 'northarrow'):
+                    classLayer = Overlay
+                    if ltype == 'rastleg':
+                        args['id'] = 0
+                    elif ltype == 'barscale':
+                        args['id'] = 1
+                    else:
+                        args['id'] = 2
+                else:
+                    classLayer = MapLayer
+                    args['ltype'] = ltype
+                
+                mapLayer = classLayer(name = name, cmd = cmd, Map = None,
+                                      hidden = True, render = False, mapfile = mapFile, **args)
+                mapLayer.GetRenderMgr().updateProgress.connect(self.GetRenderMgr().ReportProgress)
+                if render_env:
+                    mapLayer.GetRenderMgr().UpdateRenderEnv(render_env)
+                    render_env = dict()
+                    
                 exists = False
                 for i, layer in enumerate(existingLayers):
-                    if layer.GetCmd(string=True) == tmpMapLayer.GetCmd(string=True):
+                    if layer.GetCmd(string=True) == mapLayer.GetCmd(string=True):
                         exists = True
 
                         if layersOrder[i] == -1: 
@@ -172,12 +205,12 @@ class DMonMap(Map):
                         break
                 if exists:
                     continue
-
-                newLayer = Map.AddLayer(self, ltype = ltype, command = cmd, active = True, name = name)
                 
+                newLayer = self._addLayer(mapLayer)
+                                
                 existingLayers.append(newLayer)
                 self.ownedLayers.append(newLayer)
-
+                
                 layersOrder.append(next_layer)
                 next_layer += 1
 
@@ -198,27 +231,25 @@ class DMonMap(Map):
                 # owned layer found in cmd file is added into proper rendering position
                 else:
                     reorderedLayers[layersOrder[i]] = layer
-
+            
             self.SetLayers(reorderedLayers)
-
+            
         except IOError as e:
             grass.warning(_("Unable to read cmdfile '%(cmd)s'. Details: %(det)s") % \
                               { 'cmd' : self.cmdfile, 'det' : e })
             return
-
-        self._giface.updateMap.emit()
-
-        Debug.msg(1, "Map.GetLayersFromCmdFile(): cmdfile=%s" % self.cmdfile)
-        Debug.msg(1, "                            nlayers=%d" % nlayers)
-                
+        
+        Debug.msg(1, "Map.GetLayersFromCmdFile(): cmdfile=%s, nlayers=%d" % \
+                  (self.cmdfile, nlayers))
+        
+        self._giface.updateMap.emit(render=False)
+        
     def Render(self, *args, **kwargs):
         """Render layer to image.
 
         For input params and returned data see overridden method in Map class.
         """
-        ret = Map.Render(self, *args, **kwargs)
-
-        return ret
+        return Map.Render(self, *args, **kwargs)
     
     def AddLayer(self, *args, **kwargs):
         """Adds generic map layer to list of layers.
@@ -232,12 +263,12 @@ class DMonMap(Map):
         else:
             os.environ["GRASS_RENDER_IMMEDIATE"] = "cairo"
 
-        layer = Map.AddLayer(self, *args, **kwargs)
-
+        layer = Map.AddLayer(self, render = False, *args, **kwargs)
+        llayer.SetMapFile(self.mapfile)
+        
         del os.environ["GRASS_RENDER_IMMEDIATE"]
 
-        return layer
-
+        #return layer
 
 class Layer(object):
     """@implements core::giface::Layer"""
@@ -246,7 +277,7 @@ class Layer(object):
 
     def __getattr__(self, name):
         if name == 'cmd':
-            return utils.CmdTupleToList(self._maplayer.GetCmd())
+            return cmdtuple_to_list(self._maplayer.GetCmd())
         elif hasattr(self._maplayer, name):
             return getattr(self._maplayer, name)
         elif name == 'maplayer':
@@ -260,8 +291,8 @@ class Layer(object):
 
 
 class LayerList(object):
+    """@implements core::giface::LayerList"""
     def __init__(self, map, giface):
-        """@implements core::giface::LayerList"""
         self._map = map
         self._giface = giface
 
@@ -288,7 +319,7 @@ class LayerList(object):
 
         Launches property dialog if needed (raster, vector, etc.)
 
-        :param ltype: layer type (raster, vector, 3d-raster, ...)
+        :param ltype: layer type (raster, vector, raster_3d, ...)
         :param name: layer name
         :param checked: if True layer is checked
         :param opacity: layer opacity level
@@ -330,7 +361,7 @@ class DMonGrassInterface(StandaloneGrassInterface):
     def __init__(self, mapframe):
         StandaloneGrassInterface.__init__(self)
         self._mapframe = mapframe
-
+        
     def GetLayerList(self):
         return LayerList(self._mapframe.GetMap(), giface=self)
 
@@ -340,13 +371,54 @@ class DMonGrassInterface(StandaloneGrassInterface):
     def GetProgress(self):
         return self._mapframe.GetProgressBar()
 
+    def ShowStatusbar(self, show=True):
+        if not self._mapframe.statusbarManager:
+            self._mapframe.CreateStatusbar()
+        
+        self._mapframe.statusbarManager.Show(show)
+
+    def IsStatusbarShown(self):
+        if not self._mapframe.statusbarManager:
+            return False
+        
+        return self._mapframe.statusbarManager.IsShown()
+
+    def ShowAllToolbars(self, show=True):
+        if not show: # hide
+            action = self._mapframe.RemoveToolbar
+        else:
+            action = self._mapframe.AddToolbar
+        toolbars = self._mapframe.GetToolbarNames()
+        if not toolbars:
+            toolbars.append('map')
+        for toolbar in toolbars:
+            action(toolbar)
+    
+    def AreAllToolbarsShown(self):
+        toolbar = self._mapframe.GetMapToolbar()
+        if toolbar is None:
+            return False
+        
+        return toolbar.IsShown()
 
 class DMonFrame(MapFrame):
     def OnZoomToMap(self, event):
         layers = self.MapWindow.GetMap().GetListOfLayers()
         self.MapWindow.ZoomToMap(layers = layers)
         
-
+    def OnSize(self, event):
+        super(DMonFrame, self).OnSize(event)
+
+        # update env file
+        width, height = self.MapWindow.GetClientSize()
+        for line in fileinput.input(monFile['env'], inplace=True):
+            if 'GRASS_RENDER_WIDTH' in line:
+                print 'GRASS_RENDER_WIDTH={}'.format(width)
+            elif 'GRASS_RENDER_HEIGHT' in line:
+                print 'GRASS_RENDER_HEIGHT={}'.format(height)
+            else:
+                print line.rstrip('\n')
+    
 class MapApp(wx.App):
     def OnInit(self):
         if not globalvar.CheckWxVersion([2, 9]):
@@ -355,34 +427,43 @@ class MapApp(wx.App):
         grass.set_raise_on_error(True)
         # actual use of StandaloneGrassInterface not yet tested
         # needed for adding functionality in future
-        giface = DMonGrassInterface(None)
+        self._giface = DMonGrassInterface(None)
+        
+        return True
+    
+    def CreateMapFrame(self, name, decorations=True):
+        toolbars = []
+        if decorations:
+            toolbars.append('map')
 
         if __name__ == "__main__":
             self.cmdTimeStamp = os.path.getmtime(monFile['cmd'])
-            self.Map = DMonMap(giface=giface, cmdfile=monFile['cmd'],
+            self.Map = DMonMap(giface=self._giface, cmdfile=monFile['cmd'],
                                mapfile = monFile['map'])
-        else:
-            self.Map = None
-
-        self.mapFrm = DMonFrame(parent = None, id = wx.ID_ANY, Map = self.Map,
-                                giface = giface, size = monSize)
-        # FIXME: hack to solve dependency
-        giface._mapframe = self.mapFrm
-        # self.SetTopWindow(Map)
-        self.mapFrm.GetMapWindow().SetAlwaysRenderEnabled(True)
-        self.Map.saveToFile.connect(lambda cmd: self.mapFrm.DOutFile(cmd))
-        self.Map.dToRast.connect(lambda cmd: self.mapFrm.DToRast(cmd))
-        self.Map.query.connect(lambda ltype, maps: self.mapFrm.SetQueryLayersAndActivate(ltype=ltype, maps=maps))
-        self.mapFrm.Show()
-        
-        if __name__ == "__main__":
+            
             self.timer = wx.PyTimer(self.watcher)
             #check each 0.5s
             global mtime
             mtime = 500
             self.timer.Start(mtime)
-            
-        return True
+        else:
+            self.Map = None
+        
+        self.mapFrm = DMonFrame(parent=None, id=wx.ID_ANY, title=name, Map=self.Map,
+                                giface=self._giface, size=monSize,
+                                toolbars=toolbars, statusbar=decorations)
+        
+        # FIXME: hack to solve dependency
+        self._giface._mapframe = self.mapFrm
+        
+        self.mapFrm.GetMapWindow().SetAlwaysRenderEnabled(False)
+
+        self.Map.saveToFile.connect(lambda cmd: self.mapFrm.DOutFile(cmd))
+        self.Map.dToRast.connect(lambda cmd: self.mapFrm.DToRast(cmd))
+        self.Map.query.connect(lambda ltype, maps: \
+                               self.mapFrm.SetQueryLayersAndActivate(ltype=ltype, maps=maps))
+
+        return self.mapFrm
     
     def OnExit(self):
         if __name__ == "__main__":
@@ -396,14 +477,19 @@ class MapApp(wx.App):
         """Redraw, if new layer appears (check's timestamp of
         cmdfile)
         """
-        try:
+        ###
+        ### TODO: find a better solution
+        ###
+        ### the check below disabled, it's too much invasive to call
+        ### g.gisenv in the watcher...
+        # try:
             # GISBASE and other system enviromental variables can not be used
             # since the process inherited them from GRASS
             # raises exception when vaiable does not exists
-            grass.gisenv()['GISDBASE']
-        except KeyError:
-            self.timer.Stop()
-            return
+            ### grass.gisenv()['GISDBASE']
+        # except KeyError:
+        #    self.timer.Stop()
+        #    return
         
         # todo: events
         try:
@@ -422,52 +508,52 @@ class MapApp(wx.App):
         return self.mapFrm
 
 if __name__ == "__main__":
-    # set command variable
-    if len(sys.argv) < 5:
+    if len(sys.argv) != 6:
         print __doc__
-        sys.exit(1)
+        sys.exit(0)
     
+    # set command variable
     monName = sys.argv[1]
-    monFile = { 'map' : sys.argv[2],
-                'cmd' : sys.argv[3],
-                'env' : sys.argv[4],
-                }
-    if len(sys.argv) >= 6:
-        try:
-            monSize[0] = int(sys.argv[5])
-        except ValueError:
-            pass
-    
-    if len(sys.argv) == 7:
-        try:
-            monSize[1] = int(sys.argv[6])
-        except ValueError:
-            pass
+    monPath = sys.argv[2]
+    monFile = { 'map' : os.path.join(monPath, 'map.ppm'),
+                'cmd' : os.path.join(monPath, 'cmd'),
+                'env' : os.path.join(monPath, 'env') }
 
+    # monitor size
+    monSize = (int(sys.argv[3]), int(sys.argv[4]))
     
+    monDecor = not bool(int(sys.argv[5]))
     grass.verbose(_("Starting map display <%s>...") % (monName))
 
+    # create pid file
+    pidFile = os.path.join(monPath, "pid")
+    fd = open(pidFile, 'w')
+    if not fd:
+        grass.fatal(_("Unable to create file <%s>") % pidFile)
+    fd.write("%s\n" % os.getpid())
+    fd.close()
+        
     RunCommand('g.gisenv',
                set = 'MONITOR_%s_PID=%d' % (monName.upper(), os.getpid()))
-    
+
+    start = time.time()
     gmMap = MapApp(0)
-    # set title
-    gmMap.mapFrm.SetTitle(monName)
+    mapFrame = gmMap.CreateMapFrame(monName, monDecor)
+    mapFrame.Show()
+    Debug.msg(1, "WxMonitor started in %.6f sec" % \
+                  (time.time() - start))
     
     gmMap.MainLoop()
     
     grass.verbose(_("Stopping map display <%s>...") % (monName))
 
     # clean up GRASS env variables
-    env = grass.gisenv()
-    env_name = 'MONITOR_%s' % monName.upper()
-    unset = list()
-    for key in env.keys():
-        if key.find(env_name) == 0 or \
-           (key == 'MONITOR' and env[key] == monName):
-            unset.append(key)
-    if unset:
-        RunCommand('g.gisenv',
-                   unset = '%s' % ','.join(unset))
+    try:
+        shutil.rmtree(monPath)
+    except OSError:
+        pass
+    
+    RunCommand('g.gisenv',
+               unset = 'MONITOR')
     
     sys.exit(0)
diff --git a/gui/wxpython/mapdisp/statusbar.py b/gui/wxpython/mapdisp/statusbar.py
index 28c165b..80a8ae2 100644
--- a/gui/wxpython/mapdisp/statusbar.py
+++ b/gui/wxpython/mapdisp/statusbar.py
@@ -319,7 +319,15 @@ class SbManager:
         self.progressbar.SetValue(value)
         if text:
             self.statusbar.SetStatusText(text)
-        
+
+    def Show(self, show=True):
+        """Show/hide statusbar"""
+        self.statusbar.Show(show)
+
+    def IsShown(self):
+        """Check if statusbar is shown"""
+        return self.statusbar.IsShown()
+
 class SbItem:
     """Base class for statusbar items.
     
diff --git a/gui/wxpython/mapdisp/toolbars.py b/gui/wxpython/mapdisp/toolbars.py
index 9e97b70..fe5f3f5 100644
--- a/gui/wxpython/mapdisp/toolbars.py
+++ b/gui/wxpython/mapdisp/toolbars.py
@@ -6,7 +6,7 @@
 Classes:
  - toolbars::MapToolbar
 
-(C) 2007-2011 by the GRASS Development Team
+(C) 2007-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -28,6 +28,9 @@ MapIcons =  {
     'query'      : MetaIcon(img = 'info',
                             label = _('Query raster/vector map(s)'),
                             desc = _('Query selected raster/vector map(s)')),
+    'select'     : MetaIcon(img = 'select',
+                            label = _('Select vector feature(s)'),
+                            desc = _('Select features interactively from vector map')),
     'addBarscale': MetaIcon(img = 'scalebar-add',
                             label = _('Show/hide scale bar')),
     'addLegend'  : MetaIcon(img = 'legend-add',
@@ -79,28 +82,29 @@ class MapToolbar(BaseToolbar):
         self._default = self.pointer
         
         # optional tools
+        toolNum = 0
         choices = [ _('2D view'), ]
-        self.toolId = { '2d' : 0 }
+        self.toolId = { '2d' : toolNum }
+        toolNum += 1
         if self.parent.GetLayerManager():
             log = self.parent.GetLayerManager().GetLogWindow()
         
         if haveNviz:
             choices.append(_('3D view'))
-            self.toolId['3d'] = 1
+            self.toolId['3d'] = toolNum
+            toolNum += 1
         else:
             from nviz.main import errorMsg
             if self.parent.GetLayerManager():
-              log.WriteCmdLog(_('3D view mode not available'))
-              log.WriteWarning(_('Reason: %s') % str(errorMsg))
+                log.WriteCmdLog(_('3D view mode not available'))
+                log.WriteWarning(_('Reason: %s') % str(errorMsg))
             
             self.toolId['3d'] = -1
 
         if haveVDigit:
-            choices.append(_('Digitize'))
-            if self.toolId['3d'] > -1:
-                self.toolId['vdigit'] = 2
-            else:
-                self.toolId['vdigit'] = 1
+            choices.append(_("Vector digitizer"))
+            self.toolId['vdigit'] = toolNum
+            toolNum += 1
         else:
             from vdigit.main import errorMsg
             if self.parent.GetLayerManager():
@@ -112,7 +116,9 @@ class MapToolbar(BaseToolbar):
                              'In the meantime you can use "v.digit" from the Develop Vector menu.'), wrap = 60)
             
             self.toolId['vdigit'] = -1
-        
+        choices.append(_("Raster digitizer"))
+        self.toolId['rdigit'] = toolNum
+
         self.combo = wx.ComboBox(parent = self, id = wx.ID_ANY,
                                  choices = choices,
                                  style = wx.CB_READONLY, size = (110, -1))
@@ -128,7 +134,7 @@ class MapToolbar(BaseToolbar):
         self.combo.Hide()
         self.combo.Show()
         
-        for tool in (self.pointer, self.query, self.pan, self.zoomIn, self.zoomOut):
+        for tool in (self.pointer, self.select, self.query, self.pan, self.zoomIn, self.zoomOut):
             self.toolSwitcher.AddToolToGroup(group='mouseUse', toolbar=self, tool=tool)
         
         self.EnableTool(self.zoomBack, False)
@@ -137,49 +143,42 @@ class MapToolbar(BaseToolbar):
         
     def _toolbarData(self):
         """Toolbar data"""
-        return self._getToolbarData((('displayMap', BaseIcons['display'],
-                                      self.parent.OnDraw),
-                                     ('renderMap', BaseIcons['render'],
-                                      self.parent.OnRender),
-                                     ('erase', BaseIcons['erase'],
-                                      self.parent.OnErase),
-                                     (None, ),
-                                     ('pointer', BaseIcons['pointer'],
-                                      self.parent.OnPointer,
-                                      wx.ITEM_CHECK),
-                                     ('query', MapIcons['query'],
-                                      self.parent.OnQuery,
-                                      wx.ITEM_CHECK),
-                                     ('pan', BaseIcons['pan'],
-                                      self.parent.OnPan,
-                                      wx.ITEM_CHECK),
-                                     ('zoomIn', BaseIcons['zoomIn'],
-                                      self.parent.OnZoomIn,
-                                      wx.ITEM_CHECK),
-                                     ('zoomOut', BaseIcons['zoomOut'],
-                                      self.parent.OnZoomOut,
-                                      wx.ITEM_CHECK),
-                                     ('zoomExtent', BaseIcons['zoomExtent'],
-                                      self.parent.OnZoomToMap),
-                                     ('zoomRegion', BaseIcons['zoomRegion'],
-                                      self.parent.OnZoomToWind),
-                                     ('zoomBack', BaseIcons['zoomBack'],
-                                      self.parent.OnZoomBack),
-                                     ('zoomMenu', BaseIcons['zoomMenu'],
-                                      self.parent.OnZoomMenu),
-                                     (None, ),
-                                     ('analyze', MapIcons['analyze'],
-                                      self.OnAnalyze),
-                                     (None, ),
-                                     ('overlay', BaseIcons['overlay'],
-                                      self.OnDecoration),
-                                     (None, ),
-                                     ('saveFile', BaseIcons['saveFile'],
-                                      self.parent.SaveToFile),
-                                     ('printMap', BaseIcons['print'],
-                                      self.parent.PrintMenu),
-                                     (None, ))
-                                    )
+        return self._getToolbarData((
+            ('renderMap', BaseIcons['render'],
+             self.parent.OnRender),
+            ('pointer', BaseIcons['pointer'],
+             self.parent.OnPointer,
+             wx.ITEM_CHECK),
+            ('select', MapIcons['select'],
+             self.parent.OnSelect,
+             wx.ITEM_CHECK),
+            ('query', MapIcons['query'],
+             self.parent.OnQuery,
+             wx.ITEM_CHECK),
+            ('pan', BaseIcons['pan'],
+             self.parent.OnPan,
+             wx.ITEM_CHECK),
+            ('zoomIn', BaseIcons['zoomIn'],
+             self.parent.OnZoomIn,
+             wx.ITEM_CHECK),
+            ('zoomOut', BaseIcons['zoomOut'],
+             self.parent.OnZoomOut,
+             wx.ITEM_CHECK),
+            ('zoomExtent', BaseIcons['zoomExtent'],
+             self.parent.OnZoomToMap),
+            ('zoomRegion', BaseIcons['zoomRegion'],
+             self.parent.OnZoomToWind),
+            ('zoomBack', BaseIcons['zoomBack'],
+             self.parent.OnZoomBack),
+            ('zoomMenu', BaseIcons['zoomMenu'],
+             self.parent.OnZoomMenu),
+            ('analyze', MapIcons['analyze'],
+             self.OnAnalyze),
+            ('overlay', BaseIcons['overlay'],
+             self.OnDecoration),
+            ('saveFile', BaseIcons['saveFile'],
+             self.parent.SaveToFile),
+        ))
     def InsertTool(self, data):
         """Insert tool to toolbar
         
@@ -218,11 +217,10 @@ class MapToolbar(BaseToolbar):
         """Select / enable tool available in tools list
         """
         tool =  event.GetSelection()
-        
+
         if tool == self.toolId['2d']:
             self.ExitToolbars()
-            self.Enable2D(True)
-            self.ChangeToolsDesc(mode2d = True)            
+            self.Enable2D(True)         
         
         elif tool == self.toolId['3d'] and \
                 not (self.parent.MapWindow3D and self.parent.IsPaneShown('3d')):
@@ -235,6 +233,10 @@ class MapToolbar(BaseToolbar):
             self.parent.AddToolbar("vdigit")
             self.parent.MapWindow.SetFocus()
 
+        elif tool == self.toolId['rdigit']:
+            self.ExitToolbars()
+            self.parent.AddRDigit()
+
     def OnAnalyze(self, event):
         """Analysis tools menu
         """
@@ -261,11 +263,16 @@ class MapToolbar(BaseToolbar):
         if self.parent.GetLayerManager() and \
                 self.parent.GetLayerManager().IsPaneShown('toolbarNviz'):
             self.parent.RemoveNviz()
-        
+        if self.parent.GetToolbar('rdigit'):
+            self.parent.QuitRDigit()
+
     def Enable2D(self, enabled):
         """Enable/Disable 2D display mode specific tools"""
         for tool in (self.zoomRegion,
                      self.zoomMenu,
                      self.analyze,
-                     self.printMap):
+                     self.select):
             self.EnableTool(tool, enabled)
+        self.ChangeToolsDesc(enabled)
+        if enabled:
+            self.combo.SetValue(_("2D view"))
diff --git a/gui/wxpython/mapswipe/frame.py b/gui/wxpython/mapswipe/frame.py
index 6f294f6..7409c0f 100644
--- a/gui/wxpython/mapswipe/frame.py
+++ b/gui/wxpython/mapswipe/frame.py
@@ -642,11 +642,13 @@ class SwipeMapFrame(DoubleMapFrame):
 
         result = []
         if rasters[0]:
-            result.extend(grass.raster_what(map=rasters[0], coord=(east, north)))
+            result.extend(grass.raster_what(map=rasters[0], coord=(east, north),
+                                            localized=True))
         if vectors[0]:
             result.extend(grass.vector_what(map=vectors[0], coord=(east, north), distance=qdist))
         if rasters[1]:
-            result.extend(grass.raster_what(map=rasters[1], coord=(east, north)))
+            result.extend(grass.raster_what(map=rasters[1], coord=(east, north),
+                                            localized=True))
         if vectors[1]:
             result.extend(grass.vector_what(map=vectors[1], coord=(east, north), distance=qdist))
 
diff --git a/gui/wxpython/mapswipe/g.gui.mapswipe.py b/gui/wxpython/mapswipe/g.gui.mapswipe.py
index cb8532b..c158171 100755
--- a/gui/wxpython/mapswipe/g.gui.mapswipe.py
+++ b/gui/wxpython/mapswipe/g.gui.mapswipe.py
@@ -52,6 +52,10 @@ def main():
     options, flags = gscript.parser()
 
     import wx
+    
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.settings import UserSettings
     from core.globalvar import CheckWxVersion
     from core.giface import StandaloneGrassInterface
diff --git a/gui/wxpython/mapswipe/mapwindow.py b/gui/wxpython/mapswipe/mapwindow.py
index 5aedd7f..b0c96ff 100644
--- a/gui/wxpython/mapswipe/mapwindow.py
+++ b/gui/wxpython/mapswipe/mapwindow.py
@@ -115,7 +115,8 @@ class SwipeBufferedWindow(BufferedMapWindow):
         if not self.movingSash:
             super(SwipeBufferedWindow, self).OnSize(event)
 
-    def Draw(self, pdc, img = None, drawid = None, pdctype = 'image', coords = [0, 0, 0, 0], pen = None):
+    def Draw(self, pdc, img=None, drawid=None, pdctype='image',
+             coords=[0, 0, 0, 0], pen=None, brush=None):
         """Draws image (map) with translated coordinates.
         """
         Debug.msg(2, "SwipeBufferedWindow.Draw()")
@@ -123,7 +124,7 @@ class SwipeBufferedWindow(BufferedMapWindow):
         if pdctype == 'image':
             coords = self.GetImageCoords()
 
-        return super(SwipeBufferedWindow, self).Draw(pdc, img, drawid, pdctype, coords, pen)
+        return super(SwipeBufferedWindow, self).Draw(pdc, img, drawid, pdctype, coords, pen, brush)
         
     def OnLeftDown(self, event):
         """Left mouse button pressed.
diff --git a/gui/wxpython/mapwin/analysis.py b/gui/wxpython/mapwin/analysis.py
index b68414a..d63553e 100644
--- a/gui/wxpython/mapwin/analysis.py
+++ b/gui/wxpython/mapwin/analysis.py
@@ -76,7 +76,7 @@ class AnalysisControllerBase:
         item.SetCoords(coords)
         # draw
         self._mapWindow.ClearLines()
-        self._registeredGraphics.Draw(pdc=self._mapWindow.pdcTmp)
+        self._registeredGraphics.Draw()
         self._mapWindow.Refresh()
         wx.SafeYield()
 
diff --git a/gui/wxpython/mapwin/buffered.py b/gui/wxpython/mapwin/buffered.py
index 9c83f11..6415aae 100644
--- a/gui/wxpython/mapwin/buffered.py
+++ b/gui/wxpython/mapwin/buffered.py
@@ -77,6 +77,8 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         self.SetBackgroundColour("white")
         
         self._properties = properties
+        # this class should not ask for digit, this is a hack
+        self.digit = None
 
         # flags
         self.resize = False # indicates whether or not a resize event has taken place
@@ -129,6 +131,8 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         self.mouseLeftUpPointer = Signal('BufferedWindow.mouseLeftUpPointer')
         # Emitted when left mouse button is released
         self.mouseLeftUp = Signal('BufferedWindow.mouseLeftUp')
+        # Emitted when right mouse button is released
+        self.mouseRightUp = Signal('BufferedWindow.mouseRightUp')
         # Emitted when left mouse button was pressed
         self.mouseLeftDown = Signal('BufferedWindow.mouseLeftDown')
         # Emitted after double-click
@@ -147,7 +151,6 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         self.processMouse = True
 
         # render output objects
-        self.mapfile = None   # image file to be rendered
         self.img     = None   # wx.Image object (self.mapfile)
         # decoration overlays
         self.overlays = overlays
@@ -180,7 +183,8 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
 
         # rerender when Map reports change
         self.Map.layerChanged.connect(self.OnUpdateMap)
-
+        self.Map.GetRenderMgr().renderDone.connect(self._updateMFinished)
+        
         # vars for handling mouse clicks
         self.dragid   = -1
         self.lastpos  = (0, 0)
@@ -196,11 +200,11 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
     def DisactivateWin(self):
         """Use when the class instance is hidden in MapFrame."""
         self.Map.layerChanged.disconnect(self.OnUpdateMap)
-
+    
     def ActivateWin(self):
         """Used when the class instance is activated in MapFrame."""
         self.Map.layerChanged.connect(self.OnUpdateMap)
-
+        
     def _definePseudoDC(self):
         """Define PseudoDC objects to use
         """
@@ -208,8 +212,8 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         self.pdc = wx.PseudoDC()
         # used for digitization tool
         self.pdcVector = None
-        # decorations (region box, etc.)
-        self.pdcDec = wx.PseudoDC()
+        # transparent objects (region box, raster digitizer)
+        self.pdcTransparent = wx.PseudoDC()
         # pseudoDC for temporal objects (select box, measurement tool, etc.)
         self.pdcTmp = wx.PseudoDC()
 
@@ -220,7 +224,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
 
     def OnContextMenu(self, event):
         """Show Map Display context menu"""
-        if hasattr(self, "digit"):
+        if self.digit:
             event.Skip()
             return
 
@@ -231,10 +235,23 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             self.popupCopyCoordinates = wx.NewId()
             self.Bind(wx.EVT_MENU, self.OnCopyCoordinates, id = self.popupCopyCoordinates)
         menu.Append(self.popupCopyCoordinates, _("Copy coordinates to clipboard"))
+        menu.AppendSeparator()
+        if not hasattr(self, "popupShowAllToolbars"):
+            self.popupShowAllToolbars = wx.NewId()
+            self.Bind(wx.EVT_MENU, self.OnShowAllToolbars, id = self.popupShowAllToolbars)
+        menu.Append(self.popupShowAllToolbars, _("Hide toolbars") if self._giface.AreAllToolbarsShown() else _("Show toolbars"))
+        if not hasattr(self, "popupShowStatusbar"):
+            self.popupShowStatusbar = wx.NewId()
+            self.Bind(wx.EVT_MENU, self.OnShowStatusbar, id = self.popupShowStatusbar)
+        menu.Append(self.popupShowStatusbar, _("Hide statusbar") if self._giface.IsStatusbarShown() else _("Show statusbar"))
 
         pos = self.ScreenToClient(event.GetPosition())
         idlist = self.pdc.FindObjects(pos[0], pos[1], self.hitradius)
+        separator = True
         if idlist and idlist[0] in (0, 1, 2):  # legend, scale bar, north arrow
+            if separator:
+                menu.AppendSeparator()
+                separator = False
             self._hide = wx.NewId()
             self.Bind(wx.EVT_MENU,
                       lambda evt: self.overlayHidden.emit(overlayId=idlist[0]),
@@ -251,7 +268,8 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         self.PopupMenu(menu)
         menu.Destroy()
 
-    def Draw(self, pdc, img = None, drawid = None, pdctype = 'image', coords = [0, 0, 0, 0], pen = None):
+    def Draw(self, pdc, img=None, drawid=None, pdctype='image',
+             coords=[0, 0, 0, 0], pen=None, brush=None):
         """Draws map and overlay decorations
         """
         if drawid is None:
@@ -308,7 +326,9 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
 
         elif pdctype == 'box': # draw a box on top of the map
             if pen:
-                pdc.SetBrush(wx.Brush(wx.CYAN, wx.TRANSPARENT))
+                if not brush:
+                    brush = wx.Brush(wx.CYAN, wx.TRANSPARENT)
+                pdc.SetBrush(brush)
                 pdc.SetPen(pen)
                 x2 = max(coords[0],coords[2])
                 x1 = min(coords[0],coords[2])
@@ -368,7 +388,9 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         elif pdctype == 'polygon':
             if pen:
                 pdc.SetPen(pen)
-                pdc.SetBrush(wx.TRANSPARENT_BRUSH)
+                if not brush:
+                    brush = wx.TRANSPARENT_BRUSH
+                pdc.SetBrush(brush)
                 pdc.DrawPolygon(points=coords)
                 x = min(coords, key=lambda x: x[0])[0]
                 y = min(coords, key=lambda x: x[1])[1]
@@ -379,7 +401,9 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         elif pdctype == 'circle': # draw circle
             if pen:
                 pdc.SetPen(pen)
-                pdc.SetBrush(wx.TRANSPARENT_BRUSH)
+                if not brush:
+                    brush = wx.TRANSPARENT_BRUSH
+                pdc.SetBrush(brush)
                 radius = abs(coords[2] - coords[0]) / 2
                 pdc.DrawCircle(max(coords[0], coords[2]) - radius,
                                max(coords[1], coords[3]) - radius, radius=radius)
@@ -480,7 +504,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
 
         If self.redrawAll is False on self.pdcTmp content is re-drawn
         """
-        Debug.msg(4, "BufferedWindow.OnPaint(): redrawAll=%s" % self.redrawAll)
+        Debug.msg(5, "BufferedWindow.OnPaint(): redrawAll=%s" % self.redrawAll)
         dc = wx.BufferedPaintDC(self, self._buffer)
         dc.Clear()
 
@@ -503,7 +527,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             self.pdc.DrawToDCClipped(dc, rgn)
 
             # draw vector map layer
-            if hasattr(self, "digit"):
+            if self.digit:
                 # decorate with GDDC (transparency)
                 try:
                     gcdc = wx.GCDC(dc)
@@ -518,7 +542,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
                 # draw to the dc
                 self.pdc.DrawToDC(dc)
 
-                if hasattr(self, "digit"):
+                if self.digit:
                     # decorate with GDDC (transparency)
                     try:
                         gcdc = wx.GCDC(dc)
@@ -534,16 +558,15 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             self.pdc.DrawBitmap(self.bufferLast, 0, 0, False)
             self.pdc.DrawToDC(dc)
 
-        # draw decorations (e.g. region box)
+        # draw semitransparent objects (e.g. region box, raster digitizer objects)
         try:
             gcdc = wx.GCDC(dc)
-            self.pdcDec.DrawToDC(gcdc)
+            self.pdcTransparent.DrawToDC(gcdc)
         except NotImplementedError as e:
             print >> sys.stderr, e
-            self.pdcDec.DrawToDC(dc)
+            self.pdcTransparent.DrawToDC(dc)
 
         # draw temporary object on the foreground
-        ### self.pdcTmp.DrawToDCClipped(dc, rgn)
         self.pdcTmp.DrawToDC(dc)
 
         if switchDraw:
@@ -602,20 +625,34 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         :param width: image width
         :param height: image height
         """
-        busy = wx.BusyInfo(message = _("Please wait, exporting image..."),
-                           parent = self)
+        Debug.msg(1, "MapWindow.SaveToFile(): %s (%dx%d)", FileName, width, height)
+        
+        self._fileName = FileName
+        self._fileType = FileType
+        
+        self._busy = wx.BusyInfo(message = _("Please wait, exporting image..."),
+                                 parent = self)
         wx.Yield()
 
         self.Map.ChangeMapSize((width, height))
-        ibuffer = wx.EmptyBitmap(max(1, width), max(1, height))
         self.Map.Render(force = True, windres = self._properties.resolution)
+        renderMgr = self.Map.GetRenderMgr()
+        renderMgr.renderDone.disconnect(self._updateMFinished)
+        renderMgr.renderDone.connect(self._saveToFileDone)
+
+    def _saveToFileDone(self):
+        renderMgr = self.Map.GetRenderMgr()
+        renderMgr.renderDone.disconnect(self._saveToFileDone)
+        
+        ibuffer = wx.EmptyBitmap(max(1, self.Map.width), max(1, self.Map.height))
+        
         img = self.GetImage()
         self.pdc.RemoveAll()
         self.Draw(self.pdc, img, drawid = 99)
 
         # compute size ratio to move overlay accordingly
         cSize = self.GetClientSizeTuple()
-        ratio = float(width) / cSize[0], float(height) / cSize[1]
+        ratio = float(self.Map.width) / cSize[0], float(self.Map.height) / cSize[1]
 
         # redraw legend, scalebar
         for img in self.GetOverlay():
@@ -643,15 +680,20 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         # probably does nothing, removed from wxPython 2.9
         # self.PrepareDC(dc)
         self.pdc.DrawToDC(dc)
-        if self.pdcVector:
+        if self.digit:
             self.pdcVector.DrawToDC(dc)
-        ibuffer.SaveFile(FileName, FileType)
-
-        busy.Destroy()
-
+        ibuffer.SaveFile(self._fileName, self._fileType)
+        
+        self._busy.Destroy()
+        del self._busy
+        del self._fileName
+        del self._fileType
+        
+        renderMgr.renderDone.connect(self._updateMFinished)
+        
         self.UpdateMap(render = True)
         self.Refresh()
-
+        
     def GetOverlay(self):
         """Converts rendered overlay files to wx.Image
 
@@ -683,7 +725,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         :return: wx.Image instance (map composition)
         """
         imgId = 99
-        if self.mapfile and self.Map.mapfile and os.path.isfile(self.Map.mapfile) and \
+        if self.Map.mapfile and os.path.isfile(self.Map.mapfile) and \
                 os.path.getsize(self.Map.mapfile):
             img = wx.Image(self.Map.mapfile, wx.BITMAP_TYPE_ANY)
         else:
@@ -787,53 +829,38 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         """
         :func:`UpdateMap` for arguments description.
         """
-        start = time.clock()
+        Debug.msg (1, "BufferedWindow.UpdateMap(): started "
+                   "(render=%s, renderVector=%s)" % (render, renderVector))
+
         self.resize = False
 
         # was if self.Map.cmdfile and ...
         if self.IsAlwaysRenderEnabled() and self.img is None:
             render = True
-
-
-        #
-        # render background image if needed
-        #
-
-        # here was the change of the layertree rerender variable
-        # but it is fully the problem of layertree
-        # and so it is handled there
-        # remove this comment when it is old enough
-
+        
         try:
             if render:
                 # update display size
                 self.Map.ChangeMapSize(self.GetClientSize())
-                if self._properties.resolution:
-                    # use computation region resolution for rendering
-                    windres = True
-                else:
-                    windres = False
-
-                self.mapfile = self.Map.Render(force = True,
-                                               windres = windres)
-            else:
-                self.mapfile = self.Map.Render(force = False)
-
+                
+            self.Map.Render(force=render,
+                            windres=self._properties.resolution)
         except GException as e:
-            GError(message = e.value)
-            self.mapfile = None
+                GError(message=e.value)
 
+    def _updateMFinished(self, renderVector=True):
+        Debug.msg (1, "BufferedWindow.UpdateMap(): finished")
         self.img = self.GetImage() # id=99
-
+        
         #
         # clear pseudoDcs
         #
         for pdc in (self.pdc,
-                    self.pdcDec,
+                    self.pdcTransparent,
                     self.pdcTmp):
             pdc.Clear()
             pdc.RemoveAll()
-
+        
         #
         # draw background map image to PseudoDC
         #
@@ -842,16 +869,17 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         else:
             try:
                 id = self.imagedict[self.img]['id']
-            except:
+            except Exception as e:
+                Debug.mgs(1, "UpdateMap() failed: %s", e)
                 return False
-
             self.Draw(self.pdc, self.img, drawid = id)
 
         #
         # render vector map layer
         #
-        if renderVector and hasattr(self, "digit"):
+        if renderVector and self.digit:
             self._updateMap()
+        
         #
         # render overlays
         #
@@ -860,19 +888,20 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             if self.imagedict[img]['layer'].IsActive():
                 id = self.imagedict[img]['id']
                 self.Draw(self.pdc, img = img, drawid = id,
-                          pdctype = self.overlays[id].pdcType, coords = self.overlays[id].coords)
-
+                          pdctype = self.overlays[id].pdcType,
+                          coords = self.overlays[id].coords)
+        
         for id in self.textdict.keys():
             self.Draw(self.pdc, img = self.textdict[id], drawid = id,
                       pdctype = 'text', coords = [10, 10, 10, 10])
-
+        
         # optionally draw computational extent box
         self.DrawCompRegionExtent()
-
+        
         #
         # redraw pdcTmp if needed
         #
-
+        
         # draw registered graphics
         if  len(self.graphicsSetList) > 0:
             penOrig = self.pen
@@ -880,7 +909,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
 
             for item in self.graphicsSetList:
                 try:
-                    item.Draw(self.pdcTmp)
+                    item.Draw()
                 except:
                     GError(parent = self,
                            message = _('Unable to draw registered graphics. '
@@ -893,13 +922,8 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         if len(self.polycoords) > 0:
             self.DrawLines(self.pdcTmp)
 
-        stop = time.clock()
-
-        Debug.msg (1, "BufferedWindow.UpdateMap(): render=%s, renderVector=%s -> time=%g" % \
-                   (render, renderVector, (stop-start)))
-
         return True
-
+    
     def DrawCompRegionExtent(self):
         """Draw computational region extent in the display
 
@@ -925,17 +949,17 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             regionCoords.append((reg['w'], reg['s']))
             regionCoords.append((reg['w'], reg['n']))
             # draw region extent
-            self.DrawLines(pdc=self.pdcDec, polycoords=regionCoords)
+            self.DrawLines(pdc=self.pdcTransparent, polycoords=regionCoords)
 
     def EraseMap(self):
         """Erase map canvas
         """
         self.Draw(self.pdc, pdctype = 'clear')
 
-        if hasattr(self, "digit"):
+        if self.digit:
             self.Draw(self.pdcVector, pdctype = 'clear')
 
-        self.Draw(self.pdcDec, pdctype = 'clear')
+        self.Draw(self.pdcTransparent, pdctype='clear')
         self.Draw(self.pdcTmp, pdctype = 'clear')
 
         self.Map.AbortAllThreads()
@@ -1126,7 +1150,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
 
         return self.lineid
 
-    def DrawRectangle(self, pdc, point1, point2, pen, drawid=None):
+    def DrawRectangle(self, pdc, point1, point2, pen, brush=None, drawid=None):
         """Draw rectangle (not filled) in PseudoDC
 
         :param pdc: PseudoDC
@@ -1138,10 +1162,11 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         Debug.msg(4, "BufferedWindow.DrawRectangle(): pdc=%s, point1=%s, point2=%s" % \
                   (pdc, point1, point2))
         coords = [point1[0], point1[1], point2[0], point2[1]]
-        self.lineid = self.Draw(pdc, drawid=drawid, pdctype='box', coords=coords, pen=pen)
+        self.lineid = self.Draw(pdc, drawid=drawid, pdctype='box', coords=coords,
+                                pen=pen, brush=brush)
         return self.lineid
 
-    def DrawCircle(self, pdc, coords, radius, pen, drawid=None):
+    def DrawCircle(self, pdc, coords, radius, pen, brush=None, drawid=None):
         """Draw circle (not filled) in PseudoDC
 
         :param pdc: PseudoDC
@@ -1154,10 +1179,11 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
                   (pdc, coords, radius))
         newcoords = [coords[0] - radius, coords[1] - radius,
                      coords[0] + radius, coords[1] + radius]
-        self.lineid = self.Draw(pdc, drawid=drawid, pdctype='circle', coords=newcoords, pen=pen)
+        self.lineid = self.Draw(pdc, drawid=drawid, pdctype='circle', coords=newcoords,
+                                pen=pen, brush=brush)
         return self.lineid
 
-    def DrawPolygon(self, pdc, coords, pen, drawid=None):
+    def DrawPolygon(self, pdc, coords, pen, brush=None, drawid=None):
         """Draws polygon from a list of points (do not append the first point)
 
         :param pdc: PseudoDC
@@ -1165,8 +1191,11 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         :param pen: pen
         :param drawid: id of the drawn object (used by PseudoDC)
         """
+        # avid wx.GCDC assert
+        if len(coords) <= 1:
+            return None
         self.lineid = self.Draw(pdc, drawid=drawid, pdctype='polygon',
-                                coords=coords, pen=pen)
+                                coords=coords, pen=pen, brush=brush)
         return self.lineid
 
     def _computeZoomToPointAndRecenter(self, position, zoomtype):
@@ -1290,7 +1319,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         move = (current[0] - previous[0],
                 current[1] - previous[1])
 
-        if hasattr(self, "digit"):
+        if self.digit:
             digitToolbar = self.toolbar
         else:
             digitToolbar = None
@@ -1330,7 +1359,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
 
         # vector digizer
         if self.mouse["use"] == "pointer" and \
-                hasattr(self, "digit"):
+                self.digit:
             if event.ControlDown():
                 self.OnLeftDownUndo(event)
             else:
@@ -1384,7 +1413,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             self.mapQueried.emit(x=self.mouse['end'][0], y=self.mouse['end'][1])
 
         elif self.mouse["use"] == "pointer" and \
-                hasattr(self, "digit"):
+                self.digit:
             self._onLeftUp(event)
 
         elif (self.mouse['use'] == 'pointer' and
@@ -1453,7 +1482,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         Debug.msg (5, "BufferedWindow.OnRightDown(): use=%s" % \
                    self.mouse["use"])
 
-        if hasattr(self, "digit"):
+        if self.digit:
             self._onRightDown(event)
 
         event.Skip()
@@ -1464,12 +1493,15 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         Debug.msg (5, "BufferedWindow.OnRightUp(): use=%s" % \
                    self.mouse["use"])
 
-        if hasattr(self, "digit"):
+        if self.digit:
             self._onRightUp(event)
 
         self.redrawAll = True
         self.Refresh()
 
+        coords = self.Pixel2Cell(event.GetPosition())
+        self.mouseRightUp.emit(x=coords[0], y=coords[1])
+
         event.Skip()
 
     def OnMiddleDown(self, event):
@@ -1506,7 +1538,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         """Motion event and no mouse buttons were pressed
         """
         if self.mouse["use"] == "pointer" and \
-                hasattr(self, "digit"):
+                self.digit:
             self._onMouseMoving(event)
 
         event.Skip()
@@ -1522,6 +1554,14 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             wx.TheClipboard.SetData(do)
             wx.TheClipboard.Close()
 
+    def OnShowStatusbar(self, event):
+        """Show/hide statusbar"""
+        self._giface.ShowStatusbar(not self._giface.IsStatusbarShown())
+
+    def OnShowAllToolbars(self, event):
+        """Show/hide all toolbars"""
+        self._giface.ShowAllToolbars(not self._giface.AreAllToolbarsShown())
+
     def ClearLines(self, pdc = None):
         """Clears temporary drawn lines from PseudoDC
         """
@@ -1652,7 +1692,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
                 for k in ('n', 's', 'e', 'w'):
                     self.Map.region[k] = newreg[k]
 
-            if hasattr(self, "digit") and \
+            if self.digit and \
                     hasattr(self, "moveInfo"):
                 self._zoom(None)
 
@@ -1774,10 +1814,10 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             # only one raster is used: g.region does not support multiple
             if l.type == 'raster':
                 rast.append(l.GetName())
-            elif l.type == '3d-raster':
+            elif l.type == 'raster_3d':
                 rast3d = l.GetName()
             elif l.type == 'vector':
-                if hasattr(self, "digit") and \
+                if self.digit and \
                         self.toolbar.GetLayer() == l:
                     w, s, b, e, n, t = self.digit.GetDisplay().GetMapBoundingBox()
                     self.Map.GetRegion(n = n, s = s, w = w, e = e,
@@ -2012,11 +2052,12 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         """Get render.Map() instance"""
         return self.Map
 
-    def RegisterGraphicsToDraw(self, graphicsType, setStatusFunc=None, drawFunc=None,
+    def RegisterGraphicsToDraw(self, graphicsType, pdc=None, setStatusFunc=None, drawFunc=None,
                                mapCoords=True):
         """This method registers graphics to draw.
 
         :param type: (string) - graphics type: "point", "line" or "rectangle"
+        :param pdc: PseudoDC object, default is pdcTmp
         :param setStatusFunc: function called before drawing each item
                               Status function should be in this form:
                               setStatusFunc(item, itemOrderNum)
@@ -2033,8 +2074,11 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
 
         :return: reference to GraphicsSet, which was added.
         """
+        if not pdc:
+            pdc = self.pdcTmp
         item = GraphicsSet(parentMapWin=self,
                            graphicsType=graphicsType,
+                           pdc=pdc,
                            setStatusFunc=setStatusFunc,
                            drawFunc=drawFunc,
                            mapCoords=mapCoords)
diff --git a/gui/wxpython/mapwin/decorations.py b/gui/wxpython/mapwin/decorations.py
index 8b29524..86e4462 100644
--- a/gui/wxpython/mapwin/decorations.py
+++ b/gui/wxpython/mapwin/decorations.py
@@ -31,7 +31,11 @@ try:
 except ImportError:
     hasPIL = False
 
-
+class OverlayId:
+    legendId = 0
+    barscaleId = 1
+    arrowId = 2 
+    
 class OverlayController(object):
 
     """Base class for decorations (barscale, legend) controller."""
@@ -157,13 +161,12 @@ class OverlayController(object):
     def _add(self):
         self._overlay = self._renderer.AddOverlay(id=self._id, ltype=self._name,
                                                   command=self.cmd, active=False,
-                                                  render=False, hidden=True)
+                                                  render=True, hidden=True)
         # check if successful
 
     def _update(self):
-        self._renderer.ChangeOverlay(id=self._id, command=self._cmd,
-                                     render=False)
-
+        self._renderer.ChangeOverlay(id=self._id, command=self._cmd)
+        
     def CmdIsValid(self):
         """If command is valid"""
         return True
@@ -191,7 +194,7 @@ class BarscaleController(OverlayController):
 
     def __init__(self, renderer, giface):
         OverlayController.__init__(self, renderer, giface)
-        self._id = 1
+        self._id = OverlayId.barscaleId
         self._name = 'barscale'
         # different from default because the reference point is not in the middle
         self._defaultAt = 'at=0,98'
@@ -202,7 +205,7 @@ class ArrowController(OverlayController):
 
     def __init__(self, renderer, giface):
         OverlayController.__init__(self, renderer, giface)
-        self._id = 2
+        self._id = OverlayId.arrowId
         self._name = 'arrow'
         # different from default because the reference point is not in the middle
         self._defaultAt = 'at=85.0,25.0'
@@ -213,7 +216,7 @@ class LegendController(OverlayController):
 
     def __init__(self, renderer, giface):
         OverlayController.__init__(self, renderer, giface)
-        self._id = 0
+        self._id = OverlayId.legendId
         self._name = 'legend'
         # TODO: synchronize with d.legend?
         self._defaultAt = 'at=5,50,7,10'
diff --git a/gui/wxpython/mapwin/graphics.py b/gui/wxpython/mapwin/graphics.py
index 3e916eb..1c75c19 100644
--- a/gui/wxpython/mapwin/graphics.py
+++ b/gui/wxpython/mapwin/graphics.py
@@ -25,7 +25,7 @@ from core.utils import _
 
 class GraphicsSet:
 
-    def __init__(self, parentMapWin, graphicsType,
+    def __init__(self, parentMapWin, graphicsType, pdc,
                  setStatusFunc=None, drawFunc=None, mapCoords=True):
         """Class, which contains instances of GraphicsSetItem and
             draws them For description of parameters look at method
@@ -37,6 +37,9 @@ class GraphicsSet:
             "unused":  wx.Pen(colour=wx.LIGHT_GREY, width=2, style=wx.SOLID),
             "highest":  wx.Pen(colour=wx.RED, width=2, style=wx.SOLID)
         }
+        self.brushes = {
+            'default': wx.TRANSPARENT_BRUSH
+        }
 
         # list contains instances of GraphicsSetItem
         self.itemsList = []
@@ -46,6 +49,7 @@ class GraphicsSet:
         self.parentMapWin = parentMapWin
         self.setStatusFunc = setStatusFunc
         self.mapCoords = mapCoords
+        self.pdc = pdc
 
         if drawFunc:
             self.drawFunc = drawFunc
@@ -71,14 +75,11 @@ class GraphicsSet:
         elif self.graphicsType == "polygon":
             self.drawFunc = self.parentMapWin.DrawPolygon
 
-    def Draw(self, pdc):
-        """Draws all containing items.
-
-        :param pdc: device context, where items are drawn
-        """
+    def Draw(self):
+        """Draws all containing items."""
         itemOrderNum = 0
         for item in self.itemsList:
-            self._clearId(pdc, item.GetId())
+            self._clearId(item.GetId())
             if self.setStatusFunc is not None:
                 self.setStatusFunc(item, itemOrderNum)
 
@@ -108,7 +109,7 @@ class GraphicsSet:
                     self.properties["text"]['color'] = self.parentMapWin.pen.GetColour()
                     self.properties["text"]['text'] = label
 
-                self.drawFunc(pdc=pdc, drawid=item.GetId(),
+                self.drawFunc(pdc=self.pdc, drawid=item.GetId(),
                               coords=coords,
                               text=self.properties["text"],
                               size=self.properties["size"])
@@ -124,7 +125,7 @@ class GraphicsSet:
                 else:
                     coords = item.GetCoords()
 
-                self.drawFunc(pdc=pdc, pen=pen,
+                self.drawFunc(pdc=self.pdc, pen=pen,
                               coords=coords, drawid=item.GetId())
 
             elif self.graphicsType == "rectangle":
@@ -132,12 +133,16 @@ class GraphicsSet:
                     pen = self.pens[item.GetPropertyVal("penName")]
                 else:
                     pen = self.pens["default"]
+                if item.GetPropertyVal("brushName"):
+                    brush = self.brushes[item.GetPropertyVal("brushName")]
+                else:
+                    brush = self.brushes["default"]
                 if self.mapCoords:
                     coords = [self.parentMapWin.Cell2Pixel(coords) for coords in item.GetCoords()]
                 else:
                     coords = item.GetCoords()
 
-                self.drawFunc(pdc=pdc, pen=pen, drawid=item.GetId(),
+                self.drawFunc(pdc=self.pdc, pen=pen, brush=brush, drawid=item.GetId(),
                               point1=coords[0],
                               point2=coords[1])
 
@@ -146,12 +151,16 @@ class GraphicsSet:
                     pen = self.pens[item.GetPropertyVal("penName")]
                 else:
                     pen = self.pens["default"]
+                if item.GetPropertyVal("brushName"):
+                    brush = self.brushes[item.GetPropertyVal("brushName")]
+                else:
+                    brush = self.brushes["default"]
                 if self.mapCoords:
                     coords = [self.parentMapWin.Cell2Pixel(coords) for coords in item.GetCoords()]
                 else:
                     coords = item.GetCoords()
 
-                self.drawFunc(pdc=pdc, pen=pen,
+                self.drawFunc(pdc=self.pdc, pen=pen, brush=brush,
                               coords=coords, drawid=item.GetId())
             itemOrderNum += 1
 
@@ -218,10 +227,7 @@ class GraphicsSet:
         :return: instance of GraphicsSetItem which is drawn in drawNum order
         :return: False if drawNum was out of range
         """
-        if drawNum < len(self.itemsList) and drawNum >= 0:
-            return self.itemsList[drawNum]
-        else:
-            return False
+        return self.itemsList[drawNum]
 
     def SetPropertyVal(self, propName, propVal):
         """Set property value
@@ -288,6 +294,37 @@ class GraphicsSet:
 
         return None
 
+    def AddBrush(self, brushName, brush):
+        """Add brush
+
+        :param brushName: name of added brush
+        :type brushName: str
+        :param brush: added brush
+        :type brush: wx.Brush
+
+        :return: True - if brush was added
+        :return: False - if brush already exists
+        """
+        if brushName in self.brushes:
+            return False
+
+        self.brushes[brushName] = brush
+        return True
+
+    def GetBrush(self, brushName):
+        """Get existing brush
+
+        :param brushName: name of brush
+        :type brushName: str
+
+        :return: wx.Brush reference if is found
+        :return: None if brushName was not found
+        """
+        if brushName in self.brushes:
+            return self.brushes[brushName]
+
+        return None
+
     def SetItemDrawOrder(self, item, drawNum):
         """Set draw order for item
 
@@ -318,17 +355,17 @@ class GraphicsSet:
         except ValueError:
             return None
 
-    def _clearId(self, pdc, drawid):
+    def _clearId(self, drawid):
         """Clears old object before drawing new object."""
         try:
-            pdc.ClearId(drawid)
+            self.pdc.ClearId(drawid)
         except:
             pass
 
 
 class GraphicsSetItem:
 
-    def __init__(self, coords, penName=None, label=None, hide=False):
+    def __init__(self, coords, penName=None, brushName=None, label=None, hide=False):
         """Could be point or line according to graphicsType in
         GraphicsSet class
 
@@ -338,6 +375,8 @@ class GraphicsSetItem:
                                 rectangle: [[10, 12], [33, 45]]
         :param penName: if it is not defined 'default' pen is used
         :type penName: str
+        :param brushName: if it is not defined 'default' brush is used
+        :type brushName: str
         :param label: label, which will be drawn with point. It is
                       relevant just for 'point' type
         :type label: str
@@ -348,15 +387,26 @@ class GraphicsSetItem:
         self.coords = coords
 
         self.properties = {"penName": penName,
+                           "brushName": brushName,
                            "hide": hide,
                            "label": label}
         self.id = wx.NewId()
 
+    def AddProperty(self, propName):
+        """Adds new property, to set it, call SetPropertyVal afterwards.
+
+        :param propName - name of the newly defined property
+        :type propName: str
+        """
+        if not propName in self.properties:
+            self.properties[propName] = None
+
     def SetPropertyVal(self, propName, propVal):
         """Set property value
 
         :param propName: - property name: "penName", "hide" or "label"
                          - property "label" is relevant just for 'point' type
+                         - or newly defined property name
         :type propName: str
         :param propVal: property value to be set
 
diff --git a/gui/wxpython/modules/colorrules.py b/gui/wxpython/modules/colorrules.py
index c0dc918..56d80f1 100644
--- a/gui/wxpython/modules/colorrules.py
+++ b/gui/wxpython/modules/colorrules.py
@@ -33,6 +33,7 @@ import wx.lib.scrolledpanel    as scrolled
 import wx.lib.filebrowsebutton as filebrowse
 
 import grass.script as grass
+from grass.script.task import cmdlist_to_tuple
 
 from core             import globalvar
 from core             import utils
@@ -701,7 +702,7 @@ class ColorTable(wx.Frame):
             if self.properties['sourceColumn'] and self.properties['sourceColumn'] != 'cat':
                 cmd.append('column=%s' % self.properties['sourceColumn'])
             
-        cmd = utils.CmdToTuple(cmd)
+        cmd = cmdlist_to_tuple(cmd)
         
         if self.inmap:
             ctable = RunCommand(cmd[0], **cmd[1])
@@ -748,7 +749,8 @@ class ColorTable(wx.Frame):
         if self.mapType == 'vector' and self.properties['sourceColumn'] \
                 and self.properties['sourceColumn'] != 'cat':
             cmd.append('column=%s' % self.properties['sourceColumn'])
-        cmd = utils.CmdToTuple(cmd)
+        
+        cmd = cmdlist_to_tuple(cmd)
         ret = RunCommand(cmd[0], **cmd[1])               
         if ret != 0:
             return False
@@ -807,7 +809,8 @@ class RasterColorTable(ColorTable):
                             title = _('Create new color table for raster map'), **kwargs)
         
         self._initLayer()
-        
+        self.Map.GetRenderMgr().renderDone.connect(self._restoreColorTable)
+            
         # self.SetMinSize(self.GetSize()) 
         self.SetMinSize((650, 700))
                 
@@ -914,29 +917,33 @@ class RasterColorTable(ColorTable):
             mapset = grass.find_file(self.inmap, element = 'cell')['mapset']
             if not mapset:
                 return
-        old_colrtable = None
+        self._tmp = tmp
+        self._old_colrtable = None
         if mapset == grass.gisenv()['MAPSET']:
-            old_colrtable = grass.find_file(name = name, element = 'colr')['file']
+            self._old_colrtable = grass.find_file(name = name, element = 'colr')['file']
         else:
-            old_colrtable = grass.find_file(name = name, element = 'colr2/' + mapset)['file']
+            self._old_colrtable = grass.find_file(name = name, element = 'colr2/' + mapset)['file']
         
-        if old_colrtable:
-            colrtemp = utils.GetTempfile()
-            shutil.copyfile(old_colrtable, colrtemp)
+        if self._old_colrtable:
+            self._colrtemp = utils.GetTempfile()
+            shutil.copyfile(self._old_colrtable, self._colrtemp)
             
-        ColorTable.DoPreview(self, ltype, cmdlist)  
-        
+        ColorTable.DoPreview(self, ltype, cmdlist)
+
+    def _restoreColorTable(self):
         # restore previous color table
-        if tmp:
-            if old_colrtable:
-                shutil.copyfile(colrtemp, old_colrtable)
-                os.remove(colrtemp)
+        if self._tmp:
+            if self._old_colrtable:
+                shutil.copyfile(self._colrtemp, self._old_colrtable)
+                os.remove(self._colrtemp)
+                del self._colrtemp, self._old_colrtable
             else:
                 RunCommand('r.colors',
                            parent = self,
                            flags = 'r',
                            map = self.inmap)
-        
+            del self._tmp
+            
     def OnHelp(self, event):
         """Show GRASS manual page"""
         cmd = 'r.colors'
@@ -1380,7 +1387,7 @@ class VectorColorTable(ColorTable):
     def CreateAttrTable(self, dcmd, layer, params, propwin):
         """Create attribute table"""
         if dcmd:
-            cmd = utils.CmdToTuple(dcmd)
+            cmd = cmdlist_to_tuple(dcmd)
             ret = RunCommand(cmd[0], **cmd[1])
             if ret == 0:
                 self.OnSelectionInput(None)
@@ -1794,6 +1801,7 @@ class BufferedWindow(wx.Window):
         # make sure that extents are updated at init
         self.Map.region = self.Map.GetRegion()
         self.Map.SetRegion()
+        self.Map.GetRenderMgr().renderDone.connect(self._updatePreviewFinished)
 
     def Draw(self, pdc, img = None, pdctype = 'image'):
         """Draws preview or clears window"""
@@ -1885,19 +1893,24 @@ class BufferedWindow(wx.Window):
     def UpdatePreview(self, img = None):
         """Update canvas if window changes geometry"""
         Debug.msg (2, "BufferedWindow.UpdatePreview(%s): render=%s" % (img, self.render))
-        oldfont = ""
-        oldencoding = ""
         
-        if self.render:
-            # extent is taken from current map display
-            try:
-                self.Map.region = copy.deepcopy(self.parent.parent.GetLayerTree().GetMap().GetCurrentRegion())
-            except AttributeError:
-                self.Map.region = self.Map.GetRegion()
-            # render new map images
-            self.mapfile = self.Map.Render(force = self.render)
-            self.img = self.GetImage()
-            self.resize = False
+        if not self.render:
+            return
+        
+        # extent is taken from current map display
+        try:
+            self.Map.region = copy.deepcopy(self.parent.parent.GetLayerTree().GetMap().GetCurrentRegion())
+        except AttributeError:
+            self.Map.region = self.Map.GetRegion()
+        # render new map images
+        self.mapfile = self.Map.Render(force = self.render)
+
+    def _updatePreviewFinished(self):
+        if not self.render:
+            return
+        
+        self.img = self.GetImage()
+        self.resize = False
         
         if not self.img:
             return
diff --git a/gui/wxpython/modules/extensions.py b/gui/wxpython/modules/extensions.py
index 0fe959d..ef63e9c 100644
--- a/gui/wxpython/modules/extensions.py
+++ b/gui/wxpython/modules/extensions.py
@@ -9,7 +9,7 @@ Classes:
  - extensions::ManageExtensionWindow
  - extensions::CheckListExtension
 
-(C) 2008-2014 by the GRASS Development Team
+(C) 2008-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -48,7 +48,7 @@ class InstallExtensionWindow(wx.Frame):
         self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
 
         self.repoBox = wx.StaticBox(parent = self.panel, id = wx.ID_ANY,
-                                    label = " %s " % _("Repository"))
+                                    label = " %s " % _("Repository (leave empty to use the official one)"))
         self.treeBox = wx.StaticBox(parent = self.panel, id = wx.ID_ANY,
                                     label = " %s " % _("List of extensions - double-click to install"))
         
@@ -86,9 +86,9 @@ class InstallExtensionWindow(wx.Frame):
                 continue
             self.options[name] = wx.CheckBox(parent = self.panel, id = wx.ID_ANY,
                                              label = desc)
-        defaultUrl = 'http://svn.osgeo.org/grass/grass-addons/grass7'
-        self.repo.SetValue(task.get_param(value = 'svnurl').get('default', defaultUrl))
-        
+        defaultUrl = ''  # default/official one will be used when option empty
+        self.repo.SetValue(task.get_param(value='url').get('default', defaultUrl))
+
         self.statusbar = self.CreateStatusBar(number = 1)
         
         self.btnFetch = wx.Button(parent = self.panel, id = wx.ID_ANY,
@@ -179,7 +179,7 @@ class InstallExtensionWindow(wx.Frame):
                     flags.append('--%s' % key)
         
         return ['g.extension'] + flags + ['extension=' + name,
-                                          'svnurl=' + self.repo.GetValue().strip()]
+                                          'url=' + self.repo.GetValue().strip()]
 
     def OnFetch(self, event):
         """Fetch list of available extensions"""
@@ -198,7 +198,8 @@ class InstallExtensionWindow(wx.Frame):
             
     def _fetchDone(self):
         self.tree.RefreshItems()
-        self.SetStatusText("", 0)
+        nitems = len(self.modelBuilder.GetModel().SearchNodes(key='command', value='*'))
+        self.SetStatusText(_("%d extensions loaded") % nitems, 0)
         wx.EndBusyCursor()
         
     def OnContextMenu(self, node):
@@ -309,7 +310,7 @@ class ExtensionTreeModelBuilder:
         else:
             flags = 'l'
         retcode, ret, msg = RunCommand('g.extension', read = True, getErrorMsg = True,
-                                       svnurl = url,
+                                       url=url,
                                        flags = flags, quiet = True)
         if retcode != 0:
             raise GException(_("Unable to load extensions. %s") % msg)
@@ -423,6 +424,9 @@ class ManageExtensionWindow(wx.Frame):
         for ext in eList:
             files = RunCommand('g.extension', parent = self, read = True, quiet = True,
                                extension = ext, operation = 'remove').splitlines()
+            if len(files) > 10:
+                files = files[:10]
+                files.append('...')
             dlg = wx.MessageDialog(parent = self,
                                    message = _("List of files to be removed:\n%(files)s\n\n"
                                                "Do you want really to remove <%(ext)s> extension?") % \
diff --git a/gui/wxpython/modules/import_export.py b/gui/wxpython/modules/import_export.py
new file mode 100644
index 0000000..eee44f6
--- /dev/null
+++ b/gui/wxpython/modules/import_export.py
@@ -0,0 +1,859 @@
+"""
+ at package modules.import_export
+
+ at brief Import/export dialogs used in wxGUI.
+
+List of classes:
+ - :class:`ImportDialog`
+ - :class:`GdalImportDialog`
+ - :class:`OgrImportDialog`
+ - :class:`GdalOutputDialog`
+ - :class:`DxfImportDialog`
+ - :class:`ReprojectionDialog`
+
+(C) 2008-2015 by the GRASS Development Team
+
+This program is free software under the GNU General Public License
+(>=v2). Read the file COPYING that comes with GRASS for details.
+
+ at author Martin Landa <landa.martin gmail.com>
+ at author Anna Kratochvilova <kratochanna gmail.com> (GroupDialog, SymbolDialog)
+"""
+
+import os
+
+import wx
+import wx.lib.flatnotebook  as FN
+import wx.lib.filebrowsebutton as filebrowse
+
+from grass.script import core as grass
+from grass.script import task as gtask
+
+from core import globalvar
+from core.gcmd import RunCommand, GMessage, GWarning
+from gui_core.forms import CmdPanel
+from gui_core.gselect import OgrTypeSelect, GdalSelect, SubGroupSelect
+from gui_core.widgets import LayersList, GListCtrl, GNotebook
+from core.utils import GetValidLayerName, _
+from core.settings import UserSettings, GetDisplayVectSettings
+
+class ImportDialog(wx.Dialog):
+    """Dialog for bulk import of various data (base class)"""
+    def __init__(self, parent, giface, itype,
+                 id = wx.ID_ANY, title = _("Multiple import"),
+                 style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
+        self.parent = parent    # GMFrame 
+        self._giface = giface  # used to add layers
+        self.importType = itype
+        self.options = dict()   # list of options
+        self.options_par = dict()
+        
+        self.commandId = -1  # id of running command
+        
+        wx.Dialog.__init__(self, parent, id, title, style = style,
+                           name = "MultiImportDialog")
+        
+        self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
+        
+        self.layerBox = wx.StaticBox(parent = self.panel, id = wx.ID_ANY)
+        if self.importType == 'gdal':
+            label = _("List of raster layers")
+        elif self.importType == 'ogr':
+            label = _("List of vector layers")
+        else:
+            label = _("List of %s layers") % self.importType.upper()
+        self.layerBox.SetLabel(" %s - %s " % (label, _("right click to (un)select all")))
+        
+        # list of layers
+        columns = [_('Layer id'),
+                   _('Layer name'),
+                   _('Name for output GRASS map (editable)')]
+        if itype == 'ogr':
+            columns.insert(2, _('Feature type'))
+            columns.insert(3, _('Projection match'))
+        elif itype == 'gdal':
+            columns.insert(2, _('Projection match'))
+
+        self.list = LayersList(parent = self.panel, columns = columns)
+        self.list.LoadData()
+        
+        self.overwrite = wx.CheckBox(parent = self.panel, id = wx.ID_ANY,
+                                     label = _("Allow output files to overwrite existing files"))
+        self.overwrite.SetValue(UserSettings.Get(group = 'cmd', key = 'overwrite', subkey = 'enabled'))
+        
+        self.add = wx.CheckBox(parent = self.panel, id = wx.ID_ANY)
+        self.closeOnFinish = wx.CheckBox(parent = self.panel, id = wx.ID_ANY,
+                                     label = _("Close dialog on finish"))
+        self.closeOnFinish.SetValue(UserSettings.Get(group = 'cmd', key = 'closeDlg', subkey = 'enabled'))
+        
+        #
+        # buttons
+        #
+        # cancel
+        self.btn_close = wx.Button(parent = self.panel, id = wx.ID_CLOSE)
+        self.btn_close.SetToolTipString(_("Close dialog"))
+        self.btn_close.Bind(wx.EVT_BUTTON, self.OnClose)
+        # run
+        self.btn_run = wx.Button(parent = self.panel, id = wx.ID_OK, label = _("&Import"))
+        self.btn_run.SetToolTipString(_("Import selected layers"))
+        self.btn_run.SetDefault()
+        self.btn_run.Bind(wx.EVT_BUTTON, self.OnRun)
+
+        self.Bind(wx.EVT_CLOSE, lambda evt: self.Destroy())
+
+
+        self.notebook = GNotebook(parent = self,
+                                  style = FN.FNB_FANCY_TABS | FN.FNB_BOTTOM |
+                                          FN.FNB_NO_X_BUTTON)
+
+        self.notebook.AddPage(page = self.panel, 
+                              text=_('Source settings'), 
+                              name = 'source')
+    
+        self.createSettingsPage()
+
+    def createSettingsPage(self):
+
+        self._blackList = { 'enabled' : True,
+                            'items'   : {self._getCommand() : {'params' : self._getBlackListedParameters(),
+                                                               'flags' :  self._getBlackListedFlags()}}}
+
+        grass_task = gtask.parse_interface(self._getCommand(),
+                                            blackList=self._blackList)
+
+        self.advancedPagePanel = CmdPanel(parent=self, giface=None, task=grass_task, frame=None)
+
+        self.notebook.AddPage(page = self.advancedPagePanel, 
+                              text=_('Import settings'), 
+                              name = 'settings')
+
+    def doLayout(self):
+        """Do layout"""
+        dialogSizer = wx.BoxSizer(wx.VERTICAL)
+        
+        # dsn input
+        dialogSizer.Add(item = self.dsnInput, proportion = 0,
+                        flag = wx.EXPAND)
+        
+        #
+        # list of DXF layers
+        #
+        layerSizer = wx.StaticBoxSizer(self.layerBox, wx.HORIZONTAL)
+
+        layerSizer.Add(item = self.list, proportion = 1,
+                      flag = wx.ALL | wx.EXPAND, border = 5)
+        
+        dialogSizer.Add(item = layerSizer, proportion = 1,
+                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border = 5)
+        
+        dialogSizer.Add(item = self.overwrite, proportion = 0,
+                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
+        
+        dialogSizer.Add(item = self.add, proportion = 0,
+                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
+        
+        dialogSizer.Add(item = self.closeOnFinish, proportion = 0,
+                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 5)
+        #
+        # buttons
+        #
+        btnsizer = wx.BoxSizer(orient = wx.HORIZONTAL)
+        
+        btnsizer.Add(item = self.btn_close, proportion = 0,
+                     flag = wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
+                     border = 10)
+        
+        btnsizer.Add(item = self.btn_run, proportion = 0,
+                     flag = wx.RIGHT | wx.ALIGN_CENTER,
+                     border = 10)
+        
+        dialogSizer.Add(item = btnsizer, proportion = 0,
+                        flag = wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.ALIGN_RIGHT,
+                        border = 10)
+        
+        # dialogSizer.SetSizeHints(self.panel)
+        self.panel.SetAutoLayout(True)
+        self.panel.SetSizer(dialogSizer)
+        dialogSizer.Fit(self.panel)
+        
+        # auto-layout seems not work here - FIXME
+        size = wx.Size(globalvar.DIALOG_GSELECT_SIZE[0] + 225, 550)
+        self.SetMinSize(size)
+        self.SetSize((size.width, size.height + 100))
+        # width = self.GetSize()[0]
+        # self.list.SetColumnWidth(col = 1, width = width / 2 - 50)
+        self.Layout()
+
+    def _getCommand(self):
+        """Get command"""
+        raise NotImplementedError()
+    
+    def _getBlackListedParameters(self):
+        """Get parameters which will not be showed in Settings page"""
+        raise NotImplementedError()
+
+    def _getBlackListedFlags(self):
+        """Get flags which will not be showed in Settings page"""
+        raise NotImplementedError()
+
+    def OnClose(self, event = None):
+        """Close dialog"""
+        self.Close()
+
+    def OnRun(self, event):
+        """Import/Link data (each layes as separate vector map)"""
+        pass
+
+    def AddLayers(self, returncode, cmd = None, userData = None):
+        """Add imported/linked layers into layer tree"""
+        if not self.add.IsChecked() or returncode != 0:
+            return
+
+        # TODO: if importing map creates more map the folowing does not work
+        # * do nothing if map does not exist or
+        # * try to determine names using regexp or
+        # * persuade import tools to report map names
+        self.commandId += 1
+        layer, output = self.list.GetLayers()[self.commandId][:2]
+        
+        if '@' not in output:
+            name = output + '@' + grass.gisenv()['MAPSET']
+        else:
+            name = output
+        
+        # add imported layers into layer tree
+        # an alternative would be emit signal (mapCreated) and (optionally)
+        # connect to this signal
+        llist = self._giface.GetLayerList()
+        if self.importType == 'gdal':
+            if userData:
+                nBands = int(userData.get('nbands', 1))
+            else:
+                nBands = 1
+            
+            if UserSettings.Get(group = 'rasterLayer', key = 'opaque', subkey = 'enabled'):
+                nFlag = True
+            else:
+                nFlag = False
+            
+            for i in range(1, nBands+1):
+                nameOrig = name
+                if nBands > 1:
+                    mapName, mapsetName = name.split('@')
+                    mapName += '.%d' % i
+                    name = mapName + '@' + mapsetName
+                    
+                cmd = ['d.rast',
+                       'map=%s' % name]
+                if nFlag:
+                    cmd.append('-n')
+                
+                llist.AddLayer(ltype='raster',
+                               name=name, checked=True,
+                               cmd=cmd)
+                name = nameOrig
+        else:
+            llist.AddLayer(ltype='vector',
+                           name=name, checked=True,
+                           cmd=['d.vect',
+                                'map=%s' % name] + GetDisplayVectSettings())
+
+        self._giface.GetMapWindow().ZoomToMap()
+
+    def OnAbort(self, event):
+        """Abort running import
+
+        .. todo::
+            not yet implemented
+        """
+        pass
+
+    def OnCmdDone(self, event):
+        """Do what has to be done after importing"""
+        pass
+
+    def _getLayersToReprojetion(self, projMatch_idx, grassName_idx):
+        """If there are layers with different projection from loation projection, 
+           show dialog to user to explicitly select layers which will be reprojected..."""
+        differentProjLayers = []
+        data = self.list.GetData(checked=True)
+
+        for itm in data:
+
+            layerId = itm[-1]
+
+            # select only layers with different projetion
+            if self.layersData[layerId][projMatch_idx] == 0:
+                dt = [itm[0], itm[grassName_idx]]
+                differentProjLayers.append(tuple(dt))
+        
+        layers = self.list.GetLayers()
+        
+        if differentProjLayers and '-o' not in self.getSettingsPageCmd():
+
+            dlg = RerojectionDialog(parent=self, giface=self._giface, data=differentProjLayers)
+                
+            ret = dlg.ShowModal()
+
+            if ret == wx.ID_OK:
+
+                # do not import unchecked layers
+                for itm in reversed(list(dlg.GetData(checked=False))):
+                    idx = itm[-1]
+                    layers.pop(idx)
+            else:
+                return None;
+
+        return layers
+
+    def getSettingsPageCmd(self):
+
+        return self.advancedPagePanel.createCmd(ignoreErrors=True, ignoreRequired=True)
+
+class GdalImportDialog(ImportDialog):
+    def __init__(self, parent, giface, link=False):
+        """Dialog for bulk import of various raster data
+
+        .. todo::
+            split importing logic from gui code
+
+        :param parent: parent window
+        :param link: True for linking data otherwise importing data
+        """
+        self._giface = giface
+        self.link = link
+
+        self.layersData = []
+
+        ImportDialog.__init__(self, parent, giface=giface, itype='gdal') 
+        if link:
+            self.SetTitle(_("Link external raster data"))
+        else:
+            self.SetTitle(_("Import raster data"))
+        
+        self.dsnInput = GdalSelect(parent = self, panel = self.panel,
+                                   ogr = False, link = link)
+        self.dsnInput.AttachSettings()
+        self.dsnInput.reloadDataRequired.connect(self.reload)
+
+        if link:
+            self.add.SetLabel(_("Add linked layers into layer tree"))
+        else:
+            self.add.SetLabel(_("Add imported layers into layer tree"))
+        
+        self.add.SetValue(UserSettings.Get(group = 'cmd', key = 'addNewLayer', subkey = 'enabled'))
+
+        if link:
+            self.btn_run.SetLabel(_("&Link"))
+            self.btn_run.SetToolTipString(_("Link selected layers"))
+        else:
+            self.btn_run.SetLabel(_("&Import"))
+            self.btn_run.SetToolTipString(_("Import selected layers"))
+
+        self.doLayout()
+
+    def reload(self, data, listData):
+
+        self.list.LoadData(listData);
+        self.layersData = data;
+
+    def OnRun(self, event):
+        """Import/Link data (each layes as separate vector map)"""
+        self.commandId = -1
+        data = self.list.GetLayers()
+
+        data = self._getLayersToReprojetion(2, 3)
+
+        if data is None:
+            return;
+
+        if not data:
+            GMessage(_("No layers selected. Operation canceled."),
+                     parent = self)
+            return
+        
+        dsn  = self.dsnInput.GetDsn()
+        ext  = self.dsnInput.GetFormatExt()
+        
+        for layer, output, listId in data:
+            userData = {}
+          
+            if self.dsnInput.GetType() == 'dir':
+                idsn = os.path.join(dsn, layer)
+            else:
+                idsn = dsn
+
+            # check number of bands
+            nBandsStr = RunCommand('r.in.gdal',
+                                    flags = 'p',
+                                    input = idsn, read = True)
+            nBands = -1
+            if nBandsStr:
+                try:
+                    nBands = int(nBandsStr.rstrip('\n'))
+                except:
+                    pass
+            if nBands < 0:
+                GWarning(_("Unable to determine number of raster bands"),
+                        parent = self)
+            nBands = 1
+
+            userData['nbands'] = nBands
+            cmd = self.getSettingsPageCmd()
+            cmd.append('input=%s' % dsn)
+            cmd.append('output=%s' % output)
+            
+            if self.overwrite.IsChecked():
+                cmd.append('--overwrite')
+            
+            if UserSettings.Get(group = 'cmd', key = 'overwrite', subkey = 'enabled') and \
+                    '--overwrite' not in cmd:
+                cmd.append('--overwrite')
+            
+            # run in Layer Manager
+            self._giface.RunCmd(cmd, onDone=self.OnCmdDone, userData=userData, addLayer=False)
+
+    def OnCmdDone(self, event):
+        """Load layers and close if required"""
+        if not hasattr(self, 'AddLayers'):
+            return
+
+        self.AddLayers(event.returncode, event.cmd, event.userData)
+
+        if event.returncode == 0 and self.closeOnFinish.IsChecked():
+            self.Close()
+
+    def _getCommand(self):
+        """Get command"""
+        if self.link:
+                return 'r.external'
+        else:
+                return 'r.import'
+
+    def _getBlackListedParameters(self):
+        """Get flags which will not be showed in Settings page"""
+        return ['input', 'output']
+
+    def _getBlackListedFlags(self):
+        """Get flags which will not be showed in Settings page"""
+        return ['overwrite']
+
+class OgrImportDialog(ImportDialog):
+    def __init__(self, parent, giface, link=False):
+        """Dialog for bulk import of various vector data
+
+        .. todo::
+            split importing logic from gui code
+
+        :param parent: parent window
+        :param link: True for linking data otherwise importing data
+        """
+        self._giface = giface
+        self.link = link
+
+        self.layersData = []
+
+        ImportDialog.__init__(self, parent, giface=giface, itype='ogr')
+        if link:
+            self.SetTitle(_("Link external vector data"))
+        else:
+            self.SetTitle(_("Import vector data"))
+        
+        self.dsnInput = GdalSelect(parent = self, panel = self.panel,
+                                   ogr = True, link = link)
+        self.dsnInput.AttachSettings()
+        self.dsnInput.reloadDataRequired.connect(self.reload)
+
+        if link:
+            self.add.SetLabel(_("Add linked layers into layer tree"))
+        else:
+            self.add.SetLabel(_("Add imported layers into layer tree"))
+        
+        self.add.SetValue(UserSettings.Get(group = 'cmd', key = 'addNewLayer', subkey = 'enabled'))
+
+        if link:
+            self.btn_run.SetLabel(_("&Link"))
+            self.btn_run.SetToolTipString(_("Link selected layers"))
+        else:
+            self.btn_run.SetLabel(_("&Import"))
+            self.btn_run.SetToolTipString(_("Import selected layers"))
+
+        self.doLayout()
+
+    def reload(self, data, listData):
+
+        self.list.LoadData(listData);
+        self.layersData = data;
+
+    def OnRun(self, event):
+        """Import/Link data (each layes as separate vector map)"""
+        self.commandId = -1
+        data = self.list.GetLayers()
+
+
+        data = self._getLayersToReprojetion(3, 4)
+
+        if data is None:
+            return;
+
+        if not data:
+            GMessage(_("No layers selected. Operation canceled."),
+                     parent = self)
+            return
+        
+        dsn  = self.dsnInput.GetDsn()
+        ext  = self.dsnInput.GetFormatExt()
+        
+        # determine data driver for PostGIS links
+        self.popOGR = False
+        if  self.dsnInput.GetType() == 'db' and \
+                self.dsnInput.GetFormat() == 'PostgreSQL' and \
+                'GRASS_VECTOR_OGR' not in os.environ:
+            self.popOGR = True
+            os.environ['GRASS_VECTOR_OGR'] = '1'
+        
+        for layer, output, listId in data:
+            userData = {}
+
+            if ext and layer.rfind(ext) > -1:
+                layer = layer.replace('.' + ext, '')
+            if '|' in layer:
+                layer, geometry = layer.split('|', 1)
+            else:
+                geometry = None
+
+                #TODO
+                #if geometry:
+                #    cmd.append('geometry=%s' % geometry)
+             
+            cmd = self.getSettingsPageCmd()
+            cmd.append('input=%s' % dsn)
+            cmd.append('layer=%s' % layer)
+            cmd.append('output=%s' % output)
+
+            if self.overwrite.IsChecked():
+                cmd.append('--overwrite')
+            
+            #TODO options
+            if UserSettings.Get(group = 'cmd', key = 'overwrite', subkey = 'enabled') and \
+                    '--overwrite' not in cmd:
+                cmd.append('--overwrite')
+            
+            # run in Layer Manager
+            self._giface.RunCmd(cmd, onDone = self.OnCmdDone, userData = userData, addLayer=False)
+
+    def OnCmdDone(self, event):
+        """Load layers and close if required"""
+        if not hasattr(self, 'AddLayers'):
+            return
+
+        self.AddLayers(event.returncode, event.cmd, event.userData)
+
+        if self.popOGR:
+            os.environ.pop('GRASS_VECTOR_OGR')
+
+        if event.returncode == 0 and self.closeOnFinish.IsChecked():
+            self.Close()
+
+    def _getCommand(self):
+        """Get command"""
+        if self.link:
+           return 'v.external'
+        else:
+            return 'v.import'
+
+    def _getBlackListedParameters(self):
+        """Get parametrs which will not be showed in Settings page"""
+        return ['input', 'output', 'layer']
+
+    def _getBlackListedFlags(self):
+        """Get flags which will not be showed in Settings page"""
+        return ['overwrite']
+
+class GdalOutputDialog(wx.Dialog):
+    def __init__(self, parent, id = wx.ID_ANY, ogr = False,
+                 style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER, *kwargs):
+        """Dialog for setting output format for rasters/vectors
+
+        .. todo::
+            Split into GdalOutputDialog and OgrOutputDialog
+
+        :param parent: parent window
+        :param id: window id
+        :param ogr: True for OGR (vector) otherwise GDAL (raster)
+        :param style: window style
+        :param *kwargs: other wx.Dialog's arguments
+        """
+        self.parent = parent # GMFrame 
+        self.ogr = ogr
+        wx.Dialog.__init__(self, parent, id = id, style = style, *kwargs)
+        if self.ogr:
+            self.SetTitle(_("Define output format for vector data"))
+        else:
+            self.SetTitle(_("Define output format for raster data"))
+        
+        self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
+
+        # buttons
+        self.btnCancel = wx.Button(parent = self.panel, id = wx.ID_CANCEL)
+        self.btnCancel.SetToolTipString(_("Close dialog"))
+        self.btnOk = wx.Button(parent = self.panel, id = wx.ID_OK)
+        self.btnOk.SetToolTipString(_("Set external format and close dialog"))
+        self.btnOk.SetDefault()
+        
+        self.dsnInput = GdalSelect(parent = self, panel = self.panel,
+                                   ogr = ogr,
+                                   exclude = ['file', 'protocol'], dest = True)
+        self.dsnInput.AttachSettings()
+        
+        self.Bind(wx.EVT_BUTTON, self.OnCancel, self.btnCancel)
+        self.Bind(wx.EVT_BUTTON, self.OnOK, self.btnOk)
+        
+        self._layout()
+
+    def _layout(self):
+        dialogSizer = wx.BoxSizer(wx.VERTICAL)
+        
+        dialogSizer.Add(item = self.dsnInput, proportion = 1,
+                        flag = wx.EXPAND)
+
+        btnSizer = wx.BoxSizer(orient = wx.HORIZONTAL)
+        btnSizer.Add(item = self.btnCancel, proportion = 0,
+                     flag = wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
+                     border = 10)
+        btnSizer.Add(item = self.btnOk, proportion = 0,
+                     flag = wx.RIGHT | wx.ALIGN_CENTER,
+                     border = 10)
+        
+        dialogSizer.Add(item = btnSizer, proportion = 0,
+                        flag = wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.TOP | wx.ALIGN_RIGHT,
+                        border = 10)
+        
+        self.panel.SetAutoLayout(True)
+        self.panel.SetSizer(dialogSizer)
+        dialogSizer.Fit(self.panel)
+
+        size = wx.Size(globalvar.DIALOG_GSELECT_SIZE[0] + 225, self.GetBestSize()[1] + 35)
+        self.SetMinSize(size)
+        self.SetSize((size.width, size.height))
+        self.Layout()
+        
+    def OnCancel(self, event):
+        self.Destroy()
+        
+    def OnOK(self, event):
+        if self.dsnInput.GetType() == 'native':
+            RunCommand('v.external.out',
+                       parent = self,
+                       flags = 'r')
+        else:
+            dsn = self.dsnInput.GetDsn()
+            frmt = self.dsnInput.GetFormat()
+            options = self.dsnInput.GetOptions()
+            if not dsn:
+                GMessage(_("No data source selected."), parent=self)
+                return
+            
+            RunCommand('v.external.out',
+                       parent = self,
+                       output = dsn, format = frmt,
+                       options = options)
+        self.Close()
+        
+class DxfImportDialog(ImportDialog):
+    """Dialog for bulk import of DXF layers"""
+    def __init__(self, parent, giface):
+        ImportDialog.__init__(self, parent, giface=giface, itype='dxf',
+                              title = _("Import DXF layers"))
+        self._giface = giface
+        self.dsnInput = filebrowse.FileBrowseButton(parent = self.panel, id = wx.ID_ANY, 
+                                                    size = globalvar.DIALOG_GSELECT_SIZE, labelText = '',
+                                                    dialogTitle = _('Choose DXF file to import'),
+                                                    buttonText = _('Browse'),
+                                                    startDirectory = os.getcwd(), fileMode = 0,
+                                                    changeCallback = self.OnSetDsn,
+                                                    fileMask = "DXF File (*.dxf)|*.dxf")
+        
+        self.add.SetLabel(_("Add imported layers into layer tree"))
+        
+        self.add.SetValue(UserSettings.Get(group = 'cmd', key = 'addNewLayer', subkey = 'enabled'))
+        
+        self.doLayout()
+
+    def _getCommand(self):
+        """Get command"""
+        return 'v.in.dxf'
+
+    def _getBlackListedParameters(self):
+
+        return ['input', 'output', 'layers']
+    
+    def OnRun(self, event):
+        """Import/Link data (each layes as separate vector map)"""
+        data = self.list.GetLayers()
+        if not data:
+            GMessage(_("No layers selected."), parent=self)
+            return
+        
+        # hide dialog
+        self.Hide()
+        
+        inputDxf = self.dsnInput.GetValue()
+        
+        for layer, output, itemId in data:
+
+            cmd = self.getSettingsPageCmd()
+            cmd.append('input=%s' % inputDxf)
+            cmd.append('layer=%s' % layer)
+            cmd.append('output=%s' % output)
+
+            for key in self.options.keys():
+                if self.options[key].IsChecked():
+                    cmd.append('-%s' % key)
+            
+            if self.overwrite.IsChecked() or \
+                    UserSettings.Get(group = 'cmd', key = 'overwrite', subkey = 'enabled'):
+                cmd.append('--overwrite')
+            
+            # run in Layer Manager
+            self._giface.RunCmd(cmd, onDone=self.OnCmdDone, addLayer=False)
+
+    def OnCmdDone(self, event):
+        """Load layers and close if required"""
+        if not hasattr(self, 'AddLayers'):
+            return
+
+        self.AddLayers(event.returncode, event.cmd)
+
+        if self.closeOnFinish.IsChecked():
+            self.Close()
+
+    def OnSetDsn(self, event):
+        """Input DXF file defined, update list of layer widget"""
+        path = event.GetString()
+        if not path:
+            return 
+        
+        data = list()        
+        ret = RunCommand('v.in.dxf',
+                         quiet = True,
+                         parent = self,
+                         read = True,
+                         flags = 'l',
+                         input = path)
+        if not ret:
+            self.list.LoadData()
+            return
+            
+        for line in ret.splitlines():
+            layerId = line.split(':')[0].split(' ')[1]
+            layerName = line.split(':')[1].strip()
+            grassName = GetValidLayerName(layerName)
+            data.append((layerId, layerName.strip(), grassName.strip()))
+        
+        self.list.LoadData(data)
+
+    def _getCommand(self):
+        """Get command"""
+        return 'v.in.dxf'
+
+    def _getBlackListedParameters(self):
+        """Get parametrs which will not be showed in Settings page"""
+        return ['input', 'output', 'layers']
+
+    def _getBlackListedFlags(self):
+        """Get flags which will not be showed in Settings page"""
+        return ['overwrite']
+
+
+class RerojectionDialog(wx.Dialog):
+    """ """
+    def __init__(self, parent, giface, data,
+                 id = wx.ID_ANY, title = _("Reprojection"),
+                 style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
+        self.parent = parent    # GMFrame 
+        self._giface = giface  # used to add layers
+        
+        wx.Dialog.__init__(self, parent, id, title, style = style,
+                           name = "MultiImportDialog")
+
+
+        self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
+
+        # list of layers
+        columns = [_('Layer id'),
+                   _('Name for output GRASS map')]
+
+        self.list = GListCtrl(parent = self.panel)
+
+        for i in range(len(columns)):
+            self.list.InsertColumn(i, columns[i])
+        
+        width = (65, 180)
+        
+        for i in range(len(width)):
+            self.list.SetColumnWidth(col=i, width=width[i])
+
+        self.list.LoadData(data)
+
+        self.layerBox = wx.StaticBox(parent=self.panel, id=wx.ID_ANY)
+
+        self.labelText = wx.StaticText(parent=self.panel, id=wx.ID_ANY, label=_("Projection of following layers do not match with projection of current location. "))
+        
+        label = _("Layers to be reprojected")
+        self.layerBox.SetLabel(" %s - %s " % (label, _("right click to (un)select all")))
+
+        #
+        # buttons
+        #
+        # cancel
+        self.btn_close = wx.Button(parent = self.panel, id = wx.ID_CANCEL)
+
+        # run
+        self.btn_run = wx.Button(parent = self.panel, id = wx.ID_OK, label = _("&Import && reproject"))
+        self.btn_run.SetToolTipString(_("Reproject selected layers"))
+        self.btn_run.SetDefault()
+
+        self.doLayout()
+
+    def doLayout(self):
+        """Do layout"""
+        dialogSizer = wx.BoxSizer(wx.VERTICAL)
+
+        dialogSizer.Add(item = self.labelText,
+                        flag = wx.ALL | wx.EXPAND, border = 5)
+        
+        layerSizer = wx.StaticBoxSizer(self.layerBox, wx.HORIZONTAL)
+
+
+        layerSizer.Add(item = self.list, proportion = 1,
+                      flag = wx.ALL | wx.EXPAND, border = 5)
+        
+        dialogSizer.Add(item = layerSizer, proportion = 1,
+                        flag = wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border = 5)
+
+        #
+        # buttons
+        #
+        btnsizer = wx.BoxSizer(orient = wx.HORIZONTAL)
+        
+        btnsizer.Add(item = self.btn_close, proportion = 0,
+                     flag = wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
+                     border = 10)
+        
+        btnsizer.Add(item = self.btn_run, proportion = 0,
+                     flag = wx.RIGHT | wx.ALIGN_CENTER,
+                     border = 10)
+        
+        dialogSizer.Add(item = btnsizer, proportion = 0,
+                        flag = wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.ALIGN_RIGHT,
+                        border = 10)
+   
+        self.panel.SetSizer(dialogSizer)
+        dialogSizer.Fit(self.panel)
+
+        self.Layout()
+
+    def GetData(self, checked):
+
+        return self.list.GetData(checked)
diff --git a/gui/wxpython/modules/mapsets_picker.py b/gui/wxpython/modules/mapsets_picker.py
index fabeb10..7c92efe 100755
--- a/gui/wxpython/modules/mapsets_picker.py
+++ b/gui/wxpython/modules/mapsets_picker.py
@@ -2,6 +2,9 @@
 
 import wx
 
+from grass.script.setup import set_gui_path
+set_gui_path()
+
 from core.gcmd import RunCommand
 from core.utils import _
 from gui_core.preferences import MapsetAccess
diff --git a/gui/wxpython/modules/vkrige.py b/gui/wxpython/modules/vkrige.py
index c96ab3a..475ee3f 100644
--- a/gui/wxpython/modules/vkrige.py
+++ b/gui/wxpython/modules/vkrige.py
@@ -233,7 +233,7 @@ class KrigingPanel(wx.Panel):
         if not hasattr(SelectedPanel, 'VariogramCheckBox') or not SelectedPanel.VariogramCheckBox.IsChecked():
             command.append("model=" + '%s' % SelectedPanel.ModelChoicebox.GetStringSelection().split(" ")[0])
             
-        for i in ['Sill', 'Nugget', 'Range']:
+        for i in ['Sill', 'Nugget', 'Range', 'Kappa']:
             if getattr(SelectedPanel, i+"ChextBox").IsChecked():
                 command.append(i.lower() + "=" + '%s' % getattr(SelectedPanel, i+'Ctrl').GetValue())
         
@@ -317,13 +317,22 @@ class RBookPanel(wx.Panel):
         self.LeftSizer.Add(self.PlotButton, proportion = 0, flag =  wx.ALL, border = parent.border)
         self.LeftSizer.Add(self.ParametersSizer, proportion = 0, flag = wx.EXPAND | wx.ALL, border = parent.border)
         
-        self.ParametersList = ["Sill", "Nugget", "Range"]
-        MinValues = [0,0,1]
+        self.ParametersList = ["Sill", "Nugget", "Range", "Kappa"]
+        MinValues = [0,0,1,0.1]
         for n in self.ParametersList:
             setattr(self, n+"ChextBox", wx.CheckBox(self,
                                                     id = self.ParametersList.index(n),
                                                     label = _(n + ":")))
-            setattr(self, n+"Ctrl", (wx.SpinCtrl(self,
+            # Kappa must be float
+            if n == "Kappa":
+                setattr(self, n+"Ctrl", (wx.SpinCtrlDouble(self,
+                                                 id = wx.ID_ANY,
+                                                 min = MinValues[self.ParametersList.index(n)],
+                                                 max = maxint,
+                                                 inc = 0.1,
+                                                 initial = 0.5)))
+            else:
+                setattr(self, n+"Ctrl", (wx.SpinCtrl(self,
                                                  id = wx.ID_ANY,
                                                  min = MinValues[self.ParametersList.index(n)],
                                                  max = maxint)))
@@ -404,14 +413,16 @@ class RBookgstatPanel(RBookPanel):
             self.VariogramCheckBox.Bind(wx.EVT_CHECKBOX, self.HideOptions)
             self.VariogramCheckBox.SetValue(state = True) # check it by default
         
-        ModelFactor = robjects.r.vgm().rx('long')
-        ModelList = robjects.r.levels(ModelFactor[0])
+        # Get list of available models. Show long name but use short one
+        ModelFactor = robjects.r.vgm()
+        ModelList = robjects.r.levels(ModelFactor[1])
+        self.ModelListShort = robjects.r.levels(ModelFactor[0])
         #@FIXME: no other way to let the Python pick it up..
         # and this is te wrong place where to load this list. should be at the very beginning.
         self.ModelChoicebox = wx.Choice(self, id = wx.ID_ANY, choices = ModelList)
         
         # disable model parameters' widgets by default
-        for n in ["Sill", "Nugget", "Range"]:
+        for n in ["Sill", "Nugget", "Range", "Kappa"]:
             getattr(self, n+"Ctrl").Enable(False)
         self.ModelChoicebox.Enable(False)
         
@@ -431,7 +442,7 @@ class RBookgstatPanel(RBookPanel):
     
     def HideOptions(self, event):
         self.ModelChoicebox.Enable(not event.IsChecked())
-        for n in ["Sill", "Nugget", "Range"]:
+        for n in ["Sill", "Nugget", "Range", "Kappa"]:
             if not event.IsChecked():
                 getattr(self, n+"Ctrl").Enable(True)
                 getattr(self, n+ "ChextBox").SetValue(True)
@@ -459,14 +470,15 @@ class RBookgstatPanel(RBookPanel):
                                             #~ isblock = self.KrigingRadioBox.GetStringSelection() == "Block kriging")
         if hasattr(self, 'VariogramCheckBox') and self.VariogramCheckBox.IsChecked():
             self.model = ''
-            for each in ("Sill","Nugget","Range"):
+            for each in ("Sill","Nugget","Range","Kappa"):
                 if getattr(self, each+'ChextBox').IsChecked():
                     setattr(self, each.lower(), getattr(self, each+"Ctrl").GetValue())
                 else:
                     setattr(self, each.lower(), robjects.r('''NA'''))
+                    
         else:
-            self.model = self.ModelChoicebox.GetStringSelection().split(" ")[0]
-            for each in ("Sill","Nugget","Range"):
+            self.model = self.ModelListShort[self.ModelChoicebox.GetSelection()]
+            for each in ("Sill","Nugget","Range","Kappa"):
                 if getattr(self, each+'ChextBox').IsChecked(): #@FIXME will be removed when chextboxes will be frozen
                     setattr(self, each.lower(), getattr(self, each+"Ctrl").GetValue())
                     
@@ -481,8 +493,28 @@ class RBookgstatPanel(RBookPanel):
                                                          model = self.model,
                                                          sill = self.sill,
                                                          nugget = self.nugget,
-                                                         range = self.range)
+                                                         range = self.range,
+                                                         kappa = self.kappa)
 
+        ''' Fill parameters with autofitted values '''
+        if hasattr(self, 'VariogramCheckBox') and self.VariogramCheckBox.IsChecked():
+            for i in range(len(self.ModelListShort)):
+                if self.ModelListShort[i] == self.controller.Variogram['model']:
+                    self.ModelChoicebox.SetSelection(i)
+                    break
+            if not getattr(self, 'SillChextBox').IsChecked():
+                self.sill = self.controller.Variogram['variogrammodel'][1][1]
+                self.SillCtrl.SetValue(self.sill)
+            if not getattr(self, 'NuggetChextBox').IsChecked():
+                self.nugget = self.controller.Variogram['variogrammodel'][1][0]
+                self.NuggetCtrl.SetValue(self.nugget)
+            if not getattr(self, 'RangeChextBox').IsChecked():
+                self.range = self.controller.Variogram['variogrammodel'][2][1]
+                self.RangeCtrl.SetValue(self.range)
+            if not getattr(self, 'KappaChextBox').IsChecked():
+                self.kappa = self.controller.Variogram['variogrammodel'][3][1]
+                self.KappaCtrl.SetValue(self.kappa)
+            
         # use R plot function, in a separate window.
         thread.start_new_thread(self.plot, ())
         
diff --git a/gui/wxpython/nviz/mapwindow.py b/gui/wxpython/nviz/mapwindow.py
index c913a27..ad2195b 100644
--- a/gui/wxpython/nviz/mapwindow.py
+++ b/gui/wxpython/nviz/mapwindow.py
@@ -942,7 +942,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
                     if event.CmdDown() and id1 == data['surface']['object']['id']:
                         break
                     
-                elif mapLayer.GetType() == '3d-raster':
+                elif mapLayer.GetType() == 'raster_3d':
                     if 'x' not in data['volume']['position']:
                         data['volume']['position']['x'] = 0
                         data['volume']['position']['y'] = 0
@@ -1304,7 +1304,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
                 continue
                 
             if not item.IsChecked() or \
-                    type not in ('raster', 'vector', '3d-raster'):
+                    type not in ('raster', 'vector', 'raster_3d'):
                 item = self.tree.GetNextItem(item)
                 continue
             
@@ -1339,7 +1339,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
             try:
                 if type ==  'raster':
                     self.LoadRaster(item)
-                elif type ==  '3d-raster':
+                elif type ==  'raster_3d':
                     self.LoadRaster3d(item)
                 elif type ==  'vector':
                     layer = self.tree.GetLayerInfo(item, key = 'maplayer')
@@ -1384,7 +1384,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
             try:
                 if ltype ==  'raster':
                     self.UnloadRaster(layer)
-                elif ltype ==  '3d-raster':
+                elif ltype ==  'raster_3d':
                     self.UnloadRaster3d(layer) 
                 elif ltype ==  'vector':
                     maplayer = self.tree.GetLayerInfo(layer, key = 'maplayer')
@@ -1473,7 +1473,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
                 self.SetVectorSurface(data['vector']['points'])
                 self.SetVectorSurface(data['vector']['lines'])
                 
-            elif mapType ==  '3d-raster':
+            elif mapType ==  'raster_3d':
                 # reset to default properties 
                 data[nvizType] = self.nvizDefault.SetVolumeDefaultProp()
                 
@@ -1509,7 +1509,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         
         # set id
         if id > 0:
-            if mapType in ('raster', '3d-raster'):
+            if mapType in ('raster', 'raster_3d'):
                 data[nvizType]['object'] = { 'id' : id,
                                             'init' : False }
             elif mapType ==  'vector':
@@ -1542,14 +1542,14 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         """
         layer = self.tree.GetLayerInfo(item, key = 'maplayer')
         
-        if layer.type not in ('raster', '3d-raster'):
+        if layer.type not in ('raster', 'raster_3d'):
             return
         
         if layer.type ==  'raster':
             id = self._display.LoadSurface(str(layer.name), None, None)
             nvizType = 'surface'
             errorMsg = _("Loading raster map")
-        elif layer.type ==  '3d-raster':
+        elif layer.type ==  'raster_3d':
             id = self._display.LoadVolume(str(layer.name), None, None)
             nvizType = 'volume'
             errorMsg = _("Loading 3d raster map")
@@ -1557,7 +1557,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
             id = -1
         
         if id < 0:
-            if layer.type in ('raster', '3d-raster'):
+            if layer.type in ('raster', 'raster_3d'):
                 self.log.WriteError("%s <%s> %s" % (errorMsg, layer.name, _("failed")))
             else:
                 self.log.WriteError(_("Unsupported layer type '%s'") % layer.type)
@@ -1664,7 +1664,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         """
         layer = self.tree.GetLayerInfo(item, key = 'maplayer')
         
-        if layer.type not in ('raster', '3d-raster'):
+        if layer.type not in ('raster', 'raster_3d'):
             return
         
         data = self.tree.GetLayerInfo(item, key = 'nviz')
@@ -1702,7 +1702,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
                 win.SetItems(self.GetLayerNames(layer.type))
                 win = toolWin.FindWindowById(toolWin.win['surface']['map'])
                 win.SetValue('')
-            if layer.type ==  '3d-raster':
+            if layer.type ==  'raster_3d':
                 win = toolWin.FindWindowById(toolWin.win['volume']['map'])
                 win.SetValue('')
             if layer.type ==  'vector':
@@ -2258,7 +2258,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
                         return data['vector']['points']['object']['id']
                     elif vsubtyp ==  'vline':
                         return data['vector']['lines']['object']['id']
-                elif type ==  '3d-raster':
+                elif type ==  'raster_3d':
                     return data['volume']['object']['id']
             except KeyError:
                 return -1
@@ -2290,7 +2290,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         for item in self.layers:
             if self.tree.GetLayerInfo(item, key = 'type') == 'raster':
                 rasters.append(item)
-            elif self.tree.GetLayerInfo(item, key = 'type') == '3d-raster':
+            elif self.tree.GetLayerInfo(item, key = 'type') == 'raster_3d':
                 volumes.append(item)
             elif self.tree.GetLayerInfo(item, key = 'type') == 'vector':
                 vectors.append(item)
diff --git a/gui/wxpython/nviz/tools.py b/gui/wxpython/nviz/tools.py
index 75ce586..17ddcb3 100644
--- a/gui/wxpython/nviz/tools.py
+++ b/gui/wxpython/nviz/tools.py
@@ -64,14 +64,15 @@ except ImportError:
 class NvizToolWindow(FN.FlatNotebook):
     """Nviz (3D view) tools panel
     """
-    def __init__(self, parent, display, id = wx.ID_ANY,
-                 style = globalvar.FNPageStyle|FN.FNB_NO_X_BUTTON,
+    def __init__(self, parent, tree, display, id=wx.ID_ANY,
+                 style=globalvar.FNPageStyle|FN.FNB_NO_X_BUTTON,
                  **kwargs):
         Debug.msg(5, "NvizToolWindow.__init__()")
-        self.parent     = parent # GMFrame
+        self.parent = parent
+        self.tree = tree
         self.mapDisplay = display
-        self.mapWindow  = display.GetWindow()
-        self._display   = self.mapWindow.GetDisplay()
+        self.mapWindow = display.GetWindow()
+        self._display = self.mapWindow.GetDisplay()
          
         if globalvar.hasAgw:
             kwargs['agwStyle'] = style
@@ -128,11 +129,11 @@ class NvizToolWindow(FN.FlatNotebook):
         
     def SetInitialMaps(self):
         """Set initial raster and vector map"""
-        for ltype in ('raster', 'vector', '3d-raster'):
-            selectedLayer = self.parent.GetLayerTree().GetSelectedLayer(multi = False, checkedOnly = True)
+        for ltype in ('raster', 'vector', 'raster_3d'):
+            selectedLayer = self.tree.GetSelectedLayer(multi = False, checkedOnly = True)
             if selectedLayer is None:
                 continue
-            selectedLayer = self.parent.GetLayerTree().GetLayerInfo(selectedLayer, key = 'maplayer')
+            selectedLayer = self.tree.GetLayerInfo(selectedLayer, key = 'maplayer')
             layers = self.mapWindow.Map.GetListOfLayers(ltype = ltype, active = True)
             if selectedLayer in layers:
                 selection = selectedLayer.GetName()
@@ -146,7 +147,7 @@ class NvizToolWindow(FN.FlatNotebook):
                 self.FindWindowById(self.win['fringe']['map']).SetValue(selection)
             elif ltype == 'vector':
                 self.FindWindowById(self.win['vector']['map']).SetValue(selection)
-            elif ltype == '3d-raster':
+            elif ltype == 'raster_3d':
                 self.FindWindowById(self.win['volume']['map']).SetValue(selection)
                
     def UpdateState(self, **kwargs):
@@ -1514,8 +1515,6 @@ class NvizToolWindow(FN.FlatNotebook):
     def GselectOnPopup(self, ltype, exclude = False):
         """Update gselect.Select() items"""
         maps = list()
-        # TODO: sync the element names
-        ltype = '3d-raster' if ltype == 'raster_3d' else ltype
         for layer in self.mapWindow.Map.GetListOfLayers(ltype = ltype, active = True):
             maps.append(layer.GetName())
         return maps, exclude
@@ -2054,7 +2053,7 @@ class NvizToolWindow(FN.FlatNotebook):
         elif nvizType == 'vector':
             return self._getLayerPropertiesByName(name, mapType = 'vector')
         elif nvizType == 'volume':
-            return self._getLayerPropertiesByName(name, mapType = '3d-raster')
+            return self._getLayerPropertiesByName(name, mapType = 'raster_3d')
         
         return None
 
@@ -2062,7 +2061,7 @@ class NvizToolWindow(FN.FlatNotebook):
         """Get layer (render.Layer) by name and type.
 
         :param name: layer name
-        :param mapType: map type (raster, vector, 3d-raster)
+        :param mapType: map type (raster, vector, raster_3d)
         """
         layers = self.mapWindow.Map.GetListOfLayers(ltype = mapType, name = name)
         if layers:
@@ -2073,15 +2072,14 @@ class NvizToolWindow(FN.FlatNotebook):
         """Get nviz properties stored in layertree items by name and type.
 
         :param name: layer name
-        :param mapType: map type (raster, vector, 3d-raster)
+        :param mapType: map type (raster, vector, raster_3d)
         """
-        tree = self.parent.GetLayerTree()
-        items = tree.FindItemByData(key = 'name', value = name)
+        items = self.tree.FindItemByData(key = 'name', value = name)
         if not items:
             return None
         for item in items:
-            if tree.GetLayerInfo(item, key = 'type') == mapType:
-                return tree.GetLayerInfo(item, key = 'nviz')
+            if self.tree.GetLayerInfo(item, key = 'type') == mapType:
+                return self.tree.GetLayerInfo(item, key = 'nviz')
         return None
 
     def OnRecord(self, event):
@@ -2810,12 +2808,12 @@ class NvizToolWindow(FN.FlatNotebook):
         """3D Raster map selected, update surface page"""
         name = event.GetString()
         try:
-            data = self._getLayerPropertiesByName(name, mapType = '3d-raster')['volume']
+            data = self._getLayerPropertiesByName(name, mapType = 'raster_3d')['volume']
         except:
             self.EnablePage('volume', False)
             return
         
-        layer = self._getMapLayerByName(name, mapType = '3d-raster')
+        layer = self._getMapLayerByName(name, mapType = 'raster_3d')
         self.EnablePage('volume', True)
         self.UpdateVolumePage(layer, data, updateName = False)
         
@@ -3023,7 +3021,7 @@ class NvizToolWindow(FN.FlatNotebook):
                                                    'value' : str(value),
                                                    'update' : None }
         else: # volume / isosurface
-            data = self._getLayerPropertiesByName(name, mapType = '3d-raster')
+            data = self._getLayerPropertiesByName(name, mapType = 'raster_3d')
             list = self.FindWindowById(self.win['volume']['isosurfs'])
             id = list.GetSelection()
             if id != -1:
@@ -3131,7 +3129,7 @@ class NvizToolWindow(FN.FlatNotebook):
                                                        'value' : str(value),
                                                        'update' : None }
             else:
-                data = self._getLayerPropertiesByName(name, mapType = '3d-raster')
+                data = self._getLayerPropertiesByName(name, mapType = 'raster_3d')
                 list = self.FindWindowById(self.win['volume']['isosurfs'])
                 id = list.GetSelection()
                 if id > -1:
@@ -3405,9 +3403,9 @@ class NvizToolWindow(FN.FlatNotebook):
        
         checked = event.IsChecked()
         name = self.FindWindowById(self.win['vector']['map']).GetValue()
-        items = self.parent.GetLayerTree().FindItemByData(key = 'name', value = name)
+        items = self.tree.FindItemByData(key = 'name', value = name)
         for item in items:
-            if self.parent.GetLayerTree().GetLayerInfo(item, key = 'type') == 'vector':
+            if self.tree.GetLayerInfo(item, key = 'type') == 'vector':
                 break
         data = self.GetLayerData('vector')['vector']
         
@@ -3720,10 +3718,10 @@ class NvizToolWindow(FN.FlatNotebook):
         """Enable/disable buttons 'add', 'delete',
         'move up', 'move down'"""
         nitems = list.GetCount()
-        add = self.parent.FindWindowById(self.win['volume']['btnAdd'])
-        delete = self.parent.FindWindowById(self.win['volume']['btnDelete'])
-        moveDown = self.parent.FindWindowById(self.win['volume']['btnMoveDown'])
-        moveUp = self.parent.FindWindowById(self.win['volume']['btnMoveUp'])
+        add = self.FindWindowById(self.win['volume']['btnAdd'])
+        delete = self.FindWindowById(self.win['volume']['btnDelete'])
+        moveDown = self.FindWindowById(self.win['volume']['btnMoveDown'])
+        moveUp = self.FindWindowById(self.win['volume']['btnMoveUp'])
         if nitems >= wxnviz.MAX_ISOSURFS:
             # disable add button on max
             add.Enable(False)
@@ -3771,7 +3769,7 @@ class NvizToolWindow(FN.FlatNotebook):
         
         if event:
             name = self.FindWindowById(self.win['volume']['map']).GetValue()
-            layer = self._getMapLayerByName(name, mapType = '3d-raster')
+            layer = self._getMapLayerByName(name, mapType = 'raster_3d')
             self.UpdateVolumePage(layer, data, updateName = False)
             
         sizer.Layout()
@@ -3924,7 +3922,7 @@ class NvizToolWindow(FN.FlatNotebook):
         
         # update dialog
         name = self.FindWindowById(self.win['volume']['map']).GetValue()
-        layer = self._getMapLayerByName(name, mapType = '3d-raster')
+        layer = self._getMapLayerByName(name, mapType = 'raster_3d')
         
         if mode == 'isosurf':
             data = self.GetLayerData('volume')['volume']['isosurface'][selection]
@@ -3944,7 +3942,7 @@ class NvizToolWindow(FN.FlatNotebook):
         list = self.FindWindowById(self.win['volume'][mode + 's'])
         
         name = self.FindWindowById(self.win['volume']['map']).GetValue()
-        layer = self._getMapLayerByName(name, mapType = '3d-raster')
+        layer = self._getMapLayerByName(name, mapType = 'raster_3d')
         data = self.GetLayerData('volume')['volume']
         id = data['object']['id']
         
@@ -4019,7 +4017,7 @@ class NvizToolWindow(FN.FlatNotebook):
             list.SetSelection(list.GetCount()-1)
         
         name = self.FindWindowById(self.win['volume']['map']).GetValue()
-        layer = self._getMapLayerByName(name, mapType = '3d-raster')
+        layer = self._getMapLayerByName(name, mapType = 'raster_3d')
         data = self.GetLayerData('volume')['volume']
 
         vid = data['object']['id']
@@ -4063,7 +4061,7 @@ class NvizToolWindow(FN.FlatNotebook):
             return # this should not happen
         
         name = self.FindWindowById(self.win['volume']['map']).GetValue()
-        layer = self._getMapLayerByName(name, mapType = '3d-raster')
+        layer = self._getMapLayerByName(name, mapType = 'raster_3d')
         data = self.GetLayerData('volume')['volume']
         
         id = data['object']['id']
@@ -4104,7 +4102,7 @@ class NvizToolWindow(FN.FlatNotebook):
             return # this should not happen
         
         name = self.FindWindowById(self.win['volume']['map']).GetValue()
-        layer = self._getMapLayerByName(name, mapType = '3d-raster')
+        layer = self._getMapLayerByName(name, mapType = 'raster_3d')
         data = self.GetLayerData('volume')['volume']
         
         id = data['object']['id']
@@ -4559,7 +4557,7 @@ class NvizToolWindow(FN.FlatNotebook):
                     if layer:
                         self.UpdateVectorPage(layer, data['vector'])
                 elif pageId == 'volume':
-                    layer = self._getMapLayerByName(name, mapType = '3d-raster')
+                    layer = self._getMapLayerByName(name, mapType = 'raster_3d')
                     if layer:
                         self.UpdateVolumePage(layer, data['volume'])
         elif pageId == 'light':
diff --git a/gui/wxpython/psmap/dialogs.py b/gui/wxpython/psmap/dialogs.py
index 2fea955..ef1a91b 100644
--- a/gui/wxpython/psmap/dialogs.py
+++ b/gui/wxpython/psmap/dialogs.py
@@ -1071,14 +1071,7 @@ class MapFramePanel(wx.Panel):
 
             mapFrameDict['scale'] = self.scale[2]
             mapFrameDict['center'] = self.center[2]
-            
-            env = grass.gisenv()
-            windFilePath = os.path.join(env['GISDBASE'], env['LOCATION_NAME'], env['MAPSET'], 'WIND')
-            try:
-                windFile = open(windFilePath, 'r').read()
-                region = grass.parse_key_val(windFile, sep = ':', val_type = float)
-            except IOError:
-                region = grass.region()
+            region = grass.region()
             
             raster = self.instruction.FindInstructionByType('raster')
             if raster:
@@ -1087,11 +1080,11 @@ class MapFramePanel(wx.Panel):
                 rasterId = None
 
             if rasterId: # because of resolution
-                RunCommand('g.region', n = region['north'], s = region['south'],
-                            e = region['east'], w = region['west'], rast = self.instruction[rasterId]['raster'])
+                RunCommand('g.region', n=region['n'], s=region['s'],
+                            e=region['e'], w=region['w'], rast=self.instruction[rasterId]['raster'])
             else:
-                RunCommand('g.region', n = region['north'], s = region['south'],
-                           e = region['east'], w = region['west'])
+                RunCommand('g.region', n=region['n'], s=region['s'],
+                           e=region['e'], w=region['w'])
             
         elif scaleType == 3:
             mapFrameDict['drawMap'] = False
diff --git a/gui/wxpython/psmap/g.gui.psmap.html b/gui/wxpython/psmap/g.gui.psmap.html
index 6494be3..e7a30c0 100644
--- a/gui/wxpython/psmap/g.gui.psmap.html
+++ b/gui/wxpython/psmap/g.gui.psmap.html
@@ -217,4 +217,4 @@ Anna Kratochvilova, Czech Technical Univesity in Prague, Czech
 Republic (bachelor's final project 2011, mentor: Martin Landa)
 
 <p>
-<i>$Date: 2014-04-20 19:57:39 +0200 (Sun, 20 Apr 2014) $</i>
+<i>$Date: 2014-04-20 06:20:39 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/gui/wxpython/psmap/g.gui.psmap.py b/gui/wxpython/psmap/g.gui.psmap.py
index 27651d7..0c6d124 100755
--- a/gui/wxpython/psmap/g.gui.psmap.py
+++ b/gui/wxpython/psmap/g.gui.psmap.py
@@ -39,6 +39,10 @@ def main():
     options, flags = gscript.parser()
 
     import wx
+    
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.globalvar import CheckWxVersion
     from psmap.frame import PsMapFrame
 
diff --git a/gui/wxpython/psmap/instructions.py b/gui/wxpython/psmap/instructions.py
index 7e75504..0977e4e 100644
--- a/gui/wxpython/psmap/instructions.py
+++ b/gui/wxpython/psmap/instructions.py
@@ -39,9 +39,10 @@ from time import strftime, localtime
 
 import wx
 import grass.script as grass
+from grass.script.task import cmdlist_to_tuple
 
 from core.gcmd          import RunCommand, GError, GMessage, GWarning
-from core.utils         import CmdToTuple, GetCmdString, _
+from core.utils         import GetCmdString, _
 from dbmgr.vinfo        import VectorDBInfo
 from psmap.utils        import *
 
@@ -439,7 +440,7 @@ class Instruction:
         map = MapFrame(wx.NewId())
         self.AddInstruction(map)
         if regionInstruction:
-            cmd = CmdToTuple(regionInstruction.strip('# ').split())
+            cmd = cmdlist_to_tuple(regionInstruction.strip('# ').split())
             
             # define scaleType
             if len(cmd[1]) <= 3:
diff --git a/gui/wxpython/psmap/utils.py b/gui/wxpython/psmap/utils.py
index e1d6201..51ca62b 100644
--- a/gui/wxpython/psmap/utils.py
+++ b/gui/wxpython/psmap/utils.py
@@ -213,16 +213,7 @@ def AutoAdjust(self, scaleType, rect, map=None, mapType=None, region=None):
         res = grass.read_command("g.region", flags = 'gu', region = region)
         currRegionDict = grass.parse_key_val(res, val_type = float)
     elif scaleType == 2: # current region
-        env = grass.gisenv()
-        windFilePath = os.path.join(env['GISDBASE'], env['LOCATION_NAME'], env['MAPSET'], 'WIND')
-        try:
-            windFile = open(windFilePath, 'r').read()
-        except IOError:
-            currRegionDict = grass.region()
-        regionDict = grass.parse_key_val(windFile, sep = ':', val_type = float)
-        region = grass.read_command("g.region", flags = 'gu', n = regionDict['north'], s = regionDict['south'],
-                                    e = regionDict['east'], w = regionDict['west'])
-        currRegionDict = grass.parse_key_val(region, val_type = float)
+        currRegionDict = grass.region()
                                                                 
     else:
         return None, None, None
diff --git a/gui/wxpython/rdigit/__init__.py b/gui/wxpython/rdigit/__init__.py
new file mode 100644
index 0000000..b38c175
--- /dev/null
+++ b/gui/wxpython/rdigit/__init__.py
@@ -0,0 +1,4 @@
+all = [
+    'controller',
+    'toolbars'
+    ]
diff --git a/gui/wxpython/rdigit/controller.py b/gui/wxpython/rdigit/controller.py
new file mode 100644
index 0000000..0e39109
--- /dev/null
+++ b/gui/wxpython/rdigit/controller.py
@@ -0,0 +1,544 @@
+# -*- coding: utf-8 -*-
+"""
+ at package rdigit.controller
+
+ at brief rdigit controller for drawing and rasterizing
+
+Classes:
+ - controller::RDigitController
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Anna Petrasova <kratochanna gmail.com>
+"""
+import os
+import tempfile
+import wx
+import uuid
+from wx.lib.newevent import NewEvent
+
+from grass.script import core as gcore
+from grass.script import raster as grast
+from grass.exceptions import CalledModuleError, ScriptError
+from grass.pydispatch.signal import Signal
+
+from core.gcmd import GError, GMessage
+from core.settings import UserSettings
+from core.gthread import gThread
+from rdigit.dialogs import NewRasterDialog
+
+updateProgress, EVT_UPDATE_PROGRESS = NewEvent()
+
+
+class RDigitController(wx.EvtHandler):
+    """Controller object for raster digitizer.
+    Inherits from EvtHandler to be able to send wx events from thraed.
+    """
+    def __init__(self, giface, mapWindow):
+        """Constructs controller
+
+        :param giface: grass interface object
+        :param mapWindow: instance of BufferedMapWindow
+        """
+        wx.EvtHandler.__init__(self)
+        self._giface = giface
+        self._mapWindow = mapWindow
+
+        # thread for running rasterization process
+        self._thread = gThread()
+        # name of raster map which is edited (also new one)
+        self._editedRaster = None
+        # name of optional background raster
+        self._backgroundRaster = None
+        # name of temporary raster used to backup original state
+        self._backupRasterName = None
+        # if we edit an old raster or a new one (important for setting color table)
+        self._editOldRaster = False
+        # type of output raster map (CELL, FCELL, DCELL)
+        self._mapType = None
+        # GraphicsSet for drawing areas, lines, points
+        self._areas = None
+        self._lines = None
+        self._points = None
+        # list of all GraphicsItems in the order of drawing
+        self._all = []
+        # if in state of drawing lin or area
+        self._drawing = False
+        # if running digitizing process in thread (to block drawing)
+        self._running = False
+        # color used to draw (should be moved to settings)
+        self._drawColor = wx.GREEN
+        # transparency used to draw (should be moved to settings)
+        self._drawTransparency = 100
+        # current selected drawing method
+        self._graphicsType = 'area'
+        # last edited cell value
+        self._currentCellValue = None
+        # last edited buffer value
+        self._currentWidthValue = None
+
+        self._oldMouseUse = None
+        self._oldCursor = None
+
+        # signal to add new raster to toolbar items
+        self.newRasterCreated = Signal('RDigitController:newRasterCreated')
+        # signal to add just used cell value in toolbar combo
+        self.newFeatureCreated = Signal('RDigitController:newFeatureCreated')
+        # signal to upload unique categories of background map into toolbar combo
+        self.uploadMapCategories = Signal('RDigitController:uploadMapCategories')
+        self.quitDigitizer = Signal('RDigitController:quitDigitizer')
+        self.showNotification = Signal('RDigitController:showNotification')
+
+    def _connectAll(self):
+        self._mapWindow.mouseLeftDown.connect(self._start)
+        self._mapWindow.mouseLeftUp.connect(self._addPoint)
+        self._mapWindow.mouseRightUp.connect(self._finish)
+        self._mapWindow.Unbind(wx.EVT_CONTEXT_MENU)
+
+    def _disconnectAll(self):
+        self._mapWindow.mouseLeftDown.disconnect(self._start)
+        self._mapWindow.mouseLeftUp.disconnect(self._addPoint)
+        self._mapWindow.mouseRightUp.disconnect(self._finish)
+        self._mapWindow.Bind(wx.EVT_CONTEXT_MENU, self._mapWindow.OnContextMenu)
+
+    def _start(self, x, y):
+        """Start digitizing a new object.
+        :param x: x coordinate in map units
+        :param y: y coordinate in map units
+        """
+        if self._running:
+            return
+
+        if not self._editedRaster:
+            GMessage(parent=self._mapWindow, message=_("Please select first the raster map"))
+            return
+        if not self._drawing:
+            if self._graphicsType == 'area':
+                item = self._areas.AddItem(coords=[])
+                item.SetPropertyVal('penName', 'pen1')
+                self._all.append(item)
+            elif self._graphicsType == 'line':
+                item = self._lines.AddItem(coords=[])
+                item.SetPropertyVal('penName', 'pen1')
+                self._all.append(item)
+            elif self._graphicsType == 'point':
+                item = self._points.AddItem(coords=[])
+                item.SetPropertyVal('penName', 'pen1')
+                self._all.append(item)
+            self._drawing = True
+
+    def _addPoint(self, x, y):
+        """Add point to an object.
+        :param x: x coordinate in map units
+        :param y: y coordinate in map units
+        """
+        if self._running:
+            return
+
+        if not self._drawing:
+            return
+
+        if self._graphicsType == 'area':
+            area = self._areas.GetItem(-1)
+            coords = area.GetCoords() + [[x, y]]
+            area.SetCoords(coords)
+            self.showNotification.emit(text=_("Right click to finish area"))
+        elif self._graphicsType == 'line':
+            line = self._lines.GetItem(-1)
+            coords = line.GetCoords() + [[x, y]]
+            line.SetCoords(coords)
+            self.showNotification.emit(text=_("Right click to finish line"))
+        elif self._graphicsType == 'point':
+            point = self._points.GetItem(-1)
+            point.SetCoords([x, y])
+            self._finish()
+        # draw
+        self._mapWindow.ClearLines()
+        self._lines.Draw()
+        self._areas.Draw()
+        self._points.Draw()
+        self._mapWindow.Refresh()
+
+    def _finish(self):
+        """Finish digitizing a new object and redraws.
+        Saves current cell value and buffer width for that object.
+
+        :param x: x coordinate in map units
+        :param y: y coordinate in map units
+        """
+        if self._running:
+            return
+
+        if self._graphicsType == 'point':
+            item = self._points.GetItem(-1)
+        elif self._graphicsType == 'area':
+            item = self._areas.GetItem(-1)
+        elif self._graphicsType == 'line':
+            item = self._lines.GetItem(-1)
+        else:
+            return
+
+        self._drawing = False
+        item.SetPropertyVal('brushName', 'done')
+        item.AddProperty('cellValue')
+        item.AddProperty('widthValue')
+        item.SetPropertyVal('cellValue', self._currentCellValue)
+        item.SetPropertyVal('widthValue', self._currentWidthValue)
+        self.newFeatureCreated.emit()
+
+        self._mapWindow.ClearLines()
+        self._points.Draw()
+        self._areas.Draw()
+        self._lines.Draw()
+
+        self._mapWindow.Refresh()
+
+    def SelectType(self, drawingType):
+        """Selects method (area/line/point) for drawing.
+        Connects and disconnects signal to allow other tools
+        in map toolbar to work.
+        """
+        if self._graphicsType and drawingType and self._graphicsType != drawingType \
+                and self._drawing:
+            # if we select different drawing tool, finish the feature
+            self._finish()
+
+        if self._graphicsType and not drawingType:
+            self._mapWindow.ClearLines(pdc=self._mapWindow.pdcTmp)
+            self._mapWindow.mouse['end'] = self._mapWindow.mouse['begin']
+            # disconnect mouse events
+            self._disconnectAll()
+            self._mapWindow.SetNamedCursor(self._oldCursor)
+            self._mapWindow.mouse['use'] = self._oldMouseUse
+        elif self._graphicsType is None and drawingType:
+            self._connectAll()
+            # change mouse['box'] and pen to draw line during dragging
+            # TODO: better solution for drawing this line
+            self._mapWindow.mouse['use'] = None
+            self._mapWindow.mouse['box'] = "line"
+            self._mapWindow.pen = wx.Pen(colour='red', width=2, style=wx.SHORT_DASH)
+             # change the cursor
+            self._mapWindow.SetNamedCursor('pencil')
+
+        self._graphicsType = drawingType
+
+    def SetCellValue(self, value):
+        self._currentCellValue = value
+
+    def SetWidthValue(self, value):
+        self._currentWidthValue = value
+
+    def ChangeDrawColor(self, color):
+        self._drawColor = color[:3] + (self._drawTransparency,)
+        for each in (self._areas, self._lines, self._points):
+            each.GetPen('pen1').SetColour(self._drawColor)
+            each.GetBrush('done').SetColour(self._drawColor)
+        self._mapWindow.UpdateMap(render=False)
+
+    def Start(self):
+        """Registers graphics to map window,
+        connect required mouse signals.
+        """
+        self._oldMouseUse = self._mapWindow.mouse['use']
+        self._oldCursor = self._mapWindow.GetNamedCursor()
+
+        self._connectAll()
+
+        # change mouse['box'] and pen to draw line during dragging
+        # TODO: better solution for drawing this line
+        self._mapWindow.mouse['use'] = None
+        self._mapWindow.mouse['box'] = "line"
+        self._mapWindow.pen = wx.Pen(colour='red', width=2, style=wx.SHORT_DASH)
+
+        color = self._drawColor[:3] + (self._drawTransparency,)
+        self._areas = self._mapWindow.RegisterGraphicsToDraw(graphicsType='polygon',
+                                                             pdc=self._mapWindow.pdcTransparent,
+                                                             mapCoords=True)
+        self._areas.AddPen('pen1', wx.Pen(colour=color, width=2, style=wx.SOLID))
+        self._areas.AddBrush('done', wx.Brush(colour=color, style=wx.SOLID))
+
+        self._lines = self._mapWindow.RegisterGraphicsToDraw(graphicsType='line',
+                                                             pdc=self._mapWindow.pdcTransparent,
+                                                             mapCoords=True)
+        self._lines.AddPen('pen1', wx.Pen(colour=color, width=2, style=wx.SOLID))
+        self._lines.AddBrush('done', wx.Brush(colour=color, style=wx.SOLID))
+
+        self._points = self._mapWindow.RegisterGraphicsToDraw(graphicsType='point',
+                                                              pdc=self._mapWindow.pdcTransparent,
+                                                              mapCoords=True)
+        self._points.AddPen('pen1', wx.Pen(colour=color, width=2, style=wx.SOLID))
+        self._points.AddBrush('done', wx.Brush(colour=color, style=wx.SOLID))
+
+        # change the cursor
+        self._mapWindow.SetNamedCursor('pencil')
+
+    def Stop(self):
+        """Before stopping digitizer, asks to save edits"""
+        dlg = wx.MessageDialog(self._mapWindow, _("Do you want to save changes?"),
+                               _("Save raster map changes"), wx.YES_NO)
+        if dlg.ShowModal() == wx.ID_YES:
+            self._thread.Run(callable=self._exportRaster,
+                             ondone=lambda event: self._updateAndQuit())
+        else:
+            self.quitDigitizer.emit()
+
+    def Save(self):
+        """Saves current edits to a raster map"""
+        self._thread.Run(callable=self._exportRaster,
+                         ondone=lambda event: self._update())
+
+    def Undo(self):
+        """Undo a change, goes object back (finished or not finished)"""
+        if len(self._all):
+            removed = self._all.pop(-1)
+            # try to remove from each, it fails quietly when theitem is not there
+            self._areas.DeleteItem(removed)
+            self._lines.DeleteItem(removed)
+            self._points.DeleteItem(removed)
+            self._drawing = False
+            self._mapWindow.UpdateMap(render=False)
+
+    def CleanUp(self, restore=True):
+        """Cleans up drawing, temporary maps.
+        :param restore: if restore previous cursor, mouse['use']
+        """
+        try:
+            gcore.run_command('g.remove', type='raster', flags='f', name=self._backupRasterName, quiet=True)
+        except CalledModuleError:
+            pass
+
+        self._mapWindow.ClearLines(pdc=self._mapWindow.pdcTmp)
+        self._mapWindow.mouse['end'] = self._mapWindow.mouse['begin']
+        # disconnect mouse events
+        if self._graphicsType:
+            self._disconnectAll()
+        # unregister
+        self._mapWindow.UnregisterGraphicsToDraw(self._areas)
+        self._mapWindow.UnregisterGraphicsToDraw(self._lines)
+        self._mapWindow.UnregisterGraphicsToDraw(self._points)
+        #self._registeredGraphics = None
+        self._mapWindow.UpdateMap(render=False)
+
+        if restore:
+            # restore mouse['use'] and cursor to the state before measuring starts
+            self._mapWindow.SetNamedCursor(self._oldCursor)
+            self._mapWindow.mouse['use'] = self._oldMouseUse
+
+    def _updateAndQuit(self):
+        """Called when thread is done. Updates map and calls to quits digitizer."""
+        self._running = False
+        self._mapWindow.UpdateMap(render=True)
+        self.quitDigitizer.emit()
+
+    def _update(self):
+        """Called when thread is done. Updates map."""
+        self._running = False
+        self._mapWindow.UpdateMap(render=True)
+
+    def SelectOldMap(self, name):
+        """After selecting old raster, creates a backup copy for editing."""
+        try:
+            self._backupRaster(name)
+        except ScriptError:
+            GError(parent=self._mapWindow, message=_("Failed to create backup copy of edited raster map."))
+            return False
+        self._editedRaster = name
+        self._mapType = grast.raster_info(map=name)['datatype']
+        self._editOldRaster = True
+        return True
+
+    def SelectNewMap(self):
+        """After selecting new raster, shows dialog to choose name,
+        background map and type of the new map."""
+        dlg = NewRasterDialog(parent=self._mapWindow)
+        dlg.CenterOnParent()
+        if dlg.ShowModal() == wx.ID_OK:
+            try:
+                self._createNewMap(mapName=dlg.GetMapName(),
+                                   backgroundMap=dlg.GetBackgroundMapName(),
+                                   mapType=dlg.GetMapType())
+            except ScriptError:
+                GError(parent=self._mapWindow, message=_("Failed to create new raster map."))
+                return False
+            finally:
+                dlg.Destroy()
+            return True
+        else:
+            dlg.Destroy()
+            return False
+
+    def _createNewMap(self, mapName, backgroundMap, mapType):
+        """Creates a new raster map based on specified background and type."""
+        name = mapName.split('@')[0]
+        background = backgroundMap.split('@')[0]
+        types = {'CELL': 'int', 'FCELL': 'float', 'DCELL': 'double'}
+        if background:
+            back = background
+        else:
+            back = 'null()'
+        try:
+            grast.mapcalc(exp="{name} = {mtype}({back})".format(name=name, mtype=types[mapType],
+                                                                back=back),
+                          overwrite=True, quiet=True)
+            if background:
+                self._backgroundRaster = backgroundMap
+                gcore.run_command('r.colors', map=name, raster=self._backgroundRaster, quiet=True)
+                if mapType == 'CELL':
+                    values = gcore.read_command('r.describe', flags='1n',
+                                                map=name, quiet=True).strip()
+                    if values:
+                        self.uploadMapCategories.emit(values=values.split('\n'))
+        except CalledModuleError:
+            raise ScriptError
+        self._backupRaster(name)
+
+        name = name + '@' + gcore.gisenv()['MAPSET']
+        self._editedRaster = name
+        self._mapType = mapType
+        self.newRasterCreated.emit(name=name)
+
+    def _backupRaster(self, name):
+        """Creates a temporary backup raster necessary for undo behavior.
+
+        :param str name: name of raster map for which we create backup
+        """
+        name = name.split('@')[0]
+        backup = name + '_backupcopy_' + str(os.getpid())
+        try:
+            gcore.run_command('g.copy', raster=[name, backup], quiet=True)
+        except CalledModuleError:
+            raise ScriptError
+
+        self._backupRasterName = backup
+
+    def _exportRaster(self):
+        """Rasterizes digitized features.
+
+        Uses r.in.poly and r.grow for buffering features. Creates separate raster
+        maps depending on common cell values and buffering width necessary to
+        keep the order of editing. These rasters are then patched together.
+        Sets default color table for the newly digitized raster.
+        """
+        if not self._editedRaster or self._running:
+            return
+        self._running = True
+
+        if self._drawing:
+            self._finish()
+
+        if len(self._all) < 1:
+            new = self._editedRaster
+            if '@' in self._editedRaster:
+                new = self._editedRaster.split('@')[0]
+            gcore.run_command('g.copy', raster=[self._backupRasterName, new],
+                              overwrite=True, quiet=True)
+        else:
+            tempRaster = 'tmp_rdigit_rast_' + str(os.getpid())
+            text = []
+            rastersToPatch = []
+            i = 0
+            lastCellValue = lastWidthValue = None
+            evt = updateProgress(range=len(self._all), value=0, text=_("Rasterizing..."))
+            wx.PostEvent(self, evt)
+            lastCellValue = self._all[0].GetPropertyVal('cellValue')
+            lastWidthValue = self._all[0].GetPropertyVal('widthValue')
+            for item in self._all:
+                if item.GetPropertyVal('widthValue') and \
+                    (lastCellValue != item.GetPropertyVal('cellValue') or
+                    lastWidthValue != item.GetPropertyVal('widthValue')):
+                    if text:
+                        out = self._rasterize(text, lastWidthValue, self._mapType, tempRaster)
+                        rastersToPatch.append(out)
+                        text = []
+                    self._writeItem(item, text)
+                    out = self._rasterize(text, item.GetPropertyVal('widthValue'),
+                                          self._mapType, tempRaster)
+                    rastersToPatch.append(out)
+                    text = []
+                else:
+                    self._writeItem(item, text)
+    
+                lastCellValue = item.GetPropertyVal('cellValue')
+                lastWidthValue = item.GetPropertyVal('widthValue')
+    
+                i += 1
+                evt = updateProgress(range=len(self._all), value=i, text=_("Rasterizing..."))
+                wx.PostEvent(self, evt)
+            if text:
+                out = self._rasterize(text, item.GetPropertyVal('widthValue'),
+                                      self._mapType, tempRaster)
+                rastersToPatch.append(out)
+    
+            gcore.run_command('r.patch', input=rastersToPatch[::-1] + [self._backupRasterName],
+                              output=self._editedRaster, overwrite=True, quiet=True)
+            gcore.run_command('g.remove', type='raster', flags='f', name=rastersToPatch + [tempRaster],
+                          quiet=True)
+        try:
+            # setting the right color table
+            if self._editOldRaster:
+                return
+            if not self._backgroundRaster:
+                table = UserSettings.Get(group='rasterLayer', key='colorTable', subkey='selection')
+                if not table:
+                    table = 'rainbow'
+                gcore.run_command('r.colors', color=table, map=self._editedRaster, quiet=True)
+            else:
+                gcore.run_command('r.colors', map=self._editedRaster,
+                                  raster=self._backgroundRaster, quiet=True)
+        except CalledModuleError:
+            self._running = False
+            GError(parent=self._mapWindow,
+                   message=_("Failed to set default color table for edited raster map"))
+
+    def _writeFeature(self, item, vtype, text):
+        """Writes digitized features in r.in.poly format."""
+        coords = item.GetCoords()
+        if vtype == 'P':
+            coords = [coords]
+        cellValue = item.GetPropertyVal('cellValue')
+        record = '{vtype}\n'.format(vtype=vtype)
+        for coord in coords:
+            record += ' '.join([str(c) for c in coord])
+            record += '\n'
+        record += '= {cellValue}\n'.format(cellValue=cellValue)
+
+        text.append(record)
+
+    def _writeItem(self, item, text):
+        if item in self._areas.GetAllItems():
+            self._writeFeature(item, vtype='A', text=text)
+        elif item in self._lines.GetAllItems():
+            self._writeFeature(item, vtype='L', text=text)
+        elif item in self._points.GetAllItems():
+            self._writeFeature(item, vtype='P', text=text)
+
+    def _rasterize(self, text, bufferDist, mapType, tempRaster):
+        """Performs the actual rasterization using r.in.poly
+        and buffering with r.grow if required.
+
+        :param str text: string in r.in.poly format
+        :param float bufferDist: buffer distance in map units
+        :param str mapType: CELL, FCELL, DCELL
+        :param str tempRaster: name of temporary raster used in computation
+
+        :return: output raster map name as a result of digitization
+        """
+        output = 'x' + str(uuid.uuid4())[:8]
+        asciiFile = tempfile.NamedTemporaryFile(delete=False)
+        asciiFile.write('\n'.join(text))
+        asciiFile.close()
+
+        if bufferDist:
+            bufferDist /= 2.
+            gcore.run_command('r.in.poly', input=asciiFile.name, output=tempRaster,
+                              type_=mapType, overwrite=True, quiet=True)
+            gcore.run_command('r.grow', input=tempRaster, output=output,
+                              flags='m', radius=bufferDist, quiet=True)
+        else:
+            gcore.run_command('r.in.poly', input=asciiFile.name, output=output,
+                              type_=mapType, quiet=True)
+        os.unlink(asciiFile.name)
+        return output
diff --git a/gui/wxpython/rdigit/dialogs.py b/gui/wxpython/rdigit/dialogs.py
new file mode 100644
index 0000000..8ff7642
--- /dev/null
+++ b/gui/wxpython/rdigit/dialogs.py
@@ -0,0 +1,119 @@
+"""
+ at package rdigit.dialogs
+
+ at brief rdigit dialog for craeting new map.
+
+Classes:
+ - rdigit:NewRasterDialog
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Anna Petrasova <kratochanna gmail.com>
+"""
+
+import wx
+
+from core.utils import _
+from gui_core.gselect import Select
+from core.gcmd import GWarning
+
+import grass.script.core as gcore
+import grass.script.raster as grast
+from grass.exceptions import CalledModuleError
+
+
+class NewRasterDialog(wx.Dialog):
+    """Dialog for new raster map name and type selection
+    and selection of optional background map."""
+    def __init__(self, parent):
+        wx.Dialog.__init__(self, parent)
+        self.SetTitle(_("Create new raster map"))
+        self._name = None
+        self._type = None
+
+        # create widgets
+        self._mapSelect = Select(parent=self, type='raster')
+        self._backgroundSelect = Select(parent=self, type='raster')
+        self._typeChoice = wx.Choice(self, choices=['CELL', 'FCELL', 'DCELL'])
+        self._typeChoice.SetSelection(0)
+        self._mapSelect.SetFocus()
+
+        btnCancel = wx.Button(parent=self, id=wx.ID_CANCEL)
+        btnOK = wx.Button(parent=self, id=wx.ID_OK)
+        btnOK.SetDefault()
+        btnOK.Bind(wx.EVT_BUTTON, self.OnOK)
+
+        # do layout
+        mainSizer = wx.BoxSizer(wx.VERTICAL)
+        sizer = wx.GridBagSizer(hgap=10, vgap=10)
+        sizer.Add(wx.StaticText(self, label=_("Name for new raster map:")),
+                  pos=(0, 0), span=(1, 2), flag=wx.ALIGN_CENTER_VERTICAL)
+        sizer.Add(self._mapSelect, pos=(1, 0), span=(1, 2))
+        sizer.Add(wx.StaticText(self, label=_("Optionally select background raster map:")),
+                  pos=(2, 0), span=(1, 2), flag=wx.ALIGN_CENTER_VERTICAL)
+        sizer.Add(self._backgroundSelect, pos=(3, 0), span=(1, 2))
+        sizer.Add(wx.StaticText(self, label=_("New raster map type:")),
+                  pos=(4, 0), flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL)
+        sizer.Add(self._typeChoice, pos=(4, 1), flag=wx.EXPAND)
+
+        mainSizer.Add(sizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=10)
+
+        btnSizer = wx.StdDialogButtonSizer()
+        btnSizer.AddButton(btnCancel)
+        btnSizer.AddButton(btnOK)
+        btnSizer.Realize()
+
+        mainSizer.Add(btnSizer, flag=wx.EXPAND | wx.ALL, border=10)
+
+        self._backgroundSelect.Bind(wx.EVT_TEXT, self.OnBackgroundMap)
+
+        self.SetSizer(mainSizer)
+        mainSizer.Fit(self)
+
+    def OnBackgroundMap(self, event):
+        value = self._backgroundSelect.GetValue()
+        try:
+            ret = grast.raster_info(value)
+            self._typeChoice.SetStringSelection(ret['datatype'])
+        except CalledModuleError:
+            return
+
+    def OnOK(self, event):
+        mapName = self.GetMapName()
+        if not mapName:
+            GWarning(parent=self.GetParent(), message=_("Please specify name for a new raster map"))
+        else:
+            found = gcore.find_file(name=mapName, mapset=gcore.gisenv()['MAPSET'])
+            if found and found['mapset'] == gcore.gisenv()['MAPSET']:
+                dlgOverwrite = wx.MessageDialog(
+                    self.GetParent(), message=_("Raster map <%s> already exists "
+                                                "in the current mapset. "
+                                                "Do you want to overwrite it?") % mapName,
+                    caption=_("Overwrite?"), style=wx.YES_NO | wx.YES_DEFAULT | wx.ICON_QUESTION)
+                if not dlgOverwrite.ShowModal() == wx.ID_YES:
+                    dlgOverwrite.Destroy()
+                    return
+                else:
+                    dlgOverwrite.Destroy()
+                    self.EndModal(wx.ID_OK)
+            else:
+                self.EndModal(wx.ID_OK)
+
+    def GetMapName(self):
+        return self._mapSelect.GetValue()
+
+    def GetBackgroundMapName(self):
+        return self._backgroundSelect.GetValue()
+
+    def GetMapType(self):
+        return self._typeChoice.GetStringSelection()
+
+
+if __name__ == '__main__':
+    app = wx.App()
+    dlg = NewRasterDialog(None)
+    dlg.Show()
+    app.MainLoop()
diff --git a/gui/wxpython/rdigit/toolbars.py b/gui/wxpython/rdigit/toolbars.py
new file mode 100644
index 0000000..02078a5
--- /dev/null
+++ b/gui/wxpython/rdigit/toolbars.py
@@ -0,0 +1,175 @@
+"""
+ at package rdigit.toolbars
+
+ at brief rdigit toolbars and icons.
+
+Classes:
+ - toolbars::RDigitToolbar
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Anna Petrasova <kratochanna gmail.com>
+"""
+
+import wx
+
+from core.utils import _
+from gui_core.toolbars import BaseToolbar
+from icons.icon import MetaIcon
+from gui_core.widgets import FloatValidator
+import wx.lib.colourselect as csel
+
+
+rdigitIcons = {'area': MetaIcon(img='polygon-create',
+                                label=_('Digitize area')),
+               'line': MetaIcon(img='line-create',
+                                label=_('Digitize line')),
+               'point': MetaIcon(img='point-create',
+                                 label=_('Digitize point')),
+               'save': MetaIcon(img='save', label=_("Save raster map")),
+               'undo': MetaIcon(img='undo', label=_("Undo")),
+               'quit': MetaIcon(img='quit', label=_("Quit raster digitizer"))}
+
+
+class RDigitToolbar(BaseToolbar):
+    """RDigit toolbar
+    """
+    def __init__(self, parent, controller, toolSwitcher):
+        """RDigit toolbar constructor
+        """
+        BaseToolbar.__init__(self, parent, toolSwitcher)
+        self._controller = controller
+        self.InitToolbar(self._toolbarData())
+
+        self._mapSelectionComboId = wx.NewId()
+        self._mapSelectionCombo = wx.ComboBox(self, id=self._mapSelectionComboId,
+                                              value=_("Select raster map"),
+                                              choices=[], size=(120, -1))
+        self._mapSelectionCombo.Bind(wx.EVT_COMBOBOX, self.OnMapSelection)
+        self._mapSelectionCombo.SetEditable(False)
+        self.InsertControl(0, self._mapSelectionCombo)
+        self._previousMap = self._mapSelectionCombo.GetValue()
+
+        self._colorId = wx.NewId()
+        self._color = csel.ColourSelect(parent=self, colour=wx.GREEN,
+                                        size=(30, 30))
+        self._color.Bind(csel.EVT_COLOURSELECT, lambda evt: self._changeDrawColor())
+        self._color.SetToolTipString(_("Set drawing color (not raster cell color)"))
+        self.InsertControl(4, self._color)
+
+        self._cellValues = set(['1'])
+        self._valueComboId = wx.NewId()
+        # validator does not work with combobox, SetBackgroundColor is not working
+        self._valueCombo = wx.ComboBox(self, id=self._valueComboId,
+                                       choices=list(self._cellValues), size=(80, -1),
+                                       validator=FloatValidator())
+        self._valueCombo.Bind(wx.EVT_COMBOBOX, lambda evt: self._cellValueChanged())
+        self._valueCombo.Bind(wx.EVT_TEXT, lambda evt: self._cellValueChanged())
+        self._valueCombo.SetSelection(0)
+        self._cellValueChanged()
+        self.InsertControl(6, wx.StaticText(self, label=" %s" % _("Cell value:")))
+        self.InsertControl(7, self._valueCombo)
+
+        self._widthValueId = wx.NewId()
+        # validator does not work with combobox, SetBackgroundColor is not working
+        self._widthValue = wx.TextCtrl(self, id=self._widthValueId, value='0',
+                                       size=(80, -1), validator=FloatValidator())
+        self._widthValue.Bind(wx.EVT_TEXT, lambda evt: self._widthValueChanged())
+        self._widthValueChanged()
+        self._widthValue.SetToolTipString(
+            _("Width of currently digitized line or diameter of a digitized point in map units."))
+        self.InsertControl(8, wx.StaticText(self, label=" %s" % _("Width:")))
+        self.InsertControl(9, self._widthValue)
+
+        for tool in (self.area, self.line, self.point):
+            self.toolSwitcher.AddToolToGroup(group='mouseUse', toolbar=self, tool=tool)
+        self.toolSwitcher.toggleToolChanged.connect(self.CheckSelectedTool)
+        self._default = self.area
+        # realize the toolbar
+        self.Realize()
+
+    def _toolbarData(self):
+        """Toolbar data"""
+        return self._getToolbarData((('area', rdigitIcons['area'],
+                                      lambda event: self._controller.SelectType('area'),
+                                      wx.ITEM_CHECK),
+                                     ('line', rdigitIcons['line'],
+                                      lambda event: self._controller.SelectType('line'),
+                                      wx.ITEM_CHECK),
+                                     ('point', rdigitIcons['point'],
+                                      lambda event: self._controller.SelectType('point'),
+                                      wx.ITEM_CHECK),
+                                     (None, ),
+                                     (None, ),
+                                     ('undo', rdigitIcons['undo'],
+                                      lambda event: self._controller.Undo()),
+                                     ('save', rdigitIcons['save'],
+                                      lambda event: self._controller.Save()),
+                                     ('quit', rdigitIcons['quit'],
+                                      lambda event: self._controller.Stop())))
+
+    def CheckSelectedTool(self, id):
+        if self.toolSwitcher.IsToolInGroup(tool=id, group='mouseUse') \
+                and id not in (self.area, self.line, self.point):
+            self._controller.SelectType(None)
+
+    def UpdateRasterLayers(self, rasters):
+        new = _("New raster map")
+        items = [raster.name for raster in rasters if raster.name is not None]
+        items.insert(0, new)
+        self._mapSelectionCombo.SetItems(items)
+
+    def OnMapSelection(self, event):
+        """!Either map to edit or create new map selected."""
+        idx = self._mapSelectionCombo.GetSelection()
+        if idx == 0:
+            ret = self._controller.SelectNewMap()
+        else:
+            ret = self._controller.SelectOldMap(self._mapSelectionCombo.GetString(idx))
+        if not ret:
+            # in wxpython 3 we can't set value which is not in the items
+            # when not editable
+            self._mapSelectionCombo.SetEditable(True)
+            self._mapSelectionCombo.SetValue(self._previousMap)
+            self._mapSelectionCombo.SetEditable(False)
+        # we need to get back to previous
+        self._previousMap = self._mapSelectionCombo.GetValue()
+
+    def NewRasterAdded(self, name):
+        idx = self._mapSelectionCombo.Append(name)
+        self._mapSelectionCombo.SetSelection(idx)
+
+    def UpdateCellValues(self, values=None):
+        orig = self._valueCombo.GetValue()
+        if not values:
+            values = [orig]
+        for value in values:
+            self._cellValues.add(str(value))
+
+        valList = sorted(list(self._cellValues), key=float)
+        self._valueCombo.SetItems(valList)
+        self._valueCombo.SetStringSelection(orig)
+
+    def _cellValueChanged(self):
+        value = self._valueCombo.GetValue()
+        try:
+            value = float(value)
+            self._controller.SetCellValue(value)
+        except ValueError:
+            return
+
+    def _widthValueChanged(self):
+        value = self._widthValue.GetValue()
+        try:
+            value = float(value)
+            self._controller.SetWidthValue(value)
+        except ValueError:
+            self._controller.SetWidthValue(0)
+            return
+
+    def _changeDrawColor(self):
+        color = self._color.GetColour()
+        self._controller.ChangeDrawColor(color=color)
diff --git a/gui/wxpython/rlisetup/g.gui.rlisetup.html b/gui/wxpython/rlisetup/g.gui.rlisetup.html
index ddca155..258110e 100644
--- a/gui/wxpython/rlisetup/g.gui.rlisetup.html
+++ b/gui/wxpython/rlisetup/g.gui.rlisetup.html
@@ -144,7 +144,7 @@ The startup window shows your configuration files, you can:
 	  <li><em>Select areas from the overlaid vector map</em>: 
 	 the sample areas are defined by the vector map selected above.
 	 For every cat in vector map, the procedure prompts the 
-	 user if he wants to include it as sample area.
+	 user if they want to include it as sample area.
 	 The resulting configuration file can be used only with the 
 	 specified raster map, and the procedure can be used only if
 	 whole map layer is selected as sampling frame.</li>
@@ -351,4 +351,4 @@ Luca Delucchi<br>
 Rewritten from <em>r.li.setup</em> by Claudio Porta and Lucio Davide Spano
 
 <p>
-<i>$Date: 2016-01-04 22:17:04 +0100 (Mon, 04 Jan 2016) $</i>
+<i>$Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/gui/wxpython/rlisetup/g.gui.rlisetup.py b/gui/wxpython/rlisetup/g.gui.rlisetup.py
index 3a13a59..d21faf6 100644
--- a/gui/wxpython/rlisetup/g.gui.rlisetup.py
+++ b/gui/wxpython/rlisetup/g.gui.rlisetup.py
@@ -33,6 +33,10 @@ def main():
     gscript.parser()
 
     import wx
+
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.giface import StandaloneGrassInterface
     from core.globalvar import CheckWxVersion
     from rlisetup.frame import RLiSetupFrame
diff --git a/gui/wxpython/rlisetup/sampling_frame.py b/gui/wxpython/rlisetup/sampling_frame.py
index 808c27a..18eded4 100644
--- a/gui/wxpython/rlisetup/sampling_frame.py
+++ b/gui/wxpython/rlisetup/sampling_frame.py
@@ -182,7 +182,7 @@ class RLiSetupMapPanel(wx.Panel):
         item.SetCoords(coords)
         item.SetPropertyVal('hide', False)
         self.mapWindow.ClearLines()
-        self._registeredGraphics.Draw(self.mapWindow.pdcTmp)
+        self._registeredGraphics.Draw()
 
     def _mouseDbClick(self, x, y):
         item = self._registeredGraphics.GetItem(0)
@@ -191,7 +191,7 @@ class RLiSetupMapPanel(wx.Panel):
         item.SetCoords(coords)
         item.SetPropertyVal('hide', False)
         self.mapWindow.ClearLines()
-        self._registeredGraphics.Draw(self.mapWindow.pdc)
+        self._registeredGraphics.Draw()
         self.createRegion()
 
     def createRegion(self):
@@ -294,7 +294,7 @@ class RLiSetupMapPanel(wx.Panel):
         self.mapWindow.pdcTmp.SetPen(pen)
         self.mapWindow.pdcTmp.DrawCircle(circle.point[0], circle.point[1],
                                          circle.radius)
-        self._registeredGraphics.Draw(self.mapWindow.pdcTmp)
+        self._registeredGraphics.Draw()
         self.createCricle(circle)
 
     def createCricle(self, c):
@@ -352,7 +352,7 @@ class RLiSetupMapPanel(wx.Panel):
                   'e': max(p1[0], p2[0])}
         item.SetPropertyVal('hide', False)
         self.mapWindow.ClearLines()
-        self._registeredGraphics.Draw(self.mapWindow.pdcTmp)
+        self._registeredGraphics.Draw()
         if self.samplingtype in [SamplingType.MUNITSR, SamplingType.MMVWINR]:
             dlg = wx.MessageDialog(self, "Is this area ok?",
                                    "select sampling unit",
diff --git a/gui/wxpython/timeline/frame.py b/gui/wxpython/timeline/frame.py
index 21dff5e..056c622 100644
--- a/gui/wxpython/timeline/frame.py
+++ b/gui/wxpython/timeline/frame.py
@@ -8,7 +8,7 @@ Classes:
  - frame::TimelineFrame
  - frame::LookUp
 
-(C) 2012-2014 by the GRASS Development Team
+(C) 2012-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -34,8 +34,9 @@ try:
         NavigationToolbar2WxAgg as NavigationToolbar
     import matplotlib.dates as mdates
     from matplotlib import cbook
-except ImportError:
-    raise ImportError(_('The Timeline Tool needs the "matplotlib" (python-matplotlib) package to be installed.'))
+except ImportError as e:
+    raise ImportError(_('The Timeline Tool needs the "matplotlib" '
+                        '(python-matplotlib) package to be installed. {}').format(e))
 
 import grass.script as grass
 from core.utils import _
@@ -345,6 +346,8 @@ class TimelineFrame(wx.Frame):
         datasets = datasets.split(',')
         try:
             datasets = self._checkDatasets(datasets)
+            if not datasets:
+                return
         except GException, e:
             GError(parent=self, message=unicode(e), showTraceback=False)
             return
@@ -396,6 +399,8 @@ class TimelineFrame(wx.Frame):
         # flatten this list
         if allDatasets:
             allDatasets = reduce(lambda x, y: x + y, reduce(lambda x, y: x + y, allDatasets))
+            mapsets = tgis.get_tgis_c_library_interface().available_mapsets()
+            allDatasets = [i for i in sorted(allDatasets, key=lambda l: mapsets.index(l[1]))]
 
         for dataset in datasets:
             errorMsg = _("Space time dataset <%s> not found.") % dataset
@@ -421,6 +426,8 @@ class TimelineFrame(wx.Frame):
                 if dlg.ShowModal() == wx.ID_OK:
                     index = dlg.GetSelection()
                     validated.append(allDatasets[indices[index]])
+                else:
+                    continue
             else:
                 validated.append(allDatasets[indices[0]])
 
@@ -437,6 +444,8 @@ class TimelineFrame(wx.Frame):
             return
         try:
             datasets = self._checkDatasets(datasets)
+            if not datasets:
+                return
         except GException, e:
             GError(parent=self, message=unicode(e), showTraceback=False)
             return
diff --git a/gui/wxpython/timeline/g.gui.timeline.html b/gui/wxpython/timeline/g.gui.timeline.html
index e35eaf8..028ff3d 100644
--- a/gui/wxpython/timeline/g.gui.timeline.html
+++ b/gui/wxpython/timeline/g.gui.timeline.html
@@ -37,4 +37,4 @@ Anna Kratochvilova,
 <a href="http://www.cvut.cz">Czech Technical University in Prague</a>, Czech Republic
 
 <p>
-<i>$Date: 2014-05-02 14:47:32 +0200 (Fri, 02 May 2014) $</i>
+<i>$Date: 2014-05-02 05:46:55 -0700 (Fri, 02 May 2014) $</i>
diff --git a/gui/wxpython/timeline/g.gui.timeline.py b/gui/wxpython/timeline/g.gui.timeline.py
index 293d6df..efb7e74 100755
--- a/gui/wxpython/timeline/g.gui.timeline.py
+++ b/gui/wxpython/timeline/g.gui.timeline.py
@@ -40,6 +40,10 @@ def main():
     options, flags = gscript.parser()
 
     import wx
+
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     try:
         from timeline.frame import TimelineFrame
     except ImportError as e:
diff --git a/gui/wxpython/tplot/frame.py b/gui/wxpython/tplot/frame.py
index e017d6c..a5f1441 100644
--- a/gui/wxpython/tplot/frame.py
+++ b/gui/wxpython/tplot/frame.py
@@ -10,7 +10,7 @@ Classes:
  - frame::TplotFrame
  - frame::LookUp
 
-(C) 2012-2014 by the GRASS Development Team
+(C) 2012-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -38,9 +38,9 @@ try:
         NavigationToolbar2WxAgg as NavigationToolbar
     import matplotlib.dates as mdates
     from matplotlib import cbook
-except ImportError:
+except ImportError as e:
     raise ImportError(_('The Temporal Plot Tool needs the "matplotlib" '
-                        '(python-matplotlib) package to be installed.'))
+                        '(python-matplotlib) package to be installed. {}').format(e))
 
 from core.utils import _
 
@@ -51,6 +51,7 @@ from gui_core import gselect
 from core import globalvar
 from grass.pygrass.vector.geometry import Point
 from grass.pygrass.raster import RasterRow
+from grass.pygrass.gis.region import Region
 from collections import OrderedDict
 from subprocess import PIPE
 try:
@@ -107,6 +108,7 @@ class TplotFrame(wx.Frame):
         self.dbif = tgis.SQLDatabaseInterfaceConnection()
         self.dbif.connect()
         self.Bind(wx.EVT_CLOSE, self.onClose)
+        self.region = Region()
 
     def init(self):
         self.timeDataR = OrderedDict()
@@ -126,9 +128,10 @@ class TplotFrame(wx.Frame):
             self.dbif.close()
         tgis.stop_subprocesses()
 
-    def onClose(self,evt):
-        self.coorval.OnClose()
-        self.cats.OnClose()
+    def onClose(self, evt):
+        # this two lines return errors during exit
+        # self.coorval.OnClose()
+        # self.cats.OnClose()
         self.Destroy()
 
     def _layout(self):
@@ -213,12 +216,17 @@ class TplotFrame(wx.Frame):
         self.datasetSelectLabelV = wx.StaticText(parent=self.controlPanelVector,
                                                  id=wx.ID_ANY,
                                                  label=_('Vector temporal '
-                                                         'dataset (strds)'))
+                                                         'dataset (strds)\n'
+                                                         'Please press enter if'
+                                                         ' you digit the name'
+                                                         ' instead select with'
+                                                         ' combobox'))
         self.datasetSelectV = gselect.Select(parent=self.controlPanelVector,
                                              id=wx.ID_ANY,
                                              size=globalvar.DIALOG_GSELECT_SIZE,
                                              type='stvds', multiple=True)
-        self.datasetSelectV.Bind(wx.EVT_TEXT, self.OnVectorSelected)
+        self.datasetSelectV.Bind(wx.EVT_COMBOBOX_CLOSEUP,
+                                 self.OnVectorSelected)
 
         self.attribute = gselect.ColumnSelect(parent=self.controlPanelVector)
         self.attributeLabel = wx.StaticText(parent=self.controlPanelVector,
@@ -280,6 +288,10 @@ class TplotFrame(wx.Frame):
         """Load data and read properties
         :param list timeseries: a list of timeseries
         """
+        if not self.poi:
+            GError(parent=self, message=_("Invalid input coordinates"),
+                   showTraceback=False)
+            return
         mode = None
         unit = None
         columns = ','.join(['name', 'start_time', 'end_time'])
@@ -682,6 +694,12 @@ class TplotFrame(wx.Frame):
                     GError(parent=self, message=_("Invalid input coordinates"),
                            showTraceback=False)
                     return
+                bbox = self.region.get_bbox()
+                if not bbox.contains(self.poi):
+                    GError(parent=self, message=_("Seed point outside the "
+                                                  "current region"),
+                           showTraceback=False)
+                    return
         # check raster dataset
         if datasetsR:
             datasetsR = datasetsR.split(',')
@@ -837,11 +855,20 @@ class TplotFrame(wx.Frame):
     def OnVectorSelected(self, event):
         """Update the controlbox related to stvds"""
         dataset = self.datasetSelectV.GetValue().strip()
-        vect_list = grass.read_command('t.vect.list', flags='s', input=dataset,
-                                       col='name')
-        vect_list = list(set(sorted(vect_list.split())))
-        for vec in vect_list:
-            self.attribute.InsertColumns(vec, 1)
+        if dataset:
+            try:
+                vect_list = grass.read_command('t.vect.list', flags='s',
+                                               input=dataset, column='name')
+            except Exception:
+                self.attribute.Clear()
+                GError(parent=self, message=_("Invalid input temporal dataset"),
+                       showTraceback=False)
+                return
+            vect_list = list(set(sorted(vect_list.split())))
+            for vec in vect_list:
+                self.attribute.InsertColumns(vec, 1)
+        else:
+            return
 
 
 class LookUp:
diff --git a/gui/wxpython/tplot/g.gui.tplot.html b/gui/wxpython/tplot/g.gui.tplot.html
index 7288432..85c86f3 100644
--- a/gui/wxpython/tplot/g.gui.tplot.html
+++ b/gui/wxpython/tplot/g.gui.tplot.html
@@ -38,4 +38,4 @@ Luca Delucchi,
 <a href="http://www.gis.cri.fmach.it">Fondazione Edmund Mach</a>, Italy
 
 <p>
-<i>$Date: 2014-06-26 15:50:20 +0200 (Thu, 26 Jun 2014) $</i>
+<i>$Date: 2014-06-26 06:50:20 -0700 (Thu, 26 Jun 2014) $</i>
diff --git a/gui/wxpython/tplot/g.gui.tplot.py b/gui/wxpython/tplot/g.gui.tplot.py
index 75c1d1f..4400db3 100755
--- a/gui/wxpython/tplot/g.gui.tplot.py
+++ b/gui/wxpython/tplot/g.gui.tplot.py
@@ -78,6 +78,10 @@ def main():
     options, flags = gscript.parser()
 
     import wx
+
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+
     from core.utils import _
     from core.giface import StandaloneGrassInterface
     try:
@@ -117,12 +121,7 @@ def main():
             sizes = options['size'].strip().split(',')
             sizes = [int(s) for s in sizes]
             frame.canvas.SetSize(sizes)
-        if output.split('.')[-1].lower() == 'png':
-            frame.canvas.print_png(output)
-        if output.split('.')[-1].lower() in ['jpg', 'jpeg']:
-            frame.canvas.print_jpg(output)
-        if output.split('.')[-1].lower() in ['tif', 'tiff']:
-            frame.canvas.print_tif(output)
+        frame.canvas.figure.savefig(output)
     else:
         frame.Show()
         app.MainLoop()
diff --git a/gui/wxpython/vdigit/g.gui.vdigit.html b/gui/wxpython/vdigit/g.gui.vdigit.html
index ed53b6b..bbd99fe 100644
--- a/gui/wxpython/vdigit/g.gui.vdigit.html
+++ b/gui/wxpython/vdigit/g.gui.vdigit.html
@@ -306,4 +306,4 @@ Martin Landa, FBK-irst (2007-2008), Trento, Italy, and Czech Technical
 University in Prague, Czech Republic
 
 <p>
-<i>$Date: 2015-08-03 14:54:05 +0200 (Mon, 03 Aug 2015) $</i>
+<i>$Date: 2015-08-03 05:53:38 -0700 (Mon, 03 Aug 2015) $</i>
diff --git a/gui/wxpython/vdigit/g.gui.vdigit.py b/gui/wxpython/vdigit/g.gui.vdigit.py
index 6e03242..58f2bd0 100644
--- a/gui/wxpython/vdigit/g.gui.vdigit.py
+++ b/gui/wxpython/vdigit/g.gui.vdigit.py
@@ -21,7 +21,6 @@
 #%module
 #% description: Interactive editing and digitization of vector maps.
 #% keyword: general
-#% keyword: user interface
 #% keyword: GUI
 #% keyword: vector
 #% keyword: editing
@@ -47,8 +46,13 @@ def main():
     # import wx only after running parser
     # to avoid issues with complex imports when only interface is needed
     import wx
+
+    from grass.script.setup import set_gui_path
+    set_gui_path()
+    
     from core.globalvar import CheckWxVersion
     from core.utils import _
+    from core.render import Map
     from mapdisp.frame import MapFrame
     from mapdisp.main import DMonGrassInterface
     from core.settings import UserSettings
@@ -60,7 +64,7 @@ def main():
     class VDigitMapFrame(MapFrame):
         def __init__(self, vectorMap):
             MapFrame.__init__(
-                self, parent=None, giface=DMonGrassInterface(None),
+                self, parent=None, Map=Map(), giface=DMonGrassInterface(None),
                 title=_("GRASS GIS Vector Digitizer"), size=(850, 600))
             # this giface issue not solved yet, we must set mapframe aferwards
             self._giface._mapframe = self
@@ -85,9 +89,9 @@ def main():
             grass.fatal(_("Vector map <%s> not found in current mapset. "
                           "New vector map can be created by providing '-c' flag.") % options['map'])
         else:
-            grass.message(_("New vector map <%s> created") % options['map'])
+            grass.verbose(_("New vector map <%s> created") % options['map'])
             try:
-                grass.run_command('v.edit', map=options['map'], tool='create')
+                grass.run_command('v.edit', map=options['map'], tool='create', quiet=True)
             except CalledModuleError:
                 grass.fatal(_("Unable to create new vector map <%s>") % options['map'])
 
diff --git a/gui/wxpython/vdigit/toolbars.py b/gui/wxpython/vdigit/toolbars.py
index 7dd19fe..5a617b4 100644
--- a/gui/wxpython/vdigit/toolbars.py
+++ b/gui/wxpython/vdigit/toolbars.py
@@ -6,7 +6,7 @@
 List of classes:
  - toolbars::VDigitToolbar
 
-(C) 2007-2014 by the GRASS Development Team
+(C) 2007-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -77,7 +77,7 @@ class VDigitToolbar(BaseToolbar):
         
         # list of available vector maps
         self.UpdateListOfLayers(updateTool = True)
-        
+
         for tool in ('addPoint', 'addLine', 'addBoundary', 'addCentroid', 'addArea',
                      'addVertex', 'deleteLine', 'deleteArea', 'displayAttr', 'displayCats',
                      'editLine', 'moveLine', 'moveVertex', 'removeVertex', 'additionalTools'):
@@ -799,7 +799,7 @@ class VDigitToolbar(BaseToolbar):
                 if self._giface.GetLayerTree():
                     mapName = dlg.GetName() + '@' + grass.gisenv()['MAPSET']
                     self._giface.GetLayerList().AddLayer(ltype='vector',
-                                                         name=mapName,
+                                                         name=mapName, checked=True,
                                                          cmd=['d.vect', 'map=%s' % mapName])
                     
                     vectLayers = self.UpdateListOfLayers(updateTool = True)
@@ -1005,8 +1005,8 @@ class VDigitToolbar(BaseToolbar):
                 self.parent.dialogs[dialog].Close()
                 self.parent.dialogs[dialog] = None
         
-        del self.digit
-        del self.MapWindow.digit
+        self.digit = None
+        self.MapWindow.digit = None
 
         self.editingStopped.emit(layerItem = item)
         
diff --git a/gui/wxpython/vdigit/wxdigit.py b/gui/wxpython/vdigit/wxdigit.py
index 12f2dfc..0507485 100644
--- a/gui/wxpython/vdigit/wxdigit.py
+++ b/gui/wxpython/vdigit/wxdigit.py
@@ -18,7 +18,7 @@ List of classes:
     (and NumPy would be an excellent candidate for acceleration via
     e.g. OpenCL or CUDA; I'm surprised it hasn't happened already).
 
-(C) 2007-2014 by the GRASS Development Team
+(C) 2007-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
diff --git a/gui/wxpython/vdigit/wxdisplay.py b/gui/wxpython/vdigit/wxdisplay.py
index 12d0584..859eb4b 100644
--- a/gui/wxpython/vdigit/wxdisplay.py
+++ b/gui/wxpython/vdigit/wxdisplay.py
@@ -9,7 +9,7 @@ Code based on wxVdigit C++ component from GRASS 6.4.0
 List of classes:
  - wxdisplay::DisplayDriver
 
-(C) 2007-2011 by the GRASS Development Team
+(C) 2007-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -246,7 +246,7 @@ class DisplayDriver:
         if not self.dc or not self.dcTmp:
             return -1
         
-        Debug.msg(3, "_drawObject(): line=%d type=%d npoints=%d", robj.fid, robj.type, robj.npoints)
+        Debug.msg(4, "_drawObject(): line=%d type=%d npoints=%d", robj.fid, robj.type, robj.npoints)
         brush = None
         if robj.type == TYPE_AREA and \
                 self._isSelected(Vect_get_area_centroid(self.poMapInfo, robj.fid)):
diff --git a/gui/wxpython/vnet/vnet_core.py b/gui/wxpython/vnet/vnet_core.py
index 83104aa..78ca98b 100644
--- a/gui/wxpython/vnet/vnet_core.py
+++ b/gui/wxpython/vnet/vnet_core.py
@@ -22,6 +22,7 @@ This program is free software under the GNU General Public License
 import os
 from grass.script.utils import try_remove
 from grass.script     import core as grass
+from grass.script.task import cmdlist_to_tuple
 
 import wx
 
@@ -361,7 +362,7 @@ class VNETManager:
                                                 cmd=cmd,
                                                 checked=True)
             if cmd_colors:
-                layerStyleVnetColors = utils.CmdToTuple(cmd_colors)
+                layerStyleVnetColors = cmdlist_to_tuple(cmd_colors)
 
                 RunCommand(layerStyleVnetColors[0],
                         **layerStyleVnetColors[1])
diff --git a/gui/wxpython/vnet/vnet_data.py b/gui/wxpython/vnet/vnet_data.py
index 0c23ef8..4f628c2 100644
--- a/gui/wxpython/vnet/vnet_data.py
+++ b/gui/wxpython/vnet/vnet_data.py
@@ -28,6 +28,7 @@ from copy import deepcopy
 
 from grass.script.utils import try_remove
 from grass.script     import core as grass
+from grass.script.task import cmdlist_to_tuple
 
 import wx
 
@@ -307,7 +308,6 @@ class VNETPointsData:
             idx = self.cols["name"].index(col)
             self.data[pt_id][idx] = v
 
-
         # if type is changed checked columns must be recalculated by _usePoint
         if data.has_key('type') and not data.has_key('use'):
             data["use"] = self.GetPointData(pt_id)['use']
@@ -438,7 +438,6 @@ class VNETPointsData:
 
             alreadyChecked = []
 
-
             type_idx = self.cols["name"].index("type")
             use_idx = self.cols["name"].index("use")
 
@@ -1009,7 +1008,7 @@ class VectMap:
 
         if colorsCmd:
             colorsCmd.append('map=%s' % self.fullName)
-            layerStyleVnetColors = utils.CmdToTuple(colorsCmd)
+            layerStyleVnetColors = cmdlist_to_tuple(colorsCmd)
 
             RunCommand(layerStyleVnetColors[0],
                         **layerStyleVnetColors[1])
diff --git a/gui/wxpython/web_services/dialogs.py b/gui/wxpython/web_services/dialogs.py
index 8600368..2f67def 100644
--- a/gui/wxpython/web_services/dialogs.py
+++ b/gui/wxpython/web_services/dialogs.py
@@ -27,11 +27,12 @@ import shutil
 from copy      import deepcopy
 
 import grass.script as grass
+from grass.script.task import cmdlist_to_tuple, cmdtuple_to_list
 
 from core             import globalvar
 from core.debug       import Debug
 from core.gcmd        import GMessage, GWarning, GError, RunCommand
-from core.utils       import GetSettingsPath, CmdToTuple, CmdTupleToList, _
+from core.utils       import GetSettingsPath, _
 from core.gconsole    import CmdThread, GStderr, EVT_CMD_DONE, EVT_CMD_OUTPUT
 
 from gui_core.gselect import Select
@@ -122,6 +123,7 @@ class WSDialogBase(wx.Dialog):
         self.layerName = wx.TextCtrl(parent = self.reqDataPanel, id = wx.ID_ANY)
 
         for ws in self.ws_panels.iterkeys():
+            # set class WSPanel argument layerNameTxtCtrl
             self.ws_panels[ws]['panel'] =  WSPanel(parent = self.reqDataPanel,
                                                    web_service = ws)
             self.ws_panels[ws]['panel'].capParsed.connect(self.OnPanelCapParsed)
@@ -220,7 +222,12 @@ class WSDialogBase(wx.Dialog):
         dialogSizer.Add(item = self.btnsizer, proportion = 0,
                         flag = wx.ALIGN_CENTER)
 
-        dialogSizer.Add(item = self.statusbar, proportion = 0)
+        # expand wxWidget wx.StatusBar
+        statusbarSizer = wx.BoxSizer(wx.HORIZONTAL)
+        statusbarSizer.Add(item=self.statusbar, proportion=1, flag=wx.EXPAND)
+        dialogSizer.Add(item=statusbarSizer,
+                        proportion=0,
+                        flag=wx.EXPAND)
 
         self.SetSizer(dialogSizer)
         self.Layout()
@@ -302,6 +309,12 @@ class WSDialogBase(wx.Dialog):
         else:
             self.adv_conn.Collapse(True)
 
+        # clear content of the wxWidget wx.TextCtrl (Output layer
+        # name:), based on changing default server selection in the
+        # wxWidget wx.Choice
+        if len(self.layerName.GetValue()) > 0:
+            self.layerName.Clear()
+
     def OnClose(self, event):
         """Close the dialog
         """
@@ -326,6 +339,11 @@ class WSDialogBase(wx.Dialog):
         else:
             self.btn_connect.Enable(False)
         
+        # clear content of the wxWidget wx.TextCtrl (Output Layer
+        # name:), based on changing content of the wxWidget
+        # wx.TextCtrl (Server:)
+        self.layerName.Clear()
+
     def OnOutputLayerName(self, event):
         """Update layer name to web service panel
         """
@@ -549,7 +567,7 @@ class AddWSDialog(WSDialogBase):
         ws_cap_files = self._getCapFiles()
         # create properties dialog
         cmd_list = ltree.GetLayerInfo(layer,'cmd')
-        cmd = CmdToTuple(cmd_list)
+        cmd = cmdlist_to_tuple(cmd_list)
 
         prop_win = WSPropertiesDialog(parent = self.parent,
                                       giface = self.giface,
@@ -705,7 +723,7 @@ class WSPropertiesDialog(WSDialogBase):
                                               propwin = self)
 
         #TODO use just list or tuple
-        cmd = CmdToTuple(lcmd)
+        cmd = cmdlist_to_tuple(lcmd)
         self.revert_cmd = cmd
         self._setRevertCapFiles(self._getCapFiles())
 
@@ -992,7 +1010,7 @@ class SaveWMSLayerDialog(wx.Dialog):
             region = self._giface.GetMapWindow().GetMap().SetRegion()
             env['GRASS_REGION'] = region
 
-        cmdList = CmdTupleToList(cmd)
+        cmdList = cmdtuple_to_list(cmd)
         self.currentPid = self.thread.GetId()
 
         self.thread.RunCmd(cmdList, env=env, stderr=self.cmdStdErr)
diff --git a/gui/wxpython/web_services/widgets.py b/gui/wxpython/web_services/widgets.py
index c9affc5..791d8f7 100644
--- a/gui/wxpython/web_services/widgets.py
+++ b/gui/wxpython/web_services/widgets.py
@@ -1085,7 +1085,7 @@ class WSManageSettingsWidget(ManageSettingsWidget):
     def _layout(self):
 
         self.btnAddDefaultServers = wx.Button(parent=self, id=wx.ID_ANY,
-                                             label=_("Add default servers"))
+                                             label=_("Add default"))
         self.btnAddDefaultServers.Bind(wx.EVT_BUTTON, self.OnAddDefaultServers)
 
         ManageSettingsWidget._layout(self)
diff --git a/gui/wxpython/wxgui.py b/gui/wxpython/wxgui.py
index a7d92e6..a59e3a9 100644
--- a/gui/wxpython/wxgui.py
+++ b/gui/wxpython/wxgui.py
@@ -5,9 +5,8 @@
 
 Classes:
  - wxgui::GMApp
- - wxgui::Usage
 
-(C) 2006-2011 by the GRASS Development Team
+(C) 2006-2015 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -21,9 +20,10 @@ This program is free software under the GNU General Public License
 import os
 import sys
 import getopt
+import atexit
 
 from core import globalvar
-from core.utils import _
+from core.utils import _, registerPid, unregisterPid
 
 from grass.exceptions import Usage
 from grass.script.core import set_raise_on_error
@@ -34,8 +34,6 @@ try:
 except ImportError:
     SC = None
 
-from lmgr.frame import GMFrame
-
 
 class GMApp(wx.App):
     def __init__(self, workspace=None):
@@ -79,6 +77,7 @@ class GMApp(wx.App):
         wx.Yield()
 
         # create and show main frame
+        from lmgr.frame import GMFrame
         mainframe = GMFrame(parent=None, id=wx.ID_ANY,
                             workspace=self.workspaceFile)
 
@@ -112,7 +111,9 @@ def process_opt(opts, args):
 
     return workspaceFile
 
-
+def cleanup():
+    unregisterPid(os.getpid())
+        
 def main(argv = None):
 
     if argv is None:
@@ -135,7 +136,11 @@ def main(argv = None):
     q = wx.LogNull()
     set_raise_on_error(True)
 
+    # register GUI PID
+    registerPid(os.getpid())
+    
     app.MainLoop()
 
 if __name__ == "__main__":
+    atexit.register(cleanup)
     sys.exit(main())
diff --git a/gui/wxpython/wxplot/dialogs.py b/gui/wxpython/wxplot/dialogs.py
index b489540..c5bdf45 100755
--- a/gui/wxpython/wxplot/dialogs.py
+++ b/gui/wxpython/wxplot/dialogs.py
@@ -11,7 +11,7 @@ Classes:
  - dialogs::TextDialog
  - dialogs::OptDialog
 
-(C) 2011-2012 by the GRASS Development Team
+(C) 2011-2016 by the GRASS Development Team
 
 This program is free software under the GNU General Public License
 (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -19,12 +19,15 @@ This program is free software under the GNU General Public License
 @author Michael Barton, Arizona State University
 """
 
+import os
+
 import wx
 import wx.lib.colourselect  as csel
 import wx.lib.scrolledpanel as scrolled
 
 from core             import globalvar
 from core.settings    import UserSettings
+from core.globalvar   import ICONDIR
 from core.utils import _
 from gui_core.gselect import Select
 
@@ -239,8 +242,10 @@ class PlotStatsFrame(wx.Frame):
         """
         wx.Frame.__init__(self, parent, id, style = style, **kwargs)
         self.SetLabel(_("Statistics"))
+        self.SetIcon(wx.Icon(os.path.join(ICONDIR, 'grass.ico'), wx.BITMAP_TYPE_ICO))
+        self.panel = wx.Panel(self)
         
-        sp = scrolled.ScrolledPanel(self, -1, size=(400, 400),
+        sp = scrolled.ScrolledPanel(self.panel, -1, size=(400, 400),
                                     style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER, name="Statistics" )
                 
 
@@ -258,10 +263,10 @@ class PlotStatsFrame(wx.Frame):
         sizer = wx.BoxSizer(wx.VERTICAL)
         txtSizer = wx.BoxSizer(wx.VERTICAL)
 
-        statstitle = wx.StaticText(parent = self, id = wx.ID_ANY, label = self.title)
+        statstitle = wx.StaticText(parent = self.panel, id = wx.ID_ANY, label = self.title)
         sizer.Add(item = statstitle, proportion = 0,
                   flag = wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, border = 3)
-        line = wx.StaticLine(parent = self, id = wx.ID_ANY, size = (20, -1), style = wx.LI_HORIZONTAL)
+        line = wx.StaticLine(parent = self.panel, id = wx.ID_ANY, size = (20, -1), style = wx.LI_HORIZONTAL)
         sizer.Add(item = line, proportion = 0,
                   flag = wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL, border = 3)
         for stats in self.message:
@@ -280,7 +285,7 @@ class PlotStatsFrame(wx.Frame):
         sizer.Add(item = sp, proportion = 1, 
                   flag = wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM, border = 3)
 
-        line = wx.StaticLine(parent = self, id = wx.ID_ANY, size = (20, -1), style = wx.LI_HORIZONTAL)
+        line = wx.StaticLine(parent = self.panel, id = wx.ID_ANY, size = (20, -1), style = wx.LI_HORIZONTAL)
         sizer.Add(item = line, proportion = 0,
                   flag = wx.GROW |wx.ALIGN_CENTER_VERTICAL|wx.LEFT|wx.RIGHT, border = 3)
 
@@ -289,11 +294,11 @@ class PlotStatsFrame(wx.Frame):
         #
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        btn_clipboard = wx.Button(self, id = wx.ID_COPY, label = _('C&opy'))
+        btn_clipboard = wx.Button(self.panel, id = wx.ID_COPY, label = _('C&opy'))
         btn_clipboard.SetToolTipString(_("Copy regression statistics the clipboard (Ctrl+C)"))
         btnSizer.Add(item = btn_clipboard, proportion = 0, flag = wx.ALIGN_LEFT | wx.ALL, border = 5)
         
-        btnCancel = wx.Button(self, wx.ID_CLOSE)
+        btnCancel = wx.Button(self.panel, wx.ID_CLOSE)
         btnCancel.SetDefault()
         btnSizer.Add(item = btnCancel, proportion = 0, flag = wx.ALIGN_RIGHT | wx.ALL, border = 5)        
 
@@ -303,7 +308,7 @@ class PlotStatsFrame(wx.Frame):
         btnCancel.Bind(wx.EVT_BUTTON, self.OnClose)
         btn_clipboard.Bind(wx.EVT_BUTTON, self.OnCopy)
         
-        self.SetSizer(sizer)
+        self.panel.SetSizer(sizer)
         sizer.Fit(self)
 
     def OnCopy(self, event):
diff --git a/gui/wxpython/xml/menudata.README b/gui/wxpython/xml/menudata.README
index a83c61d..87c462e 100644
--- a/gui/wxpython/xml/menudata.README
+++ b/gui/wxpython/xml/menudata.README
@@ -2,7 +2,7 @@ MENU
 - the entries in menudata.xml and module_tree_menudata.xml are autogenerated 
   via tools/build_modules_xml.py (see ../Makefile)
 - Find more info at
-  https://grass.osgeo.org/grass70/manuals/wxGUI.toolboxes.html
+  https://grass.osgeo.org/grass71/manuals/wxGUI.toolboxes.html
   (../docs/wxgui_sphinx/src/)
 - additionally
   https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/Toolboxes
diff --git a/gui/wxpython/xml/menudata_modeler.xml b/gui/wxpython/xml/menudata_modeler.xml
index be225df..bf2bd61 100644
--- a/gui/wxpython/xml/menudata_modeler.xml
+++ b/gui/wxpython/xml/menudata_modeler.xml
@@ -89,6 +89,12 @@
 	  <shortcut>Ctrl+L</shortcut>
 	</menuitem>
 	<menuitem>
+	  <label>Add condition</label>
+	  <help>Adds condition (if/else) to model</help>
+	  <handler>OnDefineCondition</handler>
+	  <shortcut>Ctrl+I</shortcut>
+	</menuitem>
+	<menuitem>
 	  <label>Add comment</label>
 	  <help>Adds comment to model</help>
 	  <handler>OnAddComment</handler>
diff --git a/gui/wxpython/xml/menudata_pyedit.xml b/gui/wxpython/xml/menudata_pyedit.xml
new file mode 100644
index 0000000..b4d6f7b
--- /dev/null
+++ b/gui/wxpython/xml/menudata_pyedit.xml
@@ -0,0 +1,98 @@
+<menudata>
+  <menubar>
+    <menu>
+      <label>&File</label>
+      <items>
+        <menuitem>
+          <label>Open</label>
+          <help>Load model from file</help>
+          <handler>OnOpen</handler>
+          <shortcut>Ctrl+O</shortcut>
+        </menuitem>
+        <menuitem>
+          <label>Save</label>
+          <help>Save model</help>
+          <handler>OnSave</handler>
+          <shortcut>Ctrl+S</shortcut>
+        </menuitem>
+        <menuitem>
+          <label>Quit editor</label>
+          <help>Close editor window</help>
+          <handler>OnClose</handler>
+          <shortcut>Ctrl+W</shortcut>
+        </menuitem>
+      </items>
+    </menu>
+    <menu>
+      <label>&Run</label>
+      <items>
+        <menuitem>
+          <label>Run</label>
+          <help>Run Python script</help>
+          <handler>OnRun</handler>
+          <shortcut>Ctrl+R</shortcut>
+        </menuitem>
+      </items>
+    </menu>
+    <menu>
+      <label>&Templates</label>
+      <items>
+        <menuitem>
+          <label>Load script &template</label>
+          <help>Load simple script template</help>
+          <handler>OnSimpleScriptTemplate</handler>
+        </menuitem>
+        <menuitem>
+          <label>Load GRASS &module template</label>
+          <help>Load full GRASS module template</help>
+          <handler>OnGrassModuleTemplate</handler>
+        </menuitem>
+      </items>
+    </menu>
+    <menu>
+      <label>&Examples</label>
+      <items>
+        <menuitem>
+          <label>Load script &example</label>
+          <help>Load simple script example</help>
+          <handler>OnSimpleScriptExample</handler>
+        </menuitem>
+        <menuitem>
+          <label>Load GRASS &module example</label>
+          <help>Load full GRASS module example</help>
+          <handler>OnGrassModuleExample</handler>
+        </menuitem>
+      </items>
+    </menu>
+    <menu>
+      <label>&Help</label>
+      <items>
+        <menuitem>
+          <label>GRASS Python Help</label>
+          <help></help>
+          <handler>OnHelp</handler>
+        </menuitem>
+        <menuitem>
+          <label>Python help</label>
+          <help>Display the HTML man pages of Graphical modeler</help>
+          <handler>OnPythonHelp</handler>
+        </menuitem>
+        <menuitem>
+          <label>GRASS Modules help</label>
+          <help>Display the HTML man pages of Graphical modeler</help>
+          <handler>OnModulesHelp</handler>
+        </menuitem>
+        <menuitem>
+          <label>Getting your code to GRASS Addons</label>
+          <help>Display the HTML man pages of Graphical modeler</help>
+          <handler>OnAddonsHelp</handler>
+        </menuitem>
+        <menuitem>
+          <label>Get support</label>
+          <help>Display the HTML man pages of Graphical modeler</help>
+          <handler>OnSupport</handler>
+        </menuitem>
+      </items>
+    </menu>
+  </menubar>
+</menudata>
diff --git a/gui/wxpython/xml/toolboxes.xml b/gui/wxpython/xml/toolboxes.xml
index d67284e..436557a 100644
--- a/gui/wxpython/xml/toolboxes.xml
+++ b/gui/wxpython/xml/toolboxes.xml
@@ -847,34 +847,9 @@
         <label>Watershed basin creation</label>
       </module-item>
       <separator/>
-      <!--
-      <module-item name="r.stream.channel">
-        <label>Stream channel characteristics</label>
-      </module-item>
-      <module-item name="r.stream.distance">
-        <label>Stream distance and elevation characteristics</label>
-      </module-item>
-      -->
       <module-item name="r.stream.extract">
         <label>Extraction of stream networks</label>
       </module-item>
-      <!--
-      <module-item name="r.stream.order">
-        <label>Stream ordering and hierarchy</label>
-      </module-item>
-      <module-item name="r.stream.segment">
-        <label>Stream segment characteristics</label>
-      </module-item>
-      <module-item name="r.stream.slope">
-        <label>Stream elevation change</label>
-      </module-item>
-      <module-item name="r.stream.snap">
-        <label>Position correction of water outlet point</label>
-      </module-item>
-      <module-item name="r.stream.stats">
-        <label>Horton's statistics</label>
-      </module-item>
-      -->
       <separator/>
       <module-item name="r.sim.water">
         <label>SIMWE Overland flow modeling</label>
@@ -1963,11 +1938,13 @@
       <module-item name="g.gui.dbmgr">
         <label>Attribute table manager</label>
       </module-item>
+      <wxgui-item name="CartographicComposer"/>
       <wxgui-item name="Georectify"/>
       <wxgui-item name="GraphicalModeler"/>
       <wxgui-item name="InteractiveInputForSupervisedClassification"/>
       <wxgui-item name="MapSwipe"/>
-      <wxgui-item name="CartographicComposer"/>
+      <wxgui-item name="TplotTool"/>
+      <wxgui-item name="TimelineTool"/>
     </items>
   </toolbox>
 </toolboxes>
diff --git a/imagery/i.albedo/bb_alb_aster2bands.c b/imagery/i.albedo/bb_alb_aster2bands.c
new file mode 100644
index 0000000..077e4c2
--- /dev/null
+++ b/imagery/i.albedo/bb_alb_aster2bands.c
@@ -0,0 +1,14 @@
+/* Broadband albedo Aster
+ * Salleh and Chan, 2014. 
+ * Land Surface Albedo Determination: 
+ * Remote Sensing and Statistical Validation. 
+ * in proceedings of FIG 2014.
+ * https://www.fig.net/resources/proceedings/fig_proceedings/fig2014/papers/ts05g/TS05G_salleh_chan_6910.pdf
+ * Input: Ref1, Ref3
+ */
+double bb_alb_aster2bands(double greenchan, double nirchan)
+{
+    double result =
+	(0.697 * greenchan + 0.298 * nirchan - 0.008);
+    return result;
+}
diff --git a/imagery/i.albedo/bb_alb_landsat8.c b/imagery/i.albedo/bb_alb_landsat8.c
new file mode 100644
index 0000000..f05fe31
--- /dev/null
+++ b/imagery/i.albedo/bb_alb_landsat8.c
@@ -0,0 +1,26 @@
+/* Broadband albedo Landsat OLI 8
+ * Simple weighted average from band 2 - 7
+ * Temporary until a publication creates an algorithm
+-* chan5 is OLI Band 6 (1.57-1.65) 
+ * chan7 is OLI band 7 (2.11-2.29)
+ * 
+ * Temporary better fix than weighted average
+ * ------------------------------------------
+ * r.regression.multi
+ * mapx=LC81270512014115LGN00.toar.1,LC81270512014115LGN00.toar.2,
+ * LC81270512014115LGN00.toar.3,LC81270512014115LGN00.toar.4,
+ * LC81270512014115LGN00.toar.5,LC81270512014115LGN00.toar.6,
+ * LC81270512014115LGN00.toar.7
+ * mapy=MCD43_2014113 
+ * 
+ */
+double bb_alb_landsat8(double shortbluechan, double bluechan, double greenchan, double redchan,
+              double nirchan, double chan5, double chan7)
+{
+    double result;
+
+    result = 0.058674+shortbluechan*2.153642+bluechan*(-2.242688)+
+    greenchan*(-0.520669)+redchan*0.622670+nirchan*0.129979+
+    chan5*(-0.047970)+chan7*0.152228;
+    return result;
+}
diff --git a/imagery/i.albedo/functions.h b/imagery/i.albedo/functions.h
index 2b4f492..49bd9f6 100644
--- a/imagery/i.albedo/functions.h
+++ b/imagery/i.albedo/functions.h
@@ -2,6 +2,7 @@
 /* 2004 */
 
 /* BB_albedo functions */
+double bb_alb_aster2bands(double greenchan, double nirchan);
 double bb_alb_aster(double greenchan, double redchan, double nirchan,
 		    double swirchan1, double swirchan2, double swirchan3,
 		    double swirchan4, double swirchan5, double swirchan6);
diff --git a/imagery/i.albedo/i.albedo.html b/imagery/i.albedo/i.albedo.html
index a6f410c..d13960a 100644
--- a/imagery/i.albedo/i.albedo.html
+++ b/imagery/i.albedo/i.albedo.html
@@ -8,6 +8,8 @@ a precursor to <em>r.sun</em> and any energy-balance processing.
 
 <h2>NOTES</h2>
 
+It uses for Landsat 8 the weighted average reflectance (temporary until algorithm is found).
+<p>
 It assumes MODIS product surface reflectance in [0;10000].
 
 <h2>TODO</h2>
@@ -21,8 +23,15 @@ Maybe change input requirement of MODIS to [0.0-1.0]?
 <a href="i.vi.html">i.vi</a>
 </em>
 
+<h2>References</h2>
+For a 2 band determination of the Aster BB Albedo see the following:
+
+Salleh and Chan, 2014. Land Surface Albedo Determination: Remote Sensing and Statistical Validation. in proceedings of FIG 2014.
+
+https://www.fig.net/resources/proceedings/fig_proceedings/fig2014/papers/ts05g/TS05G_salleh_chan_6910.pdf
+
 <h2>AUTHOR</h2>
 
-Yann Chemin, International Rice Research Institute, The Philippines
+Yann Chemin
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2015-12-30 09:02:16 -0800 (Wed, 30 Dec 2015) $</i>
diff --git a/imagery/i.albedo/main.c b/imagery/i.albedo/main.c
index b80859b..61be05a 100644
--- a/imagery/i.albedo/main.c
+++ b/imagery/i.albedo/main.c
@@ -9,7 +9,7 @@
  * COPYRIGHT:    (C) 2004-2014 by the GRASS Development Team
  *
  *               This program is free software under the GNU Lesser General Public
- *   	    	 License. Read the file COPYING that comes with GRASS for details.
+ *                License. Read the file COPYING that comes with GRASS for details.
  *
  *****************************************************************************/
 
@@ -24,30 +24,36 @@
 #define MAXFILES 8
 
 double bb_alb_aster(double greenchan, double nirchan, double swirchan2,
-		    double swirchan3, double swirchan5, double swirchan6);
+    double swirchan3, double swirchan5, double swirchan6);
+
 double bb_alb_landsat(double bluechan, double greenchan, double redchan,
-		      double nirchan, double chan5, double chan7);
+    double nirchan, double chan5, double chan7);
+
+double bb_alb_landsat8(double shortbluechan, double bluechan, 
+    double greenchan, double redchan,
+    double nirchan, double chan5, double chan7);
+
 double bb_alb_noaa(double redchan, double nirchan);
 
 double bb_alb_modis(double redchan, double nirchan, double chan3,
-		    double chan4, double chan5, double chan6, double chan7);
+    double chan4, double chan5, double chan6, double chan7);
 
 int main(int argc, char *argv[])
 {
-    struct Cell_head cellhd;	/*region+header info */
+    struct Cell_head cellhd;    /*region+header info */
     int nrows, ncols;
     int row, col;
     struct GModule *module;
     struct Option *input, *output;
     struct Flag *flag1, *flag2, *flag3;
     struct Flag *flag4, *flag5, *flag6;
-    struct History history;	/*metadata */
-    struct Colors colors;	/*Color rules */
+    struct Flag *flag7;
+    struct History history;    /*metadata */
+    struct Colors colors;    /*Color rules */
 
     /************************************/
-    /* FMEO Declarations**************** */
-    char *name;			/*input raster name */
-    char *result;		/*output raster name */
+    char *name;            /*input raster name */
+    char *result;        /*output raster name */
     /*File Descriptors */
     int nfiles;
     int infd[MAXFILES];
@@ -55,11 +61,12 @@ int main(int argc, char *argv[])
     char **names;
     char **ptr;
     int i = 0;
-    int modis = 0, aster = 0, avhrr = 0, landsat = 0;
+    int modis = 0, aster = 0, avhrr = 0;
+    int landsat = 0, landsat8 = 0;
     void *inrast[MAXFILES];
     unsigned char *outrast;
 
-    RASTER_MAP_TYPE in_data_type[MAXFILES];	/* 0=numbers  1=text */
+    RASTER_MAP_TYPE in_data_type[MAXFILES];    /* 0=numbers  1=text */
     RASTER_MAP_TYPE out_data_type = DCELL_TYPE;
     CELL val1, val2;
     
@@ -112,28 +119,32 @@ int main(int argc, char *argv[])
     flag3->description = _("Landsat 5+7 (6 input bands:1,2,3,4,5,7)");
 
     flag4 = G_define_flag();
-    flag4->key = 'a';
-    flag4->description = _("ASTER (6 input bands:1,3,5,6,8,9)");
+    flag4->key = '8';
+    flag4->description = _("Landsat 8 (7 input bands:1,2,3,4,5,6,7)");
 
     flag5 = G_define_flag();
-    flag5->key = 'c';
-    flag5->label = _("Aggressive mode (Landsat)");
-    flag5->description =
-	_("Albedo dry run to calculate some water to beach/sand/desert stretching, "
-	  "a kind of simple atmospheric correction");
+    flag5->key = 'a';
+    flag5->description = _("ASTER (6 input bands:1,3,5,6,8,9)");
 
     flag6 = G_define_flag();
-    flag6->key = 'd';
-    flag6->label = _("Soft mode (MODIS)");
+    flag6->key = 'c';
+    flag6->label = _("Aggressive mode (Landsat)");
     flag6->description =
-	_("Albedo dry run to calculate some water to beach/sand/desert stretching, "
-	  "a kind of simple atmospheric correction");
+    _("Albedo dry run to calculate some water to beach/sand/desert stretching, "
+      "a kind of simple atmospheric correction");
+
+    flag7 = G_define_flag();
+    flag7->key = 'd';
+    flag7->label = _("Soft mode (MODIS)");
+    flag7->description =
+    _("Albedo dry run to calculate some water to beach/sand/desert stretching, "
+      "a kind of simple atmospheric correction");
 
     /* FMEO init nfiles */
     nfiles = 1;
 
     if (G_parser(argc, argv))
-	exit(EXIT_FAILURE);
+    exit(EXIT_FAILURE);
 
     names = input->answers;
     ptr = input->answers;
@@ -143,25 +154,26 @@ int main(int argc, char *argv[])
     modis = (flag1->answer);
     avhrr = (flag2->answer);
     landsat = (flag3->answer);
-    aster = (flag4->answer);
+    landsat8 = (flag4->answer);
+    aster = (flag5->answer);
 
     for (; *ptr != NULL; ptr++) {
-	if (nfiles >= MAXFILES)
-	    G_fatal_error(_("Too many input maps. Only %d allowed."), MAXFILES);
-	name = *ptr;
-	
-	/* Allocate input buffer */
-	in_data_type[nfiles] = Rast_map_type(name, "");
-	infd[nfiles] = Rast_open_old(name, "");
-
-	Rast_get_cellhd(name, "", &cellhd);
-
-	inrast[nfiles] = Rast_allocate_buf(in_data_type[nfiles]);
-	nfiles++;
+    if (nfiles >= MAXFILES)
+        G_fatal_error(_("Too many input maps. Only %d allowed."), MAXFILES);
+    name = *ptr;
+
+    /* Allocate input buffer */
+    in_data_type[nfiles] = Rast_map_type(name, "");
+    infd[nfiles] = Rast_open_old(name, "");
+
+    Rast_get_cellhd(name, "", &cellhd);
+
+    inrast[nfiles] = Rast_allocate_buf(in_data_type[nfiles]);
+    nfiles++;
     }
     nfiles--;
     if (nfiles <= 1)
-	G_fatal_error(_("At least two raster maps are required"));
+    G_fatal_error(_("At least two raster maps are required"));
 
     /* Allocate output buffer, use input map data_type */
     nrows = Rast_window_rows();
@@ -175,212 +187,217 @@ int main(int argc, char *argv[])
     /*This is correcting contrast for water/sand */
     /*A poor man's atmospheric correction... */
     for (i = 0; i < 100; i++)
-	histogram[i] = 0;
-
-    if (flag5->answer || flag6->answer) {
-	DCELL de;
-	DCELL d[MAXFILES];
-
-	/* Process pixels histogram */
-	for (row = 0; row < nrows; row++) {
-	    G_percent(row, nrows, 2);
-	    /* read input map */
-	    for (i = 1; i <= nfiles; i++)
-		Rast_get_row(infd[i], inrast[i], row, in_data_type[i]);
-
-	    /*process the data */
-	    for (col = 0; col < ncols; col++) {
-		for (i = 1; i <= nfiles; i++) {
-		    switch (in_data_type[i]) {
-		    case CELL_TYPE:
-			d[i] = (double)((CELL *) inrast[i])[col];
-			break;
-		    case FCELL_TYPE:
-			d[i] = (double)((FCELL *) inrast[i])[col];
-			break;
-		    case DCELL_TYPE:
-			d[i] = (double)((DCELL *) inrast[i])[col];
-			break;
-		    }
-		}
-		if (modis) {
-		    de = bb_alb_modis(d[1], d[2], d[3], d[4], d[5], d[6],
-				      d[7]);
-		}
-		else if (avhrr) {
-		    de = bb_alb_noaa(d[1], d[2]);
-		}
-		else if (landsat) {
-		    de = bb_alb_landsat(d[1], d[2], d[3], d[4], d[5], d[6]);
-		}
-		else if (aster) {
-		    de = bb_alb_aster(d[1], d[2], d[3], d[4], d[5], d[6]);
-		}
-		if (Rast_is_d_null_value(&de)) {
-		    /*Do nothing */
-		}
-		else {
-		    int temp;
-
-		    temp = (int)(de * 100);
-		    if (temp > 0) {
-			histogram[temp] = histogram[temp] + 1.0;
-		    }
-		}
-	    }
-	}
-
-	G_message("Calculating histogram of albedo");
-
-	peak1 = 0;
-	peak2 = 0;
-	peak3 = 0;
-	i_peak1 = 0;
-	i_peak2 = 0;
-	i_peak3 = 0;
-	for (i = 0; i < 100; i++) {
-	    /*Search for peaks of datasets (1) */
-	    if (i <= 10) {
-		if (histogram[i] > peak1) {
-		    peak1 = histogram[i];
-		    i_peak1 = i;
-		}
-	    }
-	    /*Search for peaks of datasets (2) */
-	    if (i >= 10 && i <= 30) {
-		if (histogram[i] > peak2) {
-		    peak2 = histogram[i];
-		    i_peak2 = i;
-		}
-	    }
-	    /*Search for peaks of datasets (3) */
-	    if (i >= 30) {
-		if (histogram[i] > peak3) {
-		    peak3 = histogram[i];
-		    i_peak3 = i;
-		}
-	    }
-	}
-
-	bottom1a = 100000;
-	bottom1b = 100000;
-	bottom2a = 100000;
-	bottom2b = 100000;
-	bottom3a = 100000;
-	bottom3b = 100000;
-	i_bottom1a = 100;
-	i_bottom1b = 100;
-	i_bottom2a = 100;
-	i_bottom2b = 100;
-	i_bottom3a = 100;
-	i_bottom3b = 100;
-	/* Water histogram lower bound */
-	for (i = 0; i < i_peak1; i++) {
-	    if (histogram[i] <= bottom1a) {
-		bottom1a = histogram[i];
-		i_bottom1a = i;
-	    }
-	}
-	/* Water histogram higher bound */
-	for (i = i_peak2; i > i_peak1; i--) {
-	    if (histogram[i] <= bottom1b) {
-		bottom1b = histogram[i];
-		i_bottom1b = i;
-	    }
-	}
-	/* Land histogram lower bound */
-	for (i = i_peak1; i < i_peak2; i++) {
-	    if (histogram[i] <= bottom2a) {
-		bottom2a = histogram[i];
-		i_bottom2a = i;
-	    }
-	}
-	/* Land histogram higher bound */
-	for (i = i_peak3; i > i_peak2; i--) {
-	    if (histogram[i] < bottom2b) {
-		bottom2b = histogram[i];
-		i_bottom2b = i;
-	    }
-	}
-	/* Cloud/Snow histogram lower bound */
-	for (i = i_peak2; i < i_peak3; i++) {
-	    if (histogram[i] < bottom3a) {
-		bottom3a = histogram[i];
-		i_bottom3a = i;
-	    }
-	}
-	/* Cloud/Snow histogram higher bound */
-	for (i = 100; i > i_peak3; i--) {
-	    if (histogram[i] < bottom3b) {
-		bottom3b = histogram[i];
-		i_bottom3b = i;
-	    }
-	}
-	if (flag5->answer) {
-	    G_message("peak1 %d %d", peak1, i_peak1);
-	    G_message("bottom2b= %d %d", bottom2b, i_bottom2b);
-	    a = (0.36 - 0.05) / (i_bottom2b / 100.0 - i_peak1 / 100.0);
-	    b = 0.05 - a * (i_peak1 / 100.0);
-	    G_message("a= %f\tb= %f", a, b);
-	}
-	if (flag6->answer) {
-	    G_message("bottom1a %d %d", bottom1a, i_bottom1a);
-	    G_message("bottom2b= %d %d", bottom2b, i_bottom2b);
-	    a = (0.36 - 0.05) / (i_bottom2b / 100.0 - i_bottom1a / 100.0);
-	    b = 0.05 - a * (i_bottom1a / 100.0);
-	    G_message("a= %f\tb= %f", a, b);
-	}
-    }				/*END OF FLAG1 */
+    histogram[i] = 0;
+
+    if (flag6->answer || flag7->answer) {
+    DCELL de;
+    DCELL d[MAXFILES];
+
+    /* Process pixels histogram */
+    for (row = 0; row < nrows; row++) {
+        G_percent(row, nrows, 2);
+        /* read input map */
+        for (i = 1; i <= nfiles; i++)
+        Rast_get_row(infd[i], inrast[i], row, in_data_type[i]);
+
+        /*process the data */
+        for (col = 0; col < ncols; col++) {
+        for (i = 1; i <= nfiles; i++) {
+            switch (in_data_type[i]) {
+            case CELL_TYPE:
+            d[i] = (double)((CELL *) inrast[i])[col];
+            break;
+            case FCELL_TYPE:
+            d[i] = (double)((FCELL *) inrast[i])[col];
+            break;
+            case DCELL_TYPE:
+            d[i] = (double)((DCELL *) inrast[i])[col];
+            break;
+            }
+        }
+        if (modis) {
+            de = bb_alb_modis(d[1],d[2],d[3],d[4],d[5],d[6],d[7]);
+        }
+        else if (avhrr) {
+            de = bb_alb_noaa(d[1],d[2]);
+        }
+        else if (landsat) {
+            de = bb_alb_landsat(d[1],d[2],d[3],d[4],d[5],d[6]);
+        }
+        else if (landsat8) {
+            de = bb_alb_landsat8(d[1],d[2],d[3],d[4],d[5],d[6],d[7]);
+        }
+        else if (aster) {
+            de = bb_alb_aster(d[1],d[2],d[3],d[4],d[5],d[6]);
+        }
+        if (Rast_is_d_null_value(&de)) {
+            /*Do nothing */
+        }
+        else {
+            int temp;
+
+            temp = (int)(de * 100);
+            if (temp > 0) {
+            histogram[temp] = histogram[temp] + 1.0;
+            }
+        }
+        }
+    }
+
+    G_message("Calculating histogram of albedo");
+
+    peak1 = 0;
+    peak2 = 0;
+    peak3 = 0;
+    i_peak1 = 0;
+    i_peak2 = 0;
+    i_peak3 = 0;
+    for (i = 0; i < 100; i++) {
+        /*Search for peaks of datasets (1) */
+        if (i <= 10) {
+        if (histogram[i] > peak1) {
+            peak1 = histogram[i];
+            i_peak1 = i;
+        }
+        }
+        /*Search for peaks of datasets (2) */
+        if (i >= 10 && i <= 30) {
+        if (histogram[i] > peak2) {
+            peak2 = histogram[i];
+            i_peak2 = i;
+        }
+        }
+        /*Search for peaks of datasets (3) */
+        if (i >= 30) {
+        if (histogram[i] > peak3) {
+            peak3 = histogram[i];
+            i_peak3 = i;
+        }
+        }
+    }
+
+    bottom1a = 100000;
+    bottom1b = 100000;
+    bottom2a = 100000;
+    bottom2b = 100000;
+    bottom3a = 100000;
+    bottom3b = 100000;
+    i_bottom1a = 100;
+    i_bottom1b = 100;
+    i_bottom2a = 100;
+    i_bottom2b = 100;
+    i_bottom3a = 100;
+    i_bottom3b = 100;
+    /* Water histogram lower bound */
+    for (i = 0; i < i_peak1; i++) {
+        if (histogram[i] <= bottom1a) {
+        bottom1a = histogram[i];
+        i_bottom1a = i;
+        }
+    }
+    /* Water histogram higher bound */
+    for (i = i_peak2; i > i_peak1; i--) {
+        if (histogram[i] <= bottom1b) {
+        bottom1b = histogram[i];
+        i_bottom1b = i;
+        }
+    }
+    /* Land histogram lower bound */
+    for (i = i_peak1; i < i_peak2; i++) {
+        if (histogram[i] <= bottom2a) {
+        bottom2a = histogram[i];
+        i_bottom2a = i;
+        }
+    }
+    /* Land histogram higher bound */
+    for (i = i_peak3; i > i_peak2; i--) {
+        if (histogram[i] < bottom2b) {
+        bottom2b = histogram[i];
+        i_bottom2b = i;
+        }
+    }
+    /* Cloud/Snow histogram lower bound */
+    for (i = i_peak2; i < i_peak3; i++) {
+        if (histogram[i] < bottom3a) {
+        bottom3a = histogram[i];
+        i_bottom3a = i;
+        }
+    }
+    /* Cloud/Snow histogram higher bound */
+    for (i = 100; i > i_peak3; i--) {
+        if (histogram[i] < bottom3b) {
+        bottom3b = histogram[i];
+        i_bottom3b = i;
+        }
+    }
+    if (flag5->answer) {
+        G_message("peak1 %d %d", peak1, i_peak1);
+        G_message("bottom2b= %d %d", bottom2b, i_bottom2b);
+        a = (0.36 - 0.05) / (i_bottom2b / 100.0 - i_peak1 / 100.0);
+        b = 0.05 - a * (i_peak1 / 100.0);
+        G_message("a= %f\tb= %f", a, b);
+    }
+    if (flag6->answer) {
+        G_message("bottom1a %d %d", bottom1a, i_bottom1a);
+        G_message("bottom2b= %d %d", bottom2b, i_bottom2b);
+        a = (0.36 - 0.05) / (i_bottom2b / 100.0 - i_bottom1a / 100.0);
+        b = 0.05 - a * (i_bottom1a / 100.0);
+        G_message("a= %f\tb= %f", a, b);
+    }
+    }                /*END OF FLAG1 */
     /* End of processing histogram */
 
     /* Process pixels */
     for (row = 0; row < nrows; row++) {
-	DCELL de;
-	DCELL d[MAXFILES];
-
-	G_percent(row, nrows, 2);
-	/* read input map */
-	for (i = 1; i <= nfiles; i++)
-	    Rast_get_row(infd[i], inrast[i], row, in_data_type[i]);
-
-	/*process the data */
-	for (col = 0; col < ncols; col++) {
-	    for (i = 1; i <= nfiles; i++) {
-		switch (in_data_type[i]) {
-		case CELL_TYPE:
-		    d[i] = (double)((CELL *) inrast[i])[col];
-		    break;
-		case FCELL_TYPE:
-		    d[i] = (double)((FCELL *) inrast[i])[col];
-		    break;
-		case DCELL_TYPE:
-		    d[i] = (double)((DCELL *) inrast[i])[col];
-		    break;
-		}
-	    }
-	    if (modis) {
-		de = bb_alb_modis(d[1], d[2], d[3], d[4], d[5], d[6], d[7]);
-	    }
-	    else if (avhrr) {
-		de = bb_alb_noaa(d[1], d[2]);
-	    }
-	    else if (landsat) {
-		de = bb_alb_landsat(d[1], d[2], d[3], d[4], d[5], d[6]);
-	    }
-	    else if (aster) {
-		de = bb_alb_aster(d[1], d[2], d[3], d[4], d[5], d[6]);
-	    }
-	    if (flag5->answer || flag6->answer) {
-		/* Post-Process Albedo */
-		de = a * de + b;
-	    }
-	    ((DCELL *) outrast)[col] = de;
-	}
-	Rast_put_row(outfd, outrast, out_data_type);
+    DCELL de;
+    DCELL d[MAXFILES];
+
+    G_percent(row, nrows, 2);
+    /* read input map */
+    for (i = 1; i <= nfiles; i++)
+        Rast_get_row(infd[i], inrast[i], row, in_data_type[i]);
+
+    /*process the data */
+    for (col = 0; col < ncols; col++) {
+        for (i = 1; i <= nfiles; i++) {
+        switch (in_data_type[i]) {
+        case CELL_TYPE:
+            d[i] = (double)((CELL *) inrast[i])[col];
+            break;
+        case FCELL_TYPE:
+            d[i] = (double)((FCELL *) inrast[i])[col];
+            break;
+        case DCELL_TYPE:
+            d[i] = (double)((DCELL *) inrast[i])[col];
+            break;
+        }
+        }
+        if (modis) {
+        de = bb_alb_modis(d[1],d[2],d[3],d[4],d[5],d[6],d[7]);
+        }
+        else if (avhrr) {
+        de = bb_alb_noaa(d[1],d[2]);
+        }
+        else if (landsat) {
+        de = bb_alb_landsat(d[1],d[2],d[3],d[4],d[5],d[6]);
+        }
+        else if (landsat8) {
+        de = bb_alb_landsat8(d[1],d[2],d[3],d[4],d[5],d[6],d[7]);
+        }
+        else if (aster) {
+        de = bb_alb_aster(d[1],d[2],d[3],d[4],d[5],d[6]);
+        }
+        if (flag6->answer || flag7->answer) {
+        /* Post-Process Albedo */
+        de = a * de + b;
+        }
+        ((DCELL *) outrast)[col] = de;
+    }
+    Rast_put_row(outfd, outrast, out_data_type);
     }
     for (i = 1; i <= nfiles; i++) {
-	G_free(inrast[i]);
-	Rast_close(infd[i]);
+    G_free(inrast[i]);
+    Rast_close(infd[i]);
     }
     G_free(outrast);
     Rast_close(outfd);
diff --git a/imagery/i.aster.toar/i.aster.toar.html b/imagery/i.aster.toar/i.aster.toar.html
index 0ca9fa1..8e3a5fa 100644
--- a/imagery/i.aster.toar/i.aster.toar.html
+++ b/imagery/i.aster.toar/i.aster.toar.html
@@ -39,4 +39,4 @@ The function is defined in gain_aster.c file.
 
 Yann Chemin, CSU, Australia
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 09:23:56 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/imagery/i.atcorr/geomcond.cpp b/imagery/i.atcorr/geomcond.cpp
index e5b5f17..b953fbb 100644
--- a/imagery/i.atcorr/geomcond.cpp
+++ b/imagery/i.atcorr/geomcond.cpp
@@ -369,9 +369,10 @@ void GeomCond::parse()
     case 13: /* rapideye         * enter month,day,hh.ddd,long.,lat. */
     case 14: /* vgt1_spot4       * enter month,day,hh.ddd,long.,lat. */
     case 15: /* vgt2_spot5       * enter month,day,hh.ddd,long.,lat. */
-	case 16: /* worldview2       * enter month,day,hh.ddd,long.,lat. */
-	case 17: /* quickbird2       * enter month,day,hh.ddd,long.,lat. */
+    case 16: /* worldview2       * enter month,day,hh.ddd,long.,lat. */
+    case 17: /* quickbird2       * enter month,day,hh.ddd,long.,lat. */
     case 18: /* Landsat 8        * enter month,day,hh.ddd,long.,lat. */
+    case 19: /* geoeye1          * enter month,day,hh.ddd,long.,lat. */
     {
 	cin >> month;
 	cin >> jday;
@@ -436,7 +437,8 @@ void GeomCond::print()
 	string(" VGT2-SPOT5 observation      "),
 	string(" Worldview2 observation      "),
 	string(" Quickbird2 observation      "),
-    string(" Landsat 8 observation       ")
+	string(" Landsat 8 observation       "),
+	string(" geoeye1  observation        ")
 	};
 
     static const string head(" geometrical conditions identity  ");
diff --git a/imagery/i.atcorr/geomcond.h b/imagery/i.atcorr/geomcond.h
index 9618949..318ecef 100644
--- a/imagery/i.atcorr/geomcond.h
+++ b/imagery/i.atcorr/geomcond.h
@@ -62,9 +62,11 @@
 /*         16      worldview2        * enter month,day,hh.ddd,long.,lat.c */
 /*                                                                      c */
 /*         17      quickbird        * enter month,day,hh.ddd,long.,lat. c */
-/*																		c */
+/*                                                                      c */
 /*         18      Landsat 8        * enter month,day,hh.ddd,long.,lat. c */
 /*                                                                      c */
+/*         19      geoeye1          * enter month,day,hh.ddd,long.,lat. c */
+/*                                                                      c */
 /*     note:       for hrv and tm experiments long. and lat. are the    c */
 /*                 coordinates of the scene center.                     c */
 /*                 lat. must be > 0 for north lat., < 0 for south lat.  c */
diff --git a/imagery/i.atcorr/i.atcorr.html b/imagery/i.atcorr/i.atcorr.html
index 3fbf092..a749048 100644
--- a/imagery/i.atcorr/i.atcorr.html
+++ b/imagery/i.atcorr/i.atcorr.html
@@ -177,6 +177,13 @@ the ascendant node at equator</td>
 <td>enter month,day,hh.ddd,long.,lat. *</td>
 </tr>
 
+
+<tr>
+<td>19</td>
+<td><b>Geoeye 1</b></td>
+<td>enter month,day,hh.ddd,long.,lat. *</td>
+</tr>
+
 </table>
 
 <blockquote>
@@ -601,7 +608,11 @@ micrometer.</td>
 <tr><td>123</td><td>Landsat 8 SWIR2 Band (2037nm - 2355nm)</td></tr>
 
 
-
+<tr><td>115</td><td><b>GeoEye 1</b> Panchromatic band (0.450-0.800)</td></tr>
+<tr><td>116</td><td>GeoEye 1 Blue Band  (0.450-0.510)</td></tr>
+<tr><td>117</td><td>GeoEye 1 Green Band (0.510-0.580)</td></tr>
+<tr><td>118</td><td>GeoEye 1 Red Band (0.655-0.690)</td></tr>
+<tr><td>120</td><td>GeoEye 1 NIR Band (0.780-0.920)</td></tr>
 
 </table>
 
@@ -771,7 +782,9 @@ overview., IEEE Trans. Geosc. and Remote Sens. 35(3):675-686.
 <p><em>Added Landsat 8 from <a href="http://landsat.gsfc.nasa.gov/?p=5779">NASA sources</a>, addition 05/2014:</em>
 <br>Nikolaos Ves
 
+<p><em>Geoeye1 addition 7/2015:</em>
+<br>Marco Vizzari
 
 <p>
-<i>Last changed: $Date: 2015-11-12 15:44:10 +0100 (Thu, 12 Nov 2015) $</i>
+<i>Last changed: $Date: 2015-11-12 06:38:22 -0800 (Thu, 12 Nov 2015) $</i>
 
diff --git a/imagery/i.atcorr/iwave.cpp b/imagery/i.atcorr/iwave.cpp
index 5250fee..ef661be 100644
--- a/imagery/i.atcorr/iwave.cpp
+++ b/imagery/i.atcorr/iwave.cpp
@@ -3093,7 +3093,217 @@ void IWave::landsat_8(int iwa)
     }
 }
 
+void IWave::geoeye1(int iwa)
+{
 
+    /* Pan of geoeye1 */
+    static const float sr1[261] = {
+		.0001, .0001, .0001, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0001, .0001, .0004, .0007, .0027, .0046, .0863,
+		.1679, .4137, .6595, .6918, .7240, .7334, .7428, .7525,
+		.7622, .7650, .7679, .7528, .7378, .7411, .7443, .7345,
+		.7247, .7443, .7638, .7579, .7520, .7812, .8105, .8202,
+		.8299, .8051, .7802, .7983, .8164, .8400, .8636, .8480,
+		.8325, .8532, .8739, .8670, .8601, .8408, .8216, .8401,
+		.8586, .8624, .8661, .8594, .8527, .8830, .9134, .9046,
+		.8959, .8935, .8912, .9079, .9246, .9236, .9226, .9300,
+		.9375, .9355, .9335, .9372, .9409, .9505, .9601, .9559,
+		.9516, .9537, .9557, .9621, .9684, .9765, .9847, .9869,
+		.9890, .9792, .9693, .9744, .9796, .9898, 1.0000, .9886,
+		.9772, .9706, .9641, .9722, .9804, .9813, .9823, .9745,
+		.9666, .9669, .9672, .9730, .9787, .9610, .9434, .9406,
+		.9378, .9368, .9358, .9411, .9463, .9588, .9714, .9646,
+		.9577, .9439, .9301, .9266, .9232, .9256, .9279, .9167,
+		.9055, .8945, .8834, .8836, .8839, .8859, .8878, .8823,
+		.8767, .8675, .8583, .8486, .8389, .8350, .8310, .8382,
+		.8454, .8521, .8588, .8479, .8370, .8163, .7957, .7838,
+		.7719, .7910, .8100, .6449, .4797, .2768, .0738, .0443,
+		.0148, .0102, .0057, .0037, .0018, .0013, .0008, .0006,
+		.0004, .0004, .0004, .0004, .0003, .0003, .0003, .0003,
+		.0004, .0003, .0003, .0003, .0002, .0002, .0002, .0002,
+		.0002, .0002, .0002, .0002, .0002, .0002, .0002, .0002,
+		.0002, .0002, .0002, .0002, .0002, .0002, .0002, .0002,
+		.0002, .0002, .0002, .0002, .0002, .0002, .0002, .0002,
+		.0002, .0002, .0002, .0002, .0002, .0002, .0002, .0002,
+		.0001, .0001, .0001, .0001, .0001, .0001, .0001, .0001,
+		.0001, .0001, .0001, .0001, .0001, .0001, .0001, .0001,
+		.0001, .0001, .0001, .0001, .0001
+    };
+	
+    /* Blue of geoeye1 */
+    static const float sr2[261] = {
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0002, .0003, .0003,
+		.0003, .0004, .0004, .0004, .0004, .0005, .0006, .0006,
+		.0007, .0010, .0013, .0036, .0060, .0222, .0384, .1251,
+		.2119, .4473, .6828, .7713, .8597, .8677, .8756, .8771,
+		.8786, .8878, .8971, .9065, .9160, .9209, .9259, .9328,
+		.9397, .9416, .9435, .9595, .9754, .9877, 1.0000, .9868,
+		.9736, .7085, .4435, .2623, .0812, .0470, .0129, .0082,
+		.0035, .0024, .0013, .0011, .0008, .0007, .0006, .0003,
+		.0001, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0001,
+		.0001, .0001, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0001, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000
+    };
+	
+    /* Green of geoeye1 */
+    static const float sr3[261] = {
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0001, .0003, .0003, .0003, .0003, .0003, .0003,
+		.0003, .0003, .0003, .0003, .0003, .0003, .0003, .0004,
+		.0004, .0005, .0005, .0011, .0016, .0117, .0219, .1132,
+		.2045, .4832, .7619, .8086, .8554, .8617, .8680, .8817,
+		.8955, .8955, .8955, .8957, .8960, .9002, .9044, .9032,
+		.9020, .9193, .9366, .9503, .9641, .9762, .9883, .9942,
+		1.0000, .9882, .9763, .8664, .7564, .4210, .0857, .0462,
+		.0067, .0040, .0014, .0010, .0006, .0005, .0004, .0004,
+		.0003, .0003, .0003, .0003, .0003, .0003, .0003, .0003,
+		.0003, .0003, .0003, .0003, .0003, .0003, .0003, .0002,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000
+    };
+	
+    /* Red of geoeye1 */
+    static const float sr4[261] = {
+		.0000, .0000, .0001, .0001, .0002, .0001, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0001, .0002, .0003, .0017,
+		.0032, .0247, .0463, .2688, .4913, .7407, .9901, .9918,
+		.9936, .9968, 1.0000, .9856, .9713, .9688, .9663, .8722,
+		.7781, .4300, .0819, .0431, .0044, .0025, .0007, .0004,
+		.0002, .0001, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000
+    };
+	
+    /* "Near IR" of geoeye1 */
+    static const float sr5[261] = {
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0001, .0001, .0001,
+		.0002, .0003, .0004, .0006, .0009, .0021, .0033, .0080,
+		.0128, .0459, .0791, .2192, .3593, .6220, .8847, .9423,
+		1.0000, .9865, .9731, .9620, .9510, .9322, .9135, .8973,
+		.8811, .8735, .8660, .8582, .8503, .8385, .8268, .8155,
+		.8042, .7969, .7895, .7832, .7769, .7689, .7608, .7526,
+		.7444, .7341, .7237, .7111, .6985, .6851, .6717, .6579,
+		.6440, .6250, .6061, .5877, .5693, .5586, .5479, .5373,
+		.5267, .5096, .4925, .4802, .4679, .4608, .4536, .4466,
+		.4396, .4300, .4205, .3784, .3364, .2346, .1329, .0784,
+		.0240, .0139, .0038, .0024, .0010, .0007, .0004, .0004,
+		.0004, .0003, .0001, .0001, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000
+    };
+	
+    static const float wli[5] = {0.350, 0.350, 0.350, 0.350, 0.350};
+    static const float wls[5] = {1.000, 1.000, 1.000, 1.000, 1.000};
+
+    ffu.wlinf = (float)wli[iwa-1];
+    ffu.wlsup = (float)wls[iwa-1];
+
+    int i;
+    for(i = 0; i < 1501; i++) ffu.s[i] = 0;
+
+    switch(iwa)
+    {
+    case 1: for(i = 0; i < 261; i++)  ffu.s[40+i] = sr1[i];
+        break;
+    case 2: for(i = 0; i < 261; i++)  ffu.s[40+i] = sr2[i];
+        break;
+    case 3: for(i = 0; i < 261; i++)  ffu.s[40+i] = sr3[i];
+        break;
+    case 4: for(i = 0; i < 261; i++)  ffu.s[40+i] = sr4[i];
+        break;
+    case 5: for(i = 0; i < 261; i++)  ffu.s[40+i] = sr5[i];
+        break;
+    }
+}
 
 float IWave::equivwl() const
 {
@@ -3170,6 +3380,7 @@ void IWave::parse()
 	else if(iwave <= 109)   worldview2(iwave - 100);
 	else if(iwave <= 114)   quickbird2(iwave - 109);
 	else if(iwave <= 123)	landsat_8(iwave - 114);
+	else if(iwave <= 128)	geoeye1(iwave - 123);
 	else G_warning(_("Unsupported iwave value: %d"), iwave);
     }
 
@@ -3238,7 +3449,9 @@ void IWave::print()
 	string(" quickbird 2 nir"), string(" Landsat 8 Coastal Aerosol"), string(" Landsat 8 Blue"),
 	string(" Landsat 8 Green"),string(" Landsat 8 Red"), string(" Landsat 8 Panchromatic"),
 	string(" Landsat 8 NIR"),string(" Landsat 8 Cirrus"),string(" Landsat 8 SWIR1"),
-	string(" Landsat 8 SWIR2")
+	string(" Landsat 8 SWIR2"), string(" geoeye 1 pan"),
+	string(" geoeye 1 blue"), string(" geoeye 1 green"), string(" geoeye 1 red"),
+	string(" geoeye 1 nir")
     };
 
 
diff --git a/imagery/i.atcorr/iwave.h b/imagery/i.atcorr/iwave.h
index 1e82724..9194e53 100644
--- a/imagery/i.atcorr/iwave.h
+++ b/imagery/i.atcorr/iwave.h
@@ -144,7 +144,12 @@ c        119 Pan      "               ( 0.488-0.692 )                  c
 c        120 NIR      "               ( 0.829-0.900 )                  c 
 c        121 Cirrus   "               ( 1.340-1.409 )                  c  
 c        122 SWIR1    "               ( 1.515-1.697 )                  c 
-c        123 SWIR2    "               ( 2.037-2.037 )                  c 
+c        123 SWIR2    "               ( 2.037-2.037 )                  c
+c        124 Pan band of GeoEye 1     ( 0.450-0.800 )                  c
+c        125 Blue     "               ( 0.450-0.510 )                  c
+c        126 Green    "               ( 0.510-0.580 )                  c
+c        127 Red      "               ( 0.655-0.690 )                  c
+c        128 NIR      "               ( 0.780-0.920 )                  c
 c                                                                      c
 c  note: wl has to be in micrometer                                    c
 c**********************************************************************/
@@ -190,6 +195,7 @@ private:
 	void worldview2(int iwa);
 	void quickbird2(int iwa);
 	void landsat_8(int iwa);
+	void geoeye1(int iwa);
 
 public:
 	/* To compute the equivalent wavelength needed for the calculation of the
diff --git a/imagery/i.atcorr/sensors_csv/geoeye1.csv b/imagery/i.atcorr/sensors_csv/geoeye1.csv
new file mode 100644
index 0000000..88a86af
--- /dev/null
+++ b/imagery/i.atcorr/sensors_csv/geoeye1.csv
@@ -0,0 +1,652 @@
+"Wavelength","Panchromatic","Blue","Green","Red","Near IR"
+350,0.000055240937968200100,0.000002772902338376890,0.000004558598484384760,0.000001446557573799250,0.000000995030808984297
+351,0.000057588181321935900,0.000002608940852819810,0.000003692934882411270,0.000012223324947492300,0.000000863049095607235
+352,0.000059936586102368100,0.000002445116918844570,0.000002827271280437790,0.000022999515313776600,0.000000731067382230173
+353,0.000062284990882800400,0.000002281292984869330,0.000001961607678464310,0.000033776859694878500,0.000000599100958671621
+354,0.000064633395663232700,0.000002117469050894090,0.000001095907349142420,0.000044553050061162800,0.000000467119245294558
+355,0.000066980639016968400,0.000001953507565337000,0.000000230231504719464,0.000055330394442264600,0.000000335137531917496
+356,0.000057602118442294500,0.000001828473177441540,0.000000416586070540994,0.000075193297481939700,0.000000293426907022614
+357,0.000048223597867620600,0.000001703438789546080,0.000000602940636362524,0.000095056200521614700,0.000000251700992309221
+358,0.000038845077292946700,0.000001578266850068780,0.000000789282959734584,0.000114919103561290000,0.000000209990367414339
+359,0.000029466556718272700,0.000001453232462173310,0.000000975637525556113,0.000134777390541695000,0.000000168279742519456
+360,0.000020088036143598800,0.000001328156808803300,0.000001161992091377640,0.000154649525699910000,0.000000126555356787915
+361,0.000019606044064528900,0.000001340137551581840,0.000000959550946953466,0.000128372608304291000,0.000000238551748390747
+362,0.000019125213412155500,0.000001352104539202200,0.000000757109802529290,0.000102091074849401000,0.000000350534379156919
+363,0.000018643221333085600,0.000001364071526822560,0.000000554668658105114,0.000075814157453781700,0.000000462532299741602
+364,0.000018161229254015600,0.000001376066024759280,0.000000352227513680937,0.000049537240058162400,0.000000574514930507775
+365,0.000017680398601642300,0.000001388033012379640,0.000000149786369256761,0.000023259168647725400,0.000000686512851092458
+366,0.000017608390146455900,0.000001420082530949110,0.000000195817979261291,0.000021148475546426000,0.000000549225570692476
+367,0.000017537543117966100,0.000001451994497936730,0.000000241849589265820,0.000019037782445126600,0.000000411938290292494
+368,0.000017466696089476300,0.000001484044016506190,0.000000287881199270350,0.000016927089343827200,0.000000274651009892513
+369,0.000017395849060986500,0.000001516093535075650,0.000000333912809274880,0.000014816396242527800,0.000000137363729492531
+370,0.000017323840605800200,0.000001548143053645120,0.000000379944419279409,0.000012705703141228300,0.000000000076242679999
+371,0.000015688551817052100,0.000001513342503438790,0.000000413758064713588,0.000010560735799847700,0.000000000076499548950
+372,0.000014052101601607400,0.000001478679504814310,0.000000447571710147766,0.000008415537655503500,0.000000000076756417901
+373,0.000012416812812859300,0.000001443878954607980,0.000000481385355581945,0.000006270339511159320,0.000000000077011757870
+374,0.000010781175596102300,0.000001409215955983490,0.000000515199001016123,0.000004125141366815150,0.000000000077268626821
+375,0.000009145422236675530,0.000001374415405777170,0.000000549000404000833,0.000001979827820989220,0.000000000077525495772
+376,0.000009817423723301700,0.000001342475928473180,0.000000492036286620227,0.000001846539109562170,0.000000000077137134382
+377,0.000010489425209927900,0.000001310550206327370,0.000000435059926790152,0.000001713134996653360,0.000000000076750301974
+378,0.000011161310553884400,0.000001278610729023380,0.000000378083566960077,0.000001579730883744550,0.000000000076361940584
+379,0.000011833776611189200,0.000001246671251719390,0.000000321119449579472,0.000001446442172317490,0.000000000075973579194
+380,0.000012505081241797400,0.000001214745529573590,0.000000264143089749397,0.000001313038059408680,0.000000000075586746785
+381,0.000011527508391307900,0.000001284277854195320,0.000000231761810903126,0.000001631892353497820,0.000000000076536244515
+382,0.000010549819398148700,0.000001353810178817060,0.000000199380532056854,0.000001950631246105200,0.000000000077485742244
+383,0.000009572014262319830,0.000001423383768913340,0.000000166987010761113,0.000002269485540194340,0.000000000078435239974
+384,0.000008594209126490980,0.000001492847317744150,0.000000134605731914842,0.000002588339834283470,0.000000000079384737703
+385,0.000007616403990662130,0.000001562448418156810,0.000000102218331843835,0.000002907194128372610,0.000000000080334235433
+386,0.000007788875855100410,0.000001433012379642370,0.000000083173977449408,0.000011107969626330000,0.000000000080832683516
+387,0.000007961231576869020,0.000001303700137551580,0.000000064129623054981,0.000019308975927250900,0.000000000081329602618
+388,0.000008133587298637650,0.000001174346629986240,0.000000045085268660554,0.000027509405220763000,0.000000000081826521719
+389,0.000008306059163075920,0.000001044993122420910,0.000000026040914266126,0.000035709834514275200,0.000000000082323440821
+390,0.000008478414884844540,0.000000915653370013755,0.000000006995825324731,0.000043911417822604800,0.000000000082820359922
+391,0.000009200590004761850,0.000000893796423658872,0.000000036063807646634,0.000041287188127495600,0.000000000082699570356
+392,0.000009922648982009500,0.000000871939477303989,0.000000065131055421569,0.000038664112447203800,0.000000000082577251808
+393,0.000010644824101926800,0.000000850082530949106,0.000000094199527441451,0.000036039882752094500,0.000000000082456462242
+394,0.000011366999221844100,0.000000828225584594223,0.000000123269223706279,0.000033416807071802800,0.000000000082334143694
+395,0.000012089290484431100,0.000000806368638239340,0.000000152332798746373,0.000030792577376693500,0.000000000082213354127
+396,0.000011174086247546500,0.000000943067400275103,0.000000121883378426356,0.000030791423361876000,0.000000000082823417886
+397,0.000010259114296001200,0.000001079766162310870,0.000000091430285371497,0.000030789115332240900,0.000000000083435010626
+398,0.000009344142344455930,0.000001216451169188450,0.000000060978416561586,0.000030787961317423300,0.000000000084045074385
+399,0.000008429170392910650,0.000001353149931224210,0.000000030525323506727,0.000030786807302605800,0.000000000084656667125
+400,0.000007514198441365370,0.000001489821182943600,0.000000000073288199503,0.000030784499272970700,0.000000000085266730884
+401,0.000007222564197860650,0.000068042640990371400,0.000000000073541618207,0.000029748193966810500,0.000000000085655092274
+402,0.000006930929954355930,0.000134594222833563000,0.000000000073795036911,0.000028710734645832900,0.000000000086043453664
+403,0.000006639295710851210,0.000201141678129298000,0.000000000074049679860,0.000027673275324855200,0.000000000086430286073
+404,0.000006347661467346490,0.000267702888583219000,0.000000000074303098564,0.000026636970018695000,0.000000000086818647463
+405,0.000006056027223841770,0.000334250343878955000,0.000000000074556517268,0.000025599510697717400,0.000000000087205479871
+406,0.000006338370053774050,0.000333810178817056000,0.000000031750792698603,0.000023082604380640200,0.000000000087592312279
+407,0.000006620712883706340,0.000333356258596974000,0.000000063426906455444,0.000020566852078380700,0.000000000087977615706
+408,0.000006902939570968980,0.000332916093535076000,0.000000095104244457231,0.000018049945761303600,0.000000000088362919132
+409,0.000007185282400901270,0.000332462173314993000,0.000000126782806703965,0.000015533039444226500,0.000000000088748222559
+410,0.000007467625230833550,0.000332022008253095000,0.000000158454023481018,0.000013016133127149400,0.000000000089133525985
+411,0.000008161113111345980,0.000340701513067400000,0.000000126782806703965,0.000017953008516629400,0.000000000089546351085
+412,0.000008854600991858400,0.000349394773039890000,0.000000095105468702178,0.000022889883906109400,0.000000000089957647203
+413,0.000009548088872370820,0.000358088033012380000,0.000000063429354945338,0.000027826759295589400,0.000000000090370472302
+414,0.000010241576752883200,0.000366781292984869000,0.000000031754465433444,0.000032763634685069400,0.000000000090783297402
+415,0.000010935064633395700,0.000375474552957359000,0.000000000078296585581,0.000037699356059731800,0.000000000091196122502
+416,0.000009904066154864630,0.000389174690508941000,0.000000010794045272578,0.000031438825674521700,0.000000000091789367460
+417,0.000008872951533663950,0.000402861072902338000,0.000000021509983717542,0.000025177141274494000,0.000000000092382612418
+418,0.000007841836912463270,0.000416547455295736000,0.000000032225799738012,0.000018915456874466300,0.000000000092975857377
+419,0.000006810838433932240,0.000430247592847318000,0.000000042941615758481,0.000012654926489256100,0.000000000093570631317
+420,0.000005779723812731560,0.000443933975240715000,0.000000053657431778950,0.000006393126687746670,0.000000000094163876275
+421,0.000007570063065469620,0.000469064649243466000,0.000000060688270509164,0.000005427216285457110,0.000000000094666911304
+422,0.000009360402318207680,0.000494181568088033000,0.000000067719109239377,0.000004461305883167540,0.000000000095171475315
+423,0.000011150857713615400,0.000519312242090784000,0.000000074749947969590,0.000003495510882359730,0.000000000095674510344
+424,0.000012940616253005200,0.000544429160935351000,0.000000081782010944750,0.000002529600480070160,0.000000000096179074354
+425,0.000014731536219091500,0.000569546079779917000,0.000000088812849674963,0.000001563690077780600,0.000000000096683638365
+426,0.000015766367405721200,0.000601114167812930000,0.000000136613493627805,0.000007860802732707090,0.000000000097006253536
+427,0.000016801198592350800,0.000632668500687758000,0.000000184420258805382,0.000014157453781706600,0.000000000097330397688
+428,0.000017836029778980500,0.000664222833562586000,0.000000232227023982959,0.000020454912641078300,0.000000000097654541841
+429,0.000018870860965610200,0.000695777166437414000,0.000000280033789160535,0.000026752371500450100,0.000000000097978685993
+430,0.000019905692152239800,0.000727331499312242000,0.000000327840554338112,0.000033049830359821800,0.000000000098302830145
+431,0.000044222482897991900,0.000839436038514443000,0.000000277095601287906,0.000027098575945715100,0.000000000098584162806
+432,0.000068539273643744000,0.000951526822558459000,0.000000226350648237699,0.000021147321531608500,0.000000000098865495467
+433,0.000092856064389496100,0.001063631361760660000,0.000000175605695187493,0.000015196067117501800,0.000000000099146828127
+434,0.000117176339415338000,0.001175722145804680000,0.000000124848499687818,0.000009244581900431600,0.000000000099428160788
+435,0.000141485000174214000,0.001287826685006880000,0.000000074105995127505,0.000003293327486324920,0.000000000099707964466
+436,0.000258823939327069000,0.002230398899587350000,0.000000094102812090643,0.000002833567983012900,0.000000000100102441784
+437,0.000376151264212959000,0.003173039889958730000,0.000000114100853298728,0.000002373808479700880,0.000000000100496919102
+438,0.000493490203365814000,0.004115680880330120000,0.000000134103791486601,0.000001913933574907100,0.000000000100891396419
+439,0.000610817528251704000,0.005058321870701510000,0.000000154095711469951,0.000001454174071595080,0.000000000101284344755
+440,0.000728144853137594000,0.006000962861072900000,0.000000174087631453301,0.000000994426108431232,0.000000000101678822072
+441,0.001501608575974730000,0.012479367262723500000,0.000000161943121579766,0.000009456920626860850,0.000000648578811369509
+442,0.002275118755879720000,0.018957359009628600000,0.000000149798611706230,0.000017919542086920400,0.000001297065883827960
+443,0.003048628935784720000,0.025436038514442900000,0.000000137654101832695,0.000026381932744016400,0.000001945476507193860
+444,0.003822139115689710000,0.031914718019257200000,0.000000125509591959159,0.000034844323401112500,0.000002594070608381880
+445,0.004595649295594710000,0.038393397524071500000,0.000000113361409350783,0.000043306714058208500,0.000003242511811384800
+446,0.037262052705543500000,0.073086657496561200000,0.000000090706756607862,0.000034645832852493800,0.000002594070608381880
+447,0.069928339972822600000,0.107779917469051000000,0.000000068052103864941,0.000025983797631961600,0.000001945476507193860
+448,0.102595788666798000000,0.142475928473177000000,0.000000045397451122021,0.000017322916426246900,0.000001297065883827960
+449,0.135259753080684000000,0.177166437414030000000,0.000000022744022624047,0.000008661458213123460,0.000000648578811369509
+450,0.167930686054750000000,0.211856946354883000000,0.000000000089369881126,0.000000000081539224964,0.000000000105126676146
+451,0.266245455918050000000,0.306052269601100000000,0.000056719268391219700,0.000000000081457289912,0.000000332140727489565
+452,0.364571840048315000000,0.400247592847318000000,0.000113437312537493000,0.000000000081374200845,0.000000664174426249560
+453,0.462886609911615000000,0.494442916093535000000,0.000170157805173659000,0.000000000081291111778,0.000000996223414828066
+454,0.561201379774915000000,0.588638239339752000000,0.000226877073564879000,0.000000000081209176726,0.000001328257113588060
+455,0.659527763905181000000,0.682833562585970000000,0.000283596341956099000,0.000000000081126087659,0.000001660321391985080
+456,0.672419600236931000000,0.718211829436039000000,0.000284796102004089000,0.000000029296974173148,0.000001513707322294080
+457,0.685311436568681000000,0.753590096286107000000,0.000285995862052079000,0.000000058512013294251,0.000001367108542421600
+458,0.698203272900431000000,0.788954607977992000000,0.000287207864549539000,0.000000087728206430171,0.000001220525052367630
+459,0.711095109232181000000,0.824332874828061000000,0.000288407624597529000,0.000000116947861610543,0.000001073926272495150
+460,0.723986945563931000000,0.859711141678129000000,0.000289607384645520000,0.000000146155976642740,0.000000927342782441172
+461,0.727749968060766000000,0.862902338376891000000,0.000289582899746581000,0.000000116947861610543,0.000000752121462318242
+462,0.731512990557601000000,0.866079779917469000000,0.000289558414847643000,0.000000087728206430171,0.000000576884852376802
+463,0.735276013054436000000,0.869257221458047000000,0.000289521687499235000,0.000000058513167309068,0.000000401663532253872
+464,0.739039035551271000000,0.872448418156809000000,0.000289497202600296000,0.000000029298128187966,0.000000226442212130942
+465,0.742802058048106000000,0.875625859697387000000,0.000289472717701358000,0.000000000083198698271,0.000000051214776080608
+466,0.746681223214597000000,0.876217331499312000000,0.000289962415680129000,0.000000002692085766381,0.000002260140972126660
+467,0.750548774114122000000,0.876808803301238000000,0.000290439871209432000,0.000000005300967064417,0.000004469213950430410
+468,0.754416325013647000000,0.877386519944979000000,0.000290929569188203000,0.000000007909732960971,0.000006678134030549060
+469,0.758295490180137000000,0.877977991746905000000,0.000291407024717505000,0.000000010518614259007,0.000008887054110667710
+470,0.762163041079662000000,0.878569463548831000000,0.000291896722696277000,0.000000013128072564452,0.000011096127088971500
+471,0.763324467776216000000,0.882269601100413000000,0.000295704124481226000,0.000000010518383456044,0.000009010442946042230
+472,0.764474280205805000000,0.885969738651995000000,0.000299511526266175000,0.000000007909271355044,0.000006924758803113010
+473,0.765624092635393000000,0.889683631361761000000,0.000303318928051125000,0.000000005300159254045,0.000004839074660183780
+474,0.766785519331947000000,0.893383768913343000000,0.000307126329836074000,0.000000002691047153045,0.000002753390517254560
+475,0.767935331761536000000,0.897083906464924000000,0.000310921489171553000,0.000000000081924665913,0.000000667675794688317
+476,0.761907527206420000000,0.900866574965612000000,0.000316773380017874000,0.000000007591917280218,0.000001541060807608210
+477,0.755868108384339000000,0.904635488308116000000,0.000322637513313664000,0.000000015101437902463,0.000002414415240891090
+478,0.749828689562258000000,0.908404401650619000000,0.000328489404159984000,0.000000022611766335080,0.000003287616775988870
+479,0.743800885007143000000,0.912187070151307000000,0.000334341295006305000,0.000000030122094767697,0.000004160971209271750
+480,0.737761466185062000000,0.915955983493810000000,0.000340193185852625000,0.000000037631269185496,0.000005034325642554620
+481,0.739085492619133000000,0.917936726272352000000,0.000341686764687879000,0.000000076267685277079,0.000004737397367093250
+482,0.740397904786239000000,0.919917469050894000000,0.000343192585972601000,0.000000114902947353844,0.000004440316193446780
+483,0.741721931220311000000,0.921898211829436000000,0.000344686164807855000,0.000000153541671475062,0.000004143235019800310
+484,0.743034343387417000000,0.923878954607978000000,0.000346191986092577000,0.000000192178087566644,0.000003846306744338950
+485,0.744346755554523000000,0.925859697386520000000,0.000347697807377300000,0.000000230802963510051,0.000003549225570692480
+486,0.740432747587136000000,0.928638239339753000000,0.000360221833184383000,0.000000500046160592702,0.000009414094154702380
+487,0.736507125352783000000,0.931416781292985000000,0.000372745858991467000,0.000000769277817527177,0.000015278962738712300
+488,0.732581503118431000000,0.934195323246217000000,0.000385282127248020000,0.000001038509474461650,0.000021144290017277500
+489,0.728655880884078000000,0.936960110041266000000,0.000397806153055103000,0.000001307729591247950,0.000027009464397657600
+490,0.724741872916691000000,0.939738651994498000000,0.000410342421311656000,0.000001576961248182430,0.000032873109796186700
+491,0.732558274584500000000,0.940481430536451000000,0.000430775069475901000,0.000001995868626953170,0.000026361176092839800
+492,0.740386290519274000000,0.941237964236589000000,0.000451219960089615000,0.000002414776005723910,0.000019847713407641900
+493,0.748202692187082000000,0.941980742778542000000,0.000471652608253859000,0.000002833567983012900,0.000013334097824258800
+494,0.756030708121857000000,0.942723521320495000000,0.000492097498867573000,0.000003252475361783650,0.000006820788037246000
+495,0.763847109789666000000,0.943466299862448000000,0.000512530147031818000,0.000003671382740554390,0.000000307600568781249
+496,0.761477799328695000000,0.949862448418157000000,0.000732833025231688000,0.000003058254667989940,0.000000282127731143831
+497,0.759120103134691000000,0.956258596973865000000,0.000953148145881028000,0.000002445126595425490,0.000000256639603687904
+498,0.756750792673720000000,0.962654745529574000000,0.001173451024080900000,0.000001832113924342790,0.000000231151476231977
+499,0.754381482212750000000,0.969050894085282000000,0.001393802872078650000,0.000001218985851778340,0.000000205663348776050
+500,0.752023786018745000000,0.975447042640990000000,0.001614044538031170000,0.000000605892399658412,0.000000180175221320123
+501,0.763707738586079000000,0.980357634112792000000,0.005666907434839560000,0.000000626814688300598,0.000000162851856948458
+502,0.775403305420378000000,0.985268225584594000000,0.009719647907153260000,0.000000647748517090959,0.000000145522376649389
+503,0.787087257987712000000,0.990178817056396000000,0.013772755652951000000,0.000000668670805733146,0.000000128195954314022
+504,0.798782824822011000000,0.995089408528198000000,0.017825006427286000000,0.000000689604634523507,0.000000110869531978655
+505,0.810466777389345000000,1.000000000000000000000,0.021878481446567800000,0.000000710526923165693,0.000000093543109643289
+506,0.814369171089767000000,0.994718019257221000000,0.058396483968512400000,0.000000609723728852678,0.000000103762824335275
+507,0.818259950523223000000,0.989422283356259000000,0.094915710735403900000,0.000000508932074687839,0.000000113982539027262
+508,0.822150729956679000000,0.984140302613480000000,0.131434937502295000000,0.000000408128880374824,0.000000124200724737397
+509,0.826053123657100000000,0.978844566712517000000,0.167954164269187000000,0.000000307337226209985,0.000000134420439429384
+510,0.829943903090556000000,0.973562585969739000000,0.204473391036079000000,0.000000206534031896970,0.000000144638625139520
+511,0.820002090568054000000,0.867551581843191000000,0.315953135903432000000,0.000000226902393426732,0.000000152789627387123
+512,0.810060278045551000000,0.761554332874828000000,0.427432880770785000000,0.000000247270754956494,0.000000160940629634726
+513,0.800118465523048000000,0.655543328748281000000,0.538912625638138000000,0.000000267627576338080,0.000000169090102900479
+514,0.790176653000546000000,0.549546079779917000000,0.650392370505491000000,0.000000287995937867842,0.000000177239576166231
+515,0.780246454745009000000,0.443535075653370000000,0.761872115372844000000,0.000000308364299397604,0.000000185389049431983
+516,0.787482143064540000000,0.371059147180193000000,0.780578578161919000000,0.000000316453943268632,0.000000185480788343042
+517,0.794717831384072000000,0.298583218707015000000,0.799272798501524000000,0.000000324543587139659,0.000000185587817072611
+518,0.801965133970569000000,0.226107290233838000000,0.817967018841130000000,0.000000332633231010686,0.000000185679555983670
+519,0.809200822290101000000,0.153631361760660000000,0.836661239180735000000,0.000000340722874881713,0.000000185786584713239
+520,0.816436510609633000000,0.081159559834938100000,0.855355459520341000000,0.000000348812518752741,0.000000185878323624299
+521,0.825867295385652000000,0.067504814305364500000,0.857877404111015000000,0.000000414118217277910,0.000000266837912633977
+522,0.835286465894705000000,0.053848693259972500000,0.860399348701688000000,0.000000479435455951254,0.000000347812791462165
+523,0.844705636403758000000,0.040193947730398900000,0.862921293292362000000,0.000000544741154476423,0.000000428772380471844
+524,0.854124806912812000000,0.026539202200825300000,0.865430995433566000000,0.000000610046853001593,0.000000509731969481522
+525,0.863555591688831000000,0.012883631361760700000,0.867952940024240000000,0.000000675364091674937,0.000000590691558491201
+526,0.857330344595301000000,0.011001375515818400000,0.873449799835951000000,0.000000708484316938630,0.000000610965857835268
+527,0.851116711768737000000,0.009119257221458050000,0.878958902097132000000,0.000000741616082350497,0.000000631240157179334
+528,0.844891464675207000000,0.007237138927097660000,0.884455761908843000000,0.000000774747847762365,0.000000651514456523401
+529,0.838666217581677000000,0.005355020632737280000,0.889952621720554000000,0.000000807868073026058,0.000000671773466048958
+530,0.832452584755113000000,0.003472902338376890000,0.895461723981734000000,0.000000840999838437925,0.000000692047765393025
+531,0.840733557101543000000,0.003045667125171940000,0.895473966431204000000,0.000000861702864264777,0.000000732596364081158
+532,0.849014529447974000000,0.002618431911966990000,0.895486208880673000000,0.000000882417430239804,0.000000773160252587802
+533,0.857295501794404000000,0.002191196698762040000,0.895498451330142000000,0.000000903120456066656,0.000000813708851275935
+534,0.865576474140834000000,0.001763961485557080000,0.895510693779611000000,0.000000923835022041683,0.000000854257449964069
+535,0.873857446487265000000,0.001336726272352130000,0.895522936229081000000,0.000000944538047868535,0.000000894806048652202
+536,0.871104865216432000000,0.001223878954607980000,0.895608633375366000000,0.000000920338357144506,0.000000795666865434307
+537,0.868352283945599000000,0.001111017881705640000,0.895706572971120000000,0.000000896127126272301,0.000000696512392397902
+538,0.865599702674766000000,0.000998170563961486000,0.895792270117405000000,0.000000871927435548272,0.000000597357919361497
+539,0.862847121403933000000,0.000885323246217331000,0.895890209713160000000,0.000000847727744824244,0.000000498203446325092
+540,0.860094540133099000000,0.000772462173314993000,0.895975906859444000000,0.000000823516513952039,0.000000399064263107197
+541,0.852394281134946000000,0.000739834938101788000,0.897653122436737000000,0.000000828905763149999,0.000000411143219729982
+542,0.844694022136793000000,0.000707193947730399000,0.899330338014030000000,0.000000834295012347959,0.000000423237466171277
+543,0.836993763138639000000,0.000674566712517194000,0.901007553591323000000,0.000000839672721397743,0.000000435316422794061
+544,0.829305118407452000000,0.000641939477303989000,0.902684769168615000000,0.000000845061970595703,0.000000447410669235356
+545,0.821604859409298000000,0.000609298486932600000,0.904361984745908000000,0.000000850439679645487,0.000000459504915676651
+546,0.829003147466348000000,0.000499009628610729000,0.903884529216606000000,0.000000908175040967526,0.000000630475666253842
+547,0.836413049790362000000,0.000388720770288858000,0.903407073687303000000,0.000000965910402289565,0.000000801461706649542
+548,0.843822952114377000000,0.000278431911966988000,0.902941860607471000000,0.000001023645763611600,0.000000972447747045243
+549,0.851232854438392000000,0.000168143053645117000,0.902464405078168000000,0.000001081381124933640,0.000001143418497622430
+550,0.858642756762407000000,0.000057851444291609400,0.901986949548866000000,0.000001139116486255680,0.000001314404538018130
+551,0.860140997200962000000,0.000053188445667125200,0.908903933499015000000,0.000001036270685715600,0.000001125086005229120
+552,0.861639237639516000000,0.000048526822558459400,0.915833159898633000000,0.000000933424885175526,0.000000935767472440102
+553,0.863137478078071000000,0.000043865199449793700,0.922750143848781000000,0.000000830579084635447,0.000000746448939651086
+554,0.864635718516626000000,0.000039203576341127900,0.929667127798930000000,0.000000727733284095368,0.000000557130406862071
+555,0.866133958955181000000,0.000034540577716643700,0.936596354198548000000,0.000000624887483555289,0.000000367811874073055
+556,0.863439449019175000000,0.000032174690508940900,0.942093214010259000000,0.000000753987121194636,0.000000465651422717612
+557,0.860744939083170000000,0.000029807427785419500,0.947590073821970000000,0.000000883075218685808,0.000000563490971362170
+558,0.858050429147164000000,0.000027441540577716600,0.953086933633682000000,0.000001012174856325160,0.000000661330520006728
+559,0.855355919211159000000,0.000025074277854195300,0.958583793445393000000,0.000001141262953816330,0.000000759170068651285
+560,0.852661409275154000000,0.000022708390646492400,0.964080653257104000000,0.000001270339511159320,0.000000856994327477333
+561,0.864798318254143000000,0.000021028885832187100,0.968928663246942000000,0.000001208253513975120,0.000000787196305979848
+562,0.876935227233133000000,0.000019348005502063300,0.973764430787312000000,0.000001146225217531790,0.000000717382994663853
+563,0.889072136212123000000,0.000017668500687757900,0.978612440777151000000,0.000001084150760495760,0.000000647569683347859
+564,0.901209045191113000000,0.000015987620357634100,0.983460450766990000000,0.000001022087843607910,0.000000577756372031864
+565,0.913357568437068000000,0.000014308115543328700,0.988308460756828000000,0.000000960024926720059,0.000000507943060715869
+566,0.909861674080440000000,0.000012996148555708400,0.990646768605463000000,0.000000991679553165463,0.000000599972478326682
+567,0.906365779723813000000,0.000011684456671251700,0.992985076454097000000,0.000001023345719759040,0.000000692017185756005
+568,0.902869885367185000000,0.000010372902338376900,0.995323384302731000000,0.000001055000346204450,0.000000784046603366818
+569,0.899373991010557000000,0.000009061348005502060,0.997661692151366000000,0.000001086666512798020,0.000000876076020977631
+570,0.895878096653930000000,0.000007749793672627240,1.000000000000000000000,0.000001118332679391600,0.000000968120728406954
+571,0.894937341029721000000,0.000007148280605226960,0.995262172055385000000,0.000000991079465460336,0.000000967983120040365
+572,0.893984971138547000000,0.000006546629986244840,0.990536586560239000000,0.000000863826251529070,0.000000967845511673776
+573,0.893044215514338000000,0.000005945116918844570,0.985798758615624000000,0.000000736573037597803,0.000000967707903307188
+574,0.892103459890129000000,0.000005343603851444290,0.981060930671009000000,0.000000609319823666536,0.000000967570294940599
+575,0.891162704265920000000,0.000004742090784044020,0.976335345175863000000,0.000000482078149883445,0.000000967432686574010
+576,0.897852522038071000000,0.000004561623108665750,0.932335981783235000000,0.000000385683292173472,0.000000980597220310995
+577,0.904542339810223000000,0.000004381017881705640,0.888348860840077000000,0.000000289288434463499,0.000000993761754047979
+578,0.911232157582374000000,0.000004200412654745530,0.844361739896919000000,0.000000192882036605350,0.000001006926287784960
+579,0.917921975354525000000,0.000004019944979367260,0.800374618953760000000,0.000000096491794954647,0.000001020090821521950
+580,0.924611793126677000000,0.000003839339752407150,0.756387498010602000000,0.000000000095350474300,0.000001033255355258930
+581,0.924205293782883000000,0.000003617881705639610,0.622234736726124000000,0.000000046220601472523,0.000001064156078467350
+582,0.923810408706054000000,0.000003396423658872080,0.488094217891116000000,0.000000092346573730007,0.000001095041511857250
+583,0.923403909362261000000,0.000003174965612104540,0.353941456606638000000,0.000000138470237957855,0.000001125942235065670
+584,0.922997410018467000000,0.000002953507565337000,0.219800937771629000000,0.000000184596210215339,0.000001156827668455580
+585,0.922602524941638000000,0.000002732049518569460,0.085654297711886200000,0.000000230722182472823,0.000001187728391663990
+586,0.925575777284817000000,0.000002558596973865200,0.069852968181873800000,0.000000299513005746994,0.000001169946332737030
+587,0.928549029627995000000,0.000002385006877579090,0.054052862896808400000,0.000000368315369169340,0.000001152179563628580
+588,0.931522281971173000000,0.000002211554332874830,0.038252757611743000000,0.000000437106192443511,0.000001134412794520130
+589,0.934507148581317000000,0.000002038101788170560,0.022451428081730600000,0.000000505897015717682,0.000001116630735593170
+590,0.937480400924496000000,0.000001864649243466300,0.006650955523181080000,0.000000574699379140028,0.000001098863966484720
+591,0.936679016503873000000,0.000001877303988995870,0.005604226093556800000,0.000000459771043460198,0.000000915905998195801
+592,0.935877632083251000000,0.000001890096286107290,0.004557496663932520000,0.000000344854247928543,0.000000732948029906885
+593,0.935076247662629000000,0.000001902888583218710,0.003510889658802930000,0.000000229937452396889,0.000000549990061617969
+594,0.934263248975041000000,0.000001915543328748280,0.002464160229178650000,0.000000115018348835599,0.000000367016803510542
+595,0.933461864554419000000,0.000001928335625859700,0.001417430799554380000,0.000000000099987305837,0.000000184058835221626
+596,0.934948490726008000000,0.000001874140302613480,0.001256197740043830000,0.000000054388718351144,0.000000316116997691237
+597,0.936423502630631000000,0.000001819944979367260,0.001094903468285930000,0.000000108678191427978,0.000000448175160160849
+598,0.937898514535255000000,0.000001765749656121050,0.000933645923876449000,0.000000162969972534447,0.000000580218032811950
+599,0.939373526439879000000,0.000001711554332874830,0.000772400621916433000,0.000000217254829552011,0.000000712276195281562
+600,0.940860152611468000000,0.000001657359009628610,0.000611143077506948000,0.000000271551226717751,0.000000844334357751174
+601,0.944704474977062000000,0.000001769463548830810,0.000569078021130468000,0.000000217254829552011,0.000000704279620200908
+602,0.948548797342656000000,0.000001881430536451170,0.000527000722304519000,0.000000162969972534447,0.000000564224882650643
+603,0.952404733975215000000,0.000001993535075653370,0.000484923423478570000,0.000000108681653472431,0.000000424185434918888
+604,0.956249056340809000000,0.000002105502063273730,0.000442858367102090000,0.000000054394488425231,0.000000284130697368622
+605,0.960104992973368000000,0.000002217606602475930,0.000400781068276141000,0.000000000106479793201,0.000000144083604727612
+606,0.958409309996400000000,0.000002246079779917470,0.000389322135572885000,0.000000000106259376370,0.000000131208048560464
+607,0.956713627019431000000,0.000002274552957359010,0.000377850960420161000,0.000000000106037805525,0.000000118330963411464
+608,0.955017944042462000000,0.000002303026134800550,0.000366392027716906000,0.000000000105817388695,0.000000105453878262465
+609,0.953322261065493000000,0.000002331499312242090,0.000354933095013650000,0.000000000105596971865,0.000000092576793113466
+610,0.951626578088524000000,0.000002359972489683630,0.000343474162310395000,0.000000000105375401020,0.000000079701236946318
+611,0.952451191043077000000,0.000002177579092159560,0.000339532093581284000,0.000000007243174002354,0.000000119694815222543
+612,0.953275803997631000000,0.000001995185694635490,0.000335602267301642000,0.000000014381332656311,0.000000159686864516918
+613,0.954100416952184000000,0.000001812792297111420,0.000331672441022000000,0.000000021518914302860,0.000000199685029738697
+614,0.954925029906737000000,0.000001630398899587350,0.000327742614742358000,0.000000028656495949408,0.000000239667905141966
+615,0.955749642861291000000,0.000001448143053645120,0.000323812788462716000,0.000000035794077595956,0.000000279666070363745
+616,0.958269938792813000000,0.000001495185694635490,0.000322147815334892000,0.000000028655341934590,0.000000277112670672599
+617,0.960790234724335000000,0.000001542365887207700,0.000320495084656538000,0.000000021516606273225,0.000000274543981162944
+618,0.963310530655858000000,0.000001589408528198070,0.000318842353978184000,0.000000014377870611859,0.000000271990581471798
+619,0.965830826587380000000,0.000001636588720770290,0.000317177380850361000,0.000000007239596556420,0.000000269421891962142
+620,0.968351122518902000000,0.000001683631361760660,0.000315524650172006000,0.000000000100955524269,0.000000266868492270997
+621,0.971614731536219000000,0.000001651169188445670,0.000317397744940808000,0.000000046371777413622,0.000000213522315490115
+622,0.974889954820501000000,0.000001618707015130670,0.000319270839709609000,0.000000092642001523300,0.000000160176138709234
+623,0.978153563837818000000,0.000001586107290233840,0.000321156176927880000,0.000000138908763588525,0.000000106823846000948
+624,0.981428787122101000000,0.000001553645116918840,0.000323029271696681000,0.000000185184757772290,0.000000053477669220066
+625,0.984692396139418000000,0.000001521045392022010,0.000324902366465482000,0.000000231449211807880,0.000000000130795223461
+626,0.985563466161833000000,0.000001371719394773040,0.000327718129843419000,0.000001809956839845820,0.000000006753359937618
+627,0.986422921917283000000,0.000001222352132049520,0.000330521650771886000,0.000003388418307291070,0.000000013375839028791
+628,0.987282377672733000000,0.000001072984869326000,0.000333325171700354000,0.000004966879774736310,0.000000019997553629038
+629,0.988153447695149000000,0.000000923617606602476,0.000336140935078291000,0.000006545341242181550,0.000000026621103007507
+630,0.989012903450599000000,0.000000774250343878955,0.000338944456006758000,0.000008123802709626790,0.000000033243123404125
+631,0.985064052682315000000,0.000000772104539202201,0.000337671241261952000,0.000012974588593717500,0.000000079022369004480
+632,0.981126816180997000000,0.000000769972489683631,0.000336385784067676000,0.000017826066886698800,0.000000124803143586686
+633,0.977177965412713000000,0.000000767840440165062,0.000335100326873401000,0.000022677545179680100,0.000000170588505114444
+634,0.973229114644429000000,0.000000765694635488308,0.000333827112128595000,0.000027529023472661400,0.000000216366221732948
+635,0.969280263876145000000,0.000000763562585969739,0.000332541654934319000,0.000032379347750825100,0.000000262143938351452
+636,0.971347603396012000000,0.000000861526822558459,0.000325685883231517000,0.000037225055969718700,0.000000209745730318181
+637,0.973403328648912000000,0.000000959491059147180,0.000318817869079245000,0.000042070764188612200,0.000000157347522284910
+638,0.975470668168778000000,0.000001057455295735900,0.000311962097376443000,0.000046915318392688200,0.000000104941669342385
+639,0.977526393421679000000,0.000001155419532324620,0.000305106325673641000,0.000051761026611581700,0.000000052541932327263
+640,0.979593732941545000000,0.000001253383768913340,0.000298238311521369000,0.000056606734830475200,0.000000000142300811889
+641,0.983670340646450000000,0.000001253878954607980,0.000299058555635812000,0.000104348327832529000,0.000000000142646361788
+642,0.987758562618320000000,0.000001254374140302610,0.000299891042199723000,0.000152087612804948000,0.000000000142990382704
+643,0.991835170323225000000,0.000001254883081155430,0.000300711286314166000,0.000199829205807003000,0.000000000143335932602
+644,0.995923392295095000000,0.000001255378266850070,0.000301531530428608000,0.000247582338957232000,0.000000000143679953519
+645,1.000000000000000000000,0.000001255873452544700,0.000302351774543051000,0.000295323931959286000,0.000000000144025503417
+646,0.995435593082542000000,0.000001327977991746910,0.000241996498659452000,0.000868546172132850000,0.000000000143837438650
+647,0.990871186165085000000,0.000001400137551581840,0.000181653465225322000,0.001441710711565540000,0.000000000143649373882
+648,0.986306779247628000000,0.000001472214580467680,0.000121300637831617000,0.002015025272924500000,0.000000000143462838096
+649,0.981753986597136000000,0.000001544291609353510,0.000060950258927806300,0.002588224432801720000,0.000000000143274773328
+650,0.977189579679678000000,0.000001616368638239340,0.000000599818811747855,0.003161423592678930000,0.000000000143086708561
+651,0.974553141078501000000,0.000001564374140302610,0.000000549624768923766,0.011787107346458300000,0.000000000142479702766
+652,0.971928316744289000000,0.000001512379642365890,0.000000499430726099678,0.020413368107646500000,0.000000000141874225953
+653,0.969303492410077000000,0.000001460385144429160,0.000000449236683275590,0.029039628868834700000,0.000000000141267220158
+654,0.966678668075864000000,0.000001408390646492430,0.000000399042640451502,0.037665889630022900000,0.000000000140661743345
+655,0.964053843741652000000,0.000001356368638239340,0.000000348848597627413,0.046290996376393500000,0.000000000140054737550
+656,0.967317452758969000000,0.000001396836313617610,0.000000353023272896441,0.135296697209592000000,0.000000000139449260737
+657,0.970581061776286000000,0.000001437414030261350,0.000000357197948165469,0.224305860087244000000,0.000000000138843783924
+658,0.973844670793603000000,0.000001477854195323250,0.000000361384865883966,0.313315022964895000000,0.000000000138238307111
+659,0.977096665543954000000,0.000001518431911966990,0.000000365559541152994,0.402324185842546000000,0.000000000137632830298
+660,0.980360274561271000000,0.000001558872077028890,0.000000369746458871491,0.491333348720198000000,0.000000000137027353485
+661,0.980755159638099000000,0.000001524346629986240,0.000000325220670151684,0.591074849401066000000,0.000000000136721557115
+662,0.981138430447962000000,0.000001489683631361760,0.000000280707123881346,0.690827890230111000000,0.000000000136415760745
+663,0.981533315524791000000,0.000001455020632737280,0.000000236181335161539,0.790569390910979000000,0.000000000136109964375
+664,0.981928200601619000000,0.000001420357634112790,0.000000191667788891201,0.890322431740024000000,0.000000000135804168005
+665,0.982311471411482000000,0.000001385832187070150,0.000000147142000171394,0.990063932420892000000,0.000000000135498371634
+666,0.979175619330786000000,0.000002001100412654750,0.000000223559369758701,0.990767881459598000000,0.000000000135666559638
+667,0.976039767250090000000,0.000002616368638239340,0.000000299964496896539,0.991471830498304000000,0.000000000135836276623
+668,0.972903915169394000000,0.000003231636863823930,0.000000376369624034377,0.992164239388834000000,0.000000000136004464627
+669,0.969768063088698000000,0.000003846905089408530,0.000000452774751172215,0.992868188427539000000,0.000000000136172652631
+670,0.966643825274968000000,0.000004462310866574970,0.000000529192120759522,0.993560597318070000000,0.000000000136340840634
+671,0.966748353677658000000,0.000004565887207702890,0.000000517329187223780,0.994853093913726000000,0.000000031157592159381
+672,0.966852882080347000000,0.000004669325997248970,0.000000505454011238569,0.996145590509382000000,0.000000062177575952173
+673,0.966969024750003000000,0.000004772902338376890,0.000000493591077702827,0.997426546956863000000,0.000000093197559744966
+674,0.967073553152693000000,0.000004876478679504810,0.000000481728144167085,0.998719043552519000000,0.000000124219072519609
+675,0.967189695822348000000,0.000004980055020632740,0.000000469865210631343,1.000000000000000000000,0.000000155237527330551
+676,0.969489320681525000000,0.000006945529573590100,0.000000458418520377557,0.994253006208600000000,0.000000154962310597373
+677,0.971800559807668000000,0.000008911141678129300,0.000000446971830123771,0.988506012417199000000,0.000000154687093864196
+678,0.974100184666845000000,0.000010876616231086700,0.000000435525139869985,0.982759018625799000000,0.000000154411877131018
+679,0.976411423792987000000,0.000012842228335625900,0.000000424078449616199,0.977012024834399000000,0.000000154136660397841
+680,0.978711048652164000000,0.000014807427785419500,0.000000412631759362413,0.971276571191174000000,0.000000153876733483174
+681,0.971649574337116000000,0.000013734525447042600,0.000000435170108835376,0.970272578299905000000,0.000000203461614910631
+682,0.964576485755101000000,0.000012661348005502100,0.000000457696215858869,0.969280125556812000000,0.000000253031206519579
+683,0.957515011440053000000,0.000011588308115543300,0.000000480234565331832,0.968287672813719000000,0.000000302616087947036
+684,0.950453537125004000000,0.000010515130674002700,0.000000502772914804794,0.967283679922450000000,0.000000352200969374494
+685,0.943380448542990000000,0.000009441953232462170,0.000000525311264277757,0.966291227179357000000,0.000000401785850801951
+686,0.942277093181264000000,0.000009628885832187070,0.000000553101624573045,0.928658803979043000000,0.000000345182942678470
+687,0.941162123552572000000,0.000009815818431911970,0.000000580891984868332,0.891026380778729000000,0.000000288580034554990
+688,0.940047153923880000000,0.000010002888583218700,0.000000608670102714151,0.853393957578415000000,0.000000231961836612999
+689,0.938932184295188000000,0.000010189821182943600,0.000000636460463009439,0.815761534378102000000,0.000000175358928489519
+690,0.937817214666496000000,0.000010376753782668500,0.000000664250823304727,0.778129111177787000000,0.000000118754491384187
+691,0.937422329589668000000,0.000009553920220082530,0.000000643622295948974,0.638874143143998000000,0.000000095030808984297
+692,0.937027444512839000000,0.000008731086657496560,0.000000623006011042690,0.499630715258384000000,0.000000071307126584407
+693,0.936632559436011000000,0.000007908115543328750,0.000000602377483686936,0.360375747224594000000,0.000000047584973166369
+694,0.936237674359183000000,0.000007085281980742780,0.000000581748956331183,0.221132319338980000000,0.000000023861290766479
+695,0.935842789282354000000,0.000006262310866574970,0.000000561120428975429,0.081879659334825900000,0.000000000137539562405
+696,0.937921743069186000000,0.000006220632737276480,0.000000507106741916923,0.066376624275855700000,0.000000043218200999954
+697,0.940012311122983000000,0.000006178954607977990,0.000000453105297307885,0.050874743231703100000,0.000000086300322615171
+698,0.942091264909815000000,0.000006137276478679510,0.000000399091610249379,0.035371708172732900000,0.000000129380915248536
+699,0.944170218696647000000,0.000006095598349381020,0.000000345077923190872,0.019869827128580300000,0.000000172469152791156
+700,0.946260786750444000000,0.000006053920220082530,0.000000291064236132365,0.004366907471091930000,0.000000215540571533416
+701,0.951289764346523000000,0.000005935625859697390,0.000000266273275957054,0.003633992660465760000,0.000000221564760026298
+702,0.956307127675637000000,0.000005817331499312240,0.000000241482315781742,0.002901077849839590000,0.000000227573658700671
+703,0.961336105271716000000,0.000005698899587345250,0.000000216703598055899,0.002168163039213420000,0.000000233597847193554
+704,0.966365082867795000000,0.000005580605226960110,0.000000191912637880587,0.001435248228587260000,0.000000239606745867927
+705,0.971394060463874000000,0.000005462310866574970,0.000000167121677705275,0.000702356498257438000,0.000000245630934360809
+706,0.968664707726972000000,0.000005308115543328750,0.000000179131520634649,0.000595183142151545000,0.000000285827867223216
+707,0.965923740723104000000,0.000005154057771664370,0.000000191141363564022,0.000487998245897477000,0.000000326009510267113
+708,0.963194387986202000000,0.000004999862448418160,0.000000203151206493395,0.000380813349643409000,0.000000366206443129520
+709,0.960465035249300000000,0.000004845804676753780,0.000000215161049422769,0.000273628453389342000,0.000000406403375991927
+710,0.957735682512398000000,0.000004691746905089410,0.000000227170892352142,0.000166443557135274000,0.000000446600308854334
+711,0.952207291436801000000,0.000005470701513067400,0.000000213863349779024,0.000138366376624276000,0.000000523844471966118
+712,0.946678900361204000000,0.000006249793672627240,0.000000200568049655375,0.000110284580054008000,0.000000601088635077902
+713,0.941150509285606000000,0.000007028885832187070,0.000000187272749531726,0.000082202783483739900,0.000000678332798189685
+714,0.935622118210009000000,0.000007807840440165060,0.000000173977449408078,0.000054120986913472000,0.000000755592251119979
+715,0.930093727134412000000,0.000008586932599724900,0.000000160682149284429,0.000026039190343204000,0.000000832836414231763
+716,0.928711629365512000000,0.000008274002751031640,0.000000167293071997845,0.000023092990513998200,0.000001017155176368060
+717,0.927329531596613000000,0.000007961072902338380,0.000000173903994711262,0.000020146790684792400,0.000001201489228322860
+718,0.925947433827714000000,0.000007648143053645120,0.000000180527159874148,0.000017199436840769000,0.000001385807990459150
+719,0.924565336058815000000,0.000007335213204951860,0.000000187138082587564,0.000014253237011563200,0.000001570111462776940
+720,0.923183238289915000000,0.000007022283356258600,0.000000193749005300981,0.000011306690977912200,0.000001754506674005780
+721,0.924135608181090000000,0.000008538239339752410,0.000000202673750964093,0.000009045283541440670,0.000002449428925278660
+722,0.925087978072264000000,0.000010054057771664400,0.000000211598496627205,0.000006783991506450940,0.000003144351176551530
+723,0.926040347963438000000,0.000011570013755158200,0.000000220523242290317,0.000004522699471461210,0.000003839426326009510
+724,0.926992717854613000000,0.000013085832187070200,0.000000229435745503960,0.000002261292034989730,0.000004534348577282390
+725,0.927945087745787000000,0.000014601100412654700,0.000000238360491167073,0.000000000000000000000,0.000005229270828555270
+726,0.923461980697088000000,0.000015940852819807400,0.000000216532203763329,0.000002269947146121360,0.000005869608427747960
+727,0.918978873648390000000,0.000017280605226960100,0.000000194703916359585,0.000004540009693724470,0.000006509793128755560
+728,0.914495766599691000000,0.000018618982118294400,0.000000172875628955841,0.000006809956839845820,0.000007149977829763160
+729,0.910012659550992000000,0.000019958734525447000,0.000000151035099102628,0.000009079903985967180,0.000007790162530770760
+730,0.905541166769259000000,0.000021297111416781300,0.000000129206811698885,0.000011349966533570300,0.000008430347231778360
+731,0.901116131055388000000,0.000021566712517193900,0.000000141632897910214,0.000009132873266092740,0.000009331529134749170
+732,0.896691095341517000000,0.000021834938101788200,0.000000154058984121543,0.000006915895400096940,0.000010232558139534900
+733,0.892266059627646000000,0.000022103163686382400,0.000000166485070332872,0.000004698917534101140,0.000011133740042505700
+734,0.887852638180741000000,0.000022372764786795000,0.000000178911156544201,0.000002481824266623580,0.000012034769047291400
+735,0.883427602466870000000,0.000022640990371389300,0.000000191325000306061,0.000000264834860479609,0.000012935950950262200
+736,0.883508902335629000000,0.000026819807427785400,0.000000177760366294088,0.000000211888660650403,0.000015713346482577300
+737,0.883601816471353000000,0.000031000000000000000,0.000000164183489832646,0.000000158942460821197,0.000018491506505817800
+738,0.883694730607078000000,0.000035178817056396200,0.000000150606613371203,0.000000105991644932721,0.000021268137547207300
+739,0.883776030475836000000,0.000039357634112792300,0.000000137041979359230,0.000000053044291088698,0.000024046297570447800
+740,0.883868944611561000000,0.000043536451169188400,0.000000123465102897788,0.000000000097364230157,0.000026822928611837400
+741,0.884670329032183000000,0.000042017881705639600,0.000000189721239425584,0.000000000096626814688,0.000036444811400088700
+742,0.885460099185840000000,0.000040499312242090800,0.000000255989618402850,0.000000000095890553235,0.000046066694188340000
+743,0.886249869339497000000,0.000038979367262723500,0.000000322245754930647,0.000000000095154291781,0.000055688576976591300
+744,0.887051253760119000000,0.000037460797799174700,0.000000388514133907912,0.000000000094416876313,0.000065308930782991600
+745,0.887841023913776000000,0.000035942228335625900,0.000000454770270435709,0.000000000093680614859,0.000074930813571242900
+746,0.885622698923357000000,0.000034174690508940900,0.000000404845561499945,0.000000000092990513998,0.000092919285048086500
+747,0.883404373932939000000,0.000032407152682255800,0.000000354920852564181,0.000000000092300413137,0.000110907756524930000
+748,0.881186048942521000000,0.000030639614855570800,0.000000304983901178948,0.000000000091609158262,0.000128894699019923000
+749,0.878967723952103000000,0.000028872077028885800,0.000000255059192243184,0.000000000090919057401,0.000146883170496766000
+750,0.876749398961684000000,0.000027104539202200800,0.000000205134483307420,0.000000000090228956540,0.000164870112991759000
+751,0.873056062066643000000,0.000030147180192572200,0.000000202759448110378,0.000000000089711957902,0.000202009082152195000
+752,0.869351110904635000000,0.000033191196698762000,0.000000200396655362805,0.000000000089193805248,0.000239132761494121000
+753,0.865657774009593000000,0.000036233837689133400,0.000000198033862615232,0.000000000088676806610,0.000276271730654557000
+754,0.861952822847586000000,0.000039276478679504800,0.000000195658827418190,0.000000000088159807972,0.000313410699814993000
+755,0.858259485952544000000,0.000042320495185694600,0.000000193296034670617,0.000000000087641655319,0.000350534379156919000
+756,0.854391935053019000000,0.000039957359009628600,0.000000297503764553212,0.000000000087358921689,0.000468954023515741000
+757,0.850524384153494000000,0.000037595598349381000,0.000000401723736885276,0.000000000087076188058,0.000587373667874562000
+758,0.846656833253969000000,0.000035233837689133400,0.000000505931466767871,0.000000000086792300413,0.000705778022414874000
+759,0.842800896621410000000,0.000032870701513067400,0.000000610139196650466,0.000000000086509566783,0.000824197666773695000
+760,0.838933345721885000000,0.000030508940852819800,0.000000714359168982530,0.000000000086226833153,0.000942617311132517000
+761,0.837353805414571000000,0.000028006877579092200,0.000000840640035258255,0.000000000086177210515,0.001409216702597740000
+762,0.835774265107258000000,0.000025504814305364500,0.000000966933143983448,0.000000000086128741893,0.001875754934788920000
+763,0.834206339066910000000,0.000023002751031636900,0.000001093226252708640,0.000000000086079119256,0.002342400195709680000
+764,0.832626798759596000000,0.000020500687757909200,0.000001219519361433840,0.000000000086029496619,0.002809045456630430000
+765,0.831047258452283000000,0.000017998624484181600,0.000001345812470159030,0.000000000085981027996,0.003275690717551180000
+766,0.833927596659737000000,0.000019459422283356300,0.000002052691502515820,0.000000000086067579108,0.005178967325657840000
+767,0.836807934867191000000,0.000020920220082530900,0.000002759692959367310,0.000000000086152976204,0.007082396831949610000
+768,0.839688273074645000000,0.000022379642365887200,0.000003466571991724100,0.000000000086239527316,0.008985826338241370000
+769,0.842556997015133000000,0.000023840440165061900,0.000004173451024080900,0.000000000086326078427,0.010889102946348000000
+770,0.845437335222587000000,0.000025301237964236600,0.000004880330056437690,0.000000000086412629538,0.012792532452639800000
+771,0.848120230891627000000,0.000025275103163686400,0.000004122522434288650,0.000000000086521106931,0.026053850740791700000
+772,0.850791512293702000000,0.000025250343878954600,0.000003364714812139610,0.000000000086629584324,0.039316239316239300000
+773,0.853462793695776000000,0.000025224209078404400,0.000002606907189990570,0.000000000086738061717,0.052577098909835900000
+774,0.856145689364816000000,0.000025199449793672600,0.000001848977143346840,0.000000000086847693124,0.065839487485283600000
+775,0.858816970766890000000,0.000025173314993122400,0.000001091181763647270,0.000000000086956170517,0.079100347078880200000
+776,0.854450006387847000000,0.000022977991746905100,0.000001074532032369040,0.000000000086975788769,0.135149763772304000000
+777,0.850071427741838000000,0.000020781292984869300,0.000001057882301090800,0.000000000086995407021,0.191199180465728000000
+778,0.845704463362795000000,0.000018585969738652000,0.000001041232569812570,0.000000000087015025273,0.247251655122854000000
+779,0.841325884716786000000,0.000016390646492434700,0.000001024582838534330,0.000000000087034643525,0.303304129779980000000
+780,0.836958920337743000000,0.000014193947730398900,0.000001007933107256100,0.000000000087054261777,0.359341314618595000000
+781,0.828712790792209000000,0.000014972489683631400,0.000000926447363588507,0.000000000086830382902,0.464412947418314000000
+782,0.820466661246675000000,0.000015751031636863800,0.000000844961619920914,0.000000000086605350013,0.569484580218033000000
+783,0.812220531701142000000,0.000016529573590096300,0.000000763463633803852,0.000000000086381471138,0.674540923199242000000
+784,0.803974402155608000000,0.000017308115543328700,0.000000681977890136259,0.000000000086157592263,0.779612555998960000000
+785,0.795728272610074000000,0.000018086657496561200,0.000000600492146468665,0.000000000085933713389,0.884684188798679000000
+786,0.790966423154203000000,0.000021513067400275100,0.000000690535362315292,0.000000000085517114040,0.907741235111539000000
+787,0.786204573698331000000,0.000024939477303989000,0.000000780590820611388,0.000000000085100514691,0.930813571242909000000
+788,0.781442724242459000000,0.000028367262723521300,0.000000870634036458015,0.000000000084685069356,0.953870617555770000000
+789,0.776680874786588000000,0.000031793672627235200,0.000000960677252304641,0.000000000084268470007,0.976942953687140000000
+790,0.771919025330716000000,0.000035220082530949100,0.000001050732710600740,0.000000000083851870658,1.000000000000000000000
+791,0.779549598727076000000,0.000033734525447042600,0.000001069414688490870,0.000000059851824497427,0.994617983884531000000
+792,0.787168557856471000000,0.000032248968363136200,0.000001088108908830480,0.000000119625175987260,0.989235967769063000000
+793,0.794799131252831000000,0.000030763411279229700,0.000001106803129170080,0.000000179391603388188,0.983853951653594000000
+794,0.802418090382225000000,0.000029279229711141700,0.000001125485107060220,0.000000239158030789115,0.978471935538125000000
+795,0.810048663778586000000,0.000027793672627235200,0.000001144179327399830,0.000000298924458190043,0.973089919422657000000
+796,0.743975099011626000000,0.000026690508940852800,0.000001262196540283780,0.000000297008793592910,0.968655872054799000000
+797,0.677889919977701000000,0.000025588720770288900,0.000001380091328673040,0.000000295104669143952,0.964237114505451000000
+798,0.611816355210741000000,0.000024486932599724900,0.000001498108541556990,0.000000293189004546818,0.959803067137593000000
+799,0.545742790443781000000,0.000023385144429160900,0.000001616003329946260,0.000000291273339949685,0.955369019769735000000
+800,0.479669225676821000000,0.000022283356258597000,0.000001734020542830210,0.000000289357675352551,0.950950262220387000000
+801,0.398508728121625000000,0.000025705639614855600,0.000001417185950564990,0.000000231506912548757,0.943458251150559000000
+802,0.317336616299462000000,0.000029126547455295700,0.000001100363600749240,0.000000173644609596787,0.935966240080730000000
+803,0.236176118744265000000,0.000032548830811554300,0.000000783553493382956,0.000000115793846792993,0.928474229010902000000
+804,0.155004006922103000000,0.000035971114167812900,0.000000466743386016674,0.000000057931543841023,0.920997507759583000000
+805,0.073843509366906300000,0.000039392022008253100,0.000000149933278650392,0.000000000072979897062,0.913505496689754000000
+806,0.062039929849827500000,0.000045977991746905100,0.000000172104354639276,0.000000000072251713712,0.907022613641576000000
+807,0.050236350332748700000,0.000052562585969738700,0.000000194275430628160,0.000000000071524684377,0.900539730593398000000
+808,0.038431609388973400000,0.000059148555708390600,0.000000216446506617044,0.000000000070796501027,0.894041557726710000000
+809,0.026628029871894600000,0.000065734525447042600,0.000000238629825055397,0.000000000070069471692,0.887558674678531000000
+810,0.014824450354815900000,0.000072319119669876200,0.000000260800901044281,0.000000000069341288342,0.881075791630353000000
+811,0.012990557600957000000,0.000066016506189821200,0.000000313651555403205,0.000000000068752740785,0.878063697383912000000
+812,0.011157477845785800000,0.000059713892709766200,0.000000366502209762129,0.000000000068164193228,0.875051603137471000000
+813,0.009324165805275200000,0.000053411279229711100,0.000000419340621671584,0.000000000067574491656,0.872039508891029000000
+814,0.007490737622094980000,0.000047108665749656100,0.000000472191276030508,0.000000000066985944100,0.869012124826078000000
+815,0.005657425581584420000,0.000040806052269601100,0.000000525041930389432,0.000000000066397396543,0.866000030579637000000
+816,0.004885425256384940000,0.000036762035763411300,0.000000488167672587931,0.000000000065995799386,0.862865617785117000000
+817,0.004113424931185470000,0.000032718019257221500,0.000000451293414786431,0.000000000065595356244,0.859746494809107000000
+818,0.003341424605985990000,0.000028674002751031600,0.000000414419156984930,0.000000000065194913103,0.856612082014586000000
+819,0.002569540423456170000,0.000024629986244841800,0.000000377544899183429,0.000000000064794469961,0.853477669220066000000
+820,0.001797540098256700000,0.000020585969738652000,0.000000340658398932458,0.000000000064394026819,0.850343256425546000000
+821,0.001593709713011460000,0.000020741403026134800,0.000000775865235116242,0.000000083481431901586,0.845633992324511000000
+822,0.001389995470435880000,0.000020898211829436000,0.000001211072071300030,0.000000166893622914118,0.840909438404966000000
+823,0.001186165085190650000,0.000021053645116918800,0.000001646242180135400,0.000000250317354074826,0.836184884485421000000
+824,0.000982404385547206000,0.000021209078404401700,0.000002081461258768650,0.000000333729545087359,0.831475620384386000000
+825,0.000778620457369833000,0.000021364511691884500,0.000002516680337401910,0.000000417141736099892,0.826751066464841000000
+826,0.000710537624417835000,0.000023683631361760700,0.000002148794730849750,0.000000361252798485933,0.822255859822944000000
+827,0.000642443177198871000,0.000026002751031636900,0.000001781031548792280,0.000000305352320723798,0.817745363362537000000
+828,0.000574348729979907000,0.000028320495185694600,0.000001413268366734820,0.000000249463383109839,0.813234866902130000000
+829,0.000506265897027909000,0.000030639614855570800,0.000001045395002632130,0.000000193562905347705,0.808739660260233000000
+830,0.000438171449808945000,0.000032957359009628600,0.000000677570608327314,0.000000137662427585570,0.804229163799826000000
+831,0.000425546741617403000,0.000032627235213204900,0.000000614277144571086,0.000000110144944261084,0.801278228827424000000
+832,0.000412910419158895000,0.000032295735900962900,0.000000550983680814857,0.000000082623998892146,0.798327293855022000000
+833,0.000400285710967352000,0.000031964236588720800,0.000000487702459508098,0.000000055104207538025,0.795376358882620000000
+834,0.000387661002775810000,0.000031632737276478700,0.000000424408995751870,0.000000027583262169086,0.792425423910218000000
+835,0.000375036294584267000,0.000031302613480055000,0.000000361115531995642,0.000000000063049599557,0.789489778756326000000
+836,0.000368114191472805000,0.000032176066024759300,0.000000543381119694428,0.000000056961017379463,0.786966958702200000000
+837,0.000361180474094377000,0.000033049518569463500,0.000000725646707393215,0.000000113858563943961,0.784459428466584000000
+838,0.000354258370982915000,0.000033922971114167800,0.000000907912295092002,0.000000170759572552912,0.781951898230968000000
+839,0.000347336267871453000,0.000034796423658872100,0.000001090177882790790,0.000000227652503058139,0.779444367995352000000
+840,0.000340414164759991000,0.000035669876203576300,0.000001272480197837980,0.000000284545433563367,0.776921547941226000000
+841,0.000337510598018606000,0.000039581843191196700,0.000001090165640341320,0.000000297770443372493,0.773710686054156000000
+842,0.000334618645544186000,0.000043492434662998600,0.000000907900052642533,0.000000310995453181619,0.770499824167087000000
+843,0.000331715078802801000,0.000047404401650619000,0.000000725622222494277,0.000000324220462990745,0.767273672461508000000
+844,0.000328811512061416000,0.000051314993122420900,0.000000543344392346021,0.000000337445472799871,0.764062810574438000000
+845,0.000325919559586997000,0.000055226960110041300,0.000000361078804647234,0.000000350670482608997,0.760836658868859000000
+846,0.000333898560992323000,0.000051740027510316400,0.000001551118347759020,0.000000337306991021765,0.757549347889241000000
+847,0.000341877562397649000,0.000048253094910591500,0.000002741084436173990,0.000000323931959286357,0.754262036909622000000
+848,0.000349868178069941000,0.000044766162310866600,0.000003931050524588960,0.000000310568467699125,0.750974725930003000000
+849,0.000357847179475267000,0.000041279229711141700,0.000005121016613003930,0.000000297193435963718,0.747687414950384000000
+850,0.000365837795147559000,0.000037792297111416800,0.000006310982701418900,0.000000283829944376486,0.744400103970766000000
+851,0.000352191031463049000,0.000034243466299862400,0.000005264375696289310,0.000000281868119186650,0.740271852973105000000
+852,0.000338555882045505000,0.000030696011004126600,0.000004217768691159730,0.000000279894753848639,0.736128312156935000000
+853,0.000324909118360995000,0.000027147180192572200,0.000003171284110524830,0.000000277932928658804,0.732000061159274000000
+854,0.000311262354676485000,0.000023598349381017900,0.000002124677105395250,0.000000275971103468969,0.727856520343104000000
+855,0.000297627205258940000,0.000020050894085282000,0.000001078045615366720,0.000000274009278279133,0.723712979526933000000
+856,0.000285896795623744000,0.000018163686382393400,0.000000911254483797118,0.000000294943107069495,0.718667339418681000000
+857,0.000274166385988548000,0.000016276478679504800,0.000000744475594676983,0.000000315888476008032,0.713606409491919000000
+858,0.000262447590620318000,0.000014390646492434700,0.000000577684463107379,0.000000336833844946569,0.708560769383667000000
+859,0.000250717180985122000,0.000012503163686382400,0.000000410893331537774,0.000000357779213885106,0.703499839456906000000
+860,0.000238986771349926000,0.000010616368638239300,0.000000244114442417639,0.000000378724582823643,0.698454199348654000000
+861,0.000241007653801930000,0.000010185419532324600,0.000000330093165040461,0.000000400108477392850,0.693102762870205000000
+862,0.000243016921986969000,0.000009754332874828060,0.000000416084130112753,0.000000421492371962056,0.687766616210266000000
+863,0.000245037804438973000,0.000009323383768913340,0.000000502075095185045,0.000000442876266531262,0.682415179731817000000
+864,0.000247058686890977000,0.000008892297111416780,0.000000588053817807867,0.000000464260161100469,0.677063743253368000000
+865,0.000249079569342981000,0.000008461348005502060,0.000000674044782880159,0.000000485644055669675,0.671727596593428000000
+866,0.000241460610213586000,0.000008989270976616230,0.000000539243171773809,0.000000460082627460937,0.666177392474351000000
+867,0.000233853265351157000,0.000009517331499312240,0.000000404453803116928,0.000000434509659104023,0.660627188355274000000
+868,0.000226245920488728000,0.000010045254470426400,0.000000269652192010577,0.000000408948230895285,0.655092274054707000000
+869,0.000218626961359334000,0.000010573314993122400,0.000000134850580904227,0.000000383386802686547,0.649542069935630000000
+870,0.000211019616496905000,0.000011101237964236600,0.000000000054527869936,0.000000357813834329633,0.643991865816553000000
+871,0.000207546950674208000,0.000013641678129298500,0.000000000053768838069,0.000000373462275255614,0.636408115835665000000
+872,0.000204085899118477000,0.000016181568088033000,0.000000000053008581957,0.000000389110716181596,0.628824365854777000000
+873,0.000200613233295781000,0.000018722145804676800,0.000000000052248325845,0.000000404770697255753,0.621240615873890000000
+874,0.000197140567473084000,0.000021262723521320500,0.000000000051489293978,0.000000420419138181734,0.613656865893002000000
+875,0.000193667901650387000,0.000023803301237964200,0.000000000050729037866,0.000000436067579107716,0.606073115912114000000
+876,0.000203656171240752000,0.000025220082530949100,0.000002604213851107330,0.000002626999330671410,0.598718713208874000000
+877,0.000213632826564151000,0.000026636863823934000,0.000005208305277719970,0.000004818011863272320,0.591364310505634000000
+878,0.000223621096154516000,0.000028053645116918800,0.000007812396704332600,0.000007008908994391490,0.584009907802394000000
+879,0.000233609365744881000,0.000029470426409903700,0.000010416610555439900,0.000009199921526992410,0.576655505099154000000
+880,0.000243586021068280000,0.000030887207702888600,0.000013021069255536600,0.000011390818658111600,0.569301102395915000000
+881,0.000239741698702686000,0.000028396148555708400,0.000012784789980779400,0.000011060770420292200,0.565019953213155000000
+882,0.000235885762070127000,0.000025903713892709800,0.000012549734950969000,0.000010730722182472800,0.560754093848906000000
+883,0.000232041439704533000,0.000023412654745529600,0.000012313455676211700,0.000010400558543171700,0.556488234484657000000
+884,0.000228197117338939000,0.000020920220082530900,0.000012078278221906600,0.000010070510305352300,0.552207085301897000000
+885,0.000224341180706380000,0.000018429160935350800,0.000011842611069622800,0.000009740462067532950,0.547941225937648000000
+886,0.000217186792255607000,0.000017920220082530900,0.000010971928063366900,0.000009050707411083160,0.543675366573399000000
+887,0.000210044018071799000,0.000017411279229711100,0.000010101245057111000,0.000008360952754633370,0.539424797027659000000
+888,0.000202889629621026000,0.000016903713892709800,0.000009230562050855140,0.000007671313499665340,0.535174227481920000000
+889,0.000195735241170254000,0.000016394773039890000,0.000008359879044599240,0.000006981558843215550,0.530908368117670000000
+890,0.000188580852719481000,0.000015885832187070200,0.000007489196038343350,0.000006291919588247510,0.526657798571931000000
+891,0.000191542490795693000,0.000015341127922971100,0.000007468506298740250,0.000006676668128418770,0.519823249698026000000
+892,0.000194504128871906000,0.000014795048143053600,0.000007447816559137150,0.000007061532070071780,0.512988700824121000000
+893,0.000197465766948119000,0.000014250343878954600,0.000007427249244028750,0.000007446280610243040,0.506154151950216000000
+894,0.000200427405024332000,0.000013704676753782700,0.000007406559504425650,0.000007831144551896050,0.499319603076312000000
+895,0.000203389043100545000,0.000013159422283356300,0.000007385992189317240,0.000008215893092067300,0.492485054202407000000
+896,0.000206559737982137000,0.000013014442916093500,0.000007268709523401440,0.000007769404759157110,0.487577022460743000000
+897,0.000209730432863730000,0.000012869463548830800,0.000007151549281980340,0.000007322916426246910,0.482668990719080000000
+898,0.000212912742012288000,0.000012724621733149900,0.000007034389040559240,0.000006876428093336720,0.477760958977417000000
+899,0.000216083436893880000,0.000012579642365887200,0.000006917228799138130,0.000006430055161908280,0.472852927235754000000
+900,0.000219254131775473000,0.000012434662998624500,0.000006800068557717030,0.000005983566828998080,0.467944895494090000000
+901,0.000212808213609598000,0.000012552132049518600,0.000006974401038159720,0.000006541994599210650,0.465085699432748000000
+902,0.000206350681176758000,0.000012669601100412700,0.000007148733518602400,0.000007100422369423220,0.462226503371405000000
+903,0.000199893148743917000,0.000012787070151306700,0.000007323065999045090,0.000007658965541117550,0.459367307310062000000
+904,0.000193435616311077000,0.000012904539202200800,0.000007497398479487780,0.000008217393311330120,0.456508111248719000000
+905,0.000186978083878236000,0.000013022008253094900,0.000007671730959930460,0.000008775821081542690,0.453648915187377000000
+906,0.000189324165805275000,0.000013035213204951900,0.000007368240637586770,0.000008689154568744660,0.450835588581564000000
+907,0.000191681861999280000,0.000013048418156808800,0.000007064750315243070,0.000008602488055946640,0.448022261975750000000
+908,0.000194027943926319000,0.000013061760660247600,0.000006761259992899380,0.000008515706141666860,0.445208935369937000000
+909,0.000196374025853358000,0.000013074965612104500,0.000006457769670555690,0.000008429039628868830,0.442395608764124000000
+910,0.000198731722047363000,0.000013088170563961500,0.000006154279348211990,0.000008342373116070810,0.439582282158311000000
+911,0.000203052229358544000,0.000013140577716643700,0.000006172030899942460,0.000008186004108292750,0.435759827530847000000
+912,0.000207372736669725000,0.000013192984869326000,0.000006189782451672930,0.000008029750501996450,0.431937372903384000000
+913,0.000211704858247872000,0.000013245254470426400,0.000006207656427898090,0.000007873496895700140,0.428130208094430000000
+914,0.000216025365559053000,0.000013297661623108700,0.000006225407979628560,0.000007717243289403840,0.424307753466966000000
+915,0.000220357487137199000,0.000013350068775790900,0.000006243159531359030,0.000007560989683107530,0.420485298839503000000
+916,0.000218534047223609000,0.000012963273727647900,0.000006114246538447410,0.000007170932674775540,0.403666498478663000000
+917,0.000216710607310020000,0.000012576341127923000,0.000005985333545535790,0.000006780991067925310,0.386832408299313000000
+918,0.000214898781663395000,0.000012189546079779900,0.000005856420552624170,0.000006391049461075080,0.370013607938474000000
+919,0.000213075341749805000,0.000011802751031636900,0.000005727507559712550,0.000006001107854224850,0.353194807577634000000
+920,0.000211263516103181000,0.000011415818431912000,0.000005598594566800930,0.000005611050845892860,0.336360717398284000000
+921,0.000210450517415593000,0.000011033700137551600,0.000005596268501401760,0.000005208761280494840,0.295674510343562000000
+922,0.000209637518728005000,0.000010651581843191200,0.000005593942436002600,0.000004806356313615070,0.254988303288840000000
+923,0.000208824520040418000,0.000010269463548830800,0.000005591738795098120,0.000004404066748217050,0.214302096234118000000
+924,0.000208011521352830000,0.000009887207702888580,0.000005589412729698960,0.000004001777182819030,0.173615889179395000000
+925,0.000207210136932208000,0.000009505089408528200,0.000005587086664299790,0.000003599372215939250,0.132926624160971000000
+926,0.000202192773603094000,0.000009245116918844570,0.000005377740778374940,0.000003480970295658600,0.111132516857025000000
+927,0.000197175410273981000,0.000008985281980742780,0.000005168394892450080,0.000003362452973896180,0.089338409553078600000
+928,0.000192169661211833000,0.000008725309491059150,0.000004959049006525230,0.000003243935652133770,0.067544302249132300000
+929,0.000187152297882719000,0.000008465474552957360,0.000004749703120600370,0.000003125533731853120,0.045750194945186000000
+930,0.000182146548820571000,0.000008205502063273730,0.000004540357234675510,0.000003007016410090710,0.023956087641239700000
+931,0.000181089650526707000,0.000007917469050894080,0.000004466902537859780,0.000002780252498442080,0.019921104536489200000
+932,0.000180021137965877000,0.000007629298486932600,0.000004393447841044040,0.000002553373185311700,0.015884592449887600000
+933,0.000178964239672013000,0.000007341265474552960,0.000004319870719733600,0.000002326493872181320,0.011849609345137100000
+934,0.000177907341378149000,0.000007053232462173320,0.000004246416022917870,0.000002099614559050940,0.007814167545831230000
+935,0.000176850443084285000,0.000006765061898211830,0.000004172838901607430,0.000001872735245920560,0.003778725746525390000
+936,0.000173215177524071000,0.000006780880330123800,0.000004030581638774290,0.000001871350428139500,0.003214531443511770000
+937,0.000169591526230822000,0.000006796698762035760,0.000003888201951446450,0.000001869965610358440,0.002650337140498140000
+938,0.000165956260670608000,0.000006812517193947730,0.000003745944688613300,0.000001868580792577380,0.002086142837484520000
+939,0.000162332609377359000,0.000006828335625859700,0.000003603565001285460,0.000001867195974796320,0.001522009693744940000
+940,0.000158697343817145000,0.000006844154057771660,0.000003461307738452310,0.000001865811157015260,0.000957830680549822000
+941,0.000159440656902940000,0.000006722833562585970,0.000003302033470856850,0.000001760218801209410,0.000838417197987860000
+942,0.000160172355721769000,0.000006601375515818430,0.000003142759203261390,0.000001654626445403560,0.000719003715425898000
+943,0.000160915668807563000,0.000006480055020632740,0.000002983607360160620,0.000001549149491079470,0.000599590232863936000
+944,0.000161647367626392000,0.000006358596973865200,0.000002824333092565160,0.000001443557135273620,0.000480176750301974000
+945,0.000162390680712187000,0.000006237276478679510,0.000002665058824969700,0.000001337964779467770,0.000360747977921502000
+946,0.000158174701803696000,0.000005931636863823930,0.000002654530318426110,0.000001368430770651100,0.000376664678990260000
+947,0.000153970337162170000,0.000005625997248968360,0.000002643879387387830,0.000001398896761834420,0.000392596669877529000
+948,0.000149754358253679000,0.000005320357634112790,0.000002633350880844240,0.000001429362753017750,0.000408513370946287000
+949,0.000145549993612153000,0.000005014855570839060,0.000002622822374300650,0.000001459944145682830,0.000424430072015045000
+950,0.000141345628970628000,0.000004709215955983490,0.000002612293867757060,0.000001490410136866160,0.000440346773083804000
+951,0.000138023948618483000,0.000004833425034387900,0.000002493786956894340,0.000001469176264223230,0.000375089827683745000
+952,0.000134702268266338000,0.000004957634112792300,0.000002375402470526300,0.000001447826990098550,0.000309817592465177000
+953,0.000131380587914194000,0.000005081843191196700,0.000002257017984158270,0.000001426593117455630,0.000244560647065119000
+954,0.000128070521829015000,0.000005206052269601100,0.000002138633497790240,0.000001405359244812700,0.000179303701665061000
+955,0.000124748841476870000,0.000005330261348005500,0.000002020126586927510,0.000001384125372169780,0.000114039111355748000
+956,0.000126734881127978000,0.000005718294360385140,0.000001966627082746720,0.000001302536524568980,0.000098842560738804000
+957,0.000128732535046051000,0.000006106464924346630,0.000001913127578565920,0.000001220947676968170,0.000083647539103710800
+958,0.000130718574697158000,0.000006494497936726270,0.000001859628074385120,0.000001139324208922840,0.000068450988486766700
+959,0.000132704614348265000,0.000006882530949105910,0.000001806006145709630,0.000001057712281025690,0.000053255966851673500
+960,0.000134702268266338000,0.000007270563961485560,0.000001752506641528840,0.000000976100353128534,0.000038060945216580300
+961,0.000129801047606880000,0.000007735488308115540,0.000001748589057698660,0.000000935698294366100,0.000033470941699922000
+962,0.000124888212680457000,0.000008200412654745530,0.000001744671473868490,0.000000895296235603665,0.000028880938183263800
+963,0.000119986992020999000,0.000008665199449793670,0.000001740753890038320,0.000000854894176841231,0.000024290934666605500
+964,0.000115083448508147000,0.000009130123796423660,0.000001736713881713450,0.000000814503658226972,0.000019700931149947200
+965,0.000110178743568600000,0.000009595048143053640,0.000001732796297883280,0.000000774101599464537,0.000015111233429659200
+966,0.000106418043925158000,0.000009896836313617610,0.000001743936926900330,0.000000835264384794701,0.000013568796538385100
+967,0.000102657344281716000,0.000010198762035763400,0.000001755077555917390,0.000000896415629976689,0.000012026359647111000
+968,0.000098896644638273700,0.000010500687757909200,0.000001766340609429130,0.000000957578415306853,0.000010484075654022000
+969,0.000095135944994831600,0.000010802475928473200,0.000001777481238446190,0.000001018729660488840,0.000008941638762747890
+970,0.000091376406778086200,0.000011104401650619000,0.000001788621867463240,0.000001079892445819000,0.000007399354769658880
+971,0.000092371749457033000,0.000010952682255845900,0.000001750303000624370,0.000001047741593002050,0.000006675534761402380
+972,0.000093368253562676400,0.000010800962861072900,0.000001712106558280180,0.000001015579200036930,0.000005951714753145880
+973,0.000094364757668319700,0.000010649243466299900,0.000001673787691441300,0.000000983428347219978,0.000005227894744889380
+974,0.000095361261773963100,0.000010497524071526800,0.000001635468824602430,0.000000951265954254853,0.000004504074736632880
+975,0.000096356604452909900,0.000010345804676753800,0.000001597272382258240,0.000000919115101437903,0.000003780254728376370
+976,0.000093159196757296600,0.000009735900962861070,0.000001511330386983830,0.000000888175964179380,0.000003442808433863890
+977,0.000089960627634986800,0.000009126134800550210,0.000001425388391709410,0.000000857236826920858,0.000003105209241166310
+978,0.000086762058512677000,0.000008516231086657500,0.000001339446396435000,0.000000826297689662335,0.000002767762946653820
+979,0.000083563489390367100,0.000007906327372764790,0.000001253504401160580,0.000000795358552403813,0.000002430316652141340
+980,0.000080364920268057300,0.000007296561210453920,0.000001167623618133520,0.000000764419415145290,0.000002092870357628850
+981,0.000077748225920721000,0.000006765612104539200,0.000001165787250713120,0.000000718766588963002,0.000001939819274345210
+982,0.000075132693000081300,0.000006234525447042640,0.000001163963125742200,0.000000673113762780714,0.000001786768191061570
+983,0.000072515998652745000,0.000005703576341127920,0.000001162126758321810,0.000000627472476746601,0.000001633870005963030
+984,0.000069899304305408800,0.000005172627235213210,0.000001160290390901410,0.000000581819650564313,0.000001480788343042370
+985,0.000067283771384769000,0.000004641678129298490,0.000001158454023481020,0.000000536166824382025,0.000001327767839395750
+986,0.000070208243806692100,0.000004243603851444290,0.000001146407453203240,0.000000531873889260738,0.000001234897481766890
+987,0.000073133877655311800,0.000003845392022008250,0.000001134373125374930,0.000000527592494287627,0.000001142011834319530
+988,0.000076058350077234900,0.000003447317744154060,0.000001122326555097140,0.000000523299559166340,0.000001049141476690670
+989,0.000078983983925854500,0.000003049243466299860,0.000001110279984819360,0.000000519006624045053,0.000000956271119061817
+990,0.000081908456347777600,0.000002651169188445670,0.000001098233414541580,0.000000514713688923766,0.000000863385471614452
+991,0.000077402120765147900,0.000002633149931224210,0.000001099065901105490,0.000000545329702033374,0.000000822928611837378
+992,0.000072895785182518200,0.000002615130674002750,0.000001099898387669410,0.000000575945715142982,0.000000782456462241793
+993,0.000068389449599888500,0.000002597111416781290,0.000001100730874233320,0.000000606561728252591,0.000000741984312646209
+994,0.000063883114017258800,0.000002579092159559840,0.000001101575603246700,0.000000637177741362199,0.000000701527452869134
+995,0.000059376778434629100,0.000002561072902338380,0.000001102408089810610,0.000000667793754471807,0.000000661055303273550
+996,0.000059530086758574200,0.000002523246217331500,0.000001104036335590030,0.000000602753479354675,0.000000629894653150467
+997,0.000059683395082519400,0.000002485557083906460,0.000001105664581369440,0.000000537701664089367,0.000000598734003027384
+998,0.000059836703406464500,0.000002447730398899590,0.000001107292827148860,0.000000472661388972234,0.000000567588642722811
+999,0.000059991173157106200,0.000002410041265474550,0.000001108921072928270,0.000000407609573706926,0.000000536427992599728
+1000,0.000060144481481051300,0.000002372214580467680,0.000001110561561157160,0.000000342557758441618,0.000000505267342476645
diff --git a/imagery/i.biomass/i.biomass.html b/imagery/i.biomass/i.biomass.html
index d350bd9..1fe4cc4 100644
--- a/imagery/i.biomass/i.biomass.html
+++ b/imagery/i.biomass/i.biomass.html
@@ -42,4 +42,4 @@ sensing in transition economies. Water International. 30(4):513-521.
 
 Yann Chemin, Bec de Mortagne, France
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 09:23:56 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/imagery/i.cca/i.cca.html b/imagery/i.cca/i.cca.html
index 944a50e..c53db7a 100644
--- a/imagery/i.cca/i.cca.html
+++ b/imagery/i.cca/i.cca.html
@@ -79,4 +79,4 @@ Central Washington University
 
 Ali R. Vali, 
 University of Texas
-<p><i>Last changed: $Date: 2014-12-03 09:40:27 +0100 (Wed, 03 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-03 00:31:27 -0800 (Wed, 03 Dec 2014) $</i>
diff --git a/imagery/i.cluster/i.cluster.html b/imagery/i.cluster/i.cluster.html
index 5ddfed2..11ed28c 100644
--- a/imagery/i.cluster/i.cluster.html
+++ b/imagery/i.cluster/i.cluster.html
@@ -305,4 +305,4 @@ U.S. Army Construction Engineering Research Laboratory
 Tao Wen, 
 University of Illinois at Urbana-Champaign, Illinois
 
-<p><i>Last changed: $Date: 2015-09-22 14:05:02 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 05:04:47 -0700 (Tue, 22 Sep 2015) $</i>
diff --git a/imagery/i.eb.eta/i.eb.eta.html b/imagery/i.eb.eta/i.eb.eta.html
index 8a49f61..282ee63 100644
--- a/imagery/i.eb.eta/i.eb.eta.html
+++ b/imagery/i.eb.eta/i.eb.eta.html
@@ -51,4 +51,4 @@ in: Irmak, A. (Ed.), Evapotranspiration - Remote Sensing and Modeling. InTech.
 
 Yann Chemin, Asian Institute of Technology, Thailand
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-25 09:55:23 -0800 (Sun, 25 Jan 2015) $</i>
diff --git a/imagery/i.eb.evapfr/i.eb.evapfr.html b/imagery/i.eb.evapfr/i.eb.evapfr.html
index f0e8886..a86539f 100644
--- a/imagery/i.eb.evapfr/i.eb.evapfr.html
+++ b/imagery/i.eb.evapfr/i.eb.evapfr.html
@@ -40,4 +40,4 @@ in: Irmak, A. (Ed.), Evapotranspiration - Remote Sensing and Modeling. InTech.
 
 Yann Chemin, Asian Institute of Technology, Thailand
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-25 09:55:23 -0800 (Sun, 25 Jan 2015) $</i>
diff --git a/imagery/i.eb.hsebal01/i.eb.hsebal01.html b/imagery/i.eb.hsebal01/i.eb.hsebal01.html
index aa08f50..6b6cd36 100644
--- a/imagery/i.eb.hsebal01/i.eb.hsebal01.html
+++ b/imagery/i.eb.hsebal01/i.eb.hsebal01.html
@@ -69,4 +69,4 @@ Philippines.
 <p>Contact: <a href="mailto:yann.chemin at gmail.com">Yann Chemin</a>
 
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-25 09:55:23 -0800 (Sun, 25 Jan 2015) $</i>
diff --git a/imagery/i.eb.netrad/i.eb.netrad.html b/imagery/i.eb.netrad/i.eb.netrad.html
index 9d6a8ad..a5276e2 100644
--- a/imagery/i.eb.netrad/i.eb.netrad.html
+++ b/imagery/i.eb.netrad/i.eb.netrad.html
@@ -47,4 +47,4 @@ in: Irmak, A. (Ed.), Evapotranspiration - Remote Sensing and Modeling. InTech.
 
 Yann Chemin, International Rice Research Institute, The Philippines
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 09:23:56 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/imagery/i.eb.soilheatflux/i.eb.soilheatflux.html b/imagery/i.eb.soilheatflux/i.eb.soilheatflux.html
index 1a1e33e..2e8fcbf 100644
--- a/imagery/i.eb.soilheatflux/i.eb.soilheatflux.html
+++ b/imagery/i.eb.soilheatflux/i.eb.soilheatflux.html
@@ -71,4 +71,4 @@ in: Irmak, A. (Ed.), Evapotranspiration - Remote Sensing and Modeling. InTech.
 
 Yann Chemin, Asian Institute of Technology, Thailand<br>
 
-<p><i>Last changed: $Date: 2015-02-27 12:04:43 +0100 (Fri, 27 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2015-02-27 03:03:54 -0800 (Fri, 27 Feb 2015) $</i>
diff --git a/imagery/i.emissivity/i.emissivity.html b/imagery/i.emissivity/i.emissivity.html
index b90a9b9..3f8ffb4 100644
--- a/imagery/i.emissivity/i.emissivity.html
+++ b/imagery/i.emissivity/i.emissivity.html
@@ -16,4 +16,4 @@ Estimation in the 8-14 micrometers range for sparse canopy...
 <h2>AUTHORS</h2>
 Yann Chemin, GRASS Development Team<br>
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 09:23:56 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/imagery/i.evapo.mh/i.evapo.mh.html b/imagery/i.evapo.mh/i.evapo.mh.html
index b76929f..5ecacd7 100644
--- a/imagery/i.evapo.mh/i.evapo.mh.html
+++ b/imagery/i.evapo.mh/i.evapo.mh.html
@@ -31,4 +31,4 @@ under inaccurate data conditions. Irrigation and Drainage Systems 16: 33-45.</li
 
 Yann Chemin, GRASS Development team, 2007-2016<br>
 
-<p><i>Last changed: $Date: 2016-01-27 23:53:28 +0100 (Wed, 27 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-27 14:51:14 -0800 (Wed, 27 Jan 2016) $</i>
diff --git a/imagery/i.evapo.pm/i.evapo.pm.html b/imagery/i.evapo.pm/i.evapo.pm.html
index 66fcf19..0846ca5 100644
--- a/imagery/i.evapo.pm/i.evapo.pm.html
+++ b/imagery/i.evapo.pm/i.evapo.pm.html
@@ -83,4 +83,4 @@ applied science for the Southern Switzerland)
   bare soil and grass. Proc. Roy. Soc. London, A193, pp. 120-146. 
 
 <p>
-<i>Last changed: $Date: 2015-08-01 21:15:31 +0200 (Sat, 01 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-01 12:15:13 -0700 (Sat, 01 Aug 2015) $</i>
diff --git a/imagery/i.evapo.pt/i.evapo.pt.html b/imagery/i.evapo.pt/i.evapo.pt.html
index 3ec47e2..2662063 100644
--- a/imagery/i.evapo.pt/i.evapo.pt.html
+++ b/imagery/i.evapo.pt/i.evapo.pt.html
@@ -37,4 +37,4 @@ Alpha values extracted from:
 
 Yann Chemin, GRASS Development team, 2007-08
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 09:23:56 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/imagery/i.evapo.time/i.evapo.time.html b/imagery/i.evapo.time/i.evapo.time.html
index a922232..b40c820 100644
--- a/imagery/i.evapo.time/i.evapo.time.html
+++ b/imagery/i.evapo.time/i.evapo.time.html
@@ -64,4 +64,4 @@ For multi-year calculations, just continue incrementing DOY values above
 <h2>AUTHOR</h2>
 Yann Chemin, International Rice Research Institute, The Philippines
 
-<p><i>Last changed: $Date: 2014-12-27 23:51:00 +0100 (Sat, 27 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-27 14:28:56 -0800 (Sat, 27 Dec 2014) $</i>
diff --git a/imagery/i.fft/i.fft.html b/imagery/i.fft/i.fft.html
index a42cec0..9b80405 100644
--- a/imagery/i.fft/i.fft.html
+++ b/imagery/i.fft/i.fft.html
@@ -36,7 +36,7 @@ d.rast lsat7_2002_70.real
 d.rast lsat7_2002_70.imag
 </pre></div>
 
-<h2>REFERNCES</h2>
+<h2>REFERENCES</h2>
 
 <ul>
 <li> M. Frigo and S. G. Johnson (1998): "FFTW: An Adaptive Software Architecture
@@ -64,4 +64,4 @@ Central Washington University
 <br>
 Glynn Clements (FFTW support)
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/imagery/i.gensig/i.gensig.html b/imagery/i.gensig/i.gensig.html
index 7ef9d06..be36c7f 100644
--- a/imagery/i.gensig/i.gensig.html
+++ b/imagery/i.gensig/i.gensig.html
@@ -127,4 +127,4 @@ Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-11-01 11:11:04 +0100 (Sat, 01 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-01 03:07:51 -0700 (Sat, 01 Nov 2014) $</i>
diff --git a/imagery/i.gensigset/i.gensigset.html b/imagery/i.gensigset/i.gensigset.html
index 9c8b74a..497ba6f 100644
--- a/imagery/i.gensigset/i.gensigset.html
+++ b/imagery/i.gensigset/i.gensigset.html
@@ -231,4 +231,4 @@ School of Electrical Engineering, Purdue University
 Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2015-02-14 22:08:31 +0100 (Sat, 14 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2015-02-14 13:07:18 -0800 (Sat, 14 Feb 2015) $</i>
diff --git a/imagery/i.group/i.group.html b/imagery/i.group/i.group.html
index 1aaabec..1b7a2d4 100644
--- a/imagery/i.group/i.group.html
+++ b/imagery/i.group/i.group.html
@@ -46,4 +46,4 @@ Research Laboratory
 <br>
 Parser support: Bob Covill (Tekmap, Canada)
 
-<p><i>Last changed: $Date: 2014-11-02 21:55:12 +0100 (Sun, 02 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-02 12:52:19 -0800 (Sun, 02 Nov 2014) $</i>
diff --git a/imagery/i.his.rgb/i.his.rgb.html b/imagery/i.his.rgb/i.his.rgb.html
index 709e7dc..535fe42 100644
--- a/imagery/i.his.rgb/i.his.rgb.html
+++ b/imagery/i.his.rgb/i.his.rgb.html
@@ -5,8 +5,8 @@ processes three input raster map layers as hue, intensity
 and saturation components and produces three output raster
 map layers representing the red, green and blue components
 of this data.  The output raster map layers are created by
-a standard hue-intensity-saturation (his) to red-green-blue
-(rgb) color transformation.  Each output raster map layer
+a standard hue-intensity-saturation (HIS) to red-green-blue
+(RGB) color transformation.  Each output raster map layer
 is given a linear gray scale color table.  The current
 geographic region and mask settings are respected.
 
@@ -39,4 +39,4 @@ Central Washington University
 with acknowledgements to Ali Vali, Univ. of Texas Space Research
 Center, for the core routine.
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/imagery/i.ifft/i.ifft.html b/imagery/i.ifft/i.ifft.html
index 5018816..77549b6 100644
--- a/imagery/i.ifft/i.ifft.html
+++ b/imagery/i.ifft/i.ifft.html
@@ -52,4 +52,4 @@ Central Washington University
 <br>
 Glynn Clements (FFTW support)
 
-<p><i>Last changed: $Date: 2014-11-01 11:11:04 +0100 (Sat, 01 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-01 03:07:51 -0700 (Sat, 01 Nov 2014) $</i>
diff --git a/imagery/i.landsat.acca/i.landsat.acca.html b/imagery/i.landsat.acca/i.landsat.acca.html
index bb21889..a503d72 100644
--- a/imagery/i.landsat.acca/i.landsat.acca.html
+++ b/imagery/i.landsat.acca/i.landsat.acca.html
@@ -23,7 +23,7 @@ useful for Landsat-4/5 TM.
 Run the standard ACCA algorithm with filling of small cloud holes
 (the <b>-f</b> flag): With per-band reflectance raster maps
 named <tt>226_62.toar.1, 226_62.toar.2, </tt> [...] and LANDSAT-7
-thermal band <tt>226_62.toar.61</tt>, outputing to a new raster map
+thermal band <tt>226_62.toar.61</tt>, outputting to a new raster map
 named <tt>226_62.acca</tt>:
 
 <div class="code"><pre>
@@ -58,4 +58,4 @@ i.landsat.acca -f band_prefix=226_62.toar output=226_62.acca
 
 E. Jorge Tizado  (ej.tizado unileon es), Dept. Biodiversity and Environmental Management, University of Le�n, Spain
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-29 01:29:57 -0800 (Fri, 29 Jan 2016) $</i>
diff --git a/imagery/i.landsat.toar/i.landsat.toar.html b/imagery/i.landsat.toar/i.landsat.toar.html
index 03cc081..73fe9cf 100644
--- a/imagery/i.landsat.toar/i.landsat.toar.html
+++ b/imagery/i.landsat.toar/i.landsat.toar.html
@@ -284,4 +284,4 @@ E. Jorge Tizado  (ej.tizado unileon es), Dept. Biodiversity and Environmental Ma
 University of León, Spain
 
 <p>
-<i>Last changed: $Date: 2015-12-30 14:01:52 +0100 (Wed, 30 Dec 2015) $</i>
+<i>Last changed: $Date: 2015-12-30 05:00:44 -0800 (Wed, 30 Dec 2015) $</i>
diff --git a/imagery/i.maxlik/i.maxlik.html b/imagery/i.maxlik/i.maxlik.html
index 0e936a4..97f7b8f 100644
--- a/imagery/i.maxlik/i.maxlik.html
+++ b/imagery/i.maxlik/i.maxlik.html
@@ -153,4 +153,4 @@ University of Illinois at Urbana-Champaign,
 Illinois
 
 <p>
-<i>Last changed: $Date: 2015-09-14 18:36:24 +0200 (Mon, 14 Sep 2015) $</i>
+<i>Last changed: $Date: 2015-09-14 09:35:33 -0700 (Mon, 14 Sep 2015) $</i>
diff --git a/imagery/i.modis.qc/i.modis.qc.html b/imagery/i.modis.qc/i.modis.qc.html
index 168294e..631dab0 100644
--- a/imagery/i.modis.qc/i.modis.qc.html
+++ b/imagery/i.modis.qc/i.modis.qc.html
@@ -420,4 +420,4 @@ Add more daily products.
 Yann Chemin
 
 <p>
-<i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/imagery/i.ortho.photo/README b/imagery/i.ortho.photo/README
index 7fa9938..2a73c57 100644
--- a/imagery/i.ortho.photo/README
+++ b/imagery/i.ortho.photo/README
@@ -35,14 +35,23 @@ frontend:
 
 internal:
  libes/         -> lib/
- menu/          -> TODO (wxGUI)
+ menu/          -> TODO (wxGUI, use g.gui.gcp classes)
  photo.elev/    -> i.ortho.elev/
- photo.2target/ -> ? i.ortho.transform/
+ photo.2target/ -> ? i.ortho.transform/ 
  photo.camera/  -> i.ortho.camera/
- photo.2image/  -> ?
+ photo.2image/  -> ? (wxGUI, use g.gui.gcp classes: fiducial marks)
  photo.init/    -> i.ortho.init/
  photo.rectify/ -> ? i.ortho.rectify/
 
+
+Workflow description:
+
+Open Source GIS: A GRASS GIS Approach, Second Edition, 2004
+by Markus Neteler and Helena Mitasova, 
+Chapter 10 – PROCESSING OF AERIAL PHOTOS
+http://grassbook.org/extra/sample-chapter/
+--> PDF
+
 ######################################################################
 GRASS GIS 4 to 6
 
diff --git a/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html b/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html
index 64f4f66..02ad589 100644
--- a/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html
+++ b/imagery/i.ortho.photo/i.ortho.camera/i.ortho.camera.html
@@ -110,5 +110,5 @@ is reached.
 Mike Baba, DBA Systems, Inc.
 
 <p>
-<i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
 
diff --git a/imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html b/imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html
index a4b8953..d5027a2 100644
--- a/imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html
+++ b/imagery/i.ortho.photo/i.ortho.elev/i.ortho.elev.html
@@ -19,4 +19,4 @@ Mike Baba,  DBA Systems, Inc.<br>
 Bugfixes and enhancements for GRASS GIS 7 by Markus Metz
 
 <p>
-<i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
diff --git a/imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html b/imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html
index 2264cb3..ee875ea 100644
--- a/imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html
+++ b/imagery/i.ortho.photo/i.ortho.init/i.ortho.init.html
@@ -106,4 +106,4 @@ values in this menu are not used.
 
 Mike Baba,  DBA Systems, Inc.
 <p>
-<i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
diff --git a/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html b/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html
index 9f1456b..bc7b80b 100644
--- a/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html
+++ b/imagery/i.ortho.photo/i.ortho.rectify/i.ortho.rectify.html
@@ -107,4 +107,4 @@ Updated rectification and elevation map to FP 1/2002 Markus Neteler<br>
 Bugfixes and enhancements 12/2010 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
diff --git a/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html b/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html
index 29ac702..030a052 100644
--- a/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html
+++ b/imagery/i.ortho.photo/i.ortho.transform/i.ortho.transform.html
@@ -60,4 +60,4 @@ Brian J. Buckley<br>
 Glynn Clements<br>
 Hamish Bowman
 
-<p><i>Last changed: $Date: 2013-02-20 11:16:02 +0100 (Wed, 20 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-20 02:16:02 -0800 (Wed, 20 Feb 2013) $</i>
diff --git a/imagery/i.pca/i.pca.html b/imagery/i.pca/i.pca.html
index db67c00..bc91f47 100644
--- a/imagery/i.pca/i.pca.html
+++ b/imagery/i.pca/i.pca.html
@@ -119,4 +119,4 @@ Research Laboratory
 <p>Rewritten for GRASS 6.x and major modifications by <br>
 Brad Douglas
 
-<p><i>Last changed: $Date: 2015-09-14 19:06:52 +0200 (Mon, 14 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-14 10:06:11 -0700 (Mon, 14 Sep 2015) $</i>
diff --git a/imagery/i.rectify/i.rectify.html b/imagery/i.rectify/i.rectify.html
index bba576c..2683dbb 100644
--- a/imagery/i.rectify/i.rectify.html
+++ b/imagery/i.rectify/i.rectify.html
@@ -198,4 +198,4 @@ Pierre de Mouveaux (pmx at audiovu.com)
 <br>
 CMD mode by Bob Covill
 
-<p><i>Last changed: $Date: 2013-06-04 21:23:48 +0200 (Tue, 04 Jun 2013) $</i>
+<p><i>Last changed: $Date: 2013-06-04 12:23:48 -0700 (Tue, 04 Jun 2013) $</i>
diff --git a/imagery/i.rectify/target.c b/imagery/i.rectify/target.c
index 043628c..fcc87e7 100644
--- a/imagery/i.rectify/target.c
+++ b/imagery/i.rectify/target.c
@@ -32,7 +32,8 @@ int get_target(char *group)
     sprintf(buf, _("Mapset <%s> in target location <%s> - "), mapset, location);
     strcat(buf, stat == 0 ? _("permission denied") : _("not found"));
   error:
-    strcat(buf, _("Please run i.target for group."));
+    strcat(buf, "\n");
+    strcat(buf, _("Please run i.target for group "));
     strcat(buf, group);
     G_fatal_error("%s", buf);
     return 1;			/* never reached */
diff --git a/imagery/i.rgb.his/i.rgb.his.html b/imagery/i.rgb.his/i.rgb.his.html
index 41357c5..595fa3a 100644
--- a/imagery/i.rgb.his/i.rgb.his.html
+++ b/imagery/i.rgb.his/i.rgb.his.html
@@ -5,8 +5,8 @@ processes three input raster map layers as red, green, and
 blue components and produces three output raster map layers
 representing the hue, intensity, and saturation of the
 data.  The output raster map layers are created by a
-standard red-green-blue (rgb) to hue-intensity-saturation
-(his) color transformation.  Each output raster map layer
+standard red-green-blue (RGB) to hue-intensity-saturation
+(HIS) color transformation.  Each output raster map layer
 is given a linear gray scale color table.  The current
 geographic region definition and mask settings are
 respected.
@@ -23,4 +23,4 @@ Central Washington University,
 with acknowledgements to Ali Vali, Space Research
 Center, for the core routine. 
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/imagery/i.segment/i.segment.html b/imagery/i.segment/i.segment.html
index da07b49..e5f7313 100644
--- a/imagery/i.segment/i.segment.html
+++ b/imagery/i.segment/i.segment.html
@@ -267,5 +267,5 @@ Eric Momsen - North Dakota State University<br>
 Markus Metz (GSoC Mentor)
 
 <p>
-<i>Last changed: $Date: 2015-09-30 21:14:28 +0200 (Wed, 30 Sep 2015) $</i>
+<i>Last changed: $Date: 2015-09-30 12:11:48 -0700 (Wed, 30 Sep 2015) $</i>
 
diff --git a/imagery/i.segment/open_files.c b/imagery/i.segment/open_files.c
index a3a3ff2..fc989bf 100644
--- a/imagery/i.segment/open_files.c
+++ b/imagery/i.segment/open_files.c
@@ -497,7 +497,8 @@ static int read_seed(struct globals *globals, SEGMENT *seeds_seg, struct rc *Ri,
 	rgtree_insert(globals->reg_tree, &(globals->rs));
     }
     else {
-	update_band_vals(Ri->row, Ri->col, &(globals->rs), globals);
+	if (globals->rs.count > 1)
+	    update_band_vals(Ri->row, Ri->col, &(globals->rs), globals);
     }
     if (globals->rs.count > 1)
 	globals->n_regions -= (globals->rs.count - 1);
diff --git a/imagery/i.smap/i.smap.html b/imagery/i.smap/i.smap.html
index 3d89083..f61b0c9 100644
--- a/imagery/i.smap/i.smap.html
+++ b/imagery/i.smap/i.smap.html
@@ -222,4 +222,4 @@ U.S.Army Construction Engineering
 Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/imagery/i.target/i.target.html b/imagery/i.target/i.target.html
index b161dc4..8aa4776 100644
--- a/imagery/i.target/i.target.html
+++ b/imagery/i.target/i.target.html
@@ -47,4 +47,4 @@ The GRASS 4 <em>
 Michael Shapiro,
 U.S. Army Construction Engineering Research Laboratory<p>Parser support: Bob Covill
 
-<p><i>Last changed: $Date: 2014-11-02 21:55:12 +0100 (Sun, 02 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-02 12:52:19 -0800 (Sun, 02 Nov 2014) $</i>
diff --git a/imagery/i.target/main.c b/imagery/i.target/main.c
index 6da26c3..ff58081 100644
--- a/imagery/i.target/main.c
+++ b/imagery/i.target/main.c
@@ -65,7 +65,7 @@ int main(int argc, char *argv[])
     c = G_define_flag();
     c->key = 'c';
     c->description =
-	_("Set current location and mapset as target for of imagery group");
+	_("Set current location and mapset as target for imagery group");
 
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
diff --git a/imagery/i.topo.corr/i.topo.corr.html b/imagery/i.topo.corr/i.topo.corr.html
index 3a40eae..297b937 100644
--- a/imagery/i.topo.corr/i.topo.corr.html
+++ b/imagery/i.topo.corr/i.topo.corr.html
@@ -135,4 +135,4 @@ Dept. Biodiversity and Environmental Management, University of León, Spai
 Figure derived from Neteler & Mitasova, 2008.
 
 <p>
-<i>Last changed: $Date: 2014-12-09 19:46:50 +0100 (Tue, 09 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-09 10:39:37 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/imagery/i.vi/i.vi.html b/imagery/i.vi/i.vi.html
index 7ac15c7..753cb7d 100644
--- a/imagery/i.vi/i.vi.html
+++ b/imagery/i.vi/i.vi.html
@@ -402,4 +402,4 @@ thesis, Wageningen Agricultural Univ., The Netherland, 271 pp.
 Baburao Kamble, Asian Institute of Technology, Thailand<br>
 Yann Chemin, Asian Institute of Technology, Thailand
 
-<p><i>Last changed: $Date: 2015-12-30 14:01:52 +0100 (Wed, 30 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-30 05:00:44 -0800 (Wed, 30 Dec 2015) $</i>
diff --git a/imagery/i.zc/i.zc.html b/imagery/i.zc/i.zc.html
index 173eac2..63126b4 100644
--- a/imagery/i.zc/i.zc.html
+++ b/imagery/i.zc/i.zc.html
@@ -96,4 +96,4 @@ The resulting raster map layer is output.
 David Satnik, GIS Laboratory, 
 Central Washington University
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/include/Make/Doxyfile_arch_html.in b/include/Make/Doxyfile_arch_html.in
index 38bb834..466cf35 100644
--- a/include/Make/Doxyfile_arch_html.in
+++ b/include/Make/Doxyfile_arch_html.in
@@ -826,7 +826,7 @@ INLINE_SOURCES         = NO
 # doxygen to hide any special comment blocks from generated source code
 # fragments. Normal C and C++ comments will always remain visible.
 
-STRIP_CODE_COMMENTS    = YES
+STRIP_CODE_COMMENTS    = NO
 
 # If the REFERENCED_BY_RELATION tag is set to YES
 # then for each documented function all documented
@@ -1532,7 +1532,9 @@ INCLUDE_FILE_PATTERNS  =
 
 PREDEFINED             = HAVE_OGR \
                          HAVE_TIFFIO_H \
-                         HAVE_GEOS
+                         HAVE_GEOS \
+                         HAVE_LIBLAPACK \
+                         HAVE_LIBBLAS
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
 # this tag can be used to specify a list of macro names that should be expanded.
diff --git a/include/Make/Doxyfile_arch_latex.in b/include/Make/Doxyfile_arch_latex.in
index 44b7000..9db149f 100644
--- a/include/Make/Doxyfile_arch_latex.in
+++ b/include/Make/Doxyfile_arch_latex.in
@@ -1532,7 +1532,9 @@ INCLUDE_FILE_PATTERNS  =
 
 PREDEFINED             = HAVE_OGR \
                          HAVE_TIFFIO_H \
-                         HAVE_GEOS
+                         HAVE_GEOS \
+                         HAVE_LIBLAPACK \
+                         HAVE_LIBBLAS
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
 # this tag can be used to specify a list of macro names that should be expanded.
diff --git a/include/Make/Grass.make b/include/Make/Grass.make
index b9e447b..f3a61d6 100644
--- a/include/Make/Grass.make
+++ b/include/Make/Grass.make
@@ -114,6 +114,7 @@ libs = \
 	BTREE:btree \
 	BTREE2:btree2 \
 	CAIRODRIVER:cairodriver \
+	CALC:calc \
 	CDHC:cdhc \
 	CCMATH:ccmath \
 	CLUSTER:cluster \
@@ -183,6 +184,7 @@ ARRAYSTATSDEPS   = $(GISLIB) $(MATHLIB)
 BITMAPDEPS       = $(LINKMLIB)
 BTREE2DEPS       = $(GISLIB)
 CAIRODRIVERDEPS  = $(DRIVERLIB) $(GISLIB) $(CAIROLIB) $(FCLIB) $(ICONVLIB)
+CALCDEPS         = $(RASTERLIB) $(GISLIB) $(MATHLIB)
 CDHCDEPS         = $(MATHLIB)
 CLUSTERDEPS      = $(IMAGERYLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB)
 DBMIBASEDEPS     = $(GISLIB)
@@ -195,7 +197,7 @@ DRIVERDEPS       = $(GISLIB) $(FTLIB) $(ICONVLIB) $(MATHLIB)
 DSPFDEPS         = $(GISLIB)
 FORMDEPS         = $(DBMILIB) $(GISLIB)
 RASTER3DDEPS     = $(RASTERLIB) $(GISLIB)
-GISDEPS          = $(DATETIMELIB) $(ZLIBLIBPATH) $(ZLIB) $(INTLLIB) $(REGEXLIBPATH) $(REGEXLIB) $(ICONVLIB) $(PTHREADLIBPATH) $(PTHREADLIB) $(MATHLIB)
+GISDEPS          = $(DATETIMELIB) $(ZLIBLIBPATH) $(ZLIB) $(BZLIB) $(INTLLIB) $(REGEXLIBPATH) $(REGEXLIB) $(ICONVLIB) $(PTHREADLIBPATH) $(PTHREADLIB) $(MATHLIB)
 GMATHDEPS        = $(GISLIB) $(FFTWLIB) $(LAPACKLIB) $(BLASLIB) $(CCMATHLIB) $(OMPLIBPATH) $(OMPLIB)
 GPDEDEPS         = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB) $(GMATHLIB) $(OMPLIBPATH) $(OMPLIB) $(MATHLIB)
 GPROJDEPS        = $(GISLIB) $(GDALLIBS) $(PROJLIB) $(MATHLIB)
diff --git a/include/Make/GuiScript.make b/include/Make/GuiScript.make
index 1fa379a..94203f7 100644
--- a/include/Make/GuiScript.make
+++ b/include/Make/GuiScript.make
@@ -14,7 +14,7 @@ ifdef MINGW
 SCRIPTEXT = .py
 BATFILES  := $(patsubst %,$(BIN)/g.gui.%.bat,$(MODULES))
 else
-SCRIPTEXT = 
+SCRIPTEXT =
 BATFILES =
 endif
 PYFILES  := $(patsubst %,$(SCRIPTDIR)/g.gui.%$(SCRIPTEXT),$(MODULES))
@@ -25,12 +25,12 @@ guiscript: $(IMGDST) $(PYFILES) $(BATFILES)
 	$(MAKE) $(GUIHTML)
 
 $(HTMLDIR)/g.gui.%.html: g.gui.%.html g.gui.%.tmp.html | $(HTMLDIR)
-	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) \
+	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) MODULE_TOPDIR=$(MODULE_TOPDIR) \
         $(PYTHON) $(GISBASE)/tools/mkhtml.py g.gui.$* $(GRASS_VERSION_DATE) > $@
 
 $(HTMLDIR)/wxGUI.%.html: g.gui.%.html | $(HTMLDIR)
 	-rm -f g.gui.$*.tmp.html
-	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) \
+	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) MODULE_TOPDIR=$(MODULE_TOPDIR) \
         $(PYTHON) $(GISBASE)/tools/mkhtml.py g.gui.$* $(GRASS_VERSION_DATE) > $@
 
 g.gui.%.tmp.html: $(SCRIPTDIR)/g.gui.%
diff --git a/include/Make/Html.make b/include/Make/Html.make
index 8ba038d..b7b4c1b 100644
--- a/include/Make/Html.make
+++ b/include/Make/Html.make
@@ -4,7 +4,7 @@
 include $(MODULE_TOPDIR)/include/Make/HtmlRules.make
 
 $(HTMLDIR)/%.html: %.html %.tmp.html $(HTMLSRC) $(IMGDST) | $(HTMLDIR)
-	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) \
+	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) MODULE_TOPDIR=$(MODULE_TOPDIR) \
         $(PYTHON) $(GISBASE)/tools/mkhtml.py $* > $@
 
 $(MANDIR)/%.$(MANSECT): $(HTMLDIR)/%.html
diff --git a/include/Make/Module.make b/include/Make/Module.make
index f7b5f9a..6ba1593 100644
--- a/include/Make/Module.make
+++ b/include/Make/Module.make
@@ -10,11 +10,19 @@ include $(MODULE_TOPDIR)/include/Make/Rules.make
 include $(MODULE_TOPDIR)/include/Make/Html.make
 include $(MODULE_TOPDIR)/include/Make/Compile.make
 
-cmd: $(BIN)/$(PGM)$(EXE) html
+ETCFILES_DST := $(patsubst %,$(ETC)/$(PGM)/%,$(ETCFILES))
+
+cmd: $(BIN)/$(PGM)$(EXE) $(ETCFILES_DST) html
 
 $(BIN)/$(PGM)$(EXE): $(ARCH_OBJS) $(DEPENDENCIES)
 	$(call linker)
 
+$(ETC)/$(PGM)/%: % | $(ETC)/$(PGM)
+	$(INSTALL_DATA) $< $@
+
+$(ETC)/$(PGM):
+	$(MKDIR) $@
+
 install:
 	$(INSTALL) $(ARCH_DISTDIR)/bin/$(PGM)$(EXE) $(INST_DIR)/bin/
 	$(INSTALL_DATA) $(HTMLDIR)/$(PGM).html $(INST_DIR)/docs/html/
diff --git a/include/Make/Platform.make.in b/include/Make/Platform.make.in
index 54b8fc3..44e6d26 100644
--- a/include/Make/Platform.make.in
+++ b/include/Make/Platform.make.in
@@ -94,6 +94,11 @@ ZLIB                = @ZLIB@
 ZLIBINCPATH         = @ZLIBINCPATH@
 ZLIBLIBPATH         = @ZLIBLIBPATH@
 
+#BZIP2:
+BZLIB                = @BZLIB@
+BZLIBINCPATH         = @BZLIBINCPATH@
+BZLIBLIBPATH         = @BZLIBLIBPATH@
+
 DBMIEXTRALIB        = @DBMIEXTRALIB@
 
 #readline
@@ -168,6 +173,12 @@ LASCFLAGS           = @LIBLAS_CFLAGS@
 LASINC              = @LIBLAS_INC@
 USE_LIBLAS          = @USE_LIBLAS@
 
+#LAS LiDAR through PDAL
+PDALLIBS             = @PDAL_LIBS@
+PDALCPPFLAGS         = @PDAL_CPPFLAGS@
+PDALINC              = @PDAL_INC@
+USE_PDAL             = @USE_PDAL@
+
 #GEOS
 GEOSLIBS            = @GEOS_LIBS@
 GEOSCFLAGS          = @GEOS_CFLAGS@
@@ -199,14 +210,6 @@ CAIRO_HAS_XRENDER_SURFACE = @CAIRO_HAS_XRENDER_SURFACE@
 #Python
 PYTHON              = python
 
-#wxWidgets
-WXVERSION           = @WXVERSION@
-WXWIDGETSCXXFLAGS   = @WXWIDGETSCXXFLAGS@
-WXWIDGETSCPPFLAGS   = @WXWIDGETSCPPFLAGS@
-WXWIDGETSLIB        = @WXWIDGETSLIB@
-USE_WXWIDGETS       = @USE_WXWIDGETS@
-MACOSX_ARCHS_WXPYTHON = @MACOSX_ARCHS_WXPYTHON@
-
 #regex
 REGEXINCPATH        = @REGEXINCPATH@
 REGEXLIBPATH        = @REGEXLIBPATH@
diff --git a/include/Make/Script.make b/include/Make/Script.make
index c38fe14..441d750 100644
--- a/include/Make/Script.make
+++ b/include/Make/Script.make
@@ -40,7 +40,7 @@ install:
 	fi
 	$(INSTALL_DATA) $(ARCH_DISTDIR)/docs/man/man1/$(PGM).1 $(INST_DIR)/docs/man/man1/
 	if [ -d "$(ETC)/$(PGM)" ] ; then \
-		cp -rL $(ETC)/$(PGM) $(INST_DIR)/etc/ ; \
+		cp -RL $(ETC)/$(PGM) $(INST_DIR)/etc/ ; \
 	fi
 
 .PHONY: script scriptstrings
diff --git a/include/VERSION b/include/VERSION
index a9955ed..e1593d1 100644
--- a/include/VERSION
+++ b/include/VERSION
@@ -1,4 +1,4 @@
 7
-0
-3
+1
+svn
 2016
diff --git a/include/calc.h b/include/calc.h
new file mode 100644
index 0000000..e0ba60c
--- /dev/null
+++ b/include/calc.h
@@ -0,0 +1,45 @@
+
+#ifndef GRASS_CALC_H
+#define GRASS_CALC_H
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+
+typedef int func_t(int argc, const int *argt, void **args);
+typedef int args_t(int argc, int *argt);
+
+enum {
+    E_ARG_LO	= 1,
+    E_ARG_HI	= 2,
+    E_ARG_TYPE	= 3,
+    E_RES_TYPE	= 4,
+    E_INV_TYPE	= 5,
+    E_ARG_NUM	= 6,
+    E_WTF	= 99
+};
+
+typedef struct func_desc
+{
+    const char *name;
+    args_t *check_args;
+    func_t *func;
+} func_desc;
+
+#define IS_NULL_C(x) (Rast_is_c_null_value((x)))
+#define IS_NULL_F(x) (Rast_is_f_null_value((x)))
+#define IS_NULL_D(x) (Rast_is_d_null_value((x)))
+
+#define SET_NULL_C(x) (Rast_set_c_null_value((x),1))
+#define SET_NULL_F(x) (Rast_set_f_null_value((x),1))
+#define SET_NULL_D(x) (Rast_set_d_null_value((x),1))
+
+extern volatile int floating_point_exception;
+extern volatile int floating_point_exception_occurred;
+
+extern int columns;
+
+extern func_desc calc_func_descs[];
+
+#include <grass/defs/calc.h>
+
+#endif
diff --git a/include/config.h.in b/include/config.h.in
index 280dcd9..3b6a95f 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -38,6 +38,9 @@
 /* define if zlib.h exists */
 #undef HAVE_ZLIB_H
 
+/* define if bzlib.h exists */
+#undef HAVE_BZLIB_H
+
 /* define if sys/ioctl.h exists */
 #undef HAVE_SYS_IOCTL_H
 
diff --git a/include/dbmi.h b/include/dbmi.h
index f60824d..407de5c 100644
--- a/include/dbmi.h
+++ b/include/dbmi.h
@@ -293,10 +293,10 @@ typedef struct
 typedef struct _db_connection
 {
     char *driverName;
-    /* char *hostName; */
+    char *hostName;
     char *databaseName;
     char *schemaName;
-    char *location;
+    char *port;
     char *user;
     char *password;
     char *keycol;		/* name of default key column */
diff --git a/include/defs/calc.h b/include/defs/calc.h
new file mode 100644
index 0000000..fafa0e6
--- /dev/null
+++ b/include/defs/calc.h
@@ -0,0 +1,107 @@
+
+#ifndef GRASS_CALCDEFS_H
+#define GRASS_CALCDEFS_H
+
+extern void calc_init(int);
+extern void pre_exec(void);
+extern void post_exec(void);
+
+extern func_t f_add;
+extern func_t f_sub;
+extern func_t f_mul;
+extern func_t f_div;
+extern func_t f_mod;
+extern func_t f_pow;
+extern args_t c_binop;
+
+extern func_t f_neg;
+extern func_t f_abs;
+extern args_t c_unop;
+
+extern func_t f_gt;
+extern func_t f_ge;
+extern func_t f_lt;
+extern func_t f_le;
+extern func_t f_eq;
+extern func_t f_ne;
+extern args_t c_cmpop;
+
+extern func_t f_and;
+extern func_t f_or;
+extern func_t f_and2;
+extern func_t f_or2;
+extern func_t f_bitand;
+extern func_t f_bitor;
+extern func_t f_bitxor;
+extern args_t c_logop;
+
+extern func_t f_shiftl;
+extern func_t f_shiftr;
+extern func_t f_shiftru;
+extern args_t c_shiftop;
+
+extern func_t f_not;
+extern func_t f_bitnot;
+extern args_t c_not;
+
+extern func_t f_sqrt;
+extern func_t f_sin;
+extern func_t f_cos;
+extern func_t f_tan;
+extern func_t f_acos;
+extern func_t f_asin;
+extern args_t c_double1;
+
+extern func_t f_exp;
+extern func_t f_log;
+extern func_t f_atan;
+extern args_t c_double12;
+
+extern func_t f_int;
+extern args_t c_int;
+
+extern func_t f_float;
+extern args_t c_float;
+
+extern func_t f_double;
+extern args_t c_double;
+
+extern func_t f_round;
+extern args_t c_round;
+
+extern func_t f_eval;
+extern args_t c_eval;
+
+extern func_t f_if;
+extern args_t c_if;
+
+extern func_t f_isnull;
+extern args_t c_isnull;
+
+extern func_t f_graph;
+extern func_t f_graph2;
+extern args_t c_graph;
+
+extern func_t f_min;
+extern func_t f_max;
+extern func_t f_nmin;
+extern func_t f_nmax;
+extern args_t c_varop;
+
+extern func_t f_median;
+extern func_t f_nmedian;
+extern args_t c_median;
+
+extern func_t f_mode;
+extern func_t f_nmode;
+extern args_t c_mode;
+
+extern func_t f_rand;
+extern args_t c_binop;
+
+extern func_t f_null;
+extern args_t c_int0;
+
+extern args_t c_double0;
+
+#endif
diff --git a/include/defs/dbmi.h b/include/defs/dbmi.h
index c2159b8..f298bec 100644
--- a/include/defs/dbmi.h
+++ b/include/defs/dbmi.h
@@ -411,7 +411,11 @@ void db_zero(void *, int);
 void db_zero_string(dbString *);
 unsigned int db_sizeof_string(const dbString *);
 int db_set_login(const char *, const char *, const char *, const char *);
+int db_set_login2(const char *, const char *, const char *, const char *,
+                  const char *, const char *, int);
 int db_get_login(const char *, const char *, const char **, const char **);
+int db_get_login2(const char *, const char *, const char **, const char **,
+                  const char **, const char **);
 int db_get_login_dump(FILE *);
 
 #endif
diff --git a/include/defs/gis.h b/include/defs/gis.h
index dc6515f..1848722 100644
--- a/include/defs/gis.h
+++ b/include/defs/gis.h
@@ -164,6 +164,58 @@ int G_num_standard_colors(void);
 int G_insert_commas(char *);
 void G_remove_commas(char *);
 
+/* compress.c */
+int G_compressor_number(char *);
+char *G_compressor_name(int);
+int G_check_compressor(int);
+int G_write_compressed(int, unsigned char *, int, int);
+int G_write_unompressed(int, unsigned char *, int);
+int G_read_compressed(int, int, unsigned char *, int, int);
+int G_compress(unsigned char *, int, unsigned char *, int, int);
+int G_expand(unsigned char *, int, unsigned char *, int, int);
+
+/* compress.c : no compression */
+int
+G_no_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz);
+int
+G_no_expand(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz);
+
+/* cmprrle.c : Run Length Encoding (RLE) */
+int
+G_rle_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz);
+int
+G_rle_expand(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz);
+
+/* cmprzlib.c : ZLIB's DEFLATE */
+int
+G_zlib_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz);
+int
+G_zlib_expand(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz);
+
+/* cmprlz4.c : LZ4, extremely fast */
+int
+G_lz4_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz);
+int
+G_lz4_expand(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz);
+
+/* cmprbzip.c : BZIP2, high compression, faster than ZLIB's DEFLATE with level 9 */
+int
+G_bz2_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz);
+int
+G_bz2_expand(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz);
+
+/* add more compression methods here */
+
 /* copy_dir.c */
 int G_recursive_copy(const char *, const char *);
 
@@ -247,6 +299,7 @@ void G_init_logging(void);
 char *G_file_name(char *, const char *, const char *, const char *);
 char *G_file_name_misc(char *, const char *, const char *, const char *,
 		       const char *);
+char *G_file_name_tmp(char *, const char *, const char *, const char *);
 
 /* find_file.c */
 const char *G_find_file(const char *, char *, const char *);
@@ -269,13 +322,6 @@ const char *G_find_raster3d(const char *, const char *);
 const char *G_find_vector(char *, const char *);
 const char *G_find_vector2(const char *, const char *);
 
-/* flate.c */
-int G_zlib_compress(const unsigned char *, int, unsigned char *, int);
-int G_zlib_expand(const unsigned char *, int, unsigned char *, int);
-int G_zlib_write(int, const unsigned char *, int);
-int G_zlib_read(int, int, unsigned char *, int);
-int G_zlib_write_noCompress(int, const unsigned char *, int);
-
 /* geodesic.c */
 int G_begin_geodesic_equation(double, double, double, double);
 double G_geodesic_lat_from_lon(double);
@@ -437,6 +483,7 @@ char *G_mapset_path(void);
 
 /* mapset_msc.c */
 int G_make_mapset_element(const char *);
+int G_make_mapset_element_tmp(const char *);
 int G__make_mapset_element_misc(const char *, const char *);
 int G_mapset_permissions(const char *);
 int G_mapset_permissions2(const char *, const char *, const char *);
@@ -560,6 +607,7 @@ int G_pole_in_polygon(const double *, const double *, int);
 
 /* progrm_nme.c */
 const char *G_program_name(void);
+const char *G_original_program_name(void);
 void G_set_program_name(const char *);
 
 /* proj1.c */
@@ -596,6 +644,7 @@ void G__read_Cell_head_array(char **, struct Cell_head *, int);
 /* remove.c */
 int G_remove(const char *, const char *);
 int G_remove_misc(const char *, const char *, const char *);
+int G_recursive_remove(const char *);
 
 /* rename.c */
 int G_rename_file(const char *, const char *);
@@ -649,6 +698,7 @@ void G_init_tempfile(void);
 char *G_tempfile(void);
 char *G_tempfile_pid(int);
 void G_temp_element(char *);
+void G__temp_element(char *, int);
 
 /* mkstemp.c */
 char *G_mktemp(char *);
diff --git a/include/defs/neta.h b/include/defs/neta.h
index 5556a57..926eae8 100644
--- a/include/defs/neta.h
+++ b/include/defs/neta.h
@@ -40,6 +40,8 @@ int NetA_betweenness_closeness(dglGraph_s * graph, double *betweenness,
 /*path.c */
 int NetA_distance_from_points(dglGraph_s * graph, struct ilist *from, int *dst,
 			      dglInt32_t ** prev);
+int NetA_distance_to_points(dglGraph_s * graph, struct ilist *to, int *dst,
+			      dglInt32_t ** nxt);
 int NetA_find_path(dglGraph_s * graph, int from, int to, int *edges,
 		   struct ilist *list);
 
diff --git a/include/defs/raster.h b/include/defs/raster.h
index 7a6cd51..85da0c6 100644
--- a/include/defs/raster.h
+++ b/include/defs/raster.h
@@ -100,6 +100,7 @@ int Rast_cell_stats_histo_eq(struct Cell_stats *, CELL, CELL, CELL, CELL, int,
 void Rast_close(int);
 void Rast_unopen(int);
 void Rast__unopen_all(void);
+void Rast__close_null(int);
 
 /* color_compat.c */
 void Rast_make_ryg_colors(struct Colors *, CELL, CELL);
@@ -266,7 +267,9 @@ void Rast_abs_log_colors(struct Colors *, struct Colors *, int);
 /* format.c */
 int Rast__check_format(int);
 int Rast__read_row_ptrs(int);
+int Rast__read_null_row_ptrs(int, int);
 int Rast__write_row_ptrs(int);
+int Rast__write_null_row_ptrs(int, int);
 
 /* fpreclass.c */
 void Rast_fpreclass_clear(struct FPReclass *);
@@ -326,6 +329,7 @@ void Rast_get_c_row(int, CELL *, int);
 void Rast_get_f_row(int, FCELL *, int);
 void Rast_get_d_row(int, DCELL *, int);
 void Rast_get_null_value_row(int, char *, int);
+int Rast__read_null_bits(int, int, unsigned char *);
 
 /* get_row_colr.c */
 void Rast_get_row_colors(int, int, struct Colors *,
@@ -452,6 +456,7 @@ RASTER_MAP_TYPE Rast_get_map_type(int);
 int Rast_open_new(const char *, RASTER_MAP_TYPE);
 int Rast_open_new_uncompressed(const char *, RASTER_MAP_TYPE);
 void Rast_set_quant_rules(int, struct Quant *);
+int Rast__open_null_write(const char *);
 
 /* put_cellhd.c */
 void Rast_put_cellhd(const char *, struct Cell_head *);
@@ -461,8 +466,7 @@ void Rast_put_row(int, const void *, RASTER_MAP_TYPE);
 void Rast_put_c_row(int, const CELL *);
 void Rast_put_f_row(int, const FCELL *);
 void Rast_put_d_row(int, const DCELL *);
-int Rast__open_null_write(int);
-void Rast__write_null_bits(int, const unsigned char *, int, int, int);
+void Rast__write_null_bits(int, const unsigned char *);
 
 /* put_title.c */
 int Rast_put_cell_title(const char *, const char *);
@@ -540,6 +544,9 @@ char *Rast_read_vdatum(const char *, const char *);
 void Rast_write_units(const char *, const char *);
 void Rast_write_vdatum(const char *, const char *);
 
+/* rast_to_img_string.c */
+int Rast_map_to_img_str(char *, int, unsigned char*);
+
 /* reclass.c */
 int Rast_is_reclass(const char *, const char *, char *, char *);
 int Rast_is_reclassed_to(const char *, const char *, int *, char ***);
diff --git a/include/defs/raster3d.h b/include/defs/raster3d.h
index ed8b471..d7636f2 100644
--- a/include/defs/raster3d.h
+++ b/include/defs/raster3d.h
@@ -112,6 +112,11 @@ int Rast3d_copy_to_xdr(const void *, int);
 int Rast3d_init_copy_from_xdr(RASTER3D_Map *, int);
 int Rast3d_copy_from_xdr(int, void *);
 
+/* gradient.c */
+void Rast3d_gradient_double(RASTER3D_Array_double *, double *,
+			    RASTER3D_Array_double *, RASTER3D_Array_double *,
+			    RASTER3D_Array_double *);
+
 /* history.c */
 int Rast3d_write_history(const char *, struct History *);
 int Rast3d_read_history(const char *, const char *, struct History *);
diff --git a/include/defs/vector.h b/include/defs/vector.h
index c46239c..b90e76c 100644
--- a/include/defs/vector.h
+++ b/include/defs/vector.h
@@ -134,6 +134,7 @@ void Vect_destroy_boxlist(struct boxlist *);
 
 /* Bounding box (MBR) */
 int Vect_point_in_box(double, double, double, const struct bound_box *);
+int Vect_point_in_box_2d(double, double, const struct bound_box *);
 int Vect_box_overlap(const struct bound_box *, const struct bound_box *);
 int Vect_box_copy(struct bound_box *, const struct bound_box *);
 int Vect_box_extend(struct bound_box *, const struct bound_box *);
@@ -159,6 +160,9 @@ int Vect_cidx_dump(const struct Map_info *, FILE *);
 int Vect_cidx_save(struct Map_info *);
 int Vect_cidx_open(struct Map_info *, int);
 
+/* Create/destroy Map_info */
+struct Map_info *Vect_new_map_struct(void);
+void Vect_destroy_map_struct(struct Map_info *);
 
 /* Set/get map header info */
 int Vect_read_header(struct Map_info *);
@@ -313,7 +317,7 @@ int Vect_select_lines_by_box(struct Map_info *, const struct bound_box *,
 int Vect_select_areas_by_box(struct Map_info *, const struct bound_box *,
                              struct boxlist *);
 int Vect_select_isles_by_box(struct Map_info *, const struct bound_box *,
-			     struct boxlist *);
+                 struct boxlist *);
 int Vect_select_nodes_by_box(struct Map_info *, const struct bound_box *,
                              struct ilist *);
 int Vect_find_node(struct Map_info *, double, double, double, double, int);
@@ -391,8 +395,12 @@ int Vect_graph_shortest_path(dglGraph_s *, int, int, struct ilist *, double *);
 /* Network (graph) */
 int Vect_net_build_graph(struct Map_info *, int, int, int, const char *,
                          const char *, const char *, int, int);
+int Vect_net_ttb_build_graph(struct Map_info *, int, int, int, int, int ,
+                            const char *, const char *, const char *, int, int);
 int Vect_net_shortest_path(struct Map_info *, int, int, struct ilist *,
                            double *);
+int Vect_net_ttb_shortest_path(struct Map_info *, int, int, int, int, int,
+                             struct ilist *, double *);
 dglGraph_s *Vect_net_get_graph(struct Map_info *);
 int Vect_net_get_line_cost(const struct Map_info *, int, int, double *);
 int Vect_net_get_node_cost(const struct Map_info *, int, double *);
@@ -401,12 +409,12 @@ int Vect_net_nearest_nodes(struct Map_info *, double, double, double, int,
                            struct line_pnts *, struct line_pnts *, double *);
 int Vect_net_shortest_path_coor(struct Map_info *, double, double, double,
                                 double, double, double, double, double,
-                                double *, struct line_pnts *, struct ilist *,
+                                double *, struct line_pnts *, struct ilist *,  struct ilist *,
                                 struct line_pnts *, struct line_pnts *,
                                 double *, double *);
-int Vect_net_shortest_path_coor2(struct Map_info *, double, double, double,
-                                double, double, double, double, double,
-                                double *, struct line_pnts *, struct ilist *, struct ilist *,
+int Vect_net_ttb_shortest_path_coor(struct Map_info *, double, double, double,
+                                double, double, double, double, double, int,
+                                double *, struct line_pnts *, struct ilist *,  struct ilist *,
                                 struct line_pnts *, struct line_pnts *,
                                 double *, double *);
 
@@ -591,10 +599,19 @@ int Vect_attach_centroids(struct Map_info *, const struct bound_box *);
     /* GEOS support */
 #ifdef HAVE_GEOS
 GEOSGeometry *Vect_read_line_geos(struct Map_info *, int, int*);
-GEOSGeometry *Vect_line_to_geos(struct Map_info *, const struct line_pnts*, int);
+GEOSGeometry *Vect_line_to_geos(const struct line_pnts*, int, int);
 GEOSGeometry *Vect_read_area_geos(struct Map_info *, int);
 GEOSCoordSequence *Vect_get_area_points_geos(struct Map_info *, int);
 GEOSCoordSequence *Vect_get_isle_points_geos(struct Map_info *, int);
+char *Vect_line_to_wkt(const struct line_pnts *, int, int);
+unsigned char *Vect_line_to_wkb(const struct line_pnts *,
+                                int, int, size_t *);
+char *Vect_read_area_to_wkt(struct Map_info *, int);
+unsigned char *Vect_read_area_to_wkb(struct Map_info *, int, size_t *);
+unsigned char *Vect_read_line_to_wkb(const struct Map_info *, 
+                                     struct line_pnts *, 
+                                     struct line_cats *, 
+                                     int, size_t *, int *);
 #endif
 
     /* Raster color tables */
diff --git a/include/gis.h b/include/gis.h
index f10e669..b5439e8 100644
--- a/include/gis.h
+++ b/include/gis.h
@@ -38,8 +38,8 @@
 static const char *GRASS_copyright __attribute__ ((unused))
     = "GRASS GNU GPL licensed Software";
 
-#define GIS_H_VERSION "$Revision: 67364 $"
-#define GIS_H_DATE    "$Date: 2015-12-24 16:07:44 +0100 (Thu, 24 Dec 2015) $"
+#define GIS_H_VERSION "$Revision: 67275 $"
+#define GIS_H_DATE    "$Date: 2015-12-20 04:50:48 -0800 (Sun, 20 Dec 2015) $"
 
 #define G_gisinit(pgm) G__gisinit(GIS_H_VERSION, (pgm))
 #define G_no_gisinit() G__no_gisinit(GIS_H_VERSION)
diff --git a/include/gmath.h b/include/gmath.h
index f6afb46..f453368 100644
--- a/include/gmath.h
+++ b/include/gmath.h
@@ -4,7 +4,7 @@
 
  * @Copyright David D.Gray <ddgray at armadce.demon.co.uk>
  * 27th. Sep. 2000
- * Last updated: $Id: gmath.h 49183 2011-11-11 17:44:36Z martinl $
+ * Last updated: $Id: gmath.h 66485 2015-10-13 02:25:44Z wenzeslaus $
  *
 
  * This file is part of GRASS GIS. It is free software. You can 
@@ -24,10 +24,6 @@
 #define GRASS_GMATH_H
 
 #include <grass/config.h>
-#if defined(HAVE_LIBLAPACK) && defined(HAVE_LIBBLAS) && defined(HAVE_G2C_H)
- /* only include if available */
-#include <grass/la.h>
-#endif
 #include <stddef.h>
 
 /*solver names */
diff --git a/include/la.h b/include/la.h
index 7457b47..c01a712 100644
--- a/include/la.h
+++ b/include/la.h
@@ -13,6 +13,14 @@
  * \date 2000-2007
  */
 
+#ifndef HAVE_LIBBLAS
+#error GRASS GIS is not configured with BLAS (la.h cannot be included)
+#endif
+
+#ifndef HAVE_LIBLAPACK
+#error GRASS GIS is not configured with LAPACK (la.h cannot be included)
+#endif
+
 #ifndef GRASS_LA_H
 #define GRASS_LA_H
 
diff --git a/include/raster3d.h b/include/raster3d.h
index 736797b..0bc84a8 100644
--- a/include/raster3d.h
+++ b/include/raster3d.h
@@ -255,6 +255,18 @@ typedef int write_fn(int, const void *, void *);
 typedef int read_fn(int, void *, void *);
 
 /*---------------------------------------------------------------------------*/
+/* for storing values of 3D raster block in a flat array */
+typedef struct
+{
+    DCELL *array;
+    int sx;
+    int sy;
+    int sz;
+
+} RASTER3D_Array_double;
+
+#define RASTER3D_ARRAY_ACCESS(arr, x, y, z) \
+    ((arr)->array[(arr)->sx * (arr)->sy * (z) + (arr)->sx * (y) + (x)])
 
 /*============================== Prototypes ================================*/
 
diff --git a/lib/Makefile b/lib/Makefile
index 569f6bf..d6f2a27 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -30,6 +30,7 @@ SUBDIRS = \
 	rst \
 	lidar \
 	raster3d \
+	raster3d/test \
 	gpde \
 	dspf \
 	symbol \
@@ -42,7 +43,8 @@ SUBDIRS = \
 	temporal \
 	python \
 	iostream \
-	manage
+	manage \
+	calc
 
 include $(MODULE_TOPDIR)/include/Make/Dir.make
 include $(MODULE_TOPDIR)/include/Make/Doxygen.make
diff --git a/lib/btree2/Makefile b/lib/btree2/Makefile
index a3ecefb..84dda64 100644
--- a/lib/btree2/Makefile
+++ b/lib/btree2/Makefile
@@ -8,4 +8,12 @@ LIB = BTREE2
 
 include $(MODULE_TOPDIR)/include/Make/Lib.make
 
-default: lib
+HEADERS := $(ARCH_INCDIR)/kdtree.h
+
+default: headers
+	$(MAKE) lib
+
+headers: $(HEADERS)
+
+$(ARCH_INCDIR)/kdtree.h: kdtree.h
+	$(INSTALL_DATA) $< $@
diff --git a/lib/btree2/README b/lib/btree2/README
deleted file mode 100644
index 1164bab..0000000
--- a/lib/btree2/README
+++ /dev/null
@@ -1,75 +0,0 @@
-
-#include <grass/rbtree.h>
-
-and link to BTREE2LIB
-
-to make use of this binary balanced (Red-Black) search tree
-
-NOTE: duplicates are not supported
-
-
-USAGE
-=====
-
-see also grass/rbtree.h for instructions on how to use it
-  
-/* custom compare function */
-extern int my_compare_fn(const void *, const void *);
-int my_compare_fn(const void *a, const void *b)
-{
-    if ((mydatastruct *) a < (mydatastruct *) b)
-        return -1;
-    else if ((mydatastruct *) a > (mydatastruct *) b)
-        return 1;
-    else if ((mydatastruct *) a == (mydatastruct *) b)
-        return 0;
-}
-
-/* create and initialize tree: */
-struct RB_TREE *mytree = rbtree_create(my_compare_fn, item_size);
-
-/* insert items to tree: */
-    struct mydatastruct data = <some data>;
-    
-    if (rbtree_insert(mytree, &data) == 0)
-        G_warning("could not insert data");
-
-/* find item in tree: */
-    struct mydatastruct data = <some data>;
-    
-    if (rbtree_find(mytree, &data) == 0)
-        G_message("data not found");
-
-/* delete item from tree: */
-    struct mydatastruct data = <some data>;
-    
-    if (rbtree_remove(mytree, &data) == 0)
-        G_warning("could not find data in tree");
-
-/* traverse tree (get all items in tree in ascending order): */
-    struct RB_TRAV trav;
-    
-    rbtree_init_trav(&trav, tree);
-    while ((data = rbtree_traverse(&trav)) != NULL) {
-        if (my_compare_fn(data, threshold_data) == 0) break;
-  	    /* do something with data */
-    }
-
-/* get a selection of items: all data > data1 and < data2
- * start in tree where data is last smaller or first larger compared to data1 */
-    struct RB_TRAV trav;
-    
-    rbtree_init_trav(&trav, tree);
-    data = rbtree_traverse_start(&trav, &data1);
-  	    /* do something with data */
-    while ((data = rbtree_traverse(&trav)) != NULL) {
-       if (data > data2) break;
-  	    /* do something with data */
-    }
- 
-/* destroy tree: */
-    rbtree_destroy(mytree);
- 
-/* debug the whole tree with */
-    rbtree_debug(mytree, mytree->root);
-    
diff --git a/lib/btree2/btree2.dox b/lib/btree2/btree2.dox
new file mode 100644
index 0000000..688cfef
--- /dev/null
+++ b/lib/btree2/btree2.dox
@@ -0,0 +1,175 @@
+/*! \page btree2 btree2 library
+
+\tableofcontents
+
+Red-Black tree
+==============
+
+Include and linking
+-------------------
+
+To make use of the binary balanced (Red-Black) search tree include:
+
+    #include <grass/rbtree.h>
+
+and link to `BTREE2LIB` in a Makefile.
+
+\note
+    Duplicates are not supported.
+
+Example
+-------
+
+Define custom compare function:
+
+    int my_compare_fn(const void *a, const void *b)
+    {
+        if ((mydatastruct *) a < (mydatastruct *) b)
+            return -1;
+        else if ((mydatastruct *) a > (mydatastruct *) b)
+            return 1;
+        else if ((mydatastruct *) a == (mydatastruct *) b)
+            return 0;
+    }
+
+Create and initialize tree:
+
+    struct RB_TREE *mytree = rbtree_create(my_compare_fn, item_size);
+
+Insert items to tree:
+
+    struct mydatastruct data = <some data>;
+    
+    if (rbtree_insert(mytree, &data) == 0)
+        G_warning("could not insert data");
+
+Find item in tree:
+
+    struct mydatastruct data = <some data>;
+    
+    if (rbtree_find(mytree, &data) == 0)
+        G_message("data not found");
+
+Delete item from tree:
+
+    struct mydatastruct data = <some data>;
+    
+    if (rbtree_remove(mytree, &data) == 0)
+        G_warning("could not find data in tree");
+
+Traverse tree (get all items in tree in ascending order):
+
+    struct RB_TRAV trav;
+    
+    rbtree_init_trav(&trav, tree);
+    while ((data = rbtree_traverse(&trav)) != NULL) {
+        if (my_compare_fn(data, threshold_data) == 0) break;
+            // do something with data (using C++ comments because of Doxygen)
+    }
+
+Get a selection of items: all data > data1 and < data2.
+Start in tree where data is last smaller or first larger compared to data1:
+
+    struct RB_TRAV trav;
+    
+    rbtree_init_trav(&trav, tree);
+    data = rbtree_traverse_start(&trav, &data1);
+    // do something with data
+    while ((data = rbtree_traverse(&trav)) != NULL) {
+        if (data > data2) break;
+            // do something with data
+    }
+ 
+Destroy tree:
+
+    rbtree_destroy(mytree);
+ 
+Debug the whole tree with:
+
+    rbtree_debug(mytree, mytree->root);
+
+See also \ref rbtree.h for more instructions on how to use it.
+
+
+k-d tree
+========
+
+Description
+-----------
+
+k-d tree is a multidimensional (k-dimensional) binary search tree for
+nearest neighbor search.
+
+This k-d tree finds the exact nearest neighbor(s), not some
+approximation. It supports up to 255 dimensions. It is dynamic, i.e.
+points can be inserted and removed at any time. It is balanced to
+improve search performance. It provides k nearest neighbor search
+(find k neighbors to a given coordinate) as well as radius or distance
+search (find all neighbors within radius, i.e. not farther away than
+radius to a given coordinate).
+
+
+Include and linking
+-------------------
+
+Include: 
+
+    #include <grass/kdtree.h>
+
+and link to `BTREE2LIB` in a Makefile.
+
+
+Example
+-------
+
+Create a new k-d tree (here 3D):
+
+    struct kdtree *t = kdtree_create(3, NULL);
+
+Insert items:
+
+    for (i = 0; i < npoints; i++)
+        kdtree_insert(t, c, i, 1);
+
+Find nearest neighbor for each point:
+
+    for (i = 0; i < npoints; i++)
+        int found = kdtree_knn(t, c, &uid, &dist, 1, i);
+
+Destroy the tree:
+
+    kdtree_destroy(t);
+
+
+Example usages
+--------------
+
+- Nearest neighbor statistics: test if points are randomly
+  distributed. For example, an older version of GRASS addon `v.nnstat`
+  used an external k-d tree from PCL (which in turn uses flann)
+  which finds the approximate, not the exact nearest neighbor.
+  The GRASS-native k-d tree always finds the real nearest neighbor.
+
+- Spatial cluster analysis: a point cloud can be partitioned into
+  separate clusters where points within each cluster are closer to each
+  other than to points of another cluster. For example, as used in
+  \gmod{v.cluster}.
+
+- %Point cloud thinning: a sample can be generated from a large point
+  cloud by specifying a minimum distance between sample points.
+
+- This k-d tree is used by \gmod{v.clean} `tool=snap` (Vect_snap_lines()),
+  reducing both memory consumption and processing time.
+
+
+See also
+========
+
+- \ref rbtree.h
+- \ref kdtree.h
+- \ref rtree.h
+- \ref btree.h
+- [Wikipedia article on Red-black_tree](https://en.wikipedia.org/wiki/Red-black_tree)
+- [Wikipedia article on k-d tree](https://en.wikipedia.org/wiki/K-d_tree)
+
+*/
diff --git a/lib/btree2/kdtree.c b/lib/btree2/kdtree.c
new file mode 100644
index 0000000..5fc93d4
--- /dev/null
+++ b/lib/btree2/kdtree.c
@@ -0,0 +1,1247 @@
+/*!
+ * \file kdtree.c
+ *
+ * \brief binary search tree 
+ *
+ * Dynamic balanced k-d tree implementation
+ *
+ * (C) 2014 by the GRASS Development Team
+ *
+ * This program is free software under the GNU General Public License
+ * (>=v2).  Read the file COPYING that comes with GRASS for details.
+ *
+ * \author Markus Metz
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <grass/gis.h>
+#include <grass/glocale.h>
+#include "kdtree.h"
+
+#ifdef MAX
+#undef MAX
+#endif
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+
+#define KD_BTOL 7
+
+#ifdef KD_DEBUG
+#undef KD_DEBUG
+#endif
+
+static struct kdnode *kdtree_insert2(struct kdtree *, struct kdnode *,
+                                 struct kdnode *, int, int);
+static int kdtree_replace(struct kdtree *, struct kdnode *);
+static int kdtree_balance(struct kdtree *, struct kdnode *);
+static int kdtree_first(struct kdtrav *, double *, int *);
+static int kdtree_next(struct kdtrav *, double *, int *);
+
+static int cmp(struct kdnode *a, struct kdnode *b, int p)
+{
+    if (a->c[p] < b->c[p])
+	return -1;
+    if (a->c[p] > b->c[p])
+	return 1;
+
+    return (a->uid < b->uid ? -1 : a->uid > b->uid);
+}
+
+static int cmpc(struct kdnode *a, struct kdnode *b, struct kdtree *t)
+{
+    int i;
+    for (i = 0; i < t->ndims; i++) {
+	if (a->c[i] != b->c[i]) {
+	    return 1;
+	}
+    }
+
+    return 0;
+}
+
+static struct kdnode *kdtree_newnode(struct kdtree *t)
+{
+    struct kdnode *n = G_malloc(sizeof(struct kdnode));
+    
+    n->c = G_malloc(t->ndims * sizeof(double));
+    n->dim = 0;
+    n->depth = 0;
+    n->uid = 0;
+    n->child[0] = NULL;
+    n->child[1] = NULL;
+    
+    return n;
+}
+
+static void kdtree_free_node(struct kdnode *n)
+{
+    G_free(n->c);
+    G_free(n);
+}
+
+/* create a new k-d tree with ndims dimensions,
+ * optionally set balancing tolerance */
+struct kdtree *kdtree_create(char ndims, int *btol)
+{
+    int i;
+    struct kdtree *t;
+    
+    t = G_malloc(sizeof(struct kdtree));
+    
+    t->ndims = ndims;
+    t->csize = ndims * sizeof(double);
+    t->btol = KD_BTOL;
+    if (btol) {
+	t->btol = *btol;
+	if (t->btol < 2)
+	    t->btol = 2;
+    }
+
+    t->nextdim = G_malloc(ndims * sizeof(char));
+    for (i = 0; i < ndims - 1; i++)
+	t->nextdim[i] = i + 1;
+    t->nextdim[ndims - 1] = 0;
+
+    t->count = 0;
+    t->root = NULL;
+
+    return t;
+}
+
+/* clear the tree, removing all entries */
+void kdtree_clear(struct kdtree *t)
+{
+    struct kdnode *it;
+    struct kdnode *save = t->root;
+
+    /*
+    Rotate away the left links so that
+    we can treat this like the destruction
+    of a linked list
+    */
+    while((it = save) != NULL) {
+	if (it->child[0] == NULL) {
+	    /* No left links, just kill the node and move on */
+	    save = it->child[1];
+	    kdtree_free_node(it);
+	    it = NULL;
+	}
+	else {
+	    /* Rotate away the left link and check again */
+	    save = it->child[0];
+	    it->child[0] = save->child[1];
+	    save->child[1] = it;
+	}
+    }
+    t->root = NULL;
+}
+
+/* destroy the tree */
+void kdtree_destroy(struct kdtree *t)
+{
+    /* remove all entries */
+    kdtree_clear(t);
+    G_free(t->nextdim);
+
+    G_free(t);
+    t = NULL;
+}
+
+/* insert an item (coordinates c and uid) into the k-d tree
+ * dc == 1: allow duplicate coordinates */
+int kdtree_insert(struct kdtree *t, double *c, int uid, int dc)
+{
+    struct kdnode *nnew;
+    size_t count = t->count;
+
+    nnew = kdtree_newnode(t);
+    memcpy(nnew->c, c, t->csize);
+    nnew->uid = uid;
+
+    t->root = kdtree_insert2(t, t->root, nnew, 1, dc);
+
+    return count < t->count;
+}
+
+/* remove an item from the k-d tree
+ * coordinates c and uid must match */
+int kdtree_remove(struct kdtree *t, double *c, int uid)
+{
+    struct kdnode sn, *n;
+    struct kdstack {
+	struct kdnode *n;
+	int dir;
+    } s[256];
+    int top;
+    int dir, found;
+    int ld, rd;
+
+    sn.c = c;
+    sn.uid = uid;
+
+    /* find sn node */
+    top = 0;
+    s[top].n = t->root;
+    dir = 1;
+    found = 0;
+    while (!found) {
+	n = s[top].n;
+	found = (!cmpc(&sn, n, t) && sn.uid == n->uid);
+	if (!found) {
+	    dir = cmp(&sn, n, n->dim) > 0;
+	    s[top].dir = dir;
+	    top++;
+	    s[top].n = n->child[dir];
+
+	    if (!s[top].n) {
+		G_warning("Node does not exist");
+		
+		return 0;
+	    }
+	}
+    }
+
+    if (s[top].n->depth == 0) {
+	kdtree_free_node(s[top].n);
+	s[top].n = NULL;
+	if (top) {
+	    top--;
+	    n = s[top].n;
+	    dir = s[top].dir;
+	    n->child[dir] = NULL;
+	}
+	else {
+	    t->root = NULL;
+
+	    return 1;
+	}
+    }
+    else
+	kdtree_replace(t, s[top].n);
+
+    if (top) {
+	int old_depth;
+
+	top--;
+	dir = s[top].dir;
+	n = s[top].n;
+	kdtree_balance(t, n->child[dir]);
+
+	/* update node depth */
+	old_depth = n->depth;
+	ld = (!n->child[0] ? -1 : n->child[0]->depth);
+	rd = (!n->child[1] ? -1 : n->child[1]->depth);
+	n->depth = MAX(ld, rd) + 1;
+	if (old_depth == n->depth)
+	    top = 0;
+    }
+    while (top) {
+	top--;
+	n = s[top].n;
+
+	/* update node depth */
+	ld = (!n->child[0] ? -1 : n->child[0]->depth);
+	rd = (!n->child[1] ? -1 : n->child[1]->depth);
+	n->depth = MAX(ld, rd) + 1;
+    }
+
+    while (kdtree_balance(t, t->root));
+
+    return 1;
+}
+
+/* k-d tree optimization, only useful if the tree will be used heavily
+ * (more searches than items in the tree)
+ * level 0 = a bit, 1 = more, 2 = a lot */
+void kdtree_optimize(struct kdtree *t, int level)
+{
+    struct kdnode *n;
+    struct kdstack {
+	struct kdnode *n;
+	int dir;
+	char v;
+    } s[256];
+    int dir;
+    int top;
+    int ld, rd;
+    int count = 0;
+    int bal = 0;
+
+    if (!t->root)
+	return;
+
+    if (level < 0)
+	level = 0;
+
+    top = 0;
+    s[top].n = t->root;
+    s[top].dir = 0;
+    s[top].v = 0;
+    top++;
+
+    G_debug(1, "k-d tree optimization for %zd items:", t->count);
+
+    /* top-down balancing */
+    while (top) {
+	top--;
+	
+	n = s[top].n;
+	if (!s[top].v) {
+	    s[top].v = 1;
+
+	    while (kdtree_balance(t, n))
+		bal++;
+	}
+	else {
+	    /* update node depth */
+	    ld = (!n->child[0] ? -1 : n->child[0]->depth);
+	    rd = (!n->child[1] ? -1 : n->child[1]->depth);
+	    n->depth = MAX(ld, rd) + 1;
+	    if (level) {
+		while (kdtree_balance(t, n))
+		    bal++;
+	    }
+	}
+
+	if (s[top].dir < 2) {
+	    dir = s[top].dir;
+	    s[top].dir++;
+	    if (!s[top].n->child[dir] && s[top].dir < 2) {
+		dir = s[top].dir;
+		s[top].dir++;
+	    }
+
+	    if (s[top].n->child[dir]) {
+		n = s[top].n;
+		top++;
+		s[top].n = n->child[dir];
+		s[top].dir = 0;
+		s[top].v = 0;
+		top++;
+	    }
+	}
+	count++;
+    }
+    if (level < 2) {
+	G_debug(1, "%d steps, %d times balanced", count, bal);
+	
+	return;
+    }
+
+    /* bottom-up balancing */
+    /* go down */
+    top = 0;
+    s[top].n = t->root;
+    while (s[top].n) {
+	n = s[top].n;
+	s[top].dir = 0;
+	s[top].v = 0;
+	top++;
+	s[top].n = n->child[0];
+    }
+
+    /* traverse */
+    while (top) {
+	top--;
+	
+	if (s[top].dir == 0) {
+	    s[top].dir = 1;
+
+	    /* go down the other side */
+	    top++;
+	    s[top].n = n->child[1];
+	    while (s[top].n) {
+		n = s[top].n;
+		s[top].dir = 0;
+		s[top].v = 0;
+		top++;
+		s[top].n = n->child[0];
+	    }
+	}
+	else {
+	    n = s[top].n;
+	    while (kdtree_balance(t, n))
+		bal++;
+	}
+	count++;
+    }
+    G_debug(1, "%d steps, %d times balanced", count, bal);
+}
+
+/* find k nearest neighbors 
+ * results are stored in uid (uids) and d (squared distances)
+ * optionally an uid to be skipped can be given
+ * useful when searching for the nearest neighbors of an item 
+ * that is also in the tree */
+int kdtree_knn(struct kdtree *t, double *c, int *uid, double *d, int k, int *skip)
+{
+    int i, found;
+    double diff, dist, maxdist;
+    struct kdnode sn, *n;
+    struct kdstack {
+	struct kdnode *n;
+	int dir;
+	char v;
+    } s[256];
+    int dir;
+    int top;
+
+    if (!t->root)
+	return 0;
+
+    sn.c = c;
+    sn.uid = (int)0x80000000;
+    if (skip)
+	sn.uid = *skip;
+
+    maxdist = 1.0 / 0.0;
+    found = 0;
+
+    /* go down */
+    top = 0;
+    s[top].n = t->root;
+    while (s[top].n) {
+	n = s[top].n;
+	dir = cmp(&sn, n, n->dim) > 0;
+	s[top].dir = dir;
+	s[top].v = 0;
+	top++;
+	s[top].n = n->child[dir];
+    }
+    
+    /* go back up */
+    while (top) {
+	top--;
+	
+	if (!s[top].v) {
+	    s[top].v = 1;
+	    n = s[top].n;
+
+	    if (n->uid != sn.uid) {
+		if (found < k) {
+		    dist = 0.0;
+		    i = t->ndims - 1;
+		    do {
+			diff = sn.c[i] - n->c[i];
+			dist += diff * diff;
+			
+		    } while (i--);
+
+		    i = found;
+		    while (i > 0 && d[i - 1] > dist) {
+			d[i] = d[i - 1];
+			uid[i] = uid[i - 1];
+			i--;
+		    }
+		    if (d[i] == dist && uid[i] == n->uid)
+			G_fatal_error("knn: inserting duplicate");
+		    d[i] = dist;
+		    uid[i] = n->uid;
+		    maxdist = d[found];
+		    found++;
+		}
+		else {
+		    dist = 0.0;
+		    i = t->ndims - 1;
+		    do {
+			diff = sn.c[i] - n->c[i];
+			dist += diff * diff;
+			
+		    } while (i-- && dist <= maxdist);
+
+		    if (dist < maxdist) {
+			i = k - 1;
+			while (i > 0 && d[i - 1] > dist) {
+			    d[i] = d[i - 1];
+			    uid[i] = uid[i - 1];
+			    i--;
+			}
+			if (d[i] == dist && uid[i] == n->uid)
+			    G_fatal_error("knn: inserting duplicate");
+			d[i] = dist;
+			uid[i] = n->uid;
+
+			maxdist = d[k - 1];
+		    }
+		}
+		if (found == k && maxdist == 0.0)
+		    break;
+	    }
+
+	    /* look on the other side ? */
+	    dir = s[top].dir;
+	    diff = sn.c[(int)n->dim] - n->c[(int)n->dim];
+	    dist = diff * diff;
+
+	    if (dist <= maxdist) {
+		/* go down the other side */
+		top++;
+		s[top].n = n->child[!dir];
+		while (s[top].n) {
+		    n = s[top].n;
+		    dir = cmp(&sn, n, n->dim) > 0;
+		    s[top].dir = dir;
+		    s[top].v = 0;
+		    top++;
+		    s[top].n = n->child[dir];
+		}
+	    }
+	}
+    }
+
+    return found;
+}
+
+/* find all nearest neighbors within distance aka radius search
+ * results are stored in puid (uids) and pd (squared distances)
+ * memory is allocated as needed, the calling fn must free the memory
+ * optionally an uid to be skipped can be given */
+int kdtree_dnn(struct kdtree *t, double *c, int **puid, double **pd,
+               double maxdist, int *skip)
+{
+    int i, k, found;
+    double diff, dist;
+    struct kdnode sn, *n;
+    struct kdstack {
+	struct kdnode *n;
+	int dir;
+	char v;
+    } s[256];
+    int dir;
+    int top;
+    int *uid;
+    double *d, maxdistsq;
+
+    if (!t->root)
+	return 0;
+
+    sn.c = c;
+    sn.uid = (int)0x80000000;
+    if (skip)
+	sn.uid = *skip;
+
+    *pd = NULL;
+    *puid = NULL;
+
+    k = 0;
+    uid = NULL;
+    d = NULL;
+
+    found = 0;
+    maxdistsq = maxdist * maxdist;
+
+    /* go down */
+    top = 0;
+    s[top].n = t->root;
+    while (s[top].n) {
+	n = s[top].n;
+	dir = cmp(&sn, n, n->dim) > 0;
+	s[top].dir = dir;
+	s[top].v = 0;
+	top++;
+	s[top].n = n->child[dir];
+    }
+    
+    /* go back up */
+    while (top) {
+	top--;
+	
+	if (!s[top].v) {
+	    s[top].v = 1;
+	    n = s[top].n;
+
+	    if (n->uid != sn.uid) {
+		dist = 0;
+		i = t->ndims - 1;
+		do {
+		    diff = sn.c[i] - n->c[i];
+		    dist += diff * diff;
+		    
+		} while (i-- && dist <= maxdistsq);
+
+		if (dist <= maxdistsq) {
+		    if (found + 1 >= k) {
+			k = found + 10;
+			uid = G_realloc(uid, k * sizeof(int));
+			d = G_realloc(d, k * sizeof(double));
+		    }
+		    i = found;
+		    while (i > 0 && d[i - 1] > dist) {
+			d[i] = d[i - 1];
+			uid[i] = uid[i - 1];
+			i--;
+		    }
+		    if (i < found && d[i] == dist && uid[i] == n->uid)
+			G_fatal_error("dnn: inserting duplicate");
+		    d[i] = dist;
+		    uid[i] = n->uid;
+		    found++;
+		}
+	    }
+
+	    /* look on the other side ? */
+	    dir = s[top].dir;
+
+	    diff = fabs(sn.c[(int)n->dim] - n->c[(int)n->dim]);
+	    if (diff <= maxdist) {
+		/* go down the other side */
+		top++;
+		s[top].n = n->child[!dir];
+		while (s[top].n) {
+		    n = s[top].n;
+		    dir = cmp(&sn, n, n->dim) > 0;
+		    s[top].dir = dir;
+		    s[top].v = 0;
+		    top++;
+		    s[top].n = n->child[dir];
+		}
+	    }
+	}
+    }
+
+    *pd = d;
+    *puid = uid;
+
+    return found;
+}
+
+/* find all nearest neighbors within range aka box search
+ * the range is specified with min and max for each dimension as
+ * (min1, min2, ..., minn, max1, max2, ..., maxn)
+ * results are stored in puid (uids)
+ * memory is allocated as needed, the calling fn must free the memory
+ * optionally an uid to be skipped can be given */
+int kdtree_rnn(struct kdtree *t, double *c, int **puid, int *skip)
+{
+    int i, k, found, inside;
+    struct kdnode sn, *n;
+    struct kdstack {
+	struct kdnode *n;
+	int dir;
+	char v;
+    } s[256];
+    int dir;
+    int top;
+    int *uid;
+
+    if (!t->root)
+	return 0;
+
+    sn.c = c;
+    sn.uid = (int)0x80000000;
+    if (skip)
+	sn.uid = *skip;
+
+    *puid = NULL;
+
+    k = 0;
+    uid = NULL;
+
+    found = 0;
+
+    /* go down */
+    top = 0;
+    s[top].n = t->root;
+    while (s[top].n) {
+	n = s[top].n;
+	dir = cmp(&sn, n, n->dim) > 0;
+	s[top].dir = dir;
+	s[top].v = 0;
+	top++;
+	s[top].n = n->child[dir];
+    }
+    
+    /* go back up */
+    while (top) {
+	top--;
+	
+	if (!s[top].v) {
+	    s[top].v = 1;
+	    n = s[top].n;
+
+	    if (n->uid != sn.uid) {
+		inside = 1;
+		for (i = 0; i < t->ndims; i++) {
+		    if (n->c[i] < sn.c[i] || n->c[i] > sn.c[i + t->ndims]) {
+			inside = 0;
+			break;
+		    }
+		}
+
+		if (inside) {
+		    if (found + 1 >= k) {
+			k = found + 10;
+			uid = G_realloc(uid, k * sizeof(int));
+		    }
+		    i = found;
+		    uid[i] = n->uid;
+		    found++;
+		}
+	    }
+
+	    /* look on the other side ? */
+	    dir = s[top].dir;
+	    if (n->c[(int)n->dim] >= sn.c[(int)n->dim] && 
+	        n->c[(int)n->dim] <= sn.c[(int)n->dim + t->ndims]) {
+		/* go down the other side */
+		top++;
+		s[top].n = n->child[!dir];
+		while (s[top].n) {
+		    n = s[top].n;
+		    dir = cmp(&sn, n, n->dim) > 0;
+		    s[top].dir = dir;
+		    s[top].v = 0;
+		    top++;
+		    s[top].n = n->child[dir];
+		}
+	    }
+	}
+    }
+
+    *puid = uid;
+
+    return found;
+}
+
+/* initialize tree traversal
+ * (re-)sets trav structure
+ * returns 0
+ */
+int kdtree_init_trav(struct kdtrav *trav, struct kdtree *tree)
+{
+    trav->tree = tree;
+    trav->curr_node = tree->root;
+    trav->first = 1;
+    trav->top = 0;
+
+    return 0;
+}
+
+/* traverse the tree
+ * useful to get all items in the tree non-recursively
+ * struct kdtrav *trav needs to be initialized first
+ * returns 1, 0 when finished
+ */
+int kdtree_traverse(struct kdtrav *trav, double *c, int *uid)
+{
+    if (trav->curr_node == NULL) {
+	if (trav->first)
+	    G_debug(1, "k-d tree: empty tree");
+	else
+	    G_debug(1, "k-d tree: finished traversing");
+
+	return 0;
+    }
+
+    if (trav->first) {
+	trav->first = 0;
+	return kdtree_first(trav, c, uid);
+    }
+
+    return kdtree_next(trav, c, uid);
+}
+
+
+/**********************************************/
+/*            internal functions              */
+/**********************************************/
+
+static int kdtree_replace(struct kdtree *t, struct kdnode *r)
+{
+    double mindist;
+    int rdir, ordir, dir;
+    int ld, rd, old_depth;
+    struct kdnode *n, *rn, *or;
+    struct kdstack {
+	struct kdnode *n;
+	int dir;
+	char v;
+    } s[256];
+    int top, top2;
+    int is_leaf;
+    int nr;
+
+    /* find replacement for r
+     * overwrite r, delete replacement */
+    nr = 0;
+
+    /* pick a subtree */
+    rdir = 1;
+
+    or = r;
+    ld = (!or->child[0] ? -1 : or->child[0]->depth);
+    rd = (!or->child[1] ? -1 : or->child[1]->depth);
+
+    if (ld > rd) {
+	rdir = 0;
+    }
+
+    /* replace old root, make replacement the new root
+     * repeat until replacement is leaf */
+    ordir = rdir;
+    is_leaf = 0;
+    s[0].n = or;
+    s[0].dir = ordir;
+    top2 = 1;
+    mindist = -1;
+    while (!is_leaf) {
+	rn = NULL;
+
+	/* find replacement for old root */
+	top = top2;
+	s[top].n = or->child[ordir];
+
+	n = s[top].n;
+	rn = n;
+	mindist = or->c[(int)or->dim] - n->c[(int)or->dim];
+	if (ordir)
+	    mindist = -mindist;
+
+	/* go down */
+	while (s[top].n) {
+	    n = s[top].n;
+	    dir = !ordir;
+	    if (n->dim != or->dim)
+		dir = cmp(or, n, n->dim) > 0;
+	    s[top].dir = dir;
+	    s[top].v = 0;
+	    top++;
+	    s[top].n = n->child[dir];
+	}
+
+	/* go back up */
+	while (top > top2) {
+	    top--;
+
+	    if (!s[top].v) {
+		s[top].v = 1;
+		n = s[top].n;
+		if ((cmp(rn, n, or->dim) > 0) == ordir) {
+		    rn = n;
+		    mindist = or->c[(int)or->dim] - n->c[(int)or->dim];
+		    if (ordir)
+			mindist = -mindist;
+		}
+
+		/* look on the other side ? */
+		dir = s[top].dir;
+		if (n->dim != or->dim &&
+		    mindist >= fabs(n->c[(int)n->dim] - n->c[(int)n->dim])) {
+		    /* go down the other side */
+		    top++;
+		    s[top].n = n->child[!dir];
+		    while (s[top].n) {
+			n = s[top].n;
+			dir = !ordir;
+			if (n->dim != or->dim)
+			    dir = cmp(or, n, n->dim) > 0;
+			s[top].dir = dir;
+			s[top].v = 0;
+			top++;
+			s[top].n = n->child[dir];
+		    }
+		}
+	    }
+	}
+
+#ifdef KD_DEBUG
+	if (!rn)
+	    G_fatal_error("No replacement");
+	if (ordir && or->c[(int)or->dim] > rn->c[(int)or->dim])
+	    G_fatal_error("rn is smaller");
+
+	if (!ordir && or->c[(int)or->dim] < rn->c[(int)or->dim])
+	    G_fatal_error("rn is larger");
+
+	if (or->child[1]) {
+	    dir = cmp(or->child[1], rn, or->dim);
+	    if (dir < 0) {
+		int i;
+
+		for (i = 0; i < t->ndims; i++)
+		    G_message("rn c %g, or child c %g",
+			    rn->c[i], or->child[1]->c[i]);
+		G_fatal_error("Right child of old root is smaller than rn, dir is %d", ordir);
+	    }
+	}
+	if (or->child[0]) {
+	    dir = cmp(or->child[0], rn, or->dim);
+	    if (dir > 0) {
+		int i;
+
+		for (i = 0; i < t->ndims; i++)
+		    G_message("rn c %g, or child c %g",
+			    rn->c[i], or->child[0]->c[i]);
+		G_fatal_error("Left child of old root is larger than rn, dir is %d", ordir);
+	    }
+	}
+#endif
+
+	is_leaf = (rn->child[0] == NULL && rn->child[1] == NULL);
+
+#ifdef KD_DEBUG
+	if (is_leaf && rn->depth != 0)
+	    G_fatal_error("rn is leaf but depth is %d", (int)rn->depth);
+	if (!is_leaf && rn->depth <= 0)
+	    G_fatal_error("rn is not leaf but depth is %d", (int)rn->depth);
+#endif
+
+	nr++;
+
+	/* go to replacement from or->child[ordir] */
+	top = top2;
+	dir = 1;
+	while (dir) {
+	    n = s[top].n;
+	    dir = cmp(rn, n, n->dim);
+	    if (dir) {
+		s[top].dir = dir > 0;
+		top++;
+		s[top].n = n->child[dir > 0];
+
+		if (!s[top].n) {
+		    G_fatal_error("(Last) replacement disappeared %d", nr);
+		}
+	    }
+	}
+
+#ifdef KD_DEBUG
+	if (s[top].n != rn)
+	    G_fatal_error("rn is unreachable from or");
+#endif
+
+	top2 = top;
+	s[top2 + 1].n = NULL;
+
+	/* copy replacement to old root */
+	memcpy(or->c, rn->c, t->csize);
+	or->uid = rn->uid;
+	
+	if (!is_leaf) {
+	    /* make replacement the old root */
+	    or = rn;
+
+	    /* pick a subtree */
+	    ordir = 1;
+	    ld = (!or->child[0] ? -1 : or->child[0]->depth);
+	    rd = (!or->child[1] ? -1 : or->child[1]->depth);
+	    if (ld > rd) {
+		ordir = 0;
+	    }
+	    s[top2].dir = ordir;
+	    top2++;
+	}
+    }
+
+    if (!rn)
+	G_fatal_error("No replacement at all");
+
+    /* delete last replacement */
+    top = top2 - 1;
+    n = s[top].n;
+    dir = 0;
+    if (n->child[dir] != rn) {
+	dir = !dir;
+    }
+    if (n->child[dir] != rn) {
+	G_fatal_error("Last replacement disappeared");
+    }
+    n->child[dir] = NULL;
+    kdtree_free_node(rn);
+    t->count--;
+
+    old_depth = n->depth;
+    n->depth = (!n->child[!dir] ? 0 : n->child[!dir]->depth + 1);
+    if (n->depth == old_depth)
+	top = 0;
+
+#ifdef KD_DEBUG
+    top = top2;
+#endif
+
+    /* go back up */
+    while (top) {
+	top--;
+	n = s[top].n;
+
+#ifdef KD_DEBUG
+	/* debug directions */
+	if (n->child[0]) {
+	    if (cmp(n->child[0], n, n->dim) > 0)
+		G_warning("Left child is larger");
+	}
+	if (n->child[1]) {
+	    if (cmp(n->child[1], n, n->dim) < 1)
+		G_warning("Right child is not larger");
+	}
+#endif
+
+	/* update depth */
+	ld = (!n->child[0] ? -1 : n->child[0]->depth);
+	rd = (!n->child[1] ? -1 : n->child[1]->depth);
+	n->depth = MAX(ld, rd) + 1;
+    }
+
+    return nr;
+}
+
+static int kdtree_balance(struct kdtree *t, struct kdnode *r)
+{
+    struct kdnode *or;
+    int dir;
+    int rd, ld;
+
+    if (!r)
+	return 0;
+
+    /* subtree difference */
+    dir = -1;
+    ld = (!r->child[0] ? -1 : r->child[0]->depth);
+    rd = (!r->child[1] ? -1 : r->child[1]->depth);
+    if (ld > rd + t->btol) {
+	dir = 0;
+    }
+    else if (rd > ld + t->btol) {
+	dir = 1;
+    }
+    else
+	return 0;
+
+    or = kdtree_newnode(t);
+    memcpy(or->c, r->c, t->csize);
+    or->uid = r->uid;
+    or->dim = t->nextdim[r->dim];
+
+    if (!kdtree_replace(t, r))
+	G_fatal_error("kdtree_balance: nothing replaced");
+
+#ifdef KD_DEBUG
+    if (!cmp(r, or, r->dim)) {
+	G_warning("kdtree_balance: replacement failed");
+	kdtree_free_node(or);
+	
+	return 0;
+    }
+#endif
+
+    r->child[!dir] = kdtree_insert2(t, r->child[!dir], or, 0, 1);
+
+    /* update node depth */
+    ld = r->child[0]->depth;
+    rd = r->child[1]->depth;
+    r->depth = MAX(ld, rd) + 1;
+
+    return 1;
+}
+
+static struct kdnode *kdtree_insert2(struct kdtree *t, struct kdnode *r,
+                                 struct kdnode *nnew, int balance, int dc)
+{
+    struct kdnode *n, *nr;
+    struct kdstack {
+	struct kdnode *n;
+	int dir;
+    } s[256];
+    int top;
+    int dir;
+    int ld, rd;
+    int old_depth;
+    int go_back;
+
+    if (!r) {
+	r = nnew;
+	t->count++;
+
+	return r;
+    }
+
+    if (balance) {
+	/* balance root */
+	while (kdtree_balance(t, r));
+    }
+
+    /* find node with free child */
+    top = 0;
+    go_back = 0;
+    s[top].n = r;
+    while (s[top].n) {
+
+	n = s[top].n;
+	if (!cmpc(nnew, n, t) && (!dc || nnew->uid == n->uid)) {
+
+	    G_debug(1, "KD node exists already, nothing to do");
+	    kdtree_free_node(nnew);
+
+	    return r;
+	}
+	dir = cmp(nnew, n, n->dim) > 0;
+	s[top].dir = dir;
+
+	if (balance) {
+	    /* balance left subtree */
+	    while (kdtree_balance(t, n->child[0]));
+	    /* balance right subtree */
+	    while (kdtree_balance(t, n->child[1]));
+
+	    /* update node depth */
+	    old_depth = n->depth;
+	    ld = (!n->child[0] ? -1 : n->child[0]->depth);
+	    rd = (!n->child[1] ? -1 : n->child[1]->depth);
+	    n->depth = MAX(ld, rd) + 1;
+	    if (old_depth != n->depth)
+		go_back = top;
+	}
+	if (dc && n->depth == 1 && !n->child[!dir] && n->child[dir]) {
+
+	    if ((cmp(nnew, n->child[dir], n->dim) > 0) != dir) {
+		/* n -> nnew -> n->child[dir] */
+		nnew->child[dir] = n->child[dir];
+		n->child[dir] = NULL;
+		nnew->child[!dir] = n;
+		nnew->depth = n->depth;
+		n->depth = 0;
+		nnew->dim = n->dim;
+		n->dim = t->nextdim[nnew->dim];
+		nr = nnew;
+	    }
+	    else {
+		/* n -> n->child[dir] -> nnew */
+		nnew->child[dir] = n->child[dir]->child[dir];
+		nnew->child[!dir] = n->child[dir]->child[!dir];
+		nnew->depth = n->child[dir]->depth;
+		nnew->dim = n->child[dir]->dim;
+		nr = n->child[dir];
+		nr->dim = n->dim;
+		nr->depth = n->depth;
+		nr->child[dir] = nnew;
+		nr->child[!dir] = n;
+		n->child[dir] = NULL;
+		n->child[!dir] = NULL;
+		n->depth = 0;
+		n->dim = nnew->dim;
+	    }
+	    if (top) {
+		s[top - 1].n->child[s[top - 1].dir] = nr;
+	    }
+	    else {
+		r = nr;
+	    }
+	    t->count++;
+
+	    return r;
+	}
+
+	top++;
+	if (top > 255)
+	    G_fatal_error("depth too large: %d", top);
+	s[top].n = n->child[dir];
+    }
+
+    /* insert to child pointer of parent */
+    top--;
+    n = s[top].n;
+    dir = s[top].dir;
+    n->child[dir] = nnew;
+    nnew->dim = t->nextdim[n->dim];
+
+    t->count++;
+
+    old_depth = n->depth;
+    n->depth = (!n->child[!dir] ? 1 : n->child[!dir]->depth + 1);
+
+    if (balance) {
+	/* balance parent */
+	while (kdtree_balance(t, n));
+    }
+
+    if (old_depth != n->depth)
+	go_back = top;
+
+    /* go back up */
+#ifdef KD_DEBUG
+    go_back = top;
+#endif
+    top = go_back;
+
+    while (top) {
+	top--;
+	n = s[top].n;
+
+#ifdef KD_DEBUG
+	/* debug directions */
+	if (n->child[0]) {
+	    if (cmp(n->child[0], n, n->dim) > 0)
+		G_warning("Insert2: Left child is larger");
+	}
+	if (n->child[1]) {
+	    if (cmp(n->child[1], n, n->dim) < 1)
+		G_warning("Insert2: Right child is not larger");
+	}
+#endif
+
+	/* update node depth */
+	ld = (!n->child[0] ? -1 : n->child[0]->depth);
+	rd = (!n->child[1] ? -1 : n->child[1]->depth);
+	n->depth = MAX(ld, rd) + 1;
+    }
+
+    return r;
+}
+
+/* start traversing the tree
+ * returns pointer to first item
+ */
+static int kdtree_first(struct kdtrav *trav, double *c, int *uid)
+{
+    /* get smallest item */
+    while (trav->curr_node->child[0] != NULL) {
+	trav->up[trav->top++] = trav->curr_node;
+	trav->curr_node = trav->curr_node->child[0];
+    }
+
+    memcpy(c, trav->curr_node->c, trav->tree->csize);
+    *uid = trav->curr_node->uid;
+
+    return 1;
+}
+
+/* continue traversing the tree in ascending order
+ * returns pointer to data item, NULL when finished
+ */
+static int kdtree_next(struct kdtrav *trav, double *c, int *uid)
+{
+    if (trav->curr_node->child[1] != NULL) {
+	/* something on the right side: larger item */
+	trav->up[trav->top++] = trav->curr_node;
+	trav->curr_node = trav->curr_node->child[1];
+
+	/* go down, find smallest item in this branch */
+	while (trav->curr_node->child[0] != NULL) {
+	    trav->up[trav->top++] = trav->curr_node;
+	    trav->curr_node = trav->curr_node->child[0];
+	}
+    }
+    else {
+	/* at smallest item in this branch, go back up */
+	struct kdnode *last;
+
+	do {
+	    if (trav->top == 0) {
+		trav->curr_node = NULL;
+		break;
+	    }
+	    last = trav->curr_node;
+	    trav->curr_node = trav->up[--trav->top];
+	} while (last == trav->curr_node->child[1]);
+    }
+
+    if (trav->curr_node != NULL) {
+	memcpy(c, trav->curr_node->c, trav->tree->csize);
+	*uid = trav->curr_node->uid;
+
+	return 1;
+    }
+
+    return 0;		/* finished traversing */
+}
diff --git a/lib/btree2/kdtree.h b/lib/btree2/kdtree.h
new file mode 100644
index 0000000..c7596ec
--- /dev/null
+++ b/lib/btree2/kdtree.h
@@ -0,0 +1,181 @@
+/*!
+ * \file kdtree.h
+ *
+ * \brief Dynamic balanced k-d tree implementation
+ *
+ * k-d tree is a multidimensional (k-dimensional) binary search tree for
+ * nearest neighbor search and is part of \ref btree2.
+ *
+ * Copyright and license:
+ *
+ * (C) 2014 by the GRASS Development Team
+ *
+ * This program is free software under the GNU General Public License
+ * (>=v2).  Read the file COPYING that comes with GRASS for details.
+ *
+ * \author Markus Metz
+ *
+ * \par References
+ * Bentley, J. L. (1975). "Multidimensional binary search trees used for 
+ * associative searching". Communications of the ACM 18 (9): 509.
+ * doi:10.1145/361002.361007
+ *
+ * \par Features
+ * - This k-d tree is a dynamic tree:
+ *   elements can be inserted and removed any time.
+ * - This k-d tree is balanced:
+ *   subtrees have a similar depth (the difference in subtrees' depths is 
+ *   not allowed to be larger than the balancing tolerance).
+ *
+ * Here is a structure of basic usage:
+ *
+ * Create a new k-d tree:
+ *
+ *     kdtree_create(...);
+ *
+ * Insert points into the tree:
+ *
+ *     kdtree_insert(...);
+ *
+ * Optionally optimize the tree:
+ * 
+ *     kdtree_optimize(...);
+ *
+ * Search k nearest neighbors:
+ *
+ *     kdtree_knn(...);
+ *
+ * Search all neighbors in radius:
+ *
+ *     kdtree_dnn(...);
+ *
+ * Destroy the tree:
+ *
+ *     kdtree_destroy(...);
+ *
+ * \todo
+ * Doxygen ignores comment for last parameter after `);`.
+ * The parameter description now goes to the end of function description.
+ *
+ * \todo
+ * Include formatting to function descriptions.
+ */
+
+/*!
+ * \brief Node for k-d tree
+ */
+struct kdnode
+{
+    unsigned char dim;          /*!< split dimension of this node */
+    unsigned char depth;        /*!< depth at this node */
+    double *c;                  /*!< coordinates */
+    int uid;                    /*!< unique id of this node */
+    struct kdnode *child[2];    /*!< link to children: `[0]` for smaller, `[1]` for larger */
+};
+
+/*!
+ * \brief k-d tree
+ */
+struct kdtree
+{
+    unsigned char ndims;        /*!< number of dimensions */
+    unsigned char *nextdim;     /*!< split dimension of child nodes */
+    int csize;                  /*!< size of coordinates in bytes */
+    int btol;                   /*!< balancing tolerance */
+    size_t count;               /*!< number of items in the tree */
+    struct kdnode *root;        /*!< tree root */
+};
+
+/*!
+ * \brief k-d tree traversal
+ */
+struct kdtrav
+{
+    struct kdtree *tree;        /*!< tree being traversed */
+    struct kdnode *curr_node;   /*!< current node */
+    struct kdnode *up[256];     /*!< stack of parent nodes */
+    int top;                    /*!< index for stack */
+    int first;                  /*!< little helper flag */
+};
+
+/*! creae a new k-d tree */
+struct kdtree *kdtree_create(char ndims,        /*!< number of dimensions */
+                             int *btol  /*!< optional balancing tolerance */
+    );
+
+/*! destroy a tree */
+void kdtree_destroy(struct kdtree *t);
+
+/*! clear a tree, removing all entries */
+void kdtree_clear(struct kdtree *t);
+
+/*! insert an item (coordinates c and uid) into the k-d tree */
+int kdtree_insert(struct kdtree *t,     /*!< k-d tree */
+                  double *c,    /*!< coordinates */
+                  int uid,      /*!< the point's unique id */
+                  int dc        /*!< allow duplicate coordinates */
+    );
+
+/*! remove an item from the k-d tree
+ * coordinates c and uid must match */
+int kdtree_remove(struct kdtree *t,     /*!< k-d tree */
+                  double *c,    /*!< coordinates */
+                  int uid       /*!< the point's unique id */
+    );
+
+/*! find k nearest neighbors 
+ * results are stored in uid (uids) and d (squared distances)
+ * optionally an uid to be skipped can be given
+ * useful when searching for the nearest neighbors of an item 
+ * that is also in the tree */
+int kdtree_knn(struct kdtree *t,        /*!< k-d tree */
+               double *c,       /*!< coordinates */
+               int *uid,        /*!< unique ids of the neighbors */
+               double *d,       /*!< squared distances to the neighbors */
+               int k,           /*!< number of neighbors to find */
+               int *skip        /*!< unique id to skip */
+    );
+
+/*! find all nearest neighbors within distance aka radius search
+ * results are stored in puid (uids) and pd (squared distances)
+ * memory is allocated as needed, the calling fn must free the memory
+ * optionally an uid to be skipped can be given */
+int kdtree_dnn(struct kdtree *t,        /*!< k-d tree */
+               double *c,       /*!< coordinates */
+               int **puid,      /*!< unique ids of the neighbors */
+               double **pd,     /*!< squared distances to the neighbors */
+               double maxdist,  /*!< radius to search around the given coordinates */
+               int *skip        /*!< unique id to skip */
+    );
+
+/*! find all nearest neighbors within range aka box search
+ * the range is specified with min and max for each dimension as
+ * (min1, min2, ..., minn, max1, max2, ..., maxn)
+ * results are stored in puid (uids) and pd (squared distances)
+ * memory is allocated as needed, the calling fn must free the memory
+ * optionally an uid to be skipped can be given */
+int kdtree_rnn(struct kdtree *t,        /*!< k-d tree */
+               double *c,       /*!< coordinates for range */
+               int **puid,      /*!< unique ids of the neighbors */
+               int *skip        /*!< unique id to skip */
+    );
+
+/*! k-d tree optimization, only useful if the tree will be heavily used
+ * (more searches than items in the tree)
+ * level 0 = a bit, 1 = more, 2 = a lot */
+void kdtree_optimize(struct kdtree *t,  /*!< k-d tree */
+                     int level  /*!< optimization level */
+    );
+
+/*! initialize tree traversal
+ * (re-)sets trav structure
+ * returns 0
+ */
+int kdtree_init_trav(struct kdtrav *trav, struct kdtree *tree);
+
+/*! traverse the tree
+ * useful to get all items in the tree non-recursively
+ * struct kdtrav *trav needs to be initialized first
+ * returns 1, 0 when finished
+ */
+int kdtree_traverse(struct kdtrav *trav, double *c, int *uid);
diff --git a/lib/cairodriver/cairodriver.html b/lib/cairodriver/cairodriver.html
index 2817a62..a3cab89 100644
--- a/lib/cairodriver/cairodriver.html
+++ b/lib/cairodriver/cairodriver.html
@@ -191,4 +191,4 @@ Lars Ahlzen <<i>lars (at) ahlzen.com</i>><br>
 and the GRASS Development Team.
 
 <p>
-<i>Last changed: $Date: 2015-05-18 11:16:55 +0200 (Mon, 18 May 2015) $</i>
+<i>Last changed: $Date: 2015-05-18 02:16:49 -0700 (Mon, 18 May 2015) $</i>
diff --git a/lib/calc/Makefile b/lib/calc/Makefile
new file mode 100644
index 0000000..ef7e512
--- /dev/null
+++ b/lib/calc/Makefile
@@ -0,0 +1,8 @@
+MODULE_TOPDIR = ../..
+
+
+LIB = CALC
+
+include $(MODULE_TOPDIR)/include/Make/Lib.make
+
+default: lib
diff --git a/lib/calc/calc.c b/lib/calc/calc.c
new file mode 100644
index 0000000..8de4035
--- /dev/null
+++ b/lib/calc/calc.c
@@ -0,0 +1,62 @@
+
+#include <unistd.h>
+#include <signal.h>
+
+#include <grass/calc.h>
+
+/****************************************************************************/
+
+volatile int floating_point_exception;
+volatile int floating_point_exception_occurred;
+
+int columns;
+
+/****************************************************************************/
+
+static RETSIGTYPE handle_fpe(int n)
+{
+    floating_point_exception = 1;
+    floating_point_exception_occurred = 1;
+}
+
+void pre_exec(void)
+{
+#ifndef __MINGW32__
+#ifdef SIGFPE
+    struct sigaction act;
+
+    act.sa_handler = &handle_fpe;
+    act.sa_flags = 0;
+    sigemptyset(&act.sa_mask);
+
+    sigaction(SIGFPE, &act, NULL);
+#endif
+#endif
+
+    floating_point_exception_occurred = 0;
+}
+
+void post_exec(void)
+{
+#ifndef __MINGW32__
+#ifdef SIGFPE
+    struct sigaction act;
+
+    act.sa_handler = SIG_DFL;
+    act.sa_flags = 0;
+    sigemptyset(&act.sa_mask);
+
+    sigaction(SIGFPE, &act, NULL);
+#endif
+#endif
+}
+
+/****************************************************************************/
+
+void calc_init(int cols)
+{
+    columns = cols;
+}
+
+/****************************************************************************/
+
diff --git a/lib/calc/check.c b/lib/calc/check.c
new file mode 100644
index 0000000..ad2288b
--- /dev/null
+++ b/lib/calc/check.c
@@ -0,0 +1,159 @@
+
+#include <grass/calc.h>
+
+int c_int0(int argc, int *argt)
+{
+    if (argc > 0)
+	return E_ARG_HI;
+
+    argt[0] = CELL_TYPE;
+
+    return 0;
+}
+
+int c_double0(int argc, int *argt)
+{
+    if (argc > 0)
+	return E_ARG_HI;
+
+    argt[0] = DCELL_TYPE;
+
+    return 0;
+}
+
+int c_double1(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    argt[0] = DCELL_TYPE;
+    argt[1] = DCELL_TYPE;
+
+    return 0;
+}
+
+int c_double12(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argc > 2)
+	return E_ARG_HI;
+
+    argt[0] = DCELL_TYPE;
+    argt[1] = DCELL_TYPE;
+    if (argc == 2)
+	argt[2] = DCELL_TYPE;
+
+    return 0;
+}
+
+int c_unop(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    argt[0] = argt[1];
+
+    return 0;
+}
+
+int c_binop(int argc, int *argt)
+{
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    argt[0] = CELL_TYPE;
+    if (argt[1] == FCELL_TYPE || argt[2] == FCELL_TYPE)
+	argt[0] = FCELL_TYPE;
+    if (argt[1] == DCELL_TYPE || argt[2] == DCELL_TYPE)
+	argt[0] = DCELL_TYPE;
+
+    argt[1] = argt[0];
+    argt[2] = argt[0];
+
+    return 0;
+}
+
+int c_varop(int argc, int *argt)
+{
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    argt[0] = CELL_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] == FCELL_TYPE)
+	    argt[0] = FCELL_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] == DCELL_TYPE)
+	    argt[0] = DCELL_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	argt[i] = argt[0];
+
+    return 0;
+}
+
+int c_cmpop(int argc, int *argt)
+{
+    int arg_type;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    argt[0] = CELL_TYPE;
+
+    arg_type = CELL_TYPE;
+    if (argt[1] == FCELL_TYPE || argt[2] == FCELL_TYPE)
+	arg_type = FCELL_TYPE;
+    if (argt[1] == DCELL_TYPE || argt[2] == DCELL_TYPE)
+	arg_type = DCELL_TYPE;
+
+    argt[1] = arg_type;
+    argt[2] = arg_type;
+
+    return 0;
+}
+
+int c_logop(int argc, int *argt)
+{
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != CELL_TYPE)
+	    return E_ARG_TYPE;
+
+    argt[0] = CELL_TYPE;
+
+    return 0;
+}
+
+int c_shiftop(int argc, int *argt)
+{
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[1] != CELL_TYPE || argt[2] != CELL_TYPE)
+	return E_ARG_TYPE;
+
+    argt[0] = CELL_TYPE;
+
+    return 0;
+}
diff --git a/lib/calc/function.c b/lib/calc/function.c
new file mode 100644
index 0000000..0d6df02
--- /dev/null
+++ b/lib/calc/function.c
@@ -0,0 +1,79 @@
+
+#include <grass/calc.h>
+
+func_desc calc_func_descs[] = {
+    {"add", c_varop, f_add},
+    {"sub", c_binop, f_sub},
+    {"mul", c_varop, f_mul},
+    {"div", c_binop, f_div},
+    {"mod", c_binop, f_mod},
+    {"pow", c_binop, f_pow},
+
+    {"neg", c_unop, f_neg},
+    {"abs", c_unop, f_abs},
+
+    {"gt", c_cmpop, f_gt},
+    {"ge", c_cmpop, f_ge},
+    {"lt", c_cmpop, f_lt},
+    {"le", c_cmpop, f_le},
+    {"eq", c_cmpop, f_eq},
+    {"ne", c_cmpop, f_ne},
+
+    {"and", c_logop, f_and},
+    {"or", c_logop, f_or},
+
+    {"and2", c_logop, f_and2},
+    {"or2", c_logop, f_or2},
+
+    {"not", c_not, f_not},
+
+    {"bitand", c_logop, f_bitand},
+    {"bitor", c_logop, f_bitor},
+    {"xor", c_logop, f_bitxor},
+
+    {"shiftl", c_shiftop, f_shiftl},
+    {"shiftr", c_shiftop, f_shiftr},
+    {"shiftru", c_shiftop, f_shiftru},
+
+    {"bitnot", c_not, f_bitnot},
+
+    {"sqrt", c_double1, f_sqrt},
+    {"sin", c_double1, f_sin},
+    {"cos", c_double1, f_cos},
+    {"tan", c_double1, f_tan},
+    {"acos", c_double1, f_acos},
+    {"asin", c_double1, f_asin},
+
+    {"exp", c_double12, f_exp},
+    {"log", c_double12, f_log},
+    {"atan", c_double12, f_atan},
+
+    {"int", c_int, f_int},
+    {"float", c_float, f_float},
+    {"double", c_double, f_double},
+    {"round", c_round, f_round},
+
+    {"eval", c_eval, f_eval},
+    {"if", c_if, f_if},
+    {"isnull", c_isnull, f_isnull},
+
+    {"max", c_varop, f_max},
+    {"min", c_varop, f_min},
+    {"median", c_varop, f_median},
+    {"mode", c_varop, f_mode},
+
+    {"nmax", c_varop, f_nmax},
+    {"nmin", c_varop, f_nmin},
+    {"nmedian", c_varop, f_nmedian},
+    {"nmode", c_varop, f_nmode},
+
+    {"graph", c_graph, f_graph},
+    {"graph2", c_graph, f_graph2},
+
+    {"rand", c_binop, f_rand},
+
+    {"null", c_int0, f_null},
+
+    {NULL, NULL, NULL}
+};
+
diff --git a/lib/calc/xabs.c b/lib/calc/xabs.c
new file mode 100644
index 0000000..c0bd90f
--- /dev/null
+++ b/lib/calc/xabs.c
@@ -0,0 +1,67 @@
+
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+abs(x)
+
+   absolute value. if x is negative returns -x
+**********************************************************************/
+
+int f_abs(int argc, const int *argt, void **args)
+{
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != argt[1])
+	return E_RES_TYPE;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_C(&arg1[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] < 0 ? -arg1[i]
+			: arg1[i];
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_F(&arg1[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = (FCELL) fabs(arg1[i]);
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_D(&arg1[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = fabs(arg1[i]);
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xacos.c b/lib/calc/xacos.c
new file mode 100644
index 0000000..1d9908d
--- /dev/null
+++ b/lib/calc/xacos.c
@@ -0,0 +1,48 @@
+
+#include <stdlib.h>
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+acos(x)  [0 and PI]
+
+  if floating point exception occurs during the evaluation of acos(x)
+  the result is NULL
+
+  note: result is in degrees
+**********************************************************************/
+
+#define RADIANS_TO_DEGREES (180.0 / M_PI)
+
+int f_acos(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]))
+	    SET_NULL_D(&res[i]);
+	else {
+	    floating_point_exception = 0;
+	    res[i] = RADIANS_TO_DEGREES * acos(arg1[i]);
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/calc/xadd.c b/lib/calc/xadd.c
new file mode 100644
index 0000000..551884e
--- /dev/null
+++ b/lib/calc/xadd.c
@@ -0,0 +1,76 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+add(a,b,c,...) = a + b + c + ...
+****************************************************************/
+
+int f_add(int argc, const int *argt, void **args)
+{
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argz = (CELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		res[i] = 0;
+		for (j = 1; j <= argc; j++) {
+		    if (IS_NULL_C(&argz[j][i])) {
+			SET_NULL_C(&res[i]);
+			break;
+		    }
+		    res[i] += argz[j][i];
+		}
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argz = (FCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		res[i] = 0;
+		for (j = 1; j <= argc; j++) {
+		    if (IS_NULL_F(&argz[j][i])) {
+			SET_NULL_F(&res[i]);
+			break;
+		    }
+		    res[i] += argz[j][i];
+		}
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argz = (DCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		res[i] = 0;
+		for (j = 1; j <= argc; j++) {
+		    if (IS_NULL_D(&argz[j][i])) {
+			SET_NULL_D(&res[i]);
+			break;
+		    }
+		    res[i] += argz[j][i];
+		}
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xand.c b/lib/calc/xand.c
new file mode 100644
index 0000000..c7cb53d
--- /dev/null
+++ b/lib/calc/xand.c
@@ -0,0 +1,39 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+and(a,b,c,...) = a && b && c && ...
+****************************************************************/
+
+int f_and(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL **argz = (CELL **) args;
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != CELL_TYPE)
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	res[i] = 1;
+	for (j = 1; j <= argc; j++) {
+	    if (IS_NULL_C(&argz[j][i])) {
+		SET_NULL_C(&res[i]);
+		break;
+	    }
+	    if (!argz[j][i])
+		res[i] = 0;
+	}
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xand2.c b/lib/calc/xand2.c
new file mode 100644
index 0000000..761a533
--- /dev/null
+++ b/lib/calc/xand2.c
@@ -0,0 +1,46 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+and2(a,b,c,...) = a && b && c && ...
+
+Differs from and() in that the boolean axioms:
+
+	false && x == false
+	x && false == false
+
+hold even when x is null.
+****************************************************************/
+
+int f_and2(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL **argz = (CELL **) args;
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != CELL_TYPE)
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	res[i] = 1;
+	for (j = 1; j <= argc; j++) {
+	    if (!IS_NULL_C(&argz[j][i]) && !argz[j][i]) {
+		res[i] = 0;
+		break;
+	    }
+	    if (IS_NULL_C(&argz[j][i]))
+		SET_NULL_C(&res[i]);
+	}
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xasin.c b/lib/calc/xasin.c
new file mode 100644
index 0000000..c226f33
--- /dev/null
+++ b/lib/calc/xasin.c
@@ -0,0 +1,48 @@
+
+#include <stdlib.h>
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+asin(x)  range [-90,90]
+
+  if floating point exception occurs during the evaluation of asin(x)
+  the result is NULL
+
+  note: result is in degrees
+**********************************************************************/
+
+#define RADIANS_TO_DEGREES (180.0 / M_PI)
+
+int f_asin(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]))
+	    SET_NULL_D(&res[i]);
+	else {
+	    floating_point_exception = 0;
+	    res[i] = RADIANS_TO_DEGREES * asin(arg1[i]);
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/calc/xatan.c b/lib/calc/xatan.c
new file mode 100644
index 0000000..e801fb0
--- /dev/null
+++ b/lib/calc/xatan.c
@@ -0,0 +1,64 @@
+
+#include <stdlib.h>
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+atan(x)     range [-90,90]
+atan(x,y) = atan(y/x) range[0,360]
+
+  if floating point exception occurs during the evaluation of atan(x)
+  the result is NULL
+
+  note: result is in degrees
+**********************************************************************/
+
+#define RADIANS_TO_DEGREES (180.0 / M_PI)
+
+int f_atan(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    DCELL *arg2;
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    if (argc > 1 && argt[2] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    arg2 = (argc > 1) ? args[2] : NULL;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]))
+	    SET_NULL_D(&res[i]);
+	else if (argc > 1 && IS_NULL_D(&arg2[i]))
+	    SET_NULL_D(&res[i]);
+
+	else {
+	    floating_point_exception = 0;
+	    if (argc == 1)
+		res[i] = RADIANS_TO_DEGREES * atan(arg1[i]);
+	    else {
+		res[i] = RADIANS_TO_DEGREES * atan2(arg2[i], arg1[i]);
+		if (res[i] < 0)
+		    res[i] += 360.0;
+	    }
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/calc/xbitand.c b/lib/calc/xbitand.c
new file mode 100644
index 0000000..2880eea
--- /dev/null
+++ b/lib/calc/xbitand.c
@@ -0,0 +1,38 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+bitand(a,b,c,...) = a & b & c & ...
+****************************************************************/
+
+int f_bitand(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL **argz = (CELL **) args;
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != CELL_TYPE)
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	res[i] = ~0;
+	for (j = 1; j <= argc; j++) {
+	    if (IS_NULL_C(&argz[j][i])) {
+		SET_NULL_C(&res[i]);
+		break;
+	    }
+	    res[i] &= argz[j][i];
+	}
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xbitnot.c b/lib/calc/xbitnot.c
new file mode 100644
index 0000000..0639ea1
--- /dev/null
+++ b/lib/calc/xbitnot.c
@@ -0,0 +1,35 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+bitnot(a) = ~a
+****************************************************************/
+
+int f_bitnot(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[1] != CELL_TYPE)
+	return E_ARG_TYPE;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	if (IS_NULL_C(&arg1[i]))
+	    SET_NULL_C(&res[i]);
+	else
+	    res[i] = ~arg1[i];
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xbitor.c b/lib/calc/xbitor.c
new file mode 100644
index 0000000..e65e516
--- /dev/null
+++ b/lib/calc/xbitor.c
@@ -0,0 +1,38 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+bitor(a,b,c,...) = a | b | c | ...
+****************************************************************/
+
+int f_bitor(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL **argz = (CELL **) args;
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != CELL_TYPE)
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	res[i] = 0;
+	for (j = 1; j <= argc; j++) {
+	    if (IS_NULL_C(&argz[j][i])) {
+		SET_NULL_C(&res[i]);
+		break;
+	    }
+	    res[i] |= argz[j][i];
+	}
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xbitxor.c b/lib/calc/xbitxor.c
new file mode 100644
index 0000000..0b19b61
--- /dev/null
+++ b/lib/calc/xbitxor.c
@@ -0,0 +1,38 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+bitxor(a,b,c,...) = a ^ b ^ c ^ ...
+****************************************************************/
+
+int f_bitxor(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL **argz = (CELL **) args;
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != CELL_TYPE)
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	res[i] = 0;
+	for (j = 1; j <= argc; j++) {
+	    if (IS_NULL_C(&argz[j][i])) {
+		SET_NULL_C(&res[i]);
+		break;
+	    }
+	    res[i] ^= argz[j][i];
+	}
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xcos.c b/lib/calc/xcos.c
new file mode 100644
index 0000000..8878a24
--- /dev/null
+++ b/lib/calc/xcos.c
@@ -0,0 +1,47 @@
+
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+cos(x) 
+
+  if floating point exception occurs during the evaluation of cos(x)
+  the result is NULL
+
+  note: x is in degrees.
+**********************************************************************/
+
+#define DEGREES_TO_RADIANS (M_PI / 180.0)
+
+int f_cos(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]))
+	    SET_NULL_D(&res[i]);
+	else {
+	    floating_point_exception = 0;
+	    res[i] = cos(arg1[i] * DEGREES_TO_RADIANS);
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/calc/xdiv.c b/lib/calc/xdiv.c
new file mode 100644
index 0000000..ab44816
--- /dev/null
+++ b/lib/calc/xdiv.c
@@ -0,0 +1,79 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+div(a,b) = a / b
+****************************************************************/
+
+int f_div(int argc, const int *argt, void **args)
+{
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[1] != argt[0] || argt[2] != argt[0])
+	return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]) ||
+		    arg2[i] == 0)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] / arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]) ||
+		    arg2[i] == 0.0f)
+		    SET_NULL_F(&res[i]);
+		else {
+		    floating_point_exception = 0;
+		    res[i] = arg1[i] / arg2[i];
+		    if (floating_point_exception)
+			SET_NULL_F(&res[i]);
+		}
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]) ||
+		    arg2[i] == 0.0)
+		    SET_NULL_D(&res[i]);
+		else {
+		    floating_point_exception = 0;
+		    res[i] = arg1[i] / arg2[i];
+		    if (floating_point_exception)
+			SET_NULL_D(&res[i]);
+		}
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xdouble.c b/lib/calc/xdouble.c
new file mode 100644
index 0000000..ff41ff5
--- /dev/null
+++ b/lib/calc/xdouble.c
@@ -0,0 +1,76 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+double(x)
+  converts x to double
+**********************************************************************/
+
+int f_double(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_C(&arg1[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = (DCELL) arg1[i];
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_F(&arg1[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = (DCELL) arg1[i];
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_D(&arg1[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = (DCELL) arg1[i];
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
+
+int c_double(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    argt[0] = DCELL_TYPE;
+    /*      argt[1] = argt[1];      */
+
+    return 0;
+}
diff --git a/lib/calc/xeq.c b/lib/calc/xeq.c
new file mode 100644
index 0000000..96887fe
--- /dev/null
+++ b/lib/calc/xeq.c
@@ -0,0 +1,70 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+eq(a,b) = a == b
+****************************************************************/
+
+int f_eq(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 2; i <= argc; i++)
+	if (argt[i] != argt[1])
+	    return E_ARG_TYPE;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] == arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] == arg2[i];
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] == arg2[i];
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xeval.c b/lib/calc/xeval.c
new file mode 100644
index 0000000..518887a
--- /dev/null
+++ b/lib/calc/xeval.c
@@ -0,0 +1,73 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+eval(..,..,..,x) = x
+
+   return last argument
+**********************************************************************/
+
+int f_eval(int argc, const int *argt, void **args)
+{
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argt[0] != argt[argc])
+	return E_RES_TYPE;
+
+    switch (argt[argc]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL *arg1 = args[argc];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_C(&arg1[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i];
+
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL *arg1 = args[argc];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_F(&arg1[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = arg1[i];
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL *arg1 = args[argc];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_D(&arg1[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = arg1[i];
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
+
+int c_eval(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+
+    argt[0] = argt[argc];
+
+    return 0;
+}
diff --git a/lib/calc/xexp.c b/lib/calc/xexp.c
new file mode 100644
index 0000000..0901c46
--- /dev/null
+++ b/lib/calc/xexp.c
@@ -0,0 +1,53 @@
+
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+exp(x)   computes e raised to power x
+exp(x,y) computes x raised to power y
+
+  if floating point exception occurs during the evaluation of exp(x)
+  or exp(x,y) the result is NULL
+**********************************************************************/
+
+int f_exp(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    DCELL *arg2;
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    arg2 = (argc > 1) ? args[2] : NULL;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]))
+	    SET_NULL_D(&res[i]);
+	else if (argc > 1 && IS_NULL_D(&arg2[i]))
+	    SET_NULL_D(&res[i]);
+	else if (argc > 1 && arg1[i] < 0 && arg2[i] != ceil(arg2[i]))
+	    SET_NULL_D(&res[i]);
+	else {
+	    floating_point_exception = 0;
+	    res[i] = (argc > 1)
+		? pow(arg1[i], arg2[i])
+		: exp(arg1[i]);
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/calc/xfloat.c b/lib/calc/xfloat.c
new file mode 100644
index 0000000..3895adb
--- /dev/null
+++ b/lib/calc/xfloat.c
@@ -0,0 +1,76 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+float(x)
+  converts x to float
+**********************************************************************/
+
+int f_float(int argc, const int *argt, void **args)
+{
+    FCELL *res = args[0];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != FCELL_TYPE)
+	return E_RES_TYPE;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_C(&arg1[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = (FCELL) arg1[i];
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_F(&arg1[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = (FCELL) arg1[i];
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_D(&arg1[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = (FCELL) arg1[i];
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
+
+int c_float(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    argt[0] = FCELL_TYPE;
+    /*      argt[1] = argt[1];      */
+
+    return 0;
+}
diff --git a/lib/calc/xge.c b/lib/calc/xge.c
new file mode 100644
index 0000000..3cb07aa
--- /dev/null
+++ b/lib/calc/xge.c
@@ -0,0 +1,63 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+ge(a,b) = a >= b
+****************************************************************/
+
+int f_ge(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] >= arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] >= arg2[i];
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] >= arg2[i];
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xgraph.c b/lib/calc/xgraph.c
new file mode 100644
index 0000000..8d9520b
--- /dev/null
+++ b/lib/calc/xgraph.c
@@ -0,0 +1,178 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+graph(x, x1,y1, x2,y2, ... xn,yn)  returns y value based on graph
+described by the x,y pairs.
+****************************************************************/
+
+int c_graph(int argc, int *argt)
+{
+    int i;
+
+    if (argc < 3)
+	return E_ARG_LO;
+
+    if (argc % 2 == 0)
+	return E_ARG_NUM;
+
+    for (i = 0; i <= argc; i++)
+	argt[i] = DCELL_TYPE;
+
+    return 0;
+}
+
+int f_graph(int argc, const int *argt, void **args)
+{
+    DCELL **argz = (DCELL **) args;
+    DCELL *res = argz[0];
+    int n = (argc - 1) / 2;
+    int i, j;
+
+    if (argc < 3)
+	return E_ARG_LO;
+
+    if (argc % 2 == 0)
+	return E_ARG_NUM;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != DCELL_TYPE)
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+#define X(j) (argz[2 + 2 * (j) + 0][i])
+#define Y(j) (argz[2 + 2 * (j) + 1][i])
+#define x (argz[1][i])
+
+	if (IS_NULL_D(&x))
+	    goto null;
+
+	for (j = 0; j < n; j++)
+	    if (IS_NULL_D(&X(j)))
+		goto null;
+
+	for (j = 0; j < n - 1; j++)
+	    if (X(j + 1) <= X(j))
+		goto null;
+
+	if (x <= X(0)) {
+	    if (IS_NULL_D(&Y(0)))
+		goto null;
+	    res[i] = Y(0);
+	    continue;
+	}
+
+	if (x >= X(n - 1)) {
+	    if (IS_NULL_D(&Y(n - 1)))
+		goto null;
+	    res[i] = Y(n - 1);
+	    continue;
+	}
+
+	for (j = 0; j < n - 1; j++) {
+	    if (x > X(j + 1))
+		continue;
+
+	    if (IS_NULL_D(&Y(j)) || IS_NULL_D(&Y(j + 1)))
+		goto null;
+
+	    res[i] =
+		Y(j) + (x - X(j)) * (Y(j + 1) - Y(j)) / (X(j + 1) - X(j));
+
+	    break;
+	}
+#undef X
+#undef Y
+#undef x
+
+	continue;
+
+      null:
+	SET_NULL_D(&res[i]);
+    }
+
+    return 0;
+}
+
+int f_graph2(int argc, const int *argt, void **args)
+{
+    DCELL **argz = (DCELL **) args;
+    DCELL *res = argz[0];
+    int n = (argc - 1) / 2;
+    int i, j;
+
+    if (argc < 3)
+	return E_ARG_LO;
+
+    if (argc % 2 == 0)
+	return E_ARG_NUM;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != DCELL_TYPE)
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+#define X(j) (argz[2 + (j) + 0][i])
+#define Y(j) (argz[2 + (j) + n][i])
+#define x (argz[1][i])
+
+	if (IS_NULL_D(&x))
+	    goto null;
+
+	for (j = 0; j < n; j++)
+	    if (IS_NULL_D(&X(j)))
+		goto null;
+
+	for (j = 0; j < n - 1; j++)
+	    if (X(j + 1) <= X(j))
+		goto null;
+
+	if (x <= X(0)) {
+	    if (IS_NULL_D(&Y(0)))
+		goto null;
+	    res[i] = Y(0);
+	    continue;
+	}
+
+	if (x >= X(n - 1)) {
+	    if (IS_NULL_D(&Y(n - 1)))
+		goto null;
+	    res[i] = Y(n - 1);
+	    continue;
+	}
+
+	for (j = 0; j < n - 1; j++) {
+	    if (x > X(j + 1))
+		continue;
+
+	    if (IS_NULL_D(&Y(j)) || IS_NULL_D(&Y(j + 1)))
+		goto null;
+
+	    res[i] =
+		Y(j) + (x - X(j)) * (Y(j + 1) - Y(j)) / (X(j + 1) - X(j));
+
+	    break;
+	}
+#undef X
+#undef Y
+#undef x
+
+	continue;
+
+      null:
+	SET_NULL_D(&res[i]);
+    }
+
+    return 0;
+}
+
diff --git a/lib/calc/xgt.c b/lib/calc/xgt.c
new file mode 100644
index 0000000..59b2c1a
--- /dev/null
+++ b/lib/calc/xgt.c
@@ -0,0 +1,63 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+gt(a,b) = a > b
+****************************************************************/
+
+int f_gt(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] > arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] > arg2[i];
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] > arg2[i];
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xif.c b/lib/calc/xif.c
new file mode 100644
index 0000000..4db1182
--- /dev/null
+++ b/lib/calc/xif.c
@@ -0,0 +1,303 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/********************************************************************
+ if(a)        1,0,1  1 if a is non zero, 0 otherwise
+ if(a,b)      b,0,b  b if a is non zero, 0 otherwise
+ if(a,b,c)    b,c,b  b if a is non zero, c otherwise
+ if(a,b,c,d)  d,c,b  b if a is positive, c if a is zero, d if a is negative
+********************************************************************/
+
+static int f_if_i(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    DCELL *arg1 = args[1];
+    CELL *arg2 = (argc >= 2) ? args[2] : NULL;
+    CELL *arg3 = (argc >= 3) ? args[3] : NULL;
+    CELL *arg4 = (argc >= 4) ? args[4] : NULL;
+    int i;
+
+    switch (argc) {
+    case 0:
+	return E_ARG_LO;
+    case 1:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_C(&res[i]);
+	    else
+		res[i] = arg1[i] != 0.0 ? 1 : 0;
+	break;
+    case 2:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_C(&res[i]);
+	    else if (arg1[i] == 0.0)
+		res[i] = 0;
+	    else {
+		if (IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	break;
+    case 3:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_C(&res[i]);
+	    else if (arg1[i] == 0.0) {
+		if (IS_NULL_C(&arg3[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg3[i];
+	    }
+	    else {
+		if (IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	break;
+    case 4:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_C(&res[i]);
+	    else if (arg1[i] == 0.0) {
+		if (IS_NULL_C(&arg3[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg3[i];
+	    }
+	    else if (arg1[i] > 0.0) {
+		if (IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	    else {		/* (arg1[i] < 0.0) */
+
+		if (IS_NULL_C(&arg4[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg4[i];
+	    }
+	break;
+    default:
+	return E_ARG_HI;
+    }
+
+    return 0;
+}
+
+static int f_if_f(int argc, const int *argt, void **args)
+{
+    FCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    FCELL *arg2 = (argc >= 2) ? args[2] : NULL;
+    FCELL *arg3 = (argc >= 3) ? args[3] : NULL;
+    FCELL *arg4 = (argc >= 4) ? args[4] : NULL;
+    int i;
+
+    switch (argc) {
+    case 0:
+	return E_ARG_LO;
+    case 1:
+	return E_ARG_TYPE;
+    case 2:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_F(&res[i]);
+	    else if (arg1[i] == 0.0)
+		res[i] = 0.0;
+	    else {
+		if (IS_NULL_F(&arg2[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	break;
+    case 3:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_F(&res[i]);
+	    else if (arg1[i] == 0.0) {
+		if (IS_NULL_F(&arg3[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = arg3[i];
+	    }
+	    else {
+		if (IS_NULL_F(&arg2[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	break;
+    case 4:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_F(&res[i]);
+	    else if (arg1[i] == 0.0) {
+		if (IS_NULL_F(&arg3[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = arg3[i];
+	    }
+	    else if (arg1[i] > 0.0) {
+		if (IS_NULL_F(&arg2[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	    else {		/* (arg1[i] < 0.0) */
+
+		if (IS_NULL_F(&arg4[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = arg4[i];
+	    }
+	break;
+    default:
+	return E_ARG_HI;
+    }
+
+    return 0;
+}
+
+static int f_if_d(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    DCELL *arg2 = (argc >= 2) ? args[2] : NULL;
+    DCELL *arg3 = (argc >= 3) ? args[3] : NULL;
+    DCELL *arg4 = (argc >= 4) ? args[4] : NULL;
+    int i;
+
+    switch (argc) {
+    case 0:
+	return E_ARG_LO;
+    case 1:
+	return E_ARG_TYPE;
+    case 2:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_D(&res[i]);
+	    else if (arg1[i] == 0.0)
+		res[i] = 0.0;
+	    else {
+		if (IS_NULL_D(&arg2[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	break;
+    case 3:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_D(&res[i]);
+	    else if (arg1[i] == 0.0) {
+		if (IS_NULL_D(&arg3[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = arg3[i];
+	    }
+	    else {
+		if (IS_NULL_D(&arg2[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	break;
+    case 4:
+	for (i = 0; i < columns; i++)
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_D(&res[i]);
+	    else if (arg1[i] == 0.0) {
+		if (IS_NULL_D(&arg3[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = arg3[i];
+	    }
+	    else if (arg1[i] > 0.0) {
+		if (IS_NULL_D(&arg2[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = arg2[i];
+	    }
+	    else {		/* (arg1[i] < 0.0) */
+
+		if (IS_NULL_D(&arg4[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = arg4[i];
+	    }
+	break;
+    default:
+	return E_ARG_HI;
+    }
+
+    return 0;
+}
+
+int f_if(int argc, const int *argt, void **args)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 4)
+	return E_ARG_HI;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+    if (argc >= 2 && argt[2] != argt[0])
+	return E_ARG_TYPE;
+    if (argc >= 3 && argt[3] != argt[0])
+	return E_ARG_TYPE;
+    if (argc >= 4 && argt[4] != argt[0])
+	return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	return f_if_i(argc, argt, args);
+    case FCELL_TYPE:
+	return f_if_f(argc, argt, args);
+    case DCELL_TYPE:
+	return f_if_d(argc, argt, args);
+    default:
+	return E_INV_TYPE;
+    }
+}
+
+int c_if(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 4)
+	return E_ARG_HI;
+
+    argt[0] = CELL_TYPE;
+
+    if (argc >= 2 && argt[2] == FCELL_TYPE)
+	argt[0] = FCELL_TYPE;
+    if (argc >= 3 && argt[3] == FCELL_TYPE)
+	argt[0] = FCELL_TYPE;
+    if (argc >= 4 && argt[4] == FCELL_TYPE)
+	argt[0] = FCELL_TYPE;
+
+    if (argc >= 2 && argt[2] == DCELL_TYPE)
+	argt[0] = DCELL_TYPE;
+    if (argc >= 3 && argt[3] == DCELL_TYPE)
+	argt[0] = DCELL_TYPE;
+    if (argc >= 4 && argt[4] == DCELL_TYPE)
+	argt[0] = DCELL_TYPE;
+
+    argt[1] = DCELL_TYPE;
+    if (argc >= 2)
+	argt[2] = argt[0];
+    if (argc >= 3)
+	argt[3] = argt[0];
+    if (argc >= 4)
+	argt[4] = argt[0];
+
+    return 0;
+}
diff --git a/lib/calc/xint.c b/lib/calc/xint.c
new file mode 100644
index 0000000..169b51e
--- /dev/null
+++ b/lib/calc/xint.c
@@ -0,0 +1,76 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+int(x)
+  converts x to int
+**********************************************************************/
+
+int f_int(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_C(&arg1[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = (CELL) arg1[i];
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_F(&arg1[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = (CELL) arg1[i];
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_D(&arg1[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = (CELL) arg1[i];
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
+
+int c_int(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    argt[0] = CELL_TYPE;
+    /*      argt[1] = argt[1];      */
+
+    return 0;
+}
diff --git a/lib/calc/xisnull.c b/lib/calc/xisnull.c
new file mode 100644
index 0000000..28d4759
--- /dev/null
+++ b/lib/calc/xisnull.c
@@ -0,0 +1,64 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+isnull(x)
+  return 1 if x is null, 0 otherwise
+**********************************************************************/
+
+int f_isnull(int argc, const int *argt, void **args)
+{
+    int *res = args[0];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		res[i] = IS_NULL_C(&arg1[i]) ? 1 : 0;
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		res[i] = IS_NULL_F(&arg1[i]) ? 1 : 0;
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		res[i] = IS_NULL_D(&arg1[i]) ? 1 : 0;
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
+
+int c_isnull(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    argt[0] = CELL_TYPE;
+
+    return 0;
+}
diff --git a/lib/calc/xle.c b/lib/calc/xle.c
new file mode 100644
index 0000000..51674e4
--- /dev/null
+++ b/lib/calc/xle.c
@@ -0,0 +1,63 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+le(a,b) = a <= b
+****************************************************************/
+
+int f_le(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] <= arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] <= arg2[i];
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] <= arg2[i];
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xlog.c b/lib/calc/xlog.c
new file mode 100644
index 0000000..7c7f2d2
--- /dev/null
+++ b/lib/calc/xlog.c
@@ -0,0 +1,59 @@
+
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+log(x) 
+log(x,b)
+
+  first form computes the natural log of x = ln(x)
+  second form computes log of x base b = ln(x)/ln(b)
+
+  if x is non-positive, or floating point exception occurs while
+  computing ln(x), the result is NULL
+
+  if b is non-positive, or 1.0, or floating point exception occurs while
+  computing ln(b), the result is NULL
+**********************************************************************/
+
+int f_log(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    DCELL *arg2 = (argc >= 2) ? args[2] : (DCELL *) 0;
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    if (argc > 1 && argt[2] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]) || (arg1[i] <= 0.0))
+	    SET_NULL_D(&res[i]);
+	else if (argc > 1 && (IS_NULL_D(&arg2[i]) || (arg2[i] <= 0.0)))
+	    SET_NULL_D(&res[i]);
+	else {
+	    floating_point_exception = 0;
+	    res[i] = (argc > 1)
+		? log(arg1[i]) / log(arg2[i])
+		: log(arg1[i]);
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/calc/xlt.c b/lib/calc/xlt.c
new file mode 100644
index 0000000..f388a2b
--- /dev/null
+++ b/lib/calc/xlt.c
@@ -0,0 +1,63 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+lt(a,b) = a < b
+****************************************************************/
+
+int f_lt(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] < arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] < arg2[i];
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] < arg2[i];
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xmax.c b/lib/calc/xmax.c
new file mode 100644
index 0000000..646480e
--- /dev/null
+++ b/lib/calc/xmax.c
@@ -0,0 +1,98 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+max(x0,x1,...,xn) returns maximum value
+****************************************************************/
+
+int f_max(int argc, const int *argt, void **args)
+{
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argz = (CELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 0;
+		CELL max;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_C(&argz[j][i]))
+			nul = 1;
+		    else if (j == 1)
+			max = argz[j][i];
+		    else if (max < argz[j][i])
+			max = argz[j][i];
+		if (nul)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = max;
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argz = (FCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 0;
+		FCELL max;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_F(&argz[j][i]))
+			nul = 1;
+		    else if (j == 1)
+			max = argz[j][i];
+		    else if (max < argz[j][i])
+			max = argz[j][i];
+		if (nul)
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = max;
+	    }
+
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argz = (DCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 0;
+		DCELL max;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_D(&argz[j][i]))
+			nul = 1;
+		    else if (j == 1)
+			max = argz[j][i];
+		    else if (max < argz[j][i])
+			max = argz[j][i];
+		if (nul)
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = max;
+	    }
+
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xmedian.c b/lib/calc/xmedian.c
new file mode 100644
index 0000000..d1ebc53
--- /dev/null
+++ b/lib/calc/xmedian.c
@@ -0,0 +1,153 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+median(x1,x2,..,xn)
+   return median of arguments
+**********************************************************************/
+
+static int icmp(const void *aa, const void *bb)
+{
+    const CELL *a = aa;
+    const CELL *b = bb;
+
+    return *a - *b;
+}
+
+static int fcmp(const void *aa, const void *bb)
+{
+    const FCELL *a = aa;
+    const FCELL *b = bb;
+
+    if (*a < *b)
+	return -1;
+    if (*a > *b)
+	return 1;
+    return 0;
+}
+
+static int dcmp(const void *aa, const void *bb)
+{
+    const DCELL *a = aa;
+    const DCELL *b = bb;
+
+    if (*a < *b)
+	return -1;
+    if (*a > *b)
+	return 1;
+    return 0;
+}
+
+int f_median(int argc, const int *argt, void **args)
+{
+    static void *array;
+    static int alloc;
+    int size = argc * Rast_cell_size(argt[0]);
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    if (size > alloc) {
+	alloc = size;
+	array = G_realloc(array, size);
+    }
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argv = (CELL **) &args[1];
+	    CELL *a = array;
+	    CELL *a1 = &a[(argc - 1) / 2];
+	    CELL *a2 = &a[argc / 2];
+
+	    for (i = 0; i < columns; i++) {
+		int nv = 0;
+
+		for (j = 0; j < argc && !nv; j++) {
+		    if (IS_NULL_C(&argv[j][i]))
+			nv = 1;
+		    else
+			a[j] = argv[j][i];
+		}
+
+		if (nv)
+		    SET_NULL_C(&res[i]);
+		else {
+		    qsort(a, argc, sizeof(CELL), icmp);
+		    res[i] = (*a1 + *a2) / 2;
+		}
+	    }
+
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argv = (FCELL **) &args[1];
+	    FCELL *a = array;
+	    FCELL *a1 = &a[(argc - 1) / 2];
+	    FCELL *a2 = &a[argc / 2];
+
+	    for (i = 0; i < columns; i++) {
+		int nv = 0;
+
+		for (j = 0; j < argc && !nv; j++) {
+		    if (IS_NULL_F(&argv[j][i]))
+			nv = 1;
+		    else
+			a[j] = argv[j][i];
+		}
+
+		if (nv)
+		    SET_NULL_F(&res[i]);
+		else {
+		    qsort(a, argc, sizeof(FCELL), fcmp);
+		    res[i] = (*a1 + *a2) / 2;
+		}
+	    }
+
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argv = (DCELL **) &args[1];
+	    DCELL *a = array;
+	    DCELL *a1 = &a[(argc - 1) / 2];
+	    DCELL *a2 = &a[argc / 2];
+
+	    for (i = 0; i < columns; i++) {
+		int nv = 0;
+
+		for (j = 0; j < argc && !nv; j++) {
+		    if (IS_NULL_D(&argv[j][i]))
+			nv = 1;
+		    else
+			a[j] = argv[j][i];
+		}
+
+		if (nv)
+		    SET_NULL_D(&res[i]);
+		else {
+		    qsort(a, argc, sizeof(DCELL), dcmp);
+		    res[i] = (*a1 + *a2) / 2;
+		}
+	    }
+
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xmin.c b/lib/calc/xmin.c
new file mode 100644
index 0000000..1ca6b72
--- /dev/null
+++ b/lib/calc/xmin.c
@@ -0,0 +1,98 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+min(x0,x1,...,xn) returns minimum value
+****************************************************************/
+
+int f_min(int argc, const int *argt, void **args)
+{
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argz = (CELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 0;
+		CELL min;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_C(&argz[j][i]))
+			nul = 1;
+		    else if (j == 1)
+			min = argz[j][i];
+		    else if (min > argz[j][i])
+			min = argz[j][i];
+		if (nul)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = min;
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argz = (FCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 0;
+		FCELL min;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_F(&argz[j][i]))
+			nul = 1;
+		    else if (j == 1)
+			min = argz[j][i];
+		    else if (min > argz[j][i])
+			min = argz[j][i];
+		if (nul)
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = min;
+	    }
+
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argz = (DCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 0;
+		DCELL min;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_D(&argz[j][i]))
+			nul = 1;
+		    else if (j == 1)
+			min = argz[j][i];
+		    else if (min > argz[j][i])
+			min = argz[j][i];
+		if (nul)
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = min;
+	    }
+
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xmod.c b/lib/calc/xmod.c
new file mode 100644
index 0000000..75e9c72
--- /dev/null
+++ b/lib/calc/xmod.c
@@ -0,0 +1,78 @@
+
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+mod(a,b) = a % b
+****************************************************************/
+
+int f_mod(int argc, const int *argt, void **args)
+{
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[1] != argt[0] || argt[2] != argt[0])
+	return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] % arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_F(&res[i]);
+		else {
+		    floating_point_exception = 0;
+		    res[i] = (FCELL) fmod(arg1[i], arg2[i]);
+		    if (floating_point_exception)
+			SET_NULL_F(&res[i]);
+		}
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_D(&res[i]);
+		else {
+		    floating_point_exception = 0;
+		    res[i] = (DCELL) fmod(arg1[i], arg2[i]);
+		    if (floating_point_exception)
+			SET_NULL_D(&res[i]);
+		}
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xmode.c b/lib/calc/xmode.c
new file mode 100644
index 0000000..3726caf
--- /dev/null
+++ b/lib/calc/xmode.c
@@ -0,0 +1,142 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+mode(x1,x2,..,xn)
+   return mode of arguments
+**********************************************************************/
+
+static int dcmp(const void *aa, const void *bb)
+{
+    const double *a = aa;
+    const double *b = bb;
+
+    if (*a < *b)
+	return -1;
+    if (*a > *b)
+	return 1;
+    return 0;
+}
+
+static double mode(double *value, int argc)
+{
+    double mode_v;
+    int mode_n = 0;
+    int i;
+
+    qsort(value, argc, sizeof(double), dcmp);
+
+    for (i = 0; i < argc;) {
+	int n = 1;
+	double v = value[i];
+
+	for (i++; i < argc; i++) {
+	    if (value[i] != v)
+		break;
+	    n++;
+	}
+
+	if (n < mode_n)
+	    continue;
+
+	mode_v = v;
+	mode_n = n;
+    }
+
+    return mode_v;
+}
+
+int f_mode(int argc, const int *argt, void **args)
+{
+    static double *value;
+    static int value_size;
+    int size = argc * sizeof(double);
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    if (size > value_size) {
+	value_size = size;
+	value = G_realloc(value, value_size);
+    }
+
+    switch (argt[argc]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argv = (CELL **) & args[1];
+
+	    for (i = 0; i < columns; i++) {
+		int nv = 0;
+
+		for (j = 0; j < argc && !nv; j++) {
+		    if (IS_NULL_C(&argv[j][i]))
+			nv = 1;
+		    else
+			value[j] = (double)argv[j][i];
+		}
+
+		if (nv)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = (CELL) mode(value, argc);
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argv = (FCELL **) & args[1];
+
+	    for (i = 0; i < columns; i++) {
+		int nv = 0;
+
+		for (j = 0; j < argc && !nv; j++) {
+		    if (IS_NULL_F(&argv[j][i]))
+			nv = 1;
+		    else
+			value[j] = (double)argv[j][i];
+		}
+
+		if (nv)
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = (FCELL) mode(value, argc);
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argv = (DCELL **) & args[1];
+
+	    for (i = 0; i < columns; i++) {
+		int nv = 0;
+
+		for (j = 0; j < argc && !nv; j++) {
+		    if (IS_NULL_D(&argv[j][i]))
+			nv = 1;
+		    else
+			value[j] = (double)argv[j][i];
+		}
+
+		if (nv)
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = (DCELL) mode(value, argc);
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xmul.c b/lib/calc/xmul.c
new file mode 100644
index 0000000..88185c1
--- /dev/null
+++ b/lib/calc/xmul.c
@@ -0,0 +1,76 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+mul(a,b) = a * b
+****************************************************************/
+
+int f_mul(int argc, const int *argt, void **args)
+{
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argz = (CELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		res[i] = 1;
+		for (j = 1; j <= argc; j++) {
+		    if (IS_NULL_C(&argz[j][i])) {
+			SET_NULL_C(&res[i]);
+			break;
+		    }
+		    res[i] *= argz[j][i];
+		}
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argz = (FCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		res[i] = 1;
+		for (j = 1; j <= argc; j++) {
+		    if (IS_NULL_F(&argz[j][i])) {
+			SET_NULL_F(&res[i]);
+			break;
+		    }
+		    res[i] *= argz[j][i];
+		}
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argz = (DCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		res[i] = 1;
+		for (j = 1; j <= argc; j++) {
+		    if (IS_NULL_D(&argz[j][i])) {
+			SET_NULL_D(&res[i]);
+			break;
+		    }
+		    res[i] *= argz[j][i];
+		}
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xne.c b/lib/calc/xne.c
new file mode 100644
index 0000000..a97e339
--- /dev/null
+++ b/lib/calc/xne.c
@@ -0,0 +1,63 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+ne(a,b) = a != b
+****************************************************************/
+
+int f_ne(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] != arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] != arg2[i];
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] != arg2[i];
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xneg.c b/lib/calc/xneg.c
new file mode 100644
index 0000000..10c87a7
--- /dev/null
+++ b/lib/calc/xneg.c
@@ -0,0 +1,62 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+neg(x) = -x
+**********************************************************************/
+
+int f_neg(int argc, const int *argt, void **args)
+{
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != argt[1])
+	return E_RES_TYPE;
+
+    switch (argt[1]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_C(&arg1[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = -arg1[i];
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_F(&arg1[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = -arg1[i];
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL *arg1 = args[1];
+
+	    for (i = 0; i < columns; i++)
+		if (IS_NULL_D(&arg1[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = -arg1[i];
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xnmax.c b/lib/calc/xnmax.c
new file mode 100644
index 0000000..87c1537
--- /dev/null
+++ b/lib/calc/xnmax.c
@@ -0,0 +1,98 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+max(x0,x1,...,xn) returns maximum value
+****************************************************************/
+
+int f_nmax(int argc, const int *argt, void **args)
+{
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argz = (CELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 1;
+		CELL max;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_C(&argz[j][i]))
+			continue;
+		    else if (nul)
+			max = argz[j][i], nul = 0;
+		    else if (max < argz[j][i])
+			max = argz[j][i], nul = 0;
+		if (nul)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = max;
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argz = (FCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 1;
+		FCELL max;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_F(&argz[j][i]))
+			continue;
+		    else if (nul)
+			max = argz[j][i], nul = 0;
+		    else if (max < argz[j][i])
+			max = argz[j][i], nul = 0;
+		if (nul)
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = max;
+	    }
+
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argz = (DCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 1;
+		DCELL max;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_D(&argz[j][i]))
+			continue;
+		    else if (nul)
+			max = argz[j][i], nul = 0;
+		    else if (max < argz[j][i])
+			max = argz[j][i], nul = 0;
+		if (nul)
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = max;
+	    }
+
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xnmedian.c b/lib/calc/xnmedian.c
new file mode 100644
index 0000000..8fc239c
--- /dev/null
+++ b/lib/calc/xnmedian.c
@@ -0,0 +1,150 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+median(x1,x2,..,xn)
+   return median of arguments
+**********************************************************************/
+
+static int icmp(const void *aa, const void *bb)
+{
+    const CELL *a = aa;
+    const CELL *b = bb;
+
+    return *a - *b;
+}
+
+static int fcmp(const void *aa, const void *bb)
+{
+    const FCELL *a = aa;
+    const FCELL *b = bb;
+
+    if (*a < *b)
+	return -1;
+    if (*a > *b)
+	return 1;
+    return 0;
+}
+
+static int dcmp(const void *aa, const void *bb)
+{
+    const DCELL *a = aa;
+    const DCELL *b = bb;
+
+    if (*a < *b)
+	return -1;
+    if (*a > *b)
+	return 1;
+    return 0;
+}
+
+int f_nmedian(int argc, const int *argt, void **args)
+{
+    static void *array;
+    static int alloc;
+    int size = argc * Rast_cell_size(argt[0]);
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    if (size > alloc) {
+	alloc = size;
+	array = G_realloc(array, size);
+    }
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argv = (CELL **) &args[1];
+	    CELL *a = array;
+	    CELL *a1 = &a[(argc - 1) / 2];
+	    CELL *a2 = &a[argc / 2];
+
+	    for (i = 0; i < columns; i++) {
+		int n = 0;
+
+		for (j = 0; j < argc; j++) {
+		    if (IS_NULL_C(&argv[j][i]))
+			continue;
+		    a[n++] = argv[j][i];
+		}
+
+		if (!n)
+		    SET_NULL_C(&res[i]);
+		else {
+		    qsort(a, n, sizeof(CELL), icmp);
+		    res[i] = (*a1 + *a2) / 2;
+		}
+	    }
+
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argv = (FCELL **) &args[1];
+	    FCELL *a = array;
+	    FCELL *a1 = &a[(argc - 1) / 2];
+	    FCELL *a2 = &a[argc / 2];
+
+	    for (i = 0; i < columns; i++) {
+		int n = 0;
+
+		for (j = 0; j < argc; j++) {
+		    if (IS_NULL_F(&argv[j][i]))
+			continue;
+		    a[n++] = argv[j][i];
+		}
+
+		if (!n)
+		    SET_NULL_F(&res[i]);
+		else {
+		    qsort(a, n, sizeof(FCELL), fcmp);
+		    res[i] = (*a1 + *a2) / 2;
+		}
+	    }
+
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argv = (DCELL **) &args[1];
+	    DCELL *a = array;
+	    DCELL *a1 = &a[(argc - 1) / 2];
+	    DCELL *a2 = &a[argc / 2];
+
+	    for (i = 0; i < columns; i++) {
+		int n = 0;
+
+		for (j = 0; j < argc; j++) {
+		    if (IS_NULL_D(&argv[j][i]))
+			continue;
+		    a[n++] = argv[j][i];
+		}
+
+		if (!n)
+		    SET_NULL_D(&res[i]);
+		else {
+		    qsort(a, n, sizeof(DCELL), dcmp);
+		    res[i] = (*a1 + *a2) / 2;
+		}
+	    }
+
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xnmin.c b/lib/calc/xnmin.c
new file mode 100644
index 0000000..66793df
--- /dev/null
+++ b/lib/calc/xnmin.c
@@ -0,0 +1,98 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+min(x0,x1,...,xn) returns minimum value
+****************************************************************/
+
+int f_nmin(int argc, const int *argt, void **args)
+{
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argz = (CELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 1;
+		CELL min;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_C(&argz[j][i]))
+			continue;
+		    else if (nul)
+			min = argz[j][i], nul = 0;
+		    else if (min > argz[j][i])
+			min = argz[j][i], nul = 0;
+		if (nul)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = min;
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argz = (FCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 1;
+		FCELL min;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_F(&argz[j][i]))
+			continue;
+		    else if (nul)
+			min = argz[j][i], nul = 0;
+		    else if (min > argz[j][i])
+			min = argz[j][i], nul = 0;
+		if (nul)
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = min;
+	    }
+
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argz = (DCELL **) args;
+
+	    for (i = 0; i < columns; i++) {
+		int nul = 1;
+		DCELL min;
+
+		for (j = 1; j <= argc; j++)
+		    if (IS_NULL_D(&argz[j][i]))
+			continue;
+		    else if (nul)
+			min = argz[j][i], nul = 0;
+		    else if (min > argz[j][i])
+			min = argz[j][i], nul = 0;
+		if (nul)
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = min;
+	    }
+
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xnmode.c b/lib/calc/xnmode.c
new file mode 100644
index 0000000..0605f1e
--- /dev/null
+++ b/lib/calc/xnmode.c
@@ -0,0 +1,139 @@
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+mode(x1,x2,..,xn)
+   return mode of arguments
+**********************************************************************/
+
+static int dcmp(const void *aa, const void *bb)
+{
+    const double *a = aa;
+    const double *b = bb;
+
+    if (*a < *b)
+	return -1;
+    if (*a > *b)
+	return 1;
+    return 0;
+}
+
+static double mode(double *value, int argc)
+{
+    double mode_v;
+    int mode_n = 0;
+    int i;
+
+    qsort(value, argc, sizeof(double), dcmp);
+
+    for (i = 0; i < argc;) {
+	int n = 1;
+	double v = value[i];
+
+	for (i++; i < argc; i++) {
+	    if (value[i] != v)
+		break;
+	    n++;
+	}
+
+	if (n < mode_n)
+	    continue;
+
+	mode_v = v;
+	mode_n = n;
+    }
+
+    return mode_v;
+}
+
+int f_nmode(int argc, const int *argt, void **args)
+{
+    static double *value;
+    static int value_size;
+    int size = argc * sizeof(double);
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    if (size > value_size) {
+	value_size = size;
+	value = G_realloc(value, value_size);
+    }
+
+    switch (argt[argc]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL **argv = (CELL **) & args[1];
+
+	    for (i = 0; i < columns; i++) {
+		int n = 0;
+
+		for (j = 0; j < argc; j++) {
+		    if (IS_NULL_C(&argv[j][i]))
+			continue;
+		    value[n++] = (double)argv[j][i];
+		}
+
+		if (!n)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = (CELL) mode(value, n);
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL **argv = (FCELL **) & args[1];
+
+	    for (i = 0; i < columns; i++) {
+		int n = 0;
+
+		for (j = 0; j < argc; j++) {
+		    if (IS_NULL_F(&argv[j][i]))
+			continue;
+		    value[n++] = (double)argv[j][i];
+		}
+
+		if (!n)
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = (FCELL) mode(value, n);
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL **argv = (DCELL **) & args[1];
+
+	    for (i = 0; i < columns; i++) {
+		int n = 0;
+
+		for (j = 0; j < argc; j++) {
+		    if (IS_NULL_D(&argv[j][i]))
+			continue;
+		    value[n++] = (double)argv[j][i];
+		}
+
+		if (!n)
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = (DCELL) mode(value, n);
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xnot.c b/lib/calc/xnot.c
new file mode 100644
index 0000000..2f1bf2f
--- /dev/null
+++ b/lib/calc/xnot.c
@@ -0,0 +1,50 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+not(a) = !a
+****************************************************************/
+
+int f_not(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[1] != CELL_TYPE)
+	return E_ARG_TYPE;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	if (IS_NULL_C(&arg1[i]))
+	    SET_NULL_C(&res[i]);
+	else
+	    res[i] = !arg1[i];
+    }
+
+    return 0;
+}
+
+int c_not(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[1] != CELL_TYPE)
+	return E_ARG_TYPE;
+
+    argt[0] = CELL_TYPE;
+
+    return 0;
+}
diff --git a/lib/calc/xnull.c b/lib/calc/xnull.c
new file mode 100644
index 0000000..ff7dd32
--- /dev/null
+++ b/lib/calc/xnull.c
@@ -0,0 +1,25 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+null() null values
+****************************************************************/
+
+int f_null(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc > 0)
+	return E_ARG_HI;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++)
+	SET_NULL_C(&res[i]);
+
+    return 0;
+}
diff --git a/lib/calc/xor.c b/lib/calc/xor.c
new file mode 100644
index 0000000..428eca6
--- /dev/null
+++ b/lib/calc/xor.c
@@ -0,0 +1,39 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+or(a,b,c,...) = a || b || c || ...
+****************************************************************/
+
+int f_or(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	res[i] = 0;
+	for (j = 1; j <= argc; j++) {
+	    CELL *arg = args[j];
+	    if (IS_NULL_C(&arg[i])) {
+		SET_NULL_C(&res[i]);
+		break;
+	    }
+	    if (arg[i])
+		res[i] = 1;
+	}
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xor2.c b/lib/calc/xor2.c
new file mode 100644
index 0000000..4ec37e3
--- /dev/null
+++ b/lib/calc/xor2.c
@@ -0,0 +1,46 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+or2(a,b,c,...) = a || b || c || ...
+
+Differs from or() in that the boolean axioms:
+
+	true || x == true
+	x || true == true
+
+hold even when x is null.
+****************************************************************/
+
+int f_or2(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i, j;
+
+    if (argc < 1)
+	return E_ARG_LO;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 1; i <= argc; i++)
+	if (argt[i] != argt[0])
+	    return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	res[i] = 0;
+	for (j = 1; j <= argc; j++) {
+	    CELL *arg = args[j];
+	    if (!IS_NULL_C(&arg[i]) && arg[i]) {
+		res[i] = 1;
+		break;
+	    }
+	    if (IS_NULL_C(&arg[i]))
+		SET_NULL_C(&res[i]);
+	}
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xpow.c b/lib/calc/xpow.c
new file mode 100644
index 0000000..a244c42
--- /dev/null
+++ b/lib/calc/xpow.c
@@ -0,0 +1,96 @@
+
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+pow(a,b)
+   a raised to the power b
+****************************************************************/
+
+static int ipow(int x, int y)
+{
+    int res = 1;
+
+    while (y) {
+	if (y & 1)
+	    res *= x;
+	y >>= 1;
+	x *= x;
+    }
+    return res;
+}
+
+int f_pow(int argc, const int *argt, void **args)
+{
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[1] != argt[0] || argt[2] != argt[0])
+	return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]) || arg2[i] < 0)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = ipow(arg1[i], arg2[i]);
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_F(&res[i]);
+		else if (arg1[i] < 0 && arg2[i] != ceil(arg2[i]))
+		    SET_NULL_F(&res[i]);
+		else {
+		    floating_point_exception = 0;
+		    res[i] = pow(arg1[i], arg2[i]);
+		    if (floating_point_exception)
+			SET_NULL_F(&res[i]);
+		}
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_D(&res[i]);
+		else if (arg1[i] < 0 && arg2[i] != ceil(arg2[i]))
+		    SET_NULL_D(&res[i]);
+		else {
+		    floating_point_exception = 0;
+		    res[i] = pow(arg1[i], arg2[i]);
+		    if (floating_point_exception)
+			SET_NULL_D(&res[i]);
+		}
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xrand.c b/lib/calc/xrand.c
new file mode 100644
index 0000000..a221478
--- /dev/null
+++ b/lib/calc/xrand.c
@@ -0,0 +1,89 @@
+
+#include <stdlib.h>
+
+#include <grass/config.h>
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+rand(lo,hi) random values between a and b
+****************************************************************/
+
+int f_rand(int argc, const int *argt, void **args)
+{
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		unsigned int x = (unsigned int)G_mrand48();
+		int lo = arg1[i];
+		int hi = arg2[i];
+
+		if (lo > hi) {
+		    int tmp = lo;
+
+		    lo = hi;
+		    hi = tmp;
+		}
+		res[i] = (lo == hi) ? lo : lo + x % (unsigned int)(hi - lo);
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		double x = G_drand48();
+		FCELL lo = arg1[i];
+		FCELL hi = arg2[i];
+
+		if (lo > hi) {
+		    FCELL tmp = lo;
+
+		    lo = hi;
+		    hi = tmp;
+		}
+		res[i] = (FCELL) (lo + x * (hi - lo));
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		double x = G_drand48();
+		DCELL lo = arg1[i];
+		DCELL hi = arg2[i];
+
+		if (lo > hi) {
+		    DCELL tmp = lo;
+
+		    lo = hi;
+		    hi = tmp;
+		}
+		res[i] = lo + x * (hi - lo);
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xround.c b/lib/calc/xround.c
new file mode 100644
index 0000000..0c4d621
--- /dev/null
+++ b/lib/calc/xround.c
@@ -0,0 +1,203 @@
+
+#include <limits.h>
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+round(x, step, start)
+
+  rounds x to nearest value in the sequence
+    y[i] = i * step + start
+
+**********************************************************************/
+
+/* i_round(x) rounds x to nearest value, handles negative correctly */
+
+static double i_round(double x, double step, double start)
+{
+    x -= start;
+    x /= step;
+    x = floor(x + 0.5);
+    x *= step;
+    x += start;
+    return x;
+}
+
+/**********************************************************************/
+
+int f_round(int argc, const int *argt, void **args)
+{
+    const DCELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 3)
+	return E_ARG_HI;
+
+    if (argc == 1 && argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+    if (argc > 1 && argt[2] != DCELL_TYPE)
+	return E_ARG_TYPE;
+    if (argc > 2 && argt[3] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    if (argc == 1) {
+	CELL *res = args[0];
+
+	for (i = 0; i < columns; i++) {
+	    if (IS_NULL_D(&arg1[i]))
+		SET_NULL_C(&res[i]);
+	    else {
+		DCELL x = i_round(arg1[i], 1.0, 0.0);
+		if (x > 2147483647.0 || x < -2147483647.0)
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = (CELL) x;
+	    }
+	}
+	return 0;
+    }
+    else if (argc == 2) {
+	const DCELL *arg2 = args[2];
+
+	switch (argt[0]) {
+        case CELL_TYPE:
+            {
+                CELL *res = args[0];
+    
+                for (i = 0; i < columns; i++) {
+                    if (IS_NULL_D(&arg1[i]))
+                        SET_NULL_C(&res[i]);
+                    else if (IS_NULL_D(&arg2[i]))
+                        SET_NULL_C(&res[i]);
+                    else {
+                        DCELL x = i_round(arg1[i], arg2[i], 0.0);
+                        if (x > 2147483647.0 || x < -2147483647.0)
+                            SET_NULL_C(&res[i]);
+                        else
+                            res[i] = (CELL) x;
+                    }
+                }
+                return 0;
+            }
+        case FCELL_TYPE:
+            {
+                FCELL *res = args[0];
+    
+                for (i = 0; i < columns; i++)
+                    if (IS_NULL_D(&arg1[i]))
+                        SET_NULL_F(&res[i]);
+                    else if (IS_NULL_D(&arg2[i]))
+                        SET_NULL_F(&res[i]);
+                    else
+                        res[i] = (FCELL) i_round(arg1[i], arg2[i], 0.0);
+                return 0;
+            }
+        case DCELL_TYPE:
+            {
+                DCELL *res = args[0];
+    
+                for (i = 0; i < columns; i++)
+                    if (IS_NULL_D(&arg1[i]))
+                        SET_NULL_D(&res[i]);
+                    else if (IS_NULL_D(&arg2[i]))
+                        SET_NULL_D(&res[i]);
+                    else
+                        res[i] = (DCELL) i_round(arg1[i], arg2[i], 0.0);
+                return 0;
+            }
+        default:
+            return E_INV_TYPE;
+        }
+    }
+    else if (argc == 3) {
+	const DCELL *arg2 = args[2];
+	const DCELL *arg3 = args[3];
+
+	switch (argt[0]) {
+        case CELL_TYPE:
+            {
+                CELL *res = args[0];
+    
+                for (i = 0; i < columns; i++) {
+                    if (IS_NULL_D(&arg1[i]))
+                        SET_NULL_C(&res[i]);
+                    else if (IS_NULL_D(&arg2[i]))
+                        SET_NULL_C(&res[i]);
+                    else if (IS_NULL_D(&arg3[i]))
+                        SET_NULL_C(&res[i]);
+                    else {
+                        DCELL x = i_round(arg1[i], arg2[i], arg3[i]);
+                        if (x > 2147483647.0 || x < -2147483647.0)
+                            SET_NULL_C(&res[i]);
+                        else
+                            res[i] = (CELL) x;
+                    }
+                }
+                return 0;
+            }
+        case FCELL_TYPE:
+            {
+                FCELL *res = args[0];
+    
+                for (i = 0; i < columns; i++)
+                    if (IS_NULL_D(&arg1[i]))
+                        SET_NULL_F(&res[i]);
+                    else if (IS_NULL_D(&arg2[i]))
+                        SET_NULL_F(&res[i]);
+                    else if (IS_NULL_D(&arg3[i]))
+                        SET_NULL_F(&res[i]);
+                    else
+                        res[i] = (FCELL) i_round(arg1[i], arg2[i], arg3[i]);
+                return 0;
+            }
+        case DCELL_TYPE:
+            {
+                DCELL *res = args[0];
+    
+                for (i = 0; i < columns; i++)
+                    if (IS_NULL_D(&arg1[i]))
+                        SET_NULL_D(&res[i]);
+                    else if (IS_NULL_D(&arg2[i]))
+                        SET_NULL_D(&res[i]);
+                    else if (IS_NULL_D(&arg3[i]))
+                        SET_NULL_D(&res[i]);
+                    else
+                        res[i] = (DCELL) i_round(arg1[i], arg2[i], arg3[i]);
+                return 0;
+            }
+        default:
+            return E_INV_TYPE;
+        }
+    }
+    else
+	return E_WTF;
+}
+
+int c_round(int argc, int *argt)
+{
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 3)
+	return E_ARG_HI;
+
+    argt[0] = CELL_TYPE;
+    if (argc > 1 && argt[0] < argt[2])
+	argt[0] = argt[2];
+    if (argc > 2 && argt[0] < argt[3])
+	argt[0] = argt[3];
+
+    argt[1] = DCELL_TYPE;
+    if (argc > 1)
+	argt[2] = DCELL_TYPE;
+    if (argc > 2)
+	argt[3] = DCELL_TYPE;
+
+    return 0;
+}
diff --git a/lib/calc/xshiftl.c b/lib/calc/xshiftl.c
new file mode 100644
index 0000000..5c94f99
--- /dev/null
+++ b/lib/calc/xshiftl.c
@@ -0,0 +1,36 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+shiftl(a,b) = a << b
+****************************************************************/
+
+int f_shiftl(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL *arg1 = args[1];
+    CELL *arg2 = args[2];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[1] != CELL_TYPE || argt[2] != CELL_TYPE)
+	return E_ARG_TYPE;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+	    SET_NULL_C(&res[i]);
+	else
+	    res[i] = arg1[i] << arg2[i];
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xshiftr.c b/lib/calc/xshiftr.c
new file mode 100644
index 0000000..0a89840
--- /dev/null
+++ b/lib/calc/xshiftr.c
@@ -0,0 +1,36 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+shiftr(a,b) = a >> b
+****************************************************************/
+
+int f_shiftr(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL *arg1 = args[1];
+    CELL *arg2 = args[2];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[1] != CELL_TYPE || argt[2] != CELL_TYPE)
+	return E_ARG_TYPE;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+	    SET_NULL_C(&res[i]);
+	else
+	    res[i] = arg1[i] >> arg2[i];
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xshiftru.c b/lib/calc/xshiftru.c
new file mode 100644
index 0000000..a9d63fe
--- /dev/null
+++ b/lib/calc/xshiftru.c
@@ -0,0 +1,36 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+shiftru(a,b) = (unsigned) a >> b
+****************************************************************/
+
+int f_shiftru(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    CELL *arg1 = args[1];
+    CELL *arg2 = args[2];
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[1] != CELL_TYPE || argt[2] != CELL_TYPE)
+	return E_ARG_TYPE;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++) {
+	if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+	    SET_NULL_C(&res[i]);
+	else
+	    res[i] = ((unsigned int)arg1[i]) >> arg2[i];
+    }
+
+    return 0;
+}
diff --git a/lib/calc/xsin.c b/lib/calc/xsin.c
new file mode 100644
index 0000000..e32a916
--- /dev/null
+++ b/lib/calc/xsin.c
@@ -0,0 +1,47 @@
+
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+sin(x) 
+
+  if floating point exception occurs during the evaluation of sin(x)
+  the result is NULL
+
+  note: x is in degrees.
+**********************************************************************/
+
+#define DEGREES_TO_RADIANS (M_PI / 180.0)
+
+int f_sin(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]))
+	    SET_NULL_D(&res[i]);
+	else {
+	    floating_point_exception = 0;
+	    res[i] = sin(arg1[i] * DEGREES_TO_RADIANS);
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/calc/xsqrt.c b/lib/calc/xsqrt.c
new file mode 100644
index 0000000..1cdcf33
--- /dev/null
+++ b/lib/calc/xsqrt.c
@@ -0,0 +1,43 @@
+
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+sqrt(x) 
+
+  if floating point exception occurs during the evaluation of sqrt(x)
+  the result is NULL
+**********************************************************************/
+
+int f_sqrt(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]) || (arg1[i] < 0.0))
+	    SET_NULL_D(&res[i]);
+	else {
+	    floating_point_exception = 0;
+	    res[i] = sqrt(arg1[i]);
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/calc/xsub.c b/lib/calc/xsub.c
new file mode 100644
index 0000000..f85ce87
--- /dev/null
+++ b/lib/calc/xsub.c
@@ -0,0 +1,68 @@
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/****************************************************************
+sub(a,b) = a - b
+****************************************************************/
+
+int f_sub(int argc, const int *argt, void **args)
+{
+    int i;
+
+    if (argc < 2)
+	return E_ARG_LO;
+    if (argc > 2)
+	return E_ARG_HI;
+
+    if (argt[1] != argt[0] || argt[2] != argt[0])
+	return E_ARG_TYPE;
+
+    switch (argt[0]) {
+    case CELL_TYPE:
+	{
+	    CELL *res = args[0];
+	    CELL *arg1 = args[1];
+	    CELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
+		    SET_NULL_C(&res[i]);
+		else
+		    res[i] = arg1[i] - arg2[i];
+	    }
+	    return 0;
+	}
+    case FCELL_TYPE:
+	{
+	    FCELL *res = args[0];
+	    FCELL *arg1 = args[1];
+	    FCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
+		    SET_NULL_F(&res[i]);
+		else
+		    res[i] = arg1[i] - arg2[i];
+	    }
+	    return 0;
+	}
+    case DCELL_TYPE:
+	{
+	    DCELL *res = args[0];
+	    DCELL *arg1 = args[1];
+	    DCELL *arg2 = args[2];
+
+	    for (i = 0; i < columns; i++) {
+		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
+		    SET_NULL_D(&res[i]);
+		else
+		    res[i] = arg1[i] - arg2[i];
+	    }
+	    return 0;
+	}
+    default:
+	return E_INV_TYPE;
+    }
+}
diff --git a/lib/calc/xtan.c b/lib/calc/xtan.c
new file mode 100644
index 0000000..a31375e
--- /dev/null
+++ b/lib/calc/xtan.c
@@ -0,0 +1,48 @@
+
+#include <stdlib.h>
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/calc.h>
+
+/**********************************************************************
+tan(x) 
+
+  if floating point exception occurs during the evaluation of tan(x)
+  the result is NULL
+
+  note: x is in degrees.
+**********************************************************************/
+
+#define DEGREES_TO_RADIANS (M_PI / 180.0)
+
+int f_tan(int argc, const int *argt, void **args)
+{
+    DCELL *res = args[0];
+    DCELL *arg1 = args[1];
+    int i;
+
+    if (argc < 1)
+	return E_ARG_LO;
+    if (argc > 1)
+	return E_ARG_HI;
+
+    if (argt[0] != DCELL_TYPE)
+	return E_RES_TYPE;
+
+    if (argt[1] != DCELL_TYPE)
+	return E_ARG_TYPE;
+
+    for (i = 0; i < columns; i++)
+	if (IS_NULL_D(&arg1[i]))
+	    SET_NULL_D(&res[i]);
+	else {
+	    floating_point_exception = 0;
+	    res[i] = tan(arg1[i] * DEGREES_TO_RADIANS);
+	    if (floating_point_exception)
+		SET_NULL_D(&res[i]);
+	}
+
+    return 0;
+}
diff --git a/lib/db/dbmi_base/connect.c b/lib/db/dbmi_base/connect.c
index bec2fb1..5de52b2 100644
--- a/lib/db/dbmi_base/connect.c
+++ b/lib/db/dbmi_base/connect.c
@@ -80,17 +80,12 @@ int db_get_connection(dbConnection * connection)
     connection->schemaName = (char *)G_getenv_nofatal2("DB_SCHEMA", G_VAR_MAPSET);
     connection->group = (char *)G_getenv_nofatal2("DB_GROUP", G_VAR_MAPSET);
 
-    /* below commented due to new mechanism: see db_get_login()
-       connection->hostName = G_getenv_nofatal("DB_HOST");
-       connection->location = G_getenv_nofatal("DB_LOCATION");
-       connection->user = G_getenv_nofatal("DB_USER");
-       connection->password = G_getenv_nofatal("DB_PASSWORD");
-     */
-
     /* try to get user/password */
-    db_get_login(connection->driverName, connection->databaseName,
-                 (const char **) &(connection->user),
-                 (const char **) &(connection->password));
+    db_get_login2(connection->driverName, connection->databaseName,
+                  (const char **) &(connection->user),
+                  (const char **) &(connection->password),
+                  (const char **) &(connection->hostName),
+                  (const char **) &(connection->port));
     
     return DB_OK;
 }
diff --git a/lib/db/dbmi_base/login.c b/lib/db/dbmi_base/login.c
index 35cbd33..b1598ed 100644
--- a/lib/db/dbmi_base/login.c
+++ b/lib/db/dbmi_base/login.c
@@ -3,7 +3,7 @@
   
   \brief DBMI Library (base) - login settings
   
-  (C) 1999-2014 by the GRASS Development Team
+  (C) 1999-2015 by the GRASS Development Team
   
   This program is free software under the GNU General Public
   License (>=v2). Read the file COPYING that comes with GRASS
@@ -29,6 +29,8 @@ typedef struct
     char *database;
     char *user;
     char *password;
+    char *host;
+    char *port;
 } DATA;
 
 typedef struct
@@ -57,19 +59,28 @@ static void init_login(LOGIN * login)
 }
 
 static void add_login(LOGIN * login, const char *dr, const char *db, const char *usr,
-		      const char *pwd)
+		      const char *pwd, const char *host, const char *port, int idx)
 {
+    int login_idx;
+    
     if (login->n == login->a) {
 	login->a += 10;
 	login->data =
 	    (DATA *) realloc((void *)login->data, login->a * sizeof(DATA));
     }
-    login->data[login->n].driver = G_store(dr);
-    login->data[login->n].database = G_store(db);
-    login->data[login->n].user = G_store(usr ? usr : "");
-    login->data[login->n].password = G_store(pwd ? pwd : "");
-
-    login->n++;
+    if (idx > -1 && idx < login->n) {
+        login_idx = idx;
+    }
+    else {
+        login_idx = login->n;
+        login->n++;
+    }
+    login->data[login_idx].driver = G_store(dr);
+    login->data[login_idx].database = G_store(db);
+    login->data[login_idx].user = G_store(usr ? usr : "");
+    login->data[login_idx].password = G_store(pwd ? pwd : "");
+    login->data[login_idx].host = G_store(host ? host : "");
+    login->data[login_idx].port = G_store(port ? port : "");
 }
 
 /*
@@ -82,7 +93,7 @@ static int read_file(LOGIN * login)
     int ret;
     const char *file;
     FILE *fd;
-    char buf[2001], dr[500], db[500], usr[500], pwd[500];
+    char buf[2001], dr[500], db[500], usr[500], pwd[500], host[500], port[500];
 
     login->n = 0;
     file = login_filename();
@@ -103,18 +114,19 @@ static int read_file(LOGIN * login)
     while (G_getl2(buf, 2000, fd)) {
 	G_chop(buf);
 
-	usr[0] = pwd[0] = '\0';
-	ret = sscanf(buf, "%[^|]|%[^|]|%[^|]|%[^\n]", dr, db, usr, pwd);
+	usr[0] = pwd[0] = host[0] = port[0] = '\0';
+	ret = sscanf(buf, "%[^|]|%[^|]|%[^|]|%[^|]|%[^|]|%[^\n]",
+                     dr, db, usr, pwd, host, port);
 
-	G_debug(3, "ret = %d : drv=[%s] db=[%s] usr=[%s] pwd=[%s]",
-		ret, dr, db, usr, pwd);
+	G_debug(3, "ret = %d : drv=[%s] db=[%s] usr=[%s] pwd=[%s] host=[%s], port=[%s]",
+		ret, dr, db, usr, pwd, host, port);
 
 	if (ret < 2) {
 	    G_warning(_("Login file (%s) corrupted (line: %s)"), file, buf);
 	    continue;
 	}
 
-	add_login(login, dr, db, usr, pwd);
+	add_login(login, dr, db, usr, pwd, host, port, -1);
     }
 
     fclose(fd);
@@ -155,7 +167,12 @@ static int write_file(LOGIN * login)
 	    if (login->data[i].password)
 		fprintf(fd, "|%s", login->data[i].password);
 	}
-	fprintf(fd, "\n");
+        if (login->data[i].host)
+            fprintf(fd, "|%s", login->data[i].host);
+        if (login->data[i].port)
+            fprintf(fd, "|%s", login->data[i].port);
+
+        fprintf(fd, "\n");
     }
 
     fclose(fd);
@@ -163,32 +180,22 @@ static int write_file(LOGIN * login)
     return 0;
 }
 
-/*!
-  \brief Set user/password for driver/database
-  
-  \param driver driver name
-  \param database database name
-  \param user user name
-  \param password password string
-  
-  \return DB_OK on success
-  \return DB_FAILED on failure
- */
-int db_set_login(const char *driver, const char *database, const char *user,
-		 const char *password)
+static int set_login(const char *driver, const char *database, const char *user,
+                     const char *password, const char *host, const char *port,
+                     int overwrite)
 {
     int i, found;
     LOGIN login;
 
-    G_debug(3, "db_set_login(): drv=[%s] db=[%s] usr=[%s] pwd=[%s]",
-	    driver, database, user, password);
+    G_debug(3, "db_set_login(): drv=[%s] db=[%s] usr=[%s] pwd=[%s] host=[%s] port=[%s]",
+	    driver, database, user, password, host, port);
 
     init_login(&login);
 
     if (read_file(&login) == -1)
 	return DB_FAILED;
 
-    found = 0;
+    found = FALSE;
     for (i = 0; i < login.n; i++) {
 	if (strcmp(login.data[i].driver, driver) == 0 &&
 	    strcmp(login.data[i].database, database) == 0) {
@@ -202,13 +209,25 @@ int db_set_login(const char *driver, const char *database, const char *user,
 	    else
 		login.data[i].password = G_store("");
 
-	    found = 1;
+	    found = TRUE;
 	    break;
 	}
     }
 
+    if (found) {
+        if (overwrite)
+            G_warning(_("DB connection <%s/%s> already exists and will be overwritten"),
+                      driver, database ? database : "");
+        else
+            G_fatal_error(_("DB connection <%s/%s> already exists. "
+                            "Re-run '%s' with '--%s' flag to overwrite existing settings."),
+                          driver, database ? database : "", G_program_name(), "overwrite");
+    }
+    
     if (!found)
-	add_login(&login, driver, database, user, password);
+	add_login(&login, driver, database, user, password, host, port, -1);
+    else
+        add_login(&login, driver, database, user, password, host, port, i);
 
     if (write_file(&login) == -1)
 	return DB_FAILED;
@@ -216,20 +235,52 @@ int db_set_login(const char *driver, const char *database, const char *user,
     return DB_OK;
 }
 
-/*!  
-  \brief Get user/password for driver/database if driver/database
-  is not found, user/password are set to NULL
+/*!
+  \brief Set login parameters for driver/database
   
+  \deprecated Use db_set_login2() instead.
+  
+  \todo: GRASS 8: to be replaced by db_set_login2().
+
   \param driver driver name
-  \param database database name (can be NULL)
-  \param[out] user name
-  \param[out] password string
+  \param database database name
+  \param user user name
+  \param password password string
   
   \return DB_OK on success
   \return DB_FAILED on failure
-*/
-int db_get_login(const char *driver, const char *database, const char **user,
-		 const char **password)
+ */
+int db_set_login(const char *driver, const char *database, const char *user,
+                 const char *password)
+{
+    return set_login(driver, database, user,
+                     password, NULL, NULL, FALSE);
+}
+
+/*!
+  \brief Set login parameters for driver/database
+  
+  \param driver driver name
+  \param database database name
+  \param user user name
+  \param password password string
+  \param host host name
+  \param port
+  \param overwrite TRUE to overwrite existing connections
+  
+  \return DB_OK on success
+  \return DB_FAILED on failure
+ */
+int db_set_login2(const char *driver, const char *database, const char *user,
+		 const char *password, const char *host, const char *port,
+                 int overwrite)
+{
+    return set_login(driver, database, user,
+                     password, host, port, overwrite);
+}
+
+static int get_login(const char *driver, const char *database, const char **user,
+                     const char **password, const char **host, const char **port)
 {
     int i;
     LOGIN login;
@@ -238,7 +289,9 @@ int db_get_login(const char *driver, const char *database, const char **user,
 
     user[0] = '\0';
     password[0] = '\0';
-
+    host[0] = '\0';
+    port[0] = '\0';
+    
     init_login(&login);
 
     if (read_file(&login) == -1)
@@ -257,6 +310,16 @@ int db_get_login(const char *driver, const char *database, const char **user,
 	    else
 		*password = NULL;
 
+            if (login.data[i].host && strlen(login.data[i].host) > 0 && host)
+		*host = G_store(login.data[i].host);
+	    else
+		*host = NULL;
+
+            if (login.data[i].port && strlen(login.data[i].port) > 0 && port)
+		*port = G_store(login.data[i].port);
+	    else
+		*port = NULL;
+
 	    break;
 	}
     }
@@ -265,6 +328,52 @@ int db_get_login(const char *driver, const char *database, const char **user,
 }
 
 /*!  
+  \brief Get login parameters for driver/database
+
+  If driver/database is not found, output arguments are set to NULL.
+
+  \deprecated Use db_set_login2() instead.
+  
+  \todo: GRASS 8: to be replaced by db_set_login2().
+
+  \param driver driver name
+  \param database database name (can be NULL)
+  \param[out] user name
+  \param[out] password string
+
+  \return DB_OK on success
+  \return DB_FAILED on failure
+*/
+int db_get_login(const char *driver, const char *database, const char **user,
+		 const char **password)
+{
+    return get_login(driver, database, user,
+                     password, NULL, NULL);
+}
+
+/*!  
+  \brief Get login parameters for driver/database
+
+  If driver/database is not found, output arguments are set to NULL.
+  
+  \param driver driver name
+  \param database database name (can be NULL)
+  \param[out] user name
+  \param[out] password string
+  \param[out] host name
+  \param[out] port
+
+  \return DB_OK on success
+  \return DB_FAILED on failure
+*/
+int db_get_login2(const char *driver, const char *database, const char **user,
+                  const char **password, const char **host, const char **port)
+{
+    return get_login(driver, database, user,
+                     password, host, port);
+}
+
+/*!  
   \brief Print all connection settings to file
   
   \param fd file where to print settings
@@ -284,11 +393,13 @@ int db_get_login_dump(FILE *fd)
 	return DB_FAILED;
     
     for (i = 0; i < login.n; i++) {
-        fprintf(fd, "%s|%s|%s|%s\n",
+        fprintf(fd, "%s|%s|%s|%s|%s|%s\n",
                 login.data[i].driver,
                 login.data[i].database,
                 login.data[i].user,
-                login.data[i].password);
+                login.data[i].password,
+                login.data[i].host,
+                login.data[i].port);
     }
     
     return DB_OK;
diff --git a/lib/db/dbmi_base/string.c b/lib/db/dbmi_base/string.c
index 3904f28..15be367 100644
--- a/lib/db/dbmi_base/string.c
+++ b/lib/db/dbmi_base/string.c
@@ -135,7 +135,7 @@ int db_enlarge_string(dbString * x, int len)
 
   \param x pointer to dbString
 
-  \return pointer to buffer containg string
+  \return pointer to buffer containing string
 */
 char *db_get_string(const dbString * x)
 {
diff --git a/lib/db/dbmi_client/copy_tab.c b/lib/db/dbmi_client/copy_tab.c
index 08a6e52..8850fec 100644
--- a/lib/db/dbmi_client/copy_tab.c
+++ b/lib/db/dbmi_client/copy_tab.c
@@ -158,11 +158,33 @@ static int copy_table(const char *from_drvname, const char *from_dbname,
     }
 
     for (i = 0; i < count; i++) {
-	const char *tblname = db_get_string(&tblnames[i]);
 	int ret;
-	
+        char *tblname_i;
+
+        tblname_i = NULL;
+        if (strcmp(to_drvname, "pg") == 0) {
+            char *p, *tbl;
+            dbConnection connection;
+
+            tbl = db_get_string(&tblnames[i]);
+            db_get_connection(&connection);
+            p = strstr(tbl, ".");
+
+            if (p) {
+                char buf[GNAME_MAX];
+
+                sprintf(buf, "%s.%s", connection.schemaName ? connection.schemaName : "public",
+                        to_tblname);
+                if (strcmp(buf, tbl) == 0)
+                    tblname_i = G_store(p + 1); /* skip dot */
+            }
+        }
+        if (!tblname_i) {
+            tblname_i = G_store(db_get_string(&tblnames[i]));
+        }
+        
 	ret = DB_FAILED;
-	if (strcmp(to_tblname, tblname) == 0) {
+	if (strcmp(to_tblname, tblname_i) == 0) {
 	    if (G_get_overwrite()) {
 		G_warning(_("Table <%s> already exists in database and will be overwritten"),
 			  to_tblname);
@@ -181,6 +203,8 @@ static int copy_table(const char *from_drvname, const char *from_dbname,
 		return DB_FAILED;
 	    }
 	}
+
+        G_free(tblname_i);
     }
 
     /* Create new table */
diff --git a/lib/db/sqlp/sql.html b/lib/db/sqlp/sql.html
index f5a8cfc..ecceb2f 100644
--- a/lib/db/sqlp/sql.html
+++ b/lib/db/sqlp/sql.html
@@ -231,4 +231,4 @@ v.db.update vectormap column=species qcolumn="CASE WHEN col1 >= 1 THEN cat WH
 <a href="database.html">Help pages for database modules</a>
 
 <p>
-<i>Last changed: $Date: 2015-12-17 15:41:28 +0100 (Thu, 17 Dec 2015) $</i>
+<i>Last changed: $Date: 2015-12-17 06:38:13 -0800 (Thu, 17 Dec 2015) $</i>
diff --git a/lib/display/r_raster.c b/lib/display/r_raster.c
index bf6b024..1144bde 100644
--- a/lib/display/r_raster.c
+++ b/lib/display/r_raster.c
@@ -3,7 +3,7 @@
 
   \brief Display Library - Raster graphics subroutines
 
-  (C) 2001-2014 by the GRASS Development Team
+  (C) 2001-2015 by the GRASS Development Team
 
   This program is free software under the GNU General Public License
   (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -24,6 +24,7 @@
 #include <grass/gis.h>
 #include <grass/glocale.h>
 #include <grass/display.h>
+#include <grass/spawn.h>
 
 #include "driver.h"
 
@@ -34,8 +35,6 @@ extern const struct driver *HTML_Driver(void);
 extern const struct driver *Cairo_Driver(void);
 #endif
 
-static int read_env_file(const char *);
-
 static struct {
     double t, b, l, r;
 } screen, frame;
@@ -72,79 +71,65 @@ static void init(void)
 	frame = screen;
 }
 
-int read_env_file(const char *path)
-{
-    FILE *fd;
-    char buf[1024];
-    char **token;
-
-    G_debug(1, "read_env_file(): %s", path);
-    
-    fd = fopen(path, "r");
-    if (!fd)
-	return -1;
-
-    token = NULL;
-    while (G_getl2(buf, sizeof(buf) - 1, fd) != 0) {
-	token = G_tokenize(buf, "=");
-	if (G_number_of_tokens(token) != 2)
-	    continue;
-	G_debug(3, "\tread_env_file(): %s=%s", token[0], token[1]);
-	G_putenv(token[0], token[1]);
-	G_free_tokens(token);
-	token = NULL;
-    }
-
-    return 0;
-}
-
 /*!
   \brief Open display driver
 
   Default display driver is Cairo, if not available PNG is used.
 
   \return 0 on success
-  \return 1 no monitor defined
 */
 int D_open_driver(void)
 {
-    const char *p, *m;
+    const char *p, *c, *m;
     const struct driver *drv;
     
     G_debug(1, "D_open_driver():");
     p = getenv("GRASS_RENDER_IMMEDIATE");
+    c = getenv("GRASS_RENDER_COMMAND");
     m = G_getenv_nofatal("MONITOR");
     
-    if (m && G_strncasecmp(m, "wx", 2) == 0) {
-	/* wx monitors always use GRASS_RENDER_IMMEDIATE. */
-	p = NULL; /* use default display driver */
-    }
-    else if (m) {
-	char *env;
-	const char *v;
-	char *u_m;
-	
-	if (p)
-	    G_warning(_("%s variable defined, %s ignored"),
-		      "MONITOR", "GRASS_RENDER_IMMEDIATE");
-	/* GRASS variable names should be upper case. */
-	u_m = G_store_upper(m);
-
-	env = NULL;
-	G_asprintf(&env, "MONITOR_%s_MAPFILE", u_m);
-	v = G_getenv_nofatal(env);
-	p = m;
+    if (!p && (m || c)) {
+        char *cmd;
+        char progname[GPATH_MAX];
 
-	if (v)
-            G_putenv("GRASS_RENDER_FILE", v);
+        cmd = G_recreate_command();
         
-	G_asprintf(&env, "MONITOR_%s_ENVFILE", u_m);
-	v = G_getenv_nofatal(env);
-	if (v) 
-	    read_env_file(v);
+        if (c && m) {
+            G_warning(_("Both %s and %s are defined. "
+                        "%s will be ignored."),
+                      "GRASS_RENDER_COMMAND", "MONITOR",
+                      "MONITOR");
+            m = NULL;
+        }
+        
+        if (c) 
+            sprintf(progname, "%s", c);
+        else { /* monitors managed by d.mon -> call default renderer */
+            char element[GPATH_MAX];
+            
+            G_temp_element(element);
+            strcat(element, "/");
+            strcat(element, "MONITORS");
+            strcat(element, "/");
+            strcat(element, m);
+            G_file_name(progname, element, "render.py", G_mapset());
+        }
+
+        G_debug(1, "rendering redirected to %s", progname);
+        /* assuming Python script here (could be extended in the future) */
+        G_spawn_ex(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"), progname,
+                   cmd, NULL);
+        
+        G_free(cmd);
+        
+        /* force exiting GRASS command, leave rendering on
+         * GRASS_RENDER_COMMAND program */
+        exit(0);
     }
-    else if (!p)
-	G_fatal_error(_("Neither %s (managed by d.mon command) nor %s (used for direct rendering) defined"),
+
+    if (!p)
+	G_fatal_error(_("Neither %s (managed by d.mon command) nor %s "
+                        "(used for direct rendering) defined"),
 		      "MONITOR", "GRASS_RENDER_IMMEDIATE");
 
     if (p && G_strcasecmp(p, "default") == 0)
@@ -187,62 +172,13 @@ void D_close_driver(void)
 }
 
 /*!
-  \brief Append command to the cmd file
+  \brief Append command to the cmd file (unused)
 
-  Cmd file is created by d.mon by defining GRASS variable
-  \c MONITOR_<name>_CMDFILE, where \c \<name\> is the upper case name of
-  the monitor.
-
-  Command string is usually generated by G_recreate_command(), NULL is
-  used to clean up list of commands (see d.erase command).
-
-  \param cmd string buffer with command or NULL
-
-  \return 0 no monitor selected
-  \return -1 on error
-  \return 1 on success
+  \todo To be removed
 */
 int D_save_command(const char *cmd)
 {
-    const char *mon_name, *mon_cmd;
-    char *env, *flag, *u_mon_name;
-    FILE *fd;
-
-    G_debug(1, "D_save_command(): %s", cmd);
-
-    mon_name = G_getenv_nofatal("MONITOR");
-    if (!mon_name || /* if no monitor selected */
-	/* or wx monitor selected and display commands called by the monitor */
-	(G_strncasecmp(mon_name, "wx", 2) == 0 &&
-	 getenv("GRASS_RENDER_IMMEDIATE")))
-	return 0;
-
-    /* GRASS variable names should be upper case. */
-    u_mon_name = G_store_upper(mon_name);
-
-    env = NULL;
-    G_asprintf(&env, "MONITOR_%s_CMDFILE", u_mon_name);
-    mon_cmd = G_getenv_nofatal(env);
-    if (!mon_cmd)
-	return 0;
-
-    if (cmd)
-	flag = "a";
-    else
-	flag = "w";
-
-    fd = fopen(mon_cmd, flag);
-    if (!fd) {
-	G_warning(_("Unable to open file '%s'"), mon_cmd);
-	return -1;
-    }
-
-    if (cmd)
-	fprintf(fd, "%s\n", cmd);
-    
-    fclose(fd);
-
-    return 1;
+    return 0;
 }
 
 /*!
diff --git a/lib/driver/font.c b/lib/driver/font.c
index 086fab1..aeccd5d 100644
--- a/lib/driver/font.c
+++ b/lib/driver/font.c
@@ -48,11 +48,13 @@ static void font_list(char ***list, int *count, int verbose)
 	;
     num_fonts = i;
 
+    G_debug(2, "font_list: num_fonts=%d", num_fonts);
     fonts = G_malloc(num_fonts * sizeof(const char *));
 
     for (i = 0; i < num_fonts; i++) {
 	struct GFONT_CAP *p = &ftcap[i];
 
+	G_debug(4, "font: %d (%s)", i, p->name);
 	if (verbose) {
 	    char buf[GPATH_MAX];
 
diff --git a/lib/gis/adj_cellhd.c b/lib/gis/adj_cellhd.c
index 00a0e52..fae9819 100644
--- a/lib/gis/adj_cellhd.c
+++ b/lib/gis/adj_cellhd.c
@@ -39,7 +39,7 @@ void G_adjust_Cell_head(struct Cell_head *cellhd, int row_flag, int col_flag)
 {
     if (!row_flag) {
 	if (cellhd->ns_res <= 0)
-	    G_fatal_error(_("Illegal n-s resolution value"));
+	    G_fatal_error(_("Illegal n-s resolution value <%lf>"), cellhd->ns_res);
     }
     else {
 	if (cellhd->rows <= 0)
diff --git a/lib/gis/cmprbzip.c b/lib/gis/cmprbzip.c
new file mode 100644
index 0000000..b6599c8
--- /dev/null
+++ b/lib/gis/cmprbzip.c
@@ -0,0 +1,175 @@
+/*
+ ****************************************************************************
+ *                     -- GRASS Development Team --
+ *
+ * MODULE:      GRASS gis library
+ * FILENAME:    cmprbzip.c
+ * AUTHOR(S):   Markus Metz
+ * PURPOSE:     To provide an interface to libbzip2 for compressing and 
+ *              decompressing data.  Its primary use is in
+ *              the storage and reading of GRASS rasters.
+ *
+ * ALGORITHM:   http://www.bzip.org
+ * DATE CREATED: Nov 19 2015
+ * COPYRIGHT:   (C) 2015 by the GRASS Development Team
+ *
+ *              This program is free software under the GNU General Public
+ *              License (version 2 or greater). Read the file COPYING that 
+ *              comes with GRASS for details.
+ *
+ *****************************************************************************/
+
+/********************************************************************
+ * int                                                              *
+ * G_bz2_compress (src, srz_sz, dst, dst_sz)                        *
+ *     int src_sz, dst_sz;                                          *
+ *     unsigned char *src, *dst;                                    *
+ * ---------------------------------------------------------------- *
+ * This function is a wrapper around the bzip2 compression          *
+ * function. It uses an all or nothing call.                        *
+ * If you need a continuous compression scheme, you'll have to code *
+ * your own.                                                        *
+ * In order to do a single pass compression, the input src must be  *
+ * copied to a buffer 1% + 600 bytes larger than the data.  This    *
+ * may cause performance degradation.                               *
+ *                                                                  *
+ * The function either returns the number of bytes of compressed    *
+ * data in dst, or an error code.                                   *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Compression failed.                                 *
+ *        -2 -- dst is too small.                                   *
+ *                                                                  *
+ * ================================================================ *
+ * int                                                              *
+ * G_bz2_expand (src, src_sz, dst, dst_sz)                          *
+ *     int src_sz, dst_sz;                                          *
+ *     unsigned char *src, *dst;                                    *
+ * ---------------------------------------------------------------- *
+ * This function is a wrapper around the bzip2 decompression        *
+ * function. It uses a single pass call to inflate().               *
+ * If you need a continuous expansion scheme, you'll have to code   *
+ * your own.                                                        *
+ *                                                                  *
+ * The function returns the number of bytes expanded into 'dst' or  *
+ * and error code.                                                  *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Expansion failed.                                   *
+ *                                                                  *
+ ********************************************************************
+ */
+
+#include <grass/config.h>
+
+#ifdef HAVE_BZLIB_H
+#include <bzlib.h>
+#endif
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+
+int
+G_bz2_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz)
+{
+    int err;
+    unsigned int i, nbytes, buf_sz;
+    unsigned char *buf;
+
+#ifndef HAVE_BZLIB_H
+    G_fatal_error(_("GRASS needs to be compiled with BZIP2 for BZIP2 compression"));
+    return -1;
+#else
+
+    /* Catch errors early */
+    if (src == NULL || dst == NULL)
+	return -1;
+
+    /* Don't do anything if src is empty */
+    if (src_sz <= 0)
+	return 0;
+
+    /* Output buffer has to be 1% + 600 bytes bigger for single pass compression */
+    buf_sz = (unsigned int)((double)dst_sz * 1.01 + (double)600);
+
+    if (NULL == (buf = (unsigned char *)
+		 G_calloc(buf_sz, sizeof(unsigned char))))
+	return -1;
+
+    /* Do single pass compression */
+    nbytes = buf_sz;
+    err = BZ2_bzBuffToBuffCompress((char *)buf, &nbytes, /* destination */
+                                   (char *)src, src_sz,  /* source */
+				   9,			 /* blockSize100k */ 
+				   0,                    /* verbosity */
+				   0);                   /* workFactor */
+    if (err != BZ_OK) {
+	G_free(buf);
+	return -1;
+    }
+
+    /* updated buf_sz is bytes of compressed data */
+    if (nbytes >= (unsigned int)src_sz) {
+	/* compression not possible */
+	G_free(buf);
+	return -2;
+    }
+
+    /* dst too small */
+    if ((unsigned int)dst_sz < nbytes)
+	return -2;
+
+    /* Copy the data from buf to dst */
+    for (i = 0; i < nbytes; i++)
+	dst[i] = buf[i];
+
+    G_free(buf);
+
+    return nbytes;
+#endif
+}				/* G_bz2_compress() */
+
+int
+G_bz2_expand(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz)
+{
+    int err;
+    unsigned int nbytes;
+
+#ifndef HAVE_BZLIB_H
+    G_fatal_error(_("GRASS needs to be compiled with BZIP2 for BZIP2 compression"));
+    return -2;
+#else
+
+    /* Catch error condition */
+    if (src == NULL || dst == NULL)
+	return -2;
+
+    /* Don't do anything if either of these are true */
+    if (src_sz <= 0 || dst_sz <= 0)
+	return 0;
+
+
+    /* Do single pass decompression */
+    nbytes = dst_sz;
+    err = BZ2_bzBuffToBuffDecompress((char *)dst, &nbytes,  /* destination */
+                                     (char *)src, src_sz,   /* source */
+				     0,                     /* small */
+				     0);                    /* verbosity */
+
+    /* Number of bytes inflated to output stream is
+     * updated buffer size
+     */
+
+    if (!(err == BZ_OK)) {
+	return -1;
+    }
+
+    return nbytes;
+#endif
+}
+
+
+/* vim: set softtabstop=4 shiftwidth=4 expandtab: */
diff --git a/lib/gis/cmprlz4.c b/lib/gis/cmprlz4.c
new file mode 100644
index 0000000..92993f1
--- /dev/null
+++ b/lib/gis/cmprlz4.c
@@ -0,0 +1,145 @@
+/*
+ ****************************************************************************
+ *                     -- GRASS Development Team --
+ *
+ * MODULE:      GRASS gis library
+ * FILENAME:    cmprlz4.c
+ * AUTHOR(S):   Eric G. Miller <egm2 at jps.net>
+ *              Markus Metz
+ * PURPOSE:     To provide an interface to lz4 for compressing and 
+ *              decompressing data using LZ$.  It's primary use is in
+ *              the storage and reading of GRASS floating point rasters.
+ *
+ * ALGORITHM:   https://code.google.com/p/lz4/
+ * DATE CREATED: Dec 18 2015
+ * COPYRIGHT:   (C) 2015 by the GRASS Development Team
+ *
+ *              This program is free software under the GNU General Public
+ *              License (version 2 or greater). Read the file COPYING that 
+ *              comes with GRASS for details.
+ *
+ *****************************************************************************/
+
+/********************************************************************
+ * int                                                              *
+ * G_lz4_compress (src, srz_sz, dst, dst_sz)                        *
+ *     int src_sz, dst_sz;                                          *
+ *     unsigned char *src, *dst;                                    *
+ * ---------------------------------------------------------------- *
+ * This function is a wrapper around the LZ4 cimpression function.  *
+ * It uses an all or nothing call.                                  *
+ * If you need a continuous compression scheme, you'll have to code *
+ * your own.                                                        *
+ * In order to do a single pass compression, the input src must be  *
+ * copied to a buffer larger than the data.  This may cause         *
+ * performance degradation.                                         *
+ *                                                                  *
+ * The function either returns the number of bytes of compressed    *
+ * data in dst, or an error code.                                   *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Compression failed.                                 *
+ *        -2 -- dst is too small.                                   *
+ *                                                                  *
+ * ================================================================ *
+ * int                                                              *
+ * G_lz4_expand (src, src_sz, dst, dst_sz)                          *
+ *     int src_sz, dst_sz;                                          *
+ *     unsigned char *src, *dst;                                    *
+ * ---------------------------------------------------------------- *
+ * This function is a wrapper around the lz4 decompression          *
+ * function.  It uses a single pass call.  If you need a continuous *
+ * expansion scheme, you'll have to code your own.                  *
+ *                                                                  *
+ * The function returns the number of bytes expanded into 'dst' or  *
+ * and error code.                                                  *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Expansion failed.                                   *
+ *                                                                  *
+ ********************************************************************
+ */
+
+#include <grass/config.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+#include "lz4.h"
+
+
+int
+G_lz4_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz)
+{
+    int err, nbytes, buf_sz;
+    unsigned char *buf;
+
+    /* Catch errors early */
+    if (src == NULL || dst == NULL)
+	return -1;
+
+    /* Don't do anything if either of these are true */
+    if (src_sz <= 0 || dst_sz <= 0)
+	return 0;
+
+    /* Output buffer has to be larger for single pass compression */
+    buf_sz = LZ4_compressBound(src_sz);
+    if (NULL == (buf = (unsigned char *)
+		 G_calloc(buf_sz, sizeof(unsigned char))))
+	return -1;
+
+    /* Do single pass compression */
+    err = LZ4_compress_default((char *)src, (char *)buf, src_sz, buf_sz);
+    if (err <= 0) {
+	G_free(buf);
+	return -1;
+    }
+    if (err >= src_sz) {
+	/* compression not possible */
+	G_free(buf);
+	return -2;
+    }
+    
+    /* bytes of compressed data is return value */
+    nbytes = err;
+
+    /* Copy the data from buf to dst */
+    for (err = 0; err < nbytes; err++)
+	dst[err] = buf[err];
+
+    G_free(buf);
+
+    return nbytes;
+}
+
+int
+G_lz4_expand(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz)
+{
+    int err, nbytes;
+
+    /* Catch error condition */
+    if (src == NULL || dst == NULL)
+	return -2;
+
+    /* Don't do anything if either of these are true */
+    if (src_sz <= 0 || dst_sz <= 0)
+	return 0;
+
+    /* Do single pass decompress */
+    err = LZ4_decompress_safe((char *)src, (char *)dst, src_sz, dst_sz);
+    /* err = LZ4_decompress_fast(src, dst, src_sz); */
+
+    /* Number of bytes inflated to output stream is return value */
+    nbytes = err;
+
+    if (nbytes != dst_sz) {
+	return -1;
+    }
+
+    return nbytes;
+}
+
+
+/* vim: set softtabstop=4 shiftwidth=4 expandtab: */
diff --git a/lib/gis/cmprrle.c b/lib/gis/cmprrle.c
new file mode 100644
index 0000000..ab52497
--- /dev/null
+++ b/lib/gis/cmprrle.c
@@ -0,0 +1,192 @@
+/*
+ ****************************************************************************
+ *                     -- GRASS Development Team --
+ *
+ * MODULE:      GRASS gis library
+ * FILENAME:    cmprrle.c
+ * AUTHOR(S):   Markus Metz
+ * PURPOSE:     To provide generic RLE for compressing and 
+ *              decompressing data.  Its primary use is in
+ *              the storage and reading of GRASS rasters.
+ *
+ * ALGORITHM:   Run Length Encoding
+ * DATE CREATED: Dec 18 2015
+ * COPYRIGHT:   (C) 2015 by the GRASS Development Team
+ *
+ *              This program is free software under the GNU General Public
+ *              License (version 2 or greater). Read the file COPYING that 
+ *              comes with GRASS for details.
+ *
+ *****************************************************************************/
+
+/********************************************************************
+ * int                                                              *
+ * G_rle_compress (src, srz_sz, dst, dst_sz)                        *
+ *     int src_sz, dst_sz;                                          *
+ *     unsigned char *src, *dst;                                    *
+ * ---------------------------------------------------------------- *
+ * This function compresses data with RLE.                          *
+ * It uses an all or nothing call.                                  *
+ * If you need a continuous compression scheme, you'll have to code *
+ * your own.                                                        *
+ *                                                                  *
+ * The function either returns the number of bytes of compressed    *
+ * data in dst, or an error code.                                   *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Compression failed.                                 *
+ *        -2 -- dst is too small.                                   *
+ *                                                                  *
+ * ================================================================ *
+ * int                                                              *
+ * G_rle_expand (src, src_sz, dst, dst_sz)                          *
+ *     int src_sz, dst_sz;                                          *
+ *     unsigned char *src, *dst;                                    *
+ * ---------------------------------------------------------------- *
+ * This function decompresses data compresed with RLE.              *
+ * It is equivalent to a single pass call to an external expansion  * 
+ * function.                                                        *
+ * If you need a continuous expansion scheme, you'll have to code   *
+ * your own.                                                        *
+ *                                                                  *
+ * The function returns the number of bytes expanded into 'dst' or  *
+ * and error code.                                                  *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Expansion failed.                                   *
+ *                                                                  *
+ ********************************************************************
+ */
+
+#include <grass/config.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+
+int
+G_rle_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz)
+{
+    int i, nbytes;
+    unsigned char prev_b; 
+    int cnt;
+
+    /* Catch errors early */
+    if (src == NULL || dst == NULL)
+	return -1;
+
+    /* Don't do anything if src is empty or smaller than 4 bytes */
+    if (src_sz <= 3)
+	return 0;
+
+    /* modified RLE:
+     * unit is 1 byte, only sequences longer than 1 are encoded
+     * single occurences don't have a following count
+     * multiple occurences are twice in dst, followed by the count
+     * example:
+     * ABBCCC
+     * is encoded as
+     * ABB2CC3 
+     */
+ 
+    prev_b = src[0];
+    cnt = 1;
+    nbytes = 0;
+    for (i = 1; i < src_sz; i++) {
+	if (prev_b != src[i] || cnt == 255) {
+	    /* write to dst */
+	    if (cnt == 1) {
+		if (nbytes >= dst_sz)
+		    return -2;
+		dst[nbytes++] = prev_b;
+	    }
+	    else {
+		/* cnt > 1 */
+		if (nbytes >= dst_sz - 2)
+		    return -2;
+		dst[nbytes++] = prev_b;
+		dst[nbytes++] = prev_b;
+		dst[nbytes++] = (unsigned char) cnt;
+	    }
+	    cnt = 0;
+	}
+	prev_b = src[i];
+	cnt++;
+    }
+    /* write out the last sequence */
+    if (cnt == 1) {
+	if (nbytes >= dst_sz)
+	    return -2;
+	dst[nbytes++] = prev_b;
+    }
+    else {
+	if (nbytes >= dst_sz - 2)
+	    return -2;
+	dst[nbytes++] = prev_b;
+	dst[nbytes++] = prev_b;
+	dst[nbytes++] = (unsigned char) cnt;
+    }
+
+    return nbytes;
+}
+
+int
+G_rle_expand(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz)
+{
+    int i, j, nbytes, cnt;
+    unsigned char prev_b;
+
+    /* Catch errors early */
+    if (src == NULL || dst == NULL)
+	return -1;
+
+    /* Don't do anything if src is empty */
+    if (src_sz <= 0)
+	return 0;
+
+    /* RLE expand */
+    prev_b = src[0];
+    cnt = 1;
+    nbytes = 0;
+    i = 1;
+    while (i < src_sz) {
+	/* single occurences don't have a following count
+	 * multiple occurences are twice in src, followed by the count */
+	if (cnt == 2) {
+	    if (i >= src_sz)
+		return -1;
+	    cnt = src[i];
+	    if (nbytes + cnt > dst_sz)
+		return -1;
+	    for (j = 0; j < cnt; j++) {
+		dst[nbytes++] = prev_b;
+	    }
+	    cnt = 0;
+	    i++;
+	    if (i >= src_sz)
+		return nbytes;
+	}
+	if (cnt == 1) {
+	    if (prev_b != src[i]) {
+		if (nbytes + cnt > dst_sz)
+		    return -1;
+		dst[nbytes++] = prev_b;
+		cnt = 0;
+	    }
+	}
+	prev_b = src[i];
+	cnt++;
+	i++;
+    }
+    if (nbytes >= dst_sz)
+	return -1;
+    if (cnt == 1)
+	dst[nbytes++] = prev_b;
+
+    return nbytes;
+}
+
+
+/* vim: set softtabstop=4 shiftwidth=4 expandtab: */
diff --git a/lib/gis/cmprzlib.c b/lib/gis/cmprzlib.c
new file mode 100644
index 0000000..612fe21
--- /dev/null
+++ b/lib/gis/cmprzlib.c
@@ -0,0 +1,231 @@
+/*
+ ****************************************************************************
+ *                     -- GRASS Development Team --
+ *
+ * MODULE:      GRASS gis library
+ * FILENAME:    cmprzlib.c
+ * AUTHOR(S):   Eric G. Miller <egm2 at jps.net>
+ *              Markus Metz
+ * PURPOSE:     To provide an interface to libz for compressing and 
+ *              decompressing data using DEFLATE.  It's primary use is in
+ *              the storage and reading of GRASS floating point rasters.
+ *              It replaces the patented LZW compression interface.
+ *
+ * ALGORITHM:   http://www.gzip.org/zlib/feldspar.html
+ * DATE CREATED: Dec 17 2015
+ * COPYRIGHT:   (C) 2015 by the GRASS Development Team
+ *
+ *              This program is free software under the GNU General Public
+ *              License (version 2 or greater). Read the file COPYING that 
+ *              comes with GRASS for details.
+ *
+ *****************************************************************************/
+
+/********************************************************************
+ * int                                                              *
+ * G_zlib_compress (src, srz_sz, dst, dst_sz)                       *
+ *     int src_sz, dst_sz;                                          *
+ *     unsigned char *src, *dst;                                    *
+ * ---------------------------------------------------------------- *
+ * This function is a wrapper around the zlib deflate() function.   *
+ * It uses an all or nothing call to deflate().  If you need a      *
+ * continuous compression scheme, you'll have to code your own.     *
+ * In order to do a single pass compression, the input src must be  *
+ * copied to a buffer 1% + 12 bytes larger than the data.  This may *
+ * cause performance degradation.                                   *
+ *                                                                  *
+ * The function either returns the number of bytes of compressed    *
+ * data in dst, or an error code.                                   *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Compression failed.                                 *
+ *        -2 -- dst is too small.                                   *
+ *                                                                  *
+ * ================================================================ *
+ * int                                                              *
+ * G_zlib_expand (src, src_sz, dst, dst_sz)                         *
+ *     int src_sz, dst_sz;                                          *
+ *     unsigned char *src, *dst;                                    *
+ * ---------------------------------------------------------------- *
+ * This function is a wrapper around the zlib inflate() function.   *
+ * It uses a single pass call to inflate().  If you need a contin-  *
+ * uous expansion scheme, you'll have to code your own.             *
+ *                                                                  *
+ * The function returns the number of bytes expanded into 'dst' or  *
+ * and error code.                                                  *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Expansion failed.                                   *
+ *                                                                  *
+ ********************************************************************
+ */
+
+#include <grass/config.h>
+
+#ifndef HAVE_ZLIB_H
+
+#error "GRASS requires libz to compile"
+
+#else
+
+#include <zlib.h>
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+#include "G.h"
+
+static void _init_zstruct(z_stream * z)
+{
+    /* The types are defined in zlib.h, we set to NULL so zlib uses
+     * its default functions.
+     */
+    z->zalloc = (alloc_func) 0;
+    z->zfree = (free_func) 0;
+    z->opaque = (voidpf) 0;
+}
+
+
+int
+G_zlib_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz)
+{
+    int err, nbytes, buf_sz;
+    unsigned char *buf;
+    z_stream c_stream;
+
+    /* Catch errors early */
+    if (src == NULL || dst == NULL)
+	return -1;
+
+    /* Don't do anything if either of these are true */
+    if (src_sz <= 0 || dst_sz <= 0)
+	return 0;
+
+    /* Output buffer has to be 1% + 12 bytes bigger for single pass deflate */
+    /* buf_sz = (int)((double)dst_sz * 1.01 + (double)12); */
+    buf_sz = compressBound(src_sz);
+    if (NULL == (buf = (unsigned char *)
+		 G_calloc(buf_sz, sizeof(unsigned char))))
+	return -1;
+
+    /* Set-up for default zlib memory handling */
+    _init_zstruct(&c_stream);
+
+    /* Set-up the stream */
+    c_stream.avail_in = src_sz;
+    c_stream.next_in = (unsigned char *) src;
+    c_stream.avail_out = buf_sz;
+    c_stream.next_out = buf;
+
+    /* Initialize */
+    /* Valid zlib compression levels -1 - 9 */
+    /* zlib default: Z_DEFAULT_COMPRESSION = -1, equivalent to 6 
+     * as used here, 1 gives the best compromise between speed and compression */
+    err = deflateInit(&c_stream, G__.compression_level);
+
+    /* If there was an error initializing, return -1 */
+    if (err != Z_OK) {
+	G_free(buf);
+	return -1;
+    }
+
+    /* Do single pass compression */
+    err = deflate(&c_stream, Z_FINISH);
+    if (err != Z_STREAM_END) {
+	switch (err) {
+	case Z_OK:		/* Destination too small */
+	    G_free(buf);
+	    deflateEnd(&c_stream);
+	    return -2;
+	    break;
+	default:		/* Give other error */
+	    G_free(buf);
+	    deflateEnd(&c_stream);
+	    return -1;
+	    break;
+	}
+    }
+
+    /* avail_out is updated to bytes remaining in buf, so bytes of compressed
+     * data is the original size minus that
+     */
+    nbytes = buf_sz - c_stream.avail_out;
+    if (nbytes >= src_sz) {
+	/* compression not possible */
+	G_free(buf);
+	deflateEnd(&c_stream);
+	return -2;
+    }
+    /* Copy the data from buf to dst */
+    for (err = 0; err < nbytes; err++)
+	dst[err] = buf[err];
+
+    G_free(buf);
+    deflateEnd(&c_stream);
+
+    return nbytes;
+}				/* G_zlib_compress() */
+
+
+int
+G_zlib_expand(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz)
+{
+    int err, nbytes;
+    z_stream c_stream;
+
+    /* Catch error condition */
+    if (src == NULL || dst == NULL)
+	return -2;
+
+    /* Don't do anything if either of these are true */
+    if (src_sz <= 0 || dst_sz <= 0)
+	return 0;
+
+    /* Set-up default zlib memory handling */
+    _init_zstruct(&c_stream);
+
+    /* Set-up I/O streams */
+    c_stream.avail_in = src_sz;
+    c_stream.next_in = (unsigned char *)src;
+    c_stream.avail_out = dst_sz;
+    c_stream.next_out = dst;
+
+    /* Call zlib initilization function */
+    err = inflateInit(&c_stream);
+
+    /* If not Z_OK return error -1 */
+    if (err != Z_OK)
+	return -1;
+
+    /* Do single pass inflate */
+    err = inflate(&c_stream, Z_FINISH);
+
+    /* Number of bytes inflated to output stream is
+     * original bytes available minus what avail_out now says
+     */
+    nbytes = dst_sz - c_stream.avail_out;
+
+    /* Z_STREAM_END means all input was consumed, 
+     * Z_OK means only some was processed (not enough room in dst)
+     */
+    if (!(err == Z_STREAM_END || err == Z_OK)) {
+	if (!(err == Z_BUF_ERROR && nbytes == dst_sz)) {
+	    inflateEnd(&c_stream);
+	    return -1;
+	}
+	/* Else, there was extra input, but requested output size was
+	 * decompressed successfully.
+	 */
+    }
+
+    inflateEnd(&c_stream);
+
+    return nbytes;
+}				/* G_zlib_expand() */
+
+
+#endif /* HAVE_ZLIB_H */
+
+
+/* vim: set softtabstop=4 shiftwidth=4 expandtab: */
diff --git a/lib/gis/colors/roygbiv b/lib/gis/colors/roygbiv
new file mode 100644
index 0000000..70fc239
--- /dev/null
+++ b/lib/gis/colors/roygbiv
@@ -0,0 +1,15 @@
+# VIBGYOR
+0%          154:0:156
+16.666667%  7:0:250
+20%         0:41:255
+33.333333%  0:255:255
+45%         0:196:69
+50%         13:179:0
+62.5%       213:242:0
+65%         243:255:0
+66.666667%  255:238:0
+80%         255:97:0
+83.333333%  255:70:0
+91.666667%  255:14:0
+95%         228:0:0
+100%        132:0:0
diff --git a/lib/gis/compress.c b/lib/gis/compress.c
new file mode 100644
index 0000000..4e74073
--- /dev/null
+++ b/lib/gis/compress.c
@@ -0,0 +1,375 @@
+/*
+ ****************************************************************************
+ *                     -- GRASS Development Team --
+ *
+ * MODULE:      GRASS gis library
+ * FILENAME:    compress.c
+ * AUTHOR(S):   Markus Metz
+ * PURPOSE:     To provide an interface for compressing and 
+ *              decompressing data using various methods.  Its primary 
+ *              use is in the storage and reading of GRASS rasters.
+ *
+ * DATE CREATED: Dec 17 2015
+ * COPYRIGHT:   (C) 2015 by the GRASS Development Team
+ *
+ *              This program is free software under the GNU General Public
+ *              License (version 2 or greater). Read the file COPYING that 
+ *              comes with GRASS for details.
+ *
+ *****************************************************************************/
+
+/********************************************************************
+ * Compression methods:                                             *
+ * 1 : RLE (generic Run-Length Encoding of single bytes)            *
+ * 2 : ZLIB's DEFLATE (good speed and compression)                  *
+ * 3 : LZ4 (fastest, low compression)                               *
+ * 4 : BZIP2 (slowest, high compression)                            *
+ *                                                                  *
+ * int                                                              *
+ * G_read_compressed (fd, rbytes, dst, nbytes, compression_type)    *
+ *     int fd, rbytes, nbytes;                                      *
+ *     unsigned char *dst;                                          *
+ * ---------------------------------------------------------------- *
+ * This is the basic function for reading a compressed chunk of a   *
+ * data file.  The file descriptor should be in the proper location *
+ * and the 'dst' array should have enough space for the data.       *
+ * 'nbytes' is the size of 'dst'.  The 'rbytes' parameter is the    *
+ * number of bytes to read (knowable from the offsets index). For   *
+ * best results, 'nbytes' should be the exact amount of space       *
+ * needed for the expansion.  Too large a value of nbytes may cause *
+ * more data to be expanded than is desired.                        *
+ * Returns: The number of bytes decompressed into dst, or an error. *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1  -- Error Reading or Decompressing data.               *
+ *        -2  -- Not enough space in dst.  You must make dst larger *
+ *               and then call the function again (remembering to   *
+ *               reset the file descriptor to it's proper location. *
+ *                                                                  *
+ * ================================================================ *
+ * int                                                              *
+ * G_write_compressed (fd, src, nbytes, compression_type)           *
+ *     int fd, nbytes;                                              *
+ *     unsigned char *src;                                          *
+ * ---------------------------------------------------------------- *
+ * This is the basic function for writing and compressing a data    *
+ * chunk to a file.  The file descriptor should be in the correct   *
+ * location prior to this call. The function will compress 'nbytes' *
+ * of 'src' and write it to the file 'fd'.  Returns the number of   *
+ * bytes written or an error code:                                  *
+ *                                                                  *
+ * Errors include:                                                  *
+ *        -1 -- Compression Failed.                                 *
+ *        -2 -- Unable to write to file.                            *
+ *                                                                  *
+ * ================================================================ *
+ * int                                                              *
+ * G_write_uncompressed (fd, src, nbytes)                           *
+ *     int fd, nbytes;                                              *
+ *     unsigned char *src;                                          *
+ * ---------------------------------------------------------------- *
+ * Works similar to G_write_compressed() except no attempt at       *
+ * compression is made.  This is quicker, but may result in larger  *
+ * files.                                                           *
+ * Returns the number of bytes written, or -1 for an error. It will *
+ * return an error if it fails to write nbytes. Otherwise, the      *
+ * return value will always be nbytes + 1 (for compression flag).   *
+ *                                                                  *
+ ********************************************************************
+ */
+
+#include <grass/config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+#include "compress.h"
+
+#define G_COMPRESSED_NO (unsigned char)'0'
+#define G_COMPRESSED_YES (unsigned char)'1'
+
+/* get compressor number
+ * return -1 on error
+ * return number >= 0 for known processor */
+int G_compressor_number(char *name)
+{
+    int i;
+    
+    if (!name)
+	return -1;
+
+    for (i = 0; compressor[i].name ; i++) {
+	if (G_strcasecmp(name, compressor[i].name) == 0)
+	    return i;
+    }
+
+    return -1;
+}
+
+/* get compressor name
+ * return NULL on error
+ * return string (name) of known processor */
+char *G_compressor_name(int number)
+{
+    if (number < 0 || number >= n_compressors)
+	return NULL;
+
+    return compressor[number].name;
+}
+
+/* check compressor number
+ * return -1 on error
+ * return 0 known but not available
+ * return 1 known and available */
+int G_check_compressor(int number)
+{
+    if (number < 0 || number >= n_compressors) {
+	G_warning(_("Request for unsupported compressor"));
+	return -1;
+    }
+
+    return compressor[number].available;
+}
+
+int
+G_no_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz)
+{
+    /* Catch errors early */
+    if (src == NULL || dst == NULL)
+	return -1;
+
+    /* Don't do anything if src is empty */
+    if (src_sz <= 0)
+	return 0;
+
+    /* dst too small */
+    if (dst_sz < src_sz)
+	return -2;
+
+    /* Copy the data from src to dst */
+    memcpy(dst, src, src_sz);
+
+    return src_sz;
+}
+
+int
+G_no_expand(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz)
+{
+    /* Catch errors early */
+    if (src == NULL || dst == NULL)
+	return -1;
+
+    /* Don't do anything if src is empty */
+    if (src_sz <= 0)
+	return 0;
+
+    /* dst too small */
+    if (dst_sz < src_sz)
+	return -2;
+
+    /* Copy the data from src to dst */
+    memcpy(dst, src, src_sz);
+
+    return src_sz;
+}
+
+/* G_*_compress() returns
+ * > 0: number of bytes in dst
+ * 0: nothing done
+ * -1: error
+ * -2: dst too small
+ */
+int
+G_compress(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz, int number)
+{
+    if (number < 0 || number >= n_compressors) {
+	G_fatal_error(_("Request for unsupported compressor"));
+	return -1;
+    }
+
+    return compressor[number].compress(src, src_sz, dst, dst_sz);
+}
+
+/* G_*_expand() returns
+ * > 0: number of bytes in dst
+ * -1: error
+ */
+int
+G_expand(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz, int number)
+{
+    if (number < 0 || number >= n_compressors) {
+	G_fatal_error(_("Request for unsupported compressor"));
+	return -1;
+    }
+
+    return compressor[number].expand(src, src_sz, dst, dst_sz);
+}
+
+int G_read_compressed(int fd, int rbytes, unsigned char *dst, int nbytes,
+                      int compressor)
+{
+    int bsize, nread, err;
+    unsigned char *b;
+
+    if (dst == NULL || nbytes < 0)
+	return -2;
+
+    bsize = rbytes;
+
+    /* Our temporary input buffer for read */
+    if (NULL == (b = (unsigned char *)
+		 G_calloc(bsize, sizeof(unsigned char))))
+	return -1;
+
+    /* Read from the file until we get our bsize or an error */
+    nread = 0;
+    do {
+	err = read(fd, b + nread, bsize - nread);
+	if (err >= 0)
+	    nread += err;
+    } while (err > 0 && nread < bsize);
+
+    /* If the bsize if less than rbytes and we didn't get an error.. */
+    if (nread < rbytes && err > 0) {
+	G_free(b);
+	return -1;
+    }
+
+    /* Test if row is compressed */
+    if (b[0] == G_COMPRESSED_NO) {
+	/* Then just copy it to dst */
+	for (err = 0; err < nread - 1 && err < nbytes; err++)
+	    dst[err] = b[err + 1];
+
+	G_free(b);
+	return (nread - 1);
+    }
+    else if (b[0] != G_COMPRESSED_YES) {
+	/* We're not at the start of a row */
+	G_free(b);
+	return -1;
+    }
+    /* Okay it's a compressed row */
+
+    /* Just call G_expand() with the buffer we read,
+     * Account for first byte being a flag
+     */
+    err = G_expand(b + 1, bsize - 1, dst, nbytes, compressor);
+
+    /* We're done with b */
+    G_free(b);
+
+    /* Return whatever G_expand() returned */
+    return err;
+
+}				/* G_read_compressed() */
+
+int G_write_compressed(int fd, unsigned char *src, int nbytes,
+                       int compressor)
+{
+    int dst_sz, nwritten, err;
+    unsigned char *dst, compressed;
+
+    /* Catch errors */
+    if (src == NULL || nbytes < 0)
+	return -1;
+
+    dst_sz = nbytes;
+    if (NULL == (dst = (unsigned char *)
+		 G_calloc(dst_sz, sizeof(unsigned char))))
+	return -1;
+
+    /* Now just call G_compress() */
+    err = G_compress(src, nbytes, dst, dst_sz, compressor);
+
+    /* If compression succeeded write compressed row,
+     * otherwise write uncompressed row. Compression will fail
+     * if dst is too small (i.e. compressed data is larger)
+     */
+    if (err > 0 && err <= dst_sz) {
+	dst_sz = err;
+	/* Write the compression flag */
+	compressed = G_COMPRESSED_YES;
+	if (write(fd, &compressed, 1) != 1) {
+	    G_free(dst);
+	    return -1;
+	}
+	nwritten = 0;
+	do {
+	    err = write(fd, dst + nwritten, dst_sz - nwritten);
+	    if (err >= 0)
+		nwritten += err;
+	} while (err > 0 && nwritten < dst_sz);
+	/* Account for extra byte */
+	nwritten++;
+    }
+    else {
+	/* Write compression flag */
+	compressed = G_COMPRESSED_NO;
+	if (write(fd, &compressed, 1) != 1) {
+	    G_free(dst);
+	    return -1;
+	}
+	nwritten = 0;
+	do {
+	    err = write(fd, src + nwritten, nbytes - nwritten);
+	    if (err >= 0)
+		nwritten += err;
+	} while (err > 0 && nwritten < nbytes);
+	/* Account for extra byte */
+	nwritten++;
+    }				/* if (err > 0) */
+
+    /* Done with the dst buffer */
+    G_free(dst);
+
+    /* If we didn't write all the data return an error */
+    if (err < 0)
+	return -2;
+
+    return nwritten;
+}				/* G_write_compressed() */
+
+int G_write_uncompressed(int fd, const unsigned char *src, int nbytes)
+{
+    int err, nwritten;
+    unsigned char compressed;
+
+    /* Catch errors */
+    if (src == NULL || nbytes < 0)
+	return -1;
+
+    /* Write the compression flag */
+    compressed = G_COMPRESSED_NO;
+    if (write(fd, &compressed, 1) != 1)
+	return -1;
+
+    /* Now write the data */
+    nwritten = 0;
+    do {
+	err = write(fd, src + nwritten, nbytes - nwritten);
+	if (err > 0)
+	    nwritten += err;
+    } while (err > 0 && nwritten < nbytes);
+
+    if (err < 0 || nwritten != nbytes)
+	return -1;
+
+    /* Account for extra compressed flag */
+    nwritten++;
+
+    /* That's all */
+    return nwritten;
+
+}				/* G_write_uncompressed() */
+
+
+/* vim: set softtabstop=4 shiftwidth=4 expandtab: */
diff --git a/lib/gis/compress.h b/lib/gis/compress.h
new file mode 100644
index 0000000..d74bbf7
--- /dev/null
+++ b/lib/gis/compress.h
@@ -0,0 +1,53 @@
+#include <grass/config.h>
+#include <grass/gis.h>
+
+/* compressors:
+ * 0: no compression
+ * 1: RLE, unit is one byte
+ * 2: ZLIB's DEFLATE (default)
+ * 3: LZ4, fastest but lowest compression ratio
+ * 4: BZIP2: slowest but highest compression ratio
+ */
+
+/* adding a new compressor:
+ * add the corresponding functions G_*compress() and G_*_expand()
+ * if needed, add checks to configure.in and include/config.in
+ * modify compress.h
+ * modify G_compress(), G_expand()
+ */
+
+typedef int compress_fn(unsigned char *src, int src_sz, unsigned char *dst,
+		int dst_sz);
+typedef int expand_fn(unsigned char *src, int src_sz, unsigned char *dst,
+	      int dst_sz);
+
+struct compressor_list
+{
+    int available;
+    compress_fn *compress;
+    expand_fn *expand;
+    char *name;
+};
+
+/* DO NOT CHANGE the order
+ * 0: None
+ * 1: RLE
+ * 2: ZLIB
+ * 3: LZ4
+ * 4: BZIP2 */
+ 
+static int n_compressors = 5; 
+
+struct compressor_list compressor[] = {
+    {1, G_no_compress, G_no_expand, "NONE"},
+    {1, G_rle_compress, G_rle_expand, "RLE"},
+    {1, G_zlib_compress, G_zlib_expand, "ZLIB"},
+    {1, G_lz4_compress, G_lz4_expand, "LZ4"},
+#ifdef HAVE_BZLIB_H
+    {1, G_bz2_compress, G_bz2_expand, "BZIP2"},
+#else
+    {0, G_bz2_compress, G_bz2_expand, "BZIP2"},
+#endif
+    {0, NULL, NULL, NULL}
+};
+
diff --git a/lib/gis/datum.table b/lib/gis/datum.table
index b3b3f4c..30c006c 100644
--- a/lib/gis/datum.table
+++ b/lib/gis/datum.table
@@ -88,4 +88,7 @@ nsd      "North_Sahara_1959"       clark80 dx=-186 dy=-93 dz=310
 gda94    "Geocentric_Datum_of_Australia_1994"    grs80    dx=0   dy=0   dz=0
 # http://lists.maptools.org/pipermail/proj/2012-September/006413.html
 itrf92   "ITRF92"    grs80 dx=0   dy=0    dz=0
-
+# https://epsg.io/5514 + https://epsg.io/6156-datum
+S_JTSK	"System_Jednotne_Trigonometricke_Site_Katastralni"	bessel	dx=589	dy=76	dz=480
+# http://spatialreference.org/ref/epsg/4674/
+Sistema_de_Referencia_Geocentrico_para_America_del_Sur_2000 "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_2000"   grs80       dx=0        dy=0       dz=0
diff --git a/lib/gis/datumtransform.table b/lib/gis/datumtransform.table
index a915e4f..d7635b2 100644
--- a/lib/gis/datumtransform.table
+++ b/lib/gis/datumtransform.table
@@ -98,3 +98,7 @@ tokyo   "towgs84=-147,506,687" "South Korea" " "
 cai     "towgs84=-149.1,138.1,90.9,-0.142,0.344,0.301,0.388" "Argentina" "provided by CONAE, Argentina"
 # http://lists.maptools.org/pipermail/proj/2012-September/006413.html
 itrf92	"towgs84=0,0,0,0,0,0,0" "Mexico" "Considered identical to WGS84"
+# http://epsg.io/5514 System_Jednotne_Trigonometricke_Site_Katastralni
+S_JTSK	"towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56" "Czech Republic" "Accuracy about 1m"
+S_JTSK	"towgs84=572.213,85.334,461.94,-4.9732,-1.529,-5.2484,3.5378" "Czech Republic" "Accuracy about 1m"
+S_JTSK	"towgs84=485,169.5,483.8,7.786,4.398,4.103,0" "Slovakia" "Accuracy about 1m"
diff --git a/lib/gis/ellipse.table.solar.system b/lib/gis/ellipse.table.solar.system
index d398116..5dcd2c3 100644
--- a/lib/gis/ellipse.table.solar.system
+++ b/lib/gis/ellipse.table.solar.system
@@ -142,3 +142,5 @@ neptune    "Planet Neptune"               a=24764000.0 b=24341000.0
 Charon     "Pluto's satellite Charon"     a=593000.0 b=593000.0
 # Planet Pluto, IAU2000 definition
 pluto      "Planet Pluto"                 a=1195000.0 b=1195000.0
+
+
diff --git a/lib/gis/error.c b/lib/gis/error.c
index 94e184a..6b8a6e7 100644
--- a/lib/gis/error.c
+++ b/lib/gis/error.c
@@ -22,7 +22,7 @@
 #include <grass/glocale.h>
 #include <grass/gis.h>
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 /*!
  * \def MSG
diff --git a/lib/gis/file_name.c b/lib/gis/file_name.c
index 6adfbd7..06be2e0 100644
--- a/lib/gis/file_name.c
+++ b/lib/gis/file_name.c
@@ -3,28 +3,33 @@
 
    \brief GIS library - Determine GRASS data base file name
 
-   (C) 2001-2008, 2013 by the GRASS Development Team
+   (C) 2001-2015 by the GRASS Development Team
 
    This program is free software under the GNU General Public License
-   (>=v2).  Read the file COPYING that comes with GRASS for details.
+   (>=v2). Read the file COPYING that comes with GRASS for details.
 
    \author Original author CERL
  */
 
 #include <string.h>
+#include <stdlib.h>
 #include <grass/gis.h>
 
 #include "gis_local_proto.h"
 
+static char *file_name(char *, const char *, const char *,
+                       const char *, const char *, const char *);
+static void append_char(char*, char);
+
 /*!
   \brief Builds full path names to GIS data files
 
-  If name is of the form "nnn at ppp" then path is set as if name had
-  been nnn and mapset had been ppp (mapset parameter itself is ignored
-  in this case).
+  If <i>name</i> is of the form "nnn at ppp" then path is set as if name
+  had been "nnn" and mapset had been "ppp" (mapset parameter itself is
+  ignored in this case).
   
   \param[out] path buffer to hold resultant full path to file
-  \param element database element (eg, "cell", "cellhd", etc)
+  \param element database element (eg, "cell", "cellhd", "vector", etc)
   \param name name of file to build path to (fully qualified names allowed)
   \param mapset mapset name
 
@@ -33,85 +38,124 @@
 char *G_file_name(char *path,
 		   const char *element, const char *name, const char *mapset)
 {
-    char xname[GNAME_MAX];
-    char xmapset[GMAPSET_MAX];
-    const char *pname = name;
-    char *location = G__location_path();
-
-    /*
-     * if a name is given, build a file name
-     * must split the name into name, mapset if it is
-     * in the name at mapset format
-     */
-    if (name && *name && G_name_is_fully_qualified(name, xname, xmapset)) {
-	pname = xname;
-	sprintf(path, "%s/%s", location, xmapset);
-    }
-    else if (mapset && *mapset)
-	sprintf(path, "%s/%s", location, mapset);
-    else
-	sprintf(path, "%s/%s", location, G_mapset());
-
-    G_free(location);
-
-    if (!element && !pname)
-        return path;
-    
-    if (element && *element) {
-	strcat(path, "/");
-	strcat(path, element);
-    }
+    return file_name(path, NULL, element, name, mapset, NULL);
+}
 
-    if (pname && *pname) {
-	strcat(path, "/");
-	strcat(path, pname);
-    }
+/*!
+  \brief Builds full path names to GIS misc data files
 
-    G_debug(2, "G_file_name(): path = %s", path);
-    
-    return path;
-}
+  \param[out] path buffer to hold resultant full path to file
+  \param dir misc directory
+  \param element database element (eg, "cell", "cellhd", "vector", etc)
+  \param name name of file to build path to (fully qualified names allowed)
+  \param mapset mapset name
 
+  \return pointer to <i>path</i> buffer
+*/
 char *G_file_name_misc(char *path,
 			const char *dir,
 			const char *element,
 			const char *name, const char *mapset)
 {
-    char xname[GNAME_MAX];
-    char xmapset[GMAPSET_MAX];
-    const char *pname = name;
-    char *location = G__location_path();
-
-    /*
-     * if a name is given, build a file name
-     * must split the name into name, mapset if it is
-     * in the name at mapset format
-     */
-    if (name && *name && G_name_is_fully_qualified(name, xname, xmapset)) {
-	pname = xname;
-	sprintf(path, "%s/%s", location, xmapset);
-    }
-    else if (mapset && *mapset)
-	sprintf(path, "%s/%s", location, mapset);
-    else
-	sprintf(path, "%s/%s", location, G_mapset());
+    return file_name(path, dir, element, name, mapset, NULL);
+}
 
-    G_free(location);
+/*!
+  \brief Builds full path names to GIS data files in temporary directory (for internal use only)
 
-    if (dir && *dir) {
-	strcat(path, "/");
-	strcat(path, dir);
+  By default temporary directory is located
+  $LOCATION/$MAPSET/.tmp/$HOSTNAME. If GRASS_VECTOR_TMPDIR_MAPSET is
+  set to "0", the temporary directory is located in TMPDIR
+  (environmental variable defined by the user or GRASS initialization
+  script if not given). Note that GRASS_VECTOR_TMPDIR_MAPSET variable
+  is currently used only by vector library.
+
+  \param[out] path buffer to hold resultant full path to file
+  \param element database element (eg, "cell", "cellhd", "vector", etc)
+  \param name name of file to build path to (fully qualified names allowed)
+  \param mapset mapset name
+
+  \return pointer to <i>path</i> buffer
+*/
+char *G_file_name_tmp(char *path,
+                      const char *element,
+                      const char *name, const char *mapset)
+{
+    const char *env, *tmp_path;
+
+    tmp_path = NULL;
+    env = getenv("GRASS_VECTOR_TMPDIR_MAPSET");
+    if (env && strcmp(env, "0") == 0) {
+        tmp_path = getenv("TMPDIR");
     }
+    
+    return file_name(path, NULL, element, name, mapset, tmp_path);
+}
 
-    if (pname && *pname) {
-	strcat(path, "/");
-	strcat(path, pname);
+char *file_name(char *path,
+                const char *dir, const char *element, const char *name,
+                const char *mapset, const char *base)
+{
+    const char *pname = name;
+    
+    if (base && *base) {
+        sprintf(path, "%s", base);
+    }
+    else {
+        char xname[GNAME_MAX];
+        char xmapset[GMAPSET_MAX];
+        char *location = G__location_path();
+        
+        /*
+         * if a name is given, build a file name
+         * must split the name into name, mapset if it is
+         * in the name at mapset format
+         */
+        if (name && *name && G_name_is_fully_qualified(name, xname, xmapset)) {
+            pname = xname;
+            sprintf(path, "%s%c%s", location, HOST_DIRSEP, xmapset);
+        }
+        else if (mapset && *mapset)
+            sprintf(path, "%s%c%s", location, HOST_DIRSEP, mapset);
+        else
+            sprintf(path, "%s%c%s", location, HOST_DIRSEP, G_mapset());
+        G_free(location);
     }
 
-    if (element && *element) {
-	strcat(path, "/");
-	strcat(path, element);
+    if (dir && *dir) { /* misc element */
+	append_char(path, HOST_DIRSEP);
+	strcat(path, dir);
+
+        if (pname && *pname) {
+            append_char(path, HOST_DIRSEP);
+            strcat(path, pname);
+        }
+
+        if (element && *element) {
+            append_char(path, HOST_DIRSEP);
+            strcat(path, element);
+        }
+    }
+    else {
+        if (element && *element) {
+            append_char(path, HOST_DIRSEP);
+            strcat(path, element);
+        }
+        
+        if (pname && *pname) {
+            append_char(path, HOST_DIRSEP);
+            strcat(path, pname);
+        }
     }
 
+    G_debug(2, "G_file_name(): path = %s", path);
+    
     return path;
 }
+
+void append_char(char* s, char c)
+{
+        int len = strlen(s);
+        s[len] = c;
+        s[len+1] = '\0';
+}
diff --git a/lib/gis/flate.c b/lib/gis/flate.c
deleted file mode 100644
index 71c4859..0000000
--- a/lib/gis/flate.c
+++ /dev/null
@@ -1,441 +0,0 @@
-/*
- ****************************************************************************
- *                     -- GRASS Development Team --
- *
- * MODULE:      GRASS gis library
- * FILENAME:    flate.c
- * AUTHOR(S):   Eric G. Miller <egm2 at jps.net>
- * PURPOSE:     To provide an interface to libz for compressing and 
- *              decompressing data using DEFLATE.  It's primary use is in
- *              the storage and reading of GRASS floating point rasters.
- *              It replaces the patented LZW compression interface.
- *
- * ALGORITHM:   http://www.gzip.org/zlib/feldspar.html
- * DATE CREATED: Nov 19 2000
- * COPYRIGHT:   (C) 2000 by the GRASS Development Team
- *
- *              This program is free software under the GNU General Public
- *              License (version 2 or greater). Read the file COPYING that 
- *              comes with GRASS for details.
- *
- *****************************************************************************/
-
-/********************************************************************
- * int                                                              *
- * G_zlib_read (fd, rbytes, dst, nbytes)                            *
- *     int fd, rbytes, nbytes;                                      *
- *     unsigned char *dst;                                          *
- * ---------------------------------------------------------------- *
- * This is the basic function for reading a compressed chunk of a   *
- * data file.  The file descriptor should be in the proper location *
- * and the 'dst' array should have enough space for the data.       *
- * 'nbytes' is the size of 'dst'.  The 'rbytes' parameter is the    *
- * number of bytes to read (knowable from the offsets index). For   *
- * best results, 'nbytes' should be the exact amount of space       *
- * needed for the expansion.  Too large a value of nbytes may cause *
- * more data to be expanded than is desired.                        *
- * Returns: The number of bytes decompressed into dst, or an error. *
- *                                                                  *
- * Errors include:                                                  *
- *        -1  -- Error Reading or Decompressing data.               *
- *        -2  -- Not enough space in dst.  You must make dst larger *
- *               and then call the function again (remembering to   *
- *               reset the file descriptor to it's proper location. *
- *                                                                  *
- * ================================================================ *
- * int                                                              *
- * G_zlib_write (fd, src, nbytes)                                   *
- *     int fd, nbytes;                                              *
- *     unsigned char *src;                                          *
- * ---------------------------------------------------------------- *
- * This is the basic function for writing and compressing a data    *
- * chunk to a file.  The file descriptor should be in the correct   *
- * location prior to this call. The function will compress 'nbytes' *
- * of 'src' and write it to the file 'fd'.  Returns the number of   *
- * bytes written or an error code:                                  *
- *                                                                  *
- * Errors include:                                                  *
- *        -1 -- Compression Failed.                                 *
- *        -2 -- Unable to write to file.                            *
- *                                                                  *
- * ================================================================ *
- * int                                                              *
- * G_zlib_write_noCompress (fd, src, nbytes)                        *
- *     int fd, nbytes;                                              *
- *     unsigned char *src;                                          *
- * ---------------------------------------------------------------- *
- * Works similar to G_zlib_write() except no attempt at compression *
- * is made.  This is quicker, but may result in larger files.       *
- * Returns the number of bytes written, or -1 for an error. It will *
- * return an error if it fails to write nbytes. Otherwise, the      *
- * return value will always be nbytes + 1 (for compression flag).   *
- *                                                                  *
- * ================================================================ *
- * int                                                              *
- * G_zlib_compress (src, srz_sz, dst, dst_sz)                       *
- *     int src_sz, dst_sz;                                          *
- *     unsigned char *src, *dst;                                    *
- * ---------------------------------------------------------------- *
- * This function is a wrapper around the zlib deflate() function.   *
- * It uses an all or nothing call to deflate().  If you need a      *
- * continuous compression scheme, you'll have to code your own.     *
- * In order to do a single pass compression, the input src must be  *
- * copied to a buffer 1% + 12 bytes larger than the data.  This may *
- * cause performance degradation.                                   *
- *                                                                  *
- * The function either returns the number of bytes of compressed    *
- * data in dst, or an error code.                                   *
- *                                                                  *
- * Errors include:                                                  *
- *        -1 -- Compression failed.                                 *
- *        -2 -- dst is too small.                                   *
- *                                                                  *
- * ================================================================ *
- * int                                                              *
- * G_zlib_expand (src, src_sz, dst, dst_sz)                         *
- *     int src_sz, dst_sz;                                          *
- *     unsigned char *src, *dst;                                    *
- * ---------------------------------------------------------------- *
- * This function is a wrapper around the zlib inflate() function.   *
- * It uses a single pass call to inflate().  If you need a contin-  *
- * uous expansion scheme, you'll have to code your own.             *
- *                                                                  *
- * The function returns the number of bytes expanded into 'dst' or  *
- * and error code.                                                  *
- *                                                                  *
- * Errors include:                                                  *
- *        -1 -- Expansion failed.                                   *
- *                                                                  *
- ********************************************************************
- */
-
-#include <grass/config.h>
-
-#ifndef HAVE_ZLIB_H
-
-#error "GRASS requires libz to compile"
-
-#else
-
-#include <zlib.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <grass/gis.h>
-
-#include "G.h"
-
-#define G_ZLIB_COMPRESSED_NO (unsigned char)'0'
-#define G_ZLIB_COMPRESSED_YES (unsigned char)'1'
-
-static void _init_zstruct(z_stream * z)
-{
-    /* The types are defined in zlib.h, we set to NULL so zlib uses
-     * its default functions.
-     */
-    z->zalloc = (alloc_func) 0;
-    z->zfree = (free_func) 0;
-    z->opaque = (voidpf) 0;
-}
-
-int G_zlib_read(int fd, int rbytes, unsigned char *dst, int nbytes)
-{
-    int bsize, nread, err;
-    unsigned char *b;
-
-    if (dst == NULL || nbytes < 0)
-	return -2;
-
-    bsize = rbytes;
-
-    /* Our temporary input buffer for read */
-    if (NULL == (b = (unsigned char *)
-		 G_calloc(bsize, sizeof(unsigned char))))
-	return -1;
-
-    /* Read from the file until we get our bsize or an error */
-    nread = 0;
-    do {
-	err = read(fd, b + nread, bsize - nread);
-	if (err >= 0)
-	    nread += err;
-    } while (err > 0 && nread < bsize);
-
-    /* If the bsize if less than rbytes and we didn't get an error.. */
-    if (nread < rbytes && err > 0) {
-	G_free(b);
-	return -1;
-    }
-
-    /* Test if row is compressed */
-    if (b[0] == G_ZLIB_COMPRESSED_NO) {
-	/* Then just copy it to dst */
-	for (err = 0; err < nread - 1 && err < nbytes; err++)
-	    dst[err] = b[err + 1];
-
-	G_free(b);
-	return (nread - 1);
-    }
-    else if (b[0] != G_ZLIB_COMPRESSED_YES) {
-	/* We're not at the start of a row */
-	G_free(b);
-	return -1;
-    }
-    /* Okay it's a compressed row */
-
-    /* Just call G_zlib_expand() with the buffer we read,
-     * Account for first byte being a flag
-     */
-    err = G_zlib_expand(b + 1, bsize - 1, dst, nbytes);
-
-    /* We're done with b */
-    G_free(b);
-
-    /* Return whatever G_zlib_expand() returned */
-    return err;
-
-}				/* G_zlib_read() */
-
-
-int G_zlib_write(int fd, const unsigned char *src, int nbytes)
-{
-    int dst_sz, nwritten, err;
-    unsigned char *dst, compressed;
-
-    /* Catch errors */
-    if (src == NULL || nbytes < 0)
-	return -1;
-
-    dst_sz = nbytes;
-    if (NULL == (dst = (unsigned char *)
-		 G_calloc(dst_sz, sizeof(unsigned char))))
-	return -1;
-
-    /* Now just call G_zlib_compress() */
-    err = G_zlib_compress(src, nbytes, dst, dst_sz);
-
-    /* If compression succeeded write compressed row,
-     * otherwise write uncompressed row. Compression will fail
-     * if dst is too small (i.e. compressed data is larger)
-     */
-    if (err > 0 && err <= dst_sz) {
-	dst_sz = err;
-	/* Write the compression flag */
-	compressed = G_ZLIB_COMPRESSED_YES;
-	if (write(fd, &compressed, 1) != 1) {
-	    G_free(dst);
-	    return -1;
-	}
-	nwritten = 0;
-	do {
-	    err = write(fd, dst + nwritten, dst_sz - nwritten);
-	    if (err >= 0)
-		nwritten += err;
-	} while (err > 0 && nwritten < dst_sz);
-	/* Account for extra byte */
-	nwritten++;
-    }
-    else {
-	/* Write compression flag */
-	compressed = G_ZLIB_COMPRESSED_NO;
-	if (write(fd, &compressed, 1) != 1) {
-	    G_free(dst);
-	    return -1;
-	}
-	nwritten = 0;
-	do {
-	    err = write(fd, src + nwritten, nbytes - nwritten);
-	    if (err >= 0)
-		nwritten += err;
-	} while (err > 0 && nwritten < nbytes);
-	/* Account for extra byte */
-	nwritten++;
-    }				/* if (err > 0) */
-
-    /* Done with the dst buffer */
-    G_free(dst);
-
-    /* If we didn't write all the data return an error */
-    if (err < 0)
-	return -2;
-
-    return nwritten;
-}				/* G_zlib_write() */
-
-
-int G_zlib_write_noCompress(int fd, const unsigned char *src, int nbytes)
-{
-    int err, nwritten;
-    unsigned char compressed;
-
-    /* Catch errors */
-    if (src == NULL || nbytes < 0)
-	return -1;
-
-    /* Write the compression flag */
-    compressed = G_ZLIB_COMPRESSED_NO;
-    if (write(fd, &compressed, 1) != 1)
-	return -1;
-
-    /* Now write the data */
-    nwritten = 0;
-    do {
-	err = write(fd, src + nwritten, nbytes - nwritten);
-	if (err > 0)
-	    nwritten += err;
-    } while (err > 0 && nwritten < nbytes);
-
-    if (err < 0 || nwritten != nbytes)
-	return -1;
-
-    /* Account for extra compressed flag */
-    nwritten++;
-
-    /* That's all */
-    return nwritten;
-
-}				/* G_zlib_write_noCompress() */
-
-
-int
-G_zlib_compress(const unsigned char *src, int src_sz, unsigned char *dst,
-		int dst_sz)
-{
-    int err, nbytes, buf_sz;
-    unsigned char *buf;
-    z_stream c_stream;
-
-    /* Catch errors early */
-    if (src == NULL || dst == NULL)
-	return -1;
-
-    /* Don't do anything if either of these are true */
-    if (src_sz <= 0 || dst_sz <= 0)
-	return 0;
-
-    /* Output buffer has to be 1% + 12 bytes bigger for single pass deflate */
-    buf_sz = (int)((double)dst_sz * 1.01 + (double)12);
-    if (NULL == (buf = (unsigned char *)
-		 G_calloc(buf_sz, sizeof(unsigned char))))
-	return -1;
-
-    /* Set-up for default zlib memory handling */
-    _init_zstruct(&c_stream);
-
-    /* Set-up the stream */
-    c_stream.avail_in = src_sz;
-    c_stream.next_in = (unsigned char *) src;
-    c_stream.avail_out = buf_sz;
-    c_stream.next_out = buf;
-
-    /* Initialize */
-    /* Valid zlib compression levels -1 - 9 */
-    /* zlib default: Z_DEFAULT_COMPRESSION = -1, equivalent to 6 
-     * as used here, 1 gives the best compromise between speed and compression */
-    err = deflateInit(&c_stream,
-                      (G__.compression_level < -1 || G__.compression_level > 9) 
-		      ? 1 : G__.compression_level);
-
-    /* If there was an error initializing, return -1 */
-    if (err != Z_OK) {
-	G_free(buf);
-	return -1;
-    }
-
-    /* Do single pass compression */
-    err = deflate(&c_stream, Z_FINISH);
-    if (err != Z_STREAM_END) {
-	switch (err) {
-	case Z_OK:		/* Destination too small */
-	    G_free(buf);
-	    deflateEnd(&c_stream);
-	    return -2;
-	    break;
-	default:		/* Give other error */
-	    G_free(buf);
-	    deflateEnd(&c_stream);
-	    return -1;
-	    break;
-	}
-    }
-
-    /* avail_out is updated to bytes remaining in buf, so bytes of compressed
-     * data is the original size minus that
-     */
-    nbytes = buf_sz - c_stream.avail_out;
-    if (nbytes > dst_sz) {	/* Not enough room to copy output */
-	G_free(buf);
-	deflateEnd(&c_stream);
-	return -2;
-    }
-    /* Copy the data from buf to dst */
-    for (err = 0; err < nbytes; err++)
-	dst[err] = buf[err];
-
-    G_free(buf);
-    deflateEnd(&c_stream);
-
-    return nbytes;
-}				/* G_zlib_compress() */
-
-int
-G_zlib_expand(const unsigned char *src, int src_sz, unsigned char *dst,
-	      int dst_sz)
-{
-    int err, nbytes;
-    z_stream c_stream;
-
-    /* Catch error condition */
-    if (src == NULL || dst == NULL)
-	return -2;
-
-    /* Don't do anything if either of these are true */
-    if (src_sz <= 0 || dst_sz <= 0)
-	return 0;
-
-    /* Set-up default zlib memory handling */
-    _init_zstruct(&c_stream);
-
-    /* Set-up I/O streams */
-    c_stream.avail_in = src_sz;
-    c_stream.next_in = (unsigned char *)src;
-    c_stream.avail_out = dst_sz;
-    c_stream.next_out = dst;
-
-    /* Call zlib initilization function */
-    err = inflateInit(&c_stream);
-
-    /* If not Z_OK return error -1 */
-    if (err != Z_OK)
-	return -1;
-
-    /* Do single pass inflate */
-    err = inflate(&c_stream, Z_FINISH);
-
-    /* Number of bytes inflated to output stream is
-     * original bytes available minus what avail_out now says
-     */
-    nbytes = dst_sz - c_stream.avail_out;
-
-    /* Z_STREAM_END means all input was consumed, 
-     * Z_OK means only some was processed (not enough room in dst)
-     */
-    if (!(err == Z_STREAM_END || err == Z_OK)) {
-	if (!(err == Z_BUF_ERROR && nbytes == dst_sz)) {
-	    inflateEnd(&c_stream);
-	    return -1;
-	}
-	/* Else, there was extra input, but requested output size was
-	 * decompressed successfully.
-	 */
-    }
-
-    inflateEnd(&c_stream);
-
-    return nbytes;
-}				/* G_zlib_expand() */
-
-#endif /* HAVE_ZLIB_H */
-
-
-/* vim: set softtabstop=4 shiftwidth=4 expandtab: */
diff --git a/lib/gis/get_window.c b/lib/gis/get_window.c
index 92fe429..fa73941 100644
--- a/lib/gis/get_window.c
+++ b/lib/gis/get_window.c
@@ -17,7 +17,7 @@
 #include <grass/glocale.h>
 
 #include "G.h"
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 static struct state {
     int initialized;
diff --git a/lib/gis/gis_local_proto.h b/lib/gis/gis_local_proto.h
index 293185f..99eb58e 100644
--- a/lib/gis/gis_local_proto.h
+++ b/lib/gis/gis_local_proto.h
@@ -2,13 +2,34 @@
 #define __GIS_LOCAL_PROTO_H__
 
 /* subroutines used only by GIS Library */
-/* TODO: move other G__*() subroutines here */
+
+/* env.c */
+void G__read_env(void);
+void G__write_env(void);
+
+/* gisinit.c */
+void G__check_gisinit(void);
+
+/* handler.c */
+void G__call_error_handlers(void);
+
+/* home.c */
+const char *G__home(void);
 
 /* location.c */
 char *G__location_path(void);
 
+/* mach_name.c */
+const char *G__machine_name(void);
+
 /* mapset.c */
 const char *G__mapset(void);
 char *G__mapset_path(void);
 
+/* mapset_nme.c */
+void G__get_list_of_mapsets(void);
+
+/* timestamp.c */
+int G__read_timestamp(FILE *, struct TimeStamp *);
+
 #endif
diff --git a/lib/gis/gisinit.c b/lib/gis/gisinit.c
index ec41eac..09518bb 100644
--- a/lib/gis/gisinit.c
+++ b/lib/gis/gisinit.c
@@ -24,7 +24,7 @@
 #include <grass/glocale.h>
 
 #include "G.h"
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 struct G__ G__;
 
diff --git a/lib/gis/gislib.dox b/lib/gis/gislib.dox
index 4b8f7bd..71f394b 100644
--- a/lib/gis/gislib.dox
+++ b/lib/gis/gislib.dox
@@ -284,6 +284,48 @@ writes the new value to the user's GRASS environment file.
 
 \section dbaseaccess Fundamental Database Access Routines
 
+
+In general, a user can only access data in the current location. For most
+modules, it's meaningless to access data from a different location as
+the projection will be wrong. A handful of modules (e.g. r.proj,
+v.proj) support accessing data from a different location, and in such
+cases there's no need for the user to own the source mapset, or even
+to own any mapset in the source location.
+
+Since r54264, it is possible to bypass the ownership check by setting
+GRASS_SKIP_MAPSET_OWNER_CHECK to any non-empty string. This was added
+mostly for accessing VFAT/NTFS-format external drives or network
+shares where the ownership checks don't behave correctly. It should
+not be used on multi-user systems, nor set by programs.
+
+But other than that, a user cannot make a mapset the current mapset (i.e.
+the one a user can modify) unless the user owns it. The user can access data from
+any mapset for which they have the relevant filesystem permissions
+(i.e. read permission for files, execute permission for the ancestor
+directories, read permission for any directories which need to be
+enumerated).
+
+Originally this restriction was related to locking (the lock file was
+created in the user's home directory, so being able to set the current
+mapset to a directory which the user didn't own meant that they could have
+multiple sessions modifying a mapset concurrently).
+
+That's no longer an issue (the lock file is created in the mapset
+directory). However, the other issue is that allowing someone other
+than the owner to modify the directory can result in problems for its
+owner.
+
+Creating a new map typically creates a subdirectory of cell_misc for
+that map, and some files within it (e.g. a "null" file). Any new files
+and subdirectories will be owned by their creator (not the mapset's
+owner) and will have permissions determined by the current umask. The
+result is that there's no guarantee that tha mapset's owner will be
+able to delete (or even access) such files or directories.
+
+In short, it's a safety mechanism against people trying to share
+directories by making them group-writeable without fully understanding
+the implications.
+
 The routines described in this section provide the low-level interface
 to the GRASS database. They search the database for files, prompt the
 user for file names, open files for reading or writing, etc. The
diff --git a/lib/gis/home.c b/lib/gis/home.c
index 5ff23dd..7574451 100644
--- a/lib/gis/home.c
+++ b/lib/gis/home.c
@@ -16,7 +16,7 @@
 #include <grass/gis.h>
 #include <grass/glocale.h>
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 /*!
  * \brief Get user's home directory
diff --git a/lib/gis/local_proto.h b/lib/gis/local_proto.h
deleted file mode 100644
index 705b65a..0000000
--- a/lib/gis/local_proto.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __LOCAL_PROTO_H__
-#define __LOCAL_PROTO_H__
-
-/* env.c */
-void G__read_env(void);
-void G__write_env(void);
-
-/* gisinit.c */
-void G__check_gisinit(void);
-
-/* handler.c */
-void G__call_error_handlers(void);
-
-/* home.c */
-const char *G__home(void);
-
-/* mach_name.c */
-const char *G__machine_name(void);
-
-/* mapset_nme.c */
-void G__get_list_of_mapsets(void);
-
-/* timestamp.c */
-int G__read_timestamp(FILE *, struct TimeStamp *);
-
-#endif /* LOCAL_PROTO_H__ */
diff --git a/lib/gis/location.c b/lib/gis/location.c
index 408a957..c5dcc5c 100644
--- a/lib/gis/location.c
+++ b/lib/gis/location.c
@@ -81,7 +81,7 @@ char *G__location_path(void)
     const char *base = G_gisdbase();
     char *location = G_malloc(strlen(base) + strlen(name) + 2);
 
-    sprintf(location, "%s/%s", base, name);
+    sprintf(location, "%s%c%s", base, HOST_DIRSEP, name);
 
     return location;
 }
diff --git a/lib/gis/lz4.c b/lib/gis/lz4.c
new file mode 100644
index 0000000..39a0f68
--- /dev/null
+++ b/lib/gis/lz4.c
@@ -0,0 +1,1516 @@
+/*
+   LZ4 - Fast LZ compression algorithm
+   Copyright (C) 2011-2015, Yann Collet.
+
+   BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are
+   met:
+
+       * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+       * Redistributions in binary form must reproduce the above
+   copyright notice, this list of conditions and the following disclaimer
+   in the documentation and/or other materials provided with the
+   distribution.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+   You can contact the author at :
+   - LZ4 source repository : https://github.com/Cyan4973/lz4
+   - LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c
+*/
+
+
+/**************************************
+*  Tuning parameters
+**************************************/
+/*
+ * HEAPMODE :
+ * Select how default compression functions will allocate memory for their hash table,
+ * in memory stack (0:default, fastest), or in memory heap (1:requires malloc()).
+ */
+#define HEAPMODE 0
+
+/*
+ * ACCELERATION_DEFAULT :
+ * Select "acceleration" for LZ4_compress_fast() when parameter value <= 0
+ */
+#define ACCELERATION_DEFAULT 1
+
+
+/**************************************
+*  CPU Feature Detection
+**************************************/
+/*
+ * LZ4_FORCE_SW_BITCOUNT
+ * Define this parameter if your target system or compiler does not support hardware bit count
+ */
+#if defined(_MSC_VER) && defined(_WIN32_WCE)   /* Visual Studio for Windows CE does not support Hardware bit count */
+#  define LZ4_FORCE_SW_BITCOUNT
+#endif
+
+
+/**************************************
+*  Includes
+**************************************/
+#include "lz4.h"
+
+
+/**************************************
+*  Compiler Options
+**************************************/
+#ifdef _MSC_VER    /* Visual Studio */
+#  define FORCE_INLINE static __forceinline
+#  include <intrin.h>
+#  pragma warning(disable : 4127)        /* disable: C4127: conditional expression is constant */
+#  pragma warning(disable : 4293)        /* disable: C4293: too large shift (32-bits) */
+#else
+#  if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)   /* C99 */
+#    if defined(__GNUC__) || defined(__clang__)
+#      define FORCE_INLINE static inline __attribute__((always_inline))
+#    else
+#      define FORCE_INLINE static inline
+#    endif
+#  else
+#    define FORCE_INLINE static
+#  endif   /* __STDC_VERSION__ */
+#endif  /* _MSC_VER */
+
+/* LZ4_GCC_VERSION is defined into lz4.h */
+#if (LZ4_GCC_VERSION >= 302) || (__INTEL_COMPILER >= 800) || defined(__clang__)
+#  define expect(expr,value)    (__builtin_expect ((expr),(value)) )
+#else
+#  define expect(expr,value)    (expr)
+#endif
+
+#define likely(expr)     expect((expr) != 0, 1)
+#define unlikely(expr)   expect((expr) != 0, 0)
+
+
+/**************************************
+*  Memory routines
+**************************************/
+#include <stdlib.h>   /* malloc, calloc, free */
+#define ALLOCATOR(n,s) calloc(n,s)
+#define FREEMEM        free
+#include <string.h>   /* memset, memcpy */
+#define MEM_INIT       memset
+
+
+/**************************************
+*  Basic Types
+**************************************/
+#if defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)   /* C99 */
+# include <stdint.h>
+  typedef  uint8_t BYTE;
+  typedef uint16_t U16;
+  typedef uint32_t U32;
+  typedef  int32_t S32;
+  typedef uint64_t U64;
+#else
+  typedef unsigned char       BYTE;
+  typedef unsigned short      U16;
+  typedef unsigned int        U32;
+  typedef   signed int        S32;
+  typedef unsigned long long  U64;
+#endif
+
+
+/**************************************
+*  Reading and writing into memory
+**************************************/
+#define STEPSIZE sizeof(size_t)
+
+static unsigned LZ4_64bits(void) { return sizeof(void*)==8; }
+
+static unsigned LZ4_isLittleEndian(void)
+{
+    const union { U32 i; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
+    return one.c[0];
+}
+
+
+static U16 LZ4_read16(const void* memPtr)
+{
+    U16 val16;
+    memcpy(&val16, memPtr, 2);
+    return val16;
+}
+
+static U16 LZ4_readLE16(const void* memPtr)
+{
+    if (LZ4_isLittleEndian())
+    {
+        return LZ4_read16(memPtr);
+    }
+    else
+    {
+        const BYTE* p = (const BYTE*)memPtr;
+        return (U16)((U16)p[0] + (p[1]<<8));
+    }
+}
+
+static void LZ4_writeLE16(void* memPtr, U16 value)
+{
+    if (LZ4_isLittleEndian())
+    {
+        memcpy(memPtr, &value, 2);
+    }
+    else
+    {
+        BYTE* p = (BYTE*)memPtr;
+        p[0] = (BYTE) value;
+        p[1] = (BYTE)(value>>8);
+    }
+}
+
+static U32 LZ4_read32(const void* memPtr)
+{
+    U32 val32;
+    memcpy(&val32, memPtr, 4);
+    return val32;
+}
+
+static U64 LZ4_read64(const void* memPtr)
+{
+    U64 val64;
+    memcpy(&val64, memPtr, 8);
+    return val64;
+}
+
+static size_t LZ4_read_ARCH(const void* p)
+{
+    if (LZ4_64bits())
+        return (size_t)LZ4_read64(p);
+    else
+        return (size_t)LZ4_read32(p);
+}
+
+
+static void LZ4_copy4(void* dstPtr, const void* srcPtr) { memcpy(dstPtr, srcPtr, 4); }
+
+static void LZ4_copy8(void* dstPtr, const void* srcPtr) { memcpy(dstPtr, srcPtr, 8); }
+
+/* customized version of memcpy, which may overwrite up to 7 bytes beyond dstEnd */
+static void LZ4_wildCopy(void* dstPtr, const void* srcPtr, void* dstEnd)
+{
+    BYTE* d = (BYTE*)dstPtr;
+    const BYTE* s = (const BYTE*)srcPtr;
+    BYTE* e = (BYTE*)dstEnd;
+    do { LZ4_copy8(d,s); d+=8; s+=8; } while (d<e);
+}
+
+
+/**************************************
+*  Common Constants
+**************************************/
+#define MINMATCH 4
+
+#define COPYLENGTH 8
+#define LASTLITERALS 5
+#define MFLIMIT (COPYLENGTH+MINMATCH)
+static const int LZ4_minLength = (MFLIMIT+1);
+
+#define KB *(1 <<10)
+#define MB *(1 <<20)
+#define GB *(1U<<30)
+
+#define MAXD_LOG 16
+#define MAX_DISTANCE ((1 << MAXD_LOG) - 1)
+
+#define ML_BITS  4
+#define ML_MASK  ((1U<<ML_BITS)-1)
+#define RUN_BITS (8-ML_BITS)
+#define RUN_MASK ((1U<<RUN_BITS)-1)
+
+
+/**************************************
+*  Common Utils
+**************************************/
+#define LZ4_STATIC_ASSERT(c)    { enum { LZ4_static_assert = 1/(int)(!!(c)) }; }   /* use only *after* variable declarations */
+
+
+/**************************************
+*  Common functions
+**************************************/
+static unsigned LZ4_NbCommonBytes (register size_t val)
+{
+    if (LZ4_isLittleEndian())
+    {
+        if (LZ4_64bits())
+        {
+#       if defined(_MSC_VER) && defined(_WIN64) && !defined(LZ4_FORCE_SW_BITCOUNT)
+            unsigned long r = 0;
+            _BitScanForward64( &r, (U64)val );
+            return (int)(r>>3);
+#       elif (defined(__clang__) || (LZ4_GCC_VERSION >= 304)) && !defined(LZ4_FORCE_SW_BITCOUNT)
+            return (__builtin_ctzll((U64)val) >> 3);
+#       else
+            static const int DeBruijnBytePos[64] = { 0, 0, 0, 0, 0, 1, 1, 2, 0, 3, 1, 3, 1, 4, 2, 7, 0, 2, 3, 6, 1, 5, 3, 5, 1, 3, 4, 4, 2, 5, 6, 7, 7, 0, 1, 2, 3, 3, 4, 6, 2, 6, 5, 5, 3, 4, 5, 6, 7, 1, 2, 4, 6, 4, 4, 5, 7, 2, 6, 5, 7, 6, 7, 7 };
+            return DeBruijnBytePos[((U64)((val & -(long long)val) * 0x0218A392CDABBD3FULL)) >> 58];
+#       endif
+        }
+        else /* 32 bits */
+        {
+#       if defined(_MSC_VER) && !defined(LZ4_FORCE_SW_BITCOUNT)
+            unsigned long r;
+            _BitScanForward( &r, (U32)val );
+            return (int)(r>>3);
+#       elif (defined(__clang__) || (LZ4_GCC_VERSION >= 304)) && !defined(LZ4_FORCE_SW_BITCOUNT)
+            return (__builtin_ctz((U32)val) >> 3);
+#       else
+            static const int DeBruijnBytePos[32] = { 0, 0, 3, 0, 3, 1, 3, 0, 3, 2, 2, 1, 3, 2, 0, 1, 3, 3, 1, 2, 2, 2, 2, 0, 3, 1, 2, 0, 1, 0, 1, 1 };
+            return DeBruijnBytePos[((U32)((val & -(S32)val) * 0x077CB531U)) >> 27];
+#       endif
+        }
+    }
+    else   /* Big Endian CPU */
+    {
+        if (LZ4_64bits())
+        {
+#       if defined(_MSC_VER) && defined(_WIN64) && !defined(LZ4_FORCE_SW_BITCOUNT)
+            unsigned long r = 0;
+            _BitScanReverse64( &r, val );
+            return (unsigned)(r>>3);
+#       elif (defined(__clang__) || (LZ4_GCC_VERSION >= 304)) && !defined(LZ4_FORCE_SW_BITCOUNT)
+            return (__builtin_clzll((U64)val) >> 3);
+#       else
+            unsigned r;
+            if (!(val>>32)) { r=4; } else { r=0; val>>=32; }
+            if (!(val>>16)) { r+=2; val>>=8; } else { val>>=24; }
+            r += (!val);
+            return r;
+#       endif
+        }
+        else /* 32 bits */
+        {
+#       if defined(_MSC_VER) && !defined(LZ4_FORCE_SW_BITCOUNT)
+            unsigned long r = 0;
+            _BitScanReverse( &r, (unsigned long)val );
+            return (unsigned)(r>>3);
+#       elif (defined(__clang__) || (LZ4_GCC_VERSION >= 304)) && !defined(LZ4_FORCE_SW_BITCOUNT)
+            return (__builtin_clz((U32)val) >> 3);
+#       else
+            unsigned r;
+            if (!(val>>16)) { r=2; val>>=8; } else { r=0; val>>=24; }
+            r += (!val);
+            return r;
+#       endif
+        }
+    }
+}
+
+static unsigned LZ4_count(const BYTE* pIn, const BYTE* pMatch, const BYTE* pInLimit)
+{
+    const BYTE* const pStart = pIn;
+
+    while (likely(pIn<pInLimit-(STEPSIZE-1)))
+    {
+        size_t diff = LZ4_read_ARCH(pMatch) ^ LZ4_read_ARCH(pIn);
+        if (!diff) { pIn+=STEPSIZE; pMatch+=STEPSIZE; continue; }
+        pIn += LZ4_NbCommonBytes(diff);
+        return (unsigned)(pIn - pStart);
+    }
+
+    if (LZ4_64bits()) if ((pIn<(pInLimit-3)) && (LZ4_read32(pMatch) == LZ4_read32(pIn))) { pIn+=4; pMatch+=4; }
+    if ((pIn<(pInLimit-1)) && (LZ4_read16(pMatch) == LZ4_read16(pIn))) { pIn+=2; pMatch+=2; }
+    if ((pIn<pInLimit) && (*pMatch == *pIn)) pIn++;
+    return (unsigned)(pIn - pStart);
+}
+
+
+#ifndef LZ4_COMMONDEFS_ONLY
+/**************************************
+*  Local Constants
+**************************************/
+#define LZ4_HASHLOG   (LZ4_MEMORY_USAGE-2)
+#define HASHTABLESIZE (1 << LZ4_MEMORY_USAGE)
+#define HASH_SIZE_U32 (1 << LZ4_HASHLOG)       /* required as macro for static allocation */
+
+static const int LZ4_64Klimit = ((64 KB) + (MFLIMIT-1));
+static const U32 LZ4_skipTrigger = 6;  /* Increase this value ==> compression run slower on incompressible data */
+
+
+/**************************************
+*  Local Structures and types
+**************************************/
+typedef struct {
+    U32 hashTable[HASH_SIZE_U32];
+    U32 currentOffset;
+    U32 initCheck;
+    const BYTE* dictionary;
+    BYTE* bufferStart;   /* obsolete, used for slideInputBuffer */
+    U32 dictSize;
+} LZ4_stream_t_internal;
+
+typedef enum { notLimited = 0, limitedOutput = 1 } limitedOutput_directive;
+typedef enum { byPtr, byU32, byU16 } tableType_t;
+
+typedef enum { noDict = 0, withPrefix64k, usingExtDict } dict_directive;
+typedef enum { noDictIssue = 0, dictSmall } dictIssue_directive;
+
+typedef enum { endOnOutputSize = 0, endOnInputSize = 1 } endCondition_directive;
+typedef enum { full = 0, partial = 1 } earlyEnd_directive;
+
+
+/**************************************
+*  Local Utils
+**************************************/
+int LZ4_versionNumber (void) { return LZ4_VERSION_NUMBER; }
+int LZ4_compressBound(int isize)  { return LZ4_COMPRESSBOUND(isize); }
+int LZ4_sizeofState() { return LZ4_STREAMSIZE; }
+
+
+
+/********************************
+*  Compression functions
+********************************/
+
+static U32 LZ4_hashSequence(U32 sequence, tableType_t const tableType)
+{
+    if (tableType == byU16)
+        return (((sequence) * 2654435761U) >> ((MINMATCH*8)-(LZ4_HASHLOG+1)));
+    else
+        return (((sequence) * 2654435761U) >> ((MINMATCH*8)-LZ4_HASHLOG));
+}
+
+static const U64 prime5bytes = 889523592379ULL;
+static U32 LZ4_hashSequence64(size_t sequence, tableType_t const tableType)
+{
+    const U32 hashLog = (tableType == byU16) ? LZ4_HASHLOG+1 : LZ4_HASHLOG;
+    const U32 hashMask = (1<<hashLog) - 1;
+    return ((sequence * prime5bytes) >> (40 - hashLog)) & hashMask;
+}
+
+static U32 LZ4_hashSequenceT(size_t sequence, tableType_t const tableType)
+{
+    if (LZ4_64bits())
+        return LZ4_hashSequence64(sequence, tableType);
+    return LZ4_hashSequence((U32)sequence, tableType);
+}
+
+static U32 LZ4_hashPosition(const void* p, tableType_t tableType) { return LZ4_hashSequenceT(LZ4_read_ARCH(p), tableType); }
+
+static void LZ4_putPositionOnHash(const BYTE* p, U32 h, void* tableBase, tableType_t const tableType, const BYTE* srcBase)
+{
+    switch (tableType)
+    {
+    case byPtr: { const BYTE** hashTable = (const BYTE**)tableBase; hashTable[h] = p; return; }
+    case byU32: { U32* hashTable = (U32*) tableBase; hashTable[h] = (U32)(p-srcBase); return; }
+    case byU16: { U16* hashTable = (U16*) tableBase; hashTable[h] = (U16)(p-srcBase); return; }
+    }
+}
+
+static void LZ4_putPosition(const BYTE* p, void* tableBase, tableType_t tableType, const BYTE* srcBase)
+{
+    U32 h = LZ4_hashPosition(p, tableType);
+    LZ4_putPositionOnHash(p, h, tableBase, tableType, srcBase);
+}
+
+static const BYTE* LZ4_getPositionOnHash(U32 h, void* tableBase, tableType_t tableType, const BYTE* srcBase)
+{
+    if (tableType == byPtr) { const BYTE** hashTable = (const BYTE**) tableBase; return hashTable[h]; }
+    if (tableType == byU32) { U32* hashTable = (U32*) tableBase; return hashTable[h] + srcBase; }
+    { U16* hashTable = (U16*) tableBase; return hashTable[h] + srcBase; }   /* default, to ensure a return */
+}
+
+static const BYTE* LZ4_getPosition(const BYTE* p, void* tableBase, tableType_t tableType, const BYTE* srcBase)
+{
+    U32 h = LZ4_hashPosition(p, tableType);
+    return LZ4_getPositionOnHash(h, tableBase, tableType, srcBase);
+}
+
+FORCE_INLINE int LZ4_compress_generic(
+                 void* const ctx,
+                 const char* const source,
+                 char* const dest,
+                 const int inputSize,
+                 const int maxOutputSize,
+                 const limitedOutput_directive outputLimited,
+                 const tableType_t tableType,
+                 const dict_directive dict,
+                 const dictIssue_directive dictIssue,
+                 const U32 acceleration)
+{
+    LZ4_stream_t_internal* const dictPtr = (LZ4_stream_t_internal*)ctx;
+
+    const BYTE* ip = (const BYTE*) source;
+    const BYTE* base;
+    const BYTE* lowLimit;
+    const BYTE* const lowRefLimit = ip - dictPtr->dictSize;
+    const BYTE* const dictionary = dictPtr->dictionary;
+    const BYTE* const dictEnd = dictionary + dictPtr->dictSize;
+    const size_t dictDelta = dictEnd - (const BYTE*)source;
+    const BYTE* anchor = (const BYTE*) source;
+    const BYTE* const iend = ip + inputSize;
+    const BYTE* const mflimit = iend - MFLIMIT;
+    const BYTE* const matchlimit = iend - LASTLITERALS;
+
+    BYTE* op = (BYTE*) dest;
+    BYTE* const olimit = op + maxOutputSize;
+
+    U32 forwardH;
+    size_t refDelta=0;
+
+    /* Init conditions */
+    if ((U32)inputSize > (U32)LZ4_MAX_INPUT_SIZE) return 0;   /* Unsupported input size, too large (or negative) */
+    switch(dict)
+    {
+    case noDict:
+    default:
+        base = (const BYTE*)source;
+        lowLimit = (const BYTE*)source;
+        break;
+    case withPrefix64k:
+        base = (const BYTE*)source - dictPtr->currentOffset;
+        lowLimit = (const BYTE*)source - dictPtr->dictSize;
+        break;
+    case usingExtDict:
+        base = (const BYTE*)source - dictPtr->currentOffset;
+        lowLimit = (const BYTE*)source;
+        break;
+    }
+    if ((tableType == byU16) && (inputSize>=LZ4_64Klimit)) return 0;   /* Size too large (not within 64K limit) */
+    if (inputSize<LZ4_minLength) goto _last_literals;                  /* Input too small, no compression (all literals) */
+
+    /* First Byte */
+    LZ4_putPosition(ip, ctx, tableType, base);
+    ip++; forwardH = LZ4_hashPosition(ip, tableType);
+
+    /* Main Loop */
+    for ( ; ; )
+    {
+        const BYTE* match;
+        BYTE* token;
+        {
+            const BYTE* forwardIp = ip;
+            unsigned step = 1;
+            unsigned searchMatchNb = acceleration << LZ4_skipTrigger;
+
+            /* Find a match */
+            do {
+                U32 h = forwardH;
+                ip = forwardIp;
+                forwardIp += step;
+                step = (searchMatchNb++ >> LZ4_skipTrigger);
+
+                if (unlikely(forwardIp > mflimit)) goto _last_literals;
+
+                match = LZ4_getPositionOnHash(h, ctx, tableType, base);
+                if (dict==usingExtDict)
+                {
+                    if (match<(const BYTE*)source)
+                    {
+                        refDelta = dictDelta;
+                        lowLimit = dictionary;
+                    }
+                    else
+                    {
+                        refDelta = 0;
+                        lowLimit = (const BYTE*)source;
+                    }
+                }
+                forwardH = LZ4_hashPosition(forwardIp, tableType);
+                LZ4_putPositionOnHash(ip, h, ctx, tableType, base);
+
+            } while ( ((dictIssue==dictSmall) ? (match < lowRefLimit) : 0)
+                || ((tableType==byU16) ? 0 : (match + MAX_DISTANCE < ip))
+                || (LZ4_read32(match+refDelta) != LZ4_read32(ip)) );
+        }
+
+        /* Catch up */
+        while ((ip>anchor) && (match+refDelta > lowLimit) && (unlikely(ip[-1]==match[refDelta-1]))) { ip--; match--; }
+
+        {
+            /* Encode Literal length */
+            unsigned litLength = (unsigned)(ip - anchor);
+            token = op++;
+            if ((outputLimited) && (unlikely(op + litLength + (2 + 1 + LASTLITERALS) + (litLength/255) > olimit)))
+                return 0;   /* Check output limit */
+            if (litLength>=RUN_MASK)
+            {
+                int len = (int)litLength-RUN_MASK;
+                *token=(RUN_MASK<<ML_BITS);
+                for(; len >= 255 ; len-=255) *op++ = 255;
+                *op++ = (BYTE)len;
+            }
+            else *token = (BYTE)(litLength<<ML_BITS);
+
+            /* Copy Literals */
+            LZ4_wildCopy(op, anchor, op+litLength);
+            op+=litLength;
+        }
+
+_next_match:
+        /* Encode Offset */
+        LZ4_writeLE16(op, (U16)(ip-match)); op+=2;
+
+        /* Encode MatchLength */
+        {
+            unsigned matchLength;
+
+            if ((dict==usingExtDict) && (lowLimit==dictionary))
+            {
+                const BYTE* limit;
+                match += refDelta;
+                limit = ip + (dictEnd-match);
+                if (limit > matchlimit) limit = matchlimit;
+                matchLength = LZ4_count(ip+MINMATCH, match+MINMATCH, limit);
+                ip += MINMATCH + matchLength;
+                if (ip==limit)
+                {
+                    unsigned more = LZ4_count(ip, (const BYTE*)source, matchlimit);
+                    matchLength += more;
+                    ip += more;
+                }
+            }
+            else
+            {
+                matchLength = LZ4_count(ip+MINMATCH, match+MINMATCH, matchlimit);
+                ip += MINMATCH + matchLength;
+            }
+
+            if ((outputLimited) && (unlikely(op + (1 + LASTLITERALS) + (matchLength>>8) > olimit)))
+                return 0;    /* Check output limit */
+            if (matchLength>=ML_MASK)
+            {
+                *token += ML_MASK;
+                matchLength -= ML_MASK;
+                for (; matchLength >= 510 ; matchLength-=510) { *op++ = 255; *op++ = 255; }
+                if (matchLength >= 255) { matchLength-=255; *op++ = 255; }
+                *op++ = (BYTE)matchLength;
+            }
+            else *token += (BYTE)(matchLength);
+        }
+
+        anchor = ip;
+
+        /* Test end of chunk */
+        if (ip > mflimit) break;
+
+        /* Fill table */
+        LZ4_putPosition(ip-2, ctx, tableType, base);
+
+        /* Test next position */
+        match = LZ4_getPosition(ip, ctx, tableType, base);
+        if (dict==usingExtDict)
+        {
+            if (match<(const BYTE*)source)
+            {
+                refDelta = dictDelta;
+                lowLimit = dictionary;
+            }
+            else
+            {
+                refDelta = 0;
+                lowLimit = (const BYTE*)source;
+            }
+        }
+        LZ4_putPosition(ip, ctx, tableType, base);
+        if ( ((dictIssue==dictSmall) ? (match>=lowRefLimit) : 1)
+            && (match+MAX_DISTANCE>=ip)
+            && (LZ4_read32(match+refDelta)==LZ4_read32(ip)) )
+        { token=op++; *token=0; goto _next_match; }
+
+        /* Prepare next loop */
+        forwardH = LZ4_hashPosition(++ip, tableType);
+    }
+
+_last_literals:
+    /* Encode Last Literals */
+    {
+        const size_t lastRun = (size_t)(iend - anchor);
+        if ((outputLimited) && ((op - (BYTE*)dest) + lastRun + 1 + ((lastRun+255-RUN_MASK)/255) > (U32)maxOutputSize))
+            return 0;   /* Check output limit */
+        if (lastRun >= RUN_MASK)
+        {
+            size_t accumulator = lastRun - RUN_MASK;
+            *op++ = RUN_MASK << ML_BITS;
+            for(; accumulator >= 255 ; accumulator-=255) *op++ = 255;
+            *op++ = (BYTE) accumulator;
+        }
+        else
+        {
+            *op++ = (BYTE)(lastRun<<ML_BITS);
+        }
+        memcpy(op, anchor, lastRun);
+        op += lastRun;
+    }
+
+    /* End */
+    return (int) (((char*)op)-dest);
+}
+
+
+int LZ4_compress_fast_extState(void* state, const char* source, char* dest, int inputSize, int maxOutputSize, int acceleration)
+{
+    LZ4_resetStream((LZ4_stream_t*)state);
+    if (acceleration < 1) acceleration = ACCELERATION_DEFAULT;
+
+    if (maxOutputSize >= LZ4_compressBound(inputSize))
+    {
+        if (inputSize < LZ4_64Klimit)
+            return LZ4_compress_generic(state, source, dest, inputSize, 0, notLimited, byU16,                        noDict, noDictIssue, acceleration);
+        else
+            return LZ4_compress_generic(state, source, dest, inputSize, 0, notLimited, LZ4_64bits() ? byU32 : byPtr, noDict, noDictIssue, acceleration);
+    }
+    else
+    {
+        if (inputSize < LZ4_64Klimit)
+            return LZ4_compress_generic(state, source, dest, inputSize, maxOutputSize, limitedOutput, byU16,                        noDict, noDictIssue, acceleration);
+        else
+            return LZ4_compress_generic(state, source, dest, inputSize, maxOutputSize, limitedOutput, LZ4_64bits() ? byU32 : byPtr, noDict, noDictIssue, acceleration);
+    }
+}
+
+
+int LZ4_compress_fast(const char* source, char* dest, int inputSize, int maxOutputSize, int acceleration)
+{
+#if (HEAPMODE)
+    void* ctxPtr = ALLOCATOR(1, sizeof(LZ4_stream_t));   /* malloc-calloc always properly aligned */
+#else
+    LZ4_stream_t ctx;
+    void* ctxPtr = &ctx;
+#endif
+
+    int result = LZ4_compress_fast_extState(ctxPtr, source, dest, inputSize, maxOutputSize, acceleration);
+
+#if (HEAPMODE)
+    FREEMEM(ctxPtr);
+#endif
+    return result;
+}
+
+
+int LZ4_compress_default(const char* source, char* dest, int inputSize, int maxOutputSize)
+{
+    return LZ4_compress_fast(source, dest, inputSize, maxOutputSize, 1);
+}
+
+
+/* hidden debug function */
+/* strangely enough, gcc generates faster code when this function is uncommented, even if unused */
+int LZ4_compress_fast_force(const char* source, char* dest, int inputSize, int maxOutputSize, int acceleration)
+{
+    LZ4_stream_t ctx;
+
+    LZ4_resetStream(&ctx);
+
+    if (inputSize < LZ4_64Klimit)
+        return LZ4_compress_generic(&ctx, source, dest, inputSize, maxOutputSize, limitedOutput, byU16,                        noDict, noDictIssue, acceleration);
+    else
+        return LZ4_compress_generic(&ctx, source, dest, inputSize, maxOutputSize, limitedOutput, LZ4_64bits() ? byU32 : byPtr, noDict, noDictIssue, acceleration);
+}
+
+
+/********************************
+*  destSize variant
+********************************/
+
+static int LZ4_compress_destSize_generic(
+                       void* const ctx,
+                 const char* const src,
+                       char* const dst,
+                       int*  const srcSizePtr,
+                 const int targetDstSize,
+                 const tableType_t tableType)
+{
+    const BYTE* ip = (const BYTE*) src;
+    const BYTE* base = (const BYTE*) src;
+    const BYTE* lowLimit = (const BYTE*) src;
+    const BYTE* anchor = ip;
+    const BYTE* const iend = ip + *srcSizePtr;
+    const BYTE* const mflimit = iend - MFLIMIT;
+    const BYTE* const matchlimit = iend - LASTLITERALS;
+
+    BYTE* op = (BYTE*) dst;
+    BYTE* const oend = op + targetDstSize;
+    BYTE* const oMaxLit = op + targetDstSize - 2 /* offset */ - 8 /* because 8+MINMATCH==MFLIMIT */ - 1 /* token */;
+    BYTE* const oMaxMatch = op + targetDstSize - (LASTLITERALS + 1 /* token */);
+    BYTE* const oMaxSeq = oMaxLit - 1 /* token */;
+
+    U32 forwardH;
+
+
+    /* Init conditions */
+    if (targetDstSize < 1) return 0;                                     /* Impossible to store anything */
+    if ((U32)*srcSizePtr > (U32)LZ4_MAX_INPUT_SIZE) return 0;            /* Unsupported input size, too large (or negative) */
+    if ((tableType == byU16) && (*srcSizePtr>=LZ4_64Klimit)) return 0;   /* Size too large (not within 64K limit) */
+    if (*srcSizePtr<LZ4_minLength) goto _last_literals;                  /* Input too small, no compression (all literals) */
+
+    /* First Byte */
+    *srcSizePtr = 0;
+    LZ4_putPosition(ip, ctx, tableType, base);
+    ip++; forwardH = LZ4_hashPosition(ip, tableType);
+
+    /* Main Loop */
+    for ( ; ; )
+    {
+        const BYTE* match;
+        BYTE* token;
+        {
+            const BYTE* forwardIp = ip;
+            unsigned step = 1;
+            unsigned searchMatchNb = 1 << LZ4_skipTrigger;
+
+            /* Find a match */
+            do {
+                U32 h = forwardH;
+                ip = forwardIp;
+                forwardIp += step;
+                step = (searchMatchNb++ >> LZ4_skipTrigger);
+
+                if (unlikely(forwardIp > mflimit))
+                    goto _last_literals;
+
+                match = LZ4_getPositionOnHash(h, ctx, tableType, base);
+                forwardH = LZ4_hashPosition(forwardIp, tableType);
+                LZ4_putPositionOnHash(ip, h, ctx, tableType, base);
+
+            } while ( ((tableType==byU16) ? 0 : (match + MAX_DISTANCE < ip))
+                || (LZ4_read32(match) != LZ4_read32(ip)) );
+        }
+
+        /* Catch up */
+        while ((ip>anchor) && (match > lowLimit) && (unlikely(ip[-1]==match[-1]))) { ip--; match--; }
+
+        {
+            /* Encode Literal length */
+            unsigned litLength = (unsigned)(ip - anchor);
+            token = op++;
+            if (op + ((litLength+240)/255) + litLength > oMaxLit)
+            {
+                /* Not enough space for a last match */
+                op--;
+                goto _last_literals;
+            }
+            if (litLength>=RUN_MASK)
+            {
+                unsigned len = litLength - RUN_MASK;
+                *token=(RUN_MASK<<ML_BITS);
+                for(; len >= 255 ; len-=255) *op++ = 255;
+                *op++ = (BYTE)len;
+            }
+            else *token = (BYTE)(litLength<<ML_BITS);
+
+            /* Copy Literals */
+            LZ4_wildCopy(op, anchor, op+litLength);
+            op += litLength;
+        }
+
+_next_match:
+        /* Encode Offset */
+        LZ4_writeLE16(op, (U16)(ip-match)); op+=2;
+
+        /* Encode MatchLength */
+        {
+            size_t matchLength;
+
+            matchLength = LZ4_count(ip+MINMATCH, match+MINMATCH, matchlimit);
+
+            if (op + ((matchLength+240)/255) > oMaxMatch)
+            {
+                /* Match description too long : reduce it */
+                matchLength = (15-1) + (oMaxMatch-op) * 255;
+            }
+            /* printf("offset %5i, matchLength%5i \n", (int)(ip-match), matchLength + MINMATCH); */
+            ip += MINMATCH + matchLength;
+
+            if (matchLength>=ML_MASK)
+            {
+                *token += ML_MASK;
+                matchLength -= ML_MASK;
+                while (matchLength >= 255) { matchLength-=255; *op++ = 255; }
+                *op++ = (BYTE)matchLength;
+            }
+            else *token += (BYTE)(matchLength);
+        }
+
+        anchor = ip;
+
+        /* Test end of block */
+        if (ip > mflimit) break;
+        if (op > oMaxSeq) break;
+
+        /* Fill table */
+        LZ4_putPosition(ip-2, ctx, tableType, base);
+
+        /* Test next position */
+        match = LZ4_getPosition(ip, ctx, tableType, base);
+        LZ4_putPosition(ip, ctx, tableType, base);
+        if ( (match+MAX_DISTANCE>=ip)
+            && (LZ4_read32(match)==LZ4_read32(ip)) )
+        { token=op++; *token=0; goto _next_match; }
+
+        /* Prepare next loop */
+        forwardH = LZ4_hashPosition(++ip, tableType);
+    }
+
+_last_literals:
+    /* Encode Last Literals */
+    {
+        size_t lastRunSize = (size_t)(iend - anchor);
+        if (op + 1 /* token */ + ((lastRunSize+240)/255) /* litLength */ + lastRunSize /* literals */ > oend)
+        {
+            /* adapt lastRunSize to fill 'dst' */
+            lastRunSize  = (oend-op) - 1;
+            lastRunSize -= (lastRunSize+240)/255;
+        }
+        ip = anchor + lastRunSize;
+
+        if (lastRunSize >= RUN_MASK)
+        {
+            size_t accumulator = lastRunSize - RUN_MASK;
+            *op++ = RUN_MASK << ML_BITS;
+            for(; accumulator >= 255 ; accumulator-=255) *op++ = 255;
+            *op++ = (BYTE) accumulator;
+        }
+        else
+        {
+            *op++ = (BYTE)(lastRunSize<<ML_BITS);
+        }
+        memcpy(op, anchor, lastRunSize);
+        op += lastRunSize;
+    }
+
+    /* End */
+    *srcSizePtr = (int) (((const char*)ip)-src);
+    return (int) (((char*)op)-dst);
+}
+
+
+static int LZ4_compress_destSize_extState (void* state, const char* src, char* dst, int* srcSizePtr, int targetDstSize)
+{
+    LZ4_resetStream((LZ4_stream_t*)state);
+
+    if (targetDstSize >= LZ4_compressBound(*srcSizePtr))   /* compression success is guaranteed */
+    {
+        return LZ4_compress_fast_extState(state, src, dst, *srcSizePtr, targetDstSize, 1);
+    }
+    else
+    {
+        if (*srcSizePtr < LZ4_64Klimit)
+            return LZ4_compress_destSize_generic(state, src, dst, srcSizePtr, targetDstSize, byU16);
+        else
+            return LZ4_compress_destSize_generic(state, src, dst, srcSizePtr, targetDstSize, LZ4_64bits() ? byU32 : byPtr);
+    }
+}
+
+
+int LZ4_compress_destSize(const char* src, char* dst, int* srcSizePtr, int targetDstSize)
+{
+#if (HEAPMODE)
+    void* ctx = ALLOCATOR(1, sizeof(LZ4_stream_t));   /* malloc-calloc always properly aligned */
+#else
+    LZ4_stream_t ctxBody;
+    void* ctx = &ctxBody;
+#endif
+
+    int result = LZ4_compress_destSize_extState(ctx, src, dst, srcSizePtr, targetDstSize);
+
+#if (HEAPMODE)
+    FREEMEM(ctx);
+#endif
+    return result;
+}
+
+
+
+/********************************
+*  Streaming functions
+********************************/
+
+LZ4_stream_t* LZ4_createStream(void)
+{
+    LZ4_stream_t* lz4s = (LZ4_stream_t*)ALLOCATOR(8, LZ4_STREAMSIZE_U64);
+    LZ4_STATIC_ASSERT(LZ4_STREAMSIZE >= sizeof(LZ4_stream_t_internal));    /* A compilation error here means LZ4_STREAMSIZE is not large enough */
+    LZ4_resetStream(lz4s);
+    return lz4s;
+}
+
+void LZ4_resetStream (LZ4_stream_t* LZ4_stream)
+{
+    MEM_INIT(LZ4_stream, 0, sizeof(LZ4_stream_t));
+}
+
+int LZ4_freeStream (LZ4_stream_t* LZ4_stream)
+{
+    FREEMEM(LZ4_stream);
+    return (0);
+}
+
+
+#define HASH_UNIT sizeof(size_t)
+int LZ4_loadDict (LZ4_stream_t* LZ4_dict, const char* dictionary, int dictSize)
+{
+    LZ4_stream_t_internal* dict = (LZ4_stream_t_internal*) LZ4_dict;
+    const BYTE* p = (const BYTE*)dictionary;
+    const BYTE* const dictEnd = p + dictSize;
+    const BYTE* base;
+
+    if ((dict->initCheck) || (dict->currentOffset > 1 GB))  /* Uninitialized structure, or reuse overflow */
+        LZ4_resetStream(LZ4_dict);
+
+    if (dictSize < (int)HASH_UNIT)
+    {
+        dict->dictionary = NULL;
+        dict->dictSize = 0;
+        return 0;
+    }
+
+    if ((dictEnd - p) > 64 KB) p = dictEnd - 64 KB;
+    dict->currentOffset += 64 KB;
+    base = p - dict->currentOffset;
+    dict->dictionary = p;
+    dict->dictSize = (U32)(dictEnd - p);
+    dict->currentOffset += dict->dictSize;
+
+    while (p <= dictEnd-HASH_UNIT)
+    {
+        LZ4_putPosition(p, dict->hashTable, byU32, base);
+        p+=3;
+    }
+
+    return dict->dictSize;
+}
+
+
+static void LZ4_renormDictT(LZ4_stream_t_internal* LZ4_dict, const BYTE* src)
+{
+    if ((LZ4_dict->currentOffset > 0x80000000) ||
+        ((size_t)LZ4_dict->currentOffset > (size_t)src))   /* address space overflow */
+    {
+        /* rescale hash table */
+        U32 delta = LZ4_dict->currentOffset - 64 KB;
+        const BYTE* dictEnd = LZ4_dict->dictionary + LZ4_dict->dictSize;
+        int i;
+        for (i=0; i<HASH_SIZE_U32; i++)
+        {
+            if (LZ4_dict->hashTable[i] < delta) LZ4_dict->hashTable[i]=0;
+            else LZ4_dict->hashTable[i] -= delta;
+        }
+        LZ4_dict->currentOffset = 64 KB;
+        if (LZ4_dict->dictSize > 64 KB) LZ4_dict->dictSize = 64 KB;
+        LZ4_dict->dictionary = dictEnd - LZ4_dict->dictSize;
+    }
+}
+
+
+int LZ4_compress_fast_continue (LZ4_stream_t* LZ4_stream, const char* source, char* dest, int inputSize, int maxOutputSize, int acceleration)
+{
+    LZ4_stream_t_internal* streamPtr = (LZ4_stream_t_internal*)LZ4_stream;
+    const BYTE* const dictEnd = streamPtr->dictionary + streamPtr->dictSize;
+
+    const BYTE* smallest = (const BYTE*) source;
+    if (streamPtr->initCheck) return 0;   /* Uninitialized structure detected */
+    if ((streamPtr->dictSize>0) && (smallest>dictEnd)) smallest = dictEnd;
+    LZ4_renormDictT(streamPtr, smallest);
+    if (acceleration < 1) acceleration = ACCELERATION_DEFAULT;
+
+    /* Check overlapping input/dictionary space */
+    {
+        const BYTE* sourceEnd = (const BYTE*) source + inputSize;
+        if ((sourceEnd > streamPtr->dictionary) && (sourceEnd < dictEnd))
+        {
+            streamPtr->dictSize = (U32)(dictEnd - sourceEnd);
+            if (streamPtr->dictSize > 64 KB) streamPtr->dictSize = 64 KB;
+            if (streamPtr->dictSize < 4) streamPtr->dictSize = 0;
+            streamPtr->dictionary = dictEnd - streamPtr->dictSize;
+        }
+    }
+
+    /* prefix mode : source data follows dictionary */
+    if (dictEnd == (const BYTE*)source)
+    {
+        int result;
+        if ((streamPtr->dictSize < 64 KB) && (streamPtr->dictSize < streamPtr->currentOffset))
+            result = LZ4_compress_generic(LZ4_stream, source, dest, inputSize, maxOutputSize, limitedOutput, byU32, withPrefix64k, dictSmall, acceleration);
+        else
+            result = LZ4_compress_generic(LZ4_stream, source, dest, inputSize, maxOutputSize, limitedOutput, byU32, withPrefix64k, noDictIssue, acceleration);
+        streamPtr->dictSize += (U32)inputSize;
+        streamPtr->currentOffset += (U32)inputSize;
+        return result;
+    }
+
+    /* external dictionary mode */
+    {
+        int result;
+        if ((streamPtr->dictSize < 64 KB) && (streamPtr->dictSize < streamPtr->currentOffset))
+            result = LZ4_compress_generic(LZ4_stream, source, dest, inputSize, maxOutputSize, limitedOutput, byU32, usingExtDict, dictSmall, acceleration);
+        else
+            result = LZ4_compress_generic(LZ4_stream, source, dest, inputSize, maxOutputSize, limitedOutput, byU32, usingExtDict, noDictIssue, acceleration);
+        streamPtr->dictionary = (const BYTE*)source;
+        streamPtr->dictSize = (U32)inputSize;
+        streamPtr->currentOffset += (U32)inputSize;
+        return result;
+    }
+}
+
+
+/* Hidden debug function, to force external dictionary mode */
+int LZ4_compress_forceExtDict (LZ4_stream_t* LZ4_dict, const char* source, char* dest, int inputSize)
+{
+    LZ4_stream_t_internal* streamPtr = (LZ4_stream_t_internal*)LZ4_dict;
+    int result;
+    const BYTE* const dictEnd = streamPtr->dictionary + streamPtr->dictSize;
+
+    const BYTE* smallest = dictEnd;
+    if (smallest > (const BYTE*) source) smallest = (const BYTE*) source;
+    LZ4_renormDictT((LZ4_stream_t_internal*)LZ4_dict, smallest);
+
+    result = LZ4_compress_generic(LZ4_dict, source, dest, inputSize, 0, notLimited, byU32, usingExtDict, noDictIssue, 1);
+
+    streamPtr->dictionary = (const BYTE*)source;
+    streamPtr->dictSize = (U32)inputSize;
+    streamPtr->currentOffset += (U32)inputSize;
+
+    return result;
+}
+
+
+int LZ4_saveDict (LZ4_stream_t* LZ4_dict, char* safeBuffer, int dictSize)
+{
+    LZ4_stream_t_internal* dict = (LZ4_stream_t_internal*) LZ4_dict;
+    const BYTE* previousDictEnd = dict->dictionary + dict->dictSize;
+
+    if ((U32)dictSize > 64 KB) dictSize = 64 KB;   /* useless to define a dictionary > 64 KB */
+    if ((U32)dictSize > dict->dictSize) dictSize = dict->dictSize;
+
+    memmove(safeBuffer, previousDictEnd - dictSize, dictSize);
+
+    dict->dictionary = (const BYTE*)safeBuffer;
+    dict->dictSize = (U32)dictSize;
+
+    return dictSize;
+}
+
+
+
+/*******************************
+*  Decompression functions
+*******************************/
+/*
+ * This generic decompression function cover all use cases.
+ * It shall be instantiated several times, using different sets of directives
+ * Note that it is essential this generic function is really inlined,
+ * in order to remove useless branches during compilation optimization.
+ */
+FORCE_INLINE int LZ4_decompress_generic(
+                 const char* const source,
+                 char* const dest,
+                 int inputSize,
+                 int outputSize,         /* If endOnInput==endOnInputSize, this value is the max size of Output Buffer. */
+
+                 int endOnInput,         /* endOnOutputSize, endOnInputSize */
+                 int partialDecoding,    /* full, partial */
+                 int targetOutputSize,   /* only used if partialDecoding==partial */
+                 int dict,               /* noDict, withPrefix64k, usingExtDict */
+                 const BYTE* const lowPrefix,  /* == dest if dict == noDict */
+                 const BYTE* const dictStart,  /* only if dict==usingExtDict */
+                 const size_t dictSize         /* note : = 0 if noDict */
+                 )
+{
+    /* Local Variables */
+    const BYTE* ip = (const BYTE*) source;
+    const BYTE* const iend = ip + inputSize;
+
+    BYTE* op = (BYTE*) dest;
+    BYTE* const oend = op + outputSize;
+    BYTE* cpy;
+    BYTE* oexit = op + targetOutputSize;
+    const BYTE* const lowLimit = lowPrefix - dictSize;
+
+    const BYTE* const dictEnd = (const BYTE*)dictStart + dictSize;
+    const size_t dec32table[] = {4, 1, 2, 1, 4, 4, 4, 4};
+    const size_t dec64table[] = {0, 0, 0, (size_t)-1, 0, 1, 2, 3};
+
+    const int safeDecode = (endOnInput==endOnInputSize);
+    const int checkOffset = ((safeDecode) && (dictSize < (int)(64 KB)));
+
+
+    /* Special cases */
+    if ((partialDecoding) && (oexit> oend-MFLIMIT)) oexit = oend-MFLIMIT;                         /* targetOutputSize too high => decode everything */
+    if ((endOnInput) && (unlikely(outputSize==0))) return ((inputSize==1) && (*ip==0)) ? 0 : -1;  /* Empty output buffer */
+    if ((!endOnInput) && (unlikely(outputSize==0))) return (*ip==0?1:-1);
+
+
+    /* Main Loop */
+    while (1)
+    {
+        unsigned token;
+        size_t length;
+        const BYTE* match;
+
+        /* get literal length */
+        token = *ip++;
+        if ((length=(token>>ML_BITS)) == RUN_MASK)
+        {
+            unsigned s;
+            do
+            {
+                s = *ip++;
+                length += s;
+            }
+            while (likely((endOnInput)?ip<iend-RUN_MASK:1) && (s==255));
+            if ((safeDecode) && unlikely((size_t)(op+length)<(size_t)(op))) goto _output_error;   /* overflow detection */
+            if ((safeDecode) && unlikely((size_t)(ip+length)<(size_t)(ip))) goto _output_error;   /* overflow detection */
+        }
+
+        /* copy literals */
+        cpy = op+length;
+        if (((endOnInput) && ((cpy>(partialDecoding?oexit:oend-MFLIMIT)) || (ip+length>iend-(2+1+LASTLITERALS))) )
+            || ((!endOnInput) && (cpy>oend-COPYLENGTH)))
+        {
+            if (partialDecoding)
+            {
+                if (cpy > oend) goto _output_error;                           /* Error : write attempt beyond end of output buffer */
+                if ((endOnInput) && (ip+length > iend)) goto _output_error;   /* Error : read attempt beyond end of input buffer */
+            }
+            else
+            {
+                if ((!endOnInput) && (cpy != oend)) goto _output_error;       /* Error : block decoding must stop exactly there */
+                if ((endOnInput) && ((ip+length != iend) || (cpy > oend))) goto _output_error;   /* Error : input must be consumed */
+            }
+            memcpy(op, ip, length);
+            ip += length;
+            op += length;
+            break;     /* Necessarily EOF, due to parsing restrictions */
+        }
+        LZ4_wildCopy(op, ip, cpy);
+        ip += length; op = cpy;
+
+        /* get offset */
+        match = cpy - LZ4_readLE16(ip); ip+=2;
+        if ((checkOffset) && (unlikely(match < lowLimit))) goto _output_error;   /* Error : offset outside destination buffer */
+
+        /* get matchlength */
+        length = token & ML_MASK;
+        if (length == ML_MASK)
+        {
+            unsigned s;
+            do
+            {
+                if ((endOnInput) && (ip > iend-LASTLITERALS)) goto _output_error;
+                s = *ip++;
+                length += s;
+            } while (s==255);
+            if ((safeDecode) && unlikely((size_t)(op+length)<(size_t)op)) goto _output_error;   /* overflow detection */
+        }
+        length += MINMATCH;
+
+        /* check external dictionary */
+        if ((dict==usingExtDict) && (match < lowPrefix))
+        {
+            if (unlikely(op+length > oend-LASTLITERALS)) goto _output_error;   /* doesn't respect parsing restriction */
+
+            if (length <= (size_t)(lowPrefix-match))
+            {
+                /* match can be copied as a single segment from external dictionary */
+                match = dictEnd - (lowPrefix-match);
+                memmove(op, match, length); op += length;
+            }
+            else
+            {
+                /* match encompass external dictionary and current segment */
+                size_t copySize = (size_t)(lowPrefix-match);
+                memcpy(op, dictEnd - copySize, copySize);
+                op += copySize;
+                copySize = length - copySize;
+                if (copySize > (size_t)(op-lowPrefix))   /* overlap within current segment */
+                {
+                    BYTE* const endOfMatch = op + copySize;
+                    const BYTE* copyFrom = lowPrefix;
+                    while (op < endOfMatch) *op++ = *copyFrom++;
+                }
+                else
+                {
+                    memcpy(op, lowPrefix, copySize);
+                    op += copySize;
+                }
+            }
+            continue;
+        }
+
+        /* copy repeated sequence */
+        cpy = op + length;
+        if (unlikely((op-match)<8))
+        {
+            const size_t dec64 = dec64table[op-match];
+            op[0] = match[0];
+            op[1] = match[1];
+            op[2] = match[2];
+            op[3] = match[3];
+            match += dec32table[op-match];
+            LZ4_copy4(op+4, match);
+            op += 8; match -= dec64;
+        } else { LZ4_copy8(op, match); op+=8; match+=8; }
+
+        if (unlikely(cpy>oend-12))
+        {
+            if (cpy > oend-LASTLITERALS) goto _output_error;    /* Error : last LASTLITERALS bytes must be literals */
+            if (op < oend-8)
+            {
+                LZ4_wildCopy(op, match, oend-8);
+                match += (oend-8) - op;
+                op = oend-8;
+            }
+            while (op<cpy) *op++ = *match++;
+        }
+        else
+            LZ4_wildCopy(op, match, cpy);
+        op=cpy;   /* correction */
+    }
+
+    /* end of decoding */
+    if (endOnInput)
+       return (int) (((char*)op)-dest);     /* Nb of output bytes decoded */
+    else
+       return (int) (((const char*)ip)-source);   /* Nb of input bytes read */
+
+    /* Overflow error detected */
+_output_error:
+    return (int) (-(((const char*)ip)-source))-1;
+}
+
+
+int LZ4_decompress_safe(const char* source, char* dest, int compressedSize, int maxDecompressedSize)
+{
+    return LZ4_decompress_generic(source, dest, compressedSize, maxDecompressedSize, endOnInputSize, full, 0, noDict, (BYTE*)dest, NULL, 0);
+}
+
+int LZ4_decompress_safe_partial(const char* source, char* dest, int compressedSize, int targetOutputSize, int maxDecompressedSize)
+{
+    return LZ4_decompress_generic(source, dest, compressedSize, maxDecompressedSize, endOnInputSize, partial, targetOutputSize, noDict, (BYTE*)dest, NULL, 0);
+}
+
+int LZ4_decompress_fast(const char* source, char* dest, int originalSize)
+{
+    return LZ4_decompress_generic(source, dest, 0, originalSize, endOnOutputSize, full, 0, withPrefix64k, (BYTE*)(dest - 64 KB), NULL, 64 KB);
+}
+
+
+/* streaming decompression functions */
+
+typedef struct
+{
+    const BYTE* externalDict;
+    size_t extDictSize;
+    const BYTE* prefixEnd;
+    size_t prefixSize;
+} LZ4_streamDecode_t_internal;
+
+/*
+ * If you prefer dynamic allocation methods,
+ * LZ4_createStreamDecode()
+ * provides a pointer (void*) towards an initialized LZ4_streamDecode_t structure.
+ */
+LZ4_streamDecode_t* LZ4_createStreamDecode(void)
+{
+    LZ4_streamDecode_t* lz4s = (LZ4_streamDecode_t*) ALLOCATOR(1, sizeof(LZ4_streamDecode_t));
+    return lz4s;
+}
+
+int LZ4_freeStreamDecode (LZ4_streamDecode_t* LZ4_stream)
+{
+    FREEMEM(LZ4_stream);
+    return 0;
+}
+
+/*
+ * LZ4_setStreamDecode
+ * Use this function to instruct where to find the dictionary
+ * This function is not necessary if previous data is still available where it was decoded.
+ * Loading a size of 0 is allowed (same effect as no dictionary).
+ * Return : 1 if OK, 0 if error
+ */
+int LZ4_setStreamDecode (LZ4_streamDecode_t* LZ4_streamDecode, const char* dictionary, int dictSize)
+{
+    LZ4_streamDecode_t_internal* lz4sd = (LZ4_streamDecode_t_internal*) LZ4_streamDecode;
+    lz4sd->prefixSize = (size_t) dictSize;
+    lz4sd->prefixEnd = (const BYTE*) dictionary + dictSize;
+    lz4sd->externalDict = NULL;
+    lz4sd->extDictSize  = 0;
+    return 1;
+}
+
+/*
+*_continue() :
+    These decoding functions allow decompression of multiple blocks in "streaming" mode.
+    Previously decoded blocks must still be available at the memory position where they were decoded.
+    If it's not possible, save the relevant part of decoded data into a safe buffer,
+    and indicate where it stands using LZ4_setStreamDecode()
+*/
+int LZ4_decompress_safe_continue (LZ4_streamDecode_t* LZ4_streamDecode, const char* source, char* dest, int compressedSize, int maxOutputSize)
+{
+    LZ4_streamDecode_t_internal* lz4sd = (LZ4_streamDecode_t_internal*) LZ4_streamDecode;
+    int result;
+
+    if (lz4sd->prefixEnd == (BYTE*)dest)
+    {
+        result = LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize,
+                                        endOnInputSize, full, 0,
+                                        usingExtDict, lz4sd->prefixEnd - lz4sd->prefixSize, lz4sd->externalDict, lz4sd->extDictSize);
+        if (result <= 0) return result;
+        lz4sd->prefixSize += result;
+        lz4sd->prefixEnd  += result;
+    }
+    else
+    {
+        lz4sd->extDictSize = lz4sd->prefixSize;
+        lz4sd->externalDict = lz4sd->prefixEnd - lz4sd->extDictSize;
+        result = LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize,
+                                        endOnInputSize, full, 0,
+                                        usingExtDict, (BYTE*)dest, lz4sd->externalDict, lz4sd->extDictSize);
+        if (result <= 0) return result;
+        lz4sd->prefixSize = result;
+        lz4sd->prefixEnd  = (BYTE*)dest + result;
+    }
+
+    return result;
+}
+
+int LZ4_decompress_fast_continue (LZ4_streamDecode_t* LZ4_streamDecode, const char* source, char* dest, int originalSize)
+{
+    LZ4_streamDecode_t_internal* lz4sd = (LZ4_streamDecode_t_internal*) LZ4_streamDecode;
+    int result;
+
+    if (lz4sd->prefixEnd == (BYTE*)dest)
+    {
+        result = LZ4_decompress_generic(source, dest, 0, originalSize,
+                                        endOnOutputSize, full, 0,
+                                        usingExtDict, lz4sd->prefixEnd - lz4sd->prefixSize, lz4sd->externalDict, lz4sd->extDictSize);
+        if (result <= 0) return result;
+        lz4sd->prefixSize += originalSize;
+        lz4sd->prefixEnd  += originalSize;
+    }
+    else
+    {
+        lz4sd->extDictSize = lz4sd->prefixSize;
+        lz4sd->externalDict = (BYTE*)dest - lz4sd->extDictSize;
+        result = LZ4_decompress_generic(source, dest, 0, originalSize,
+                                        endOnOutputSize, full, 0,
+                                        usingExtDict, (BYTE*)dest, lz4sd->externalDict, lz4sd->extDictSize);
+        if (result <= 0) return result;
+        lz4sd->prefixSize = originalSize;
+        lz4sd->prefixEnd  = (BYTE*)dest + originalSize;
+    }
+
+    return result;
+}
+
+
+/*
+Advanced decoding functions :
+*_usingDict() :
+    These decoding functions work the same as "_continue" ones,
+    the dictionary must be explicitly provided within parameters
+*/
+
+FORCE_INLINE int LZ4_decompress_usingDict_generic(const char* source, char* dest, int compressedSize, int maxOutputSize, int safe, const char* dictStart, int dictSize)
+{
+    if (dictSize==0)
+        return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, noDict, (BYTE*)dest, NULL, 0);
+    if (dictStart+dictSize == dest)
+    {
+        if (dictSize >= (int)(64 KB - 1))
+            return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, withPrefix64k, (BYTE*)dest-64 KB, NULL, 0);
+        return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, noDict, (BYTE*)dest-dictSize, NULL, 0);
+    }
+    return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, usingExtDict, (BYTE*)dest, (const BYTE*)dictStart, dictSize);
+}
+
+int LZ4_decompress_safe_usingDict(const char* source, char* dest, int compressedSize, int maxOutputSize, const char* dictStart, int dictSize)
+{
+    return LZ4_decompress_usingDict_generic(source, dest, compressedSize, maxOutputSize, 1, dictStart, dictSize);
+}
+
+int LZ4_decompress_fast_usingDict(const char* source, char* dest, int originalSize, const char* dictStart, int dictSize)
+{
+    return LZ4_decompress_usingDict_generic(source, dest, 0, originalSize, 0, dictStart, dictSize);
+}
+
+/* debug function */
+int LZ4_decompress_safe_forceExtDict(const char* source, char* dest, int compressedSize, int maxOutputSize, const char* dictStart, int dictSize)
+{
+    return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, endOnInputSize, full, 0, usingExtDict, (BYTE*)dest, (const BYTE*)dictStart, dictSize);
+}
+
+
+/***************************************************
+*  Obsolete Functions
+***************************************************/
+/* obsolete compression functions */
+int LZ4_compress_limitedOutput(const char* source, char* dest, int inputSize, int maxOutputSize) { return LZ4_compress_default(source, dest, inputSize, maxOutputSize); }
+int LZ4_compress(const char* source, char* dest, int inputSize) { return LZ4_compress_default(source, dest, inputSize, LZ4_compressBound(inputSize)); }
+int LZ4_compress_limitedOutput_withState (void* state, const char* src, char* dst, int srcSize, int dstSize) { return LZ4_compress_fast_extState(state, src, dst, srcSize, dstSize, 1); }
+int LZ4_compress_withState (void* state, const char* src, char* dst, int srcSize) { return LZ4_compress_fast_extState(state, src, dst, srcSize, LZ4_compressBound(srcSize), 1); }
+int LZ4_compress_limitedOutput_continue (LZ4_stream_t* LZ4_stream, const char* src, char* dst, int srcSize, int maxDstSize) { return LZ4_compress_fast_continue(LZ4_stream, src, dst, srcSize, maxDstSize, 1); }
+int LZ4_compress_continue (LZ4_stream_t* LZ4_stream, const char* source, char* dest, int inputSize) { return LZ4_compress_fast_continue(LZ4_stream, source, dest, inputSize, LZ4_compressBound(inputSize), 1); }
+
+/*
+These function names are deprecated and should no longer be used.
+They are only provided here for compatibility with older user programs.
+- LZ4_uncompress is totally equivalent to LZ4_decompress_fast
+- LZ4_uncompress_unknownOutputSize is totally equivalent to LZ4_decompress_safe
+*/
+int LZ4_uncompress (const char* source, char* dest, int outputSize) { return LZ4_decompress_fast(source, dest, outputSize); }
+int LZ4_uncompress_unknownOutputSize (const char* source, char* dest, int isize, int maxOutputSize) { return LZ4_decompress_safe(source, dest, isize, maxOutputSize); }
+
+
+/* Obsolete Streaming functions */
+
+int LZ4_sizeofStreamState() { return LZ4_STREAMSIZE; }
+
+static void LZ4_init(LZ4_stream_t_internal* lz4ds, BYTE* base)
+{
+    MEM_INIT(lz4ds, 0, LZ4_STREAMSIZE);
+    lz4ds->bufferStart = base;
+}
+
+int LZ4_resetStreamState(void* state, char* inputBuffer)
+{
+    if ((((size_t)state) & 3) != 0) return 1;   /* Error : pointer is not aligned on 4-bytes boundary */
+    LZ4_init((LZ4_stream_t_internal*)state, (BYTE*)inputBuffer);
+    return 0;
+}
+
+void* LZ4_create (char* inputBuffer)
+{
+    void* lz4ds = ALLOCATOR(8, LZ4_STREAMSIZE_U64);
+    LZ4_init ((LZ4_stream_t_internal*)lz4ds, (BYTE*)inputBuffer);
+    return lz4ds;
+}
+
+char* LZ4_slideInputBuffer (void* LZ4_Data)
+{
+    LZ4_stream_t_internal* ctx = (LZ4_stream_t_internal*)LZ4_Data;
+    int dictSize = LZ4_saveDict((LZ4_stream_t*)LZ4_Data, (char*)ctx->bufferStart, 64 KB);
+    return (char*)(ctx->bufferStart + dictSize);
+}
+
+/* Obsolete streaming decompression functions */
+
+int LZ4_decompress_safe_withPrefix64k(const char* source, char* dest, int compressedSize, int maxOutputSize)
+{
+    return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, endOnInputSize, full, 0, withPrefix64k, (BYTE*)dest - 64 KB, NULL, 64 KB);
+}
+
+int LZ4_decompress_fast_withPrefix64k(const char* source, char* dest, int originalSize)
+{
+    return LZ4_decompress_generic(source, dest, 0, originalSize, endOnOutputSize, full, 0, withPrefix64k, (BYTE*)dest - 64 KB, NULL, 64 KB);
+}
+
+#endif   /* LZ4_COMMONDEFS_ONLY */
+
diff --git a/lib/gis/lz4.h b/lib/gis/lz4.h
new file mode 100644
index 0000000..3e74002
--- /dev/null
+++ b/lib/gis/lz4.h
@@ -0,0 +1,360 @@
+/*
+   LZ4 - Fast LZ compression algorithm
+   Header File
+   Copyright (C) 2011-2015, Yann Collet.
+
+   BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are
+   met:
+
+       * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+       * Redistributions in binary form must reproduce the above
+   copyright notice, this list of conditions and the following disclaimer
+   in the documentation and/or other materials provided with the
+   distribution.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+   You can contact the author at :
+   - LZ4 source repository : https://github.com/Cyan4973/lz4
+   - LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c
+*/
+#pragma once
+
+#if defined (__cplusplus)
+extern "C" {
+#endif
+
+/*
+ * lz4.h provides block compression functions, and gives full buffer control to programmer.
+ * If you need to generate inter-operable compressed data (respecting LZ4 frame specification),
+ * and can let the library handle its own memory, please use lz4frame.h instead.
+*/
+
+/**************************************
+*  Version
+**************************************/
+#define LZ4_VERSION_MAJOR    1    /* for breaking interface changes  */
+#define LZ4_VERSION_MINOR    7    /* for new (non-breaking) interface capabilities */
+#define LZ4_VERSION_RELEASE  1    /* for tweaks, bug-fixes, or development */
+#define LZ4_VERSION_NUMBER (LZ4_VERSION_MAJOR *100*100 + LZ4_VERSION_MINOR *100 + LZ4_VERSION_RELEASE)
+int LZ4_versionNumber (void);
+
+/**************************************
+*  Tuning parameter
+**************************************/
+/*
+ * LZ4_MEMORY_USAGE :
+ * Memory usage formula : N->2^N Bytes (examples : 10 -> 1KB; 12 -> 4KB ; 16 -> 64KB; 20 -> 1MB; etc.)
+ * Increasing memory usage improves compression ratio
+ * Reduced memory usage can improve speed, due to cache effect
+ * Default value is 14, for 16KB, which nicely fits into Intel x86 L1 cache
+ */
+#define LZ4_MEMORY_USAGE 14
+
+
+/**************************************
+*  Simple Functions
+**************************************/
+
+int LZ4_compress_default(const char* source, char* dest, int sourceSize, int maxDestSize);
+int LZ4_decompress_safe (const char* source, char* dest, int compressedSize, int maxDecompressedSize);
+
+/*
+LZ4_compress_default() :
+    Compresses 'sourceSize' bytes from buffer 'source'
+    into already allocated 'dest' buffer of size 'maxDestSize'.
+    Compression is guaranteed to succeed if 'maxDestSize' >= LZ4_compressBound(sourceSize).
+    It also runs faster, so it's a recommended setting.
+    If the function cannot compress 'source' into a more limited 'dest' budget,
+    compression stops *immediately*, and the function result is zero.
+    As a consequence, 'dest' content is not valid.
+    This function never writes outside 'dest' buffer, nor read outside 'source' buffer.
+        sourceSize  : Max supported value is LZ4_MAX_INPUT_VALUE
+        maxDestSize : full or partial size of buffer 'dest' (which must be already allocated)
+        return : the number of bytes written into buffer 'dest' (necessarily <= maxOutputSize)
+              or 0 if compression fails
+
+LZ4_decompress_safe() :
+    compressedSize : is the precise full size of the compressed block.
+    maxDecompressedSize : is the size of destination buffer, which must be already allocated.
+    return : the number of bytes decompressed into destination buffer (necessarily <= maxDecompressedSize)
+             If destination buffer is not large enough, decoding will stop and output an error code (<0).
+             If the source stream is detected malformed, the function will stop decoding and return a negative result.
+             This function is protected against buffer overflow exploits, including malicious data packets.
+             It never writes outside output buffer, nor reads outside input buffer.
+*/
+
+
+/**************************************
+*  Advanced Functions
+**************************************/
+#define LZ4_MAX_INPUT_SIZE        0x7E000000   /* 2 113 929 216 bytes */
+#define LZ4_COMPRESSBOUND(isize)  ((unsigned)(isize) > (unsigned)LZ4_MAX_INPUT_SIZE ? 0 : (isize) + ((isize)/255) + 16)
+
+/*
+LZ4_compressBound() :
+    Provides the maximum size that LZ4 compression may output in a "worst case" scenario (input data not compressible)
+    This function is primarily useful for memory allocation purposes (destination buffer size).
+    Macro LZ4_COMPRESSBOUND() is also provided for compilation-time evaluation (stack memory allocation for example).
+    Note that LZ4_compress_default() compress faster when dest buffer size is >= LZ4_compressBound(srcSize)
+        inputSize  : max supported value is LZ4_MAX_INPUT_SIZE
+        return : maximum output size in a "worst case" scenario
+              or 0, if input size is too large ( > LZ4_MAX_INPUT_SIZE)
+*/
+int LZ4_compressBound(int inputSize);
+
+/*
+LZ4_compress_fast() :
+    Same as LZ4_compress_default(), but allows to select an "acceleration" factor.
+    The larger the acceleration value, the faster the algorithm, but also the lesser the compression.
+    It's a trade-off. It can be fine tuned, with each successive value providing roughly +~3% to speed.
+    An acceleration value of "1" is the same as regular LZ4_compress_default()
+    Values <= 0 will be replaced by ACCELERATION_DEFAULT (see lz4.c), which is 1.
+*/
+int LZ4_compress_fast (const char* source, char* dest, int sourceSize, int maxDestSize, int acceleration);
+
+
+/*
+LZ4_compress_fast_extState() :
+    Same compression function, just using an externally allocated memory space to store compression state.
+    Use LZ4_sizeofState() to know how much memory must be allocated,
+    and allocate it on 8-bytes boundaries (using malloc() typically).
+    Then, provide it as 'void* state' to compression function.
+*/
+int LZ4_sizeofState(void);
+int LZ4_compress_fast_extState (void* state, const char* source, char* dest, int inputSize, int maxDestSize, int acceleration);
+
+
+/*
+LZ4_compress_destSize() :
+    Reverse the logic, by compressing as much data as possible from 'source' buffer
+    into already allocated buffer 'dest' of size 'targetDestSize'.
+    This function either compresses the entire 'source' content into 'dest' if it's large enough,
+    or fill 'dest' buffer completely with as much data as possible from 'source'.
+        *sourceSizePtr : will be modified to indicate how many bytes where read from 'source' to fill 'dest'.
+                         New value is necessarily <= old value.
+        return : Nb bytes written into 'dest' (necessarily <= targetDestSize)
+              or 0 if compression fails
+*/
+int LZ4_compress_destSize (const char* source, char* dest, int* sourceSizePtr, int targetDestSize);
+
+
+/*
+LZ4_decompress_fast() :
+    originalSize : is the original and therefore uncompressed size
+    return : the number of bytes read from the source buffer (in other words, the compressed size)
+             If the source stream is detected malformed, the function will stop decoding and return a negative result.
+             Destination buffer must be already allocated. Its size must be a minimum of 'originalSize' bytes.
+    note : This function fully respect memory boundaries for properly formed compressed data.
+           It is a bit faster than LZ4_decompress_safe().
+           However, it does not provide any protection against intentionally modified data stream (malicious input).
+           Use this function in trusted environment only (data to decode comes from a trusted source).
+*/
+int LZ4_decompress_fast (const char* source, char* dest, int originalSize);
+
+/*
+LZ4_decompress_safe_partial() :
+    This function decompress a compressed block of size 'compressedSize' at position 'source'
+    into destination buffer 'dest' of size 'maxDecompressedSize'.
+    The function tries to stop decompressing operation as soon as 'targetOutputSize' has been reached,
+    reducing decompression time.
+    return : the number of bytes decoded in the destination buffer (necessarily <= maxDecompressedSize)
+       Note : this number can be < 'targetOutputSize' should the compressed block to decode be smaller.
+             Always control how many bytes were decoded.
+             If the source stream is detected malformed, the function will stop decoding and return a negative result.
+             This function never writes outside of output buffer, and never reads outside of input buffer. It is therefore protected against malicious data packets
+*/
+int LZ4_decompress_safe_partial (const char* source, char* dest, int compressedSize, int targetOutputSize, int maxDecompressedSize);
+
+
+/***********************************************
+*  Streaming Compression Functions
+***********************************************/
+#define LZ4_STREAMSIZE_U64 ((1 << (LZ4_MEMORY_USAGE-3)) + 4)
+#define LZ4_STREAMSIZE     (LZ4_STREAMSIZE_U64 * sizeof(long long))
+/*
+ * LZ4_stream_t
+ * information structure to track an LZ4 stream.
+ * important : init this structure content before first use !
+ * note : only allocated directly the structure if you are statically linking LZ4
+ *        If you are using liblz4 as a DLL, please use below construction methods instead.
+ */
+typedef struct { long long table[LZ4_STREAMSIZE_U64]; } LZ4_stream_t;
+
+/*
+ * LZ4_resetStream
+ * Use this function to init an allocated LZ4_stream_t structure
+ */
+void LZ4_resetStream (LZ4_stream_t* streamPtr);
+
+/*
+ * LZ4_createStream will allocate and initialize an LZ4_stream_t structure
+ * LZ4_freeStream releases its memory.
+ * In the context of a DLL (liblz4), please use these methods rather than the static struct.
+ * They are more future proof, in case of a change of LZ4_stream_t size.
+ */
+LZ4_stream_t* LZ4_createStream(void);
+int           LZ4_freeStream (LZ4_stream_t* streamPtr);
+
+/*
+ * LZ4_loadDict
+ * Use this function to load a static dictionary into LZ4_stream.
+ * Any previous data will be forgotten, only 'dictionary' will remain in memory.
+ * Loading a size of 0 is allowed.
+ * Return : dictionary size, in bytes (necessarily <= 64 KB)
+ */
+int LZ4_loadDict (LZ4_stream_t* streamPtr, const char* dictionary, int dictSize);
+
+/*
+ * LZ4_compress_fast_continue
+ * Compress buffer content 'src', using data from previously compressed blocks as dictionary to improve compression ratio.
+ * Important : Previous data blocks are assumed to still be present and unmodified !
+ * 'dst' buffer must be already allocated.
+ * If maxDstSize >= LZ4_compressBound(srcSize), compression is guaranteed to succeed, and runs faster.
+ * If not, and if compressed data cannot fit into 'dst' buffer size, compression stops, and function returns a zero.
+ */
+int LZ4_compress_fast_continue (LZ4_stream_t* streamPtr, const char* src, char* dst, int srcSize, int maxDstSize, int acceleration);
+
+/*
+ * LZ4_saveDict
+ * If previously compressed data block is not guaranteed to remain available at its memory location
+ * save it into a safer place (char* safeBuffer)
+ * Note : you don't need to call LZ4_loadDict() afterwards,
+ *        dictionary is immediately usable, you can therefore call LZ4_compress_fast_continue()
+ * Return : saved dictionary size in bytes (necessarily <= dictSize), or 0 if error
+ */
+int LZ4_saveDict (LZ4_stream_t* streamPtr, char* safeBuffer, int dictSize);
+
+
+/************************************************
+*  Streaming Decompression Functions
+************************************************/
+
+#define LZ4_STREAMDECODESIZE_U64  4
+#define LZ4_STREAMDECODESIZE     (LZ4_STREAMDECODESIZE_U64 * sizeof(unsigned long long))
+typedef struct { unsigned long long table[LZ4_STREAMDECODESIZE_U64]; } LZ4_streamDecode_t;
+/*
+ * LZ4_streamDecode_t
+ * information structure to track an LZ4 stream.
+ * init this structure content using LZ4_setStreamDecode or memset() before first use !
+ *
+ * In the context of a DLL (liblz4) please prefer usage of construction methods below.
+ * They are more future proof, in case of a change of LZ4_streamDecode_t size in the future.
+ * LZ4_createStreamDecode will allocate and initialize an LZ4_streamDecode_t structure
+ * LZ4_freeStreamDecode releases its memory.
+ */
+LZ4_streamDecode_t* LZ4_createStreamDecode(void);
+int                 LZ4_freeStreamDecode (LZ4_streamDecode_t* LZ4_stream);
+
+/*
+ * LZ4_setStreamDecode
+ * Use this function to instruct where to find the dictionary.
+ * Setting a size of 0 is allowed (same effect as reset).
+ * Return : 1 if OK, 0 if error
+ */
+int LZ4_setStreamDecode (LZ4_streamDecode_t* LZ4_streamDecode, const char* dictionary, int dictSize);
+
+/*
+*_continue() :
+    These decoding functions allow decompression of multiple blocks in "streaming" mode.
+    Previously decoded blocks *must* remain available at the memory position where they were decoded (up to 64 KB)
+    In the case of a ring buffers, decoding buffer must be either :
+    - Exactly same size as encoding buffer, with same update rule (block boundaries at same positions)
+      In which case, the decoding & encoding ring buffer can have any size, including very small ones ( < 64 KB).
+    - Larger than encoding buffer, by a minimum of maxBlockSize more bytes.
+      maxBlockSize is implementation dependent. It's the maximum size you intend to compress into a single block.
+      In which case, encoding and decoding buffers do not need to be synchronized,
+      and encoding ring buffer can have any size, including small ones ( < 64 KB).
+    - _At least_ 64 KB + 8 bytes + maxBlockSize.
+      In which case, encoding and decoding buffers do not need to be synchronized,
+      and encoding ring buffer can have any size, including larger than decoding buffer.
+    Whenever these conditions are not possible, save the last 64KB of decoded data into a safe buffer,
+    and indicate where it is saved using LZ4_setStreamDecode()
+*/
+int LZ4_decompress_safe_continue (LZ4_streamDecode_t* LZ4_streamDecode, const char* source, char* dest, int compressedSize, int maxDecompressedSize);
+int LZ4_decompress_fast_continue (LZ4_streamDecode_t* LZ4_streamDecode, const char* source, char* dest, int originalSize);
+
+
+/*
+Advanced decoding functions :
+*_usingDict() :
+    These decoding functions work the same as
+    a combination of LZ4_setStreamDecode() followed by LZ4_decompress_x_continue()
+    They are stand-alone. They don't need nor update an LZ4_streamDecode_t structure.
+*/
+int LZ4_decompress_safe_usingDict (const char* source, char* dest, int compressedSize, int maxDecompressedSize, const char* dictStart, int dictSize);
+int LZ4_decompress_fast_usingDict (const char* source, char* dest, int originalSize, const char* dictStart, int dictSize);
+
+
+
+/**************************************
+*  Obsolete Functions
+**************************************/
+/* Deprecate Warnings */
+/* Should these warnings messages be a problem,
+   it is generally possible to disable them,
+   with -Wno-deprecated-declarations for gcc
+   or _CRT_SECURE_NO_WARNINGS in Visual for example.
+   You can also define LZ4_DEPRECATE_WARNING_DEFBLOCK. */
+#ifndef LZ4_DEPRECATE_WARNING_DEFBLOCK
+#  define LZ4_DEPRECATE_WARNING_DEFBLOCK
+#  define LZ4_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
+#  if (LZ4_GCC_VERSION >= 405) || defined(__clang__)
+#    define LZ4_DEPRECATED(message) __attribute__((deprecated(message)))
+#  elif (LZ4_GCC_VERSION >= 301)
+#    define LZ4_DEPRECATED(message) __attribute__((deprecated))
+#  elif defined(_MSC_VER)
+#    define LZ4_DEPRECATED(message) __declspec(deprecated(message))
+#  else
+#    pragma message("WARNING: You need to implement LZ4_DEPRECATED for this compiler")
+#    define LZ4_DEPRECATED(message)
+#  endif
+#endif /* LZ4_DEPRECATE_WARNING_DEFBLOCK */
+
+/* Obsolete compression functions */
+/* These functions are planned to start generate warnings by r131 approximately */
+int LZ4_compress               (const char* source, char* dest, int sourceSize);
+int LZ4_compress_limitedOutput (const char* source, char* dest, int sourceSize, int maxOutputSize);
+int LZ4_compress_withState               (void* state, const char* source, char* dest, int inputSize);
+int LZ4_compress_limitedOutput_withState (void* state, const char* source, char* dest, int inputSize, int maxOutputSize);
+int LZ4_compress_continue                (LZ4_stream_t* LZ4_streamPtr, const char* source, char* dest, int inputSize);
+int LZ4_compress_limitedOutput_continue  (LZ4_stream_t* LZ4_streamPtr, const char* source, char* dest, int inputSize, int maxOutputSize);
+
+/* Obsolete decompression functions */
+/* These function names are completely deprecated and must no longer be used.
+   They are only provided here for compatibility with older programs.
+    - LZ4_uncompress is the same as LZ4_decompress_fast
+    - LZ4_uncompress_unknownOutputSize is the same as LZ4_decompress_safe
+   These function prototypes are now disabled; uncomment them only if you really need them.
+   It is highly recommended to stop using these prototypes and migrate to maintained ones */
+/* int LZ4_uncompress (const char* source, char* dest, int outputSize); */
+/* int LZ4_uncompress_unknownOutputSize (const char* source, char* dest, int isize, int maxOutputSize); */
+
+/* Obsolete streaming functions; use new streaming interface whenever possible */
+LZ4_DEPRECATED("use LZ4_createStream() instead") void* LZ4_create (char* inputBuffer);
+LZ4_DEPRECATED("use LZ4_createStream() instead") int   LZ4_sizeofStreamState(void);
+LZ4_DEPRECATED("use LZ4_resetStream() instead")  int   LZ4_resetStreamState(void* state, char* inputBuffer);
+LZ4_DEPRECATED("use LZ4_saveDict() instead")     char* LZ4_slideInputBuffer (void* state);
+
+/* Obsolete streaming decoding functions */
+LZ4_DEPRECATED("use LZ4_decompress_safe_usingDict() instead") int LZ4_decompress_safe_withPrefix64k (const char* src, char* dst, int compressedSize, int maxDstSize);
+LZ4_DEPRECATED("use LZ4_decompress_fast_usingDict() instead") int LZ4_decompress_fast_withPrefix64k (const char* src, char* dst, int originalSize);
+
+
+#if defined (__cplusplus)
+}
+#endif
diff --git a/lib/gis/mapset_msc.c b/lib/gis/mapset_msc.c
index 8ec879e..e5b4903 100644
--- a/lib/gis/mapset_msc.c
+++ b/lib/gis/mapset_msc.c
@@ -19,30 +19,59 @@
 #include <grass/gis.h>
 #include <grass/glocale.h>
 
+static int make_mapset_element(const char *, const char *);
+
 /*!
    \brief Create element in the current mapset.
 
-   Make the specified element in the current mapset
-   will check for the existence of the element and
-   do nothing if it is found so this routine
-   can be called even if the element already exists.
-
-   \param element element to be created in mapset
+   Make the specified element in the current mapset will check for the
+   existence of the element and do nothing if it is found so this
+   routine can be called even if the element already exists.
+   
+   Calls G_fatal_error() on failure.
+   
+   \param p_element element to be created in mapset
 
-   \return 0 ?
-   \return ?
+   \return 0 no element defined
+   \return 1 on success
  */
 int G_make_mapset_element(const char *p_element)
 {
     char path[GPATH_MAX];
-    char *p;
+    
+    G_file_name(path, NULL, NULL, G_mapset());
+    return make_mapset_element(path, p_element);
+}
+
+/*!
+   \brief Create element in the temporary directory.
+
+   See G_file_name_tmp() for details.
+
+   \param p_element element to be created in mapset
+
+   \return 0 no element defined
+   \return 1 on success
+ */
+int G_make_mapset_element_tmp(const char *p_element)
+{
+    char path[GPATH_MAX];
+    
+    G_file_name_tmp(path, NULL, NULL, G_mapset());
+    return make_mapset_element(path, p_element);
+}
+
+int make_mapset_element(const char *p_path, const char *p_element)
+{
+    char path[GPATH_MAX], *p;
     const char *element;
 
     element = p_element;
     if (*element == 0)
 	return 0;
 
-    G_file_name(p = path, NULL, NULL, G_mapset());
+    strncpy(path, p_path, GPATH_MAX);
+    p = path;
     while (*p)
 	p++;
     /* add trailing slash if missing */
@@ -75,10 +104,10 @@ int G_make_mapset_element(const char *p_element)
    \brief Create misc element in the current mapset.
 
    \param dir directory path
-   \param name element name
+   \param name element to be created in mapset
 
-   \return 0 ?
-   \return ?
+   \return 0 no element defined
+   \return 1 on success
  */
 int G__make_mapset_element_misc(const char *dir, const char *name)
 {
diff --git a/lib/gis/mapset_nme.c b/lib/gis/mapset_nme.c
index 52ebe25..7685fd0 100644
--- a/lib/gis/mapset_nme.c
+++ b/lib/gis/mapset_nme.c
@@ -17,7 +17,7 @@
 #include <unistd.h>
 #include <grass/gis.h>
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 static struct state {
     struct list {
@@ -149,7 +149,7 @@ char **G_get_available_mapsets(void)
     DIR *dir;
     struct dirent *ent;
 
-    G_debug(3, "G_available_mapsets");
+    G_debug(3, "G_get_available_mapsets");
 
     mapsets = G_calloc(alloc, sizeof(char *));
 
diff --git a/lib/gis/open.c b/lib/gis/open.c
index 84d10b6..5445897 100644
--- a/lib/gis/open.c
+++ b/lib/gis/open.c
@@ -3,7 +3,7 @@
  * 
  * \brief GIS Library - Open file functions
  *
- * (C) 1999-2009 by the GRASS Development Team
+ * (C) 1999-2015 by the GRASS Development Team
  *
  * This program is free software under the GNU General Public
  * License (>=v2). Read the file COPYING that comes with GRASS
@@ -22,7 +22,7 @@
 #include <grass/gis.h>
 #include <grass/glocale.h>
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 /*!
   \brief Lowest level open routine.
@@ -53,12 +53,14 @@ static int G__open(const char *element,
 		   const char *name, const char *mapset, int mode)
 {
     int fd;
+    int is_tmp;
     char path[GPATH_MAX];
     char xname[GNAME_MAX], xmapset[GMAPSET_MAX];
-
-
+    
     G__check_gisinit();
 
+    is_tmp = (element && strncmp(element, ".tmp", 3) == 0);
+
     /* READ */
     if (mode == 0) {
 	if (G_name_is_fully_qualified(name, xname, xmapset)) {
@@ -71,13 +73,18 @@ static int G__open(const char *element,
 	    mapset = xmapset;
 	}
 
-	mapset = G_find_file2(element, name, mapset);
-
-	if (!mapset)
-	    return -1;
-
-	G_file_name(path, element, name, mapset);
-
+        if (!is_tmp) {
+            mapset = G_find_file2(element, name, mapset);
+            
+            if (!mapset)
+                return -1;
+
+            G_file_name(path, element, name, mapset);
+        }
+        else {
+            G_file_name_tmp(path, element, name, mapset);
+        }
+        
 	if ((fd = open(path, 0)) < 0)
 	    G_warning(_("G__open(read): Unable to open '%s': %s"),
 	              path, strerror(errno));
@@ -98,10 +105,16 @@ static int G__open(const char *element,
 	if (*name && G_legal_filename(name) == -1)
 	    return -1;
 
-	G_file_name(path, element, name, mapset);
-
+        if (!is_tmp)
+            G_file_name(path, element, name, mapset);
+        else
+            G_file_name_tmp(path, element, name, mapset);
+        
 	if (mode == 1 || access(path, 0) != 0) {
-	    G_make_mapset_element(element);
+            if (is_tmp)
+                G_make_mapset_element_tmp(element);
+            else
+                G_make_mapset_element(element);
 	    close(open(path, O_WRONLY | O_CREAT | O_TRUNC, 0666));
 	}
 
diff --git a/lib/gis/open_misc.c b/lib/gis/open_misc.c
index 5da534d..76be18d 100644
--- a/lib/gis/open_misc.c
+++ b/lib/gis/open_misc.c
@@ -29,7 +29,7 @@
 #include <grass/gis.h>
 #include <grass/glocale.h>
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 static int G__open_misc(const char *dir,
 			const char *element,
diff --git a/lib/gis/parser.c b/lib/gis/parser.c
index 27537cc..795b5f0 100644
--- a/lib/gis/parser.c
+++ b/lib/gis/parser.c
@@ -64,7 +64,9 @@
  *    that the "map" option is required and also that the number 12 is
  *    out of range.  The acceptable range (or list) will be printed.
  *
- * (C) 2001-2014 by the GRASS Development Team
+ * Overview table: <a href="parser_standard_options.html">Parser standard options</a>
+ * 
+ * (C) 2001-2015 by the GRASS Development Team
  *
  * This program is free software under the GNU General Public License
  * (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -319,6 +321,7 @@ int G_parser(int argc, char **argv)
 {
     int need_first_opt;
     int opt_checked = 0;
+    const char *gui_envvar;
     char *ptr, *tmp_name, *err;
     int i;
     struct Option *opt;
@@ -431,9 +434,10 @@ int G_parser(int argc, char **argv)
     }
 
     /* If there are NO arguments, go interactive */
-
+    gui_envvar = G_getenv_nofatal("GUI");
     if (argc < 2 && (st->has_required || G__has_required_rule())
-        && !st->no_interactive && isatty(0)) {
+        && !st->no_interactive && isatty(0) &&
+        (gui_envvar && G_strcasecmp(gui_envvar, "text") != 0)) {
 	if (module_gui_wx() == 0)
             return -1;
     }
@@ -537,6 +541,21 @@ int G_parser(int argc, char **argv)
 		st->quiet = 1;	/* for passing to gui init */
 	    }
 
+            /* Super quiet option */
+            else if (strcmp(ptr, "--qq") == 0 ) {
+                char buff[32];
+
+                /* print nothing, but errors  */
+                st->module_info.verbose = G_verbose_min();
+                sprintf(buff, "GRASS_VERBOSE=%d", G_verbose_min());
+                putenv(G_store(buff));
+                G_suppress_warnings(TRUE);
+                if (st->quiet == -1) {
+                    G_warning(_("Use either --qq or --verbose flag, not both. Assuming --qq."));
+                }
+                st->quiet = 1;  /* for passing to gui init */
+            }
+
 	    /* Force gui to come up */
 	    else if (strcmp(ptr, "--ui") == 0) {
 		force_gui = TRUE;
@@ -617,9 +636,11 @@ int G_parser(int argc, char **argv)
  * Creates a command-line that runs the current command completely
  * non-interactive.
  *
+ * \param original_path TRUE if original path should be used, FALSE for
+ *  stripped and clean name of the module
  * \return pointer to a char string
  */
-char *G_recreate_command(void)
+char *recreate_command(int original_path)
 {
     char *buff;
     char flg[4];
@@ -636,7 +657,10 @@ char *G_recreate_command(void)
 
     buff = G_calloc(1024, sizeof(char));
     nalloced += 1024;
-    tmp = G_program_name();
+    if (original_path)
+        tmp = G_original_program_name();
+    else
+        tmp = G_program_name();
     len = strlen(tmp);
     if (len >= nalloced) {
 	nalloced += (1024 > len) ? 1024 : len + 1;
@@ -699,7 +723,25 @@ char *G_recreate_command(void)
 
     opt = &st->first_option;
     while (st->n_opts && opt) {
-	if (opt->answer && opt->answers && opt->answers[0]) {
+	if (opt->answer && opt->answer[0] == '\0') {	/* answer = "" */
+	    slen = strlen(opt->key) + 4;	/* +4 for: ' ' = " " */
+	    if (len + slen >= nalloced) {
+		nalloced += (nalloced + 1024 > len + slen) ? 1024 : slen + 1;
+		buff = G_realloc(buff, nalloced);
+		cur = buff + len;
+	    }
+	    strcpy(cur, " ");
+	    cur++;
+	    strcpy(cur, opt->key);
+	    cur = strchr(cur, '\0');
+	    strcpy(cur, "=");
+	    cur++;
+	    if (opt->type == TYPE_STRING) {
+		strcpy(cur, "\"\"");
+		cur += 2;
+	    }
+	    len = cur - buff;
+	} else if (opt->answer && opt->answers && opt->answers[0]) {
 	    slen = strlen(opt->key) + strlen(opt->answers[0]) + 4;	/* +4 for: ' ' = " " */
 	    if (len + slen >= nalloced) {
 		nalloced += (nalloced + 1024 > len + slen) ? 1024 : slen + 1;
@@ -748,6 +790,37 @@ char *G_recreate_command(void)
 }
 
 /*!
+ * \brief Creates command to run non-interactive.
+ *
+ * Creates a command-line that runs the current command completely
+ * non-interactive.
+ *
+ * \return pointer to a char string
+ */
+char *G_recreate_command(void)
+{
+    return recreate_command(FALSE);
+}
+
+/* TODO: update to docs of these 3 functions to whatever general purpose
+ * they have now. */
+/*!
+ * \brief Creates command to run non-interactive.
+ *
+ * Creates a command-line that runs the current command completely
+ * non-interactive.
+ *
+ * This gives the same as G_recreate_command() but the original path
+ * from the command line is used instead of the module name only.
+ *
+ * \return pointer to a char string
+ */
+char *G_recreate_command_original_path(void)
+{
+    return recreate_command(TRUE);
+}
+
+/*!
   \brief Add keyword to the list
 
   \param keyword keyword string
@@ -861,6 +934,7 @@ int module_gui_wx(void)
 {
     char script[GPATH_MAX];
 
+    /* TODO: the 4 following lines seems useless */
     if (!st->pgm_path)
 	st->pgm_path = G_program_name();
     if (!st->pgm_path)
@@ -870,7 +944,7 @@ int module_gui_wx(void)
             getenv("GISBASE"));
     if (access(script, F_OK) != -1)
         G_spawn(getenv("GRASS_PYTHON"), getenv("GRASS_PYTHON"),
-                script, G_recreate_command(), NULL);
+                script, G_recreate_command_original_path(), NULL);
     else
         return -1;
 
@@ -1132,6 +1206,7 @@ void check_an_opt(const char *key, int type, const char *options,
 
     error = 0;
     err = NULL;
+    found = 0;
 
     switch (type) {
     case TYPE_INTEGER:
@@ -1645,7 +1720,7 @@ char* G_option_to_separator(const struct Option *option)
     else
         sep = G_store(option->answer);
     
-    G_debug(2, "G_option_to_separator(): key = %s -> sep = '%s'",
+    G_debug(3, "G_option_to_separator(): key = %s -> sep = '%s'",
 	    option->key, sep);
     
     return sep;
diff --git a/lib/gis/parser_help.c b/lib/gis/parser_help.c
index 40b0dc8..e90408f 100644
--- a/lib/gis/parser_help.c
+++ b/lib/gis/parser_help.c
@@ -202,6 +202,7 @@ static void usage(FILE *fp, int markers)
     fprintf(fp, " --h   %s\n", _("Print usage summary"));
     fprintf(fp, " --v   %s\n", _("Verbose module output"));
     fprintf(fp, " --q   %s\n", _("Quiet module output"));
+    fprintf(fp, " --qq  %s\n", _("Super quiet module output"));
     fprintf(fp, " --ui  %s\n", _("Force launching GUI dialog"));
     
     /* Print help info for options */
diff --git a/lib/gis/parser_standard_options.c b/lib/gis/parser_standard_options.c
index ce5266c..b726df7 100644
--- a/lib/gis/parser_standard_options.c
+++ b/lib/gis/parser_standard_options.c
@@ -3,7 +3,7 @@
   
   \brief GIS Library - Argument parsing functions (standard options)
   
-  (C) 2001-2014 by the GRASS Development Team
+  (C) 2001-2016 by the GRASS Development Team
   
   This program is free software under the GNU General Public License
   (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -362,7 +362,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->type = TYPE_STRING;
 	Opt->key_desc = "name";
 	Opt->required = YES;
-	Opt->gisprompt = "old,grid3,3d-raster";
+	Opt->gisprompt = "old,grid3,raster_3d";
 	Opt->description = _("Name of input 3D raster map");
 	break;
     case G_OPT_R3_INPUTS:
@@ -371,7 +371,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->key_desc = "name";
 	Opt->required = YES;
 	Opt->multiple = YES;
-	Opt->gisprompt = "old,grid3,3d-raster";
+	Opt->gisprompt = "old,grid3,raster_3d";
 	Opt->description = _("Name of input 3D raster map(s)");
 	break;
     case G_OPT_R3_OUTPUT:
@@ -379,7 +379,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->type = TYPE_STRING;
 	Opt->key_desc = "name";
 	Opt->required = YES;
-	Opt->gisprompt = "new,grid3,3d-raster";
+	Opt->gisprompt = "new,grid3,raster_3d";
 	Opt->description = _("Name for output 3D raster map");
 	break;
     case G_OPT_R3_MAP:
@@ -387,7 +387,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->type = TYPE_STRING;
 	Opt->key_desc = "name";
 	Opt->required = YES;
-	Opt->gisprompt = "old,grid3,3d-raster";
+	Opt->gisprompt = "old,grid3,raster_3d";
 	Opt->description = _("Name of 3D raster map");
 	break;
     case G_OPT_R3_MAPS:
@@ -396,7 +396,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->key_desc = "name";
 	Opt->required = YES;
 	Opt->multiple = YES;
-	Opt->gisprompt = "old,grid3,3d-raster";
+	Opt->gisprompt = "old,grid3,raster_3d";
 	Opt->description = _("Name of 3D raster map(s)");
 	break;
     case G_OPT_R3_TYPE:
@@ -531,6 +531,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->type = TYPE_INTEGER;
 	Opt->required = NO;
 	Opt->description = _("Category value");
+        Opt->gisprompt = "old,cat,cats";
 	break;
     case G_OPT_V_CATS:
 	Opt->key = "cats";
@@ -539,6 +540,7 @@ struct Option *G_define_standard_option(int opt)
 	Opt->required = NO;
 	Opt->label = _("Category values");
 	Opt->description = _("Example: 1,3,7-9,13");
+        Opt->gisprompt = "old,cats,cats";
 	break;
     case G_OPT_V_ID:
 	Opt->key = "id";
@@ -657,26 +659,26 @@ struct Option *G_define_standard_option(int opt)
 	break;
 	
     case G_OPT_M_LOCATION:
-    Opt->key = "location";
-    Opt->type = TYPE_STRING;
-    Opt->required = NO;
-    Opt->multiple = NO;
-    Opt->label = _("Location name");
-    Opt->description = _("Location name (not location path)");
-    Opt->gisprompt = "old,location,location";
-    Opt->key_desc = "name";
-    break;
+	Opt->key = "location";
+	Opt->type = TYPE_STRING;
+	Opt->required = NO;
+	Opt->multiple = NO;
+	Opt->label = _("Location name");
+	Opt->description = _("Location name (not location path)");
+	Opt->gisprompt = "old,location,location";
+	Opt->key_desc = "name";
+	break;
 
     case G_OPT_M_DBASE:
-    Opt->key = "dbase";
-    Opt->type = TYPE_STRING;
-    Opt->required = NO;
-    Opt->multiple = NO;
-    Opt->label = _("GRASS GIS database directory");
-    Opt->description = _("Default: path to the current GRASS GIS database");
-    Opt->gisprompt = "old,dbase,dbase";
-    Opt->key_desc = "path";
-    break;
+	Opt->key = "dbase";
+	Opt->type = TYPE_STRING;
+	Opt->required = NO;
+	Opt->multiple = NO;
+	Opt->label = _("GRASS GIS database directory");
+	Opt->description = _("Default: path to the current GRASS GIS database");
+	Opt->gisprompt = "old,dbase,dbase";
+	Opt->key_desc = "path";
+	break;
 
     case G_OPT_M_COORDS:
 	Opt->key = "coordinates";
@@ -916,7 +918,8 @@ struct Flag *G_define_standard_flag(int flag)
 	break;
     case G_FLG_V_TOPO:
 	Flg->key = 'b';
-	Flg->description = _("Do not build topology");
+        Flg->label = _("Do not build topology");
+        Flg->description = _("Advantageous when handling a large number of points");
 	break;
     }
     
diff --git a/lib/gis/parser_wps.c b/lib/gis/parser_wps.c
index 13a7b83..10e1e85 100644
--- a/lib/gis/parser_wps.c
+++ b/lib/gis/parser_wps.c
@@ -578,7 +578,7 @@ static void wps_print_process_description_begin(int store, int status, const cha
     if(abstract)
     {
         fprintf(stdout,"\t\t<ows:Abstract>");
-        fprintf(stdout, "http://grass.osgeo.org/grass70/manuals/%s.html", identifier);
+        fprintf(stdout, "http://grass.osgeo.org/grass71/manuals/%s.html", identifier);
         fprintf(stdout, "</ows:Abstract>\n");
     }
 
diff --git a/lib/gis/progrm_nme.c b/lib/gis/progrm_nme.c
index e66d429..cfb0946 100644
--- a/lib/gis/progrm_nme.c
+++ b/lib/gis/progrm_nme.c
@@ -15,6 +15,7 @@
 #include <grass/gis.h>
 
 static const char *name = "?";
+static const char *original_name = "?";
 
 /*!
  * \brief Return module name
@@ -30,6 +31,24 @@ const char *G_program_name(void)
 }
 
 /*!
+ * \brief Return original path of the executed program
+ *
+ * This function returns the name of the program as set by the call to
+ * G_gisinit().
+ *
+ * Unlike G_program_name() which returns name of the module
+ * this function return original path which was used to execute
+ * the program. For standard GRASS modules, it will be the same as
+ * the result from G_program_name() function.
+ *
+ * \return pointer to string with program name or full path
+ */
+const char *G_original_program_name(void)
+{
+    return original_name;
+}
+
+/*!
   \brief Set program name
 
   Program name set to name (name will be returned by
@@ -44,6 +63,8 @@ void G_set_program_name(const char *s)
     int i;
     char *temp;
 
+    original_name = G_store(s);
+
     i = strlen(s);
     while (--i >= 0) {
 	if (G_is_dirsep(s[i])) {
diff --git a/lib/gis/put_window.c b/lib/gis/put_window.c
index 5321237..0071d5f 100644
--- a/lib/gis/put_window.c
+++ b/lib/gis/put_window.c
@@ -14,7 +14,7 @@
 #include <stdlib.h>
 #include <grass/gis.h>
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 /*!
  * \brief Writes the region (window)
diff --git a/lib/gis/rd_cellhd.c b/lib/gis/rd_cellhd.c
index bf35821..785c38d 100644
--- a/lib/gis/rd_cellhd.c
+++ b/lib/gis/rd_cellhd.c
@@ -16,7 +16,7 @@
 #include <grass/gis.h>
 #include <grass/glocale.h>
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 static int scan_item(const char *, char *, char *);
 static int scan_int(const char *, int *);
diff --git a/lib/gis/remove.c b/lib/gis/remove.c
index f08ffeb..586607c 100644
--- a/lib/gis/remove.c
+++ b/lib/gis/remove.c
@@ -21,7 +21,6 @@
 #include <dirent.h>
 #include <grass/gis.h>
 
-static int recursive_remove(const char *path);
 static int G__remove(int misc, const char *dir, const char *element,
 		     const char *name);
 
@@ -95,14 +94,23 @@ static int G__remove(int misc, const char *dir, const char *element,
     if (access(path, 0) != 0)
 	return 0;
 
-    if (recursive_remove(path) == 0)
+    if (G_recursive_remove(path) == 0)
 	return 1;
 
     return -1;
 }
 
-/* equivalent to rm -rf path */
-static int recursive_remove(const char *path)
+/*!
+  \brief Recursively remove all files in given directory
+
+  Equivalent to rm -rf path.
+
+  \param path path to the directory which should be removed
+
+  \return 0 on success
+  \return -1 on error
+*/
+int G_recursive_remove(const char *path)
 {
     DIR *dirp;
     struct dirent *dp;
@@ -110,21 +118,21 @@ static int recursive_remove(const char *path)
     char path2[GPATH_MAX];
 
     if (G_lstat(path, &sb))
-	return 1;
+	return -1;
     if (!S_ISDIR(sb.st_mode))
-	return remove(path) == 0 ? 0 : 1;
+	return remove(path) == 0 ? 0 : -1;
 
     if ((dirp = opendir(path)) == NULL)
-	return 1;
+	return -1;
     while ((dp = readdir(dirp)) != NULL) {
 	if (dp->d_name[0] == '.')
 	    continue;
 	if (strlen(path) + strlen(dp->d_name) + 2 > sizeof(path2))
 	    continue;
 	sprintf(path2, "%s/%s", path, dp->d_name);
-	recursive_remove(path2);
+	G_recursive_remove(path2);
     }
     closedir(dirp);
 
-    return rmdir(path) == 0 ? 0 : 1;
+    return rmdir(path) == 0 ? 0 : -1;
 }
diff --git a/lib/gis/rename.c b/lib/gis/rename.c
index d2d3903..5ee0338 100644
--- a/lib/gis/rename.c
+++ b/lib/gis/rename.c
@@ -3,7 +3,7 @@
  *
  * \brief GIS Library - Rename file functions.
  *
- * (C) 2001-2009 by the GRASS Development Team
+ * (C) 2001-2015 by the GRASS Development Team
  *
  * This program is free software under the GNU General Public License
  * (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -19,7 +19,7 @@
 
 
 /*!
-  \brief Rename a file in the filesystem.
+  \brief Rename a file or a directory in the filesystem.
   
   The file or directory <i>oldname</i> is renamed to <i>newname</i>.
 
@@ -31,12 +31,23 @@
 */
 int G_rename_file(const char *oldname, const char *newname)
 {
+    int ret;
 
 #ifdef __MINGW32__
     remove(newname);
 #endif
+    
+    ret = rename(oldname, newname);
 
-    return rename(oldname, newname);
+    if (ret == -1) {
+	/* if fails, try to copy file and then remove */
+	if (1 == G_copy_file(oldname, newname)) {
+	    if (remove(oldname) != -1)
+		ret = 0;
+	}
+    }
+
+    return ret;
 }
 
 /*!
diff --git a/lib/gis/renamed_options b/lib/gis/renamed_options
index 962b34d..6e0e714 100644
--- a/lib/gis/renamed_options
+++ b/lib/gis/renamed_options
@@ -1,4 +1,4 @@
-### Renamed options between GRASS GIS 6.4 and 7.0
+### Renamed options between GRASS GIS 6.4 and 7.1
 #################################################
 # Entries in alphabetical order
 ################################
@@ -87,6 +87,8 @@ db.select|vs:vertical_separator
 #########################################
 ### General map management module changes
 #########################################
+# g.extension
+g.extension|svnurl:url
 # g.mapset
 g.mapset|gisdbase:dbase
 # g.mapsets
@@ -515,6 +517,9 @@ v.mkgrid|coor:coordinates
 v.net|thresh:threshold
 v.net|alayer:arc_layer
 v.net|nlayer:node_layer
+v.net|type:arc_type
+v.net|tlayer:turn_layer
+v.net|tuclayer:turn_cat_layer
 # v.net.alloc
 v.net.alloc|alayer:arc_layer
 v.net.alloc|nlayer:node_layer
@@ -523,6 +528,8 @@ v.net.alloc|ccats:center_cats
 v.net.alloc|ncolumn:node_column
 v.net.alloc|afcolumn:arc_column
 v.net.alloc|abcolumn:arc_backward_column
+v.net.alloc|tlayer:turn_layer
+v.net.alloc|tuclayer:turn_cat_layer
 # v.net.allpairs
 v.net.allpairs|alayer:arc_layer
 v.net.allpairs|nlayer:node_layer
@@ -573,12 +580,17 @@ v.net.iso|ccats:center_cats
 v.net.iso|ncolumn:node_column
 v.net.iso|afcolumn:arc_column
 v.net.iso|abcolumn:arc_backward_column
+v.net.iso|tlayer:turn_layer
+v.net.iso|tuclayer:turn_cat_layer
 # v.net.path
 v.net.path|alayer:arc_layer
 v.net.path|nlayer:node_layer
+v.net.path|type:arc_type
 v.net.path|ncolumn:node_column
 v.net.path|afcolumn:arc_column
 v.net.path|abcolumn:arc_backward_column
+v.net.path|tlayer:turn_layer
+v.net.path|tuclayer:turn_cat_layer
 # v.net.salesman
 v.net.salesman|alayer:arc_layer
 v.net.salesman|nlayer:node_layer
@@ -586,6 +598,8 @@ v.net.salesman|type:arc_type
 v.net.salesman|ccats:center_cats
 v.net.salesman|afcolumn:arc_column
 v.net.salesman|abcolumn:arc_backward_column
+v.net.salesman|tlayer:turn_layer
+v.net.salesman|tuclayer:turn_cat_layer
 # v.net.spanningtree
 v.net.spanningtree|alayer:arc_layer
 v.net.spanningtree|nlayer:node_layer
diff --git a/lib/gis/set_window.c b/lib/gis/set_window.c
index 73e4b94..dadeb0b 100644
--- a/lib/gis/set_window.c
+++ b/lib/gis/set_window.c
@@ -16,7 +16,7 @@
 
 #include "G.h"
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 /*!
   \brief Get the current working window (region)
diff --git a/lib/gis/tempfile.c b/lib/gis/tempfile.c
index d68ba9f..4d50e9e 100644
--- a/lib/gis/tempfile.c
+++ b/lib/gis/tempfile.c
@@ -3,7 +3,7 @@
  *
  * \brief GIS Library - Temporary file functions.
  *
- * (C) 2001-2009 by the GRASS Development Team
+ * (C) 2001-2015 by the GRASS Development Team
  *
  * This program is free software under the GNU General Public License
  * (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -14,9 +14,11 @@
 #include <string.h>
 #include <unistd.h>
 #include <sys/stat.h>
+#include <stdlib.h>
+
 #include <grass/gis.h>
 
-#include "local_proto.h"
+#include "gis_local_proto.h"
 
 static struct Counter unique;
 static int initialized;
@@ -87,6 +89,8 @@ char *G_tempfile_pid(int pid)
     }
     while (access(path, F_OK) == 0);
 
+    G_debug(2, "G_tempfile_pid(): %s", path);
+    
     return G_store(path);
 }
 
@@ -97,6 +101,17 @@ char *G_tempfile_pid(int pid)
  */
 void G_temp_element(char *element)
 {
+    G__temp_element(element, FALSE);
+}
+
+/*!
+ * \brief Populates element with a path string (internal use only!)
+ *
+ * \param[out] element element name
+ * \param tmp TRUE to use G_make_mapset_element_tmp() instead of G_make_mapset_element()
+ */
+void G__temp_element(char *element, int tmp)
+{
     const char *machine;
 
     strcpy(element, ".tmp");
@@ -105,5 +120,11 @@ void G_temp_element(char *element)
 	strcat(element, "/");
 	strcat(element, machine);
     }
-    G_make_mapset_element(element);
+    
+    if (!tmp)
+        G_make_mapset_element(element);
+    else
+        G_make_mapset_element_tmp(element);
+    
+    G_debug(2, "G__temp_element(): %s (tmp=%d)", element, tmp);
 }
diff --git a/lib/gis/testsuite/gis_lib_tokenize.py b/lib/gis/testsuite/gis_lib_tokenize.py
new file mode 100644
index 0000000..0e053b8
--- /dev/null
+++ b/lib/gis/testsuite/gis_lib_tokenize.py
@@ -0,0 +1,81 @@
+"""Test of gis library tokenizing of text
+
+ at author Vaclav Petras
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+import grass.lib.gis as libgis
+
+# TODO: add tests for content (now testing only number of items)
+
+
+class TokenizeTestCase(TestCase):
+    """Test C function G_tokenize() from gis library"""
+
+    def test_tokenize_comma(self):
+        """Test G_tokenize with comma as delim"""
+        tokens = libgis.G_tokenize("a,b,c,d", ",")
+        num_of_tokens = libgis.G_number_of_tokens(tokens)
+        self.assertEqual(num_of_tokens, 4, msg="Got wrong number of tokens")
+
+    def test_tokenize_alternative_delim(self):
+        """Test G_tokenize with semi colon as delim"""
+        tokens = libgis.G_tokenize("a;b;c", ";")
+        num_of_tokens = libgis.G_number_of_tokens(tokens)
+        self.assertEqual(num_of_tokens, 3, msg="Got wrong number of tokens")
+
+    def test_tokenize_with_text_delim(self):
+        """Test G_tokenize with comma as delim and single quote text delim
+
+        Expecting the 'wrong' number of tokens here.
+        """
+        tokens = libgis.G_tokenize("a,'b,c',d", ",")
+        num_of_tokens = libgis.G_number_of_tokens(tokens)
+        self.assertEqual(
+            num_of_tokens, 4,
+            msg="Got wrong number of tokens (expecting that the text"
+                "delimiter is ignored)")
+        # alternatively this can be done using test with expected failure
+
+
+class Tokenize2TestCase(TestCase):
+    """Test C function G_tokenize2() from gis library"""
+
+    def test_tokenize2_comma(self):
+        """Test G_tokenize2 without any text delim"""
+        tokens = libgis.G_tokenize2("a,b,c,d", ",", "'")
+        num_of_tokens = libgis.G_number_of_tokens(tokens)
+        self.assertEqual(num_of_tokens, 4, msg="Got wrong number of tokens")
+
+    def test_tokenize2_with_text_delim(self):
+        """Test G_tokenize2 with , as delim and single quote text delim"""
+        tokens = libgis.G_tokenize2("a,'b,c',d", ",", "'")
+        num_of_tokens = libgis.G_number_of_tokens(tokens)
+        self.assertEqual(num_of_tokens, 3, msg="Got wrong number of tokens")
+
+    def test_tokenize2_with_alternative_text_delim(self):
+        """Test G_tokenize2 with ; as delim and double quote text delim"""
+        tokens = libgis.G_tokenize2('a;"b;c";d', ';', '"')
+        num_of_tokens = libgis.G_number_of_tokens(tokens)
+        self.assertEqual(num_of_tokens, 3, msg="Got wrong number of tokens")
+
+    def test_tokenize2_with_text_delim_more_text_tokens(self):
+        """Test G_tokenize2 with comma as delim and hash as text delim"""
+        tokens = libgis.G_tokenize2("a,#b,c#,#5,d#,#7,2#", ",", "#")
+        num_of_tokens = libgis.G_number_of_tokens(tokens)
+        self.assertEqual(num_of_tokens, 4, msg="Got wrong number of tokens")
+
+    def test_tokenize2_with_real_text(self):
+        """Test G_tokenize2 with real world text"""
+        tokens = libgis.G_tokenize2(
+            '440,617722.81,3464034.494,951.987,'
+            '"Low Erosion (1,5)","High Deposition (8,6)"',
+            ',', '"')
+        num_of_tokens = libgis.G_number_of_tokens(tokens)
+        self.assertEqual(num_of_tokens, 6, msg="Got wrong number of tokens")
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/gis/verbose.c b/lib/gis/verbose.c
index 48cba40..e0184a2 100644
--- a/lib/gis/verbose.c
+++ b/lib/gis/verbose.c
@@ -30,7 +30,7 @@
 #define MAXLEVEL 3
 /*! \brief Standard verbosity level */
 #define STDLEVEL 2
-/*! \brief Minumum verbosity level (quiet) */
+/*! \brief Minimum verbosity level (quiet) */
 #define MINLEVEL 0
 
 static struct state {
diff --git a/lib/gpde/gpdelib.dox b/lib/gpde/gpdelib.dox
index 36c8396..78cba2c 100644
--- a/lib/gpde/gpdelib.dox
+++ b/lib/gpde/gpdelib.dox
@@ -223,7 +223,7 @@ void #N_write_array_2d_to_rast (N_array_2d * array, char *name);
 
 <P>
 <b>Example implementation:</b><br>
-The GRASS module <a href="http://grass.osgeo.org/grass70/manuals/r.gwflow.html">r.gwflow</a>
+The GRASS module <a href="http://grass.osgeo.org/grass71/manuals/r.gwflow.html">r.gwflow</a>
 implements numerical calculation program for transient,
 confined and unconfined groundwater flow in two dimensions.
 
@@ -294,7 +294,7 @@ void #N_write_array_3d_to_rast3d (N_array_3d * array, char *name, int mask);
 
 <P>
 <b>Example implementation:</b><br>
-The GRASS module <a href="http://grass.itc.it/grass70/manuals/r3.gwflow.html">r3.gwflow</a>
+The GRASS module <a href="http://grass.itc.it/grass71/manuals/r3.gwflow.html">r3.gwflow</a>
 implements numerical calculation program for transient, confined
 groundwater flow in three dimensions.
 
diff --git a/lib/gpde/test/test.gpde.lib.html b/lib/gpde/test/test.gpde.lib.html
index 88d0ea3..4492283 100644
--- a/lib/gpde/test/test.gpde.lib.html
+++ b/lib/gpde/test/test.gpde.lib.html
@@ -8,4 +8,4 @@ Test suite.
 
 Soeren Gebbert
 
-<p><i>Last changed: $Date: 2013-06-20 15:53:08 +0200 (Thu, 20 Jun 2013) $</i>
+<p><i>Last changed: $Date: 2013-06-20 06:53:08 -0700 (Thu, 20 Jun 2013) $</i>
diff --git a/lib/htmldriver/htmldriver.html b/lib/htmldriver/htmldriver.html
index 9e60eb2..8b624f1 100644
--- a/lib/htmldriver/htmldriver.html
+++ b/lib/htmldriver/htmldriver.html
@@ -193,4 +193,4 @@ sed -e 's/NAME="map"/NAME="foomap"/' < htmlmap > foomap.html
 </em>
 
 <p>
-<i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-09 09:23:56 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/lib/imagery/iclass_statistics.c b/lib/imagery/iclass_statistics.c
index c5a4dc6..1ecb50e 100644
--- a/lib/imagery/iclass_statistics.c
+++ b/lib/imagery/iclass_statistics.c
@@ -723,7 +723,7 @@ int I_iclass_statistics_get_product(IClass_statistics * statistics, int band1,
 
    \param statistics pointer to statistics structure
    \param band band index
-   \param[out] min minumum value
+   \param[out] min minimum value
 
    \return 1 on success
    \return 0 band index out of range
diff --git a/lib/init/Makefile b/lib/init/Makefile
index f10328e..7457ec1 100644
--- a/lib/init/Makefile
+++ b/lib/init/Makefile
@@ -96,7 +96,7 @@ $(ETC)/winlocale$(EXE): $(OBJDIR)/winlocale.o
 $(ETC)/VERSIONNUMBER:
 	rm -f $@
 	@if [ -n "$(GRASS_VERSION_SVN)" ] ; then \
-		echo "$(GRASS_VERSION_NUMBER) r$(GRASS_VERSION_SVN)" > $@ ; \
+		echo "$(GRASS_VERSION_NUMBER) $(GRASS_VERSION_SVN)" > $@ ; \
 	else \
 		echo "$(GRASS_VERSION_NUMBER)" > $@ ; \
 	fi
diff --git a/lib/init/README b/lib/init/README
index 7972584..a2c2402 100644
--- a/lib/init/README
+++ b/lib/init/README
@@ -1,10 +1,10 @@
 o GRASS text mode startup
 
-  "grass70" starts up d.m by default (if not first time user).
-  "grass70 -text" will start up in text mode.
-  "grass70 -wxpython" or "grass70 -gui" will start up in wxpython mode.
+  "grass71" starts up d.m by default (if not first time user).
+  "grass71 -text" will start up in text mode.
+  "grass71 -wxpython" or "grass71 -gui" will start up in wxpython mode.
 
-  You can use alias "grass70" to "grass70 -text" to use text mode by default.
+  You can use alias "grass71" to "grass71 -text" to use text mode by default.
   Or set env var GRASS_GUI=text.
 
 
@@ -25,18 +25,18 @@ o GRASS non-interactive startup examples
 	export LOCATION_NAME=loc1
 	export MAPSET=map1
 
-	grass70 -	# non-interactive startup using LOCATION location
+	grass71 -	# non-interactive startup using LOCATION location
 
   ex2)
 	export GISDBASE=/usr/home/grass/usr/data1
 	export LOCATION_NAME=loc1
 	export MAPSET=map1
   	
-	grass70 -	# non-interactive startup using
+	grass71 -	# non-interactive startup using
 			# GISDBASE/LOCATION_NAME/MAPSET location
 
 
-  Also, the first argument of grass70 can override these env vars.
+  Also, the first argument of grass71 can override these env vars.
 
   ex3)
   	export LOCATION=/usr/home/grass/usr/data1/loc1/map1
@@ -44,7 +44,7 @@ o GRASS non-interactive startup examples
 	export LOCATION_NAME=loc1
 	export MAPSET=map1
 
-	grass70 /usr/home/grass/usr/data2/loc2-1/map1-1
+	grass71 /usr/home/grass/usr/data2/loc2-1/map1-1
 			# non-interactive startup using
 			# /usr/home/grass/usr/data2/loc2-1/map1-1 location
 
@@ -53,7 +53,7 @@ o GRASS non-interactive startup examples
 	export LOCATION_NAME=loc1
 	export MAPSET=map1
   	
-	grass70 /usr/home/grass/usr/data2/loc2-1/map1-1
+	grass71 /usr/home/grass/usr/data2/loc2-1/map1-1
 			# non-interactive startup using
 			# /usr/home/grass/usr/data2/loc2-1/map1-1 location
 
@@ -63,7 +63,7 @@ o GRASS non-interactive startup examples
 	export LOCATION_NAME=loc1
 	export MAPSET=map1
 
-	grass70 map1-1	# non-interactive startup using
+	grass71 map1-1	# non-interactive startup using
 			# GISDBASE/LOCATION_NAME/map1-1 location
 
   ex6)
@@ -72,7 +72,7 @@ o GRASS non-interactive startup examples
 	export LOCATION_NAME=loc1
 	export MAPSET=map1
 
-	grass70 loc2-1/map1-1
+	grass71 loc2-1/map1-1
 			# non-interactive startup using
 			# GISDBASE/loc2-1/map1-1 location
 
diff --git a/lib/init/grass.py b/lib/init/grass.py
index 39d399c..17b6ec6 100644
--- a/lib/init/grass.py
+++ b/lib/init/grass.py
@@ -13,6 +13,7 @@
 #               script from GRASS 6) by Glynn Clements
 #               Martin Landa <landa.martin gmail.com>
 #               Luca Delucchi <lucadeluge gmail.com>
+#               Vaclav Petras <wenzeslaus gmail.com> (refactoring and exec)
 # PURPOSE:      Sets up environment variables, parses any remaining
 #               command line options for setting the GISDBASE, LOCATION,
 #               and/or MAPSET. Finally it starts GRASS with the appropriate
@@ -25,6 +26,18 @@
 #
 #############################################################################
 
+"""
+Script to run GRASS session.
+
+Some of the functions could be used separately but import from this module
+is not safe, i.e. it has side effects (this should be changed in the future).
+"""
+
+# we allow for long file because we want to avoid imports if possible
+# (this makes it more stable since we have to set up paths first)
+# pylint: disable=too-many-lines
+
+from __future__ import print_function
 import sys
 import os
 import atexit
@@ -33,9 +46,60 @@ import subprocess
 import re
 import platform
 import tempfile
+import locale
+
+
+# ----+- Python 3 compatibility start -+----
+PY2 = sys.version[0] == '2'
+ENCODING = locale.getdefaultlocale()[1]
+if ENCODING is None:
+    ENCODING = 'UTF-8'
+    print("Default locale not found, using UTF-8")  # intentionally not translatable
+
+
+def to_text_string(obj, encoding=ENCODING):
+    """Convert `obj` to (unicode) text string"""
+    if PY2:
+        # Python 2
+        if encoding is None:
+            return unicode(obj)
+        else:
+            return unicode(obj, encoding)
+    else:
+        # Python 3
+        if encoding is None:
+            return str(obj)
+        elif isinstance(obj, str):
+            # In case this function is not used properly, this could happen
+            return obj
+        else:
+            return str(obj, encoding)
+
+
+if PY2:
+    import types
+    string_types = basestring,
+    integer_types = (int, long)
+    class_types = (type, types.ClassType)
+    text_type = unicode
+    binary_type = str
+else:
+    string_types = str,
+    integer_types = int,
+    class_types = type,
+    text_type = str
+    binary_type = bytes
+    MAXSIZE = sys.maxsize
+
+# ----+- Python 3 compatibility end -+----
 
 # Variables substituted during build process
 if 'GISBASE' in os.environ:
+    # TODO: should this be something like GRASS_PATH?
+    # GISBASE marks complete runtime, so no need to get it here when
+    # setting it up, possible scenario: existing runtime and starting
+    # GRASS in that, we want to overwrite the settings, not to take it
+    # possibly same for GRASS_PROJSHARE and others but maybe not
     gisbase = os.environ['GISBASE']
 else:
     gisbase = "@GISBASE@"
@@ -47,28 +111,13 @@ if 'GRASS_PROJSHARE' in os.environ:
 else:
     config_projshare = "@CONFIG_PROJSHARE@"
 
-# configuration directory
-grass_env_file = None  # see check_shell()
-if sys.platform == 'win32':
-    grass_config_dirname = "GRASS7"
-    grass_config_dir = os.path.join(os.getenv('APPDATA'), grass_config_dirname)
-else:
-    grass_config_dirname = ".grass7"
-    grass_config_dir = os.path.join(os.getenv('HOME'), grass_config_dirname)
-
 gisbase = os.path.normpath(gisbase)
 
 # i18N
 import gettext
+# TODO: is this needed or even desirable when we have set_language()?
 gettext.install('grasslibs', os.path.join(gisbase, 'locale'))
 
-tmpdir = None
-lockfile = None
-remove_lockfile = True
-location = None
-create_new = None
-grass_gui = None
-exit_grass = None
 
 def warning(text):
     sys.stderr.write(_("WARNING") + ': ' + text + os.linesep)
@@ -88,14 +137,15 @@ def try_rmdir(path):
         pass
 
 
-def clean_env():
-    env_curr = read_gisrc()
+def clean_env(gisrc):
+    env_curr = read_gisrc(gisrc)
     env_new = {}
-    for k,v in env_curr.iteritems():
-        if 'MONITOR' not in k:
-            env_new[k] = v
+    for k,v in env_curr.items():
+        if k.endswith('PID') or k.startswith('MONITOR'):
+            continue
+        env_new[k] = v
 
-    write_gisrc(env_new)
+    write_gisrc(env_new, gisrc)
 
 
 def cleanup_dir(path):
@@ -109,20 +159,28 @@ def cleanup_dir(path):
             try_rmdir(os.path.join(root, name))
 
 
-def cleanup():
-    tmpdir, lockfile, remove_lockfile
-    # all exits after setting up tmp dirs (system/location) should
-    # also tidy it up
-    cleanup_dir(tmpdir)
-    try_rmdir(tmpdir)
-    if location:
-        tmpdir_loc = os.path.join(location, ".tmp")
-        cleanup_dir(tmpdir_loc)
-        try_rmdir(tmpdir_loc)
+class Cleaner(object):  # pylint: disable=R0903
+    """Holds directories and files which needs to be cleaned or deleted"""
+    def __init__(self):
+        self.mapset_path = None
+        self.lockfile = None
+        self.tmpdir = None
 
-    # remove lock-file if requested
-    if lockfile and remove_lockfile:
-        try_remove(lockfile)
+    def cleanup(self):
+        """This can be registered with atexit
+
+        Object can then still change and add or remove directories to clean"""
+        # all exits after setting up tmp dirs (system/location) should
+        # also tidy it up
+        cleanup_dir(self.tmpdir)
+        try_rmdir(self.tmpdir)
+        if self.mapset_path:
+            tmpdir_mapset = os.path.join(self.mapset_path, ".tmp")
+            cleanup_dir(tmpdir_mapset)
+            try_rmdir(tmpdir_mapset)
+        # remove lock-file if requested
+        if self.lockfile:
+            try_remove(self.lockfile)
 
 
 def fatal(msg):
@@ -135,6 +193,38 @@ def message(msg):
     sys.stderr.flush()
 
 
+# mechanism meant for debugging this script (only)
+# private global to store if we are debugging
+_DEBUG = None
+
+
+def is_debug():
+    """Returns True if we are in debug mode
+
+    For debug messages use ``debug()``.
+    """
+    global _DEBUG
+    if _DEBUG is not None:
+        return _DEBUG
+    _DEBUG = os.getenv('GRASS_DEBUG')
+    # translate to bool (no or empty variable means false)
+    if _DEBUG:
+        _DEBUG = True
+    else:
+        _DEBUG = False
+    return _DEBUG
+
+
+def debug(msg):
+    """Print a debug message if in debug mode
+
+    Do not use translatable strings for debug messages.
+    """
+    if is_debug():
+        sys.stderr.write("DEBUG: %s\n" % msg)
+        sys.stderr.flush()
+
+
 def readfile(path):
     f = open(path, 'r')
     s = f.read()
@@ -149,94 +239,175 @@ def writefile(path, s):
 
 
 def call(cmd, **kwargs):
+    """Wrapper for subprocess.call to deal with platform-specific issues"""
     if windows:
         kwargs['shell'] = True
     return subprocess.call(cmd, **kwargs)
 
 
-def Popen(cmd, **kwargs):
+def Popen(cmd, **kwargs):  # pylint: disable=C0103
+    """Wrapper for subprocess.Popen to deal with platform-specific issues"""
     if windows:
         kwargs['shell'] = True
     return subprocess.Popen(cmd, **kwargs)
 
 
-def gfile(*args):
+def gpath(*args):
+    """Costruct path to file or directory in GRASS GIS installation
+
+    Can be called only after gisbase was set.
+    """
     return os.path.join(gisbase, *args)
 
-help_text = r"""GRASS GIS %s
+
+# for wxpath
+_WXPYTHON_BASE = None
+
+
+def wxpath(*args):
+    """Costruct path to file or directory in GRASS wxGUI
+
+    Can be called only after gisbase was set.
+
+    This function does not check if the directories exist or if GUI works
+    this must be done by the caller if needed.
+    """
+    global _WXPYTHON_BASE
+    if not _WXPYTHON_BASE:
+        # this can be called only after gisbase was set
+        _WXPYTHON_BASE = gpath("gui", "wxpython")
+    return os.path.join(_WXPYTHON_BASE, *args)
+
+
+# using format for most but leaving usage of template for the dynamic ones
+# two different methods are easy way to implement two phase construction
+help_text = r"""GRASS GIS $VERSION_NUMBER
 Geographic Resources Analysis Support System (GRASS GIS).
 
-%s:
-  $CMD_NAME [-h | -help | --help] [-v | --version] [-c | -c geofile | -c EPSG:code[:datum_trans]]
-          [-e] [-text | -gui] [--config param]
-          [[[<GISDBASE>/]<LOCATION_NAME>/]<MAPSET>]
-
-%s:
-  -h or -help or --help          %s
-  -v or --version                %s
-  -c                             %s
-  -e                             %s
-  -text                          %s
-                                   %s
-  -gtext                         %s
-                                   %s
-  -gui                           %s
-                                   %s
-  --config                       %s
-                                   %s
-
-%s:
-  GISDBASE                       %s
-  LOCATION_NAME                  %s
-  MAPSET                         %s
-
-  GISDBASE/LOCATION_NAME/MAPSET  %s
-
-%s:
-  GRASS_GUI                      %s
-  GRASS_HTML_BROWSER             %s
-  GRASS_ADDON_PATH               %s
-  GRASS_ADDON_BASE               %s
-  GRASS_BATCH_JOB                %s
-  GRASS_PYTHON                   %s
-""" % (grass_version,
-       _("Usage"),
-       _("Flags"),
-       _("print this help message"),
-       _("show version information and exit"),
-       _("create given database, location or mapset if it doesn't exist"),
-       _("exit after creation of location or mapset. Only with -c flag"),
-       _("use text based interface (skip welcome screen)"),
-       _("and set as default"),
-       _("use text based interface (show welcome screen)"),
-       _("and set as default"),
-       _("use $DEFAULT_GUI graphical user interface"),
-       _("and set as default"),
-       _("print GRASS configuration parameters"),
-       _("options: arch,build,compiler,path,revision"),
-       _("Parameters"),
-       _("initial database (path to GIS data)"),
-       _("initial location"),
-       _("initial mapset"),
-       _("fully qualified initial mapset directory"),
-       _("Environment variables relevant for startup"),
-       _("select GUI (text, gui)"),
-       _("set html web browser for help pages"),
-       _("set additional path(s) to local GRASS modules or user scripts"),
-       _("set additional GISBASE for locally installed GRASS Addons"),
-       _("shell script to be processed as batch job"),
-       _("set python shell name to override 'python'"))
-
-
-def help_message():
+{usage}:
+  $CMD_NAME [-h | -help | --help | --h] [-v | --version]
+          [-c | -c geofile | -c EPSG:code[:datum_trans]]
+          [-e] [-f] [-text | -gtext | -gui] [--config param]
+          [[[GISDBASE/]LOCATION_NAME/]MAPSET]
+  $CMD_NAME [FLAG]... GISDBASE/LOCATION_NAME/MAPSET --exec EXECUTABLE [EPARAM]...
+
+{flags}:
+  -h or -help or --help or --h   {help_flag}
+  -v or --version                {version_flag}
+  -c                             {create}
+  -e                             {exit_after}
+  -f                             {force_removal}
+  -text                          {text}
+                                   {text_detail}
+  -gtext                         {gtext}
+                                   {gtext_detail}
+  -gui                           {gui}
+                                   {gui_detail}
+  --config                       {config}
+                                   {config_detail}
+  --exec EXECUTABLE              {exec_}
+                                   {exec_detail}
+
+{params}:
+  GISDBASE                       {gisdbase}
+                                   {gisdbase_detail}
+  LOCATION_NAME                  {location}
+                                   {location_detail}
+  MAPSET                         {mapset}
+
+  GISDBASE/LOCATION_NAME/MAPSET  {full_mapset}
+
+  EXECUTABLE                     {executable}
+  EPARAM                         {executable_params}
+  FLAG                           {standard_flags}
+
+{env_vars}:
+  GRASS_GUI                      {gui_var}
+  GRASS_HTML_BROWSER             {html_var}
+  GRASS_ADDON_PATH               {addon_path_var}
+  GRASS_ADDON_BASE               {addon_base_var}
+  GRASS_BATCH_JOB                {batch_var}
+  GRASS_PYTHON                   {python_var}
+""".format(
+    usage=_("Usage"),
+    flags=_("Flags"),
+    help_flag=_("print this help message"),
+    version_flag=_("show version information and exit"),
+    create=_("create given database, location or mapset if it doesn't exist"),
+    exit_after=_("exit after creation of location or mapset. Only with -c flag"),
+    force_removal=_("force removal of .gislock if exists (use with care!). Only with -text flag"),
+    text=_("use text based interface (skip welcome screen)"),
+    text_detail=_("and set as default"),
+    gtext=_("use text based interface (show welcome screen)"),
+    gtext_detail=_("and set as default"),
+    gui=_("use $DEFAULT_GUI graphical user interface"),
+    gui_detail=_("and set as default"),
+    config=_("print GRASS configuration parameters"),
+    config_detail=_("options: arch,build,compiler,path,revision"),
+    params=_("Parameters"),
+    gisdbase=_("initial GRASS GIS database directory"),
+    gisdbase_detail=_("directory containing Locations"),
+    location=_("initial GRASS Location"),
+    location_detail=_("directory containing Mapsets with one common coordinate system (projection)"),
+    mapset=_("initial GRASS Mapset"),
+    full_mapset=_("fully qualified initial Mapset directory"),
+    env_vars=_("Environment variables relevant for startup"),
+    gui_var=_("select GUI (text, gui, gtext)"),
+    html_var=_("set html web browser for help pages"),
+    addon_path_var=_("set additional path(s) to local GRASS modules or user scripts"),
+    addon_base_var=_("set additional GISBASE for locally installed GRASS Addons"),
+    batch_var=_("shell script to be processed as batch job"),
+    python_var=_("set python shell name to override 'python'"),
+    exec_=_("execute GRASS module or script"),
+    exec_detail=_("provided executable will be executed in GRASS session"),
+    executable=_("GRASS module, script or any other executable"),
+    executable_params=_("parameters of the executable"),
+    standard_flags=_("standard flags"),
+    )
+
+
+def help_message(default_gui):
     t = string.Template(help_text)
-    s = t.substitute(CMD_NAME=cmd_name, DEFAULT_GUI=default_gui)
+    s = t.substitute(CMD_NAME=cmd_name, DEFAULT_GUI=default_gui,
+                     VERSION_NUMBER=grass_version)
     sys.stderr.write(s)
 
 
-def create_tmp():
-    global tmpdir
-    ## use $TMPDIR if it exists, then $TEMP, otherwise /tmp
+def get_grass_config_dir():
+    """Get configuration directory
+
+    Determines path of GRASS GIS user configuration directory and creates
+    it if it does not exist.
+
+    Configuration directory is for example used for grass env file
+    (the one which caries mapset settings from session to session).
+    """
+    if sys.platform == 'win32':
+        grass_config_dirname = "GRASS7"
+        win_conf_path = os.getenv('APPDATA')
+        # this can happen with some strange settings
+        if not win_conf_path:
+            fatal(_("The APPDATA variable is not set, ask your operating"
+                    " system support"))
+        if not os.path.exists(win_conf_path):
+            fatal(_("The APPDATA variable points to directory which does"
+                    " not exist, ask your operating system support"))
+        directory = os.path.join(win_conf_path, grass_config_dirname)
+    else:
+        grass_config_dirname = ".grass7"
+        directory = os.path.join(os.getenv('HOME'), grass_config_dirname)
+    if not os.path.exists(directory):
+        os.mkdir(directory)
+    return directory
+
+
+def create_tmp(user, gis_lock):
+    """Create temporary directory
+
+    :param user: user name to be used in the directory name
+    :param gis_lock: session lock filename to be used in the directory name
+    """
+    # use $TMPDIR if it exists, then $TEMP, otherwise /tmp
     tmp = os.getenv('TMPDIR')
     if not tmp:
         tmp = os.getenv('TEMP')
@@ -244,31 +415,51 @@ def create_tmp():
         tmp = os.getenv('TMP')
     if not tmp:
         tmp = tempfile.gettempdir()
+
     if tmp:
         tmpdir = os.path.join(tmp, "grass7-%(user)s-%(lock)s" % {'user': user,
                                                              'lock': gis_lock})
         try:
-            os.mkdir(tmpdir, 0700)
+            os.mkdir(tmpdir, 0o700)
         except:
             tmp = None
+
     if not tmp:
         for ttmp in ("/tmp", "/var/tmp", "/usr/tmp"):
             tmp = ttmp
             tmpdir = os.path.join(tmp, "grass7-%(user)s-%(lock)s" % {
                                               'user': user, 'lock': gis_lock})
             try:
-                os.mkdir(tmpdir, 0700)
+                os.mkdir(tmpdir, 0o700)
             except:
                 tmp = None
             if tmp:
                 break
+
     if not tmp:
-        fatal(_("Unable to create temporary directory <grass7-%(user)s-" \
+        fatal(_("Unable to create temporary directory <grass7-%(user)s-"
                 "%(lock)s>! Exiting.") % {'user': user, 'lock': gis_lock})
 
+    # promoting the variable even if it was not defined before
+    os.environ['TMPDIR'] = tmpdir
+
+    debug("Tmp directory '{tmpdir}' created for user '{user}'".format(
+        tmpdir=tmpdir, user=user))
+    return tmpdir
+
 
-def create_gisrc():
-    global gisrc, gisrcrc
+def get_gisrc_from_config_dir(grass_config_dir, batch_job):
+    """Set the global grassrc file (aka grassrcrc)"""
+    if batch_job:
+        # use individual GISRCRC files when in batch mode (r33174)
+        filename = os.path.join(grass_config_dir, "rc.%s" % platform.node())
+        if os.access(filename, os.R_OK):
+            return filename
+    # use standard file if in normal mode or the special file is not available
+    return os.path.join(grass_config_dir, "rc")
+
+
+def create_gisrc(tmpdir, gisrcrc):
     # Set the session grassrc file
     gisrc = os.path.join(tmpdir, "gisrc")
     os.environ['GISRC'] = gisrc
@@ -285,12 +476,13 @@ def create_gisrc():
     # Copy the global grassrc file to the session grassrc file
     if s:
         writefile(gisrc, s)
+    return gisrc
 
 
-def read_gisrc():
+def read_gisrc(filename):
     kv = {}
     try:
-        f = open(gisrc, 'r')
+        f = open(filename, 'r')
     except IOError:
         return kv
 
@@ -298,7 +490,9 @@ def read_gisrc():
         try:
             k, v = line.split(':', 1)
         except ValueError as e:
-            sys.stderr.write(_("ERROR: Invalid line in RC file: '%s' (%s)\n") % (line, e))
+            warning(_("Invalid line in RC file ({file}):"
+                      " '{line}' ({error})\n").format(
+                          line=line, error=e, file=filename))
             continue
         kv[k.strip()] = v.strip()
     f.close()
@@ -316,32 +510,31 @@ def read_env_file(path):
     return kv
 
 
-def write_gisrc(kv):
-    f = open(gisrc, 'w')
-    for k, v in kv.iteritems():
+def write_gisrc(kv, filename):
+    f = open(filename, 'w')
+    for k, v in kv.items():
         f.write("%s: %s\n" % (k, v))
     f.close()
 
 
-def read_gui():
-    global grass_gui
+def read_gui(gisrc, default_gui):
+    grass_gui = None
     # At this point the GRASS user interface variable has been set from the
-    # command line, been set from an external environment variable, or is 
-    # not set. So we check if it is not set
-    if not grass_gui:
-        # Check for a reference to the GRASS user interface in the grassrc file
-        if os.access(gisrc, os.R_OK):
-            kv = read_gisrc()
-            if 'GRASS_GUI' in os.environ:
-                grass_gui = os.environ['GRASS_GUI']
-            elif 'GUI' in kv:
-                grass_gui = kv['GUI']
-            elif 'GRASS_GUI' in kv:
-                # For backward compatibility (GRASS_GUI renamed to GUI)
-                grass_gui = kv['GRASS_GUI']
-            else:
-                # Set the GRASS user interface to the default if needed
-                grass_gui = default_gui
+    # command line, been set from an external environment variable,
+    # or is not set. So we check if it is not set
+    # Check for a reference to the GRASS user interface in the grassrc file
+    if os.access(gisrc, os.R_OK):
+        kv = read_gisrc(gisrc)
+        if 'GRASS_GUI' in os.environ:
+            grass_gui = os.environ['GRASS_GUI']
+        elif 'GUI' in kv:
+            grass_gui = kv['GUI']
+        elif 'GRASS_GUI' in kv:
+            # For backward compatibility (GRASS_GUI renamed to GUI)
+            grass_gui = kv['GRASS_GUI']
+        else:
+            # Set the GRASS user interface to the default if needed
+            grass_gui = default_gui
 
     if not grass_gui:
         grass_gui = default_gui
@@ -349,31 +542,33 @@ def read_gui():
     if grass_gui == 'gui':
         grass_gui = default_gui
 
-    # FIXME oldtcltk, gis.m, d.m no longer exist
+    # FIXME oldtcltk, gis.m, d.m no longer exist (remove this around 7.2)
     if grass_gui in ['d.m', 'gis.m', 'oldtcltk', 'tcltk']:
         warning(_("GUI <%s> not supported in this version") % grass_gui)
         grass_gui = default_gui
 
+    return grass_gui
+
 
-def path_prepend(dir, var):
+def path_prepend(directory, var):
     path = os.getenv(var)
     if path:
-        path = dir + os.pathsep + path
+        path = directory + os.pathsep + path
     else:
-        path = dir
+        path = directory
     os.environ[var] = path
 
 
-def path_append(dir, var):
+def path_append(directory, var):
     path = os.getenv(var)
     if path:
-        path = path + os.pathsep + dir
+        path = path + os.pathsep + directory
     else:
-        path = dir
+        path = directory
     os.environ[var] = path
 
 
-def set_paths():
+def set_paths(grass_config_dir):
     # addons (path)
     addon_path = os.getenv('GRASS_ADDON_PATH')
     if addon_path:
@@ -388,20 +583,18 @@ def set_paths():
     if not windows:
         path_prepend(os.path.join(addon_base, 'scripts'), 'PATH')
     path_prepend(os.path.join(addon_base, 'bin'), 'PATH')
-    
+
     # standard installation
     if not windows:
-        path_prepend(gfile('scripts'), 'PATH')
-    path_prepend(gfile('bin'), 'PATH')
+        path_prepend(gpath('scripts'), 'PATH')
+    path_prepend(gpath('bin'), 'PATH')
 
     # Set PYTHONPATH to find GRASS Python modules
-    if os.path.exists(gfile('gui', 'wxpython')):
-        path_prepend(gfile('gui', 'wxpython'), 'PYTHONPATH')
-    if os.path.exists(gfile('etc', 'python')):
-        path_prepend(gfile('etc', 'python'), 'PYTHONPATH')
+    if os.path.exists(gpath('etc', 'python')):
+        path_prepend(gpath('etc', 'python'), 'PYTHONPATH')
 
     # set path for the GRASS man pages
-    grass_man_path = os.path.join(gisbase, 'docs', 'man')
+    grass_man_path = gpath('docs', 'man')
     addons_man_path = os.path.join(addon_base, 'docs', 'man')
     man_path = os.getenv('MANPATH')
     sys_man_path = None
@@ -420,17 +613,21 @@ def set_paths():
             pass
 
         if sys_man_path:
-            os.environ['MANPATH'] = sys_man_path
+            os.environ['MANPATH'] = to_text_string(sys_man_path)
             path_prepend(addons_man_path, 'MANPATH')
             path_prepend(grass_man_path, 'MANPATH')
         else:
-            os.environ['MANPATH'] = addons_man_path
+            os.environ['MANPATH'] = to_text_string(addons_man_path)
             path_prepend(grass_man_path, 'MANPATH')
 
+    # Set LD_LIBRARY_PATH (etc) to find GRASS shared libraries
+    # this works for subprocesses but won't affect the current process
+    path_prepend(gpath("lib"), ld_library_path_var)
+
 
 def find_exe(pgm):
-    for dir in os.getenv('PATH').split(os.pathsep):
-        path = os.path.join(dir, pgm)
+    for directory in os.getenv('PATH').split(os.pathsep):
+        path = os.path.join(directory, pgm)
         if os.access(path, os.X_OK):
             return path
     return None
@@ -464,7 +661,15 @@ def set_defaults():
     if not os.getenv('GRASS_PROJSHARE'):
         os.environ['GRASS_PROJSHARE'] = config_projshare
 
-    
+
+def set_display_defaults():
+    """ Predefine monitor size for certain architectures"""
+    if os.getenv('HOSTTYPE') == 'arm':
+        # small monitor on ARM (iPAQ, zaurus... etc)
+        os.environ['GRASS_RENDER_HEIGHT'] = "320"
+        os.environ['GRASS_RENDER_WIDTH'] = "240"
+
+
 def set_browser():
     # GRASS_HTML_BROWSER
     browser = os.getenv('GRASS_HTML_BROWSER')
@@ -472,7 +677,7 @@ def set_browser():
         if macosx:
             # OSX doesn't execute browsers from the shell PATH - route thru a
             # script
-            browser = gfile('etc', "html_browser_mac.sh")
+            browser = gpath('etc', "html_browser_mac.sh")
             os.environ['GRASS_HTML_BROWSER_MACOSX'] = "-b com.apple.helpviewer"
 
         if windows:
@@ -493,42 +698,46 @@ def set_browser():
         # OSX doesn't execute browsers from the shell PATH - route thru a
         # script
         os.environ['GRASS_HTML_BROWSER_MACOSX'] = "-b %s" % browser
-        browser = gfile('etc', "html_browser_mac.sh")
+        browser = gpath('etc', "html_browser_mac.sh")
 
     if not browser:
         warning(_("Searched for a web browser, but none found"))
         # even so we set konqueror to make lib/gis/parser.c happy:
+        # TODO: perhaps something more probable would be better, e.g. xdg-open
         browser = "konqueror"
 
     os.environ['GRASS_HTML_BROWSER'] = browser
 
 
-def create_initial_gisrc():
+def ensure_home():
+    """Set HOME if not set on MS Windows"""
+    if windows and not os.getenv('HOME'):
+        os.environ['HOME'] = os.path.join(os.getenv('HOMEDRIVE'),
+                                          os.getenv('HOMEPATH'))
+
+def create_initial_gisrc(filename):
     # for convenience, define GISDBASE as pwd:
     s = r"""GISDBASE: %s
 LOCATION_NAME: <UNKNOWN>
 MAPSET: <UNKNOWN>
 """ % os.getcwd()
-    writefile(gisrc, s)
+    writefile(filename, s)
 
 
-def check_gui():
-    global grass_gui, wxpython_base
+def check_gui(expected_gui):
+    grass_gui = expected_gui
     # Check if we are running X windows by checking the DISPLAY variable
     if os.getenv('DISPLAY') or windows or macosx:
         # Check if python is working properly
-        if grass_gui in ('wxpython', 'gtext'):
+        if expected_gui in ('wxpython', 'gtext'):
             nul = open(os.devnull, 'w')
             p = Popen([os.environ['GRASS_PYTHON']], stdin=subprocess.PIPE,
                       stdout=nul, stderr=nul)
             nul.close()
-            p.stdin.write("variable=True")
+            p.stdin.write("variable=True".encode(ENCODING))
             p.stdin.close()
             p.wait()
-            if p.returncode == 0:
-                # Set the wxpython base directory
-                wxpython_base = gfile("gui", "wxpython")
-            else:
+            if p.returncode != 0:
                 # Python was not found - switch to text interface mode
                 warning(_("The python command does not work as expected!\n"
                           "Please check your GRASS_PYTHON environment variable.\n"
@@ -540,31 +749,127 @@ def check_gui():
 
     else:
         # Display a message if a graphical interface was expected
-        if grass_gui != 'text':
+        if expected_gui != 'text':
             # Set the interface mode to text
             warning(_("It appears that the X Windows system is not active.\n"
                       "A graphical based user interface is not supported.\n"
+                      "(DISPLAY variable is not set.)\n"
                       "Switching to text based interface mode.\n\n"
-                      "Hit RETURN to continue"""))
+                      "Hit RETURN to continue.\n"))
             sys.stdin.readline()
             grass_gui = 'text'
+    return grass_gui
 
-    # Save the user interface variable in the grassrc file - choose a temporary
-    # file name that should not match another file
+
+def save_gui(gisrc, grass_gui):
+    """Save the user interface variable in the grassrc file"""
     if os.access(gisrc, os.F_OK):
-        kv = read_gisrc()
+        kv = read_gisrc(gisrc)
         kv['GUI'] = grass_gui
-        write_gisrc(kv)
+        write_gisrc(kv, gisrc)
+
+
+def create_location(gisdbase, location, geostring):
+    """Create GRASS Location using georeferenced file or EPSG
+
+    EPSG code format is ``EPSG:code`` or ``EPSG:code:datum_trans``.
+
+    :param gisdbase: Path to GRASS GIS database directory
+    :param location: name of new Location
+    :param geostring: path to a georeferenced file or EPSG code
+    """
+    if gpath('etc', 'python') not in sys.path:
+        sys.path.append(gpath('etc', 'python'))
+    from grass.script import core as gcore  # pylint: disable=E0611
+
+    try:
+        if geostring and geostring.upper().find('EPSG:') > -1:
+            # create location using EPSG code
+            epsg = geostring.split(':', 1)[1]
+            if ':' in epsg:
+                epsg, datum_trans = epsg.split(':', 1)
+            else:
+                datum_trans = None
+            gcore.create_location(gisdbase, location,
+                                  epsg=epsg, datum_trans=datum_trans)
+        else:
+            # create location using georeferenced file
+            gcore.create_location(gisdbase, location,
+                                  filename=geostring)
+    except gcore.ScriptError as err:
+        fatal(err.value.strip('"').strip("'").replace('\\n', os.linesep))
+
+
+# interface created according to the current usage
+def is_mapset_valid(full_mapset):
+    """Return True if GRASS Mapset is valid"""
+    return os.access(os.path.join(full_mapset, "WIND"), os.R_OK)
+
+
+def is_location_valid(gisdbase, location):
+    """Return True if GRASS Location is valid
+
+    :param gisdbase: Path to GRASS GIS database directory
+    :param location: name of a Location
+    """
+    return os.access(os.path.join(gisdbase, location,
+                                  "PERMANENT", "DEFAULT_WIND"), os.F_OK)
+
+
+# basically checking location, possibly split into two functions
+# (mapset one can call location one)
+def get_mapset_invalid_reason(gisdbase, location, mapset):
+    """Returns a message describing what is wrong with the Mapset
+
+    :param gisdbase: Path to GRASS GIS database directory
+    :param location: name of a Location
+    :param mapset: name of a Mapset
+    :returns: translated message
+    """
+    full_location = os.path.join(gisdbase, location)
+    if not os.path.exists(full_location):
+        return _("Location <%s> doesn't exist") % full_location
+    elif 'PERMANENT' not in os.listdir(full_location):
+        return _("<%s> is not a valid GRASS Location"
+                 " because PERMANENT Mapset is missing") % full_location
+    elif not os.path.isdir(os.path.join(full_location, 'PERMANENT')):
+        return _("<%s> is not a valid GRASS Location"
+                 " because PERMANENT is not a directory") % full_location
+    elif not os.path.isfile((os.path.join(full_location,
+                                          'PERMANENT', 'DEFAULT_WIND'))):
+        return _("<%s> is not a valid GRASS Location"
+                 " because PERMANENT Mapset does not have a DEFAULT_WIND file"
+                 " (default computational region)") % full_location
+    else:
+        return _("Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. "
+                 "A new mapset can be created by '-c' switch.").format(
+                     mapset=mapset, loc=location)
+
 
+def set_mapset(gisrc, arg, geofile=None, create_new=False):
+    """Selected Location and Mapset are checked and created if requested
 
-def non_interactive(arg, geofile=None):
-    global gisdbase, location_name, mapset, location
-    # Try non-interactive startup
+    The gisrc (GRASS environment file) is written at the end
+    (nothing is returned).
+    """
     l = None
 
     if arg == '-':
-        if location:
-            l = location
+        # TODO: repair or remove behavior env vars + `grass71 -` (see doc)
+        # this is broken for some time (before refactoring, e.g. r65235)
+        # is some code is added, it should be a separate function, probably
+        # called here
+        # older comment for global vars:
+        # TODO: it does not seem that these would be ever set before calling this
+        # function, so we may just delete them here (the globals are set from
+        # the gisrc later on). But where is setting from environmental variables?
+        # the following probable means if env var defined, use it
+        # originates from r37863 (Convert grass70 script to Python) but even
+        # there it seems that it will never succeed
+        # it would have to be defined also for other vars
+        # if location:
+        #    l = location
+        pass
     else:
         l = arg
 
@@ -579,67 +884,29 @@ def non_interactive(arg, geofile=None):
             l, mapset = os.path.split(l)
         l, location_name = os.path.split(l)
         gisdbase = l
-    
+
     if gisdbase and location_name and mapset:
         location = os.path.join(gisdbase, location_name, mapset)
 
         # check if 'location' is a valid GRASS location/mapset
-        if not os.access(os.path.join(location, "WIND"), os.R_OK):
+        if not is_mapset_valid(location):
             if not create_new:
                 # 'location' is not valid, check if 'location_name' is
                 # a valid GRASS location
-                if not os.path.exists(os.path.join(gisdbase, location_name)):
-                    fatal(_("Location <%s> doesn't exist") % os.path.join(gisdbase, location_name))
-                elif 'PERMANENT' not in os.listdir(os.path.join(gisdbase, location_name)) or \
-                        not os.path.isdir(os.path.join(gisdbase, location_name, 'PERMANENT')) or \
-                        not os.path.isfile((os.path.join(gisdbase, location_name, 'PERMANENT',
-                                                         'DEFAULT_WIND'))):
-                        fatal(_("ERROR: <%s> is not a valid GRASS location") % \
-                                  os.path.join(gisdbase, location_name))
-                else:
-                    fatal(_("Mapset <%s> doesn't exist in GRASS location <%s>. "
-                            "A new mapset can be created by '-c' switch.") % (mapset, location_name))
-
+                fatal(get_mapset_invalid_reason(gisdbase, location_name, mapset))
             else:
                 # 'location' is not valid, the user wants to create
                 # mapset on the fly
-                if not os.access(os.path.join(gisdbase, location_name,
-                                              "PERMANENT",
-                                              "DEFAULT_WIND"), os.F_OK):
+                if not is_location_valid(gisdbase, location_name):
                     # 'location_name' is not a valid GRASS location,
                     # create new location and 'PERMANENT' mapset
                     gisdbase = os.path.join(gisdbase, location_name)
                     location_name = mapset
                     mapset = "PERMANENT"
-                    if os.access(os.path.join(os.path.join(gisdbase,
-                                                           location_name,
-                                                           "PERMANENT",
-                                                           "DEFAULT_WIND")),
-                                 os.F_OK):
+                    if is_location_valid(gisdbase, location_name):
                         fatal(_("Failed to create new location. "
                                 "The location <%s> already exists." % location_name))
-                        
-                    if gfile('etc', 'python') not in sys.path:
-                        sys.path.append(gfile('etc', 'python'))
-                    from grass.script import core as grass
-                    
-                    try:
-                        if geofile and geofile.upper().find('EPSG:') > -1:
-                            # create location using EPSG code
-                            epsg = geofile.split(':', 1)[1]
-                            if ':' in epsg:
-                                epsg, datum_trans = epsg.split(':', 1)
-                            else:
-                                datum_trans = None
-                            grass.create_location(gisdbase, location_name,
-                                                  epsg=epsg, datum_trans=datum_trans)
-                        else:
-                            # create location using georeferenced file
-                            grass.create_location(gisdbase, location_name,
-                                                  filename=geofile)
-                    except grass.ScriptError as e:
-                        fatal(e.value.strip('"').strip("'").replace('\\n',
-                                                                   os.linesep))
+                    create_location(gisdbase, location_name, geofile)
                 else:
                     # 'location_name' is a valid GRASS location,
                     # create new mapset
@@ -651,86 +918,130 @@ def non_interactive(arg, geofile=None):
                     message(_("Missing WIND file fixed"))
 
         if os.access(gisrc, os.R_OK):
-            kv = read_gisrc()
+            kv = read_gisrc(gisrc)
         else:
             kv = {}
 
         kv['GISDBASE'] = gisdbase
         kv['LOCATION_NAME'] = location_name
         kv['MAPSET'] = mapset
-        write_gisrc(kv)
+        write_gisrc(kv, gisrc)
     else:
         fatal(_("GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
                 "Interactive startup needed."))
 
 
-def set_data():
-    # User selects LOCATION and MAPSET if not set
-    if not location:
-        # Check for text interface
-        if grass_gui == 'text':
-            pass
-        # Check for GUI
-        elif grass_gui in ('gtext', 'wxpython'):
-            if not os.path.exists(gfile(wxpython_base, "gis_set.py")):
-                # No GUI available, update gisrc file
-                fatal(_("<{}> requested, but not available. Run GRASS in text "
-                        "mode (-text) or install missing package (usually "
-                        "'grass-gui').").format(grass_gui))
-            else:
-                gui_startup(grass_gui == 'gtext')
-        else:
-            # Shouldn't need this but you never know
-            fatal(_("Invalid user interface specified - <%s>. " 
-                    "Use the --help option to see valid interface names.") % grass_gui)
+def set_mapset_interactive(grass_gui):
+    """User selects Location and Mapset in an interative way
 
+    The gisrc (GRASS environment file) is written at the end.
+    """
+    if not os.path.exists(wxpath("gis_set.py")) and grass_gui != 'text':
+        debug("No GUI available, switching to text mode")
+        return False
+    
+    # Check for text interface
+    if grass_gui == 'text':
+        # TODO: maybe this should be removed and solved from outside
+        # this depends on what we expect from this function
+        # should gisrc be ok after running or is it allowed to be still not set
+        pass
+    # Check for GUI
+    elif grass_gui in ('gtext', 'wxpython'):
+        gui_startup(grass_gui)
+    else:
+        # Shouldn't need this but you never know
+        fatal(_("Invalid user interface specified - <%s>. "
+                "Use the --help option to see valid interface names.") % grass_gui)
 
-def gui_startup(wscreen_only = False):
+    return True
+
+def gui_startup(grass_gui):
+    """Start GUI for startup (setting gisrc file)"""
     if grass_gui in ('wxpython', 'gtext'):
-        ret = call([os.getenv('GRASS_PYTHON'), gfile(wxpython_base, "gis_set.py")])
+        ret = call([os.getenv('GRASS_PYTHON'), wxpath("gis_set.py")])
 
+    # this if could be simplified to three branches (0, 5, rest)
+    # if there is no need to handle unknown code separately
     if ret == 0:
         pass
-    elif ret == 1:
-        # The startup script printed an error message so wait
-        # for user to read it
-        message(_("Error in GUI startup. If necessary, please "
-                  "report this error to the GRASS developers.\n"
-                  "Switching to text mode now.\n\n"
-                  "Hit RETURN to continue..."))
-        sys.stdin.readline()
-
-        os.execlp(cmd_name, "-text")
-        sys.exit(1)
-    elif ret == 2:
+    elif ret in [1, 2]:
+        # 1 probably error comming from gis_set.py
+        # 2 probably file not found from python interpreter
+        # formerly we were starting in text mode instead, now we just fail
+        # which is more straightforward for everybody
+        fatal(_("Error in GUI startup. See messages above (if any)"
+                " and if necessary, please"
+                " report this error to the GRASS developers.\n"
+                "On systems with package manager, make sure you have the right"
+                " GUI package, probably named grass-gui, installed.\n"
+                "To run GRASS GIS in text mode use the -text flag."))
+    elif ret == 5:  # defined in gui/wxpython/gis_set.py
         # User wants to exit from GRASS
-        message(_("Received EXIT message from GUI.\nGRASS is not started. Bye."))
+        message(_("Exit was requested in GUI.\nGRASS GIS will not start. Bye."))
         sys.exit(0)
     else:
         fatal(_("Invalid return code from GUI startup script.\n"
                 "Please advise GRASS developers of this error."))
 
 
-def load_gisrc():
-    global gisdbase, location_name, mapset, location
-    kv = read_gisrc()
-    gisdbase = kv.get('GISDBASE')
-    location_name = kv.get('LOCATION_NAME')
-    mapset = kv.get('MAPSET')
-    if not gisdbase or not location_name or not mapset:
+# we don't follow the LOCATION_NAME legacy naming here but we have to still
+# translate to it, so always double check
+class MapsetSettings(object):
+    """Holds GRASS GIS database directory, Location and Mapset
+
+    Provides few convenient functions.
+    """
+    def __init__(self):
+        self.gisdbase = None
+        self.location = None
+        self.mapset = None
+        self._full_mapset = None
+
+    # TODO: perhaps full_mapset would be better as mapset_path
+    # TODO: works only when set for the first time
+    # this follows the current usage but we must invalidate when
+    # the others are changed (use properties for that)
+    @property
+    def full_mapset(self):
+        if self._full_mapset is None:
+            self._full_mapset = os.path.join(self.gisdbase, self.location,
+                                             self.mapset)
+        return self._full_mapset
+
+    # TODO: perhaps conversion to bool would be nicer
+    def is_valid(self):
+        return self.gisdbase and self.location and self.mapset
+
+
+# TODO: does it really makes sense to tell user about gisrcrc?
+# anything could have happened in between loading from gisrcrc and now
+# (we do e.g. GUI or creating loctation)
+def load_gisrc(gisrc, gisrcrc):
+    """Get the settings of Location and Mapset from the gisrc file
+
+    :returns: MapsetSettings object
+    """
+    mapset_settings = MapsetSettings()
+    kv = read_gisrc(gisrc)
+    mapset_settings.gisdbase = kv.get('GISDBASE')
+    mapset_settings.location = kv.get('LOCATION_NAME')
+    mapset_settings.mapset = kv.get('MAPSET')
+    if not mapset_settings.is_valid():
         fatal(_("Error reading data path information from g.gisenv.\n"
-                "GISDBASE=%(gisbase)s\n"
-                "LOCATION_NAME=%(location)s\n"
-                "MAPSET=%(mapset)s\n\n"
-                "Check the <%s(file)> file." % \
-                    {'gisbase': gisdbase, 'location': location_name,
-                     'mapset': mapset, 'file': gisrcrc}))
-
-    location = os.path.join(gisdbase, location_name, mapset)
+                "GISDBASE={gisbase}\n"
+                "LOCATION_NAME={location}\n"
+                "MAPSET={mapset}\n\n"
+                "Check the <{file}> file.").format(
+                    gisbase=mapset_settings.gisdbase,
+                    location=mapset_settings.location,
+                    mapset=mapset_settings.mapset,
+                    file=gisrcrc))
+    return mapset_settings
 
 
 # load environmental variables from grass_env_file
-def load_env():
+def load_env(grass_env_file):
     if not os.access(grass_env_file, os.R_OK):
         return
 
@@ -739,17 +1050,10 @@ def load_env():
             k, v = map(lambda x: x.strip(), line.strip().split(' ', 1)[1].split('=', 1))
         except:
             continue
-        
-        evalue = os.getenv(k)
-        if evalue:
-            if k == 'GRASS_ADDON_PATH':
-                os.environ[k] = evalue + os.pathsep + v
-            else:
-                warning(_("Environmental variable '%s' already set, ignoring value '%s'") % \
-                            (k, v))
-        else:
-            os.environ[k] = v
-    
+
+        debug("Environmental variable set {}={}".format(k, v))
+        os.environ[k] = v
+
     # Allow for mixed ISIS-GRASS Environment
     if os.getenv('ISISROOT'):
         isis = os.getenv('ISISROOT')
@@ -762,7 +1066,8 @@ def load_env():
         isis3rdparty = os.getenv('ISIS_3RDPARTY')
         os.environ['LD_LIBRARY_PATH'] = libpath + os.pathsep + isislibpath + os.pathsep + isis3rdparty
 
-def set_language():
+
+def set_language(grass_config_dir):
     # This function is used to override system default language and locale
     # Such override can be requested only from wxGUI
     # An override if user has provided correct environmental variables as
@@ -771,11 +1076,9 @@ def set_language():
     # thus it always on Vista and XP will print an error.
     # See discussion for Windows not following its own documentation and
     # not accepting ISO codes as valid locale identifiers http://bugs.python.org/issue10466
-    import locale
-    
     language = 'None' # Such string sometimes is present in wx file
     encoding = None
-    
+
     # Override value is stored in wxGUI preferences file.
     # As it's the only thing required, we'll just grep it out.
     try:
@@ -790,7 +1093,7 @@ def set_language():
                 language = ''.join(line.split(';')[-1:])
                 break
         fd.close()
-    
+
     if language == 'None' or language == '' or not language:
         # Language override is disabled (system language specified)
         # As by default program runs with C locale, but users expect to
@@ -801,19 +1104,19 @@ def set_language():
             # If we get here, system locale settings are terribly wrong
             # There is no point to continue as GRASS/Python will fail
             # in some other unpredictable way.
-            print "System locale is not usable. It indicates misconfigured environment."
-            print "Reported error message: %s" % e
+            print("System locale is not usable. "
+                  "It indicates misconfigured environment.")
+            print("Reported error message: %s" % e)
             sys.exit("Fix system locale settings and then try again.")
-        
+
         language, encoding = locale.getdefaultlocale()
         if not language:
             warning(_("Default locale settings are missing. GRASS running with C locale."))
             return
-    
+
     else:
-        if grass_debug:
-            message(_("A language override has been requested. Trying to switch GRASS into '%s'...") % language)
-        
+        debug("A language override has been requested."
+              " Trying to switch GRASS into '%s'..." % language)
         try:
             locale.setlocale(locale.LC_ALL, language)
         except locale.Error as e:
@@ -842,7 +1145,7 @@ def set_language():
                     # language
                     os.environ['LANGUAGE'] = language
                     return
-    
+
     # Set up environment for subprocesses
     os.environ['LANGUAGE'] = language
     os.environ['LANG'] = language
@@ -861,56 +1164,91 @@ def set_language():
     os.environ['LC_NUMERIC'] = 'C'
     if os.getenv('LC_ALL'):
         del os.environ['LC_ALL']  # Remove LC_ALL to not override LC_NUMERIC
-    
+
     # From now on enforce the new language
-    if encoding: 
-        gettext.install('grasslibs', os.path.join(gisbase, 'locale'), codeset=encoding)
+    if encoding:
+        gettext.install('grasslibs', gpath('locale'), codeset=encoding)
     else:
-        gettext.install('grasslibs', os.path.join(gisbase, 'locale'))
-
-def check_lock():
-    global lockfile
-    if not os.path.exists(location):
-        fatal(_("Path '%s' doesn't exist") % location)
-    if not os.access(location, os.W_OK):
-        error = "Path '%s' not accessible." % location
-        stat_info = os.stat(location)
+        gettext.install('grasslibs', gpath('locale'))
+
+
+# TODO: grass_gui parameter is a hack and should be removed, see below
+def lock_mapset(mapset_path, force_gislock_removal, user, grass_gui):
+    """Lock the mapset and return name of the lock file
+
+    Behavior on error must be changed somehow; now it fatals but GUI case is
+    unresolved.
+    """
+    if not os.path.exists(mapset_path):
+        fatal(_("Path '%s' doesn't exist") % mapset_path)
+    if not os.access(mapset_path, os.W_OK):
+        error = _("Path '%s' not accessible.") % mapset_path
+        stat_info = os.stat(mapset_path)
         mapset_uid = stat_info.st_uid
         if mapset_uid != os.getuid():
-            error += "You are not the owner of '%s'" % location
-        fatal(_(error))
-
+            # GTC %s is mapset's folder path
+            error = "%s\n%s" % (error, _("You are not the owner of '%s'.") % mapset_path)
+        fatal(error)
     # Check for concurrent use
-    lockfile = os.path.join(location, ".gislock")
-    ret = call([gfile("etc", "lock"), lockfile, "%d" % os.getpid()])
-    if ret == 0:
-        msg = None
-    elif ret == 2:
-        msg = _("%(user)s is currently running GRASS in selected mapset (" \
-                "file %(file)s found). Concurrent use not allowed." % {
-                'user': user, 'file': lockfile})
-    else:
+    lockfile = os.path.join(mapset_path, ".gislock")
+    ret = call([gpath("etc", "lock"), lockfile, "%d" % os.getpid()])
+    msg = None
+    if ret == 2:
+        if not force_gislock_removal:
+            msg = _("%(user)s is currently running GRASS in selected mapset (" \
+                    "file %(file)s found). Concurrent use not allowed.\nYou can force launching GRASS using -f flag " \
+                    "(note that you need permission for this operation). Have another look in the processor " \
+                    "manager just to be sure..." % {
+                        'user': user, 'file': lockfile})
+        else:
+            try_remove(lockfile)
+            message(_("%(user)s is currently running GRASS in selected mapset (" \
+                      "file %(file)s found). Forcing to launch GRASS..." % {
+                          'user': user, 'file': lockfile}))
+    elif ret != 0:
         msg = _("Unable to properly access '%s'.\n"
                 "Please notify system personel.") % lockfile
 
+    # TODO: the gui decision should be done by the caller
+    # this needs some change to the function interafce, return tupple or
+    # use exceptions (better option)
     if msg:
         if grass_gui == "wxpython":
-            call([os.getenv('GRASS_PYTHON'), gfile(wxpython_base, "gis_set_error.py"), msg])
+            call([os.getenv('GRASS_PYTHON'), wxpath("gis_set_error.py"), msg])
+            # TODO: here we probably miss fatal or exit, needs to be added
         else:
-            global remove_lockfile
-            remove_lockfile = False
             fatal(msg)
+    debug("Mapset <{mapset}> locked using '{lockfile}'".format(
+        mapset=mapset_path, lockfile=lockfile))
+    return lockfile
 
 
 def make_fontcap():
+    # TODO: is GRASS_FONT_CAP ever defined? It seems it must be defined in system
     fc = os.getenv('GRASS_FONT_CAP')
     if fc and not os.access(fc, os.R_OK):
         message(_("Building user fontcap..."))
         call(["g.mkfontcap"])
 
 
-def check_shell():
-    global sh, shellname, grass_env_file
+def ensure_db_connected(mapset):
+    """Predefine default driver if DB connection not defined
+
+    :param mapset: full path to the mapset
+    """
+    if not os.access(os.path.join(mapset, "VAR"), os.F_OK):
+        call(['db.connect', '-c', '--quiet'])
+
+
+def get_shell():
+    # set SHELL on ms windowns
+    # this was at the very beginning of the script but it can be anywhere
+    if windows:
+        if os.getenv('GRASS_SH'):
+            os.environ['SHELL'] = os.getenv('GRASS_SH')
+        if not os.getenv('SHELL'):
+            os.environ['SHELL'] = os.getenv('COMSPEC', 'cmd.exe')
+
     # cygwin has many problems with the shell setup
     # below, so i hardcoded everything here.
     if sys.platform == 'cygwin':
@@ -926,10 +1264,10 @@ def check_shell():
         except:
             sh = 'sh'
             os.environ['SHELL'] = sh
-        
+
         if windows and sh:
             sh = os.path.splitext(sh)[0]
-        
+
         if sh == "ksh":
             shellname = "Korn Shell"
         elif sh == "csh":
@@ -946,7 +1284,14 @@ def check_shell():
             shellname = "Command Shell"
         else:
             shellname = "shell"
+    # check for SHELL
+    if not os.getenv('SHELL'):
+        fatal(_("The SHELL variable is not set"))
+    return sh, shellname
 
+
+def get_grass_env_file(sh, grass_config_dir):
+    """Get name of the shell-specific GRASS environment (rc) file"""
     if sh in ['csh', 'tcsh']:
         grass_env_file = os.path.join(grass_config_dir, 'cshrc')
     elif sh in ['bash', 'msh', 'cygwin', 'sh']:
@@ -957,82 +1302,127 @@ def check_shell():
         grass_env_file = os.path.join(grass_config_dir, 'env.bat')
     else:
         grass_env_file = os.path.join(grass_config_dir, 'bashrc')
-        warning(_("Unsupported shell <%(sh)s>: %(env)s") % {'sh': sh,
-                                                       'env': grass_env_file})
+        warning(_("Unsupported shell <{sh}>: {env_file}").format(
+            sh=sh, env_file=grass_env_file))
+    return grass_env_file
 
-    # check for SHELL
-    if not os.getenv('SHELL'):
-        fatal(_("The SHELL variable is not set"))
 
+def get_batch_job_from_env_variable():
+    """Get script to execute from batch job variable if available
 
-def check_batch_job():
-    global batch_job
+    Fails with fatal if variable is set but content unusable.
+    """
     # hack to process batch jobs:
     batch_job = os.getenv('GRASS_BATCH_JOB')
+    # variable defined, but user might not have been careful enough
     if batch_job:
-        # defined, but ...
         if not os.access(batch_job, os.F_OK):
-          # wrong file
-          fatal(_("Job file '%s' has been defined in "
-                  "the 'GRASS_BATCH_JOB' variable but not found. Exiting.\n\n"
-                  "Use 'unset GRASS_BATCH_JOB' to disable batch job processing.") % batch_job)
+            # wrong file
+            fatal(_("Job file <%s> has been defined in "
+                    "the 'GRASS_BATCH_JOB' variable but not found. Exiting."
+                    "\n\n"
+                    "Use 'unset GRASS_BATCH_JOB' to disable "
+                    "batch job processing.") % batch_job)
         elif not os.access(batch_job, os.X_OK):
             # right file, but ...
-            fatal(_("Change file permission to 'executable' for '%s'") % batch_job)
-        else:
-            message(_("Executing '%s' ...") % batch_job)
-            grass_gui = "text"
-            shell = batch_job
-            bj = Popen(shell, shell=True)
-            bj.wait()
-            message(_("Execution of '%s' finished.") % batch_job)
+            fatal(_("Change file permission to 'executable' for <%s>")
+                  % batch_job)
+    return batch_job
 
 
-def start_gui():
-    # Start the chosen GUI but ignore text
-    if grass_debug:
-        message(_("GRASS GUI should be <%s>") % grass_gui)
+def run_batch_job(batch_job):
+    """Runs script, module or any command
+
+    If *batch_job* is a string (insecure) shell=True is used for execution.
+
+    :param batch_job: executable and parameters in a list or a string
+    """
+    batch_job_string = batch_job
+    if not isinstance(batch_job, basestring):
+        batch_job_string = ' '.join(batch_job)
+    message(_("Executing <%s> ...") % batch_job_string)
+    if isinstance(batch_job, basestring):
+        proc = Popen(batch_job, shell=True)
+    else:
+        try:
+            proc = Popen(batch_job, shell=False)
+        except OSError as error:
+            fatal(_("Execution of <{cmd}> failed:\n"
+                    "{error}").format(cmd=batch_job_string, error=error))
+    returncode = proc.wait()
+    message(_("Execution of <%s> finished.") % batch_job_string)
+    return returncode
 
+
+def start_gui(grass_gui):
+    """Start specified GUI
+
+    :param grass_gui: GUI name (allowed values: 'wxpython')
+    """
+    # Start the chosen GUI but ignore text
+    debug("GRASS GUI should be <%s>" % grass_gui)
+    
     # Check for gui interface
     if grass_gui == "wxpython":
-        Popen([os.getenv('GRASS_PYTHON'), gfile(wxpython_base, "wxgui.py")])
+        Popen([os.getenv('GRASS_PYTHON'), wxpath("wxgui.py")])
 
 
+def close_gui():
+    """Close GUI if running"""
+    if gpath('etc', 'python') not in sys.path:
+        sys.path.append(gpath('etc', 'python'))
+    from grass.script import core as gcore  # pylint: disable=E0611
+    env = gcore.gisenv()
+    if 'GUI_PID' not in env:
+        return
+    import signal
+    for pid in env['GUI_PID'].split(','):
+        debug("Exiting GUI with pid={}".format(pid))
+        try:
+            os.kill(int(pid), signal.SIGTERM)
+        except OSError as e:
+            message(_("Unable to close GUI. {}").format(e))
+        
 def clear_screen():
+    """Clear terminal"""
     if windows:
         pass
     # TODO: uncomment when PDCurses works.
     #   cls
     else:
-        if not os.getenv('GRASS_BATCH_JOB') and not grass_debug and not exit_grass:
+        if not is_debug():
             call(["tput", "clear"])
 
 
 def show_banner():
+    """Write GRASS GIS ASCII name to stderr"""
     sys.stderr.write(r"""
           __________  ___   __________    _______________
          / ____/ __ \/   | / ___/ ___/   / ____/  _/ ___/
-        / / __/ /_/ / /| | \__ \\_  \   / / __ / / \__ \ 
-       / /_/ / _, _/ ___ |___/ /__/ /  / /_/ // / ___/ / 
-       \____/_/ |_/_/  |_/____/____/   \____/___//____/  
+        / / __/ /_/ / /| | \__ \\_  \   / / __ / / \__ \
+       / /_/ / _, _/ ___ |___/ /__/ /  / /_/ // / ___/ /
+       \____/_/ |_/_/  |_/____/____/   \____/___//____/
 
 """)
 
 
 def say_hello():
+    """Write welcome to stderr including Subversion revision if in svn copy"""
     sys.stderr.write(_("Welcome to GRASS GIS %s") % grass_version)
     if grass_version.endswith('svn'):
         try:
-            filerev = open(os.path.join(gisbase, 'etc', 'VERSIONNUMBER'))
+            filerev = open(gpath('etc', 'VERSIONNUMBER'))
             linerev = filerev.readline().rstrip('\n')
             filerev.close()
-            
+
             revision = linerev.split(' ')[1]
             sys.stderr.write(' (' + revision + ')')
         except:
             pass
-    
-def show_info():
+
+
+def show_info(shellname, grass_gui, default_gui):
+    """Write basic infor about GRASS GIS and GRASS session to stderr"""
     sys.stderr.write(
 r"""
 %-41shttp://grass.osgeo.org
@@ -1045,17 +1435,17 @@ r"""
        shellname, os.getenv('SHELL'),
        _("Help is available with the command:"),
        _("See the licence terms with:")))
-    
+
     if grass_gui == 'wxpython':
         message("%-41sg.gui wxpython" % _("If required, restart the GUI with:"))
     else:
         message("%-41sg.gui %s" % (_("Start the GUI with:"), default_gui))
-    
+
     message("%-41sexit" % _("When ready to quit enter:"))
     message("")
 
 
-def csh_startup():
+def csh_startup(location, location_name, mapset, grass_env_file):
     userhome = os.getenv('HOME')      # save original home
     home = location
     os.environ['HOME'] = home
@@ -1099,13 +1489,14 @@ def csh_startup():
     f.close()
     writefile(tcshrc, readfile(cshrc))
 
-    process = Popen([gfile("etc", "run"), os.getenv('SHELL')])
-
+    process = Popen([gpath("etc", "run"), os.getenv('SHELL')])
+    
     os.environ['HOME'] = userhome
-
+    
     return process
 
-def bash_startup():
+
+def bash_startup(location, location_name, grass_env_file):
     # save command history in mapset dir and remember more
     os.environ['HISTFILE'] = os.path.join(location, ".bash_history")
     if not os.getenv('HISTSIZE') and not os.getenv('HISTFILESIZE'):
@@ -1124,10 +1515,10 @@ def bash_startup():
     f = open(bashrc, 'w')
     f.write("test -r ~/.alias && . ~/.alias\n")
     if os.getenv('ISISROOT'):
-        f.write("PS1='ISIS-GRASS %s (%s):\w > '\n" % (grass_version, location_name))
+        f.write("PS1='ISIS-GRASS %s (%s):\\w > '\n" % (grass_version, location_name))
     else:
-        f.write("PS1='GRASS %s (%s):\w > '\n" % (grass_version, location_name))
-    
+        f.write("PS1='GRASS %s (%s):\\w > '\n" % (grass_version, location_name))
+
     f.write("""grass_prompt() {
 	LOCATION="`g.gisenv get=GISDBASE,LOCATION_NAME,MAPSET separator='/'`"
 	if test -d "$LOCATION/grid3/G3D_MASK" && test -f "$LOCATION/cell/MASK" ; then
@@ -1143,68 +1534,69 @@ PROMPT_COMMAND=grass_prompt\n""" % (_("2D and 3D raster MASKs present"),
                                     _("3D raster MASK present")))
 
     # read environmental variables
-    path = os.path.join(userhome, ".grass.bashrc") # left for backward compatibility
-    if os.access(path, os.R_OK):
-        f.write(readfile(path) + '\n')
-    for env in os.environ.keys():
-        if env.startswith('GRASS'):
-            val = os.environ[env]
-            if ' ' in val:
-                val = '"%s"' % val
-            f.write('export %s=%s\n' % (env, val))
-    ### Replaced by code above (do not override already set up environment variables)
-    ###    if os.access(grass_env_file, os.R_OK):
-    ###        f.write(readfile(grass_env_file) + '\n')
+    for env_file in [os.path.join(userhome, ".grass.bashrc"),
+                      grass_env_file]:
+        if not os.access(env_file, os.R_OK):
+            continue
+        for line in readfile(env_file).splitlines():
+            if not line.startswith('export'):
+                f.write(line + '\n')
 
     f.write("export PATH=\"%s\"\n" % os.getenv('PATH'))
     f.write("export HOME=\"%s\"\n" % userhome) # restore user home path
 
     f.close()
-
-    process = Popen([gfile("etc", "run"), os.getenv('SHELL')])
-
+    
+    process = Popen([gpath("etc", "run"), os.getenv('SHELL')])
+    
     os.environ['HOME'] = userhome
     
     return process
 
-def default_startup():
+
+def default_startup(location, location_name):
     if windows:
         os.environ['PS1'] = "GRASS %s> " % (grass_version)
         # "$ETC/run" doesn't work at all???
         process = subprocess.Popen([os.getenv('SHELL')])
+        # TODO: is there a difference between this and clean_temp?
+        # TODO: why this is missing in the other startups?
         cleanup_dir(os.path.join(location, ".tmp"))  # remove GUI session files from .tmp
     else:
-        os.environ['PS1'] = "GRASS %s (%s):\w > " % (grass_version, location_name)
-        process = Popen([gfile("etc", "run"), os.getenv('SHELL')])
-        
+        os.environ['PS1'] = "GRASS %s (%s):\\w > " % (grass_version, location_name)
+        process = Popen([gpath("etc", "run"), os.getenv('SHELL')])
+
     return process
 
+
 def done_message():
-    if batch_job and os.access(batch_job, os.X_OK):
-        message(_("Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed.") % batch_job)
-        message(_("Goodbye from GRASS GIS"))
-        sys.exit(0)
-    else:
-        message(_("Done."))
-        message("")
-        message(_("Goodbye from GRASS GIS"))
-        message("")
+    # here was something for batch job but it was never called
+    message(_("Done."))
+    message("")
+    message(_("Goodbye from GRASS GIS"))
+    message("")
 
 
 def clean_temp():
     message(_("Cleaning up temporary files..."))
     nul = open(os.devnull, 'w')
-    call([gfile("etc", "clean_temp")], stdout=nul, stderr=nul)
+    call([gpath("etc", "clean_temp")], stdout=nul)
     nul.close()
 
 
-def grep(string,list):
-    expr = re.compile(string)
-    return [elem for elem in list if expr.match(elem)]
+def grep(pattern, lines):
+    """Search lines (list of strings) and return them when beginning matches.
+
+    >>> grep("a", ['abc', 'cab', 'sdr', 'aaa', 'sss'])
+    ['abc', 'aaa']
+    """
+    expr = re.compile(pattern)
+    return [elem for elem in lines if expr.match(elem)]
 
 
 def print_params():
-    plat = gfile(gisbase, 'include', 'Make', 'Platform.make')
+    """Write compile flags and other configuration to stderr"""
+    plat = gpath('include', 'Make', 'Platform.make')
     if not os.path.exists(plat):
         fatal(_("Please install the GRASS GIS development package"))
     fileplat = open(plat)
@@ -1214,7 +1606,7 @@ def print_params():
     params = sys.argv[2:]
     if not params:
         params = ['arch', 'build', 'compiler', 'path', 'revision']
-    
+
     for arg in params:
         if arg == 'path':
             sys.stdout.write("%s\n" % gisbase)
@@ -1222,7 +1614,7 @@ def print_params():
             val = grep('ARCH',linesplat)
             sys.stdout.write("%s\n" % val[0].split('=')[1].strip())
         elif arg == 'build':
-            build = os.path.join(gisbase,'include','grass','confparms.h')
+            build = gpath('include', 'grass', 'confparms.h')
             filebuild = open(build)
             val = filebuild.readline()
             filebuild.close()
@@ -1231,7 +1623,7 @@ def print_params():
             val = grep('CC',linesplat)
             sys.stdout.write("%s\n" % val[0].split('=')[1].strip())
         elif arg == 'revision':
-            rev = os.path.join(gisbase,'include','grass','gis.h')
+            rev = gpath('include', 'grass', 'gis.h')
             filerev = open(rev)
             linesrev = filerev.readlines()
             val = grep('#define GIS_H_VERSION', linesrev)
@@ -1242,7 +1634,7 @@ def print_params():
 
 
 def get_username():
-    global user
+    """Get name of the current user"""
     if windows:
         user = os.getenv('USERNAME')
         if not user:
@@ -1261,43 +1653,69 @@ def get_username():
                 pass
         if not user:
             user = "user_%d" % os.getuid()
+    return user
+
 
+class Parameters(object):
+    """Structure to hold standard part of command line parameters"""
+    # we don't need to define any methods
+    # pylint: disable=R0903
+    def __init__(self):
+        self.grass_gui = None
+        self.create_new = None
+        self.exit_grass = None
+        self.force_gislock_removal = None
+        self.mapset = None
+        self.geofile = None
 
-def parse_cmdline():
-    global args, grass_gui, create_new, exit_grass
+
+def parse_cmdline(argv, default_gui):
+    """Parse the standard part of command line parameters"""
+    params = Parameters()
     args = []
-    for i in sys.argv[1:]:
+    for i in argv:
         # Check if the user asked for the version
         if i in ["-v", "--version"]:
             message("GRASS GIS %s" % grass_version)
-            message('\n' + readfile(gfile("etc", "license")))
+            message('\n' + readfile(gpath("etc", "license")))
             sys.exit()
         # Check if the user asked for help
-        elif i in ["help", "-h", "-help", "--help"]:
-            help_message()
+        elif i in ["help", "-h", "-help", "--help", "--h"]:
+            help_message(default_gui=default_gui)
             sys.exit()
         # Check if the -text flag was given
         elif i in ["-text", "--text"]:
-            grass_gui = 'text'
+            params.grass_gui = 'text'
         # Check if the -gtext flag was given
         elif i in ["-gtext", "--gtext"]:
-            grass_gui = 'gtext'
+            params.grass_gui = 'gtext'
         # Check if the -gui flag was given
         elif i in ["-gui", "--gui"]:
-            grass_gui = default_gui
+            params.grass_gui = default_gui
         # Check if the -wxpython flag was given
         elif i in ["-wxpython", "-wx", "--wxpython", "--wx"]:
-            grass_gui = 'wxpython'
+            params.grass_gui = 'wxpython'
         # Check if the user wants to create a new mapset
         elif i == "-c":
-            create_new = True
+            params.create_new = True
         elif i == "-e":
-            exit_grass = True
+            params.exit_grass = True
+        elif i == "-f":
+            params.force_gislock_removal = True
         elif i == "--config":
             print_params()
             sys.exit()
         else:
             args.append(i)
+    if len(args) > 1:
+        params.mapset = args[1]
+        params.geofile = args[0]
+    elif len(args) == 1:
+        params.mapset = args[0]
+    else:
+        params.mapset = None
+    return params
+
 
 ### MAIN script starts here
 
@@ -1306,204 +1724,232 @@ windows = sys.platform == 'win32'
 cygwin = "cygwin" in sys.platform
 macosx = "darwin" in sys.platform
 
-### commented-out: broken winGRASS 
+# TODO: it is OK to remove this?
+# at the beginning of this file were are happily getting GISBASE
+# from the environment and we don't care about inconsistencies it might cause
+### commented-out: broken winGRASS
 # if 'GISBASE' in os.environ:
 #     sys.exit(_("ERROR: GRASS GIS is already running "
 #                "(environmental variable GISBASE found)"))
+# this is not really an issue, we should be able to overpower another session
 
 # Set GISBASE
 os.environ['GISBASE'] = gisbase
 
-# set HOME
-if windows and not os.getenv('HOME'):
-    os.environ['HOME'] = os.path.join(os.getenv('HOMEDRIVE'),
-                                      os.getenv('HOMEPATH'))
 
-# set SHELL
-if windows:
-    if os.getenv('GRASS_SH'):
-        os.environ['SHELL'] = os.getenv('GRASS_SH')
-    if not os.getenv('SHELL'):
-        os.environ['SHELL'] = os.getenv('COMSPEC', 'cmd.exe')
+def main():
+    """The main function which does the whole setup and run procedure
 
-atexit.register(cleanup)
+    Only few things are set on the module level.
+    """
+    # Set default GUI
+    default_gui = "wxpython"
 
-# Set default GUI
-default_gui = "wxpython"
+    # explain what is happening in debug mode (visible only in debug mode)
+    debug("GRASS_DEBUG environmental variable is set. It is meant to be"
+          " an internal variable for debugging only this script.\n"
+          " Use 'g.gisenv set=\"DEBUG=[0-5]\"'"
+          " to turn GRASS GIS debug mode on if you wish to do so.")
 
-# the following is only meant to be an internal variable for debugging this
-# script. use 'g.gisenv set="DEBUG=[0-5]"' to turn GRASS debug mode on properly
-grass_debug = os.getenv('GRASS_DEBUG')
+    # Set GRASS version number for R interface etc
+    # (must be an env var for MS Windows)
+    os.environ['GRASS_VERSION'] = grass_version
 
-# Set GRASS version number for R interface etc (must be an env_var for MS-Windows)
-os.environ['GRASS_VERSION'] = grass_version
+    # Set the GIS_LOCK variable to current process id
+    gis_lock = str(os.getpid())
+    os.environ['GIS_LOCK'] = gis_lock
 
-# Set the GIS_LOCK variable to current process id
-gis_lock = str(os.getpid())
-os.environ['GIS_LOCK'] = gis_lock
-
-if not os.path.exists(grass_config_dir):
-    os.mkdir(grass_config_dir)
-
-# Set the global grassrc file
-batch_job = os.getenv('GRASS_BATCH_JOB')
-if batch_job:
-    gisrcrc = os.path.join(grass_config_dir, "rc.%s" % platform.node())
-    if not os.access(gisrcrc, os.R_OK):
-        gisrcrc = os.path.join(grass_config_dir, "rc")
-else:
-    gisrcrc = os.path.join(grass_config_dir, "rc")
+    grass_config_dir = get_grass_config_dir()
 
-# Set the username and working directory
-get_username()
-
-# Parse the command-line options
-parse_cmdline()
-
-if exit_grass and not create_new:
-    fatal(_("Flag -e required also flag -c"))
-# Set language
-# This has to be called before any _() function call!
-# Subsequent functions are using _() calls and
-# thus must be called only after Language has been set.
-set_language()
-
-# Create the temporary directory and session grassrc file
-create_tmp()
-
-# Create the session grassrc file
-create_gisrc()
-
-# Set shell (needs to be called before load_env())
-check_shell()
-
-# Load environmental variables from the file
-load_env()
-
-# Ensure GUI is set
-read_gui()
-
-# Set PATH, PYTHONPATH
-set_paths()
-
-# Set LD_LIBRARY_PATH (etc) to find GRASS shared libraries
-path_prepend(gfile("lib"), ld_library_path_var)
-
-# Set GRASS_PAGER, GRASS_PYTHON, GRASS_GNUPLOT, GRASS_PROJSHARE
-set_defaults()
-
-# Set GRASS_HTML_BROWSER
-set_browser()
-
-#predefine monitor size for certain architectures
-if os.getenv('HOSTTYPE') == 'arm':
-    # small monitor on ARM (iPAQ, zaurus... etc)
-    os.environ['GRASS_RENDER_HEIGHT'] = "320"
-    os.environ['GRASS_RENDER_WIDTH'] = "240"
-
-# First time user - GISRC is defined in the GRASS script
-if not os.access(gisrc, os.F_OK):
-    if grass_gui == 'text' and len(args) == 0:
-        fatal(_("Unable to start GRASS. You can:\n"
-                " - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-                " - Create manually GISRC file (%s)\n"
-                " - Launch GRASS with path to "
-                "the location/mapset as an argument (`grass70 /path/to/location/mapset`)") % gisrcrc)
-    create_initial_gisrc()
-else:
-    clean_temp()
+    batch_job = get_batch_job_from_env_variable()
 
-if create_new:
-    message(_("Creating new GRASS GIS location/mapset..."))
-else:
-    message(_("Starting GRASS GIS..."))
-
-# Check that the GUI works
-check_gui()
-
-# Parsing argument to get LOCATION
-if not args:
-    # Try interactive startup
-    location = None
-else:
-    if create_new:
-        if len(args) > 1:
-            non_interactive(args[1], args[0])
-        else:
-            non_interactive(args[0])
+    # Parse the command-line options and set several global variables
+    batch_exec_param = '--exec'
+    try:
+        # raises ValueError when not found
+        index = sys.argv.index(batch_exec_param)
+        batch_job = sys.argv[index + 1:]
+        clean_argv = sys.argv[1:index]
+        params = parse_cmdline(clean_argv, default_gui=default_gui)
+    except ValueError:
+        params = parse_cmdline(sys.argv[1:], default_gui=default_gui)
+    if params.exit_grass and not params.create_new:
+        fatal(_("Flag -e requires also flag -c"))
+
+    grass_gui = params.grass_gui  # put it to variable, it is used a lot
+
+    gisrcrc = get_gisrc_from_config_dir(grass_config_dir, batch_job)
+
+    # Set the username
+    user = get_username()
+
+    # TODO: this might need to be moved before processing of parameters and getting batch job
+    # Set language
+    # This has to be called before any _() function call!
+    # Subsequent functions are using _() calls and
+    # thus must be called only after Language has been set.
+    set_language(grass_config_dir)
+
+    # Set shell (needs to be called before load_env())
+    sh, shellname = get_shell()
+    grass_env_file = get_grass_env_file(sh, grass_config_dir)
+
+    # Load environmental variables from the file (needs to be called
+    # before create_tmp())
+    load_env(grass_env_file)
+
+    # Create the temporary directory and session grassrc file
+    tmpdir = create_tmp(user, gis_lock)
+
+    cleaner = Cleaner()
+    cleaner.tmpdir = tmpdir
+    # object is not destroyed when its method is registered
+    atexit.register(cleaner.cleanup)
+
+    # Create the session grassrc file
+    gisrc = create_gisrc(tmpdir, gisrcrc)
+
+    ensure_home()
+    # Set PATH, PYTHONPATH, ...
+    set_paths(grass_config_dir=grass_config_dir)
+    # Set GRASS_PAGER, GRASS_PYTHON, GRASS_GNUPLOT, GRASS_PROJSHARE
+    set_defaults()
+    set_display_defaults()
+    # Set GRASS_HTML_BROWSER
+    set_browser()
+
+    # First time user - GISRC is defined in the GRASS script
+    if not os.access(gisrc, os.F_OK):
+        if grass_gui == 'text' and not params.mapset:
+            fatal(_("Unable to start GRASS GIS. You have the choice to:\n"
+                    " - Launch the GRASS GIS interface with"
+                    " the '-gui' switch (`{cmd_name} -gui`)\n"
+                    " - Launch GRASS GIS directly with path to "
+                    "the location/mapset as an argument"
+                    " (`{cmd_name} /path/to/location/mapset`)\n"
+                    " - Create manually the GISRC file ({gisrcrc})").format(
+                        cmd_name=cmd_name, gisrcrc=gisrcrc))
+        create_initial_gisrc(gisrc)
     else:
-        non_interactive(args[0])
-
-# User selects LOCATION and MAPSET if not set
-set_data()
-
-# Set GISDBASE, LOCATION_NAME, MAPSET, LOCATION from $GISRC
-load_gisrc()
-
-# Check .gislock file
-check_lock()
-
-# build user fontcap if specified but not present
-make_fontcap()
-
-# predefine default driver if DB connection not defined
-#  is this really needed?? Modules should call this when/if required.
-if not os.access(os.path.join(location, "VAR"), os.F_OK):
-    call(['db.connect', '-c', '--quiet'])
-
-check_batch_job()
-
-if not batch_job and not exit_grass:       
-    start_gui()
-
-clear_screen()
+        # clean only for user who is no first time
+        # (measured by presence of rc file)
+        clean_temp()
 
-# Display the version and license info
-if batch_job:
-    grass_gui = 'text'
-    clear_screen()
-    clean_temp()
-    try_remove(lockfile)
-    sys.exit(0)
-elif exit_grass:
-    clean_temp()
-    try_remove(lockfile)
-    sys.exit(0)
-else:
-    show_banner()
-    say_hello()
-    show_info()
-    if grass_gui == "wxpython":
-        message(_("Launching <%s> GUI in the background, please wait...") % grass_gui)
-
-if sh in ['csh', 'tcsh']:
-    shell_process = csh_startup()
-elif sh in ['bash', 'msh', 'cygwin']:
-    shell_process = bash_startup()
-else:
-    shell_process = default_startup()
+    if params.create_new:
+        message(_("Creating new GRASS GIS location/mapset..."))
+    else:
+        message(_("Starting GRASS GIS..."))
 
-# start GUI and register shell PID in rc file
-kv = read_gisrc()
-kv['PID'] = str(shell_process.pid)
-write_gisrc(kv)
-exit_val = shell_process.wait()
-if exit_val != 0:
-    warning(_("Failed to start shell '%s'") % os.getenv('SHELL'))
+    # Ensure GUI is set
+    if batch_job:
+        grass_gui = 'text'
+    else:
+        if not grass_gui:
+            # if GUI was not set previously (e.g. command line),
+            # get it from rc file or env variable
+            grass_gui = read_gui(gisrc, default_gui)
+        # check that the GUI works but only if not doing a batch job
+        grass_gui = check_gui(expected_gui=grass_gui)
+        # save GUI only if we are not doibg batch job
+        save_gui(gisrc, grass_gui)
+
+    # Parsing argument to get LOCATION
+    if not params.mapset:
+        # Try interactive startup
+        # User selects LOCATION and MAPSET if not set
+        if not set_mapset_interactive(grass_gui):
+            # No GUI available, update gisrc file
+            fatal(_("<{}> requested, but not available. Run GRASS in text "
+                    "mode (-text) or install missing package (usually "
+                    "'grass-gui').").format(grass_gui))
+    else:
+        # Try non-interactive start up
+        if params.create_new and params.geofile:
+            set_mapset(gisrc=gisrc, arg=params.mapset,
+                       geofile=params.geofile, create_new=True)
+        else:
+            set_mapset(gisrc=gisrc, arg=params.mapset,
+                       create_new=params.create_new)
 
-clear_screen()
+    # Set GISDBASE, LOCATION_NAME, MAPSET, LOCATION from $GISRC
+    # e.g. wxGUI startup screen writes to the gisrc file,
+    # so loading it is the only universal way to obtain the values
+    # this suppose that both programs share the right path to gisrc file
+    # TODO: perhaps gisrcrc should be removed from here
+    # alternatively, we can check validity here with all the info we have
+    # about what was used to create gisrc
+    mapset_settings = load_gisrc(gisrc, gisrcrc=gisrcrc)
 
-clean_env()
-clean_temp()
+    location = mapset_settings.full_mapset
 
-try_remove(lockfile)
+    # TODO: it seems that we are claiming mapset's tmp before locking
+    # (this is what the original code did but it is probably wrong)
+    cleaner.mapset_path = mapset_settings.full_mapset
 
-# Save GISRC
-s = readfile(gisrc)
-writefile(gisrcrc, s)
+    # check and create .gislock file
+    cleaner.lockfile = lock_mapset(mapset_settings.full_mapset, user=user,
+                                   force_gislock_removal=params.force_gislock_removal,
+                                   grass_gui=grass_gui)
 
-cleanup()
+    # build user fontcap if specified but not present
+    make_fontcap()
 
-# After this point no more grass modules may be called
+    # TODO: is this really needed? Modules should call this when/if required.
+    ensure_db_connected(location)
 
-done_message()
+    # Display the version and license info
+    # only non-error, interactive version continues from here
+    if batch_job:
+        returncode = run_batch_job(batch_job)
+        clean_temp()
+        sys.exit(returncode)
+    elif params.exit_grass:
+        clean_temp()
+        sys.exit(0)
+    else:
+        clear_screen()
+        show_banner()
+        say_hello()
+        show_info(shellname=shellname,
+                  grass_gui=grass_gui, default_gui=default_gui)
+        if grass_gui == "wxpython":
+            message(_("Launching <%s> GUI in the background, please wait...")
+                    % grass_gui)
+        if sh in ['csh', 'tcsh']:
+            shell_process = csh_startup(mapset_settings.full_mapset,
+                                        mapset_settings.location,
+                                        mapset_settings.mapset,
+                                        grass_env_file)
+        elif sh in ['bash', 'msh', 'cygwin']:
+            shell_process = bash_startup(mapset_settings.full_mapset,
+                                         mapset_settings.location,
+                                         grass_env_file)
+        else:
+            shell_process = default_startup(mapset_settings.full_mapset,
+                                            mapset_settings.location)
+
+        # start GUI and register shell PID in rc file
+        start_gui(grass_gui)
+        kv = read_gisrc(gisrc)
+        kv['PID'] = str(shell_process.pid)
+        write_gisrc(kv, gisrc)
+        exit_val = shell_process.wait()
+        if exit_val != 0:
+            warning(_("Failed to start shell '%s'") % os.getenv('SHELL'))
+
+        # close GUI if running
+        close_gui()
+        # here we are at the end of grass session
+        clear_screen()
+        # TODO: can we just register this atexit?
+        # TODO: and what is difference to deleting .tmp which we do?
+        clean_temp()
+        # save 'last used' GISRC after removing variables which shouldn't
+        # be saved, e.g. d.mon related
+        clean_env(gisrc)
+        writefile(gisrcrc, readfile(gisrc))
+        # After this point no more grass modules may be called
+        done_message()
+
+if __name__ == '__main__':
+    main()
diff --git a/lib/init/grass.sh b/lib/init/grass.sh
index 717b217..74afc59 100755
--- a/lib/init/grass.sh
+++ b/lib/init/grass.sh
@@ -28,4 +28,4 @@ if [ -z "$GRASS_PYTHON" ] ; then
 fi
 export GRASS_PYTHON
 
-exec "$GRASS_PYTHON" "@BINDIR@/grass70.py" "$@" &
+exec "$GRASS_PYTHON" "@BINDIR@/grass71.py" "$@" &
diff --git a/lib/init/grass7.html b/lib/init/grass7.html
index b8ce507..b6580be 100644
--- a/lib/init/grass7.html
+++ b/lib/init/grass7.html
@@ -2,7 +2,7 @@
 
 <h2>SYNOPSIS</h2>
 
-<b>grass70</b> [<b>-h</b> | <b>-help</b> | <b>--help</b>] [<b>-v</b> | <b>--version</b>]
+<b>grass71</b> [<b>-h</b> | <b>-help</b> | <b>--help</b>] [<b>-v</b> | <b>--version</b>]
     [<b>-c</b> | <b>-c geofile</b> | <b>-c EPSG:code[:datum_trans]</b>]
     [<b>-text</b> | <b>-gtext</b> | <b>-gui</b>]
     [[[<b><GISDBASE>/</b>]<b><LOCATION_NAME>/</b>]
@@ -75,13 +75,13 @@ user interface, as well as the desired mapset to work on.
 
 <p>The startup program will remember both the desired user interface
 and mapset. Thus, the next time the user runs GRASS, typing
-<em>grass70</em> (without any options) will start GRASS with the
+<em>grass71</em> (without any options) will start GRASS with the
 previous settings for the user interface and mapset selected.
 
 <p>If you specify a graphical user interface (<b>-gui</b>)
-the <em>grass70</em> program will try to verify that the system you
+the <em>grass71</em> program will try to verify that the system you
 specified exists and that you can access it successfully. If any of
-these checks fail then <em>grass70</em> will automatically switch back
+these checks fail then <em>grass71</em> will automatically switch back
 to the text user interface mode.
 
 <h2>ENVIRONMENT VARIABLES</h2>
@@ -106,14 +106,14 @@ propagate).
 
 <h3>User Interface Environment Variable</h3>
 
-<p>The <em>grass70</em> program will check for the existence of an
+<p>The <em>grass71</em> program will check for the existence of an
 environment variable called GRASS_GUI which indicates the type of user
 interface for GRASS to use. If this variable is not set
-when <em>grass70</em> is run, then it will be created and then saved
+when <em>grass71</em> is run, then it will be created and then saved
 in the <tt>$HOME/.grass7/rc</tt> file for the next time GRASS is
 run. It can be set to <tt>text</tt>, <tt>gtext</tt> or <tt>gui</tt>.
 
-<p>There is an order of precedence in the way <em>grass70</em>
+<p>There is an order of precedence in the way <em>grass71</em>
 determines the user interface to use. The following is the hierarchy
 from highest precedence to lowest.
 <ol>
@@ -186,7 +186,7 @@ environment variables. The available variables are as follows:
 <dl>
 <dt>LOCATION
 <dd> A fully qualified path to a mapset
-    (eg <tt>/usr/local/share/grassdata/spearfish60/PERMANENT</tt>). This
+    (eg <tt>/usr/local/share/grassdata/spearfish70/PERMANENT</tt>). This
     environment variable overrides the GISDBASE, LOCATION_NAME, and
     MAPSET variables.
 <dt>GISDBASE
@@ -212,47 +212,82 @@ script. The script file must have its executable bit set.
 <p>The following are some examples of how you could start GRASS
 
 <dl>
-<dt><b>grass70</b>
+<dt><b>grass71</b>
 <dd> Start GRASS using the default user interface. The user will be
     prompted to choose the appropriate location and mapset.
 
-<dt><b>grass70 -gui</b>
+<dt><b>grass71 -gui</b>
 <dd> Start GRASS using the graphical user interface. The user will be
     prompted to choose the appropriate location and mapset.
 
-<dt><b>grass70 -text</b>
+<dt><b>grass71 -text</b>
 <dd> Start GRASS using the text-based user interface. Appropriate
 location and mapset must be set by environmental variables (see
 examples below) otherwise taken from the last GRASS session.</dd>
 
-<dt><b>grass70 -gtext</b>
+<dt><b>grass71 -gtext</b>
 <dd> Start GRASS using the text-based user interface. The user will be
     prompted to choose the appropriate location and mapset.
 
-<dt><b>grass70 $HOME/grassdata/spearfish60/user1</b>
+<dt><b>grass71 $HOME/grassdata/spearfish70/user1</b>
 <dd> Start GRASS using the default user interface and automatically
     launch into the given mapset, bypassing the mapset selection menu.
 
-<dt><b>grass70 -gui -</b>
+<dt><b>grass71 -gui -</b>
 <dd> Start GRASS using the graphical user interface and try to
     obtain the location and mapset from environment variables.
 
-<dt><b>grass70 -c EPSG:4326 $HOME/grassdata/mylocation</b>
+<dt><b>grass71 -c EPSG:4326 $HOME/grassdata/mylocation</b>
 <dd> Creates new GRASS location with EPSG code 4326 (latitude-longitude, WGS84)
     in the specified GISDBASE
 
-<dt><b>grass70 -c EPSG:5514:3 $HOME/grassdata/mylocation</b>
+<dt><b>grass71 -c EPSG:5514:3 $HOME/grassdata/mylocation</b>
 <dd> Creates new GRASS location with EPSG code 5514 (S-JTSK / Krovak
     East North - SJTSK) with datum transformation parameters used in
     Czech Republic in the specified GISDBASE
 
-<dt><b>grass70 -c myvector.shp $HOME/grassdata/mylocation</b>
+<dt><b>grass71 -c myvector.shp $HOME/grassdata/mylocation</b>
 <dd> Creates new GRASS location based on georeferenced Shapefile
 
-<dt><b>grass70 -c myraster.tif $HOME/grassdata/mylocation</b>
+<dt><b>grass71 -c myraster.tif $HOME/grassdata/mylocation</b>
 <dd> Creates new GRASS location based on georeferenced GeoTIFF file
 </dl>
 
+<h3>exec interface example</h3>
+
+<!--
+Data created with:
+r.out.gdal input=elevation output=elevation.tiff
+r.out.gdal input=basin_50K output=basins.tiff
+Region issues ignored.
+-->
+
+Create a new Location based on a projection of a file:
+
+<div class="code"><pre>
+grass71 -c elevation.tiff -e .../grassdata/test1/
+</pre></div>
+
+Link external raster data to PERMANENT Mapset:
+
+<div class="code"><pre>
+grass71 .../grassdata/test1/PERMANENT/ --exec r.external input=basins.tiff output=basins
+grass71 .../grassdata/test1/PERMANENT/ --exec r.external input=elevation.tiff output=elevation
+</pre></div>
+
+Get statistics for one raster map:
+
+<div class="code"><pre>
+grass71 .../grassdata/test1/PERMANENT/ --exec r.univar map=elevation
+</pre></div>
+
+Compare the rasters visually:
+
+<div class="code"><pre>
+grass71 .../grassdata/test1/PERMANENT/ --exec g.gui.mapswipe first=elevation second=basins
+</pre></div>
+
+
 <h3>Other examples</h3>
 
 There are a variety of ways in which the <i>location environment
@@ -264,16 +299,16 @@ The following are some possible examples.
 The environment variables are defined as follows:
     
 <div class="code"><pre>
-LOCATION = /usr/local/share/grassdata/spearfish60/PERMANENT
+LOCATION = /usr/local/share/grassdata/spearfish70/PERMANENT
 GISDBASE = /usr/local/share/grassdata
-LOCATION_NAME = spearfish60
+LOCATION_NAME = spearfish70
 MAPSET = PERMANENT
 </pre></div>
 
 Start GRASS with the following command:
 
 <div class="code"><pre>
-grass70 -
+grass71 -
 </pre></div>
 
 GRASS will start with the mapset defined by LOCATION since the LOCATION
@@ -285,21 +320,21 @@ The environment variables are defined as follows:
     
 <div class="code"><pre>
 GISDBASE = /usr/local/share/grassdata
-LOCATION_NAME = spearfish60
+LOCATION_NAME = spearfish70
 MAPSET = PERMANENT
 </pre></div>
 
 Start GRASS with the following command:
 
 <div class="code"><pre>
-grass70 -
+grass71 -
 </pre></div>
     
 GRASS will start with the mapset defined by
 GISDBASE/LOCATION_NAME/MAPSET.
 
 <div class="code"><pre>
-grass70 /usr/home/grass/data/thailand/forests
+grass71 /usr/home/grass/data/thailand/forests
 </pre></div>
     
 GRASS will start with the
@@ -307,7 +342,7 @@ mapset <tt>/home/grass/data/thailand/forests</tt> which overrides the
 environment variables.
 
 <div class="code"><pre>
-grass70 swamps
+grass71 swamps
 </pre></div>
 
 GRASS will start with the mapset defined by
@@ -315,7 +350,7 @@ GISDBASE/LOCATION_NAME/swamps since the command line argument for the
 mapset overrides the environment variable MAPSET.
 
 <div class="code"><pre>
-grass70 thailand/forests
+grass71 thailand/forests
 </pre></div>
 
 GRASS will start with the mapset defined by GISDBASE/thailand/forests
@@ -355,4 +390,4 @@ Hamish Bowman<br>
 Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-12-31 09:19:51 +0100 (Thu, 31 Dec 2015) $</i>
+<i>Last changed: $Date: 2015-12-31 00:19:29 -0800 (Thu, 31 Dec 2015) $</i>
diff --git a/lib/init/helptext.html b/lib/init/helptext.html
index 007e7a0..a92c695 100644
--- a/lib/init/helptext.html
+++ b/lib/init/helptext.html
@@ -169,4 +169,4 @@ Please have a look at the GRASS GIS web site for tutorials and books:
 </em>
 
 <p>
-<i>Last changed: $Date: 2014-11-16 17:24:26 +0100 (Sun, 16 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-04-11 05:38:43 -0700 (Fri, 11 Apr 2014) $</i>
diff --git a/lib/init/variables.html b/lib/init/variables.html
index a310ff2..05a8dac 100644
--- a/lib/init/variables.html
+++ b/lib/init/variables.html
@@ -107,6 +107,14 @@ PERMANENT
   <dd>defines the name (path) of a shell script to be processed as
   batch job.</dd>
 
+  <dt>GRASS_COMPRESSOR</dt>
+  <dd>[libraster]<br>
+    the compression method for new raster maps can be set with the
+    environment variable GRASS_COMPRESSOR. Supported methods are RLE, 
+    ZLIB, LZ4, and BZIP2 if GRASS has been compiled with BZIP2 support. 
+    The default is ZLIB which can be changed with e.g. 
+    <tt>GRASS_COMPRESSOR=LZ4</tt></dd>
+
   <dt>GRASS_DB_ENCODING</dt>
   <dd>[various modules, wxGUI]<br>
     encoding for vector attribute data (utf-8, ascii, iso8859-1, koi8-r)</dd>
@@ -186,8 +194,12 @@ PERMANENT
     raster maps are compressed using zlib compression. This applies to all 
     raster map types (CELL, FCELL, DCELL).
     <br><br>
+    Valid zlib compression levels are -1 to 9. The <tt>GRASS_ZLIB_LEVEL=-1</tt> corresponds
+    to the zlib default value (equivalent to <tt>GRASS_ZLIB_LEVEL=6</tt>). Often
+    <tt>GRASS_ZLIB_LEVEL=1</tt> gives the best compromise between speed and compression.
+    <br><br>
     If the variable doesn't exist, or the value cannot be parsed as an
-    integer, zlib's default compression level will be used.</dd>
+    integer, zlib's default compression level 6 will be used.</dd>
   
   <dt>GRASS_MESSAGE_FORMAT</dt>
   <dd>[various modules, wxGUI]<br>
@@ -276,23 +288,58 @@ PERMANENT
 
   <dt>GRASS_VECTOR_TEMPORARY</dt>
   <dd>[vectorlib]<br> If the environment variable
-    GRASS_VECTOR_TEMPORARY exists, vector library will operate with
-    temporary vector maps. New vector maps will be created
-    in <tt>$MAPSET/.tmp/$HOSTNAME/vector</tt>, existing vector maps
-    will be read also from this directory. Note that temporary vector
-    maps are not visible to the user
-    via <em><a href="g.list.html">g.list</a></em>. They are used
-    internally by the GRASS modules and deleted automatically when the
-    map is closed or GRASS session quited. Note that this variable is
-    dedicated for internal use only.</dd>
-  
+    GRASS_VECTOR_TEMPORARY exists, GRASS vector library will operate
+    on temporary vector maps. New vector maps will be created in
+    temporary directory (see GRASS_VECTOR_TMPDIR_MAPSET variable), existing
+    vector maps will be read (if found) also from this directory. It
+    may be set to either:
+    <ul>
+      <li><tt>keep</tt> - the temporary vector map is not deleted when
+      closing the map.
+      <li><tt>move</tt> - the temporary vector map is moved to the
+      current mapset when closing the map.</li>
+      <li><tt>delete</tt> - the temporary vector map is deleted when
+      closing the map.
+      </li>
+    </ul>    
+    Default value is <tt>keep</tt>.
+
+    Note that temporary vector maps are not visible to the user
+    via <em><a href="g.list.html">g.list</a></em>
+    or <em><a href="wxGUI.html">wxGUI</a></em>. They are used
+    internally by the GRASS modules and deleted automatically when
+    GRASS session is quited.</dd>
+
+  <dt>GRASS_VECTOR_TMPDIR_MAPSET</dt>
+  <dd>[vectorlib]<br> By default GRASS temporary directory is located in
+  <tt>$LOCATION/$MAPSET/.tmp/$HOSTNAME</tt>. If GRASS_VECTOR_TMPDIR_MAPSET is
+  set to '0', the temporary directory is located in TMPDIR
+  (environmental variable defined by the user or GRASS initialization
+  script if not given).<br>
+  Important note: This variable is currently used only in vector
+  library. In other words the variable is ignored by raster or
+  raster3d library.</dd>
+
+  <dt>GRASS_VECTOR_TOPO_DEBUG</dt>
+  <dd>[vectorlib, v.generalize]<br> If the environment variable
+  GRASS_VECTOR_TOPO_DEBUG
+  exists, <em><a href="v.generalize.html">v.generalize</a></em> runs
+  in extremely slow debug mode.</dd>
+
   <dt>GRASS_WXBUNDLED</dt>
   <dd>[wxGUI]<br>
     set to tell wxGUI that a bundled wxPython will be used.<br>
     When set, the wxGUI will not check the wxPython version, as this
     function is incompatible with a bundled wxPython.  It is up to the
     packager to make sure that a compatible wxPython version is bundled.</dd>
-  
+
+  <dt>GRASS_WXVERSION</dt>
+  <dd>[wxGUI]<br>
+    set to tell wxGUI which version of wxPython to use.<br>
+    When set, the wxGUI will select the given wxPython version. It's
+    useful when multiple versions of wxPython are installed and the
+    user wants to run wxGUI with non-default wxPython version.</dd>
+
   <dt>GRASS_XTERM</dt>
   <dd>[lib/init/grass-xterm-wrapper, lib/init/grass-xterm-mac]<br>
     set to any value (e.g. rxvt, aterm, gnome-terminal, konsole) to
@@ -321,7 +368,7 @@ PERMANENT
     If OpenMP support is enabled this limits the number of threads.
     The default is set to the number of CPUs on the system.
     Setting to '1' effectively disables parallel processing.</dd>
-    
+
   <dt>TMPDIR, TEMP, TMP</dt>
   <dd>[Various GRASS GIS commands and wxGUI]<br>
   <!-- what about Windows %TEMP% and http://trac.osgeo.org/grass/ticket/560#comment:21 ? -->
@@ -369,6 +416,12 @@ PERMANENT
   <dt>GRASS_RENDER_TEXT_SIZE</dt>
   <dd>defines default text size.</dd>
 
+  <dt>GRASS_RENDER_COMMAND</dt>
+  <dd>external command called by display library to render data (see
+    example in <em><a href="displaydrivers.html">display
+    drivers</a></em> page for details).<br>Currently only Python scripts
+    are supported.</dd>
+
 </dl>
 
 For specific driver-related variables see:
@@ -521,4 +574,4 @@ Note: On MS Windows the files are stored in <tt>%APPDATA%</tt>.
 </em>
 
 <p>
-<i>Last changed: $Date: 2015-11-27 00:10:47 +0100 (Fri, 27 Nov 2015) $</i>
+<i>Last changed: $Date: 2016-02-20 02:08:19 -0800 (Sat, 20 Feb 2016) $</i>
diff --git a/lib/loc_struct.png b/lib/loc_struct.png
index 66f01c9..3c4e331 100644
Binary files a/lib/loc_struct.png and b/lib/loc_struct.png differ
diff --git a/lib/manage/do_copy.c b/lib/manage/do_copy.c
index 916c9c9..3691e89 100644
--- a/lib/manage/do_copy.c
+++ b/lib/manage/do_copy.c
@@ -64,6 +64,8 @@ int M_do_copy(int n, const char *old, const char *mapset, const char *new)
 	    }
 	    G_file_name(path2, list[n].element[i], new, G_mapset());
 	    if (G_recursive_copy(path, path2) == 1) {
+		G_warning(_("Unable to copy <%s> to current mapset as <%s>"),
+			  G_fully_qualified_name(old, mapset), new);
 		result = 1;
 	    }
 	    else {
diff --git a/lib/ogsf/gvld.c b/lib/ogsf/gvld.c
index f2a0214..04a262e 100644
--- a/lib/ogsf/gvld.c
+++ b/lib/ogsf/gvld.c
@@ -240,7 +240,7 @@ int gvld_isosurf(geovol * gvl)
 	nz[i] = 0;
     }
 
-    G_debug(5, "  intialize OK");
+    G_debug(5, "  initialize OK");
 
     for (z = 0; z < depths - 1; z++) {
 	zc = z * zres;
@@ -695,7 +695,7 @@ int gvld_wire_slices(geovol * gvl)
     for (i = 0; i < gvl->n_slices; i++) {
 	slice = gvl->slice[i];
 
-	/* intialize correct coords */
+	/* initialize correct coords */
 	if (slice->dir == X) {
 	    resx = gvl->yres;
 	    resy = gvl->zres;
diff --git a/lib/pngdriver/pngdriver.html b/lib/pngdriver/pngdriver.html
index e545c53..ffeb186 100644
--- a/lib/pngdriver/pngdriver.html
+++ b/lib/pngdriver/pngdriver.html
@@ -113,4 +113,4 @@ norgit.no</i>> <!-- broken link <I><a href="http://www.norgit.no">NORGIT AS</
 <br>
 Rewritten by: Glynn Clements, 2003
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/lib/pngdriver/read_png.c b/lib/pngdriver/read_png.c
index 56d37df..47389af 100644
--- a/lib/pngdriver/read_png.c
+++ b/lib/pngdriver/read_png.c
@@ -16,6 +16,8 @@
 #include <png.h>
 
 #include <grass/gis.h>
+#include <grass/glocale.h>
+
 #include "pngdriver.h"
 
 static void read_data(png_structp png_ptr, png_bytep data, png_size_t length)
@@ -37,7 +39,7 @@ static void read_data(png_structp png_ptr, png_bytep data, png_size_t length)
   check = fread(data, 1, length, fp);
 
   if (check != length)
-    G_fatal_error("PNG: Read Error");
+    G_fatal_error(_("Unable to read PNG"));
 }
 
 void read_png(void)
@@ -55,18 +57,18 @@ void read_png(void)
     png_ptr =
 	png_create_read_struct(PNG_LIBPNG_VER_STRING, &jbuf, NULL, NULL);
     if (!png_ptr)
-	G_fatal_error("PNG: couldn't allocate PNG structure");
+        G_fatal_error(_("Unable allocate PNG structure"));
 
     info_ptr = png_create_info_struct(png_ptr);
     if (!info_ptr)
-	G_fatal_error("PNG: couldn't allocate PNG structure");
+	G_fatal_error(_("Unable to allocate PNG structure"));
 
     if (setjmp(png_jmpbuf(png_ptr)))
-	G_fatal_error("error reading PNG file");
+	G_fatal_error(_("Unable to read PNG file"));
 
     input = fopen(png.file_name, "rb");
     if (!input)
-	G_fatal_error("PNG: couldn't open output file %s", png.file_name);
+	G_fatal_error(_("Unable to open output file <%s>"), png.file_name);
 
     png_set_read_fn(png_ptr, input, read_data);
 
@@ -76,20 +78,20 @@ void read_png(void)
 		 &depth, &color_type, NULL, NULL, NULL);
 
     if (depth != 8)
-	G_fatal_error("PNG: input file is not 8-bit");
+	G_fatal_error(_("Input PNG file is not 8-bit"));
 
-    if (i_width != png.width || i_height != png.height)
+    if (i_width != (unsigned long)png.width || i_height != (unsigned long)png.height)
 	G_fatal_error
-	    ("PNG: input file has incorrect dimensions: expected: %dx%d got: %lux%lu",
+	    (_("Input PNG file has incorrect dimensions: expected: %dx%d got: %lux%lu"),
 	     png.width, png.height, (unsigned long) i_width, (unsigned long) i_height);
 
     if (png.true_color) {
 	if (color_type != PNG_COLOR_TYPE_RGB_ALPHA)
-	    G_fatal_error("PNG: input file is not RGBA");
+	    G_fatal_error(_("Input PNG file is not RGBA"));
     }
     else {
 	if (color_type != PNG_COLOR_TYPE_PALETTE)
-	    G_fatal_error("PNG: input file is not indexed color");
+	    G_fatal_error(_("Input PNG file is not indexed color"));
     }
 
     if (!png.true_color && png.has_alpha) {
@@ -99,7 +101,7 @@ void read_png(void)
 	png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL);
 
 	if (num_trans != 1 || trans[0] != 0)
-	    G_fatal_error("PNG: input file has invalid palette");
+	    G_fatal_error(_("Input PNG file has invalid palette"));
     }
 
     if (png.true_color)
diff --git a/lib/pngdriver/write_png.c b/lib/pngdriver/write_png.c
index 10444f1..7080e5d 100644
--- a/lib/pngdriver/write_png.c
+++ b/lib/pngdriver/write_png.c
@@ -16,6 +16,8 @@
 #include <png.h>
 
 #include <grass/gis.h>
+#include <grass/glocale.h>
+
 #include "pngdriver.h"
 
 
@@ -34,7 +36,7 @@ static void write_data(png_structp png_ptr, png_bytep data, png_size_t length)
     check = fwrite(data, 1, length, fp);
 
     if (check != length)
-	G_fatal_error("PNG: Write Error");
+	G_fatal_error(_("Unable to write PNG"));
 }
 
 static void output_flush(png_structp png_ptr)
@@ -66,18 +68,18 @@ void write_png(void)
     png_ptr =
 	png_create_write_struct(PNG_LIBPNG_VER_STRING, &jbuf, NULL, NULL);
     if (!png_ptr)
-	G_fatal_error("PNG: couldn't allocate PNG structure");
+	G_fatal_error(_("Unable to allocate PNG structure"));
 
     info_ptr = png_create_info_struct(png_ptr);
     if (!info_ptr)
-	G_fatal_error("PNG: couldn't allocate PNG structure");
+	G_fatal_error(_("Unable to allocate PNG structure"));
 
     if (setjmp(png_jmpbuf(png_ptr)))
-	G_fatal_error("error writing PNG file");
+	G_fatal_error(_("Unable to write PNG file"));
 
     output = fopen(png.file_name, "wb");
     if (!output)
-	G_fatal_error("PNG: couldn't open output file %s", png.file_name);
+	G_fatal_error(_("Unable to open output PNG file <%s>"), png.file_name);
 
     png_set_write_fn(png_ptr, output, write_data, output_flush);
 
diff --git a/lib/proj/Makefile b/lib/proj/Makefile
index 9615f42..99ff541 100644
--- a/lib/proj/Makefile
+++ b/lib/proj/Makefile
@@ -16,16 +16,16 @@ NAD_TABLES := $(wildcard *.lla)
 
 NT_TABLES = ntv1_can.dat nzgd2kgrid0005.gsb
 
-CSV_FILES := $(wildcard *.csv)
+#CSV_FILES := $(wildcard *.csv)
 
 PROJ_DIR = $(ETC)/proj
 NAD_DIR  = $(ETC)/proj/nad
-CSV_DIR  = $(ETC)/proj/ogr_csv
+#CSV_DIR  = $(ETC)/proj/ogr_csv
 
 NAD_DSTFILES := $(patsubst %.lla,$(NAD_DIR)/%,$(NAD_TABLES))
 NAD_BINFILES := $(patsubst %.lla,$(OBJDIR)/%,$(NAD_TABLES))
 NT_DSTFILES  := $(patsubst %,$(NAD_DIR)/%,$(NT_TABLES))
-CSV_DSTFILES := $(patsubst %,$(CSV_DIR)/%,$(CSV_FILES))
+#CSV_DSTFILES := $(patsubst %,$(CSV_DIR)/%,$(CSV_FILES))
 
 NAD_SRCDIR = $(ETC)/proj/nad/src
 NAD_SRCFILES := $(patsubst %.lla,$(NAD_SRCDIR)/%.lla,$(NAD_TABLES))
@@ -34,7 +34,9 @@ PROJ_TABLES := desc.table parms.table units.table
 PROJ_DSTFILES := $(patsubst %,$(PROJ_DIR)/%,$(PROJ_TABLES))
 
 default: lib $(FTOL_OBJ)
-	$(MAKE) $(NAD_DSTFILES) $(CSV_DSTFILES) $(PROJ_DSTFILES) $(NAD_SRCFILES)
+	$(MAKE) $(NAD_DSTFILES) $(PROJ_DSTFILES) $(NAD_SRCFILES)
+
+#  $(CSV_DSTFILES)
 
 ifdef MINGW
 $(FTOL_OBJ): $(OBJDIR)/ftol.o
@@ -50,8 +52,8 @@ $(NAD_BINFILES): $(OBJDIR)/%: %.lla
 $(NT_DSTFILES): $(NAD_DIR)/%: % | $(NAD_DIR)
 	$(INSTALL_DATA) $< $@
 
-$(CSV_DSTFILES): $(CSV_DIR)/%.csv: %.csv | $(CSV_DIR)
-	$(INSTALL_DATA) $< $@
+#$(CSV_DSTFILES): $(CSV_DIR)/%.csv: %.csv | $(CSV_DIR)
+#	$(INSTALL_DATA) $< $@
 
 $(NAD_SRCFILES): $(NAD_SRCDIR)/%.lla: %.lla | $(NAD_SRCDIR)
 	$(INSTALL_DATA) $< $@
@@ -65,8 +67,8 @@ $(PROJ_DIR):
 $(NAD_DIR): | $(PROJ_DIR)
 	$(MKDIR) $@
 
-$(CSV_DIR): | $(PROJ_DIR)
-	$(MKDIR) $@
+#$(CSV_DIR): | $(PROJ_DIR)
+#	$(MKDIR) $@
 
 $(NAD_SRCDIR): | $(PROJ_DIR)
 	$(MKDIR) $@
diff --git a/lib/proj/convert.c b/lib/proj/convert.c
index 2ff3caf..0b09d16 100644
--- a/lib/proj/convert.c
+++ b/lib/proj/convert.c
@@ -141,6 +141,9 @@ OGRSpatialReferenceH GPJ_grass_to_osr(const struct Key_Value * proj_info,
 	return NULL;
     }
     G_free(proj4mod);
+    sysname = G_find_key_value("name", proj_info);
+    if (sysname)
+	OSRSetProjCS(hSRS, sysname);
 
     if ((errcode = OSRExportToWkt(hSRS, &wkt)) != OGRERR_NONE) {
 	G_warning(_("OGR can't get WKT-style parameter string "
@@ -152,7 +155,7 @@ OGRSpatialReferenceH GPJ_grass_to_osr(const struct Key_Value * proj_info,
     GPJ__get_ellipsoid_params(proj_info, &a, &es, &rf);
     haveparams = GPJ__get_datum_params(proj_info, &datum, &params);
 
-    if(ellpskv != NULL)
+    if (ellpskv != NULL)
 	ellps = G_store(ellpskv);
     else
 	ellps = NULL;
@@ -278,6 +281,7 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
     struct Key_Value *temp_projinfo;
     char *pszProj4 = NULL, *pszRemaining;
     char *pszProj = NULL;
+    const char *pszProjCS = NULL;
     char *datum = NULL;
     struct gpj_datum dstruct;
 
@@ -285,7 +289,7 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 	goto default_to_xy;
 
     /* Set finder function for locating OGR csv co-ordinate system tables */
-    SetCSVFilenameHook(GPJ_set_csv_loc);
+    /* SetCSVFilenameHook(GPJ_set_csv_loc); */
 
     /* Hopefully this doesn't do any harm if it wasn't in ESRI format
      * to start with... */
@@ -357,14 +361,13 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 	else
 	    pszValue = "defined";
 
-
+	/* projection name */
 	if (G_strcasecmp(pszToken, "proj") == 0) {
 	    /* The ll projection is known as longlat in PROJ.4 */
 	    if (G_strcasecmp(pszValue, "longlat") == 0)
 		pszValue = "ll";
 
 	    pszProj = pszValue;
-	    continue;
 	}
 
 	/* Ellipsoid and datum handled separately below */
@@ -383,15 +386,26 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 
 	G_set_key_value(pszToken, pszValue, temp_projinfo);
     }
+    if (!pszProj)
+	G_warning(_("No projection name! Projection parameters likely to be meaningless."));
 
     *projinfo = G_create_key_value();
 
     /* -------------------------------------------------------------------- */
-    /*      Derive the user name for the projection.                        */
+    /*      Derive the user name for the coordinate system.                 */
     /* -------------------------------------------------------------------- */
-    if (pszProj) {
+    pszProjCS = OSRGetAttrValue(hSRS, "PROJCS", 0);
+    if (!pszProjCS)
+	pszProjCS = OSRGetAttrValue(hSRS, "GEOGCS", 0);
+
+    if (pszProjCS) {
+	G_set_key_value("name", pszProjCS, *projinfo);
+    }
+    else if (pszProj) {
 	char path[4095];
 	char name[80];
+	
+	/* use name of the projection as name for the coordinate system */
 
 	sprintf(path, "%s/etc/proj/projections", G_gisbase());
 	if (G_lookup_key_value_from_file(path, pszProj, name, sizeof(name)) >
@@ -399,11 +413,7 @@ int GPJ_osr_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 	    G_set_key_value("name", name, *projinfo);
 	else
 	    G_set_key_value("name", pszProj, *projinfo);
-
-	G_set_key_value("proj", pszProj, *projinfo);
     }
-    else
-	G_warning(_("No projection name! Projection parameters likely to be meaningless."));
 
 
     /* -------------------------------------------------------------------- */
@@ -697,7 +707,7 @@ int GPJ_wkt_to_grass(struct Cell_head *cellhd, struct Key_Value **projinfo,
 	OGRSpatialReferenceH hSRS;
 
 	/* Set finder function for locating OGR csv co-ordinate system tables */
-	SetCSVFilenameHook(GPJ_set_csv_loc);
+	/* SetCSVFilenameHook(GPJ_set_csv_loc); */
 
 	hSRS = OSRNewSpatialReference(wkt);
 	retval =
@@ -767,12 +777,16 @@ static const char *papszDatumEquiv[] = {
     "Monte_Mario",
     "Campo_Inchauspe_1969",
     "Campo_Inchauspe",
+    "S_JTSK",
+    "System_Jednotne_Trigonometricke_Site_Katastralni",
     "S_JTSK_Ferro",
     "Militar_Geographische_Institut",
     "Potsdam_Datum_83",
     "Deutsches_Hauptdreiecksnetz",
     "South_American_1969",
     "South_American_Datum_1969",
+    "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000",
+    "Sistema_de_Referencia_Geocentrico_para_America_del_Sur_2000",
     "ITRF_1992",
     "ITRF92",
     NULL
diff --git a/lib/proj/iau2000.csv b/lib/proj/iau2000.csv
new file mode 100644
index 0000000..f4829c4
--- /dev/null
+++ b/lib/proj/iau2000.csv
@@ -0,0 +1,6864 @@
+# GEOGCS Mercury Areocentric
+<19900> 	+proj=longlat +a=2439700 +b=2439700 +no_defs 
+# GEOGCS Mercury Areographic
+<19901> 	+proj=longlat +a=2439700 +b=2439700 +no_defs 
+# Equirectangular Mercury Areocentric, clon=0
+<19910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equirectangular Mercury Areographic, clon=0
+<19911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equirectangular Mercury Areocentric, clon=180
+<19912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equirectangular Mercury Areographic, clon=180
+<19913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal Mercury Areocentric, clon=0
+<19914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal Mercury Areographic, clon=0
+<19915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal Mercury Areocentric, clon=180
+<19916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal Mercury Areographic, clon=180
+<19917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# North Polar Mercury Areocentric, clon=0
+<19918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# North Polar Mercury Areographic, clon=0
+<19919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# South Polar Mercury Areocentric, clon=0
+<19920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# South Polar Mercury Areographic, clon=0
+<19921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide Mercury Areocentric, clon=0
+<19922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide Mercury Areographic, clon=0
+<19923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide Mercury Areocentric, clon=180
+<19924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide Mercury Areographic, clon=180
+<19925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson Mercury Areocentric, clon=0
+<19926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson Mercury Areographic, clon=0
+<19927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson Mercury Areocentric, clon=180
+<19928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson Mercury Areographic, clon=180
+<19929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal AUTO Mercury Areocentric
+<19960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal AUTO Mercury Areographic
+<19961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Stereographic AUTO Mercury Areocentric, clon=0
+<19962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Stereographic AUTO Mercury Areographic, clon=0
+<19963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Transverse Mercator AUTO Mercury Areocentric
+<19964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Transverse Mercator AUTO Mercury Areographic
+<19965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Orthographic AUTO Mercury Areocentric
+<19966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Orthographic AUTO Mercury Areographic
+<19967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mercury Areocentric
+<19968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mercury Areographic
+<19969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mercury Areocentric
+<19970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mercury Areographic
+<19971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mercury Areocentric
+<19972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mercury Areographic
+<19973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mercator AUTO Mercury Areocentric
+<19974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mercator AUTO Mercury Areographic
+<19975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Albers AUTO Mercury Areocentric
+<19976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Albers AUTO Mercury Areographic
+<19977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide AUTO Mercury Areocentric
+<19980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide AUTO Mercury Areographic
+<19981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson AUTO Mercury Areocentric
+<19982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson AUTO Mercury Areographic
+<19983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# GEOGCS Venus Areocentric
+<29900> 	+proj=longlat +a=6051800 +b=6051800 +no_defs 
+# GEOGCS Venus Areographic
+<29901> 	+proj=longlat +a=6051800 +b=6051800 +no_defs 
+# Equirectangular Venus Areocentric, clon=0
+<29910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equirectangular Venus Areographic, clon=0
+<29911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equirectangular Venus Areocentric, clon=180
+<29912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equirectangular Venus Areographic, clon=180
+<29913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal Venus Areocentric, clon=0
+<29914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal Venus Areographic, clon=0
+<29915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal Venus Areocentric, clon=180
+<29916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal Venus Areographic, clon=180
+<29917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# North Polar Venus Areocentric, clon=0
+<29918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# North Polar Venus Areographic, clon=0
+<29919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# South Polar Venus Areocentric, clon=0
+<29920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# South Polar Venus Areographic, clon=0
+<29921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide Venus Areocentric, clon=0
+<29922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide Venus Areographic, clon=0
+<29923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide Venus Areocentric, clon=180
+<29924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide Venus Areographic, clon=180
+<29925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson Venus Areocentric, clon=0
+<29926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson Venus Areographic, clon=0
+<29927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson Venus Areocentric, clon=180
+<29928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson Venus Areographic, clon=180
+<29929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal AUTO Venus Areocentric
+<29960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal AUTO Venus Areographic
+<29961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Stereographic AUTO Venus Areocentric, clon=0
+<29962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Stereographic AUTO Venus Areographic, clon=0
+<29963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Transverse Mercator AUTO Venus Areocentric
+<29964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Transverse Mercator AUTO Venus Areographic
+<29965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Orthographic AUTO Venus Areocentric
+<29966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Orthographic AUTO Venus Areographic
+<29967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Venus Areocentric
+<29968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Venus Areographic
+<29969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Venus Areocentric
+<29970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Venus Areographic
+<29971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Venus Areocentric
+<29972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Venus Areographic
+<29973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mercator AUTO Venus Areocentric
+<29974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mercator AUTO Venus Areographic
+<29975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Albers AUTO Venus Areocentric
+<29976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Albers AUTO Venus Areographic
+<29977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide AUTO Venus Areocentric
+<29980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide AUTO Venus Areographic
+<29981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson AUTO Venus Areocentric
+<29982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson AUTO Venus Areographic
+<29983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# GEOGCS Earth Areocentric
+<39900> 	+proj=longlat +a=6378140 +b=-1895273619.09362 +no_defs 
+# GEOGCS Earth Areographic
+<39901> 	+proj=longlat +a=6378140 +b=-1895273619.09362 +no_defs 
+# Equirectangular Earth Areocentric, clon=0
+<39910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Equirectangular Earth Areographic, clon=0
+<39911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Equirectangular Earth Areocentric, clon=180
+<39912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Equirectangular Earth Areographic, clon=180
+<39913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Sinusoidal Earth Areocentric, clon=0
+<39914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Sinusoidal Earth Areographic, clon=0
+<39915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Sinusoidal Earth Areocentric, clon=180
+<39916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Sinusoidal Earth Areographic, clon=180
+<39917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# North Polar Earth Areocentric, clon=0
+<39918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# North Polar Earth Areographic, clon=0
+<39919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# South Polar Earth Areocentric, clon=0
+<39920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# South Polar Earth Areographic, clon=0
+<39921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Mollweide Earth Areocentric, clon=0
+<39922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Mollweide Earth Areographic, clon=0
+<39923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Mollweide Earth Areocentric, clon=180
+<39924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Mollweide Earth Areographic, clon=180
+<39925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Robinson Earth Areocentric, clon=0
+<39926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Robinson Earth Areographic, clon=0
+<39927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Robinson Earth Areocentric, clon=180
+<39928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Robinson Earth Areographic, clon=180
+<39929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Sinusoidal AUTO Earth Areocentric
+<39960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Sinusoidal AUTO Earth Areographic
+<39961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Stereographic AUTO Earth Areocentric, clon=0
+<39962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Stereographic AUTO Earth Areographic, clon=0
+<39963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Transverse Mercator AUTO Earth Areocentric
+<39964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Transverse Mercator AUTO Earth Areographic
+<39965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Orthographic AUTO Earth Areocentric
+<39966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Orthographic AUTO Earth Areographic
+<39967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Earth Areocentric
+<39968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Earth Areographic
+<39969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Earth Areocentric
+<39970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Earth Areographic
+<39971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Earth Areocentric
+<39972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Earth Areographic
+<39973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Mercator AUTO Earth Areocentric
+<39974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Mercator AUTO Earth Areographic
+<39975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Albers AUTO Earth Areocentric
+<39976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Albers AUTO Earth Areographic
+<39977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Mollweide AUTO Earth Areocentric
+<39980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Mollweide AUTO Earth Areographic
+<39981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Robinson AUTO Earth Areocentric
+<39982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# Robinson AUTO Earth Areographic
+<39983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6378140 +b=-1895273619.09362 +units=m +no_defs 
+# GEOGCS Moon Areocentric
+<30100> 	+proj=longlat +a=1737400 +b=1737400 +no_defs 
+# GEOGCS Moon Areographic
+<30101> 	+proj=longlat +a=1737400 +b=1737400 +no_defs 
+# Equirectangular Moon Areocentric, clon=0
+<30110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equirectangular Moon Areographic, clon=0
+<30111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equirectangular Moon Areocentric, clon=180
+<30112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equirectangular Moon Areographic, clon=180
+<30113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal Moon Areocentric, clon=0
+<30114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal Moon Areographic, clon=0
+<30115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal Moon Areocentric, clon=180
+<30116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal Moon Areographic, clon=180
+<30117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# North Polar Moon Areocentric, clon=0
+<30118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# North Polar Moon Areographic, clon=0
+<30119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# South Polar Moon Areocentric, clon=0
+<30120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# South Polar Moon Areographic, clon=0
+<30121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide Moon Areocentric, clon=0
+<30122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide Moon Areographic, clon=0
+<30123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide Moon Areocentric, clon=180
+<30124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide Moon Areographic, clon=180
+<30125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson Moon Areocentric, clon=0
+<30126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson Moon Areographic, clon=0
+<30127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson Moon Areocentric, clon=180
+<30128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson Moon Areographic, clon=180
+<30129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal AUTO Moon Areocentric
+<30160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal AUTO Moon Areographic
+<30161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Stereographic AUTO Moon Areocentric, clon=0
+<30162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Stereographic AUTO Moon Areographic, clon=0
+<30163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Transverse Mercator AUTO Moon Areocentric
+<30164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Transverse Mercator AUTO Moon Areographic
+<30165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Orthographic AUTO Moon Areocentric
+<30166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Orthographic AUTO Moon Areographic
+<30167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Moon Areocentric
+<30168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Moon Areographic
+<30169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Moon Areocentric
+<30170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Moon Areographic
+<30171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Moon Areocentric
+<30172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Moon Areographic
+<30173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mercator AUTO Moon Areocentric
+<30174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mercator AUTO Moon Areographic
+<30175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Albers AUTO Moon Areocentric
+<30176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Albers AUTO Moon Areographic
+<30177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide AUTO Moon Areocentric
+<30180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide AUTO Moon Areographic
+<30181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson AUTO Moon Areocentric
+<30182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson AUTO Moon Areographic
+<30183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# GEOGCS Mars Areocentric
+<49900> 	+proj=longlat +a=3396190 +b=-573598373.3707101 +no_defs 
+# GEOGCS Mars Areographic
+<49901> 	+proj=longlat +a=3396190 +b=-573598373.3707101 +no_defs 
+# Equirectangular Mars Areocentric, clon=0
+<49910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equirectangular Mars Areographic, clon=0
+<49911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equirectangular Mars Areocentric, clon=180
+<49912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equirectangular Mars Areographic, clon=180
+<49913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal Mars Areocentric, clon=0
+<49914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal Mars Areographic, clon=0
+<49915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal Mars Areocentric, clon=180
+<49916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal Mars Areographic, clon=180
+<49917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# North Polar Mars Areocentric, clon=0
+<49918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# North Polar Mars Areographic, clon=0
+<49919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# South Polar Mars Areocentric, clon=0
+<49920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# South Polar Mars Areographic, clon=0
+<49921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide Mars Areocentric, clon=0
+<49922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide Mars Areographic, clon=0
+<49923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide Mars Areocentric, clon=180
+<49924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide Mars Areographic, clon=180
+<49925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson Mars Areocentric, clon=0
+<49926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson Mars Areographic, clon=0
+<49927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson Mars Areocentric, clon=180
+<49928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson Mars Areographic, clon=180
+<49929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal AUTO Mars Areocentric
+<49960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal AUTO Mars Areographic
+<49961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Stereographic AUTO Mars Areocentric, clon=0
+<49962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Stereographic AUTO Mars Areographic, clon=0
+<49963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Transverse Mercator AUTO Mars Areocentric
+<49964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Transverse Mercator AUTO Mars Areographic
+<49965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Orthographic AUTO Mars Areocentric
+<49966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Orthographic AUTO Mars Areographic
+<49967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mars Areocentric
+<49968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mars Areographic
+<49969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mars Areocentric
+<49970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mars Areographic
+<49971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mars Areocentric
+<49972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mars Areographic
+<49973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mercator AUTO Mars Areocentric
+<49974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mercator AUTO Mars Areographic
+<49975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Albers AUTO Mars Areocentric
+<49976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Albers AUTO Mars Areographic
+<49977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide AUTO Mars Areocentric
+<49980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide AUTO Mars Areographic
+<49981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson AUTO Mars Areocentric
+<49982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson AUTO Mars Areographic
+<49983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# GEOGCS Phobos Areocentric
+<40100> 	+proj=longlat +a=11100 +b=11100 +no_defs 
+# GEOGCS Phobos Areographic
+<40101> 	+proj=longlat +a=11100 +b=11100 +no_defs 
+# Equirectangular Phobos Areocentric, clon=0
+<40110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Equirectangular Phobos Areographic, clon=0
+<40111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Equirectangular Phobos Areocentric, clon=180
+<40112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Equirectangular Phobos Areographic, clon=180
+<40113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Sinusoidal Phobos Areocentric, clon=0
+<40114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Sinusoidal Phobos Areographic, clon=0
+<40115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Sinusoidal Phobos Areocentric, clon=180
+<40116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Sinusoidal Phobos Areographic, clon=180
+<40117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# North Polar Phobos Areocentric, clon=0
+<40118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# North Polar Phobos Areographic, clon=0
+<40119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# South Polar Phobos Areocentric, clon=0
+<40120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# South Polar Phobos Areographic, clon=0
+<40121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Mollweide Phobos Areocentric, clon=0
+<40122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Mollweide Phobos Areographic, clon=0
+<40123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Mollweide Phobos Areocentric, clon=180
+<40124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Mollweide Phobos Areographic, clon=180
+<40125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Robinson Phobos Areocentric, clon=0
+<40126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Robinson Phobos Areographic, clon=0
+<40127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Robinson Phobos Areocentric, clon=180
+<40128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Robinson Phobos Areographic, clon=180
+<40129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Sinusoidal AUTO Phobos Areocentric
+<40160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Sinusoidal AUTO Phobos Areographic
+<40161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Stereographic AUTO Phobos Areocentric, clon=0
+<40162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Stereographic AUTO Phobos Areographic, clon=0
+<40163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Transverse Mercator AUTO Phobos Areocentric
+<40164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Transverse Mercator AUTO Phobos Areographic
+<40165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Orthographic AUTO Phobos Areocentric
+<40166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Orthographic AUTO Phobos Areographic
+<40167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Phobos Areocentric
+<40168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Phobos Areographic
+<40169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Phobos Areocentric
+<40170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Phobos Areographic
+<40171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Phobos Areocentric
+<40172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Phobos Areographic
+<40173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Mercator AUTO Phobos Areocentric
+<40174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Mercator AUTO Phobos Areographic
+<40175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Albers AUTO Phobos Areocentric
+<40176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Albers AUTO Phobos Areographic
+<40177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Mollweide AUTO Phobos Areocentric
+<40180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Mollweide AUTO Phobos Areographic
+<40181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Robinson AUTO Phobos Areocentric
+<40182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# Robinson AUTO Phobos Areographic
+<40183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11100 +b=11100 +units=m +no_defs 
+# GEOGCS Deimos Areocentric
+<40200> 	+proj=longlat +a=6200 +b=6200 +no_defs 
+# GEOGCS Deimos Areographic
+<40201> 	+proj=longlat +a=6200 +b=6200 +no_defs 
+# Equirectangular Deimos Areocentric, clon=0
+<40210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equirectangular Deimos Areographic, clon=0
+<40211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equirectangular Deimos Areocentric, clon=180
+<40212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equirectangular Deimos Areographic, clon=180
+<40213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal Deimos Areocentric, clon=0
+<40214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal Deimos Areographic, clon=0
+<40215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal Deimos Areocentric, clon=180
+<40216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal Deimos Areographic, clon=180
+<40217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# North Polar Deimos Areocentric, clon=0
+<40218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# North Polar Deimos Areographic, clon=0
+<40219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# South Polar Deimos Areocentric, clon=0
+<40220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# South Polar Deimos Areographic, clon=0
+<40221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide Deimos Areocentric, clon=0
+<40222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide Deimos Areographic, clon=0
+<40223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide Deimos Areocentric, clon=180
+<40224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide Deimos Areographic, clon=180
+<40225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson Deimos Areocentric, clon=0
+<40226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson Deimos Areographic, clon=0
+<40227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson Deimos Areocentric, clon=180
+<40228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson Deimos Areographic, clon=180
+<40229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal AUTO Deimos Areocentric
+<40260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal AUTO Deimos Areographic
+<40261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Stereographic AUTO Deimos Areocentric, clon=0
+<40262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Stereographic AUTO Deimos Areographic, clon=0
+<40263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Transverse Mercator AUTO Deimos Areocentric
+<40264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Transverse Mercator AUTO Deimos Areographic
+<40265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Orthographic AUTO Deimos Areocentric
+<40266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Orthographic AUTO Deimos Areographic
+<40267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Deimos Areocentric
+<40268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Deimos Areographic
+<40269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Deimos Areocentric
+<40270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Deimos Areographic
+<40271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Deimos Areocentric
+<40272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Deimos Areographic
+<40273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mercator AUTO Deimos Areocentric
+<40274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mercator AUTO Deimos Areographic
+<40275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Albers AUTO Deimos Areocentric
+<40276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Albers AUTO Deimos Areographic
+<40277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide AUTO Deimos Areocentric
+<40280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide AUTO Deimos Areographic
+<40281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson AUTO Deimos Areocentric
+<40282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson AUTO Deimos Areographic
+<40283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# GEOGCS Jupiter Areocentric
+<59900> 	+proj=longlat +a=71492000 +b=-1030521133.150415 +no_defs 
+# GEOGCS Jupiter Areographic
+<59901> 	+proj=longlat +a=71492000 +b=-1030521133.150415 +no_defs 
+# Equirectangular Jupiter Areocentric, clon=0
+<59910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equirectangular Jupiter Areographic, clon=0
+<59911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equirectangular Jupiter Areocentric, clon=180
+<59912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equirectangular Jupiter Areographic, clon=180
+<59913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal Jupiter Areocentric, clon=0
+<59914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal Jupiter Areographic, clon=0
+<59915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal Jupiter Areocentric, clon=180
+<59916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal Jupiter Areographic, clon=180
+<59917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# North Polar Jupiter Areocentric, clon=0
+<59918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# North Polar Jupiter Areographic, clon=0
+<59919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# South Polar Jupiter Areocentric, clon=0
+<59920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# South Polar Jupiter Areographic, clon=0
+<59921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide Jupiter Areocentric, clon=0
+<59922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide Jupiter Areographic, clon=0
+<59923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide Jupiter Areocentric, clon=180
+<59924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide Jupiter Areographic, clon=180
+<59925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson Jupiter Areocentric, clon=0
+<59926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson Jupiter Areographic, clon=0
+<59927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson Jupiter Areocentric, clon=180
+<59928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson Jupiter Areographic, clon=180
+<59929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal AUTO Jupiter Areocentric
+<59960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal AUTO Jupiter Areographic
+<59961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Stereographic AUTO Jupiter Areocentric, clon=0
+<59962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Stereographic AUTO Jupiter Areographic, clon=0
+<59963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Transverse Mercator AUTO Jupiter Areocentric
+<59964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Transverse Mercator AUTO Jupiter Areographic
+<59965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Orthographic AUTO Jupiter Areocentric
+<59966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Orthographic AUTO Jupiter Areographic
+<59967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Jupiter Areocentric
+<59968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Jupiter Areographic
+<59969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Jupiter Areocentric
+<59970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Jupiter Areographic
+<59971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Jupiter Areocentric
+<59972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Jupiter Areographic
+<59973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mercator AUTO Jupiter Areocentric
+<59974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mercator AUTO Jupiter Areographic
+<59975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Albers AUTO Jupiter Areocentric
+<59976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Albers AUTO Jupiter Areographic
+<59977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide AUTO Jupiter Areocentric
+<59980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide AUTO Jupiter Areographic
+<59981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson AUTO Jupiter Areocentric
+<59982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson AUTO Jupiter Areographic
+<59983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# GEOGCS Io Areocentric
+<50100> 	+proj=longlat +a=1821460 +b=1821460 +no_defs 
+# GEOGCS Io Areographic
+<50101> 	+proj=longlat +a=1821460 +b=1821460 +no_defs 
+# Equirectangular Io Areocentric, clon=0
+<50110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Equirectangular Io Areographic, clon=0
+<50111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Equirectangular Io Areocentric, clon=180
+<50112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Equirectangular Io Areographic, clon=180
+<50113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Sinusoidal Io Areocentric, clon=0
+<50114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Sinusoidal Io Areographic, clon=0
+<50115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Sinusoidal Io Areocentric, clon=180
+<50116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Sinusoidal Io Areographic, clon=180
+<50117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# North Polar Io Areocentric, clon=0
+<50118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# North Polar Io Areographic, clon=0
+<50119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# South Polar Io Areocentric, clon=0
+<50120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# South Polar Io Areographic, clon=0
+<50121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Mollweide Io Areocentric, clon=0
+<50122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Mollweide Io Areographic, clon=0
+<50123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Mollweide Io Areocentric, clon=180
+<50124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Mollweide Io Areographic, clon=180
+<50125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Robinson Io Areocentric, clon=0
+<50126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Robinson Io Areographic, clon=0
+<50127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Robinson Io Areocentric, clon=180
+<50128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Robinson Io Areographic, clon=180
+<50129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Sinusoidal AUTO Io Areocentric
+<50160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Sinusoidal AUTO Io Areographic
+<50161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Stereographic AUTO Io Areocentric, clon=0
+<50162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Stereographic AUTO Io Areographic, clon=0
+<50163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Transverse Mercator AUTO Io Areocentric
+<50164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Transverse Mercator AUTO Io Areographic
+<50165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Orthographic AUTO Io Areocentric
+<50166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Orthographic AUTO Io Areographic
+<50167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Io Areocentric
+<50168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Io Areographic
+<50169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Io Areocentric
+<50170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Io Areographic
+<50171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Io Areocentric
+<50172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Io Areographic
+<50173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Mercator AUTO Io Areocentric
+<50174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Mercator AUTO Io Areographic
+<50175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Albers AUTO Io Areocentric
+<50176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Albers AUTO Io Areographic
+<50177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Mollweide AUTO Io Areocentric
+<50180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Mollweide AUTO Io Areographic
+<50181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Robinson AUTO Io Areocentric
+<50182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# Robinson AUTO Io Areographic
+<50183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1821460 +b=1821460 +units=m +no_defs 
+# GEOGCS Europa Areocentric
+<50200> 	+proj=longlat +a=1562090 +b=1562090 +no_defs 
+# GEOGCS Europa Areographic
+<50201> 	+proj=longlat +a=1562090 +b=1562090 +no_defs 
+# Equirectangular Europa Areocentric, clon=0
+<50210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Equirectangular Europa Areographic, clon=0
+<50211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Equirectangular Europa Areocentric, clon=180
+<50212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Equirectangular Europa Areographic, clon=180
+<50213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Sinusoidal Europa Areocentric, clon=0
+<50214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Sinusoidal Europa Areographic, clon=0
+<50215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Sinusoidal Europa Areocentric, clon=180
+<50216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Sinusoidal Europa Areographic, clon=180
+<50217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# North Polar Europa Areocentric, clon=0
+<50218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# North Polar Europa Areographic, clon=0
+<50219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# South Polar Europa Areocentric, clon=0
+<50220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# South Polar Europa Areographic, clon=0
+<50221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Mollweide Europa Areocentric, clon=0
+<50222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Mollweide Europa Areographic, clon=0
+<50223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Mollweide Europa Areocentric, clon=180
+<50224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Mollweide Europa Areographic, clon=180
+<50225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Robinson Europa Areocentric, clon=0
+<50226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Robinson Europa Areographic, clon=0
+<50227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Robinson Europa Areocentric, clon=180
+<50228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Robinson Europa Areographic, clon=180
+<50229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Sinusoidal AUTO Europa Areocentric
+<50260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Sinusoidal AUTO Europa Areographic
+<50261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Stereographic AUTO Europa Areocentric, clon=0
+<50262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Stereographic AUTO Europa Areographic, clon=0
+<50263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Transverse Mercator AUTO Europa Areocentric
+<50264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Transverse Mercator AUTO Europa Areographic
+<50265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Orthographic AUTO Europa Areocentric
+<50266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Orthographic AUTO Europa Areographic
+<50267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Europa Areocentric
+<50268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Europa Areographic
+<50269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Europa Areocentric
+<50270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Europa Areographic
+<50271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Europa Areocentric
+<50272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Europa Areographic
+<50273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Mercator AUTO Europa Areocentric
+<50274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Mercator AUTO Europa Areographic
+<50275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Albers AUTO Europa Areocentric
+<50276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Albers AUTO Europa Areographic
+<50277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Mollweide AUTO Europa Areocentric
+<50280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Mollweide AUTO Europa Areographic
+<50281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Robinson AUTO Europa Areocentric
+<50282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# Robinson AUTO Europa Areographic
+<50283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1562090 +b=1562090 +units=m +no_defs 
+# GEOGCS Ganymede Areocentric
+<50300> 	+proj=longlat +a=2632345 +b=2632345 +no_defs 
+# GEOGCS Ganymede Areographic
+<50301> 	+proj=longlat +a=2632345 +b=2632345 +no_defs 
+# Equirectangular Ganymede Areocentric, clon=0
+<50310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Equirectangular Ganymede Areographic, clon=0
+<50311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Equirectangular Ganymede Areocentric, clon=180
+<50312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Equirectangular Ganymede Areographic, clon=180
+<50313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Sinusoidal Ganymede Areocentric, clon=0
+<50314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Sinusoidal Ganymede Areographic, clon=0
+<50315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Sinusoidal Ganymede Areocentric, clon=180
+<50316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Sinusoidal Ganymede Areographic, clon=180
+<50317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# North Polar Ganymede Areocentric, clon=0
+<50318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# North Polar Ganymede Areographic, clon=0
+<50319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# South Polar Ganymede Areocentric, clon=0
+<50320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# South Polar Ganymede Areographic, clon=0
+<50321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Mollweide Ganymede Areocentric, clon=0
+<50322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Mollweide Ganymede Areographic, clon=0
+<50323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Mollweide Ganymede Areocentric, clon=180
+<50324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Mollweide Ganymede Areographic, clon=180
+<50325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Robinson Ganymede Areocentric, clon=0
+<50326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Robinson Ganymede Areographic, clon=0
+<50327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Robinson Ganymede Areocentric, clon=180
+<50328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Robinson Ganymede Areographic, clon=180
+<50329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Sinusoidal AUTO Ganymede Areocentric
+<50360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Sinusoidal AUTO Ganymede Areographic
+<50361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Stereographic AUTO Ganymede Areocentric, clon=0
+<50362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Stereographic AUTO Ganymede Areographic, clon=0
+<50363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Transverse Mercator AUTO Ganymede Areocentric
+<50364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Transverse Mercator AUTO Ganymede Areographic
+<50365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Orthographic AUTO Ganymede Areocentric
+<50366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Orthographic AUTO Ganymede Areographic
+<50367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ganymede Areocentric
+<50368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ganymede Areographic
+<50369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ganymede Areocentric
+<50370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ganymede Areographic
+<50371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ganymede Areocentric
+<50372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ganymede Areographic
+<50373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Mercator AUTO Ganymede Areocentric
+<50374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Mercator AUTO Ganymede Areographic
+<50375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Albers AUTO Ganymede Areocentric
+<50376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Albers AUTO Ganymede Areographic
+<50377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Mollweide AUTO Ganymede Areocentric
+<50380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Mollweide AUTO Ganymede Areographic
+<50381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Robinson AUTO Ganymede Areocentric
+<50382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# Robinson AUTO Ganymede Areographic
+<50383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2632345 +b=2632345 +units=m +no_defs 
+# GEOGCS Callisto Areocentric
+<50400> 	+proj=longlat +a=2409300 +b=2409300 +no_defs 
+# GEOGCS Callisto Areographic
+<50401> 	+proj=longlat +a=2409300 +b=2409300 +no_defs 
+# Equirectangular Callisto Areocentric, clon=0
+<50410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Equirectangular Callisto Areographic, clon=0
+<50411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Equirectangular Callisto Areocentric, clon=180
+<50412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Equirectangular Callisto Areographic, clon=180
+<50413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Sinusoidal Callisto Areocentric, clon=0
+<50414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Sinusoidal Callisto Areographic, clon=0
+<50415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Sinusoidal Callisto Areocentric, clon=180
+<50416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Sinusoidal Callisto Areographic, clon=180
+<50417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# North Polar Callisto Areocentric, clon=0
+<50418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# North Polar Callisto Areographic, clon=0
+<50419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# South Polar Callisto Areocentric, clon=0
+<50420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# South Polar Callisto Areographic, clon=0
+<50421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Mollweide Callisto Areocentric, clon=0
+<50422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Mollweide Callisto Areographic, clon=0
+<50423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Mollweide Callisto Areocentric, clon=180
+<50424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Mollweide Callisto Areographic, clon=180
+<50425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Robinson Callisto Areocentric, clon=0
+<50426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Robinson Callisto Areographic, clon=0
+<50427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Robinson Callisto Areocentric, clon=180
+<50428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Robinson Callisto Areographic, clon=180
+<50429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Sinusoidal AUTO Callisto Areocentric
+<50460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Sinusoidal AUTO Callisto Areographic
+<50461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Stereographic AUTO Callisto Areocentric, clon=0
+<50462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Stereographic AUTO Callisto Areographic, clon=0
+<50463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Transverse Mercator AUTO Callisto Areocentric
+<50464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Transverse Mercator AUTO Callisto Areographic
+<50465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Orthographic AUTO Callisto Areocentric
+<50466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Orthographic AUTO Callisto Areographic
+<50467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Callisto Areocentric
+<50468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Callisto Areographic
+<50469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Callisto Areocentric
+<50470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Callisto Areographic
+<50471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Callisto Areocentric
+<50472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Callisto Areographic
+<50473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Mercator AUTO Callisto Areocentric
+<50474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Mercator AUTO Callisto Areographic
+<50475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Albers AUTO Callisto Areocentric
+<50476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Albers AUTO Callisto Areographic
+<50477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Mollweide AUTO Callisto Areocentric
+<50480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Mollweide AUTO Callisto Areographic
+<50481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Robinson AUTO Callisto Areocentric
+<50482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# Robinson AUTO Callisto Areographic
+<50483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2409300 +b=2409300 +units=m +no_defs 
+# GEOGCS Amalthea Areocentric
+<50500> 	+proj=longlat +a=83500 +b=83500 +no_defs 
+# GEOGCS Amalthea Areographic
+<50501> 	+proj=longlat +a=83500 +b=83500 +no_defs 
+# Equirectangular Amalthea Areocentric, clon=0
+<50510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equirectangular Amalthea Areographic, clon=0
+<50511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equirectangular Amalthea Areocentric, clon=180
+<50512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equirectangular Amalthea Areographic, clon=180
+<50513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal Amalthea Areocentric, clon=0
+<50514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal Amalthea Areographic, clon=0
+<50515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal Amalthea Areocentric, clon=180
+<50516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal Amalthea Areographic, clon=180
+<50517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# North Polar Amalthea Areocentric, clon=0
+<50518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# North Polar Amalthea Areographic, clon=0
+<50519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# South Polar Amalthea Areocentric, clon=0
+<50520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# South Polar Amalthea Areographic, clon=0
+<50521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide Amalthea Areocentric, clon=0
+<50522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide Amalthea Areographic, clon=0
+<50523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide Amalthea Areocentric, clon=180
+<50524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide Amalthea Areographic, clon=180
+<50525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson Amalthea Areocentric, clon=0
+<50526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson Amalthea Areographic, clon=0
+<50527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson Amalthea Areocentric, clon=180
+<50528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson Amalthea Areographic, clon=180
+<50529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal AUTO Amalthea Areocentric
+<50560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal AUTO Amalthea Areographic
+<50561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Stereographic AUTO Amalthea Areocentric, clon=0
+<50562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Stereographic AUTO Amalthea Areographic, clon=0
+<50563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Transverse Mercator AUTO Amalthea Areocentric
+<50564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Transverse Mercator AUTO Amalthea Areographic
+<50565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Orthographic AUTO Amalthea Areocentric
+<50566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Orthographic AUTO Amalthea Areographic
+<50567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Amalthea Areocentric
+<50568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Amalthea Areographic
+<50569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Amalthea Areocentric
+<50570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Amalthea Areographic
+<50571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Amalthea Areocentric
+<50572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Amalthea Areographic
+<50573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mercator AUTO Amalthea Areocentric
+<50574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mercator AUTO Amalthea Areographic
+<50575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Albers AUTO Amalthea Areocentric
+<50576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Albers AUTO Amalthea Areographic
+<50577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide AUTO Amalthea Areocentric
+<50580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide AUTO Amalthea Areographic
+<50581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson AUTO Amalthea Areocentric
+<50582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson AUTO Amalthea Areographic
+<50583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# GEOGCS Himalia Areocentric
+<50600> 	+proj=longlat +a=85000 +b=85000 +no_defs 
+# GEOGCS Himalia Areographic
+<50601> 	+proj=longlat +a=85000 +b=85000 +no_defs 
+# Equirectangular Himalia Areocentric, clon=0
+<50610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equirectangular Himalia Areographic, clon=0
+<50611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equirectangular Himalia Areocentric, clon=180
+<50612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equirectangular Himalia Areographic, clon=180
+<50613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal Himalia Areocentric, clon=0
+<50614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal Himalia Areographic, clon=0
+<50615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal Himalia Areocentric, clon=180
+<50616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal Himalia Areographic, clon=180
+<50617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# North Polar Himalia Areocentric, clon=0
+<50618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# North Polar Himalia Areographic, clon=0
+<50619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# South Polar Himalia Areocentric, clon=0
+<50620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# South Polar Himalia Areographic, clon=0
+<50621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide Himalia Areocentric, clon=0
+<50622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide Himalia Areographic, clon=0
+<50623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide Himalia Areocentric, clon=180
+<50624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide Himalia Areographic, clon=180
+<50625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson Himalia Areocentric, clon=0
+<50626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson Himalia Areographic, clon=0
+<50627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson Himalia Areocentric, clon=180
+<50628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson Himalia Areographic, clon=180
+<50629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal AUTO Himalia Areocentric
+<50660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal AUTO Himalia Areographic
+<50661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Stereographic AUTO Himalia Areocentric, clon=0
+<50662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Stereographic AUTO Himalia Areographic, clon=0
+<50663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Transverse Mercator AUTO Himalia Areocentric
+<50664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Transverse Mercator AUTO Himalia Areographic
+<50665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Orthographic AUTO Himalia Areocentric
+<50666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Orthographic AUTO Himalia Areographic
+<50667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Himalia Areocentric
+<50668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Himalia Areographic
+<50669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Himalia Areocentric
+<50670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Himalia Areographic
+<50671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Himalia Areocentric
+<50672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Himalia Areographic
+<50673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mercator AUTO Himalia Areocentric
+<50674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mercator AUTO Himalia Areographic
+<50675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Albers AUTO Himalia Areocentric
+<50676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Albers AUTO Himalia Areographic
+<50677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide AUTO Himalia Areocentric
+<50680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide AUTO Himalia Areographic
+<50681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson AUTO Himalia Areocentric
+<50682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson AUTO Himalia Areographic
+<50683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# GEOGCS Elara Areocentric
+<50700> 	+proj=longlat +a=40000 +b=40000 +no_defs 
+# GEOGCS Elara Areographic
+<50701> 	+proj=longlat +a=40000 +b=40000 +no_defs 
+# Equirectangular Elara Areocentric, clon=0
+<50710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Elara Areographic, clon=0
+<50711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Elara Areocentric, clon=180
+<50712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Elara Areographic, clon=180
+<50713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Elara Areocentric, clon=0
+<50714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Elara Areographic, clon=0
+<50715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Elara Areocentric, clon=180
+<50716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Elara Areographic, clon=180
+<50717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# North Polar Elara Areocentric, clon=0
+<50718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# North Polar Elara Areographic, clon=0
+<50719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# South Polar Elara Areocentric, clon=0
+<50720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# South Polar Elara Areographic, clon=0
+<50721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Elara Areocentric, clon=0
+<50722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Elara Areographic, clon=0
+<50723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Elara Areocentric, clon=180
+<50724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Elara Areographic, clon=180
+<50725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Elara Areocentric, clon=0
+<50726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Elara Areographic, clon=0
+<50727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Elara Areocentric, clon=180
+<50728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Elara Areographic, clon=180
+<50729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal AUTO Elara Areocentric
+<50760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal AUTO Elara Areographic
+<50761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Stereographic AUTO Elara Areocentric, clon=0
+<50762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Stereographic AUTO Elara Areographic, clon=0
+<50763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Transverse Mercator AUTO Elara Areocentric
+<50764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Transverse Mercator AUTO Elara Areographic
+<50765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Orthographic AUTO Elara Areocentric
+<50766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Orthographic AUTO Elara Areographic
+<50767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Elara Areocentric
+<50768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Elara Areographic
+<50769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Elara Areocentric
+<50770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Elara Areographic
+<50771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Elara Areocentric
+<50772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Elara Areographic
+<50773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mercator AUTO Elara Areocentric
+<50774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mercator AUTO Elara Areographic
+<50775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Albers AUTO Elara Areocentric
+<50776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Albers AUTO Elara Areographic
+<50777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide AUTO Elara Areocentric
+<50780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide AUTO Elara Areographic
+<50781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson AUTO Elara Areocentric
+<50782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson AUTO Elara Areographic
+<50783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# GEOGCS Pasiphae Areocentric
+<50800> 	+proj=longlat +a=18000 +b=18000 +no_defs 
+# GEOGCS Pasiphae Areographic
+<50801> 	+proj=longlat +a=18000 +b=18000 +no_defs 
+# Equirectangular Pasiphae Areocentric, clon=0
+<50810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equirectangular Pasiphae Areographic, clon=0
+<50811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equirectangular Pasiphae Areocentric, clon=180
+<50812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equirectangular Pasiphae Areographic, clon=180
+<50813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal Pasiphae Areocentric, clon=0
+<50814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal Pasiphae Areographic, clon=0
+<50815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal Pasiphae Areocentric, clon=180
+<50816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal Pasiphae Areographic, clon=180
+<50817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# North Polar Pasiphae Areocentric, clon=0
+<50818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# North Polar Pasiphae Areographic, clon=0
+<50819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# South Polar Pasiphae Areocentric, clon=0
+<50820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# South Polar Pasiphae Areographic, clon=0
+<50821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide Pasiphae Areocentric, clon=0
+<50822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide Pasiphae Areographic, clon=0
+<50823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide Pasiphae Areocentric, clon=180
+<50824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide Pasiphae Areographic, clon=180
+<50825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson Pasiphae Areocentric, clon=0
+<50826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson Pasiphae Areographic, clon=0
+<50827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson Pasiphae Areocentric, clon=180
+<50828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson Pasiphae Areographic, clon=180
+<50829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal AUTO Pasiphae Areocentric
+<50860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal AUTO Pasiphae Areographic
+<50861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Stereographic AUTO Pasiphae Areocentric, clon=0
+<50862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Stereographic AUTO Pasiphae Areographic, clon=0
+<50863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Transverse Mercator AUTO Pasiphae Areocentric
+<50864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Transverse Mercator AUTO Pasiphae Areographic
+<50865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Orthographic AUTO Pasiphae Areocentric
+<50866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Orthographic AUTO Pasiphae Areographic
+<50867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pasiphae Areocentric
+<50868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pasiphae Areographic
+<50869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pasiphae Areocentric
+<50870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pasiphae Areographic
+<50871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pasiphae Areocentric
+<50872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pasiphae Areographic
+<50873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mercator AUTO Pasiphae Areocentric
+<50874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mercator AUTO Pasiphae Areographic
+<50875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Albers AUTO Pasiphae Areocentric
+<50876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Albers AUTO Pasiphae Areographic
+<50877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide AUTO Pasiphae Areocentric
+<50880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide AUTO Pasiphae Areographic
+<50881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson AUTO Pasiphae Areocentric
+<50882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson AUTO Pasiphae Areographic
+<50883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# GEOGCS Sinope Areocentric
+<50900> 	+proj=longlat +a=14000 +b=14000 +no_defs 
+# GEOGCS Sinope Areographic
+<50901> 	+proj=longlat +a=14000 +b=14000 +no_defs 
+# Equirectangular Sinope Areocentric, clon=0
+<50910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equirectangular Sinope Areographic, clon=0
+<50911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equirectangular Sinope Areocentric, clon=180
+<50912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equirectangular Sinope Areographic, clon=180
+<50913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal Sinope Areocentric, clon=0
+<50914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal Sinope Areographic, clon=0
+<50915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal Sinope Areocentric, clon=180
+<50916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal Sinope Areographic, clon=180
+<50917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# North Polar Sinope Areocentric, clon=0
+<50918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# North Polar Sinope Areographic, clon=0
+<50919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# South Polar Sinope Areocentric, clon=0
+<50920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# South Polar Sinope Areographic, clon=0
+<50921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide Sinope Areocentric, clon=0
+<50922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide Sinope Areographic, clon=0
+<50923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide Sinope Areocentric, clon=180
+<50924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide Sinope Areographic, clon=180
+<50925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson Sinope Areocentric, clon=0
+<50926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson Sinope Areographic, clon=0
+<50927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson Sinope Areocentric, clon=180
+<50928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson Sinope Areographic, clon=180
+<50929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal AUTO Sinope Areocentric
+<50960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal AUTO Sinope Areographic
+<50961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Stereographic AUTO Sinope Areocentric, clon=0
+<50962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Stereographic AUTO Sinope Areographic, clon=0
+<50963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Transverse Mercator AUTO Sinope Areocentric
+<50964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Transverse Mercator AUTO Sinope Areographic
+<50965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Orthographic AUTO Sinope Areocentric
+<50966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Orthographic AUTO Sinope Areographic
+<50967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Sinope Areocentric
+<50968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Sinope Areographic
+<50969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Sinope Areocentric
+<50970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Sinope Areographic
+<50971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Sinope Areocentric
+<50972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Sinope Areographic
+<50973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mercator AUTO Sinope Areocentric
+<50974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mercator AUTO Sinope Areographic
+<50975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Albers AUTO Sinope Areocentric
+<50976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Albers AUTO Sinope Areographic
+<50977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide AUTO Sinope Areocentric
+<50980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide AUTO Sinope Areographic
+<50981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson AUTO Sinope Areocentric
+<50982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson AUTO Sinope Areographic
+<50983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# GEOGCS Lysithea Areocentric
+<51000> 	+proj=longlat +a=12000 +b=12000 +no_defs 
+# GEOGCS Lysithea Areographic
+<51001> 	+proj=longlat +a=12000 +b=12000 +no_defs 
+# Equirectangular Lysithea Areocentric, clon=0
+<51010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equirectangular Lysithea Areographic, clon=0
+<51011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equirectangular Lysithea Areocentric, clon=180
+<51012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equirectangular Lysithea Areographic, clon=180
+<51013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal Lysithea Areocentric, clon=0
+<51014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal Lysithea Areographic, clon=0
+<51015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal Lysithea Areocentric, clon=180
+<51016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal Lysithea Areographic, clon=180
+<51017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# North Polar Lysithea Areocentric, clon=0
+<51018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# North Polar Lysithea Areographic, clon=0
+<51019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# South Polar Lysithea Areocentric, clon=0
+<51020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# South Polar Lysithea Areographic, clon=0
+<51021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide Lysithea Areocentric, clon=0
+<51022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide Lysithea Areographic, clon=0
+<51023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide Lysithea Areocentric, clon=180
+<51024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide Lysithea Areographic, clon=180
+<51025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson Lysithea Areocentric, clon=0
+<51026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson Lysithea Areographic, clon=0
+<51027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson Lysithea Areocentric, clon=180
+<51028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson Lysithea Areographic, clon=180
+<51029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal AUTO Lysithea Areocentric
+<51060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal AUTO Lysithea Areographic
+<51061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Stereographic AUTO Lysithea Areocentric, clon=0
+<51062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Stereographic AUTO Lysithea Areographic, clon=0
+<51063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Transverse Mercator AUTO Lysithea Areocentric
+<51064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Transverse Mercator AUTO Lysithea Areographic
+<51065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Orthographic AUTO Lysithea Areocentric
+<51066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Orthographic AUTO Lysithea Areographic
+<51067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Lysithea Areocentric
+<51068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Lysithea Areographic
+<51069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Lysithea Areocentric
+<51070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Lysithea Areographic
+<51071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Lysithea Areocentric
+<51072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Lysithea Areographic
+<51073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mercator AUTO Lysithea Areocentric
+<51074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mercator AUTO Lysithea Areographic
+<51075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Albers AUTO Lysithea Areocentric
+<51076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Albers AUTO Lysithea Areographic
+<51077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide AUTO Lysithea Areocentric
+<51080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide AUTO Lysithea Areographic
+<51081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson AUTO Lysithea Areocentric
+<51082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson AUTO Lysithea Areographic
+<51083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# GEOGCS Carme Areocentric
+<51100> 	+proj=longlat +a=15000 +b=15000 +no_defs 
+# GEOGCS Carme Areographic
+<51101> 	+proj=longlat +a=15000 +b=15000 +no_defs 
+# Equirectangular Carme Areocentric, clon=0
+<51110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Carme Areographic, clon=0
+<51111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Carme Areocentric, clon=180
+<51112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Carme Areographic, clon=180
+<51113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Carme Areocentric, clon=0
+<51114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Carme Areographic, clon=0
+<51115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Carme Areocentric, clon=180
+<51116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Carme Areographic, clon=180
+<51117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# North Polar Carme Areocentric, clon=0
+<51118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# North Polar Carme Areographic, clon=0
+<51119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# South Polar Carme Areocentric, clon=0
+<51120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# South Polar Carme Areographic, clon=0
+<51121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Carme Areocentric, clon=0
+<51122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Carme Areographic, clon=0
+<51123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Carme Areocentric, clon=180
+<51124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Carme Areographic, clon=180
+<51125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Carme Areocentric, clon=0
+<51126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Carme Areographic, clon=0
+<51127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Carme Areocentric, clon=180
+<51128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Carme Areographic, clon=180
+<51129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal AUTO Carme Areocentric
+<51160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal AUTO Carme Areographic
+<51161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Stereographic AUTO Carme Areocentric, clon=0
+<51162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Stereographic AUTO Carme Areographic, clon=0
+<51163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Transverse Mercator AUTO Carme Areocentric
+<51164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Transverse Mercator AUTO Carme Areographic
+<51165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Orthographic AUTO Carme Areocentric
+<51166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Orthographic AUTO Carme Areographic
+<51167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Carme Areocentric
+<51168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Carme Areographic
+<51169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Carme Areocentric
+<51170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Carme Areographic
+<51171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Carme Areocentric
+<51172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Carme Areographic
+<51173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mercator AUTO Carme Areocentric
+<51174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mercator AUTO Carme Areographic
+<51175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Albers AUTO Carme Areocentric
+<51176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Albers AUTO Carme Areographic
+<51177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide AUTO Carme Areocentric
+<51180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide AUTO Carme Areographic
+<51181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson AUTO Carme Areocentric
+<51182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson AUTO Carme Areographic
+<51183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# GEOGCS Ananke Areocentric
+<51200> 	+proj=longlat +a=10000 +b=10000 +no_defs 
+# GEOGCS Ananke Areographic
+<51201> 	+proj=longlat +a=10000 +b=10000 +no_defs 
+# Equirectangular Ananke Areocentric, clon=0
+<51210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Ananke Areographic, clon=0
+<51211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Ananke Areocentric, clon=180
+<51212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Ananke Areographic, clon=180
+<51213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Ananke Areocentric, clon=0
+<51214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Ananke Areographic, clon=0
+<51215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Ananke Areocentric, clon=180
+<51216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Ananke Areographic, clon=180
+<51217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# North Polar Ananke Areocentric, clon=0
+<51218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# North Polar Ananke Areographic, clon=0
+<51219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# South Polar Ananke Areocentric, clon=0
+<51220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# South Polar Ananke Areographic, clon=0
+<51221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Ananke Areocentric, clon=0
+<51222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Ananke Areographic, clon=0
+<51223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Ananke Areocentric, clon=180
+<51224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Ananke Areographic, clon=180
+<51225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Ananke Areocentric, clon=0
+<51226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Ananke Areographic, clon=0
+<51227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Ananke Areocentric, clon=180
+<51228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Ananke Areographic, clon=180
+<51229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal AUTO Ananke Areocentric
+<51260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal AUTO Ananke Areographic
+<51261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Stereographic AUTO Ananke Areocentric, clon=0
+<51262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Stereographic AUTO Ananke Areographic, clon=0
+<51263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Transverse Mercator AUTO Ananke Areocentric
+<51264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Transverse Mercator AUTO Ananke Areographic
+<51265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Orthographic AUTO Ananke Areocentric
+<51266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Orthographic AUTO Ananke Areographic
+<51267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ananke Areocentric
+<51268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ananke Areographic
+<51269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ananke Areocentric
+<51270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ananke Areographic
+<51271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ananke Areocentric
+<51272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ananke Areographic
+<51273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mercator AUTO Ananke Areocentric
+<51274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mercator AUTO Ananke Areographic
+<51275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Albers AUTO Ananke Areocentric
+<51276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Albers AUTO Ananke Areographic
+<51277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide AUTO Ananke Areocentric
+<51280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide AUTO Ananke Areographic
+<51281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson AUTO Ananke Areocentric
+<51282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson AUTO Ananke Areographic
+<51283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# GEOGCS Leda Areocentric
+<51300> 	+proj=longlat +a=5000 +b=5000 +no_defs 
+# GEOGCS Leda Areographic
+<51301> 	+proj=longlat +a=5000 +b=5000 +no_defs 
+# Equirectangular Leda Areocentric, clon=0
+<51310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equirectangular Leda Areographic, clon=0
+<51311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equirectangular Leda Areocentric, clon=180
+<51312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equirectangular Leda Areographic, clon=180
+<51313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal Leda Areocentric, clon=0
+<51314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal Leda Areographic, clon=0
+<51315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal Leda Areocentric, clon=180
+<51316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal Leda Areographic, clon=180
+<51317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# North Polar Leda Areocentric, clon=0
+<51318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# North Polar Leda Areographic, clon=0
+<51319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# South Polar Leda Areocentric, clon=0
+<51320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# South Polar Leda Areographic, clon=0
+<51321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide Leda Areocentric, clon=0
+<51322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide Leda Areographic, clon=0
+<51323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide Leda Areocentric, clon=180
+<51324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide Leda Areographic, clon=180
+<51325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson Leda Areocentric, clon=0
+<51326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson Leda Areographic, clon=0
+<51327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson Leda Areocentric, clon=180
+<51328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson Leda Areographic, clon=180
+<51329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal AUTO Leda Areocentric
+<51360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal AUTO Leda Areographic
+<51361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Stereographic AUTO Leda Areocentric, clon=0
+<51362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Stereographic AUTO Leda Areographic, clon=0
+<51363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Transverse Mercator AUTO Leda Areocentric
+<51364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Transverse Mercator AUTO Leda Areographic
+<51365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Orthographic AUTO Leda Areocentric
+<51366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Orthographic AUTO Leda Areographic
+<51367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Leda Areocentric
+<51368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Leda Areographic
+<51369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Leda Areocentric
+<51370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Leda Areographic
+<51371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Leda Areocentric
+<51372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Leda Areographic
+<51373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mercator AUTO Leda Areocentric
+<51374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mercator AUTO Leda Areographic
+<51375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Albers AUTO Leda Areocentric
+<51376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Albers AUTO Leda Areographic
+<51377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide AUTO Leda Areocentric
+<51380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide AUTO Leda Areographic
+<51381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson AUTO Leda Areocentric
+<51382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson AUTO Leda Areographic
+<51383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# GEOGCS Thebe Areocentric
+<51400> 	+proj=longlat +a=49300 +b=49300 +no_defs 
+# GEOGCS Thebe Areographic
+<51401> 	+proj=longlat +a=49300 +b=49300 +no_defs 
+# Equirectangular Thebe Areocentric, clon=0
+<51410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equirectangular Thebe Areographic, clon=0
+<51411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equirectangular Thebe Areocentric, clon=180
+<51412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equirectangular Thebe Areographic, clon=180
+<51413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal Thebe Areocentric, clon=0
+<51414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal Thebe Areographic, clon=0
+<51415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal Thebe Areocentric, clon=180
+<51416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal Thebe Areographic, clon=180
+<51417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# North Polar Thebe Areocentric, clon=0
+<51418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# North Polar Thebe Areographic, clon=0
+<51419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# South Polar Thebe Areocentric, clon=0
+<51420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# South Polar Thebe Areographic, clon=0
+<51421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide Thebe Areocentric, clon=0
+<51422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide Thebe Areographic, clon=0
+<51423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide Thebe Areocentric, clon=180
+<51424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide Thebe Areographic, clon=180
+<51425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson Thebe Areocentric, clon=0
+<51426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson Thebe Areographic, clon=0
+<51427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson Thebe Areocentric, clon=180
+<51428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson Thebe Areographic, clon=180
+<51429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal AUTO Thebe Areocentric
+<51460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal AUTO Thebe Areographic
+<51461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Stereographic AUTO Thebe Areocentric, clon=0
+<51462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Stereographic AUTO Thebe Areographic, clon=0
+<51463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Transverse Mercator AUTO Thebe Areocentric
+<51464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Transverse Mercator AUTO Thebe Areographic
+<51465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Orthographic AUTO Thebe Areocentric
+<51466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Orthographic AUTO Thebe Areographic
+<51467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Thebe Areocentric
+<51468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Thebe Areographic
+<51469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Thebe Areocentric
+<51470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Thebe Areographic
+<51471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Thebe Areocentric
+<51472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Thebe Areographic
+<51473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mercator AUTO Thebe Areocentric
+<51474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mercator AUTO Thebe Areographic
+<51475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Albers AUTO Thebe Areocentric
+<51476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Albers AUTO Thebe Areographic
+<51477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide AUTO Thebe Areocentric
+<51480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide AUTO Thebe Areographic
+<51481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson AUTO Thebe Areocentric
+<51482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson AUTO Thebe Areographic
+<51483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# GEOGCS Adrastea Areocentric
+<51500> 	+proj=longlat +a=8200 +b=8200 +no_defs 
+# GEOGCS Adrastea Areographic
+<51501> 	+proj=longlat +a=8200 +b=8200 +no_defs 
+# Equirectangular Adrastea Areocentric, clon=0
+<51510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equirectangular Adrastea Areographic, clon=0
+<51511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equirectangular Adrastea Areocentric, clon=180
+<51512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equirectangular Adrastea Areographic, clon=180
+<51513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal Adrastea Areocentric, clon=0
+<51514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal Adrastea Areographic, clon=0
+<51515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal Adrastea Areocentric, clon=180
+<51516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal Adrastea Areographic, clon=180
+<51517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# North Polar Adrastea Areocentric, clon=0
+<51518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# North Polar Adrastea Areographic, clon=0
+<51519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# South Polar Adrastea Areocentric, clon=0
+<51520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# South Polar Adrastea Areographic, clon=0
+<51521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide Adrastea Areocentric, clon=0
+<51522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide Adrastea Areographic, clon=0
+<51523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide Adrastea Areocentric, clon=180
+<51524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide Adrastea Areographic, clon=180
+<51525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson Adrastea Areocentric, clon=0
+<51526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson Adrastea Areographic, clon=0
+<51527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson Adrastea Areocentric, clon=180
+<51528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson Adrastea Areographic, clon=180
+<51529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal AUTO Adrastea Areocentric
+<51560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal AUTO Adrastea Areographic
+<51561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Stereographic AUTO Adrastea Areocentric, clon=0
+<51562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Stereographic AUTO Adrastea Areographic, clon=0
+<51563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Transverse Mercator AUTO Adrastea Areocentric
+<51564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Transverse Mercator AUTO Adrastea Areographic
+<51565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Orthographic AUTO Adrastea Areocentric
+<51566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Orthographic AUTO Adrastea Areographic
+<51567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Adrastea Areocentric
+<51568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Adrastea Areographic
+<51569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Adrastea Areocentric
+<51570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Adrastea Areographic
+<51571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Adrastea Areocentric
+<51572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Adrastea Areographic
+<51573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mercator AUTO Adrastea Areocentric
+<51574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mercator AUTO Adrastea Areographic
+<51575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Albers AUTO Adrastea Areocentric
+<51576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Albers AUTO Adrastea Areographic
+<51577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide AUTO Adrastea Areocentric
+<51580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide AUTO Adrastea Areographic
+<51581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson AUTO Adrastea Areocentric
+<51582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson AUTO Adrastea Areographic
+<51583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# GEOGCS Metis Areocentric
+<51600> 	+proj=longlat +a=21500 +b=21500 +no_defs 
+# GEOGCS Metis Areographic
+<51601> 	+proj=longlat +a=21500 +b=21500 +no_defs 
+# Equirectangular Metis Areocentric, clon=0
+<51610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equirectangular Metis Areographic, clon=0
+<51611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equirectangular Metis Areocentric, clon=180
+<51612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equirectangular Metis Areographic, clon=180
+<51613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal Metis Areocentric, clon=0
+<51614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal Metis Areographic, clon=0
+<51615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal Metis Areocentric, clon=180
+<51616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal Metis Areographic, clon=180
+<51617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# North Polar Metis Areocentric, clon=0
+<51618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# North Polar Metis Areographic, clon=0
+<51619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# South Polar Metis Areocentric, clon=0
+<51620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# South Polar Metis Areographic, clon=0
+<51621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide Metis Areocentric, clon=0
+<51622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide Metis Areographic, clon=0
+<51623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide Metis Areocentric, clon=180
+<51624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide Metis Areographic, clon=180
+<51625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson Metis Areocentric, clon=0
+<51626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson Metis Areographic, clon=0
+<51627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson Metis Areocentric, clon=180
+<51628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson Metis Areographic, clon=180
+<51629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal AUTO Metis Areocentric
+<51660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal AUTO Metis Areographic
+<51661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Stereographic AUTO Metis Areocentric, clon=0
+<51662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Stereographic AUTO Metis Areographic, clon=0
+<51663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Transverse Mercator AUTO Metis Areocentric
+<51664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Transverse Mercator AUTO Metis Areographic
+<51665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Orthographic AUTO Metis Areocentric
+<51666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Orthographic AUTO Metis Areographic
+<51667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Metis Areocentric
+<51668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Metis Areographic
+<51669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Metis Areocentric
+<51670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Metis Areographic
+<51671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Metis Areocentric
+<51672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Metis Areographic
+<51673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mercator AUTO Metis Areocentric
+<51674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mercator AUTO Metis Areographic
+<51675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Albers AUTO Metis Areocentric
+<51676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Albers AUTO Metis Areographic
+<51677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide AUTO Metis Areocentric
+<51680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide AUTO Metis Areographic
+<51681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson AUTO Metis Areocentric
+<51682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson AUTO Metis Areographic
+<51683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# GEOGCS Saturn Areocentric
+<69900> 	+proj=longlat +a=60268000 +b=-554950145.8116413 +no_defs 
+# GEOGCS Saturn Areographic
+<69901> 	+proj=longlat +a=60268000 +b=-554950145.8116413 +no_defs 
+# Equirectangular Saturn Areocentric, clon=0
+<69910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equirectangular Saturn Areographic, clon=0
+<69911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equirectangular Saturn Areocentric, clon=180
+<69912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equirectangular Saturn Areographic, clon=180
+<69913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal Saturn Areocentric, clon=0
+<69914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal Saturn Areographic, clon=0
+<69915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal Saturn Areocentric, clon=180
+<69916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal Saturn Areographic, clon=180
+<69917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# North Polar Saturn Areocentric, clon=0
+<69918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# North Polar Saturn Areographic, clon=0
+<69919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# South Polar Saturn Areocentric, clon=0
+<69920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# South Polar Saturn Areographic, clon=0
+<69921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide Saturn Areocentric, clon=0
+<69922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide Saturn Areographic, clon=0
+<69923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide Saturn Areocentric, clon=180
+<69924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide Saturn Areographic, clon=180
+<69925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson Saturn Areocentric, clon=0
+<69926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson Saturn Areographic, clon=0
+<69927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson Saturn Areocentric, clon=180
+<69928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson Saturn Areographic, clon=180
+<69929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal AUTO Saturn Areocentric
+<69960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal AUTO Saturn Areographic
+<69961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Stereographic AUTO Saturn Areocentric, clon=0
+<69962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Stereographic AUTO Saturn Areographic, clon=0
+<69963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Transverse Mercator AUTO Saturn Areocentric
+<69964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Transverse Mercator AUTO Saturn Areographic
+<69965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Orthographic AUTO Saturn Areocentric
+<69966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Orthographic AUTO Saturn Areographic
+<69967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Saturn Areocentric
+<69968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Saturn Areographic
+<69969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Saturn Areocentric
+<69970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Saturn Areographic
+<69971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Saturn Areocentric
+<69972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Saturn Areographic
+<69973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mercator AUTO Saturn Areocentric
+<69974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mercator AUTO Saturn Areographic
+<69975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Albers AUTO Saturn Areocentric
+<69976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Albers AUTO Saturn Areographic
+<69977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide AUTO Saturn Areocentric
+<69980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide AUTO Saturn Areographic
+<69981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson AUTO Saturn Areocentric
+<69982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson AUTO Saturn Areographic
+<69983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# GEOGCS Mimas Areocentric
+<60100> 	+proj=longlat +a=198600 +b=198600 +no_defs 
+# GEOGCS Mimas Areographic
+<60101> 	+proj=longlat +a=198600 +b=198600 +no_defs 
+# Equirectangular Mimas Areocentric, clon=0
+<60110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Equirectangular Mimas Areographic, clon=0
+<60111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Equirectangular Mimas Areocentric, clon=180
+<60112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Equirectangular Mimas Areographic, clon=180
+<60113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Sinusoidal Mimas Areocentric, clon=0
+<60114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Sinusoidal Mimas Areographic, clon=0
+<60115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Sinusoidal Mimas Areocentric, clon=180
+<60116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Sinusoidal Mimas Areographic, clon=180
+<60117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# North Polar Mimas Areocentric, clon=0
+<60118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# North Polar Mimas Areographic, clon=0
+<60119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# South Polar Mimas Areocentric, clon=0
+<60120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# South Polar Mimas Areographic, clon=0
+<60121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Mollweide Mimas Areocentric, clon=0
+<60122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Mollweide Mimas Areographic, clon=0
+<60123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Mollweide Mimas Areocentric, clon=180
+<60124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Mollweide Mimas Areographic, clon=180
+<60125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Robinson Mimas Areocentric, clon=0
+<60126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Robinson Mimas Areographic, clon=0
+<60127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Robinson Mimas Areocentric, clon=180
+<60128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Robinson Mimas Areographic, clon=180
+<60129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Sinusoidal AUTO Mimas Areocentric
+<60160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Sinusoidal AUTO Mimas Areographic
+<60161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Stereographic AUTO Mimas Areocentric, clon=0
+<60162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Stereographic AUTO Mimas Areographic, clon=0
+<60163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Transverse Mercator AUTO Mimas Areocentric
+<60164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Transverse Mercator AUTO Mimas Areographic
+<60165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Orthographic AUTO Mimas Areocentric
+<60166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Orthographic AUTO Mimas Areographic
+<60167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mimas Areocentric
+<60168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mimas Areographic
+<60169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mimas Areocentric
+<60170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mimas Areographic
+<60171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mimas Areocentric
+<60172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mimas Areographic
+<60173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Mercator AUTO Mimas Areocentric
+<60174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Mercator AUTO Mimas Areographic
+<60175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Albers AUTO Mimas Areocentric
+<60176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Albers AUTO Mimas Areographic
+<60177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Mollweide AUTO Mimas Areocentric
+<60180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Mollweide AUTO Mimas Areographic
+<60181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Robinson AUTO Mimas Areocentric
+<60182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# Robinson AUTO Mimas Areographic
+<60183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=198600 +b=198600 +units=m +no_defs 
+# GEOGCS Enceladus Areocentric
+<60200> 	+proj=longlat +a=249400 +b=249400 +no_defs 
+# GEOGCS Enceladus Areographic
+<60201> 	+proj=longlat +a=249400 +b=249400 +no_defs 
+# Equirectangular Enceladus Areocentric, clon=0
+<60210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Equirectangular Enceladus Areographic, clon=0
+<60211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Equirectangular Enceladus Areocentric, clon=180
+<60212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Equirectangular Enceladus Areographic, clon=180
+<60213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Sinusoidal Enceladus Areocentric, clon=0
+<60214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Sinusoidal Enceladus Areographic, clon=0
+<60215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Sinusoidal Enceladus Areocentric, clon=180
+<60216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Sinusoidal Enceladus Areographic, clon=180
+<60217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# North Polar Enceladus Areocentric, clon=0
+<60218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# North Polar Enceladus Areographic, clon=0
+<60219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# South Polar Enceladus Areocentric, clon=0
+<60220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# South Polar Enceladus Areographic, clon=0
+<60221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Mollweide Enceladus Areocentric, clon=0
+<60222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Mollweide Enceladus Areographic, clon=0
+<60223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Mollweide Enceladus Areocentric, clon=180
+<60224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Mollweide Enceladus Areographic, clon=180
+<60225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Robinson Enceladus Areocentric, clon=0
+<60226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Robinson Enceladus Areographic, clon=0
+<60227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Robinson Enceladus Areocentric, clon=180
+<60228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Robinson Enceladus Areographic, clon=180
+<60229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Sinusoidal AUTO Enceladus Areocentric
+<60260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Sinusoidal AUTO Enceladus Areographic
+<60261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Stereographic AUTO Enceladus Areocentric, clon=0
+<60262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Stereographic AUTO Enceladus Areographic, clon=0
+<60263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Transverse Mercator AUTO Enceladus Areocentric
+<60264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Transverse Mercator AUTO Enceladus Areographic
+<60265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Orthographic AUTO Enceladus Areocentric
+<60266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Orthographic AUTO Enceladus Areographic
+<60267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Enceladus Areocentric
+<60268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Enceladus Areographic
+<60269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Enceladus Areocentric
+<60270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Enceladus Areographic
+<60271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Enceladus Areocentric
+<60272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Enceladus Areographic
+<60273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Mercator AUTO Enceladus Areocentric
+<60274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Mercator AUTO Enceladus Areographic
+<60275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Albers AUTO Enceladus Areocentric
+<60276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Albers AUTO Enceladus Areographic
+<60277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Mollweide AUTO Enceladus Areocentric
+<60280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Mollweide AUTO Enceladus Areographic
+<60281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Robinson AUTO Enceladus Areocentric
+<60282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# Robinson AUTO Enceladus Areographic
+<60283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=249400 +b=249400 +units=m +no_defs 
+# GEOGCS Tethys Areocentric
+<60300> 	+proj=longlat +a=529800 +b=529800 +no_defs 
+# GEOGCS Tethys Areographic
+<60301> 	+proj=longlat +a=529800 +b=529800 +no_defs 
+# Equirectangular Tethys Areocentric, clon=0
+<60310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Equirectangular Tethys Areographic, clon=0
+<60311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Equirectangular Tethys Areocentric, clon=180
+<60312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Equirectangular Tethys Areographic, clon=180
+<60313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Sinusoidal Tethys Areocentric, clon=0
+<60314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Sinusoidal Tethys Areographic, clon=0
+<60315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Sinusoidal Tethys Areocentric, clon=180
+<60316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Sinusoidal Tethys Areographic, clon=180
+<60317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# North Polar Tethys Areocentric, clon=0
+<60318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# North Polar Tethys Areographic, clon=0
+<60319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# South Polar Tethys Areocentric, clon=0
+<60320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# South Polar Tethys Areographic, clon=0
+<60321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Mollweide Tethys Areocentric, clon=0
+<60322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Mollweide Tethys Areographic, clon=0
+<60323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Mollweide Tethys Areocentric, clon=180
+<60324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Mollweide Tethys Areographic, clon=180
+<60325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Robinson Tethys Areocentric, clon=0
+<60326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Robinson Tethys Areographic, clon=0
+<60327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Robinson Tethys Areocentric, clon=180
+<60328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Robinson Tethys Areographic, clon=180
+<60329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Sinusoidal AUTO Tethys Areocentric
+<60360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Sinusoidal AUTO Tethys Areographic
+<60361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Stereographic AUTO Tethys Areocentric, clon=0
+<60362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Stereographic AUTO Tethys Areographic, clon=0
+<60363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Transverse Mercator AUTO Tethys Areocentric
+<60364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Transverse Mercator AUTO Tethys Areographic
+<60365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Orthographic AUTO Tethys Areocentric
+<60366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Orthographic AUTO Tethys Areographic
+<60367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Tethys Areocentric
+<60368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Tethys Areographic
+<60369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Tethys Areocentric
+<60370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Tethys Areographic
+<60371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Tethys Areocentric
+<60372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Tethys Areographic
+<60373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Mercator AUTO Tethys Areocentric
+<60374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Mercator AUTO Tethys Areographic
+<60375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Albers AUTO Tethys Areocentric
+<60376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Albers AUTO Tethys Areographic
+<60377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Mollweide AUTO Tethys Areocentric
+<60380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Mollweide AUTO Tethys Areographic
+<60381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Robinson AUTO Tethys Areocentric
+<60382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# Robinson AUTO Tethys Areographic
+<60383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=529800 +b=529800 +units=m +no_defs 
+# GEOGCS Dione Areocentric
+<60400> 	+proj=longlat +a=560000 +b=560000 +no_defs 
+# GEOGCS Dione Areographic
+<60401> 	+proj=longlat +a=560000 +b=560000 +no_defs 
+# Equirectangular Dione Areocentric, clon=0
+<60410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Equirectangular Dione Areographic, clon=0
+<60411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Equirectangular Dione Areocentric, clon=180
+<60412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Equirectangular Dione Areographic, clon=180
+<60413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Sinusoidal Dione Areocentric, clon=0
+<60414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Sinusoidal Dione Areographic, clon=0
+<60415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Sinusoidal Dione Areocentric, clon=180
+<60416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Sinusoidal Dione Areographic, clon=180
+<60417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# North Polar Dione Areocentric, clon=0
+<60418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# North Polar Dione Areographic, clon=0
+<60419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# South Polar Dione Areocentric, clon=0
+<60420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# South Polar Dione Areographic, clon=0
+<60421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Mollweide Dione Areocentric, clon=0
+<60422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Mollweide Dione Areographic, clon=0
+<60423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Mollweide Dione Areocentric, clon=180
+<60424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Mollweide Dione Areographic, clon=180
+<60425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Robinson Dione Areocentric, clon=0
+<60426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Robinson Dione Areographic, clon=0
+<60427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Robinson Dione Areocentric, clon=180
+<60428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Robinson Dione Areographic, clon=180
+<60429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Sinusoidal AUTO Dione Areocentric
+<60460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Sinusoidal AUTO Dione Areographic
+<60461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Stereographic AUTO Dione Areocentric, clon=0
+<60462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Stereographic AUTO Dione Areographic, clon=0
+<60463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Transverse Mercator AUTO Dione Areocentric
+<60464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Transverse Mercator AUTO Dione Areographic
+<60465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Orthographic AUTO Dione Areocentric
+<60466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Orthographic AUTO Dione Areographic
+<60467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Dione Areocentric
+<60468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Dione Areographic
+<60469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Dione Areocentric
+<60470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Dione Areographic
+<60471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Dione Areocentric
+<60472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Dione Areographic
+<60473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Mercator AUTO Dione Areocentric
+<60474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Mercator AUTO Dione Areographic
+<60475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Albers AUTO Dione Areocentric
+<60476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Albers AUTO Dione Areographic
+<60477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Mollweide AUTO Dione Areocentric
+<60480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Mollweide AUTO Dione Areographic
+<60481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Robinson AUTO Dione Areocentric
+<60482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# Robinson AUTO Dione Areographic
+<60483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=560000 +b=560000 +units=m +no_defs 
+# GEOGCS Rhea Areocentric
+<60500> 	+proj=longlat +a=764000 +b=764000 +no_defs 
+# GEOGCS Rhea Areographic
+<60501> 	+proj=longlat +a=764000 +b=764000 +no_defs 
+# Equirectangular Rhea Areocentric, clon=0
+<60510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Equirectangular Rhea Areographic, clon=0
+<60511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Equirectangular Rhea Areocentric, clon=180
+<60512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Equirectangular Rhea Areographic, clon=180
+<60513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Sinusoidal Rhea Areocentric, clon=0
+<60514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Sinusoidal Rhea Areographic, clon=0
+<60515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Sinusoidal Rhea Areocentric, clon=180
+<60516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Sinusoidal Rhea Areographic, clon=180
+<60517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# North Polar Rhea Areocentric, clon=0
+<60518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# North Polar Rhea Areographic, clon=0
+<60519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# South Polar Rhea Areocentric, clon=0
+<60520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# South Polar Rhea Areographic, clon=0
+<60521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Mollweide Rhea Areocentric, clon=0
+<60522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Mollweide Rhea Areographic, clon=0
+<60523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Mollweide Rhea Areocentric, clon=180
+<60524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Mollweide Rhea Areographic, clon=180
+<60525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Robinson Rhea Areocentric, clon=0
+<60526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Robinson Rhea Areographic, clon=0
+<60527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Robinson Rhea Areocentric, clon=180
+<60528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Robinson Rhea Areographic, clon=180
+<60529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Sinusoidal AUTO Rhea Areocentric
+<60560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Sinusoidal AUTO Rhea Areographic
+<60561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Stereographic AUTO Rhea Areocentric, clon=0
+<60562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Stereographic AUTO Rhea Areographic, clon=0
+<60563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Transverse Mercator AUTO Rhea Areocentric
+<60564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Transverse Mercator AUTO Rhea Areographic
+<60565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Orthographic AUTO Rhea Areocentric
+<60566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Orthographic AUTO Rhea Areographic
+<60567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Rhea Areocentric
+<60568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Rhea Areographic
+<60569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Rhea Areocentric
+<60570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Rhea Areographic
+<60571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Rhea Areocentric
+<60572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Rhea Areographic
+<60573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Mercator AUTO Rhea Areocentric
+<60574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Mercator AUTO Rhea Areographic
+<60575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Albers AUTO Rhea Areocentric
+<60576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Albers AUTO Rhea Areographic
+<60577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Mollweide AUTO Rhea Areocentric
+<60580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Mollweide AUTO Rhea Areographic
+<60581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Robinson AUTO Rhea Areocentric
+<60582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# Robinson AUTO Rhea Areographic
+<60583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=764000 +b=764000 +units=m +no_defs 
+# GEOGCS Titan Areocentric
+<60600> 	+proj=longlat +a=2575000 +b=2575000 +no_defs 
+# GEOGCS Titan Areographic
+<60601> 	+proj=longlat +a=2575000 +b=2575000 +no_defs 
+# Equirectangular Titan Areocentric, clon=0
+<60610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Equirectangular Titan Areographic, clon=0
+<60611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Equirectangular Titan Areocentric, clon=180
+<60612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Equirectangular Titan Areographic, clon=180
+<60613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Sinusoidal Titan Areocentric, clon=0
+<60614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Sinusoidal Titan Areographic, clon=0
+<60615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Sinusoidal Titan Areocentric, clon=180
+<60616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Sinusoidal Titan Areographic, clon=180
+<60617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# North Polar Titan Areocentric, clon=0
+<60618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# North Polar Titan Areographic, clon=0
+<60619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# South Polar Titan Areocentric, clon=0
+<60620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# South Polar Titan Areographic, clon=0
+<60621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Mollweide Titan Areocentric, clon=0
+<60622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Mollweide Titan Areographic, clon=0
+<60623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Mollweide Titan Areocentric, clon=180
+<60624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Mollweide Titan Areographic, clon=180
+<60625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Robinson Titan Areocentric, clon=0
+<60626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Robinson Titan Areographic, clon=0
+<60627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Robinson Titan Areocentric, clon=180
+<60628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Robinson Titan Areographic, clon=180
+<60629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Sinusoidal AUTO Titan Areocentric
+<60660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Sinusoidal AUTO Titan Areographic
+<60661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Stereographic AUTO Titan Areocentric, clon=0
+<60662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Stereographic AUTO Titan Areographic, clon=0
+<60663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Transverse Mercator AUTO Titan Areocentric
+<60664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Transverse Mercator AUTO Titan Areographic
+<60665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Orthographic AUTO Titan Areocentric
+<60666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Orthographic AUTO Titan Areographic
+<60667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Titan Areocentric
+<60668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Titan Areographic
+<60669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Titan Areocentric
+<60670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Titan Areographic
+<60671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Titan Areocentric
+<60672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Titan Areographic
+<60673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Mercator AUTO Titan Areocentric
+<60674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Mercator AUTO Titan Areographic
+<60675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Albers AUTO Titan Areocentric
+<60676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Albers AUTO Titan Areographic
+<60677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Mollweide AUTO Titan Areocentric
+<60680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Mollweide AUTO Titan Areographic
+<60681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Robinson AUTO Titan Areocentric
+<60682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# Robinson AUTO Titan Areographic
+<60683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2575000 +b=2575000 +units=m +no_defs 
+# GEOGCS Hyperion Areocentric
+<60700> 	+proj=longlat +a=133000 +b=133000 +no_defs 
+# GEOGCS Hyperion Areographic
+<60701> 	+proj=longlat +a=133000 +b=133000 +no_defs 
+# Equirectangular Hyperion Areocentric, clon=0
+<60710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Equirectangular Hyperion Areographic, clon=0
+<60711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Equirectangular Hyperion Areocentric, clon=180
+<60712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Equirectangular Hyperion Areographic, clon=180
+<60713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Sinusoidal Hyperion Areocentric, clon=0
+<60714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Sinusoidal Hyperion Areographic, clon=0
+<60715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Sinusoidal Hyperion Areocentric, clon=180
+<60716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Sinusoidal Hyperion Areographic, clon=180
+<60717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# North Polar Hyperion Areocentric, clon=0
+<60718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# North Polar Hyperion Areographic, clon=0
+<60719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# South Polar Hyperion Areocentric, clon=0
+<60720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# South Polar Hyperion Areographic, clon=0
+<60721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Mollweide Hyperion Areocentric, clon=0
+<60722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Mollweide Hyperion Areographic, clon=0
+<60723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Mollweide Hyperion Areocentric, clon=180
+<60724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Mollweide Hyperion Areographic, clon=180
+<60725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Robinson Hyperion Areocentric, clon=0
+<60726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Robinson Hyperion Areographic, clon=0
+<60727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Robinson Hyperion Areocentric, clon=180
+<60728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Robinson Hyperion Areographic, clon=180
+<60729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Sinusoidal AUTO Hyperion Areocentric
+<60760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Sinusoidal AUTO Hyperion Areographic
+<60761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Stereographic AUTO Hyperion Areocentric, clon=0
+<60762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Stereographic AUTO Hyperion Areographic, clon=0
+<60763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Transverse Mercator AUTO Hyperion Areocentric
+<60764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Transverse Mercator AUTO Hyperion Areographic
+<60765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Orthographic AUTO Hyperion Areocentric
+<60766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Orthographic AUTO Hyperion Areographic
+<60767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Hyperion Areocentric
+<60768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Hyperion Areographic
+<60769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Hyperion Areocentric
+<60770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Hyperion Areographic
+<60771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Hyperion Areocentric
+<60772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Hyperion Areographic
+<60773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Mercator AUTO Hyperion Areocentric
+<60774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Mercator AUTO Hyperion Areographic
+<60775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Albers AUTO Hyperion Areocentric
+<60776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Albers AUTO Hyperion Areographic
+<60777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Mollweide AUTO Hyperion Areocentric
+<60780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Mollweide AUTO Hyperion Areographic
+<60781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Robinson AUTO Hyperion Areocentric
+<60782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# Robinson AUTO Hyperion Areographic
+<60783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=133000 +b=133000 +units=m +no_defs 
+# GEOGCS Iapetus Areocentric
+<60800> 	+proj=longlat +a=718000 +b=718000 +no_defs 
+# GEOGCS Iapetus Areographic
+<60801> 	+proj=longlat +a=718000 +b=718000 +no_defs 
+# Equirectangular Iapetus Areocentric, clon=0
+<60810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Equirectangular Iapetus Areographic, clon=0
+<60811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Equirectangular Iapetus Areocentric, clon=180
+<60812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Equirectangular Iapetus Areographic, clon=180
+<60813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Sinusoidal Iapetus Areocentric, clon=0
+<60814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Sinusoidal Iapetus Areographic, clon=0
+<60815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Sinusoidal Iapetus Areocentric, clon=180
+<60816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Sinusoidal Iapetus Areographic, clon=180
+<60817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# North Polar Iapetus Areocentric, clon=0
+<60818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# North Polar Iapetus Areographic, clon=0
+<60819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# South Polar Iapetus Areocentric, clon=0
+<60820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# South Polar Iapetus Areographic, clon=0
+<60821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Mollweide Iapetus Areocentric, clon=0
+<60822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Mollweide Iapetus Areographic, clon=0
+<60823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Mollweide Iapetus Areocentric, clon=180
+<60824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Mollweide Iapetus Areographic, clon=180
+<60825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Robinson Iapetus Areocentric, clon=0
+<60826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Robinson Iapetus Areographic, clon=0
+<60827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Robinson Iapetus Areocentric, clon=180
+<60828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Robinson Iapetus Areographic, clon=180
+<60829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Sinusoidal AUTO Iapetus Areocentric
+<60860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Sinusoidal AUTO Iapetus Areographic
+<60861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Stereographic AUTO Iapetus Areocentric, clon=0
+<60862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Stereographic AUTO Iapetus Areographic, clon=0
+<60863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Transverse Mercator AUTO Iapetus Areocentric
+<60864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Transverse Mercator AUTO Iapetus Areographic
+<60865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Orthographic AUTO Iapetus Areocentric
+<60866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Orthographic AUTO Iapetus Areographic
+<60867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Iapetus Areocentric
+<60868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Iapetus Areographic
+<60869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Iapetus Areocentric
+<60870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Iapetus Areographic
+<60871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Iapetus Areocentric
+<60872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Iapetus Areographic
+<60873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Mercator AUTO Iapetus Areocentric
+<60874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Mercator AUTO Iapetus Areographic
+<60875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Albers AUTO Iapetus Areocentric
+<60876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Albers AUTO Iapetus Areographic
+<60877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Mollweide AUTO Iapetus Areocentric
+<60880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Mollweide AUTO Iapetus Areographic
+<60881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Robinson AUTO Iapetus Areocentric
+<60882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# Robinson AUTO Iapetus Areographic
+<60883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=718000 +b=718000 +units=m +no_defs 
+# GEOGCS Phoebe Areocentric
+<60900> 	+proj=longlat +a=110000 +b=110000 +no_defs 
+# GEOGCS Phoebe Areographic
+<60901> 	+proj=longlat +a=110000 +b=110000 +no_defs 
+# Equirectangular Phoebe Areocentric, clon=0
+<60910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Equirectangular Phoebe Areographic, clon=0
+<60911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Equirectangular Phoebe Areocentric, clon=180
+<60912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Equirectangular Phoebe Areographic, clon=180
+<60913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Sinusoidal Phoebe Areocentric, clon=0
+<60914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Sinusoidal Phoebe Areographic, clon=0
+<60915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Sinusoidal Phoebe Areocentric, clon=180
+<60916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Sinusoidal Phoebe Areographic, clon=180
+<60917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# North Polar Phoebe Areocentric, clon=0
+<60918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# North Polar Phoebe Areographic, clon=0
+<60919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# South Polar Phoebe Areocentric, clon=0
+<60920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# South Polar Phoebe Areographic, clon=0
+<60921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Mollweide Phoebe Areocentric, clon=0
+<60922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Mollweide Phoebe Areographic, clon=0
+<60923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Mollweide Phoebe Areocentric, clon=180
+<60924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Mollweide Phoebe Areographic, clon=180
+<60925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Robinson Phoebe Areocentric, clon=0
+<60926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Robinson Phoebe Areographic, clon=0
+<60927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Robinson Phoebe Areocentric, clon=180
+<60928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Robinson Phoebe Areographic, clon=180
+<60929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Sinusoidal AUTO Phoebe Areocentric
+<60960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Sinusoidal AUTO Phoebe Areographic
+<60961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Stereographic AUTO Phoebe Areocentric, clon=0
+<60962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Stereographic AUTO Phoebe Areographic, clon=0
+<60963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Transverse Mercator AUTO Phoebe Areocentric
+<60964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Transverse Mercator AUTO Phoebe Areographic
+<60965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Orthographic AUTO Phoebe Areocentric
+<60966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Orthographic AUTO Phoebe Areographic
+<60967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Phoebe Areocentric
+<60968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Phoebe Areographic
+<60969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Phoebe Areocentric
+<60970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Phoebe Areographic
+<60971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Phoebe Areocentric
+<60972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Phoebe Areographic
+<60973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Mercator AUTO Phoebe Areocentric
+<60974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Mercator AUTO Phoebe Areographic
+<60975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Albers AUTO Phoebe Areocentric
+<60976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Albers AUTO Phoebe Areographic
+<60977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Mollweide AUTO Phoebe Areocentric
+<60980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Mollweide AUTO Phoebe Areographic
+<60981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Robinson AUTO Phoebe Areocentric
+<60982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# Robinson AUTO Phoebe Areographic
+<60983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=110000 +b=110000 +units=m +no_defs 
+# GEOGCS Janus Areocentric
+<61000> 	+proj=longlat +a=88800 +b=88800 +no_defs 
+# GEOGCS Janus Areographic
+<61001> 	+proj=longlat +a=88800 +b=88800 +no_defs 
+# Equirectangular Janus Areocentric, clon=0
+<61010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Equirectangular Janus Areographic, clon=0
+<61011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Equirectangular Janus Areocentric, clon=180
+<61012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Equirectangular Janus Areographic, clon=180
+<61013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Sinusoidal Janus Areocentric, clon=0
+<61014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Sinusoidal Janus Areographic, clon=0
+<61015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Sinusoidal Janus Areocentric, clon=180
+<61016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Sinusoidal Janus Areographic, clon=180
+<61017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# North Polar Janus Areocentric, clon=0
+<61018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# North Polar Janus Areographic, clon=0
+<61019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# South Polar Janus Areocentric, clon=0
+<61020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# South Polar Janus Areographic, clon=0
+<61021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Mollweide Janus Areocentric, clon=0
+<61022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Mollweide Janus Areographic, clon=0
+<61023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Mollweide Janus Areocentric, clon=180
+<61024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Mollweide Janus Areographic, clon=180
+<61025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Robinson Janus Areocentric, clon=0
+<61026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Robinson Janus Areographic, clon=0
+<61027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Robinson Janus Areocentric, clon=180
+<61028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Robinson Janus Areographic, clon=180
+<61029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Sinusoidal AUTO Janus Areocentric
+<61060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Sinusoidal AUTO Janus Areographic
+<61061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Stereographic AUTO Janus Areocentric, clon=0
+<61062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Stereographic AUTO Janus Areographic, clon=0
+<61063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Transverse Mercator AUTO Janus Areocentric
+<61064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Transverse Mercator AUTO Janus Areographic
+<61065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Orthographic AUTO Janus Areocentric
+<61066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Orthographic AUTO Janus Areographic
+<61067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Janus Areocentric
+<61068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Janus Areographic
+<61069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Janus Areocentric
+<61070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Janus Areographic
+<61071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Janus Areocentric
+<61072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Janus Areographic
+<61073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Mercator AUTO Janus Areocentric
+<61074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Mercator AUTO Janus Areographic
+<61075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Albers AUTO Janus Areocentric
+<61076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Albers AUTO Janus Areographic
+<61077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Mollweide AUTO Janus Areocentric
+<61080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Mollweide AUTO Janus Areographic
+<61081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Robinson AUTO Janus Areocentric
+<61082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# Robinson AUTO Janus Areographic
+<61083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=88800 +b=88800 +units=m +no_defs 
+# GEOGCS Epimetheus Areocentric
+<61100> 	+proj=longlat +a=59500 +b=59500 +no_defs 
+# GEOGCS Epimetheus Areographic
+<61101> 	+proj=longlat +a=59500 +b=59500 +no_defs 
+# Equirectangular Epimetheus Areocentric, clon=0
+<61110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Equirectangular Epimetheus Areographic, clon=0
+<61111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Equirectangular Epimetheus Areocentric, clon=180
+<61112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Equirectangular Epimetheus Areographic, clon=180
+<61113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Sinusoidal Epimetheus Areocentric, clon=0
+<61114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Sinusoidal Epimetheus Areographic, clon=0
+<61115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Sinusoidal Epimetheus Areocentric, clon=180
+<61116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Sinusoidal Epimetheus Areographic, clon=180
+<61117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# North Polar Epimetheus Areocentric, clon=0
+<61118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# North Polar Epimetheus Areographic, clon=0
+<61119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# South Polar Epimetheus Areocentric, clon=0
+<61120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# South Polar Epimetheus Areographic, clon=0
+<61121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Mollweide Epimetheus Areocentric, clon=0
+<61122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Mollweide Epimetheus Areographic, clon=0
+<61123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Mollweide Epimetheus Areocentric, clon=180
+<61124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Mollweide Epimetheus Areographic, clon=180
+<61125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Robinson Epimetheus Areocentric, clon=0
+<61126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Robinson Epimetheus Areographic, clon=0
+<61127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Robinson Epimetheus Areocentric, clon=180
+<61128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Robinson Epimetheus Areographic, clon=180
+<61129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Sinusoidal AUTO Epimetheus Areocentric
+<61160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Sinusoidal AUTO Epimetheus Areographic
+<61161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Stereographic AUTO Epimetheus Areocentric, clon=0
+<61162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Stereographic AUTO Epimetheus Areographic, clon=0
+<61163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Transverse Mercator AUTO Epimetheus Areocentric
+<61164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Transverse Mercator AUTO Epimetheus Areographic
+<61165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Orthographic AUTO Epimetheus Areocentric
+<61166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Orthographic AUTO Epimetheus Areographic
+<61167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Epimetheus Areocentric
+<61168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Epimetheus Areographic
+<61169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Epimetheus Areocentric
+<61170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Epimetheus Areographic
+<61171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Epimetheus Areocentric
+<61172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Epimetheus Areographic
+<61173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Mercator AUTO Epimetheus Areocentric
+<61174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Mercator AUTO Epimetheus Areographic
+<61175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Albers AUTO Epimetheus Areocentric
+<61176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Albers AUTO Epimetheus Areographic
+<61177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Mollweide AUTO Epimetheus Areocentric
+<61180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Mollweide AUTO Epimetheus Areographic
+<61181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Robinson AUTO Epimetheus Areocentric
+<61182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# Robinson AUTO Epimetheus Areographic
+<61183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=59500 +b=59500 +units=m +no_defs 
+# GEOGCS Helene Areocentric
+<61200> 	+proj=longlat +a=16000 +b=16000 +no_defs 
+# GEOGCS Helene Areographic
+<61201> 	+proj=longlat +a=16000 +b=16000 +no_defs 
+# Equirectangular Helene Areocentric, clon=0
+<61210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equirectangular Helene Areographic, clon=0
+<61211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equirectangular Helene Areocentric, clon=180
+<61212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equirectangular Helene Areographic, clon=180
+<61213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal Helene Areocentric, clon=0
+<61214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal Helene Areographic, clon=0
+<61215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal Helene Areocentric, clon=180
+<61216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal Helene Areographic, clon=180
+<61217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# North Polar Helene Areocentric, clon=0
+<61218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# North Polar Helene Areographic, clon=0
+<61219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# South Polar Helene Areocentric, clon=0
+<61220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# South Polar Helene Areographic, clon=0
+<61221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide Helene Areocentric, clon=0
+<61222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide Helene Areographic, clon=0
+<61223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide Helene Areocentric, clon=180
+<61224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide Helene Areographic, clon=180
+<61225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson Helene Areocentric, clon=0
+<61226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson Helene Areographic, clon=0
+<61227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson Helene Areocentric, clon=180
+<61228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson Helene Areographic, clon=180
+<61229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal AUTO Helene Areocentric
+<61260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal AUTO Helene Areographic
+<61261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Stereographic AUTO Helene Areocentric, clon=0
+<61262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Stereographic AUTO Helene Areographic, clon=0
+<61263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Transverse Mercator AUTO Helene Areocentric
+<61264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Transverse Mercator AUTO Helene Areographic
+<61265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Orthographic AUTO Helene Areocentric
+<61266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Orthographic AUTO Helene Areographic
+<61267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Helene Areocentric
+<61268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Helene Areographic
+<61269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Helene Areocentric
+<61270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Helene Areographic
+<61271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Helene Areocentric
+<61272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Helene Areographic
+<61273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mercator AUTO Helene Areocentric
+<61274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mercator AUTO Helene Areographic
+<61275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Albers AUTO Helene Areocentric
+<61276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Albers AUTO Helene Areographic
+<61277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide AUTO Helene Areocentric
+<61280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide AUTO Helene Areographic
+<61281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson AUTO Helene Areocentric
+<61282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson AUTO Helene Areographic
+<61283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# GEOGCS Telesto Areocentric
+<61300> 	+proj=longlat +a=11000 +b=11000 +no_defs 
+# GEOGCS Telesto Areographic
+<61301> 	+proj=longlat +a=11000 +b=11000 +no_defs 
+# Equirectangular Telesto Areocentric, clon=0
+<61310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Equirectangular Telesto Areographic, clon=0
+<61311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Equirectangular Telesto Areocentric, clon=180
+<61312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Equirectangular Telesto Areographic, clon=180
+<61313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Sinusoidal Telesto Areocentric, clon=0
+<61314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Sinusoidal Telesto Areographic, clon=0
+<61315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Sinusoidal Telesto Areocentric, clon=180
+<61316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Sinusoidal Telesto Areographic, clon=180
+<61317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# North Polar Telesto Areocentric, clon=0
+<61318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# North Polar Telesto Areographic, clon=0
+<61319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# South Polar Telesto Areocentric, clon=0
+<61320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# South Polar Telesto Areographic, clon=0
+<61321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Mollweide Telesto Areocentric, clon=0
+<61322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Mollweide Telesto Areographic, clon=0
+<61323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Mollweide Telesto Areocentric, clon=180
+<61324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Mollweide Telesto Areographic, clon=180
+<61325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Robinson Telesto Areocentric, clon=0
+<61326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Robinson Telesto Areographic, clon=0
+<61327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Robinson Telesto Areocentric, clon=180
+<61328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Robinson Telesto Areographic, clon=180
+<61329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Sinusoidal AUTO Telesto Areocentric
+<61360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Sinusoidal AUTO Telesto Areographic
+<61361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Stereographic AUTO Telesto Areocentric, clon=0
+<61362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Stereographic AUTO Telesto Areographic, clon=0
+<61363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Transverse Mercator AUTO Telesto Areocentric
+<61364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Transverse Mercator AUTO Telesto Areographic
+<61365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Orthographic AUTO Telesto Areocentric
+<61366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Orthographic AUTO Telesto Areographic
+<61367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Telesto Areocentric
+<61368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Telesto Areographic
+<61369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Telesto Areocentric
+<61370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Telesto Areographic
+<61371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Telesto Areocentric
+<61372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Telesto Areographic
+<61373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Mercator AUTO Telesto Areocentric
+<61374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Mercator AUTO Telesto Areographic
+<61375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Albers AUTO Telesto Areocentric
+<61376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Albers AUTO Telesto Areographic
+<61377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Mollweide AUTO Telesto Areocentric
+<61380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Mollweide AUTO Telesto Areographic
+<61381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Robinson AUTO Telesto Areocentric
+<61382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# Robinson AUTO Telesto Areographic
+<61383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11000 +b=11000 +units=m +no_defs 
+# GEOGCS Calypso Areocentric
+<61400> 	+proj=longlat +a=9500 +b=9500 +no_defs 
+# GEOGCS Calypso Areographic
+<61401> 	+proj=longlat +a=9500 +b=9500 +no_defs 
+# Equirectangular Calypso Areocentric, clon=0
+<61410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Equirectangular Calypso Areographic, clon=0
+<61411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Equirectangular Calypso Areocentric, clon=180
+<61412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Equirectangular Calypso Areographic, clon=180
+<61413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Sinusoidal Calypso Areocentric, clon=0
+<61414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Sinusoidal Calypso Areographic, clon=0
+<61415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Sinusoidal Calypso Areocentric, clon=180
+<61416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Sinusoidal Calypso Areographic, clon=180
+<61417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# North Polar Calypso Areocentric, clon=0
+<61418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# North Polar Calypso Areographic, clon=0
+<61419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# South Polar Calypso Areocentric, clon=0
+<61420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# South Polar Calypso Areographic, clon=0
+<61421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Mollweide Calypso Areocentric, clon=0
+<61422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Mollweide Calypso Areographic, clon=0
+<61423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Mollweide Calypso Areocentric, clon=180
+<61424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Mollweide Calypso Areographic, clon=180
+<61425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Robinson Calypso Areocentric, clon=0
+<61426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Robinson Calypso Areographic, clon=0
+<61427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Robinson Calypso Areocentric, clon=180
+<61428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Robinson Calypso Areographic, clon=180
+<61429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Sinusoidal AUTO Calypso Areocentric
+<61460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Sinusoidal AUTO Calypso Areographic
+<61461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Stereographic AUTO Calypso Areocentric, clon=0
+<61462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Stereographic AUTO Calypso Areographic, clon=0
+<61463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Transverse Mercator AUTO Calypso Areocentric
+<61464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Transverse Mercator AUTO Calypso Areographic
+<61465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Orthographic AUTO Calypso Areocentric
+<61466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Orthographic AUTO Calypso Areographic
+<61467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Calypso Areocentric
+<61468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Calypso Areographic
+<61469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Calypso Areocentric
+<61470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Calypso Areographic
+<61471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Calypso Areocentric
+<61472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Calypso Areographic
+<61473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Mercator AUTO Calypso Areocentric
+<61474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Mercator AUTO Calypso Areographic
+<61475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Albers AUTO Calypso Areocentric
+<61476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Albers AUTO Calypso Areographic
+<61477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Mollweide AUTO Calypso Areocentric
+<61480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Mollweide AUTO Calypso Areographic
+<61481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Robinson AUTO Calypso Areocentric
+<61482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# Robinson AUTO Calypso Areographic
+<61483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=9500 +b=9500 +units=m +no_defs 
+# GEOGCS Atlas Areocentric
+<61500> 	+proj=longlat +a=16000 +b=16000 +no_defs 
+# GEOGCS Atlas Areographic
+<61501> 	+proj=longlat +a=16000 +b=16000 +no_defs 
+# Equirectangular Atlas Areocentric, clon=0
+<61510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equirectangular Atlas Areographic, clon=0
+<61511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equirectangular Atlas Areocentric, clon=180
+<61512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equirectangular Atlas Areographic, clon=180
+<61513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal Atlas Areocentric, clon=0
+<61514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal Atlas Areographic, clon=0
+<61515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal Atlas Areocentric, clon=180
+<61516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal Atlas Areographic, clon=180
+<61517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# North Polar Atlas Areocentric, clon=0
+<61518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# North Polar Atlas Areographic, clon=0
+<61519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# South Polar Atlas Areocentric, clon=0
+<61520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# South Polar Atlas Areographic, clon=0
+<61521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide Atlas Areocentric, clon=0
+<61522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide Atlas Areographic, clon=0
+<61523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide Atlas Areocentric, clon=180
+<61524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide Atlas Areographic, clon=180
+<61525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson Atlas Areocentric, clon=0
+<61526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson Atlas Areographic, clon=0
+<61527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson Atlas Areocentric, clon=180
+<61528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson Atlas Areographic, clon=180
+<61529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal AUTO Atlas Areocentric
+<61560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Sinusoidal AUTO Atlas Areographic
+<61561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Stereographic AUTO Atlas Areocentric, clon=0
+<61562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Stereographic AUTO Atlas Areographic, clon=0
+<61563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Transverse Mercator AUTO Atlas Areocentric
+<61564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Transverse Mercator AUTO Atlas Areographic
+<61565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Orthographic AUTO Atlas Areocentric
+<61566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Orthographic AUTO Atlas Areographic
+<61567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Atlas Areocentric
+<61568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Atlas Areographic
+<61569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Atlas Areocentric
+<61570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Atlas Areographic
+<61571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Atlas Areocentric
+<61572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Atlas Areographic
+<61573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mercator AUTO Atlas Areocentric
+<61574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mercator AUTO Atlas Areographic
+<61575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Albers AUTO Atlas Areocentric
+<61576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Albers AUTO Atlas Areographic
+<61577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide AUTO Atlas Areocentric
+<61580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Mollweide AUTO Atlas Areographic
+<61581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson AUTO Atlas Areocentric
+<61582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# Robinson AUTO Atlas Areographic
+<61583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=16000 +b=16000 +units=m +no_defs 
+# GEOGCS Prometheus Areocentric
+<61600> 	+proj=longlat +a=50100 +b=50100 +no_defs 
+# GEOGCS Prometheus Areographic
+<61601> 	+proj=longlat +a=50100 +b=50100 +no_defs 
+# Equirectangular Prometheus Areocentric, clon=0
+<61610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Equirectangular Prometheus Areographic, clon=0
+<61611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Equirectangular Prometheus Areocentric, clon=180
+<61612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Equirectangular Prometheus Areographic, clon=180
+<61613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Sinusoidal Prometheus Areocentric, clon=0
+<61614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Sinusoidal Prometheus Areographic, clon=0
+<61615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Sinusoidal Prometheus Areocentric, clon=180
+<61616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Sinusoidal Prometheus Areographic, clon=180
+<61617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# North Polar Prometheus Areocentric, clon=0
+<61618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# North Polar Prometheus Areographic, clon=0
+<61619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# South Polar Prometheus Areocentric, clon=0
+<61620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# South Polar Prometheus Areographic, clon=0
+<61621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Mollweide Prometheus Areocentric, clon=0
+<61622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Mollweide Prometheus Areographic, clon=0
+<61623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Mollweide Prometheus Areocentric, clon=180
+<61624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Mollweide Prometheus Areographic, clon=180
+<61625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Robinson Prometheus Areocentric, clon=0
+<61626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Robinson Prometheus Areographic, clon=0
+<61627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Robinson Prometheus Areocentric, clon=180
+<61628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Robinson Prometheus Areographic, clon=180
+<61629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Sinusoidal AUTO Prometheus Areocentric
+<61660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Sinusoidal AUTO Prometheus Areographic
+<61661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Stereographic AUTO Prometheus Areocentric, clon=0
+<61662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Stereographic AUTO Prometheus Areographic, clon=0
+<61663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Transverse Mercator AUTO Prometheus Areocentric
+<61664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Transverse Mercator AUTO Prometheus Areographic
+<61665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Orthographic AUTO Prometheus Areocentric
+<61666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Orthographic AUTO Prometheus Areographic
+<61667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Prometheus Areocentric
+<61668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Prometheus Areographic
+<61669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Prometheus Areocentric
+<61670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Prometheus Areographic
+<61671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Prometheus Areocentric
+<61672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Prometheus Areographic
+<61673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Mercator AUTO Prometheus Areocentric
+<61674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Mercator AUTO Prometheus Areographic
+<61675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Albers AUTO Prometheus Areocentric
+<61676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Albers AUTO Prometheus Areographic
+<61677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Mollweide AUTO Prometheus Areocentric
+<61680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Mollweide AUTO Prometheus Areographic
+<61681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Robinson AUTO Prometheus Areocentric
+<61682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# Robinson AUTO Prometheus Areographic
+<61683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=50100 +b=50100 +units=m +no_defs 
+# GEOGCS Pandora Areocentric
+<61700> 	+proj=longlat +a=41900 +b=41900 +no_defs 
+# GEOGCS Pandora Areographic
+<61701> 	+proj=longlat +a=41900 +b=41900 +no_defs 
+# Equirectangular Pandora Areocentric, clon=0
+<61710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Equirectangular Pandora Areographic, clon=0
+<61711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Equirectangular Pandora Areocentric, clon=180
+<61712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Equirectangular Pandora Areographic, clon=180
+<61713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Sinusoidal Pandora Areocentric, clon=0
+<61714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Sinusoidal Pandora Areographic, clon=0
+<61715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Sinusoidal Pandora Areocentric, clon=180
+<61716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Sinusoidal Pandora Areographic, clon=180
+<61717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# North Polar Pandora Areocentric, clon=0
+<61718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# North Polar Pandora Areographic, clon=0
+<61719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# South Polar Pandora Areocentric, clon=0
+<61720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# South Polar Pandora Areographic, clon=0
+<61721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Mollweide Pandora Areocentric, clon=0
+<61722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Mollweide Pandora Areographic, clon=0
+<61723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Mollweide Pandora Areocentric, clon=180
+<61724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Mollweide Pandora Areographic, clon=180
+<61725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Robinson Pandora Areocentric, clon=0
+<61726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Robinson Pandora Areographic, clon=0
+<61727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Robinson Pandora Areocentric, clon=180
+<61728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Robinson Pandora Areographic, clon=180
+<61729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Sinusoidal AUTO Pandora Areocentric
+<61760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Sinusoidal AUTO Pandora Areographic
+<61761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Stereographic AUTO Pandora Areocentric, clon=0
+<61762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Stereographic AUTO Pandora Areographic, clon=0
+<61763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Transverse Mercator AUTO Pandora Areocentric
+<61764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Transverse Mercator AUTO Pandora Areographic
+<61765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Orthographic AUTO Pandora Areocentric
+<61766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Orthographic AUTO Pandora Areographic
+<61767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pandora Areocentric
+<61768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pandora Areographic
+<61769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pandora Areocentric
+<61770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pandora Areographic
+<61771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pandora Areocentric
+<61772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pandora Areographic
+<61773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Mercator AUTO Pandora Areocentric
+<61774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Mercator AUTO Pandora Areographic
+<61775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Albers AUTO Pandora Areocentric
+<61776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Albers AUTO Pandora Areographic
+<61777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Mollweide AUTO Pandora Areocentric
+<61780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Mollweide AUTO Pandora Areographic
+<61781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Robinson AUTO Pandora Areocentric
+<61782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# Robinson AUTO Pandora Areographic
+<61783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=41900 +b=41900 +units=m +no_defs 
+# GEOGCS Pan Areocentric
+<61800> 	+proj=longlat +a=10000 +b=10000 +no_defs 
+# GEOGCS Pan Areographic
+<61801> 	+proj=longlat +a=10000 +b=10000 +no_defs 
+# Equirectangular Pan Areocentric, clon=0
+<61810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Pan Areographic, clon=0
+<61811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Pan Areocentric, clon=180
+<61812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Pan Areographic, clon=180
+<61813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Pan Areocentric, clon=0
+<61814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Pan Areographic, clon=0
+<61815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Pan Areocentric, clon=180
+<61816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Pan Areographic, clon=180
+<61817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# North Polar Pan Areocentric, clon=0
+<61818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# North Polar Pan Areographic, clon=0
+<61819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# South Polar Pan Areocentric, clon=0
+<61820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# South Polar Pan Areographic, clon=0
+<61821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Pan Areocentric, clon=0
+<61822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Pan Areographic, clon=0
+<61823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Pan Areocentric, clon=180
+<61824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Pan Areographic, clon=180
+<61825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Pan Areocentric, clon=0
+<61826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Pan Areographic, clon=0
+<61827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Pan Areocentric, clon=180
+<61828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Pan Areographic, clon=180
+<61829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal AUTO Pan Areocentric
+<61860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal AUTO Pan Areographic
+<61861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Stereographic AUTO Pan Areocentric, clon=0
+<61862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Stereographic AUTO Pan Areographic, clon=0
+<61863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Transverse Mercator AUTO Pan Areocentric
+<61864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Transverse Mercator AUTO Pan Areographic
+<61865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Orthographic AUTO Pan Areocentric
+<61866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Orthographic AUTO Pan Areographic
+<61867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pan Areocentric
+<61868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pan Areographic
+<61869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pan Areocentric
+<61870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pan Areographic
+<61871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pan Areocentric
+<61872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pan Areographic
+<61873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mercator AUTO Pan Areocentric
+<61874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mercator AUTO Pan Areographic
+<61875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Albers AUTO Pan Areocentric
+<61876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Albers AUTO Pan Areographic
+<61877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide AUTO Pan Areocentric
+<61880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide AUTO Pan Areographic
+<61881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson AUTO Pan Areocentric
+<61882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson AUTO Pan Areographic
+<61883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# GEOGCS Methone Areocentric
+<63200> 	+proj=longlat +a=1600 +b=1600 +no_defs 
+# GEOGCS Methone Areographic
+<63201> 	+proj=longlat +a=1600 +b=1600 +no_defs 
+# Equirectangular Methone Areocentric, clon=0
+<63210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equirectangular Methone Areographic, clon=0
+<63211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equirectangular Methone Areocentric, clon=180
+<63212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equirectangular Methone Areographic, clon=180
+<63213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal Methone Areocentric, clon=0
+<63214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal Methone Areographic, clon=0
+<63215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal Methone Areocentric, clon=180
+<63216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal Methone Areographic, clon=180
+<63217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# North Polar Methone Areocentric, clon=0
+<63218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# North Polar Methone Areographic, clon=0
+<63219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# South Polar Methone Areocentric, clon=0
+<63220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# South Polar Methone Areographic, clon=0
+<63221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide Methone Areocentric, clon=0
+<63222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide Methone Areographic, clon=0
+<63223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide Methone Areocentric, clon=180
+<63224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide Methone Areographic, clon=180
+<63225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson Methone Areocentric, clon=0
+<63226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson Methone Areographic, clon=0
+<63227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson Methone Areocentric, clon=180
+<63228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson Methone Areographic, clon=180
+<63229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal AUTO Methone Areocentric
+<63260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal AUTO Methone Areographic
+<63261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Stereographic AUTO Methone Areocentric, clon=0
+<63262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Stereographic AUTO Methone Areographic, clon=0
+<63263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Transverse Mercator AUTO Methone Areocentric
+<63264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Transverse Mercator AUTO Methone Areographic
+<63265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Orthographic AUTO Methone Areocentric
+<63266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Orthographic AUTO Methone Areographic
+<63267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Methone Areocentric
+<63268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Methone Areographic
+<63269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Methone Areocentric
+<63270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Methone Areographic
+<63271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Methone Areocentric
+<63272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Methone Areographic
+<63273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mercator AUTO Methone Areocentric
+<63274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mercator AUTO Methone Areographic
+<63275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Albers AUTO Methone Areocentric
+<63276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Albers AUTO Methone Areographic
+<63277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide AUTO Methone Areocentric
+<63280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide AUTO Methone Areographic
+<63281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson AUTO Methone Areocentric
+<63282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson AUTO Methone Areographic
+<63283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# GEOGCS Pallene Areocentric
+<63300> 	+proj=longlat +a=2500 +b=2500 +no_defs 
+# GEOGCS Pallene Areographic
+<63301> 	+proj=longlat +a=2500 +b=2500 +no_defs 
+# Equirectangular Pallene Areocentric, clon=0
+<63310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equirectangular Pallene Areographic, clon=0
+<63311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equirectangular Pallene Areocentric, clon=180
+<63312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equirectangular Pallene Areographic, clon=180
+<63313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal Pallene Areocentric, clon=0
+<63314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal Pallene Areographic, clon=0
+<63315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal Pallene Areocentric, clon=180
+<63316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal Pallene Areographic, clon=180
+<63317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# North Polar Pallene Areocentric, clon=0
+<63318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# North Polar Pallene Areographic, clon=0
+<63319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# South Polar Pallene Areocentric, clon=0
+<63320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# South Polar Pallene Areographic, clon=0
+<63321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide Pallene Areocentric, clon=0
+<63322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide Pallene Areographic, clon=0
+<63323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide Pallene Areocentric, clon=180
+<63324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide Pallene Areographic, clon=180
+<63325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson Pallene Areocentric, clon=0
+<63326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson Pallene Areographic, clon=0
+<63327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson Pallene Areocentric, clon=180
+<63328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson Pallene Areographic, clon=180
+<63329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal AUTO Pallene Areocentric
+<63360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal AUTO Pallene Areographic
+<63361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Stereographic AUTO Pallene Areocentric, clon=0
+<63362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Stereographic AUTO Pallene Areographic, clon=0
+<63363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Transverse Mercator AUTO Pallene Areocentric
+<63364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Transverse Mercator AUTO Pallene Areographic
+<63365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Orthographic AUTO Pallene Areocentric
+<63366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Orthographic AUTO Pallene Areographic
+<63367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pallene Areocentric
+<63368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pallene Areographic
+<63369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pallene Areocentric
+<63370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pallene Areographic
+<63371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pallene Areocentric
+<63372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pallene Areographic
+<63373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mercator AUTO Pallene Areocentric
+<63374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mercator AUTO Pallene Areographic
+<63375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Albers AUTO Pallene Areocentric
+<63376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Albers AUTO Pallene Areographic
+<63377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide AUTO Pallene Areocentric
+<63380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide AUTO Pallene Areographic
+<63381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson AUTO Pallene Areocentric
+<63382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson AUTO Pallene Areographic
+<63383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# GEOGCS Polydeuces Areocentric
+<63400> 	+proj=longlat +a=1300 +b=1300 +no_defs 
+# GEOGCS Polydeuces Areographic
+<63401> 	+proj=longlat +a=1300 +b=1300 +no_defs 
+# Equirectangular Polydeuces Areocentric, clon=0
+<63410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equirectangular Polydeuces Areographic, clon=0
+<63411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equirectangular Polydeuces Areocentric, clon=180
+<63412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equirectangular Polydeuces Areographic, clon=180
+<63413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal Polydeuces Areocentric, clon=0
+<63414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal Polydeuces Areographic, clon=0
+<63415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal Polydeuces Areocentric, clon=180
+<63416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal Polydeuces Areographic, clon=180
+<63417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# North Polar Polydeuces Areocentric, clon=0
+<63418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# North Polar Polydeuces Areographic, clon=0
+<63419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# South Polar Polydeuces Areocentric, clon=0
+<63420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# South Polar Polydeuces Areographic, clon=0
+<63421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide Polydeuces Areocentric, clon=0
+<63422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide Polydeuces Areographic, clon=0
+<63423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide Polydeuces Areocentric, clon=180
+<63424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide Polydeuces Areographic, clon=180
+<63425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson Polydeuces Areocentric, clon=0
+<63426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson Polydeuces Areographic, clon=0
+<63427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson Polydeuces Areocentric, clon=180
+<63428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson Polydeuces Areographic, clon=180
+<63429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal AUTO Polydeuces Areocentric
+<63460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal AUTO Polydeuces Areographic
+<63461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Stereographic AUTO Polydeuces Areocentric, clon=0
+<63462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Stereographic AUTO Polydeuces Areographic, clon=0
+<63463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Transverse Mercator AUTO Polydeuces Areocentric
+<63464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Transverse Mercator AUTO Polydeuces Areographic
+<63465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Orthographic AUTO Polydeuces Areocentric
+<63466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Orthographic AUTO Polydeuces Areographic
+<63467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Polydeuces Areocentric
+<63468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Polydeuces Areographic
+<63469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Polydeuces Areocentric
+<63470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Polydeuces Areographic
+<63471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Polydeuces Areocentric
+<63472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Polydeuces Areographic
+<63473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mercator AUTO Polydeuces Areocentric
+<63474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mercator AUTO Polydeuces Areographic
+<63475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Albers AUTO Polydeuces Areocentric
+<63476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Albers AUTO Polydeuces Areographic
+<63477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide AUTO Polydeuces Areocentric
+<63480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide AUTO Polydeuces Areographic
+<63481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson AUTO Polydeuces Areocentric
+<63482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson AUTO Polydeuces Areographic
+<63483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# GEOGCS Uranus Areocentric
+<79900> 	+proj=longlat +a=25559000 +b=-1089240145.112749 +no_defs 
+# GEOGCS Uranus Areographic
+<79901> 	+proj=longlat +a=25559000 +b=-1089240145.112749 +no_defs 
+# Equirectangular Uranus Areocentric, clon=0
+<79910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equirectangular Uranus Areographic, clon=0
+<79911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equirectangular Uranus Areocentric, clon=180
+<79912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equirectangular Uranus Areographic, clon=180
+<79913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal Uranus Areocentric, clon=0
+<79914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal Uranus Areographic, clon=0
+<79915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal Uranus Areocentric, clon=180
+<79916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal Uranus Areographic, clon=180
+<79917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# North Polar Uranus Areocentric, clon=0
+<79918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# North Polar Uranus Areographic, clon=0
+<79919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# South Polar Uranus Areocentric, clon=0
+<79920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# South Polar Uranus Areographic, clon=0
+<79921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide Uranus Areocentric, clon=0
+<79922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide Uranus Areographic, clon=0
+<79923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide Uranus Areocentric, clon=180
+<79924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide Uranus Areographic, clon=180
+<79925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson Uranus Areocentric, clon=0
+<79926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson Uranus Areographic, clon=0
+<79927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson Uranus Areocentric, clon=180
+<79928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson Uranus Areographic, clon=180
+<79929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal AUTO Uranus Areocentric
+<79960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal AUTO Uranus Areographic
+<79961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Stereographic AUTO Uranus Areocentric, clon=0
+<79962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Stereographic AUTO Uranus Areographic, clon=0
+<79963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Transverse Mercator AUTO Uranus Areocentric
+<79964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Transverse Mercator AUTO Uranus Areographic
+<79965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Orthographic AUTO Uranus Areocentric
+<79966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Orthographic AUTO Uranus Areographic
+<79967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Uranus Areocentric
+<79968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Uranus Areographic
+<79969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Uranus Areocentric
+<79970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Uranus Areographic
+<79971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Uranus Areocentric
+<79972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Uranus Areographic
+<79973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mercator AUTO Uranus Areocentric
+<79974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mercator AUTO Uranus Areographic
+<79975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Albers AUTO Uranus Areocentric
+<79976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Albers AUTO Uranus Areographic
+<79977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide AUTO Uranus Areocentric
+<79980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide AUTO Uranus Areographic
+<79981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson AUTO Uranus Areocentric
+<79982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson AUTO Uranus Areographic
+<79983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# GEOGCS Ariel Areocentric
+<70100> 	+proj=longlat +a=578900 +b=578900 +no_defs 
+# GEOGCS Ariel Areographic
+<70101> 	+proj=longlat +a=578900 +b=578900 +no_defs 
+# Equirectangular Ariel Areocentric, clon=0
+<70110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equirectangular Ariel Areographic, clon=0
+<70111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equirectangular Ariel Areocentric, clon=180
+<70112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equirectangular Ariel Areographic, clon=180
+<70113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal Ariel Areocentric, clon=0
+<70114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal Ariel Areographic, clon=0
+<70115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal Ariel Areocentric, clon=180
+<70116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal Ariel Areographic, clon=180
+<70117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# North Polar Ariel Areocentric, clon=0
+<70118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# North Polar Ariel Areographic, clon=0
+<70119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# South Polar Ariel Areocentric, clon=0
+<70120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# South Polar Ariel Areographic, clon=0
+<70121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide Ariel Areocentric, clon=0
+<70122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide Ariel Areographic, clon=0
+<70123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide Ariel Areocentric, clon=180
+<70124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide Ariel Areographic, clon=180
+<70125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson Ariel Areocentric, clon=0
+<70126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson Ariel Areographic, clon=0
+<70127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson Ariel Areocentric, clon=180
+<70128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson Ariel Areographic, clon=180
+<70129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal AUTO Ariel Areocentric
+<70160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal AUTO Ariel Areographic
+<70161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Stereographic AUTO Ariel Areocentric, clon=0
+<70162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Stereographic AUTO Ariel Areographic, clon=0
+<70163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Transverse Mercator AUTO Ariel Areocentric
+<70164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Transverse Mercator AUTO Ariel Areographic
+<70165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Orthographic AUTO Ariel Areocentric
+<70166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Orthographic AUTO Ariel Areographic
+<70167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ariel Areocentric
+<70168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ariel Areographic
+<70169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ariel Areocentric
+<70170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ariel Areographic
+<70171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ariel Areocentric
+<70172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ariel Areographic
+<70173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mercator AUTO Ariel Areocentric
+<70174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mercator AUTO Ariel Areographic
+<70175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Albers AUTO Ariel Areocentric
+<70176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Albers AUTO Ariel Areographic
+<70177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide AUTO Ariel Areocentric
+<70180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide AUTO Ariel Areographic
+<70181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson AUTO Ariel Areocentric
+<70182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson AUTO Ariel Areographic
+<70183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# GEOGCS Umbriel Areocentric
+<70200> 	+proj=longlat +a=584700 +b=584700 +no_defs 
+# GEOGCS Umbriel Areographic
+<70201> 	+proj=longlat +a=584700 +b=584700 +no_defs 
+# Equirectangular Umbriel Areocentric, clon=0
+<70210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equirectangular Umbriel Areographic, clon=0
+<70211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equirectangular Umbriel Areocentric, clon=180
+<70212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equirectangular Umbriel Areographic, clon=180
+<70213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal Umbriel Areocentric, clon=0
+<70214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal Umbriel Areographic, clon=0
+<70215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal Umbriel Areocentric, clon=180
+<70216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal Umbriel Areographic, clon=180
+<70217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# North Polar Umbriel Areocentric, clon=0
+<70218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# North Polar Umbriel Areographic, clon=0
+<70219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# South Polar Umbriel Areocentric, clon=0
+<70220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# South Polar Umbriel Areographic, clon=0
+<70221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide Umbriel Areocentric, clon=0
+<70222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide Umbriel Areographic, clon=0
+<70223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide Umbriel Areocentric, clon=180
+<70224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide Umbriel Areographic, clon=180
+<70225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson Umbriel Areocentric, clon=0
+<70226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson Umbriel Areographic, clon=0
+<70227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson Umbriel Areocentric, clon=180
+<70228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson Umbriel Areographic, clon=180
+<70229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal AUTO Umbriel Areocentric
+<70260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal AUTO Umbriel Areographic
+<70261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Stereographic AUTO Umbriel Areocentric, clon=0
+<70262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Stereographic AUTO Umbriel Areographic, clon=0
+<70263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Transverse Mercator AUTO Umbriel Areocentric
+<70264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Transverse Mercator AUTO Umbriel Areographic
+<70265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Orthographic AUTO Umbriel Areocentric
+<70266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Orthographic AUTO Umbriel Areographic
+<70267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Umbriel Areocentric
+<70268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Umbriel Areographic
+<70269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Umbriel Areocentric
+<70270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Umbriel Areographic
+<70271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Umbriel Areocentric
+<70272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Umbriel Areographic
+<70273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mercator AUTO Umbriel Areocentric
+<70274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mercator AUTO Umbriel Areographic
+<70275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Albers AUTO Umbriel Areocentric
+<70276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Albers AUTO Umbriel Areographic
+<70277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide AUTO Umbriel Areocentric
+<70280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide AUTO Umbriel Areographic
+<70281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson AUTO Umbriel Areocentric
+<70282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson AUTO Umbriel Areographic
+<70283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# GEOGCS Titania Areocentric
+<70300> 	+proj=longlat +a=788900 +b=788900 +no_defs 
+# GEOGCS Titania Areographic
+<70301> 	+proj=longlat +a=788900 +b=788900 +no_defs 
+# Equirectangular Titania Areocentric, clon=0
+<70310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equirectangular Titania Areographic, clon=0
+<70311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equirectangular Titania Areocentric, clon=180
+<70312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equirectangular Titania Areographic, clon=180
+<70313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal Titania Areocentric, clon=0
+<70314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal Titania Areographic, clon=0
+<70315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal Titania Areocentric, clon=180
+<70316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal Titania Areographic, clon=180
+<70317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# North Polar Titania Areocentric, clon=0
+<70318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# North Polar Titania Areographic, clon=0
+<70319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# South Polar Titania Areocentric, clon=0
+<70320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# South Polar Titania Areographic, clon=0
+<70321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide Titania Areocentric, clon=0
+<70322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide Titania Areographic, clon=0
+<70323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide Titania Areocentric, clon=180
+<70324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide Titania Areographic, clon=180
+<70325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson Titania Areocentric, clon=0
+<70326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson Titania Areographic, clon=0
+<70327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson Titania Areocentric, clon=180
+<70328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson Titania Areographic, clon=180
+<70329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal AUTO Titania Areocentric
+<70360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal AUTO Titania Areographic
+<70361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Stereographic AUTO Titania Areocentric, clon=0
+<70362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Stereographic AUTO Titania Areographic, clon=0
+<70363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Transverse Mercator AUTO Titania Areocentric
+<70364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Transverse Mercator AUTO Titania Areographic
+<70365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Orthographic AUTO Titania Areocentric
+<70366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Orthographic AUTO Titania Areographic
+<70367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Titania Areocentric
+<70368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Titania Areographic
+<70369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Titania Areocentric
+<70370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Titania Areographic
+<70371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Titania Areocentric
+<70372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Titania Areographic
+<70373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mercator AUTO Titania Areocentric
+<70374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mercator AUTO Titania Areographic
+<70375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Albers AUTO Titania Areocentric
+<70376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Albers AUTO Titania Areographic
+<70377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide AUTO Titania Areocentric
+<70380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide AUTO Titania Areographic
+<70381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson AUTO Titania Areocentric
+<70382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson AUTO Titania Areographic
+<70383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# GEOGCS Oberon Areocentric
+<70400> 	+proj=longlat +a=761400 +b=761400 +no_defs 
+# GEOGCS Oberon Areographic
+<70401> 	+proj=longlat +a=761400 +b=761400 +no_defs 
+# Equirectangular Oberon Areocentric, clon=0
+<70410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equirectangular Oberon Areographic, clon=0
+<70411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equirectangular Oberon Areocentric, clon=180
+<70412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equirectangular Oberon Areographic, clon=180
+<70413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal Oberon Areocentric, clon=0
+<70414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal Oberon Areographic, clon=0
+<70415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal Oberon Areocentric, clon=180
+<70416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal Oberon Areographic, clon=180
+<70417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# North Polar Oberon Areocentric, clon=0
+<70418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# North Polar Oberon Areographic, clon=0
+<70419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# South Polar Oberon Areocentric, clon=0
+<70420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# South Polar Oberon Areographic, clon=0
+<70421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide Oberon Areocentric, clon=0
+<70422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide Oberon Areographic, clon=0
+<70423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide Oberon Areocentric, clon=180
+<70424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide Oberon Areographic, clon=180
+<70425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson Oberon Areocentric, clon=0
+<70426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson Oberon Areographic, clon=0
+<70427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson Oberon Areocentric, clon=180
+<70428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson Oberon Areographic, clon=180
+<70429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal AUTO Oberon Areocentric
+<70460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal AUTO Oberon Areographic
+<70461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Stereographic AUTO Oberon Areocentric, clon=0
+<70462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Stereographic AUTO Oberon Areographic, clon=0
+<70463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Transverse Mercator AUTO Oberon Areocentric
+<70464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Transverse Mercator AUTO Oberon Areographic
+<70465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Orthographic AUTO Oberon Areocentric
+<70466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Orthographic AUTO Oberon Areographic
+<70467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Oberon Areocentric
+<70468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Oberon Areographic
+<70469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Oberon Areocentric
+<70470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Oberon Areographic
+<70471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Oberon Areocentric
+<70472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Oberon Areographic
+<70473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mercator AUTO Oberon Areocentric
+<70474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mercator AUTO Oberon Areographic
+<70475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Albers AUTO Oberon Areocentric
+<70476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Albers AUTO Oberon Areographic
+<70477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide AUTO Oberon Areocentric
+<70480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide AUTO Oberon Areographic
+<70481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson AUTO Oberon Areocentric
+<70482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson AUTO Oberon Areographic
+<70483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# GEOGCS Miranda Areocentric
+<70500> 	+proj=longlat +a=235800 +b=235800 +no_defs 
+# GEOGCS Miranda Areographic
+<70501> 	+proj=longlat +a=235800 +b=235800 +no_defs 
+# Equirectangular Miranda Areocentric, clon=0
+<70510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equirectangular Miranda Areographic, clon=0
+<70511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equirectangular Miranda Areocentric, clon=180
+<70512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equirectangular Miranda Areographic, clon=180
+<70513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal Miranda Areocentric, clon=0
+<70514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal Miranda Areographic, clon=0
+<70515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal Miranda Areocentric, clon=180
+<70516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal Miranda Areographic, clon=180
+<70517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# North Polar Miranda Areocentric, clon=0
+<70518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# North Polar Miranda Areographic, clon=0
+<70519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# South Polar Miranda Areocentric, clon=0
+<70520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# South Polar Miranda Areographic, clon=0
+<70521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide Miranda Areocentric, clon=0
+<70522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide Miranda Areographic, clon=0
+<70523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide Miranda Areocentric, clon=180
+<70524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide Miranda Areographic, clon=180
+<70525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson Miranda Areocentric, clon=0
+<70526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson Miranda Areographic, clon=0
+<70527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson Miranda Areocentric, clon=180
+<70528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson Miranda Areographic, clon=180
+<70529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal AUTO Miranda Areocentric
+<70560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal AUTO Miranda Areographic
+<70561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Stereographic AUTO Miranda Areocentric, clon=0
+<70562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Stereographic AUTO Miranda Areographic, clon=0
+<70563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Transverse Mercator AUTO Miranda Areocentric
+<70564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Transverse Mercator AUTO Miranda Areographic
+<70565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Orthographic AUTO Miranda Areocentric
+<70566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Orthographic AUTO Miranda Areographic
+<70567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Miranda Areocentric
+<70568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Miranda Areographic
+<70569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Miranda Areocentric
+<70570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Miranda Areographic
+<70571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Miranda Areocentric
+<70572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Miranda Areographic
+<70573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mercator AUTO Miranda Areocentric
+<70574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mercator AUTO Miranda Areographic
+<70575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Albers AUTO Miranda Areocentric
+<70576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Albers AUTO Miranda Areographic
+<70577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide AUTO Miranda Areocentric
+<70580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide AUTO Miranda Areographic
+<70581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson AUTO Miranda Areocentric
+<70582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson AUTO Miranda Areographic
+<70583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# GEOGCS Cordelia Areocentric
+<70600> 	+proj=longlat +a=13000 +b=13000 +no_defs 
+# GEOGCS Cordelia Areographic
+<70601> 	+proj=longlat +a=13000 +b=13000 +no_defs 
+# Equirectangular Cordelia Areocentric, clon=0
+<70610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equirectangular Cordelia Areographic, clon=0
+<70611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equirectangular Cordelia Areocentric, clon=180
+<70612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equirectangular Cordelia Areographic, clon=180
+<70613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal Cordelia Areocentric, clon=0
+<70614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal Cordelia Areographic, clon=0
+<70615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal Cordelia Areocentric, clon=180
+<70616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal Cordelia Areographic, clon=180
+<70617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# North Polar Cordelia Areocentric, clon=0
+<70618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# North Polar Cordelia Areographic, clon=0
+<70619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# South Polar Cordelia Areocentric, clon=0
+<70620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# South Polar Cordelia Areographic, clon=0
+<70621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide Cordelia Areocentric, clon=0
+<70622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide Cordelia Areographic, clon=0
+<70623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide Cordelia Areocentric, clon=180
+<70624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide Cordelia Areographic, clon=180
+<70625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson Cordelia Areocentric, clon=0
+<70626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson Cordelia Areographic, clon=0
+<70627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson Cordelia Areocentric, clon=180
+<70628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson Cordelia Areographic, clon=180
+<70629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal AUTO Cordelia Areocentric
+<70660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal AUTO Cordelia Areographic
+<70661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Stereographic AUTO Cordelia Areocentric, clon=0
+<70662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Stereographic AUTO Cordelia Areographic, clon=0
+<70663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Transverse Mercator AUTO Cordelia Areocentric
+<70664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Transverse Mercator AUTO Cordelia Areographic
+<70665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Orthographic AUTO Cordelia Areocentric
+<70666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Orthographic AUTO Cordelia Areographic
+<70667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Cordelia Areocentric
+<70668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Cordelia Areographic
+<70669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Cordelia Areocentric
+<70670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Cordelia Areographic
+<70671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Cordelia Areocentric
+<70672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Cordelia Areographic
+<70673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mercator AUTO Cordelia Areocentric
+<70674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mercator AUTO Cordelia Areographic
+<70675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Albers AUTO Cordelia Areocentric
+<70676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Albers AUTO Cordelia Areographic
+<70677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide AUTO Cordelia Areocentric
+<70680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide AUTO Cordelia Areographic
+<70681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson AUTO Cordelia Areocentric
+<70682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson AUTO Cordelia Areographic
+<70683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# GEOGCS Ophelia Areocentric
+<70700> 	+proj=longlat +a=15000 +b=15000 +no_defs 
+# GEOGCS Ophelia Areographic
+<70701> 	+proj=longlat +a=15000 +b=15000 +no_defs 
+# Equirectangular Ophelia Areocentric, clon=0
+<70710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Ophelia Areographic, clon=0
+<70711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Ophelia Areocentric, clon=180
+<70712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Ophelia Areographic, clon=180
+<70713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Ophelia Areocentric, clon=0
+<70714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Ophelia Areographic, clon=0
+<70715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Ophelia Areocentric, clon=180
+<70716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Ophelia Areographic, clon=180
+<70717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# North Polar Ophelia Areocentric, clon=0
+<70718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# North Polar Ophelia Areographic, clon=0
+<70719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# South Polar Ophelia Areocentric, clon=0
+<70720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# South Polar Ophelia Areographic, clon=0
+<70721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Ophelia Areocentric, clon=0
+<70722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Ophelia Areographic, clon=0
+<70723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Ophelia Areocentric, clon=180
+<70724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Ophelia Areographic, clon=180
+<70725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Ophelia Areocentric, clon=0
+<70726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Ophelia Areographic, clon=0
+<70727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Ophelia Areocentric, clon=180
+<70728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Ophelia Areographic, clon=180
+<70729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal AUTO Ophelia Areocentric
+<70760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal AUTO Ophelia Areographic
+<70761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Stereographic AUTO Ophelia Areocentric, clon=0
+<70762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Stereographic AUTO Ophelia Areographic, clon=0
+<70763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Transverse Mercator AUTO Ophelia Areocentric
+<70764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Transverse Mercator AUTO Ophelia Areographic
+<70765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Orthographic AUTO Ophelia Areocentric
+<70766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Orthographic AUTO Ophelia Areographic
+<70767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ophelia Areocentric
+<70768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ophelia Areographic
+<70769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ophelia Areocentric
+<70770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ophelia Areographic
+<70771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ophelia Areocentric
+<70772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ophelia Areographic
+<70773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mercator AUTO Ophelia Areocentric
+<70774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mercator AUTO Ophelia Areographic
+<70775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Albers AUTO Ophelia Areocentric
+<70776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Albers AUTO Ophelia Areographic
+<70777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide AUTO Ophelia Areocentric
+<70780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide AUTO Ophelia Areographic
+<70781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson AUTO Ophelia Areocentric
+<70782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson AUTO Ophelia Areographic
+<70783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# GEOGCS Bianca Areocentric
+<70800> 	+proj=longlat +a=21000 +b=21000 +no_defs 
+# GEOGCS Bianca Areographic
+<70801> 	+proj=longlat +a=21000 +b=21000 +no_defs 
+# Equirectangular Bianca Areocentric, clon=0
+<70810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equirectangular Bianca Areographic, clon=0
+<70811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equirectangular Bianca Areocentric, clon=180
+<70812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equirectangular Bianca Areographic, clon=180
+<70813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal Bianca Areocentric, clon=0
+<70814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal Bianca Areographic, clon=0
+<70815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal Bianca Areocentric, clon=180
+<70816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal Bianca Areographic, clon=180
+<70817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# North Polar Bianca Areocentric, clon=0
+<70818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# North Polar Bianca Areographic, clon=0
+<70819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# South Polar Bianca Areocentric, clon=0
+<70820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# South Polar Bianca Areographic, clon=0
+<70821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide Bianca Areocentric, clon=0
+<70822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide Bianca Areographic, clon=0
+<70823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide Bianca Areocentric, clon=180
+<70824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide Bianca Areographic, clon=180
+<70825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson Bianca Areocentric, clon=0
+<70826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson Bianca Areographic, clon=0
+<70827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson Bianca Areocentric, clon=180
+<70828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson Bianca Areographic, clon=180
+<70829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal AUTO Bianca Areocentric
+<70860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal AUTO Bianca Areographic
+<70861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Stereographic AUTO Bianca Areocentric, clon=0
+<70862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Stereographic AUTO Bianca Areographic, clon=0
+<70863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Transverse Mercator AUTO Bianca Areocentric
+<70864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Transverse Mercator AUTO Bianca Areographic
+<70865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Orthographic AUTO Bianca Areocentric
+<70866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Orthographic AUTO Bianca Areographic
+<70867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Bianca Areocentric
+<70868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Bianca Areographic
+<70869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Bianca Areocentric
+<70870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Bianca Areographic
+<70871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Bianca Areocentric
+<70872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Bianca Areographic
+<70873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mercator AUTO Bianca Areocentric
+<70874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mercator AUTO Bianca Areographic
+<70875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Albers AUTO Bianca Areocentric
+<70876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Albers AUTO Bianca Areographic
+<70877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide AUTO Bianca Areocentric
+<70880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide AUTO Bianca Areographic
+<70881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson AUTO Bianca Areocentric
+<70882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson AUTO Bianca Areographic
+<70883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# GEOGCS Cressida Areocentric
+<70900> 	+proj=longlat +a=31000 +b=31000 +no_defs 
+# GEOGCS Cressida Areographic
+<70901> 	+proj=longlat +a=31000 +b=31000 +no_defs 
+# Equirectangular Cressida Areocentric, clon=0
+<70910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equirectangular Cressida Areographic, clon=0
+<70911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equirectangular Cressida Areocentric, clon=180
+<70912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equirectangular Cressida Areographic, clon=180
+<70913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal Cressida Areocentric, clon=0
+<70914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal Cressida Areographic, clon=0
+<70915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal Cressida Areocentric, clon=180
+<70916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal Cressida Areographic, clon=180
+<70917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# North Polar Cressida Areocentric, clon=0
+<70918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# North Polar Cressida Areographic, clon=0
+<70919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# South Polar Cressida Areocentric, clon=0
+<70920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# South Polar Cressida Areographic, clon=0
+<70921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide Cressida Areocentric, clon=0
+<70922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide Cressida Areographic, clon=0
+<70923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide Cressida Areocentric, clon=180
+<70924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide Cressida Areographic, clon=180
+<70925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson Cressida Areocentric, clon=0
+<70926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson Cressida Areographic, clon=0
+<70927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson Cressida Areocentric, clon=180
+<70928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson Cressida Areographic, clon=180
+<70929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal AUTO Cressida Areocentric
+<70960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal AUTO Cressida Areographic
+<70961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Stereographic AUTO Cressida Areocentric, clon=0
+<70962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Stereographic AUTO Cressida Areographic, clon=0
+<70963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Transverse Mercator AUTO Cressida Areocentric
+<70964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Transverse Mercator AUTO Cressida Areographic
+<70965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Orthographic AUTO Cressida Areocentric
+<70966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Orthographic AUTO Cressida Areographic
+<70967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Cressida Areocentric
+<70968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Cressida Areographic
+<70969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Cressida Areocentric
+<70970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Cressida Areographic
+<70971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Cressida Areocentric
+<70972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Cressida Areographic
+<70973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mercator AUTO Cressida Areocentric
+<70974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mercator AUTO Cressida Areographic
+<70975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Albers AUTO Cressida Areocentric
+<70976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Albers AUTO Cressida Areographic
+<70977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide AUTO Cressida Areocentric
+<70980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide AUTO Cressida Areographic
+<70981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson AUTO Cressida Areocentric
+<70982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson AUTO Cressida Areographic
+<70983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# GEOGCS Desdemona Areocentric
+<71000> 	+proj=longlat +a=27000 +b=27000 +no_defs 
+# GEOGCS Desdemona Areographic
+<71001> 	+proj=longlat +a=27000 +b=27000 +no_defs 
+# Equirectangular Desdemona Areocentric, clon=0
+<71010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Desdemona Areographic, clon=0
+<71011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Desdemona Areocentric, clon=180
+<71012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Desdemona Areographic, clon=180
+<71013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Desdemona Areocentric, clon=0
+<71014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Desdemona Areographic, clon=0
+<71015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Desdemona Areocentric, clon=180
+<71016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Desdemona Areographic, clon=180
+<71017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# North Polar Desdemona Areocentric, clon=0
+<71018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# North Polar Desdemona Areographic, clon=0
+<71019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# South Polar Desdemona Areocentric, clon=0
+<71020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# South Polar Desdemona Areographic, clon=0
+<71021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Desdemona Areocentric, clon=0
+<71022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Desdemona Areographic, clon=0
+<71023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Desdemona Areocentric, clon=180
+<71024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Desdemona Areographic, clon=180
+<71025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Desdemona Areocentric, clon=0
+<71026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Desdemona Areographic, clon=0
+<71027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Desdemona Areocentric, clon=180
+<71028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Desdemona Areographic, clon=180
+<71029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal AUTO Desdemona Areocentric
+<71060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal AUTO Desdemona Areographic
+<71061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Stereographic AUTO Desdemona Areocentric, clon=0
+<71062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Stereographic AUTO Desdemona Areographic, clon=0
+<71063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Transverse Mercator AUTO Desdemona Areocentric
+<71064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Transverse Mercator AUTO Desdemona Areographic
+<71065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Orthographic AUTO Desdemona Areocentric
+<71066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Orthographic AUTO Desdemona Areographic
+<71067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Desdemona Areocentric
+<71068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Desdemona Areographic
+<71069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Desdemona Areocentric
+<71070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Desdemona Areographic
+<71071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Desdemona Areocentric
+<71072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Desdemona Areographic
+<71073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mercator AUTO Desdemona Areocentric
+<71074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mercator AUTO Desdemona Areographic
+<71075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Albers AUTO Desdemona Areocentric
+<71076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Albers AUTO Desdemona Areographic
+<71077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide AUTO Desdemona Areocentric
+<71080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide AUTO Desdemona Areographic
+<71081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson AUTO Desdemona Areocentric
+<71082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson AUTO Desdemona Areographic
+<71083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# GEOGCS Juliet Areocentric
+<71100> 	+proj=longlat +a=42000 +b=42000 +no_defs 
+# GEOGCS Juliet Areographic
+<71101> 	+proj=longlat +a=42000 +b=42000 +no_defs 
+# Equirectangular Juliet Areocentric, clon=0
+<71110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equirectangular Juliet Areographic, clon=0
+<71111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equirectangular Juliet Areocentric, clon=180
+<71112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equirectangular Juliet Areographic, clon=180
+<71113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal Juliet Areocentric, clon=0
+<71114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal Juliet Areographic, clon=0
+<71115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal Juliet Areocentric, clon=180
+<71116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal Juliet Areographic, clon=180
+<71117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# North Polar Juliet Areocentric, clon=0
+<71118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# North Polar Juliet Areographic, clon=0
+<71119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# South Polar Juliet Areocentric, clon=0
+<71120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# South Polar Juliet Areographic, clon=0
+<71121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide Juliet Areocentric, clon=0
+<71122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide Juliet Areographic, clon=0
+<71123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide Juliet Areocentric, clon=180
+<71124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide Juliet Areographic, clon=180
+<71125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson Juliet Areocentric, clon=0
+<71126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson Juliet Areographic, clon=0
+<71127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson Juliet Areocentric, clon=180
+<71128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson Juliet Areographic, clon=180
+<71129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal AUTO Juliet Areocentric
+<71160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal AUTO Juliet Areographic
+<71161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Stereographic AUTO Juliet Areocentric, clon=0
+<71162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Stereographic AUTO Juliet Areographic, clon=0
+<71163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Transverse Mercator AUTO Juliet Areocentric
+<71164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Transverse Mercator AUTO Juliet Areographic
+<71165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Orthographic AUTO Juliet Areocentric
+<71166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Orthographic AUTO Juliet Areographic
+<71167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Juliet Areocentric
+<71168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Juliet Areographic
+<71169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Juliet Areocentric
+<71170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Juliet Areographic
+<71171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Juliet Areocentric
+<71172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Juliet Areographic
+<71173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mercator AUTO Juliet Areocentric
+<71174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mercator AUTO Juliet Areographic
+<71175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Albers AUTO Juliet Areocentric
+<71176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Albers AUTO Juliet Areographic
+<71177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide AUTO Juliet Areocentric
+<71180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide AUTO Juliet Areographic
+<71181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson AUTO Juliet Areocentric
+<71182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson AUTO Juliet Areographic
+<71183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# GEOGCS Portia Areocentric
+<71200> 	+proj=longlat +a=54000 +b=54000 +no_defs 
+# GEOGCS Portia Areographic
+<71201> 	+proj=longlat +a=54000 +b=54000 +no_defs 
+# Equirectangular Portia Areocentric, clon=0
+<71210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equirectangular Portia Areographic, clon=0
+<71211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equirectangular Portia Areocentric, clon=180
+<71212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equirectangular Portia Areographic, clon=180
+<71213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal Portia Areocentric, clon=0
+<71214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal Portia Areographic, clon=0
+<71215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal Portia Areocentric, clon=180
+<71216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal Portia Areographic, clon=180
+<71217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# North Polar Portia Areocentric, clon=0
+<71218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# North Polar Portia Areographic, clon=0
+<71219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# South Polar Portia Areocentric, clon=0
+<71220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# South Polar Portia Areographic, clon=0
+<71221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide Portia Areocentric, clon=0
+<71222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide Portia Areographic, clon=0
+<71223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide Portia Areocentric, clon=180
+<71224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide Portia Areographic, clon=180
+<71225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson Portia Areocentric, clon=0
+<71226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson Portia Areographic, clon=0
+<71227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson Portia Areocentric, clon=180
+<71228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson Portia Areographic, clon=180
+<71229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal AUTO Portia Areocentric
+<71260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal AUTO Portia Areographic
+<71261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Stereographic AUTO Portia Areocentric, clon=0
+<71262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Stereographic AUTO Portia Areographic, clon=0
+<71263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Transverse Mercator AUTO Portia Areocentric
+<71264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Transverse Mercator AUTO Portia Areographic
+<71265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Orthographic AUTO Portia Areocentric
+<71266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Orthographic AUTO Portia Areographic
+<71267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Portia Areocentric
+<71268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Portia Areographic
+<71269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Portia Areocentric
+<71270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Portia Areographic
+<71271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Portia Areocentric
+<71272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Portia Areographic
+<71273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mercator AUTO Portia Areocentric
+<71274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mercator AUTO Portia Areographic
+<71275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Albers AUTO Portia Areocentric
+<71276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Albers AUTO Portia Areographic
+<71277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide AUTO Portia Areocentric
+<71280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide AUTO Portia Areographic
+<71281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson AUTO Portia Areocentric
+<71282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson AUTO Portia Areographic
+<71283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# GEOGCS Rosalind Areocentric
+<71300> 	+proj=longlat +a=27000 +b=27000 +no_defs 
+# GEOGCS Rosalind Areographic
+<71301> 	+proj=longlat +a=27000 +b=27000 +no_defs 
+# Equirectangular Rosalind Areocentric, clon=0
+<71310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Rosalind Areographic, clon=0
+<71311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Rosalind Areocentric, clon=180
+<71312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Rosalind Areographic, clon=180
+<71313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Rosalind Areocentric, clon=0
+<71314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Rosalind Areographic, clon=0
+<71315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Rosalind Areocentric, clon=180
+<71316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Rosalind Areographic, clon=180
+<71317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# North Polar Rosalind Areocentric, clon=0
+<71318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# North Polar Rosalind Areographic, clon=0
+<71319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# South Polar Rosalind Areocentric, clon=0
+<71320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# South Polar Rosalind Areographic, clon=0
+<71321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Rosalind Areocentric, clon=0
+<71322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Rosalind Areographic, clon=0
+<71323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Rosalind Areocentric, clon=180
+<71324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Rosalind Areographic, clon=180
+<71325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Rosalind Areocentric, clon=0
+<71326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Rosalind Areographic, clon=0
+<71327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Rosalind Areocentric, clon=180
+<71328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Rosalind Areographic, clon=180
+<71329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal AUTO Rosalind Areocentric
+<71360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal AUTO Rosalind Areographic
+<71361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Stereographic AUTO Rosalind Areocentric, clon=0
+<71362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Stereographic AUTO Rosalind Areographic, clon=0
+<71363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Transverse Mercator AUTO Rosalind Areocentric
+<71364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Transverse Mercator AUTO Rosalind Areographic
+<71365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Orthographic AUTO Rosalind Areocentric
+<71366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Orthographic AUTO Rosalind Areographic
+<71367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Rosalind Areocentric
+<71368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Rosalind Areographic
+<71369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Rosalind Areocentric
+<71370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Rosalind Areographic
+<71371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Rosalind Areocentric
+<71372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Rosalind Areographic
+<71373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mercator AUTO Rosalind Areocentric
+<71374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mercator AUTO Rosalind Areographic
+<71375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Albers AUTO Rosalind Areocentric
+<71376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Albers AUTO Rosalind Areographic
+<71377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide AUTO Rosalind Areocentric
+<71380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide AUTO Rosalind Areographic
+<71381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson AUTO Rosalind Areocentric
+<71382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson AUTO Rosalind Areographic
+<71383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# GEOGCS Belinda Areocentric
+<71400> 	+proj=longlat +a=33000 +b=33000 +no_defs 
+# GEOGCS Belinda Areographic
+<71401> 	+proj=longlat +a=33000 +b=33000 +no_defs 
+# Equirectangular Belinda Areocentric, clon=0
+<71410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equirectangular Belinda Areographic, clon=0
+<71411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equirectangular Belinda Areocentric, clon=180
+<71412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equirectangular Belinda Areographic, clon=180
+<71413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal Belinda Areocentric, clon=0
+<71414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal Belinda Areographic, clon=0
+<71415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal Belinda Areocentric, clon=180
+<71416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal Belinda Areographic, clon=180
+<71417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# North Polar Belinda Areocentric, clon=0
+<71418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# North Polar Belinda Areographic, clon=0
+<71419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# South Polar Belinda Areocentric, clon=0
+<71420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# South Polar Belinda Areographic, clon=0
+<71421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide Belinda Areocentric, clon=0
+<71422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide Belinda Areographic, clon=0
+<71423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide Belinda Areocentric, clon=180
+<71424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide Belinda Areographic, clon=180
+<71425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson Belinda Areocentric, clon=0
+<71426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson Belinda Areographic, clon=0
+<71427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson Belinda Areocentric, clon=180
+<71428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson Belinda Areographic, clon=180
+<71429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal AUTO Belinda Areocentric
+<71460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal AUTO Belinda Areographic
+<71461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Stereographic AUTO Belinda Areocentric, clon=0
+<71462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Stereographic AUTO Belinda Areographic, clon=0
+<71463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Transverse Mercator AUTO Belinda Areocentric
+<71464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Transverse Mercator AUTO Belinda Areographic
+<71465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Orthographic AUTO Belinda Areocentric
+<71466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Orthographic AUTO Belinda Areographic
+<71467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Belinda Areocentric
+<71468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Belinda Areographic
+<71469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Belinda Areocentric
+<71470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Belinda Areographic
+<71471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Belinda Areocentric
+<71472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Belinda Areographic
+<71473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mercator AUTO Belinda Areocentric
+<71474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mercator AUTO Belinda Areographic
+<71475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Albers AUTO Belinda Areocentric
+<71476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Albers AUTO Belinda Areographic
+<71477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide AUTO Belinda Areocentric
+<71480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide AUTO Belinda Areographic
+<71481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson AUTO Belinda Areocentric
+<71482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson AUTO Belinda Areographic
+<71483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# GEOGCS Puck Areocentric
+<71500> 	+proj=longlat +a=77000 +b=77000 +no_defs 
+# GEOGCS Puck Areographic
+<71501> 	+proj=longlat +a=77000 +b=77000 +no_defs 
+# Equirectangular Puck Areocentric, clon=0
+<71510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equirectangular Puck Areographic, clon=0
+<71511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equirectangular Puck Areocentric, clon=180
+<71512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equirectangular Puck Areographic, clon=180
+<71513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal Puck Areocentric, clon=0
+<71514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal Puck Areographic, clon=0
+<71515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal Puck Areocentric, clon=180
+<71516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal Puck Areographic, clon=180
+<71517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# North Polar Puck Areocentric, clon=0
+<71518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# North Polar Puck Areographic, clon=0
+<71519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# South Polar Puck Areocentric, clon=0
+<71520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# South Polar Puck Areographic, clon=0
+<71521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide Puck Areocentric, clon=0
+<71522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide Puck Areographic, clon=0
+<71523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide Puck Areocentric, clon=180
+<71524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide Puck Areographic, clon=180
+<71525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson Puck Areocentric, clon=0
+<71526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson Puck Areographic, clon=0
+<71527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson Puck Areocentric, clon=180
+<71528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson Puck Areographic, clon=180
+<71529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal AUTO Puck Areocentric
+<71560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal AUTO Puck Areographic
+<71561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Stereographic AUTO Puck Areocentric, clon=0
+<71562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Stereographic AUTO Puck Areographic, clon=0
+<71563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Transverse Mercator AUTO Puck Areocentric
+<71564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Transverse Mercator AUTO Puck Areographic
+<71565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Orthographic AUTO Puck Areocentric
+<71566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Orthographic AUTO Puck Areographic
+<71567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Puck Areocentric
+<71568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Puck Areographic
+<71569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Puck Areocentric
+<71570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Puck Areographic
+<71571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Puck Areocentric
+<71572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Puck Areographic
+<71573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mercator AUTO Puck Areocentric
+<71574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mercator AUTO Puck Areographic
+<71575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Albers AUTO Puck Areocentric
+<71576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Albers AUTO Puck Areographic
+<71577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide AUTO Puck Areocentric
+<71580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide AUTO Puck Areographic
+<71581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson AUTO Puck Areocentric
+<71582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson AUTO Puck Areographic
+<71583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# GEOGCS Neptune Areocentric
+<89900> 	+proj=longlat +a=24764000 +b=-1425034021.193139 +no_defs 
+# GEOGCS Neptune Areographic
+<89901> 	+proj=longlat +a=24764000 +b=-1425034021.193139 +no_defs 
+# Equirectangular Neptune Areocentric, clon=0
+<89910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equirectangular Neptune Areographic, clon=0
+<89911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equirectangular Neptune Areocentric, clon=180
+<89912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equirectangular Neptune Areographic, clon=180
+<89913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal Neptune Areocentric, clon=0
+<89914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal Neptune Areographic, clon=0
+<89915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal Neptune Areocentric, clon=180
+<89916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal Neptune Areographic, clon=180
+<89917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# North Polar Neptune Areocentric, clon=0
+<89918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# North Polar Neptune Areographic, clon=0
+<89919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# South Polar Neptune Areocentric, clon=0
+<89920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# South Polar Neptune Areographic, clon=0
+<89921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide Neptune Areocentric, clon=0
+<89922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide Neptune Areographic, clon=0
+<89923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide Neptune Areocentric, clon=180
+<89924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide Neptune Areographic, clon=180
+<89925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson Neptune Areocentric, clon=0
+<89926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson Neptune Areographic, clon=0
+<89927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson Neptune Areocentric, clon=180
+<89928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson Neptune Areographic, clon=180
+<89929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal AUTO Neptune Areocentric
+<89960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal AUTO Neptune Areographic
+<89961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Stereographic AUTO Neptune Areocentric, clon=0
+<89962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Stereographic AUTO Neptune Areographic, clon=0
+<89963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Transverse Mercator AUTO Neptune Areocentric
+<89964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Transverse Mercator AUTO Neptune Areographic
+<89965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Orthographic AUTO Neptune Areocentric
+<89966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Orthographic AUTO Neptune Areographic
+<89967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Neptune Areocentric
+<89968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Neptune Areographic
+<89969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Neptune Areocentric
+<89970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Neptune Areographic
+<89971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Neptune Areocentric
+<89972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Neptune Areographic
+<89973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mercator AUTO Neptune Areocentric
+<89974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mercator AUTO Neptune Areographic
+<89975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Albers AUTO Neptune Areocentric
+<89976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Albers AUTO Neptune Areographic
+<89977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide AUTO Neptune Areocentric
+<89980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide AUTO Neptune Areographic
+<89981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson AUTO Neptune Areocentric
+<89982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson AUTO Neptune Areographic
+<89983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# GEOGCS Triton Areocentric
+<80100> 	+proj=longlat +a=1352600 +b=1352600 +no_defs 
+# GEOGCS Triton Areographic
+<80101> 	+proj=longlat +a=1352600 +b=1352600 +no_defs 
+# Equirectangular Triton Areocentric, clon=0
+<80110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equirectangular Triton Areographic, clon=0
+<80111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equirectangular Triton Areocentric, clon=180
+<80112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equirectangular Triton Areographic, clon=180
+<80113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal Triton Areocentric, clon=0
+<80114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal Triton Areographic, clon=0
+<80115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal Triton Areocentric, clon=180
+<80116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal Triton Areographic, clon=180
+<80117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# North Polar Triton Areocentric, clon=0
+<80118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# North Polar Triton Areographic, clon=0
+<80119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# South Polar Triton Areocentric, clon=0
+<80120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# South Polar Triton Areographic, clon=0
+<80121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide Triton Areocentric, clon=0
+<80122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide Triton Areographic, clon=0
+<80123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide Triton Areocentric, clon=180
+<80124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide Triton Areographic, clon=180
+<80125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson Triton Areocentric, clon=0
+<80126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson Triton Areographic, clon=0
+<80127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson Triton Areocentric, clon=180
+<80128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson Triton Areographic, clon=180
+<80129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal AUTO Triton Areocentric
+<80160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal AUTO Triton Areographic
+<80161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Stereographic AUTO Triton Areocentric, clon=0
+<80162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Stereographic AUTO Triton Areographic, clon=0
+<80163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Transverse Mercator AUTO Triton Areocentric
+<80164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Transverse Mercator AUTO Triton Areographic
+<80165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Orthographic AUTO Triton Areocentric
+<80166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Orthographic AUTO Triton Areographic
+<80167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Triton Areocentric
+<80168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Triton Areographic
+<80169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Triton Areocentric
+<80170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Triton Areographic
+<80171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Triton Areocentric
+<80172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Triton Areographic
+<80173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mercator AUTO Triton Areocentric
+<80174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mercator AUTO Triton Areographic
+<80175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Albers AUTO Triton Areocentric
+<80176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Albers AUTO Triton Areographic
+<80177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide AUTO Triton Areocentric
+<80180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide AUTO Triton Areographic
+<80181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson AUTO Triton Areocentric
+<80182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson AUTO Triton Areographic
+<80183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# GEOGCS Nereid Areocentric
+<80200> 	+proj=longlat +a=170000 +b=170000 +no_defs 
+# GEOGCS Nereid Areographic
+<80201> 	+proj=longlat +a=170000 +b=170000 +no_defs 
+# Equirectangular Nereid Areocentric, clon=0
+<80210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equirectangular Nereid Areographic, clon=0
+<80211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equirectangular Nereid Areocentric, clon=180
+<80212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equirectangular Nereid Areographic, clon=180
+<80213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal Nereid Areocentric, clon=0
+<80214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal Nereid Areographic, clon=0
+<80215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal Nereid Areocentric, clon=180
+<80216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal Nereid Areographic, clon=180
+<80217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# North Polar Nereid Areocentric, clon=0
+<80218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# North Polar Nereid Areographic, clon=0
+<80219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# South Polar Nereid Areocentric, clon=0
+<80220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# South Polar Nereid Areographic, clon=0
+<80221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide Nereid Areocentric, clon=0
+<80222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide Nereid Areographic, clon=0
+<80223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide Nereid Areocentric, clon=180
+<80224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide Nereid Areographic, clon=180
+<80225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson Nereid Areocentric, clon=0
+<80226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson Nereid Areographic, clon=0
+<80227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson Nereid Areocentric, clon=180
+<80228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson Nereid Areographic, clon=180
+<80229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal AUTO Nereid Areocentric
+<80260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal AUTO Nereid Areographic
+<80261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Stereographic AUTO Nereid Areocentric, clon=0
+<80262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Stereographic AUTO Nereid Areographic, clon=0
+<80263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Transverse Mercator AUTO Nereid Areocentric
+<80264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Transverse Mercator AUTO Nereid Areographic
+<80265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Orthographic AUTO Nereid Areocentric
+<80266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Orthographic AUTO Nereid Areographic
+<80267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Nereid Areocentric
+<80268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Nereid Areographic
+<80269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Nereid Areocentric
+<80270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Nereid Areographic
+<80271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Nereid Areocentric
+<80272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Nereid Areographic
+<80273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mercator AUTO Nereid Areocentric
+<80274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mercator AUTO Nereid Areographic
+<80275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Albers AUTO Nereid Areocentric
+<80276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Albers AUTO Nereid Areographic
+<80277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide AUTO Nereid Areocentric
+<80280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide AUTO Nereid Areographic
+<80281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson AUTO Nereid Areocentric
+<80282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson AUTO Nereid Areographic
+<80283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# GEOGCS Naiad Areocentric
+<80300> 	+proj=longlat +a=29000 +b=29000 +no_defs 
+# GEOGCS Naiad Areographic
+<80301> 	+proj=longlat +a=29000 +b=29000 +no_defs 
+# Equirectangular Naiad Areocentric, clon=0
+<80310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equirectangular Naiad Areographic, clon=0
+<80311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equirectangular Naiad Areocentric, clon=180
+<80312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equirectangular Naiad Areographic, clon=180
+<80313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal Naiad Areocentric, clon=0
+<80314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal Naiad Areographic, clon=0
+<80315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal Naiad Areocentric, clon=180
+<80316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal Naiad Areographic, clon=180
+<80317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# North Polar Naiad Areocentric, clon=0
+<80318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# North Polar Naiad Areographic, clon=0
+<80319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# South Polar Naiad Areocentric, clon=0
+<80320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# South Polar Naiad Areographic, clon=0
+<80321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide Naiad Areocentric, clon=0
+<80322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide Naiad Areographic, clon=0
+<80323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide Naiad Areocentric, clon=180
+<80324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide Naiad Areographic, clon=180
+<80325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson Naiad Areocentric, clon=0
+<80326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson Naiad Areographic, clon=0
+<80327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson Naiad Areocentric, clon=180
+<80328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson Naiad Areographic, clon=180
+<80329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal AUTO Naiad Areocentric
+<80360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal AUTO Naiad Areographic
+<80361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Stereographic AUTO Naiad Areocentric, clon=0
+<80362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Stereographic AUTO Naiad Areographic, clon=0
+<80363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Transverse Mercator AUTO Naiad Areocentric
+<80364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Transverse Mercator AUTO Naiad Areographic
+<80365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Orthographic AUTO Naiad Areocentric
+<80366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Orthographic AUTO Naiad Areographic
+<80367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Naiad Areocentric
+<80368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Naiad Areographic
+<80369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Naiad Areocentric
+<80370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Naiad Areographic
+<80371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Naiad Areocentric
+<80372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Naiad Areographic
+<80373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mercator AUTO Naiad Areocentric
+<80374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mercator AUTO Naiad Areographic
+<80375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Albers AUTO Naiad Areocentric
+<80376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Albers AUTO Naiad Areographic
+<80377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide AUTO Naiad Areocentric
+<80380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide AUTO Naiad Areographic
+<80381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson AUTO Naiad Areocentric
+<80382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson AUTO Naiad Areographic
+<80383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# GEOGCS Thalassa Areocentric
+<80400> 	+proj=longlat +a=40000 +b=40000 +no_defs 
+# GEOGCS Thalassa Areographic
+<80401> 	+proj=longlat +a=40000 +b=40000 +no_defs 
+# Equirectangular Thalassa Areocentric, clon=0
+<80410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Thalassa Areographic, clon=0
+<80411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Thalassa Areocentric, clon=180
+<80412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Thalassa Areographic, clon=180
+<80413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Thalassa Areocentric, clon=0
+<80414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Thalassa Areographic, clon=0
+<80415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Thalassa Areocentric, clon=180
+<80416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Thalassa Areographic, clon=180
+<80417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# North Polar Thalassa Areocentric, clon=0
+<80418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# North Polar Thalassa Areographic, clon=0
+<80419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# South Polar Thalassa Areocentric, clon=0
+<80420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# South Polar Thalassa Areographic, clon=0
+<80421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Thalassa Areocentric, clon=0
+<80422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Thalassa Areographic, clon=0
+<80423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Thalassa Areocentric, clon=180
+<80424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Thalassa Areographic, clon=180
+<80425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Thalassa Areocentric, clon=0
+<80426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Thalassa Areographic, clon=0
+<80427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Thalassa Areocentric, clon=180
+<80428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Thalassa Areographic, clon=180
+<80429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal AUTO Thalassa Areocentric
+<80460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal AUTO Thalassa Areographic
+<80461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Stereographic AUTO Thalassa Areocentric, clon=0
+<80462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Stereographic AUTO Thalassa Areographic, clon=0
+<80463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Transverse Mercator AUTO Thalassa Areocentric
+<80464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Transverse Mercator AUTO Thalassa Areographic
+<80465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Orthographic AUTO Thalassa Areocentric
+<80466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Orthographic AUTO Thalassa Areographic
+<80467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Thalassa Areocentric
+<80468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Thalassa Areographic
+<80469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Thalassa Areocentric
+<80470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Thalassa Areographic
+<80471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Thalassa Areocentric
+<80472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Thalassa Areographic
+<80473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mercator AUTO Thalassa Areocentric
+<80474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mercator AUTO Thalassa Areographic
+<80475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Albers AUTO Thalassa Areocentric
+<80476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Albers AUTO Thalassa Areographic
+<80477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide AUTO Thalassa Areocentric
+<80480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide AUTO Thalassa Areographic
+<80481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson AUTO Thalassa Areocentric
+<80482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson AUTO Thalassa Areographic
+<80483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# GEOGCS Despina Areocentric
+<80500> 	+proj=longlat +a=74000 +b=74000 +no_defs 
+# GEOGCS Despina Areographic
+<80501> 	+proj=longlat +a=74000 +b=74000 +no_defs 
+# Equirectangular Despina Areocentric, clon=0
+<80510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equirectangular Despina Areographic, clon=0
+<80511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equirectangular Despina Areocentric, clon=180
+<80512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equirectangular Despina Areographic, clon=180
+<80513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal Despina Areocentric, clon=0
+<80514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal Despina Areographic, clon=0
+<80515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal Despina Areocentric, clon=180
+<80516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal Despina Areographic, clon=180
+<80517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# North Polar Despina Areocentric, clon=0
+<80518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# North Polar Despina Areographic, clon=0
+<80519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# South Polar Despina Areocentric, clon=0
+<80520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# South Polar Despina Areographic, clon=0
+<80521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide Despina Areocentric, clon=0
+<80522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide Despina Areographic, clon=0
+<80523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide Despina Areocentric, clon=180
+<80524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide Despina Areographic, clon=180
+<80525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson Despina Areocentric, clon=0
+<80526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson Despina Areographic, clon=0
+<80527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson Despina Areocentric, clon=180
+<80528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson Despina Areographic, clon=180
+<80529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal AUTO Despina Areocentric
+<80560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal AUTO Despina Areographic
+<80561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Stereographic AUTO Despina Areocentric, clon=0
+<80562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Stereographic AUTO Despina Areographic, clon=0
+<80563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Transverse Mercator AUTO Despina Areocentric
+<80564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Transverse Mercator AUTO Despina Areographic
+<80565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Orthographic AUTO Despina Areocentric
+<80566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Orthographic AUTO Despina Areographic
+<80567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Despina Areocentric
+<80568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Despina Areographic
+<80569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Despina Areocentric
+<80570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Despina Areographic
+<80571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Despina Areocentric
+<80572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Despina Areographic
+<80573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mercator AUTO Despina Areocentric
+<80574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mercator AUTO Despina Areographic
+<80575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Albers AUTO Despina Areocentric
+<80576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Albers AUTO Despina Areographic
+<80577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide AUTO Despina Areocentric
+<80580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide AUTO Despina Areographic
+<80581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson AUTO Despina Areocentric
+<80582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson AUTO Despina Areographic
+<80583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# GEOGCS Galatea Areocentric
+<80600> 	+proj=longlat +a=79000 +b=79000 +no_defs 
+# GEOGCS Galatea Areographic
+<80601> 	+proj=longlat +a=79000 +b=79000 +no_defs 
+# Equirectangular Galatea Areocentric, clon=0
+<80610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equirectangular Galatea Areographic, clon=0
+<80611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equirectangular Galatea Areocentric, clon=180
+<80612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equirectangular Galatea Areographic, clon=180
+<80613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal Galatea Areocentric, clon=0
+<80614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal Galatea Areographic, clon=0
+<80615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal Galatea Areocentric, clon=180
+<80616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal Galatea Areographic, clon=180
+<80617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# North Polar Galatea Areocentric, clon=0
+<80618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# North Polar Galatea Areographic, clon=0
+<80619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# South Polar Galatea Areocentric, clon=0
+<80620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# South Polar Galatea Areographic, clon=0
+<80621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide Galatea Areocentric, clon=0
+<80622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide Galatea Areographic, clon=0
+<80623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide Galatea Areocentric, clon=180
+<80624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide Galatea Areographic, clon=180
+<80625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson Galatea Areocentric, clon=0
+<80626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson Galatea Areographic, clon=0
+<80627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson Galatea Areocentric, clon=180
+<80628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson Galatea Areographic, clon=180
+<80629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal AUTO Galatea Areocentric
+<80660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal AUTO Galatea Areographic
+<80661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Stereographic AUTO Galatea Areocentric, clon=0
+<80662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Stereographic AUTO Galatea Areographic, clon=0
+<80663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Transverse Mercator AUTO Galatea Areocentric
+<80664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Transverse Mercator AUTO Galatea Areographic
+<80665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Orthographic AUTO Galatea Areocentric
+<80666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Orthographic AUTO Galatea Areographic
+<80667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Galatea Areocentric
+<80668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Galatea Areographic
+<80669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Galatea Areocentric
+<80670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Galatea Areographic
+<80671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Galatea Areocentric
+<80672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Galatea Areographic
+<80673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mercator AUTO Galatea Areocentric
+<80674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mercator AUTO Galatea Areographic
+<80675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Albers AUTO Galatea Areocentric
+<80676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Albers AUTO Galatea Areographic
+<80677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide AUTO Galatea Areocentric
+<80680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide AUTO Galatea Areographic
+<80681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson AUTO Galatea Areocentric
+<80682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson AUTO Galatea Areographic
+<80683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# GEOGCS Larissa Areocentric
+<80700> 	+proj=longlat +a=96000 +b=-1220565.409986697 +no_defs 
+# GEOGCS Larissa Areographic
+<80701> 	+proj=longlat +a=96000 +b=-1220565.409986697 +no_defs 
+# Equirectangular Larissa Areocentric, clon=0
+<80710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equirectangular Larissa Areographic, clon=0
+<80711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equirectangular Larissa Areocentric, clon=180
+<80712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equirectangular Larissa Areographic, clon=180
+<80713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal Larissa Areocentric, clon=0
+<80714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal Larissa Areographic, clon=0
+<80715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal Larissa Areocentric, clon=180
+<80716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal Larissa Areographic, clon=180
+<80717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# North Polar Larissa Areocentric, clon=0
+<80718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# North Polar Larissa Areographic, clon=0
+<80719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# South Polar Larissa Areocentric, clon=0
+<80720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# South Polar Larissa Areographic, clon=0
+<80721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide Larissa Areocentric, clon=0
+<80722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide Larissa Areographic, clon=0
+<80723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide Larissa Areocentric, clon=180
+<80724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide Larissa Areographic, clon=180
+<80725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson Larissa Areocentric, clon=0
+<80726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson Larissa Areographic, clon=0
+<80727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson Larissa Areocentric, clon=180
+<80728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson Larissa Areographic, clon=180
+<80729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal AUTO Larissa Areocentric
+<80760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal AUTO Larissa Areographic
+<80761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Stereographic AUTO Larissa Areocentric, clon=0
+<80762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Stereographic AUTO Larissa Areographic, clon=0
+<80763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Transverse Mercator AUTO Larissa Areocentric
+<80764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Transverse Mercator AUTO Larissa Areographic
+<80765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Orthographic AUTO Larissa Areocentric
+<80766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Orthographic AUTO Larissa Areographic
+<80767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Larissa Areocentric
+<80768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Larissa Areographic
+<80769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Larissa Areocentric
+<80770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Larissa Areographic
+<80771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Larissa Areocentric
+<80772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Larissa Areographic
+<80773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mercator AUTO Larissa Areocentric
+<80774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mercator AUTO Larissa Areographic
+<80775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Albers AUTO Larissa Areocentric
+<80776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Albers AUTO Larissa Areographic
+<80777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide AUTO Larissa Areocentric
+<80780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide AUTO Larissa Areographic
+<80781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson AUTO Larissa Areocentric
+<80782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson AUTO Larissa Areographic
+<80783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# GEOGCS Proteus Areocentric
+<80800> 	+proj=longlat +a=208000 +b=208000 +no_defs 
+# GEOGCS Proteus Areographic
+<80801> 	+proj=longlat +a=208000 +b=208000 +no_defs 
+# Equirectangular Proteus Areocentric, clon=0
+<80810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equirectangular Proteus Areographic, clon=0
+<80811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equirectangular Proteus Areocentric, clon=180
+<80812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equirectangular Proteus Areographic, clon=180
+<80813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal Proteus Areocentric, clon=0
+<80814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal Proteus Areographic, clon=0
+<80815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal Proteus Areocentric, clon=180
+<80816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal Proteus Areographic, clon=180
+<80817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# North Polar Proteus Areocentric, clon=0
+<80818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# North Polar Proteus Areographic, clon=0
+<80819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# South Polar Proteus Areocentric, clon=0
+<80820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# South Polar Proteus Areographic, clon=0
+<80821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide Proteus Areocentric, clon=0
+<80822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide Proteus Areographic, clon=0
+<80823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide Proteus Areocentric, clon=180
+<80824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide Proteus Areographic, clon=180
+<80825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson Proteus Areocentric, clon=0
+<80826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson Proteus Areographic, clon=0
+<80827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson Proteus Areocentric, clon=180
+<80828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson Proteus Areographic, clon=180
+<80829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal AUTO Proteus Areocentric
+<80860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal AUTO Proteus Areographic
+<80861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Stereographic AUTO Proteus Areocentric, clon=0
+<80862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Stereographic AUTO Proteus Areographic, clon=0
+<80863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Transverse Mercator AUTO Proteus Areocentric
+<80864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Transverse Mercator AUTO Proteus Areographic
+<80865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Orthographic AUTO Proteus Areocentric
+<80866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Orthographic AUTO Proteus Areographic
+<80867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Proteus Areocentric
+<80868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Proteus Areographic
+<80869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Proteus Areocentric
+<80870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Proteus Areographic
+<80871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Proteus Areocentric
+<80872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Proteus Areographic
+<80873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mercator AUTO Proteus Areocentric
+<80874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mercator AUTO Proteus Areographic
+<80875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Albers AUTO Proteus Areocentric
+<80876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Albers AUTO Proteus Areographic
+<80877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide AUTO Proteus Areocentric
+<80880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide AUTO Proteus Areographic
+<80881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson AUTO Proteus Areocentric
+<80882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson AUTO Proteus Areographic
+<80883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# GEOGCS Pluto Areocentric
+<99900> 	+proj=longlat +a=1195000 +b=1195000 +no_defs 
+# GEOGCS Pluto Areographic
+<99901> 	+proj=longlat +a=1195000 +b=1195000 +no_defs 
+# Equirectangular Pluto Areocentric, clon=0
+<99910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equirectangular Pluto Areographic, clon=0
+<99911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equirectangular Pluto Areocentric, clon=180
+<99912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equirectangular Pluto Areographic, clon=180
+<99913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal Pluto Areocentric, clon=0
+<99914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal Pluto Areographic, clon=0
+<99915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal Pluto Areocentric, clon=180
+<99916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal Pluto Areographic, clon=180
+<99917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# North Polar Pluto Areocentric, clon=0
+<99918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# North Polar Pluto Areographic, clon=0
+<99919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# South Polar Pluto Areocentric, clon=0
+<99920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# South Polar Pluto Areographic, clon=0
+<99921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide Pluto Areocentric, clon=0
+<99922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide Pluto Areographic, clon=0
+<99923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide Pluto Areocentric, clon=180
+<99924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide Pluto Areographic, clon=180
+<99925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson Pluto Areocentric, clon=0
+<99926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson Pluto Areographic, clon=0
+<99927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson Pluto Areocentric, clon=180
+<99928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson Pluto Areographic, clon=180
+<99929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal AUTO Pluto Areocentric
+<99960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal AUTO Pluto Areographic
+<99961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Stereographic AUTO Pluto Areocentric, clon=0
+<99962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Stereographic AUTO Pluto Areographic, clon=0
+<99963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Transverse Mercator AUTO Pluto Areocentric
+<99964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Transverse Mercator AUTO Pluto Areographic
+<99965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Orthographic AUTO Pluto Areocentric
+<99966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Orthographic AUTO Pluto Areographic
+<99967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pluto Areocentric
+<99968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pluto Areographic
+<99969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pluto Areocentric
+<99970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pluto Areographic
+<99971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pluto Areocentric
+<99972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pluto Areographic
+<99973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mercator AUTO Pluto Areocentric
+<99974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mercator AUTO Pluto Areographic
+<99975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Albers AUTO Pluto Areocentric
+<99976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Albers AUTO Pluto Areographic
+<99977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide AUTO Pluto Areocentric
+<99980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide AUTO Pluto Areographic
+<99981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson AUTO Pluto Areocentric
+<99982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson AUTO Pluto Areographic
+<99983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# GEOGCS Charon Areocentric
+<90100> 	+proj=longlat +a=593000 +b=593000 +no_defs 
+# GEOGCS Charon Areographic
+<90101> 	+proj=longlat +a=593000 +b=593000 +no_defs 
+# Equirectangular Charon Areocentric, clon=0
+<90110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Equirectangular Charon Areographic, clon=0
+<90111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Equirectangular Charon Areocentric, clon=180
+<90112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Equirectangular Charon Areographic, clon=180
+<90113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Sinusoidal Charon Areocentric, clon=0
+<90114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Sinusoidal Charon Areographic, clon=0
+<90115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Sinusoidal Charon Areocentric, clon=180
+<90116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Sinusoidal Charon Areographic, clon=180
+<90117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# North Polar Charon Areocentric, clon=0
+<90118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# North Polar Charon Areographic, clon=0
+<90119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# South Polar Charon Areocentric, clon=0
+<90120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# South Polar Charon Areographic, clon=0
+<90121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Mollweide Charon Areocentric, clon=0
+<90122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Mollweide Charon Areographic, clon=0
+<90123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Mollweide Charon Areocentric, clon=180
+<90124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Mollweide Charon Areographic, clon=180
+<90125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Robinson Charon Areocentric, clon=0
+<90126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Robinson Charon Areographic, clon=0
+<90127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Robinson Charon Areocentric, clon=180
+<90128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Robinson Charon Areographic, clon=180
+<90129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Sinusoidal AUTO Charon Areocentric
+<90160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Sinusoidal AUTO Charon Areographic
+<90161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Stereographic AUTO Charon Areocentric, clon=0
+<90162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Stereographic AUTO Charon Areographic, clon=0
+<90163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Transverse Mercator AUTO Charon Areocentric
+<90164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Transverse Mercator AUTO Charon Areographic
+<90165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Orthographic AUTO Charon Areocentric
+<90166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Orthographic AUTO Charon Areographic
+<90167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Charon Areocentric
+<90168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Charon Areographic
+<90169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Charon Areocentric
+<90170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Charon Areographic
+<90171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Charon Areocentric
+<90172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Charon Areographic
+<90173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Mercator AUTO Charon Areocentric
+<90174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Mercator AUTO Charon Areographic
+<90175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Albers AUTO Charon Areocentric
+<90176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Albers AUTO Charon Areographic
+<90177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Mollweide AUTO Charon Areocentric
+<90180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Mollweide AUTO Charon Areographic
+<90181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Robinson AUTO Charon Areocentric
+<90182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# Robinson AUTO Charon Areographic
+<90183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=593000 +b=593000 +units=m +no_defs 
+# GEOGCS Gaspra Areocentric
+<951101000> 	+proj=longlat +a=6100 +b=6100 +no_defs 
+# GEOGCS Gaspra Areographic
+<951101001> 	+proj=longlat +a=6100 +b=6100 +no_defs 
+# Equirectangular Gaspra Areocentric, clon=0
+<951101010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equirectangular Gaspra Areographic, clon=0
+<951101011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equirectangular Gaspra Areocentric, clon=180
+<951101012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equirectangular Gaspra Areographic, clon=180
+<951101013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal Gaspra Areocentric, clon=0
+<951101014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal Gaspra Areographic, clon=0
+<951101015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal Gaspra Areocentric, clon=180
+<951101016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal Gaspra Areographic, clon=180
+<951101017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# North Polar Gaspra Areocentric, clon=0
+<951101018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# North Polar Gaspra Areographic, clon=0
+<951101019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# South Polar Gaspra Areocentric, clon=0
+<951101020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# South Polar Gaspra Areographic, clon=0
+<951101021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide Gaspra Areocentric, clon=0
+<951101022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide Gaspra Areographic, clon=0
+<951101023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide Gaspra Areocentric, clon=180
+<951101024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide Gaspra Areographic, clon=180
+<951101025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson Gaspra Areocentric, clon=0
+<951101026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson Gaspra Areographic, clon=0
+<951101027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson Gaspra Areocentric, clon=180
+<951101028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson Gaspra Areographic, clon=180
+<951101029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal AUTO Gaspra Areocentric
+<951101060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal AUTO Gaspra Areographic
+<951101061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Stereographic AUTO Gaspra Areocentric, clon=0
+<951101062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Stereographic AUTO Gaspra Areographic, clon=0
+<951101063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Transverse Mercator AUTO Gaspra Areocentric
+<951101064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Transverse Mercator AUTO Gaspra Areographic
+<951101065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Orthographic AUTO Gaspra Areocentric
+<951101066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Orthographic AUTO Gaspra Areographic
+<951101067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Gaspra Areocentric
+<951101068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Gaspra Areographic
+<951101069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Gaspra Areocentric
+<951101070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Gaspra Areographic
+<951101071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Gaspra Areocentric
+<951101072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Gaspra Areographic
+<951101073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mercator AUTO Gaspra Areocentric
+<951101074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mercator AUTO Gaspra Areographic
+<951101075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Albers AUTO Gaspra Areocentric
+<951101076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Albers AUTO Gaspra Areographic
+<951101077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide AUTO Gaspra Areocentric
+<951101080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide AUTO Gaspra Areographic
+<951101081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson AUTO Gaspra Areocentric
+<951101082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson AUTO Gaspra Areographic
+<951101083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# GEOGCS Ida Areocentric
+<243101000> 	+proj=longlat +a=15650 +b=15650 +no_defs 
+# GEOGCS Ida Areographic
+<243101001> 	+proj=longlat +a=15650 +b=15650 +no_defs 
+# Equirectangular Ida Areocentric, clon=0
+<243101010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equirectangular Ida Areographic, clon=0
+<243101011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equirectangular Ida Areocentric, clon=180
+<243101012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equirectangular Ida Areographic, clon=180
+<243101013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal Ida Areocentric, clon=0
+<243101014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal Ida Areographic, clon=0
+<243101015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal Ida Areocentric, clon=180
+<243101016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal Ida Areographic, clon=180
+<243101017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# North Polar Ida Areocentric, clon=0
+<243101018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# North Polar Ida Areographic, clon=0
+<243101019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# South Polar Ida Areocentric, clon=0
+<243101020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# South Polar Ida Areographic, clon=0
+<243101021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide Ida Areocentric, clon=0
+<243101022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide Ida Areographic, clon=0
+<243101023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide Ida Areocentric, clon=180
+<243101024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide Ida Areographic, clon=180
+<243101025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson Ida Areocentric, clon=0
+<243101026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson Ida Areographic, clon=0
+<243101027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson Ida Areocentric, clon=180
+<243101028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson Ida Areographic, clon=180
+<243101029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal AUTO Ida Areocentric
+<243101060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal AUTO Ida Areographic
+<243101061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Stereographic AUTO Ida Areocentric, clon=0
+<243101062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Stereographic AUTO Ida Areographic, clon=0
+<243101063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Transverse Mercator AUTO Ida Areocentric
+<243101064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Transverse Mercator AUTO Ida Areographic
+<243101065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Orthographic AUTO Ida Areocentric
+<243101066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Orthographic AUTO Ida Areographic
+<243101067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ida Areocentric
+<243101068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ida Areographic
+<243101069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ida Areocentric
+<243101070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ida Areographic
+<243101071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ida Areocentric
+<243101072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ida Areographic
+<243101073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mercator AUTO Ida Areocentric
+<243101074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mercator AUTO Ida Areographic
+<243101075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Albers AUTO Ida Areocentric
+<243101076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Albers AUTO Ida Areographic
+<243101077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide AUTO Ida Areocentric
+<243101080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide AUTO Ida Areographic
+<243101081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson AUTO Ida Areocentric
+<243101082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson AUTO Ida Areographic
+<243101083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# GEOGCS Ceres Areocentric
+<200000100> 	+proj=longlat +a=487300 +b=-6796814.859713897 +no_defs 
+# GEOGCS Ceres Areographic
+<200000101> 	+proj=longlat +a=487300 +b=-6796814.859713897 +no_defs 
+# Equirectangular Ceres Areocentric, clon=0
+<200000110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equirectangular Ceres Areographic, clon=0
+<200000111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equirectangular Ceres Areocentric, clon=180
+<200000112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equirectangular Ceres Areographic, clon=180
+<200000113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal Ceres Areocentric, clon=0
+<200000114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal Ceres Areographic, clon=0
+<200000115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal Ceres Areocentric, clon=180
+<200000116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal Ceres Areographic, clon=180
+<200000117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# North Polar Ceres Areocentric, clon=0
+<200000118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# North Polar Ceres Areographic, clon=0
+<200000119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# South Polar Ceres Areocentric, clon=0
+<200000120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# South Polar Ceres Areographic, clon=0
+<200000121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide Ceres Areocentric, clon=0
+<200000122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide Ceres Areographic, clon=0
+<200000123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide Ceres Areocentric, clon=180
+<200000124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide Ceres Areographic, clon=180
+<200000125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson Ceres Areocentric, clon=0
+<200000126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson Ceres Areographic, clon=0
+<200000127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson Ceres Areocentric, clon=180
+<200000128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson Ceres Areographic, clon=180
+<200000129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal AUTO Ceres Areocentric
+<200000160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal AUTO Ceres Areographic
+<200000161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Stereographic AUTO Ceres Areocentric, clon=0
+<200000162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Stereographic AUTO Ceres Areographic, clon=0
+<200000163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Transverse Mercator AUTO Ceres Areocentric
+<200000164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Transverse Mercator AUTO Ceres Areographic
+<200000165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Orthographic AUTO Ceres Areocentric
+<200000166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Orthographic AUTO Ceres Areographic
+<200000167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ceres Areocentric
+<200000168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ceres Areographic
+<200000169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ceres Areocentric
+<200000170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ceres Areographic
+<200000171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ceres Areocentric
+<200000172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ceres Areographic
+<200000173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mercator AUTO Ceres Areocentric
+<200000174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mercator AUTO Ceres Areographic
+<200000175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Albers AUTO Ceres Areocentric
+<200000176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Albers AUTO Ceres Areographic
+<200000177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide AUTO Ceres Areocentric
+<200000180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide AUTO Ceres Areographic
+<200000181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson AUTO Ceres Areocentric
+<200000182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson AUTO Ceres Areographic
+<200000183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# GEOGCS Lutetia Areocentric
+<200002100> 	+proj=longlat +a=52500 +b=52500 +no_defs 
+# GEOGCS Lutetia Areographic
+<200002101> 	+proj=longlat +a=52500 +b=52500 +no_defs 
+# Equirectangular Lutetia Areocentric, clon=0
+<200002110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equirectangular Lutetia Areographic, clon=0
+<200002111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equirectangular Lutetia Areocentric, clon=180
+<200002112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equirectangular Lutetia Areographic, clon=180
+<200002113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal Lutetia Areocentric, clon=0
+<200002114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal Lutetia Areographic, clon=0
+<200002115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal Lutetia Areocentric, clon=180
+<200002116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal Lutetia Areographic, clon=180
+<200002117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# North Polar Lutetia Areocentric, clon=0
+<200002118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# North Polar Lutetia Areographic, clon=0
+<200002119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# South Polar Lutetia Areocentric, clon=0
+<200002120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# South Polar Lutetia Areographic, clon=0
+<200002121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide Lutetia Areocentric, clon=0
+<200002122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide Lutetia Areographic, clon=0
+<200002123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide Lutetia Areocentric, clon=180
+<200002124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide Lutetia Areographic, clon=180
+<200002125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson Lutetia Areocentric, clon=0
+<200002126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson Lutetia Areographic, clon=0
+<200002127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson Lutetia Areocentric, clon=180
+<200002128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson Lutetia Areographic, clon=180
+<200002129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal AUTO Lutetia Areocentric
+<200002160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal AUTO Lutetia Areographic
+<200002161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Stereographic AUTO Lutetia Areocentric, clon=0
+<200002162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Stereographic AUTO Lutetia Areographic, clon=0
+<200002163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Transverse Mercator AUTO Lutetia Areocentric
+<200002164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Transverse Mercator AUTO Lutetia Areographic
+<200002165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Orthographic AUTO Lutetia Areocentric
+<200002166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Orthographic AUTO Lutetia Areographic
+<200002167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Lutetia Areocentric
+<200002168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Lutetia Areographic
+<200002169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Lutetia Areocentric
+<200002170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Lutetia Areographic
+<200002171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Lutetia Areocentric
+<200002172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Lutetia Areographic
+<200002173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mercator AUTO Lutetia Areocentric
+<200002174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mercator AUTO Lutetia Areographic
+<200002175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Albers AUTO Lutetia Areocentric
+<200002176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Albers AUTO Lutetia Areographic
+<200002177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide AUTO Lutetia Areocentric
+<200002180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide AUTO Lutetia Areographic
+<200002181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson AUTO Lutetia Areocentric
+<200002182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson AUTO Lutetia Areographic
+<200002183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# GEOGCS Eros Areocentric
+<200043300> 	+proj=longlat +a=7311 +b=7311 +no_defs 
+# GEOGCS Eros Areographic
+<200043301> 	+proj=longlat +a=7311 +b=7311 +no_defs 
+# Equirectangular Eros Areocentric, clon=0
+<200043310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Equirectangular Eros Areographic, clon=0
+<200043311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Equirectangular Eros Areocentric, clon=180
+<200043312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Equirectangular Eros Areographic, clon=180
+<200043313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Sinusoidal Eros Areocentric, clon=0
+<200043314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Sinusoidal Eros Areographic, clon=0
+<200043315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Sinusoidal Eros Areocentric, clon=180
+<200043316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Sinusoidal Eros Areographic, clon=180
+<200043317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# North Polar Eros Areocentric, clon=0
+<200043318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# North Polar Eros Areographic, clon=0
+<200043319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# South Polar Eros Areocentric, clon=0
+<200043320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# South Polar Eros Areographic, clon=0
+<200043321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Mollweide Eros Areocentric, clon=0
+<200043322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Mollweide Eros Areographic, clon=0
+<200043323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Mollweide Eros Areocentric, clon=180
+<200043324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Mollweide Eros Areographic, clon=180
+<200043325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Robinson Eros Areocentric, clon=0
+<200043326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Robinson Eros Areographic, clon=0
+<200043327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Robinson Eros Areocentric, clon=180
+<200043328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Robinson Eros Areographic, clon=180
+<200043329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Sinusoidal AUTO Eros Areocentric
+<200043360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Sinusoidal AUTO Eros Areographic
+<200043361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Stereographic AUTO Eros Areocentric, clon=0
+<200043362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Stereographic AUTO Eros Areographic, clon=0
+<200043363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Transverse Mercator AUTO Eros Areocentric
+<200043364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Transverse Mercator AUTO Eros Areographic
+<200043365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Orthographic AUTO Eros Areocentric
+<200043366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Orthographic AUTO Eros Areographic
+<200043367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Eros Areocentric
+<200043368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Eros Areographic
+<200043369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Eros Areocentric
+<200043370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Eros Areographic
+<200043371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Eros Areocentric
+<200043372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Eros Areographic
+<200043373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Mercator AUTO Eros Areocentric
+<200043374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Mercator AUTO Eros Areographic
+<200043375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Albers AUTO Eros Areocentric
+<200043376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Albers AUTO Eros Areographic
+<200043377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Mollweide AUTO Eros Areocentric
+<200043380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Mollweide AUTO Eros Areographic
+<200043381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Robinson AUTO Eros Areocentric
+<200043382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
+# Robinson AUTO Eros Areographic
+<200043383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=7311 +b=7311 +units=m +no_defs 
diff --git a/lib/proj/iau2009.csv b/lib/proj/iau2009.csv
new file mode 100644
index 0000000..63a2708
--- /dev/null
+++ b/lib/proj/iau2009.csv
@@ -0,0 +1,7656 @@
+# GEOGCS Mercury Areocentric
+<19900> 	+proj=longlat +a=2439700 +b=2439700 +no_defs 
+# GEOGCS Mercury Areographic
+<19901> 	+proj=longlat +a=2439700 +b=2439700 +no_defs 
+# Equirectangular Mercury Areocentric, clon=0
+<19910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equirectangular Mercury Areographic, clon=0
+<19911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equirectangular Mercury Areocentric, clon=180
+<19912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equirectangular Mercury Areographic, clon=180
+<19913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal Mercury Areocentric, clon=0
+<19914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal Mercury Areographic, clon=0
+<19915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal Mercury Areocentric, clon=180
+<19916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal Mercury Areographic, clon=180
+<19917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# North Polar Mercury Areocentric, clon=0
+<19918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# North Polar Mercury Areographic, clon=0
+<19919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# South Polar Mercury Areocentric, clon=0
+<19920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# South Polar Mercury Areographic, clon=0
+<19921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide Mercury Areocentric, clon=0
+<19922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide Mercury Areographic, clon=0
+<19923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide Mercury Areocentric, clon=180
+<19924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide Mercury Areographic, clon=180
+<19925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson Mercury Areocentric, clon=0
+<19926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson Mercury Areographic, clon=0
+<19927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson Mercury Areocentric, clon=180
+<19928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson Mercury Areographic, clon=180
+<19929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal AUTO Mercury Areocentric
+<19960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Sinusoidal AUTO Mercury Areographic
+<19961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Stereographic AUTO Mercury Areocentric, clon=0
+<19962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Stereographic AUTO Mercury Areographic, clon=0
+<19963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Transverse Mercator AUTO Mercury Areocentric
+<19964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Transverse Mercator AUTO Mercury Areographic
+<19965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Orthographic AUTO Mercury Areocentric
+<19966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Orthographic AUTO Mercury Areographic
+<19967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mercury Areocentric
+<19968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mercury Areographic
+<19969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mercury Areocentric
+<19970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mercury Areographic
+<19971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mercury Areocentric
+<19972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mercury Areographic
+<19973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mercator AUTO Mercury Areocentric
+<19974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mercator AUTO Mercury Areographic
+<19975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Albers AUTO Mercury Areocentric
+<19976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Albers AUTO Mercury Areographic
+<19977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide AUTO Mercury Areocentric
+<19980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Mollweide AUTO Mercury Areographic
+<19981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson AUTO Mercury Areocentric
+<19982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# Robinson AUTO Mercury Areographic
+<19983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2439700 +b=2439700 +units=m +no_defs 
+# GEOGCS Venus Areocentric
+<29900> 	+proj=longlat +a=6051800 +b=6051800 +no_defs 
+# GEOGCS Venus Areographic
+<29901> 	+proj=longlat +a=6051800 +b=6051800 +no_defs 
+# Equirectangular Venus Areocentric, clon=0
+<29910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equirectangular Venus Areographic, clon=0
+<29911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equirectangular Venus Areocentric, clon=180
+<29912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equirectangular Venus Areographic, clon=180
+<29913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal Venus Areocentric, clon=0
+<29914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal Venus Areographic, clon=0
+<29915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal Venus Areocentric, clon=180
+<29916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal Venus Areographic, clon=180
+<29917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# North Polar Venus Areocentric, clon=0
+<29918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# North Polar Venus Areographic, clon=0
+<29919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# South Polar Venus Areocentric, clon=0
+<29920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# South Polar Venus Areographic, clon=0
+<29921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide Venus Areocentric, clon=0
+<29922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide Venus Areographic, clon=0
+<29923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide Venus Areocentric, clon=180
+<29924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide Venus Areographic, clon=180
+<29925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson Venus Areocentric, clon=0
+<29926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson Venus Areographic, clon=0
+<29927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson Venus Areocentric, clon=180
+<29928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson Venus Areographic, clon=180
+<29929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal AUTO Venus Areocentric
+<29960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Sinusoidal AUTO Venus Areographic
+<29961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Stereographic AUTO Venus Areocentric, clon=0
+<29962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Stereographic AUTO Venus Areographic, clon=0
+<29963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Transverse Mercator AUTO Venus Areocentric
+<29964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Transverse Mercator AUTO Venus Areographic
+<29965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Orthographic AUTO Venus Areocentric
+<29966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Orthographic AUTO Venus Areographic
+<29967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Venus Areocentric
+<29968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Venus Areographic
+<29969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Venus Areocentric
+<29970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Venus Areographic
+<29971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Venus Areocentric
+<29972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Venus Areographic
+<29973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mercator AUTO Venus Areocentric
+<29974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mercator AUTO Venus Areographic
+<29975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Albers AUTO Venus Areocentric
+<29976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Albers AUTO Venus Areographic
+<29977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide AUTO Venus Areocentric
+<29980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Mollweide AUTO Venus Areographic
+<29981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson AUTO Venus Areocentric
+<29982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# Robinson AUTO Venus Areographic
+<29983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6051800 +b=6051800 +units=m +no_defs 
+# GEOGCS Earth Areocentric
+<39900> 	+proj=longlat +a=6378136.5 +b=-1895839728.098866 +no_defs 
+# GEOGCS Earth Areographic
+<39901> 	+proj=longlat +a=6378136.5 +b=-1895839728.098866 +no_defs 
+# Equirectangular Earth Areocentric, clon=0
+<39910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Equirectangular Earth Areographic, clon=0
+<39911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Equirectangular Earth Areocentric, clon=180
+<39912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Equirectangular Earth Areographic, clon=180
+<39913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Sinusoidal Earth Areocentric, clon=0
+<39914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Sinusoidal Earth Areographic, clon=0
+<39915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Sinusoidal Earth Areocentric, clon=180
+<39916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Sinusoidal Earth Areographic, clon=180
+<39917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# North Polar Earth Areocentric, clon=0
+<39918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# North Polar Earth Areographic, clon=0
+<39919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# South Polar Earth Areocentric, clon=0
+<39920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# South Polar Earth Areographic, clon=0
+<39921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Mollweide Earth Areocentric, clon=0
+<39922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Mollweide Earth Areographic, clon=0
+<39923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Mollweide Earth Areocentric, clon=180
+<39924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Mollweide Earth Areographic, clon=180
+<39925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Robinson Earth Areocentric, clon=0
+<39926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Robinson Earth Areographic, clon=0
+<39927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Robinson Earth Areocentric, clon=180
+<39928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Robinson Earth Areographic, clon=180
+<39929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Sinusoidal AUTO Earth Areocentric
+<39960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Sinusoidal AUTO Earth Areographic
+<39961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Stereographic AUTO Earth Areocentric, clon=0
+<39962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Stereographic AUTO Earth Areographic, clon=0
+<39963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Transverse Mercator AUTO Earth Areocentric
+<39964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Transverse Mercator AUTO Earth Areographic
+<39965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Orthographic AUTO Earth Areocentric
+<39966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Orthographic AUTO Earth Areographic
+<39967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Earth Areocentric
+<39968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Earth Areographic
+<39969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Earth Areocentric
+<39970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Earth Areographic
+<39971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Earth Areocentric
+<39972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Earth Areographic
+<39973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Mercator AUTO Earth Areocentric
+<39974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Mercator AUTO Earth Areographic
+<39975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Albers AUTO Earth Areocentric
+<39976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Albers AUTO Earth Areographic
+<39977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Mollweide AUTO Earth Areocentric
+<39980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Mollweide AUTO Earth Areographic
+<39981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Robinson AUTO Earth Areocentric
+<39982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# Robinson AUTO Earth Areographic
+<39983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6378136.5 +b=-1895839728.098866 +units=m +no_defs 
+# GEOGCS Moon Areocentric
+<30100> 	+proj=longlat +a=1737400 +b=1737400 +no_defs 
+# GEOGCS Moon Areographic
+<30101> 	+proj=longlat +a=1737400 +b=1737400 +no_defs 
+# Equirectangular Moon Areocentric, clon=0
+<30110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equirectangular Moon Areographic, clon=0
+<30111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equirectangular Moon Areocentric, clon=180
+<30112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equirectangular Moon Areographic, clon=180
+<30113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal Moon Areocentric, clon=0
+<30114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal Moon Areographic, clon=0
+<30115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal Moon Areocentric, clon=180
+<30116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal Moon Areographic, clon=180
+<30117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# North Polar Moon Areocentric, clon=0
+<30118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# North Polar Moon Areographic, clon=0
+<30119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# South Polar Moon Areocentric, clon=0
+<30120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# South Polar Moon Areographic, clon=0
+<30121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide Moon Areocentric, clon=0
+<30122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide Moon Areographic, clon=0
+<30123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide Moon Areocentric, clon=180
+<30124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide Moon Areographic, clon=180
+<30125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson Moon Areocentric, clon=0
+<30126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson Moon Areographic, clon=0
+<30127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson Moon Areocentric, clon=180
+<30128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson Moon Areographic, clon=180
+<30129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal AUTO Moon Areocentric
+<30160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Sinusoidal AUTO Moon Areographic
+<30161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Stereographic AUTO Moon Areocentric, clon=0
+<30162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Stereographic AUTO Moon Areographic, clon=0
+<30163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Transverse Mercator AUTO Moon Areocentric
+<30164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Transverse Mercator AUTO Moon Areographic
+<30165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Orthographic AUTO Moon Areocentric
+<30166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Orthographic AUTO Moon Areographic
+<30167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Moon Areocentric
+<30168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Moon Areographic
+<30169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Moon Areocentric
+<30170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Moon Areographic
+<30171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Moon Areocentric
+<30172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Moon Areographic
+<30173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mercator AUTO Moon Areocentric
+<30174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mercator AUTO Moon Areographic
+<30175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Albers AUTO Moon Areocentric
+<30176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Albers AUTO Moon Areographic
+<30177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide AUTO Moon Areocentric
+<30180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Mollweide AUTO Moon Areographic
+<30181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson AUTO Moon Areocentric
+<30182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# Robinson AUTO Moon Areographic
+<30183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs 
+# GEOGCS Mars Areocentric
+<49900> 	+proj=longlat +a=3396190 +b=-573598373.3707101 +no_defs 
+# GEOGCS Mars Areographic
+<49901> 	+proj=longlat +a=3396190 +b=-573598373.3707101 +no_defs 
+# Equirectangular Mars Areocentric, clon=0
+<49910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equirectangular Mars Areographic, clon=0
+<49911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equirectangular Mars Areocentric, clon=180
+<49912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equirectangular Mars Areographic, clon=180
+<49913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal Mars Areocentric, clon=0
+<49914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal Mars Areographic, clon=0
+<49915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal Mars Areocentric, clon=180
+<49916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal Mars Areographic, clon=180
+<49917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# North Polar Mars Areocentric, clon=0
+<49918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# North Polar Mars Areographic, clon=0
+<49919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# South Polar Mars Areocentric, clon=0
+<49920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# South Polar Mars Areographic, clon=0
+<49921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide Mars Areocentric, clon=0
+<49922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide Mars Areographic, clon=0
+<49923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide Mars Areocentric, clon=180
+<49924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide Mars Areographic, clon=180
+<49925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson Mars Areocentric, clon=0
+<49926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson Mars Areographic, clon=0
+<49927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson Mars Areocentric, clon=180
+<49928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson Mars Areographic, clon=180
+<49929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal AUTO Mars Areocentric
+<49960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Sinusoidal AUTO Mars Areographic
+<49961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Stereographic AUTO Mars Areocentric, clon=0
+<49962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Stereographic AUTO Mars Areographic, clon=0
+<49963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Transverse Mercator AUTO Mars Areocentric
+<49964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Transverse Mercator AUTO Mars Areographic
+<49965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Orthographic AUTO Mars Areocentric
+<49966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Orthographic AUTO Mars Areographic
+<49967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mars Areocentric
+<49968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mars Areographic
+<49969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mars Areocentric
+<49970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mars Areographic
+<49971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mars Areocentric
+<49972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mars Areographic
+<49973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mercator AUTO Mars Areocentric
+<49974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mercator AUTO Mars Areographic
+<49975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Albers AUTO Mars Areocentric
+<49976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Albers AUTO Mars Areographic
+<49977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide AUTO Mars Areocentric
+<49980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Mollweide AUTO Mars Areographic
+<49981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson AUTO Mars Areocentric
+<49982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# Robinson AUTO Mars Areographic
+<49983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3396190 +b=-573598373.3707101 +units=m +no_defs 
+# GEOGCS Phobos Areocentric
+<40100> 	+proj=longlat +a=11080 +b=11080 +no_defs 
+# GEOGCS Phobos Areographic
+<40101> 	+proj=longlat +a=11080 +b=11080 +no_defs 
+# Equirectangular Phobos Areocentric, clon=0
+<40110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Equirectangular Phobos Areographic, clon=0
+<40111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Equirectangular Phobos Areocentric, clon=180
+<40112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Equirectangular Phobos Areographic, clon=180
+<40113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Sinusoidal Phobos Areocentric, clon=0
+<40114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Sinusoidal Phobos Areographic, clon=0
+<40115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Sinusoidal Phobos Areocentric, clon=180
+<40116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Sinusoidal Phobos Areographic, clon=180
+<40117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# North Polar Phobos Areocentric, clon=0
+<40118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# North Polar Phobos Areographic, clon=0
+<40119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# South Polar Phobos Areocentric, clon=0
+<40120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# South Polar Phobos Areographic, clon=0
+<40121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Mollweide Phobos Areocentric, clon=0
+<40122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Mollweide Phobos Areographic, clon=0
+<40123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Mollweide Phobos Areocentric, clon=180
+<40124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Mollweide Phobos Areographic, clon=180
+<40125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Robinson Phobos Areocentric, clon=0
+<40126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Robinson Phobos Areographic, clon=0
+<40127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Robinson Phobos Areocentric, clon=180
+<40128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Robinson Phobos Areographic, clon=180
+<40129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Sinusoidal AUTO Phobos Areocentric
+<40160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Sinusoidal AUTO Phobos Areographic
+<40161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Stereographic AUTO Phobos Areocentric, clon=0
+<40162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Stereographic AUTO Phobos Areographic, clon=0
+<40163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Transverse Mercator AUTO Phobos Areocentric
+<40164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Transverse Mercator AUTO Phobos Areographic
+<40165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Orthographic AUTO Phobos Areocentric
+<40166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Orthographic AUTO Phobos Areographic
+<40167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Phobos Areocentric
+<40168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Phobos Areographic
+<40169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Phobos Areocentric
+<40170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Phobos Areographic
+<40171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Phobos Areocentric
+<40172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Phobos Areographic
+<40173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Mercator AUTO Phobos Areocentric
+<40174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Mercator AUTO Phobos Areographic
+<40175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Albers AUTO Phobos Areocentric
+<40176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Albers AUTO Phobos Areographic
+<40177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Mollweide AUTO Phobos Areocentric
+<40180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Mollweide AUTO Phobos Areographic
+<40181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Robinson AUTO Phobos Areocentric
+<40182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# Robinson AUTO Phobos Areographic
+<40183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=11080 +b=11080 +units=m +no_defs 
+# GEOGCS Deimos Areocentric
+<40200> 	+proj=longlat +a=6200 +b=6200 +no_defs 
+# GEOGCS Deimos Areographic
+<40201> 	+proj=longlat +a=6200 +b=6200 +no_defs 
+# Equirectangular Deimos Areocentric, clon=0
+<40210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equirectangular Deimos Areographic, clon=0
+<40211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equirectangular Deimos Areocentric, clon=180
+<40212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equirectangular Deimos Areographic, clon=180
+<40213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal Deimos Areocentric, clon=0
+<40214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal Deimos Areographic, clon=0
+<40215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal Deimos Areocentric, clon=180
+<40216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal Deimos Areographic, clon=180
+<40217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# North Polar Deimos Areocentric, clon=0
+<40218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# North Polar Deimos Areographic, clon=0
+<40219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# South Polar Deimos Areocentric, clon=0
+<40220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# South Polar Deimos Areographic, clon=0
+<40221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide Deimos Areocentric, clon=0
+<40222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide Deimos Areographic, clon=0
+<40223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide Deimos Areocentric, clon=180
+<40224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide Deimos Areographic, clon=180
+<40225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson Deimos Areocentric, clon=0
+<40226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson Deimos Areographic, clon=0
+<40227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson Deimos Areocentric, clon=180
+<40228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson Deimos Areographic, clon=180
+<40229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal AUTO Deimos Areocentric
+<40260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Sinusoidal AUTO Deimos Areographic
+<40261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Stereographic AUTO Deimos Areocentric, clon=0
+<40262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Stereographic AUTO Deimos Areographic, clon=0
+<40263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Transverse Mercator AUTO Deimos Areocentric
+<40264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Transverse Mercator AUTO Deimos Areographic
+<40265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Orthographic AUTO Deimos Areocentric
+<40266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Orthographic AUTO Deimos Areographic
+<40267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Deimos Areocentric
+<40268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Deimos Areographic
+<40269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Deimos Areocentric
+<40270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Deimos Areographic
+<40271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Deimos Areocentric
+<40272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Deimos Areographic
+<40273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mercator AUTO Deimos Areocentric
+<40274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mercator AUTO Deimos Areographic
+<40275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Albers AUTO Deimos Areocentric
+<40276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Albers AUTO Deimos Areographic
+<40277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide AUTO Deimos Areocentric
+<40280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Mollweide AUTO Deimos Areographic
+<40281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson AUTO Deimos Areocentric
+<40282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# Robinson AUTO Deimos Areographic
+<40283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6200 +b=6200 +units=m +no_defs 
+# GEOGCS Jupiter Areocentric
+<59900> 	+proj=longlat +a=71492000 +b=-1030521133.150415 +no_defs 
+# GEOGCS Jupiter Areographic
+<59901> 	+proj=longlat +a=71492000 +b=-1030521133.150415 +no_defs 
+# Equirectangular Jupiter Areocentric, clon=0
+<59910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equirectangular Jupiter Areographic, clon=0
+<59911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equirectangular Jupiter Areocentric, clon=180
+<59912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equirectangular Jupiter Areographic, clon=180
+<59913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal Jupiter Areocentric, clon=0
+<59914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal Jupiter Areographic, clon=0
+<59915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal Jupiter Areocentric, clon=180
+<59916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal Jupiter Areographic, clon=180
+<59917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# North Polar Jupiter Areocentric, clon=0
+<59918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# North Polar Jupiter Areographic, clon=0
+<59919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# South Polar Jupiter Areocentric, clon=0
+<59920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# South Polar Jupiter Areographic, clon=0
+<59921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide Jupiter Areocentric, clon=0
+<59922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide Jupiter Areographic, clon=0
+<59923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide Jupiter Areocentric, clon=180
+<59924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide Jupiter Areographic, clon=180
+<59925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson Jupiter Areocentric, clon=0
+<59926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson Jupiter Areographic, clon=0
+<59927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson Jupiter Areocentric, clon=180
+<59928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson Jupiter Areographic, clon=180
+<59929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal AUTO Jupiter Areocentric
+<59960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Sinusoidal AUTO Jupiter Areographic
+<59961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Stereographic AUTO Jupiter Areocentric, clon=0
+<59962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Stereographic AUTO Jupiter Areographic, clon=0
+<59963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Transverse Mercator AUTO Jupiter Areocentric
+<59964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Transverse Mercator AUTO Jupiter Areographic
+<59965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Orthographic AUTO Jupiter Areocentric
+<59966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Orthographic AUTO Jupiter Areographic
+<59967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Jupiter Areocentric
+<59968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Jupiter Areographic
+<59969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Jupiter Areocentric
+<59970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Jupiter Areographic
+<59971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Jupiter Areocentric
+<59972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Jupiter Areographic
+<59973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mercator AUTO Jupiter Areocentric
+<59974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mercator AUTO Jupiter Areographic
+<59975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Albers AUTO Jupiter Areocentric
+<59976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Albers AUTO Jupiter Areographic
+<59977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide AUTO Jupiter Areocentric
+<59980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Mollweide AUTO Jupiter Areographic
+<59981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson AUTO Jupiter Areocentric
+<59982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# Robinson AUTO Jupiter Areographic
+<59983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=71492000 +b=-1030521133.150415 +units=m +no_defs 
+# GEOGCS Io Areocentric
+<50100> 	+proj=longlat +a=1821490 +b=1821490 +no_defs 
+# GEOGCS Io Areographic
+<50101> 	+proj=longlat +a=1821490 +b=1821490 +no_defs 
+# Equirectangular Io Areocentric, clon=0
+<50110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Equirectangular Io Areographic, clon=0
+<50111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Equirectangular Io Areocentric, clon=180
+<50112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Equirectangular Io Areographic, clon=180
+<50113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Sinusoidal Io Areocentric, clon=0
+<50114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Sinusoidal Io Areographic, clon=0
+<50115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Sinusoidal Io Areocentric, clon=180
+<50116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Sinusoidal Io Areographic, clon=180
+<50117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# North Polar Io Areocentric, clon=0
+<50118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# North Polar Io Areographic, clon=0
+<50119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# South Polar Io Areocentric, clon=0
+<50120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# South Polar Io Areographic, clon=0
+<50121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Mollweide Io Areocentric, clon=0
+<50122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Mollweide Io Areographic, clon=0
+<50123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Mollweide Io Areocentric, clon=180
+<50124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Mollweide Io Areographic, clon=180
+<50125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Robinson Io Areocentric, clon=0
+<50126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Robinson Io Areographic, clon=0
+<50127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Robinson Io Areocentric, clon=180
+<50128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Robinson Io Areographic, clon=180
+<50129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Sinusoidal AUTO Io Areocentric
+<50160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Sinusoidal AUTO Io Areographic
+<50161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Stereographic AUTO Io Areocentric, clon=0
+<50162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Stereographic AUTO Io Areographic, clon=0
+<50163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Transverse Mercator AUTO Io Areocentric
+<50164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Transverse Mercator AUTO Io Areographic
+<50165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Orthographic AUTO Io Areocentric
+<50166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Orthographic AUTO Io Areographic
+<50167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Io Areocentric
+<50168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Io Areographic
+<50169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Io Areocentric
+<50170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Io Areographic
+<50171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Io Areocentric
+<50172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Io Areographic
+<50173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Mercator AUTO Io Areocentric
+<50174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Mercator AUTO Io Areographic
+<50175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Albers AUTO Io Areocentric
+<50176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Albers AUTO Io Areographic
+<50177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Mollweide AUTO Io Areocentric
+<50180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Mollweide AUTO Io Areographic
+<50181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Robinson AUTO Io Areocentric
+<50182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# Robinson AUTO Io Areographic
+<50183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1821490 +b=1821490 +units=m +no_defs 
+# GEOGCS Europa Areocentric
+<50200> 	+proj=longlat +a=1560800 +b=1560800 +no_defs 
+# GEOGCS Europa Areographic
+<50201> 	+proj=longlat +a=1560800 +b=1560800 +no_defs 
+# Equirectangular Europa Areocentric, clon=0
+<50210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Equirectangular Europa Areographic, clon=0
+<50211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Equirectangular Europa Areocentric, clon=180
+<50212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Equirectangular Europa Areographic, clon=180
+<50213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Sinusoidal Europa Areocentric, clon=0
+<50214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Sinusoidal Europa Areographic, clon=0
+<50215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Sinusoidal Europa Areocentric, clon=180
+<50216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Sinusoidal Europa Areographic, clon=180
+<50217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# North Polar Europa Areocentric, clon=0
+<50218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# North Polar Europa Areographic, clon=0
+<50219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# South Polar Europa Areocentric, clon=0
+<50220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# South Polar Europa Areographic, clon=0
+<50221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Mollweide Europa Areocentric, clon=0
+<50222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Mollweide Europa Areographic, clon=0
+<50223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Mollweide Europa Areocentric, clon=180
+<50224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Mollweide Europa Areographic, clon=180
+<50225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Robinson Europa Areocentric, clon=0
+<50226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Robinson Europa Areographic, clon=0
+<50227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Robinson Europa Areocentric, clon=180
+<50228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Robinson Europa Areographic, clon=180
+<50229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Sinusoidal AUTO Europa Areocentric
+<50260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Sinusoidal AUTO Europa Areographic
+<50261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Stereographic AUTO Europa Areocentric, clon=0
+<50262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Stereographic AUTO Europa Areographic, clon=0
+<50263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Transverse Mercator AUTO Europa Areocentric
+<50264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Transverse Mercator AUTO Europa Areographic
+<50265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Orthographic AUTO Europa Areocentric
+<50266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Orthographic AUTO Europa Areographic
+<50267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Europa Areocentric
+<50268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Europa Areographic
+<50269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Europa Areocentric
+<50270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Europa Areographic
+<50271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Europa Areocentric
+<50272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Europa Areographic
+<50273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Mercator AUTO Europa Areocentric
+<50274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Mercator AUTO Europa Areographic
+<50275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Albers AUTO Europa Areocentric
+<50276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Albers AUTO Europa Areographic
+<50277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Mollweide AUTO Europa Areocentric
+<50280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Mollweide AUTO Europa Areographic
+<50281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Robinson AUTO Europa Areocentric
+<50282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# Robinson AUTO Europa Areographic
+<50283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1560800 +b=1560800 +units=m +no_defs 
+# GEOGCS Ganymede Areocentric
+<50300> 	+proj=longlat +a=2631200 +b=2631200 +no_defs 
+# GEOGCS Ganymede Areographic
+<50301> 	+proj=longlat +a=2631200 +b=2631200 +no_defs 
+# Equirectangular Ganymede Areocentric, clon=0
+<50310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Equirectangular Ganymede Areographic, clon=0
+<50311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Equirectangular Ganymede Areocentric, clon=180
+<50312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Equirectangular Ganymede Areographic, clon=180
+<50313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Sinusoidal Ganymede Areocentric, clon=0
+<50314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Sinusoidal Ganymede Areographic, clon=0
+<50315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Sinusoidal Ganymede Areocentric, clon=180
+<50316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Sinusoidal Ganymede Areographic, clon=180
+<50317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# North Polar Ganymede Areocentric, clon=0
+<50318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# North Polar Ganymede Areographic, clon=0
+<50319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# South Polar Ganymede Areocentric, clon=0
+<50320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# South Polar Ganymede Areographic, clon=0
+<50321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Mollweide Ganymede Areocentric, clon=0
+<50322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Mollweide Ganymede Areographic, clon=0
+<50323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Mollweide Ganymede Areocentric, clon=180
+<50324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Mollweide Ganymede Areographic, clon=180
+<50325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Robinson Ganymede Areocentric, clon=0
+<50326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Robinson Ganymede Areographic, clon=0
+<50327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Robinson Ganymede Areocentric, clon=180
+<50328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Robinson Ganymede Areographic, clon=180
+<50329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Sinusoidal AUTO Ganymede Areocentric
+<50360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Sinusoidal AUTO Ganymede Areographic
+<50361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Stereographic AUTO Ganymede Areocentric, clon=0
+<50362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Stereographic AUTO Ganymede Areographic, clon=0
+<50363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Transverse Mercator AUTO Ganymede Areocentric
+<50364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Transverse Mercator AUTO Ganymede Areographic
+<50365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Orthographic AUTO Ganymede Areocentric
+<50366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Orthographic AUTO Ganymede Areographic
+<50367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ganymede Areocentric
+<50368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ganymede Areographic
+<50369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ganymede Areocentric
+<50370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ganymede Areographic
+<50371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ganymede Areocentric
+<50372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ganymede Areographic
+<50373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Mercator AUTO Ganymede Areocentric
+<50374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Mercator AUTO Ganymede Areographic
+<50375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Albers AUTO Ganymede Areocentric
+<50376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Albers AUTO Ganymede Areographic
+<50377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Mollweide AUTO Ganymede Areocentric
+<50380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Mollweide AUTO Ganymede Areographic
+<50381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Robinson AUTO Ganymede Areocentric
+<50382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# Robinson AUTO Ganymede Areographic
+<50383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2631200 +b=2631200 +units=m +no_defs 
+# GEOGCS Callisto Areocentric
+<50400> 	+proj=longlat +a=2410300 +b=2410300 +no_defs 
+# GEOGCS Callisto Areographic
+<50401> 	+proj=longlat +a=2410300 +b=2410300 +no_defs 
+# Equirectangular Callisto Areocentric, clon=0
+<50410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Equirectangular Callisto Areographic, clon=0
+<50411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Equirectangular Callisto Areocentric, clon=180
+<50412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Equirectangular Callisto Areographic, clon=180
+<50413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Sinusoidal Callisto Areocentric, clon=0
+<50414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Sinusoidal Callisto Areographic, clon=0
+<50415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Sinusoidal Callisto Areocentric, clon=180
+<50416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Sinusoidal Callisto Areographic, clon=180
+<50417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# North Polar Callisto Areocentric, clon=0
+<50418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# North Polar Callisto Areographic, clon=0
+<50419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# South Polar Callisto Areocentric, clon=0
+<50420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# South Polar Callisto Areographic, clon=0
+<50421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Mollweide Callisto Areocentric, clon=0
+<50422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Mollweide Callisto Areographic, clon=0
+<50423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Mollweide Callisto Areocentric, clon=180
+<50424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Mollweide Callisto Areographic, clon=180
+<50425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Robinson Callisto Areocentric, clon=0
+<50426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Robinson Callisto Areographic, clon=0
+<50427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Robinson Callisto Areocentric, clon=180
+<50428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Robinson Callisto Areographic, clon=180
+<50429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Sinusoidal AUTO Callisto Areocentric
+<50460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Sinusoidal AUTO Callisto Areographic
+<50461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Stereographic AUTO Callisto Areocentric, clon=0
+<50462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Stereographic AUTO Callisto Areographic, clon=0
+<50463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Transverse Mercator AUTO Callisto Areocentric
+<50464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Transverse Mercator AUTO Callisto Areographic
+<50465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Orthographic AUTO Callisto Areocentric
+<50466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Orthographic AUTO Callisto Areographic
+<50467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Callisto Areocentric
+<50468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Callisto Areographic
+<50469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Callisto Areocentric
+<50470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Callisto Areographic
+<50471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Callisto Areocentric
+<50472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Callisto Areographic
+<50473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Mercator AUTO Callisto Areocentric
+<50474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Mercator AUTO Callisto Areographic
+<50475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Albers AUTO Callisto Areocentric
+<50476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Albers AUTO Callisto Areographic
+<50477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Mollweide AUTO Callisto Areocentric
+<50480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Mollweide AUTO Callisto Areographic
+<50481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Robinson AUTO Callisto Areocentric
+<50482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# Robinson AUTO Callisto Areographic
+<50483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2410300 +b=2410300 +units=m +no_defs 
+# GEOGCS Amalthea Areocentric
+<50500> 	+proj=longlat +a=83500 +b=83500 +no_defs 
+# GEOGCS Amalthea Areographic
+<50501> 	+proj=longlat +a=83500 +b=83500 +no_defs 
+# Equirectangular Amalthea Areocentric, clon=0
+<50510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equirectangular Amalthea Areographic, clon=0
+<50511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equirectangular Amalthea Areocentric, clon=180
+<50512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equirectangular Amalthea Areographic, clon=180
+<50513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal Amalthea Areocentric, clon=0
+<50514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal Amalthea Areographic, clon=0
+<50515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal Amalthea Areocentric, clon=180
+<50516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal Amalthea Areographic, clon=180
+<50517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# North Polar Amalthea Areocentric, clon=0
+<50518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# North Polar Amalthea Areographic, clon=0
+<50519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# South Polar Amalthea Areocentric, clon=0
+<50520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# South Polar Amalthea Areographic, clon=0
+<50521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide Amalthea Areocentric, clon=0
+<50522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide Amalthea Areographic, clon=0
+<50523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide Amalthea Areocentric, clon=180
+<50524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide Amalthea Areographic, clon=180
+<50525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson Amalthea Areocentric, clon=0
+<50526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson Amalthea Areographic, clon=0
+<50527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson Amalthea Areocentric, clon=180
+<50528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson Amalthea Areographic, clon=180
+<50529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal AUTO Amalthea Areocentric
+<50560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Sinusoidal AUTO Amalthea Areographic
+<50561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Stereographic AUTO Amalthea Areocentric, clon=0
+<50562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Stereographic AUTO Amalthea Areographic, clon=0
+<50563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Transverse Mercator AUTO Amalthea Areocentric
+<50564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Transverse Mercator AUTO Amalthea Areographic
+<50565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Orthographic AUTO Amalthea Areocentric
+<50566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Orthographic AUTO Amalthea Areographic
+<50567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Amalthea Areocentric
+<50568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Amalthea Areographic
+<50569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Amalthea Areocentric
+<50570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Amalthea Areographic
+<50571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Amalthea Areocentric
+<50572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Amalthea Areographic
+<50573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mercator AUTO Amalthea Areocentric
+<50574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mercator AUTO Amalthea Areographic
+<50575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Albers AUTO Amalthea Areocentric
+<50576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Albers AUTO Amalthea Areographic
+<50577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide AUTO Amalthea Areocentric
+<50580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Mollweide AUTO Amalthea Areographic
+<50581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson AUTO Amalthea Areocentric
+<50582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# Robinson AUTO Amalthea Areographic
+<50583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=83500 +b=83500 +units=m +no_defs 
+# GEOGCS Himalia Areocentric
+<50600> 	+proj=longlat +a=85000 +b=85000 +no_defs 
+# GEOGCS Himalia Areographic
+<50601> 	+proj=longlat +a=85000 +b=85000 +no_defs 
+# Equirectangular Himalia Areocentric, clon=0
+<50610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equirectangular Himalia Areographic, clon=0
+<50611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equirectangular Himalia Areocentric, clon=180
+<50612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equirectangular Himalia Areographic, clon=180
+<50613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal Himalia Areocentric, clon=0
+<50614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal Himalia Areographic, clon=0
+<50615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal Himalia Areocentric, clon=180
+<50616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal Himalia Areographic, clon=180
+<50617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# North Polar Himalia Areocentric, clon=0
+<50618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# North Polar Himalia Areographic, clon=0
+<50619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# South Polar Himalia Areocentric, clon=0
+<50620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# South Polar Himalia Areographic, clon=0
+<50621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide Himalia Areocentric, clon=0
+<50622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide Himalia Areographic, clon=0
+<50623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide Himalia Areocentric, clon=180
+<50624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide Himalia Areographic, clon=180
+<50625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson Himalia Areocentric, clon=0
+<50626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson Himalia Areographic, clon=0
+<50627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson Himalia Areocentric, clon=180
+<50628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson Himalia Areographic, clon=180
+<50629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal AUTO Himalia Areocentric
+<50660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Sinusoidal AUTO Himalia Areographic
+<50661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Stereographic AUTO Himalia Areocentric, clon=0
+<50662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Stereographic AUTO Himalia Areographic, clon=0
+<50663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Transverse Mercator AUTO Himalia Areocentric
+<50664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Transverse Mercator AUTO Himalia Areographic
+<50665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Orthographic AUTO Himalia Areocentric
+<50666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Orthographic AUTO Himalia Areographic
+<50667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Himalia Areocentric
+<50668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Himalia Areographic
+<50669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Himalia Areocentric
+<50670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Himalia Areographic
+<50671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Himalia Areocentric
+<50672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Himalia Areographic
+<50673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mercator AUTO Himalia Areocentric
+<50674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mercator AUTO Himalia Areographic
+<50675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Albers AUTO Himalia Areocentric
+<50676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Albers AUTO Himalia Areographic
+<50677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide AUTO Himalia Areocentric
+<50680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Mollweide AUTO Himalia Areographic
+<50681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson AUTO Himalia Areocentric
+<50682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# Robinson AUTO Himalia Areographic
+<50683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=85000 +b=85000 +units=m +no_defs 
+# GEOGCS Elara Areocentric
+<50700> 	+proj=longlat +a=40000 +b=40000 +no_defs 
+# GEOGCS Elara Areographic
+<50701> 	+proj=longlat +a=40000 +b=40000 +no_defs 
+# Equirectangular Elara Areocentric, clon=0
+<50710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Elara Areographic, clon=0
+<50711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Elara Areocentric, clon=180
+<50712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Elara Areographic, clon=180
+<50713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Elara Areocentric, clon=0
+<50714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Elara Areographic, clon=0
+<50715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Elara Areocentric, clon=180
+<50716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Elara Areographic, clon=180
+<50717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# North Polar Elara Areocentric, clon=0
+<50718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# North Polar Elara Areographic, clon=0
+<50719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# South Polar Elara Areocentric, clon=0
+<50720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# South Polar Elara Areographic, clon=0
+<50721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Elara Areocentric, clon=0
+<50722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Elara Areographic, clon=0
+<50723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Elara Areocentric, clon=180
+<50724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Elara Areographic, clon=180
+<50725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Elara Areocentric, clon=0
+<50726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Elara Areographic, clon=0
+<50727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Elara Areocentric, clon=180
+<50728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Elara Areographic, clon=180
+<50729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal AUTO Elara Areocentric
+<50760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal AUTO Elara Areographic
+<50761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Stereographic AUTO Elara Areocentric, clon=0
+<50762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Stereographic AUTO Elara Areographic, clon=0
+<50763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Transverse Mercator AUTO Elara Areocentric
+<50764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Transverse Mercator AUTO Elara Areographic
+<50765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Orthographic AUTO Elara Areocentric
+<50766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Orthographic AUTO Elara Areographic
+<50767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Elara Areocentric
+<50768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Elara Areographic
+<50769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Elara Areocentric
+<50770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Elara Areographic
+<50771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Elara Areocentric
+<50772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Elara Areographic
+<50773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mercator AUTO Elara Areocentric
+<50774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mercator AUTO Elara Areographic
+<50775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Albers AUTO Elara Areocentric
+<50776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Albers AUTO Elara Areographic
+<50777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide AUTO Elara Areocentric
+<50780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide AUTO Elara Areographic
+<50781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson AUTO Elara Areocentric
+<50782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson AUTO Elara Areographic
+<50783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# GEOGCS Pasiphae Areocentric
+<50800> 	+proj=longlat +a=18000 +b=18000 +no_defs 
+# GEOGCS Pasiphae Areographic
+<50801> 	+proj=longlat +a=18000 +b=18000 +no_defs 
+# Equirectangular Pasiphae Areocentric, clon=0
+<50810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equirectangular Pasiphae Areographic, clon=0
+<50811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equirectangular Pasiphae Areocentric, clon=180
+<50812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equirectangular Pasiphae Areographic, clon=180
+<50813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal Pasiphae Areocentric, clon=0
+<50814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal Pasiphae Areographic, clon=0
+<50815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal Pasiphae Areocentric, clon=180
+<50816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal Pasiphae Areographic, clon=180
+<50817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# North Polar Pasiphae Areocentric, clon=0
+<50818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# North Polar Pasiphae Areographic, clon=0
+<50819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# South Polar Pasiphae Areocentric, clon=0
+<50820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# South Polar Pasiphae Areographic, clon=0
+<50821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide Pasiphae Areocentric, clon=0
+<50822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide Pasiphae Areographic, clon=0
+<50823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide Pasiphae Areocentric, clon=180
+<50824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide Pasiphae Areographic, clon=180
+<50825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson Pasiphae Areocentric, clon=0
+<50826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson Pasiphae Areographic, clon=0
+<50827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson Pasiphae Areocentric, clon=180
+<50828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson Pasiphae Areographic, clon=180
+<50829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal AUTO Pasiphae Areocentric
+<50860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Sinusoidal AUTO Pasiphae Areographic
+<50861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Stereographic AUTO Pasiphae Areocentric, clon=0
+<50862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Stereographic AUTO Pasiphae Areographic, clon=0
+<50863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Transverse Mercator AUTO Pasiphae Areocentric
+<50864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Transverse Mercator AUTO Pasiphae Areographic
+<50865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Orthographic AUTO Pasiphae Areocentric
+<50866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Orthographic AUTO Pasiphae Areographic
+<50867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pasiphae Areocentric
+<50868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pasiphae Areographic
+<50869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pasiphae Areocentric
+<50870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pasiphae Areographic
+<50871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pasiphae Areocentric
+<50872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pasiphae Areographic
+<50873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mercator AUTO Pasiphae Areocentric
+<50874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mercator AUTO Pasiphae Areographic
+<50875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Albers AUTO Pasiphae Areocentric
+<50876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Albers AUTO Pasiphae Areographic
+<50877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide AUTO Pasiphae Areocentric
+<50880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Mollweide AUTO Pasiphae Areographic
+<50881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson AUTO Pasiphae Areocentric
+<50882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# Robinson AUTO Pasiphae Areographic
+<50883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=18000 +b=18000 +units=m +no_defs 
+# GEOGCS Sinope Areocentric
+<50900> 	+proj=longlat +a=14000 +b=14000 +no_defs 
+# GEOGCS Sinope Areographic
+<50901> 	+proj=longlat +a=14000 +b=14000 +no_defs 
+# Equirectangular Sinope Areocentric, clon=0
+<50910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equirectangular Sinope Areographic, clon=0
+<50911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equirectangular Sinope Areocentric, clon=180
+<50912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equirectangular Sinope Areographic, clon=180
+<50913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal Sinope Areocentric, clon=0
+<50914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal Sinope Areographic, clon=0
+<50915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal Sinope Areocentric, clon=180
+<50916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal Sinope Areographic, clon=180
+<50917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# North Polar Sinope Areocentric, clon=0
+<50918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# North Polar Sinope Areographic, clon=0
+<50919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# South Polar Sinope Areocentric, clon=0
+<50920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# South Polar Sinope Areographic, clon=0
+<50921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide Sinope Areocentric, clon=0
+<50922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide Sinope Areographic, clon=0
+<50923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide Sinope Areocentric, clon=180
+<50924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide Sinope Areographic, clon=180
+<50925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson Sinope Areocentric, clon=0
+<50926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson Sinope Areographic, clon=0
+<50927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson Sinope Areocentric, clon=180
+<50928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson Sinope Areographic, clon=180
+<50929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal AUTO Sinope Areocentric
+<50960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Sinusoidal AUTO Sinope Areographic
+<50961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Stereographic AUTO Sinope Areocentric, clon=0
+<50962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Stereographic AUTO Sinope Areographic, clon=0
+<50963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Transverse Mercator AUTO Sinope Areocentric
+<50964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Transverse Mercator AUTO Sinope Areographic
+<50965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Orthographic AUTO Sinope Areocentric
+<50966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Orthographic AUTO Sinope Areographic
+<50967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Sinope Areocentric
+<50968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Sinope Areographic
+<50969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Sinope Areocentric
+<50970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Sinope Areographic
+<50971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Sinope Areocentric
+<50972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Sinope Areographic
+<50973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mercator AUTO Sinope Areocentric
+<50974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mercator AUTO Sinope Areographic
+<50975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Albers AUTO Sinope Areocentric
+<50976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Albers AUTO Sinope Areographic
+<50977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide AUTO Sinope Areocentric
+<50980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Mollweide AUTO Sinope Areographic
+<50981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson AUTO Sinope Areocentric
+<50982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# Robinson AUTO Sinope Areographic
+<50983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14000 +b=14000 +units=m +no_defs 
+# GEOGCS Lysithea Areocentric
+<51000> 	+proj=longlat +a=12000 +b=12000 +no_defs 
+# GEOGCS Lysithea Areographic
+<51001> 	+proj=longlat +a=12000 +b=12000 +no_defs 
+# Equirectangular Lysithea Areocentric, clon=0
+<51010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equirectangular Lysithea Areographic, clon=0
+<51011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equirectangular Lysithea Areocentric, clon=180
+<51012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equirectangular Lysithea Areographic, clon=180
+<51013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal Lysithea Areocentric, clon=0
+<51014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal Lysithea Areographic, clon=0
+<51015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal Lysithea Areocentric, clon=180
+<51016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal Lysithea Areographic, clon=180
+<51017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# North Polar Lysithea Areocentric, clon=0
+<51018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# North Polar Lysithea Areographic, clon=0
+<51019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# South Polar Lysithea Areocentric, clon=0
+<51020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# South Polar Lysithea Areographic, clon=0
+<51021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide Lysithea Areocentric, clon=0
+<51022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide Lysithea Areographic, clon=0
+<51023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide Lysithea Areocentric, clon=180
+<51024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide Lysithea Areographic, clon=180
+<51025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson Lysithea Areocentric, clon=0
+<51026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson Lysithea Areographic, clon=0
+<51027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson Lysithea Areocentric, clon=180
+<51028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson Lysithea Areographic, clon=180
+<51029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal AUTO Lysithea Areocentric
+<51060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Sinusoidal AUTO Lysithea Areographic
+<51061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Stereographic AUTO Lysithea Areocentric, clon=0
+<51062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Stereographic AUTO Lysithea Areographic, clon=0
+<51063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Transverse Mercator AUTO Lysithea Areocentric
+<51064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Transverse Mercator AUTO Lysithea Areographic
+<51065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Orthographic AUTO Lysithea Areocentric
+<51066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Orthographic AUTO Lysithea Areographic
+<51067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Lysithea Areocentric
+<51068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Lysithea Areographic
+<51069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Lysithea Areocentric
+<51070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Lysithea Areographic
+<51071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Lysithea Areocentric
+<51072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Lysithea Areographic
+<51073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mercator AUTO Lysithea Areocentric
+<51074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mercator AUTO Lysithea Areographic
+<51075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Albers AUTO Lysithea Areocentric
+<51076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Albers AUTO Lysithea Areographic
+<51077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide AUTO Lysithea Areocentric
+<51080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Mollweide AUTO Lysithea Areographic
+<51081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson AUTO Lysithea Areocentric
+<51082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# Robinson AUTO Lysithea Areographic
+<51083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12000 +b=12000 +units=m +no_defs 
+# GEOGCS Carme Areocentric
+<51100> 	+proj=longlat +a=15000 +b=15000 +no_defs 
+# GEOGCS Carme Areographic
+<51101> 	+proj=longlat +a=15000 +b=15000 +no_defs 
+# Equirectangular Carme Areocentric, clon=0
+<51110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Carme Areographic, clon=0
+<51111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Carme Areocentric, clon=180
+<51112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Carme Areographic, clon=180
+<51113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Carme Areocentric, clon=0
+<51114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Carme Areographic, clon=0
+<51115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Carme Areocentric, clon=180
+<51116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Carme Areographic, clon=180
+<51117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# North Polar Carme Areocentric, clon=0
+<51118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# North Polar Carme Areographic, clon=0
+<51119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# South Polar Carme Areocentric, clon=0
+<51120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# South Polar Carme Areographic, clon=0
+<51121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Carme Areocentric, clon=0
+<51122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Carme Areographic, clon=0
+<51123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Carme Areocentric, clon=180
+<51124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Carme Areographic, clon=180
+<51125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Carme Areocentric, clon=0
+<51126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Carme Areographic, clon=0
+<51127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Carme Areocentric, clon=180
+<51128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Carme Areographic, clon=180
+<51129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal AUTO Carme Areocentric
+<51160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal AUTO Carme Areographic
+<51161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Stereographic AUTO Carme Areocentric, clon=0
+<51162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Stereographic AUTO Carme Areographic, clon=0
+<51163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Transverse Mercator AUTO Carme Areocentric
+<51164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Transverse Mercator AUTO Carme Areographic
+<51165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Orthographic AUTO Carme Areocentric
+<51166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Orthographic AUTO Carme Areographic
+<51167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Carme Areocentric
+<51168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Carme Areographic
+<51169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Carme Areocentric
+<51170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Carme Areographic
+<51171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Carme Areocentric
+<51172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Carme Areographic
+<51173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mercator AUTO Carme Areocentric
+<51174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mercator AUTO Carme Areographic
+<51175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Albers AUTO Carme Areocentric
+<51176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Albers AUTO Carme Areographic
+<51177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide AUTO Carme Areocentric
+<51180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide AUTO Carme Areographic
+<51181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson AUTO Carme Areocentric
+<51182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson AUTO Carme Areographic
+<51183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# GEOGCS Ananke Areocentric
+<51200> 	+proj=longlat +a=10000 +b=10000 +no_defs 
+# GEOGCS Ananke Areographic
+<51201> 	+proj=longlat +a=10000 +b=10000 +no_defs 
+# Equirectangular Ananke Areocentric, clon=0
+<51210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Ananke Areographic, clon=0
+<51211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Ananke Areocentric, clon=180
+<51212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equirectangular Ananke Areographic, clon=180
+<51213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Ananke Areocentric, clon=0
+<51214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Ananke Areographic, clon=0
+<51215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Ananke Areocentric, clon=180
+<51216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal Ananke Areographic, clon=180
+<51217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# North Polar Ananke Areocentric, clon=0
+<51218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# North Polar Ananke Areographic, clon=0
+<51219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# South Polar Ananke Areocentric, clon=0
+<51220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# South Polar Ananke Areographic, clon=0
+<51221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Ananke Areocentric, clon=0
+<51222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Ananke Areographic, clon=0
+<51223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Ananke Areocentric, clon=180
+<51224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide Ananke Areographic, clon=180
+<51225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Ananke Areocentric, clon=0
+<51226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Ananke Areographic, clon=0
+<51227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Ananke Areocentric, clon=180
+<51228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson Ananke Areographic, clon=180
+<51229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal AUTO Ananke Areocentric
+<51260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Sinusoidal AUTO Ananke Areographic
+<51261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Stereographic AUTO Ananke Areocentric, clon=0
+<51262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Stereographic AUTO Ananke Areographic, clon=0
+<51263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Transverse Mercator AUTO Ananke Areocentric
+<51264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Transverse Mercator AUTO Ananke Areographic
+<51265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Orthographic AUTO Ananke Areocentric
+<51266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Orthographic AUTO Ananke Areographic
+<51267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ananke Areocentric
+<51268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ananke Areographic
+<51269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ananke Areocentric
+<51270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ananke Areographic
+<51271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ananke Areocentric
+<51272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ananke Areographic
+<51273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mercator AUTO Ananke Areocentric
+<51274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mercator AUTO Ananke Areographic
+<51275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Albers AUTO Ananke Areocentric
+<51276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Albers AUTO Ananke Areographic
+<51277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide AUTO Ananke Areocentric
+<51280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Mollweide AUTO Ananke Areographic
+<51281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson AUTO Ananke Areocentric
+<51282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# Robinson AUTO Ananke Areographic
+<51283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10000 +b=10000 +units=m +no_defs 
+# GEOGCS Leda Areocentric
+<51300> 	+proj=longlat +a=5000 +b=5000 +no_defs 
+# GEOGCS Leda Areographic
+<51301> 	+proj=longlat +a=5000 +b=5000 +no_defs 
+# Equirectangular Leda Areocentric, clon=0
+<51310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equirectangular Leda Areographic, clon=0
+<51311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equirectangular Leda Areocentric, clon=180
+<51312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equirectangular Leda Areographic, clon=180
+<51313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal Leda Areocentric, clon=0
+<51314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal Leda Areographic, clon=0
+<51315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal Leda Areocentric, clon=180
+<51316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal Leda Areographic, clon=180
+<51317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# North Polar Leda Areocentric, clon=0
+<51318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# North Polar Leda Areographic, clon=0
+<51319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# South Polar Leda Areocentric, clon=0
+<51320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# South Polar Leda Areographic, clon=0
+<51321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide Leda Areocentric, clon=0
+<51322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide Leda Areographic, clon=0
+<51323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide Leda Areocentric, clon=180
+<51324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide Leda Areographic, clon=180
+<51325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson Leda Areocentric, clon=0
+<51326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson Leda Areographic, clon=0
+<51327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson Leda Areocentric, clon=180
+<51328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson Leda Areographic, clon=180
+<51329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal AUTO Leda Areocentric
+<51360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Sinusoidal AUTO Leda Areographic
+<51361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Stereographic AUTO Leda Areocentric, clon=0
+<51362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Stereographic AUTO Leda Areographic, clon=0
+<51363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Transverse Mercator AUTO Leda Areocentric
+<51364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Transverse Mercator AUTO Leda Areographic
+<51365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Orthographic AUTO Leda Areocentric
+<51366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Orthographic AUTO Leda Areographic
+<51367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Leda Areocentric
+<51368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Leda Areographic
+<51369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Leda Areocentric
+<51370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Leda Areographic
+<51371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Leda Areocentric
+<51372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Leda Areographic
+<51373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mercator AUTO Leda Areocentric
+<51374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mercator AUTO Leda Areographic
+<51375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Albers AUTO Leda Areocentric
+<51376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Albers AUTO Leda Areographic
+<51377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide AUTO Leda Areocentric
+<51380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Mollweide AUTO Leda Areographic
+<51381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson AUTO Leda Areocentric
+<51382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# Robinson AUTO Leda Areographic
+<51383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=5000 +b=5000 +units=m +no_defs 
+# GEOGCS Thebe Areocentric
+<51400> 	+proj=longlat +a=49300 +b=49300 +no_defs 
+# GEOGCS Thebe Areographic
+<51401> 	+proj=longlat +a=49300 +b=49300 +no_defs 
+# Equirectangular Thebe Areocentric, clon=0
+<51410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equirectangular Thebe Areographic, clon=0
+<51411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equirectangular Thebe Areocentric, clon=180
+<51412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equirectangular Thebe Areographic, clon=180
+<51413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal Thebe Areocentric, clon=0
+<51414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal Thebe Areographic, clon=0
+<51415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal Thebe Areocentric, clon=180
+<51416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal Thebe Areographic, clon=180
+<51417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# North Polar Thebe Areocentric, clon=0
+<51418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# North Polar Thebe Areographic, clon=0
+<51419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# South Polar Thebe Areocentric, clon=0
+<51420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# South Polar Thebe Areographic, clon=0
+<51421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide Thebe Areocentric, clon=0
+<51422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide Thebe Areographic, clon=0
+<51423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide Thebe Areocentric, clon=180
+<51424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide Thebe Areographic, clon=180
+<51425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson Thebe Areocentric, clon=0
+<51426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson Thebe Areographic, clon=0
+<51427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson Thebe Areocentric, clon=180
+<51428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson Thebe Areographic, clon=180
+<51429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal AUTO Thebe Areocentric
+<51460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Sinusoidal AUTO Thebe Areographic
+<51461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Stereographic AUTO Thebe Areocentric, clon=0
+<51462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Stereographic AUTO Thebe Areographic, clon=0
+<51463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Transverse Mercator AUTO Thebe Areocentric
+<51464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Transverse Mercator AUTO Thebe Areographic
+<51465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Orthographic AUTO Thebe Areocentric
+<51466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Orthographic AUTO Thebe Areographic
+<51467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Thebe Areocentric
+<51468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Thebe Areographic
+<51469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Thebe Areocentric
+<51470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Thebe Areographic
+<51471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Thebe Areocentric
+<51472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Thebe Areographic
+<51473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mercator AUTO Thebe Areocentric
+<51474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mercator AUTO Thebe Areographic
+<51475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Albers AUTO Thebe Areocentric
+<51476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Albers AUTO Thebe Areographic
+<51477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide AUTO Thebe Areocentric
+<51480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Mollweide AUTO Thebe Areographic
+<51481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson AUTO Thebe Areocentric
+<51482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# Robinson AUTO Thebe Areographic
+<51483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=49300 +b=49300 +units=m +no_defs 
+# GEOGCS Adrastea Areocentric
+<51500> 	+proj=longlat +a=8200 +b=8200 +no_defs 
+# GEOGCS Adrastea Areographic
+<51501> 	+proj=longlat +a=8200 +b=8200 +no_defs 
+# Equirectangular Adrastea Areocentric, clon=0
+<51510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equirectangular Adrastea Areographic, clon=0
+<51511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equirectangular Adrastea Areocentric, clon=180
+<51512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equirectangular Adrastea Areographic, clon=180
+<51513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal Adrastea Areocentric, clon=0
+<51514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal Adrastea Areographic, clon=0
+<51515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal Adrastea Areocentric, clon=180
+<51516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal Adrastea Areographic, clon=180
+<51517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# North Polar Adrastea Areocentric, clon=0
+<51518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# North Polar Adrastea Areographic, clon=0
+<51519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# South Polar Adrastea Areocentric, clon=0
+<51520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# South Polar Adrastea Areographic, clon=0
+<51521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide Adrastea Areocentric, clon=0
+<51522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide Adrastea Areographic, clon=0
+<51523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide Adrastea Areocentric, clon=180
+<51524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide Adrastea Areographic, clon=180
+<51525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson Adrastea Areocentric, clon=0
+<51526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson Adrastea Areographic, clon=0
+<51527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson Adrastea Areocentric, clon=180
+<51528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson Adrastea Areographic, clon=180
+<51529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal AUTO Adrastea Areocentric
+<51560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Sinusoidal AUTO Adrastea Areographic
+<51561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Stereographic AUTO Adrastea Areocentric, clon=0
+<51562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Stereographic AUTO Adrastea Areographic, clon=0
+<51563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Transverse Mercator AUTO Adrastea Areocentric
+<51564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Transverse Mercator AUTO Adrastea Areographic
+<51565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Orthographic AUTO Adrastea Areocentric
+<51566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Orthographic AUTO Adrastea Areographic
+<51567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Adrastea Areocentric
+<51568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Adrastea Areographic
+<51569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Adrastea Areocentric
+<51570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Adrastea Areographic
+<51571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Adrastea Areocentric
+<51572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Adrastea Areographic
+<51573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mercator AUTO Adrastea Areocentric
+<51574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mercator AUTO Adrastea Areographic
+<51575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Albers AUTO Adrastea Areocentric
+<51576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Albers AUTO Adrastea Areographic
+<51577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide AUTO Adrastea Areocentric
+<51580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Mollweide AUTO Adrastea Areographic
+<51581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson AUTO Adrastea Areocentric
+<51582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# Robinson AUTO Adrastea Areographic
+<51583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8200 +b=8200 +units=m +no_defs 
+# GEOGCS Metis Areocentric
+<51600> 	+proj=longlat +a=21500 +b=21500 +no_defs 
+# GEOGCS Metis Areographic
+<51601> 	+proj=longlat +a=21500 +b=21500 +no_defs 
+# Equirectangular Metis Areocentric, clon=0
+<51610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equirectangular Metis Areographic, clon=0
+<51611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equirectangular Metis Areocentric, clon=180
+<51612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equirectangular Metis Areographic, clon=180
+<51613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal Metis Areocentric, clon=0
+<51614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal Metis Areographic, clon=0
+<51615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal Metis Areocentric, clon=180
+<51616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal Metis Areographic, clon=180
+<51617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# North Polar Metis Areocentric, clon=0
+<51618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# North Polar Metis Areographic, clon=0
+<51619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# South Polar Metis Areocentric, clon=0
+<51620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# South Polar Metis Areographic, clon=0
+<51621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide Metis Areocentric, clon=0
+<51622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide Metis Areographic, clon=0
+<51623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide Metis Areocentric, clon=180
+<51624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide Metis Areographic, clon=180
+<51625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson Metis Areocentric, clon=0
+<51626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson Metis Areographic, clon=0
+<51627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson Metis Areocentric, clon=180
+<51628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson Metis Areographic, clon=180
+<51629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal AUTO Metis Areocentric
+<51660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Sinusoidal AUTO Metis Areographic
+<51661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Stereographic AUTO Metis Areocentric, clon=0
+<51662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Stereographic AUTO Metis Areographic, clon=0
+<51663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Transverse Mercator AUTO Metis Areocentric
+<51664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Transverse Mercator AUTO Metis Areographic
+<51665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Orthographic AUTO Metis Areocentric
+<51666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Orthographic AUTO Metis Areographic
+<51667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Metis Areocentric
+<51668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Metis Areographic
+<51669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Metis Areocentric
+<51670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Metis Areographic
+<51671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Metis Areocentric
+<51672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Metis Areographic
+<51673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mercator AUTO Metis Areocentric
+<51674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mercator AUTO Metis Areographic
+<51675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Albers AUTO Metis Areocentric
+<51676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Albers AUTO Metis Areographic
+<51677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide AUTO Metis Areocentric
+<51680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Mollweide AUTO Metis Areographic
+<51681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson AUTO Metis Areocentric
+<51682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# Robinson AUTO Metis Areographic
+<51683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21500 +b=21500 +units=m +no_defs 
+# GEOGCS Saturn Areocentric
+<69900> 	+proj=longlat +a=60268000 +b=-554950145.8116413 +no_defs 
+# GEOGCS Saturn Areographic
+<69901> 	+proj=longlat +a=60268000 +b=-554950145.8116413 +no_defs 
+# Equirectangular Saturn Areocentric, clon=0
+<69910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equirectangular Saturn Areographic, clon=0
+<69911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equirectangular Saturn Areocentric, clon=180
+<69912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equirectangular Saturn Areographic, clon=180
+<69913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal Saturn Areocentric, clon=0
+<69914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal Saturn Areographic, clon=0
+<69915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal Saturn Areocentric, clon=180
+<69916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal Saturn Areographic, clon=180
+<69917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# North Polar Saturn Areocentric, clon=0
+<69918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# North Polar Saturn Areographic, clon=0
+<69919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# South Polar Saturn Areocentric, clon=0
+<69920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# South Polar Saturn Areographic, clon=0
+<69921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide Saturn Areocentric, clon=0
+<69922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide Saturn Areographic, clon=0
+<69923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide Saturn Areocentric, clon=180
+<69924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide Saturn Areographic, clon=180
+<69925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson Saturn Areocentric, clon=0
+<69926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson Saturn Areographic, clon=0
+<69927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson Saturn Areocentric, clon=180
+<69928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson Saturn Areographic, clon=180
+<69929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal AUTO Saturn Areocentric
+<69960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Sinusoidal AUTO Saturn Areographic
+<69961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Stereographic AUTO Saturn Areocentric, clon=0
+<69962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Stereographic AUTO Saturn Areographic, clon=0
+<69963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Transverse Mercator AUTO Saturn Areocentric
+<69964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Transverse Mercator AUTO Saturn Areographic
+<69965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Orthographic AUTO Saturn Areocentric
+<69966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Orthographic AUTO Saturn Areographic
+<69967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Saturn Areocentric
+<69968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Saturn Areographic
+<69969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Saturn Areocentric
+<69970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Saturn Areographic
+<69971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Saturn Areocentric
+<69972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Saturn Areographic
+<69973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mercator AUTO Saturn Areocentric
+<69974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mercator AUTO Saturn Areographic
+<69975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Albers AUTO Saturn Areocentric
+<69976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Albers AUTO Saturn Areographic
+<69977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide AUTO Saturn Areocentric
+<69980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Mollweide AUTO Saturn Areographic
+<69981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson AUTO Saturn Areocentric
+<69982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# Robinson AUTO Saturn Areographic
+<69983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=60268000 +b=-554950145.8116413 +units=m +no_defs 
+# GEOGCS Mimas Areocentric
+<60100> 	+proj=longlat +a=198200 +b=198200 +no_defs 
+# GEOGCS Mimas Areographic
+<60101> 	+proj=longlat +a=198200 +b=198200 +no_defs 
+# Equirectangular Mimas Areocentric, clon=0
+<60110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Equirectangular Mimas Areographic, clon=0
+<60111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Equirectangular Mimas Areocentric, clon=180
+<60112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Equirectangular Mimas Areographic, clon=180
+<60113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Sinusoidal Mimas Areocentric, clon=0
+<60114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Sinusoidal Mimas Areographic, clon=0
+<60115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Sinusoidal Mimas Areocentric, clon=180
+<60116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Sinusoidal Mimas Areographic, clon=180
+<60117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# North Polar Mimas Areocentric, clon=0
+<60118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# North Polar Mimas Areographic, clon=0
+<60119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# South Polar Mimas Areocentric, clon=0
+<60120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# South Polar Mimas Areographic, clon=0
+<60121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Mollweide Mimas Areocentric, clon=0
+<60122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Mollweide Mimas Areographic, clon=0
+<60123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Mollweide Mimas Areocentric, clon=180
+<60124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Mollweide Mimas Areographic, clon=180
+<60125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Robinson Mimas Areocentric, clon=0
+<60126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Robinson Mimas Areographic, clon=0
+<60127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Robinson Mimas Areocentric, clon=180
+<60128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Robinson Mimas Areographic, clon=180
+<60129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Sinusoidal AUTO Mimas Areocentric
+<60160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Sinusoidal AUTO Mimas Areographic
+<60161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Stereographic AUTO Mimas Areocentric, clon=0
+<60162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Stereographic AUTO Mimas Areographic, clon=0
+<60163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Transverse Mercator AUTO Mimas Areocentric
+<60164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Transverse Mercator AUTO Mimas Areographic
+<60165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Orthographic AUTO Mimas Areocentric
+<60166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Orthographic AUTO Mimas Areographic
+<60167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mimas Areocentric
+<60168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mimas Areographic
+<60169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mimas Areocentric
+<60170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mimas Areographic
+<60171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mimas Areocentric
+<60172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mimas Areographic
+<60173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Mercator AUTO Mimas Areocentric
+<60174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Mercator AUTO Mimas Areographic
+<60175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Albers AUTO Mimas Areocentric
+<60176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Albers AUTO Mimas Areographic
+<60177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Mollweide AUTO Mimas Areocentric
+<60180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Mollweide AUTO Mimas Areographic
+<60181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Robinson AUTO Mimas Areocentric
+<60182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# Robinson AUTO Mimas Areographic
+<60183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=198200 +b=198200 +units=m +no_defs 
+# GEOGCS Enceladus Areocentric
+<60200> 	+proj=longlat +a=252100 +b=252100 +no_defs 
+# GEOGCS Enceladus Areographic
+<60201> 	+proj=longlat +a=252100 +b=252100 +no_defs 
+# Equirectangular Enceladus Areocentric, clon=0
+<60210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Equirectangular Enceladus Areographic, clon=0
+<60211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Equirectangular Enceladus Areocentric, clon=180
+<60212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Equirectangular Enceladus Areographic, clon=180
+<60213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Sinusoidal Enceladus Areocentric, clon=0
+<60214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Sinusoidal Enceladus Areographic, clon=0
+<60215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Sinusoidal Enceladus Areocentric, clon=180
+<60216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Sinusoidal Enceladus Areographic, clon=180
+<60217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# North Polar Enceladus Areocentric, clon=0
+<60218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# North Polar Enceladus Areographic, clon=0
+<60219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# South Polar Enceladus Areocentric, clon=0
+<60220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# South Polar Enceladus Areographic, clon=0
+<60221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Mollweide Enceladus Areocentric, clon=0
+<60222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Mollweide Enceladus Areographic, clon=0
+<60223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Mollweide Enceladus Areocentric, clon=180
+<60224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Mollweide Enceladus Areographic, clon=180
+<60225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Robinson Enceladus Areocentric, clon=0
+<60226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Robinson Enceladus Areographic, clon=0
+<60227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Robinson Enceladus Areocentric, clon=180
+<60228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Robinson Enceladus Areographic, clon=180
+<60229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Sinusoidal AUTO Enceladus Areocentric
+<60260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Sinusoidal AUTO Enceladus Areographic
+<60261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Stereographic AUTO Enceladus Areocentric, clon=0
+<60262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Stereographic AUTO Enceladus Areographic, clon=0
+<60263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Transverse Mercator AUTO Enceladus Areocentric
+<60264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Transverse Mercator AUTO Enceladus Areographic
+<60265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Orthographic AUTO Enceladus Areocentric
+<60266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Orthographic AUTO Enceladus Areographic
+<60267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Enceladus Areocentric
+<60268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Enceladus Areographic
+<60269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Enceladus Areocentric
+<60270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Enceladus Areographic
+<60271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Enceladus Areocentric
+<60272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Enceladus Areographic
+<60273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Mercator AUTO Enceladus Areocentric
+<60274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Mercator AUTO Enceladus Areographic
+<60275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Albers AUTO Enceladus Areocentric
+<60276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Albers AUTO Enceladus Areographic
+<60277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Mollweide AUTO Enceladus Areocentric
+<60280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Mollweide AUTO Enceladus Areographic
+<60281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Robinson AUTO Enceladus Areocentric
+<60282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# Robinson AUTO Enceladus Areographic
+<60283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=252100 +b=252100 +units=m +no_defs 
+# GEOGCS Tethys Areocentric
+<60300> 	+proj=longlat +a=531000 +b=531000 +no_defs 
+# GEOGCS Tethys Areographic
+<60301> 	+proj=longlat +a=531000 +b=531000 +no_defs 
+# Equirectangular Tethys Areocentric, clon=0
+<60310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Equirectangular Tethys Areographic, clon=0
+<60311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Equirectangular Tethys Areocentric, clon=180
+<60312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Equirectangular Tethys Areographic, clon=180
+<60313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Sinusoidal Tethys Areocentric, clon=0
+<60314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Sinusoidal Tethys Areographic, clon=0
+<60315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Sinusoidal Tethys Areocentric, clon=180
+<60316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Sinusoidal Tethys Areographic, clon=180
+<60317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# North Polar Tethys Areocentric, clon=0
+<60318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# North Polar Tethys Areographic, clon=0
+<60319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# South Polar Tethys Areocentric, clon=0
+<60320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# South Polar Tethys Areographic, clon=0
+<60321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Mollweide Tethys Areocentric, clon=0
+<60322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Mollweide Tethys Areographic, clon=0
+<60323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Mollweide Tethys Areocentric, clon=180
+<60324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Mollweide Tethys Areographic, clon=180
+<60325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Robinson Tethys Areocentric, clon=0
+<60326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Robinson Tethys Areographic, clon=0
+<60327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Robinson Tethys Areocentric, clon=180
+<60328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Robinson Tethys Areographic, clon=180
+<60329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Sinusoidal AUTO Tethys Areocentric
+<60360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Sinusoidal AUTO Tethys Areographic
+<60361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Stereographic AUTO Tethys Areocentric, clon=0
+<60362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Stereographic AUTO Tethys Areographic, clon=0
+<60363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Transverse Mercator AUTO Tethys Areocentric
+<60364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Transverse Mercator AUTO Tethys Areographic
+<60365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Orthographic AUTO Tethys Areocentric
+<60366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Orthographic AUTO Tethys Areographic
+<60367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Tethys Areocentric
+<60368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Tethys Areographic
+<60369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Tethys Areocentric
+<60370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Tethys Areographic
+<60371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Tethys Areocentric
+<60372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Tethys Areographic
+<60373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Mercator AUTO Tethys Areocentric
+<60374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Mercator AUTO Tethys Areographic
+<60375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Albers AUTO Tethys Areocentric
+<60376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Albers AUTO Tethys Areographic
+<60377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Mollweide AUTO Tethys Areocentric
+<60380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Mollweide AUTO Tethys Areographic
+<60381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Robinson AUTO Tethys Areocentric
+<60382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# Robinson AUTO Tethys Areographic
+<60383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=531000 +b=531000 +units=m +no_defs 
+# GEOGCS Dione Areocentric
+<60400> 	+proj=longlat +a=561400 +b=561400 +no_defs 
+# GEOGCS Dione Areographic
+<60401> 	+proj=longlat +a=561400 +b=561400 +no_defs 
+# Equirectangular Dione Areocentric, clon=0
+<60410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Equirectangular Dione Areographic, clon=0
+<60411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Equirectangular Dione Areocentric, clon=180
+<60412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Equirectangular Dione Areographic, clon=180
+<60413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Sinusoidal Dione Areocentric, clon=0
+<60414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Sinusoidal Dione Areographic, clon=0
+<60415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Sinusoidal Dione Areocentric, clon=180
+<60416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Sinusoidal Dione Areographic, clon=180
+<60417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# North Polar Dione Areocentric, clon=0
+<60418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# North Polar Dione Areographic, clon=0
+<60419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# South Polar Dione Areocentric, clon=0
+<60420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# South Polar Dione Areographic, clon=0
+<60421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Mollweide Dione Areocentric, clon=0
+<60422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Mollweide Dione Areographic, clon=0
+<60423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Mollweide Dione Areocentric, clon=180
+<60424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Mollweide Dione Areographic, clon=180
+<60425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Robinson Dione Areocentric, clon=0
+<60426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Robinson Dione Areographic, clon=0
+<60427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Robinson Dione Areocentric, clon=180
+<60428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Robinson Dione Areographic, clon=180
+<60429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Sinusoidal AUTO Dione Areocentric
+<60460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Sinusoidal AUTO Dione Areographic
+<60461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Stereographic AUTO Dione Areocentric, clon=0
+<60462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Stereographic AUTO Dione Areographic, clon=0
+<60463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Transverse Mercator AUTO Dione Areocentric
+<60464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Transverse Mercator AUTO Dione Areographic
+<60465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Orthographic AUTO Dione Areocentric
+<60466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Orthographic AUTO Dione Areographic
+<60467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Dione Areocentric
+<60468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Dione Areographic
+<60469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Dione Areocentric
+<60470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Dione Areographic
+<60471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Dione Areocentric
+<60472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Dione Areographic
+<60473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Mercator AUTO Dione Areocentric
+<60474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Mercator AUTO Dione Areographic
+<60475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Albers AUTO Dione Areocentric
+<60476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Albers AUTO Dione Areographic
+<60477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Mollweide AUTO Dione Areocentric
+<60480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Mollweide AUTO Dione Areographic
+<60481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Robinson AUTO Dione Areocentric
+<60482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# Robinson AUTO Dione Areographic
+<60483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=561400 +b=561400 +units=m +no_defs 
+# GEOGCS Rhea Areocentric
+<60500> 	+proj=longlat +a=763500 +b=763500 +no_defs 
+# GEOGCS Rhea Areographic
+<60501> 	+proj=longlat +a=763500 +b=763500 +no_defs 
+# Equirectangular Rhea Areocentric, clon=0
+<60510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Equirectangular Rhea Areographic, clon=0
+<60511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Equirectangular Rhea Areocentric, clon=180
+<60512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Equirectangular Rhea Areographic, clon=180
+<60513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Sinusoidal Rhea Areocentric, clon=0
+<60514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Sinusoidal Rhea Areographic, clon=0
+<60515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Sinusoidal Rhea Areocentric, clon=180
+<60516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Sinusoidal Rhea Areographic, clon=180
+<60517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# North Polar Rhea Areocentric, clon=0
+<60518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# North Polar Rhea Areographic, clon=0
+<60519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# South Polar Rhea Areocentric, clon=0
+<60520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# South Polar Rhea Areographic, clon=0
+<60521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Mollweide Rhea Areocentric, clon=0
+<60522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Mollweide Rhea Areographic, clon=0
+<60523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Mollweide Rhea Areocentric, clon=180
+<60524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Mollweide Rhea Areographic, clon=180
+<60525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Robinson Rhea Areocentric, clon=0
+<60526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Robinson Rhea Areographic, clon=0
+<60527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Robinson Rhea Areocentric, clon=180
+<60528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Robinson Rhea Areographic, clon=180
+<60529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Sinusoidal AUTO Rhea Areocentric
+<60560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Sinusoidal AUTO Rhea Areographic
+<60561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Stereographic AUTO Rhea Areocentric, clon=0
+<60562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Stereographic AUTO Rhea Areographic, clon=0
+<60563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Transverse Mercator AUTO Rhea Areocentric
+<60564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Transverse Mercator AUTO Rhea Areographic
+<60565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Orthographic AUTO Rhea Areocentric
+<60566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Orthographic AUTO Rhea Areographic
+<60567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Rhea Areocentric
+<60568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Rhea Areographic
+<60569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Rhea Areocentric
+<60570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Rhea Areographic
+<60571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Rhea Areocentric
+<60572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Rhea Areographic
+<60573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Mercator AUTO Rhea Areocentric
+<60574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Mercator AUTO Rhea Areographic
+<60575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Albers AUTO Rhea Areocentric
+<60576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Albers AUTO Rhea Areographic
+<60577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Mollweide AUTO Rhea Areocentric
+<60580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Mollweide AUTO Rhea Areographic
+<60581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Robinson AUTO Rhea Areocentric
+<60582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# Robinson AUTO Rhea Areographic
+<60583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=763500 +b=763500 +units=m +no_defs 
+# GEOGCS Titan Areocentric
+<60600> 	+proj=longlat +a=2574730 +b=2574730 +no_defs 
+# GEOGCS Titan Areographic
+<60601> 	+proj=longlat +a=2574730 +b=2574730 +no_defs 
+# Equirectangular Titan Areocentric, clon=0
+<60610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Equirectangular Titan Areographic, clon=0
+<60611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Equirectangular Titan Areocentric, clon=180
+<60612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Equirectangular Titan Areographic, clon=180
+<60613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Sinusoidal Titan Areocentric, clon=0
+<60614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Sinusoidal Titan Areographic, clon=0
+<60615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Sinusoidal Titan Areocentric, clon=180
+<60616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Sinusoidal Titan Areographic, clon=180
+<60617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# North Polar Titan Areocentric, clon=0
+<60618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# North Polar Titan Areographic, clon=0
+<60619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# South Polar Titan Areocentric, clon=0
+<60620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# South Polar Titan Areographic, clon=0
+<60621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Mollweide Titan Areocentric, clon=0
+<60622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Mollweide Titan Areographic, clon=0
+<60623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Mollweide Titan Areocentric, clon=180
+<60624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Mollweide Titan Areographic, clon=180
+<60625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Robinson Titan Areocentric, clon=0
+<60626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Robinson Titan Areographic, clon=0
+<60627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Robinson Titan Areocentric, clon=180
+<60628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Robinson Titan Areographic, clon=180
+<60629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Sinusoidal AUTO Titan Areocentric
+<60660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Sinusoidal AUTO Titan Areographic
+<60661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Stereographic AUTO Titan Areocentric, clon=0
+<60662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Stereographic AUTO Titan Areographic, clon=0
+<60663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Transverse Mercator AUTO Titan Areocentric
+<60664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Transverse Mercator AUTO Titan Areographic
+<60665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Orthographic AUTO Titan Areocentric
+<60666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Orthographic AUTO Titan Areographic
+<60667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Titan Areocentric
+<60668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Titan Areographic
+<60669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Titan Areocentric
+<60670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Titan Areographic
+<60671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Titan Areocentric
+<60672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Titan Areographic
+<60673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Mercator AUTO Titan Areocentric
+<60674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Mercator AUTO Titan Areographic
+<60675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Albers AUTO Titan Areocentric
+<60676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Albers AUTO Titan Areographic
+<60677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Mollweide AUTO Titan Areocentric
+<60680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Mollweide AUTO Titan Areographic
+<60681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Robinson AUTO Titan Areocentric
+<60682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# Robinson AUTO Titan Areographic
+<60683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2574730 +b=2574730 +units=m +no_defs 
+# GEOGCS Hyperion Areocentric
+<60700> 	+proj=longlat +a=135000 +b=135000 +no_defs 
+# GEOGCS Hyperion Areographic
+<60701> 	+proj=longlat +a=135000 +b=135000 +no_defs 
+# Equirectangular Hyperion Areocentric, clon=0
+<60710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Equirectangular Hyperion Areographic, clon=0
+<60711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Equirectangular Hyperion Areocentric, clon=180
+<60712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Equirectangular Hyperion Areographic, clon=180
+<60713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Sinusoidal Hyperion Areocentric, clon=0
+<60714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Sinusoidal Hyperion Areographic, clon=0
+<60715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Sinusoidal Hyperion Areocentric, clon=180
+<60716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Sinusoidal Hyperion Areographic, clon=180
+<60717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# North Polar Hyperion Areocentric, clon=0
+<60718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# North Polar Hyperion Areographic, clon=0
+<60719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# South Polar Hyperion Areocentric, clon=0
+<60720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# South Polar Hyperion Areographic, clon=0
+<60721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Mollweide Hyperion Areocentric, clon=0
+<60722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Mollweide Hyperion Areographic, clon=0
+<60723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Mollweide Hyperion Areocentric, clon=180
+<60724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Mollweide Hyperion Areographic, clon=180
+<60725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Robinson Hyperion Areocentric, clon=0
+<60726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Robinson Hyperion Areographic, clon=0
+<60727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Robinson Hyperion Areocentric, clon=180
+<60728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Robinson Hyperion Areographic, clon=180
+<60729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Sinusoidal AUTO Hyperion Areocentric
+<60760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Sinusoidal AUTO Hyperion Areographic
+<60761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Stereographic AUTO Hyperion Areocentric, clon=0
+<60762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Stereographic AUTO Hyperion Areographic, clon=0
+<60763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Transverse Mercator AUTO Hyperion Areocentric
+<60764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Transverse Mercator AUTO Hyperion Areographic
+<60765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Orthographic AUTO Hyperion Areocentric
+<60766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Orthographic AUTO Hyperion Areographic
+<60767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Hyperion Areocentric
+<60768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Hyperion Areographic
+<60769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Hyperion Areocentric
+<60770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Hyperion Areographic
+<60771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Hyperion Areocentric
+<60772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Hyperion Areographic
+<60773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Mercator AUTO Hyperion Areocentric
+<60774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Mercator AUTO Hyperion Areographic
+<60775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Albers AUTO Hyperion Areocentric
+<60776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Albers AUTO Hyperion Areographic
+<60777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Mollweide AUTO Hyperion Areocentric
+<60780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Mollweide AUTO Hyperion Areographic
+<60781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Robinson AUTO Hyperion Areocentric
+<60782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# Robinson AUTO Hyperion Areographic
+<60783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=135000 +b=135000 +units=m +no_defs 
+# GEOGCS Iapetus Areocentric
+<60800> 	+proj=longlat +a=745700 +b=-15804080.28319055 +no_defs 
+# GEOGCS Iapetus Areographic
+<60801> 	+proj=longlat +a=745700 +b=-15804080.28319055 +no_defs 
+# Equirectangular Iapetus Areocentric, clon=0
+<60810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Equirectangular Iapetus Areographic, clon=0
+<60811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Equirectangular Iapetus Areocentric, clon=180
+<60812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Equirectangular Iapetus Areographic, clon=180
+<60813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Sinusoidal Iapetus Areocentric, clon=0
+<60814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Sinusoidal Iapetus Areographic, clon=0
+<60815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Sinusoidal Iapetus Areocentric, clon=180
+<60816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Sinusoidal Iapetus Areographic, clon=180
+<60817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# North Polar Iapetus Areocentric, clon=0
+<60818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# North Polar Iapetus Areographic, clon=0
+<60819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# South Polar Iapetus Areocentric, clon=0
+<60820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# South Polar Iapetus Areographic, clon=0
+<60821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Mollweide Iapetus Areocentric, clon=0
+<60822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Mollweide Iapetus Areographic, clon=0
+<60823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Mollweide Iapetus Areocentric, clon=180
+<60824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Mollweide Iapetus Areographic, clon=180
+<60825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Robinson Iapetus Areocentric, clon=0
+<60826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Robinson Iapetus Areographic, clon=0
+<60827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Robinson Iapetus Areocentric, clon=180
+<60828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Robinson Iapetus Areographic, clon=180
+<60829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Sinusoidal AUTO Iapetus Areocentric
+<60860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Sinusoidal AUTO Iapetus Areographic
+<60861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Stereographic AUTO Iapetus Areocentric, clon=0
+<60862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Stereographic AUTO Iapetus Areographic, clon=0
+<60863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Transverse Mercator AUTO Iapetus Areocentric
+<60864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Transverse Mercator AUTO Iapetus Areographic
+<60865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Orthographic AUTO Iapetus Areocentric
+<60866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Orthographic AUTO Iapetus Areographic
+<60867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Iapetus Areocentric
+<60868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Iapetus Areographic
+<60869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Iapetus Areocentric
+<60870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Iapetus Areographic
+<60871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Iapetus Areocentric
+<60872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Iapetus Areographic
+<60873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Mercator AUTO Iapetus Areocentric
+<60874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Mercator AUTO Iapetus Areographic
+<60875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Albers AUTO Iapetus Areocentric
+<60876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Albers AUTO Iapetus Areographic
+<60877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Mollweide AUTO Iapetus Areocentric
+<60880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Mollweide AUTO Iapetus Areographic
+<60881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Robinson AUTO Iapetus Areocentric
+<60882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# Robinson AUTO Iapetus Areographic
+<60883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=745700 +b=-15804080.28319055 +units=m +no_defs 
+# GEOGCS Phoebe Areocentric
+<60900> 	+proj=longlat +a=106500 +b=106500 +no_defs 
+# GEOGCS Phoebe Areographic
+<60901> 	+proj=longlat +a=106500 +b=106500 +no_defs 
+# Equirectangular Phoebe Areocentric, clon=0
+<60910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Equirectangular Phoebe Areographic, clon=0
+<60911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Equirectangular Phoebe Areocentric, clon=180
+<60912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Equirectangular Phoebe Areographic, clon=180
+<60913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Sinusoidal Phoebe Areocentric, clon=0
+<60914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Sinusoidal Phoebe Areographic, clon=0
+<60915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Sinusoidal Phoebe Areocentric, clon=180
+<60916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Sinusoidal Phoebe Areographic, clon=180
+<60917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# North Polar Phoebe Areocentric, clon=0
+<60918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# North Polar Phoebe Areographic, clon=0
+<60919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# South Polar Phoebe Areocentric, clon=0
+<60920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# South Polar Phoebe Areographic, clon=0
+<60921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Mollweide Phoebe Areocentric, clon=0
+<60922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Mollweide Phoebe Areographic, clon=0
+<60923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Mollweide Phoebe Areocentric, clon=180
+<60924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Mollweide Phoebe Areographic, clon=180
+<60925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Robinson Phoebe Areocentric, clon=0
+<60926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Robinson Phoebe Areographic, clon=0
+<60927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Robinson Phoebe Areocentric, clon=180
+<60928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Robinson Phoebe Areographic, clon=180
+<60929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Sinusoidal AUTO Phoebe Areocentric
+<60960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Sinusoidal AUTO Phoebe Areographic
+<60961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Stereographic AUTO Phoebe Areocentric, clon=0
+<60962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Stereographic AUTO Phoebe Areographic, clon=0
+<60963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Transverse Mercator AUTO Phoebe Areocentric
+<60964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Transverse Mercator AUTO Phoebe Areographic
+<60965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Orthographic AUTO Phoebe Areocentric
+<60966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Orthographic AUTO Phoebe Areographic
+<60967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Phoebe Areocentric
+<60968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Phoebe Areographic
+<60969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Phoebe Areocentric
+<60970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Phoebe Areographic
+<60971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Phoebe Areocentric
+<60972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Phoebe Areographic
+<60973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Mercator AUTO Phoebe Areocentric
+<60974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Mercator AUTO Phoebe Areographic
+<60975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Albers AUTO Phoebe Areocentric
+<60976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Albers AUTO Phoebe Areographic
+<60977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Mollweide AUTO Phoebe Areocentric
+<60980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Mollweide AUTO Phoebe Areographic
+<60981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Robinson AUTO Phoebe Areocentric
+<60982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# Robinson AUTO Phoebe Areographic
+<60983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=106500 +b=106500 +units=m +no_defs 
+# GEOGCS Janus Areocentric
+<61000> 	+proj=longlat +a=89500 +b=89500 +no_defs 
+# GEOGCS Janus Areographic
+<61001> 	+proj=longlat +a=89500 +b=89500 +no_defs 
+# Equirectangular Janus Areocentric, clon=0
+<61010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Equirectangular Janus Areographic, clon=0
+<61011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Equirectangular Janus Areocentric, clon=180
+<61012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Equirectangular Janus Areographic, clon=180
+<61013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Sinusoidal Janus Areocentric, clon=0
+<61014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Sinusoidal Janus Areographic, clon=0
+<61015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Sinusoidal Janus Areocentric, clon=180
+<61016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Sinusoidal Janus Areographic, clon=180
+<61017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# North Polar Janus Areocentric, clon=0
+<61018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# North Polar Janus Areographic, clon=0
+<61019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# South Polar Janus Areocentric, clon=0
+<61020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# South Polar Janus Areographic, clon=0
+<61021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Mollweide Janus Areocentric, clon=0
+<61022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Mollweide Janus Areographic, clon=0
+<61023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Mollweide Janus Areocentric, clon=180
+<61024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Mollweide Janus Areographic, clon=180
+<61025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Robinson Janus Areocentric, clon=0
+<61026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Robinson Janus Areographic, clon=0
+<61027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Robinson Janus Areocentric, clon=180
+<61028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Robinson Janus Areographic, clon=180
+<61029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Sinusoidal AUTO Janus Areocentric
+<61060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Sinusoidal AUTO Janus Areographic
+<61061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Stereographic AUTO Janus Areocentric, clon=0
+<61062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Stereographic AUTO Janus Areographic, clon=0
+<61063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Transverse Mercator AUTO Janus Areocentric
+<61064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Transverse Mercator AUTO Janus Areographic
+<61065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Orthographic AUTO Janus Areocentric
+<61066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Orthographic AUTO Janus Areographic
+<61067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Janus Areocentric
+<61068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Janus Areographic
+<61069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Janus Areocentric
+<61070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Janus Areographic
+<61071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Janus Areocentric
+<61072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Janus Areographic
+<61073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Mercator AUTO Janus Areocentric
+<61074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Mercator AUTO Janus Areographic
+<61075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Albers AUTO Janus Areocentric
+<61076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Albers AUTO Janus Areographic
+<61077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Mollweide AUTO Janus Areocentric
+<61080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Mollweide AUTO Janus Areographic
+<61081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Robinson AUTO Janus Areocentric
+<61082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# Robinson AUTO Janus Areographic
+<61083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=89500 +b=89500 +units=m +no_defs 
+# GEOGCS Epimetheus Areocentric
+<61100> 	+proj=longlat +a=58100 +b=58100 +no_defs 
+# GEOGCS Epimetheus Areographic
+<61101> 	+proj=longlat +a=58100 +b=58100 +no_defs 
+# Equirectangular Epimetheus Areocentric, clon=0
+<61110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Equirectangular Epimetheus Areographic, clon=0
+<61111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Equirectangular Epimetheus Areocentric, clon=180
+<61112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Equirectangular Epimetheus Areographic, clon=180
+<61113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Sinusoidal Epimetheus Areocentric, clon=0
+<61114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Sinusoidal Epimetheus Areographic, clon=0
+<61115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Sinusoidal Epimetheus Areocentric, clon=180
+<61116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Sinusoidal Epimetheus Areographic, clon=180
+<61117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# North Polar Epimetheus Areocentric, clon=0
+<61118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# North Polar Epimetheus Areographic, clon=0
+<61119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# South Polar Epimetheus Areocentric, clon=0
+<61120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# South Polar Epimetheus Areographic, clon=0
+<61121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Mollweide Epimetheus Areocentric, clon=0
+<61122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Mollweide Epimetheus Areographic, clon=0
+<61123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Mollweide Epimetheus Areocentric, clon=180
+<61124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Mollweide Epimetheus Areographic, clon=180
+<61125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Robinson Epimetheus Areocentric, clon=0
+<61126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Robinson Epimetheus Areographic, clon=0
+<61127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Robinson Epimetheus Areocentric, clon=180
+<61128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Robinson Epimetheus Areographic, clon=180
+<61129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Sinusoidal AUTO Epimetheus Areocentric
+<61160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Sinusoidal AUTO Epimetheus Areographic
+<61161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Stereographic AUTO Epimetheus Areocentric, clon=0
+<61162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Stereographic AUTO Epimetheus Areographic, clon=0
+<61163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Transverse Mercator AUTO Epimetheus Areocentric
+<61164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Transverse Mercator AUTO Epimetheus Areographic
+<61165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Orthographic AUTO Epimetheus Areocentric
+<61166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Orthographic AUTO Epimetheus Areographic
+<61167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Epimetheus Areocentric
+<61168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Epimetheus Areographic
+<61169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Epimetheus Areocentric
+<61170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Epimetheus Areographic
+<61171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Epimetheus Areocentric
+<61172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Epimetheus Areographic
+<61173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Mercator AUTO Epimetheus Areocentric
+<61174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Mercator AUTO Epimetheus Areographic
+<61175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Albers AUTO Epimetheus Areocentric
+<61176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Albers AUTO Epimetheus Areographic
+<61177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Mollweide AUTO Epimetheus Areocentric
+<61180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Mollweide AUTO Epimetheus Areographic
+<61181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Robinson AUTO Epimetheus Areocentric
+<61182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# Robinson AUTO Epimetheus Areographic
+<61183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=58100 +b=58100 +units=m +no_defs 
+# GEOGCS Helene Areocentric
+<61200> 	+proj=longlat +a=17600 +b=17600 +no_defs 
+# GEOGCS Helene Areographic
+<61201> 	+proj=longlat +a=17600 +b=17600 +no_defs 
+# Equirectangular Helene Areocentric, clon=0
+<61210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Equirectangular Helene Areographic, clon=0
+<61211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Equirectangular Helene Areocentric, clon=180
+<61212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Equirectangular Helene Areographic, clon=180
+<61213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Sinusoidal Helene Areocentric, clon=0
+<61214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Sinusoidal Helene Areographic, clon=0
+<61215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Sinusoidal Helene Areocentric, clon=180
+<61216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Sinusoidal Helene Areographic, clon=180
+<61217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# North Polar Helene Areocentric, clon=0
+<61218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# North Polar Helene Areographic, clon=0
+<61219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# South Polar Helene Areocentric, clon=0
+<61220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# South Polar Helene Areographic, clon=0
+<61221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Mollweide Helene Areocentric, clon=0
+<61222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Mollweide Helene Areographic, clon=0
+<61223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Mollweide Helene Areocentric, clon=180
+<61224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Mollweide Helene Areographic, clon=180
+<61225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Robinson Helene Areocentric, clon=0
+<61226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Robinson Helene Areographic, clon=0
+<61227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Robinson Helene Areocentric, clon=180
+<61228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Robinson Helene Areographic, clon=180
+<61229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Sinusoidal AUTO Helene Areocentric
+<61260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Sinusoidal AUTO Helene Areographic
+<61261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Stereographic AUTO Helene Areocentric, clon=0
+<61262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Stereographic AUTO Helene Areographic, clon=0
+<61263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Transverse Mercator AUTO Helene Areocentric
+<61264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Transverse Mercator AUTO Helene Areographic
+<61265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Orthographic AUTO Helene Areocentric
+<61266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Orthographic AUTO Helene Areographic
+<61267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Helene Areocentric
+<61268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Helene Areographic
+<61269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Helene Areocentric
+<61270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Helene Areographic
+<61271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Helene Areocentric
+<61272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Helene Areographic
+<61273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Mercator AUTO Helene Areocentric
+<61274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Mercator AUTO Helene Areographic
+<61275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Albers AUTO Helene Areocentric
+<61276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Albers AUTO Helene Areographic
+<61277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Mollweide AUTO Helene Areocentric
+<61280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Mollweide AUTO Helene Areographic
+<61281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Robinson AUTO Helene Areocentric
+<61282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# Robinson AUTO Helene Areographic
+<61283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=17600 +b=17600 +units=m +no_defs 
+# GEOGCS Telesto Areocentric
+<61300> 	+proj=longlat +a=12400 +b=12400 +no_defs 
+# GEOGCS Telesto Areographic
+<61301> 	+proj=longlat +a=12400 +b=12400 +no_defs 
+# Equirectangular Telesto Areocentric, clon=0
+<61310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Equirectangular Telesto Areographic, clon=0
+<61311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Equirectangular Telesto Areocentric, clon=180
+<61312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Equirectangular Telesto Areographic, clon=180
+<61313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Sinusoidal Telesto Areocentric, clon=0
+<61314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Sinusoidal Telesto Areographic, clon=0
+<61315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Sinusoidal Telesto Areocentric, clon=180
+<61316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Sinusoidal Telesto Areographic, clon=180
+<61317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# North Polar Telesto Areocentric, clon=0
+<61318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# North Polar Telesto Areographic, clon=0
+<61319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# South Polar Telesto Areocentric, clon=0
+<61320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# South Polar Telesto Areographic, clon=0
+<61321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Mollweide Telesto Areocentric, clon=0
+<61322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Mollweide Telesto Areographic, clon=0
+<61323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Mollweide Telesto Areocentric, clon=180
+<61324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Mollweide Telesto Areographic, clon=180
+<61325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Robinson Telesto Areocentric, clon=0
+<61326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Robinson Telesto Areographic, clon=0
+<61327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Robinson Telesto Areocentric, clon=180
+<61328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Robinson Telesto Areographic, clon=180
+<61329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Sinusoidal AUTO Telesto Areocentric
+<61360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Sinusoidal AUTO Telesto Areographic
+<61361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Stereographic AUTO Telesto Areocentric, clon=0
+<61362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Stereographic AUTO Telesto Areographic, clon=0
+<61363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Transverse Mercator AUTO Telesto Areocentric
+<61364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Transverse Mercator AUTO Telesto Areographic
+<61365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Orthographic AUTO Telesto Areocentric
+<61366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Orthographic AUTO Telesto Areographic
+<61367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Telesto Areocentric
+<61368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Telesto Areographic
+<61369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Telesto Areocentric
+<61370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Telesto Areographic
+<61371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Telesto Areocentric
+<61372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Telesto Areographic
+<61373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Mercator AUTO Telesto Areocentric
+<61374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Mercator AUTO Telesto Areographic
+<61375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Albers AUTO Telesto Areocentric
+<61376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Albers AUTO Telesto Areographic
+<61377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Mollweide AUTO Telesto Areocentric
+<61380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Mollweide AUTO Telesto Areographic
+<61381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Robinson AUTO Telesto Areocentric
+<61382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# Robinson AUTO Telesto Areographic
+<61383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=12400 +b=12400 +units=m +no_defs 
+# GEOGCS Calypso Areocentric
+<61400> 	+proj=longlat +a=10700 +b=10700 +no_defs 
+# GEOGCS Calypso Areographic
+<61401> 	+proj=longlat +a=10700 +b=10700 +no_defs 
+# Equirectangular Calypso Areocentric, clon=0
+<61410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Equirectangular Calypso Areographic, clon=0
+<61411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Equirectangular Calypso Areocentric, clon=180
+<61412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Equirectangular Calypso Areographic, clon=180
+<61413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Sinusoidal Calypso Areocentric, clon=0
+<61414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Sinusoidal Calypso Areographic, clon=0
+<61415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Sinusoidal Calypso Areocentric, clon=180
+<61416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Sinusoidal Calypso Areographic, clon=180
+<61417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# North Polar Calypso Areocentric, clon=0
+<61418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# North Polar Calypso Areographic, clon=0
+<61419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# South Polar Calypso Areocentric, clon=0
+<61420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# South Polar Calypso Areographic, clon=0
+<61421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Mollweide Calypso Areocentric, clon=0
+<61422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Mollweide Calypso Areographic, clon=0
+<61423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Mollweide Calypso Areocentric, clon=180
+<61424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Mollweide Calypso Areographic, clon=180
+<61425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Robinson Calypso Areocentric, clon=0
+<61426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Robinson Calypso Areographic, clon=0
+<61427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Robinson Calypso Areocentric, clon=180
+<61428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Robinson Calypso Areographic, clon=180
+<61429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Sinusoidal AUTO Calypso Areocentric
+<61460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Sinusoidal AUTO Calypso Areographic
+<61461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Stereographic AUTO Calypso Areocentric, clon=0
+<61462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Stereographic AUTO Calypso Areographic, clon=0
+<61463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Transverse Mercator AUTO Calypso Areocentric
+<61464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Transverse Mercator AUTO Calypso Areographic
+<61465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Orthographic AUTO Calypso Areocentric
+<61466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Orthographic AUTO Calypso Areographic
+<61467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Calypso Areocentric
+<61468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Calypso Areographic
+<61469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Calypso Areocentric
+<61470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Calypso Areographic
+<61471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Calypso Areocentric
+<61472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Calypso Areographic
+<61473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Mercator AUTO Calypso Areocentric
+<61474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Mercator AUTO Calypso Areographic
+<61475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Albers AUTO Calypso Areocentric
+<61476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Albers AUTO Calypso Areographic
+<61477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Mollweide AUTO Calypso Areocentric
+<61480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Mollweide AUTO Calypso Areographic
+<61481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Robinson AUTO Calypso Areocentric
+<61482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# Robinson AUTO Calypso Areographic
+<61483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=10700 +b=10700 +units=m +no_defs 
+# GEOGCS Atlas Areocentric
+<61500> 	+proj=longlat +a=15100 +b=15100 +no_defs 
+# GEOGCS Atlas Areographic
+<61501> 	+proj=longlat +a=15100 +b=15100 +no_defs 
+# Equirectangular Atlas Areocentric, clon=0
+<61510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Equirectangular Atlas Areographic, clon=0
+<61511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Equirectangular Atlas Areocentric, clon=180
+<61512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Equirectangular Atlas Areographic, clon=180
+<61513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Sinusoidal Atlas Areocentric, clon=0
+<61514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Sinusoidal Atlas Areographic, clon=0
+<61515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Sinusoidal Atlas Areocentric, clon=180
+<61516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Sinusoidal Atlas Areographic, clon=180
+<61517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# North Polar Atlas Areocentric, clon=0
+<61518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# North Polar Atlas Areographic, clon=0
+<61519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# South Polar Atlas Areocentric, clon=0
+<61520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# South Polar Atlas Areographic, clon=0
+<61521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Mollweide Atlas Areocentric, clon=0
+<61522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Mollweide Atlas Areographic, clon=0
+<61523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Mollweide Atlas Areocentric, clon=180
+<61524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Mollweide Atlas Areographic, clon=180
+<61525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Robinson Atlas Areocentric, clon=0
+<61526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Robinson Atlas Areographic, clon=0
+<61527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Robinson Atlas Areocentric, clon=180
+<61528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Robinson Atlas Areographic, clon=180
+<61529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Sinusoidal AUTO Atlas Areocentric
+<61560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Sinusoidal AUTO Atlas Areographic
+<61561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Stereographic AUTO Atlas Areocentric, clon=0
+<61562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Stereographic AUTO Atlas Areographic, clon=0
+<61563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Transverse Mercator AUTO Atlas Areocentric
+<61564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Transverse Mercator AUTO Atlas Areographic
+<61565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Orthographic AUTO Atlas Areocentric
+<61566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Orthographic AUTO Atlas Areographic
+<61567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Atlas Areocentric
+<61568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Atlas Areographic
+<61569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Atlas Areocentric
+<61570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Atlas Areographic
+<61571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Atlas Areocentric
+<61572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Atlas Areographic
+<61573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Mercator AUTO Atlas Areocentric
+<61574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Mercator AUTO Atlas Areographic
+<61575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Albers AUTO Atlas Areocentric
+<61576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Albers AUTO Atlas Areographic
+<61577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Mollweide AUTO Atlas Areocentric
+<61580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Mollweide AUTO Atlas Areographic
+<61581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Robinson AUTO Atlas Areocentric
+<61582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# Robinson AUTO Atlas Areographic
+<61583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15100 +b=15100 +units=m +no_defs 
+# GEOGCS Prometheus Areocentric
+<61600> 	+proj=longlat +a=43100 +b=43100 +no_defs 
+# GEOGCS Prometheus Areographic
+<61601> 	+proj=longlat +a=43100 +b=43100 +no_defs 
+# Equirectangular Prometheus Areocentric, clon=0
+<61610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Equirectangular Prometheus Areographic, clon=0
+<61611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Equirectangular Prometheus Areocentric, clon=180
+<61612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Equirectangular Prometheus Areographic, clon=180
+<61613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Sinusoidal Prometheus Areocentric, clon=0
+<61614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Sinusoidal Prometheus Areographic, clon=0
+<61615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Sinusoidal Prometheus Areocentric, clon=180
+<61616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Sinusoidal Prometheus Areographic, clon=180
+<61617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# North Polar Prometheus Areocentric, clon=0
+<61618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# North Polar Prometheus Areographic, clon=0
+<61619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# South Polar Prometheus Areocentric, clon=0
+<61620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# South Polar Prometheus Areographic, clon=0
+<61621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Mollweide Prometheus Areocentric, clon=0
+<61622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Mollweide Prometheus Areographic, clon=0
+<61623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Mollweide Prometheus Areocentric, clon=180
+<61624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Mollweide Prometheus Areographic, clon=180
+<61625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Robinson Prometheus Areocentric, clon=0
+<61626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Robinson Prometheus Areographic, clon=0
+<61627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Robinson Prometheus Areocentric, clon=180
+<61628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Robinson Prometheus Areographic, clon=180
+<61629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Sinusoidal AUTO Prometheus Areocentric
+<61660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Sinusoidal AUTO Prometheus Areographic
+<61661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Stereographic AUTO Prometheus Areocentric, clon=0
+<61662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Stereographic AUTO Prometheus Areographic, clon=0
+<61663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Transverse Mercator AUTO Prometheus Areocentric
+<61664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Transverse Mercator AUTO Prometheus Areographic
+<61665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Orthographic AUTO Prometheus Areocentric
+<61666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Orthographic AUTO Prometheus Areographic
+<61667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Prometheus Areocentric
+<61668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Prometheus Areographic
+<61669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Prometheus Areocentric
+<61670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Prometheus Areographic
+<61671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Prometheus Areocentric
+<61672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Prometheus Areographic
+<61673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Mercator AUTO Prometheus Areocentric
+<61674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Mercator AUTO Prometheus Areographic
+<61675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Albers AUTO Prometheus Areocentric
+<61676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Albers AUTO Prometheus Areographic
+<61677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Mollweide AUTO Prometheus Areocentric
+<61680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Mollweide AUTO Prometheus Areographic
+<61681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Robinson AUTO Prometheus Areocentric
+<61682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# Robinson AUTO Prometheus Areographic
+<61683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=43100 +b=43100 +units=m +no_defs 
+# GEOGCS Pandora Areocentric
+<61700> 	+proj=longlat +a=40700 +b=40700 +no_defs 
+# GEOGCS Pandora Areographic
+<61701> 	+proj=longlat +a=40700 +b=40700 +no_defs 
+# Equirectangular Pandora Areocentric, clon=0
+<61710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Equirectangular Pandora Areographic, clon=0
+<61711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Equirectangular Pandora Areocentric, clon=180
+<61712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Equirectangular Pandora Areographic, clon=180
+<61713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Sinusoidal Pandora Areocentric, clon=0
+<61714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Sinusoidal Pandora Areographic, clon=0
+<61715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Sinusoidal Pandora Areocentric, clon=180
+<61716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Sinusoidal Pandora Areographic, clon=180
+<61717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# North Polar Pandora Areocentric, clon=0
+<61718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# North Polar Pandora Areographic, clon=0
+<61719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# South Polar Pandora Areocentric, clon=0
+<61720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# South Polar Pandora Areographic, clon=0
+<61721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Mollweide Pandora Areocentric, clon=0
+<61722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Mollweide Pandora Areographic, clon=0
+<61723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Mollweide Pandora Areocentric, clon=180
+<61724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Mollweide Pandora Areographic, clon=180
+<61725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Robinson Pandora Areocentric, clon=0
+<61726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Robinson Pandora Areographic, clon=0
+<61727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Robinson Pandora Areocentric, clon=180
+<61728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Robinson Pandora Areographic, clon=180
+<61729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Sinusoidal AUTO Pandora Areocentric
+<61760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Sinusoidal AUTO Pandora Areographic
+<61761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Stereographic AUTO Pandora Areocentric, clon=0
+<61762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Stereographic AUTO Pandora Areographic, clon=0
+<61763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Transverse Mercator AUTO Pandora Areocentric
+<61764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Transverse Mercator AUTO Pandora Areographic
+<61765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Orthographic AUTO Pandora Areocentric
+<61766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Orthographic AUTO Pandora Areographic
+<61767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pandora Areocentric
+<61768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pandora Areographic
+<61769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pandora Areocentric
+<61770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pandora Areographic
+<61771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pandora Areocentric
+<61772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pandora Areographic
+<61773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Mercator AUTO Pandora Areocentric
+<61774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Mercator AUTO Pandora Areographic
+<61775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Albers AUTO Pandora Areocentric
+<61776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Albers AUTO Pandora Areographic
+<61777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Mollweide AUTO Pandora Areocentric
+<61780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Mollweide AUTO Pandora Areographic
+<61781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Robinson AUTO Pandora Areocentric
+<61782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# Robinson AUTO Pandora Areographic
+<61783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40700 +b=40700 +units=m +no_defs 
+# GEOGCS Pan Areocentric
+<61800> 	+proj=longlat +a=14100 +b=14100 +no_defs 
+# GEOGCS Pan Areographic
+<61801> 	+proj=longlat +a=14100 +b=14100 +no_defs 
+# Equirectangular Pan Areocentric, clon=0
+<61810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Equirectangular Pan Areographic, clon=0
+<61811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Equirectangular Pan Areocentric, clon=180
+<61812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Equirectangular Pan Areographic, clon=180
+<61813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Sinusoidal Pan Areocentric, clon=0
+<61814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Sinusoidal Pan Areographic, clon=0
+<61815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Sinusoidal Pan Areocentric, clon=180
+<61816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Sinusoidal Pan Areographic, clon=180
+<61817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# North Polar Pan Areocentric, clon=0
+<61818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# North Polar Pan Areographic, clon=0
+<61819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# South Polar Pan Areocentric, clon=0
+<61820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# South Polar Pan Areographic, clon=0
+<61821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Mollweide Pan Areocentric, clon=0
+<61822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Mollweide Pan Areographic, clon=0
+<61823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Mollweide Pan Areocentric, clon=180
+<61824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Mollweide Pan Areographic, clon=180
+<61825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Robinson Pan Areocentric, clon=0
+<61826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Robinson Pan Areographic, clon=0
+<61827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Robinson Pan Areocentric, clon=180
+<61828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Robinson Pan Areographic, clon=180
+<61829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Sinusoidal AUTO Pan Areocentric
+<61860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Sinusoidal AUTO Pan Areographic
+<61861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Stereographic AUTO Pan Areocentric, clon=0
+<61862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Stereographic AUTO Pan Areographic, clon=0
+<61863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Transverse Mercator AUTO Pan Areocentric
+<61864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Transverse Mercator AUTO Pan Areographic
+<61865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Orthographic AUTO Pan Areocentric
+<61866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Orthographic AUTO Pan Areographic
+<61867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pan Areocentric
+<61868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pan Areographic
+<61869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pan Areocentric
+<61870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pan Areographic
+<61871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pan Areocentric
+<61872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pan Areographic
+<61873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Mercator AUTO Pan Areocentric
+<61874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Mercator AUTO Pan Areographic
+<61875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Albers AUTO Pan Areocentric
+<61876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Albers AUTO Pan Areographic
+<61877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Mollweide AUTO Pan Areocentric
+<61880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Mollweide AUTO Pan Areographic
+<61881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Robinson AUTO Pan Areocentric
+<61882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# Robinson AUTO Pan Areographic
+<61883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=14100 +b=14100 +units=m +no_defs 
+# GEOGCS Methone Areocentric
+<63200> 	+proj=longlat +a=1600 +b=1600 +no_defs 
+# GEOGCS Methone Areographic
+<63201> 	+proj=longlat +a=1600 +b=1600 +no_defs 
+# Equirectangular Methone Areocentric, clon=0
+<63210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equirectangular Methone Areographic, clon=0
+<63211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equirectangular Methone Areocentric, clon=180
+<63212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equirectangular Methone Areographic, clon=180
+<63213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal Methone Areocentric, clon=0
+<63214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal Methone Areographic, clon=0
+<63215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal Methone Areocentric, clon=180
+<63216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal Methone Areographic, clon=180
+<63217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# North Polar Methone Areocentric, clon=0
+<63218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# North Polar Methone Areographic, clon=0
+<63219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# South Polar Methone Areocentric, clon=0
+<63220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# South Polar Methone Areographic, clon=0
+<63221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide Methone Areocentric, clon=0
+<63222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide Methone Areographic, clon=0
+<63223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide Methone Areocentric, clon=180
+<63224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide Methone Areographic, clon=180
+<63225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson Methone Areocentric, clon=0
+<63226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson Methone Areographic, clon=0
+<63227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson Methone Areocentric, clon=180
+<63228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson Methone Areographic, clon=180
+<63229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal AUTO Methone Areocentric
+<63260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Sinusoidal AUTO Methone Areographic
+<63261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Stereographic AUTO Methone Areocentric, clon=0
+<63262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Stereographic AUTO Methone Areographic, clon=0
+<63263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Transverse Mercator AUTO Methone Areocentric
+<63264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Transverse Mercator AUTO Methone Areographic
+<63265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Orthographic AUTO Methone Areocentric
+<63266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Orthographic AUTO Methone Areographic
+<63267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Methone Areocentric
+<63268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Methone Areographic
+<63269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Methone Areocentric
+<63270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Methone Areographic
+<63271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Methone Areocentric
+<63272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Methone Areographic
+<63273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mercator AUTO Methone Areocentric
+<63274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mercator AUTO Methone Areographic
+<63275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Albers AUTO Methone Areocentric
+<63276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Albers AUTO Methone Areographic
+<63277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide AUTO Methone Areocentric
+<63280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Mollweide AUTO Methone Areographic
+<63281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson AUTO Methone Areocentric
+<63282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# Robinson AUTO Methone Areographic
+<63283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1600 +b=1600 +units=m +no_defs 
+# GEOGCS Pallene Areocentric
+<63300> 	+proj=longlat +a=2500 +b=2500 +no_defs 
+# GEOGCS Pallene Areographic
+<63301> 	+proj=longlat +a=2500 +b=2500 +no_defs 
+# Equirectangular Pallene Areocentric, clon=0
+<63310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equirectangular Pallene Areographic, clon=0
+<63311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equirectangular Pallene Areocentric, clon=180
+<63312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equirectangular Pallene Areographic, clon=180
+<63313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal Pallene Areocentric, clon=0
+<63314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal Pallene Areographic, clon=0
+<63315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal Pallene Areocentric, clon=180
+<63316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal Pallene Areographic, clon=180
+<63317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# North Polar Pallene Areocentric, clon=0
+<63318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# North Polar Pallene Areographic, clon=0
+<63319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# South Polar Pallene Areocentric, clon=0
+<63320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# South Polar Pallene Areographic, clon=0
+<63321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide Pallene Areocentric, clon=0
+<63322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide Pallene Areographic, clon=0
+<63323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide Pallene Areocentric, clon=180
+<63324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide Pallene Areographic, clon=180
+<63325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson Pallene Areocentric, clon=0
+<63326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson Pallene Areographic, clon=0
+<63327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson Pallene Areocentric, clon=180
+<63328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson Pallene Areographic, clon=180
+<63329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal AUTO Pallene Areocentric
+<63360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Sinusoidal AUTO Pallene Areographic
+<63361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Stereographic AUTO Pallene Areocentric, clon=0
+<63362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Stereographic AUTO Pallene Areographic, clon=0
+<63363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Transverse Mercator AUTO Pallene Areocentric
+<63364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Transverse Mercator AUTO Pallene Areographic
+<63365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Orthographic AUTO Pallene Areocentric
+<63366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Orthographic AUTO Pallene Areographic
+<63367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pallene Areocentric
+<63368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pallene Areographic
+<63369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pallene Areocentric
+<63370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pallene Areographic
+<63371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pallene Areocentric
+<63372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pallene Areographic
+<63373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mercator AUTO Pallene Areocentric
+<63374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mercator AUTO Pallene Areographic
+<63375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Albers AUTO Pallene Areocentric
+<63376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Albers AUTO Pallene Areographic
+<63377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide AUTO Pallene Areocentric
+<63380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Mollweide AUTO Pallene Areographic
+<63381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson AUTO Pallene Areocentric
+<63382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# Robinson AUTO Pallene Areographic
+<63383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2500 +b=2500 +units=m +no_defs 
+# GEOGCS Polydeuces Areocentric
+<63400> 	+proj=longlat +a=1300 +b=1300 +no_defs 
+# GEOGCS Polydeuces Areographic
+<63401> 	+proj=longlat +a=1300 +b=1300 +no_defs 
+# Equirectangular Polydeuces Areocentric, clon=0
+<63410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equirectangular Polydeuces Areographic, clon=0
+<63411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equirectangular Polydeuces Areocentric, clon=180
+<63412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equirectangular Polydeuces Areographic, clon=180
+<63413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal Polydeuces Areocentric, clon=0
+<63414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal Polydeuces Areographic, clon=0
+<63415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal Polydeuces Areocentric, clon=180
+<63416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal Polydeuces Areographic, clon=180
+<63417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# North Polar Polydeuces Areocentric, clon=0
+<63418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# North Polar Polydeuces Areographic, clon=0
+<63419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# South Polar Polydeuces Areocentric, clon=0
+<63420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# South Polar Polydeuces Areographic, clon=0
+<63421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide Polydeuces Areocentric, clon=0
+<63422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide Polydeuces Areographic, clon=0
+<63423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide Polydeuces Areocentric, clon=180
+<63424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide Polydeuces Areographic, clon=180
+<63425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson Polydeuces Areocentric, clon=0
+<63426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson Polydeuces Areographic, clon=0
+<63427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson Polydeuces Areocentric, clon=180
+<63428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson Polydeuces Areographic, clon=180
+<63429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal AUTO Polydeuces Areocentric
+<63460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Sinusoidal AUTO Polydeuces Areographic
+<63461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Stereographic AUTO Polydeuces Areocentric, clon=0
+<63462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Stereographic AUTO Polydeuces Areographic, clon=0
+<63463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Transverse Mercator AUTO Polydeuces Areocentric
+<63464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Transverse Mercator AUTO Polydeuces Areographic
+<63465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Orthographic AUTO Polydeuces Areocentric
+<63466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Orthographic AUTO Polydeuces Areographic
+<63467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Polydeuces Areocentric
+<63468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Polydeuces Areographic
+<63469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Polydeuces Areocentric
+<63470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Polydeuces Areographic
+<63471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Polydeuces Areocentric
+<63472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Polydeuces Areographic
+<63473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mercator AUTO Polydeuces Areocentric
+<63474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mercator AUTO Polydeuces Areographic
+<63475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Albers AUTO Polydeuces Areocentric
+<63476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Albers AUTO Polydeuces Areographic
+<63477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide AUTO Polydeuces Areocentric
+<63480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Mollweide AUTO Polydeuces Areographic
+<63481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson AUTO Polydeuces Areocentric
+<63482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# Robinson AUTO Polydeuces Areographic
+<63483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1300 +b=1300 +units=m +no_defs 
+# GEOGCS Daphnis Areocentric
+<63500> 	+proj=longlat +a=3800 +b=3800 +no_defs 
+# GEOGCS Daphnis Areographic
+<63501> 	+proj=longlat +a=3800 +b=3800 +no_defs 
+# Equirectangular Daphnis Areocentric, clon=0
+<63510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Equirectangular Daphnis Areographic, clon=0
+<63511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Equirectangular Daphnis Areocentric, clon=180
+<63512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Equirectangular Daphnis Areographic, clon=180
+<63513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Sinusoidal Daphnis Areocentric, clon=0
+<63514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Sinusoidal Daphnis Areographic, clon=0
+<63515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Sinusoidal Daphnis Areocentric, clon=180
+<63516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Sinusoidal Daphnis Areographic, clon=180
+<63517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# North Polar Daphnis Areocentric, clon=0
+<63518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# North Polar Daphnis Areographic, clon=0
+<63519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# South Polar Daphnis Areocentric, clon=0
+<63520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# South Polar Daphnis Areographic, clon=0
+<63521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Mollweide Daphnis Areocentric, clon=0
+<63522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Mollweide Daphnis Areographic, clon=0
+<63523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Mollweide Daphnis Areocentric, clon=180
+<63524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Mollweide Daphnis Areographic, clon=180
+<63525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Robinson Daphnis Areocentric, clon=0
+<63526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Robinson Daphnis Areographic, clon=0
+<63527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Robinson Daphnis Areocentric, clon=180
+<63528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Robinson Daphnis Areographic, clon=180
+<63529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Sinusoidal AUTO Daphnis Areocentric
+<63560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Sinusoidal AUTO Daphnis Areographic
+<63561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Stereographic AUTO Daphnis Areocentric, clon=0
+<63562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Stereographic AUTO Daphnis Areographic, clon=0
+<63563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Transverse Mercator AUTO Daphnis Areocentric
+<63564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Transverse Mercator AUTO Daphnis Areographic
+<63565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Orthographic AUTO Daphnis Areocentric
+<63566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Orthographic AUTO Daphnis Areographic
+<63567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Daphnis Areocentric
+<63568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Daphnis Areographic
+<63569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Daphnis Areocentric
+<63570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Daphnis Areographic
+<63571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Daphnis Areocentric
+<63572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Daphnis Areographic
+<63573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Mercator AUTO Daphnis Areocentric
+<63574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Mercator AUTO Daphnis Areographic
+<63575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Albers AUTO Daphnis Areocentric
+<63576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Albers AUTO Daphnis Areographic
+<63577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Mollweide AUTO Daphnis Areocentric
+<63580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Mollweide AUTO Daphnis Areographic
+<63581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Robinson AUTO Daphnis Areocentric
+<63582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# Robinson AUTO Daphnis Areographic
+<63583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3800 +b=3800 +units=m +no_defs 
+# GEOGCS Anthe Areocentric
+<64900> 	+proj=longlat +a=1000 +b=1000 +no_defs 
+# GEOGCS Anthe Areographic
+<64901> 	+proj=longlat +a=1000 +b=1000 +no_defs 
+# Equirectangular Anthe Areocentric, clon=0
+<64910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Equirectangular Anthe Areographic, clon=0
+<64911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Equirectangular Anthe Areocentric, clon=180
+<64912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Equirectangular Anthe Areographic, clon=180
+<64913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Sinusoidal Anthe Areocentric, clon=0
+<64914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Sinusoidal Anthe Areographic, clon=0
+<64915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Sinusoidal Anthe Areocentric, clon=180
+<64916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Sinusoidal Anthe Areographic, clon=180
+<64917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# North Polar Anthe Areocentric, clon=0
+<64918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# North Polar Anthe Areographic, clon=0
+<64919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# South Polar Anthe Areocentric, clon=0
+<64920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# South Polar Anthe Areographic, clon=0
+<64921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Mollweide Anthe Areocentric, clon=0
+<64922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Mollweide Anthe Areographic, clon=0
+<64923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Mollweide Anthe Areocentric, clon=180
+<64924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Mollweide Anthe Areographic, clon=180
+<64925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Robinson Anthe Areocentric, clon=0
+<64926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Robinson Anthe Areographic, clon=0
+<64927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Robinson Anthe Areocentric, clon=180
+<64928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Robinson Anthe Areographic, clon=180
+<64929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Sinusoidal AUTO Anthe Areocentric
+<64960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Sinusoidal AUTO Anthe Areographic
+<64961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Stereographic AUTO Anthe Areocentric, clon=0
+<64962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Stereographic AUTO Anthe Areographic, clon=0
+<64963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Transverse Mercator AUTO Anthe Areocentric
+<64964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Transverse Mercator AUTO Anthe Areographic
+<64965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Orthographic AUTO Anthe Areocentric
+<64966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Orthographic AUTO Anthe Areographic
+<64967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Anthe Areocentric
+<64968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Anthe Areographic
+<64969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Anthe Areocentric
+<64970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Anthe Areographic
+<64971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Anthe Areocentric
+<64972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Anthe Areographic
+<64973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Mercator AUTO Anthe Areocentric
+<64974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Mercator AUTO Anthe Areographic
+<64975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Albers AUTO Anthe Areocentric
+<64976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Albers AUTO Anthe Areographic
+<64977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Mollweide AUTO Anthe Areocentric
+<64980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Mollweide AUTO Anthe Areographic
+<64981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Robinson AUTO Anthe Areocentric
+<64982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# Robinson AUTO Anthe Areographic
+<64983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1000 +b=1000 +units=m +no_defs 
+# GEOGCS Uranus Areocentric
+<79900> 	+proj=longlat +a=25559000 +b=-1089240145.112749 +no_defs 
+# GEOGCS Uranus Areographic
+<79901> 	+proj=longlat +a=25559000 +b=-1089240145.112749 +no_defs 
+# Equirectangular Uranus Areocentric, clon=0
+<79910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equirectangular Uranus Areographic, clon=0
+<79911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equirectangular Uranus Areocentric, clon=180
+<79912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equirectangular Uranus Areographic, clon=180
+<79913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal Uranus Areocentric, clon=0
+<79914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal Uranus Areographic, clon=0
+<79915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal Uranus Areocentric, clon=180
+<79916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal Uranus Areographic, clon=180
+<79917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# North Polar Uranus Areocentric, clon=0
+<79918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# North Polar Uranus Areographic, clon=0
+<79919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# South Polar Uranus Areocentric, clon=0
+<79920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# South Polar Uranus Areographic, clon=0
+<79921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide Uranus Areocentric, clon=0
+<79922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide Uranus Areographic, clon=0
+<79923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide Uranus Areocentric, clon=180
+<79924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide Uranus Areographic, clon=180
+<79925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson Uranus Areocentric, clon=0
+<79926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson Uranus Areographic, clon=0
+<79927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson Uranus Areocentric, clon=180
+<79928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson Uranus Areographic, clon=180
+<79929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal AUTO Uranus Areocentric
+<79960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Sinusoidal AUTO Uranus Areographic
+<79961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Stereographic AUTO Uranus Areocentric, clon=0
+<79962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Stereographic AUTO Uranus Areographic, clon=0
+<79963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Transverse Mercator AUTO Uranus Areocentric
+<79964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Transverse Mercator AUTO Uranus Areographic
+<79965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Orthographic AUTO Uranus Areocentric
+<79966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Orthographic AUTO Uranus Areographic
+<79967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Uranus Areocentric
+<79968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Uranus Areographic
+<79969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Uranus Areocentric
+<79970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Uranus Areographic
+<79971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Uranus Areocentric
+<79972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Uranus Areographic
+<79973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mercator AUTO Uranus Areocentric
+<79974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mercator AUTO Uranus Areographic
+<79975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Albers AUTO Uranus Areocentric
+<79976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Albers AUTO Uranus Areographic
+<79977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide AUTO Uranus Areocentric
+<79980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Mollweide AUTO Uranus Areographic
+<79981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson AUTO Uranus Areocentric
+<79982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# Robinson AUTO Uranus Areographic
+<79983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=25559000 +b=-1089240145.112749 +units=m +no_defs 
+# GEOGCS Ariel Areocentric
+<70100> 	+proj=longlat +a=578900 +b=578900 +no_defs 
+# GEOGCS Ariel Areographic
+<70101> 	+proj=longlat +a=578900 +b=578900 +no_defs 
+# Equirectangular Ariel Areocentric, clon=0
+<70110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equirectangular Ariel Areographic, clon=0
+<70111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equirectangular Ariel Areocentric, clon=180
+<70112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equirectangular Ariel Areographic, clon=180
+<70113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal Ariel Areocentric, clon=0
+<70114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal Ariel Areographic, clon=0
+<70115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal Ariel Areocentric, clon=180
+<70116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal Ariel Areographic, clon=180
+<70117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# North Polar Ariel Areocentric, clon=0
+<70118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# North Polar Ariel Areographic, clon=0
+<70119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# South Polar Ariel Areocentric, clon=0
+<70120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# South Polar Ariel Areographic, clon=0
+<70121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide Ariel Areocentric, clon=0
+<70122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide Ariel Areographic, clon=0
+<70123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide Ariel Areocentric, clon=180
+<70124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide Ariel Areographic, clon=180
+<70125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson Ariel Areocentric, clon=0
+<70126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson Ariel Areographic, clon=0
+<70127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson Ariel Areocentric, clon=180
+<70128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson Ariel Areographic, clon=180
+<70129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal AUTO Ariel Areocentric
+<70160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Sinusoidal AUTO Ariel Areographic
+<70161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Stereographic AUTO Ariel Areocentric, clon=0
+<70162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Stereographic AUTO Ariel Areographic, clon=0
+<70163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Transverse Mercator AUTO Ariel Areocentric
+<70164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Transverse Mercator AUTO Ariel Areographic
+<70165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Orthographic AUTO Ariel Areocentric
+<70166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Orthographic AUTO Ariel Areographic
+<70167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ariel Areocentric
+<70168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ariel Areographic
+<70169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ariel Areocentric
+<70170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ariel Areographic
+<70171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ariel Areocentric
+<70172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ariel Areographic
+<70173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mercator AUTO Ariel Areocentric
+<70174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mercator AUTO Ariel Areographic
+<70175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Albers AUTO Ariel Areocentric
+<70176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Albers AUTO Ariel Areographic
+<70177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide AUTO Ariel Areocentric
+<70180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Mollweide AUTO Ariel Areographic
+<70181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson AUTO Ariel Areocentric
+<70182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# Robinson AUTO Ariel Areographic
+<70183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=578900 +b=578900 +units=m +no_defs 
+# GEOGCS Umbriel Areocentric
+<70200> 	+proj=longlat +a=584700 +b=584700 +no_defs 
+# GEOGCS Umbriel Areographic
+<70201> 	+proj=longlat +a=584700 +b=584700 +no_defs 
+# Equirectangular Umbriel Areocentric, clon=0
+<70210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equirectangular Umbriel Areographic, clon=0
+<70211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equirectangular Umbriel Areocentric, clon=180
+<70212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equirectangular Umbriel Areographic, clon=180
+<70213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal Umbriel Areocentric, clon=0
+<70214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal Umbriel Areographic, clon=0
+<70215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal Umbriel Areocentric, clon=180
+<70216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal Umbriel Areographic, clon=180
+<70217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# North Polar Umbriel Areocentric, clon=0
+<70218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# North Polar Umbriel Areographic, clon=0
+<70219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# South Polar Umbriel Areocentric, clon=0
+<70220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# South Polar Umbriel Areographic, clon=0
+<70221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide Umbriel Areocentric, clon=0
+<70222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide Umbriel Areographic, clon=0
+<70223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide Umbriel Areocentric, clon=180
+<70224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide Umbriel Areographic, clon=180
+<70225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson Umbriel Areocentric, clon=0
+<70226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson Umbriel Areographic, clon=0
+<70227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson Umbriel Areocentric, clon=180
+<70228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson Umbriel Areographic, clon=180
+<70229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal AUTO Umbriel Areocentric
+<70260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Sinusoidal AUTO Umbriel Areographic
+<70261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Stereographic AUTO Umbriel Areocentric, clon=0
+<70262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Stereographic AUTO Umbriel Areographic, clon=0
+<70263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Transverse Mercator AUTO Umbriel Areocentric
+<70264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Transverse Mercator AUTO Umbriel Areographic
+<70265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Orthographic AUTO Umbriel Areocentric
+<70266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Orthographic AUTO Umbriel Areographic
+<70267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Umbriel Areocentric
+<70268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Umbriel Areographic
+<70269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Umbriel Areocentric
+<70270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Umbriel Areographic
+<70271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Umbriel Areocentric
+<70272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Umbriel Areographic
+<70273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mercator AUTO Umbriel Areocentric
+<70274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mercator AUTO Umbriel Areographic
+<70275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Albers AUTO Umbriel Areocentric
+<70276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Albers AUTO Umbriel Areographic
+<70277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide AUTO Umbriel Areocentric
+<70280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Mollweide AUTO Umbriel Areographic
+<70281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson AUTO Umbriel Areocentric
+<70282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# Robinson AUTO Umbriel Areographic
+<70283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=584700 +b=584700 +units=m +no_defs 
+# GEOGCS Titania Areocentric
+<70300> 	+proj=longlat +a=788900 +b=788900 +no_defs 
+# GEOGCS Titania Areographic
+<70301> 	+proj=longlat +a=788900 +b=788900 +no_defs 
+# Equirectangular Titania Areocentric, clon=0
+<70310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equirectangular Titania Areographic, clon=0
+<70311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equirectangular Titania Areocentric, clon=180
+<70312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equirectangular Titania Areographic, clon=180
+<70313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal Titania Areocentric, clon=0
+<70314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal Titania Areographic, clon=0
+<70315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal Titania Areocentric, clon=180
+<70316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal Titania Areographic, clon=180
+<70317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# North Polar Titania Areocentric, clon=0
+<70318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# North Polar Titania Areographic, clon=0
+<70319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# South Polar Titania Areocentric, clon=0
+<70320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# South Polar Titania Areographic, clon=0
+<70321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide Titania Areocentric, clon=0
+<70322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide Titania Areographic, clon=0
+<70323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide Titania Areocentric, clon=180
+<70324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide Titania Areographic, clon=180
+<70325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson Titania Areocentric, clon=0
+<70326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson Titania Areographic, clon=0
+<70327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson Titania Areocentric, clon=180
+<70328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson Titania Areographic, clon=180
+<70329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal AUTO Titania Areocentric
+<70360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Sinusoidal AUTO Titania Areographic
+<70361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Stereographic AUTO Titania Areocentric, clon=0
+<70362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Stereographic AUTO Titania Areographic, clon=0
+<70363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Transverse Mercator AUTO Titania Areocentric
+<70364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Transverse Mercator AUTO Titania Areographic
+<70365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Orthographic AUTO Titania Areocentric
+<70366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Orthographic AUTO Titania Areographic
+<70367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Titania Areocentric
+<70368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Titania Areographic
+<70369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Titania Areocentric
+<70370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Titania Areographic
+<70371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Titania Areocentric
+<70372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Titania Areographic
+<70373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mercator AUTO Titania Areocentric
+<70374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mercator AUTO Titania Areographic
+<70375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Albers AUTO Titania Areocentric
+<70376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Albers AUTO Titania Areographic
+<70377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide AUTO Titania Areocentric
+<70380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Mollweide AUTO Titania Areographic
+<70381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson AUTO Titania Areocentric
+<70382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# Robinson AUTO Titania Areographic
+<70383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=788900 +b=788900 +units=m +no_defs 
+# GEOGCS Oberon Areocentric
+<70400> 	+proj=longlat +a=761400 +b=761400 +no_defs 
+# GEOGCS Oberon Areographic
+<70401> 	+proj=longlat +a=761400 +b=761400 +no_defs 
+# Equirectangular Oberon Areocentric, clon=0
+<70410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equirectangular Oberon Areographic, clon=0
+<70411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equirectangular Oberon Areocentric, clon=180
+<70412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equirectangular Oberon Areographic, clon=180
+<70413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal Oberon Areocentric, clon=0
+<70414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal Oberon Areographic, clon=0
+<70415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal Oberon Areocentric, clon=180
+<70416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal Oberon Areographic, clon=180
+<70417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# North Polar Oberon Areocentric, clon=0
+<70418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# North Polar Oberon Areographic, clon=0
+<70419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# South Polar Oberon Areocentric, clon=0
+<70420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# South Polar Oberon Areographic, clon=0
+<70421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide Oberon Areocentric, clon=0
+<70422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide Oberon Areographic, clon=0
+<70423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide Oberon Areocentric, clon=180
+<70424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide Oberon Areographic, clon=180
+<70425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson Oberon Areocentric, clon=0
+<70426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson Oberon Areographic, clon=0
+<70427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson Oberon Areocentric, clon=180
+<70428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson Oberon Areographic, clon=180
+<70429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal AUTO Oberon Areocentric
+<70460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Sinusoidal AUTO Oberon Areographic
+<70461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Stereographic AUTO Oberon Areocentric, clon=0
+<70462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Stereographic AUTO Oberon Areographic, clon=0
+<70463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Transverse Mercator AUTO Oberon Areocentric
+<70464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Transverse Mercator AUTO Oberon Areographic
+<70465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Orthographic AUTO Oberon Areocentric
+<70466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Orthographic AUTO Oberon Areographic
+<70467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Oberon Areocentric
+<70468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Oberon Areographic
+<70469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Oberon Areocentric
+<70470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Oberon Areographic
+<70471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Oberon Areocentric
+<70472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Oberon Areographic
+<70473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mercator AUTO Oberon Areocentric
+<70474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mercator AUTO Oberon Areographic
+<70475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Albers AUTO Oberon Areocentric
+<70476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Albers AUTO Oberon Areographic
+<70477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide AUTO Oberon Areocentric
+<70480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Mollweide AUTO Oberon Areographic
+<70481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson AUTO Oberon Areocentric
+<70482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# Robinson AUTO Oberon Areographic
+<70483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=761400 +b=761400 +units=m +no_defs 
+# GEOGCS Miranda Areocentric
+<70500> 	+proj=longlat +a=235800 +b=235800 +no_defs 
+# GEOGCS Miranda Areographic
+<70501> 	+proj=longlat +a=235800 +b=235800 +no_defs 
+# Equirectangular Miranda Areocentric, clon=0
+<70510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equirectangular Miranda Areographic, clon=0
+<70511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equirectangular Miranda Areocentric, clon=180
+<70512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equirectangular Miranda Areographic, clon=180
+<70513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal Miranda Areocentric, clon=0
+<70514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal Miranda Areographic, clon=0
+<70515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal Miranda Areocentric, clon=180
+<70516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal Miranda Areographic, clon=180
+<70517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# North Polar Miranda Areocentric, clon=0
+<70518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# North Polar Miranda Areographic, clon=0
+<70519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# South Polar Miranda Areocentric, clon=0
+<70520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# South Polar Miranda Areographic, clon=0
+<70521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide Miranda Areocentric, clon=0
+<70522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide Miranda Areographic, clon=0
+<70523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide Miranda Areocentric, clon=180
+<70524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide Miranda Areographic, clon=180
+<70525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson Miranda Areocentric, clon=0
+<70526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson Miranda Areographic, clon=0
+<70527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson Miranda Areocentric, clon=180
+<70528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson Miranda Areographic, clon=180
+<70529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal AUTO Miranda Areocentric
+<70560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Sinusoidal AUTO Miranda Areographic
+<70561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Stereographic AUTO Miranda Areocentric, clon=0
+<70562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Stereographic AUTO Miranda Areographic, clon=0
+<70563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Transverse Mercator AUTO Miranda Areocentric
+<70564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Transverse Mercator AUTO Miranda Areographic
+<70565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Orthographic AUTO Miranda Areocentric
+<70566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Orthographic AUTO Miranda Areographic
+<70567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Miranda Areocentric
+<70568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Miranda Areographic
+<70569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Miranda Areocentric
+<70570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Miranda Areographic
+<70571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Miranda Areocentric
+<70572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Miranda Areographic
+<70573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mercator AUTO Miranda Areocentric
+<70574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mercator AUTO Miranda Areographic
+<70575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Albers AUTO Miranda Areocentric
+<70576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Albers AUTO Miranda Areographic
+<70577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide AUTO Miranda Areocentric
+<70580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Mollweide AUTO Miranda Areographic
+<70581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson AUTO Miranda Areocentric
+<70582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# Robinson AUTO Miranda Areographic
+<70583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=235800 +b=235800 +units=m +no_defs 
+# GEOGCS Cordelia Areocentric
+<70600> 	+proj=longlat +a=13000 +b=13000 +no_defs 
+# GEOGCS Cordelia Areographic
+<70601> 	+proj=longlat +a=13000 +b=13000 +no_defs 
+# Equirectangular Cordelia Areocentric, clon=0
+<70610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equirectangular Cordelia Areographic, clon=0
+<70611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equirectangular Cordelia Areocentric, clon=180
+<70612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equirectangular Cordelia Areographic, clon=180
+<70613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal Cordelia Areocentric, clon=0
+<70614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal Cordelia Areographic, clon=0
+<70615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal Cordelia Areocentric, clon=180
+<70616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal Cordelia Areographic, clon=180
+<70617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# North Polar Cordelia Areocentric, clon=0
+<70618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# North Polar Cordelia Areographic, clon=0
+<70619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# South Polar Cordelia Areocentric, clon=0
+<70620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# South Polar Cordelia Areographic, clon=0
+<70621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide Cordelia Areocentric, clon=0
+<70622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide Cordelia Areographic, clon=0
+<70623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide Cordelia Areocentric, clon=180
+<70624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide Cordelia Areographic, clon=180
+<70625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson Cordelia Areocentric, clon=0
+<70626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson Cordelia Areographic, clon=0
+<70627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson Cordelia Areocentric, clon=180
+<70628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson Cordelia Areographic, clon=180
+<70629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal AUTO Cordelia Areocentric
+<70660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Sinusoidal AUTO Cordelia Areographic
+<70661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Stereographic AUTO Cordelia Areocentric, clon=0
+<70662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Stereographic AUTO Cordelia Areographic, clon=0
+<70663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Transverse Mercator AUTO Cordelia Areocentric
+<70664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Transverse Mercator AUTO Cordelia Areographic
+<70665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Orthographic AUTO Cordelia Areocentric
+<70666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Orthographic AUTO Cordelia Areographic
+<70667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Cordelia Areocentric
+<70668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Cordelia Areographic
+<70669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Cordelia Areocentric
+<70670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Cordelia Areographic
+<70671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Cordelia Areocentric
+<70672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Cordelia Areographic
+<70673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mercator AUTO Cordelia Areocentric
+<70674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mercator AUTO Cordelia Areographic
+<70675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Albers AUTO Cordelia Areocentric
+<70676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Albers AUTO Cordelia Areographic
+<70677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide AUTO Cordelia Areocentric
+<70680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Mollweide AUTO Cordelia Areographic
+<70681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson AUTO Cordelia Areocentric
+<70682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# Robinson AUTO Cordelia Areographic
+<70683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=13000 +b=13000 +units=m +no_defs 
+# GEOGCS Ophelia Areocentric
+<70700> 	+proj=longlat +a=15000 +b=15000 +no_defs 
+# GEOGCS Ophelia Areographic
+<70701> 	+proj=longlat +a=15000 +b=15000 +no_defs 
+# Equirectangular Ophelia Areocentric, clon=0
+<70710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Ophelia Areographic, clon=0
+<70711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Ophelia Areocentric, clon=180
+<70712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equirectangular Ophelia Areographic, clon=180
+<70713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Ophelia Areocentric, clon=0
+<70714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Ophelia Areographic, clon=0
+<70715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Ophelia Areocentric, clon=180
+<70716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal Ophelia Areographic, clon=180
+<70717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# North Polar Ophelia Areocentric, clon=0
+<70718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# North Polar Ophelia Areographic, clon=0
+<70719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# South Polar Ophelia Areocentric, clon=0
+<70720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# South Polar Ophelia Areographic, clon=0
+<70721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Ophelia Areocentric, clon=0
+<70722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Ophelia Areographic, clon=0
+<70723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Ophelia Areocentric, clon=180
+<70724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide Ophelia Areographic, clon=180
+<70725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Ophelia Areocentric, clon=0
+<70726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Ophelia Areographic, clon=0
+<70727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Ophelia Areocentric, clon=180
+<70728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson Ophelia Areographic, clon=180
+<70729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal AUTO Ophelia Areocentric
+<70760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Sinusoidal AUTO Ophelia Areographic
+<70761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Stereographic AUTO Ophelia Areocentric, clon=0
+<70762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Stereographic AUTO Ophelia Areographic, clon=0
+<70763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Transverse Mercator AUTO Ophelia Areocentric
+<70764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Transverse Mercator AUTO Ophelia Areographic
+<70765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Orthographic AUTO Ophelia Areocentric
+<70766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Orthographic AUTO Ophelia Areographic
+<70767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ophelia Areocentric
+<70768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ophelia Areographic
+<70769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ophelia Areocentric
+<70770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ophelia Areographic
+<70771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ophelia Areocentric
+<70772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ophelia Areographic
+<70773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mercator AUTO Ophelia Areocentric
+<70774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mercator AUTO Ophelia Areographic
+<70775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Albers AUTO Ophelia Areocentric
+<70776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Albers AUTO Ophelia Areographic
+<70777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide AUTO Ophelia Areocentric
+<70780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Mollweide AUTO Ophelia Areographic
+<70781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson AUTO Ophelia Areocentric
+<70782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# Robinson AUTO Ophelia Areographic
+<70783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15000 +b=15000 +units=m +no_defs 
+# GEOGCS Bianca Areocentric
+<70800> 	+proj=longlat +a=21000 +b=21000 +no_defs 
+# GEOGCS Bianca Areographic
+<70801> 	+proj=longlat +a=21000 +b=21000 +no_defs 
+# Equirectangular Bianca Areocentric, clon=0
+<70810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equirectangular Bianca Areographic, clon=0
+<70811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equirectangular Bianca Areocentric, clon=180
+<70812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equirectangular Bianca Areographic, clon=180
+<70813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal Bianca Areocentric, clon=0
+<70814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal Bianca Areographic, clon=0
+<70815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal Bianca Areocentric, clon=180
+<70816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal Bianca Areographic, clon=180
+<70817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# North Polar Bianca Areocentric, clon=0
+<70818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# North Polar Bianca Areographic, clon=0
+<70819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# South Polar Bianca Areocentric, clon=0
+<70820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# South Polar Bianca Areographic, clon=0
+<70821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide Bianca Areocentric, clon=0
+<70822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide Bianca Areographic, clon=0
+<70823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide Bianca Areocentric, clon=180
+<70824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide Bianca Areographic, clon=180
+<70825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson Bianca Areocentric, clon=0
+<70826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson Bianca Areographic, clon=0
+<70827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson Bianca Areocentric, clon=180
+<70828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson Bianca Areographic, clon=180
+<70829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal AUTO Bianca Areocentric
+<70860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Sinusoidal AUTO Bianca Areographic
+<70861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Stereographic AUTO Bianca Areocentric, clon=0
+<70862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Stereographic AUTO Bianca Areographic, clon=0
+<70863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Transverse Mercator AUTO Bianca Areocentric
+<70864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Transverse Mercator AUTO Bianca Areographic
+<70865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Orthographic AUTO Bianca Areocentric
+<70866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Orthographic AUTO Bianca Areographic
+<70867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Bianca Areocentric
+<70868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Bianca Areographic
+<70869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Bianca Areocentric
+<70870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Bianca Areographic
+<70871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Bianca Areocentric
+<70872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Bianca Areographic
+<70873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mercator AUTO Bianca Areocentric
+<70874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mercator AUTO Bianca Areographic
+<70875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Albers AUTO Bianca Areocentric
+<70876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Albers AUTO Bianca Areographic
+<70877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide AUTO Bianca Areocentric
+<70880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Mollweide AUTO Bianca Areographic
+<70881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson AUTO Bianca Areocentric
+<70882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# Robinson AUTO Bianca Areographic
+<70883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=21000 +b=21000 +units=m +no_defs 
+# GEOGCS Cressida Areocentric
+<70900> 	+proj=longlat +a=31000 +b=31000 +no_defs 
+# GEOGCS Cressida Areographic
+<70901> 	+proj=longlat +a=31000 +b=31000 +no_defs 
+# Equirectangular Cressida Areocentric, clon=0
+<70910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equirectangular Cressida Areographic, clon=0
+<70911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equirectangular Cressida Areocentric, clon=180
+<70912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equirectangular Cressida Areographic, clon=180
+<70913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal Cressida Areocentric, clon=0
+<70914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal Cressida Areographic, clon=0
+<70915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal Cressida Areocentric, clon=180
+<70916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal Cressida Areographic, clon=180
+<70917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# North Polar Cressida Areocentric, clon=0
+<70918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# North Polar Cressida Areographic, clon=0
+<70919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# South Polar Cressida Areocentric, clon=0
+<70920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# South Polar Cressida Areographic, clon=0
+<70921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide Cressida Areocentric, clon=0
+<70922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide Cressida Areographic, clon=0
+<70923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide Cressida Areocentric, clon=180
+<70924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide Cressida Areographic, clon=180
+<70925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson Cressida Areocentric, clon=0
+<70926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson Cressida Areographic, clon=0
+<70927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson Cressida Areocentric, clon=180
+<70928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson Cressida Areographic, clon=180
+<70929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal AUTO Cressida Areocentric
+<70960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Sinusoidal AUTO Cressida Areographic
+<70961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Stereographic AUTO Cressida Areocentric, clon=0
+<70962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Stereographic AUTO Cressida Areographic, clon=0
+<70963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Transverse Mercator AUTO Cressida Areocentric
+<70964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Transverse Mercator AUTO Cressida Areographic
+<70965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Orthographic AUTO Cressida Areocentric
+<70966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Orthographic AUTO Cressida Areographic
+<70967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Cressida Areocentric
+<70968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Cressida Areographic
+<70969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Cressida Areocentric
+<70970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Cressida Areographic
+<70971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Cressida Areocentric
+<70972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Cressida Areographic
+<70973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mercator AUTO Cressida Areocentric
+<70974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mercator AUTO Cressida Areographic
+<70975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Albers AUTO Cressida Areocentric
+<70976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Albers AUTO Cressida Areographic
+<70977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide AUTO Cressida Areocentric
+<70980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Mollweide AUTO Cressida Areographic
+<70981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson AUTO Cressida Areocentric
+<70982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# Robinson AUTO Cressida Areographic
+<70983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=31000 +b=31000 +units=m +no_defs 
+# GEOGCS Desdemona Areocentric
+<71000> 	+proj=longlat +a=27000 +b=27000 +no_defs 
+# GEOGCS Desdemona Areographic
+<71001> 	+proj=longlat +a=27000 +b=27000 +no_defs 
+# Equirectangular Desdemona Areocentric, clon=0
+<71010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Desdemona Areographic, clon=0
+<71011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Desdemona Areocentric, clon=180
+<71012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Desdemona Areographic, clon=180
+<71013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Desdemona Areocentric, clon=0
+<71014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Desdemona Areographic, clon=0
+<71015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Desdemona Areocentric, clon=180
+<71016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Desdemona Areographic, clon=180
+<71017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# North Polar Desdemona Areocentric, clon=0
+<71018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# North Polar Desdemona Areographic, clon=0
+<71019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# South Polar Desdemona Areocentric, clon=0
+<71020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# South Polar Desdemona Areographic, clon=0
+<71021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Desdemona Areocentric, clon=0
+<71022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Desdemona Areographic, clon=0
+<71023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Desdemona Areocentric, clon=180
+<71024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Desdemona Areographic, clon=180
+<71025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Desdemona Areocentric, clon=0
+<71026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Desdemona Areographic, clon=0
+<71027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Desdemona Areocentric, clon=180
+<71028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Desdemona Areographic, clon=180
+<71029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal AUTO Desdemona Areocentric
+<71060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal AUTO Desdemona Areographic
+<71061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Stereographic AUTO Desdemona Areocentric, clon=0
+<71062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Stereographic AUTO Desdemona Areographic, clon=0
+<71063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Transverse Mercator AUTO Desdemona Areocentric
+<71064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Transverse Mercator AUTO Desdemona Areographic
+<71065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Orthographic AUTO Desdemona Areocentric
+<71066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Orthographic AUTO Desdemona Areographic
+<71067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Desdemona Areocentric
+<71068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Desdemona Areographic
+<71069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Desdemona Areocentric
+<71070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Desdemona Areographic
+<71071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Desdemona Areocentric
+<71072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Desdemona Areographic
+<71073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mercator AUTO Desdemona Areocentric
+<71074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mercator AUTO Desdemona Areographic
+<71075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Albers AUTO Desdemona Areocentric
+<71076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Albers AUTO Desdemona Areographic
+<71077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide AUTO Desdemona Areocentric
+<71080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide AUTO Desdemona Areographic
+<71081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson AUTO Desdemona Areocentric
+<71082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson AUTO Desdemona Areographic
+<71083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# GEOGCS Juliet Areocentric
+<71100> 	+proj=longlat +a=42000 +b=42000 +no_defs 
+# GEOGCS Juliet Areographic
+<71101> 	+proj=longlat +a=42000 +b=42000 +no_defs 
+# Equirectangular Juliet Areocentric, clon=0
+<71110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equirectangular Juliet Areographic, clon=0
+<71111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equirectangular Juliet Areocentric, clon=180
+<71112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equirectangular Juliet Areographic, clon=180
+<71113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal Juliet Areocentric, clon=0
+<71114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal Juliet Areographic, clon=0
+<71115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal Juliet Areocentric, clon=180
+<71116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal Juliet Areographic, clon=180
+<71117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# North Polar Juliet Areocentric, clon=0
+<71118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# North Polar Juliet Areographic, clon=0
+<71119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# South Polar Juliet Areocentric, clon=0
+<71120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# South Polar Juliet Areographic, clon=0
+<71121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide Juliet Areocentric, clon=0
+<71122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide Juliet Areographic, clon=0
+<71123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide Juliet Areocentric, clon=180
+<71124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide Juliet Areographic, clon=180
+<71125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson Juliet Areocentric, clon=0
+<71126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson Juliet Areographic, clon=0
+<71127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson Juliet Areocentric, clon=180
+<71128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson Juliet Areographic, clon=180
+<71129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal AUTO Juliet Areocentric
+<71160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Sinusoidal AUTO Juliet Areographic
+<71161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Stereographic AUTO Juliet Areocentric, clon=0
+<71162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Stereographic AUTO Juliet Areographic, clon=0
+<71163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Transverse Mercator AUTO Juliet Areocentric
+<71164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Transverse Mercator AUTO Juliet Areographic
+<71165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Orthographic AUTO Juliet Areocentric
+<71166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Orthographic AUTO Juliet Areographic
+<71167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Juliet Areocentric
+<71168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Juliet Areographic
+<71169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Juliet Areocentric
+<71170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Juliet Areographic
+<71171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Juliet Areocentric
+<71172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Juliet Areographic
+<71173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mercator AUTO Juliet Areocentric
+<71174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mercator AUTO Juliet Areographic
+<71175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Albers AUTO Juliet Areocentric
+<71176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Albers AUTO Juliet Areographic
+<71177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide AUTO Juliet Areocentric
+<71180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Mollweide AUTO Juliet Areographic
+<71181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson AUTO Juliet Areocentric
+<71182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# Robinson AUTO Juliet Areographic
+<71183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=42000 +b=42000 +units=m +no_defs 
+# GEOGCS Portia Areocentric
+<71200> 	+proj=longlat +a=54000 +b=54000 +no_defs 
+# GEOGCS Portia Areographic
+<71201> 	+proj=longlat +a=54000 +b=54000 +no_defs 
+# Equirectangular Portia Areocentric, clon=0
+<71210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equirectangular Portia Areographic, clon=0
+<71211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equirectangular Portia Areocentric, clon=180
+<71212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equirectangular Portia Areographic, clon=180
+<71213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal Portia Areocentric, clon=0
+<71214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal Portia Areographic, clon=0
+<71215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal Portia Areocentric, clon=180
+<71216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal Portia Areographic, clon=180
+<71217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# North Polar Portia Areocentric, clon=0
+<71218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# North Polar Portia Areographic, clon=0
+<71219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# South Polar Portia Areocentric, clon=0
+<71220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# South Polar Portia Areographic, clon=0
+<71221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide Portia Areocentric, clon=0
+<71222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide Portia Areographic, clon=0
+<71223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide Portia Areocentric, clon=180
+<71224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide Portia Areographic, clon=180
+<71225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson Portia Areocentric, clon=0
+<71226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson Portia Areographic, clon=0
+<71227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson Portia Areocentric, clon=180
+<71228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson Portia Areographic, clon=180
+<71229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal AUTO Portia Areocentric
+<71260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Sinusoidal AUTO Portia Areographic
+<71261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Stereographic AUTO Portia Areocentric, clon=0
+<71262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Stereographic AUTO Portia Areographic, clon=0
+<71263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Transverse Mercator AUTO Portia Areocentric
+<71264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Transverse Mercator AUTO Portia Areographic
+<71265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Orthographic AUTO Portia Areocentric
+<71266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Orthographic AUTO Portia Areographic
+<71267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Portia Areocentric
+<71268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Portia Areographic
+<71269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Portia Areocentric
+<71270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Portia Areographic
+<71271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Portia Areocentric
+<71272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Portia Areographic
+<71273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mercator AUTO Portia Areocentric
+<71274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mercator AUTO Portia Areographic
+<71275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Albers AUTO Portia Areocentric
+<71276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Albers AUTO Portia Areographic
+<71277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide AUTO Portia Areocentric
+<71280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Mollweide AUTO Portia Areographic
+<71281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson AUTO Portia Areocentric
+<71282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# Robinson AUTO Portia Areographic
+<71283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=54000 +b=54000 +units=m +no_defs 
+# GEOGCS Rosalind Areocentric
+<71300> 	+proj=longlat +a=27000 +b=27000 +no_defs 
+# GEOGCS Rosalind Areographic
+<71301> 	+proj=longlat +a=27000 +b=27000 +no_defs 
+# Equirectangular Rosalind Areocentric, clon=0
+<71310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Rosalind Areographic, clon=0
+<71311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Rosalind Areocentric, clon=180
+<71312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equirectangular Rosalind Areographic, clon=180
+<71313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Rosalind Areocentric, clon=0
+<71314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Rosalind Areographic, clon=0
+<71315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Rosalind Areocentric, clon=180
+<71316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal Rosalind Areographic, clon=180
+<71317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# North Polar Rosalind Areocentric, clon=0
+<71318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# North Polar Rosalind Areographic, clon=0
+<71319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# South Polar Rosalind Areocentric, clon=0
+<71320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# South Polar Rosalind Areographic, clon=0
+<71321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Rosalind Areocentric, clon=0
+<71322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Rosalind Areographic, clon=0
+<71323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Rosalind Areocentric, clon=180
+<71324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide Rosalind Areographic, clon=180
+<71325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Rosalind Areocentric, clon=0
+<71326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Rosalind Areographic, clon=0
+<71327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Rosalind Areocentric, clon=180
+<71328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson Rosalind Areographic, clon=180
+<71329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal AUTO Rosalind Areocentric
+<71360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Sinusoidal AUTO Rosalind Areographic
+<71361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Stereographic AUTO Rosalind Areocentric, clon=0
+<71362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Stereographic AUTO Rosalind Areographic, clon=0
+<71363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Transverse Mercator AUTO Rosalind Areocentric
+<71364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Transverse Mercator AUTO Rosalind Areographic
+<71365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Orthographic AUTO Rosalind Areocentric
+<71366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Orthographic AUTO Rosalind Areographic
+<71367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Rosalind Areocentric
+<71368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Rosalind Areographic
+<71369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Rosalind Areocentric
+<71370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Rosalind Areographic
+<71371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Rosalind Areocentric
+<71372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Rosalind Areographic
+<71373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mercator AUTO Rosalind Areocentric
+<71374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mercator AUTO Rosalind Areographic
+<71375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Albers AUTO Rosalind Areocentric
+<71376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Albers AUTO Rosalind Areographic
+<71377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide AUTO Rosalind Areocentric
+<71380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Mollweide AUTO Rosalind Areographic
+<71381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson AUTO Rosalind Areocentric
+<71382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# Robinson AUTO Rosalind Areographic
+<71383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=27000 +b=27000 +units=m +no_defs 
+# GEOGCS Belinda Areocentric
+<71400> 	+proj=longlat +a=33000 +b=33000 +no_defs 
+# GEOGCS Belinda Areographic
+<71401> 	+proj=longlat +a=33000 +b=33000 +no_defs 
+# Equirectangular Belinda Areocentric, clon=0
+<71410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equirectangular Belinda Areographic, clon=0
+<71411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equirectangular Belinda Areocentric, clon=180
+<71412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equirectangular Belinda Areographic, clon=180
+<71413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal Belinda Areocentric, clon=0
+<71414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal Belinda Areographic, clon=0
+<71415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal Belinda Areocentric, clon=180
+<71416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal Belinda Areographic, clon=180
+<71417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# North Polar Belinda Areocentric, clon=0
+<71418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# North Polar Belinda Areographic, clon=0
+<71419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# South Polar Belinda Areocentric, clon=0
+<71420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# South Polar Belinda Areographic, clon=0
+<71421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide Belinda Areocentric, clon=0
+<71422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide Belinda Areographic, clon=0
+<71423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide Belinda Areocentric, clon=180
+<71424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide Belinda Areographic, clon=180
+<71425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson Belinda Areocentric, clon=0
+<71426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson Belinda Areographic, clon=0
+<71427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson Belinda Areocentric, clon=180
+<71428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson Belinda Areographic, clon=180
+<71429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal AUTO Belinda Areocentric
+<71460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Sinusoidal AUTO Belinda Areographic
+<71461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Stereographic AUTO Belinda Areocentric, clon=0
+<71462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Stereographic AUTO Belinda Areographic, clon=0
+<71463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Transverse Mercator AUTO Belinda Areocentric
+<71464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Transverse Mercator AUTO Belinda Areographic
+<71465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Orthographic AUTO Belinda Areocentric
+<71466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Orthographic AUTO Belinda Areographic
+<71467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Belinda Areocentric
+<71468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Belinda Areographic
+<71469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Belinda Areocentric
+<71470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Belinda Areographic
+<71471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Belinda Areocentric
+<71472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Belinda Areographic
+<71473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mercator AUTO Belinda Areocentric
+<71474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mercator AUTO Belinda Areographic
+<71475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Albers AUTO Belinda Areocentric
+<71476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Albers AUTO Belinda Areographic
+<71477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide AUTO Belinda Areocentric
+<71480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Mollweide AUTO Belinda Areographic
+<71481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson AUTO Belinda Areocentric
+<71482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# Robinson AUTO Belinda Areographic
+<71483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=33000 +b=33000 +units=m +no_defs 
+# GEOGCS Puck Areocentric
+<71500> 	+proj=longlat +a=77000 +b=77000 +no_defs 
+# GEOGCS Puck Areographic
+<71501> 	+proj=longlat +a=77000 +b=77000 +no_defs 
+# Equirectangular Puck Areocentric, clon=0
+<71510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equirectangular Puck Areographic, clon=0
+<71511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equirectangular Puck Areocentric, clon=180
+<71512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equirectangular Puck Areographic, clon=180
+<71513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal Puck Areocentric, clon=0
+<71514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal Puck Areographic, clon=0
+<71515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal Puck Areocentric, clon=180
+<71516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal Puck Areographic, clon=180
+<71517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# North Polar Puck Areocentric, clon=0
+<71518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# North Polar Puck Areographic, clon=0
+<71519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# South Polar Puck Areocentric, clon=0
+<71520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# South Polar Puck Areographic, clon=0
+<71521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide Puck Areocentric, clon=0
+<71522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide Puck Areographic, clon=0
+<71523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide Puck Areocentric, clon=180
+<71524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide Puck Areographic, clon=180
+<71525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson Puck Areocentric, clon=0
+<71526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson Puck Areographic, clon=0
+<71527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson Puck Areocentric, clon=180
+<71528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson Puck Areographic, clon=180
+<71529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal AUTO Puck Areocentric
+<71560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Sinusoidal AUTO Puck Areographic
+<71561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Stereographic AUTO Puck Areocentric, clon=0
+<71562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Stereographic AUTO Puck Areographic, clon=0
+<71563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Transverse Mercator AUTO Puck Areocentric
+<71564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Transverse Mercator AUTO Puck Areographic
+<71565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Orthographic AUTO Puck Areocentric
+<71566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Orthographic AUTO Puck Areographic
+<71567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Puck Areocentric
+<71568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Puck Areographic
+<71569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Puck Areocentric
+<71570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Puck Areographic
+<71571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Puck Areocentric
+<71572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Puck Areographic
+<71573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mercator AUTO Puck Areocentric
+<71574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mercator AUTO Puck Areographic
+<71575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Albers AUTO Puck Areocentric
+<71576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Albers AUTO Puck Areographic
+<71577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide AUTO Puck Areocentric
+<71580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Mollweide AUTO Puck Areographic
+<71581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson AUTO Puck Areocentric
+<71582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# Robinson AUTO Puck Areographic
+<71583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=77000 +b=77000 +units=m +no_defs 
+# GEOGCS Neptune Areocentric
+<89900> 	+proj=longlat +a=24764000 +b=-1425034021.193139 +no_defs 
+# GEOGCS Neptune Areographic
+<89901> 	+proj=longlat +a=24764000 +b=-1425034021.193139 +no_defs 
+# Equirectangular Neptune Areocentric, clon=0
+<89910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equirectangular Neptune Areographic, clon=0
+<89911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equirectangular Neptune Areocentric, clon=180
+<89912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equirectangular Neptune Areographic, clon=180
+<89913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal Neptune Areocentric, clon=0
+<89914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal Neptune Areographic, clon=0
+<89915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal Neptune Areocentric, clon=180
+<89916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal Neptune Areographic, clon=180
+<89917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# North Polar Neptune Areocentric, clon=0
+<89918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# North Polar Neptune Areographic, clon=0
+<89919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# South Polar Neptune Areocentric, clon=0
+<89920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# South Polar Neptune Areographic, clon=0
+<89921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide Neptune Areocentric, clon=0
+<89922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide Neptune Areographic, clon=0
+<89923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide Neptune Areocentric, clon=180
+<89924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide Neptune Areographic, clon=180
+<89925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson Neptune Areocentric, clon=0
+<89926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson Neptune Areographic, clon=0
+<89927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson Neptune Areocentric, clon=180
+<89928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson Neptune Areographic, clon=180
+<89929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal AUTO Neptune Areocentric
+<89960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Sinusoidal AUTO Neptune Areographic
+<89961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Stereographic AUTO Neptune Areocentric, clon=0
+<89962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Stereographic AUTO Neptune Areographic, clon=0
+<89963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Transverse Mercator AUTO Neptune Areocentric
+<89964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Transverse Mercator AUTO Neptune Areographic
+<89965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Orthographic AUTO Neptune Areocentric
+<89966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Orthographic AUTO Neptune Areographic
+<89967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Neptune Areocentric
+<89968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Neptune Areographic
+<89969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Neptune Areocentric
+<89970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Neptune Areographic
+<89971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Neptune Areocentric
+<89972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Neptune Areographic
+<89973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mercator AUTO Neptune Areocentric
+<89974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mercator AUTO Neptune Areographic
+<89975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Albers AUTO Neptune Areocentric
+<89976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Albers AUTO Neptune Areographic
+<89977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide AUTO Neptune Areocentric
+<89980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Mollweide AUTO Neptune Areographic
+<89981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson AUTO Neptune Areocentric
+<89982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# Robinson AUTO Neptune Areographic
+<89983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=24764000 +b=-1425034021.193139 +units=m +no_defs 
+# GEOGCS Triton Areocentric
+<80100> 	+proj=longlat +a=1352600 +b=1352600 +no_defs 
+# GEOGCS Triton Areographic
+<80101> 	+proj=longlat +a=1352600 +b=1352600 +no_defs 
+# Equirectangular Triton Areocentric, clon=0
+<80110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equirectangular Triton Areographic, clon=0
+<80111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equirectangular Triton Areocentric, clon=180
+<80112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equirectangular Triton Areographic, clon=180
+<80113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal Triton Areocentric, clon=0
+<80114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal Triton Areographic, clon=0
+<80115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal Triton Areocentric, clon=180
+<80116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal Triton Areographic, clon=180
+<80117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# North Polar Triton Areocentric, clon=0
+<80118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# North Polar Triton Areographic, clon=0
+<80119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# South Polar Triton Areocentric, clon=0
+<80120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# South Polar Triton Areographic, clon=0
+<80121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide Triton Areocentric, clon=0
+<80122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide Triton Areographic, clon=0
+<80123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide Triton Areocentric, clon=180
+<80124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide Triton Areographic, clon=180
+<80125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson Triton Areocentric, clon=0
+<80126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson Triton Areographic, clon=0
+<80127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson Triton Areocentric, clon=180
+<80128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson Triton Areographic, clon=180
+<80129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal AUTO Triton Areocentric
+<80160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Sinusoidal AUTO Triton Areographic
+<80161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Stereographic AUTO Triton Areocentric, clon=0
+<80162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Stereographic AUTO Triton Areographic, clon=0
+<80163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Transverse Mercator AUTO Triton Areocentric
+<80164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Transverse Mercator AUTO Triton Areographic
+<80165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Orthographic AUTO Triton Areocentric
+<80166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Orthographic AUTO Triton Areographic
+<80167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Triton Areocentric
+<80168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Triton Areographic
+<80169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Triton Areocentric
+<80170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Triton Areographic
+<80171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Triton Areocentric
+<80172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Triton Areographic
+<80173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mercator AUTO Triton Areocentric
+<80174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mercator AUTO Triton Areographic
+<80175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Albers AUTO Triton Areocentric
+<80176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Albers AUTO Triton Areographic
+<80177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide AUTO Triton Areocentric
+<80180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Mollweide AUTO Triton Areographic
+<80181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson AUTO Triton Areocentric
+<80182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# Robinson AUTO Triton Areographic
+<80183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1352600 +b=1352600 +units=m +no_defs 
+# GEOGCS Nereid Areocentric
+<80200> 	+proj=longlat +a=170000 +b=170000 +no_defs 
+# GEOGCS Nereid Areographic
+<80201> 	+proj=longlat +a=170000 +b=170000 +no_defs 
+# Equirectangular Nereid Areocentric, clon=0
+<80210> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equirectangular Nereid Areographic, clon=0
+<80211> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equirectangular Nereid Areocentric, clon=180
+<80212> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equirectangular Nereid Areographic, clon=180
+<80213> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal Nereid Areocentric, clon=0
+<80214> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal Nereid Areographic, clon=0
+<80215> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal Nereid Areocentric, clon=180
+<80216> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal Nereid Areographic, clon=180
+<80217> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# North Polar Nereid Areocentric, clon=0
+<80218> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# North Polar Nereid Areographic, clon=0
+<80219> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# South Polar Nereid Areocentric, clon=0
+<80220> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# South Polar Nereid Areographic, clon=0
+<80221> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide Nereid Areocentric, clon=0
+<80222> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide Nereid Areographic, clon=0
+<80223> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide Nereid Areocentric, clon=180
+<80224> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide Nereid Areographic, clon=180
+<80225> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson Nereid Areocentric, clon=0
+<80226> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson Nereid Areographic, clon=0
+<80227> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson Nereid Areocentric, clon=180
+<80228> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson Nereid Areographic, clon=180
+<80229> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal AUTO Nereid Areocentric
+<80260> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Sinusoidal AUTO Nereid Areographic
+<80261> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Stereographic AUTO Nereid Areocentric, clon=0
+<80262> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Stereographic AUTO Nereid Areographic, clon=0
+<80263> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Transverse Mercator AUTO Nereid Areocentric
+<80264> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Transverse Mercator AUTO Nereid Areographic
+<80265> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Orthographic AUTO Nereid Areocentric
+<80266> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Orthographic AUTO Nereid Areographic
+<80267> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Nereid Areocentric
+<80268> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Nereid Areographic
+<80269> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Nereid Areocentric
+<80270> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Nereid Areographic
+<80271> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Nereid Areocentric
+<80272> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Nereid Areographic
+<80273> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mercator AUTO Nereid Areocentric
+<80274> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mercator AUTO Nereid Areographic
+<80275> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Albers AUTO Nereid Areocentric
+<80276> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Albers AUTO Nereid Areographic
+<80277> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide AUTO Nereid Areocentric
+<80280> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Mollweide AUTO Nereid Areographic
+<80281> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson AUTO Nereid Areocentric
+<80282> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# Robinson AUTO Nereid Areographic
+<80283> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=170000 +b=170000 +units=m +no_defs 
+# GEOGCS Naiad Areocentric
+<80300> 	+proj=longlat +a=29000 +b=29000 +no_defs 
+# GEOGCS Naiad Areographic
+<80301> 	+proj=longlat +a=29000 +b=29000 +no_defs 
+# Equirectangular Naiad Areocentric, clon=0
+<80310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equirectangular Naiad Areographic, clon=0
+<80311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equirectangular Naiad Areocentric, clon=180
+<80312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equirectangular Naiad Areographic, clon=180
+<80313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal Naiad Areocentric, clon=0
+<80314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal Naiad Areographic, clon=0
+<80315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal Naiad Areocentric, clon=180
+<80316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal Naiad Areographic, clon=180
+<80317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# North Polar Naiad Areocentric, clon=0
+<80318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# North Polar Naiad Areographic, clon=0
+<80319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# South Polar Naiad Areocentric, clon=0
+<80320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# South Polar Naiad Areographic, clon=0
+<80321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide Naiad Areocentric, clon=0
+<80322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide Naiad Areographic, clon=0
+<80323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide Naiad Areocentric, clon=180
+<80324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide Naiad Areographic, clon=180
+<80325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson Naiad Areocentric, clon=0
+<80326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson Naiad Areographic, clon=0
+<80327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson Naiad Areocentric, clon=180
+<80328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson Naiad Areographic, clon=180
+<80329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal AUTO Naiad Areocentric
+<80360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Sinusoidal AUTO Naiad Areographic
+<80361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Stereographic AUTO Naiad Areocentric, clon=0
+<80362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Stereographic AUTO Naiad Areographic, clon=0
+<80363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Transverse Mercator AUTO Naiad Areocentric
+<80364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Transverse Mercator AUTO Naiad Areographic
+<80365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Orthographic AUTO Naiad Areocentric
+<80366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Orthographic AUTO Naiad Areographic
+<80367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Naiad Areocentric
+<80368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Naiad Areographic
+<80369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Naiad Areocentric
+<80370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Naiad Areographic
+<80371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Naiad Areocentric
+<80372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Naiad Areographic
+<80373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mercator AUTO Naiad Areocentric
+<80374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mercator AUTO Naiad Areographic
+<80375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Albers AUTO Naiad Areocentric
+<80376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Albers AUTO Naiad Areographic
+<80377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide AUTO Naiad Areocentric
+<80380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Mollweide AUTO Naiad Areographic
+<80381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson AUTO Naiad Areocentric
+<80382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# Robinson AUTO Naiad Areographic
+<80383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=29000 +b=29000 +units=m +no_defs 
+# GEOGCS Thalassa Areocentric
+<80400> 	+proj=longlat +a=40000 +b=40000 +no_defs 
+# GEOGCS Thalassa Areographic
+<80401> 	+proj=longlat +a=40000 +b=40000 +no_defs 
+# Equirectangular Thalassa Areocentric, clon=0
+<80410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Thalassa Areographic, clon=0
+<80411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Thalassa Areocentric, clon=180
+<80412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equirectangular Thalassa Areographic, clon=180
+<80413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Thalassa Areocentric, clon=0
+<80414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Thalassa Areographic, clon=0
+<80415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Thalassa Areocentric, clon=180
+<80416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal Thalassa Areographic, clon=180
+<80417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# North Polar Thalassa Areocentric, clon=0
+<80418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# North Polar Thalassa Areographic, clon=0
+<80419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# South Polar Thalassa Areocentric, clon=0
+<80420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# South Polar Thalassa Areographic, clon=0
+<80421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Thalassa Areocentric, clon=0
+<80422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Thalassa Areographic, clon=0
+<80423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Thalassa Areocentric, clon=180
+<80424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide Thalassa Areographic, clon=180
+<80425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Thalassa Areocentric, clon=0
+<80426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Thalassa Areographic, clon=0
+<80427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Thalassa Areocentric, clon=180
+<80428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson Thalassa Areographic, clon=180
+<80429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal AUTO Thalassa Areocentric
+<80460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Sinusoidal AUTO Thalassa Areographic
+<80461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Stereographic AUTO Thalassa Areocentric, clon=0
+<80462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Stereographic AUTO Thalassa Areographic, clon=0
+<80463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Transverse Mercator AUTO Thalassa Areocentric
+<80464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Transverse Mercator AUTO Thalassa Areographic
+<80465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Orthographic AUTO Thalassa Areocentric
+<80466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Orthographic AUTO Thalassa Areographic
+<80467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Thalassa Areocentric
+<80468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Thalassa Areographic
+<80469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Thalassa Areocentric
+<80470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Thalassa Areographic
+<80471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Thalassa Areocentric
+<80472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Thalassa Areographic
+<80473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mercator AUTO Thalassa Areocentric
+<80474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mercator AUTO Thalassa Areographic
+<80475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Albers AUTO Thalassa Areocentric
+<80476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Albers AUTO Thalassa Areographic
+<80477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide AUTO Thalassa Areocentric
+<80480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Mollweide AUTO Thalassa Areographic
+<80481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson AUTO Thalassa Areocentric
+<80482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# Robinson AUTO Thalassa Areographic
+<80483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=40000 +b=40000 +units=m +no_defs 
+# GEOGCS Despina Areocentric
+<80500> 	+proj=longlat +a=74000 +b=74000 +no_defs 
+# GEOGCS Despina Areographic
+<80501> 	+proj=longlat +a=74000 +b=74000 +no_defs 
+# Equirectangular Despina Areocentric, clon=0
+<80510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equirectangular Despina Areographic, clon=0
+<80511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equirectangular Despina Areocentric, clon=180
+<80512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equirectangular Despina Areographic, clon=180
+<80513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal Despina Areocentric, clon=0
+<80514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal Despina Areographic, clon=0
+<80515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal Despina Areocentric, clon=180
+<80516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal Despina Areographic, clon=180
+<80517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# North Polar Despina Areocentric, clon=0
+<80518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# North Polar Despina Areographic, clon=0
+<80519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# South Polar Despina Areocentric, clon=0
+<80520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# South Polar Despina Areographic, clon=0
+<80521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide Despina Areocentric, clon=0
+<80522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide Despina Areographic, clon=0
+<80523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide Despina Areocentric, clon=180
+<80524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide Despina Areographic, clon=180
+<80525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson Despina Areocentric, clon=0
+<80526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson Despina Areographic, clon=0
+<80527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson Despina Areocentric, clon=180
+<80528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson Despina Areographic, clon=180
+<80529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal AUTO Despina Areocentric
+<80560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Sinusoidal AUTO Despina Areographic
+<80561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Stereographic AUTO Despina Areocentric, clon=0
+<80562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Stereographic AUTO Despina Areographic, clon=0
+<80563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Transverse Mercator AUTO Despina Areocentric
+<80564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Transverse Mercator AUTO Despina Areographic
+<80565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Orthographic AUTO Despina Areocentric
+<80566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Orthographic AUTO Despina Areographic
+<80567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Despina Areocentric
+<80568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Despina Areographic
+<80569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Despina Areocentric
+<80570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Despina Areographic
+<80571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Despina Areocentric
+<80572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Despina Areographic
+<80573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mercator AUTO Despina Areocentric
+<80574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mercator AUTO Despina Areographic
+<80575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Albers AUTO Despina Areocentric
+<80576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Albers AUTO Despina Areographic
+<80577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide AUTO Despina Areocentric
+<80580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Mollweide AUTO Despina Areographic
+<80581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson AUTO Despina Areocentric
+<80582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# Robinson AUTO Despina Areographic
+<80583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=74000 +b=74000 +units=m +no_defs 
+# GEOGCS Galatea Areocentric
+<80600> 	+proj=longlat +a=79000 +b=79000 +no_defs 
+# GEOGCS Galatea Areographic
+<80601> 	+proj=longlat +a=79000 +b=79000 +no_defs 
+# Equirectangular Galatea Areocentric, clon=0
+<80610> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equirectangular Galatea Areographic, clon=0
+<80611> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equirectangular Galatea Areocentric, clon=180
+<80612> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equirectangular Galatea Areographic, clon=180
+<80613> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal Galatea Areocentric, clon=0
+<80614> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal Galatea Areographic, clon=0
+<80615> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal Galatea Areocentric, clon=180
+<80616> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal Galatea Areographic, clon=180
+<80617> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# North Polar Galatea Areocentric, clon=0
+<80618> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# North Polar Galatea Areographic, clon=0
+<80619> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# South Polar Galatea Areocentric, clon=0
+<80620> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# South Polar Galatea Areographic, clon=0
+<80621> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide Galatea Areocentric, clon=0
+<80622> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide Galatea Areographic, clon=0
+<80623> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide Galatea Areocentric, clon=180
+<80624> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide Galatea Areographic, clon=180
+<80625> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson Galatea Areocentric, clon=0
+<80626> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson Galatea Areographic, clon=0
+<80627> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson Galatea Areocentric, clon=180
+<80628> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson Galatea Areographic, clon=180
+<80629> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal AUTO Galatea Areocentric
+<80660> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Sinusoidal AUTO Galatea Areographic
+<80661> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Stereographic AUTO Galatea Areocentric, clon=0
+<80662> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Stereographic AUTO Galatea Areographic, clon=0
+<80663> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Transverse Mercator AUTO Galatea Areocentric
+<80664> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Transverse Mercator AUTO Galatea Areographic
+<80665> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Orthographic AUTO Galatea Areocentric
+<80666> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Orthographic AUTO Galatea Areographic
+<80667> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Galatea Areocentric
+<80668> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Galatea Areographic
+<80669> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Galatea Areocentric
+<80670> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Galatea Areographic
+<80671> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Galatea Areocentric
+<80672> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Galatea Areographic
+<80673> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mercator AUTO Galatea Areocentric
+<80674> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mercator AUTO Galatea Areographic
+<80675> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Albers AUTO Galatea Areocentric
+<80676> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Albers AUTO Galatea Areographic
+<80677> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide AUTO Galatea Areocentric
+<80680> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Mollweide AUTO Galatea Areographic
+<80681> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson AUTO Galatea Areocentric
+<80682> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# Robinson AUTO Galatea Areographic
+<80683> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=79000 +b=79000 +units=m +no_defs 
+# GEOGCS Larissa Areocentric
+<80700> 	+proj=longlat +a=96000 +b=-1220565.409986697 +no_defs 
+# GEOGCS Larissa Areographic
+<80701> 	+proj=longlat +a=96000 +b=-1220565.409986697 +no_defs 
+# Equirectangular Larissa Areocentric, clon=0
+<80710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equirectangular Larissa Areographic, clon=0
+<80711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equirectangular Larissa Areocentric, clon=180
+<80712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equirectangular Larissa Areographic, clon=180
+<80713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal Larissa Areocentric, clon=0
+<80714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal Larissa Areographic, clon=0
+<80715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal Larissa Areocentric, clon=180
+<80716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal Larissa Areographic, clon=180
+<80717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# North Polar Larissa Areocentric, clon=0
+<80718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# North Polar Larissa Areographic, clon=0
+<80719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# South Polar Larissa Areocentric, clon=0
+<80720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# South Polar Larissa Areographic, clon=0
+<80721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide Larissa Areocentric, clon=0
+<80722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide Larissa Areographic, clon=0
+<80723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide Larissa Areocentric, clon=180
+<80724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide Larissa Areographic, clon=180
+<80725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson Larissa Areocentric, clon=0
+<80726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson Larissa Areographic, clon=0
+<80727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson Larissa Areocentric, clon=180
+<80728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson Larissa Areographic, clon=180
+<80729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal AUTO Larissa Areocentric
+<80760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Sinusoidal AUTO Larissa Areographic
+<80761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Stereographic AUTO Larissa Areocentric, clon=0
+<80762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Stereographic AUTO Larissa Areographic, clon=0
+<80763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Transverse Mercator AUTO Larissa Areocentric
+<80764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Transverse Mercator AUTO Larissa Areographic
+<80765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Orthographic AUTO Larissa Areocentric
+<80766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Orthographic AUTO Larissa Areographic
+<80767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Larissa Areocentric
+<80768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Larissa Areographic
+<80769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Larissa Areocentric
+<80770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Larissa Areographic
+<80771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Larissa Areocentric
+<80772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Larissa Areographic
+<80773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mercator AUTO Larissa Areocentric
+<80774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mercator AUTO Larissa Areographic
+<80775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Albers AUTO Larissa Areocentric
+<80776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Albers AUTO Larissa Areographic
+<80777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide AUTO Larissa Areocentric
+<80780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Mollweide AUTO Larissa Areographic
+<80781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson AUTO Larissa Areocentric
+<80782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# Robinson AUTO Larissa Areographic
+<80783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=96000 +b=-1220565.409986697 +units=m +no_defs 
+# GEOGCS Proteus Areocentric
+<80800> 	+proj=longlat +a=208000 +b=208000 +no_defs 
+# GEOGCS Proteus Areographic
+<80801> 	+proj=longlat +a=208000 +b=208000 +no_defs 
+# Equirectangular Proteus Areocentric, clon=0
+<80810> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equirectangular Proteus Areographic, clon=0
+<80811> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equirectangular Proteus Areocentric, clon=180
+<80812> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equirectangular Proteus Areographic, clon=180
+<80813> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal Proteus Areocentric, clon=0
+<80814> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal Proteus Areographic, clon=0
+<80815> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal Proteus Areocentric, clon=180
+<80816> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal Proteus Areographic, clon=180
+<80817> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# North Polar Proteus Areocentric, clon=0
+<80818> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# North Polar Proteus Areographic, clon=0
+<80819> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# South Polar Proteus Areocentric, clon=0
+<80820> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# South Polar Proteus Areographic, clon=0
+<80821> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide Proteus Areocentric, clon=0
+<80822> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide Proteus Areographic, clon=0
+<80823> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide Proteus Areocentric, clon=180
+<80824> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide Proteus Areographic, clon=180
+<80825> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson Proteus Areocentric, clon=0
+<80826> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson Proteus Areographic, clon=0
+<80827> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson Proteus Areocentric, clon=180
+<80828> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson Proteus Areographic, clon=180
+<80829> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal AUTO Proteus Areocentric
+<80860> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Sinusoidal AUTO Proteus Areographic
+<80861> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Stereographic AUTO Proteus Areocentric, clon=0
+<80862> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Stereographic AUTO Proteus Areographic, clon=0
+<80863> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Transverse Mercator AUTO Proteus Areocentric
+<80864> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Transverse Mercator AUTO Proteus Areographic
+<80865> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Orthographic AUTO Proteus Areocentric
+<80866> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Orthographic AUTO Proteus Areographic
+<80867> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Proteus Areocentric
+<80868> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Proteus Areographic
+<80869> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Proteus Areocentric
+<80870> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Proteus Areographic
+<80871> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Proteus Areocentric
+<80872> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Proteus Areographic
+<80873> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mercator AUTO Proteus Areocentric
+<80874> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mercator AUTO Proteus Areographic
+<80875> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Albers AUTO Proteus Areocentric
+<80876> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Albers AUTO Proteus Areographic
+<80877> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide AUTO Proteus Areocentric
+<80880> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Mollweide AUTO Proteus Areographic
+<80881> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson AUTO Proteus Areocentric
+<80882> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# Robinson AUTO Proteus Areographic
+<80883> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=208000 +b=208000 +units=m +no_defs 
+# GEOGCS Pluto Areocentric
+<99900> 	+proj=longlat +a=1195000 +b=1195000 +no_defs 
+# GEOGCS Pluto Areographic
+<99901> 	+proj=longlat +a=1195000 +b=1195000 +no_defs 
+# Equirectangular Pluto Areocentric, clon=0
+<99910> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equirectangular Pluto Areographic, clon=0
+<99911> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equirectangular Pluto Areocentric, clon=180
+<99912> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equirectangular Pluto Areographic, clon=180
+<99913> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal Pluto Areocentric, clon=0
+<99914> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal Pluto Areographic, clon=0
+<99915> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal Pluto Areocentric, clon=180
+<99916> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal Pluto Areographic, clon=180
+<99917> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# North Polar Pluto Areocentric, clon=0
+<99918> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# North Polar Pluto Areographic, clon=0
+<99919> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# South Polar Pluto Areocentric, clon=0
+<99920> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# South Polar Pluto Areographic, clon=0
+<99921> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide Pluto Areocentric, clon=0
+<99922> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide Pluto Areographic, clon=0
+<99923> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide Pluto Areocentric, clon=180
+<99924> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide Pluto Areographic, clon=180
+<99925> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson Pluto Areocentric, clon=0
+<99926> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson Pluto Areographic, clon=0
+<99927> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson Pluto Areocentric, clon=180
+<99928> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson Pluto Areographic, clon=180
+<99929> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal AUTO Pluto Areocentric
+<99960> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Sinusoidal AUTO Pluto Areographic
+<99961> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Stereographic AUTO Pluto Areocentric, clon=0
+<99962> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Stereographic AUTO Pluto Areographic, clon=0
+<99963> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Transverse Mercator AUTO Pluto Areocentric
+<99964> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Transverse Mercator AUTO Pluto Areographic
+<99965> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Orthographic AUTO Pluto Areocentric
+<99966> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Orthographic AUTO Pluto Areographic
+<99967> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pluto Areocentric
+<99968> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Pluto Areographic
+<99969> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pluto Areocentric
+<99970> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Pluto Areographic
+<99971> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pluto Areocentric
+<99972> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Pluto Areographic
+<99973> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mercator AUTO Pluto Areocentric
+<99974> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mercator AUTO Pluto Areographic
+<99975> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Albers AUTO Pluto Areocentric
+<99976> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Albers AUTO Pluto Areographic
+<99977> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide AUTO Pluto Areocentric
+<99980> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Mollweide AUTO Pluto Areographic
+<99981> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson AUTO Pluto Areocentric
+<99982> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# Robinson AUTO Pluto Areographic
+<99983> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1195000 +b=1195000 +units=m +no_defs 
+# GEOGCS Charon Areocentric
+<90100> 	+proj=longlat +a=605000 +b=605000 +no_defs 
+# GEOGCS Charon Areographic
+<90101> 	+proj=longlat +a=605000 +b=605000 +no_defs 
+# Equirectangular Charon Areocentric, clon=0
+<90110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Equirectangular Charon Areographic, clon=0
+<90111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Equirectangular Charon Areocentric, clon=180
+<90112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Equirectangular Charon Areographic, clon=180
+<90113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Sinusoidal Charon Areocentric, clon=0
+<90114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Sinusoidal Charon Areographic, clon=0
+<90115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Sinusoidal Charon Areocentric, clon=180
+<90116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Sinusoidal Charon Areographic, clon=180
+<90117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# North Polar Charon Areocentric, clon=0
+<90118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# North Polar Charon Areographic, clon=0
+<90119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# South Polar Charon Areocentric, clon=0
+<90120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# South Polar Charon Areographic, clon=0
+<90121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Mollweide Charon Areocentric, clon=0
+<90122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Mollweide Charon Areographic, clon=0
+<90123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Mollweide Charon Areocentric, clon=180
+<90124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Mollweide Charon Areographic, clon=180
+<90125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Robinson Charon Areocentric, clon=0
+<90126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Robinson Charon Areographic, clon=0
+<90127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Robinson Charon Areocentric, clon=180
+<90128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Robinson Charon Areographic, clon=180
+<90129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Sinusoidal AUTO Charon Areocentric
+<90160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Sinusoidal AUTO Charon Areographic
+<90161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Stereographic AUTO Charon Areocentric, clon=0
+<90162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Stereographic AUTO Charon Areographic, clon=0
+<90163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Transverse Mercator AUTO Charon Areocentric
+<90164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Transverse Mercator AUTO Charon Areographic
+<90165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Orthographic AUTO Charon Areocentric
+<90166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Orthographic AUTO Charon Areographic
+<90167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Charon Areocentric
+<90168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Charon Areographic
+<90169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Charon Areocentric
+<90170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Charon Areographic
+<90171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Charon Areocentric
+<90172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Charon Areographic
+<90173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Mercator AUTO Charon Areocentric
+<90174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Mercator AUTO Charon Areographic
+<90175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Albers AUTO Charon Areocentric
+<90176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Albers AUTO Charon Areographic
+<90177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Mollweide AUTO Charon Areocentric
+<90180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Mollweide AUTO Charon Areographic
+<90181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Robinson AUTO Charon Areocentric
+<90182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# Robinson AUTO Charon Areographic
+<90183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=605000 +b=605000 +units=m +no_defs 
+# GEOGCS Borrelly Areocentric
+<100000500> 	+proj=longlat +a=4220 +b=4220 +no_defs 
+# GEOGCS Borrelly Areographic
+<100000501> 	+proj=longlat +a=4220 +b=4220 +no_defs 
+# Equirectangular Borrelly Areocentric, clon=0
+<100000510> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Equirectangular Borrelly Areographic, clon=0
+<100000511> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Equirectangular Borrelly Areocentric, clon=180
+<100000512> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Equirectangular Borrelly Areographic, clon=180
+<100000513> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Sinusoidal Borrelly Areocentric, clon=0
+<100000514> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Sinusoidal Borrelly Areographic, clon=0
+<100000515> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Sinusoidal Borrelly Areocentric, clon=180
+<100000516> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Sinusoidal Borrelly Areographic, clon=180
+<100000517> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# North Polar Borrelly Areocentric, clon=0
+<100000518> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# North Polar Borrelly Areographic, clon=0
+<100000519> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# South Polar Borrelly Areocentric, clon=0
+<100000520> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# South Polar Borrelly Areographic, clon=0
+<100000521> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Mollweide Borrelly Areocentric, clon=0
+<100000522> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Mollweide Borrelly Areographic, clon=0
+<100000523> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Mollweide Borrelly Areocentric, clon=180
+<100000524> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Mollweide Borrelly Areographic, clon=180
+<100000525> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Robinson Borrelly Areocentric, clon=0
+<100000526> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Robinson Borrelly Areographic, clon=0
+<100000527> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Robinson Borrelly Areocentric, clon=180
+<100000528> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Robinson Borrelly Areographic, clon=180
+<100000529> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Sinusoidal AUTO Borrelly Areocentric
+<100000560> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Sinusoidal AUTO Borrelly Areographic
+<100000561> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Stereographic AUTO Borrelly Areocentric, clon=0
+<100000562> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Stereographic AUTO Borrelly Areographic, clon=0
+<100000563> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Transverse Mercator AUTO Borrelly Areocentric
+<100000564> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Transverse Mercator AUTO Borrelly Areographic
+<100000565> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Orthographic AUTO Borrelly Areocentric
+<100000566> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Orthographic AUTO Borrelly Areographic
+<100000567> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Borrelly Areocentric
+<100000568> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Borrelly Areographic
+<100000569> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Borrelly Areocentric
+<100000570> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Borrelly Areographic
+<100000571> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Borrelly Areocentric
+<100000572> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Borrelly Areographic
+<100000573> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Mercator AUTO Borrelly Areocentric
+<100000574> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Mercator AUTO Borrelly Areographic
+<100000575> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Albers AUTO Borrelly Areocentric
+<100000576> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Albers AUTO Borrelly Areographic
+<100000577> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Mollweide AUTO Borrelly Areocentric
+<100000580> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Mollweide AUTO Borrelly Areographic
+<100000581> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Robinson AUTO Borrelly Areocentric
+<100000582> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# Robinson AUTO Borrelly Areographic
+<100000583> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=4220 +b=4220 +units=m +no_defs 
+# GEOGCS Tempel 1 Areocentric
+<100009300> 	+proj=longlat +a=3000 +b=3000 +no_defs 
+# GEOGCS Tempel 1 Areographic
+<100009301> 	+proj=longlat +a=3000 +b=3000 +no_defs 
+# Equirectangular Tempel 1 Areocentric, clon=0
+<100009310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Equirectangular Tempel 1 Areographic, clon=0
+<100009311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Equirectangular Tempel 1 Areocentric, clon=180
+<100009312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Equirectangular Tempel 1 Areographic, clon=180
+<100009313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Sinusoidal Tempel 1 Areocentric, clon=0
+<100009314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Sinusoidal Tempel 1 Areographic, clon=0
+<100009315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Sinusoidal Tempel 1 Areocentric, clon=180
+<100009316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Sinusoidal Tempel 1 Areographic, clon=180
+<100009317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# North Polar Tempel 1 Areocentric, clon=0
+<100009318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# North Polar Tempel 1 Areographic, clon=0
+<100009319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# South Polar Tempel 1 Areocentric, clon=0
+<100009320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# South Polar Tempel 1 Areographic, clon=0
+<100009321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Mollweide Tempel 1 Areocentric, clon=0
+<100009322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Mollweide Tempel 1 Areographic, clon=0
+<100009323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Mollweide Tempel 1 Areocentric, clon=180
+<100009324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Mollweide Tempel 1 Areographic, clon=180
+<100009325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Robinson Tempel 1 Areocentric, clon=0
+<100009326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Robinson Tempel 1 Areographic, clon=0
+<100009327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Robinson Tempel 1 Areocentric, clon=180
+<100009328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Robinson Tempel 1 Areographic, clon=180
+<100009329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Sinusoidal AUTO Tempel 1 Areocentric
+<100009360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Sinusoidal AUTO Tempel 1 Areographic
+<100009361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Stereographic AUTO Tempel 1 Areocentric, clon=0
+<100009362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Stereographic AUTO Tempel 1 Areographic, clon=0
+<100009363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Transverse Mercator AUTO Tempel 1 Areocentric
+<100009364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Transverse Mercator AUTO Tempel 1 Areographic
+<100009365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Orthographic AUTO Tempel 1 Areocentric
+<100009366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Orthographic AUTO Tempel 1 Areographic
+<100009367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Tempel 1 Areocentric
+<100009368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Tempel 1 Areographic
+<100009369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Tempel 1 Areocentric
+<100009370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Tempel 1 Areographic
+<100009371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Tempel 1 Areocentric
+<100009372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Tempel 1 Areographic
+<100009373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Mercator AUTO Tempel 1 Areocentric
+<100009374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Mercator AUTO Tempel 1 Areographic
+<100009375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Albers AUTO Tempel 1 Areocentric
+<100009376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Albers AUTO Tempel 1 Areographic
+<100009377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Mollweide AUTO Tempel 1 Areocentric
+<100009380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Mollweide AUTO Tempel 1 Areographic
+<100009381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Robinson AUTO Tempel 1 Areocentric
+<100009382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# Robinson AUTO Tempel 1 Areographic
+<100009383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=3000 +b=3000 +units=m +no_defs 
+# GEOGCS Wild 2 Areocentric
+<100010700> 	+proj=longlat +a=1975 +b=1975 +no_defs 
+# GEOGCS Wild 2 Areographic
+<100010701> 	+proj=longlat +a=1975 +b=1975 +no_defs 
+# Equirectangular Wild 2 Areocentric, clon=0
+<100010710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Equirectangular Wild 2 Areographic, clon=0
+<100010711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Equirectangular Wild 2 Areocentric, clon=180
+<100010712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Equirectangular Wild 2 Areographic, clon=180
+<100010713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Sinusoidal Wild 2 Areocentric, clon=0
+<100010714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Sinusoidal Wild 2 Areographic, clon=0
+<100010715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Sinusoidal Wild 2 Areocentric, clon=180
+<100010716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Sinusoidal Wild 2 Areographic, clon=180
+<100010717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# North Polar Wild 2 Areocentric, clon=0
+<100010718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# North Polar Wild 2 Areographic, clon=0
+<100010719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# South Polar Wild 2 Areocentric, clon=0
+<100010720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# South Polar Wild 2 Areographic, clon=0
+<100010721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Mollweide Wild 2 Areocentric, clon=0
+<100010722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Mollweide Wild 2 Areographic, clon=0
+<100010723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Mollweide Wild 2 Areocentric, clon=180
+<100010724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Mollweide Wild 2 Areographic, clon=180
+<100010725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Robinson Wild 2 Areocentric, clon=0
+<100010726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Robinson Wild 2 Areographic, clon=0
+<100010727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Robinson Wild 2 Areocentric, clon=180
+<100010728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Robinson Wild 2 Areographic, clon=180
+<100010729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Sinusoidal AUTO Wild 2 Areocentric
+<100010760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Sinusoidal AUTO Wild 2 Areographic
+<100010761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Stereographic AUTO Wild 2 Areocentric, clon=0
+<100010762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Stereographic AUTO Wild 2 Areographic, clon=0
+<100010763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Transverse Mercator AUTO Wild 2 Areocentric
+<100010764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Transverse Mercator AUTO Wild 2 Areographic
+<100010765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Orthographic AUTO Wild 2 Areocentric
+<100010766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Orthographic AUTO Wild 2 Areographic
+<100010767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Wild 2 Areocentric
+<100010768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Wild 2 Areographic
+<100010769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Wild 2 Areocentric
+<100010770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Wild 2 Areographic
+<100010771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Wild 2 Areocentric
+<100010772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Wild 2 Areographic
+<100010773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Mercator AUTO Wild 2 Areocentric
+<100010774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Mercator AUTO Wild 2 Areographic
+<100010775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Albers AUTO Wild 2 Areocentric
+<100010776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Albers AUTO Wild 2 Areographic
+<100010777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Mollweide AUTO Wild 2 Areocentric
+<100010780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Mollweide AUTO Wild 2 Areographic
+<100010781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Robinson AUTO Wild 2 Areocentric
+<100010782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# Robinson AUTO Wild 2 Areographic
+<100010783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=1975 +b=1975 +units=m +no_defs 
+# GEOGCS Gaspra Areocentric
+<951101000> 	+proj=longlat +a=6100 +b=6100 +no_defs 
+# GEOGCS Gaspra Areographic
+<951101001> 	+proj=longlat +a=6100 +b=6100 +no_defs 
+# Equirectangular Gaspra Areocentric, clon=0
+<951101010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equirectangular Gaspra Areographic, clon=0
+<951101011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equirectangular Gaspra Areocentric, clon=180
+<951101012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equirectangular Gaspra Areographic, clon=180
+<951101013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal Gaspra Areocentric, clon=0
+<951101014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal Gaspra Areographic, clon=0
+<951101015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal Gaspra Areocentric, clon=180
+<951101016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal Gaspra Areographic, clon=180
+<951101017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# North Polar Gaspra Areocentric, clon=0
+<951101018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# North Polar Gaspra Areographic, clon=0
+<951101019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# South Polar Gaspra Areocentric, clon=0
+<951101020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# South Polar Gaspra Areographic, clon=0
+<951101021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide Gaspra Areocentric, clon=0
+<951101022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide Gaspra Areographic, clon=0
+<951101023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide Gaspra Areocentric, clon=180
+<951101024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide Gaspra Areographic, clon=180
+<951101025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson Gaspra Areocentric, clon=0
+<951101026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson Gaspra Areographic, clon=0
+<951101027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson Gaspra Areocentric, clon=180
+<951101028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson Gaspra Areographic, clon=180
+<951101029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal AUTO Gaspra Areocentric
+<951101060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Sinusoidal AUTO Gaspra Areographic
+<951101061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Stereographic AUTO Gaspra Areocentric, clon=0
+<951101062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Stereographic AUTO Gaspra Areographic, clon=0
+<951101063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Transverse Mercator AUTO Gaspra Areocentric
+<951101064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Transverse Mercator AUTO Gaspra Areographic
+<951101065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Orthographic AUTO Gaspra Areocentric
+<951101066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Orthographic AUTO Gaspra Areographic
+<951101067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Gaspra Areocentric
+<951101068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Gaspra Areographic
+<951101069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Gaspra Areocentric
+<951101070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Gaspra Areographic
+<951101071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Gaspra Areocentric
+<951101072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Gaspra Areographic
+<951101073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mercator AUTO Gaspra Areocentric
+<951101074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mercator AUTO Gaspra Areographic
+<951101075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Albers AUTO Gaspra Areocentric
+<951101076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Albers AUTO Gaspra Areographic
+<951101077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide AUTO Gaspra Areocentric
+<951101080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Mollweide AUTO Gaspra Areographic
+<951101081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson AUTO Gaspra Areocentric
+<951101082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# Robinson AUTO Gaspra Areographic
+<951101083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6100 +b=6100 +units=m +no_defs 
+# GEOGCS Ida Areocentric
+<243101000> 	+proj=longlat +a=15650 +b=15650 +no_defs 
+# GEOGCS Ida Areographic
+<243101001> 	+proj=longlat +a=15650 +b=15650 +no_defs 
+# Equirectangular Ida Areocentric, clon=0
+<243101010> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equirectangular Ida Areographic, clon=0
+<243101011> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equirectangular Ida Areocentric, clon=180
+<243101012> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equirectangular Ida Areographic, clon=180
+<243101013> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal Ida Areocentric, clon=0
+<243101014> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal Ida Areographic, clon=0
+<243101015> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal Ida Areocentric, clon=180
+<243101016> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal Ida Areographic, clon=180
+<243101017> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# North Polar Ida Areocentric, clon=0
+<243101018> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# North Polar Ida Areographic, clon=0
+<243101019> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# South Polar Ida Areocentric, clon=0
+<243101020> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# South Polar Ida Areographic, clon=0
+<243101021> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide Ida Areocentric, clon=0
+<243101022> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide Ida Areographic, clon=0
+<243101023> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide Ida Areocentric, clon=180
+<243101024> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide Ida Areographic, clon=180
+<243101025> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson Ida Areocentric, clon=0
+<243101026> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson Ida Areographic, clon=0
+<243101027> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson Ida Areocentric, clon=180
+<243101028> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson Ida Areographic, clon=180
+<243101029> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal AUTO Ida Areocentric
+<243101060> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Sinusoidal AUTO Ida Areographic
+<243101061> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Stereographic AUTO Ida Areocentric, clon=0
+<243101062> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Stereographic AUTO Ida Areographic, clon=0
+<243101063> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Transverse Mercator AUTO Ida Areocentric
+<243101064> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Transverse Mercator AUTO Ida Areographic
+<243101065> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Orthographic AUTO Ida Areocentric
+<243101066> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Orthographic AUTO Ida Areographic
+<243101067> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ida Areocentric
+<243101068> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ida Areographic
+<243101069> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ida Areocentric
+<243101070> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ida Areographic
+<243101071> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ida Areocentric
+<243101072> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ida Areographic
+<243101073> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mercator AUTO Ida Areocentric
+<243101074> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mercator AUTO Ida Areographic
+<243101075> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Albers AUTO Ida Areocentric
+<243101076> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Albers AUTO Ida Areographic
+<243101077> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide AUTO Ida Areocentric
+<243101080> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Mollweide AUTO Ida Areographic
+<243101081> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson AUTO Ida Areocentric
+<243101082> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# Robinson AUTO Ida Areographic
+<243101083> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=15650 +b=15650 +units=m +no_defs 
+# GEOGCS Ceres Areocentric
+<200000100> 	+proj=longlat +a=487300 +b=-6796814.859713897 +no_defs 
+# GEOGCS Ceres Areographic
+<200000101> 	+proj=longlat +a=487300 +b=-6796814.859713897 +no_defs 
+# Equirectangular Ceres Areocentric, clon=0
+<200000110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equirectangular Ceres Areographic, clon=0
+<200000111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equirectangular Ceres Areocentric, clon=180
+<200000112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equirectangular Ceres Areographic, clon=180
+<200000113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal Ceres Areocentric, clon=0
+<200000114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal Ceres Areographic, clon=0
+<200000115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal Ceres Areocentric, clon=180
+<200000116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal Ceres Areographic, clon=180
+<200000117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# North Polar Ceres Areocentric, clon=0
+<200000118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# North Polar Ceres Areographic, clon=0
+<200000119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# South Polar Ceres Areocentric, clon=0
+<200000120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# South Polar Ceres Areographic, clon=0
+<200000121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide Ceres Areocentric, clon=0
+<200000122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide Ceres Areographic, clon=0
+<200000123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide Ceres Areocentric, clon=180
+<200000124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide Ceres Areographic, clon=180
+<200000125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson Ceres Areocentric, clon=0
+<200000126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson Ceres Areographic, clon=0
+<200000127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson Ceres Areocentric, clon=180
+<200000128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson Ceres Areographic, clon=180
+<200000129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal AUTO Ceres Areocentric
+<200000160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Sinusoidal AUTO Ceres Areographic
+<200000161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Stereographic AUTO Ceres Areocentric, clon=0
+<200000162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Stereographic AUTO Ceres Areographic, clon=0
+<200000163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Transverse Mercator AUTO Ceres Areocentric
+<200000164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Transverse Mercator AUTO Ceres Areographic
+<200000165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Orthographic AUTO Ceres Areocentric
+<200000166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Orthographic AUTO Ceres Areographic
+<200000167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ceres Areocentric
+<200000168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Ceres Areographic
+<200000169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ceres Areocentric
+<200000170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Ceres Areographic
+<200000171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ceres Areocentric
+<200000172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Ceres Areographic
+<200000173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mercator AUTO Ceres Areocentric
+<200000174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mercator AUTO Ceres Areographic
+<200000175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Albers AUTO Ceres Areocentric
+<200000176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Albers AUTO Ceres Areographic
+<200000177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide AUTO Ceres Areocentric
+<200000180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Mollweide AUTO Ceres Areographic
+<200000181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson AUTO Ceres Areocentric
+<200000182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# Robinson AUTO Ceres Areographic
+<200000183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=487300 +b=-6796814.859713897 +units=m +no_defs 
+# GEOGCS Vesta Areocentric
+<200000400> 	+proj=longlat +a=255000 +b=255000 +no_defs 
+# GEOGCS Vesta Areographic
+<200000401> 	+proj=longlat +a=255000 +b=255000 +no_defs 
+# Equirectangular Vesta Areocentric, clon=0
+<200000410> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Equirectangular Vesta Areographic, clon=0
+<200000411> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Equirectangular Vesta Areocentric, clon=180
+<200000412> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Equirectangular Vesta Areographic, clon=180
+<200000413> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Sinusoidal Vesta Areocentric, clon=0
+<200000414> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Sinusoidal Vesta Areographic, clon=0
+<200000415> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Sinusoidal Vesta Areocentric, clon=180
+<200000416> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Sinusoidal Vesta Areographic, clon=180
+<200000417> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# North Polar Vesta Areocentric, clon=0
+<200000418> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# North Polar Vesta Areographic, clon=0
+<200000419> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# South Polar Vesta Areocentric, clon=0
+<200000420> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# South Polar Vesta Areographic, clon=0
+<200000421> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Mollweide Vesta Areocentric, clon=0
+<200000422> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Mollweide Vesta Areographic, clon=0
+<200000423> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Mollweide Vesta Areocentric, clon=180
+<200000424> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Mollweide Vesta Areographic, clon=180
+<200000425> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Robinson Vesta Areocentric, clon=0
+<200000426> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Robinson Vesta Areographic, clon=0
+<200000427> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Robinson Vesta Areocentric, clon=180
+<200000428> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Robinson Vesta Areographic, clon=180
+<200000429> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Sinusoidal AUTO Vesta Areocentric
+<200000460> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Sinusoidal AUTO Vesta Areographic
+<200000461> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Stereographic AUTO Vesta Areocentric, clon=0
+<200000462> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Stereographic AUTO Vesta Areographic, clon=0
+<200000463> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Transverse Mercator AUTO Vesta Areocentric
+<200000464> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Transverse Mercator AUTO Vesta Areographic
+<200000465> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Orthographic AUTO Vesta Areocentric
+<200000466> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Orthographic AUTO Vesta Areographic
+<200000467> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Vesta Areocentric
+<200000468> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Vesta Areographic
+<200000469> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Vesta Areocentric
+<200000470> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Vesta Areographic
+<200000471> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Vesta Areocentric
+<200000472> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Vesta Areographic
+<200000473> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Mercator AUTO Vesta Areocentric
+<200000474> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Mercator AUTO Vesta Areographic
+<200000475> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Albers AUTO Vesta Areocentric
+<200000476> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Albers AUTO Vesta Areographic
+<200000477> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Mollweide AUTO Vesta Areocentric
+<200000480> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Mollweide AUTO Vesta Areographic
+<200000481> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Robinson AUTO Vesta Areocentric
+<200000482> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# Robinson AUTO Vesta Areographic
+<200000483> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=255000 +b=255000 +units=m +no_defs 
+# GEOGCS Lutetia Areocentric
+<200002100> 	+proj=longlat +a=52500 +b=52500 +no_defs 
+# GEOGCS Lutetia Areographic
+<200002101> 	+proj=longlat +a=52500 +b=52500 +no_defs 
+# Equirectangular Lutetia Areocentric, clon=0
+<200002110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equirectangular Lutetia Areographic, clon=0
+<200002111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equirectangular Lutetia Areocentric, clon=180
+<200002112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equirectangular Lutetia Areographic, clon=180
+<200002113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal Lutetia Areocentric, clon=0
+<200002114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal Lutetia Areographic, clon=0
+<200002115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal Lutetia Areocentric, clon=180
+<200002116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal Lutetia Areographic, clon=180
+<200002117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# North Polar Lutetia Areocentric, clon=0
+<200002118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# North Polar Lutetia Areographic, clon=0
+<200002119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# South Polar Lutetia Areocentric, clon=0
+<200002120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# South Polar Lutetia Areographic, clon=0
+<200002121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide Lutetia Areocentric, clon=0
+<200002122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide Lutetia Areographic, clon=0
+<200002123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide Lutetia Areocentric, clon=180
+<200002124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide Lutetia Areographic, clon=180
+<200002125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson Lutetia Areocentric, clon=0
+<200002126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson Lutetia Areographic, clon=0
+<200002127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson Lutetia Areocentric, clon=180
+<200002128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson Lutetia Areographic, clon=180
+<200002129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal AUTO Lutetia Areocentric
+<200002160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Sinusoidal AUTO Lutetia Areographic
+<200002161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Stereographic AUTO Lutetia Areocentric, clon=0
+<200002162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Stereographic AUTO Lutetia Areographic, clon=0
+<200002163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Transverse Mercator AUTO Lutetia Areocentric
+<200002164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Transverse Mercator AUTO Lutetia Areographic
+<200002165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Orthographic AUTO Lutetia Areocentric
+<200002166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Orthographic AUTO Lutetia Areographic
+<200002167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Lutetia Areocentric
+<200002168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Lutetia Areographic
+<200002169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Lutetia Areocentric
+<200002170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Lutetia Areographic
+<200002171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Lutetia Areocentric
+<200002172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Lutetia Areographic
+<200002173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mercator AUTO Lutetia Areocentric
+<200002174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mercator AUTO Lutetia Areographic
+<200002175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Albers AUTO Lutetia Areocentric
+<200002176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Albers AUTO Lutetia Areographic
+<200002177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide AUTO Lutetia Areocentric
+<200002180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Mollweide AUTO Lutetia Areographic
+<200002181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson AUTO Lutetia Areocentric
+<200002182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# Robinson AUTO Lutetia Areographic
+<200002183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=52500 +b=52500 +units=m +no_defs 
+# GEOGCS Eros Areocentric
+<200043300> 	+proj=longlat +a=8450 +b=8450 +no_defs 
+# GEOGCS Eros Areographic
+<200043301> 	+proj=longlat +a=8450 +b=8450 +no_defs 
+# Equirectangular Eros Areocentric, clon=0
+<200043310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Equirectangular Eros Areographic, clon=0
+<200043311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Equirectangular Eros Areocentric, clon=180
+<200043312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Equirectangular Eros Areographic, clon=180
+<200043313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Sinusoidal Eros Areocentric, clon=0
+<200043314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Sinusoidal Eros Areographic, clon=0
+<200043315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Sinusoidal Eros Areocentric, clon=180
+<200043316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Sinusoidal Eros Areographic, clon=180
+<200043317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# North Polar Eros Areocentric, clon=0
+<200043318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# North Polar Eros Areographic, clon=0
+<200043319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# South Polar Eros Areocentric, clon=0
+<200043320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# South Polar Eros Areographic, clon=0
+<200043321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Mollweide Eros Areocentric, clon=0
+<200043322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Mollweide Eros Areographic, clon=0
+<200043323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Mollweide Eros Areocentric, clon=180
+<200043324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Mollweide Eros Areographic, clon=180
+<200043325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Robinson Eros Areocentric, clon=0
+<200043326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Robinson Eros Areographic, clon=0
+<200043327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Robinson Eros Areocentric, clon=180
+<200043328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Robinson Eros Areographic, clon=180
+<200043329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Sinusoidal AUTO Eros Areocentric
+<200043360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Sinusoidal AUTO Eros Areographic
+<200043361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Stereographic AUTO Eros Areocentric, clon=0
+<200043362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Stereographic AUTO Eros Areographic, clon=0
+<200043363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Transverse Mercator AUTO Eros Areocentric
+<200043364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Transverse Mercator AUTO Eros Areographic
+<200043365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Orthographic AUTO Eros Areocentric
+<200043366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Orthographic AUTO Eros Areographic
+<200043367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Eros Areocentric
+<200043368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Eros Areographic
+<200043369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Eros Areocentric
+<200043370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Eros Areographic
+<200043371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Eros Areocentric
+<200043372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Eros Areographic
+<200043373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Mercator AUTO Eros Areocentric
+<200043374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Mercator AUTO Eros Areographic
+<200043375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Albers AUTO Eros Areocentric
+<200043376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Albers AUTO Eros Areographic
+<200043377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Mollweide AUTO Eros Areocentric
+<200043380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Mollweide AUTO Eros Areographic
+<200043381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Robinson AUTO Eros Areocentric
+<200043382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# Robinson AUTO Eros Areographic
+<200043383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=8450 +b=8450 +units=m +no_defs 
+# GEOGCS Davida Areocentric
+<200051100> 	+proj=longlat +a=150000 +b=150000 +no_defs 
+# GEOGCS Davida Areographic
+<200051101> 	+proj=longlat +a=150000 +b=150000 +no_defs 
+# Equirectangular Davida Areocentric, clon=0
+<200051110> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Equirectangular Davida Areographic, clon=0
+<200051111> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Equirectangular Davida Areocentric, clon=180
+<200051112> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Equirectangular Davida Areographic, clon=180
+<200051113> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Sinusoidal Davida Areocentric, clon=0
+<200051114> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Sinusoidal Davida Areographic, clon=0
+<200051115> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Sinusoidal Davida Areocentric, clon=180
+<200051116> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Sinusoidal Davida Areographic, clon=180
+<200051117> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# North Polar Davida Areocentric, clon=0
+<200051118> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# North Polar Davida Areographic, clon=0
+<200051119> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# South Polar Davida Areocentric, clon=0
+<200051120> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# South Polar Davida Areographic, clon=0
+<200051121> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Mollweide Davida Areocentric, clon=0
+<200051122> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Mollweide Davida Areographic, clon=0
+<200051123> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Mollweide Davida Areocentric, clon=180
+<200051124> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Mollweide Davida Areographic, clon=180
+<200051125> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Robinson Davida Areocentric, clon=0
+<200051126> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Robinson Davida Areographic, clon=0
+<200051127> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Robinson Davida Areocentric, clon=180
+<200051128> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Robinson Davida Areographic, clon=180
+<200051129> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Sinusoidal AUTO Davida Areocentric
+<200051160> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Sinusoidal AUTO Davida Areographic
+<200051161> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Stereographic AUTO Davida Areocentric, clon=0
+<200051162> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Stereographic AUTO Davida Areographic, clon=0
+<200051163> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Transverse Mercator AUTO Davida Areocentric
+<200051164> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Transverse Mercator AUTO Davida Areographic
+<200051165> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Orthographic AUTO Davida Areocentric
+<200051166> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Orthographic AUTO Davida Areographic
+<200051167> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Davida Areocentric
+<200051168> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Davida Areographic
+<200051169> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Davida Areocentric
+<200051170> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Davida Areographic
+<200051171> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Davida Areocentric
+<200051172> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Davida Areographic
+<200051173> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Mercator AUTO Davida Areocentric
+<200051174> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Mercator AUTO Davida Areographic
+<200051175> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Albers AUTO Davida Areocentric
+<200051176> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Albers AUTO Davida Areographic
+<200051177> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Mollweide AUTO Davida Areocentric
+<200051180> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Mollweide AUTO Davida Areographic
+<200051181> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Robinson AUTO Davida Areocentric
+<200051182> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# Robinson AUTO Davida Areographic
+<200051183> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=150000 +b=150000 +units=m +no_defs 
+# GEOGCS Mathilde Areocentric
+<200025300> 	+proj=longlat +a=26500 +b=26500 +no_defs 
+# GEOGCS Mathilde Areographic
+<200025301> 	+proj=longlat +a=26500 +b=26500 +no_defs 
+# Equirectangular Mathilde Areocentric, clon=0
+<200025310> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Equirectangular Mathilde Areographic, clon=0
+<200025311> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Equirectangular Mathilde Areocentric, clon=180
+<200025312> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Equirectangular Mathilde Areographic, clon=180
+<200025313> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Sinusoidal Mathilde Areocentric, clon=0
+<200025314> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Sinusoidal Mathilde Areographic, clon=0
+<200025315> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Sinusoidal Mathilde Areocentric, clon=180
+<200025316> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Sinusoidal Mathilde Areographic, clon=180
+<200025317> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# North Polar Mathilde Areocentric, clon=0
+<200025318> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# North Polar Mathilde Areographic, clon=0
+<200025319> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# South Polar Mathilde Areocentric, clon=0
+<200025320> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# South Polar Mathilde Areographic, clon=0
+<200025321> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Mollweide Mathilde Areocentric, clon=0
+<200025322> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Mollweide Mathilde Areographic, clon=0
+<200025323> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Mollweide Mathilde Areocentric, clon=180
+<200025324> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Mollweide Mathilde Areographic, clon=180
+<200025325> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Robinson Mathilde Areocentric, clon=0
+<200025326> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Robinson Mathilde Areographic, clon=0
+<200025327> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Robinson Mathilde Areocentric, clon=180
+<200025328> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Robinson Mathilde Areographic, clon=180
+<200025329> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Sinusoidal AUTO Mathilde Areocentric
+<200025360> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Sinusoidal AUTO Mathilde Areographic
+<200025361> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Stereographic AUTO Mathilde Areocentric, clon=0
+<200025362> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Stereographic AUTO Mathilde Areographic, clon=0
+<200025363> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Transverse Mercator AUTO Mathilde Areocentric
+<200025364> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Transverse Mercator AUTO Mathilde Areographic
+<200025365> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Orthographic AUTO Mathilde Areocentric
+<200025366> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Orthographic AUTO Mathilde Areographic
+<200025367> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mathilde Areocentric
+<200025368> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Mathilde Areographic
+<200025369> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mathilde Areocentric
+<200025370> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Mathilde Areographic
+<200025371> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mathilde Areocentric
+<200025372> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Mathilde Areographic
+<200025373> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Mercator AUTO Mathilde Areocentric
+<200025374> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Mercator AUTO Mathilde Areographic
+<200025375> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Albers AUTO Mathilde Areocentric
+<200025376> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Albers AUTO Mathilde Areographic
+<200025377> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Mollweide AUTO Mathilde Areocentric
+<200025380> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Mollweide AUTO Mathilde Areographic
+<200025381> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Robinson AUTO Mathilde Areocentric
+<200025382> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# Robinson AUTO Mathilde Areographic
+<200025383> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=26500 +b=26500 +units=m +no_defs 
+# GEOGCS Steins Areocentric
+<200286700> 	+proj=longlat +a=2700 +b=2700 +no_defs 
+# GEOGCS Steins Areographic
+<200286701> 	+proj=longlat +a=2700 +b=2700 +no_defs 
+# Equirectangular Steins Areocentric, clon=0
+<200286710> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Equirectangular Steins Areographic, clon=0
+<200286711> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Equirectangular Steins Areocentric, clon=180
+<200286712> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Equirectangular Steins Areographic, clon=180
+<200286713> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=180 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Sinusoidal Steins Areocentric, clon=0
+<200286714> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Sinusoidal Steins Areographic, clon=0
+<200286715> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Sinusoidal Steins Areocentric, clon=180
+<200286716> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Sinusoidal Steins Areographic, clon=180
+<200286717> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# North Polar Steins Areocentric, clon=0
+<200286718> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# North Polar Steins Areographic, clon=0
+<200286719> 	+proj=stere +lat_0=90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# South Polar Steins Areocentric, clon=0
+<200286720> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# South Polar Steins Areographic, clon=0
+<200286721> 	+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Mollweide Steins Areocentric, clon=0
+<200286722> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Mollweide Steins Areographic, clon=0
+<200286723> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Mollweide Steins Areocentric, clon=180
+<200286724> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Mollweide Steins Areographic, clon=180
+<200286725> 	+proj=moll +lon_0=180 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Robinson Steins Areocentric, clon=0
+<200286726> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Robinson Steins Areographic, clon=0
+<200286727> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Robinson Steins Areocentric, clon=180
+<200286728> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Robinson Steins Areographic, clon=180
+<200286729> 	+proj=robin +lon_0=180 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Sinusoidal AUTO Steins Areocentric
+<200286760> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Sinusoidal AUTO Steins Areographic
+<200286761> 	+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Stereographic AUTO Steins Areocentric, clon=0
+<200286762> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Stereographic AUTO Steins Areographic, clon=0
+<200286763> 	+proj=stere +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Transverse Mercator AUTO Steins Areocentric
+<200286764> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Transverse Mercator AUTO Steins Areographic
+<200286765> 	+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Orthographic AUTO Steins Areocentric
+<200286766> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Orthographic AUTO Steins Areographic
+<200286767> 	+proj=ortho +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Steins Areocentric
+<200286768> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Equidistant Cylindrical AUTO Steins Areographic
+<200286769> 	+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Steins Areocentric
+<200286770> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Lambert Conformal Conic AUTO Steins Areographic
+<200286771> 	+proj=lcc +lat_1=-20 +lat_2=20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Steins Areocentric
+<200286772> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Lambert Azimuthal Equal Area AUTO Steins Areographic
+<200286773> 	+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Mercator AUTO Steins Areocentric
+<200286774> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Mercator AUTO Steins Areographic
+<200286775> 	+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Albers AUTO Steins Areocentric
+<200286776> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Albers AUTO Steins Areographic
+<200286777> 	+proj=aea +lat_1=20 +lat_2=-20 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Mollweide AUTO Steins Areocentric
+<200286780> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Mollweide AUTO Steins Areographic
+<200286781> 	+proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Robinson AUTO Steins Areocentric
+<200286782> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
+# Robinson AUTO Steins Areographic
+<200286783> 	+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=2700 +b=2700 +units=m +no_defs 
diff --git a/lib/psdriver/psdriver.html b/lib/psdriver/psdriver.html
index fb7a0c7..e85fd29 100644
--- a/lib/psdriver/psdriver.html
+++ b/lib/psdriver/psdriver.html
@@ -97,4 +97,4 @@ require PostScript level 3.
 Glynn Clements, 2007
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/lib/python/Makefile b/lib/python/Makefile
index 92aa9e9..2b7fb63 100644
--- a/lib/python/Makefile
+++ b/lib/python/Makefile
@@ -5,7 +5,7 @@ include $(MODULE_TOPDIR)/include/Make/Python.make
 
 PYDIR = $(ETC)/python/grass
 
-SUBDIRS = exceptions script ctypes temporal pygrass pydispatch imaging
+SUBDIRS = exceptions script ctypes temporal pygrass pydispatch imaging gunittest
 
 default: $(PYDIR)/__init__.py
 	$(MAKE) subdirs
diff --git a/lib/python/ctypes/arraystats.py b/lib/python/ctypes/arraystats.py
deleted file mode 100644
index 5f82ca2..0000000
--- a/lib/python/ctypes/arraystats.py
+++ /dev/null
@@ -1,659 +0,0 @@
-'''Wrapper for arraystats.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_arraystats.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h -o arraystats.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_arraystats.7.0.svn"] = load_library("grass_arraystats.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 8
-class struct_GASTATS(Structure):
-    pass
-
-struct_GASTATS.__slots__ = [
-    'count',
-    'min',
-    'max',
-    'sum',
-    'sumsq',
-    'sumabs',
-    'mean',
-    'meanabs',
-    'var',
-    'stdev',
-]
-struct_GASTATS._fields_ = [
-    ('count', c_double),
-    ('min', c_double),
-    ('max', c_double),
-    ('sum', c_double),
-    ('sumsq', c_double),
-    ('sumabs', c_double),
-    ('mean', c_double),
-    ('meanabs', c_double),
-    ('var', c_double),
-    ('stdev', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 22
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_apply_algorithm'):
-    class_apply_algorithm = _libs['grass_arraystats.7.0.svn'].class_apply_algorithm
-    class_apply_algorithm.restype = c_double
-    class_apply_algorithm.argtypes = [String, POINTER(c_double), c_int, POINTER(c_int), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 23
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_interval'):
-    class_interval = _libs['grass_arraystats.7.0.svn'].class_interval
-    class_interval.restype = c_int
-    class_interval.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 24
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_quant'):
-    class_quant = _libs['grass_arraystats.7.0.svn'].class_quant
-    class_quant.restype = c_int
-    class_quant.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 25
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_discont'):
-    class_discont = _libs['grass_arraystats.7.0.svn'].class_discont
-    class_discont.restype = c_double
-    class_discont.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 26
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_stdev'):
-    class_stdev = _libs['grass_arraystats.7.0.svn'].class_stdev
-    class_stdev.restype = c_double
-    class_stdev.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 27
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_equiprob'):
-    class_equiprob = _libs['grass_arraystats.7.0.svn'].class_equiprob
-    class_equiprob.restype = c_int
-    class_equiprob.argtypes = [POINTER(c_double), c_int, POINTER(c_int), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 29
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'class_frequencies'):
-    class_frequencies = _libs['grass_arraystats.7.0.svn'].class_frequencies
-    class_frequencies.restype = c_int
-    class_frequencies.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 31
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'eqdrt'):
-    eqdrt = _libs['grass_arraystats.7.0.svn'].eqdrt
-    eqdrt.restype = None
-    eqdrt.argtypes = [POINTER(c_double), POINTER(c_double), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 32
-if hasattr(_libs['grass_arraystats.7.0.svn'], 'basic_stats'):
-    basic_stats = _libs['grass_arraystats.7.0.svn'].basic_stats
-    basic_stats.restype = None
-    basic_stats.argtypes = [POINTER(c_double), c_int, POINTER(struct_GASTATS)]
-
-GASTATS = struct_GASTATS # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/arraystats.h: 8
-
-# No inserted files
-
diff --git a/lib/python/ctypes/cluster.py b/lib/python/ctypes/cluster.py
deleted file mode 100644
index aa54be0..0000000
--- a/lib/python/ctypes/cluster.py
+++ /dev/null
@@ -1,785 +0,0 @@
-'''Wrapper for cluster.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_cluster.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h -o cluster.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_cluster.7.0.svn"] = load_library("grass_cluster.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 50
-class struct_One_Sig(Structure):
-    pass
-
-struct_One_Sig.__slots__ = [
-    'desc',
-    'npoints',
-    'mean',
-    'var',
-    'status',
-    'r',
-    'g',
-    'b',
-    'have_color',
-]
-struct_One_Sig._fields_ = [
-    ('desc', c_char * 100),
-    ('npoints', c_int),
-    ('mean', POINTER(c_double)),
-    ('var', POINTER(POINTER(c_double))),
-    ('status', c_int),
-    ('r', c_float),
-    ('g', c_float),
-    ('b', c_float),
-    ('have_color', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 61
-class struct_Signature(Structure):
-    pass
-
-struct_Signature.__slots__ = [
-    'nbands',
-    'nsigs',
-    'title',
-    'sig',
-]
-struct_Signature._fields_ = [
-    ('nbands', c_int),
-    ('nsigs', c_int),
-    ('title', c_char * 100),
-    ('sig', POINTER(struct_One_Sig)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 7
-class struct_Cluster(Structure):
-    pass
-
-struct_Cluster.__slots__ = [
-    'nbands',
-    'npoints',
-    'points',
-    'np',
-    'band_sum',
-    'band_sum2',
-    '_class',
-    'reclass',
-    'count',
-    'countdiff',
-    'sum',
-    'sumdiff',
-    'sum2',
-    'mean',
-    'S',
-    'nclasses',
-    'merge1',
-    'merge2',
-    'iteration',
-    'percent_stable',
-]
-struct_Cluster._fields_ = [
-    ('nbands', c_int),
-    ('npoints', c_int),
-    ('points', POINTER(POINTER(DCELL))),
-    ('np', c_int),
-    ('band_sum', POINTER(c_double)),
-    ('band_sum2', POINTER(c_double)),
-    ('_class', POINTER(c_int)),
-    ('reclass', POINTER(c_int)),
-    ('count', POINTER(c_int)),
-    ('countdiff', POINTER(c_int)),
-    ('sum', POINTER(POINTER(c_double))),
-    ('sumdiff', POINTER(POINTER(c_double))),
-    ('sum2', POINTER(POINTER(c_double))),
-    ('mean', POINTER(POINTER(c_double))),
-    ('S', struct_Signature),
-    ('nclasses', c_int),
-    ('merge1', c_int),
-    ('merge2', c_int),
-    ('iteration', c_int),
-    ('percent_stable', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 34
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_assign'):
-    I_cluster_assign = _libs['grass_cluster.7.0.svn'].I_cluster_assign
-    I_cluster_assign.restype = c_int
-    I_cluster_assign.argtypes = [POINTER(struct_Cluster), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 37
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_begin'):
-    I_cluster_begin = _libs['grass_cluster.7.0.svn'].I_cluster_begin
-    I_cluster_begin.restype = c_int
-    I_cluster_begin.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 40
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_clear'):
-    I_cluster_clear = _libs['grass_cluster.7.0.svn'].I_cluster_clear
-    I_cluster_clear.restype = c_int
-    I_cluster_clear.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 43
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_distinct'):
-    I_cluster_distinct = _libs['grass_cluster.7.0.svn'].I_cluster_distinct
-    I_cluster_distinct.restype = c_int
-    I_cluster_distinct.argtypes = [POINTER(struct_Cluster), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 46
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_exec'):
-    I_cluster_exec = _libs['grass_cluster.7.0.svn'].I_cluster_exec
-    I_cluster_exec.restype = c_int
-    I_cluster_exec.argtypes = [POINTER(struct_Cluster), c_int, c_int, c_double, c_double, c_int, CFUNCTYPE(UNCHECKED(c_int), ), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 49
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_exec_allocate'):
-    I_cluster_exec_allocate = _libs['grass_cluster.7.0.svn'].I_cluster_exec_allocate
-    I_cluster_exec_allocate.restype = c_int
-    I_cluster_exec_allocate.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 50
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_exec_free'):
-    I_cluster_exec_free = _libs['grass_cluster.7.0.svn'].I_cluster_exec_free
-    I_cluster_exec_free.restype = c_int
-    I_cluster_exec_free.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 53
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_means'):
-    I_cluster_means = _libs['grass_cluster.7.0.svn'].I_cluster_means
-    I_cluster_means.restype = c_int
-    I_cluster_means.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 56
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_merge'):
-    I_cluster_merge = _libs['grass_cluster.7.0.svn'].I_cluster_merge
-    I_cluster_merge.restype = c_int
-    I_cluster_merge.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 59
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_nclasses'):
-    I_cluster_nclasses = _libs['grass_cluster.7.0.svn'].I_cluster_nclasses
-    I_cluster_nclasses.restype = c_int
-    I_cluster_nclasses.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 62
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_point'):
-    I_cluster_point = _libs['grass_cluster.7.0.svn'].I_cluster_point
-    I_cluster_point.restype = c_int
-    I_cluster_point.argtypes = [POINTER(struct_Cluster), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 63
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_begin_point_set'):
-    I_cluster_begin_point_set = _libs['grass_cluster.7.0.svn'].I_cluster_begin_point_set
-    I_cluster_begin_point_set.restype = c_int
-    I_cluster_begin_point_set.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 64
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_point_part'):
-    I_cluster_point_part = _libs['grass_cluster.7.0.svn'].I_cluster_point_part
-    I_cluster_point_part.restype = c_int
-    I_cluster_point_part.argtypes = [POINTER(struct_Cluster), DCELL, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 65
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_end_point_set'):
-    I_cluster_end_point_set = _libs['grass_cluster.7.0.svn'].I_cluster_end_point_set
-    I_cluster_end_point_set.restype = c_int
-    I_cluster_end_point_set.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 68
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_reassign'):
-    I_cluster_reassign = _libs['grass_cluster.7.0.svn'].I_cluster_reassign
-    I_cluster_reassign.restype = c_int
-    I_cluster_reassign.argtypes = [POINTER(struct_Cluster), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 71
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_reclass'):
-    I_cluster_reclass = _libs['grass_cluster.7.0.svn'].I_cluster_reclass
-    I_cluster_reclass.restype = c_int
-    I_cluster_reclass.argtypes = [POINTER(struct_Cluster), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 74
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_separation'):
-    I_cluster_separation = _libs['grass_cluster.7.0.svn'].I_cluster_separation
-    I_cluster_separation.restype = c_double
-    I_cluster_separation.argtypes = [POINTER(struct_Cluster), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 77
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_signatures'):
-    I_cluster_signatures = _libs['grass_cluster.7.0.svn'].I_cluster_signatures
-    I_cluster_signatures.restype = c_int
-    I_cluster_signatures.argtypes = [POINTER(struct_Cluster)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 80
-if hasattr(_libs['grass_cluster.7.0.svn'], 'I_cluster_sum2'):
-    I_cluster_sum2 = _libs['grass_cluster.7.0.svn'].I_cluster_sum2
-    I_cluster_sum2.restype = c_int
-    I_cluster_sum2.argtypes = [POINTER(struct_Cluster)]
-
-Cluster = struct_Cluster # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/cluster.h: 7
-
-# No inserted files
-
diff --git a/lib/python/ctypes/date.py b/lib/python/ctypes/date.py
deleted file mode 100644
index cb7063a..0000000
--- a/lib/python/ctypes/date.py
+++ /dev/null
@@ -1,1037 +0,0 @@
-'''Wrapper for datetime.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_datetime.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h -o date.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_datetime.7.0.svn"] = load_library("grass_datetime.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-class struct_DateTime(Structure):
-    pass
-
-struct_DateTime.__slots__ = [
-    'mode',
-    '_from',
-    'to',
-    'fracsec',
-    'year',
-    'month',
-    'day',
-    'hour',
-    'minute',
-    'second',
-    'positive',
-    'tz',
-]
-struct_DateTime._fields_ = [
-    ('mode', c_int),
-    ('_from', c_int),
-    ('to', c_int),
-    ('fracsec', c_int),
-    ('year', c_int),
-    ('month', c_int),
-    ('day', c_int),
-    ('hour', c_int),
-    ('minute', c_int),
-    ('second', c_double),
-    ('positive', c_int),
-    ('tz', c_int),
-]
-
-DateTime = struct_DateTime # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 6
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_between'):
-    datetime_is_between = _libs['grass_datetime.7.0.svn'].datetime_is_between
-    datetime_is_between.restype = c_int
-    datetime_is_between.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 9
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_change_from_to'):
-    datetime_change_from_to = _libs['grass_datetime.7.0.svn'].datetime_change_from_to
-    datetime_change_from_to.restype = c_int
-    datetime_change_from_to.argtypes = [POINTER(DateTime), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 12
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_copy'):
-    datetime_copy = _libs['grass_datetime.7.0.svn'].datetime_copy
-    datetime_copy.restype = None
-    datetime_copy.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 15
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_difference'):
-    datetime_difference = _libs['grass_datetime.7.0.svn'].datetime_difference
-    datetime_difference.restype = c_int
-    datetime_difference.argtypes = [POINTER(DateTime), POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 19
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_error'):
-    datetime_error = _libs['grass_datetime.7.0.svn'].datetime_error
-    datetime_error.restype = c_int
-    datetime_error.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 20
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_error_code'):
-    datetime_error_code = _libs['grass_datetime.7.0.svn'].datetime_error_code
-    datetime_error_code.restype = c_int
-    datetime_error_code.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 21
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_error_msg'):
-    datetime_error_msg = _libs['grass_datetime.7.0.svn'].datetime_error_msg
-    datetime_error_msg.restype = ReturnString
-    datetime_error_msg.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 22
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_clear_error'):
-    datetime_clear_error = _libs['grass_datetime.7.0.svn'].datetime_clear_error
-    datetime_clear_error.restype = None
-    datetime_clear_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 25
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_format'):
-    datetime_format = _libs['grass_datetime.7.0.svn'].datetime_format
-    datetime_format.restype = c_int
-    datetime_format.argtypes = [POINTER(DateTime), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 28
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_increment'):
-    datetime_increment = _libs['grass_datetime.7.0.svn'].datetime_increment
-    datetime_increment.restype = c_int
-    datetime_increment.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 31
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_valid_increment'):
-    datetime_is_valid_increment = _libs['grass_datetime.7.0.svn'].datetime_is_valid_increment
-    datetime_is_valid_increment.restype = c_int
-    datetime_is_valid_increment.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 32
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_increment'):
-    datetime_check_increment = _libs['grass_datetime.7.0.svn'].datetime_check_increment
-    datetime_check_increment.restype = c_int
-    datetime_check_increment.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 35
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_increment_type'):
-    datetime_get_increment_type = _libs['grass_datetime.7.0.svn'].datetime_get_increment_type
-    datetime_get_increment_type.restype = c_int
-    datetime_get_increment_type.argtypes = [POINTER(DateTime), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 37
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_increment_type'):
-    datetime_set_increment_type = _libs['grass_datetime.7.0.svn'].datetime_set_increment_type
-    datetime_set_increment_type.restype = c_int
-    datetime_set_increment_type.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 40
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_local_timezone'):
-    datetime_get_local_timezone = _libs['grass_datetime.7.0.svn'].datetime_get_local_timezone
-    datetime_get_local_timezone.restype = c_int
-    datetime_get_local_timezone.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 41
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_local_time'):
-    datetime_get_local_time = _libs['grass_datetime.7.0.svn'].datetime_get_local_time
-    datetime_get_local_time.restype = None
-    datetime_get_local_time.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 44
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_days_in_month'):
-    datetime_days_in_month = _libs['grass_datetime.7.0.svn'].datetime_days_in_month
-    datetime_days_in_month.restype = c_int
-    datetime_days_in_month.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 45
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_leap_year'):
-    datetime_is_leap_year = _libs['grass_datetime.7.0.svn'].datetime_is_leap_year
-    datetime_is_leap_year.restype = c_int
-    datetime_is_leap_year.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 46
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_days_in_year'):
-    datetime_days_in_year = _libs['grass_datetime.7.0.svn'].datetime_days_in_year
-    datetime_days_in_year.restype = c_int
-    datetime_days_in_year.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 49
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_same'):
-    datetime_is_same = _libs['grass_datetime.7.0.svn'].datetime_is_same
-    datetime_is_same.restype = c_int
-    datetime_is_same.argtypes = [POINTER(DateTime), POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 52
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_scan'):
-    datetime_scan = _libs['grass_datetime.7.0.svn'].datetime_scan
-    datetime_scan.restype = c_int
-    datetime_scan.argtypes = [POINTER(DateTime), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 55
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_positive'):
-    datetime_is_positive = _libs['grass_datetime.7.0.svn'].datetime_is_positive
-    datetime_is_positive.restype = c_int
-    datetime_is_positive.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 56
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_negative'):
-    datetime_is_negative = _libs['grass_datetime.7.0.svn'].datetime_is_negative
-    datetime_is_negative.restype = c_int
-    datetime_is_negative.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 57
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_positive'):
-    datetime_set_positive = _libs['grass_datetime.7.0.svn'].datetime_set_positive
-    datetime_set_positive.restype = None
-    datetime_set_positive.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 58
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_negative'):
-    datetime_set_negative = _libs['grass_datetime.7.0.svn'].datetime_set_negative
-    datetime_set_negative.restype = None
-    datetime_set_negative.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 59
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_invert_sign'):
-    datetime_invert_sign = _libs['grass_datetime.7.0.svn'].datetime_invert_sign
-    datetime_invert_sign.restype = None
-    datetime_invert_sign.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 62
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_type'):
-    datetime_set_type = _libs['grass_datetime.7.0.svn'].datetime_set_type
-    datetime_set_type.restype = c_int
-    datetime_set_type.argtypes = [POINTER(DateTime), c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 63
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_type'):
-    datetime_get_type = _libs['grass_datetime.7.0.svn'].datetime_get_type
-    datetime_get_type.restype = c_int
-    datetime_get_type.argtypes = [POINTER(DateTime), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 65
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_valid_type'):
-    datetime_is_valid_type = _libs['grass_datetime.7.0.svn'].datetime_is_valid_type
-    datetime_is_valid_type.restype = c_int
-    datetime_is_valid_type.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 66
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_type'):
-    datetime_check_type = _libs['grass_datetime.7.0.svn'].datetime_check_type
-    datetime_check_type.restype = c_int
-    datetime_check_type.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 67
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_in_interval_year_month'):
-    datetime_in_interval_year_month = _libs['grass_datetime.7.0.svn'].datetime_in_interval_year_month
-    datetime_in_interval_year_month.restype = c_int
-    datetime_in_interval_year_month.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 68
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_in_interval_day_second'):
-    datetime_in_interval_day_second = _libs['grass_datetime.7.0.svn'].datetime_in_interval_day_second
-    datetime_in_interval_day_second.restype = c_int
-    datetime_in_interval_day_second.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 69
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_absolute'):
-    datetime_is_absolute = _libs['grass_datetime.7.0.svn'].datetime_is_absolute
-    datetime_is_absolute.restype = c_int
-    datetime_is_absolute.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 70
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_relative'):
-    datetime_is_relative = _libs['grass_datetime.7.0.svn'].datetime_is_relative
-    datetime_is_relative.restype = c_int
-    datetime_is_relative.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 73
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_timezone'):
-    datetime_check_timezone = _libs['grass_datetime.7.0.svn'].datetime_check_timezone
-    datetime_check_timezone.restype = c_int
-    datetime_check_timezone.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 74
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_timezone'):
-    datetime_get_timezone = _libs['grass_datetime.7.0.svn'].datetime_get_timezone
-    datetime_get_timezone.restype = c_int
-    datetime_get_timezone.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 75
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_timezone'):
-    datetime_set_timezone = _libs['grass_datetime.7.0.svn'].datetime_set_timezone
-    datetime_set_timezone.restype = c_int
-    datetime_set_timezone.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 76
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_unset_timezone'):
-    datetime_unset_timezone = _libs['grass_datetime.7.0.svn'].datetime_unset_timezone
-    datetime_unset_timezone.restype = c_int
-    datetime_unset_timezone.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 77
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_is_valid_timezone'):
-    datetime_is_valid_timezone = _libs['grass_datetime.7.0.svn'].datetime_is_valid_timezone
-    datetime_is_valid_timezone.restype = c_int
-    datetime_is_valid_timezone.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 80
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_change_timezone'):
-    datetime_change_timezone = _libs['grass_datetime.7.0.svn'].datetime_change_timezone
-    datetime_change_timezone.restype = c_int
-    datetime_change_timezone.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 81
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_change_to_utc'):
-    datetime_change_to_utc = _libs['grass_datetime.7.0.svn'].datetime_change_to_utc
-    datetime_change_to_utc.restype = c_int
-    datetime_change_to_utc.argtypes = [POINTER(DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 82
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_decompose_timezone'):
-    datetime_decompose_timezone = _libs['grass_datetime.7.0.svn'].datetime_decompose_timezone
-    datetime_decompose_timezone.restype = None
-    datetime_decompose_timezone.argtypes = [c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 85
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_year'):
-    datetime_check_year = _libs['grass_datetime.7.0.svn'].datetime_check_year
-    datetime_check_year.restype = c_int
-    datetime_check_year.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 86
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_month'):
-    datetime_check_month = _libs['grass_datetime.7.0.svn'].datetime_check_month
-    datetime_check_month.restype = c_int
-    datetime_check_month.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 87
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_day'):
-    datetime_check_day = _libs['grass_datetime.7.0.svn'].datetime_check_day
-    datetime_check_day.restype = c_int
-    datetime_check_day.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 88
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_hour'):
-    datetime_check_hour = _libs['grass_datetime.7.0.svn'].datetime_check_hour
-    datetime_check_hour.restype = c_int
-    datetime_check_hour.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 89
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_minute'):
-    datetime_check_minute = _libs['grass_datetime.7.0.svn'].datetime_check_minute
-    datetime_check_minute.restype = c_int
-    datetime_check_minute.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 90
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_second'):
-    datetime_check_second = _libs['grass_datetime.7.0.svn'].datetime_check_second
-    datetime_check_second.restype = c_int
-    datetime_check_second.argtypes = [POINTER(DateTime), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 91
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_check_fracsec'):
-    datetime_check_fracsec = _libs['grass_datetime.7.0.svn'].datetime_check_fracsec
-    datetime_check_fracsec.restype = c_int
-    datetime_check_fracsec.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 92
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_year'):
-    datetime_get_year = _libs['grass_datetime.7.0.svn'].datetime_get_year
-    datetime_get_year.restype = c_int
-    datetime_get_year.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 93
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_year'):
-    datetime_set_year = _libs['grass_datetime.7.0.svn'].datetime_set_year
-    datetime_set_year.restype = c_int
-    datetime_set_year.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 94
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_month'):
-    datetime_get_month = _libs['grass_datetime.7.0.svn'].datetime_get_month
-    datetime_get_month.restype = c_int
-    datetime_get_month.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 95
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_month'):
-    datetime_set_month = _libs['grass_datetime.7.0.svn'].datetime_set_month
-    datetime_set_month.restype = c_int
-    datetime_set_month.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 96
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_day'):
-    datetime_get_day = _libs['grass_datetime.7.0.svn'].datetime_get_day
-    datetime_get_day.restype = c_int
-    datetime_get_day.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 97
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_day'):
-    datetime_set_day = _libs['grass_datetime.7.0.svn'].datetime_set_day
-    datetime_set_day.restype = c_int
-    datetime_set_day.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 98
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_hour'):
-    datetime_get_hour = _libs['grass_datetime.7.0.svn'].datetime_get_hour
-    datetime_get_hour.restype = c_int
-    datetime_get_hour.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 99
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_hour'):
-    datetime_set_hour = _libs['grass_datetime.7.0.svn'].datetime_set_hour
-    datetime_set_hour.restype = c_int
-    datetime_set_hour.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 100
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_minute'):
-    datetime_get_minute = _libs['grass_datetime.7.0.svn'].datetime_get_minute
-    datetime_get_minute.restype = c_int
-    datetime_get_minute.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 101
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_minute'):
-    datetime_set_minute = _libs['grass_datetime.7.0.svn'].datetime_set_minute
-    datetime_set_minute.restype = c_int
-    datetime_set_minute.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 102
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_second'):
-    datetime_get_second = _libs['grass_datetime.7.0.svn'].datetime_get_second
-    datetime_get_second.restype = c_int
-    datetime_get_second.argtypes = [POINTER(DateTime), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 103
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_second'):
-    datetime_set_second = _libs['grass_datetime.7.0.svn'].datetime_set_second
-    datetime_set_second.restype = c_int
-    datetime_set_second.argtypes = [POINTER(DateTime), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 104
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_get_fracsec'):
-    datetime_get_fracsec = _libs['grass_datetime.7.0.svn'].datetime_get_fracsec
-    datetime_get_fracsec.restype = c_int
-    datetime_get_fracsec.argtypes = [POINTER(DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/P_datetime.h: 105
-if hasattr(_libs['grass_datetime.7.0.svn'], 'datetime_set_fracsec'):
-    datetime_set_fracsec = _libs['grass_datetime.7.0.svn'].datetime_set_fracsec
-    datetime_set_fracsec.restype = c_int
-    datetime_set_fracsec.argtypes = [POINTER(DateTime), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 3
-try:
-    DATETIME_ABSOLUTE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 3
-try:
-    DATETIME_RELATIVE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_YEAR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_MONTH = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_DAY = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_HOUR = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_MINUTE = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 5
-try:
-    DATETIME_SECOND = 6
-except:
-    pass
-
-DateTime = struct_DateTime # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-
-# No inserted files
-
diff --git a/lib/python/ctypes/dbmi.py b/lib/python/ctypes/dbmi.py
deleted file mode 100644
index d5d1a91..0000000
--- a/lib/python/ctypes/dbmi.py
+++ /dev/null
@@ -1,3919 +0,0 @@
-'''Wrapper for dbmi.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_dbmiclient.7.0.svn -lgrass_dbmibase.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h -o dbmi.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_dbmiclient.7.0.svn"] = load_library("grass_dbmiclient.7.0.svn")
-_libs["grass_dbmibase.7.0.svn"] = load_library("grass_dbmibase.7.0.svn")
-
-# 2 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-dbAddress = POINTER(None) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 140
-
-dbToken = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 141
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 147
-class struct__db_string(Structure):
-    pass
-
-struct__db_string.__slots__ = [
-    'string',
-    'nalloc',
-]
-struct__db_string._fields_ = [
-    ('string', String),
-    ('nalloc', c_int),
-]
-
-dbString = struct__db_string # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 147
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 149
-class struct__dbmscap(Structure):
-    pass
-
-struct__dbmscap.__slots__ = [
-    'driverName',
-    'startup',
-    'comment',
-    'next',
-]
-struct__dbmscap._fields_ = [
-    ('driverName', c_char * 256),
-    ('startup', c_char * 256),
-    ('comment', c_char * 256),
-    ('next', POINTER(struct__dbmscap)),
-]
-
-dbDbmscap = struct__dbmscap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 155
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 162
-class struct__db_dirent(Structure):
-    pass
-
-struct__db_dirent.__slots__ = [
-    'name',
-    'isdir',
-    'perm',
-]
-struct__db_dirent._fields_ = [
-    ('name', dbString),
-    ('isdir', c_int),
-    ('perm', c_int),
-]
-
-dbDirent = struct__db_dirent # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 162
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-class struct__db_driver(Structure):
-    pass
-
-struct__db_driver.__slots__ = [
-    'dbmscap',
-    'send',
-    'recv',
-    'pid',
-]
-struct__db_driver._fields_ = [
-    ('dbmscap', dbDbmscap),
-    ('send', POINTER(FILE)),
-    ('recv', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-dbDriver = struct__db_driver # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 176
-class struct__db_handle(Structure):
-    pass
-
-struct__db_handle.__slots__ = [
-    'dbName',
-    'dbSchema',
-]
-struct__db_handle._fields_ = [
-    ('dbName', dbString),
-    ('dbSchema', dbString),
-]
-
-dbHandle = struct__db_handle # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 176
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 187
-class struct__db_date_time(Structure):
-    pass
-
-struct__db_date_time.__slots__ = [
-    'current',
-    'year',
-    'month',
-    'day',
-    'hour',
-    'minute',
-    'seconds',
-]
-struct__db_date_time._fields_ = [
-    ('current', c_char),
-    ('year', c_int),
-    ('month', c_int),
-    ('day', c_int),
-    ('hour', c_int),
-    ('minute', c_int),
-    ('seconds', c_double),
-]
-
-dbDateTime = struct__db_date_time # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 187
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 196
-class struct__db_value(Structure):
-    pass
-
-struct__db_value.__slots__ = [
-    'isNull',
-    'i',
-    'd',
-    's',
-    't',
-]
-struct__db_value._fields_ = [
-    ('isNull', c_char),
-    ('i', c_int),
-    ('d', c_double),
-    ('s', dbString),
-    ('t', dbDateTime),
-]
-
-dbValue = struct__db_value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 196
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 214
-class struct__db_column(Structure):
-    pass
-
-struct__db_column.__slots__ = [
-    'columnName',
-    'description',
-    'sqlDataType',
-    'hostDataType',
-    'value',
-    'dataLen',
-    'precision',
-    'scale',
-    'nullAllowed',
-    'hasDefaultValue',
-    'useDefaultValue',
-    'defaultValue',
-    'select',
-    'update',
-]
-struct__db_column._fields_ = [
-    ('columnName', dbString),
-    ('description', dbString),
-    ('sqlDataType', c_int),
-    ('hostDataType', c_int),
-    ('value', dbValue),
-    ('dataLen', c_int),
-    ('precision', c_int),
-    ('scale', c_int),
-    ('nullAllowed', c_char),
-    ('hasDefaultValue', c_char),
-    ('useDefaultValue', c_char),
-    ('defaultValue', dbValue),
-    ('select', c_int),
-    ('update', c_int),
-]
-
-dbColumn = struct__db_column # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 214
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 224
-class struct__db_table(Structure):
-    pass
-
-struct__db_table.__slots__ = [
-    'tableName',
-    'description',
-    'numColumns',
-    'columns',
-    'priv_insert',
-    'priv_delete',
-]
-struct__db_table._fields_ = [
-    ('tableName', dbString),
-    ('description', dbString),
-    ('numColumns', c_int),
-    ('columns', POINTER(dbColumn)),
-    ('priv_insert', c_int),
-    ('priv_delete', c_int),
-]
-
-dbTable = struct__db_table # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 224
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 234
-class struct__db_cursor(Structure):
-    pass
-
-struct__db_cursor.__slots__ = [
-    'token',
-    'driver',
-    'table',
-    'column_flags',
-    'type',
-    'mode',
-]
-struct__db_cursor._fields_ = [
-    ('token', dbToken),
-    ('driver', POINTER(dbDriver)),
-    ('table', POINTER(dbTable)),
-    ('column_flags', POINTER(c_short)),
-    ('type', c_int),
-    ('mode', c_int),
-]
-
-dbCursor = struct__db_cursor # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 234
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 243
-class struct__db_index(Structure):
-    pass
-
-struct__db_index.__slots__ = [
-    'indexName',
-    'tableName',
-    'numColumns',
-    'columnNames',
-    'unique',
-]
-struct__db_index._fields_ = [
-    ('indexName', dbString),
-    ('tableName', dbString),
-    ('numColumns', c_int),
-    ('columnNames', POINTER(dbString)),
-    ('unique', c_char),
-]
-
-dbIndex = struct__db_index # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 243
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 252
-class struct__db_driver_state(Structure):
-    pass
-
-struct__db_driver_state.__slots__ = [
-    'dbname',
-    'dbschema',
-    'open',
-    'ncursors',
-    'cursor_list',
-]
-struct__db_driver_state._fields_ = [
-    ('dbname', String),
-    ('dbschema', String),
-    ('open', c_int),
-    ('ncursors', c_int),
-    ('cursor_list', POINTER(POINTER(dbCursor))),
-]
-
-dbDriverState = struct__db_driver_state # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 252
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 259
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'cat',
-    'val',
-]
-struct_anon_23._fields_ = [
-    ('cat', c_int),
-    ('val', c_int),
-]
-
-dbCatValI = struct_anon_23 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 259
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 266
-class union_anon_24(Union):
-    pass
-
-union_anon_24.__slots__ = [
-    'i',
-    'd',
-    's',
-    't',
-]
-union_anon_24._fields_ = [
-    ('i', c_int),
-    ('d', c_double),
-    ('s', POINTER(dbString)),
-    ('t', POINTER(dbDateTime)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 277
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'cat',
-    'isNull',
-    'val',
-]
-struct_anon_25._fields_ = [
-    ('cat', c_int),
-    ('isNull', c_int),
-    ('val', union_anon_24),
-]
-
-dbCatVal = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 277
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 286
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'n_values',
-    'alloc',
-    'ctype',
-    'value',
-]
-struct_anon_26._fields_ = [
-    ('n_values', c_int),
-    ('alloc', c_int),
-    ('ctype', c_int),
-    ('value', POINTER(dbCatVal)),
-]
-
-dbCatValArray = struct_anon_26 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 286
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 300
-class struct__db_connection(Structure):
-    pass
-
-struct__db_connection.__slots__ = [
-    'driverName',
-    'databaseName',
-    'schemaName',
-    'location',
-    'user',
-    'password',
-    'keycol',
-    'group',
-]
-struct__db_connection._fields_ = [
-    ('driverName', String),
-    ('databaseName', String),
-    ('schemaName', String),
-    ('location', String),
-    ('user', String),
-    ('password', String),
-    ('keycol', String),
-    ('group', String),
-]
-
-dbConnection = struct__db_connection # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 300
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 312
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'count',
-    'alloc',
-    'table',
-    'key',
-    'cat',
-    'where',
-    'label',
-]
-struct_anon_27._fields_ = [
-    ('count', c_int),
-    ('alloc', c_int),
-    ('table', String),
-    ('key', String),
-    ('cat', POINTER(c_int)),
-    ('where', POINTER(POINTER(c_char))),
-    ('label', POINTER(POINTER(c_char))),
-]
-
-dbRclsRule = struct_anon_27 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 312
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 4
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_Cstring_to_lowercase'):
-    db_Cstring_to_lowercase = _libs['grass_dbmiclient.7.0.svn'].db_Cstring_to_lowercase
-    db_Cstring_to_lowercase.restype = None
-    db_Cstring_to_lowercase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 5
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_Cstring_to_uppercase'):
-    db_Cstring_to_uppercase = _libs['grass_dbmiclient.7.0.svn'].db_Cstring_to_uppercase
-    db_Cstring_to_uppercase.restype = None
-    db_Cstring_to_uppercase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 6
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_add_column'):
-    db_add_column = _libs['grass_dbmiclient.7.0.svn'].db_add_column
-    db_add_column.restype = c_int
-    db_add_column.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 7
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__add_cursor_to_driver_state'):
-        db__add_cursor_to_driver_state = _lib.db__add_cursor_to_driver_state
-        db__add_cursor_to_driver_state.restype = None
-        db__add_cursor_to_driver_state.argtypes = [POINTER(dbCursor)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 8
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_cursor_column_flags'):
-    db_alloc_cursor_column_flags = _libs['grass_dbmiclient.7.0.svn'].db_alloc_cursor_column_flags
-    db_alloc_cursor_column_flags.restype = c_int
-    db_alloc_cursor_column_flags.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 9
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_cursor_table'):
-    db_alloc_cursor_table = _libs['grass_dbmiclient.7.0.svn'].db_alloc_cursor_table
-    db_alloc_cursor_table.restype = c_int
-    db_alloc_cursor_table.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 10
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_append_table_column'):
-    db_append_table_column = _libs['grass_dbmiclient.7.0.svn'].db_append_table_column
-    db_append_table_column.restype = c_int
-    db_append_table_column.argtypes = [POINTER(dbTable), POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 11
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_dirent_array'):
-    db_alloc_dirent_array = _libs['grass_dbmiclient.7.0.svn'].db_alloc_dirent_array
-    db_alloc_dirent_array.restype = POINTER(dbDirent)
-    db_alloc_dirent_array.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 12
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_handle_array'):
-    db_alloc_handle_array = _libs['grass_dbmiclient.7.0.svn'].db_alloc_handle_array
-    db_alloc_handle_array.restype = POINTER(dbHandle)
-    db_alloc_handle_array.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 13
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_index_array'):
-    db_alloc_index_array = _libs['grass_dbmiclient.7.0.svn'].db_alloc_index_array
-    db_alloc_index_array.restype = POINTER(dbIndex)
-    db_alloc_index_array.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 14
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_index_columns'):
-    db_alloc_index_columns = _libs['grass_dbmiclient.7.0.svn'].db_alloc_index_columns
-    db_alloc_index_columns.restype = c_int
-    db_alloc_index_columns.argtypes = [POINTER(dbIndex), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 15
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_string_array'):
-    db_alloc_string_array = _libs['grass_dbmiclient.7.0.svn'].db_alloc_string_array
-    db_alloc_string_array.restype = POINTER(dbString)
-    db_alloc_string_array.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 16
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_alloc_table'):
-    db_alloc_table = _libs['grass_dbmiclient.7.0.svn'].db_alloc_table
-    db_alloc_table.restype = POINTER(dbTable)
-    db_alloc_table.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 17
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_append_string'):
-    db_append_string = _libs['grass_dbmiclient.7.0.svn'].db_append_string
-    db_append_string.restype = c_int
-    db_append_string.argtypes = [POINTER(dbString), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 18
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_auto_print_errors'):
-    db_auto_print_errors = _libs['grass_dbmiclient.7.0.svn'].db_auto_print_errors
-    db_auto_print_errors.restype = None
-    db_auto_print_errors.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 19
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_auto_print_protocol_errors'):
-    db_auto_print_protocol_errors = _libs['grass_dbmiclient.7.0.svn'].db_auto_print_protocol_errors
-    db_auto_print_protocol_errors.restype = None
-    db_auto_print_protocol_errors.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 20
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_bind_update'):
-    db_bind_update = _libs['grass_dbmiclient.7.0.svn'].db_bind_update
-    db_bind_update.restype = c_int
-    db_bind_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 21
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_calloc'):
-    db_calloc = _libs['grass_dbmiclient.7.0.svn'].db_calloc
-    db_calloc.restype = POINTER(None)
-    db_calloc.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 22
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_alloc'):
-    db_CatValArray_alloc = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_alloc
-    db_CatValArray_alloc.restype = c_int
-    db_CatValArray_alloc.argtypes = [POINTER(dbCatValArray), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 23
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_realloc'):
-    db_CatValArray_realloc = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_realloc
-    db_CatValArray_realloc.restype = c_int
-    db_CatValArray_realloc.argtypes = [POINTER(dbCatValArray), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 24
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_free'):
-    db_CatValArray_free = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_free
-    db_CatValArray_free.restype = None
-    db_CatValArray_free.argtypes = [POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 25
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_init'):
-    db_CatValArray_init = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_init
-    db_CatValArray_init.restype = None
-    db_CatValArray_init.argtypes = [POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 26
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_sort'):
-    db_CatValArray_sort = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_sort
-    db_CatValArray_sort.restype = None
-    db_CatValArray_sort.argtypes = [POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 27
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_sort_by_value'):
-    db_CatValArray_sort_by_value = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_sort_by_value
-    db_CatValArray_sort_by_value.restype = c_int
-    db_CatValArray_sort_by_value.argtypes = [POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 28
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_get_value'):
-    db_CatValArray_get_value = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_get_value
-    db_CatValArray_get_value.restype = c_int
-    db_CatValArray_get_value.argtypes = [POINTER(dbCatValArray), c_int, POINTER(POINTER(dbCatVal))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 29
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_get_value_int'):
-    db_CatValArray_get_value_int = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_get_value_int
-    db_CatValArray_get_value_int.restype = c_int
-    db_CatValArray_get_value_int.argtypes = [POINTER(dbCatValArray), c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 30
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_CatValArray_get_value_double'):
-    db_CatValArray_get_value_double = _libs['grass_dbmiclient.7.0.svn'].db_CatValArray_get_value_double
-    db_CatValArray_get_value_double.restype = c_int
-    db_CatValArray_get_value_double.argtypes = [POINTER(dbCatValArray), c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 32
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_char_to_lowercase'):
-    db_char_to_lowercase = _libs['grass_dbmiclient.7.0.svn'].db_char_to_lowercase
-    db_char_to_lowercase.restype = None
-    db_char_to_lowercase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 33
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_char_to_uppercase'):
-    db_char_to_uppercase = _libs['grass_dbmiclient.7.0.svn'].db_char_to_uppercase
-    db_char_to_uppercase.restype = None
-    db_char_to_uppercase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 34
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_clear_error'):
-    db_clear_error = _libs['grass_dbmiclient.7.0.svn'].db_clear_error
-    db_clear_error.restype = None
-    db_clear_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 35
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_clone_table'):
-    db_clone_table = _libs['grass_dbmiclient.7.0.svn'].db_clone_table
-    db_clone_table.restype = POINTER(dbTable)
-    db_clone_table.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 36
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__close_all_cursors'):
-        db__close_all_cursors = _lib.db__close_all_cursors
-        db__close_all_cursors.restype = None
-        db__close_all_cursors.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 37
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_close_cursor'):
-    db_close_cursor = _libs['grass_dbmiclient.7.0.svn'].db_close_cursor
-    db_close_cursor.restype = c_int
-    db_close_cursor.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 38
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_close_database'):
-    db_close_database = _libs['grass_dbmiclient.7.0.svn'].db_close_database
-    db_close_database.restype = c_int
-    db_close_database.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 39
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_close_database_shutdown_driver'):
-    db_close_database_shutdown_driver = _libs['grass_dbmiclient.7.0.svn'].db_close_database_shutdown_driver
-    db_close_database_shutdown_driver.restype = c_int
-    db_close_database_shutdown_driver.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 40
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_column_sqltype'):
-    db_column_sqltype = _libs['grass_dbmiclient.7.0.svn'].db_column_sqltype
-    db_column_sqltype.restype = c_int
-    db_column_sqltype.argtypes = [POINTER(dbDriver), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 41
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_column_Ctype'):
-    db_column_Ctype = _libs['grass_dbmiclient.7.0.svn'].db_column_Ctype
-    db_column_Ctype.restype = c_int
-    db_column_Ctype.argtypes = [POINTER(dbDriver), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 42
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_Cstring_to_column_default_value'):
-    db_convert_Cstring_to_column_default_value = _libs['grass_dbmiclient.7.0.svn'].db_convert_Cstring_to_column_default_value
-    db_convert_Cstring_to_column_default_value.restype = c_int
-    db_convert_Cstring_to_column_default_value.argtypes = [String, POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 44
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_Cstring_to_column_value'):
-    db_convert_Cstring_to_column_value = _libs['grass_dbmiclient.7.0.svn'].db_convert_Cstring_to_column_value
-    db_convert_Cstring_to_column_value.restype = c_int
-    db_convert_Cstring_to_column_value.argtypes = [String, POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 46
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_Cstring_to_value'):
-    db_convert_Cstring_to_value = _libs['grass_dbmiclient.7.0.svn'].db_convert_Cstring_to_value
-    db_convert_Cstring_to_value.restype = c_int
-    db_convert_Cstring_to_value.argtypes = [String, c_int, POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 48
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_Cstring_to_value_datetime'):
-    db_convert_Cstring_to_value_datetime = _libs['grass_dbmiclient.7.0.svn'].db_convert_Cstring_to_value_datetime
-    db_convert_Cstring_to_value_datetime.restype = c_int
-    db_convert_Cstring_to_value_datetime.argtypes = [String, c_int, POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 50
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_column_default_value_to_string'):
-    db_convert_column_default_value_to_string = _libs['grass_dbmiclient.7.0.svn'].db_convert_column_default_value_to_string
-    db_convert_column_default_value_to_string.restype = c_int
-    db_convert_column_default_value_to_string.argtypes = [POINTER(dbColumn), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 52
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_column_value_to_string'):
-    db_convert_column_value_to_string = _libs['grass_dbmiclient.7.0.svn'].db_convert_column_value_to_string
-    db_convert_column_value_to_string.restype = c_int
-    db_convert_column_value_to_string.argtypes = [POINTER(dbColumn), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 53
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_value_datetime_into_string'):
-    db_convert_value_datetime_into_string = _libs['grass_dbmiclient.7.0.svn'].db_convert_value_datetime_into_string
-    db_convert_value_datetime_into_string.restype = c_int
-    db_convert_value_datetime_into_string.argtypes = [POINTER(dbValue), c_int, POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 55
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_convert_value_to_string'):
-    db_convert_value_to_string = _libs['grass_dbmiclient.7.0.svn'].db_convert_value_to_string
-    db_convert_value_to_string.restype = c_int
-    db_convert_value_to_string.argtypes = [POINTER(dbValue), c_int, POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 57
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_column'):
-    db_copy_column = _libs['grass_dbmiclient.7.0.svn'].db_copy_column
-    db_copy_column.restype = POINTER(dbColumn)
-    db_copy_column.argtypes = [POINTER(dbColumn), POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 58
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_dbmscap_entry'):
-    db_copy_dbmscap_entry = _libs['grass_dbmiclient.7.0.svn'].db_copy_dbmscap_entry
-    db_copy_dbmscap_entry.restype = None
-    db_copy_dbmscap_entry.argtypes = [POINTER(dbDbmscap), POINTER(dbDbmscap)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 59
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_string'):
-    db_copy_string = _libs['grass_dbmiclient.7.0.svn'].db_copy_string
-    db_copy_string.restype = c_int
-    db_copy_string.argtypes = [POINTER(dbString), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 60
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_table_to_sql'):
-    db_table_to_sql = _libs['grass_dbmiclient.7.0.svn'].db_table_to_sql
-    db_table_to_sql.restype = c_int
-    db_table_to_sql.argtypes = [POINTER(dbTable), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 61
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_table'):
-    db_copy_table = _libs['grass_dbmiclient.7.0.svn'].db_copy_table
-    db_copy_table.restype = c_int
-    db_copy_table.argtypes = [String, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 63
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_table_where'):
-    db_copy_table_where = _libs['grass_dbmiclient.7.0.svn'].db_copy_table_where
-    db_copy_table_where.restype = c_int
-    db_copy_table_where.argtypes = [String, String, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 66
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_table_select'):
-    db_copy_table_select = _libs['grass_dbmiclient.7.0.svn'].db_copy_table_select
-    db_copy_table_select.restype = c_int
-    db_copy_table_select.argtypes = [String, String, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 69
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_table_by_ints'):
-    db_copy_table_by_ints = _libs['grass_dbmiclient.7.0.svn'].db_copy_table_by_ints
-    db_copy_table_by_ints.restype = c_int
-    db_copy_table_by_ints.argtypes = [String, String, String, String, String, String, String, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 72
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_copy_value'):
-    db_copy_value = _libs['grass_dbmiclient.7.0.svn'].db_copy_value
-    db_copy_value.restype = None
-    db_copy_value.argtypes = [POINTER(dbValue), POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 73
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_create_database'):
-    db_create_database = _libs['grass_dbmiclient.7.0.svn'].db_create_database
-    db_create_database.restype = c_int
-    db_create_database.argtypes = [POINTER(dbDriver), POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 74
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_create_index'):
-    db_create_index = _libs['grass_dbmiclient.7.0.svn'].db_create_index
-    db_create_index.restype = c_int
-    db_create_index.argtypes = [POINTER(dbDriver), POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 75
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_create_index2'):
-    db_create_index2 = _libs['grass_dbmiclient.7.0.svn'].db_create_index2
-    db_create_index2.restype = c_int
-    db_create_index2.argtypes = [POINTER(dbDriver), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 77
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_create_table'):
-    db_create_table = _libs['grass_dbmiclient.7.0.svn'].db_create_table
-    db_create_table.restype = c_int
-    db_create_table.argtypes = [POINTER(dbDriver), POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 78
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_add_column'):
-        db_d_add_column = _lib.db_d_add_column
-        db_d_add_column.restype = c_int
-        db_d_add_column.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 79
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_bind_update'):
-        db_d_bind_update = _lib.db_d_bind_update
-        db_d_bind_update.restype = c_int
-        db_d_bind_update.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 80
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_dbmscap_filename'):
-    db_dbmscap_filename = _libs['grass_dbmiclient.7.0.svn'].db_dbmscap_filename
-    db_dbmscap_filename.restype = ReturnString
-    db_dbmscap_filename.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 81
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_close_cursor'):
-        db_d_close_cursor = _lib.db_d_close_cursor
-        db_d_close_cursor.restype = c_int
-        db_d_close_cursor.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 82
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_close_database'):
-        db_d_close_database = _lib.db_d_close_database
-        db_d_close_database.restype = c_int
-        db_d_close_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 83
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_create_database'):
-        db_d_create_database = _lib.db_d_create_database
-        db_d_create_database.restype = c_int
-        db_d_create_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 84
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_create_index'):
-        db_d_create_index = _lib.db_d_create_index
-        db_d_create_index.restype = c_int
-        db_d_create_index.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 85
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_create_table'):
-        db_d_create_table = _lib.db_d_create_table
-        db_d_create_table.restype = c_int
-        db_d_create_table.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 86
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_delete'):
-        db_d_delete = _lib.db_d_delete
-        db_d_delete.restype = c_int
-        db_d_delete.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 87
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_delete_database'):
-        db_d_delete_database = _lib.db_d_delete_database
-        db_d_delete_database.restype = c_int
-        db_d_delete_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 88
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_describe_table'):
-        db_d_describe_table = _lib.db_d_describe_table
-        db_d_describe_table.restype = c_int
-        db_d_describe_table.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 89
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_drop_column'):
-        db_d_drop_column = _lib.db_d_drop_column
-        db_d_drop_column.restype = c_int
-        db_d_drop_column.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 90
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_drop_index'):
-        db_d_drop_index = _lib.db_d_drop_index
-        db_d_drop_index.restype = c_int
-        db_d_drop_index.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 91
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_drop_table'):
-        db_d_drop_table = _lib.db_d_drop_table
-        db_d_drop_table.restype = c_int
-        db_d_drop_table.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 92
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_debug'):
-    db_debug = _libs['grass_dbmiclient.7.0.svn'].db_debug
-    db_debug.restype = None
-    db_debug.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 93
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_debug_off'):
-    db_debug_off = _libs['grass_dbmiclient.7.0.svn'].db_debug_off
-    db_debug_off.restype = None
-    db_debug_off.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 94
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_debug_on'):
-    db_debug_on = _libs['grass_dbmiclient.7.0.svn'].db_debug_on
-    db_debug_on.restype = None
-    db_debug_on.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 95
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_delete'):
-    db_delete = _libs['grass_dbmiclient.7.0.svn'].db_delete
-    db_delete.restype = c_int
-    db_delete.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 96
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_delete_database'):
-    db_delete_database = _libs['grass_dbmiclient.7.0.svn'].db_delete_database
-    db_delete_database.restype = c_int
-    db_delete_database.argtypes = [POINTER(dbDriver), POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 97
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_delete_table'):
-    db_delete_table = _libs['grass_dbmiclient.7.0.svn'].db_delete_table
-    db_delete_table.restype = c_int
-    db_delete_table.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 98
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_describe_table'):
-    db_describe_table = _libs['grass_dbmiclient.7.0.svn'].db_describe_table
-    db_describe_table.restype = c_int
-    db_describe_table.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(POINTER(dbTable))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 99
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_execute_immediate'):
-        db_d_execute_immediate = _lib.db_d_execute_immediate
-        db_d_execute_immediate.restype = c_int
-        db_d_execute_immediate.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 100
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_begin_transaction'):
-        db_d_begin_transaction = _lib.db_d_begin_transaction
-        db_d_begin_transaction.restype = c_int
-        db_d_begin_transaction.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 101
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_commit_transaction'):
-        db_d_commit_transaction = _lib.db_d_commit_transaction
-        db_d_commit_transaction.restype = c_int
-        db_d_commit_transaction.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 102
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_fetch'):
-        db_d_fetch = _lib.db_d_fetch
-        db_d_fetch.restype = c_int
-        db_d_fetch.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 103
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_find_database'):
-        db_d_find_database = _lib.db_d_find_database
-        db_d_find_database.restype = c_int
-        db_d_find_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 104
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_get_num_rows'):
-        db_d_get_num_rows = _lib.db_d_get_num_rows
-        db_d_get_num_rows.restype = c_int
-        db_d_get_num_rows.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 105
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_grant_on_table'):
-        db_d_grant_on_table = _lib.db_d_grant_on_table
-        db_d_grant_on_table.restype = c_int
-        db_d_grant_on_table.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 106
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_insert'):
-        db_d_insert = _lib.db_d_insert
-        db_d_insert.restype = c_int
-        db_d_insert.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 107
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_dirent'):
-    db_dirent = _libs['grass_dbmiclient.7.0.svn'].db_dirent
-    db_dirent.restype = POINTER(dbDirent)
-    db_dirent.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 108
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_list_databases'):
-        db_d_list_databases = _lib.db_d_list_databases
-        db_d_list_databases.restype = c_int
-        db_d_list_databases.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 109
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_list_indexes'):
-        db_d_list_indexes = _lib.db_d_list_indexes
-        db_d_list_indexes.restype = c_int
-        db_d_list_indexes.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 110
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_list_tables'):
-        db_d_list_tables = _lib.db_d_list_tables
-        db_d_list_tables.restype = c_int
-        db_d_list_tables.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 111
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_open_database'):
-        db_d_open_database = _lib.db_d_open_database
-        db_d_open_database.restype = c_int
-        db_d_open_database.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 112
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_open_insert_cursor'):
-        db_d_open_insert_cursor = _lib.db_d_open_insert_cursor
-        db_d_open_insert_cursor.restype = c_int
-        db_d_open_insert_cursor.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 113
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_open_select_cursor'):
-        db_d_open_select_cursor = _lib.db_d_open_select_cursor
-        db_d_open_select_cursor.restype = c_int
-        db_d_open_select_cursor.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 114
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_open_update_cursor'):
-        db_d_open_update_cursor = _lib.db_d_open_update_cursor
-        db_d_open_update_cursor.restype = c_int
-        db_d_open_update_cursor.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 115
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_double_quote_string'):
-    db_double_quote_string = _libs['grass_dbmiclient.7.0.svn'].db_double_quote_string
-    db_double_quote_string.restype = None
-    db_double_quote_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 116
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_driver'):
-        db_driver = _lib.db_driver
-        db_driver.restype = c_int
-        db_driver.argtypes = [c_int, POINTER(POINTER(c_char))]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 118
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_driver_mkdir'):
-        db_driver_mkdir = _lib.db_driver_mkdir
-        db_driver_mkdir.restype = c_int
-        db_driver_mkdir.argtypes = [String, c_int, c_int]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 119
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_drop_column'):
-    db_drop_column = _libs['grass_dbmiclient.7.0.svn'].db_drop_column
-    db_drop_column.restype = c_int
-    db_drop_column.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 121
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__drop_cursor_from_driver_state'):
-        db__drop_cursor_from_driver_state = _lib.db__drop_cursor_from_driver_state
-        db__drop_cursor_from_driver_state.restype = None
-        db__drop_cursor_from_driver_state.argtypes = [POINTER(dbCursor)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 122
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_drop_index'):
-    db_drop_index = _libs['grass_dbmiclient.7.0.svn'].db_drop_index
-    db_drop_index.restype = c_int
-    db_drop_index.argtypes = [POINTER(dbDriver), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 123
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_drop_table'):
-    db_drop_table = _libs['grass_dbmiclient.7.0.svn'].db_drop_table
-    db_drop_table.restype = c_int
-    db_drop_table.argtypes = [POINTER(dbDriver), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 124
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_drop_token'):
-    db_drop_token = _libs['grass_dbmiclient.7.0.svn'].db_drop_token
-    db_drop_token.restype = None
-    db_drop_token.argtypes = [dbToken]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 125
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_update'):
-        db_d_update = _lib.db_d_update
-        db_d_update.restype = c_int
-        db_d_update.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 126
-for _lib in _libs.values():
-    if hasattr(_lib, 'db_d_version'):
-        db_d_version = _lib.db_d_version
-        db_d_version.restype = c_int
-        db_d_version.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 127
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_enlarge_string'):
-    db_enlarge_string = _libs['grass_dbmiclient.7.0.svn'].db_enlarge_string
-    db_enlarge_string.restype = c_int
-    db_enlarge_string.argtypes = [POINTER(dbString), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 128
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_error'):
-    db_error = _libs['grass_dbmiclient.7.0.svn'].db_error
-    db_error.restype = None
-    db_error.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 129
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_execute_immediate'):
-    db_execute_immediate = _libs['grass_dbmiclient.7.0.svn'].db_execute_immediate
-    db_execute_immediate.restype = c_int
-    db_execute_immediate.argtypes = [POINTER(dbDriver), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 130
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_begin_transaction'):
-    db_begin_transaction = _libs['grass_dbmiclient.7.0.svn'].db_begin_transaction
-    db_begin_transaction.restype = c_int
-    db_begin_transaction.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 131
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_commit_transaction'):
-    db_commit_transaction = _libs['grass_dbmiclient.7.0.svn'].db_commit_transaction
-    db_commit_transaction.restype = c_int
-    db_commit_transaction.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 132
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_fetch'):
-    db_fetch = _libs['grass_dbmiclient.7.0.svn'].db_fetch
-    db_fetch.restype = c_int
-    db_fetch.argtypes = [POINTER(dbCursor), c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 133
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_find_database'):
-    db_find_database = _libs['grass_dbmiclient.7.0.svn'].db_find_database
-    db_find_database.restype = c_int
-    db_find_database.argtypes = [POINTER(dbDriver), POINTER(dbHandle), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 134
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_find_token'):
-    db_find_token = _libs['grass_dbmiclient.7.0.svn'].db_find_token
-    db_find_token.restype = dbAddress
-    db_find_token.argtypes = [dbToken]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 135
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free'):
-    db_free = _libs['grass_dbmiclient.7.0.svn'].db_free
-    db_free.restype = None
-    db_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 136
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_column'):
-    db_free_column = _libs['grass_dbmiclient.7.0.svn'].db_free_column
-    db_free_column.restype = None
-    db_free_column.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 137
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_cursor'):
-    db_free_cursor = _libs['grass_dbmiclient.7.0.svn'].db_free_cursor
-    db_free_cursor.restype = None
-    db_free_cursor.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 138
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_cursor_column_flags'):
-    db_free_cursor_column_flags = _libs['grass_dbmiclient.7.0.svn'].db_free_cursor_column_flags
-    db_free_cursor_column_flags.restype = None
-    db_free_cursor_column_flags.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 139
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_dbmscap'):
-    db_free_dbmscap = _libs['grass_dbmiclient.7.0.svn'].db_free_dbmscap
-    db_free_dbmscap.restype = None
-    db_free_dbmscap.argtypes = [POINTER(dbDbmscap)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 140
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_dirent_array'):
-    db_free_dirent_array = _libs['grass_dbmiclient.7.0.svn'].db_free_dirent_array
-    db_free_dirent_array.restype = None
-    db_free_dirent_array.argtypes = [POINTER(dbDirent), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 141
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_handle'):
-    db_free_handle = _libs['grass_dbmiclient.7.0.svn'].db_free_handle
-    db_free_handle.restype = None
-    db_free_handle.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 142
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_handle_array'):
-    db_free_handle_array = _libs['grass_dbmiclient.7.0.svn'].db_free_handle_array
-    db_free_handle_array.restype = None
-    db_free_handle_array.argtypes = [POINTER(dbHandle), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 143
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_index'):
-    db_free_index = _libs['grass_dbmiclient.7.0.svn'].db_free_index
-    db_free_index.restype = None
-    db_free_index.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 144
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_index_array'):
-    db_free_index_array = _libs['grass_dbmiclient.7.0.svn'].db_free_index_array
-    db_free_index_array.restype = None
-    db_free_index_array.argtypes = [POINTER(dbIndex), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 145
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_string'):
-    db_free_string = _libs['grass_dbmiclient.7.0.svn'].db_free_string
-    db_free_string.restype = None
-    db_free_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 146
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_string_array'):
-    db_free_string_array = _libs['grass_dbmiclient.7.0.svn'].db_free_string_array
-    db_free_string_array.restype = None
-    db_free_string_array.argtypes = [POINTER(dbString), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 147
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_free_table'):
-    db_free_table = _libs['grass_dbmiclient.7.0.svn'].db_free_table
-    db_free_table.restype = None
-    db_free_table.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 148
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column'):
-    db_get_column = _libs['grass_dbmiclient.7.0.svn'].db_get_column
-    db_get_column.restype = c_int
-    db_get_column.argtypes = [POINTER(dbDriver), String, String, POINTER(POINTER(dbColumn))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 150
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_default_value'):
-    db_get_column_default_value = _libs['grass_dbmiclient.7.0.svn'].db_get_column_default_value
-    db_get_column_default_value.restype = POINTER(dbValue)
-    db_get_column_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 151
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_description'):
-    db_get_column_description = _libs['grass_dbmiclient.7.0.svn'].db_get_column_description
-    db_get_column_description.restype = ReturnString
-    db_get_column_description.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 152
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_host_type'):
-    db_get_column_host_type = _libs['grass_dbmiclient.7.0.svn'].db_get_column_host_type
-    db_get_column_host_type.restype = c_int
-    db_get_column_host_type.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 153
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_length'):
-    db_get_column_length = _libs['grass_dbmiclient.7.0.svn'].db_get_column_length
-    db_get_column_length.restype = c_int
-    db_get_column_length.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 154
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_name'):
-    db_get_column_name = _libs['grass_dbmiclient.7.0.svn'].db_get_column_name
-    db_get_column_name.restype = ReturnString
-    db_get_column_name.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 155
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_precision'):
-    db_get_column_precision = _libs['grass_dbmiclient.7.0.svn'].db_get_column_precision
-    db_get_column_precision.restype = c_int
-    db_get_column_precision.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 156
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_scale'):
-    db_get_column_scale = _libs['grass_dbmiclient.7.0.svn'].db_get_column_scale
-    db_get_column_scale.restype = c_int
-    db_get_column_scale.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 157
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_select_priv'):
-    db_get_column_select_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_column_select_priv
-    db_get_column_select_priv.restype = c_int
-    db_get_column_select_priv.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 158
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_sqltype'):
-    db_get_column_sqltype = _libs['grass_dbmiclient.7.0.svn'].db_get_column_sqltype
-    db_get_column_sqltype.restype = c_int
-    db_get_column_sqltype.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 159
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_update_priv'):
-    db_get_column_update_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_column_update_priv
-    db_get_column_update_priv.restype = c_int
-    db_get_column_update_priv.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 160
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_column_value'):
-    db_get_column_value = _libs['grass_dbmiclient.7.0.svn'].db_get_column_value
-    db_get_column_value.restype = POINTER(dbValue)
-    db_get_column_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 161
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_connection'):
-    db_get_connection = _libs['grass_dbmiclient.7.0.svn'].db_get_connection
-    db_get_connection.restype = c_int
-    db_get_connection.argtypes = [POINTER(dbConnection)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 162
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_cursor_number_of_columns'):
-    db_get_cursor_number_of_columns = _libs['grass_dbmiclient.7.0.svn'].db_get_cursor_number_of_columns
-    db_get_cursor_number_of_columns.restype = c_int
-    db_get_cursor_number_of_columns.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 163
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_cursor_table'):
-    db_get_cursor_table = _libs['grass_dbmiclient.7.0.svn'].db_get_cursor_table
-    db_get_cursor_table.restype = POINTER(dbTable)
-    db_get_cursor_table.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 164
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_cursor_token'):
-    db_get_cursor_token = _libs['grass_dbmiclient.7.0.svn'].db_get_cursor_token
-    db_get_cursor_token.restype = dbToken
-    db_get_cursor_token.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 165
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_default_driver_name'):
-    db_get_default_driver_name = _libs['grass_dbmiclient.7.0.svn'].db_get_default_driver_name
-    db_get_default_driver_name.restype = ReturnString
-    db_get_default_driver_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 166
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_default_database_name'):
-    db_get_default_database_name = _libs['grass_dbmiclient.7.0.svn'].db_get_default_database_name
-    db_get_default_database_name.restype = ReturnString
-    db_get_default_database_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 167
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_default_schema_name'):
-    db_get_default_schema_name = _libs['grass_dbmiclient.7.0.svn'].db_get_default_schema_name
-    db_get_default_schema_name.restype = ReturnString
-    db_get_default_schema_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 168
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_default_group_name'):
-    db_get_default_group_name = _libs['grass_dbmiclient.7.0.svn'].db_get_default_group_name
-    db_get_default_group_name.restype = ReturnString
-    db_get_default_group_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 169
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__get_driver_state'):
-        db__get_driver_state = _lib.db__get_driver_state
-        db__get_driver_state.restype = POINTER(dbDriverState)
-        db__get_driver_state.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 170
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_error_code'):
-    db_get_error_code = _libs['grass_dbmiclient.7.0.svn'].db_get_error_code
-    db_get_error_code.restype = c_int
-    db_get_error_code.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 171
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_error_msg'):
-    db_get_error_msg = _libs['grass_dbmiclient.7.0.svn'].db_get_error_msg
-    db_get_error_msg.restype = ReturnString
-    db_get_error_msg.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 172
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_error_who'):
-    db_get_error_who = _libs['grass_dbmiclient.7.0.svn'].db_get_error_who
-    db_get_error_who.restype = ReturnString
-    db_get_error_who.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 173
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_handle_dbname'):
-    db_get_handle_dbname = _libs['grass_dbmiclient.7.0.svn'].db_get_handle_dbname
-    db_get_handle_dbname.restype = ReturnString
-    db_get_handle_dbname.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 174
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_handle_dbschema'):
-    db_get_handle_dbschema = _libs['grass_dbmiclient.7.0.svn'].db_get_handle_dbschema
-    db_get_handle_dbschema.restype = ReturnString
-    db_get_handle_dbschema.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 175
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_index_column_name'):
-    db_get_index_column_name = _libs['grass_dbmiclient.7.0.svn'].db_get_index_column_name
-    db_get_index_column_name.restype = ReturnString
-    db_get_index_column_name.argtypes = [POINTER(dbIndex), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 176
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_index_name'):
-    db_get_index_name = _libs['grass_dbmiclient.7.0.svn'].db_get_index_name
-    db_get_index_name.restype = ReturnString
-    db_get_index_name.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 177
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_index_number_of_columns'):
-    db_get_index_number_of_columns = _libs['grass_dbmiclient.7.0.svn'].db_get_index_number_of_columns
-    db_get_index_number_of_columns.restype = c_int
-    db_get_index_number_of_columns.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 178
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_index_table_name'):
-    db_get_index_table_name = _libs['grass_dbmiclient.7.0.svn'].db_get_index_table_name
-    db_get_index_table_name.restype = ReturnString
-    db_get_index_table_name.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 179
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_num_rows'):
-    db_get_num_rows = _libs['grass_dbmiclient.7.0.svn'].db_get_num_rows
-    db_get_num_rows.restype = c_int
-    db_get_num_rows.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 180
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_string'):
-    db_get_string = _libs['grass_dbmiclient.7.0.svn'].db_get_string
-    db_get_string.restype = ReturnString
-    db_get_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 181
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_column'):
-    db_get_table_column = _libs['grass_dbmiclient.7.0.svn'].db_get_table_column
-    db_get_table_column.restype = POINTER(dbColumn)
-    db_get_table_column.argtypes = [POINTER(dbTable), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 182
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_column_by_name'):
-    db_get_table_column_by_name = _libs['grass_dbmiclient.7.0.svn'].db_get_table_column_by_name
-    db_get_table_column_by_name.restype = POINTER(dbColumn)
-    db_get_table_column_by_name.argtypes = [POINTER(dbTable), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 183
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_delete_priv'):
-    db_get_table_delete_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_table_delete_priv
-    db_get_table_delete_priv.restype = c_int
-    db_get_table_delete_priv.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 184
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_description'):
-    db_get_table_description = _libs['grass_dbmiclient.7.0.svn'].db_get_table_description
-    db_get_table_description.restype = ReturnString
-    db_get_table_description.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 185
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_insert_priv'):
-    db_get_table_insert_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_table_insert_priv
-    db_get_table_insert_priv.restype = c_int
-    db_get_table_insert_priv.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 186
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_name'):
-    db_get_table_name = _libs['grass_dbmiclient.7.0.svn'].db_get_table_name
-    db_get_table_name.restype = ReturnString
-    db_get_table_name.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 187
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_number_of_columns'):
-    db_get_table_number_of_columns = _libs['grass_dbmiclient.7.0.svn'].db_get_table_number_of_columns
-    db_get_table_number_of_columns.restype = c_int
-    db_get_table_number_of_columns.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 188
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_number_of_rows'):
-    db_get_table_number_of_rows = _libs['grass_dbmiclient.7.0.svn'].db_get_table_number_of_rows
-    db_get_table_number_of_rows.restype = c_int
-    db_get_table_number_of_rows.argtypes = [POINTER(dbDriver), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 189
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_select_priv'):
-    db_get_table_select_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_table_select_priv
-    db_get_table_select_priv.restype = c_int
-    db_get_table_select_priv.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 190
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_table_update_priv'):
-    db_get_table_update_priv = _libs['grass_dbmiclient.7.0.svn'].db_get_table_update_priv
-    db_get_table_update_priv.restype = c_int
-    db_get_table_update_priv.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 191
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_as_double'):
-    db_get_value_as_double = _libs['grass_dbmiclient.7.0.svn'].db_get_value_as_double
-    db_get_value_as_double.restype = c_double
-    db_get_value_as_double.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 192
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_day'):
-    db_get_value_day = _libs['grass_dbmiclient.7.0.svn'].db_get_value_day
-    db_get_value_day.restype = c_int
-    db_get_value_day.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 193
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_double'):
-    db_get_value_double = _libs['grass_dbmiclient.7.0.svn'].db_get_value_double
-    db_get_value_double.restype = c_double
-    db_get_value_double.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 194
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_hour'):
-    db_get_value_hour = _libs['grass_dbmiclient.7.0.svn'].db_get_value_hour
-    db_get_value_hour.restype = c_int
-    db_get_value_hour.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 195
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_int'):
-    db_get_value_int = _libs['grass_dbmiclient.7.0.svn'].db_get_value_int
-    db_get_value_int.restype = c_int
-    db_get_value_int.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 196
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_minute'):
-    db_get_value_minute = _libs['grass_dbmiclient.7.0.svn'].db_get_value_minute
-    db_get_value_minute.restype = c_int
-    db_get_value_minute.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 197
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_month'):
-    db_get_value_month = _libs['grass_dbmiclient.7.0.svn'].db_get_value_month
-    db_get_value_month.restype = c_int
-    db_get_value_month.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 198
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_seconds'):
-    db_get_value_seconds = _libs['grass_dbmiclient.7.0.svn'].db_get_value_seconds
-    db_get_value_seconds.restype = c_double
-    db_get_value_seconds.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 199
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_string'):
-    db_get_value_string = _libs['grass_dbmiclient.7.0.svn'].db_get_value_string
-    db_get_value_string.restype = ReturnString
-    db_get_value_string.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 200
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_value_year'):
-    db_get_value_year = _libs['grass_dbmiclient.7.0.svn'].db_get_value_year
-    db_get_value_year.restype = c_int
-    db_get_value_year.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 201
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_grant_on_table'):
-    db_grant_on_table = _libs['grass_dbmiclient.7.0.svn'].db_grant_on_table
-    db_grant_on_table.restype = c_int
-    db_grant_on_table.argtypes = [POINTER(dbDriver), String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 203
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_has_dbms'):
-    db_has_dbms = _libs['grass_dbmiclient.7.0.svn'].db_has_dbms
-    db_has_dbms.restype = c_int
-    db_has_dbms.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 204
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_column'):
-    db_init_column = _libs['grass_dbmiclient.7.0.svn'].db_init_column
-    db_init_column.restype = None
-    db_init_column.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 205
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_cursor'):
-    db_init_cursor = _libs['grass_dbmiclient.7.0.svn'].db_init_cursor
-    db_init_cursor.restype = None
-    db_init_cursor.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 206
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__init_driver_state'):
-        db__init_driver_state = _lib.db__init_driver_state
-        db__init_driver_state.restype = None
-        db__init_driver_state.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 207
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_handle'):
-    db_init_handle = _libs['grass_dbmiclient.7.0.svn'].db_init_handle
-    db_init_handle.restype = None
-    db_init_handle.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 208
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_index'):
-    db_init_index = _libs['grass_dbmiclient.7.0.svn'].db_init_index
-    db_init_index.restype = None
-    db_init_index.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 209
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_string'):
-    db_init_string = _libs['grass_dbmiclient.7.0.svn'].db_init_string
-    db_init_string.restype = None
-    db_init_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 210
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_init_table'):
-    db_init_table = _libs['grass_dbmiclient.7.0.svn'].db_init_table
-    db_init_table.restype = None
-    db_init_table.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 211
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_insert'):
-    db_insert = _libs['grass_dbmiclient.7.0.svn'].db_insert
-    db_insert.restype = c_int
-    db_insert.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 212
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_interval_range'):
-    db_interval_range = _libs['grass_dbmiclient.7.0.svn'].db_interval_range
-    db_interval_range.restype = None
-    db_interval_range.argtypes = [c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 213
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_isdir'):
-    db_isdir = _libs['grass_dbmiclient.7.0.svn'].db_isdir
-    db_isdir.restype = c_int
-    db_isdir.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 214
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_legal_tablename'):
-    db_legal_tablename = _libs['grass_dbmiclient.7.0.svn'].db_legal_tablename
-    db_legal_tablename.restype = c_int
-    db_legal_tablename.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 215
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_list_databases'):
-    db_list_databases = _libs['grass_dbmiclient.7.0.svn'].db_list_databases
-    db_list_databases.restype = c_int
-    db_list_databases.argtypes = [POINTER(dbDriver), POINTER(dbString), c_int, POINTER(POINTER(dbHandle)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 217
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_list_drivers'):
-    db_list_drivers = _libs['grass_dbmiclient.7.0.svn'].db_list_drivers
-    db_list_drivers.restype = ReturnString
-    db_list_drivers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 218
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_list_indexes'):
-    db_list_indexes = _libs['grass_dbmiclient.7.0.svn'].db_list_indexes
-    db_list_indexes.restype = c_int
-    db_list_indexes.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(POINTER(dbIndex)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 220
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_list_tables'):
-    db_list_tables = _libs['grass_dbmiclient.7.0.svn'].db_list_tables
-    db_list_tables.restype = c_int
-    db_list_tables.argtypes = [POINTER(dbDriver), POINTER(POINTER(dbString)), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 222
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_malloc'):
-    db_malloc = _libs['grass_dbmiclient.7.0.svn'].db_malloc
-    db_malloc.restype = POINTER(None)
-    db_malloc.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 223
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__mark_database_closed'):
-        db__mark_database_closed = _lib.db__mark_database_closed
-        db__mark_database_closed.restype = None
-        db__mark_database_closed.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 224
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__mark_database_open'):
-        db__mark_database_open = _lib.db__mark_database_open
-        db__mark_database_open.restype = None
-        db__mark_database_open.argtypes = [String, String]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 225
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_memory_error'):
-    db_memory_error = _libs['grass_dbmiclient.7.0.svn'].db_memory_error
-    db_memory_error.restype = None
-    db_memory_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 226
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_new_token'):
-    db_new_token = _libs['grass_dbmiclient.7.0.svn'].db_new_token
-    db_new_token.restype = dbToken
-    db_new_token.argtypes = [dbAddress]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 227
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_nocase_compare'):
-    db_nocase_compare = _libs['grass_dbmiclient.7.0.svn'].db_nocase_compare
-    db_nocase_compare.restype = c_int
-    db_nocase_compare.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 228
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_noproc_error'):
-    db_noproc_error = _libs['grass_dbmiclient.7.0.svn'].db_noproc_error
-    db_noproc_error.restype = None
-    db_noproc_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 229
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_open_database'):
-    db_open_database = _libs['grass_dbmiclient.7.0.svn'].db_open_database
-    db_open_database.restype = c_int
-    db_open_database.argtypes = [POINTER(dbDriver), POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 230
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_open_insert_cursor'):
-    db_open_insert_cursor = _libs['grass_dbmiclient.7.0.svn'].db_open_insert_cursor
-    db_open_insert_cursor.restype = c_int
-    db_open_insert_cursor.argtypes = [POINTER(dbDriver), POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 231
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_open_select_cursor'):
-    db_open_select_cursor = _libs['grass_dbmiclient.7.0.svn'].db_open_select_cursor
-    db_open_select_cursor.restype = c_int
-    db_open_select_cursor.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 233
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_open_update_cursor'):
-    db_open_update_cursor = _libs['grass_dbmiclient.7.0.svn'].db_open_update_cursor
-    db_open_update_cursor.restype = c_int
-    db_open_update_cursor.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbString), POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 235
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_print_column_definition'):
-    db_print_column_definition = _libs['grass_dbmiclient.7.0.svn'].db_print_column_definition
-    db_print_column_definition.restype = None
-    db_print_column_definition.argtypes = [POINTER(FILE), POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 236
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_print_error'):
-    db_print_error = _libs['grass_dbmiclient.7.0.svn'].db_print_error
-    db_print_error.restype = None
-    db_print_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 237
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_print_index'):
-    db_print_index = _libs['grass_dbmiclient.7.0.svn'].db_print_index
-    db_print_index.restype = None
-    db_print_index.argtypes = [POINTER(FILE), POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 238
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_print_table_definition'):
-    db_print_table_definition = _libs['grass_dbmiclient.7.0.svn'].db_print_table_definition
-    db_print_table_definition.restype = None
-    db_print_table_definition.argtypes = [POINTER(FILE), POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 239
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_procedure_not_implemented'):
-    db_procedure_not_implemented = _libs['grass_dbmiclient.7.0.svn'].db_procedure_not_implemented
-    db_procedure_not_implemented.restype = None
-    db_procedure_not_implemented.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 240
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_protocol_error'):
-    db_protocol_error = _libs['grass_dbmiclient.7.0.svn'].db_protocol_error
-    db_protocol_error.restype = None
-    db_protocol_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 241
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_read_dbmscap'):
-    db_read_dbmscap = _libs['grass_dbmiclient.7.0.svn'].db_read_dbmscap
-    db_read_dbmscap.restype = POINTER(dbDbmscap)
-    db_read_dbmscap.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 242
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_realloc'):
-    db_realloc = _libs['grass_dbmiclient.7.0.svn'].db_realloc
-    db_realloc.restype = POINTER(None)
-    db_realloc.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 243
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_char'):
-    db__recv_char = _libs['grass_dbmiclient.7.0.svn'].db__recv_char
-    db__recv_char.restype = c_int
-    db__recv_char.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 244
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_column_default_value'):
-    db__recv_column_default_value = _libs['grass_dbmiclient.7.0.svn'].db__recv_column_default_value
-    db__recv_column_default_value.restype = c_int
-    db__recv_column_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 245
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_column_definition'):
-    db__recv_column_definition = _libs['grass_dbmiclient.7.0.svn'].db__recv_column_definition
-    db__recv_column_definition.restype = c_int
-    db__recv_column_definition.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 246
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_column_value'):
-    db__recv_column_value = _libs['grass_dbmiclient.7.0.svn'].db__recv_column_value
-    db__recv_column_value.restype = c_int
-    db__recv_column_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 247
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_datetime'):
-    db__recv_datetime = _libs['grass_dbmiclient.7.0.svn'].db__recv_datetime
-    db__recv_datetime.restype = c_int
-    db__recv_datetime.argtypes = [POINTER(dbDateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 248
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_double'):
-    db__recv_double = _libs['grass_dbmiclient.7.0.svn'].db__recv_double
-    db__recv_double.restype = c_int
-    db__recv_double.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 249
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_double_array'):
-    db__recv_double_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_double_array
-    db__recv_double_array.restype = c_int
-    db__recv_double_array.argtypes = [POINTER(POINTER(c_double)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 250
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_float'):
-    db__recv_float = _libs['grass_dbmiclient.7.0.svn'].db__recv_float
-    db__recv_float.restype = c_int
-    db__recv_float.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 251
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_float_array'):
-    db__recv_float_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_float_array
-    db__recv_float_array.restype = c_int
-    db__recv_float_array.argtypes = [POINTER(POINTER(c_float)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 252
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_handle'):
-    db__recv_handle = _libs['grass_dbmiclient.7.0.svn'].db__recv_handle
-    db__recv_handle.restype = c_int
-    db__recv_handle.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 253
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_index'):
-    db__recv_index = _libs['grass_dbmiclient.7.0.svn'].db__recv_index
-    db__recv_index.restype = c_int
-    db__recv_index.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 254
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_index_array'):
-    db__recv_index_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_index_array
-    db__recv_index_array.restype = c_int
-    db__recv_index_array.argtypes = [POINTER(POINTER(dbIndex)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 255
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_int'):
-    db__recv_int = _libs['grass_dbmiclient.7.0.svn'].db__recv_int
-    db__recv_int.restype = c_int
-    db__recv_int.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 256
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_int_array'):
-    db__recv_int_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_int_array
-    db__recv_int_array.restype = c_int
-    db__recv_int_array.argtypes = [POINTER(POINTER(c_int)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 257
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_procnum'):
-    db__recv_procnum = _libs['grass_dbmiclient.7.0.svn'].db__recv_procnum
-    db__recv_procnum.restype = c_int
-    db__recv_procnum.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 258
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_return_code'):
-    db__recv_return_code = _libs['grass_dbmiclient.7.0.svn'].db__recv_return_code
-    db__recv_return_code.restype = c_int
-    db__recv_return_code.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 259
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_short'):
-    db__recv_short = _libs['grass_dbmiclient.7.0.svn'].db__recv_short
-    db__recv_short.restype = c_int
-    db__recv_short.argtypes = [POINTER(c_short)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 260
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_short_array'):
-    db__recv_short_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_short_array
-    db__recv_short_array.restype = c_int
-    db__recv_short_array.argtypes = [POINTER(POINTER(c_short)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 261
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_string'):
-    db__recv_string = _libs['grass_dbmiclient.7.0.svn'].db__recv_string
-    db__recv_string.restype = c_int
-    db__recv_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 262
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_string_array'):
-    db__recv_string_array = _libs['grass_dbmiclient.7.0.svn'].db__recv_string_array
-    db__recv_string_array.restype = c_int
-    db__recv_string_array.argtypes = [POINTER(POINTER(dbString)), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 263
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_table_data'):
-    db__recv_table_data = _libs['grass_dbmiclient.7.0.svn'].db__recv_table_data
-    db__recv_table_data.restype = c_int
-    db__recv_table_data.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 264
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_table_definition'):
-    db__recv_table_definition = _libs['grass_dbmiclient.7.0.svn'].db__recv_table_definition
-    db__recv_table_definition.restype = c_int
-    db__recv_table_definition.argtypes = [POINTER(POINTER(dbTable))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 265
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_token'):
-    db__recv_token = _libs['grass_dbmiclient.7.0.svn'].db__recv_token
-    db__recv_token.restype = c_int
-    db__recv_token.argtypes = [POINTER(dbToken)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 266
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__recv_value'):
-    db__recv_value = _libs['grass_dbmiclient.7.0.svn'].db__recv_value
-    db__recv_value.restype = c_int
-    db__recv_value.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 267
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_Cstring'):
-    db__send_Cstring = _libs['grass_dbmiclient.7.0.svn'].db__send_Cstring
-    db__send_Cstring.restype = c_int
-    db__send_Cstring.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 268
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_char'):
-    db__send_char = _libs['grass_dbmiclient.7.0.svn'].db__send_char
-    db__send_char.restype = c_int
-    db__send_char.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 269
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_column_default_value'):
-    db__send_column_default_value = _libs['grass_dbmiclient.7.0.svn'].db__send_column_default_value
-    db__send_column_default_value.restype = c_int
-    db__send_column_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 270
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_column_definition'):
-    db__send_column_definition = _libs['grass_dbmiclient.7.0.svn'].db__send_column_definition
-    db__send_column_definition.restype = c_int
-    db__send_column_definition.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 271
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_column_value'):
-    db__send_column_value = _libs['grass_dbmiclient.7.0.svn'].db__send_column_value
-    db__send_column_value.restype = c_int
-    db__send_column_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 272
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_datetime'):
-    db__send_datetime = _libs['grass_dbmiclient.7.0.svn'].db__send_datetime
-    db__send_datetime.restype = c_int
-    db__send_datetime.argtypes = [POINTER(dbDateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 273
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_double'):
-    db__send_double = _libs['grass_dbmiclient.7.0.svn'].db__send_double
-    db__send_double.restype = c_int
-    db__send_double.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 274
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_double_array'):
-    db__send_double_array = _libs['grass_dbmiclient.7.0.svn'].db__send_double_array
-    db__send_double_array.restype = c_int
-    db__send_double_array.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 275
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_failure'):
-    db__send_failure = _libs['grass_dbmiclient.7.0.svn'].db__send_failure
-    db__send_failure.restype = c_int
-    db__send_failure.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 276
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_float'):
-    db__send_float = _libs['grass_dbmiclient.7.0.svn'].db__send_float
-    db__send_float.restype = c_int
-    db__send_float.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 277
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_float_array'):
-    db__send_float_array = _libs['grass_dbmiclient.7.0.svn'].db__send_float_array
-    db__send_float_array.restype = c_int
-    db__send_float_array.argtypes = [POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 278
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_handle'):
-    db__send_handle = _libs['grass_dbmiclient.7.0.svn'].db__send_handle
-    db__send_handle.restype = c_int
-    db__send_handle.argtypes = [POINTER(dbHandle)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 279
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_index'):
-    db__send_index = _libs['grass_dbmiclient.7.0.svn'].db__send_index
-    db__send_index.restype = c_int
-    db__send_index.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 280
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_index_array'):
-    db__send_index_array = _libs['grass_dbmiclient.7.0.svn'].db__send_index_array
-    db__send_index_array.restype = c_int
-    db__send_index_array.argtypes = [POINTER(dbIndex), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 281
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_int'):
-    db__send_int = _libs['grass_dbmiclient.7.0.svn'].db__send_int
-    db__send_int.restype = c_int
-    db__send_int.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 282
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_int_array'):
-    db__send_int_array = _libs['grass_dbmiclient.7.0.svn'].db__send_int_array
-    db__send_int_array.restype = c_int
-    db__send_int_array.argtypes = [POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 283
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_procedure_not_implemented'):
-    db__send_procedure_not_implemented = _libs['grass_dbmiclient.7.0.svn'].db__send_procedure_not_implemented
-    db__send_procedure_not_implemented.restype = c_int
-    db__send_procedure_not_implemented.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 284
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_procedure_ok'):
-    db__send_procedure_ok = _libs['grass_dbmiclient.7.0.svn'].db__send_procedure_ok
-    db__send_procedure_ok.restype = c_int
-    db__send_procedure_ok.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 285
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_short'):
-    db__send_short = _libs['grass_dbmiclient.7.0.svn'].db__send_short
-    db__send_short.restype = c_int
-    db__send_short.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 286
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_short_array'):
-    db__send_short_array = _libs['grass_dbmiclient.7.0.svn'].db__send_short_array
-    db__send_short_array.restype = c_int
-    db__send_short_array.argtypes = [POINTER(c_short), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 287
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_string'):
-    db__send_string = _libs['grass_dbmiclient.7.0.svn'].db__send_string
-    db__send_string.restype = c_int
-    db__send_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 288
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_string_array'):
-    db__send_string_array = _libs['grass_dbmiclient.7.0.svn'].db__send_string_array
-    db__send_string_array.restype = c_int
-    db__send_string_array.argtypes = [POINTER(dbString), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 289
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_success'):
-    db__send_success = _libs['grass_dbmiclient.7.0.svn'].db__send_success
-    db__send_success.restype = c_int
-    db__send_success.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 290
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_table_data'):
-    db__send_table_data = _libs['grass_dbmiclient.7.0.svn'].db__send_table_data
-    db__send_table_data.restype = c_int
-    db__send_table_data.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 291
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_table_definition'):
-    db__send_table_definition = _libs['grass_dbmiclient.7.0.svn'].db__send_table_definition
-    db__send_table_definition.restype = c_int
-    db__send_table_definition.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 292
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_token'):
-    db__send_token = _libs['grass_dbmiclient.7.0.svn'].db__send_token
-    db__send_token.restype = c_int
-    db__send_token.argtypes = [POINTER(dbToken)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 293
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__send_value'):
-    db__send_value = _libs['grass_dbmiclient.7.0.svn'].db__send_value
-    db__send_value.restype = c_int
-    db__send_value.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 294
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_select_CatValArray'):
-    db_select_CatValArray = _libs['grass_dbmiclient.7.0.svn'].db_select_CatValArray
-    db_select_CatValArray.restype = c_int
-    db_select_CatValArray.argtypes = [POINTER(dbDriver), String, String, String, String, POINTER(dbCatValArray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 297
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_select_int'):
-    db_select_int = _libs['grass_dbmiclient.7.0.svn'].db_select_int
-    db_select_int.restype = c_int
-    db_select_int.argtypes = [POINTER(dbDriver), String, String, String, POINTER(POINTER(c_int))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 299
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_select_value'):
-    db_select_value = _libs['grass_dbmiclient.7.0.svn'].db_select_value
-    db_select_value.restype = c_int
-    db_select_value.argtypes = [POINTER(dbDriver), String, String, c_int, String, POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 301
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_description'):
-    db_set_column_description = _libs['grass_dbmiclient.7.0.svn'].db_set_column_description
-    db_set_column_description.restype = c_int
-    db_set_column_description.argtypes = [POINTER(dbColumn), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 302
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_has_defined_default_value'):
-    db_set_column_has_defined_default_value = _libs['grass_dbmiclient.7.0.svn'].db_set_column_has_defined_default_value
-    db_set_column_has_defined_default_value.restype = None
-    db_set_column_has_defined_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 303
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_has_undefined_default_value'):
-    db_set_column_has_undefined_default_value = _libs['grass_dbmiclient.7.0.svn'].db_set_column_has_undefined_default_value
-    db_set_column_has_undefined_default_value.restype = None
-    db_set_column_has_undefined_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 304
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_host_type'):
-    db_set_column_host_type = _libs['grass_dbmiclient.7.0.svn'].db_set_column_host_type
-    db_set_column_host_type.restype = None
-    db_set_column_host_type.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 305
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_length'):
-    db_set_column_length = _libs['grass_dbmiclient.7.0.svn'].db_set_column_length
-    db_set_column_length.restype = None
-    db_set_column_length.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 306
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_name'):
-    db_set_column_name = _libs['grass_dbmiclient.7.0.svn'].db_set_column_name
-    db_set_column_name.restype = c_int
-    db_set_column_name.argtypes = [POINTER(dbColumn), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 307
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_null_allowed'):
-    db_set_column_null_allowed = _libs['grass_dbmiclient.7.0.svn'].db_set_column_null_allowed
-    db_set_column_null_allowed.restype = None
-    db_set_column_null_allowed.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 308
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_precision'):
-    db_set_column_precision = _libs['grass_dbmiclient.7.0.svn'].db_set_column_precision
-    db_set_column_precision.restype = None
-    db_set_column_precision.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 309
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_scale'):
-    db_set_column_scale = _libs['grass_dbmiclient.7.0.svn'].db_set_column_scale
-    db_set_column_scale.restype = None
-    db_set_column_scale.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 310
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_select_priv_granted'):
-    db_set_column_select_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_column_select_priv_granted
-    db_set_column_select_priv_granted.restype = None
-    db_set_column_select_priv_granted.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 311
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_select_priv_not_granted'):
-    db_set_column_select_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_column_select_priv_not_granted
-    db_set_column_select_priv_not_granted.restype = None
-    db_set_column_select_priv_not_granted.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 312
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_sqltype'):
-    db_set_column_sqltype = _libs['grass_dbmiclient.7.0.svn'].db_set_column_sqltype
-    db_set_column_sqltype.restype = None
-    db_set_column_sqltype.argtypes = [POINTER(dbColumn), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 313
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_update_priv_granted'):
-    db_set_column_update_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_column_update_priv_granted
-    db_set_column_update_priv_granted.restype = None
-    db_set_column_update_priv_granted.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 314
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_update_priv_not_granted'):
-    db_set_column_update_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_column_update_priv_not_granted
-    db_set_column_update_priv_not_granted.restype = None
-    db_set_column_update_priv_not_granted.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 315
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_column_use_default_value'):
-    db_set_column_use_default_value = _libs['grass_dbmiclient.7.0.svn'].db_set_column_use_default_value
-    db_set_column_use_default_value.restype = None
-    db_set_column_use_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 316
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_connection'):
-    db_set_connection = _libs['grass_dbmiclient.7.0.svn'].db_set_connection
-    db_set_connection.restype = c_int
-    db_set_connection.argtypes = [POINTER(dbConnection)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 317
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_column_flag'):
-    db_set_cursor_column_flag = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_column_flag
-    db_set_cursor_column_flag.restype = None
-    db_set_cursor_column_flag.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 318
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_column_for_update'):
-    db_set_cursor_column_for_update = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_column_for_update
-    db_set_cursor_column_for_update.restype = None
-    db_set_cursor_column_for_update.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 319
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_mode'):
-    db_set_cursor_mode = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_mode
-    db_set_cursor_mode.restype = None
-    db_set_cursor_mode.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 320
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_mode_insensitive'):
-    db_set_cursor_mode_insensitive = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_mode_insensitive
-    db_set_cursor_mode_insensitive.restype = None
-    db_set_cursor_mode_insensitive.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 321
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_mode_scroll'):
-    db_set_cursor_mode_scroll = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_mode_scroll
-    db_set_cursor_mode_scroll.restype = None
-    db_set_cursor_mode_scroll.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 322
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_table'):
-    db_set_cursor_table = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_table
-    db_set_cursor_table.restype = None
-    db_set_cursor_table.argtypes = [POINTER(dbCursor), POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 323
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_token'):
-    db_set_cursor_token = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_token
-    db_set_cursor_token.restype = None
-    db_set_cursor_token.argtypes = [POINTER(dbCursor), dbToken]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 324
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_type_insert'):
-    db_set_cursor_type_insert = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_type_insert
-    db_set_cursor_type_insert.restype = None
-    db_set_cursor_type_insert.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 325
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_type_readonly'):
-    db_set_cursor_type_readonly = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_type_readonly
-    db_set_cursor_type_readonly.restype = None
-    db_set_cursor_type_readonly.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 326
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_cursor_type_update'):
-    db_set_cursor_type_update = _libs['grass_dbmiclient.7.0.svn'].db_set_cursor_type_update
-    db_set_cursor_type_update.restype = None
-    db_set_cursor_type_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 327
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_default_connection'):
-    db_set_default_connection = _libs['grass_dbmiclient.7.0.svn'].db_set_default_connection
-    db_set_default_connection.restype = c_int
-    db_set_default_connection.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 328
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_error_who'):
-    db_set_error_who = _libs['grass_dbmiclient.7.0.svn'].db_set_error_who
-    db_set_error_who.restype = None
-    db_set_error_who.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 329
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_handle'):
-    db_set_handle = _libs['grass_dbmiclient.7.0.svn'].db_set_handle
-    db_set_handle.restype = c_int
-    db_set_handle.argtypes = [POINTER(dbHandle), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 330
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_column_name'):
-    db_set_index_column_name = _libs['grass_dbmiclient.7.0.svn'].db_set_index_column_name
-    db_set_index_column_name.restype = c_int
-    db_set_index_column_name.argtypes = [POINTER(dbIndex), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 332
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_name'):
-    db_set_index_name = _libs['grass_dbmiclient.7.0.svn'].db_set_index_name
-    db_set_index_name.restype = c_int
-    db_set_index_name.argtypes = [POINTER(dbIndex), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 333
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_table_name'):
-    db_set_index_table_name = _libs['grass_dbmiclient.7.0.svn'].db_set_index_table_name
-    db_set_index_table_name.restype = c_int
-    db_set_index_table_name.argtypes = [POINTER(dbIndex), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 334
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_type_non_unique'):
-    db_set_index_type_non_unique = _libs['grass_dbmiclient.7.0.svn'].db_set_index_type_non_unique
-    db_set_index_type_non_unique.restype = c_int
-    db_set_index_type_non_unique.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 335
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_index_type_unique'):
-    db_set_index_type_unique = _libs['grass_dbmiclient.7.0.svn'].db_set_index_type_unique
-    db_set_index_type_unique.restype = c_int
-    db_set_index_type_unique.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 336
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__set_protocol_fds'):
-    db__set_protocol_fds = _libs['grass_dbmiclient.7.0.svn'].db__set_protocol_fds
-    db__set_protocol_fds.restype = None
-    db__set_protocol_fds.argtypes = [POINTER(FILE), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 337
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_string'):
-    db_set_string = _libs['grass_dbmiclient.7.0.svn'].db_set_string
-    db_set_string.restype = c_int
-    db_set_string.argtypes = [POINTER(dbString), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 338
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_string_no_copy'):
-    db_set_string_no_copy = _libs['grass_dbmiclient.7.0.svn'].db_set_string_no_copy
-    db_set_string_no_copy.restype = c_int
-    db_set_string_no_copy.argtypes = [POINTER(dbString), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 339
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_column'):
-    db_set_table_column = _libs['grass_dbmiclient.7.0.svn'].db_set_table_column
-    db_set_table_column.restype = c_int
-    db_set_table_column.argtypes = [POINTER(dbTable), c_int, POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 340
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_delete_priv_granted'):
-    db_set_table_delete_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_delete_priv_granted
-    db_set_table_delete_priv_granted.restype = None
-    db_set_table_delete_priv_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 341
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_delete_priv_not_granted'):
-    db_set_table_delete_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_delete_priv_not_granted
-    db_set_table_delete_priv_not_granted.restype = None
-    db_set_table_delete_priv_not_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 342
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_description'):
-    db_set_table_description = _libs['grass_dbmiclient.7.0.svn'].db_set_table_description
-    db_set_table_description.restype = c_int
-    db_set_table_description.argtypes = [POINTER(dbTable), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 343
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_insert_priv_granted'):
-    db_set_table_insert_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_insert_priv_granted
-    db_set_table_insert_priv_granted.restype = None
-    db_set_table_insert_priv_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 344
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_insert_priv_not_granted'):
-    db_set_table_insert_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_insert_priv_not_granted
-    db_set_table_insert_priv_not_granted.restype = None
-    db_set_table_insert_priv_not_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 345
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_name'):
-    db_set_table_name = _libs['grass_dbmiclient.7.0.svn'].db_set_table_name
-    db_set_table_name.restype = c_int
-    db_set_table_name.argtypes = [POINTER(dbTable), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 346
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_select_priv_granted'):
-    db_set_table_select_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_select_priv_granted
-    db_set_table_select_priv_granted.restype = None
-    db_set_table_select_priv_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 347
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_select_priv_not_granted'):
-    db_set_table_select_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_select_priv_not_granted
-    db_set_table_select_priv_not_granted.restype = None
-    db_set_table_select_priv_not_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 348
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_update_priv_granted'):
-    db_set_table_update_priv_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_update_priv_granted
-    db_set_table_update_priv_granted.restype = None
-    db_set_table_update_priv_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 349
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_table_update_priv_not_granted'):
-    db_set_table_update_priv_not_granted = _libs['grass_dbmiclient.7.0.svn'].db_set_table_update_priv_not_granted
-    db_set_table_update_priv_not_granted.restype = None
-    db_set_table_update_priv_not_granted.argtypes = [POINTER(dbTable)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 350
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_datetime_current'):
-    db_set_value_datetime_current = _libs['grass_dbmiclient.7.0.svn'].db_set_value_datetime_current
-    db_set_value_datetime_current.restype = None
-    db_set_value_datetime_current.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 351
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_datetime_not_current'):
-    db_set_value_datetime_not_current = _libs['grass_dbmiclient.7.0.svn'].db_set_value_datetime_not_current
-    db_set_value_datetime_not_current.restype = None
-    db_set_value_datetime_not_current.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 352
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_day'):
-    db_set_value_day = _libs['grass_dbmiclient.7.0.svn'].db_set_value_day
-    db_set_value_day.restype = None
-    db_set_value_day.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 353
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_double'):
-    db_set_value_double = _libs['grass_dbmiclient.7.0.svn'].db_set_value_double
-    db_set_value_double.restype = None
-    db_set_value_double.argtypes = [POINTER(dbValue), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 354
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_hour'):
-    db_set_value_hour = _libs['grass_dbmiclient.7.0.svn'].db_set_value_hour
-    db_set_value_hour.restype = None
-    db_set_value_hour.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 355
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_int'):
-    db_set_value_int = _libs['grass_dbmiclient.7.0.svn'].db_set_value_int
-    db_set_value_int.restype = None
-    db_set_value_int.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 356
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_minute'):
-    db_set_value_minute = _libs['grass_dbmiclient.7.0.svn'].db_set_value_minute
-    db_set_value_minute.restype = None
-    db_set_value_minute.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 357
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_month'):
-    db_set_value_month = _libs['grass_dbmiclient.7.0.svn'].db_set_value_month
-    db_set_value_month.restype = None
-    db_set_value_month.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 358
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_not_null'):
-    db_set_value_not_null = _libs['grass_dbmiclient.7.0.svn'].db_set_value_not_null
-    db_set_value_not_null.restype = None
-    db_set_value_not_null.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 359
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_null'):
-    db_set_value_null = _libs['grass_dbmiclient.7.0.svn'].db_set_value_null
-    db_set_value_null.restype = None
-    db_set_value_null.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 360
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_seconds'):
-    db_set_value_seconds = _libs['grass_dbmiclient.7.0.svn'].db_set_value_seconds
-    db_set_value_seconds.restype = None
-    db_set_value_seconds.argtypes = [POINTER(dbValue), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 361
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_string'):
-    db_set_value_string = _libs['grass_dbmiclient.7.0.svn'].db_set_value_string
-    db_set_value_string.restype = c_int
-    db_set_value_string.argtypes = [POINTER(dbValue), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 362
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_value_year'):
-    db_set_value_year = _libs['grass_dbmiclient.7.0.svn'].db_set_value_year
-    db_set_value_year.restype = None
-    db_set_value_year.argtypes = [POINTER(dbValue), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 363
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_shutdown_driver'):
-    db_shutdown_driver = _libs['grass_dbmiclient.7.0.svn'].db_shutdown_driver
-    db_shutdown_driver.restype = c_int
-    db_shutdown_driver.argtypes = [POINTER(dbDriver)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 364
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_sqltype_name'):
-    db_sqltype_name = _libs['grass_dbmiclient.7.0.svn'].db_sqltype_name
-    db_sqltype_name.restype = ReturnString
-    db_sqltype_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 365
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_sqltype_to_Ctype'):
-    db_sqltype_to_Ctype = _libs['grass_dbmiclient.7.0.svn'].db_sqltype_to_Ctype
-    db_sqltype_to_Ctype.restype = c_int
-    db_sqltype_to_Ctype.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 366
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_start_driver'):
-    db_start_driver = _libs['grass_dbmiclient.7.0.svn'].db_start_driver
-    db_start_driver.restype = POINTER(dbDriver)
-    db_start_driver.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 367
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_start_driver_open_database'):
-    db_start_driver_open_database = _libs['grass_dbmiclient.7.0.svn'].db_start_driver_open_database
-    db_start_driver_open_database.restype = POINTER(dbDriver)
-    db_start_driver_open_database.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 368
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db__start_procedure_call'):
-    db__start_procedure_call = _libs['grass_dbmiclient.7.0.svn'].db__start_procedure_call
-    db__start_procedure_call.restype = c_int
-    db__start_procedure_call.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 369
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_store'):
-    db_store = _libs['grass_dbmiclient.7.0.svn'].db_store
-    db_store.restype = ReturnString
-    db_store.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 370
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_strip'):
-    db_strip = _libs['grass_dbmiclient.7.0.svn'].db_strip
-    db_strip.restype = None
-    db_strip.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 371
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_syserror'):
-    db_syserror = _libs['grass_dbmiclient.7.0.svn'].db_syserror
-    db_syserror.restype = None
-    db_syserror.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 372
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_table_exists'):
-    db_table_exists = _libs['grass_dbmiclient.7.0.svn'].db_table_exists
-    db_table_exists.restype = c_int
-    db_table_exists.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 374
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_has_default_value'):
-    db_test_column_has_default_value = _libs['grass_dbmiclient.7.0.svn'].db_test_column_has_default_value
-    db_test_column_has_default_value.restype = c_int
-    db_test_column_has_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 375
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_has_defined_default_value'):
-    db_test_column_has_defined_default_value = _libs['grass_dbmiclient.7.0.svn'].db_test_column_has_defined_default_value
-    db_test_column_has_defined_default_value.restype = c_int
-    db_test_column_has_defined_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 376
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_has_undefined_default_value'):
-    db_test_column_has_undefined_default_value = _libs['grass_dbmiclient.7.0.svn'].db_test_column_has_undefined_default_value
-    db_test_column_has_undefined_default_value.restype = c_int
-    db_test_column_has_undefined_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 377
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_null_allowed'):
-    db_test_column_null_allowed = _libs['grass_dbmiclient.7.0.svn'].db_test_column_null_allowed
-    db_test_column_null_allowed.restype = c_int
-    db_test_column_null_allowed.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 378
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_column_use_default_value'):
-    db_test_column_use_default_value = _libs['grass_dbmiclient.7.0.svn'].db_test_column_use_default_value
-    db_test_column_use_default_value.restype = c_int
-    db_test_column_use_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 379
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_any_column_flag'):
-    db_test_cursor_any_column_flag = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_any_column_flag
-    db_test_cursor_any_column_flag.restype = c_int
-    db_test_cursor_any_column_flag.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 380
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_any_column_for_update'):
-    db_test_cursor_any_column_for_update = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_any_column_for_update
-    db_test_cursor_any_column_for_update.restype = c_int
-    db_test_cursor_any_column_for_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 381
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_column_flag'):
-    db_test_cursor_column_flag = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_column_flag
-    db_test_cursor_column_flag.restype = c_int
-    db_test_cursor_column_flag.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 382
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_column_for_update'):
-    db_test_cursor_column_for_update = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_column_for_update
-    db_test_cursor_column_for_update.restype = c_int
-    db_test_cursor_column_for_update.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 383
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_mode_insensitive'):
-    db_test_cursor_mode_insensitive = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_mode_insensitive
-    db_test_cursor_mode_insensitive.restype = c_int
-    db_test_cursor_mode_insensitive.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 384
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_mode_scroll'):
-    db_test_cursor_mode_scroll = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_mode_scroll
-    db_test_cursor_mode_scroll.restype = c_int
-    db_test_cursor_mode_scroll.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 385
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_type_fetch'):
-    db_test_cursor_type_fetch = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_type_fetch
-    db_test_cursor_type_fetch.restype = c_int
-    db_test_cursor_type_fetch.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 386
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_type_insert'):
-    db_test_cursor_type_insert = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_type_insert
-    db_test_cursor_type_insert.restype = c_int
-    db_test_cursor_type_insert.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 387
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_cursor_type_update'):
-    db_test_cursor_type_update = _libs['grass_dbmiclient.7.0.svn'].db_test_cursor_type_update
-    db_test_cursor_type_update.restype = c_int
-    db_test_cursor_type_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 388
-for _lib in _libs.values():
-    if hasattr(_lib, 'db__test_database_open'):
-        db__test_database_open = _lib.db__test_database_open
-        db__test_database_open.restype = c_int
-        db__test_database_open.argtypes = []
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 389
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_index_type_unique'):
-    db_test_index_type_unique = _libs['grass_dbmiclient.7.0.svn'].db_test_index_type_unique
-    db_test_index_type_unique.restype = c_int
-    db_test_index_type_unique.argtypes = [POINTER(dbIndex)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 390
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_value_datetime_current'):
-    db_test_value_datetime_current = _libs['grass_dbmiclient.7.0.svn'].db_test_value_datetime_current
-    db_test_value_datetime_current.restype = c_int
-    db_test_value_datetime_current.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 391
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_test_value_isnull'):
-    db_test_value_isnull = _libs['grass_dbmiclient.7.0.svn'].db_test_value_isnull
-    db_test_value_isnull.restype = c_int
-    db_test_value_isnull.argtypes = [POINTER(dbValue)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 392
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_column_has_default_value'):
-    db_unset_column_has_default_value = _libs['grass_dbmiclient.7.0.svn'].db_unset_column_has_default_value
-    db_unset_column_has_default_value.restype = None
-    db_unset_column_has_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 393
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_column_null_allowed'):
-    db_unset_column_null_allowed = _libs['grass_dbmiclient.7.0.svn'].db_unset_column_null_allowed
-    db_unset_column_null_allowed.restype = None
-    db_unset_column_null_allowed.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 394
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_column_use_default_value'):
-    db_unset_column_use_default_value = _libs['grass_dbmiclient.7.0.svn'].db_unset_column_use_default_value
-    db_unset_column_use_default_value.restype = None
-    db_unset_column_use_default_value.argtypes = [POINTER(dbColumn)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 395
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_column_flag'):
-    db_unset_cursor_column_flag = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_column_flag
-    db_unset_cursor_column_flag.restype = None
-    db_unset_cursor_column_flag.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 396
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_column_for_update'):
-    db_unset_cursor_column_for_update = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_column_for_update
-    db_unset_cursor_column_for_update.restype = None
-    db_unset_cursor_column_for_update.argtypes = [POINTER(dbCursor), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 397
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_mode'):
-    db_unset_cursor_mode = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_mode
-    db_unset_cursor_mode.restype = None
-    db_unset_cursor_mode.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 398
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_mode_insensitive'):
-    db_unset_cursor_mode_insensitive = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_mode_insensitive
-    db_unset_cursor_mode_insensitive.restype = None
-    db_unset_cursor_mode_insensitive.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 399
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_unset_cursor_mode_scroll'):
-    db_unset_cursor_mode_scroll = _libs['grass_dbmiclient.7.0.svn'].db_unset_cursor_mode_scroll
-    db_unset_cursor_mode_scroll.restype = None
-    db_unset_cursor_mode_scroll.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 400
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_update'):
-    db_update = _libs['grass_dbmiclient.7.0.svn'].db_update
-    db_update.restype = c_int
-    db_update.argtypes = [POINTER(dbCursor)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 401
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_gversion'):
-    db_gversion = _libs['grass_dbmiclient.7.0.svn'].db_gversion
-    db_gversion.restype = c_int
-    db_gversion.argtypes = [POINTER(dbDriver), POINTER(dbString), POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 403
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_whoami'):
-    db_whoami = _libs['grass_dbmiclient.7.0.svn'].db_whoami
-    db_whoami.restype = ReturnString
-    db_whoami.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 404
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_zero'):
-    db_zero = _libs['grass_dbmiclient.7.0.svn'].db_zero
-    db_zero.restype = None
-    db_zero.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 405
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_zero_string'):
-    db_zero_string = _libs['grass_dbmiclient.7.0.svn'].db_zero_string
-    db_zero_string.restype = None
-    db_zero_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 406
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_sizeof_string'):
-    db_sizeof_string = _libs['grass_dbmiclient.7.0.svn'].db_sizeof_string
-    db_sizeof_string.restype = c_uint
-    db_sizeof_string.argtypes = [POINTER(dbString)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 407
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_set_login'):
-    db_set_login = _libs['grass_dbmiclient.7.0.svn'].db_set_login
-    db_set_login.restype = c_int
-    db_set_login.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmidefs.h: 408
-if hasattr(_libs['grass_dbmiclient.7.0.svn'], 'db_get_login'):
-    db_get_login = _libs['grass_dbmiclient.7.0.svn'].db_get_login
-    db_get_login.restype = c_int
-    db_get_login.argtypes = [String, String, POINTER(POINTER(c_char)), POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 18
-try:
-    DB_VERSION = '0'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 19
-try:
-    DB_DEFAULT_DRIVER = 'sqlite'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 21
-try:
-    DB_PROC_VERSION = 999
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_CLOSE_DATABASE = 101
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_CREATE_DATABASE = 102
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_DELETE_DATABASE = 103
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_FIND_DATABASE = 104
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_LIST_DATABASES = 105
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_OPEN_DATABASE = 106
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 22
-try:
-    DB_PROC_SHUTDOWN_DRIVER = 107
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_CLOSE_CURSOR = 201
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_DELETE = 202
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_FETCH = 203
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_INSERT = 204
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_OPEN_INSERT_CURSOR = 205
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_OPEN_SELECT_CURSOR = 206
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_OPEN_UPDATE_CURSOR = 207
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_UPDATE = 208
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_ROWS = 209
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_BIND_UPDATE = 220
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 23
-try:
-    DB_PROC_BIND_INSERT = 221
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 24
-try:
-    DB_PROC_EXECUTE_IMMEDIATE = 301
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 24
-try:
-    DB_PROC_BEGIN_TRANSACTION = 302
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 24
-try:
-    DB_PROC_COMMIT_TRANSACTION = 303
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_CREATE_TABLE = 401
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_DESCRIBE_TABLE = 402
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_DROP_TABLE = 403
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_LIST_TABLES = 404
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_ADD_COLUMN = 405
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_DROP_COLUMN = 406
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 25
-try:
-    DB_PROC_GRANT_ON_TABLE = 407
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 26
-try:
-    DB_PROC_CREATE_INDEX = 701
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 26
-try:
-    DB_PROC_LIST_INDEXES = 702
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 26
-try:
-    DB_PROC_DROP_INDEX = 703
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 28
-try:
-    DB_PERM_R = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 28
-try:
-    DB_PERM_W = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 28
-try:
-    DB_PERM_X = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_OK = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_FAILED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_NOPROC = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_MEMORY_ERR = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_PROTOCOL_ERR = (-2)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 30
-try:
-    DB_EOF = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 32
-try:
-    DB_SQL_TYPE_UNKNOWN = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_CHARACTER = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_SMALLINT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_INTEGER = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_REAL = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_DOUBLE_PRECISION = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_DECIMAL = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_NUMERIC = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_DATE = 9
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_TIME = 10
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_TIMESTAMP = 11
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_INTERVAL = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 33
-try:
-    DB_SQL_TYPE_TEXT = 13
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 34
-try:
-    DB_SQL_TYPE_SERIAL = 21
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_YEAR = 16384
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_MONTH = 8192
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_DAY = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_HOUR = 2048
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_MINUTE = 1024
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_SECOND = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_FRACTION = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 36
-try:
-    DB_DATETIME_MASK = 65280
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 38
-try:
-    DB_C_TYPE_STRING = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 38
-try:
-    DB_C_TYPE_INT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 38
-try:
-    DB_C_TYPE_DOUBLE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 38
-try:
-    DB_C_TYPE_DATETIME = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_CURRENT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_NEXT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_PREVIOUS = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_FIRST = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 40
-try:
-    DB_LAST = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_READONLY = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_INSERT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_UPDATE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_SEQUENTIAL = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_SCROLL = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 42
-try:
-    DB_INSENSITIVE = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 44
-try:
-    DB_GRANTED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 44
-try:
-    DB_NOT_GRANTED = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 46
-try:
-    DB_PRIV_SELECT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 47
-try:
-    DB_GROUP = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 47
-try:
-    DB_PUBLIC = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 49
-try:
-    DB_DEFINED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 49
-try:
-    DB_UNDEFINED = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 51
-try:
-    DB_SQL_MAX = 4096
-except:
-    pass
-
-_db_string = struct__db_string # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 147
-
-_dbmscap = struct__dbmscap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 149
-
-_db_dirent = struct__db_dirent # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 162
-
-_db_driver = struct__db_driver # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-
-_db_handle = struct__db_handle # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 176
-
-_db_date_time = struct__db_date_time # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 187
-
-_db_value = struct__db_value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 196
-
-_db_column = struct__db_column # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 214
-
-_db_table = struct__db_table # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 224
-
-_db_cursor = struct__db_cursor # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 234
-
-_db_index = struct__db_index # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 243
-
-_db_driver_state = struct__db_driver_state # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 252
-
-_db_connection = struct__db_connection # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 300
-
-# No inserted files
-
diff --git a/lib/python/ctypes/display.py b/lib/python/ctypes/display.py
deleted file mode 100644
index e945d70..0000000
--- a/lib/python/ctypes/display.py
+++ /dev/null
@@ -1,1672 +0,0 @@
-'''Wrapper for display.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_display.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h -o display.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_display.7.0.svn"] = load_library("grass_display.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 402
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-FCELL = c_float # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 404
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-RASTER_MAP_TYPE = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 22
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 228
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'r',
-    'g',
-    'b',
-    'a',
-]
-struct_anon_24._fields_ = [
-    ('r', c_ubyte),
-    ('g', c_ubyte),
-    ('b', c_ubyte),
-    ('a', c_ubyte),
-]
-
-RGBA_Color = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 228
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 27
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'color',
-    'r',
-    'g',
-    'b',
-    'fr',
-    'fg',
-    'fb',
-]
-struct_anon_25._fields_ = [
-    ('color', c_int),
-    ('r', c_int),
-    ('g', c_int),
-    ('b', c_int),
-    ('fr', c_double),
-    ('fg', c_double),
-    ('fb', c_double),
-]
-
-SYMBCOLOR = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 27
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 35
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'count',
-    'alloc',
-    'x',
-    'y',
-]
-struct_anon_26._fields_ = [
-    ('count', c_int),
-    ('alloc', c_int),
-    ('x', POINTER(c_double)),
-    ('y', POINTER(c_double)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 40
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'clock',
-    'x',
-    'y',
-    'r',
-    'a1',
-    'a2',
-]
-struct_anon_27._fields_ = [
-    ('clock', c_int),
-    ('x', c_double),
-    ('y', c_double),
-    ('r', c_double),
-    ('a1', c_double),
-    ('a2', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 33
-class union_anon_28(Union):
-    pass
-
-union_anon_28.__slots__ = [
-    'line',
-    'arc',
-]
-union_anon_28._fields_ = [
-    ('line', struct_anon_26),
-    ('arc', struct_anon_27),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 46
-class struct_anon_29(Structure):
-    pass
-
-struct_anon_29.__slots__ = [
-    'type',
-    'coor',
-]
-struct_anon_29._fields_ = [
-    ('type', c_int),
-    ('coor', union_anon_28),
-]
-
-SYMBEL = struct_anon_29 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 46
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 55
-class struct_anon_30(Structure):
-    pass
-
-struct_anon_30.__slots__ = [
-    'count',
-    'alloc',
-    'elem',
-    'scount',
-    'salloc',
-    'sx',
-    'sy',
-]
-struct_anon_30._fields_ = [
-    ('count', c_int),
-    ('alloc', c_int),
-    ('elem', POINTER(POINTER(SYMBEL))),
-    ('scount', c_int),
-    ('salloc', c_int),
-    ('sx', POINTER(c_int)),
-    ('sy', POINTER(c_int)),
-]
-
-SYMBCHAIN = struct_anon_30 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 55
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 65
-class struct_anon_31(Structure):
-    pass
-
-struct_anon_31.__slots__ = [
-    'type',
-    'color',
-    'fcolor',
-    'count',
-    'alloc',
-    'chain',
-]
-struct_anon_31._fields_ = [
-    ('type', c_int),
-    ('color', SYMBCOLOR),
-    ('fcolor', SYMBCOLOR),
-    ('count', c_int),
-    ('alloc', c_int),
-    ('chain', POINTER(POINTER(SYMBCHAIN))),
-]
-
-SYMBPART = struct_anon_31 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 65
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 72
-class struct_anon_32(Structure):
-    pass
-
-struct_anon_32.__slots__ = [
-    'scale',
-    'count',
-    'alloc',
-    'part',
-]
-struct_anon_32._fields_ = [
-    ('scale', c_double),
-    ('count', c_int),
-    ('alloc', c_int),
-    ('part', POINTER(POINTER(SYMBPART))),
-]
-
-SYMBOL = struct_anon_32 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/symbol.h: 72
-
-enum_clip_mode = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 8
-
-M_NONE = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 8
-
-M_CULL = (M_NONE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 8
-
-M_CLIP = (M_CULL + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 8
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 16
-if hasattr(_libs['grass_display.7.0.svn'], 'D_update_conversions'):
-    D_update_conversions = _libs['grass_display.7.0.svn'].D_update_conversions
-    D_update_conversions.restype = None
-    D_update_conversions.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 17
-if hasattr(_libs['grass_display.7.0.svn'], 'D_fit_d_to_u'):
-    D_fit_d_to_u = _libs['grass_display.7.0.svn'].D_fit_d_to_u
-    D_fit_d_to_u.restype = None
-    D_fit_d_to_u.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 18
-if hasattr(_libs['grass_display.7.0.svn'], 'D_fit_u_to_d'):
-    D_fit_u_to_d = _libs['grass_display.7.0.svn'].D_fit_u_to_d
-    D_fit_u_to_d.restype = None
-    D_fit_u_to_d.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 19
-if hasattr(_libs['grass_display.7.0.svn'], 'D_show_conversions'):
-    D_show_conversions = _libs['grass_display.7.0.svn'].D_show_conversions
-    D_show_conversions.restype = None
-    D_show_conversions.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 21
-if hasattr(_libs['grass_display.7.0.svn'], 'D_do_conversions'):
-    D_do_conversions = _libs['grass_display.7.0.svn'].D_do_conversions
-    D_do_conversions.restype = None
-    D_do_conversions.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 23
-if hasattr(_libs['grass_display.7.0.svn'], 'D_is_lat_lon'):
-    D_is_lat_lon = _libs['grass_display.7.0.svn'].D_is_lat_lon
-    D_is_lat_lon.restype = c_int
-    D_is_lat_lon.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 25
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_to_a_xconv'):
-    D_get_d_to_a_xconv = _libs['grass_display.7.0.svn'].D_get_d_to_a_xconv
-    D_get_d_to_a_xconv.restype = c_double
-    D_get_d_to_a_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 26
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_to_a_yconv'):
-    D_get_d_to_a_yconv = _libs['grass_display.7.0.svn'].D_get_d_to_a_yconv
-    D_get_d_to_a_yconv.restype = c_double
-    D_get_d_to_a_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 27
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_to_u_xconv'):
-    D_get_d_to_u_xconv = _libs['grass_display.7.0.svn'].D_get_d_to_u_xconv
-    D_get_d_to_u_xconv.restype = c_double
-    D_get_d_to_u_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 28
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_to_u_yconv'):
-    D_get_d_to_u_yconv = _libs['grass_display.7.0.svn'].D_get_d_to_u_yconv
-    D_get_d_to_u_yconv.restype = c_double
-    D_get_d_to_u_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 29
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_to_u_xconv'):
-    D_get_a_to_u_xconv = _libs['grass_display.7.0.svn'].D_get_a_to_u_xconv
-    D_get_a_to_u_xconv.restype = c_double
-    D_get_a_to_u_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 30
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_to_u_yconv'):
-    D_get_a_to_u_yconv = _libs['grass_display.7.0.svn'].D_get_a_to_u_yconv
-    D_get_a_to_u_yconv.restype = c_double
-    D_get_a_to_u_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 31
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_to_d_xconv'):
-    D_get_a_to_d_xconv = _libs['grass_display.7.0.svn'].D_get_a_to_d_xconv
-    D_get_a_to_d_xconv.restype = c_double
-    D_get_a_to_d_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 32
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_to_d_yconv'):
-    D_get_a_to_d_yconv = _libs['grass_display.7.0.svn'].D_get_a_to_d_yconv
-    D_get_a_to_d_yconv.restype = c_double
-    D_get_a_to_d_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 33
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_to_d_xconv'):
-    D_get_u_to_d_xconv = _libs['grass_display.7.0.svn'].D_get_u_to_d_xconv
-    D_get_u_to_d_xconv.restype = c_double
-    D_get_u_to_d_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 34
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_to_d_yconv'):
-    D_get_u_to_d_yconv = _libs['grass_display.7.0.svn'].D_get_u_to_d_yconv
-    D_get_u_to_d_yconv.restype = c_double
-    D_get_u_to_d_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 35
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_to_a_xconv'):
-    D_get_u_to_a_xconv = _libs['grass_display.7.0.svn'].D_get_u_to_a_xconv
-    D_get_u_to_a_xconv.restype = c_double
-    D_get_u_to_a_xconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 36
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_to_a_yconv'):
-    D_get_u_to_a_yconv = _libs['grass_display.7.0.svn'].D_get_u_to_a_yconv
-    D_get_u_to_a_yconv.restype = c_double
-    D_get_u_to_a_yconv.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 38
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_ns_resolution'):
-    D_get_ns_resolution = _libs['grass_display.7.0.svn'].D_get_ns_resolution
-    D_get_ns_resolution.restype = c_double
-    D_get_ns_resolution.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 39
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_ew_resolution'):
-    D_get_ew_resolution = _libs['grass_display.7.0.svn'].D_get_ew_resolution
-    D_get_ew_resolution.restype = c_double
-    D_get_ew_resolution.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 41
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_west'):
-    D_get_u_west = _libs['grass_display.7.0.svn'].D_get_u_west
-    D_get_u_west.restype = c_double
-    D_get_u_west.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 42
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_east'):
-    D_get_u_east = _libs['grass_display.7.0.svn'].D_get_u_east
-    D_get_u_east.restype = c_double
-    D_get_u_east.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 43
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_north'):
-    D_get_u_north = _libs['grass_display.7.0.svn'].D_get_u_north
-    D_get_u_north.restype = c_double
-    D_get_u_north.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 44
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u_south'):
-    D_get_u_south = _libs['grass_display.7.0.svn'].D_get_u_south
-    D_get_u_south.restype = c_double
-    D_get_u_south.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 45
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_west'):
-    D_get_a_west = _libs['grass_display.7.0.svn'].D_get_a_west
-    D_get_a_west.restype = c_double
-    D_get_a_west.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 46
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_east'):
-    D_get_a_east = _libs['grass_display.7.0.svn'].D_get_a_east
-    D_get_a_east.restype = c_double
-    D_get_a_east.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 47
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_north'):
-    D_get_a_north = _libs['grass_display.7.0.svn'].D_get_a_north
-    D_get_a_north.restype = c_double
-    D_get_a_north.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 48
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a_south'):
-    D_get_a_south = _libs['grass_display.7.0.svn'].D_get_a_south
-    D_get_a_south.restype = c_double
-    D_get_a_south.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 49
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_west'):
-    D_get_d_west = _libs['grass_display.7.0.svn'].D_get_d_west
-    D_get_d_west.restype = c_double
-    D_get_d_west.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 50
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_east'):
-    D_get_d_east = _libs['grass_display.7.0.svn'].D_get_d_east
-    D_get_d_east.restype = c_double
-    D_get_d_east.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 51
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_north'):
-    D_get_d_north = _libs['grass_display.7.0.svn'].D_get_d_north
-    D_get_d_north.restype = c_double
-    D_get_d_north.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 52
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d_south'):
-    D_get_d_south = _libs['grass_display.7.0.svn'].D_get_d_south
-    D_get_d_south.restype = c_double
-    D_get_d_south.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 54
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_region'):
-    D_set_region = _libs['grass_display.7.0.svn'].D_set_region
-    D_set_region.restype = None
-    D_set_region.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 55
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_src'):
-    D_set_src = _libs['grass_display.7.0.svn'].D_set_src
-    D_set_src.restype = None
-    D_set_src.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 56
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_src'):
-    D_get_src = _libs['grass_display.7.0.svn'].D_get_src
-    D_get_src.restype = None
-    D_get_src.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 57
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_grid'):
-    D_set_grid = _libs['grass_display.7.0.svn'].D_set_grid
-    D_set_grid.restype = None
-    D_set_grid.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 58
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_grid'):
-    D_get_grid = _libs['grass_display.7.0.svn'].D_get_grid
-    D_get_grid.restype = None
-    D_get_grid.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 59
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_dst'):
-    D_set_dst = _libs['grass_display.7.0.svn'].D_set_dst
-    D_set_dst.restype = None
-    D_set_dst.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 60
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_dst'):
-    D_get_dst = _libs['grass_display.7.0.svn'].D_get_dst
-    D_get_dst.restype = None
-    D_get_dst.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 62
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_u'):
-    D_get_u = _libs['grass_display.7.0.svn'].D_get_u
-    D_get_u.restype = None
-    D_get_u.argtypes = [(c_double * 2) * 2]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 63
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_a'):
-    D_get_a = _libs['grass_display.7.0.svn'].D_get_a
-    D_get_a.restype = None
-    D_get_a.argtypes = [(c_int * 2) * 2]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 64
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_d'):
-    D_get_d = _libs['grass_display.7.0.svn'].D_get_d
-    D_get_d.restype = None
-    D_get_d.argtypes = [(c_double * 2) * 2]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 66
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_to_a_row'):
-    D_d_to_a_row = _libs['grass_display.7.0.svn'].D_d_to_a_row
-    D_d_to_a_row.restype = c_double
-    D_d_to_a_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 67
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_to_a_col'):
-    D_d_to_a_col = _libs['grass_display.7.0.svn'].D_d_to_a_col
-    D_d_to_a_col.restype = c_double
-    D_d_to_a_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 68
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_to_u_row'):
-    D_d_to_u_row = _libs['grass_display.7.0.svn'].D_d_to_u_row
-    D_d_to_u_row.restype = c_double
-    D_d_to_u_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 69
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_to_u_col'):
-    D_d_to_u_col = _libs['grass_display.7.0.svn'].D_d_to_u_col
-    D_d_to_u_col.restype = c_double
-    D_d_to_u_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 70
-if hasattr(_libs['grass_display.7.0.svn'], 'D_a_to_u_row'):
-    D_a_to_u_row = _libs['grass_display.7.0.svn'].D_a_to_u_row
-    D_a_to_u_row.restype = c_double
-    D_a_to_u_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 71
-if hasattr(_libs['grass_display.7.0.svn'], 'D_a_to_u_col'):
-    D_a_to_u_col = _libs['grass_display.7.0.svn'].D_a_to_u_col
-    D_a_to_u_col.restype = c_double
-    D_a_to_u_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 72
-if hasattr(_libs['grass_display.7.0.svn'], 'D_a_to_d_row'):
-    D_a_to_d_row = _libs['grass_display.7.0.svn'].D_a_to_d_row
-    D_a_to_d_row.restype = c_double
-    D_a_to_d_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 73
-if hasattr(_libs['grass_display.7.0.svn'], 'D_a_to_d_col'):
-    D_a_to_d_col = _libs['grass_display.7.0.svn'].D_a_to_d_col
-    D_a_to_d_col.restype = c_double
-    D_a_to_d_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 74
-if hasattr(_libs['grass_display.7.0.svn'], 'D_u_to_d_row'):
-    D_u_to_d_row = _libs['grass_display.7.0.svn'].D_u_to_d_row
-    D_u_to_d_row.restype = c_double
-    D_u_to_d_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 75
-if hasattr(_libs['grass_display.7.0.svn'], 'D_u_to_d_col'):
-    D_u_to_d_col = _libs['grass_display.7.0.svn'].D_u_to_d_col
-    D_u_to_d_col.restype = c_double
-    D_u_to_d_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 76
-if hasattr(_libs['grass_display.7.0.svn'], 'D_u_to_a_row'):
-    D_u_to_a_row = _libs['grass_display.7.0.svn'].D_u_to_a_row
-    D_u_to_a_row.restype = c_double
-    D_u_to_a_row.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 77
-if hasattr(_libs['grass_display.7.0.svn'], 'D_u_to_a_col'):
-    D_u_to_a_col = _libs['grass_display.7.0.svn'].D_u_to_a_col
-    D_u_to_a_col.restype = c_double
-    D_u_to_a_col.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 81
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_clip'):
-    D_set_clip = _libs['grass_display.7.0.svn'].D_set_clip
-    D_set_clip.restype = None
-    D_set_clip.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 82
-if hasattr(_libs['grass_display.7.0.svn'], 'D_clip_to_map'):
-    D_clip_to_map = _libs['grass_display.7.0.svn'].D_clip_to_map
-    D_clip_to_map.restype = None
-    D_clip_to_map.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 83
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_clip_mode'):
-    D_set_clip_mode = _libs['grass_display.7.0.svn'].D_set_clip_mode
-    D_set_clip_mode.restype = None
-    D_set_clip_mode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 84
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_reduction'):
-    D_set_reduction = _libs['grass_display.7.0.svn'].D_set_reduction
-    D_set_reduction.restype = None
-    D_set_reduction.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 86
-if hasattr(_libs['grass_display.7.0.svn'], 'D_line_width'):
-    D_line_width = _libs['grass_display.7.0.svn'].D_line_width
-    D_line_width.restype = None
-    D_line_width.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 87
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_text_box'):
-    D_get_text_box = _libs['grass_display.7.0.svn'].D_get_text_box
-    D_get_text_box.restype = None
-    D_get_text_box.argtypes = [String, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 89
-if hasattr(_libs['grass_display.7.0.svn'], 'D_pos_abs'):
-    D_pos_abs = _libs['grass_display.7.0.svn'].D_pos_abs
-    D_pos_abs.restype = None
-    D_pos_abs.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 90
-if hasattr(_libs['grass_display.7.0.svn'], 'D_pos_rel'):
-    D_pos_rel = _libs['grass_display.7.0.svn'].D_pos_rel
-    D_pos_rel.restype = None
-    D_pos_rel.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 91
-if hasattr(_libs['grass_display.7.0.svn'], 'D_move_abs'):
-    D_move_abs = _libs['grass_display.7.0.svn'].D_move_abs
-    D_move_abs.restype = None
-    D_move_abs.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 92
-if hasattr(_libs['grass_display.7.0.svn'], 'D_move_rel'):
-    D_move_rel = _libs['grass_display.7.0.svn'].D_move_rel
-    D_move_rel.restype = None
-    D_move_rel.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 93
-if hasattr(_libs['grass_display.7.0.svn'], 'D_cont_abs'):
-    D_cont_abs = _libs['grass_display.7.0.svn'].D_cont_abs
-    D_cont_abs.restype = None
-    D_cont_abs.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 94
-if hasattr(_libs['grass_display.7.0.svn'], 'D_cont_rel'):
-    D_cont_rel = _libs['grass_display.7.0.svn'].D_cont_rel
-    D_cont_rel.restype = None
-    D_cont_rel.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 95
-if hasattr(_libs['grass_display.7.0.svn'], 'D_line_abs'):
-    D_line_abs = _libs['grass_display.7.0.svn'].D_line_abs
-    D_line_abs.restype = None
-    D_line_abs.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 96
-if hasattr(_libs['grass_display.7.0.svn'], 'D_line_rel'):
-    D_line_rel = _libs['grass_display.7.0.svn'].D_line_rel
-    D_line_rel.restype = None
-    D_line_rel.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 97
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polydots_abs'):
-    D_polydots_abs = _libs['grass_display.7.0.svn'].D_polydots_abs
-    D_polydots_abs.restype = None
-    D_polydots_abs.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 98
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polydots_rel'):
-    D_polydots_rel = _libs['grass_display.7.0.svn'].D_polydots_rel
-    D_polydots_rel.restype = None
-    D_polydots_rel.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 99
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polyline_abs'):
-    D_polyline_abs = _libs['grass_display.7.0.svn'].D_polyline_abs
-    D_polyline_abs.restype = None
-    D_polyline_abs.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 100
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polyline_rel'):
-    D_polyline_rel = _libs['grass_display.7.0.svn'].D_polyline_rel
-    D_polyline_rel.restype = None
-    D_polyline_rel.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 101
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polygon_abs'):
-    D_polygon_abs = _libs['grass_display.7.0.svn'].D_polygon_abs
-    D_polygon_abs.restype = None
-    D_polygon_abs.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 102
-if hasattr(_libs['grass_display.7.0.svn'], 'D_polygon_rel'):
-    D_polygon_rel = _libs['grass_display.7.0.svn'].D_polygon_rel
-    D_polygon_rel.restype = None
-    D_polygon_rel.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 103
-if hasattr(_libs['grass_display.7.0.svn'], 'D_box_abs'):
-    D_box_abs = _libs['grass_display.7.0.svn'].D_box_abs
-    D_box_abs.restype = None
-    D_box_abs.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 104
-if hasattr(_libs['grass_display.7.0.svn'], 'D_box_rel'):
-    D_box_rel = _libs['grass_display.7.0.svn'].D_box_rel
-    D_box_rel.restype = None
-    D_box_rel.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 106
-if hasattr(_libs['grass_display.7.0.svn'], 'D_begin'):
-    D_begin = _libs['grass_display.7.0.svn'].D_begin
-    D_begin.restype = None
-    D_begin.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 107
-if hasattr(_libs['grass_display.7.0.svn'], 'D_end'):
-    D_end = _libs['grass_display.7.0.svn'].D_end
-    D_end.restype = None
-    D_end.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 108
-if hasattr(_libs['grass_display.7.0.svn'], 'D_close'):
-    D_close = _libs['grass_display.7.0.svn'].D_close
-    D_close.restype = None
-    D_close.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 109
-if hasattr(_libs['grass_display.7.0.svn'], 'D_stroke'):
-    D_stroke = _libs['grass_display.7.0.svn'].D_stroke
-    D_stroke.restype = None
-    D_stroke.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 110
-if hasattr(_libs['grass_display.7.0.svn'], 'D_fill'):
-    D_fill = _libs['grass_display.7.0.svn'].D_fill
-    D_fill.restype = None
-    D_fill.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 111
-if hasattr(_libs['grass_display.7.0.svn'], 'D_dots'):
-    D_dots = _libs['grass_display.7.0.svn'].D_dots
-    D_dots.restype = None
-    D_dots.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 114
-if hasattr(_libs['grass_display.7.0.svn'], 'D_plot_icon'):
-    D_plot_icon = _libs['grass_display.7.0.svn'].D_plot_icon
-    D_plot_icon.restype = None
-    D_plot_icon.argtypes = [c_double, c_double, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 117
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_raster'):
-    D_draw_raster = _libs['grass_display.7.0.svn'].D_draw_raster
-    D_draw_raster.restype = c_int
-    D_draw_raster.argtypes = [c_int, POINTER(None), POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 118
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_d_raster'):
-    D_draw_d_raster = _libs['grass_display.7.0.svn'].D_draw_d_raster
-    D_draw_d_raster.restype = c_int
-    D_draw_d_raster.argtypes = [c_int, POINTER(DCELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 119
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_f_raster'):
-    D_draw_f_raster = _libs['grass_display.7.0.svn'].D_draw_f_raster
-    D_draw_f_raster.restype = c_int
-    D_draw_f_raster.argtypes = [c_int, POINTER(FCELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 120
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_c_raster'):
-    D_draw_c_raster = _libs['grass_display.7.0.svn'].D_draw_c_raster
-    D_draw_c_raster.restype = c_int
-    D_draw_c_raster.argtypes = [c_int, POINTER(CELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 121
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_cell'):
-    D_draw_cell = _libs['grass_display.7.0.svn'].D_draw_cell
-    D_draw_cell.restype = c_int
-    D_draw_cell.argtypes = [c_int, POINTER(CELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 122
-if hasattr(_libs['grass_display.7.0.svn'], 'D_cell_draw_begin'):
-    D_cell_draw_begin = _libs['grass_display.7.0.svn'].D_cell_draw_begin
-    D_cell_draw_begin.restype = None
-    D_cell_draw_begin.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 123
-if hasattr(_libs['grass_display.7.0.svn'], 'D_draw_raster_RGB'):
-    D_draw_raster_RGB = _libs['grass_display.7.0.svn'].D_draw_raster_RGB
-    D_draw_raster_RGB.restype = c_int
-    D_draw_raster_RGB.argtypes = [c_int, POINTER(None), POINTER(None), POINTER(None), POINTER(struct_Colors), POINTER(struct_Colors), POINTER(struct_Colors), RASTER_MAP_TYPE, RASTER_MAP_TYPE, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 126
-if hasattr(_libs['grass_display.7.0.svn'], 'D_cell_draw_end'):
-    D_cell_draw_end = _libs['grass_display.7.0.svn'].D_cell_draw_end
-    D_cell_draw_end.restype = None
-    D_cell_draw_end.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 129
-if hasattr(_libs['grass_display.7.0.svn'], 'D_set_overlay_mode'):
-    D_set_overlay_mode = _libs['grass_display.7.0.svn'].D_set_overlay_mode
-    D_set_overlay_mode.restype = c_int
-    D_set_overlay_mode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 130
-if hasattr(_libs['grass_display.7.0.svn'], 'D_color'):
-    D_color = _libs['grass_display.7.0.svn'].D_color
-    D_color.restype = c_int
-    D_color.argtypes = [CELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 131
-if hasattr(_libs['grass_display.7.0.svn'], 'D_c_color'):
-    D_c_color = _libs['grass_display.7.0.svn'].D_c_color
-    D_c_color.restype = c_int
-    D_c_color.argtypes = [CELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 132
-if hasattr(_libs['grass_display.7.0.svn'], 'D_d_color'):
-    D_d_color = _libs['grass_display.7.0.svn'].D_d_color
-    D_d_color.restype = c_int
-    D_d_color.argtypes = [DCELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 133
-if hasattr(_libs['grass_display.7.0.svn'], 'D_f_color'):
-    D_f_color = _libs['grass_display.7.0.svn'].D_f_color
-    D_f_color.restype = c_int
-    D_f_color.argtypes = [FCELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 134
-if hasattr(_libs['grass_display.7.0.svn'], 'D_color_of_type'):
-    D_color_of_type = _libs['grass_display.7.0.svn'].D_color_of_type
-    D_color_of_type.restype = c_int
-    D_color_of_type.argtypes = [POINTER(None), POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 137
-if hasattr(_libs['grass_display.7.0.svn'], 'D_setup'):
-    D_setup = _libs['grass_display.7.0.svn'].D_setup
-    D_setup.restype = None
-    D_setup.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 138
-if hasattr(_libs['grass_display.7.0.svn'], 'D_setup_unity'):
-    D_setup_unity = _libs['grass_display.7.0.svn'].D_setup_unity
-    D_setup_unity.restype = None
-    D_setup_unity.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 139
-if hasattr(_libs['grass_display.7.0.svn'], 'D_setup2'):
-    D_setup2 = _libs['grass_display.7.0.svn'].D_setup2
-    D_setup2.restype = None
-    D_setup2.argtypes = [c_int, c_int, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 142
-if hasattr(_libs['grass_display.7.0.svn'], 'D_symbol'):
-    D_symbol = _libs['grass_display.7.0.svn'].D_symbol
-    D_symbol.restype = None
-    D_symbol.argtypes = [POINTER(SYMBOL), c_double, c_double, POINTER(RGBA_Color), POINTER(RGBA_Color)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 144
-if hasattr(_libs['grass_display.7.0.svn'], 'D_symbol2'):
-    D_symbol2 = _libs['grass_display.7.0.svn'].D_symbol2
-    D_symbol2.restype = None
-    D_symbol2.argtypes = [POINTER(SYMBOL), c_double, c_double, POINTER(RGBA_Color), POINTER(RGBA_Color)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 148
-if hasattr(_libs['grass_display.7.0.svn'], 'D_translate_color'):
-    D_translate_color = _libs['grass_display.7.0.svn'].D_translate_color
-    D_translate_color.restype = c_int
-    D_translate_color.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 149
-if hasattr(_libs['grass_display.7.0.svn'], 'D_parse_color'):
-    D_parse_color = _libs['grass_display.7.0.svn'].D_parse_color
-    D_parse_color.restype = c_int
-    D_parse_color.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 150
-if hasattr(_libs['grass_display.7.0.svn'], 'D_use_color'):
-    D_use_color = _libs['grass_display.7.0.svn'].D_use_color
-    D_use_color.restype = c_int
-    D_use_color.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 151
-if hasattr(_libs['grass_display.7.0.svn'], 'D_color_number_to_RGB'):
-    D_color_number_to_RGB = _libs['grass_display.7.0.svn'].D_color_number_to_RGB
-    D_color_number_to_RGB.restype = c_int
-    D_color_number_to_RGB.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 152
-if hasattr(_libs['grass_display.7.0.svn'], 'D_RGB_color'):
-    D_RGB_color = _libs['grass_display.7.0.svn'].D_RGB_color
-    D_RGB_color.restype = None
-    D_RGB_color.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 155
-if hasattr(_libs['grass_display.7.0.svn'], 'D_erase'):
-    D_erase = _libs['grass_display.7.0.svn'].D_erase
-    D_erase.restype = None
-    D_erase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 159
-if hasattr(_libs['grass_display.7.0.svn'], 'D_open_driver'):
-    D_open_driver = _libs['grass_display.7.0.svn'].D_open_driver
-    D_open_driver.restype = c_int
-    D_open_driver.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 160
-if hasattr(_libs['grass_display.7.0.svn'], 'D_close_driver'):
-    D_close_driver = _libs['grass_display.7.0.svn'].D_close_driver
-    D_close_driver.restype = None
-    D_close_driver.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 161
-if hasattr(_libs['grass_display.7.0.svn'], 'D_save_command'):
-    D_save_command = _libs['grass_display.7.0.svn'].D_save_command
-    D_save_command.restype = c_int
-    D_save_command.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 163
-if hasattr(_libs['grass_display.7.0.svn'], 'D_get_window'):
-    D_get_window = _libs['grass_display.7.0.svn'].D_get_window
-    D_get_window.restype = None
-    D_get_window.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 165
-if hasattr(_libs['grass_display.7.0.svn'], 'D__erase'):
-    D__erase = _libs['grass_display.7.0.svn'].D__erase
-    D__erase.restype = None
-    D__erase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 167
-if hasattr(_libs['grass_display.7.0.svn'], 'D_text_size'):
-    D_text_size = _libs['grass_display.7.0.svn'].D_text_size
-    D_text_size.restype = None
-    D_text_size.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 168
-if hasattr(_libs['grass_display.7.0.svn'], 'D_text_rotation'):
-    D_text_rotation = _libs['grass_display.7.0.svn'].D_text_rotation
-    D_text_rotation.restype = None
-    D_text_rotation.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 169
-if hasattr(_libs['grass_display.7.0.svn'], 'D_text'):
-    D_text = _libs['grass_display.7.0.svn'].D_text
-    D_text.restype = None
-    D_text.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 171
-if hasattr(_libs['grass_display.7.0.svn'], 'D_font'):
-    D_font = _libs['grass_display.7.0.svn'].D_font
-    D_font.restype = None
-    D_font.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 172
-if hasattr(_libs['grass_display.7.0.svn'], 'D_encoding'):
-    D_encoding = _libs['grass_display.7.0.svn'].D_encoding
-    D_encoding.restype = None
-    D_encoding.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 173
-if hasattr(_libs['grass_display.7.0.svn'], 'D_font_list'):
-    D_font_list = _libs['grass_display.7.0.svn'].D_font_list
-    D_font_list.restype = None
-    D_font_list.argtypes = [POINTER(POINTER(POINTER(c_char))), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/display.h: 174
-if hasattr(_libs['grass_display.7.0.svn'], 'D_font_info'):
-    D_font_info = _libs['grass_display.7.0.svn'].D_font_info
-    D_font_info.restype = None
-    D_font_info.argtypes = [POINTER(POINTER(POINTER(c_char))), POINTER(c_int)]
-
-# No inserted files
-
diff --git a/lib/python/ctypes/g3d.py b/lib/python/ctypes/g3d.py
deleted file mode 100644
index 3fb514b..0000000
--- a/lib/python/ctypes/g3d.py
+++ /dev/null
@@ -1,2842 +0,0 @@
-'''Wrapper for G3d.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_g3d.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h -o g3d.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_g3d.7.0.svn"] = load_library("grass_g3d.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-NULL = None # <built-in>
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 271
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 325
-class struct_Key_Value(Structure):
-    pass
-
-struct_Key_Value.__slots__ = [
-    'nitems',
-    'nalloc',
-    'key',
-    'value',
-]
-struct_Key_Value._fields_ = [
-    ('nitems', c_int),
-    ('nalloc', c_int),
-    ('key', POINTER(POINTER(c_char))),
-    ('value', POINTER(POINTER(c_char))),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 400
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 401
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 404
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 412
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 424
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 434
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 419
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 446
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 73
-class struct_Quant_table(Structure):
-    pass
-
-struct_Quant_table.__slots__ = [
-    'dLow',
-    'dHigh',
-    'cLow',
-    'cHigh',
-]
-struct_Quant_table._fields_ = [
-    ('dLow', DCELL),
-    ('dHigh', DCELL),
-    ('cLow', CELL),
-    ('cHigh', CELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 106
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-    'inf_dmin',
-    'inf_dmax',
-    'inf_min',
-    'inf_max',
-]
-struct_anon_23._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct_Quant_table))),
-    ('nalloc', c_int),
-    ('active', c_int),
-    ('inf_dmin', DCELL),
-    ('inf_dmax', DCELL),
-    ('inf_min', CELL),
-    ('inf_max', CELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 81
-class struct_Quant(Structure):
-    pass
-
-struct_Quant.__slots__ = [
-    'truncate_only',
-    'round_only',
-    'defaultDRuleSet',
-    'defaultCRuleSet',
-    'infiniteLeftSet',
-    'infiniteRightSet',
-    'cRangeSet',
-    'maxNofRules',
-    'nofRules',
-    'defaultDMin',
-    'defaultDMax',
-    'defaultCMin',
-    'defaultCMax',
-    'infiniteDLeft',
-    'infiniteDRight',
-    'infiniteCLeft',
-    'infiniteCRight',
-    'dMin',
-    'dMax',
-    'cMin',
-    'cMax',
-    'table',
-    'fp_lookup',
-]
-struct_Quant._fields_ = [
-    ('truncate_only', c_int),
-    ('round_only', c_int),
-    ('defaultDRuleSet', c_int),
-    ('defaultCRuleSet', c_int),
-    ('infiniteLeftSet', c_int),
-    ('infiniteRightSet', c_int),
-    ('cRangeSet', c_int),
-    ('maxNofRules', c_int),
-    ('nofRules', c_int),
-    ('defaultDMin', DCELL),
-    ('defaultDMax', DCELL),
-    ('defaultCMin', CELL),
-    ('defaultCMax', CELL),
-    ('infiniteDLeft', DCELL),
-    ('infiniteDRight', DCELL),
-    ('infiniteCLeft', CELL),
-    ('infiniteCRight', CELL),
-    ('dMin', DCELL),
-    ('dMax', DCELL),
-    ('cMin', CELL),
-    ('cMax', CELL),
-    ('table', POINTER(struct_Quant_table)),
-    ('fp_lookup', struct_anon_23),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 124
-class struct_Categories(Structure):
-    pass
-
-struct_Categories.__slots__ = [
-    'ncats',
-    'num',
-    'title',
-    'fmt',
-    'm1',
-    'a1',
-    'm2',
-    'a2',
-    'q',
-    'labels',
-    'marks',
-    'nalloc',
-    'last_marked_rule',
-]
-struct_Categories._fields_ = [
-    ('ncats', CELL),
-    ('num', CELL),
-    ('title', String),
-    ('fmt', String),
-    ('m1', c_float),
-    ('a1', c_float),
-    ('m2', c_float),
-    ('a2', c_float),
-    ('q', struct_Quant),
-    ('labels', POINTER(POINTER(c_char))),
-    ('marks', POINTER(c_int)),
-    ('nalloc', c_int),
-    ('last_marked_rule', c_int),
-]
-
-HIST_MAPID = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_TITLE = (HIST_MAPID + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPSET = (HIST_TITLE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_CREATOR = (HIST_MAPSET + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPTYPE = (HIST_CREATOR + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_DATSRC_1 = (HIST_MAPTYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_DATSRC_2 = (HIST_DATSRC_1 + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_KEYWRD = (HIST_DATSRC_2 + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_NUM_FIELDS = (HIST_KEYWRD + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 164
-class struct_History(Structure):
-    pass
-
-struct_History.__slots__ = [
-    'fields',
-    'nlines',
-    'lines',
-]
-struct_History._fields_ = [
-    ('fields', POINTER(c_char) * HIST_NUM_FIELDS),
-    ('nlines', c_int),
-    ('lines', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 206
-class struct_FPRange(Structure):
-    pass
-
-struct_FPRange.__slots__ = [
-    'min',
-    'max',
-    'first_time',
-]
-struct_FPRange._fields_ = [
-    ('min', DCELL),
-    ('max', DCELL),
-    ('first_time', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 63
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-    'rows',
-    'cols',
-    'depths',
-    'ns_res',
-    'ew_res',
-    'tb_res',
-    'proj',
-    'zone',
-]
-struct_anon_25._fields_ = [
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-    ('rows', c_int),
-    ('cols', c_int),
-    ('depths', c_int),
-    ('ns_res', c_double),
-    ('ew_res', c_double),
-    ('tb_res', c_double),
-    ('proj', c_int),
-    ('zone', c_int),
-]
-
-G3D_Region = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 63
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 73
-class struct_G3D_Map(Structure):
-    pass
-
-resample_fn = CFUNCTYPE(UNCHECKED(None), POINTER(struct_G3D_Map), c_int, c_int, c_int, POINTER(None), c_int) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 69
-
-struct_G3D_Map.__slots__ = [
-    'fileName',
-    'tempName',
-    'mapset',
-    'operation',
-    'region',
-    'window',
-    'resampleFun',
-    'unit',
-    'tileX',
-    'tileY',
-    'tileZ',
-    'nx',
-    'ny',
-    'nz',
-    'data_fd',
-    'type',
-    'precision',
-    'compression',
-    'useLzw',
-    'useRle',
-    'useXdr',
-    'offset',
-    'indexOffset',
-    'indexLongNbytes',
-    'indexNbytesUsed',
-    'fileEndPtr',
-    'hasIndex',
-    'index',
-    'tileLength',
-    'typeIntern',
-    'data',
-    'currentIndex',
-    'useCache',
-    'cache',
-    'cacheFD',
-    'cacheFileName',
-    'cachePosLast',
-    'range',
-    'numLengthExtern',
-    'numLengthIntern',
-    'clipX',
-    'clipY',
-    'clipZ',
-    'tileXY',
-    'tileSize',
-    'nxy',
-    'nTiles',
-    'useMask',
-]
-struct_G3D_Map._fields_ = [
-    ('fileName', String),
-    ('tempName', String),
-    ('mapset', String),
-    ('operation', c_int),
-    ('region', G3D_Region),
-    ('window', G3D_Region),
-    ('resampleFun', POINTER(resample_fn)),
-    ('unit', String),
-    ('tileX', c_int),
-    ('tileY', c_int),
-    ('tileZ', c_int),
-    ('nx', c_int),
-    ('ny', c_int),
-    ('nz', c_int),
-    ('data_fd', c_int),
-    ('type', c_int),
-    ('precision', c_int),
-    ('compression', c_int),
-    ('useLzw', c_int),
-    ('useRle', c_int),
-    ('useXdr', c_int),
-    ('offset', c_int),
-    ('indexOffset', c_long),
-    ('indexLongNbytes', c_int),
-    ('indexNbytesUsed', c_int),
-    ('fileEndPtr', c_int),
-    ('hasIndex', c_int),
-    ('index', POINTER(c_long)),
-    ('tileLength', POINTER(c_int)),
-    ('typeIntern', c_int),
-    ('data', String),
-    ('currentIndex', c_int),
-    ('useCache', c_int),
-    ('cache', POINTER(None)),
-    ('cacheFD', c_int),
-    ('cacheFileName', String),
-    ('cachePosLast', c_long),
-    ('range', struct_FPRange),
-    ('numLengthExtern', c_int),
-    ('numLengthIntern', c_int),
-    ('clipX', c_int),
-    ('clipY', c_int),
-    ('clipZ', c_int),
-    ('tileXY', c_int),
-    ('tileSize', c_int),
-    ('nxy', c_int),
-    ('nTiles', c_int),
-    ('useMask', c_int),
-]
-
-G3D_Map = struct_G3D_Map # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 185
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 220
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'elts',
-    'nofElts',
-    'eltSize',
-    'names',
-    'locks',
-    'autoLock',
-    'nofUnlocked',
-    'minUnlocked',
-    'next',
-    'prev',
-    'first',
-    'last',
-    'eltRemoveFun',
-    'eltRemoveFunData',
-    'eltLoadFun',
-    'eltLoadFunData',
-    'hash',
-]
-struct_anon_26._fields_ = [
-    ('elts', String),
-    ('nofElts', c_int),
-    ('eltSize', c_int),
-    ('names', POINTER(c_int)),
-    ('locks', String),
-    ('autoLock', c_int),
-    ('nofUnlocked', c_int),
-    ('minUnlocked', c_int),
-    ('next', POINTER(c_int)),
-    ('prev', POINTER(c_int)),
-    ('first', c_int),
-    ('last', c_int),
-    ('eltRemoveFun', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('eltRemoveFunData', POINTER(None)),
-    ('eltLoadFun', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('eltLoadFunData', POINTER(None)),
-    ('hash', POINTER(None)),
-]
-
-G3D_cache = struct_anon_26 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 220
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 234
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'nofNames',
-    'index',
-    'active',
-    'lastName',
-    'lastIndex',
-    'lastIndexActive',
-]
-struct_anon_27._fields_ = [
-    ('nofNames', c_int),
-    ('index', POINTER(c_int)),
-    ('active', String),
-    ('lastName', c_int),
-    ('lastIndex', c_int),
-    ('lastIndexActive', c_int),
-]
-
-G3d_cache_hash = struct_anon_27 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 234
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 239
-class struct__d_interval(Structure):
-    pass
-
-struct__d_interval.__slots__ = [
-    'low',
-    'high',
-    'inf',
-    'next',
-]
-struct__d_interval._fields_ = [
-    ('low', c_double),
-    ('high', c_double),
-    ('inf', c_int),
-    ('next', POINTER(struct__d_interval)),
-]
-
-d_Interval = struct__d_interval # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 244
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 249
-class struct__d_mask(Structure):
-    pass
-
-struct__d_mask.__slots__ = [
-    'list',
-]
-struct__d_mask._fields_ = [
-    ('list', POINTER(d_Interval)),
-]
-
-d_Mask = struct__d_mask # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 249
-
-write_fn = CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 253
-
-read_fn = CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 254
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 259
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_reset'):
-    G3d_cache_reset = _libs['grass_g3d.7.0.svn'].G3d_cache_reset
-    G3d_cache_reset.restype = None
-    G3d_cache_reset.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 260
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_dispose'):
-    G3d_cache_dispose = _libs['grass_g3d.7.0.svn'].G3d_cache_dispose
-    G3d_cache_dispose.restype = None
-    G3d_cache_dispose.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 261
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_new'):
-    G3d_cache_new = _libs['grass_g3d.7.0.svn'].G3d_cache_new
-    G3d_cache_new.restype = POINTER(None)
-    G3d_cache_new.argtypes = [c_int, c_int, c_int, POINTER(write_fn), POINTER(None), POINTER(read_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 262
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_set_removeFun'):
-    G3d_cache_set_removeFun = _libs['grass_g3d.7.0.svn'].G3d_cache_set_removeFun
-    G3d_cache_set_removeFun.restype = None
-    G3d_cache_set_removeFun.argtypes = [POINTER(G3D_cache), POINTER(write_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 263
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_set_loadFun'):
-    G3d_cache_set_loadFun = _libs['grass_g3d.7.0.svn'].G3d_cache_set_loadFun
-    G3d_cache_set_loadFun.restype = None
-    G3d_cache_set_loadFun.argtypes = [POINTER(G3D_cache), POINTER(read_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 264
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_new_read'):
-    G3d_cache_new_read = _libs['grass_g3d.7.0.svn'].G3d_cache_new_read
-    G3d_cache_new_read.restype = POINTER(None)
-    G3d_cache_new_read.argtypes = [c_int, c_int, c_int, POINTER(read_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 265
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_lock'):
-    G3d_cache_lock = _libs['grass_g3d.7.0.svn'].G3d_cache_lock
-    G3d_cache_lock.restype = c_int
-    G3d_cache_lock.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 266
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_lock_intern'):
-    G3d_cache_lock_intern = _libs['grass_g3d.7.0.svn'].G3d_cache_lock_intern
-    G3d_cache_lock_intern.restype = None
-    G3d_cache_lock_intern.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 267
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_unlock'):
-    G3d_cache_unlock = _libs['grass_g3d.7.0.svn'].G3d_cache_unlock
-    G3d_cache_unlock.restype = c_int
-    G3d_cache_unlock.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 268
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_unlock_all'):
-    G3d_cache_unlock_all = _libs['grass_g3d.7.0.svn'].G3d_cache_unlock_all
-    G3d_cache_unlock_all.restype = c_int
-    G3d_cache_unlock_all.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 269
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_lock_all'):
-    G3d_cache_lock_all = _libs['grass_g3d.7.0.svn'].G3d_cache_lock_all
-    G3d_cache_lock_all.restype = c_int
-    G3d_cache_lock_all.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 270
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_autolock_on'):
-    G3d_cache_autolock_on = _libs['grass_g3d.7.0.svn'].G3d_cache_autolock_on
-    G3d_cache_autolock_on.restype = None
-    G3d_cache_autolock_on.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 271
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_autolock_off'):
-    G3d_cache_autolock_off = _libs['grass_g3d.7.0.svn'].G3d_cache_autolock_off
-    G3d_cache_autolock_off.restype = None
-    G3d_cache_autolock_off.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 272
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_set_minUnlock'):
-    G3d_cache_set_minUnlock = _libs['grass_g3d.7.0.svn'].G3d_cache_set_minUnlock
-    G3d_cache_set_minUnlock.restype = None
-    G3d_cache_set_minUnlock.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 273
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_remove_elt'):
-    G3d_cache_remove_elt = _libs['grass_g3d.7.0.svn'].G3d_cache_remove_elt
-    G3d_cache_remove_elt.restype = c_int
-    G3d_cache_remove_elt.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 274
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_flush'):
-    G3d_cache_flush = _libs['grass_g3d.7.0.svn'].G3d_cache_flush
-    G3d_cache_flush.restype = c_int
-    G3d_cache_flush.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 275
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_remove_all'):
-    G3d_cache_remove_all = _libs['grass_g3d.7.0.svn'].G3d_cache_remove_all
-    G3d_cache_remove_all.restype = c_int
-    G3d_cache_remove_all.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 276
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_flush_all'):
-    G3d_cache_flush_all = _libs['grass_g3d.7.0.svn'].G3d_cache_flush_all
-    G3d_cache_flush_all.restype = c_int
-    G3d_cache_flush_all.argtypes = [POINTER(G3D_cache)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 277
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_elt_ptr'):
-    G3d_cache_elt_ptr = _libs['grass_g3d.7.0.svn'].G3d_cache_elt_ptr
-    G3d_cache_elt_ptr.restype = POINTER(None)
-    G3d_cache_elt_ptr.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 278
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_load'):
-    G3d_cache_load = _libs['grass_g3d.7.0.svn'].G3d_cache_load
-    G3d_cache_load.restype = c_int
-    G3d_cache_load.argtypes = [POINTER(G3D_cache), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 279
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_get_elt'):
-    G3d_cache_get_elt = _libs['grass_g3d.7.0.svn'].G3d_cache_get_elt
-    G3d_cache_get_elt.restype = c_int
-    G3d_cache_get_elt.argtypes = [POINTER(G3D_cache), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 280
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_put_elt'):
-    G3d_cache_put_elt = _libs['grass_g3d.7.0.svn'].G3d_cache_put_elt
-    G3d_cache_put_elt.restype = c_int
-    G3d_cache_put_elt.argtypes = [POINTER(G3D_cache), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 283
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_reset'):
-    G3d_cache_hash_reset = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_reset
-    G3d_cache_hash_reset.restype = None
-    G3d_cache_hash_reset.argtypes = [POINTER(G3d_cache_hash)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 284
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_dispose'):
-    G3d_cache_hash_dispose = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_dispose
-    G3d_cache_hash_dispose.restype = None
-    G3d_cache_hash_dispose.argtypes = [POINTER(G3d_cache_hash)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 285
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_new'):
-    G3d_cache_hash_new = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_new
-    G3d_cache_hash_new.restype = POINTER(None)
-    G3d_cache_hash_new.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 286
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_remove_name'):
-    G3d_cache_hash_remove_name = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_remove_name
-    G3d_cache_hash_remove_name.restype = None
-    G3d_cache_hash_remove_name.argtypes = [POINTER(G3d_cache_hash), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 287
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_load_name'):
-    G3d_cache_hash_load_name = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_load_name
-    G3d_cache_hash_load_name.restype = None
-    G3d_cache_hash_load_name.argtypes = [POINTER(G3d_cache_hash), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 288
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cache_hash_name2index'):
-    G3d_cache_hash_name2index = _libs['grass_g3d.7.0.svn'].G3d_cache_hash_name2index
-    G3d_cache_hash_name2index.restype = c_int
-    G3d_cache_hash_name2index.argtypes = [POINTER(G3d_cache_hash), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 291
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_changePrecision'):
-    G3d_changePrecision = _libs['grass_g3d.7.0.svn'].G3d_changePrecision
-    G3d_changePrecision.restype = None
-    G3d_changePrecision.argtypes = [POINTER(None), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 294
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_changeType'):
-    G3d_changeType = _libs['grass_g3d.7.0.svn'].G3d_changeType
-    G3d_changeType.restype = None
-    G3d_changeType.argtypes = [POINTER(None), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 297
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_compareFiles'):
-    G3d_compareFiles = _libs['grass_g3d.7.0.svn'].G3d_compareFiles
-    G3d_compareFiles.restype = None
-    G3d_compareFiles.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 300
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_filename'):
-    G3d_filename = _libs['grass_g3d.7.0.svn'].G3d_filename
-    G3d_filename.restype = None
-    G3d_filename.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 303
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_find_grid3'):
-    G_find_grid3 = _libs['grass_g3d.7.0.svn'].G_find_grid3
-    G_find_grid3.restype = ReturnString
-    G_find_grid3.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 306
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_printBinary'):
-    G_fpcompress_printBinary = _libs['grass_g3d.7.0.svn'].G_fpcompress_printBinary
-    G_fpcompress_printBinary.restype = None
-    G_fpcompress_printBinary.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 307
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_dissectXdrDouble'):
-    G_fpcompress_dissectXdrDouble = _libs['grass_g3d.7.0.svn'].G_fpcompress_dissectXdrDouble
-    G_fpcompress_dissectXdrDouble.restype = None
-    G_fpcompress_dissectXdrDouble.argtypes = [POINTER(c_ubyte)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 308
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_writeXdrNums'):
-    G_fpcompress_writeXdrNums = _libs['grass_g3d.7.0.svn'].G_fpcompress_writeXdrNums
-    G_fpcompress_writeXdrNums.restype = c_int
-    G_fpcompress_writeXdrNums.argtypes = [c_int, String, c_int, c_int, String, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 309
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_writeXdrFloats'):
-    G_fpcompress_writeXdrFloats = _libs['grass_g3d.7.0.svn'].G_fpcompress_writeXdrFloats
-    G_fpcompress_writeXdrFloats.restype = c_int
-    G_fpcompress_writeXdrFloats.argtypes = [c_int, String, c_int, c_int, String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 310
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_writeXdrDouble'):
-    G_fpcompress_writeXdrDouble = _libs['grass_g3d.7.0.svn'].G_fpcompress_writeXdrDouble
-    G_fpcompress_writeXdrDouble.restype = c_int
-    G_fpcompress_writeXdrDouble.argtypes = [c_int, String, c_int, c_int, String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 311
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_readXdrNums'):
-    G_fpcompress_readXdrNums = _libs['grass_g3d.7.0.svn'].G_fpcompress_readXdrNums
-    G_fpcompress_readXdrNums.restype = c_int
-    G_fpcompress_readXdrNums.argtypes = [c_int, String, c_int, c_int, c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 312
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_readXdrFloats'):
-    G_fpcompress_readXdrFloats = _libs['grass_g3d.7.0.svn'].G_fpcompress_readXdrFloats
-    G_fpcompress_readXdrFloats.restype = c_int
-    G_fpcompress_readXdrFloats.argtypes = [c_int, String, c_int, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 313
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_fpcompress_readXdrDoubles'):
-    G_fpcompress_readXdrDoubles = _libs['grass_g3d.7.0.svn'].G_fpcompress_readXdrDoubles
-    G_fpcompress_readXdrDoubles.restype = c_int
-    G_fpcompress_readXdrDoubles.argtypes = [c_int, String, c_int, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 316
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_malloc'):
-    G3d_malloc = _libs['grass_g3d.7.0.svn'].G3d_malloc
-    G3d_malloc.restype = POINTER(None)
-    G3d_malloc.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 317
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_realloc'):
-    G3d_realloc = _libs['grass_g3d.7.0.svn'].G3d_realloc
-    G3d_realloc.restype = POINTER(None)
-    G3d_realloc.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 318
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_free'):
-    G3d_free = _libs['grass_g3d.7.0.svn'].G3d_free
-    G3d_free.restype = None
-    G3d_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 321
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initCache'):
-    G3d_initCache = _libs['grass_g3d.7.0.svn'].G3d_initCache
-    G3d_initCache.restype = c_int
-    G3d_initCache.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 322
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_disposeCache'):
-    G3d_disposeCache = _libs['grass_g3d.7.0.svn'].G3d_disposeCache
-    G3d_disposeCache.restype = c_int
-    G3d_disposeCache.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 323
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushAllTiles'):
-    G3d_flushAllTiles = _libs['grass_g3d.7.0.svn'].G3d_flushAllTiles
-    G3d_flushAllTiles.restype = c_int
-    G3d_flushAllTiles.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 326
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeCats'):
-    G3d_writeCats = _libs['grass_g3d.7.0.svn'].G3d_writeCats
-    G3d_writeCats.restype = c_int
-    G3d_writeCats.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 327
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readCats'):
-    G3d_readCats = _libs['grass_g3d.7.0.svn'].G3d_readCats
-    G3d_readCats.restype = c_int
-    G3d_readCats.argtypes = [String, String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 330
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_closeCell'):
-    G3d_closeCell = _libs['grass_g3d.7.0.svn'].G3d_closeCell
-    G3d_closeCell.restype = c_int
-    G3d_closeCell.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 333
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_removeColor'):
-    G3d_removeColor = _libs['grass_g3d.7.0.svn'].G3d_removeColor
-    G3d_removeColor.restype = c_int
-    G3d_removeColor.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 334
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readColors'):
-    G3d_readColors = _libs['grass_g3d.7.0.svn'].G3d_readColors
-    G3d_readColors.restype = c_int
-    G3d_readColors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 335
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeColors'):
-    G3d_writeColors = _libs['grass_g3d.7.0.svn'].G3d_writeColors
-    G3d_writeColors.restype = c_int
-    G3d_writeColors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 338
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setCompressionMode'):
-    G3d_setCompressionMode = _libs['grass_g3d.7.0.svn'].G3d_setCompressionMode
-    G3d_setCompressionMode.restype = None
-    G3d_setCompressionMode.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 339
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCompressionMode'):
-    G3d_getCompressionMode = _libs['grass_g3d.7.0.svn'].G3d_getCompressionMode
-    G3d_getCompressionMode.restype = None
-    G3d_getCompressionMode.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 340
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setCacheSize'):
-    G3d_setCacheSize = _libs['grass_g3d.7.0.svn'].G3d_setCacheSize
-    G3d_setCacheSize.restype = None
-    G3d_setCacheSize.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 341
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCacheSize'):
-    G3d_getCacheSize = _libs['grass_g3d.7.0.svn'].G3d_getCacheSize
-    G3d_getCacheSize.restype = c_int
-    G3d_getCacheSize.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 342
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setCacheLimit'):
-    G3d_setCacheLimit = _libs['grass_g3d.7.0.svn'].G3d_setCacheLimit
-    G3d_setCacheLimit.restype = None
-    G3d_setCacheLimit.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 343
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCacheLimit'):
-    G3d_getCacheLimit = _libs['grass_g3d.7.0.svn'].G3d_getCacheLimit
-    G3d_getCacheLimit.restype = c_int
-    G3d_getCacheLimit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 344
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setFileType'):
-    G3d_setFileType = _libs['grass_g3d.7.0.svn'].G3d_setFileType
-    G3d_setFileType.restype = None
-    G3d_setFileType.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 345
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getFileType'):
-    G3d_getFileType = _libs['grass_g3d.7.0.svn'].G3d_getFileType
-    G3d_getFileType.restype = c_int
-    G3d_getFileType.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 346
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setTileDimension'):
-    G3d_setTileDimension = _libs['grass_g3d.7.0.svn'].G3d_setTileDimension
-    G3d_setTileDimension.restype = None
-    G3d_setTileDimension.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 347
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getTileDimension'):
-    G3d_getTileDimension = _libs['grass_g3d.7.0.svn'].G3d_getTileDimension
-    G3d_getTileDimension.restype = None
-    G3d_getTileDimension.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 348
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setErrorFun'):
-    G3d_setErrorFun = _libs['grass_g3d.7.0.svn'].G3d_setErrorFun
-    G3d_setErrorFun.restype = None
-    G3d_setErrorFun.argtypes = [CFUNCTYPE(UNCHECKED(None), String)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 349
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setUnit'):
-    G3d_setUnit = _libs['grass_g3d.7.0.svn'].G3d_setUnit
-    G3d_setUnit.restype = None
-    G3d_setUnit.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 350
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initDefaults'):
-    G3d_initDefaults = _libs['grass_g3d.7.0.svn'].G3d_initDefaults
-    G3d_initDefaults.restype = None
-    G3d_initDefaults.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 353
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeDoubles'):
-    G3d_writeDoubles = _libs['grass_g3d.7.0.svn'].G3d_writeDoubles
-    G3d_writeDoubles.restype = c_int
-    G3d_writeDoubles.argtypes = [c_int, c_int, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 354
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readDoubles'):
-    G3d_readDoubles = _libs['grass_g3d.7.0.svn'].G3d_readDoubles
-    G3d_readDoubles.restype = c_int
-    G3d_readDoubles.argtypes = [c_int, c_int, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 357
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_skipError'):
-    G3d_skipError = _libs['grass_g3d.7.0.svn'].G3d_skipError
-    G3d_skipError.restype = None
-    G3d_skipError.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 358
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_printError'):
-    G3d_printError = _libs['grass_g3d.7.0.svn'].G3d_printError
-    G3d_printError.restype = None
-    G3d_printError.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 359
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_fatalError'):
-    _func = _libs['grass_g3d.7.0.svn'].G3d_fatalError
-    _restype = None
-    _argtypes = [String]
-    G3d_fatalError = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 361
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_fatalError_noargs'):
-    G3d_fatalError_noargs = _libs['grass_g3d.7.0.svn'].G3d_fatalError_noargs
-    G3d_fatalError_noargs.restype = None
-    G3d_fatalError_noargs.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 362
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_error'):
-    _func = _libs['grass_g3d.7.0.svn'].G3d_error
-    _restype = None
-    _argtypes = [String]
-    G3d_error = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 365
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isXdrNullNum'):
-    G3d_isXdrNullNum = _libs['grass_g3d.7.0.svn'].G3d_isXdrNullNum
-    G3d_isXdrNullNum.restype = c_int
-    G3d_isXdrNullNum.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 366
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isXdrNullFloat'):
-    G3d_isXdrNullFloat = _libs['grass_g3d.7.0.svn'].G3d_isXdrNullFloat
-    G3d_isXdrNullFloat.restype = c_int
-    G3d_isXdrNullFloat.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 367
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isXdrNullDouble'):
-    G3d_isXdrNullDouble = _libs['grass_g3d.7.0.svn'].G3d_isXdrNullDouble
-    G3d_isXdrNullDouble.restype = c_int
-    G3d_isXdrNullDouble.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 368
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setXdrNullNum'):
-    G3d_setXdrNullNum = _libs['grass_g3d.7.0.svn'].G3d_setXdrNullNum
-    G3d_setXdrNullNum.restype = None
-    G3d_setXdrNullNum.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 369
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setXdrNullDouble'):
-    G3d_setXdrNullDouble = _libs['grass_g3d.7.0.svn'].G3d_setXdrNullDouble
-    G3d_setXdrNullDouble.restype = None
-    G3d_setXdrNullDouble.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 370
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setXdrNullFloat'):
-    G3d_setXdrNullFloat = _libs['grass_g3d.7.0.svn'].G3d_setXdrNullFloat
-    G3d_setXdrNullFloat.restype = None
-    G3d_setXdrNullFloat.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 371
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initFpXdr'):
-    G3d_initFpXdr = _libs['grass_g3d.7.0.svn'].G3d_initFpXdr
-    G3d_initFpXdr.restype = c_int
-    G3d_initFpXdr.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 372
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initCopyToXdr'):
-    G3d_initCopyToXdr = _libs['grass_g3d.7.0.svn'].G3d_initCopyToXdr
-    G3d_initCopyToXdr.restype = c_int
-    G3d_initCopyToXdr.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 373
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyToXdr'):
-    G3d_copyToXdr = _libs['grass_g3d.7.0.svn'].G3d_copyToXdr
-    G3d_copyToXdr.restype = c_int
-    G3d_copyToXdr.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 374
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initCopyFromXdr'):
-    G3d_initCopyFromXdr = _libs['grass_g3d.7.0.svn'].G3d_initCopyFromXdr
-    G3d_initCopyFromXdr.restype = c_int
-    G3d_initCopyFromXdr.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 375
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyFromXdr'):
-    G3d_copyFromXdr = _libs['grass_g3d.7.0.svn'].G3d_copyFromXdr
-    G3d_copyFromXdr.restype = c_int
-    G3d_copyFromXdr.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 378
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeHistory'):
-    G3d_writeHistory = _libs['grass_g3d.7.0.svn'].G3d_writeHistory
-    G3d_writeHistory.restype = c_int
-    G3d_writeHistory.argtypes = [String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 379
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readHistory'):
-    G3d_readHistory = _libs['grass_g3d.7.0.svn'].G3d_readHistory
-    G3d_readHistory.restype = c_int
-    G3d_readHistory.argtypes = [String, String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 382
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeInts'):
-    G3d_writeInts = _libs['grass_g3d.7.0.svn'].G3d_writeInts
-    G3d_writeInts.restype = c_int
-    G3d_writeInts.argtypes = [c_int, c_int, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 383
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readInts'):
-    G3d_readInts = _libs['grass_g3d.7.0.svn'].G3d_readInts
-    G3d_readInts.restype = c_int
-    G3d_readInts.argtypes = [c_int, c_int, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 386
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keyGetInt'):
-    G3d_keyGetInt = _libs['grass_g3d.7.0.svn'].G3d_keyGetInt
-    G3d_keyGetInt.restype = c_int
-    G3d_keyGetInt.argtypes = [POINTER(struct_Key_Value), String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 387
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keyGetDouble'):
-    G3d_keyGetDouble = _libs['grass_g3d.7.0.svn'].G3d_keyGetDouble
-    G3d_keyGetDouble.restype = c_int
-    G3d_keyGetDouble.argtypes = [POINTER(struct_Key_Value), String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 388
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keyGetString'):
-    G3d_keyGetString = _libs['grass_g3d.7.0.svn'].G3d_keyGetString
-    G3d_keyGetString.restype = c_int
-    G3d_keyGetString.argtypes = [POINTER(struct_Key_Value), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 389
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keyGetValue'):
-    G3d_keyGetValue = _libs['grass_g3d.7.0.svn'].G3d_keyGetValue
-    G3d_keyGetValue.restype = c_int
-    G3d_keyGetValue.argtypes = [POINTER(struct_Key_Value), String, String, String, c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 391
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keySetInt'):
-    G3d_keySetInt = _libs['grass_g3d.7.0.svn'].G3d_keySetInt
-    G3d_keySetInt.restype = c_int
-    G3d_keySetInt.argtypes = [POINTER(struct_Key_Value), String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 392
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keySetDouble'):
-    G3d_keySetDouble = _libs['grass_g3d.7.0.svn'].G3d_keySetDouble
-    G3d_keySetDouble.restype = c_int
-    G3d_keySetDouble.argtypes = [POINTER(struct_Key_Value), String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 393
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keySetString'):
-    G3d_keySetString = _libs['grass_g3d.7.0.svn'].G3d_keySetString
-    G3d_keySetString.restype = c_int
-    G3d_keySetString.argtypes = [POINTER(struct_Key_Value), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 394
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_keySetValue'):
-    G3d_keySetValue = _libs['grass_g3d.7.0.svn'].G3d_keySetValue
-    G3d_keySetValue.restype = c_int
-    G3d_keySetValue.argtypes = [POINTER(struct_Key_Value), String, String, String, c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 397
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_longEncode'):
-    G3d_longEncode = _libs['grass_g3d.7.0.svn'].G3d_longEncode
-    G3d_longEncode.restype = c_int
-    G3d_longEncode.argtypes = [POINTER(c_long), POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 398
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_longDecode'):
-    G3d_longDecode = _libs['grass_g3d.7.0.svn'].G3d_longDecode
-    G3d_longDecode.restype = None
-    G3d_longDecode.argtypes = [POINTER(c_ubyte), POINTER(c_long), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 401
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_makeMapsetMapDirectory'):
-    G3d_makeMapsetMapDirectory = _libs['grass_g3d.7.0.svn'].G3d_makeMapsetMapDirectory
-    G3d_makeMapsetMapDirectory.restype = None
-    G3d_makeMapsetMapDirectory.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 404
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskClose'):
-    G3d_maskClose = _libs['grass_g3d.7.0.svn'].G3d_maskClose
-    G3d_maskClose.restype = c_int
-    G3d_maskClose.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 405
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskFileExists'):
-    G3d_maskFileExists = _libs['grass_g3d.7.0.svn'].G3d_maskFileExists
-    G3d_maskFileExists.restype = c_int
-    G3d_maskFileExists.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 406
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskOpenOld'):
-    G3d_maskOpenOld = _libs['grass_g3d.7.0.svn'].G3d_maskOpenOld
-    G3d_maskOpenOld.restype = c_int
-    G3d_maskOpenOld.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 407
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskReopen'):
-    G3d_maskReopen = _libs['grass_g3d.7.0.svn'].G3d_maskReopen
-    G3d_maskReopen.restype = c_int
-    G3d_maskReopen.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 408
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isMasked'):
-    G3d_isMasked = _libs['grass_g3d.7.0.svn'].G3d_isMasked
-    G3d_isMasked.restype = c_int
-    G3d_isMasked.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 409
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskNum'):
-    G3d_maskNum = _libs['grass_g3d.7.0.svn'].G3d_maskNum
-    G3d_maskNum.restype = None
-    G3d_maskNum.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 410
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskFloat'):
-    G3d_maskFloat = _libs['grass_g3d.7.0.svn'].G3d_maskFloat
-    G3d_maskFloat.restype = None
-    G3d_maskFloat.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 411
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskDouble'):
-    G3d_maskDouble = _libs['grass_g3d.7.0.svn'].G3d_maskDouble
-    G3d_maskDouble.restype = None
-    G3d_maskDouble.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 412
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskTile'):
-    G3d_maskTile = _libs['grass_g3d.7.0.svn'].G3d_maskTile
-    G3d_maskTile.restype = None
-    G3d_maskTile.argtypes = [POINTER(G3D_Map), c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 413
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskOn'):
-    G3d_maskOn = _libs['grass_g3d.7.0.svn'].G3d_maskOn
-    G3d_maskOn.restype = None
-    G3d_maskOn.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 414
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskOff'):
-    G3d_maskOff = _libs['grass_g3d.7.0.svn'].G3d_maskOff
-    G3d_maskOff.restype = None
-    G3d_maskOff.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 415
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskIsOn'):
-    G3d_maskIsOn = _libs['grass_g3d.7.0.svn'].G3d_maskIsOn
-    G3d_maskIsOn.restype = c_int
-    G3d_maskIsOn.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 416
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskIsOff'):
-    G3d_maskIsOff = _libs['grass_g3d.7.0.svn'].G3d_maskIsOff
-    G3d_maskIsOff.restype = c_int
-    G3d_maskIsOff.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 417
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskFile'):
-    G3d_maskFile = _libs['grass_g3d.7.0.svn'].G3d_maskFile
-    G3d_maskFile.restype = ReturnString
-    G3d_maskFile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 418
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_maskMapExists'):
-    G3d_maskMapExists = _libs['grass_g3d.7.0.svn'].G3d_maskMapExists
-    G3d_maskMapExists.restype = c_int
-    G3d_maskMapExists.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 421
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_mask_d_select'):
-    G3d_mask_d_select = _libs['grass_g3d.7.0.svn'].G3d_mask_d_select
-    G3d_mask_d_select.restype = c_int
-    G3d_mask_d_select.argtypes = [POINTER(DCELL), POINTER(d_Mask)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 422
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_mask_match_d_interval'):
-    G3d_mask_match_d_interval = _libs['grass_g3d.7.0.svn'].G3d_mask_match_d_interval
-    G3d_mask_match_d_interval.restype = DCELL
-    G3d_mask_match_d_interval.argtypes = [DCELL, POINTER(d_Interval)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 423
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_parse_vallist'):
-    G3d_parse_vallist = _libs['grass_g3d.7.0.svn'].G3d_parse_vallist
-    G3d_parse_vallist.restype = None
-    G3d_parse_vallist.argtypes = [POINTER(POINTER(c_char)), POINTER(POINTER(d_Mask))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 426
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_g3dType2cellType'):
-    G3d_g3dType2cellType = _libs['grass_g3d.7.0.svn'].G3d_g3dType2cellType
-    G3d_g3dType2cellType.restype = c_int
-    G3d_g3dType2cellType.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 427
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyFloat2Double'):
-    G3d_copyFloat2Double = _libs['grass_g3d.7.0.svn'].G3d_copyFloat2Double
-    G3d_copyFloat2Double.restype = None
-    G3d_copyFloat2Double.argtypes = [POINTER(c_float), c_int, POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 428
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyDouble2Float'):
-    G3d_copyDouble2Float = _libs['grass_g3d.7.0.svn'].G3d_copyDouble2Float
-    G3d_copyDouble2Float.restype = None
-    G3d_copyDouble2Float.argtypes = [POINTER(c_double), c_int, POINTER(c_float), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 429
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_copyValues'):
-    G3d_copyValues = _libs['grass_g3d.7.0.svn'].G3d_copyValues
-    G3d_copyValues.restype = None
-    G3d_copyValues.argtypes = [POINTER(None), c_int, c_int, POINTER(None), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 430
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_length'):
-    G3d_length = _libs['grass_g3d.7.0.svn'].G3d_length
-    G3d_length.restype = c_int
-    G3d_length.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 431
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_externLength'):
-    G3d_externLength = _libs['grass_g3d.7.0.svn'].G3d_externLength
-    G3d_externLength.restype = c_int
-    G3d_externLength.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 434
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isNullValueNum'):
-    G3d_isNullValueNum = _libs['grass_g3d.7.0.svn'].G3d_isNullValueNum
-    G3d_isNullValueNum.restype = c_int
-    G3d_isNullValueNum.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 435
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setNullValue'):
-    G3d_setNullValue = _libs['grass_g3d.7.0.svn'].G3d_setNullValue
-    G3d_setNullValue.restype = None
-    G3d_setNullValue.argtypes = [POINTER(None), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 438
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openNewParam'):
-    G3d_openNewParam = _libs['grass_g3d.7.0.svn'].G3d_openNewParam
-    G3d_openNewParam.restype = POINTER(None)
-    G3d_openNewParam.argtypes = [String, c_int, c_int, POINTER(G3D_Region), c_int, c_int, c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 440
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openCellOldNoHeader'):
-    G3d_openCellOldNoHeader = _libs['grass_g3d.7.0.svn'].G3d_openCellOldNoHeader
-    G3d_openCellOldNoHeader.restype = POINTER(None)
-    G3d_openCellOldNoHeader.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 441
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openCellOld'):
-    G3d_openCellOld = _libs['grass_g3d.7.0.svn'].G3d_openCellOld
-    G3d_openCellOld.restype = POINTER(None)
-    G3d_openCellOld.argtypes = [String, String, POINTER(G3D_Region), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 442
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openCellNew'):
-    G3d_openCellNew = _libs['grass_g3d.7.0.svn'].G3d_openCellNew
-    G3d_openCellNew.restype = POINTER(None)
-    G3d_openCellNew.argtypes = [String, c_int, c_int, POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 443
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_openNewOptTileSize'):
-    G3d_openNewOptTileSize = _libs['grass_g3d.7.0.svn'].G3d_openNewOptTileSize
-    G3d_openNewOptTileSize.restype = POINTER(None)
-    G3d_openNewOptTileSize.argtypes = [String, c_int, POINTER(G3D_Region), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 446
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setStandard3dInputParams'):
-    G3d_setStandard3dInputParams = _libs['grass_g3d.7.0.svn'].G3d_setStandard3dInputParams
-    G3d_setStandard3dInputParams.restype = None
-    G3d_setStandard3dInputParams.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 447
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getStandard3dParams'):
-    G3d_getStandard3dParams = _libs['grass_g3d.7.0.svn'].G3d_getStandard3dParams
-    G3d_getStandard3dParams.restype = c_int
-    G3d_getStandard3dParams.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 449
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setWindowParams'):
-    G3d_setWindowParams = _libs['grass_g3d.7.0.svn'].G3d_setWindowParams
-    G3d_setWindowParams.restype = None
-    G3d_setWindowParams.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 450
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getWindowParams'):
-    G3d_getWindowParams = _libs['grass_g3d.7.0.svn'].G3d_getWindowParams
-    G3d_getWindowParams.restype = ReturnString
-    G3d_getWindowParams.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 453
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_updateFromTile'):
-    G3d_range_updateFromTile = _libs['grass_g3d.7.0.svn'].G3d_range_updateFromTile
-    G3d_range_updateFromTile.restype = None
-    G3d_range_updateFromTile.argtypes = [POINTER(G3D_Map), POINTER(None), c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 455
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readRange'):
-    G3d_readRange = _libs['grass_g3d.7.0.svn'].G3d_readRange
-    G3d_readRange.restype = c_int
-    G3d_readRange.argtypes = [String, String, POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 456
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_load'):
-    G3d_range_load = _libs['grass_g3d.7.0.svn'].G3d_range_load
-    G3d_range_load.restype = c_int
-    G3d_range_load.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 457
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_min_max'):
-    G3d_range_min_max = _libs['grass_g3d.7.0.svn'].G3d_range_min_max
-    G3d_range_min_max.restype = None
-    G3d_range_min_max.argtypes = [POINTER(G3D_Map), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 458
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_write'):
-    G3d_range_write = _libs['grass_g3d.7.0.svn'].G3d_range_write
-    G3d_range_write.restype = c_int
-    G3d_range_write.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 459
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_range_init'):
-    G3d_range_init = _libs['grass_g3d.7.0.svn'].G3d_range_init
-    G3d_range_init.restype = c_int
-    G3d_range_init.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 462
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getRegionValue'):
-    G3d_getRegionValue = _libs['grass_g3d.7.0.svn'].G3d_getRegionValue
-    G3d_getRegionValue.restype = None
-    G3d_getRegionValue.argtypes = [POINTER(G3D_Map), c_double, c_double, c_double, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 463
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_adjustRegion'):
-    G3d_adjustRegion = _libs['grass_g3d.7.0.svn'].G3d_adjustRegion
-    G3d_adjustRegion.restype = None
-    G3d_adjustRegion.argtypes = [POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 464
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_regionCopy'):
-    G3d_regionCopy = _libs['grass_g3d.7.0.svn'].G3d_regionCopy
-    G3d_regionCopy.restype = None
-    G3d_regionCopy.argtypes = [POINTER(G3D_Region), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 465
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_incorporate2dRegion'):
-    G3d_incorporate2dRegion = _libs['grass_g3d.7.0.svn'].G3d_incorporate2dRegion
-    G3d_incorporate2dRegion.restype = None
-    G3d_incorporate2dRegion.argtypes = [POINTER(struct_Cell_head), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 466
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_regionFromToCellHead'):
-    G3d_regionFromToCellHead = _libs['grass_g3d.7.0.svn'].G3d_regionFromToCellHead
-    G3d_regionFromToCellHead.restype = None
-    G3d_regionFromToCellHead.argtypes = [POINTER(struct_Cell_head), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 467
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_adjustRegionRes'):
-    G3d_adjustRegionRes = _libs['grass_g3d.7.0.svn'].G3d_adjustRegionRes
-    G3d_adjustRegionRes.restype = None
-    G3d_adjustRegionRes.argtypes = [POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 468
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_extract2dRegion'):
-    G3d_extract2dRegion = _libs['grass_g3d.7.0.svn'].G3d_extract2dRegion
-    G3d_extract2dRegion.restype = None
-    G3d_extract2dRegion.argtypes = [POINTER(G3D_Region), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 469
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_regionToCellHead'):
-    G3d_regionToCellHead = _libs['grass_g3d.7.0.svn'].G3d_regionToCellHead
-    G3d_regionToCellHead.restype = None
-    G3d_regionToCellHead.argtypes = [POINTER(G3D_Region), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 470
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readRegionMap'):
-    G3d_readRegionMap = _libs['grass_g3d.7.0.svn'].G3d_readRegionMap
-    G3d_readRegionMap.restype = c_int
-    G3d_readRegionMap.argtypes = [String, String, POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 471
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_isValidLocation'):
-    G3d_isValidLocation = _libs['grass_g3d.7.0.svn'].G3d_isValidLocation
-    G3d_isValidLocation.restype = c_int
-    G3d_isValidLocation.argtypes = [POINTER(G3D_Region), c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 472
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_location2coord'):
-    G3d_location2coord = _libs['grass_g3d.7.0.svn'].G3d_location2coord
-    G3d_location2coord.restype = None
-    G3d_location2coord.argtypes = [POINTER(G3D_Region), c_double, c_double, c_double, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 473
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_location2coord2'):
-    G3d_location2coord2 = _libs['grass_g3d.7.0.svn'].G3d_location2coord2
-    G3d_location2coord2.restype = None
-    G3d_location2coord2.argtypes = [POINTER(G3D_Region), c_double, c_double, c_double, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 474
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_coord2location'):
-    G3d_coord2location = _libs['grass_g3d.7.0.svn'].G3d_coord2location
-    G3d_coord2location.restype = None
-    G3d_coord2location.argtypes = [POINTER(G3D_Region), c_double, c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 476
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_nearestNeighbor'):
-    G3d_nearestNeighbor = _libs['grass_g3d.7.0.svn'].G3d_nearestNeighbor
-    G3d_nearestNeighbor.restype = None
-    G3d_nearestNeighbor.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 477
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setResamplingFun'):
-    G3d_setResamplingFun = _libs['grass_g3d.7.0.svn'].G3d_setResamplingFun
-    G3d_setResamplingFun.restype = None
-    G3d_setResamplingFun.argtypes = [POINTER(G3D_Map), CFUNCTYPE(UNCHECKED(None), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 478
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getResamplingFun'):
-    G3d_getResamplingFun = _libs['grass_g3d.7.0.svn'].G3d_getResamplingFun
-    G3d_getResamplingFun.restype = None
-    G3d_getResamplingFun.argtypes = [POINTER(G3D_Map), POINTER(CFUNCTYPE(UNCHECKED(None), ))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 479
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getNearestNeighborFunPtr'):
-    G3d_getNearestNeighborFunPtr = _libs['grass_g3d.7.0.svn'].G3d_getNearestNeighborFunPtr
-    G3d_getNearestNeighborFunPtr.restype = None
-    G3d_getNearestNeighborFunPtr.argtypes = [POINTER(CFUNCTYPE(UNCHECKED(None), ))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 482
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getVolumeA'):
-    G3d_getVolumeA = _libs['grass_g3d.7.0.svn'].G3d_getVolumeA
-    G3d_getVolumeA.restype = None
-    G3d_getVolumeA.argtypes = [POINTER(None), (((c_double * 3) * 2) * 2) * 2, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 483
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getVolume'):
-    G3d_getVolume = _libs['grass_g3d.7.0.svn'].G3d_getVolume
-    G3d_getVolume.restype = None
-    G3d_getVolume.argtypes = [POINTER(None), c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 486
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getAlignedVolume'):
-    G3d_getAlignedVolume = _libs['grass_g3d.7.0.svn'].G3d_getAlignedVolume
-    G3d_getAlignedVolume.restype = None
-    G3d_getAlignedVolume.argtypes = [POINTER(None), c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 488
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_makeAlignedVolumeFile'):
-    G3d_makeAlignedVolumeFile = _libs['grass_g3d.7.0.svn'].G3d_makeAlignedVolumeFile
-    G3d_makeAlignedVolumeFile.restype = None
-    G3d_makeAlignedVolumeFile.argtypes = [POINTER(None), String, c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 491
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getValue'):
-    G3d_getValue = _libs['grass_g3d.7.0.svn'].G3d_getValue
-    G3d_getValue.restype = None
-    G3d_getValue.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 492
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getFloat'):
-    G3d_getFloat = _libs['grass_g3d.7.0.svn'].G3d_getFloat
-    G3d_getFloat.restype = c_float
-    G3d_getFloat.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 493
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getDouble'):
-    G3d_getDouble = _libs['grass_g3d.7.0.svn'].G3d_getDouble
-    G3d_getDouble.restype = c_double
-    G3d_getDouble.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 494
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getWindowValue'):
-    G3d_getWindowValue = _libs['grass_g3d.7.0.svn'].G3d_getWindowValue
-    G3d_getWindowValue.restype = None
-    G3d_getWindowValue.argtypes = [POINTER(G3D_Map), c_double, c_double, c_double, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 497
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_windowPtr'):
-    G3d_windowPtr = _libs['grass_g3d.7.0.svn'].G3d_windowPtr
-    G3d_windowPtr.restype = POINTER(G3D_Region)
-    G3d_windowPtr.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 498
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setWindow'):
-    G3d_setWindow = _libs['grass_g3d.7.0.svn'].G3d_setWindow
-    G3d_setWindow.restype = None
-    G3d_setWindow.argtypes = [POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 499
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setWindowMap'):
-    G3d_setWindowMap = _libs['grass_g3d.7.0.svn'].G3d_setWindowMap
-    G3d_setWindowMap.restype = None
-    G3d_setWindowMap.argtypes = [POINTER(G3D_Map), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 500
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getWindow'):
-    G3d_getWindow = _libs['grass_g3d.7.0.svn'].G3d_getWindow
-    G3d_getWindow.restype = None
-    G3d_getWindow.argtypes = [POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 503
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_useWindowParams'):
-    G3d_useWindowParams = _libs['grass_g3d.7.0.svn'].G3d_useWindowParams
-    G3d_useWindowParams.restype = None
-    G3d_useWindowParams.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 504
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readWindow'):
-    G3d_readWindow = _libs['grass_g3d.7.0.svn'].G3d_readWindow
-    G3d_readWindow.restype = c_int
-    G3d_readWindow.argtypes = [POINTER(G3D_Region), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 508
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getBlockNocache'):
-    G3d_getBlockNocache = _libs['grass_g3d.7.0.svn'].G3d_getBlockNocache
-    G3d_getBlockNocache.restype = None
-    G3d_getBlockNocache.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 510
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getBlock'):
-    G3d_getBlock = _libs['grass_g3d.7.0.svn'].G3d_getBlock
-    G3d_getBlock.restype = None
-    G3d_getBlock.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 513
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readHeader'):
-    G3d_readHeader = _libs['grass_g3d.7.0.svn'].G3d_readHeader
-    G3d_readHeader.restype = c_int
-    G3d_readHeader.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(POINTER( [...]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 517
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeHeader'):
-    G3d_writeHeader = _libs['grass_g3d.7.0.svn'].G3d_writeHeader
-    G3d_writeHeader.restype = c_int
-    G3d_writeHeader.argtypes = [POINTER(G3D_Map), c_int, c_int, c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int, c_double, c_double, c_double, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 521
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_cacheSizeEncode'):
-    G3d_cacheSizeEncode = _libs['grass_g3d.7.0.svn'].G3d_cacheSizeEncode
-    G3d_cacheSizeEncode.restype = c_int
-    G3d_cacheSizeEncode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 522
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d__computeCacheSize'):
-    G3d__computeCacheSize = _libs['grass_g3d.7.0.svn'].G3d__computeCacheSize
-    G3d__computeCacheSize.restype = c_int
-    G3d__computeCacheSize.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 523
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_fillHeader'):
-    G3d_fillHeader = _libs['grass_g3d.7.0.svn'].G3d_fillHeader
-    G3d_fillHeader.restype = c_int
-    G3d_fillHeader.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_int, c_double, c_double, c_double, c_double, c_double, c_double, c_int, c_int, c_int, c_double, c_double, c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 528
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCoordsMap'):
-    G3d_getCoordsMap = _libs['grass_g3d.7.0.svn'].G3d_getCoordsMap
-    G3d_getCoordsMap.restype = None
-    G3d_getCoordsMap.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 529
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getCoordsMapWindow'):
-    G3d_getCoordsMapWindow = _libs['grass_g3d.7.0.svn'].G3d_getCoordsMapWindow
-    G3d_getCoordsMapWindow.restype = None
-    G3d_getCoordsMapWindow.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 530
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getNofTilesMap'):
-    G3d_getNofTilesMap = _libs['grass_g3d.7.0.svn'].G3d_getNofTilesMap
-    G3d_getNofTilesMap.restype = None
-    G3d_getNofTilesMap.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 531
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getRegionMap'):
-    G3d_getRegionMap = _libs['grass_g3d.7.0.svn'].G3d_getRegionMap
-    G3d_getRegionMap.restype = None
-    G3d_getRegionMap.argtypes = [POINTER(G3D_Map), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 533
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getWindowMap'):
-    G3d_getWindowMap = _libs['grass_g3d.7.0.svn'].G3d_getWindowMap
-    G3d_getWindowMap.restype = None
-    G3d_getWindowMap.argtypes = [POINTER(G3D_Map), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 535
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getTileDimensionsMap'):
-    G3d_getTileDimensionsMap = _libs['grass_g3d.7.0.svn'].G3d_getTileDimensionsMap
-    G3d_getTileDimensionsMap.restype = None
-    G3d_getTileDimensionsMap.argtypes = [POINTER(G3D_Map), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 536
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileTypeMap'):
-    G3d_tileTypeMap = _libs['grass_g3d.7.0.svn'].G3d_tileTypeMap
-    G3d_tileTypeMap.restype = c_int
-    G3d_tileTypeMap.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 537
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_fileTypeMap'):
-    G3d_fileTypeMap = _libs['grass_g3d.7.0.svn'].G3d_fileTypeMap
-    G3d_fileTypeMap.restype = c_int
-    G3d_fileTypeMap.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 538
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tilePrecisionMap'):
-    G3d_tilePrecisionMap = _libs['grass_g3d.7.0.svn'].G3d_tilePrecisionMap
-    G3d_tilePrecisionMap.restype = c_int
-    G3d_tilePrecisionMap.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 539
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileUseCacheMap'):
-    G3d_tileUseCacheMap = _libs['grass_g3d.7.0.svn'].G3d_tileUseCacheMap
-    G3d_tileUseCacheMap.restype = c_int
-    G3d_tileUseCacheMap.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 540
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_printHeader'):
-    G3d_printHeader = _libs['grass_g3d.7.0.svn'].G3d_printHeader
-    G3d_printHeader.restype = None
-    G3d_printHeader.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 541
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getRegionStructMap'):
-    G3d_getRegionStructMap = _libs['grass_g3d.7.0.svn'].G3d_getRegionStructMap
-    G3d_getRegionStructMap.restype = None
-    G3d_getRegionStructMap.argtypes = [POINTER(G3D_Map), POINTER(G3D_Region)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 544
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushIndex'):
-    G3d_flushIndex = _libs['grass_g3d.7.0.svn'].G3d_flushIndex
-    G3d_flushIndex.restype = c_int
-    G3d_flushIndex.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 545
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_initIndex'):
-    G3d_initIndex = _libs['grass_g3d.7.0.svn'].G3d_initIndex
-    G3d_initIndex.restype = c_int
-    G3d_initIndex.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 548
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_retile'):
-    G3d_retile = _libs['grass_g3d.7.0.svn'].G3d_retile
-    G3d_retile.restype = None
-    G3d_retile.argtypes = [POINTER(None), String, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 551
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_rle_count_only'):
-    G_rle_count_only = _libs['grass_g3d.7.0.svn'].G_rle_count_only
-    G_rle_count_only.restype = c_int
-    G_rle_count_only.argtypes = [String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 552
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_rle_encode'):
-    G_rle_encode = _libs['grass_g3d.7.0.svn'].G_rle_encode
-    G_rle_encode.restype = None
-    G_rle_encode.argtypes = [String, String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 553
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G_rle_decode'):
-    G_rle_decode = _libs['grass_g3d.7.0.svn'].G_rle_decode
-    G_rle_decode.restype = None
-    G_rle_decode.argtypes = [String, String, c_int, c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 556
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_allocTilesType'):
-    G3d_allocTilesType = _libs['grass_g3d.7.0.svn'].G3d_allocTilesType
-    G3d_allocTilesType.restype = POINTER(None)
-    G3d_allocTilesType.argtypes = [POINTER(G3D_Map), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 557
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_allocTiles'):
-    G3d_allocTiles = _libs['grass_g3d.7.0.svn'].G3d_allocTiles
-    G3d_allocTiles.restype = POINTER(None)
-    G3d_allocTiles.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 558
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_freeTiles'):
-    G3d_freeTiles = _libs['grass_g3d.7.0.svn'].G3d_freeTiles
-    G3d_freeTiles.restype = None
-    G3d_freeTiles.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 561
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getTilePtr'):
-    G3d_getTilePtr = _libs['grass_g3d.7.0.svn'].G3d_getTilePtr
-    G3d_getTilePtr.restype = POINTER(None)
-    G3d_getTilePtr.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 562
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileLoad'):
-    G3d_tileLoad = _libs['grass_g3d.7.0.svn'].G3d_tileLoad
-    G3d_tileLoad.restype = c_int
-    G3d_tileLoad.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 563
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d__removeTile'):
-    G3d__removeTile = _libs['grass_g3d.7.0.svn'].G3d__removeTile
-    G3d__removeTile.restype = c_int
-    G3d__removeTile.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 564
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getFloatRegion'):
-    G3d_getFloatRegion = _libs['grass_g3d.7.0.svn'].G3d_getFloatRegion
-    G3d_getFloatRegion.restype = c_float
-    G3d_getFloatRegion.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 565
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getDoubleRegion'):
-    G3d_getDoubleRegion = _libs['grass_g3d.7.0.svn'].G3d_getDoubleRegion
-    G3d_getDoubleRegion.restype = c_double
-    G3d_getDoubleRegion.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 566
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_getValueRegion'):
-    G3d_getValueRegion = _libs['grass_g3d.7.0.svn'].G3d_getValueRegion
-    G3d_getValueRegion.restype = None
-    G3d_getValueRegion.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 569
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_computeOptimalTileDimension'):
-    G3d_computeOptimalTileDimension = _libs['grass_g3d.7.0.svn'].G3d_computeOptimalTileDimension
-    G3d_computeOptimalTileDimension.restype = None
-    G3d_computeOptimalTileDimension.argtypes = [POINTER(G3D_Region), c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 570
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileIndex2tile'):
-    G3d_tileIndex2tile = _libs['grass_g3d.7.0.svn'].G3d_tileIndex2tile
-    G3d_tileIndex2tile.restype = None
-    G3d_tileIndex2tile.argtypes = [POINTER(G3D_Map), c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 571
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tile2tileIndex'):
-    G3d_tile2tileIndex = _libs['grass_g3d.7.0.svn'].G3d_tile2tileIndex
-    G3d_tile2tileIndex.restype = c_int
-    G3d_tile2tileIndex.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 572
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileCoordOrigin'):
-    G3d_tileCoordOrigin = _libs['grass_g3d.7.0.svn'].G3d_tileCoordOrigin
-    G3d_tileCoordOrigin.restype = None
-    G3d_tileCoordOrigin.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 573
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileIndexOrigin'):
-    G3d_tileIndexOrigin = _libs['grass_g3d.7.0.svn'].G3d_tileIndexOrigin
-    G3d_tileIndexOrigin.restype = None
-    G3d_tileIndexOrigin.argtypes = [POINTER(G3D_Map), c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 574
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_coord2tileCoord'):
-    G3d_coord2tileCoord = _libs['grass_g3d.7.0.svn'].G3d_coord2tileCoord
-    G3d_coord2tileCoord.restype = None
-    G3d_coord2tileCoord.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 576
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_coord2tileIndex'):
-    G3d_coord2tileIndex = _libs['grass_g3d.7.0.svn'].G3d_coord2tileIndex
-    G3d_coord2tileIndex.restype = None
-    G3d_coord2tileIndex.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 577
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_coordInRange'):
-    G3d_coordInRange = _libs['grass_g3d.7.0.svn'].G3d_coordInRange
-    G3d_coordInRange.restype = c_int
-    G3d_coordInRange.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 578
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileIndexInRange'):
-    G3d_tileIndexInRange = _libs['grass_g3d.7.0.svn'].G3d_tileIndexInRange
-    G3d_tileIndexInRange.restype = c_int
-    G3d_tileIndexInRange.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 579
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_tileInRange'):
-    G3d_tileInRange = _libs['grass_g3d.7.0.svn'].G3d_tileInRange
-    G3d_tileInRange.restype = c_int
-    G3d_tileInRange.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 580
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_computeClippedTileDimensions'):
-    G3d_computeClippedTileDimensions = _libs['grass_g3d.7.0.svn'].G3d_computeClippedTileDimensions
-    G3d_computeClippedTileDimensions.restype = c_int
-    G3d_computeClippedTileDimensions.argtypes = [POINTER(G3D_Map), c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 584
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setNullTileType'):
-    G3d_setNullTileType = _libs['grass_g3d.7.0.svn'].G3d_setNullTileType
-    G3d_setNullTileType.restype = None
-    G3d_setNullTileType.argtypes = [POINTER(G3D_Map), POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 585
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_setNullTile'):
-    G3d_setNullTile = _libs['grass_g3d.7.0.svn'].G3d_setNullTile
-    G3d_setNullTile.restype = None
-    G3d_setNullTile.argtypes = [POINTER(G3D_Map), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 588
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readTile'):
-    G3d_readTile = _libs['grass_g3d.7.0.svn'].G3d_readTile
-    G3d_readTile.restype = c_int
-    G3d_readTile.argtypes = [POINTER(G3D_Map), c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 589
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readTileFloat'):
-    G3d_readTileFloat = _libs['grass_g3d.7.0.svn'].G3d_readTileFloat
-    G3d_readTileFloat.restype = c_int
-    G3d_readTileFloat.argtypes = [POINTER(G3D_Map), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 590
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_readTileDouble'):
-    G3d_readTileDouble = _libs['grass_g3d.7.0.svn'].G3d_readTileDouble
-    G3d_readTileDouble.restype = c_int
-    G3d_readTileDouble.argtypes = [POINTER(G3D_Map), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 591
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_lockTile'):
-    G3d_lockTile = _libs['grass_g3d.7.0.svn'].G3d_lockTile
-    G3d_lockTile.restype = c_int
-    G3d_lockTile.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 592
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_unlockTile'):
-    G3d_unlockTile = _libs['grass_g3d.7.0.svn'].G3d_unlockTile
-    G3d_unlockTile.restype = c_int
-    G3d_unlockTile.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 593
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_unlockAll'):
-    G3d_unlockAll = _libs['grass_g3d.7.0.svn'].G3d_unlockAll
-    G3d_unlockAll.restype = c_int
-    G3d_unlockAll.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 594
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_autolockOn'):
-    G3d_autolockOn = _libs['grass_g3d.7.0.svn'].G3d_autolockOn
-    G3d_autolockOn.restype = None
-    G3d_autolockOn.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 595
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_autolockOff'):
-    G3d_autolockOff = _libs['grass_g3d.7.0.svn'].G3d_autolockOff
-    G3d_autolockOff.restype = None
-    G3d_autolockOff.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 596
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_minUnlocked'):
-    G3d_minUnlocked = _libs['grass_g3d.7.0.svn'].G3d_minUnlocked
-    G3d_minUnlocked.restype = None
-    G3d_minUnlocked.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 597
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_beginCycle'):
-    G3d_beginCycle = _libs['grass_g3d.7.0.svn'].G3d_beginCycle
-    G3d_beginCycle.restype = c_int
-    G3d_beginCycle.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 598
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_endCycle'):
-    G3d_endCycle = _libs['grass_g3d.7.0.svn'].G3d_endCycle
-    G3d_endCycle.restype = c_int
-    G3d_endCycle.argtypes = [POINTER(G3D_Map)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 601
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeTile'):
-    G3d_writeTile = _libs['grass_g3d.7.0.svn'].G3d_writeTile
-    G3d_writeTile.restype = c_int
-    G3d_writeTile.argtypes = [POINTER(G3D_Map), c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 602
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeTileFloat'):
-    G3d_writeTileFloat = _libs['grass_g3d.7.0.svn'].G3d_writeTileFloat
-    G3d_writeTileFloat.restype = c_int
-    G3d_writeTileFloat.argtypes = [POINTER(G3D_Map), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 603
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeTileDouble'):
-    G3d_writeTileDouble = _libs['grass_g3d.7.0.svn'].G3d_writeTileDouble
-    G3d_writeTileDouble.restype = c_int
-    G3d_writeTileDouble.argtypes = [POINTER(G3D_Map), c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 604
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushTile'):
-    G3d_flushTile = _libs['grass_g3d.7.0.svn'].G3d_flushTile
-    G3d_flushTile.restype = c_int
-    G3d_flushTile.argtypes = [POINTER(G3D_Map), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 605
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushTileCube'):
-    G3d_flushTileCube = _libs['grass_g3d.7.0.svn'].G3d_flushTileCube
-    G3d_flushTileCube.restype = c_int
-    G3d_flushTileCube.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 606
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_flushTilesInCube'):
-    G3d_flushTilesInCube = _libs['grass_g3d.7.0.svn'].G3d_flushTilesInCube
-    G3d_flushTilesInCube.restype = c_int
-    G3d_flushTilesInCube.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 607
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_putFloat'):
-    G3d_putFloat = _libs['grass_g3d.7.0.svn'].G3d_putFloat
-    G3d_putFloat.restype = c_int
-    G3d_putFloat.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 608
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_putDouble'):
-    G3d_putDouble = _libs['grass_g3d.7.0.svn'].G3d_putDouble
-    G3d_putDouble.restype = c_int
-    G3d_putDouble.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 609
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_putValue'):
-    G3d_putValue = _libs['grass_g3d.7.0.svn'].G3d_putValue
-    G3d_putValue.restype = c_int
-    G3d_putValue.argtypes = [POINTER(G3D_Map), c_int, c_int, c_int, POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 612
-if hasattr(_libs['grass_g3d.7.0.svn'], 'G3d_writeAscii'):
-    G3d_writeAscii = _libs['grass_g3d.7.0.svn'].G3d_writeAscii
-    G3d_writeAscii.restype = None
-    G3d_writeAscii.argtypes = [POINTER(None), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 7
-try:
-    G3D_TILE_SAME_AS_FILE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 8
-try:
-    G3D_NO_COMPRESSION = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 8
-try:
-    G3D_COMPRESSION = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 9
-try:
-    G3D_USE_LZW = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 9
-try:
-    G3D_NO_LZW = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 10
-try:
-    G3D_USE_RLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 10
-try:
-    G3D_NO_RLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 11
-try:
-    G3D_MAX_PRECISION = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_NO_CACHE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_DEFAULT = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_X = (-2)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_Y = (-3)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_Z = (-4)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_XY = (-5)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_XZ = (-6)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_YZ = (-7)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 12
-try:
-    G3D_USE_CACHE_XYZ = (-8)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 13
-try:
-    G3D_DEFAULT_WINDOW = NULL
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_DIRECTORY = 'grid3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_CELL_ELEMENT = 'cell'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_CATS_ELEMENT = 'cats'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_RANGE_ELEMENT = 'range'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_HEADER_ELEMENT = 'cellhd'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_HISTORY_ELEMENT = 'hist'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_COLOR_ELEMENT = 'color'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_COLOR2_DIRECTORY = 'colr2'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_MASK_MAP = 'G3D_MASK'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_WINDOW_ELEMENT = 'WIND3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_DEFAULT_WINDOW_ELEMENT = 'DEFAULT_WIND3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_WINDOW_DATABASE = 'windows3d'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 14
-try:
-    G3D_PERMANENT_MAPSET = 'PERMANENT'
-except:
-    pass
-
-G3D_Map = struct_G3D_Map # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 73
-
-_d_interval = struct__d_interval # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 239
-
-_d_mask = struct__d_mask # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/G3d.h: 249
-
-# No inserted files
-
diff --git a/lib/python/ctypes/gis.py b/lib/python/ctypes/gis.py
deleted file mode 100644
index c227f23..0000000
--- a/lib/python/ctypes/gis.py
+++ /dev/null
@@ -1,3879 +0,0 @@
-'''Wrapper for gis.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_gis.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h -o gis.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_gis.7.0.svn"] = load_library("grass_gis.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/config.h: 314
-class struct_stat(Structure):
-    pass
-
-STRUCT_STAT = struct_stat # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/config.h: 314
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-class struct_DateTime(Structure):
-    pass
-
-struct_DateTime.__slots__ = [
-    'mode',
-    '_from',
-    'to',
-    'fracsec',
-    'year',
-    'month',
-    'day',
-    'hour',
-    'minute',
-    'second',
-    'positive',
-    'tz',
-]
-struct_DateTime._fields_ = [
-    ('mode', c_int),
-    ('_from', c_int),
-    ('to', c_int),
-    ('fracsec', c_int),
-    ('year', c_int),
-    ('month', c_int),
-    ('day', c_int),
-    ('hour', c_int),
-    ('minute', c_int),
-    ('second', c_double),
-    ('positive', c_int),
-    ('tz', c_int),
-]
-
-DateTime = struct_DateTime # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-
-enum_anon_6 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_UNDEFINED = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_WHERE = (G_OPT_UNDEFINED + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_TABLE = (G_OPT_DB_WHERE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_DRIVER = (G_OPT_DB_TABLE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_DATABASE = (G_OPT_DB_DRIVER + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_SCHEMA = (G_OPT_DB_DATABASE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_COLUMN = (G_OPT_DB_SCHEMA + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_COLUMNS = (G_OPT_DB_COLUMN + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_DB_KEYCOLUMN = (G_OPT_DB_COLUMNS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_I_GROUP = (G_OPT_DB_KEYCOLUMN + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_I_SUBGROUP = (G_OPT_I_GROUP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_INPUT = (G_OPT_I_SUBGROUP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_INPUTS = (G_OPT_R_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_OUTPUT = (G_OPT_R_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_MAP = (G_OPT_R_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_MAPS = (G_OPT_R_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_BASE = (G_OPT_R_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_COVER = (G_OPT_R_BASE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_ELEV = (G_OPT_R_COVER + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R_ELEVS = (G_OPT_R_ELEV + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_INPUT = (G_OPT_R_ELEVS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_INPUTS = (G_OPT_R3_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_OUTPUT = (G_OPT_R3_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_MAP = (G_OPT_R3_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_MAPS = (G_OPT_R3_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_TYPE = (G_OPT_R3_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_PRECISION = (G_OPT_R3_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_TILE_DIMENSION = (G_OPT_R3_PRECISION + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_R3_COMPRESSION = (G_OPT_R3_TILE_DIMENSION + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_INPUT = (G_OPT_R3_COMPRESSION + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_INPUTS = (G_OPT_V_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_OUTPUT = (G_OPT_V_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_MAP = (G_OPT_V_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_MAPS = (G_OPT_V_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_TYPE = (G_OPT_V_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V3_TYPE = (G_OPT_V_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_FIELD = (G_OPT_V3_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_FIELD_ALL = (G_OPT_V_FIELD + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_CAT = (G_OPT_V_FIELD_ALL + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_CATS = (G_OPT_V_CAT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_ID = (G_OPT_V_CATS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_V_IDS = (G_OPT_V_ID + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_F_INPUT = (G_OPT_V_IDS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_F_OUTPUT = (G_OPT_F_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_F_SEP = (G_OPT_F_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_C_FG = (G_OPT_F_SEP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_C_BG = (G_OPT_C_FG + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_UNITS = (G_OPT_C_BG + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_DATATYPE = (G_OPT_M_UNITS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_MAPSET = (G_OPT_M_DATATYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_EN = (G_OPT_M_MAPSET + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_COLR = (G_OPT_M_EN + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-G_OPT_M_DIR = (G_OPT_M_COLR + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-STD_OPT = enum_anon_6 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 226
-
-enum_anon_7 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_RASTER = 1 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_RASTER3D = 2 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_VECTOR = 3 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_OLDVECTOR = 4 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_ASCIIVECTOR = 5 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_ICON = 6 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_LABEL = 7 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_SITE = 8 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_REGION = 9 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_REGION3D = 10 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_GROUP = 11 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-G_ELEMENT_3DVIEW = 12 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 255
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 300
-class struct_G_3dview(Structure):
-    pass
-
-struct_G_3dview.__slots__ = [
-    'pgm_id',
-    'from_to',
-    'fov',
-    'twist',
-    'exag',
-    'mesh_freq',
-    'poly_freq',
-    'display_type',
-    'lightson',
-    'dozero',
-    'colorgrid',
-    'shading',
-    'fringe',
-    'surfonly',
-    'doavg',
-    'grid_col',
-    'bg_col',
-    'other_col',
-    'lightpos',
-    'lightcol',
-    'ambient',
-    'shine',
-    'vwin',
-]
-struct_G_3dview._fields_ = [
-    ('pgm_id', c_char * 40),
-    ('from_to', (c_float * 3) * 2),
-    ('fov', c_float),
-    ('twist', c_float),
-    ('exag', c_float),
-    ('mesh_freq', c_int),
-    ('poly_freq', c_int),
-    ('display_type', c_int),
-    ('lightson', c_int),
-    ('dozero', c_int),
-    ('colorgrid', c_int),
-    ('shading', c_int),
-    ('fringe', c_int),
-    ('surfonly', c_int),
-    ('doavg', c_int),
-    ('grid_col', c_char * 40),
-    ('bg_col', c_char * 40),
-    ('other_col', c_char * 40),
-    ('lightpos', c_float * 4),
-    ('lightcol', c_float * 3),
-    ('ambient', c_float),
-    ('shine', c_float),
-    ('vwin', struct_Cell_head),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 327
-class struct_Key_Value(Structure):
-    pass
-
-struct_Key_Value.__slots__ = [
-    'nitems',
-    'nalloc',
-    'key',
-    'value',
-]
-struct_Key_Value._fields_ = [
-    ('nitems', c_int),
-    ('nalloc', c_int),
-    ('key', POINTER(POINTER(c_char))),
-    ('value', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 335
-class struct_Option(Structure):
-    pass
-
-struct_Option.__slots__ = [
-    'key',
-    'type',
-    'required',
-    'multiple',
-    'options',
-    'opts',
-    'key_desc',
-    'label',
-    'description',
-    'descriptions',
-    'descs',
-    'answer',
-    '_def',
-    'answers',
-    'next_opt',
-    'gisprompt',
-    'guisection',
-    'guidependency',
-    'checker',
-    'count',
-]
-struct_Option._fields_ = [
-    ('key', String),
-    ('type', c_int),
-    ('required', c_int),
-    ('multiple', c_int),
-    ('options', String),
-    ('opts', POINTER(POINTER(c_char))),
-    ('key_desc', String),
-    ('label', String),
-    ('description', String),
-    ('descriptions', String),
-    ('descs', POINTER(POINTER(c_char))),
-    ('answer', String),
-    ('_def', String),
-    ('answers', POINTER(POINTER(c_char))),
-    ('next_opt', POINTER(struct_Option)),
-    ('gisprompt', String),
-    ('guisection', String),
-    ('guidependency', String),
-    ('checker', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('count', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 366
-class struct_Flag(Structure):
-    pass
-
-struct_Flag.__slots__ = [
-    'key',
-    'answer',
-    'suppress_required',
-    'label',
-    'description',
-    'guisection',
-    'next_flag',
-]
-struct_Flag._fields_ = [
-    ('key', c_char),
-    ('answer', c_char),
-    ('suppress_required', c_char),
-    ('label', String),
-    ('description', String),
-    ('guisection', String),
-    ('next_flag', POINTER(struct_Flag)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 377
-class struct_GModule(Structure):
-    pass
-
-struct_GModule.__slots__ = [
-    'label',
-    'description',
-    'keywords',
-    'overwrite',
-    'verbose',
-]
-struct_GModule._fields_ = [
-    ('label', String),
-    ('description', String),
-    ('keywords', POINTER(POINTER(c_char))),
-    ('overwrite', c_int),
-    ('verbose', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 387
-class struct_TimeStamp(Structure):
-    pass
-
-struct_TimeStamp.__slots__ = [
-    'dt',
-    'count',
-]
-struct_TimeStamp._fields_ = [
-    ('dt', DateTime * 2),
-    ('count', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 393
-class struct_Counter(Structure):
-    pass
-
-struct_Counter.__slots__ = [
-    'value',
-]
-struct_Counter._fields_ = [
-    ('value', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 397
-class struct_Popen(Structure):
-    pass
-
-struct_Popen.__slots__ = [
-    'fp',
-    'pid',
-]
-struct_Popen._fields_ = [
-    ('fp', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 402
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-FCELL = c_float # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 404
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-off_t = __off64_t # /usr/include/sys/types.h: 90
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 54
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_Cell_head'):
-    G_adjust_Cell_head = _libs['grass_gis.7.0.svn'].G_adjust_Cell_head
-    G_adjust_Cell_head.restype = None
-    G_adjust_Cell_head.argtypes = [POINTER(struct_Cell_head), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 55
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_Cell_head3'):
-    G_adjust_Cell_head3 = _libs['grass_gis.7.0.svn'].G_adjust_Cell_head3
-    G_adjust_Cell_head3.restype = None
-    G_adjust_Cell_head3.argtypes = [POINTER(struct_Cell_head), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 61
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__malloc'):
-    G__malloc = _libs['grass_gis.7.0.svn'].G__malloc
-    G__malloc.restype = POINTER(None)
-    G__malloc.argtypes = [String, c_int, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 62
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__calloc'):
-    G__calloc = _libs['grass_gis.7.0.svn'].G__calloc
-    G__calloc.restype = POINTER(None)
-    G__calloc.argtypes = [String, c_int, c_size_t, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 63
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__realloc'):
-    G__realloc = _libs['grass_gis.7.0.svn'].G__realloc
-    G__realloc.restype = POINTER(None)
-    G__realloc.argtypes = [String, c_int, POINTER(None), c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 64
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free'):
-    G_free = _libs['grass_gis.7.0.svn'].G_free
-    G_free.restype = None
-    G_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 80
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_cell_area_calculations'):
-    G_begin_cell_area_calculations = _libs['grass_gis.7.0.svn'].G_begin_cell_area_calculations
-    G_begin_cell_area_calculations.restype = c_int
-    G_begin_cell_area_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 81
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_of_cell_at_row'):
-    G_area_of_cell_at_row = _libs['grass_gis.7.0.svn'].G_area_of_cell_at_row
-    G_area_of_cell_at_row.restype = c_double
-    G_area_of_cell_at_row.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 82
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_polygon_area_calculations'):
-    G_begin_polygon_area_calculations = _libs['grass_gis.7.0.svn'].G_begin_polygon_area_calculations
-    G_begin_polygon_area_calculations.restype = c_int
-    G_begin_polygon_area_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 83
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_of_polygon'):
-    G_area_of_polygon = _libs['grass_gis.7.0.svn'].G_area_of_polygon
-    G_area_of_polygon.restype = c_double
-    G_area_of_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 86
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_zone_area_on_ellipsoid'):
-    G_begin_zone_area_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_begin_zone_area_on_ellipsoid
-    G_begin_zone_area_on_ellipsoid.restype = None
-    G_begin_zone_area_on_ellipsoid.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 87
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_darea0_on_ellipsoid'):
-    G_darea0_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_darea0_on_ellipsoid
-    G_darea0_on_ellipsoid.restype = c_double
-    G_darea0_on_ellipsoid.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 88
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_for_zone_on_ellipsoid'):
-    G_area_for_zone_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_area_for_zone_on_ellipsoid
-    G_area_for_zone_on_ellipsoid.restype = c_double
-    G_area_for_zone_on_ellipsoid.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 91
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_ellipsoid_polygon_area'):
-    G_begin_ellipsoid_polygon_area = _libs['grass_gis.7.0.svn'].G_begin_ellipsoid_polygon_area
-    G_begin_ellipsoid_polygon_area.restype = None
-    G_begin_ellipsoid_polygon_area.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 92
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_polygon_area'):
-    G_ellipsoid_polygon_area = _libs['grass_gis.7.0.svn'].G_ellipsoid_polygon_area
-    G_ellipsoid_polygon_area.restype = c_double
-    G_ellipsoid_polygon_area.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 95
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_planimetric_polygon_area'):
-    G_planimetric_polygon_area = _libs['grass_gis.7.0.svn'].G_planimetric_polygon_area
-    G_planimetric_polygon_area.restype = c_double
-    G_planimetric_polygon_area.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 98
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_zone_area_on_sphere'):
-    G_begin_zone_area_on_sphere = _libs['grass_gis.7.0.svn'].G_begin_zone_area_on_sphere
-    G_begin_zone_area_on_sphere.restype = None
-    G_begin_zone_area_on_sphere.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 99
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_darea0_on_sphere'):
-    G_darea0_on_sphere = _libs['grass_gis.7.0.svn'].G_darea0_on_sphere
-    G_darea0_on_sphere.restype = c_double
-    G_darea0_on_sphere.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 100
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_for_zone_on_sphere'):
-    G_area_for_zone_on_sphere = _libs['grass_gis.7.0.svn'].G_area_for_zone_on_sphere
-    G_area_for_zone_on_sphere.restype = c_double
-    G_area_for_zone_on_sphere.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 103
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ascii_check'):
-    G_ascii_check = _libs['grass_gis.7.0.svn'].G_ascii_check
-    G_ascii_check.restype = None
-    G_ascii_check.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 115
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_vasprintf'):
-    G_vasprintf = _libs['grass_gis.7.0.svn'].G_vasprintf
-    G_vasprintf.restype = c_int
-    G_vasprintf.argtypes = [POINTER(POINTER(c_char)), String, c_void_p]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 116
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_asprintf'):
-    _func = _libs['grass_gis.7.0.svn'].G_asprintf
-    _restype = c_int
-    _argtypes = [POINTER(POINTER(c_char)), String]
-    G_asprintf = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 120
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_basename'):
-    G_basename = _libs['grass_gis.7.0.svn'].G_basename
-    G_basename.restype = ReturnString
-    G_basename.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 123
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_bresenham_line'):
-    G_bresenham_line = _libs['grass_gis.7.0.svn'].G_bresenham_line
-    G_bresenham_line.restype = None
-    G_bresenham_line.argtypes = [c_int, c_int, c_int, c_int, CFUNCTYPE(UNCHECKED(c_int), c_int, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 126
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_clicker'):
-    G_clicker = _libs['grass_gis.7.0.svn'].G_clicker
-    G_clicker.restype = None
-    G_clicker.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 129
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_rules_options'):
-    G_color_rules_options = _libs['grass_gis.7.0.svn'].G_color_rules_options
-    G_color_rules_options.restype = ReturnString
-    G_color_rules_options.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 130
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_rules_descriptions'):
-    G_color_rules_descriptions = _libs['grass_gis.7.0.svn'].G_color_rules_descriptions
-    G_color_rules_descriptions.restype = ReturnString
-    G_color_rules_descriptions.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 131
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list_color_rules'):
-    G_list_color_rules = _libs['grass_gis.7.0.svn'].G_list_color_rules
-    G_list_color_rules.restype = None
-    G_list_color_rules.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 132
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_color_rule'):
-    G_find_color_rule = _libs['grass_gis.7.0.svn'].G_find_color_rule
-    G_find_color_rule.restype = c_int
-    G_find_color_rule.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 135
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_num_standard_colors'):
-    G_num_standard_colors = _libs['grass_gis.7.0.svn'].G_num_standard_colors
-    G_num_standard_colors.restype = c_int
-    G_num_standard_colors.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 138
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_insert_commas'):
-    G_insert_commas = _libs['grass_gis.7.0.svn'].G_insert_commas
-    G_insert_commas.restype = c_int
-    G_insert_commas.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 139
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_commas'):
-    G_remove_commas = _libs['grass_gis.7.0.svn'].G_remove_commas
-    G_remove_commas.restype = None
-    G_remove_commas.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 142
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_recursive_copy'):
-    G_recursive_copy = _libs['grass_gis.7.0.svn'].G_recursive_copy
-    G_recursive_copy.restype = c_int
-    G_recursive_copy.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 145
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_copy_file'):
-    G_copy_file = _libs['grass_gis.7.0.svn'].G_copy_file
-    G_copy_file.restype = c_int
-    G_copy_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 148
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_initialized'):
-    G_is_initialized = _libs['grass_gis.7.0.svn'].G_is_initialized
-    G_is_initialized.restype = c_int
-    G_is_initialized.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 149
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_initialize_done'):
-    G_initialize_done = _libs['grass_gis.7.0.svn'].G_initialize_done
-    G_initialize_done.restype = None
-    G_initialize_done.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 150
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_counter'):
-    G_init_counter = _libs['grass_gis.7.0.svn'].G_init_counter
-    G_init_counter.restype = None
-    G_init_counter.argtypes = [POINTER(struct_Counter), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 151
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_counter_next'):
-    G_counter_next = _libs['grass_gis.7.0.svn'].G_counter_next
-    G_counter_next.restype = c_int
-    G_counter_next.argtypes = [POINTER(struct_Counter)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 154
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_date'):
-    G_date = _libs['grass_gis.7.0.svn'].G_date
-    G_date.restype = ReturnString
-    G_date.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 157
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_datum_by_name'):
-    G_get_datum_by_name = _libs['grass_gis.7.0.svn'].G_get_datum_by_name
-    G_get_datum_by_name.restype = c_int
-    G_get_datum_by_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 158
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_name'):
-    G_datum_name = _libs['grass_gis.7.0.svn'].G_datum_name
-    G_datum_name.restype = ReturnString
-    G_datum_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 159
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_description'):
-    G_datum_description = _libs['grass_gis.7.0.svn'].G_datum_description
-    G_datum_description.restype = ReturnString
-    G_datum_description.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 160
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_ellipsoid'):
-    G_datum_ellipsoid = _libs['grass_gis.7.0.svn'].G_datum_ellipsoid
-    G_datum_ellipsoid.restype = ReturnString
-    G_datum_ellipsoid.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 161
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_datumparams_from_projinfo'):
-    G_get_datumparams_from_projinfo = _libs['grass_gis.7.0.svn'].G_get_datumparams_from_projinfo
-    G_get_datumparams_from_projinfo.restype = c_int
-    G_get_datumparams_from_projinfo.argtypes = [POINTER(struct_Key_Value), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 162
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_datum_table'):
-    G_read_datum_table = _libs['grass_gis.7.0.svn'].G_read_datum_table
-    G_read_datum_table.restype = None
-    G_read_datum_table.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 166
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_debug'):
-    G_init_debug = _libs['grass_gis.7.0.svn'].G_init_debug
-    G_init_debug.restype = None
-    G_init_debug.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 167
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_debug'):
-    _func = _libs['grass_gis.7.0.svn'].G_debug
-    _restype = c_int
-    _argtypes = [c_int, String]
-    G_debug = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 170
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_distance_calculations'):
-    G_begin_distance_calculations = _libs['grass_gis.7.0.svn'].G_begin_distance_calculations
-    G_begin_distance_calculations.restype = c_int
-    G_begin_distance_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 171
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance'):
-    G_distance = _libs['grass_gis.7.0.svn'].G_distance
-    G_distance.restype = c_double
-    G_distance.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 172
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance_between_line_segments'):
-    G_distance_between_line_segments = _libs['grass_gis.7.0.svn'].G_distance_between_line_segments
-    G_distance_between_line_segments.restype = c_double
-    G_distance_between_line_segments.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 174
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance_point_to_line_segment'):
-    G_distance_point_to_line_segment = _libs['grass_gis.7.0.svn'].G_distance_point_to_line_segment
-    G_distance_point_to_line_segment.restype = c_double
-    G_distance_point_to_line_segment.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 178
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_done_msg'):
-    _func = _libs['grass_gis.7.0.svn'].G_done_msg
-    _restype = None
-    _argtypes = [String]
-    G_done_msg = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 181
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_little_endian'):
-    G_is_little_endian = _libs['grass_gis.7.0.svn'].G_is_little_endian
-    G_is_little_endian.restype = c_int
-    G_is_little_endian.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 184
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_env'):
-    G_init_env = _libs['grass_gis.7.0.svn'].G_init_env
-    G_init_env.restype = None
-    G_init_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 185
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getenv'):
-    G_getenv = _libs['grass_gis.7.0.svn'].G_getenv
-    G_getenv.restype = ReturnString
-    G_getenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 186
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getenv2'):
-    G_getenv2 = _libs['grass_gis.7.0.svn'].G_getenv2
-    G_getenv2.restype = ReturnString
-    G_getenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 187
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__getenv'):
-    G__getenv = _libs['grass_gis.7.0.svn'].G__getenv
-    G__getenv.restype = ReturnString
-    G__getenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 188
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__getenv2'):
-    G__getenv2 = _libs['grass_gis.7.0.svn'].G__getenv2
-    G__getenv2.restype = ReturnString
-    G__getenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 189
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setenv'):
-    G_setenv = _libs['grass_gis.7.0.svn'].G_setenv
-    G_setenv.restype = None
-    G_setenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 190
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setenv2'):
-    G_setenv2 = _libs['grass_gis.7.0.svn'].G_setenv2
-    G_setenv2.restype = None
-    G_setenv2.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 191
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__setenv'):
-    G__setenv = _libs['grass_gis.7.0.svn'].G__setenv
-    G__setenv.restype = None
-    G__setenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 192
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__setenv2'):
-    G__setenv2 = _libs['grass_gis.7.0.svn'].G__setenv2
-    G__setenv2.restype = None
-    G__setenv2.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 193
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unsetenv'):
-    G_unsetenv = _libs['grass_gis.7.0.svn'].G_unsetenv
-    G_unsetenv.restype = None
-    G_unsetenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 194
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unsetenv2'):
-    G_unsetenv2 = _libs['grass_gis.7.0.svn'].G_unsetenv2
-    G_unsetenv2.restype = None
-    G_unsetenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 195
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_env'):
-    G__write_env = _libs['grass_gis.7.0.svn'].G__write_env
-    G__write_env.restype = None
-    G__write_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 196
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__env_name'):
-    G__env_name = _libs['grass_gis.7.0.svn'].G__env_name
-    G__env_name.restype = ReturnString
-    G__env_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 197
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_env'):
-    G__read_env = _libs['grass_gis.7.0.svn'].G__read_env
-    G__read_env.restype = None
-    G__read_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 198
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_gisrc_mode'):
-    G_set_gisrc_mode = _libs['grass_gis.7.0.svn'].G_set_gisrc_mode
-    G_set_gisrc_mode.restype = None
-    G_set_gisrc_mode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 199
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_gisrc_mode'):
-    G_get_gisrc_mode = _libs['grass_gis.7.0.svn'].G_get_gisrc_mode
-    G_get_gisrc_mode.restype = c_int
-    G_get_gisrc_mode.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 200
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__create_alt_env'):
-    G__create_alt_env = _libs['grass_gis.7.0.svn'].G__create_alt_env
-    G__create_alt_env.restype = None
-    G__create_alt_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 201
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__switch_env'):
-    G__switch_env = _libs['grass_gis.7.0.svn'].G__switch_env
-    G__switch_env.restype = None
-    G__switch_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 204
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_info_format'):
-    G_info_format = _libs['grass_gis.7.0.svn'].G_info_format
-    G_info_format.restype = c_int
-    G_info_format.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 205
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_message
-    _restype = None
-    _argtypes = [String]
-    G_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 206
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_verbose_message
-    _restype = None
-    _argtypes = [String]
-    G_verbose_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 208
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_important_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_important_message
-    _restype = None
-    _argtypes = [String]
-    G_important_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 210
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fatal_error'):
-    _func = _libs['grass_gis.7.0.svn'].G_fatal_error
-    _restype = None
-    _argtypes = [String]
-    G_fatal_error = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 212
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_warning'):
-    _func = _libs['grass_gis.7.0.svn'].G_warning
-    _restype = None
-    _argtypes = [String]
-    G_warning = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 213
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_suppress_warnings'):
-    G_suppress_warnings = _libs['grass_gis.7.0.svn'].G_suppress_warnings
-    G_suppress_warnings.restype = c_int
-    G_suppress_warnings.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 214
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_sleep_on_error'):
-    G_sleep_on_error = _libs['grass_gis.7.0.svn'].G_sleep_on_error
-    G_sleep_on_error.restype = c_int
-    G_sleep_on_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 215
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_error_routine'):
-    G_set_error_routine = _libs['grass_gis.7.0.svn'].G_set_error_routine
-    G_set_error_routine.restype = None
-    G_set_error_routine.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 216
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_error_routine'):
-    G_unset_error_routine = _libs['grass_gis.7.0.svn'].G_unset_error_routine
-    G_unset_error_routine.restype = None
-    G_unset_error_routine.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 217
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_logging'):
-    G_init_logging = _libs['grass_gis.7.0.svn'].G_init_logging
-    G_init_logging.restype = None
-    G_init_logging.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 220
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_file_name'):
-    G_file_name = _libs['grass_gis.7.0.svn'].G_file_name
-    G_file_name.restype = ReturnString
-    G_file_name.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 221
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_file_name_misc'):
-    G_file_name_misc = _libs['grass_gis.7.0.svn'].G_file_name_misc
-    G_file_name_misc.restype = ReturnString
-    G_file_name_misc.argtypes = [String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 225
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file'):
-    G_find_file = _libs['grass_gis.7.0.svn'].G_find_file
-    G_find_file.restype = ReturnString
-    G_find_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 226
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file2'):
-    G_find_file2 = _libs['grass_gis.7.0.svn'].G_find_file2
-    G_find_file2.restype = ReturnString
-    G_find_file2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 227
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file_misc'):
-    G_find_file_misc = _libs['grass_gis.7.0.svn'].G_find_file_misc
-    G_find_file_misc.restype = ReturnString
-    G_find_file_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 228
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file2_misc'):
-    G_find_file2_misc = _libs['grass_gis.7.0.svn'].G_find_file2_misc
-    G_find_file2_misc.restype = ReturnString
-    G_find_file2_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 232
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_etc'):
-    G_find_etc = _libs['grass_gis.7.0.svn'].G_find_etc
-    G_find_etc.restype = ReturnString
-    G_find_etc.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 235
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster'):
-    G_find_raster = _libs['grass_gis.7.0.svn'].G_find_raster
-    G_find_raster.restype = ReturnString
-    G_find_raster.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 236
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster2'):
-    G_find_raster2 = _libs['grass_gis.7.0.svn'].G_find_raster2
-    G_find_raster2.restype = ReturnString
-    G_find_raster2.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 239
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster3d'):
-    G_find_raster3d = _libs['grass_gis.7.0.svn'].G_find_raster3d
-    G_find_raster3d.restype = ReturnString
-    G_find_raster3d.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 242
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_vector'):
-    G_find_vector = _libs['grass_gis.7.0.svn'].G_find_vector
-    G_find_vector.restype = ReturnString
-    G_find_vector.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 243
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_vector2'):
-    G_find_vector2 = _libs['grass_gis.7.0.svn'].G_find_vector2
-    G_find_vector2.restype = ReturnString
-    G_find_vector2.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 246
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_compress'):
-    G_zlib_compress = _libs['grass_gis.7.0.svn'].G_zlib_compress
-    G_zlib_compress.restype = c_int
-    G_zlib_compress.argtypes = [POINTER(c_ubyte), c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 247
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_expand'):
-    G_zlib_expand = _libs['grass_gis.7.0.svn'].G_zlib_expand
-    G_zlib_expand.restype = c_int
-    G_zlib_expand.argtypes = [POINTER(c_ubyte), c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 248
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_write'):
-    G_zlib_write = _libs['grass_gis.7.0.svn'].G_zlib_write
-    G_zlib_write.restype = c_int
-    G_zlib_write.argtypes = [c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 249
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_read'):
-    G_zlib_read = _libs['grass_gis.7.0.svn'].G_zlib_read
-    G_zlib_read.restype = c_int
-    G_zlib_read.argtypes = [c_int, c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 250
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_write_noCompress'):
-    G_zlib_write_noCompress = _libs['grass_gis.7.0.svn'].G_zlib_write_noCompress
-    G_zlib_write_noCompress.restype = c_int
-    G_zlib_write_noCompress.argtypes = [c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 253
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_geodesic_equation'):
-    G_begin_geodesic_equation = _libs['grass_gis.7.0.svn'].G_begin_geodesic_equation
-    G_begin_geodesic_equation.restype = c_int
-    G_begin_geodesic_equation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 254
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_lat_from_lon'):
-    G_geodesic_lat_from_lon = _libs['grass_gis.7.0.svn'].G_geodesic_lat_from_lon
-    G_geodesic_lat_from_lon.restype = c_double
-    G_geodesic_lat_from_lon.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 257
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_geodesic_distance'):
-    G_begin_geodesic_distance = _libs['grass_gis.7.0.svn'].G_begin_geodesic_distance
-    G_begin_geodesic_distance.restype = None
-    G_begin_geodesic_distance.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 258
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_geodesic_distance_lat1'):
-    G_set_geodesic_distance_lat1 = _libs['grass_gis.7.0.svn'].G_set_geodesic_distance_lat1
-    G_set_geodesic_distance_lat1.restype = None
-    G_set_geodesic_distance_lat1.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 259
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_geodesic_distance_lat2'):
-    G_set_geodesic_distance_lat2 = _libs['grass_gis.7.0.svn'].G_set_geodesic_distance_lat2
-    G_set_geodesic_distance_lat2.restype = None
-    G_set_geodesic_distance_lat2.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 260
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_distance_lon_to_lon'):
-    G_geodesic_distance_lon_to_lon = _libs['grass_gis.7.0.svn'].G_geodesic_distance_lon_to_lon
-    G_geodesic_distance_lon_to_lon.restype = c_double
-    G_geodesic_distance_lon_to_lon.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 261
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_distance'):
-    G_geodesic_distance = _libs['grass_gis.7.0.svn'].G_geodesic_distance
-    G_geodesic_distance.restype = c_double
-    G_geodesic_distance.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 264
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_ellipsoid_parameters'):
-    G_get_ellipsoid_parameters = _libs['grass_gis.7.0.svn'].G_get_ellipsoid_parameters
-    G_get_ellipsoid_parameters.restype = c_int
-    G_get_ellipsoid_parameters.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 265
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_spheroid_by_name'):
-    G_get_spheroid_by_name = _libs['grass_gis.7.0.svn'].G_get_spheroid_by_name
-    G_get_spheroid_by_name.restype = c_int
-    G_get_spheroid_by_name.argtypes = [String, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 266
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_ellipsoid_by_name'):
-    G_get_ellipsoid_by_name = _libs['grass_gis.7.0.svn'].G_get_ellipsoid_by_name
-    G_get_ellipsoid_by_name.restype = c_int
-    G_get_ellipsoid_by_name.argtypes = [String, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 267
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_name'):
-    G_ellipsoid_name = _libs['grass_gis.7.0.svn'].G_ellipsoid_name
-    G_ellipsoid_name.restype = ReturnString
-    G_ellipsoid_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 268
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_description'):
-    G_ellipsoid_description = _libs['grass_gis.7.0.svn'].G_ellipsoid_description
-    G_ellipsoid_description.restype = ReturnString
-    G_ellipsoid_description.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 269
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_ellipsoid_table'):
-    G_read_ellipsoid_table = _libs['grass_gis.7.0.svn'].G_read_ellipsoid_table
-    G_read_ellipsoid_table.restype = c_int
-    G_read_ellipsoid_table.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 272
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_projunits'):
-    G_get_projunits = _libs['grass_gis.7.0.svn'].G_get_projunits
-    G_get_projunits.restype = POINTER(struct_Key_Value)
-    G_get_projunits.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 273
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_projinfo'):
-    G_get_projinfo = _libs['grass_gis.7.0.svn'].G_get_projinfo
-    G_get_projinfo.restype = POINTER(struct_Key_Value)
-    G_get_projinfo.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 276
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_window'):
-    G_get_window = _libs['grass_gis.7.0.svn'].G_get_window
-    G_get_window.restype = None
-    G_get_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 277
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_default_window'):
-    G_get_default_window = _libs['grass_gis.7.0.svn'].G_get_default_window
-    G_get_default_window.restype = None
-    G_get_default_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 278
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__get_window'):
-    G__get_window = _libs['grass_gis.7.0.svn'].G__get_window
-    G__get_window.restype = None
-    G__get_window.argtypes = [POINTER(struct_Cell_head), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 282
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getl'):
-    G_getl = _libs['grass_gis.7.0.svn'].G_getl
-    G_getl.restype = c_int
-    G_getl.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 283
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getl2'):
-    G_getl2 = _libs['grass_gis.7.0.svn'].G_getl2
-    G_getl2.restype = c_int
-    G_getl2.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 286
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_gisbase'):
-    G_gisbase = _libs['grass_gis.7.0.svn'].G_gisbase
-    G_gisbase.restype = ReturnString
-    G_gisbase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 289
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_gisdbase'):
-    G_gisdbase = _libs['grass_gis.7.0.svn'].G_gisdbase
-    G_gisdbase.restype = ReturnString
-    G_gisdbase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 292
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__gisinit'):
-    G__gisinit = _libs['grass_gis.7.0.svn'].G__gisinit
-    G__gisinit.restype = None
-    G__gisinit.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 293
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__no_gisinit'):
-    G__no_gisinit = _libs['grass_gis.7.0.svn'].G__no_gisinit
-    G__no_gisinit.restype = None
-    G__no_gisinit.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 294
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__check_gisinit'):
-    G__check_gisinit = _libs['grass_gis.7.0.svn'].G__check_gisinit
-    G__check_gisinit.restype = None
-    G__check_gisinit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 295
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_all'):
-    G_init_all = _libs['grass_gis.7.0.svn'].G_init_all
-    G_init_all.restype = None
-    G_init_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 298
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_error_handler'):
-    G_add_error_handler = _libs['grass_gis.7.0.svn'].G_add_error_handler
-    G_add_error_handler.restype = None
-    G_add_error_handler.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 299
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_error_handler'):
-    G_remove_error_handler = _libs['grass_gis.7.0.svn'].G_remove_error_handler
-    G_remove_error_handler.restype = None
-    G_remove_error_handler.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 300
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__call_error_handlers'):
-    G__call_error_handlers = _libs['grass_gis.7.0.svn'].G__call_error_handlers
-    G__call_error_handlers.restype = None
-    G__call_error_handlers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 303
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_home'):
-    G_home = _libs['grass_gis.7.0.svn'].G_home
-    G_home.restype = ReturnString
-    G_home.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 304
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__home'):
-    G__home = _libs['grass_gis.7.0.svn'].G__home
-    G__home.restype = ReturnString
-    G__home.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 307
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_intersect_line_segments'):
-    G_intersect_line_segments = _libs['grass_gis.7.0.svn'].G_intersect_line_segments
-    G_intersect_line_segments.restype = c_int
-    G_intersect_line_segments.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 312
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_gisbase'):
-    G_is_gisbase = _libs['grass_gis.7.0.svn'].G_is_gisbase
-    G_is_gisbase.restype = c_int
-    G_is_gisbase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 313
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_location'):
-    G_is_location = _libs['grass_gis.7.0.svn'].G_is_location
-    G_is_location.restype = c_int
-    G_is_location.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 314
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_mapset'):
-    G_is_mapset = _libs['grass_gis.7.0.svn'].G_is_mapset
-    G_is_mapset.restype = c_int
-    G_is_mapset.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 317
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_create_key_value'):
-    G_create_key_value = _libs['grass_gis.7.0.svn'].G_create_key_value
-    G_create_key_value.restype = POINTER(struct_Key_Value)
-    G_create_key_value.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 318
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_key_value'):
-    G_set_key_value = _libs['grass_gis.7.0.svn'].G_set_key_value
-    G_set_key_value.restype = None
-    G_set_key_value.argtypes = [String, String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 319
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_key_value'):
-    G_find_key_value = _libs['grass_gis.7.0.svn'].G_find_key_value
-    G_find_key_value.restype = ReturnString
-    G_find_key_value.argtypes = [String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 320
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_key_value'):
-    G_free_key_value = _libs['grass_gis.7.0.svn'].G_free_key_value
-    G_free_key_value.restype = None
-    G_free_key_value.argtypes = [POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 323
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fwrite_key_value'):
-    G_fwrite_key_value = _libs['grass_gis.7.0.svn'].G_fwrite_key_value
-    G_fwrite_key_value.restype = c_int
-    G_fwrite_key_value.argtypes = [POINTER(FILE), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 324
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fread_key_value'):
-    G_fread_key_value = _libs['grass_gis.7.0.svn'].G_fread_key_value
-    G_fread_key_value.restype = POINTER(struct_Key_Value)
-    G_fread_key_value.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 327
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_key_value_file'):
-    G_write_key_value_file = _libs['grass_gis.7.0.svn'].G_write_key_value_file
-    G_write_key_value_file.restype = None
-    G_write_key_value_file.argtypes = [String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 328
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_key_value_file'):
-    G_read_key_value_file = _libs['grass_gis.7.0.svn'].G_read_key_value_file
-    G_read_key_value_file.restype = POINTER(struct_Key_Value)
-    G_read_key_value_file.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 331
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_update_key_value_file'):
-    G_update_key_value_file = _libs['grass_gis.7.0.svn'].G_update_key_value_file
-    G_update_key_value_file.restype = None
-    G_update_key_value_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 332
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lookup_key_value_from_file'):
-    G_lookup_key_value_from_file = _libs['grass_gis.7.0.svn'].G_lookup_key_value_from_file
-    G_lookup_key_value_from_file.restype = c_int
-    G_lookup_key_value_from_file.argtypes = [String, String, POINTER(c_char), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 335
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_legal_filename'):
-    G_legal_filename = _libs['grass_gis.7.0.svn'].G_legal_filename
-    G_legal_filename.restype = c_int
-    G_legal_filename.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 336
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_check_input_output_name'):
-    G_check_input_output_name = _libs['grass_gis.7.0.svn'].G_check_input_output_name
-    G_check_input_output_name.restype = c_int
-    G_check_input_output_name.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 339
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_distance_to_line_tolerance'):
-    G_set_distance_to_line_tolerance = _libs['grass_gis.7.0.svn'].G_set_distance_to_line_tolerance
-    G_set_distance_to_line_tolerance.restype = None
-    G_set_distance_to_line_tolerance.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 340
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance2_point_to_line'):
-    G_distance2_point_to_line = _libs['grass_gis.7.0.svn'].G_distance2_point_to_line
-    G_distance2_point_to_line.restype = c_double
-    G_distance2_point_to_line.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 344
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list_element'):
-    G_list_element = _libs['grass_gis.7.0.svn'].G_list_element
-    G_list_element.restype = None
-    G_list_element.argtypes = [String, String, String, CFUNCTYPE(UNCHECKED(c_int), String, String, String)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 346
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list'):
-    G_list = _libs['grass_gis.7.0.svn'].G_list
-    G_list.restype = POINTER(POINTER(c_char))
-    G_list.argtypes = [c_int, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 347
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_list'):
-    G_free_list = _libs['grass_gis.7.0.svn'].G_free_list
-    G_free_list.restype = None
-    G_free_list.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 350
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_format'):
-    G_lat_format = _libs['grass_gis.7.0.svn'].G_lat_format
-    G_lat_format.restype = None
-    G_lat_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 351
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_format_string'):
-    G_lat_format_string = _libs['grass_gis.7.0.svn'].G_lat_format_string
-    G_lat_format_string.restype = ReturnString
-    G_lat_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 352
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_format'):
-    G_lon_format = _libs['grass_gis.7.0.svn'].G_lon_format
-    G_lon_format.restype = None
-    G_lon_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 353
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_format_string'):
-    G_lon_format_string = _libs['grass_gis.7.0.svn'].G_lon_format_string
-    G_lon_format_string.restype = ReturnString
-    G_lon_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 354
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_format'):
-    G_llres_format = _libs['grass_gis.7.0.svn'].G_llres_format
-    G_llres_format.restype = None
-    G_llres_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 355
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_format_string'):
-    G_llres_format_string = _libs['grass_gis.7.0.svn'].G_llres_format_string
-    G_llres_format_string.restype = ReturnString
-    G_llres_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 356
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_parts'):
-    G_lat_parts = _libs['grass_gis.7.0.svn'].G_lat_parts
-    G_lat_parts.restype = None
-    G_lat_parts.argtypes = [c_double, POINTER(c_int), POINTER(c_int), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 357
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_parts'):
-    G_lon_parts = _libs['grass_gis.7.0.svn'].G_lon_parts
-    G_lon_parts.restype = None
-    G_lon_parts.argtypes = [c_double, POINTER(c_int), POINTER(c_int), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 360
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_scan'):
-    G_lat_scan = _libs['grass_gis.7.0.svn'].G_lat_scan
-    G_lat_scan.restype = c_int
-    G_lat_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 361
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_scan'):
-    G_lon_scan = _libs['grass_gis.7.0.svn'].G_lon_scan
-    G_lon_scan.restype = c_int
-    G_lon_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 362
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_scan'):
-    G_llres_scan = _libs['grass_gis.7.0.svn'].G_llres_scan
-    G_llres_scan.restype = c_int
-    G_llres_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 365
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_location'):
-    G_location = _libs['grass_gis.7.0.svn'].G_location
-    G_location.restype = ReturnString
-    G_location.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 366
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_location_path'):
-    G_location_path = _libs['grass_gis.7.0.svn'].G_location_path
-    G_location_path.restype = ReturnString
-    G_location_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 367
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__location_path'):
-    G__location_path = _libs['grass_gis.7.0.svn'].G__location_path
-    G__location_path.restype = ReturnString
-    G__location_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 370
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_ls_filter'):
-    G_set_ls_filter = _libs['grass_gis.7.0.svn'].G_set_ls_filter
-    G_set_ls_filter.restype = None
-    G_set_ls_filter.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 371
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_ls_exclude_filter'):
-    G_set_ls_exclude_filter = _libs['grass_gis.7.0.svn'].G_set_ls_exclude_filter
-    G_set_ls_exclude_filter.restype = None
-    G_set_ls_exclude_filter.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 372
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__ls'):
-    G__ls = _libs['grass_gis.7.0.svn'].G__ls
-    G__ls.restype = POINTER(POINTER(c_char))
-    G__ls.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 373
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls'):
-    G_ls = _libs['grass_gis.7.0.svn'].G_ls
-    G_ls.restype = None
-    G_ls.argtypes = [String, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 374
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_format'):
-    G_ls_format = _libs['grass_gis.7.0.svn'].G_ls_format
-    G_ls_format.restype = None
-    G_ls_format.argtypes = [POINTER(POINTER(c_char)), c_int, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 378
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_regex_filter'):
-    G_ls_regex_filter = _libs['grass_gis.7.0.svn'].G_ls_regex_filter
-    G_ls_regex_filter.restype = POINTER(None)
-    G_ls_regex_filter.argtypes = [String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 379
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_glob_filter'):
-    G_ls_glob_filter = _libs['grass_gis.7.0.svn'].G_ls_glob_filter
-    G_ls_glob_filter.restype = POINTER(None)
-    G_ls_glob_filter.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 380
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_ls_filter'):
-    G_free_ls_filter = _libs['grass_gis.7.0.svn'].G_free_ls_filter
-    G_free_ls_filter.restype = None
-    G_free_ls_filter.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 384
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__machine_name'):
-    G__machine_name = _libs['grass_gis.7.0.svn'].G__machine_name
-    G__machine_name.restype = ReturnString
-    G__machine_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 387
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_location'):
-    G__make_location = _libs['grass_gis.7.0.svn'].G__make_location
-    G__make_location.restype = c_int
-    G__make_location.argtypes = [String, POINTER(struct_Cell_head), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 389
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_make_location'):
-    G_make_location = _libs['grass_gis.7.0.svn'].G_make_location
-    G_make_location.restype = c_int
-    G_make_location.argtypes = [String, POINTER(struct_Cell_head), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 391
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_compare_projections'):
-    G_compare_projections = _libs['grass_gis.7.0.svn'].G_compare_projections
-    G_compare_projections.restype = c_int
-    G_compare_projections.argtypes = [POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 395
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset'):
-    G__make_mapset = _libs['grass_gis.7.0.svn'].G__make_mapset
-    G__make_mapset.restype = c_int
-    G__make_mapset.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 397
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_make_mapset'):
-    G_make_mapset = _libs['grass_gis.7.0.svn'].G_make_mapset
-    G_make_mapset.restype = c_int
-    G_make_mapset.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 401
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tolcase'):
-    G_tolcase = _libs['grass_gis.7.0.svn'].G_tolcase
-    G_tolcase.restype = ReturnString
-    G_tolcase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 402
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_toucase'):
-    G_toucase = _libs['grass_gis.7.0.svn'].G_toucase
-    G_toucase.restype = ReturnString
-    G_toucase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 405
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_mapset'):
-    G_mapset = _libs['grass_gis.7.0.svn'].G_mapset
-    G_mapset.restype = ReturnString
-    G_mapset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 406
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset'):
-    G__mapset = _libs['grass_gis.7.0.svn'].G__mapset
-    G__mapset.restype = ReturnString
-    G__mapset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 409
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset_element'):
-    G__make_mapset_element = _libs['grass_gis.7.0.svn'].G__make_mapset_element
-    G__make_mapset_element.restype = c_int
-    G__make_mapset_element.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 410
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset_element_misc'):
-    G__make_mapset_element_misc = _libs['grass_gis.7.0.svn'].G__make_mapset_element_misc
-    G__make_mapset_element_misc.restype = c_int
-    G__make_mapset_element_misc.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 411
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_permissions'):
-    G__mapset_permissions = _libs['grass_gis.7.0.svn'].G__mapset_permissions
-    G__mapset_permissions.restype = c_int
-    G__mapset_permissions.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 412
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_permissions2'):
-    G__mapset_permissions2 = _libs['grass_gis.7.0.svn'].G__mapset_permissions2
-    G__mapset_permissions2.restype = c_int
-    G__mapset_permissions2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 415
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_name'):
-    G__mapset_name = _libs['grass_gis.7.0.svn'].G__mapset_name
-    G__mapset_name.restype = ReturnString
-    G__mapset_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 416
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_list_of_mapsets'):
-    G_get_list_of_mapsets = _libs['grass_gis.7.0.svn'].G_get_list_of_mapsets
-    G_get_list_of_mapsets.restype = None
-    G_get_list_of_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 417
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__create_alt_search_path'):
-    G__create_alt_search_path = _libs['grass_gis.7.0.svn'].G__create_alt_search_path
-    G__create_alt_search_path.restype = None
-    G__create_alt_search_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 418
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__switch_search_path'):
-    G__switch_search_path = _libs['grass_gis.7.0.svn'].G__switch_search_path
-    G__switch_search_path.restype = None
-    G__switch_search_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 419
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_reset_mapsets'):
-    G_reset_mapsets = _libs['grass_gis.7.0.svn'].G_reset_mapsets
-    G_reset_mapsets.restype = None
-    G_reset_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 420
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_available_mapsets'):
-    G_available_mapsets = _libs['grass_gis.7.0.svn'].G_available_mapsets
-    G_available_mapsets.restype = POINTER(POINTER(c_char))
-    G_available_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 421
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_mapset_to_search_path'):
-    G_add_mapset_to_search_path = _libs['grass_gis.7.0.svn'].G_add_mapset_to_search_path
-    G_add_mapset_to_search_path.restype = None
-    G_add_mapset_to_search_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 422
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_mapset_in_search_path'):
-    G_is_mapset_in_search_path = _libs['grass_gis.7.0.svn'].G_is_mapset_in_search_path
-    G_is_mapset_in_search_path.restype = c_int
-    G_is_mapset_in_search_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 425
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_myname'):
-    G_myname = _libs['grass_gis.7.0.svn'].G_myname
-    G_myname.restype = ReturnString
-    G_myname.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 428
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_values'):
-    G_color_values = _libs['grass_gis.7.0.svn'].G_color_values
-    G_color_values.restype = c_int
-    G_color_values.argtypes = [String, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 429
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_name'):
-    G_color_name = _libs['grass_gis.7.0.svn'].G_color_name
-    G_color_name.restype = ReturnString
-    G_color_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 432
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_newlines_to_spaces'):
-    G_newlines_to_spaces = _libs['grass_gis.7.0.svn'].G_newlines_to_spaces
-    G_newlines_to_spaces.restype = None
-    G_newlines_to_spaces.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 435
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_name_is_fully_qualified'):
-    G_name_is_fully_qualified = _libs['grass_gis.7.0.svn'].G_name_is_fully_qualified
-    G_name_is_fully_qualified.restype = c_int
-    G_name_is_fully_qualified.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 436
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fully_qualified_name'):
-    G_fully_qualified_name = _libs['grass_gis.7.0.svn'].G_fully_qualified_name
-    G_fully_qualified_name.restype = ReturnString
-    G_fully_qualified_name.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 437
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unqualified_name'):
-    G_unqualified_name = _libs['grass_gis.7.0.svn'].G_unqualified_name
-    G_unqualified_name.restype = c_int
-    G_unqualified_name.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 440
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_new'):
-    G_open_new = _libs['grass_gis.7.0.svn'].G_open_new
-    G_open_new.restype = c_int
-    G_open_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 441
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_old'):
-    G_open_old = _libs['grass_gis.7.0.svn'].G_open_old
-    G_open_old.restype = c_int
-    G_open_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 442
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_update'):
-    G_open_update = _libs['grass_gis.7.0.svn'].G_open_update
-    G_open_update.restype = c_int
-    G_open_update.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 443
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_new'):
-    G_fopen_new = _libs['grass_gis.7.0.svn'].G_fopen_new
-    G_fopen_new.restype = POINTER(FILE)
-    G_fopen_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 444
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_old'):
-    G_fopen_old = _libs['grass_gis.7.0.svn'].G_fopen_old
-    G_fopen_old.restype = POINTER(FILE)
-    G_fopen_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 445
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_append'):
-    G_fopen_append = _libs['grass_gis.7.0.svn'].G_fopen_append
-    G_fopen_append.restype = POINTER(FILE)
-    G_fopen_append.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 446
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_modify'):
-    G_fopen_modify = _libs['grass_gis.7.0.svn'].G_fopen_modify
-    G_fopen_modify.restype = POINTER(FILE)
-    G_fopen_modify.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 449
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_new_misc'):
-    G_open_new_misc = _libs['grass_gis.7.0.svn'].G_open_new_misc
-    G_open_new_misc.restype = c_int
-    G_open_new_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 450
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_old_misc'):
-    G_open_old_misc = _libs['grass_gis.7.0.svn'].G_open_old_misc
-    G_open_old_misc.restype = c_int
-    G_open_old_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 451
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_update_misc'):
-    G_open_update_misc = _libs['grass_gis.7.0.svn'].G_open_update_misc
-    G_open_update_misc.restype = c_int
-    G_open_update_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 452
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_new_misc'):
-    G_fopen_new_misc = _libs['grass_gis.7.0.svn'].G_fopen_new_misc
-    G_fopen_new_misc.restype = POINTER(FILE)
-    G_fopen_new_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 453
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_old_misc'):
-    G_fopen_old_misc = _libs['grass_gis.7.0.svn'].G_fopen_old_misc
-    G_fopen_old_misc.restype = POINTER(FILE)
-    G_fopen_old_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 455
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_append_misc'):
-    G_fopen_append_misc = _libs['grass_gis.7.0.svn'].G_fopen_append_misc
-    G_fopen_append_misc.restype = POINTER(FILE)
-    G_fopen_append_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 456
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_modify_misc'):
-    G_fopen_modify_misc = _libs['grass_gis.7.0.svn'].G_fopen_modify_misc
-    G_fopen_modify_misc.restype = POINTER(FILE)
-    G_fopen_modify_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 459
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_check_overwrite'):
-    G_check_overwrite = _libs['grass_gis.7.0.svn'].G_check_overwrite
-    G_check_overwrite.restype = c_int
-    G_check_overwrite.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 462
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_pager'):
-    G_open_pager = _libs['grass_gis.7.0.svn'].G_open_pager
-    G_open_pager.restype = POINTER(FILE)
-    G_open_pager.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 463
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_close_pager'):
-    G_close_pager = _libs['grass_gis.7.0.svn'].G_close_pager
-    G_close_pager.restype = None
-    G_close_pager.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 464
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_mail'):
-    G_open_mail = _libs['grass_gis.7.0.svn'].G_open_mail
-    G_open_mail.restype = POINTER(FILE)
-    G_open_mail.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 465
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_close_mail'):
-    G_close_mail = _libs['grass_gis.7.0.svn'].G_close_mail
-    G_close_mail.restype = None
-    G_close_mail.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 468
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_disable_interactive'):
-    G_disable_interactive = _libs['grass_gis.7.0.svn'].G_disable_interactive
-    G_disable_interactive.restype = None
-    G_disable_interactive.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 469
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_module'):
-    G_define_module = _libs['grass_gis.7.0.svn'].G_define_module
-    G_define_module.restype = POINTER(struct_GModule)
-    G_define_module.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 470
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_flag'):
-    G_define_flag = _libs['grass_gis.7.0.svn'].G_define_flag
-    G_define_flag.restype = POINTER(struct_Flag)
-    G_define_flag.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 471
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_option'):
-    G_define_option = _libs['grass_gis.7.0.svn'].G_define_option
-    G_define_option.restype = POINTER(struct_Option)
-    G_define_option.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 472
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_standard_option'):
-    G_define_standard_option = _libs['grass_gis.7.0.svn'].G_define_standard_option
-    G_define_standard_option.restype = POINTER(struct_Option)
-    G_define_standard_option.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 473
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_parser'):
-    G_parser = _libs['grass_gis.7.0.svn'].G_parser
-    G_parser.restype = c_int
-    G_parser.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 474
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_usage'):
-    G_usage = _libs['grass_gis.7.0.svn'].G_usage
-    G_usage.restype = None
-    G_usage.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 475
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_recreate_command'):
-    G_recreate_command = _libs['grass_gis.7.0.svn'].G_recreate_command
-    G_recreate_command.restype = ReturnString
-    G_recreate_command.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 476
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_keyword'):
-    G_add_keyword = _libs['grass_gis.7.0.svn'].G_add_keyword
-    G_add_keyword.restype = None
-    G_add_keyword.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 477
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_keywords'):
-    G_set_keywords = _libs['grass_gis.7.0.svn'].G_set_keywords
-    G_set_keywords.restype = None
-    G_set_keywords.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 478
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_overwrite'):
-    G_get_overwrite = _libs['grass_gis.7.0.svn'].G_get_overwrite
-    G_get_overwrite.restype = c_int
-    G_get_overwrite.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 481
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_mkdir'):
-    G_mkdir = _libs['grass_gis.7.0.svn'].G_mkdir
-    G_mkdir.restype = c_int
-    G_mkdir.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 482
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_dirsep'):
-    G_is_dirsep = _libs['grass_gis.7.0.svn'].G_is_dirsep
-    G_is_dirsep.restype = c_int
-    G_is_dirsep.argtypes = [c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 483
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_absolute_path'):
-    G_is_absolute_path = _libs['grass_gis.7.0.svn'].G_is_absolute_path
-    G_is_absolute_path.restype = c_int
-    G_is_absolute_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 484
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_convert_dirseps_to_host'):
-    G_convert_dirseps_to_host = _libs['grass_gis.7.0.svn'].G_convert_dirseps_to_host
-    G_convert_dirseps_to_host.restype = ReturnString
-    G_convert_dirseps_to_host.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 485
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_convert_dirseps_from_host'):
-    G_convert_dirseps_from_host = _libs['grass_gis.7.0.svn'].G_convert_dirseps_from_host
-    G_convert_dirseps_from_host.restype = ReturnString
-    G_convert_dirseps_from_host.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 486
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lstat'):
-    G_lstat = _libs['grass_gis.7.0.svn'].G_lstat
-    G_lstat.restype = c_int
-    G_lstat.argtypes = [String, POINTER(STRUCT_STAT)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 487
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_stat'):
-    G_stat = _libs['grass_gis.7.0.svn'].G_stat
-    G_stat.restype = c_int
-    G_stat.argtypes = [String, POINTER(STRUCT_STAT)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 490
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_percent'):
-    G_percent = _libs['grass_gis.7.0.svn'].G_percent
-    G_percent.restype = None
-    G_percent.argtypes = [c_long, c_long, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 491
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_percent_reset'):
-    G_percent_reset = _libs['grass_gis.7.0.svn'].G_percent_reset
-    G_percent_reset.restype = None
-    G_percent_reset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 492
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_percent_routine'):
-    G_set_percent_routine = _libs['grass_gis.7.0.svn'].G_set_percent_routine
-    G_set_percent_routine.restype = None
-    G_set_percent_routine.argtypes = [CFUNCTYPE(UNCHECKED(c_int), c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 493
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_percent_routine'):
-    G_unset_percent_routine = _libs['grass_gis.7.0.svn'].G_unset_percent_routine
-    G_unset_percent_routine.restype = None
-    G_unset_percent_routine.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 496
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_clear'):
-    G_popen_clear = _libs['grass_gis.7.0.svn'].G_popen_clear
-    G_popen_clear.restype = None
-    G_popen_clear.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 497
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_write'):
-    G_popen_write = _libs['grass_gis.7.0.svn'].G_popen_write
-    G_popen_write.restype = POINTER(FILE)
-    G_popen_write.argtypes = [POINTER(struct_Popen), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 498
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_read'):
-    G_popen_read = _libs['grass_gis.7.0.svn'].G_popen_read
-    G_popen_read.restype = POINTER(FILE)
-    G_popen_read.argtypes = [POINTER(struct_Popen), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 499
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_close'):
-    G_popen_close = _libs['grass_gis.7.0.svn'].G_popen_close
-    G_popen_close.restype = None
-    G_popen_close.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 502
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setup_plot'):
-    G_setup_plot = _libs['grass_gis.7.0.svn'].G_setup_plot
-    G_setup_plot.restype = None
-    G_setup_plot.argtypes = [c_double, c_double, c_double, c_double, CFUNCTYPE(UNCHECKED(c_int), c_int, c_int), CFUNCTYPE(UNCHECKED(c_int), c_int, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 504
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setup_fill'):
-    G_setup_fill = _libs['grass_gis.7.0.svn'].G_setup_fill
-    G_setup_fill.restype = None
-    G_setup_fill.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 505
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_where_xy'):
-    G_plot_where_xy = _libs['grass_gis.7.0.svn'].G_plot_where_xy
-    G_plot_where_xy.restype = None
-    G_plot_where_xy.argtypes = [c_double, c_double, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 506
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_where_en'):
-    G_plot_where_en = _libs['grass_gis.7.0.svn'].G_plot_where_en
-    G_plot_where_en.restype = None
-    G_plot_where_en.argtypes = [c_int, c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 507
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_point'):
-    G_plot_point = _libs['grass_gis.7.0.svn'].G_plot_point
-    G_plot_point.restype = None
-    G_plot_point.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 508
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_line'):
-    G_plot_line = _libs['grass_gis.7.0.svn'].G_plot_line
-    G_plot_line.restype = None
-    G_plot_line.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 509
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_line2'):
-    G_plot_line2 = _libs['grass_gis.7.0.svn'].G_plot_line2
-    G_plot_line2.restype = None
-    G_plot_line2.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 510
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_polygon'):
-    G_plot_polygon = _libs['grass_gis.7.0.svn'].G_plot_polygon
-    G_plot_polygon.restype = c_int
-    G_plot_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 511
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_area'):
-    G_plot_area = _libs['grass_gis.7.0.svn'].G_plot_area
-    G_plot_area.restype = c_int
-    G_plot_area.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 512
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_fx'):
-    G_plot_fx = _libs['grass_gis.7.0.svn'].G_plot_fx
-    G_plot_fx.restype = None
-    G_plot_fx.argtypes = [CFUNCTYPE(UNCHECKED(c_double), c_double), c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 515
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_pole_in_polygon'):
-    G_pole_in_polygon = _libs['grass_gis.7.0.svn'].G_pole_in_polygon
-    G_pole_in_polygon.restype = c_int
-    G_pole_in_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 518
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_program_name'):
-    G_program_name = _libs['grass_gis.7.0.svn'].G_program_name
-    G_program_name.restype = ReturnString
-    G_program_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 519
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_program_name'):
-    G_set_program_name = _libs['grass_gis.7.0.svn'].G_set_program_name
-    G_set_program_name.restype = None
-    G_set_program_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 522
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_projection'):
-    G_projection = _libs['grass_gis.7.0.svn'].G_projection
-    G_projection.restype = c_int
-    G_projection.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 525
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__projection_units'):
-    G__projection_units = _libs['grass_gis.7.0.svn'].G__projection_units
-    G__projection_units.restype = c_int
-    G__projection_units.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 526
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__projection_name'):
-    G__projection_name = _libs['grass_gis.7.0.svn'].G__projection_name
-    G__projection_name.restype = ReturnString
-    G__projection_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 529
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_unit_name'):
-    G_database_unit_name = _libs['grass_gis.7.0.svn'].G_database_unit_name
-    G_database_unit_name.restype = ReturnString
-    G_database_unit_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 530
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_projection_name'):
-    G_database_projection_name = _libs['grass_gis.7.0.svn'].G_database_projection_name
-    G_database_projection_name.restype = ReturnString
-    G_database_projection_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 531
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_datum_name'):
-    G_database_datum_name = _libs['grass_gis.7.0.svn'].G_database_datum_name
-    G_database_datum_name.restype = ReturnString
-    G_database_datum_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 532
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_ellipse_name'):
-    G_database_ellipse_name = _libs['grass_gis.7.0.svn'].G_database_ellipse_name
-    G_database_ellipse_name.restype = ReturnString
-    G_database_ellipse_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 533
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_units_to_meters_factor'):
-    G_database_units_to_meters_factor = _libs['grass_gis.7.0.svn'].G_database_units_to_meters_factor
-    G_database_units_to_meters_factor.restype = c_double
-    G_database_units_to_meters_factor.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 536
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_put_window'):
-    G_put_window = _libs['grass_gis.7.0.svn'].G_put_window
-    G_put_window.restype = c_int
-    G_put_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 537
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__put_window'):
-    G__put_window = _libs['grass_gis.7.0.svn'].G__put_window
-    G__put_window.restype = c_int
-    G__put_window.argtypes = [POINTER(struct_Cell_head), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 540
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_putenv'):
-    G_putenv = _libs['grass_gis.7.0.svn'].G_putenv
-    G_putenv.restype = None
-    G_putenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 543
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_meridional_radius_of_curvature'):
-    G_meridional_radius_of_curvature = _libs['grass_gis.7.0.svn'].G_meridional_radius_of_curvature
-    G_meridional_radius_of_curvature.restype = c_double
-    G_meridional_radius_of_curvature.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 544
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_transverse_radius_of_curvature'):
-    G_transverse_radius_of_curvature = _libs['grass_gis.7.0.svn'].G_transverse_radius_of_curvature
-    G_transverse_radius_of_curvature.restype = c_double
-    G_transverse_radius_of_curvature.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 545
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_radius_of_conformal_tangent_sphere'):
-    G_radius_of_conformal_tangent_sphere = _libs['grass_gis.7.0.svn'].G_radius_of_conformal_tangent_sphere
-    G_radius_of_conformal_tangent_sphere.restype = c_double
-    G_radius_of_conformal_tangent_sphere.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 548
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_Cell_head'):
-    G__read_Cell_head = _libs['grass_gis.7.0.svn'].G__read_Cell_head
-    G__read_Cell_head.restype = None
-    G__read_Cell_head.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 549
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_Cell_head_array'):
-    G__read_Cell_head_array = _libs['grass_gis.7.0.svn'].G__read_Cell_head_array
-    G__read_Cell_head_array.restype = None
-    G__read_Cell_head_array.argtypes = [POINTER(POINTER(c_char)), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 552
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove'):
-    G_remove = _libs['grass_gis.7.0.svn'].G_remove
-    G_remove.restype = c_int
-    G_remove.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 553
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_misc'):
-    G_remove_misc = _libs['grass_gis.7.0.svn'].G_remove_misc
-    G_remove_misc.restype = c_int
-    G_remove_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 556
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rename_file'):
-    G_rename_file = _libs['grass_gis.7.0.svn'].G_rename_file
-    G_rename_file.restype = c_int
-    G_rename_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 557
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rename'):
-    G_rename = _libs['grass_gis.7.0.svn'].G_rename
-    G_rename.restype = c_int
-    G_rename.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 560
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_rhumbline_equation'):
-    G_begin_rhumbline_equation = _libs['grass_gis.7.0.svn'].G_begin_rhumbline_equation
-    G_begin_rhumbline_equation.restype = c_int
-    G_begin_rhumbline_equation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 561
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rhumbline_lat_from_lon'):
-    G_rhumbline_lat_from_lon = _libs['grass_gis.7.0.svn'].G_rhumbline_lat_from_lon
-    G_rhumbline_lat_from_lon.restype = c_double
-    G_rhumbline_lat_from_lon.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 564
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rotate_around_point'):
-    G_rotate_around_point = _libs['grass_gis.7.0.svn'].G_rotate_around_point
-    G_rotate_around_point.restype = None
-    G_rotate_around_point.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 565
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rotate_around_point_int'):
-    G_rotate_around_point_int = _libs['grass_gis.7.0.svn'].G_rotate_around_point_int
-    G_rotate_around_point_int.restype = None
-    G_rotate_around_point_int.argtypes = [c_int, c_int, POINTER(c_int), POINTER(c_int), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 568
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ftell'):
-    G_ftell = _libs['grass_gis.7.0.svn'].G_ftell
-    G_ftell.restype = off_t
-    G_ftell.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 569
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fseek'):
-    G_fseek = _libs['grass_gis.7.0.svn'].G_fseek
-    G_fseek.restype = None
-    G_fseek.argtypes = [POINTER(FILE), off_t, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 572
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_set_window'):
-    G_get_set_window = _libs['grass_gis.7.0.svn'].G_get_set_window
-    G_get_set_window.restype = None
-    G_get_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 573
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_window'):
-    G_set_window = _libs['grass_gis.7.0.svn'].G_set_window
-    G_set_window.restype = None
-    G_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 574
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_window'):
-    G_unset_window = _libs['grass_gis.7.0.svn'].G_unset_window
-    G_unset_window.restype = None
-    G_unset_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 577
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_shortest_way'):
-    G_shortest_way = _libs['grass_gis.7.0.svn'].G_shortest_way
-    G_shortest_way.restype = None
-    G_shortest_way.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 580
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_sleep'):
-    G_sleep = _libs['grass_gis.7.0.svn'].G_sleep
-    G_sleep.restype = None
-    G_sleep.argtypes = [c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 583
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_snprintf'):
-    _func = _libs['grass_gis.7.0.svn'].G_snprintf
-    _restype = c_int
-    _argtypes = [String, c_size_t, String]
-    G_snprintf = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 587
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strcasecmp'):
-    G_strcasecmp = _libs['grass_gis.7.0.svn'].G_strcasecmp
-    G_strcasecmp.restype = c_int
-    G_strcasecmp.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 588
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strncasecmp'):
-    G_strncasecmp = _libs['grass_gis.7.0.svn'].G_strncasecmp
-    G_strncasecmp.restype = c_int
-    G_strncasecmp.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 589
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_store'):
-    G_store = _libs['grass_gis.7.0.svn'].G_store
-    G_store.restype = ReturnString
-    G_store.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 590
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strchg'):
-    G_strchg = _libs['grass_gis.7.0.svn'].G_strchg
-    G_strchg.restype = ReturnString
-    G_strchg.argtypes = [String, c_char, c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 591
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_replace'):
-    G_str_replace = _libs['grass_gis.7.0.svn'].G_str_replace
-    G_str_replace.restype = ReturnString
-    G_str_replace.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 592
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strip'):
-    G_strip = _libs['grass_gis.7.0.svn'].G_strip
-    G_strip.restype = None
-    G_strip.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 593
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_chop'):
-    G_chop = _libs['grass_gis.7.0.svn'].G_chop
-    G_chop.restype = ReturnString
-    G_chop.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 594
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_upper'):
-    G_str_to_upper = _libs['grass_gis.7.0.svn'].G_str_to_upper
-    G_str_to_upper.restype = None
-    G_str_to_upper.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 595
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_lower'):
-    G_str_to_lower = _libs['grass_gis.7.0.svn'].G_str_to_lower
-    G_str_to_lower.restype = None
-    G_str_to_lower.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 596
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_sql'):
-    G_str_to_sql = _libs['grass_gis.7.0.svn'].G_str_to_sql
-    G_str_to_sql.restype = c_int
-    G_str_to_sql.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 597
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_squeeze'):
-    G_squeeze = _libs['grass_gis.7.0.svn'].G_squeeze
-    G_squeeze.restype = None
-    G_squeeze.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 598
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strcasestr'):
-    G_strcasestr = _libs['grass_gis.7.0.svn'].G_strcasestr
-    G_strcasestr.restype = ReturnString
-    G_strcasestr.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 601
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_tempfile'):
-    G_init_tempfile = _libs['grass_gis.7.0.svn'].G_init_tempfile
-    G_init_tempfile.restype = None
-    G_init_tempfile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 602
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tempfile'):
-    G_tempfile = _libs['grass_gis.7.0.svn'].G_tempfile
-    G_tempfile.restype = ReturnString
-    G_tempfile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 603
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__tempfile'):
-    G__tempfile = _libs['grass_gis.7.0.svn'].G__tempfile
-    G__tempfile.restype = ReturnString
-    G__tempfile.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 604
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__temp_element'):
-    G__temp_element = _libs['grass_gis.7.0.svn'].G__temp_element
-    G__temp_element.restype = None
-    G__temp_element.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 607
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_timestamp'):
-    G_init_timestamp = _libs['grass_gis.7.0.svn'].G_init_timestamp
-    G_init_timestamp.restype = None
-    G_init_timestamp.argtypes = [POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 608
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_timestamp'):
-    G_set_timestamp = _libs['grass_gis.7.0.svn'].G_set_timestamp
-    G_set_timestamp.restype = None
-    G_set_timestamp.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 609
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_timestamp_range'):
-    G_set_timestamp_range = _libs['grass_gis.7.0.svn'].G_set_timestamp_range
-    G_set_timestamp_range.restype = None
-    G_set_timestamp_range.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime), POINTER(struct_DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 611
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_timestamp'):
-    G__read_timestamp = _libs['grass_gis.7.0.svn'].G__read_timestamp
-    G__read_timestamp.restype = c_int
-    G__read_timestamp.argtypes = [POINTER(FILE), POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 612
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_timestamp'):
-    G__write_timestamp = _libs['grass_gis.7.0.svn'].G__write_timestamp
-    G__write_timestamp.restype = c_int
-    G__write_timestamp.argtypes = [POINTER(FILE), POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 613
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_timestamps'):
-    G_get_timestamps = _libs['grass_gis.7.0.svn'].G_get_timestamps
-    G_get_timestamps.restype = None
-    G_get_timestamps.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime), POINTER(struct_DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 614
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_raster_timestamp'):
-    G_read_raster_timestamp = _libs['grass_gis.7.0.svn'].G_read_raster_timestamp
-    G_read_raster_timestamp.restype = c_int
-    G_read_raster_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 615
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_vector_timestamp'):
-    G_read_vector_timestamp = _libs['grass_gis.7.0.svn'].G_read_vector_timestamp
-    G_read_vector_timestamp.restype = c_int
-    G_read_vector_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 616
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_raster_timestamp'):
-    G_write_raster_timestamp = _libs['grass_gis.7.0.svn'].G_write_raster_timestamp
-    G_write_raster_timestamp.restype = c_int
-    G_write_raster_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 617
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_vector_timestamp'):
-    G_write_vector_timestamp = _libs['grass_gis.7.0.svn'].G_write_vector_timestamp
-    G_write_vector_timestamp.restype = c_int
-    G_write_vector_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 618
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_timestamp'):
-    G_format_timestamp = _libs['grass_gis.7.0.svn'].G_format_timestamp
-    G_format_timestamp.restype = c_int
-    G_format_timestamp.argtypes = [POINTER(struct_TimeStamp), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 619
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_timestamp'):
-    G_scan_timestamp = _libs['grass_gis.7.0.svn'].G_scan_timestamp
-    G_scan_timestamp.restype = c_int
-    G_scan_timestamp.argtypes = [POINTER(struct_TimeStamp), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 620
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_raster_timestamp'):
-    G_remove_raster_timestamp = _libs['grass_gis.7.0.svn'].G_remove_raster_timestamp
-    G_remove_raster_timestamp.restype = c_int
-    G_remove_raster_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 621
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_vector_timestamp'):
-    G_remove_vector_timestamp = _libs['grass_gis.7.0.svn'].G_remove_vector_timestamp
-    G_remove_vector_timestamp.restype = c_int
-    G_remove_vector_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 622
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_grid3_timestamp'):
-    G_read_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_read_grid3_timestamp
-    G_read_grid3_timestamp.restype = c_int
-    G_read_grid3_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 623
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_grid3_timestamp'):
-    G_remove_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_remove_grid3_timestamp
-    G_remove_grid3_timestamp.restype = c_int
-    G_remove_grid3_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 624
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_grid3_timestamp'):
-    G_write_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_write_grid3_timestamp
-    G_write_grid3_timestamp.restype = c_int
-    G_write_grid3_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 627
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tokenize'):
-    G_tokenize = _libs['grass_gis.7.0.svn'].G_tokenize
-    G_tokenize.restype = POINTER(POINTER(c_char))
-    G_tokenize.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 628
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tokenize2'):
-    G_tokenize2 = _libs['grass_gis.7.0.svn'].G_tokenize2
-    G_tokenize2.restype = POINTER(POINTER(c_char))
-    G_tokenize2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 629
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_number_of_tokens'):
-    G_number_of_tokens = _libs['grass_gis.7.0.svn'].G_number_of_tokens
-    G_number_of_tokens.restype = c_int
-    G_number_of_tokens.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 630
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_tokens'):
-    G_free_tokens = _libs['grass_gis.7.0.svn'].G_free_tokens
-    G_free_tokens.restype = None
-    G_free_tokens.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 633
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_trim_decimal'):
-    G_trim_decimal = _libs['grass_gis.7.0.svn'].G_trim_decimal
-    G_trim_decimal.restype = None
-    G_trim_decimal.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 636
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units_to_meters_factor'):
-    G_units_to_meters_factor = _libs['grass_gis.7.0.svn'].G_units_to_meters_factor
-    G_units_to_meters_factor.restype = c_double
-    G_units_to_meters_factor.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 637
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units_to_meters_factor_sq'):
-    G_units_to_meters_factor_sq = _libs['grass_gis.7.0.svn'].G_units_to_meters_factor_sq
-    G_units_to_meters_factor_sq.restype = c_double
-    G_units_to_meters_factor_sq.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 638
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_units_name'):
-    G_get_units_name = _libs['grass_gis.7.0.svn'].G_get_units_name
-    G_get_units_name.restype = ReturnString
-    G_get_units_name.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 639
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units'):
-    G_units = _libs['grass_gis.7.0.svn'].G_units
-    G_units.restype = c_int
-    G_units.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 643
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rc_path'):
-    G_rc_path = _libs['grass_gis.7.0.svn'].G_rc_path
-    G_rc_path.restype = ReturnString
-    G_rc_path.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 647
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose'):
-    G_verbose = _libs['grass_gis.7.0.svn'].G_verbose
-    G_verbose.restype = c_int
-    G_verbose.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 648
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_min'):
-    G_verbose_min = _libs['grass_gis.7.0.svn'].G_verbose_min
-    G_verbose_min.restype = c_int
-    G_verbose_min.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 649
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_std'):
-    G_verbose_std = _libs['grass_gis.7.0.svn'].G_verbose_std
-    G_verbose_std.restype = c_int
-    G_verbose_std.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 650
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_max'):
-    G_verbose_max = _libs['grass_gis.7.0.svn'].G_verbose_max
-    G_verbose_max.restype = c_int
-    G_verbose_max.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 651
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_verbose'):
-    G_set_verbose = _libs['grass_gis.7.0.svn'].G_set_verbose
-    G_set_verbose.restype = c_int
-    G_set_verbose.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 654
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_3dview_warning'):
-    G_3dview_warning = _libs['grass_gis.7.0.svn'].G_3dview_warning
-    G_3dview_warning.restype = None
-    G_3dview_warning.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 655
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_3dview_defaults'):
-    G_get_3dview_defaults = _libs['grass_gis.7.0.svn'].G_get_3dview_defaults
-    G_get_3dview_defaults.restype = c_int
-    G_get_3dview_defaults.argtypes = [POINTER(struct_G_3dview), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 656
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_put_3dview'):
-    G_put_3dview = _libs['grass_gis.7.0.svn'].G_put_3dview
-    G_put_3dview.restype = c_int
-    G_put_3dview.argtypes = [String, String, POINTER(struct_G_3dview), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 658
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_3dview'):
-    G_get_3dview = _libs['grass_gis.7.0.svn'].G_get_3dview
-    G_get_3dview.restype = c_int
-    G_get_3dview.argtypes = [String, String, POINTER(struct_G_3dview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 661
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_whoami'):
-    G_whoami = _libs['grass_gis.7.0.svn'].G_whoami
-    G_whoami.restype = ReturnString
-    G_whoami.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 664
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_window_to_box'):
-    G_adjust_window_to_box = _libs['grass_gis.7.0.svn'].G_adjust_window_to_box
-    G_adjust_window_to_box.restype = None
-    G_adjust_window_to_box.argtypes = [POINTER(struct_Cell_head), POINTER(struct_Cell_head), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 668
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_northing'):
-    G_format_northing = _libs['grass_gis.7.0.svn'].G_format_northing
-    G_format_northing.restype = None
-    G_format_northing.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 669
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_easting'):
-    G_format_easting = _libs['grass_gis.7.0.svn'].G_format_easting
-    G_format_easting.restype = None
-    G_format_easting.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 670
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_resolution'):
-    G_format_resolution = _libs['grass_gis.7.0.svn'].G_format_resolution
-    G_format_resolution.restype = None
-    G_format_resolution.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 673
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_point_in_region'):
-    G_point_in_region = _libs['grass_gis.7.0.svn'].G_point_in_region
-    G_point_in_region.restype = c_int
-    G_point_in_region.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 674
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_point_in_window'):
-    G_point_in_window = _libs['grass_gis.7.0.svn'].G_point_in_window
-    G_point_in_window.restype = c_int
-    G_point_in_window.argtypes = [c_double, c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 677
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_east'):
-    G_limit_east = _libs['grass_gis.7.0.svn'].G_limit_east
-    G_limit_east.restype = c_int
-    G_limit_east.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 678
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_west'):
-    G_limit_west = _libs['grass_gis.7.0.svn'].G_limit_west
-    G_limit_west.restype = c_int
-    G_limit_west.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 679
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_north'):
-    G_limit_north = _libs['grass_gis.7.0.svn'].G_limit_north
-    G_limit_north.restype = c_int
-    G_limit_north.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 680
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_south'):
-    G_limit_south = _libs['grass_gis.7.0.svn'].G_limit_south
-    G_limit_south.restype = c_int
-    G_limit_south.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 683
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_window_overlap'):
-    G_window_overlap = _libs['grass_gis.7.0.svn'].G_window_overlap
-    G_window_overlap.restype = c_int
-    G_window_overlap.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 685
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_window_percentage_overlap'):
-    G_window_percentage_overlap = _libs['grass_gis.7.0.svn'].G_window_percentage_overlap
-    G_window_percentage_overlap.restype = c_double
-    G_window_percentage_overlap.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 689
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_northing'):
-    G_scan_northing = _libs['grass_gis.7.0.svn'].G_scan_northing
-    G_scan_northing.restype = c_int
-    G_scan_northing.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 690
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_easting'):
-    G_scan_easting = _libs['grass_gis.7.0.svn'].G_scan_easting
-    G_scan_easting.restype = c_int
-    G_scan_easting.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 691
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_resolution'):
-    G_scan_resolution = _libs['grass_gis.7.0.svn'].G_scan_resolution
-    G_scan_resolution.restype = c_int
-    G_scan_resolution.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 694
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_east_longitude'):
-    G_adjust_east_longitude = _libs['grass_gis.7.0.svn'].G_adjust_east_longitude
-    G_adjust_east_longitude.restype = c_double
-    G_adjust_east_longitude.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 695
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_easting'):
-    G_adjust_easting = _libs['grass_gis.7.0.svn'].G_adjust_easting
-    G_adjust_easting.restype = c_double
-    G_adjust_easting.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 696
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__init_window'):
-    G__init_window = _libs['grass_gis.7.0.svn'].G__init_window
-    G__init_window.restype = None
-    G__init_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 699
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_execute'):
-    G_begin_execute = _libs['grass_gis.7.0.svn'].G_begin_execute
-    G_begin_execute.restype = None
-    G_begin_execute.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None), POINTER(POINTER(None)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 700
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_end_execute'):
-    G_end_execute = _libs['grass_gis.7.0.svn'].G_end_execute
-    G_end_execute.restype = None
-    G_end_execute.argtypes = [POINTER(POINTER(None))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 701
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_workers'):
-    G_init_workers = _libs['grass_gis.7.0.svn'].G_init_workers
-    G_init_workers.restype = None
-    G_init_workers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 702
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_finish_workers'):
-    G_finish_workers = _libs['grass_gis.7.0.svn'].G_finish_workers
-    G_finish_workers.restype = None
-    G_finish_workers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 705
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_Cell_head'):
-    G__write_Cell_head = _libs['grass_gis.7.0.svn'].G__write_Cell_head
-    G__write_Cell_head.restype = None
-    G__write_Cell_head.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 706
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_Cell_head3'):
-    G__write_Cell_head3 = _libs['grass_gis.7.0.svn'].G__write_Cell_head3
-    G__write_Cell_head3.restype = None
-    G__write_Cell_head3.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 709
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_zeros'):
-    G_write_zeros = _libs['grass_gis.7.0.svn'].G_write_zeros
-    G_write_zeros.restype = None
-    G_write_zeros.argtypes = [c_int, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 712
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zero'):
-    G_zero = _libs['grass_gis.7.0.svn'].G_zero
-    G_zero.restype = None
-    G_zero.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 715
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zone'):
-    G_zone = _libs['grass_gis.7.0.svn'].G_zone
-    G_zone.restype = c_int
-    G_zone.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 40
-try:
-    GIS_H_VERSION = '$Revision: 47604 $'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 40
-try:
-    GIS_H_DATE = '$Date: 2011-08-13 01:14:30 +0200 (Sat, 13 Aug 2011) $'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 41
-def G_gisinit(pgm):
-    return (G__gisinit (GIS_H_VERSION, pgm))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 41
-try:
-    G_no_gisinit = (G__no_gisinit (GIS_H_VERSION))
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 44
-try:
-    TRUE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 47
-try:
-    FALSE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 50
-try:
-    PRI_OFF_T = 'lld'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 54
-try:
-    NEWLINE = '\\n'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_UNDEFINED = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_UNKNOWN = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_ACRES = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_HECTARES = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_KILOMETERS = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_METERS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_MILES = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_FEET = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_RADIANS = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_DEGREES = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_XY = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_UTM = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_SP = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_LL = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_OTHER = 99
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 60
-try:
-    PROJECTION_FILE = 'PROJ_INFO'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 60
-try:
-    UNIT_FILE = 'PROJ_UNITS'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 61
-try:
-    CONFIG_DIR = '.grass7'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 64
-try:
-    M_PI = 3.1415926535897931
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 66
-try:
-    M_PI_2 = 1.5707963267948966
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 68
-try:
-    M_PI_4 = 0.78539816339744828
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 70
-try:
-    GRASS_EPSILON = 1.0000000000000001e-15
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 72
-try:
-    G_VAR_GISRC = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 72
-try:
-    G_VAR_MAPSET = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 74
-try:
-    G_GISRC_MODE_FILE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 74
-try:
-    G_GISRC_MODE_MEMORY = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_INTEGER = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_DOUBLE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_STRING = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    YES = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    NO = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GNAME_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GMAPSET_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 79
-try:
-    GPATH_MAX = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 92
-def deserialize_int32_le(buf):
-    return (((((buf [0]) << 0) | ((buf [1]) << 8)) | ((buf [2]) << 16)) | ((buf [3]) << 24))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 104
-def deserialize_int32_be(buf):
-    return (((((buf [0]) << 24) | ((buf [1]) << 16)) | ((buf [2]) << 8)) | ((buf [3]) << 0))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 109
-try:
-    GRASS_DIRSEP = '/'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 113
-try:
-    HOST_DIRSEP = '/'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 113
-try:
-    G_DEV_NULL = '/dev/null'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 179
-try:
-    G_INFO_FORMAT_STANDARD = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 179
-try:
-    G_INFO_FORMAT_GUI = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 179
-try:
-    G_INFO_FORMAT_SILENT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 179
-try:
-    G_INFO_FORMAT_PLAIN = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 181
-try:
-    G_ICON_CROSS = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 181
-try:
-    G_ICON_BOX = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 181
-try:
-    G_ICON_ARROW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 183
-try:
-    DEFAULT_FG_COLOR = 'black'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 183
-try:
-    DEFAULT_BG_COLOR = 'white'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 185
-try:
-    GR_FATAL_EXIT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 185
-try:
-    GR_FATAL_PRINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 185
-try:
-    GR_FATAL_RETURN = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 190
-try:
-    GV_KEY_COLUMN = 'cat'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 45
-def G__alloca(n):
-    return (G_malloc (n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 45
-def G__freea(p):
-    return (G_free (p))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 58
-def G_incr_void_ptr(ptr, size):
-    return (ptr + size)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_malloc(n):
-    return (G__malloc ('<ctypesgen>', 0, n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_calloc(m, n):
-    return (G__calloc ('<ctypesgen>', 0, m, n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_realloc(p, n):
-    return (G__realloc ('<ctypesgen>', 0, p, n))
-
-Cell_head = struct_Cell_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-
-G_3dview = struct_G_3dview # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 300
-
-Key_Value = struct_Key_Value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 327
-
-Option = struct_Option # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 335
-
-Flag = struct_Flag # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 366
-
-GModule = struct_GModule # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 377
-
-TimeStamp = struct_TimeStamp # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 387
-
-Counter = struct_Counter # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 393
-
-Popen = struct_Popen # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 397
-
-_Color_Value_ = struct__Color_Value_ # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-
-_Color_Rule_ = struct__Color_Rule_ # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-
-_Color_Info_ = struct__Color_Info_ # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-
-Colors = struct_Colors # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-
-# No inserted files
-
diff --git a/lib/python/ctypes/gmath.py b/lib/python/ctypes/gmath.py
deleted file mode 100644
index 1792ff6..0000000
--- a/lib/python/ctypes/gmath.py
+++ /dev/null
@@ -1,1389 +0,0 @@
-'''Wrapper for gmath.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_gmath.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h -o gmath.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_gmath.7.0.svn"] = load_library("grass_gmath.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 50
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_vector'):
-    G_alloc_vector = _libs['grass_gmath.7.0.svn'].G_alloc_vector
-    G_alloc_vector.restype = POINTER(c_double)
-    G_alloc_vector.argtypes = [c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 51
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_matrix'):
-    G_alloc_matrix = _libs['grass_gmath.7.0.svn'].G_alloc_matrix
-    G_alloc_matrix.restype = POINTER(POINTER(c_double))
-    G_alloc_matrix.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 52
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_fvector'):
-    G_alloc_fvector = _libs['grass_gmath.7.0.svn'].G_alloc_fvector
-    G_alloc_fvector.restype = POINTER(c_float)
-    G_alloc_fvector.argtypes = [c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 53
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_fmatrix'):
-    G_alloc_fmatrix = _libs['grass_gmath.7.0.svn'].G_alloc_fmatrix
-    G_alloc_fmatrix.restype = POINTER(POINTER(c_float))
-    G_alloc_fmatrix.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 54
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_vector'):
-    G_free_vector = _libs['grass_gmath.7.0.svn'].G_free_vector
-    G_free_vector.restype = None
-    G_free_vector.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 55
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_matrix'):
-    G_free_matrix = _libs['grass_gmath.7.0.svn'].G_free_matrix
-    G_free_matrix.restype = None
-    G_free_matrix.argtypes = [POINTER(POINTER(c_double))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 56
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_fvector'):
-    G_free_fvector = _libs['grass_gmath.7.0.svn'].G_free_fvector
-    G_free_fvector.restype = None
-    G_free_fvector.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 57
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_fmatrix'):
-    G_free_fmatrix = _libs['grass_gmath.7.0.svn'].G_free_fmatrix
-    G_free_fmatrix.restype = None
-    G_free_fmatrix.argtypes = [POINTER(POINTER(c_float))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 60
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_ivector'):
-    G_alloc_ivector = _libs['grass_gmath.7.0.svn'].G_alloc_ivector
-    G_alloc_ivector.restype = POINTER(c_int)
-    G_alloc_ivector.argtypes = [c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 61
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_alloc_imatrix'):
-    G_alloc_imatrix = _libs['grass_gmath.7.0.svn'].G_alloc_imatrix
-    G_alloc_imatrix.restype = POINTER(POINTER(c_int))
-    G_alloc_imatrix.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 62
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_ivector'):
-    G_free_ivector = _libs['grass_gmath.7.0.svn'].G_free_ivector
-    G_free_ivector.restype = None
-    G_free_ivector.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 63
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_free_imatrix'):
-    G_free_imatrix = _libs['grass_gmath.7.0.svn'].G_free_imatrix
-    G_free_imatrix.restype = None
-    G_free_imatrix.argtypes = [POINTER(POINTER(c_int))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 66
-if hasattr(_libs['grass_gmath.7.0.svn'], 'fft'):
-    fft = _libs['grass_gmath.7.0.svn'].fft
-    fft.restype = c_int
-    fft.argtypes = [c_int, POINTER(c_double) * 2, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 67
-if hasattr(_libs['grass_gmath.7.0.svn'], 'fft2'):
-    fft2 = _libs['grass_gmath.7.0.svn'].fft2
-    fft2.restype = c_int
-    fft2.argtypes = [c_int, POINTER(c_double * 2), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 70
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_rand_gauss'):
-    G_math_rand_gauss = _libs['grass_gmath.7.0.svn'].G_math_rand_gauss
-    G_math_rand_gauss.restype = c_double
-    G_math_rand_gauss.argtypes = [c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 73
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_max_pow2'):
-    G_math_max_pow2 = _libs['grass_gmath.7.0.svn'].G_math_max_pow2
-    G_math_max_pow2.restype = c_long
-    G_math_max_pow2.argtypes = [c_long]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 74
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_min_pow2'):
-    G_math_min_pow2 = _libs['grass_gmath.7.0.svn'].G_math_min_pow2
-    G_math_min_pow2.restype = c_long
-    G_math_min_pow2.argtypes = [c_long]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 77
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_rand'):
-    G_math_rand = _libs['grass_gmath.7.0.svn'].G_math_rand
-    G_math_rand.restype = c_float
-    G_math_rand.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 80
-if hasattr(_libs['grass_gmath.7.0.svn'], 'del2g'):
-    del2g = _libs['grass_gmath.7.0.svn'].del2g
-    del2g.restype = c_int
-    del2g.argtypes = [POINTER(c_double) * 2, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 83
-if hasattr(_libs['grass_gmath.7.0.svn'], 'getg'):
-    getg = _libs['grass_gmath.7.0.svn'].getg
-    getg.restype = c_int
-    getg.argtypes = [c_double, POINTER(c_double) * 2, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 86
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_egvorder'):
-    G_math_egvorder = _libs['grass_gmath.7.0.svn'].G_math_egvorder
-    G_math_egvorder.restype = c_int
-    G_math_egvorder.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), c_long]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 89
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_complex_mult'):
-    G_math_complex_mult = _libs['grass_gmath.7.0.svn'].G_math_complex_mult
-    G_math_complex_mult.restype = c_int
-    G_math_complex_mult.argtypes = [POINTER(c_double) * 2, c_int, POINTER(c_double) * 2, c_int, POINTER(c_double) * 2, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 92
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_ludcmp'):
-    G_ludcmp = _libs['grass_gmath.7.0.svn'].G_ludcmp
-    G_ludcmp.restype = c_int
-    G_ludcmp.argtypes = [POINTER(POINTER(c_double)), c_int, POINTER(c_int), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 93
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_lubksb'):
-    G_lubksb = _libs['grass_gmath.7.0.svn'].G_lubksb
-    G_lubksb.restype = None
-    G_lubksb.argtypes = [POINTER(POINTER(c_double)), c_int, POINTER(c_int), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 96
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_findzc'):
-    G_math_findzc = _libs['grass_gmath.7.0.svn'].G_math_findzc
-    G_math_findzc.restype = c_int
-    G_math_findzc.argtypes = [POINTER(c_double), c_int, POINTER(c_double), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 102
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solv'):
-    G_math_solv = _libs['grass_gmath.7.0.svn'].G_math_solv
-    G_math_solv.restype = c_int
-    G_math_solv.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 103
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solvps'):
-    G_math_solvps = _libs['grass_gmath.7.0.svn'].G_math_solvps
-    G_math_solvps.restype = c_int
-    G_math_solvps.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 104
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solvtd'):
-    G_math_solvtd = _libs['grass_gmath.7.0.svn'].G_math_solvtd
-    G_math_solvtd.restype = None
-    G_math_solvtd.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 105
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solvru'):
-    G_math_solvru = _libs['grass_gmath.7.0.svn'].G_math_solvru
-    G_math_solvru.restype = c_int
-    G_math_solvru.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 106
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_minv'):
-    G_math_minv = _libs['grass_gmath.7.0.svn'].G_math_minv
-    G_math_minv.restype = c_int
-    G_math_minv.argtypes = [POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 107
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_psinv'):
-    G_math_psinv = _libs['grass_gmath.7.0.svn'].G_math_psinv
-    G_math_psinv.restype = c_int
-    G_math_psinv.argtypes = [POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 108
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_ruinv'):
-    G_math_ruinv = _libs['grass_gmath.7.0.svn'].G_math_ruinv
-    G_math_ruinv.restype = c_int
-    G_math_ruinv.argtypes = [POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 109
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_eigval'):
-    G_math_eigval = _libs['grass_gmath.7.0.svn'].G_math_eigval
-    G_math_eigval.restype = None
-    G_math_eigval.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 110
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_eigen'):
-    G_math_eigen = _libs['grass_gmath.7.0.svn'].G_math_eigen
-    G_math_eigen.restype = None
-    G_math_eigen.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 111
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_evmax'):
-    G_math_evmax = _libs['grass_gmath.7.0.svn'].G_math_evmax
-    G_math_evmax.restype = c_double
-    G_math_evmax.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 112
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_svdval'):
-    G_math_svdval = _libs['grass_gmath.7.0.svn'].G_math_svdval
-    G_math_svdval.restype = c_int
-    G_math_svdval.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 113
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sv2val'):
-    G_math_sv2val = _libs['grass_gmath.7.0.svn'].G_math_sv2val
-    G_math_sv2val.restype = c_int
-    G_math_sv2val.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 114
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_svduv'):
-    G_math_svduv = _libs['grass_gmath.7.0.svn'].G_math_svduv
-    G_math_svduv.restype = c_int
-    G_math_svduv.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_int, POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 115
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sv2uv'):
-    G_math_sv2uv = _libs['grass_gmath.7.0.svn'].G_math_sv2uv
-    G_math_sv2uv.restype = c_int
-    G_math_sv2uv.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_int, POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 116
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_svdu1v'):
-    G_math_svdu1v = _libs['grass_gmath.7.0.svn'].G_math_svdu1v
-    G_math_svdu1v.restype = c_int
-    G_math_svdu1v.argtypes = [POINTER(c_double), POINTER(POINTER(c_double)), c_int, POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 131
-class struct_anon_1(Structure):
-    pass
-
-struct_anon_1.__slots__ = [
-    'values',
-    'cols',
-    'index',
-]
-struct_anon_1._fields_ = [
-    ('values', POINTER(c_double)),
-    ('cols', c_uint),
-    ('index', POINTER(c_uint)),
-]
-
-G_math_spvector = struct_anon_1 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 131
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 135
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_alloc_spvector'):
-    G_math_alloc_spvector = _libs['grass_gmath.7.0.svn'].G_math_alloc_spvector
-    G_math_alloc_spvector.restype = POINTER(G_math_spvector)
-    G_math_alloc_spvector.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 136
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_alloc_spmatrix'):
-    G_math_alloc_spmatrix = _libs['grass_gmath.7.0.svn'].G_math_alloc_spmatrix
-    G_math_alloc_spmatrix.restype = POINTER(POINTER(G_math_spvector))
-    G_math_alloc_spmatrix.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 137
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_free_spmatrix'):
-    G_math_free_spmatrix = _libs['grass_gmath.7.0.svn'].G_math_free_spmatrix
-    G_math_free_spmatrix.restype = None
-    G_math_free_spmatrix.argtypes = [POINTER(POINTER(G_math_spvector)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 138
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_free_spvector'):
-    G_math_free_spvector = _libs['grass_gmath.7.0.svn'].G_math_free_spvector
-    G_math_free_spvector.restype = None
-    G_math_free_spvector.argtypes = [POINTER(G_math_spvector)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 139
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_add_spvector'):
-    G_math_add_spvector = _libs['grass_gmath.7.0.svn'].G_math_add_spvector
-    G_math_add_spvector.restype = c_int
-    G_math_add_spvector.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(G_math_spvector), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 140
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_A_to_Asp'):
-    G_math_A_to_Asp = _libs['grass_gmath.7.0.svn'].G_math_A_to_Asp
-    G_math_A_to_Asp.restype = POINTER(POINTER(G_math_spvector))
-    G_math_A_to_Asp.argtypes = [POINTER(POINTER(c_double)), c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 141
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_Asp_to_A'):
-    G_math_Asp_to_A = _libs['grass_gmath.7.0.svn'].G_math_Asp_to_A
-    G_math_Asp_to_A.restype = POINTER(POINTER(c_double))
-    G_math_Asp_to_A.argtypes = [POINTER(POINTER(G_math_spvector)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 142
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_Asp_to_sband_matrix'):
-    G_math_Asp_to_sband_matrix = _libs['grass_gmath.7.0.svn'].G_math_Asp_to_sband_matrix
-    G_math_Asp_to_sband_matrix.restype = POINTER(POINTER(c_double))
-    G_math_Asp_to_sband_matrix.argtypes = [POINTER(POINTER(G_math_spvector)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 143
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sband_matrix_to_Asp'):
-    G_math_sband_matrix_to_Asp = _libs['grass_gmath.7.0.svn'].G_math_sband_matrix_to_Asp
-    G_math_sband_matrix_to_Asp.restype = POINTER(POINTER(G_math_spvector))
-    G_math_sband_matrix_to_Asp.argtypes = [POINTER(POINTER(c_double)), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 144
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_print_spmatrix'):
-    G_math_print_spmatrix = _libs['grass_gmath.7.0.svn'].G_math_print_spmatrix
-    G_math_print_spmatrix.restype = None
-    G_math_print_spmatrix.argtypes = [POINTER(POINTER(G_math_spvector)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 145
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_Ax_sparse'):
-    G_math_Ax_sparse = _libs['grass_gmath.7.0.svn'].G_math_Ax_sparse
-    G_math_Ax_sparse.restype = None
-    G_math_Ax_sparse.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 148
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_matrix_to_sband_matrix'):
-    G_math_matrix_to_sband_matrix = _libs['grass_gmath.7.0.svn'].G_math_matrix_to_sband_matrix
-    G_math_matrix_to_sband_matrix.restype = POINTER(POINTER(c_double))
-    G_math_matrix_to_sband_matrix.argtypes = [POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 149
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sband_matrix_to_matrix'):
-    G_math_sband_matrix_to_matrix = _libs['grass_gmath.7.0.svn'].G_math_sband_matrix_to_matrix
-    G_math_sband_matrix_to_matrix.restype = POINTER(POINTER(c_double))
-    G_math_sband_matrix_to_matrix.argtypes = [POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 150
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_Ax_sband'):
-    G_math_Ax_sband = _libs['grass_gmath.7.0.svn'].G_math_Ax_sband
-    G_math_Ax_sband.restype = None
-    G_math_Ax_sband.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 153
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_gauss'):
-    G_math_solver_gauss = _libs['grass_gmath.7.0.svn'].G_math_solver_gauss
-    G_math_solver_gauss.restype = c_int
-    G_math_solver_gauss.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 154
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_lu'):
-    G_math_solver_lu = _libs['grass_gmath.7.0.svn'].G_math_solver_lu
-    G_math_solver_lu.restype = c_int
-    G_math_solver_lu.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 155
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_cholesky'):
-    G_math_solver_cholesky = _libs['grass_gmath.7.0.svn'].G_math_solver_cholesky
-    G_math_solver_cholesky.restype = c_int
-    G_math_solver_cholesky.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 156
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_cholesky_sband'):
-    G_math_solver_cholesky_sband = _libs['grass_gmath.7.0.svn'].G_math_solver_cholesky_sband
-    G_math_solver_cholesky_sband.restype = None
-    G_math_solver_cholesky_sband.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 157
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_jacobi'):
-    G_math_solver_jacobi = _libs['grass_gmath.7.0.svn'].G_math_solver_jacobi
-    G_math_solver_jacobi.restype = c_int
-    G_math_solver_jacobi.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 158
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_gs'):
-    G_math_solver_gs = _libs['grass_gmath.7.0.svn'].G_math_solver_gs
-    G_math_solver_gs.restype = c_int
-    G_math_solver_gs.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 160
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_pcg'):
-    G_math_solver_pcg = _libs['grass_gmath.7.0.svn'].G_math_solver_pcg
-    G_math_solver_pcg.restype = c_int
-    G_math_solver_pcg.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 161
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_cg'):
-    G_math_solver_cg = _libs['grass_gmath.7.0.svn'].G_math_solver_cg
-    G_math_solver_cg.restype = c_int
-    G_math_solver_cg.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 162
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_cg_sband'):
-    G_math_solver_cg_sband = _libs['grass_gmath.7.0.svn'].G_math_solver_cg_sband
-    G_math_solver_cg_sband.restype = c_int
-    G_math_solver_cg_sband.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 163
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_bicgstab'):
-    G_math_solver_bicgstab = _libs['grass_gmath.7.0.svn'].G_math_solver_bicgstab
-    G_math_solver_bicgstab.restype = c_int
-    G_math_solver_bicgstab.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 164
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_jacobi'):
-    G_math_solver_sparse_jacobi = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_jacobi
-    G_math_solver_sparse_jacobi.restype = c_int
-    G_math_solver_sparse_jacobi.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 165
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_gs'):
-    G_math_solver_sparse_gs = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_gs
-    G_math_solver_sparse_gs.restype = c_int
-    G_math_solver_sparse_gs.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 166
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_pcg'):
-    G_math_solver_sparse_pcg = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_pcg
-    G_math_solver_sparse_pcg.restype = c_int
-    G_math_solver_sparse_pcg.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 167
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_cg'):
-    G_math_solver_sparse_cg = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_cg
-    G_math_solver_sparse_cg.restype = c_int
-    G_math_solver_sparse_cg.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 168
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_solver_sparse_bicgstab'):
-    G_math_solver_sparse_bicgstab = _libs['grass_gmath.7.0.svn'].G_math_solver_sparse_bicgstab
-    G_math_solver_sparse_bicgstab.restype = c_int
-    G_math_solver_sparse_bicgstab.argtypes = [POINTER(POINTER(G_math_spvector)), POINTER(c_double), POINTER(c_double), c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 171
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_gauss_elimination'):
-    G_math_gauss_elimination = _libs['grass_gmath.7.0.svn'].G_math_gauss_elimination
-    G_math_gauss_elimination.restype = None
-    G_math_gauss_elimination.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 172
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_lu_decomposition'):
-    G_math_lu_decomposition = _libs['grass_gmath.7.0.svn'].G_math_lu_decomposition
-    G_math_lu_decomposition.restype = None
-    G_math_lu_decomposition.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 173
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_cholesky_decomposition'):
-    G_math_cholesky_decomposition = _libs['grass_gmath.7.0.svn'].G_math_cholesky_decomposition
-    G_math_cholesky_decomposition.restype = c_int
-    G_math_cholesky_decomposition.argtypes = [POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 174
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_cholesky_sband_decomposition'):
-    G_math_cholesky_sband_decomposition = _libs['grass_gmath.7.0.svn'].G_math_cholesky_sband_decomposition
-    G_math_cholesky_sband_decomposition.restype = None
-    G_math_cholesky_sband_decomposition.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 175
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_backward_substitution'):
-    G_math_backward_substitution = _libs['grass_gmath.7.0.svn'].G_math_backward_substitution
-    G_math_backward_substitution.restype = None
-    G_math_backward_substitution.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 176
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_forward_substitution'):
-    G_math_forward_substitution = _libs['grass_gmath.7.0.svn'].G_math_forward_substitution
-    G_math_forward_substitution.restype = None
-    G_math_forward_substitution.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 177
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_cholesky_sband_substitution'):
-    G_math_cholesky_sband_substitution = _libs['grass_gmath.7.0.svn'].G_math_cholesky_sband_substitution
-    G_math_cholesky_sband_substitution.restype = None
-    G_math_cholesky_sband_substitution.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 182
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_x_dot_y'):
-    G_math_d_x_dot_y = _libs['grass_gmath.7.0.svn'].G_math_d_x_dot_y
-    G_math_d_x_dot_y.restype = None
-    G_math_d_x_dot_y.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 183
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_asum_norm'):
-    G_math_d_asum_norm = _libs['grass_gmath.7.0.svn'].G_math_d_asum_norm
-    G_math_d_asum_norm.restype = None
-    G_math_d_asum_norm.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 184
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_euclid_norm'):
-    G_math_d_euclid_norm = _libs['grass_gmath.7.0.svn'].G_math_d_euclid_norm
-    G_math_d_euclid_norm.restype = None
-    G_math_d_euclid_norm.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 185
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_max_norm'):
-    G_math_d_max_norm = _libs['grass_gmath.7.0.svn'].G_math_d_max_norm
-    G_math_d_max_norm.restype = None
-    G_math_d_max_norm.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 186
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_ax_by'):
-    G_math_d_ax_by = _libs['grass_gmath.7.0.svn'].G_math_d_ax_by
-    G_math_d_ax_by.restype = None
-    G_math_d_ax_by.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 187
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_copy'):
-    G_math_d_copy = _libs['grass_gmath.7.0.svn'].G_math_d_copy
-    G_math_d_copy.restype = None
-    G_math_d_copy.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 189
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_x_dot_y'):
-    G_math_f_x_dot_y = _libs['grass_gmath.7.0.svn'].G_math_f_x_dot_y
-    G_math_f_x_dot_y.restype = None
-    G_math_f_x_dot_y.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 190
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_asum_norm'):
-    G_math_f_asum_norm = _libs['grass_gmath.7.0.svn'].G_math_f_asum_norm
-    G_math_f_asum_norm.restype = None
-    G_math_f_asum_norm.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 191
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_euclid_norm'):
-    G_math_f_euclid_norm = _libs['grass_gmath.7.0.svn'].G_math_f_euclid_norm
-    G_math_f_euclid_norm.restype = None
-    G_math_f_euclid_norm.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 192
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_max_norm'):
-    G_math_f_max_norm = _libs['grass_gmath.7.0.svn'].G_math_f_max_norm
-    G_math_f_max_norm.restype = None
-    G_math_f_max_norm.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 193
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_ax_by'):
-    G_math_f_ax_by = _libs['grass_gmath.7.0.svn'].G_math_f_ax_by
-    G_math_f_ax_by.restype = None
-    G_math_f_ax_by.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 194
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_copy'):
-    G_math_f_copy = _libs['grass_gmath.7.0.svn'].G_math_f_copy
-    G_math_f_copy.restype = None
-    G_math_f_copy.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 196
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_x_dot_y'):
-    G_math_i_x_dot_y = _libs['grass_gmath.7.0.svn'].G_math_i_x_dot_y
-    G_math_i_x_dot_y.restype = None
-    G_math_i_x_dot_y.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 197
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_asum_norm'):
-    G_math_i_asum_norm = _libs['grass_gmath.7.0.svn'].G_math_i_asum_norm
-    G_math_i_asum_norm.restype = None
-    G_math_i_asum_norm.argtypes = [POINTER(c_int), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 198
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_euclid_norm'):
-    G_math_i_euclid_norm = _libs['grass_gmath.7.0.svn'].G_math_i_euclid_norm
-    G_math_i_euclid_norm.restype = None
-    G_math_i_euclid_norm.argtypes = [POINTER(c_int), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 199
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_max_norm'):
-    G_math_i_max_norm = _libs['grass_gmath.7.0.svn'].G_math_i_max_norm
-    G_math_i_max_norm.restype = None
-    G_math_i_max_norm.argtypes = [POINTER(c_int), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 200
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_ax_by'):
-    G_math_i_ax_by = _libs['grass_gmath.7.0.svn'].G_math_i_ax_by
-    G_math_i_ax_by.restype = None
-    G_math_i_ax_by.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 201
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_i_copy'):
-    G_math_i_copy = _libs['grass_gmath.7.0.svn'].G_math_i_copy
-    G_math_i_copy.restype = None
-    G_math_i_copy.argtypes = [POINTER(c_int), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 204
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_ddot'):
-    G_math_ddot = _libs['grass_gmath.7.0.svn'].G_math_ddot
-    G_math_ddot.restype = c_double
-    G_math_ddot.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 205
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sdot'):
-    G_math_sdot = _libs['grass_gmath.7.0.svn'].G_math_sdot
-    G_math_sdot.restype = c_float
-    G_math_sdot.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 206
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sdsdot'):
-    G_math_sdsdot = _libs['grass_gmath.7.0.svn'].G_math_sdsdot
-    G_math_sdsdot.restype = c_float
-    G_math_sdsdot.argtypes = [POINTER(c_float), POINTER(c_float), c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 207
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_dnrm2'):
-    G_math_dnrm2 = _libs['grass_gmath.7.0.svn'].G_math_dnrm2
-    G_math_dnrm2.restype = c_double
-    G_math_dnrm2.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 208
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_dasum'):
-    G_math_dasum = _libs['grass_gmath.7.0.svn'].G_math_dasum
-    G_math_dasum.restype = c_double
-    G_math_dasum.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 209
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_idamax'):
-    G_math_idamax = _libs['grass_gmath.7.0.svn'].G_math_idamax
-    G_math_idamax.restype = c_double
-    G_math_idamax.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 210
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_snrm2'):
-    G_math_snrm2 = _libs['grass_gmath.7.0.svn'].G_math_snrm2
-    G_math_snrm2.restype = c_float
-    G_math_snrm2.argtypes = [POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 211
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sasum'):
-    G_math_sasum = _libs['grass_gmath.7.0.svn'].G_math_sasum
-    G_math_sasum.restype = c_float
-    G_math_sasum.argtypes = [POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 212
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_isamax'):
-    G_math_isamax = _libs['grass_gmath.7.0.svn'].G_math_isamax
-    G_math_isamax.restype = c_float
-    G_math_isamax.argtypes = [POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 213
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_dscal'):
-    G_math_dscal = _libs['grass_gmath.7.0.svn'].G_math_dscal
-    G_math_dscal.restype = None
-    G_math_dscal.argtypes = [POINTER(c_double), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 214
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_sscal'):
-    G_math_sscal = _libs['grass_gmath.7.0.svn'].G_math_sscal
-    G_math_sscal.restype = None
-    G_math_sscal.argtypes = [POINTER(c_float), c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 215
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_dcopy'):
-    G_math_dcopy = _libs['grass_gmath.7.0.svn'].G_math_dcopy
-    G_math_dcopy.restype = None
-    G_math_dcopy.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 216
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_scopy'):
-    G_math_scopy = _libs['grass_gmath.7.0.svn'].G_math_scopy
-    G_math_scopy.restype = None
-    G_math_scopy.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 217
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_daxpy'):
-    G_math_daxpy = _libs['grass_gmath.7.0.svn'].G_math_daxpy
-    G_math_daxpy.restype = None
-    G_math_daxpy.argtypes = [POINTER(c_double), POINTER(c_double), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 218
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_saxpy'):
-    G_math_saxpy = _libs['grass_gmath.7.0.svn'].G_math_saxpy
-    G_math_saxpy.restype = None
-    G_math_saxpy.argtypes = [POINTER(c_float), POINTER(c_float), c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 221
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_Ax'):
-    G_math_d_Ax = _libs['grass_gmath.7.0.svn'].G_math_d_Ax
-    G_math_d_Ax.restype = None
-    G_math_d_Ax.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 222
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_Ax'):
-    G_math_f_Ax = _libs['grass_gmath.7.0.svn'].G_math_f_Ax
-    G_math_f_Ax.restype = None
-    G_math_f_Ax.argtypes = [POINTER(POINTER(c_float)), POINTER(c_float), POINTER(c_float), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 223
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_x_dyad_y'):
-    G_math_d_x_dyad_y = _libs['grass_gmath.7.0.svn'].G_math_d_x_dyad_y
-    G_math_d_x_dyad_y.restype = None
-    G_math_d_x_dyad_y.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 224
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_x_dyad_y'):
-    G_math_f_x_dyad_y = _libs['grass_gmath.7.0.svn'].G_math_f_x_dyad_y
-    G_math_f_x_dyad_y.restype = None
-    G_math_f_x_dyad_y.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(POINTER(c_float)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 225
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_aAx_by'):
-    G_math_d_aAx_by = _libs['grass_gmath.7.0.svn'].G_math_d_aAx_by
-    G_math_d_aAx_by.restype = None
-    G_math_d_aAx_by.argtypes = [POINTER(POINTER(c_double)), POINTER(c_double), POINTER(c_double), c_double, c_double, POINTER(c_double), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 226
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_aAx_by'):
-    G_math_f_aAx_by = _libs['grass_gmath.7.0.svn'].G_math_f_aAx_by
-    G_math_f_aAx_by.restype = None
-    G_math_f_aAx_by.argtypes = [POINTER(POINTER(c_float)), POINTER(c_float), POINTER(c_float), c_float, c_float, POINTER(c_float), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 227
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_A_T'):
-    G_math_d_A_T = _libs['grass_gmath.7.0.svn'].G_math_d_A_T
-    G_math_d_A_T.restype = c_int
-    G_math_d_A_T.argtypes = [POINTER(POINTER(c_double)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 228
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_A_T'):
-    G_math_f_A_T = _libs['grass_gmath.7.0.svn'].G_math_f_A_T
-    G_math_f_A_T.restype = c_int
-    G_math_f_A_T.argtypes = [POINTER(POINTER(c_float)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 231
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_aA_B'):
-    G_math_d_aA_B = _libs['grass_gmath.7.0.svn'].G_math_d_aA_B
-    G_math_d_aA_B.restype = None
-    G_math_d_aA_B.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_double, POINTER(POINTER(c_double)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 232
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_aA_B'):
-    G_math_f_aA_B = _libs['grass_gmath.7.0.svn'].G_math_f_aA_B
-    G_math_f_aA_B.restype = None
-    G_math_f_aA_B.argtypes = [POINTER(POINTER(c_float)), POINTER(POINTER(c_float)), c_float, POINTER(POINTER(c_float)), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 233
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_d_AB'):
-    G_math_d_AB = _libs['grass_gmath.7.0.svn'].G_math_d_AB
-    G_math_d_AB.restype = None
-    G_math_d_AB.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 234
-if hasattr(_libs['grass_gmath.7.0.svn'], 'G_math_f_AB'):
-    G_math_f_AB = _libs['grass_gmath.7.0.svn'].G_math_f_AB
-    G_math_f_AB.restype = None
-    G_math_f_AB.argtypes = [POINTER(POINTER(c_float)), POINTER(POINTER(c_float)), POINTER(POINTER(c_float)), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_DIRECT_GAUSS = 'gauss'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_DIRECT_LU = 'lu'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_DIRECT_CHOLESKY = 'cholesky'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_JACOBI = 'jacobi'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_SOR = 'sor'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_CG = 'cg'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_PCG = 'pcg'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 34
-try:
-    G_MATH_SOLVER_ITERATIVE_BICGSTAB = 'bicgstab'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 36
-try:
-    G_MATH_DIAGONAL_PRECONDITION = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 36
-try:
-    G_MATH_ROWSCALE_ABSSUMNORM_PRECONDITION = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 36
-try:
-    G_MATH_ROWSCALE_EUKLIDNORM_PRECONDITION = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gmath.h: 36
-try:
-    G_MATH_ROWSCALE_MAXNORM_PRECONDITION = 4
-except:
-    pass
-
-# No inserted files
-
diff --git a/lib/python/ctypes/grass.py b/lib/python/ctypes/grass.py
deleted file mode 100644
index 4120cdc..0000000
--- a/lib/python/ctypes/grass.py
+++ /dev/null
@@ -1,3645 +0,0 @@
-'''Wrapper for gis.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -lgrass_gis.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h -o grass.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_gis.7.0.svn"] = load_library("grass_gis.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/config.h: 314
-class struct_stat(Structure):
-    pass
-
-STRUCT_STAT = struct_stat # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/config.h: 314
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-class struct_DateTime(Structure):
-    pass
-
-struct_DateTime.__slots__ = [
-    'mode',
-    '_from',
-    'to',
-    'fracsec',
-    'year',
-    'month',
-    'day',
-    'hour',
-    'minute',
-    'second',
-    'positive',
-    'tz',
-]
-struct_DateTime._fields_ = [
-    ('mode', c_int),
-    ('_from', c_int),
-    ('to', c_int),
-    ('fracsec', c_int),
-    ('year', c_int),
-    ('month', c_int),
-    ('day', c_int),
-    ('hour', c_int),
-    ('minute', c_int),
-    ('second', c_double),
-    ('positive', c_int),
-    ('tz', c_int),
-]
-
-DateTime = struct_DateTime # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/datetime.h: 25
-
-enum_anon_6 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_WHERE = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_TABLE = (G_OPT_DB_WHERE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_DRIVER = (G_OPT_DB_TABLE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_DATABASE = (G_OPT_DB_DRIVER + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_SCHEMA = (G_OPT_DB_DATABASE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_COLUMN = (G_OPT_DB_SCHEMA + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_DB_COLUMNS = (G_OPT_DB_COLUMN + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_I_GROUP = (G_OPT_DB_COLUMNS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_I_SUBGROUP = (G_OPT_I_GROUP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_INPUT = (G_OPT_I_SUBGROUP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_INPUTS = (G_OPT_R_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_OUTPUT = (G_OPT_R_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_MAP = (G_OPT_R_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_MAPS = (G_OPT_R_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_BASE = (G_OPT_R_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_COVER = (G_OPT_R_BASE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_ELEV = (G_OPT_R_COVER + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R_ELEVS = (G_OPT_R_ELEV + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_INPUT = (G_OPT_R_ELEVS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_INPUTS = (G_OPT_R3_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_OUTPUT = (G_OPT_R3_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_MAP = (G_OPT_R3_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_R3_MAPS = (G_OPT_R3_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_INPUT = (G_OPT_R3_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_INPUTS = (G_OPT_V_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_OUTPUT = (G_OPT_V_INPUTS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_MAP = (G_OPT_V_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_MAPS = (G_OPT_V_MAP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_TYPE = (G_OPT_V_MAPS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V3_TYPE = (G_OPT_V_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_FIELD = (G_OPT_V3_TYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_FIELD_ALL = (G_OPT_V_FIELD + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_CAT = (G_OPT_V_FIELD_ALL + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_CATS = (G_OPT_V_CAT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_ID = (G_OPT_V_CATS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_V_IDS = (G_OPT_V_ID + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_F_INPUT = (G_OPT_V_IDS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_F_OUTPUT = (G_OPT_F_INPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_F_SEP = (G_OPT_F_OUTPUT + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_C_FG = (G_OPT_F_SEP + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_C_BG = (G_OPT_C_FG + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_M_UNITS = (G_OPT_C_BG + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_M_DATATYPE = (G_OPT_M_UNITS + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-G_OPT_M_MAPSET = (G_OPT_M_DATATYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-STD_OPT = enum_anon_6 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 216
-
-enum_anon_7 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_RASTER = 1 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_RASTER3D = 2 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_VECTOR = 3 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_OLDVECTOR = 4 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_ASCIIVECTOR = 5 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_ICON = 6 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_LABEL = 7 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_SITE = 8 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_REGION = 9 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_REGION3D = 10 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_GROUP = 11 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-G_ELEMENT_3DVIEW = 12 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 239
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 257
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 284
-class struct_G_3dview(Structure):
-    pass
-
-struct_G_3dview.__slots__ = [
-    'pgm_id',
-    'from_to',
-    'fov',
-    'twist',
-    'exag',
-    'mesh_freq',
-    'poly_freq',
-    'display_type',
-    'lightson',
-    'dozero',
-    'colorgrid',
-    'shading',
-    'fringe',
-    'surfonly',
-    'doavg',
-    'grid_col',
-    'bg_col',
-    'other_col',
-    'lightpos',
-    'lightcol',
-    'ambient',
-    'shine',
-    'vwin',
-]
-struct_G_3dview._fields_ = [
-    ('pgm_id', c_char * 40),
-    ('from_to', (c_float * 3) * 2),
-    ('fov', c_float),
-    ('twist', c_float),
-    ('exag', c_float),
-    ('mesh_freq', c_int),
-    ('poly_freq', c_int),
-    ('display_type', c_int),
-    ('lightson', c_int),
-    ('dozero', c_int),
-    ('colorgrid', c_int),
-    ('shading', c_int),
-    ('fringe', c_int),
-    ('surfonly', c_int),
-    ('doavg', c_int),
-    ('grid_col', c_char * 40),
-    ('bg_col', c_char * 40),
-    ('other_col', c_char * 40),
-    ('lightpos', c_float * 4),
-    ('lightcol', c_float * 3),
-    ('ambient', c_float),
-    ('shine', c_float),
-    ('vwin', struct_Cell_head),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 311
-class struct_Key_Value(Structure):
-    pass
-
-struct_Key_Value.__slots__ = [
-    'nitems',
-    'nalloc',
-    'key',
-    'value',
-]
-struct_Key_Value._fields_ = [
-    ('nitems', c_int),
-    ('nalloc', c_int),
-    ('key', POINTER(POINTER(c_char))),
-    ('value', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 319
-class struct_Option(Structure):
-    pass
-
-struct_Option.__slots__ = [
-    'key',
-    'type',
-    'required',
-    'multiple',
-    'options',
-    'opts',
-    'key_desc',
-    'label',
-    'description',
-    'descriptions',
-    'descs',
-    'answer',
-    '_def',
-    'answers',
-    'next_opt',
-    'gisprompt',
-    'guisection',
-    'guidependency',
-    'checker',
-    'count',
-]
-struct_Option._fields_ = [
-    ('key', String),
-    ('type', c_int),
-    ('required', c_int),
-    ('multiple', c_int),
-    ('options', String),
-    ('opts', POINTER(POINTER(c_char))),
-    ('key_desc', String),
-    ('label', String),
-    ('description', String),
-    ('descriptions', String),
-    ('descs', POINTER(POINTER(c_char))),
-    ('answer', String),
-    ('_def', String),
-    ('answers', POINTER(POINTER(c_char))),
-    ('next_opt', POINTER(struct_Option)),
-    ('gisprompt', String),
-    ('guisection', String),
-    ('guidependency', String),
-    ('checker', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('count', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 350
-class struct_Flag(Structure):
-    pass
-
-struct_Flag.__slots__ = [
-    'key',
-    'answer',
-    'suppress_required',
-    'label',
-    'description',
-    'guisection',
-    'next_flag',
-]
-struct_Flag._fields_ = [
-    ('key', c_char),
-    ('answer', c_char),
-    ('suppress_required', c_char),
-    ('label', String),
-    ('description', String),
-    ('guisection', String),
-    ('next_flag', POINTER(struct_Flag)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 361
-class struct_GModule(Structure):
-    pass
-
-struct_GModule.__slots__ = [
-    'label',
-    'description',
-    'keywords',
-    'overwrite',
-    'verbose',
-]
-struct_GModule._fields_ = [
-    ('label', String),
-    ('description', String),
-    ('keywords', POINTER(POINTER(c_char))),
-    ('overwrite', c_int),
-    ('verbose', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 371
-class struct_TimeStamp(Structure):
-    pass
-
-struct_TimeStamp.__slots__ = [
-    'dt',
-    'count',
-]
-struct_TimeStamp._fields_ = [
-    ('dt', DateTime * 2),
-    ('count', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 377
-class struct_Counter(Structure):
-    pass
-
-struct_Counter.__slots__ = [
-    'value',
-]
-struct_Counter._fields_ = [
-    ('value', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 381
-class struct_Popen(Structure):
-    pass
-
-struct_Popen.__slots__ = [
-    'fp',
-    'pid',
-]
-struct_Popen._fields_ = [
-    ('fp', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-off_t = __off64_t # /usr/include/sys/types.h: 90
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 54
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_Cell_head'):
-    G_adjust_Cell_head = _libs['grass_gis.7.0.svn'].G_adjust_Cell_head
-    G_adjust_Cell_head.restype = None
-    G_adjust_Cell_head.argtypes = [POINTER(struct_Cell_head), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 55
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_Cell_head3'):
-    G_adjust_Cell_head3 = _libs['grass_gis.7.0.svn'].G_adjust_Cell_head3
-    G_adjust_Cell_head3.restype = None
-    G_adjust_Cell_head3.argtypes = [POINTER(struct_Cell_head), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 61
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__malloc'):
-    G__malloc = _libs['grass_gis.7.0.svn'].G__malloc
-    G__malloc.restype = POINTER(None)
-    G__malloc.argtypes = [String, c_int, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 62
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__calloc'):
-    G__calloc = _libs['grass_gis.7.0.svn'].G__calloc
-    G__calloc.restype = POINTER(None)
-    G__calloc.argtypes = [String, c_int, c_size_t, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 63
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__realloc'):
-    G__realloc = _libs['grass_gis.7.0.svn'].G__realloc
-    G__realloc.restype = POINTER(None)
-    G__realloc.argtypes = [String, c_int, POINTER(None), c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 64
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free'):
-    G_free = _libs['grass_gis.7.0.svn'].G_free
-    G_free.restype = None
-    G_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 80
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_cell_area_calculations'):
-    G_begin_cell_area_calculations = _libs['grass_gis.7.0.svn'].G_begin_cell_area_calculations
-    G_begin_cell_area_calculations.restype = c_int
-    G_begin_cell_area_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 81
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_of_cell_at_row'):
-    G_area_of_cell_at_row = _libs['grass_gis.7.0.svn'].G_area_of_cell_at_row
-    G_area_of_cell_at_row.restype = c_double
-    G_area_of_cell_at_row.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 82
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_polygon_area_calculations'):
-    G_begin_polygon_area_calculations = _libs['grass_gis.7.0.svn'].G_begin_polygon_area_calculations
-    G_begin_polygon_area_calculations.restype = c_int
-    G_begin_polygon_area_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 83
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_of_polygon'):
-    G_area_of_polygon = _libs['grass_gis.7.0.svn'].G_area_of_polygon
-    G_area_of_polygon.restype = c_double
-    G_area_of_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 86
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_zone_area_on_ellipsoid'):
-    G_begin_zone_area_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_begin_zone_area_on_ellipsoid
-    G_begin_zone_area_on_ellipsoid.restype = None
-    G_begin_zone_area_on_ellipsoid.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 87
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_darea0_on_ellipsoid'):
-    G_darea0_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_darea0_on_ellipsoid
-    G_darea0_on_ellipsoid.restype = c_double
-    G_darea0_on_ellipsoid.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 88
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_for_zone_on_ellipsoid'):
-    G_area_for_zone_on_ellipsoid = _libs['grass_gis.7.0.svn'].G_area_for_zone_on_ellipsoid
-    G_area_for_zone_on_ellipsoid.restype = c_double
-    G_area_for_zone_on_ellipsoid.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 91
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_ellipsoid_polygon_area'):
-    G_begin_ellipsoid_polygon_area = _libs['grass_gis.7.0.svn'].G_begin_ellipsoid_polygon_area
-    G_begin_ellipsoid_polygon_area.restype = None
-    G_begin_ellipsoid_polygon_area.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 92
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_polygon_area'):
-    G_ellipsoid_polygon_area = _libs['grass_gis.7.0.svn'].G_ellipsoid_polygon_area
-    G_ellipsoid_polygon_area.restype = c_double
-    G_ellipsoid_polygon_area.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 95
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_planimetric_polygon_area'):
-    G_planimetric_polygon_area = _libs['grass_gis.7.0.svn'].G_planimetric_polygon_area
-    G_planimetric_polygon_area.restype = c_double
-    G_planimetric_polygon_area.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 98
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_zone_area_on_sphere'):
-    G_begin_zone_area_on_sphere = _libs['grass_gis.7.0.svn'].G_begin_zone_area_on_sphere
-    G_begin_zone_area_on_sphere.restype = None
-    G_begin_zone_area_on_sphere.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 99
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_darea0_on_sphere'):
-    G_darea0_on_sphere = _libs['grass_gis.7.0.svn'].G_darea0_on_sphere
-    G_darea0_on_sphere.restype = c_double
-    G_darea0_on_sphere.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 100
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_area_for_zone_on_sphere'):
-    G_area_for_zone_on_sphere = _libs['grass_gis.7.0.svn'].G_area_for_zone_on_sphere
-    G_area_for_zone_on_sphere.restype = c_double
-    G_area_for_zone_on_sphere.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 103
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ascii_check'):
-    G_ascii_check = _libs['grass_gis.7.0.svn'].G_ascii_check
-    G_ascii_check.restype = None
-    G_ascii_check.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 115
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_vasprintf'):
-    G_vasprintf = _libs['grass_gis.7.0.svn'].G_vasprintf
-    G_vasprintf.restype = c_int
-    G_vasprintf.argtypes = [POINTER(POINTER(c_char)), String, c_void_p]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 116
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_asprintf'):
-    _func = _libs['grass_gis.7.0.svn'].G_asprintf
-    _restype = c_int
-    _argtypes = [POINTER(POINTER(c_char)), String]
-    G_asprintf = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 120
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_basename'):
-    G_basename = _libs['grass_gis.7.0.svn'].G_basename
-    G_basename.restype = ReturnString
-    G_basename.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 123
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_bresenham_line'):
-    G_bresenham_line = _libs['grass_gis.7.0.svn'].G_bresenham_line
-    G_bresenham_line.restype = None
-    G_bresenham_line.argtypes = [c_int, c_int, c_int, c_int, CFUNCTYPE(UNCHECKED(c_int), c_int, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 126
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_clicker'):
-    G_clicker = _libs['grass_gis.7.0.svn'].G_clicker
-    G_clicker.restype = None
-    G_clicker.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 129
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_num_standard_colors'):
-    G_num_standard_colors = _libs['grass_gis.7.0.svn'].G_num_standard_colors
-    G_num_standard_colors.restype = c_int
-    G_num_standard_colors.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 132
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_insert_commas'):
-    G_insert_commas = _libs['grass_gis.7.0.svn'].G_insert_commas
-    G_insert_commas.restype = c_int
-    G_insert_commas.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 133
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_commas'):
-    G_remove_commas = _libs['grass_gis.7.0.svn'].G_remove_commas
-    G_remove_commas.restype = None
-    G_remove_commas.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 136
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_recursive_copy'):
-    G_recursive_copy = _libs['grass_gis.7.0.svn'].G_recursive_copy
-    G_recursive_copy.restype = c_int
-    G_recursive_copy.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 139
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_copy_file'):
-    G_copy_file = _libs['grass_gis.7.0.svn'].G_copy_file
-    G_copy_file.restype = c_int
-    G_copy_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 142
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_initialized'):
-    G_is_initialized = _libs['grass_gis.7.0.svn'].G_is_initialized
-    G_is_initialized.restype = c_int
-    G_is_initialized.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 143
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_initialize_done'):
-    G_initialize_done = _libs['grass_gis.7.0.svn'].G_initialize_done
-    G_initialize_done.restype = None
-    G_initialize_done.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 144
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_counter'):
-    G_init_counter = _libs['grass_gis.7.0.svn'].G_init_counter
-    G_init_counter.restype = None
-    G_init_counter.argtypes = [POINTER(struct_Counter), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 145
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_counter_next'):
-    G_counter_next = _libs['grass_gis.7.0.svn'].G_counter_next
-    G_counter_next.restype = c_int
-    G_counter_next.argtypes = [POINTER(struct_Counter)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 148
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_date'):
-    G_date = _libs['grass_gis.7.0.svn'].G_date
-    G_date.restype = ReturnString
-    G_date.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 151
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_datum_by_name'):
-    G_get_datum_by_name = _libs['grass_gis.7.0.svn'].G_get_datum_by_name
-    G_get_datum_by_name.restype = c_int
-    G_get_datum_by_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 152
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_name'):
-    G_datum_name = _libs['grass_gis.7.0.svn'].G_datum_name
-    G_datum_name.restype = ReturnString
-    G_datum_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 153
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_description'):
-    G_datum_description = _libs['grass_gis.7.0.svn'].G_datum_description
-    G_datum_description.restype = ReturnString
-    G_datum_description.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 154
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_datum_ellipsoid'):
-    G_datum_ellipsoid = _libs['grass_gis.7.0.svn'].G_datum_ellipsoid
-    G_datum_ellipsoid.restype = ReturnString
-    G_datum_ellipsoid.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 155
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_datumparams_from_projinfo'):
-    G_get_datumparams_from_projinfo = _libs['grass_gis.7.0.svn'].G_get_datumparams_from_projinfo
-    G_get_datumparams_from_projinfo.restype = c_int
-    G_get_datumparams_from_projinfo.argtypes = [POINTER(struct_Key_Value), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 156
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_datum_table'):
-    G_read_datum_table = _libs['grass_gis.7.0.svn'].G_read_datum_table
-    G_read_datum_table.restype = None
-    G_read_datum_table.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 160
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_debug'):
-    G_init_debug = _libs['grass_gis.7.0.svn'].G_init_debug
-    G_init_debug.restype = None
-    G_init_debug.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 161
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_debug'):
-    _func = _libs['grass_gis.7.0.svn'].G_debug
-    _restype = c_int
-    _argtypes = [c_int, String]
-    G_debug = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 164
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_distance_calculations'):
-    G_begin_distance_calculations = _libs['grass_gis.7.0.svn'].G_begin_distance_calculations
-    G_begin_distance_calculations.restype = c_int
-    G_begin_distance_calculations.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 165
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance'):
-    G_distance = _libs['grass_gis.7.0.svn'].G_distance
-    G_distance.restype = c_double
-    G_distance.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 166
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance_between_line_segments'):
-    G_distance_between_line_segments = _libs['grass_gis.7.0.svn'].G_distance_between_line_segments
-    G_distance_between_line_segments.restype = c_double
-    G_distance_between_line_segments.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 168
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance_point_to_line_segment'):
-    G_distance_point_to_line_segment = _libs['grass_gis.7.0.svn'].G_distance_point_to_line_segment
-    G_distance_point_to_line_segment.restype = c_double
-    G_distance_point_to_line_segment.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 172
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_done_msg'):
-    _func = _libs['grass_gis.7.0.svn'].G_done_msg
-    _restype = None
-    _argtypes = [String]
-    G_done_msg = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 175
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_little_endian'):
-    G_is_little_endian = _libs['grass_gis.7.0.svn'].G_is_little_endian
-    G_is_little_endian.restype = c_int
-    G_is_little_endian.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 178
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_env'):
-    G_init_env = _libs['grass_gis.7.0.svn'].G_init_env
-    G_init_env.restype = None
-    G_init_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 179
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getenv'):
-    G_getenv = _libs['grass_gis.7.0.svn'].G_getenv
-    G_getenv.restype = ReturnString
-    G_getenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 180
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getenv2'):
-    G_getenv2 = _libs['grass_gis.7.0.svn'].G_getenv2
-    G_getenv2.restype = ReturnString
-    G_getenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 181
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__getenv'):
-    G__getenv = _libs['grass_gis.7.0.svn'].G__getenv
-    G__getenv.restype = ReturnString
-    G__getenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 182
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__getenv2'):
-    G__getenv2 = _libs['grass_gis.7.0.svn'].G__getenv2
-    G__getenv2.restype = ReturnString
-    G__getenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 183
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setenv'):
-    G_setenv = _libs['grass_gis.7.0.svn'].G_setenv
-    G_setenv.restype = None
-    G_setenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 184
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setenv2'):
-    G_setenv2 = _libs['grass_gis.7.0.svn'].G_setenv2
-    G_setenv2.restype = None
-    G_setenv2.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 185
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__setenv'):
-    G__setenv = _libs['grass_gis.7.0.svn'].G__setenv
-    G__setenv.restype = None
-    G__setenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 186
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__setenv2'):
-    G__setenv2 = _libs['grass_gis.7.0.svn'].G__setenv2
-    G__setenv2.restype = None
-    G__setenv2.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 187
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unsetenv'):
-    G_unsetenv = _libs['grass_gis.7.0.svn'].G_unsetenv
-    G_unsetenv.restype = None
-    G_unsetenv.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 188
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unsetenv2'):
-    G_unsetenv2 = _libs['grass_gis.7.0.svn'].G_unsetenv2
-    G_unsetenv2.restype = None
-    G_unsetenv2.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 189
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_env'):
-    G__write_env = _libs['grass_gis.7.0.svn'].G__write_env
-    G__write_env.restype = None
-    G__write_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 190
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__env_name'):
-    G__env_name = _libs['grass_gis.7.0.svn'].G__env_name
-    G__env_name.restype = ReturnString
-    G__env_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 191
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_env'):
-    G__read_env = _libs['grass_gis.7.0.svn'].G__read_env
-    G__read_env.restype = None
-    G__read_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 192
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_gisrc_mode'):
-    G_set_gisrc_mode = _libs['grass_gis.7.0.svn'].G_set_gisrc_mode
-    G_set_gisrc_mode.restype = None
-    G_set_gisrc_mode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 193
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_gisrc_mode'):
-    G_get_gisrc_mode = _libs['grass_gis.7.0.svn'].G_get_gisrc_mode
-    G_get_gisrc_mode.restype = c_int
-    G_get_gisrc_mode.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 194
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__create_alt_env'):
-    G__create_alt_env = _libs['grass_gis.7.0.svn'].G__create_alt_env
-    G__create_alt_env.restype = None
-    G__create_alt_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 195
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__switch_env'):
-    G__switch_env = _libs['grass_gis.7.0.svn'].G__switch_env
-    G__switch_env.restype = None
-    G__switch_env.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 198
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_info_format'):
-    G_info_format = _libs['grass_gis.7.0.svn'].G_info_format
-    G_info_format.restype = c_int
-    G_info_format.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 199
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_message
-    _restype = None
-    _argtypes = [String]
-    G_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 200
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_verbose_message
-    _restype = None
-    _argtypes = [String]
-    G_verbose_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 202
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_important_message'):
-    _func = _libs['grass_gis.7.0.svn'].G_important_message
-    _restype = None
-    _argtypes = [String]
-    G_important_message = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 204
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fatal_error'):
-    _func = _libs['grass_gis.7.0.svn'].G_fatal_error
-    _restype = None
-    _argtypes = [String]
-    G_fatal_error = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 206
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_warning'):
-    _func = _libs['grass_gis.7.0.svn'].G_warning
-    _restype = None
-    _argtypes = [String]
-    G_warning = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 207
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_suppress_warnings'):
-    G_suppress_warnings = _libs['grass_gis.7.0.svn'].G_suppress_warnings
-    G_suppress_warnings.restype = c_int
-    G_suppress_warnings.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 208
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_sleep_on_error'):
-    G_sleep_on_error = _libs['grass_gis.7.0.svn'].G_sleep_on_error
-    G_sleep_on_error.restype = c_int
-    G_sleep_on_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 209
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_error_routine'):
-    G_set_error_routine = _libs['grass_gis.7.0.svn'].G_set_error_routine
-    G_set_error_routine.restype = None
-    G_set_error_routine.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 210
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_error_routine'):
-    G_unset_error_routine = _libs['grass_gis.7.0.svn'].G_unset_error_routine
-    G_unset_error_routine.restype = None
-    G_unset_error_routine.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 211
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_logging'):
-    G_init_logging = _libs['grass_gis.7.0.svn'].G_init_logging
-    G_init_logging.restype = None
-    G_init_logging.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 214
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_file_name'):
-    G_file_name = _libs['grass_gis.7.0.svn'].G_file_name
-    G_file_name.restype = ReturnString
-    G_file_name.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 215
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_file_name_misc'):
-    G_file_name_misc = _libs['grass_gis.7.0.svn'].G_file_name_misc
-    G_file_name_misc.restype = ReturnString
-    G_file_name_misc.argtypes = [String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 219
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster'):
-    G_find_raster = _libs['grass_gis.7.0.svn'].G_find_raster
-    G_find_raster.restype = ReturnString
-    G_find_raster.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 220
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_raster2'):
-    G_find_raster2 = _libs['grass_gis.7.0.svn'].G_find_raster2
-    G_find_raster2.restype = ReturnString
-    G_find_raster2.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 223
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file'):
-    G_find_file = _libs['grass_gis.7.0.svn'].G_find_file
-    G_find_file.restype = ReturnString
-    G_find_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 224
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file2'):
-    G_find_file2 = _libs['grass_gis.7.0.svn'].G_find_file2
-    G_find_file2.restype = ReturnString
-    G_find_file2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 225
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file_misc'):
-    G_find_file_misc = _libs['grass_gis.7.0.svn'].G_find_file_misc
-    G_find_file_misc.restype = ReturnString
-    G_find_file_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 226
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_file2_misc'):
-    G_find_file2_misc = _libs['grass_gis.7.0.svn'].G_find_file2_misc
-    G_find_file2_misc.restype = ReturnString
-    G_find_file2_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 230
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_etc'):
-    G_find_etc = _libs['grass_gis.7.0.svn'].G_find_etc
-    G_find_etc.restype = ReturnString
-    G_find_etc.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 233
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_vector'):
-    G_find_vector = _libs['grass_gis.7.0.svn'].G_find_vector
-    G_find_vector.restype = ReturnString
-    G_find_vector.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 234
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_vector2'):
-    G_find_vector2 = _libs['grass_gis.7.0.svn'].G_find_vector2
-    G_find_vector2.restype = ReturnString
-    G_find_vector2.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 237
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_compress'):
-    G_zlib_compress = _libs['grass_gis.7.0.svn'].G_zlib_compress
-    G_zlib_compress.restype = c_int
-    G_zlib_compress.argtypes = [POINTER(c_ubyte), c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 238
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_expand'):
-    G_zlib_expand = _libs['grass_gis.7.0.svn'].G_zlib_expand
-    G_zlib_expand.restype = c_int
-    G_zlib_expand.argtypes = [POINTER(c_ubyte), c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 239
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_write'):
-    G_zlib_write = _libs['grass_gis.7.0.svn'].G_zlib_write
-    G_zlib_write.restype = c_int
-    G_zlib_write.argtypes = [c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 240
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_read'):
-    G_zlib_read = _libs['grass_gis.7.0.svn'].G_zlib_read
-    G_zlib_read.restype = c_int
-    G_zlib_read.argtypes = [c_int, c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 241
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zlib_write_noCompress'):
-    G_zlib_write_noCompress = _libs['grass_gis.7.0.svn'].G_zlib_write_noCompress
-    G_zlib_write_noCompress.restype = c_int
-    G_zlib_write_noCompress.argtypes = [c_int, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 244
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_geodesic_equation'):
-    G_begin_geodesic_equation = _libs['grass_gis.7.0.svn'].G_begin_geodesic_equation
-    G_begin_geodesic_equation.restype = c_int
-    G_begin_geodesic_equation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 245
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_lat_from_lon'):
-    G_geodesic_lat_from_lon = _libs['grass_gis.7.0.svn'].G_geodesic_lat_from_lon
-    G_geodesic_lat_from_lon.restype = c_double
-    G_geodesic_lat_from_lon.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 248
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_geodesic_distance'):
-    G_begin_geodesic_distance = _libs['grass_gis.7.0.svn'].G_begin_geodesic_distance
-    G_begin_geodesic_distance.restype = None
-    G_begin_geodesic_distance.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 249
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_geodesic_distance_lat1'):
-    G_set_geodesic_distance_lat1 = _libs['grass_gis.7.0.svn'].G_set_geodesic_distance_lat1
-    G_set_geodesic_distance_lat1.restype = None
-    G_set_geodesic_distance_lat1.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 250
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_geodesic_distance_lat2'):
-    G_set_geodesic_distance_lat2 = _libs['grass_gis.7.0.svn'].G_set_geodesic_distance_lat2
-    G_set_geodesic_distance_lat2.restype = None
-    G_set_geodesic_distance_lat2.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 251
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_distance_lon_to_lon'):
-    G_geodesic_distance_lon_to_lon = _libs['grass_gis.7.0.svn'].G_geodesic_distance_lon_to_lon
-    G_geodesic_distance_lon_to_lon.restype = c_double
-    G_geodesic_distance_lon_to_lon.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 252
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_geodesic_distance'):
-    G_geodesic_distance = _libs['grass_gis.7.0.svn'].G_geodesic_distance
-    G_geodesic_distance.restype = c_double
-    G_geodesic_distance.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 255
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_ellipsoid_parameters'):
-    G_get_ellipsoid_parameters = _libs['grass_gis.7.0.svn'].G_get_ellipsoid_parameters
-    G_get_ellipsoid_parameters.restype = c_int
-    G_get_ellipsoid_parameters.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 256
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_spheroid_by_name'):
-    G_get_spheroid_by_name = _libs['grass_gis.7.0.svn'].G_get_spheroid_by_name
-    G_get_spheroid_by_name.restype = c_int
-    G_get_spheroid_by_name.argtypes = [String, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 257
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_ellipsoid_by_name'):
-    G_get_ellipsoid_by_name = _libs['grass_gis.7.0.svn'].G_get_ellipsoid_by_name
-    G_get_ellipsoid_by_name.restype = c_int
-    G_get_ellipsoid_by_name.argtypes = [String, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 258
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_name'):
-    G_ellipsoid_name = _libs['grass_gis.7.0.svn'].G_ellipsoid_name
-    G_ellipsoid_name.restype = ReturnString
-    G_ellipsoid_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 259
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ellipsoid_description'):
-    G_ellipsoid_description = _libs['grass_gis.7.0.svn'].G_ellipsoid_description
-    G_ellipsoid_description.restype = ReturnString
-    G_ellipsoid_description.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 260
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_ellipsoid_table'):
-    G_read_ellipsoid_table = _libs['grass_gis.7.0.svn'].G_read_ellipsoid_table
-    G_read_ellipsoid_table.restype = c_int
-    G_read_ellipsoid_table.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 263
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_projunits'):
-    G_get_projunits = _libs['grass_gis.7.0.svn'].G_get_projunits
-    G_get_projunits.restype = POINTER(struct_Key_Value)
-    G_get_projunits.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 264
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_projinfo'):
-    G_get_projinfo = _libs['grass_gis.7.0.svn'].G_get_projinfo
-    G_get_projinfo.restype = POINTER(struct_Key_Value)
-    G_get_projinfo.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 267
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_window'):
-    G_get_window = _libs['grass_gis.7.0.svn'].G_get_window
-    G_get_window.restype = None
-    G_get_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 268
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_default_window'):
-    G_get_default_window = _libs['grass_gis.7.0.svn'].G_get_default_window
-    G_get_default_window.restype = None
-    G_get_default_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 269
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__get_window'):
-    G__get_window = _libs['grass_gis.7.0.svn'].G__get_window
-    G__get_window.restype = None
-    G__get_window.argtypes = [POINTER(struct_Cell_head), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 273
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getl'):
-    G_getl = _libs['grass_gis.7.0.svn'].G_getl
-    G_getl.restype = c_int
-    G_getl.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 274
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_getl2'):
-    G_getl2 = _libs['grass_gis.7.0.svn'].G_getl2
-    G_getl2.restype = c_int
-    G_getl2.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 277
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_gisbase'):
-    G_gisbase = _libs['grass_gis.7.0.svn'].G_gisbase
-    G_gisbase.restype = ReturnString
-    G_gisbase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 280
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_gisdbase'):
-    G_gisdbase = _libs['grass_gis.7.0.svn'].G_gisdbase
-    G_gisdbase.restype = ReturnString
-    G_gisdbase.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 283
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__gisinit'):
-    G__gisinit = _libs['grass_gis.7.0.svn'].G__gisinit
-    G__gisinit.restype = None
-    G__gisinit.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 284
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__no_gisinit'):
-    G__no_gisinit = _libs['grass_gis.7.0.svn'].G__no_gisinit
-    G__no_gisinit.restype = None
-    G__no_gisinit.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 285
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__check_gisinit'):
-    G__check_gisinit = _libs['grass_gis.7.0.svn'].G__check_gisinit
-    G__check_gisinit.restype = None
-    G__check_gisinit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 286
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_all'):
-    G_init_all = _libs['grass_gis.7.0.svn'].G_init_all
-    G_init_all.restype = None
-    G_init_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 289
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_error_handler'):
-    G_add_error_handler = _libs['grass_gis.7.0.svn'].G_add_error_handler
-    G_add_error_handler.restype = None
-    G_add_error_handler.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 290
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_error_handler'):
-    G_remove_error_handler = _libs['grass_gis.7.0.svn'].G_remove_error_handler
-    G_remove_error_handler.restype = None
-    G_remove_error_handler.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 291
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__call_error_handlers'):
-    G__call_error_handlers = _libs['grass_gis.7.0.svn'].G__call_error_handlers
-    G__call_error_handlers.restype = None
-    G__call_error_handlers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 294
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_home'):
-    G_home = _libs['grass_gis.7.0.svn'].G_home
-    G_home.restype = ReturnString
-    G_home.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 295
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__home'):
-    G__home = _libs['grass_gis.7.0.svn'].G__home
-    G__home.restype = ReturnString
-    G__home.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 298
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_intersect_line_segments'):
-    G_intersect_line_segments = _libs['grass_gis.7.0.svn'].G_intersect_line_segments
-    G_intersect_line_segments.restype = c_int
-    G_intersect_line_segments.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 303
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_gisbase'):
-    G_is_gisbase = _libs['grass_gis.7.0.svn'].G_is_gisbase
-    G_is_gisbase.restype = c_int
-    G_is_gisbase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 304
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_location'):
-    G_is_location = _libs['grass_gis.7.0.svn'].G_is_location
-    G_is_location.restype = c_int
-    G_is_location.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 305
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_mapset'):
-    G_is_mapset = _libs['grass_gis.7.0.svn'].G_is_mapset
-    G_is_mapset.restype = c_int
-    G_is_mapset.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 308
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_create_key_value'):
-    G_create_key_value = _libs['grass_gis.7.0.svn'].G_create_key_value
-    G_create_key_value.restype = POINTER(struct_Key_Value)
-    G_create_key_value.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 309
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_key_value'):
-    G_set_key_value = _libs['grass_gis.7.0.svn'].G_set_key_value
-    G_set_key_value.restype = None
-    G_set_key_value.argtypes = [String, String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 310
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_find_key_value'):
-    G_find_key_value = _libs['grass_gis.7.0.svn'].G_find_key_value
-    G_find_key_value.restype = ReturnString
-    G_find_key_value.argtypes = [String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 311
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_key_value'):
-    G_free_key_value = _libs['grass_gis.7.0.svn'].G_free_key_value
-    G_free_key_value.restype = None
-    G_free_key_value.argtypes = [POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 314
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fwrite_key_value'):
-    G_fwrite_key_value = _libs['grass_gis.7.0.svn'].G_fwrite_key_value
-    G_fwrite_key_value.restype = c_int
-    G_fwrite_key_value.argtypes = [POINTER(FILE), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 315
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fread_key_value'):
-    G_fread_key_value = _libs['grass_gis.7.0.svn'].G_fread_key_value
-    G_fread_key_value.restype = POINTER(struct_Key_Value)
-    G_fread_key_value.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 318
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_key_value_file'):
-    G_write_key_value_file = _libs['grass_gis.7.0.svn'].G_write_key_value_file
-    G_write_key_value_file.restype = None
-    G_write_key_value_file.argtypes = [String, POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 319
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_key_value_file'):
-    G_read_key_value_file = _libs['grass_gis.7.0.svn'].G_read_key_value_file
-    G_read_key_value_file.restype = POINTER(struct_Key_Value)
-    G_read_key_value_file.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 322
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_update_key_value_file'):
-    G_update_key_value_file = _libs['grass_gis.7.0.svn'].G_update_key_value_file
-    G_update_key_value_file.restype = None
-    G_update_key_value_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 323
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lookup_key_value_from_file'):
-    G_lookup_key_value_from_file = _libs['grass_gis.7.0.svn'].G_lookup_key_value_from_file
-    G_lookup_key_value_from_file.restype = c_int
-    G_lookup_key_value_from_file.argtypes = [String, String, POINTER(c_char), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 326
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_legal_filename'):
-    G_legal_filename = _libs['grass_gis.7.0.svn'].G_legal_filename
-    G_legal_filename.restype = c_int
-    G_legal_filename.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 327
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_check_input_output_name'):
-    G_check_input_output_name = _libs['grass_gis.7.0.svn'].G_check_input_output_name
-    G_check_input_output_name.restype = c_int
-    G_check_input_output_name.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 330
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_distance_to_line_tolerance'):
-    G_set_distance_to_line_tolerance = _libs['grass_gis.7.0.svn'].G_set_distance_to_line_tolerance
-    G_set_distance_to_line_tolerance.restype = None
-    G_set_distance_to_line_tolerance.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 331
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_distance2_point_to_line'):
-    G_distance2_point_to_line = _libs['grass_gis.7.0.svn'].G_distance2_point_to_line
-    G_distance2_point_to_line.restype = c_double
-    G_distance2_point_to_line.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 335
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list_element'):
-    G_list_element = _libs['grass_gis.7.0.svn'].G_list_element
-    G_list_element.restype = None
-    G_list_element.argtypes = [String, String, String, CFUNCTYPE(UNCHECKED(c_int), String, String, String)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 337
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_list'):
-    G_list = _libs['grass_gis.7.0.svn'].G_list
-    G_list.restype = POINTER(POINTER(c_char))
-    G_list.argtypes = [c_int, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 338
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_list'):
-    G_free_list = _libs['grass_gis.7.0.svn'].G_free_list
-    G_free_list.restype = None
-    G_free_list.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 341
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_format'):
-    G_lat_format = _libs['grass_gis.7.0.svn'].G_lat_format
-    G_lat_format.restype = None
-    G_lat_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 342
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_format_string'):
-    G_lat_format_string = _libs['grass_gis.7.0.svn'].G_lat_format_string
-    G_lat_format_string.restype = ReturnString
-    G_lat_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 343
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_format'):
-    G_lon_format = _libs['grass_gis.7.0.svn'].G_lon_format
-    G_lon_format.restype = None
-    G_lon_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 344
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_format_string'):
-    G_lon_format_string = _libs['grass_gis.7.0.svn'].G_lon_format_string
-    G_lon_format_string.restype = ReturnString
-    G_lon_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 345
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_format'):
-    G_llres_format = _libs['grass_gis.7.0.svn'].G_llres_format
-    G_llres_format.restype = None
-    G_llres_format.argtypes = [c_double, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 346
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_format_string'):
-    G_llres_format_string = _libs['grass_gis.7.0.svn'].G_llres_format_string
-    G_llres_format_string.restype = ReturnString
-    G_llres_format_string.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 347
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_parts'):
-    G_lat_parts = _libs['grass_gis.7.0.svn'].G_lat_parts
-    G_lat_parts.restype = None
-    G_lat_parts.argtypes = [c_double, POINTER(c_int), POINTER(c_int), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 348
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_parts'):
-    G_lon_parts = _libs['grass_gis.7.0.svn'].G_lon_parts
-    G_lon_parts.restype = None
-    G_lon_parts.argtypes = [c_double, POINTER(c_int), POINTER(c_int), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 351
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lat_scan'):
-    G_lat_scan = _libs['grass_gis.7.0.svn'].G_lat_scan
-    G_lat_scan.restype = c_int
-    G_lat_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 352
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lon_scan'):
-    G_lon_scan = _libs['grass_gis.7.0.svn'].G_lon_scan
-    G_lon_scan.restype = c_int
-    G_lon_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 353
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_llres_scan'):
-    G_llres_scan = _libs['grass_gis.7.0.svn'].G_llres_scan
-    G_llres_scan.restype = c_int
-    G_llres_scan.argtypes = [String, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 356
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_location'):
-    G_location = _libs['grass_gis.7.0.svn'].G_location
-    G_location.restype = ReturnString
-    G_location.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 357
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_location_path'):
-    G_location_path = _libs['grass_gis.7.0.svn'].G_location_path
-    G_location_path.restype = ReturnString
-    G_location_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 358
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__location_path'):
-    G__location_path = _libs['grass_gis.7.0.svn'].G__location_path
-    G__location_path.restype = ReturnString
-    G__location_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 361
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_ls_filter'):
-    G_set_ls_filter = _libs['grass_gis.7.0.svn'].G_set_ls_filter
-    G_set_ls_filter.restype = None
-    G_set_ls_filter.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 362
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_ls_exclude_filter'):
-    G_set_ls_exclude_filter = _libs['grass_gis.7.0.svn'].G_set_ls_exclude_filter
-    G_set_ls_exclude_filter.restype = None
-    G_set_ls_exclude_filter.argtypes = [CFUNCTYPE(UNCHECKED(c_int), String, POINTER(None)), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 363
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__ls'):
-    G__ls = _libs['grass_gis.7.0.svn'].G__ls
-    G__ls.restype = POINTER(POINTER(c_char))
-    G__ls.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 364
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls'):
-    G_ls = _libs['grass_gis.7.0.svn'].G_ls
-    G_ls.restype = None
-    G_ls.argtypes = [String, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 365
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_format'):
-    G_ls_format = _libs['grass_gis.7.0.svn'].G_ls_format
-    G_ls_format.restype = None
-    G_ls_format.argtypes = [POINTER(POINTER(c_char)), c_int, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 369
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_regex_filter'):
-    G_ls_regex_filter = _libs['grass_gis.7.0.svn'].G_ls_regex_filter
-    G_ls_regex_filter.restype = POINTER(None)
-    G_ls_regex_filter.argtypes = [String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 370
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ls_glob_filter'):
-    G_ls_glob_filter = _libs['grass_gis.7.0.svn'].G_ls_glob_filter
-    G_ls_glob_filter.restype = POINTER(None)
-    G_ls_glob_filter.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 371
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_ls_filter'):
-    G_free_ls_filter = _libs['grass_gis.7.0.svn'].G_free_ls_filter
-    G_free_ls_filter.restype = None
-    G_free_ls_filter.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 375
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__machine_name'):
-    G__machine_name = _libs['grass_gis.7.0.svn'].G__machine_name
-    G__machine_name.restype = ReturnString
-    G__machine_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 378
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_location'):
-    G__make_location = _libs['grass_gis.7.0.svn'].G__make_location
-    G__make_location.restype = c_int
-    G__make_location.argtypes = [String, POINTER(struct_Cell_head), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 380
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_make_location'):
-    G_make_location = _libs['grass_gis.7.0.svn'].G_make_location
-    G_make_location.restype = c_int
-    G_make_location.argtypes = [String, POINTER(struct_Cell_head), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 382
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_compare_projections'):
-    G_compare_projections = _libs['grass_gis.7.0.svn'].G_compare_projections
-    G_compare_projections.restype = c_int
-    G_compare_projections.argtypes = [POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(struct_Key_Value), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 386
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset'):
-    G__make_mapset = _libs['grass_gis.7.0.svn'].G__make_mapset
-    G__make_mapset.restype = c_int
-    G__make_mapset.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 388
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_make_mapset'):
-    G_make_mapset = _libs['grass_gis.7.0.svn'].G_make_mapset
-    G_make_mapset.restype = c_int
-    G_make_mapset.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 392
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tolcase'):
-    G_tolcase = _libs['grass_gis.7.0.svn'].G_tolcase
-    G_tolcase.restype = ReturnString
-    G_tolcase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 393
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_toucase'):
-    G_toucase = _libs['grass_gis.7.0.svn'].G_toucase
-    G_toucase.restype = ReturnString
-    G_toucase.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 396
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_mapset'):
-    G_mapset = _libs['grass_gis.7.0.svn'].G_mapset
-    G_mapset.restype = ReturnString
-    G_mapset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 397
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset'):
-    G__mapset = _libs['grass_gis.7.0.svn'].G__mapset
-    G__mapset.restype = ReturnString
-    G__mapset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 400
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset_element'):
-    G__make_mapset_element = _libs['grass_gis.7.0.svn'].G__make_mapset_element
-    G__make_mapset_element.restype = c_int
-    G__make_mapset_element.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 401
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__make_mapset_element_misc'):
-    G__make_mapset_element_misc = _libs['grass_gis.7.0.svn'].G__make_mapset_element_misc
-    G__make_mapset_element_misc.restype = c_int
-    G__make_mapset_element_misc.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 402
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_permissions'):
-    G__mapset_permissions = _libs['grass_gis.7.0.svn'].G__mapset_permissions
-    G__mapset_permissions.restype = c_int
-    G__mapset_permissions.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 403
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_permissions2'):
-    G__mapset_permissions2 = _libs['grass_gis.7.0.svn'].G__mapset_permissions2
-    G__mapset_permissions2.restype = c_int
-    G__mapset_permissions2.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 406
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__mapset_name'):
-    G__mapset_name = _libs['grass_gis.7.0.svn'].G__mapset_name
-    G__mapset_name.restype = ReturnString
-    G__mapset_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 407
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_list_of_mapsets'):
-    G_get_list_of_mapsets = _libs['grass_gis.7.0.svn'].G_get_list_of_mapsets
-    G_get_list_of_mapsets.restype = None
-    G_get_list_of_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 408
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__create_alt_search_path'):
-    G__create_alt_search_path = _libs['grass_gis.7.0.svn'].G__create_alt_search_path
-    G__create_alt_search_path.restype = None
-    G__create_alt_search_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 409
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__switch_search_path'):
-    G__switch_search_path = _libs['grass_gis.7.0.svn'].G__switch_search_path
-    G__switch_search_path.restype = None
-    G__switch_search_path.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 410
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_reset_mapsets'):
-    G_reset_mapsets = _libs['grass_gis.7.0.svn'].G_reset_mapsets
-    G_reset_mapsets.restype = None
-    G_reset_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 411
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_available_mapsets'):
-    G_available_mapsets = _libs['grass_gis.7.0.svn'].G_available_mapsets
-    G_available_mapsets.restype = POINTER(POINTER(c_char))
-    G_available_mapsets.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 412
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_mapset_to_search_path'):
-    G_add_mapset_to_search_path = _libs['grass_gis.7.0.svn'].G_add_mapset_to_search_path
-    G_add_mapset_to_search_path.restype = None
-    G_add_mapset_to_search_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 413
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_mapset_in_search_path'):
-    G_is_mapset_in_search_path = _libs['grass_gis.7.0.svn'].G_is_mapset_in_search_path
-    G_is_mapset_in_search_path.restype = c_int
-    G_is_mapset_in_search_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 416
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_myname'):
-    G_myname = _libs['grass_gis.7.0.svn'].G_myname
-    G_myname.restype = ReturnString
-    G_myname.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 419
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_values'):
-    G_color_values = _libs['grass_gis.7.0.svn'].G_color_values
-    G_color_values.restype = c_int
-    G_color_values.argtypes = [String, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 420
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_color_name'):
-    G_color_name = _libs['grass_gis.7.0.svn'].G_color_name
-    G_color_name.restype = ReturnString
-    G_color_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 423
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_newlines_to_spaces'):
-    G_newlines_to_spaces = _libs['grass_gis.7.0.svn'].G_newlines_to_spaces
-    G_newlines_to_spaces.restype = None
-    G_newlines_to_spaces.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 426
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_name_is_fully_qualified'):
-    G_name_is_fully_qualified = _libs['grass_gis.7.0.svn'].G_name_is_fully_qualified
-    G_name_is_fully_qualified.restype = c_int
-    G_name_is_fully_qualified.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 427
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fully_qualified_name'):
-    G_fully_qualified_name = _libs['grass_gis.7.0.svn'].G_fully_qualified_name
-    G_fully_qualified_name.restype = ReturnString
-    G_fully_qualified_name.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 428
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unqualified_name'):
-    G_unqualified_name = _libs['grass_gis.7.0.svn'].G_unqualified_name
-    G_unqualified_name.restype = c_int
-    G_unqualified_name.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 431
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_new'):
-    G_open_new = _libs['grass_gis.7.0.svn'].G_open_new
-    G_open_new.restype = c_int
-    G_open_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 432
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_old'):
-    G_open_old = _libs['grass_gis.7.0.svn'].G_open_old
-    G_open_old.restype = c_int
-    G_open_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 433
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_update'):
-    G_open_update = _libs['grass_gis.7.0.svn'].G_open_update
-    G_open_update.restype = c_int
-    G_open_update.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 434
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_new'):
-    G_fopen_new = _libs['grass_gis.7.0.svn'].G_fopen_new
-    G_fopen_new.restype = POINTER(FILE)
-    G_fopen_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 435
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_old'):
-    G_fopen_old = _libs['grass_gis.7.0.svn'].G_fopen_old
-    G_fopen_old.restype = POINTER(FILE)
-    G_fopen_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 436
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_append'):
-    G_fopen_append = _libs['grass_gis.7.0.svn'].G_fopen_append
-    G_fopen_append.restype = POINTER(FILE)
-    G_fopen_append.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 437
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_modify'):
-    G_fopen_modify = _libs['grass_gis.7.0.svn'].G_fopen_modify
-    G_fopen_modify.restype = POINTER(FILE)
-    G_fopen_modify.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 440
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_new_misc'):
-    G_open_new_misc = _libs['grass_gis.7.0.svn'].G_open_new_misc
-    G_open_new_misc.restype = c_int
-    G_open_new_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 441
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_old_misc'):
-    G_open_old_misc = _libs['grass_gis.7.0.svn'].G_open_old_misc
-    G_open_old_misc.restype = c_int
-    G_open_old_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 442
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_update_misc'):
-    G_open_update_misc = _libs['grass_gis.7.0.svn'].G_open_update_misc
-    G_open_update_misc.restype = c_int
-    G_open_update_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 443
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_new_misc'):
-    G_fopen_new_misc = _libs['grass_gis.7.0.svn'].G_fopen_new_misc
-    G_fopen_new_misc.restype = POINTER(FILE)
-    G_fopen_new_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 444
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_old_misc'):
-    G_fopen_old_misc = _libs['grass_gis.7.0.svn'].G_fopen_old_misc
-    G_fopen_old_misc.restype = POINTER(FILE)
-    G_fopen_old_misc.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 446
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_append_misc'):
-    G_fopen_append_misc = _libs['grass_gis.7.0.svn'].G_fopen_append_misc
-    G_fopen_append_misc.restype = POINTER(FILE)
-    G_fopen_append_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 447
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fopen_modify_misc'):
-    G_fopen_modify_misc = _libs['grass_gis.7.0.svn'].G_fopen_modify_misc
-    G_fopen_modify_misc.restype = POINTER(FILE)
-    G_fopen_modify_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 450
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_check_overwrite'):
-    G_check_overwrite = _libs['grass_gis.7.0.svn'].G_check_overwrite
-    G_check_overwrite.restype = c_int
-    G_check_overwrite.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 453
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_pager'):
-    G_open_pager = _libs['grass_gis.7.0.svn'].G_open_pager
-    G_open_pager.restype = POINTER(FILE)
-    G_open_pager.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 454
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_close_pager'):
-    G_close_pager = _libs['grass_gis.7.0.svn'].G_close_pager
-    G_close_pager.restype = None
-    G_close_pager.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 455
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_open_mail'):
-    G_open_mail = _libs['grass_gis.7.0.svn'].G_open_mail
-    G_open_mail.restype = POINTER(FILE)
-    G_open_mail.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 456
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_close_mail'):
-    G_close_mail = _libs['grass_gis.7.0.svn'].G_close_mail
-    G_close_mail.restype = None
-    G_close_mail.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 459
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_disable_interactive'):
-    G_disable_interactive = _libs['grass_gis.7.0.svn'].G_disable_interactive
-    G_disable_interactive.restype = None
-    G_disable_interactive.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 460
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_module'):
-    G_define_module = _libs['grass_gis.7.0.svn'].G_define_module
-    G_define_module.restype = POINTER(struct_GModule)
-    G_define_module.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 461
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_flag'):
-    G_define_flag = _libs['grass_gis.7.0.svn'].G_define_flag
-    G_define_flag.restype = POINTER(struct_Flag)
-    G_define_flag.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 462
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_option'):
-    G_define_option = _libs['grass_gis.7.0.svn'].G_define_option
-    G_define_option.restype = POINTER(struct_Option)
-    G_define_option.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 463
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_define_standard_option'):
-    G_define_standard_option = _libs['grass_gis.7.0.svn'].G_define_standard_option
-    G_define_standard_option.restype = POINTER(struct_Option)
-    G_define_standard_option.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 464
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_parser'):
-    G_parser = _libs['grass_gis.7.0.svn'].G_parser
-    G_parser.restype = c_int
-    G_parser.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 465
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_usage'):
-    G_usage = _libs['grass_gis.7.0.svn'].G_usage
-    G_usage.restype = None
-    G_usage.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 466
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_recreate_command'):
-    G_recreate_command = _libs['grass_gis.7.0.svn'].G_recreate_command
-    G_recreate_command.restype = ReturnString
-    G_recreate_command.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 467
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_add_keyword'):
-    G_add_keyword = _libs['grass_gis.7.0.svn'].G_add_keyword
-    G_add_keyword.restype = None
-    G_add_keyword.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 468
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_keywords'):
-    G_set_keywords = _libs['grass_gis.7.0.svn'].G_set_keywords
-    G_set_keywords.restype = None
-    G_set_keywords.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 469
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_overwrite'):
-    G_get_overwrite = _libs['grass_gis.7.0.svn'].G_get_overwrite
-    G_get_overwrite.restype = c_int
-    G_get_overwrite.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 472
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_mkdir'):
-    G_mkdir = _libs['grass_gis.7.0.svn'].G_mkdir
-    G_mkdir.restype = c_int
-    G_mkdir.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 473
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_dirsep'):
-    G_is_dirsep = _libs['grass_gis.7.0.svn'].G_is_dirsep
-    G_is_dirsep.restype = c_int
-    G_is_dirsep.argtypes = [c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 474
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_is_absolute_path'):
-    G_is_absolute_path = _libs['grass_gis.7.0.svn'].G_is_absolute_path
-    G_is_absolute_path.restype = c_int
-    G_is_absolute_path.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 475
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_convert_dirseps_to_host'):
-    G_convert_dirseps_to_host = _libs['grass_gis.7.0.svn'].G_convert_dirseps_to_host
-    G_convert_dirseps_to_host.restype = ReturnString
-    G_convert_dirseps_to_host.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 476
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_convert_dirseps_from_host'):
-    G_convert_dirseps_from_host = _libs['grass_gis.7.0.svn'].G_convert_dirseps_from_host
-    G_convert_dirseps_from_host.restype = ReturnString
-    G_convert_dirseps_from_host.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 477
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_lstat'):
-    G_lstat = _libs['grass_gis.7.0.svn'].G_lstat
-    G_lstat.restype = c_int
-    G_lstat.argtypes = [String, POINTER(STRUCT_STAT)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 478
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_stat'):
-    G_stat = _libs['grass_gis.7.0.svn'].G_stat
-    G_stat.restype = c_int
-    G_stat.argtypes = [String, POINTER(STRUCT_STAT)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 481
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_percent'):
-    G_percent = _libs['grass_gis.7.0.svn'].G_percent
-    G_percent.restype = None
-    G_percent.argtypes = [c_long, c_long, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 482
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_percent_reset'):
-    G_percent_reset = _libs['grass_gis.7.0.svn'].G_percent_reset
-    G_percent_reset.restype = None
-    G_percent_reset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 483
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_percent_routine'):
-    G_set_percent_routine = _libs['grass_gis.7.0.svn'].G_set_percent_routine
-    G_set_percent_routine.restype = None
-    G_set_percent_routine.argtypes = [CFUNCTYPE(UNCHECKED(c_int), c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 484
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_unset_percent_routine'):
-    G_unset_percent_routine = _libs['grass_gis.7.0.svn'].G_unset_percent_routine
-    G_unset_percent_routine.restype = None
-    G_unset_percent_routine.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 487
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_clear'):
-    G_popen_clear = _libs['grass_gis.7.0.svn'].G_popen_clear
-    G_popen_clear.restype = None
-    G_popen_clear.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 488
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_write'):
-    G_popen_write = _libs['grass_gis.7.0.svn'].G_popen_write
-    G_popen_write.restype = POINTER(FILE)
-    G_popen_write.argtypes = [POINTER(struct_Popen), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 489
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_read'):
-    G_popen_read = _libs['grass_gis.7.0.svn'].G_popen_read
-    G_popen_read.restype = POINTER(FILE)
-    G_popen_read.argtypes = [POINTER(struct_Popen), String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 490
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_popen_close'):
-    G_popen_close = _libs['grass_gis.7.0.svn'].G_popen_close
-    G_popen_close.restype = None
-    G_popen_close.argtypes = [POINTER(struct_Popen)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 493
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setup_plot'):
-    G_setup_plot = _libs['grass_gis.7.0.svn'].G_setup_plot
-    G_setup_plot.restype = None
-    G_setup_plot.argtypes = [c_double, c_double, c_double, c_double, CFUNCTYPE(UNCHECKED(c_int), c_int, c_int), CFUNCTYPE(UNCHECKED(c_int), c_int, c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 495
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_setup_fill'):
-    G_setup_fill = _libs['grass_gis.7.0.svn'].G_setup_fill
-    G_setup_fill.restype = None
-    G_setup_fill.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 496
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_where_xy'):
-    G_plot_where_xy = _libs['grass_gis.7.0.svn'].G_plot_where_xy
-    G_plot_where_xy.restype = None
-    G_plot_where_xy.argtypes = [c_double, c_double, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 497
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_where_en'):
-    G_plot_where_en = _libs['grass_gis.7.0.svn'].G_plot_where_en
-    G_plot_where_en.restype = None
-    G_plot_where_en.argtypes = [c_int, c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 498
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_point'):
-    G_plot_point = _libs['grass_gis.7.0.svn'].G_plot_point
-    G_plot_point.restype = None
-    G_plot_point.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 499
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_line'):
-    G_plot_line = _libs['grass_gis.7.0.svn'].G_plot_line
-    G_plot_line.restype = None
-    G_plot_line.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 500
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_line2'):
-    G_plot_line2 = _libs['grass_gis.7.0.svn'].G_plot_line2
-    G_plot_line2.restype = None
-    G_plot_line2.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 501
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_polygon'):
-    G_plot_polygon = _libs['grass_gis.7.0.svn'].G_plot_polygon
-    G_plot_polygon.restype = c_int
-    G_plot_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 502
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_area'):
-    G_plot_area = _libs['grass_gis.7.0.svn'].G_plot_area
-    G_plot_area.restype = c_int
-    G_plot_area.argtypes = [POINTER(POINTER(c_double)), POINTER(POINTER(c_double)), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 503
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_plot_fx'):
-    G_plot_fx = _libs['grass_gis.7.0.svn'].G_plot_fx
-    G_plot_fx.restype = None
-    G_plot_fx.argtypes = [CFUNCTYPE(UNCHECKED(c_double), c_double), c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 506
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_pole_in_polygon'):
-    G_pole_in_polygon = _libs['grass_gis.7.0.svn'].G_pole_in_polygon
-    G_pole_in_polygon.restype = c_int
-    G_pole_in_polygon.argtypes = [POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 509
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_program_name'):
-    G_program_name = _libs['grass_gis.7.0.svn'].G_program_name
-    G_program_name.restype = ReturnString
-    G_program_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 510
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_program_name'):
-    G_set_program_name = _libs['grass_gis.7.0.svn'].G_set_program_name
-    G_set_program_name.restype = None
-    G_set_program_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 513
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_projection'):
-    G_projection = _libs['grass_gis.7.0.svn'].G_projection
-    G_projection.restype = c_int
-    G_projection.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 516
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__projection_units'):
-    G__projection_units = _libs['grass_gis.7.0.svn'].G__projection_units
-    G__projection_units.restype = c_int
-    G__projection_units.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 517
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__projection_name'):
-    G__projection_name = _libs['grass_gis.7.0.svn'].G__projection_name
-    G__projection_name.restype = ReturnString
-    G__projection_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 520
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_unit_name'):
-    G_database_unit_name = _libs['grass_gis.7.0.svn'].G_database_unit_name
-    G_database_unit_name.restype = ReturnString
-    G_database_unit_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 521
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_projection_name'):
-    G_database_projection_name = _libs['grass_gis.7.0.svn'].G_database_projection_name
-    G_database_projection_name.restype = ReturnString
-    G_database_projection_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 522
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_datum_name'):
-    G_database_datum_name = _libs['grass_gis.7.0.svn'].G_database_datum_name
-    G_database_datum_name.restype = ReturnString
-    G_database_datum_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 523
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_ellipse_name'):
-    G_database_ellipse_name = _libs['grass_gis.7.0.svn'].G_database_ellipse_name
-    G_database_ellipse_name.restype = ReturnString
-    G_database_ellipse_name.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 524
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_database_units_to_meters_factor'):
-    G_database_units_to_meters_factor = _libs['grass_gis.7.0.svn'].G_database_units_to_meters_factor
-    G_database_units_to_meters_factor.restype = c_double
-    G_database_units_to_meters_factor.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 527
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_put_window'):
-    G_put_window = _libs['grass_gis.7.0.svn'].G_put_window
-    G_put_window.restype = c_int
-    G_put_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 528
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__put_window'):
-    G__put_window = _libs['grass_gis.7.0.svn'].G__put_window
-    G__put_window.restype = c_int
-    G__put_window.argtypes = [POINTER(struct_Cell_head), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 531
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_putenv'):
-    G_putenv = _libs['grass_gis.7.0.svn'].G_putenv
-    G_putenv.restype = None
-    G_putenv.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 534
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_meridional_radius_of_curvature'):
-    G_meridional_radius_of_curvature = _libs['grass_gis.7.0.svn'].G_meridional_radius_of_curvature
-    G_meridional_radius_of_curvature.restype = c_double
-    G_meridional_radius_of_curvature.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 535
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_transverse_radius_of_curvature'):
-    G_transverse_radius_of_curvature = _libs['grass_gis.7.0.svn'].G_transverse_radius_of_curvature
-    G_transverse_radius_of_curvature.restype = c_double
-    G_transverse_radius_of_curvature.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 536
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_radius_of_conformal_tangent_sphere'):
-    G_radius_of_conformal_tangent_sphere = _libs['grass_gis.7.0.svn'].G_radius_of_conformal_tangent_sphere
-    G_radius_of_conformal_tangent_sphere.restype = c_double
-    G_radius_of_conformal_tangent_sphere.argtypes = [c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 539
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_Cell_head'):
-    G__read_Cell_head = _libs['grass_gis.7.0.svn'].G__read_Cell_head
-    G__read_Cell_head.restype = None
-    G__read_Cell_head.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 540
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_Cell_head_array'):
-    G__read_Cell_head_array = _libs['grass_gis.7.0.svn'].G__read_Cell_head_array
-    G__read_Cell_head_array.restype = None
-    G__read_Cell_head_array.argtypes = [POINTER(POINTER(c_char)), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 543
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove'):
-    G_remove = _libs['grass_gis.7.0.svn'].G_remove
-    G_remove.restype = c_int
-    G_remove.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 544
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_misc'):
-    G_remove_misc = _libs['grass_gis.7.0.svn'].G_remove_misc
-    G_remove_misc.restype = c_int
-    G_remove_misc.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 547
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rename_file'):
-    G_rename_file = _libs['grass_gis.7.0.svn'].G_rename_file
-    G_rename_file.restype = c_int
-    G_rename_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 548
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rename'):
-    G_rename = _libs['grass_gis.7.0.svn'].G_rename
-    G_rename.restype = c_int
-    G_rename.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 551
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_rhumbline_equation'):
-    G_begin_rhumbline_equation = _libs['grass_gis.7.0.svn'].G_begin_rhumbline_equation
-    G_begin_rhumbline_equation.restype = c_int
-    G_begin_rhumbline_equation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 552
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rhumbline_lat_from_lon'):
-    G_rhumbline_lat_from_lon = _libs['grass_gis.7.0.svn'].G_rhumbline_lat_from_lon
-    G_rhumbline_lat_from_lon.restype = c_double
-    G_rhumbline_lat_from_lon.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 555
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rotate_around_point'):
-    G_rotate_around_point = _libs['grass_gis.7.0.svn'].G_rotate_around_point
-    G_rotate_around_point.restype = None
-    G_rotate_around_point.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 556
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rotate_around_point_int'):
-    G_rotate_around_point_int = _libs['grass_gis.7.0.svn'].G_rotate_around_point_int
-    G_rotate_around_point_int.restype = None
-    G_rotate_around_point_int.argtypes = [c_int, c_int, POINTER(c_int), POINTER(c_int), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 559
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_ftell'):
-    G_ftell = _libs['grass_gis.7.0.svn'].G_ftell
-    G_ftell.restype = off_t
-    G_ftell.argtypes = [POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 560
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_fseek'):
-    G_fseek = _libs['grass_gis.7.0.svn'].G_fseek
-    G_fseek.restype = None
-    G_fseek.argtypes = [POINTER(FILE), off_t, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 563
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_set_window'):
-    G_get_set_window = _libs['grass_gis.7.0.svn'].G_get_set_window
-    G_get_set_window.restype = None
-    G_get_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 564
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_window'):
-    G_set_window = _libs['grass_gis.7.0.svn'].G_set_window
-    G_set_window.restype = None
-    G_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 567
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_shortest_way'):
-    G_shortest_way = _libs['grass_gis.7.0.svn'].G_shortest_way
-    G_shortest_way.restype = None
-    G_shortest_way.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 570
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_sleep'):
-    G_sleep = _libs['grass_gis.7.0.svn'].G_sleep
-    G_sleep.restype = None
-    G_sleep.argtypes = [c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 573
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_snprintf'):
-    _func = _libs['grass_gis.7.0.svn'].G_snprintf
-    _restype = c_int
-    _argtypes = [String, c_size_t, String]
-    G_snprintf = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 577
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strcasecmp'):
-    G_strcasecmp = _libs['grass_gis.7.0.svn'].G_strcasecmp
-    G_strcasecmp.restype = c_int
-    G_strcasecmp.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 578
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_store'):
-    G_store = _libs['grass_gis.7.0.svn'].G_store
-    G_store.restype = ReturnString
-    G_store.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 579
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strchg'):
-    G_strchg = _libs['grass_gis.7.0.svn'].G_strchg
-    G_strchg.restype = ReturnString
-    G_strchg.argtypes = [String, c_char, c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 580
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_replace'):
-    G_str_replace = _libs['grass_gis.7.0.svn'].G_str_replace
-    G_str_replace.restype = ReturnString
-    G_str_replace.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 581
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_strip'):
-    G_strip = _libs['grass_gis.7.0.svn'].G_strip
-    G_strip.restype = None
-    G_strip.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 582
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_chop'):
-    G_chop = _libs['grass_gis.7.0.svn'].G_chop
-    G_chop.restype = ReturnString
-    G_chop.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 583
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_upper'):
-    G_str_to_upper = _libs['grass_gis.7.0.svn'].G_str_to_upper
-    G_str_to_upper.restype = None
-    G_str_to_upper.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 584
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_lower'):
-    G_str_to_lower = _libs['grass_gis.7.0.svn'].G_str_to_lower
-    G_str_to_lower.restype = None
-    G_str_to_lower.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 585
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_str_to_sql'):
-    G_str_to_sql = _libs['grass_gis.7.0.svn'].G_str_to_sql
-    G_str_to_sql.restype = c_int
-    G_str_to_sql.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 586
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_squeeze'):
-    G_squeeze = _libs['grass_gis.7.0.svn'].G_squeeze
-    G_squeeze.restype = ReturnString
-    G_squeeze.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 589
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_tempfile'):
-    G_init_tempfile = _libs['grass_gis.7.0.svn'].G_init_tempfile
-    G_init_tempfile.restype = None
-    G_init_tempfile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 590
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tempfile'):
-    G_tempfile = _libs['grass_gis.7.0.svn'].G_tempfile
-    G_tempfile.restype = ReturnString
-    G_tempfile.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 591
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__tempfile'):
-    G__tempfile = _libs['grass_gis.7.0.svn'].G__tempfile
-    G__tempfile.restype = ReturnString
-    G__tempfile.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 592
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__temp_element'):
-    G__temp_element = _libs['grass_gis.7.0.svn'].G__temp_element
-    G__temp_element.restype = None
-    G__temp_element.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 595
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_timestamp'):
-    G_init_timestamp = _libs['grass_gis.7.0.svn'].G_init_timestamp
-    G_init_timestamp.restype = None
-    G_init_timestamp.argtypes = [POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 596
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_timestamp'):
-    G_set_timestamp = _libs['grass_gis.7.0.svn'].G_set_timestamp
-    G_set_timestamp.restype = None
-    G_set_timestamp.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 597
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_timestamp_range'):
-    G_set_timestamp_range = _libs['grass_gis.7.0.svn'].G_set_timestamp_range
-    G_set_timestamp_range.restype = None
-    G_set_timestamp_range.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime), POINTER(struct_DateTime)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 599
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__read_timestamp'):
-    G__read_timestamp = _libs['grass_gis.7.0.svn'].G__read_timestamp
-    G__read_timestamp.restype = c_int
-    G__read_timestamp.argtypes = [POINTER(FILE), POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 600
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_timestamp'):
-    G__write_timestamp = _libs['grass_gis.7.0.svn'].G__write_timestamp
-    G__write_timestamp.restype = c_int
-    G__write_timestamp.argtypes = [POINTER(FILE), POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 601
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_timestamps'):
-    G_get_timestamps = _libs['grass_gis.7.0.svn'].G_get_timestamps
-    G_get_timestamps.restype = None
-    G_get_timestamps.argtypes = [POINTER(struct_TimeStamp), POINTER(struct_DateTime), POINTER(struct_DateTime), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 602
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_raster_timestamp'):
-    G_read_raster_timestamp = _libs['grass_gis.7.0.svn'].G_read_raster_timestamp
-    G_read_raster_timestamp.restype = c_int
-    G_read_raster_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 603
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_vector_timestamp'):
-    G_read_vector_timestamp = _libs['grass_gis.7.0.svn'].G_read_vector_timestamp
-    G_read_vector_timestamp.restype = c_int
-    G_read_vector_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 604
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_raster_timestamp'):
-    G_write_raster_timestamp = _libs['grass_gis.7.0.svn'].G_write_raster_timestamp
-    G_write_raster_timestamp.restype = c_int
-    G_write_raster_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 605
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_vector_timestamp'):
-    G_write_vector_timestamp = _libs['grass_gis.7.0.svn'].G_write_vector_timestamp
-    G_write_vector_timestamp.restype = c_int
-    G_write_vector_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 606
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_timestamp'):
-    G_format_timestamp = _libs['grass_gis.7.0.svn'].G_format_timestamp
-    G_format_timestamp.restype = c_int
-    G_format_timestamp.argtypes = [POINTER(struct_TimeStamp), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 607
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_timestamp'):
-    G_scan_timestamp = _libs['grass_gis.7.0.svn'].G_scan_timestamp
-    G_scan_timestamp.restype = c_int
-    G_scan_timestamp.argtypes = [POINTER(struct_TimeStamp), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 608
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_raster_timestamp'):
-    G_remove_raster_timestamp = _libs['grass_gis.7.0.svn'].G_remove_raster_timestamp
-    G_remove_raster_timestamp.restype = c_int
-    G_remove_raster_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 609
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_vector_timestamp'):
-    G_remove_vector_timestamp = _libs['grass_gis.7.0.svn'].G_remove_vector_timestamp
-    G_remove_vector_timestamp.restype = c_int
-    G_remove_vector_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 610
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_read_grid3_timestamp'):
-    G_read_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_read_grid3_timestamp
-    G_read_grid3_timestamp.restype = c_int
-    G_read_grid3_timestamp.argtypes = [String, String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 611
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_remove_grid3_timestamp'):
-    G_remove_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_remove_grid3_timestamp
-    G_remove_grid3_timestamp.restype = c_int
-    G_remove_grid3_timestamp.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 612
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_grid3_timestamp'):
-    G_write_grid3_timestamp = _libs['grass_gis.7.0.svn'].G_write_grid3_timestamp
-    G_write_grid3_timestamp.restype = c_int
-    G_write_grid3_timestamp.argtypes = [String, POINTER(struct_TimeStamp)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 615
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_tokenize'):
-    G_tokenize = _libs['grass_gis.7.0.svn'].G_tokenize
-    G_tokenize.restype = POINTER(POINTER(c_char))
-    G_tokenize.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 616
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_number_of_tokens'):
-    G_number_of_tokens = _libs['grass_gis.7.0.svn'].G_number_of_tokens
-    G_number_of_tokens.restype = c_int
-    G_number_of_tokens.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 617
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_free_tokens'):
-    G_free_tokens = _libs['grass_gis.7.0.svn'].G_free_tokens
-    G_free_tokens.restype = None
-    G_free_tokens.argtypes = [POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 620
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_trim_decimal'):
-    G_trim_decimal = _libs['grass_gis.7.0.svn'].G_trim_decimal
-    G_trim_decimal.restype = None
-    G_trim_decimal.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 623
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units_to_meters_factor'):
-    G_units_to_meters_factor = _libs['grass_gis.7.0.svn'].G_units_to_meters_factor
-    G_units_to_meters_factor.restype = c_double
-    G_units_to_meters_factor.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 624
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units_to_meters_factor_sq'):
-    G_units_to_meters_factor_sq = _libs['grass_gis.7.0.svn'].G_units_to_meters_factor_sq
-    G_units_to_meters_factor_sq.restype = c_double
-    G_units_to_meters_factor_sq.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 625
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_units_name'):
-    G_get_units_name = _libs['grass_gis.7.0.svn'].G_get_units_name
-    G_get_units_name.restype = ReturnString
-    G_get_units_name.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 626
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_units'):
-    G_units = _libs['grass_gis.7.0.svn'].G_units
-    G_units.restype = c_int
-    G_units.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 630
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_rc_path'):
-    G_rc_path = _libs['grass_gis.7.0.svn'].G_rc_path
-    G_rc_path.restype = ReturnString
-    G_rc_path.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 634
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose'):
-    G_verbose = _libs['grass_gis.7.0.svn'].G_verbose
-    G_verbose.restype = c_int
-    G_verbose.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 635
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_min'):
-    G_verbose_min = _libs['grass_gis.7.0.svn'].G_verbose_min
-    G_verbose_min.restype = c_int
-    G_verbose_min.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 636
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_std'):
-    G_verbose_std = _libs['grass_gis.7.0.svn'].G_verbose_std
-    G_verbose_std.restype = c_int
-    G_verbose_std.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 637
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_verbose_max'):
-    G_verbose_max = _libs['grass_gis.7.0.svn'].G_verbose_max
-    G_verbose_max.restype = c_int
-    G_verbose_max.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 638
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_set_verbose'):
-    G_set_verbose = _libs['grass_gis.7.0.svn'].G_set_verbose
-    G_set_verbose.restype = c_int
-    G_set_verbose.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 641
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_3dview_warning'):
-    G_3dview_warning = _libs['grass_gis.7.0.svn'].G_3dview_warning
-    G_3dview_warning.restype = None
-    G_3dview_warning.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 642
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_3dview_defaults'):
-    G_get_3dview_defaults = _libs['grass_gis.7.0.svn'].G_get_3dview_defaults
-    G_get_3dview_defaults.restype = c_int
-    G_get_3dview_defaults.argtypes = [POINTER(struct_G_3dview), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 643
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_put_3dview'):
-    G_put_3dview = _libs['grass_gis.7.0.svn'].G_put_3dview
-    G_put_3dview.restype = c_int
-    G_put_3dview.argtypes = [String, String, POINTER(struct_G_3dview), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 645
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_get_3dview'):
-    G_get_3dview = _libs['grass_gis.7.0.svn'].G_get_3dview
-    G_get_3dview.restype = c_int
-    G_get_3dview.argtypes = [String, String, POINTER(struct_G_3dview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 648
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_whoami'):
-    G_whoami = _libs['grass_gis.7.0.svn'].G_whoami
-    G_whoami.restype = ReturnString
-    G_whoami.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 651
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_window_to_box'):
-    G_adjust_window_to_box = _libs['grass_gis.7.0.svn'].G_adjust_window_to_box
-    G_adjust_window_to_box.restype = None
-    G_adjust_window_to_box.argtypes = [POINTER(struct_Cell_head), POINTER(struct_Cell_head), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 655
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_northing'):
-    G_format_northing = _libs['grass_gis.7.0.svn'].G_format_northing
-    G_format_northing.restype = None
-    G_format_northing.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 656
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_easting'):
-    G_format_easting = _libs['grass_gis.7.0.svn'].G_format_easting
-    G_format_easting.restype = None
-    G_format_easting.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 657
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_format_resolution'):
-    G_format_resolution = _libs['grass_gis.7.0.svn'].G_format_resolution
-    G_format_resolution.restype = None
-    G_format_resolution.argtypes = [c_double, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 660
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_point_in_region'):
-    G_point_in_region = _libs['grass_gis.7.0.svn'].G_point_in_region
-    G_point_in_region.restype = c_int
-    G_point_in_region.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 661
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_point_in_window'):
-    G_point_in_window = _libs['grass_gis.7.0.svn'].G_point_in_window
-    G_point_in_window.restype = c_int
-    G_point_in_window.argtypes = [c_double, c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 664
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_east'):
-    G_limit_east = _libs['grass_gis.7.0.svn'].G_limit_east
-    G_limit_east.restype = c_int
-    G_limit_east.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 665
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_west'):
-    G_limit_west = _libs['grass_gis.7.0.svn'].G_limit_west
-    G_limit_west.restype = c_int
-    G_limit_west.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 666
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_north'):
-    G_limit_north = _libs['grass_gis.7.0.svn'].G_limit_north
-    G_limit_north.restype = c_int
-    G_limit_north.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 667
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_limit_south'):
-    G_limit_south = _libs['grass_gis.7.0.svn'].G_limit_south
-    G_limit_south.restype = c_int
-    G_limit_south.argtypes = [POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 670
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_window_overlap'):
-    G_window_overlap = _libs['grass_gis.7.0.svn'].G_window_overlap
-    G_window_overlap.restype = c_int
-    G_window_overlap.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 672
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_window_percentage_overlap'):
-    G_window_percentage_overlap = _libs['grass_gis.7.0.svn'].G_window_percentage_overlap
-    G_window_percentage_overlap.restype = c_double
-    G_window_percentage_overlap.argtypes = [POINTER(struct_Cell_head), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 676
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_northing'):
-    G_scan_northing = _libs['grass_gis.7.0.svn'].G_scan_northing
-    G_scan_northing.restype = c_int
-    G_scan_northing.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 677
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_easting'):
-    G_scan_easting = _libs['grass_gis.7.0.svn'].G_scan_easting
-    G_scan_easting.restype = c_int
-    G_scan_easting.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 678
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_scan_resolution'):
-    G_scan_resolution = _libs['grass_gis.7.0.svn'].G_scan_resolution
-    G_scan_resolution.restype = c_int
-    G_scan_resolution.argtypes = [String, POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 681
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_east_longitude'):
-    G_adjust_east_longitude = _libs['grass_gis.7.0.svn'].G_adjust_east_longitude
-    G_adjust_east_longitude.restype = c_double
-    G_adjust_east_longitude.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 682
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_adjust_easting'):
-    G_adjust_easting = _libs['grass_gis.7.0.svn'].G_adjust_easting
-    G_adjust_easting.restype = c_double
-    G_adjust_easting.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 683
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__init_window'):
-    G__init_window = _libs['grass_gis.7.0.svn'].G__init_window
-    G__init_window.restype = None
-    G__init_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 686
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_begin_execute'):
-    G_begin_execute = _libs['grass_gis.7.0.svn'].G_begin_execute
-    G_begin_execute.restype = None
-    G_begin_execute.argtypes = [CFUNCTYPE(UNCHECKED(None), POINTER(None)), POINTER(None), POINTER(POINTER(None)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 687
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_end_execute'):
-    G_end_execute = _libs['grass_gis.7.0.svn'].G_end_execute
-    G_end_execute.restype = None
-    G_end_execute.argtypes = [POINTER(POINTER(None))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 688
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_init_workers'):
-    G_init_workers = _libs['grass_gis.7.0.svn'].G_init_workers
-    G_init_workers.restype = None
-    G_init_workers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 689
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_finish_workers'):
-    G_finish_workers = _libs['grass_gis.7.0.svn'].G_finish_workers
-    G_finish_workers.restype = None
-    G_finish_workers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 692
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_Cell_head'):
-    G__write_Cell_head = _libs['grass_gis.7.0.svn'].G__write_Cell_head
-    G__write_Cell_head.restype = None
-    G__write_Cell_head.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 693
-if hasattr(_libs['grass_gis.7.0.svn'], 'G__write_Cell_head3'):
-    G__write_Cell_head3 = _libs['grass_gis.7.0.svn'].G__write_Cell_head3
-    G__write_Cell_head3.restype = None
-    G__write_Cell_head3.argtypes = [POINTER(FILE), POINTER(struct_Cell_head), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 696
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_write_zeros'):
-    G_write_zeros = _libs['grass_gis.7.0.svn'].G_write_zeros
-    G_write_zeros.restype = None
-    G_write_zeros.argtypes = [c_int, c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 699
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zero'):
-    G_zero = _libs['grass_gis.7.0.svn'].G_zero
-    G_zero.restype = None
-    G_zero.argtypes = [POINTER(None), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 702
-if hasattr(_libs['grass_gis.7.0.svn'], 'G_zone'):
-    G_zone = _libs['grass_gis.7.0.svn'].G_zone
-    G_zone.restype = c_int
-    G_zone.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 40
-try:
-    GIS_H_VERSION = '$Revision: 45093 $'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 40
-try:
-    GIS_H_DATE = '$Date: 2011-01-20 13:10:50 +0100 (Thu, 20 Jan 2011) $'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 41
-def G_gisinit(pgm):
-    return (G__gisinit (GIS_H_VERSION, pgm))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 41
-try:
-    G_no_gisinit = (G__no_gisinit (GIS_H_VERSION))
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 44
-try:
-    TRUE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 47
-try:
-    FALSE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 50
-try:
-    PRI_OFF_T = 'lld'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 54
-try:
-    NEWLINE = '\\n'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_UNKNOWN = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_ACRES = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_HECTARES = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_KILOMETERS = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_METERS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_MILES = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_FEET = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_RADIANS = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 58
-try:
-    U_DEGREES = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_XY = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_UTM = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_SP = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_LL = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 59
-try:
-    PROJECTION_OTHER = 99
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 60
-try:
-    PROJECTION_FILE = 'PROJ_INFO'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 60
-try:
-    UNIT_FILE = 'PROJ_UNITS'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 61
-try:
-    CONFIG_DIR = '.grass7'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 64
-try:
-    M_PI = 3.1415926535897931
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 66
-try:
-    M_PI_2 = 1.5707963267948966
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 68
-try:
-    M_PI_4 = 0.78539816339744828
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 70
-try:
-    GRASS_EPSILON = 1.0000000000000001e-15
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 72
-try:
-    G_VAR_GISRC = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 72
-try:
-    G_VAR_MAPSET = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 74
-try:
-    G_GISRC_MODE_FILE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 74
-try:
-    G_GISRC_MODE_MEMORY = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_INTEGER = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_DOUBLE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    TYPE_STRING = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    YES = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 76
-try:
-    NO = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GNAME_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GMAPSET_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 79
-try:
-    GPATH_MAX = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 92
-def deserialize_int32_le(buf):
-    return (((((buf [0]) << 0) | ((buf [1]) << 8)) | ((buf [2]) << 16)) | ((buf [3]) << 24))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 104
-def deserialize_int32_be(buf):
-    return (((((buf [0]) << 24) | ((buf [1]) << 16)) | ((buf [2]) << 8)) | ((buf [3]) << 0))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 109
-try:
-    GRASS_DIRSEP = '/'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 113
-try:
-    HOST_DIRSEP = '/'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 113
-try:
-    G_DEV_NULL = '/dev/null'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 170
-try:
-    G_INFO_FORMAT_STANDARD = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 170
-try:
-    G_INFO_FORMAT_GUI = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 170
-try:
-    G_INFO_FORMAT_SILENT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 170
-try:
-    G_INFO_FORMAT_PLAIN = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 172
-try:
-    G_ICON_CROSS = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 172
-try:
-    G_ICON_BOX = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 172
-try:
-    G_ICON_ARROW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 174
-try:
-    DEFAULT_FG_COLOR = 'black'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 174
-try:
-    DEFAULT_BG_COLOR = 'white'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 176
-try:
-    GR_FATAL_EXIT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 176
-try:
-    GR_FATAL_PRINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 176
-try:
-    GR_FATAL_RETURN = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 45
-def G__alloca(n):
-    return (G_malloc (n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 45
-def G__freea(p):
-    return (G_free (p))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 58
-def G_incr_void_ptr(ptr, size):
-    return (ptr + size)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_malloc(n):
-    return (G__malloc ('<ctypesgen>', 0, n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_calloc(m, n):
-    return (G__calloc ('<ctypesgen>', 0, m, n))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gisdefs.h: 74
-def G_realloc(p, n):
-    return (G__realloc ('<ctypesgen>', 0, p, n))
-
-Cell_head = struct_Cell_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 257
-
-G_3dview = struct_G_3dview # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 284
-
-Key_Value = struct_Key_Value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 311
-
-Option = struct_Option # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 319
-
-Flag = struct_Flag # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 350
-
-GModule = struct_GModule # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 361
-
-TimeStamp = struct_TimeStamp # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 371
-
-Counter = struct_Counter # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 377
-
-Popen = struct_Popen # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 381
-
-# No inserted files
-
diff --git a/lib/python/ctypes/imagery.py b/lib/python/ctypes/imagery.py
deleted file mode 100644
index 681354b..0000000
--- a/lib/python/ctypes/imagery.py
+++ /dev/null
@@ -1,1389 +0,0 @@
-'''Wrapper for imagery.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_imagery.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h -o imagery.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_imagery.7.0.svn"] = load_library("grass_imagery.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 402
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 10
-class struct_Ref_Color(Structure):
-    pass
-
-struct_Ref_Color.__slots__ = [
-    'table',
-    'index',
-    'buf',
-    'fd',
-    'min',
-    'max',
-    'n',
-]
-struct_Ref_Color._fields_ = [
-    ('table', POINTER(c_ubyte)),
-    ('index', POINTER(c_ubyte)),
-    ('buf', POINTER(c_ubyte)),
-    ('fd', c_int),
-    ('min', CELL),
-    ('max', CELL),
-    ('n', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 20
-class struct_Ref_Files(Structure):
-    pass
-
-struct_Ref_Files.__slots__ = [
-    'name',
-    'mapset',
-]
-struct_Ref_Files._fields_ = [
-    ('name', c_char * 256),
-    ('mapset', c_char * 256),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 26
-class struct_Ref(Structure):
-    pass
-
-struct_Ref.__slots__ = [
-    'nfiles',
-    'file',
-    'red',
-    'grn',
-    'blu',
-]
-struct_Ref._fields_ = [
-    ('nfiles', c_int),
-    ('file', POINTER(struct_Ref_Files)),
-    ('red', struct_Ref_Color),
-    ('grn', struct_Ref_Color),
-    ('blu', struct_Ref_Color),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 33
-class struct_Tape_Info(Structure):
-    pass
-
-struct_Tape_Info.__slots__ = [
-    'title',
-    'id',
-    'desc',
-]
-struct_Tape_Info._fields_ = [
-    ('title', c_char * 75),
-    ('id', (c_char * 75) * 2),
-    ('desc', (c_char * 75) * 5),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 40
-class struct_Control_Points(Structure):
-    pass
-
-struct_Control_Points.__slots__ = [
-    'count',
-    'e1',
-    'n1',
-    'e2',
-    'n2',
-    'status',
-]
-struct_Control_Points._fields_ = [
-    ('count', c_int),
-    ('e1', POINTER(c_double)),
-    ('n1', POINTER(c_double)),
-    ('e2', POINTER(c_double)),
-    ('n2', POINTER(c_double)),
-    ('status', POINTER(c_int)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 50
-class struct_One_Sig(Structure):
-    pass
-
-struct_One_Sig.__slots__ = [
-    'desc',
-    'npoints',
-    'mean',
-    'var',
-    'status',
-    'r',
-    'g',
-    'b',
-    'have_color',
-]
-struct_One_Sig._fields_ = [
-    ('desc', c_char * 100),
-    ('npoints', c_int),
-    ('mean', POINTER(c_double)),
-    ('var', POINTER(POINTER(c_double))),
-    ('status', c_int),
-    ('r', c_float),
-    ('g', c_float),
-    ('b', c_float),
-    ('have_color', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 61
-class struct_Signature(Structure):
-    pass
-
-struct_Signature.__slots__ = [
-    'nbands',
-    'nsigs',
-    'title',
-    'sig',
-]
-struct_Signature._fields_ = [
-    ('nbands', c_int),
-    ('nsigs', c_int),
-    ('title', c_char * 100),
-    ('sig', POINTER(struct_One_Sig)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 69
-class struct_SubSig(Structure):
-    pass
-
-struct_SubSig.__slots__ = [
-    'N',
-    'pi',
-    'means',
-    'R',
-    'Rinv',
-    'cnst',
-    'used',
-]
-struct_SubSig._fields_ = [
-    ('N', c_double),
-    ('pi', c_double),
-    ('means', POINTER(c_double)),
-    ('R', POINTER(POINTER(c_double))),
-    ('Rinv', POINTER(POINTER(c_double))),
-    ('cnst', c_double),
-    ('used', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 80
-class struct_ClassData(Structure):
-    pass
-
-struct_ClassData.__slots__ = [
-    'npixels',
-    'count',
-    'x',
-    'p',
-]
-struct_ClassData._fields_ = [
-    ('npixels', c_int),
-    ('count', c_int),
-    ('x', POINTER(POINTER(c_double))),
-    ('p', POINTER(POINTER(c_double))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 88
-class struct_ClassSig(Structure):
-    pass
-
-struct_ClassSig.__slots__ = [
-    'classnum',
-    'title',
-    'used',
-    'type',
-    'nsubclasses',
-    'SubSig',
-    'ClassData',
-]
-struct_ClassSig._fields_ = [
-    ('classnum', c_long),
-    ('title', String),
-    ('used', c_int),
-    ('type', c_int),
-    ('nsubclasses', c_int),
-    ('SubSig', POINTER(struct_SubSig)),
-    ('ClassData', struct_ClassData),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 99
-class struct_SigSet(Structure):
-    pass
-
-struct_SigSet.__slots__ = [
-    'nbands',
-    'nclasses',
-    'title',
-    'ClassSig',
-]
-struct_SigSet._fields_ = [
-    ('nbands', c_int),
-    ('nclasses', c_int),
-    ('title', String),
-    ('ClassSig', POINTER(struct_ClassSig)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 5
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_malloc'):
-    I_malloc = _libs['grass_imagery.7.0.svn'].I_malloc
-    I_malloc.restype = POINTER(None)
-    I_malloc.argtypes = [c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 6
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_realloc'):
-    I_realloc = _libs['grass_imagery.7.0.svn'].I_realloc
-    I_realloc.restype = POINTER(None)
-    I_realloc.argtypes = [POINTER(None), c_size_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 7
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free'):
-    I_free = _libs['grass_imagery.7.0.svn'].I_free
-    I_free.restype = c_int
-    I_free.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 8
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_alloc_double2'):
-    I_alloc_double2 = _libs['grass_imagery.7.0.svn'].I_alloc_double2
-    I_alloc_double2.restype = POINTER(POINTER(c_double))
-    I_alloc_double2.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 9
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_alloc_int'):
-    I_alloc_int = _libs['grass_imagery.7.0.svn'].I_alloc_int
-    I_alloc_int.restype = POINTER(c_int)
-    I_alloc_int.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 10
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_alloc_int2'):
-    I_alloc_int2 = _libs['grass_imagery.7.0.svn'].I_alloc_int2
-    I_alloc_int2.restype = POINTER(POINTER(c_int))
-    I_alloc_int2.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 11
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_int2'):
-    I_free_int2 = _libs['grass_imagery.7.0.svn'].I_free_int2
-    I_free_int2.restype = c_int
-    I_free_int2.argtypes = [POINTER(POINTER(c_int))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 12
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_double2'):
-    I_free_double2 = _libs['grass_imagery.7.0.svn'].I_free_double2
-    I_free_double2.restype = c_int
-    I_free_double2.argtypes = [POINTER(POINTER(c_double))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 13
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_alloc_double3'):
-    I_alloc_double3 = _libs['grass_imagery.7.0.svn'].I_alloc_double3
-    I_alloc_double3.restype = POINTER(POINTER(POINTER(c_double)))
-    I_alloc_double3.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 14
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_double3'):
-    I_free_double3 = _libs['grass_imagery.7.0.svn'].I_free_double3
-    I_free_double3.restype = c_int
-    I_free_double3.argtypes = [POINTER(POINTER(POINTER(c_double)))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 17
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_to_eol'):
-    I_get_to_eol = _libs['grass_imagery.7.0.svn'].I_get_to_eol
-    I_get_to_eol.restype = c_int
-    I_get_to_eol.argtypes = [String, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 20
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_find_group'):
-    I_find_group = _libs['grass_imagery.7.0.svn'].I_find_group
-    I_find_group.restype = c_int
-    I_find_group.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 21
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_find_group_file'):
-    I_find_group_file = _libs['grass_imagery.7.0.svn'].I_find_group_file
-    I_find_group_file.restype = c_int
-    I_find_group_file.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 22
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_find_subgroup'):
-    I_find_subgroup = _libs['grass_imagery.7.0.svn'].I_find_subgroup
-    I_find_subgroup.restype = c_int
-    I_find_subgroup.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 23
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_find_subgroup_file'):
-    I_find_subgroup_file = _libs['grass_imagery.7.0.svn'].I_find_subgroup_file
-    I_find_subgroup_file.restype = c_int
-    I_find_subgroup_file.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 26
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_file_new'):
-    I_fopen_group_file_new = _libs['grass_imagery.7.0.svn'].I_fopen_group_file_new
-    I_fopen_group_file_new.restype = POINTER(FILE)
-    I_fopen_group_file_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 27
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_file_append'):
-    I_fopen_group_file_append = _libs['grass_imagery.7.0.svn'].I_fopen_group_file_append
-    I_fopen_group_file_append.restype = POINTER(FILE)
-    I_fopen_group_file_append.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 28
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_file_old'):
-    I_fopen_group_file_old = _libs['grass_imagery.7.0.svn'].I_fopen_group_file_old
-    I_fopen_group_file_old.restype = POINTER(FILE)
-    I_fopen_group_file_old.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 29
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_file_new'):
-    I_fopen_subgroup_file_new = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_file_new
-    I_fopen_subgroup_file_new.restype = POINTER(FILE)
-    I_fopen_subgroup_file_new.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 30
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_file_append'):
-    I_fopen_subgroup_file_append = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_file_append
-    I_fopen_subgroup_file_append.restype = POINTER(FILE)
-    I_fopen_subgroup_file_append.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 31
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_file_old'):
-    I_fopen_subgroup_file_old = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_file_old
-    I_fopen_subgroup_file_old.restype = POINTER(FILE)
-    I_fopen_subgroup_file_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 34
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_compute_georef_equations'):
-    I_compute_georef_equations = _libs['grass_imagery.7.0.svn'].I_compute_georef_equations
-    I_compute_georef_equations.restype = c_int
-    I_compute_georef_equations.argtypes = [POINTER(struct_Control_Points), c_double * 3, c_double * 3, c_double * 3, c_double * 3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 36
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_georef'):
-    I_georef = _libs['grass_imagery.7.0.svn'].I_georef
-    I_georef.restype = c_int
-    I_georef.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double), c_double * 3, c_double * 3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 39
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_group'):
-    I_get_group = _libs['grass_imagery.7.0.svn'].I_get_group
-    I_get_group.restype = c_int
-    I_get_group.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 40
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_group'):
-    I_put_group = _libs['grass_imagery.7.0.svn'].I_put_group
-    I_put_group.restype = c_int
-    I_put_group.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 41
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_subgroup'):
-    I_get_subgroup = _libs['grass_imagery.7.0.svn'].I_get_subgroup
-    I_get_subgroup.restype = c_int
-    I_get_subgroup.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 42
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_subgroup'):
-    I_put_subgroup = _libs['grass_imagery.7.0.svn'].I_put_subgroup
-    I_put_subgroup.restype = c_int
-    I_put_subgroup.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 43
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_group_ref'):
-    I_get_group_ref = _libs['grass_imagery.7.0.svn'].I_get_group_ref
-    I_get_group_ref.restype = c_int
-    I_get_group_ref.argtypes = [String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 44
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_subgroup_ref'):
-    I_get_subgroup_ref = _libs['grass_imagery.7.0.svn'].I_get_subgroup_ref
-    I_get_subgroup_ref.restype = c_int
-    I_get_subgroup_ref.argtypes = [String, String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 45
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_init_ref_color_nums'):
-    I_init_ref_color_nums = _libs['grass_imagery.7.0.svn'].I_init_ref_color_nums
-    I_init_ref_color_nums.restype = c_int
-    I_init_ref_color_nums.argtypes = [POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 46
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_group_ref'):
-    I_put_group_ref = _libs['grass_imagery.7.0.svn'].I_put_group_ref
-    I_put_group_ref.restype = c_int
-    I_put_group_ref.argtypes = [String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 47
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_subgroup_ref'):
-    I_put_subgroup_ref = _libs['grass_imagery.7.0.svn'].I_put_subgroup_ref
-    I_put_subgroup_ref.restype = c_int
-    I_put_subgroup_ref.argtypes = [String, String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 48
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_add_file_to_group_ref'):
-    I_add_file_to_group_ref = _libs['grass_imagery.7.0.svn'].I_add_file_to_group_ref
-    I_add_file_to_group_ref.restype = c_int
-    I_add_file_to_group_ref.argtypes = [String, String, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 49
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_transfer_group_ref_file'):
-    I_transfer_group_ref_file = _libs['grass_imagery.7.0.svn'].I_transfer_group_ref_file
-    I_transfer_group_ref_file.restype = c_int
-    I_transfer_group_ref_file.argtypes = [POINTER(struct_Ref), c_int, POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 50
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_init_group_ref'):
-    I_init_group_ref = _libs['grass_imagery.7.0.svn'].I_init_group_ref
-    I_init_group_ref.restype = c_int
-    I_init_group_ref.argtypes = [POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 51
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_group_ref'):
-    I_free_group_ref = _libs['grass_imagery.7.0.svn'].I_free_group_ref
-    I_free_group_ref.restype = c_int
-    I_free_group_ref.argtypes = [POINTER(struct_Ref)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 54
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_list_group'):
-    I_list_group = _libs['grass_imagery.7.0.svn'].I_list_group
-    I_list_group.restype = c_int
-    I_list_group.argtypes = [String, POINTER(struct_Ref), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 55
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_list_group_simple'):
-    I_list_group_simple = _libs['grass_imagery.7.0.svn'].I_list_group_simple
-    I_list_group_simple.restype = c_int
-    I_list_group_simple.argtypes = [POINTER(struct_Ref), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 58
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_list_subgroup'):
-    I_list_subgroup = _libs['grass_imagery.7.0.svn'].I_list_subgroup
-    I_list_subgroup.restype = c_int
-    I_list_subgroup.argtypes = [String, String, POINTER(struct_Ref), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 59
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_list_subgroup_simple'):
-    I_list_subgroup_simple = _libs['grass_imagery.7.0.svn'].I_list_subgroup_simple
-    I_list_subgroup_simple.restype = c_int
-    I_list_subgroup_simple.argtypes = [POINTER(struct_Ref), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 62
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_location_info'):
-    I_location_info = _libs['grass_imagery.7.0.svn'].I_location_info
-    I_location_info.restype = ReturnString
-    I_location_info.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 65
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_new_control_point'):
-    I_new_control_point = _libs['grass_imagery.7.0.svn'].I_new_control_point
-    I_new_control_point.restype = c_int
-    I_new_control_point.argtypes = [POINTER(struct_Control_Points), c_double, c_double, c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 67
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_control_points'):
-    I_get_control_points = _libs['grass_imagery.7.0.svn'].I_get_control_points
-    I_get_control_points.restype = c_int
-    I_get_control_points.argtypes = [String, POINTER(struct_Control_Points)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 68
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_control_points'):
-    I_put_control_points = _libs['grass_imagery.7.0.svn'].I_put_control_points
-    I_put_control_points.restype = c_int
-    I_put_control_points.argtypes = [String, POINTER(struct_Control_Points)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 71
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_ref_new'):
-    I_fopen_group_ref_new = _libs['grass_imagery.7.0.svn'].I_fopen_group_ref_new
-    I_fopen_group_ref_new.restype = POINTER(FILE)
-    I_fopen_group_ref_new.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 72
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_group_ref_old'):
-    I_fopen_group_ref_old = _libs['grass_imagery.7.0.svn'].I_fopen_group_ref_old
-    I_fopen_group_ref_old.restype = POINTER(FILE)
-    I_fopen_group_ref_old.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 73
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_ref_new'):
-    I_fopen_subgroup_ref_new = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_ref_new
-    I_fopen_subgroup_ref_new.restype = POINTER(FILE)
-    I_fopen_subgroup_ref_new.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 74
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_subgroup_ref_old'):
-    I_fopen_subgroup_ref_old = _libs['grass_imagery.7.0.svn'].I_fopen_subgroup_ref_old
-    I_fopen_subgroup_ref_old.restype = POINTER(FILE)
-    I_fopen_subgroup_ref_old.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 77
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_init_signatures'):
-    I_init_signatures = _libs['grass_imagery.7.0.svn'].I_init_signatures
-    I_init_signatures.restype = c_int
-    I_init_signatures.argtypes = [POINTER(struct_Signature), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 78
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_new_signature'):
-    I_new_signature = _libs['grass_imagery.7.0.svn'].I_new_signature
-    I_new_signature.restype = c_int
-    I_new_signature.argtypes = [POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 79
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_free_signatures'):
-    I_free_signatures = _libs['grass_imagery.7.0.svn'].I_free_signatures
-    I_free_signatures.restype = c_int
-    I_free_signatures.argtypes = [POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 80
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_read_one_signature'):
-    I_read_one_signature = _libs['grass_imagery.7.0.svn'].I_read_one_signature
-    I_read_one_signature.restype = c_int
-    I_read_one_signature.argtypes = [POINTER(FILE), POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 81
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_read_signatures'):
-    I_read_signatures = _libs['grass_imagery.7.0.svn'].I_read_signatures
-    I_read_signatures.restype = c_int
-    I_read_signatures.argtypes = [POINTER(FILE), POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 82
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_write_signatures'):
-    I_write_signatures = _libs['grass_imagery.7.0.svn'].I_write_signatures
-    I_write_signatures.restype = c_int
-    I_write_signatures.argtypes = [POINTER(FILE), POINTER(struct_Signature)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 85
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_signature_file_new'):
-    I_fopen_signature_file_new = _libs['grass_imagery.7.0.svn'].I_fopen_signature_file_new
-    I_fopen_signature_file_new.restype = POINTER(FILE)
-    I_fopen_signature_file_new.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 86
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_signature_file_old'):
-    I_fopen_signature_file_old = _libs['grass_imagery.7.0.svn'].I_fopen_signature_file_old
-    I_fopen_signature_file_old.restype = POINTER(FILE)
-    I_fopen_signature_file_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 89
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_SigSetNClasses'):
-    I_SigSetNClasses = _libs['grass_imagery.7.0.svn'].I_SigSetNClasses
-    I_SigSetNClasses.restype = c_int
-    I_SigSetNClasses.argtypes = [POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 90
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_AllocClassData'):
-    I_AllocClassData = _libs['grass_imagery.7.0.svn'].I_AllocClassData
-    I_AllocClassData.restype = POINTER(struct_ClassData)
-    I_AllocClassData.argtypes = [POINTER(struct_SigSet), POINTER(struct_ClassSig), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 91
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_InitSigSet'):
-    I_InitSigSet = _libs['grass_imagery.7.0.svn'].I_InitSigSet
-    I_InitSigSet.restype = c_int
-    I_InitSigSet.argtypes = [POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 92
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_SigSetNBands'):
-    I_SigSetNBands = _libs['grass_imagery.7.0.svn'].I_SigSetNBands
-    I_SigSetNBands.restype = c_int
-    I_SigSetNBands.argtypes = [POINTER(struct_SigSet), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 93
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_NewClassSig'):
-    I_NewClassSig = _libs['grass_imagery.7.0.svn'].I_NewClassSig
-    I_NewClassSig.restype = POINTER(struct_ClassSig)
-    I_NewClassSig.argtypes = [POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 94
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_NewSubSig'):
-    I_NewSubSig = _libs['grass_imagery.7.0.svn'].I_NewSubSig
-    I_NewSubSig.restype = POINTER(struct_SubSig)
-    I_NewSubSig.argtypes = [POINTER(struct_SigSet), POINTER(struct_ClassSig)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 95
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_ReadSigSet'):
-    I_ReadSigSet = _libs['grass_imagery.7.0.svn'].I_ReadSigSet
-    I_ReadSigSet.restype = c_int
-    I_ReadSigSet.argtypes = [POINTER(FILE), POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 96
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_SetSigTitle'):
-    I_SetSigTitle = _libs['grass_imagery.7.0.svn'].I_SetSigTitle
-    I_SetSigTitle.restype = c_int
-    I_SetSigTitle.argtypes = [POINTER(struct_SigSet), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 97
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_GetSigTitle'):
-    I_GetSigTitle = _libs['grass_imagery.7.0.svn'].I_GetSigTitle
-    I_GetSigTitle.restype = ReturnString
-    I_GetSigTitle.argtypes = [POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 98
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_SetClassTitle'):
-    I_SetClassTitle = _libs['grass_imagery.7.0.svn'].I_SetClassTitle
-    I_SetClassTitle.restype = c_int
-    I_SetClassTitle.argtypes = [POINTER(struct_ClassSig), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 99
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_GetClassTitle'):
-    I_GetClassTitle = _libs['grass_imagery.7.0.svn'].I_GetClassTitle
-    I_GetClassTitle.restype = ReturnString
-    I_GetClassTitle.argtypes = [POINTER(struct_ClassSig)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 100
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_WriteSigSet'):
-    I_WriteSigSet = _libs['grass_imagery.7.0.svn'].I_WriteSigSet
-    I_WriteSigSet.restype = c_int
-    I_WriteSigSet.argtypes = [POINTER(FILE), POINTER(struct_SigSet)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 103
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_sigset_file_new'):
-    I_fopen_sigset_file_new = _libs['grass_imagery.7.0.svn'].I_fopen_sigset_file_new
-    I_fopen_sigset_file_new.restype = POINTER(FILE)
-    I_fopen_sigset_file_new.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 104
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_fopen_sigset_file_old'):
-    I_fopen_sigset_file_old = _libs['grass_imagery.7.0.svn'].I_fopen_sigset_file_old
-    I_fopen_sigset_file_old.restype = POINTER(FILE)
-    I_fopen_sigset_file_old.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 107
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_target'):
-    I_get_target = _libs['grass_imagery.7.0.svn'].I_get_target
-    I_get_target.restype = c_int
-    I_get_target.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 108
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_target'):
-    I_put_target = _libs['grass_imagery.7.0.svn'].I_put_target
-    I_put_target.restype = c_int
-    I_put_target.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 111
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_get_group_title'):
-    I_get_group_title = _libs['grass_imagery.7.0.svn'].I_get_group_title
-    I_get_group_title.restype = c_int
-    I_get_group_title.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 112
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_put_group_title'):
-    I_put_group_title = _libs['grass_imagery.7.0.svn'].I_put_group_title
-    I_put_group_title.restype = c_int
-    I_put_group_title.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 115
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_variance'):
-    I_variance = _libs['grass_imagery.7.0.svn'].I_variance
-    I_variance.restype = c_double
-    I_variance.argtypes = [c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagedefs.h: 116
-if hasattr(_libs['grass_imagery.7.0.svn'], 'I_stddev'):
-    I_stddev = _libs['grass_imagery.7.0.svn'].I_stddev
-    I_stddev.restype = c_double
-    I_stddev.argtypes = [c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 78
-try:
-    GNAME_MAX = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 8
-try:
-    INAME_LEN = GNAME_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 106
-try:
-    SIGNATURE_TYPE_MIXED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 107
-try:
-    GROUPFILE = 'CURGROUP'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 107
-try:
-    SUBGROUPFILE = 'CURSUBGROUP'
-except:
-    pass
-
-Ref_Color = struct_Ref_Color # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 10
-
-Ref_Files = struct_Ref_Files # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 20
-
-Ref = struct_Ref # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 26
-
-Tape_Info = struct_Tape_Info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 33
-
-Control_Points = struct_Control_Points # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 40
-
-One_Sig = struct_One_Sig # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 50
-
-Signature = struct_Signature # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 61
-
-SubSig = struct_SubSig # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 69
-
-ClassData = struct_ClassData # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 80
-
-ClassSig = struct_ClassSig # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 88
-
-SigSet = struct_SigSet # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/imagery.h: 99
-
-# No inserted files
-
diff --git a/lib/python/ctypes/nviz.py b/lib/python/ctypes/nviz.py
deleted file mode 100644
index acd6bed..0000000
--- a/lib/python/ctypes/nviz.py
+++ /dev/null
@@ -1,1338 +0,0 @@
-'''Wrapper for nviz.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_nviz.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h -o nviz.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_nviz.7.0.svn"] = load_library("grass_nviz.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-XID = c_ulong # /usr/include/X11/X.h: 66
-
-Pixmap = XID # /usr/include/X11/X.h: 102
-
-# /usr/include/X11/Xlib.h: 263
-class struct__XDisplay(Structure):
-    pass
-
-Display = struct__XDisplay # /usr/include/X11/Xlib.h: 495
-
-GLubyte = c_ubyte # /usr/include/GL/gl.h: 162
-
-# /usr/include/GL/glx.h: 178
-class struct___GLXcontextRec(Structure):
-    pass
-
-GLXContext = POINTER(struct___GLXcontextRec) # /usr/include/GL/glx.h: 178
-
-GLXPixmap = XID # /usr/include/GL/glx.h: 179
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 73
-class struct_anon_132(Structure):
-    pass
-
-struct_anon_132.__slots__ = [
-    'id',
-    'brt',
-    'r',
-    'g',
-    'b',
-    'ar',
-    'ag',
-    'ab',
-    'x',
-    'y',
-    'z',
-    'w',
-]
-struct_anon_132._fields_ = [
-    ('id', c_int),
-    ('brt', c_float),
-    ('r', c_float),
-    ('g', c_float),
-    ('b', c_float),
-    ('ar', c_float),
-    ('ag', c_float),
-    ('ab', c_float),
-    ('x', c_float),
-    ('y', c_float),
-    ('z', c_float),
-    ('w', c_float),
-]
-
-light_data = struct_anon_132 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 73
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 75
-class struct_fringe_data(Structure):
-    pass
-
-struct_fringe_data.__slots__ = [
-    'id',
-    'color',
-    'elev',
-    'where',
-]
-struct_fringe_data._fields_ = [
-    ('id', c_int),
-    ('color', c_ulong),
-    ('elev', c_float),
-    ('where', c_int * 4),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 83
-class struct_arrow_data(Structure):
-    pass
-
-struct_arrow_data.__slots__ = [
-    'color',
-    'size',
-    'where',
-]
-struct_arrow_data._fields_ = [
-    ('color', c_ulong),
-    ('size', c_float),
-    ('where', c_float * 3),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 90
-class struct_scalebar_data(Structure):
-    pass
-
-struct_scalebar_data.__slots__ = [
-    'id',
-    'color',
-    'size',
-    'where',
-]
-struct_scalebar_data._fields_ = [
-    ('id', c_int),
-    ('color', c_ulong),
-    ('size', c_float),
-    ('where', c_float * 3),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 127
-class struct_anon_133(Structure):
-    pass
-
-struct_anon_133.__slots__ = [
-    'zrange',
-    'xyrange',
-    'num_cplanes',
-    'cur_cplane',
-    'cp_on',
-    'cp_trans',
-    'cp_rot',
-    'light',
-    'num_fringes',
-    'fringe',
-    'draw_arrow',
-    'arrow',
-    'num_scalebars',
-    'scalebar',
-    'bgcolor',
-]
-struct_anon_133._fields_ = [
-    ('zrange', c_float),
-    ('xyrange', c_float),
-    ('num_cplanes', c_int),
-    ('cur_cplane', c_int),
-    ('cp_on', c_int * 6),
-    ('cp_trans', (c_float * 3) * 6),
-    ('cp_rot', (c_float * 3) * 6),
-    ('light', light_data * 3),
-    ('num_fringes', c_int),
-    ('fringe', POINTER(POINTER(struct_fringe_data))),
-    ('draw_arrow', c_int),
-    ('arrow', POINTER(struct_arrow_data)),
-    ('num_scalebars', c_int),
-    ('scalebar', POINTER(POINTER(struct_scalebar_data))),
-    ('bgcolor', c_int),
-]
-
-nv_data = struct_anon_133 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 127
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 129
-class struct_render_window(Structure):
-    pass
-
-struct_render_window.__slots__ = [
-    'displayId',
-    'contextId',
-    'windowId',
-    'pixmap',
-]
-struct_render_window._fields_ = [
-    ('displayId', POINTER(Display)),
-    ('contextId', GLXContext),
-    ('windowId', GLXPixmap),
-    ('pixmap', Pixmap),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 148
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_resize_window'):
-    Nviz_resize_window = _libs['grass_nviz.7.0.svn'].Nviz_resize_window
-    Nviz_resize_window.restype = c_int
-    Nviz_resize_window.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 149
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_update_ranges'):
-    Nviz_update_ranges = _libs['grass_nviz.7.0.svn'].Nviz_update_ranges
-    Nviz_update_ranges.restype = c_int
-    Nviz_update_ranges.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 150
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_viewpoint_position'):
-    Nviz_set_viewpoint_position = _libs['grass_nviz.7.0.svn'].Nviz_set_viewpoint_position
-    Nviz_set_viewpoint_position.restype = c_int
-    Nviz_set_viewpoint_position.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 151
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_viewpoint_height'):
-    Nviz_set_viewpoint_height = _libs['grass_nviz.7.0.svn'].Nviz_set_viewpoint_height
-    Nviz_set_viewpoint_height.restype = c_int
-    Nviz_set_viewpoint_height.argtypes = [c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 152
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_viewpoint_persp'):
-    Nviz_set_viewpoint_persp = _libs['grass_nviz.7.0.svn'].Nviz_set_viewpoint_persp
-    Nviz_set_viewpoint_persp.restype = c_int
-    Nviz_set_viewpoint_persp.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 153
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_viewpoint_twist'):
-    Nviz_set_viewpoint_twist = _libs['grass_nviz.7.0.svn'].Nviz_set_viewpoint_twist
-    Nviz_set_viewpoint_twist.restype = c_int
-    Nviz_set_viewpoint_twist.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 154
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_change_exag'):
-    Nviz_change_exag = _libs['grass_nviz.7.0.svn'].Nviz_change_exag
-    Nviz_change_exag.restype = c_int
-    Nviz_change_exag.argtypes = [POINTER(nv_data), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 155
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_look_here'):
-    Nviz_look_here = _libs['grass_nviz.7.0.svn'].Nviz_look_here
-    Nviz_look_here.restype = c_int
-    Nviz_look_here.argtypes = [c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 156
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_modelview'):
-    Nviz_get_modelview = _libs['grass_nviz.7.0.svn'].Nviz_get_modelview
-    Nviz_get_modelview.restype = None
-    Nviz_get_modelview.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 157
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_rotation'):
-    Nviz_set_rotation = _libs['grass_nviz.7.0.svn'].Nviz_set_rotation
-    Nviz_set_rotation.restype = None
-    Nviz_set_rotation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 158
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_unset_rotation'):
-    Nviz_unset_rotation = _libs['grass_nviz.7.0.svn'].Nviz_unset_rotation
-    Nviz_unset_rotation.restype = None
-    Nviz_unset_rotation.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 159
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_rotation'):
-    Nviz_init_rotation = _libs['grass_nviz.7.0.svn'].Nviz_init_rotation
-    Nviz_init_rotation.restype = None
-    Nviz_init_rotation.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 162
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_cplane'):
-    Nviz_new_cplane = _libs['grass_nviz.7.0.svn'].Nviz_new_cplane
-    Nviz_new_cplane.restype = c_int
-    Nviz_new_cplane.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 163
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_on_cplane'):
-    Nviz_on_cplane = _libs['grass_nviz.7.0.svn'].Nviz_on_cplane
-    Nviz_on_cplane.restype = c_int
-    Nviz_on_cplane.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 164
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_off_cplane'):
-    Nviz_off_cplane = _libs['grass_nviz.7.0.svn'].Nviz_off_cplane
-    Nviz_off_cplane.restype = c_int
-    Nviz_off_cplane.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 165
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_cplane'):
-    Nviz_draw_cplane = _libs['grass_nviz.7.0.svn'].Nviz_draw_cplane
-    Nviz_draw_cplane.restype = c_int
-    Nviz_draw_cplane.argtypes = [POINTER(nv_data), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 166
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_num_cplanes'):
-    Nviz_num_cplanes = _libs['grass_nviz.7.0.svn'].Nviz_num_cplanes
-    Nviz_num_cplanes.restype = c_int
-    Nviz_num_cplanes.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 167
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_current_cplane'):
-    Nviz_get_current_cplane = _libs['grass_nviz.7.0.svn'].Nviz_get_current_cplane
-    Nviz_get_current_cplane.restype = c_int
-    Nviz_get_current_cplane.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 168
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_cplane_rotation'):
-    Nviz_set_cplane_rotation = _libs['grass_nviz.7.0.svn'].Nviz_set_cplane_rotation
-    Nviz_set_cplane_rotation.restype = c_int
-    Nviz_set_cplane_rotation.argtypes = [POINTER(nv_data), c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 169
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_cplane_rotation'):
-    Nviz_get_cplane_rotation = _libs['grass_nviz.7.0.svn'].Nviz_get_cplane_rotation
-    Nviz_get_cplane_rotation.restype = c_int
-    Nviz_get_cplane_rotation.argtypes = [POINTER(nv_data), c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 170
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_cplane_translation'):
-    Nviz_set_cplane_translation = _libs['grass_nviz.7.0.svn'].Nviz_set_cplane_translation
-    Nviz_set_cplane_translation.restype = c_int
-    Nviz_set_cplane_translation.argtypes = [POINTER(nv_data), c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 171
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_cplane_translation'):
-    Nviz_get_cplane_translation = _libs['grass_nviz.7.0.svn'].Nviz_get_cplane_translation
-    Nviz_get_cplane_translation.restype = c_int
-    Nviz_get_cplane_translation.argtypes = [POINTER(nv_data), c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 172
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_fence_color'):
-    Nviz_set_fence_color = _libs['grass_nviz.7.0.svn'].Nviz_set_fence_color
-    Nviz_set_fence_color.restype = c_int
-    Nviz_set_fence_color.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 173
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_cplane_here'):
-    Nviz_set_cplane_here = _libs['grass_nviz.7.0.svn'].Nviz_set_cplane_here
-    Nviz_set_cplane_here.restype = c_int
-    Nviz_set_cplane_here.argtypes = [POINTER(nv_data), c_int, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 177
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all_surf'):
-    Nviz_draw_all_surf = _libs['grass_nviz.7.0.svn'].Nviz_draw_all_surf
-    Nviz_draw_all_surf.restype = c_int
-    Nviz_draw_all_surf.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 178
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all_vect'):
-    Nviz_draw_all_vect = _libs['grass_nviz.7.0.svn'].Nviz_draw_all_vect
-    Nviz_draw_all_vect.restype = c_int
-    Nviz_draw_all_vect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 179
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all_site'):
-    Nviz_draw_all_site = _libs['grass_nviz.7.0.svn'].Nviz_draw_all_site
-    Nviz_draw_all_site.restype = c_int
-    Nviz_draw_all_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 180
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all_vol'):
-    Nviz_draw_all_vol = _libs['grass_nviz.7.0.svn'].Nviz_draw_all_vol
-    Nviz_draw_all_vol.restype = c_int
-    Nviz_draw_all_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 181
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_all'):
-    Nviz_draw_all = _libs['grass_nviz.7.0.svn'].Nviz_draw_all
-    Nviz_draw_all.restype = c_int
-    Nviz_draw_all.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 182
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_quick'):
-    Nviz_draw_quick = _libs['grass_nviz.7.0.svn'].Nviz_draw_quick
-    Nviz_draw_quick.restype = c_int
-    Nviz_draw_quick.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 183
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_load_image'):
-    Nviz_load_image = _libs['grass_nviz.7.0.svn'].Nviz_load_image
-    Nviz_load_image.restype = c_int
-    Nviz_load_image.argtypes = [POINTER(GLubyte), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 184
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_image'):
-    Nviz_draw_image = _libs['grass_nviz.7.0.svn'].Nviz_draw_image
-    Nviz_draw_image.restype = None
-    Nviz_draw_image.argtypes = [c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 185
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_2D'):
-    Nviz_set_2D = _libs['grass_nviz.7.0.svn'].Nviz_set_2D
-    Nviz_set_2D.restype = None
-    Nviz_set_2D.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 186
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_del_texture'):
-    Nviz_del_texture = _libs['grass_nviz.7.0.svn'].Nviz_del_texture
-    Nviz_del_texture.restype = None
-    Nviz_del_texture.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 187
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_max_texture'):
-    Nviz_get_max_texture = _libs['grass_nviz.7.0.svn'].Nviz_get_max_texture
-    Nviz_get_max_texture.restype = None
-    Nviz_get_max_texture.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 190
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_exag_height'):
-    Nviz_get_exag_height = _libs['grass_nviz.7.0.svn'].Nviz_get_exag_height
-    Nviz_get_exag_height.restype = c_int
-    Nviz_get_exag_height.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 191
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_exag'):
-    Nviz_get_exag = _libs['grass_nviz.7.0.svn'].Nviz_get_exag
-    Nviz_get_exag.restype = c_double
-    Nviz_get_exag.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 194
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_light_position'):
-    Nviz_set_light_position = _libs['grass_nviz.7.0.svn'].Nviz_set_light_position
-    Nviz_set_light_position.restype = c_int
-    Nviz_set_light_position.argtypes = [POINTER(nv_data), c_int, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 195
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_light_bright'):
-    Nviz_set_light_bright = _libs['grass_nviz.7.0.svn'].Nviz_set_light_bright
-    Nviz_set_light_bright.restype = c_int
-    Nviz_set_light_bright.argtypes = [POINTER(nv_data), c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 196
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_light_color'):
-    Nviz_set_light_color = _libs['grass_nviz.7.0.svn'].Nviz_set_light_color
-    Nviz_set_light_color.restype = c_int
-    Nviz_set_light_color.argtypes = [POINTER(nv_data), c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 197
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_light_ambient'):
-    Nviz_set_light_ambient = _libs['grass_nviz.7.0.svn'].Nviz_set_light_ambient
-    Nviz_set_light_ambient.restype = c_int
-    Nviz_set_light_ambient.argtypes = [POINTER(nv_data), c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 198
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_light'):
-    Nviz_init_light = _libs['grass_nviz.7.0.svn'].Nviz_init_light
-    Nviz_init_light.restype = c_int
-    Nviz_init_light.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 199
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_light'):
-    Nviz_new_light = _libs['grass_nviz.7.0.svn'].Nviz_new_light
-    Nviz_new_light.restype = c_int
-    Nviz_new_light.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 200
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_model'):
-    Nviz_draw_model = _libs['grass_nviz.7.0.svn'].Nviz_draw_model
-    Nviz_draw_model.restype = None
-    Nviz_draw_model.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 203
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_map_obj'):
-    Nviz_new_map_obj = _libs['grass_nviz.7.0.svn'].Nviz_new_map_obj
-    Nviz_new_map_obj.restype = c_int
-    Nviz_new_map_obj.argtypes = [c_int, String, c_double, POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 204
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_attr'):
-    Nviz_set_attr = _libs['grass_nviz.7.0.svn'].Nviz_set_attr
-    Nviz_set_attr.restype = c_int
-    Nviz_set_attr.argtypes = [c_int, c_int, c_int, c_int, String, c_double, POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 205
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_surface_attr_default'):
-    Nviz_set_surface_attr_default = _libs['grass_nviz.7.0.svn'].Nviz_set_surface_attr_default
-    Nviz_set_surface_attr_default.restype = None
-    Nviz_set_surface_attr_default.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 206
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_vpoint_attr_default'):
-    Nviz_set_vpoint_attr_default = _libs['grass_nviz.7.0.svn'].Nviz_set_vpoint_attr_default
-    Nviz_set_vpoint_attr_default.restype = c_int
-    Nviz_set_vpoint_attr_default.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 207
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_volume_attr_default'):
-    Nviz_set_volume_attr_default = _libs['grass_nviz.7.0.svn'].Nviz_set_volume_attr_default
-    Nviz_set_volume_attr_default.restype = c_int
-    Nviz_set_volume_attr_default.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 208
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_unset_attr'):
-    Nviz_unset_attr = _libs['grass_nviz.7.0.svn'].Nviz_unset_attr
-    Nviz_unset_attr.restype = c_int
-    Nviz_unset_attr.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 211
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_data'):
-    Nviz_init_data = _libs['grass_nviz.7.0.svn'].Nviz_init_data
-    Nviz_init_data.restype = None
-    Nviz_init_data.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 212
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_destroy_data'):
-    Nviz_destroy_data = _libs['grass_nviz.7.0.svn'].Nviz_destroy_data
-    Nviz_destroy_data.restype = None
-    Nviz_destroy_data.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 213
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_bgcolor'):
-    Nviz_set_bgcolor = _libs['grass_nviz.7.0.svn'].Nviz_set_bgcolor
-    Nviz_set_bgcolor.restype = None
-    Nviz_set_bgcolor.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 214
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_bgcolor'):
-    Nviz_get_bgcolor = _libs['grass_nviz.7.0.svn'].Nviz_get_bgcolor
-    Nviz_get_bgcolor.restype = c_int
-    Nviz_get_bgcolor.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 215
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_color_from_str'):
-    Nviz_color_from_str = _libs['grass_nviz.7.0.svn'].Nviz_color_from_str
-    Nviz_color_from_str.restype = c_int
-    Nviz_color_from_str.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 216
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_fringe'):
-    Nviz_new_fringe = _libs['grass_nviz.7.0.svn'].Nviz_new_fringe
-    Nviz_new_fringe.restype = POINTER(struct_fringe_data)
-    Nviz_new_fringe.argtypes = [POINTER(nv_data), c_int, c_ulong, c_double, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 218
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_fringe'):
-    Nviz_set_fringe = _libs['grass_nviz.7.0.svn'].Nviz_set_fringe
-    Nviz_set_fringe.restype = POINTER(struct_fringe_data)
-    Nviz_set_fringe.argtypes = [POINTER(nv_data), c_int, c_ulong, c_double, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 220
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_fringe'):
-    Nviz_draw_fringe = _libs['grass_nviz.7.0.svn'].Nviz_draw_fringe
-    Nviz_draw_fringe.restype = None
-    Nviz_draw_fringe.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 221
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_arrow'):
-    Nviz_draw_arrow = _libs['grass_nviz.7.0.svn'].Nviz_draw_arrow
-    Nviz_draw_arrow.restype = c_int
-    Nviz_draw_arrow.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 222
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_arrow'):
-    Nviz_set_arrow = _libs['grass_nviz.7.0.svn'].Nviz_set_arrow
-    Nviz_set_arrow.restype = c_int
-    Nviz_set_arrow.argtypes = [POINTER(nv_data), c_int, c_int, c_float, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 223
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_delete_arrow'):
-    Nviz_delete_arrow = _libs['grass_nviz.7.0.svn'].Nviz_delete_arrow
-    Nviz_delete_arrow.restype = None
-    Nviz_delete_arrow.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 224
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_scalebar'):
-    Nviz_new_scalebar = _libs['grass_nviz.7.0.svn'].Nviz_new_scalebar
-    Nviz_new_scalebar.restype = POINTER(struct_scalebar_data)
-    Nviz_new_scalebar.argtypes = [POINTER(nv_data), c_int, POINTER(c_float), c_float, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 225
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_scalebar'):
-    Nviz_set_scalebar = _libs['grass_nviz.7.0.svn'].Nviz_set_scalebar
-    Nviz_set_scalebar.restype = POINTER(struct_scalebar_data)
-    Nviz_set_scalebar.argtypes = [POINTER(nv_data), c_int, c_int, c_int, c_float, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 226
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_draw_scalebar'):
-    Nviz_draw_scalebar = _libs['grass_nviz.7.0.svn'].Nviz_draw_scalebar
-    Nviz_draw_scalebar.restype = None
-    Nviz_draw_scalebar.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 227
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_delete_scalebar'):
-    Nviz_delete_scalebar = _libs['grass_nviz.7.0.svn'].Nviz_delete_scalebar
-    Nviz_delete_scalebar.restype = None
-    Nviz_delete_scalebar.argtypes = [POINTER(nv_data), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 230
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_view'):
-    Nviz_init_view = _libs['grass_nviz.7.0.svn'].Nviz_init_view
-    Nviz_init_view.restype = None
-    Nviz_init_view.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 231
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_focus_state'):
-    Nviz_set_focus_state = _libs['grass_nviz.7.0.svn'].Nviz_set_focus_state
-    Nviz_set_focus_state.restype = c_int
-    Nviz_set_focus_state.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 232
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_focus_map'):
-    Nviz_set_focus_map = _libs['grass_nviz.7.0.svn'].Nviz_set_focus_map
-    Nviz_set_focus_map.restype = c_int
-    Nviz_set_focus_map.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 233
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_has_focus'):
-    Nviz_has_focus = _libs['grass_nviz.7.0.svn'].Nviz_has_focus
-    Nviz_has_focus.restype = c_int
-    Nviz_has_focus.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 234
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_set_focus'):
-    Nviz_set_focus = _libs['grass_nviz.7.0.svn'].Nviz_set_focus
-    Nviz_set_focus.restype = c_int
-    Nviz_set_focus.argtypes = [POINTER(nv_data), c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 235
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_focus'):
-    Nviz_get_focus = _libs['grass_nviz.7.0.svn'].Nviz_get_focus
-    Nviz_get_focus.restype = c_int
-    Nviz_get_focus.argtypes = [POINTER(nv_data), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 236
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_xyrange'):
-    Nviz_get_xyrange = _libs['grass_nviz.7.0.svn'].Nviz_get_xyrange
-    Nviz_get_xyrange.restype = c_float
-    Nviz_get_xyrange.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 237
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_zrange'):
-    Nviz_get_zrange = _libs['grass_nviz.7.0.svn'].Nviz_get_zrange
-    Nviz_get_zrange.restype = c_int
-    Nviz_get_zrange.argtypes = [POINTER(nv_data), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 238
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_get_longdim'):
-    Nviz_get_longdim = _libs['grass_nviz.7.0.svn'].Nviz_get_longdim
-    Nviz_get_longdim.restype = c_float
-    Nviz_get_longdim.argtypes = [POINTER(nv_data)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 241
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_new_render_window'):
-    Nviz_new_render_window = _libs['grass_nviz.7.0.svn'].Nviz_new_render_window
-    Nviz_new_render_window.restype = POINTER(struct_render_window)
-    Nviz_new_render_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 242
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_init_render_window'):
-    Nviz_init_render_window = _libs['grass_nviz.7.0.svn'].Nviz_init_render_window
-    Nviz_init_render_window.restype = None
-    Nviz_init_render_window.argtypes = [POINTER(struct_render_window)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 243
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_destroy_render_window'):
-    Nviz_destroy_render_window = _libs['grass_nviz.7.0.svn'].Nviz_destroy_render_window
-    Nviz_destroy_render_window.restype = None
-    Nviz_destroy_render_window.argtypes = [POINTER(struct_render_window)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 244
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_create_render_window'):
-    Nviz_create_render_window = _libs['grass_nviz.7.0.svn'].Nviz_create_render_window
-    Nviz_create_render_window.restype = c_int
-    Nviz_create_render_window.argtypes = [POINTER(struct_render_window), POINTER(None), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 245
-if hasattr(_libs['grass_nviz.7.0.svn'], 'Nviz_make_current_render_window'):
-    Nviz_make_current_render_window = _libs['grass_nviz.7.0.svn'].Nviz_make_current_render_window
-    Nviz_make_current_render_window.restype = c_int
-    Nviz_make_current_render_window.argtypes = [POINTER(struct_render_window)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 16
-try:
-    GS_UNIT_SIZE = 1000.0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_UNDEFINED = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_SURF = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_VOL = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_VECT = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 39
-try:
-    MAP_OBJ_SITE = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 40
-try:
-    DRAW_COARSE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 40
-try:
-    DRAW_FINE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 40
-try:
-    DRAW_BOTH = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 42
-try:
-    DRAW_QUICK_SURFACE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 42
-try:
-    DRAW_QUICK_VLINES = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 42
-try:
-    DRAW_QUICK_VPOINTS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 42
-try:
-    DRAW_QUICK_VOLUME = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 43
-try:
-    RANGE = (5 * GS_UNIT_SIZE)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 43
-try:
-    RANGE_OFFSET = (2 * GS_UNIT_SIZE)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 43
-try:
-    ZRANGE = (3 * GS_UNIT_SIZE)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 43
-try:
-    ZRANGE_OFFSET = (1 * GS_UNIT_SIZE)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 44
-try:
-    DEFAULT_SURF_COLOR = 3390463
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 45
-try:
-    FORMAT_PPM = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 45
-try:
-    FORMAT_TIF = 2
-except:
-    pass
-
-fringe_data = struct_fringe_data # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 75
-
-arrow_data = struct_arrow_data # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 83
-
-scalebar_data = struct_scalebar_data # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 90
-
-render_window = struct_render_window # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/nviz.h: 129
-
-# No inserted files
-
diff --git a/lib/python/ctypes/ogsf.py b/lib/python/ctypes/ogsf.py
deleted file mode 100644
index 7a7f2c9..0000000
--- a/lib/python/ctypes/ogsf.py
+++ /dev/null
@@ -1,6214 +0,0 @@
-'''Wrapper for ogsf_proto.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_ogsf.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h /home/neteler/grass70/dist.x86_64-unk [...]
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_ogsf.7.0.svn"] = load_library("grass_ogsf.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/linkm.h: 12
-class struct_link_head(Structure):
-    pass
-
-struct_link_head.__slots__ = [
-    'ptr_array',
-    'max_ptr',
-    'alloced',
-    'chunk_size',
-    'unit_size',
-    'Unused',
-    'exit_flag',
-]
-struct_link_head._fields_ = [
-    ('ptr_array', POINTER(POINTER(c_char))),
-    ('max_ptr', c_int),
-    ('alloced', c_int),
-    ('chunk_size', c_int),
-    ('unit_size', c_int),
-    ('Unused', String),
-    ('exit_flag', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/bitmap.h: 17
-class struct_BM(Structure):
-    pass
-
-struct_BM.__slots__ = [
-    'rows',
-    'cols',
-    'bytes',
-    'data',
-    'sparse',
-    'token',
-]
-struct_BM._fields_ = [
-    ('rows', c_int),
-    ('cols', c_int),
-    ('bytes', c_int),
-    ('data', POINTER(c_ubyte)),
-    ('sparse', c_int),
-    ('token', POINTER(struct_link_head)),
-]
-
-GLint = c_int # /usr/include/GL/gl.h: 161
-
-GLuint = c_uint # /usr/include/GL/gl.h: 164
-
-GLdouble = c_double # /usr/include/GL/gl.h: 168
-
-Point4 = c_float * 4 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 95
-
-Point3 = c_float * 3 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 96
-
-Point2 = c_float * 2 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 97
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 109
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'fb',
-    'ib',
-    'sb',
-    'cb',
-    'bm',
-    'nm',
-    'tfunc',
-    'k',
-]
-struct_anon_24._fields_ = [
-    ('fb', POINTER(c_float)),
-    ('ib', POINTER(c_int)),
-    ('sb', POINTER(c_short)),
-    ('cb', POINTER(c_ubyte)),
-    ('bm', POINTER(struct_BM)),
-    ('nm', POINTER(struct_BM)),
-    ('tfunc', CFUNCTYPE(UNCHECKED(c_float), c_float, c_int)),
-    ('k', c_float),
-]
-
-typbuff = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 109
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 116
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'n_elem',
-    'index',
-    'value',
-]
-struct_anon_25._fields_ = [
-    ('n_elem', c_int),
-    ('index', String),
-    ('value', POINTER(c_int)),
-]
-
-table256 = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 116
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 124
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'offset',
-    'mult',
-    'use_lookup',
-    'lookup',
-]
-struct_anon_26._fields_ = [
-    ('offset', c_float),
-    ('mult', c_float),
-    ('use_lookup', c_int),
-    ('lookup', table256),
-]
-
-transform = struct_anon_26 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 124
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 137
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'data_id',
-    'dims',
-    'ndims',
-    'numbytes',
-    'unique_name',
-    'databuff',
-    'changed',
-    'need_reload',
-]
-struct_anon_27._fields_ = [
-    ('data_id', c_int),
-    ('dims', c_int * 4),
-    ('ndims', c_int),
-    ('numbytes', c_int),
-    ('unique_name', String),
-    ('databuff', typbuff),
-    ('changed', c_uint),
-    ('need_reload', c_int),
-]
-
-dataset = struct_anon_27 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 137
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 150
-class struct_anon_28(Structure):
-    pass
-
-struct_anon_28.__slots__ = [
-    'att_src',
-    'att_type',
-    'hdata',
-    'user_func',
-    'constant',
-    'lookup',
-    'min_nz',
-    'max_nz',
-    'range_nz',
-    'default_null',
-]
-struct_anon_28._fields_ = [
-    ('att_src', c_uint),
-    ('att_type', c_uint),
-    ('hdata', c_int),
-    ('user_func', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('constant', c_float),
-    ('lookup', POINTER(c_int)),
-    ('min_nz', c_float),
-    ('max_nz', c_float),
-    ('range_nz', c_float),
-    ('default_null', c_float),
-]
-
-gsurf_att = struct_anon_28 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 150
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 152
-class struct_g_surf(Structure):
-    pass
-
-struct_g_surf.__slots__ = [
-    'gsurf_id',
-    'cols',
-    'rows',
-    'att',
-    'draw_mode',
-    'wire_color',
-    'ox',
-    'oy',
-    'xres',
-    'yres',
-    'z_exag',
-    'x_trans',
-    'y_trans',
-    'z_trans',
-    'xmin',
-    'xmax',
-    'ymin',
-    'ymax',
-    'zmin',
-    'zmax',
-    'zminmasked',
-    'xrange',
-    'yrange',
-    'zrange',
-    'zmin_nz',
-    'zmax_nz',
-    'zrange_nz',
-    'x_mod',
-    'y_mod',
-    'x_modw',
-    'y_modw',
-    'nz_topo',
-    'nz_color',
-    'mask_needupdate',
-    'norm_needupdate',
-    'norms',
-    'curmask',
-    'next',
-    'clientdata',
-]
-struct_g_surf._fields_ = [
-    ('gsurf_id', c_int),
-    ('cols', c_int),
-    ('rows', c_int),
-    ('att', gsurf_att * 7),
-    ('draw_mode', c_uint),
-    ('wire_color', c_long),
-    ('ox', c_double),
-    ('oy', c_double),
-    ('xres', c_double),
-    ('yres', c_double),
-    ('z_exag', c_float),
-    ('x_trans', c_float),
-    ('y_trans', c_float),
-    ('z_trans', c_float),
-    ('xmin', c_float),
-    ('xmax', c_float),
-    ('ymin', c_float),
-    ('ymax', c_float),
-    ('zmin', c_float),
-    ('zmax', c_float),
-    ('zminmasked', c_float),
-    ('xrange', c_float),
-    ('yrange', c_float),
-    ('zrange', c_float),
-    ('zmin_nz', c_float),
-    ('zmax_nz', c_float),
-    ('zrange_nz', c_float),
-    ('x_mod', c_int),
-    ('y_mod', c_int),
-    ('x_modw', c_int),
-    ('y_modw', c_int),
-    ('nz_topo', c_int),
-    ('nz_color', c_int),
-    ('mask_needupdate', c_int),
-    ('norm_needupdate', c_int),
-    ('norms', POINTER(c_ulong)),
-    ('curmask', POINTER(struct_BM)),
-    ('next', POINTER(struct_g_surf)),
-    ('clientdata', POINTER(None)),
-]
-
-geosurf = struct_g_surf # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 173
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 181
-class struct_g_vect_style(Structure):
-    pass
-
-struct_g_vect_style.__slots__ = [
-    'color',
-    'symbol',
-    'size',
-    'width',
-    'next',
-]
-struct_g_vect_style._fields_ = [
-    ('color', c_int),
-    ('symbol', c_int),
-    ('size', c_float),
-    ('width', c_int),
-    ('next', POINTER(struct_g_vect_style)),
-]
-
-gvstyle = struct_g_vect_style # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 194
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 206
-class struct_g_vect_style_thematic(Structure):
-    pass
-
-struct_g_vect_style_thematic.__slots__ = [
-    'active',
-    'layer',
-    'color_column',
-    'symbol_column',
-    'size_column',
-    'width_column',
-]
-struct_g_vect_style_thematic._fields_ = [
-    ('active', c_int),
-    ('layer', c_int),
-    ('color_column', String),
-    ('symbol_column', String),
-    ('size_column', String),
-    ('width_column', String),
-]
-
-gvstyle_thematic = struct_g_vect_style_thematic # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 206
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 217
-class struct_line_cats(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 209
-class struct_g_line(Structure):
-    pass
-
-struct_g_line.__slots__ = [
-    'type',
-    'norm',
-    'dims',
-    'npts',
-    'p3',
-    'p2',
-    'cats',
-    'style',
-    'highlighted',
-    'next',
-]
-struct_g_line._fields_ = [
-    ('type', c_int),
-    ('norm', c_float * 3),
-    ('dims', c_int),
-    ('npts', c_int),
-    ('p3', POINTER(Point3)),
-    ('p2', POINTER(Point2)),
-    ('cats', POINTER(struct_line_cats)),
-    ('style', POINTER(gvstyle)),
-    ('highlighted', c_char),
-    ('next', POINTER(struct_g_line)),
-]
-
-geoline = struct_g_line # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 222
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 225
-class struct_g_vect(Structure):
-    pass
-
-struct_g_vect.__slots__ = [
-    'gvect_id',
-    'use_mem',
-    'n_lines',
-    'drape_surf_id',
-    'flat_val',
-    'n_surfs',
-    'filename',
-    'x_trans',
-    'y_trans',
-    'z_trans',
-    'lines',
-    'fastlines',
-    'bgn_read',
-    'end_read',
-    'nxt_line',
-    'next',
-    'clientdata',
-    'tstyle',
-    'style',
-    'hstyle',
-]
-struct_g_vect._fields_ = [
-    ('gvect_id', c_int),
-    ('use_mem', c_int),
-    ('n_lines', c_int),
-    ('drape_surf_id', c_int * 12),
-    ('flat_val', c_int),
-    ('n_surfs', c_int),
-    ('filename', String),
-    ('x_trans', c_float),
-    ('y_trans', c_float),
-    ('z_trans', c_float),
-    ('lines', POINTER(geoline)),
-    ('fastlines', POINTER(geoline)),
-    ('bgn_read', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('end_read', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('nxt_line', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('next', POINTER(struct_g_vect)),
-    ('clientdata', POINTER(None)),
-    ('tstyle', POINTER(gvstyle_thematic)),
-    ('style', POINTER(gvstyle)),
-    ('hstyle', POINTER(gvstyle)),
-]
-
-geovect = struct_g_vect # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 244
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 247
-class struct_g_point(Structure):
-    pass
-
-struct_g_point.__slots__ = [
-    'dims',
-    'p3',
-    'cats',
-    'style',
-    'highlighted',
-    'next',
-]
-struct_g_point._fields_ = [
-    ('dims', c_int),
-    ('p3', Point3),
-    ('cats', POINTER(struct_line_cats)),
-    ('style', POINTER(gvstyle)),
-    ('highlighted', c_char),
-    ('next', POINTER(struct_g_point)),
-]
-
-geopoint = struct_g_point # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 257
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 260
-class struct_g_site(Structure):
-    pass
-
-struct_g_site.__slots__ = [
-    'gsite_id',
-    'drape_surf_id',
-    'n_surfs',
-    'n_sites',
-    'use_z',
-    'use_mem',
-    'has_z',
-    'filename',
-    'attr_trans',
-    'x_trans',
-    'y_trans',
-    'z_trans',
-    'points',
-    'bgn_read',
-    'end_read',
-    'nxt_site',
-    'next',
-    'clientdata',
-    'tstyle',
-    'style',
-    'hstyle',
-]
-struct_g_site._fields_ = [
-    ('gsite_id', c_int),
-    ('drape_surf_id', c_int * 12),
-    ('n_surfs', c_int),
-    ('n_sites', c_int),
-    ('use_z', c_int),
-    ('use_mem', c_int),
-    ('has_z', c_int),
-    ('filename', String),
-    ('attr_trans', transform),
-    ('x_trans', c_float),
-    ('y_trans', c_float),
-    ('z_trans', c_float),
-    ('points', POINTER(geopoint)),
-    ('bgn_read', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('end_read', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('nxt_site', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('next', POINTER(struct_g_site)),
-    ('clientdata', POINTER(None)),
-    ('tstyle', POINTER(gvstyle_thematic)),
-    ('style', POINTER(gvstyle)),
-    ('hstyle', POINTER(gvstyle)),
-]
-
-geosite = struct_g_site # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 279
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 296
-class struct_anon_29(Structure):
-    pass
-
-struct_anon_29.__slots__ = [
-    'data_id',
-    'file_type',
-    'count',
-    'file_name',
-    'data_type',
-    'map',
-    'min',
-    'max',
-    'status',
-    'mode',
-    'buff',
-]
-struct_anon_29._fields_ = [
-    ('data_id', c_int),
-    ('file_type', c_uint),
-    ('count', c_uint),
-    ('file_name', String),
-    ('data_type', c_uint),
-    ('map', POINTER(None)),
-    ('min', c_double),
-    ('max', c_double),
-    ('status', c_uint),
-    ('mode', c_uint),
-    ('buff', POINTER(None)),
-]
-
-geovol_file = struct_anon_29 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 296
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 308
-class struct_anon_30(Structure):
-    pass
-
-struct_anon_30.__slots__ = [
-    'att_src',
-    'hfile',
-    'user_func',
-    'constant',
-    'att_data',
-    'changed',
-]
-struct_anon_30._fields_ = [
-    ('att_src', c_uint),
-    ('hfile', c_int),
-    ('user_func', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('constant', c_float),
-    ('att_data', POINTER(None)),
-    ('changed', c_int),
-]
-
-geovol_isosurf_att = struct_anon_30 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 308
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 317
-class struct_anon_31(Structure):
-    pass
-
-struct_anon_31.__slots__ = [
-    'inout_mode',
-    'att',
-    'data_desc',
-    'data',
-]
-struct_anon_31._fields_ = [
-    ('inout_mode', c_int),
-    ('att', geovol_isosurf_att * 7),
-    ('data_desc', c_int),
-    ('data', POINTER(c_ubyte)),
-]
-
-geovol_isosurf = struct_anon_31 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 317
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 327
-class struct_anon_32(Structure):
-    pass
-
-struct_anon_32.__slots__ = [
-    'dir',
-    'x1',
-    'x2',
-    'y1',
-    'y2',
-    'z1',
-    'z2',
-    'data',
-    'changed',
-    'mode',
-    'transp',
-]
-struct_anon_32._fields_ = [
-    ('dir', c_int),
-    ('x1', c_float),
-    ('x2', c_float),
-    ('y1', c_float),
-    ('y2', c_float),
-    ('z1', c_float),
-    ('z2', c_float),
-    ('data', POINTER(c_ubyte)),
-    ('changed', c_int),
-    ('mode', c_int),
-    ('transp', c_int),
-]
-
-geovol_slice = struct_anon_32 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 327
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 329
-class struct_g_vol(Structure):
-    pass
-
-struct_g_vol.__slots__ = [
-    'gvol_id',
-    'next',
-    'hfile',
-    'cols',
-    'rows',
-    'depths',
-    'ox',
-    'oy',
-    'oz',
-    'xres',
-    'yres',
-    'zres',
-    'xmin',
-    'xmax',
-    'ymin',
-    'ymax',
-    'zmin',
-    'zmax',
-    'xrange',
-    'yrange',
-    'zrange',
-    'x_trans',
-    'y_trans',
-    'z_trans',
-    'n_isosurfs',
-    'isosurf',
-    'isosurf_x_mod',
-    'isosurf_y_mod',
-    'isosurf_z_mod',
-    'isosurf_draw_mode',
-    'n_slices',
-    'slice',
-    'slice_x_mod',
-    'slice_y_mod',
-    'slice_z_mod',
-    'slice_draw_mode',
-    'clientdata',
-]
-struct_g_vol._fields_ = [
-    ('gvol_id', c_int),
-    ('next', POINTER(struct_g_vol)),
-    ('hfile', c_int),
-    ('cols', c_int),
-    ('rows', c_int),
-    ('depths', c_int),
-    ('ox', c_double),
-    ('oy', c_double),
-    ('oz', c_double),
-    ('xres', c_double),
-    ('yres', c_double),
-    ('zres', c_double),
-    ('xmin', c_double),
-    ('xmax', c_double),
-    ('ymin', c_double),
-    ('ymax', c_double),
-    ('zmin', c_double),
-    ('zmax', c_double),
-    ('xrange', c_double),
-    ('yrange', c_double),
-    ('zrange', c_double),
-    ('x_trans', c_float),
-    ('y_trans', c_float),
-    ('z_trans', c_float),
-    ('n_isosurfs', c_int),
-    ('isosurf', POINTER(geovol_isosurf) * 12),
-    ('isosurf_x_mod', c_int),
-    ('isosurf_y_mod', c_int),
-    ('isosurf_z_mod', c_int),
-    ('isosurf_draw_mode', c_uint),
-    ('n_slices', c_int),
-    ('slice', POINTER(geovol_slice) * 12),
-    ('slice_x_mod', c_int),
-    ('slice_y_mod', c_int),
-    ('slice_z_mod', c_int),
-    ('slice_draw_mode', c_uint),
-    ('clientdata', POINTER(None)),
-]
-
-geovol = struct_g_vol # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 353
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 355
-class struct_lightdefs(Structure):
-    pass
-
-struct_lightdefs.__slots__ = [
-    'position',
-    'color',
-    'ambient',
-    'emission',
-    'shine',
-]
-struct_lightdefs._fields_ = [
-    ('position', c_float * 4),
-    ('color', c_float * 3),
-    ('ambient', c_float * 3),
-    ('emission', c_float * 3),
-    ('shine', c_float),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 364
-class struct_georot(Structure):
-    pass
-
-struct_georot.__slots__ = [
-    'do_rot',
-    'rot_angle',
-    'rot_axes',
-    'rotMatrix',
-]
-struct_georot._fields_ = [
-    ('do_rot', c_int),
-    ('rot_angle', c_double),
-    ('rot_axes', c_double * 3),
-    ('rotMatrix', GLdouble * 16),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 383
-class struct_anon_33(Structure):
-    pass
-
-struct_anon_33.__slots__ = [
-    'coord_sys',
-    'view_proj',
-    'infocus',
-    'from_to',
-    'rotate',
-    'twist',
-    'fov',
-    'incl',
-    'look',
-    'real_to',
-    'vert_exag',
-    'scale',
-    'lights',
-]
-struct_anon_33._fields_ = [
-    ('coord_sys', c_int),
-    ('view_proj', c_int),
-    ('infocus', c_int),
-    ('from_to', (c_float * 4) * 2),
-    ('rotate', struct_georot),
-    ('twist', c_int),
-    ('fov', c_int),
-    ('incl', c_int),
-    ('look', c_int),
-    ('real_to', c_float * 4),
-    ('vert_exag', c_float),
-    ('scale', c_float),
-    ('lights', struct_lightdefs * 3),
-]
-
-geoview = struct_anon_33 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 383
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 390
-class struct_anon_34(Structure):
-    pass
-
-struct_anon_34.__slots__ = [
-    'nearclip',
-    'farclip',
-    'aspect',
-    'left',
-    'right',
-    'bottom',
-    'top',
-    'bgcol',
-]
-struct_anon_34._fields_ = [
-    ('nearclip', c_float),
-    ('farclip', c_float),
-    ('aspect', c_float),
-    ('left', c_short),
-    ('right', c_short),
-    ('bottom', c_short),
-    ('top', c_short),
-    ('bgcol', c_int),
-]
-
-geodisplay = struct_anon_34 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 390
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 392
-try:
-    Cxl_func = (POINTER(CFUNCTYPE(UNCHECKED(None), ))).in_dll(_libs['grass_ogsf.7.0.svn'], 'Cxl_func')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 393
-try:
-    Swap_func = (POINTER(CFUNCTYPE(UNCHECKED(None), ))).in_dll(_libs['grass_ogsf.7.0.svn'], 'Swap_func')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 26
-class struct_view_node(Structure):
-    pass
-
-struct_view_node.__slots__ = [
-    'fields',
-]
-struct_view_node._fields_ = [
-    ('fields', c_float * 8),
-]
-
-Viewnode = struct_view_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 26
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 28
-class struct_key_node(Structure):
-    pass
-
-struct_key_node.__slots__ = [
-    'pos',
-    'fields',
-    'look_ahead',
-    'fieldmask',
-    'next',
-    'prior',
-]
-struct_key_node._fields_ = [
-    ('pos', c_float),
-    ('fields', c_float * 8),
-    ('look_ahead', c_int),
-    ('fieldmask', c_ulong),
-    ('next', POINTER(struct_key_node)),
-    ('prior', POINTER(struct_key_node)),
-]
-
-Keylist = struct_key_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 34
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 37
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_set_interpmode'):
-    GK_set_interpmode = _libs['grass_ogsf.7.0.svn'].GK_set_interpmode
-    GK_set_interpmode.restype = c_int
-    GK_set_interpmode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 38
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_set_tension'):
-    GK_set_tension = _libs['grass_ogsf.7.0.svn'].GK_set_tension
-    GK_set_tension.restype = None
-    GK_set_tension.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 39
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_showtension_start'):
-    GK_showtension_start = _libs['grass_ogsf.7.0.svn'].GK_showtension_start
-    GK_showtension_start.restype = None
-    GK_showtension_start.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 40
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_showtension_stop'):
-    GK_showtension_stop = _libs['grass_ogsf.7.0.svn'].GK_showtension_stop
-    GK_showtension_stop.restype = None
-    GK_showtension_stop.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 41
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_update_tension'):
-    GK_update_tension = _libs['grass_ogsf.7.0.svn'].GK_update_tension
-    GK_update_tension.restype = None
-    GK_update_tension.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 42
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_update_frames'):
-    GK_update_frames = _libs['grass_ogsf.7.0.svn'].GK_update_frames
-    GK_update_frames.restype = None
-    GK_update_frames.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 43
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_set_numsteps'):
-    GK_set_numsteps = _libs['grass_ogsf.7.0.svn'].GK_set_numsteps
-    GK_set_numsteps.restype = None
-    GK_set_numsteps.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 44
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_clear_keys'):
-    GK_clear_keys = _libs['grass_ogsf.7.0.svn'].GK_clear_keys
-    GK_clear_keys.restype = None
-    GK_clear_keys.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 45
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_print_keys'):
-    GK_print_keys = _libs['grass_ogsf.7.0.svn'].GK_print_keys
-    GK_print_keys.restype = None
-    GK_print_keys.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 46
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_move_key'):
-    GK_move_key = _libs['grass_ogsf.7.0.svn'].GK_move_key
-    GK_move_key.restype = c_int
-    GK_move_key.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 47
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_delete_key'):
-    GK_delete_key = _libs['grass_ogsf.7.0.svn'].GK_delete_key
-    GK_delete_key.restype = c_int
-    GK_delete_key.argtypes = [c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 48
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_add_key'):
-    GK_add_key = _libs['grass_ogsf.7.0.svn'].GK_add_key
-    GK_add_key.restype = c_int
-    GK_add_key.argtypes = [c_float, c_ulong, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 49
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_do_framestep'):
-    GK_do_framestep = _libs['grass_ogsf.7.0.svn'].GK_do_framestep
-    GK_do_framestep.restype = None
-    GK_do_framestep.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 50
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_path'):
-    GK_show_path = _libs['grass_ogsf.7.0.svn'].GK_show_path
-    GK_show_path.restype = None
-    GK_show_path.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 51
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_vect'):
-    GK_show_vect = _libs['grass_ogsf.7.0.svn'].GK_show_vect
-    GK_show_vect.restype = None
-    GK_show_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 52
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_site'):
-    GK_show_site = _libs['grass_ogsf.7.0.svn'].GK_show_site
-    GK_show_site.restype = None
-    GK_show_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 53
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_vol'):
-    GK_show_vol = _libs['grass_ogsf.7.0.svn'].GK_show_vol
-    GK_show_vol.restype = None
-    GK_show_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 54
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GK_show_list'):
-    GK_show_list = _libs['grass_ogsf.7.0.svn'].GK_show_list
-    GK_show_list.restype = None
-    GK_show_list.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 57
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_site_exists'):
-    GP_site_exists = _libs['grass_ogsf.7.0.svn'].GP_site_exists
-    GP_site_exists.restype = c_int
-    GP_site_exists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 58
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_new_site'):
-    GP_new_site = _libs['grass_ogsf.7.0.svn'].GP_new_site
-    GP_new_site.restype = c_int
-    GP_new_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 59
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_num_sites'):
-    GP_num_sites = _libs['grass_ogsf.7.0.svn'].GP_num_sites
-    GP_num_sites.restype = c_int
-    GP_num_sites.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 60
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_site_list'):
-    GP_get_site_list = _libs['grass_ogsf.7.0.svn'].GP_get_site_list
-    GP_get_site_list.restype = POINTER(c_int)
-    GP_get_site_list.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 61
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_delete_site'):
-    GP_delete_site = _libs['grass_ogsf.7.0.svn'].GP_delete_site
-    GP_delete_site.restype = c_int
-    GP_delete_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 62
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_load_site'):
-    GP_load_site = _libs['grass_ogsf.7.0.svn'].GP_load_site
-    GP_load_site.restype = c_int
-    GP_load_site.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 63
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_sitename'):
-    GP_get_sitename = _libs['grass_ogsf.7.0.svn'].GP_get_sitename
-    GP_get_sitename.restype = c_int
-    GP_get_sitename.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 64
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_style'):
-    GP_get_style = _libs['grass_ogsf.7.0.svn'].GP_get_style
-    GP_get_style.restype = c_int
-    GP_get_style.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 65
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_set_style'):
-    GP_set_style = _libs['grass_ogsf.7.0.svn'].GP_set_style
-    GP_set_style.restype = c_int
-    GP_set_style.argtypes = [c_int, c_int, c_int, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 66
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_set_style_thematic'):
-    GP_set_style_thematic = _libs['grass_ogsf.7.0.svn'].GP_set_style_thematic
-    GP_set_style_thematic.restype = c_int
-    GP_set_style_thematic.argtypes = [c_int, c_int, String, String, String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 68
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_unset_style_thematic'):
-    GP_unset_style_thematic = _libs['grass_ogsf.7.0.svn'].GP_unset_style_thematic
-    GP_unset_style_thematic.restype = c_int
-    GP_unset_style_thematic.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 69
-for _lib in _libs.values():
-    if hasattr(_lib, 'GP_attmode_color'):
-        GP_attmode_color = _lib.GP_attmode_color
-        GP_attmode_color.restype = c_int
-        GP_attmode_color.argtypes = [c_int, String]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 70
-for _lib in _libs.values():
-    if hasattr(_lib, 'GP_attmode_none'):
-        GP_attmode_none = _lib.GP_attmode_none
-        GP_attmode_none.restype = c_int
-        GP_attmode_none.argtypes = [c_int]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 71
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_set_zmode'):
-    GP_set_zmode = _libs['grass_ogsf.7.0.svn'].GP_set_zmode
-    GP_set_zmode.restype = c_int
-    GP_set_zmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 72
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_zmode'):
-    GP_get_zmode = _libs['grass_ogsf.7.0.svn'].GP_get_zmode
-    GP_get_zmode.restype = c_int
-    GP_get_zmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 73
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_set_trans'):
-    GP_set_trans = _libs['grass_ogsf.7.0.svn'].GP_set_trans
-    GP_set_trans.restype = None
-    GP_set_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 74
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_get_trans'):
-    GP_get_trans = _libs['grass_ogsf.7.0.svn'].GP_get_trans
-    GP_get_trans.restype = None
-    GP_get_trans.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 75
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_select_surf'):
-    GP_select_surf = _libs['grass_ogsf.7.0.svn'].GP_select_surf
-    GP_select_surf.restype = c_int
-    GP_select_surf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 76
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_unselect_surf'):
-    GP_unselect_surf = _libs['grass_ogsf.7.0.svn'].GP_unselect_surf
-    GP_unselect_surf.restype = c_int
-    GP_unselect_surf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 77
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_surf_is_selected'):
-    GP_surf_is_selected = _libs['grass_ogsf.7.0.svn'].GP_surf_is_selected
-    GP_surf_is_selected.restype = c_int
-    GP_surf_is_selected.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 78
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_draw_site'):
-    GP_draw_site = _libs['grass_ogsf.7.0.svn'].GP_draw_site
-    GP_draw_site.restype = None
-    GP_draw_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 79
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_alldraw_site'):
-    GP_alldraw_site = _libs['grass_ogsf.7.0.svn'].GP_alldraw_site
-    GP_alldraw_site.restype = None
-    GP_alldraw_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 80
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_Set_ClientData'):
-    GP_Set_ClientData = _libs['grass_ogsf.7.0.svn'].GP_Set_ClientData
-    GP_Set_ClientData.restype = c_int
-    GP_Set_ClientData.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 81
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_Get_ClientData'):
-    GP_Get_ClientData = _libs['grass_ogsf.7.0.svn'].GP_Get_ClientData
-    GP_Get_ClientData.restype = POINTER(None)
-    GP_Get_ClientData.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 82
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GP_str_to_marker'):
-    GP_str_to_marker = _libs['grass_ogsf.7.0.svn'].GP_str_to_marker
-    GP_str_to_marker.restype = c_int
-    GP_str_to_marker.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 85
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'void_func'):
-    void_func = _libs['grass_ogsf.7.0.svn'].void_func
-    void_func.restype = None
-    void_func.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 86
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_libinit'):
-    GS_libinit = _libs['grass_ogsf.7.0.svn'].GS_libinit
-    GS_libinit.restype = None
-    GS_libinit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 87
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_longdim'):
-    GS_get_longdim = _libs['grass_ogsf.7.0.svn'].GS_get_longdim
-    GS_get_longdim.restype = c_int
-    GS_get_longdim.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 88
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_region'):
-    GS_get_region = _libs['grass_ogsf.7.0.svn'].GS_get_region
-    GS_get_region.restype = c_int
-    GS_get_region.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 89
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_att_defaults'):
-    GS_set_att_defaults = _libs['grass_ogsf.7.0.svn'].GS_set_att_defaults
-    GS_set_att_defaults.restype = None
-    GS_set_att_defaults.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 90
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_surf_exists'):
-    GS_surf_exists = _libs['grass_ogsf.7.0.svn'].GS_surf_exists
-    GS_surf_exists.restype = c_int
-    GS_surf_exists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 91
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_new_surface'):
-    GS_new_surface = _libs['grass_ogsf.7.0.svn'].GS_new_surface
-    GS_new_surface.restype = c_int
-    GS_new_surface.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 92
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_new_light'):
-    GS_new_light = _libs['grass_ogsf.7.0.svn'].GS_new_light
-    GS_new_light.restype = c_int
-    GS_new_light.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 93
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_light_reset'):
-    GS_set_light_reset = _libs['grass_ogsf.7.0.svn'].GS_set_light_reset
-    GS_set_light_reset.restype = None
-    GS_set_light_reset.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 94
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_light_reset'):
-    GS_get_light_reset = _libs['grass_ogsf.7.0.svn'].GS_get_light_reset
-    GS_get_light_reset.restype = c_int
-    GS_get_light_reset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 95
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setlight_position'):
-    GS_setlight_position = _libs['grass_ogsf.7.0.svn'].GS_setlight_position
-    GS_setlight_position.restype = None
-    GS_setlight_position.argtypes = [c_int, c_float, c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 96
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setlight_color'):
-    GS_setlight_color = _libs['grass_ogsf.7.0.svn'].GS_setlight_color
-    GS_setlight_color.restype = None
-    GS_setlight_color.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 97
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setlight_ambient'):
-    GS_setlight_ambient = _libs['grass_ogsf.7.0.svn'].GS_setlight_ambient
-    GS_setlight_ambient.restype = None
-    GS_setlight_ambient.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 98
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_lights_off'):
-    GS_lights_off = _libs['grass_ogsf.7.0.svn'].GS_lights_off
-    GS_lights_off.restype = None
-    GS_lights_off.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 99
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_lights_on'):
-    GS_lights_on = _libs['grass_ogsf.7.0.svn'].GS_lights_on
-    GS_lights_on.restype = None
-    GS_lights_on.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 100
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_switchlight'):
-    GS_switchlight = _libs['grass_ogsf.7.0.svn'].GS_switchlight
-    GS_switchlight.restype = None
-    GS_switchlight.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 101
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_transp_is_set'):
-    GS_transp_is_set = _libs['grass_ogsf.7.0.svn'].GS_transp_is_set
-    GS_transp_is_set.restype = c_int
-    GS_transp_is_set.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 102
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_modelposition1'):
-    GS_get_modelposition1 = _libs['grass_ogsf.7.0.svn'].GS_get_modelposition1
-    GS_get_modelposition1.restype = None
-    GS_get_modelposition1.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 103
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_modelposition'):
-    GS_get_modelposition = _libs['grass_ogsf.7.0.svn'].GS_get_modelposition
-    GS_get_modelposition.restype = None
-    GS_get_modelposition.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 104
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_X'):
-    GS_draw_X = _libs['grass_ogsf.7.0.svn'].GS_draw_X
-    GS_draw_X.restype = None
-    GS_draw_X.argtypes = [c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 105
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_Narrow'):
-    GS_set_Narrow = _libs['grass_ogsf.7.0.svn'].GS_set_Narrow
-    GS_set_Narrow.restype = None
-    GS_set_Narrow.argtypes = [POINTER(c_int), c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 106
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_line_onsurf'):
-    GS_draw_line_onsurf = _libs['grass_ogsf.7.0.svn'].GS_draw_line_onsurf
-    GS_draw_line_onsurf.restype = None
-    GS_draw_line_onsurf.argtypes = [c_int, c_float, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 107
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_nline_onsurf'):
-    GS_draw_nline_onsurf = _libs['grass_ogsf.7.0.svn'].GS_draw_nline_onsurf
-    GS_draw_nline_onsurf.restype = c_int
-    GS_draw_nline_onsurf.argtypes = [c_int, c_float, c_float, c_float, c_float, POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 108
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_flowline_at_xy'):
-    GS_draw_flowline_at_xy = _libs['grass_ogsf.7.0.svn'].GS_draw_flowline_at_xy
-    GS_draw_flowline_at_xy.restype = None
-    GS_draw_flowline_at_xy.argtypes = [c_int, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 109
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_lighting_model1'):
-    GS_draw_lighting_model1 = _libs['grass_ogsf.7.0.svn'].GS_draw_lighting_model1
-    GS_draw_lighting_model1.restype = None
-    GS_draw_lighting_model1.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 110
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_lighting_model'):
-    GS_draw_lighting_model = _libs['grass_ogsf.7.0.svn'].GS_draw_lighting_model
-    GS_draw_lighting_model.restype = None
-    GS_draw_lighting_model.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 111
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_update_curmask'):
-    GS_update_curmask = _libs['grass_ogsf.7.0.svn'].GS_update_curmask
-    GS_update_curmask.restype = c_int
-    GS_update_curmask.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 112
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_is_masked'):
-    GS_is_masked = _libs['grass_ogsf.7.0.svn'].GS_is_masked
-    GS_is_masked.restype = c_int
-    GS_is_masked.argtypes = [c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 113
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_unset_SDsurf'):
-    GS_unset_SDsurf = _libs['grass_ogsf.7.0.svn'].GS_unset_SDsurf
-    GS_unset_SDsurf.restype = None
-    GS_unset_SDsurf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 114
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_SDsurf'):
-    GS_set_SDsurf = _libs['grass_ogsf.7.0.svn'].GS_set_SDsurf
-    GS_set_SDsurf.restype = c_int
-    GS_set_SDsurf.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 115
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_SDscale'):
-    GS_set_SDscale = _libs['grass_ogsf.7.0.svn'].GS_set_SDscale
-    GS_set_SDscale.restype = c_int
-    GS_set_SDscale.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 116
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_SDsurf'):
-    GS_get_SDsurf = _libs['grass_ogsf.7.0.svn'].GS_get_SDsurf
-    GS_get_SDsurf.restype = c_int
-    GS_get_SDsurf.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 117
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_SDscale'):
-    GS_get_SDscale = _libs['grass_ogsf.7.0.svn'].GS_get_SDscale
-    GS_get_SDscale.restype = c_int
-    GS_get_SDscale.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 118
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_update_normals'):
-    GS_update_normals = _libs['grass_ogsf.7.0.svn'].GS_update_normals
-    GS_update_normals.restype = c_int
-    GS_update_normals.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 119
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_att'):
-    GS_get_att = _libs['grass_ogsf.7.0.svn'].GS_get_att
-    GS_get_att.restype = c_int
-    GS_get_att.argtypes = [c_int, c_int, POINTER(c_int), POINTER(c_float), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 120
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_cat_at_xy'):
-    GS_get_cat_at_xy = _libs['grass_ogsf.7.0.svn'].GS_get_cat_at_xy
-    GS_get_cat_at_xy.restype = c_int
-    GS_get_cat_at_xy.argtypes = [c_int, c_int, String, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 121
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_norm_at_xy'):
-    GS_get_norm_at_xy = _libs['grass_ogsf.7.0.svn'].GS_get_norm_at_xy
-    GS_get_norm_at_xy.restype = c_int
-    GS_get_norm_at_xy.argtypes = [c_int, c_float, c_float, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 122
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_val_at_xy'):
-    GS_get_val_at_xy = _libs['grass_ogsf.7.0.svn'].GS_get_val_at_xy
-    GS_get_val_at_xy.restype = c_int
-    GS_get_val_at_xy.argtypes = [c_int, c_int, String, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 123
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_unset_att'):
-    GS_unset_att = _libs['grass_ogsf.7.0.svn'].GS_unset_att
-    GS_unset_att.restype = c_int
-    GS_unset_att.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 124
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_att_const'):
-    GS_set_att_const = _libs['grass_ogsf.7.0.svn'].GS_set_att_const
-    GS_set_att_const.restype = c_int
-    GS_set_att_const.argtypes = [c_int, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 125
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_maskmode'):
-    GS_set_maskmode = _libs['grass_ogsf.7.0.svn'].GS_set_maskmode
-    GS_set_maskmode.restype = c_int
-    GS_set_maskmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 126
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_maskmode'):
-    GS_get_maskmode = _libs['grass_ogsf.7.0.svn'].GS_get_maskmode
-    GS_get_maskmode.restype = c_int
-    GS_get_maskmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 127
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_Set_ClientData'):
-    GS_Set_ClientData = _libs['grass_ogsf.7.0.svn'].GS_Set_ClientData
-    GS_Set_ClientData.restype = c_int
-    GS_Set_ClientData.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 128
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_Get_ClientData'):
-    GS_Get_ClientData = _libs['grass_ogsf.7.0.svn'].GS_Get_ClientData
-    GS_Get_ClientData.restype = POINTER(None)
-    GS_Get_ClientData.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 129
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_num_surfs'):
-    GS_num_surfs = _libs['grass_ogsf.7.0.svn'].GS_num_surfs
-    GS_num_surfs.restype = c_int
-    GS_num_surfs.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 130
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_surf_list'):
-    GS_get_surf_list = _libs['grass_ogsf.7.0.svn'].GS_get_surf_list
-    GS_get_surf_list.restype = POINTER(c_int)
-    GS_get_surf_list.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 131
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_delete_surface'):
-    GS_delete_surface = _libs['grass_ogsf.7.0.svn'].GS_delete_surface
-    GS_delete_surface.restype = c_int
-    GS_delete_surface.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 132
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_load_att_map'):
-    GS_load_att_map = _libs['grass_ogsf.7.0.svn'].GS_load_att_map
-    GS_load_att_map.restype = c_int
-    GS_load_att_map.argtypes = [c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 133
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_surf'):
-    GS_draw_surf = _libs['grass_ogsf.7.0.svn'].GS_draw_surf
-    GS_draw_surf.restype = None
-    GS_draw_surf.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 134
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_wire'):
-    GS_draw_wire = _libs['grass_ogsf.7.0.svn'].GS_draw_wire
-    GS_draw_wire.restype = None
-    GS_draw_wire.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 135
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_alldraw_wire'):
-    GS_alldraw_wire = _libs['grass_ogsf.7.0.svn'].GS_alldraw_wire
-    GS_alldraw_wire.restype = None
-    GS_alldraw_wire.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 136
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_alldraw_surf'):
-    GS_alldraw_surf = _libs['grass_ogsf.7.0.svn'].GS_alldraw_surf
-    GS_alldraw_surf.restype = None
-    GS_alldraw_surf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 137
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_exag'):
-    GS_set_exag = _libs['grass_ogsf.7.0.svn'].GS_set_exag
-    GS_set_exag.restype = None
-    GS_set_exag.argtypes = [c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 138
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_global_exag'):
-    GS_set_global_exag = _libs['grass_ogsf.7.0.svn'].GS_set_global_exag
-    GS_set_global_exag.restype = None
-    GS_set_global_exag.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 139
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_global_exag'):
-    GS_global_exag = _libs['grass_ogsf.7.0.svn'].GS_global_exag
-    GS_global_exag.restype = c_float
-    GS_global_exag.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 140
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_wire_color'):
-    GS_set_wire_color = _libs['grass_ogsf.7.0.svn'].GS_set_wire_color
-    GS_set_wire_color.restype = None
-    GS_set_wire_color.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 141
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_wire_color'):
-    GS_get_wire_color = _libs['grass_ogsf.7.0.svn'].GS_get_wire_color
-    GS_get_wire_color.restype = c_int
-    GS_get_wire_color.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 142
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setall_drawmode'):
-    GS_setall_drawmode = _libs['grass_ogsf.7.0.svn'].GS_setall_drawmode
-    GS_setall_drawmode.restype = c_int
-    GS_setall_drawmode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 143
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_drawmode'):
-    GS_set_drawmode = _libs['grass_ogsf.7.0.svn'].GS_set_drawmode
-    GS_set_drawmode.restype = c_int
-    GS_set_drawmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 144
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_drawmode'):
-    GS_get_drawmode = _libs['grass_ogsf.7.0.svn'].GS_get_drawmode
-    GS_get_drawmode.restype = c_int
-    GS_get_drawmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 145
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_nozero'):
-    GS_set_nozero = _libs['grass_ogsf.7.0.svn'].GS_set_nozero
-    GS_set_nozero.restype = None
-    GS_set_nozero.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 146
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_nozero'):
-    GS_get_nozero = _libs['grass_ogsf.7.0.svn'].GS_get_nozero
-    GS_get_nozero.restype = c_int
-    GS_get_nozero.argtypes = [c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 147
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_setall_drawres'):
-    GS_setall_drawres = _libs['grass_ogsf.7.0.svn'].GS_setall_drawres
-    GS_setall_drawres.restype = c_int
-    GS_setall_drawres.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 148
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_drawres'):
-    GS_set_drawres = _libs['grass_ogsf.7.0.svn'].GS_set_drawres
-    GS_set_drawres.restype = c_int
-    GS_set_drawres.argtypes = [c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 149
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_drawres'):
-    GS_get_drawres = _libs['grass_ogsf.7.0.svn'].GS_get_drawres
-    GS_get_drawres.restype = None
-    GS_get_drawres.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 150
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_dims'):
-    GS_get_dims = _libs['grass_ogsf.7.0.svn'].GS_get_dims
-    GS_get_dims.restype = None
-    GS_get_dims.argtypes = [c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 151
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_exag_guess'):
-    GS_get_exag_guess = _libs['grass_ogsf.7.0.svn'].GS_get_exag_guess
-    GS_get_exag_guess.restype = c_int
-    GS_get_exag_guess.argtypes = [c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 152
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_zrange_nz'):
-    GS_get_zrange_nz = _libs['grass_ogsf.7.0.svn'].GS_get_zrange_nz
-    GS_get_zrange_nz.restype = None
-    GS_get_zrange_nz.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 153
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_trans'):
-    GS_set_trans = _libs['grass_ogsf.7.0.svn'].GS_set_trans
-    GS_set_trans.restype = None
-    GS_set_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 154
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_trans'):
-    GS_get_trans = _libs['grass_ogsf.7.0.svn'].GS_get_trans
-    GS_get_trans.restype = None
-    GS_get_trans.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 155
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_default_draw_color'):
-    GS_default_draw_color = _libs['grass_ogsf.7.0.svn'].GS_default_draw_color
-    GS_default_draw_color.restype = c_uint
-    GS_default_draw_color.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 156
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_background_color'):
-    GS_background_color = _libs['grass_ogsf.7.0.svn'].GS_background_color
-    GS_background_color.restype = c_uint
-    GS_background_color.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 157
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_draw'):
-    GS_set_draw = _libs['grass_ogsf.7.0.svn'].GS_set_draw
-    GS_set_draw.restype = None
-    GS_set_draw.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 158
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_ready_draw'):
-    GS_ready_draw = _libs['grass_ogsf.7.0.svn'].GS_ready_draw
-    GS_ready_draw.restype = None
-    GS_ready_draw.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 159
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_done_draw'):
-    GS_done_draw = _libs['grass_ogsf.7.0.svn'].GS_done_draw
-    GS_done_draw.restype = None
-    GS_done_draw.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 160
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_focus'):
-    GS_set_focus = _libs['grass_ogsf.7.0.svn'].GS_set_focus
-    GS_set_focus.restype = None
-    GS_set_focus.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 161
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_focus'):
-    GS_get_focus = _libs['grass_ogsf.7.0.svn'].GS_get_focus
-    GS_get_focus.restype = c_int
-    GS_get_focus.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 162
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_focus_center_map'):
-    GS_set_focus_center_map = _libs['grass_ogsf.7.0.svn'].GS_set_focus_center_map
-    GS_set_focus_center_map.restype = None
-    GS_set_focus_center_map.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 163
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_moveto'):
-    GS_moveto = _libs['grass_ogsf.7.0.svn'].GS_moveto
-    GS_moveto.restype = None
-    GS_moveto.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 164
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_moveto_real'):
-    GS_moveto_real = _libs['grass_ogsf.7.0.svn'].GS_moveto_real
-    GS_moveto_real.restype = None
-    GS_moveto_real.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 165
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_focus_real'):
-    GS_set_focus_real = _libs['grass_ogsf.7.0.svn'].GS_set_focus_real
-    GS_set_focus_real.restype = None
-    GS_set_focus_real.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 166
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_to_real'):
-    GS_get_to_real = _libs['grass_ogsf.7.0.svn'].GS_get_to_real
-    GS_get_to_real.restype = None
-    GS_get_to_real.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 167
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_zextents'):
-    GS_get_zextents = _libs['grass_ogsf.7.0.svn'].GS_get_zextents
-    GS_get_zextents.restype = c_int
-    GS_get_zextents.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 168
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_zrange'):
-    GS_get_zrange = _libs['grass_ogsf.7.0.svn'].GS_get_zrange
-    GS_get_zrange.restype = c_int
-    GS_get_zrange.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 169
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_from'):
-    GS_get_from = _libs['grass_ogsf.7.0.svn'].GS_get_from
-    GS_get_from.restype = None
-    GS_get_from.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 170
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_from_real'):
-    GS_get_from_real = _libs['grass_ogsf.7.0.svn'].GS_get_from_real
-    GS_get_from_real.restype = None
-    GS_get_from_real.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 171
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_to'):
-    GS_get_to = _libs['grass_ogsf.7.0.svn'].GS_get_to
-    GS_get_to.restype = None
-    GS_get_to.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 172
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_viewdir'):
-    GS_get_viewdir = _libs['grass_ogsf.7.0.svn'].GS_get_viewdir
-    GS_get_viewdir.restype = None
-    GS_get_viewdir.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 173
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_viewdir'):
-    GS_set_viewdir = _libs['grass_ogsf.7.0.svn'].GS_set_viewdir
-    GS_set_viewdir.restype = None
-    GS_set_viewdir.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 174
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_fov'):
-    GS_set_fov = _libs['grass_ogsf.7.0.svn'].GS_set_fov
-    GS_set_fov.restype = None
-    GS_set_fov.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 175
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_rotation'):
-    GS_set_rotation = _libs['grass_ogsf.7.0.svn'].GS_set_rotation
-    GS_set_rotation.restype = None
-    GS_set_rotation.argtypes = [c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 176
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_rotation_matrix'):
-    GS_get_rotation_matrix = _libs['grass_ogsf.7.0.svn'].GS_get_rotation_matrix
-    GS_get_rotation_matrix.restype = None
-    GS_get_rotation_matrix.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 177
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_rotation_matrix'):
-    GS_set_rotation_matrix = _libs['grass_ogsf.7.0.svn'].GS_set_rotation_matrix
-    GS_set_rotation_matrix.restype = None
-    GS_set_rotation_matrix.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 178
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_init_rotation'):
-    GS_init_rotation = _libs['grass_ogsf.7.0.svn'].GS_init_rotation
-    GS_init_rotation.restype = None
-    GS_init_rotation.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 179
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_unset_rotation'):
-    GS_unset_rotation = _libs['grass_ogsf.7.0.svn'].GS_unset_rotation
-    GS_unset_rotation.restype = None
-    GS_unset_rotation.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 180
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_fov'):
-    GS_get_fov = _libs['grass_ogsf.7.0.svn'].GS_get_fov
-    GS_get_fov.restype = c_int
-    GS_get_fov.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 181
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_twist'):
-    GS_get_twist = _libs['grass_ogsf.7.0.svn'].GS_get_twist
-    GS_get_twist.restype = c_int
-    GS_get_twist.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 182
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_twist'):
-    GS_set_twist = _libs['grass_ogsf.7.0.svn'].GS_set_twist
-    GS_set_twist.restype = None
-    GS_set_twist.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 183
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_nofocus'):
-    GS_set_nofocus = _libs['grass_ogsf.7.0.svn'].GS_set_nofocus
-    GS_set_nofocus.restype = None
-    GS_set_nofocus.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 184
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_infocus'):
-    GS_set_infocus = _libs['grass_ogsf.7.0.svn'].GS_set_infocus
-    GS_set_infocus.restype = None
-    GS_set_infocus.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 185
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_viewport'):
-    GS_set_viewport = _libs['grass_ogsf.7.0.svn'].GS_set_viewport
-    GS_set_viewport.restype = None
-    GS_set_viewport.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 186
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_look_here'):
-    GS_look_here = _libs['grass_ogsf.7.0.svn'].GS_look_here
-    GS_look_here.restype = c_int
-    GS_look_here.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 187
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_selected_point_on_surface'):
-    GS_get_selected_point_on_surface = _libs['grass_ogsf.7.0.svn'].GS_get_selected_point_on_surface
-    GS_get_selected_point_on_surface.restype = c_int
-    GS_get_selected_point_on_surface.argtypes = [c_int, c_int, POINTER(c_int), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 189
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cplane_rot'):
-    GS_set_cplane_rot = _libs['grass_ogsf.7.0.svn'].GS_set_cplane_rot
-    GS_set_cplane_rot.restype = None
-    GS_set_cplane_rot.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 190
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cplane_trans'):
-    GS_set_cplane_trans = _libs['grass_ogsf.7.0.svn'].GS_set_cplane_trans
-    GS_set_cplane_trans.restype = None
-    GS_set_cplane_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 191
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_cplane'):
-    GS_draw_cplane = _libs['grass_ogsf.7.0.svn'].GS_draw_cplane
-    GS_draw_cplane.restype = None
-    GS_draw_cplane.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 192
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_cplane_fence'):
-    GS_draw_cplane_fence = _libs['grass_ogsf.7.0.svn'].GS_draw_cplane_fence
-    GS_draw_cplane_fence.restype = c_int
-    GS_draw_cplane_fence.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 193
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_alldraw_cplane_fences'):
-    GS_alldraw_cplane_fences = _libs['grass_ogsf.7.0.svn'].GS_alldraw_cplane_fences
-    GS_alldraw_cplane_fences.restype = None
-    GS_alldraw_cplane_fences.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 194
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cplane'):
-    GS_set_cplane = _libs['grass_ogsf.7.0.svn'].GS_set_cplane
-    GS_set_cplane.restype = None
-    GS_set_cplane.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 195
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_unset_cplane'):
-    GS_unset_cplane = _libs['grass_ogsf.7.0.svn'].GS_unset_cplane
-    GS_unset_cplane.restype = None
-    GS_unset_cplane.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 196
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_scale'):
-    GS_get_scale = _libs['grass_ogsf.7.0.svn'].GS_get_scale
-    GS_get_scale.restype = None
-    GS_get_scale.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 197
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_fencecolor'):
-    GS_set_fencecolor = _libs['grass_ogsf.7.0.svn'].GS_set_fencecolor
-    GS_set_fencecolor.restype = None
-    GS_set_fencecolor.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 198
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_fencecolor'):
-    GS_get_fencecolor = _libs['grass_ogsf.7.0.svn'].GS_get_fencecolor
-    GS_get_fencecolor.restype = c_int
-    GS_get_fencecolor.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 199
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_distance_alongsurf'):
-    GS_get_distance_alongsurf = _libs['grass_ogsf.7.0.svn'].GS_get_distance_alongsurf
-    GS_get_distance_alongsurf.restype = c_int
-    GS_get_distance_alongsurf.argtypes = [c_int, c_float, c_float, c_float, c_float, POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 200
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_save_3dview'):
-    GS_save_3dview = _libs['grass_ogsf.7.0.svn'].GS_save_3dview
-    GS_save_3dview.restype = c_int
-    GS_save_3dview.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 201
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_load_3dview'):
-    GS_load_3dview = _libs['grass_ogsf.7.0.svn'].GS_load_3dview
-    GS_load_3dview.restype = c_int
-    GS_load_3dview.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 202
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_init_view'):
-    GS_init_view = _libs['grass_ogsf.7.0.svn'].GS_init_view
-    GS_init_view.restype = None
-    GS_init_view.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 203
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_clear'):
-    GS_clear = _libs['grass_ogsf.7.0.svn'].GS_clear
-    GS_clear.restype = None
-    GS_clear.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 204
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_get_aspect'):
-    GS_get_aspect = _libs['grass_ogsf.7.0.svn'].GS_get_aspect
-    GS_get_aspect.restype = c_double
-    GS_get_aspect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 205
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_has_transparency'):
-    GS_has_transparency = _libs['grass_ogsf.7.0.svn'].GS_has_transparency
-    GS_has_transparency.restype = c_int
-    GS_has_transparency.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 206
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_zoom_setup'):
-    GS_zoom_setup = _libs['grass_ogsf.7.0.svn'].GS_zoom_setup
-    GS_zoom_setup.restype = None
-    GS_zoom_setup.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 207
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_write_zoom'):
-    GS_write_zoom = _libs['grass_ogsf.7.0.svn'].GS_write_zoom
-    GS_write_zoom.restype = c_int
-    GS_write_zoom.argtypes = [String, c_uint, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 208
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_all_list'):
-    GS_draw_all_list = _libs['grass_ogsf.7.0.svn'].GS_draw_all_list
-    GS_draw_all_list.restype = None
-    GS_draw_all_list.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 209
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_delete_list'):
-    GS_delete_list = _libs['grass_ogsf.7.0.svn'].GS_delete_list
-    GS_delete_list.restype = None
-    GS_delete_list.argtypes = [GLuint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 210
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_legend'):
-    GS_draw_legend = _libs['grass_ogsf.7.0.svn'].GS_draw_legend
-    GS_draw_legend.restype = c_int
-    GS_draw_legend.argtypes = [String, GLuint, c_int, POINTER(c_int), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 211
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_draw_fringe'):
-    GS_draw_fringe = _libs['grass_ogsf.7.0.svn'].GS_draw_fringe
-    GS_draw_fringe.restype = None
-    GS_draw_fringe.argtypes = [c_int, c_ulong, c_float, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 212
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_getlight_position'):
-    GS_getlight_position = _libs['grass_ogsf.7.0.svn'].GS_getlight_position
-    GS_getlight_position.restype = None
-    GS_getlight_position.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 213
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_getlight_color'):
-    GS_getlight_color = _libs['grass_ogsf.7.0.svn'].GS_getlight_color
-    GS_getlight_color.restype = None
-    GS_getlight_color.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 214
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_getlight_ambient'):
-    GS_getlight_ambient = _libs['grass_ogsf.7.0.svn'].GS_getlight_ambient
-    GS_getlight_ambient.restype = None
-    GS_getlight_ambient.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 217
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_check_cancel'):
-    GS_check_cancel = _libs['grass_ogsf.7.0.svn'].GS_check_cancel
-    GS_check_cancel.restype = c_int
-    GS_check_cancel.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 218
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cancel'):
-    GS_set_cancel = _libs['grass_ogsf.7.0.svn'].GS_set_cancel
-    GS_set_cancel.restype = None
-    GS_set_cancel.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 219
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_cxl_func'):
-    GS_set_cxl_func = _libs['grass_ogsf.7.0.svn'].GS_set_cxl_func
-    GS_set_cxl_func.restype = None
-    GS_set_cxl_func.argtypes = [CFUNCTYPE(UNCHECKED(None), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 220
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_set_swap_func'):
-    GS_set_swap_func = _libs['grass_ogsf.7.0.svn'].GS_set_swap_func
-    GS_set_swap_func.restype = None
-    GS_set_swap_func.argtypes = [CFUNCTYPE(UNCHECKED(None), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 223
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_geodistance'):
-    GS_geodistance = _libs['grass_ogsf.7.0.svn'].GS_geodistance
-    GS_geodistance.restype = c_double
-    GS_geodistance.argtypes = [POINTER(c_double), POINTER(c_double), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 224
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_distance'):
-    GS_distance = _libs['grass_ogsf.7.0.svn'].GS_distance
-    GS_distance.restype = c_float
-    GS_distance.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 225
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_P2distance'):
-    GS_P2distance = _libs['grass_ogsf.7.0.svn'].GS_P2distance
-    GS_P2distance.restype = c_float
-    GS_P2distance.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 226
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3eq'):
-    GS_v3eq = _libs['grass_ogsf.7.0.svn'].GS_v3eq
-    GS_v3eq.restype = None
-    GS_v3eq.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 227
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3add'):
-    GS_v3add = _libs['grass_ogsf.7.0.svn'].GS_v3add
-    GS_v3add.restype = None
-    GS_v3add.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 228
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3sub'):
-    GS_v3sub = _libs['grass_ogsf.7.0.svn'].GS_v3sub
-    GS_v3sub.restype = None
-    GS_v3sub.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 229
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3mult'):
-    GS_v3mult = _libs['grass_ogsf.7.0.svn'].GS_v3mult
-    GS_v3mult.restype = None
-    GS_v3mult.argtypes = [POINTER(c_float), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 230
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3norm'):
-    GS_v3norm = _libs['grass_ogsf.7.0.svn'].GS_v3norm
-    GS_v3norm.restype = c_int
-    GS_v3norm.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 231
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v2norm'):
-    GS_v2norm = _libs['grass_ogsf.7.0.svn'].GS_v2norm
-    GS_v2norm.restype = c_int
-    GS_v2norm.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 232
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_dv3norm'):
-    GS_dv3norm = _libs['grass_ogsf.7.0.svn'].GS_dv3norm
-    GS_dv3norm.restype = c_int
-    GS_dv3norm.argtypes = [POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 233
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3normalize'):
-    GS_v3normalize = _libs['grass_ogsf.7.0.svn'].GS_v3normalize
-    GS_v3normalize.restype = c_int
-    GS_v3normalize.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 234
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3dir'):
-    GS_v3dir = _libs['grass_ogsf.7.0.svn'].GS_v3dir
-    GS_v3dir.restype = c_int
-    GS_v3dir.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 235
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v2dir'):
-    GS_v2dir = _libs['grass_ogsf.7.0.svn'].GS_v2dir
-    GS_v2dir.restype = None
-    GS_v2dir.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 236
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3cross'):
-    GS_v3cross = _libs['grass_ogsf.7.0.svn'].GS_v3cross
-    GS_v3cross.restype = None
-    GS_v3cross.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 237
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_v3mag'):
-    GS_v3mag = _libs['grass_ogsf.7.0.svn'].GS_v3mag
-    GS_v3mag.restype = None
-    GS_v3mag.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 238
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_coordpair_repeats'):
-    GS_coordpair_repeats = _libs['grass_ogsf.7.0.svn'].GS_coordpair_repeats
-    GS_coordpair_repeats.restype = c_int
-    GS_coordpair_repeats.argtypes = [POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 241
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_vect_exists'):
-    GV_vect_exists = _libs['grass_ogsf.7.0.svn'].GV_vect_exists
-    GV_vect_exists.restype = c_int
-    GV_vect_exists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 242
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_new_vector'):
-    GV_new_vector = _libs['grass_ogsf.7.0.svn'].GV_new_vector
-    GV_new_vector.restype = c_int
-    GV_new_vector.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 243
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_num_vects'):
-    GV_num_vects = _libs['grass_ogsf.7.0.svn'].GV_num_vects
-    GV_num_vects.restype = c_int
-    GV_num_vects.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 244
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_get_vect_list'):
-    GV_get_vect_list = _libs['grass_ogsf.7.0.svn'].GV_get_vect_list
-    GV_get_vect_list.restype = POINTER(c_int)
-    GV_get_vect_list.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 245
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_delete_vector'):
-    GV_delete_vector = _libs['grass_ogsf.7.0.svn'].GV_delete_vector
-    GV_delete_vector.restype = c_int
-    GV_delete_vector.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 246
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_load_vector'):
-    GV_load_vector = _libs['grass_ogsf.7.0.svn'].GV_load_vector
-    GV_load_vector.restype = c_int
-    GV_load_vector.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 247
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_get_vectname'):
-    GV_get_vectname = _libs['grass_ogsf.7.0.svn'].GV_get_vectname
-    GV_get_vectname.restype = c_int
-    GV_get_vectname.argtypes = [c_int, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 248
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_set_style'):
-    GV_set_style = _libs['grass_ogsf.7.0.svn'].GV_set_style
-    GV_set_style.restype = c_int
-    GV_set_style.argtypes = [c_int, c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 249
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_get_style'):
-    GV_get_style = _libs['grass_ogsf.7.0.svn'].GV_get_style
-    GV_get_style.restype = c_int
-    GV_get_style.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 250
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_set_style_thematic'):
-    GV_set_style_thematic = _libs['grass_ogsf.7.0.svn'].GV_set_style_thematic
-    GV_set_style_thematic.restype = c_int
-    GV_set_style_thematic.argtypes = [c_int, c_int, String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 251
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_unset_style_thematic'):
-    GV_unset_style_thematic = _libs['grass_ogsf.7.0.svn'].GV_unset_style_thematic
-    GV_unset_style_thematic.restype = c_int
-    GV_unset_style_thematic.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 252
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_set_trans'):
-    GV_set_trans = _libs['grass_ogsf.7.0.svn'].GV_set_trans
-    GV_set_trans.restype = None
-    GV_set_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 253
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_get_trans'):
-    GV_get_trans = _libs['grass_ogsf.7.0.svn'].GV_get_trans
-    GV_get_trans.restype = c_int
-    GV_get_trans.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 254
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_select_surf'):
-    GV_select_surf = _libs['grass_ogsf.7.0.svn'].GV_select_surf
-    GV_select_surf.restype = c_int
-    GV_select_surf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 255
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_unselect_surf'):
-    GV_unselect_surf = _libs['grass_ogsf.7.0.svn'].GV_unselect_surf
-    GV_unselect_surf.restype = c_int
-    GV_unselect_surf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 256
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_surf_is_selected'):
-    GV_surf_is_selected = _libs['grass_ogsf.7.0.svn'].GV_surf_is_selected
-    GV_surf_is_selected.restype = c_int
-    GV_surf_is_selected.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 257
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_draw_vect'):
-    GV_draw_vect = _libs['grass_ogsf.7.0.svn'].GV_draw_vect
-    GV_draw_vect.restype = None
-    GV_draw_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 258
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_alldraw_vect'):
-    GV_alldraw_vect = _libs['grass_ogsf.7.0.svn'].GV_alldraw_vect
-    GV_alldraw_vect.restype = None
-    GV_alldraw_vect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 259
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_alldraw_fastvect'):
-    GV_alldraw_fastvect = _libs['grass_ogsf.7.0.svn'].GV_alldraw_fastvect
-    GV_alldraw_fastvect.restype = None
-    GV_alldraw_fastvect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 260
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_draw_fastvect'):
-    GV_draw_fastvect = _libs['grass_ogsf.7.0.svn'].GV_draw_fastvect
-    GV_draw_fastvect.restype = None
-    GV_draw_fastvect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 261
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_Set_ClientData'):
-    GV_Set_ClientData = _libs['grass_ogsf.7.0.svn'].GV_Set_ClientData
-    GV_Set_ClientData.restype = c_int
-    GV_Set_ClientData.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 262
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GV_Get_ClientData'):
-    GV_Get_ClientData = _libs['grass_ogsf.7.0.svn'].GV_Get_ClientData
-    GV_Get_ClientData.restype = POINTER(None)
-    GV_Get_ClientData.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 265
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_libinit'):
-    GVL_libinit = _libs['grass_ogsf.7.0.svn'].GVL_libinit
-    GVL_libinit.restype = None
-    GVL_libinit.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 266
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_region'):
-    GVL_get_region = _libs['grass_ogsf.7.0.svn'].GVL_get_region
-    GVL_get_region.restype = c_int
-    GVL_get_region.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 267
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_window'):
-    GVL_get_window = _libs['grass_ogsf.7.0.svn'].GVL_get_window
-    GVL_get_window.restype = POINTER(None)
-    GVL_get_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 268
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_vol_exists'):
-    GVL_vol_exists = _libs['grass_ogsf.7.0.svn'].GVL_vol_exists
-    GVL_vol_exists.restype = c_int
-    GVL_vol_exists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 269
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_new_vol'):
-    GVL_new_vol = _libs['grass_ogsf.7.0.svn'].GVL_new_vol
-    GVL_new_vol.restype = c_int
-    GVL_new_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 270
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_num_vols'):
-    GVL_num_vols = _libs['grass_ogsf.7.0.svn'].GVL_num_vols
-    GVL_num_vols.restype = c_int
-    GVL_num_vols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 271
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_vol_list'):
-    GVL_get_vol_list = _libs['grass_ogsf.7.0.svn'].GVL_get_vol_list
-    GVL_get_vol_list.restype = POINTER(c_int)
-    GVL_get_vol_list.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 272
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_delete_vol'):
-    GVL_delete_vol = _libs['grass_ogsf.7.0.svn'].GVL_delete_vol
-    GVL_delete_vol.restype = c_int
-    GVL_delete_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 273
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_load_vol'):
-    GVL_load_vol = _libs['grass_ogsf.7.0.svn'].GVL_load_vol
-    GVL_load_vol.restype = c_int
-    GVL_load_vol.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 274
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_volname'):
-    GVL_get_volname = _libs['grass_ogsf.7.0.svn'].GVL_get_volname
-    GVL_get_volname.restype = c_int
-    GVL_get_volname.argtypes = [c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 275
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_set_trans'):
-    GVL_set_trans = _libs['grass_ogsf.7.0.svn'].GVL_set_trans
-    GVL_set_trans.restype = None
-    GVL_set_trans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 276
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_trans'):
-    GVL_get_trans = _libs['grass_ogsf.7.0.svn'].GVL_get_trans
-    GVL_get_trans.restype = c_int
-    GVL_get_trans.argtypes = [c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 277
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_draw_vol'):
-    GVL_draw_vol = _libs['grass_ogsf.7.0.svn'].GVL_draw_vol
-    GVL_draw_vol.restype = None
-    GVL_draw_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 278
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_draw_wire'):
-    GVL_draw_wire = _libs['grass_ogsf.7.0.svn'].GVL_draw_wire
-    GVL_draw_wire.restype = None
-    GVL_draw_wire.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 279
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_alldraw_vol'):
-    GVL_alldraw_vol = _libs['grass_ogsf.7.0.svn'].GVL_alldraw_vol
-    GVL_alldraw_vol.restype = None
-    GVL_alldraw_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 280
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_alldraw_wire'):
-    GVL_alldraw_wire = _libs['grass_ogsf.7.0.svn'].GVL_alldraw_wire
-    GVL_alldraw_wire.restype = None
-    GVL_alldraw_wire.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 281
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_Set_ClientData'):
-    GVL_Set_ClientData = _libs['grass_ogsf.7.0.svn'].GVL_Set_ClientData
-    GVL_Set_ClientData.restype = c_int
-    GVL_Set_ClientData.argtypes = [c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 282
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_Get_ClientData'):
-    GVL_Get_ClientData = _libs['grass_ogsf.7.0.svn'].GVL_Get_ClientData
-    GVL_Get_ClientData.restype = POINTER(None)
-    GVL_Get_ClientData.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 283
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_get_dims'):
-    GVL_get_dims = _libs['grass_ogsf.7.0.svn'].GVL_get_dims
-    GVL_get_dims.restype = None
-    GVL_get_dims.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 284
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_set_focus_center_map'):
-    GVL_set_focus_center_map = _libs['grass_ogsf.7.0.svn'].GVL_set_focus_center_map
-    GVL_set_focus_center_map.restype = None
-    GVL_set_focus_center_map.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 286
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_move_up'):
-    GVL_isosurf_move_up = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_move_up
-    GVL_isosurf_move_up.restype = c_int
-    GVL_isosurf_move_up.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 287
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_move_down'):
-    GVL_isosurf_move_down = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_move_down
-    GVL_isosurf_move_down.restype = c_int
-    GVL_isosurf_move_down.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 288
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_drawres'):
-    GVL_isosurf_get_drawres = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_drawres
-    GVL_isosurf_get_drawres.restype = None
-    GVL_isosurf_get_drawres.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 289
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_drawres'):
-    GVL_isosurf_set_drawres = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_drawres
-    GVL_isosurf_set_drawres.restype = c_int
-    GVL_isosurf_set_drawres.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 290
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_drawmode'):
-    GVL_isosurf_get_drawmode = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_drawmode
-    GVL_isosurf_get_drawmode.restype = c_int
-    GVL_isosurf_get_drawmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 291
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_drawmode'):
-    GVL_isosurf_set_drawmode = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_drawmode
-    GVL_isosurf_set_drawmode.restype = c_int
-    GVL_isosurf_set_drawmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 292
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_add'):
-    GVL_isosurf_add = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_add
-    GVL_isosurf_add.restype = c_int
-    GVL_isosurf_add.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 293
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_del'):
-    GVL_isosurf_del = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_del
-    GVL_isosurf_del.restype = c_int
-    GVL_isosurf_del.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 294
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_att'):
-    GVL_isosurf_get_att = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_att
-    GVL_isosurf_get_att.restype = c_int
-    GVL_isosurf_get_att.argtypes = [c_int, c_int, c_int, POINTER(c_int), POINTER(c_float), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 295
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_unset_att'):
-    GVL_isosurf_unset_att = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_unset_att
-    GVL_isosurf_unset_att.restype = c_int
-    GVL_isosurf_unset_att.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 296
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_att_const'):
-    GVL_isosurf_set_att_const = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_att_const
-    GVL_isosurf_set_att_const.restype = c_int
-    GVL_isosurf_set_att_const.argtypes = [c_int, c_int, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 297
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_att_map'):
-    GVL_isosurf_set_att_map = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_att_map
-    GVL_isosurf_set_att_map.restype = c_int
-    GVL_isosurf_set_att_map.argtypes = [c_int, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 298
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_flags'):
-    GVL_isosurf_get_flags = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_flags
-    GVL_isosurf_get_flags.restype = c_int
-    GVL_isosurf_get_flags.argtypes = [c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 299
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_flags'):
-    GVL_isosurf_set_flags = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_flags
-    GVL_isosurf_set_flags.restype = c_int
-    GVL_isosurf_set_flags.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 300
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_num_isosurfs'):
-    GVL_isosurf_num_isosurfs = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_num_isosurfs
-    GVL_isosurf_num_isosurfs.restype = c_int
-    GVL_isosurf_num_isosurfs.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 301
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_set_maskmode'):
-    GVL_isosurf_set_maskmode = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_set_maskmode
-    GVL_isosurf_set_maskmode.restype = c_int
-    GVL_isosurf_set_maskmode.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 302
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_isosurf_get_maskmode'):
-    GVL_isosurf_get_maskmode = _libs['grass_ogsf.7.0.svn'].GVL_isosurf_get_maskmode
-    GVL_isosurf_get_maskmode.restype = c_int
-    GVL_isosurf_get_maskmode.argtypes = [c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 304
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_move_up'):
-    GVL_slice_move_up = _libs['grass_ogsf.7.0.svn'].GVL_slice_move_up
-    GVL_slice_move_up.restype = c_int
-    GVL_slice_move_up.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 305
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_move_down'):
-    GVL_slice_move_down = _libs['grass_ogsf.7.0.svn'].GVL_slice_move_down
-    GVL_slice_move_down.restype = c_int
-    GVL_slice_move_down.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 306
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_get_drawres'):
-    GVL_slice_get_drawres = _libs['grass_ogsf.7.0.svn'].GVL_slice_get_drawres
-    GVL_slice_get_drawres.restype = None
-    GVL_slice_get_drawres.argtypes = [c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 307
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_get_transp'):
-    GVL_slice_get_transp = _libs['grass_ogsf.7.0.svn'].GVL_slice_get_transp
-    GVL_slice_get_transp.restype = c_int
-    GVL_slice_get_transp.argtypes = [c_int, c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 308
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_set_transp'):
-    GVL_slice_set_transp = _libs['grass_ogsf.7.0.svn'].GVL_slice_set_transp
-    GVL_slice_set_transp.restype = c_int
-    GVL_slice_set_transp.argtypes = [c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 309
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_set_drawres'):
-    GVL_slice_set_drawres = _libs['grass_ogsf.7.0.svn'].GVL_slice_set_drawres
-    GVL_slice_set_drawres.restype = c_int
-    GVL_slice_set_drawres.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 310
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_get_drawmode'):
-    GVL_slice_get_drawmode = _libs['grass_ogsf.7.0.svn'].GVL_slice_get_drawmode
-    GVL_slice_get_drawmode.restype = c_int
-    GVL_slice_get_drawmode.argtypes = [c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 311
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_set_drawmode'):
-    GVL_slice_set_drawmode = _libs['grass_ogsf.7.0.svn'].GVL_slice_set_drawmode
-    GVL_slice_set_drawmode.restype = c_int
-    GVL_slice_set_drawmode.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 312
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_add'):
-    GVL_slice_add = _libs['grass_ogsf.7.0.svn'].GVL_slice_add
-    GVL_slice_add.restype = c_int
-    GVL_slice_add.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 313
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_del'):
-    GVL_slice_del = _libs['grass_ogsf.7.0.svn'].GVL_slice_del
-    GVL_slice_del.restype = c_int
-    GVL_slice_del.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 314
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_num_slices'):
-    GVL_slice_num_slices = _libs['grass_ogsf.7.0.svn'].GVL_slice_num_slices
-    GVL_slice_num_slices.restype = c_int
-    GVL_slice_num_slices.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 315
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_get_pos'):
-    GVL_slice_get_pos = _libs['grass_ogsf.7.0.svn'].GVL_slice_get_pos
-    GVL_slice_get_pos.restype = c_int
-    GVL_slice_get_pos.argtypes = [c_int, c_int, POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 317
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GVL_slice_set_pos'):
-    GVL_slice_set_pos = _libs['grass_ogsf.7.0.svn'].GVL_slice_set_pos
-    GVL_slice_set_pos.restype = c_int
-    GVL_slice_set_pos.argtypes = [c_int, c_int, c_float, c_float, c_float, c_float, c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 321
-for _lib in _libs.values():
-    if hasattr(_lib, 'Gp_set_color'):
-        Gp_set_color = _lib.Gp_set_color
-        Gp_set_color.restype = c_int
-        Gp_set_color.argtypes = [String, POINTER(geopoint)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 322
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gp_load_sites'):
-    Gp_load_sites = _libs['grass_ogsf.7.0.svn'].Gp_load_sites
-    Gp_load_sites.restype = POINTER(geopoint)
-    Gp_load_sites.argtypes = [String, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 323
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gp_load_sites_thematic'):
-    Gp_load_sites_thematic = _libs['grass_ogsf.7.0.svn'].Gp_load_sites_thematic
-    Gp_load_sites_thematic.restype = c_int
-    Gp_load_sites_thematic.argtypes = [POINTER(geosite), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 326
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_distance'):
-    Gs_distance = _libs['grass_ogsf.7.0.svn'].Gs_distance
-    Gs_distance.restype = c_double
-    Gs_distance.argtypes = [POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 327
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_float'):
-    Gs_loadmap_as_float = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_float
-    Gs_loadmap_as_float.restype = c_int
-    Gs_loadmap_as_float.argtypes = [POINTER(struct_Cell_head), String, POINTER(c_float), POINTER(struct_BM), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 329
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_int'):
-    Gs_loadmap_as_int = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_int
-    Gs_loadmap_as_int.restype = c_int
-    Gs_loadmap_as_int.argtypes = [POINTER(struct_Cell_head), String, POINTER(c_int), POINTER(struct_BM), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 331
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_numtype'):
-    Gs_numtype = _libs['grass_ogsf.7.0.svn'].Gs_numtype
-    Gs_numtype.restype = c_int
-    Gs_numtype.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 332
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_short'):
-    Gs_loadmap_as_short = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_short
-    Gs_loadmap_as_short.restype = c_int
-    Gs_loadmap_as_short.argtypes = [POINTER(struct_Cell_head), String, POINTER(c_short), POINTER(struct_BM), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 334
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_char'):
-    Gs_loadmap_as_char = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_char
-    Gs_loadmap_as_char.restype = c_int
-    Gs_loadmap_as_char.argtypes = [POINTER(struct_Cell_head), String, POINTER(c_ubyte), POINTER(struct_BM), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 336
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_loadmap_as_bitmap'):
-    Gs_loadmap_as_bitmap = _libs['grass_ogsf.7.0.svn'].Gs_loadmap_as_bitmap
-    Gs_loadmap_as_bitmap.restype = c_int
-    Gs_loadmap_as_bitmap.argtypes = [POINTER(struct_Cell_head), String, POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 337
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_build_256lookup'):
-    Gs_build_256lookup = _libs['grass_ogsf.7.0.svn'].Gs_build_256lookup
-    Gs_build_256lookup.restype = c_int
-    Gs_build_256lookup.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 338
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_pack_colors'):
-    Gs_pack_colors = _libs['grass_ogsf.7.0.svn'].Gs_pack_colors
-    Gs_pack_colors.restype = None
-    Gs_pack_colors.argtypes = [String, POINTER(c_int), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 339
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_pack_colors_float'):
-    Gs_pack_colors_float = _libs['grass_ogsf.7.0.svn'].Gs_pack_colors_float
-    Gs_pack_colors_float.restype = None
-    Gs_pack_colors_float.argtypes = [String, POINTER(c_float), POINTER(c_int), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 340
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_get_cat_label'):
-    Gs_get_cat_label = _libs['grass_ogsf.7.0.svn'].Gs_get_cat_label
-    Gs_get_cat_label.restype = c_int
-    Gs_get_cat_label.argtypes = [String, c_int, c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 341
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_save_3dview'):
-    Gs_save_3dview = _libs['grass_ogsf.7.0.svn'].Gs_save_3dview
-    Gs_save_3dview.restype = c_int
-    Gs_save_3dview.argtypes = [String, POINTER(geoview), POINTER(geodisplay), POINTER(struct_Cell_head), POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 343
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_load_3dview'):
-    Gs_load_3dview = _libs['grass_ogsf.7.0.svn'].Gs_load_3dview
-    Gs_load_3dview.restype = c_int
-    Gs_load_3dview.argtypes = [String, POINTER(geoview), POINTER(geodisplay), POINTER(struct_Cell_head), POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 345
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gs_update_attrange'):
-    Gs_update_attrange = _libs['grass_ogsf.7.0.svn'].Gs_update_attrange
-    Gs_update_attrange.restype = c_int
-    Gs_update_attrange.argtypes = [POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 348
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gv_load_vect'):
-    Gv_load_vect = _libs['grass_ogsf.7.0.svn'].Gv_load_vect
-    Gv_load_vect.restype = POINTER(geoline)
-    Gv_load_vect.argtypes = [String, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 349
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gv_load_vect_thematic'):
-    Gv_load_vect_thematic = _libs['grass_ogsf.7.0.svn'].Gv_load_vect_thematic
-    Gv_load_vect_thematic.restype = c_int
-    Gv_load_vect_thematic.argtypes = [POINTER(geovect), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 350
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'sub_Vectmem'):
-    sub_Vectmem = _libs['grass_ogsf.7.0.svn'].sub_Vectmem
-    sub_Vectmem.restype = None
-    sub_Vectmem.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 353
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_copy_key'):
-    gk_copy_key = _libs['grass_ogsf.7.0.svn'].gk_copy_key
-    gk_copy_key.restype = POINTER(Keylist)
-    gk_copy_key.argtypes = [POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 354
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_get_mask_sofar'):
-    gk_get_mask_sofar = _libs['grass_ogsf.7.0.svn'].gk_get_mask_sofar
-    gk_get_mask_sofar.restype = c_ulong
-    gk_get_mask_sofar.argtypes = [c_float, POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 355
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_viable_keys_for_mask'):
-    gk_viable_keys_for_mask = _libs['grass_ogsf.7.0.svn'].gk_viable_keys_for_mask
-    gk_viable_keys_for_mask.restype = c_int
-    gk_viable_keys_for_mask.argtypes = [c_ulong, POINTER(Keylist), POINTER(POINTER(Keylist))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 356
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_follow_frames'):
-    gk_follow_frames = _libs['grass_ogsf.7.0.svn'].gk_follow_frames
-    gk_follow_frames.restype = None
-    gk_follow_frames.argtypes = [POINTER(Viewnode), c_int, POINTER(Keylist), c_int, c_int, c_int, c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 358
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_free_key'):
-    gk_free_key = _libs['grass_ogsf.7.0.svn'].gk_free_key
-    gk_free_key.restype = None
-    gk_free_key.argtypes = [POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 359
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_make_framesfromkeys'):
-    gk_make_framesfromkeys = _libs['grass_ogsf.7.0.svn'].gk_make_framesfromkeys
-    gk_make_framesfromkeys.restype = POINTER(Viewnode)
-    gk_make_framesfromkeys.argtypes = [POINTER(Keylist), c_int, c_int, c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 360
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_key_neighbors'):
-    get_key_neighbors = _libs['grass_ogsf.7.0.svn'].get_key_neighbors
-    get_key_neighbors.restype = c_double
-    get_key_neighbors.argtypes = [c_int, c_double, c_double, c_int, POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 363
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'lin_interp'):
-    lin_interp = _libs['grass_ogsf.7.0.svn'].lin_interp
-    lin_interp.restype = c_double
-    lin_interp.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 364
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_2key_neighbors'):
-    get_2key_neighbors = _libs['grass_ogsf.7.0.svn'].get_2key_neighbors
-    get_2key_neighbors.restype = c_double
-    get_2key_neighbors.argtypes = [c_int, c_float, c_float, c_int, POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist)), POINTER(POINTER(Keylist))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 366
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_make_linear_framesfromkeys'):
-    gk_make_linear_framesfromkeys = _libs['grass_ogsf.7.0.svn'].gk_make_linear_framesfromkeys
-    gk_make_linear_framesfromkeys.restype = POINTER(Viewnode)
-    gk_make_linear_framesfromkeys.argtypes = [POINTER(Keylist), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 367
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'correct_twist'):
-    correct_twist = _libs['grass_ogsf.7.0.svn'].correct_twist
-    correct_twist.restype = None
-    correct_twist.argtypes = [POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 368
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gk_draw_path'):
-    gk_draw_path = _libs['grass_ogsf.7.0.svn'].gk_draw_path
-    gk_draw_path.restype = c_int
-    gk_draw_path.argtypes = [POINTER(Viewnode), c_int, POINTER(Keylist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 371
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_get_site'):
-    gp_get_site = _libs['grass_ogsf.7.0.svn'].gp_get_site
-    gp_get_site.restype = POINTER(geosite)
-    gp_get_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 372
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_get_prev_site'):
-    gp_get_prev_site = _libs['grass_ogsf.7.0.svn'].gp_get_prev_site
-    gp_get_prev_site.restype = POINTER(geosite)
-    gp_get_prev_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 373
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_num_sites'):
-    gp_num_sites = _libs['grass_ogsf.7.0.svn'].gp_num_sites
-    gp_num_sites.restype = c_int
-    gp_num_sites.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 374
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_get_last_site'):
-    gp_get_last_site = _libs['grass_ogsf.7.0.svn'].gp_get_last_site
-    gp_get_last_site.restype = POINTER(geosite)
-    gp_get_last_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 375
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_get_new_site'):
-    gp_get_new_site = _libs['grass_ogsf.7.0.svn'].gp_get_new_site
-    gp_get_new_site.restype = POINTER(geosite)
-    gp_get_new_site.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 376
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_update_drapesurfs'):
-    gp_update_drapesurfs = _libs['grass_ogsf.7.0.svn'].gp_update_drapesurfs
-    gp_update_drapesurfs.restype = None
-    gp_update_drapesurfs.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 377
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_set_defaults'):
-    gp_set_defaults = _libs['grass_ogsf.7.0.svn'].gp_set_defaults
-    gp_set_defaults.restype = c_int
-    gp_set_defaults.argtypes = [POINTER(geosite)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 378
-for _lib in _libs.values():
-    if hasattr(_lib, 'print_site_fields'):
-        print_site_fields = _lib.print_site_fields
-        print_site_fields.restype = None
-        print_site_fields.argtypes = [POINTER(geosite)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 379
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_init_site'):
-    gp_init_site = _libs['grass_ogsf.7.0.svn'].gp_init_site
-    gp_init_site.restype = c_int
-    gp_init_site.argtypes = [POINTER(geosite)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 380
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_delete_site'):
-    gp_delete_site = _libs['grass_ogsf.7.0.svn'].gp_delete_site
-    gp_delete_site.restype = None
-    gp_delete_site.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 381
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_free_site'):
-    gp_free_site = _libs['grass_ogsf.7.0.svn'].gp_free_site
-    gp_free_site.restype = c_int
-    gp_free_site.argtypes = [POINTER(geosite)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 382
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_free_sitemem'):
-    gp_free_sitemem = _libs['grass_ogsf.7.0.svn'].gp_free_sitemem
-    gp_free_sitemem.restype = None
-    gp_free_sitemem.argtypes = [POINTER(geosite)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 383
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gp_set_drapesurfs'):
-    gp_set_drapesurfs = _libs['grass_ogsf.7.0.svn'].gp_set_drapesurfs
-    gp_set_drapesurfs.restype = None
-    gp_set_drapesurfs.argtypes = [POINTER(geosite), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 386
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_point_in_region'):
-    gs_point_in_region = _libs['grass_ogsf.7.0.svn'].gs_point_in_region
-    gs_point_in_region.restype = c_int
-    gs_point_in_region.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 387
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gpd_obj'):
-    gpd_obj = _libs['grass_ogsf.7.0.svn'].gpd_obj
-    gpd_obj.restype = None
-    gpd_obj.argtypes = [POINTER(geosurf), POINTER(gvstyle), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 388
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gpd_2dsite'):
-    gpd_2dsite = _libs['grass_ogsf.7.0.svn'].gpd_2dsite
-    gpd_2dsite.restype = c_int
-    gpd_2dsite.argtypes = [POINTER(geosite), POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 389
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gpd_3dsite'):
-    gpd_3dsite = _libs['grass_ogsf.7.0.svn'].gpd_3dsite
-    gpd_3dsite.restype = c_int
-    gpd_3dsite.argtypes = [POINTER(geosite), c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 392
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_err'):
-    gs_err = _libs['grass_ogsf.7.0.svn'].gs_err
-    gs_err.restype = None
-    gs_err.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 393
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_init'):
-    gs_init = _libs['grass_ogsf.7.0.svn'].gs_init
-    gs_init.restype = None
-    gs_init.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 394
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_surf'):
-    gs_get_surf = _libs['grass_ogsf.7.0.svn'].gs_get_surf
-    gs_get_surf.restype = POINTER(geosurf)
-    gs_get_surf.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 395
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_prev_surface'):
-    gs_get_prev_surface = _libs['grass_ogsf.7.0.svn'].gs_get_prev_surface
-    gs_get_prev_surface.restype = POINTER(geosurf)
-    gs_get_prev_surface.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 396
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_getall_surfaces'):
-    gs_getall_surfaces = _libs['grass_ogsf.7.0.svn'].gs_getall_surfaces
-    gs_getall_surfaces.restype = c_int
-    gs_getall_surfaces.argtypes = [POINTER(POINTER(geosurf))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 397
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_num_surfaces'):
-    gs_num_surfaces = _libs['grass_ogsf.7.0.svn'].gs_num_surfaces
-    gs_num_surfaces.restype = c_int
-    gs_num_surfaces.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 398
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_att_is_set'):
-    gs_att_is_set = _libs['grass_ogsf.7.0.svn'].gs_att_is_set
-    gs_att_is_set.restype = c_int
-    gs_att_is_set.argtypes = [POINTER(geosurf), c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 399
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_last_surface'):
-    gs_get_last_surface = _libs['grass_ogsf.7.0.svn'].gs_get_last_surface
-    gs_get_last_surface.restype = POINTER(geosurf)
-    gs_get_last_surface.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 400
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_new_surface'):
-    gs_get_new_surface = _libs['grass_ogsf.7.0.svn'].gs_get_new_surface
-    gs_get_new_surface.restype = POINTER(geosurf)
-    gs_get_new_surface.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 401
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_init_surf'):
-    gs_init_surf = _libs['grass_ogsf.7.0.svn'].gs_init_surf
-    gs_init_surf.restype = c_int
-    gs_init_surf.argtypes = [POINTER(geosurf), c_double, c_double, c_int, c_int, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 402
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_init_normbuff'):
-    gs_init_normbuff = _libs['grass_ogsf.7.0.svn'].gs_init_normbuff
-    gs_init_normbuff.restype = c_int
-    gs_init_normbuff.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 403
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_frto'):
-    print_frto = _libs['grass_ogsf.7.0.svn'].print_frto
-    print_frto.restype = None
-    print_frto.argtypes = [POINTER(c_float * 4)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 404
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_realto'):
-    print_realto = _libs['grass_ogsf.7.0.svn'].print_realto
-    print_realto.restype = None
-    print_realto.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 405
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_256lookup'):
-    print_256lookup = _libs['grass_ogsf.7.0.svn'].print_256lookup
-    print_256lookup.restype = None
-    print_256lookup.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 406
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_surf_fields'):
-    print_surf_fields = _libs['grass_ogsf.7.0.svn'].print_surf_fields
-    print_surf_fields.restype = None
-    print_surf_fields.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 407
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_view_fields'):
-    print_view_fields = _libs['grass_ogsf.7.0.svn'].print_view_fields
-    print_view_fields.restype = None
-    print_view_fields.argtypes = [POINTER(geoview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 408
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_defaults'):
-    gs_set_defaults = _libs['grass_ogsf.7.0.svn'].gs_set_defaults
-    gs_set_defaults.restype = None
-    gs_set_defaults.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 409
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_delete_surf'):
-    gs_delete_surf = _libs['grass_ogsf.7.0.svn'].gs_delete_surf
-    gs_delete_surf.restype = None
-    gs_delete_surf.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 410
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_free_surf'):
-    gs_free_surf = _libs['grass_ogsf.7.0.svn'].gs_free_surf
-    gs_free_surf.restype = c_int
-    gs_free_surf.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 411
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_free_unshared_buffs'):
-    gs_free_unshared_buffs = _libs['grass_ogsf.7.0.svn'].gs_free_unshared_buffs
-    gs_free_unshared_buffs.restype = None
-    gs_free_unshared_buffs.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 412
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_num_datah_reused'):
-    gs_num_datah_reused = _libs['grass_ogsf.7.0.svn'].gs_num_datah_reused
-    gs_num_datah_reused.restype = c_int
-    gs_num_datah_reused.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 413
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_att_type'):
-    gs_get_att_type = _libs['grass_ogsf.7.0.svn'].gs_get_att_type
-    gs_get_att_type.restype = c_int
-    gs_get_att_type.argtypes = [POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 414
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_att_src'):
-    gs_get_att_src = _libs['grass_ogsf.7.0.svn'].gs_get_att_src
-    gs_get_att_src.restype = c_int
-    gs_get_att_src.argtypes = [POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 415
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_att_typbuff'):
-    gs_get_att_typbuff = _libs['grass_ogsf.7.0.svn'].gs_get_att_typbuff
-    gs_get_att_typbuff.restype = POINTER(typbuff)
-    gs_get_att_typbuff.argtypes = [POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 416
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_malloc_att_buff'):
-    gs_malloc_att_buff = _libs['grass_ogsf.7.0.svn'].gs_malloc_att_buff
-    gs_malloc_att_buff.restype = c_int
-    gs_malloc_att_buff.argtypes = [POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 417
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_malloc_lookup'):
-    gs_malloc_lookup = _libs['grass_ogsf.7.0.svn'].gs_malloc_lookup
-    gs_malloc_lookup.restype = c_int
-    gs_malloc_lookup.argtypes = [POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 418
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_att_type'):
-    gs_set_att_type = _libs['grass_ogsf.7.0.svn'].gs_set_att_type
-    gs_set_att_type.restype = c_int
-    gs_set_att_type.argtypes = [POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 419
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_att_src'):
-    gs_set_att_src = _libs['grass_ogsf.7.0.svn'].gs_set_att_src
-    gs_set_att_src.restype = c_int
-    gs_set_att_src.argtypes = [POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 420
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_att_const'):
-    gs_set_att_const = _libs['grass_ogsf.7.0.svn'].gs_set_att_const
-    gs_set_att_const.restype = c_int
-    gs_set_att_const.argtypes = [POINTER(geosurf), c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 421
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_set_maskmode'):
-    gs_set_maskmode = _libs['grass_ogsf.7.0.svn'].gs_set_maskmode
-    gs_set_maskmode.restype = None
-    gs_set_maskmode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 422
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_mask_defined'):
-    gs_mask_defined = _libs['grass_ogsf.7.0.svn'].gs_mask_defined
-    gs_mask_defined.restype = c_int
-    gs_mask_defined.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 423
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_masked'):
-    gs_masked = _libs['grass_ogsf.7.0.svn'].gs_masked
-    gs_masked.restype = c_int
-    gs_masked.argtypes = [POINTER(typbuff), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 424
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_mapcolor'):
-    gs_mapcolor = _libs['grass_ogsf.7.0.svn'].gs_mapcolor
-    gs_mapcolor.restype = c_int
-    gs_mapcolor.argtypes = [POINTER(typbuff), POINTER(gsurf_att), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 425
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_zextents'):
-    gs_get_zextents = _libs['grass_ogsf.7.0.svn'].gs_get_zextents
-    gs_get_zextents.restype = c_int
-    gs_get_zextents.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 426
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_xextents'):
-    gs_get_xextents = _libs['grass_ogsf.7.0.svn'].gs_get_xextents
-    gs_get_xextents.restype = c_int
-    gs_get_xextents.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 427
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_yextents'):
-    gs_get_yextents = _libs['grass_ogsf.7.0.svn'].gs_get_yextents
-    gs_get_yextents.restype = c_int
-    gs_get_yextents.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 428
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_zrange0'):
-    gs_get_zrange0 = _libs['grass_ogsf.7.0.svn'].gs_get_zrange0
-    gs_get_zrange0.restype = c_int
-    gs_get_zrange0.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 429
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_zrange'):
-    gs_get_zrange = _libs['grass_ogsf.7.0.svn'].gs_get_zrange
-    gs_get_zrange.restype = c_int
-    gs_get_zrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 430
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_xrange'):
-    gs_get_xrange = _libs['grass_ogsf.7.0.svn'].gs_get_xrange
-    gs_get_xrange.restype = c_int
-    gs_get_xrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 431
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_yrange'):
-    gs_get_yrange = _libs['grass_ogsf.7.0.svn'].gs_get_yrange
-    gs_get_yrange.restype = c_int
-    gs_get_yrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 432
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_data_avg_zmax'):
-    gs_get_data_avg_zmax = _libs['grass_ogsf.7.0.svn'].gs_get_data_avg_zmax
-    gs_get_data_avg_zmax.restype = c_int
-    gs_get_data_avg_zmax.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 433
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_datacenter'):
-    gs_get_datacenter = _libs['grass_ogsf.7.0.svn'].gs_get_datacenter
-    gs_get_datacenter.restype = c_int
-    gs_get_datacenter.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 434
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_setall_norm_needupdate'):
-    gs_setall_norm_needupdate = _libs['grass_ogsf.7.0.svn'].gs_setall_norm_needupdate
-    gs_setall_norm_needupdate.restype = c_int
-    gs_setall_norm_needupdate.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 435
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_point_is_masked'):
-    gs_point_is_masked = _libs['grass_ogsf.7.0.svn'].gs_point_is_masked
-    gs_point_is_masked.restype = c_int
-    gs_point_is_masked.argtypes = [POINTER(geosurf), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 436
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_distance_onsurf'):
-    gs_distance_onsurf = _libs['grass_ogsf.7.0.svn'].gs_distance_onsurf
-    gs_distance_onsurf.restype = c_int
-    gs_distance_onsurf.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 439
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_make_mask'):
-    gsbm_make_mask = _libs['grass_ogsf.7.0.svn'].gsbm_make_mask
-    gsbm_make_mask.restype = POINTER(struct_BM)
-    gsbm_make_mask.argtypes = [POINTER(typbuff), c_float, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 440
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_zero_mask'):
-    gsbm_zero_mask = _libs['grass_ogsf.7.0.svn'].gsbm_zero_mask
-    gsbm_zero_mask.restype = None
-    gsbm_zero_mask.argtypes = [POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 441
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_or_masks'):
-    gsbm_or_masks = _libs['grass_ogsf.7.0.svn'].gsbm_or_masks
-    gsbm_or_masks.restype = c_int
-    gsbm_or_masks.argtypes = [POINTER(struct_BM), POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 442
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_ornot_masks'):
-    gsbm_ornot_masks = _libs['grass_ogsf.7.0.svn'].gsbm_ornot_masks
-    gsbm_ornot_masks.restype = c_int
-    gsbm_ornot_masks.argtypes = [POINTER(struct_BM), POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 443
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_and_masks'):
-    gsbm_and_masks = _libs['grass_ogsf.7.0.svn'].gsbm_and_masks
-    gsbm_and_masks.restype = c_int
-    gsbm_and_masks.argtypes = [POINTER(struct_BM), POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 444
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsbm_xor_masks'):
-    gsbm_xor_masks = _libs['grass_ogsf.7.0.svn'].gsbm_xor_masks
-    gsbm_xor_masks.restype = c_int
-    gsbm_xor_masks.argtypes = [POINTER(struct_BM), POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 445
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_update_curmask'):
-    gs_update_curmask = _libs['grass_ogsf.7.0.svn'].gs_update_curmask
-    gs_update_curmask.restype = c_int
-    gs_update_curmask.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 446
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_bm'):
-    print_bm = _libs['grass_ogsf.7.0.svn'].print_bm
-    print_bm.restype = None
-    print_bm.argtypes = [POINTER(struct_BM)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 449
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'init_vars'):
-    init_vars = _libs['grass_ogsf.7.0.svn'].init_vars
-    init_vars.restype = None
-    init_vars.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 450
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_calc_normals'):
-    gs_calc_normals = _libs['grass_ogsf.7.0.svn'].gs_calc_normals
-    gs_calc_normals.restype = c_int
-    gs_calc_normals.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 451
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'calc_norm'):
-    calc_norm = _libs['grass_ogsf.7.0.svn'].calc_norm
-    calc_norm.restype = c_int
-    calc_norm.argtypes = [POINTER(geosurf), c_int, c_int, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 454
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_los_intersect1'):
-    gs_los_intersect1 = _libs['grass_ogsf.7.0.svn'].gs_los_intersect1
-    gs_los_intersect1.restype = c_int
-    gs_los_intersect1.argtypes = [c_int, POINTER(c_float * 3), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 455
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_los_intersect'):
-    gs_los_intersect = _libs['grass_ogsf.7.0.svn'].gs_los_intersect
-    gs_los_intersect.restype = c_int
-    gs_los_intersect.argtypes = [c_int, POINTER(POINTER(c_float)), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 456
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'RayCvxPolyhedronInt'):
-    RayCvxPolyhedronInt = _libs['grass_ogsf.7.0.svn'].RayCvxPolyhedronInt
-    RayCvxPolyhedronInt.restype = c_int
-    RayCvxPolyhedronInt.argtypes = [Point3, Point3, c_double, POINTER(Point4), c_int, POINTER(c_double), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 458
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_get_databounds_planes'):
-    gs_get_databounds_planes = _libs['grass_ogsf.7.0.svn'].gs_get_databounds_planes
-    gs_get_databounds_planes.restype = None
-    gs_get_databounds_planes.argtypes = [POINTER(Point4)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 459
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_setlos_enterdata'):
-    gs_setlos_enterdata = _libs['grass_ogsf.7.0.svn'].gs_setlos_enterdata
-    gs_setlos_enterdata.restype = c_int
-    gs_setlos_enterdata.argtypes = [POINTER(Point3)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 462
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_def_cplane'):
-    gsd_def_cplane = _libs['grass_ogsf.7.0.svn'].gsd_def_cplane
-    gsd_def_cplane.restype = None
-    gsd_def_cplane.argtypes = [c_int, POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 463
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_update_cplanes'):
-    gsd_update_cplanes = _libs['grass_ogsf.7.0.svn'].gsd_update_cplanes
-    gsd_update_cplanes.restype = None
-    gsd_update_cplanes.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 464
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cplane_on'):
-    gsd_cplane_on = _libs['grass_ogsf.7.0.svn'].gsd_cplane_on
-    gsd_cplane_on.restype = None
-    gsd_cplane_on.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 465
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cplane_off'):
-    gsd_cplane_off = _libs['grass_ogsf.7.0.svn'].gsd_cplane_off
-    gsd_cplane_off.restype = None
-    gsd_cplane_off.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 466
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_cplanes_state'):
-    gsd_get_cplanes_state = _libs['grass_ogsf.7.0.svn'].gsd_get_cplanes_state
-    gsd_get_cplanes_state.restype = None
-    gsd_get_cplanes_state.argtypes = [POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 467
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_cplanes'):
-    gsd_get_cplanes = _libs['grass_ogsf.7.0.svn'].gsd_get_cplanes
-    gsd_get_cplanes.restype = c_int
-    gsd_get_cplanes.argtypes = [POINTER(Point4)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 468
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_update_cpnorm'):
-    gsd_update_cpnorm = _libs['grass_ogsf.7.0.svn'].gsd_update_cpnorm
-    gsd_update_cpnorm.restype = None
-    gsd_update_cpnorm.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 469
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cplane_setrot'):
-    gsd_cplane_setrot = _libs['grass_ogsf.7.0.svn'].gsd_cplane_setrot
-    gsd_cplane_setrot.restype = None
-    gsd_cplane_setrot.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 470
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cplane_settrans'):
-    gsd_cplane_settrans = _libs['grass_ogsf.7.0.svn'].gsd_cplane_settrans
-    gsd_cplane_settrans.restype = None
-    gsd_cplane_settrans.argtypes = [c_int, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 471
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_cplane_fence'):
-    gsd_draw_cplane_fence = _libs['grass_ogsf.7.0.svn'].gsd_draw_cplane_fence
-    gsd_draw_cplane_fence.restype = None
-    gsd_draw_cplane_fence.argtypes = [POINTER(geosurf), POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 472
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_cplane'):
-    gsd_draw_cplane = _libs['grass_ogsf.7.0.svn'].gsd_draw_cplane
-    gsd_draw_cplane.restype = None
-    gsd_draw_cplane.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 475
-for _lib in _libs.values():
-    if hasattr(_lib, 'gsd_set_font'):
-        gsd_set_font = _lib.gsd_set_font
-        gsd_set_font.restype = GLuint
-        gsd_set_font.argtypes = [String]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 476
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_txtwidth'):
-    gsd_get_txtwidth = _libs['grass_ogsf.7.0.svn'].gsd_get_txtwidth
-    gsd_get_txtwidth.restype = c_int
-    gsd_get_txtwidth.argtypes = [String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 477
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_txtheight'):
-    gsd_get_txtheight = _libs['grass_ogsf.7.0.svn'].gsd_get_txtheight
-    gsd_get_txtheight.restype = c_int
-    gsd_get_txtheight.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 478
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'do_label_display'):
-    do_label_display = _libs['grass_ogsf.7.0.svn'].do_label_display
-    do_label_display.restype = None
-    do_label_display.argtypes = [GLuint, POINTER(c_float), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 479
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_txtdescender'):
-    get_txtdescender = _libs['grass_ogsf.7.0.svn'].get_txtdescender
-    get_txtdescender.restype = c_int
-    get_txtdescender.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 480
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_txtxoffset'):
-    get_txtxoffset = _libs['grass_ogsf.7.0.svn'].get_txtxoffset
-    get_txtxoffset.restype = c_int
-    get_txtxoffset.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 483
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_write_ppm'):
-    GS_write_ppm = _libs['grass_ogsf.7.0.svn'].GS_write_ppm
-    GS_write_ppm.restype = c_int
-    GS_write_ppm.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 484
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_init_mpeg'):
-    gsd_init_mpeg = _libs['grass_ogsf.7.0.svn'].gsd_init_mpeg
-    gsd_init_mpeg.restype = c_int
-    gsd_init_mpeg.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 485
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_write_mpegframe'):
-    gsd_write_mpegframe = _libs['grass_ogsf.7.0.svn'].gsd_write_mpegframe
-    gsd_write_mpegframe.restype = c_int
-    gsd_write_mpegframe.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 486
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_close_mpeg'):
-    gsd_close_mpeg = _libs['grass_ogsf.7.0.svn'].gsd_close_mpeg
-    gsd_close_mpeg.restype = c_int
-    gsd_close_mpeg.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 489
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'GS_write_tif'):
-    GS_write_tif = _libs['grass_ogsf.7.0.svn'].GS_write_tif
-    GS_write_tif.restype = c_int
-    GS_write_tif.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 492
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_put_label'):
-    gs_put_label = _libs['grass_ogsf.7.0.svn'].gs_put_label
-    gs_put_label.restype = None
-    gs_put_label.argtypes = [String, GLuint, c_int, c_ulong, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 493
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_remove_curr'):
-    gsd_remove_curr = _libs['grass_ogsf.7.0.svn'].gsd_remove_curr
-    gsd_remove_curr.restype = None
-    gsd_remove_curr.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 494
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_remove_all'):
-    gsd_remove_all = _libs['grass_ogsf.7.0.svn'].gsd_remove_all
-    gsd_remove_all.restype = None
-    gsd_remove_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 495
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_call_label'):
-    gsd_call_label = _libs['grass_ogsf.7.0.svn'].gsd_call_label
-    gsd_call_label.restype = None
-    gsd_call_label.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 498
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_box'):
-    gsd_box = _libs['grass_ogsf.7.0.svn'].gsd_box
-    gsd_box.restype = None
-    gsd_box.argtypes = [POINTER(c_float), c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 499
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_plus'):
-    gsd_plus = _libs['grass_ogsf.7.0.svn'].gsd_plus
-    gsd_plus.restype = None
-    gsd_plus.argtypes = [POINTER(c_float), c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 500
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_line_onsurf'):
-    gsd_line_onsurf = _libs['grass_ogsf.7.0.svn'].gsd_line_onsurf
-    gsd_line_onsurf.restype = None
-    gsd_line_onsurf.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 501
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_nline_onsurf'):
-    gsd_nline_onsurf = _libs['grass_ogsf.7.0.svn'].gsd_nline_onsurf
-    gsd_nline_onsurf.restype = c_int
-    gsd_nline_onsurf.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 502
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_x'):
-    gsd_x = _libs['grass_ogsf.7.0.svn'].gsd_x
-    gsd_x.restype = None
-    gsd_x.argtypes = [POINTER(geosurf), POINTER(c_float), c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 503
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_diamond'):
-    gsd_diamond = _libs['grass_ogsf.7.0.svn'].gsd_diamond
-    gsd_diamond.restype = None
-    gsd_diamond.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 504
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_diamond_lines'):
-    gsd_diamond_lines = _libs['grass_ogsf.7.0.svn'].gsd_diamond_lines
-    gsd_diamond_lines.restype = None
-    gsd_diamond_lines.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 505
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_cube'):
-    gsd_cube = _libs['grass_ogsf.7.0.svn'].gsd_cube
-    gsd_cube.restype = None
-    gsd_cube.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 506
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_box'):
-    gsd_draw_box = _libs['grass_ogsf.7.0.svn'].gsd_draw_box
-    gsd_draw_box.restype = None
-    gsd_draw_box.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 507
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_drawsphere'):
-    gsd_drawsphere = _libs['grass_ogsf.7.0.svn'].gsd_drawsphere
-    gsd_drawsphere.restype = None
-    gsd_drawsphere.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 508
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_asterisk'):
-    gsd_draw_asterisk = _libs['grass_ogsf.7.0.svn'].gsd_draw_asterisk
-    gsd_draw_asterisk.restype = None
-    gsd_draw_asterisk.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 509
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_draw_gyro'):
-    gsd_draw_gyro = _libs['grass_ogsf.7.0.svn'].gsd_draw_gyro
-    gsd_draw_gyro.restype = None
-    gsd_draw_gyro.argtypes = [POINTER(c_float), c_ulong, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 510
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_3dcursor'):
-    gsd_3dcursor = _libs['grass_ogsf.7.0.svn'].gsd_3dcursor
-    gsd_3dcursor.restype = None
-    gsd_3dcursor.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 511
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'dir_to_slope_aspect'):
-    dir_to_slope_aspect = _libs['grass_ogsf.7.0.svn'].dir_to_slope_aspect
-    dir_to_slope_aspect.restype = None
-    dir_to_slope_aspect.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 512
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_north_arrow'):
-    gsd_north_arrow = _libs['grass_ogsf.7.0.svn'].gsd_north_arrow
-    gsd_north_arrow.restype = c_int
-    gsd_north_arrow.argtypes = [POINTER(c_float), c_float, GLuint, c_ulong, c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 513
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_arrow'):
-    gsd_arrow = _libs['grass_ogsf.7.0.svn'].gsd_arrow
-    gsd_arrow.restype = c_int
-    gsd_arrow.argtypes = [POINTER(c_float), c_ulong, c_float, POINTER(c_float), c_float, POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 514
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_arrow_onsurf'):
-    gsd_arrow_onsurf = _libs['grass_ogsf.7.0.svn'].gsd_arrow_onsurf
-    gsd_arrow_onsurf.restype = c_int
-    gsd_arrow_onsurf.argtypes = [POINTER(c_float), POINTER(c_float), c_ulong, c_int, POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 515
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_3darrow'):
-    gsd_3darrow = _libs['grass_ogsf.7.0.svn'].gsd_3darrow
-    gsd_3darrow.restype = None
-    gsd_3darrow.argtypes = [POINTER(c_float), c_ulong, c_float, c_float, POINTER(c_float), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 516
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_scalebar'):
-    gsd_scalebar = _libs['grass_ogsf.7.0.svn'].gsd_scalebar
-    gsd_scalebar.restype = c_int
-    gsd_scalebar.argtypes = [POINTER(c_float), c_float, GLuint, c_ulong, c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 517
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_scalebar_v2'):
-    gsd_scalebar_v2 = _libs['grass_ogsf.7.0.svn'].gsd_scalebar_v2
-    gsd_scalebar_v2.restype = c_int
-    gsd_scalebar_v2.argtypes = [POINTER(c_float), c_float, GLuint, c_ulong, c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 518
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'primitive_cone'):
-    primitive_cone = _libs['grass_ogsf.7.0.svn'].primitive_cone
-    primitive_cone.restype = None
-    primitive_cone.argtypes = [c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 519
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'primitive_cylinder'):
-    primitive_cylinder = _libs['grass_ogsf.7.0.svn'].primitive_cylinder
-    primitive_cylinder.restype = None
-    primitive_cylinder.argtypes = [c_ulong, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 522
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_flush'):
-    gsd_flush = _libs['grass_ogsf.7.0.svn'].gsd_flush
-    gsd_flush.restype = None
-    gsd_flush.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 523
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_colormode'):
-    gsd_colormode = _libs['grass_ogsf.7.0.svn'].gsd_colormode
-    gsd_colormode.restype = None
-    gsd_colormode.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 524
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'show_colormode'):
-    show_colormode = _libs['grass_ogsf.7.0.svn'].show_colormode
-    show_colormode.restype = None
-    show_colormode.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 525
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_circ'):
-    gsd_circ = _libs['grass_ogsf.7.0.svn'].gsd_circ
-    gsd_circ.restype = None
-    gsd_circ.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 526
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_disc'):
-    gsd_disc = _libs['grass_ogsf.7.0.svn'].gsd_disc
-    gsd_disc.restype = None
-    gsd_disc.argtypes = [c_float, c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 527
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_sphere'):
-    gsd_sphere = _libs['grass_ogsf.7.0.svn'].gsd_sphere
-    gsd_sphere.restype = None
-    gsd_sphere.argtypes = [POINTER(c_float), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 528
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_zwritemask'):
-    gsd_zwritemask = _libs['grass_ogsf.7.0.svn'].gsd_zwritemask
-    gsd_zwritemask.restype = None
-    gsd_zwritemask.argtypes = [c_ulong]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 529
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_backface'):
-    gsd_backface = _libs['grass_ogsf.7.0.svn'].gsd_backface
-    gsd_backface.restype = None
-    gsd_backface.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 530
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_linewidth'):
-    gsd_linewidth = _libs['grass_ogsf.7.0.svn'].gsd_linewidth
-    gsd_linewidth.restype = None
-    gsd_linewidth.argtypes = [c_short]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 531
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgnqstrip'):
-    gsd_bgnqstrip = _libs['grass_ogsf.7.0.svn'].gsd_bgnqstrip
-    gsd_bgnqstrip.restype = None
-    gsd_bgnqstrip.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 532
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endqstrip'):
-    gsd_endqstrip = _libs['grass_ogsf.7.0.svn'].gsd_endqstrip
-    gsd_endqstrip.restype = None
-    gsd_endqstrip.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 533
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgntmesh'):
-    gsd_bgntmesh = _libs['grass_ogsf.7.0.svn'].gsd_bgntmesh
-    gsd_bgntmesh.restype = None
-    gsd_bgntmesh.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 534
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endtmesh'):
-    gsd_endtmesh = _libs['grass_ogsf.7.0.svn'].gsd_endtmesh
-    gsd_endtmesh.restype = None
-    gsd_endtmesh.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 535
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgntstrip'):
-    gsd_bgntstrip = _libs['grass_ogsf.7.0.svn'].gsd_bgntstrip
-    gsd_bgntstrip.restype = None
-    gsd_bgntstrip.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 536
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endtstrip'):
-    gsd_endtstrip = _libs['grass_ogsf.7.0.svn'].gsd_endtstrip
-    gsd_endtstrip.restype = None
-    gsd_endtstrip.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 537
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgntfan'):
-    gsd_bgntfan = _libs['grass_ogsf.7.0.svn'].gsd_bgntfan
-    gsd_bgntfan.restype = None
-    gsd_bgntfan.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 538
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endtfan'):
-    gsd_endtfan = _libs['grass_ogsf.7.0.svn'].gsd_endtfan
-    gsd_endtfan.restype = None
-    gsd_endtfan.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 539
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_swaptmesh'):
-    gsd_swaptmesh = _libs['grass_ogsf.7.0.svn'].gsd_swaptmesh
-    gsd_swaptmesh.restype = None
-    gsd_swaptmesh.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 540
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgnpolygon'):
-    gsd_bgnpolygon = _libs['grass_ogsf.7.0.svn'].gsd_bgnpolygon
-    gsd_bgnpolygon.restype = None
-    gsd_bgnpolygon.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 541
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endpolygon'):
-    gsd_endpolygon = _libs['grass_ogsf.7.0.svn'].gsd_endpolygon
-    gsd_endpolygon.restype = None
-    gsd_endpolygon.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 542
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgnline'):
-    gsd_bgnline = _libs['grass_ogsf.7.0.svn'].gsd_bgnline
-    gsd_bgnline.restype = None
-    gsd_bgnline.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 543
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endline'):
-    gsd_endline = _libs['grass_ogsf.7.0.svn'].gsd_endline
-    gsd_endline.restype = None
-    gsd_endline.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 544
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_shademodel'):
-    gsd_shademodel = _libs['grass_ogsf.7.0.svn'].gsd_shademodel
-    gsd_shademodel.restype = None
-    gsd_shademodel.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 545
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_getshademodel'):
-    gsd_getshademodel = _libs['grass_ogsf.7.0.svn'].gsd_getshademodel
-    gsd_getshademodel.restype = c_int
-    gsd_getshademodel.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 546
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bothbuffer'):
-    gsd_bothbuffer = _libs['grass_ogsf.7.0.svn'].gsd_bothbuffer
-    gsd_bothbuffer.restype = None
-    gsd_bothbuffer.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 547
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_frontbuffer'):
-    gsd_frontbuffer = _libs['grass_ogsf.7.0.svn'].gsd_frontbuffer
-    gsd_frontbuffer.restype = None
-    gsd_frontbuffer.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 548
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_backbuffer'):
-    gsd_backbuffer = _libs['grass_ogsf.7.0.svn'].gsd_backbuffer
-    gsd_backbuffer.restype = None
-    gsd_backbuffer.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 549
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_swapbuffers'):
-    gsd_swapbuffers = _libs['grass_ogsf.7.0.svn'].gsd_swapbuffers
-    gsd_swapbuffers.restype = None
-    gsd_swapbuffers.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 550
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_popmatrix'):
-    gsd_popmatrix = _libs['grass_ogsf.7.0.svn'].gsd_popmatrix
-    gsd_popmatrix.restype = None
-    gsd_popmatrix.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 551
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_pushmatrix'):
-    gsd_pushmatrix = _libs['grass_ogsf.7.0.svn'].gsd_pushmatrix
-    gsd_pushmatrix.restype = None
-    gsd_pushmatrix.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 552
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_scale'):
-    gsd_scale = _libs['grass_ogsf.7.0.svn'].gsd_scale
-    gsd_scale.restype = None
-    gsd_scale.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 553
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_translate'):
-    gsd_translate = _libs['grass_ogsf.7.0.svn'].gsd_translate
-    gsd_translate.restype = None
-    gsd_translate.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 554
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_rot'):
-    gsd_rot = _libs['grass_ogsf.7.0.svn'].gsd_rot
-    gsd_rot.restype = None
-    gsd_rot.argtypes = [c_float, c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 555
-for _lib in _libs.values():
-    if hasattr(_lib, 'gsd_checkwindow'):
-        gsd_checkwindow = _lib.gsd_checkwindow
-        gsd_checkwindow.restype = None
-        gsd_checkwindow.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 556
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_checkpoint'):
-    gsd_checkpoint = _libs['grass_ogsf.7.0.svn'].gsd_checkpoint
-    gsd_checkpoint.restype = c_int
-    gsd_checkpoint.argtypes = [POINTER(c_float), POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 557
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_litvert_func'):
-    gsd_litvert_func = _libs['grass_ogsf.7.0.svn'].gsd_litvert_func
-    gsd_litvert_func.restype = None
-    gsd_litvert_func.argtypes = [POINTER(c_float), c_ulong, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 558
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_litvert_func2'):
-    gsd_litvert_func2 = _libs['grass_ogsf.7.0.svn'].gsd_litvert_func2
-    gsd_litvert_func2.restype = None
-    gsd_litvert_func2.argtypes = [POINTER(c_float), c_ulong, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 559
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_vert_func'):
-    gsd_vert_func = _libs['grass_ogsf.7.0.svn'].gsd_vert_func
-    gsd_vert_func.restype = None
-    gsd_vert_func.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 560
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_color_func'):
-    gsd_color_func = _libs['grass_ogsf.7.0.svn'].gsd_color_func
-    gsd_color_func.restype = None
-    gsd_color_func.argtypes = [c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 561
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_init_lightmodel'):
-    gsd_init_lightmodel = _libs['grass_ogsf.7.0.svn'].gsd_init_lightmodel
-    gsd_init_lightmodel.restype = None
-    gsd_init_lightmodel.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 562
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_set_material'):
-    gsd_set_material = _libs['grass_ogsf.7.0.svn'].gsd_set_material
-    gsd_set_material.restype = None
-    gsd_set_material.argtypes = [c_int, c_int, c_float, c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 563
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_deflight'):
-    gsd_deflight = _libs['grass_ogsf.7.0.svn'].gsd_deflight
-    gsd_deflight.restype = None
-    gsd_deflight.argtypes = [c_int, POINTER(struct_lightdefs)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 564
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_switchlight'):
-    gsd_switchlight = _libs['grass_ogsf.7.0.svn'].gsd_switchlight
-    gsd_switchlight.restype = None
-    gsd_switchlight.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 565
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_getimage'):
-    gsd_getimage = _libs['grass_ogsf.7.0.svn'].gsd_getimage
-    gsd_getimage.restype = c_int
-    gsd_getimage.argtypes = [POINTER(POINTER(c_ubyte)), POINTER(c_uint), POINTER(c_uint)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 566
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_blend'):
-    gsd_blend = _libs['grass_ogsf.7.0.svn'].gsd_blend
-    gsd_blend.restype = None
-    gsd_blend.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 567
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_def_clipplane'):
-    gsd_def_clipplane = _libs['grass_ogsf.7.0.svn'].gsd_def_clipplane
-    gsd_def_clipplane.restype = None
-    gsd_def_clipplane.argtypes = [c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 568
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_set_clipplane'):
-    gsd_set_clipplane = _libs['grass_ogsf.7.0.svn'].gsd_set_clipplane
-    gsd_set_clipplane.restype = None
-    gsd_set_clipplane.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 569
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_finish'):
-    gsd_finish = _libs['grass_ogsf.7.0.svn'].gsd_finish
-    gsd_finish.restype = None
-    gsd_finish.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 570
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_viewport'):
-    gsd_viewport = _libs['grass_ogsf.7.0.svn'].gsd_viewport
-    gsd_viewport.restype = None
-    gsd_viewport.argtypes = [c_int, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 571
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_makelist'):
-    gsd_makelist = _libs['grass_ogsf.7.0.svn'].gsd_makelist
-    gsd_makelist.restype = c_int
-    gsd_makelist.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 572
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgnlist'):
-    gsd_bgnlist = _libs['grass_ogsf.7.0.svn'].gsd_bgnlist
-    gsd_bgnlist.restype = None
-    gsd_bgnlist.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 573
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_endlist'):
-    gsd_endlist = _libs['grass_ogsf.7.0.svn'].gsd_endlist
-    gsd_endlist.restype = None
-    gsd_endlist.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 574
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_calllist'):
-    gsd_calllist = _libs['grass_ogsf.7.0.svn'].gsd_calllist
-    gsd_calllist.restype = None
-    gsd_calllist.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 575
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_deletelist'):
-    gsd_deletelist = _libs['grass_ogsf.7.0.svn'].gsd_deletelist
-    gsd_deletelist.restype = None
-    gsd_deletelist.argtypes = [GLuint, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 576
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_calllists'):
-    gsd_calllists = _libs['grass_ogsf.7.0.svn'].gsd_calllists
-    gsd_calllists.restype = None
-    gsd_calllists.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 577
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_getwindow'):
-    gsd_getwindow = _libs['grass_ogsf.7.0.svn'].gsd_getwindow
-    gsd_getwindow.restype = None
-    gsd_getwindow.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 578
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_writeView'):
-    gsd_writeView = _libs['grass_ogsf.7.0.svn'].gsd_writeView
-    gsd_writeView.restype = c_int
-    gsd_writeView.argtypes = [POINTER(POINTER(c_ubyte)), c_uint, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 581
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf'):
-    gsd_surf = _libs['grass_ogsf.7.0.svn'].gsd_surf
-    gsd_surf.restype = c_int
-    gsd_surf.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 582
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf_map'):
-    gsd_surf_map = _libs['grass_ogsf.7.0.svn'].gsd_surf_map
-    gsd_surf_map.restype = c_int
-    gsd_surf_map.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 583
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf_const'):
-    gsd_surf_const = _libs['grass_ogsf.7.0.svn'].gsd_surf_const
-    gsd_surf_const.restype = c_int
-    gsd_surf_const.argtypes = [POINTER(geosurf), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 584
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf_func'):
-    gsd_surf_func = _libs['grass_ogsf.7.0.svn'].gsd_surf_func
-    gsd_surf_func.restype = c_int
-    gsd_surf_func.argtypes = [POINTER(geosurf), CFUNCTYPE(UNCHECKED(c_int), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 585
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_triangulated_wall'):
-    gsd_triangulated_wall = _libs['grass_ogsf.7.0.svn'].gsd_triangulated_wall
-    gsd_triangulated_wall.restype = c_int
-    gsd_triangulated_wall.argtypes = [c_int, c_int, POINTER(geosurf), POINTER(geosurf), POINTER(Point3), POINTER(Point3), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 587
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_setfc'):
-    gsd_setfc = _libs['grass_ogsf.7.0.svn'].gsd_setfc
-    gsd_setfc.restype = None
-    gsd_setfc.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 588
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_getfc'):
-    gsd_getfc = _libs['grass_ogsf.7.0.svn'].gsd_getfc
-    gsd_getfc.restype = c_int
-    gsd_getfc.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 589
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_ortho_wall'):
-    gsd_ortho_wall = _libs['grass_ogsf.7.0.svn'].gsd_ortho_wall
-    gsd_ortho_wall.restype = c_int
-    gsd_ortho_wall.argtypes = [c_int, c_int, POINTER(POINTER(geosurf)), POINTER(POINTER(Point3)), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 590
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wall'):
-    gsd_wall = _libs['grass_ogsf.7.0.svn'].gsd_wall
-    gsd_wall.restype = c_int
-    gsd_wall.argtypes = [POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 591
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_norm_arrows'):
-    gsd_norm_arrows = _libs['grass_ogsf.7.0.svn'].gsd_norm_arrows
-    gsd_norm_arrows.restype = c_int
-    gsd_norm_arrows.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 594
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_los'):
-    gsd_get_los = _libs['grass_ogsf.7.0.svn'].gsd_get_los
-    gsd_get_los.restype = c_int
-    gsd_get_los.argtypes = [POINTER(c_float * 3), c_short, c_short]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 595
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_set_view'):
-    gsd_set_view = _libs['grass_ogsf.7.0.svn'].gsd_set_view
-    gsd_set_view.restype = None
-    gsd_set_view.argtypes = [POINTER(geoview), POINTER(geodisplay)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 596
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_check_focus'):
-    gsd_check_focus = _libs['grass_ogsf.7.0.svn'].gsd_check_focus
-    gsd_check_focus.restype = None
-    gsd_check_focus.argtypes = [POINTER(geoview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 597
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_get_zup'):
-    gsd_get_zup = _libs['grass_ogsf.7.0.svn'].gsd_get_zup
-    gsd_get_zup.restype = None
-    gsd_get_zup.argtypes = [POINTER(geoview), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 598
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_zup_twist'):
-    gsd_zup_twist = _libs['grass_ogsf.7.0.svn'].gsd_zup_twist
-    gsd_zup_twist.restype = c_int
-    gsd_zup_twist.argtypes = [POINTER(geoview)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 599
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_do_scale'):
-    gsd_do_scale = _libs['grass_ogsf.7.0.svn'].gsd_do_scale
-    gsd_do_scale.restype = None
-    gsd_do_scale.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 600
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_real2model'):
-    gsd_real2model = _libs['grass_ogsf.7.0.svn'].gsd_real2model
-    gsd_real2model.restype = None
-    gsd_real2model.argtypes = [Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 601
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_model2real'):
-    gsd_model2real = _libs['grass_ogsf.7.0.svn'].gsd_model2real
-    gsd_model2real.restype = None
-    gsd_model2real.argtypes = [Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 602
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_model2surf'):
-    gsd_model2surf = _libs['grass_ogsf.7.0.svn'].gsd_model2surf
-    gsd_model2surf.restype = None
-    gsd_model2surf.argtypes = [POINTER(geosurf), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 603
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf2model'):
-    gsd_surf2model = _libs['grass_ogsf.7.0.svn'].gsd_surf2model
-    gsd_surf2model.restype = None
-    gsd_surf2model.argtypes = [Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 604
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_surf2real'):
-    gsd_surf2real = _libs['grass_ogsf.7.0.svn'].gsd_surf2real
-    gsd_surf2real.restype = None
-    gsd_surf2real.argtypes = [POINTER(geosurf), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 605
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_real2surf'):
-    gsd_real2surf = _libs['grass_ogsf.7.0.svn'].gsd_real2surf
-    gsd_real2surf.restype = None
-    gsd_real2surf.argtypes = [POINTER(geosurf), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 608
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_surf'):
-    gsd_wire_surf = _libs['grass_ogsf.7.0.svn'].gsd_wire_surf
-    gsd_wire_surf.restype = c_int
-    gsd_wire_surf.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 609
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_surf_map'):
-    gsd_wire_surf_map = _libs['grass_ogsf.7.0.svn'].gsd_wire_surf_map
-    gsd_wire_surf_map.restype = c_int
-    gsd_wire_surf_map.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 610
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_coarse_surf_map'):
-    gsd_coarse_surf_map = _libs['grass_ogsf.7.0.svn'].gsd_coarse_surf_map
-    gsd_coarse_surf_map.restype = c_int
-    gsd_coarse_surf_map.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 611
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_surf_const'):
-    gsd_wire_surf_const = _libs['grass_ogsf.7.0.svn'].gsd_wire_surf_const
-    gsd_wire_surf_const.restype = c_int
-    gsd_wire_surf_const.argtypes = [POINTER(geosurf), c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 612
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_surf_func'):
-    gsd_wire_surf_func = _libs['grass_ogsf.7.0.svn'].gsd_wire_surf_func
-    gsd_wire_surf_func.restype = c_int
-    gsd_wire_surf_func.argtypes = [POINTER(geosurf), CFUNCTYPE(UNCHECKED(c_int), )]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 613
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_wire_arrows'):
-    gsd_wire_arrows = _libs['grass_ogsf.7.0.svn'].gsd_wire_arrows
-    gsd_wire_arrows.restype = c_int
-    gsd_wire_arrows.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 616
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_set_SDscale'):
-    gsdiff_set_SDscale = _libs['grass_ogsf.7.0.svn'].gsdiff_set_SDscale
-    gsdiff_set_SDscale.restype = None
-    gsdiff_set_SDscale.argtypes = [c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 617
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_get_SDscale'):
-    gsdiff_get_SDscale = _libs['grass_ogsf.7.0.svn'].gsdiff_get_SDscale
-    gsdiff_get_SDscale.restype = c_float
-    gsdiff_get_SDscale.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 618
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_set_SDref'):
-    gsdiff_set_SDref = _libs['grass_ogsf.7.0.svn'].gsdiff_set_SDref
-    gsdiff_set_SDref.restype = None
-    gsdiff_set_SDref.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 619
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_get_SDref'):
-    gsdiff_get_SDref = _libs['grass_ogsf.7.0.svn'].gsdiff_get_SDref
-    gsdiff_get_SDref.restype = POINTER(geosurf)
-    gsdiff_get_SDref.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 620
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdiff_do_SD'):
-    gsdiff_do_SD = _libs['grass_ogsf.7.0.svn'].gsdiff_do_SD
-    gsdiff_do_SD.restype = c_float
-    gsdiff_do_SD.argtypes = [c_float, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 623
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdrape_set_surface'):
-    gsdrape_set_surface = _libs['grass_ogsf.7.0.svn'].gsdrape_set_surface
-    gsdrape_set_surface.restype = c_int
-    gsdrape_set_surface.argtypes = [POINTER(geosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 624
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'seg_intersect_vregion'):
-    seg_intersect_vregion = _libs['grass_ogsf.7.0.svn'].seg_intersect_vregion
-    seg_intersect_vregion.restype = c_int
-    seg_intersect_vregion.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 625
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdrape_get_segments'):
-    gsdrape_get_segments = _libs['grass_ogsf.7.0.svn'].gsdrape_get_segments
-    gsdrape_get_segments.restype = POINTER(Point3)
-    gsdrape_get_segments.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 626
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsdrape_get_allsegments'):
-    gsdrape_get_allsegments = _libs['grass_ogsf.7.0.svn'].gsdrape_get_allsegments
-    gsdrape_get_allsegments.restype = POINTER(Point3)
-    gsdrape_get_allsegments.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 627
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'interp_first_last'):
-    interp_first_last = _libs['grass_ogsf.7.0.svn'].interp_first_last
-    interp_first_last.restype = None
-    interp_first_last.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), Point3, Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 628
-if hasattr(_libs['grass_ogsf.7.0.svn'], '_viewcell_tri_interp'):
-    _viewcell_tri_interp = _libs['grass_ogsf.7.0.svn']._viewcell_tri_interp
-    _viewcell_tri_interp.restype = c_int
-    _viewcell_tri_interp.argtypes = [POINTER(geosurf), Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 629
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'viewcell_tri_interp'):
-    viewcell_tri_interp = _libs['grass_ogsf.7.0.svn'].viewcell_tri_interp
-    viewcell_tri_interp.restype = c_int
-    viewcell_tri_interp.argtypes = [POINTER(geosurf), POINTER(typbuff), Point3, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 630
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'in_vregion'):
-    in_vregion = _libs['grass_ogsf.7.0.svn'].in_vregion
-    in_vregion.restype = c_int
-    in_vregion.argtypes = [POINTER(geosurf), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 631
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'order_intersects'):
-    order_intersects = _libs['grass_ogsf.7.0.svn'].order_intersects
-    order_intersects.restype = c_int
-    order_intersects.argtypes = [POINTER(geosurf), Point3, Point3, c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 632
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_vert_intersects'):
-    get_vert_intersects = _libs['grass_ogsf.7.0.svn'].get_vert_intersects
-    get_vert_intersects.restype = c_int
-    get_vert_intersects.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 633
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_horz_intersects'):
-    get_horz_intersects = _libs['grass_ogsf.7.0.svn'].get_horz_intersects
-    get_horz_intersects.restype = c_int
-    get_horz_intersects.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 634
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_diag_intersects'):
-    get_diag_intersects = _libs['grass_ogsf.7.0.svn'].get_diag_intersects
-    get_diag_intersects.restype = c_int
-    get_diag_intersects.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 635
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'segs_intersect'):
-    segs_intersect = _libs['grass_ogsf.7.0.svn'].segs_intersect
-    segs_intersect.restype = c_int
-    segs_intersect.argtypes = [c_float, c_float, c_float, c_float, c_float, c_float, c_float, c_float, POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 637
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Point_on_plane'):
-    Point_on_plane = _libs['grass_ogsf.7.0.svn'].Point_on_plane
-    Point_on_plane.restype = c_int
-    Point_on_plane.argtypes = [Point3, Point3, Point3, Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 638
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'XY_intersect_plane'):
-    XY_intersect_plane = _libs['grass_ogsf.7.0.svn'].XY_intersect_plane
-    XY_intersect_plane.restype = c_int
-    XY_intersect_plane.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 639
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P3toPlane'):
-    P3toPlane = _libs['grass_ogsf.7.0.svn'].P3toPlane
-    P3toPlane.restype = c_int
-    P3toPlane.argtypes = [Point3, Point3, Point3, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 640
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'V3Cross'):
-    V3Cross = _libs['grass_ogsf.7.0.svn'].V3Cross
-    V3Cross.restype = c_int
-    V3Cross.argtypes = [Point3, Point3, Point3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 643
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_findh'):
-    gsds_findh = _libs['grass_ogsf.7.0.svn'].gsds_findh
-    gsds_findh.restype = c_int
-    gsds_findh.argtypes = [String, POINTER(c_uint), POINTER(c_uint), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 644
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_newh'):
-    gsds_newh = _libs['grass_ogsf.7.0.svn'].gsds_newh
-    gsds_newh.restype = c_int
-    gsds_newh.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 645
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_get_typbuff'):
-    gsds_get_typbuff = _libs['grass_ogsf.7.0.svn'].gsds_get_typbuff
-    gsds_get_typbuff.restype = POINTER(typbuff)
-    gsds_get_typbuff.argtypes = [c_int, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 646
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_get_name'):
-    gsds_get_name = _libs['grass_ogsf.7.0.svn'].gsds_get_name
-    gsds_get_name.restype = ReturnString
-    gsds_get_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 647
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_free_datah'):
-    gsds_free_datah = _libs['grass_ogsf.7.0.svn'].gsds_free_datah
-    gsds_free_datah.restype = c_int
-    gsds_free_datah.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 648
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_free_data_buff'):
-    gsds_free_data_buff = _libs['grass_ogsf.7.0.svn'].gsds_free_data_buff
-    gsds_free_data_buff.restype = c_int
-    gsds_free_data_buff.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 649
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'free_data_buffs'):
-    free_data_buffs = _libs['grass_ogsf.7.0.svn'].free_data_buffs
-    free_data_buffs.restype = c_int
-    free_data_buffs.argtypes = [POINTER(dataset), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 650
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_alloc_typbuff'):
-    gsds_alloc_typbuff = _libs['grass_ogsf.7.0.svn'].gsds_alloc_typbuff
-    gsds_alloc_typbuff.restype = c_int
-    gsds_alloc_typbuff.argtypes = [c_int, POINTER(c_int), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 651
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_get_changed'):
-    gsds_get_changed = _libs['grass_ogsf.7.0.svn'].gsds_get_changed
-    gsds_get_changed.restype = c_int
-    gsds_get_changed.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 652
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_set_changed'):
-    gsds_set_changed = _libs['grass_ogsf.7.0.svn'].gsds_set_changed
-    gsds_set_changed.restype = c_int
-    gsds_set_changed.argtypes = [c_int, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 653
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsds_get_type'):
-    gsds_get_type = _libs['grass_ogsf.7.0.svn'].gsds_get_type
-    gsds_get_type.restype = c_int
-    gsds_get_type.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 656
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'get_mapatt'):
-    get_mapatt = _libs['grass_ogsf.7.0.svn'].get_mapatt
-    get_mapatt.restype = c_int
-    get_mapatt.argtypes = [POINTER(typbuff), c_int, POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 659
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_get_vect'):
-    gv_get_vect = _libs['grass_ogsf.7.0.svn'].gv_get_vect
-    gv_get_vect.restype = POINTER(geovect)
-    gv_get_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 660
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_get_prev_vect'):
-    gv_get_prev_vect = _libs['grass_ogsf.7.0.svn'].gv_get_prev_vect
-    gv_get_prev_vect.restype = POINTER(geovect)
-    gv_get_prev_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 661
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_num_vects'):
-    gv_num_vects = _libs['grass_ogsf.7.0.svn'].gv_num_vects
-    gv_num_vects.restype = c_int
-    gv_num_vects.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 662
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_get_last_vect'):
-    gv_get_last_vect = _libs['grass_ogsf.7.0.svn'].gv_get_last_vect
-    gv_get_last_vect.restype = POINTER(geovect)
-    gv_get_last_vect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 663
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_get_new_vect'):
-    gv_get_new_vect = _libs['grass_ogsf.7.0.svn'].gv_get_new_vect
-    gv_get_new_vect.restype = POINTER(geovect)
-    gv_get_new_vect.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 664
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_update_drapesurfs'):
-    gv_update_drapesurfs = _libs['grass_ogsf.7.0.svn'].gv_update_drapesurfs
-    gv_update_drapesurfs.restype = None
-    gv_update_drapesurfs.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 665
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_set_defaults'):
-    gv_set_defaults = _libs['grass_ogsf.7.0.svn'].gv_set_defaults
-    gv_set_defaults.restype = c_int
-    gv_set_defaults.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 666
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_init_vect'):
-    gv_init_vect = _libs['grass_ogsf.7.0.svn'].gv_init_vect
-    gv_init_vect.restype = c_int
-    gv_init_vect.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 667
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_delete_vect'):
-    gv_delete_vect = _libs['grass_ogsf.7.0.svn'].gv_delete_vect
-    gv_delete_vect.restype = None
-    gv_delete_vect.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 668
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_free_vect'):
-    gv_free_vect = _libs['grass_ogsf.7.0.svn'].gv_free_vect
-    gv_free_vect.restype = c_int
-    gv_free_vect.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 669
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_free_vectmem'):
-    gv_free_vectmem = _libs['grass_ogsf.7.0.svn'].gv_free_vectmem
-    gv_free_vectmem.restype = None
-    gv_free_vectmem.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 670
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_set_drapesurfs'):
-    gv_set_drapesurfs = _libs['grass_ogsf.7.0.svn'].gv_set_drapesurfs
-    gv_set_drapesurfs.restype = None
-    gv_set_drapesurfs.argtypes = [POINTER(geovect), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 673
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_line_length'):
-    gv_line_length = _libs['grass_ogsf.7.0.svn'].gv_line_length
-    gv_line_length.restype = c_float
-    gv_line_length.argtypes = [POINTER(geoline)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 674
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gln_num_points'):
-    gln_num_points = _libs['grass_ogsf.7.0.svn'].gln_num_points
-    gln_num_points.restype = c_int
-    gln_num_points.argtypes = [POINTER(geoline)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 675
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_num_points'):
-    gv_num_points = _libs['grass_ogsf.7.0.svn'].gv_num_points
-    gv_num_points.restype = c_int
-    gv_num_points.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 676
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gv_decimate_lines'):
-    gv_decimate_lines = _libs['grass_ogsf.7.0.svn'].gv_decimate_lines
-    gv_decimate_lines.restype = c_int
-    gv_decimate_lines.argtypes = [POINTER(geovect)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 679
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gs_clip_segment'):
-    gs_clip_segment = _libs['grass_ogsf.7.0.svn'].gs_clip_segment
-    gs_clip_segment.restype = c_int
-    gs_clip_segment.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 680
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvd_vect'):
-    gvd_vect = _libs['grass_ogsf.7.0.svn'].gvd_vect
-    gvd_vect.restype = c_int
-    gvd_vect.argtypes = [POINTER(geovect), POINTER(geosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 681
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvd_draw_lineonsurf'):
-    gvd_draw_lineonsurf = _libs['grass_ogsf.7.0.svn'].gvd_draw_lineonsurf
-    gvd_draw_lineonsurf.restype = None
-    gvd_draw_lineonsurf.argtypes = [POINTER(geosurf), POINTER(c_float), POINTER(c_float), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 684
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_vol'):
-    gvl_get_vol = _libs['grass_ogsf.7.0.svn'].gvl_get_vol
-    gvl_get_vol.restype = POINTER(geovol)
-    gvl_get_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 685
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_prev_vol'):
-    gvl_get_prev_vol = _libs['grass_ogsf.7.0.svn'].gvl_get_prev_vol
-    gvl_get_prev_vol.restype = POINTER(geovol)
-    gvl_get_prev_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 686
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_getall_vols'):
-    gvl_getall_vols = _libs['grass_ogsf.7.0.svn'].gvl_getall_vols
-    gvl_getall_vols.restype = c_int
-    gvl_getall_vols.argtypes = [POINTER(POINTER(geovol))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 687
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_num_vols'):
-    gvl_num_vols = _libs['grass_ogsf.7.0.svn'].gvl_num_vols
-    gvl_num_vols.restype = c_int
-    gvl_num_vols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 688
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_last_vol'):
-    gvl_get_last_vol = _libs['grass_ogsf.7.0.svn'].gvl_get_last_vol
-    gvl_get_last_vol.restype = POINTER(geovol)
-    gvl_get_last_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 689
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_new_vol'):
-    gvl_get_new_vol = _libs['grass_ogsf.7.0.svn'].gvl_get_new_vol
-    gvl_get_new_vol.restype = POINTER(geovol)
-    gvl_get_new_vol.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 690
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_init_vol'):
-    gvl_init_vol = _libs['grass_ogsf.7.0.svn'].gvl_init_vol
-    gvl_init_vol.restype = c_int
-    gvl_init_vol.argtypes = [POINTER(geovol), c_double, c_double, c_double, c_int, c_int, c_int, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 692
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_delete_vol'):
-    gvl_delete_vol = _libs['grass_ogsf.7.0.svn'].gvl_delete_vol
-    gvl_delete_vol.restype = None
-    gvl_delete_vol.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 693
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_free_vol'):
-    gvl_free_vol = _libs['grass_ogsf.7.0.svn'].gvl_free_vol
-    gvl_free_vol.restype = c_int
-    gvl_free_vol.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 694
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_free_volmem'):
-    gvl_free_volmem = _libs['grass_ogsf.7.0.svn'].gvl_free_volmem
-    gvl_free_volmem.restype = None
-    gvl_free_volmem.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 695
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'print_vol_fields'):
-    print_vol_fields = _libs['grass_ogsf.7.0.svn'].print_vol_fields
-    print_vol_fields.restype = None
-    print_vol_fields.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 696
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_xextents'):
-    gvl_get_xextents = _libs['grass_ogsf.7.0.svn'].gvl_get_xextents
-    gvl_get_xextents.restype = c_int
-    gvl_get_xextents.argtypes = [POINTER(geovol), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 697
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_yextents'):
-    gvl_get_yextents = _libs['grass_ogsf.7.0.svn'].gvl_get_yextents
-    gvl_get_yextents.restype = c_int
-    gvl_get_yextents.argtypes = [POINTER(geovol), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 698
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_zextents'):
-    gvl_get_zextents = _libs['grass_ogsf.7.0.svn'].gvl_get_zextents
-    gvl_get_zextents.restype = c_int
-    gvl_get_zextents.argtypes = [POINTER(geovol), POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 699
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_xrange'):
-    gvl_get_xrange = _libs['grass_ogsf.7.0.svn'].gvl_get_xrange
-    gvl_get_xrange.restype = c_int
-    gvl_get_xrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 700
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_yrange'):
-    gvl_get_yrange = _libs['grass_ogsf.7.0.svn'].gvl_get_yrange
-    gvl_get_yrange.restype = c_int
-    gvl_get_yrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 701
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_get_zrange'):
-    gvl_get_zrange = _libs['grass_ogsf.7.0.svn'].gvl_get_zrange
-    gvl_get_zrange.restype = c_int
-    gvl_get_zrange.argtypes = [POINTER(c_float), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 703
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_init'):
-    gvl_isosurf_init = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_init
-    gvl_isosurf_init.restype = c_int
-    gvl_isosurf_init.argtypes = [POINTER(geovol_isosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 704
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_freemem'):
-    gvl_isosurf_freemem = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_freemem
-    gvl_isosurf_freemem.restype = c_int
-    gvl_isosurf_freemem.argtypes = [POINTER(geovol_isosurf)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 705
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_get_isosurf'):
-    gvl_isosurf_get_isosurf = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_get_isosurf
-    gvl_isosurf_get_isosurf.restype = POINTER(geovol_isosurf)
-    gvl_isosurf_get_isosurf.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 706
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_get_att_src'):
-    gvl_isosurf_get_att_src = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_get_att_src
-    gvl_isosurf_get_att_src.restype = c_int
-    gvl_isosurf_get_att_src.argtypes = [POINTER(geovol_isosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 707
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_set_att_src'):
-    gvl_isosurf_set_att_src = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_set_att_src
-    gvl_isosurf_set_att_src.restype = c_int
-    gvl_isosurf_set_att_src.argtypes = [POINTER(geovol_isosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 708
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_set_att_const'):
-    gvl_isosurf_set_att_const = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_set_att_const
-    gvl_isosurf_set_att_const.restype = c_int
-    gvl_isosurf_set_att_const.argtypes = [POINTER(geovol_isosurf), c_int, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 709
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_set_att_map'):
-    gvl_isosurf_set_att_map = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_set_att_map
-    gvl_isosurf_set_att_map.restype = c_int
-    gvl_isosurf_set_att_map.argtypes = [POINTER(geovol_isosurf), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 710
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_set_att_changed'):
-    gvl_isosurf_set_att_changed = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_set_att_changed
-    gvl_isosurf_set_att_changed.restype = c_int
-    gvl_isosurf_set_att_changed.argtypes = [POINTER(geovol_isosurf), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 712
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_slice_init'):
-    gvl_slice_init = _libs['grass_ogsf.7.0.svn'].gvl_slice_init
-    gvl_slice_init.restype = c_int
-    gvl_slice_init.argtypes = [POINTER(geovol_slice)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 713
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_slice_get_slice'):
-    gvl_slice_get_slice = _libs['grass_ogsf.7.0.svn'].gvl_slice_get_slice
-    gvl_slice_get_slice.restype = POINTER(geovol_slice)
-    gvl_slice_get_slice.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 714
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_slice_freemem'):
-    gvl_slice_freemem = _libs['grass_ogsf.7.0.svn'].gvl_slice_freemem
-    gvl_slice_freemem.restype = c_int
-    gvl_slice_freemem.argtypes = [POINTER(geovol_slice)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 717
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_scale'):
-    P_scale = _libs['grass_ogsf.7.0.svn'].P_scale
-    P_scale.restype = None
-    P_scale.argtypes = [c_float, c_float, c_float]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 718
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_transform'):
-    P_transform = _libs['grass_ogsf.7.0.svn'].P_transform
-    P_transform.restype = None
-    P_transform.argtypes = [c_int, POINTER(c_float * 4), POINTER(c_float * 4)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 719
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_pushmatrix'):
-    P_pushmatrix = _libs['grass_ogsf.7.0.svn'].P_pushmatrix
-    P_pushmatrix.restype = c_int
-    P_pushmatrix.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 720
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_popmatrix'):
-    P_popmatrix = _libs['grass_ogsf.7.0.svn'].P_popmatrix
-    P_popmatrix.restype = c_int
-    P_popmatrix.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 721
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'P_rot'):
-    P_rot = _libs['grass_ogsf.7.0.svn'].P_rot
-    P_rot.restype = None
-    P_rot.argtypes = [c_float, c_char]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 724
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_volfile'):
-    gvl_file_get_volfile = _libs['grass_ogsf.7.0.svn'].gvl_file_get_volfile
-    gvl_file_get_volfile.restype = POINTER(geovol_file)
-    gvl_file_get_volfile.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 725
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_name'):
-    gvl_file_get_name = _libs['grass_ogsf.7.0.svn'].gvl_file_get_name
-    gvl_file_get_name.restype = ReturnString
-    gvl_file_get_name.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 726
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_file_type'):
-    gvl_file_get_file_type = _libs['grass_ogsf.7.0.svn'].gvl_file_get_file_type
-    gvl_file_get_file_type.restype = c_int
-    gvl_file_get_file_type.argtypes = [POINTER(geovol_file)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 727
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_data_type'):
-    gvl_file_get_data_type = _libs['grass_ogsf.7.0.svn'].gvl_file_get_data_type
-    gvl_file_get_data_type.restype = c_int
-    gvl_file_get_data_type.argtypes = [POINTER(geovol_file)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 728
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_newh'):
-    gvl_file_newh = _libs['grass_ogsf.7.0.svn'].gvl_file_newh
-    gvl_file_newh.restype = c_int
-    gvl_file_newh.argtypes = [String, c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 729
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_free_datah'):
-    gvl_file_free_datah = _libs['grass_ogsf.7.0.svn'].gvl_file_free_datah
-    gvl_file_free_datah.restype = c_int
-    gvl_file_free_datah.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 730
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_start_read'):
-    gvl_file_start_read = _libs['grass_ogsf.7.0.svn'].gvl_file_start_read
-    gvl_file_start_read.restype = c_int
-    gvl_file_start_read.argtypes = [POINTER(geovol_file)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 731
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_end_read'):
-    gvl_file_end_read = _libs['grass_ogsf.7.0.svn'].gvl_file_end_read
-    gvl_file_end_read.restype = c_int
-    gvl_file_end_read.argtypes = [POINTER(geovol_file)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 732
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_value'):
-    gvl_file_get_value = _libs['grass_ogsf.7.0.svn'].gvl_file_get_value
-    gvl_file_get_value.restype = c_int
-    gvl_file_get_value.argtypes = [POINTER(geovol_file), c_int, c_int, c_int, POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 733
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_is_null_value'):
-    gvl_file_is_null_value = _libs['grass_ogsf.7.0.svn'].gvl_file_is_null_value
-    gvl_file_is_null_value.restype = c_int
-    gvl_file_is_null_value.argtypes = [POINTER(geovol_file), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 734
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_set_mode'):
-    gvl_file_set_mode = _libs['grass_ogsf.7.0.svn'].gvl_file_set_mode
-    gvl_file_set_mode.restype = c_int
-    gvl_file_set_mode.argtypes = [POINTER(geovol_file), c_uint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 735
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_set_slices_param'):
-    gvl_file_set_slices_param = _libs['grass_ogsf.7.0.svn'].gvl_file_set_slices_param
-    gvl_file_set_slices_param.restype = c_int
-    gvl_file_set_slices_param.argtypes = [POINTER(geovol_file), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 736
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_file_get_min_max'):
-    gvl_file_get_min_max = _libs['grass_ogsf.7.0.svn'].gvl_file_get_min_max
-    gvl_file_get_min_max.restype = None
-    gvl_file_get_min_max.argtypes = [POINTER(geovol_file), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 739
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gvl_load_colors_data'):
-    Gvl_load_colors_data = _libs['grass_ogsf.7.0.svn'].Gvl_load_colors_data
-    Gvl_load_colors_data.restype = c_int
-    Gvl_load_colors_data.argtypes = [POINTER(POINTER(None)), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 740
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gvl_unload_colors_data'):
-    Gvl_unload_colors_data = _libs['grass_ogsf.7.0.svn'].Gvl_unload_colors_data
-    Gvl_unload_colors_data.restype = c_int
-    Gvl_unload_colors_data.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 741
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'Gvl_get_color_for_value'):
-    Gvl_get_color_for_value = _libs['grass_ogsf.7.0.svn'].Gvl_get_color_for_value
-    Gvl_get_color_for_value.restype = c_int
-    Gvl_get_color_for_value.argtypes = [POINTER(None), POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 744
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_isosurf_calc'):
-    gvl_isosurf_calc = _libs['grass_ogsf.7.0.svn'].gvl_isosurf_calc
-    gvl_isosurf_calc.restype = c_int
-    gvl_isosurf_calc.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 745
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_slices_calc'):
-    gvl_slices_calc = _libs['grass_ogsf.7.0.svn'].gvl_slices_calc
-    gvl_slices_calc.restype = c_int
-    gvl_slices_calc.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 746
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_write_char'):
-    gvl_write_char = _libs['grass_ogsf.7.0.svn'].gvl_write_char
-    gvl_write_char.restype = None
-    gvl_write_char.argtypes = [c_int, POINTER(POINTER(c_ubyte)), c_ubyte]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 747
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_read_char'):
-    gvl_read_char = _libs['grass_ogsf.7.0.svn'].gvl_read_char
-    gvl_read_char.restype = c_ubyte
-    gvl_read_char.argtypes = [c_int, POINTER(c_ubyte)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 748
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvl_align_data'):
-    gvl_align_data = _libs['grass_ogsf.7.0.svn'].gvl_align_data
-    gvl_align_data.restype = None
-    gvl_align_data.argtypes = [c_int, POINTER(c_ubyte)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 751
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_vol'):
-    gvld_vol = _libs['grass_ogsf.7.0.svn'].gvld_vol
-    gvld_vol.restype = c_int
-    gvld_vol.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 752
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_wire_vol'):
-    gvld_wire_vol = _libs['grass_ogsf.7.0.svn'].gvld_wire_vol
-    gvld_wire_vol.restype = c_int
-    gvld_wire_vol.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 753
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_isosurf'):
-    gvld_isosurf = _libs['grass_ogsf.7.0.svn'].gvld_isosurf
-    gvld_isosurf.restype = c_int
-    gvld_isosurf.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 754
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_wire_isosurf'):
-    gvld_wire_isosurf = _libs['grass_ogsf.7.0.svn'].gvld_wire_isosurf
-    gvld_wire_isosurf.restype = c_int
-    gvld_wire_isosurf.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 755
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_slices'):
-    gvld_slices = _libs['grass_ogsf.7.0.svn'].gvld_slices
-    gvld_slices.restype = c_int
-    gvld_slices.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 756
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_slice'):
-    gvld_slice = _libs['grass_ogsf.7.0.svn'].gvld_slice
-    gvld_slice.restype = c_int
-    gvld_slice.argtypes = [POINTER(geovol), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 757
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_wire_slices'):
-    gvld_wire_slices = _libs['grass_ogsf.7.0.svn'].gvld_wire_slices
-    gvld_wire_slices.restype = c_int
-    gvld_wire_slices.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 758
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gvld_wind3_box'):
-    gvld_wind3_box = _libs['grass_ogsf.7.0.svn'].gvld_wind3_box
-    gvld_wind3_box.restype = c_int
-    gvld_wind3_box.argtypes = [POINTER(geovol)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 761
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_display_fringe'):
-    gsd_display_fringe = _libs['grass_ogsf.7.0.svn'].gsd_display_fringe
-    gsd_display_fringe.restype = None
-    gsd_display_fringe.argtypes = [POINTER(geosurf), c_ulong, c_float, c_int * 4]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 762
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_fringe_horiz_poly'):
-    gsd_fringe_horiz_poly = _libs['grass_ogsf.7.0.svn'].gsd_fringe_horiz_poly
-    gsd_fringe_horiz_poly.restype = None
-    gsd_fringe_horiz_poly.argtypes = [c_float, POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 763
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_fringe_horiz_line'):
-    gsd_fringe_horiz_line = _libs['grass_ogsf.7.0.svn'].gsd_fringe_horiz_line
-    gsd_fringe_horiz_line.restype = None
-    gsd_fringe_horiz_line.argtypes = [c_float, POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 764
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_fringe_vert_poly'):
-    gsd_fringe_vert_poly = _libs['grass_ogsf.7.0.svn'].gsd_fringe_vert_poly
-    gsd_fringe_vert_poly.restype = None
-    gsd_fringe_vert_poly.argtypes = [c_float, POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 765
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_fringe_vert_line'):
-    gsd_fringe_vert_line = _libs['grass_ogsf.7.0.svn'].gsd_fringe_vert_line
-    gsd_fringe_vert_line.restype = None
-    gsd_fringe_vert_line.argtypes = [c_float, POINTER(geosurf), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 768
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_put_legend'):
-    gsd_put_legend = _libs['grass_ogsf.7.0.svn'].gsd_put_legend
-    gsd_put_legend.restype = GLuint
-    gsd_put_legend.argtypes = [String, GLuint, c_int, POINTER(c_int), POINTER(c_float), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 769
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_bgn_legend_viewport'):
-    gsd_bgn_legend_viewport = _libs['grass_ogsf.7.0.svn'].gsd_bgn_legend_viewport
-    gsd_bgn_legend_viewport.restype = None
-    gsd_bgn_legend_viewport.argtypes = [GLint, GLint, GLint, GLint]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 770
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_end_legend_viewport'):
-    gsd_end_legend_viewport = _libs['grass_ogsf.7.0.svn'].gsd_end_legend_viewport
-    gsd_end_legend_viewport.restype = None
-    gsd_end_legend_viewport.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/ogsf_proto.h: 771
-if hasattr(_libs['grass_ogsf.7.0.svn'], 'gsd_make_nice_number'):
-    gsd_make_nice_number = _libs['grass_ogsf.7.0.svn'].gsd_make_nice_number
-    gsd_make_nice_number.restype = c_int
-    gsd_make_nice_number.argtypes = [POINTER(c_float)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 16
-try:
-    GS_UNIT_SIZE = 1000.0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 17
-def BETWEEN(x, a, b):
-    return (((x > a) and (x < b)) or ((x > b) and (x < a)))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_SURFS = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_VECTS = 50
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_SITES = 50
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_VOLS = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_DSP = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_ATTS = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_LIGHTS = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_CPLANES = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_ISOSURFS = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 21
-try:
-    MAX_SLICES = 12
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 23
-try:
-    MAX_VOL_SLICES = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 23
-try:
-    MAX_VOL_FILES = 100
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 25
-try:
-    DM_GOURAUD = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 25
-try:
-    DM_FLAT = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 26
-try:
-    DM_FRINGE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 27
-try:
-    DM_WIRE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 27
-try:
-    DM_COL_WIRE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 27
-try:
-    DM_POLY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 27
-try:
-    DM_WIRE_POLY = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 28
-try:
-    DM_GRID_WIRE = 1024
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 28
-try:
-    DM_GRID_SURF = 2048
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 29
-try:
-    WC_COLOR_ATT = 4278190080
-except:
-    pass
-
-IFLAG = c_uint # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 30
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_NORM = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_TOPO = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_COLOR = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_MASK = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_TRANSP = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_SHINE = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-try:
-    ATT_EMIT = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 32
-def LEGAL_ATT(a):
-    return ((a >= 0) and (a < MAX_ATTS))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-try:
-    NOTSET_ATT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-try:
-    MAP_ATT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-try:
-    CONST_ATT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-try:
-    FUNC_ATT = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 34
-def LEGAL_SRC(s):
-    return ((((s == NOTSET_ATT) or (s == MAP_ATT)) or (s == CONST_ATT)) or (s == FUNC_ATT))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_X = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_BOX = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_SPHERE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_CUBE = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_DIAMOND = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_DEC_TREE = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_CON_TREE = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_ASTER = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_GYRO = 9
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 36
-try:
-    ST_HISTOGRAM = 10
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 38
-try:
-    GSD_FRONT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 38
-try:
-    GSD_BACK = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 38
-try:
-    GSD_BOTH = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_OFF = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_ABOVE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_BELOW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_BLEND = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 40
-try:
-    FC_GREY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 42
-try:
-    LT_DISCRETE = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 42
-try:
-    LT_CONTINUOUS = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 43
-try:
-    LT_LIST = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 45
-try:
-    LT_RANGE_LOWSET = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 45
-try:
-    LT_RANGE_HISET = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 45
-try:
-    LT_RANGE_LOW_HI = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 45
-try:
-    LT_INVERTED = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 46
-try:
-    LT_SHOW_VALS = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 46
-try:
-    LT_SHOW_LABELS = 8192
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 48
-try:
-    VOL_FTYPE_RASTER3D = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 50
-try:
-    VOL_DTYPE_FLOAT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gsurf.h: 50
-try:
-    VOL_DTYPE_DOUBLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    X = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    Y = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    Z = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    W = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    FROM = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 32
-try:
-    TO = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_COLOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_EMISSION = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_AMBIENT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_DIFFUSE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_SPECULAR = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_AD = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 34
-try:
-    CM_NULL = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 35
-try:
-    CM_WIRE = CM_COLOR
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 36
-try:
-    NULL_COLOR = 16777215
-except:
-    pass
-
-GS_CHAR8 = c_char # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 38
-
-GS_SHORT16 = c_short # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 38
-
-GS_INT32 = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 38
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_NULL = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_MASK = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_FLOAT = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_INT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_SHORT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_CHAR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-try:
-    ATTY_ANY = 63
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 40
-def LEGAL_TYPE(t):
-    return (((((t == ATTY_MASK) or (t == ATTY_FLOAT)) or (t == ATTY_INT)) or (t == ATTY_SHORT)) or (t == ATTY_CHAR))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 42
-try:
-    MAXDIMS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 43
-def FUDGE(gs):
-    return ((((gs.contents.zmax_nz).value) - ((gs.contents.zmin_nz).value)) / 500.0)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 43
-def DOT3(a, b):
-    return ((((a [X]) * (b [X])) + ((a [Y]) * (b [Y]))) + ((a [Z]) * (b [Z])))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 45
-try:
-    CF_NOT_CHANGED = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 45
-try:
-    CF_COLOR_PACKED = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 45
-try:
-    CF_USR_CHANGED = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 45
-try:
-    CF_CHARSCALED = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 46
-try:
-    MAX_TF = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_TL = 268435456
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_TR = 16777216
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_BR = 1048576
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_BL = 65536
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 47
-try:
-    MASK_NPTS = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 48
-try:
-    OGSF_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 48
-try:
-    OGSF_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 48
-try:
-    OGSF_POLYGON = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 49
-try:
-    RED_MASK = 255
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 49
-try:
-    GRN_MASK = 65280
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 49
-try:
-    BLU_MASK = 16711680
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 5
-try:
-    KF_FROMX_MASK = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 5
-try:
-    KF_FROMY_MASK = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 5
-try:
-    KF_FROMZ_MASK = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 5
-try:
-    KF_FROM_MASK = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 6
-try:
-    KF_DIRX_MASK = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 6
-try:
-    KF_DIRY_MASK = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 6
-try:
-    KF_DIRZ_MASK = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 6
-try:
-    KF_DIR_MASK = 56
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 7
-try:
-    KF_FOV_MASK = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 7
-try:
-    KF_TWIST_MASK = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 8
-try:
-    KF_ALL_MASK = 255
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 9
-try:
-    KF_NUMFIELDS = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 10
-try:
-    KF_LINEAR = 111
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 10
-try:
-    KF_SPLINE = 222
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/keyframe.h: 10
-def KF_LEGAL_MODE(m):
-    return ((m == KF_LINEAR) or (m == KF_SPLINE))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_FROMX = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_FROMY = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_FROMZ = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_DIRX = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_DIRY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_DIRZ = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_FOV = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 8
-try:
-    KF_TWIST = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_VECT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_SITE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_PATH = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_VOL = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 9
-try:
-    FM_LABEL = 16
-except:
-    pass
-
-g_surf = struct_g_surf # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 152
-
-g_vect_style = struct_g_vect_style # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 181
-
-g_vect_style_thematic = struct_g_vect_style_thematic # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 206
-
-line_cats = struct_line_cats # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 217
-
-g_line = struct_g_line # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 209
-
-g_vect = struct_g_vect # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 225
-
-g_point = struct_g_point # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 247
-
-g_site = struct_g_site # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 260
-
-g_vol = struct_g_vol # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 329
-
-lightdefs = struct_lightdefs # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 355
-
-georot = struct_georot # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gstypes.h: 364
-
-view_node = struct_view_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 26
-
-key_node = struct_key_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/kftypes.h: 28
-
-# No inserted files
-
diff --git a/lib/python/ctypes/proj.py b/lib/python/ctypes/proj.py
deleted file mode 100644
index 8f0b724..0000000
--- a/lib/python/ctypes/proj.py
+++ /dev/null
@@ -1,907 +0,0 @@
-'''Wrapper for gprojects.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_gproj.7.0.svn -I/usr/local/include /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h -o proj.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_gproj.7.0.svn"] = load_library("grass_gproj.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-projPJ = POINTER(None) # /usr/local/include/proj_api.h: 55
-
-OGRSpatialReferenceH = POINTER(None) # /usr/local/include/ogr_srs_api.h: 252
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 33
-class struct_pj_info(Structure):
-    pass
-
-struct_pj_info.__slots__ = [
-    'pj',
-    'meters',
-    'zone',
-    'proj',
-]
-struct_pj_info._fields_ = [
-    ('pj', projPJ),
-    ('meters', c_double),
-    ('zone', c_int),
-    ('proj', c_char * 100),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 41
-class struct_gpj_datum(Structure):
-    pass
-
-struct_gpj_datum.__slots__ = [
-    'name',
-    'longname',
-    'ellps',
-    'dx',
-    'dy',
-    'dz',
-]
-struct_gpj_datum._fields_ = [
-    ('name', String),
-    ('longname', String),
-    ('ellps', String),
-    ('dx', c_double),
-    ('dy', c_double),
-    ('dz', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 47
-class struct_gpj_datum_transform_list(Structure):
-    pass
-
-struct_gpj_datum_transform_list.__slots__ = [
-    'count',
-    'params',
-    'where_used',
-    'comment',
-    'next',
-]
-struct_gpj_datum_transform_list._fields_ = [
-    ('count', c_int),
-    ('params', String),
-    ('where_used', String),
-    ('comment', String),
-    ('next', POINTER(struct_gpj_datum_transform_list)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 63
-class struct_gpj_ellps(Structure):
-    pass
-
-struct_gpj_ellps.__slots__ = [
-    'name',
-    'longname',
-    'a',
-    'es',
-    'rf',
-]
-struct_gpj_ellps._fields_ = [
-    ('name', String),
-    ('longname', String),
-    ('a', c_double),
-    ('es', c_double),
-    ('rf', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 70
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_do_proj'):
-    pj_do_proj = _libs['grass_gproj.7.0.svn'].pj_do_proj
-    pj_do_proj.restype = c_int
-    pj_do_proj.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(struct_pj_info), POINTER(struct_pj_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 71
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_do_transform'):
-    pj_do_transform = _libs['grass_gproj.7.0.svn'].pj_do_transform
-    pj_do_transform.restype = c_int
-    pj_do_transform.argtypes = [c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(struct_pj_info), POINTER(struct_pj_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 75
-class struct_Key_Value(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 75
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_get_kv'):
-    pj_get_kv = _libs['grass_gproj.7.0.svn'].pj_get_kv
-    pj_get_kv.restype = c_int
-    pj_get_kv.argtypes = [POINTER(struct_pj_info), POINTER(struct_Key_Value), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 76
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_get_string'):
-    pj_get_string = _libs['grass_gproj.7.0.svn'].pj_get_string
-    pj_get_string.restype = c_int
-    pj_get_string.argtypes = [POINTER(struct_pj_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 77
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_equivalent_latlong'):
-    GPJ_get_equivalent_latlong = _libs['grass_gproj.7.0.svn'].GPJ_get_equivalent_latlong
-    GPJ_get_equivalent_latlong.restype = c_int
-    GPJ_get_equivalent_latlong.argtypes = [POINTER(struct_pj_info), POINTER(struct_pj_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 78
-if hasattr(_libs['grass_gproj.7.0.svn'], 'set_proj_lib'):
-    set_proj_lib = _libs['grass_gproj.7.0.svn'].set_proj_lib
-    set_proj_lib.restype = ReturnString
-    set_proj_lib.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 79
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_print_proj_params'):
-    pj_print_proj_params = _libs['grass_gproj.7.0.svn'].pj_print_proj_params
-    pj_print_proj_params.restype = c_int
-    pj_print_proj_params.argtypes = [POINTER(struct_pj_info), POINTER(struct_pj_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 83
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_grass_to_wkt'):
-    GPJ_grass_to_wkt = _libs['grass_gproj.7.0.svn'].GPJ_grass_to_wkt
-    GPJ_grass_to_wkt.restype = ReturnString
-    GPJ_grass_to_wkt.argtypes = [POINTER(struct_Key_Value), POINTER(struct_Key_Value), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 84
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_grass_to_osr'):
-    GPJ_grass_to_osr = _libs['grass_gproj.7.0.svn'].GPJ_grass_to_osr
-    GPJ_grass_to_osr.restype = OGRSpatialReferenceH
-    GPJ_grass_to_osr.argtypes = [POINTER(struct_Key_Value), POINTER(struct_Key_Value)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 85
-class struct_Cell_head(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 85
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_wkt_to_grass'):
-    GPJ_wkt_to_grass = _libs['grass_gproj.7.0.svn'].GPJ_wkt_to_grass
-    GPJ_wkt_to_grass.restype = c_int
-    GPJ_wkt_to_grass.argtypes = [POINTER(struct_Cell_head), POINTER(POINTER(struct_Key_Value)), POINTER(POINTER(struct_Key_Value)), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 87
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_osr_to_grass'):
-    GPJ_osr_to_grass = _libs['grass_gproj.7.0.svn'].GPJ_osr_to_grass
-    GPJ_osr_to_grass.restype = c_int
-    GPJ_osr_to_grass.argtypes = [POINTER(struct_Cell_head), POINTER(POINTER(struct_Key_Value)), POINTER(POINTER(struct_Key_Value)), OGRSpatialReferenceH, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 89
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_set_csv_loc'):
-    GPJ_set_csv_loc = _libs['grass_gproj.7.0.svn'].GPJ_set_csv_loc
-    GPJ_set_csv_loc.restype = ReturnString
-    GPJ_set_csv_loc.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 93
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_datum_by_name'):
-    GPJ_get_datum_by_name = _libs['grass_gproj.7.0.svn'].GPJ_get_datum_by_name
-    GPJ_get_datum_by_name.restype = c_int
-    GPJ_get_datum_by_name.argtypes = [String, POINTER(struct_gpj_datum)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 94
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_default_datum_params_by_name'):
-    GPJ_get_default_datum_params_by_name = _libs['grass_gproj.7.0.svn'].GPJ_get_default_datum_params_by_name
-    GPJ_get_default_datum_params_by_name.restype = c_int
-    GPJ_get_default_datum_params_by_name.argtypes = [String, POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 95
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_datum_params'):
-    GPJ_get_datum_params = _libs['grass_gproj.7.0.svn'].GPJ_get_datum_params
-    GPJ_get_datum_params.restype = c_int
-    GPJ_get_datum_params.argtypes = [POINTER(POINTER(c_char)), POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 96
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ__get_datum_params'):
-    GPJ__get_datum_params = _libs['grass_gproj.7.0.svn'].GPJ__get_datum_params
-    GPJ__get_datum_params.restype = c_int
-    GPJ__get_datum_params.argtypes = [POINTER(struct_Key_Value), POINTER(POINTER(c_char)), POINTER(POINTER(c_char))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 97
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_free_datum'):
-    GPJ_free_datum = _libs['grass_gproj.7.0.svn'].GPJ_free_datum
-    GPJ_free_datum.restype = None
-    GPJ_free_datum.argtypes = [POINTER(struct_gpj_datum)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 98
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_datum_transform_by_name'):
-    GPJ_get_datum_transform_by_name = _libs['grass_gproj.7.0.svn'].GPJ_get_datum_transform_by_name
-    GPJ_get_datum_transform_by_name.restype = POINTER(struct_gpj_datum_transform_list)
-    GPJ_get_datum_transform_by_name.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 99
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_free_datum_transform'):
-    GPJ_free_datum_transform = _libs['grass_gproj.7.0.svn'].GPJ_free_datum_transform
-    GPJ_free_datum_transform.restype = None
-    GPJ_free_datum_transform.argtypes = [POINTER(struct_gpj_datum_transform_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 102
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_ellipsoid_by_name'):
-    GPJ_get_ellipsoid_by_name = _libs['grass_gproj.7.0.svn'].GPJ_get_ellipsoid_by_name
-    GPJ_get_ellipsoid_by_name.restype = c_int
-    GPJ_get_ellipsoid_by_name.argtypes = [String, POINTER(struct_gpj_ellps)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 103
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_get_ellipsoid_params'):
-    GPJ_get_ellipsoid_params = _libs['grass_gproj.7.0.svn'].GPJ_get_ellipsoid_params
-    GPJ_get_ellipsoid_params.restype = c_int
-    GPJ_get_ellipsoid_params.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 104
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ__get_ellipsoid_params'):
-    GPJ__get_ellipsoid_params = _libs['grass_gproj.7.0.svn'].GPJ__get_ellipsoid_params
-    GPJ__get_ellipsoid_params.restype = c_int
-    GPJ__get_ellipsoid_params.argtypes = [POINTER(struct_Key_Value), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 106
-if hasattr(_libs['grass_gproj.7.0.svn'], 'GPJ_free_ellps'):
-    GPJ_free_ellps = _libs['grass_gproj.7.0.svn'].GPJ_free_ellps
-    GPJ_free_ellps.restype = None
-    GPJ_free_ellps.argtypes = [POINTER(struct_gpj_ellps)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 113
-class struct_anon_44(Structure):
-    pass
-
-struct_anon_44.__slots__ = [
-    'u',
-    'v',
-]
-struct_anon_44._fields_ = [
-    ('u', c_double),
-    ('v', c_double),
-]
-
-LP = struct_anon_44 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 113
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 115
-class struct_DERIVS(Structure):
-    pass
-
-struct_DERIVS.__slots__ = [
-    'x_l',
-    'x_p',
-    'y_l',
-    'y_p',
-]
-struct_DERIVS._fields_ = [
-    ('x_l', c_double),
-    ('x_p', c_double),
-    ('y_l', c_double),
-    ('y_p', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 120
-class struct_FACTORS(Structure):
-    pass
-
-struct_FACTORS.__slots__ = [
-    'der',
-    'h',
-    'k',
-    'omega',
-    'thetap',
-    'conv',
-    's',
-    'a',
-    'b',
-    'code',
-]
-struct_FACTORS._fields_ = [
-    ('der', struct_DERIVS),
-    ('h', c_double),
-    ('k', c_double),
-    ('omega', c_double),
-    ('thetap', c_double),
-    ('conv', c_double),
-    ('s', c_double),
-    ('a', c_double),
-    ('b', c_double),
-    ('code', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 130
-if hasattr(_libs['grass_gproj.7.0.svn'], 'pj_factors'):
-    pj_factors = _libs['grass_gproj.7.0.svn'].pj_factors
-    pj_factors.restype = c_int
-    pj_factors.argtypes = [LP, POINTER(None), c_double, POINTER(struct_FACTORS)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 27
-try:
-    ELLIPSOIDTABLE = '/etc/ellipse.table'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 27
-try:
-    DATUMTABLE = '/etc/datum.table'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 27
-try:
-    DATUMTRANSFORMTABLE = '/etc/datumtransform.table'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 28
-try:
-    GRIDDIR = '/etc/nad'
-except:
-    pass
-
-pj_info = struct_pj_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 33
-
-gpj_datum = struct_gpj_datum # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 41
-
-gpj_datum_transform_list = struct_gpj_datum_transform_list # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 47
-
-gpj_ellps = struct_gpj_ellps # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 63
-
-Key_Value = struct_Key_Value # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 75
-
-Cell_head = struct_Cell_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 85
-
-DERIVS = struct_DERIVS # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 115
-
-FACTORS = struct_FACTORS # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gprojects.h: 120
-
-# No inserted files
-
diff --git a/lib/python/ctypes/raster.py b/lib/python/ctypes/raster.py
deleted file mode 100644
index cc9a300..0000000
--- a/lib/python/ctypes/raster.py
+++ /dev/null
@@ -1,3597 +0,0 @@
-'''Wrapper for raster.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_raster.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h -o raster.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_raster.7.0.svn"] = load_library("grass_raster.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-CELL = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 402
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-FCELL = c_float # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 404
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-RASTER_MAP_TYPE = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 22
-
-INTERP_TYPE = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 25
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 28
-class struct_Reclass(Structure):
-    pass
-
-struct_Reclass.__slots__ = [
-    'name',
-    'mapset',
-    'type',
-    'num',
-    'min',
-    'max',
-    'table',
-]
-struct_Reclass._fields_ = [
-    ('name', String),
-    ('mapset', String),
-    ('type', c_int),
-    ('num', c_int),
-    ('min', CELL),
-    ('max', CELL),
-    ('table', POINTER(CELL)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 39
-class struct_FPReclass_table(Structure):
-    pass
-
-struct_FPReclass_table.__slots__ = [
-    'dLow',
-    'dHigh',
-    'rLow',
-    'rHigh',
-]
-struct_FPReclass_table._fields_ = [
-    ('dLow', DCELL),
-    ('dHigh', DCELL),
-    ('rLow', DCELL),
-    ('rHigh', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 49
-class struct_FPReclass(Structure):
-    pass
-
-struct_FPReclass.__slots__ = [
-    'defaultDRuleSet',
-    'defaultRRuleSet',
-    'infiniteLeftSet',
-    'infiniteRightSet',
-    'rRangeSet',
-    'maxNofRules',
-    'nofRules',
-    'defaultDMin',
-    'defaultDMax',
-    'defaultRMin',
-    'defaultRMax',
-    'infiniteDLeft',
-    'infiniteDRight',
-    'infiniteRLeft',
-    'infiniteRRight',
-    'dMin',
-    'dMax',
-    'rMin',
-    'rMax',
-    'table',
-]
-struct_FPReclass._fields_ = [
-    ('defaultDRuleSet', c_int),
-    ('defaultRRuleSet', c_int),
-    ('infiniteLeftSet', c_int),
-    ('infiniteRightSet', c_int),
-    ('rRangeSet', c_int),
-    ('maxNofRules', c_int),
-    ('nofRules', c_int),
-    ('defaultDMin', DCELL),
-    ('defaultDMax', DCELL),
-    ('defaultRMin', DCELL),
-    ('defaultRMax', DCELL),
-    ('infiniteDLeft', DCELL),
-    ('infiniteDRight', DCELL),
-    ('infiniteRLeft', DCELL),
-    ('infiniteRRight', DCELL),
-    ('dMin', DCELL),
-    ('dMax', DCELL),
-    ('rMin', DCELL),
-    ('rMax', DCELL),
-    ('table', POINTER(struct_FPReclass_table)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 73
-class struct_Quant_table(Structure):
-    pass
-
-struct_Quant_table.__slots__ = [
-    'dLow',
-    'dHigh',
-    'cLow',
-    'cHigh',
-]
-struct_Quant_table._fields_ = [
-    ('dLow', DCELL),
-    ('dHigh', DCELL),
-    ('cLow', CELL),
-    ('cHigh', CELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 106
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-    'inf_dmin',
-    'inf_dmax',
-    'inf_min',
-    'inf_max',
-]
-struct_anon_23._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct_Quant_table))),
-    ('nalloc', c_int),
-    ('active', c_int),
-    ('inf_dmin', DCELL),
-    ('inf_dmax', DCELL),
-    ('inf_min', CELL),
-    ('inf_max', CELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 81
-class struct_Quant(Structure):
-    pass
-
-struct_Quant.__slots__ = [
-    'truncate_only',
-    'round_only',
-    'defaultDRuleSet',
-    'defaultCRuleSet',
-    'infiniteLeftSet',
-    'infiniteRightSet',
-    'cRangeSet',
-    'maxNofRules',
-    'nofRules',
-    'defaultDMin',
-    'defaultDMax',
-    'defaultCMin',
-    'defaultCMax',
-    'infiniteDLeft',
-    'infiniteDRight',
-    'infiniteCLeft',
-    'infiniteCRight',
-    'dMin',
-    'dMax',
-    'cMin',
-    'cMax',
-    'table',
-    'fp_lookup',
-]
-struct_Quant._fields_ = [
-    ('truncate_only', c_int),
-    ('round_only', c_int),
-    ('defaultDRuleSet', c_int),
-    ('defaultCRuleSet', c_int),
-    ('infiniteLeftSet', c_int),
-    ('infiniteRightSet', c_int),
-    ('cRangeSet', c_int),
-    ('maxNofRules', c_int),
-    ('nofRules', c_int),
-    ('defaultDMin', DCELL),
-    ('defaultDMax', DCELL),
-    ('defaultCMin', CELL),
-    ('defaultCMax', CELL),
-    ('infiniteDLeft', DCELL),
-    ('infiniteDRight', DCELL),
-    ('infiniteCLeft', CELL),
-    ('infiniteCRight', CELL),
-    ('dMin', DCELL),
-    ('dMax', DCELL),
-    ('cMin', CELL),
-    ('cMax', CELL),
-    ('table', POINTER(struct_Quant_table)),
-    ('fp_lookup', struct_anon_23),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 124
-class struct_Categories(Structure):
-    pass
-
-struct_Categories.__slots__ = [
-    'ncats',
-    'num',
-    'title',
-    'fmt',
-    'm1',
-    'a1',
-    'm2',
-    'a2',
-    'q',
-    'labels',
-    'marks',
-    'nalloc',
-    'last_marked_rule',
-]
-struct_Categories._fields_ = [
-    ('ncats', CELL),
-    ('num', CELL),
-    ('title', String),
-    ('fmt', String),
-    ('m1', c_float),
-    ('a1', c_float),
-    ('m2', c_float),
-    ('a2', c_float),
-    ('q', struct_Quant),
-    ('labels', POINTER(POINTER(c_char))),
-    ('marks', POINTER(c_int)),
-    ('nalloc', c_int),
-    ('last_marked_rule', c_int),
-]
-
-enum_History_field = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPID = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_TITLE = (HIST_MAPID + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPSET = (HIST_TITLE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_CREATOR = (HIST_MAPSET + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_MAPTYPE = (HIST_CREATOR + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_DATSRC_1 = (HIST_MAPTYPE + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_DATSRC_2 = (HIST_DATSRC_1 + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_KEYWRD = (HIST_DATSRC_2 + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-HIST_NUM_FIELDS = (HIST_KEYWRD + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 150
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 164
-class struct_History(Structure):
-    pass
-
-struct_History.__slots__ = [
-    'fields',
-    'nlines',
-    'lines',
-]
-struct_History._fields_ = [
-    ('fields', POINTER(c_char) * HIST_NUM_FIELDS),
-    ('nlines', c_int),
-    ('lines', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 173
-class struct_Cell_stats_node(Structure):
-    pass
-
-struct_Cell_stats_node.__slots__ = [
-    'idx',
-    'count',
-    'left',
-    'right',
-]
-struct_Cell_stats_node._fields_ = [
-    ('idx', c_int),
-    ('count', POINTER(c_long)),
-    ('left', c_int),
-    ('right', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 171
-class struct_Cell_stats(Structure):
-    pass
-
-struct_Cell_stats.__slots__ = [
-    'node',
-    'tlen',
-    'N',
-    'curp',
-    'null_data_count',
-    'curoffset',
-]
-struct_Cell_stats._fields_ = [
-    ('node', POINTER(struct_Cell_stats_node)),
-    ('tlen', c_int),
-    ('N', c_int),
-    ('curp', c_int),
-    ('null_data_count', c_long),
-    ('curoffset', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 192
-class struct_Histogram_list(Structure):
-    pass
-
-struct_Histogram_list.__slots__ = [
-    'cat',
-    'count',
-]
-struct_Histogram_list._fields_ = [
-    ('cat', CELL),
-    ('count', c_long),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 188
-class struct_Histogram(Structure):
-    pass
-
-struct_Histogram.__slots__ = [
-    'num',
-    'list',
-]
-struct_Histogram._fields_ = [
-    ('num', c_int),
-    ('list', POINTER(struct_Histogram_list)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 199
-class struct_Range(Structure):
-    pass
-
-struct_Range.__slots__ = [
-    'min',
-    'max',
-    'first_time',
-]
-struct_Range._fields_ = [
-    ('min', CELL),
-    ('max', CELL),
-    ('first_time', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 206
-class struct_FPRange(Structure):
-    pass
-
-struct_FPRange.__slots__ = [
-    'min',
-    'max',
-    'first_time',
-]
-struct_FPRange._fields_ = [
-    ('min', DCELL),
-    ('max', DCELL),
-    ('first_time', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 213
-class struct_FP_stats(Structure):
-    pass
-
-struct_FP_stats.__slots__ = [
-    'geometric',
-    'geom_abs',
-    'flip',
-    'count',
-    'min',
-    'max',
-    'stats',
-    'total',
-]
-struct_FP_stats._fields_ = [
-    ('geometric', c_int),
-    ('geom_abs', c_int),
-    ('flip', c_int),
-    ('count', c_int),
-    ('min', DCELL),
-    ('max', DCELL),
-    ('stats', POINTER(c_ulong)),
-    ('total', c_ulong),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-class struct_GDAL_link(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 228
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'r',
-    'g',
-    'b',
-    'a',
-]
-struct_anon_24._fields_ = [
-    ('r', c_ubyte),
-    ('g', c_ubyte),
-    ('b', c_ubyte),
-    ('a', c_ubyte),
-]
-
-RGBA_Color = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 228
-
-RGB_Color = RGBA_Color # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 230
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 9
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_align_window'):
-    Rast_align_window = _libs['grass_raster.7.0.svn'].Rast_align_window
-    Rast_align_window.restype = None
-    Rast_align_window.argtypes = [POINTER(struct_Cell_head), POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 12
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_cell_size'):
-    Rast_cell_size = _libs['grass_raster.7.0.svn'].Rast_cell_size
-    Rast_cell_size.restype = c_size_t
-    Rast_cell_size.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 13
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_buf'):
-    Rast_allocate_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_buf
-    Rast_allocate_buf.restype = POINTER(None)
-    Rast_allocate_buf.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 14
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_c_buf'):
-    Rast_allocate_c_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_c_buf
-    Rast_allocate_c_buf.restype = POINTER(CELL)
-    Rast_allocate_c_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 15
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_f_buf'):
-    Rast_allocate_f_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_f_buf
-    Rast_allocate_f_buf.restype = POINTER(FCELL)
-    Rast_allocate_f_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 16
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_d_buf'):
-    Rast_allocate_d_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_d_buf
-    Rast_allocate_d_buf.restype = POINTER(DCELL)
-    Rast_allocate_d_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 17
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_null_buf'):
-    Rast_allocate_null_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_null_buf
-    Rast_allocate_null_buf.restype = ReturnString
-    Rast_allocate_null_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 18
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__allocate_null_bits'):
-    Rast__allocate_null_bits = _libs['grass_raster.7.0.svn'].Rast__allocate_null_bits
-    Rast__allocate_null_bits.restype = POINTER(c_ubyte)
-    Rast__allocate_null_bits.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 19
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__null_bitstream_size'):
-    Rast__null_bitstream_size = _libs['grass_raster.7.0.svn'].Rast__null_bitstream_size
-    Rast__null_bitstream_size.restype = c_int
-    Rast__null_bitstream_size.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 21
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_input_buf'):
-    Rast_allocate_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_input_buf
-    Rast_allocate_input_buf.restype = POINTER(None)
-    Rast_allocate_input_buf.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 22
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_c_input_buf'):
-    Rast_allocate_c_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_c_input_buf
-    Rast_allocate_c_input_buf.restype = POINTER(CELL)
-    Rast_allocate_c_input_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 23
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_f_input_buf'):
-    Rast_allocate_f_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_f_input_buf
-    Rast_allocate_f_input_buf.restype = POINTER(FCELL)
-    Rast_allocate_f_input_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 24
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_d_input_buf'):
-    Rast_allocate_d_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_d_input_buf
-    Rast_allocate_d_input_buf.restype = POINTER(DCELL)
-    Rast_allocate_d_input_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 25
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_null_input_buf'):
-    Rast_allocate_null_input_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_null_input_buf
-    Rast_allocate_null_input_buf.restype = ReturnString
-    Rast_allocate_null_input_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 27
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_output_buf'):
-    Rast_allocate_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_output_buf
-    Rast_allocate_output_buf.restype = POINTER(None)
-    Rast_allocate_output_buf.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 28
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_c_output_buf'):
-    Rast_allocate_c_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_c_output_buf
-    Rast_allocate_c_output_buf.restype = POINTER(CELL)
-    Rast_allocate_c_output_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 29
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_f_output_buf'):
-    Rast_allocate_f_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_f_output_buf
-    Rast_allocate_f_output_buf.restype = POINTER(FCELL)
-    Rast_allocate_f_output_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 30
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_d_output_buf'):
-    Rast_allocate_d_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_d_output_buf
-    Rast_allocate_d_output_buf.restype = POINTER(DCELL)
-    Rast_allocate_d_output_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 31
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_allocate_null_output_buf'):
-    Rast_allocate_null_output_buf = _libs['grass_raster.7.0.svn'].Rast_allocate_null_output_buf
-    Rast_allocate_null_output_buf.restype = ReturnString
-    Rast_allocate_null_output_buf.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 34
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_for_auto_masking'):
-    Rast__check_for_auto_masking = _libs['grass_raster.7.0.svn'].Rast__check_for_auto_masking
-    Rast__check_for_auto_masking.restype = c_int
-    Rast__check_for_auto_masking.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 35
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_suppress_masking'):
-    Rast_suppress_masking = _libs['grass_raster.7.0.svn'].Rast_suppress_masking
-    Rast_suppress_masking.restype = None
-    Rast_suppress_masking.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 36
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_unsuppress_masking'):
-    Rast_unsuppress_masking = _libs['grass_raster.7.0.svn'].Rast_unsuppress_masking
-    Rast_unsuppress_masking.restype = None
-    Rast_unsuppress_masking.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 39
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_cats'):
-    Rast_read_cats = _libs['grass_raster.7.0.svn'].Rast_read_cats
-    Rast_read_cats.restype = c_int
-    Rast_read_cats.argtypes = [String, String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 40
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_vector_cats'):
-    Rast_read_vector_cats = _libs['grass_raster.7.0.svn'].Rast_read_vector_cats
-    Rast_read_vector_cats.restype = c_int
-    Rast_read_vector_cats.argtypes = [String, String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 41
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_max_c_cat'):
-    Rast_get_max_c_cat = _libs['grass_raster.7.0.svn'].Rast_get_max_c_cat
-    Rast_get_max_c_cat.restype = CELL
-    Rast_get_max_c_cat.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 42
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cats_title'):
-    Rast_get_cats_title = _libs['grass_raster.7.0.svn'].Rast_get_cats_title
-    Rast_get_cats_title.restype = ReturnString
-    Rast_get_cats_title.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 43
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_cat'):
-    Rast_get_c_cat = _libs['grass_raster.7.0.svn'].Rast_get_c_cat
-    Rast_get_c_cat.restype = ReturnString
-    Rast_get_c_cat.argtypes = [POINTER(CELL), POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 44
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_cat'):
-    Rast_get_f_cat = _libs['grass_raster.7.0.svn'].Rast_get_f_cat
-    Rast_get_f_cat.restype = ReturnString
-    Rast_get_f_cat.argtypes = [POINTER(FCELL), POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 45
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_cat'):
-    Rast_get_d_cat = _libs['grass_raster.7.0.svn'].Rast_get_d_cat
-    Rast_get_d_cat.restype = ReturnString
-    Rast_get_d_cat.argtypes = [POINTER(DCELL), POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 46
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cat'):
-    Rast_get_cat = _libs['grass_raster.7.0.svn'].Rast_get_cat
-    Rast_get_cat.restype = ReturnString
-    Rast_get_cat.argtypes = [POINTER(None), POINTER(struct_Categories), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 47
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_unmark_cats'):
-    Rast_unmark_cats = _libs['grass_raster.7.0.svn'].Rast_unmark_cats
-    Rast_unmark_cats.restype = None
-    Rast_unmark_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 48
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_c_cats'):
-    Rast_mark_c_cats = _libs['grass_raster.7.0.svn'].Rast_mark_c_cats
-    Rast_mark_c_cats.restype = None
-    Rast_mark_c_cats.argtypes = [POINTER(CELL), c_int, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 49
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_f_cats'):
-    Rast_mark_f_cats = _libs['grass_raster.7.0.svn'].Rast_mark_f_cats
-    Rast_mark_f_cats.restype = None
-    Rast_mark_f_cats.argtypes = [POINTER(FCELL), c_int, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 50
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_d_cats'):
-    Rast_mark_d_cats = _libs['grass_raster.7.0.svn'].Rast_mark_d_cats
-    Rast_mark_d_cats.restype = None
-    Rast_mark_d_cats.argtypes = [POINTER(DCELL), c_int, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 51
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_cats'):
-    Rast_mark_cats = _libs['grass_raster.7.0.svn'].Rast_mark_cats
-    Rast_mark_cats.restype = c_int
-    Rast_mark_cats.argtypes = [POINTER(None), c_int, POINTER(struct_Categories), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 52
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_rewind_cats'):
-    Rast_rewind_cats = _libs['grass_raster.7.0.svn'].Rast_rewind_cats
-    Rast_rewind_cats.restype = None
-    Rast_rewind_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 53
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_next_marked_d_cat'):
-    Rast_get_next_marked_d_cat = _libs['grass_raster.7.0.svn'].Rast_get_next_marked_d_cat
-    Rast_get_next_marked_d_cat.restype = ReturnString
-    Rast_get_next_marked_d_cat.argtypes = [POINTER(struct_Categories), POINTER(DCELL), POINTER(DCELL), POINTER(c_long)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 55
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_next_marked_c_cat'):
-    Rast_get_next_marked_c_cat = _libs['grass_raster.7.0.svn'].Rast_get_next_marked_c_cat
-    Rast_get_next_marked_c_cat.restype = ReturnString
-    Rast_get_next_marked_c_cat.argtypes = [POINTER(struct_Categories), POINTER(CELL), POINTER(CELL), POINTER(c_long)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 57
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_next_marked_f_cat'):
-    Rast_get_next_marked_f_cat = _libs['grass_raster.7.0.svn'].Rast_get_next_marked_f_cat
-    Rast_get_next_marked_f_cat.restype = ReturnString
-    Rast_get_next_marked_f_cat.argtypes = [POINTER(struct_Categories), POINTER(FCELL), POINTER(FCELL), POINTER(c_long)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 59
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_next_marked_cat'):
-    Rast_get_next_marked_cat = _libs['grass_raster.7.0.svn'].Rast_get_next_marked_cat
-    Rast_get_next_marked_cat.restype = ReturnString
-    Rast_get_next_marked_cat.argtypes = [POINTER(struct_Categories), POINTER(None), POINTER(None), POINTER(c_long), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 61
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_cat'):
-    Rast_set_c_cat = _libs['grass_raster.7.0.svn'].Rast_set_c_cat
-    Rast_set_c_cat.restype = c_int
-    Rast_set_c_cat.argtypes = [POINTER(CELL), POINTER(CELL), String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 62
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_f_cat'):
-    Rast_set_f_cat = _libs['grass_raster.7.0.svn'].Rast_set_f_cat
-    Rast_set_f_cat.restype = c_int
-    Rast_set_f_cat.argtypes = [POINTER(FCELL), POINTER(FCELL), String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 63
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_cat'):
-    Rast_set_d_cat = _libs['grass_raster.7.0.svn'].Rast_set_d_cat
-    Rast_set_d_cat.restype = c_int
-    Rast_set_d_cat.argtypes = [POINTER(DCELL), POINTER(DCELL), String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 64
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_cat'):
-    Rast_set_cat = _libs['grass_raster.7.0.svn'].Rast_set_cat
-    Rast_set_cat.restype = c_int
-    Rast_set_cat.argtypes = [POINTER(None), POINTER(None), String, POINTER(struct_Categories), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 66
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_cats'):
-    Rast_write_cats = _libs['grass_raster.7.0.svn'].Rast_write_cats
-    Rast_write_cats.restype = None
-    Rast_write_cats.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 67
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_vector_cats'):
-    Rast_write_vector_cats = _libs['grass_raster.7.0.svn'].Rast_write_vector_cats
-    Rast_write_vector_cats.restype = None
-    Rast_write_vector_cats.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 68
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_ith_d_cat'):
-    Rast_get_ith_d_cat = _libs['grass_raster.7.0.svn'].Rast_get_ith_d_cat
-    Rast_get_ith_d_cat.restype = ReturnString
-    Rast_get_ith_d_cat.argtypes = [POINTER(struct_Categories), c_int, POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 70
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_ith_f_cat'):
-    Rast_get_ith_f_cat = _libs['grass_raster.7.0.svn'].Rast_get_ith_f_cat
-    Rast_get_ith_f_cat.restype = ReturnString
-    Rast_get_ith_f_cat.argtypes = [POINTER(struct_Categories), c_int, POINTER(None), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 71
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_ith_c_cat'):
-    Rast_get_ith_c_cat = _libs['grass_raster.7.0.svn'].Rast_get_ith_c_cat
-    Rast_get_ith_c_cat.restype = ReturnString
-    Rast_get_ith_c_cat.argtypes = [POINTER(struct_Categories), c_int, POINTER(None), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 72
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_ith_cat'):
-    Rast_get_ith_cat = _libs['grass_raster.7.0.svn'].Rast_get_ith_cat
-    Rast_get_ith_cat.restype = ReturnString
-    Rast_get_ith_cat.argtypes = [POINTER(struct_Categories), c_int, POINTER(None), POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 74
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_cats'):
-    Rast_init_cats = _libs['grass_raster.7.0.svn'].Rast_init_cats
-    Rast_init_cats.restype = None
-    Rast_init_cats.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 75
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_cats_title'):
-    Rast_set_cats_title = _libs['grass_raster.7.0.svn'].Rast_set_cats_title
-    Rast_set_cats_title.restype = None
-    Rast_set_cats_title.argtypes = [String, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 76
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_cats_fmt'):
-    Rast_set_cats_fmt = _libs['grass_raster.7.0.svn'].Rast_set_cats_fmt
-    Rast_set_cats_fmt.restype = None
-    Rast_set_cats_fmt.argtypes = [String, c_double, c_double, c_double, c_double, POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 78
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_cats'):
-    Rast_free_cats = _libs['grass_raster.7.0.svn'].Rast_free_cats
-    Rast_free_cats.restype = None
-    Rast_free_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 79
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_copy_cats'):
-    Rast_copy_cats = _libs['grass_raster.7.0.svn'].Rast_copy_cats
-    Rast_copy_cats.restype = None
-    Rast_copy_cats.argtypes = [POINTER(struct_Categories), POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 80
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_number_of_cats'):
-    Rast_number_of_cats = _libs['grass_raster.7.0.svn'].Rast_number_of_cats
-    Rast_number_of_cats.restype = c_int
-    Rast_number_of_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 81
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_sort_cats'):
-    Rast_sort_cats = _libs['grass_raster.7.0.svn'].Rast_sort_cats
-    Rast_sort_cats.restype = c_int
-    Rast_sort_cats.argtypes = [POINTER(struct_Categories)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 84
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_cell_stats'):
-    Rast_init_cell_stats = _libs['grass_raster.7.0.svn'].Rast_init_cell_stats
-    Rast_init_cell_stats.restype = None
-    Rast_init_cell_stats.argtypes = [POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 85
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_update_cell_stats'):
-    Rast_update_cell_stats = _libs['grass_raster.7.0.svn'].Rast_update_cell_stats
-    Rast_update_cell_stats.restype = c_int
-    Rast_update_cell_stats.argtypes = [POINTER(CELL), c_int, POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 86
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_find_cell_stat'):
-    Rast_find_cell_stat = _libs['grass_raster.7.0.svn'].Rast_find_cell_stat
-    Rast_find_cell_stat.restype = c_int
-    Rast_find_cell_stat.argtypes = [CELL, POINTER(c_long), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 87
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_rewind_cell_stats'):
-    Rast_rewind_cell_stats = _libs['grass_raster.7.0.svn'].Rast_rewind_cell_stats
-    Rast_rewind_cell_stats.restype = c_int
-    Rast_rewind_cell_stats.argtypes = [POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 88
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_next_cell_stat'):
-    Rast_next_cell_stat = _libs['grass_raster.7.0.svn'].Rast_next_cell_stat
-    Rast_next_cell_stat.restype = c_int
-    Rast_next_cell_stat.argtypes = [POINTER(CELL), POINTER(c_long), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 89
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_stats_for_null_value'):
-    Rast_get_stats_for_null_value = _libs['grass_raster.7.0.svn'].Rast_get_stats_for_null_value
-    Rast_get_stats_for_null_value.restype = None
-    Rast_get_stats_for_null_value.argtypes = [POINTER(c_long), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 90
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_cell_stats'):
-    Rast_free_cell_stats = _libs['grass_raster.7.0.svn'].Rast_free_cell_stats
-    Rast_free_cell_stats.restype = None
-    Rast_free_cell_stats.argtypes = [POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 93
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cell_title'):
-    Rast_get_cell_title = _libs['grass_raster.7.0.svn'].Rast_get_cell_title
-    Rast_get_cell_title.restype = ReturnString
-    Rast_get_cell_title.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 96
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_cell_stats_histo_eq'):
-    Rast_cell_stats_histo_eq = _libs['grass_raster.7.0.svn'].Rast_cell_stats_histo_eq
-    Rast_cell_stats_histo_eq.restype = c_int
-    Rast_cell_stats_histo_eq.argtypes = [POINTER(struct_Cell_stats), CELL, CELL, CELL, CELL, c_int, CFUNCTYPE(UNCHECKED(None), CELL, CELL, CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 100
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_close'):
-    Rast_close = _libs['grass_raster.7.0.svn'].Rast_close
-    Rast_close.restype = None
-    Rast_close.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 101
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_unopen'):
-    Rast_unopen = _libs['grass_raster.7.0.svn'].Rast_unopen
-    Rast_unopen.restype = None
-    Rast_unopen.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 102
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__unopen_all'):
-    Rast__unopen_all = _libs['grass_raster.7.0.svn'].Rast__unopen_all
-    Rast__unopen_all.restype = None
-    Rast__unopen_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 105
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_ryg_colors'):
-    Rast_make_ryg_colors = _libs['grass_raster.7.0.svn'].Rast_make_ryg_colors
-    Rast_make_ryg_colors.restype = None
-    Rast_make_ryg_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 106
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_ryg_fp_colors'):
-    Rast_make_ryg_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_ryg_fp_colors
-    Rast_make_ryg_fp_colors.restype = None
-    Rast_make_ryg_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 107
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_aspect_colors'):
-    Rast_make_aspect_colors = _libs['grass_raster.7.0.svn'].Rast_make_aspect_colors
-    Rast_make_aspect_colors.restype = None
-    Rast_make_aspect_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 108
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_aspect_fp_colors'):
-    Rast_make_aspect_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_aspect_fp_colors
-    Rast_make_aspect_fp_colors.restype = None
-    Rast_make_aspect_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 109
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_byr_colors'):
-    Rast_make_byr_colors = _libs['grass_raster.7.0.svn'].Rast_make_byr_colors
-    Rast_make_byr_colors.restype = None
-    Rast_make_byr_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 110
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_byr_fp_colors'):
-    Rast_make_byr_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_byr_fp_colors
-    Rast_make_byr_fp_colors.restype = None
-    Rast_make_byr_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 111
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_bgyr_colors'):
-    Rast_make_bgyr_colors = _libs['grass_raster.7.0.svn'].Rast_make_bgyr_colors
-    Rast_make_bgyr_colors.restype = None
-    Rast_make_bgyr_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 112
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_bgyr_fp_colors'):
-    Rast_make_bgyr_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_bgyr_fp_colors
-    Rast_make_bgyr_fp_colors.restype = None
-    Rast_make_bgyr_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 113
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_byg_colors'):
-    Rast_make_byg_colors = _libs['grass_raster.7.0.svn'].Rast_make_byg_colors
-    Rast_make_byg_colors.restype = None
-    Rast_make_byg_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 114
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_byg_fp_colors'):
-    Rast_make_byg_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_byg_fp_colors
-    Rast_make_byg_fp_colors.restype = None
-    Rast_make_byg_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 115
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_grey_scale_colors'):
-    Rast_make_grey_scale_colors = _libs['grass_raster.7.0.svn'].Rast_make_grey_scale_colors
-    Rast_make_grey_scale_colors.restype = None
-    Rast_make_grey_scale_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 116
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_grey_scale_fp_colors'):
-    Rast_make_grey_scale_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_grey_scale_fp_colors
-    Rast_make_grey_scale_fp_colors.restype = None
-    Rast_make_grey_scale_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 117
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_gyr_colors'):
-    Rast_make_gyr_colors = _libs['grass_raster.7.0.svn'].Rast_make_gyr_colors
-    Rast_make_gyr_colors.restype = None
-    Rast_make_gyr_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 118
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_gyr_fp_colors'):
-    Rast_make_gyr_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_gyr_fp_colors
-    Rast_make_gyr_fp_colors.restype = None
-    Rast_make_gyr_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 119
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_rainbow_colors'):
-    Rast_make_rainbow_colors = _libs['grass_raster.7.0.svn'].Rast_make_rainbow_colors
-    Rast_make_rainbow_colors.restype = None
-    Rast_make_rainbow_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 120
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_rainbow_fp_colors'):
-    Rast_make_rainbow_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_rainbow_fp_colors
-    Rast_make_rainbow_fp_colors.restype = None
-    Rast_make_rainbow_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 121
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_ramp_colors'):
-    Rast_make_ramp_colors = _libs['grass_raster.7.0.svn'].Rast_make_ramp_colors
-    Rast_make_ramp_colors.restype = None
-    Rast_make_ramp_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 122
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_ramp_fp_colors'):
-    Rast_make_ramp_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_ramp_fp_colors
-    Rast_make_ramp_fp_colors.restype = None
-    Rast_make_ramp_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 123
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_wave_colors'):
-    Rast_make_wave_colors = _libs['grass_raster.7.0.svn'].Rast_make_wave_colors
-    Rast_make_wave_colors.restype = None
-    Rast_make_wave_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 124
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_wave_fp_colors'):
-    Rast_make_wave_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_wave_fp_colors
-    Rast_make_wave_fp_colors.restype = None
-    Rast_make_wave_fp_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 127
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_colors'):
-    Rast_free_colors = _libs['grass_raster.7.0.svn'].Rast_free_colors
-    Rast_free_colors.restype = None
-    Rast_free_colors.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 128
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__color_free_rules'):
-    Rast__color_free_rules = _libs['grass_raster.7.0.svn'].Rast__color_free_rules
-    Rast__color_free_rules.restype = None
-    Rast__color_free_rules.argtypes = [POINTER(struct__Color_Info_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 129
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__color_free_lookup'):
-    Rast__color_free_lookup = _libs['grass_raster.7.0.svn'].Rast__color_free_lookup
-    Rast__color_free_lookup.restype = None
-    Rast__color_free_lookup.argtypes = [POINTER(struct__Color_Info_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 130
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__color_free_fp_lookup'):
-    Rast__color_free_fp_lookup = _libs['grass_raster.7.0.svn'].Rast__color_free_fp_lookup
-    Rast__color_free_fp_lookup.restype = None
-    Rast__color_free_fp_lookup.argtypes = [POINTER(struct__Color_Info_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 131
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__color_reset'):
-    Rast__color_reset = _libs['grass_raster.7.0.svn'].Rast__color_reset
-    Rast__color_reset.restype = None
-    Rast__color_reset.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 134
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_color'):
-    Rast_get_color = _libs['grass_raster.7.0.svn'].Rast_get_color
-    Rast_get_color.restype = c_int
-    Rast_get_color.argtypes = [POINTER(None), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 136
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_color'):
-    Rast_get_c_color = _libs['grass_raster.7.0.svn'].Rast_get_c_color
-    Rast_get_c_color.restype = c_int
-    Rast_get_c_color.argtypes = [POINTER(CELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 137
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_color'):
-    Rast_get_f_color = _libs['grass_raster.7.0.svn'].Rast_get_f_color
-    Rast_get_f_color.restype = c_int
-    Rast_get_f_color.argtypes = [POINTER(FCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 138
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_color'):
-    Rast_get_d_color = _libs['grass_raster.7.0.svn'].Rast_get_d_color
-    Rast_get_d_color.restype = c_int
-    Rast_get_d_color.argtypes = [POINTER(DCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 139
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_null_value_color'):
-    Rast_get_null_value_color = _libs['grass_raster.7.0.svn'].Rast_get_null_value_color
-    Rast_get_null_value_color.restype = None
-    Rast_get_null_value_color.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 140
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_default_color'):
-    Rast_get_default_color = _libs['grass_raster.7.0.svn'].Rast_get_default_color
-    Rast_get_default_color.restype = None
-    Rast_get_default_color.argtypes = [POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 143
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_histogram_eq_colors'):
-    Rast_make_histogram_eq_colors = _libs['grass_raster.7.0.svn'].Rast_make_histogram_eq_colors
-    Rast_make_histogram_eq_colors.restype = None
-    Rast_make_histogram_eq_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 144
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_histogram_log_colors'):
-    Rast_make_histogram_log_colors = _libs['grass_raster.7.0.svn'].Rast_make_histogram_log_colors
-    Rast_make_histogram_log_colors.restype = None
-    Rast_make_histogram_log_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Cell_stats), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 147
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_colors'):
-    Rast_init_colors = _libs['grass_raster.7.0.svn'].Rast_init_colors
-    Rast_init_colors.restype = None
-    Rast_init_colors.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 150
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__insert_color_into_lookup'):
-    Rast__insert_color_into_lookup = _libs['grass_raster.7.0.svn'].Rast__insert_color_into_lookup
-    Rast__insert_color_into_lookup.restype = c_int
-    Rast__insert_color_into_lookup.argtypes = [CELL, c_int, c_int, c_int, POINTER(struct__Color_Info_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 153
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_invert_colors'):
-    Rast_invert_colors = _libs['grass_raster.7.0.svn'].Rast_invert_colors
-    Rast_invert_colors.restype = None
-    Rast_invert_colors.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 156
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_lookup_c_colors'):
-    Rast_lookup_c_colors = _libs['grass_raster.7.0.svn'].Rast_lookup_c_colors
-    Rast_lookup_c_colors.restype = None
-    Rast_lookup_c_colors.argtypes = [POINTER(CELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 159
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_lookup_colors'):
-    Rast_lookup_colors = _libs['grass_raster.7.0.svn'].Rast_lookup_colors
-    Rast_lookup_colors.restype = None
-    Rast_lookup_colors.argtypes = [POINTER(None), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 162
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_lookup_f_colors'):
-    Rast_lookup_f_colors = _libs['grass_raster.7.0.svn'].Rast_lookup_f_colors
-    Rast_lookup_f_colors.restype = None
-    Rast_lookup_f_colors.argtypes = [POINTER(FCELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 165
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_lookup_d_colors'):
-    Rast_lookup_d_colors = _libs['grass_raster.7.0.svn'].Rast_lookup_d_colors
-    Rast_lookup_d_colors.restype = None
-    Rast_lookup_d_colors.argtypes = [POINTER(DCELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 168
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__lookup_colors'):
-    Rast__lookup_colors = _libs['grass_raster.7.0.svn'].Rast__lookup_colors
-    Rast__lookup_colors.restype = None
-    Rast__lookup_colors.argtypes = [POINTER(None), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), c_int, POINTER(struct_Colors), c_int, c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 171
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__interpolate_color_rule'):
-    Rast__interpolate_color_rule = _libs['grass_raster.7.0.svn'].Rast__interpolate_color_rule
-    Rast__interpolate_color_rule.restype = None
-    Rast__interpolate_color_rule.argtypes = [DCELL, POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(struct__Color_Rule_)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 175
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__organize_colors'):
-    Rast__organize_colors = _libs['grass_raster.7.0.svn'].Rast__organize_colors
-    Rast__organize_colors.restype = None
-    Rast__organize_colors.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 178
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_print_colors'):
-    Rast_print_colors = _libs['grass_raster.7.0.svn'].Rast_print_colors
-    Rast_print_colors.restype = None
-    Rast_print_colors.argtypes = [POINTER(struct_Colors), DCELL, DCELL, POINTER(FILE), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 181
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_random_colors'):
-    Rast_make_random_colors = _libs['grass_raster.7.0.svn'].Rast_make_random_colors
-    Rast_make_random_colors.restype = None
-    Rast_make_random_colors.argtypes = [POINTER(struct_Colors), CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 184
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_color_range'):
-    Rast_set_c_color_range = _libs['grass_raster.7.0.svn'].Rast_set_c_color_range
-    Rast_set_c_color_range.restype = None
-    Rast_set_c_color_range.argtypes = [CELL, CELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 185
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_color_range'):
-    Rast_set_d_color_range = _libs['grass_raster.7.0.svn'].Rast_set_d_color_range
-    Rast_set_d_color_range.restype = None
-    Rast_set_d_color_range.argtypes = [DCELL, DCELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 186
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_color_range'):
-    Rast_get_c_color_range = _libs['grass_raster.7.0.svn'].Rast_get_c_color_range
-    Rast_get_c_color_range.restype = None
-    Rast_get_c_color_range.argtypes = [POINTER(CELL), POINTER(CELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 187
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_color_range'):
-    Rast_get_d_color_range = _libs['grass_raster.7.0.svn'].Rast_get_d_color_range
-    Rast_get_d_color_range.restype = None
-    Rast_get_d_color_range.argtypes = [POINTER(DCELL), POINTER(DCELL), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 190
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_colors'):
-    Rast_read_colors = _libs['grass_raster.7.0.svn'].Rast_read_colors
-    Rast_read_colors.restype = c_int
-    Rast_read_colors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 191
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__read_colors'):
-    Rast__read_colors = _libs['grass_raster.7.0.svn'].Rast__read_colors
-    Rast__read_colors.restype = c_int
-    Rast__read_colors.argtypes = [String, String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 192
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mark_colors_as_fp'):
-    Rast_mark_colors_as_fp = _libs['grass_raster.7.0.svn'].Rast_mark_colors_as_fp
-    Rast_mark_colors_as_fp.restype = None
-    Rast_mark_colors_as_fp.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 195
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_remove_colors'):
-    Rast_remove_colors = _libs['grass_raster.7.0.svn'].Rast_remove_colors
-    Rast_remove_colors.restype = c_int
-    Rast_remove_colors.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 198
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_d_color_rule'):
-    Rast_add_d_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_d_color_rule
-    Rast_add_d_color_rule.restype = None
-    Rast_add_d_color_rule.argtypes = [POINTER(DCELL), c_int, c_int, c_int, POINTER(DCELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 201
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_f_color_rule'):
-    Rast_add_f_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_f_color_rule
-    Rast_add_f_color_rule.restype = None
-    Rast_add_f_color_rule.argtypes = [POINTER(FCELL), c_int, c_int, c_int, POINTER(FCELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 204
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_c_color_rule'):
-    Rast_add_c_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_c_color_rule
-    Rast_add_c_color_rule.restype = None
-    Rast_add_c_color_rule.argtypes = [POINTER(CELL), c_int, c_int, c_int, POINTER(CELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 207
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_color_rule'):
-    Rast_add_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_color_rule
-    Rast_add_color_rule.restype = None
-    Rast_add_color_rule.argtypes = [POINTER(None), c_int, c_int, c_int, POINTER(None), c_int, c_int, c_int, POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 210
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_modular_d_color_rule'):
-    Rast_add_modular_d_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_modular_d_color_rule
-    Rast_add_modular_d_color_rule.restype = c_int
-    Rast_add_modular_d_color_rule.argtypes = [POINTER(DCELL), c_int, c_int, c_int, POINTER(DCELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 213
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_modular_f_color_rule'):
-    Rast_add_modular_f_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_modular_f_color_rule
-    Rast_add_modular_f_color_rule.restype = c_int
-    Rast_add_modular_f_color_rule.argtypes = [POINTER(FCELL), c_int, c_int, c_int, POINTER(FCELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 216
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_modular_c_color_rule'):
-    Rast_add_modular_c_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_modular_c_color_rule
-    Rast_add_modular_c_color_rule.restype = c_int
-    Rast_add_modular_c_color_rule.argtypes = [POINTER(CELL), c_int, c_int, c_int, POINTER(CELL), c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 219
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_modular_color_rule'):
-    Rast_add_modular_color_rule = _libs['grass_raster.7.0.svn'].Rast_add_modular_color_rule
-    Rast_add_modular_color_rule.restype = c_int
-    Rast_add_modular_color_rule.argtypes = [POINTER(None), c_int, c_int, c_int, POINTER(None), c_int, c_int, c_int, POINTER(struct_Colors), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 224
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_colors_count'):
-    Rast_colors_count = _libs['grass_raster.7.0.svn'].Rast_colors_count
-    Rast_colors_count.restype = c_int
-    Rast_colors_count.argtypes = [POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 225
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_fp_color_rule'):
-    Rast_get_fp_color_rule = _libs['grass_raster.7.0.svn'].Rast_get_fp_color_rule
-    Rast_get_fp_color_rule.restype = c_int
-    Rast_get_fp_color_rule.argtypes = [POINTER(DCELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(DCELL), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(struct_Colors), c_int]
-
-read_rule_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(None), DCELL, DCELL, POINTER(DCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 231
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 233
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_parse_color_rule'):
-    Rast_parse_color_rule = _libs['grass_raster.7.0.svn'].Rast_parse_color_rule
-    Rast_parse_color_rule.restype = c_int
-    Rast_parse_color_rule.argtypes = [DCELL, DCELL, String, POINTER(DCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 235
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_parse_color_rule_error'):
-    Rast_parse_color_rule_error = _libs['grass_raster.7.0.svn'].Rast_parse_color_rule_error
-    Rast_parse_color_rule_error.restype = ReturnString
-    Rast_parse_color_rule_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 236
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_color_rule'):
-    Rast_read_color_rule = _libs['grass_raster.7.0.svn'].Rast_read_color_rule
-    Rast_read_color_rule.restype = c_int
-    Rast_read_color_rule.argtypes = [POINTER(None), DCELL, DCELL, POINTER(DCELL), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 238
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_color_rules'):
-    Rast_read_color_rules = _libs['grass_raster.7.0.svn'].Rast_read_color_rules
-    Rast_read_color_rules.restype = c_int
-    Rast_read_color_rules.argtypes = [POINTER(struct_Colors), DCELL, DCELL, POINTER(read_rule_fn), POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 239
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_load_colors'):
-    Rast_load_colors = _libs['grass_raster.7.0.svn'].Rast_load_colors
-    Rast_load_colors.restype = c_int
-    Rast_load_colors.argtypes = [POINTER(struct_Colors), String, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 240
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_load_fp_colors'):
-    Rast_load_fp_colors = _libs['grass_raster.7.0.svn'].Rast_load_fp_colors
-    Rast_load_fp_colors.restype = c_int
-    Rast_load_fp_colors.argtypes = [POINTER(struct_Colors), String, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 241
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_colors'):
-    Rast_make_colors = _libs['grass_raster.7.0.svn'].Rast_make_colors
-    Rast_make_colors.restype = None
-    Rast_make_colors.argtypes = [POINTER(struct_Colors), String, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 242
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_fp_colors'):
-    Rast_make_fp_colors = _libs['grass_raster.7.0.svn'].Rast_make_fp_colors
-    Rast_make_fp_colors.restype = None
-    Rast_make_fp_colors.argtypes = [POINTER(struct_Colors), String, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 245
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_color'):
-    Rast_set_c_color = _libs['grass_raster.7.0.svn'].Rast_set_c_color
-    Rast_set_c_color.restype = None
-    Rast_set_c_color.argtypes = [CELL, c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 246
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_color'):
-    Rast_set_d_color = _libs['grass_raster.7.0.svn'].Rast_set_d_color
-    Rast_set_d_color.restype = None
-    Rast_set_d_color.argtypes = [DCELL, c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 247
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_null_value_color'):
-    Rast_set_null_value_color = _libs['grass_raster.7.0.svn'].Rast_set_null_value_color
-    Rast_set_null_value_color.restype = None
-    Rast_set_null_value_color.argtypes = [c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 248
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_default_color'):
-    Rast_set_default_color = _libs['grass_raster.7.0.svn'].Rast_set_default_color
-    Rast_set_default_color.restype = None
-    Rast_set_default_color.argtypes = [c_int, c_int, c_int, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 251
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_shift_c_colors'):
-    Rast_shift_c_colors = _libs['grass_raster.7.0.svn'].Rast_shift_c_colors
-    Rast_shift_c_colors.restype = None
-    Rast_shift_c_colors.argtypes = [CELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 252
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_shift_d_colors'):
-    Rast_shift_d_colors = _libs['grass_raster.7.0.svn'].Rast_shift_d_colors
-    Rast_shift_d_colors.restype = None
-    Rast_shift_d_colors.argtypes = [DCELL, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 255
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_colors'):
-    Rast_write_colors = _libs['grass_raster.7.0.svn'].Rast_write_colors
-    Rast_write_colors.restype = None
-    Rast_write_colors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 256
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__write_colors'):
-    Rast__write_colors = _libs['grass_raster.7.0.svn'].Rast__write_colors
-    Rast__write_colors.restype = None
-    Rast__write_colors.argtypes = [POINTER(FILE), POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 259
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_histogram_eq_colors'):
-    Rast_histogram_eq_colors = _libs['grass_raster.7.0.svn'].Rast_histogram_eq_colors
-    Rast_histogram_eq_colors.restype = None
-    Rast_histogram_eq_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Colors), POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 261
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_histogram_eq_fp_colors'):
-    Rast_histogram_eq_fp_colors = _libs['grass_raster.7.0.svn'].Rast_histogram_eq_fp_colors
-    Rast_histogram_eq_fp_colors.restype = None
-    Rast_histogram_eq_fp_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Colors), POINTER(struct_FP_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 263
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_log_colors'):
-    Rast_log_colors = _libs['grass_raster.7.0.svn'].Rast_log_colors
-    Rast_log_colors.restype = None
-    Rast_log_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Colors), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 264
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_abs_log_colors'):
-    Rast_abs_log_colors = _libs['grass_raster.7.0.svn'].Rast_abs_log_colors
-    Rast_abs_log_colors.restype = None
-    Rast_abs_log_colors.argtypes = [POINTER(struct_Colors), POINTER(struct_Colors), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 267
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_format'):
-    Rast__check_format = _libs['grass_raster.7.0.svn'].Rast__check_format
-    Rast__check_format.restype = c_int
-    Rast__check_format.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 268
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__read_row_ptrs'):
-    Rast__read_row_ptrs = _libs['grass_raster.7.0.svn'].Rast__read_row_ptrs
-    Rast__read_row_ptrs.restype = c_int
-    Rast__read_row_ptrs.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 269
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__write_row_ptrs'):
-    Rast__write_row_ptrs = _libs['grass_raster.7.0.svn'].Rast__write_row_ptrs
-    Rast__write_row_ptrs.restype = c_int
-    Rast__write_row_ptrs.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 272
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_clear'):
-    Rast_fpreclass_clear = _libs['grass_raster.7.0.svn'].Rast_fpreclass_clear
-    Rast_fpreclass_clear.restype = None
-    Rast_fpreclass_clear.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 273
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_reset'):
-    Rast_fpreclass_reset = _libs['grass_raster.7.0.svn'].Rast_fpreclass_reset
-    Rast_fpreclass_reset.restype = None
-    Rast_fpreclass_reset.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 274
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_init'):
-    Rast_fpreclass_init = _libs['grass_raster.7.0.svn'].Rast_fpreclass_init
-    Rast_fpreclass_init.restype = None
-    Rast_fpreclass_init.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 275
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_set_domain'):
-    Rast_fpreclass_set_domain = _libs['grass_raster.7.0.svn'].Rast_fpreclass_set_domain
-    Rast_fpreclass_set_domain.restype = None
-    Rast_fpreclass_set_domain.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 276
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_set_range'):
-    Rast_fpreclass_set_range = _libs['grass_raster.7.0.svn'].Rast_fpreclass_set_range
-    Rast_fpreclass_set_range.restype = None
-    Rast_fpreclass_set_range.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 277
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_limits'):
-    Rast_fpreclass_get_limits = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_limits
-    Rast_fpreclass_get_limits.restype = c_int
-    Rast_fpreclass_get_limits.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(DCELL), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 279
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_nof_rules'):
-    Rast_fpreclass_nof_rules = _libs['grass_raster.7.0.svn'].Rast_fpreclass_nof_rules
-    Rast_fpreclass_nof_rules.restype = c_int
-    Rast_fpreclass_nof_rules.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 280
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_ith_rule'):
-    Rast_fpreclass_get_ith_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_ith_rule
-    Rast_fpreclass_get_ith_rule.restype = None
-    Rast_fpreclass_get_ith_rule.argtypes = [POINTER(struct_FPReclass), c_int, POINTER(DCELL), POINTER(DCELL), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 282
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_set_neg_infinite_rule'):
-    Rast_fpreclass_set_neg_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_set_neg_infinite_rule
-    Rast_fpreclass_set_neg_infinite_rule.restype = None
-    Rast_fpreclass_set_neg_infinite_rule.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 283
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_neg_infinite_rule'):
-    Rast_fpreclass_get_neg_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_neg_infinite_rule
-    Rast_fpreclass_get_neg_infinite_rule.restype = c_int
-    Rast_fpreclass_get_neg_infinite_rule.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 285
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_set_pos_infinite_rule'):
-    Rast_fpreclass_set_pos_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_set_pos_infinite_rule
-    Rast_fpreclass_set_pos_infinite_rule.restype = None
-    Rast_fpreclass_set_pos_infinite_rule.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 286
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_pos_infinite_rule'):
-    Rast_fpreclass_get_pos_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_pos_infinite_rule
-    Rast_fpreclass_get_pos_infinite_rule.restype = c_int
-    Rast_fpreclass_get_pos_infinite_rule.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 288
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_add_rule'):
-    Rast_fpreclass_add_rule = _libs['grass_raster.7.0.svn'].Rast_fpreclass_add_rule
-    Rast_fpreclass_add_rule.restype = None
-    Rast_fpreclass_add_rule.argtypes = [POINTER(struct_FPReclass), DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 289
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_reverse_rule_order'):
-    Rast_fpreclass_reverse_rule_order = _libs['grass_raster.7.0.svn'].Rast_fpreclass_reverse_rule_order
-    Rast_fpreclass_reverse_rule_order.restype = None
-    Rast_fpreclass_reverse_rule_order.argtypes = [POINTER(struct_FPReclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 290
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_get_cell_value'):
-    Rast_fpreclass_get_cell_value = _libs['grass_raster.7.0.svn'].Rast_fpreclass_get_cell_value
-    Rast_fpreclass_get_cell_value.restype = DCELL
-    Rast_fpreclass_get_cell_value.argtypes = [POINTER(struct_FPReclass), DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 291
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_di'):
-    Rast_fpreclass_perform_di = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_di
-    Rast_fpreclass_perform_di.restype = None
-    Rast_fpreclass_perform_di.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 293
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_df'):
-    Rast_fpreclass_perform_df = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_df
-    Rast_fpreclass_perform_df.restype = None
-    Rast_fpreclass_perform_df.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 295
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_dd'):
-    Rast_fpreclass_perform_dd = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_dd
-    Rast_fpreclass_perform_dd.restype = None
-    Rast_fpreclass_perform_dd.argtypes = [POINTER(struct_FPReclass), POINTER(DCELL), POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 297
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_fi'):
-    Rast_fpreclass_perform_fi = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_fi
-    Rast_fpreclass_perform_fi.restype = None
-    Rast_fpreclass_perform_fi.argtypes = [POINTER(struct_FPReclass), POINTER(FCELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 299
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_ff'):
-    Rast_fpreclass_perform_ff = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_ff
-    Rast_fpreclass_perform_ff.restype = None
-    Rast_fpreclass_perform_ff.argtypes = [POINTER(struct_FPReclass), POINTER(FCELL), POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 301
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_fd'):
-    Rast_fpreclass_perform_fd = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_fd
-    Rast_fpreclass_perform_fd.restype = None
-    Rast_fpreclass_perform_fd.argtypes = [POINTER(struct_FPReclass), POINTER(FCELL), POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 303
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_ii'):
-    Rast_fpreclass_perform_ii = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_ii
-    Rast_fpreclass_perform_ii.restype = None
-    Rast_fpreclass_perform_ii.argtypes = [POINTER(struct_FPReclass), POINTER(CELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 305
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_if'):
-    Rast_fpreclass_perform_if = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_if
-    Rast_fpreclass_perform_if.restype = None
-    Rast_fpreclass_perform_if.argtypes = [POINTER(struct_FPReclass), POINTER(CELL), POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 307
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_fpreclass_perform_id'):
-    Rast_fpreclass_perform_id = _libs['grass_raster.7.0.svn'].Rast_fpreclass_perform_id
-    Rast_fpreclass_perform_id.restype = None
-    Rast_fpreclass_perform_id.argtypes = [POINTER(struct_FPReclass), POINTER(CELL), POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 310
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_gdal'):
-    Rast_init_gdal = _libs['grass_raster.7.0.svn'].Rast_init_gdal
-    Rast_init_gdal.restype = None
-    Rast_init_gdal.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 311
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_gdal_link'):
-    Rast_get_gdal_link = _libs['grass_raster.7.0.svn'].Rast_get_gdal_link
-    Rast_get_gdal_link.restype = POINTER(struct_GDAL_link)
-    Rast_get_gdal_link.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 312
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_create_gdal_link'):
-    Rast_create_gdal_link = _libs['grass_raster.7.0.svn'].Rast_create_gdal_link
-    Rast_create_gdal_link.restype = POINTER(struct_GDAL_link)
-    Rast_create_gdal_link.argtypes = [String, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 313
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_close_gdal_link'):
-    Rast_close_gdal_link = _libs['grass_raster.7.0.svn'].Rast_close_gdal_link
-    Rast_close_gdal_link.restype = None
-    Rast_close_gdal_link.argtypes = [POINTER(struct_GDAL_link)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 314
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_close_gdal_write_link'):
-    Rast_close_gdal_write_link = _libs['grass_raster.7.0.svn'].Rast_close_gdal_write_link
-    Rast_close_gdal_write_link.restype = c_int
-    Rast_close_gdal_write_link.argtypes = [POINTER(struct_GDAL_link)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 317
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cellhd'):
-    Rast_get_cellhd = _libs['grass_raster.7.0.svn'].Rast_get_cellhd
-    Rast_get_cellhd.restype = None
-    Rast_get_cellhd.argtypes = [String, String, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 320
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_row_nomask'):
-    Rast_get_row_nomask = _libs['grass_raster.7.0.svn'].Rast_get_row_nomask
-    Rast_get_row_nomask.restype = None
-    Rast_get_row_nomask.argtypes = [c_int, POINTER(None), c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 321
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_row_nomask'):
-    Rast_get_c_row_nomask = _libs['grass_raster.7.0.svn'].Rast_get_c_row_nomask
-    Rast_get_c_row_nomask.restype = None
-    Rast_get_c_row_nomask.argtypes = [c_int, POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 322
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_row_nomask'):
-    Rast_get_f_row_nomask = _libs['grass_raster.7.0.svn'].Rast_get_f_row_nomask
-    Rast_get_f_row_nomask.restype = None
-    Rast_get_f_row_nomask.argtypes = [c_int, POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 323
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_row_nomask'):
-    Rast_get_d_row_nomask = _libs['grass_raster.7.0.svn'].Rast_get_d_row_nomask
-    Rast_get_d_row_nomask.restype = None
-    Rast_get_d_row_nomask.argtypes = [c_int, POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 324
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_row'):
-    Rast_get_row = _libs['grass_raster.7.0.svn'].Rast_get_row
-    Rast_get_row.restype = None
-    Rast_get_row.argtypes = [c_int, POINTER(None), c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 325
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_row'):
-    Rast_get_c_row = _libs['grass_raster.7.0.svn'].Rast_get_c_row
-    Rast_get_c_row.restype = None
-    Rast_get_c_row.argtypes = [c_int, POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 326
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_row'):
-    Rast_get_f_row = _libs['grass_raster.7.0.svn'].Rast_get_f_row
-    Rast_get_f_row.restype = None
-    Rast_get_f_row.argtypes = [c_int, POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 327
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_row'):
-    Rast_get_d_row = _libs['grass_raster.7.0.svn'].Rast_get_d_row
-    Rast_get_d_row.restype = None
-    Rast_get_d_row.argtypes = [c_int, POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 328
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_null_value_row'):
-    Rast_get_null_value_row = _libs['grass_raster.7.0.svn'].Rast_get_null_value_row
-    Rast_get_null_value_row.restype = None
-    Rast_get_null_value_row.argtypes = [c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 331
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_row_colors'):
-    Rast_get_row_colors = _libs['grass_raster.7.0.svn'].Rast_get_row_colors
-    Rast_get_row_colors.restype = None
-    Rast_get_row_colors.argtypes = [c_int, c_int, POINTER(struct_Colors), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte), POINTER(c_ubyte)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 335
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_histogram_eq'):
-    Rast_histogram_eq = _libs['grass_raster.7.0.svn'].Rast_histogram_eq
-    Rast_histogram_eq.restype = None
-    Rast_histogram_eq.argtypes = [POINTER(struct_Histogram), POINTER(POINTER(c_ubyte)), POINTER(CELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 339
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_histogram'):
-    Rast_init_histogram = _libs['grass_raster.7.0.svn'].Rast_init_histogram
-    Rast_init_histogram.restype = None
-    Rast_init_histogram.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 340
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_histogram'):
-    Rast_read_histogram = _libs['grass_raster.7.0.svn'].Rast_read_histogram
-    Rast_read_histogram.restype = c_int
-    Rast_read_histogram.argtypes = [String, String, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 341
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_histogram'):
-    Rast_write_histogram = _libs['grass_raster.7.0.svn'].Rast_write_histogram
-    Rast_write_histogram.restype = None
-    Rast_write_histogram.argtypes = [String, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 342
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_histogram_cs'):
-    Rast_write_histogram_cs = _libs['grass_raster.7.0.svn'].Rast_write_histogram_cs
-    Rast_write_histogram_cs.restype = None
-    Rast_write_histogram_cs.argtypes = [String, POINTER(struct_Cell_stats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 343
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_make_histogram_cs'):
-    Rast_make_histogram_cs = _libs['grass_raster.7.0.svn'].Rast_make_histogram_cs
-    Rast_make_histogram_cs.restype = None
-    Rast_make_histogram_cs.argtypes = [POINTER(struct_Cell_stats), POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 344
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_histogram_num'):
-    Rast_get_histogram_num = _libs['grass_raster.7.0.svn'].Rast_get_histogram_num
-    Rast_get_histogram_num.restype = c_int
-    Rast_get_histogram_num.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 345
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_histogram_cat'):
-    Rast_get_histogram_cat = _libs['grass_raster.7.0.svn'].Rast_get_histogram_cat
-    Rast_get_histogram_cat.restype = CELL
-    Rast_get_histogram_cat.argtypes = [c_int, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 346
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_histogram_count'):
-    Rast_get_histogram_count = _libs['grass_raster.7.0.svn'].Rast_get_histogram_count
-    Rast_get_histogram_count.restype = c_long
-    Rast_get_histogram_count.argtypes = [c_int, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 347
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_histogram'):
-    Rast_free_histogram = _libs['grass_raster.7.0.svn'].Rast_free_histogram
-    Rast_free_histogram.restype = None
-    Rast_free_histogram.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 348
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_sort_histogram'):
-    Rast_sort_histogram = _libs['grass_raster.7.0.svn'].Rast_sort_histogram
-    Rast_sort_histogram.restype = c_int
-    Rast_sort_histogram.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 349
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_sort_histogram_by_count'):
-    Rast_sort_histogram_by_count = _libs['grass_raster.7.0.svn'].Rast_sort_histogram_by_count
-    Rast_sort_histogram_by_count.restype = c_int
-    Rast_sort_histogram_by_count.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 350
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_remove_histogram'):
-    Rast_remove_histogram = _libs['grass_raster.7.0.svn'].Rast_remove_histogram
-    Rast_remove_histogram.restype = None
-    Rast_remove_histogram.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 351
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_add_histogram'):
-    Rast_add_histogram = _libs['grass_raster.7.0.svn'].Rast_add_histogram
-    Rast_add_histogram.restype = c_int
-    Rast_add_histogram.argtypes = [CELL, c_long, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 352
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_histogram'):
-    Rast_set_histogram = _libs['grass_raster.7.0.svn'].Rast_set_histogram
-    Rast_set_histogram.restype = c_int
-    Rast_set_histogram.argtypes = [CELL, c_long, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 353
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_extend_histogram'):
-    Rast_extend_histogram = _libs['grass_raster.7.0.svn'].Rast_extend_histogram
-    Rast_extend_histogram.restype = None
-    Rast_extend_histogram.argtypes = [CELL, c_long, POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 354
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_zero_histogram'):
-    Rast_zero_histogram = _libs['grass_raster.7.0.svn'].Rast_zero_histogram
-    Rast_zero_histogram.restype = None
-    Rast_zero_histogram.argtypes = [POINTER(struct_Histogram)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 357
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__read_history'):
-    Rast__read_history = _libs['grass_raster.7.0.svn'].Rast__read_history
-    Rast__read_history.restype = c_int
-    Rast__read_history.argtypes = [POINTER(struct_History), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 358
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_history'):
-    Rast_read_history = _libs['grass_raster.7.0.svn'].Rast_read_history
-    Rast_read_history.restype = c_int
-    Rast_read_history.argtypes = [String, String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 359
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__write_history'):
-    Rast__write_history = _libs['grass_raster.7.0.svn'].Rast__write_history
-    Rast__write_history.restype = None
-    Rast__write_history.argtypes = [POINTER(struct_History), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 360
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_history'):
-    Rast_write_history = _libs['grass_raster.7.0.svn'].Rast_write_history
-    Rast_write_history.restype = None
-    Rast_write_history.argtypes = [String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 361
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_short_history'):
-    Rast_short_history = _libs['grass_raster.7.0.svn'].Rast_short_history
-    Rast_short_history.restype = None
-    Rast_short_history.argtypes = [String, String, POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 362
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_command_history'):
-    Rast_command_history = _libs['grass_raster.7.0.svn'].Rast_command_history
-    Rast_command_history.restype = c_int
-    Rast_command_history.argtypes = [POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 363
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_append_history'):
-    Rast_append_history = _libs['grass_raster.7.0.svn'].Rast_append_history
-    Rast_append_history.restype = None
-    Rast_append_history.argtypes = [POINTER(struct_History), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 364
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_append_format_history'):
-    _func = _libs['grass_raster.7.0.svn'].Rast_append_format_history
-    _restype = None
-    _argtypes = [POINTER(struct_History), String]
-    Rast_append_format_history = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 366
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_history'):
-    Rast_get_history = _libs['grass_raster.7.0.svn'].Rast_get_history
-    Rast_get_history.restype = ReturnString
-    Rast_get_history.argtypes = [POINTER(struct_History), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 367
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_history'):
-    Rast_set_history = _libs['grass_raster.7.0.svn'].Rast_set_history
-    Rast_set_history.restype = None
-    Rast_set_history.argtypes = [POINTER(struct_History), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 368
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_format_history'):
-    _func = _libs['grass_raster.7.0.svn'].Rast_format_history
-    _restype = None
-    _argtypes = [POINTER(struct_History), c_int, String]
-    Rast_format_history = _variadic_function(_func,_restype,_argtypes)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 370
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_clear_history'):
-    Rast_clear_history = _libs['grass_raster.7.0.svn'].Rast_clear_history
-    Rast_clear_history.restype = None
-    Rast_clear_history.argtypes = [POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 371
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_history'):
-    Rast_free_history = _libs['grass_raster.7.0.svn'].Rast_free_history
-    Rast_free_history.restype = None
-    Rast_free_history.argtypes = [POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 372
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_history_length'):
-    Rast_history_length = _libs['grass_raster.7.0.svn'].Rast_history_length
-    Rast_history_length.restype = c_int
-    Rast_history_length.argtypes = [POINTER(struct_History)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 373
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_history_line'):
-    Rast_history_line = _libs['grass_raster.7.0.svn'].Rast_history_line
-    Rast_history_line.restype = ReturnString
-    Rast_history_line.argtypes = [POINTER(struct_History), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 376
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init'):
-    Rast_init = _libs['grass_raster.7.0.svn'].Rast_init
-    Rast_init.restype = None
-    Rast_init.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 377
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_init'):
-    Rast__check_init = _libs['grass_raster.7.0.svn'].Rast__check_init
-    Rast__check_init.restype = None
-    Rast__check_init.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 378
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_all'):
-    Rast_init_all = _libs['grass_raster.7.0.svn'].Rast_init_all
-    Rast_init_all.restype = None
-    Rast_init_all.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 379
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__init'):
-    Rast__init = _libs['grass_raster.7.0.svn'].Rast__init
-    Rast__init.restype = None
-    Rast__init.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 380
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__error_handler'):
-    Rast__error_handler = _libs['grass_raster.7.0.svn'].Rast__error_handler
-    Rast__error_handler.restype = None
-    Rast__error_handler.argtypes = [POINTER(None)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 383
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_linear'):
-    Rast_interp_linear = _libs['grass_raster.7.0.svn'].Rast_interp_linear
-    Rast_interp_linear.restype = DCELL
-    Rast_interp_linear.argtypes = [c_double, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 384
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_bilinear'):
-    Rast_interp_bilinear = _libs['grass_raster.7.0.svn'].Rast_interp_bilinear
-    Rast_interp_bilinear.restype = DCELL
-    Rast_interp_bilinear.argtypes = [c_double, c_double, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 385
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_cubic'):
-    Rast_interp_cubic = _libs['grass_raster.7.0.svn'].Rast_interp_cubic
-    Rast_interp_cubic.restype = DCELL
-    Rast_interp_cubic.argtypes = [c_double, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 386
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_bicubic'):
-    Rast_interp_bicubic = _libs['grass_raster.7.0.svn'].Rast_interp_bicubic
-    Rast_interp_bicubic.restype = DCELL
-    Rast_interp_bicubic.argtypes = [c_double, c_double, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 390
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_lanczos'):
-    Rast_interp_lanczos = _libs['grass_raster.7.0.svn'].Rast_interp_lanczos
-    Rast_interp_lanczos.restype = DCELL
-    Rast_interp_lanczos.argtypes = [c_double, c_double, POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 391
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_cubic_bspline'):
-    Rast_interp_cubic_bspline = _libs['grass_raster.7.0.svn'].Rast_interp_cubic_bspline
-    Rast_interp_cubic_bspline.restype = DCELL
-    Rast_interp_cubic_bspline.argtypes = [c_double, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 392
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_interp_bicubic_bspline'):
-    Rast_interp_bicubic_bspline = _libs['grass_raster.7.0.svn'].Rast_interp_bicubic_bspline
-    Rast_interp_bicubic_bspline.restype = DCELL
-    Rast_interp_bicubic_bspline.argtypes = [c_double, c_double, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 398
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_mask_info'):
-    Rast_mask_info = _libs['grass_raster.7.0.svn'].Rast_mask_info
-    Rast_mask_info.restype = ReturnString
-    Rast_mask_info.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 399
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__mask_info'):
-    Rast__mask_info = _libs['grass_raster.7.0.svn'].Rast__mask_info
-    Rast__mask_info.restype = c_int
-    Rast__mask_info.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 402
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_maskfd'):
-    Rast_maskfd = _libs['grass_raster.7.0.svn'].Rast_maskfd
-    Rast_maskfd.restype = c_int
-    Rast_maskfd.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 412
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__set_null_value'):
-    Rast__set_null_value = _libs['grass_raster.7.0.svn'].Rast__set_null_value
-    Rast__set_null_value.restype = None
-    Rast__set_null_value.argtypes = [POINTER(None), c_int, c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 413
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_null_value'):
-    Rast_set_null_value = _libs['grass_raster.7.0.svn'].Rast_set_null_value
-    Rast_set_null_value.restype = None
-    Rast_set_null_value.argtypes = [POINTER(None), c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 414
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_null_value'):
-    Rast_set_c_null_value = _libs['grass_raster.7.0.svn'].Rast_set_c_null_value
-    Rast_set_c_null_value.restype = None
-    Rast_set_c_null_value.argtypes = [POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 415
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_f_null_value'):
-    Rast_set_f_null_value = _libs['grass_raster.7.0.svn'].Rast_set_f_null_value
-    Rast_set_f_null_value.restype = None
-    Rast_set_f_null_value.argtypes = [POINTER(FCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 416
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_null_value'):
-    Rast_set_d_null_value = _libs['grass_raster.7.0.svn'].Rast_set_d_null_value
-    Rast_set_d_null_value.restype = None
-    Rast_set_d_null_value.argtypes = [POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 417
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_is_null_value'):
-    Rast_is_null_value = _libs['grass_raster.7.0.svn'].Rast_is_null_value
-    Rast_is_null_value.restype = c_int
-    Rast_is_null_value.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 427
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_insert_null_values'):
-    Rast_insert_null_values = _libs['grass_raster.7.0.svn'].Rast_insert_null_values
-    Rast_insert_null_values.restype = None
-    Rast_insert_null_values.argtypes = [POINTER(None), String, c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 428
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_insert_c_null_values'):
-    Rast_insert_c_null_values = _libs['grass_raster.7.0.svn'].Rast_insert_c_null_values
-    Rast_insert_c_null_values.restype = None
-    Rast_insert_c_null_values.argtypes = [POINTER(CELL), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 429
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_insert_f_null_values'):
-    Rast_insert_f_null_values = _libs['grass_raster.7.0.svn'].Rast_insert_f_null_values
-    Rast_insert_f_null_values.restype = None
-    Rast_insert_f_null_values.argtypes = [POINTER(FCELL), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 430
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_insert_d_null_values'):
-    Rast_insert_d_null_values = _libs['grass_raster.7.0.svn'].Rast_insert_d_null_values
-    Rast_insert_d_null_values.restype = None
-    Rast_insert_d_null_values.argtypes = [POINTER(DCELL), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 431
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_null_bit'):
-    Rast__check_null_bit = _libs['grass_raster.7.0.svn'].Rast__check_null_bit
-    Rast__check_null_bit.restype = c_int
-    Rast__check_null_bit.argtypes = [POINTER(c_ubyte), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 432
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__convert_01_flags'):
-    Rast__convert_01_flags = _libs['grass_raster.7.0.svn'].Rast__convert_01_flags
-    Rast__convert_01_flags.restype = None
-    Rast__convert_01_flags.argtypes = [String, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 433
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__convert_flags_01'):
-    Rast__convert_flags_01 = _libs['grass_raster.7.0.svn'].Rast__convert_flags_01
-    Rast__convert_flags_01.restype = None
-    Rast__convert_flags_01.argtypes = [String, POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 434
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__init_null_bits'):
-    Rast__init_null_bits = _libs['grass_raster.7.0.svn'].Rast__init_null_bits
-    Rast__init_null_bits.restype = None
-    Rast__init_null_bits.argtypes = [POINTER(c_ubyte), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 437
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_old'):
-    Rast_open_old = _libs['grass_raster.7.0.svn'].Rast_open_old
-    Rast_open_old.restype = c_int
-    Rast_open_old.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 438
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__open_old'):
-    Rast__open_old = _libs['grass_raster.7.0.svn'].Rast__open_old
-    Rast__open_old.restype = c_int
-    Rast__open_old.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 439
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_c_new'):
-    Rast_open_c_new = _libs['grass_raster.7.0.svn'].Rast_open_c_new
-    Rast_open_c_new.restype = c_int
-    Rast_open_c_new.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 440
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_c_new_uncompressed'):
-    Rast_open_c_new_uncompressed = _libs['grass_raster.7.0.svn'].Rast_open_c_new_uncompressed
-    Rast_open_c_new_uncompressed.restype = c_int
-    Rast_open_c_new_uncompressed.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 441
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_want_histogram'):
-    Rast_want_histogram = _libs['grass_raster.7.0.svn'].Rast_want_histogram
-    Rast_want_histogram.restype = None
-    Rast_want_histogram.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 442
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_cell_format'):
-    Rast_set_cell_format = _libs['grass_raster.7.0.svn'].Rast_set_cell_format
-    Rast_set_cell_format.restype = None
-    Rast_set_cell_format.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 443
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_cell_format'):
-    Rast_get_cell_format = _libs['grass_raster.7.0.svn'].Rast_get_cell_format
-    Rast_get_cell_format.restype = c_int
-    Rast_get_cell_format.argtypes = [CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 444
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_fp_new'):
-    Rast_open_fp_new = _libs['grass_raster.7.0.svn'].Rast_open_fp_new
-    Rast_open_fp_new.restype = c_int
-    Rast_open_fp_new.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 445
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_fp_new_uncompressed'):
-    Rast_open_fp_new_uncompressed = _libs['grass_raster.7.0.svn'].Rast_open_fp_new_uncompressed
-    Rast_open_fp_new_uncompressed.restype = c_int
-    Rast_open_fp_new_uncompressed.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 446
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_fp_type'):
-    Rast_set_fp_type = _libs['grass_raster.7.0.svn'].Rast_set_fp_type
-    Rast_set_fp_type.restype = None
-    Rast_set_fp_type.argtypes = [RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 447
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_map_is_fp'):
-    Rast_map_is_fp = _libs['grass_raster.7.0.svn'].Rast_map_is_fp
-    Rast_map_is_fp.restype = c_int
-    Rast_map_is_fp.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 448
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_map_type'):
-    Rast_map_type = _libs['grass_raster.7.0.svn'].Rast_map_type
-    Rast_map_type.restype = RASTER_MAP_TYPE
-    Rast_map_type.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 449
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__check_fp_type'):
-    Rast__check_fp_type = _libs['grass_raster.7.0.svn'].Rast__check_fp_type
-    Rast__check_fp_type.restype = RASTER_MAP_TYPE
-    Rast__check_fp_type.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 450
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_map_type'):
-    Rast_get_map_type = _libs['grass_raster.7.0.svn'].Rast_get_map_type
-    Rast_get_map_type.restype = RASTER_MAP_TYPE
-    Rast_get_map_type.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 451
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_new'):
-    Rast_open_new = _libs['grass_raster.7.0.svn'].Rast_open_new
-    Rast_open_new.restype = c_int
-    Rast_open_new.argtypes = [String, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 452
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_open_new_uncompressed'):
-    Rast_open_new_uncompressed = _libs['grass_raster.7.0.svn'].Rast_open_new_uncompressed
-    Rast_open_new_uncompressed.restype = c_int
-    Rast_open_new_uncompressed.argtypes = [String, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 453
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_quant_rules'):
-    Rast_set_quant_rules = _libs['grass_raster.7.0.svn'].Rast_set_quant_rules
-    Rast_set_quant_rules.restype = None
-    Rast_set_quant_rules.argtypes = [c_int, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 456
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_cellhd'):
-    Rast_put_cellhd = _libs['grass_raster.7.0.svn'].Rast_put_cellhd
-    Rast_put_cellhd.restype = None
-    Rast_put_cellhd.argtypes = [String, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 459
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_row'):
-    Rast_put_row = _libs['grass_raster.7.0.svn'].Rast_put_row
-    Rast_put_row.restype = None
-    Rast_put_row.argtypes = [c_int, POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 460
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_c_row'):
-    Rast_put_c_row = _libs['grass_raster.7.0.svn'].Rast_put_c_row
-    Rast_put_c_row.restype = None
-    Rast_put_c_row.argtypes = [c_int, POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 461
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_f_row'):
-    Rast_put_f_row = _libs['grass_raster.7.0.svn'].Rast_put_f_row
-    Rast_put_f_row.restype = None
-    Rast_put_f_row.argtypes = [c_int, POINTER(FCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 462
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_d_row'):
-    Rast_put_d_row = _libs['grass_raster.7.0.svn'].Rast_put_d_row
-    Rast_put_d_row.restype = None
-    Rast_put_d_row.argtypes = [c_int, POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 463
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__open_null_write'):
-    Rast__open_null_write = _libs['grass_raster.7.0.svn'].Rast__open_null_write
-    Rast__open_null_write.restype = c_int
-    Rast__open_null_write.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 464
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__write_null_bits'):
-    Rast__write_null_bits = _libs['grass_raster.7.0.svn'].Rast__write_null_bits
-    Rast__write_null_bits.restype = None
-    Rast__write_null_bits.argtypes = [c_int, POINTER(c_ubyte), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 467
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_cell_title'):
-    Rast_put_cell_title = _libs['grass_raster.7.0.svn'].Rast_put_cell_title
-    Rast_put_cell_title.restype = c_int
-    Rast_put_cell_title.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 470
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_clear'):
-    Rast_quant_clear = _libs['grass_raster.7.0.svn'].Rast_quant_clear
-    Rast_quant_clear.restype = None
-    Rast_quant_clear.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 471
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_free'):
-    Rast_quant_free = _libs['grass_raster.7.0.svn'].Rast_quant_free
-    Rast_quant_free.restype = None
-    Rast_quant_free.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 472
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__quant_organize_fp_lookup'):
-    Rast__quant_organize_fp_lookup = _libs['grass_raster.7.0.svn'].Rast__quant_organize_fp_lookup
-    Rast__quant_organize_fp_lookup.restype = c_int
-    Rast__quant_organize_fp_lookup.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 473
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_init'):
-    Rast_quant_init = _libs['grass_raster.7.0.svn'].Rast_quant_init
-    Rast_quant_init.restype = None
-    Rast_quant_init.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 474
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_is_truncate'):
-    Rast_quant_is_truncate = _libs['grass_raster.7.0.svn'].Rast_quant_is_truncate
-    Rast_quant_is_truncate.restype = c_int
-    Rast_quant_is_truncate.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 475
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_is_round'):
-    Rast_quant_is_round = _libs['grass_raster.7.0.svn'].Rast_quant_is_round
-    Rast_quant_is_round.restype = c_int
-    Rast_quant_is_round.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 476
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_truncate'):
-    Rast_quant_truncate = _libs['grass_raster.7.0.svn'].Rast_quant_truncate
-    Rast_quant_truncate.restype = None
-    Rast_quant_truncate.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 477
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_round'):
-    Rast_quant_round = _libs['grass_raster.7.0.svn'].Rast_quant_round
-    Rast_quant_round.restype = None
-    Rast_quant_round.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 478
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_limits'):
-    Rast_quant_get_limits = _libs['grass_raster.7.0.svn'].Rast_quant_get_limits
-    Rast_quant_get_limits.restype = c_int
-    Rast_quant_get_limits.argtypes = [POINTER(struct_Quant), POINTER(DCELL), POINTER(DCELL), POINTER(CELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 480
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_nof_rules'):
-    Rast_quant_nof_rules = _libs['grass_raster.7.0.svn'].Rast_quant_nof_rules
-    Rast_quant_nof_rules.restype = c_int
-    Rast_quant_nof_rules.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 481
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_ith_rule'):
-    Rast_quant_get_ith_rule = _libs['grass_raster.7.0.svn'].Rast_quant_get_ith_rule
-    Rast_quant_get_ith_rule.restype = None
-    Rast_quant_get_ith_rule.argtypes = [POINTER(struct_Quant), c_int, POINTER(DCELL), POINTER(DCELL), POINTER(CELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 483
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_set_neg_infinite_rule'):
-    Rast_quant_set_neg_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_quant_set_neg_infinite_rule
-    Rast_quant_set_neg_infinite_rule.restype = None
-    Rast_quant_set_neg_infinite_rule.argtypes = [POINTER(struct_Quant), DCELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 484
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_neg_infinite_rule'):
-    Rast_quant_get_neg_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_quant_get_neg_infinite_rule
-    Rast_quant_get_neg_infinite_rule.restype = c_int
-    Rast_quant_get_neg_infinite_rule.argtypes = [POINTER(struct_Quant), POINTER(DCELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 485
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_set_pos_infinite_rule'):
-    Rast_quant_set_pos_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_quant_set_pos_infinite_rule
-    Rast_quant_set_pos_infinite_rule.restype = None
-    Rast_quant_set_pos_infinite_rule.argtypes = [POINTER(struct_Quant), DCELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 486
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_pos_infinite_rule'):
-    Rast_quant_get_pos_infinite_rule = _libs['grass_raster.7.0.svn'].Rast_quant_get_pos_infinite_rule
-    Rast_quant_get_pos_infinite_rule.restype = c_int
-    Rast_quant_get_pos_infinite_rule.argtypes = [POINTER(struct_Quant), POINTER(DCELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 487
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_add_rule'):
-    Rast_quant_add_rule = _libs['grass_raster.7.0.svn'].Rast_quant_add_rule
-    Rast_quant_add_rule.restype = None
-    Rast_quant_add_rule.argtypes = [POINTER(struct_Quant), DCELL, DCELL, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 488
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_reverse_rule_order'):
-    Rast_quant_reverse_rule_order = _libs['grass_raster.7.0.svn'].Rast_quant_reverse_rule_order
-    Rast_quant_reverse_rule_order.restype = None
-    Rast_quant_reverse_rule_order.argtypes = [POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 489
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_get_cell_value'):
-    Rast_quant_get_cell_value = _libs['grass_raster.7.0.svn'].Rast_quant_get_cell_value
-    Rast_quant_get_cell_value.restype = CELL
-    Rast_quant_get_cell_value.argtypes = [POINTER(struct_Quant), DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 490
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_perform_d'):
-    Rast_quant_perform_d = _libs['grass_raster.7.0.svn'].Rast_quant_perform_d
-    Rast_quant_perform_d.restype = None
-    Rast_quant_perform_d.argtypes = [POINTER(struct_Quant), POINTER(DCELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 491
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quant_perform_f'):
-    Rast_quant_perform_f = _libs['grass_raster.7.0.svn'].Rast_quant_perform_f
-    Rast_quant_perform_f.restype = None
-    Rast_quant_perform_f.argtypes = [POINTER(struct_Quant), POINTER(FCELL), POINTER(CELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 492
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__quant_get_rule_for_d_raster_val'):
-    Rast__quant_get_rule_for_d_raster_val = _libs['grass_raster.7.0.svn'].Rast__quant_get_rule_for_d_raster_val
-    Rast__quant_get_rule_for_d_raster_val.restype = POINTER(struct_Quant_table)
-    Rast__quant_get_rule_for_d_raster_val.argtypes = [POINTER(struct_Quant), DCELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 496
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__quant_import'):
-    Rast__quant_import = _libs['grass_raster.7.0.svn'].Rast__quant_import
-    Rast__quant_import.restype = c_int
-    Rast__quant_import.argtypes = [String, String, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 497
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__quant_export'):
-    Rast__quant_export = _libs['grass_raster.7.0.svn'].Rast__quant_export
-    Rast__quant_export.restype = c_int
-    Rast__quant_export.argtypes = [String, String, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 500
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_truncate_fp_map'):
-    Rast_truncate_fp_map = _libs['grass_raster.7.0.svn'].Rast_truncate_fp_map
-    Rast_truncate_fp_map.restype = None
-    Rast_truncate_fp_map.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 501
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_round_fp_map'):
-    Rast_round_fp_map = _libs['grass_raster.7.0.svn'].Rast_round_fp_map
-    Rast_round_fp_map.restype = None
-    Rast_round_fp_map.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 502
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quantize_fp_map'):
-    Rast_quantize_fp_map = _libs['grass_raster.7.0.svn'].Rast_quantize_fp_map
-    Rast_quantize_fp_map.restype = None
-    Rast_quantize_fp_map.argtypes = [String, String, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 503
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_quantize_fp_map_range'):
-    Rast_quantize_fp_map_range = _libs['grass_raster.7.0.svn'].Rast_quantize_fp_map_range
-    Rast_quantize_fp_map_range.restype = None
-    Rast_quantize_fp_map_range.argtypes = [String, String, DCELL, DCELL, CELL, CELL]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 505
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_quant'):
-    Rast_write_quant = _libs['grass_raster.7.0.svn'].Rast_write_quant
-    Rast_write_quant.restype = None
-    Rast_write_quant.argtypes = [String, String, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 506
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_quant'):
-    Rast_read_quant = _libs['grass_raster.7.0.svn'].Rast_read_quant
-    Rast_read_quant.restype = c_int
-    Rast_read_quant.argtypes = [String, String, POINTER(struct_Quant)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 509
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__remove_fp_range'):
-    Rast__remove_fp_range = _libs['grass_raster.7.0.svn'].Rast__remove_fp_range
-    Rast__remove_fp_range.restype = None
-    Rast__remove_fp_range.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 510
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_construct_default_range'):
-    Rast_construct_default_range = _libs['grass_raster.7.0.svn'].Rast_construct_default_range
-    Rast_construct_default_range.restype = None
-    Rast_construct_default_range.argtypes = [POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 511
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_fp_range'):
-    Rast_read_fp_range = _libs['grass_raster.7.0.svn'].Rast_read_fp_range
-    Rast_read_fp_range.restype = c_int
-    Rast_read_fp_range.argtypes = [String, String, POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 512
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_range'):
-    Rast_read_range = _libs['grass_raster.7.0.svn'].Rast_read_range
-    Rast_read_range.restype = c_int
-    Rast_read_range.argtypes = [String, String, POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 513
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_range'):
-    Rast_write_range = _libs['grass_raster.7.0.svn'].Rast_write_range
-    Rast_write_range.restype = None
-    Rast_write_range.argtypes = [String, POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 514
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_fp_range'):
-    Rast_write_fp_range = _libs['grass_raster.7.0.svn'].Rast_write_fp_range
-    Rast_write_fp_range.restype = None
-    Rast_write_fp_range.argtypes = [String, POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 515
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_update_range'):
-    Rast_update_range = _libs['grass_raster.7.0.svn'].Rast_update_range
-    Rast_update_range.restype = None
-    Rast_update_range.argtypes = [CELL, POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 516
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_update_fp_range'):
-    Rast_update_fp_range = _libs['grass_raster.7.0.svn'].Rast_update_fp_range
-    Rast_update_fp_range.restype = None
-    Rast_update_fp_range.argtypes = [DCELL, POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 517
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_row_update_range'):
-    Rast_row_update_range = _libs['grass_raster.7.0.svn'].Rast_row_update_range
-    Rast_row_update_range.restype = None
-    Rast_row_update_range.argtypes = [POINTER(CELL), c_int, POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 518
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__row_update_range'):
-    Rast__row_update_range = _libs['grass_raster.7.0.svn'].Rast__row_update_range
-    Rast__row_update_range.restype = None
-    Rast__row_update_range.argtypes = [POINTER(CELL), c_int, POINTER(struct_Range), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 519
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_row_update_fp_range'):
-    Rast_row_update_fp_range = _libs['grass_raster.7.0.svn'].Rast_row_update_fp_range
-    Rast_row_update_fp_range.restype = None
-    Rast_row_update_fp_range.argtypes = [POINTER(None), c_int, POINTER(struct_FPRange), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 521
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_range'):
-    Rast_init_range = _libs['grass_raster.7.0.svn'].Rast_init_range
-    Rast_init_range.restype = None
-    Rast_init_range.argtypes = [POINTER(struct_Range)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 522
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_range_min_max'):
-    Rast_get_range_min_max = _libs['grass_raster.7.0.svn'].Rast_get_range_min_max
-    Rast_get_range_min_max.restype = None
-    Rast_get_range_min_max.argtypes = [POINTER(struct_Range), POINTER(CELL), POINTER(CELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 523
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_init_fp_range'):
-    Rast_init_fp_range = _libs['grass_raster.7.0.svn'].Rast_init_fp_range
-    Rast_init_fp_range.restype = None
-    Rast_init_fp_range.argtypes = [POINTER(struct_FPRange)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 524
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_fp_range_min_max'):
-    Rast_get_fp_range_min_max = _libs['grass_raster.7.0.svn'].Rast_get_fp_range_min_max
-    Rast_get_fp_range_min_max.restype = None
-    Rast_get_fp_range_min_max.argtypes = [POINTER(struct_FPRange), POINTER(DCELL), POINTER(DCELL)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 527
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_raster_cmp'):
-    Rast_raster_cmp = _libs['grass_raster.7.0.svn'].Rast_raster_cmp
-    Rast_raster_cmp.restype = c_int
-    Rast_raster_cmp.argtypes = [POINTER(None), POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 528
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_raster_cpy'):
-    Rast_raster_cpy = _libs['grass_raster.7.0.svn'].Rast_raster_cpy
-    Rast_raster_cpy.restype = None
-    Rast_raster_cpy.argtypes = [POINTER(None), POINTER(None), c_int, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 529
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_c_value'):
-    Rast_set_c_value = _libs['grass_raster.7.0.svn'].Rast_set_c_value
-    Rast_set_c_value.restype = None
-    Rast_set_c_value.argtypes = [POINTER(None), CELL, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 530
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_f_value'):
-    Rast_set_f_value = _libs['grass_raster.7.0.svn'].Rast_set_f_value
-    Rast_set_f_value.restype = None
-    Rast_set_f_value.argtypes = [POINTER(None), FCELL, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 531
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_d_value'):
-    Rast_set_d_value = _libs['grass_raster.7.0.svn'].Rast_set_d_value
-    Rast_set_d_value.restype = None
-    Rast_set_d_value.argtypes = [POINTER(None), DCELL, RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 532
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_c_value'):
-    Rast_get_c_value = _libs['grass_raster.7.0.svn'].Rast_get_c_value
-    Rast_get_c_value.restype = CELL
-    Rast_get_c_value.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 533
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_f_value'):
-    Rast_get_f_value = _libs['grass_raster.7.0.svn'].Rast_get_f_value
-    Rast_get_f_value.restype = FCELL
-    Rast_get_f_value.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 534
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_d_value'):
-    Rast_get_d_value = _libs['grass_raster.7.0.svn'].Rast_get_d_value
-    Rast_get_d_value.restype = DCELL
-    Rast_get_d_value.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 537
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_units'):
-    Rast_read_units = _libs['grass_raster.7.0.svn'].Rast_read_units
-    Rast_read_units.restype = ReturnString
-    Rast_read_units.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 538
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_read_vdatum'):
-    Rast_read_vdatum = _libs['grass_raster.7.0.svn'].Rast_read_vdatum
-    Rast_read_vdatum.restype = ReturnString
-    Rast_read_vdatum.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 539
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_units'):
-    Rast_write_units = _libs['grass_raster.7.0.svn'].Rast_write_units
-    Rast_write_units.restype = None
-    Rast_write_units.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 540
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_write_vdatum'):
-    Rast_write_vdatum = _libs['grass_raster.7.0.svn'].Rast_write_vdatum
-    Rast_write_vdatum.restype = None
-    Rast_write_vdatum.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 543
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_is_reclass'):
-    Rast_is_reclass = _libs['grass_raster.7.0.svn'].Rast_is_reclass
-    Rast_is_reclass.restype = c_int
-    Rast_is_reclass.argtypes = [String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 544
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_is_reclassed_to'):
-    Rast_is_reclassed_to = _libs['grass_raster.7.0.svn'].Rast_is_reclassed_to
-    Rast_is_reclassed_to.restype = c_int
-    Rast_is_reclassed_to.argtypes = [String, String, POINTER(c_int), POINTER(POINTER(POINTER(c_char)))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 545
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_reclass'):
-    Rast_get_reclass = _libs['grass_raster.7.0.svn'].Rast_get_reclass
-    Rast_get_reclass.restype = c_int
-    Rast_get_reclass.argtypes = [String, String, POINTER(struct_Reclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 546
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_free_reclass'):
-    Rast_free_reclass = _libs['grass_raster.7.0.svn'].Rast_free_reclass
-    Rast_free_reclass.restype = None
-    Rast_free_reclass.argtypes = [POINTER(struct_Reclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 547
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_put_reclass'):
-    Rast_put_reclass = _libs['grass_raster.7.0.svn'].Rast_put_reclass
-    Rast_put_reclass.restype = c_int
-    Rast_put_reclass.argtypes = [String, POINTER(struct_Reclass)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 550
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_sample_nearest'):
-    Rast_get_sample_nearest = _libs['grass_raster.7.0.svn'].Rast_get_sample_nearest
-    Rast_get_sample_nearest.restype = DCELL
-    Rast_get_sample_nearest.argtypes = [c_int, POINTER(struct_Cell_head), POINTER(struct_Categories), c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 551
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_sample_bilinear'):
-    Rast_get_sample_bilinear = _libs['grass_raster.7.0.svn'].Rast_get_sample_bilinear
-    Rast_get_sample_bilinear.restype = DCELL
-    Rast_get_sample_bilinear.argtypes = [c_int, POINTER(struct_Cell_head), POINTER(struct_Categories), c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 552
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_sample_cubic'):
-    Rast_get_sample_cubic = _libs['grass_raster.7.0.svn'].Rast_get_sample_cubic
-    Rast_get_sample_cubic.restype = DCELL
-    Rast_get_sample_cubic.argtypes = [c_int, POINTER(struct_Cell_head), POINTER(struct_Categories), c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 553
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_sample'):
-    Rast_get_sample = _libs['grass_raster.7.0.svn'].Rast_get_sample
-    Rast_get_sample.restype = DCELL
-    Rast_get_sample.argtypes = [c_int, POINTER(struct_Cell_head), POINTER(struct_Categories), c_double, c_double, c_int, INTERP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 556
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__init_window'):
-    Rast__init_window = _libs['grass_raster.7.0.svn'].Rast__init_window
-    Rast__init_window.restype = None
-    Rast__init_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 557
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_window'):
-    Rast_set_window = _libs['grass_raster.7.0.svn'].Rast_set_window
-    Rast_set_window.restype = None
-    Rast_set_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 558
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_unset_window'):
-    Rast_unset_window = _libs['grass_raster.7.0.svn'].Rast_unset_window
-    Rast_unset_window.restype = None
-    Rast_unset_window.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 559
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_output_window'):
-    Rast_set_output_window = _libs['grass_raster.7.0.svn'].Rast_set_output_window
-    Rast_set_output_window.restype = None
-    Rast_set_output_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 560
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_set_input_window'):
-    Rast_set_input_window = _libs['grass_raster.7.0.svn'].Rast_set_input_window
-    Rast_set_input_window.restype = None
-    Rast_set_input_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 563
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_window'):
-    Rast_get_window = _libs['grass_raster.7.0.svn'].Rast_get_window
-    Rast_get_window.restype = None
-    Rast_get_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 564
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_input_window'):
-    Rast_get_input_window = _libs['grass_raster.7.0.svn'].Rast_get_input_window
-    Rast_get_input_window.restype = None
-    Rast_get_input_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 565
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_get_output_window'):
-    Rast_get_output_window = _libs['grass_raster.7.0.svn'].Rast_get_output_window
-    Rast_get_output_window.restype = None
-    Rast_get_output_window.argtypes = [POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 566
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_window_rows'):
-    Rast_window_rows = _libs['grass_raster.7.0.svn'].Rast_window_rows
-    Rast_window_rows.restype = c_int
-    Rast_window_rows.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 567
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_window_cols'):
-    Rast_window_cols = _libs['grass_raster.7.0.svn'].Rast_window_cols
-    Rast_window_cols.restype = c_int
-    Rast_window_cols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 568
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_input_window_rows'):
-    Rast_input_window_rows = _libs['grass_raster.7.0.svn'].Rast_input_window_rows
-    Rast_input_window_rows.restype = c_int
-    Rast_input_window_rows.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 569
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_input_window_cols'):
-    Rast_input_window_cols = _libs['grass_raster.7.0.svn'].Rast_input_window_cols
-    Rast_input_window_cols.restype = c_int
-    Rast_input_window_cols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 570
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_output_window_rows'):
-    Rast_output_window_rows = _libs['grass_raster.7.0.svn'].Rast_output_window_rows
-    Rast_output_window_rows.restype = c_int
-    Rast_output_window_rows.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 571
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_output_window_cols'):
-    Rast_output_window_cols = _libs['grass_raster.7.0.svn'].Rast_output_window_cols
-    Rast_output_window_cols.restype = c_int
-    Rast_output_window_cols.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 572
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_northing_to_row'):
-    Rast_northing_to_row = _libs['grass_raster.7.0.svn'].Rast_northing_to_row
-    Rast_northing_to_row.restype = c_double
-    Rast_northing_to_row.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 573
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_easting_to_col'):
-    Rast_easting_to_col = _libs['grass_raster.7.0.svn'].Rast_easting_to_col
-    Rast_easting_to_col.restype = c_double
-    Rast_easting_to_col.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 574
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_row_to_northing'):
-    Rast_row_to_northing = _libs['grass_raster.7.0.svn'].Rast_row_to_northing
-    Rast_row_to_northing.restype = c_double
-    Rast_row_to_northing.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 575
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_col_to_easting'):
-    Rast_col_to_easting = _libs['grass_raster.7.0.svn'].Rast_col_to_easting
-    Rast_col_to_easting.restype = c_double
-    Rast_col_to_easting.argtypes = [c_double, POINTER(struct_Cell_head)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 578
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast__create_window_mapping'):
-    Rast__create_window_mapping = _libs['grass_raster.7.0.svn'].Rast__create_window_mapping
-    Rast__create_window_mapping.restype = None
-    Rast__create_window_mapping.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 579
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_row_repeat_nomask'):
-    Rast_row_repeat_nomask = _libs['grass_raster.7.0.svn'].Rast_row_repeat_nomask
-    Rast_row_repeat_nomask.restype = c_int
-    Rast_row_repeat_nomask.argtypes = [c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 582
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_zero_buf'):
-    Rast_zero_buf = _libs['grass_raster.7.0.svn'].Rast_zero_buf
-    Rast_zero_buf.restype = None
-    Rast_zero_buf.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 583
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_zero_input_buf'):
-    Rast_zero_input_buf = _libs['grass_raster.7.0.svn'].Rast_zero_input_buf
-    Rast_zero_input_buf.restype = None
-    Rast_zero_input_buf.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 584
-if hasattr(_libs['grass_raster.7.0.svn'], 'Rast_zero_output_buf'):
-    Rast_zero_output_buf = _libs['grass_raster.7.0.svn'].Rast_zero_output_buf
-    Rast_zero_output_buf.restype = None
-    Rast_zero_output_buf.argtypes = [POINTER(None), RASTER_MAP_TYPE]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 7
-try:
-    RECLASS_TABLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 7
-try:
-    RECLASS_RULES = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 7
-try:
-    RECLASS_SCALE = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 8
-try:
-    CELL_TYPE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 8
-try:
-    FCELL_TYPE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 8
-try:
-    DCELL_TYPE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 10
-try:
-    UNKNOWN = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 10
-try:
-    NEAREST = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 10
-try:
-    BILINEAR = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 10
-try:
-    CUBIC = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-try:
-    RGBA_COLOR_OPAQUE = 255
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-try:
-    RGBA_COLOR_TRANSPARENT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-try:
-    RGBA_COLOR_NONE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 404
-def Rast_is_c_null_value(cellVal):
-    return ((cellVal[0]) == 2147483648)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 405
-def Rast_is_f_null_value(fcellVal):
-    return ((fcellVal[0]) != (fcellVal[0]))
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rasterdefs.h: 406
-def Rast_is_d_null_value(dcellVal):
-    return ((dcellVal[0]) != (dcellVal[0]))
-
-Reclass = struct_Reclass # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 28
-
-FPReclass_table = struct_FPReclass_table # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 39
-
-FPReclass = struct_FPReclass # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 49
-
-Quant_table = struct_Quant_table # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 73
-
-Quant = struct_Quant # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 81
-
-Categories = struct_Categories # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 124
-
-History = struct_History # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 164
-
-Cell_stats_node = struct_Cell_stats_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 173
-
-Cell_stats = struct_Cell_stats # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 171
-
-Histogram_list = struct_Histogram_list # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 192
-
-Histogram = struct_Histogram # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 188
-
-Range = struct_Range # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 199
-
-FPRange = struct_FPRange # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 206
-
-FP_stats = struct_FP_stats # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 213
-
-GDAL_link = struct_GDAL_link # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 223
-
-# No inserted files
-
diff --git a/lib/python/ctypes/raster3d.py b/lib/python/ctypes/raster3d.py
deleted file mode 100644
index c481819..0000000
--- a/lib/python/ctypes/raster3d.py
+++ /dev/null
@@ -1,1037 +0,0 @@
-'''Wrapper for raster3d.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_g3d.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h -o raster3d.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_g3d.7.0.svn"] = load_library("grass_g3d.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-NULL = None # <built-in>
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster.h: 206
-class struct_FPRange(Structure):
-    pass
-
-struct_FPRange.__slots__ = [
-    'min',
-    'max',
-    'first_time',
-]
-struct_FPRange._fields_ = [
-    ('min', DCELL),
-    ('max', DCELL),
-    ('first_time', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 63
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-    'rows',
-    'cols',
-    'depths',
-    'ns_res',
-    'ew_res',
-    'tb_res',
-    'proj',
-    'zone',
-]
-struct_anon_25._fields_ = [
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-    ('rows', c_int),
-    ('cols', c_int),
-    ('depths', c_int),
-    ('ns_res', c_double),
-    ('ew_res', c_double),
-    ('tb_res', c_double),
-    ('proj', c_int),
-    ('zone', c_int),
-]
-
-RASTER3D_Region = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 63
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 73
-class struct_RASTER3D_Map(Structure):
-    pass
-
-resample_fn = CFUNCTYPE(UNCHECKED(None), POINTER(struct_RASTER3D_Map), c_int, c_int, c_int, POINTER(None), c_int) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 69
-
-struct_RASTER3D_Map.__slots__ = [
-    'fileName',
-    'tempName',
-    'mapset',
-    'operation',
-    'region',
-    'window',
-    'resampleFun',
-    'unit',
-    'tileX',
-    'tileY',
-    'tileZ',
-    'nx',
-    'ny',
-    'nz',
-    'data_fd',
-    'type',
-    'precision',
-    'compression',
-    'useLzw',
-    'useRle',
-    'useXdr',
-    'offset',
-    'indexOffset',
-    'indexLongNbytes',
-    'indexNbytesUsed',
-    'fileEndPtr',
-    'hasIndex',
-    'index',
-    'tileLength',
-    'typeIntern',
-    'data',
-    'currentIndex',
-    'useCache',
-    'cache',
-    'cacheFD',
-    'cacheFileName',
-    'cachePosLast',
-    'range',
-    'numLengthExtern',
-    'numLengthIntern',
-    'clipX',
-    'clipY',
-    'clipZ',
-    'tileXY',
-    'tileSize',
-    'nxy',
-    'nTiles',
-    'useMask',
-]
-struct_RASTER3D_Map._fields_ = [
-    ('fileName', String),
-    ('tempName', String),
-    ('mapset', String),
-    ('operation', c_int),
-    ('region', RASTER3D_Region),
-    ('window', RASTER3D_Region),
-    ('resampleFun', POINTER(resample_fn)),
-    ('unit', String),
-    ('tileX', c_int),
-    ('tileY', c_int),
-    ('tileZ', c_int),
-    ('nx', c_int),
-    ('ny', c_int),
-    ('nz', c_int),
-    ('data_fd', c_int),
-    ('type', c_int),
-    ('precision', c_int),
-    ('compression', c_int),
-    ('useLzw', c_int),
-    ('useRle', c_int),
-    ('useXdr', c_int),
-    ('offset', c_int),
-    ('indexOffset', c_long),
-    ('indexLongNbytes', c_int),
-    ('indexNbytesUsed', c_int),
-    ('fileEndPtr', c_int),
-    ('hasIndex', c_int),
-    ('index', POINTER(c_long)),
-    ('tileLength', POINTER(c_int)),
-    ('typeIntern', c_int),
-    ('data', String),
-    ('currentIndex', c_int),
-    ('useCache', c_int),
-    ('cache', POINTER(None)),
-    ('cacheFD', c_int),
-    ('cacheFileName', String),
-    ('cachePosLast', c_long),
-    ('range', struct_FPRange),
-    ('numLengthExtern', c_int),
-    ('numLengthIntern', c_int),
-    ('clipX', c_int),
-    ('clipY', c_int),
-    ('clipZ', c_int),
-    ('tileXY', c_int),
-    ('tileSize', c_int),
-    ('nxy', c_int),
-    ('nTiles', c_int),
-    ('useMask', c_int),
-]
-
-RASTER3D_Map = struct_RASTER3D_Map # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 185
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 220
-class struct_anon_26(Structure):
-    pass
-
-struct_anon_26.__slots__ = [
-    'elts',
-    'nofElts',
-    'eltSize',
-    'names',
-    'locks',
-    'autoLock',
-    'nofUnlocked',
-    'minUnlocked',
-    'next',
-    'prev',
-    'first',
-    'last',
-    'eltRemoveFun',
-    'eltRemoveFunData',
-    'eltLoadFun',
-    'eltLoadFunData',
-    'hash',
-]
-struct_anon_26._fields_ = [
-    ('elts', String),
-    ('nofElts', c_int),
-    ('eltSize', c_int),
-    ('names', POINTER(c_int)),
-    ('locks', String),
-    ('autoLock', c_int),
-    ('nofUnlocked', c_int),
-    ('minUnlocked', c_int),
-    ('next', POINTER(c_int)),
-    ('prev', POINTER(c_int)),
-    ('first', c_int),
-    ('last', c_int),
-    ('eltRemoveFun', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('eltRemoveFunData', POINTER(None)),
-    ('eltLoadFun', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('eltLoadFunData', POINTER(None)),
-    ('hash', POINTER(None)),
-]
-
-RASTER3D_cache = struct_anon_26 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 220
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 234
-class struct_anon_27(Structure):
-    pass
-
-struct_anon_27.__slots__ = [
-    'nofNames',
-    'index',
-    'active',
-    'lastName',
-    'lastIndex',
-    'lastIndexActive',
-]
-struct_anon_27._fields_ = [
-    ('nofNames', c_int),
-    ('index', POINTER(c_int)),
-    ('active', String),
-    ('lastName', c_int),
-    ('lastIndex', c_int),
-    ('lastIndexActive', c_int),
-]
-
-Rast3d_cache_hash = struct_anon_27 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 234
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 239
-class struct__d_interval(Structure):
-    pass
-
-struct__d_interval.__slots__ = [
-    'low',
-    'high',
-    'inf',
-    'next',
-]
-struct__d_interval._fields_ = [
-    ('low', c_double),
-    ('high', c_double),
-    ('inf', c_int),
-    ('next', POINTER(struct__d_interval)),
-]
-
-d_Interval = struct__d_interval # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 244
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 249
-class struct__d_mask(Structure):
-    pass
-
-struct__d_mask.__slots__ = [
-    'list',
-]
-struct__d_mask._fields_ = [
-    ('list', POINTER(d_Interval)),
-]
-
-d_Mask = struct__d_mask # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 249
-
-write_fn = CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 253
-
-read_fn = CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 254
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 7
-try:
-    RASTER3D_TILE_SAME_AS_FILE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 8
-try:
-    RASTER3D_NO_COMPRESSION = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 8
-try:
-    RASTER3D_COMPRESSION = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 9
-try:
-    RASTER3D_USE_LZW = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 9
-try:
-    RASTER3D_NO_LZW = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 10
-try:
-    RASTER3D_USE_RLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 10
-try:
-    RASTER3D_NO_RLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 11
-try:
-    RASTER3D_MAX_PRECISION = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_NO_CACHE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_DEFAULT = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_X = (-2)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_Y = (-3)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_Z = (-4)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_XY = (-5)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_XZ = (-6)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_YZ = (-7)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 12
-try:
-    RASTER3D_USE_CACHE_XYZ = (-8)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 13
-try:
-    RASTER3D_DEFAULT_WINDOW = NULL
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_DIRECTORY = 'grid3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_CELL_ELEMENT = 'cell'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_CATS_ELEMENT = 'cats'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_RANGE_ELEMENT = 'range'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_HEADER_ELEMENT = 'cellhd'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_HISTORY_ELEMENT = 'hist'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_COLOR_ELEMENT = 'color'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_COLOR2_DIRECTORY = 'colr2'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_MASK_MAP = 'RASTER3D_MASK'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_WINDOW_ELEMENT = 'WIND3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_DEFAULT_WINDOW_ELEMENT = 'DEFAULT_WIND3'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_WINDOW_DATABASE = 'windows3d'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 14
-try:
-    RASTER3D_PERMANENT_MAPSET = 'PERMANENT'
-except:
-    pass
-
-RASTER3D_Map = struct_RASTER3D_Map # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 73
-
-_d_interval = struct__d_interval # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 239
-
-_d_mask = struct__d_mask # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/raster3d.h: 249
-
-# No inserted files
-
diff --git a/lib/python/ctypes/stats.py b/lib/python/ctypes/stats.py
deleted file mode 100644
index 7336192..0000000
--- a/lib/python/ctypes/stats.py
+++ /dev/null
@@ -1,844 +0,0 @@
-'''Wrapper for stats.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_stats.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h -o stats.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_stats.7.0.svn"] = load_library("grass_stats.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-stat_func = CFUNCTYPE(UNCHECKED(None), POINTER(DCELL), POINTER(DCELL), c_int, POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 8
-
-stat_func_w = CFUNCTYPE(UNCHECKED(None), POINTER(DCELL), POINTER(DCELL * 2), c_int, POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 9
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 11
-try:
-    c_ave = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_ave')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 12
-try:
-    c_count = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_count')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 13
-try:
-    c_divr = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_divr')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 14
-try:
-    c_intr = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_intr')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 15
-try:
-    c_max = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_max')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 16
-try:
-    c_maxx = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_maxx')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 17
-try:
-    c_median = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_median')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 18
-try:
-    c_min = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_min')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 19
-try:
-    c_minx = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_minx')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 20
-try:
-    c_mode = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_mode')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 21
-try:
-    c_stddev = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_stddev')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 22
-try:
-    c_sum = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_sum')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 23
-try:
-    c_thresh = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_thresh')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 24
-try:
-    c_var = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_var')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 25
-try:
-    c_range = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_range')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 26
-try:
-    c_reg_m = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_reg_m')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 27
-try:
-    c_reg_c = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_reg_c')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 28
-try:
-    c_reg_r2 = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_reg_r2')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 29
-try:
-    c_quart1 = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_quart1')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 30
-try:
-    c_quart3 = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_quart3')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 31
-try:
-    c_perc90 = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_perc90')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 32
-try:
-    c_quant = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_quant')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 33
-try:
-    c_skew = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_skew')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 34
-try:
-    c_kurt = (stat_func).in_dll(_libs['grass_stats.7.0.svn'], 'c_kurt')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 36
-try:
-    w_ave = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_ave')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 37
-try:
-    w_count = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_count')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 38
-try:
-    w_median = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_median')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 39
-try:
-    w_min = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_min')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 40
-try:
-    w_max = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_max')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 41
-try:
-    w_mode = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_mode')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 42
-try:
-    w_quart1 = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_quart1')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 43
-try:
-    w_quart3 = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_quart3')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 44
-try:
-    w_perc90 = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_perc90')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 45
-try:
-    w_quant = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_quant')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 46
-try:
-    w_reg_m = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_reg_m')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 47
-try:
-    w_reg_c = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_reg_c')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 48
-try:
-    w_reg_r2 = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_reg_r2')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 49
-try:
-    w_stddev = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_stddev')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 50
-try:
-    w_sum = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_sum')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 51
-try:
-    w_var = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_var')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 52
-try:
-    w_skew = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_skew')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 53
-try:
-    w_kurt = (stat_func_w).in_dll(_libs['grass_stats.7.0.svn'], 'w_kurt')
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 55
-if hasattr(_libs['grass_stats.7.0.svn'], 'sort_cell'):
-    sort_cell = _libs['grass_stats.7.0.svn'].sort_cell
-    sort_cell.restype = c_int
-    sort_cell.argtypes = [POINTER(DCELL), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/stats.h: 56
-if hasattr(_libs['grass_stats.7.0.svn'], 'sort_cell_w'):
-    sort_cell_w = _libs['grass_stats.7.0.svn'].sort_cell_w
-    sort_cell_w.restype = c_int
-    sort_cell_w.argtypes = [POINTER(DCELL * 2), c_int]
-
-# No inserted files
-
diff --git a/lib/python/ctypes/trans.py b/lib/python/ctypes/trans.py
deleted file mode 100644
index af93d84..0000000
--- a/lib/python/ctypes/trans.py
+++ /dev/null
@@ -1,628 +0,0 @@
-'''Wrapper for transform.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_trans.7.0.svn /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h -o trans.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_trans.7.0.svn"] = load_library("grass_trans.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 11
-if hasattr(_libs['grass_trans.7.0.svn'], 'inverse'):
-    inverse = _libs['grass_trans.7.0.svn'].inverse
-    inverse.restype = c_int
-    inverse.argtypes = [(c_double * 3) * 3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 12
-if hasattr(_libs['grass_trans.7.0.svn'], 'isnull'):
-    isnull = _libs['grass_trans.7.0.svn'].isnull
-    isnull.restype = c_int
-    isnull.argtypes = [(c_double * 3) * 3]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 15
-if hasattr(_libs['grass_trans.7.0.svn'], 'm_mult'):
-    m_mult = _libs['grass_trans.7.0.svn'].m_mult
-    m_mult.restype = c_int
-    m_mult.argtypes = [(c_double * 3) * 3, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 18
-if hasattr(_libs['grass_trans.7.0.svn'], 'compute_transformation_coef'):
-    compute_transformation_coef = _libs['grass_trans.7.0.svn'].compute_transformation_coef
-    compute_transformation_coef.restype = c_int
-    compute_transformation_coef.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 20
-if hasattr(_libs['grass_trans.7.0.svn'], 'transform_a_into_b'):
-    transform_a_into_b = _libs['grass_trans.7.0.svn'].transform_a_into_b
-    transform_a_into_b.restype = c_int
-    transform_a_into_b.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 21
-if hasattr(_libs['grass_trans.7.0.svn'], 'transform_b_into_a'):
-    transform_b_into_a = _libs['grass_trans.7.0.svn'].transform_b_into_a
-    transform_b_into_a.restype = c_int
-    transform_b_into_a.argtypes = [c_double, c_double, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 22
-if hasattr(_libs['grass_trans.7.0.svn'], 'residuals_a_predicts_b'):
-    residuals_a_predicts_b = _libs['grass_trans.7.0.svn'].residuals_a_predicts_b
-    residuals_a_predicts_b.restype = c_int
-    residuals_a_predicts_b.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 24
-if hasattr(_libs['grass_trans.7.0.svn'], 'residuals_b_predicts_a'):
-    residuals_b_predicts_a = _libs['grass_trans.7.0.svn'].residuals_b_predicts_a
-    residuals_b_predicts_a.restype = c_int
-    residuals_b_predicts_a.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int), c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/transform.h: 8
-try:
-    DIM_matrix = 3
-except:
-    pass
-
-# No inserted files
-
diff --git a/lib/python/ctypes/vector.py b/lib/python/ctypes/vector.py
deleted file mode 100644
index c4f2a05..0000000
--- a/lib/python/ctypes/vector.py
+++ /dev/null
@@ -1,5751 +0,0 @@
-'''Wrapper for vector.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_vector.7.0.svn -lgrass_dig2.7.0.svn -lgrass_dgl.7.0.svn -lgrass_rtree.7.0.svn -lgrass_linkm.7.0.svn -lgrass_dbmiclient.7.0.svn -lgrass_dbmibase.7.0.svn -lgrass_btree2.7.0.svn -lgrass_gproj.7.0.svn -I/usr/local/include /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/g [...]
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_vector.7.0.svn"] = load_library("grass_vector.7.0.svn")
-_libs["grass_dig2.7.0.svn"] = load_library("grass_dig2.7.0.svn")
-_libs["grass_dgl.7.0.svn"] = load_library("grass_dgl.7.0.svn")
-_libs["grass_rtree.7.0.svn"] = load_library("grass_rtree.7.0.svn")
-_libs["grass_linkm.7.0.svn"] = load_library("grass_linkm.7.0.svn")
-_libs["grass_dbmiclient.7.0.svn"] = load_library("grass_dbmiclient.7.0.svn")
-_libs["grass_dbmibase.7.0.svn"] = load_library("grass_dbmibase.7.0.svn")
-_libs["grass_btree2.7.0.svn"] = load_library("grass_btree2.7.0.svn")
-_libs["grass_gproj.7.0.svn"] = load_library("grass_gproj.7.0.svn")
-
-# 9 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 273
-class struct_Cell_head(Structure):
-    pass
-
-struct_Cell_head.__slots__ = [
-    'format',
-    'compressed',
-    'rows',
-    'rows3',
-    'cols',
-    'cols3',
-    'depths',
-    'proj',
-    'zone',
-    'ew_res',
-    'ew_res3',
-    'ns_res',
-    'ns_res3',
-    'tb_res',
-    'north',
-    'south',
-    'east',
-    'west',
-    'top',
-    'bottom',
-]
-struct_Cell_head._fields_ = [
-    ('format', c_int),
-    ('compressed', c_int),
-    ('rows', c_int),
-    ('rows3', c_int),
-    ('cols', c_int),
-    ('cols3', c_int),
-    ('depths', c_int),
-    ('proj', c_int),
-    ('zone', c_int),
-    ('ew_res', c_double),
-    ('ew_res3', c_double),
-    ('ns_res', c_double),
-    ('ns_res3', c_double),
-    ('tb_res', c_double),
-    ('north', c_double),
-    ('south', c_double),
-    ('east', c_double),
-    ('west', c_double),
-    ('top', c_double),
-    ('bottom', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 335
-class struct_Option(Structure):
-    pass
-
-struct_Option.__slots__ = [
-    'key',
-    'type',
-    'required',
-    'multiple',
-    'options',
-    'opts',
-    'key_desc',
-    'label',
-    'description',
-    'descriptions',
-    'descs',
-    'answer',
-    '_def',
-    'answers',
-    'next_opt',
-    'gisprompt',
-    'guisection',
-    'guidependency',
-    'checker',
-    'count',
-]
-struct_Option._fields_ = [
-    ('key', String),
-    ('type', c_int),
-    ('required', c_int),
-    ('multiple', c_int),
-    ('options', String),
-    ('opts', POINTER(POINTER(c_char))),
-    ('key_desc', String),
-    ('label', String),
-    ('description', String),
-    ('descriptions', String),
-    ('descs', POINTER(POINTER(c_char))),
-    ('answer', String),
-    ('_def', String),
-    ('answers', POINTER(POINTER(c_char))),
-    ('next_opt', POINTER(struct_Option)),
-    ('gisprompt', String),
-    ('guisection', String),
-    ('guidependency', String),
-    ('checker', CFUNCTYPE(UNCHECKED(c_int), )),
-    ('count', c_int),
-]
-
-DCELL = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 403
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 406
-class struct__Color_Value_(Structure):
-    pass
-
-struct__Color_Value_.__slots__ = [
-    'value',
-    'red',
-    'grn',
-    'blu',
-]
-struct__Color_Value_._fields_ = [
-    ('value', DCELL),
-    ('red', c_ubyte),
-    ('grn', c_ubyte),
-    ('blu', c_ubyte),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 414
-class struct__Color_Rule_(Structure):
-    pass
-
-struct__Color_Rule_.__slots__ = [
-    'low',
-    'high',
-    'next',
-    'prev',
-]
-struct__Color_Rule_._fields_ = [
-    ('low', struct__Color_Value_),
-    ('high', struct__Color_Value_),
-    ('next', POINTER(struct__Color_Rule_)),
-    ('prev', POINTER(struct__Color_Rule_)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 426
-class struct_anon_8(Structure):
-    pass
-
-struct_anon_8.__slots__ = [
-    'red',
-    'grn',
-    'blu',
-    'set',
-    'nalloc',
-    'active',
-]
-struct_anon_8._fields_ = [
-    ('red', POINTER(c_ubyte)),
-    ('grn', POINTER(c_ubyte)),
-    ('blu', POINTER(c_ubyte)),
-    ('set', POINTER(c_ubyte)),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 436
-class struct_anon_9(Structure):
-    pass
-
-struct_anon_9.__slots__ = [
-    'vals',
-    'rules',
-    'nalloc',
-    'active',
-]
-struct_anon_9._fields_ = [
-    ('vals', POINTER(DCELL)),
-    ('rules', POINTER(POINTER(struct__Color_Rule_))),
-    ('nalloc', c_int),
-    ('active', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 421
-class struct__Color_Info_(Structure):
-    pass
-
-struct__Color_Info_.__slots__ = [
-    'rules',
-    'n_rules',
-    'lookup',
-    'fp_lookup',
-    'min',
-    'max',
-]
-struct__Color_Info_._fields_ = [
-    ('rules', POINTER(struct__Color_Rule_)),
-    ('n_rules', c_int),
-    ('lookup', struct_anon_8),
-    ('fp_lookup', struct_anon_9),
-    ('min', DCELL),
-    ('max', DCELL),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/gis.h: 448
-class struct_Colors(Structure):
-    pass
-
-struct_Colors.__slots__ = [
-    'version',
-    'shift',
-    'invert',
-    'is_float',
-    'null_set',
-    'null_red',
-    'null_grn',
-    'null_blu',
-    'undef_set',
-    'undef_red',
-    'undef_grn',
-    'undef_blu',
-    'fixed',
-    'modular',
-    'cmin',
-    'cmax',
-    'organizing',
-]
-struct_Colors._fields_ = [
-    ('version', c_int),
-    ('shift', DCELL),
-    ('invert', c_int),
-    ('is_float', c_int),
-    ('null_set', c_int),
-    ('null_red', c_ubyte),
-    ('null_grn', c_ubyte),
-    ('null_blu', c_ubyte),
-    ('undef_set', c_int),
-    ('undef_red', c_ubyte),
-    ('undef_grn', c_ubyte),
-    ('undef_blu', c_ubyte),
-    ('fixed', struct__Color_Info_),
-    ('modular', struct__Color_Info_),
-    ('cmin', DCELL),
-    ('cmax', DCELL),
-    ('organizing', c_int),
-]
-
-off_t = __off64_t # /usr/include/sys/types.h: 90
-
-enum_overlay_operator = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 216
-
-GV_O_AND = 0 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 216
-
-GV_O_OVERLAP = (GV_O_AND + 1) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 216
-
-OVERLAY_OPERATOR = enum_overlay_operator # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 222
-
-dglByte_t = c_ubyte # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 36
-
-dglInt32_t = c_long # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 37
-
-dglInt64_t = c_longlong # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 38
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 33
-class union__dglHeapData(Union):
-    pass
-
-union__dglHeapData.__slots__ = [
-    'pv',
-    'n',
-    'un',
-    'l',
-    'ul',
-]
-union__dglHeapData._fields_ = [
-    ('pv', POINTER(None)),
-    ('n', c_int),
-    ('un', c_uint),
-    ('l', c_long),
-    ('ul', c_ulong),
-]
-
-dglHeapData_u = union__dglHeapData # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 33
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 42
-class struct__dglHeapNode(Structure):
-    pass
-
-struct__dglHeapNode.__slots__ = [
-    'key',
-    'value',
-    'flags',
-]
-struct__dglHeapNode._fields_ = [
-    ('key', c_long),
-    ('value', dglHeapData_u),
-    ('flags', c_ubyte),
-]
-
-dglHeapNode_s = struct__dglHeapNode # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 42
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 52
-class struct__dglHeap(Structure):
-    pass
-
-struct__dglHeap.__slots__ = [
-    'index',
-    'count',
-    'block',
-    'pnode',
-]
-struct__dglHeap._fields_ = [
-    ('index', c_long),
-    ('count', c_long),
-    ('block', c_long),
-    ('pnode', POINTER(dglHeapNode_s)),
-]
-
-dglHeap_s = struct__dglHeap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 52
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/tree.h: 165
-class struct__dglTreeEdgePri32(Structure):
-    pass
-
-struct__dglTreeEdgePri32.__slots__ = [
-    'nKey',
-    'cnData',
-    'pnData',
-]
-struct__dglTreeEdgePri32._fields_ = [
-    ('nKey', dglInt32_t),
-    ('cnData', dglInt32_t),
-    ('pnData', POINTER(dglInt32_t)),
-]
-
-dglTreeEdgePri32_s = struct__dglTreeEdgePri32 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/tree.h: 165
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 135
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'pvAVL',
-]
-struct_anon_23._fields_ = [
-    ('pvAVL', POINTER(None)),
-]
-
-dglNodePrioritizer_s = struct_anon_23 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 135
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 146
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'cEdge',
-    'iEdge',
-    'pEdgePri32Item',
-    'pvAVL',
-]
-struct_anon_24._fields_ = [
-    ('cEdge', c_int),
-    ('iEdge', c_int),
-    ('pEdgePri32Item', POINTER(dglTreeEdgePri32_s)),
-    ('pvAVL', POINTER(None)),
-]
-
-dglEdgePrioritizer_s = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 146
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 193
-class struct__dglGraph(Structure):
-    pass
-
-struct__dglGraph.__slots__ = [
-    'iErrno',
-    'Version',
-    'Endian',
-    'NodeAttrSize',
-    'EdgeAttrSize',
-    'aOpaqueSet',
-    'cNode',
-    'cHead',
-    'cTail',
-    'cAlone',
-    'cEdge',
-    'nnCost',
-    'Flags',
-    'nFamily',
-    'nOptions',
-    'pNodeTree',
-    'pEdgeTree',
-    'pNodeBuffer',
-    'iNodeBuffer',
-    'pEdgeBuffer',
-    'iEdgeBuffer',
-    'edgePrioritizer',
-    'nodePrioritizer',
-]
-struct__dglGraph._fields_ = [
-    ('iErrno', c_int),
-    ('Version', dglByte_t),
-    ('Endian', dglByte_t),
-    ('NodeAttrSize', dglInt32_t),
-    ('EdgeAttrSize', dglInt32_t),
-    ('aOpaqueSet', dglInt32_t * 16),
-    ('cNode', dglInt32_t),
-    ('cHead', dglInt32_t),
-    ('cTail', dglInt32_t),
-    ('cAlone', dglInt32_t),
-    ('cEdge', dglInt32_t),
-    ('nnCost', dglInt64_t),
-    ('Flags', dglInt32_t),
-    ('nFamily', dglInt32_t),
-    ('nOptions', dglInt32_t),
-    ('pNodeTree', POINTER(None)),
-    ('pEdgeTree', POINTER(None)),
-    ('pNodeBuffer', POINTER(dglByte_t)),
-    ('iNodeBuffer', dglInt32_t),
-    ('pEdgeBuffer', POINTER(dglByte_t)),
-    ('iEdgeBuffer', dglInt32_t),
-    ('edgePrioritizer', dglEdgePrioritizer_s),
-    ('nodePrioritizer', dglNodePrioritizer_s),
-]
-
-dglGraph_s = struct__dglGraph # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 193
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 243
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'nStartNode',
-    'NodeHeap',
-    'pvVisited',
-    'pvPredist',
-]
-struct_anon_25._fields_ = [
-    ('nStartNode', dglInt32_t),
-    ('NodeHeap', dglHeap_s),
-    ('pvVisited', POINTER(None)),
-    ('pvPredist', POINTER(None)),
-]
-
-dglSPCache_s = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 243
-
-RectReal = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 29
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 59
-class struct_RTree_Rect(Structure):
-    pass
-
-struct_RTree_Rect.__slots__ = [
-    'boundary',
-]
-struct_RTree_Rect._fields_ = [
-    ('boundary', RectReal * (2 * 3)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 79
-class struct_RTree_Node(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 66
-class union_RTree_Child(Union):
-    pass
-
-union_RTree_Child.__slots__ = [
-    'id',
-    'ptr',
-    'pos',
-]
-union_RTree_Child._fields_ = [
-    ('id', c_int),
-    ('ptr', POINTER(struct_RTree_Node)),
-    ('pos', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 73
-class struct_RTree_Branch(Structure):
-    pass
-
-struct_RTree_Branch.__slots__ = [
-    'rect',
-    'child',
-]
-struct_RTree_Branch._fields_ = [
-    ('rect', struct_RTree_Rect),
-    ('child', union_RTree_Child),
-]
-
-struct_RTree_Node.__slots__ = [
-    'count',
-    'level',
-    'branch',
-]
-struct_RTree_Node._fields_ = [
-    ('count', c_int),
-    ('level', c_int),
-    ('branch', struct_RTree_Branch * 9),
-]
-
-SearchHitCallback = CFUNCTYPE(UNCHECKED(c_int), c_int, struct_RTree_Rect, POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 93
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 103
-class struct_RTree(Structure):
-    pass
-
-rt_search_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree), POINTER(struct_RTree_Rect), POINTER(SearchHitCallback), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 97
-
-rt_insert_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree_Rect), union_RTree_Child, c_int, POINTER(struct_RTree)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 99
-
-rt_delete_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree_Rect), union_RTree_Child, POINTER(struct_RTree)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 100
-
-rt_valid_child_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(union_RTree_Child)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 101
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 127
-class struct__recycle(Structure):
-    pass
-
-struct__recycle.__slots__ = [
-    'avail',
-    'alloc',
-    'pos',
-]
-struct__recycle._fields_ = [
-    ('avail', c_int),
-    ('alloc', c_int),
-    ('pos', POINTER(off_t)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 135
-class struct_NodeBuffer(Structure):
-    pass
-
-struct_NodeBuffer.__slots__ = [
-    'n',
-    'pos',
-    'dirty',
-]
-struct_NodeBuffer._fields_ = [
-    ('n', struct_RTree_Node),
-    ('pos', off_t),
-    ('dirty', c_char),
-]
-
-struct_RTree.__slots__ = [
-    'fd',
-    'ndims',
-    'nsides',
-    'nodesize',
-    'branchsize',
-    'rectsize',
-    'n_nodes',
-    'n_leafs',
-    'rootlevel',
-    'nodecard',
-    'leafcard',
-    'min_node_fill',
-    'min_leaf_fill',
-    'minfill_node_split',
-    'minfill_leaf_split',
-    'free_nodes',
-    'nb',
-    'used',
-    'insert_rect',
-    'delete_rect',
-    'search_rect',
-    'valid_child',
-    'root',
-    'rootpos',
-]
-struct_RTree._fields_ = [
-    ('fd', c_int),
-    ('ndims', c_ubyte),
-    ('nsides', c_ubyte),
-    ('nodesize', c_int),
-    ('branchsize', c_int),
-    ('rectsize', c_int),
-    ('n_nodes', c_int),
-    ('n_leafs', c_int),
-    ('rootlevel', c_int),
-    ('nodecard', c_int),
-    ('leafcard', c_int),
-    ('min_node_fill', c_int),
-    ('min_leaf_fill', c_int),
-    ('minfill_node_split', c_int),
-    ('minfill_leaf_split', c_int),
-    ('free_nodes', struct__recycle),
-    ('nb', (struct_NodeBuffer * 3) * 20),
-    ('used', (c_char * 3) * 20),
-    ('insert_rect', POINTER(rt_insert_fn)),
-    ('delete_rect', POINTER(rt_delete_fn)),
-    ('search_rect', POINTER(rt_search_fn)),
-    ('valid_child', POINTER(rt_valid_child_fn)),
-    ('root', POINTER(struct_RTree_Node)),
-    ('rootpos', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 149
-class struct__dbmscap(Structure):
-    pass
-
-struct__dbmscap.__slots__ = [
-    'driverName',
-    'startup',
-    'comment',
-    'next',
-]
-struct__dbmscap._fields_ = [
-    ('driverName', c_char * 256),
-    ('startup', c_char * 256),
-    ('comment', c_char * 256),
-    ('next', POINTER(struct__dbmscap)),
-]
-
-dbDbmscap = struct__dbmscap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 155
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-class struct__db_driver(Structure):
-    pass
-
-struct__db_driver.__slots__ = [
-    'dbmscap',
-    'send',
-    'recv',
-    'pid',
-]
-struct__db_driver._fields_ = [
-    ('dbmscap', dbDbmscap),
-    ('send', POINTER(FILE)),
-    ('recv', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-dbDriver = struct__db_driver # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-
-OGRFeatureH = POINTER(None) # /usr/local/include/ogr_api.h: 199
-
-OGRLayerH = POINTER(None) # /usr/local/include/ogr_api.h: 302
-
-OGRDataSourceH = POINTER(None) # /usr/local/include/ogr_api.h: 303
-
-OGRSFDriverH = POINTER(None) # /usr/local/include/ogr_api.h: 304
-
-plus_t = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 41
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 46
-class struct_site_att(Structure):
-    pass
-
-struct_site_att.__slots__ = [
-    'cat',
-    'dbl',
-    'str',
-]
-struct_site_att._fields_ = [
-    ('cat', c_int),
-    ('dbl', POINTER(c_double)),
-    ('str', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 65
-class struct_bound_box(Structure):
-    pass
-
-struct_bound_box.__slots__ = [
-    'N',
-    'S',
-    'E',
-    'W',
-    'T',
-    'B',
-]
-struct_bound_box._fields_ = [
-    ('N', c_double),
-    ('S', c_double),
-    ('E', c_double),
-    ('W', c_double),
-    ('T', c_double),
-    ('B', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 96
-class struct_gvfile(Structure):
-    pass
-
-struct_gvfile.__slots__ = [
-    'file',
-    'start',
-    'current',
-    'end',
-    'size',
-    'alloc',
-    'loaded',
-]
-struct_gvfile._fields_ = [
-    ('file', POINTER(FILE)),
-    ('start', String),
-    ('current', String),
-    ('end', String),
-    ('size', off_t),
-    ('alloc', off_t),
-    ('loaded', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 134
-class struct_field_info(Structure):
-    pass
-
-struct_field_info.__slots__ = [
-    'number',
-    'name',
-    'driver',
-    'database',
-    'table',
-    'key',
-]
-struct_field_info._fields_ = [
-    ('number', c_int),
-    ('name', String),
-    ('driver', String),
-    ('database', String),
-    ('table', String),
-    ('key', String),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 165
-class struct_dblinks(Structure):
-    pass
-
-struct_dblinks.__slots__ = [
-    'field',
-    'alloc_fields',
-    'n_fields',
-]
-struct_dblinks._fields_ = [
-    ('field', POINTER(struct_field_info)),
-    ('alloc_fields', c_int),
-    ('n_fields', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 186
-class struct_Port_info(Structure):
-    pass
-
-struct_Port_info.__slots__ = [
-    'byte_order',
-    'off_t_size',
-    'dbl_cnvrt',
-    'flt_cnvrt',
-    'lng_cnvrt',
-    'int_cnvrt',
-    'shrt_cnvrt',
-    'off_t_cnvrt',
-    'dbl_quick',
-    'flt_quick',
-    'lng_quick',
-    'int_quick',
-    'shrt_quick',
-    'off_t_quick',
-]
-struct_Port_info._fields_ = [
-    ('byte_order', c_int),
-    ('off_t_size', c_int),
-    ('dbl_cnvrt', c_ubyte * 8),
-    ('flt_cnvrt', c_ubyte * 4),
-    ('lng_cnvrt', c_ubyte * 4),
-    ('int_cnvrt', c_ubyte * 4),
-    ('shrt_cnvrt', c_ubyte * 2),
-    ('off_t_cnvrt', c_ubyte * 8),
-    ('dbl_quick', c_int),
-    ('flt_quick', c_int),
-    ('lng_quick', c_int),
-    ('int_quick', c_int),
-    ('shrt_quick', c_int),
-    ('off_t_quick', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 272
-class struct_recycle(Structure):
-    pass
-
-struct_recycle.__slots__ = [
-    'dummy',
-]
-struct_recycle._fields_ = [
-    ('dummy', c_char),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 282
-class struct_dig_head(Structure):
-    pass
-
-struct_dig_head.__slots__ = [
-    'organization',
-    'date',
-    'user_name',
-    'map_name',
-    'source_date',
-    'orig_scale',
-    'comment',
-    'proj',
-    'plani_zone',
-    'digit_thresh',
-    'Version_Major',
-    'Version_Minor',
-    'Back_Major',
-    'Back_Minor',
-    'with_z',
-    'size',
-    'head_size',
-    'port',
-    'last_offset',
-    'recycle',
-]
-struct_dig_head._fields_ = [
-    ('organization', String),
-    ('date', String),
-    ('user_name', String),
-    ('map_name', String),
-    ('source_date', String),
-    ('orig_scale', c_long),
-    ('comment', String),
-    ('proj', c_int),
-    ('plani_zone', c_int),
-    ('digit_thresh', c_double),
-    ('Version_Major', c_int),
-    ('Version_Minor', c_int),
-    ('Back_Major', c_int),
-    ('Back_Minor', c_int),
-    ('with_z', c_int),
-    ('size', off_t),
-    ('head_size', c_long),
-    ('port', struct_Port_info),
-    ('last_offset', off_t),
-    ('recycle', POINTER(struct_recycle)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 381
-class struct_Coor_info(Structure):
-    pass
-
-struct_Coor_info.__slots__ = [
-    'size',
-    'mtime',
-]
-struct_Coor_info._fields_ = [
-    ('size', off_t),
-    ('mtime', c_long),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1469
-class struct_line_pnts(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 399
-class struct_Format_info_ogr(Structure):
-    pass
-
-struct_Format_info_ogr.__slots__ = [
-    'driver_name',
-    'dsn',
-    'layer_name',
-    'driver',
-    'ds',
-    'layer',
-    'dbdriver',
-    'dsn_options',
-    'layer_options',
-    'lines',
-    'lines_types',
-    'lines_alloc',
-    'lines_num',
-    'lines_next',
-    'feature_cache',
-    'feature_cache_id',
-    'offset',
-    'offset_num',
-    'offset_alloc',
-    'next_line',
-]
-struct_Format_info_ogr._fields_ = [
-    ('driver_name', String),
-    ('dsn', String),
-    ('layer_name', String),
-    ('driver', OGRSFDriverH),
-    ('ds', OGRDataSourceH),
-    ('layer', OGRLayerH),
-    ('dbdriver', POINTER(dbDriver)),
-    ('dsn_options', POINTER(POINTER(c_char))),
-    ('layer_options', POINTER(POINTER(c_char))),
-    ('lines', POINTER(POINTER(struct_line_pnts))),
-    ('lines_types', POINTER(c_int)),
-    ('lines_alloc', c_int),
-    ('lines_num', c_int),
-    ('lines_next', c_int),
-    ('feature_cache', OGRFeatureH),
-    ('feature_cache_id', c_int),
-    ('offset', POINTER(c_int)),
-    ('offset_num', c_int),
-    ('offset_alloc', c_int),
-    ('next_line', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 522
-class struct_Format_info(Structure):
-    pass
-
-struct_Format_info.__slots__ = [
-    'i',
-    'ogr',
-]
-struct_Format_info._fields_ = [
-    ('i', c_int),
-    ('ogr', struct_Format_info_ogr),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 537
-class struct_Cat_index(Structure):
-    pass
-
-struct_Cat_index.__slots__ = [
-    'field',
-    'n_cats',
-    'a_cats',
-    'cat',
-    'n_ucats',
-    'n_types',
-    'type',
-    'offset',
-]
-struct_Cat_index._fields_ = [
-    ('field', c_int),
-    ('n_cats', c_int),
-    ('a_cats', c_int),
-    ('cat', POINTER(c_int * 3)),
-    ('n_ucats', c_int),
-    ('n_types', c_int),
-    ('type', (c_int * 2) * 7),
-    ('offset', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1249
-class struct_P_node(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1371
-class struct_P_line(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1399
-class struct_P_area(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1440
-class struct_P_isle(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 586
-class struct_Plus_head(Structure):
-    pass
-
-struct_Plus_head.__slots__ = [
-    'Version_Major',
-    'Version_Minor',
-    'Back_Major',
-    'Back_Minor',
-    'spidx_Version_Major',
-    'spidx_Version_Minor',
-    'spidx_Back_Major',
-    'spidx_Back_Minor',
-    'cidx_Version_Major',
-    'cidx_Version_Minor',
-    'cidx_Back_Major',
-    'cidx_Back_Minor',
-    'with_z',
-    'spidx_with_z',
-    'off_t_size',
-    'head_size',
-    'spidx_head_size',
-    'cidx_head_size',
-    'release_support',
-    'port',
-    'spidx_port',
-    'cidx_port',
-    'mode',
-    'built',
-    'box',
-    'Node',
-    'Line',
-    'Area',
-    'Isle',
-    'n_plines',
-    'n_llines',
-    'n_blines',
-    'n_clines',
-    'n_flines',
-    'n_klines',
-    'n_vfaces',
-    'n_hfaces',
-    'n_nodes',
-    'n_edges',
-    'n_lines',
-    'n_areas',
-    'n_isles',
-    'n_faces',
-    'n_volumes',
-    'n_holes',
-    'alloc_nodes',
-    'alloc_edges',
-    'alloc_lines',
-    'alloc_areas',
-    'alloc_isles',
-    'alloc_faces',
-    'alloc_volumes',
-    'alloc_holes',
-    'Node_offset',
-    'Edge_offset',
-    'Line_offset',
-    'Area_offset',
-    'Isle_offset',
-    'Volume_offset',
-    'Hole_offset',
-    'Spidx_built',
-    'Spidx_new',
-    'Spidx_file',
-    'spidx_fp',
-    'Node_spidx_offset',
-    'Line_spidx_offset',
-    'Area_spidx_offset',
-    'Isle_spidx_offset',
-    'Face_spidx_offset',
-    'Volume_spidx_offset',
-    'Hole_spidx_offset',
-    'Node_spidx',
-    'Line_spidx',
-    'Area_spidx',
-    'Isle_spidx',
-    'Face_spidx',
-    'Volume_spidx',
-    'Hole_spidx',
-    'update_cidx',
-    'n_cidx',
-    'a_cidx',
-    'cidx',
-    'cidx_up_to_date',
-    'coor_size',
-    'coor_mtime',
-    'do_uplist',
-    'uplines',
-    'alloc_uplines',
-    'n_uplines',
-    'upnodes',
-    'alloc_upnodes',
-    'n_upnodes',
-]
-struct_Plus_head._fields_ = [
-    ('Version_Major', c_int),
-    ('Version_Minor', c_int),
-    ('Back_Major', c_int),
-    ('Back_Minor', c_int),
-    ('spidx_Version_Major', c_int),
-    ('spidx_Version_Minor', c_int),
-    ('spidx_Back_Major', c_int),
-    ('spidx_Back_Minor', c_int),
-    ('cidx_Version_Major', c_int),
-    ('cidx_Version_Minor', c_int),
-    ('cidx_Back_Major', c_int),
-    ('cidx_Back_Minor', c_int),
-    ('with_z', c_int),
-    ('spidx_with_z', c_int),
-    ('off_t_size', c_int),
-    ('head_size', c_long),
-    ('spidx_head_size', c_long),
-    ('cidx_head_size', c_long),
-    ('release_support', c_int),
-    ('port', struct_Port_info),
-    ('spidx_port', struct_Port_info),
-    ('cidx_port', struct_Port_info),
-    ('mode', c_int),
-    ('built', c_int),
-    ('box', struct_bound_box),
-    ('Node', POINTER(POINTER(struct_P_node))),
-    ('Line', POINTER(POINTER(struct_P_line))),
-    ('Area', POINTER(POINTER(struct_P_area))),
-    ('Isle', POINTER(POINTER(struct_P_isle))),
-    ('n_plines', plus_t),
-    ('n_llines', plus_t),
-    ('n_blines', plus_t),
-    ('n_clines', plus_t),
-    ('n_flines', plus_t),
-    ('n_klines', plus_t),
-    ('n_vfaces', plus_t),
-    ('n_hfaces', plus_t),
-    ('n_nodes', plus_t),
-    ('n_edges', plus_t),
-    ('n_lines', plus_t),
-    ('n_areas', plus_t),
-    ('n_isles', plus_t),
-    ('n_faces', plus_t),
-    ('n_volumes', plus_t),
-    ('n_holes', plus_t),
-    ('alloc_nodes', plus_t),
-    ('alloc_edges', plus_t),
-    ('alloc_lines', plus_t),
-    ('alloc_areas', plus_t),
-    ('alloc_isles', plus_t),
-    ('alloc_faces', plus_t),
-    ('alloc_volumes', plus_t),
-    ('alloc_holes', plus_t),
-    ('Node_offset', off_t),
-    ('Edge_offset', off_t),
-    ('Line_offset', off_t),
-    ('Area_offset', off_t),
-    ('Isle_offset', off_t),
-    ('Volume_offset', off_t),
-    ('Hole_offset', off_t),
-    ('Spidx_built', c_int),
-    ('Spidx_new', c_int),
-    ('Spidx_file', c_int),
-    ('spidx_fp', struct_gvfile),
-    ('Node_spidx_offset', off_t),
-    ('Line_spidx_offset', off_t),
-    ('Area_spidx_offset', off_t),
-    ('Isle_spidx_offset', off_t),
-    ('Face_spidx_offset', off_t),
-    ('Volume_spidx_offset', off_t),
-    ('Hole_spidx_offset', off_t),
-    ('Node_spidx', POINTER(struct_RTree)),
-    ('Line_spidx', POINTER(struct_RTree)),
-    ('Area_spidx', POINTER(struct_RTree)),
-    ('Isle_spidx', POINTER(struct_RTree)),
-    ('Face_spidx', POINTER(struct_RTree)),
-    ('Volume_spidx', POINTER(struct_RTree)),
-    ('Hole_spidx', POINTER(struct_RTree)),
-    ('update_cidx', c_int),
-    ('n_cidx', c_int),
-    ('a_cidx', c_int),
-    ('cidx', POINTER(struct_Cat_index)),
-    ('cidx_up_to_date', c_int),
-    ('coor_size', off_t),
-    ('coor_mtime', c_long),
-    ('do_uplist', c_int),
-    ('uplines', POINTER(c_int)),
-    ('alloc_uplines', c_int),
-    ('n_uplines', c_int),
-    ('upnodes', POINTER(c_int)),
-    ('alloc_upnodes', c_int),
-    ('n_upnodes', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1052
-class struct_Map_info(Structure):
-    pass
-
-struct_Map_info.__slots__ = [
-    'format',
-    'temporary',
-    'dblnk',
-    'plus',
-    'graph_line_type',
-    'graph',
-    'spCache',
-    'edge_fcosts',
-    'edge_bcosts',
-    'node_costs',
-    'cost_multip',
-    'open',
-    'mode',
-    'level',
-    'head_only',
-    'support_updated',
-    'next_line',
-    'name',
-    'mapset',
-    'location',
-    'gisdbase',
-    'Constraint_region_flag',
-    'Constraint_type_flag',
-    'Constraint_box',
-    'Constraint_type',
-    'proj',
-    'dig_fp',
-    'head',
-    'fInfo',
-    'hist_fp',
-    'site_att',
-    'n_site_att',
-    'n_site_dbl',
-    'n_site_str',
-]
-struct_Map_info._fields_ = [
-    ('format', c_int),
-    ('temporary', c_int),
-    ('dblnk', POINTER(struct_dblinks)),
-    ('plus', struct_Plus_head),
-    ('graph_line_type', c_int),
-    ('graph', dglGraph_s),
-    ('spCache', dglSPCache_s),
-    ('edge_fcosts', POINTER(c_double)),
-    ('edge_bcosts', POINTER(c_double)),
-    ('node_costs', POINTER(c_double)),
-    ('cost_multip', c_int),
-    ('open', c_int),
-    ('mode', c_int),
-    ('level', c_int),
-    ('head_only', c_int),
-    ('support_updated', c_int),
-    ('next_line', plus_t),
-    ('name', String),
-    ('mapset', String),
-    ('location', String),
-    ('gisdbase', String),
-    ('Constraint_region_flag', c_int),
-    ('Constraint_type_flag', c_int),
-    ('Constraint_box', struct_bound_box),
-    ('Constraint_type', c_int),
-    ('proj', c_int),
-    ('dig_fp', struct_gvfile),
-    ('head', struct_dig_head),
-    ('fInfo', struct_Format_info),
-    ('hist_fp', POINTER(FILE)),
-    ('site_att', POINTER(struct_site_att)),
-    ('n_site_att', c_int),
-    ('n_site_dbl', c_int),
-    ('n_site_str', c_int),
-]
-
-struct_P_node.__slots__ = [
-    'x',
-    'y',
-    'z',
-    'alloc_lines',
-    'n_lines',
-    'lines',
-    'angles',
-]
-struct_P_node._fields_ = [
-    ('x', c_double),
-    ('y', c_double),
-    ('z', c_double),
-    ('alloc_lines', plus_t),
-    ('n_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('angles', POINTER(c_float)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1291
-class struct_P_topo_l(Structure):
-    pass
-
-struct_P_topo_l.__slots__ = [
-    'N1',
-    'N2',
-]
-struct_P_topo_l._fields_ = [
-    ('N1', plus_t),
-    ('N2', plus_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1306
-class struct_P_topo_b(Structure):
-    pass
-
-struct_P_topo_b.__slots__ = [
-    'N1',
-    'N2',
-    'left',
-    'right',
-]
-struct_P_topo_b._fields_ = [
-    ('N1', plus_t),
-    ('N2', plus_t),
-    ('left', plus_t),
-    ('right', plus_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1329
-class struct_P_topo_c(Structure):
-    pass
-
-struct_P_topo_c.__slots__ = [
-    'area',
-]
-struct_P_topo_c._fields_ = [
-    ('area', plus_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1340
-class struct_P_topo_f(Structure):
-    pass
-
-struct_P_topo_f.__slots__ = [
-    'E',
-    'left',
-    'right',
-]
-struct_P_topo_f._fields_ = [
-    ('E', plus_t * 3),
-    ('left', plus_t),
-    ('right', plus_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1360
-class struct_P_topo_k(Structure):
-    pass
-
-struct_P_topo_k.__slots__ = [
-    'volume',
-]
-struct_P_topo_k._fields_ = [
-    ('volume', plus_t),
-]
-
-struct_P_line.__slots__ = [
-    'type',
-    'offset',
-    'topo',
-]
-struct_P_line._fields_ = [
-    ('type', c_char),
-    ('offset', off_t),
-    ('topo', POINTER(None)),
-]
-
-struct_P_area.__slots__ = [
-    'n_lines',
-    'alloc_lines',
-    'lines',
-    'centroid',
-    'n_isles',
-    'alloc_isles',
-    'isles',
-]
-struct_P_area._fields_ = [
-    ('n_lines', plus_t),
-    ('alloc_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('centroid', plus_t),
-    ('n_isles', plus_t),
-    ('alloc_isles', plus_t),
-    ('isles', POINTER(plus_t)),
-]
-
-struct_P_isle.__slots__ = [
-    'n_lines',
-    'alloc_lines',
-    'lines',
-    'area',
-]
-struct_P_isle._fields_ = [
-    ('n_lines', plus_t),
-    ('alloc_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('area', plus_t),
-]
-
-struct_line_pnts.__slots__ = [
-    'x',
-    'y',
-    'z',
-    'n_points',
-    'alloc_points',
-]
-struct_line_pnts._fields_ = [
-    ('x', POINTER(c_double)),
-    ('y', POINTER(c_double)),
-    ('z', POINTER(c_double)),
-    ('n_points', c_int),
-    ('alloc_points', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1496
-class struct_line_cats(Structure):
-    pass
-
-struct_line_cats.__slots__ = [
-    'field',
-    'cat',
-    'n_cats',
-    'alloc_cats',
-]
-struct_line_cats._fields_ = [
-    ('field', POINTER(c_int)),
-    ('cat', POINTER(c_int)),
-    ('n_cats', c_int),
-    ('alloc_cats', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1517
-class struct_cat_list(Structure):
-    pass
-
-struct_cat_list.__slots__ = [
-    'field',
-    'min',
-    'max',
-    'n_ranges',
-    'alloc_ranges',
-]
-struct_cat_list._fields_ = [
-    ('field', c_int),
-    ('min', POINTER(c_int)),
-    ('max', POINTER(c_int)),
-    ('n_ranges', c_int),
-    ('alloc_ranges', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1546
-class struct_ilist(Structure):
-    pass
-
-struct_ilist.__slots__ = [
-    'value',
-    'n_values',
-    'alloc_values',
-]
-struct_ilist._fields_ = [
-    ('value', POINTER(c_int)),
-    ('n_values', c_int),
-    ('alloc_values', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1565
-class struct_boxlist(Structure):
-    pass
-
-struct_boxlist.__slots__ = [
-    'id',
-    'box',
-    'have_boxes',
-    'n_values',
-    'alloc_values',
-]
-struct_boxlist._fields_ = [
-    ('id', POINTER(c_int)),
-    ('box', POINTER(struct_bound_box)),
-    ('have_boxes', c_int),
-    ('n_values', c_int),
-    ('alloc_values', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1594
-class struct_varray(Structure):
-    pass
-
-struct_varray.__slots__ = [
-    'size',
-    'c',
-]
-struct_varray._fields_ = [
-    ('size', c_int),
-    ('c', POINTER(c_int)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1614
-class struct_spatial_index(Structure):
-    pass
-
-struct_spatial_index.__slots__ = [
-    'si_tree',
-    'name',
-]
-struct_spatial_index._fields_ = [
-    ('si_tree', POINTER(struct_RTree)),
-    ('name', String),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 20
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_line_struct'):
-    Vect_new_line_struct = _libs['grass_vector.7.0.svn'].Vect_new_line_struct
-    Vect_new_line_struct.restype = POINTER(struct_line_pnts)
-    Vect_new_line_struct.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 21
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_append_point'):
-    Vect_append_point = _libs['grass_vector.7.0.svn'].Vect_append_point
-    Vect_append_point.restype = c_int
-    Vect_append_point.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 22
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_append_points'):
-    Vect_append_points = _libs['grass_vector.7.0.svn'].Vect_append_points
-    Vect_append_points.restype = c_int
-    Vect_append_points.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 23
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_insert_point'):
-    Vect_line_insert_point = _libs['grass_vector.7.0.svn'].Vect_line_insert_point
-    Vect_line_insert_point.restype = c_int
-    Vect_line_insert_point.argtypes = [POINTER(struct_line_pnts), c_int, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 24
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_delete_point'):
-    Vect_line_delete_point = _libs['grass_vector.7.0.svn'].Vect_line_delete_point
-    Vect_line_delete_point.restype = c_int
-    Vect_line_delete_point.argtypes = [POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 25
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_get_point'):
-    Vect_line_get_point = _libs['grass_vector.7.0.svn'].Vect_line_get_point
-    Vect_line_get_point.restype = c_int
-    Vect_line_get_point.argtypes = [POINTER(struct_line_pnts), c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 27
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_line_points'):
-    Vect_get_num_line_points = _libs['grass_vector.7.0.svn'].Vect_get_num_line_points
-    Vect_get_num_line_points.restype = c_int
-    Vect_get_num_line_points.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 28
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_prune'):
-    Vect_line_prune = _libs['grass_vector.7.0.svn'].Vect_line_prune
-    Vect_line_prune.restype = c_int
-    Vect_line_prune.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 29
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_prune_thresh'):
-    Vect_line_prune_thresh = _libs['grass_vector.7.0.svn'].Vect_line_prune_thresh
-    Vect_line_prune_thresh.restype = c_int
-    Vect_line_prune_thresh.argtypes = [POINTER(struct_line_pnts), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 30
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_reverse'):
-    Vect_line_reverse = _libs['grass_vector.7.0.svn'].Vect_line_reverse
-    Vect_line_reverse.restype = None
-    Vect_line_reverse.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 31
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_xyz_to_pnts'):
-    Vect_copy_xyz_to_pnts = _libs['grass_vector.7.0.svn'].Vect_copy_xyz_to_pnts
-    Vect_copy_xyz_to_pnts.restype = c_int
-    Vect_copy_xyz_to_pnts.argtypes = [POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 33
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_pnts_to_xyz'):
-    Vect_copy_pnts_to_xyz = _libs['grass_vector.7.0.svn'].Vect_copy_pnts_to_xyz
-    Vect_copy_pnts_to_xyz.restype = c_int
-    Vect_copy_pnts_to_xyz.argtypes = [POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 35
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_line'):
-    Vect_reset_line = _libs['grass_vector.7.0.svn'].Vect_reset_line
-    Vect_reset_line.restype = None
-    Vect_reset_line.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 36
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_line_struct'):
-    Vect_destroy_line_struct = _libs['grass_vector.7.0.svn'].Vect_destroy_line_struct
-    Vect_destroy_line_struct.restype = None
-    Vect_destroy_line_struct.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 37
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_on_line'):
-    Vect_point_on_line = _libs['grass_vector.7.0.svn'].Vect_point_on_line
-    Vect_point_on_line.restype = c_int
-    Vect_point_on_line.argtypes = [POINTER(struct_line_pnts), c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 39
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_segment'):
-    Vect_line_segment = _libs['grass_vector.7.0.svn'].Vect_line_segment
-    Vect_line_segment.restype = c_int
-    Vect_line_segment.argtypes = [POINTER(struct_line_pnts), c_double, c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 40
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_length'):
-    Vect_line_length = _libs['grass_vector.7.0.svn'].Vect_line_length
-    Vect_line_length.restype = c_double
-    Vect_line_length.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 41
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_area_perimeter'):
-    Vect_area_perimeter = _libs['grass_vector.7.0.svn'].Vect_area_perimeter
-    Vect_area_perimeter.restype = c_double
-    Vect_area_perimeter.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 42
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_geodesic_length'):
-    Vect_line_geodesic_length = _libs['grass_vector.7.0.svn'].Vect_line_geodesic_length
-    Vect_line_geodesic_length.restype = c_double
-    Vect_line_geodesic_length.argtypes = [POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 43
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_distance'):
-    Vect_line_distance = _libs['grass_vector.7.0.svn'].Vect_line_distance
-    Vect_line_distance.restype = c_int
-    Vect_line_distance.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_double, c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 46
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_box'):
-    Vect_line_box = _libs['grass_vector.7.0.svn'].Vect_line_box
-    Vect_line_box.restype = None
-    Vect_line_box.argtypes = [POINTER(struct_line_pnts), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 47
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_parallel'):
-    Vect_line_parallel = _libs['grass_vector.7.0.svn'].Vect_line_parallel
-    Vect_line_parallel.restype = None
-    Vect_line_parallel.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_int, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 49
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_parallel2'):
-    Vect_line_parallel2 = _libs['grass_vector.7.0.svn'].Vect_line_parallel2
-    Vect_line_parallel2.restype = None
-    Vect_line_parallel2.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_double, c_int, c_int, c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 52
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_buffer'):
-    Vect_line_buffer = _libs['grass_vector.7.0.svn'].Vect_line_buffer
-    Vect_line_buffer.restype = None
-    Vect_line_buffer.argtypes = [POINTER(struct_line_pnts), c_double, c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 53
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_buffer2'):
-    Vect_line_buffer2 = _libs['grass_vector.7.0.svn'].Vect_line_buffer2
-    Vect_line_buffer2.restype = None
-    Vect_line_buffer2.argtypes = [POINTER(struct_line_pnts), c_double, c_double, c_double, c_int, c_int, c_double, POINTER(POINTER(struct_line_pnts)), POINTER(POINTER(POINTER(struct_line_pnts))), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 57
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_area_buffer2'):
-    Vect_area_buffer2 = _libs['grass_vector.7.0.svn'].Vect_area_buffer2
-    Vect_area_buffer2.restype = None
-    Vect_area_buffer2.argtypes = [POINTER(struct_Map_info), c_int, c_double, c_double, c_double, c_int, c_int, c_double, POINTER(POINTER(struct_line_pnts)), POINTER(POINTER(POINTER(struct_line_pnts))), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 61
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_buffer2'):
-    Vect_point_buffer2 = _libs['grass_vector.7.0.svn'].Vect_point_buffer2
-    Vect_point_buffer2.restype = None
-    Vect_point_buffer2.argtypes = [c_double, c_double, c_double, c_double, c_double, c_int, c_double, POINTER(POINTER(struct_line_pnts))]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 67
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_cats_struct'):
-    Vect_new_cats_struct = _libs['grass_vector.7.0.svn'].Vect_new_cats_struct
-    Vect_new_cats_struct.restype = POINTER(struct_line_cats)
-    Vect_new_cats_struct.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 68
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_set'):
-    Vect_cat_set = _libs['grass_vector.7.0.svn'].Vect_cat_set
-    Vect_cat_set.restype = c_int
-    Vect_cat_set.argtypes = [POINTER(struct_line_cats), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 69
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_get'):
-    Vect_cat_get = _libs['grass_vector.7.0.svn'].Vect_cat_get
-    Vect_cat_get.restype = c_int
-    Vect_cat_get.argtypes = [POINTER(struct_line_cats), c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 70
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_del'):
-    Vect_cat_del = _libs['grass_vector.7.0.svn'].Vect_cat_del
-    Vect_cat_del.restype = c_int
-    Vect_cat_del.argtypes = [POINTER(struct_line_cats), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 71
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_field_cat_del'):
-    Vect_field_cat_del = _libs['grass_vector.7.0.svn'].Vect_field_cat_del
-    Vect_field_cat_del.restype = c_int
-    Vect_field_cat_del.argtypes = [POINTER(struct_line_cats), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 72
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_field_cat_get'):
-    Vect_field_cat_get = _libs['grass_vector.7.0.svn'].Vect_field_cat_get
-    Vect_field_cat_get.restype = c_int
-    Vect_field_cat_get.argtypes = [POINTER(struct_line_cats), c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 73
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_in_array'):
-    Vect_cat_in_array = _libs['grass_vector.7.0.svn'].Vect_cat_in_array
-    Vect_cat_in_array.restype = c_int
-    Vect_cat_in_array.argtypes = [c_int, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 74
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_cats'):
-    Vect_reset_cats = _libs['grass_vector.7.0.svn'].Vect_reset_cats
-    Vect_reset_cats.restype = c_int
-    Vect_reset_cats.argtypes = [POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 75
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_cats_struct'):
-    Vect_destroy_cats_struct = _libs['grass_vector.7.0.svn'].Vect_destroy_cats_struct
-    Vect_destroy_cats_struct.restype = None
-    Vect_destroy_cats_struct.argtypes = [POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 76
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_cats'):
-    Vect_get_area_cats = _libs['grass_vector.7.0.svn'].Vect_get_area_cats
-    Vect_get_area_cats.restype = c_int
-    Vect_get_area_cats.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 77
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_cat'):
-    Vect_get_area_cat = _libs['grass_vector.7.0.svn'].Vect_get_area_cat
-    Vect_get_area_cat.restype = c_int
-    Vect_get_area_cat.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 78
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_cat'):
-    Vect_get_line_cat = _libs['grass_vector.7.0.svn'].Vect_get_line_cat
-    Vect_get_line_cat.restype = c_int
-    Vect_get_line_cat.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 81
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_cat_list'):
-    Vect_new_cat_list = _libs['grass_vector.7.0.svn'].Vect_new_cat_list
-    Vect_new_cat_list.restype = POINTER(struct_cat_list)
-    Vect_new_cat_list.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 82
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_str_to_cat_list'):
-    Vect_str_to_cat_list = _libs['grass_vector.7.0.svn'].Vect_str_to_cat_list
-    Vect_str_to_cat_list.restype = c_int
-    Vect_str_to_cat_list.argtypes = [String, POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 83
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_array_to_cat_list'):
-    Vect_array_to_cat_list = _libs['grass_vector.7.0.svn'].Vect_array_to_cat_list
-    Vect_array_to_cat_list.restype = c_int
-    Vect_array_to_cat_list.argtypes = [POINTER(c_int), c_int, POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 84
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cat_in_cat_list'):
-    Vect_cat_in_cat_list = _libs['grass_vector.7.0.svn'].Vect_cat_in_cat_list
-    Vect_cat_in_cat_list.restype = c_int
-    Vect_cat_in_cat_list.argtypes = [c_int, POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 85
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_cat_list'):
-    Vect_destroy_cat_list = _libs['grass_vector.7.0.svn'].Vect_destroy_cat_list
-    Vect_destroy_cat_list.restype = None
-    Vect_destroy_cat_list.argtypes = [POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 88
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_varray'):
-    Vect_new_varray = _libs['grass_vector.7.0.svn'].Vect_new_varray
-    Vect_new_varray.restype = POINTER(struct_varray)
-    Vect_new_varray.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 89
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_varray_from_cat_string'):
-    Vect_set_varray_from_cat_string = _libs['grass_vector.7.0.svn'].Vect_set_varray_from_cat_string
-    Vect_set_varray_from_cat_string.restype = c_int
-    Vect_set_varray_from_cat_string.argtypes = [POINTER(struct_Map_info), c_int, String, c_int, c_int, POINTER(struct_varray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 91
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_varray_from_cat_list'):
-    Vect_set_varray_from_cat_list = _libs['grass_vector.7.0.svn'].Vect_set_varray_from_cat_list
-    Vect_set_varray_from_cat_list.restype = c_int
-    Vect_set_varray_from_cat_list.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_cat_list), c_int, c_int, POINTER(struct_varray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 93
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_varray_from_db'):
-    Vect_set_varray_from_db = _libs['grass_vector.7.0.svn'].Vect_set_varray_from_db
-    Vect_set_varray_from_db.restype = c_int
-    Vect_set_varray_from_db.argtypes = [POINTER(struct_Map_info), c_int, String, c_int, c_int, POINTER(struct_varray)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 97
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_dblinks_struct'):
-    Vect_new_dblinks_struct = _libs['grass_vector.7.0.svn'].Vect_new_dblinks_struct
-    Vect_new_dblinks_struct.restype = POINTER(struct_dblinks)
-    Vect_new_dblinks_struct.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 98
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_dblinks'):
-    Vect_reset_dblinks = _libs['grass_vector.7.0.svn'].Vect_reset_dblinks
-    Vect_reset_dblinks.restype = None
-    Vect_reset_dblinks.argtypes = [POINTER(struct_dblinks)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 99
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_add_dblink'):
-    Vect_add_dblink = _libs['grass_vector.7.0.svn'].Vect_add_dblink
-    Vect_add_dblink.restype = c_int
-    Vect_add_dblink.argtypes = [POINTER(struct_dblinks), c_int, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 101
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_check_dblink'):
-    Vect_check_dblink = _libs['grass_vector.7.0.svn'].Vect_check_dblink
-    Vect_check_dblink.restype = c_int
-    Vect_check_dblink.argtypes = [POINTER(struct_dblinks), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 102
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_map_add_dblink'):
-    Vect_map_add_dblink = _libs['grass_vector.7.0.svn'].Vect_map_add_dblink
-    Vect_map_add_dblink.restype = c_int
-    Vect_map_add_dblink.argtypes = [POINTER(struct_Map_info), c_int, String, String, String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 105
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_map_del_dblink'):
-    Vect_map_del_dblink = _libs['grass_vector.7.0.svn'].Vect_map_del_dblink
-    Vect_map_del_dblink.restype = c_int
-    Vect_map_del_dblink.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 106
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_map_check_dblink'):
-    Vect_map_check_dblink = _libs['grass_vector.7.0.svn'].Vect_map_check_dblink
-    Vect_map_check_dblink.restype = c_int
-    Vect_map_check_dblink.argtypes = [POINTER(struct_Map_info), c_int, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 107
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_dblinks'):
-    Vect_read_dblinks = _libs['grass_vector.7.0.svn'].Vect_read_dblinks
-    Vect_read_dblinks.restype = c_int
-    Vect_read_dblinks.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 108
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_dblinks'):
-    Vect_write_dblinks = _libs['grass_vector.7.0.svn'].Vect_write_dblinks
-    Vect_write_dblinks.restype = c_int
-    Vect_write_dblinks.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 109
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_default_field_info'):
-    Vect_default_field_info = _libs['grass_vector.7.0.svn'].Vect_default_field_info
-    Vect_default_field_info.restype = POINTER(struct_field_info)
-    Vect_default_field_info.argtypes = [POINTER(struct_Map_info), c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 111
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_dblink'):
-    Vect_get_dblink = _libs['grass_vector.7.0.svn'].Vect_get_dblink
-    Vect_get_dblink.restype = POINTER(struct_field_info)
-    Vect_get_dblink.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 112
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_field'):
-    Vect_get_field = _libs['grass_vector.7.0.svn'].Vect_get_field
-    Vect_get_field.restype = POINTER(struct_field_info)
-    Vect_get_field.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 113
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_field_by_name'):
-    Vect_get_field_by_name = _libs['grass_vector.7.0.svn'].Vect_get_field_by_name
-    Vect_get_field_by_name.restype = POINTER(struct_field_info)
-    Vect_get_field_by_name.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 114
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_field2'):
-    Vect_get_field2 = _libs['grass_vector.7.0.svn'].Vect_get_field2
-    Vect_get_field2.restype = POINTER(struct_field_info)
-    Vect_get_field2.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 115
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_field_number'):
-    Vect_get_field_number = _libs['grass_vector.7.0.svn'].Vect_get_field_number
-    Vect_get_field_number.restype = c_int
-    Vect_get_field_number.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 116
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_db_updated'):
-    Vect_set_db_updated = _libs['grass_vector.7.0.svn'].Vect_set_db_updated
-    Vect_set_db_updated.restype = None
-    Vect_set_db_updated.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 117
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_column_names'):
-    Vect_get_column_names = _libs['grass_vector.7.0.svn'].Vect_get_column_names
-    Vect_get_column_names.restype = ReturnString
-    Vect_get_column_names.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 118
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_column_types'):
-    Vect_get_column_types = _libs['grass_vector.7.0.svn'].Vect_get_column_types
-    Vect_get_column_types.restype = ReturnString
-    Vect_get_column_types.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 119
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_column_names_types'):
-    Vect_get_column_names_types = _libs['grass_vector.7.0.svn'].Vect_get_column_names_types
-    Vect_get_column_names_types.restype = ReturnString
-    Vect_get_column_names_types.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 122
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_list'):
-    Vect_new_list = _libs['grass_vector.7.0.svn'].Vect_new_list
-    Vect_new_list.restype = POINTER(struct_ilist)
-    Vect_new_list.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 123
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_list_append'):
-    Vect_list_append = _libs['grass_vector.7.0.svn'].Vect_list_append
-    Vect_list_append.restype = c_int
-    Vect_list_append.argtypes = [POINTER(struct_ilist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 124
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_list_append_list'):
-    Vect_list_append_list = _libs['grass_vector.7.0.svn'].Vect_list_append_list
-    Vect_list_append_list.restype = c_int
-    Vect_list_append_list.argtypes = [POINTER(struct_ilist), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 125
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_list_delete'):
-    Vect_list_delete = _libs['grass_vector.7.0.svn'].Vect_list_delete
-    Vect_list_delete.restype = c_int
-    Vect_list_delete.argtypes = [POINTER(struct_ilist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 126
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_list_delete_list'):
-    Vect_list_delete_list = _libs['grass_vector.7.0.svn'].Vect_list_delete_list
-    Vect_list_delete_list.restype = c_int
-    Vect_list_delete_list.argtypes = [POINTER(struct_ilist), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 127
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_val_in_list'):
-    Vect_val_in_list = _libs['grass_vector.7.0.svn'].Vect_val_in_list
-    Vect_val_in_list.restype = c_int
-    Vect_val_in_list.argtypes = [POINTER(struct_ilist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 128
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_list'):
-    Vect_reset_list = _libs['grass_vector.7.0.svn'].Vect_reset_list
-    Vect_reset_list.restype = c_int
-    Vect_reset_list.argtypes = [POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 129
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_list'):
-    Vect_destroy_list = _libs['grass_vector.7.0.svn'].Vect_destroy_list
-    Vect_destroy_list.restype = None
-    Vect_destroy_list.argtypes = [POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 132
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_new_boxlist'):
-    Vect_new_boxlist = _libs['grass_vector.7.0.svn'].Vect_new_boxlist
-    Vect_new_boxlist.restype = POINTER(struct_boxlist)
-    Vect_new_boxlist.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 133
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_boxlist_append'):
-    Vect_boxlist_append = _libs['grass_vector.7.0.svn'].Vect_boxlist_append
-    Vect_boxlist_append.restype = c_int
-    Vect_boxlist_append.argtypes = [POINTER(struct_boxlist), c_int, struct_bound_box]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 134
-for _lib in _libs.values():
-    if hasattr(_lib, 'Vect_boxlist_append_list'):
-        Vect_boxlist_append_list = _lib.Vect_boxlist_append_list
-        Vect_boxlist_append_list.restype = c_int
-        Vect_boxlist_append_list.argtypes = [POINTER(struct_boxlist), POINTER(struct_boxlist)]
-        break
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 135
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_boxlist_delete'):
-    Vect_boxlist_delete = _libs['grass_vector.7.0.svn'].Vect_boxlist_delete
-    Vect_boxlist_delete.restype = c_int
-    Vect_boxlist_delete.argtypes = [POINTER(struct_boxlist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 136
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_boxlist_delete_boxlist'):
-    Vect_boxlist_delete_boxlist = _libs['grass_vector.7.0.svn'].Vect_boxlist_delete_boxlist
-    Vect_boxlist_delete_boxlist.restype = c_int
-    Vect_boxlist_delete_boxlist.argtypes = [POINTER(struct_boxlist), POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 137
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_val_in_boxlist'):
-    Vect_val_in_boxlist = _libs['grass_vector.7.0.svn'].Vect_val_in_boxlist
-    Vect_val_in_boxlist.restype = c_int
-    Vect_val_in_boxlist.argtypes = [POINTER(struct_boxlist), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 138
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_reset_boxlist'):
-    Vect_reset_boxlist = _libs['grass_vector.7.0.svn'].Vect_reset_boxlist
-    Vect_reset_boxlist.restype = c_int
-    Vect_reset_boxlist.argtypes = [POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 139
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_destroy_boxlist'):
-    Vect_destroy_boxlist = _libs['grass_vector.7.0.svn'].Vect_destroy_boxlist
-    Vect_destroy_boxlist.restype = None
-    Vect_destroy_boxlist.argtypes = [POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 142
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_box'):
-    Vect_point_in_box = _libs['grass_vector.7.0.svn'].Vect_point_in_box
-    Vect_point_in_box.restype = c_int
-    Vect_point_in_box.argtypes = [c_double, c_double, c_double, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 143
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_box_overlap'):
-    Vect_box_overlap = _libs['grass_vector.7.0.svn'].Vect_box_overlap
-    Vect_box_overlap.restype = c_int
-    Vect_box_overlap.argtypes = [POINTER(struct_bound_box), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 144
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_box_copy'):
-    Vect_box_copy = _libs['grass_vector.7.0.svn'].Vect_box_copy
-    Vect_box_copy.restype = c_int
-    Vect_box_copy.argtypes = [POINTER(struct_bound_box), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 145
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_box_extend'):
-    Vect_box_extend = _libs['grass_vector.7.0.svn'].Vect_box_extend
-    Vect_box_extend.restype = c_int
-    Vect_box_extend.argtypes = [POINTER(struct_bound_box), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 146
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_box_clip'):
-    Vect_box_clip = _libs['grass_vector.7.0.svn'].Vect_box_clip
-    Vect_box_clip.restype = c_int
-    Vect_box_clip.argtypes = [POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 147
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_region_box'):
-    Vect_region_box = _libs['grass_vector.7.0.svn'].Vect_region_box
-    Vect_region_box.restype = c_int
-    Vect_region_box.argtypes = [POINTER(struct_Cell_head), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 150
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_num_fields'):
-    Vect_cidx_get_num_fields = _libs['grass_vector.7.0.svn'].Vect_cidx_get_num_fields
-    Vect_cidx_get_num_fields.restype = c_int
-    Vect_cidx_get_num_fields.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 151
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_field_number'):
-    Vect_cidx_get_field_number = _libs['grass_vector.7.0.svn'].Vect_cidx_get_field_number
-    Vect_cidx_get_field_number.restype = c_int
-    Vect_cidx_get_field_number.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 152
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_field_index'):
-    Vect_cidx_get_field_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_field_index
-    Vect_cidx_get_field_index.restype = c_int
-    Vect_cidx_get_field_index.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 153
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_num_unique_cats_by_index'):
-    Vect_cidx_get_num_unique_cats_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_num_unique_cats_by_index
-    Vect_cidx_get_num_unique_cats_by_index.restype = c_int
-    Vect_cidx_get_num_unique_cats_by_index.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 154
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_num_cats_by_index'):
-    Vect_cidx_get_num_cats_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_num_cats_by_index
-    Vect_cidx_get_num_cats_by_index.restype = c_int
-    Vect_cidx_get_num_cats_by_index.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 155
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_num_types_by_index'):
-    Vect_cidx_get_num_types_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_num_types_by_index
-    Vect_cidx_get_num_types_by_index.restype = c_int
-    Vect_cidx_get_num_types_by_index.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 156
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_type_count_by_index'):
-    Vect_cidx_get_type_count_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_type_count_by_index
-    Vect_cidx_get_type_count_by_index.restype = c_int
-    Vect_cidx_get_type_count_by_index.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 158
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_type_count'):
-    Vect_cidx_get_type_count = _libs['grass_vector.7.0.svn'].Vect_cidx_get_type_count
-    Vect_cidx_get_type_count.restype = c_int
-    Vect_cidx_get_type_count.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 159
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_get_cat_by_index'):
-    Vect_cidx_get_cat_by_index = _libs['grass_vector.7.0.svn'].Vect_cidx_get_cat_by_index
-    Vect_cidx_get_cat_by_index.restype = c_int
-    Vect_cidx_get_cat_by_index.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(c_int), POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 161
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_find_next'):
-    Vect_cidx_find_next = _libs['grass_vector.7.0.svn'].Vect_cidx_find_next
-    Vect_cidx_find_next.restype = c_int
-    Vect_cidx_find_next.argtypes = [POINTER(struct_Map_info), c_int, c_int, c_int, c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 162
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_find_all'):
-    Vect_cidx_find_all = _libs['grass_vector.7.0.svn'].Vect_cidx_find_all
-    Vect_cidx_find_all.restype = None
-    Vect_cidx_find_all.argtypes = [POINTER(struct_Map_info), c_int, c_int, c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 163
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_dump'):
-    Vect_cidx_dump = _libs['grass_vector.7.0.svn'].Vect_cidx_dump
-    Vect_cidx_dump.restype = c_int
-    Vect_cidx_dump.argtypes = [POINTER(struct_Map_info), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 164
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_save'):
-    Vect_cidx_save = _libs['grass_vector.7.0.svn'].Vect_cidx_save
-    Vect_cidx_save.restype = c_int
-    Vect_cidx_save.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 165
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_cidx_open'):
-    Vect_cidx_open = _libs['grass_vector.7.0.svn'].Vect_cidx_open
-    Vect_cidx_open.restype = c_int
-    Vect_cidx_open.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 169
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_header'):
-    Vect_read_header = _libs['grass_vector.7.0.svn'].Vect_read_header
-    Vect_read_header.restype = c_int
-    Vect_read_header.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 170
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_header'):
-    Vect_write_header = _libs['grass_vector.7.0.svn'].Vect_write_header
-    Vect_write_header.restype = c_int
-    Vect_write_header.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 171
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_name'):
-    Vect_get_name = _libs['grass_vector.7.0.svn'].Vect_get_name
-    Vect_get_name.restype = ReturnString
-    Vect_get_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 172
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_mapset'):
-    Vect_get_mapset = _libs['grass_vector.7.0.svn'].Vect_get_mapset
-    Vect_get_mapset.restype = ReturnString
-    Vect_get_mapset.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 173
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_full_name'):
-    Vect_get_full_name = _libs['grass_vector.7.0.svn'].Vect_get_full_name
-    Vect_get_full_name.restype = ReturnString
-    Vect_get_full_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 174
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_ogr_dsn_name'):
-    Vect_get_ogr_dsn_name = _libs['grass_vector.7.0.svn'].Vect_get_ogr_dsn_name
-    Vect_get_ogr_dsn_name.restype = ReturnString
-    Vect_get_ogr_dsn_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 175
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_ogr_layer_name'):
-    Vect_get_ogr_layer_name = _libs['grass_vector.7.0.svn'].Vect_get_ogr_layer_name
-    Vect_get_ogr_layer_name.restype = ReturnString
-    Vect_get_ogr_layer_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 176
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_ogr_format_info'):
-    Vect_get_ogr_format_info = _libs['grass_vector.7.0.svn'].Vect_get_ogr_format_info
-    Vect_get_ogr_format_info.restype = ReturnString
-    Vect_get_ogr_format_info.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 177
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_ogr_geometry_type'):
-    Vect_get_ogr_geometry_type = _libs['grass_vector.7.0.svn'].Vect_get_ogr_geometry_type
-    Vect_get_ogr_geometry_type.restype = ReturnString
-    Vect_get_ogr_geometry_type.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 178
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_is_3d'):
-    Vect_is_3d = _libs['grass_vector.7.0.svn'].Vect_is_3d
-    Vect_is_3d.restype = c_int
-    Vect_is_3d.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 179
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_organization'):
-    Vect_set_organization = _libs['grass_vector.7.0.svn'].Vect_set_organization
-    Vect_set_organization.restype = c_int
-    Vect_set_organization.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 180
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_organization'):
-    Vect_get_organization = _libs['grass_vector.7.0.svn'].Vect_get_organization
-    Vect_get_organization.restype = ReturnString
-    Vect_get_organization.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 181
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_date'):
-    Vect_set_date = _libs['grass_vector.7.0.svn'].Vect_set_date
-    Vect_set_date.restype = c_int
-    Vect_set_date.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 182
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_date'):
-    Vect_get_date = _libs['grass_vector.7.0.svn'].Vect_get_date
-    Vect_get_date.restype = ReturnString
-    Vect_get_date.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 183
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_person'):
-    Vect_set_person = _libs['grass_vector.7.0.svn'].Vect_set_person
-    Vect_set_person.restype = c_int
-    Vect_set_person.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 184
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_person'):
-    Vect_get_person = _libs['grass_vector.7.0.svn'].Vect_get_person
-    Vect_get_person.restype = ReturnString
-    Vect_get_person.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 185
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_map_name'):
-    Vect_set_map_name = _libs['grass_vector.7.0.svn'].Vect_set_map_name
-    Vect_set_map_name.restype = c_int
-    Vect_set_map_name.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 186
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_map_name'):
-    Vect_get_map_name = _libs['grass_vector.7.0.svn'].Vect_get_map_name
-    Vect_get_map_name.restype = ReturnString
-    Vect_get_map_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 187
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_map_date'):
-    Vect_set_map_date = _libs['grass_vector.7.0.svn'].Vect_set_map_date
-    Vect_set_map_date.restype = c_int
-    Vect_set_map_date.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 188
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_map_date'):
-    Vect_get_map_date = _libs['grass_vector.7.0.svn'].Vect_get_map_date
-    Vect_get_map_date.restype = ReturnString
-    Vect_get_map_date.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 189
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_comment'):
-    Vect_set_comment = _libs['grass_vector.7.0.svn'].Vect_set_comment
-    Vect_set_comment.restype = c_int
-    Vect_set_comment.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 190
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_comment'):
-    Vect_get_comment = _libs['grass_vector.7.0.svn'].Vect_get_comment
-    Vect_get_comment.restype = ReturnString
-    Vect_get_comment.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 191
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_scale'):
-    Vect_set_scale = _libs['grass_vector.7.0.svn'].Vect_set_scale
-    Vect_set_scale.restype = c_int
-    Vect_set_scale.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 192
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_scale'):
-    Vect_get_scale = _libs['grass_vector.7.0.svn'].Vect_get_scale
-    Vect_get_scale.restype = c_int
-    Vect_get_scale.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 193
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_zone'):
-    Vect_set_zone = _libs['grass_vector.7.0.svn'].Vect_set_zone
-    Vect_set_zone.restype = c_int
-    Vect_set_zone.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 194
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_zone'):
-    Vect_get_zone = _libs['grass_vector.7.0.svn'].Vect_get_zone
-    Vect_get_zone.restype = c_int
-    Vect_get_zone.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 195
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_proj'):
-    Vect_get_proj = _libs['grass_vector.7.0.svn'].Vect_get_proj
-    Vect_get_proj.restype = c_int
-    Vect_get_proj.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 196
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_proj'):
-    Vect_set_proj = _libs['grass_vector.7.0.svn'].Vect_set_proj
-    Vect_set_proj.restype = c_int
-    Vect_set_proj.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 197
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_proj_name'):
-    Vect_get_proj_name = _libs['grass_vector.7.0.svn'].Vect_get_proj_name
-    Vect_get_proj_name.restype = ReturnString
-    Vect_get_proj_name.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 198
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_thresh'):
-    Vect_set_thresh = _libs['grass_vector.7.0.svn'].Vect_set_thresh
-    Vect_set_thresh.restype = c_int
-    Vect_set_thresh.argtypes = [POINTER(struct_Map_info), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 199
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_thresh'):
-    Vect_get_thresh = _libs['grass_vector.7.0.svn'].Vect_get_thresh
-    Vect_get_thresh.restype = c_double
-    Vect_get_thresh.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 200
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_constraint_box'):
-    Vect_get_constraint_box = _libs['grass_vector.7.0.svn'].Vect_get_constraint_box
-    Vect_get_constraint_box.restype = c_int
-    Vect_get_constraint_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 204
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_level'):
-    Vect_level = _libs['grass_vector.7.0.svn'].Vect_level
-    Vect_level.restype = c_int
-    Vect_level.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 205
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_type'):
-    Vect_get_line_type = _libs['grass_vector.7.0.svn'].Vect_get_line_type
-    Vect_get_line_type.restype = c_int
-    Vect_get_line_type.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 206
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_nodes'):
-    Vect_get_num_nodes = _libs['grass_vector.7.0.svn'].Vect_get_num_nodes
-    Vect_get_num_nodes.restype = plus_t
-    Vect_get_num_nodes.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 207
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_primitives'):
-    Vect_get_num_primitives = _libs['grass_vector.7.0.svn'].Vect_get_num_primitives
-    Vect_get_num_primitives.restype = plus_t
-    Vect_get_num_primitives.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 208
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_lines'):
-    Vect_get_num_lines = _libs['grass_vector.7.0.svn'].Vect_get_num_lines
-    Vect_get_num_lines.restype = plus_t
-    Vect_get_num_lines.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 209
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_areas'):
-    Vect_get_num_areas = _libs['grass_vector.7.0.svn'].Vect_get_num_areas
-    Vect_get_num_areas.restype = plus_t
-    Vect_get_num_areas.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 210
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_faces'):
-    Vect_get_num_faces = _libs['grass_vector.7.0.svn'].Vect_get_num_faces
-    Vect_get_num_faces.restype = plus_t
-    Vect_get_num_faces.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 211
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_kernels'):
-    Vect_get_num_kernels = _libs['grass_vector.7.0.svn'].Vect_get_num_kernels
-    Vect_get_num_kernels.restype = plus_t
-    Vect_get_num_kernels.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 212
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_volumes'):
-    Vect_get_num_volumes = _libs['grass_vector.7.0.svn'].Vect_get_num_volumes
-    Vect_get_num_volumes.restype = plus_t
-    Vect_get_num_volumes.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 213
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_islands'):
-    Vect_get_num_islands = _libs['grass_vector.7.0.svn'].Vect_get_num_islands
-    Vect_get_num_islands.restype = plus_t
-    Vect_get_num_islands.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 214
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_holes'):
-    Vect_get_num_holes = _libs['grass_vector.7.0.svn'].Vect_get_num_holes
-    Vect_get_num_holes.restype = plus_t
-    Vect_get_num_holes.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 215
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_box'):
-    Vect_get_line_box = _libs['grass_vector.7.0.svn'].Vect_get_line_box
-    Vect_get_line_box.restype = c_int
-    Vect_get_line_box.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 216
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_box'):
-    Vect_get_area_box = _libs['grass_vector.7.0.svn'].Vect_get_area_box
-    Vect_get_area_box.restype = c_int
-    Vect_get_area_box.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 217
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_isle_box'):
-    Vect_get_isle_box = _libs['grass_vector.7.0.svn'].Vect_get_isle_box
-    Vect_get_isle_box.restype = c_int
-    Vect_get_isle_box.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 218
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_map_box'):
-    Vect_get_map_box = _libs['grass_vector.7.0.svn'].Vect_get_map_box
-    Vect_get_map_box.restype = c_int
-    Vect_get_map_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 219
-if hasattr(_libs['grass_vector.7.0.svn'], 'V__map_overlap'):
-    V__map_overlap = _libs['grass_vector.7.0.svn'].V__map_overlap
-    V__map_overlap.restype = c_int
-    V__map_overlap.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 220
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_release_support'):
-    Vect_set_release_support = _libs['grass_vector.7.0.svn'].Vect_set_release_support
-    Vect_set_release_support.restype = None
-    Vect_set_release_support.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 221
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_category_index_update'):
-    Vect_set_category_index_update = _libs['grass_vector.7.0.svn'].Vect_set_category_index_update
-    Vect_set_category_index_update.restype = None
-    Vect_set_category_index_update.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 224
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_fatal_error'):
-    Vect_set_fatal_error = _libs['grass_vector.7.0.svn'].Vect_set_fatal_error
-    Vect_set_fatal_error.restype = c_int
-    Vect_set_fatal_error.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 225
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_fatal_error'):
-    Vect_get_fatal_error = _libs['grass_vector.7.0.svn'].Vect_get_fatal_error
-    Vect_get_fatal_error.restype = c_int
-    Vect_get_fatal_error.argtypes = []
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 228
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_check_input_output_name'):
-    Vect_check_input_output_name = _libs['grass_vector.7.0.svn'].Vect_check_input_output_name
-    Vect_check_input_output_name.restype = c_int
-    Vect_check_input_output_name.argtypes = [String, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 229
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_legal_filename'):
-    Vect_legal_filename = _libs['grass_vector.7.0.svn'].Vect_legal_filename
-    Vect_legal_filename.restype = c_int
-    Vect_legal_filename.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 230
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_open_level'):
-    Vect_set_open_level = _libs['grass_vector.7.0.svn'].Vect_set_open_level
-    Vect_set_open_level.restype = c_int
-    Vect_set_open_level.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 231
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_old'):
-    Vect_open_old = _libs['grass_vector.7.0.svn'].Vect_open_old
-    Vect_open_old.restype = c_int
-    Vect_open_old.argtypes = [POINTER(struct_Map_info), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 232
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_old2'):
-    Vect_open_old2 = _libs['grass_vector.7.0.svn'].Vect_open_old2
-    Vect_open_old2.restype = c_int
-    Vect_open_old2.argtypes = [POINTER(struct_Map_info), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 233
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_old_head'):
-    Vect_open_old_head = _libs['grass_vector.7.0.svn'].Vect_open_old_head
-    Vect_open_old_head.restype = c_int
-    Vect_open_old_head.argtypes = [POINTER(struct_Map_info), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 234
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_old_head2'):
-    Vect_open_old_head2 = _libs['grass_vector.7.0.svn'].Vect_open_old_head2
-    Vect_open_old_head2.restype = c_int
-    Vect_open_old_head2.argtypes = [POINTER(struct_Map_info), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 235
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_new'):
-    Vect_open_new = _libs['grass_vector.7.0.svn'].Vect_open_new
-    Vect_open_new.restype = c_int
-    Vect_open_new.argtypes = [POINTER(struct_Map_info), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 236
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_update'):
-    Vect_open_update = _libs['grass_vector.7.0.svn'].Vect_open_update
-    Vect_open_update.restype = c_int
-    Vect_open_update.argtypes = [POINTER(struct_Map_info), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 237
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_update2'):
-    Vect_open_update2 = _libs['grass_vector.7.0.svn'].Vect_open_update2
-    Vect_open_update2.restype = c_int
-    Vect_open_update2.argtypes = [POINTER(struct_Map_info), String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 238
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_update_head'):
-    Vect_open_update_head = _libs['grass_vector.7.0.svn'].Vect_open_update_head
-    Vect_open_update_head.restype = c_int
-    Vect_open_update_head.argtypes = [POINTER(struct_Map_info), String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 239
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_head_data'):
-    Vect_copy_head_data = _libs['grass_vector.7.0.svn'].Vect_copy_head_data
-    Vect_copy_head_data.restype = c_int
-    Vect_copy_head_data.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 240
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build'):
-    Vect_build = _libs['grass_vector.7.0.svn'].Vect_build
-    Vect_build.restype = c_int
-    Vect_build.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 241
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_built'):
-    Vect_get_built = _libs['grass_vector.7.0.svn'].Vect_get_built
-    Vect_get_built.restype = c_int
-    Vect_get_built.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 242
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_partial'):
-    Vect_build_partial = _libs['grass_vector.7.0.svn'].Vect_build_partial
-    Vect_build_partial.restype = c_int
-    Vect_build_partial.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 243
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_constraint_region'):
-    Vect_set_constraint_region = _libs['grass_vector.7.0.svn'].Vect_set_constraint_region
-    Vect_set_constraint_region.restype = c_int
-    Vect_set_constraint_region.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 245
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_set_constraint_type'):
-    Vect_set_constraint_type = _libs['grass_vector.7.0.svn'].Vect_set_constraint_type
-    Vect_set_constraint_type.restype = c_int
-    Vect_set_constraint_type.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 246
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_constraints'):
-    Vect_remove_constraints = _libs['grass_vector.7.0.svn'].Vect_remove_constraints
-    Vect_remove_constraints.restype = c_int
-    Vect_remove_constraints.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 247
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_rewind'):
-    Vect_rewind = _libs['grass_vector.7.0.svn'].Vect_rewind
-    Vect_rewind.restype = c_int
-    Vect_rewind.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 248
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_close'):
-    Vect_close = _libs['grass_vector.7.0.svn'].Vect_close
-    Vect_close.restype = c_int
-    Vect_close.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 252
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_next_line'):
-    Vect_read_next_line = _libs['grass_vector.7.0.svn'].Vect_read_next_line
-    Vect_read_next_line.restype = c_int
-    Vect_read_next_line.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 254
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_line'):
-    Vect_write_line = _libs['grass_vector.7.0.svn'].Vect_write_line
-    Vect_write_line.restype = off_t
-    Vect_write_line.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 257
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_dblinks'):
-    Vect_get_num_dblinks = _libs['grass_vector.7.0.svn'].Vect_get_num_dblinks
-    Vect_get_num_dblinks.restype = c_int
-    Vect_get_num_dblinks.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 260
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_line'):
-    Vect_read_line = _libs['grass_vector.7.0.svn'].Vect_read_line
-    Vect_read_line.restype = c_int
-    Vect_read_line.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 262
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_rewrite_line'):
-    Vect_rewrite_line = _libs['grass_vector.7.0.svn'].Vect_rewrite_line
-    Vect_rewrite_line.restype = off_t
-    Vect_rewrite_line.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 264
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_delete_line'):
-    Vect_delete_line = _libs['grass_vector.7.0.svn'].Vect_delete_line
-    Vect_delete_line.restype = c_int
-    Vect_delete_line.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 265
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_restore_line'):
-    Vect_restore_line = _libs['grass_vector.7.0.svn'].Vect_restore_line
-    Vect_restore_line.restype = c_int
-    Vect_restore_line.argtypes = [POINTER(struct_Map_info), c_int, off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 267
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_alive'):
-    Vect_line_alive = _libs['grass_vector.7.0.svn'].Vect_line_alive
-    Vect_line_alive.restype = c_int
-    Vect_line_alive.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 268
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_node_alive'):
-    Vect_node_alive = _libs['grass_vector.7.0.svn'].Vect_node_alive
-    Vect_node_alive.restype = c_int
-    Vect_node_alive.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 269
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_area_alive'):
-    Vect_area_alive = _libs['grass_vector.7.0.svn'].Vect_area_alive
-    Vect_area_alive.restype = c_int
-    Vect_area_alive.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 270
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_isle_alive'):
-    Vect_isle_alive = _libs['grass_vector.7.0.svn'].Vect_isle_alive
-    Vect_isle_alive.restype = c_int
-    Vect_isle_alive.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 271
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_nodes'):
-    Vect_get_line_nodes = _libs['grass_vector.7.0.svn'].Vect_get_line_nodes
-    Vect_get_line_nodes.restype = c_int
-    Vect_get_line_nodes.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 272
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_areas'):
-    Vect_get_line_areas = _libs['grass_vector.7.0.svn'].Vect_get_line_areas
-    Vect_get_line_areas.restype = c_int
-    Vect_get_line_areas.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_int), POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 273
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_line_offset'):
-    Vect_get_line_offset = _libs['grass_vector.7.0.svn'].Vect_get_line_offset
-    Vect_get_line_offset.restype = off_t
-    Vect_get_line_offset.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 275
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_node_coor'):
-    Vect_get_node_coor = _libs['grass_vector.7.0.svn'].Vect_get_node_coor
-    Vect_get_node_coor.restype = c_int
-    Vect_get_node_coor.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 276
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_node_n_lines'):
-    Vect_get_node_n_lines = _libs['grass_vector.7.0.svn'].Vect_get_node_n_lines
-    Vect_get_node_n_lines.restype = c_int
-    Vect_get_node_n_lines.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 277
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_node_line'):
-    Vect_get_node_line = _libs['grass_vector.7.0.svn'].Vect_get_node_line
-    Vect_get_node_line.restype = c_int
-    Vect_get_node_line.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 278
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_node_line_angle'):
-    Vect_get_node_line_angle = _libs['grass_vector.7.0.svn'].Vect_get_node_line_angle
-    Vect_get_node_line_angle.restype = c_float
-    Vect_get_node_line_angle.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 280
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_points'):
-    Vect_get_area_points = _libs['grass_vector.7.0.svn'].Vect_get_area_points
-    Vect_get_area_points.restype = c_int
-    Vect_get_area_points.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 281
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_centroid'):
-    Vect_get_area_centroid = _libs['grass_vector.7.0.svn'].Vect_get_area_centroid
-    Vect_get_area_centroid.restype = c_int
-    Vect_get_area_centroid.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 282
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_num_isles'):
-    Vect_get_area_num_isles = _libs['grass_vector.7.0.svn'].Vect_get_area_num_isles
-    Vect_get_area_num_isles.restype = c_int
-    Vect_get_area_num_isles.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 283
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_isle'):
-    Vect_get_area_isle = _libs['grass_vector.7.0.svn'].Vect_get_area_isle
-    Vect_get_area_isle.restype = c_int
-    Vect_get_area_isle.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 284
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_area'):
-    Vect_get_area_area = _libs['grass_vector.7.0.svn'].Vect_get_area_area
-    Vect_get_area_area.restype = c_double
-    Vect_get_area_area.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 285
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_area_boundaries'):
-    Vect_get_area_boundaries = _libs['grass_vector.7.0.svn'].Vect_get_area_boundaries
-    Vect_get_area_boundaries.restype = c_int
-    Vect_get_area_boundaries.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 287
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_isle_points'):
-    Vect_get_isle_points = _libs['grass_vector.7.0.svn'].Vect_get_isle_points
-    Vect_get_isle_points.restype = c_int
-    Vect_get_isle_points.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 288
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_isle_area'):
-    Vect_get_isle_area = _libs['grass_vector.7.0.svn'].Vect_get_isle_area
-    Vect_get_isle_area.restype = c_int
-    Vect_get_isle_area.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 289
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_isle_boundaries'):
-    Vect_get_isle_boundaries = _libs['grass_vector.7.0.svn'].Vect_get_isle_boundaries
-    Vect_get_isle_boundaries.restype = c_int
-    Vect_get_isle_boundaries.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 291
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_centroid_area'):
-    Vect_get_centroid_area = _libs['grass_vector.7.0.svn'].Vect_get_centroid_area
-    Vect_get_centroid_area.restype = c_int
-    Vect_get_centroid_area.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 294
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_updated_lines'):
-    Vect_get_num_updated_lines = _libs['grass_vector.7.0.svn'].Vect_get_num_updated_lines
-    Vect_get_num_updated_lines.restype = c_int
-    Vect_get_num_updated_lines.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 295
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_updated_line'):
-    Vect_get_updated_line = _libs['grass_vector.7.0.svn'].Vect_get_updated_line
-    Vect_get_updated_line.restype = c_int
-    Vect_get_updated_line.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 296
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_num_updated_nodes'):
-    Vect_get_num_updated_nodes = _libs['grass_vector.7.0.svn'].Vect_get_num_updated_nodes
-    Vect_get_num_updated_nodes.restype = c_int
-    Vect_get_num_updated_nodes.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 297
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_updated_node'):
-    Vect_get_updated_node = _libs['grass_vector.7.0.svn'].Vect_get_updated_node
-    Vect_get_updated_node.restype = c_int
-    Vect_get_updated_node.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 300
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_command'):
-    Vect_hist_command = _libs['grass_vector.7.0.svn'].Vect_hist_command
-    Vect_hist_command.restype = c_int
-    Vect_hist_command.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 301
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_write'):
-    Vect_hist_write = _libs['grass_vector.7.0.svn'].Vect_hist_write
-    Vect_hist_write.restype = c_int
-    Vect_hist_write.argtypes = [POINTER(struct_Map_info), String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 302
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_copy'):
-    Vect_hist_copy = _libs['grass_vector.7.0.svn'].Vect_hist_copy
-    Vect_hist_copy.restype = c_int
-    Vect_hist_copy.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 303
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_rewind'):
-    Vect_hist_rewind = _libs['grass_vector.7.0.svn'].Vect_hist_rewind
-    Vect_hist_rewind.restype = None
-    Vect_hist_rewind.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 304
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_hist_read'):
-    Vect_hist_read = _libs['grass_vector.7.0.svn'].Vect_hist_read
-    Vect_hist_read.restype = ReturnString
-    Vect_hist_read.argtypes = [String, c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 307
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_lines_by_box'):
-    Vect_select_lines_by_box = _libs['grass_vector.7.0.svn'].Vect_select_lines_by_box
-    Vect_select_lines_by_box.restype = c_int
-    Vect_select_lines_by_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), c_int, POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 309
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_areas_by_box'):
-    Vect_select_areas_by_box = _libs['grass_vector.7.0.svn'].Vect_select_areas_by_box
-    Vect_select_areas_by_box.restype = c_int
-    Vect_select_areas_by_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 310
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_isles_by_box'):
-    Vect_select_isles_by_box = _libs['grass_vector.7.0.svn'].Vect_select_isles_by_box
-    Vect_select_isles_by_box.restype = c_int
-    Vect_select_isles_by_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), POINTER(struct_boxlist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 311
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_nodes_by_box'):
-    Vect_select_nodes_by_box = _libs['grass_vector.7.0.svn'].Vect_select_nodes_by_box
-    Vect_select_nodes_by_box.restype = c_int
-    Vect_select_nodes_by_box.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 312
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_node'):
-    Vect_find_node = _libs['grass_vector.7.0.svn'].Vect_find_node
-    Vect_find_node.restype = c_int
-    Vect_find_node.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 313
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_line'):
-    Vect_find_line = _libs['grass_vector.7.0.svn'].Vect_find_line
-    Vect_find_line.restype = c_int
-    Vect_find_line.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_int, c_double, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 315
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_line_list'):
-    Vect_find_line_list = _libs['grass_vector.7.0.svn'].Vect_find_line_list
-    Vect_find_line_list.restype = c_int
-    Vect_find_line_list.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_int, c_double, c_int, POINTER(struct_ilist), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 317
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_area'):
-    Vect_find_area = _libs['grass_vector.7.0.svn'].Vect_find_area
-    Vect_find_area.restype = c_int
-    Vect_find_area.argtypes = [POINTER(struct_Map_info), c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 318
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_island'):
-    Vect_find_island = _libs['grass_vector.7.0.svn'].Vect_find_island
-    Vect_find_island.restype = c_int
-    Vect_find_island.argtypes = [POINTER(struct_Map_info), c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 319
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_lines_by_polygon'):
-    Vect_select_lines_by_polygon = _libs['grass_vector.7.0.svn'].Vect_select_lines_by_polygon
-    Vect_select_lines_by_polygon.restype = c_int
-    Vect_select_lines_by_polygon.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), c_int, POINTER(POINTER(struct_line_pnts)), c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 321
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_areas_by_polygon'):
-    Vect_select_areas_by_polygon = _libs['grass_vector.7.0.svn'].Vect_select_areas_by_polygon
-    Vect_select_areas_by_polygon.restype = c_int
-    Vect_select_areas_by_polygon.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), c_int, POINTER(POINTER(struct_line_pnts)), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 325
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_tin_get_z'):
-    Vect_tin_get_z = _libs['grass_vector.7.0.svn'].Vect_tin_get_z
-    Vect_tin_get_z.restype = c_int
-    Vect_tin_get_z.argtypes = [POINTER(struct_Map_info), c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 329
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_find_poly_centroid'):
-    Vect_find_poly_centroid = _libs['grass_vector.7.0.svn'].Vect_find_poly_centroid
-    Vect_find_poly_centroid.restype = c_int
-    Vect_find_poly_centroid.argtypes = [POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 330
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect__intersect_line_with_poly'):
-    Vect__intersect_line_with_poly = _libs['grass_vector.7.0.svn'].Vect__intersect_line_with_poly
-    Vect__intersect_line_with_poly.restype = c_int
-    Vect__intersect_line_with_poly.argtypes = [POINTER(struct_line_pnts), c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 332
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_point_in_area'):
-    Vect_get_point_in_area = _libs['grass_vector.7.0.svn'].Vect_get_point_in_area
-    Vect_get_point_in_area.restype = c_int
-    Vect_get_point_in_area.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 333
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_point_in_poly'):
-    Vect_get_point_in_poly = _libs['grass_vector.7.0.svn'].Vect_get_point_in_poly
-    Vect_get_point_in_poly.restype = c_int
-    Vect_get_point_in_poly.argtypes = [POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 334
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_get_point_in_poly_isl'):
-    Vect_get_point_in_poly_isl = _libs['grass_vector.7.0.svn'].Vect_get_point_in_poly_isl
-    Vect_get_point_in_poly_isl.restype = c_int
-    Vect_get_point_in_poly_isl.argtypes = [POINTER(struct_line_pnts), POINTER(POINTER(struct_line_pnts)), c_int, POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 336
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_area'):
-    Vect_point_in_area = _libs['grass_vector.7.0.svn'].Vect_point_in_area
-    Vect_point_in_area.restype = c_int
-    Vect_point_in_area.argtypes = [c_double, c_double, POINTER(struct_Map_info), c_int, struct_bound_box]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 337
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_area_outer_ring'):
-    Vect_point_in_area_outer_ring = _libs['grass_vector.7.0.svn'].Vect_point_in_area_outer_ring
-    Vect_point_in_area_outer_ring.restype = c_int
-    Vect_point_in_area_outer_ring.argtypes = [c_double, c_double, POINTER(struct_Map_info), c_int, struct_bound_box]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 338
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_island'):
-    Vect_point_in_island = _libs['grass_vector.7.0.svn'].Vect_point_in_island
-    Vect_point_in_island.restype = c_int
-    Vect_point_in_island.argtypes = [c_double, c_double, POINTER(struct_Map_info), c_int, struct_bound_box]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 339
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_point_in_poly'):
-    Vect_point_in_poly = _libs['grass_vector.7.0.svn'].Vect_point_in_poly
-    Vect_point_in_poly.restype = c_int
-    Vect_point_in_poly.argtypes = [c_double, c_double, POINTER(struct_line_pnts)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 342
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_break_lines'):
-    Vect_break_lines = _libs['grass_vector.7.0.svn'].Vect_break_lines
-    Vect_break_lines.restype = None
-    Vect_break_lines.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 343
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_break_lines_list'):
-    Vect_break_lines_list = _libs['grass_vector.7.0.svn'].Vect_break_lines_list
-    Vect_break_lines_list.restype = c_int
-    Vect_break_lines_list.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), POINTER(struct_ilist), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 345
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_merge_lines'):
-    Vect_merge_lines = _libs['grass_vector.7.0.svn'].Vect_merge_lines
-    Vect_merge_lines.restype = c_int
-    Vect_merge_lines.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_int), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 346
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_break_polygons'):
-    Vect_break_polygons = _libs['grass_vector.7.0.svn'].Vect_break_polygons
-    Vect_break_polygons.restype = None
-    Vect_break_polygons.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 347
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_duplicates'):
-    Vect_remove_duplicates = _libs['grass_vector.7.0.svn'].Vect_remove_duplicates
-    Vect_remove_duplicates.restype = None
-    Vect_remove_duplicates.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 348
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_check_duplicate'):
-    Vect_line_check_duplicate = _libs['grass_vector.7.0.svn'].Vect_line_check_duplicate
-    Vect_line_check_duplicate.restype = c_int
-    Vect_line_check_duplicate.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 350
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_snap_lines'):
-    Vect_snap_lines = _libs['grass_vector.7.0.svn'].Vect_snap_lines
-    Vect_snap_lines.restype = None
-    Vect_snap_lines.argtypes = [POINTER(struct_Map_info), c_int, c_double, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 351
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_snap_lines_list'):
-    Vect_snap_lines_list = _libs['grass_vector.7.0.svn'].Vect_snap_lines_list
-    Vect_snap_lines_list.restype = None
-    Vect_snap_lines_list.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), c_double, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 353
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_dangles'):
-    Vect_remove_dangles = _libs['grass_vector.7.0.svn'].Vect_remove_dangles
-    Vect_remove_dangles.restype = None
-    Vect_remove_dangles.argtypes = [POINTER(struct_Map_info), c_int, c_double, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 354
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_chtype_dangles'):
-    Vect_chtype_dangles = _libs['grass_vector.7.0.svn'].Vect_chtype_dangles
-    Vect_chtype_dangles.restype = None
-    Vect_chtype_dangles.argtypes = [POINTER(struct_Map_info), c_double, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 355
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_select_dangles'):
-    Vect_select_dangles = _libs['grass_vector.7.0.svn'].Vect_select_dangles
-    Vect_select_dangles.restype = None
-    Vect_select_dangles.argtypes = [POINTER(struct_Map_info), c_int, c_double, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 356
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_bridges'):
-    Vect_remove_bridges = _libs['grass_vector.7.0.svn'].Vect_remove_bridges
-    Vect_remove_bridges.restype = None
-    Vect_remove_bridges.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 357
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_chtype_bridges'):
-    Vect_chtype_bridges = _libs['grass_vector.7.0.svn'].Vect_chtype_bridges
-    Vect_chtype_bridges.restype = None
-    Vect_chtype_bridges.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 358
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_small_areas'):
-    Vect_remove_small_areas = _libs['grass_vector.7.0.svn'].Vect_remove_small_areas
-    Vect_remove_small_areas.restype = c_int
-    Vect_remove_small_areas.argtypes = [POINTER(struct_Map_info), c_double, POINTER(struct_Map_info), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 360
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_clean_small_angles_at_nodes'):
-    Vect_clean_small_angles_at_nodes = _libs['grass_vector.7.0.svn'].Vect_clean_small_angles_at_nodes
-    Vect_clean_small_angles_at_nodes.restype = c_int
-    Vect_clean_small_angles_at_nodes.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 364
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_overlay_str_to_operator'):
-    Vect_overlay_str_to_operator = _libs['grass_vector.7.0.svn'].Vect_overlay_str_to_operator
-    Vect_overlay_str_to_operator.restype = c_int
-    Vect_overlay_str_to_operator.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 365
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_overlay'):
-    Vect_overlay = _libs['grass_vector.7.0.svn'].Vect_overlay
-    Vect_overlay.restype = c_int
-    Vect_overlay.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_ilist), POINTER(struct_ilist), POINTER(struct_Map_info), c_int, POINTER(struct_ilist), POINTER(struct_ilist), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 368
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_overlay_and'):
-    Vect_overlay_and = _libs['grass_vector.7.0.svn'].Vect_overlay_and
-    Vect_overlay_and.restype = c_int
-    Vect_overlay_and.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_ilist), POINTER(struct_ilist), POINTER(struct_Map_info), c_int, POINTER(struct_ilist), POINTER(struct_ilist), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 373
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_init'):
-    Vect_graph_init = _libs['grass_vector.7.0.svn'].Vect_graph_init
-    Vect_graph_init.restype = None
-    Vect_graph_init.argtypes = [POINTER(dglGraph_s), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 374
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_build'):
-    Vect_graph_build = _libs['grass_vector.7.0.svn'].Vect_graph_build
-    Vect_graph_build.restype = None
-    Vect_graph_build.argtypes = [POINTER(dglGraph_s)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 375
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_add_edge'):
-    Vect_graph_add_edge = _libs['grass_vector.7.0.svn'].Vect_graph_add_edge
-    Vect_graph_add_edge.restype = None
-    Vect_graph_add_edge.argtypes = [POINTER(dglGraph_s), c_int, c_int, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 376
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_set_node_costs'):
-    Vect_graph_set_node_costs = _libs['grass_vector.7.0.svn'].Vect_graph_set_node_costs
-    Vect_graph_set_node_costs.restype = None
-    Vect_graph_set_node_costs.argtypes = [POINTER(dglGraph_s), c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 377
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_graph_shortest_path'):
-    Vect_graph_shortest_path = _libs['grass_vector.7.0.svn'].Vect_graph_shortest_path
-    Vect_graph_shortest_path.restype = c_int
-    Vect_graph_shortest_path.argtypes = [POINTER(dglGraph_s), c_int, c_int, POINTER(struct_ilist), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 380
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_build_graph'):
-    Vect_net_build_graph = _libs['grass_vector.7.0.svn'].Vect_net_build_graph
-    Vect_net_build_graph.restype = c_int
-    Vect_net_build_graph.argtypes = [POINTER(struct_Map_info), c_int, c_int, c_int, String, String, String, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 382
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_shortest_path'):
-    Vect_net_shortest_path = _libs['grass_vector.7.0.svn'].Vect_net_shortest_path
-    Vect_net_shortest_path.restype = c_int
-    Vect_net_shortest_path.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(struct_ilist), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 384
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_get_line_cost'):
-    Vect_net_get_line_cost = _libs['grass_vector.7.0.svn'].Vect_net_get_line_cost
-    Vect_net_get_line_cost.restype = c_int
-    Vect_net_get_line_cost.argtypes = [POINTER(struct_Map_info), c_int, c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 385
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_get_node_cost'):
-    Vect_net_get_node_cost = _libs['grass_vector.7.0.svn'].Vect_net_get_node_cost
-    Vect_net_get_node_cost.restype = c_int
-    Vect_net_get_node_cost.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 386
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_nearest_nodes'):
-    Vect_net_nearest_nodes = _libs['grass_vector.7.0.svn'].Vect_net_nearest_nodes
-    Vect_net_nearest_nodes.restype = c_int
-    Vect_net_nearest_nodes.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_int, c_double, POINTER(c_int), POINTER(c_int), POINTER(c_int), POINTER(c_double), POINTER(c_double), POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 389
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_shortest_path_coor'):
-    Vect_net_shortest_path_coor = _libs['grass_vector.7.0.svn'].Vect_net_shortest_path_coor
-    Vect_net_shortest_path_coor.restype = c_int
-    Vect_net_shortest_path_coor.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(struct_line_pnts), POINTER(struct_ilist), POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 394
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_net_shortest_path_coor2'):
-    Vect_net_shortest_path_coor2 = _libs['grass_vector.7.0.svn'].Vect_net_shortest_path_coor2
-    Vect_net_shortest_path_coor2.restype = c_int
-    Vect_net_shortest_path_coor2.argtypes = [POINTER(struct_Map_info), c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(struct_line_pnts), POINTER(struct_ilist), POINTER(struct_ilist), POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(c_double), POINTER(c_double)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 401
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_topo_dump'):
-    Vect_topo_dump = _libs['grass_vector.7.0.svn'].Vect_topo_dump
-    Vect_topo_dump.restype = c_int
-    Vect_topo_dump.argtypes = [POINTER(struct_Map_info), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 402
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_points_distance'):
-    Vect_points_distance = _libs['grass_vector.7.0.svn'].Vect_points_distance
-    Vect_points_distance.restype = c_double
-    Vect_points_distance.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 404
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_option_to_types'):
-    Vect_option_to_types = _libs['grass_vector.7.0.svn'].Vect_option_to_types
-    Vect_option_to_types.restype = c_int
-    Vect_option_to_types.argtypes = [POINTER(struct_Option)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 405
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_map_lines'):
-    Vect_copy_map_lines = _libs['grass_vector.7.0.svn'].Vect_copy_map_lines
-    Vect_copy_map_lines.restype = c_int
-    Vect_copy_map_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 406
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_map_lines_field'):
-    Vect_copy_map_lines_field = _libs['grass_vector.7.0.svn'].Vect_copy_map_lines_field
-    Vect_copy_map_lines_field.restype = c_int
-    Vect_copy_map_lines_field.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 407
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy'):
-    Vect_copy = _libs['grass_vector.7.0.svn'].Vect_copy
-    Vect_copy.restype = c_int
-    Vect_copy.argtypes = [String, String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 408
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_rename'):
-    Vect_rename = _libs['grass_vector.7.0.svn'].Vect_rename
-    Vect_rename.restype = c_int
-    Vect_rename.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 409
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_table'):
-    Vect_copy_table = _libs['grass_vector.7.0.svn'].Vect_copy_table
-    Vect_copy_table.restype = c_int
-    Vect_copy_table.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info), c_int, c_int, String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 411
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_table_by_cats'):
-    Vect_copy_table_by_cats = _libs['grass_vector.7.0.svn'].Vect_copy_table_by_cats
-    Vect_copy_table_by_cats.restype = c_int
-    Vect_copy_table_by_cats.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info), c_int, c_int, String, c_int, POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 413
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_copy_tables'):
-    Vect_copy_tables = _libs['grass_vector.7.0.svn'].Vect_copy_tables
-    Vect_copy_tables.restype = c_int
-    Vect_copy_tables.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 414
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_delete'):
-    Vect_delete = _libs['grass_vector.7.0.svn'].Vect_delete
-    Vect_delete.restype = c_int
-    Vect_delete.argtypes = [String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 415
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_segment_intersection'):
-    Vect_segment_intersection = _libs['grass_vector.7.0.svn'].Vect_segment_intersection
-    Vect_segment_intersection.restype = c_int
-    Vect_segment_intersection.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, c_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 419
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_intersection'):
-    Vect_line_intersection = _libs['grass_vector.7.0.svn'].Vect_line_intersection
-    Vect_line_intersection.restype = c_int
-    Vect_line_intersection.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(POINTER(POINTER(struct_line_pnts))), POINTER(POINTER(POINTER(struct_line_pnts))), POINTER(c_int), POINTER(c_int), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 422
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_check_intersection'):
-    Vect_line_check_intersection = _libs['grass_vector.7.0.svn'].Vect_line_check_intersection
-    Vect_line_check_intersection.restype = c_int
-    Vect_line_check_intersection.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 423
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_line_get_intersections'):
-    Vect_line_get_intersections = _libs['grass_vector.7.0.svn'].Vect_line_get_intersections
-    Vect_line_get_intersections.restype = c_int
-    Vect_line_get_intersections.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 425
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_subst_var'):
-    Vect_subst_var = _libs['grass_vector.7.0.svn'].Vect_subst_var
-    Vect_subst_var.restype = ReturnString
-    Vect_subst_var.argtypes = [String, POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 428
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_init'):
-    Vect_spatial_index_init = _libs['grass_vector.7.0.svn'].Vect_spatial_index_init
-    Vect_spatial_index_init.restype = None
-    Vect_spatial_index_init.argtypes = [POINTER(struct_spatial_index), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 429
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_destroy'):
-    Vect_spatial_index_destroy = _libs['grass_vector.7.0.svn'].Vect_spatial_index_destroy
-    Vect_spatial_index_destroy.restype = None
-    Vect_spatial_index_destroy.argtypes = [POINTER(struct_spatial_index)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 430
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_add_item'):
-    Vect_spatial_index_add_item = _libs['grass_vector.7.0.svn'].Vect_spatial_index_add_item
-    Vect_spatial_index_add_item.restype = None
-    Vect_spatial_index_add_item.argtypes = [POINTER(struct_spatial_index), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 431
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_del_item'):
-    Vect_spatial_index_del_item = _libs['grass_vector.7.0.svn'].Vect_spatial_index_del_item
-    Vect_spatial_index_del_item.restype = None
-    Vect_spatial_index_del_item.argtypes = [POINTER(struct_spatial_index), c_int, POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 432
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_spatial_index_select'):
-    Vect_spatial_index_select = _libs['grass_vector.7.0.svn'].Vect_spatial_index_select
-    Vect_spatial_index_select.restype = c_int
-    Vect_spatial_index_select.argtypes = [POINTER(struct_spatial_index), POINTER(struct_bound_box), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 435
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_ascii'):
-    Vect_read_ascii = _libs['grass_vector.7.0.svn'].Vect_read_ascii
-    Vect_read_ascii.restype = c_int
-    Vect_read_ascii.argtypes = [POINTER(FILE), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 436
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_ascii_head'):
-    Vect_read_ascii_head = _libs['grass_vector.7.0.svn'].Vect_read_ascii_head
-    Vect_read_ascii_head.restype = c_int
-    Vect_read_ascii_head.argtypes = [POINTER(FILE), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 437
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_ascii'):
-    Vect_write_ascii = _libs['grass_vector.7.0.svn'].Vect_write_ascii
-    Vect_write_ascii.restype = c_int
-    Vect_write_ascii.argtypes = [POINTER(FILE), POINTER(FILE), POINTER(struct_Map_info), c_int, c_int, c_int, String, c_int, c_int, POINTER(struct_cat_list), String, POINTER(POINTER(c_char)), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 441
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_ascii_head'):
-    Vect_write_ascii_head = _libs['grass_vector.7.0.svn'].Vect_write_ascii_head
-    Vect_write_ascii_head.restype = None
-    Vect_write_ascii_head.argtypes = [POINTER(FILE), POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 444
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_get_line_type'):
-    Vect_sfa_get_line_type = _libs['grass_vector.7.0.svn'].Vect_sfa_get_line_type
-    Vect_sfa_get_line_type.restype = c_int
-    Vect_sfa_get_line_type.argtypes = [POINTER(struct_line_pnts), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 445
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_check_line_type'):
-    Vect_sfa_check_line_type = _libs['grass_vector.7.0.svn'].Vect_sfa_check_line_type
-    Vect_sfa_check_line_type.restype = c_int
-    Vect_sfa_check_line_type.argtypes = [POINTER(struct_line_pnts), c_int, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 446
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_line_dimension'):
-    Vect_sfa_line_dimension = _libs['grass_vector.7.0.svn'].Vect_sfa_line_dimension
-    Vect_sfa_line_dimension.restype = c_int
-    Vect_sfa_line_dimension.argtypes = [c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 447
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_line_geometry_type'):
-    Vect_sfa_line_geometry_type = _libs['grass_vector.7.0.svn'].Vect_sfa_line_geometry_type
-    Vect_sfa_line_geometry_type.restype = ReturnString
-    Vect_sfa_line_geometry_type.argtypes = [POINTER(struct_line_pnts), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 448
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_line_astext'):
-    Vect_sfa_line_astext = _libs['grass_vector.7.0.svn'].Vect_sfa_line_astext
-    Vect_sfa_line_astext.restype = c_int
-    Vect_sfa_line_astext.argtypes = [POINTER(struct_line_pnts), c_int, c_int, c_int, POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 449
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_is_line_simple'):
-    Vect_sfa_is_line_simple = _libs['grass_vector.7.0.svn'].Vect_sfa_is_line_simple
-    Vect_sfa_is_line_simple.restype = c_int
-    Vect_sfa_is_line_simple.argtypes = [POINTER(struct_line_pnts), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 450
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sfa_is_line_closed'):
-    Vect_sfa_is_line_closed = _libs['grass_vector.7.0.svn'].Vect_sfa_is_line_closed
-    Vect_sfa_is_line_closed.restype = c_int
-    Vect_sfa_is_line_closed.argtypes = [POINTER(struct_line_pnts), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 455
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_print_header'):
-    Vect_print_header = _libs['grass_vector.7.0.svn'].Vect_print_header
-    Vect_print_header.restype = c_int
-    Vect_print_header.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 456
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect__init_head'):
-    Vect__init_head = _libs['grass_vector.7.0.svn'].Vect__init_head
-    Vect__init_head.restype = None
-    Vect__init_head.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 459
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_coor_info'):
-    Vect_coor_info = _libs['grass_vector.7.0.svn'].Vect_coor_info
-    Vect_coor_info.restype = c_int
-    Vect_coor_info.argtypes = [POINTER(struct_Map_info), POINTER(struct_Coor_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 460
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_maptype_info'):
-    Vect_maptype_info = _libs['grass_vector.7.0.svn'].Vect_maptype_info
-    Vect_maptype_info.restype = ReturnString
-    Vect_maptype_info.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 461
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_maptype'):
-    Vect_maptype = _libs['grass_vector.7.0.svn'].Vect_maptype
-    Vect_maptype.restype = c_int
-    Vect_maptype.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 462
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_topo'):
-    Vect_open_topo = _libs['grass_vector.7.0.svn'].Vect_open_topo
-    Vect_open_topo.restype = c_int
-    Vect_open_topo.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 463
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_save_topo'):
-    Vect_save_topo = _libs['grass_vector.7.0.svn'].Vect_save_topo
-    Vect_save_topo.restype = c_int
-    Vect_save_topo.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 464
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_open_sidx'):
-    Vect_open_sidx = _libs['grass_vector.7.0.svn'].Vect_open_sidx
-    Vect_open_sidx.restype = c_int
-    Vect_open_sidx.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 465
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_save_sidx'):
-    Vect_save_sidx = _libs['grass_vector.7.0.svn'].Vect_save_sidx
-    Vect_save_sidx.restype = c_int
-    Vect_save_sidx.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 466
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_sidx_dump'):
-    Vect_sidx_dump = _libs['grass_vector.7.0.svn'].Vect_sidx_dump
-    Vect_sidx_dump.restype = c_int
-    Vect_sidx_dump.argtypes = [POINTER(struct_Map_info), POINTER(FILE)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 467
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_sidx_from_topo'):
-    Vect_build_sidx_from_topo = _libs['grass_vector.7.0.svn'].Vect_build_sidx_from_topo
-    Vect_build_sidx_from_topo.restype = c_int
-    Vect_build_sidx_from_topo.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 468
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_sidx'):
-    Vect_build_sidx = _libs['grass_vector.7.0.svn'].Vect_build_sidx
-    Vect_build_sidx.restype = c_int
-    Vect_build_sidx.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 470
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect__write_head'):
-    Vect__write_head = _libs['grass_vector.7.0.svn'].Vect__write_head
-    Vect__write_head.restype = c_int
-    Vect__write_head.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 471
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect__read_head'):
-    Vect__read_head = _libs['grass_vector.7.0.svn'].Vect__read_head
-    Vect__read_head.restype = c_int
-    Vect__read_head.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 472
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_open_old_nat'):
-    V1_open_old_nat = _libs['grass_vector.7.0.svn'].V1_open_old_nat
-    V1_open_old_nat.restype = c_int
-    V1_open_old_nat.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 473
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_open_old_ogr'):
-    V1_open_old_ogr = _libs['grass_vector.7.0.svn'].V1_open_old_ogr
-    V1_open_old_ogr.restype = c_int
-    V1_open_old_ogr.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 474
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_open_old_ogr'):
-    V2_open_old_ogr = _libs['grass_vector.7.0.svn'].V2_open_old_ogr
-    V2_open_old_ogr.restype = c_int
-    V2_open_old_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 475
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_open_new_nat'):
-    V1_open_new_nat = _libs['grass_vector.7.0.svn'].V1_open_new_nat
-    V1_open_new_nat.restype = c_int
-    V1_open_new_nat.argtypes = [POINTER(struct_Map_info), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 476
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_open_new_ogr'):
-    V1_open_new_ogr = _libs['grass_vector.7.0.svn'].V1_open_new_ogr
-    V1_open_new_ogr.restype = c_int
-    V1_open_new_ogr.argtypes = [POINTER(struct_Map_info), String, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 477
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_open_new_ogr'):
-    V2_open_new_ogr = _libs['grass_vector.7.0.svn'].V2_open_new_ogr
-    V2_open_new_ogr.restype = c_int
-    V2_open_new_ogr.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 478
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_rewind_nat'):
-    V1_rewind_nat = _libs['grass_vector.7.0.svn'].V1_rewind_nat
-    V1_rewind_nat.restype = c_int
-    V1_rewind_nat.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 479
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_rewind_ogr'):
-    V1_rewind_ogr = _libs['grass_vector.7.0.svn'].V1_rewind_ogr
-    V1_rewind_ogr.restype = c_int
-    V1_rewind_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 480
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_rewind_nat'):
-    V2_rewind_nat = _libs['grass_vector.7.0.svn'].V2_rewind_nat
-    V2_rewind_nat.restype = c_int
-    V2_rewind_nat.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 481
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_rewind_ogr'):
-    V2_rewind_ogr = _libs['grass_vector.7.0.svn'].V2_rewind_ogr
-    V2_rewind_ogr.restype = c_int
-    V2_rewind_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 482
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_close_nat'):
-    V1_close_nat = _libs['grass_vector.7.0.svn'].V1_close_nat
-    V1_close_nat.restype = c_int
-    V1_close_nat.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 483
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_close_ogr'):
-    V1_close_ogr = _libs['grass_vector.7.0.svn'].V1_close_ogr
-    V1_close_ogr.restype = c_int
-    V1_close_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 484
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_close_ogr'):
-    V2_close_ogr = _libs['grass_vector.7.0.svn'].V2_close_ogr
-    V2_close_ogr.restype = c_int
-    V2_close_ogr.argtypes = [POINTER(struct_Map_info)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 487
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_read_line_nat'):
-    V1_read_line_nat = _libs['grass_vector.7.0.svn'].V1_read_line_nat
-    V1_read_line_nat.restype = c_int
-    V1_read_line_nat.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 489
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_read_line_ogr'):
-    V1_read_line_ogr = _libs['grass_vector.7.0.svn'].V1_read_line_ogr
-    V1_read_line_ogr.restype = c_int
-    V1_read_line_ogr.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 491
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_read_next_line_nat'):
-    V1_read_next_line_nat = _libs['grass_vector.7.0.svn'].V1_read_next_line_nat
-    V1_read_next_line_nat.restype = c_int
-    V1_read_next_line_nat.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 493
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_read_next_line_ogr'):
-    V1_read_next_line_ogr = _libs['grass_vector.7.0.svn'].V1_read_next_line_ogr
-    V1_read_next_line_ogr.restype = c_int
-    V1_read_next_line_ogr.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 495
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_read_line_nat'):
-    V2_read_line_nat = _libs['grass_vector.7.0.svn'].V2_read_line_nat
-    V2_read_line_nat.restype = c_int
-    V2_read_line_nat.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 497
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_read_line_ogr'):
-    V2_read_line_ogr = _libs['grass_vector.7.0.svn'].V2_read_line_ogr
-    V2_read_line_ogr.restype = c_int
-    V2_read_line_ogr.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 499
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_read_next_line_nat'):
-    V2_read_next_line_nat = _libs['grass_vector.7.0.svn'].V2_read_next_line_nat
-    V2_read_next_line_nat.restype = c_int
-    V2_read_next_line_nat.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 501
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_read_next_line_ogr'):
-    V2_read_next_line_ogr = _libs['grass_vector.7.0.svn'].V2_read_next_line_ogr
-    V2_read_next_line_ogr.restype = c_int
-    V2_read_next_line_ogr.argtypes = [POINTER(struct_Map_info), POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 503
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_delete_line_nat'):
-    V1_delete_line_nat = _libs['grass_vector.7.0.svn'].V1_delete_line_nat
-    V1_delete_line_nat.restype = c_int
-    V1_delete_line_nat.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 504
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_delete_line_nat'):
-    V2_delete_line_nat = _libs['grass_vector.7.0.svn'].V2_delete_line_nat
-    V2_delete_line_nat.restype = c_int
-    V2_delete_line_nat.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 505
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_delete_line_ogr'):
-    V1_delete_line_ogr = _libs['grass_vector.7.0.svn'].V1_delete_line_ogr
-    V1_delete_line_ogr.restype = c_int
-    V1_delete_line_ogr.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 506
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_delete_line_ogr'):
-    V2_delete_line_ogr = _libs['grass_vector.7.0.svn'].V2_delete_line_ogr
-    V2_delete_line_ogr.restype = c_int
-    V2_delete_line_ogr.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 507
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_restore_line_nat'):
-    V1_restore_line_nat = _libs['grass_vector.7.0.svn'].V1_restore_line_nat
-    V1_restore_line_nat.restype = c_int
-    V1_restore_line_nat.argtypes = [POINTER(struct_Map_info), off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 508
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_restore_line_nat'):
-    V2_restore_line_nat = _libs['grass_vector.7.0.svn'].V2_restore_line_nat
-    V2_restore_line_nat.restype = c_int
-    V2_restore_line_nat.argtypes = [POINTER(struct_Map_info), c_int, off_t]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 509
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_write_line_nat'):
-    V1_write_line_nat = _libs['grass_vector.7.0.svn'].V1_write_line_nat
-    V1_write_line_nat.restype = off_t
-    V1_write_line_nat.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 511
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_write_line_nat'):
-    V2_write_line_nat = _libs['grass_vector.7.0.svn'].V2_write_line_nat
-    V2_write_line_nat.restype = off_t
-    V2_write_line_nat.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 513
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_write_line_ogr'):
-    V1_write_line_ogr = _libs['grass_vector.7.0.svn'].V1_write_line_ogr
-    V1_write_line_ogr.restype = off_t
-    V1_write_line_ogr.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 515
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_write_line_ogr'):
-    V2_write_line_ogr = _libs['grass_vector.7.0.svn'].V2_write_line_ogr
-    V2_write_line_ogr.restype = off_t
-    V2_write_line_ogr.argtypes = [POINTER(struct_Map_info), c_int, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 517
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_rewrite_line_nat'):
-    V1_rewrite_line_nat = _libs['grass_vector.7.0.svn'].V1_rewrite_line_nat
-    V1_rewrite_line_nat.restype = off_t
-    V1_rewrite_line_nat.argtypes = [POINTER(struct_Map_info), c_int, c_int, off_t, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 519
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_rewrite_line_nat'):
-    V2_rewrite_line_nat = _libs['grass_vector.7.0.svn'].V2_rewrite_line_nat
-    V2_rewrite_line_nat.restype = off_t
-    V2_rewrite_line_nat.argtypes = [POINTER(struct_Map_info), c_int, c_int, off_t, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 521
-if hasattr(_libs['grass_vector.7.0.svn'], 'V1_rewrite_line_ogr'):
-    V1_rewrite_line_ogr = _libs['grass_vector.7.0.svn'].V1_rewrite_line_ogr
-    V1_rewrite_line_ogr.restype = off_t
-    V1_rewrite_line_ogr.argtypes = [POINTER(struct_Map_info), c_int, c_int, off_t, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 523
-if hasattr(_libs['grass_vector.7.0.svn'], 'V2_rewrite_line_ogr'):
-    V2_rewrite_line_ogr = _libs['grass_vector.7.0.svn'].V2_rewrite_line_ogr
-    V2_rewrite_line_ogr.restype = off_t
-    V2_rewrite_line_ogr.argtypes = [POINTER(struct_Map_info), c_int, c_int, off_t, POINTER(struct_line_pnts), POINTER(struct_line_cats)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 527
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_nat'):
-    Vect_build_nat = _libs['grass_vector.7.0.svn'].Vect_build_nat
-    Vect_build_nat.restype = c_int
-    Vect_build_nat.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 528
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_ogr'):
-    Vect_build_ogr = _libs['grass_vector.7.0.svn'].Vect_build_ogr
-    Vect_build_ogr.restype = c_int
-    Vect_build_ogr.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 529
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_build_line_area'):
-    Vect_build_line_area = _libs['grass_vector.7.0.svn'].Vect_build_line_area
-    Vect_build_line_area.restype = c_int
-    Vect_build_line_area.argtypes = [POINTER(struct_Map_info), c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 530
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_isle_find_area'):
-    Vect_isle_find_area = _libs['grass_vector.7.0.svn'].Vect_isle_find_area
-    Vect_isle_find_area.restype = c_int
-    Vect_isle_find_area.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 531
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_attach_isle'):
-    Vect_attach_isle = _libs['grass_vector.7.0.svn'].Vect_attach_isle
-    Vect_attach_isle.restype = c_int
-    Vect_attach_isle.argtypes = [POINTER(struct_Map_info), c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 532
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_attach_isles'):
-    Vect_attach_isles = _libs['grass_vector.7.0.svn'].Vect_attach_isles
-    Vect_attach_isles.restype = c_int
-    Vect_attach_isles.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 533
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_attach_centroids'):
-    Vect_attach_centroids = _libs['grass_vector.7.0.svn'].Vect_attach_centroids
-    Vect_attach_centroids.restype = c_int
-    Vect_attach_centroids.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 545
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_read_colors'):
-    Vect_read_colors = _libs['grass_vector.7.0.svn'].Vect_read_colors
-    Vect_read_colors.restype = c_int
-    Vect_read_colors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 546
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_remove_colors'):
-    Vect_remove_colors = _libs['grass_vector.7.0.svn'].Vect_remove_colors
-    Vect_remove_colors.restype = c_int
-    Vect_remove_colors.argtypes = [String, String]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vector.h: 547
-if hasattr(_libs['grass_vector.7.0.svn'], 'Vect_write_colors'):
-    Vect_write_colors = _libs['grass_vector.7.0.svn'].Vect_write_colors
-    Vect_write_colors.restype = None
-    Vect_write_colors.argtypes = [String, String, POINTER(struct_Colors)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_EXIT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_PRINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_RETURN = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 13
-try:
-    GV_DIRECTORY = 'vector'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 14
-try:
-    GV_FRMT_ELEMENT = 'frmt'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 15
-try:
-    GV_COOR_ELEMENT = 'coor'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 16
-try:
-    GV_HEAD_ELEMENT = 'head'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 17
-try:
-    GV_DBLN_ELEMENT = 'dbln'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 18
-try:
-    GV_HIST_ELEMENT = 'hist'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 19
-try:
-    GV_TOPO_ELEMENT = 'topo'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 20
-try:
-    GV_SIDX_ELEMENT = 'sidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 21
-try:
-    GV_CIDX_ELEMENT = 'cidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 22
-try:
-    GV_FIDX_ELEMENT = 'fidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 23
-try:
-    GV_COLR_ELEMENT = 'colr'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 24
-try:
-    GV_COLR2_DIRECTORY = 'vcolr2'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_LITTLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_BIG = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_OTHER = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_DOUBLE = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_FLOAT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_LONG = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_INT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_SHORT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_CHAR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_OFF_T = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    DBL_SIZ = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    FLT_SIZ = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    LNG_SIZ = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    SHRT_SIZ = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_DOUBLE_MAX = 1.7976931348623157e+308
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_DOUBLE_MIN = 2.2250738585072014e-308
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_FLOAT_MAX = 3.4028234699999998e+38
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_FLOAT_MIN = 1.17549435e-38
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_LONG_MAX = 2147483647L
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_LONG_MIN = (-2147483647L)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_INT_MAX = 2147483647
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_INT_MIN = (-2147483647)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_SHORT_MAX = 32767
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_SHORT_MIN = (-32768)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_CHAR_MAX = 127
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_CHAR_MIN = (-128)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 74
-try:
-    GV_FORMAT_NATIVE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 75
-try:
-    GV_FORMAT_OGR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 76
-try:
-    GV_FORMAT_OGR_DIRECT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 78
-try:
-    GV_1TABLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 79
-try:
-    GV_MTABLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 81
-try:
-    GV_MODE_READ = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 82
-try:
-    GV_MODE_WRITE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 83
-try:
-    GV_MODE_RW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 85
-try:
-    VECT_OPEN_CODE = 1428335138
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 86
-try:
-    VECT_CLOSED_CODE = 581575253
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_1 = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_2 = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_3 = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 96
-try:
-    GV_BUILD_NONE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 97
-try:
-    GV_BUILD_BASE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 98
-try:
-    GV_BUILD_AREAS = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 99
-try:
-    GV_BUILD_ATTACH_ISLES = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 100
-try:
-    GV_BUILD_CENTROIDS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 100
-try:
-    GV_BUILD_ALL = GV_BUILD_CENTROIDS
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 102
-def VECT_OPEN(Map):
-    return (((Map.contents.open).value) == VECT_OPEN_CODE)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_ALWAYS = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_NEVER = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_AUTO = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 106
-try:
-    GV_COOR_HEAD_SIZE = 14
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 107
-try:
-    GRASS_V_VERSION = '5.0'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_COOR_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_COOR_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_TOPO_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_TOPO_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_SIDX_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_SIDX_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_CIDX_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_CIDX_VER_MINOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_COOR_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_COOR_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_TOPO_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_TOPO_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_SIDX_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_SIDX_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_CIDX_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_CIDX_EARLIEST_MINOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 114
-try:
-    WITHOUT_Z = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 114
-try:
-    WITH_Z = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 116
-try:
-    GV_LEFT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 116
-try:
-    GV_RIGHT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 118
-try:
-    GV_FORWARD = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 118
-try:
-    GV_BACKWARD = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_BOUNDARY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_CENTROID = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_FACE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_KERNEL = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_AREA = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_VOLUME = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 121
-try:
-    GV_POINTS = (GV_POINT | GV_CENTROID)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 121
-try:
-    GV_LINES = (GV_LINE | GV_BOUNDARY)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_BOUNDARY = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_CENTROID = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_FACE = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_KERNEL = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_AREA = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_VOLUME = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 125
-try:
-    GV_ON_AND = 'AND'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 125
-try:
-    GV_ON_OVERLAP = 'OVERLAP'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 135
-try:
-    GV_NCATS_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 136
-try:
-    GV_FIELD_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 137
-try:
-    GV_CAT_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_POINT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_STD = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_WKT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINESTRING = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINEARRING = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_POLYGON = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 142
-try:
-    HEADSTR = 50
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_EXIT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_PRINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 11
-try:
-    GV_FATAL_RETURN = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 13
-try:
-    GV_DIRECTORY = 'vector'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 14
-try:
-    GV_FRMT_ELEMENT = 'frmt'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 15
-try:
-    GV_COOR_ELEMENT = 'coor'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 16
-try:
-    GV_HEAD_ELEMENT = 'head'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 17
-try:
-    GV_DBLN_ELEMENT = 'dbln'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 18
-try:
-    GV_HIST_ELEMENT = 'hist'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 19
-try:
-    GV_TOPO_ELEMENT = 'topo'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 20
-try:
-    GV_SIDX_ELEMENT = 'sidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 21
-try:
-    GV_CIDX_ELEMENT = 'cidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 22
-try:
-    GV_FIDX_ELEMENT = 'fidx'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 23
-try:
-    GV_COLR_ELEMENT = 'colr'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 24
-try:
-    GV_COLR2_DIRECTORY = 'vcolr2'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_LITTLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_BIG = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 29
-try:
-    ENDIAN_OTHER = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_DOUBLE = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_FLOAT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_LONG = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_INT = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_SHORT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_CHAR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 59
-try:
-    PORT_OFF_T = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    DBL_SIZ = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    FLT_SIZ = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    LNG_SIZ = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 64
-try:
-    SHRT_SIZ = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_DOUBLE_MAX = 1.7976931348623157e+308
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_DOUBLE_MIN = 2.2250738585072014e-308
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_FLOAT_MAX = 3.4028234699999998e+38
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_FLOAT_MIN = 1.17549435e-38
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_LONG_MAX = 2147483647L
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_LONG_MIN = (-2147483647L)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_INT_MAX = 2147483647
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_INT_MIN = (-2147483647)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_SHORT_MAX = 32767
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_SHORT_MIN = (-32768)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_CHAR_MAX = 127
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 69
-try:
-    PORT_CHAR_MIN = (-128)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 74
-try:
-    GV_FORMAT_NATIVE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 75
-try:
-    GV_FORMAT_OGR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 76
-try:
-    GV_FORMAT_OGR_DIRECT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 78
-try:
-    GV_1TABLE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 79
-try:
-    GV_MTABLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 81
-try:
-    GV_MODE_READ = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 82
-try:
-    GV_MODE_WRITE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 83
-try:
-    GV_MODE_RW = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 85
-try:
-    VECT_OPEN_CODE = 1428335138
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 86
-try:
-    VECT_CLOSED_CODE = 581575253
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_1 = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_2 = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 93
-try:
-    LEVEL_3 = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 96
-try:
-    GV_BUILD_NONE = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 97
-try:
-    GV_BUILD_BASE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 98
-try:
-    GV_BUILD_AREAS = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 99
-try:
-    GV_BUILD_ATTACH_ISLES = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 100
-try:
-    GV_BUILD_CENTROIDS = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 100
-try:
-    GV_BUILD_ALL = GV_BUILD_CENTROIDS
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 102
-def VECT_OPEN(Map):
-    return (((Map.contents.open).value) == VECT_OPEN_CODE)
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_ALWAYS = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_NEVER = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 104
-try:
-    GV_MEMORY_AUTO = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 106
-try:
-    GV_COOR_HEAD_SIZE = 14
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 107
-try:
-    GRASS_V_VERSION = '5.0'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_COOR_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_COOR_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_TOPO_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_TOPO_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_SIDX_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_SIDX_VER_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_CIDX_VER_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 109
-try:
-    GV_CIDX_VER_MINOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_COOR_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_COOR_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_TOPO_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_TOPO_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_SIDX_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_SIDX_EARLIEST_MINOR = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_CIDX_EARLIEST_MAJOR = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 112
-try:
-    GV_CIDX_EARLIEST_MINOR = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 114
-try:
-    WITHOUT_Z = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 114
-try:
-    WITH_Z = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 116
-try:
-    GV_LEFT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 116
-try:
-    GV_RIGHT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 118
-try:
-    GV_FORWARD = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 118
-try:
-    GV_BACKWARD = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_BOUNDARY = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_CENTROID = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_FACE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_KERNEL = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_AREA = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 120
-try:
-    GV_VOLUME = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 121
-try:
-    GV_POINTS = (GV_POINT | GV_CENTROID)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 121
-try:
-    GV_LINES = (GV_LINE | GV_BOUNDARY)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_BOUNDARY = 3
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_CENTROID = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_FACE = 5
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_KERNEL = 6
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_AREA = 7
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 123
-try:
-    GV_STORE_VOLUME = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 125
-try:
-    GV_ON_AND = 'AND'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 125
-try:
-    GV_ON_OVERLAP = 'OVERLAP'
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 135
-try:
-    GV_NCATS_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 136
-try:
-    GV_FIELD_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 137
-try:
-    GV_CAT_MAX = PORT_INT_MAX
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_POINT = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_STD = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 139
-try:
-    GV_ASCII_FORMAT_WKT = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINESTRING = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_LINEARRING = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 141
-try:
-    SF_POLYGON = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_defines.h: 142
-try:
-    HEADSTR = 50
-except:
-    pass
-
-site_att = struct_site_att # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 46
-
-bound_box = struct_bound_box # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 65
-
-gvfile = struct_gvfile # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 96
-
-field_info = struct_field_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 134
-
-dblinks = struct_dblinks # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 165
-
-Port_info = struct_Port_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 186
-
-recycle = struct_recycle # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 272
-
-dig_head = struct_dig_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 282
-
-Coor_info = struct_Coor_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 381
-
-line_pnts = struct_line_pnts # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1469
-
-Format_info_ogr = struct_Format_info_ogr # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 399
-
-Format_info = struct_Format_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 522
-
-Cat_index = struct_Cat_index # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 537
-
-P_node = struct_P_node # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1249
-
-P_line = struct_P_line # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1371
-
-P_area = struct_P_area # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1399
-
-P_isle = struct_P_isle # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1440
-
-Plus_head = struct_Plus_head # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 586
-
-Map_info = struct_Map_info # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1052
-
-P_topo_l = struct_P_topo_l # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1291
-
-P_topo_b = struct_P_topo_b # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1306
-
-P_topo_c = struct_P_topo_c # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1329
-
-P_topo_f = struct_P_topo_f # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1340
-
-P_topo_k = struct_P_topo_k # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1360
-
-line_cats = struct_line_cats # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1496
-
-cat_list = struct_cat_list # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1517
-
-ilist = struct_ilist # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1546
-
-boxlist = struct_boxlist # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1565
-
-varray = struct_varray # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1594
-
-spatial_index = struct_spatial_index # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1614
-
-# No inserted files
-
diff --git a/lib/python/ctypes/vedit.py b/lib/python/ctypes/vedit.py
deleted file mode 100644
index fb1c300..0000000
--- a/lib/python/ctypes/vedit.py
+++ /dev/null
@@ -1,2096 +0,0 @@
-'''Wrapper for vedit.h
-
-Generated with:
-./ctypesgen.py --cpp gcc -E  -D_FILE_OFFSET_BITS=64     -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -I/home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -lgrass_vedit.7.0.svn -I/usr/local/include /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h -o vedit.py
-
-Do not modify this file.
-'''
-
-__docformat__ =  'restructuredtext'
-
-# Begin preamble
-
-import ctypes, os, sys
-from ctypes import *
-
-_int_types = (c_int16, c_int32)
-if hasattr(ctypes, 'c_int64'):
-    # Some builds of ctypes apparently do not have c_int64
-    # defined; it's a pretty good bet that these builds do not
-    # have 64-bit pointers.
-    _int_types += (c_int64,)
-for t in _int_types:
-    if sizeof(t) == sizeof(c_size_t):
-        c_ptrdiff_t = t
-del t
-del _int_types
-
-class c_void(Structure):
-    # c_void_p is a buggy return type, converting to int, so
-    # POINTER(None) == c_void_p is actually written as
-    # POINTER(c_void), so it can be treated as a real pointer.
-    _fields_ = [('dummy', c_int)]
-
-def POINTER(obj):
-    p = ctypes.POINTER(obj)
-
-    # Convert None to a real NULL pointer to work around bugs
-    # in how ctypes handles None on 64-bit platforms
-    if not isinstance(p.from_param, classmethod):
-        def from_param(cls, x):
-            if x is None:
-                return cls()
-            else:
-                return x
-        p.from_param = classmethod(from_param)
-
-    return p
-
-class UserString:
-    def __init__(self, seq):
-        if isinstance(seq, basestring):
-            self.data = seq
-        elif isinstance(seq, UserString):
-            self.data = seq.data[:]
-        else:
-            self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __long__(self): return long(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
-
-    def __cmp__(self, string):
-        if isinstance(string, UserString):
-            return cmp(self.data, string.data)
-        else:
-            return cmp(self.data, string)
-    def __contains__(self, char):
-        return char in self.data
-
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
-    def __getslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        return self.__class__(self.data[start:end])
-
-    def __add__(self, other):
-        if isinstance(other, UserString):
-            return self.__class__(self.data + other.data)
-        elif isinstance(other, basestring):
-            return self.__class__(self.data + other)
-        else:
-            return self.__class__(self.data + str(other))
-    def __radd__(self, other):
-        if isinstance(other, basestring):
-            return self.__class__(other + self.data)
-        else:
-            return self.__class__(str(other) + self.data)
-    def __mul__(self, n):
-        return self.__class__(self.data*n)
-    __rmul__ = __mul__
-    def __mod__(self, args):
-        return self.__class__(self.data % args)
-
-    # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
-    def center(self, width, *args):
-        return self.__class__(self.data.center(width, *args))
-    def count(self, sub, start=0, end=sys.maxint):
-        return self.data.count(sub, start, end)
-    def decode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.decode(encoding, errors))
-            else:
-                return self.__class__(self.data.decode(encoding))
-        else:
-            return self.__class__(self.data.decode())
-    def encode(self, encoding=None, errors=None): # XXX improve this?
-        if encoding:
-            if errors:
-                return self.__class__(self.data.encode(encoding, errors))
-            else:
-                return self.__class__(self.data.encode(encoding))
-        else:
-            return self.__class__(self.data.encode())
-    def endswith(self, suffix, start=0, end=sys.maxint):
-        return self.data.endswith(suffix, start, end)
-    def expandtabs(self, tabsize=8):
-        return self.__class__(self.data.expandtabs(tabsize))
-    def find(self, sub, start=0, end=sys.maxint):
-        return self.data.find(sub, start, end)
-    def index(self, sub, start=0, end=sys.maxint):
-        return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
-    def ljust(self, width, *args):
-        return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
-    def partition(self, sep):
-        return self.data.partition(sep)
-    def replace(self, old, new, maxsplit=-1):
-        return self.__class__(self.data.replace(old, new, maxsplit))
-    def rfind(self, sub, start=0, end=sys.maxint):
-        return self.data.rfind(sub, start, end)
-    def rindex(self, sub, start=0, end=sys.maxint):
-        return self.data.rindex(sub, start, end)
-    def rjust(self, width, *args):
-        return self.__class__(self.data.rjust(width, *args))
-    def rpartition(self, sep):
-        return self.data.rpartition(sep)
-    def rstrip(self, chars=None): return self.__class__(self.data.rstrip(chars))
-    def split(self, sep=None, maxsplit=-1):
-        return self.data.split(sep, maxsplit)
-    def rsplit(self, sep=None, maxsplit=-1):
-        return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=0): return self.data.splitlines(keepends)
-    def startswith(self, prefix, start=0, end=sys.maxint):
-        return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
-    def translate(self, *args):
-        return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
-
-class MutableString(UserString):
-    """mutable string objects
-
-    Python strings are immutable objects.  This has the advantage, that
-    strings may be used as dictionary keys.  If this property isn't needed
-    and you insist on changing string values in place instead, you may cheat
-    and use MutableString.
-
-    But the purpose of this class is an educational one: to prevent
-    people from inventing their own mutable string class derived
-    from UserString and than forget thereby to remove (override) the
-    __hash__ method inherited from UserString.  This would lead to
-    errors that would be very hard to track down.
-
-    A faster and better solution is to rewrite your program using lists."""
-    def __init__(self, string=""):
-        self.data = string
-    def __hash__(self):
-        raise TypeError, "unhashable type (it is mutable)"
-    def __setitem__(self, index, sub):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + sub + self.data[index+1:]
-    def __delitem__(self, index):
-        if index < 0:
-            index += len(self.data)
-        if index < 0 or index >= len(self.data): raise IndexError
-        self.data = self.data[:index] + self.data[index+1:]
-    def __setslice__(self, start, end, sub):
-        start = max(start, 0); end = max(end, 0)
-        if isinstance(sub, UserString):
-            self.data = self.data[:start]+sub.data+self.data[end:]
-        elif isinstance(sub, basestring):
-            self.data = self.data[:start]+sub+self.data[end:]
-        else:
-            self.data =  self.data[:start]+str(sub)+self.data[end:]
-    def __delslice__(self, start, end):
-        start = max(start, 0); end = max(end, 0)
-        self.data = self.data[:start] + self.data[end:]
-    def immutable(self):
-        return UserString(self.data)
-    def __iadd__(self, other):
-        if isinstance(other, UserString):
-            self.data += other.data
-        elif isinstance(other, basestring):
-            self.data += other
-        else:
-            self.data += str(other)
-        return self
-    def __imul__(self, n):
-        self.data *= n
-        return self
-
-class String(MutableString, Union):
-
-    _fields_ = [('raw', POINTER(c_char)),
-                ('data', c_char_p)]
-
-    def __init__(self, obj=""):
-        if isinstance(obj, (str, unicode, UserString)):
-            self.data = str(obj)
-        else:
-            self.raw = obj
-
-    def __len__(self):
-        return self.data and len(self.data) or 0
-    
-    def from_param(cls, obj):
-        # Convert None or 0
-        if obj is None or obj == 0:
-            return cls(POINTER(c_char)())
-
-        # Convert from String
-        elif isinstance(obj, String):
-            return obj
-
-        # Convert from str
-        elif isinstance(obj, str):
-            return cls(obj)
-        
-        # Convert from c_char_p
-        elif isinstance(obj, c_char_p):
-            return obj
-        
-        # Convert from POINTER(c_char)
-        elif isinstance(obj, POINTER(c_char)):
-            return obj
-        
-        # Convert from raw pointer
-        elif isinstance(obj, int):
-            return cls(cast(obj, POINTER(c_char)))
-
-        # Convert from object
-        else:
-            return String.from_param(obj._as_parameter_)
-    from_param = classmethod(from_param)
-
-def ReturnString(obj):
-    return String.from_param(obj)
-
-# As of ctypes 1.0, ctypes does not support custom error-checking
-# functions on callbacks, nor does it support custom datatypes on
-# callbacks, so we must ensure that all callbacks return
-# primitive datatypes.
-#
-# Non-primitive return values wrapped with UNCHECKED won't be
-# typechecked, and will be converted to c_void_p.
-def UNCHECKED(type):
-    if (hasattr(type, "_type_") and isinstance(type._type_, str)
-        and type._type_ != "P"):
-        return type
-    else:
-        return c_void_p
-
-# ctypes doesn't have direct support for variadic functions, so we have to write
-# our own wrapper class
-class _variadic_function(object):
-    def __init__(self,func,restype,argtypes):
-        self.func=func
-        self.func.restype=restype
-        self.argtypes=argtypes
-    def _as_parameter_(self):
-        # So we can pass this variadic function as a function pointer
-        return self.func
-    def __call__(self,*args):
-        fixed_args=[]
-        i=0
-        for argtype in self.argtypes:
-            # Typecheck what we can
-            fixed_args.append(argtype.from_param(args[i]))
-            i+=1
-        return self.func(*fixed_args+list(args[i:]))
-
-
-# End preamble
-
-_libs = {}
-_libdirs = []
-
-# Begin loader
-
-# ----------------------------------------------------------------------------
-# Copyright (c) 2008 David James
-# Copyright (c) 2006-2008 Alex Holkner
-# All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright 
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#  * Neither the name of pyglet nor the names of its
-#    contributors may be used to endorse or promote products
-#    derived from this software without specific prior written
-#    permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-# ----------------------------------------------------------------------------
-
-import os.path, re, sys, glob
-import ctypes
-import ctypes.util
-
-def _environ_path(name):
-    if name in os.environ:
-        return os.environ[name].split(":")
-    else:
-        return []
-
-class LibraryLoader(object):
-    def __init__(self):
-        self.other_dirs=[]
-    
-    def load_library(self,libname):
-        """Given the name of a library, load it."""
-        paths = self.getpaths(libname)
-        
-        for path in paths:
-            if os.path.exists(path):
-                return self.load(path)
-        
-        raise ImportError,"%s not found." % libname
-    
-    def load(self,path):
-        """Given a path to a library, load it."""
-        try:
-            # Darwin requires dlopen to be called with mode RTLD_GLOBAL instead
-            # of the default RTLD_LOCAL.  Without this, you end up with
-            # libraries not being loadable, resulting in "Symbol not found"
-            # errors
-            if sys.platform == 'darwin':
-                return ctypes.CDLL(path, ctypes.RTLD_GLOBAL)
-            else:
-                return ctypes.cdll.LoadLibrary(path)
-        except OSError,e:
-            raise ImportError,e
-    
-    def getpaths(self,libname):
-        """Return a list of paths where the library might be found."""
-        if os.path.isabs(libname):
-            yield libname
-        
-        else:
-            for path in self.getplatformpaths(libname):
-                yield path
-            
-            path = ctypes.util.find_library(libname)
-            if path: yield path
-    
-    def getplatformpaths(self, libname):
-        return []
-
-# Darwin (Mac OS X)
-
-class DarwinLibraryLoader(LibraryLoader):
-    name_formats = ["lib%s.dylib", "lib%s.so", "lib%s.bundle", "%s.dylib",
-                "%s.so", "%s.bundle", "%s"]
-    
-    def getplatformpaths(self,libname):
-        if os.path.pathsep in libname:
-            names = [libname]
-        else:
-            names = [format % libname for format in self.name_formats]
-        
-        for dir in self.getdirs(libname):
-            for name in names:
-                yield os.path.join(dir,name)
-    
-    def getdirs(self,libname):
-        '''Implements the dylib search as specified in Apple documentation:
-        
-        http://developer.apple.com/documentation/DeveloperTools/Conceptual/
-            DynamicLibraries/Articles/DynamicLibraryUsageGuidelines.html
-
-        Before commencing the standard search, the method first checks
-        the bundle's ``Frameworks`` directory if the application is running
-        within a bundle (OS X .app).
-        '''
-
-        dyld_fallback_library_path = _environ_path("DYLD_FALLBACK_LIBRARY_PATH")
-        if not dyld_fallback_library_path:
-            dyld_fallback_library_path = [os.path.expanduser('~/lib'),
-                                          '/usr/local/lib', '/usr/lib']
-        
-        dirs = []
-        
-        if '/' in libname:
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-        else:
-            dirs.extend(_environ_path("LD_LIBRARY_PATH"))
-            dirs.extend(_environ_path("DYLD_LIBRARY_PATH"))
-
-        dirs.extend(self.other_dirs)
-        dirs.append(".")
-        
-        if hasattr(sys, 'frozen') and sys.frozen == 'macosx_app':
-            dirs.append(os.path.join(
-                os.environ['RESOURCEPATH'],
-                '..',
-                'Frameworks'))
-
-        dirs.extend(dyld_fallback_library_path)
-        
-        return dirs
-
-# Posix
-
-class PosixLibraryLoader(LibraryLoader):
-    _ld_so_cache = None
-    
-    def _create_ld_so_cache(self):
-        # Recreate search path followed by ld.so.  This is going to be
-        # slow to build, and incorrect (ld.so uses ld.so.cache, which may
-        # not be up-to-date).  Used only as fallback for distros without
-        # /sbin/ldconfig.
-        #
-        # We assume the DT_RPATH and DT_RUNPATH binary sections are omitted.
-
-        directories = []
-        for name in ("LD_LIBRARY_PATH",
-                     "SHLIB_PATH", # HPUX
-                     "LIBPATH", # OS/2, AIX
-                     "LIBRARY_PATH", # BE/OS
-                    ):
-            if name in os.environ:
-                directories.extend(os.environ[name].split(os.pathsep))
-        directories.extend(self.other_dirs)
-        directories.append(".")
-
-        try: directories.extend([dir.strip() for dir in open('/etc/ld.so.conf')])
-        except IOError: pass
-
-        directories.extend(['/lib', '/usr/lib', '/lib64', '/usr/lib64'])
-
-        cache = {}
-        lib_re = re.compile(r'lib(.*)\.s[ol]')
-        ext_re = re.compile(r'\.s[ol]$')
-        for dir in directories:
-            try:
-                for path in glob.glob("%s/*.s[ol]*" % dir):
-                    file = os.path.basename(path)
-
-                    # Index by filename
-                    if file not in cache:
-                        cache[file] = path
-                    
-                    # Index by library name
-                    match = lib_re.match(file)
-                    if match:
-                        library = match.group(1)
-                        if library not in cache:
-                            cache[library] = path
-            except OSError:
-                pass
-
-        self._ld_so_cache = cache
-    
-    def getplatformpaths(self, libname):
-        if self._ld_so_cache is None:
-            self._create_ld_so_cache()
-
-        result = self._ld_so_cache.get(libname)
-        if result: yield result
-
-        path = ctypes.util.find_library(libname)
-        if path: yield os.path.join("/lib",path)
-
-# Windows
-
-class _WindowsLibrary(object):
-    def __init__(self, path):
-        self.cdll = ctypes.cdll.LoadLibrary(path)
-        self.windll = ctypes.windll.LoadLibrary(path)
-
-    def __getattr__(self, name):
-        try: return getattr(self.cdll,name)
-        except AttributeError:
-            try: return getattr(self.windll,name)
-            except AttributeError:
-                raise
-
-class WindowsLibraryLoader(LibraryLoader):
-    name_formats = ["%s.dll", "lib%s.dll"]
-    
-    def load(self, path):
-        return _WindowsLibrary(path)
-    
-    def getplatformpaths(self, libname):
-        if os.path.sep not in libname:
-            for name in self.name_formats:
-                path = ctypes.util.find_library(name % libname)
-                if path:
-                    yield path
-
-# Platform switching
-
-# If your value of sys.platform does not appear in this dict, please contact
-# the Ctypesgen maintainers.
-
-loaderclass = {
-    "darwin":   DarwinLibraryLoader,
-    "cygwin":   WindowsLibraryLoader,
-    "win32":    WindowsLibraryLoader
-}
-
-loader = loaderclass.get(sys.platform, PosixLibraryLoader)()
-
-def add_library_search_dirs(other_dirs):
-    loader.other_dirs = other_dirs
-
-load_library = loader.load_library
-
-del loaderclass
-
-# End loader
-
-add_library_search_dirs([])
-
-# Begin libraries
-
-_libs["grass_vedit.7.0.svn"] = load_library("grass_vedit.7.0.svn")
-
-# 1 libraries
-# End libraries
-
-# No modules
-
-__off_t = c_long # /usr/include/bits/types.h: 141
-
-__off64_t = c_long # /usr/include/bits/types.h: 142
-
-# /usr/include/libio.h: 271
-class struct__IO_FILE(Structure):
-    pass
-
-FILE = struct__IO_FILE # /usr/include/stdio.h: 49
-
-_IO_lock_t = None # /usr/include/libio.h: 180
-
-# /usr/include/libio.h: 186
-class struct__IO_marker(Structure):
-    pass
-
-struct__IO_marker.__slots__ = [
-    '_next',
-    '_sbuf',
-    '_pos',
-]
-struct__IO_marker._fields_ = [
-    ('_next', POINTER(struct__IO_marker)),
-    ('_sbuf', POINTER(struct__IO_FILE)),
-    ('_pos', c_int),
-]
-
-struct__IO_FILE.__slots__ = [
-    '_flags',
-    '_IO_read_ptr',
-    '_IO_read_end',
-    '_IO_read_base',
-    '_IO_write_base',
-    '_IO_write_ptr',
-    '_IO_write_end',
-    '_IO_buf_base',
-    '_IO_buf_end',
-    '_IO_save_base',
-    '_IO_backup_base',
-    '_IO_save_end',
-    '_markers',
-    '_chain',
-    '_fileno',
-    '_flags2',
-    '_old_offset',
-    '_cur_column',
-    '_vtable_offset',
-    '_shortbuf',
-    '_lock',
-    '_offset',
-    '__pad1',
-    '__pad2',
-    '__pad3',
-    '__pad4',
-    '__pad5',
-    '_mode',
-    '_unused2',
-]
-struct__IO_FILE._fields_ = [
-    ('_flags', c_int),
-    ('_IO_read_ptr', String),
-    ('_IO_read_end', String),
-    ('_IO_read_base', String),
-    ('_IO_write_base', String),
-    ('_IO_write_ptr', String),
-    ('_IO_write_end', String),
-    ('_IO_buf_base', String),
-    ('_IO_buf_end', String),
-    ('_IO_save_base', String),
-    ('_IO_backup_base', String),
-    ('_IO_save_end', String),
-    ('_markers', POINTER(struct__IO_marker)),
-    ('_chain', POINTER(struct__IO_FILE)),
-    ('_fileno', c_int),
-    ('_flags2', c_int),
-    ('_old_offset', __off_t),
-    ('_cur_column', c_ushort),
-    ('_vtable_offset', c_char),
-    ('_shortbuf', c_char * 1),
-    ('_lock', POINTER(_IO_lock_t)),
-    ('_offset', __off64_t),
-    ('__pad1', POINTER(None)),
-    ('__pad2', POINTER(None)),
-    ('__pad3', POINTER(None)),
-    ('__pad4', POINTER(None)),
-    ('__pad5', c_size_t),
-    ('_mode', c_int),
-    ('_unused2', c_char * (((15 * sizeof(c_int)) - (4 * sizeof(POINTER(None)))) - sizeof(c_size_t))),
-]
-
-off_t = __off64_t # /usr/include/sys/types.h: 90
-
-dglByte_t = c_ubyte # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 36
-
-dglInt32_t = c_long # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 37
-
-dglInt64_t = c_longlong # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/type.h: 38
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 33
-class union__dglHeapData(Union):
-    pass
-
-union__dglHeapData.__slots__ = [
-    'pv',
-    'n',
-    'un',
-    'l',
-    'ul',
-]
-union__dglHeapData._fields_ = [
-    ('pv', POINTER(None)),
-    ('n', c_int),
-    ('un', c_uint),
-    ('l', c_long),
-    ('ul', c_ulong),
-]
-
-dglHeapData_u = union__dglHeapData # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 33
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 42
-class struct__dglHeapNode(Structure):
-    pass
-
-struct__dglHeapNode.__slots__ = [
-    'key',
-    'value',
-    'flags',
-]
-struct__dglHeapNode._fields_ = [
-    ('key', c_long),
-    ('value', dglHeapData_u),
-    ('flags', c_ubyte),
-]
-
-dglHeapNode_s = struct__dglHeapNode # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 42
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 52
-class struct__dglHeap(Structure):
-    pass
-
-struct__dglHeap.__slots__ = [
-    'index',
-    'count',
-    'block',
-    'pnode',
-]
-struct__dglHeap._fields_ = [
-    ('index', c_long),
-    ('count', c_long),
-    ('block', c_long),
-    ('pnode', POINTER(dglHeapNode_s)),
-]
-
-dglHeap_s = struct__dglHeap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/heap.h: 52
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/tree.h: 165
-class struct__dglTreeEdgePri32(Structure):
-    pass
-
-struct__dglTreeEdgePri32.__slots__ = [
-    'nKey',
-    'cnData',
-    'pnData',
-]
-struct__dglTreeEdgePri32._fields_ = [
-    ('nKey', dglInt32_t),
-    ('cnData', dglInt32_t),
-    ('pnData', POINTER(dglInt32_t)),
-]
-
-dglTreeEdgePri32_s = struct__dglTreeEdgePri32 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/tree.h: 165
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 135
-class struct_anon_23(Structure):
-    pass
-
-struct_anon_23.__slots__ = [
-    'pvAVL',
-]
-struct_anon_23._fields_ = [
-    ('pvAVL', POINTER(None)),
-]
-
-dglNodePrioritizer_s = struct_anon_23 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 135
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 146
-class struct_anon_24(Structure):
-    pass
-
-struct_anon_24.__slots__ = [
-    'cEdge',
-    'iEdge',
-    'pEdgePri32Item',
-    'pvAVL',
-]
-struct_anon_24._fields_ = [
-    ('cEdge', c_int),
-    ('iEdge', c_int),
-    ('pEdgePri32Item', POINTER(dglTreeEdgePri32_s)),
-    ('pvAVL', POINTER(None)),
-]
-
-dglEdgePrioritizer_s = struct_anon_24 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 146
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 193
-class struct__dglGraph(Structure):
-    pass
-
-struct__dglGraph.__slots__ = [
-    'iErrno',
-    'Version',
-    'Endian',
-    'NodeAttrSize',
-    'EdgeAttrSize',
-    'aOpaqueSet',
-    'cNode',
-    'cHead',
-    'cTail',
-    'cAlone',
-    'cEdge',
-    'nnCost',
-    'Flags',
-    'nFamily',
-    'nOptions',
-    'pNodeTree',
-    'pEdgeTree',
-    'pNodeBuffer',
-    'iNodeBuffer',
-    'pEdgeBuffer',
-    'iEdgeBuffer',
-    'edgePrioritizer',
-    'nodePrioritizer',
-]
-struct__dglGraph._fields_ = [
-    ('iErrno', c_int),
-    ('Version', dglByte_t),
-    ('Endian', dglByte_t),
-    ('NodeAttrSize', dglInt32_t),
-    ('EdgeAttrSize', dglInt32_t),
-    ('aOpaqueSet', dglInt32_t * 16),
-    ('cNode', dglInt32_t),
-    ('cHead', dglInt32_t),
-    ('cTail', dglInt32_t),
-    ('cAlone', dglInt32_t),
-    ('cEdge', dglInt32_t),
-    ('nnCost', dglInt64_t),
-    ('Flags', dglInt32_t),
-    ('nFamily', dglInt32_t),
-    ('nOptions', dglInt32_t),
-    ('pNodeTree', POINTER(None)),
-    ('pEdgeTree', POINTER(None)),
-    ('pNodeBuffer', POINTER(dglByte_t)),
-    ('iNodeBuffer', dglInt32_t),
-    ('pEdgeBuffer', POINTER(dglByte_t)),
-    ('iEdgeBuffer', dglInt32_t),
-    ('edgePrioritizer', dglEdgePrioritizer_s),
-    ('nodePrioritizer', dglNodePrioritizer_s),
-]
-
-dglGraph_s = struct__dglGraph # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 193
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 243
-class struct_anon_25(Structure):
-    pass
-
-struct_anon_25.__slots__ = [
-    'nStartNode',
-    'NodeHeap',
-    'pvVisited',
-    'pvPredist',
-]
-struct_anon_25._fields_ = [
-    ('nStartNode', dglInt32_t),
-    ('NodeHeap', dglHeap_s),
-    ('pvVisited', POINTER(None)),
-    ('pvPredist', POINTER(None)),
-]
-
-dglSPCache_s = struct_anon_25 # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dgl/graph.h: 243
-
-RectReal = c_double # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 29
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 59
-class struct_RTree_Rect(Structure):
-    pass
-
-struct_RTree_Rect.__slots__ = [
-    'boundary',
-]
-struct_RTree_Rect._fields_ = [
-    ('boundary', RectReal * (2 * 3)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 79
-class struct_RTree_Node(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 66
-class union_RTree_Child(Union):
-    pass
-
-union_RTree_Child.__slots__ = [
-    'id',
-    'ptr',
-    'pos',
-]
-union_RTree_Child._fields_ = [
-    ('id', c_int),
-    ('ptr', POINTER(struct_RTree_Node)),
-    ('pos', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 73
-class struct_RTree_Branch(Structure):
-    pass
-
-struct_RTree_Branch.__slots__ = [
-    'rect',
-    'child',
-]
-struct_RTree_Branch._fields_ = [
-    ('rect', struct_RTree_Rect),
-    ('child', union_RTree_Child),
-]
-
-struct_RTree_Node.__slots__ = [
-    'count',
-    'level',
-    'branch',
-]
-struct_RTree_Node._fields_ = [
-    ('count', c_int),
-    ('level', c_int),
-    ('branch', struct_RTree_Branch * 9),
-]
-
-SearchHitCallback = CFUNCTYPE(UNCHECKED(c_int), c_int, struct_RTree_Rect, POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 93
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 103
-class struct_RTree(Structure):
-    pass
-
-rt_search_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree), POINTER(struct_RTree_Rect), POINTER(SearchHitCallback), POINTER(None)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 97
-
-rt_insert_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree_Rect), union_RTree_Child, c_int, POINTER(struct_RTree)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 99
-
-rt_delete_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(struct_RTree_Rect), union_RTree_Child, POINTER(struct_RTree)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 100
-
-rt_valid_child_fn = CFUNCTYPE(UNCHECKED(c_int), POINTER(union_RTree_Child)) # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 101
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 127
-class struct__recycle(Structure):
-    pass
-
-struct__recycle.__slots__ = [
-    'avail',
-    'alloc',
-    'pos',
-]
-struct__recycle._fields_ = [
-    ('avail', c_int),
-    ('alloc', c_int),
-    ('pos', POINTER(off_t)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/rtree/index.h: 135
-class struct_NodeBuffer(Structure):
-    pass
-
-struct_NodeBuffer.__slots__ = [
-    'n',
-    'pos',
-    'dirty',
-]
-struct_NodeBuffer._fields_ = [
-    ('n', struct_RTree_Node),
-    ('pos', off_t),
-    ('dirty', c_char),
-]
-
-struct_RTree.__slots__ = [
-    'fd',
-    'ndims',
-    'nsides',
-    'nodesize',
-    'branchsize',
-    'rectsize',
-    'n_nodes',
-    'n_leafs',
-    'rootlevel',
-    'nodecard',
-    'leafcard',
-    'min_node_fill',
-    'min_leaf_fill',
-    'minfill_node_split',
-    'minfill_leaf_split',
-    'free_nodes',
-    'nb',
-    'used',
-    'insert_rect',
-    'delete_rect',
-    'search_rect',
-    'valid_child',
-    'root',
-    'rootpos',
-]
-struct_RTree._fields_ = [
-    ('fd', c_int),
-    ('ndims', c_ubyte),
-    ('nsides', c_ubyte),
-    ('nodesize', c_int),
-    ('branchsize', c_int),
-    ('rectsize', c_int),
-    ('n_nodes', c_int),
-    ('n_leafs', c_int),
-    ('rootlevel', c_int),
-    ('nodecard', c_int),
-    ('leafcard', c_int),
-    ('min_node_fill', c_int),
-    ('min_leaf_fill', c_int),
-    ('minfill_node_split', c_int),
-    ('minfill_leaf_split', c_int),
-    ('free_nodes', struct__recycle),
-    ('nb', (struct_NodeBuffer * 3) * 20),
-    ('used', (c_char * 3) * 20),
-    ('insert_rect', POINTER(rt_insert_fn)),
-    ('delete_rect', POINTER(rt_delete_fn)),
-    ('search_rect', POINTER(rt_search_fn)),
-    ('valid_child', POINTER(rt_valid_child_fn)),
-    ('root', POINTER(struct_RTree_Node)),
-    ('rootpos', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 149
-class struct__dbmscap(Structure):
-    pass
-
-struct__dbmscap.__slots__ = [
-    'driverName',
-    'startup',
-    'comment',
-    'next',
-]
-struct__dbmscap._fields_ = [
-    ('driverName', c_char * 256),
-    ('startup', c_char * 256),
-    ('comment', c_char * 256),
-    ('next', POINTER(struct__dbmscap)),
-]
-
-dbDbmscap = struct__dbmscap # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 155
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-class struct__db_driver(Structure):
-    pass
-
-struct__db_driver.__slots__ = [
-    'dbmscap',
-    'send',
-    'recv',
-    'pid',
-]
-struct__db_driver._fields_ = [
-    ('dbmscap', dbDbmscap),
-    ('send', POINTER(FILE)),
-    ('recv', POINTER(FILE)),
-    ('pid', c_int),
-]
-
-dbDriver = struct__db_driver # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/dbmi.h: 169
-
-OGRFeatureH = POINTER(None) # /usr/local/include/ogr_api.h: 199
-
-OGRLayerH = POINTER(None) # /usr/local/include/ogr_api.h: 302
-
-OGRDataSourceH = POINTER(None) # /usr/local/include/ogr_api.h: 303
-
-OGRSFDriverH = POINTER(None) # /usr/local/include/ogr_api.h: 304
-
-plus_t = c_int # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 41
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 46
-class struct_site_att(Structure):
-    pass
-
-struct_site_att.__slots__ = [
-    'cat',
-    'dbl',
-    'str',
-]
-struct_site_att._fields_ = [
-    ('cat', c_int),
-    ('dbl', POINTER(c_double)),
-    ('str', POINTER(POINTER(c_char))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 65
-class struct_bound_box(Structure):
-    pass
-
-struct_bound_box.__slots__ = [
-    'N',
-    'S',
-    'E',
-    'W',
-    'T',
-    'B',
-]
-struct_bound_box._fields_ = [
-    ('N', c_double),
-    ('S', c_double),
-    ('E', c_double),
-    ('W', c_double),
-    ('T', c_double),
-    ('B', c_double),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 96
-class struct_gvfile(Structure):
-    pass
-
-struct_gvfile.__slots__ = [
-    'file',
-    'start',
-    'current',
-    'end',
-    'size',
-    'alloc',
-    'loaded',
-]
-struct_gvfile._fields_ = [
-    ('file', POINTER(FILE)),
-    ('start', String),
-    ('current', String),
-    ('end', String),
-    ('size', off_t),
-    ('alloc', off_t),
-    ('loaded', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 134
-class struct_field_info(Structure):
-    pass
-
-struct_field_info.__slots__ = [
-    'number',
-    'name',
-    'driver',
-    'database',
-    'table',
-    'key',
-]
-struct_field_info._fields_ = [
-    ('number', c_int),
-    ('name', String),
-    ('driver', String),
-    ('database', String),
-    ('table', String),
-    ('key', String),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 165
-class struct_dblinks(Structure):
-    pass
-
-struct_dblinks.__slots__ = [
-    'field',
-    'alloc_fields',
-    'n_fields',
-]
-struct_dblinks._fields_ = [
-    ('field', POINTER(struct_field_info)),
-    ('alloc_fields', c_int),
-    ('n_fields', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 186
-class struct_Port_info(Structure):
-    pass
-
-struct_Port_info.__slots__ = [
-    'byte_order',
-    'off_t_size',
-    'dbl_cnvrt',
-    'flt_cnvrt',
-    'lng_cnvrt',
-    'int_cnvrt',
-    'shrt_cnvrt',
-    'off_t_cnvrt',
-    'dbl_quick',
-    'flt_quick',
-    'lng_quick',
-    'int_quick',
-    'shrt_quick',
-    'off_t_quick',
-]
-struct_Port_info._fields_ = [
-    ('byte_order', c_int),
-    ('off_t_size', c_int),
-    ('dbl_cnvrt', c_ubyte * 8),
-    ('flt_cnvrt', c_ubyte * 4),
-    ('lng_cnvrt', c_ubyte * 4),
-    ('int_cnvrt', c_ubyte * 4),
-    ('shrt_cnvrt', c_ubyte * 2),
-    ('off_t_cnvrt', c_ubyte * 8),
-    ('dbl_quick', c_int),
-    ('flt_quick', c_int),
-    ('lng_quick', c_int),
-    ('int_quick', c_int),
-    ('shrt_quick', c_int),
-    ('off_t_quick', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 272
-class struct_recycle(Structure):
-    pass
-
-struct_recycle.__slots__ = [
-    'dummy',
-]
-struct_recycle._fields_ = [
-    ('dummy', c_char),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 282
-class struct_dig_head(Structure):
-    pass
-
-struct_dig_head.__slots__ = [
-    'organization',
-    'date',
-    'user_name',
-    'map_name',
-    'source_date',
-    'orig_scale',
-    'comment',
-    'proj',
-    'plani_zone',
-    'digit_thresh',
-    'Version_Major',
-    'Version_Minor',
-    'Back_Major',
-    'Back_Minor',
-    'with_z',
-    'size',
-    'head_size',
-    'port',
-    'last_offset',
-    'recycle',
-]
-struct_dig_head._fields_ = [
-    ('organization', String),
-    ('date', String),
-    ('user_name', String),
-    ('map_name', String),
-    ('source_date', String),
-    ('orig_scale', c_long),
-    ('comment', String),
-    ('proj', c_int),
-    ('plani_zone', c_int),
-    ('digit_thresh', c_double),
-    ('Version_Major', c_int),
-    ('Version_Minor', c_int),
-    ('Back_Major', c_int),
-    ('Back_Minor', c_int),
-    ('with_z', c_int),
-    ('size', off_t),
-    ('head_size', c_long),
-    ('port', struct_Port_info),
-    ('last_offset', off_t),
-    ('recycle', POINTER(struct_recycle)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1469
-class struct_line_pnts(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 399
-class struct_Format_info_ogr(Structure):
-    pass
-
-struct_Format_info_ogr.__slots__ = [
-    'driver_name',
-    'dsn',
-    'layer_name',
-    'driver',
-    'ds',
-    'layer',
-    'dbdriver',
-    'dsn_options',
-    'layer_options',
-    'lines',
-    'lines_types',
-    'lines_alloc',
-    'lines_num',
-    'lines_next',
-    'feature_cache',
-    'feature_cache_id',
-    'offset',
-    'offset_num',
-    'offset_alloc',
-    'next_line',
-]
-struct_Format_info_ogr._fields_ = [
-    ('driver_name', String),
-    ('dsn', String),
-    ('layer_name', String),
-    ('driver', OGRSFDriverH),
-    ('ds', OGRDataSourceH),
-    ('layer', OGRLayerH),
-    ('dbdriver', POINTER(dbDriver)),
-    ('dsn_options', POINTER(POINTER(c_char))),
-    ('layer_options', POINTER(POINTER(c_char))),
-    ('lines', POINTER(POINTER(struct_line_pnts))),
-    ('lines_types', POINTER(c_int)),
-    ('lines_alloc', c_int),
-    ('lines_num', c_int),
-    ('lines_next', c_int),
-    ('feature_cache', OGRFeatureH),
-    ('feature_cache_id', c_int),
-    ('offset', POINTER(c_int)),
-    ('offset_num', c_int),
-    ('offset_alloc', c_int),
-    ('next_line', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 522
-class struct_Format_info(Structure):
-    pass
-
-struct_Format_info.__slots__ = [
-    'i',
-    'ogr',
-]
-struct_Format_info._fields_ = [
-    ('i', c_int),
-    ('ogr', struct_Format_info_ogr),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 537
-class struct_Cat_index(Structure):
-    pass
-
-struct_Cat_index.__slots__ = [
-    'field',
-    'n_cats',
-    'a_cats',
-    'cat',
-    'n_ucats',
-    'n_types',
-    'type',
-    'offset',
-]
-struct_Cat_index._fields_ = [
-    ('field', c_int),
-    ('n_cats', c_int),
-    ('a_cats', c_int),
-    ('cat', POINTER(c_int * 3)),
-    ('n_ucats', c_int),
-    ('n_types', c_int),
-    ('type', (c_int * 2) * 7),
-    ('offset', off_t),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1249
-class struct_P_node(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1371
-class struct_P_line(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1399
-class struct_P_area(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1440
-class struct_P_isle(Structure):
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 586
-class struct_Plus_head(Structure):
-    pass
-
-struct_Plus_head.__slots__ = [
-    'Version_Major',
-    'Version_Minor',
-    'Back_Major',
-    'Back_Minor',
-    'spidx_Version_Major',
-    'spidx_Version_Minor',
-    'spidx_Back_Major',
-    'spidx_Back_Minor',
-    'cidx_Version_Major',
-    'cidx_Version_Minor',
-    'cidx_Back_Major',
-    'cidx_Back_Minor',
-    'with_z',
-    'spidx_with_z',
-    'off_t_size',
-    'head_size',
-    'spidx_head_size',
-    'cidx_head_size',
-    'release_support',
-    'port',
-    'spidx_port',
-    'cidx_port',
-    'mode',
-    'built',
-    'box',
-    'Node',
-    'Line',
-    'Area',
-    'Isle',
-    'n_plines',
-    'n_llines',
-    'n_blines',
-    'n_clines',
-    'n_flines',
-    'n_klines',
-    'n_vfaces',
-    'n_hfaces',
-    'n_nodes',
-    'n_edges',
-    'n_lines',
-    'n_areas',
-    'n_isles',
-    'n_faces',
-    'n_volumes',
-    'n_holes',
-    'alloc_nodes',
-    'alloc_edges',
-    'alloc_lines',
-    'alloc_areas',
-    'alloc_isles',
-    'alloc_faces',
-    'alloc_volumes',
-    'alloc_holes',
-    'Node_offset',
-    'Edge_offset',
-    'Line_offset',
-    'Area_offset',
-    'Isle_offset',
-    'Volume_offset',
-    'Hole_offset',
-    'Spidx_built',
-    'Spidx_new',
-    'Spidx_file',
-    'spidx_fp',
-    'Node_spidx_offset',
-    'Line_spidx_offset',
-    'Area_spidx_offset',
-    'Isle_spidx_offset',
-    'Face_spidx_offset',
-    'Volume_spidx_offset',
-    'Hole_spidx_offset',
-    'Node_spidx',
-    'Line_spidx',
-    'Area_spidx',
-    'Isle_spidx',
-    'Face_spidx',
-    'Volume_spidx',
-    'Hole_spidx',
-    'update_cidx',
-    'n_cidx',
-    'a_cidx',
-    'cidx',
-    'cidx_up_to_date',
-    'coor_size',
-    'coor_mtime',
-    'do_uplist',
-    'uplines',
-    'alloc_uplines',
-    'n_uplines',
-    'upnodes',
-    'alloc_upnodes',
-    'n_upnodes',
-]
-struct_Plus_head._fields_ = [
-    ('Version_Major', c_int),
-    ('Version_Minor', c_int),
-    ('Back_Major', c_int),
-    ('Back_Minor', c_int),
-    ('spidx_Version_Major', c_int),
-    ('spidx_Version_Minor', c_int),
-    ('spidx_Back_Major', c_int),
-    ('spidx_Back_Minor', c_int),
-    ('cidx_Version_Major', c_int),
-    ('cidx_Version_Minor', c_int),
-    ('cidx_Back_Major', c_int),
-    ('cidx_Back_Minor', c_int),
-    ('with_z', c_int),
-    ('spidx_with_z', c_int),
-    ('off_t_size', c_int),
-    ('head_size', c_long),
-    ('spidx_head_size', c_long),
-    ('cidx_head_size', c_long),
-    ('release_support', c_int),
-    ('port', struct_Port_info),
-    ('spidx_port', struct_Port_info),
-    ('cidx_port', struct_Port_info),
-    ('mode', c_int),
-    ('built', c_int),
-    ('box', struct_bound_box),
-    ('Node', POINTER(POINTER(struct_P_node))),
-    ('Line', POINTER(POINTER(struct_P_line))),
-    ('Area', POINTER(POINTER(struct_P_area))),
-    ('Isle', POINTER(POINTER(struct_P_isle))),
-    ('n_plines', plus_t),
-    ('n_llines', plus_t),
-    ('n_blines', plus_t),
-    ('n_clines', plus_t),
-    ('n_flines', plus_t),
-    ('n_klines', plus_t),
-    ('n_vfaces', plus_t),
-    ('n_hfaces', plus_t),
-    ('n_nodes', plus_t),
-    ('n_edges', plus_t),
-    ('n_lines', plus_t),
-    ('n_areas', plus_t),
-    ('n_isles', plus_t),
-    ('n_faces', plus_t),
-    ('n_volumes', plus_t),
-    ('n_holes', plus_t),
-    ('alloc_nodes', plus_t),
-    ('alloc_edges', plus_t),
-    ('alloc_lines', plus_t),
-    ('alloc_areas', plus_t),
-    ('alloc_isles', plus_t),
-    ('alloc_faces', plus_t),
-    ('alloc_volumes', plus_t),
-    ('alloc_holes', plus_t),
-    ('Node_offset', off_t),
-    ('Edge_offset', off_t),
-    ('Line_offset', off_t),
-    ('Area_offset', off_t),
-    ('Isle_offset', off_t),
-    ('Volume_offset', off_t),
-    ('Hole_offset', off_t),
-    ('Spidx_built', c_int),
-    ('Spidx_new', c_int),
-    ('Spidx_file', c_int),
-    ('spidx_fp', struct_gvfile),
-    ('Node_spidx_offset', off_t),
-    ('Line_spidx_offset', off_t),
-    ('Area_spidx_offset', off_t),
-    ('Isle_spidx_offset', off_t),
-    ('Face_spidx_offset', off_t),
-    ('Volume_spidx_offset', off_t),
-    ('Hole_spidx_offset', off_t),
-    ('Node_spidx', POINTER(struct_RTree)),
-    ('Line_spidx', POINTER(struct_RTree)),
-    ('Area_spidx', POINTER(struct_RTree)),
-    ('Isle_spidx', POINTER(struct_RTree)),
-    ('Face_spidx', POINTER(struct_RTree)),
-    ('Volume_spidx', POINTER(struct_RTree)),
-    ('Hole_spidx', POINTER(struct_RTree)),
-    ('update_cidx', c_int),
-    ('n_cidx', c_int),
-    ('a_cidx', c_int),
-    ('cidx', POINTER(struct_Cat_index)),
-    ('cidx_up_to_date', c_int),
-    ('coor_size', off_t),
-    ('coor_mtime', c_long),
-    ('do_uplist', c_int),
-    ('uplines', POINTER(c_int)),
-    ('alloc_uplines', c_int),
-    ('n_uplines', c_int),
-    ('upnodes', POINTER(c_int)),
-    ('alloc_upnodes', c_int),
-    ('n_upnodes', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1052
-class struct_Map_info(Structure):
-    pass
-
-struct_Map_info.__slots__ = [
-    'format',
-    'temporary',
-    'dblnk',
-    'plus',
-    'graph_line_type',
-    'graph',
-    'spCache',
-    'edge_fcosts',
-    'edge_bcosts',
-    'node_costs',
-    'cost_multip',
-    'open',
-    'mode',
-    'level',
-    'head_only',
-    'support_updated',
-    'next_line',
-    'name',
-    'mapset',
-    'location',
-    'gisdbase',
-    'Constraint_region_flag',
-    'Constraint_type_flag',
-    'Constraint_box',
-    'Constraint_type',
-    'proj',
-    'dig_fp',
-    'head',
-    'fInfo',
-    'hist_fp',
-    'site_att',
-    'n_site_att',
-    'n_site_dbl',
-    'n_site_str',
-]
-struct_Map_info._fields_ = [
-    ('format', c_int),
-    ('temporary', c_int),
-    ('dblnk', POINTER(struct_dblinks)),
-    ('plus', struct_Plus_head),
-    ('graph_line_type', c_int),
-    ('graph', dglGraph_s),
-    ('spCache', dglSPCache_s),
-    ('edge_fcosts', POINTER(c_double)),
-    ('edge_bcosts', POINTER(c_double)),
-    ('node_costs', POINTER(c_double)),
-    ('cost_multip', c_int),
-    ('open', c_int),
-    ('mode', c_int),
-    ('level', c_int),
-    ('head_only', c_int),
-    ('support_updated', c_int),
-    ('next_line', plus_t),
-    ('name', String),
-    ('mapset', String),
-    ('location', String),
-    ('gisdbase', String),
-    ('Constraint_region_flag', c_int),
-    ('Constraint_type_flag', c_int),
-    ('Constraint_box', struct_bound_box),
-    ('Constraint_type', c_int),
-    ('proj', c_int),
-    ('dig_fp', struct_gvfile),
-    ('head', struct_dig_head),
-    ('fInfo', struct_Format_info),
-    ('hist_fp', POINTER(FILE)),
-    ('site_att', POINTER(struct_site_att)),
-    ('n_site_att', c_int),
-    ('n_site_dbl', c_int),
-    ('n_site_str', c_int),
-]
-
-struct_P_node.__slots__ = [
-    'x',
-    'y',
-    'z',
-    'alloc_lines',
-    'n_lines',
-    'lines',
-    'angles',
-]
-struct_P_node._fields_ = [
-    ('x', c_double),
-    ('y', c_double),
-    ('z', c_double),
-    ('alloc_lines', plus_t),
-    ('n_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('angles', POINTER(c_float)),
-]
-
-struct_P_line.__slots__ = [
-    'type',
-    'offset',
-    'topo',
-]
-struct_P_line._fields_ = [
-    ('type', c_char),
-    ('offset', off_t),
-    ('topo', POINTER(None)),
-]
-
-struct_P_area.__slots__ = [
-    'n_lines',
-    'alloc_lines',
-    'lines',
-    'centroid',
-    'n_isles',
-    'alloc_isles',
-    'isles',
-]
-struct_P_area._fields_ = [
-    ('n_lines', plus_t),
-    ('alloc_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('centroid', plus_t),
-    ('n_isles', plus_t),
-    ('alloc_isles', plus_t),
-    ('isles', POINTER(plus_t)),
-]
-
-struct_P_isle.__slots__ = [
-    'n_lines',
-    'alloc_lines',
-    'lines',
-    'area',
-]
-struct_P_isle._fields_ = [
-    ('n_lines', plus_t),
-    ('alloc_lines', plus_t),
-    ('lines', POINTER(plus_t)),
-    ('area', plus_t),
-]
-
-struct_line_pnts.__slots__ = [
-    'x',
-    'y',
-    'z',
-    'n_points',
-    'alloc_points',
-]
-struct_line_pnts._fields_ = [
-    ('x', POINTER(c_double)),
-    ('y', POINTER(c_double)),
-    ('z', POINTER(c_double)),
-    ('n_points', c_int),
-    ('alloc_points', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1517
-class struct_cat_list(Structure):
-    pass
-
-struct_cat_list.__slots__ = [
-    'field',
-    'min',
-    'max',
-    'n_ranges',
-    'alloc_ranges',
-]
-struct_cat_list._fields_ = [
-    ('field', c_int),
-    ('min', POINTER(c_int)),
-    ('max', POINTER(c_int)),
-    ('n_ranges', c_int),
-    ('alloc_ranges', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vect/dig_structs.h: 1546
-class struct_ilist(Structure):
-    pass
-
-struct_ilist.__slots__ = [
-    'value',
-    'n_values',
-    'alloc_values',
-]
-struct_ilist._fields_ = [
-    ('value', POINTER(c_int)),
-    ('n_values', c_int),
-    ('alloc_values', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 45
-class struct_rpoint(Structure):
-    pass
-
-struct_rpoint.__slots__ = [
-    'x',
-    'y',
-]
-struct_rpoint._fields_ = [
-    ('x', c_int),
-    ('y', c_int),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 50
-class struct_robject(Structure):
-    pass
-
-struct_robject.__slots__ = [
-    'fid',
-    'type',
-    'npoints',
-    'point',
-]
-struct_robject._fields_ = [
-    ('fid', c_int),
-    ('type', c_int),
-    ('npoints', c_int),
-    ('point', POINTER(struct_rpoint)),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 58
-class struct_robject_list(Structure):
-    pass
-
-struct_robject_list.__slots__ = [
-    'nitems',
-    'item',
-]
-struct_robject_list._fields_ = [
-    ('nitems', c_int),
-    ('item', POINTER(POINTER(struct_robject))),
-]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 65
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_split_lines'):
-    Vedit_split_lines = _libs['grass_vedit.7.0.svn'].Vedit_split_lines
-    Vedit_split_lines.restype = c_int
-    Vedit_split_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), POINTER(struct_line_pnts), c_double, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 67
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_connect_lines'):
-    Vedit_connect_lines = _libs['grass_vedit.7.0.svn'].Vedit_connect_lines
-    Vedit_connect_lines.restype = c_int
-    Vedit_connect_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 70
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_modify_cats'):
-    Vedit_modify_cats = _libs['grass_vedit.7.0.svn'].Vedit_modify_cats
-    Vedit_modify_cats.restype = c_int
-    Vedit_modify_cats.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), c_int, c_int, POINTER(struct_cat_list)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 74
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_copy_lines'):
-    Vedit_copy_lines = _libs['grass_vedit.7.0.svn'].Vedit_copy_lines
-    Vedit_copy_lines.restype = c_int
-    Vedit_copy_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 77
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_chtype_lines'):
-    Vedit_chtype_lines = _libs['grass_vedit.7.0.svn'].Vedit_chtype_lines
-    Vedit_chtype_lines.restype = c_int
-    Vedit_chtype_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 81
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_delete_lines'):
-    Vedit_delete_lines = _libs['grass_vedit.7.0.svn'].Vedit_delete_lines
-    Vedit_delete_lines.restype = c_int
-    Vedit_delete_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 84
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_get_min_distance'):
-    Vedit_get_min_distance = _libs['grass_vedit.7.0.svn'].Vedit_get_min_distance
-    Vedit_get_min_distance.restype = c_double
-    Vedit_get_min_distance.argtypes = [POINTER(struct_line_pnts), POINTER(struct_line_pnts), c_int, POINTER(c_int)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 88
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_flip_lines'):
-    Vedit_flip_lines = _libs['grass_vedit.7.0.svn'].Vedit_flip_lines
-    Vedit_flip_lines.restype = c_int
-    Vedit_flip_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 91
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_merge_lines'):
-    Vedit_merge_lines = _libs['grass_vedit.7.0.svn'].Vedit_merge_lines
-    Vedit_merge_lines.restype = c_int
-    Vedit_merge_lines.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 94
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_move_lines'):
-    Vedit_move_lines = _libs['grass_vedit.7.0.svn'].Vedit_move_lines
-    Vedit_move_lines.restype = c_int
-    Vedit_move_lines.argtypes = [POINTER(struct_Map_info), POINTER(POINTER(struct_Map_info)), c_int, POINTER(struct_ilist), c_double, c_double, c_double, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 98
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_render_map'):
-    Vedit_render_map = _libs['grass_vedit.7.0.svn'].Vedit_render_map
-    Vedit_render_map.restype = POINTER(struct_robject_list)
-    Vedit_render_map.argtypes = [POINTER(struct_Map_info), POINTER(struct_bound_box), c_int, c_double, c_double, c_int, c_int, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 102
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_select_by_query'):
-    Vedit_select_by_query = _libs['grass_vedit.7.0.svn'].Vedit_select_by_query
-    Vedit_select_by_query.restype = c_int
-    Vedit_select_by_query.argtypes = [POINTER(struct_Map_info), c_int, c_int, c_double, c_int, POINTER(struct_ilist)]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 106
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_snap_point'):
-    Vedit_snap_point = _libs['grass_vedit.7.0.svn'].Vedit_snap_point
-    Vedit_snap_point.restype = c_int
-    Vedit_snap_point.argtypes = [POINTER(struct_Map_info), c_int, POINTER(c_double), POINTER(c_double), POINTER(c_double), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 108
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_snap_line'):
-    Vedit_snap_line = _libs['grass_vedit.7.0.svn'].Vedit_snap_line
-    Vedit_snap_line.restype = c_int
-    Vedit_snap_line.argtypes = [POINTER(struct_Map_info), POINTER(POINTER(struct_Map_info)), c_int, c_int, POINTER(struct_line_pnts), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 110
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_snap_lines'):
-    Vedit_snap_lines = _libs['grass_vedit.7.0.svn'].Vedit_snap_lines
-    Vedit_snap_lines.restype = c_int
-    Vedit_snap_lines.argtypes = [POINTER(struct_Map_info), POINTER(POINTER(struct_Map_info)), c_int, POINTER(struct_ilist), c_double, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 114
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_move_vertex'):
-    Vedit_move_vertex = _libs['grass_vedit.7.0.svn'].Vedit_move_vertex
-    Vedit_move_vertex.restype = c_int
-    Vedit_move_vertex.argtypes = [POINTER(struct_Map_info), POINTER(POINTER(struct_Map_info)), c_int, POINTER(struct_ilist), POINTER(struct_line_pnts), c_double, c_double, c_double, c_double, c_double, c_int, c_int]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 118
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_add_vertex'):
-    Vedit_add_vertex = _libs['grass_vedit.7.0.svn'].Vedit_add_vertex
-    Vedit_add_vertex.restype = c_int
-    Vedit_add_vertex.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), POINTER(struct_line_pnts), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 120
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_remove_vertex'):
-    Vedit_remove_vertex = _libs['grass_vedit.7.0.svn'].Vedit_remove_vertex
-    Vedit_remove_vertex.restype = c_int
-    Vedit_remove_vertex.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), POINTER(struct_line_pnts), c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 124
-if hasattr(_libs['grass_vedit.7.0.svn'], 'Vedit_bulk_labeling'):
-    Vedit_bulk_labeling = _libs['grass_vedit.7.0.svn'].Vedit_bulk_labeling
-    Vedit_bulk_labeling.restype = c_int
-    Vedit_bulk_labeling.argtypes = [POINTER(struct_Map_info), POINTER(struct_ilist), c_double, c_double, c_double, c_double, c_double, c_double]
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 7
-try:
-    NO_SNAP = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 7
-try:
-    SNAP = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 7
-try:
-    SNAPVERTEX = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 8
-try:
-    QUERY_UNKNOWN = (-1)
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 8
-try:
-    QUERY_LENGTH = 0
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 8
-try:
-    QUERY_DANGLE = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_BOUNDARYNO = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_BOUNDARYTWO = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_BOUNDARYONE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_CENTROIDIN = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_CENTROIDOUT = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_CENTROIDDUP = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_NODEONE = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_NODETWO = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_VERTEX = 1024
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_AREA = 2048
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_ISLE = 4096
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 10
-try:
-    TYPE_DIRECTION = 8192
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_POINT = 1
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_LINE = 2
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_BOUNDARYNO = 4
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_BOUNDARYTWO = 8
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_BOUNDARYONE = 16
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_CENTROIDIN = 32
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_CENTROIDOUT = 64
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_CENTROIDDUP = 128
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_NODEONE = 256
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_NODETWO = 512
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_VERTEX = 1024
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_AREA = 2048
-except:
-    pass
-
-# /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 11
-try:
-    DRAW_DIRECTION = 4096
-except:
-    pass
-
-rpoint = struct_rpoint # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 45
-
-robject = struct_robject # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 50
-
-robject_list = struct_robject_list # /home/neteler/grass70/dist.x86_64-unknown-linux-gnu/include/grass/vedit.h: 58
-
-# No inserted files
-
diff --git a/lib/python/docs/Makefile b/lib/python/docs/Makefile
index ef92bfd..cdf1970 100644
--- a/lib/python/docs/Makefile
+++ b/lib/python/docs/Makefile
@@ -50,6 +50,7 @@ libpythonclean:
 	-rm -f _templates/layout.html
 	-rm -f src/ctypes*.rst
 	-rm -f src/exceptions.rst
+	-rm -f src/gunittest.*rst
 	-rm -f src/imaging.rst
 	-rm -f src/pydispatch.rst
 	-rm -f src/pygrass.*rst
@@ -60,6 +61,7 @@ libpythonapidoc:
 	@echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
 	$(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../imaging/)
 	$(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../exceptions/)
+	$(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../gunittest/ ../gunittest/multireport.py ../gunittest/multirunner.py ../gunittest/main.py)
 	$(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../pydispatch/)
 	$(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../pygrass/)
 	$(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../script/)
diff --git a/lib/python/docs/conf.py b/lib/python/docs/conf.py
index 8b533df..622cf3a 100644
--- a/lib/python/docs/conf.py
+++ b/lib/python/docs/conf.py
@@ -25,6 +25,7 @@ if not os.getenv('GISBASE'):
 sys.path.insert(0, os.path.abspath(os.path.join(os.environ['GISBASE'], 'etc', 'python', 'grass')))
 sys.path.insert(0, os.path.abspath(os.path.join(os.environ['GISBASE'], 'etc', 'python', 'grass', 'ctypes')))
 sys.path.insert(0, os.path.abspath(os.path.join(os.environ['GISBASE'], 'etc', 'python', 'grass', 'exceptions')))
+sys.path.insert(0, os.path.abspath(os.path.join(os.environ['GISBASE'], 'etc', 'python', 'grass', 'gunittest')))
 sys.path.insert(0, os.path.abspath(os.path.join(os.environ['GISBASE'], 'etc', 'python', 'grass', 'imaging')))
 sys.path.insert(0, os.path.abspath(os.path.join(os.environ['GISBASE'], 'etc', 'python', 'grass', 'pydispatch')))
 sys.path.insert(0, os.path.abspath(os.path.join(os.environ['GISBASE'], 'etc', 'python', 'grass', 'pygrass')))
diff --git a/lib/python/docs/src/gunittest_running_tests.rst b/lib/python/docs/src/gunittest_running_tests.rst
new file mode 100644
index 0000000..93febd4
--- /dev/null
+++ b/lib/python/docs/src/gunittest_running_tests.rst
@@ -0,0 +1,155 @@
+Running the test framework of GRASS GIS
+=======================================
+
+This is an advanced guide to running tests of GRASS GIS using GRASS
+testing framework (`gunittest`). For introduction to this topic,
+go to :ref:`test-general`.
+
+
+.. _running-tests-report:
+
+Running tests and creating report
+---------------------------------
+
+To test before commit, run all tests using testing framework.
+First start GRASS GIS session and go to the root directory of your
+GRASS GIS source code copy::
+
+    cd my/grass/source/code/root
+
+Then execute::
+
+    python -m grass.gunittest.main --location locname --location-type nc
+
+where ``locname`` is a name of location in current GRASS GIS data(base) directory
+(GISDBASE) and ``nc`` is a location specified by individual test files
+(the later is not yet fully implemented, so just put there ``nc`` every time).
+
+``grass.gunittest.main`` writes a text summary to standard output and
+it creates an HTML report from all tests in all ``testsuite`` directories inside
+the directory tree. The report is placed in ``testreport`` by default.
+Open file ``testreport/index.html`` in you web browser to inspect it.
+
+To execute just part of the tests when fixing something, ``cd`` into some
+subdirectory, e.g. ``lib`` and execute the same command as above. 
+gain, it will execute all tests in all ``testsuite`` subdirectories and
+create a report.
+
+For changing GRASS GIS data(base) directory and for other parameters, see
+help for ``grass.gunittest.main`` module::
+
+    python -m grass.gunittest.main --help
+
+
+Running individual test files
+-----------------------------
+
+To run a single test file, start GRASS session in the Location and Mapset
+suitable for testing and go to the directory where the test file is.
+Then run the file as a Python script::
+
+    python test_something.py
+
+If the file is a ``gunittest``-based or ``unittest``-based test,
+you will receive a textual output with failed individual tests (test methods).
+If the file is a general Python scriptyou need to examine the output carefully
+as well as source code itself to see what is expected behavior.
+
+The same as for general Python scripts, applies also to Shell scripts,
+so you should examine the output carefully.
+You should execute scripts using::
+
+    sh -e -x test_topology_vgeneralize.sh
+
+The ``-x`` is just to see which commands are executed but the ``-e`` flag
+is crucial because this is how the GRASS testing framework runs the Shell
+scripts. The flag causes execution to stop once some command gives a non-zero
+return code.
+
+
+Running tests and creating report
+---------------------------------
+
+Currently there is full support only for running all the tests in
+the small (basic) version of GRASS GIS sample Location for North Carolina
+(see `GRASS GIS sample data`).
+
+.. _GRASS GIS sample data: https://grass.osgeo.org/download/sample-data
+
+
+Example Bash script to run be used as a cron job
+------------------------------------------------
+
+.. code-block:: bash
+
+    #!/bin/bash
+
+    set -e  # fail fast
+
+    REPORTS=".../testreports"
+    GRASSSRC=".../grass-src"
+    # here we suppose default compilation settings of GRASS and no make install
+    GRASSBIN="$GRASSSRC/bin.../grass71"
+    GRASSDIST="$GRASSSRC/dist..."
+    
+    # necessary hardcoded GRASS paths
+    GRASSDIST_PYTHON="$GRASSDIST/etc/python"
+    GRASS_MULTI_RUNNER="$GRASSSRC/lib/python/gunittest/multirunner.py"
+    GRASS_MULTI_REPORTER="$GRASSSRC/lib/python/gunittest/multireport.py"
+
+    DATE_FLAGS="--utc +%Y-%m-%d-%H-%M"
+    NOW=$(date $DATE_FLAGS)
+
+    # contains last executed command stdout and stderr
+    # here were rely on reports being absolute
+    OUTPUT_LOGFILE="$REPORTS/output-$NOW.txt"
+
+    # these are relative to REPORTS
+    CURRENT_REPORT_BASENAME="reports_for_date-"
+    FINAL_REPORT_DIR="summary_report"
+    CURRENT_REPORTS_DIR="$CURRENT_REPORT_BASENAME$NOW"
+    LOGFILE="$REPORTS/runs.log"
+
+    GRASSDATA="/grassdata/tests-grassdata"
+
+    echo "Nightly GRASS GIS test started: $NOW" >> $LOGFILE
+
+    # compile current source code from scratch
+    cd $GRASSSRC
+    make distclean -j4
+    svn up
+    ./configure ...  # or a script containing all the flags
+    make -j4
+
+    # run tests for the current source code
+    cd $REPORTS
+    mkdir $CURRENT_REPORTS_DIR
+    cd $CURRENT_REPORTS_DIR
+    python $GRASS_MULTI_RUNNER \
+        --grassbin $GRASSBIN \
+        --grasssrc $GRASSSRC \
+        --grassdata $GRASSDATA \
+        --location nc_spm_08_grass7 --location-type nc \
+        --location other_location --location-type other_type
+
+    # create overall report of all so far executed tests
+    # the script depends on GRASS but just Python part is enough
+    export PYTHONPATH="$GRASSDIST_PYTHON:$PYTHONPATH"
+    python $GRASS_MULTI_REPORTER --output $FINAL_REPORT_DIR \
+        $CURRENT_REPORT_BASENAME*/*
+
+    # although we cannot be sure the tests were executed was successfully
+    # so publish or archive results
+    rsync -rtvu --delete $REPORTS/ "/var/www/html/grassgistestreports"
+
+    echo "Nightly ($NOW) GRASS GIS test finished: $(date $DATE_FLAGS)" >> $LOGFILE
+
+A script similar to this one can be used as a cron job, on most Linux systems
+using ``crontab -e`` and adding a line similar to the following one::
+
+    0 4 * * 1 .../grasstests/test_grass_gis.sh
+
+Which will perform the tests every Monday at 4:00 in the morning (local time).
+
+Particular script and frequency depends on what you want to test and
+how many resources you want to use.
diff --git a/lib/python/docs/src/gunittest_testing.rst b/lib/python/docs/src/gunittest_testing.rst
new file mode 100644
index 0000000..129f160
--- /dev/null
+++ b/lib/python/docs/src/gunittest_testing.rst
@@ -0,0 +1,722 @@
+Testing GRASS GIS source code and modules
+=========================================
+
+If you are already familiar with the basic concepts
+of GRASS testing framework, you might want to skip to one of:
+
+* :ref:`test-module` section
+* :ref:`test-c` section
+* :ref:`test-python` section
+* :ref:`test-doctest` section
+* :class:`~gunittest.case.TestCase` class
+* :ref:`running-tests-report` section
+
+
+Introduction
+------------
+
+For the testing in GRASS GIS, we are using a `gunittest` package and
+we usually refer to the system of writing and running tests
+as to a *GRASS testing framework*.
+
+The framework is based on Python `unittest`_ package with a large number
+of GRASS-specific improvements, extensions and changes. These include
+things such as creation of GRASS-aware HTML test reports,
+or running of test in the way that process terminations potentially
+caused by C library functions does not influence the main testing process.
+
+Some tests will run without any data but many tests require
+the small (basic) version of GRASS GIS sample Location for North Carolina
+(see `GRASS GIS sample data`).
+
+Basic example
+-------------
+
+If you are writing a test of a GRASS module, 
+create a Python script with the content derived from the example below.
+When using existing existing maps, suppose you are in North Carolina SPM
+GRASS sample location.
+
+The file can contain one or more test case classes. Each class
+can contain one or more test methods (functions).
+Here we create one test case class with one test method.
+The other two methods are class methods ensuring the right environment
+for all test methods inside a test case class.
+When a test file becomes part of source code (which is the usual case)
+it must be placed into a directory named ``testsuite``.
+
+.. code-block:: python
+
+    from grass.gunittest.case import TestCase
+    from grass.gunittest.main import test
+
+
+    # test case class must be derived from grass.gunittest.TestCase
+    class TestSlopeAspect(TestCase):
+
+        @classmethod
+        def setUpClass(cls):
+            """Ensures expected computational region"""
+            # to not override mapset's region (which might be used by other tests)
+            cls.use_temp_region()
+            # cls.runModule or self.runModule is used for general module calls
+            cls.runModule('g.region', raster='elevation')
+            # note that the region set by default for NC location is the same as
+            # the elevation raster map, this is an example shows what to do
+            # in the general case
+
+        @classmethod
+        def tearDownClass(cls):
+            cls.del_temp_region()
+
+        # test method must start with test_
+        def test_limits(self):
+            """Test that slope and aspect are in expected limits"""
+            # we don't have to delete (g.remove) the maps
+            # but we need to use unique names within one test file
+            slope = 'limits_slope'
+            aspect = 'limits_aspect'
+            # self.assertModule is used to call module which we test
+            # we expect module to finish successfully
+            self.assertModule('r.slope.aspect', elevation='elevation',
+                              slope=slope, aspect=aspect)
+            # function tests if map's min and max are within expected interval
+            self.assertRasterMinMax(map=slope, refmin=0, refmax=90,
+                                    msg="Slope in degrees must be between 0 and 90")
+            self.assertRasterMinMax(map=aspect, refmin=0, refmax=360,
+                                    msg="Aspect in degrees must be between 0 and 360")
+
+
+    if __name__ == '__main__':
+        test()
+
+In the example we have used only two assert methods, one to check that
+module runs and end successfully and the other to test that map values are
+within an expect interval. There is a much larger selection of assert methods
+in :class:`~gunittest.case.TestCase` class documentation
+and also in Python `unittest`_ package documentation.
+
+To run the test, run GRASS GIS, use NC SPM sample location and create
+a separate mapset (name it ``test`` for example). Then go to the directory
+with the test file and run it:
+
+.. code-block:: sh
+
+    python some_test_file.py
+
+The output goes to the terminal in this case. Read further to see
+also more advanced ways of invoking the tests.
+
+We have shown a test of a GRASS module using NC sample location.
+However, tests can be written also for C and Python library and also
+for internal functions in modules. See the rests of this document
+for a complete guide.
+
+
+Building blocks and terminology
+-------------------------------
+
+.. note::
+    Some parts of the terminology should be revised to ensure understanding and
+    acceptance.
+
+test function and test method
+    A *test function* is a test of one particular feature or a test of
+    one particular result.
+    A *test function* is referred to as *test method*, *individual test*
+    or just *test*.
+
+assert function and assert method
+    An *assert function* (or *assert method*) refers to a function
+    which checks that some predicate is fulfilled. For example,
+    predicate can be that two raster maps does not differ from each
+    other or that module run ends with successfully.
+
+test case
+    The test methods testing one particular topic or feature are in one
+    test case class.
+
+    From another point of view, one test case class contains all tests
+    which require the same preparation and cleanup steps. 
+    In other words, a *test case* class contains all tests which are
+    using the same *test fixture*.
+
+    There is also a general :class:`~gunittest.case.TestCase` class which
+    all concrete test case classes should inherit from to get all
+    GRASS-specific testing functionality and also to be found
+    by the testing framework.
+
+test suite
+    A *test suite*, or also *testsuite*, is a set of tests focused on one
+    topic, functionality or unit (similarly to test case).
+    In GRASS GIS, it is a set of files in one ``testsuite`` directory.
+    The test files in one ``testsuite``
+    directory are expected to test what is in the parent directory
+    of a given ``testsuite`` directory. This is used to organize
+    tests in the source code and also to generate test reports.
+
+    The term *test suite* may also refer to ``TestSuite`` class
+    which is part of Python `unittest`_ test invocation mechanism
+    used by `gunittest` internally.
+    
+    More generally, a *test suite* is a group of test cases or any tests
+    (test methods, test cases and other test suites) in one or more files.
+
+test file
+    A *test file* is a Python script executable as a standalone process.
+    It does not set up any special environment and runs where it was invoked.
+    The testing framework does not rely on the file to end in a standard
+    way which means that if one file ends with segmentation fault
+    the testing framework can continue in testing of other test files. 
+    Test files are central part `gunittest` system and are also the biggest
+    difference from Python `unittest`_. Test file name should be unique
+    but does not have to contain all parent directory names, for example
+    it can consist from a simplified name of a module plus a word or two
+    describing which functionality is tested. The name should not contain
+    dots (except for the ``.py`` suffix).
+    
+    Alternatively, a test file could be called *test script* or
+    *test module* (both in Python and GRASS sense) but note that
+    none of these is used.
+
+test runner and test invoker
+    Both *test runner* and *test invoker* refer to classes, functions or
+    scripts used to run (invoke) tests or test files. One of the terms may
+    fade of in the future (probably *invoke* because it is not used by
+    Python `unittest`_).
+
+test fixture (test set up and tear down)
+    The preparation of the test is called *setup* or *set up* and the cleaning
+    after the test is called *teardown* or *tear down*. A *test fixture* refers
+    to these two steps and also to the environment where the test or tests
+    are executed.
+
+    Each test case class can define ``setUp``, ``setUpClass``, ``tearDown``
+    and ``tearDownClass`` methods to implement preparation and cleanup
+    steps for tests it contains. The methods ending with ``Class`` are
+    class methods (in Python terminology) and should be defined using
+    ``@classmethod`` decorator and with ``cls`` as first argument. These
+    methods are executed once for the whole class while the methods
+    without ``Class`` are executed for each test method. 
+
+    In GRASS GIS, the preparation may, but does not have to, contain imports
+    of maps, using temporary region, setting computational region,
+    or generating random maps. The cleanup step should remove temporary
+    region as well as remove all created maps and files.
+
+test report
+    A *test report* is a document or set of documents with results of
+    all executed tests together with additional information such as output
+    of test.
+
+    Note that also *test result* is used also used in similar context
+    because the class responsible for representing or creating the report
+    in Python `unittest`_ package is called ``TestResult``.
+
+test failure and test error
+    A *test failure* occurs when a assert fails, e.g. value of
+    a parameter given to ``assertTrue()`` function is ``False``.
+    A *test error* occurs when something what is not tested fails,
+    i.e. when exception is risen for example preparation code or
+    a test method itself.
+
+.. _test-general:
+
+Testing with gunittest package in general
+-----------------------------------------
+
+The tests should be in files in a ``testsuite`` directory which is a subdirectory
+of the directory with tested files (module, package, library). Each test file
+(testing file) can have can have several test cases (testing classes).
+All test file names should have pattern ``test*.py`` or ``*.py``
+if another naming convention seems more appropriate.
+
+GRASS GIS `gunittest` package and testing framework is similar to the standard
+Python ``unittest`` package, so the ways to build tests are very similar.
+Test methods are in a test test case class and each test method tests one
+think using one or more assert methods.
+
+::
+
+    from grass.gunittest.case import TestCase
+    from grass.gunittest.main import test
+
+
+    class TestPython(TestCase):
+
+        def test_counting(self):
+            """Test that Python can count to two"""
+            self.assertEqual(1 + 1, 2)
+
+
+    if __name__ == '__main__':
+        test()
+
+Each test file should be able to run by itself accept certain set of command
+line parameters (currently none). This is done using
+``if __name__ == '__main__'`` and  ``gunittest.test()`` function.
+
+To run a test file, start GRASS session in the location and mapset suitable for
+testing (typically, NC sample location) and go to the test file's directory
+(it will be usually some ``testsuite`` directory in the source code)
+and run it as a Python script::
+
+    python test_something.py
+
+When running individual test files, it is advisable to be in a separate
+mapset, so for example when using NC sample location, you should use
+a new mapset of arbitrary name but not one of the predefined mapsets).
+
+To run all tests in the source tree, you have to be in the source code
+directory where you want to find tests, also you need to be inside
+a GRASS session and use command similar to this one::
+
+    python -m grass.gunittest.main --location nc_spm_grass7 --location-type nc
+
+All test files in all ``testsuite`` directories will be executed and
+a report will be created in a newly created ``testreport`` directory.
+Open the file ``testreport/index.html`` to browse though the results.
+Note that again you need to be in GRASS session to run the tests in this way.
+
+The ``--location-type`` parameter serves to filter tests according to data
+they can run successfully with. It is ignored for tests which does not have
+this specified.
+
+In this case each running test file gets its own mapset and
+current working directory but all run are in one location.
+
+.. warning::
+    The current location is ignored but you should not run tests
+    in the location which is precious to you for the case that something fails
+    and current location is used for tests.
+
+When your are writing tests you can rely on having maps which are present
+in the NC sample location, or you can generate random maps. You can also
+import your data which you store inside ``data`` directory inside the
+given ``testsuite`` directory (for maps, ASCII formats are usually used).
+If you can create tests independent on location projection and location data
+it is much better then relying on given data but it is not at all required
+and all approaches are encouraged.
+
+Whenever possible it is advantageous to use available assert methods.
+GRASS-specific assert methods are in :class:`gunittest.case.TestCase` class.
+For general assert methods refer to Python `unittest`_ package documentation.
+Both are used in the same way; they are methods of a given test case class.
+In cases (which should be rare) when no assert methods fits the purpose,
+you can use your own checking finalized with a call of ``assertTrue()``
+or ``assertFalse()`` method with the ``msg`` parameter parameter set
+to an informative message.
+
+When you are using multiple assert methods in one test method, you must
+carefully consider what assert methods are testing and in which order
+you should put them. Consider the following example::
+
+    # incorrect order
+    def test_map_in_list_wrong(self):
+        maps = get_list_of_maps()
+        self.assertIn('elevation', maps)
+        # there is no point in testing that
+        # if list (or string) was empty or None execution of test ended
+        # at the line with assertIn
+        self.assertTrue(maps)
+
+    # correct order
+    def test_map_in_list_correct(self):
+        maps = get_list_of_maps()
+        # see if list (or string) is not empty (or None)
+        self.assertTrue(maps)
+        # and then see if the list fulfills more advanced conditions
+        self.assertIn('elevation', maps)
+
+If you are not sure when you would use multiple asserts consider the case
+when using only ``assertIn()`` function::
+
+    def test_map_in_list_short(self):
+        maps = get_list_of_maps()
+        self.assertIn('elevation', maps)
+
+If the list (or string) is empty, the test fails and the message says
+something about ``elevation''`` not being in the ``maps`` but
+it might be much more useful if it would tell us that the list ``maps``
+does not contain any items. In case of ``maps`` being ``None``, the situation
+is more complicated since we using ``assertIn`` with ``None`` will
+cause test error (not only failure). We must consider what is
+expected behavior of ``get_list_of_maps()`` function and what
+we are actually testing. For example, if we would be testing function
+interface, we probably should test separately different possibilities
+using ``assertIsNotNone()`` and then ``assertTrue()`` and then anything else.
+
+Another reason for using multiple assert methods is that we may want to
+test different qualities of a result. Following the previous example,
+we can test that a list contains some map and does not contain some other.
+If you are testing a lot of things and they don't have any clear order
+or dependencies, it might be more advantageous to split
+testing into several testing methods and do the preparation (creating a list
+in our example) in ``setUpClass()`` or ``setUp()`` method.
+
+
+.. _test-module:
+
+Tests of GRASS modules
+----------------------
+
+This is applicable for both GRASS modules written in C or C++ and
+GRASS modules written in Python since we are testing the whole module
+(which is invoked as a subprocess).
+
+::
+
+    def test_elevation(self):
+        self.assertModule('r.info', map='elevation', flags='g')
+        ...
+
+Use method ``assertRasterMinMax()`` to test that a result is within
+expected range. This is a very general test which checks the basic
+correctness of the result and can be used with different maps
+in different locations.
+
+::
+
+    def test_slope_limits(self):
+        slope = 'limits_slope'
+        self.assertModule('r.slope.aspect', elevation='elevation',
+                          slope=slope)
+        self.assertRasterMinMax(map=slope, refmin=0, refmax=90,
+                                msg="Slope in degrees must be between 0 and 90")
+
+.. todo::
+    Add example of assertions of key-value results.
+
+Especially if a module module has a lot of different parameters allowed
+in different combinations, you should test the if the wrong ones are really
+disallowed and proper error messages are provided (in addition, you can
+test things such as creation and removal of maps in error states).
+
+::
+
+    from grass.gunittest.gmodules import SimpleModule
+
+    class TestRInfoParameterHandling(TestCase):
+        """Test r.info handling of wrong input of parameters."""
+
+        def test_rinfo_wrong_map(self):
+            """Test input of map which does not exist."""
+            map_name = 'does_not_exist'
+            # create a module instance suitable for testing
+            rinfo = SimpleModule('r.info', map=map_name, flags='g')
+            # test that module fails (ends with non-zero return code)
+            self.assertModuleFail(rinfo)
+            # test that error output is not empty
+            self.assertTrue(rinfo.outputs.stderr)
+            # test that the right map is mentioned in the error message
+            self.assertIn(map_name, stderr)
+
+In some cases it might be advantageous to create a module instance
+in `setUp()` method and then modify it in test methods.
+
+.. note:
+    Test should be (natural) language, i.e. locale, independent
+    to allow testing the functionality under different locale settings.
+    So, if you are testing content of messages (which should be usually
+    translated), use `assertIn()` method (regular expression might be
+    applicable in some cases but in most cases `in` is exactly the
+    operation needed).
+
+.. _test-c:
+
+Tests of C and C++ code
+-----------------------
+
+There are basically two possibilities how to test C and C++ code.
+If you are testing GRASS library code the functions which are part of API
+these functions are exposed through Python ``ctypes`` and thus can be tested
+in Python. See section :ref:`test-python` for reference.
+
+However, more advantageous and more preferable (although sometimes
+more complicated) solution is to write a special program, preferably
+GRASS module (i.e., using ``G_parser``). The dedicated program can
+provide more direct interface to C and C++ functions used by
+a GRASS module then the module and can also serve for doing benchmarks
+which are not part of the testing.
+This can approach can be applied to both 
+
+See the example in ``lib/raster3d`` GRASS source code directory
+to create a proper Makefiles. A ``main()`` function should be written
+in the same way as for a standard module.
+
+Having a GRASS module for the purpose of testing you can write test
+as if it would be standard GRASS module.
+
+
+.. _test-python:
+
+Tests of Python code
+--------------------
+
+For testing of Python code contained in some package, use
+`gunittest` in the same way as `unittest`_ would be used.
+This basically means that if you will write tests of Python functions
+and C functions exposed to Python
+through ``ctypes`` API, you might want to focus more on `unittest`_
+documentation since you will perhaps need the more standard
+assert functions rather then the GRASS-specific ones.
+
+
+.. _test-doctest:
+
+Testing Python code with doctest
+--------------------------------
+
+.. note::
+    The primary use of ``doctest`` is to ensure that the documentation
+    for functions and classes is valid. Additionally, it can increase
+    the number of tests when executed together with other tests.
+
+In Python, the easiest thing to test are functions which performs some
+computations or string manipulations, i.e. they have some numbers or strings
+on the input and some other numbers or strings on the output.
+
+At the beginning you can use doctest for this purpose. The syntax is as follows::
+
+    def sum_list(list_to_sum):
+        """Here is some documentation in docstring.
+
+        And here is the test::
+
+        >>> sum_list([2, 5, 3])
+        10
+        """
+
+In case of GRASS modules which are Python scripts, you can add something like
+this to your script::
+
+    if __name__ == "__main__":
+        if len(sys.argv) == 2 and sys.argv[1] == '--doctest':
+            import doctest
+            doctest.testmod()
+        else:
+           main()
+
+No output means that everything was successful. Note that you cannot use all
+the ways of running doctest since doctest will fail don the module file due
+to the dot or dots in the file name. Moreover, it is sometimes required that
+the file is accessible through sys.path which is not true for case of GRASS modules.
+
+However, do not use use doctest for tests of edge cases, for tests which require
+generate complex data first, etc. In these cases use `gunittest`.
+
+
+.. _test-as-scripts:
+
+Tests as general scripts
+------------------------
+
+GRASS testing framework supports also general Python or Shell scripts
+to be used as test files. This is strongly discouraged because it
+is not using standard ``gnunittest`` assert functions which only leads
+to reimplementing the functionality, relying on a person examining the data,
+or improper tests such as mere testing
+if the module executed without an error without looking at the actual results.
+Moreover, the testing framework does not have a control over what is
+executed and how which limits potential usage and features of testing
+framework. Doing this also prevents testing framework from creating a
+detailed report and thus better understanding of what is tested and what is
+failing. Shell scripts are also harder to execute on MS Windows where the
+interpreter might not be available or might not be on path.
+
+The testing framework uses Shell interpreter with ``-e`` flag when executing
+the tests, so the tests does not have to use ``set -e`` and can rely on it being
+set from outside. The flag ensures that if some command fails, i.e. ends with
+non-zero return code (exit status), the execution of the script ends too.
+The testing framework also uses ``-x`` flag to print the executed commands
+which usually makes examining of the test output easier.
+
+If multiple test files are executed using ``grass.gunittest.main`` module,
+the testing framework creates a temporary Mapset for the general Python and
+Shell scripts in the same way as it does for ``gunittest``-based test files.
+When the tests are executed separately, the clean up in current Mapset
+and current working directory must be ensured by the user or the script itself
+(which is generally true for all test files).
+
+.. warning::
+    This is a bad practice which prevents creation of detailed reports and
+    usage of advanced ``gunittest`` features, so you should avoid it
+    whenever possible.
+
+
+Data
+----
+
+.. note::
+    Both the section and the practice itself are under development.
+
+Most of the tests requires some input data. However, it is good to write
+a test in the way that it is independent on the available data.
+In case of GRASS, we have we can have tests of functions where
+some numbers or strings are input and some numbers or string are output.
+These tests does not require any data to be provided since the numbers
+can be part of the test. Then we have another category of tests, typically
+tests of GRASS modules, which require some maps to be on the input
+and thus the output (and test) depends on the specific data.
+Again, it it best to have tests which does not require any special data
+or generally environment settings (e.g. geographic projection)
+but it is much easier to write good tests with a given set of data.
+So, an compromises must be made and tests of different types should be written.
+
+In the GRASS testing framework, each test file should be marked according to
+category it belongs to. Each category corresponds to GRASS location or locations
+where the test file can run successfully.
+
+Universal tests
+    First category is *universal*. The tests in this category use some some
+    hard coded constants, generated data, random data, or their own imported
+    data as in input to function and GRASS modules. All the tests, input data
+    and reference results should be projection independent. These tests will
+    runs always regardless of available locations.
+
+Standard names tests
+    Second category are tests using *standard names*. Tests rely on a
+    certain set of maps with particular names to be present in the location.
+    Moreover, the tests can rely also on the (semantic) meaning of the
+    names, i.e. raster map named elevation will always contain some kind of
+    digital elevation model of some area, so raster map elevation can be
+    used to compute aspect. In other words, these tests should be able to
+    (successfully) run in any location with a maps named in the same way as
+    in the standard testing location(s).
+
+Standard data tests
+    Third category of tests rely on *standard data*. These tests expect that the
+    GRASS location they run in not only contains the maps with particular names
+    as in the *standard names* but the tests rely also on the data being the
+    same as in the standard testing location(s). However, the (geographic)
+    projection or data storage can be different. This is expected to be the
+    most common case but it is much better if the tests is one of the previous
+    categories (*universal* or *standard names*). If it is possible the
+    functions or modules with tests in this category should have also tests
+    which will fit into one of the previous categories, even though these
+    additional tests will not be as precise as the other tests.
+
+Location specific tests
+    Finally, there are tests which requires certain concrete location. There
+    is (or will be) a set of standard testing locations each will have the same
+    data (maps) but the projections and data storage types will be different.
+    The suggested locations are: NC sample location in SPM projection,
+    NC in SPF, NC in LL, NC in XY, and perhaps NC in UTM, and NC in some
+    custom projection (in case of strange not-fitting projection, there is
+    a danger that the results of analyses can differer significantly).
+    Moreover, the set can be extened by GRASS locations which are using
+    different storage backends, e.g. PostGIS for vectors and PostgreSQL for
+    temporal database. Tests can specify one or preferably more of these
+    standard locations.
+
+Specialized location tests
+    Additionally, an specialized location with a collection of strange,
+    incorrect, or generally extreme data will be provided. In theory, more
+    than one location like this can be created if the data cannot be
+    together in one location or if the location itself is somehow special,
+    e.g. because of projection.
+
+Each category, or perhaps each location (will) have a set of external data
+available for import or other purposes. The standardization of this data
+is in question and thus this may be specific to each location or this
+can be a separate resource common to all tests using one of the standardized
+locations, or alternatively this data can be associated with the location
+with special data.
+
+.. note::
+    The more general category you choose for your tests the more testing data
+    can applied to your tests and the more different circumstances can be tried
+    with your tests.
+
+
+Data specific to one test
+-------------------------
+
+If the data required by the test are not part of standard location
+and cannot be part of the test file itself, this data should be stored
+in files in ``data`` subdirectory of ``testsuite`` directory.
+The test should access the data using a relative path from its location,
+i.e. all data will be accessed using ``data/...``. This ``data`` directory
+might be used directly when running test file directly in the directory
+in the source code or might be copied to the test current working directory
+when running tests by the main test invoking tool.
+
+
+Tests creating separate Mapsets, Locations and GRASS Databases
+--------------------------------------------------------------
+
+If test is creating a custom Mapset or Mapsets, it can create them in
+the current Location or create a custom GRASS Database in the current
+directory. In any case, test has to take care of cleaning up (deleting)
+the created directories and it has to use names which will be unique
+enough (name of the test case class or the file is probably a good choice
+but completely unique identifier is probably much better).
+
+If test needs custom Location or it tests something related to GRASS Database,
+it must always create a new GRASS Database in the current directory.
+
+In any case, the author must try the tests cautiously and several times
+in the same Location to see if everything works as expected. Testing
+framework is using Mapsets to separate the tests and the functions
+does not explicitly check for the case where a test is using different
+Mapset then the one which has been given to it by the framework.
+
+
+Analyzing quality of source code
+--------------------------------
+
+Besides testing, you can also use some tools to check the quality of your code
+according to various standards and occurrence of certain code patterns.
+
+For C/C++ code use third party solution `Coverity Scan`_ where GRASS GIS
+is registered as project number `1038`_. Also you can use `Cppcheck`_
+which will show a lot of errors which compilers do not check.
+In any case, set your compiler to high error and warning levels,
+check them and fix them in your code.
+
+For Python, we recommend pylint and then for style issues pep8 tool
+(and perhaps also pep257 tool). However, there is more tools available
+you can use them together with the recommend ones.
+
+To provide a way to evaluate the Python source code in the whole GRASS source
+tree there is a Python script ``grass_py_static_check.py`` which uses
+pylint and pep8 with GRASS-specific settings. Run the tool in GRASS session
+in the source code root directory. A HTML report will be created in
+``pylint_report`` directory.
+
+::
+
+    grass_py_static_check.py
+
+.. note::
+    ``grass_py_static_check.py`` is available in `sandbox`_.
+
+Additionally, if you are invoking your Python code manually using python command,
+e.g. when testing, use parameters::
+
+    python -Qwarn -tt -3 some_module.py
+
+This will warn you about usage of old division semantics for integers
+and about incompatibilities with Python 3 (if you are using Python 2)
+which 2to3 tool cannot fix. Finally, it will issue errors if are using tabs
+for indentation inconsistently (note that you should not use tabs for
+indentation at all).
+
+
+Further reading
+---------------
+
+.. toctree::
+   :maxdepth: 2
+
+   gunittest
+   gunittest_running_tests
+
+
+.. _unittest: https://docs.python.org/2/library/unittest.html
+.. _doctest: https://docs.python.org/2/library/doctest.html
+.. _Coverity Scan: https://scan.coverity.com/
+.. _1038: https://scan.coverity.com/projects/1038
+.. _Cppcheck: http://cppcheck.sourceforge.net/
+.. _sandbox: https://svn.osgeo.org/grass/sandbox/wenzeslaus/grass_py_static_check.py
+.. _GRASS GIS sample data: https://grass.osgeo.org/download/sample-data
diff --git a/lib/python/docs/src/index.rst b/lib/python/docs/src/index.rst
index d340df4..b986397 100644
--- a/lib/python/docs/src/index.rst
+++ b/lib/python/docs/src/index.rst
@@ -19,6 +19,7 @@ at various levels:
   modules
 * **GRASS GIS Temporal Framework** implements the temporal GIS functionality
   of GRASS GIS and provides an API to implement spatio-temporal processing modules
+* **Testing GRASS GIS source code and modules** using gunittest package
 * **exceptions package** contains exceptions used by other packages
 * **imaging package** is a library to create animated images and films
 * **pydispatch package** is a library for signal-dispatching
@@ -33,5 +34,6 @@ Contents:
    temporal_framework
    exceptions
    imaging
+   gunittest_testing
    pydispatch
 
diff --git a/lib/python/docs/src/pygrass_vector.rst b/lib/python/docs/src/pygrass_vector.rst
index ebde4b7..053ae17 100644
--- a/lib/python/docs/src/pygrass_vector.rst
+++ b/lib/python/docs/src/pygrass_vector.rst
@@ -69,7 +69,12 @@ To begin using a vector map, it must first be opened: ::
 
 The ``open()`` method supports a number of option arguments (see the :class:`~pygrass.vector.abstract.Info`
 documentation for a complete list). In particular, the mode argument can take a
-a value of ``r`` for reading, ``w`` for writing, or ``rw`` for reading/writing.
+a value of:
+
+'r': read-only mode, vector features are read-only (attribute table is modifiable since are handle by a database);
+'w': write-only mode, write a new vector map in case of an old vector map all the previous features will be removed/overwritten;
+'rw': read-write mode, add new/update vector features without removing the existing ones. Add/remove vector layers.
+
 
 The geometry of a vector map can be read sequentially using the ``next()`` method.
 To return to the beginning, use the ``rewind()`` method.
diff --git a/lib/python/docs/src/script_intro.rst b/lib/python/docs/src/script_intro.rst
index 6f5717e..90dcc88 100644
--- a/lib/python/docs/src/script_intro.rst
+++ b/lib/python/docs/src/script_intro.rst
@@ -13,17 +13,17 @@ Parts of the API
 Syntax
 ------
 
-First, try a standard command in Command console in Layer Manager::
+First, try a standard command in Console tab in Layer Manager in GRASS GUI::
 
     r.info map=elevation -g
 
 We are running *r.info* with an option ``map`` set to ``elevation`` Now,
-switch to Python shell and type the same command but in Python syntax::
+switch to Python tab and type the same command but in Python syntax::
 
     grass.read_command('r.info', map='elevation', flags='g')
 
 We used function ``read_command()`` from the ``grass.script`` package
-which is imported under the name ``grass`` in the Python shell in GRASS
+which is imported under the name ``grass`` in the Python tab in GRASS
 GUI. There are also other functions besides ``read_command()`` most
 notably ``run_command()``, ``write_command()`` and ``parse_command()``.
 The first parameter for functions from this group is the name of the
diff --git a/lib/python/exceptions/testsuite/test_ScriptError.py b/lib/python/exceptions/testsuite/test_ScriptError.py
index 948e4a0..f22fa22 100644
--- a/lib/python/exceptions/testsuite/test_ScriptError.py
+++ b/lib/python/exceptions/testsuite/test_ScriptError.py
@@ -1,5 +1,7 @@
 # -*- coding: utf-8 -*-
-from grass.gunittest import TestCase, test
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.exceptions import ScriptError
 
 
diff --git a/lib/python/gunittest/Makefile b/lib/python/gunittest/Makefile
new file mode 100644
index 0000000..94680fa
--- /dev/null
+++ b/lib/python/gunittest/Makefile
@@ -0,0 +1,28 @@
+MODULE_TOPDIR = ../../..
+
+include $(MODULE_TOPDIR)/include/Make/Other.make
+include $(MODULE_TOPDIR)/include/Make/Python.make
+
+PYDIR = $(ETC)/python
+GDIR = $(PYDIR)/grass
+DSTDIR = $(GDIR)/gunittest
+
+# TODO: add multireport multirunner
+MODULES = case gmodules loader runner checkers gutils invoker main reporters utils
+
+PYFILES := $(patsubst %,$(DSTDIR)/%.py,$(MODULES) __init__)
+PYCFILES := $(patsubst %,$(DSTDIR)/%.pyc,$(MODULES) __init__)
+
+default: $(PYFILES) $(PYCFILES) $(GDIR)/__init__.py $(GDIR)/__init__.pyc
+
+$(PYDIR):
+	$(MKDIR) $@
+
+$(GDIR): | $(PYDIR)
+	$(MKDIR) $@
+
+$(DSTDIR): | $(GDIR)
+	$(MKDIR) $@
+
+$(DSTDIR)/%: % | $(DSTDIR)
+	$(INSTALL_DATA) $< $@
diff --git a/lib/python/gunittest/__init__.py b/lib/python/gunittest/__init__.py
new file mode 100644
index 0000000..f2dde81
--- /dev/null
+++ b/lib/python/gunittest/__init__.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+"""GRASS Python testing framework module for running from command line
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras, Soeren Gebbert
+
+Initial version of `gunittest` was created during Google Summer of Code 2014
+by Vaclav Petras as a student and Soeren Gebbert as a mentor.
+"""
+
+# Using an empty init file to minimize requirements when importing
+# and show clearly the issue when it occurs (before a try-except was used).
diff --git a/lib/python/gunittest/case.py b/lib/python/gunittest/case.py
new file mode 100644
index 0000000..12f7dd3
--- /dev/null
+++ b/lib/python/gunittest/case.py
@@ -0,0 +1,1226 @@
+# -*- coding: utf-8 -*-
+"""GRASS Python testing framework test case
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+from __future__ import print_function
+
+import os
+import subprocess
+import sys
+import hashlib
+import uuid
+import unittest
+
+from grass.pygrass.modules import Module
+from grass.exceptions import CalledModuleError
+from grass.script import shutil_which
+
+from .gmodules import call_module, SimpleModule
+from .checkers import (check_text_ellipsis,
+                       text_to_keyvalue, keyvalue_equals, diff_keyvalue,
+                       file_md5, text_file_md5, files_equal_md5)
+from .utils import safe_repr
+from .gutils import is_map_in_mapset
+
+
+if sys.version_info[0] == 2:
+    import StringIO
+else:
+    from io import StringIO
+
+
+class TestCase(unittest.TestCase):
+    # we dissable R0904 for all TestCase classes because their purpose is to
+    # provide a lot of assert methods
+    # pylint: disable=R0904
+    """
+
+    Always use keyword arguments for all parameters other than first two. For
+    the first two, it is recommended to use keyword arguments but not required.
+    Be especially careful and always use keyword argument syntax for *msg*
+    parameter.
+    """
+    longMessage = True  # to get both standard and custom message
+    maxDiff = None  # we can afford long diffs
+    _temp_region = None  # to control the temporary region
+    html_reports = False  # output additional HTML files with failure details
+    readable_names = False  # prefer shorter but unreadable map and file names
+
+    def __init__(self, methodName):
+        super(TestCase, self).__init__(methodName)
+        self.grass_modules = []
+        self.supplementary_files = []
+        # Python unittest doc is saying that strings use assertMultiLineEqual
+        # but only unicode type is registered
+        # TODO: report this as a bug? is this in Python 3.x?
+        self.addTypeEqualityFunc(str, 'assertMultiLineEqual')
+
+    def _formatMessage(self, msg, standardMsg):
+        """Honor the longMessage attribute when generating failure messages.
+
+        If longMessage is False this means:
+
+        * Use only an explicit message if it is provided
+        * Otherwise use the standard message for the assert
+
+        If longMessage is True:
+
+        * Use the standard message
+        * If an explicit message is provided, return string with both messages
+
+        Based on Python unittest _formatMessage, formatting changed.
+        """
+        if not self.longMessage:
+            return msg or standardMsg
+        if msg is None:
+            return standardMsg
+        try:
+            # don't switch to '{}' formatting in Python 2.X
+            # it changes the way unicode input is handled
+            return '%s \n%s' % (msg, standardMsg)
+        except UnicodeDecodeError:
+            return '%s \n%s' % (safe_repr(msg), safe_repr(standardMsg))
+
+    @classmethod
+    def use_temp_region(cls):
+        """Use temporary region instead of the standard one for this process.
+
+        If you use this method, you have to call it in `setUpClass()`
+        and call `del_temp_region()` in `tearDownClass()`. By this you
+        ensure that each test method will have its own region and will
+        not influence other classes.
+
+        ::
+
+            @classmethod
+            def setUpClass(self):
+                self.use_temp_region()
+
+            @classmethod
+            def tearDownClass(self):
+                self.del_temp_region()
+
+        You can also call the methods in `setUp()` and `tearDown()` if
+        you are using them.
+
+        Copies the current region to a temporary region with
+        ``g.region save=``, then sets ``WIND_OVERRIDE`` to refer
+        to that region.
+        """
+        # we use just the class name since we rely on the invokation system
+        # where each test file is separate process and nothing runs
+        # in parallel inside
+        name = "tmp.%s" % (cls.__name__)
+        call_module("g.region", save=name, overwrite=True)
+        os.environ['WIND_OVERRIDE'] = name
+        cls._temp_region = name
+
+    @classmethod
+    def del_temp_region(cls):
+        """Remove the temporary region.
+
+        Unsets ``WIND_OVERRIDE`` and removes any region named by it.
+        """
+        assert cls._temp_region
+        name = os.environ.pop('WIND_OVERRIDE')
+        if name != cls._temp_region:
+            # be strict about usage of region
+            raise RuntimeError("Inconsistent use of"
+                               " TestCase.use_temp_region, WIND_OVERRIDE"
+                               " or temporary region in general\n"
+                               "Region to which should be now deleted ({n})"
+                               " by TestCase class"
+                               "does not corresond to currently set"
+                               " WIND_OVERRIDE ({c})",
+                               n=cls._temp_region, c=name)
+        call_module("g.remove", quiet=True, flags='f', type='region', name=name)
+        # TODO: we don't know if user calls this
+        # so perhaps some decorator which would use with statemet
+        # but we have zero chance of infuencing another test class
+        # since we use class-specific name for temporary region
+
+    def assertMultiLineEqual(self, first, second, msg=None):
+        r"""Test that the multiline string first is equal to the string second.
+
+        When not equal a diff of the two strings highlighting the differences
+        will be included in the error message. This method is used by default
+        when comparing strings with assertEqual().
+
+        This method replaces platform dependent newline characters
+        by ``\n`` (LF) in both parameters. This is
+        different from the same method implemented in Python ``unittest``
+        package which preserves the original newline characters.
+
+        This function removes the burden of getting the newline characters
+        right on each platfrom. You can just use ``\n`` everywhere and this
+        function will ensure that it does not matter if for example,
+        a module generates (as expected) ``\r\n`` (CRLF) newline characters
+        on MS Windows.
+
+        .. warning::
+            If you need to test the actual newline characters, use the standard
+            string comparison and functions such as ``find()``.
+        """
+        if os.linesep != '\n':
+            if os.linesep in first:
+                first = first.replace(os.linesep, '\n')
+            if os.linesep in second:
+                second = second.replace(os.linesep, '\n')
+        return super(TestCase, self).assertMultiLineEqual(
+            first=first, second=second, msg=msg)
+
+    def assertLooksLike(self, actual, reference, msg=None):
+        r"""Test that ``actual`` text is the same as ``referece`` with ellipses.
+
+        If ``actual`` contains platform dependent newline characters,
+        these will replaced by ``\n`` which is expected to be in the test data.
+
+        See :func:`check_text_ellipsis` for details of behavior.
+        """
+        self.assertTrue(isinstance(actual, basestring), (
+                        'actual argument is not a string'))
+        self.assertTrue(isinstance(reference, basestring), (
+                        'reference argument is not a string'))
+        if os.linesep != '\n' and os.linesep in actual:
+            actual = actual.replace(os.linesep, '\n')
+        if not check_text_ellipsis(actual=actual, reference=reference):
+            # TODO: add support for multiline (first line general, others with details)
+            standardMsg = '"%s" does not correspond with "%s"' % (actual,
+                                                                  reference)
+            self.fail(self._formatMessage(msg, standardMsg))
+
+    # TODO: decide if precision is mandatory
+    # (note that we don't need precision for strings and usually for integers)
+    # TODO: auto-determine precision based on the map type
+    # TODO: we can have also more general function without the subset reference
+    # TODO: change name to Module
+    def assertModuleKeyValue(self, module, reference, sep,
+                             precision, msg=None, **parameters):
+        """Test that output of a module is the same as provided subset.
+
+        ::
+
+            self.assertModuleKeyValue('r.info', map='elevation', flags='gr',
+                                      reference=dict(min=55.58, max=156.33),
+                                      precision=0.01, sep='=')
+
+        ::
+
+            module = SimpleModule('r.info', map='elevation', flags='gr')
+            self.assertModuleKeyValue(module,
+                                      reference=dict(min=55.58, max=156.33),
+                                      precision=0.01, sep='=')
+
+        The output of the module should be key-value pairs (shell script style)
+        which is typically obtained using ``-g`` flag.
+        """
+        if isinstance(reference, basestring):
+            reference = text_to_keyvalue(reference, sep=sep, skip_empty=True)
+        module = _module_from_parameters(module, **parameters)
+        self.runModule(module, expecting_stdout=True)
+        raster_univar = text_to_keyvalue(module.outputs.stdout,
+                                         sep=sep, skip_empty=True)
+        if not keyvalue_equals(dict_a=reference, dict_b=raster_univar,
+                               a_is_subset=True, precision=precision):
+            unused, missing, mismatch = diff_keyvalue(dict_a=reference,
+                                                      dict_b=raster_univar,
+                                                      a_is_subset=True,
+                                                      precision=precision)
+            # TODO: add region vs map extent and res check in case of error
+            if missing:
+                raise ValueError("%s output does not contain"
+                                 " the following keys"
+                                 " provided in reference"
+                                 ": %s\n" % (module, ", ".join(missing)))
+            if mismatch:
+                stdMsg = "%s difference:\n" % module
+                stdMsg += "mismatch values"
+                stdMsg += " (key, reference, actual): %s\n" % mismatch
+                stdMsg += 'command: %s %s' % (module, parameters)
+            else:
+                # we can probably remove this once we have more tests
+                # of keyvalue_equals and diff_keyvalue against each other
+                raise RuntimeError("keyvalue_equals() showed difference but"
+                                   " diff_keyvalue() did not. This can be"
+                                   " a bug in one of them or in the caller"
+                                   " (assertModuleKeyValue())")
+            self.fail(self._formatMessage(msg, stdMsg))
+
+    def assertRasterFitsUnivar(self, raster, reference,
+                               precision=None, msg=None):
+        r"""Test that raster map has the values obtained by r.univar module.
+
+        The function does not require all values from r.univar.
+        Only the provided values are tested.
+        Typical example is checking minimum, maximum and number of NULL cells
+        in the map::
+
+            values = 'null_cells=0\nmin=55.5787925720215\nmax=156.329864501953'
+            self.assertRasterFitsUnivar(raster='elevation', reference=values)
+
+        Use keyword arguments syntax for all function parameters.
+
+        Does not -e (extended statistics) flag, use `assertModuleKeyValue()`
+        for the full interface of arbitrary module.
+        """
+        self.assertModuleKeyValue(module='r.univar',
+                                  map=raster,
+                                  separator='=',
+                                  flags='g',
+                                  reference=reference, msg=msg, sep='=',
+                                  precision=precision)
+
+    def assertRasterFitsInfo(self, raster, reference,
+                             precision=None, msg=None):
+        r"""Test that raster map has the values obtained by r.univar module.
+
+        The function does not require all values from r.univar.
+        Only the provided values are tested.
+        Typical example is checking minimum, maximum and type of the map::
+
+            minmax = 'min=0\nmax=1451\ndatatype=FCELL'
+            self.assertRasterFitsInfo(raster='elevation', reference=minmax)
+
+        Use keyword arguments syntax for all function parameters.
+
+        This function supports values obtained -r (range) and
+        -e (extended metadata) flags.
+        """
+        self.assertModuleKeyValue(module='r.info',
+                                  map=raster, flags='gre',
+                                  reference=reference, msg=msg, sep='=',
+                                  precision=precision)
+
+    def assertRaster3dFitsUnivar(self, raster, reference,
+                                 precision=None, msg=None):
+        r"""Test that 3D raster map has the values obtained by r3.univar module.
+
+        The function does not require all values from r3.univar.
+        Only the provided values are tested.
+
+        Use keyword arguments syntax for all function parameters.
+
+        Function does not use -e (extended statistics) flag,
+        use `assertModuleKeyValue()` for the full interface of arbitrary
+        module.
+        """
+        self.assertModuleKeyValue(module='r3.univar',
+                                  map=raster,
+                                  separator='=',
+                                  flags='g',
+                                  reference=reference, msg=msg, sep='=',
+                                  precision=precision)
+
+    def assertRaster3dFitsInfo(self, raster, reference,
+                               precision=None, msg=None):
+        r"""Test that raster map has the values obtained by r3.info module.
+
+        The function does not require all values from r3.info.
+        Only the provided values are tested.
+
+        Use keyword arguments syntax for all function parameters.
+
+        This function supports values obtained by -g (info) and -r (range).
+        """
+        self.assertModuleKeyValue(module='r3.info',
+                                  map=raster, flags='gr',
+                                  reference=reference, msg=msg, sep='=',
+                                  precision=precision)
+
+    def assertVectorFitsTopoInfo(self, vector, reference, msg=None):
+        r"""Test that raster map has the values obtained by ``v.info`` module.
+
+        This function uses ``-t`` flag of ``v.info`` module to get topology
+        info, so the reference dictionary should contain appropriate set or
+        subset of values (only the provided values are tested).
+
+        A example of checking number of points::
+
+            topology = dict(points=10938, primitives=10938)
+            self.assertVectorFitsTopoInfo(vector='bridges', reference=topology)
+
+        Note that here we are checking also the number of primitives to prove
+        that there are no other features besides points.
+
+        No precision is applied (no difference is required). So, this function
+        is not suitable for testing items which are floating point number
+        (no such items are currently in topological information).
+
+        Use keyword arguments syntax for all function parameters.
+        """
+        self.assertModuleKeyValue(module='v.info',
+                                  map=vector, flags='t',
+                                  reference=reference, msg=msg, sep='=',
+                                  precision=0)
+
+    def assertVectorFitsRegionInfo(self, vector, reference,
+                                   precision, msg=None):
+        r"""Test that raster map has the values obtained by ``v.info`` module.
+
+        This function uses ``-g`` flag of ``v.info`` module to get topology
+        info, so the reference dictionary should contain appropriate set or
+        subset of values (only the provided values are tested).
+
+        Use keyword arguments syntax for all function parameters.
+        """
+        self.assertModuleKeyValue(module='v.info',
+                                  map=vector, flags='g',
+                                  reference=reference, msg=msg, sep='=',
+                                  precision=precision)
+
+    def assertVectorFitsExtendedInfo(self, vector, reference, msg=None):
+        r"""Test that raster map has the values obtained by ``v.info`` module.
+
+        This function uses ``-e`` flag of ``v.info`` module to get topology
+        info, so the reference dictionary should contain appropriate set or
+        subset of values (only the provided values are tested).
+
+        The most useful items for testing (considering circumstances of test
+        invocation) are name, title, level and num_dblinks. (When testing
+        storing of ``v.info -e`` metadata, the selection might be different.)
+
+        No precision is applied (no difference is required). So, this function
+        is not suitable for testing items which are floating point number.
+
+        Use keyword arguments syntax for all function parameters.
+        """
+        self.assertModuleKeyValue(module='v.info',
+                                  map=vector, flags='e',
+                                  reference=reference, msg=msg, sep='=',
+                                  precision=0)
+
+    def assertVectorInfoEqualsVectorInfo(self, actual, reference, precision,
+                                         msg=None):
+        """Test that two vectors are equal according to ``v.info -tg``.
+
+        This function does not test geometry itself just the region of the
+        vector map and number of features.
+        """
+        module = SimpleModule('v.info', flags='t', map=reference)
+        self.runModule(module)
+        ref_topo = text_to_keyvalue(module.outputs.stdout, sep='=')
+        module = SimpleModule('v.info', flags='g', map=reference)
+        self.runModule(module)
+        ref_info = text_to_keyvalue(module.outputs.stdout, sep='=')
+        self.assertVectorFitsTopoInfo(vector=actual, reference=ref_topo,
+                                      msg=msg)
+        self.assertVectorFitsRegionInfo(vector=actual, reference=ref_info,
+                                        precision=precision, msg=msg)
+
+    def assertVectorFitsUnivar(self, map, column, reference, msg=None,
+                               layer=None, type=None, where=None,
+                               precision=None):
+        r"""Test that vector map has the values obtained by v.univar module.
+
+        The function does not require all values from v.univar.
+        Only the provided values are tested.
+        Typical example is checking minimum and maximum of a column::
+
+            minmax = 'min=0\nmax=1451'
+            self.assertVectorFitsUnivar(map='bridges', column='WIDTH',
+                                        reference=minmax)
+
+        Use keyword arguments syntax for all function parameters.
+
+        Does not support -d (geometry distances) flag, -e (extended statistics)
+        flag and few other, use `assertModuleKeyValue` for the full interface
+        of arbitrary module.
+        """
+        parameters = dict(map=map, column=column, flags='g')
+        if layer:
+            parameters.update(layer=layer)
+        if type:
+            parameters.update(type=type)
+        if where:
+            parameters.update(where=where)
+        self.assertModuleKeyValue(module='v.univar',
+                                  reference=reference, msg=msg, sep='=',
+                                  precision=precision,
+                                  **parameters)
+
+    # TODO: use precision?
+    # TODO: write a test for this method with r.in.ascii
+    def assertRasterMinMax(self, map, refmin, refmax, msg=None):
+        """Test that raster map minimum and maximum are within limits.
+
+        Map minimum and maximum is tested against expression::
+
+            refmin <= actualmin and refmax >= actualmax
+
+        Use keyword arguments syntax for all function parameters.
+
+        To check that more statistics have certain values use
+        `assertRasterFitsUnivar()` or `assertRasterFitsInfo()`
+        """
+        stdout = call_module('r.info', map=map, flags='r')
+        actual = text_to_keyvalue(stdout, sep='=')
+        if refmin > actual['min']:
+            stdmsg = ('The actual minimum ({a}) is smaller than the reference'
+                      ' one ({r}) for raster map {m}'
+                      ' (with maximum {o})'.format(
+                          a=actual['min'], r=refmin, m=map, o=actual['max']))
+            self.fail(self._formatMessage(msg, stdmsg))
+        if refmax < actual['max']:
+            stdmsg = ('The actual maximum ({a}) is greater than the reference'
+                      ' one ({r}) for raster map {m}'
+                      ' (with minimum {o})'.format(
+                          a=actual['max'], r=refmax, m=map, o=actual['min']))
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    # TODO: use precision?
+    # TODO: write a test for this method with r.in.ascii
+    # TODO: almost the same as 2D version
+    def assertRaster3dMinMax(self, map, refmin, refmax, msg=None):
+        """Test that 3D raster map minimum and maximum are within limits.
+
+        Map minimum and maximum is tested against expression::
+
+            refmin <= actualmin and refmax >= actualmax
+
+        Use keyword arguments syntax for all function parameters.
+
+        To check that more statistics have certain values use
+        `assertRaster3DFitsUnivar()` or `assertRaster3DFitsInfo()`
+        """
+        stdout = call_module('r3.info', map=map, flags='r')
+        actual = text_to_keyvalue(stdout, sep='=')
+        if refmin > actual['min']:
+            stdmsg = ('The actual minimum ({a}) is smaller than the reference'
+                      ' one ({r}) for 3D raster map {m}'
+                      ' (with maximum {o})'.format(
+                          a=actual['min'], r=refmin, m=map, o=actual['max']))
+            self.fail(self._formatMessage(msg, stdmsg))
+        if refmax < actual['max']:
+            stdmsg = ('The actual maximum ({a}) is greater than the reference'
+                      ' one ({r}) for 3D raster map {m}'
+                      ' (with minimum {o})'.format(
+                          a=actual['max'], r=refmax, m=map, o=actual['min']))
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def _get_detailed_message_about_no_map(self, name, type):
+        msg = ("There is no map <{n}> of type <{t}>"
+               " in the current mapset".format(n=name, t=type))
+        related = call_module('g.list', type='raster,raster3d,vector',
+                              flags='imt', pattern='*' + name + '*')
+        if related:
+            msg += "\nSee available maps:\n"
+            msg += related
+        else:
+            msg += "\nAnd there are no maps containing the name anywhere\n"
+        return msg
+
+    def assertRasterExists(self, name, msg=None):
+        """Checks if the raster map exists in current mapset"""
+        if not is_map_in_mapset(name, type='raster'):
+            stdmsg = self._get_detailed_message_about_no_map(name, 'raster')
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def assertRasterDoesNotExist(self, name, msg=None):
+        """Checks if the raster map does not exist in current mapset"""
+        if is_map_in_mapset(name, type='raster'):
+            stdmsg = self._get_detailed_message_about_no_map(name, 'raster')
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def assertRaster3dExists(self, name, msg=None):
+        """Checks if the 3D raster map exists in current mapset"""
+        if not is_map_in_mapset(name, type='raster3d'):
+            stdmsg = self._get_detailed_message_about_no_map(name, 'raster3d')
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def assertRaster3dDoesNotExist(self, name, msg=None):
+        """Checks if the 3D raster map does not exist in current mapset"""
+        if is_map_in_mapset(name, type='raster3d'):
+            stdmsg = self._get_detailed_message_about_no_map(name, 'raster3d')
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def assertVectorExists(self, name, msg=None):
+        """Checks if the vector map exists in current mapset"""
+        if not is_map_in_mapset(name, type='vector'):
+            stdmsg = self._get_detailed_message_about_no_map(name, 'vector')
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def assertVectorDoesNotExist(self, name, msg=None):
+        """Checks if the vector map does not exist in current mapset"""
+        if is_map_in_mapset(name, type='vector'):
+            stdmsg = self._get_detailed_message_about_no_map(name, 'vector')
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def assertFileExists(self, filename, msg=None,
+                         skip_size_check=False, skip_access_check=False):
+        """Test the existence of a file.
+
+        .. note:
+            By default this also checks if the file size is greater than 0
+            since we rarely want a file to be empty. It also checks
+            if the file is accessible for reading since we expect that user
+            wants to look at created files.
+        """
+        if not os.path.isfile(filename):
+            stdmsg = 'File %s does not exist' % filename
+            self.fail(self._formatMessage(msg, stdmsg))
+        if not skip_size_check and not os.path.getsize(filename):
+            stdmsg = 'File %s is empty' % filename
+            self.fail(self._formatMessage(msg, stdmsg))
+        if not skip_access_check and not os.access(filename, os.R_OK):
+            stdmsg = 'File %s is not accessible for reading' % filename
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def assertFileMd5(self, filename, md5, text=False, msg=None):
+        r"""Test that file MD5 sum is equal to the provided sum.
+
+        Usually, this function is used to test binary files or large text files
+        which cannot be tested in some other way. Text files can be usually
+        tested by some finer method.
+
+        To test text files with this function, you should always use parameter
+        *text* set to ``True``. Note that function ``checkers.text_file_md5()``
+        offers additional parameters which might be advantageous when testing
+        text files.
+
+        The typical workflow is that you create a file in a way you
+        trust (that you obtain the right file). Then you compute MD5
+        sum of the file. And provide the sum in a test as a string::
+
+            self.assertFileMd5('result.png', md5='807bba4ffa...')
+
+        Use `file_md5()` function from this package::
+
+            file_md5('original_result.png')
+
+        Or in command line, use ``md5sum`` command if available:
+
+        .. code-block:: sh
+
+            md5sum some_file.png
+
+        Finaly, you can use Python ``hashlib`` to obtain MD5::
+
+            import hashlib
+            hasher = hashlib.md5()
+            # expecting the file to fit into memory
+            hasher.update(open('original_result.png', 'rb').read())
+            hasher.hexdigest()
+
+        .. note:
+            For text files, always create MD5 sum using ``\n`` (LF)
+            as newline characters for consistency. Also use newline
+            at the end of file (as for example, Git or PEP8 requires).
+        """
+        self.assertFileExists(filename, msg=msg)
+        if text:
+            actual = text_file_md5(filename)
+        else:
+            actual = file_md5(filename)
+        if not actual == md5:
+            standardMsg = ('File <{name}> does not have the right MD5 sum.\n'
+                           'Expected is <{expected}>,'
+                           ' actual is <{actual}>'.format(
+                               name=filename, expected=md5, actual=actual))
+            self.fail(self._formatMessage(msg, standardMsg))
+
+    def assertFilesEqualMd5(self, filename, reference, msg=None):
+        """Test that files are the same using MD5 sum.
+
+        This functions requires you to provide a file to test and
+        a reference file. For both, MD5 sum will be computed and compared with
+        each other.
+        """
+        self.assertFileExists(filename, msg=msg)
+        # nothing for ref, missing ref_filename is an error not a test failure
+        if not files_equal_md5(filename, reference):
+            stdmsg = 'Files %s and %s don\'t have the same MD5 sums' % (filename,
+                                                                        reference)
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    def _get_unique_name(self, name):
+        """Create standardized map or file name which is unique
+
+        If ``readable_names`` attribute is `True`, it uses the *name* string
+        to create the unique name. Otherwise, it creates a unique name.
+        Even if you expect ``readable_names`` to be `True`, provide *name*
+        which is unique
+
+        The *name* parameter should be valid raster name, vector name and file
+        name and should be always provided.
+        """
+        # TODO: possible improvement is to require some descriptive name
+        # and ensure uniqueness by add UUID
+        if self.readable_names:
+            return 'tmp_' + self.id().replace('.', '_') + '_' + name
+        else:
+            # UUID might be overkill (and expensive) but it's safe and simple
+            # alternative is to create hash from the readable name
+            return 'tmp_' + str(uuid.uuid4()).replace('-', '')
+
+    def _compute_difference_raster(self, first, second, name_part):
+        """Compute difference of two rasters (first - second)
+
+        The name of the new raster is a long name designed to be as unique as
+        possible and contains names of two input rasters.
+
+        :param first: raster to subtract from
+        :param second: raster used as decrement
+        :param name_part: a unique string to be used in the difference name
+
+        :returns: name of a new raster
+        """
+        diff = self._get_unique_name('compute_difference_raster_' + name_part
+                                     + '_' + first + '_minus_' + second)
+        call_module('r.mapcalc',
+                    stdin='"{d}" = "{f}" - "{s}"'.format(d=diff,
+                                                         f=first,
+                                                         s=second))
+        return diff
+
+    # TODO: name of map generation is repeted three times
+    # TODO: this method is almost the same as the one for 2D
+    def _compute_difference_raster3d(self, first, second, name_part):
+        """Compute difference of two rasters (first - second)
+
+        The name of the new raster is a long name designed to be as unique as
+        possible and contains names of two input rasters.
+
+        :param first: raster to subtract from
+        :param second: raster used as decrement
+        :param name_part: a unique string to be used in the difference name
+
+        :returns: name of a new raster
+        """
+        diff = self._get_unique_name('compute_difference_raster_' + name_part
+                                     + '_' + first + '_minus_' + second)
+
+        call_module('r3.mapcalc',
+                    stdin='"{d}" = "{f}" - "{s}"'.format(d=diff,
+                                                         f=first,
+                                                         s=second))
+        return diff
+
+    def _compute_vector_xor(self, ainput, alayer, binput, blayer, name_part):
+        """Compute symmetric difference (xor) of two vectors
+
+        :returns: name of a new vector
+        """
+        diff = self._get_unique_name('compute_difference_vector_' + name_part
+                                     + '_' + ainput + '_' + alayer + '_minus_'
+                                     + binput + '_' + blayer)
+        call_module('v.overlay', operator='xor', ainput=ainput, binput=binput,
+                    alayer=alayer, blayer=blayer,
+                    output=diff, atype='area', btype='area', olayer='')
+        # trying to avoid long reports full of categories by olayer=''
+        # olayer   Output layer for new category, ainput and binput
+        #     If 0 or not given, the category is not written
+        return diff
+
+    # TODO: -z and 3D support
+    def _import_ascii_vector(self, filename, name_part):
+        """Import a vector stored in GRASS vector ASCII format.
+
+        :returns: name of a new vector
+        """
+        # hash is the easiest way how to get a valied vector name
+        # TODO: introduce some function which will make file valid
+        hasher = hashlib.md5()
+        hasher.update(filename)
+        namehash = hasher.hexdigest()
+        vector = self._get_unique_name('import_ascii_vector_' + name_part
+                                       + '_' + namehash)
+        call_module('v.in.ascii', input=filename,
+                    output=vector, format='standard')
+        return vector
+
+    # TODO: -z and 3D support
+    def _export_ascii_vector(self, vector, name_part, digits):
+        """Import a vector stored in GRASS vector ASCII format.
+
+        :returns: name of a new vector
+        """
+        # TODO: perhaps we can afford just simple file name
+        filename = self._get_unique_name('export_ascii_vector_'
+                                         + name_part + '_' + vector)
+        call_module('v.out.ascii', input=vector,
+                    output=filename, format='standard', layer='-1',
+                    precision=digits)
+        return filename
+
+    def assertRastersNoDifference(self, actual, reference,
+                                  precision, statistics=None, msg=None):
+        """Test that `actual` raster is not different from `reference` raster
+
+        Method behaves in the same way as `assertRasterFitsUnivar()`
+        but works on difference ``reference - actual``.
+        If statistics is not given ``dict(min=-precision, max=precision)``
+        is used.
+        """
+        if statistics is None or sorted(statistics.keys()) == ['max', 'min']:
+            if statistics is None:
+                statistics = dict(min=-precision, max=precision)
+            diff = self._compute_difference_raster(reference, actual,
+                                                   'assertRastersNoDifference')
+            try:
+                self.assertModuleKeyValue('r.info', map=diff, flags='r',
+                                          sep='=', precision=precision,
+                                          reference=statistics, msg=msg)
+            finally:
+                call_module('g.remove', flags='f', type='raster', name=diff)
+        else:
+            # general case
+            # TODO: we are using r.info min max and r.univar min max interchangably
+            # but they might be different if region is different from map
+            # not considered as an huge issue since we expect the tested maps
+            # to match with region, however a documentation should containe a notice
+            self.assertRastersDifference(actual=actual, reference=reference,
+                                         statistics=statistics,
+                                         precision=precision, msg=msg)
+
+    def assertRastersDifference(self, actual, reference,
+                                statistics, precision, msg=None):
+        """Test statistical values of difference of reference and actual rasters
+
+        For cases when you are interested in no or minimal difference,
+        use `assertRastersNoDifference()` instead.
+
+        This method should not be used to test r.mapcalc or r.univar.
+        """
+        diff = self._compute_difference_raster(reference, actual,
+                                               'assertRastersDifference')
+        try:
+            self.assertRasterFitsUnivar(raster=diff, reference=statistics,
+                                        precision=precision, msg=msg)
+        finally:
+            call_module('g.remove', flags='f', type='raster', name=diff)
+
+    def assertRasters3dNoDifference(self, actual, reference,
+                                    precision, statistics=None, msg=None):
+        """Test that `actual` raster is not different from `reference` raster
+
+        Method behaves in the same way as `assertRasterFitsUnivar()`
+        but works on difference ``reference - actual``.
+        If statistics is not given ``dict(min=-precision, max=precision)``
+        is used.
+        """
+        if statistics is None or sorted(statistics.keys()) == ['max', 'min']:
+            if statistics is None:
+                statistics = dict(min=-precision, max=precision)
+            diff = self._compute_difference_raster3d(reference, actual,
+                                                     'assertRasters3dNoDifference')
+            try:
+                self.assertModuleKeyValue('r3.info', map=diff, flags='r',
+                                          sep='=', precision=precision,
+                                          reference=statistics, msg=msg)
+            finally:
+                call_module('g.remove', flags='f', type='raster_3d', name=diff)
+        else:
+            # general case
+            # TODO: we are using r.info min max and r.univar min max interchangably
+            # but they might be different if region is different from map
+            # not considered as an huge issue since we expect the tested maps
+            # to match with region, however a documentation should contain a notice
+            self.assertRasters3dDifference(actual=actual, reference=reference,
+                                           statistics=statistics,
+                                           precision=precision, msg=msg)
+
+    def assertRasters3dDifference(self, actual, reference,
+                                statistics, precision, msg=None):
+        """Test statistical values of difference of reference and actual rasters
+
+        For cases when you are interested in no or minimal difference,
+        use `assertRastersNoDifference()` instead.
+
+        This method should not be used to test r3.mapcalc or r3.univar.
+        """
+        diff = self._compute_difference_raster3d(reference, actual,
+                                                 'assertRasters3dDifference')
+        try:
+            self.assertRaster3dFitsUnivar(raster=diff, reference=statistics,
+                                          precision=precision, msg=msg)
+        finally:
+            call_module('g.remove', flags='f', type='raster_3d', name=diff)
+
+    # TODO: this works only in 2D
+    # TODO: write tests
+    def assertVectorIsVectorBuffered(self, actual, reference, precision, msg=None):
+        """
+
+        This method should not be used to test v.buffer, v.overlay or v.select.
+        """
+        # TODO: if msg is None: add info specific to this function
+        layer = '-1'
+        self.assertVectorInfoEqualsVectorInfo(actual=actual,
+                                              reference=reference,
+                                              precision=precision, msg=msg)
+        remove = []
+        buffered = reference + '_buffered'  # TODO: more unique name
+        intersection = reference + '_intersection'  # TODO: more unique name
+        self.runModule('v.buffer', input=reference, layer=layer,
+                       output=buffered, distance=precision)
+        remove.append(buffered)
+        try:
+            self.runModule('v.overlay', operator='and', ainput=actual,
+                           binput=reference,
+                           alayer=layer, blayer=layer,
+                           output=intersection, atype='area', btype='area',
+                           olayer='')
+            remove.append(intersection)
+            # TODO: this would use some refactoring
+            # perhaps different functions or more low level functions would
+            # be more appropriate
+            module = SimpleModule('v.info', flags='t', map=reference)
+            self.runModule(module)
+            ref_topo = text_to_keyvalue(module.outputs.stdout, sep='=')
+            self.assertVectorFitsTopoInfo(vector=intersection,
+                                          reference=ref_topo,
+                                          msg=msg)
+            module = SimpleModule('v.info', flags='g', map=reference)
+            self.runModule(module)
+            ref_info = text_to_keyvalue(module.outputs.stdout, sep='=')
+            self.assertVectorFitsRegionInfo(vector=intersection,
+                                            reference=ref_info,
+                                            msg=msg, precision=precision)
+        finally:
+            call_module('g.remove', flags='f', type='vector', name=remove)
+
+    # TODO: write tests
+    def assertVectorsNoAreaDifference(self, actual, reference, precision,
+                                      layer=1, msg=None):
+        """Test statistical values of difference of reference and actual rasters
+
+        Works only for areas.
+
+        Use keyword arguments syntax for all function parameters.
+
+        This method should not be used to test v.overlay or v.select.
+        """
+        diff = self._compute_xor_vectors(ainput=reference, binput=actual,
+                                         alayer=layer, blayer=layer,
+                                         name_part='assertVectorsNoDifference')
+        try:
+            module = SimpleModule('v.to.db', map=diff,
+                                  flags='pc', separator='=')
+            self.runModule(module)
+            # the output of v.to.db -pc sep== should look like:
+            # ...
+            # 43=98606087.5818323
+            # 44=727592.902311112
+            # total area=2219442027.22035
+            total_area = module.outputs.stdout.splitlines()[-1].split('=')[-1]
+            if total_area > precision:
+                stdmsg = ("Area of difference of vectors <{va}> and <{vr}>"
+                          " should be 0"
+                          " in the given precision ({p}) not {a}").format(
+                    va=actual, vr=reference, p=precision, a=total_area)
+                self.fail(self._formatMessage(msg, stdmsg))
+        finally:
+            call_module('g.remove', flags='f', type='vector', name=diff)
+
+    # TODO: here we have to have significant digits which is not consistent
+    # TODO: documentation for all new asserts
+    # TODO: same can be created for raster and 3D raster
+    def assertVectorEqualsVector(self, actual, reference, digits, precision, msg=None):
+        """Test that two vectors are equal.
+
+        .. note:
+            This test should not be used to test ``v.in.ascii`` and
+            ``v.out.ascii`` modules.
+
+        .. warning:
+            ASCII files for vectors are loaded into memory, so this
+            function works well only for "not too big" vector maps.
+        """
+        # both vectors to ascii
+        # text diff of two ascii files
+        # may also do other comparisons on vectors themselves (asserts)
+        self.assertVectorInfoEqualsVectorInfo(actual=actual, reference=reference, precision=precision, msg=msg)
+        factual = self._export_ascii_vector(vector=actual,
+                                            name_part='assertVectorEqualsVector_actual',
+                                            digits=digits)
+        freference = self._export_ascii_vector(vector=reference,
+                                               name_part='assertVectorEqualsVector_reference',
+                                               digits=digits)
+        self.assertVectorAsciiEqualsVectorAscii(actual=factual,
+                                                reference=freference,
+                                                remove_files=True,
+                                                msg=msg)
+
+    def assertVectorEqualsAscii(self, actual, reference, digits, precision, msg=None):
+        """Test that vector is equal to the vector stored in GRASS ASCII file.
+
+        .. note:
+            This test should not be used to test ``v.in.ascii`` and
+            ``v.out.ascii`` modules.
+
+        .. warning:
+            ASCII files for vectors are loaded into memory, so this
+            function works well only for "not too big" vector maps.
+        """
+        # vector to ascii
+        # text diff of two ascii files
+        # it may actually import the file and do other asserts
+        factual = self._export_ascii_vector(vector=actual,
+                                            name_part='assertVectorEqualsAscii_actual',
+                                            digits=digits)
+        vreference = None
+        try:
+            vreference = self._import_ascii_vector(filename=reference,
+                                               name_part='assertVectorEqualsAscii_reference')
+            self.assertVectorInfoEqualsVectorInfo(actual=actual,
+                                                  reference=vreference,
+                                                  precision=precision, msg=msg)
+            self.assertVectorAsciiEqualsVectorAscii(actual=factual,
+                                                    reference=reference,
+                                                    remove_files=False,
+                                                    msg=msg)
+        finally:
+            # TODO: manage using cleanup settings
+            # we rely on fail method to either raise or return (soon)
+            os.remove(factual)
+            if vreference:
+                self.runModule('g.remove', flags='f', type='vector', name=vreference)
+
+    # TODO: we expect v.out.ascii to give the same order all the time, is that OK?
+    def assertVectorAsciiEqualsVectorAscii(self, actual, reference,
+                                           remove_files=False, msg=None):
+        """Test that two GRASS ASCII vector files are equal.
+
+        .. note:
+            This test should not be used to test ``v.in.ascii`` and
+            ``v.out.ascii`` modules.
+
+        .. warning:
+            ASCII files for vectors are loaded into memory, so this
+            function works well only for "not too big" vector maps.
+        """
+        import difflib
+        # 'U' taken from difflib documentation
+        fromlines = open(actual, 'U').readlines()
+        tolines = open(reference, 'U').readlines()
+        context_lines = 3  # number of context lines
+        # TODO: filenames are set to "actual" and "reference", isn't it too general?
+        # it is even more useful if map names or file names are some generated
+        # with hash or some other unreadable things
+        # other styles of diffs are available too
+        # but unified is a good choice if you are used to svn or git
+        # workaround for missing -h (do not print header) flag in v.out.ascii
+        num_lines_of_header = 10
+        diff = difflib.unified_diff(fromlines[num_lines_of_header:],
+                                    tolines[num_lines_of_header:],
+                                    'reference', 'actual', n=context_lines)
+        # TODO: this should be solved according to cleanup policy
+        # but the parameter should be kept if it is an existing file
+        # or using this method by itself
+        if remove_files:
+            os.remove(actual)
+            os.remove(reference)
+        stdmsg = ("There is a difference between vectors when compared as"
+                  " ASCII files.\n")
+
+        output = StringIO.StringIO()
+        # TODO: there is a diff size constant which we can use
+        # we are setting it unlimited but we can just set it large
+        maxlines = 100
+        i = 0
+        for line in diff:
+            if i >= maxlines:
+                break
+            output.write(line)
+            i += 1
+        stdmsg += output.getvalue()
+        output.close()
+        # it seems that there is not better way of asking whether there was
+        # a difference (always a iterator object is returned)
+        if i > 0:
+            # do HTML diff only if there is not too many lines
+            # TODO: this might be tough to do with some more sophisticated way of reports
+            if self.html_reports and i < maxlines:
+                # TODO: this might be here and somehow stored as file or done in reporter again if right information is stored
+                # i.e., files not deleted or the whole strings passed
+                # alternative is make_table() which is the same but creates just a table not a whole document
+                # TODO: all HTML files might be collected by the main reporter
+                # TODO: standardize the format of name of HTML file
+                # for one test id there is only one possible file of this name
+                htmldiff_file_name = self.id() + '_ascii_diff' + '.html'
+                self.supplementary_files.append(htmldiff_file_name)
+                htmldiff = difflib.HtmlDiff().make_file(fromlines, tolines,
+                                                        'reference', 'actual',
+                                                        context=True,
+                                                        numlines=context_lines)
+                htmldiff_file = open(htmldiff_file_name, 'w')
+                for line in htmldiff:
+                    htmldiff_file.write(line)
+                htmldiff_file.close()
+
+            self.fail(self._formatMessage(msg, stdmsg))
+
+    @classmethod
+    def runModule(cls, module, expecting_stdout=False, **kwargs):
+        """Run PyGRASS module.
+
+        Runs the module and raises an exception if the module ends with
+        non-zero return code. Usually, this is the same as testing the
+        return code and raising exception but by using this method,
+        you give testing framework more control over the execution,
+        error handling and storing of output.
+
+        In terms of testing framework, this function causes a common error,
+        not a test failure.
+
+        :raises CalledModuleError: if the module failed
+        """
+        module = _module_from_parameters(module, **kwargs)
+        _check_module_run_parameters(module)
+        try:
+            module.run()
+        except CalledModuleError:
+            # here exception raised by run() with finish_=True would be
+            # almost enough but we want some additional info to be included
+            # in the test report
+            errors = module.outputs.stderr
+            # provide diagnostic at least in English locale
+            # TODO: standardized error code would be handy here
+            import re
+            if re.search('Raster map.*not found', errors, flags=re.DOTALL):
+                errors += "\nSee available raster maps:\n"
+                errors += call_module('g.list', type='raster')
+            if re.search('Vector map.*not found', errors, flags=re.DOTALL):
+                errors += "\nSee available vector maps:\n"
+                errors += call_module('g.list', type='vector')
+            # TODO: message format, parameters
+            raise CalledModuleError(module.popen.returncode, module.name,
+                                    module.get_python(),
+                                    errors=errors)
+        # TODO: use this also in assert and apply when appropriate
+        if expecting_stdout and not module.outputs.stdout.strip():
+
+            if module.outputs.stderr:
+                errors = " The errors are:\n" + module.outputs.stderr
+            else:
+                errors = " There were no error messages."
+            if module.outputs.stdout:
+                # this is not appropriate for translation but we don't want
+                # and don't need testing to be translated
+                got = "only whitespace."
+            else:
+                got = "nothing."
+            raise RuntimeError("Module call " + module.get_python() +
+                               " ended successfully but we were expecting"
+                               " output and got " + got + errors)
+    # TODO: we can also comapre time to some expected but that's tricky
+    # maybe we should measure time but the real benchmarks with stdin/stdout
+    # should be done by some other function
+    # TODO: this should be the function used for valgrind or profiling or debug
+    # TODO: it asserts the rc but it does much more, so testModule?
+    # TODO: do we need special function for testing module failures or just add parameter returncode=0?
+    # TODO: consider not allowing to call this method more than once
+    # the original idea was to run this method just once for test method
+    # but for "integration" tests  (script-like tests with more than one module)
+    # it would be better to be able to use this multiple times
+    # TODO: enable merging streams?
+    def assertModule(self, module, msg=None, **kwargs):
+        """Run PyGRASS module in controlled way and assert non-zero return code.
+
+        You should use this method to invoke module you are testing.
+        By using this method, you give testing framework more control over
+        the execution, error handling and storing of output.
+
+        It will not print module stdout and stderr, instead it will always
+        store them for further examination. Streams are stored separately.
+
+        This method is not suitable for testing error states of the module.
+        If you want to test behavior which involves non-zero return codes
+        and examine stderr in test, use `assertModuleFail()` method.
+
+        Runs the module and causes test failure if module ends with
+        non-zero return code.
+        """
+        module = _module_from_parameters(module, **kwargs)
+        _check_module_run_parameters(module)
+        if not shutil_which(module.name):
+            stdmsg = "Cannot find the module '{}'".format(module.name)
+            self.fail(self._formatMessage(msg, stdmsg))
+        try:
+            module.run()
+            self.grass_modules.append(module.name)
+        except CalledModuleError:
+            print(module.outputs.stdout)
+            print(module.outputs.stderr)
+            # TODO: message format
+            # TODO: stderr?
+            stdmsg = ('Running <{m.name}> module ended'
+                      ' with non-zero return code ({m.popen.returncode})\n'
+                      'Called: {code}\n'
+                      'See the following errors:\n'
+                      '{errors}'.format(
+                          m=module, code=module.get_python(),
+                          errors=module.outputs.stderr
+                      ))
+            self.fail(self._formatMessage(msg, stdmsg))
+        print(module.outputs.stdout)
+        print(module.outputs.stderr)
+        # log these to final report
+        # TODO: always or only if the calling test method failed?
+        # in any case, this must be done before self.fail()
+        # module.outputs['stdout'].value
+        # module.outputs['stderr'].value
+
+    # TODO: should we merge stderr to stdout in this case?
+    def assertModuleFail(self, module, msg=None, **kwargs):
+        """Test that module fails with a non-zero return code.
+
+        Works like `assertModule()` but expects module to fail.
+        """
+        module = _module_from_parameters(module, **kwargs)
+        _check_module_run_parameters(module)
+        # note that we cannot use finally because we do not leave except
+        try:
+            module.run()
+            self.grass_modules.append(module.name)
+        except CalledModuleError:
+            print(module.outputs.stdout)
+            print(module.outputs.stderr)
+        else:
+            print(module.outputs.stdout)
+            print(module.outputs.stderr)
+            stdmsg = ('Running <%s> ended with zero (successful) return code'
+                      ' when expecting module to fail' % module.get_python())
+            self.fail(self._formatMessage(msg, stdmsg))
+
+
+# TODO: add tests and documentation to methods which are using this function
+# some test and documentation add to assertModuleKeyValue
+def _module_from_parameters(module, **kwargs):
+    if kwargs:
+        if not isinstance(module, basestring):
+            raise ValueError('module can be only string or PyGRASS Module')
+        if isinstance(module, Module):
+            raise ValueError('module can be only string if other'
+                             ' parameters are given')
+            # allow passing all parameters in one dictionary called parameters
+        if kwargs.keys() == ['parameters']:
+            kwargs = kwargs['parameters']
+        module = SimpleModule(module, **kwargs)
+    return module
+
+
+def _check_module_run_parameters(module):
+    # in this case module already run and we would start it again
+    if module.run_:
+        raise ValueError('Do not run the module manually, set run_=False')
+    if not module.finish_:
+        raise ValueError('This function will always finish module run,'
+                         ' set finish_=None or finish_=True.')
+    # we expect most of the usages with stdout=PIPE
+    # TODO: in any case capture PIPE always?
+    if module.stdout_ is None:
+        module.stdout_ = subprocess.PIPE
+    elif module.stdout_ != subprocess.PIPE:
+        raise ValueError('stdout_ can be only PIPE or None')
+    if module.stderr_ is None:
+        module.stderr_ = subprocess.PIPE
+    elif module.stderr_ != subprocess.PIPE:
+        raise ValueError('stderr_ can be only PIPE or None')
+        # because we want to capture it
diff --git a/lib/python/gunittest/checkers.py b/lib/python/gunittest/checkers.py
new file mode 100644
index 0000000..859f53f
--- /dev/null
+++ b/lib/python/gunittest/checkers.py
@@ -0,0 +1,625 @@
+# -*- coding: utf-8 -*-
+"""GRASS Python testing framework checkers
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras, Soeren Gebbert
+"""
+
+import os
+import sys
+import re
+import doctest
+
+try:
+    from grass.script.core import KeyValue
+except (ImportError, AttributeError):
+    # TODO: we are silent about the error and use a object with different
+    # interface, should be replaced by central keyvalue module
+    # this can happen when translations are not available
+    # TODO: grass should survive are give better error when tranlsations are not available
+    # even the lazy loading after firts _ call would be interesting
+    # File "...grass/script/core.py", line 40, in <module>
+    # AttributeError: 'NoneType' object has no attribute 'endswith'
+    KeyValue = dict
+
+# alternative term to check(er(s)) would be compare
+
+
+def unify_projection(dic):
+    """Unifies names of projections.
+
+    Some projections are referred using different names like
+    'Universal Transverse Mercator' and 'Universe Transverse Mercator'.
+    This function replaces synonyms by a unified name.
+
+    Example of common typo in UTM replaced by correct spelling::
+
+        >>> unify_projection({'name': ['Universe Transverse Mercator']})
+        {'name': ['Universal Transverse Mercator']}
+
+    :param dic: The dictionary containing information about projection
+
+    :return: The dictionary with the new values if needed or a copy of old one
+    """
+    # the lookup variable is a list of list, each list contains all the
+    # possible name for a projection system
+    lookup = [['Universal Transverse Mercator',
+               'Universe Transverse Mercator']]
+    dic = dict(dic)
+    for l in lookup:
+        for n in range(len(dic['name'])):
+            if dic['name'][n] in l:
+                dic['name'][n] = l[0]
+    return dic
+
+
+def unify_units(dic):
+    """Unifies names of units.
+
+    Some units have different spelling although they are the same units.
+    This functions replaces different spelling options by unified one.
+
+    Example of British English spelling replaced by US English spelling::
+
+        >>> unify_units({'units': ['metres'], 'unit': ['metre']})
+        {'units': ['meters'], 'unit': ['meter']}
+
+    :param dic: The dictionary containing information about units
+
+    :return: The dictionary with the new values if needed or a copy of old one
+    """
+    # the lookup variable is a list of list, each list contains all the
+    # possible name for a units
+    lookup = [['meter', 'metre'], ['meters', 'metres'],
+              ['Meter', 'Metre'], ['Meters', 'Metres'],
+              ['kilometer', 'kilometre'], ['kilometers', 'kilometres'],
+              ['Kilometer', 'Kilometre'], ['Kilometers', 'Kilometres'],
+              ]
+    dic = dict(dic)
+    for l in lookup:
+        import types
+        if not isinstance(dic['unit'], types.StringTypes):
+            for n in range(len(dic['unit'])):
+                if dic['unit'][n] in l:
+                    dic['unit'][n] = l[0]
+        else:
+            if dic['unit'] in l:
+                dic['unit'] = l[0]
+        if not isinstance(dic['units'], types.StringTypes):
+            for n in range(len(dic['units'])):
+                if dic['units'][n] in l:
+                    dic['units'][n] = l[0]
+        else:
+            if dic['units'] in l:
+                dic['units'] = l[0]
+    return dic
+
+
+def value_from_string(value):
+    """Create value of a most fitting type from a string.
+
+    Type conversions are applied in order ``int``, ``float``, ``string``
+    where string is no conversion.
+
+    >>> value_from_string('1')
+    1
+    >>> value_from_string('5.6')
+    5.6
+    >>> value_from_string('  5.6\t  ')
+    5.6
+    >>> value_from_string('hello')
+    'hello'
+    """
+    not_float = False
+    not_int = False
+    # Convert values into correct types
+    # We first try integer then float because
+    # int('1.0') is ValueError (although int(1.0) is not)
+    # while float('1') is not
+    try:
+        value_converted = int(value)
+    except ValueError:
+        not_int = True
+    if not_int:
+        try:
+            value_converted = float(value)
+        except ValueError:
+            not_float = True
+    # strip strings from whitespace (expecting spaces and tabs)
+    if not_int and not_float:
+        value_converted = value.strip()
+    return value_converted
+
+
+# TODO: what is the default separator?
+def text_to_keyvalue(text, sep=":", val_sep=",", functions=None,
+                     skip_invalid=False, skip_empty=False,
+                     from_string=value_from_string):
+    """Convert test to key-value pairs (dictionary-like KeyValue object).
+
+    Converts a key-value text file, where entries are separated
+    by newlines and the key and value are separated by `sep`,
+    into a key-value dictionary and discovers/uses the correct
+    data types (float, int or string) for values.
+
+    Besides key-value pairs it also parses values itself. Value is created
+    with the best fitting type using `value_from_string()` function by default.
+    When val_sep is present in value part, the resulting value is
+    a list of values.
+
+    :param text: string to convert
+    :param sep: character that separates the keys and values
+    :param val_sep: character that separates the values of a single key
+    :param functions: list of functions to apply on the resulting dictionary
+    :param skip_invalid: skip all lines which does not contain separator
+    :param skip_empty: skip empty lines
+    :param from_string: a function used to convert strings to values,
+        use ``lambda x: x`` for no conversion
+
+    :return: a dictionary representation of text
+    :return type: grass.script.core.KeyValue or dict
+
+    And example of converting text with text, floats, integers and list
+    to a dictionary::
+
+        >>> sorted(text_to_keyvalue('''a: Hello
+        ... b: 1.0
+        ... c: 1,2,3,4,5
+        ... d : hello,8,0.1''').items())  # sorted items from the dictionary
+        [('a', 'Hello'), ('b', 1.0), ('c', [1, 2, 3, 4, 5]), ('d', ['hello', 8, 0.1])]
+
+    .. warning::
+        And empty string is a valid input because empty dictionary is a valid
+        dictionary. You need to test this separately according
+        to the circumstances.
+    """
+    # splitting according to universal newlines approach
+    # TODO: add also general split with vsep
+    text = text.splitlines()
+    kvdict = KeyValue()
+    functions = [] if functions is None else functions
+
+    for line in text:
+        if line.find(sep) >= 0:
+            key, value = line.split(sep, 1)
+            key = key.strip()
+            value = value.strip()
+            # this strip may not be necessary, we strip each item in list
+            # and also if there is only one value
+        else:
+            # lines with no separator (empty or invalid)
+            if not line:
+                if not skip_empty:
+                    # TODO: here should go _ for translation
+                    # TODO: the error message is not really informative
+                    # in case of skipping lines we may get here with no key
+                    msg = ("Empty line in the parsed text.")
+                    if kvdict:
+                        # key is the one from previous line
+                        msg = ("Empty line in the parsed text."
+                               " Previous line's key is <%s>") % key
+                    raise ValueError(msg)
+            else:
+                # line contains something but not separator
+                if not skip_invalid:
+                    # TODO: here should go _ for translation
+                    raise ValueError(("Line <{l}> does not contain"
+                                      " separator <{s}>.").format(l=line, s=sep))
+            # if we get here we are silently ignoring the line
+            # because it is invalid (does not contain key-value separator) or
+            # because it is empty
+            continue
+        if value.find(val_sep) >= 0:
+            # lists
+            values = value.split(val_sep)
+            value_list = []
+            for value in values:
+                value_converted = from_string(value)
+                value_list.append(value_converted)
+            kvdict[key] = value_list
+        else:
+            # single values
+            kvdict[key] = from_string(value)
+    for function in functions:
+        kvdict = function(kvdict)
+    return kvdict
+
+
+# TODO: decide if there should be some default for precision
+# TODO: define standard precisions for DCELL, FCELL, CELL, mm, ft, cm, ...
+# TODO: decide if None is valid, and use some default or no compare
+# TODO: is None a valid value for precision?
+def values_equal(value_a, value_b, precision=0.000001):
+    """
+    >>> values_equal(1.022, 1.02, precision=0.01)
+    True
+    >>> values_equal([1.2, 5.3, 6.8], [1.1, 5.2, 6.9], precision=0.2)
+    True
+    >>> values_equal(7, 5, precision=2)
+    True
+    >>> values_equal(1, 5.9, precision=10)
+    True
+    >>> values_equal('Hello', 'hello')
+    False
+    """
+    # each if body needs to handle only not equal state
+
+    if isinstance(value_a, float) and isinstance(value_b, float):
+        # both values are float
+        # this could be also changed to is None and raise TypeError
+        # in Python 2 None is smaller than anything
+        # in Python 3 None < 3 raises TypeError
+        precision = float(precision)
+        if abs(value_a - value_b) > precision:
+            return False
+
+    elif (isinstance(value_a, float) and isinstance(value_b, int)) or \
+            (isinstance(value_b, float) and isinstance(value_a, int)):
+        # on is float the other is int
+        # don't accept None
+        precision = float(precision)
+        # we will apply precision to int-float comparison
+        # rather than converting both to integer
+        # (as in the original function from grass.script.core)
+        if abs(value_a - value_b) > precision:
+            return False
+
+    elif isinstance(value_a, int) and isinstance(value_b, int) and \
+            precision and int(precision) > 0:
+        # both int but precision applies for them
+        if abs(value_a - value_b) > precision:
+            return False
+
+    elif isinstance(value_a, list) and isinstance(value_b, list):
+        if len(value_a) != len(value_b):
+            return False
+        for i in range(len(value_a)):
+            # apply this function for comparison of items in the list
+            if not values_equal(value_a[i], value_b[i], precision):
+                return False
+    else:
+        if value_a != value_b:
+            return False
+    return True
+
+
+def keyvalue_equals(dict_a, dict_b, precision,
+                    def_equal=values_equal, key_equal=None,
+                    a_is_subset=False):
+    """Compare two dictionaries.
+
+    .. note::
+        Always use keyword arguments for all parameters with defaults.
+        It is a good idea to use keyword arguments also for the first
+        two parameters.
+
+    An example of key-value texts comparison::
+
+        >>> keyvalue_equals(text_to_keyvalue('''a: Hello
+        ... b: 1.0
+        ... c: 1,2,3,4,5
+        ... d: hello,8,0.1'''),
+        ... text_to_keyvalue('''a: Hello
+        ... b: 1.1
+        ... c: 1,22,3,4,5
+        ... d: hello,8,0.1'''), precision=0.1)
+        False
+
+    :param dict_a: first dictionary
+    :param dict_b: second dictionary
+    :param precision: precision with which the floating point values
+        are compared (passed to equality functions)
+    :param callable def_equal: function used for comparison by default
+    :param dict key_equal: dictionary of functions used for comparison
+        of specific keys, `def_equal` is used for the rest,
+        keys in dictionary are keys in `dict_a` and `dict_b` dictionaries,
+        values are the fuctions used to comapare the given key
+    :param a_is_subset: `True` if `dict_a` is a subset of `dict_b`,
+        `False` otherwise
+
+    :return: `True` if identical, `False` if different
+
+    Use `diff_keyvalue()` to get information about differeces.
+    You can use this function to find out if there is a difference and then
+    use `diff_keyvalue()` to determine all the differences between
+    dictionaries.
+    """
+    key_equal = {} if key_equal is None else key_equal
+
+    if not a_is_subset and sorted(dict_a.keys()) != sorted(dict_b.keys()):
+        return False
+    b_keys = dict_b.keys() if a_is_subset else None
+
+    # iterate over subset or just any if not a_is_subset
+    # check for missing keys in superset
+    # compare matching keys
+    for key in dict_a.keys():
+        if a_is_subset and key not in b_keys:
+            return False
+        equal_fun = key_equal.get(key, def_equal)
+        if not equal_fun(dict_a[key], dict_b[key], precision):
+            return False
+    return True
+
+
+# TODO: should the return depend on the a_is_subset parameter?
+# this function must have the same interface and behavior as keyvalue_equals
+def diff_keyvalue(dict_a, dict_b, precision,
+                  def_equal=values_equal, key_equal=None,
+                  a_is_subset=False):
+    """Determine the difference of two dictionaries.
+
+    The function returns missing keys and different values for common keys::
+
+        >>> a = {'c': 2, 'b': 3, 'a': 4}
+        >>> b = {'c': 1, 'b': 3, 'd': 5}
+        >>> diff_keyvalue(a, b, precision=0)
+        (['d'], ['a'], [('c', 2, 1)])
+
+    You can provide only a subset of values in dict_a, in this case
+    first item in tuple is an emptu list::
+
+        >>> diff_keyvalue(a, b, a_is_subset=True, precision=0)
+        ([], ['a'], [('c', 2, 1)])
+
+    This function behaves the same as `keyvalue_equals()`.
+
+    :returns: A tuple of lists, fist is list of missing keys in dict_a,
+        second missing keys in dict_b and third is a list of mismatched
+        values as tuples (key, value_from_a, value_from_b)
+    :rtype: (list, list, list)
+
+    Comparing to the Python ``difflib`` package this function does not create
+    any difference output. It just returns the dictionaries.
+    Comparing to the Python ``unittest`` ``assertDictEqual()``,
+    this function does not issues error or exception, it just determines
+    what it the difference.
+    """
+    key_equal = {} if key_equal is None else key_equal
+
+    a_keys = dict_a.keys()
+    b_keys = dict_b.keys()
+
+    missing_in_a = []
+    missing_in_b = []
+    mismatched = []
+
+    if not a_is_subset:
+        for key in b_keys:
+            if key not in a_keys:
+                missing_in_a.append(key)
+
+    # iterate over a, so we know that it is in a
+    for key in a_keys:
+        # check if it is in b
+        if key not in b_keys:
+            missing_in_b.append(key)
+        else:
+            equal_fun = key_equal.get(key, def_equal)
+            if not equal_fun(dict_a[key], dict_b[key], precision):
+                mismatched.append((key, dict_a[key], dict_b[key]))
+
+    return sorted(missing_in_a), sorted(missing_in_b), sorted(mismatched)
+
+
+def proj_info_equals(text_a, text_b):
+    """Test if two PROJ_INFO texts are equal."""
+    def compare_sums(list_a, list_b, precision):
+        """Compare difference of sums of two list using precision"""
+        # derived from the code in grass.script.core
+        if abs(sum(list_a) - sum(list_b)) > precision:
+            return False
+    sep = ':'
+    val_sep = ','
+    key_equal = {'+towgs84': compare_sums}
+    dict_a = text_to_keyvalue(text_a, sep=sep, val_sep=val_sep,
+                              functions=[unify_projection])
+    dict_b = text_to_keyvalue(text_b, sep=sep, val_sep=val_sep,
+                              functions=[unify_projection])
+    return keyvalue_equals(dict_a, dict_b,
+                            precision=0.000001,
+                            def_equal=values_equal,
+                            key_equal=key_equal)
+
+
+def proj_units_equals(text_a, text_b):
+    """Test if two PROJ_UNITS texts are equal."""
+    def lowercase_equals(string_a, string_b, precision=None):
+        # we don't need a waring for unused precision
+        # pylint: disable=W0613
+        """Test equality of two strings ignoring their case using ``lower()``.
+
+        Precision is accepted as require by `keyvalue_equals()` but ignored.
+        """
+        return string_a.lower() == string_b.lower()
+    sep = ':'
+    val_sep = ','
+    key_equal = {'unit': lowercase_equals, 'units': lowercase_equals}
+    dict_a = text_to_keyvalue(text_a, sep=sep, val_sep=val_sep,
+                              functions=[unify_units])
+    dict_b = text_to_keyvalue(text_b, sep, val_sep,
+                              functions=[unify_units])
+    return keyvalue_equals(dict_a, dict_b,
+                            precision=0.000001,
+                            def_equal=values_equal,
+                            key_equal=key_equal)
+
+
+# TODO: support also float (with E, e, inf, nan, ...?) and int (###, ##.)
+# http://hg.python.org/cpython/file/943d3e289ab4/Lib/decimal.py#l6098
+# perhaps a separate function?
+# alternative names: looks like, correspond with/to
+# TODO: change checking over lines?
+# TODO: change parameter order?
+# TODO: the behavior with last \n is strange but now using DOTALL and $
+def check_text_ellipsis(reference, actual):
+    r"""
+    >>> check_text_ellipsis("Vector map <...> contains ... points.",
+    ...                     "Vector map <bridges> contains 5268 points.")
+    True
+    >>> check_text_ellipsis("user: ...\\nname: elevation",
+    ...                     "user: some_user\\nname: elevation")
+    True
+    >>> check_text_ellipsis("user: ...\\nname: elevation",
+    ...                     "user: \\nname: elevation")
+    False
+
+    The ellipsis is always considered even if it is followed by another
+    dots. Consequently, a dot at the end of the sentence with preceding
+    ellipsis will work as well as a line filled with undefined number of dots.
+
+    >>> check_text_ellipsis("The result is ....",
+    ...                     "The result is 25.")
+    True
+    >>> check_text_ellipsis("max ..... ...",
+    ...                     "max ....... 6")
+    True
+
+    However, there is no way how to express that the dot should be in the
+    beginning and the ellipsis is at the end of the group of dots.
+
+    >>> check_text_ellipsis("The result is ....",
+    ...                     "The result is .25")
+    False
+
+    The matching goes over lines (TODO: should this be changed?):
+    >>> check_text_ellipsis("a=11\nb=...", "a=11\nb=22\n")
+    True
+
+    This function is based on regular expression containing .+ but no other
+    regular expression matching will be done.
+
+    >>> check_text_ellipsis("Result: [569] (...)",
+    ...                     "Result: 9 (too high)")
+    False
+    """
+    ref_escaped = re.escape(reference)
+    exp = re.compile(r'\\\.\\\.\\\.')  # matching escaped ...
+    ref_regexp = exp.sub('.+', ref_escaped) + "$"
+    if re.match(ref_regexp, actual, re.DOTALL):
+        return True
+    else:
+        return False
+
+
+def check_text_ellipsis_doctest(reference, actual):
+    """
+    >>> check_text_ellipsis_doctest("user: ...\\nname: elevation",
+    ...                     "user: some_user\\nname: elevation")
+    True
+    >>> check_text_ellipsis_doctest("user: ...\\nname: elevation",
+    ...                     "user: \\nname: elevation")
+    True
+
+    This function is using doctest's function to check the result, so we
+    will discuss here how the underlying function behaves.
+
+    >>> checker = doctest.OutputChecker()
+    >>> checker.check_output("user: some_user\\nname: elevation",
+    ...                      "user: some_user\\nname: elevation",
+    ...                      optionflags=None)
+    True
+    >>> checker.check_output("user: user1\\nname: elevation",
+    ...                      "user: some_user\\nname: elevation",
+    ...                      optionflags=doctest.ELLIPSIS)
+    False
+    >>> checker.check_output("user: ...\\nname: elevation",
+    ...                      "user: some_user\\nname: elevation",
+    ...                      optionflags=doctest.ELLIPSIS)
+    True
+
+    The ellipsis matches also an empty string, so the following matches:
+
+    >>> checker.check_output("user: ...\\nname: elevation",
+    ...                      "user: \\nname: elevation",
+    ...                      optionflags=doctest.ELLIPSIS)
+    True
+
+    It is robust concerning misspelled matching string but does not allow
+    ellipsis followed by a dot, e.g. at the end of the sentence:
+
+    >>> checker.check_output("user: ....\\nname: elevation",
+    ...                      "user: some_user\\nname: elevation",
+    ...                      optionflags=doctest.ELLIPSIS)
+    False
+    """
+    # this can be also global
+    checker = doctest.OutputChecker()
+    return checker.check_output(reference, actual,
+                                optionflags=doctest.ELLIPSIS)
+
+
+import hashlib
+
+# optimal size depends on file system and maybe on hasher.block_size
+_BUFFER_SIZE = 2**16
+
+
+# TODO: accept also open file object
+def file_md5(filename):
+    """Get MD5 (check) sum of a file."""
+    hasher = hashlib.md5()
+    with open(filename, 'rb') as f:
+        buf = f.read(_BUFFER_SIZE)
+        while len(buf) > 0:
+            hasher.update(buf)
+            buf = f.read(_BUFFER_SIZE)
+    return hasher.hexdigest()
+
+
+def text_file_md5(filename, exclude_lines=None, exclude_re=None,
+                  prepend_lines=None, append_lines=None):
+    """Get a MD5 (check) sum of a text file.
+
+    Works in the same way as `file_md5()` function but ignores newlines
+    characters and excludes lines from the file as well as prepend or
+    append them if requested.
+
+    :param exclude_lines: list of strings to be excluded
+        (newline characters should not be part of the strings)
+    :param exclude_re: regular expression string;
+        lines matching this regular expression will not be considered
+    :param prepend_lines: list of lines to be prepended to the file
+        before computing the sum
+    :param append_lines: list of lines  to be appended to the file
+        before computing the sum
+    """
+    hasher = hashlib.md5()
+    if exclude_re:
+        regexp = re.compile(exclude_re)
+    if prepend_lines:
+        for line in prepend_lines:
+            hasher.update(line)
+    with open(filename, 'r') as f:
+        for line in f:
+            # replace platform newlines by standard newline
+            if os.linesep != '\n':
+                line = line.rstrip(os.linesep) + '\n'
+            if exclude_lines and line in exclude_lines:
+                continue
+            if exclude_re and regexp.match(line):
+                continue
+            hasher.update(line)
+    if append_lines:
+        for line in append_lines:
+            hasher.update(line)
+    return hasher.hexdigest()
+
+
+def files_equal_md5(filename_a, filename_b):
+    """Check equality of two files according to their MD5 sums"""
+    return file_md5(filename_a) == file_md5(filename_b)
+
+
+def main():  # pragma: no cover
+    """Run the doctest"""
+    ret = doctest.testmod()
+    return ret.failed
+
+
+if __name__ == '__main__':  # pragma: no cover
+    sys.exit(main())
diff --git a/lib/python/gunittest/gmodules.py b/lib/python/gunittest/gmodules.py
new file mode 100644
index 0000000..dc2d759
--- /dev/null
+++ b/lib/python/gunittest/gmodules.py
@@ -0,0 +1,132 @@
+# -*- coding: utf-8 -*-
+"""Specialized interfaces for invoking modules for testing framework
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras, Soeren Gebbert
+"""
+
+import subprocess
+from grass.script.core import start_command
+from grass.exceptions import CalledModuleError
+from grass.pygrass.modules import Module
+
+from .utils import do_doctest_gettext_workaround
+
+
+class SimpleModule(Module):
+    """Simple wrapper around pygrass.modules.Module to make sure that
+    run\_, finish\_, stdout and stderr are set correctly.
+
+    >>> mapcalc = SimpleModule('r.mapcalc', expression='test_a = 1',
+    ...                        overwrite=True)
+    >>> mapcalc.run()
+    Module('r.mapcalc')
+    >>> mapcalc.popen.returncode
+    0
+
+    >>> colors = SimpleModule('r.colors',
+    ...                       map='test_a', rules='-', stdin_='1 red')
+    >>> colors.run()
+    Module('r.colors')
+    >>> colors.popen.returncode
+    0
+    >>> str(colors.inputs.stdin)
+    '1 red'
+    >>> str(colors.outputs.stdout)
+    ''
+    >>> colors.outputs.stderr.strip()
+    "Color table for raster map <test_a> set to 'rules'"
+    """
+    def __init__(self, cmd, *args, **kargs):
+        for banned in ['stdout_', 'stderr_', 'finish_', 'run_']:
+            if banned in kargs:
+                raise ValueError('Do not set %s parameter'
+                                 ', it would be overriden' % banned)
+        kargs['stdout_'] = subprocess.PIPE
+        kargs['stderr_'] = subprocess.PIPE
+        kargs['finish_'] = True
+        kargs['run_'] = False
+
+        Module.__init__(self, cmd, *args, **kargs)
+
+
+def call_module(module, stdin=None,
+                merge_stderr=False, capture_stdout=True, capture_stderr=True,
+                **kwargs):
+    r"""Run module with parameters given in `kwargs` and return its output.
+
+    >>> print call_module('g.region', flags='pg')  # doctest: +ELLIPSIS
+    projection=...
+    zone=...
+    n=...
+    s=...
+    w=...
+    >>> call_module('m.proj', flags='i', input='-', stdin="50.0 41.5")
+    '8642890.65|6965155.61|0.00\n'
+    >>> call_module('g.region', aabbbccc='notexist')  # doctest: +IGNORE_EXCEPTION_DETAIL
+    Traceback (most recent call last):
+        ...
+    CalledModuleError: Module run g.region ... ended with error
+
+    If `stdin` is not set and `kwargs` contains ``input`` with value set
+    to ``-`` (dash), the function raises an error.
+
+    Note that ``input`` nor ``output`` parameters are used by this
+    function itself, these are usually module parameters which this
+    function just passes to it. However, when ``input`` is in parameters
+    the function checks if its values is correct considering value of
+    ``stdin`` parameter.
+
+    :param str module: module name
+    :param stdin: string to be used as module standard input (stdin) or `None`
+    :param merge_stderr: if the standard error output should be merged with stdout
+    :param kwargs: module parameters
+
+    :returns: module standard output (stdout) as string or None if apture_stdout is False
+
+    :raises CalledModuleError: if module return code is non-zero
+    :raises ValueError: if the parameters are not correct
+
+    .. note::
+        The data read is buffered in memory, so do not use this method
+        if the data size is large or unlimited.
+    """
+    # TODO: remove this:
+    do_doctest_gettext_workaround()
+    # implemenation inspired by subprocess.check_output() function
+    if stdin:
+        if 'input' in kwargs and kwargs['input'] != '-':
+            raise ValueError(_("input='-' must be used when stdin is specified"))
+        if stdin == subprocess.PIPE:
+            raise ValueError(_("stdin must be string or buffer, not PIPE"))
+        kwargs['stdin'] = subprocess.PIPE  # to be able to send data to stdin
+    elif 'input' in kwargs and kwargs['input'] == '-':
+        raise ValueError(_("stdin must be used when input='-'"))
+    if merge_stderr and not (capture_stdout and capture_stderr):
+        raise ValueError(_("You cannot merge stdout and stderr and not capture them"))
+    if 'stdout' in kwargs:
+        raise TypeError(_("stdout argument not allowed, it could be overridden"))
+    if 'stderr' in kwargs:
+        raise TypeError(_("stderr argument not allowed, it could be overridden"))
+
+    if capture_stdout:
+        kwargs['stdout'] = subprocess.PIPE
+    if capture_stderr:
+        if merge_stderr:
+            kwargs['stderr'] = subprocess.STDOUT
+        else:
+            kwargs['stderr'] = subprocess.PIPE
+    process = start_command(module, **kwargs)
+    # input=None means no stdin (our default)
+    # for no stdout, output is None which is out interface
+    # for stderr=STDOUT or no stderr, errors is None
+    # which is fine for CalledModuleError
+    output, errors = process.communicate(input=stdin)
+    returncode = process.poll()
+    if returncode:
+        raise CalledModuleError(returncode, module, kwargs, errors)
+    return output
diff --git a/lib/python/gunittest/gutils.py b/lib/python/gunittest/gutils.py
new file mode 100644
index 0000000..9c3dce0
--- /dev/null
+++ b/lib/python/gunittest/gutils.py
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+"""Utilities related to GRASS GIS for GRASS Python testing framework
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+
+from grass.script.core import start_command, PIPE
+
+from .gmodules import call_module
+from .checkers import text_to_keyvalue
+
+
+def get_current_mapset():
+    """Get curret mapset name as a string"""
+    return call_module('g.mapset', flags='p').strip()
+
+def is_map_in_mapset(name, type, mapset=None):
+    """Check is map is present in the mapset (current mapset by default)
+
+    This function is different from what we would expect in GRASS
+    because it cares only about specific mapset, the current one by default,
+    and it does not care that the map is accessible in other mapset.
+
+    :param name: name of the map
+    :param type: data type ('raster', 'raster3d', and 'vector') 
+    """
+    if not mapset:
+        mapset = get_current_mapset()
+
+    # change type to element used by find file
+    # otherwise, we are not checking the input,
+    # so anything accepted by g.findfile will work but this can change in the
+    # future (the documentation is clear about what's legal)
+    # supporting both short and full names
+    if type == 'rast' or  type == 'raster':
+        type = 'cell'
+    elif type == 'rast3d' or type == 'raster3d':
+        type = 'grid3'
+    elif type == 'vect':
+        type = 'vector'
+    # g.findfile returns non-zero when file was not found
+    # se we ignore return code and just focus on stdout
+    process = start_command('g.findfile', flags='n',
+                            element=type, file=name, mapset=mapset,
+                            stdout=PIPE, stderr=PIPE)
+    output, errors = process.communicate()
+    info = text_to_keyvalue(output, sep='=')
+    # file is the key questioned in grass.script.core find_file()
+    # return code should be equivalent to checking the output
+    if info['file']:
+        return True
+    else:
+        return False
diff --git a/lib/python/gunittest/invoker.py b/lib/python/gunittest/invoker.py
new file mode 100644
index 0000000..7fbdea4
--- /dev/null
+++ b/lib/python/gunittest/invoker.py
@@ -0,0 +1,257 @@
+# -*- coding: utf-8 -*-
+"""GRASS Python testing framework test files invoker (runner)
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+
+import os
+import sys
+import shutil
+import subprocess
+
+from .checkers import text_to_keyvalue
+
+from .loader import GrassTestLoader, discover_modules
+from .reporters import (GrassTestFilesMultiReporter,
+                        GrassTestFilesTextReporter, GrassTestFilesHtmlReporter,
+                        TestsuiteDirReporter, GrassTestFilesKeyValueReporter,
+                        get_svn_path_authors,
+                        NoopFileAnonymizer, keyvalue_to_text)
+from .utils import silent_rmtree, ensure_dir
+
+try:
+    from string import maketrans
+except ImportError:
+    maketrans = str.maketrans
+
+# needed for write_gisrc
+# TODO: it would be good to find some way of writing rc without the need to
+# have GRASS proprly set (anything from grass.script requires translations to
+# be set, i.e. the GRASS environment properly set)
+import grass.script.setup as gsetup
+
+import collections
+
+
+# TODO: this might be more extend then update
+def update_keyval_file(filename, module, returncode):
+    if os.path.exists(filename):
+        with open(filename, 'r') as keyval_file:
+            keyval = text_to_keyvalue(keyval_file.read(), sep='=')
+    else:
+        keyval = {}
+
+    # this is for one file
+    test_file_authors = get_svn_path_authors(module.abs_file_path)
+    # in case that SVN is not available use empty authors
+    if test_file_authors is None:
+        test_file_authors = ''
+
+    # always owerwrite name and status
+    keyval['name'] = module.name
+    keyval['tested_dir'] = module.tested_dir
+    if 'status' not in keyval.keys():
+        keyval['status'] = 'failed' if returncode else 'passed'
+    keyval['returncode'] = returncode
+    keyval['test_file_authors'] = test_file_authors
+
+    with open(filename, 'w') as keyval_file:
+        keyval_file.write(keyvalue_to_text(keyval))
+    return keyval
+
+
+class GrassTestFilesInvoker(object):
+    """A class used to invoke test files and create the main report"""
+
+    # TODO: it is not clear what clean_outputs mean, if should be split
+    # std stream, random outputs, saved results, profiling
+    # not stdout and stderr if they contain test results
+    # we can also save only failed tests, or generate only if assert fails
+    def __init__(self, start_dir,
+                 clean_mapsets=True, clean_outputs=True, clean_before=True,
+                 testsuite_dir='testsuite', file_anonymizer=None):
+        """
+
+        :param bool clean_mapsets: if the mapsets should be removed
+        :param bool clean_outputs: meaning is unclear: random tests outputs,
+            saved images from maps, profiling?
+        :param bool clean_before: if mapsets, outputs, and results
+            should be removed before the tests start
+            (advantageous when the previous run left everything behind)
+        """
+        self.start_dir = start_dir
+        self.clean_mapsets = clean_mapsets
+        self.clean_outputs = clean_outputs
+        self.clean_before = clean_before
+        self.testsuite_dir = testsuite_dir  # TODO: solve distribution of this constant
+        # reporter is created for each call of run_in_location()
+        self.reporter = None
+
+        self.testsuite_dirs = None
+        if file_anonymizer is None:
+            self._file_anonymizer = NoopFileAnonymizer()
+        else:
+            self._file_anonymizer = file_anonymizer
+
+    def _create_mapset(self, gisdbase, location, module):
+        """Create mapset according to information in module.
+
+        :param loader.GrassTestPythonModule module:
+        """
+        # using path.sep but also / and \ for cases when it is confused
+        # (namely the case of Unix path on MS Windows)
+        # replace . to get rid of unclean path
+        # TODO: clean paths
+        # note that backslash cannot be at the end of raw string
+        dir_as_name = module.tested_dir.translate(maketrans(r'/\.', '___'))
+        mapset = dir_as_name + '_' + module.name
+        # TODO: use grass module to do this? but we are not in the right gisdbase
+        mapset_dir = os.path.join(gisdbase, location, mapset)
+        if self.clean_before:
+            silent_rmtree(mapset_dir)
+        os.mkdir(mapset_dir)
+        # TODO: default region in mapset will be what?
+        # copy WIND file from PERMANENT
+        # TODO: this should be a function in grass.script (used also in gis_set.py, PyGRASS also has its way with Mapset)
+        # TODO: are premisions an issue here?
+        shutil.copy(os.path.join(gisdbase, location, 'PERMANENT', 'WIND'),
+                    os.path.join(mapset_dir))
+        return mapset, mapset_dir
+
+    def _run_test_module(self, module, results_dir, gisdbase, location):
+        """Run one test file."""
+        self.testsuite_dirs[module.tested_dir].append(module.name)
+        cwd = os.path.join(results_dir, module.tested_dir, module.name)
+        data_dir = os.path.join(module.file_dir, 'data')
+        if os.path.exists(data_dir):
+            # TODO: link dir instead of copy tree and remove link afterwads
+            # (removing is good because of testsuite dir in samplecode)
+            # TODO: use different dir name in samplecode and test if it works
+            shutil.copytree(data_dir, os.path.join(cwd, 'data'),
+                            ignore=shutil.ignore_patterns('*.svn*'))
+        ensure_dir(os.path.abspath(cwd))
+        # TODO: put this to constructor and copy here again
+        env = os.environ.copy()
+        mapset, mapset_dir = self._create_mapset(gisdbase, location, module)
+        gisrc = gsetup.write_gisrc(gisdbase, location, mapset)
+
+        # here is special setting of environmental variables for running tests
+        # some of them might be set from outside in the future and if the list
+        # will be long they should be stored somewhere separately
+
+        # use custom gisrc, not current session gisrc
+        env['GISRC'] = gisrc
+        # percentage in plain format is 0...10...20... ...100
+        env['GRASS_MESSAGE_FORMAT'] = 'plain'
+
+        stdout_path = os.path.join(cwd, 'stdout.txt')
+        stderr_path = os.path.join(cwd, 'stderr.txt')
+        stdout = open(stdout_path, 'w')
+        stderr = open(stderr_path, 'w')
+
+        self.reporter.start_file_test(module)
+        # TODO: we might clean the directory here before test if non-empty
+
+        if module.file_type == 'py':
+            # ignoring shebang line to use current Python
+            # and also pass parameters to it
+            # add also '-Qwarn'?
+            p = subprocess.Popen([sys.executable, '-tt', '-3',
+                                  module.abs_file_path],
+                                 cwd=cwd, env=env,
+                                 stdout=stdout, stderr=stderr)
+        elif module.file_type == 'sh':
+            # ignoring shebang line to pass parameters to shell
+            # expecting system to have sh or something compatible
+            # TODO: add some special checks for MS Windows
+            # using -x to see commands in stderr
+            # using -e to terminate fast
+            # from dash manual:
+            # -e errexit     If not interactive, exit immediately if any
+            #                untested command fails.  The exit status of a com‐
+            #                mand is considered to be explicitly tested if the
+            #                command is used to control an if, elif, while, or
+            #                until; or if the command is the left hand operand
+            #                of an '&&' or '||' operator.
+            p = subprocess.Popen(['sh', '-e', '-x', module.abs_file_path],
+                                 cwd=cwd, env=env,
+                                 stdout=stdout, stderr=stderr)
+        else:
+            p = subprocess.Popen([module.abs_file_path],
+                                 cwd=cwd, env=env,
+                                 stdout=stdout, stderr=stderr)
+        returncode = p.wait()
+        stdout.close()
+        stderr.close()
+        self._file_anonymizer.anonymize([stdout_path, stderr_path])
+
+        test_summary = update_keyval_file(
+            os.path.join(os.path.abspath(cwd), 'test_keyvalue_result.txt'),
+            module=module, returncode=returncode)
+        self.reporter.end_file_test(module=module, cwd=cwd,
+                                    returncode=returncode,
+                                    stdout=stdout_path, stderr=stderr_path,
+                                    test_summary=test_summary)
+        # TODO: add some try-except or with for better error handling
+        os.remove(gisrc)
+        # TODO: only if clean up
+        if self.clean_mapsets:
+            shutil.rmtree(mapset_dir)
+
+    def run_in_location(self, gisdbase, location, location_type,
+                        results_dir):
+        """Run tests in a given location"""
+        if os.path.abspath(results_dir) == os.path.abspath(self.start_dir):
+            raise RuntimeError("Results root directory should not be the same"
+                               " as discovery start directory")
+        self.reporter = GrassTestFilesMultiReporter(
+            reporters=[
+                GrassTestFilesTextReporter(stream=sys.stderr),
+                GrassTestFilesHtmlReporter(
+                    file_anonymizer=self._file_anonymizer,
+                    main_page_name='testfiles.html'),
+                GrassTestFilesKeyValueReporter(
+                    info=dict(location=location, location_type=location_type))
+            ])
+        self.testsuite_dirs = collections.defaultdict(list)  # reset list of dirs each time
+        # TODO: move constants out of loader class or even module
+        modules = discover_modules(start_dir=self.start_dir,
+                                   grass_location=location_type,
+                                   file_regexp=r'.*\.(py|sh)$',
+                                   skip_dirs=GrassTestLoader.skip_dirs,
+                                   testsuite_dir=GrassTestLoader.testsuite_dir,
+                                   all_locations_value=GrassTestLoader.all_tests_value,
+                                   universal_location_value=GrassTestLoader.universal_tests_value,
+                                   import_modules=False)
+
+        self.reporter.start(results_dir)
+        for module in modules:
+            self._run_test_module(module=module, results_dir=results_dir,
+                                  gisdbase=gisdbase, location=location)
+        self.reporter.finish()
+
+        # TODO: move this to some (new?) reporter
+        # TODO: add basic summary of linked files so that the page is not empty
+        with open(os.path.join(results_dir, 'index.html'), 'w') as main_index:
+            main_index.write(
+                '<html><body>'
+                '<h1>Tests for <{location}>'
+                ' using <{type}> type tests</h1>'
+                '<ul>'
+                '<li><a href="testsuites.html">Results by testsuites</a>'
+                ' (testsuite directories)</li>'
+                '<li><a href="testfiles.html">Results by test files</a></li>'
+                '<ul>'
+                '</body></html>'
+                .format(location=location, type=location_type))
+
+        testsuite_dir_reporter = TestsuiteDirReporter(
+            main_page_name='testsuites.html', testsuite_page_name='index.html',
+            top_level_testsuite_page_name='testsuite_index.html')
+        testsuite_dir_reporter.report_for_dirs(root=results_dir,
+                                               directories=self.testsuite_dirs)
diff --git a/lib/python/gunittest/loader.py b/lib/python/gunittest/loader.py
new file mode 100644
index 0000000..ad0dbdc
--- /dev/null
+++ b/lib/python/gunittest/loader.py
@@ -0,0 +1,175 @@
+# -*- coding: utf-8 -*-
+"""GRASS Python testing framework test loading functionality
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+
+import os
+import fnmatch
+import unittest
+import collections
+import re
+
+
+# TODO: resolve test file versus test module
+GrassTestPythonModule = collections.namedtuple('GrassTestPythonModule',
+                                               ['name', 'module',
+                                                'file_type',
+                                                'tested_dir',
+                                                'file_dir',
+                                                'abs_file_path'])
+
+
+# TODO: implement loading without the import
+def discover_modules(start_dir, skip_dirs, testsuite_dir,
+                     grass_location,
+                     all_locations_value, universal_location_value,
+                     import_modules, add_failed_imports=True,
+                     file_pattern=None, file_regexp=None):
+    """Find all test files (modules) in a directory tree.
+
+    The function is designed specifically for GRASS testing framework
+    test layout. It expects some directories to have a "testsuite"
+    directory where test files (test modules) are present.
+    Additionally, it also handles loading of test files which specify
+    in which location they can run.
+
+    :param start_dir: directory to start the search
+    :param file_pattern: pattern of files in a test suite directory
+        (using Unix shell-style wildcards)
+    :param skip_dirs: directories not to recurse to (e.g. ``.svn``)
+    :param testsuite_dir: name of directory where the test files are found,
+        the function will not recurse to this directory
+    :param grass_location: string with an accepted location type (category, shortcut)
+    :param all_locations_value: string used to say that all locations
+        should be loaded (grass_location can be set to this value)
+    :param universal_location_value: string marking a test as
+        location-independent (same as not providing any)
+    :param import_modules: True if files should be imported as modules,
+        False if the files should be just searched for the needed values
+
+    :returns: a list of GrassTestPythonModule objects
+
+    .. todo::
+        Implement import_modules.
+    """
+    modules = []
+    for root, dirs, files in os.walk(start_dir):
+        for dir_pattern in skip_dirs:
+            to_skip = fnmatch.filter(dirs, dir_pattern)
+            for skip in to_skip:
+                dirs.remove(skip)
+
+        if testsuite_dir in dirs:
+            dirs.remove(testsuite_dir)  # do not recurse to testsuite
+            full = os.path.join(root, testsuite_dir)
+            
+            all_files = os.listdir(full)
+            if file_pattern:
+                files = fnmatch.filter(all_files, file_pattern)
+            if file_regexp:
+                files = [f for f in all_files if re.match(file_regexp, f)]
+            # get test/module name without .py
+            # extecting all files to end with .py
+            # this will not work for invoking bat files but it works fine
+            # as long as we handle only Python files (and using Python
+            # interpreter for invoking)
+
+            # TODO: warning about no tests in a testsuite
+            # (in what way?)
+            for file_name in files:
+                # TODO: add also import if requested
+                # (see older versions of this file)
+                # TODO: check if there is some main in .py
+                # otherwise we can have successful test just because
+                # everything was loaded into Python
+                # TODO: check if there is set -e or exit !0 or ?
+                # otherwise we can have successful because nothing was reported
+                abspath = os.path.abspath(full)
+                abs_file_path = os.path.join(abspath, file_name)
+                if file_name.endswith('.py'):
+                    if file_name == '__init__.py':
+                        # we always ignore __init__.py
+                        continue
+                    file_type = 'py'
+                    name = file_name[:-3]
+                elif file_name.endswith('.sh'):
+                    file_type = 'sh'
+                    name = file_name[:-3]
+                else:
+                    file_type = None  # alternative would be '', now equivalent
+                    name = file_name
+
+                add = False
+                try:
+                    if grass_location == all_locations_value:
+                        add = True
+                    else:
+                        try:
+                            locations = ['nc', 'stdmaps', 'all']
+                        except AttributeError:
+                            add = True  # test is universal
+                        else:
+                            if universal_location_value in locations:
+                                add = True  # cases when it is explicit
+                            if grass_location in locations:
+                                add = True  # standard case with given location
+                            if not locations:
+                                add = True  # count not specified as universal
+                except ImportError as e:
+                    if add_failed_imports:
+                        add = True
+                    else:
+                        raise ImportError('Cannot import module named'
+                                          ' %s in %s (%s)'
+                                          % (name, full, e.message))
+                        # alternative is to create TestClass which will raise
+                        # see unittest.loader
+                if add:
+                    modules.append(GrassTestPythonModule(
+                        name=name, module=None, tested_dir=root, file_dir=full,
+                        abs_file_path=abs_file_path, file_type=file_type))
+                # in else with some verbose we could tell about skiped test
+    return modules
+
+
+# TODO: find out if this is useful for us in some way
+# we are now using only discover_modules directly
+class GrassTestLoader(unittest.TestLoader):
+    """Class handles GRASS-specific loading of test modules."""
+
+    skip_dirs = ['.svn', 'dist.*', 'bin.*', 'OBJ.*']
+    testsuite_dir = 'testsuite'
+    files_in_testsuite = '*.py'
+    all_tests_value = 'all'
+    universal_tests_value = 'universal'
+
+    def __init__(self, grass_location):
+        self.grass_location = grass_location
+
+    # TODO: what is the purpose of top_level_dir, can it be useful?
+    # probably yes, we need to know grass src or dist root
+    # TODO: not using pattern here
+    def discover(self, start_dir, pattern='test*.py', top_level_dir=None):
+        """Load test modules from in GRASS testing framework way."""
+        modules = discover_modules(start_dir=start_dir,
+                                   file_pattern=self.files_in_testsuite,
+                                   skip_dirs=self.skip_dirs,
+                                   testsuite_dir=self.testsuite_dir,
+                                   grass_location=self.grass_location,
+                                   all_locations_value=self.all_tests_value,
+                                   universal_location_value=self.universal_tests_value,
+                                   import_modules=True)
+        tests = []
+        for module in modules:
+            tests.append(self.loadTestsFromModule(module.module))
+        return self.suiteClass(tests)
+
+
+if __name__ == '__main__':
+    GrassTestLoader().discover()
diff --git a/lib/python/gunittest/main.py b/lib/python/gunittest/main.py
new file mode 100644
index 0000000..185d077
--- /dev/null
+++ b/lib/python/gunittest/main.py
@@ -0,0 +1,178 @@
+# -*- coding: utf-8 -*-
+"""GRASS Python testing framework module for running from command line
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+
+import os
+import sys
+import argparse
+
+from unittest.main import TestProgram
+
+
+from .loader import GrassTestLoader
+from .runner import (GrassTestRunner, MultiTestResult,
+                     TextTestResult, KeyValueTestResult)
+from .invoker import GrassTestFilesInvoker
+from .utils import silent_rmtree
+from .reporters import FileAnonymizer
+
+import grass.script.core as gcore
+
+
+class GrassTestProgram(TestProgram):
+    """A class to be used by individual test files (wrapped in the function)"""
+
+    def __init__(self, exit_at_end, grass_location, clean_outputs=True,
+                 unittest_argv=None, module=None,
+                 verbosity=1,
+                 failfast=None, catchbreak=None):
+        """Prepares the tests in GRASS way and then runs the tests.
+
+        :param bool clean_outputs: if outputs in mapset and in ?
+        """
+        self.test = None
+        self.grass_location = grass_location
+        # it is unclear what the exact behavior is in unittest
+        # buffer stdout and stderr during tests
+        buffer_stdout_stderr = False
+
+        grass_loader = GrassTestLoader(grass_location=self.grass_location)
+
+        text_result = TextTestResult(stream=sys.stderr,
+                                     descriptions=True,
+                                     verbosity=verbosity)
+        keyval_file = open('test_keyvalue_result.txt', 'w')
+        keyval_result = KeyValueTestResult(stream=keyval_file)
+        result = MultiTestResult(results=[text_result, keyval_result])
+
+        grass_runner = GrassTestRunner(verbosity=verbosity,
+                                       failfast=failfast,
+                                       buffer=buffer_stdout_stderr,
+                                       result=result)
+        super(GrassTestProgram, self).__init__(module=module,
+                                                   argv=unittest_argv,
+                                                   testLoader=grass_loader,
+                                                   testRunner=grass_runner,
+                                                   exit=exit_at_end,
+                                                   verbosity=verbosity,
+                                                   failfast=failfast,
+                                                   catchbreak=catchbreak,
+                                                   buffer=buffer_stdout_stderr)
+        keyval_file.close()
+
+
+def test():
+    """Run a test of a module.
+    """
+    # TODO: put the link to to the report only if available
+    # TODO: how to disable Python code coverage for module and C tests?
+    # TODO: we probably need to have different test  functions for C, Python modules, and Python code
+    # TODO: combine the results using python -m coverage --help | grep combine
+    # TODO: function to anonymize/beautify file names (in content and actual filenames)
+    # TODO: implement coverage but only when requested by invoker and only if
+    # it makes sense for tests (need to know what is tested)
+    # doing_coverage = False
+    #try:
+    #    import coverage
+    #    doing_coverage = True
+    #    cov = coverage.coverage(omit="*testsuite*")
+    #    cov.start()
+    #except ImportError:
+    #    pass
+        # TODO: add some message somewhere
+
+    # TODO: enable passing omit to exclude also gunittest or nothing
+    program = GrassTestProgram(module='__main__', exit_at_end=False, grass_location='all')
+    # TODO: check if we are in the directory where the test file is
+    # this will ensure that data directory is available when it is requested
+
+    #if doing_coverage:
+    #    cov.stop()
+    #    cov.html_report(directory='testcodecoverage')
+
+    # TODO: is sys.exit the right thing here
+    sys.exit(not program.result.wasSuccessful())
+
+
+def discovery():
+    """Recursively find all tests in testsuite directories and run them
+
+    Everything is imported and runs in this process.
+
+    Runs using::
+        python main.py discovery [start_directory]
+    """
+
+    program = GrassTestProgram(grass_location='nc', exit_at_end=False)
+
+    sys.exit(not program.result.wasSuccessful())
+
+
+# TODO: makefile rule should depend on the whole build
+# TODO: create a full interface (using grass parser or argparse)
+def main():
+    parser = argparse.ArgumentParser(
+    description='Run test files in all testsuite directories starting'
+                ' from the current one'
+                ' (runs on active GRASS session)')
+    parser.add_argument('--location', dest='location', action='store',
+                        help='Name of location where to perform test', required=True)
+    parser.add_argument('--location-type', dest='location_type', action='store',
+                        default='nc',
+                        help='Type of tests which should be run'
+                             ' (tag corresponding to location)')
+    parser.add_argument('--grassdata', dest='gisdbase', action='store',
+                        default=None,
+                        help='GRASS data(base) (GISDBASE) directory'
+                        ' (current GISDBASE by default)')
+    parser.add_argument('--output', dest='output', action='store',
+                        default='testreport',
+                        help='Output directory')
+    args = parser.parse_args()
+    gisdbase = args.gisdbase
+    if gisdbase is None:
+        # here we already rely on being in GRASS session
+        gisdbase = gcore.gisenv()['GISDBASE']
+    location = args.location
+    location_type = args.location_type
+
+    if not gisdbase:
+        sys.stderr.write("GISDBASE (grassdata directory)"
+                         " cannot be empty string\n" % gisdbase)
+        sys.exit(1)
+    if not os.path.exists(gisdbase):
+        sys.stderr.write("GISDBASE (grassdata directory) <%s>"
+                         " does not exist\n" % gisdbase)
+        sys.exit(1)
+    if not os.path.exists(os.path.join(gisdbase, location)):
+        sys.stderr.write("GRASS Location <{loc}>"
+                         " does not exist in GRASS Database <{db}>\n".format(
+                             loc=location, db=gisdbase))
+        sys.exit(1)
+    results_dir = args.output
+    silent_rmtree(results_dir)  # TODO: too brute force?
+
+    start_dir = '.'
+    abs_start_dir = os.path.abspath(start_dir)
+    invoker = GrassTestFilesInvoker(
+        start_dir=start_dir,
+        file_anonymizer=FileAnonymizer(paths_to_remove=[abs_start_dir]))
+    # TODO: remove also results dir from files
+    # as an enhancemnt
+    # we can just iterate over all locations available in database
+    # but the we don't know the right location type (category, label, shortcut)
+    invoker.run_in_location(gisdbase=gisdbase,
+                            location=location,
+                            location_type=location_type,
+                            results_dir=results_dir)
+    return 0
+
+if __name__ == '__main__':
+    sys.exit(main())
diff --git a/lib/python/gunittest/multireport.py b/lib/python/gunittest/multireport.py
new file mode 100644
index 0000000..6b26ca0
--- /dev/null
+++ b/lib/python/gunittest/multireport.py
@@ -0,0 +1,504 @@
+# -*- coding: utf-8 -*-
+"""Testing framework module for multi report
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+
+
+import sys
+import os
+import argparse
+import itertools
+import datetime
+import operator
+from collections import defaultdict, namedtuple
+
+
+# TODO: we should be able to work without matplotlib
+import matplotlib
+matplotlib.use('Agg')
+import matplotlib.pyplot as plt
+from matplotlib.dates import date2num
+
+from grass.gunittest.checkers import text_to_keyvalue
+from grass.gunittest.utils import ensure_dir
+from grass.gunittest.reporters import success_to_html_percent
+
+
+class TestResultSummary(object):
+    def __init__(self):
+        self.timestamp = None
+        self.svn_revision = None
+        self.location = None
+        self.location_type = None
+
+        self.total = None
+        self.successes = None
+        self.failures = None
+        self.errors = None
+
+        self.skipped = []
+        self.expected_failures = []
+        self.unexpected_successes = []
+
+        self.files_total = None
+        self.files_successes = None
+        self.files_failures = None
+
+        self.tested_modules = []
+        self.tested_dirs = []
+        self.test_files_authors = []
+        self.tested_dirs = []
+        self.time = []
+        self.names = []
+
+        self.report = None
+
+
+def plot_percents(x, xticks, xlabels, successes, failures, filename, style):
+    fig = plt.figure()
+    graph = fig.add_subplot(111)
+
+    # Plot the data as a red line with round markers
+    graph.plot(x, successes, color=style.success_color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+    graph.plot(x, failures, color=style.fail_color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+
+    fig.autofmt_xdate()
+    graph.set_xticks(xticks)
+    graph.set_xticklabels(xlabels)
+
+    percents = range(0, 110, 10)
+    graph.set_yticks(percents)
+    graph.set_yticklabels(['%d%%' % p for p in percents])
+
+    fig.savefig(filename)
+
+
+def plot_percent_successful(x, xticks, xlabels, successes, filename, style):
+    fig = plt.figure()
+    graph = fig.add_subplot(111)
+   
+    def median(values):
+        n = len(values)
+        if n == 1:
+            return values[0]
+        sorted_values = sorted(values)
+        if n % 2 == 0:
+            return (sorted_values[n / 2 - 1] + sorted_values[n / 2]) / 2
+        else:
+            return sorted_values[n / 2]
+    
+    # this is useful for debugging or some other stat
+    # cmeans = []
+    # cmedians = []
+    # csum = 0
+    # count = 0
+    # for i, s in enumerate(successes):
+    #     csum += s
+    #     count += 1
+    #     cmeans.append(csum/count)
+    #     cmedians.append(median(successes[:i + 1]))
+
+    smedian = median(successes)
+    smax = max(successes)
+    if successes[-1] < smedian:
+        color = 'r'
+    else:
+        color = 'g'
+    # another possibility is to color according to the gradient, ideally
+    # on the whole curve but that's much more complicated
+
+    graph.plot(x, successes, color=color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+
+    # rotates the xlables
+    fig.autofmt_xdate()
+    graph.set_xticks(xticks)
+    graph.set_xticklabels(xlabels)
+
+    step = 5
+    ymin = int(min(successes) / step) * step
+    ymax =  int(smax / step) * step
+    percents = range(ymin, ymax + step + 1, step)
+    graph.set_yticks(percents)
+    graph.set_yticklabels(['%d%%' % p for p in percents])
+
+    fig.savefig(filename)
+
+
+def tests_successful_plot(x, xticks, xlabels, results, filename, style):
+    successes = []
+    for result in results:
+        if result.total:
+            successes.append(float(result.successes) / result.total * 100)
+        else:
+            # this is not expected to happen
+            # but we don't want any exceptions if it happens
+            successes.append(0)
+
+    plot_percent_successful(x=x, xticks=xticks, xlabels=xlabels,
+                            successes=successes,
+                            filename=filename, style=style)
+
+
+def tests_plot(x, xticks, xlabels, results, filename, style):
+
+    total = [result.total for result in results]
+    successes = [result.successes for result in results]
+    # TODO: document: counting errors and failures together
+    failures = [result.failures + result.errors for result in results]
+
+    fig = plt.figure()
+
+    graph = fig.add_subplot(111)
+
+    graph.plot(x, total, color=style.total_color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+    graph.plot(x, successes, color=style.success_color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+    graph.plot(x, failures, color=style.fail_color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+
+    fig.autofmt_xdate()
+    graph.set_xticks(xticks)
+    graph.set_xticklabels(xlabels)
+
+    fig.savefig(filename)
+
+def tests_percent_plot(x, xticks, xlabels, results, filename, style):
+    successes = []
+    failures = []
+    for result in results:
+        if result.total:
+            successes.append(float(result.successes) / result.total * 100)
+            # TODO: again undocumented, counting errors and failures together
+            failures.append(float(result.failures + result.errors) / result.total * 100)
+        else:
+            # this is not expected to happen
+            # but we don't want any exceptions if it happens
+            successes.append(0)
+            failures.append(0)
+
+    plot_percents(x=x, xticks=xticks, xlabels=xlabels,
+                  successes=successes, failures=failures,
+                  filename=filename, style=style)
+
+
+def files_successful_plot(x, xticks, xlabels, results, filename, style):
+    successes = []
+    for result in results:
+        if result.total:
+            successes.append(float(result.files_successes) / result.files_total * 100)
+        else:
+            # this is not expected to happen
+            # but we don't want any exceptions if it happens
+            successes.append(0)
+
+    plot_percent_successful(x=x, xticks=xticks, xlabels=xlabels,
+                            successes=successes,
+                            filename=filename, style=style)
+
+
+def files_plot(x, xticks, xlabels, results, filename, style):
+    total = [result.files_total for result in results]
+    successes = [result.files_successes for result in results]
+    failures = [result.files_failures for result in results]
+
+    fig = plt.figure()
+
+    graph = fig.add_subplot(111)
+
+    graph.plot(x, total, color=style.total_color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+    graph.plot(x, successes, color=style.success_color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+    graph.plot(x, failures, color=style.fail_color,
+               linestyle=style.linestyle, linewidth=style.linewidth)
+
+    fig.autofmt_xdate()
+    graph.set_xticks(xticks)
+    graph.set_xticklabels(xlabels)
+
+    fig.savefig(filename)
+
+
+def files_percent_plot(x, xticks, xlabels, results, filename, style):
+    successes = []
+    failures = []
+    for result in results:
+        if result.files_total:
+            successes.append(float(result.files_successes) / result.files_total * 100)
+            failures.append(float(result.files_failures) / result.files_total * 100)
+        else:
+            # this is not expected to happen
+            # but we don't want any exceptions if it happens
+            successes.append(0)
+            failures.append(0)
+
+    plot_percents(x=x, xticks=xticks, xlabels=xlabels,
+                  successes=successes, failures=failures,
+                  filename=filename, style=style)
+
+
+def info_plot(x, xticks, xlabels, results, filename, style):
+
+    modules = [len(result.tested_modules) for result in results]
+    names = [len(result.names) for result in results]
+    authors = [len(result.test_files_authors) for result in results]
+    # we want just unique directories
+    dirs = [len(set(result.tested_dirs)) for result in results]
+
+    fig = plt.figure()
+
+    graph = fig.add_subplot(111)
+
+    graph.plot(x, names, color='b', label="Test files",
+               linestyle=style.linestyle, linewidth=style.linewidth)
+    graph.plot(x, modules, color='g', label="Tested modules",
+               linestyle=style.linestyle, linewidth=style.linewidth)
+    # dirs == testsuites
+    graph.plot(x, dirs, color='orange', label="Tested directories",
+               linestyle=style.linestyle, linewidth=style.linewidth)
+    graph.plot(x, authors, color='r', label="Test authors",
+               linestyle=style.linestyle, linewidth=style.linewidth)
+
+    graph.legend(loc='best', shadow=False)
+
+    fig.autofmt_xdate()
+    graph.set_xticks(xticks)
+    graph.set_xticklabels(xlabels)
+
+    fig.savefig(filename)
+
+
+# TODO: solve the directory inconsitencies, implemement None
+def main_page(results, filename, images, captions, title='Test reports',
+              directory=None):
+    filename = os.path.join(directory, filename)
+    with open(filename, 'w') as page:
+        page.write(
+            '<html><body>'
+            '<h1>{title}</h1>'
+            '<table>'
+            '<thead><tr>'
+            '<th>Date (timestamp)</th><th>SVN revision</th><th>Name</th>'
+            '<th>Successful files</th><th>Successful tests</th>'
+            '</tr></thead>'
+            '<tbody>'
+            .format(title=title)
+            )
+        for result in reversed(results):
+            # TODO: include name to summary file
+            # now using location or test report directory as name
+            if result.location != 'unknown':
+                name = result.location
+            else:
+                name = os.path.basename(result.report)
+                if not name:
+                    # Python basename returns '' for 'abc/'
+                    for d in reversed(os.path.split(result.report)):
+                        if d:
+                            name = d
+                            break
+            per_test = success_to_html_percent(
+                total=result.total, successes=result.successes)
+            per_file = success_to_html_percent(
+                total=result.files_total, successes=result.files_successes)
+            report_path = os.path.relpath(path=result.report, start=directory)
+            page.write(
+                '<tr>'
+                '<td><a href={report_path}/index.html>{result.timestamp}</a></td>'
+                '<td>{result.svn_revision}</td>'
+                '<td><a href={report_path}/index.html>{name}</a></td>'
+                '<td>{pfiles}</td><td>{ptests}</td>'
+                '</tr>'
+                .format(result=result, name=name, report_path=report_path,
+                        pfiles=per_file, ptests=per_test))
+        page.write('</tbody></table>')
+        for image, caption in itertools.izip(images, captions):
+            page.write(
+                '<h3>{caption}<h3>'
+                '<img src="{image}" alt="{caption}" title="{caption}">'
+                .format(image=image, caption=caption))
+        page.write('</body></html>')
+
+
+def main():
+
+    parser = argparse.ArgumentParser(
+        description='Create overall report from several individual test reports')
+    parser.add_argument('reports', metavar='report_directory',
+                        type=str, nargs='+',
+                        help='Directories with reports')
+    parser.add_argument('--output', dest='output', action='store',
+                        default='testreports_summary',
+                        help='Output directory')
+    parser.add_argument('--timestamps', dest='timestamps', action='store_true',
+                        help='Use file timestamp instead of date in test summary')
+
+    args = parser.parse_args()
+    output = args.output
+    reports = args.reports
+    use_timestamps = args.timestamps
+
+    ensure_dir(output)
+
+    all_results = []
+    results_in_locations = defaultdict(list)
+
+    for report in reports:
+        try:
+            summary_file = os.path.join(report, 'test_keyvalue_result.txt')
+            if not os.path.exists(summary_file):
+                sys.stderr.write('WARNING: Key-value summary not available in'
+                                 ' report <%s>, skipping.\n' % summary_file)
+                # skipping incomplete reports
+                # use only results list for further processing
+                continue
+            summary = text_to_keyvalue(open(summary_file).read(), sep='=')
+            if use_timestamps:
+                test_timestamp = datetime.datetime.fromtimestamp(os.path.getmtime(summary_file))
+            else:
+                test_timestamp = datetime.datetime.strptime(summary['timestamp'], "%Y-%m-%d %H:%M:%S")
+
+            result = TestResultSummary()
+            result.timestamp = test_timestamp
+            result.total = summary['total']
+            result.successes = summary['successes']
+            result.failures = summary['failures']
+            result.errors = summary['errors']
+
+            result.files_total = summary['files_total']
+            result.files_successes = summary['files_successes']
+            result.files_failures = summary['files_failures']
+
+            result.svn_revision = str(summary['svn_revision'])
+            result.tested_modules = summary['tested_modules']
+            result.names = summary['names']
+            result.test_files_authors = summary['test_files_authors']
+            result.tested_dirs = summary['tested_dirs']
+            result.report = report
+
+            # let's consider no location as valid state and use 'unknown'
+            result.location = summary.get('location', 'unknown')
+            result.location_type = summary.get('location_type', 'unknown')
+            # grouping according to location types
+            # this can cause that two actual locations tested at the same time
+            # will end up together, this is not ideal but testing with
+            # one location type and different actual locations is not standard
+            # and although it will not break anything it will not give a nice
+            # report
+            results_in_locations[result.location_type].append(result)
+
+            all_results.append(result)
+            del result
+        except KeyError as e:
+            print 'File %s does not have right values (%s)' % (report, e.message) 
+
+    locations_main_page = open(os.path.join(output, 'index.html'), 'w')
+    locations_main_page.write(
+        '<html><body>'
+        '<h1>Test reports grouped by location type</h1>'
+        '<table>'
+        '<thead><tr>'
+        '<th>Location</th>'
+        '<th>Successful files</th><th>Successful tests</th>'
+        '</tr></thead>'
+        '<tbody>'
+        )
+
+    PlotStyle = namedtuple('PlotStyle',
+                           ['linestyle', 'linewidth',
+                           'success_color', 'fail_color', 'total_color'])
+    plot_style = PlotStyle(linestyle='-', linewidth=4.0,
+                           success_color='g', fail_color='r', total_color='b')
+
+    for location_type, results in results_in_locations.iteritems():
+        results = sorted(results, key=operator.attrgetter('timestamp'))
+        # TODO: document: location type must be a valid dir name
+        directory = os.path.join(output, location_type)
+        ensure_dir(directory)
+
+        if location_type == 'unknown':
+            title = 'Test reports'
+        else:
+            title = ('Test reports for <{type}> location type'
+                     .format(type=location_type))
+        
+        x = [date2num(result.timestamp) for result in results]
+        # the following would be an alternative but it does not work with
+        # labels and automatic axis limits even after removing another date fun
+        # x = [result.svn_revision for result in results]
+        xlabels = [result.timestamp.strftime("%Y-%m-%d") + ' (r' + result.svn_revision + ')' for result in results]
+        step = len(x) / 10
+        xticks = x[step::step]
+        xlabels = xlabels[step::step]
+        tests_successful_plot(x=x, xticks=xticks, xlabels=xlabels, results=results,
+                              filename=os.path.join(directory, 'tests_successful_plot.png'),
+                              style=plot_style)
+        files_successful_plot(x=x, xticks=xticks, xlabels=xlabels, results=results,
+                              filename=os.path.join(directory, 'files_successful_plot.png'),
+                              style=plot_style)
+        tests_plot(x=x, xticks=xticks, xlabels=xlabels, results=results,
+                   filename=os.path.join(directory, 'tests_plot.png'),
+                   style=plot_style)
+        tests_percent_plot(x=x, xticks=xticks, xlabels=xlabels, results=results,
+                           filename=os.path.join(directory, 'tests_percent_plot.png'),
+                           style=plot_style)
+        files_plot(x=x, xticks=xticks, xlabels=xlabels, results=results,
+                   filename=os.path.join(directory, 'files_plot.png'),
+                   style=plot_style)
+        files_percent_plot(x=x, xticks=xticks, xlabels=xlabels, results=results,
+                           filename=os.path.join(directory, 'files_percent_plot.png'),
+                           style=plot_style)
+        info_plot(x=x, xticks=xticks, xlabels=xlabels, results=results,
+                  filename=os.path.join(directory, 'info_plot.png'),
+                   style=plot_style)
+
+        main_page(results=results, filename='index.html',
+                  images=['tests_successful_plot.png',
+                          'files_successful_plot.png',
+                          'tests_plot.png',
+                          'files_plot.png',
+                          'tests_percent_plot.png',
+                          'files_percent_plot.png',
+                          'info_plot.png'],
+                  captions=['Success of individual tests in percents',
+                            'Success of test files in percents',
+                            'Successes, failures and number of individual tests',
+                            'Successes, failures and number of test files',
+                            'Successes and failures of individual tests in percent',
+                            'Successes and failures of test files in percents',
+                            'Additional information'],
+                  directory=directory,
+                  title=title)
+
+        files_successes = sum(result.files_successes for result in results)
+        files_total = sum(result.files_total for result in results)
+        successes = sum(result.successes for result in results)
+        total = sum(result.total for result in results)
+        per_test = success_to_html_percent(
+            total=total, successes=successes)
+        per_file = success_to_html_percent(
+            total=files_total, successes=files_successes)
+        locations_main_page.write(
+            '<tr>'
+            '<td><a href={location}/index.html>{location}</a></td>'
+            '<td>{pfiles}</td><td>{ptests}</td>'
+            '</tr>'
+            .format(location=location_type,
+                    pfiles=per_file, ptests=per_test))
+    locations_main_page.write('</tbody></table>')
+    locations_main_page.write('</body></html>')
+    locations_main_page.close()
+    return 0
+
+if __name__ == '__main__':
+    sys.exit(main())
diff --git a/lib/python/gunittest/multirunner.py b/lib/python/gunittest/multirunner.py
new file mode 100644
index 0000000..e34bbfa
--- /dev/null
+++ b/lib/python/gunittest/multirunner.py
@@ -0,0 +1,125 @@
+# -*- coding: utf-8 -*-
+"""Testing framework module for running tests in Python unittest fashion
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+
+from __future__ import print_function
+
+import sys
+import os
+import argparse
+import itertools
+import subprocess
+
+
+def main():
+    parser = argparse.ArgumentParser(
+        description='Run tests with new')
+    parser.add_argument('--location', '-l', required=True, action='append',
+                        dest='locations', metavar='LOCATION',
+                        help='Directories with reports')
+    parser.add_argument('--location-type', '-t', action='append',
+                        dest='location_types',
+                    default=[], metavar='TYPE',
+                    help='Add repeated values to a list',
+                    )
+    parser.add_argument('--grassbin', required=True,
+                        help='Use file timestamp instead of date in test summary')
+    # TODO: rename since every src can be used?
+    parser.add_argument('--grasssrc', required=True,
+                        help='GRASS GIS source code (to take tests from)')
+    parser.add_argument('--grassdata', required=True,
+                        help='GRASS GIS data base (GISDBASE)')
+    parser.add_argument('--create-main-report',
+                        help='Create also main report for all tests',
+                        action="store_true", default=False, dest='main_report')
+
+    args = parser.parse_args()
+    gisdb = args.grassdata
+    locations = args.locations
+    locations_types = args.location_types
+
+    # TODO: if locations empty or just one we can suppose the same all the time
+    if len(locations) != len(locations_types):
+        print("ERROR: Number of locations and their tags must be the same", file=sys.stderr)
+        return 1
+    
+
+    main_report = args.main_report
+    grasssrc = args.grasssrc  # TODO: can be guessed from dist    
+    # TODO: create directory accoring to date and revision and create reports there
+
+    # some predefined variables, name of the GRASS launch script + location/mapset
+    #grass7bin = 'C:\Program Files (x86)\GRASS GIS 7.0.svn\grass70svn.bat'
+    grass7bin = args.grassbin  # TODO: can be used if pressent
+
+    ########### SOFTWARE
+    # query GRASS 7 itself for its GISBASE
+    # we assume that GRASS GIS' start script is available and in the PATH
+    # the shell=True is here because of MS Windows? (code taken from wiki)
+    startcmd = grass7bin + ' --config path'
+    p = subprocess.Popen(startcmd, shell=True, 
+                         stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+    out, err = p.communicate()
+    if p.returncode != 0:
+        print("ERROR: Cannot find GRASS GIS 7 start script (%s):\n%s" % (startcmd, err), file=sys.stderr)
+        return 1
+    gisbase = out.strip('\n')
+
+    # set GISBASE environment variable
+    os.environ['GISBASE'] = gisbase
+    # define GRASS Python environment
+    grass_python_dir = os.path.join(gisbase, "etc", "python")
+    sys.path.append(grass_python_dir)
+
+    ########### DATA
+    # define GRASS DATABASE
+    
+    # Set GISDBASE environment variable
+    os.environ['GISDBASE'] = gisdb
+
+    # import GRASS Python package for initialization
+    import grass.script.setup as gsetup
+
+    # launch session
+    # we need some location and mapset here
+    # TODO: can init work without it or is there some demo location in dist?
+    location = locations[0].split(':')[0]
+    mapset = 'PERMANENT'
+    gsetup.init(gisbase, gisdb, location, mapset)
+
+    reports = []
+    for location, location_type in itertools.izip(locations, locations_types):
+        # here it is quite a good place to parallelize
+        # including also type to make it unique and preserve it for sure
+        report = 'report_for_' + location + '_' + location_type
+        absreport = os.path.abspath(report)
+        p = subprocess.Popen([sys.executable, '-tt',
+                              '-m', 'grass.gunittest.main',
+                              '--grassdata', gisdb, '--location', location,
+                              '--location-type', location_type,
+                              '--output', absreport],
+                              cwd=grasssrc)
+        returncode = p.wait()
+        reports.append(report)
+
+    if main_report:
+        # TODO: solve the path to source code (work now only for grass source code)
+        arguments = [sys.executable, grasssrc + '/lib/python/guittest/' + 'multireport.py', '--timestapms']
+        arguments.extend(reports)
+        p = subprocess.Popen(arguments)
+        returncode = p.wait()
+        if returncode != 0:
+            print("ERROR: Creation of main report failed.", file=sys.stderr)
+            return 1
+
+    return 0
+
+if __name__ == '__main__':
+    sys.exit(main())
diff --git a/lib/python/gunittest/reporters.py b/lib/python/gunittest/reporters.py
new file mode 100644
index 0000000..932976f
--- /dev/null
+++ b/lib/python/gunittest/reporters.py
@@ -0,0 +1,1185 @@
+# -*- coding: utf-8 -*-
+"""GRASS Python testing framework module for report generation
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+
+import os
+import datetime
+import xml.sax.saxutils as saxutils
+import xml.etree.ElementTree as et
+import subprocess
+import sys
+import collections
+import re
+
+from .utils import ensure_dir
+from .checkers import text_to_keyvalue
+
+
+if sys.version_info[0] == 2:
+    from StringIO import StringIO
+else:
+    from io import StringIO
+    basestring = str
+
+
+# TODO: change text_to_keyvalue to same sep as here
+# TODO: create keyvalue file and move it there together with things from checkers
+def keyvalue_to_text(keyvalue, sep='=', vsep='\n', isep=',',
+                     last_vertical=None):
+    if not last_vertical:
+        last_vertical = vsep == '\n'
+    items = []
+    for key, value in keyvalue.items():
+        # TODO: use isep for iterables other than strings
+        if (not isinstance(value, basestring)
+                and isinstance(value, collections.Iterable)):
+            # TODO: this does not work for list of non-strings
+            value = isep.join(value)
+        items.append('{key}{sep}{value}'.format(
+            key=key, sep=sep, value=value))
+    text = vsep.join(items)
+    if last_vertical:
+        text = text + vsep
+    return text
+
+
+def replace_in_file(file_path, pattern, repl):
+    """
+
+    :param repl: a repl paramter of ``re.sub()`` function
+    """
+    # using tmp file to store the replaced content
+    tmp_file_path = file_path + '.tmp'
+    old_file = open(file_path, 'r')
+    new_file = open(tmp_file_path, 'w')
+    for line in old_file:
+        new_file.write(re.sub(pattern=pattern, string=line, repl=repl))
+    new_file.close()
+    old_file.close()
+    # remove old file since it must not exist for rename/move
+    os.remove(file_path)
+    # replace old file by new file
+    # TODO: this can fail in some (random) cases on MS Windows
+    os.rename(tmp_file_path, file_path)
+
+
+class NoopFileAnonymizer(object):
+    def anonymize(self, filenames):
+        pass
+
+
+# TODO: why not remove GISDBASE by default?
+class FileAnonymizer(object):
+    def __init__(self, paths_to_remove, remove_gisbase=True,
+                 remove_gisdbase=False):
+        self._paths_to_remove = []
+        if remove_gisbase:
+            gisbase = os.environ['GISBASE']
+            self._paths_to_remove.append(gisbase)
+        if remove_gisdbase:
+            # import only when really needed to avoid problems with
+            # translations when environment is not set properly
+            import grass.script as gscript
+            gisdbase = gscript.gisenv()['GISDBASE']
+            self._paths_to_remove.append(gisdbase)
+        if paths_to_remove:
+            self._paths_to_remove.extend(paths_to_remove)
+
+    def anonymize(self, filenames):
+        # besides GISBASE and test recursion start directory (which is
+        # supposed to be source root directory or similar) we can also try
+        # to remove user home directory and GISDBASE
+        # we suppuse that we run in standard grass session
+        # TODO: provide more effective implementation
+        for path in self._paths_to_remove:
+            for filename in filenames:
+                path_end = r'[\\/]?'
+                replace_in_file(filename, path + path_end, '')
+
+
+def get_source_url(path, revision, line=None):
+    """
+
+    :param path: directory or file path relative to remote repository root
+    :param revision: SVN revision (should be a number)
+    :param line: line in the file (should be None for directories)
+    """
+    tracurl = 'http://trac.osgeo.org/grass/browser/'
+    if line:
+        return '{tracurl}{path}?rev={revision}#L{line}'.format(**locals())
+    else:
+        return '{tracurl}{path}?rev={revision}'.format(**locals())
+
+
+def html_escape(text):
+    """Escape ``'&'``, ``'<'``, and ``'>'`` in a string of data."""
+    return saxutils.escape(text)
+
+
+def html_unescape(text):
+    """Unescape ``'&'``, ``'<'``, and ``'>'`` in a string of data."""
+    return saxutils.unescape(text)
+
+
+def color_error_line(line):
+    if line.startswith('ERROR: '):
+        # TODO: use CSS class
+        # ignoring the issue with \n at the end, HTML don't mind
+        line = '<span style="color: red">' + line + "</span>"
+    if line.startswith('FAIL: '):
+        # TODO: use CSS class
+        # ignoring the issue with \n at the end, HTML don't mind
+        line = '<span style="color: red">' + line + "</span>"
+    if line.startswith('WARNING: '):
+        # TODO: use CSS class
+        # ignoring the issue with \n at the end, HTML don't mind
+        line = '<span style="color: blue">' + line + "</span>"
+    #if line.startswith('Traceback ('):
+    #    line = '<span style="color: red">' + line + "</span>"
+    return line
+
+
+def to_web_path(path):
+    """Replace OS dependent path separator with slash.
+
+    Path on MS Windows are not usable in links on web. For MS Windows,
+    this replaces backslash with (forward) slash.
+    """
+    if os.path.sep != '/':
+        return path.replace(os.path.sep, '/')
+    else:
+        return path
+
+
+def get_svn_revision():
+    """Get SVN revision number
+
+    :returns: SVN revision number as string or None if it is
+        not possible to get
+    """
+    # TODO: here should be starting directory
+    # but now we are using current as starting
+    p = subprocess.Popen(['svnversion', '.'],
+                         stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+    stdout, stderr = p.communicate()
+    rc = p.poll()
+    if not rc:
+        stdout = stdout.strip()
+        if stdout.endswith('M'):
+            stdout = stdout[:-1]
+        if ':' in stdout:
+            # the first one is the one of source code
+            stdout = stdout.split(':')[0]
+        return stdout
+    else:
+        return None
+
+
+def get_svn_info():
+    """Get important information from ``svn info``
+
+    :returns: SVN info as dictionary or None
+        if it is not possible to obtain it
+    """
+    try:
+        # TODO: introduce directory, not only current
+        p = subprocess.Popen(['svn', 'info', '.', '--xml'],
+                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        stdout, stderr = p.communicate()
+        rc = p.poll()
+        info = {}
+        if not rc:
+            root = et.fromstring(stdout)
+            # TODO: get also date if this make sense
+            # expecting only one <entry> element
+            entry = root.find('entry')
+            info['revision'] = entry.get('revision')
+            info['url'] = entry.find('url').text
+            relurl = entry.find('relative-url')
+            # element which is not found is None
+            # empty element would be bool(el) == False
+            if relurl is not None:
+                relurl = relurl.text
+                # relative path has ^ at the beginning in SVN version 1.8.8
+                if relurl.startswith('^'):
+                    relurl = relurl[1:]
+            else:
+                # SVN version 1.8.8 supports relative-url but older do not
+                # so, get relative part from absolute URL
+                const_url_part = 'https://svn.osgeo.org/grass/'
+                relurl = info['url'][len(const_url_part):]
+            info['relative-url'] = relurl
+            return info
+    # TODO: add this to svnversion function
+    except OSError as e:
+        import errno
+        # ignore No such file or directory
+        if e.errno != errno.ENOENT:
+            raise
+    return None
+
+
+def years_ago(date, years):
+    # dateutil relative delte would be better but this is more portable
+    return date - datetime.timedelta(weeks=years * 52)
+
+
+# TODO: these functions should be called only if we know that svn is installed
+# this will simplify the functions, caller must handle it anyway
+def get_svn_path_authors(path, from_date=None):
+    """
+
+    :returns: a set of authors
+    """
+    if from_date is None:
+        # this is the SVN default for local copies
+        revision_range = 'BASE:1'
+    else:
+        revision_range = 'BASE:{%s}' % from_date
+    try:
+        # TODO: allow also usage of --limit
+        p = subprocess.Popen(['svn', 'log', '--xml',
+                              '--revision', revision_range, path],
+                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        stdout, stderr = p.communicate()
+        rc = p.poll()
+        if not rc:
+            root = et.fromstring(stdout)
+            # TODO: get also date if this make sense
+            # expecting only one <entry> element
+            author_nodes = root.iterfind('*/author')
+            authors = [n.text for n in author_nodes]
+            return set(authors)
+    except OSError as e:
+        import errno
+        # ignore No such file or directory
+        if e.errno != errno.ENOENT:
+            raise
+    return None
+
+
+def get_html_test_authors_table(directory, tests_authors):
+    # SVN gives us authors of code together with authors of tests
+    # so test code authors list also contains authors of tests only
+    # TODO: don't do this for the top level directories?
+    tests_authors = set(tests_authors)
+    no_svn_text = ('<span style="font-size: 60%">'
+                   'Test file authors were not obtained.'
+                   '</span>')
+    if (not tests_authors
+            or (len(tests_authors) == 1 and list(tests_authors)[0] == '')):
+        return '<h3>Code and test authors</h3>' + no_svn_text
+    from_date = years_ago(datetime.date.today(), years=1)
+    tested_dir_authors = get_svn_path_authors(directory, from_date)
+    if tested_dir_authors is not None:
+        not_testing_authors = tested_dir_authors - tests_authors
+    else:
+        no_svn_text = ('<span style="font-size: 60%">'
+                       'Authors cannot be obtained using SVN.'
+                       '</span>')
+        not_testing_authors = tested_dir_authors = [no_svn_text]
+    if not not_testing_authors:
+        not_testing_authors = ['all recent authors contributed tests']
+
+    test_authors = (
+        '<h3>Code and test authors</h3>'
+        '<p style="font-size: 60%"><em>'
+        'Note that determination of authors is approximate and only'
+        ' recent code authors are considered.'
+        '</em></p>'
+        '<table><tbody>'
+        '<tr><td>Test authors:</td><td>{file_authors}</td></tr>'
+        '<tr><td>Authors of tested code:</td><td>{code_authors}</td></tr>'
+        '<tr><td>Authors owing tests:</td><td>{not_testing}</td></tr>'
+        '</tbody></table>'
+        .format(
+            file_authors=', '.join(sorted(tests_authors)),
+            code_authors=', '.join(sorted(tested_dir_authors)),
+            not_testing=', '.join(sorted(not_testing_authors))
+        ))
+    return test_authors
+
+
+class GrassTestFilesMultiReporter(object):
+
+    def __init__(self, reporters, forgiving=False):
+        self.reporters = reporters
+        self.forgiving = forgiving
+
+    def start(self, results_dir):
+        # TODO: no directory cleaning (self.clean_before)? now cleaned by caller
+        # TODO: perhaps only those whoe need it should do it (even multiple times)
+        # and there is also the delet problem
+        ensure_dir(os.path.abspath(results_dir))
+        for reporter in self.reporters:
+            try:
+                reporter.start(results_dir)
+            except AttributeError:
+                if self.forgiving:
+                    pass
+                else:
+                    raise
+
+    def finish(self):
+        for reporter in self.reporters:
+            try:
+                reporter.finish()
+            except AttributeError:
+                if self.forgiving:
+                    pass
+                else:
+                    raise
+
+    def start_file_test(self, module):
+        for reporter in self.reporters:
+            try:
+                reporter.start_file_test(module)
+            except AttributeError:
+                if self.forgiving:
+                    pass
+                else:
+                    raise
+
+    def end_file_test(self, **kwargs):
+        for reporter in self.reporters:
+            try:
+                reporter.end_file_test(**kwargs)
+            except AttributeError:
+                if self.forgiving:
+                    pass
+                else:
+                    raise
+
+
+class GrassTestFilesCountingReporter(object):
+    def __init__(self):
+        self.test_files = None
+        self.files_fail = None
+        self.files_pass = None
+
+        self.file_pass_per = None
+        self.file_fail_per = None
+
+        self.main_start_time = None
+        self.main_end_time = None
+        self.main_time = None
+
+        self.file_start_time = None
+        self.file_end_time = None
+        self.file_time = None
+        self._start_file_test_called = False
+
+    def start(self, results_dir):
+        self.test_files = 0
+        self.files_fail = 0
+        self.files_pass = 0
+
+        # this might be moved to some report start method
+        self.main_start_time = datetime.datetime.now()
+
+    def finish(self):
+        self.main_end_time = datetime.datetime.now()
+        self.main_time = self.main_end_time - self.main_start_time
+
+        assert self.test_files == self.files_fail + self.files_pass
+        if self.test_files:
+            self.file_pass_per = 100 * float(self.files_pass) / self.test_files
+            self.file_fail_per = 100 * float(self.files_fail) / self.test_files
+        else:
+            # if no tests were executed, probably something bad happend
+            # try to report at least something
+            self.file_pass_per = None
+            self.file_fail_per = None
+
+    def start_file_test(self, module):
+        self.file_start_time = datetime.datetime.now()
+        self._start_file_test_called = True
+        self.test_files += 1
+
+    def end_file_test(self, returncode, **kwargs):
+        assert self._start_file_test_called
+        self.file_end_time = datetime.datetime.now()
+        self.file_time = self.file_end_time - self.file_start_time
+        if returncode:
+            self.files_fail += 1
+        else:
+            self.files_pass += 1
+        self._start_file_test_called = False
+
+
+def percent_to_html(percent):
+    if percent is None:
+        return '<span style="color: {color}">unknown percentage</span>'
+    elif percent > 100 or percent < 0:
+        return "? {:.2f}% ?".format(percent)
+    elif percent < 40:
+        color = 'red'
+    elif percent < 70:
+        color = 'orange'
+    else:
+        color = 'green'
+    return '<span style="color: {color}">{percent:.0f}%</span>'.format(
+        percent=percent, color=color)
+
+
+def wrap_stdstream_to_html(infile, outfile, module, stream):
+    before = '<html><body><h1>%s</h1><pre>' % (module.name + ' ' + stream)
+    after = '</pre></body></html>'
+    html = open(outfile, 'w')
+    html.write(before)
+    with open(infile) as text:
+        for line in text:
+            html.write(color_error_line(html_escape(line)))
+    html.write(after)
+    html.close()
+
+
+def html_file_preview(filename):
+    before = '<pre>'
+    after = '</pre>'
+    if not os.path.isfile(filename):
+        return '<p style="color: red>File %s does not exist<p>' % filename
+    size = os.path.getsize(filename)
+    if not size:
+        return '<p style="color: red>File %s is empty<p>' % filename
+    max_size = 10000
+    html = StringIO()
+    html.write(before)
+    if size < max_size:
+        with open(filename) as text:
+            for line in text:
+                html.write(color_error_line(html_escape(line)))
+    elif size < 10 * max_size:
+        def tail(filename, n):
+            return collections.deque(open(filename), n)
+        html.write('... (lines omitted)\n')
+        for line in tail(filename, 50):
+            html.write(color_error_line(html_escape(line)))
+    else:
+        return '<p style="color: red>File %s is too large to show<p>' % filename
+    html.write(after)
+    return html.getvalue()
+
+
+def returncode_to_html_text(returncode):
+    if returncode:
+        return '<span style="color: red">FAILED</span>'
+    else:
+        # alternatives: SUCCEEDED, passed, OK
+        return '<span style="color: green">succeeded</span>'
+
+
+# not used
+def returncode_to_html_sentence(returncode):
+    if returncode:
+        return ('<span style="color: red">&#x274c;</span>'
+                ' Test failed (return code %d)' % (returncode))
+    else:
+        return ('<span style="color: green">&#x2713;</span>'
+                ' Test succeeded (return code %d)' % (returncode))
+
+
+def returncode_to_success_html_par(returncode):
+    if returncode:
+        return ('<p> <span style="color: red">&#x274c;</span>'
+                ' Test failed</p>')
+    else:
+        return ('<p> <span style="color: green">&#x2713;</span>'
+                ' Test succeeded</p>')
+
+
+def success_to_html_text(total, successes):
+    if successes < total:
+        return '<span style="color: red">FAILED</span>'
+    elif successes == total:
+        # alternatives: SUCCEEDED, passed, OK
+        return '<span style="color: green">succeeded</span>'
+    else:
+        return ('<span style="color: red; font-size: 60%">'
+                '? more successes than total ?</span>')
+
+
+UNKNOWN_NUMBER_HTML = '<span style="font-size: 60%">unknown</span>'
+
+
+def success_to_html_percent(total, successes):
+    if total:
+        pass_per = 100 * (float(successes) / total)
+        pass_per = percent_to_html(pass_per)
+    else:
+        pass_per = UNKNOWN_NUMBER_HTML
+    return pass_per
+
+
+class GrassTestFilesHtmlReporter(GrassTestFilesCountingReporter):
+
+    unknown_number = UNKNOWN_NUMBER_HTML
+
+    def __init__(self, file_anonymizer, main_page_name='index.html'):
+        super(GrassTestFilesHtmlReporter, self).__init__()
+        self.main_index = None
+        self._file_anonymizer = file_anonymizer
+        self._main_page_name = main_page_name
+
+    def start(self, results_dir):
+        super(GrassTestFilesHtmlReporter, self).start(results_dir)
+        # having all variables public although not really part of API
+        main_page_name = os.path.join(results_dir, self._main_page_name)
+        self.main_index = open(main_page_name, 'w')
+
+        # TODO: this can be moved to the counter class
+        self.failures = 0
+        self.errors = 0
+        self.skipped = 0
+        self.successes = 0
+        self.expected_failures = 0
+        self.unexpected_success = 0
+        self.total = 0
+
+        svn_info = get_svn_info()
+        if not svn_info:
+            svn_text = ('<span style="font-size: 60%">'
+                        'SVN revision cannot be obtained'
+                        '</span>')
+        else:
+            url = get_source_url(path=svn_info['relative-url'],
+                                 revision=svn_info['revision'])
+            svn_text = ('SVN revision'
+                        ' <a href="{url}">'
+                        '{rev}</a>'
+                        ).format(url=url, rev=svn_info['revision'])
+        self.main_index.write('<html><body>'
+                              '<h1>Test results</h1>'
+                              '{time:%Y-%m-%d %H:%M:%S}'
+                              ' ({svn})'
+                              '<table>'
+                              '<thead><tr>'
+                              '<th>Tested directory</th>'
+                              '<th>Test file</th>'
+                              '<th>Status</th>'
+                              '<th>Tests</th><th>Successful</td>'
+                              '<th>Failed</th><th>Percent successful</th>'
+                              '</tr></thead><tbody>'.format(
+                                  time=self.main_start_time,
+                                  svn=svn_text))
+
+    def finish(self):
+        super(GrassTestFilesHtmlReporter, self).finish()
+
+        pass_per = success_to_html_percent(total=self.total,
+                                           successes=self.successes)
+        tfoot = ('<tfoot>'
+                 '<tr>'
+                 '<td>Summary</td>'
+                 '<td>{nfiles} test files</td>'
+                 '<td>{nsper}</td>'
+                 '<td>{total}</td><td>{st}</td><td>{ft}</td><td>{pt}</td>'
+                 '</tr>'
+                 '</tfoot>'.format(
+                     nfiles=self.test_files,
+                     nsper=percent_to_html(self.file_pass_per),
+                     st=self.successes, ft=self.failures + self.errors,
+                     total=self.total, pt=pass_per
+                     ))
+
+        # this is the second place with this function
+        # TODO: provide one implementation
+        def format_percentage(percentage):
+            if percentage is not None:
+                return "{nsper:.0f}%".format(nsper=percentage)
+            else:
+                return "unknown percentage"
+
+        summary_sentence = ('\nExecuted {nfiles} test files in {time:}.'
+                            '\nFrom them'
+                            ' {nsfiles} files ({nsper}) were successful'
+                            ' and {nffiles} files ({nfper}) failed.\n'
+                            .format(
+                                nfiles=self.test_files,
+                                time=self.main_time,
+                                nsfiles=self.files_pass,
+                                nffiles=self.files_fail,
+                                nsper=format_percentage(self.file_pass_per),
+                                nfper=format_percentage(self.file_fail_per)))
+
+        self.main_index.write('<tbody>{tfoot}</table>'
+                              '<p>{summary}</p>'
+                              '</body></html>'
+                              .format(
+                                  tfoot=tfoot,
+                                  summary=summary_sentence))
+        self.main_index.close()
+
+    def start_file_test(self, module):
+        super(GrassTestFilesHtmlReporter, self).start_file_test(module)
+        self.main_index.flush()  # to get previous lines to the report
+
+    def end_file_test(self, module, cwd, returncode, stdout, stderr,
+                      test_summary):
+        super(GrassTestFilesHtmlReporter, self).end_file_test(
+            module=module, cwd=cwd, returncode=returncode,
+            stdout=stdout, stderr=stderr)
+        # considering others accoring to total is OK when we more or less
+        # know that input data make sense (total >= errors + failures)
+        total = test_summary.get('total', None)
+        failures = test_summary.get('failures', 0)
+        errors = test_summary.get('errors', 0)
+        # Python unittest TestResult class is reporting success for no
+        # errors or failures, so skipped, expected failures and unexpected
+        # success are ignored
+        # but successful tests are only total - the others
+        # TODO: add success counter to GrassTestResult base class
+        skipped = test_summary.get('skipped', 0)
+        expected_failures = test_summary.get('expected_failures', 0)
+        unexpected_successes = test_summary.get('unexpected_successes', 0)
+        successes = test_summary.get('successes', 0)
+
+        self.failures += failures
+        self.errors += errors
+        self.skipped += skipped
+        self.expected_failures += expected_failures
+        self.unexpected_success += unexpected_successes
+
+        # zero would be valid here
+        if total is not None:
+            # success are only the clear ones
+            # percentage is influenced by all
+            # but putting only failures to table
+            self.successes += successes
+            self.total += total
+            # this will handle zero
+            pass_per = success_to_html_percent(total=total,
+                                               successes=successes)
+        else:
+            total = successes = pass_per = self.unknown_number
+        bad_ones = failures + errors
+        self.main_index.write(
+            '<tr><td>{d}</td>'
+            '<td><a href="{d}/{m}/index.html">{m}</a></td>'
+            '<td>{status}</td>'
+            '<td>{ntests}</td><td>{stests}</td>'
+            '<td>{ftests}</td><td>{ptests}</td>'
+            '<tr>'.format(
+                d=to_web_path(module.tested_dir), m=module.name,
+                status=returncode_to_html_text(returncode),
+                stests=successes, ftests=bad_ones, ntests=total,
+                ptests=pass_per))
+        wrap_stdstream_to_html(infile=stdout,
+                               outfile=os.path.join(cwd, 'stdout.html'),
+                               module=module, stream='stdout')
+        wrap_stdstream_to_html(infile=stderr,
+                               outfile=os.path.join(cwd, 'stderr.html'),
+                               module=module, stream='stderr')
+
+        file_index_path = os.path.join(cwd, 'index.html')
+        file_index = open(file_index_path, 'w')
+        file_index.write(
+            '<!DOCTYPE html><html><head><meta charset="utf-8"></head><body>'
+            '<h1>{m.name}</h1>'
+            '<h2>{m.tested_dir} – {m.name}</h2>'
+            '{status}'
+            .format(
+                m=module,
+                status=returncode_to_success_html_par(returncode),
+                ))
+
+        # TODO: include optionally hyper link to test suite
+        # TODO: file_path is reconstucted in a naive way
+        # file_path should be stored in the module/test file object and just used here
+        summary_section = (
+            '<table><tbody>'
+            '<tr><td>Test</td><td>{m}</td></tr>'
+            '<tr><td>Testsuite</td><td>{d}</td></tr>'
+            '<tr><td>Test file</td><td>{file_path}</td></tr>'
+            '<tr><td>Status</td><td>{status}</td></tr>'
+            '<tr><td>Return code</td><td>{rc}</td></tr>'
+            '<tr><td>Number of tests</td><td>{ntests}</td></tr>'
+            '<tr><td>Successful tests</td><td>{stests}</td></tr>'
+            '<tr><td>Failed tests</td><td>{ftests}</td></tr>'
+            '<tr><td>Percent successful</td><td>{ptests}</td></tr>'
+            '<tr><td>Test duration</td><td>{dur}</td></tr>'
+            .format(
+                d=module.tested_dir, m=module.name,
+                file_path=os.path.join(module.tested_dir, 'testsuite', module.name + '.' + module.file_type),
+                status=returncode_to_html_text(returncode),
+                stests=successes, ftests=bad_ones, ntests=total,
+                ptests=pass_per, rc=returncode,
+                dur=self.file_time))
+        file_index.write(summary_section)
+
+        modules = test_summary.get('tested_modules', None)
+        if modules:
+            # TODO: replace by better handling of potential lists when parsing
+            # TODO: create link to module if running in grass or in addons
+            # alternatively a link to module test summary
+            if type(modules) is not list:
+                modules = [modules]
+            file_index.write(
+                '<tr><td>Tested modules</td><td>{}</td></tr>'.format(
+                    ', '.join(sorted(set(modules)))))
+        file_index.write('</tbody></table>')
+
+        # here we would have also links to coverage, profiling, ...
+        #'<li><a href="testcodecoverage/index.html">code coverage</a></li>'
+        files_section = (
+            '<h3>Supplementary files</h3>'
+            '<ul>'
+            '<li><a href="stdout.html">standard output (stdout)</a></li>'
+            '<li><a href="stderr.html">standard error output (stderr)</a></li>'
+            )
+        file_index.write(files_section)
+
+        supplementary_files = test_summary.get('supplementary_files', None)
+        if supplementary_files:
+            # this is something we might want to do once for all and not
+            # risk that it will be done twice or rely that somebody else
+            # will do it for use
+            # the solution is perhaps do the multi reporter more grass-specific
+            # and do all common things, so that other can rely on it and
+            # moreover something can be shared with other explicity
+            # using constructors as seems advantageous for counting
+            self._file_anonymizer.anonymize(supplementary_files)
+            for f in supplementary_files:
+                file_index.write('<li><a href="{f}">{f}</a></li>'.format(f=f))
+
+        file_index.write('</ul>')
+
+        if returncode:
+            file_index.write('<h3>Standard error output (stderr)</h3>')
+            file_index.write(html_file_preview(stderr))
+
+        file_index.write('</body></html>')
+        file_index.close()
+
+        if returncode:
+            pass
+            # TODO: here we don't have oportunity to write error file
+            # to stream (stdout/stderr)
+            # a stream can be added and if not none, we could write
+
+
+# TODO: document info: additional information to be stored type: dict
+# allows overwriting what was collected
+class GrassTestFilesKeyValueReporter(GrassTestFilesCountingReporter):
+
+    def __init__(self, info=None):
+        super(GrassTestFilesKeyValueReporter, self).__init__()
+        self.result_dir = None
+        self._info = info
+
+    def start(self, results_dir):
+        super(GrassTestFilesKeyValueReporter, self).start(results_dir)
+        # having all variables public although not really part of API
+        self.result_dir = results_dir
+
+        # TODO: this can be moved to the counter class
+        self.failures = 0
+        self.errors = 0
+        self.skipped = 0
+        self.successes = 0
+        self.expected_failures = 0
+        self.unexpected_success = 0
+        self.total = 0
+
+        # TODO: document: tested_dirs is a list and it should fit with names
+        self.names = []
+        self.tested_dirs = []
+        self.files_returncodes = []
+
+        # sets (no size specified)
+        self.modules = set()
+        self.test_files_authors = set()
+
+    def finish(self):
+        super(GrassTestFilesKeyValueReporter, self).finish()
+
+        # this shoul be moved to some additional meta passed in constructor
+        svn_info = get_svn_info()
+        if not svn_info:
+            svn_revision = ''
+        else:
+            svn_revision = svn_info['revision']
+
+        summary = {}
+        summary['files_total'] = self.test_files
+        summary['files_successes'] = self.files_pass
+        summary['files_failures'] = self.files_fail
+
+        summary['names'] = self.names
+        summary['tested_dirs'] = self.tested_dirs
+        # TODO: we don't have a general mechanism for storing any type in text
+        summary['files_returncodes'] = [str(item)
+                                        for item in self.files_returncodes]
+
+        # let's use seconds as a universal time delta format
+        # (there is no standard way how to store time delta as string)
+        summary['time'] = self.main_time.total_seconds()
+
+        status = 'failed' if self.files_fail else 'succeeded'
+        summary['status'] = status
+
+        summary['total'] = self.total
+        summary['successes'] = self.successes
+        summary['failures'] = self.failures
+        summary['errors'] = self.errors
+        summary['skipped'] = self.skipped
+        summary['expected_failures'] = self.expected_failures
+        summary['unexpected_successes'] = self.unexpected_success
+
+        summary['test_files_authors'] = self.test_files_authors
+        summary['tested_modules'] = self.modules
+        summary['svn_revision'] = svn_revision
+        # ignoring issues with time zones
+        summary['timestamp'] = self.main_start_time.strftime('%Y-%m-%d %H:%M:%S')
+        # TODO: add some general metadata here (passed in constructor)
+
+        # add additional information
+        for key, value in self._info.items():
+            summary[key] = value
+
+        summary_filename = os.path.join(self.result_dir,
+                                        'test_keyvalue_result.txt')
+        with open(summary_filename, 'w') as summary_file:
+            text = keyvalue_to_text(summary, sep='=', vsep='\n', isep=',')
+            summary_file.write(text)
+
+    def end_file_test(self, module, cwd, returncode, stdout, stderr,
+                      test_summary):
+        super(GrassTestFilesKeyValueReporter, self).end_file_test(
+            module=module, cwd=cwd, returncode=returncode,
+            stdout=stdout, stderr=stderr)
+        # TODO: considering others accoring to total, OK?
+        # here we are using 0 for total but HTML reporter is using None
+        total = test_summary.get('total', 0)
+        failures = test_summary.get('failures', 0)
+        errors = test_summary.get('errors', 0)
+        # Python unittest TestResult class is reporting success for no
+        # errors or failures, so skipped, expected failures and unexpected
+        # success are ignored
+        # but successful tests are only total - the others
+        skipped = test_summary.get('skipped', 0)
+        expected_failures = test_summary.get('expected_failures', 0)
+        unexpected_successes = test_summary.get('unexpected_successes', 0)
+        successes = test_summary.get('successes', 0)
+
+        # TODO: move this to counter class and perhaps use aggregation
+        # rather then inheritance
+        self.failures += failures
+        self.errors += errors
+        self.skipped += skipped
+        self.expected_failures += expected_failures
+        self.unexpected_success += unexpected_successes
+
+        # TODO: should we test for zero?
+        if total is not None:
+            # success are only the clear ones
+            # percentage is influenced by all
+            # but putting only failures to table
+            self.successes += successes
+            self.total += total
+
+        self.files_returncodes.append(returncode)
+
+        self.tested_dirs.append(module.tested_dir)
+        self.names.append(module.name)
+
+        modules = test_summary.get('tested_modules', None)
+        if modules:
+            # TODO: replace by better handling of potential lists when parsing
+            # TODO: create link to module if running in grass or in addons
+            # alternatively a link to module test summary
+            if type(modules) not in [list, set]:
+                modules = [modules]
+            self.modules.update(modules)
+
+        test_file_authors = test_summary['test_file_authors']
+        if type(test_file_authors) not in [list, set]:
+            test_file_authors = [test_file_authors]
+        self.test_files_authors.update(test_file_authors)
+
+
+class GrassTestFilesTextReporter(GrassTestFilesCountingReporter):
+
+    def __init__(self, stream):
+        super(GrassTestFilesTextReporter, self).__init__()
+        self._stream = stream
+
+    def start(self, results_dir):
+        super(GrassTestFilesTextReporter, self).start(results_dir)
+
+    def finish(self):
+        super(GrassTestFilesTextReporter, self).finish()
+
+        def format_percentage(percentage):
+            if percentage is not None:
+                return "{nsper:.0f}%".format(nsper=percentage)
+            else:
+                return "unknown percentage"
+
+        summary_sentence = ('\nExecuted {nfiles} test files in {time:}.'
+                            '\nFrom them'
+                            ' {nsfiles} files ({nsper}) were successful'
+                            ' and {nffiles} files ({nfper}) failed.\n'
+                            .format(
+                                nfiles=self.test_files,
+                                time=self.main_time,
+                                nsfiles=self.files_pass,
+                                nffiles=self.files_fail,
+                                nsper=format_percentage(self.file_pass_per),
+                                nfper=format_percentage(self.file_fail_per)))
+        self._stream.write(summary_sentence)
+
+    def start_file_test(self, module):
+        super(GrassTestFilesTextReporter, self).start_file_test(module)
+        self._stream.flush()  # to get previous lines to the report
+
+    def end_file_test(self, module, cwd, returncode, stdout, stderr,
+                      test_summary):
+        super(GrassTestFilesTextReporter, self).end_file_test(
+            module=module, cwd=cwd, returncode=returncode,
+            stdout=stdout, stderr=stderr)
+
+        if returncode:
+            self._stream.write(
+                '{m} from {d} failed'
+                .format(
+                    d=module.tested_dir,
+                    m=module.name))
+            num_failed = test_summary.get('failures', 0)
+            num_failed += test_summary.get('errors', 0)
+            if num_failed:
+                if num_failed > 1:
+                    text = ' ({f} tests failed)'
+                else:
+                    text = ' ({f} test failed)'
+                self._stream.write(text.format(f=num_failed))
+            self._stream.write('\n')
+            # TODO: here we lost the possibility to include also file name
+            # of the appropriate report
+
+
+# TODO: there is a quite a lot duplication between this class and html reporter
+# TODO: document: do not use it for two reports, it accumulates the results
+# TODO: add also keyvalue summary generation?
+# wouldn't this conflict with collecting data from report afterwards?
+class TestsuiteDirReporter(object):
+    def __init__(self, main_page_name, testsuite_page_name='index.html',
+                 top_level_testsuite_page_name=None):
+        self.main_page_name = main_page_name
+        self.testsuite_page_name = testsuite_page_name
+        self.top_level_testsuite_page_name = top_level_testsuite_page_name
+
+        # TODO: this might be even a object which could add and validate
+        self.failures = 0
+        self.errors = 0
+        self.skipped = 0
+        self.successes = 0
+        self.expected_failures = 0
+        self.unexpected_successes = 0
+        self.total = 0
+
+        self.testsuites = 0
+        self.testsuites_successes = 0
+        self.files = 0
+        self.files_successes = 0
+
+    def report_for_dir(self, root, directory, test_files):
+        # TODO: create object from this, so that it can be passed from
+        # one function to another
+        # TODO: put the inside of for loop to another fucntion
+        dir_failures = 0
+        dir_errors = 0
+        dir_skipped = 0
+        dir_successes = 0
+        dir_expected_failures = 0
+        dir_unexpected_success = 0
+        dir_total = 0
+        test_files_authors = []
+
+        file_total = 0
+        file_successes = 0
+
+        page_name = os.path.join(root, directory, self.testsuite_page_name)
+        if (self.top_level_testsuite_page_name and
+                os.path.abspath(os.path.join(root, directory))
+                == os.path.abspath(root)):
+            page_name = os.path.join(root, self.top_level_testsuite_page_name)
+        page = open(page_name, 'w')
+        # TODO: should we use forward slashes also for the HTML because
+        # it is simpler are more consistent with the rest on MS Windows?
+        head = (
+            '<html><body>'
+            '<h1>{name} testsuite results</h1>'
+            .format(name=directory))
+        tests_table_head = (
+            '<h3>Test files results</h3>'
+            '<table>'
+            '<thead><tr>'
+            '<th>Test file</th><th>Status</th>'
+            '<th>Tests</th><th>Successful</td>'
+            '<th>Failed</th><th>Percent successful</th>'
+            '</tr></thead><tbody>'
+            )
+        page.write(head)
+        page.write(tests_table_head)
+        for test_file_name in test_files:
+            # TODO: put keyvalue fine name to constant
+            summary_filename = os.path.join(root, directory, test_file_name,
+                                            'test_keyvalue_result.txt')
+            #if os.path.exists(summary_filename):
+            with open(summary_filename, 'r') as keyval_file:
+                summary = text_to_keyvalue(keyval_file.read(), sep='=')
+            #else:
+                # TODO: write else here
+            #    summary = None
+
+            if 'total' not in summary:
+                bad_ones = successes = UNKNOWN_NUMBER_HTML
+                total = None
+            else:
+                bad_ones = summary['failures'] + summary['errors']
+                successes = summary['successes']
+                total = summary['total']
+
+                self.failures += summary['failures']
+                self.errors += summary['errors']
+                self.skipped += summary['skipped']
+                self.successes += summary['successes']
+                self.expected_failures += summary['expected_failures']
+                self.unexpected_successes += summary['unexpected_successes']
+                self.total += summary['total']
+
+                dir_failures += summary['failures']
+                dir_errors += summary['failures']
+                dir_skipped += summary['skipped']
+                dir_successes += summary['successes']
+                dir_expected_failures += summary['expected_failures']
+                dir_unexpected_success += summary['unexpected_successes']
+                dir_total += summary['total']
+
+            # TODO: keyvalue method should have types for keys function
+            # perhaps just the current post processing function is enough
+            test_file_authors = summary['test_file_authors']
+            if type(test_file_authors) is not list:
+                test_file_authors = [test_file_authors]
+            test_files_authors.extend(test_file_authors)
+
+            file_total += 1
+            file_successes += 0 if summary['returncode'] else 1
+
+            pass_per = success_to_html_percent(total=total,
+                                               successes=successes)
+            row = (
+                '<tr>'
+                '<td><a href="{f}/index.html">{f}</a></td>'
+                '<td>{status}</td>'
+                '<td>{ntests}</td><td>{stests}</td>'
+                '<td>{ftests}</td><td>{ptests}</td>'
+                '<tr>'
+                .format(
+                    f=test_file_name,
+                    status=returncode_to_html_text(summary['returncode']),
+                    stests=successes, ftests=bad_ones, ntests=total,
+                    ptests=pass_per))
+            page.write(row)
+
+        self.testsuites += 1
+        self.testsuites_successes += 1 if file_successes == file_total else 0
+        self.files += file_total
+        self.files_successes += file_successes
+
+        dir_pass_per = success_to_html_percent(total=dir_total,
+                                               successes=dir_successes)
+        file_pass_per = success_to_html_percent(total=file_total,
+                                                successes=file_successes)
+        tests_table_foot = (
+            '</tbody><tfoot><tr>'
+            '<td>Summary</td>'
+            '<td>{status}</td>'
+            '<td>{ntests}</td><td>{stests}</td>'
+            '<td>{ftests}</td><td>{ptests}</td>'
+            '</tr></tfoot></table>'
+            .format(
+                status=file_pass_per,
+                stests=dir_successes, ftests=dir_failures + dir_errors,
+                ntests=dir_total, ptests=dir_pass_per))
+        page.write(tests_table_foot)
+        test_authors = get_html_test_authors_table(
+            directory=directory, tests_authors=test_files_authors)
+        page.write(test_authors)
+        page.write('</body></html>')
+        page.close()
+
+        status = success_to_html_text(total=file_total, successes=file_successes)
+        row = (
+            '<tr>'
+            '<td><a href="{d}/{page}">{d}</a></td><td>{status}</td>'
+            '<td>{nfiles}</td><td>{sfiles}</td><td>{pfiles}</td>'
+            '<td>{ntests}</td><td>{stests}</td>'
+            '<td>{ftests}</td><td>{ptests}</td>'
+            '<tr>'
+            .format(
+                d=to_web_path(directory), page=self.testsuite_page_name,
+                status=status,
+                nfiles=file_total, sfiles=file_successes, pfiles=file_pass_per,
+                stests=dir_successes, ftests=dir_failures + dir_errors,
+                ntests=dir_total, ptests=dir_pass_per))
+        return row
+
+    def report_for_dirs(self, root, directories):
+        # TODO: this will need chanages accoring to potential chnages in absolute/relative paths
+
+        page_name = os.path.join(root, self.main_page_name)
+        page = open(page_name, 'w')
+        head = (
+            '<html><body>'
+            '<h1>Testsuites results</h1>'
+            )
+        tests_table_head = (
+            '<table>'
+            '<thead><tr>'
+            '<th>Testsuite</th>'
+            '<th>Status</th>'
+            '<th>Test files</th><th>Successful</td>'
+            '<th>Percent successful</th>'
+            '<th>Tests</th><th>Successful</td>'
+            '<th>Failed</th><th>Percent successful</th>'
+            '</tr></thead><tbody>'
+            )
+        page.write(head)
+        page.write(tests_table_head)
+
+        for directory, test_files in directories.items():
+            row = self.report_for_dir(root=root, directory=directory,
+                                      test_files=test_files)
+            page.write(row)
+
+        pass_per = success_to_html_percent(total=self.total,
+                                           successes=self.successes)
+        file_pass_per = success_to_html_percent(total=self.files,
+                                                successes=self.files_successes)
+        testsuites_pass_per = success_to_html_percent(
+            total=self.testsuites, successes=self.testsuites_successes)
+        tests_table_foot = (
+            '<tfoot>'
+            '<tr>'
+            '<td>Summary</td><td>{status}</td>'
+            '<td>{nfiles}</td><td>{sfiles}</td><td>{pfiles}</td>'
+            '<td>{ntests}</td><td>{stests}</td>'
+            '<td>{ftests}</td><td>{ptests}</td>'
+            '</tr>'
+            '</tfoot>'
+            .format(
+                status=testsuites_pass_per, nfiles=self.files,
+                sfiles=self.files_successes, pfiles=file_pass_per,
+                stests=self.successes, ftests=self.failures + self.errors,
+                ntests=self.total, ptests=pass_per))
+        page.write(tests_table_foot)
+        page.write('</body></html>')
diff --git a/lib/python/gunittest/runner.py b/lib/python/gunittest/runner.py
new file mode 100644
index 0000000..29aeff0
--- /dev/null
+++ b/lib/python/gunittest/runner.py
@@ -0,0 +1,493 @@
+# -*- coding: utf-8 -*-
+"""Testing framework module for running tests in Python unittest fashion
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+
+File content taken from Python's  ``unittest.runner``, it will be used as
+a template. It is not expected that something will left.
+"""
+
+
+import sys
+import time
+
+import unittest
+
+__unittest = True
+
+
+class _WritelnDecorator(object):
+    """Used to decorate file-like objects with a handy 'writeln' method"""
+    def __init__(self,stream):
+        self.stream = stream
+
+    def __getattr__(self, attr):
+        if attr in ('stream', '__getstate__'):
+            raise AttributeError(attr)
+        return getattr(self.stream,attr)
+
+    def writeln(self, arg=None):
+        if arg:
+            self.write(arg)
+        self.write('\n') # text-mode streams translate to \r\n if needed
+
+
+class TestResult(unittest.TestResult):
+    # descriptions and verbosity unused
+    # included for compatibility with unittest's TestResult
+    # where are also unused, so perhaps we can remove them
+    # stream set to None and not included in interface, it would not make sense
+    def __init__(self, stream=None, descriptions=None, verbosity=None):
+        super(TestResult, self).__init__(stream=stream,
+                                         descriptions=descriptions,
+                                         verbosity=verbosity)
+        self.successes = []
+
+    def addSuccess(self, test):
+        super(TestResult, self).addSuccess(test)
+        self.successes.append(test)
+
+    # TODO: better would be to pass start at the beginning
+    # alternative is to leave counting time on class
+    # TODO: document: we expect all grass classes to have setTimes
+    # TODO: alternatively, be more forgiving for non-unittest methods
+    def setTimes(self, start_time, end_time, time_taken):
+        pass
+        # TODO: implement this
+
+
+class TextTestResult(TestResult):
+    """A test result class that can print formatted text results to a stream.
+
+    Used by TextTestRunner.
+    """
+    separator1 = '=' * 70
+    separator2 = '-' * 70
+
+    def __init__(self, stream, descriptions, verbosity):
+        super(TextTestResult, self).__init__(
+            stream=stream, descriptions=descriptions, verbosity=verbosity)
+        self.stream = _WritelnDecorator(stream)
+        self.showAll = verbosity > 1
+        self.dots = verbosity == 1
+        self.descriptions = descriptions
+
+        self.start_time = None
+        self.end_time = None
+        self.time_taken = None
+
+    def getDescription(self, test):
+        doc_first_line = test.shortDescription()
+        if self.descriptions and doc_first_line:
+            return '\n'.join((str(test), doc_first_line))
+        else:
+            return str(test)
+
+    def startTest(self, test):
+        super(TextTestResult, self).startTest(test)
+        if self.showAll:
+            self.stream.write(self.getDescription(test))
+            self.stream.write(" ... ")
+            self.stream.flush()
+
+    def addSuccess(self, test):
+        super(TextTestResult, self).addSuccess(test)
+        if self.showAll:
+            self.stream.writeln("ok")
+        elif self.dots:
+            self.stream.write('.')
+            self.stream.flush()
+
+    def addError(self, test, err):
+        super(TextTestResult, self).addError(test, err)
+        if self.showAll:
+            self.stream.writeln("ERROR")
+        elif self.dots:
+            self.stream.write('E')
+            self.stream.flush()
+
+    def addFailure(self, test, err):
+        super(TextTestResult, self).addFailure(test, err)
+        if self.showAll:
+            self.stream.writeln("FAIL")
+        elif self.dots:
+            self.stream.write('F')
+            self.stream.flush()
+
+    def addSkip(self, test, reason):
+        super(TextTestResult, self).addSkip(test, reason)
+        if self.showAll:
+            self.stream.writeln("skipped {0!r}".format(reason))
+        elif self.dots:
+            self.stream.write("s")
+            self.stream.flush()
+
+    def addExpectedFailure(self, test, err):
+        super(TextTestResult, self).addExpectedFailure(test, err)
+        if self.showAll:
+            self.stream.writeln("expected failure")
+        elif self.dots:
+            self.stream.write("x")
+            self.stream.flush()
+
+    def addUnexpectedSuccess(self, test):
+        super(TextTestResult, self).addUnexpectedSuccess(test)
+        if self.showAll:
+            self.stream.writeln("unexpected success")
+        elif self.dots:
+            self.stream.write("u")
+            self.stream.flush()
+
+    def printErrors(self):
+        if self.dots or self.showAll:
+            self.stream.writeln()
+        self.printErrorList('ERROR', self.errors)
+        self.printErrorList('FAIL', self.failures)
+
+    def printErrorList(self, flavour, errors):
+        for test, err in errors:
+            self.stream.writeln(self.separator1)
+            self.stream.writeln("%s: %s" % (flavour,
+                                            self.getDescription(test)))
+            self.stream.writeln(self.separator2)
+            self.stream.writeln("%s" % err)
+
+    def setTimes(self, start_time, end_time, time_taken):
+        self.start_time = start_time
+        self.end_time = end_time
+        self.time_taken = time_taken
+
+    def stopTestRun(self):
+        super(TextTestResult, self).stopTestRun()
+        self.printErrors()
+        self.stream.writeln(self.separator2)
+        run = self.testsRun
+        self.stream.write("Ran %d test%s" % (run, run != 1 and "s" or ""))
+        if self.time_taken:
+            self.stream.write(" in %.3fs" % (self.time_taken))
+        self.stream.writeln()
+
+        expectedFails = unexpectedSuccesses = skipped = 0
+        results = map(len, (self.expectedFailures,
+                            self.unexpectedSuccesses,
+                            self.skipped))
+        expectedFails, unexpectedSuccesses, skipped = results
+
+        infos = []
+        if not self.wasSuccessful():
+            self.stream.write("FAILED")
+            failed, errored = map(len, (self.failures, self.errors))
+            if failed:
+                infos.append("failures=%d" % failed)
+            if errored:
+                infos.append("errors=%d" % errored)
+        else:
+            self.stream.write("OK")
+        if skipped:
+            infos.append("skipped=%d" % skipped)
+        if expectedFails:
+            infos.append("expected_failures=%d" % expectedFails)
+        if unexpectedSuccesses:
+            infos.append("unexpected_successes=%d" % unexpectedSuccesses)
+        if infos:
+            self.stream.writeln(" (%s)" % (", ".join(infos),))
+        else:
+            self.stream.write("\n")
+
+
+class KeyValueTestResult(TestResult):
+    """A test result class that can print formatted text results to a stream.
+
+    Used by TextTestRunner.
+    """
+    separator1 = '=' * 70
+    separator2 = '-' * 70
+
+    def __init__(self, stream, test_type=None):
+        super(KeyValueTestResult, self).__init__(
+            stream=stream, descriptions=None, verbosity=None)
+        self._stream = _WritelnDecorator(stream)
+
+        self.start_time = None
+        self.end_time = None
+        self.time_taken = None
+
+        if test_type:
+            self.test_type = test_type
+        else:
+            self.test_type = 'not-specified'
+
+        self._grass_modules = []
+        self._supplementary_files = []
+
+    def setTimes(self, start_time, end_time, time_taken):
+        self.start_time = start_time
+        self.end_time = end_time
+        self.time_taken = time_taken
+
+    def stopTest(self, test):
+        super(KeyValueTestResult, self).stopTest(test)
+        if hasattr(test, 'grass_modules'):
+            self._grass_modules.extend(test.grass_modules)
+        if hasattr(test, 'supplementary_files'):
+            self._supplementary_files.extend(test.supplementary_files)
+
+    def stopTestRun(self):
+        super(KeyValueTestResult, self).stopTestRun()
+        infos = []
+
+        run = self.testsRun
+        # TODO: name should be included by test file caller
+        # from inspect import getsourcefile
+        # from os.path import abspath
+        # abspath(getsourcefile(lambda _: None))
+        # not writing name is a good option
+        # infos.append("name=%s" % 'unknown')
+
+        infos.append("time=%.3fs" % (self.time_taken))
+#            'date={rundate}\n'
+#            'date={runtime}\n'
+#            'date={start_datetime}\n'
+#            'date={end_datetime}\n'
+
+        failed, errored = map(len, (self.failures, self.errors))
+        succeeded = len(self.successes)
+        results = map(len, (self.expectedFailures,
+                            self.unexpectedSuccesses,
+                            self.skipped))
+        expectedFails, unexpectedSuccesses, skipped = results
+
+        status = 'succeeded' if self.wasSuccessful() else 'failed'
+        infos.append("status=%s" % status)
+
+        # if only errors occur, tests are not counted properly
+        # in unittest, so reconstruct their count here
+        # (using general equation, although now errors would be enough)
+        # alternative is to behave as failed file, i.e. do not
+        # write test details and just write status=failed
+        if not run:
+            run = errored + failed + succeeded
+        infos.append("total=%d" % (run))
+
+        infos.append("failures=%d" % failed)
+        infos.append("errors=%d" % errored)
+        infos.append("successes=%d" % succeeded)
+        infos.append("skipped=%d" % skipped)
+
+        # TODO: document this: if not supported by view,
+        # expected_failures should be counted as failures and vice versa
+        # or both add to skipped as unclear?
+        infos.append("expected_failures=%d" % expectedFails)
+        infos.append("unexpected_successes=%d" % unexpectedSuccesses)
+
+        # TODO: include each module just once? list good and bad modules?
+        infos.append("tested_modules=%s" % ','.join(self._grass_modules))
+        infos.append("supplementary_files=%s" % ','.join(self._supplementary_files))
+
+        # module, modules?, c, c++?, python
+        # TODO: include also type modules?
+        # TODO: include also C++ code?
+        # TODO: distinguish C and Python modules?
+        infos.append("test_type=%s" % (self.test_type))
+
+        self._stream.write('\n'.join(infos))
+        self._stream.write('\n')
+        self._stream.flush()
+
+
+class MultiTestResult(TestResult):
+    # descriptions and verbosity unused
+    # included for compatibility with unittest's TestResult
+    # where are also unused, so perhaps we can remove them
+    # stream set to None and not included in interface, it would not make sense
+    def __init__(self, results, forgiving=False,
+                 descriptions=None, verbosity=None):
+        super(MultiTestResult, self).__init__(
+            descriptions=descriptions, verbosity=verbosity, stream=None)
+        self._results = results
+        self._forgiving = forgiving
+
+    def startTest(self, test):
+        super(MultiTestResult, self).startTest(test)
+        for result in self._results:
+            try:
+                result.startTest(test)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def stopTest(self, test):
+        """Called when the given test has been run"""
+        super(MultiTestResult, self).stopTest(test)
+        for result in self._results:
+            try:
+                result.stopTest(test)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def addSuccess(self, test):
+        super(MultiTestResult, self).addSuccess(test)
+        for result in self._results:
+            try:
+                result.addSuccess(test)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def addError(self, test, err):
+        super(MultiTestResult, self).addError(test, err)
+        for result in self._results:
+            try:
+                result.addError(test, err)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def addFailure(self, test, err):
+        super(MultiTestResult, self).addFailure(test, err)
+        for result in self._results:
+            try:
+                result.addFailure(test, err)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def addSkip(self, test, reason):
+        super(MultiTestResult, self).addSkip(test, reason)
+        for result in self._results:
+            try:
+                result.addSkip(test, reason)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def addExpectedFailure(self, test, err):
+        super(MultiTestResult, self).addExpectedFailure(test, err)
+        for result in self._results:
+            try:
+                result.addExpectedFailure(test, err)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def addUnexpectedSuccess(self, test):
+        super(MultiTestResult, self).addUnexpectedSuccess(test)
+        for result in self._results:
+            try:
+                result.addUnexpectedSuccess(test)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def printErrors(self):
+        "Called by TestRunner after test run"
+        super(MultiTestResult, self).printErrors()
+        for result in self._results:
+            try:
+                result.printErrors()
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def startTestRun(self):
+        """Called once before any tests are executed.
+
+        See startTest for a method called before each test.
+        """
+        super(MultiTestResult, self).startTestRun()
+        for result in self._results:
+            try:
+                result.startTestRun()
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    def stopTestRun(self):
+        """Called once after all tests are executed.
+
+        See stopTest for a method called after each test.
+        """
+        super(MultiTestResult, self).stopTestRun()
+        for result in self._results:
+            try:
+                result.stopTestRun()
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+    # TODO: better would be to pass start at the beginning
+    # alternative is to leave counting time on class
+    # TODO: document: we expect all grass classes to have setTimes
+    # TODO: alternatively, be more forgiving for non-unittest methods
+    def setTimes(self, start_time, end_time, time_taken):
+        for result in self._results:
+            try:
+                result.setTimes(start_time, end_time, time_taken)
+            except AttributeError:
+                if self._forgiving:
+                    pass
+                else:
+                    raise
+
+
+class GrassTestRunner(object):
+    def __init__(self, stream=sys.stderr, descriptions=True, verbosity=1,
+                 failfast=False, buffer=False, result=None):
+        self.stream = _WritelnDecorator(stream)
+        self.descriptions = descriptions
+        self.verbosity = verbosity
+        self.failfast = failfast
+        self.buffer = buffer
+        self._result = result
+
+    def run(self, test):
+        "Run the given test case or test suite."
+        result = self._result
+        unittest.registerResult(result)
+        result.failfast = self.failfast
+        result.buffer = self.buffer
+        startTime = time.time()
+        startTestRun = getattr(result, 'startTestRun', None)
+        if startTestRun is not None:
+            startTestRun()
+        try:
+            test(result)
+        finally:
+            stopTime = time.time()
+            timeTaken = stopTime - startTime
+            setTimes = getattr(result, 'setTimes', None)
+            if setTimes is not None:
+                setTimes(startTime, stopTime, timeTaken)
+            stopTestRun = getattr(result, 'stopTestRun', None)
+            if stopTestRun is not None:
+                stopTestRun()
+
+        return result
diff --git a/lib/python/gunittest/testsuite/data/samplecode/fake_code.py b/lib/python/gunittest/testsuite/data/samplecode/fake_code.py
new file mode 100644
index 0000000..6b2bc6a
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/fake_code.py
@@ -0,0 +1 @@
+print "This is file (%s) should not run." % __file__
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/fake_code.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/fake_code.py
new file mode 100644
index 0000000..6b2bc6a
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/fake_code.py
@@ -0,0 +1 @@
+print "This is file (%s) should not run." % __file__
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/fake_code.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/fake_code.py
new file mode 100644
index 0000000..6b2bc6a
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/fake_code.py
@@ -0,0 +1 @@
+print "This is file (%s) should not run." % __file__
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_error.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_error.py
new file mode 100644
index 0000000..929d6e9
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_error.py
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestError(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        raise RuntimeError('Error in test function')
+        self.assertTrue(True)
+
+
+class TestErrorSetUp(TestCase):
+    # pylint: disable=R0904
+
+    def setUp(self):
+        raise RuntimeError('Error in setUp')
+
+    def test_something(self):
+        self.assertTrue(True)
+
+
+class TestErrorTearDown(TestCase):
+    # pylint: disable=R0904
+
+    def tearDown(self):
+        raise RuntimeError('Error in tearDown')
+
+    def test_something(self):
+        self.assertTrue(True)
+
+
+class TestErrorClassSetUp(TestCase):
+    # pylint: disable=R0904
+
+    @classmethod
+    def setUpClass(cls):
+        raise RuntimeError('Error in setUpClass')
+
+    def test_something(self):
+        self.assertTrue(True)
+
+
+class TestErrorClassTearDown(TestCase):
+    # pylint: disable=R0904
+
+    @classmethod
+    def tearDownClass(cls):
+        raise RuntimeError('Error in tearDownClass')
+
+    def test_something(self):
+        self.assertTrue(True)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_import_error.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_import_error.py
new file mode 100644
index 0000000..07433b4
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_errors/testsuite/test_import_error.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+
+# comment to get rid of the wrong import
+# (if it is imported before all tests start and everything would fail)
+#import this_module_or_package_does_not_exists__testing_import_error
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestNeverCalled(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        self.assertFalse("This should not be called"
+                         " if we are testing failed import."
+                         " It is all right if this fails and the wrong"
+                         " import is commented.")
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/fake_code.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/fake_code.py
new file mode 100644
index 0000000..6b2bc6a
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/fake_code.py
@@ -0,0 +1 @@
+print "This is file (%s) should not run." % __file__
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_gfatalerror.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_gfatalerror.py
new file mode 100644
index 0000000..52ae01b
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_gfatalerror.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+import grass.lib.gis as libgis
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestGFatalError(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        libgis.G_fatal_error("Testing G_fatal_error() function call")
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_one.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_one.py
new file mode 100644
index 0000000..45dd186
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_one.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestOsExit(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        os._exit(1)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_zero.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_zero.py
new file mode 100644
index 0000000..7b7d79f
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_osexit_zero.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestOsExit(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        os._exit(0)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_segfaut.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_segfaut.py
new file mode 100644
index 0000000..00d91bb
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_segfaut.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+
+import ctypes
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestSegfault(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        """Crash the Python interpreter"""
+        i = ctypes.c_char('a')
+        j = ctypes.pointer(i)
+        c = 0
+        while True:
+                j[c] = 'a'
+                c += 1
+        j
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_one.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_one.py
new file mode 100644
index 0000000..80423d8
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_one.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+import sys
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestSysExit(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        sys.exit(1)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_zero.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_zero.py
new file mode 100644
index 0000000..ecccaf4
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_errors/subsubmodule_exiting/testsuite/test_sysexit_zero.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+import sys
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestSysExit(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        sys.exit(0)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_test_fail/fake_code.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_test_fail/fake_code.py
new file mode 100644
index 0000000..6b2bc6a
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_test_fail/fake_code.py
@@ -0,0 +1 @@
+print "This is file (%s) should not run." % __file__
diff --git a/lib/python/gunittest/testsuite/data/samplecode/submodule_test_fail/testsuite/test_fail.py b/lib/python/gunittest/testsuite/data/samplecode/submodule_test_fail/testsuite/test_fail.py
new file mode 100644
index 0000000..adb603d
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/submodule_test_fail/testsuite/test_fail.py
@@ -0,0 +1,15 @@
+# -*- coding: utf-8 -*-
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestFail(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        self.assertTrue(False)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_good_and_bad.py b/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_good_and_bad.py
new file mode 100644
index 0000000..1cd4218
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_good_and_bad.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestSuccessAndFailure(TestCase):
+    # pylint: disable=R0904
+
+    def test_something(self):
+        self.assertTrue(True, msg="This should not fail in test_good_and_bad")
+
+    def test_something_else(self):
+        self.assertTrue(True, msg="This should not fail in test_good_and_bad")
+
+    def test_something_failing(self):
+        self.assertTrue(False, msg="This failed in test_good_and_bad")
+
+    def test_something_erroring(self):
+        raise RuntimeError('Some error which was raised')
+        self.assertTrue(True, msg="This should not fail in test_good_and_bad")
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_python_unittest.py b/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_python_unittest.py
new file mode 100644
index 0000000..8ce2df8
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_python_unittest.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+
+from unittest import TestCase, main
+
+
+class TestUnittestSuccessVerboseSetUp(TestCase):
+    # pylint: disable=R0904
+
+    def setUp(self):
+        print "print from setUp"
+
+    def tearDown(self):
+        print "print from tearDown"
+
+    def test_something(self):
+        self.assertTrue(True, msg="This should not fail")
+
+    def test_something_failing(self):
+        self.assertTrue(False, msg="This should fail")
+
+
+class TestUnittestSuccessVerboseClassSetUp(TestCase):
+    # pylint: disable=R0904
+
+    @classmethod
+    def setUpClass(cls):
+        print "print from setUpClass"
+
+    @classmethod
+    def tearDownClass(cls):
+        print "print from tearDownClass"
+
+    def test_something(self):
+        self.assertTrue(True, msg="This should not fail")
+
+    def test_something_failing(self):
+        self.assertTrue(False, msg="This should fail")
+
+if __name__ == '__main__':
+    main()
diff --git a/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_success.py b/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_success.py
new file mode 100644
index 0000000..d4c2236
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/samplecode/testsuite/test_success.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestSuccessVerboseSetUp(TestCase):
+    # pylint: disable=R0904
+
+    def setUp(self):
+        print "print from setUp"
+
+    def tearDown(self):
+        print "print from tearDown"
+
+    def test_something(self):
+        self.assertTrue(True)
+
+
+class TestSuccessVerboseClassSetUp(TestCase):
+    # pylint: disable=R0904
+
+    @classmethod
+    def setUpClass(cls):
+        print "print from setUpClass"
+
+    @classmethod
+    def tearDownClass(cls):
+        print "print from tearDownClass"
+
+    def test_something(self):
+        self.assertTrue(True)
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14.txt b/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14.txt
new file mode 100644
index 0000000..ce7f070
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14.txt
@@ -0,0 +1,67 @@
+ORGANIZATION: 
+DIGIT DATE:   
+DIGIT NAME:   John User
+MAP NAME:     
+MAP DATE:     Thu Jul 17 10:48:49 2014
+MAP SCALE:    1
+OTHER INFO:   
+ZONE:         0
+MAP THRESH:   0.000000
+VERTI:
+P  1 1
+ 158.22136448266869 271.58220193881516
+ 1     1         
+P  1 1
+ 165.11292819449133 150.54911424993
+ 1     2         
+P  1 1
+ 413.63994455209536 293.54906127024987
+ 1     3         
+P  1 1
+ 438.62186300745248 222.04908776008995
+ 1     4         
+L  6 1
+ 148.74546437891254 204.82017848053334
+ 275.80867031564253 304.31712956997274
+ 484.27847259827752 272.01292467080407
+ 473.51040429855459 199.22078296467743
+ 426.56162651176282 188.88343739694346
+ 392.96525341662743 270.72075647483734
+ 1     5         
+L  3 1
+ 167.2665418544359 85.07925898761491
+ 315.00443892663384 110.4919001749609
+ 350.75442568171377 97.13949548330453
+ 1     6         
+B  6 1
+ 424.52940565143189 166.64372618002309
+ 396.52865681615208 104.95457640229719
+ 450.78010768450673 83.95401477583732
+ 473.53071611317159 150.45579325962694
+ 433.27963966245687 169.70630808388182
+ 424.52940565143189 166.64372618002309
+ 1     10        
+C  1 1
+ 436.7797332668668 129.8927433337183
+ 1     11        
+B  5 1
+ 251.27477223313787 263.77132370240003
+ 211.02369578242312 160.95607407285686
+ 381.21574729685835 151.33081666072943
+ 366.77786117866719 271.20902261177127
+ 251.27477223313787 263.77132370240003
+ 1     12        
+B  9 1
+ 291.52584868385264 229.20789935885148
+ 278.83800936786645 191.5818931114442
+ 329.15185493125995 191.14438141089295
+ 354.09002186268106 234.45803976546645
+ 327.83931982960621 252.83353118861885
+ 319.96410921968373 211.70743133680159
+ 305.96373480204386 257.20864819413134
+ 287.15073167834021 250.20846098531138
+ 291.52584868385264 229.20789935885148
+ 1     13        
+C  1 1
+ 258.71247114250912 206.45729093018662
+ 1     14        
diff --git a/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_diff_header.txt b/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_diff_header.txt
new file mode 100644
index 0000000..fff59a9
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_diff_header.txt
@@ -0,0 +1,67 @@
+ORGANIZATION: Big University
+DIGIT DATE:   May 2014
+DIGIT NAME:   Tracy User
+MAP NAME:     
+MAP DATE:     Thu Jul 17 10:48:49 2014
+MAP SCALE:    1
+OTHER INFO:   A very useful note about this map.
+ZONE:         0
+MAP THRESH:   0.000000
+VERTI:
+P  1 1
+ 158.22136448266869 271.58220193881516
+ 1     1         
+P  1 1
+ 165.11292819449133 150.54911424993
+ 1     2         
+P  1 1
+ 413.63994455209536 293.54906127024987
+ 1     3         
+P  1 1
+ 438.62186300745248 222.04908776008995
+ 1     4         
+L  6 1
+ 148.74546437891254 204.82017848053334
+ 275.80867031564253 304.31712956997274
+ 484.27847259827752 272.01292467080407
+ 473.51040429855459 199.22078296467743
+ 426.56162651176282 188.88343739694346
+ 392.96525341662743 270.72075647483734
+ 1     5         
+L  3 1
+ 167.2665418544359 85.07925898761491
+ 315.00443892663384 110.4919001749609
+ 350.75442568171377 97.13949548330453
+ 1     6         
+B  6 1
+ 424.52940565143189 166.64372618002309
+ 396.52865681615208 104.95457640229719
+ 450.78010768450673 83.95401477583732
+ 473.53071611317159 150.45579325962694
+ 433.27963966245687 169.70630808388182
+ 424.52940565143189 166.64372618002309
+ 1     10        
+C  1 1
+ 436.7797332668668 129.8927433337183
+ 1     11        
+B  5 1
+ 251.27477223313787 263.77132370240003
+ 211.02369578242312 160.95607407285686
+ 381.21574729685835 151.33081666072943
+ 366.77786117866719 271.20902261177127
+ 251.27477223313787 263.77132370240003
+ 1     12        
+B  9 1
+ 291.52584868385264 229.20789935885148
+ 278.83800936786645 191.5818931114442
+ 329.15185493125995 191.14438141089295
+ 354.09002186268106 234.45803976546645
+ 327.83931982960621 252.83353118861885
+ 319.96410921968373 211.70743133680159
+ 305.96373480204386 257.20864819413134
+ 287.15073167834021 250.20846098531138
+ 291.52584868385264 229.20789935885148
+ 1     13        
+C  1 1
+ 258.71247114250912 206.45729093018662
+ 1     14        
diff --git a/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_modified.txt b/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_modified.txt
new file mode 100644
index 0000000..06b7dd5
--- /dev/null
+++ b/lib/python/gunittest/testsuite/data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_modified.txt
@@ -0,0 +1,67 @@
+ORGANIZATION: 
+DIGIT DATE:   
+DIGIT NAME:   John User
+MAP NAME:     
+MAP DATE:     Thu Jul 17 10:48:49 2014
+MAP SCALE:    1
+OTHER INFO:   
+ZONE:         0
+MAP THRESH:   0.000000
+VERTI:
+P  1 1
+ 158.22136448266869 271.582204882214
+ 1     1         
+P  1 1
+ 165.11292819449133 150.54911424993
+ 1     2         
+P  1 1
+ 413.63994455209536 293.54906127024987
+ 1     3         
+P  1 1
+ 438.62186300745248 222.04908776008995
+ 1     4         
+L  6 1
+ 148.74546437891254 204.82017848053334
+ 275.80867031564253 304.31712956997274
+ 484.27847259827752 272.01292467085862
+ 473.51040429855459 199.22078296467743
+ 426.56162651176282 188.88343739694346
+ 392.96525341662743 270.72075647483734
+ 1     5         
+L  3 1
+ 167.2665418544359 85.07925898761491
+ 315.00443892663384 110.4919001749609
+ 350.75442568171377 97.13949548330453
+ 1     6         
+B  6 1
+ 424.52940565143189 166.64372618002309
+ 396.52865681615208 104.95457640229719
+ 450.78010768450673 83.95401477583732
+ 473.53071611317159 150.45579325962694
+ 433.27963966245687 169.70630808388182
+ 424.52940565143189 166.64372618002309
+ 1     10        
+C  1 1
+ 436.7797332668668 129.8927433337183
+ 1     11        
+B  5 1
+ 251.27477223313787 263.77132370240003
+ 211.02369578242312 160.95607407285686
+ 381.21574729685835 151.33081666072943
+ 366.77786117866719 271.20902261177127
+ 251.27477223313787 263.77132370240003
+ 1     12        
+B  9 1
+ 291.52584868385264 229.20789935885148
+ 278.83800936786645 191.5818931114442
+ 329.15185493125995 191.14438141089295
+ 354.09002186268106 234.45803976546645
+ 327.83931915547823 252.83353118861885
+ 319.96410921968373 211.70743133680159
+ 305.96373480204386 257.20864819413134
+ 287.15073167834021 250.20846098531138
+ 291.52584868385264 229.20789935885148
+ 1     13        
+C  1 1
+ 258.71247114250912 206.45729095422489
+ 1     14        
diff --git a/lib/python/gunittest/testsuite/test_assertions.py b/lib/python/gunittest/testsuite/test_assertions.py
new file mode 100644
index 0000000..b56b73c
--- /dev/null
+++ b/lib/python/gunittest/testsuite/test_assertions.py
@@ -0,0 +1,357 @@
+# -*- coding: utf-8 -*-
+
+"""
+Tests assertion methods.
+"""
+
+
+import os
+
+import grass.script.core as gcore
+from grass.pygrass.modules import Module
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import SimpleModule
+
+
+class TestTextAssertions(TestCase):
+    # pylint: disable=R0904
+
+    std_newline = "aaa\nbbb\n"
+    platfrom_newline = "aaa{nl}bbb{nl}".format(nl=os.linesep)
+
+    def test_assertLooksLike(self):
+        self.assertLooksLike("Generated map is <elevation>",
+                             "Generated map is <...>")
+        self.assertRaises(self.failureException,
+                          self.assertLooksLike,
+                          "Generated map is elevation.",
+                          "Generated map is <...>")
+        self.assertLooksLike("Projection string: '+proj=longlat +datum=WGS84'",
+                             "Projection string: ...")
+
+    def test_assertLooksLike_multiline(self):
+        self.assertLooksLike("a=123\nb=456\nc=789",
+                             "a=...\nb=...\nc=...")
+
+    def test_assertLooksLike_multiline_platform_dependent(self):
+        self.assertLooksLike("a=123\nb=456\nc=789",
+                             "a=...{nl}b=...{nl}c=...".format(nl=os.linesep))
+
+    def test_assertLooksLike_numbers(self):
+        self.assertLooksLike("abc = 125521",
+                             "abc = 125...")
+        self.assertLooksLike("abc = 689.156",
+                             "abc = 689...")
+        self.assertLooksLike("abc = 689.159589",
+                             "abc = 689.15...")
+        # this should fail accoring to the implementation
+        # first three dots are considered as ellipses
+        self.assertRaises(self.failureException,
+                          self.assertLooksLike,
+                          "abc = 689.159589",
+                          "abc = 689....")
+
+    def do_all_combidnations(self, first, second, function):
+        function(first, first)
+        function(first, second)
+        function(second, first)
+        function(second, second)
+
+    def test_assertMultiLineEqual(self):
+        r"""Test different combinations of ``\n`` and os.linesep"""
+        self.do_all_combidnations(self.std_newline, self.platfrom_newline,
+                                  function=self.assertMultiLineEqual)
+
+    def test_assertMultiLineEqual_raises(self):
+        """Test mixed line endings"""
+        self.assertRaises(self.failureException,
+                          self.assertMultiLineEqual,
+                          "aaa\n\rbbb\r",
+                          "aaa\nbbb\n")
+
+    def test_assertEqual(self):
+        """Test for of newlines for strings (uses overwritten assertMultiLineEqual())"""
+        self.do_all_combidnations(self.std_newline, self.platfrom_newline,
+                                  function=self.assertEqual)
+
+    def test_assertEqual_raises(self):
+        """Test mixed line endings"""
+        self.assertRaises(self.failureException,
+                          self.assertEqual,
+                          "aaa\n\rbbb\r",
+                          "aaa\nbbb\n")
+
+
+R_UNIVAR_ELEVATION_SUBSET = """n=2025000
+null_cells=0
+min=55.5787925720215
+max=156.329864501953
+"""
+
+RANDOM_KEYVALUES = """abc=2025000
+aaa=55.5787925720215
+bbb=156.329864501953
+"""
+
+R_INFO_ELEVATION_SUBSET = """rows=1350
+cols=1500
+cells=2025000
+datatype=FCELL
+"""
+
+# r.info -gre map=elevation
+ELEVATION_MAPSET_DICT = {'mapset': 'PERMANENT'}
+
+# r.univar map=elevation
+ELEVATION_MINMAX = """min=55.5787925720215
+max=156.329864501953
+"""
+
+# values rounded manually to maximal expected perecision
+ELEVATION_MINMAX_DICT = {'min': 55.58, 'max': 156.33}
+
+
+class TestAssertModuleKeyValue(TestCase):
+    """Test usage of `assertModuleKeyValue` method."""
+    # pylint: disable=R0904
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        cls.runModule(SimpleModule('g.region', raster='elevation'))
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.del_temp_region()
+
+    def test_pygrass_module(self):
+        """Test syntax with Module and required parameters as module"""
+        module = Module('r.info', map='elevation', flags='gr',
+                        run_=False, finish_=True)
+        self.assertModuleKeyValue(module,
+                                  reference=dict(min=55.58, max=156.33),
+                                  precision=0.01, sep='=')
+
+    def test_pygrass_simple_module(self):
+        """Test syntax with SimpleModule as module"""
+        module = SimpleModule('r.info', map='elevation', flags='gr')
+        self.assertModuleKeyValue(module,
+                                  reference=dict(min=55.58, max=156.33),
+                                  precision=0.01, sep='=')
+
+    def test_direct_parameters(self):
+        """Test syntax with module and its parameters as function parameters"""
+        self.assertModuleKeyValue('r.info', map='elevation', flags='gr',
+                                  reference=dict(min=55.58, max=156.33),
+                                  precision=0.01, sep='=')
+
+    def test_parameters_parameter(self):
+        """Test syntax with module parameters in one parameters dictionary"""
+        self.assertModuleKeyValue(module='r.info',
+                                  parameters=dict(map='elevation', flags='gr'),
+                                  reference=dict(min=55.58, max=156.33),
+                                  precision=0.01, sep='=')
+
+
+class TestRasterMapAssertions(TestCase):
+    # pylint: disable=R0904
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        # TODO: here we should actually not call self.runModule but call_module
+        cls.runModule(SimpleModule('g.region', raster='elevation'))
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.del_temp_region()
+
+    def test_assertRasterFitsUnivar(self):
+        self.assertRasterFitsUnivar('elevation', R_UNIVAR_ELEVATION_SUBSET,
+                                    precision=0.01)
+        self.assertRaises(self.failureException,
+                          self.assertRasterFitsUnivar,
+                          'geology', R_UNIVAR_ELEVATION_SUBSET, precision=0.01)
+        self.assertRaises(ValueError,
+                          self.assertRasterFitsUnivar,
+                          'elevation', RANDOM_KEYVALUES)
+
+    def test_assertRasterFitsInfo(self):
+        self.assertRasterFitsInfo('elevation', R_INFO_ELEVATION_SUBSET)
+        self.assertRaises(self.failureException,
+                          self.assertRasterFitsInfo,
+                          'geology', R_INFO_ELEVATION_SUBSET)
+        self.assertRaises(ValueError,
+                          self.assertRasterFitsInfo,
+                          'elevation', RANDOM_KEYVALUES)
+
+    def test_common_values_info_univar(self):
+        self.assertRasterFitsUnivar('elevation',
+                                    ELEVATION_MINMAX, precision=0.01)
+        self.assertRasterFitsInfo('elevation',
+                                  ELEVATION_MINMAX, precision=0.01)
+
+    def test_dict_as_parameter(self):
+        """This also tests if we are using r.info -e flag and that precision is
+        not required for strings.
+        """
+        self.assertRasterFitsInfo('elevation', ELEVATION_MAPSET_DICT)
+
+    def test_assertRastersNoDifference(self):
+        """Test basic usage of assertRastersNoDifference"""
+        self.assertRastersNoDifference(actual='elevation',
+                                       reference='elevation',
+                                       precision=0,  # this might need to be increased
+                                       msg="The same maps should have no difference")
+        self.assertRaises(self.failureException,
+                          self.assertRastersNoDifference,
+                          actual='elevation',
+                          reference='geology',
+                          precision=1,
+                          msg="Different maps should have difference")
+
+    def test_assertRastersNoDifference_mean(self):
+        """Test usage of assertRastersNoDifference with mean"""
+        self.assertRastersNoDifference(actual='elevation',
+                                       reference='elevation',
+                                       precision=0,  # this might need to be increased
+                                       statistics=dict(mean=0),
+                                       msg="The difference of same maps should have small mean")
+        self.assertRaises(self.failureException,
+                          self.assertRastersNoDifference,
+                          actual='elevation',
+                          reference='geology',
+                          precision=1,
+                          statistics=dict(mean=0),
+                          msg="The difference of different maps should have huge mean")
+
+
+class TestMapExistsAssertions(TestCase):
+    # pylint: disable=R0904
+
+    raster_cell = 'TestMapExistsAssertions_raster_cell'
+    raster_dcell = 'TestMapExistsAssertions_raster_dcell'
+    raster3d = 'TestMapExistsAssertions_raster3D'
+    vector = 'TestMapExistsAssertions_vector'
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        cls.runModule('g.region', n=10, e=10, s=0, w=0, t=10, b=0, res=1)
+        cls.runModule('r.mapcalc', expression=cls.raster_cell + ' = 1')
+        cls.runModule('r.mapcalc', expression=cls.raster_dcell + ' = 1.0')
+        cls.runModule('r3.mapcalc', expression=cls.raster3d + ' = 1.0')
+        cls.runModule('v.edit', map=cls.vector, tool='create')
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.runModule('g.remove', flags='f',
+                      type=['raster', 'raster3d', 'vector'],
+                      name=[cls.raster_cell, cls.raster_dcell,
+                            cls.raster3d, cls.vector])
+        cls.del_temp_region()
+
+    def test_rast_cell_exists(self):
+        self.assertRasterExists(self.raster_cell)
+
+    def test_rast_dcell_exists(self):
+        self.assertRasterExists(self.raster_dcell)
+
+    def test_rast_does_not_exist(self):
+        self.assertRaises(self.failureException,
+                          self.assertRasterExists,
+                          'does_not_exists')
+
+    def test_rast3d_exists(self):
+        self.assertRaster3dExists(self.raster3d)
+
+    def test_rast3d_does_not_exist(self):
+        self.assertRaises(self.failureException,
+                          self.assertRaster3dExists,
+                          'does_not_exists')
+
+    def test_vect_exists(self):
+        self.assertVectorExists(self.vector)
+
+    def test_vect_does_not_exist(self):
+        self.assertRaises(self.failureException,
+                          self.assertVectorExists,
+                          'does_not_exists')
+
+    def test_rast_does_not_exist_in_current_mapset(self):
+		# expecting that there is elevation in PERMANENT
+		# TODO: use skip decorator
+		# TODO: add the same tests but for vect and rast3d
+        self.assertRaises(self.failureException,
+                          self.assertRasterExists,
+                          'elevation',
+                          msg="Rasters from different mapsets should be ignored")
+
+
+class TestFileAssertions(TestCase):
+    # pylint: disable=R0904
+
+    @classmethod
+    def setUpClass(cls):
+        # we expect WIND to be always present
+        gisenv = gcore.gisenv()
+        cls.existing_file = os.path.join(gisenv['GISDBASE'],
+                                         gisenv['LOCATION_NAME'],
+                                         'PERMANENT', 'WIND')
+        cls.emtpy_file = cls.__name__ + '_this_is_an_empty_file'
+        open(cls.emtpy_file, 'w').close()
+        cls.file_with_md5 = cls.__name__ + '_this_is_a_file_with_known_md5'
+        file_content = 'Content of the file with known MD5.\n'
+        with open(cls.file_with_md5, 'w') as f:
+            f.write(file_content)
+        # MD5 sum created using:
+        # echo 'Content of the file with known MD5.' > some_file.txt
+        # md5sum some_file.txt
+        cls.file_md5 = '807bba4ffac4bb351bc3f27853009949'
+
+        cls.file_with_same_content = cls.__name__ + '_file_with_same_content'
+        with open(cls.file_with_same_content, 'w') as f:
+            f.write(file_content)
+
+        cls.file_with_different_content = cls.__name__ + '_file_with_different_content'
+        with open(cls.file_with_different_content, 'w') as f:
+            f.write(file_content + ' Something else here.')
+
+    @classmethod
+    def tearDownClass(cls):
+        os.remove(cls.emtpy_file)
+        os.remove(cls.file_with_md5)
+        os.remove(cls.file_with_same_content)
+        os.remove(cls.file_with_different_content)
+
+    def test_assertFileExists(self):
+        self.assertFileExists(filename=self.existing_file)
+        self.assertRaises(self.failureException,
+                          self.assertFileExists,
+                          filename='this_one_does_not_exists')
+
+    def test_assertFileExists_empty_file(self):
+        self.assertFileExists(filename=self.emtpy_file, skip_size_check=True)
+        self.assertRaises(self.failureException,
+                          self.assertFileExists,
+                          filename=self.emtpy_file)
+
+    def test_assertFileMd5(self):
+        self.assertFileMd5(filename=self.file_with_md5, md5=self.file_md5)
+        self.assertRaises(self.failureException,
+                          self.assertFileMd5,
+                          filename=self.file_with_md5, md5='wrongmd5')
+
+    def test_assertFilesEqualMd5(self):
+        self.assertFilesEqualMd5(filename=self.file_with_md5,
+                                 reference=self.file_with_same_content)
+        self.assertRaises(self.failureException,
+                          self.assertFilesEqualMd5,
+                          filename=self.file_with_md5,
+                          reference=self.file_with_different_content)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/test_assertions_rast3d.py b/lib/python/gunittest/testsuite/test_assertions_rast3d.py
new file mode 100644
index 0000000..088495d
--- /dev/null
+++ b/lib/python/gunittest/testsuite/test_assertions_rast3d.py
@@ -0,0 +1,127 @@
+# -*- coding: utf-8 -*-
+
+"""
+Tests assertion methods for 3D rasters.
+"""
+
+from grass.exceptions import CalledModuleError
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestRaster3dMapAssertions(TestCase):
+    # pylint: disable=R0904
+    constant_map = 'raster3d_assertions_constant'
+    rcd_increasing_map = 'raster3d_assertions_rcd_increasing'
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        # TODO: here we should actually not call self.runModule but call_module
+        cls.runModule('g.region', n=200, s=100, e=400, w=200,
+                      t=500, b=450, res3=1)
+        cls.runModule('r3.mapcalc', expression='%s = 155' % cls.constant_map)
+        cls.runModule('r3.mapcalc',
+                      expression='%s = row() + col() + depth()' % cls.rcd_increasing_map)
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.del_temp_region()
+        # TODO: input as list does not work, why?
+        cls.runModule('g.remove', flags='f', type='raster_3d',
+                      name=','.join([cls.constant_map, cls.rcd_increasing_map]))
+
+    def test_assertRaster3dFitsUnivar(self):
+        reference = dict(n=1000000,
+                         null_cells=0,
+                         cells=1000000,
+                         min=155,
+                         max=155,
+                         range=0,
+                         mean=155,
+                         mean_of_abs=155,
+                         stddev=0,
+                         variance=0,
+                         coeff_var=0,
+                         sum=155000000)
+        self.assertRaster3dFitsUnivar(self.constant_map, reference=reference,
+                                      precision=0.000001)
+        self.assertRaises(self.failureException,
+                          self.assertRaster3dFitsUnivar,
+                          self.rcd_increasing_map,
+                          reference=reference, precision=1)
+        self.assertRaises(ValueError,
+                          self.assertRaster3dFitsUnivar,
+                          self.constant_map, reference=dict(a=4, b=5, c=6))
+        self.assertRaises(CalledModuleError,
+                          self.assertRaster3dFitsUnivar,
+                          'does_not_exists', reference=dict(a=4, b=5, c=6))
+
+    def test_assertRaster3dFitsInfo(self):
+        reference = dict(north=200,
+                         south=100,
+                         east=400,
+                         west=200,
+                         bottom=450,
+                         top=500,
+                         nsres=1,
+                         ewres=1,
+                         tbres=1,
+                         rows=100,
+                         cols=200,
+                         depths=50)
+        self.assertRaster3dFitsInfo(self.constant_map, reference=reference)
+
+        reference['north'] = 500
+        self.assertRaises(self.failureException,
+                          self.assertRaster3dFitsInfo,
+                          self.constant_map, reference=reference)
+        self.assertRaises(ValueError,
+                          self.assertRaster3dFitsInfo,
+                          self.constant_map, reference=dict(a=5))
+
+    def test_common_values_info_univar(self):
+        minmax = dict(min=3, max=350)
+        self.assertRaster3dFitsUnivar(self.rcd_increasing_map,
+                                      minmax, precision=0.01)
+        self.assertRaster3dFitsInfo(self.rcd_increasing_map,
+                                    minmax, precision=0.01)
+
+    def test_string_as_parameter(self):
+        self.assertRaster3dFitsInfo(self.constant_map,
+                                    reference="max=155", precision=1)
+        self.assertRaster3dFitsUnivar(self.rcd_increasing_map,
+                                      reference="n=1000000", precision=0)
+
+    def test_assertRasters3dNoDifference(self):
+        """Test basic usage of assertRastersNoDifference"""
+        # precision might need to be increased
+        self.assertRasters3dNoDifference(actual=self.rcd_increasing_map,
+                                       reference=self.rcd_increasing_map,
+                                       precision=0,
+                                       msg="The same maps should have no difference")
+        self.assertRaises(self.failureException,
+                          self.assertRasters3dNoDifference,
+                          actual=self.constant_map,
+                          reference=self.rcd_increasing_map,
+                          precision=1,
+                          msg="Different maps should have difference")
+
+    def test_assertRasters3dNoDifference_mean(self):
+        """Test usage of assertRastersNoDifference with mean"""
+        self.assertRasters3dNoDifference(actual=self.rcd_increasing_map,
+                                       reference=self.rcd_increasing_map,
+                                       precision=0,  # this might need to be increased
+                                       statistics=dict(mean=0),
+                                       msg="The difference of same maps should have small mean")
+        self.assertRaises(self.failureException,
+                          self.assertRasters3dNoDifference,
+                          actual=self.constant_map,
+                          reference=self.rcd_increasing_map,
+                          precision=1,
+                          statistics=dict(mean=0),
+                          msg="The difference of different maps should have huge mean")
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/test_assertions_vect.py b/lib/python/gunittest/testsuite/test_assertions_vect.py
new file mode 100644
index 0000000..407e950
--- /dev/null
+++ b/lib/python/gunittest/testsuite/test_assertions_vect.py
@@ -0,0 +1,233 @@
+# -*- coding: utf-8 -*-
+
+"""
+Tests assertion methods for vectors.
+"""
+
+from grass.exceptions import CalledModuleError
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+V_UNIVAR_SCHOOLS_WIDTH_SUBSET = """n=144
+nmissing=0
+nnull=23
+min=0
+max=2294
+range=2294
+sum=109978
+mean=763.736
+mean_abs=763.736
+"""
+
+RANDOM_KEYVALUES = """abc=2025000
+aaa=55.5787925720215
+bbb=156.329864501953
+"""
+
+# v.info schools -t
+V_UNIVAR_SCHOOLS_TOPO = dict(
+    nodes=0,
+    points=167,
+    lines=0,
+    boundaries=0,
+    centroids=0,
+    areas=0,
+    islands=0,
+    primitives=167,
+    map3d=0,
+)
+
+# v.info schools -g and rounded
+V_UNIVAR_SCHOOLS_REGION = dict(
+    north=248160,
+    south=203560,
+    east=671715,
+    west=619215,
+    top=0,
+    bottom=0,
+)
+
+# v.info schools -g and reduced to minimum
+V_UNIVAR_SCHOOLS_EXTENDED = dict(
+    name='schools',
+    level=2,
+    num_dblinks=1,
+)
+
+
+class TestVectorInfoAssertions(TestCase):
+    """Test assertions of map meta and statistics"""
+    # pylint: disable=R0904
+    def test_assertVectorFitsUnivar(self):
+        self.assertVectorFitsUnivar(map='schools', column='CORECAPACI',
+                                    reference=V_UNIVAR_SCHOOLS_WIDTH_SUBSET,
+                                    precision=0.01)
+        self.assertRaises(self.failureException,
+                          self.assertVectorFitsUnivar,
+                          map='schools', column='GLEVEL',
+                          reference=V_UNIVAR_SCHOOLS_WIDTH_SUBSET,
+                          precision=0.01)
+        self.assertRaises(ValueError,
+                          self.assertVectorFitsUnivar,
+                          map='schools', column='CORECAPACI',
+                          reference=RANDOM_KEYVALUES)
+
+    def test_assertVectorFitsTopoInfo(self):
+        self.assertVectorFitsTopoInfo('schools', V_UNIVAR_SCHOOLS_TOPO)
+        self.assertRaises(self.failureException,
+                          self.assertVectorFitsTopoInfo,
+                          'hospitals',
+                          V_UNIVAR_SCHOOLS_TOPO)
+        self.assertRaises(ValueError,
+                          self.assertVectorFitsTopoInfo,
+                          'schools', RANDOM_KEYVALUES)
+        self.assertRaises(ValueError,
+                          self.assertVectorFitsTopoInfo,
+                          'schools', V_UNIVAR_SCHOOLS_REGION)
+
+    def test_assertVectorFitsRegionInfo(self):
+        self.assertVectorFitsRegionInfo('schools', V_UNIVAR_SCHOOLS_REGION, precision=1.0)
+        self.assertRaises(self.failureException,
+                          self.assertVectorFitsRegionInfo,
+                          'hospitals', V_UNIVAR_SCHOOLS_REGION, precision=1.0)
+        self.assertRaises(ValueError,
+                          self.assertVectorFitsRegionInfo,
+                          'schools', RANDOM_KEYVALUES, precision=1.0)
+        self.assertRaises(ValueError,
+                          self.assertVectorFitsRegionInfo,
+                          'schools', V_UNIVAR_SCHOOLS_TOPO, precision=1.0)
+
+    def test_assertVectorFitsExtendedInfo(self):
+        self.assertVectorFitsExtendedInfo('schools', V_UNIVAR_SCHOOLS_EXTENDED)
+        self.assertRaises(self.failureException,
+                          self.assertVectorFitsExtendedInfo,
+                          'hospitals',
+                          V_UNIVAR_SCHOOLS_EXTENDED)
+        self.assertRaises(ValueError,
+                          self.assertVectorFitsExtendedInfo,
+                          'schools',
+                          RANDOM_KEYVALUES)
+        self.assertRaises(ValueError,
+                          self.assertVectorFitsExtendedInfo,
+                          'schools',
+                          V_UNIVAR_SCHOOLS_TOPO)
+
+    def test_assertVectorInfoEqualsVectorInfo(self):
+        self.assertVectorInfoEqualsVectorInfo('schools', 'schools', precision=0.00000001)
+        self.assertRaises(self.failureException,
+                          self.assertVectorInfoEqualsVectorInfo,
+                          'hospitals', 'schools', precision=0.00000001)
+        self.assertRaises(CalledModuleError,
+                          self.assertVectorInfoEqualsVectorInfo,
+                          'schools', 'does_not_exist', precision=0.00000001)
+
+
+class TestVectorGeometryAssertions(TestCase):
+    """Test assertions of map geometry"""
+    # pylint: disable=R0904
+    maps_to_remove = []
+    simple_base_file = 'data/simple_vector_map_ascii_4p_2l_2c_3b_dp14.txt'
+    simple_modified_file = 'data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_modified.txt'
+    simple_diff_header_file = 'data/simple_vector_map_ascii_4p_2l_2c_3b_dp14_diff_header.txt'
+    precision = 0.00001
+    digits = 14
+
+    @classmethod
+    def tearDownClass(cls):
+        # TODO: this should be decided globaly by cleanup variable
+        # perhaps cls.gremove() wheoul be the right option
+        # when invoking separately, no need to delete maps since mapset
+        # is deleted
+        if cls.maps_to_remove:
+            cls.runModule('g.remove', flags='f', type='vector',
+                          name=','.join(cls.maps_to_remove))
+
+    def test_assertVectorEqualsVector_basic(self):
+        """Check completely different maps."""
+        self.assertVectorEqualsVector(actual='schools', reference='schools',
+                                      precision=0.01, digits=15)
+        self.assertRaises(self.failureException,
+                          self.assertVectorEqualsVector,
+                          actual='schools', reference='hospitals',
+                          precision=0.01, digits=7)
+        self.assertRaises(CalledModuleError,
+                          self.assertVectorEqualsVector,
+                          actual='does_not_exist', reference='hospitals',
+                          precision=0.01, digits=7)
+
+    def test_assertVectorEqualsVector_geometry_same_header(self):
+        """Check small slighlty different maps with same header in ASCII."""
+        amap = 'simple_vector_map_base_geom'
+        bmap = 'simple_vector_map_modified_geom'
+        self.runModule('v.in.ascii', format='standard',
+                       input=self.simple_base_file,
+                       output=amap)
+        self.maps_to_remove.append(amap)
+        self.runModule('v.in.ascii', format='standard',
+                       input=self.simple_modified_file,
+                       output=bmap)
+        self.maps_to_remove.append(bmap)
+        self.assertVectorEqualsVector(actual=amap, reference=amap,
+                                      precision=self.precision, digits=self.digits)
+        self.assertRaises(self.failureException,
+                          self.assertVectorEqualsVector,
+                          actual=amap, reference=bmap,
+                          precision=self.precision, digits=self.digits)
+
+    def test_assertVectorEqualsVector_geometry(self):
+        """Check small slighlty different maps with different headers in ASCII."""
+        amap = 'simple_vector_map_base'
+        bmap = 'simple_vector_map_different_header'
+        self.runModule('v.in.ascii', format='standard',
+                       input=self.simple_base_file,
+                       output=amap)
+        self.maps_to_remove.append(amap)
+        self.runModule('v.in.ascii', format='standard',
+                       input=self.simple_diff_header_file,
+                       output=bmap)
+        self.maps_to_remove.append(bmap)
+        self.assertVectorEqualsVector(actual=amap, reference=bmap,
+                                      precision=self.precision, digits=self.digits)
+
+    def test_assertVectorAsciiEqualsVectorAscii_diff_header(self):
+        """Test ASCII files with different header.
+
+        Prove that files were not deleted if not requested.
+        """
+        self.assertVectorAsciiEqualsVectorAscii(actual=self.simple_base_file,
+                                                reference=self.simple_diff_header_file)
+        self.assertFileExists(self.simple_base_file)
+        self.assertFileExists(self.simple_diff_header_file)
+
+    def test_assertVectorAsciiEqualsVectorAscii_diff_content(self):
+        """Test ASCII files with slighlty different content.
+
+        Prove that files were not deleted if not requested.
+        """
+        self.assertRaises(self.failureException,
+                          self.assertVectorAsciiEqualsVectorAscii,
+                          actual=self.simple_base_file,
+                          reference=self.simple_modified_file)
+        self.assertFileExists(self.simple_base_file)
+        self.assertFileExists(self.simple_modified_file)
+
+    def test_assertVectorEqualsAscii_by_import(self):
+        amap = 'simple_vector_map_imported_base'
+        self.runModule('v.in.ascii', format='standard',
+                       input=self.simple_base_file,
+                       output=amap)
+        self.maps_to_remove.append(amap)
+        self.assertVectorEqualsAscii(amap, self.simple_diff_header_file,
+                                     precision=self.precision, digits=self.digits)
+        self.assertRaises(self.failureException,
+                          self.assertVectorEqualsAscii,
+                          amap, self.simple_modified_file,
+                          precision=self.precision, digits=self.digits)
+        self.assertFileExists(self.simple_base_file)
+        self.assertFileExists(self.simple_modified_file)
+        self.assertFileExists(self.simple_diff_header_file)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/test_checkers.py b/lib/python/gunittest/testsuite/test_checkers.py
new file mode 100644
index 0000000..d616834
--- /dev/null
+++ b/lib/python/gunittest/testsuite/test_checkers.py
@@ -0,0 +1,398 @@
+# -*- coding: utf-8 -*-
+
+"""
+Tests checkers functions
+
+ at brief Test of GRASS Python testing framework checkers
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Vaclav Petras
+"""
+
+
+from grass.script.utils import parse_key_val, try_remove
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.checkers import (
+    values_equal, text_to_keyvalue,
+    keyvalue_equals, proj_info_equals, proj_units_equals,
+    file_md5, text_file_md5)
+
+
+
+class TestValuesEqual(TestCase):
+
+    def test_floats(self):
+        self.assertTrue(values_equal(5.0, 5.0))
+        self.assertTrue(values_equal(5.1, 5.19, precision=0.1))
+        self.assertTrue(values_equal(5.00005, 5.000059, precision=0.00001))
+        self.assertFalse(values_equal(5.125, 5.280))
+        self.assertFalse(values_equal(5.00005, 5.00006, precision=0.00001))
+        self.assertFalse(values_equal(2.5, 15.5, precision=5))
+
+    def test_ints(self):
+        self.assertTrue(values_equal(5, 5, precision=0.01))
+        self.assertFalse(values_equal(5, 6, precision=0.01))
+        self.assertTrue(values_equal(5, 8, precision=3))
+        self.assertFalse(values_equal(3600, 3623, precision=20))
+        self.assertTrue(values_equal(5, 5))
+        self.assertFalse(values_equal(5, 6))
+
+    def test_floats_and_ints(self):
+        self.assertTrue(values_equal(5.1, 5, precision=0.2))
+        self.assertFalse(values_equal(5.1, 5, precision=0.01))
+
+    def test_strings(self):
+        self.assertTrue(values_equal('hello', 'hello'))
+        self.assertFalse(values_equal('Hello', 'hello'))
+
+    def test_lists(self):
+        self.assertTrue(values_equal([1, 2, 3], [1, 2, 3]))
+        self.assertTrue(values_equal([1.1, 2.0, 3.9],
+                                     [1.1, 1.95, 4.0],
+                                     precision=0.2))
+        self.assertFalse(values_equal([1, 2, 3, 4, 5],
+                                      [1, 22, 3, 4, 5],
+                                      precision=1))
+
+    def test_mixed_lists(self):
+        self.assertTrue(values_equal([1, 'abc', 8], [1, 'abc', 8.2],
+                                     precision=0.5))
+
+    def test_recursive_lists(self):
+        self.assertTrue(values_equal([1, 'abc', [5, 9.6, 9.0]],
+                                     [1, 'abc', [4.9, 9.2, 9.3]],
+                                     precision=0.5))
+
+KEYVAL_TEXT = '''s: Hello
+str: Hello world!
+f: 1.0
+l: 1,2,3,4,5
+mixed: hello,8,-25,world!,4-1,5:2,0.1,-9.6
+'''
+
+# file location/PERMANENT/PROJ_INFO
+PROJ_INFO_TEXT_1 = """name: Lambert Conformal Conic
+proj: lcc
+datum: nad83
+a: 6378137.0
+es: 0.006694380022900787
+lat_1: 36.16666666666666
+lat_2: 34.33333333333334
+lat_0: 33.75
+lon_0: -79
+x_0: 609601.22
+y_0: 0
+no_defs: defined
+"""
+
+# file location/PERMANENT/PROJ_UNITS
+PROJ_UNITS_TEXT_1 = """unit: Meter
+units: Meters
+meters: 1
+"""
+
+PROJ_INFO_TEXT_2 = """name: Lambert Conformal Conic
+proj: lcc
+datum: nad83
+a: 6378137.0000000002
+es: 0.006694380022900787
+lat_1:  36.166666667
+lat_2: 34.333333333
+lat_0:   33.75
+lon_0:   -79
+x_0: 609601.22
+y_0: 0
+no_defs: defined
+"""
+
+PROJ_UNITS_TEXT_2 = """unit: Metre
+units: Metres
+meters: 1
+"""
+# what about keys and lower/upper case letters
+
+
+class TestTextToKeyValue(TestCase):
+    def test_conversion(self):
+        keyvals = text_to_keyvalue(KEYVAL_TEXT, sep=':', val_sep=',')
+        expected = {'s': 'Hello',
+                    'str': 'Hello world!',
+                    'f': 1.0,
+                    'l': [1, 2, 3, 4, 5],
+                    'mixed': ['hello', 8, -25, 'world!',
+                              '4-1', '5:2', 0.1, -9.6]}
+        self.assertDictEqual(expected, keyvals)
+
+    def test_single_values(self):
+        keyvals = text_to_keyvalue("a: 1.5", sep=':')
+        self.assertDictEqual({'a': 1.5}, keyvals)
+        keyvals = text_to_keyvalue("abc=1", sep='=')
+        self.assertDictEqual({'abc': 1}, keyvals)
+        keyvals = text_to_keyvalue("abc=hello", sep='=')
+        self.assertDictEqual({'abc': 'hello'}, keyvals)
+
+    def test_strip(self):
+        keyvals = text_to_keyvalue("a:   2.8  ", sep=':')
+        self.assertDictEqual({'a': 2.8}, keyvals)
+        keyvals = text_to_keyvalue("a:  2  ; 2.8 ; ab cd ",
+                                   sep=':', val_sep=';')
+        self.assertDictEqual({'a': [2, 2.8, 'ab cd']}, keyvals)
+        keyvals = text_to_keyvalue("a  :  2  ; 2.8", sep=':', val_sep=';')
+        self.assertDictEqual({'a': [2, 2.8]}, keyvals)
+        keyvals = text_to_keyvalue("a  : \t 2  ;\t2.8", sep=':', val_sep=';')
+        self.assertDictEqual({'a': [2, 2.8]}, keyvals)
+
+    def test_empty_list_item(self):
+        keyvals = text_to_keyvalue("a: 1, ,5,,", sep=':', val_sep=',')
+        self.assertDictEqual({'a': [1, '', 5, '', '']}, keyvals)
+
+    def test_empty_value(self):
+        keyvals = text_to_keyvalue("a: ", sep=':')
+        self.assertDictEqual({'a': ''}, keyvals)
+        keyvals = text_to_keyvalue("a:", sep=':')
+        self.assertDictEqual({'a': ''}, keyvals)
+
+    def test_wrong_lines(self):
+        # we consider no key-value separator as invalid line
+        # and we silently ignore these
+        keyvals = text_to_keyvalue("a", sep=':',
+                                   skip_invalid=True, skip_empty=False)
+        self.assertDictEqual({}, keyvals)
+
+        self.assertRaises(ValueError, text_to_keyvalue, "a", sep=':',
+                          skip_invalid=False, skip_empty=False)
+
+        # text_to_keyvalue considers the empty string as valid input
+        keyvals = text_to_keyvalue("", sep=':',
+                                   skip_invalid=False, skip_empty=False)
+        self.assertDictEqual({}, keyvals)
+
+        self.assertRaises(ValueError, text_to_keyvalue, "\n", sep=':',
+                          skip_invalid=True, skip_empty=False)
+
+        keyvals = text_to_keyvalue("a\n\n", sep=':',
+                                   skip_invalid=True, skip_empty=True)
+        self.assertDictEqual({}, keyvals)
+
+    def test_separators(self):
+        keyvals = text_to_keyvalue("a=a;b;c", sep='=', val_sep=';')
+        self.assertDictEqual({'a': ['a', 'b', 'c']}, keyvals)
+        keyvals = text_to_keyvalue("a 1;2;3", sep=' ', val_sep=';')
+        self.assertDictEqual({'a': [1, 2, 3]}, keyvals)
+        # spaces as key-value separator and values separators
+        # this should work (e.g. because of : in DMS),
+        # although it does not support stripping (we don't merge separators)
+        keyvals = text_to_keyvalue("a 1 2 3", sep=' ', val_sep=' ')
+        self.assertDictEqual({'a': [1, 2, 3]}, keyvals)
+        
+    #def test_projection_files(self):
+        
+# obtained by r.univar elevation -g
+# floats removed
+R_UNIVAR_KEYVAL = """n=2025000
+null_cells=57995100
+cells=60020100
+min=55.5787925720215
+max=156.329864501953
+range=100.751071929932
+mean=110.375440275606
+mean_of_abs=110.375440275606
+stddev=20.3153233205981
+variance=412.712361620436
+coeff_var=18.4056555243368
+sum=223510266.558102
+"""
+
+# obtained by r.univar elevation -g
+# floats removed
+R_UNIVAR_KEYVAL_INT = """n=2025000
+null_cells=57995100
+cells=60020100
+"""
+
+R_UNIVAR_KEYVAL_INT_DICT = {'n': 2025000,
+                            'null_cells': 57995100, 'cells': 60020100}
+
+
+class TestComapreProjections(TestCase):
+
+    def test_compare_proj_info(self):
+        self.assertTrue(proj_info_equals(PROJ_INFO_TEXT_1, PROJ_INFO_TEXT_2))
+        self.assertTrue(proj_units_equals(PROJ_UNITS_TEXT_1, PROJ_UNITS_TEXT_2))
+
+
+class TestParseKeyvalue(TestCase):
+
+    def test_shell_script_style(self):
+
+        self.assertDictEqual(parse_key_val(R_UNIVAR_KEYVAL_INT, val_type=int),
+                             R_UNIVAR_KEYVAL_INT_DICT)
+
+
+R_UNIVAR_ELEVATION = """n=2025000
+null_cells=57995100
+cells=60020100
+min=55.5787925720215
+max=156.329864501953
+range=100.751071929932
+mean=110.375440275606
+mean_of_abs=110.375440275606
+stddev=20.3153233205981
+variance=412.712361620436
+coeff_var=18.4056555243368
+sum=223510266.558102
+first_quartile=94.79
+median=108.88
+third_quartile=126.792
+percentile_90=138.66
+"""
+
+R_UNIVAR_ELEVATION_ROUNDED = """n=2025000
+null_cells=57995100
+cells=60020100
+min=55.5788
+max=156.33
+range=100.751
+mean=110.375
+mean_of_abs=110.375
+stddev=20.3153
+variance=412.712
+coeff_var=18.4057
+sum=223510266.558
+first_quartile=94.79
+median=108.88
+third_quartile=126.792
+percentile_90=138.66
+"""
+
+R_UNIVAR_ELEVATION_SUBSET = """n=2025000
+null_cells=57995100
+cells=60020100
+min=55.5787925720215
+max=156.329864501953
+"""
+
+
+class TestRasterMapComparisons(TestCase):
+
+    def test_compare_univars(self):
+        self.assertTrue(keyvalue_equals(text_to_keyvalue(R_UNIVAR_ELEVATION,
+                                                          sep='='),
+                                         text_to_keyvalue(R_UNIVAR_ELEVATION,
+                                                          sep='='),
+                                         precision=0))
+        self.assertFalse(keyvalue_equals(text_to_keyvalue(R_UNIVAR_ELEVATION,
+                                                           sep='='),
+                                          text_to_keyvalue(R_UNIVAR_ELEVATION_SUBSET,
+                                                           sep='='),
+                                          precision=0))
+
+    def test_compare_univars_subset(self):
+        self.assertTrue(keyvalue_equals(text_to_keyvalue(R_UNIVAR_ELEVATION_SUBSET,
+                                                          sep='='),
+                                         text_to_keyvalue(R_UNIVAR_ELEVATION,
+                                                          sep='='),
+                                         a_is_subset=True, precision=0))
+        self.assertFalse(keyvalue_equals(text_to_keyvalue(R_UNIVAR_ELEVATION,
+                                                           sep='='),
+                                          text_to_keyvalue(R_UNIVAR_ELEVATION_SUBSET,
+                                                           sep='='),
+                                          a_is_subset=True, precision=0))
+
+    def test_compare_univars_rounded(self):
+        self.assertTrue(keyvalue_equals(text_to_keyvalue(R_UNIVAR_ELEVATION,
+                                                          sep='='),
+                                         text_to_keyvalue(R_UNIVAR_ELEVATION_ROUNDED,
+                                                          sep='='),
+                                         precision=0.001))
+
+CORRECT_LINES = [
+    "null_cells=57995100",
+    "cells=60020100",
+    "min=55.5787925720215",
+    "max=156.329864501953"
+]
+
+INCORRECT_LINES = [
+    "null_cells=579951",
+    "cells=60020100",
+    "min=5.5787925720215",
+    "max=156.329864501953"
+]
+
+
+class TestMd5Sums(TestCase):
+    r"""
+
+    To create MD5 which is used for testing use:
+
+    .. code: sh
+    $ cat > test.txt << EOF
+    null_cells=57995100
+    cells=60020100
+    min=55.5787925720215
+    max=156.329864501953
+    EOF
+    $ md5sum test.txt
+    9dd6c4bb9d2cf6051b12f4b5f9d70523  test.txt
+    """
+
+    correct_md5sum = '9dd6c4bb9d2cf6051b12f4b5f9d70523'
+    correct_file_name_platform_nl = 'md5_sum_correct_file_platform_nl'
+    correct_file_name_unix_nl = 'md5_sum_correct_file_unix_nl'
+    wrong_file_name = 'md5_sum_wrong_file'
+
+    @classmethod
+    def setUpClass(cls):
+        with open(cls.correct_file_name_platform_nl, 'w') as f:
+            for line in CORRECT_LINES:
+                # \n should be converted to platform newline
+                f.write(line + '\n')
+        with open(cls.correct_file_name_unix_nl, 'wb') as f:
+            for line in CORRECT_LINES:
+                # binary mode will write pure \n
+                f.write(line + '\n')
+        with open(cls.wrong_file_name, 'w') as f:
+            for line in INCORRECT_LINES:
+                # \n should be converted to platform newline
+                f.write(line + '\n')
+
+    @classmethod
+    def tearDownClass(cls):
+        try_remove(cls.correct_file_name_platform_nl)
+        try_remove(cls.correct_file_name_unix_nl)
+        try_remove(cls.wrong_file_name)
+
+    def test_text_file_binary(self):
+        r"""File with ``\n`` (LF) newlines as binary (MD5 has ``\n``)."""
+        self.assertEquals(file_md5(self.correct_file_name_unix_nl),
+                          self.correct_md5sum,
+                          msg="MD5 sums different")
+
+    def test_text_file_platfrom(self):
+        r"""Text file with platform dependent newlines"""
+        self.assertEquals(text_file_md5(self.correct_file_name_platform_nl),
+                          self.correct_md5sum,
+                          msg="MD5 sums different")
+
+    def test_text_file_unix(self):
+        r"""Text file with ``\n`` (LF) newlines"""
+        self.assertEquals(text_file_md5(self.correct_file_name_unix_nl),
+                          self.correct_md5sum,
+                          msg="MD5 sums different")
+
+    def test_text_file_different(self):
+        r"""Text file with ``\n`` (LF) newlines"""
+        self.assertNotEquals(text_file_md5(self.wrong_file_name),
+                             self.correct_md5sum,
+                             msg="MD5 sums must be different")
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/test_doctests.py b/lib/python/gunittest/testsuite/test_doctests.py
new file mode 100644
index 0000000..38db54a
--- /dev/null
+++ b/lib/python/gunittest/testsuite/test_doctests.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.gunittest.gmodules
+import grass.gunittest.checkers
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(grass.gunittest.gmodules))
+    tests.addTests(doctest.DocTestSuite(grass.gunittest.checkers))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/gunittest/testsuite/test_gmodules.py b/lib/python/gunittest/testsuite/test_gmodules.py
new file mode 100644
index 0000000..fbb0d83
--- /dev/null
+++ b/lib/python/gunittest/testsuite/test_gmodules.py
@@ -0,0 +1,94 @@
+# -*- coding: utf-8 -*-
+
+import subprocess
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import (call_module, CalledModuleError)
+
+G_REGION_OUTPUT = """...
+n=...
+s=...
+w=...
+e=...
+nsres=...
+ewres=...
+rows=...
+cols=...
+cells=...
+"""
+
+
+class TestCallModuleFunction(TestCase):
+
+    def test_output(self):
+        output = call_module('g.region', flags='pg')
+        self.assertLooksLike(output, G_REGION_OUTPUT)
+
+    def test_input_output(self):
+        output = call_module('m.proj', flags='i', input='-', stdin="50.0 41.5")
+        self.assertLooksLike(output, '...|...\n')
+
+    def test_no_output(self):
+        output = call_module('m.proj', flags='i', input='-', stdin="50.0 41.5",
+                             capture_stdout=False)
+        self.assertIsNone(output)
+
+    def test_merge_stderr(self):
+        output = call_module('m.proj', flags='i', input='-', stdin="50.0 41.5",
+                             verbose=True,
+                             merge_stderr=True)
+        self.assertLooksLike(output, '...+proj=longlat +datum=WGS84...')
+        self.assertLooksLike(output, '...|...\n')
+
+    def test_merge_stderr_with_wrong_stdin_stderr(self):
+        self.assertRaises(ValueError,
+                          call_module,
+                          'm.proj', flags='i', input='-', stdin="50.0 41.5",
+                          verbose=True,
+                          merge_stderr=True, capture_stdout=False)
+        self.assertRaises(ValueError,
+                          call_module,
+                          'm.proj', flags='i', input='-', stdin="50.0 41.5",
+                          verbose=True,
+                          merge_stderr=True, capture_stderr=False)
+        self.assertRaises(ValueError,
+                          call_module,
+                          'm.proj', flags='i', input='-', stdin="50.0 41.5",
+                          verbose=True,
+                          merge_stderr=True,
+                          capture_stdout=False, capture_stderr=False)
+
+    def test_wrong_module_params(self):
+        self.assertRaises(CalledModuleError,
+                          call_module,
+                          'g.region', aabbbccc='notexist')
+
+    def test_module_input_param_wrong(self):
+        self.assertRaises(ValueError,
+                          call_module,
+                          'm.proj', flags='i', input='does_not_exist',
+                          stdin="50.0 41.5")
+
+    def test_missing_stdin_with_input_param(self):
+        self.assertRaises(ValueError,
+                          call_module,
+                          'm.proj', flags='i', input='-')
+
+    def test_wrong_usage_of_popen_like_interface(self):
+        self.assertRaises(ValueError,
+                          call_module,
+                          'm.proj', flags='i', input='-',
+                          stdin=subprocess.PIPE)
+        self.assertRaises(TypeError,
+                          call_module,
+                          'm.proj', flags='i', input='-', stdin="50.0 41.5",
+                          stdout='any_value_or_type_here')
+        self.assertRaises(TypeError,
+                          call_module,
+                          'm.proj', flags='i', input='-', stdin="50.0 41.5",
+                          stderr='any_value_or_type_here')
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/testsuite/test_module_assertions.py b/lib/python/gunittest/testsuite/test_module_assertions.py
new file mode 100644
index 0000000..abbc16c
--- /dev/null
+++ b/lib/python/gunittest/testsuite/test_module_assertions.py
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+
+import copy
+import subprocess
+
+from grass.pygrass.modules import Module
+from grass.gunittest.gmodules import SimpleModule
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import CalledModuleError
+
+
+class TestModuleAssertions(TestCase):
+    """Test assertions using PyGRASS Module"""
+    # pylint: disable=R0904
+
+    def setUp(self):
+        """Create two Module instances one correct and one with wrong map"""
+        self.rinfo = Module('r.info', map='elevation', flags='g',
+                            stdout_=subprocess.PIPE, run_=False, finish_=True)
+        self.rinfo_wrong = copy.deepcopy(self.rinfo)
+        self.wrong_map = 'does_not_exists'
+        self.rinfo_wrong.inputs['map'].value = self.wrong_map
+
+    def test_runModule(self):
+        """Correct and incorrect Module used in runModule()"""
+        self.runModule(self.rinfo)
+        self.assertTrue(self.rinfo.outputs['stdout'].value)
+        self.assertRaises(CalledModuleError, self.runModule, self.rinfo_wrong)
+
+    def test_assertModule(self):
+        """Correct and incorrect Module used in assertModule()"""
+        self.assertModule(self.rinfo)
+        self.assertTrue(self.rinfo.outputs['stdout'].value)
+        self.assertRaises(self.failureException, self.assertModule, self.rinfo_wrong)
+
+    def test_assertModuleFail(self):
+        """Correct and incorrect Module used in assertModuleFail()"""
+        self.assertModuleFail(self.rinfo_wrong)
+        stderr = self.rinfo_wrong.outputs['stderr'].value
+        self.assertTrue(stderr)
+        self.assertIn(self.wrong_map, stderr)
+        self.assertRaises(self.failureException, self.assertModuleFail, self.rinfo)
+
+
+class TestSimpleModuleAssertions(TestCase):
+    """Test assertions using SimpleModule"""
+    # pylint: disable=R0904
+
+    def setUp(self):
+        """Create two SimpleModule instances one correct and one with wrong map
+        """
+        self.rinfo = SimpleModule('r.info', map='elevation', flags='g')
+        self.rinfo_wrong = copy.deepcopy(self.rinfo)
+        self.wrong_map = 'does_not_exists'
+        self.rinfo_wrong.inputs['map'].value = self.wrong_map
+
+    def test_runModule(self):
+        """Correct and incorrect SimpleModule used in runModule()"""
+        self.runModule(self.rinfo)
+        self.assertTrue(self.rinfo.outputs['stdout'].value)
+        self.assertRaises(CalledModuleError, self.runModule, self.rinfo_wrong)
+
+    def test_assertModule(self):
+        """Correct and incorrect SimpleModule used in assertModule()"""
+        self.assertModule(self.rinfo)
+        self.assertTrue(self.rinfo.outputs['stdout'].value)
+        self.assertRaises(self.failureException, self.assertModule, self.rinfo_wrong)
+
+    def test_assertModuleFail(self):
+        """Correct and incorrect SimpleModule used in assertModuleFail()"""
+        self.assertModuleFail(self.rinfo_wrong)
+        stderr = self.rinfo_wrong.outputs['stderr'].value
+        self.assertTrue(stderr)
+        self.assertIn(self.wrong_map, stderr)
+        self.assertRaises(self.failureException, self.assertModuleFail, self.rinfo)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/gunittest/utils.py b/lib/python/gunittest/utils.py
new file mode 100644
index 0000000..988f7be
--- /dev/null
+++ b/lib/python/gunittest/utils.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+"""GRASS Python testing framework utilities (general and test-specific)
+
+Copyright (C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS GIS
+for details.
+
+:authors: Vaclav Petras
+"""
+
+import os
+import sys
+import shutil
+import errno
+
+
+def ensure_dir(directory):
+    """Create all directories in the given path if needed."""
+    if not os.path.exists(directory):
+        os.makedirs(directory)
+
+
+def silent_rmtree(filename):
+    """Remove the file but do nothing if file does not exist."""
+    try:
+        shutil.rmtree(filename)
+    except OSError as e:
+        # errno.ENOENT is "No such file or directory"
+        # re-raise if a different error occurred
+        if e.errno != errno.ENOENT:
+            raise
+
+
+def do_doctest_gettext_workaround():
+    """Setups environment for doing a doctest with gettext usage.
+
+    When using gettext with dynamically defined underscore function
+    (``_("For translation")``), doctest does not work properly. One option is
+    to use `import as` instead of dynamically defined underscore function but
+    this would require change all modules which are used by tested module.
+    This should be considered for the future. The second option is to define
+    dummy underscore function and one other function which creates the right
+    environment to satisfy all. This is done by this function.
+    """
+    def new_displayhook(string):
+        """A replacement for default `sys.displayhook`"""
+        if string is not None:
+            sys.stdout.write("%r\n" % (string,))
+
+    def new_translator(string):
+        """A fake gettext underscore function."""
+        return string
+
+    sys.displayhook = new_displayhook
+
+    try:
+        import __builtin__
+    except ImportError:
+        import builtins as __builtin__
+    __builtin__._ = new_translator
+
+
+_MAX_LENGTH = 80
+
+# taken from unittest.util (Python 2.7) since it is not part of API
+# but we need it for the same reason as it is used un unittest's TestCase
+def safe_repr(obj, short=False):
+    try:
+        result = repr(obj)
+    except Exception:
+        result = object.__repr__(obj)
+    if not short or len(result) < _MAX_LENGTH:
+        return result
+    return result[:_MAX_LENGTH] + ' [truncated]...'
diff --git a/lib/python/pygrass/Makefile b/lib/python/pygrass/Makefile
index 14e3424..80c478d 100644
--- a/lib/python/pygrass/Makefile
+++ b/lib/python/pygrass/Makefile
@@ -9,7 +9,7 @@ DSTDIR = $(GDIR)/pygrass
 
 MODULES = errors utils orderdict
 
-CLEAN_SUBDIRS = messages modules raster vector gis shell tests
+CLEAN_SUBDIRS = messages modules raster vector gis shell tests rpc
 
 PYFILES := $(patsubst %,$(DSTDIR)/%.py,$(MODULES) __init__)
 PYCFILES := $(patsubst %,$(DSTDIR)/%.pyc,$(MODULES) __init__)
@@ -22,6 +22,7 @@ default: $(PYFILES) $(PYCFILES) $(GDIR)/__init__.py $(GDIR)/__init__.pyc
 	-$(MAKE) -C gis || echo $(CURDIR)/gis >> $(ERRORLOG)
 	-$(MAKE) -C shell || echo $(CURDIR)/shell >> $(ERRORLOG)
 	-$(MAKE) -C tests || echo $(CURDIR)/tests >> $(ERRORLOG)
+	-$(MAKE) -C rpc || echo $(CURDIR)/gis >> $(ERRORLOG)
 
 $(PYDIR):
 	$(MKDIR) $@
diff --git a/lib/python/pygrass/errors.py b/lib/python/pygrass/errors.py
index 9f0d72f..d634f04 100644
--- a/lib/python/pygrass/errors.py
+++ b/lib/python/pygrass/errors.py
@@ -16,3 +16,15 @@ def must_be_open(method):
         else:
             get_msgr().warning(_("The map is close!"))
     return wrapper
+
+
+def mapinfo_must_be_set(method):
+
+    @wraps(method)
+    def wrapper(self, *args, **kargs):
+        if self.c_mapinfo:
+            return method(self, *args, **kargs)
+        else:
+            raise GrassError(_("The self.c_mapinfo pointer must be "\
+                                 "correctly initiated"))
+    return wrapper
diff --git a/lib/python/pygrass/gis/__init__.py b/lib/python/pygrass/gis/__init__.py
index 7521827..9cc7a3c 100644
--- a/lib/python/pygrass/gis/__init__.py
+++ b/lib/python/pygrass/gis/__init__.py
@@ -15,6 +15,9 @@ libgis.G_gisinit('')
 from grass.pygrass.errors import GrassError
 
 
+test_vector_name="Gis_test_vector"
+test_raster_name="Gis_test_raster"
+
 ETYPE = {'raster': libgis.G_ELEMENT_RASTER,
          'raster_3d': libgis.G_ELEMENT_RASTER3D,
          'vector': libgis.G_ELEMENT_VECTOR,
@@ -229,8 +232,8 @@ class Location(object):
         ::
 
             >>> location = Location()
-            >>> sorted(location.mapsets())
-            ['PERMANENT', 'user1']
+            >>> sorted(location.mapsets())                # doctest: +ELLIPSIS
+            [...]
 
         """
         mapsets = [mapset for mapset in self]
@@ -249,15 +252,17 @@ class Location(object):
 class Mapset(object):
     """Mapset ::
 
+        >>> from grass.script.core import gisenv
+        >>> genv = gisenv()
         >>> mapset = Mapset()
-        >>> mapset
-        Mapset('user1')
-        >>> mapset.gisdbase                               # doctest: +ELLIPSIS
-        '/home/...'
-        >>> mapset.location
-        'nc_basic_spm_grass7'
-        >>> mapset.name
-        'user1'
+        >>> mapset                                        # doctest: +ELLIPSIS
+        Mapset(...)
+        >>> mapset.gisdbase == genv['GISDBASE']
+        True
+        >>> mapset.location == genv['LOCATION_NAME']
+        True
+        >>> mapset.name == genv['MAPSET']
+        True
 
     ..
     """
@@ -317,13 +322,14 @@ class Mapset(object):
 
         ::
 
-            >>> mapset = Mapset('PERMANENT')
-            >>> rast = mapset.glist('rast')
-            >>> rast.sort()
-            >>> rast                                      # doctest: +ELLIPSIS
-            ['basins', 'elevation', ...]
-            >>> sorted(mapset.glist('rast', pattern='el*'))
-            ['elevation', 'elevation_shade']
+            >>> mapset = Mapset()
+            >>> mapset.current()
+            >>> rast = mapset.glist('raster')
+            >>> test_raster_name in rast
+            True
+            >>> vect = mapset.glist('vector')
+            >>> test_vector_name in vect
+            True
 
         ..
         """
@@ -364,13 +370,7 @@ class Mapset(object):
 
 
 class VisibleMapset(object):
-    """VisibleMapset object::
-
-        >>> mapset = VisibleMapset('user1')
-        >>> mapset
-        ['user1', 'PERMANENT']
-
-    ..
+    """VisibleMapset object
     """
     def __init__(self, mapset, location='', gisdbase=''):
         self.mapset = mapset
@@ -442,3 +442,24 @@ class VisibleMapset(object):
         """Reset to the original search path"""
         final = [self.mapset, 'PERMANENT']
         self._write(final)
+
+if __name__ == "__main__":
+    import doctest
+    from grass.pygrass import utils
+    from grass.script.core import run_command
+
+    utils.create_test_vector_map(test_vector_name)
+    run_command("g.region", n=50, s=0, e=60, w=0, res=1)
+    run_command("r.mapcalc", expression="%s = 1"%(test_raster_name),
+                             overwrite=True)
+    run_command("g.region", n=40, s=0, e=40, w=0, res=2)
+
+    doctest.testmod()
+
+    """Remove the generated vector map, if exist"""
+    mset = utils.get_mapset_vector(test_vector_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='vector', name=test_vector_name)
+    mset = utils.get_mapset_raster(test_raster_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='raster', name=test_raster_name)
diff --git a/lib/python/pygrass/gis/region.py b/lib/python/pygrass/gis/region.py
index faf1a24..8fef617 100644
--- a/lib/python/pygrass/gis/region.py
+++ b/lib/python/pygrass/gis/region.py
@@ -8,49 +8,109 @@ from __future__ import (nested_scopes, generators, division, absolute_import,
                         with_statement, print_function, unicode_literals)
 import ctypes
 import grass.lib.gis as libgis
+import grass.lib.raster as libraster
 import grass.script as grass
 
 from grass.pygrass.errors import GrassError
 from grass.pygrass.shell.conversion import dict2html
+from grass.pygrass.utils import get_mapset_vector, get_mapset_raster
 
+test_vector_name="Region_test_vector"
+test_raster_name="Region_test_raster"
 
 class Region(object):
     """This class is design to easily access and modify GRASS computational
     region. ::
 
-        >>> default = Region(default=True)
-        >>> current_original = Region()
-        >>> current = Region()
-        >>> current.align('elevation')
-        >>> default == current
-        True
-        >>> current.cols
-        1500
-        >>> current.ewres
-        10.0
-        >>> current.cols = 3000
-        >>> current.ewres
+        >>> r = Region()
+        >>> r.north
+        40.0
+        >>> r.south
+        0.0
+        >>> r.east
+        40.0
+        >>> r.west
+        0.0
+        >>> r.cols
+        20
+        >>> r.rows
+        20
+        >>> r.nsres
+        2.0
+        >>> r.ewres
+        2.0
+
+        >>> r.north = 100
+        >>> r.east = 100
+        >>> r.adjust(rows=True, cols=True)
+        >>> r.nsres
         5.0
-        >>> current.ewres = 20.0
-        >>> current.cols
-        750
-        >>> current.set_current()
-        >>> default == current
-        False
-        >>> current.get_default()
-        >>> default = Region(default=True)
-        >>> default == current
-        True
-        >>> current_original.set_current()
+        >>> r.ewres
+        5.0
+        >>> r.cols
+        20
+        >>> r.rows
+        20
+
+        >>> r.read()
+        >>> r.north = 100
+        >>> r.east = 100
+        >>> r.adjust(rows=False, cols=True)
+        >>> r.nsres
+        2.0
+        >>> r.ewres
+        5.0
+        >>> r.cols
+        20
+        >>> r.rows
+        50
+
+        >>> r.read()
+        >>> r.north = 100
+        >>> r.east = 100
+        >>> r.adjust(rows=True, cols=False)
+        >>> r.nsres
+        5.0
+        >>> r.ewres
+        2.0
+        >>> r.cols
+        50
+        >>> r.rows
+        20
+
+        >>> r.read()
+        >>> r.north = 100
+        >>> r.east = 100
+        >>> r.adjust(rows=False, cols=False)
+        >>> r.nsres
+        2.0
+        >>> r.ewres
+        2.0
+        >>> r.cols
+        50
+        >>> r.rows
+        50
+
+        >>> r.read()
+        >>> r.cols = 1000
+        >>> r.ewres
+        0.04
+        >>> r.rows = 1000
+        >>> r.nsres
+        0.04
 
     ..
     """
     def __init__(self, default=False):
-        self.c_region = ctypes.pointer(libgis.Cell_head())
+        self.c_region = libgis.Cell_head()
         if default:
-            self.get_default()
+            self.read_default()
         else:
-            self.get_current()
+            self.read()
+
+    def byref(self):
+        """Return the internal region representation as pointer"""
+        return ctypes.pointer(self.c_region)
 
     def _set_param(self, key, value):
         grass.run_command('g.region', **{key: value})
@@ -58,66 +118,66 @@ class Region(object):
     #----------LIMITS----------
     def _get_n(self):
         """Private function to obtain north value"""
-        return self.c_region.contents.north
+        return self.c_region.north
 
     def _set_n(self, value):
         """Private function to set north value"""
-        self.c_region.contents.north = value
+        self.c_region.north = value
 
     north = property(fget=_get_n, fset=_set_n,
                      doc="Set and obtain north coordinate")
 
     def _get_s(self):
         """Private function to obtain south value"""
-        return self.c_region.contents.south
+        return self.c_region.south
 
     def _set_s(self, value):
         """Private function to set south value"""
-        self.c_region.contents.south = value
+        self.c_region.south = value
 
     south = property(fget=_get_s, fset=_set_s,
                      doc="Set and obtain south coordinate")
 
     def _get_e(self):
         """Private function to obtain east value"""
-        return self.c_region.contents.east
+        return self.c_region.east
 
     def _set_e(self, value):
         """Private function to set east value"""
-        self.c_region.contents.east = value
+        self.c_region.east = value
 
     east = property(fget=_get_e, fset=_set_e,
                     doc="Set and obtain east coordinate")
 
     def _get_w(self):
         """Private function to obtain west value"""
-        return self.c_region.contents.west
+        return self.c_region.west
 
     def _set_w(self, value):
         """Private function to set west value"""
-        self.c_region.contents.west = value
+        self.c_region.west = value
 
     west = property(fget=_get_w, fset=_set_w,
                     doc="Set and obtain west coordinate")
 
     def _get_t(self):
         """Private function to obtain top value"""
-        return self.c_region.contents.top
+        return self.c_region.top
 
     def _set_t(self, value):
         """Private function to set top value"""
-        self.c_region.contents.top = value
+        self.c_region.top = value
 
     top = property(fget=_get_t, fset=_set_t,
                    doc="Set and obtain top value")
 
     def _get_b(self):
         """Private function to obtain bottom value"""
-        return self.c_region.contents.bottom
+        return self.c_region.bottom
 
     def _set_b(self, value):
         """Private function to set bottom value"""
-        self.c_region.contents.bottom = value
+        self.c_region.bottom = value
 
     bottom = property(fget=_get_b, fset=_set_b,
                       doc="Set and obtain bottom value")
@@ -125,11 +185,11 @@ class Region(object):
     #----------RESOLUTION----------
     def _get_rows(self):
         """Private function to obtain rows value"""
-        return self.c_region.contents.rows
+        return self.c_region.rows
 
     def _set_rows(self, value):
         """Private function to set rows value"""
-        self.c_region.contents.rows = value
+        self.c_region.rows = value
         self.adjust(rows=True)
 
     rows = property(fget=_get_rows, fset=_set_rows,
@@ -137,23 +197,34 @@ class Region(object):
 
     def _get_cols(self):
         """Private function to obtain columns value"""
-        return self.c_region.contents.cols
+        return self.c_region.cols
 
     def _set_cols(self, value):
         """Private function to set columns value"""
-        self.c_region.contents.cols = value
+        self.c_region.cols = value
         self.adjust(cols=True)
 
     cols = property(fget=_get_cols, fset=_set_cols,
                     doc="Set and obtain number of columns")
 
+    def _get_depths(self):
+        """Private function to obtain depths value"""
+        return self.c_region.depths
+
+    def _set_depths(self, value):
+        """Private function to set depths value"""
+        self.c_region.depths = value
+
+    depths = property(fget=_get_depths, fset=_set_depths,
+                      doc="Set and obtain number of depths")
+
     def _get_nsres(self):
         """Private function to obtain north-south value"""
-        return self.c_region.contents.ns_res
+        return self.c_region.ns_res
 
     def _set_nsres(self, value):
         """Private function to obtain north-south value"""
-        self.c_region.contents.ns_res = value
+        self.c_region.ns_res = value
         self.adjust()
 
     nsres = property(fget=_get_nsres, fset=_set_nsres,
@@ -161,11 +232,11 @@ class Region(object):
 
     def _get_ewres(self):
         """Private function to obtain east-west value"""
-        return self.c_region.contents.ew_res
+        return self.c_region.ew_res
 
     def _set_ewres(self, value):
         """Private function to set east-west value"""
-        self.c_region.contents.ew_res = value
+        self.c_region.ew_res = value
         self.adjust()
 
     ewres = property(fget=_get_ewres, fset=_set_ewres,
@@ -173,11 +244,11 @@ class Region(object):
 
     def _get_tbres(self):
         """Private function to obtain top-botton 3D value"""
-        return self.c_region.contents.tb_res
+        return self.c_region.tb_res
 
     def _set_tbres(self, value):
         """Private function to set top-bottom 3D value"""
-        self.c_region.contents.tb_res = value
+        self.c_region.tb_res = value
         self.adjust()
 
     tbres = property(fget=_get_tbres, fset=_set_tbres,
@@ -186,22 +257,14 @@ class Region(object):
     @property
     def zone(self):
         """Return the zone of projection
-
-        >>> reg = Region()
-        >>> reg.zone
-        0
         """
-        return self.c_region.contents.zone
+        return self.c_region.zone
 
     @property
     def proj(self):
         """Return a code for projection
-
-        >>> reg = Region()
-        >>> reg.proj
-        99
         """
-        return self.c_region.contents.proj
+        return self.c_region.proj
 
     @property
     def cells(self):
@@ -210,22 +273,25 @@ class Region(object):
 
     #----------MAGIC METHODS----------
     def __repr__(self):
-        rg = 'Region(north=%g, south=%g, east=%g, west=%g, nsres=%g, ewres=%g)'
+        rg = "Region(north=%g, south=%g, east=%g, west=%g, "\
+                    "nsres=%g, ewres=%g, rows=%i, cols=%i, "\
+                    "cells=%i, zone=%i, proj=%i)"
         return rg % (self.north, self.south, self.east, self.west,
-                     self.nsres, self.ewres)
+                     self.nsres, self.ewres, self.rows, self.cols,
+                     self.cells, self.zone, self.proj)
 
     def _repr_html_(self):
         return dict2html(dict(self.items()), keys=self.keys(),
                          border='1', kdec='b')
 
     def __unicode__(self):
-        return grass.pipe_command("g.region", flags="pu").communicate()[0]
+        return self.__repr__()
 
     def __str__(self):
         return self.__unicode__()
 
     def __eq__(self, reg):
-        """Compare two region.
+        """Compare two region. ::
 
         >>> r0 = Region()
         >>> r1 = Region()
@@ -235,9 +301,12 @@ class Region(object):
         True
         >>> r1 == r2
         False
+
+        ..
         """
         attrs = ['north', 'south', 'west', 'east', 'top', 'bottom',
-                 'nsres', 'ewres', 'tbres']
+                 'nsres', 'ewres', 'tbres', 'rows', 'cols', 'cells',
+                 'zone', 'proj']
         for attr in attrs:
             if getattr(self, attr) != getattr(reg, attr):
                 return False
@@ -263,13 +332,7 @@ class Region(object):
                 'cols', 'cells']
 
     def items(self):
-        """Return a list of tuple with key and value. ::
-
-            >>> reg = Region()
-            >>> reg.items()                              # doctest: +ELLIPSIS
-            [(u'proj', 99), ..., (u'cells', 2025000)]
-
-        ..
+        """Return a list of tuple with key and value.
         """
         return [(k, self.__getattribute__(k)) for k in self.keys()]
 
@@ -277,79 +340,256 @@ class Region(object):
     def zoom(self, raster_name):
         """Shrink region until it meets non-NULL data from this raster map
 
+        Warning: This will change the user GRASS region settings
+
         :param raster_name: the name of raster
         :type raster_name: str
         """
         self._set_param('zoom', str(raster_name))
-        self.get_current()
+        self.read()
 
     def align(self, raster_name):
         """Adjust region cells to cleanly align with this raster map
 
+        Warning: This will change the user GRASS region settings
+
         :param raster_name: the name of raster
         :type raster_name: str
         """
         self._set_param('align', str(raster_name))
-        self.get_current()
+        self.read()
 
     def adjust(self, rows=False, cols=False):
         """Adjust rows and cols number according with the nsres and ewres
         resolutions. If rows or cols parameters are True, the adjust method
         update nsres and ewres according with the rows and cols numbers.
         """
-        libgis.G_adjust_Cell_head(self.c_region, bool(rows), bool(cols))
+        libgis.G_adjust_Cell_head(self.byref(), bool(rows), bool(cols))
 
-    def vect(self, vector_name):
+    def from_vect(self, vector_name):
         """Adjust bounding box of region using a vector
 
-        :param vector_name: the name of vector
-        :type vector_name: str
+            :param vector_name: the name of vector
+            :type vector_name: str
 
-        ::
+            Example ::
 
             >>> reg = Region()
-            >>> reg.vect('census')
+            >>> reg.from_vect(test_vector_name)
             >>> reg.get_bbox()
-            Bbox(230963.640878, 212125.562878, 645837.437393, 628769.374393)
-            >>> reg.get_default()
+            Bbox(6.0, 0.0, 14.0, 0.0)
+            >>> reg.read()
+            >>> reg.get_bbox()
+            Bbox(40.0, 0.0, 40.0, 0.0)
 
-        ..
+            ..
         """
         from grass.pygrass.vector import VectorTopo
         with VectorTopo(vector_name, mode='r') as vect:
             bbox = vect.bbox()
             self.set_bbox(bbox)
 
+    def from_rast(self, raster_name):
+        """Set the region from the computational region
+            of a raster map layer.
+
+            :param raster_name: the name of raster
+            :type raster_name: str
+
+            :param mapset: the mapset of raster
+            :type mapset: str
+
+            call C function `Rast_get_cellhd`
+
+            Example ::
+
+            >>> reg = Region()
+            >>> reg.from_rast(test_raster_name)
+            >>> reg.get_bbox()
+            Bbox(50.0, 0.0, 60.0, 0.0)
+            >>> reg.read()
+            >>> reg.get_bbox()
+            Bbox(40.0, 0.0, 40.0, 0.0)
+
+            ..
+           """
+        if not raster_name:
+            raise ValueError("Raster name or mapset are invalid")
+
+
+        mapset = get_mapset_raster(raster_name)
+
+        if mapset:
+            libraster.Rast_get_cellhd(raster_name, mapset,
+                                      self.byref())
+
+    def set_raster_region(self):
+        """Set the computational region (window) for all raster maps in the current process.
+           
+           Attention: All raster objects must be closed or the
+                      process will be terminated.
+                      
+           The Raster library C function Rast_set_window() is called.
+        
+        """
+        libraster.Rast_set_window(self.byref())
+
     def get_current(self):
-        """Set the current GRASS region to the Region object"""
-        libgis.G_get_set_window(self.c_region)
+        """Get the current working region of this process
+           and store it into this Region object
+
+           Previous calls to set_current() affects values returned by this function.
+           Previous calls to read() affects values returned by this function
+           only if the current working region is not initialized.
+
+            Example:
+
+            >>> r = Region()
+            >>> r.north
+            40.0
+
+            >>> r.north = 30
+            >>> r.north
+            30.0
+            >>> r.get_current()
+            >>> r.north
+            40.0
+
+        """
+        libgis.G_get_set_window(self.byref())
 
     def set_current(self):
-        """Set the Region object to the current GRASS region"""
-        libgis.G_set_window(self.c_region)
-
-    def get_default(self):
-        """Set the default GRASS region to the Region object"""
-        libgis.G_get_window(self.c_region)
-
-    def set_default(self):
-        """Set the Region object to the default GRASS region.
-        It works only in PERMANENT mapset"""
-        from grass.pygrass.gis import Mapset
-        mapset = Mapset()
-        if mapset.name != 'PERMANENT':
-            raise GrassError("ERROR: Unable to change default region. The " \
-                             "current mapset is not <PERMANENT>.")
+        """Set the current working region from this region object
+
+           This function adjusts the values before setting the region
+           so you don't have to call G_adjust_Cell_head().
+
+           Attention: Only the current process is affected.
+                      The GRASS computational region is not affected.
+
+            Example::
+
+            >>> r = Region()
+            >>> r.north
+            40.0
+            >>> r.south
+            0.0
+
+            >>> r.north = 30
+            >>> r.south = 20
+            >>> r.set_current()
+            >>> r.north
+            30.0
+            >>> r.south
+            20.0
+            >>> r.get_current()
+            >>> r.north
+            30.0
+            >>> r.south
+            20.0
+
+            >>> r.read(force_read=False)
+            >>> r.north
+            40.0
+            >>> r.south
+            0.0
+
+            >>> r.read(force_read=True)
+            >>> r.north
+            40.0
+            >>> r.south
+            0.0
+
+        """
+        libgis.G_set_window(self.byref())
+
+    def read(self, force_read=True):
+        """
+          Read the region into this region object
+
+          Reads the region as stored in the WIND file in the user's current
+          mapset into region.
+
+          3D values are set to defaults if not available in WIND file.  An
+          error message is printed and exit() is called if there is a problem
+          reading the region.
+
+          <b>Note:</b> GRASS applications that read or write raster maps
+          should not use this routine since its use implies that the active
+          module region will not be used. Programs that read or write raster
+          map data (or vector data) can query the active module region using
+          Rast_window_rows() and Rast_window_cols().
+
+          :param force_read: If True the WIND file of the current mapset
+                             is re-readed, otherwise the initial region
+                             set at process start will be loaded from the internal
+                             static variables.
+          :type force_read: boolean
+
+        """
+        # Force the reading of the WIND file
+        if force_read:
+            libgis.G_unset_window()
+        libgis.G_get_window(self.byref())
+
+    def write(self):
+        """Writes the region from this region object
+
+           This function writes this region to the Region file (WIND)
+           in the users current mapset. This function should be
+           carefully used, since the user will ot notice if his region
+           was changed and would expect that only g.region will do this.
+
+            Example ::
+
+            >>> from copy import deepcopy
+            >>> r = Region()
+            >>> rn = deepcopy(r)
+            >>> r.north = 20
+            >>> r.south = 10
+
+            >>> r.write()
+            >>> r.read()
+            >>> r.north
+            20.0
+            >>> r.south
+            10.0
+
+            >>> rn.write()
+            >>> r.read()
+            >>> r.north
+            40.0
+            >>> r.south
+            0.0
+
+            >>> r.read_default()
+            >>> r.write()
+
+            ..
+        """
         self.adjust()
-        if libgis.G_put_window(self.c_region) < 0:
+        if libgis.G_put_window(self.byref()) < 0:
             raise GrassError("Cannot change region (DEFAUL_WIND file).")
 
+
+    def read_default(self):
+        """
+          Get the default region
+
+          Reads the default region for the location in this Region object.
+          3D values are set to defaults if not available in WIND file.
+
+          An error message is printed and exit() is called if there is a
+          problem reading the default region.
+        """
+        libgis.G_get_default_window(self.byref())
+
     def get_bbox(self):
         """Return a Bbox object with the extension of the region. ::
 
             >>> reg = Region()
             >>> reg.get_bbox()
-            Bbox(228500.0, 215000.0, 645000.0, 630000.0)
+            Bbox(40.0, 0.0, 40.0, 0.0)
 
         ..
         """
@@ -380,3 +620,26 @@ class Region(object):
         self.south = bbox.south
         self.east = bbox.east
         self.west = bbox.west
+
+if __name__ == "__main__":
+
+    import doctest
+    from grass.pygrass import utils
+    from grass.script.core import run_command
+
+    utils.create_test_vector_map(test_vector_name)
+    run_command("g.region", n=50, s=0, e=60, w=0, res=1)
+    run_command("r.mapcalc", expression="%s = 1"%(test_raster_name),
+                             overwrite=True)
+    run_command("g.region", n=40, s=0, e=40, w=0, res=2)
+
+    doctest.testmod()
+
+    """Remove the generated vector map, if exist"""
+    mset = utils.get_mapset_vector(test_vector_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='vector', name=test_vector_name)
+    mset = utils.get_mapset_raster(test_raster_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='raster', name=test_raster_name)
+
diff --git a/lib/python/pygrass/gis/testsuite/test_doctests.py b/lib/python/pygrass/gis/testsuite/test_doctests.py
new file mode 100644
index 0000000..71bf90a
--- /dev/null
+++ b/lib/python/pygrass/gis/testsuite/test_doctests.py
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+from grass.pygrass import gis
+from grass.pygrass.gis import region
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+
+    from grass.pygrass import utils
+    from grass.script.core import run_command
+    utils.create_test_vector_map(gis.test_vector_name)
+    utils.create_test_vector_map(gis.region.test_vector_name)
+    run_command("g.region", n=50, s=0, e=60, w=0, res=1)
+    run_command("r.mapcalc", expression="%s = 1"%(gis.test_raster_name),
+                             overwrite=True)
+    run_command("r.mapcalc", expression="%s = 1"%(gis.region.test_raster_name),
+                             overwrite=True)
+    run_command("g.region", n=40, s=0, e=40, w=0, res=2)
+
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(gis))
+    tests.addTests(doctest.DocTestSuite(region))
+    return tests
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/gis/testsuite/test_gis.py b/lib/python/pygrass/gis/testsuite/test_gis.py
new file mode 100644
index 0000000..d0fef3c
--- /dev/null
+++ b/lib/python/pygrass/gis/testsuite/test_gis.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+"""
+Luca Delucchi
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.pygrass.gis.region import Region
+
+
+class RegionTestCase(TestCase):
+
+    def test_bounds(self):
+        reg1 = Region()
+        reg2 = Region()
+        self.assertTrue(reg1, reg2)
+        north = reg2.north
+        reg2.north = 0
+        self.assertNotEqual(reg1.north, reg2.north)
+        reg2.north = north
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/messages/testsuite/test_doctests.py b/lib/python/pygrass/messages/testsuite/test_doctests.py
new file mode 100644
index 0000000..3a49197
--- /dev/null
+++ b/lib/python/pygrass/messages/testsuite/test_doctests.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.pygrass.messages as gmessages
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(gmessages))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/modules/grid/grid.py b/lib/python/pygrass/modules/grid/grid.py
index 9f2663c..9556206 100644
--- a/lib/python/pygrass/modules/grid/grid.py
+++ b/lib/python/pygrass/modules/grid/grid.py
@@ -70,20 +70,22 @@ def copy_mapset(mapset, path):
     :returns: the instance of the new Mapset.
 
 
+    >>> from grass.script.core import gisenv
+    >>> mname = gisenv()['MAPSET']
     >>> mset = Mapset()
-    >>> mset.name
-    'user1'
+    >>> mset.name == mname
+    True
     >>> import tempfile as tmp
     >>> import os
     >>> path = os.path.join(tmp.gettempdir(), 'my_loc', 'my_mset')
-    >>> copy_mapset(mset, path)
-    Mapset('user1')
-    >>> sorted(os.listdir(path))
-    [u'PERMANENT', u'user1']
+    >>> copy_mapset(mset, path)                           # doctest: +ELLIPSIS
+    Mapset(...)
+    >>> sorted(os.listdir(path))                          # doctest: +ELLIPSIS
+    [...'PERMANENT'...]
     >>> sorted(os.listdir(os.path.join(path, 'PERMANENT')))
-    [u'DEFAULT_WIND', u'PROJ_INFO', u'PROJ_UNITS', u'VAR', u'WIND']
-    >>> sorted(os.listdir(os.path.join(path, 'user1'))) # doctest: +ELLIPSIS
-    [...u'SEARCH_PATH', u'VAR', u'WIND']
+    [u'DEFAULT_WIND', u'PROJ_EPSG', u'PROJ_INFO', u'PROJ_UNITS', u'VAR', u'WIND']
+    >>> sorted(os.listdir(os.path.join(path, mname)))   # doctest: +ELLIPSIS
+    [...u'SEARCH_PATH',...u'WIND']
     >>> import shutil
     >>> shutil.rmtree(path)
 
@@ -111,8 +113,12 @@ def read_gisrc(gisrc):
     :returns: a tuple with the mapset, location and gisdbase
 
     >>> import os
-    >>> read_gisrc(os.environ['GISRC'])  # doctest: +ELLIPSIS
-    (u'user1', ...)
+    >>> from grass.script.core import gisenv
+    >>> genv = gisenv()
+    >>> (read_gisrc(os.environ['GISRC']) == (genv['MAPSET'],
+    ...                                      genv['LOCATION_NAME'],
+    ...                                      genv['GISDBASE']))
+    True
     """
     with open(gisrc, 'r') as gfile:
         gis = dict([(k.strip(), v.strip())
diff --git a/lib/python/pygrass/modules/grid/testsuite/test_doctests.py b/lib/python/pygrass/modules/grid/testsuite/test_doctests.py
new file mode 100644
index 0000000..b56e34d
--- /dev/null
+++ b/lib/python/pygrass/modules/grid/testsuite/test_doctests.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.pygrass.modules as gmodules
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+
+    tests.addTests(doctest.DocTestSuite(gmodules.shortcuts))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/modules/interface/module.py b/lib/python/pygrass/modules/interface/module.py
index 3cce740..90489d5 100644
--- a/lib/python/pygrass/modules/interface/module.py
+++ b/lib/python/pygrass/modules/interface/module.py
@@ -20,6 +20,7 @@ if sys.version_info[0] == 2:
     from itertools import izip_longest as zip_longest
 else:
     from itertools import zip_longest
+    unicode = str
 
 
 def _get_bash(self, *args, **kargs):
diff --git a/lib/python/pygrass/modules/interface/testsuite/test_doctests.py b/lib/python/pygrass/modules/interface/testsuite/test_doctests.py
new file mode 100644
index 0000000..e1d0d27
--- /dev/null
+++ b/lib/python/pygrass/modules/interface/testsuite/test_doctests.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.pygrass.modules as gmodules
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(gmodules.interface.flag))
+    tests.addTests(doctest.DocTestSuite(gmodules.interface.module))
+    tests.addTests(doctest.DocTestSuite(gmodules.interface.parameter))
+
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/modules/interface/testsuite/test_flag.py b/lib/python/pygrass/modules/interface/testsuite/test_flag.py
new file mode 100644
index 0000000..51dada4
--- /dev/null
+++ b/lib/python/pygrass/modules/interface/testsuite/test_flag.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Tue Jun 24 09:43:53 2014
+
+ at author: pietro
+"""
+from __future__ import unicode_literals
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.pygrass.modules.interface.flag import Flag
+
+
+class TestFlag(TestCase):
+    def test_get_bash(self):
+        """Test get_bash method"""
+        flag = Flag(diz=dict(name='a'))
+        self.assertFalse(flag.value)
+        self.assertEqual('', flag.get_bash())
+        flag.special = True
+        self.assertEqual('', flag.get_bash())
+        flag.value = True
+        self.assertEqual('--a', flag.get_bash())
+        flag.special = False
+        self.assertEqual('-a', flag.get_bash())
+
+    def test_get_python(self):
+        """Test get_python method"""
+        flag = Flag(diz=dict(name='a'))
+        self.assertFalse(flag.value)
+        self.assertEqual('', flag.get_python())
+        flag.special = True
+        self.assertEqual('', flag.get_python())
+        flag.value = True
+        self.assertEqual('a=True', flag.get_python())
+        flag.special = False
+        self.assertEqual('a', flag.get_python())
+
+    def test_bool(self):
+        """Test magic __bool__ method"""
+        flag = Flag(diz=dict(name='a'))
+        flag.value = True
+        self.assertTrue(True if flag else False)
+        flag.value = False
+        self.assertFalse(True if flag else False)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/modules/interface/testsuite/test_modules.py b/lib/python/pygrass/modules/interface/testsuite/test_modules.py
new file mode 100644
index 0000000..13764af
--- /dev/null
+++ b/lib/python/pygrass/modules/interface/testsuite/test_modules.py
@@ -0,0 +1,83 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Tue Jun 24 09:43:53 2014
+
+ at author: pietro
+"""
+import sys
+from fnmatch import fnmatch
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.script.core import get_commands
+from grass.exceptions import ParameterError
+from grass.pygrass.modules.interface import Module
+
+PY2 = sys.version_info[0] == 2
+if PY2:
+    from StringIO import StringIO
+else:
+    from io import BytesIO as StringIO
+
+
+SKIP = ["g.parser", ]
+
+
+# taken from six
+def with_metaclass(meta, *bases):
+    """Create a base class with a metaclass."""
+    # This requires a bit of explanation: the basic idea is to make a dummy
+    # metaclass for one level of class instantiation that replaces itself with
+    # the actual metaclass.
+    class metaclass(meta):
+
+        def __new__(cls, name, this_bases, d):
+            return meta(name, bases, d)
+    return type.__new__(metaclass, 'temporary_class', (), {})
+
+
+class ModulesMeta(type):
+    def __new__(mcs, name, bases, dict):
+
+        def gen_test(cmd):
+            def test(self):
+                Module(cmd)
+            return test
+
+        cmds = [c for c in sorted(list(get_commands()[0]))
+                if c not in SKIP and not fnmatch(c, "g.gui.*")]
+        for cmd in cmds:
+            test_name = "test__%s" % cmd.replace('.', '_')
+            dict[test_name] = gen_test(cmd)
+        return type.__new__(mcs, name, bases, dict)
+
+
+class TestModules(with_metaclass(ModulesMeta, TestCase)):
+    pass
+
+
+class TestModulesPickability(TestCase):
+    def test_rsun(self):
+        """Test if a Module instance is pickable"""
+        import pickle
+
+        out = StringIO()
+        pickle.dump(Module('r.sun'), out)
+        out.close()
+
+
+class TestModulesCheck(TestCase):
+    def test_flags_with_suppress_required(self):
+        """Test if flags with suppress required are handle correctly"""
+        gextension = Module('g.extension')
+        # check if raise an error if required parameter are missing
+        with self.assertRaises(ParameterError):
+            gextension.check()
+
+        # check if the flag suppress the required parameters
+        gextension.flags.a = True
+        self.assertIsNone(gextension.check())
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/modules/interface/testsuite/test_parameter.py b/lib/python/pygrass/modules/interface/testsuite/test_parameter.py
new file mode 100644
index 0000000..20749ea
--- /dev/null
+++ b/lib/python/pygrass/modules/interface/testsuite/test_parameter.py
@@ -0,0 +1,346 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Jul  4 16:32:54 2014
+
+ at author: pietro
+"""
+from __future__ import print_function
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.pygrass.modules.interface.parameter import Parameter, _check_value
+
+GETTYPE = {
+    'string': str,
+    'integer': int,
+    'float': float,
+    'double': float,
+    'file': str,
+    'all': lambda x: x,
+}
+
+class TestCheckValueFunction(TestCase):
+
+    def test_single_all(self):
+        param = Parameter(diz=dict(name='int_number', required='yes',
+                                   multiple='no', type='all'))
+        value = 1
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = 1.2
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = "elev"
+        self.assertTupleEqual((value, value), _check_value(param, value))
+
+        # test errors
+        with self.assertRaises(TypeError):
+            _check_value(param, (1, 2))
+
+    def test_single_float_double(self):
+        for ptype in ('float', 'double'):
+            param = Parameter(diz=dict(name='int_number', required='yes',
+                                       multiple='no', type=ptype))
+            value = 1
+            self.assertTupleEqual((float(value), value), _check_value(param, value))
+            value = 1.2
+            self.assertTupleEqual((value, value), _check_value(param, value))
+            value = "1"
+            self.assertTupleEqual((float(value), value), _check_value(param, value))
+            value = "1.35"
+            self.assertTupleEqual((float(value), value), _check_value(param, value))
+
+            # test errors
+            with self.assertRaises(ValueError):
+                _check_value(param, "elev")
+            with self.assertRaises(TypeError):
+                _check_value(param, (1., 2.))
+
+    def test_multiple_float_double(self):
+        for ptype in ('float', 'double'):
+            param = Parameter(diz=dict(name='number', required='yes',
+                                       multiple='yes', type=ptype))
+            value = (1.4, 2.3)
+            self.assertTupleEqual((list(value), value),
+                                  _check_value(param, value))
+            value = (1, 2)
+            self.assertTupleEqual(([float(v) for v in value], value),
+                                  _check_value(param, value))
+            value = ("1", "2")
+            self.assertTupleEqual(([float(v) for v in value], value),
+                                  _check_value(param, value))
+            value = ("1.4", "2.3")
+            self.assertTupleEqual(([float(v) for v in value], value),
+                                  _check_value(param, value))
+            value = 1.
+            self.assertTupleEqual(([value, ], value),
+                                  _check_value(param, value))
+            value = 1
+            self.assertTupleEqual(([value, ], value),
+                                  _check_value(param, value))
+
+            # test errors
+            with self.assertRaises(ValueError):
+                _check_value(param, "elev")
+            with self.assertRaises(ValueError):
+                _check_value(param, ("elev", "slope", "aspect"))
+
+    def test_range_float_double(self):
+        for ptype in ('float', 'double'):
+            param = Parameter(diz=dict(name='int_number', required='yes',
+                                       multiple='no', type=ptype,
+                                       values=["0.0-2.5", ]))
+            value = 1
+            self.assertTupleEqual((float(value), value), _check_value(param, value))
+            value = 1.2
+            self.assertTupleEqual((value, value), _check_value(param, value))
+            value = "0"
+            self.assertTupleEqual((float(value), value), _check_value(param, value))
+            value = "2.5"
+            self.assertTupleEqual((float(value), value), _check_value(param, value))
+
+            # test errors
+            with self.assertRaises(ValueError):
+                _check_value(param, "elev")
+            with self.assertRaises(TypeError):
+                _check_value(param, (1., 2.))
+            with self.assertRaises(ValueError):
+                _check_value(param, -1.)
+            with self.assertRaises(ValueError):
+                _check_value(param, 2.6)
+
+    def test_single_integer(self):
+        param = Parameter(diz=dict(name='int_number', required='yes',
+                                   multiple='no', type='integer'))
+        value = 1
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = 1.2
+        self.assertTupleEqual((int(value), value), _check_value(param, value))
+        value = "1"
+        self.assertTupleEqual((int(value), value), _check_value(param, value))
+
+        # test errors
+        with self.assertRaises(ValueError):
+            _check_value(param, "1.")
+        with self.assertRaises(ValueError):
+            _check_value(param, "elev")
+        with self.assertRaises(TypeError):
+            _check_value(param, (1, 2))
+
+    def test_multiple_integer(self):
+        param = Parameter(diz=dict(name='int_number', required='yes',
+                                   multiple='yes', type='integer'))
+        value = (1, 2)
+        #import ipdb; ipdb.set_trace()
+        self.assertTupleEqual((list(value), value), _check_value(param, value))
+        value = (1.2, 2.3)
+        self.assertTupleEqual(([int(v) for v in value], value),
+                              _check_value(param, value))
+        value = ("1", "2")
+        self.assertTupleEqual(([int(v) for v in value], value),
+                              _check_value(param, value))
+        value = 1
+        self.assertTupleEqual(([1, ], value), _check_value(param, value))
+        value = 1.2
+        self.assertTupleEqual(([int(value), ], value),
+                              _check_value(param, value))
+        value = "1"
+        self.assertTupleEqual(([int(value), ], value),
+                              _check_value(param, value))
+
+        # test errors
+        with self.assertRaises(ValueError):
+            _check_value(param, "elev")
+        with self.assertRaises(ValueError):
+            _check_value(param, ("elev", "slope", "aspect"))
+
+    def test_keydescvalues(self):
+        for ptype in ('integer', 'float'):
+            param = Parameter(diz=dict(name='int_number', required='yes',
+                                       multiple='yes',
+                                       keydesc=('range', '(min, max)'),
+                                       type='integer'))
+            value = (1, 2)
+            self.assertTupleEqual(([value, ], value),
+                                  _check_value(param, value))
+            value = [(1, 2), (2, 3)]
+            self.assertTupleEqual((value, value), _check_value(param, value))
+
+            with self.assertRaises(TypeError):
+                _check_value(param, 1)
+
+    def test_range_integer(self):
+        param = Parameter(diz=dict(name='int_number', required='yes',
+                                   multiple='no', type='integer',
+                                   values=["0-10", ]))
+        value = 1
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = 0
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = 10
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = 1.2
+        self.assertTupleEqual((int(value), value), _check_value(param, value))
+        value = "1"
+        self.assertTupleEqual((int(value), value), _check_value(param, value))
+
+        # test errors
+        with self.assertRaises(ValueError):
+            _check_value(param, "1.")
+        with self.assertRaises(ValueError):
+            _check_value(param, "elev")
+        with self.assertRaises(TypeError):
+            _check_value(param, (1, 2))
+        with self.assertRaises(ValueError):
+            _check_value(param, -1)
+        with self.assertRaises(ValueError):
+            _check_value(param, 11)
+
+    def test_choice_integer(self):
+        param = Parameter(diz=dict(name='int_number', required='yes',
+                                   multiple='no', type='integer',
+                                   values=[2, 4, 6, 8]))
+        value = 4
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = 2
+        self.assertTupleEqual((int(value), value), _check_value(param, value))
+        value = "8"
+        self.assertTupleEqual((int(value), value), _check_value(param, value))
+
+        # test errors
+        with self.assertRaises(ValueError):
+            _check_value(param, "2.")
+        with self.assertRaises(ValueError):
+            _check_value(param, "elev")
+        with self.assertRaises(TypeError):
+            _check_value(param, (1, 2))
+        with self.assertRaises(ValueError):
+            _check_value(param, 3)
+
+    def test_single_string_file(self):
+        for ptype in ('string', 'file'):
+            param = Parameter(diz=dict(name='name', required='yes',
+                                       multiple='no', type=ptype))
+            value = u'elev'
+            self.assertTupleEqual((value, value), _check_value(param, value))
+            value = 10
+            self.assertTupleEqual((str(value), value),
+                                  _check_value(param, value))
+            value = 12.5
+            self.assertTupleEqual((str(value), value),
+                                  _check_value(param, value))
+
+            # test errors
+            with self.assertRaises(TypeError):
+                _check_value(param, ('abc', 'def'))
+
+    def test_multiple_strings(self):
+        param = Parameter(diz=dict(name='rastnames', required='yes',
+                                   multiple='yes', type='string'))
+        value = ['elev', 'slope', 'aspect']
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = ('elev', 'slope', 'aspect')
+        self.assertTupleEqual((list(value), value), _check_value(param, value))
+        value = ['1.3', '2.3', '4.5']
+        self.assertTupleEqual((value, value), _check_value(param, value))
+        value = [1.3, 2.3, 4.5]
+        self.assertTupleEqual(([str(v) for v in value], value),
+                              _check_value(param, value))
+        value = (1, 2, 3)
+        self.assertTupleEqual(([str(v) for v in value], value),
+                              _check_value(param, value))
+        value = 'elev'
+        self.assertTupleEqual(([value, ], value), _check_value(param, value))
+
+        # test errors
+        with self.assertRaises(ValueError):
+            _check_value(param, ({}, {}, {}))
+
+    def test_choice_string(self):
+        values = ["elev", "asp", "slp"]
+        param = Parameter(diz=dict(name='rastname', required='yes',
+                                   multiple='no', type='string',
+                                   values=values))
+        value = "asp"
+        self.assertTupleEqual((value, value), _check_value(param, value))
+
+        # test errors
+        with self.assertRaises(ValueError):
+            _check_value(param, "2")
+        with self.assertRaises(ValueError):
+            _check_value(param, "2.")
+        with self.assertRaises(TypeError):
+            _check_value(param, (1, 2))
+        with self.assertRaises(ValueError):
+            _check_value(param, "elevation")
+
+
+class TestParameterGetBash(TestCase):
+    def test_single_float_double(self):
+        for ptype in ('float', 'double'):
+            param = Parameter(diz=dict(name='number', required='yes',
+                                       multiple='no', type=ptype))
+            # set private attributes to skip the check function
+            param._value = 1.0
+            param._rawvalue = 1.0
+            self.assertEqual("number=1.0", param.get_bash())
+            param._value = 1.0
+            param._rawvalue = "1."
+            self.assertEqual("number=1.", param.get_bash())
+
+    def test_multiple_float_double(self):
+        for ptype in ('float', 'double'):
+            param = Parameter(diz=dict(name='number', required='yes',
+                                       multiple='yes', type=ptype))
+            # set private attributes to skip the check function
+            param._value = [1.0, ]
+            param._rawvalue = 1.0
+            self.assertEqual("number=1.0", param.get_bash())
+            param._value = [1.0, ]
+            param._rawvalue = "1."
+            self.assertEqual("number=1.", param.get_bash())
+            param._value = [1.0, 2.0, 3.0]
+            param._rawvalue = [1.0, 2.0, 3.0]
+            self.assertEqual("number=1.0,2.0,3.0", param.get_bash())
+            param._value = [1.0, 2.0, 3.0]
+            param._rawvalue = ["1.", "2.", "3."]
+            self.assertEqual("number=1.,2.,3.", param.get_bash())
+
+    def test_single_string(self):
+        param = Parameter(diz=dict(name='rast', required='yes',
+                                   multiple='no', type='string'))
+        # set private attributes to skip the check function
+        param._value = 'elev'
+        param._rawvalue = 'elev'
+        self.assertEqual("rast=elev", param.get_bash())
+
+    def test_multiple_strings(self):
+        param = Parameter(diz=dict(name='rast', required='yes',
+                                   multiple='yes', type='string'))
+        # set private attributes to skip the check function
+        param._value = ['elev', 'asp', 'slp']
+        param._rawvalue = ['elev', 'asp', 'slp']
+        self.assertEqual("rast=elev,asp,slp", param.get_bash())
+        param._value = ['elev', ]
+        param._rawvalue = 'elev'
+        self.assertEqual("rast=elev", param.get_bash())
+
+    def test_keydescvalues(self):
+        param = Parameter(diz=dict(name='range', required='yes',
+                                   multiple='yes',
+                                   keydesc=('range', '(min, max)'),
+                                   type='integer'))
+        # set private attributes to skip the check function
+        param._value = [(1., 2.), ]
+        param._rawvalue = (1., 2.)
+        self.assertEqual("range=1.0,2.0", param.get_bash())
+        param._value = [(1., 2.), (3., 4.)]
+        param._rawvalue = [(1., 2.), (3., 4.)]
+        self.assertEqual("range=1.0,2.0,3.0,4.0", param.get_bash())
+        param._value = [(1., 2.), (3., 4.)]
+        param._rawvalue = [('1.0', '2.00'), ('3.000', '4.0000')]
+        self.assertEqual("range=1.0,2.00,3.000,4.0000", param.get_bash())
+
+        with self.assertRaises(TypeError):
+            _check_value(param, 1)
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/modules/shortcuts.py b/lib/python/pygrass/modules/shortcuts.py
index bd7981d..2188667 100644
--- a/lib/python/pygrass/modules/shortcuts.py
+++ b/lib/python/pygrass/modules/shortcuts.py
@@ -21,11 +21,12 @@ class MetaModule(object):
        >>> g_list.required
        ['type']
        >>> g_list.inputs.type = 'raster'
+       >>> g_list.inputs.mapset = 'PERMANENT'
        >>> g_list.stdout_ = -1
        >>> g_list.run()
        Module('g.list')
        >>> g_list.outputs.stdout                         # doctest: +ELLIPSIS
-       '...basins...soils...'
+       '...basin...soils...'
        >>> r = MetaModule('r')
        >>> what = r.what
        >>> what.description
diff --git a/lib/python/pygrass/modules/testsuite/test_doctests.py b/lib/python/pygrass/modules/testsuite/test_doctests.py
new file mode 100644
index 0000000..c3ba81d
--- /dev/null
+++ b/lib/python/pygrass/modules/testsuite/test_doctests.py
@@ -0,0 +1,43 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+from grass.pygrass.modules import shortcuts, grid, interface
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(interface))
+    tests.addTests(doctest.DocTestSuite(grid.grid))
+    tests.addTests(doctest.DocTestSuite(grid.patch))
+    tests.addTests(doctest.DocTestSuite(grid.split))
+    tests.addTests(doctest.DocTestSuite(shortcuts))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/modules/testsuite/test_import_isolation.py b/lib/python/pygrass/modules/testsuite/test_import_isolation.py
new file mode 100644
index 0000000..91a8782
--- /dev/null
+++ b/lib/python/pygrass/modules/testsuite/test_import_isolation.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+"""
+Authors:   pietro
+
+Copyright: (C) 2015 pietro
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+
+Created on  Wed Jul 15 11:34:32 2015
+"""
+from __future__ import absolute_import
+
+import sys
+import fnmatch
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+def check(*patterns):
+    """Return a set of the imported libraries that soddisfies several patterns.
+    """
+    result = []
+    imports = sorted(sys.modules.keys())
+    for pattern in patterns:
+        result.extend(fnmatch.filter(imports, pattern))
+    return set(result)
+
+
+class TestImportIsolation(TestCase):
+    patterns = ['grass.lib*']
+
+    def test_import_isolation(self):
+        """Check that modules  classes are not using ctypes"""
+        isolate = set()
+        self.assertEqual(isolate, check(*self.patterns),
+                         msg="Test isolation before any import.")
+        # same import done in __init__ file
+        from grass.pygrass.modules.interface import Module, ParallelModuleQueue
+        from grass.pygrass.modules import shortcuts
+        self.assertEqual(isolate, check(*self.patterns),
+                         msg="Test isolation after import Module.")
+        # test the other way round
+        from grass.pygrass.vector import VectorTopo
+        self.assertNotEqual(isolate, check(*self.patterns),
+                            msg=("Test the isolation is broken, therefore "
+                                 "the defined patterns are correct"))
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/raster/__init__.py b/lib/python/pygrass/raster/__init__.py
index e7da376..c01f46a 100644
--- a/lib/python/pygrass/raster/__init__.py
+++ b/lib/python/pygrass/raster/__init__.py
@@ -33,6 +33,9 @@ from grass.pygrass.raster.buffer import Buffer
 from grass.pygrass.raster.segment import Segment
 from grass.pygrass.raster.rowio import RowIO
 
+WARN_OVERWRITE = "Raster map <{0}> already exists and will be overwritten"
+
+test_raster_name="Raster_test_map"
 
 class RasterRow(RasterAbstractBase):
     """Raster_row_access": Inherits: "Raster_abstract_base" and implements
@@ -51,57 +54,85 @@ class RasterRow(RasterAbstractBase):
           object (only for rows), since r.mapcalc is more sophisticated and
           faster
 
-    Examples:
-
-    >>> elev = RasterRow('elevation')
-    >>> elev.exist()
-    True
-    >>> elev.is_open()
-    False
-    >>> elev.open()
-    >>> elev.is_open()
-    True
-    >>> elev.has_cats()
-    False
-    >>> elev.mode
-    u'r'
-    >>> elev.mtype
-    'FCELL'
-    >>> elev.num_cats()
-    0
-    >>> elev.info.range
-    (56, 156)
-    >>> elev.info
-    elevation@
-    rows: 1350
-    cols: 1500
-    north: 228500.0 south: 215000.0 nsres:10.0
-    east:  645000.0 west: 630000.0 ewres:10.0
-    range: 56, 156
-    proj: 99
-    <BLANKLINE>
-
-    Each Raster map have an attribute call ``cats`` that allow user
-    to interact with the raster categories.
-
-    >>> land = RasterRow('geology')
-    >>> land.open()
-    >>> land.cats               # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
-    [('Zml', 1, None),
-     ...
-     ('Tpyw', 1832, None)]
-
-    Open a raster map using the *with statement*:
-
-    >>> with RasterRow('elevation') as elev:
-    ...     for row in elev[:3]:
-    ...         row[:4]
-    ...
-    Buffer([ 141.99613953,  141.27848816,  141.37904358,  142.29821777], dtype=float32)
-    Buffer([ 142.90461731,  142.39450073,  142.68611145,  143.59086609], dtype=float32)
-    Buffer([ 143.81854248,  143.54707336,  143.83972168,  144.59527588], dtype=float32)
-    >>> elev.is_open()
-    False
+        Examples:
+
+        >>> elev = RasterRow(test_raster_name)
+        >>> elev.exist()
+        True
+        >>> elev.is_open()
+        False
+        >>> elev.open()
+        >>> elev.is_open()
+        True
+        >>> elev.has_cats()
+        True
+        >>> elev.mode
+        u'r'
+        >>> elev.mtype
+        'CELL'
+        >>> elev.num_cats()
+        16
+        >>> elev.info.range
+        (11, 44)
+        >>> elev.info.cols
+        4
+        >>> elev.info.rows
+        4
+
+        Editing the history
+
+        >>> elev.hist.read()
+        >>> elev.hist.title = "A test map"
+        >>> elev.hist.write()
+        >>> elev.hist.title
+        'A test map'
+        >>> elev.hist.keyword
+        'This is a test map'
+
+        >>> attrs = list(elev.hist)
+        >>> attrs[0]
+        ('name', u'Raster_test_map')
+        >>> attrs[2]
+        ('mtype', '')
+
+        Each Raster map have an attribute call ``cats`` that allow user
+        to interact with the raster categories.
+
+        >>> elev.cats          # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
+        [('A', 11, None),
+         ('B', 12, None),
+        ...
+         ('P', 44, None)]
+
+        >>> elev.cats.labels() # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
+        ['A', 'B', 'C', 'D', 'E',
+         'F', 'G', 'H', 'I', 'J',
+         'K', 'L', 'M', 'n', 'O', 'P']
+        >>> elev.cats[0]
+        ('A', 11, None)
+        >>> elev.cats[2]
+        ('C', 13, None)
+        >>> elev.cats[0] = ('AA', 11)
+        >>> elev.cats[1] = ('BB', 12)
+        >>> elev.cats.write()
+        >>> elev.cats.read()
+        >>> elev.cats[0]
+        ('AA', 11, None)
+        >>> elev.cats[1]
+        ('BB', 12, None)
+
+        Open a raster map using the *with statement*:
+
+        >>> with RasterRow(test_raster_name) as elev:
+        ...     for row in elev:
+        ...         row
+        Buffer([11, 21, 31, 41], dtype=int32)
+        Buffer([12, 22, 32, 42], dtype=int32)
+        Buffer([13, 23, 33, 43], dtype=int32)
+        Buffer([14, 24, 34, 44], dtype=int32)
+
+        >>> elev.is_open()
+        False
 
     """
     def __init__(self, name, mapset='', *args, **kargs):
@@ -111,21 +142,19 @@ class RasterRow(RasterAbstractBase):
     @must_be_open
     def get_row(self, row, row_buffer=None):
         """Private method that return the row using the read mode
-        call the `Rast_get_row` C function.
+            call the `Rast_get_row` C function.
 
-        :param row: the number of row to obtain
-        :type row: int
-        :param row_buffer: Buffer object instance with the right dim and type
-        :type row_buffer: Buffer
+            :param row: the number of row to obtain
+            :type row: int
+            :param row_buffer: Buffer object instance with the right dim and type
+            :type row_buffer: Buffer
 
-        >>> elev = RasterRow('elevation')
-        >>> elev.open()
-        >>> elev[0]                 # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
-        Buffer([ 141.99613953, 141.27848816,  141.37904358, ..., 58.40825272,
-                 58.30711365,  58.18310547], dtype=float32)
-        >>> elev.get_row(0)         # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
-        Buffer([ 141.99613953, 141.27848816, 141.37904358, ..., 58.40825272,
-                 58.30711365, 58.18310547], dtype=float32)
+            >>> elev = RasterRow(test_raster_name)
+            >>> elev.open()
+            >>> elev[0]
+            Buffer([11, 21, 31, 41], dtype=int32)
+            >>> elev.get_row(0)
+            Buffer([11, 21, 31, 41], dtype=int32)
 
         """
         if row_buffer is None:
@@ -241,6 +270,18 @@ class RasterRowIO(RasterRow):
         :type row: int
         :param row_buffer: Specify the Buffer object that will be instantiate
         :type row_buffer: Buffer object
+
+            >>> elev = RasterRowIO(test_raster_name)
+            >>> elev.open('r')
+            >>> for row in elev:
+            ...     row
+            Buffer([11, 21, 31, 41], dtype=int32)
+            Buffer([12, 22, 32, 42], dtype=int32)
+            Buffer([13, 23, 33, 43], dtype=int32)
+            Buffer([14, 24, 34, 44], dtype=int32)
+
+            >>> elev.close()
+
         """
         if row_buffer is None:
             row_buffer = Buffer((self._cols,), self.mtype)
@@ -329,6 +370,27 @@ class RasterSegment(RasterAbstractBase):
         :type row: int
         :param row_buffer: specify the Buffer object that will be instantiate
         :type row_buffer: Buffer object
+
+            >>> elev = RasterRowIO(test_raster_name)
+            >>> elev.open('r')
+            >>> for row in elev:
+            ...     row
+            Buffer([11, 21, 31, 41], dtype=int32)
+            Buffer([12, 22, 32, 42], dtype=int32)
+            Buffer([13, 23, 33, 43], dtype=int32)
+            Buffer([14, 24, 34, 44], dtype=int32)
+
+            >>> elev.close()
+
+
+            >>> with RasterSegment(test_raster_name) as elev:
+            ...     for row in elev:
+            ...         row
+            Buffer([11, 21, 31, 41], dtype=int32)
+            Buffer([12, 22, 32, 42], dtype=int32)
+            Buffer([13, 23, 33, 43], dtype=int32)
+            Buffer([14, 24, 34, 44], dtype=int32)
+
         """
         if row_buffer is None:
             row_buffer = Buffer((self._cols), self.mtype)
@@ -338,8 +400,30 @@ class RasterSegment(RasterAbstractBase):
     def put_row(self, row, row_buffer):
         """Write the row using the `segment.put_row` method
 
-        :param row: a Row object to insert into raster
-        :type row: Buffer object
+            :param row: a Row object to insert into raster
+            :type row: Buffer object
+
+            Input and output must have the same type in case of row copy
+
+            >>> map_a = RasterSegment(test_raster_name)
+            >>> map_b = RasterSegment(test_raster_name + "_segment")
+            >>> map_a.open('r')
+            >>> map_b.open('w', mtype="CELL", overwrite=True)
+            >>> for row in xrange(map_a.info.rows):
+            ...     map_b[row] = map_a[row] + 1000
+            >>> map_a.close()
+            >>> map_b.close()
+
+            >>> map_b = RasterSegment(test_raster_name + "_segment")
+            >>> map_b.open("r")
+            >>> for row in map_b:
+            ...         row
+            Buffer([1011, 1021, 1031, 1041], dtype=int32)
+            Buffer([1012, 1022, 1032, 1042], dtype=int32)
+            Buffer([1013, 1023, 1033, 1043], dtype=int32)
+            Buffer([1014, 1024, 1034, 1044], dtype=int32)
+            >>> map_b.close()
+
         """
         self.segment.put_row(row, row_buffer)
 
@@ -351,6 +435,29 @@ class RasterSegment(RasterAbstractBase):
         :type row: int
         :param col: Specify the column number
         :type col: int
+
+
+            >>> elev = RasterSegment(test_raster_name)
+            >>> elev.open('r')
+            >>> for i in xrange(4):
+            ...     elev.get(i,i)
+            11
+            22
+            33
+            44
+            >>> elev.close()
+
+
+            >>> with RasterSegment(test_raster_name) as elev:
+            ...     elev.get(0,0)
+            ...     elev.get(1,1)
+            ...     elev.get(2,2)
+            ...     elev.get(3,3)
+            11
+            22
+            33
+            44
+
         """
         return self.segment.get(row, col)
 
@@ -364,6 +471,28 @@ class RasterSegment(RasterAbstractBase):
         :type col: int
         :param val: Specify the value that will be write to the map cell
         :type val: value
+
+            >>> map_a = RasterSegment(test_raster_name)
+            >>> map_b = RasterSegment(test_raster_name + "_segment")
+            >>> map_a.open('r')
+            >>> map_b.open('w', mtype="FCELL", overwrite=True)
+            >>> for row in xrange(map_a.info.rows):
+            ...     for col in xrange(map_a.info.cols):
+            ...         value = map_a.get(row,col)
+            ...         map_b.put(row,col,value + 100)
+            >>> map_a.close()
+            >>> map_b.close()
+
+            >>> map_b = RasterSegment(test_raster_name + "_segment")
+            >>> map_b.open("r")
+            >>> for row in map_b:
+            ...         row
+            Buffer([ 111.,  121.,  131.,  141.], dtype=float32)
+            Buffer([ 112.,  122.,  132.,  142.], dtype=float32)
+            Buffer([ 113.,  123.,  133.,  143.], dtype=float32)
+            Buffer([ 114.,  124.,  134.,  144.], dtype=float32)
+            >>> map_b.close()
+
         """
         self.segment.val.value = val
         self.segment.put(row, col)
@@ -416,7 +545,7 @@ class RasterSegment(RasterAbstractBase):
                 self.hist.read()
 
                 if self.mode == "rw":
-                    warning(_(WARN_OVERWRITE.format(self)))
+                    #warning(_(WARN_OVERWRITE.format(self)))
                     # Close the file descriptor and open it as new again
                     libraster.Rast_close(self._fd)
                     self._fd = libraster.Rast_open_new(
@@ -479,3 +608,142 @@ def random_map(mapname, mtype, overwrite=True, factor=100):
         random_map.put_row(row_buf)
     random_map.close()
     return random_map
+
+
+def raster2numpy(rastname, mapset=''):
+    """Return a numpy array from a raster map
+
+    :param str rastname: the name of raster map
+    :parar str mapset: the name of mapset containig raster map
+    """
+    with RasterRow(rastname, mapset=mapset, mode='r') as rast:
+        return np.array(rast)
+
+
+def raster2numpy_img(rastname, region, color="ARGB", array=None):
+    """Convert a raster map layer into a string with
+       32Bit ARGB, 24Bit RGB or 8Bit Gray little endian encoding.
+
+        Return a numpy array from a raster map of type uint8
+        that contains the colored map data as 32 bit ARGB, 32Bit RGB
+        or 8 bit image
+
+       :param rastname: The name of raster map
+       :type rastname: string
+
+       :param region: The region to be used for raster map reading
+       :type region: grass.pygrass.gis.region.Region
+
+       :param color: "ARGB", "RGB", "GRAY1", "GRAY2"
+                     ARGB  -> 32Bit RGB with alpha channel (0xAARRGGBB)
+                     RGB   -> 32Bit RGB (0xffRRGGBB)
+                     GRAY1 -> grey scale formular: .33R+ .5G+ .17B
+                     GRAY2 -> grey scale formular: .30R+ .59G+ .11B
+       :type color: String
+
+       :param array: A numpy array (optional) to store the image,
+                     the array needs to setup as follows:
+
+                     array = np.ndarray((region.rows*region.cols*scale), np.uint8)
+
+                     scale = 4 in case of ARGB and RGB or scale = 1
+                     in case of Gray scale
+       :type array: numpy.ndarray
+
+       :return: A numpy array of size rows*cols*4 in case of ARGB, RGB and
+                rows*cols*1 in case of gray scale
+
+       Attention: This function will change the computational raster region
+       of the current process while running.
+    """
+    from copy import deepcopy
+    region_orig = deepcopy(region)
+    # Set the raster region
+    region.set_raster_region()
+
+    scale = 1
+    color_mode = 1
+    if color.upper() == "ARGB":
+        scale = 4
+        color_mode = 1
+    elif color.upper() == "RGB":
+        scale = 4
+        color_mode = 2
+    elif color.upper() == "GRAY1":
+        scale = 1
+        color_mode = 3
+    elif color.upper() == "GRAY2":
+        scale = 1
+        color_mode = 4
+
+    if array is None:
+        array = np.ndarray((region.rows*region.cols*scale), np.uint8)
+
+    libraster.Rast_map_to_img_str(rastname, color_mode,
+                                  array.ctypes.data_as(ctypes.POINTER(ctypes.c_uint8)))
+    # Restore the raster region
+    region_orig.set_raster_region()
+
+    return array
+
+
+def numpy2raster(array, mtype, rastname, overwrite=False):
+    """Save a numpy array to a raster map
+
+    :param obj array: a numpy array
+    :param obj mtype: the datatype of array
+    :param str rastername: the name of output map
+    :param bool overwrite: True to overwrite existing map
+    """
+    reg = Region()
+    if (reg.rows, reg.cols) != array.shape:
+        msg = "Region and array are different: %r != %r"
+        raise TypeError(msg % ((reg.rows, reg.cols), array.shape))
+    with RasterRow(rastname, mode='w', mtype=mtype, overwrite=overwrite) as new:
+        newrow = Buffer((array.shape[1],), mtype=mtype)
+        for row in array:
+            newrow[:] = row[:]
+            new.put_row(newrow)
+
+if __name__ == "__main__":
+
+    import doctest
+    from grass.pygrass import utils
+    from grass.pygrass.modules import Module
+    Module("g.region", n=40, s=0, e=40, w=0, res=10)
+    Module("r.mapcalc", expression="%s = row() + (10 * col())"%(test_raster_name),
+                             overwrite=True)
+    Module("r.support", map=test_raster_name,
+                        title="A test map",
+                        history="Generated by r.mapcalc",
+                        description="This is a test map")
+    cats="""11:A
+            12:B
+            13:C
+            14:D
+            21:E
+            22:F
+            23:G
+            24:H
+            31:I
+            32:J
+            33:K
+            34:L
+            41:M
+            42:n
+            43:O
+            44:P"""
+    Module("r.category", rules="-", map=test_raster_name,
+           stdin_=cats, separator=":")
+
+    doctest.testmod()
+
+    """Remove the generated vector map, if exist"""
+    mset = utils.get_mapset_raster(test_raster_name, mapset='')
+    if mset:
+        Module("g.remove", flags='f', type='raster', name=test_raster_name)
+    mset = utils.get_mapset_raster(test_raster_name + "_segment",
+                                   mapset='')
+    if mset:
+        Module("g.remove", flags='f', type='raster',
+               name=test_raster_name + "_segment")
diff --git a/lib/python/pygrass/raster/abstract.py b/lib/python/pygrass/raster/abstract.py
index c276a67..92cd44c 100644
--- a/lib/python/pygrass/raster/abstract.py
+++ b/lib/python/pygrass/raster/abstract.py
@@ -31,9 +31,9 @@ from grass.pygrass.raster.raster_type import TYPE as RTYPE, RTYPE_STR
 from grass.pygrass.raster.category import Category
 from grass.pygrass.raster.history import History
 
+test_raster_name="abstract_test_map"
 
 ## Define global variables to not exceed the 80 columns
-WARN_OVERWRITE = "Raster map <{0}> already exists and will be overwritten"
 INDXOUTRANGE = "The index (%d) is out of range, have you open the map?."
 INFO = """{name}@{mapset}
 rows: {rows}
@@ -49,16 +49,16 @@ class Info(object):
     def __init__(self, name, mapset=''):
         """Read the information for a raster map. ::
 
-            >>> info = Info('elevation')
+            >>> info = Info(test_raster_name)
             >>> info.read()
-            >>> info
-            elevation@
-            rows: 1350
-            cols: 1500
-            north: 228500.0 south: 215000.0 nsres:10.0
-            east:  645000.0 west: 630000.0 ewres:10.0
-            range: 56, 156
-            proj: 99
+            >>> info          # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
+            abstract_test_map@
+            rows: 4
+            cols: 4
+            north: 40.0 south: 0.0 nsres:10.0
+            east:  40.0 west: 0.0 ewres:10.0
+            range: 11, 44
+            ...
             <BLANKLINE>
 
         """
@@ -189,7 +189,10 @@ class Info(object):
 
     def items(self):
         return [(k, self.__getattribute__(k)) for k in self.keys()]
-
+        
+    def __iter__(self):
+        return ((k, self.__getattribute__(k)) for k in self.keys())
+        
     def _repr_html_(self):
         return dict2html(dict(self.items()), keys=self.keys(),
                          border='1', kdec='b')
@@ -212,13 +215,11 @@ class RasterAbstractBase(object):
         """The constructor need at least the name of the map
         *optional* field is the `mapset`.
 
-        >>> ele = RasterAbstractBase('elevation')
+        >>> ele = RasterAbstractBase(test_raster_name)
         >>> ele.name
-        u'elevation'
+        u'abstract_test_map'
         >>> ele.exist()
         True
-        >>> ele.mapset
-        'PERMANENT'
 
         ..
         """
@@ -355,7 +356,7 @@ class RasterAbstractBase(object):
 
         call the C function `G_find_raster`.
 
-        >>> ele = RasterAbstractBase('elevation')
+        >>> ele = RasterAbstractBase(test_raster_name)
         >>> ele.exist()
         True
         """
@@ -371,7 +372,7 @@ class RasterAbstractBase(object):
     def is_open(self):
         """Return True if the map is open False otherwise.
 
-        >>> ele = RasterAbstractBase('elevation')
+        >>> ele = RasterAbstractBase(test_raster_name)
         >>> ele.is_open()
         False
 
@@ -400,9 +401,10 @@ class RasterAbstractBase(object):
     def name_mapset(self, name=None, mapset=None):
         """Return the full name of the Raster.
 
-        >>> ele = RasterAbstractBase('elevation')
-        >>> ele.name_mapset()
-        u'elevation at PERMANENT'
+        >>> ele = RasterAbstractBase(test_raster_name)
+        >>> name = ele.name_mapset().split("@")
+        >>> name
+        [u'abstract_test_map']
 
         """
         if name is None:
@@ -424,11 +426,17 @@ class RasterAbstractBase(object):
             utils.rename(self.name, newname, 'rast')
         self._name = newname
 
-    def set_from_rast(self, rastname='', mapset=''):
-        """Set the region that will use from a map, if rastername and mapset
-        is not specify, use itself.
+    def set_region_from_rast(self, rastname='', mapset=''):
+        """Set the computational region from a map,
+           if rastername and mapset is not specify, use itself.
+           This region will be used by all
+           raster map layers that are opened in the same process.
+
+           The GRASS region settings will not be modified.
+
+           call C function `Rast_get_cellhd`, `Rast_set_window`
 
-        call C function `Rast_get_cellhd`"""
+           """
         if self.is_open():
             fatal("You cannot change the region if map is open")
             raise
@@ -439,7 +447,23 @@ class RasterAbstractBase(object):
             mapset = self.mapset
 
         libraster.Rast_get_cellhd(rastname, mapset,
-                                  ctypes.byref(region._region))
+                                  region.byref())
+        self._set_raster_window(region)
+
+    def set_region(self, region):
+        """Set the computational region that can be different from the
+           current region settings. This region will be used by all
+           raster map layers that are opened in the same process.
+
+           The GRASS region settings will not be modified.
+        """
+        if self.is_open():
+            fatal("You cannot change the region if map is open")
+            raise
+        self._set_raster_window(region)
+
+    def _set_raster_window(self, region):
+        libraster.Rast_set_window(region.byref())
         # update rows and cols attributes
         self._rows = libraster.Rast_window_rows()
         self._cols = libraster.Rast_window_cols()
@@ -448,11 +472,15 @@ class RasterAbstractBase(object):
     def get_value(self, point, region=None):
         """This method returns the pixel value of a given pair of coordinates:
 
-        :param point: pair of coordinates in tuple object
+        :param point: pair of coordinates in tuple object or class object with coords() method
         """
+        # Check for tuple
+        if type(point) != type([]) and type(point) != type(()):
+            point = point.coords()
+
         if not region:
             region = Region()
-        row, col = utils.coor2pixel(point.coords(), region)
+        row, col = utils.coor2pixel(point, region)
         if col < 0 or col > region.cols or row < 0 or row > region.rows:
             return None
         line = self.get_row(int(row))
@@ -523,3 +551,19 @@ class RasterAbstractBase(object):
     def set_cat(self, label, min_cat, max_cat=None, index=None):
         """Set or update a category"""
         self.cats.set_cat(index, (label, min_cat, max_cat))
+
+if __name__ == "__main__":
+
+    import doctest
+    from grass.pygrass import utils
+    from grass.pygrass.modules import Module
+    Module("g.region", n=40, s=0, e=40, w=0, res=10)
+    Module("r.mapcalc", expression="%s = row() + (10 * col())"%(test_raster_name),
+                             overwrite=True)
+
+    doctest.testmod()
+
+    """Remove the generated vector map, if exist"""
+    mset = utils.get_mapset_raster(test_raster_name, mapset='')
+    if mset:
+        Module("g.remove", flags='f', type='raster', name=test_raster_name)
diff --git a/lib/python/pygrass/raster/category.py b/lib/python/pygrass/raster/category.py
index 5fa8594..2b1ddb4 100644
--- a/lib/python/pygrass/raster/category.py
+++ b/lib/python/pygrass/raster/category.py
@@ -50,18 +50,6 @@ class Category(list):
     Rast_copy_cats() <- This should be wrapped so that categories from an
     existing Python category class are copied.
 
-
-    >>> import grass.lib.raster as libraster
-    >>> import ctypes
-    >>> from grass.pygrass.raster.category import Category
-    >>> cats = Category('landuse')
-    >>> cats.read()
-    >>> cats.labels()                                     # doctest: +ELLIPSIS
-    ['undefined', 'developed', 'agriculture', ..., 'water', 'sediment']
-    >>> cats[0]
-    ('undefined', 0, None)
-    >>> cats[1]
-    ('developed', 1, None)
     """
     def __init__(self, name, mapset='', mtype='CELL', *args, **kargs):
         self.name = name
@@ -272,7 +260,7 @@ class Category(list):
         :type category: Category object
         """
         libraster.Rast_copy_cats(ctypes.byref(self.c_cats),     # to
-                                 ctypes.byref(category._cats))  # from
+                                 ctypes.byref(category.c_cats))  # from
         self._read_cats()
 
     def ncats(self):
diff --git a/lib/python/pygrass/raster/history.py b/lib/python/pygrass/raster/history.py
index 442485b..fcb46f4 100644
--- a/lib/python/pygrass/raster/history.py
+++ b/lib/python/pygrass/raster/history.py
@@ -11,28 +11,6 @@ import datetime
 
 class History(object):
     """History class help to manage all the metadata of a raster map
-
-    >>> import grass.lib.gis as libgis
-    >>> libgis.G_gisinit('')
-    >>> hist = History('elevation')
-    >>> hist.read()
-    >>> hist.creator
-    'helena'
-    >>> hist.src1
-    ''
-    >>> hist.src2
-    ''
-    >>> hist.keyword
-    'generated by r.proj'
-    >>> hist.date
-    datetime.datetime(2006, 11, 7, 1, 9, 51)
-    >>> hist.mapset
-    'PERMANENT'
-    >>> hist.maptype
-    'raster'
-    >>> hist.title
-    'elev_ned10m'
-
     """
     def __init__(self, name, mapset='', mtype='',
                  creator='', src1='', src2='', keyword='',
@@ -49,20 +27,29 @@ class History(object):
         self.keyword = keyword
         self.date = date
         self.title = title
+        self.attrs = ['name', 'mapset', 'mtype', 'creator', 'src1', 'src2',
+                      'keyword', 'date', 'title']
 
     def __repr__(self):
-        attrs = ['name', 'mapset', 'mtype', 'creator', 'src1', 'src2',
-                 'keyword', 'date', 'title']
-        return "History(%s)" % ', '.join(["%s=%r" % (attr, getattr(self, attr))
-                                          for attr in attrs])
+        return "History(%s)" % ', '.join(["%s=%r" % (self.attr, getattr(self, attr))
+                                          for attr in self.attrs])
 
     def __del__(self):
         """Rast_free_history"""
         pass
+        
+    def __eq__(self, hist):
+        for attr in self.attrs:
+           if getattr(self, attr) != getattr(hist, attr):
+                return False
+        return True
 
     def __len__(self):
         return self.length()
 
+    def __iter__(self):
+        return ((attr, getattr(self, attr)) for attr in self.attrs)
+
     #----------------------------------------------------------------------
     #libraster.HIST_CREATOR
     def _get_creator(self):
@@ -125,7 +112,10 @@ class History(object):
         date_str = libraster.Rast_get_history(self.c_hist,
                                               libraster.HIST_MAPID)
         if date_str:
-            return datetime.datetime.strptime(date_str, self.date_fmt)
+            try:
+                return datetime.datetime.strptime(date_str, self.date_fmt)
+            except:
+                return date_str
 
     def _set_date(self, datetimeobj):
         if datetimeobj:
@@ -234,17 +224,9 @@ class History(object):
         obtain all the information of map. ::
 
             >>> import grass.lib.gis as libgis
-            >>> libgis.G_gisinit('')
             >>> import ctypes
             >>> import grass.lib.raster as libraster
             >>> hist = libraster.History()
-            >>> libraster.Rast_read_history(ctypes.c_char_p('elevation'),
-            ...                             ctypes.c_char_p(''),
-            ...                             ctypes.byref(hist))
-            0
-            >>> libraster.Rast_get_history(ctypes.byref(hist),
-            ...                            libraster.HIST_MAPID)
-            'Tue Nov  7 01:09:51 2006'
 
         ..
         """
diff --git a/lib/python/pygrass/raster/testsuite/data/a.png b/lib/python/pygrass/raster/testsuite/data/a.png
new file mode 100644
index 0000000..13bb5db
Binary files /dev/null and b/lib/python/pygrass/raster/testsuite/data/a.png differ
diff --git a/lib/python/pygrass/raster/testsuite/data/b.png b/lib/python/pygrass/raster/testsuite/data/b.png
new file mode 100644
index 0000000..1ce5c0c
Binary files /dev/null and b/lib/python/pygrass/raster/testsuite/data/b.png differ
diff --git a/lib/python/pygrass/raster/testsuite/data/c.png b/lib/python/pygrass/raster/testsuite/data/c.png
new file mode 100644
index 0000000..0325ccf
Binary files /dev/null and b/lib/python/pygrass/raster/testsuite/data/c.png differ
diff --git a/lib/python/pygrass/raster/testsuite/data/d.png b/lib/python/pygrass/raster/testsuite/data/d.png
new file mode 100644
index 0000000..91f378a
Binary files /dev/null and b/lib/python/pygrass/raster/testsuite/data/d.png differ
diff --git a/lib/python/pygrass/raster/testsuite/data/e.png b/lib/python/pygrass/raster/testsuite/data/e.png
new file mode 100644
index 0000000..91f378a
Binary files /dev/null and b/lib/python/pygrass/raster/testsuite/data/e.png differ
diff --git a/lib/python/pygrass/raster/testsuite/data/geology_cats b/lib/python/pygrass/raster/testsuite/data/geology_cats
new file mode 100644
index 0000000..bca265f
--- /dev/null
+++ b/lib/python/pygrass/raster/testsuite/data/geology_cats
@@ -0,0 +1,16 @@
+A:11
+B:12
+C:13
+D:14
+E:21
+F:22
+G:23
+H:24
+I:31
+J:32
+K:33
+L:34
+M:41
+n:42
+O:43
+P:44
\ No newline at end of file
diff --git a/lib/python/pygrass/raster/testsuite/test_category.py b/lib/python/pygrass/raster/testsuite/test_category.py
new file mode 100644
index 0000000..3895919
--- /dev/null
+++ b/lib/python/pygrass/raster/testsuite/test_category.py
@@ -0,0 +1,86 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Sep 15 17:09:40 2014
+
+ at author: lucadelu
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.pygrass.raster import RasterRow
+from grass.pygrass.raster.category import Category
+from grass.script.core import tempfile
+
+
+class RasterCategoryTestCase(TestCase):
+
+    name = "RasterCategoryTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+        """Create test raster map and region"""
+        cls.use_temp_region()
+        cls.runModule("g.region", n=40, s=0, e=40, w=0, res=10)
+        cls.runModule("r.mapcalc", expression="%s = row() + (10.0 * col())"%(cls.name),
+                                   overwrite=True)
+        cls.runModule("r.support", map=cls.name,
+                        title="A test map",
+                        history="Generated by r.mapcalc",
+                        description="This is a test map")
+        cats="""11:A
+                12:B
+                13:C
+                14:D
+                21:E
+                22:F
+                23:G
+                24:H
+                31:I
+                32:J
+                33:K
+                34:L
+                41:M
+                42:n
+                43:O
+                44:P"""
+
+        cls.runModule("r.category", rules="-", map=cls.name,
+                                 stdin_=cats, separator=":")
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='raster', 
+                      name=cls.name)
+        cls.del_temp_region()
+
+    def testCategory(self):
+        r = RasterRow(self.name)
+        r.open()
+        cats = r.cats
+        cats1 = Category(self.name)
+        cats1.read()
+        self.assertEqual(cats, cats1)
+        r.close()
+
+    def testFirstCat(self):
+        cat0 = ('A', 11, None)
+        cat7 = ('H', 24, None)
+        cat15 = ('P', 44, None)
+        cats = Category(self.name)
+        cats.read()
+        self.assertEqual(cats[0], cat0)
+        self.assertEqual(cats[7], cat7)
+        self.assertEqual(cats[15], cat15)
+
+    def testWrite(self):
+        tmpfile = tempfile(False)
+        cats = Category(self.name)
+        cats.read()
+        cats.write_rules(tmpfile)
+        self.assertFilesEqualMd5(tmpfile, 'data/geology_cats')
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/raster/testsuite/test_doctests.py b/lib/python/pygrass/raster/testsuite/test_doctests.py
new file mode 100644
index 0000000..220dee9
--- /dev/null
+++ b/lib/python/pygrass/raster/testsuite/test_doctests.py
@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.pygrass.raster as pgrass
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+
+
+    from grass.pygrass.modules import Module
+    Module("g.region", n=40, s=0, e=40, w=0, res=10)
+    Module("r.mapcalc", expression="%s = row() + (10 * col())"%\
+                                   (pgrass.test_raster_name),
+                             overwrite=True)
+    Module("r.support", map=pgrass.test_raster_name,
+                        title="A test map",
+                        history="Generated by r.mapcalc",
+                        description="This is a test map")
+    cats="""11:A
+            12:B
+            13:C
+            14:D
+            21:E
+            22:F
+            23:G
+            24:H
+            31:I
+            32:J
+            33:K
+            34:L
+            41:M
+            42:n
+            43:O
+            44:P"""
+    Module("r.category", rules="-", map=pgrass.test_raster_name,
+           stdin_=cats, separator=":")
+
+    Module("r.mapcalc", expression="%s = row() + (10 * col())"%\
+                                   (pgrass.abstract.test_raster_name),
+                             overwrite=True)
+
+    tests.addTests(doctest.DocTestSuite(pgrass))
+    tests.addTests(doctest.DocTestSuite(pgrass.abstract))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/raster/testsuite/test_history.py b/lib/python/pygrass/raster/testsuite/test_history.py
new file mode 100644
index 0000000..051f5fd
--- /dev/null
+++ b/lib/python/pygrass/raster/testsuite/test_history.py
@@ -0,0 +1,76 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Sep 15 17:09:40 2014
+
+ at author: lucadelu
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.pygrass.raster import RasterRow
+from grass.pygrass.raster.history import History
+
+
+class RasterHistoryTestCate(TestCase):
+
+    name = "RasterCategoryTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+        """Create test raster map and region"""
+        cls.use_temp_region()
+        cls.runModule("g.region", n=40, s=0, e=40, w=0, res=10)
+        cls.runModule("r.mapcalc", expression="%s = row() + (10 * col())"%(cls.name),
+                                   overwrite=True)
+        cls.runModule("r.support", map=cls.name,
+                        title="A test map",
+                        history="Generated by r.mapcalc",
+                        description="This is a test map")
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='raster', 
+                      name=cls.name)
+        cls.del_temp_region()
+
+    def testHistory(self):
+        r = RasterRow(self.name)
+        r.open("r")
+        hist = r.hist
+        
+        self.assertEqual(hist.title, "A test map")
+        self.assertEqual(hist.keyword,  "This is a test map")
+        
+        hist1 = History(self.name)
+        hist1.read()
+
+        self.assertEqual(hist1.title, "A test map")
+        self.assertEqual(hist1.keyword,  "This is a test map")
+        
+        self.assertEqual(hist, hist1)
+        self.assertEqual(hist.creator, hist1.creator)
+        hist1.creator = "Markus"
+        self.assertNotEqual(hist.creator, hist1.creator)
+        r.close()
+        
+        hist1.title = "No such title"
+        hist1.keyword = "No such description"
+        hist1.src1 = "No such source 1"
+        hist1.src2 = "No such source 2"
+        hist1.write()
+        
+        r.open("r")
+        hist = r.hist
+
+        self.assertEqual(hist.title, "No such title")
+        self.assertEqual(hist.keyword,  "No such description")
+        self.assertEqual(hist.creator, "Markus")
+        self.assertEqual(hist.creator, "Markus")
+        self.assertEqual(hist.src1, "No such source 1")
+        self.assertEqual(hist.src2, "No such source 2")
+        r.close()
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/raster/testsuite/test_numpy.py b/lib/python/pygrass/raster/testsuite/test_numpy.py
new file mode 100644
index 0000000..ae2cc2a
--- /dev/null
+++ b/lib/python/pygrass/raster/testsuite/test_numpy.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Jul 30 18:27:22 2015
+
+ at author: lucadelu
+"""
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from numpy.random import random
+from grass.pygrass.raster import raster2numpy, numpy2raster, RasterRow
+
+
+def check_raster(name):
+    r = RasterRow(name)
+    try:
+        r.open(mode='r')
+        r.close()
+        return True
+    except:
+        return False
+
+
+class NumpyTestCase(TestCase):
+
+    name = "RasterRowTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+        """Create test raster map and region"""
+        cls.use_temp_region()
+        cls.runModule("g.region", n=40, s=0, e=60, w=0, res=1)
+        cls.runModule("r.mapcalc", expression="%s = float(row() + (10.0 * col()))"%(cls.name),
+                                   overwrite=True)
+        cls.numpy_obj = raster2numpy(cls.name)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='raster',
+                      name=cls.name)
+        cls.del_temp_region()
+
+    def test_type(self):
+        self.assertTrue(str(self.numpy_obj.dtype), 'float32')
+
+    def test_len(self):
+        self.assertTrue(len(self.numpy_obj), 40)
+        self.assertTrue(len(self.numpy_obj[0]), 60)
+
+    def test_write(self):
+        ran = random([40, 60])
+        numpy2raster(ran, 'FCELL', self.name, True)
+        self.assertTrue(check_raster(self.name))
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/raster/testsuite/test_raster.py b/lib/python/pygrass/raster/testsuite/test_raster.py
new file mode 100644
index 0000000..a9eb3fd
--- /dev/null
+++ b/lib/python/pygrass/raster/testsuite/test_raster.py
@@ -0,0 +1,83 @@
+# -*- coding: utf-8 -*-
+from grass.exceptions import OpenError
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from unittest import skip
+
+from grass.pygrass.raster import RasterRow
+
+
+class RasterRowTestCase(TestCase):
+
+    name = "RasterRowTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+        """Create test raster map and region"""
+        cls.use_temp_region()
+        cls.runModule("g.region", n=40, s=0, e=40, w=0, res=10)
+        cls.runModule("r.mapcalc", expression="%s = row() + (10.0 * col())"%(cls.name),
+                                   overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='raster', 
+                      name=cls.name)
+        cls.del_temp_region()
+
+    def test_type(self):
+        r = RasterRow(self.name)
+        r.open(mode='r')
+        self.assertTrue(r.mtype,'DCELL')
+        r.close()
+
+    def test_isopen(self):
+        r = RasterRow(self.name)
+        self.assertFalse(r.is_open())
+        r.open(mode='r')
+        self.assertTrue(r.is_open())
+        r.close()
+        self.assertFalse(r.is_open())
+
+    def test_name(self):
+        r = RasterRow(self.name)
+        r.open(mode='r')
+        self.assertEqual(r.name, self.name)
+        fullname = "{name}@{mapset}".format(name=r.name, mapset=r.mapset)
+        self.assertEqual(r.fullname(), fullname)
+        r.close()
+
+    def test_exist(self):
+        notexist = RasterRow(self.name + 'notexist')
+        self.assertFalse(notexist.exist())
+        exist = RasterRow(self.name)
+        self.assertTrue(exist.exist())
+
+    def test_open_r(self):
+        notexist = RasterRow(self.name + 'notexist')
+        with self.assertRaises(OpenError):
+            # raster does not exist
+            notexist.open(mode='r')
+        r = RasterRow(self.name)
+        r.open(mode='r', mtype='FCELL')
+        # ignore the mtype if is open in read mode
+        self.assertEqual(r.mtype, 'DCELL')
+        r.close()
+
+    def test_open_w(self):
+        r = RasterRow(self.name)
+        with self.assertRaises(OpenError):
+            # raster type is not defined!
+            r.open(mode='w')
+        with self.assertRaises(OpenError):
+            # raster already exist
+            r.open(mode='w', mtype='DCELL')
+        # open in write mode and overwrite
+        r.open(mode='w', mtype='DCELL', overwrite=True)
+        self.assertTrue(r.mtype, 'DCELL')
+        r.close()
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/raster/testsuite/test_raster_img.py b/lib/python/pygrass/raster/testsuite/test_raster_img.py
new file mode 100644
index 0000000..733da0e
--- /dev/null
+++ b/lib/python/pygrass/raster/testsuite/test_raster_img.py
@@ -0,0 +1,201 @@
+# -*- coding: utf-8
+import numpy as np
+import unittest
+import ctypes
+from unittest import skip
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.pygrass.raster import RasterRow
+from grass.pygrass.raster import raster2numpy_img
+from grass.pygrass.gis.region import Region
+from grass.script.core import tempfile
+
+has_PyQt4=False
+try:
+    from PyQt4.QtCore import *
+    from PyQt4.QtGui import *
+    has_PyQt4=True
+except:
+    pass
+
+class RasterRowImgTestCase(TestCase):
+
+    name = "RasterRowImgTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+        """Create test raster map and region"""
+        cls.use_temp_region()
+        cls.runModule("g.region", n=60, s=0, e=40, w=0, res=0.1)
+        cls.runModule("r.mapcalc", expression="%s = if(row() >= 10 && row() <= 60, null(), row()  + (10.0 * col()))"%(cls.name),
+                                   overwrite=True)
+        cls.runModule("r.colors", map=cls.name, color="elevation")
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='raster',
+                      name=cls.name)
+        cls.del_temp_region()
+
+    @unittest.skipIf(has_PyQt4 is False, "Require PyQt4")
+    def test_resampling_to_QImg_1(self):
+
+        region = Region()
+        region.from_rast(self.name)
+        region.cols = 320
+        region.rows = 240
+        region.adjust()
+
+        tmpfile = tempfile(False)
+        tmpfile = tmpfile + ".png"
+
+        a = raster2numpy_img(self.name, region)
+
+        image = QImage(a.data, region.cols, region.rows,
+                       QImage.Format_ARGB32)
+        #image.save("data/a.png")
+        image.save(tmpfile)
+        self.assertFilesEqualMd5(tmpfile, "data/a.png")
+
+    @unittest.skipIf(has_PyQt4 is False, "Require PyQt4")
+    def test_resampling_to_QImg_2(self):
+
+        region = Region()
+        region.from_rast(self.name)
+        region.cols = 640
+        region.rows = 480
+        region.adjust()
+
+        tmpfile = tempfile(False)
+        tmpfile = tmpfile + ".png"
+
+        # With array as argument
+        array = np.ndarray((region.rows*region.cols*4), np.uint8)
+
+        raster2numpy_img(rastname=self.name, region=region,
+                         color="ARGB", array=array)
+
+        image = QImage(array.data,
+                       region.cols, region.rows, QImage.Format_ARGB32)
+        #image.save("data/b.png")
+        image.save(tmpfile)
+        self.assertFilesEqualMd5(tmpfile, "data/b.png")
+
+    @unittest.skipIf(has_PyQt4 is False, "Require PyQt4")
+    def test_resampling_to_QImg_large(self):
+
+        region = Region()
+        region.from_rast(self.name)
+        region.cols = 4000
+        region.rows = 3000
+        region.adjust()
+
+        tmpfile = tempfile(False)
+        tmpfile = tmpfile + ".png"
+
+        # With array as argument
+        array = np.ndarray((region.rows*region.cols*4), np.uint8)
+
+        raster2numpy_img(rastname=self.name, region=region,
+                         color="ARGB", array=array)
+
+        image = QImage(array.data,
+                       region.cols, region.rows, QImage.Format_ARGB32)
+        #image.save("data/c.png")
+        image.save(tmpfile)
+        self.assertFilesEqualMd5(tmpfile, "data/c.png")
+
+    @unittest.skipIf(has_PyQt4 is False, "Require PyQt4")
+    def test_resampling_to_QImg_3(self):
+
+        region = Region()
+        region.from_rast(self.name)
+        region.cols = 400
+        region.rows = 300
+        region.adjust()
+
+        tmpfile = tempfile(False)
+        tmpfile = tmpfile + ".png"
+
+        # With array as argument
+        array = np.ndarray((region.rows*region.cols*4), np.uint8)
+
+        raster2numpy_img(rastname=self.name, region=region,
+                         color="RGB", array=array)
+
+        image = QImage(array.data,
+                       region.cols, region.rows, QImage.Format_RGB32)
+        #image.save("data/d.png")
+        image.save(tmpfile)
+        self.assertFilesEqualMd5(tmpfile, "data/d.png")
+
+    @unittest.skipIf(has_PyQt4 is False, "Require PyQt4")
+    def test_resampling_to_QImg_4(self):
+
+        region = Region()
+        region.from_rast(self.name)
+        region.cols = 400
+        region.rows = 300
+        region.adjust()
+
+        tmpfile = tempfile(False)
+        tmpfile = tmpfile + ".png"
+
+        array = raster2numpy_img(rastname=self.name, region=region,
+                                 color="RGB")
+
+        image = QImage(array.data,
+                       region.cols, region.rows, QImage.Format_RGB32)
+        #image.save("data/e.png")
+        image.save(tmpfile)
+        self.assertFilesEqualMd5(tmpfile, "data/e.png")
+
+    def test_resampling_to_numpy_img_1(self):
+
+        region = Region()
+        region.ewres = 10
+        region.nsres = 10
+        region.adjust(rows=True, cols=True)
+
+        a = raster2numpy_img(self.name, region)
+
+        self.assertEqual(len(a), region.rows * region.cols*4)
+
+    def test_resampling_to_numpy_img_2(self):
+
+        region = Region()
+        region.ewres = 1
+        region.nsres = 1
+        region.adjust(rows=True, cols=True)
+
+        a = raster2numpy_img(self.name, region)
+
+        self.assertEqual(len(a), region.rows * region.cols*4)
+
+    def test_resampling_to_numpy_img_3(self):
+
+        region = Region()
+        region.ewres = 0.4
+        region.nsres = 0.4
+        region.adjust(rows=True, cols=True)
+
+        a = raster2numpy_img(self.name, region, color="GRAY1")
+
+        self.assertEqual(len(a), region.rows * region.cols*1)
+
+    def test_resampling_to_numpy_img_4(self):
+
+        region = Region()
+        region.ewres = 0.1
+        region.nsres = 0.1
+        region.adjust(rows=True, cols=True)
+
+        a = raster2numpy_img(self.name, region, color="GRAY2")
+
+        self.assertEqual(len(a), region.rows * region.cols*1)
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/raster/testsuite/test_raster_region.py b/lib/python/pygrass/raster/testsuite/test_raster_region.py
new file mode 100644
index 0000000..67f44f4
--- /dev/null
+++ b/lib/python/pygrass/raster/testsuite/test_raster_region.py
@@ -0,0 +1,113 @@
+# -*- coding: utf-8
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from unittest import skip
+
+from grass.pygrass.raster import RasterRow
+from grass.pygrass.raster import raster2numpy
+from grass.pygrass.gis.region import Region
+
+class RasterRowRegionTestCase(TestCase):
+
+    name = "RasterRowRegionTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+        """Create test raster map and region"""
+        cls.use_temp_region()
+        cls.runModule("g.region", n=40, s=0, e=40, w=0, res=10)
+        cls.runModule("r.mapcalc", expression="%s = row() + (10.0 * col())"%(cls.name),
+                                   overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='raster', 
+                      name=cls.name)
+        cls.del_temp_region()
+
+    def test_resampling_1(self):
+        
+        region = Region()
+        
+        region.ewres = 4
+        region.nsres = 4
+        region.north = 30
+        region.south = 10
+        region.east = 30
+        region.west = 10
+        region.adjust(rows=True, cols=True)
+        
+        rast = RasterRow(self.name)
+        rast.set_region(region)
+        rast.open(mode='r')
+        
+        self.assertItemsEqual(rast[0].tolist(), [22,22,22,22,22,32,32,32,32,32])        
+        self.assertItemsEqual(rast[5].tolist(), [23,23,23,23,23,33,33,33,33,33])
+        
+        rast.close()
+
+    def test_resampling_2(self):
+        
+        region = Region()
+        
+        region.ewres = 5
+        region.nsres = 5
+        region.north = 60
+        region.south = -20
+        region.east = 60
+        region.west = -20
+        region.adjust(rows=True, cols=True)
+        
+        rast = RasterRow(self.name)
+        rast.set_region(region)
+        rast.open(mode='r')
+        
+        """
+        [nan, nan, nan, nan, nan, nan, nan, nan]
+        [nan, nan, nan, nan, nan, nan, nan, nan]
+        [nan, nan, 11.0, 21.0, 31.0, 41.0, nan, nan]
+        [nan, nan, 12.0, 22.0, 32.0, 42.0, nan, nan]
+        [nan, nan, 13.0, 23.0, 33.0, 43.0, nan, nan]
+        [nan, nan, 14.0, 24.0, 34.0, 44.0, nan, nan]
+        [nan, nan, nan, nan, nan, nan, nan, nan]
+        [nan, nan, nan, nan, nan, nan, nan, nan]
+        """
+
+        self.assertItemsEqual(rast[2].tolist()[2:6], [11.,21.,31.,41.])        
+        self.assertItemsEqual(rast[5].tolist()[2:6], [14.,24.,34.,44.])
+        
+        rast.close()
+
+    def test_resampling_to_numpy(self):
+        
+        region = Region()
+        region.ewres = 0.1
+        region.nsres = 0.1
+        region.adjust()
+        region.set_raster_region()
+        
+        a = raster2numpy(self.name)
+        
+        self.assertEqual(len(a), 400)
+        
+        region.ewres = 1
+        region.nsres = 1
+        region.adjust()
+        region.set_raster_region()
+        
+        a = raster2numpy(self.name)
+        
+        self.assertEqual(len(a), 40)
+
+        region.ewres = 5
+        region.nsres = 5
+        region.adjust()
+        region.set_raster_region()
+        
+        a = raster2numpy(self.name)
+        
+        self.assertEqual(len(a), 8)
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/rpc/Makefile b/lib/python/pygrass/rpc/Makefile
new file mode 100644
index 0000000..d30b8de
--- /dev/null
+++ b/lib/python/pygrass/rpc/Makefile
@@ -0,0 +1,32 @@
+MODULE_TOPDIR = ../../../..
+
+include $(MODULE_TOPDIR)/include/Make/Other.make
+include $(MODULE_TOPDIR)/include/Make/Python.make
+include $(MODULE_TOPDIR)/include/Make/Doxygen.make
+
+PYDIR = $(ETC)/python
+GDIR = $(PYDIR)/grass
+PGDIR = $(GDIR)/pygrass
+DSTDIR= $(PGDIR)/rpc
+
+MODULES = base
+
+PYFILES := $(patsubst %,$(DSTDIR)/%.py,$(MODULES) __init__)
+PYCFILES := $(patsubst %,$(DSTDIR)/%.pyc,$(MODULES) __init__)
+
+default: $(PYFILES) $(PYCFILES) $(GDIR)/__init__.py $(GDIR)/__init__.pyc
+
+$(PYDIR):
+	$(MKDIR) $@
+
+$(GDIR): | $(PYDIR)
+	$(MKDIR) $@
+
+$(DSTDIR): | $(GDIR)
+	$(MKDIR) $@
+
+$(DSTDIR)/%: % | $(DSTDIR)
+	$(INSTALL_DATA) $< $@
+
+#doxygen:
+DOXNAME = pythonpygrass
diff --git a/lib/python/pygrass/rpc/__init__.py b/lib/python/pygrass/rpc/__init__.py
new file mode 100644
index 0000000..1039097
--- /dev/null
+++ b/lib/python/pygrass/rpc/__init__.py
@@ -0,0 +1,450 @@
+# -*- coding: utf-8 -*-
+"""
+Fast and exit-safe interface to PyGRASS Raster and Vector layer
+using multiprocessing
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Soeren Gebbert
+"""
+
+import time
+import threading
+import sys
+from multiprocessing import Process, Lock, Pipe
+from ctypes import *
+
+from grass.exceptions import FatalError
+from grass.pygrass.vector import *
+from grass.pygrass.raster import *
+import grass.lib.gis as libgis
+from base import RPCServerBase
+from grass.pygrass.gis.region import Region
+import grass.pygrass.utils as utils
+import logging
+
+###############################################################################
+###############################################################################
+
+class RPCDefs(object):
+    # Function identifier and index
+    STOP = 0
+    GET_VECTOR_TABLE_AS_DICT = 1
+    GET_VECTOR_FEATURES_AS_WKB = 2
+    GET_RASTER_IMAGE_AS_NP = 3
+    G_FATAL_ERROR = 14
+
+
+def _get_raster_image_as_np(lock, conn, data):
+    """Convert a raster map into an image and return
+       a numpy array with RGB or Gray values.
+
+       :param lock: A multiprocessing.Lock instance
+       :param conn: A multiprocessing.Pipe instance used to send True or False
+       :param data: The list of data entries [function_id, raster_name, extent, color]
+    """
+    array = None
+    try:
+        name = data[1]
+        mapset = data[2]
+        extent = data[3]
+        color = data[4]
+
+        mapset = utils.get_mapset_raster(name, mapset)
+
+        if not mapset:
+            raise ValueError("Unable to find raster map <%s>"%(name))
+
+        rast = RasterRow(name, mapset)
+
+        if rast.exist():
+
+            reg = Region()
+            reg.from_rast(name)
+
+            if extent is not None:
+                if "north" in extent:
+                    reg.north = extent["north"]
+                if "south" in extent:
+                    reg.south = extent["south"]
+                if "east" in extent:
+                    reg.east =  extent["east"]
+                if "west" in extent:
+                    reg.west =  extent["west"]
+                if "rows" in extent:
+                    reg.rows =  extent["rows"]
+                if "cols" in extent:
+                    reg.cols =  extent["cols"]
+                reg.adjust()
+
+            array = raster2numpy_img(name, reg, color)
+    except:
+        raise
+    finally:
+        conn.send(array)
+
+def _get_vector_table_as_dict(lock, conn, data):
+    """Get the table of a vector map layer as dictionary
+
+       :param lock: A multiprocessing.Lock instance
+       :param conn: A multiprocessing.Pipe instance used to send True or False
+       :param data: The list of data entries [function_id, name, mapset, where]
+
+    """
+    ret = None
+    try:
+        name = data[1]
+        mapset = data[2]
+        where = data[3]
+
+        mapset = utils.get_mapset_vector(name, mapset)
+
+        if not mapset:
+            raise ValueError("Unable to find vector map <%s>"%(name))
+
+        layer = VectorTopo(name, mapset)
+
+        if layer.exist() is True:
+            layer.open("r")
+            columns = None
+            table = None
+            if layer.table is not None:
+                columns = layer.table.columns
+                table = layer.table_to_dict(where=where)
+            layer.close()
+
+            ret = {}
+            ret["table"] = table
+            ret["columns"] = columns
+    except:
+        raise
+    finally:
+        conn.send(ret)
+
+def _get_vector_features_as_wkb_list(lock, conn, data):
+    """Return vector layer features as wkb list
+
+       supported feature types:
+       point, centroid, line, boundary, area
+
+       :param lock: A multiprocessing.Lock instance
+       :param conn: A multiprocessing.Pipe instance used to send True or False
+       :param data: The list of data entries [function_id,name,mapset,extent,
+                                              feature_type, field]
+
+    """
+    wkb_list = None
+    try:
+        name = data[1]
+        mapset = data[2]
+        extent = data[3]
+        feature_type = data[4]
+        field = data[5]
+        bbox = None
+
+        mapset = utils.get_mapset_vector(name, mapset)
+
+        if not mapset:
+            raise ValueError("Unable to find vector map <%s>"%(name))
+
+        layer = VectorTopo(name, mapset)
+
+        if layer.exist() is True:
+            if extent is not None:
+                bbox = basic.Bbox(north=extent["north"],
+                                  south=extent["south"],
+                                  east=extent["east"],
+                                  west=extent["west"])
+
+            layer.open("r")
+            if feature_type.lower() == "area":
+                wkb_list = layer.areas_to_wkb_list(bbox=bbox, field=field)
+            else:
+                wkb_list = layer.features_to_wkb_list(bbox=bbox,
+                                                      feature_type=feature_type,
+                                                      field=field)
+            layer.close()
+    except:
+        raise
+    finally:
+        conn.send(wkb_list)
+
+###############################################################################
+
+def _fatal_error(lock, conn, data):
+    """Calls G_fatal_error()"""
+    libgis.G_fatal_error("Fatal Error in C library server")
+
+
+###############################################################################
+
+def _stop(lock, conn, data):
+    conn.close()
+    lock.release()
+    sys.exit()
+
+###############################################################################
+
+def data_provider_server(lock, conn):
+    """The PyGRASS data provider server designed to be a target for
+       multiprocessing.Process
+
+       :param lock: A multiprocessing.Lock
+       :param conn: A multiprocessing.Pipe
+    """
+
+    def error_handler(data):
+        """This function will be called in case of a fatal error in libgis"""
+        # sys.stderr.write("Error handler was called\n")
+        # We send an exeption that will be handled in
+        # the parent process, then close the pipe
+        # and release any possible lock
+        conn.send(FatalError("G_fatal_error() was called in the server process"))
+        conn.close()
+        lock.release()
+
+    CALLBACK = CFUNCTYPE(c_void_p, c_void_p)
+    CALLBACK.restype = c_void_p
+    CALLBACK.argtypes = c_void_p
+
+    cerror_handler = CALLBACK(error_handler)
+
+    libgis.G_add_error_handler(cerror_handler, None)
+
+    # Crerate the function array
+    functions = [0]*15
+    functions[RPCDefs.GET_VECTOR_TABLE_AS_DICT] = _get_vector_table_as_dict
+    functions[RPCDefs.GET_VECTOR_FEATURES_AS_WKB] = _get_vector_features_as_wkb_list
+    functions[RPCDefs.GET_RASTER_IMAGE_AS_NP] = _get_raster_image_as_np
+    functions[RPCDefs.STOP] = _stop
+    functions[RPCDefs.G_FATAL_ERROR] = _fatal_error
+
+    while True:
+        # Avoid busy waiting
+        conn.poll(None)
+        data = conn.recv()
+        lock.acquire()
+        functions[data[0]](lock, conn, data)
+        lock.release()
+
+test_vector_name="data_provider_vector_map"
+test_raster_name="data_provider_raster_map"
+
+class DataProvider(RPCServerBase):
+    """Fast and exit-safe interface to PyGRASS data delivery functions
+
+    """
+    def __init__(self):
+        RPCServerBase.__init__(self)
+
+    def start_server(self):
+        """This function must be re-implemented in the subclasses
+        """
+        self.client_conn, self.server_conn = Pipe(True)
+        self.lock = Lock()
+        self.server = Process(target=data_provider_server, args=(self.lock,
+                                                             self.server_conn))
+        self.server.daemon = True
+        self.server.start()
+
+    def get_raster_image_as_np(self, name, mapset=None, extent=None, color="RGB"):
+        """Return the attribute table of a vector map as dictionary.
+
+           See documentation of: pygrass.raster.raster2numpy_img
+
+           Usage:
+
+           .. code-block:: python
+
+            >>> from grass.pygrass.rpc import DataProvider
+            >>> provider = DataProvider()
+            >>> ret = provider.get_raster_image_as_np(name=test_raster_name)
+            >>> len(ret)
+            64
+
+            >>> extent = {"north":30, "south":10, "east":30, "west":10,
+            ...           "rows":2, "cols":2}
+            >>> ret = provider.get_raster_image_as_np(name=test_raster_name,
+            ...                                       extent=extent)
+            >>> len(ret)
+            16
+
+            >>> extent = {"rows":3, "cols":1}
+            >>> ret = provider.get_raster_image_as_np(name=test_raster_name,
+            ...                                       extent=extent)
+            >>> len(ret)
+            12
+
+            >>> extent = {"north":100, "south":10, "east":30, "west":10,
+            ...           "rows":2, "cols":2}
+            >>> ret = provider.get_raster_image_as_np(name=test_raster_name,
+            ...                                       extent=extent)
+
+            >>> provider.stop()
+
+            >>> extent = {"rows":3, "cols":1}
+            >>> ret = provider.get_raster_image_as_np(name=test_raster_name,
+            ...                                       extent=extent)
+            >>> len(ret)
+            12
+
+
+            ..
+        """
+        self.check_server()
+        self.client_conn.send([RPCDefs.GET_RASTER_IMAGE_AS_NP,
+                               name, mapset, extent, color])
+        return self.safe_receive("get_raster_image_as_np")
+
+    def get_vector_table_as_dict(self, name, mapset=None, where=None):
+        """Return the attribute table of a vector map as dictionary.
+
+           See documentation of: pygrass.vector.VectorTopo::table_to_dict
+
+           Usage:
+
+           .. code-block:: python
+
+            >>> from grass.pygrass.rpc import DataProvider
+            >>> provider = DataProvider()
+            >>> ret = provider.get_vector_table_as_dict(name=test_vector_name)
+            >>> ret["table"]
+            {1: [1, u'point', 1.0], 2: [2, u'line', 2.0], 3: [3, u'centroid', 3.0]}
+            >>> ret["columns"]
+            Columns([(u'cat', u'INTEGER'), (u'name', u'varchar(50)'), (u'value', u'double precision')])
+            >>> ret = provider.get_vector_table_as_dict(name=test_vector_name,
+            ...                                           where="value > 1")
+            >>> ret["table"]
+            {2: [2, u'line', 2.0], 3: [3, u'centroid', 3.0]}
+            >>> ret["columns"]
+            Columns([(u'cat', u'INTEGER'), (u'name', u'varchar(50)'), (u'value', u'double precision')])
+            >>> provider.get_vector_table_as_dict(name="no_map",
+            ...                                   where="value > 1")
+            >>> provider.stop()
+
+            ..
+        """
+        self.check_server()
+        self.client_conn.send([RPCDefs.GET_VECTOR_TABLE_AS_DICT,
+                               name, mapset, where])
+        return self.safe_receive("get_vector_table_as_dict")
+
+    def get_vector_features_as_wkb_list(self, name, mapset=None, extent=None,
+                                        feature_type="point", field=1):
+        """Return the features of a vector map as wkb list.
+
+           :param extent: A dictionary of {"north":double, "south":double,
+                                           "east":double, "west":double}
+           :param feature_type: point, centroid, line, boundary or area
+
+           See documentation: pygrass.vector.VectorTopo::features_to_wkb_list
+                              pygrass.vector.VectorTopo::areas_to_wkb_list
+
+
+           Usage:
+
+           .. code-block:: python
+
+            >>> from grass.pygrass.rpc import DataProvider
+            >>> provider = DataProvider()
+            >>> wkb = provider.get_vector_features_as_wkb_list(name=test_vector_name,
+            ...                                                extent=None,
+            ...                                                feature_type="point")
+            >>> for entry in wkb:
+            ...     f_id, cat, string = entry
+            ...     print(f_id, cat, len(string))
+            1 1 21
+            2 1 21
+            3 1 21
+
+            >>> extent = {"north":6.6, "south":5.5, "east":14.5, "west":13.5}
+            >>> wkb = provider.get_vector_features_as_wkb_list(name=test_vector_name,
+            ...                                                extent=extent,
+            ...                                                feature_type="point")
+            >>> for entry in wkb:
+            ...     f_id, cat, string = entry
+            ...     print(f_id, cat, len(string))
+            3 1 21
+
+            >>> wkb = provider.get_vector_features_as_wkb_list(name=test_vector_name,
+            ...                                                extent=None,
+            ...                                                feature_type="line")
+            >>> for entry in wkb:
+            ...     f_id, cat, string = entry
+            ...     print(f_id, cat, len(string))
+            4 2 57
+            5 2 57
+            6 2 57
+
+
+            >>> wkb = provider.get_vector_features_as_wkb_list(name=test_vector_name,
+            ...                                                extent=None,
+            ...                                                feature_type="centroid")
+            >>> for entry in wkb:
+            ...     f_id, cat, string = entry
+            ...     print(f_id, cat, len(string))
+            19 3 21
+            18 3 21
+            20 3 21
+            21 3 21
+
+            >>> wkb = provider.get_vector_features_as_wkb_list(name=test_vector_name,
+            ...                                                extent=None,
+            ...                                                feature_type="area")
+            >>> for entry in wkb:
+            ...     f_id, cat, string = entry
+            ...     print(f_id, cat, len(string))
+            1 3 225
+            2 3 141
+            3 3 93
+            4 3 141
+
+            >>> wkb = provider.get_vector_features_as_wkb_list(name=test_vector_name,
+            ...                                                extent=None,
+            ...                                                feature_type="boundary")
+            >>> for entry in wkb:
+            ...     f_id, cat, string = entry
+            ...     print(f_id, cat, len(string))
+            10 None 41
+            7 None 41
+            8 None 41
+            9 None 41
+            11 None 89
+            12 None 41
+            14 None 41
+            13 None 41
+            17 None 41
+            15 None 41
+            16 None 41
+
+            >>> provider.stop()
+
+            ..
+        """
+        self.check_server()
+        self.client_conn.send([RPCDefs.GET_VECTOR_FEATURES_AS_WKB,
+                               name, mapset, extent, feature_type, field])
+        return self.safe_receive("get_vector_features_as_wkb_list")
+
+
+if __name__ == "__main__":
+    import doctest
+    from grass.pygrass import utils
+    from grass.pygrass.modules import Module
+    Module("g.region", n=40, s=0, e=40, w=0, res=10)
+    Module("r.mapcalc", expression="%s = row() + (10 * col())"%(test_raster_name),
+                             overwrite=True)
+    utils.create_test_vector_map(test_vector_name)
+
+    doctest.testmod()
+
+    """Remove the generated maps, if exist"""
+    mset = utils.get_mapset_raster(test_raster_name, mapset='')
+    if mset:
+        Module("g.remove", flags='f', type='raster', name=test_raster_name)
+    mset = utils.get_mapset_vector(test_vector_name, mapset='')
+    if mset:
+        Module("g.remove", flags='f', type='vector', name=test_vector_name)
diff --git a/lib/python/pygrass/rpc/base.py b/lib/python/pygrass/rpc/base.py
new file mode 100644
index 0000000..c4db948
--- /dev/null
+++ b/lib/python/pygrass/rpc/base.py
@@ -0,0 +1,184 @@
+# -*- coding: utf-8 -*-
+"""
+Fast and exit-safe interface to PyGRASS Raster and Vector layer
+using multiprocessing
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Soeren Gebbert
+"""
+
+from grass.exceptions import FatalError
+import time
+import threading
+import sys
+from multiprocessing import Process, Lock, Pipe
+import logging
+
+###############################################################################
+
+def dummy_server(lock, conn):
+    """Dummy server process
+
+       :param lock: A multiprocessing.Lock
+       :param conn: A multiprocessing.Pipe
+    """
+
+    while True:
+        # Avoid busy waiting
+        conn.poll(None)
+        data = conn.recv()
+        lock.acquire()
+        if data[0] == 0:
+            conn.close()
+            lock.release()
+            sys.exit()
+        if data[0] == 1:
+            raise Exception("Server process intentionally killed by exception")
+        lock.release()
+
+class RPCServerBase(object):
+    """This is the base class for send and receive RPC server
+       It uses a Pipe for IPC.
+
+
+        >>> import grass.script as gscript
+        >>> from grass.pygrass.rpc.base import RPCServerBase
+        >>> provider = RPCServerBase()
+
+        >>> provider.is_server_alive()
+        True
+
+        >>> provider.is_check_thread_alive()
+        True
+
+        >>> provider.stop()
+        >>> provider.is_server_alive()
+        False
+
+        >>> provider.is_check_thread_alive()
+        False
+
+        >>> provider = RPCServerBase()
+        >>> provider.is_server_alive()
+        True
+        >>> provider.is_check_thread_alive()
+        True
+
+        Kill the server process with an exception, it should restart
+
+        >>> provider.client_conn.send([1])
+        >>> provider.is_server_alive()
+        True
+
+        >>> provider.is_check_thread_alive()
+        True
+
+    """
+
+    def __init__(self):
+        self.client_conn = None
+        self.server_conn = None
+        self.queue = None
+        self.server = None
+        self.checkThread = None
+        self.threadLock = threading.Lock()
+        self.start_server()
+        self.start_checker_thread()
+        self.stopThread = False
+
+    def is_server_alive(self):
+        return self.server.is_alive()
+
+    def is_check_thread_alive(self):
+        return self.checkThread.is_alive()
+
+    def start_checker_thread(self):
+        if self.checkThread is not None and self.checkThread.is_alive():
+            self.stop_checker_thread()
+
+        self.checkThread = threading.Thread(target=self.thread_checker)
+        self.checkThread.daemon = True
+        self.stopThread = False
+        self.checkThread.start()
+
+    def stop_checker_thread(self):
+        self.threadLock.acquire()
+        self.stopThread = True
+        self.threadLock.release()
+        self.checkThread.join(None)
+
+    def thread_checker(self):
+        """Check every 200 micro seconds if the server process is alive"""
+        while True:
+            time.sleep(0.2)
+            # sys.stderr.write("Check server process\n")
+            self._check_restart_server(caller="Server check thread")
+            self.threadLock.acquire()
+            if self.stopThread == True:
+                #sys.stderr.write("Stop thread\n")
+                self.threadLock.release()
+                return
+            self.threadLock.release()
+
+    def start_server(self):
+        """This function must be re-implemented in the subclasses
+        """
+        self.client_conn, self.server_conn = Pipe(True)
+        self.lock = Lock()
+        self.server = Process(target=dummy_server, args=(self.lock,
+                                                         self.server_conn))
+        self.server.daemon = True
+        self.server.start()
+
+    def check_server(self):
+        self._check_restart_server()
+
+    def _check_restart_server(self, caller="main thread"):
+        """Restart the server if it was terminated
+        """
+        self.threadLock.acquire()
+        if self.server.is_alive() is True:
+            self.threadLock.release()
+            return
+        self.client_conn.close()
+        self.server_conn.close()
+        self.start_server()
+
+        logging.warning("Needed to restart the libgis server, caller: %s"%(caller))
+
+        self.threadLock.release()
+
+    def safe_receive(self, message):
+        """Receive the data and throw a FatalError exception in case the server
+           process was killed and the pipe was closed by the checker thread"""
+        try:
+            ret = self.client_conn.recv()
+            if isinstance(ret,  FatalError):
+               raise ret
+            return ret
+        except (EOFError,  IOError,  FatalError) as e:
+            # The pipe was closed by the checker thread because
+            # the server process was killed
+            raise FatalError("Exception raised: " + str(e) + " Message: " + message)
+
+    def stop(self):
+        """Stop the check thread, the libgis server and close the pipe
+
+           This method should be called at exit using the package atexit
+        """
+        #sys.stderr.write("###### Stop was called\n")
+        self.stop_checker_thread()
+        if self.server is not None and self.server.is_alive():
+            self.client_conn.send([0, ])
+            self.server.terminate()
+        if self.client_conn is not None:
+            self.client_conn.close()
+
+
+if __name__ == "__main__":
+    import doctest
+    doctest.testmod()
diff --git a/lib/python/pygrass/rpc/testsuite/test_doctests.py b/lib/python/pygrass/rpc/testsuite/test_doctests.py
new file mode 100644
index 0000000..080c92a
--- /dev/null
+++ b/lib/python/pygrass/rpc/testsuite/test_doctests.py
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.pygrass.rpc as pygrpc
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+
+    from grass.pygrass import utils
+    from grass.pygrass.modules import Module
+    Module("g.region", n=40, s=0, e=40, w=0, res=10)
+    Module("r.mapcalc", expression="%s = row() + (10 * col())"%(pygrpc.test_raster_name),
+                             overwrite=True)
+    utils.create_test_vector_map(pygrpc.test_vector_name)
+    
+
+    tests.addTests(doctest.DocTestSuite(pygrpc))
+    tests.addTests(doctest.DocTestSuite(pygrpc.base))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/shell/testsuite/test_doctests.py b/lib/python/pygrass/shell/testsuite/test_doctests.py
new file mode 100644
index 0000000..693e5f8
--- /dev/null
+++ b/lib/python/pygrass/shell/testsuite/test_doctests.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+from grass.pygrass.shell import conversion, show
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(conversion))
+    tests.addTests(doctest.DocTestSuite(show))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/testsuite/test_doctests.py b/lib/python/pygrass/testsuite/test_doctests.py
new file mode 100644
index 0000000..1657779
--- /dev/null
+++ b/lib/python/pygrass/testsuite/test_doctests.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.pygrass.utils as gutils
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(gutils))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/utils.py b/lib/python/pygrass/utils.py
index 2b8d992..ad5eb03 100644
--- a/lib/python/pygrass/utils.py
+++ b/lib/python/pygrass/utils.py
@@ -12,6 +12,9 @@ from grass.script import core as grasscore
 from grass.pygrass.errors import GrassError
 
 
+test_vector_name="Utils_test_vector"
+test_raster_name="Utils_test_raster"
+
 def looking(obj, filter_string):
     """
     >>> import grass.lib.vector as libvect
@@ -104,9 +107,9 @@ def rename(oldname, newname, maptype, **kwargs):
 def copy(existingmap, newmap, maptype, **kwargs):
     """Copy a map
 
-    >>> copy('census', 'mycensus', 'vect')
-    >>> rename('mycensus', 'mynewcensus', 'vect')
-    >>> remove('mynewcensus', 'vect')
+    >>> copy(test_vector_name, 'mycensus', 'vector')
+    >>> rename('mycensus', 'mynewcensus', 'vector')
+    >>> remove('mynewcensus', 'vector')
 
     """
     kwargs.update({maptype: '{old},{new}'.format(old=existingmap, new=newmap)})
@@ -116,8 +119,9 @@ def copy(existingmap, newmap, maptype, **kwargs):
 def getenv(env):
     """Return the current grass environment variables
 
-    >>> getenv("MAPSET")
-    'user1'
+    >>> from grass.script.core import gisenv
+    >>> getenv("MAPSET") == gisenv()["MAPSET"]
+    True
 
     """
     return libgis.G_getenv_nofatal(env)
@@ -126,8 +130,8 @@ def getenv(env):
 def get_mapset_raster(mapname, mapset=''):
     """Return the mapset of the raster map
 
-    >>> get_mapset_raster('elevation')
-    'PERMANENT'
+    >>> get_mapset_raster(test_raster_name) == getenv("MAPSET")
+    True
 
     """
     return libgis.G_find_raster2(mapname, mapset)
@@ -136,8 +140,8 @@ def get_mapset_raster(mapname, mapset=''):
 def get_mapset_vector(mapname, mapset=''):
     """Return the mapset of the vector map
 
-    >>> get_mapset_vector('census')
-    'PERMANENT'
+    >>> get_mapset_vector(test_vector_name) == getenv("MAPSET")
+    True
 
     """
     return libgis.G_find_vector2(mapname, mapset)
@@ -151,7 +155,7 @@ def is_clean_name(name):
     >>> is_clean_name('0census')
     True
     >>> is_clean_name('census?')
-    False
+    True
     >>> is_clean_name('cénsus')
     False
 
@@ -164,6 +168,7 @@ def is_clean_name(name):
 def coor2pixel(coord, region):
     """Convert coordinates into a pixel row and col
 
+    >>> from grass.pygrass.gis.region import Region
     >>> reg = Region()
     >>> coor2pixel((reg.west, reg.north), reg)
     (0.0, 0.0)
@@ -172,13 +177,14 @@ def coor2pixel(coord, region):
 
     """
     (east, north) = coord
-    return (libraster.Rast_northing_to_row(north, region.c_region),
-            libraster.Rast_easting_to_col(east, region.c_region))
+    return (libraster.Rast_northing_to_row(north, region.byref()),
+            libraster.Rast_easting_to_col(east, region.byref()))
 
 
 def pixel2coor(pixel, region):
     """Convert row and col of a pixel into a coordinates
 
+    >>> from grass.pygrass.gis.region import Region
     >>> reg = Region()
     >>> pixel2coor((0, 0), reg) == (reg.north, reg.west)
     True
@@ -187,34 +193,47 @@ def pixel2coor(pixel, region):
 
     """
     (col, row) = pixel
-    return (libraster.Rast_row_to_northing(row, region.c_region),
-            libraster.Rast_col_to_easting(col, region.c_region))
+    return (libraster.Rast_row_to_northing(row, region.byref()),
+            libraster.Rast_col_to_easting(col, region.byref()))
 
 
 def get_raster_for_points(poi_vector, raster, column=None, region=None):
     """Query a raster map for each point feature of a vector
 
+    test_vector_name="Utils_test_vector"
+    test_raster_name="Utils_test_raster"
+
     Example
 
     >>> from grass.pygrass.vector import VectorTopo
     >>> from grass.pygrass.raster import RasterRow
-    >>> ele = RasterRow('elevation')
-    >>> copy('schools','myschools','vect')
-    >>> sch = VectorTopo('myschools')
-    >>> sch.open(mode='r')
-    >>> get_raster_for_points(sch, ele)               # doctest: +ELLIPSIS
-    [(1, 633649.2856743174, 221412.94434781274, 145.06602)...
-    >>> sch.table.columns.add('elevation','double precision')
-    >>> 'elevation' in sch.table.columns
+    >>> from grass.pygrass.gis.region import Region
+    >>> region = Region()
+    >>> region.from_rast(test_raster_name)
+    >>> region.set_raster_region()
+    >>> ele = RasterRow(test_raster_name)
+    >>> copy(test_vector_name,'test_vect_2','vector')
+    >>> fire = VectorTopo('test_vect_2')
+    >>> fire.open(mode='r')
+    >>> l = get_raster_for_points(fire, ele, region=region)
+    >>> l[0]                                        # doctest: +ELLIPSIS
+    (1, 620856.9585876337, 230066.3831321055, 111.2153883384)
+    >>> l[1]                                        # doctest: +ELLIPSIS
+    (2, 625331.9185974908, 229990.82160762616, 89.978796115200012)
+    >>> fire.table.columns.add(test_raster_name,'double precision')
+    >>> test_raster_name in fire.table.columns
     True
-    >>> get_raster_for_points(sch, ele, 'elevation')
+    >>> get_raster_for_points(fire, ele, column=test_raster_name, region=region)
     True
-    >>> sch.table.filters.select('NAMESHORT','elevation')
-    Filters(u'SELECT NAMESHORT, elevation FROM myschools;')
-    >>> cur = sch.table.execute()
-    >>> cur.fetchall()                                # doctest: +ELLIPSIS
-    [(u'SWIFT CREEK', 145.06602), ... (u'9TH GRADE CTR', None)]
-    >>> remove('myschools','vect')
+    >>> fire.table.filters.select('name', test_raster_name)
+    Filters(u'SELECT name, Utils_test_raster FROM test_vect_2;')
+    >>> cur = fire.table.execute()
+    >>> r = cur.fetchall()
+    >>> r[0]                                        # doctest: +ELLIPSIS
+    (u'Morrisville #3', 111.2153883384)
+    >>> r[1]                                        # doctest: +ELLIPSIS
+    (u'Morrisville #1', 89.97879611520001)
+    >>> remove('test_vect_2','vect')
 
 
     :param point: point vector object
@@ -234,6 +253,7 @@ def get_raster_for_points(poi_vector, raster, column=None, region=None):
         raster.open()
     if poi_vector.num_primitive_of('point') == 0:
         raise GrassError(_("Vector doesn't contain points"))
+
     for poi in poi_vector.viter('points'):
         val = raster.get_value(poi, region)
         if column:
@@ -266,32 +286,11 @@ def r_export(rast, output='', fmt='png', **kargs):
 def get_lib_path(modname, libname=None):
     """Return the path of the libname contained in the module.
 
-    >>> get_lib_path(modname='r.modis', libname='libmodis')
+    .. deprecated:: 7.1
+        Use :func:`grass.script.utils.get_lib_path` instead.
     """
-    from os.path import isdir, join
-    from os import getenv
-
-    if isdir(join(getenv('GISBASE'), 'etc', modname)):
-        path = join(os.getenv('GISBASE'), 'etc', modname)
-    elif getenv('GRASS_ADDON_BASE') and libname and \
-            isdir(join(getenv('GRASS_ADDON_BASE'), 'etc', modname, libname)):
-        path = join(getenv('GRASS_ADDON_BASE'), 'etc', modname, libname)
-    elif getenv('GRASS_ADDON_BASE') and \
-            isdir(join(getenv('GRASS_ADDON_BASE'), 'etc', modname)):
-        path = join(getenv('GRASS_ADDON_BASE'), 'etc', modname)
-    elif getenv('GRASS_ADDON_BASE') and \
-            isdir(join(getenv('GRASS_ADDON_BASE'), modname, modname)):
-        path = join(os.getenv('GRASS_ADDON_BASE'), modname, modname)
-    elif libname and isdir(join('..', libname)): # used by g.extension compilation process
-        path = join('..', libname)
-    elif isdir(join('..', 'etc', modname)):      # used by g.extension compilation process
-        path = join('..', 'etc', modname)
-    elif isdir(join('etc', modname)):            # used by g.extension compilation process
-        path = join('etc', modname)
-    else:
-        path = None
-
-    return path
+    from grass.script.utils import get_lib_path
+    return get_lib_path(modname=modname, libname=libname)
 
 
 def set_path(modulename, dirname=None, path='.'):
@@ -302,74 +301,11 @@ def set_path(modulename, dirname=None, path='.'):
                     libraries, default None
     :param path: string with the path to reach the dirname locally.
 
-    Example
-    --------
-
-    "set_path" example working locally with the source code of a module
-    (r.green) calling the function with all the parameters. Below it is
-    reported the directory structure on the r.green module.
-
-    ::
-
-        grass_prompt> pwd
-        ~/Download/r.green/r.green.hydro/r.green.hydro.financial
-
-        grass_prompt> tree ../../../r.green
-        ../../../r.green
-        ├── ...
-        ├── libgreen
-        │   ├── pyfile1.py
-        │   └── pyfile2.py
-        └── r.green.hydro
-           ├── Makefile
-           ├── libhydro
-           │   ├── pyfile1.py
-           │   └── pyfile2.py
-           ├── r.green.hydro.*
-           └── r.green.hydro.financial
-               ├── Makefile
-               ├── ...
-               └── r.green.hydro.financial.py
-
-        21 directories, 125 files
-
-    in the source code the function is called with the following parameters: ::
-
-        set_path('r.green', 'libhydro', '..')
-        set_path('r.green', 'libgreen', os.path.join('..', '..'))
-
-    when we are executing the module: r.green.hydro.financial locally from
-    the command line:  ::
-
-        grass_prompt> python r.green.hydro.financial.py --ui
-
-    In this way we are executing the local code even if the module was already
-    installed as grass-addons and it is available in GRASS standards path.
-
-    The function is cheching if the dirname is provided and if the
-    directory exists and it is available using the path
-    provided as third parameter, if yes add the path to sys.path to be
-    importable, otherwise it will check on GRASS GIS standard paths.
-
+    .. deprecated:: 7.1
+        Use :func:`grass.script.utils.set_path` instead.
     """
-    import sys
-    # TODO: why dirname is checked first - the logic should be revised
-    pathlib = None
-    if dirname:
-        pathlib = os.path.join(path, dirname)
-    if pathlib and os.path.exists(pathlib):
-        # we are running the script from the script directory, therefore
-        # we add the path to sys.path to reach the directory (dirname)
-        sys.path.append(os.path.abspath(path))
-    else:
-        # running from GRASS GIS session
-        from grass.pygrass.utils import get_lib_path
-        path = get_lib_path(modulename, dirname)
-        if path is None:
-            pathname = os.path.join(modulename, dirname) if dirname else modulename
-            raise ImportError("Not able to find the path '%s' directory "
-                              "(current dir '%s')." % (pathname, os.getcwd()))
-        sys.path.append(path)
+    from grass.script.utils import set_path
+    return set_path(modulename=modulename, dirname=dirname, path=path)
 
 
 def split_in_chunk(iterable, length=10):
@@ -414,3 +350,177 @@ def table_exist(cursor, table_name):
             return False
     one = cursor.fetchone() if cursor else None
     return True if one and one[0] else False
+
+
+def create_test_vector_map(map_name="test_vector"):
+    """This functions creates a vector map layer with points, lines, boundaries,
+       centroids, areas, isles and attributes for testing purposes
+
+       This should be used in doc and unit tests to create location/mapset
+       independent vector map layer. This map includes 3 points, 3 lines,
+       11 boundaries and 4 centroids. The attribute table contains cat, name
+       and value columns.
+
+        param map_name: The vector map name that should be used
+
+
+
+                                  P1 P2 P3
+           6                       *  *  *
+           5
+           4    _______ ___ ___   L1 L2 L3
+        Y  3   |A1___ *|  *|  *|   |  |  |
+           2   | |A2*| |   |   |   |  |  |
+           1   | |___| |A3 |A4 |   |  |  |
+           0   |_______|___|___|   |  |  |
+          -1
+            -1 0 1 2 3 4 5 6 7 8 9 10 12 14
+                           X
+    """
+
+    from grass.pygrass.vector import VectorTopo
+    from grass.pygrass.vector.geometry import Point, Line, Centroid, Boundary
+
+    cols = [(u'cat', 'INTEGER PRIMARY KEY'),
+            (u'name','varchar(50)'),
+            (u'value', 'double precision')]
+    with VectorTopo(map_name, mode='w', tab_name=map_name,
+                    tab_cols=cols) as vect:
+
+        # Write 3 points
+        vect.write(Point(10, 6), cat=1, attrs=("point", 1))
+        vect.write(Point(12, 6), cat=1)
+        vect.write(Point(14, 6), cat=1)
+        # Write 3 lines
+        vect.write(Line([(10, 4), (10, 2), (10,0)]), cat=2, attrs=("line", 2))
+        vect.write(Line([(12, 4), (12, 2), (12,0)]), cat=2)
+        vect.write(Line([(14, 4), (14, 2), (14,0)]), cat=2)
+        # boundaries 1 - 4
+        vect.write(Boundary(points=[(0, 0), (0,4)]))
+        vect.write(Boundary(points=[(0, 4), (4,4)]))
+        vect.write(Boundary(points=[(4, 4), (4,0)]))
+        vect.write(Boundary(points=[(4, 0), (0,0)]))
+        # 5. boundary (Isle)
+        vect.write(Boundary(points=[(1, 1), (1,3), (3, 3), (3,1), (1,1)]))
+        # boundaries 6 - 8
+        vect.write(Boundary(points=[(4, 4), (6,4)]))
+        vect.write(Boundary(points=[(6, 4), (6,0)]))
+        vect.write(Boundary(points=[(6, 0), (4,0)]))
+        # boundaries 9 - 11
+        vect.write(Boundary(points=[(6, 4), (8,4)]))
+        vect.write(Boundary(points=[(8, 4), (8,0)]))
+        vect.write(Boundary(points=[(8, 0), (6,0)]))
+        # Centroids, all have the same cat and attribute
+        vect.write(Centroid(x=3.5, y=3.5), cat=3, attrs=("centroid", 3))
+        vect.write(Centroid(x=2.5, y=2.5), cat=3)
+        vect.write(Centroid(x=5.5, y=3.5), cat=3)
+        vect.write(Centroid(x=7.5, y=3.5), cat=3)
+
+        vect.organization = 'Thuenen Institut'
+        vect.person = 'Soeren Gebbert'
+        vect.title = 'Test dataset'
+        vect.comment = 'This is a comment'
+
+        vect.table.conn.commit()
+
+        vect.organization = "Thuenen Institut"
+        vect.person = "Soeren Gebbert"
+        vect.title = "Test dataset"
+        vect.comment = "This is a comment"
+        vect.close()
+
+def create_test_stream_network_map(map_name="streams"):
+    """
+       This functions creates a vector map layer with lines that represent
+       a stream network with two different graphs. The first graph
+       contains a loop, the second can be used as directed graph.
+
+       This should be used in doc and unit tests to create location/mapset
+       independent vector map layer.
+
+        param map_name: The vector map name that should be used
+
+       1(0,2)  3(2,2)
+        \     /
+       1 \   / 2
+          \ /
+           2(1,1)
+    6(0,1) ||  5(2,1)
+       5 \ || / 4
+          \||/
+           4(1,0)
+           |
+           | 6
+           |7(1,-1)
+
+       7(0,-1) 8(2,-1)
+        \     /
+       8 \   / 9
+          \ /
+           9(1, -2)
+           |
+           | 10
+           |
+          10(1,-3)
+    """
+
+    from grass.pygrass.vector import VectorTopo
+    from grass.pygrass.vector.geometry import Line
+
+    cols = [(u'cat', 'INTEGER PRIMARY KEY'), (u'id', 'INTEGER')]
+    with VectorTopo(map_name, mode='w', tab_name=map_name,
+                    tab_cols=cols) as streams:
+
+        # First flow graph
+        l = Line([(0,2), (0.22, 1.75), (0.55, 1.5), (1,1)])
+        streams.write(l, cat=1, attrs=(1,))
+        l = Line([(2,2),(1,1)])
+        streams.write(l, cat=2, attrs=(2,))
+        l = Line([(1,1), (0.85, 0.5), (1,0)])
+        streams.write(l, cat=3, attrs=(3,))
+        l = Line([(2,1),(1,0)])
+        streams.write(l, cat=4, attrs=(4,))
+        l = Line([(0,1),(1,0)])
+        streams.write(l, cat=5, attrs=(5,))
+        l = Line([(1,0),(1,-1)])
+        streams.write(l, cat=6, attrs=(6,))
+        # Reverse line 3
+        l = Line([(1,0), (1.15, 0.5),(1,1)])
+        streams.write(l, cat=7, attrs=(7,))
+
+        # second flow graph
+        l = Line([(0,-1),(1,-2)])
+        streams.write(l, cat=8, attrs=(8,))
+        l = Line([(2,-1),(1,-2)])
+        streams.write(l, cat=9, attrs=(9,))
+        l = Line([(1,-2),(1,-3)])
+        streams.write(l, cat=10, attrs=(10,))
+
+        streams.organization = 'Thuenen Institut'
+        streams.person = 'Soeren Gebbert'
+        streams.title = 'Test dataset for stream networks'
+        streams.comment = 'This is a comment'
+
+        streams.table.conn.commit()
+        streams.close()
+
+if __name__ == "__main__":
+
+    import doctest
+    from grass.pygrass import utils
+    from grass.script.core import run_command
+
+    utils.create_test_vector_map(test_vector_name)
+    run_command("g.region", n=50, s=0, e=60, w=0, res=1)
+    run_command("r.mapcalc", expression="%s = 1"%(test_raster_name),
+                             overwrite=True)
+
+    doctest.testmod()
+
+    """Remove the generated vector map, if exist"""
+    mset = utils.get_mapset_vector(test_vector_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='vector', name=test_vector_name)
+    mset = utils.get_mapset_raster(test_raster_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='raster', name=test_raster_name)
diff --git a/lib/python/pygrass/vector/__init__.py b/lib/python/pygrass/vector/__init__.py
index 1581a42..032b4b1 100644
--- a/lib/python/pygrass/vector/__init__.py
+++ b/lib/python/pygrass/vector/__init__.py
@@ -3,6 +3,7 @@ from os.path import join, exists
 import grass.lib.gis as libgis
 libgis.G_gisinit('')
 import grass.lib.vector as libvect
+import ctypes
 
 #
 # import pygrass modules
@@ -24,12 +25,15 @@ _NUMOF = {"areas": libvect.Vect_get_num_areas,
           "holes": libvect.Vect_get_num_holes,
           "islands": libvect.Vect_get_num_islands,
           "kernels": libvect.Vect_get_num_kernels,
+          "points": libvect.Vect_get_num_lines,
           "lines": libvect.Vect_get_num_lines,
           "nodes": libvect.Vect_get_num_nodes,
           "updated_lines": libvect.Vect_get_num_updated_lines,
           "updated_nodes": libvect.Vect_get_num_updated_nodes,
           "volumes": libvect.Vect_get_num_volumes}
 
+# For test purposes
+test_vector_name = "vector_doctest_map"
 
 #=============================================
 # VECTOR
@@ -39,16 +43,14 @@ class Vector(Info):
     """Vector class is the grass vector format without topology
 
         >>> from grass.pygrass.vector import Vector
-        >>> cens = Vector('census')
-        >>> cens.is_open()
+        >>> test_vect = Vector(test_vector_name)
+        >>> test_vect.is_open()
         False
-        >>> cens.mapset
+        >>> test_vect.mapset
         ''
-        >>> cens.exist()
+        >>> test_vect.exist()
         True
-        >>> cens.mapset
-        'PERMANENT'
-        >>> cens.overwrite
+        >>> test_vect.overwrite
         False
 
     """
@@ -58,6 +60,7 @@ class Vector(Info):
         self._topo_level = 1
         self._class_name = 'Vector'
         self.overwrite = False
+        self._cats = []
 
     def __repr__(self):
         if self.exist():
@@ -68,12 +71,12 @@ class Vector(Info):
     def __iter__(self):
         """::
 
-            >>> cens = Vector('census')
-            >>> cens.open(mode='r')
-            >>> features = [feature for feature in cens]
+            >>> test_vect = Vector(test_vector_name)
+            >>> test_vect.open(mode='r')
+            >>> features = [feature for feature in test_vect]
             >>> features[:3]
-            [Boundary(v_id=None), Boundary(v_id=None), Boundary(v_id=None)]
-            >>> cens.close()
+            [Point(10.000000, 6.000000), Point(12.000000, 6.000000), Point(14.000000, 6.000000)]
+            >>> test_vect.close()
 
         ..
         """
@@ -84,17 +87,17 @@ class Vector(Info):
     def next(self):
         """::
 
-            >>> cens = Vector('census')
-            >>> cens.open(mode='r')
-            >>> cens.next()
-            Boundary(v_id=None)
-            >>> cens.next()
-            Boundary(v_id=None)
-            >>> cens.close()
+            >>> test_vect = Vector(test_vector_name)
+            >>> test_vect.open(mode='r')
+            >>> test_vect.next()
+            Point(10.000000, 6.000000)
+            >>> test_vect.next()
+            Point(12.000000, 6.000000)
+            >>> test_vect.close()
 
         ..
         """
-        return read_next_line(self.c_mapinfo, self.table, self.writable,
+        return read_next_line(self.c_mapinfo, self.table, self.writeable,
                               is2D=not self.is_3D())
 
     @must_be_open
@@ -104,7 +107,7 @@ class Vector(Info):
             raise GrassError("Vect_rewind raise an error.")
 
     @must_be_open
-    def write(self, geo_obj, attrs=None, set_cats=True):
+    def write(self, geo_obj, cat=None, attrs=None):
         """Write geometry features and attributes.
 
         :param geo_obj: a geometry grass object define in
@@ -113,11 +116,9 @@ class Vector(Info):
         :param attrs: a list with the values that will be insert in the
                       attribute table.
         :type attrs: list
-        :param set_cats: if True, the category of the geometry feature is set
-                         using the default layer of the vector map and a
-                         progressive category value (default), otherwise the
+        :param cat: The category of the geometry feature, otherwise the
                          c_cats attribute of the geometry object will be used.
-        :type set_cats: bool
+        :type cat: integer
 
         Open a new vector map ::
 
@@ -140,19 +141,19 @@ class Vector(Info):
 
         create two points ::
 
-            >>> point0 = Point(636981.336043, 256517.602235)
-            >>> point1 = Point(637209.083058, 257970.129540)
+            >>> point0 = Point(0, 0)
+            >>> point1 = Point(1, 1)
 
         then write the two points on the map, with ::
 
-            >>> new.write(point0, ('pub', ))
-            >>> new.write(point1, ('resturnat', ))
+            >>> new.write(point0, cat=1, attrs=('pub',))
+            >>> new.write(point1, cat=2, attrs=('resturant',))
 
         commit the db changes ::
 
             >>> new.table.conn.commit()
             >>> new.table.execute().fetchall()
-            [(1, u'pub'), (2, u'resturnat')]
+            [(1, u'pub'), (2, u'resturant')]
 
         close the vector map ::
 
@@ -164,29 +165,34 @@ class Vector(Info):
 
             >>> new.open(mode='r')
             >>> new.read(1)
-            Point(636981.336043, 256517.602235)
+            Point(0.000000, 0.000000)
             >>> new.read(2)
-            Point(637209.083058, 257970.129540)
+            Point(1.000000, 1.000000)
             >>> new.read(1).attrs['name']
             u'pub'
             >>> new.read(2).attrs['name']
-            u'resturnat'
+            u'resturant'
             >>> new.close()
             >>> new.remove()
 
         """
         self.n_lines += 1
-        if self.table is not None and attrs:
-            attr = [self.n_lines, ]
-            attr.extend(attrs)
-            cur = self.table.conn.cursor()
-            cur.execute(self.table.columns.insert_str, attr)
-            cur.close()
-
-        if set_cats:
+        if attrs and cat is None:
+            cat = (self._cats[-1] if self._cats else 0) + 1
+
+        if cat is not None and cat not in self._cats:
+            self._cats.append(cat)
+            if self.table is not None and attrs is not None:
+                attr = [cat, ]
+                attr.extend(attrs)
+                cur = self.table.conn.cursor()
+                cur.execute(self.table.columns.insert_str, attr)
+                cur.close()
+        
+        if cat is not None:
             cats = Cats(geo_obj.c_cats)
             cats.reset()
-            cats.set(self.n_lines, self.layer)
+            cats.set(cat, self.layer)
 
         if geo_obj.gtype == _Area.gtype:
             result = self._write_area(geo_obj)
@@ -206,23 +212,23 @@ class Vector(Info):
         """Return if vector has color table associated in file system;
         Color table stored in the vector's attribute table well be not checked
 
-        >>> cens = Vector('census')
-        >>> cens.open(mode='r')
-        >>> cens.has_color_table()
+        >>> test_vect = Vector(test_vector_name)
+        >>> test_vect.open(mode='r')
+        >>> test_vect.has_color_table()
         False
 
-        >>> cens.close()
+        >>> test_vect.close()
         >>> from grass.pygrass.utils import copy, remove
-        >>> copy('census','mycensus','vect')
+        >>> copy(test_vector_name,'mytest_vect','vect')
         >>> from grass.pygrass.modules.shortcuts import vector as v
-        >>> v.colors(map='mycensus', color='population', column='TOTAL_POP')
+        >>> v.colors(map='mytest_vect', color='population', column='value')
         Module('v.colors')
-        >>> mycens = Vector('mycensus')
-        >>> mycens.open(mode='r')
-        >>> mycens.has_color_table()
+        >>> mytest_vect = Vector('mytest_vect')
+        >>> mytest_vect.open(mode='r')
+        >>> mytest_vect.has_color_table()
         True
-        >>> mycens.close()
-        >>> remove('mycensus', 'vect')
+        >>> mytest_vect.close()
+        >>> remove('mytest_vect', 'vect')
         """
         loc = Location()
         path = join(loc.path(), self.mapset, 'vector', self.name, 'colr')
@@ -238,14 +244,17 @@ class VectorTopo(Vector):
 
     Open a vector map using the *with statement*: ::
 
-        >>> with VectorTopo('schools', mode='r') as schools:
-        ...     for school in schools[:3]:
-        ...         print school.attrs['NAMESHORT']
+        >>> with VectorTopo(test_vector_name, mode='r') as test_vect:
+        ...     for feature in test_vect[:7]:
+        ...         print feature.attrs['name']
         ...
-        SWIFT CREEK
-        BRIARCLIFF
-        FARMINGTON WOODS
-        >>> schools.is_open()
+        point
+        point
+        point
+        line
+        line
+        line
+        >>> test_vect.is_open()
         False
 
     ..
@@ -261,11 +270,11 @@ class VectorTopo(Vector):
     def __getitem__(self, key):
         """::
 
-            >>> cens = VectorTopo('census')
-            >>> cens.open(mode='r')
-            >>> cens[:3]
-            [Boundary(v_id=1), Boundary(v_id=2), Boundary(v_id=3)]
-            >>> cens.close()
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open(mode='r')
+            >>> test_vect[:4]
+            [Point(10.000000, 6.000000), Point(12.000000, 6.000000), Point(14.000000, 6.000000)]
+            >>> test_vect.close()
 
         ..
         """
@@ -298,17 +307,17 @@ class VectorTopo(Vector):
 
         ::
 
-            >>> cens = VectorTopo('census')
-            >>> cens.open(mode='r')
-            >>> cens.num_primitive_of('point')
-            0
-            >>> cens.num_primitive_of('line')
-            0
-            >>> cens.num_primitive_of('centroid')
-            2537
-            >>> cens.num_primitive_of('boundary')
-            6383
-            >>> cens.close()
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open(mode='r')
+            >>> test_vect.num_primitive_of('point')
+            3
+            >>> test_vect.num_primitive_of('line')
+            3
+            >>> test_vect.num_primitive_of('centroid')
+            4
+            >>> test_vect.num_primitive_of('boundary')
+            11
+            >>> test_vect.close()
 
         ..
         """
@@ -321,28 +330,28 @@ class VectorTopo(Vector):
 
         :param vtype: the name of type to query; the supported values are:
                       *areas*, *dblinks*, *faces*, *holes*, *islands*,
-                      *kernels*, *line_points*, *lines*, *nodes*,
+                      *kernels*, *line_points*, *lines*, *nodes*, *points*,
                       *update_lines*, *update_nodes*, *volumes*
         :type vtype: str
 
-            >>> cens = VectorTopo('census')
-            >>> cens.open(mode='r')
-            >>> cens.number_of("areas")
-            2547
-            >>> cens.number_of("islands")
-            49
-            >>> cens.number_of("holes")
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open(mode='r')
+            >>> test_vect.number_of("areas")
+            4
+            >>> test_vect.number_of("islands")
+            2
+            >>> test_vect.number_of("holes")
             0
-            >>> cens.number_of("lines")
-            8920
-            >>> cens.number_of("nodes")
-            3885
-            >>> cens.number_of("pizza")
+            >>> test_vect.number_of("lines")
+            21
+            >>> test_vect.number_of("nodes")
+            15
+            >>> test_vect.number_of("pizza")
             ...                     # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
             Traceback (most recent call last):
                 ...
             ValueError: vtype not supported, use one of: 'areas', ...
-            >>> cens.close()
+            >>> test_vect.close()
 
 
         ..
@@ -368,32 +377,39 @@ class VectorTopo(Vector):
 
         :param vtype: the name of type to query; the supported values are:
                       *areas*, *dblinks*, *faces*, *holes*, *islands*,
-                      *kernels*, *line_points*, *lines*, *nodes*,
+                      *kernels*, *line_points*, *lines*, *nodes*, *points*,
                       *update_lines*, *update_nodes*, *volumes*
         :type vtype: str
         :param idonly: variable to return only the id of features instead of
                        full features
         :type idonly: bool
 
-            >>> cens = VectorTopo('census', mode='r')
-            >>> cens.open(mode='r')
-            >>> big = [area for area in cens.viter('areas')
-            ...        if area.alive() and area.area() >= 10000]
-            >>> big[:3]
-            [Area(5), Area(6), Area(13)]
+            >>> test_vect = VectorTopo(test_vector_name, mode='r')
+            >>> test_vect.open(mode='r')
+            >>> areas = [area for area in test_vect.viter('areas')]
+            >>> areas[:3]
+            [Area(1), Area(2), Area(3)]
 
 
         to sort the result in a efficient way, use: ::
 
             >>> from operator import methodcaller as method
-            >>> big.sort(key=method('area'), reverse=True)  # sort the list
-            >>> for area in big[:3]:
+            >>> areas.sort(key=method('area'), reverse=True)  # sort the list
+            >>> for area in areas[:3]:
             ...     print area, area.area()
-            Area(2099) 5392751.5304
-            Area(2171) 4799921.30863
-            Area(495) 4055812.49695
-            >>> cens.close()
-
+            Area(1) 12.0
+            Area(2) 8.0
+            Area(4) 8.0
+
+            >>> areas = [area for area in test_vect.viter('areas')]
+            >>> for area in areas:
+            ...     print(area.centroid().cat)
+            3
+            3
+            3
+            3
+
+            >>> test_vect.close()
         """
         if vtype in _GEOOBJ.keys():
             if _GEOOBJ[vtype] is not None:
@@ -402,7 +418,7 @@ class VectorTopo(Vector):
                     return ids
                 return (_GEOOBJ[vtype](v_id=indx, c_mapinfo=self.c_mapinfo,
                                        table=self.table,
-                                       writable=self.writable)
+                                       writeable=self.writeable)
                         for indx in ids)
         else:
             keys = "', '".join(sorted(_GEOOBJ.keys()))
@@ -412,18 +428,18 @@ class VectorTopo(Vector):
     def rewind(self):
         """Rewind vector map to cause reads to start at beginning. ::
 
-            >>> cens = VectorTopo('census')
-            >>> cens.open(mode='r')
-            >>> cens.next()
-            Boundary(v_id=1)
-            >>> cens.next()
-            Boundary(v_id=2)
-            >>> cens.next()
-            Boundary(v_id=3)
-            >>> cens.rewind()
-            >>> cens.next()
-            Boundary(v_id=1)
-            >>> cens.close()
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open(mode='r')
+            >>> test_vect.next()
+            Point(10.000000, 6.000000)
+            >>> test_vect.next()
+            Point(12.000000, 6.000000)
+            >>> test_vect.next()
+            Point(14.000000, 6.000000)
+            >>> test_vect.rewind()
+            >>> test_vect.next()
+            Point(10.000000, 6.000000)
+            >>> test_vect.close()
 
         ..
         """
@@ -454,12 +470,12 @@ class VectorTopo(Vector):
         is2D = not self.is_3D()
         if generator:
             return (read_line(feature_id=v_id, c_mapinfo=self.c_mapinfo,
-                              table=self.table, writable=self.writable,
+                              table=self.table, writeable=self.writeable,
                               is2D=is2D)
                     for v_id in ilist)
         else:
             return [read_line(feature_id=v_id, c_mapinfo=self.c_mapinfo,
-                              table=self.table, writable=self.writable,
+                              table=self.table, writeable=self.writeable,
                               is2D=is2D)
                     for v_id in ilist]
 
@@ -469,31 +485,31 @@ class VectorTopo(Vector):
 
         :param int feature_id: the id of feature to obtain
 
-        >>> cens = VectorTopo('census')
-        >>> cens.open(mode='r')
-        >>> feature1 = cens.read(0)                     #doctest: +ELLIPSIS
+        >>> test_vect = VectorTopo(test_vector_name)
+        >>> test_vect.open(mode='r')
+        >>> feature1 = test_vect.read(0)                     #doctest: +ELLIPSIS
         Traceback (most recent call last):
             ...
         ValueError: The index must be >0, 0 given.
-        >>> feature1 = cens.read(1)
+        >>> feature1 = test_vect.read(5)
         >>> feature1
-        Boundary(v_id=1)
+        Line([Point(12.000000, 4.000000), Point(12.000000, 2.000000), Point(12.000000, 0.000000)])
         >>> feature1.length()
-        444.54490917696944
-        >>> cens.read(-1)
-        Centoid(642963.159711, 214994.016279)
-        >>> len(cens)
-        8920
-        >>> cens.read(8920)
-        Centoid(642963.159711, 214994.016279)
-        >>> cens.read(8921)                             #doctest: +ELLIPSIS
+        4.0
+        >>> test_vect.read(-1)
+        Centoid(7.500000, 3.500000)
+        >>> len(test_vect)
+        21
+        >>> test_vect.read(21)
+        Centoid(7.500000, 3.500000)
+        >>> test_vect.read(22)                             #doctest: +ELLIPSIS
         Traceback (most recent call last):
           ...
         IndexError: Index out of range
-        >>> cens.close()
+        >>> test_vect.close()
 
         """
-        return read_line(feature_id, self.c_mapinfo, self.table, self.writable,
+        return read_line(feature_id, self.c_mapinfo, self.table, self.writeable,
                          is2D=not self.is_3D())
 
     @must_be_open
@@ -558,19 +574,295 @@ class VectorTopo(Vector):
             raise GrassError("I can not find the Bbox.")
         return bbox
 
-    @must_be_open
-    def select_by_bbox(self, bbox):
-        """Return the BBox of the vector map
-        """
-        # TODO replace with bbox if bbox else Bbox() ??
-        bbox = Bbox()
-        if libvect.Vect_get_map_box(self.c_mapinfo, bbox.c_bbox) == 0:
-            raise GrassError("I can not find the Bbox.")
-        return bbox
-
     def close(self, build=True, release=True):
         """Close the VectorTopo map, if release is True, the memory
         occupied by spatial index is released"""
         if release:
             libvect.Vect_set_release_support(self.c_mapinfo)
         super(VectorTopo, self).close(build=build)
+
+    @must_be_open
+    def table_to_dict(self, where=None):
+        """Return the attribute table as a dictionary with the category as keys
+
+            The columns have the order of the self.table.columns.names() list.
+
+            Examples
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.basic import Bbox
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            >>> test_vect.table_to_dict()
+            {1: [1, u'point', 1.0], 2: [2, u'line', 2.0], 3: [3, u'centroid', 3.0]}
+
+            >>> test_vect.table_to_dict(where="value > 2")
+            {3: [3, u'centroid', 3.0]}
+
+            >>> test_vect.table_to_dict(where="value > 0")
+            {1: [1, u'point', 1.0], 2: [2, u'line', 2.0], 3: [3, u'centroid', 3.0]}
+
+            >>> test_vect.table.filters.get_sql()
+            u'SELECT cat,name,value FROM vector_doctest_map WHERE value > 0 ORDER BY cat;'
+
+        """
+
+        if self.table is not None:
+            table_dict = {}
+            # Get the category index
+            cat_index = self.table.columns.names().index("cat")
+            # Prepare a filter
+            if where is not None:
+                self.table.filters.where(where)
+
+            self.table.filters.order_by("cat")
+
+            self.table.filters.select(",".join(self.table.columns.names()))
+            # Execute the query and fetch the result
+            cur = self.table.execute()
+            l = cur.fetchall()
+            # Generate the dictionary
+            for entry in l:
+                table_dict[entry[cat_index]] = list(entry)
+
+            return(table_dict)
+
+        return None
+
+    @must_be_open
+    def features_to_wkb_list(self, bbox=None, feature_type="point", field=1):
+        """Return all features of type point, line, boundary or centroid
+           as a list of Well Known Binary representations (WKB)
+           (id, cat, wkb) triplets located in a specific
+           bounding box.
+
+           :param bbox: The boundingbox to search for features,
+                       if bbox=None the boundingbox of the whole
+                       vector map layer is used
+
+           :type bbox: grass.pygrass.vector.basic.Bbox
+
+           :param feature_type: The type of feature that should be converted to
+                                the Well Known Binary (WKB) format. Supported are:
+                               'point'    -> libvect.GV_POINT     1
+                               'line'     -> libvect.GV_LINE      2
+                               'boundary' -> libvect.GV_BOUNDARY  3
+                               'centroid' -> libvect.GV_CENTROID  4
+           :type type: string
+
+           :param field: The category field
+           :type field: integer
+
+           :return: A list of triplets, or None if nothing was found
+
+           The well known binary are stored in byte arrays.
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.basic import Bbox
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            >>> bbox = Bbox(north=20, south=-1, east=20, west=-1)
+            >>> result = test_vect.features_to_wkb_list(bbox=bbox,
+            ...                                         feature_type="point")
+            >>> len(result)
+            3
+            >>> for entry in result:
+            ...     f_id, cat, wkb = entry
+            ...     print(f_id, cat, len(wkb))
+            (1, 1, 21)
+            (2, 1, 21)
+            (3, 1, 21)
+
+            >>> result = test_vect.features_to_wkb_list(bbox=None,
+            ...                                         feature_type="line")
+            >>> len(result)
+            3
+            >>> for entry in result:
+            ...     f_id, cat, wkb = entry
+            ...     print(f_id, cat, len(wkb))
+            (4, 2, 57)
+            (5, 2, 57)
+            (6, 2, 57)
+
+            >>> result = test_vect.features_to_wkb_list(bbox=bbox,
+            ...                                         feature_type="boundary")
+            >>> len(result)
+            11
+
+            >>> result = test_vect.features_to_wkb_list(bbox=None,
+            ...                                         feature_type="centroid")
+            >>> len(result)
+            4
+
+            >>> for entry in result:
+            ...     f_id, cat, wkb = entry
+            ...     print(f_id, cat, len(wkb))
+            (19, 3, 21)
+            (18, 3, 21)
+            (20, 3, 21)
+            (21, 3, 21)
+
+            >>> result = test_vect.features_to_wkb_list(bbox=bbox,
+            ...                                         feature_type="blub")
+            Traceback (most recent call last):
+            ...
+            GrassError: Unsupported feature type <blub>, supported are <point,line,boundary,centroid>
+
+            >>> test_vect.close()
+
+        """
+
+        supported = ['point', 'line', 'boundary', 'centroid']
+
+        if feature_type.lower() not in supported:
+            raise GrassError("Unsupported feature type <%s>, "\
+                             "supported are <%s>"%(feature_type,
+                                                   ",".join(supported)))
+
+        if bbox is None:
+            bbox = self.bbox()
+
+        bboxlist = self.find_by_bbox.geos(bbox, type=feature_type.lower(),
+                                          bboxlist_only = True)
+
+        if bboxlist is not None and len(bboxlist) > 0:
+
+            l = []
+            line_p = libvect.line_pnts()
+            line_c = libvect.line_cats()
+            size = ctypes.c_size_t()
+            cat = ctypes.c_int()
+            error = ctypes.c_int()
+
+            for f_id in bboxlist.ids:
+                barray = libvect.Vect_read_line_to_wkb(self.c_mapinfo,
+                                                       ctypes.byref(line_p),
+                                                       ctypes.byref(line_c),
+                                                       f_id,
+                                                       ctypes.byref(size),
+                                                       ctypes.byref(error))
+                if not barray:
+                    if error == -1:
+                        raise GrassError(_("Unable to read line of feature %i"%(f_id)))
+                    if error == -2:
+                        print("Empty feature %i"%(f_id))
+                    continue
+
+                ok = libvect.Vect_cat_get(ctypes.byref(line_c), field,
+                                          ctypes.byref(cat))
+                if ok < 1:
+                    pcat = None
+                else:
+                    pcat = cat.value
+
+                l.append((f_id, pcat, ctypes.string_at(barray, size.value)))
+                libgis.G_free(barray)
+
+            return l
+        return None
+
+    @must_be_open
+    def areas_to_wkb_list(self, bbox=None, field=1):
+        """Return all features of type point, line, boundary or centroid
+           as a list of Well Known Binary representations (WKB)
+           (id, cat, wkb) triplets located in a specific
+           bounding box.
+
+           :param bbox: The boundingbox to search for features,
+                       if bbox=None the boundingbox of the whole
+                       vector map layer is used
+
+           :type bbox: grass.pygrass.vector.basic.Bbox
+
+           :param field: The centroid category field
+           :type field: integer
+
+           :return: A list of triplets, or None if nothing was found
+
+           The well known binary are stored in byte arrays.
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.basic import Bbox
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            >>> bbox = Bbox(north=20, south=-1, east=20, west=-1)
+            >>> result = test_vect.areas_to_wkb_list(bbox=bbox)
+            >>> len(result)
+            4
+            >>> for entry in result:
+            ...     a_id, cat, wkb = entry
+            ...     print(a_id, cat, len(wkb))
+            (1, 3, 225)
+            (2, 3, 141)
+            (3, 3, 93)
+            (4, 3, 141)
+
+            >>> result = test_vect.areas_to_wkb_list()
+            >>> len(result)
+            4
+            >>> for entry in result:
+            ...     a_id, cat, wkb = entry
+            ...     print(a_id, cat, len(wkb))
+            (1, 3, 225)
+            (2, 3, 141)
+            (3, 3, 93)
+            (4, 3, 141)
+
+            >>> test_vect.close()
+
+
+        """
+        if bbox is None:
+            bbox = self.bbox()
+
+        bboxlist = self.find_by_bbox.areas(bbox, bboxlist_only = True)
+
+        if bboxlist is not None and len(bboxlist) > 0:
+
+            l = []
+            line_c = libvect.line_cats()
+            size = ctypes.c_size_t()
+            cat = ctypes.c_int()
+
+            for a_id in bboxlist.ids:
+                barray = libvect.Vect_read_area_to_wkb(self.c_mapinfo,
+                                                       a_id,
+                                                       ctypes.byref(size))
+                if not barray:
+                    raise GrassError(_("Unable to read area with id %i"%(a_id)))
+
+                pcat = None
+                c_ok = libvect.Vect_get_area_cats(self.c_mapinfo, a_id,
+                                                  ctypes.byref(line_c))
+                if c_ok == 0: # Centroid found
+
+                    ok = libvect.Vect_cat_get(ctypes.byref(line_c), field,
+                                              ctypes.byref(cat))
+                    if ok > 0:
+                        pcat = cat.value
+
+                l.append((a_id, pcat, ctypes.string_at(barray, size.value)))
+                libgis.G_free(barray)
+
+            return l
+        return None
+
+if __name__ == "__main__":
+    import doctest
+    from grass.pygrass import utils
+    utils.create_test_vector_map(test_vector_name)
+    doctest.testmod()
+
+    """Remove the generated vector map, if exist"""
+    from grass.pygrass.utils import get_mapset_vector
+    from grass.script.core import run_command
+    mset = get_mapset_vector(test_vector_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='vector', name=test_vector_name)
diff --git a/lib/python/pygrass/vector/abstract.py b/lib/python/pygrass/vector/abstract.py
index 301dacf..b0d80b8 100644
--- a/lib/python/pygrass/vector/abstract.py
+++ b/lib/python/pygrass/vector/abstract.py
@@ -14,6 +14,7 @@ from grass.pygrass.errors import GrassError, OpenError, must_be_open
 from grass.pygrass.vector.table import DBlinks, Link
 from grass.pygrass.vector.find import PointFinder, BboxFinder, PolygonFinder
 
+test_vector_name="abstract_doctest_map"
 
 def is_open(c_mapinfo):
     """Return if the Vector is open"""
@@ -30,51 +31,39 @@ class Info(object):
     """Basic vector info.
     To get access to the vector info the map must be opened. ::
 
-        >>> cens = Info('census')
-        >>> cens.open(mode='r')
+        >>> test_vect = Info(test_vector_name)
+        >>> test_vect.open(mode='r')
 
     Then it is possible to read and write the following map attributes: ::
 
-        >>> cens.organization
-        'NC OneMap'
-        >>> cens.person
-        'hmitaso'
-        >>> cens.title
-        'Wake County census blocks with attributes, clipped (polygon map)'
-        >>> cens.map_date
-        datetime.datetime(2007, 3, 19, 22, 1, 37)
-        >>> cens.date
-        ''
-        >>> cens.scale
+        >>> test_vect.organization
+        'Thuenen Institut'
+        >>> test_vect.person
+        'Soeren Gebbert'
+        >>> test_vect.title
+        'Test dataset'
+        >>> test_vect.scale
         1
-        >>> cens.comment
-        ''
-        >>> cens.comment = "One useful comment!"
-        >>> cens.comment
+        >>> test_vect.comment
+        'This is a comment'
+        >>> test_vect.comment = "One useful comment!"
+        >>> test_vect.comment
         'One useful comment!'
-        >>> cens.zone
-        0
-        >>> cens.proj
-        99
 
     There are some read only attributes: ::
 
-        >>> cens.full_name
-        'census at PERMANENT'
-        >>> cens.proj_name
-        'Lambert Conformal Conic'
-        >>> cens.maptype
+        >>> test_vect.maptype
         'native'
 
     And some basic methods: ::
 
-        >>> cens.is_3D()
+        >>> test_vect.is_3D()
         False
-        >>> cens.exist()
+        >>> test_vect.exist()
         True
-        >>> cens.is_open()
+        >>> test_vect.is_open()
         True
-        >>> cens.close()
+        >>> test_vect.close()
 
     """
     def __init__(self, name, mapset='', *aopen, **kwopen):
@@ -107,8 +96,6 @@ class Info(object):
         if not utils.is_clean_name(newname):
             str_err = _("Map name {0} not valid")
             raise ValueError(str_err.format(newname))
-        if self.exist():
-            self.rename(newname)
         self._name = newname
 
     name = property(fget=_get_name, fset=_set_name,
@@ -173,7 +160,10 @@ class Info(object):
     def _get_map_date(self):
         """Private method to obtain the Vector map date"""
         date_str = libvect.Vect_get_map_date(self.c_mapinfo)
-        return datetime.datetime.strptime(date_str, self.date_fmt)
+        try:
+            return datetime.datetime.strptime(date_str, self.date_fmt)
+        except:
+            return date_str
 
     def _set_map_date(self, datetimeobj):
         """Private method to change the Vector map date"""
@@ -362,18 +352,19 @@ class Info(object):
         if mode == 'w':
             openvect = libvect.Vect_open_new(self.c_mapinfo, self.name, with_z)
             self.dblinks = DBlinks(self.c_mapinfo)
-            if tab_cols:
-                # create a link
-                link = Link(layer,
-                            link_name if link_name else self.name,
-                            tab_name if tab_name else self.name,
-                            link_key, link_db, link_driver)
-                # add the new link
-                self.dblinks.add(link)
-                # create the table
-                table = link.table()
-                table.create(tab_cols)
-                table.conn.commit()
+
+        if mode in ('w', 'rw') and tab_cols:
+            # create a link
+            link = Link(layer,
+                        link_name if link_name else self.name,
+                        tab_name if tab_name else self.name,
+                        link_key, link_db, link_driver)
+            # add the new link
+            self.dblinks.add(link)
+            # create the table
+            table = link.table()
+            table.create(tab_cols)
+            table.conn.commit()
 
         # check the C function result.
         if openvect == -1:
@@ -388,13 +379,17 @@ class Info(object):
             self.layer = self.dblinks.by_layer(layer).layer
             self.table = self.dblinks.by_layer(layer).table()
             self.n_lines = self.table.n_rows()
-        self.writable = self.mapset == utils.getenv("MAPSET")
+        self.writeable =  self.mapset == utils.getenv("MAPSET")
+        # Initialize the finder
         self.find = {'by_point': PointFinder(self.c_mapinfo, self.table,
-                                             self.writable),
-                     'by_box': BboxFinder(self.c_mapinfo, self.table,
-                                          self.writable),
+                                             self.writeable),
+                     'by_bbox': BboxFinder(self.c_mapinfo, self.table,
+                                          self.writeable),
                      'by_polygon': PolygonFinder(self.c_mapinfo, self.table,
-                                                 self.writable), }
+                                                 self.writeable), }
+        self.find_by_point = self.find["by_point"]
+        self.find_by_bbox  = self.find["by_bbox"]
+        self.find_by_polygon = self.find["by_polygon"]
 
     def close(self, build=False):
         """Method to close the Vector
@@ -432,3 +427,9 @@ class Info(object):
             str_err = 'Error when trying build topology with Vect_build'
             raise GrassError(str_err)
         libvect.Vect_close(self.c_mapinfo)
+
+if __name__ == "__main__":
+    import doctest
+    from grass.pygrass import utils
+    utils.create_test_vector_map(test_vector_name)
+    doctest.testmod()
diff --git a/lib/python/pygrass/vector/basic.py b/lib/python/pygrass/vector/basic.py
index ccada6c..15f7bbb 100644
--- a/lib/python/pygrass/vector/basic.py
+++ b/lib/python/pygrass/vector/basic.py
@@ -572,3 +572,7 @@ class CatsList(object):
         :type cat: int
         """
         return bool(libvect.Vect_cat_in_cat_list(cat, self.c_cat_list))
+
+if __name__ == "__main__":
+    import doctest
+    doctest.testmod()
diff --git a/lib/python/pygrass/vector/find.py b/lib/python/pygrass/vector/find.py
index bb253fd..544c677 100644
--- a/lib/python/pygrass/vector/find.py
+++ b/lib/python/pygrass/vector/find.py
@@ -11,17 +11,19 @@ from grass.pygrass.errors import must_be_open
 from grass.pygrass.vector.basic import Ilist, BoxList
 from grass.pygrass.vector.geometry import read_line, Isle, Area, Point, Node
 
+# For test purposes
+test_vector_name = "find_doctest_map"
 
 class AbstractFinder(object):
-    def __init__(self, c_mapinfo, table=None, writable=False):
-        """AbstractFinder
+    def __init__(self, c_mapinfo, table=None, writeable=False):
+        """Abstract finder
         -----------------
 
         Find geometry feature around a point.
         """
         self.c_mapinfo = c_mapinfo
         self.table = table
-        self.writable = writable
+        self.writeable = writeable
         self.vtype = {'point':    libvect.GV_POINT,  # 1
                       'line':     libvect.GV_LINE,   # 2
                       'boundary': libvect.GV_BOUNDARY,  # 3
@@ -33,60 +35,119 @@ class AbstractFinder(object):
         from . import abstract
         return abstract.is_open(self.c_mapinfo)
 
-
 class PointFinder(AbstractFinder):
-    """PointFinder
-
-    Find the geomtry features of a vector map that are close to a point.
-
-    >>> from grass.pygrass.vector import VectorTopo
-    >>> zipcodes = VectorTopo('zipcodes', 'PERMANENT')
-    >>> schools = VectorTopo('schools', 'PERMANENT')
-    >>> zipcodes.open('r')
-    >>> schools.open('r')
-    >>> result = []
-    >>> for school in schools:
-    ...     zipcode = zipcodes.find['by_point'].area(school)
-    ...     result.append((school.attrs['NAMESHORT'],
-    ...                    zipcode.attrs['ZIPCODE']))
-    ...
-    >>> result[0]
-    (u'SWIFT CREEK', u'RALEIGH 27606')
-    >>> result[1]
-    (u'BRIARCLIFF', u'CARY 27511')
-    >>> result[2]
-    (u'FARMINGTON WOODS', u'CARY 27511')
-    >>> from grass.pygrass.vector.geometry import Point
-    >>> pnt = Point(631213.349291, 224684.900084)
-    >>> school = schools.find['by_point'].geo(pnt, maxdist=300.)
-    >>> school.attrs['NAMELONG']
-    u'ADAMS ELEMENTARY'
-    >>> for school in schools.find['by_point'].geos(pnt, maxdist=1000.):
-    ...     print school.attrs['NAMELONG']
-    ...
-    CARY HIGH
-    EAST CARY MIDDLE SITE
-    ADAMS ELEMENTARY
-    >>> schools.close()
-    >>> zipcodes.close()
+    """Point finder
+
+        This class provides an interface to search geometry features
+        of a vector map that are close to a point. The PointFinder class
+        is part of a topological vector map object.
     """
-    def __init__(self, c_mapinfo, table=None, writable=False):
-        """Find geometry feature around a point.
+    def __init__(self, c_mapinfo, table=None, writeable=False):
+        """Find geometry feature(s) around a point.
+
+            :param c_mapinfo: Pointer to the vector layer mapinfo structure
+            :type c_mapinfo: ctypes pointer to mapinfo structure
+
+            :param table: Attribute table of the vector layer
+            :type table: Class Table from grass.pygrass.table
+
+            :param writable: True or False
+            :type writeable: boolean
         """
-        super(PointFinder, self).__init__(c_mapinfo, table, writable)
+        super(PointFinder, self).__init__(c_mapinfo, table, writeable)
+
+    @must_be_open
+    def node(self, point, maxdist):
+        """Find the nearest node around a specific point.
+
+            :param point: The point to search
+            :type point: grass.pygrass.vector.geometry.Point
 
-# TODO: add the Node class and enable this method
-#    def node(self, point, maxdist):
-#        """Find the nearest node. Vect_find_node"""
-#        i = libvect.Vect_find_node(self.c_mapinfo, point.x, point.y, point.z,
-#                                   float(maxdist), int(not point.is2D))
-#        return geometry.Node(self.c_mapinfo.contents.plus.contents.Node[i])
+            :param maxdist: The maximum search distance around the point
+            :type maxdist: float
+
+            :return: A grass.pygrass.vector.geometry.Node if found or None
+
+            This methods uses libvect.Vect_find_node()()
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.geometry import Point
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            # Find nearest node
+            >>> points = (Point(10,0), Point(10,4), Point(14,0))
+            >>> result = []
+            >>> for point in points:
+            ...     f = test_vect.find_by_point.node(point=point, maxdist=1)
+            ...     if f:
+            ...         result.append(f)
+            >>> result
+            [Node(2), Node(1), Node(6)]
+
+            >>> test_vect.find_by_point.node(point=Point(20,20), maxdist=0)
+
+            >>> test_vect.close()
+        """
+        node_id = libvect.Vect_find_node(self.c_mapinfo, point.x,
+                                         point.y,
+                                         point.z if point.z else 0,
+                                         float(maxdist),
+                                         int(not point.is2D))
+        if node_id:
+            return Node(v_id=node_id, c_mapinfo=self.c_mapinfo,
+                 table=self.table, writeable=self.writeable)
 
     @must_be_open
     def geo(self, point, maxdist, type='all', exclude=0):
-        """Find the nearest line. Vect_find_line
+        """Find the nearest vector feature around a specific point.
+
+            :param point: The point to search
+            :type point: grass.pygrass.vector.geometry.Point
+
+            :param maxdist: The maximum search distance around the point
+            :type maxdist: float
+
+            :param type: The type of feature to search for
+                         Valid type are all the keys in find.vtype dictionary
+            :type type: string
+
+            :param exclude: if > 0 number of lines which should be
+                            excluded from selection
+
+            :return: A grass.pygrass.vector.geometry.Node if found or None
+
+            This methods uses libvect.Vect_find_line()()
 
-        Valid type are all the keys in find.vtype dictionary
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.geometry import Point
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            # Find single features
+            >>> points = (Point(10,0), Point(10,6), Point(14,2))
+            >>> result = []
+            >>> for point in points:
+            ...     f = test_vect.find_by_point.geo(point=point, maxdist=1)
+            ...     if f:
+            ...         result.append(f)
+            >>> for f in result:
+            ...     print(f.to_wkt_p())    #doctest: +NORMALIZE_WHITESPACE
+            LINESTRING(10.000000 4.000000,
+                       10.000000 2.000000,
+                       10.000000 0.000000)
+            POINT(10.000000 6.000000)
+            LINESTRING(14.000000 4.000000,
+                       14.000000 2.000000,
+                       14.000000 0.000000)
+
+            >>> test_vect.find_by_point.geo(point=Point(20,20), maxdist=0)
+
+            >>> test_vect.close()
         """
         feature_id = libvect.Vect_find_line(self.c_mapinfo,
                                             point.x, point.y,
@@ -95,13 +156,83 @@ class PointFinder(AbstractFinder):
                                             int(not point.is2D), exclude)
         if feature_id:
             return read_line(feature_id, self.c_mapinfo,
-                             self.table, self.writable)
+                             self.table, self.writeable)
 
     @must_be_open
     def geos(self, point, maxdist, type='all', exclude=None):
-        """Find the nearest line. Vect_find_line_list
+        """Find the nearest vector features around a specific point.
+
+            :param point: The point to search
+            :type point: grass.pygrass.vector.geometry.Point
+
+            :param maxdist: The maximum search distance around the point
+            :type maxdist: float
+
+            :param type: The type of feature to search for
+                         Valid type are all the keys in find.vtype dictionary
+            :type type: string
 
-        Valid type are all the keys in find.vtype dictionary
+            :param exclude: if > 0 number of lines which should be
+                            excluded from selection
+
+            :return: A list of grass.pygrass.vector.geometry
+                     (Line, Point, Boundary, Centroid) if found or None
+
+            This methods uses libvect.Vect_find_line_list()()
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.geometry import Point
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            # Find multiple features
+            >>> points = (Point(10,0), Point(10,5), Point(14,2))
+            >>> result = []
+            >>> for point in points:
+            ...     f = test_vect.find_by_point.geos(point=point,
+            ...                                      maxdist=1.5)
+            ...     if f:
+            ...         result.append(f)
+            >>> for f in result:
+            ...     print(f)             #doctest: +NORMALIZE_WHITESPACE
+            [Line([Point(10.000000, 4.000000),
+                   Point(10.000000, 2.000000),
+                   Point(10.000000, 0.000000)])]
+            [Line([Point(10.000000, 4.000000),
+                   Point(10.000000, 2.000000),
+                   Point(10.000000, 0.000000)]),
+             Point(10.000000, 6.000000)]
+            [Line([Point(14.000000, 4.000000),
+                   Point(14.000000, 2.000000),
+                   Point(14.000000, 0.000000)])]
+
+            # Find multiple boundaries
+            >>> point = Point(3,3)
+            >>> result = test_vect.find_by_point.geos(point=Point(3,3),
+            ...                                          type="boundary",
+            ...                                          maxdist=1.5)
+            >>> result                   #doctest: +NORMALIZE_WHITESPACE
+            [Boundary([Point(0.000000, 4.000000), Point(4.000000, 4.000000)]),
+             Boundary([Point(4.000000, 4.000000), Point(4.000000, 0.000000)]),
+             Boundary([Point(1.000000, 1.000000), Point(1.000000, 3.000000),
+                       Point(3.000000, 3.000000), Point(3.000000, 1.000000),
+                       Point(1.000000, 1.000000)]),
+             Boundary([Point(4.000000, 4.000000), Point(6.000000, 4.000000)])]
+
+            # Find multiple centroids
+            >>> point = Point(3,3)
+            >>> result = test_vect.find_by_point.geos(point=Point(3,3),
+            ...                                          type="centroid",
+            ...                                          maxdist=1.5)
+            >>> result                   #doctest: +NORMALIZE_WHITESPACE
+            [Centoid(2.500000, 2.500000),
+             Centoid(3.500000, 3.500000)]
+
+            >>> test_vect.find_by_point.geos(point=Point(20,20), maxdist=0)
+
+            >>> test_vect.close()
         """
         excl = Ilist(exclude) if exclude else Ilist([])
         found = Ilist()
@@ -111,61 +242,310 @@ class PointFinder(AbstractFinder):
                                        self.vtype[type], float(maxdist),
                                        int(not point.is2D),
                                        excl.c_ilist, found.c_ilist):
-            return [read_line(f_id, self.c_mapinfo, self.table, self.writable)
+            return [read_line(f_id, self.c_mapinfo, self.table, self.writeable)
                     for f_id in found]
-        else:
-            return []
+
 
     @must_be_open
     def area(self, point):
-        """Find the nearest area. Vect_find_area"""
+        """Find the nearest area around a specific point.
+
+            :param point: The point to search
+            :type point: grass.pygrass.vector.geometry.Point
+
+            :return: A grass.pygrass.vector.geometry.Area if found or None
+
+            This methods uses libvect.Vect_find_area()
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.geometry import Point
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            # Find AREAS
+            >>> points = (Point(0.5,0.5), Point(5,1), Point(7,1))
+            >>> result = []
+            >>> for point in points:
+            ...     area = test_vect.find_by_point.area(point)
+            ...     result.append(area)
+            >>> result
+            [Area(1), Area(2), Area(4)]
+            >>> for area in result:
+            ...     print(area.to_wkt())         #doctest: +NORMALIZE_WHITESPACE
+            POLYGON ((0.0000000000000000 0.0000000000000000,
+                      0.0000000000000000 4.0000000000000000,
+                      0.0000000000000000 4.0000000000000000,
+                      4.0000000000000000 4.0000000000000000,
+                      4.0000000000000000 4.0000000000000000,
+                      4.0000000000000000 0.0000000000000000,
+                      4.0000000000000000 0.0000000000000000,
+                      0.0000000000000000 0.0000000000000000),
+                     (1.0000000000000000 1.0000000000000000,
+                      3.0000000000000000 1.0000000000000000,
+                      3.0000000000000000 3.0000000000000000,
+                      1.0000000000000000 3.0000000000000000,
+                      1.0000000000000000 1.0000000000000000))
+            POLYGON ((4.0000000000000000 0.0000000000000000,
+                      4.0000000000000000 4.0000000000000000,
+                      4.0000000000000000 4.0000000000000000,
+                      6.0000000000000000 4.0000000000000000,
+                      6.0000000000000000 4.0000000000000000,
+                      6.0000000000000000 0.0000000000000000,
+                      6.0000000000000000 0.0000000000000000,
+                      4.0000000000000000 0.0000000000000000))
+            POLYGON ((6.0000000000000000 0.0000000000000000,
+                      6.0000000000000000 4.0000000000000000,
+                      6.0000000000000000 4.0000000000000000,
+                      8.0000000000000000 4.0000000000000000,
+                      8.0000000000000000 4.0000000000000000,
+                      8.0000000000000000 0.0000000000000000,
+                      8.0000000000000000 0.0000000000000000,
+                      6.0000000000000000 0.0000000000000000))
+
+            >>> test_vect.find_by_point.area(Point(20,20))
+
+            >>> test_vect.close()
+        """
         area_id = libvect.Vect_find_area(self.c_mapinfo, point.x, point.y)
         if area_id:
             return Area(v_id=area_id, c_mapinfo=self.c_mapinfo,
-                        table=self.table, writable=self.writable)
+                        table=self.table, writeable=self.writeable)
 
     @must_be_open
     def island(self, point):
-        """Find the nearest island. Vect_find_island"""
+        """Find the nearest island around a specific point.
+
+            :param point: The point to search
+            :type point: grass.pygrass.vector.geometry.Point
+
+            :return: A grass.pygrass.vector.geometry.Isle if found or None
+
+            This methods uses Vect_find_island.Vect_find_area()
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.geometry import Point
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            # Find ISLANDS
+            >>> points = (Point(2,2), Point(5,1))
+            >>> result = []
+            >>> for point in points:
+            ...     area = test_vect.find_by_point.island(point)
+            ...     result.append(area)
+            >>> result
+            [Isle(2), Isle(1)]
+            >>> for isle in result:
+            ...     print(isle.to_wkt())         #doctest: +NORMALIZE_WHITESPACE
+            Polygon((1.000000 1.000000, 3.000000 1.000000,
+                     3.000000 3.000000, 1.000000 3.000000, 1.000000 1.000000))
+            Polygon((0.000000 4.000000, 0.000000 0.000000, 4.000000 0.000000,
+                     6.000000 0.000000, 8.000000 0.000000, 8.000000 4.000000,
+                     6.000000 4.000000, 4.000000 4.000000, 0.000000 4.000000))
+
+            >>> test_vect.find_by_point.island(Point(20,20))
+
+            >>> test_vect.close()
+        """
         isle_id = libvect.Vect_find_island(self.c_mapinfo, point.x, point.y)
         if isle_id:
             return Isle(v_id=isle_id, c_mapinfo=self.c_mapinfo,
-                        table=self.table, writable=self.writable)
+                        table=self.table, writeable=self.writeable)
 
 
 class BboxFinder(AbstractFinder):
-    def __init__(self, c_mapinfo, table=None, writable=False):
-        super(BboxFinder, self).__init__(c_mapinfo, table, writable)
+    """Bounding Box finder
+
+    This class provides an interface to search geometry features
+    of a vector map that are inside or intersect a boundingbox.
+    The BboxFinder class is part of a topological vector map object.
+
+    """
+    def __init__(self, c_mapinfo, table=None, writeable=False):
+        """Find geometry feature(s)that are insider or intersect
+           with a boundingbox.
+
+            :param c_mapinfo: Pointer to the vector layer mapinfo structure
+            :type c_mapinfo: ctypes pointer to mapinfo structure
+
+            :param table: Attribute table of the vector layer
+            :type table: Class Table from grass.pygrass.table
+
+            :param writable: True or False
+            :type writeable: boolean
+        """
+        super(BboxFinder, self).__init__(c_mapinfo, table, writeable)
 
     @must_be_open
-    def geos(self, bbox, type='all', bbox_list=False):
-        """Find the geometry features contained in the bbox.
-        Vect_select_lines_by_box
+    def geos(self, bbox, type='all', bboxlist_only=False):
+        """Find vector features inside a boundingbox.
+
+            :param bbox: The boundingbox to search in
+            :type bbox: grass.pygrass.vector.basic.Bbox
+
+            :param type: The type of feature to search for
+                         Valid type are all the keys in find.vtype dictionary
+            :type type: string
+
+            :param bboxlist_only: If true the BoxList will be returned,
+                                  no features are generated
+            :type bboxlist_only: boolean
+
+            :return: A list of grass.pygrass.vector.geometry
+                     (Line, Point, Boundary, Centroid) if found,
+                     or None if nothing was found.
+                     If bboxlist_only is True a BoxList
+                     object will be returned, or None if nothing was found.
+
+            This methods uses libvect.Vect_select_lines_by_box()
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.basic import Bbox
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            >>> bbox = Bbox(north=5, south=-1, east=3, west=-1)
+            >>> result = test_vect.find_by_bbox.geos(bbox=bbox)
+            >>> [bbox for bbox in result] #doctest: +NORMALIZE_WHITESPACE
+            [Boundary([Point(4.000000, 0.000000), Point(0.000000, 0.000000)]),
+             Boundary([Point(0.000000, 0.000000), Point(0.000000, 4.000000)]),
+             Boundary([Point(0.000000, 4.000000), Point(4.000000, 4.000000)]),
+             Boundary([Point(1.000000, 1.000000), Point(1.000000, 3.000000),
+                       Point(3.000000, 3.000000), Point(3.000000, 1.000000),
+                       Point(1.000000, 1.000000)]),
+             Centoid(2.500000, 2.500000)]
+
+            >>> bbox = Bbox(north=5, south=-1, east=3, west=-1)
+            >>> result = test_vect.find_by_bbox.geos(bbox=bbox,
+            ...                                      bboxlist_only=True)
+            >>> result                   #doctest: +NORMALIZE_WHITESPACE
+            Boxlist([Bbox(0.0, 0.0, 4.0, 0.0),
+                     Bbox(4.0, 0.0, 0.0, 0.0),
+                     Bbox(4.0, 4.0, 4.0, 0.0),
+                     Bbox(3.0, 1.0, 3.0, 1.0),
+                     Bbox(2.5, 2.5, 2.5, 2.5)])
 
-        Valid type are all the keys in find.vtype dictionary
+            >>> bbox = Bbox(north=7, south=-1, east=15, west=9)
+            >>> result = test_vect.find_by_bbox.geos(bbox=bbox)
+            >>> [bbox for bbox in result] #doctest: +NORMALIZE_WHITESPACE
+            [Line([Point(10.000000, 4.000000), Point(10.000000, 2.000000),
+                   Point(10.000000, 0.000000)]),
+             Point(10.000000, 6.000000),
+             Line([Point(12.000000, 4.000000), Point(12.000000, 2.000000),
+                   Point(12.000000, 0.000000)]),
+             Point(12.000000, 6.000000),
+             Line([Point(14.000000, 4.000000), Point(14.000000, 2.000000),
+                   Point(14.000000, 0.000000)]),
+             Point(14.000000, 6.000000)]
+
+            >>> bbox = Bbox(north=20, south=18, east=20, west=18)
+            >>> test_vect.find_by_bbox.geos(bbox=bbox)
+
+            >>> bbox = Bbox(north=20, south=18, east=20, west=18)
+            >>> test_vect.find_by_bbox.geos(bbox=bbox, bboxlist_only=True)
+
+            >>> test_vect.close()
         """
         found = BoxList()
         if libvect.Vect_select_lines_by_box(self.c_mapinfo, bbox.c_bbox,
                                             self.vtype[type], found.c_boxlist):
-            if bbox_list:
+            if bboxlist_only:
                 return found
             else:
                 return (read_line(f_id, self.c_mapinfo, self.table,
-                                  self.writable) for f_id in found.ids)
+                                  self.writeable) for f_id in found.ids)
 
     @must_be_open
     def nodes(self, bbox):
-        """Find the nearest area. Vect_find_area"""
+        """Find nodes inside a boundingbox.
+
+            :param bbox: The boundingbox to search in
+            :type bbox: grass.pygrass.vector.basic.Bbox
+
+            :return: A list of nodes or None if nothing was found
+
+            This methods uses libvect.Vect_select_nodes_by_box()
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.basic import Bbox
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            # Find nodes in box
+            >>> bbox = Bbox(north=5, south=-1, east=15, west=9)
+            >>> result = test_vect.find_by_bbox.nodes(bbox=bbox)
+            >>> [node for node in result]
+            [Node(2), Node(1), Node(4), Node(3), Node(5), Node(6)]
+
+            >>> bbox = Bbox(north=20, south=18, east=20, west=18)
+            >>> test_vect.find_by_bbox.nodes(bbox=bbox)
+
+            >>> test_vect.close()
+        """
         found = Ilist()
         if libvect.Vect_select_nodes_by_box(self.c_mapinfo, bbox.c_bbox,
                                             found.c_ilist):
-            for n_id in found:
-                yield Node(v_id=n_id, c_mapinfo=self.c_mapinfo,
-                           table=self.table, writable=self.writable)
+            if len(found) > 0:
+                return (Node(v_id=n_id, c_mapinfo=self.c_mapinfo,
+                             table=self.table, writeable=self.writeable)
+                        for n_id in found)
 
     @must_be_open
     def areas(self, bbox, boxlist=None, bboxlist_only=False):
-        """Find the nearest area. Vect_find_area"""
+        """Find areas inside a boundingbox.
+
+            :param bbox: The boundingbox to search in
+            :type bbox: grass.pygrass.vector.basic.Bbox
+
+            :param boxlist: An existing BoxList to be filled with
+            :type_boxlist: grass.pygrass.vector.basic.BoxList
+
+            :param bboxlist_only: If true the BoxList will be returned,
+                                  no features are generated
+            :type bboxlist_only: boolean
+
+            :return: A list of areas or None if nothing was found
+
+            This methods uses libvect.Vect_select_areas_by_box()
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.basic import Bbox
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            # Find areas in box
+            >>> bbox = Bbox(north=5, south=-1, east=9, west=-1)
+            >>> result = test_vect.find_by_bbox.areas(bbox=bbox)
+            >>> [area for area in result]
+            [Area(1), Area(2), Area(3), Area(4)]
+
+            >>> bbox = Bbox(north=5, south=-1, east=9, west=-1)
+            >>> result = test_vect.find_by_bbox.areas(bbox=bbox,
+            ...                                       bboxlist_only=True)
+            >>> result                   #doctest: +NORMALIZE_WHITESPACE
+            Boxlist([Bbox(4.0, 0.0, 4.0, 0.0),
+                     Bbox(4.0, 0.0, 6.0, 4.0),
+                     Bbox(3.0, 1.0, 3.0, 1.0),
+                     Bbox(4.0, 0.0, 8.0, 6.0)])
+
+            >>> bbox = Bbox(north=20, south=18, east=20, west=18)
+            >>> test_vect.find_by_bbox.areas(bbox=bbox)
+
+            >>> test_vect.find_by_bbox.areas(bbox=bbox,
+            ...                              bboxlist_only=True)
+
+            >>> test_vect.close()
+        """
         boxlist = boxlist if boxlist else BoxList()
         if libvect.Vect_select_areas_by_box(self.c_mapinfo, bbox.c_bbox,
                                             boxlist.c_boxlist):
@@ -173,31 +553,83 @@ class BboxFinder(AbstractFinder):
                 return boxlist
             else:
                 return (Area(v_id=a_id, c_mapinfo=self.c_mapinfo,
-                             table=self.table, writable=self.writable)
+                             table=self.table, writeable=self.writeable)
                         for a_id in boxlist.ids)
-        return []
 
     @must_be_open
-    def islands(self, bbox, bbox_list=False):
-        """Find the nearest island. Vect_find_island"""
+    def islands(self, bbox, bboxlist_only=False):
+        """Find isles inside a boundingbox.
+
+            :param bbox: The boundingbox to search in
+            :type bbox: grass.pygrass.vector.basic.Bbox
+
+            :param bboxlist_only: If true the BoxList will be returned,
+                                  no features are generated
+            :type bboxlist_only: boolean
+
+            :return: A list of isles or None if nothing was found
+
+            This methods uses libvect.Vect_select_isles_by_box()
+
+            Examples:
+
+            >>> from grass.pygrass.vector import VectorTopo
+            >>> from grass.pygrass.vector.basic import Bbox
+            >>> test_vect = VectorTopo(test_vector_name)
+            >>> test_vect.open('r')
+
+            # Find isles in box
+            >>> bbox = Bbox(north=5, south=-1, east=9, west=-1)
+            >>> result = test_vect.find_by_bbox.islands(bbox=bbox)
+            >>> [isle for isle in result]
+            [Isle(1), Isle(2)]
+
+            >>> bbox = Bbox(north=5, south=-1, east=9, west=-1)
+            >>> result = test_vect.find_by_bbox.islands(bbox=bbox,
+            ...                                       bboxlist_only=True)
+            >>> result                   #doctest: +NORMALIZE_WHITESPACE
+            Boxlist([Bbox(4.0, 0.0, 8.0, 0.0),
+                     Bbox(3.0, 1.0, 3.0, 1.0)])
+
+            >>> bbox = Bbox(north=20, south=18, east=20, west=18)
+            >>> test_vect.find_by_bbox.islands(bbox=bbox)
+
+            >>> test_vect.find_by_bbox.islands(bbox=bbox,
+            ...                              bboxlist_only=True)
+
+            >>> test_vect.close()
+        """
         found = BoxList()
         if libvect.Vect_select_isles_by_box(self.c_mapinfo, bbox.c_bbox,
                                             found.c_boxlist):
-            if bbox_list:
+            if bboxlist_only:
                 return found
             else:
                 return (Isle(v_id=i_id, c_mapinfo=self.c_mapinfo,
-                             table=self.table, writable=self.writable)
+                             table=self.table, writeable=self.writeable)
                         for i_id in found.ids)
-        return []
 
 
 class PolygonFinder(AbstractFinder):
-    def __init__(self, c_mapinfo, table=None, writable=False):
-        super(PolygonFinder, self).__init__(c_mapinfo, table, writable)
+    def __init__(self, c_mapinfo, table=None, writeable=False):
+        super(PolygonFinder, self).__init__(c_mapinfo, table, writeable)
 
     def lines(self, polygon, isles=None):
         pass
 
     def areas(self, polygon, isles=None):
         pass
+
+
+if __name__ == "__main__":
+    import doctest
+    from grass.pygrass import utils
+    utils.create_test_vector_map(test_vector_name)
+    doctest.testmod()
+
+    """Remove the generated vector map, if exist"""
+    from grass.pygrass.utils import get_mapset_vector
+    from grass.script.core import run_command
+    mset = get_mapset_vector(test_vector_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='vector', name=test_vector_name)
diff --git a/lib/python/pygrass/vector/geometry.py b/lib/python/pygrass/vector/geometry.py
index 5f2f5bf..a2934c9 100644
--- a/lib/python/pygrass/vector/geometry.py
+++ b/lib/python/pygrass/vector/geometry.py
@@ -14,11 +14,13 @@ import numpy as np
 import grass.lib.gis as libgis
 import grass.lib.vector as libvect
 
-from grass.pygrass.errors import GrassError
+from grass.pygrass.errors import GrassError, mapinfo_must_be_set
 
 from grass.pygrass.vector.basic import Ilist, Bbox, Cats
 from grass.pygrass.vector import sql
 
+# For test purposes
+test_vector_name = "geometry_doctest_map"
 
 LineDist = namedtuple('LineDist', 'point dist spdist sldist')
 
@@ -133,12 +135,12 @@ def get_xyz(pnt):
 
 
 class Attrs(object):
-    def __init__(self, cat, table, writable=False):
+    def __init__(self, cat, table, writeable=False):
         self._cat = None
         self.cond = ''
         self.table = table
         self.cat = cat
-        self.writable = writable
+        self.writeable = writeable
 
     def _get_cat(self):
         return self._cat
@@ -152,51 +154,61 @@ class Attrs(object):
     cat = property(fget=_get_cat, fset=_set_cat,
                    doc="Set and obtain cat value")
 
-    def __getitem__(self, key):
+    def __getitem__(self, keys):
         """Return the value stored in the attribute table.
 
         >>> from grass.pygrass.vector import VectorTopo
-        >>> schools = VectorTopo('schools')
-        >>> schools.open('r')
-        >>> school = schools[1]
-        >>> attrs = Attrs(school.cat, schools.table)
-        >>> attrs['TAG']
-        u'568'
+        >>> test_vect = VectorTopo(test_vector_name)
+        >>> test_vect.open('r')
+        >>> v1 = test_vect[1]
+        >>> v1.attrs['name']
+        u'point'
+        >>> v1.attrs['name', 'value']
+        (u'point', 1.0)
+        >>> test_vect.close()
 
         """
-        #SELECT {cols} FROM {tname} WHERE {condition};
-        try:
-            cur = self.table.execute(sql.SELECT_WHERE.format(cols=key,
-                                                         tname=self.table.name,
-                                                         condition=self.cond))
-        except:
-            import ipdb; ipdb.set_trace()
+        sqlcode = sql.SELECT_WHERE.format(cols=(keys if np.isscalar(keys)
+                                                else ', '.join(keys)),
+                                          tname=self.table.name,
+                                          condition=self.cond)
+        cur = self.table.execute(sqlcode)
         results = cur.fetchone()
         if results is not None:
             return results[0] if len(results) == 1 else results
 
-    def __setitem__(self, key, value):
+    def __setitem__(self, keys, values):
         """Set value of a given column of a table attribute.
 
         >>> from grass.pygrass.vector import VectorTopo
-        >>> from grass.pygrass.utils import copy, remove
-        >>> copy('schools', 'myschools', 'vect')
-        >>> schools = VectorTopo('myschools')
-        >>> schools.open('r')
-        >>> school = schools[1]
-        >>> attrs = Attrs(school.cat, schools.table, True)
-        >>> attrs['TAG'] = 'New Label'
-        >>> attrs['TAG']
-        u'New Label'
-        >>> attrs.table.conn.close()
-        >>> remove('myschools','vect')
-        """
-        if self.writable:
-            #UPDATE {tname} SET {new_col} = {old_col} WHERE {condition}
-            values = '%s=%r' % (key, value)
-            self.table.execute(sql.UPDATE_WHERE.format(tname=self.table.name,
-                                                       values=values,
-                                                       condition=self.cond))
+        >>> test_vect = VectorTopo(test_vector_name)
+        >>> test_vect.open('r')
+        >>> v1 = test_vect[1]
+        >>> v1.attrs['name']
+        u'point'
+
+        >>> v1.attrs['name'] = "new_point_1"
+        >>> v1.attrs['name']
+        u'new_point_1'
+
+        >>> v1.attrs['name', 'value'] = "new_point_2", 100.
+        >>> v1.attrs['name', 'value']
+        (u'new_point_2', 100.0)
+        >>> v1.attrs['name', 'value'] = "point", 1.
+        >>> v1.attrs.table.conn.commit()
+        >>> test_vect.close()
+
+        """
+        if self.writeable:
+            if np.isscalar(keys):
+                keys, values = (keys, ), (values, )
+
+            vals = ','.join(['%s=%r' % (k, v) for k, v in zip(keys, values)])
+            # "UPDATE {tname} SET {values} WHERE {condition};"
+            sqlcode = sql.UPDATE_WHERE.format(tname=self.table.name,
+                                              values=vals,
+                                              condition=self.cond)
+            self.table.execute(sqlcode)
             #self.table.conn.commit()
         else:
             str_err = "You can only read the attributes if the map is in another mapset"
@@ -211,15 +223,14 @@ class Attrs(object):
 
     def values(self):
         """Return the values of the attribute table row.
+
            >>> from grass.pygrass.vector import VectorTopo
-           >>> schools = VectorTopo('schools')
-           >>> schools.open('r')
-           >>> school = schools[1]
-           >>> attrs = Attrs(school.cat, schools.table)
-           >>> attrs.values()       # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
-           (1,
-           ...
-           None)
+           >>> test_vect = VectorTopo(test_vector_name)
+           >>> test_vect.open('r')
+           >>> v1 = test_vect[1]
+           >>> v1.attrs.values()
+           (1, u'point', 1.0)
+            >>> test_vect.close()
 
         """
         #SELECT {cols} FROM {tname} WHERE {condition}
@@ -230,15 +241,15 @@ class Attrs(object):
 
     def keys(self):
         """Return the column name of the attribute table.
+
            >>> from grass.pygrass.vector import VectorTopo
-           >>> schools = VectorTopo('schools')
-           >>> schools.open('r')
-           >>> school = schools[1]
-           >>> attrs = Attrs(school.cat, schools.table)
-           >>> attrs.keys()         # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
-           [u'cat',
-           ...
-           u'NOTES']
+           >>> test_vect = VectorTopo(test_vector_name)
+           >>> test_vect.open('r')
+           >>> v1 = test_vect[1]
+           >>> v1.attrs.keys()
+           [u'cat', u'name', u'value']
+            >>> test_vect.close()
+
         """
         return self.table.columns.names()
 
@@ -249,54 +260,102 @@ class Attrs(object):
 
 class Geo(object):
     """
-    >>> geo0 = Geo()
-    >>> points = ctypes.pointer(libvect.line_pnts())
-    >>> cats = ctypes.pointer(libvect.line_cats())
-    >>> geo1 = Geo(c_points=points, c_cats=cats)
+    Base object for different feature types
     """
     gtype = None
 
     def __init__(self, v_id=0, c_mapinfo=None, c_points=None, c_cats=None,
-                 table=None, writable=False, is2D=True):
+                 table=None, writeable=False, is2D=True, free_points=False,
+                 free_cats=False):
+        """Constructor of a geometry object
+
+            :param v_id:      The vector feature id
+            :param c_mapinfo: A pointer to the vector mapinfo structure
+            :param c_points:  A pointer to a libvect.line_pnts structure, this
+                              is optional, if not set an internal structure will
+                              be allocated and free'd at object destruction
+            :param c_cats:    A pointer to a libvect.line_cats structure, this
+                              is optional, if not set an internal structure will
+                              be allocated and free'd at object destruction
+            :param table:     The attribute table to select attributes for
+                              this feature
+            :param writeable: Not sure what this is for?
+            :param is2D:      If True this feature has two dimensions, False if
+                              this feature has three dimensions
+            :param free_points: Set this True if the provided c_points structure
+                                should be free'd at object destruction, be aware
+                                that no other object should free them, otherwise
+                                you can expect a double free corruption segfault
+            :param free_cats:   Set this True if the provided c_cats structure
+                                should be free'd at object destruction, be aware
+                                that no other object should free them, otherwise
+                                you can expect a double free corruption segfault
+
+        """
         self.id = v_id  # vector id
         self.c_mapinfo = c_mapinfo
         self.is2D = (is2D if is2D is not None else
                      bool(libvect.Vect_is_3d(self.c_mapinfo) != 1))
 
+        # Set True if cats and points are allocated by this object
+        # to free the cats and points structures on destruction
+        self._free_points = False
+        self._free_cats = False
+
         read = False
         # set c_points
         if c_points is None:
             self.c_points = ctypes.pointer(libvect.line_pnts())
+            self._free_points = True
             read = True
         else:
             self.c_points = c_points
+            self._free_points = free_points
 
         # set c_cats
         if c_cats is None:
             self.c_cats = ctypes.pointer(libvect.line_cats())
+            self._free_cats = free_cats
             read = True
         else:
             self.c_cats = c_cats
-
-        # set the attributes
-        self.attrs = None
-        if table is not None:
-            self.attrs = Attrs(self.cat, table, writable)
+            self._free_cats = True
 
         if self.id and self.c_mapinfo is not None and read:
             self.read()
 
+        # set the attributes as last thing to do
+        self.attrs = None
+        if table is not None and self.cat is not None:
+            self.attrs = Attrs(self.cat, table, writeable)
+
+    def __del__(self):
+        """Take care of the allocated line_pnts and line_cats allocation
+        """
+        if self._free_points == True and self.c_points:
+            if self.c_points.contents.alloc_points > 0:
+                #print("G_free(points) [%i]"%(self.c_points.contents.alloc_points))
+                libgis.G_free(self.c_points.contents.x)
+                libgis.G_free(self.c_points.contents.y)
+                if self.c_points.contents.z:
+                    libgis.G_free(self.c_points.contents.z)
+        if self._free_cats == True and self.c_cats:
+            if self.c_cats.contents.alloc_cats > 0:
+                #print("G_free(cats) [%i]"%(self.c_cats.contents.alloc_cats))
+                libgis.G_free(self.c_cats.contents.cat)
+
     @property
     def cat(self):
         if self.c_cats.contents.cat:
             return self.c_cats.contents.cat.contents.value
 
-    def is_with_topology(self):
+    def has_topology(self):
         if self.c_mapinfo is not None:
             return self.c_mapinfo.contents.level == 2
         else:
             return False
 
+    @mapinfo_must_be_set
     def read(self):
         """Read and set the coordinates of the centroid from the vector map,
         using the centroid_id and calling the Vect_read_line C function"""
@@ -304,6 +363,29 @@ class Geo(object):
                                                        self.c_points,
                                                        self.c_cats)
 
+    def to_wkt(self):
+        """Return a "well know text" (WKT) geometry string, this method uses
+           the GEOS implementation in the vector library. ::
+
+            >>> pnt = Point(10, 100)
+            >>> pnt.to_wkt()
+            'POINT (10.0000000000000000 100.0000000000000000)'
+        """
+        return libvect.Vect_line_to_wkt(self.c_points, self.gtype, not self.is2D)
+
+    def to_wkb(self):
+        """Return a "well know binary" (WKB) geometry byte array, this method uses
+           the GEOS implementation in the vector library. ::
+
+            >>> pnt = Point(10, 100)
+            >>> wkb = pnt.to_wkb()
+            >>> len(wkb)
+            21
+        """
+        size = ctypes.c_size_t()
+        barray = libvect.Vect_line_to_wkb(self.c_points, self.gtype,
+                                          not self.is2D, ctypes.byref(size))
+        return(ctypes.string_at(barray, size.value))
 
 class Point(Geo):
     """Instantiate a Point object that could be 2 or 3D, default
@@ -327,7 +409,20 @@ class Point(Geo):
         >>> pnt
         Point(0.000000, 0.000000, 0.000000)
         >>> print(pnt)
-        POINT(0.000000 0.000000 0.000000)
+        POINT Z (0.0000000000000000 0.0000000000000000 0.0000000000000000)
+
+
+        >>> c_points = ctypes.pointer(libvect.line_pnts())
+        >>> c_cats = ctypes.pointer(libvect.line_cats())
+        >>> p = Point(c_points = c_points, c_cats=c_cats)
+        >>> del p
+
+
+        >>> c_points = ctypes.pointer(libvect.line_pnts())
+        >>> c_cats = ctypes.pointer(libvect.line_cats())
+        >>> p = Point(c_points=c_points, c_cats=c_cats, free_points=True,
+        ...           free_cats=True)
+        >>> del p
 
     ..
     """
@@ -378,7 +473,7 @@ class Point(Geo):
                  doc="Set and obtain z coordinate")
 
     def __str__(self):
-        return self.get_wkt()
+        return self.to_wkt()
 
     def __repr__(self):
         return "Point(%s)" % ', '.join(['%f' % coor for coor in self.coords()])
@@ -427,11 +522,11 @@ class Point(Geo):
         else:
             return self.x, self.y, self.z
 
-    def get_wkt(self):
-        """Return a "well know text" (WKT) geometry string. ::
+    def to_wkt_p(self):
+        """Return a "well know text" (WKT) geometry string Python implementation. ::
 
             >>> pnt = Point(10, 100)
-            >>> pnt.get_wkt()
+            >>> pnt.to_wkt_p()
             'POINT(10.000000 100.000000)'
 
         .. warning::
@@ -442,16 +537,6 @@ class Point(Geo):
         return "POINT(%s)" % ' '.join(['%f' % coord
                                       for coord in self.coords()])
 
-    def get_wkb(self):
-        """Return a "well know binary" (WKB) geometry buffer
-
-        .. warning::
-
-            Not implemented yet.
-
-        """
-        pass
-
     def distance(self, pnt):
         """Calculate distance of 2 points, using the Vect_points_distance
         C function, If one of the point have z == None, return the 2D distance.
@@ -499,13 +584,11 @@ class Point(Geo):
         :returns: the buffer as Area object
 
         >>> pnt = Point(0, 0)
-        >>> area = pnt.buffer(10)
-        >>> area.boundary                              #doctest: +ELLIPSIS
+        >>> boundary, centroid = pnt.buffer(10)
+        >>> boundary                              #doctest: +ELLIPSIS
         Line([Point(10.000000, 0.000000),...Point(10.000000, 0.000000)])
-        >>> area.centroid
+        >>> centroid
         Point(0.000000, 0.000000)
-        >>> area.isles
-        []
 
         """
         if dist is not None:
@@ -519,7 +602,7 @@ class Point(Geo):
                                    dist_x, dist_y,
                                    angle, int(round_), tol,
                                    p_points)
-        return Area(boundary=bound, centroid=self)
+        return (bound, self)
 
 
 class Line(Geo):
@@ -603,23 +686,23 @@ class Line(Geo):
         return self.c_points.contents.n_points
 
     def __str__(self):
-        return self.get_wkt()
+        return self.to_wkt()
 
     def __repr__(self):
         return "Line([%s])" % ', '.join([repr(pnt) for pnt in self.__iter__()])
 
-    def get_pnt(self, distance, angle=0, slope=0):
+    def point_on_line(self, distance, angle=0, slope=0):
         """Return a Point object on line in the specified distance, using the
         `Vect_point_on_line` C function.
         Raise a ValueError If the distance exceed the Line length. ::
 
             >>> line = Line([(0, 0), (1, 1)])
-            >>> line.get_pnt(5)      #doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
+            >>> line.point_on_line(5)      #doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
             Traceback (most recent call last):
                 ...
             ValueError: The distance exceed the length of the line,
             that is: 1.414214
-            >>> line.get_pnt(1)
+            >>> line.point_on_line(1)
             Point(0.707107, 0.707107)
 
         ..
@@ -639,6 +722,13 @@ class Line(Geo):
         pnt.is2D = self.is2D
         return pnt
 
+    @mapinfo_must_be_set
+    def alive(self):
+        """Return True if this line is alive or False if this line is
+           dead or its index is out of range.
+        """
+        return(bool(libvect.Vect_line_alive(self.c_mapinfo, self.id)))
+
     def append(self, pnt):
         """Appends one point to the end of a line, using the
         ``Vect_append_point`` C function.
@@ -802,7 +892,8 @@ class Line(Geo):
         point.is2D = self.is2D
         return LineDist(point, dist.value, sp_dist.value, lp_dist.value)
 
-    def get_first_cat(self):
+    @mapinfo_must_be_set
+    def first_cat(self):
         """Fetches FIRST category number for given vector line and field, using
         the ``Vect_get_line_cat`` C function.
 
@@ -811,7 +902,7 @@ class Line(Geo):
             Not implemented yet.
         """
         # TODO: add this method.
-        libvect.Vect_get_line_cat(self.map, self.id, self.field)
+        # libvect.Vect_get_line_cat(self.c_mapinfo, self.id, self.field)
         pass
 
     def pop(self, indx):
@@ -822,9 +913,9 @@ class Line(Geo):
 
             >>> line = Line([(0, 0), (1, 1), (2, 2)])
             >>> midle_pnt = line.pop(1)
-            >>> midle_pnt
+            >>> midle_pnt                #doctest: +NORMALIZE_WHITESPACE
             Point(1.000000, 1.000000)
-            >>> line
+            >>> line                     #doctest: +NORMALIZE_WHITESPACE
             Line([Point(0.000000, 0.000000), Point(2.000000, 2.000000)])
 
         """
@@ -843,7 +934,7 @@ class Line(Geo):
 
             >>> line = Line([(0, 0), (1, 1), (2, 2)])
             >>> line.delete(-1)
-            >>> line
+            >>> line                     #doctest: +NORMALIZE_WHITESPACE
             Line([Point(0.000000, 0.000000), Point(1.000000, 1.000000)])
 
         """
@@ -897,7 +988,7 @@ class Line(Geo):
 
             >>> line = Line([(0, 0), (1, 1), (2, 2)])
             >>> line.remove((2, 2))
-            >>> line[-1]
+            >>> line[-1]                     #doctest: +NORMALIZE_WHITESPACE
             Point(1.000000, 1.000000)
 
         ..
@@ -951,22 +1042,22 @@ class Line(Geo):
         libvect.Vect_line_segment(self.c_points, start, end, line.c_points)
         return line
 
-    def tolist(self):
+    def to_list(self):
         """Return a list of tuple. ::
 
             >>> line = Line([(0, 0), (1, 1), (2, 0), (1, -1)])
-            >>> line.tolist()
+            >>> line.to_list()
             [(0.0, 0.0), (1.0, 1.0), (2.0, 0.0), (1.0, -1.0)]
 
         ..
         """
         return [pnt.coords() for pnt in self.__iter__()]
 
-    def toarray(self):
+    def to_array(self):
         """Return an array of coordinates. ::
 
             >>> line = Line([(0, 0), (1, 1), (2, 0), (1, -1)])
-            >>> line.toarray()                 #doctest: +NORMALIZE_WHITESPACE
+            >>> line.to_array()                 #doctest: +NORMALIZE_WHITESPACE
             array([[ 0.,  0.],
                    [ 1.,  1.],
                    [ 2.,  0.],
@@ -974,13 +1065,13 @@ class Line(Geo):
 
         ..
         """
-        return np.array(self.tolist())
+        return np.array(self.to_list())
 
-    def get_wkt(self):
+    def to_wkt_p(self):
         """Return a Well Known Text string of the line. ::
 
             >>> line = Line([(0, 0), (1, 1), (1, 2)])
-            >>> line.get_wkt()                 #doctest: +ELLIPSIS
+            >>> line.to_wkt_p()                 #doctest: +ELLIPSIS
             'LINESTRING(0.000000 0.000000, ..., 1.000000 2.000000)'
 
         ..
@@ -1012,15 +1103,6 @@ class Line(Geo):
         else:
             return None
 
-    def get_wkb(self):
-        """Return a WKB buffer.
-
-        .. warning::
-
-            Not implemented yet.
-        """
-        pass
-
     def buffer(self, dist=None, dist_x=None, dist_y=None,
                angle=0, round_=True, caps=True, tol=0.1):
         """Return the buffer area around the line, using the
@@ -1042,12 +1124,12 @@ class Line(Geo):
         :returns: the buffer as Area object
 
         >>> line = Line([(0, 0), (0, 2)])
-        >>> area = line.buffer(10)
-        >>> area.boundary                              #doctest: +ELLIPSIS
+        >>> boundary, centroid, isles = line.buffer(10)
+        >>> boundary                              #doctest: +ELLIPSIS
         Line([Point(-10.000000, 0.000000),...Point(-10.000000, 0.000000)])
-        >>> area.centroid
+        >>> centroid                     #doctest: +NORMALIZE_WHITESPACE
         Point(0.000000, 0.000000)
-        >>> area.isles
+        >>> isles
         []
 
         ..
@@ -1065,10 +1147,10 @@ class Line(Geo):
                                   dist_x, dist_y, angle,
                                   int(round_), int(caps), tol,
                                   p_bound, pp_isle, n_isles)
-        return Area(boundary=Line(c_points=p_bound.contents),
-                    centroid=self[0],
-                    isles=[Line(c_points=pp_isle[i].contents)
-                           for i in range(n_isles.contents.value)])
+        boundary = Line(c_points=p_bound.contents)
+        isles = [Line(c_points=pp_isle[i].contents)
+                 for i in range(n_isles.contents.value) if pp_isle[i]]
+        return(boundary, self[0], isles)
 
     def reset(self):
         """Reset line, using `Vect_reset_line` C function. ::
@@ -1086,9 +1168,16 @@ class Line(Geo):
         """
         libvect.Vect_reset_line(self.c_points)
 
+    @mapinfo_must_be_set
     def nodes(self):
-        """Return the nodes in the line"""
-        if self.is_with_topology():
+        """Return the start and end nodes of the line
+
+           This method requires topology build.
+
+           return: A tuple of Node objects that represent the
+                   start and end point of this line.
+        """
+        if self.has_topology():
             n1 = ctypes.c_int()
             n2 = ctypes.c_int()
             libvect.Vect_get_line_nodes(self.c_mapinfo, self.id,
@@ -1099,9 +1188,30 @@ class Line(Geo):
 
 
 class Node(object):
-    def __init__(self, v_id, c_mapinfo):
+    """Node class for topological analysis of line neighbors.
+
+       Objects of this class will be returned by the node() function
+       of a Line object.
+
+       All methods in this class require a proper setup of the Node
+       objects. Hence, the correct id and a valid pointer to a mapinfo
+       object must be provided in the constructions. Otherwise a segfault
+       may happen.
+
+    """
+    def __init__(self, v_id, c_mapinfo, **kwords):
+        """Construct a Node object
+
+           param v_id: The unique node id
+           param c_mapinfo: A valid pointer to the mapinfo object
+           param **kwords: Ignored
+        """
         self.id = v_id  # vector id
         self.c_mapinfo = c_mapinfo
+        self._setup()
+
+    @mapinfo_must_be_set
+    def _setup(self):
         self.is2D = bool(libvect.Vect_is_3d(self.c_mapinfo) != 1)
         self.nlines = libvect.Vect_get_node_n_lines(self.c_mapinfo, self.id)
 
@@ -1114,6 +1224,14 @@ class Node(object):
     def __repr__(self):
         return "Node(%d)" % self.id
 
+    @mapinfo_must_be_set
+    def alive(self):
+        """Return True if this node is alive or False if this node is
+           dead or its index is out of range.
+        """
+        return(bool(libvect.Vect_node_alive(self.c_mapinfo, self.id)))
+
+    @mapinfo_must_be_set
     def coords(self):
         """Return a tuple with the node coordinates."""
         x = ctypes.c_double()
@@ -1123,6 +1241,19 @@ class Node(object):
                                    ctypes.byref(y), ctypes.byref(z))
         return (x.value, y.value) if self.is2D else (x.value, y.value, z.value)
 
+    def to_wkt(self):
+        """Return a "well know text" (WKT) geometry string. ::
+        """
+        return "POINT(%s)" % ' '.join(['%f' % coord
+                                      for coord in self.coords()])
+
+    def to_wkb(self):
+        """Return a "well know binary" (WKB) geometry array. ::
+
+           TODO: Must be implemented
+        """
+        raise Exception("Not implemented")
+
     def ilines(self, only_in=False, only_out=False):
         """Return a generator with all lines id connected to a node.
         The line id is negative if line is ending on the node and positive if
@@ -1138,6 +1269,7 @@ class Node(object):
             if (not only_in and lid > 0) or (not only_out and lid < 0):
                 yield lid
 
+    @mapinfo_must_be_set
     def lines(self, only_in=False, only_out=False):
         """Return a generator with all lines connected to a node.
 
@@ -1149,6 +1281,7 @@ class Node(object):
         for iline in self.ilines(only_in, only_out):
             yield Line(v_id=abs(iline), c_mapinfo=self.c_mapinfo)
 
+    @mapinfo_must_be_set
     def angles(self):
         """Return a generator with all lines angles in a node."""
         for iline in range(self.nlines):
@@ -1162,27 +1295,29 @@ class Boundary(Line):
     # geometry type
     gtype = libvect.GV_BOUNDARY
 
-    def __init__(self, lines=None, left=None, right=None,
-                 **kargs):
+    def __init__(self, **kargs):
+        super(Boundary, self).__init__(**kargs)
+
         v_id = kargs.get('v_id', 0)
         self.dir = libvect.GV_FORWARD if v_id > 0 else libvect.GV_BACKWARD
-        super(Boundary, self).__init__(**kargs)
         self.c_left = ctypes.pointer(ctypes.c_int())
         self.c_right = ctypes.pointer(ctypes.c_int())
-        #self.get_left_right()
 
     @property
-    def left_id(self):
+    def left_area_id(self):
+        """Left side area id, only available after read_area_ids() was called"""
         return self.c_left.contents.value
 
     @property
-    def right_id(self):
+    def right_area_id(self):
+        """Right side area id, only available after read_area_ids() was called"""
         return self.c_right.contents.value
 
     def __repr__(self):
-        return "Boundary(v_id=%r)" % self.id
+        return "Boundary([%s])" % ', '.join([repr(pnt) for pnt in self.__iter__()])
 
-    def _get_centroid(self, side, idonly=False):
+    @mapinfo_must_be_set
+    def _centroid(self, side, idonly=False):
         if side > 0:
             v_id = libvect.Vect_get_area_centroid(self.c_mapinfo, side)
             v_id = v_id if v_id else None
@@ -1192,24 +1327,25 @@ class Boundary(Line):
                 cntr = Centroid(v_id=v_id, c_mapinfo=self.c_mapinfo)
                 return cntr
 
-    def get_left_centroid(self, idonly=False):
-        """Return left value
+    def left_centroid(self, idonly=False):
+        """Return left centroid
 
         :param idonly: True to return only the cat of feature
         :type idonly: bool
         """
-        return self._get_centroid(self.left_id, idonly)
+        return self._centroid(self.c_left.contents.value, idonly)
 
-    def get_right_centroid(self, idonly=False):
-        """Return right value
+    def right_centroid(self, idonly=False):
+        """Return right centroid
 
         :param idonly: True to return only the cat of feature
         :type idonly: bool
         """
-        return self._get_centroid(self.left_id, idonly)
+        return self._centroid(self.c_right.contents.value, idonly)
 
-    def get_left_right(self):
-        """Return left and right value"""
+    @mapinfo_must_be_set
+    def read_area_ids(self):
+        """Read and return left and right area ids of the boundary"""
 
         libvect.Vect_get_line_areas(self.c_mapinfo, self.id,
                                     self.c_left, self.c_right)
@@ -1239,11 +1375,12 @@ class Centroid(Point):
         >>> centroid
         Centoid(0.000000, 10.000000)
         >>> from grass.pygrass.vector import VectorTopo
-        >>> geo = VectorTopo('geology')
-        >>> geo.open(mode='r')
-        >>> centroid = Centroid(v_id=1, c_mapinfo=geo.c_mapinfo)
+        >>> test_vect = VectorTopo(test_vector_name)
+        >>> test_vect.open(mode='r')
+        >>> centroid = Centroid(v_id=18, c_mapinfo=test_vect.c_mapinfo)
         >>> centroid
-        Centoid(893202.874416, 297339.312795)
+        Centoid(3.500000, 3.500000)
+        >>> test_vect.close()
 
     ..
     """
@@ -1254,9 +1391,9 @@ class Centroid(Point):
         super(Centroid, self).__init__(**kargs)
         self.area_id = area_id
         if self.id and self.c_mapinfo and self.area_id is None:
-            self.area_id = self.get_area_id()
+            self.area_id = self._area_id()
         elif self.c_mapinfo and self.area_id and self.id is None:
-            self.id = self.get_centroid_id()
+            self.id = self._centroid_id()
         if self.area_id is not None:
             self.read()
 
@@ -1265,7 +1402,8 @@ class Centroid(Point):
     def __repr__(self):
         return "Centoid(%s)" % ', '.join(['%f' % co for co in self.coords()])
 
-    def get_centroid_id(self):
+    @mapinfo_must_be_set
+    def _centroid_id(self):
         """Return the centroid_id, using the c_mapinfo and an area_id
         attributes of the class, and calling the Vect_get_area_centroid
         C function, if no centroid_id were found return None"""
@@ -1273,9 +1411,10 @@ class Centroid(Point):
                                                      self.area_id)
         return centroid_id if centroid_id != 0 else None
 
-    def get_area_id(self):
+    @mapinfo_must_be_set
+    def _area_id(self):
         """Return the area_id, using the c_mapinfo and an centroid_id
-        attributes of the class, and calling the Vect_get_centroid_area
+        attributes of the class, and calling the Vect_centroid_area
         C function, if no area_id were found return None"""
         area_id = libvect.Vect_get_centroid_area(self.c_mapinfo,
                                                  self.id)
@@ -1292,6 +1431,7 @@ class Isle(Geo):
     def __repr__(self):
         return "Isle(%d)" % (self.id)
 
+    @mapinfo_must_be_set
     def boundaries(self):
         """Return a list of boundaries"""
         ilist = Ilist()
@@ -1299,31 +1439,55 @@ class Isle(Geo):
                                          ilist.c_ilist)
         return ilist
 
+    @mapinfo_must_be_set
     def bbox(self, bbox=None):
         """Return bounding box of Isle"""
         bbox = bbox if bbox else Bbox()
         libvect.Vect_get_isle_box(self.c_mapinfo, self.id, bbox.c_bbox)
         return bbox
 
+    @mapinfo_must_be_set
     def points(self):
         """Return a Line object with the outer ring points"""
         line = Line()
         libvect.Vect_get_isle_points(self.c_mapinfo, self.id, line.c_points)
         return line
 
+    def to_wkt(self):
+        """Return a Well Known Text string of the isle. ::
+
+            For now the outer ring is returned
+
+            TODO: Implement inner rings detected from isles
+        """
+        line = self.points()
+
+        return "Polygon((%s))" % ', '.join([
+               ' '.join(['%f' % coord for coord in pnt])
+               for pnt in line.to_list()])
+
+    def to_wkb(self):
+        """Return a "well know text" (WKB) geometry array. ::
+        """
+        raise Exception("Not implemented")
+
+    @mapinfo_must_be_set
     def points_geos(self):
         """Return a Line object with the outer ring points
         """
         return libvect.Vect_get_isle_points_geos(self.c_mapinfo, self.id)
 
+    @mapinfo_must_be_set
     def area_id(self):
         """Returns area id for isle."""
         return libvect.Vect_get_isle_area(self.c_mapinfo, self.id)
 
+    @mapinfo_must_be_set
     def alive(self):
         """Check if isle is alive or dead (topology required)"""
         return bool(libvect.Vect_isle_alive(self.c_mapinfo, self.id))
 
+    @mapinfo_must_be_set
     def contain_pnt(self, pnt):
         """Check if point is in area.
 
@@ -1356,9 +1520,10 @@ class Isles(object):
         self._isles_id = None
         self._isles = None
         if area_id:
-            self._isles_id = self.get_isles_id()
-            self._isles = self.get_isles()
+            self._isles_id = self.isles_ids()
+            self._isles = self.isles()
 
+    @mapinfo_must_be_set
     def __len__(self):
         return libvect.Vect_get_area_num_isles(self.c_mapinfo, self.area_id)
 
@@ -1367,29 +1532,21 @@ class Isles(object):
 
     def __getitem__(self, key):
         if self._isles is None:
-            self.get_isles()
+            self.isles()
         return self._isles[key]
 
-    def get_isles_id(self):
+    @mapinfo_must_be_set
+    def isles_ids(self):
         """Return the id of isles"""
         return [libvect.Vect_get_area_isle(self.c_mapinfo, self.area_id, i)
                 for i in range(self.__len__())]
 
-    def get_isles(self):
+    @mapinfo_must_be_set
+    def isles(self):
         """Return isles"""
         return [Isle(v_id=isle_id, c_mapinfo=self.c_mapinfo)
                 for isle_id in self._isles_id]
 
-    def select_by_bbox(self, bbox):
-        """Vect_select_isles_by_box
-
-        .. warning::
-
-            Not implemented yet.
-
-        """
-        pass
-
 
 class Area(Geo):
     """
@@ -1397,7 +1554,7 @@ class Area(Geo):
     Vect_find_area,
     Vect_get_area_box,
     Vect_get_area_points_geos,
-    Vect_get_centroid_area,
+    Vect_centroid_area,
 
     Vect_get_isle_area,
     Vect_get_line_areas,
@@ -1415,34 +1572,23 @@ class Area(Geo):
     # geometry type
     gtype = libvect.GV_AREA
 
-    def __init__(self, boundary=None, centroid=None, isles=None, **kargs):
+    def __init__(self, **kargs):
         super(Area, self).__init__(**kargs)
-        self.boundary = None
-        self.centroid = None
-        self.isles = None
-        if boundary and centroid:
-            self.boundary = boundary
-            self.centroid = centroid
-            self.isles = isles if isles else []
 
         # set the attributes
-        if self.attrs and self.cat:
-            self.attrs.cat = self.cat
+        #if self.attrs and self.cat:
+        #    self.attrs.cat = self.cat
 
     def __repr__(self):
         return "Area(%d)" % self.id if self.id else "Area( )"
 
-    def init_from_id(self, area_id=None):
-        """Return an Area object"""
-        if area_id is None and self.id is None:
-            raise ValueError("You need to give or set the area_id")
-        self.id = area_id if area_id is not None else self.id
-        # get boundary
-        self.get_points()
-        # get isles
-        self.get_isles()
-
-    def get_points(self, line=None):
+    @property
+    def cat(self):
+        centroid = self.centroid()
+        return centroid.cat if centroid else None
+
+    @mapinfo_must_be_set
+    def points(self, line=None):
         """Return a Line object with the outer ring
 
         :param line: a Line object to fill with info from points of area
@@ -1452,7 +1598,8 @@ class Area(Geo):
         libvect.Vect_get_area_points(self.c_mapinfo, self.id, line.c_points)
         return line
 
-    def get_centroid(self, centroid=None):
+    @mapinfo_must_be_set
+    def centroid(self):
         """Return the centroid
 
         :param centroid: a Centroid object to fill with info from centroid of area
@@ -1460,34 +1607,35 @@ class Area(Geo):
         """
         centroid_id = libvect.Vect_get_area_centroid(self.c_mapinfo, self.id)
         if centroid_id:
-            if centroid:
-                centroid.id = centroid_id
-                centroid.read()
-                return centroid
             return Centroid(v_id=centroid_id, c_mapinfo=self.c_mapinfo,
                             area_id=self.id)
 
+    @mapinfo_must_be_set
     def num_isles(self):
         return libvect.Vect_get_area_num_isles(self.c_mapinfo, self.id)
 
-    def get_isles(self, isles=None):
-        """Instantiate the boundary attribute reading area_id"""
+    @mapinfo_must_be_set
+    def isles(self, isles=None):
+        """Return a list of islands located in this area"""
         if isles is not None:
             isles.area_id = self.id
             return isles
         return Isles(self.c_mapinfo, self.id)
 
+    @mapinfo_must_be_set
     def area(self):
         """Returns area of area without areas of isles.
         double Vect_get_area_area (const struct Map_info \*Map, int area)
         """
         return libvect.Vect_get_area_area(self.c_mapinfo, self.id)
 
+    @mapinfo_must_be_set
     def alive(self):
         """Check if area is alive or dead (topology required)
         """
         return bool(libvect.Vect_area_alive(self.c_mapinfo, self.id))
 
+    @mapinfo_must_be_set
     def bbox(self, bbox=None):
         """Return the Bbox of area
 
@@ -1498,6 +1646,7 @@ class Area(Geo):
         libvect.Vect_get_area_box(self.c_mapinfo, self.id, bbox.c_bbox)
         return bbox
 
+    @mapinfo_must_be_set
     def buffer(self, dist=None, dist_x=None, dist_y=None,
                angle=0, round_=True, caps=True, tol=0.1):
         """Return the buffer area around the area, using the
@@ -1516,9 +1665,10 @@ class Area(Geo):
         :param tol: fix the maximum distance between theoretical arc and
                     output segments
         :type tol: float
-        :returns: the buffer as Area object
+        :returns: the buffer as line, centroid, isles object tuple
 
         """
+
         if dist is not None:
             dist_x = dist
             dist_y = dist
@@ -1532,11 +1682,12 @@ class Area(Geo):
                                   dist_x, dist_y, angle,
                                   int(round_), int(caps), tol,
                                   p_bound, pp_isle, n_isles)
-        return Area(boundary=Line(c_points=p_bound.contents),
-                    centroid=self.centroid,
-                    isles=[Line(c_points=pp_isle[i].contents)
-                           for i in range(n_isles.contents.value)])
+        return (Line(c_points=p_bound.contents),
+                self.centroid,
+                [Line(c_points=pp_isle[i].contents)
+                 for i in range(n_isles.contents.value)])
 
+    @mapinfo_must_be_set
     def boundaries(self, ilist=False):
         """Creates list of boundaries for given area.
 
@@ -1550,6 +1701,22 @@ class Area(Geo):
             return ilist
         return [Boundary(v_id=abs(v_id), c_mapinfo=self.c_mapinfo) for v_id in ilst]
 
+    def to_wkt(self):
+        """Return a "well know text" (WKT) area string, this method uses
+           the GEOS implementation in the vector library. ::
+        """
+        return libvect.Vect_read_area_to_wkt(self.c_mapinfo, self.id)
+
+    def to_wkb(self):
+        """Return a "well know binary" (WKB) area byte array, this method uses
+           the GEOS implementation in the vector library. ::
+        """
+        size = ctypes.c_size_t()
+        barray = libvect.Vect_read_area_to_wkb(self.c_mapinfo, self.id,
+                                              ctypes.byref(size))
+        return(ctypes.string_at(barray, size.value))
+
+    @mapinfo_must_be_set
     def cats(self, cats=None):
         """Get area categories.
 
@@ -1564,38 +1731,37 @@ class Area(Geo):
         """Find FIRST category of given field and area.
 
         int Vect_get_area_cat(const struct Map_info \*Map, int area, int field)
+
+        ..warning: Not implemented
         """
         pass
 
-    def contain_pnt(self, pnt, bbox=None):
+    @mapinfo_must_be_set
+    def contains_point(self, point, bbox=None):
         """Check if point is in area.
 
-        :param pnt: the point to analyze
-        :type pnt: a Point object or a tuple with the coordinates
+        :param point: the point to analyze
+        :type point: a Point object or a tuple with the coordinates
         :param bbox: the bounding box where run the analysis
         :type bbox: a Bbox object
         """
         bbox = bbox if bbox else self.bbox()
-        return bool(libvect.Vect_point_in_area(pnt.x, pnt.y,
+        return bool(libvect.Vect_point_in_area(point.x, point.y,
                                                self.c_mapinfo, self.id,
                                                bbox.c_bbox))
 
+    @mapinfo_must_be_set
     def perimeter(self):
         """Calculate area perimeter.
 
         :return: double Vect_area_perimeter (const struct line_pnts \*Points)
 
         """
-        border = self.get_points()
+        border = self.points()
         return libvect.Vect_line_geodesic_length(border.c_points)
 
-    def read(self, line=None, centroid=None, isles=None):
-        self.boundary = self.get_points(line)
-        self.centroid = self.get_centroid(centroid)
-        #self.isles = self.get_isles(isles)
-        if self.centroid:
-            libvect.Vect_read_line(self.c_mapinfo, None, self.c_cats,
-                                   self.centroid.id)
+    def read(self):
+        pass
 
 
 #
@@ -1615,6 +1781,7 @@ GEOOBJ = {"areas": Area,
           "dblinks": None,
           "faces": None,
           "holes": None,
+          "boundaries": Boundary,
           "islands": Isle,
           "kernels": None,
           "line_points": None,
@@ -1635,16 +1802,27 @@ def c_read_next_line(c_mapinfo, c_points, c_cats):
     return ftype, v_id, c_points, c_cats
 
 
-def read_next_line(c_mapinfo, table=None, writable=False,
+def read_next_line(c_mapinfo, table=None, writeable=False,
                    c_points=None, c_cats=None, is2D=True):
     """Return the next geometry feature of a vector map."""
+
+    # Take care of good memory management
+    free_points = False
+    if c_points == None:
+        free_points = True
+
+    free_cats = False
+    if c_cats == None:
+        free_cats = True
+
     c_points = c_points if c_points else ctypes.pointer(libvect.line_pnts())
     c_cats = c_cats if c_cats else ctypes.pointer(libvect.line_cats())
     ftype, v_id, c_points, c_cats = c_read_next_line(c_mapinfo, c_points,
                                                      c_cats)
     return GV_TYPE[ftype]['obj'](v_id=v_id, c_mapinfo=c_mapinfo,
                                  c_points=c_points, c_cats=c_cats,
-                                 table=table, writable=writable, is2D=is2D)
+                                 table=table, writeable=writeable, is2D=is2D,
+                                 free_points=free_points, free_cats=free_cats)
 
 
 def c_read_line(feature_id, c_mapinfo, c_points, c_cats):
@@ -1660,10 +1838,19 @@ def c_read_line(feature_id, c_mapinfo, c_points, c_cats):
         raise ValueError('The index must be >0, %r given.' % feature_id)
 
 
-def read_line(feature_id, c_mapinfo, table=None, writable=False,
+def read_line(feature_id, c_mapinfo, table=None, writeable=False,
               c_points=None, c_cats=None, is2D=True):
     """Return a geometry object given the feature id and the c_mapinfo.
     """
+    # Take care of good memory management
+    free_points = False
+    if c_points == None:
+        free_points = True
+
+    free_cats = False
+    if c_cats == None:
+        free_cats = True
+
     c_points = c_points if c_points else ctypes.pointer(libvect.line_pnts())
     c_cats = c_cats if c_cats else ctypes.pointer(libvect.line_cats())
     feature_id, ftype, c_points, c_cats = c_read_line(feature_id, c_mapinfo,
@@ -1671,7 +1858,21 @@ def read_line(feature_id, c_mapinfo, table=None, writable=False,
     if GV_TYPE[ftype]['obj'] is not None:
         return GV_TYPE[ftype]['obj'](v_id=feature_id, c_mapinfo=c_mapinfo,
                                      c_points=c_points, c_cats=c_cats,
-                                     table=table, writable=writable, is2D=is2D)
-
-
+                                     table=table, writeable=writeable, is2D=is2D,
+                                     free_points=free_points,
+                                     free_cats=free_cats)
+
+if __name__ == "__main__":
+    import doctest
+    from grass.pygrass import utils
+    utils.create_test_vector_map(test_vector_name)
+    doctest.testmod()
+
+
+    """Remove the generated vector map, if exist"""
+    from grass.pygrass.utils import get_mapset_vector
+    from grass.script.core import run_command
+    mset = get_mapset_vector(test_vector_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='vector', name=test_vector_name)
 
diff --git a/lib/python/pygrass/vector/table.py b/lib/python/pygrass/vector/table.py
index 926bd30..d2eb208 100644
--- a/lib/python/pygrass/vector/table.py
+++ b/lib/python/pygrass/vector/table.py
@@ -31,6 +31,9 @@ from grass.script.core import warning
 
 from grass.pygrass.vector import sql
 
+# For test purposes
+test_vector_name = "table_doctest_map"
+
 DRIVERS = ('sqlite', 'pg')
 
 
@@ -44,8 +47,9 @@ def get_path(path):
     >>> import os
     >>> new_path2 = os.path.join(gisenv()['GISDBASE'], gisenv()['LOCATION_NAME'],
     ...                          gisenv()['MAPSET'], 'sqlite', 'sqlite.db')
-    >>> new_path == new_path2
+    >>> new_path.replace("//","/") == new_path2.replace("//","/")
     True
+
     """
     if "$" not in path:
         return path
@@ -164,19 +168,19 @@ class Columns(object):
     For a sqlite table:
 
     >>> import sqlite3
-    >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-    >>> cols_sqlite = Columns('census',
+    >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
+    >>> cols_sqlite = Columns(test_vector_name,
     ...                       sqlite3.connect(get_path(path)))
     >>> cols_sqlite.tname
-    u'census'
+    u'table_doctest_map'
 
     For a postgreSQL table:
 
     >>> import psycopg2 as pg                              #doctest: +SKIP
-    >>> cols_pg = Columns('boundary_municp_pg',
+    >>> cols_pg = Columns(test_vector_name,
     ...                   pg.connect('host=localhost dbname=grassdb')) #doctest: +SKIP
     >>> cols_pg.tname #doctest: +SKIP
-    'boundary_municp_pg'                                   #doctest: +SKIP
+    'table_doctest_map'                                   #doctest: +SKIP
 
     """
     def __init__(self, tname, connection, key='cat'):
@@ -209,15 +213,12 @@ class Columns(object):
         """Return True if two table have the same columns.
 
         >>> import sqlite3
-        >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
+        >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
         >>> connection = sqlite3.connect(get_path(path))
-        >>> cols0 = Columns('census', connection)
-        >>> cols1 = Columns('census', connection)
-        >>> cols2 = Columns('hospitals', connection)
+        >>> cols0 = Columns(test_vector_name, connection)
+        >>> cols1 = Columns(test_vector_name, connection)
         >>> cols0 == cols1
         True
-        >>> cols1 == cols2
-        False
         """
         return obj.tname == self.tname and obj.odict == self.odict
 
@@ -231,13 +232,13 @@ class Columns(object):
         """Return True if is a psycopg connection.
 
         >>> import sqlite3
-        >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-        >>> cols_sqlite = Columns('census',
+        >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
+        >>> cols_sqlite = Columns(test_vector_name,
         ...                       sqlite3.connect(get_path(path)))
         >>> cols_sqlite.is_pg()
         False
         >>> import psycopg2 as pg #doctest: +SKIP
-        >>> cols_pg = Columns('boundary_municp_pg',
+        >>> cols_pg = Columns(test_vector_name,
         ...                   pg.connect('host=localhost dbname=grassdb')) #doctest: +SKIP
         >>> cols_pg.is_pg() #doctest: +SKIP
         True
@@ -287,16 +288,16 @@ class Columns(object):
         Remove it is used to remove a columns.
 
         >>> import sqlite3
-        >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-        >>> cols_sqlite = Columns('census',
+        >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
+        >>> cols_sqlite = Columns(test_vector_name,
         ...                       sqlite3.connect(get_path(path)))
         >>> cols_sqlite.sql_descr()                   # doctest: +ELLIPSIS
-        u'cat integer, OBJECTID integer, AREA double precision, ...'
+        u'cat INTEGER, name varchar(50), value double precision'
         >>> import psycopg2 as pg                         # doctest: +SKIP
-        >>> cols_pg = Columns('boundary_municp_pg',
+        >>> cols_pg = Columns(test_vector_name,
         ...                   pg.connect('host=localhost dbname=grassdb')) # doctest: +SKIP
         >>> cols_pg.sql_descr()                 # doctest: +ELLIPSIS +SKIP
-        'cat int4, objectid int4, area float8, perimeter float8, ...'
+        u'cat INTEGER, name varchar(50), value double precision'
         """
         if remove:
             return ', '.join(['%s %s' % (key, val) for key, val in self.items()
@@ -309,16 +310,16 @@ class Columns(object):
         """Return a list with the column types.
 
         >>> import sqlite3
-        >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-        >>> cols_sqlite = Columns('census',
+        >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
+        >>> cols_sqlite = Columns(test_vector_name,
         ...                       sqlite3.connect(get_path(path)))
         >>> cols_sqlite.types()                       # doctest: +ELLIPSIS
-        [u'integer', u'integer', ...]
+        [u'INTEGER', u'varchar(50)', u'double precision']
         >>> import psycopg2 as pg                         # doctest: +SKIP
-        >>> cols_pg = Columns('boundary_municp_pg',
+        >>> cols_pg = Columns(test_vector_name,
         ...                   pg.connect('host=localhost dbname=grassdb')) # doctest: +SKIP
         >>> cols_pg.types()                     # doctest: +ELLIPSIS +SKIP
-        ['int4', 'int4', 'float8', 'float8', 'float8', ...]
+        [u'INTEGER', u'varchar(50)', u'double precision']
 
         """
         return self.odict.values()
@@ -328,16 +329,16 @@ class Columns(object):
         Remove it is used to remove a columns.
 
         >>> import sqlite3
-        >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-        >>> cols_sqlite = Columns('census',
+        >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
+        >>> cols_sqlite = Columns(test_vector_name,
         ...                       sqlite3.connect(get_path(path)))
         >>> cols_sqlite.names()                      # doctest: +ELLIPSIS
-        [u'cat', u'OBJECTID', u'AREA', u'PERIMETER', ...]
+        [u'cat', u'name', u'value']
         >>> import psycopg2 as pg                         # doctest: +SKIP
-        >>> cols_pg = Columns('boundary_municp_pg',       # doctest: +SKIP
+        >>> cols_pg = Columns(test_vector_name,       # doctest: +SKIP
         ...                   pg.connect('host=localhost dbname=grassdb'))
         >>> cols_pg.names()                     # doctest: +ELLIPSIS +SKIP
-        ['cat', 'objectid', 'area', 'perimeter', ...]
+        [u'cat', u'name', u'value']
 
         """
         if remove:
@@ -354,16 +355,16 @@ class Columns(object):
         """Return a list of tuple with column name and column type.
 
         >>> import sqlite3
-        >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-        >>> cols_sqlite = Columns('census',
+        >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
+        >>> cols_sqlite = Columns(test_vector_name,
         ...                       sqlite3.connect(get_path(path)))
         >>> cols_sqlite.items()                       # doctest: +ELLIPSIS
-        [(u'cat', u'integer'), ...]
+        [(u'cat', u'INTEGER'), (u'name', u'varchar(50)'), (u'value', u'double precision')]
         >>> import psycopg2 as pg                         # doctest: +SKIP
-        >>> cols_pg = Columns('boundary_municp_pg',
+        >>> cols_pg = Columns(test_vector_name,
         ...                   pg.connect('host=localhost dbname=grassdb')) # doctest: +SKIP
         >>> cols_pg.items()                     # doctest: +ELLIPSIS +SKIP
-        [('cat', 'int4'), ('objectid', 'int4'), ('area', 'float8'), ...]
+        [(u'cat', u'INTEGER'), (u'name', u'varchar(50)'), (u'value', u'double precision')]
 
         """
         return self.odict.items()
@@ -379,7 +380,7 @@ class Columns(object):
         >>> import sqlite3
         >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
         >>> from grass.pygrass.utils import copy, remove
-        >>> copy('census','mycensus','vect')
+        >>> copy(test_vector_name,'mycensus','vect')
         >>> cols_sqlite = Columns('mycensus',
         ...                       sqlite3.connect(get_path(path)))
         >>> cols_sqlite.add(['n_pizza'], ['INT'])
@@ -433,7 +434,7 @@ class Columns(object):
         >>> import sqlite3
         >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
         >>> from grass.pygrass.utils import copy, remove
-        >>> copy('census','mycensus','vect')
+        >>> copy(test_vector_name,'mycensus','vect')
         >>> cols_sqlite = Columns('mycensus',
         ...                       sqlite3.connect(get_path(path)))
         >>> cols_sqlite.add(['n_pizza'], ['INT'])
@@ -446,7 +447,7 @@ class Columns(object):
         True
 
         >>> import psycopg2 as pg                         # doctest: +SKIP
-        >>> cols_pg = Columns('boundary_municp_pg',
+        >>> cols_pg = Columns(test_vector_name,
         ...                   pg.connect('host=localhost dbname=grassdb')) # doctest: +SKIP
         >>> cols_pg.rename('n_pizza', 'n_pizzas')         # doctest: +SKIP
         >>> 'n_pizza' in cols_pg                          # doctest: +SKIP
@@ -487,7 +488,7 @@ class Columns(object):
         >>> import sqlite3
         >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
         >>> from grass.pygrass.utils import copy, remove
-        >>> copy('census','mycensus','vect')
+        >>> copy(test_vector_name,'mycensus','vect')
         >>> cols_sqlite = Columns('mycensus',
         ...                       sqlite3.connect(get_path(path)))
         >>> cols_sqlite.add(['n_pizzas'], ['INT'])
@@ -496,7 +497,7 @@ class Columns(object):
           ...
         DBError: SQLite does not support to cast columns.
         >>> import psycopg2 as pg                         # doctest: +SKIP
-        >>> cols_pg = Columns('boundary_municp_pg',
+        >>> cols_pg = Columns(test_vector_name,
         ...                   pg.connect('host=localhost dbname=grassdb')) # doctest: +SKIP
         >>> cols_pg.cast('n_pizzas', 'float8')            # doctest: +SKIP
         >>> cols_pg['n_pizzas']                           # doctest: +SKIP
@@ -528,18 +529,18 @@ class Columns(object):
         >>> import sqlite3
         >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
         >>> from grass.pygrass.utils import copy, remove
-        >>> copy('census','mycensus','vect')
+        >>> copy(test_vector_name,'mycensus','vect')
         >>> cols_sqlite = Columns('mycensus',
         ...                       sqlite3.connect(get_path(path)))
-        >>> cols_sqlite.drop('CHILD')                 # doctest: +ELLIPSIS
-        >>> 'CHILD' in cols_sqlite
+        >>> cols_sqlite.drop('name')                 # doctest: +ELLIPSIS
+        >>> 'name' in cols_sqlite
         False
 
         >>> import psycopg2 as pg                         # doctest: +SKIP
-        >>> cols_pg = Columns('boundary_municp_pg',
+        >>> cols_pg = Columns(test_vector_name,
         ...                   pg.connect('host=localhost dbname=grassdb')) # doctest: +SKIP
-        >>> cols_pg.drop('CHILD') # doctest: +SKIP
-        >>> 'CHILD' in cols_pg # doctest: +SKIP
+        >>> cols_pg.drop('name') # doctest: +SKIP
+        >>> 'name' in cols_pg # doctest: +SKIP
         False
         >>> remove('mycensus','vect')
 
@@ -568,18 +569,18 @@ class Link(object):
     It is possible to define a Link object or given all the information
     (layer, name, table name, key, database, driver):
 
-    >>> link = Link(1, 'link0', 'census', 'cat',
-    ...             '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db', 'sqlite')
+    >>> link = Link(1, 'link0', test_vector_name, 'cat',
+    ...             '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db', 'sqlite')
     >>> link.layer
     1
     >>> link.name
     'link0'
     >>> link.table_name
-    'census'
+    'table_doctest_map'
     >>> link.key
     'cat'
     >>> link.database
-    '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
+    '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
     >>> link.driver
     'sqlite'
     >>> link
@@ -690,11 +691,11 @@ class Link(object):
     def __eq__(self, link):
         """Return True if two Link instance have the same parameters.
 
-        >>> l0 = Link(1, 'link0', 'census', 'cat',
-        ...           '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db', 'sqlite')
-        >>> l1 = Link(1, 'link0', 'census', 'cat',
-        ...           '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db', 'sqlite')
-        >>> l2 = Link(2, 'link0', 'census', 'cat',
+        >>> l0 = Link(1, 'link0', test_vector_name, 'cat',
+        ...           '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db', 'sqlite')
+        >>> l1 = Link(1, 'link0', test_vector_name, 'cat',
+        ...           '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db', 'sqlite')
+        >>> l2 = Link(2, 'link0', test_vector_name, 'cat',
         ...           '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db', 'sqlite')
         >>> l0 == l1
         True
@@ -716,16 +717,18 @@ class Link(object):
     def connection(self):
         """Return a connection object.
 
-        >>> link = Link(1, 'link0', 'census', 'cat',
-        ...             '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db',
+        >>> link = Link(1, 'link0', test_vector_name, 'cat',
+        ...             '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db',
         ...             'sqlite')
         >>> conn = link.connection()
         >>> cur = conn.cursor()
-        >>> cur.execute("SELECT cat,TOTAL_POP,PERIMETER FROM %s" %
+        >>> link.table_name
+        'table_doctest_map'
+        >>> cur.execute("SELECT cat, name, value from %s" %
         ...             link.table_name)              # doctest: +ELLIPSIS
         <sqlite3.Cursor object at ...>
-        >>> cur.fetchone()
-        (1, 44, 757.669)
+        >>> cur.fetchone()     #doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
+        (1, u'point', 1.0)
         >>> cur.close()
         >>> conn.close()
 
@@ -759,15 +762,15 @@ class Link(object):
     def table(self):
         """Return a Table object.
 
-        >>> link = Link(1, 'link0', 'census', 'cat',
-        ...             '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db',
+        >>> link = Link(1, 'link0', test_vector_name, 'cat',
+        ...             '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db',
         ...             'sqlite')
         >>> table = link.table()
-        >>> table.filters.select('cat', 'TOTAL_POP', 'PERIMETER')
-        Filters(u'SELECT cat, TOTAL_POP, PERIMETER FROM census;')
+        >>> table.filters.select('cat', 'name', 'value')
+        Filters(u'SELECT cat, name, value FROM table_doctest_map;')
         >>> cur = table.execute()
         >>> cur.fetchone()
-        (1, 44, 757.669)
+        (1, u'point', 1.0)
         >>> cur.close()
 
         """
@@ -776,15 +779,15 @@ class Link(object):
     def info(self):
         """Print information of the link.
 
-        >>> link = Link(1, 'link0', 'census', 'cat',
-        ...             '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db',
+        >>> link = Link(1, 'link0', test_vector_name, 'cat',
+        ...             '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db',
         ...             'sqlite')
         >>> link.info()
         layer:     1
         name:      link0
-        table:     census
+        table:     table_doctest_map
         key:       cat
-        database:  $GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db
+        database:  $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
         driver:    sqlite
 
         """
@@ -800,15 +803,15 @@ class DBlinks(object):
     """Interface containing link to the table DB.
 
     >>> from grass.pygrass.vector import VectorTopo
-    >>> cens = VectorTopo('census')
+    >>> cens = VectorTopo(test_vector_name)
     >>> cens.open(mode='r')
     >>> dblinks = DBlinks(cens.c_mapinfo)
     >>> dblinks
-    DBlinks([Link(1, census, sqlite)])
+    DBlinks([Link(1, table_doctest_map, sqlite)])
     >>> dblinks[0]
-    Link(1, census, sqlite)
-    >>> dblinks['census']
-    Link(1, census, sqlite)
+    Link(1, table_doctest_map, sqlite)
+    >>> dblinks[test_vector_name]
+    Link(1, table_doctest_map, sqlite)
     >>> cens.close()
 
     """
@@ -879,16 +882,16 @@ class DBlinks(object):
        :type link: a Link object
 
         >>> from grass.pygrass.vector import VectorTopo
-        >>> municip = VectorTopo('census')
-        >>> municip.open(mode='r')
-        >>> dblinks = DBlinks(municip.c_mapinfo)
+        >>> test_vect = VectorTopo(test_vector_name)
+        >>> test_vect.open(mode='r')
+        >>> dblinks = DBlinks(test_vect.c_mapinfo)
         >>> dblinks
-        DBlinks([Link(1, census, sqlite)])
-        >>> link = Link(2, 'pg_link', 'boundary_municp_pg', 'cat',
+        DBlinks([Link(1, table_doctest_map, sqlite)])
+        >>> link = Link(2, 'pg_link', test_vector_name, 'cat',
         ...             'host=localhost dbname=grassdb', 'pg') # doctest: +SKIP
         >>> dblinks.add(link)                             # doctest: +SKIP
         >>> dblinks                                       # doctest: +SKIP
-        DBlinks([Link(1, boundary_municp, sqlite)])
+        DBlinks([Link(1, table_doctest_map, sqlite)])
 
         """
         #TODO: check if open in write mode or not.
@@ -906,14 +909,14 @@ class DBlinks(object):
         :type force: boole
 
         >>> from grass.pygrass.vector import VectorTopo
-        >>> municip = VectorTopo('census')
-        >>> municip.open(mode='r')
-        >>> dblinks = DBlinks(municip.c_mapinfo)
+        >>> test_vect = VectorTopo(test_vector_name)
+        >>> test_vect.open(mode='r')
+        >>> dblinks = DBlinks(test_vect.c_mapinfo)
         >>> dblinks
-        DBlinks([Link(1, census, sqlite)])
+        DBlinks([Link(1, table_doctest_map, sqlite)])
         >>> dblinks.remove('pg_link')                     # doctest: +SKIP
         >>> dblinks  # need to open vector map in write mode
-        DBlinks([Link(1, census, sqlite)])
+        DBlinks([Link(1, table_doctest_map, sqlite)])
 
 
         """
@@ -937,12 +940,12 @@ class Table(object):
 
     >>> import sqlite3
     >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-    >>> tab_sqlite = Table(name='census',
+    >>> tab_sqlite = Table(name=test_vector_name,
     ...                    connection=sqlite3.connect(get_path(path)))
     >>> tab_sqlite.name
-    u'census'
+    u'table_doctest_map'
     >>> import psycopg2                                   # doctest: +SKIP
-    >>> tab_pg = Table('boundary_municp_pg',
+    >>> tab_pg = Table(test_vector_name,
     ...                psycopg2.connect('host=localhost dbname=grassdb',
     ...                                 'pg'))            # doctest: +SKIP
     >>> tab_pg.columns                          # doctest: +ELLIPSIS +SKIP
@@ -983,10 +986,10 @@ class Table(object):
 
         >>> import sqlite3
         >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-        >>> tab_sqlite = Table(name='census',
+        >>> tab_sqlite = Table(name=test_vector_name,
         ...                    connection=sqlite3.connect(get_path(path)))
         >>> tab_sqlite
-        Table(u'census')
+        Table(u'table_doctest_map')
 
         """
         return "Table(%r)" % (self.name)
@@ -1027,11 +1030,11 @@ class Table(object):
         """Return the number of rows
 
         >>> import sqlite3
-        >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-        >>> tab_sqlite = Table(name='census',
+        >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
+        >>> tab_sqlite = Table(name=test_vector_name,
         ...                    connection=sqlite3.connect(get_path(path)))
         >>> tab_sqlite.n_rows()
-        2537
+        3
         """
         cur = self.conn.cursor()
         cur.execute(sql.SELECT.format(cols='Count(*)', tname=self.name))
@@ -1055,14 +1058,14 @@ class Table(object):
         :type values: list of tuple
 
         >>> import sqlite3
-        >>> path = '$GISDBASE/$LOCATION_NAME/PERMANENT/sqlite/sqlite.db'
-        >>> tab_sqlite = Table(name='census',
+        >>> path = '$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
+        >>> tab_sqlite = Table(name=test_vector_name,
         ...                    connection=sqlite3.connect(get_path(path)))
-        >>> tab_sqlite.filters.select('cat', 'TOTAL_POP').order_by('AREA')
-        Filters(u'SELECT cat, TOTAL_POP FROM census ORDER BY AREA;')
+        >>> tab_sqlite.filters.select('cat', 'name').order_by('value')
+        Filters(u'SELECT cat, name FROM table_doctest_map ORDER BY value;')
         >>> cur = tab_sqlite.execute()
-        >>> cur.fetchone()
-        (1856, 0)
+        >>> cur.fetchone()     #doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
+         (1, u'point')
 
         """
         try:
@@ -1071,9 +1074,10 @@ class Table(object):
             if many and values:
                 return cur.executemany(sqlc, values)
             return cur.execute(sqlc)
-        except:
-            #import ipdb; ipdb.set_trace()
-            raise ValueError("The SQL is not correct:\n%r" % sqlc)
+        except Exception as exc:
+            raise ValueError("The SQL statement is not correct:\n%r,\n"
+                             "values: %r,\n"
+                             "SQL error: %s" % (sqlc, values, str(exc)))
 
     def exist(self, cursor=None):
         """Return True if the table already exist in the DB, False otherwise
@@ -1152,3 +1156,18 @@ class Table(object):
                 print("The table: %s already exist." % self.name)
         cur.close()
         self.columns.update_odict()
+
+
+if __name__ == "__main__":
+    import doctest
+    from grass.pygrass import utils
+    utils.create_test_vector_map(test_vector_name)
+    doctest.testmod()
+
+
+    """Remove the generated vector map, if exist"""
+    from grass.pygrass.utils import get_mapset_vector
+    from grass.script.core import run_command
+    mset = get_mapset_vector(test_vector_name, mapset='')
+    if mset:
+        run_command("g.remove", flags='f', type='vector', name=test_vector_name)
diff --git a/lib/python/pygrass/vector/testsuite/test_doctests.py b/lib/python/pygrass/vector/testsuite/test_doctests.py
new file mode 100644
index 0000000..2ab7013
--- /dev/null
+++ b/lib/python/pygrass/vector/testsuite/test_doctests.py
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.pygrass.vector as gvector
+import grass.pygrass.utils as gutils
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+
+    from grass.pygrass import utils
+    utils.create_test_vector_map(gvector.test_vector_name)
+    utils.create_test_vector_map(gvector.abstract.test_vector_name)
+    utils.create_test_vector_map(gvector.geometry.test_vector_name)
+    utils.create_test_vector_map(gvector.find.test_vector_name)
+    utils.create_test_vector_map(gvector.table.test_vector_name)
+
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(gvector))
+    tests.addTests(doctest.DocTestSuite(gvector.abstract))
+    tests.addTests(doctest.DocTestSuite(gvector.basic))
+    tests.addTests(doctest.DocTestSuite(gvector.find))
+    tests.addTests(doctest.DocTestSuite(gvector.geometry))
+    tests.addTests(doctest.DocTestSuite(gvector.sql))
+    tests.addTests(doctest.DocTestSuite(gvector.table))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/pygrass/vector/testsuite/test_filters.py b/lib/python/pygrass/vector/testsuite/test_filters.py
new file mode 100644
index 0000000..0516658
--- /dev/null
+++ b/lib/python/pygrass/vector/testsuite/test_filters.py
@@ -0,0 +1,82 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Jul  2 07:25:34 2015
+
+ at author: pietro
+"""
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.pygrass.vector.table import Filters
+
+
+class FiltersTestCase(TestCase):
+
+    def setUp(self):
+        """Create a not empty filters instance"""
+        self.filters = Filters('table')
+        self.attrs = ('_select', '_where', '_groupby', '_orderby', '_limit')
+
+    def test_init(self):
+        """Test Filters __init__"""
+        self.assertEqual(self.filters.tname, 'table')
+        for attr in self.attrs:
+            self.assertEqual(getattr(self.filters, attr), None)
+
+    def test_select(self):
+        """Test Filters select method"""
+        self.assertEqual(self.filters.select()._select,
+                         'SELECT * FROM table')
+        self.assertEqual(self.filters.select('column')._select,
+                         'SELECT column FROM table')
+        self.assertEqual(self.filters.select('column0', 'column1')._select,
+                         'SELECT column0, column1 FROM table')
+
+    def test_where(self):
+        """Test Filters where method"""
+        self.assertEqual(self.filters.where('column >= 10')._where,
+                         'WHERE column >= 10')
+
+    def test_order_by(self):
+        """Test Filters order_by method"""
+        self.assertEqual(self.filters.order_by('column')._orderby,
+                         'ORDER BY column')
+        self.assertEqual(self.filters.order_by('column0', 'column1')._orderby,
+                         'ORDER BY column0, column1')
+
+    def test_limit(self):
+        """Test Filters limit method"""
+        self.assertEqual(self.filters.limit(10)._limit, 'LIMIT 10')
+        with self.assertRaises(ValueError):
+            self.filters.limit('a')
+
+    def test_group_by(self):
+        """Test Filters group_by method"""
+        self.assertEqual(self.filters.group_by('column')._groupby,
+                         'GROUP BY column')
+        self.assertEqual(self.filters.group_by('column0', 'column1')._groupby,
+                         'GROUP BY column0, column1')
+
+    def test_get_sql(self):
+        """Test Filters get_sql method"""
+        sql_code = 'select_sql'
+        sep = '=> '
+        fsep = ' ' + sep
+        self.filters._select = sql_code
+        for attr in self.attrs[1:]:
+            attr_sql = sep + attr[1:]
+            setattr(self.filters, attr, attr_sql)
+            sql_code += fsep + attr[1:]
+            self.assertEqual(self.filters.get_sql(), sql_code + ';')
+
+    def test_reset(self):
+        """Test Filters reset method"""
+        # fill the attributes with strigns
+        for attr in self.attrs:
+            setattr(self.filters, attr, attr)
+        self.filters.reset()
+        for attr in self.attrs:
+            self.assertEqual(getattr(self.filters, attr), None)
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/vector/testsuite/test_geometry.py b/lib/python/pygrass/vector/testsuite/test_geometry.py
index e01b078..4907ce7 100644
--- a/lib/python/pygrass/vector/testsuite/test_geometry.py
+++ b/lib/python/pygrass/vector/testsuite/test_geometry.py
@@ -8,13 +8,16 @@ import sys
 import unittest
 import numpy as np
 
-from grass.gunittest import TestCase, test
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
 import grass.lib.vector as libvect
+from grass.script.core import run_command
 
-from grass.pygrass.vector import VectorTopo
+from grass.pygrass.vector import Vector, VectorTopo
 from grass.pygrass.vector.geometry import Point, Line, Node
-
+from grass.pygrass.vector.geometry import Area, Boundary, Centroid
+from grass.pygrass.vector.basic import Bbox
 
 class PointTestCase(TestCase):
 
@@ -50,12 +53,22 @@ class PointTestCase(TestCase):
         self.assertEqual(Point(1, 2).coords(), (1, 2))
         self.assertEqual(Point(1, 2, 3).coords(), (1, 2, 3))
 
-    def test_get_wkt(self):
+    def test_to_wkt_p(self):
         """Test coords method"""
-        self.assertEqual(Point(1, 2).get_wkt(), 'POINT(1.000000 2.000000)')
-        self.assertEqual(Point(1, 2, 3).get_wkt(),
+        self.assertEqual(Point(1, 2).to_wkt_p(), 'POINT(1.000000 2.000000)')
+        self.assertEqual(Point(1, 2, 3).to_wkt_p(),
                          'POINT(1.000000 2.000000 3.000000)')
 
+    def test_to_wkt(self):
+        """Test coords method"""
+        self.assertEqual(Point(1, 2).to_wkt(), 'POINT (1.0000000000000000 2.0000000000000000)')
+        self.assertEqual(Point(1, 2, 3).to_wkt(),
+                         'POINT Z (1.0000000000000000 2.0000000000000000 3.0000000000000000)')
+
+    def test_to_wkb(self):
+        """Test to_wkb method"""
+        self.assertEqual(len(Point(1, 2).to_wkb()), 21)
+
     def test_distance(self):
         """Test distance method"""
         point0 = Point(0, 0, 0)
@@ -88,6 +101,29 @@ class PointTestCase(TestCase):
 
 class LineTestCase(TestCase):
 
+    tmpname = "LineTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+
+        from grass.pygrass import utils
+        utils.create_test_vector_map(cls.tmpname)
+
+        cls.vect = None
+        cls.vect = VectorTopo(cls.tmpname)
+        cls.vect.open('r')
+        cls.c_mapinfo = cls.vect.c_mapinfo
+
+    @classmethod
+    def tearDownClass(cls):
+        if cls.vect is not None:
+            cls.vect.close()
+            cls.c_mapinfo = None
+
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='vector', 
+                      name=cls.tmpname)
+
     def test_len(self):
         """Test __len__ magic method"""
         self.assertEqual(len(Line()), 0)
@@ -120,9 +156,18 @@ class LineTestCase(TestCase):
         """Test get_pnt method"""
         line = Line([(0, 0), (1, 1)])
         with self.assertRaises(ValueError):
-            line.get_pnt(5)
+            line.point_on_line(5)
         vals = (0.7071067811865475, 0.7071067811865475)
-        self.assertTupleEqual(line.get_pnt(1).coords(), vals)
+        self.assertTupleEqual(line.point_on_line(1).coords(), vals)
+
+    def test_to_wkt(self):
+        """Test to_wkt method"""
+        string = 'LINESTRING (0.0000000000000000 0.0000000000000000, 1.0000000000000000 1.0000000000000000)'
+        self.assertEqual(Line([(0, 0), (1, 1)]).to_wkt(), string)
+
+    def test_to_wkb(self):
+        """Test to_wkb method"""
+        self.assertEqual(len(Line([(0, 0), (1, 1)]).to_wkb()), 41)
 
     def test_bbox(self):
         """Test bbox method"""
@@ -134,24 +179,29 @@ class LineTestCase(TestCase):
         self.assertEqual(0, bbox.west)
 
     def test_nodes(self):
-        """Test inodes method"""
+        """Test nodes method"""
         def nodes2tuple(nodes):
             """Convert an iterable of nodes to a tuple of nodes id"""
             return tuple(n.id for n in nodes)
 
-        with VectorTopo("roadsmajor", mode='r') as vect:
-            self.assertTupleEqual((206, 172), nodes2tuple(vect[284].nodes()))
-            self.assertTupleEqual((208, 206), nodes2tuple(vect[287].nodes()))
-            self.assertTupleEqual((206, 209), nodes2tuple(vect[288].nodes()))
-            self.assertTupleEqual((218, 206), nodes2tuple(vect[301].nodes()))
+        with VectorTopo("LineTestCase_map", mode='r') as vect:
+            self.assertTupleEqual((1, 2), nodes2tuple(vect[4].nodes()))
+            self.assertTupleEqual((3, 4), nodes2tuple(vect[5].nodes()))
+            self.assertTupleEqual((5, 6), nodes2tuple(vect[6].nodes()))
 
+class NodeTestCase(TestCase):
 
+    tmpname = "NodeTestCase_map"
 
-class NodeTestCase(TestCase):
     @classmethod
     def setUpClass(cls):
+
+        # Tests are based on a stream network
+        from grass.pygrass import utils
+        utils.create_test_stream_network_map(cls.tmpname)
+
         cls.vect = None
-        cls.vect = VectorTopo("roadsmajor")
+        cls.vect = VectorTopo(cls.tmpname)
         cls.vect.open('r')
         cls.c_mapinfo = cls.vect.c_mapinfo
 
@@ -161,32 +211,172 @@ class NodeTestCase(TestCase):
             cls.vect.close()
             cls.c_mapinfo = None
 
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='vector', 
+                      name=cls.tmpname)
+
     def test_init(self):
         """Test Node __init__"""
-        node = Node(v_id=206, c_mapinfo=self.c_mapinfo)
-        self.assertEqual(206, node.id)
+        node = Node(v_id=4, c_mapinfo=self.c_mapinfo)
+        self.assertEqual(4, node.id)
         self.assertTrue(node.is2D)
-        self.assertEqual(4, node.nlines)
+        self.assertEqual(5, node.nlines)
 
     def test_coords(self):
         """Test Node coordinates"""
-        node = Node(v_id=206, c_mapinfo=self.c_mapinfo)
-        self.assertTupleEqual((620906.5786131569, 221685.65913128198),
-                              node.coords())
+        node = Node(v_id=4, c_mapinfo=self.c_mapinfo)
+        self.assertTupleEqual((1.0, 0.0), node.coords())
 
     def test_ilines(self):
-        """Test Node coordinates"""
-        node = Node(v_id=206, c_mapinfo=self.c_mapinfo)
-        self.assertTupleEqual((288, -301, -287, 284), tuple(node.ilines()))
-        self.assertTupleEqual((-301, -287), tuple(node.ilines(only_in=True)))
-        self.assertTupleEqual((288, 284), tuple(node.ilines(only_out=True)))
+        """Test Node neighbors"""
+        node = Node(v_id=4, c_mapinfo=self.c_mapinfo)
+        self.assertTupleEqual((6, -4, 7, -3, -5), tuple(node.ilines()))
+        self.assertTupleEqual((-4, -3, -5), tuple(node.ilines(only_in=True)))
+        node = Node(v_id=4, c_mapinfo=self.c_mapinfo)
+        self.assertTupleEqual((6, 7), tuple(node.ilines(only_out=True)))
 
     def test_angles(self):
         """Test Node angles"""
-        node = Node(v_id=206, c_mapinfo=self.c_mapinfo)
-        angles = (-3.044905185699463, -1.026218056678772,
-                  0.10362745821475983, 2.2236430644989014)
+        node = Node(v_id=4, c_mapinfo=self.c_mapinfo)
+        angles = (-1.5707963705062866, 0.7853981852531433,
+                   1.2793395519256592, 1.8622530698776245,
+                   2.356194496154785)
         self.assertTupleEqual(angles, tuple(node.angles()))
 
+class AreaTestCase(TestCase):
+
+    tmpname = "AreaTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+
+        # Tests are based on a stream network
+        from grass.pygrass import utils
+        utils.create_test_vector_map(cls.tmpname)
+
+        cls.vect = None
+        cls.vect = VectorTopo(cls.tmpname)
+        cls.vect.open('r')
+        cls.c_mapinfo = cls.vect.c_mapinfo
+
+    @classmethod
+    def tearDownClass(cls):
+        if cls.vect is not None:
+            cls.vect.close()
+            cls.c_mapinfo = None
+
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='vector', 
+                      name=cls.tmpname)
+
+    def test_init(self):
+        """Test area __init__ and basic functions"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        self.assertEqual(1, area.id)
+        self.assertTrue(area.is2D)
+        self.assertTrue(area.alive())
+        self.assertEqual(area.area(), 12.0)
+
+    def test_to_wkt(self):
+        """Test to_wkt method"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        # Outer and inner ring!!
+        string = "POLYGON ((0.0000000000000000 0.0000000000000000, "\
+                           "0.0000000000000000 4.0000000000000000, "\
+                           "0.0000000000000000 4.0000000000000000, "\
+                           "4.0000000000000000 4.0000000000000000, "\
+                           "4.0000000000000000 4.0000000000000000, "\
+                           "4.0000000000000000 0.0000000000000000, "\
+                           "4.0000000000000000 0.0000000000000000, "\
+                           "0.0000000000000000 0.0000000000000000), "\
+                           "(1.0000000000000000 1.0000000000000000, "\
+                           "3.0000000000000000 1.0000000000000000, "\
+                           "3.0000000000000000 3.0000000000000000, "\
+                           "1.0000000000000000 3.0000000000000000, "\
+                           "1.0000000000000000 1.0000000000000000))"
+        self.assertEqual(area.to_wkt(), string)
+
+    def test_to_wkb(self):
+        """Test to_wkt method"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        self.assertEqual(len(area.to_wkb()), 225)
+
+    def test_contains_point(self):
+        """Test contain_point method"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        p = Point(0.5, 0.5)
+        bbox = Bbox(4.0, 0.0, 4.0, 0.0)
+        self.assertTrue(area.contains_point(p, bbox))
+        self.assertTrue(area.contains_point(p))
+
+    def test_bbox(self):
+        """Test contain_point method"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        self.assertEqual(str(area.bbox()), "Bbox(4.0, 0.0, 4.0, 0.0)")
+
+    def test_centroid(self):
+        """Test centroid access"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        centroid = area.centroid()
+
+        self.assertEqual(centroid.id, 18)
+        self.assertEqual(centroid.area_id, 1)
+        self.assertEqual(centroid.to_wkt(), 'POINT (3.5000000000000000 3.5000000000000000)')
+
+    def test_boundaries_1(self):
+        """Test boundary access"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        boundaries = area.boundaries()
+        self.assertEqual(len(boundaries), 4)
+
+        string_list = []
+        string_list.append("LINESTRING (0.0000000000000000 0.0000000000000000, 0.0000000000000000 4.0000000000000000)")
+        string_list.append("LINESTRING (0.0000000000000000 4.0000000000000000, 4.0000000000000000 4.0000000000000000)")
+        string_list.append("LINESTRING (4.0000000000000000 4.0000000000000000, 4.0000000000000000 0.0000000000000000)")
+        string_list.append("LINESTRING (4.0000000000000000 0.0000000000000000, 0.0000000000000000 0.0000000000000000)")
+
+        for boundary, i in zip(boundaries, range(4)):
+            self.assertEqual(len(boundary.to_wkb()), 41)
+            self.assertEqual(boundary.to_wkt(), string_list[i])
+
+    def test_boundaries_2(self):
+        """Test boundary access"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        boundaries = area.boundaries()
+        boundary = boundaries[2]
+        boundary.read_area_ids()
+        self.assertEqual(boundary.left_area_id, 2)
+        self.assertEqual(boundary.right_area_id, 1)
+
+        self.assertEqual(boundary.left_centroid().to_wkt(), 'POINT (5.5000000000000000 3.5000000000000000)')
+        self.assertEqual(boundary.right_centroid().to_wkt(), 'POINT (3.5000000000000000 3.5000000000000000)')
+
+    def test_isles_1(self):
+        """Test centroid access"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        self.assertEqual(area.num_isles(), 1)
+
+        isles = area.isles()
+        isle = isles[0]
+
+        self.assertEqual(isle.area(), 4.0)
+        self.assertEqual(isle.points().to_wkt(), "LINESTRING (1.0000000000000000 1.0000000000000000, "\
+                                                             "3.0000000000000000 1.0000000000000000, "\
+                                                             "3.0000000000000000 3.0000000000000000, "\
+                                                             "1.0000000000000000 3.0000000000000000, "\
+                                                             "1.0000000000000000 1.0000000000000000)")
+    def test_isles_2(self):
+        """Test centroid access"""
+        area = Area(v_id=1, c_mapinfo=self.c_mapinfo)
+        self.assertEqual(area.num_isles(), 1)
+
+        isles = area.isles()
+        isle = isles[0]
+        self.assertEqual(isle.area_id(), 1)
+        self.assertTrue(isle.alive())
+
+        self.assertEqual(str(isle.bbox()), "Bbox(3.0, 1.0, 3.0, 1.0)")
+
+
 if __name__ == '__main__':
     test()
diff --git a/lib/python/pygrass/vector/testsuite/test_geometry_attrs.py b/lib/python/pygrass/vector/testsuite/test_geometry_attrs.py
new file mode 100644
index 0000000..26e3d6c
--- /dev/null
+++ b/lib/python/pygrass/vector/testsuite/test_geometry_attrs.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Jun 19 14:13:53 2014
+
+ at author: pietro
+"""
+import sys
+import unittest
+import numpy as np
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+import grass.lib.vector as libvect
+from grass.script.core import run_command
+
+from grass.pygrass.vector import VectorTopo
+
+
+class GeometryAttrsTestCase(TestCase):
+
+    tmpname = "GeometryAttrsCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+
+        from grass.pygrass import utils
+        utils.create_test_vector_map(cls.tmpname)
+
+        cls.vect = None
+        cls.vect = VectorTopo(cls.tmpname)
+        cls.vect.open('r')
+        cls.c_mapinfo = cls.vect.c_mapinfo
+
+        cls.attrs = cls.vect[1].attrs
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.attrs = None
+        if cls.vect is not None:
+            cls.vect.close()
+            cls.c_mapinfo = None
+
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='vector',
+                      name=cls.tmpname)
+
+    def test_getitem(self):
+        """Test __getitem__ magic method"""
+        self.assertEqual(self.attrs['name'], u'point')
+        self.assertEqual(self.attrs['value'], 1.0)
+        self.assertTupleEqual(self.attrs['name', 'value'], (u'point', 1.0))
+
+        with self.assertRaises(ValueError) as cm:
+            self.attrs['not_existing_column_name']
+
+        self.assertTrue(u"not_existing_column_name" in cm.exception.message)
+
+
+    def test_setitem(self):
+        """Test __setitem__ magic method"""
+        newname = 'setitem_point_1'
+        newvalue = 100.0
+        newpairs = ('setitem_point_2', 1000.)
+
+        self.attrs.__setitem__('name', newname)
+        self.assertEqual(self.attrs['name'], newname)
+        self.attrs.__setitem__('value', newvalue)
+        self.assertEqual(self.attrs['value'], newvalue)
+        self.attrs.__setitem__(('name', 'value'), newpairs)
+        self.assertEqual(self.attrs['name', 'value'], newpairs)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/vector/testsuite/test_table.py b/lib/python/pygrass/vector/testsuite/test_table.py
new file mode 100644
index 0000000..93a4626
--- /dev/null
+++ b/lib/python/pygrass/vector/testsuite/test_table.py
@@ -0,0 +1,210 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Jun 25 11:08:22 2014
+
+ at author: pietro
+"""
+import os
+import sqlite3
+import tempfile as tmp
+from string import ascii_letters, digits
+from random import choice
+import numpy as np
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.pygrass.vector.table import Table, get_path
+
+
+# dictionary that generate random data
+COL2VALS = {'INT': lambda n:     np.random.randint(9, size=n),
+            'INTEGER': lambda n: np.random.randint(9, size=n),
+            'INTEGER PRIMARY KEY': lambda n: np.arange(1, n+1, dtype=long),
+            'REAL': lambda n: np.random.rand(n),
+            'TEXT': lambda n: np.array([randstr() for _ in range(n)])}
+
+
+def randstr(prefix='', suffix='', size=6, chars=ascii_letters + digits):
+    """Return a random string of characters.
+
+    :param prefix: string prefix, default: ''
+    :type prefix: str
+
+    :param suffix: string suffix, default: ''
+    :type suffix: str
+
+    :param size: number of random characters
+    :type size: int
+
+    :param chars: string containing the characters that will be used
+    :type chars: str
+
+    :returns: string
+    """
+    return prefix + ''.join(choice(chars) for _ in range(size)) + suffix
+
+
+def get_table_random_values(nrows, columns):
+    """Generate a random recarray respecting the columns definition.
+
+    :param nrows: number of rows of the generated array
+    :type nrows: int
+
+    :param columns: list of tuple containing column name and type.
+    :type columns: list of tuple
+
+    :returns: numpy recarray
+    """
+    vals, dtype = [], []
+    for cname, ctype in columns:
+        if ctype not in COL2VALS:
+            raise TypeError("Unkown column type %s for: %s" % (ctype, cname))
+        vals.append(COL2VALS[ctype](nrows))
+        dtype.append((cname, vals[-1].dtype.str))
+    return np.array([v for v in zip(*vals)], dtype=dtype)
+
+
+class DBconnection(object):
+    """Define a class to share common methods between TestCase."""
+    path = os.path.join(tmp.gettempdir(), randstr(prefix='temp', suffix='.db'))
+    connection = sqlite3.connect(get_path(path))
+    columns = [('cat', 'INTEGER PRIMARY KEY'),
+               ('cint', 'INT'),
+               ('creal', 'REAL'),
+               ('ctxt', 'TEXT')]
+
+    def create_table_instance(self, **kw):
+        """Return a Table class instance
+
+        :param **kw: keyword arguments of Table class
+                     without name and connection.
+        :type **kw: key-word arguments
+
+        :returns: Table instance
+        """
+        self.tname = randstr(prefix='temp')
+        return Table(name=self.tname,
+                     connection=self.connection, **kw)
+
+    def create_empty_table(self, columns=None, **kw):
+        """Create an empty table in the database and return Table class
+        instance.
+
+        :param columns: list of tuple containing the column names and types.
+        :type columns: list of tuple
+
+        :param **kw: keyword arguments of Table class
+                     without name and connection.
+        :type **kw: key-word arguments
+
+        :returns: Table instance
+        """
+        columns = self.columns if columns is None else columns
+        table = self.create_table_instance(**kw)
+        table.create(columns)
+        return table
+
+    def create_not_empty_table(self, nrows=None, values=None,
+                               columns=None, **kw):
+        """Create a not empty table in the database and return Table class
+        instance.
+
+        :param nrows: number of rows.
+        :type nrows: list of tuple
+
+        :param values: list of tuple containing the values for each row.
+        :type values: list of tuple
+
+        :param columns: list of tuple containing the column names and types.
+        :type columns: list of tuple
+
+        :param **kw: keyword arguments of Table class
+                     without name and connection.
+        :type **kw: key-word arguments
+
+        :returns: Table instance
+        """
+        if nrows is None and values is None:
+            msg = "Both parameters ``nrows`` ``values`` are empty"
+            raise RuntimeError(msg)
+        columns = self.columns if columns is None else columns
+        values = (get_table_random_values(nrows, columns) if values is None
+                  else values)
+        table = self.create_empty_table(columns=columns, **kw)
+        table.insert(values, many=True)
+        return table
+
+    def setUp(self):
+        """Create a not empty table instance"""
+        self.table = self.create_not_empty_table(10)
+        self.cols = self.table.columns
+
+    def tearDown(self):
+        """Remove the generated vector map, if exist"""
+        self.table.drop(force=True)
+        self.table = None
+        self.cols = None
+
+
+class ColumnsTestCase(DBconnection, TestCase):
+
+    def test_check_insert_update_str(self):
+        """Check insert_str and update_str attribute of Columns are correct"""
+        insert = 'INSERT INTO %s VALUES (?,?,?,?)'
+        self.assertEqual(self.cols.insert_str, insert % self.tname)
+        update = 'UPDATE %s SET cint=?,creal=?,ctxt=? WHERE cat=?;'
+        self.assertEqual(self.cols.update_str, update % self.tname)
+
+
+class TableInsertTestCase(DBconnection, TestCase):
+
+    def setUp(self):
+        """Create a not empty table instance"""
+        self.table = self.create_empty_table()
+        self.cols = self.table.columns
+
+    def tearDown(self):
+        """Remove the generated vector map, if exist"""
+        self.table.drop(force=True)
+        self.table = None
+        self.cols = None
+
+    def test_insert(self):
+        """Test Table.insert method"""
+        cat = 1
+        vals = (cat, 1111, 0.1111, 'test')
+        cur = self.connection.cursor()
+        self.table.insert(vals, cursor=cur)
+        sqlquery = "SELECT cat, cint, creal, ctxt FROM %s WHERE cat=%d"
+        cur.execute(sqlquery % (self.tname, cat))
+        self.assertTupleEqual(vals, cur.fetchone())
+
+    def test_insert_many(self):
+        """Test Table.insert method using many==True"""
+        vals = [(1, 1111, 0.1111, 'test1'),
+                (2, 2222, 0.2222, 'test2'),
+                (3, 3333, 0.3333, 'test3')]
+        cur = self.connection.cursor()
+        self.table.insert(vals, cursor=cur, many=True)
+        sqlquery = "SELECT cat, cint, creal, ctxt FROM %s"
+        cur.execute(sqlquery % self.tname)
+        self.assertListEqual(vals, cur.fetchall())
+
+
+class TableUpdateTestCase(DBconnection, TestCase):
+
+    def test_update(self):
+        """Test Table.update method"""
+        vals = (1122, 0.1122, 'test')
+        cat = 1
+        cur = self.connection.cursor()
+        self.table.update(cat, list(vals), cursor=cur)
+        self.connection.commit()
+        sqlquery = "SELECT cint, creal, ctxt FROM %s WHERE cat=%d"
+        cur.execute(sqlquery % (self.tname, cat))
+        self.assertTupleEqual(vals, cur.fetchone())
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/vector/testsuite/test_vector.py b/lib/python/pygrass/vector/testsuite/test_vector.py
new file mode 100644
index 0000000..a8ac44a
--- /dev/null
+++ b/lib/python/pygrass/vector/testsuite/test_vector.py
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Jun 18 17:21:42 2014
+
+ at author: pietro
+"""
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.script.core import run_command
+from grass.pygrass.vector import VectorTopo
+
+
+class VectorTopoTestCase(TestCase):
+
+    tmpname = "VectorTopoTestCase_map"
+
+    @classmethod
+    def setUpClass(cls):
+        
+        from grass.pygrass import utils
+        utils.create_test_vector_map(cls.tmpname)
+        
+        cls.vect = None
+        cls.vect = VectorTopo(cls.tmpname)
+        cls.vect.open('r')
+        cls.vect.close()
+
+    @classmethod
+    def tearDownClass(cls):
+        if cls.vect.is_open():
+            cls.vect.close()
+
+        """Remove the generated vector map, if exist"""
+        cls.runModule("g.remove", flags='f', type='vector', 
+                      name=cls.tmpname)
+
+    def test_getitem_slice(self):
+        """Test that getitem handle correctly the slice starting from 1"""
+        vcoords =  ((10.0, 6.0), (12.0, 6.0))
+        with VectorTopo(self.tmpname, mode="r") as vect:
+            coords = tuple([pnt.coords() for pnt in vect[:3]])
+            self.assertTupleEqual(vcoords, coords)
+            coords = tuple([pnt.coords() for pnt in vect[1:3]])
+            self.assertTupleEqual(vcoords, coords)
+            self.vect.close()
+
+    def test_viter(self):
+        """Test that getitem handle correctly the slice starting from 1"""
+
+        with VectorTopo(self.tmpname, mode="r") as vect:
+            for name in ["points", "lines", "areas", "islands", "nodes"]:
+                count = 0
+                for feature in vect.viter(name):
+                    count += 1
+                self.assertEqual(count, vect.number_of(name))
+                
+            self.vect.close()
+
+    def test_getitem_raise(self):
+        """Test that getitem raise a value error if the key is not
+        an integer or a slice"""
+        with VectorTopo(self.tmpname, mode="r") as vect:
+            with self.assertRaises(ValueError):
+                vect['value']
+
+            self.vect.close()
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/pygrass/vector/testsuite/test_vector3d.py b/lib/python/pygrass/vector/testsuite/test_vector3d.py
index dc5f301..d881f6a 100644
--- a/lib/python/pygrass/vector/testsuite/test_vector3d.py
+++ b/lib/python/pygrass/vector/testsuite/test_vector3d.py
@@ -6,7 +6,8 @@ Created on Wed Jun 18 17:21:42 2014
 """
 import numpy as np
 
-from grass.gunittest import TestCase, test
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
 from grass.script.core import run_command
 
@@ -59,9 +60,8 @@ class VectorTopo3DTestCase(TestCase):
     @classmethod
     def tearDownClass(cls):
         """Remove the generated vector map, if exist"""
-        mset = get_mapset_vector(cls.tmpname, mapset='')
-        if mset:
-            run_command("g.remove", flags='f', type='vector', name=cls.tmpname)
+        cls.runModule("g.remove", flags='f', type='vector', 
+                      name=cls.tmpname)
 
 
 if __name__ == '__main__':
diff --git a/lib/python/script/__init__.py b/lib/python/script/__init__.py
index 0df3100..b670e89 100644
--- a/lib/python/script/__init__.py
+++ b/lib/python/script/__init__.py
@@ -1,9 +1,10 @@
 """Python interface to launch GRASS GIS modules in scripts
 """
+from __future__ import absolute_import
 
-from core   import *
-from db     import *
-from raster import *
-from raster3d import *
-from vector import *
-from utils import *
+from .core   import *
+from .db     import *
+from .raster import *
+from .raster3d import *
+from .vector import *
+from .utils import *
diff --git a/lib/python/script/array.py b/lib/python/script/array.py
index cab3d93..0fc45e7 100644
--- a/lib/python/script/array.py
+++ b/lib/python/script/array.py
@@ -3,12 +3,13 @@ Functions to use GRASS 2D and 3D rasters with NumPy.
 
 Usage:
 
->>> import grass.script as grass
+>>> from __future__ import print_function
+>>> import grass.script as gscript
 >>> from grass.script import array as garray
 >>>
 >>> # We create a temporary region that is only valid in this python session
-... grass.use_temp_region()
->>> grass.run_command("g.region", n=80, e=120, t=60, s=0, w=0, b=0, res=20, res3=20)
+... gscript.use_temp_region()
+>>> gscript.run_command("g.region", n=80, e=120, t=60, s=0, w=0, b=0, res=20, res3=20)
 0
 >>>
 >>> # Lets create a raster map numpy array
@@ -21,7 +22,7 @@ Usage:
 ...         map2d_1[y,x] = y + x
 ...
 >>> # Lets have a look at the array
-... print map2d_1
+... print(map2d_1)
 [[ 0.  1.  2.  3.  4.  5.]
  [ 1.  2.  3.  4.  5.  6.]
  [ 2.  3.  4.  5.  6.  7.]
@@ -31,15 +32,13 @@ Usage:
 ... map2d_1.write(mapname="map2d_1", overwrite=True)
 0
 >>>
->>> # We create a new array and read map2d_1 to modify it
-... map2d_2 = garray.array()
+>>> # We create a new array from raster map2d_1 to modify it
+... map2d_2 = garray.array(mapname="map2d_1")
 >>> # Don't do map2d_2 = map2d_1 % 3
 ... # because: this will overwrite the internal temporary filename
-... map2d_2.read("map2d_1")
-0
->>> map2d_2 %= 3
+... map2d_2 %= 3
 >>> # Show the result
-... print map2d_2
+... print(map2d_2)
 [[ 0.  1.  2.  0.  1.  2.]
  [ 1.  2.  0.  1.  2.  0.]
  [ 2.  0.  1.  2.  0.  1.]
@@ -60,7 +59,7 @@ Usage:
 ...             map3d_1[z,y,x] = z + y + x
 ...
 >>> # Lets have a look at the 3D array
-... print map3d_1
+... print(map3d_1)
 [[[  0.   1.   2.   3.   4.   5.]
   [  1.   2.   3.   4.   5.   6.]
   [  2.   3.   4.   5.   6.   7.]
@@ -79,15 +78,13 @@ Usage:
 ... # with name map3d_1
 ... map3d_1.write(mapname="map3d_1", overwrite=True)
 0
->>> # We create a new 3D array and read map3d_1 to modify it
-... map3d_2 = garray.array3d()
+>>> # We create a new 3D array from 3D raster map3d_1 to modify it
+... map3d_2 = garray.array3d(mapname="map3d_1")
 >>> # Don't do map3d_2 = map3d_1 % 3
 ... # because: this will overwrite the internal temporary filename
-... map3d_2.read("map3d_1")
-0
->>> map3d_2 %= 3
+... map3d_2 %= 3
 >>> # Show the result
-... print map3d_2
+... print(map3d_2)
 [[[ 0.  1.  2.  0.  1.  2.]
   [ 1.  2.  0.  1.  2.  0.]
   [ 2.  0.  1.  2.  0.  1.]
@@ -114,11 +111,13 @@ for details.
 .. sectionauthor:: Glynn Clements
 """
 
-import os
+from __future__ import absolute_import
+import sys
+
 import numpy
 
-from utils import try_remove
-import core as grass
+from .utils import try_remove
+from . import core as gcore
 from grass.exceptions import CalledModuleError
 
 
@@ -126,7 +125,7 @@ from grass.exceptions import CalledModuleError
 
 class _tempfile(object):
     def __init__(self):
-        self.filename = grass.tempfile()
+        self.filename = gcore.tempfile()
 
     def __del__(self):
         try_remove(self.filename)
@@ -134,24 +133,47 @@ class _tempfile(object):
 ###############################################################################
 
 class array(numpy.memmap):
-    def __new__(cls, dtype=numpy.double):
+    def __new__(cls, mapname=None, null=None, dtype=numpy.double):
         """Define new numpy array
 
         :param cls:
         :param dtype: data type (default: numpy.double)
         """
-        reg = grass.region()
+        reg = gcore.region()
         r = reg['rows']
         c = reg['cols']
         shape = (r, c)
 
         tempfile = _tempfile()
+        if mapname:
+            kind = numpy.dtype(dtype).kind
+            size = numpy.dtype(dtype).itemsize
+
+            if kind == 'f':
+                flags = 'f'
+            elif kind in 'biu':
+                flags = 'i'
+            else:
+                raise ValueError(_('Invalid kind <%s>') % kind)
+
+            if size not in [1, 2, 4, 8]:
+                raise ValueError(_('Invalid size <%d>') % size)
+
+            gcore.run_command(
+                'r.out.bin',
+                flags=flags,
+                input=mapname,
+                output=tempfile.filename,
+                bytes=size,
+                null=null,
+                quiet=True,
+                overwrite=True)
 
         self = numpy.memmap.__new__(
             cls,
             filename=tempfile.filename,
             dtype=dtype,
-            mode='w+',
+            mode='r+',
             shape=shape)
 
         self.tempfile = tempfile
@@ -166,7 +188,14 @@ class array(numpy.memmap):
 
         :return: 0 on success
         :return: non-zero code on failure
+
+        .. deprecated:: 7.1
+        Instead reading the map after creating the array,
+        pass the map name in the array constructor.
         """
+        if sys.platform == 'win32':
+            gcore.warning(_("grass.script.array.read is deprecated and does not"
+                            " work on MS Windows, pass raster name in the constructor"))
         kind = self.dtype.kind
         size = self.dtype.itemsize
 
@@ -181,7 +210,7 @@ class array(numpy.memmap):
             raise ValueError(_('Invalid size <%d>') % size)
 
         try:
-            grass.run_command(
+            gcore.run_command(
                 'r.out.bin',
                 flags=flags,
                 input=mapname,
@@ -224,10 +253,10 @@ class array(numpy.memmap):
         else:
             raise ValueError(_('Invalid kind <%s>') % kind)
 
-        reg = grass.region()
+        reg = gcore.region()
 
         try:
-            grass.run_command(
+            gcore.run_command(
                 'r.in.bin',
                 flags=flags,
                 input=self.filename,
@@ -251,25 +280,48 @@ class array(numpy.memmap):
 
 
 class array3d(numpy.memmap):
-    def __new__(cls, dtype=numpy.double):
+    def __new__(cls, mapname=None, null=None, dtype=numpy.double):
         """Define new 3d numpy array
 
         :param cls:
         :param dtype: data type (default: numpy.double)
         """
-        reg = grass.region(True)
+        reg = gcore.region(True)
         r = reg['rows3']
         c = reg['cols3']
         d = reg['depths']
         shape = (d, r, c)
 
         tempfile = _tempfile()
+        if mapname:
+            kind = numpy.dtype(dtype).kind
+            size = numpy.dtype(dtype).itemsize
+    
+            if kind == 'f':
+                flags = None # default is double
+            elif kind in 'biu':
+                flags = 'i'
+            else:
+                raise ValueError(_('Invalid kind <%s>') % kind)
+
+            if size not in [1, 2, 4, 8]:
+                raise ValueError(_('Invalid size <%d>') % size)
+
+            gcore.run_command(
+                'r3.out.bin',
+                flags=flags,
+                input=mapname,
+                output=tempfile.filename,
+                bytes=size,
+                null=null,
+                quiet=True,
+                overwrite=True)
 
         self = numpy.memmap.__new__(
             cls,
             filename=tempfile.filename,
             dtype=dtype,
-            mode='w+',
+            mode='r+',
             shape=shape)
 
         self.tempfile = tempfile
@@ -285,7 +337,14 @@ class array3d(numpy.memmap):
 
         :return: 0 on success
         :return: non-zero code on failure
+
+        .. deprecated:: 7.1
+        Instead reading the map after creating the array,
+        pass the map name in the array constructor.
         """
+        if sys.platform == 'win32':
+            gcore.warning(_("grass.script.array3d.read is deprecated and does not"
+                            " work on MS Windows, pass 3D raster name in the constructor"))
         kind = self.dtype.kind
         size = self.dtype.itemsize
 
@@ -300,7 +359,7 @@ class array3d(numpy.memmap):
             raise ValueError(_('Invalid size <%d>') % size)
 
         try:
-            grass.run_command(
+            gcore.run_command(
                 'r3.out.bin',
                 flags=flags,
                 input=mapname,
@@ -338,10 +397,10 @@ class array3d(numpy.memmap):
         else:
             raise ValueError(_('Invalid kind <%s>') % kind)
 
-        reg = grass.region(True)
+        reg = gcore.region(True)
 
         try:
-            grass.run_command(
+            gcore.run_command(
                 'r3.in.bin',
                 flags=flags,
                 input=self.filename,
diff --git a/lib/python/script/core.py b/lib/python/script/core.py
index 8df6076..f7be61c 100644
--- a/lib/python/script/core.py
+++ b/lib/python/script/core.py
@@ -17,25 +17,34 @@ for details.
 .. sectionauthor:: Martin Landa <landa.martin gmail.com>
 .. sectionauthor:: Michael Barton <michael.barton asu.edu>
 """
+from __future__ import absolute_import, print_function
 
 import os
 import sys
-import types
-import re
 import atexit
 import subprocess
 import shutil
 import codecs
 import types as python_types
 
-from utils import KeyValue, parse_key_val, basename, encode
+from .utils import KeyValue, parse_key_val, basename, encode
 from grass.exceptions import ScriptError, CalledModuleError
 
 # i18N
 import gettext
 gettext.install('grasslibs', os.path.join(os.getenv("GISBASE"), 'locale'))
-import __builtin__
-__builtin__.__dict__['_'] = __builtin__.__dict__['_'].im_self.lgettext
+
+try:
+    # python2
+    import __builtin__
+    from os import environ
+except ImportError:
+    # python3
+    import builtins as __builtin__
+    from os import environb as environ
+    unicode = str
+__builtin__.__dict__['_'] = __builtin__.__dict__['_'].__self__.lgettext
+
 
 # subprocess wrapper that uses shell on Windows
 
@@ -55,7 +64,8 @@ class Popen(subprocess.Popen):
             and kwargs.get('executable') is None):
             cmd = shutil_which(args[0])
             if cmd is None:
-                raise OSError
+                raise OSError(_("Cannot find the executable {}")
+                              .format(args[0]))
             args = [cmd] + args[1:]
             name, ext = os.path.splitext(cmd)
             if ext.lower() not in self._builtin_exts:
@@ -81,14 +91,18 @@ _popen_args = ["bufsize", "executable", "stdin", "stdout", "stderr",
 
 
 def _make_val(val):
-    if isinstance(val, types.StringType) or \
-            isinstance(val, types.UnicodeType):
+    """Convert value to bytes"""
+    if isinstance(val, bytes):
         return val
-    if isinstance(val, types.ListType):
-        return ",".join(map(_make_val, val))
-    if isinstance(val, types.TupleType):
-        return _make_val(list(val))
-    return str(val)
+    if isinstance(val, (str, unicode)):
+        return encode(val)
+    if isinstance(val, (int, float)):
+        return encode(str(val))
+    try:
+        return b",".join(map(_make_val, iter(val)))
+    except TypeError:
+        pass
+    return bytes(val)
 
 
 def get_commands():
@@ -248,7 +262,7 @@ def get_real_command(cmd):
     return cmd
 
 
-def make_command(prog, flags="", overwrite=False, quiet=False, verbose=False,
+def make_command(prog, flags=b"", overwrite=False, quiet=False, verbose=False,
                  errors=None, **options):
     """Return a list of strings suitable for use as the args parameter to
     Popen() or call(). Example:
@@ -267,31 +281,34 @@ def make_command(prog, flags="", overwrite=False, quiet=False, verbose=False,
 
     :return: list of arguments
     """
-    args = [prog]
+    args = [_make_val(prog)]
     if overwrite:
-        args.append("--o")
+        args.append(b"--o")
     if quiet:
-        args.append("--q")
+        args.append(b"--q")
     if verbose:
-        args.append("--v")
+        args.append(b"--v")
     if flags:
-        if '-' in flags:
+        flags = _make_val(flags)
+        if b'-' in flags:
             raise ScriptError("'-' is not a valid flag")
-        args.append("-%s" % flags)
-    for opt, val in options.iteritems():
+        args.append(b"-" + bytes(flags))
+    for opt, val in options.items():
         if opt in _popen_args:
             continue
+        # convert string to bytes
+        opt = encode(opt)
         if val != None:
-            if opt.startswith('_'):
+            if opt.startswith(b'_'):
                 opt = opt[1:]
                 warning(_("To run the module <%s> add underscore at the end"
                     " of the option <%s> to avoid conflict with Python"
                     " keywords. Underscore at the beginning is"
                     " depreciated in GRASS GIS 7.0 and will be removed"
                     " in version 7.1.") % (prog, opt))
-            elif opt.endswith('_'):
+            elif opt.endswith(b'_'):
                 opt = opt[:-1]
-            args.append("%s=%s" % (opt, _make_val(val)))
+            args.append(opt + b'=' + _make_val(val))
     return args
 
 
@@ -311,16 +328,16 @@ def handle_errors(returncode, result, args, kwargs):
         raise CalledModuleError(module=None, code=repr(args),
                                 returncode=returncode)
 
-def start_command(prog, flags="", overwrite=False, quiet=False,
+def start_command(prog, flags=b"", overwrite=False, quiet=False,
                   verbose=False, **kwargs):
     """Returns a Popen object with the command created by make_command.
     Accepts any of the arguments which Popen() accepts apart from "args"
     and "shell".
 
     >>> p = start_command("g.gisenv", stdout=subprocess.PIPE)
-    >>> print p  # doctest: +ELLIPSIS
+    >>> print(p)  # doctest: +ELLIPSIS
     <...Popen object at 0x...>
-    >>> print p.communicate()[0]  # doctest: +SKIP
+    >>> print(p.communicate()[0])  # doctest: +SKIP
     GISDBASE='/opt/grass-data';
     LOCATION_NAME='spearfish60';
     MAPSET='glynn';
@@ -342,7 +359,7 @@ def start_command(prog, flags="", overwrite=False, quiet=False,
     """
     options = {}
     popts = {}
-    for opt, val in kwargs.iteritems():
+    for opt, val in kwargs.items():
         if opt in _popen_args:
             popts[opt] = val
         else:
@@ -357,7 +374,6 @@ def start_command(prog, flags="", overwrite=False, quiet=False,
                                                               __name__,
                                                               ' '.join(args)))
         sys.stderr.flush()
-
     return Popen(args, **popts)
 
 
@@ -399,9 +415,9 @@ def pipe_command(*args, **kwargs):
     "stdout = PIPE". Returns the Popen object.
 
     >>> p = pipe_command("g.gisenv")
-    >>> print p  # doctest: +ELLIPSIS
+    >>> print(p)  # doctest: +ELLIPSIS
     <....Popen object at 0x...>
-    >>> print p.communicate()[0]  # doctest: +SKIP
+    >>> print(p.communicate()[0])  # doctest: +SKIP
     GISDBASE='/opt/grass-data';
     LOCATION_NAME='spearfish60';
     MAPSET='glynn';
@@ -470,7 +486,7 @@ def parse_command(*args, **kwargs):
     parse = None
     parse_args = {}
     if 'parse' in kwargs:
-        if type(kwargs['parse']) is types.TupleType:
+        if isinstance(kwargs['parse'], tuple):
             parse = kwargs['parse'][0]
             parse_args = kwargs['parse'][1]
         del kwargs['parse']
@@ -662,15 +678,15 @@ def _parse_opts(lines):
         if not line:
             break
         try:
-            [var, val] = line.split('=', 1)
+            [var, val] = line.split(b'=', 1)
         except:
             raise SyntaxError("invalid output from g.parser: %s" % line)
 
-        if var.startswith('flag_'):
+        if var.startswith(b'flag_'):
             flags[var[5:]] = bool(int(val))
-        elif var.startswith('opt_'):
+        elif var.startswith(b'opt_'):
             options[var[4:]] = val
-        elif var in ['GRASS_OVERWRITE', 'GRASS_VERBOSE']:
+        elif var in [b'GRASS_OVERWRITE', b'GRASS_VERBOSE']:
             os.environ[var] = val
         else:
             raise SyntaxError("invalid output from g.parser: %s" % line)
@@ -691,14 +707,17 @@ def parser():
     dictionaries containing option/flag values, keyed by lower-case
     option/flag names. The values in "options" are strings, those in
     "flags" are Python booleans.
+
+    Overview table of parser standard options:
+    https://grass.osgeo.org/grass71/manuals/parser_standard_options.html
     """
     if not os.getenv("GISBASE"):
-        print >> sys.stderr, "You must be in GRASS GIS to run this program."
+        print("You must be in GRASS GIS to run this program.", file=sys.stderr)
         sys.exit(1)
 
-    cmdline = [basename(sys.argv[0])]
-    cmdline += ['"' + arg + '"' for arg in sys.argv[1:]]
-    os.environ['CMDLINE'] = ' '.join(cmdline)
+    cmdline = [basename(encode(sys.argv[0]))]
+    cmdline += [b'"' + encode(arg) + b'"' for arg in sys.argv[1:]]
+    environ[b'CMDLINE'] = b' '.join(cmdline)
 
     argv = sys.argv[:]
     name = argv[0]
@@ -711,12 +730,11 @@ def parser():
     prog = "g.parser.exe" if sys.platform == "win32" else "g.parser"
     p = subprocess.Popen([prog, '-n'] + argv, stdout=subprocess.PIPE)
     s = p.communicate()[0]
-    lines = s.split('\0')
+    lines = s.split(b'\0')
 
-    if not lines or lines[0] != "@ARGS_PARSED@":
+    if not lines or lines[0] != b"@ARGS_PARSED@":
         sys.stdout.write(s)
         sys.exit(p.returncode)
-
     return _parse_opts(lines[1:])
 
 # interface to g.tempfile
@@ -926,7 +944,7 @@ def gisenv():
     dictionary. Example:
 
     >>> env = gisenv()
-    >>> print env['GISDBASE']  # doctest: +SKIP
+    >>> print(env['GISDBASE'])  # doctest: +SKIP
     /opt/grass-data
 
     :return: list of GRASS variables
@@ -976,7 +994,7 @@ def region(region3d=False, complete=False):
 
     s = read_command("g.region", flags=flgs)
     reg = parse_key_val(s, val_type=float)
-    for k in ['rows',  'cols',  'cells',
+    for k in ['projection', 'zone', 'rows',  'cols',  'cells',
               'rows3', 'cols3', 'cells3', 'depths']:
         if k not in reg:
             continue
@@ -1088,9 +1106,9 @@ def find_file(name, element='cell', mapset=None):
     dictionary. Example:
 
     >>> result = find_file('elevation', element='cell')
-    >>> print result['fullname']
+    >>> print(result['fullname'])
     elevation at PERMANENT
-    >>> print result['file']  # doctest: +ELLIPSIS
+    >>> print(result['file'])  # doctest: +ELLIPSIS
     /.../PERMANENT/cell/elevation
 
 
@@ -1131,7 +1149,7 @@ def list_strings(type, pattern=None, mapset=None, exclude=None, flag=''):
     """
     if type == 'cell':
         verbose(_('Element type should be "raster" and not "%s"') % type)
-    
+
     result = list()
     for line in read_command("g.list",
                              quiet=True,
@@ -1320,7 +1338,7 @@ def find_program(pgm, *args):
             or non-zero return code
     :return: True otherwise
     """
-    nuldev = file(os.devnull, 'w+')
+    nuldev = open(os.devnull, 'w+')
     try:
         # TODO: the doc or impl is not correct, any return code is accepted
         call([pgm] + list(args), stdin = nuldev, stdout = nuldev, stderr = nuldev)
@@ -1490,8 +1508,7 @@ def version():
 
     ::
 
-        print version()
-
+        >>> print(version())
         {'proj4': '4.8.0', 'geos': '3.3.5', 'libgis_revision': '52468',
          'libgis_date': '2012-07-27 22:53:30 +0200 (Fri, 27 Jul 2012)',
          'version': '7.0.svn', 'date': '2012', 'gdal': '2.0dev',
@@ -1499,7 +1516,7 @@ def version():
 
     """
     data = parse_command('g.version', flags='rge', errors='ignore')
-    for k, v in data.iteritems():
+    for k, v in data.items():
         data[k.strip()] = v.replace('"', '').strip()
 
     return data
@@ -1508,13 +1525,20 @@ def version():
 _debug_level = None
 
 
-def debug_level():
+def debug_level(force=False):
     global _debug_level
-    if _debug_level is not None:
+    if not force and _debug_level is not None:
         return _debug_level
     _debug_level = 0
     if find_program('g.gisenv', '--help'):
-        _debug_level = int(gisenv().get('DEBUG', 0))
+        try:
+            _debug_level = int(gisenv().get('DEBUG', 0))
+            if _debug_level < 0 or _debug_level > 5:
+                raise ValueError(_("Debug level {}").format(_debug_level))
+        except ValueError as e:
+            _debug_level = 0
+            sys.stderr.write(_("WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n").format(e))
+            
     return _debug_level
 
 
diff --git a/lib/python/script/db.py b/lib/python/script/db.py
index d503045..8cd66ee 100644
--- a/lib/python/script/db.py
+++ b/lib/python/script/db.py
@@ -18,9 +18,9 @@ for details.
 .. sectionauthor:: Glynn Clements
 .. sectionauthor:: Martin Landa <landa.martin gmail.com>
 """
-
-from core import *
-from utils import try_remove
+from __future__ import absolute_import
+from .core import *
+from .utils import try_remove
 from grass.exceptions import CalledModuleError
 
 
@@ -114,7 +114,7 @@ def db_connection(force=False):
     if not conn and force:
         run_command('db.connect', flags='c')
         conn = parse_command('db.connect', flags='g')
-    
+
     return conn
 
 def db_select(sql=None, filename=None, table=None, **args):
@@ -185,7 +185,7 @@ def db_table_in_vector(table):
 
     :param str table: name of table to query
     """
-    from vector import vector_db
+    from .vector import vector_db
     nuldev = file(os.devnull, 'w')
     used = []
     vects = list_strings('vect')
diff --git a/lib/python/script/raster.py b/lib/python/script/raster.py
index 134c0dc..3eb6293 100644
--- a/lib/python/script/raster.py
+++ b/lib/python/script/raster.py
@@ -17,15 +17,16 @@ for details.
 .. sectionauthor:: Glynn Clements
 .. sectionauthor:: Martin Landa <landa.martin gmail.com>
 """
+from __future__ import absolute_import
 
 import os
 import string
 import types
 import time
 
-from core import *
+from .core import *
 from grass.exceptions import CalledModuleError
-from utils import float_or_dms, parse_key_val
+from .utils import float_or_dms, parse_key_val
 
 
 def raster_history(map):
@@ -149,7 +150,7 @@ def mapcalc_start(exp, quiet=False, verbose=False, overwrite=False,
     return p
 
 
-def raster_what(map, coord, env=None):
+def raster_what(map, coord, env=None, localized=False):
     """Interface to r.what
 
     >>> raster_what('elevation', [[640000, 228000]])
@@ -187,7 +188,10 @@ def raster_what(map, coord, env=None):
     if not ret:
         return data
 
-    labels = (_("value"), _("label"), _("color"))
+    if localized:
+        labels = (_("value"), _("label"), _("color"))
+    else:
+        labels = ('value', 'label', 'color')
     for item in ret.splitlines():
         line = item.split(sep)[3:]
         for i, map_name in enumerate(map_list):
diff --git a/lib/python/script/raster3d.py b/lib/python/script/raster3d.py
index 752d22b..353b826 100644
--- a/lib/python/script/raster3d.py
+++ b/lib/python/script/raster3d.py
@@ -18,11 +18,12 @@ for details.
 .. sectionauthor:: Martin Landa <landa.martin gmail.com>
 .. sectionauthor:: Soeren Gebbert <soeren.gebbert gmail.com>
 """
+from __future__ import absolute_import
 
 import string
 
-from core import *
-from utils import float_or_dms, parse_key_val
+from .core import *
+from .utils import float_or_dms, parse_key_val
 from grass.exceptions import CalledModuleError
 
 
diff --git a/lib/python/script/setup.py b/lib/python/script/setup.py
index c5c3c89..f481d6c 100644
--- a/lib/python/script/setup.py
+++ b/lib/python/script/setup.py
@@ -101,14 +101,21 @@ import tempfile as tmpfile
 
 def write_gisrc(dbase, location, mapset):
     """Write the ``gisrc`` file and return its path."""
-    fd, gisrc = tmpfile.mkstemp()
-    os.write(fd, "GISDBASE: %s\n" % dbase)
-    os.write(fd, "LOCATION_NAME: %s\n" % location)
-    os.write(fd, "MAPSET: %s\n" % mapset)
-    os.close(fd)
+    gisrc = tmpfile.mktemp()
+    with open(gisrc, 'w') as rc:
+        rc.write("GISDBASE: %s\n" % dbase)
+        rc.write("LOCATION_NAME: %s\n" % location)
+        rc.write("MAPSET: %s\n" % mapset)
     return gisrc
 
 
+def set_gui_path():
+    """Insert wxPython GRASS path to sys.path."""
+    gui_path = os.path.join(os.environ['GISBASE'], 'gui', 'wxpython')
+    if gui_path and gui_path not in sys.path:
+        sys.path.insert(0, gui_path)
+
+
 # TODO: there should be a function to do the clean up
 # (unset the GISRC and delete the file)
 def init(gisbase, dbase='', location='demolocation', mapset='PERMANENT'):
@@ -141,6 +148,7 @@ def init(gisbase, dbase='', location='demolocation', mapset='PERMANENT'):
     :param dbase: path to GRASS database (default: '')
     :param location: location name (default: 'demolocation')
     :param mapset: mapset within given location (default: 'PERMANENT')
+    
     :returns: path to ``gisrc`` file (to be deleted later)
     """
     # TODO: why we don't set GISBASE?
diff --git a/lib/python/script/task.py b/lib/python/script/task.py
index d0c362f..ddbf621 100644
--- a/lib/python/script/task.py
+++ b/lib/python/script/task.py
@@ -17,7 +17,7 @@ for details.
 
 .. sectionauthor:: Martin Landa <landa.martin gmail.com>
 """
-
+import re
 import types
 import string
 try:
@@ -32,7 +32,7 @@ if hasattr(etree, 'ParseError'):
 else:
     ETREE_EXCEPTIONS = (expat.ExpatError)
 
-from utils import encode, decode
+from utils import encode, decode, split
 from core import *
 
 
@@ -509,6 +509,9 @@ def get_interface_description(cmd):
 def parse_interface(name, parser=processTask, blackList=None):
     """Parse interface of given GRASS module
 
+    The *name* is either GRASS module name (of a module on path) or
+    a full or relative path to an executable.
+
     :param str name: name of GRASS module to be parsed
     :param parser:
     :param blackList:
@@ -518,7 +521,15 @@ def parse_interface(name, parser=processTask, blackList=None):
     except ETREE_EXCEPTIONS as error:
         raise ScriptError(_("Cannot parse interface description of"
             "<{name}> module: {error}").format(name=name, error=error))
-    return parser(tree, blackList=blackList).get_task()
+    task = parser(tree, blackList=blackList).get_task()
+    # if name from interface is different than the originally
+    # provided name, then the provided name is likely a full path needed
+    # to actually run the module later
+    # (processTask uses only the XML which does not contain the original
+    # path used to execute the module)
+    if task.name != name:
+        task.path = name
+    return task
 
 
 def command_info(cmd):
@@ -592,3 +603,68 @@ def command_info(cmd):
     cmdinfo['usage'] = usage
 
     return cmdinfo
+
+def cmdtuple_to_list(cmd):
+    """Convert command tuple to list.
+
+    :param tuple cmd: GRASS command to be converted
+
+    :return: command in list
+    """
+    cmdList = []
+    if not cmd:
+        return cmdList
+
+    cmdList.append(cmd[0])
+
+    if 'flags' in cmd[1]:
+        for flag in cmd[1]['flags']:
+            cmdList.append('-' + flag)
+    for flag in ('help', 'verbose', 'quiet', 'overwrite'):
+        if flag in cmd[1] and cmd[1][flag] is True:
+            cmdList.append('--' + flag)
+
+    for k, v in cmd[1].iteritems():
+        if k in ('flags', 'help', 'verbose', 'quiet', 'overwrite'):
+            continue
+        cmdList.append('%s=%s' % (k, v))
+
+    return cmdList
+
+def cmdlist_to_tuple(cmd):
+    """Convert command list to tuple for run_command() and others
+
+    :param list cmd: GRASS command to be converted
+
+    :return: command as tuple
+    """
+    if len(cmd) < 1:
+        return None
+
+    dcmd = {}
+    for item in cmd[1:]:
+        if '=' in item: # params
+            key, value = item.split('=', 1)
+            dcmd[str(key)] = str(value).replace('"', '')
+        elif item[:2] == '--': # long flags
+            flag = item[2:]
+            if flag in ('help', 'verbose', 'quiet', 'overwrite'):
+                dcmd[str(flag)] = True
+        elif len(item) == 2 and item[0] == '-': # -> flags
+            if 'flags' not in dcmd:
+                dcmd['flags'] = ''
+            dcmd['flags'] += item[1]
+        else: # unnamed parameter
+            module = parse_interface(cmd[0])
+            dcmd[module.define_first()] = item
+
+    return (cmd[0], dcmd)
+
+def cmdstring_to_tuple(cmd):
+    """Convert command string to tuple for run_command() and others
+
+    :param str cmd: command to be converted
+
+    :return: command as tuple
+    """
+    return cmdlist_to_tuple(split(cmd))
diff --git a/lib/python/script/testsuite/test_core_make_val.py b/lib/python/script/testsuite/test_core_make_val.py
new file mode 100644
index 0000000..faad002
--- /dev/null
+++ b/lib/python/script/testsuite/test_core_make_val.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.script.core import _make_val
+
+
+class TestCoreMakeVal(TestCase):
+    """Tests function `_make_val` that convert value to bytes."""
+
+    def test_bytes(self):
+        self.assertEqual(b'text', _make_val(b'text'))
+
+    def test_unicode(self):
+        self.assertEqual(b'text', _make_val(u'text'))
+
+    def test_int(self):
+        self.assertEqual(b'123', _make_val(123))
+
+    def test_float(self):
+        self.assertEqual(b'1.23', _make_val(1.23))
+
+    def test_iterable(self):
+        test = b'text', u'text', 123, 1.23
+        solution = b'text,text,123,1.23'
+        self.assertEqual(solution, _make_val(test))
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/script/testsuite/test_doctests.py b/lib/python/script/testsuite/test_doctests.py
new file mode 100644
index 0000000..04575b8
--- /dev/null
+++ b/lib/python/script/testsuite/test_doctests.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+"""
+Tests checkers
+"""
+
+import doctest
+
+import grass.gunittest.case
+import grass.gunittest.main
+import grass.gunittest.utils
+
+import grass.script.array as garray
+
+
+# doctest does not allow changing the base classes of test case, skip test case
+# and test suite, so we need to create a new type which inherits from our class
+# and contains doctest's methods
+# the alternative is to copy 500 from doctest and change what is needed
+# (this might be necessary anyway beacuse of the reports and stdout and stderr)
+doctest.DocFileCase = type('DocFileCase',
+                           (grass.gunittest.case.TestCase,),
+                           dict(doctest.DocFileCase.__dict__))
+doctest.SkipDocTestCase = type('SkipDocTestCase',
+                               (grass.gunittest.case.TestCase,),
+                               dict(doctest.SkipDocTestCase.__dict__))
+
+
+def load_tests(loader, tests, ignore):
+    # TODO: this must be somewhere when doctest is called, not here
+    # TODO: ultimate solution is not to use _ as a buildin in lib/python
+    # for now it is the only place where it works
+    grass.gunittest.utils.do_doctest_gettext_workaround()
+    # this should be called at some top level
+    tests.addTests(doctest.DocTestSuite(garray))
+    return tests
+
+
+if __name__ == '__main__':
+    grass.gunittest.main.test()
diff --git a/lib/python/script/testsuite/test_raster.py b/lib/python/script/testsuite/test_raster.py
new file mode 100644
index 0000000..59d151b
--- /dev/null
+++ b/lib/python/script/testsuite/test_raster.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Feb 18 09:42:23 2016
+
+ at author: lucadelu
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+import grass.script as gscript
+
+
+class TestRaster(TestCase):
+    """Test raster functions"""
+
+    raster = 'testrasterscript'
+    region = gscript.region()
+    coords = (region['e'] - 1, region['n'] - 1)
+
+    @classmethod
+    def setUpClass(cls):
+        cls.runModule("r.mapcalc", expression="testrasterscript = 100",
+                      overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.runModule("g.remove", type='raster', name='testrasterscript',
+                      flags='f')
+
+    def test_raster_what(self):
+        res = gscript.raster_what(self.raster, [self.coords])[0]
+        self.assertEquals(int(res[self.raster]['value']), 100)
+
+        res = gscript.raster_what(self.raster, [self.coords],
+                                  localized=True)[0]
+        self.assertEquals(int(res[self.raster][_('value')]), 100)
+
+    def test_raster_info(self):
+        res = gscript.raster_info(self.raster)
+        self.assertEquals(str(res['cols']), str(self.region['cols']))
+        self.assertEquals(str(res['north']), str(self.region['n']))
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/script/testsuite/test_start_command_functions.py b/lib/python/script/testsuite/test_start_command_functions.py
new file mode 100644
index 0000000..382ac4d
--- /dev/null
+++ b/lib/python/script/testsuite/test_start_command_functions.py
@@ -0,0 +1,42 @@
+"""Tests of start_command function family (location independent)"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.script.core import start_command, PIPE
+
+
+class TestPythonKeywordsInParameters(TestCase):
+    """Tests additional underscore syntax which helps to avoid Python keywords
+
+    It works the same for keywords, buildins and any names.
+    """
+
+    raster = b'does_not_exist'
+
+    def test_prefixed_underscore(self):
+        proc = start_command(
+            'g.region', _raster=self.raster, stderr=PIPE)
+        stderr = proc.communicate()[1]
+        self.assertNotIn(b'_raster', stderr)
+        self.assertIn(self.raster, stderr,
+            msg="Raster map name should appear in the error output")
+
+    def test_suffixed_underscore(self):
+        proc = start_command(
+            'g.region', raster_=self.raster, stderr=PIPE)
+        stderr = proc.communicate()[1]
+        self.assertNotIn(b'raster_', stderr)
+        self.assertIn(self.raster, stderr,
+            msg="Raster map name should appear in the error output")
+
+    def test_multiple_underscores(self):
+        proc = start_command(
+            'g.region', _raster_=self.raster, stderr=PIPE)
+        stderr = proc.communicate()[1]
+        returncode = proc.poll()
+        self.assertEquals(returncode, 1)
+        self.assertIn(b'raster', stderr)
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/script/testsuite/test_start_command_functions_nc.py b/lib/python/script/testsuite/test_start_command_functions_nc.py
new file mode 100644
index 0000000..257ea6e
--- /dev/null
+++ b/lib/python/script/testsuite/test_start_command_functions_nc.py
@@ -0,0 +1,54 @@
+"""Tests of start_command function family in nc location"""
+
+LOCATION = 'nc'
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.script.core import start_command, PIPE
+
+
+class TestPythonKeywordsInParameters(TestCase):
+    """Tests additional underscore syntax which helps to avoid Python keywords
+
+    It works the same for keywords, buildins and any names.
+    """
+
+    raster = 'elevation'
+
+    # fresh region for each test function
+    def setUp(self):
+        self.use_temp_region()
+
+    def tearDown(self):
+        self.del_temp_region()
+
+    def test_prefixed_underscore(self):
+        proc = start_command(
+            'g.region', _raster=self.raster, stderr=PIPE)
+        stderr = proc.communicate()[1]
+        returncode = proc.poll()
+        self.assertEquals(returncode, 0,
+            msg="Underscore as prefix was not accepted")
+        self.assertNotIn(b'_raster', stderr)
+
+    def test_suffixed_underscore(self):
+        proc = start_command(
+            'g.region', raster_=self.raster, stderr=PIPE)
+        stderr = proc.communicate()[1]
+        returncode = proc.poll()
+        self.assertEquals(returncode, 0,
+            msg="Underscore as suffix was not accepted, stderr is:\n%s" % stderr)
+        self.assertNotIn(b'raster_', stderr)
+
+    def test_multiple_underscores(self):
+        proc = start_command(
+            'g.region', _raster_=self.raster, stderr=PIPE)
+        stderr = proc.communicate()[1]
+        returncode = proc.poll()
+        self.assertEquals(returncode, 1,
+            msg="Underscore at both sides was accepted")
+        self.assertIn(b'raster', stderr)
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/script/testsuite/test_utils.py b/lib/python/script/testsuite/test_utils.py
new file mode 100644
index 0000000..7d97429
--- /dev/null
+++ b/lib/python/script/testsuite/test_utils.py
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+import os
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+from grass.script import utils
+
+
+class EnvironChange(TestCase):
+    env = dict()
+    NOT_FOUND = 'Not found!'
+
+    def setUp(self):
+        self.original_env = {k: os.environ.get(k, self.NOT_FOUND)
+                             for k in self.env.keys()}
+        for k, v in self.env.items():
+                os.environ[k] = v
+
+    def tearDown(self):
+        for k, v in self.env.items():
+                oval = self.original_env[k]
+                if oval == self.NOT_FOUND:
+                    os.environ.pop(k)
+                else:
+                    os.environ[k] = oval
+
+
+class LcAllC(EnvironChange):
+    env = dict(LC_ALL='C')
+
+
+class TestEncode(TestCase):
+    """Tests function `encode` that convert value to bytes."""
+
+    def test_bytes(self):
+        self.assertEqual(b'text', utils.encode(b'text'))
+
+    def test_unicode(self):
+        self.assertEqual(b'text', utils.encode(u'text'))
+
+
+class TestDecode(TestCase):
+    """Tests function `encode` that convert value to unicode."""
+
+    def test_bytes(self):
+        self.assertEqual(u'text', utils.decode(b'text'))
+
+    def test_unicode(self):
+        self.assertEqual(u'text', utils.decode(u'text'))
+
+
+class TestEncodeLcAllC(TestEncode, LcAllC):
+    pass
+
+
+class TestDecodeLcAllC(TestDecode, LcAllC):
+    pass
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/script/utils.py b/lib/python/script/utils.py
index 8868a82..3537271 100644
--- a/lib/python/script/utils.py
+++ b/lib/python/script/utils.py
@@ -7,7 +7,7 @@ Usage:
 
     from grass.script import utils as gutils
 
-(C) 2014 by the GRASS Development Team
+(C) 2014-2017 by the GRASS Development Team
 This program is free software under the GNU General Public
 License (>=v2). Read the file COPYING that comes with GRASS
 for details.
@@ -18,9 +18,11 @@ for details.
 """
 
 import os
+import sys
 import shutil
 import locale
-
+import shlex
+import re
 
 def float_or_dms(s):
     """Convert DMS to float.
@@ -148,6 +150,28 @@ class KeyValue(dict):
         self[key] = value
 
 
+def decode(string):
+    """Decode string with defualt locale
+
+    :param str string: the string to decode
+    """
+    enc = locale.getdefaultlocale()[1]
+    if hasattr(string, 'decode'):
+        return string.decode(enc) if enc else string.decode()
+    return string
+
+
+def encode(string):
+    """Encode string with defualt locale
+
+    :param str string: the string to encode
+    """
+    enc = locale.getdefaultlocale()[1]
+    if hasattr(string, 'encode'):
+        return string.encode(enc) if enc else string.encode()
+    return string
+
+
 def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
     """Parse a string into a dictionary, where entries are separated
     by newlines and the key and value are separated by `sep` (default: `=`)
@@ -171,6 +195,10 @@ def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
     if not s:
         return result
 
+    if isinstance(s, bytes):
+        sep = encode(sep)
+        vsep = encode(vsep) if vsep else vsep
+
     if vsep:
         lines = s.split(vsep)
         try:
@@ -182,9 +210,9 @@ def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
 
     for line in lines:
         kv = line.split(sep, 1)
-        k = kv[0].strip()
+        k = decode(kv[0].strip())
         if len(kv) > 1:
-            v = kv[1].strip()
+            v = decode(kv[1].strip())
         else:
             v = dflt
 
@@ -196,30 +224,6 @@ def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
     return result
 
 
-def decode(string):
-    """Decode string with defualt locale
-
-    :param str string: the string to decode
-    """
-    enc = locale.getdefaultlocale()[1]
-    if enc:
-        return string.decode(enc)
-
-    return string
-
-
-def encode(string):
-    """Encode string with defualt locale
-
-    :param str string: the string to encode
-    """
-    enc = locale.getdefaultlocale()[1]
-    if enc:
-        return string.encode(enc)
-
-    return string
-
-
 def get_num_suffix(number, max_number):
     """Returns formatted number with number of padding zeros
     depending on maximum number, used for creating suffix for data series.
@@ -235,3 +239,138 @@ def get_num_suffix(number, max_number):
     """
     return '{number:0{width}d}'.format(width=len(str(max_number)),
                                        number=number)
+
+def split(s):
+    """!Platform specific shlex.split"""
+    if sys.version_info >= (2, 6):
+        return shlex.split(s, posix = (sys.platform != "win32"))
+    elif sys.platform == "win32":
+        return shlex.split(s.replace('\\', r'\\'))
+    else:
+        return shlex.split(s)
+
+
+# source:
+#    http://stackoverflow.com/questions/4836710/
+#    does-python-have-a-built-in-function-for-string-natural-sort/4836734#4836734
+def natural_sort(l):
+    """Returns sorted strings using natural sort
+    """
+    convert = lambda text: int(text) if text.isdigit() else text.lower()
+    alphanum_key = lambda key: [convert(c) for c in re.split('([0-9]+)', key)]
+    return sorted(l, key=alphanum_key)
+
+
+def get_lib_path(modname, libname=None):
+    """Return the path of the libname contained in the module.
+    """
+    from os.path import isdir, join, sep
+    from os import getenv
+
+    if isdir(join(getenv('GISBASE'), 'etc', modname)):
+        path = join(os.getenv('GISBASE'), 'etc', modname)
+    elif getenv('GRASS_ADDON_BASE') and libname and \
+            isdir(join(getenv('GRASS_ADDON_BASE'), 'etc', modname, libname)):
+        path = join(getenv('GRASS_ADDON_BASE'), 'etc', modname)
+    elif getenv('GRASS_ADDON_BASE') and \
+            isdir(join(getenv('GRASS_ADDON_BASE'), 'etc', modname)):
+        path = join(getenv('GRASS_ADDON_BASE'), 'etc', modname)
+    elif getenv('GRASS_ADDON_BASE') and \
+            isdir(join(getenv('GRASS_ADDON_BASE'), modname, modname)):
+        path = join(os.getenv('GRASS_ADDON_BASE'), modname, modname)
+    else:
+        # used by g.extension compilation process
+        cwd = os.getcwd()
+        idx = cwd.find(modname)
+        if idx < 0:
+            return None
+        path = '{cwd}{sep}etc{sep}{modname}'.format(cwd=cwd[:idx+len(modname)],
+                                                    sep=sep,
+                                                    modname=modname)
+        if libname:
+            path += '{pathsep}{cwd}{sep}etc{sep}{modname}{sep}{libname}'.format(
+                cwd=cwd[:idx+len(modname)],
+                sep=sep,
+                modname=modname, libname=libname,
+                pathsep=os.pathsep
+            )
+    
+    return path
+
+
+def set_path(modulename, dirname=None, path='.'):
+    """Set sys.path looking in the the local directory GRASS directories.
+
+    :param modulename: string with the name of the GRASS module
+    :param dirname: string with the directory name containing the python
+                    libraries, default None
+    :param path: string with the path to reach the dirname locally.
+
+    Example
+    --------
+
+    "set_path" example working locally with the source code of a module
+    (r.green) calling the function with all the parameters. Below it is
+    reported the directory structure on the r.green module.
+
+    ::
+
+        grass_prompt> pwd
+        ~/Download/r.green/r.green.hydro/r.green.hydro.financial
+
+        grass_prompt> tree ../../../r.green
+        ../../../r.green
+        |-- ...
+        |-- libgreen
+        |   |-- pyfile1.py
+        |   +-- pyfile2.py
+        +-- r.green.hydro
+           |-- Makefile
+           |-- libhydro
+           |   |-- pyfile1.py
+           |   +-- pyfile2.py
+           |-- r.green.hydro.*
+           +-- r.green.hydro.financial
+               |-- Makefile
+               |-- ...
+               +-- r.green.hydro.financial.py
+
+        21 directories, 125 files
+
+    in the source code the function is called with the following parameters: ::
+
+        set_path('r.green', 'libhydro', '..')
+        set_path('r.green', 'libgreen', os.path.join('..', '..'))
+
+    when we are executing the module: r.green.hydro.financial locally from
+    the command line:  ::
+
+        grass_prompt> python r.green.hydro.financial.py --ui
+
+    In this way we are executing the local code even if the module was already
+    installed as grass-addons and it is available in GRASS standards path.
+
+    The function is cheching if the dirname is provided and if the
+    directory exists and it is available using the path
+    provided as third parameter, if yes add the path to sys.path to be
+    importable, otherwise it will check on GRASS GIS standard paths.
+
+    """
+    import sys
+    # TODO: why dirname is checked first - the logic should be revised
+    pathlib = None
+    if dirname:
+        pathlib = os.path.join(path, dirname)
+    if pathlib and os.path.exists(pathlib):
+        # we are running the script from the script directory, therefore
+        # we add the path to sys.path to reach the directory (dirname)
+        sys.path.append(os.path.abspath(path))
+    else:
+        # running from GRASS GIS session
+        path = get_lib_path(modulename, dirname)
+        if path is None:
+            pathname = os.path.join(modulename, dirname) if dirname else modulename
+            raise ImportError("Not able to find the path '%s' directory "
+                              "(current dir '%s')." % (pathname, os.getcwd()))
+
+        sys.path.insert(0, path)
diff --git a/lib/python/script/vector.py b/lib/python/script/vector.py
index 02206e5..9e708ff 100644
--- a/lib/python/script/vector.py
+++ b/lib/python/script/vector.py
@@ -16,14 +16,17 @@ for details.
 .. sectionauthor:: Glynn Clements
 .. sectionauthor:: Martin Landa <landa.martin gmail.com>
 """
-
+from __future__ import absolute_import
 import os
 import types
-import copy
-import __builtin__
 
-from utils import parse_key_val
-from core import *
+try:
+    import __builtin__
+except ImportError:
+    import builtins as __builtin__
+
+from .utils import parse_key_val
+from .core import *
 from grass.exceptions import CalledModuleError
 
 
@@ -263,7 +266,7 @@ json = None
 orderedDict = None
 
 
-def vector_what(map, coord, distance=0.0, ttype=None, encoding=None):
+def vector_what(map, coord, distance=0.0, ttype=None, encoding=None, skip_attributes=False):
     """Query vector map at given locations
 
     To query one vector map at one location
@@ -319,6 +322,8 @@ def vector_what(map, coord, distance=0.0, ttype=None, encoding=None):
     :param distance: query threshold distance (in map units)
     :param ttype: list of topology types (default of v.what are point, line,
                   area, face)
+    :param encoding: attributes encoding
+    :param skip_attributes: True to skip quering attributes
 
     :return: parsed list
     """
@@ -341,7 +346,7 @@ def vector_what(map, coord, distance=0.0, ttype=None, encoding=None):
             coord_list.append('%f,%f' % (e, n))
 
     cmdParams = dict(quiet      = True,
-                     flags      = 'aj',
+                     flags      = 'j' if skip_attributes else 'aj',
                      map        = ','.join(map_list),
                      layer      = ','.join(layer_list),
                      coordinates = ','.join(coord_list),
@@ -352,7 +357,7 @@ def vector_what(map, coord, distance=0.0, ttype=None, encoding=None):
     try:
         ret = read_command('v.what',
                            **cmdParams).strip()
-    except CalledModuleError, e:
+    except CalledModuleError as e:
         raise ScriptError(e.msg)
 
     if "LC_ALL" in os.environ:
diff --git a/lib/python/temporal/aggregation.py b/lib/python/temporal/aggregation.py
index 2389014..c3302bb 100644
--- a/lib/python/temporal/aggregation.py
+++ b/lib/python/temporal/aggregation.py
@@ -18,6 +18,9 @@ for details.
 """
 
 from space_time_datasets import *
+from datetime_math import create_suffix_from_datetime
+from datetime_math import create_time_suffix
+from datetime_math import create_numeric_suffic
 import grass.script as gscript
 from grass.exceptions import CalledModuleError
 
@@ -182,7 +185,8 @@ def aggregate_raster_maps(inputs, base, start, end, count, method,
 
 def aggregate_by_topology(granularity_list, granularity, map_list, topo_list,
                           basename, time_suffix, offset=0, method="average",
-                          nprocs=1, spatial=None, dbif=None, overwrite=False):
+                          nprocs=1, spatial=None, dbif=None, overwrite=False,
+                          file_limit=1000):
     """Aggregate a list of raster input maps with r.series
 
        :param granularity_list: A list of AbstractMapDataset objects.
@@ -207,6 +211,8 @@ def aggregate_by_topology(granularity_list, granularity, map_list, topo_list,
                        east, south, north, bottom, top
        :param dbif: The database interface to be used
        :param overwrite: Overwrite existing raster maps
+       :param file_limit: The maximum number of raster map layers that
+                          should be opened at once by r.series
        :return: A list of RasterDataset objects that contain the new map names
                 and the temporal extent for map registration
     """
@@ -273,13 +279,16 @@ def aggregate_by_topology(granularity_list, granularity, map_list, topo_list,
                            "start": str(granule.temporal_extent.get_start_time()),
                            "end": str(granule.temporal_extent.get_end_time())}))
 
-            if granule.is_time_absolute() is True and time_suffix is True:
+            if granule.is_time_absolute() is True and time_suffix == 'gran':
                 suffix = create_suffix_from_datetime(granule.temporal_extent.get_start_time(),
                                                      granularity)
+                output_name = "{ba}_{su}".format(ba=basename, su=suffix)
+            elif granule.is_time_absolute() is True and time_suffix == 'time':
+                suffix = create_time_suffix(granule)
+                output_name = "{ba}_{su}".format(ba=basename, su=suffix)
             else:
-                suffix = gscript.get_num_suffix(count + int(offset),
-                                                len(granularity_list) + int(offset))
-            output_name = "%s_%s" % (basename, suffix)
+                output_name = create_numeric_suffic(basename, count + int(offset),
+                                                    time_suffix)
 
             map_layer = RasterDataset("%s@%s" % (output_name,
                                                  get_current_mapset()))
@@ -303,7 +312,12 @@ def aggregate_by_topology(granularity_list, granularity, map_list, topo_list,
 
                 mod = copy.deepcopy(r_series)
                 mod(file=filename, output=output_name)
-                if len(aggregation_list) > 1000:
+                if len(aggregation_list) > int(file_limit):
+                    msgr.warning(_("The limit of open fiels (%i) was "\
+                                   "reached (%i). The module r.series will "\
+                                   "be run with flag z, to avoid open "\
+                                   "files limit exceeding."%(int(file_limit),
+                                                             len(aggregation_list))))
                     mod(flags="z")
                 process_queue.put(mod)
             else:
@@ -311,6 +325,8 @@ def aggregate_by_topology(granularity_list, granularity, map_list, topo_list,
                 mod(raster=[aggregation_list[0],  output_name])
                 process_queue.put(mod)
 
+    process_queue.wait()
+
     if connected:
         dbif.close()
 
diff --git a/lib/python/temporal/c_libraries_interface.py b/lib/python/temporal/c_libraries_interface.py
index 233e732..36109dc 100644
--- a/lib/python/temporal/c_libraries_interface.py
+++ b/lib/python/temporal/c_libraries_interface.py
@@ -11,6 +11,9 @@ for details.
 :authors: Soeren Gebbert
 """
 
+from grass.exceptions import FatalError
+import time
+import threading
 import sys
 from multiprocessing import Process, Lock, Pipe
 import logging
@@ -22,6 +25,9 @@ import grass.lib.vector as libvector
 import grass.lib.date as libdate
 import grass.lib.raster3d as libraster3d
 import grass.lib.temporal as libtgis
+from grass.pygrass.rpc.base import RPCServerBase
+from grass.pygrass.raster import RasterRow
+from grass.pygrass.vector import VectorTopo
 
 ###############################################################################
 
@@ -42,7 +48,8 @@ class RPCDefs(object):
     G_MAPSET = 11
     G_LOCATION = 12
     G_GISDBASE = 13
-    G_FATAL_ERROR = 14
+    READ_MAP_FULL_INFO = 14
+    G_FATAL_ERROR = 49
 
     TYPE_RASTER = 0
     TYPE_RASTER3D = 1
@@ -51,10 +58,127 @@ class RPCDefs(object):
 ###############################################################################
 
 
+def _read_map_full_info(lock, conn, data):
+    """Read full map specific metadata from the spatial database using 
+       PyGRASS functions.
+
+       :param lock: A multiprocessing.Lock instance
+       :param conn: A multiprocessing.Pipe instance used to send True or False
+       :param data: The list of data entries [function_id, maptype, name, mapset]
+    """
+    info = None
+    try:
+        maptype = data[1]
+        name = data[2]
+        mapset = data[3]
+        if maptype == RPCDefs.TYPE_RASTER:
+            info = _read_raster_full_info(name, mapset)
+        elif maptype == RPCDefs.TYPE_VECTOR:
+            info = _read_vector_full_info(name, mapset)
+    except:
+        raise
+    finally:
+        conn.send(info)
+
+###############################################################################
+
+
+def _read_raster_full_info(name, mapset):
+    """Read raster info, history and cats using PyGRASS RasterRow
+       and return a dictionary. Colors should be supported in the 
+       future.
+    """
+    
+    info = {}
+    r = RasterRow(name=name, mapset=mapset)
+    if r.exist() is True:
+        r.open("r")
+        
+        for item in r.info:
+            info[item[0]] = item[1]
+
+        for item in r.hist:
+            info[item[0]] = item[1]
+        
+        info["full_name"] = r.name_mapset()
+        info["mtype"] = r.mtype
+        if r.cats:
+            info["cats_title"] = r.cats_title
+            info["cats"] = list(r.cats)
+        r.close()
+
+        ts = libgis.TimeStamp()
+        check = libgis.G_read_raster_timestamp(name, mapset, byref(ts))
+
+        if check:
+            dates = _convert_timestamp_from_grass(ts)
+            info["start_time"] = dates[0]
+            info["end_time"] = dates[1]
+            if len(dates) > 2:
+                info["time_unit"] = dates[2]
+
+    return(info)
+
+###############################################################################
+
+
+def _read_vector_full_info(name, mapset, layer = None):
+    """Read vector info using PyGRASS VectorTopo
+       and return a dictionary. C
+    """
+
+    info = {}
+
+    v = VectorTopo(name=name, mapset=mapset)
+    if v.exist() is True:
+        v.open("r")
+        # Bounding box
+        for item in v.bbox().items():
+            info[item[0]] = item[1]
+
+        info["name"] = v.name
+        info["mapset"] = v.mapset
+        info["comment"] = v.comment
+        info["full_name"] = v.full_name
+        info["is_3d"] = v.is_3D()
+        info["map_date"] = v.map_date
+        info["maptype"] = v.maptype
+        info["organization"] = v.organization
+        info["person"] = v.person
+        info["proj"] = v.proj
+        info["proj_name"] = v.proj_name
+        info["title"] = v.title
+        info["thresh"] = v.thresh
+        info["zone"] = v.zone
+        vtypes = ['areas', 'dblinks', 'faces', 'holes', 'islands', 
+                  'kernels', 'lines', 'nodes', 'points', 'updated_lines', 
+                  'updated_nodes', 'volumes']
+        for vtype in vtypes:
+            info[vtype] = v.number_of(vtype)
+            
+        info.update(v.num_primitives())
+        
+        if v.table is not None:
+            info["columns"] = v.table.columns
+
+        ts = libgis.TimeStamp()
+        check = libgis.G_read_vector_timestamp(name, layer, mapset, byref(ts))
+
+        if check:
+            dates = _convert_timestamp_from_grass(ts)
+            info["start_time"] = dates[0]
+            info["end_time"] = dates[1]
+            if len(dates) > 2:
+                info["time_unit"] = dates[2]
+
+    return(info)
+
 def _fatal_error(lock, conn, data):
     """Calls G_fatal_error()"""
     libgis.G_fatal_error("Fatal Error in C library server")
 
+###############################################################################
+
 
 def _get_mapset(lock, conn, data):
     """Return the current mapset
@@ -68,6 +192,8 @@ def _get_mapset(lock, conn, data):
     mapset = libgis.G_mapset()
     conn.send(mapset)
 
+###############################################################################
+
 
 def _get_location(lock, conn, data):
     """Return the current location
@@ -81,6 +207,8 @@ def _get_location(lock, conn, data):
     location = libgis.G_location()
     conn.send(location)
 
+###############################################################################
+
 
 def _get_gisdbase(lock, conn, data):
     """Return the current gisdatabase
@@ -94,6 +222,8 @@ def _get_gisdbase(lock, conn, data):
     gisdbase = libgis.G_gisdbase()
     conn.send(gisdbase)
 
+###############################################################################
+
 
 def _get_driver_name(lock, conn, data):
     """Return the temporal database driver of a specific mapset
@@ -123,18 +253,23 @@ def _get_database_name(lock, conn, data):
 
        :returns: Name of the database or None if no temporal database present
     """
-    mapset = data[1]
-    if not mapset:
-        mapset = libgis.G_mapset()
-    dbstring = libtgis.tgis_get_mapset_database_name(mapset)
-
-    if dbstring:
-        # We substitute GRASS variables if they are located in the database string
-        # This behavior is in conjunction with db.connect
-        dbstring = dbstring.replace("$GISDBASE", libgis.G_gisdbase())
-        dbstring = dbstring.replace("$LOCATION_NAME", libgis.G_location())
-        dbstring = dbstring.replace("$MAPSET", mapset)
-    conn.send(dbstring)
+    dbstring = None
+    try:
+        mapset = data[1]
+        if not mapset:
+            mapset = libgis.G_mapset()
+        dbstring = libtgis.tgis_get_mapset_database_name(mapset)
+
+        if dbstring:
+            # We substitute GRASS variables if they are located in the database string
+            # This behavior is in conjunction with db.connect
+            dbstring = dbstring.replace("$GISDBASE", libgis.G_gisdbase())
+            dbstring = dbstring.replace("$LOCATION_NAME", libgis.G_location())
+            dbstring = dbstring.replace("$MAPSET", mapset)
+    except:
+        raise
+    finally:
+        conn.send(dbstring)
 
 ###############################################################################
 
@@ -189,6 +324,8 @@ def _available_mapsets(lock, conn, data):
     finally:
         conn.send(mapset_list)
 
+###############################################################################
+
 
 def _has_timestamp(lock, conn, data):
     """Check if the file based GRASS timestamp is present and send
@@ -200,21 +337,25 @@ def _has_timestamp(lock, conn, data):
                     mapset, layer]
 
     """
-    maptype = data[1]
-    name = data[2]
-    mapset = data[3]
-    layer = data[4]
     check = False
-    if maptype == RPCDefs.TYPE_RASTER:
-        if libgis.G_has_raster_timestamp(name, mapset) == 1:
-            check = True
-    elif maptype == RPCDefs.TYPE_VECTOR:
-        if libgis.G_has_vector_timestamp(name, layer, mapset) == 1:
-            check = True
-    elif maptype == RPCDefs.TYPE_RASTER3D:
-        if libgis.G_has_raster3d_timestamp(name, mapset) == 1:
-            check = True
-    conn.send(check)
+    try:
+        maptype = data[1]
+        name = data[2]
+        mapset = data[3]
+        layer = data[4]
+        if maptype == RPCDefs.TYPE_RASTER:
+            if libgis.G_has_raster_timestamp(name, mapset) == 1:
+                check = True
+        elif maptype == RPCDefs.TYPE_VECTOR:
+            if libgis.G_has_vector_timestamp(name, layer, mapset) == 1:
+                check = True
+        elif maptype == RPCDefs.TYPE_RASTER3D:
+            if libgis.G_has_raster3d_timestamp(name, mapset) == 1:
+                check = True
+    except:
+        raise
+    finally:
+        conn.send(check)
 
 ###############################################################################
 
@@ -244,21 +385,26 @@ def _read_timestamp(lock, conn, data):
                     mapset, layer]
 
     """
-    maptype = data[1]
-    name = data[2]
-    mapset = data[3]
-    layer = data[4]
     check = False
-    ts = libgis.TimeStamp()
-    if maptype == RPCDefs.TYPE_RASTER:
-        check = libgis.G_read_raster_timestamp(name, mapset, byref(ts))
-    elif maptype == RPCDefs.TYPE_VECTOR:
-        check = libgis.G_read_vector_timestamp(name, layer, mapset, byref(ts))
-    elif maptype == RPCDefs.TYPE_RASTER3D:
-        check = libgis.G_read_raster3d_timestamp(name, mapset, byref(ts))
-
-    dates = _convert_timestamp_from_grass(ts)
-    conn.send((check, dates))
+    dates = None
+    try:
+        maptype = data[1]
+        name = data[2]
+        mapset = data[3]
+        layer = data[4]
+        ts = libgis.TimeStamp()
+        if maptype == RPCDefs.TYPE_RASTER:
+            check = libgis.G_read_raster_timestamp(name, mapset, byref(ts))
+        elif maptype == RPCDefs.TYPE_VECTOR:
+            check = libgis.G_read_vector_timestamp(name, layer, mapset, byref(ts))
+        elif maptype == RPCDefs.TYPE_RASTER3D:
+            check = libgis.G_read_raster3d_timestamp(name, mapset, byref(ts))
+
+        dates = _convert_timestamp_from_grass(ts)
+    except:
+        raise
+    finally:
+        conn.send((check, dates))
 
 ###############################################################################
 
@@ -278,27 +424,30 @@ def _write_timestamp(lock, conn, data):
        :param data: The list of data entries [function_id, maptype, name,
                     mapset, layer, timestring]
     """
-    maptype = data[1]
-    name = data[2]
-    mapset = data[3]
-    layer = data[4]
-    timestring = data[5]
     check = -3
-    ts = libgis.TimeStamp()
-    check = libgis.G_scan_timestamp(byref(ts), timestring)
-
-    if check != 1:
-        logging.error("Unable to convert the timestamp: " + timestring)
-        return -2
-
-    if maptype == RPCDefs.TYPE_RASTER:
-        check = libgis.G_write_raster_timestamp(name, byref(ts))
-    elif maptype == RPCDefs.TYPE_VECTOR:
-        check = libgis.G_write_vector_timestamp(name, layer, byref(ts))
-    elif maptype == RPCDefs.TYPE_RASTER3D:
-        check = libgis.G_write_raster3d_timestamp(name, byref(ts))
-
-    conn.send(check)
+    try:
+        maptype = data[1]
+        name = data[2]
+        mapset = data[3]
+        layer = data[4]
+        timestring = data[5]
+        ts = libgis.TimeStamp()
+        check = libgis.G_scan_timestamp(byref(ts), timestring)
+
+        if check != 1:
+            logging.error("Unable to convert the timestamp: " + timestring)
+            return -2
+
+        if maptype == RPCDefs.TYPE_RASTER:
+            check = libgis.G_write_raster_timestamp(name, byref(ts))
+        elif maptype == RPCDefs.TYPE_VECTOR:
+            check = libgis.G_write_vector_timestamp(name, layer, byref(ts))
+        elif maptype == RPCDefs.TYPE_RASTER3D:
+            check = libgis.G_write_raster3d_timestamp(name, byref(ts))
+    except:
+        raise
+    finally:
+        conn.send(check)
 
 ###############################################################################
 
@@ -319,19 +468,22 @@ def _remove_timestamp(lock, conn, data):
                     mapset, layer]
 
     """
-    maptype = data[1]
-    name = data[2]
-    mapset = data[3]
-    layer = data[4]
     check = False
-    if maptype == RPCDefs.TYPE_RASTER:
-        check = libgis.G_remove_raster_timestamp(name, mapset)
-    elif maptype == RPCDefs.TYPE_VECTOR:
-        check = libgis.G_remove_vector_timestamp(name, layer, mapset)
-    elif maptype == RPCDefs.TYPE_RASTER3D:
-        check = libgis.G_remove_raster3d_timestamp(name, mapset)
-
-    conn.send(check)
+    try:
+        maptype = data[1]
+        name = data[2]
+        mapset = data[3]
+        layer = data[4]
+        if maptype == RPCDefs.TYPE_RASTER:
+            check = libgis.G_remove_raster_timestamp(name, mapset)
+        elif maptype == RPCDefs.TYPE_VECTOR:
+            check = libgis.G_remove_vector_timestamp(name, layer, mapset)
+        elif maptype == RPCDefs.TYPE_RASTER3D:
+            check = libgis.G_remove_raster3d_timestamp(name, mapset)
+    except:
+        raise
+    finally:
+        conn.send(check)
 
 ###############################################################################
 
@@ -347,21 +499,24 @@ def _map_exists(lock, conn, data):
        :param data: The list of data entries [function_id, maptype, name, mapset]
 
     """
-    maptype = data[1]
-    name = data[2]
-    mapset = data[3]
     check = False
-    if maptype == RPCDefs.TYPE_RASTER:
-        mapset = libgis.G_find_raster(name, mapset)
-    elif maptype == RPCDefs.TYPE_VECTOR:
-        mapset = libgis.G_find_vector(name, mapset)
-    elif maptype == RPCDefs.TYPE_RASTER3D:
-        mapset = libgis.G_find_raster3d(name, mapset)
-
-    if mapset:
-        check = True
-
-    conn.send(check)
+    try:
+        maptype = data[1]
+        name = data[2]
+        mapset = data[3]
+        if maptype == RPCDefs.TYPE_RASTER:
+            mapset = libgis.G_find_raster(name, mapset)
+        elif maptype == RPCDefs.TYPE_VECTOR:
+            mapset = libgis.G_find_vector(name, mapset)
+        elif maptype == RPCDefs.TYPE_RASTER3D:
+            mapset = libgis.G_find_raster3d(name, mapset)
+
+        if mapset:
+            check = True
+    except:
+        raise
+    finally:
+        conn.send(check)
 
 ###############################################################################
 
@@ -374,17 +529,21 @@ def _read_map_info(lock, conn, data):
        :param conn: A multiprocessing.Pipe instance used to send True or False
        :param data: The list of data entries [function_id, maptype, name, mapset]
     """
-    maptype = data[1]
-    name = data[2]
-    mapset = data[3]
-    if maptype == RPCDefs.TYPE_RASTER:
-        kvp = _read_raster_info(name, mapset)
-    elif maptype == RPCDefs.TYPE_VECTOR:
-        kvp = _read_vector_info(name, mapset)
-    elif maptype == RPCDefs.TYPE_RASTER3D:
-        kvp = _read_raster3d_info(name, mapset)
-
-    conn.send(kvp)
+    kvp = None
+    try:
+        maptype = data[1]
+        name = data[2]
+        mapset = data[3]
+        if maptype == RPCDefs.TYPE_RASTER:
+            kvp = _read_raster_info(name, mapset)
+        elif maptype == RPCDefs.TYPE_VECTOR:
+            kvp = _read_vector_info(name, mapset)
+        elif maptype == RPCDefs.TYPE_RASTER3D:
+            kvp = _read_raster3d_info(name, mapset)
+    except:
+        raise
+    finally:
+        conn.send(kvp)
 
 ###############################################################################
 
@@ -734,7 +893,6 @@ def _convert_timestamp_from_grass(ts):
 
 ###############################################################################
 
-
 def _stop(lock, conn, data):
     libgis.G_debug(1, "Stop C-interface server")
     conn.close()
@@ -742,9 +900,6 @@ def _stop(lock, conn, data):
     sys.exit()
 
 ###############################################################################
-# Global server connection
-server_connection = None
-server_lock = None
 
 
 def c_library_server(lock, conn):
@@ -754,8 +909,27 @@ def c_library_server(lock, conn):
        :param lock: A multiprocessing.Lock
        :param conn: A multiprocessing.Pipe
     """
+
+    def error_handler(data):
+        """This function will be called in case of a fatal error in libgis"""
+        #sys.stderr.write("Error handler was called\n")
+        # We send an exeption that will be handled in
+        # the parent process, then close the pipe
+        # and release any possible lock
+        conn.send(FatalError())
+        conn.close()
+        lock.release()
+
+    CALLBACK = CFUNCTYPE(c_void_p, c_void_p)
+    CALLBACK.restype = c_void_p
+    CALLBACK.argtypes = c_void_p
+
+    cerror_handler = CALLBACK(error_handler)
+
+    libgis.G_add_error_handler(cerror_handler, None)
+
     # Crerate the function array
-    functions = [0]*15
+    functions = [0]*50
     functions[RPCDefs.STOP] = _stop
     functions[RPCDefs.HAS_TIMESTAMP] = _has_timestamp
     functions[RPCDefs.WRITE_TIMESTAMP] = _write_timestamp
@@ -769,6 +943,7 @@ def c_library_server(lock, conn):
     functions[RPCDefs.G_MAPSET] = _get_mapset
     functions[RPCDefs.G_LOCATION] = _get_location
     functions[RPCDefs.G_GISDBASE] = _get_gisdbase
+    functions[RPCDefs.READ_MAP_FULL_INFO] = _read_map_full_info
     functions[RPCDefs.G_FATAL_ERROR] = _fatal_error
 
     libgis.G_gisinit("c_library_server")
@@ -776,14 +951,13 @@ def c_library_server(lock, conn):
 
     while True:
         # Avoid busy waiting
-        conn.poll(4)
+        conn.poll(None)
         data = conn.recv()
         lock.acquire()
         functions[data[0]](lock, conn, data)
         lock.release()
 
-
-class CLibrariesInterface(object):
+class CLibrariesInterface(RPCServerBase):
     """Fast and exit-safe interface to GRASS C-libraries functions
 
        This class implements a fast and exit-safe interface to the GRASS
@@ -834,6 +1008,16 @@ class CLibrariesInterface(object):
            True
            >>> ciface.read_raster_info("test", tgis.get_current_mapset())
            {'rows': 12, 'north': 80.0, 'min': 1, 'datatype': 'CELL', 'max': 1, 'ewres': 10.0, 'cols': 8, 'west': 0.0, 'east': 120.0, 'nsres': 10.0, 'south': 0.0}
+
+           >>> info = ciface.read_raster_full_info("test", tgis.get_current_mapset())
+           >>> info           # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
+           {u'tbres': 1.0, ... 'keyword': 'generated by r.mapcalc',
+            u'bottom': 0.0, 'end_time': None, 'title': 'test', u'south': 0.0}
+
+           >>> info["start_time"]
+           datetime.datetime(1995, 3, 12, 10, 34, 40)
+           >>> info["end_time"]
+
            >>> check = ciface.has_raster_timestamp("test", tgis.get_current_mapset())
            >>> print check
            True
@@ -881,8 +1065,26 @@ class CLibrariesInterface(object):
            >>> print check
            True
            >>> kvp = ciface.read_vector_info("test", tgis.get_current_mapset())
+           >>> kvp['points']
+           10
+
+           >>> kvp = ciface.read_vector_full_info("test", tgis.get_current_mapset())
            >>> print kvp['points']
            10
+           >>> kvp['point']
+           10
+           >>> kvp['area']
+           0
+           >>> kvp['lines']
+           10
+           >>> kvp['line']
+           0
+           >>> 'columns' in kvp
+           False
+           >>> kvp["start_time"]
+           datetime.datetime(1995, 3, 12, 10, 34, 40)
+           >>> kvp["end_time"]
+
            >>> check = ciface.has_vector_timestamp("test", tgis.get_current_mapset(), None)
            >>> print check
            True
@@ -909,15 +1111,33 @@ class CLibrariesInterface(object):
            >>> location = ciface.get_location()
            >>> gisdbase = ciface.get_gisdbase()
 
+           >>> ciface.fatal_error() # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
+           Traceback (most recent call last):
+               raise FatalError("Exception raised: " + str(e) + " Message: " + message)
+           FatalError: Exception raised:  ...
+
+           >>> ciface.fatal_error() # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
+           Traceback (most recent call last):
+               raise FatalError("Exception raised: " + str(e) + " Message: " + message)
+           FatalError: Exception raised:  ...
+
+           >>> ciface.fatal_error() # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
+           Traceback (most recent call last):
+               raise FatalError("Exception raised: " + str(e) + " Message: " + message)
+           FatalError: Exception raised:  ...
+
+           >>> ciface.fatal_error() # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
+           Traceback (most recent call last):
+               raise FatalError("Exception raised: " + str(e) + " Message: " + message)
+           FatalError: Exception raised:  ...
+
+           >>> ciface.stop()
+
            >>> gscript.del_temp_region()
 
     """
     def __init__(self):
-        self.client_conn = None
-        self.server_conn = None
-        self.queue = None
-        self.server = None
-        self.start_server()
+        RPCServerBase.__init__(self)
 
     def start_server(self):
         self.client_conn, self.server_conn = Pipe(True)
@@ -927,16 +1147,6 @@ class CLibrariesInterface(object):
         self.server.daemon = True
         self.server.start()
 
-    def _check_restart_server(self):
-        """Restart the server if it was terminated
-        """
-        if self.server.is_alive() is True:
-            return
-        self.client_conn.close()
-        self.server_conn.close()
-        self.start_server()
-        logging.warning("Needed to restart the libgis server")
-
     def raster_map_exists(self, name, mapset):
         """Check if a raster map exists in the spatial database
 
@@ -944,10 +1154,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: True if exists, False if not
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.MAP_EXISTS, RPCDefs.TYPE_RASTER,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("raster_map_exists")
 
     def read_raster_info(self, name, mapset):
         """Read the raster map info from the file system and store the content
@@ -958,10 +1168,26 @@ class CLibrariesInterface(object):
            :returns: The key value pairs of the map specific metadata,
                      or None in case of an error
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.READ_MAP_INFO, RPCDefs.TYPE_RASTER,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("read_raster_info")
+        
+    def read_raster_full_info(self, name, mapset):
+        """Read raster info, history and cats using PyGRASS RasterRow
+           and return a dictionary. Colors should be supported in the 
+           future.
+
+           :param name: The name of the map
+           :param mapset: The mapset of the map
+           :returns: The key value pairs of the map specific metadata,
+                     or None in case of an error
+        """
+        self.check_server()
+        self.client_conn.send([RPCDefs.READ_MAP_FULL_INFO, 
+                               RPCDefs.TYPE_RASTER,
+                               name, mapset, None])
+        return self.safe_receive("read_raster_full_info")
 
     def has_raster_timestamp(self, name, mapset):
         """Check if a file based raster timetamp exists
@@ -970,10 +1196,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: True if exists, False if not
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.HAS_TIMESTAMP, RPCDefs.TYPE_RASTER,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("has_raster_timestamp")
 
     def remove_raster_timestamp(self, name, mapset):
         """Remove a file based raster timetamp
@@ -985,10 +1211,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: The return value of G_remove_raster_timestamp
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.REMOVE_TIMESTAMP, RPCDefs.TYPE_RASTER,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("remove_raster_timestamp")
 
     def read_raster_timestamp(self, name, mapset):
         """Read a file based raster timetamp
@@ -1007,10 +1233,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: The return value of G_read_raster_timestamp
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.READ_TIMESTAMP, RPCDefs.TYPE_RASTER,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("read_raster_timestamp")
 
     def write_raster_timestamp(self, name, mapset, timestring):
         """Write a file based raster timetamp
@@ -1026,10 +1252,10 @@ class CLibrariesInterface(object):
            :param timestring: A GRASS datetime C-library compatible string
            :returns: The return value of G_write_raster_timestamp
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.WRITE_TIMESTAMP, RPCDefs.TYPE_RASTER,
                                name, mapset, None, timestring])
-        return self.client_conn.recv()
+        return self.safe_receive("write_raster_timestamp")
 
     def raster3d_map_exists(self, name, mapset):
         """Check if a 3D raster map exists in the spatial database
@@ -1038,10 +1264,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: True if exists, False if not
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.MAP_EXISTS, RPCDefs.TYPE_RASTER3D,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("raster3d_map_exists")
 
     def read_raster3d_info(self, name, mapset):
         """Read the 3D raster map info from the file system and store the content
@@ -1052,10 +1278,10 @@ class CLibrariesInterface(object):
            :returns: The key value pairs of the map specific metadata,
                      or None in case of an error
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.READ_MAP_INFO, RPCDefs.TYPE_RASTER3D,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("read_raster3d_info")
 
     def has_raster3d_timestamp(self, name, mapset):
         """Check if a file based 3D raster timetamp exists
@@ -1064,10 +1290,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: True if exists, False if not
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.HAS_TIMESTAMP, RPCDefs.TYPE_RASTER3D,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("has_raster3d_timestamp")
 
     def remove_raster3d_timestamp(self, name, mapset):
         """Remove a file based 3D raster timetamp
@@ -1079,10 +1305,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: The return value of G_remove_raster3d_timestamp
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.REMOVE_TIMESTAMP, RPCDefs.TYPE_RASTER3D,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("remove_raster3d_timestamp")
 
     def read_raster3d_timestamp(self, name, mapset):
         """Read a file based 3D raster timetamp
@@ -1101,10 +1327,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: The return value of G_read_raster3d_timestamp
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.READ_TIMESTAMP, RPCDefs.TYPE_RASTER3D,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("read_raster3d_timestamp")
 
     def write_raster3d_timestamp(self, name, mapset, timestring):
         """Write a file based 3D raster timetamp
@@ -1120,10 +1346,10 @@ class CLibrariesInterface(object):
            :param timestring: A GRASS datetime C-library compatible string
            :returns: The return value of G_write_raster3d_timestamp
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.WRITE_TIMESTAMP, RPCDefs.TYPE_RASTER3D,
                                name, mapset, None, timestring])
-        return self.client_conn.recv()
+        return self.safe_receive("write_raster3d_timestamp")
 
     def vector_map_exists(self, name, mapset):
         """Check if a vector map exists in the spatial database
@@ -1132,10 +1358,10 @@ class CLibrariesInterface(object):
            :param mapset: The mapset of the map
            :returns: True if exists, False if not
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.MAP_EXISTS, RPCDefs.TYPE_VECTOR,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("vector_map_exists")
 
     def read_vector_info(self, name, mapset):
         """Read the vector map info from the file system and store the content
@@ -1146,10 +1372,25 @@ class CLibrariesInterface(object):
            :returns: The key value pairs of the map specific metadata,
                      or None in case of an error
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.READ_MAP_INFO, RPCDefs.TYPE_VECTOR,
                                name, mapset, None])
-        return self.client_conn.recv()
+        return self.safe_receive("read_vector_info")
+
+    def read_vector_full_info(self, name, mapset):
+        """Read vector info using PyGRASS VectorTopo
+           and return a dictionary. 
+
+           :param name: The name of the map
+           :param mapset: The mapset of the map
+           :returns: The key value pairs of the map specific metadata,
+                     or None in case of an error
+        """
+        self.check_server()
+        self.client_conn.send([RPCDefs.READ_MAP_FULL_INFO, 
+                               RPCDefs.TYPE_VECTOR,
+                               name, mapset, None])
+        return self.safe_receive("read_vector_full_info")
 
     def has_vector_timestamp(self, name, mapset, layer=None):
         """Check if a file based vector timetamp exists
@@ -1159,10 +1400,10 @@ class CLibrariesInterface(object):
            :param layer: The layer of the vector map
            :returns: True if exists, False if not
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.HAS_TIMESTAMP, RPCDefs.TYPE_VECTOR,
                                name, mapset, layer])
-        return self.client_conn.recv()
+        return self.safe_receive("has_vector_timestamp")
 
     def remove_vector_timestamp(self, name, mapset, layer=None):
         """Remove a file based vector timetamp
@@ -1175,10 +1416,10 @@ class CLibrariesInterface(object):
            :param layer: The layer of the vector map
            :returns: The return value of G_remove_vector_timestamp
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.REMOVE_TIMESTAMP, RPCDefs.TYPE_VECTOR,
                                name, mapset, layer])
-        return self.client_conn.recv()
+        return self.safe_receive("remove_vector_timestamp")
 
     def read_vector_timestamp(self, name, mapset, layer=None):
         """Read a file based vector timetamp
@@ -1198,10 +1439,10 @@ class CLibrariesInterface(object):
            :param layer: The layer of the vector map
            :returns: The return value ofG_read_vector_timestamp and the timestamps
        """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.READ_TIMESTAMP, RPCDefs.TYPE_VECTOR,
                                name, mapset, layer])
-        return self.client_conn.recv()
+        return self.safe_receive("read_vector_timestamp")
 
     def write_vector_timestamp(self, name, mapset, timestring, layer=None):
         """Write a file based vector timestamp
@@ -1218,19 +1459,19 @@ class CLibrariesInterface(object):
            :param layer: The layer of the vector map
            :returns: The return value of G_write_vector_timestamp
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.WRITE_TIMESTAMP, RPCDefs.TYPE_VECTOR,
                                name, mapset, layer, timestring])
-        return self.client_conn.recv()
+        return self.safe_receive("write_vector_timestamp")
 
     def available_mapsets(self):
         """Return all available mapsets the user can access as a list of strings
 
            :returns: Names of available mapsets as list of strings
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.AVAILABLE_MAPSETS, ])
-        return self.client_conn.recv()
+        return self.safe_receive("available_mapsets")
 
     def get_driver_name(self, mapset=None):
         """Return the temporal database driver of a specific mapset
@@ -1239,9 +1480,9 @@ class CLibrariesInterface(object):
 
            :returns: Name of the driver or None if no temporal database present
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.GET_DRIVER_NAME, mapset])
-        return self.client_conn.recv()
+        return self.safe_receive("get_driver_name")
 
     def get_database_name(self, mapset=None):
         """Return the temporal database name of a specific mapset
@@ -1250,59 +1491,48 @@ class CLibrariesInterface(object):
 
            :returns: Name of the database or None if no temporal database present
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.GET_DATABASE_NAME, mapset])
-        return self.client_conn.recv()
+        return self.safe_receive("get_database_name")
 
     def get_mapset(self):
         """Return the current mapset
 
            :returns: Name of the current mapset
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.G_MAPSET, ])
-        return self.client_conn.recv()
+        return self.safe_receive("get_mapset")
 
     def get_location(self):
         """Return the location
 
            :returns: Name of the location
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.G_LOCATION, ])
-        return self.client_conn.recv()
+        return self.safe_receive("get_location")
 
     def get_gisdbase(self):
         """Return the gisdatabase
 
            :returns: Name of the gisdatabase
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.G_GISDBASE, ])
-        return self.client_conn.recv()
+        return self.safe_receive("get_gisdbase")
 
     def fatal_error(self, mapset=None):
-        """Return the temporal database name of a specific mapset
-
-           :param mapset: Name of the mapset
+        """Generate a fatal error in libgis.
 
-           :returns: Name of the database or None if no temporal database present
+            This function is only for testing purpose.
         """
-        self._check_restart_server()
+        self.check_server()
         self.client_conn.send([RPCDefs.G_FATAL_ERROR])
-
-    def stop(self):
-        """Stop the messenger server and close the pipe
-
-           This method should be called at exit using the package atexit
-        """
-        if self.server is not None and self.server.is_alive():
-            self.client_conn.send([0, ])
-            self.server.join(5)
-            self.server.terminate()
-        if self.client_conn is not None:
-            self.client_conn.close()
+        # The pipe should be closed in the checker thread
+        return self.safe_receive("Fatal error")
 
 if __name__ == "__main__":
     import doctest
     doctest.testmod()
+
diff --git a/lib/python/temporal/core.py b/lib/python/temporal/core.py
index 4bb9aae..b3103a2 100644
--- a/lib/python/temporal/core.py
+++ b/lib/python/temporal/core.py
@@ -28,6 +28,7 @@ for details.
 
 :author: Soeren Gebbert
 """
+#import traceback
 import os
 # i18N
 import gettext
@@ -36,6 +37,7 @@ gettext.install('grasslibs', os.path.join(os.getenv("GISBASE"), 'locale'))
 import grass.script as gscript
 from datetime import datetime
 from c_libraries_interface import *
+from grass.pygrass import messages
 # Import all supported database backends
 # Ignore import errors since they are checked later
 try:
@@ -238,8 +240,8 @@ def _init_tgis_message_interface(raise_on_error=False):
                               a fatal error, call sys.exit(1) otherwise
     """
     global message_interface
-    from grass.pygrass import messages
-    message_interface = messages.get_msgr(raise_on_error=raise_on_error)
+    if message_interface is None:
+        message_interface = messages.get_msgr(raise_on_error=raise_on_error)
 
 
 def get_tgis_message_interface():
@@ -266,7 +268,8 @@ def _init_tgis_c_library_interface():
        libraster, libraster3d and libvector functions
     """
     global c_library_interface
-    c_library_interface = CLibrariesInterface()
+    if c_library_interface is None:
+        c_library_interface = CLibrariesInterface()
 
 
 def get_tgis_c_library_interface():
@@ -435,6 +438,7 @@ def get_available_temporal_mapsets():
                   database) are the values
     """
     global c_library_interface
+    global message_interface
 
     mapsets = c_library_interface.available_mapsets()
 
@@ -443,9 +447,23 @@ def get_available_temporal_mapsets():
     for mapset in mapsets:
         driver = c_library_interface.get_driver_name(mapset)
         database = c_library_interface.get_database_name(mapset)
+        
+        message_interface.debug(1, "get_available_temporal_mapsets: "\
+                                   "\n  mapset %s\n  driver %s\n  database %s"%(mapset,
+                                   driver, database))
 
         if driver and database:
-            tgis_mapsets[mapset] = (driver,  database)
+            # Check if the temporal sqlite database exists
+            # We need to set non-existing databases in case the mapset is the current mapset
+            # to create it
+            if (driver == "sqlite" and os.path.exists(database)) or mapset == get_current_mapset() :
+                tgis_mapsets[mapset] = (driver,  database)
+
+            # We need to warn if the connection is defined but the database does not
+            # exists
+            if driver == "sqlite" and not os.path.exists(database):
+                message_interface.warning("Temporal database connection defined as:\n" + \
+                                          database + "\nBut database file does not exist.")
 
     return tgis_mapsets
 
@@ -456,7 +474,7 @@ def init(raise_fatal_error=False):
     """This function set the correct database backend from GRASS environmental
        variables and creates the grass temporal database structure for raster,
        vector and raster3d maps as well as for the space-time datasets strds,
-       str3ds and stvds in case it does not exists.
+       str3ds and stvds in case it does not exist.
 
        Several global variables are initiated and the messenger and C-library
        interface subprocesses are spawned.
@@ -535,6 +553,7 @@ def init(raise_fatal_error=False):
     _init_tgis_c_library_interface()
     msgr = get_tgis_message_interface()
     msgr.debug(1, "Initiate the temporal database")
+                  #"\n  traceback:%s"%(str("  \n".join(traceback.format_stack()))))
 
     ciface = get_tgis_c_library_interface()
     driver_string = ciface.get_driver_name()
@@ -737,10 +756,10 @@ def create_temporal_database(dbif):
     stvds_tables_sql = stds_tables_template_sql.replace("STDS", "stvds")
     str3ds_tables_sql = stds_tables_template_sql.replace("STDS", "str3ds")
 
-    msgr.message(_("Creating temporal database: %s" % (tgis_database_string)))
+    msgr.message(_("Creating temporal database: %s" % (str(tgis_database_string))))
 
     if tgis_backend == "sqlite":
-        # We need to create the sqlite3 database path if it does not exists
+        # We need to create the sqlite3 database path if it does not exist
         tgis_dir = os.path.dirname(tgis_database_string)
         if not os.path.exists(tgis_dir):
             try:
@@ -767,7 +786,7 @@ def create_temporal_database(dbif):
                                         "postgresql_indexes.sql"), 'r').read()
 
     # Connect now to the database
-    if not dbif.connected:
+    if dbif.connected is not True:
         dbif.connect()
 
     # Execute the SQL statements for sqlite
@@ -847,7 +866,7 @@ class SQLDatabaseInterfaceConnection(object):
             driver,  dbstring = self.tgis_mapsets[mapset]
 
             if dbstring not in self.unique_connections.keys():
-                self.unique_connections[dbstring] = DBConnection(backend=driver, 
+                self.unique_connections[dbstring] = DBConnection(backend=driver,
                                                                  dbstring=dbstring)
 
             self.connections[mapset] = self.unique_connections[dbstring]
@@ -878,7 +897,7 @@ class SQLDatabaseInterfaceConnection(object):
             driver,  dbstring = self.tgis_mapsets[mapset]
             conn = self.connections[mapset]
             if conn.is_connected() is False:
-                conn .connect(dbstring)
+                conn.connect(dbstring)
 
         self.connected = True
 
@@ -911,9 +930,8 @@ class SQLDatabaseInterfaceConnection(object):
             mapset = self.current_mapset
 
         if mapset not in self.tgis_mapsets.keys():
-            self.msgr.fatal(_("Unable to mogrify sql statement. There is no "
-                              "temporal database connection defined for "
-                              "mapset <%(mapset)s>" % {"mapset": mapset}))
+            self.msgr.fatal(_("Unable to mogrify sql statement. " +
+                              self._create_mapset_error_message(mapset)))
 
         return self.connections[mapset].mogrify_sql_statement(content)
 
@@ -934,9 +952,8 @@ class SQLDatabaseInterfaceConnection(object):
             mapset = self.current_mapset
 
         if mapset not in self.tgis_mapsets.keys():
-            self.msgr.fatal(_("Unable to check table. There is no temporal "
-                              "database connection defined for mapset "
-                              "<%(mapset)s>" % {"mapset": mapset}))
+            self.msgr.fatal(_("Unable to check table. " +
+                              self._create_mapset_error_message(mapset)))
 
         return self.connections[mapset].check_table(table_name)
 
@@ -951,9 +968,8 @@ class SQLDatabaseInterfaceConnection(object):
             mapset = self.current_mapset
 
         if mapset not in self.tgis_mapsets.keys():
-            self.msgr.fatal(_("Unable to execute sql statement. There is no "
-                              "temporal database connection defined for "
-                              "mapset <%(mapset)s>" % {"mapset": mapset}))
+            self.msgr.fatal(_("Unable to execute sql statement. " +
+                              self._create_mapset_error_message(mapset)))
 
         return self.connections[mapset].execute(statement,  args)
 
@@ -962,9 +978,8 @@ class SQLDatabaseInterfaceConnection(object):
             mapset = self.current_mapset
 
         if mapset not in self.tgis_mapsets.keys():
-            self.msgr.fatal(_("Unable to fetch one. There is no temporal "
-                              "database connection defined for mapset "
-                              "<%(mapset)s>" % {"mapset": mapset}))
+            self.msgr.fatal(_("Unable to fetch one. " +
+                              self._create_mapset_error_message(mapset)))
 
         return self.connections[mapset].fetchone()
 
@@ -973,9 +988,8 @@ class SQLDatabaseInterfaceConnection(object):
             mapset = self.current_mapset
 
         if mapset not in self.tgis_mapsets.keys():
-            self.msgr.fatal(_("Unable to fetch all. There is no temporal "
-                              "database connection defined for mapset "
-                              "<%(mapset)s>" % {"mapset": mapset}))
+            self.msgr.fatal(_("Unable to fetch all. " +
+                              self._create_mapset_error_message(mapset)))
 
         return self.connections[mapset].fetchall()
 
@@ -991,12 +1005,20 @@ class SQLDatabaseInterfaceConnection(object):
             mapset = self.current_mapset
 
         if mapset not in self.tgis_mapsets.keys():
-            self.msgr.fatal(_("Unable to execute transaction. There is no "
-                              "temporal database connection defined for "
-                              "mapset <%(mapset)s>" % {"mapset": mapset}))
+            self.msgr.fatal(_("Unable to execute transaction. " +
+                              self._create_mapset_error_message(mapset)))
 
         return self.connections[mapset].execute_transaction(statement)
 
+    def _create_mapset_error_message(self, mapset):
+
+          return("You have no permission to "
+                 "access mapset <%(mapset)s>, or "
+                 "mapset <%(mapset)s> has no temporal database. "
+                 "Accessable mapsets are: <%(mapsets)s>" % \
+                 {"mapset": mapset,
+                  "mapsets":','.join(self.tgis_mapsets.keys())})
+
 ###############################################################################
 
 
@@ -1012,7 +1034,7 @@ class DBConnection(object):
 
     def __init__(self, backend=None, dbstring=None):
         """ Constructor of a database connection
-        
+
             param backend:The database backend sqlite or pg
             param dbstring: The database connection string
         """
@@ -1032,9 +1054,15 @@ class DBConnection(object):
         if dbstring is None:
             global tgis_database_string
             self.dbstring = tgis_database_string
+        
+        self.dbstring = dbstring
 
         self.msgr = get_tgis_message_interface()
-        self.msgr.debug(1, "SQLDatabaseInterfaceConnection constructor")
+        self.msgr.debug(1, "DBConnection constructor:"\
+                           "\n  backend: %s"\
+                           "\n  dbstring: %s"%(backend, self.dbstring))
+                           #"\n  traceback:%s"%(backend, self.dbstring, 
+                           #str("  \n".join(traceback.format_stack()))))
 
     def __del__(self):
         if self.connected is True:
@@ -1058,7 +1086,7 @@ class DBConnection(object):
         """Connect to the DBMI to execute SQL statements
 
             Supported backends are sqlite3 and postgresql
-            
+
             param dbstring: The database connection string
         """
         # Connection in the current mapset
diff --git a/lib/python/temporal/datetime_math.py b/lib/python/temporal/datetime_math.py
index 50c00e1..36f3ed2 100644
--- a/lib/python/temporal/datetime_math.py
+++ b/lib/python/temporal/datetime_math.py
@@ -861,6 +861,42 @@ def create_suffix_from_datetime(start_time,  granularity):
     global suffix_units
     return start_time.strftime(suffix_units[granularity.split(' ')[1]])
 
+def create_time_suffix(mapp, end=False):
+    """Create a datetime string based on a map datetime object
+    
+       :param mapp: a temporal map dataset
+       :param end: True if you want add also end time to the suffix    
+    """
+    start = mapp.temporal_extent.get_start_time()
+    sstring = start.isoformat().replace(':', '_').replace('-', '_')
+    if end:
+        end = mapp.temporal_extent.get_end_time()
+        estring = end.isoformat().replace(':', '_').replace('-', '_')
+        return "{st}_{en}".format(st=sstring, en=estring)
+    return sstring
+
+def create_numeric_suffic(base, count, zeros):
+    """Create a string based on count and number of zeros decided by zeros
+
+       :param base: the basename for new map
+       :param count: a number
+       :param zeros: a string containing the expected number, coming from suffix option
+    """
+    spli = zeros.split('%')
+    if len(spli) == 2:
+        suff = spli[1]
+        if suff.isdigit():
+            if int(suff[0]) == 0:
+                zero = suff
+            else:
+                zero = "0{nu}".format(nu=suff)
+        else:
+            zero = '05'
+    else:
+        zero = '05'
+    s = '{ba}_{i:' + zero + 'd}'
+    return s.format(ba=base, i=count)
+
 if __name__ == "__main__":
     import doctest
     doctest.testmod()
diff --git a/lib/python/temporal/extract.py b/lib/python/temporal/extract.py
index b6ecffc..110c38a 100644
--- a/lib/python/temporal/extract.py
+++ b/lib/python/temporal/extract.py
@@ -12,6 +12,9 @@ for details.
 from grass.script.utils import get_num_suffix
 from space_time_datasets import *
 from open_stds import *
+from datetime_math import create_suffix_from_datetime
+from datetime_math import create_time_suffix
+from datetime_math import create_numeric_suffic
 from multiprocessing import Process
 import grass.script as gscript
 from grass.exceptions import CalledModuleError
@@ -19,9 +22,9 @@ from grass.exceptions import CalledModuleError
 ############################################################################
 
 
-def extract_dataset(input, output, type, where, expression, base, nprocs=1,
-                    register_null=False, layer=1,
-                    vtype="point,line,boundary,centroid,area,face"):
+def extract_dataset(input, output, type, where, expression, base, time_suffix,
+                    nprocs=1, register_null=False, layer=1,
+                    vtype="point,line,boundary,centroid,area,face", ):
     """Extract a subset of a space time raster, raster3d or vector dataset
 
        A mapcalc expression can be provided to process the temporal extracted
@@ -37,6 +40,8 @@ def extract_dataset(input, output, type, where, expression, base, nprocs=1,
                          statement
        :param base: The base name of the new created maps in case a mapclac
                    expression is provided
+       :param time_suffix: string to choose which suffix to use: gran, time, num%*
+                          (where * are digits)
        :param nprocs: The number of parallel processes to be used for mapcalc
                      processing
        :param register_null: Set this number True to register empty maps
@@ -85,9 +90,19 @@ def extract_dataset(input, output, type, where, expression, base, nprocs=1,
                 if count % 10 == 0:
                     msgr.percent(count, num_rows, 1)
 
-                map_name = "{base}_{suffix}".format(base=base,
-                                                    suffix=get_num_suffix(count,
-                                                                          num_rows))
+                if sp.get_temporal_type() == 'absolute' and time_suffix == 'gran':
+                    old_map = sp.get_new_map_instance(row["id"])
+                    old_map.select(dbif)
+                    suffix = create_suffix_from_datetime(old_map.temporal_extent.get_start_time(),
+                                                         sp.get_granularity())
+                    map_name = "{ba}_{su}".format(ba=base, su=suffix)
+                elif sp.get_temporal_type() == 'absolute' and time_suffix == 'time':
+                    old_map = sp.get_new_map_instance(row["id"])
+                    old_map.select(dbif)
+                    suffix = create_time_suffix(old_map)
+                    map_name = "{ba}_{su}".format(ba=base, su=suffix)
+                else:
+                    map_name = create_numeric_suffic(base, count, time_suffix)
 
                 # We need to modify the r(3).mapcalc expression
                 if type != "vector":
diff --git a/lib/python/temporal/list_stds.py b/lib/python/temporal/list_stds.py
index 3330141..9298af2 100644
--- a/lib/python/temporal/list_stds.py
+++ b/lib/python/temporal/list_stds.py
@@ -10,9 +10,9 @@ Usage:
     tgis.register_maps_in_space_time_dataset(type, name, maps)
 
 
-(C) 2012-2013 by the GRASS Development Team
+(C) 2012-2016 by the GRASS Development Team
 This program is free software under the GNU General Public
-License (>=v2). Read the file COPYING that comes with GRASS
+License (>=v2). Read the file COPYING that comes with GRASS GIS
 for details.
 
 :authors: Soeren Gebbert
@@ -26,7 +26,7 @@ from open_stds import *
 
 
 def get_dataset_list(type, temporal_type, columns=None, where=None,
-                     order=None):
+                     order=None, dbif=None):
     """ Return a list of time stamped maps or space time datasets of a specific
         temporal type that are registred in the temporal database
 
@@ -41,6 +41,7 @@ def get_dataset_list(type, temporal_type, columns=None, where=None,
         :param where: A where statement for selected listing without "WHERE"
         :param order: A comma separated list of columns to order the
                       datasets by category
+        :param dbif: The database interface to be used
 
         :return: A dictionary with the rows of the SQL query for each
                  available mapset
@@ -71,8 +72,7 @@ def get_dataset_list(type, temporal_type, columns=None, where=None,
     id = None
     sp = dataset_factory(type, id)
 
-    dbif = SQLDatabaseInterfaceConnection()
-    dbif.connect()
+    dbif, connected = init_dbif(dbif)
 
     mapsets = get_available_temporal_mapsets()
 
@@ -105,14 +105,18 @@ def get_dataset_list(type, temporal_type, columns=None, where=None,
         if rows:
             result[mapset] = rows
 
+    if connected:
+        dbif.close()
+
     return result
 
 ###############################################################################
 
 
 def list_maps_of_stds(type, input, columns, order, where, separator,
-                      method, no_header=False, gran=None):
-    """ List the maps of a space time dataset using diffetent methods
+                      method, no_header=False, gran=None, dbif=None,
+                      outpath=None):
+    """ List the maps of a space time dataset using different methods
 
         :param type: The type of the maps raster, raster3d or vector
         :param input: Name of a space time raster dataset
@@ -124,6 +128,7 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
         :param separator: The field separator character between the columns
         :param method: String identifier to select a method out of cols,
                        comma,delta or deltagaps
+        :param dbif: The database interface to be used
 
             - "cols" Print preselected columns specified by columns
             - "comma" Print the map ids ("name at mapset") as comma separated string
@@ -131,17 +136,18 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                end time, relative length of intervals and the relative
                distance to the begin
             - "deltagaps" Same as "delta" with additional listing of gaps.
-              Gaps can be simply identified as the id is "None"
+               Gaps can be easily identified as the id is "None"
             - "gran" List map using the granularity of the space time dataset,
-              columns are identical to deltagaps
+               columns are identical to deltagaps
 
         :param no_header: Supress the printing of column names
         :param gran: The user defined granule to be used if method=gran is
                      set, in case gran=None the granule of the space time
                      dataset is used
+        :param outpath: The path to file where to save output
     """
 
-    dbif, connected = init_dbif(None)
+    dbif, connected = init_dbif(dbif)
     msgr = get_tgis_message_interface()
 
     sp = open_old_stds(input, type, dbif)
@@ -149,6 +155,9 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
     if separator is None or separator == "":
         separator = "\t"
 
+    if outpath:
+        outfile = open(outpath, 'w')
+
     # This method expects a list of objects for gap detection
     if method == "delta" or method == "deltagaps" or method == "gran":
         if type == "stvds":
@@ -180,7 +189,10 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
             string += "%s%s" % ("end_time", separator)
             string += "%s%s" % ("interval_length", separator)
             string += "%s" % ("distance_from_begin")
-            print string
+            if outpath:
+                outfile.write('{st}\n'.format(st=string))
+            else:
+                print string
 
         if maps and len(maps) > 0:
 
@@ -225,7 +237,10 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                 string += "%s%s" % (end, separator)
                 string += "%s%s" % (delta, separator)
                 string += "%s" % (delta_first)
-                print string
+                if outpath:
+                    outfile.write('{st}\n'.format(st=string))
+                else:
+                    print string
 
     else:
         # In comma separated mode only map ids are needed
@@ -244,7 +259,10 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                     else:
                         string += ",%s" % row["id"]
                     count += 1
-                print string
+                if outpath:
+                    outfile.write('{st}\n'.format(st=string))
+                else:
+                    print string
 
             elif method == "cols":
                 # Print the column names if requested
@@ -260,7 +278,10 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                         else:
                             output += str(key)
                         count += 1
-                    print output
+                    if outpath:
+                        outfile.write('{st}\n'.format(st=output))
+                    else:
+                        print output
 
                 for row in rows:
                     output = ""
@@ -271,8 +292,12 @@ def list_maps_of_stds(type, input, columns, order, where, separator,
                         else:
                             output += str(col)
                         count += 1
-
-                    print output
+                    if outpath:
+                        outfile.write('{st}\n'.format(st=output))
+                    else:
+                        print output
+    if outpath:
+        outfile.close()
     if connected:
         dbif.close()
 
diff --git a/lib/python/temporal/open_stds.py b/lib/python/temporal/open_stds.py
index d2a04f6..c81457e 100644
--- a/lib/python/temporal/open_stds.py
+++ b/lib/python/temporal/open_stds.py
@@ -25,7 +25,7 @@ from factory import *
 
 def open_old_stds(name, type, dbif=None):
     """This function opens an existing space time dataset and return the
-       created and intialized object of the specified type.
+       created and initialized object of the specified type.
 
        This function will call exit() or raise a
        grass.pygrass.messages.FatalError in case the type is wrong,
diff --git a/lib/python/temporal/space_time_datasets.py b/lib/python/temporal/space_time_datasets.py
index ad3503f..b3ef103 100644
--- a/lib/python/temporal/space_time_datasets.py
+++ b/lib/python/temporal/space_time_datasets.py
@@ -73,6 +73,16 @@ class RasterDataset(AbstractMapDataset):
              | Minimum value:.............. 1.0
              | Maximum value:.............. 1.0
 
+            >>> grass.run_command("r.timestamp", map="strds_map_test_case",
+            ...                   date="2 years", quiet=True)
+            0
+            >>> rmap.read_timestamp_from_grass()
+            True
+            >>> rmap.get_temporal_extent_as_tuple()
+            (2, None)
+            >>> rmap.get_relative_time_unit()
+            'years'
+
             >>> newmap = rmap.get_new_instance("new at PERMANENT")
             >>> isinstance(newmap, RasterDataset)
             True
@@ -89,7 +99,7 @@ class RasterDataset(AbstractMapDataset):
             >>> rmap.get_temporal_extent_as_tuple()
             (datetime.datetime(2001, 1, 1, 0, 0), datetime.datetime(2012, 1, 1, 0, 0))
             >>> rmap.get_name()
-            'strds_map_test_case'
+            u'strds_map_test_case'
             >>> rmap.get_mapset() == mapset
             True
             >>> rmap.get_temporal_type()
@@ -392,6 +402,16 @@ class Raster3DDataset(AbstractMapDataset):
              | Number of depths:........... 10
              | Top-Bottom resolution:...... 10.0
 
+            >>> grass.run_command("r3.timestamp", map="str3ds_map_test_case",
+            ...                   date="2 years", quiet=True)
+            0
+            >>> r3map.read_timestamp_from_grass()
+            True
+            >>> r3map.get_temporal_extent_as_tuple()
+            (2, None)
+            >>> r3map.get_relative_time_unit()
+            'years'
+
             >>> newmap = r3map.get_new_instance("new at PERMANENT")
             >>> isinstance(newmap, Raster3DDataset)
             True
@@ -408,7 +428,7 @@ class Raster3DDataset(AbstractMapDataset):
             >>> r3map.get_temporal_extent_as_tuple()
             (datetime.datetime(2001, 1, 1, 0, 0), datetime.datetime(2012, 1, 1, 0, 0))
             >>> r3map.get_name()
-            'str3ds_map_test_case'
+            u'str3ds_map_test_case'
             >>> r3map.get_mapset() == mapset
             True
             >>> r3map.get_temporal_type()
@@ -722,6 +742,17 @@ class VectorDataset(AbstractMapDataset):
              | Number of islands .......... 0
              | Number of holes ............ 0
              | Number of volumes .......... 0
+
+            >>> grass.run_command("v.timestamp", map="stvds_map_test_case",
+            ...                   date="2 years", quiet=True)
+            0
+            >>> vmap.read_timestamp_from_grass()
+            True
+            >>> vmap.get_temporal_extent_as_tuple()
+            (2, None)
+            >>> vmap.get_relative_time_unit()
+            'years'
+
             >>> newmap = vmap.get_new_instance("new at PERMANENT")
             >>> isinstance(newmap, VectorDataset)
             True
@@ -738,7 +769,7 @@ class VectorDataset(AbstractMapDataset):
             >>> vmap.get_temporal_extent_as_tuple()
             (datetime.datetime(2001, 1, 1, 0, 0), datetime.datetime(2012, 1, 1, 0, 0))
             >>> vmap.get_name()
-            'stvds_map_test_case'
+            u'stvds_map_test_case'
             >>> vmap.get_mapset() == mapset
             True
             >>> vmap.get_temporal_type()
diff --git a/lib/python/temporal/stds_export.py b/lib/python/temporal/stds_export.py
index 09ff8b7..3b783c3 100644
--- a/lib/python/temporal/stds_export.py
+++ b/lib/python/temporal/stds_export.py
@@ -52,7 +52,8 @@ exported_maps = {}
 ############################################################################
 
 
-def _export_raster_maps_as_gdal(rows, tar, list_file, new_cwd, fs, format_):
+def _export_raster_maps_as_gdal(rows, tar, list_file, new_cwd, fs, format_, 
+                                type_):
     for row in rows:
         name = row["name"]
         start = row["start_time"]
@@ -70,7 +71,7 @@ def _export_raster_maps_as_gdal(rows, tar, list_file, new_cwd, fs, format_):
             if format_ == "GTiff":
                 # Export the raster map with r.out.gdal as tif
                 out_name = name + ".tif"
-                if datatype == "CELL":
+                if datatype == "CELL" and not type_:
                     nodata = max_val + 1
                     if nodata < 256 and min_val >= 0:
                         gdal_type = "Byte"
@@ -83,6 +84,10 @@ def _export_raster_maps_as_gdal(rows, tar, list_file, new_cwd, fs, format_):
                     gscript.run_command("r.out.gdal", flags="c", input=name,
                                         output=out_name, nodata=nodata,
                                         type=gdal_type, format="GTiff")
+                elif type_:
+                    gscript.run_command("r.out.gdal", flags="cf", input=name,
+                                        output=out_name,
+                                        type=type_, format="GTiff")
                 else:
                     gscript.run_command("r.out.gdal", flags="c",
                                         input=name, output=out_name,
@@ -227,7 +232,7 @@ def _export_raster3d_maps(rows, tar, list_file, new_cwd, fs):
 
 
 def export_stds(input, output, compression, directory, where, format_="pack",
-                type_="strds"):
+                type_="strds", datatype=None):
     """Export space time datasets as tar archive with optional compression
 
         This method should be used to export space time datasets
@@ -259,6 +264,7 @@ def export_stds(input, output, compression, directory, where, format_="pack",
               - "strds" Space time raster dataset
               - "str3ds" Space time 3D raster dataset
               - "stvds" Space time vector dataset
+        :param datatype: Force the output datatype for r.out.gdal
     """
 
     # Save current working directory path
@@ -295,7 +301,7 @@ def export_stds(input, output, compression, directory, where, format_="pack",
         if type_ == "strds":
             if format_ == "GTiff" or format_ == "AAIGrid":
                 _export_raster_maps_as_gdal(
-                    rows, tar, list_file, new_cwd, fs, format_)
+                    rows, tar, list_file, new_cwd, fs, format_, datatype)
             else:
                 _export_raster_maps(rows, tar, list_file, new_cwd, fs)
         elif type_ == "stvds":
@@ -329,7 +335,9 @@ def export_stds(input, output, compression, directory, where, format_="pack",
     if sp.is_time_relative():
         string += "%s=%s\n" % ("relative_time_unit",
                                sp.get_relative_time_unit())
-    string += "%s=%s\n" % ("number_of_maps", sp.metadata.get_number_of_maps())
+    # replace sp.metadata.get_number_of_maps() with len(rows)
+    # sp.metadata.get_number_of_maps() doesn't  work with where option
+    string += "%s=%s\n" % ("number_of_maps", len(rows))
     north, south, east, west, top, bottom = sp.get_spatial_extent_as_tuple()
     string += "%s=%s\n" % ("north", north)
     string += "%s=%s\n" % ("south", south)
diff --git a/lib/python/temporal/stds_import.py b/lib/python/temporal/stds_import.py
index 4899fe9..c78813f 100644
--- a/lib/python/temporal/stds_import.py
+++ b/lib/python/temporal/stds_import.py
@@ -53,7 +53,7 @@ imported_maps = {}
 
 
 def _import_raster_maps_from_gdal(maplist, overr, exp, location, link, format_,
-                                  set_current_region=False):
+                                  set_current_region=False, memory=300):
     impflags = ""
     if overr:
         impflags += "o"
@@ -76,7 +76,7 @@ def _import_raster_maps_from_gdal(maplist, overr, exp, location, link, format_,
                                     overwrite=gscript.overwrite())
             else:
                 gscript.run_command("r.in.gdal", input=filename,
-                                    output=name,
+                                    output=name, memory=memory,
                                     flags=impflags,
                                     overwrite=gscript.overwrite())
 
@@ -173,7 +173,8 @@ def _import_vector_maps(maplist):
 
 def import_stds(input, output, directory, title=None, descr=None, location=None,
                 link=False, exp=False, overr=False, create=False,
-                stds_type="strds", base=None, set_current_region=False):
+                stds_type="strds", base=None, set_current_region=False,
+                memory=300):
     """Import space time datasets of type raster and vector
 
         :param input: Name of the input archive file
@@ -194,6 +195,7 @@ def import_stds(input, output, directory, title=None, descr=None, location=None,
                          should be imported
         :param base: The base name of the new imported maps, it will be
                      extended using a numerical index.
+        :param memory: Cache size for raster rows, used in r.in.gdal
     """
 
     global raise_on_error
@@ -437,7 +439,8 @@ def import_stds(input, output, directory, title=None, descr=None, location=None,
         if type_ == "strds":
             if format_ == "GTiff" or format_ == "AAIGrid":
                 _import_raster_maps_from_gdal(maplist, overr, exp, location,
-                                              link, format_, set_current_region)
+                                              link, format_, set_current_region,
+                                              memory)
             if format_ == "pack":
                 _import_raster_maps(maplist, set_current_region)
         elif type_ == "stvds":
diff --git a/lib/python/temporal/temporal_algebra.py b/lib/python/temporal/temporal_algebra.py
index 40d9174..f0d6cd9 100644
--- a/lib/python/temporal/temporal_algebra.py
+++ b/lib/python/temporal/temporal_algebra.py
@@ -466,6 +466,7 @@ class TemporalAlgebraLexer(object):
         'tsnap'  : 'TSNAP',
         'tshift' : 'TSHIFT',
         'tmap' : 'TMAP',
+        'merge' : 'MERGE',
         'strds' : 'STRDS',
         'str3ds' : 'STR3DS',
         'stvds' : 'STVDS',
@@ -629,7 +630,7 @@ class TemporalAlgebraLexer(object):
         t.lineno += len(t.value)
 
     def t_NAME(self, t):
-        r'[a-zA-Z_][a-zA-Z_0-9]*'
+        r'[a-zA-Z_][a-zA-Z_0-9\@]*'
         self.temporal_symbol(t)
         return t
 
@@ -766,7 +767,7 @@ class TemporalAlgebraParser(object):
              space time datasets in the expression to generate the map lists.
              
              This function will analyze the expression to detect space time datasets
-             and computes the common granularity  from all granularities.
+             and computes the common granularity from all granularities.
           
              This granularity is then be used to generate the map lists. Hence, all
              maps from all STDS will have equidistant temporal extents. The only meaningful
@@ -816,6 +817,7 @@ class TemporalAlgebraParser(object):
             count += 1
 
         grans = []
+        start_times = []
         ttypes = {}
         dbif, connected = init_dbif(self.dbif)
 
@@ -827,6 +829,7 @@ class TemporalAlgebraParser(object):
                 return False
 
             grans.append(stds.get_granularity())
+            start_times.append(stds.get_temporal_extent_as_tuple()[0])
             ttypes[stds.get_temporal_type()] = stds.get_temporal_type()
         
         # Only one temporal type is allowed
@@ -836,7 +839,7 @@ class TemporalAlgebraParser(object):
             
         # Compute the common granularity
         if "absolute" in ttypes.keys():
-            self.granularity = compute_common_absolute_time_granularity(grans)
+            self.granularity = compute_common_absolute_time_granularity(grans, start_times)
         else:
             self.granularity = compute_common_relative_time_granularity(grans)
             
@@ -976,7 +979,7 @@ class TemporalAlgebraParser(object):
                 if temp_ext != None:
                     mapA.set_temporal_extent(temp_ext)
                 else:
-                    returncode = 0 
+                    returncode = 0
         return(returncode)
 
     def set_temporal_extent_list(self, maplist, topolist = ["EQUAL"], temporal = 'l' ):
@@ -2148,7 +2151,7 @@ class TemporalAlgebraParser(object):
         t[0] = t[1]
 
     def p_expr_strds_function(self, t):
-        # Specifiy a explicitely a space time raster dataset
+        # Explicitly specify a space time raster dataset
         # R = A : strds(B) 
         """
         expr : STRDS LPAREN stds RPAREN
@@ -2161,7 +2164,7 @@ class TemporalAlgebraParser(object):
                 print "Opening STRDS: ",  t[0]
 
     def p_expr_str3ds_function(self, t):
-        # Specifiy a explicitely a space time raster dataset
+        # Explicitly specify a space time raster dataset
         # R = A : str3ds(B) 
         """
         expr : STR3DS LPAREN stds RPAREN
@@ -2174,7 +2177,7 @@ class TemporalAlgebraParser(object):
                 print "Opening STR3DS: ",  t[0]
 
     def p_expr_stvds_function(self, t):
-        # Specifiy a explicitely a space time vector dataset
+        # Explicitly specify a space time vector dataset
         # R = A : stvds(B) 
         """
         expr : STVDS LPAREN stds RPAREN
@@ -2226,6 +2229,50 @@ class TemporalAlgebraParser(object):
         if self.debug:
             print "tmap(", t[3] , ")"
 
+    def p_expr_tmerge_function(self, t):
+        # Merge two maplists of same STDS type into a result map list.
+        # Only possible for same data types!
+        # Examples:
+        #    R = merge(A, B)
+        """
+        expr : MERGE LPAREN stds COMMA stds RPAREN
+               | MERGE LPAREN expr COMMA stds RPAREN
+               | MERGE LPAREN stds COMMA expr RPAREN
+               | MERGE LPAREN expr COMMA expr RPAREN
+        """
+        if self.run:
+            # Check input map.
+            maplistA   = self.check_stds(t[3])
+            maplistB   = self.check_stds(t[5])
+            
+            # Check empty lists.
+            if len(maplistA) == 0 and len(maplistB) == 0:
+                self.msgr.warning(_("Merging empty map lists"))
+                resultlist = maplistA + maplistB
+            elif len(maplistA) == 0:
+                self.msgr.message(_("First Map list is empty, can't merge it. Return only last map list"))
+                resultlist = maplistB
+            elif len(maplistB) == 0:
+                self.msgr.message(_("Second Map list is empty, can't merge it. Return only first map list"))
+                resultlist = maplistA
+            else:
+                # Check for identical data types in map lists.
+                typeA = maplistA[0].metadata.get_datatype()
+                typeB = maplistB[0].metadata.get_datatype()
+
+                if typeA != typeB:
+                    grass.fatal(_("Space time datasets to merge must have the same temporal type"))
+
+                resultlist = maplistA + maplistB
+            
+            # Return map list.
+            t[0] = resultlist
+        else:
+            t[0] = "merge(",  t[3], ",", t[5], ")"
+
+        if self.debug:
+            print "merge(", t[3], ",", t[5], ")"
+
     def p_t_hash(self,t):
         """
         t_hash_var : stds HASH stds
diff --git a/lib/python/temporal/temporal_granularity.py b/lib/python/temporal/temporal_granularity.py
index 5ab3f95..f310f9e 100644
--- a/lib/python/temporal/temporal_granularity.py
+++ b/lib/python/temporal/temporal_granularity.py
@@ -516,8 +516,238 @@ def compute_common_relative_time_granularity(gran_list):
 
 ###############################################################################
 
-def compute_common_absolute_time_granularity(gran_list):
-    """Compute the greatest common granule from a list of absolute time granules
+def compute_common_absolute_time_granularity(gran_list,
+                                             start_date_list = None):
+    """ Compute the greatest common granule from a list of absolute time granules,
+        considering the start times of the related space time datasets in the
+        common granularity computation.
+
+        The list of start dates is optional. If you use this function to compute a common
+        granularity between space time datasets, then you should provide their start times
+        to avoid wrong synchronization.
+
+        :param gran_list: List of granularities
+        :param start_date_list: List of the start times of related space time datasets
+        :return: The common granularity
+
+        .. code-block:: python
+
+            >>> from datetime import datetime
+            >>> import grass.temporal as tgis
+            >>> tgis.init()
+            >>> grans = ["20 second", "10 minutes", "2 hours"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '20 seconds'
+
+            >>> grans = ["20 second", "10 minutes", "2 hours"]
+            >>> dates = [datetime(2001,1,1,0,0,20),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 second'
+
+            >>> grans = ["7200 second", "240 minutes", "1 year"]
+            >>> dates = [datetime(2001,1,1,0,0,10),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 second'
+
+            >>> grans = ["7200 second", "89 minutes", "1 year"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '60 seconds'
+
+            >>> grans = ["120 minutes", "2 hours"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '60 minutes'
+
+            >>> grans = ["120 minutes", "2 hours"]
+            >>> dates = [datetime(2001,1,1,0,30,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 minute'
+
+            >>> grans = ["360 minutes", "3 hours"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '60 minutes'
+
+            >>> grans = ["2 hours", "4 hours", "8 hours"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '2 hours'
+
+            >>> grans = ["2 hours", "4 hours", "8 hours"]
+            >>> dates = [datetime(2001,1,1,2,0,0),
+            ...          datetime(2001,1,1,4,0,0),
+            ...          datetime(2001,1,1,8,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 hour'
+
+            >>> grans = ["8 hours", "2 days"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '8 hours'
+
+            >>> grans = ["8 hours", "2 days"]
+            >>> dates = [datetime(2001,1,1,10,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 hour'
+
+            >>> grans = ["120 months", "360 months", "4 years"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '12 months'
+
+            >>> grans = ["30 days", "10 days", "5 days"]
+            >>> dates = [datetime(2001,2,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '5 days'
+
+            >>> grans = ["30 days", "10 days", "5 days"]
+            >>> dates = [datetime(2001,2,2,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 day'
+
+            >>> grans = ["2 days", "360 months", "4 years"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '2 days'
+
+            >>> grans = ["2 days", "360 months", "4 years"]
+            >>> dates = [datetime(2001,1,2,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 day'
+
+            >>> grans = ["120 months", "360 months", "4 years"]
+            >>> dates = [datetime(2001,2,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 month'
+
+            >>> grans = ["120 months", "361 months", "4 years"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '1 month'
+
+            >>> grans = ["120 months", "360 months", "4 years"]
+            >>> dates = [datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),
+            ...          datetime(2001,1,1,0,0,0),]
+            >>> tgis.compute_common_absolute_time_granularity(grans, dates)
+            '12 months'
+
+        ..
+
+    """
+
+    common_granule = compute_common_absolute_time_granularity_simple(gran_list)
+
+    if start_date_list is None:
+        return common_granule
+
+    num, granule = common_granule.split()
+
+    if granule in ["seconds",  "second"]:
+        # If the start seconds are different between the start dates
+        # set the granularity to one second
+        for start_time in start_date_list:
+            if start_time.second != start_date_list[0].second:
+                return "1 second"
+        # Make sure the granule does not exceed the hierarchy limit
+        if int(num) > 60:
+            if int(num)%60 == 0:
+                return "60 seconds"
+            else:
+                return "1 second"
+
+    if granule in ["minutes",  "minute"]:
+        # If the start minutes are different between the start dates
+        # set the granularity to one minute
+        for start_time in start_date_list:
+            if start_time.minute != start_date_list[0].minute:
+                return "1 minute"
+        # Make sure the granule does not exceed the hierarchy limit
+        if int(num) > 60:
+            if int(num)%60 == 0:
+                return "60 minutes"
+            else:
+                return "1 minute"
+
+    if granule in ["hours",  "hour"]:
+        # If the start hours are different between the start dates
+        # set the granularity to one hour
+        for start_time in start_date_list:
+            if start_time.hour != start_date_list[0].hour:
+                return "1 hour"
+        # Make sure the granule does not exceed the hierarchy limit
+        if int(num) > 24:
+            if int(num)%24 == 0:
+                return "24 hours"
+            else:
+                return "1 hour"
+
+    if granule in ["days",  "day"]:
+        # If the start days are different between the start dates
+        # set the granularity to one day
+        for start_time in start_date_list:
+            if start_time.day != start_date_list[0].day:
+                return "1 day"
+        # Make sure the granule does not exceed the hierarchy limit
+        if int(num) > 365:
+            if int(num)%365 == 0:
+                return "365 days"
+            else:
+                return "1 day"
+
+    if granule in ["months",  "month"]:
+        # If the start months are different between the start dates
+        # set the granularity to one month
+        for start_time in start_date_list:
+            if start_time.month != start_date_list[0].month:
+                return "1 month"
+        # Make sure the granule does not exceed the hierarchy limit
+        if int(num) > 12:
+            if int(num)%12 == 0:
+                return "12 months"
+            else:
+                return "1 month"
+
+    return common_granule
+
+###############################################################################
+
+def compute_common_absolute_time_granularity_simple(gran_list):
+    """ Compute the greatest common granule from a list of absolute time granules
+
+        :param gran_list: List of granularities
+        :return: The common granularity
 
         .. code-block:: python
 
@@ -525,7 +755,7 @@ def compute_common_absolute_time_granularity(gran_list):
             >>> tgis.init()
             >>> grans = ["1 second", "2 seconds", "30 seconds"]
             >>> tgis.compute_common_absolute_time_granularity(grans)
-            '1 seconds'
+            '1 second'
             
             >>> grans = ["3 second", "6 seconds", "30 seconds"]
             >>> tgis.compute_common_absolute_time_granularity(grans)
@@ -585,11 +815,11 @@ def compute_common_absolute_time_granularity(gran_list):
 
             >>> grans = ["120 months", "361 months", "4 years"]
             >>> tgis.compute_common_absolute_time_granularity(grans)
-            '1 months'
+            '1 month'
 
             >>> grans = ["2 years", "3 years", "4 years"]
             >>> tgis.compute_common_absolute_time_granularity(grans)
-            '1 years'
+            '1 year'
     """
     
     has_seconds = False # 0
@@ -691,7 +921,10 @@ def compute_common_absolute_time_granularity(gran_list):
             seconds.append(years[0]*60*60*24*366)
 
         num = gcd_list(seconds)
-        return "%i %s"%(num,  "seconds")
+        gran = "second"
+        if num > 1:
+            gran += "s"
+        return "%i %s"%(num,  gran)
         
     elif has_minutes:
         if has_hours:
@@ -711,7 +944,10 @@ def compute_common_absolute_time_granularity(gran_list):
             minutes.append(years[0]*60*24*365)
             minutes.append(years[0]*60*24*366)
         num = gcd_list(minutes)
-        return "%i %s"%(num,  "minutes")
+        gran = "minute"
+        if num > 1:
+            gran += "s"
+        return "%i %s"%(num,  gran)
         
     elif has_hours:
         if has_days:
@@ -728,7 +964,10 @@ def compute_common_absolute_time_granularity(gran_list):
             hours.append(years[0]*24*365)
             hours.append(years[0]*24*366)
         num = gcd_list(hours)
-        return "%i %s"%(num,  "hours")
+        gran = "hour"
+        if num > 1:
+            gran += "s"
+        return "%i %s"%(num,  gran)
 
     elif has_days:
         if has_months:
@@ -742,18 +981,27 @@ def compute_common_absolute_time_granularity(gran_list):
             days.append(years[0]*365)
             days.append(years[0]*366)
         num = gcd_list(days)
-        return "%i %s"%(num,  "days")
+        gran = "day"
+        if num > 1:
+            gran += "s"
+        return "%i %s"%(num,  gran)
 
     elif has_months:
         if has_years:
             years.sort()
             months.append(years[0]*12)
         num = gcd_list(months)
-        return "%i %s"%(num,  "months")
+        gran = "month"
+        if num > 1:
+            gran += "s"
+        return "%i %s"%(num,  gran)
         
     elif has_years:
         num = gcd_list(years)
-        return "%i %s"%(num,  "years")
+        gran = "year"
+        if num > 1:
+            gran += "s"
+        return "%i %s"%(num,  gran)
         
 
 ###############################################################################
diff --git a/lib/python/temporal/temporal_raster_base_algebra.py b/lib/python/temporal/temporal_raster_base_algebra.py
index 44acca9..dc9b71d 100644
--- a/lib/python/temporal/temporal_raster_base_algebra.py
+++ b/lib/python/temporal/temporal_raster_base_algebra.py
@@ -1509,10 +1509,10 @@ class TemporalRasterBaseAlgebraParser(TemporalAlgebraParser):
                 theninput = self.check_stds(t[7])
                 elseinput = str(t[9])
         elif len(t) == 13:
-            if isinstance(t[7],  int):
+            if t[7] == 'null':
                 theninput = str(t[7] + t[8] + t[9])
                 elseinput = self.check_stds(t[11])
-            elif isinstance(t[9],  int):
+            elif t[9] == 'null':
                 theninput = self.check_stds(t[7])
                 elseinput = str(t[9] + t[10] + t[11])
 
diff --git a/lib/python/temporal/testsuite/test_doctests.py b/lib/python/temporal/testsuite/test_doctests.py
index fcbc797..5fbdc99 100644
--- a/lib/python/temporal/testsuite/test_doctests.py
+++ b/lib/python/temporal/testsuite/test_doctests.py
@@ -5,29 +5,30 @@ Temporal framework doctests
 
 import doctest
 import grass.temporal
-import grass.gunittest
+import grass.gunittest.case
+import grass.gunittest.main
 import grass.gunittest.utils
-import os
+
 
 doctest.DocFileCase = type('DocFileCase',
-                           (grass.gunittest.TestCase,),
+                           (grass.gunittest.case.TestCase,),
                            dict(doctest.DocFileCase.__dict__))
 doctest.SkipDocTestCase = type('SkipDocTestCase',
-                               (grass.gunittest.TestCase,),
+                               (grass.gunittest.case.TestCase,),
                                dict(doctest.SkipDocTestCase.__dict__))
 
+
 def load_tests(loader, tests, ignore):
     grass.gunittest.utils.do_doctest_gettext_workaround()
     tests.addTests(doctest.DocTestSuite(grass.temporal.abstract_dataset))
     tests.addTests(doctest.DocTestSuite(grass.temporal.abstract_map_dataset))
     tests.addTests(doctest.DocTestSuite(grass.temporal.abstract_space_time_dataset))
     tests.addTests(doctest.DocTestSuite(grass.temporal.base))
-    tests.addTests(doctest.DocTestSuite(grass.temporal.c_libraries_interface))
     # Unexpected error here
-    #tests.addTests(doctest.DocTestSuite(grass.temporal.core))
+    ##tests.addTests(doctest.DocTestSuite(grass.temporal.core))
     tests.addTests(doctest.DocTestSuite(grass.temporal.datetime_math))
     # Unexpected error here
-    #tests.addTests(doctest.DocTestSuite(grass.temporal.list_stds))
+    ##tests.addTests(doctest.DocTestSuite(grass.temporal.list_stds))
     tests.addTests(doctest.DocTestSuite(grass.temporal.metadata))
     tests.addTests(doctest.DocTestSuite(grass.temporal.register))
     tests.addTests(doctest.DocTestSuite(grass.temporal.space_time_datasets))
@@ -44,7 +45,9 @@ def load_tests(loader, tests, ignore):
     tests.addTests(doctest.DocTestSuite(grass.temporal.temporal_raster_base_algebra))
     tests.addTests(doctest.DocTestSuite(grass.temporal.temporal_operator))
     tests.addTests(doctest.DocTestSuite(grass.temporal.temporal_vector_algebra))
+    tests.addTests(doctest.DocTestSuite(grass.temporal.c_libraries_interface))
     return tests
 
+
 if __name__ == '__main__':
-    grass.gunittest.test()
+    grass.gunittest.main.test()
diff --git a/lib/python/temporal/testsuite/test_register_function.py b/lib/python/temporal/testsuite/test_register_function.py
index 8ff5ffd..55c9832 100644
--- a/lib/python/temporal/testsuite/test_register_function.py
+++ b/lib/python/temporal/testsuite/test_register_function.py
@@ -10,11 +10,12 @@ for details.
 """
 
 import grass.temporal as tgis
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 import datetime
 import os
 
-class TestRegisterFunctions(grass.gunittest.TestCase):
+class TestRegisterFunctions(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -335,4 +336,4 @@ class TestRegisterFails(TestCase):
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/lib/python/temporal/testsuite/unittests_register.py b/lib/python/temporal/testsuite/unittests_register.py
deleted file mode 100644
index 21ab827..0000000
--- a/lib/python/temporal/testsuite/unittests_register.py
+++ /dev/null
@@ -1,307 +0,0 @@
-"""!Unit test to register raster maps with absolute and relative 
-   time using tgis.register_maps_in_space_time_dataset()
-
-(C) 2013 by the GRASS Development Team
-This program is free software under the GNU General Public
-License (>=v2). Read the file COPYING that comes with GRASS
-for details.
-
- at author Soeren Gebbert
-"""
-
-import grass.script as grass
-import grass.temporal as tgis
-from gunittest.case import GrassTestCase
-import datetime
-
-class TestRegisterFunctions(GrassTestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        """!Initiate the temporal GIS and set the region
-        """
-        # Use always the current mapset as temporal database
-        cls.assertModule("g.gisenv",  set="TGIS_USE_CURRENT_MAPSET=1")
-        tgis.init()
-        grass.overwrite = True
-        grass.use_temp_region()
-        cls.assertModule("g.region", n=80.0, s=0.0, e=120.0, 
-                                w=0.0, t=1.0, b=0.0, res=10.0)
-
-    def setUp(self):
-        """!Create the test maps and the space time raster datasets
-        """
-        self.assertModule("r.mapcalc", overwrite=True, quiet=True, 
-                          expression="register_map_1 = 1")
-        self.assertModule("r.mapcalc", overwrite=True, quiet=True, 
-                          expression="register_map_2 = 2")
-        self.assertEqual(ret, 0)
-        
-        
-        self.strds_abs = tgis.open_new_stds(name="register_test_abs", type="strds", temporaltype="absolute", 
-                                            title="Test strds", descr="Test strds", semantic="field")
-        self.strds_rel = tgis.open_new_stds(name="register_test_rel", type="strds", temporaltype="relative", 
-                                            title="Test strds", descr="Test strds", semantic="field")
-
-    def test_absolute_time_strds_1(self):
-        """!Test the registration of maps with absolute time in a
-           space time raster dataset
-        """
-        tgis.register_maps_in_space_time_dataset(type="rast", name=self.strds_abs.get_name(), 
-                 maps="register_map_1,register_map_2",
-                 start="2001-01-01", increment="1 day", interval=True)
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1))
-        self.assertEqual(end, datetime.datetime(2001, 1, 2))
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 2))
-        self.assertEqual(end, datetime.datetime(2001, 1, 3))
-
-        self.strds_abs.select()
-        start, end = self.strds_abs.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1))
-        self.assertEqual(end, datetime.datetime(2001, 1, 3))
-
-    def test_absolute_time_strds_2(self):
-        """!Test the registration of maps with absolute time in a
-           space time raster dataset.
-           The timestamps are set using the C-Interface beforehand, so that the register function needs
-           to read the timetsamp from the map metadata.
-        """
-
-        ciface = tgis.get_tgis_c_library_interface()
-        ciface.write_raster_timestamp("register_map_1", tgis.get_current_mapset(), "1 Jan 2001/2 Jan 2001")
-        ciface.write_raster_timestamp("register_map_2", tgis.get_current_mapset(), "2 Jan 2001/3 Jan 2001")
-
-        tgis.register_maps_in_space_time_dataset(type="rast", name=self.strds_abs.get_name(), 
-                                                 maps="register_map_1,register_map_2")
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1))
-        self.assertEqual(end, datetime.datetime(2001, 1, 2))
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 2))
-        self.assertEqual(end, datetime.datetime(2001, 1, 3))
-
-        self.strds_abs.select()
-        start, end = self.strds_abs.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1))
-        self.assertEqual(end, datetime.datetime(2001, 1, 3))
-
-    def test_absolute_time_1(self):
-        """!Test the registration of maps with absolute time
-        """
-        tgis.register_maps_in_space_time_dataset(type="rast", name=None, 
-                 maps="register_map_1,register_map_2",
-                 start="2001-01-01", increment="1 day", interval=True)
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1))
-        self.assertEqual(end, datetime.datetime(2001, 1, 2))
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 2))
-        self.assertEqual(end, datetime.datetime(2001, 1, 3))
-
-    def test_absolute_time_2(self):
-        """!Test the registration of maps with absolute time
-        """
-        tgis.register_maps_in_space_time_dataset(type="rast", name=None, 
-                 maps="register_map_1,register_map_2",
-                 start="2001-01-01 10:30:01", increment="8 hours", interval=False)
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1, 10, 30, 1))
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1, 18, 30, 1))
-
-    def test_absolute_time_3(self):
-        """!Test the registration of maps with absolute time. 
-           The timestamps are set using the C-Interface beforehand, so that the register function needs
-           to read the timetsamp from the map metadata.
-        """
-                 
-        ciface = tgis.get_tgis_c_library_interface()
-        ciface.write_raster_timestamp("register_map_1", tgis.get_current_mapset(), "1 Jan 2001 10:30:01")
-        ciface.write_raster_timestamp("register_map_2", tgis.get_current_mapset(), "1 Jan 2001 18:30:01")
-
-        tgis.register_maps_in_space_time_dataset(type="rast", name=None, 
-                 maps="register_map_1,register_map_2")
-                 
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1, 10, 30, 1))
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end = map.get_absolute_time()
-        self.assertEqual(start, datetime.datetime(2001, 1, 1, 18, 30, 1))
-
-    def test_relative_time_strds_1(self):
-        """!Test the registration of maps with relative time in a
-           space time raster dataset
-        """
-
-        tgis.register_maps_in_space_time_dataset(type="rast", name=self.strds_rel.get_name(), 
-                                                 maps="register_map_1,register_map_2", start=0, 
-                                                 increment=1, unit="day", interval=True)
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 0)
-        self.assertEqual(end, 1)
-        self.assertEqual(unit, "day")
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 1)
-        self.assertEqual(end, 2)
-        self.assertEqual(unit, "day")
-
-        self.strds_rel.select()
-        start, end, unit = self.strds_rel.get_relative_time()
-        self.assertEqual(start, 0)
-        self.assertEqual(end, 2)
-        self.assertEqual(unit, "day")
-
-    def test_relative_time_strds_2(self):
-        """!Test the registration of maps with relative time in a
-           space time raster dataset. The timetsamps are set for the maps using the 
-           C-interface before registration.
-        """
-        ciface = tgis.get_tgis_c_library_interface()
-        ciface.write_raster_timestamp("register_map_1", tgis.get_current_mapset(), "1000000 seconds/1500000 seconds")
-        ciface.write_raster_timestamp("register_map_2", tgis.get_current_mapset(), "1500000 seconds/2000000 seconds")
-
-        tgis.register_maps_in_space_time_dataset(type="rast", name=self.strds_rel.get_name(), 
-                                                 maps="register_map_1,register_map_2")
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 1000000)
-        self.assertEqual(end, 1500000)
-        self.assertEqual(unit, "seconds")
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 1500000)
-        self.assertEqual(end, 2000000)
-        self.assertEqual(unit, "seconds")
-
-        self.strds_rel.select()
-        start, end, unit = self.strds_rel.get_relative_time()
-        self.assertEqual(start, 1000000)
-        self.assertEqual(end, 2000000)
-        self.assertEqual(unit, "seconds")
-        
-    def test_relative_time_1(self):
-        """!Test the registration of maps with relative time
-        """
-        tgis.register_maps_in_space_time_dataset(type="rast", name=None, 
-                 maps="register_map_1,register_map_2",
-                 start=0, increment=1, unit="day", interval=True)
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 0)
-        self.assertEqual(end, 1)
-        self.assertEqual(unit, "day")
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 1)
-        self.assertEqual(end, 2)
-        self.assertEqual(unit, "day")
-
-    def test_relative_time_2(self):
-        """!Test the registration of maps with relative time
-        """
-        tgis.register_maps_in_space_time_dataset(type="rast", name=None, 
-                 maps="register_map_1,register_map_2",
-                 start=1000000, increment=500000, unit="seconds", interval=True)
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 1000000)
-        self.assertEqual(end, 1500000)
-        self.assertEqual(unit, "seconds")
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 1500000)
-        self.assertEqual(end, 2000000)
-        self.assertEqual(unit, "seconds")
-
-    def test_relative_time_3(self):
-        """!Test the registration of maps with relative time. The timetsamps are set beforhand using
-           the C-interface.
-        """
-        ciface = tgis.get_tgis_c_library_interface()
-        ciface.write_raster_timestamp("register_map_1", tgis.get_current_mapset(), "1000000 seconds/1500000 seconds")
-        ciface.write_raster_timestamp("register_map_2", tgis.get_current_mapset(), "1500000 seconds/2000000 seconds")
-        
-        tgis.register_maps_in_space_time_dataset(type="rast", name=None, 
-                 maps="register_map_1,register_map_2")
-
-        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 1000000)
-        self.assertEqual(end, 1500000)
-        self.assertEqual(unit, "seconds")
-
-        map = tgis.RasterDataset("register_map_2@" + tgis.get_current_mapset())
-        map.select()
-        start, end, unit = map.get_relative_time()
-        self.assertEqual(start, 1500000)
-        self.assertEqual(end, 2000000)
-        self.assertEqual(unit, "seconds")
-
-    def tearDown(self):
-        """!Remove maps from temporal database
-        """
-        self.assertModule("t.unregister", maps="register_map_1,register_map_2", quiet=True)
-        self.assertModule("g.remove", rast="register_map_1,register_map_2", quiet=True)
-        self.strds_abs.delete()
-        self.strds_rel.delete()
-
-    @classmethod
-    def tearDownClass(cls):
-        """!Remove the temporary region
-        """
-        grass.del_temp_region()
-
-if __name__ == '__main__':
-    from gunittest.main import test
-    test()
-
-
diff --git a/lib/python/temporal/testsuite/unittests_temporal_algebra.py b/lib/python/temporal/testsuite/unittests_temporal_algebra.py
index 9070779..8f0432f 100644
--- a/lib/python/temporal/testsuite/unittests_temporal_algebra.py
+++ b/lib/python/temporal/testsuite/unittests_temporal_algebra.py
@@ -9,11 +9,12 @@ for details.
 
 import grass.script
 import grass.temporal as tgis
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 import datetime
 import os
 
-class TestTemporalAlgebra(grass.gunittest.TestCase):
+class TestTemporalAlgebra(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -55,7 +56,7 @@ class TestTemporalAlgebra(grass.gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="raster", name="D", maps="d1,d2,d3",
                                                  start="2001-01-03", increment="1 day", interval=True)
         tgis.register_maps_in_space_time_dataset(type="raster", name=None,  maps="singletmap", 
-                                                start="2001-01-03", end="2001-01-04", interval=True)
+                                                 start="2001-01-03", end="2001-01-04")
 
     def tearDown(self):
         self.runModule("t.remove", inputs="R", quiet=True)
@@ -350,5 +351,39 @@ class TestTemporalAlgebra(grass.gunittest.TestCase):
         self.assertEqual( D.check_temporal_topology(),  True)
         self.assertEqual(D.get_granularity(),  u'1 day')
 
+    def test_merge_function1(self):
+        """Testing the merge function. """
+        ta = tgis.TemporalAlgebraParser(run = True, debug = True)
+        ta.parse(expression='R = merge(A,D)',  stdstype = 'strds', basename="r", overwrite=True)
+
+        D = tgis.open_old_stds("R", type="strds")
+        D.select()
+        maplist = D.get_registered_maps_as_objects()
+        self.assertEqual(D.metadata.get_number_of_maps(), 7)
+        self.assertEqual(D.metadata.get_min_min(), 1) 
+        self.assertEqual(D.metadata.get_max_max(), 10) 
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 6))
+        self.assertEqual( D.check_temporal_topology(),  False)
+        self.assertEqual(D.get_granularity(),  u'1 day')
+
+    def test_merge_function2(self):
+        """Testing the merge function. """
+        ta = tgis.TemporalAlgebraParser(run = True, debug = True)
+        ta.parse(expression='R = merge(A, B {!:,contains} A)',  stdstype = 'strds', basename="r", overwrite=True)
+
+        D = tgis.open_old_stds("R", type="strds")
+        D.select()
+        maplist = D.get_registered_maps_as_objects()
+        self.assertEqual(D.metadata.get_number_of_maps(), 4)
+        self.assertEqual(D.metadata.get_min_min(), 1) 
+        self.assertEqual(D.metadata.get_max_max(), 4) 
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 5))
+        self.assertEqual( D.check_temporal_topology(),  True)
+        self.assertEqual(D.get_granularity(),  u'1 day')
+
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py b/lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py
index e631f89..34de217 100644
--- a/lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py
+++ b/lib/python/temporal/testsuite/unittests_temporal_algebra_grs.py
@@ -9,11 +9,12 @@ for details.
 
 import grass.script
 import grass.temporal as tgis
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 import datetime
 import os
 
-class TestTemporalAlgebraGranularity(grass.gunittest.TestCase):
+class TestTemporalAlgebraGranularity(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -61,7 +62,7 @@ class TestTemporalAlgebraGranularity(grass.gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="raster", name="D", maps="d3",
                                                  start="2001-05-01", increment="31 days", interval=True)
         tgis.register_maps_in_space_time_dataset(type="raster", name=None,  maps="singletmap", 
-                                                start="2001-01-03", end="2001-01-04", interval=True)
+                                                start="2001-01-03", end="2001-01-04")
 
     def tearDown(self):
         pass
@@ -76,12 +77,12 @@ class TestTemporalAlgebraGranularity(grass.gunittest.TestCase):
 
     def test_common_granularity_1(self):
         """Testing the common granularity function. """
-        ta = tgis.TemporalAlgebraParser(run = True, debug = True)
+        ta = tgis.TemporalAlgebraParser(run=True, debug=True)
         expr = 'R = A : B'
         ret = ta.setup_common_granularity(expression=expr)
 
         self.assertEqual(ret, True)
-        self.assertEqual(ta.granularity, "1 months")
+        self.assertEqual(ta.granularity, "1 month")
 
         ta.count = 0
         ta.stdstype = "strds"
@@ -225,4 +226,4 @@ class TestTemporalAlgebraGranularity(grass.gunittest.TestCase):
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/lib/python/temporal/testsuite/unittests_temporal_conditionals.py b/lib/python/temporal/testsuite/unittests_temporal_conditionals.py
index 87371a1..aee69c1 100644
--- a/lib/python/temporal/testsuite/unittests_temporal_conditionals.py
+++ b/lib/python/temporal/testsuite/unittests_temporal_conditionals.py
@@ -9,11 +9,12 @@ for details.
 
 import grass.script
 import grass.temporal as tgis
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 import datetime
 import os
 
-class TestTemporalConditionals(grass.gunittest.TestCase):
+class TestTemporalConditionals(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -62,7 +63,7 @@ class TestTemporalConditionals(grass.gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="raster", name="E", maps="e1,e2,e3",
                                                  start="2000-12-31", increment="2 day", interval=True)
         tgis.register_maps_in_space_time_dataset(type="raster", name=None,  maps="singletmap", 
-                                                start="2001-01-03", end="2001-01-04", interval=True)
+                                                start="2001-01-03", end="2001-01-04")
 
     def tearDown(self):
         self.runModule("t.remove", inputs="R", quiet=True)
@@ -350,7 +351,7 @@ class TestTemporalConditionals(grass.gunittest.TestCase):
         self.assertEqual(D.get_granularity(),  u'2 days')
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
 
 
 
diff --git a/lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py b/lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py
index e8fc998..9d51ab2 100644
--- a/lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py
+++ b/lib/python/temporal/testsuite/unittests_temporal_raster3d_algebra.py
@@ -10,11 +10,12 @@ for details.
 
 import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 import datetime
-import os
 
-class TestTemporalRaster3dAlgebra(gunittest.TestCase):
+
+class TestTemporalRaster3dAlgebra(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -76,8 +77,6 @@ class TestTemporalRaster3dAlgebra(gunittest.TestCase):
         self.assertEqual(start, datetime.datetime(2001, 1, 2))
         self.assertEqual(end, datetime.datetime(2001, 1, 4))
 
-if __name__ == '__main__':
-    grass.gunittest.test()
-
-
 
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py b/lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py
index 1af7c85..daf27f9 100644
--- a/lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py
+++ b/lib/python/temporal/testsuite/unittests_temporal_raster_algebra.py
@@ -8,12 +8,12 @@ for details.
 """
 
 import datetime
-import os
-import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTemporalRasterAlgebra(gunittest.TestCase):
+
+class TestTemporalRasterAlgebra(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -55,7 +55,7 @@ class TestTemporalRasterAlgebra(gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="raster", name="D", maps="d1,d2,d3",
                                                  start="2001-01-03", increment="1 day", interval=True)                                                 
         tgis.register_maps_in_space_time_dataset(type="raster", name=None,  maps="singletmap", 
-                                                start="2001-01-03", end="2001-01-04", interval=True)
+                                                start="2001-01-03", end="2001-01-04")
         
     def tearDown(self):
         self.runModule("t.remove", flags="rf", inputs="R", quiet=True)
@@ -707,5 +707,6 @@ class TestTemporalRasterAlgebra(gunittest.TestCase):
         self.assertEqual( D.check_temporal_topology(),  True)
         self.assertEqual(D.get_granularity(),  u'1 day')
 
+
 if __name__ == '__main__':
-    gunittest.test()
+    test()
diff --git a/lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py b/lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py
index bb59c82..90e01c6 100644
--- a/lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py
+++ b/lib/python/temporal/testsuite/unittests_temporal_raster_algebra_grs.py
@@ -8,12 +8,12 @@ for details.
 """
 
 import datetime
-import os
-import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTemporalRasterAlgebra(gunittest.TestCase):
+
+class TestTemporalRasterAlgebra(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -60,7 +60,7 @@ class TestTemporalRasterAlgebra(gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="raster", name="D", maps="d3",
                                                  start="2001-05-01", increment="5 days", interval=True)
         tgis.register_maps_in_space_time_dataset(type="raster", name=None,  maps="singletmap", 
-                                                start="2001-03-01", end="2001-04-01", interval=True)
+                                                start="2001-03-01", end="2001-04-01")
         
     def tearDown(self):
         return
@@ -273,5 +273,6 @@ class TestTemporalRasterAlgebra(gunittest.TestCase):
         self.assertEqual( D.check_temporal_topology(),  True)
         self.assertEqual(D.get_granularity(),  u'1 month')
 
+
 if __name__ == '__main__':
-    gunittest.test()
+    test()
diff --git a/lib/python/temporal/testsuite/unittests_temporal_raster_conditionals.py b/lib/python/temporal/testsuite/unittests_temporal_raster_conditionals.py
index 4687450..0eed6a1 100644
--- a/lib/python/temporal/testsuite/unittests_temporal_raster_conditionals.py
+++ b/lib/python/temporal/testsuite/unittests_temporal_raster_conditionals.py
@@ -8,12 +8,12 @@ for details.
 """
 
 import datetime
-import os
-import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTemporalRasterAlgebraConditionals(gunittest.TestCase):
+
+class TestTemporalRasterAlgebraConditionals(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -494,5 +494,6 @@ class TestTemporalRasterAlgebraConditionals(gunittest.TestCase):
         self.assertEqual( R.check_temporal_topology(),  True)
         self.assertEqual(R.get_granularity(),  u'1 day')
 
+
 if __name__ == '__main__':
-    gunittest.test()
+    test()
diff --git a/lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py b/lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py
index 27225f1..2310a12 100644
--- a/lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py
+++ b/lib/python/temporal/testsuite/unittests_temporal_vector_algebra.py
@@ -8,12 +8,12 @@ for details.
 """
 
 import datetime
-import os
-import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTemporalVectorAlgebra(gunittest.TestCase):
+
+class TestTemporalVectorAlgebra(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -55,7 +55,7 @@ class TestTemporalVectorAlgebra(gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="vector", name="D", maps="d1,d2,d3",
                                                  start="2001-01-03", increment="1 day", interval=True)
         tgis.register_maps_in_space_time_dataset(type="vector", name=None,  maps="singletmap", 
-                                                start="2001-01-03", end="2001-01-04", interval=True)
+                                                start="2001-01-03", end="2001-01-04")
     
     def tearDown(self):
         self.runModule("t.remove", type="stvds", inputs="R", quiet=True)
@@ -202,8 +202,6 @@ class TestTemporalVectorAlgebra(gunittest.TestCase):
         self.assertEqual( D.check_temporal_topology(),  True)
         self.assertEqual(D.get_granularity(),  u'1 day')
 
-if __name__ == '__main__':
-    gunittest.test()
-
-
 
+if __name__ == '__main__':
+    test()
diff --git a/lib/python/temporal/univar_statistics.py b/lib/python/temporal/univar_statistics.py
index bd13392..d910979 100755
--- a/lib/python/temporal/univar_statistics.py
+++ b/lib/python/temporal/univar_statistics.py
@@ -126,7 +126,7 @@ def print_gridded_dataset_univar_statistics(type, input, output, where, extended
 ###############################################################################
 
 
-def print_vector_dataset_univar_statistics(input, twhere, layer, type, column,
+def print_vector_dataset_univar_statistics(input, output, twhere, layer, type, column,
                                            where, extended, no_header=False,
                                            fs="|"):
     """Print univariate statistics for a space time vector dataset
@@ -148,6 +148,9 @@ def print_vector_dataset_univar_statistics(input, twhere, layer, type, column,
     dbif = SQLDatabaseInterfaceConnection()
     dbif.connect()
 
+    if output is not None:
+        out_file = open(output, "w")
+
     mapset = get_current_mapset()
 
     if input.find("@") >= 0:
@@ -187,7 +190,10 @@ def print_vector_dataset_univar_statistics(input, twhere, layer, type, column,
                 string += fs + "first_quartile" + fs + "median" + fs + \
                     "third_quartile" + fs + "percentile_90"
 
-        print string
+        if output is None:
+            print string
+        else:
+            out_file.write(string + "\n")
 
     for row in rows:
         id = row["name"] + "@" + row["mapset"]
@@ -247,6 +253,12 @@ def print_vector_dataset_univar_statistics(input, twhere, layer, type, column,
                 else:
                     string += fs + fs + fs + fs
 
-        print string
+        if output is None:
+            print string
+        else:
+            out_file.write(string + "\n")
 
     dbif.close()
+
+    if output is not None:
+        out_file.close()
\ No newline at end of file
diff --git a/lib/raster/R.h b/lib/raster/R.h
index ce1ac73..0896daa 100644
--- a/lib/raster/R.h
+++ b/lib/raster/R.h
@@ -67,6 +67,7 @@ struct fileinfo			/* Information for opened cell files */
     struct Quant quant;
     struct GDAL_link *gdal;
     int data_fd;		/* Raster data fd               */
+    off_t *null_row_ptr;	/* Null file row addresses      */
 };
 
 struct R__			/*  Structure of library globals */
@@ -77,6 +78,7 @@ struct R__			/*  Structure of library globals */
     int want_histogram;
     int nbytes;
     int compression_type;
+    int compress_nulls;
     int window_set;		/* Flag: window set?                    */
     int split_window;           /* Separate windows for input and output */
     struct Cell_head rd_window;	/* Window used for input        */
diff --git a/lib/raster/cats.c b/lib/raster/cats.c
index e0870f8..0f775d9 100644
--- a/lib/raster/cats.c
+++ b/lib/raster/cats.c
@@ -50,7 +50,7 @@
  *
  *   sprintf(buff,"Elevation: %.2f to %.2f feet", num*5.0+1000, num*5.0*1005)
  *
- * Note: while both the format and coefficent lins must be present
+ * Note: while both the format and coefficient lines must be present
  *       a blank line for the fmt will effectively suppress automatic
  *       label generation
  *
diff --git a/lib/raster/close.c b/lib/raster/close.c
index 8587b39..a4a206b 100644
--- a/lib/raster/close.c
+++ b/lib/raster/close.c
@@ -33,6 +33,8 @@
 #define FORMAT_FILE "f_format"
 #define QUANT_FILE  "f_quant"
 #define NULL_FILE   "null"
+/* cmpressed null file */
+#define NULLC_FILE  "nullcmpr"
 
 static int close_old(int);
 static int close_new(int, int);
@@ -278,6 +280,9 @@ static int close_new_gdal(int fd, int ok)
 	G_file_name_misc(path, "cell_misc", NULL_FILE, fcb->name,
 			  G_mapset());
 	remove(path);
+	G_file_name_misc(path, "cell_misc", NULLC_FILE, fcb->name,
+			  G_mapset());
+	remove(path);
 
 	/* write 0-length cell file */
 	G_make_mapset_element("cell");
@@ -340,10 +345,6 @@ static int close_new(int fd, int ok)
     if (fcb->gdal)
 	return close_new_gdal(fd, ok);
 
-    if (fcb->null_fd >= 0)
-	close(fcb->null_fd);
-    fcb->null_fd = -1;
-
     if (ok) {
 	switch (fcb->open_mode) {
 	case OPEN_NEW_COMPRESSED:
@@ -362,12 +363,26 @@ static int close_new(int fd, int ok)
 	    fcb->data = NULL;
 	}
 
+	if (fcb->null_row_ptr) {			/* compressed nulls */
+	    fcb->null_row_ptr[fcb->cellhd.rows] = lseek(fcb->null_fd, 0L, SEEK_CUR);
+	    Rast__write_null_row_ptrs(fd, fcb->null_fd);
+	}
+
+	if (fcb->null_fd >= 0)
+	    close(fcb->null_fd);
+	fcb->null_fd = -1;
+
 	/* create path : full null file name */
 	G__make_mapset_element_misc("cell_misc", fcb->name);
-	G_file_name_misc(path, "cell_misc", NULL_FILE, fcb->name,
-			  G_mapset());
+	G_file_name_misc(path, "cell_misc", NULL_FILE, fcb->name, G_mapset());
+	remove(path);
+	G_file_name_misc(path, "cell_misc", NULLC_FILE, fcb->name, G_mapset());
 	remove(path);
 
+	G_file_name_misc(path, "cell_misc",
+			 fcb->null_row_ptr ? NULLC_FILE : NULL_FILE,
+			 fcb->name, G_mapset());
+
 	if (fcb->null_cur_row > 0) {
 	    /* if temporary NULL file exists, write it into cell_misc/name/null */
 	    if (rename(fcb->null_temp_name, path)) {
@@ -419,6 +434,10 @@ static int close_new(int fd, int ok)
     close(fcb->data_fd);
     fcb->open_mode = -1;
 
+    if (fcb->null_fd >= 0)
+	close(fcb->null_fd);
+    fcb->null_fd = -1;
+
     if (fcb->data != NULL)
 	G_free(fcb->data);
 
@@ -465,6 +484,47 @@ static int close_new(int fd, int ok)
     return stat;
 }
 
+void Rast__close_null(int fd)
+{
+    struct fileinfo *fcb = &R__.fileinfo[fd];
+    char path[GPATH_MAX];
+
+    if (fcb->null_row_ptr) {			/* compressed nulls */
+	fcb->null_row_ptr[fcb->cellhd.rows] = lseek(fcb->null_fd, 0L, SEEK_CUR);
+	Rast__write_null_row_ptrs(fd, fcb->null_fd);
+	G_free(fcb->null_row_ptr);
+    }
+
+    if (fcb->null_fd >= 0)
+	close(fcb->null_fd);
+    fcb->null_fd = -1;
+
+    /* create path : full null file name */
+    G__make_mapset_element_misc("cell_misc", fcb->name);
+    G_file_name_misc(path, "cell_misc", NULL_FILE, fcb->name, G_mapset());
+    remove(path);
+    G_file_name_misc(path, "cell_misc", NULLC_FILE, fcb->name, G_mapset());
+    remove(path);
+
+    G_file_name_misc(path, "cell_misc",
+		     fcb->null_row_ptr ? NULLC_FILE : NULL_FILE,
+		     fcb->name, G_mapset());
+
+    if (rename(fcb->null_temp_name, path))
+	G_warning(_("Unable to rename null file '%s' to '%s': %s"),
+		  fcb->null_temp_name, path, strerror(errno));
+    remove(fcb->null_temp_name);
+
+    G_free(fcb->null_temp_name);
+
+    G_free(fcb->name);
+    G_free(fcb->mapset);
+
+    G_free(fcb->null_bits);
+
+    fcb->open_mode = -1;
+}
+
 /* returns 0 on success, 1 on failure */
 static void write_fp_format(int fd)
 {
diff --git a/lib/raster/format.c b/lib/raster/format.c
index 86b05c5..f55336f 100644
--- a/lib/raster/format.c
+++ b/lib/raster/format.c
@@ -91,10 +91,8 @@ int Rast__check_format(int fd)
     return Rast__read_row_ptrs(fd);
 }
 
-int Rast__read_row_ptrs(int fd)
+static int read_row_ptrs(int nrows, int old, off_t *row_ptr, int fd)
 {
-    struct fileinfo *fcb = &R__.fileinfo[fd];
-    int nrows = fcb->cellhd.rows;
     unsigned char nbytes;
     unsigned char *buf, *b;
     int n;
@@ -105,9 +103,9 @@ int Rast__read_row_ptrs(int fd)
      * (this makes them machine dependent)
      */
 
-    if (fcb->cellhd.compressed < 0) {
+    if (old) {
 	n = (nrows + 1) * sizeof(off_t);
-	if (read(fcb->data_fd, fcb->row_ptr, n) != n)
+	if (read(fd, row_ptr, n) != n)
 	    goto badread;
 	return 1;
     }
@@ -119,14 +117,14 @@ int Rast__read_row_ptrs(int fd)
      *  actual values do not exceed the capability of the off_t)
      */
 
-    if (read(fcb->data_fd, &nbytes, 1) != 1)
+    if (read(fd, &nbytes, 1) != 1)
 	goto badread;
     if (nbytes == 0)
 	goto badread;
 
     n = (nrows + 1) * nbytes;
     buf = G_malloc(n);
-    if (read(fcb->data_fd, buf, n) != n)
+    if (read(fd, buf, n) != n)
 	goto badread;
 
     for (row = 0, b = buf; row <= nrows; row++) {
@@ -143,7 +141,7 @@ int Rast__read_row_ptrs(int fd)
 	    v += c;
 	}
 
-	fcb->row_ptr[row] = v;
+	row_ptr[row] = v;
     }
 
     G_free(buf);
@@ -151,27 +149,52 @@ int Rast__read_row_ptrs(int fd)
     return 1;
 
   badread:
-    G_warning(_("Fail of initial read of compressed file [%s in %s]"),
-	      fcb->name, fcb->mapset);
     return -1;
 }
 
-int Rast__write_row_ptrs(int fd)
+int Rast__read_row_ptrs(int fd)
+{
+    struct fileinfo *fcb = &R__.fileinfo[fd];
+    int nrows = fcb->cellhd.rows;
+    int old = fcb->cellhd.compressed < 0;
+
+    if (read_row_ptrs(nrows, old, fcb->row_ptr, fcb->data_fd) < 0) {
+	G_warning(_("Fail of initial read of compressed file [%s in %s]"),
+		  fcb->name, fcb->mapset);
+	return -1;
+    }
+
+    return 1;
+}
+
+int Rast__read_null_row_ptrs(int fd, int null_fd)
 {
     struct fileinfo *fcb = &R__.fileinfo[fd];
     int nrows = fcb->cellhd.rows;
+
+    if (read_row_ptrs(nrows, 0, fcb->null_row_ptr, null_fd) < 0) {
+	G_warning(_("Fail of initial read of compressed null file [%s in %s]"),
+		  fcb->name, fcb->mapset);
+	return -1;
+    }
+
+    return 1;
+}
+
+static int write_row_ptrs(int nrows, off_t *row_ptr, int fd)
+{
     int nbytes = sizeof(off_t);
     unsigned char *buf, *b;
     int len, row, result;
 
-    lseek(fcb->data_fd, 0L, SEEK_SET);
+    lseek(fd, 0L, SEEK_SET);
 
     len = (nrows + 1) * nbytes + 1;
     b = buf = G_malloc(len);
     *b++ = nbytes;
 
     for (row = 0; row <= nrows; row++) {
-	off_t v = fcb->row_ptr[row];
+	off_t v = row_ptr[row];
 	int i;
 
 	for (i = nbytes - 1; i >= 0; i--) {
@@ -182,8 +205,24 @@ int Rast__write_row_ptrs(int fd)
 	b += nbytes;
     }
 
-    result = (write(fcb->data_fd, buf, len) == len);
+    result = (write(fd, buf, len) == len);
     G_free(buf);
 
     return result;
 }
+
+int Rast__write_row_ptrs(int fd)
+{
+    struct fileinfo *fcb = &R__.fileinfo[fd];
+    int nrows = fcb->cellhd.rows;
+
+    return write_row_ptrs(nrows, fcb->row_ptr, fcb->data_fd);
+}
+
+int Rast__write_null_row_ptrs(int fd, int null_fd)
+{
+    struct fileinfo *fcb = &R__.fileinfo[fd];
+    int nrows = fcb->cellhd.rows;
+
+    return write_row_ptrs(nrows, fcb->null_row_ptr, null_fd);
+}
diff --git a/lib/raster/gdal.c b/lib/raster/gdal.c
index 9b61c5b..38b4a73 100644
--- a/lib/raster/gdal.c
+++ b/lib/raster/gdal.c
@@ -104,16 +104,17 @@ static void load_library(void)
 {
     static const char *const candidates[] = {
 # ifdef __unix__
+	"libgdal.so.20",
+	"libgdal.so.1",
 	"libgdal.1.1.so",
-	"libgdal1.6.0.so",
 	"gdal.1.0.so",
 	"gdal.so.1.0",
-	"libgdal.so.1",
 	"libgdal.so",
 	"libgdal1.6.0.so",
 	"libgdal1.7.0.so",
 # endif
 # ifdef _WIN32
+	"gdal200.dll",
 	"gdal111.dll",
 	"gdal110.dll",
 	"gdal19.dll",
@@ -579,7 +580,7 @@ void Rast_close_gdal_link(struct GDAL_link *gdal)
 }
 
 /*!
-  \brief Close exising GDAL link and write out data
+  \brief Close existing GDAL link and write out data
 
   \param gdal pointer to GDAL_link to be closed
 
diff --git a/lib/raster/get_row.c b/lib/raster/get_row.c
index 4f83cb6..cb40372 100644
--- a/lib/raster/get_row.c
+++ b/lib/raster/get_row.c
@@ -97,8 +97,9 @@ static void read_data_fp_compressed(int fd, int row, unsigned char *data_buf,
 
     *nbytes = fcb->nbytes;
 
-    if ((size_t) G_zlib_read(fcb->data_fd, readamount, data_buf, bufsize) != bufsize)
-	G_fatal_error(_("Error reading raster data for row %d of <%s>"),
+    if ((size_t) G_read_compressed(fcb->data_fd, readamount, data_buf,
+                                   bufsize, fcb->cellhd.compressed) != bufsize)
+	G_fatal_error(_("Error uncompressing raster data for row %d of <%s>"),
 		      row, fcb->name);
 }
 
@@ -128,7 +129,8 @@ static void read_data_compressed(int fd, int row, unsigned char *data_buf,
     off_t t1 = fcb->row_ptr[row];
     off_t t2 = fcb->row_ptr[row + 1];
     ssize_t readamount = t2 - t1;
-    unsigned char *cmp;
+    size_t bufsize;
+    unsigned char *cmp, *cmp2;
     int n;
 
     if (lseek(fcb->data_fd, t1, SEEK_SET) < 0)
@@ -143,6 +145,9 @@ static void read_data_compressed(int fd, int row, unsigned char *data_buf,
 		      row, fcb->name);
     }
 
+    /* save cmp for free below */
+    cmp2 = cmp;
+
     /* Now decompress the row */
     if (fcb->cellhd.compressed > 0) {
 	/* one byte is nbyte count */
@@ -153,16 +158,21 @@ static void read_data_compressed(int fd, int row, unsigned char *data_buf,
 	/* pre 3.0 compression */
 	n = *nbytes = fcb->nbytes;
 
-    if (fcb->cellhd.compressed < 0 || readamount < n * fcb->cellhd.cols) {
-	if (fcb->cellhd.compressed == 2)
-	    G_zlib_expand(cmp, readamount, data_buf, n * fcb->cellhd.cols);
-	else
+    bufsize = n * fcb->cellhd.cols;
+    if (fcb->cellhd.compressed < 0 || readamount < bufsize) {
+	if (fcb->cellhd.compressed == 1)
 	    rle_decompress(data_buf, cmp, n, readamount);
+	else {
+	    if (G_expand(cmp, readamount, data_buf, bufsize,
+		     fcb->cellhd.compressed) != bufsize)
+	    G_fatal_error(_("Error uncompressing raster data for row %d of <%s>"),
+			  row, fcb->name);
+	}
     }
     else
 	memcpy(data_buf, cmp, readamount);
 
-    G_freea(cmp);
+    G_freea(cmp2);
 }
 
 static void read_data_uncompressed(int fd, int row, unsigned char *data_buf,
@@ -804,11 +814,50 @@ void Rast_get_d_row(int fd, DCELL * buf, int row)
     Rast_get_row(fd, buf, row, DCELL_TYPE);
 }
 
-static int read_null_bits(int fd, int row)
+static int read_null_bits_compressed(int null_fd, unsigned char *flags,
+				     int row, size_t size, int fd)
+{
+    struct fileinfo *fcb = &R__.fileinfo[fd];
+    off_t t1 = fcb->null_row_ptr[row];
+    off_t t2 = fcb->null_row_ptr[row + 1];
+    size_t readamount = t2 - t1;
+    unsigned char *compressed_buf;
+
+    if (lseek(null_fd, t1, SEEK_SET) < 0)
+	G_fatal_error(_("Error reading null data for row %d of <%s>"),
+		      row, fcb->name);
+
+    if (readamount == size) {
+	if (read(null_fd, flags, size) != size) {
+	    G_fatal_error(_("Error reading null data for row %d of <%s>"),
+			  row, fcb->name);
+	}
+	return 1;
+    }
+
+    compressed_buf = G_alloca(readamount);
+
+    if (read(null_fd, compressed_buf, readamount) != readamount) {
+	G_freea(compressed_buf);
+	G_fatal_error(_("Error reading null data for row %d of <%s>"),
+		      row, fcb->name);
+    }
+
+    /* null bits file compressed with LZ4, see lib/gis/compress.h */
+    if (G_lz4_expand(compressed_buf, readamount, flags, size) < 1) {
+	G_fatal_error(_("Error uncompressing null data for row %d of <%s>"),
+		      row, fcb->name);
+    }
+
+    G_freea(compressed_buf);
+
+    return 1;
+}
+
+int Rast__read_null_bits(int fd, int row, unsigned char *flags)
 {
     struct fileinfo *fcb = &R__.fileinfo[fd];
     int null_fd = fcb->null_fd;
-    unsigned char *flags = fcb->null_bits;
     int cols = fcb->cellhd.cols;
     off_t offset;
     ssize_t size;
@@ -823,6 +872,10 @@ static int read_null_bits(int fd, int row)
 	return 0;
 
     size = Rast__null_bitstream_size(cols);
+
+    if (fcb->null_row_ptr)
+	return read_null_bits_compressed(null_fd, flags, R, size, fd);
+
     offset = (off_t) size * R;
 
     if (lseek(null_fd, offset, SEEK_SET) < 0)
@@ -850,7 +903,7 @@ static void get_null_value_row_nomask(int fd, char *flags, int row)
     }
 
     if (row != fcb->null_cur_row) {
-	if (!read_null_bits(fd, row)) {
+	if (!Rast__read_null_bits(fd, row, fcb->null_bits)) {
 	    fcb->null_cur_row = -1;
 	    if (fcb->map_type == CELL_TYPE) {
 		/* If can't read null row, assume  that all map 0's are nulls */
diff --git a/lib/raster/init.c b/lib/raster/init.c
index 7e67cac..29e1a08 100644
--- a/lib/raster/init.c
+++ b/lib/raster/init.c
@@ -77,7 +77,7 @@ void Rast__error_handler(void *p)
 
 static int init(void)
 {
-    char *zlib;
+    char *zlib, *nulls, *cname;
 
     Rast__init_window();
 
@@ -96,6 +96,34 @@ static int init(void)
     zlib = getenv("GRASS_INT_ZLIB");
     R__.compression_type = (!zlib || atoi(zlib)) ? 2 : 1;
 
+    cname = getenv("GRASS_COMPRESSOR");
+    /* 1: RLE
+     * 2: ZLIB (DEFLATE)
+     * 3: LZ4
+     * 4: BZIP2 */
+    if (cname) {
+	/* ask gislib */
+	R__.compression_type = G_compressor_number(cname);
+	if (R__.compression_type < 1) {
+	    if (R__.compression_type < 0) {
+		G_warning(_("Unknown compression method <%s>, using default ZLIB"),
+		    cname);
+	    }
+	    if (R__.compression_type == 0) {
+		G_warning(_("No compression is not supported for GRASS raster maps, using default ZLIB"));
+	    }
+	    R__.compression_type = 2; /* default to ZLIB */
+	}
+	if (G_check_compressor(R__.compression_type) != 1) {
+	    G_warning(_("This GRASS version does not support %s compression, using default ZLIB"),
+		cname);
+	    R__.compression_type = 2; /* default to ZLIB */
+	}
+    }
+
+    nulls = getenv("GRASS_COMPRESS_NULLS");
+    R__.compress_nulls = (nulls && atoi(nulls)) ? 1 : 0;
+
     G_add_error_handler(Rast__error_handler, NULL);
 
     initialized = 1;
diff --git a/lib/raster/open.c b/lib/raster/open.c
index 9216930..eed39f5 100644
--- a/lib/raster/open.c
+++ b/lib/raster/open.c
@@ -29,6 +29,8 @@
 #include "R.h"
 #define FORMAT_FILE "f_format"
 #define NULL_FILE   "null"
+/* cmpressed null file */
+#define NULLC_FILE  "nullcmpr"
 
 static int new_fileinfo(void)
 {
@@ -216,10 +218,22 @@ int Rast__open_old(const char *name, const char *mapset)
 			  r_name, r_mapset);
     }
 
+    /* compressor */
+    if (MAP_TYPE != CELL_TYPE) {
+	/* fp maps do not use RLE */
+	/* previously, compressed simply meant yes (ZLIB) or no
+	 * now compressed encodes compressor type
+	 * 0: not compressed
+	 * 1, 2: ZLIB
+	 * 3: LZ4
+	 * 4: BZIP2
+	 * etc */
+	if (cellhd.compressed == 1)
+	    cellhd.compressed = 2;
+    }
     /* test if compressor type is supported */
-    if (cellhd.compressed > 2) {
-	G_fatal_error(_("Raster map <%s@%s>: unsupported compression type %d"),
-		      r_name, r_mapset, cellhd.compressed);
+    if (!G_check_compressor(cellhd.compressed)) {
+	G_fatal_error(_("Compression with %s is not supported"), G_compressor_name(cellhd.compressed));
     }
 
     if (cellhd.proj != R__.rd_window.proj)
@@ -335,16 +349,24 @@ int Rast__open_old(const char *name, const char *mapset)
     fcb->io_error = 0;
     fcb->map_type = MAP_TYPE;
     fcb->nbytes = MAP_NBYTES;
+    fcb->null_row_ptr = NULL;
 
     if (!gdal) {
-	if (!G_find_file2_misc("cell_misc", NULL_FILE, r_name, r_mapset)) {
-	    /* G_warning("unable to find [%s]",path); */
-	    fcb->null_file_exists = 0;
-	}
-	else {
-	    fcb->null_fd = G_open_old_misc("cell_misc", NULL_FILE, r_name, r_mapset);
-	    fcb->null_file_exists = fcb->null_fd >= 0;
+	/* First, check for compressed null file */
+	fcb->null_fd = G_open_old_misc("cell_misc", NULL_FILE, r_name, r_mapset);
+	if (fcb->null_fd < 0) {
+	    fcb->null_fd = G_open_old_misc("cell_misc", NULLC_FILE, r_name, r_mapset);
+	    if (fcb->null_fd >= 0) {
+		fcb->null_row_ptr = G_calloc(fcb->cellhd.rows + 1, sizeof(off_t));
+		if (Rast__read_null_row_ptrs(fd, fcb->null_fd) < 0) {
+		    close(fcb->null_fd);
+		    fcb->null_fd = -1;
+		    G_free(fcb->null_row_ptr);
+		    fcb->null_row_ptr = NULL;
+		}
+	    }
 	}
+	fcb->null_file_exists = fcb->null_fd >= 0;
     }
 
     return fd;
@@ -521,6 +543,7 @@ static int open_raster_new_gdal(char *map, char *mapset,
     fcb->null_cur_row = 0;
     fcb->null_bits = NULL;
     fcb->null_fd = -1;
+    fcb->null_row_ptr = NULL;
 
     if (fcb->map_type != CELL_TYPE)
 	Rast_quant_init(&(fcb->quant));
@@ -629,6 +652,8 @@ static int open_raster_new(const char *name, int open_mode,
      *   allocate space to hold the row address array
      */
     fcb->cellhd = R__.wr_window;
+    
+    /* change open_mode to OPEN_NEW_UNCOMPRESSED if R__.compression_type == 0 ? */
 
     if (open_mode == OPEN_NEW_COMPRESSED && fcb->map_type == CELL_TYPE) {
 	fcb->row_ptr = G_calloc(fcb->cellhd.rows + 1, sizeof(off_t));
@@ -653,6 +678,11 @@ static int open_raster_new(const char *name, int open_mode,
 	    Rast_quant_init(&(fcb->quant));
 	}
     }
+    if (open_mode == OPEN_NEW_COMPRESSED && fcb->map_type != CELL_TYPE &&
+        fcb->cellhd.compressed == 1) {
+	/* fp maps do not use RLE */
+	fcb->cellhd.compressed = 2;
+    }
 
     /* save name and mapset, and tempfile name */
     fcb->name = map;
@@ -676,6 +706,12 @@ static int open_raster_new(const char *name, int open_mode,
 
     fcb->null_temp_name = tempname;
 
+    if (R__.compress_nulls) {
+	fcb->null_row_ptr = G_calloc(fcb->cellhd.rows + 1, sizeof(off_t));
+	G_zero(fcb->row_ptr, (fcb->cellhd.rows + 1) * sizeof(off_t));
+	Rast__write_null_row_ptrs(fd, fcb->null_fd);
+    }
+
     /* next row to be written (in order) is zero */
     fcb->null_cur_row = 0;
 
@@ -701,6 +737,60 @@ static int open_raster_new(const char *name, int open_mode,
     return fd;
 }
 
+int Rast__open_null_write(const char *name)
+{
+    char xname[GNAME_MAX], xmapset[GMAPSET_MAX];
+    struct fileinfo *fcb;
+    int fd;
+    char *tempname;
+    char *map;
+    char *mapset;
+
+    Rast__init();
+
+    if (!G_find_raster2(name, G_mapset()))
+	G_fatal_error(_("Raster map <%s> does not exist in the current mapset (%s)"),
+		      name, G_mapset());
+
+    if (G_unqualified_name(name, G_mapset(), xname, xmapset) < 0)
+	G_fatal_error(_("Raster map <%s> is not in the current mapset (%s)"),
+		      name, G_mapset());
+    map = G_store(xname);
+    mapset = G_store(xmapset);
+
+    fd = new_fileinfo();
+    fcb = &R__.fileinfo[fd];
+
+    G_zero(fcb, sizeof(*fcb));
+
+    fcb->name = map;
+    fcb->mapset = mapset;
+
+    Rast_get_cellhd(map, mapset, &fcb->cellhd);
+
+    /* open a null tempfile name */
+    tempname = G_tempfile();
+    fcb->null_fd = creat(tempname, 0666);
+    if (fcb->null_fd < 0) {
+	G_free(tempname);
+	G_free(fcb->name);
+	G_free(fcb->mapset);
+	G_fatal_error(_("No temp files available: %s"), strerror(errno));
+    }
+    fcb->null_temp_name = tempname;
+
+    if (R__.compress_nulls) {
+	fcb->null_row_ptr = G_calloc(fcb->cellhd.rows + 1, sizeof(off_t));
+	G_zero(fcb->null_row_ptr, (fcb->cellhd.rows + 1) * sizeof(off_t));
+	Rast__write_null_row_ptrs(fd, fcb->null_fd);
+    }
+
+    /* allocate null bitstream buffer for writing */
+    fcb->null_bits = Rast__allocate_null_bits(fcb->cellhd.cols);
+
+    return fd;
+}
+
 /*!
    \brief Set raster map floating-point data format.
 
diff --git a/lib/raster/put_row.c b/lib/raster/put_row.c
index 7e5a989..d45b06f 100644
--- a/lib/raster/put_row.c
+++ b/lib/raster/put_row.c
@@ -122,12 +122,12 @@ static void write_data(int fd, int row, unsigned char *buf, int n)
 		      row, fcb->name, strerror(errno));
 }
 
-static void write_data_compressed(int fd, int row, unsigned char *buf, int n)
+static void write_data_compressed(int fd, int row, unsigned char *buf, int n, int compressor)
 {
     struct fileinfo *fcb = &R__.fileinfo[fd];
     int nwrite = fcb->nbytes * n;
 
-    if (G_zlib_write(fcb->data_fd, buf, nwrite) < 0)
+    if (G_write_compressed(fcb->data_fd, buf, nwrite, compressor) < 0)
 	G_fatal_error(_("Error writing compressed FP data for row %d of <%s>: %s"),
 		      row, fcb->name, strerror(errno));
 }
@@ -205,7 +205,7 @@ static void put_fp_data(int fd, char *null_buf, const void *rast,
 	convert_double(work_buf, size, null_buf, rast, row, n);
 
     if (compressed)
-	write_data_compressed(fd, row, work_buf, n);
+	write_data_compressed(fd, row, work_buf, n, fcb->cellhd.compressed);
     else
 	write_data(fd, row, work_buf, n);
 
@@ -322,15 +322,6 @@ static int rle_compress(unsigned char *dst, unsigned char *src, int n,
 	n -= count;
     }
 
-    return nwrite;
-}
-
-static int zlib_compress(unsigned char *dst, unsigned char *src, int n,
-			 int nbytes)
-{
-    int total = nbytes * n;
-    int nwrite = G_zlib_compress(src, total, dst, total);
-
     return (nwrite >= total) ? 0 : nwrite;
 }
 
@@ -338,7 +329,7 @@ static void put_data(int fd, char *null_buf, const CELL * cell,
 		     int row, int n, int zeros_r_nulls)
 {
     struct fileinfo *fcb = &R__.fileinfo[fd];
-    int compressed = fcb->cellhd.compressed;
+    int compressed = (fcb->open_mode == OPEN_NEW_COMPRESSED);
     int len = compressed ? sizeof(CELL) : fcb->nbytes;
     unsigned char *work_buf, *wk;
     ssize_t nwrite;
@@ -379,9 +370,15 @@ static void put_data(int fd, char *null_buf, const CELL * cell,
 	compressed_buf[0] = work_buf[0] = nbytes;
 
 	/* then compress the data */
-	nwrite = compressed == 1
-	    ? rle_compress(compressed_buf + 1, work_buf + 1, n, nbytes)
-	    : zlib_compress(compressed_buf + 1, work_buf + 1, n, nbytes);
+	if (fcb->cellhd.compressed == 1)
+	    nwrite = rle_compress(compressed_buf + 1, work_buf + 1, n, nbytes);
+	else {
+	    nwrite = G_compress(work_buf + 1, total, compressed_buf + 1, total,
+	                        fcb->cellhd.compressed);
+	}
+
+	if (nwrite >= total)
+	    nwrite = 0;
 
 	if (nwrite > 0) {
 	    nwrite++;
@@ -481,60 +478,53 @@ static void put_raster_data(int fd, char *null_buf, const void *rast,
 	put_fp_data(fd, null_buf, rast, row, n, map_type);
 }
 
-static void put_null_data(int fd, const char *flags, int row)
+static void put_null_value_row(int fd, const char *flags)
 {
     struct fileinfo *fcb = &R__.fileinfo[fd];
 
+    if (fcb->gdal)
+	G_fatal_error(_("GDAL output doesn't support writing null rows separately"));
+
     if (fcb->null_fd < 0)
 	G_fatal_error(_("No null file for <%s>"), fcb->name);
 
     Rast__convert_01_flags(flags, fcb->null_bits,
 			   fcb->cellhd.cols);
 
-    Rast__write_null_bits(fcb->null_fd, fcb->null_bits, row,
-			  fcb->cellhd.cols, fd);
+    Rast__write_null_bits(fd, fcb->null_bits);
 }
 
-static void put_null_value_row(int fd, const char *buf)
+static void write_null_bits_compressed(const unsigned char *flags,
+				       int row, size_t size, int fd)
 {
     struct fileinfo *fcb = &R__.fileinfo[fd];
+    unsigned char *compressed_buf;
+    ssize_t nwrite;
 
-    if (fcb->gdal)
-	G_fatal_error(_("GDAL output doesn't support writing null rows separately"));
-
-    put_null_data(fd, buf, fcb->null_cur_row);
-
-    fcb->null_cur_row++;
-}
+    fcb->null_row_ptr[row] = lseek(fcb->null_fd, 0L, SEEK_CUR);
 
-/*!
-   \brief Open null file for write
+    compressed_buf = G_alloca(size + 1);
 
-   \param fd file descriptor of raster cell data file
+    /* compress null bits file with LZ4, see lib/gis/compress.h */
+    nwrite = G_lz4_compress(flags, size, compressed_buf, size);
 
-   \return field descriptor of null data file
- */
-int Rast__open_null_write(int fd)
-{
-    struct fileinfo *fcb = &R__.fileinfo[fd];
-    int null_fd;
-
-    if (access(fcb->null_temp_name, 0) != 0)
-	G_fatal_error(_("Unable to find a temporary null file <%s>"),
-		      fcb->null_temp_name);
-
-    null_fd = open(fcb->null_temp_name, O_WRONLY);
-    if (null_fd < 0)
-	G_fatal_error(_("Unable to open null file <%s>"),
-		      fcb->null_temp_name);
+    if (nwrite > 0 && nwrite < size) {
+	if (write(fcb->null_fd, compressed_buf, nwrite) != nwrite)
+	    G_fatal_error(_("Error writing compressed null data for row %d of <%s>"),
+			  row, fcb->name);
+    }
+    else {
+	if (write(fcb->null_fd, flags, size) != size)
+	    G_fatal_error(_("Error writing compressed null data for row %d of <%s>"),
+			  row, fcb->name);
+    }
 
-    return null_fd;
+    G_freea(compressed_buf);
 }
 
 /*!
    \brief Write null data
 
-   \param null_fd file descriptor of null file where data is to be written
    \param flags ?
    \param row row number
    \param col col number
@@ -542,20 +532,26 @@ int Rast__open_null_write(int fd)
 
    \return void
  */
-void Rast__write_null_bits(int null_fd, const unsigned char *flags, int row,
-			   int cols, int fd)
+void Rast__write_null_bits(int fd, const unsigned char *flags)
 {
     struct fileinfo *fcb = &R__.fileinfo[fd];
+    int row = fcb->null_cur_row++;
     off_t offset;
     size_t size;
 
-    size = Rast__null_bitstream_size(cols);
-    offset = (off_t) size *row;
+    size = Rast__null_bitstream_size(fcb->cellhd.cols);
+
+    if (fcb->null_row_ptr) {
+	write_null_bits_compressed(flags, row, size, fd);
+	return;
+    }
+
+    offset = (off_t) size * row;
 
-    if (lseek(null_fd, offset, SEEK_SET) < 0)
+    if (lseek(fcb->null_fd, offset, SEEK_SET) < 0)
 	G_fatal_error(_("Error writing null row %d of <%s>"), row, fcb->name);
 
-    if (write(null_fd, flags, size) != size)
+    if (write(fcb->null_fd, flags, size) != size)
 	G_fatal_error(_("Error writing null row %d of <%s>"), row, fcb->name);
 }
 
diff --git a/lib/raster/range.c b/lib/raster/range.c
index f2a1c06..3cd3283 100644
--- a/lib/raster/range.c
+++ b/lib/raster/range.c
@@ -542,7 +542,7 @@ void Rast_init_fp_range(struct FPRange *range)
 }
 
 /*!
- * \brief Get minumum and maximum value from fp range
+ * \brief Get minimum and maximum value from fp range
  *
  * Extract the min/max from the range structure <i>range</i>.  If the
  * range structure has no defined min/max (first!=0) there will not be
diff --git a/lib/raster/rast_to_img_string.c b/lib/raster/rast_to_img_string.c
new file mode 100644
index 0000000..a802b20
--- /dev/null
+++ b/lib/raster/rast_to_img_string.c
@@ -0,0 +1,171 @@
+
+/****************************************************************************
+ *
+ * Function:     Rast_map_to_img_str() based on r.to.ppm
+ * AUTHOR(S):    Bill Brown, USA-CERL (original contributor)
+ *               Markus Neteler <neteler itc.it>, 
+ *               Bernhard Reiter <bernhard intevation.de>, 
+ *               Glynn Clements <glynn gclements.plus.com>, 
+ *               Jachym Cepicky <jachym les-ejk.cz>, 
+ *               Jan-Oliver Wagner <jan intevation.de>
+ *               Soeren Gebbert
+ * PURPOSE:      converts a GRASS raster map into an ARGB or
+ *               gray scale unsigned char string
+ * COPYRIGHT:    (C) 1999-2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the file COPYING that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+#include <string.h>
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/glocale.h>
+
+#define DEF_RED 255
+#define DEF_GRN 255
+#define DEF_BLU 255
+
+/* \brief Convert a raster map layer into a string with
+ *        32Bit ARGB, 32Bit RGB or 8Bit Gray little endian encoding.
+ * 
+ * The raster color table is used for coloring the image. Null values are 
+ * marked as transparent. Only little endian encoding is supported.
+ * 
+ * This function uses Rast_window_rows() and Rast_window_cols() to 
+ * get rows and cols, hence use Rast_set_window() to set the required
+ * region for raster access.
+ * 
+ * \param name The name of the raster map layer to convert
+ * \param color_mode The color modes to use:
+ *                  Color mode 1 -> 32Bit ARGB (0xAARRGGBB)
+ *                  Color mode 2 -> 32Bit RGB  (0xffRRGGBB)
+ *                  Color mode 3 -> grey scale formular: .33R+ .5G+ .17B
+ *                  Color mode 4 -> grey scale formular: .30R+ .59G+ .11B
+ * 
+ * \param result: An unsigned char pointer to store the result. 
+ *                It must have size 4*cols*rows in case of
+ *                ARGB and RGB, 
+ *                rows*cols in case of gray scale.
+ * 
+ * \return: 0 in case map not found, -1 in case the color mode is incorrect, 1 on success
+ * 
+ */
+int Rast_map_to_img_str(char *name, int color_mode, unsigned char* result)
+{
+    unsigned char *set = NULL, *red = NULL, *green = NULL, 
+                  *blue = NULL;
+    unsigned char alpha;
+    const char *mapset = NULL;
+    CELL *cell_buf = NULL;
+    FCELL *fcell_buf = NULL;
+    DCELL *dcell_buf = NULL;
+    void *voidc = NULL;
+    int rtype, row, col;
+    size_t i;
+    int map = 0;
+    
+    struct Colors colors;
+    int rows = Rast_window_rows();
+    int cols = Rast_window_cols();
+
+    if(color_mode > 3 || color_mode < 1)
+        return(-1);
+
+    mapset = G_find_raster2(name, "");
+    
+    if(!mapset)
+        return(0);
+    
+    map = Rast_open_old(name, "");
+
+    cell_buf = Rast_allocate_c_buf();
+    fcell_buf = Rast_allocate_f_buf();
+    dcell_buf = Rast_allocate_d_buf();
+
+    red = G_malloc(cols);
+    green = G_malloc(cols);
+    blue = G_malloc(cols);
+    set  = G_malloc(cols);
+
+    Rast_read_colors(name, mapset, &colors);
+
+    rtype = Rast_get_map_type(map);
+    if (rtype == CELL_TYPE)
+        voidc = (CELL *) cell_buf;
+    else if (rtype == FCELL_TYPE)
+        voidc = (FCELL *) fcell_buf;
+    else if (rtype == DCELL_TYPE)
+        voidc = (DCELL *) dcell_buf;
+
+    i = 0;
+    
+    if(color_mode == 1 || color_mode == 2) {/* 32BIT ARGB COLOR IMAGE with transparency */
+        for (row = 0; row < rows; row++) {
+            Rast_get_row(map, (void *)voidc, row, rtype);
+            Rast_lookup_colors((void *)voidc, red, green, blue, set,
+                               cols, &colors, rtype);
+                               
+            alpha = (unsigned char)255;
+            if ( color_mode == 1 && Rast_is_null_value( voidc, rtype ) )
+            {
+                alpha = (unsigned char)0;
+            }
+            for (col = 0; col < cols; col++) {
+                /* Only little endian */
+                if (set[col]) {
+                    result[i++] = blue[col];
+                    result[i++] = green[col];
+                    result[i++] = red[col];
+                    result[i++] = alpha;
+                }
+                else {
+                    result[i++] = DEF_BLU;
+                    result[i++] = DEF_GRN;
+                    result[i++] = DEF_RED;
+                    result[i++] = alpha;
+                }
+            }
+        }
+    }
+    else {/* GREYSCALE IMAGE */
+        for (row = 0; row < rows; row++) {
+            Rast_get_row(map, (void *)voidc, row, rtype);
+            Rast_lookup_colors((void *)voidc, red, green, blue, set,
+                               cols, &colors, rtype);
+            
+            if(color_mode == 3) {
+                for (col = 0; col < cols; col++) {
+                    /*.33R+ .5G+ .17B */
+                    result[i++] = ((red[col])   * 11 + 
+                                   (green[col]) * 16 +
+                                   (blue[col])  * 5) >> 5;
+                }
+            } else {
+                for (col = 0; col < cols; col++) {
+                    /*NTSC Y equation: .30R+ .59G+ .11B */
+                    result[i++] = ((red[col])   * 19 + 
+                                   (green[col]) * 38 + 
+                                   (blue[col])  * 7) >> 6;
+                }
+            }
+        }
+    }
+
+    Rast_free_colors(&colors);
+
+    G_free(cell_buf);
+    G_free(fcell_buf);
+    G_free(dcell_buf);
+    G_free(red);
+    G_free(green);
+    G_free(blue);
+    G_free(set);
+    Rast_close(map);
+    
+    return(1);
+}
diff --git a/lib/raster/rasterlib.dox b/lib/raster/rasterlib.dox
index 9723db3..e9e8f65 100644
--- a/lib/raster/rasterlib.dox
+++ b/lib/raster/rasterlib.dox
@@ -1232,12 +1232,23 @@ double, i.e. an all-ones exponent, the top-bit of the mantissa set,
 and either sign).
 
 So far as arithmetic is concerned, any value with an all-ones exponent
-and a non-zero mantissa is treated as NaN. But the GRASS
-Rast_is_[fd]_null_value() functions only consider the all-ones bit
-pattern to be null. I intend to change this in 7.x so that all FP NaN
-values are treated as null. This will mean that code which can
-generate NaNs doesn't have to explicitly convert them to the GRASS
-null value.
+and a non-zero mantissa is treated as NaN.
+Rast_set_d_null_value() and Rast_set_f_null_value() use the all-ones
+bit pattern. This is one of the many NaN values (anything with an
+all-ones exponent and a non-zero mantissa is NaN). As the topmost bit
+(i.e. the sign bit) is set, it is possible that some code would
+consider that to be "-NaN". E.g. code which writes a leading "-" based
+upon the sign bit before considering the other components would do so.
+
+Rast_is_d_null_value() and Rast_is_f_null_value() treat any NaN as
+null (specifically, they test whether the value is unequal to itself).
+
+At one time, these functions (or rather, their predecessors) checked
+explicitly for the all-ones pattern, but this was changed (in r33717
+and r33752) to improve robustness. Apart from code explicitly setting
+a value to "null", NaNs can arise from calculations (0.0/0.0, sqrt(x)
+or log(x) for x<0, asin(x) or acos(x) for abs(x)>1, etc), and there's
+no guarantee as to exactly which NaN representation will result.
 
 <b>Presence or absence of <tt>null</tt> file:</b>
 
diff --git a/lib/raster3d/fpcompress.c b/lib/raster3d/fpcompress.c
index 2398afa..625b348 100644
--- a/lib/raster3d/fpcompress.c
+++ b/lib/raster3d/fpcompress.c
@@ -704,7 +704,7 @@ Rast3d_fpcompress_write_xdr_nums(int fd, char *src, int nofNum, int precision,
 					    &nBytes, &offsetMantissa);
 
 	*compressBuf = 0;
-	status = G_zlib_write(fd, (unsigned char *)compressBuf, nBytes + 1);
+	status = G_write_compressed(fd, (unsigned char *)compressBuf, nBytes + 1, 2);
 
     if (status < 0) {
 	Rast3d_error("Rast3d_fpcompress_write_xdr_nums: write error");
@@ -726,8 +726,8 @@ Rast3d_fpcompress_read_xdr_nums(int fd, char *dst, int nofNum, int fileBytes,
     char *src, *dest, *srcStop;
     nBytes = (isFloat ? XDR_FLOAT_LENGTH : XDR_DOUBLE_LENGTH);
 
-    status = G_zlib_read(fd, fileBytes, (unsigned char *)compressBuf,
-			 nofNum * nBytes + 1);
+    status = G_read_compressed(fd, fileBytes, (unsigned char *)compressBuf,
+			 nofNum * nBytes + 1, 2);
 
     if (status < 0) {
 	Rast3d_error("Rast3d_fpcompress_read_xdr_nums: read error");
diff --git a/lib/raster3d/gradient.c b/lib/raster3d/gradient.c
new file mode 100644
index 0000000..525cafd
--- /dev/null
+++ b/lib/raster3d/gradient.c
@@ -0,0 +1,179 @@
+
+/*!
+   \file gradient.c
+
+   \brief Gradient computation
+
+   (C) 2014 by the GRASS Development Team
+
+   This program is free software under the GNU General Public
+   License (>=v2).  Read the file COPYING that comes with GRASS
+   for details.
+
+   \author Anna Petrasova
+ */
+
+/*!
+   \brief Gradient computation
+
+   Gradient computation (second order approximation)
+   using central differencing scheme (plus forward and backward
+   difference of second order approximation). When one or more of the cells,
+   from which the gradient for a particular cell is computed, is null,
+   gradient for that particular cell is set to 0.
+   
+   \param array pointer to RASTER3D_Array with input values
+   \param step array of x, y, z steps for gradient (resolution values)
+   \param[out] grad_x pointer to RASTER3D_Array_double with gradient in x direction
+   \param[out] grad_y pointer to RASTER3D_Array_double with gradient in y direction
+   \param[out] grad_z pointer to RASTER3D_Array_double with gradient in z direction
+
+ */
+#include <grass/raster3d.h>
+
+void Rast3d_gradient_double(RASTER3D_Array_double *array, double *step,
+			    RASTER3D_Array_double *grad_x,
+			    RASTER3D_Array_double *grad_y,
+			    RASTER3D_Array_double *grad_z)
+{
+    int col, row, depth;
+    double val0, val1, val2;
+
+    for (depth = 0; depth < array->sz; depth++) {
+	for (row = 0; row < array->sy; row++) {
+	    /* row start */
+	    val0 = RASTER3D_ARRAY_ACCESS(array, 0, row, depth);
+	    val1 = RASTER3D_ARRAY_ACCESS(array, 1, row, depth);
+	    val2 = RASTER3D_ARRAY_ACCESS(array, 2, row, depth);
+	    if (Rast_is_d_null_value(&val0))
+		Rast_set_null_value(&RASTER3D_ARRAY_ACCESS(grad_x, 0, row, depth),
+				    1, DCELL_TYPE);
+	    else if (Rast_is_d_null_value(&val1) || Rast_is_d_null_value(&val2))
+		RASTER3D_ARRAY_ACCESS(grad_x, 0, row, depth) = 0;
+	    else
+		RASTER3D_ARRAY_ACCESS(grad_x, 0, row, depth) =
+			(-3 * val0 + 4 * val1 - val2) / (2 * step[0]);
+
+	    /* row end */
+	    val0 = RASTER3D_ARRAY_ACCESS(array, array->sx - 3, row, depth);
+	    val1 = RASTER3D_ARRAY_ACCESS(array, array->sx - 2, row, depth);
+	    val2 = RASTER3D_ARRAY_ACCESS(array, array->sx - 1, row, depth);
+	    if (Rast_is_d_null_value(&val2))
+		Rast_set_null_value(
+			&RASTER3D_ARRAY_ACCESS(grad_x, array->sx - 1, row, depth),
+			1, DCELL_TYPE);
+	    else if (Rast_is_d_null_value(&val0) || Rast_is_d_null_value(&val1))
+		RASTER3D_ARRAY_ACCESS(grad_x, array->sx - 1, row, depth) = 0;
+	    else
+		RASTER3D_ARRAY_ACCESS(grad_x, array->sx - 1, row, depth) =
+			(3 * val2 - 4 * val1 + val0) / (2 * step[0]);
+
+	    /* row */
+	    for (col = 1; col < array->sx - 1; col++) {
+		val0 = RASTER3D_ARRAY_ACCESS(array, col - 1, row, depth);
+		val1 = RASTER3D_ARRAY_ACCESS(array, col, row, depth);
+		val2 = RASTER3D_ARRAY_ACCESS(array, col + 1, row, depth);
+		if (Rast_is_d_null_value(&val1))
+		    Rast_set_null_value(
+			    &RASTER3D_ARRAY_ACCESS(grad_x, col, row, depth),
+			    1, DCELL_TYPE);
+		else if (Rast_is_d_null_value(&val0) || Rast_is_d_null_value(&val2))
+		    RASTER3D_ARRAY_ACCESS(grad_x, col, row, depth) = 0;
+		else
+		    RASTER3D_ARRAY_ACCESS(grad_x, col, row, depth) =
+			    (val2 - val0) / (2 * step[0]);
+	    }
+	}
+    }
+    for (depth = 0; depth < array->sz; depth++) {
+	for (col = 0; col < array->sx; col++) {
+	    /* col start */
+	    val0 = RASTER3D_ARRAY_ACCESS(array, col, 0, depth);
+	    val1 = RASTER3D_ARRAY_ACCESS(array, col, 1, depth);
+	    val2 = RASTER3D_ARRAY_ACCESS(array, col, 2, depth);
+	    if (Rast_is_d_null_value(&val0))
+		Rast_set_null_value(&RASTER3D_ARRAY_ACCESS(grad_y, col, 0, depth),
+				    1, DCELL_TYPE);
+	    else if (Rast_is_d_null_value(&val1) || Rast_is_d_null_value(&val2))
+		RASTER3D_ARRAY_ACCESS(grad_y, col, 0, depth) = 0;
+	    else
+		RASTER3D_ARRAY_ACCESS(grad_y, col, 0, depth) =
+			-(-3 * val0 + 4 * val1 - val2) / (2 * step[1]);
+
+	    /* col end */
+	    val0 = RASTER3D_ARRAY_ACCESS(array, col, array->sy - 3, depth);
+	    val1 = RASTER3D_ARRAY_ACCESS(array, col, array->sy - 2, depth);
+	    val2 = RASTER3D_ARRAY_ACCESS(array, col, array->sy - 1, depth);
+	    if (Rast_is_d_null_value(&val2))
+		Rast_set_null_value(
+			&RASTER3D_ARRAY_ACCESS(grad_y, col, array->sy - 1, depth),
+			1, DCELL_TYPE);
+	    else if (Rast_is_d_null_value(&val0) || Rast_is_d_null_value(&val1))
+		RASTER3D_ARRAY_ACCESS(grad_y, col, array->sy - 1, depth) = 0;
+	    else
+		RASTER3D_ARRAY_ACCESS(grad_y, col, array->sy - 1, depth) =
+			-(3 * val2 - 4 * val1 + val0) / (2 * step[1]);
+
+	    /* col */
+	    for (row = 1; row < array->sy - 1; row++) {
+		val0 = RASTER3D_ARRAY_ACCESS(array, col, row - 1, depth);
+		val1 = RASTER3D_ARRAY_ACCESS(array, col, row, depth);
+		val2 = RASTER3D_ARRAY_ACCESS(array, col, row + 1, depth);
+		if (Rast_is_d_null_value(&val1))
+		    Rast_set_null_value(
+			    &RASTER3D_ARRAY_ACCESS(grad_y, col, row, depth),
+			    1, DCELL_TYPE);
+		else if (Rast_is_d_null_value(&val0) || Rast_is_d_null_value(&val2))
+		    RASTER3D_ARRAY_ACCESS(grad_y, col, row, depth) = 0;
+		else
+		    RASTER3D_ARRAY_ACCESS(grad_y, col, row, depth) =
+			    -(val2 - val0) / (2 * step[1]);
+	    }
+	}
+    }
+    for (row = 0; row < array->sy; row++) {
+	for (col = 0; col < array->sx; col++) {
+	    /* vertical col start */
+	    val0 = RASTER3D_ARRAY_ACCESS(array, col, row, 0);
+	    val1 = RASTER3D_ARRAY_ACCESS(array, col, row, 1);
+	    val2 = RASTER3D_ARRAY_ACCESS(array, col, row, 2);
+	    if (Rast_is_d_null_value(&val0))
+		Rast_set_null_value(&RASTER3D_ARRAY_ACCESS(grad_z, col, row, 0),
+				    1, DCELL_TYPE);
+	    else if (Rast_is_d_null_value(&val1) || Rast_is_d_null_value(&val2))
+		RASTER3D_ARRAY_ACCESS(grad_z, col, row, 0) = 0;
+	    else
+		RASTER3D_ARRAY_ACCESS(grad_z, col, row, 0) =
+			(-3 * val0 + 4 * val1 - val2) / (2 * step[2]);
+
+	    /* vertical col end */
+	    val0 = RASTER3D_ARRAY_ACCESS(array, col, row, array->sz - 3);
+	    val1 = RASTER3D_ARRAY_ACCESS(array, col, row, array->sz - 2);
+	    val2 = RASTER3D_ARRAY_ACCESS(array, col, row, array->sz - 1);
+	    if (Rast_is_d_null_value(&val2))
+		Rast_set_null_value(
+			&RASTER3D_ARRAY_ACCESS(grad_z, col, row, array->sz - 1),
+			1, DCELL_TYPE);
+	    else if (Rast_is_d_null_value(&val0) || Rast_is_d_null_value(&val1))
+		RASTER3D_ARRAY_ACCESS(grad_z, col, row, array->sz - 1) = 0;
+	    else
+		RASTER3D_ARRAY_ACCESS(grad_z, col, row, array->sz - 1) =
+			(3 * val2 - 4 * val1 + val0) / (2 * step[2]);
+	    /* vertical col */
+	    for (depth = 1; depth < array->sz - 1; depth++) {
+		val0 = RASTER3D_ARRAY_ACCESS(array, col, row, depth - 1);
+		val1 = RASTER3D_ARRAY_ACCESS(array, col, row, depth);
+		val2 = RASTER3D_ARRAY_ACCESS(array, col, row, depth + 1);
+		if (Rast_is_d_null_value(&val1))
+		    Rast_set_null_value(
+			    &RASTER3D_ARRAY_ACCESS(grad_z, col, row, depth),
+			    1, DCELL_TYPE);
+		else if (Rast_is_d_null_value(&val0) || Rast_is_d_null_value(&val2))
+		    RASTER3D_ARRAY_ACCESS(grad_z, col, row, depth) = 0;
+		else
+		    RASTER3D_ARRAY_ACCESS(grad_z, col, row, depth) =
+			    (val2 - val0) / (2 * step[2]);
+	    }
+	}
+    }
+}
diff --git a/lib/vector/Vlib/box.c b/lib/vector/Vlib/box.c
index 11c2d1c..87f203b 100644
--- a/lib/vector/Vlib/box.c
+++ b/lib/vector/Vlib/box.c
@@ -5,7 +5,7 @@
 
    Higher level functions for reading/writing/manipulating vectors.
 
-   (C) 2001-2009 by the GRASS Development Team
+   (C) 2001-2015 by the GRASS Development Team
 
    This program is free software under the 
    GNU General Public License (>=v2). 
@@ -20,13 +20,30 @@
 #include <grass/glocale.h>
 
 /*!
-   \brief Tests for point in box
-
-   \param x,y,z coordinates
-   \param Box boundary box
-
-   \return 1 point is in box
-   \return 0 point is not in box
+    \brief Tests if point is in 3D box
+
+    This function considers 3D point and 3D bounding box.
+
+    \par Example
+
+    \verbatim
+    struct bound_box bbox;
+    bbox.N = 135;
+    bbox.S = 125;
+    bbox.E = 220;
+    bbox.W = 215;
+    bbox.T = 340;
+    bbox.B = 330;
+    Vect_point_in_box(217, 130, 335, &bbox);
+    \endverbatim
+
+    \param x coordinate (W-E direction)
+    \param y coordinate (S-N direction)
+    \param z coordinate (B-T direction)
+    \param Box boundary box
+
+    \returns 1 if point is in box
+    \returns 0 if point is not in box
  */
 int Vect_point_in_box(double x, double y, double z, const struct bound_box *Box)
 {
@@ -37,6 +54,25 @@ int Vect_point_in_box(double x, double y, double z, const struct bound_box *Box)
 }
 
 /*!
+    \brief Tests if point is in 2D box
+
+    Only x and y are tested. Top and bottom of the bounding box are ignored.
+
+    \param x coordinate (W-E direction)
+    \param y coordinate (S-N direction)
+    \param Box boundary box (only W, E, S, N are used)
+
+    \returns 1 if point is in box
+    \returns 0 if point is not in box
+ */
+int Vect_point_in_box_2d(double x, double y, const struct bound_box *Box)
+{
+
+    return (x >= Box->W && x <= Box->E &&
+            y >= Box->S && y <= Box->N);
+}
+
+/*!
    \brief Tests for overlap of two boxes
 
    \param A boundary box A
diff --git a/lib/vector/Vlib/build.c b/lib/vector/Vlib/build.c
index 8d127d3..426a737 100644
--- a/lib/vector/Vlib/build.c
+++ b/lib/vector/Vlib/build.c
@@ -998,7 +998,7 @@ int Vect_build_partial(struct Map_info *Map, int build)
 int Vect_save_topo(struct Map_info *Map)
 {
     struct Plus_head *plus;
-    char *path;
+    char path[GPATH_MAX];
     struct gvfile fp;
 
     G_debug(1, "Vect_save_topo()");
@@ -1007,9 +1007,8 @@ int Vect_save_topo(struct Map_info *Map)
     plus = &(Map->plus);
     dig_file_init(&fp);
 
-    path = Vect__get_path(Map);
+    Vect__get_path(path, Map);
     fp.file = G_fopen_new(path, GV_TOPO_ELEMENT);
-    G_free(path);
     if (fp.file == NULL) {
 	G_warning(_("Unable to create topo file for vector map <%s>"), Map->name);
 	return 0;
@@ -1247,7 +1246,7 @@ int Vect_build_sidx_from_topo(const struct Map_info *Map)
 int Vect_save_sidx(struct Map_info *Map)
 {
     struct Plus_head *plus;
-    char *file_path;
+    char file_path[GPATH_MAX];
 
     G_debug(1, "Vect_save_spatial_index()");
 
@@ -1261,11 +1260,10 @@ int Vect_save_sidx(struct Map_info *Map)
     /* new or update mode ? */
     if (plus->Spidx_new == TRUE) {
 	/*  write out rtrees to sidx file  */
-        file_path = Vect__get_element_path(Map, GV_SIDX_ELEMENT);
+        Vect__get_element_path(file_path, Map, GV_SIDX_ELEMENT);
 	G_debug(1, "Open sidx: %s", file_path);
 	dig_file_init(&(plus->spidx_fp));
 	plus->spidx_fp.file = fopen(file_path, "w+");
-        G_free(file_path);
 	if (plus->spidx_fp.file == NULL) {
 	    G_warning(_("Unable to create spatial index file for vector map <%s>"),
 		      Vect_get_name(Map));
diff --git a/lib/vector/Vlib/build_ogr.c b/lib/vector/Vlib/build_ogr.c
index 82d654a..15746a5 100644
--- a/lib/vector/Vlib/build_ogr.c
+++ b/lib/vector/Vlib/build_ogr.c
@@ -27,6 +27,8 @@
 #include <ogr_api.h>
 #endif
 
+#include "local_proto.h"
+
 /*!
    \brief Build pseudo-topology (simple features) for OGR layer
 
@@ -124,7 +126,7 @@ int Vect_save_fidx(struct Map_info *Map,
     length = 9;
 
     sprintf(elem, "%s/%s", GV_DIRECTORY, Map->name);
-    G_file_name(fname, elem, GV_FIDX_ELEMENT, Map->mapset);
+    Vect__get_element_path(fname, Map, GV_FIDX_ELEMENT);
     G_debug(4, "Open fidx: %s", fname);
     dig_file_init(&fp);
     fp.file = fopen(fname, "w");
diff --git a/lib/vector/Vlib/build_pg.c b/lib/vector/Vlib/build_pg.c
index e35d65f..65c9d4c 100644
--- a/lib/vector/Vlib/build_pg.c
+++ b/lib/vector/Vlib/build_pg.c
@@ -175,7 +175,7 @@ int build_topo(struct Map_info *Map, int build)
              * mode, before building native topology read nodes from
              * PostGIS Topology */
 
-            /* clean-up spatial a category indeces */
+            /* clean-up spatial a category indices */
             dig_free_plus(&(Map->plus));
             dig_init_plus(&(Map->plus));
             plus->Spidx_new = TRUE;   
diff --git a/lib/vector/Vlib/cindex.c b/lib/vector/Vlib/cindex.c
index 0bf82c0..3415713 100644
--- a/lib/vector/Vlib/cindex.c
+++ b/lib/vector/Vlib/cindex.c
@@ -472,7 +472,7 @@ int Vect_cidx_dump(const struct Map_info *Map, FILE * out)
 int Vect_cidx_save(struct Map_info *Map)
 {
     struct Plus_head *plus;
-    char *path;
+    char path[GPATH_MAX];
     struct gvfile fp;
 
     G_debug(2, "Vect_cidx_save()");
@@ -482,9 +482,8 @@ int Vect_cidx_save(struct Map_info *Map)
     
     dig_file_init(&fp);
     
-    path = Vect__get_path(Map);
+    Vect__get_path(path, Map);
     fp.file = G_fopen_new(path, GV_CIDX_ELEMENT);
-    G_free(path);
     if (fp.file == NULL) {
 	G_warning(_("Unable to create category index file for vector map <%s>"),
                   Vect_get_name(Map));
@@ -517,7 +516,7 @@ int Vect_cidx_save(struct Map_info *Map)
 int Vect_cidx_open(struct Map_info *Map, int head_only)
 {
     int ret;
-    char file_path[GPATH_MAX], *path;
+    char file_path[GPATH_MAX], path[GPATH_MAX];
     struct gvfile fp;
     struct Plus_head *Plus;
 
@@ -526,17 +525,15 @@ int Vect_cidx_open(struct Map_info *Map, int head_only)
 
     Plus = &(Map->plus);
 
-    path = Vect__get_path(Map);
-    G_file_name(file_path, path, GV_CIDX_ELEMENT, Map->mapset);
-
+    Vect__get_path(path, Map);
+    Vect__get_element_path(file_path, Map, GV_CIDX_ELEMENT);
+    
     if (access(file_path, F_OK) != 0) {	/* does not exist */
-        G_free(path);
 	return 1;
     }
 
     dig_file_init(&fp);
     fp.file = G_fopen_old(path, GV_CIDX_ELEMENT, Map->mapset);
-    G_free(path);
     
     if (fp.file == NULL) {	/* category index file is not available */
 	G_warning(_("Unable to open category index file for vector map <%s>"),
diff --git a/lib/vector/Vlib/close.c b/lib/vector/Vlib/close.c
index cd9fc81..6353627 100644
--- a/lib/vector/Vlib/close.c
+++ b/lib/vector/Vlib/close.c
@@ -5,7 +5,7 @@
 
    Higher level functions for reading/writing/manipulating vectors.
 
-   (C) 2001-2009, 2011-2012 by the GRASS Development Team
+   (C) 2001-2015 by the GRASS Development Team
 
    This program is free software under the GNU General Public License
    (>=v2). Read the file COPYING that comes with GRASS for details.
@@ -323,14 +323,12 @@ void Vect__free_offset(struct Format_info_offset *offset)
 
 void unlink_file(const struct Map_info *Map, const char *name)
 {
-    char *path;
+    char path[GPATH_MAX];
 
     /* delete old support files if available */
-    path = Vect__get_element_path(Map, name);
+    Vect__get_element_path(path, Map, name);
     if (access(path, F_OK) == 0) { /* file exists? */
         G_debug(2, "\t%s: unlink", path);
         unlink(path);
     }
-
-    G_free(path);
 }
diff --git a/lib/vector/Vlib/close_nat.c b/lib/vector/Vlib/close_nat.c
index ec98a84..2a37c8b 100644
--- a/lib/vector/Vlib/close_nat.c
+++ b/lib/vector/Vlib/close_nat.c
@@ -5,7 +5,7 @@
 
    Higher level functions for reading/writing/manipulating vectors.
 
-   (C) 2001-2009, 2013 by the GRASS Development Team
+   (C) 2001-2015 by the GRASS Development Team
 
    This program is free software under the GNU General Public License
    (>=v2).  Read the file COPYING that comes with GRASS for details.
@@ -15,8 +15,11 @@
 */
 
 #include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
 
 #include <grass/vector.h>
+#include <grass/glocale.h>
 
 #include "local_proto.h"
 
@@ -52,12 +55,121 @@ int V1_close_nat(struct Map_info *Map)
 
     /* delete temporary map ? */
     if (Map->temporary) {
-        if (getenv("GRASS_VECTOR_TEMPORARY") == NULL) {
+        int delete;
+        char *env = getenv("GRASS_VECTOR_TEMPORARY");
+
+        delete = TRUE;
+        if (Map->temporary == TEMPORARY_MAP_ENV && env) {
+            if (G_strcasecmp(env, "move") == 0) {
+                /* copy temporary vector map to the current mapset */
+                char path_tmp[GPATH_MAX], path_map[GPATH_MAX];
+                    
+                G_debug(1, "V1_close_nat(): temporary map <%s> TO BE MOVED TO"
+                        " CURRENT MAPSET",
+                        Map->name);
+                Vect__get_element_path(path_tmp, Map, NULL);
+
+                G_file_name(path_map, GV_DIRECTORY, NULL, Map->mapset);
+                if (access(path_map, 0) != 0 && G_mkdir(path_map) != 0)
+                    G_fatal_error(_("Unable to create '%s': %s"),
+                                  path_map, strerror(errno));
+
+                G_file_name(path_map, GV_DIRECTORY, Map->name, Map->mapset);
+
+                G_debug(1, "V1_close_nat(): %s -> %s", path_tmp, path_map);
+                if (0 != G_recursive_copy(path_tmp, path_map))
+                    G_fatal_error(_("Unable to copy '%s': %s"), path_tmp, strerror(errno));
+
+#ifdef TEMPORARY_MAP_DB
+                int i, ndblinks;
+                int tmp;
+                
+                struct field_info *fi;
+                dbConnection connection;
+                struct dblinks *dblinks;
+
+                G_debug(1, "V1_close_nat(): copying attributes");
+                /* copy also attributes */
+                dblinks = Vect_new_dblinks_struct();
+                db_get_connection(&connection);
+                ndblinks = Vect_get_num_dblinks(Map);
+                for (i = 0; i < ndblinks; i++) {
+                    fi = Vect_get_dblink(Map, i);
+                    if (DB_OK != db_copy_table(fi->driver, fi->database, fi->table,
+                                               connection.driverName,
+                                               connection.databaseName,
+                                               fi->table)) {
+                        G_warning(_("Unable to copy table <%s>"), fi->table);
+                        continue;
+                    }
+
+                    Vect_add_dblink(dblinks, fi->number, fi->name,
+                                    fi->table, fi->key, connection.databaseName,
+                                    connection.driverName);
+                    G_free(fi);
+                }
+                G_free(Map->dblnk);
+                Map->dblnk = dblinks;
+                tmp = Map->temporary;
+                Map->temporary = TEMPORARY_MAP_DISABLED;
+                Vect_write_dblinks(Map);
+                Map->temporary = tmp;
+#endif
+            }
+            else if (G_strcasecmp(env, "delete") == 0) {
+                /* delete temporary vector map */
+                G_debug(1, "V1_close_nat(): temporary map <%s> TO BE DELETED", Map->name);
+            }
+            else {
+                /* do not delete temporary vector map */
+                G_debug(1, "V1_close_nat(): temporary map <%s> IS NOT DELETED", 
+                        Map->name);
+                delete = FALSE;
+            }
+        }
+        else if (Map->temporary == TEMPORARY_MAP) {
             G_debug(1, "V1_close_nat(): temporary map <%s> TO BE DELETED", Map->name);
-            Vect__delete(Map->name, TRUE);
+            delete = TRUE;
         }
-        else {
-            G_debug(1, "V1_close_nat(): temporary map <%s> IS NOT DELETED", Map->name);
+        
+        if (delete) {
+            char path_tmp[GPATH_MAX];
+
+            /* delete vector directory */
+            Vect__get_element_path(path_tmp, Map, NULL);
+            G_recursive_remove(path_tmp);
+
+#ifndef TEMPORARY_MAP_DB
+            if (G_strcasecmp(env, "move") != 0) {
+                int i, ndblinks;
+
+                dbDriver *driver;
+                dbString table_name;
+                
+                struct field_info *fi;
+                
+                db_init_string(&table_name);
+                
+                /* drop also attribute table */
+                ndblinks = Vect_get_num_dblinks(Map);
+                for (i = 0; i < ndblinks; i++) {
+                    fi = Vect_get_dblink(Map, i);
+                    
+                    driver = db_start_driver_open_database(fi->driver, fi->database);
+                    if (driver == NULL) {
+                        G_warning(_("Unable to open database <%s> by driver <%s>"),
+                                  fi->database, fi->driver);
+                        continue;
+                    }
+                    
+                    db_set_string(&table_name, fi->table);
+                    if (DB_OK != db_drop_table(driver, &table_name)) {
+                        G_warning(_("Unable to drop table <%s>"), fi->table);
+                        continue;
+                    }
+                }
+            }
+#endif
         }
     }
 
diff --git a/lib/vector/Vlib/close_pg.c b/lib/vector/Vlib/close_pg.c
index 936ca12..6e49d23 100644
--- a/lib/vector/Vlib/close_pg.c
+++ b/lib/vector/Vlib/close_pg.c
@@ -127,8 +127,7 @@ int V2_close_pg(struct Map_info *Map)
         
         /* delete old support files if available */
         sprintf(buf, "%s/%s", GV_DIRECTORY, Map->name);
-        
-        G_file_name(file_path, buf, GV_TOPO_ELEMENT, G_mapset());
+        Vect__get_element_path(file_path, Map, GV_TOPO_ELEMENT);
         if (access(file_path, F_OK) == 0) /* file exists? */
             unlink(file_path);
         
diff --git a/lib/vector/Vlib/copy.c b/lib/vector/Vlib/copy.c
index f8159c7..93ccd30 100644
--- a/lib/vector/Vlib/copy.c
+++ b/lib/vector/Vlib/copy.c
@@ -477,7 +477,7 @@ int Vect__copy_areas(const struct Map_info *In, int field, struct Map_info *Out)
     if (nareas > 0)
         G_message(_("Exporting areas..."));
     for (area = 1; area <= nareas; area++) {
-        G_debug(3, "area = %d", area);
+        G_debug(2, "area = %d", area);
         G_percent(area, nareas, 3);
 
         /* get category */
diff --git a/lib/vector/Vlib/field.c b/lib/vector/Vlib/field.c
index 33820a5..7256f31 100644
--- a/lib/vector/Vlib/field.c
+++ b/lib/vector/Vlib/field.c
@@ -385,9 +385,25 @@ struct field_info *Vect_default_field_info(struct Map_info *Map,
 	fi->name = G_store(buf);
 
     fi->key = G_store(GV_KEY_COLUMN);	/* Should be: id/fid/gfid/... ? */
+#ifdef TEMPORARY_MAP_DB
+    if (Map->temporary) {
+        Vect__get_element_path(buf, Map, NULL);
+        if (strcmp(DB_DEFAULT_DRIVER, "sqlite") == 0)
+            strcat(buf, "/sqlite.db");
+        else
+            strcat(buf, "/db.dbf");
+        fi->database = G_store(buf);
+        fi->driver = DB_DEFAULT_DRIVER;
+    }
+    else {
+        fi->database = G_store(connection.databaseName);
+        fi->driver = G_store(connection.driverName);
+    }
+#else
     fi->database = G_store(connection.databaseName);
     fi->driver = G_store(connection.driverName);
-
+#endif
+    
     return fi;
 }
 
@@ -560,7 +576,7 @@ static int read_dblinks_nat(struct Map_info *Map)
     char file[1024], buf[2001];
     char tab[1024], col[1024], db[1024], drv[1024], fldstr[1024], *fldname;
     int fld;
-    char *c, *path;
+    char *c, path[GPATH_MAX];
     int row, rule;
     struct dblinks *dbl;
     char **tokens;
@@ -569,9 +585,8 @@ static int read_dblinks_nat(struct Map_info *Map)
     dbl = Map->dblnk;
 
     /* Read dblink for native format */
-    path = Vect__get_path(Map);
+    Vect__get_path(path, Map);
     fd = G_fopen_old(path, GV_DBLN_ELEMENT, Map->mapset);
-    G_free(path);
     if (fd == NULL) {		/* This may be correct, no tables defined */
 	G_debug(1, "Cannot open vector database definition file");
 	return -1;
@@ -892,7 +907,7 @@ int Vect_write_dblinks(struct Map_info *Map)
 {
     int i;
     FILE *fd;
-    char *path, buf[1024];
+    char path[GPATH_MAX], buf[1024];
     struct dblinks *dbl;
 
     if (Map->format != GV_FORMAT_NATIVE)
@@ -904,9 +919,8 @@ int Vect_write_dblinks(struct Map_info *Map)
 
     dbl = Map->dblnk;
 
-    path = Vect__get_path(Map);
+    Vect__get_path(path, Map);
     fd = G_fopen_new(path, GV_DBLN_ELEMENT);
-    G_free(path);
     if (fd == NULL) {		/* This may be correct, no tables defined */
 	G_warning(_("Unable to create database definition file for vector map <%s>"),
 		  Vect_get_name(Map));
diff --git a/lib/vector/Vlib/geos.c b/lib/vector/Vlib/geos.c
index 478ea1e..fab62aa 100644
--- a/lib/vector/Vlib/geos.c
+++ b/lib/vector/Vlib/geos.c
@@ -1,15 +1,15 @@
 /*!
   \file lib/vector/Vlib/geos.c
-  
+
   \brief Vector library - GEOS support
-  
+
   Higher level functions for reading/writing/manipulating vectors.
-  
+
   (C) 2009 by the GRASS Development Team
-  
+
   This program is free software under the GNU General Public License
   (>=v2).  Read the file COPYING that comes with GRASS for details.
-  
+
   \author Martin Landa <landa.martin gmail.com>
  */
 
@@ -31,13 +31,13 @@ static GEOSCoordSequence *read_polygon_points(struct Map_info *, int, int*);
     - GV_POINT     -> POINT
     - GV_LINE      -> LINESTRING
     - GV_BOUNDARY  -> LINESTRING / LINEARRING
-   
+
    You should free allocated memory by GEOSGeom_destroy().
 
    \param Map pointer to Map_info structure
    \param line feature id
    \param[out] type feature type or NULL
-   
+
    \return pointer to GEOSGeometry instance
    \return empty GEOSGeometry for unsupported feature type
    \return NULL on error
@@ -45,25 +45,25 @@ static GEOSCoordSequence *read_polygon_points(struct Map_info *, int, int*);
 GEOSGeometry *Vect_read_line_geos(struct Map_info *Map, int line, int *type)
 {
     struct P_line *Line;
-    
+
     G_debug(3, "Vect_read_line_geos(): line = %d", line);
-    
+
     if (!VECT_OPEN(Map))
-	G_fatal_error("Vect_read_line_geos(): %s", _("vector map is not opened"));
-    
+        G_fatal_error("Vect_read_line_geos(): %s", _("vector map is not opened"));
+
     if (line < 1 || line > Map->plus.n_lines)
-	G_fatal_error(_("Vect_read_line_geos(): feature id %d is not reasonable "
-			"(max features in vector map <%s>: %d)"),
-		      line, Vect_get_full_name(Map), Map->plus.n_lines);
-    
+        G_fatal_error(_("Vect_read_line_geos(): feature id %d is not reasonable "
+                        "(max features in vector map <%s>: %d)"),
+                      line, Vect_get_full_name(Map), Map->plus.n_lines);
+
     if (Map->format != GV_FORMAT_NATIVE)
-	G_fatal_error("Vect_read_line_geos(): %s", _("only native format supported"));
-    
+        G_fatal_error("Vect_read_line_geos(): %s", _("only native format supported"));
+
     Line = Map->plus.Line[line];
     if (Line == NULL)
-	G_fatal_error("Vect_read_line_geos(): %s %d",
-		      _("Attempt to read dead line"), line);
-    
+        G_fatal_error("Vect_read_line_geos(): %s %d",
+                      _("Attempt to read dead line"), line);
+
     return Vect__read_line_geos(Map, Line->offset, type);
 }
 
@@ -73,7 +73,7 @@ GEOSGeometry *Vect_read_line_geos(struct Map_info *Map, int line, int *type)
    You should free allocated memory by GEOSGeom_destroy().
 
    \param Map pointer to Map_info structure
-   \param area area id 
+   \param area area id
 
    \return pointer to GEOSGeometry instance
    \return NULL on error
@@ -82,29 +82,29 @@ GEOSGeometry *Vect_read_area_geos(struct Map_info * Map, int area)
 {
     int i, nholes, isle;
     GEOSGeometry *boundary, *poly, **holes;
-    
+
     G_debug(3, "Vect_read_area_geos(): area = %d", area);
 
     boundary = GEOSGeom_createLinearRing(Vect_get_area_points_geos(Map, area));
     if (!boundary) {
-	G_fatal_error(_("Vect_read_area_geos(): unable to read area id %d"),
-		      area);
+        G_fatal_error(_("Vect_read_area_geos(): unable to read area id %d"),
+                      area);
     }
 
     nholes = Vect_get_area_num_isles(Map, area);
     holes = (GEOSGeometry **) G_malloc(nholes * sizeof(GEOSGeometry *));
     for (i = 0; i < nholes; i++) {
-	isle = Vect_get_area_isle(Map, area, i);
-	if (isle < 1) {
-	    nholes--;
-	    continue;
-	}
-	holes[i] = GEOSGeom_createLinearRing(Vect_get_isle_points_geos(Map, isle));
-	if (!(holes[i]))
-	    G_fatal_error(_("Vect_read_area_geos(): unable to read isle id %d of area id %d"),
-			  isle, area);
+        isle = Vect_get_area_isle(Map, area, i);
+        if (isle < 1) {
+            nholes--;
+            continue;
+        }
+        holes[i] = GEOSGeom_createLinearRing(Vect_get_isle_points_geos(Map, isle));
+        if (!(holes[i]))
+            G_fatal_error(_("Vect_read_area_geos(): unable to read isle id %d of area id %d"),
+                          isle, area);
     }
-    
+
     poly = GEOSGeom_createPolygon(boundary, holes, nholes);
     G_free(holes);
 
@@ -116,73 +116,72 @@ GEOSGeometry *Vect_read_area_geos(struct Map_info * Map, int area)
 
    Supported types:
    - GV_POINT    -> POINT
+   - GV_CENTROID -> POINT
    - GV_LINE     -> LINESTRING
    - GV_BOUNDARY -> LINEARRING
 
    You should free allocated memory by GEOSGeom_destroy().
 
-   \param Map pointer to Map_info structure
    \param points pointer to line_pnts structure
    \param type feature type (see supported types)
+   \param with_z Set to 1 if the feature is 3d, 0 otherwise
 
    \return pointer to GEOSGeometry instance
    \return NULL on error
  */
-GEOSGeometry *Vect_line_to_geos(struct Map_info *Map,
-				const struct line_pnts *points, int type)
+GEOSGeometry *Vect_line_to_geos(const struct line_pnts *points,
+                                int type, int with_z)
 {
-    int i, with_z;
+    int i;
     GEOSGeometry *geom;
     GEOSCoordSequence *pseq;
 
     G_debug(3, "Vect_line_to_geos(): type = %d", type);
-    
-    with_z = Vect_is_3d(Map);
-    
+
     /* read only points / lines / boundaries */
-    if (!(type & (GV_POINT | GV_LINES)))
-	return NULL;
+    if (!(type & (GV_POINT | GV_CENTROID | GV_LINES)))
+        return NULL;
 
-    if (type == GV_POINT) { 
-	if (points->n_points != 1)
-	    /* point is not valid */
-	    return NULL;
+    if (type == GV_POINT || type == GV_CENTROID) {
+        if (points->n_points != 1)
+            /* point is not valid */
+            return NULL;
     }
-    else {			
-	if (points->n_points < 2)
-	    /* line/boundary is not valid */
-	    return NULL;
+    else {
+        if (points->n_points < 2)
+            /* line/boundary is not valid */
+            return NULL;
     }
-    
+
     pseq = GEOSCoordSeq_create(points->n_points, with_z ? 3 : 2);
-    
+
     for (i = 0; i < points->n_points; i++) {
-	GEOSCoordSeq_setX(pseq, i, points->x[i]);
-	GEOSCoordSeq_setY(pseq, i, points->y[i]);
-	if (with_z)
-	    GEOSCoordSeq_setZ(pseq, i, points->z[i]);
+        GEOSCoordSeq_setX(pseq, i, points->x[i]);
+        GEOSCoordSeq_setY(pseq, i, points->y[i]);
+        if (with_z)
+            GEOSCoordSeq_setZ(pseq, i, points->z[i]);
     }
 
-    if (type == GV_POINT)
-	geom = GEOSGeom_createPoint(pseq);
+    if (type == GV_POINT || type == GV_CENTROID)
+        geom = GEOSGeom_createPoint(pseq);
     else if (type == GV_LINE)
-	geom = GEOSGeom_createLineString(pseq);
+        geom = GEOSGeom_createLineString(pseq);
     else { /* boundary */
-	geom = GEOSGeom_createLineString(pseq);
-	if (GEOSisRing(geom)) {
-	    /* GEOSGeom_destroy(geom); */
-	    geom = GEOSGeom_createLinearRing(pseq);
-	}
+        geom = GEOSGeom_createLineString(pseq);
+        if (GEOSisRing(geom)) {
+            /*GEOSGeom_destroy(geom);*/
+            geom = GEOSGeom_createLinearRing(pseq);
+        }
     }
-    
+
     /* GEOSCoordSeq_destroy(pseq); */
 
     return geom;
 }
 
-/*!  
+/*!
   \brief Read line from coor file
-  
+
   You should free allocated memory by GEOSGeom_destroy().
 
   \param Map pointer to Map_info
@@ -197,50 +196,50 @@ GEOSGeometry *Vect_line_to_geos(struct Map_info *Map,
 GEOSGeometry *Vect__read_line_geos(struct Map_info *Map, long offset, int *type)
 {
     int ftype;
-    
+
     GEOSGeometry *geom;
     GEOSCoordSequence *pseq;
-    
+
     pseq = V1_read_line_geos(Map, offset, &ftype);
     if (!pseq)
-	G_fatal_error(_("Unable to read line offset %ld"), offset);
-    
+        G_fatal_error(_("Unable to read line offset %ld"), offset);
+
     if (ftype & GV_POINT) {
-	G_debug(3, "    geos_type = point");
-	geom = GEOSGeom_createPoint(pseq);
+        G_debug(3, "    geos_type = point");
+        geom = GEOSGeom_createPoint(pseq);
     }
     else if (ftype & GV_LINE) {
-	G_debug(3, "    geos_type = linestring");
-	geom = GEOSGeom_createLineString(pseq);
+        G_debug(3, "    geos_type = linestring");
+        geom = GEOSGeom_createLineString(pseq);
     }
     else { /* boundary */
-	geom = GEOSGeom_createLineString(pseq);
-	if (GEOSisRing(geom)) {
-	    /* GEOSGeom_destroy(geom); */
-	    geom = GEOSGeom_createLinearRing(pseq);
-	    G_debug(3, "    geos_type = linearring");
-	}
-	else {
-	    G_debug(3, "    geos_type = linestring");
-	}
+        geom = GEOSGeom_createLineString(pseq);
+        if (GEOSisRing(geom)) {
+            /* GEOSGeom_destroy(geom); */
+            geom = GEOSGeom_createLinearRing(pseq);
+            G_debug(3, "    geos_type = linearring");
+        }
+        else {
+            G_debug(3, "    geos_type = linestring");
+        }
     }
-        
+
     /* GEOSCoordSeq_destroy(pseq); */
-    
+
     if (type)
       *type = ftype;
-    
+
     return geom;
 }
 
-/*!  
+/*!
   \brief Read line from coor file into GEOSCoordSequence
-  
+
   You should free allocated memory by GEOSCoordSeq_destroy().
-  
+
   \param Map pointer to Map_info
   \param line line id
-  
+
   \return pointer to GEOSCoordSequence
   \return empty GEOSCoordSequence for dead line or unsuppored feature type
   \return NULL end of file
@@ -249,31 +248,31 @@ GEOSCoordSequence *V2_read_line_geos(struct Map_info *Map, int line)
 {
     int ftype;
     struct P_line *Line;
-    
+
     G_debug(3, "V2_read_line_geos(): line = %d", line);
-    
+
     Line = Map->plus.Line[line];
 
     if (Line == NULL)
-	G_fatal_error("V2_read_line_geos(): %s %d",
-		      _("Attempt to read dead line"), line);
-    
+        G_fatal_error("V2_read_line_geos(): %s %d",
+                      _("Attempt to read dead line"), line);
+
     return V1_read_line_geos(Map, Line->offset, &ftype);
 }
 
 
-/*!  
+/*!
   \brief Read feature from coor file into GEOSCoordSequence
 
   Note: Function reads only points, lines and boundaries, other
   feature types are ignored (empty coord array is returned)!
-  
+
   You should free allocated memory by GEOSCoordSeq_destroy().
-  
+
   \param Map pointer to Map_info
   \param offset line offset
   \param[out] type feature type
-  
+
   \return pointer to GEOSCoordSequence
   \return empty GEOSCoordSequence for dead line or unsuppored feature type
   \return NULL end of file
@@ -285,103 +284,103 @@ GEOSCoordSequence *V1_read_line_geos(struct Map_info *Map, long offset, int *typ
     char rhead, nc;
     long size;
     double *x, *y, *z;
-    
+
     GEOSCoordSequence *pseq;
-    
+
     G_debug(3, "V1_read_line_geos(): offset = %ld", offset);
-    
+
     Map->head.last_offset = offset;
-    
+
     /* reads must set in_head, but writes use default */
     dig_set_cur_port(&(Map->head.port));
-    
+
     dig_fseek(&(Map->dig_fp), offset, 0);
-    
+
     if (0 >= dig__fread_port_C(&rhead, 1, &(Map->dig_fp)))
-	return NULL;            /* end of file */
-    
-    if (!(rhead & 0x01))	/* dead line */
-	return GEOSCoordSeq_create(0, (Map->head.with_z) ? 3 : 2);
-
-    if (rhead & 0x02)		/* categories exists */
-	do_cats = 1;		/* do not return here let file offset moves forward to next */
-    else			/* line */
-	do_cats = 0;
-    
+        return NULL;            /* end of file */
+
+    if (!(rhead & 0x01))        /* dead line */
+        return GEOSCoordSeq_create(0, (Map->head.with_z) ? 3 : 2);
+
+    if (rhead & 0x02)           /* categories exists */
+        do_cats = 1;            /* do not return here let file offset moves forward to next */
+    else                        /* line */
+        do_cats = 0;
+
     rhead >>= 2;
     *type = dig_type_from_store((int) rhead);
-    
+
     /* read only points / lines / boundaries */
     if (!(*type & (GV_POINT | GV_LINES)))
-	return GEOSCoordSeq_create(0, (Map->head.with_z) ? 3 : 2);
- 
+        return GEOSCoordSeq_create(0, (Map->head.with_z) ? 3 : 2);
+
     /* skip categories */
     if (do_cats) {
-	if (Map->head.coor_version.minor == 1) {	/* coor format 5.1 */
-	    if (0 >= dig__fread_port_I(&n_cats, 1, &(Map->dig_fp)))
-		return NULL;
-	}
-	else {			                /* coor format 5.0 */
-	    if (0 >= dig__fread_port_C(&nc, 1, &(Map->dig_fp)))
-		return NULL;
-	    n_cats = (int) nc;
-	}
-	G_debug(3, "    n_cats = %d", n_cats);
-
-	if (Map->head.coor_version.minor == 1) {	/* coor format 5.1 */
-	    size = (2 * PORT_INT) * n_cats;
-	}
-	else {		                /* coor format 5.0 */
-	    size = (PORT_SHORT + PORT_INT) * n_cats;
-	}
-	dig_fseek(&(Map->dig_fp), size, SEEK_CUR);
+        if (Map->head.coor_version.minor == 1) {        /* coor format 5.1 */
+            if (0 >= dig__fread_port_I(&n_cats, 1, &(Map->dig_fp)))
+                return NULL;
+        }
+        else {                                  /* coor format 5.0 */
+            if (0 >= dig__fread_port_C(&nc, 1, &(Map->dig_fp)))
+                return NULL;
+            n_cats = (int) nc;
+        }
+        G_debug(3, "    n_cats = %d", n_cats);
+
+        if (Map->head.coor_version.minor == 1) {        /* coor format 5.1 */
+            size = (2 * PORT_INT) * n_cats;
+        }
+        else {                          /* coor format 5.0 */
+            size = (PORT_SHORT + PORT_INT) * n_cats;
+        }
+        dig_fseek(&(Map->dig_fp), size, SEEK_CUR);
     }
 
     if (*type & GV_POINTS) {
-	    n_points = 1;
+            n_points = 1;
     }
     else {
-	if (0 >= dig__fread_port_I(&n_points, 1, &(Map->dig_fp)))
-	    return NULL;
+        if (0 >= dig__fread_port_I(&n_points, 1, &(Map->dig_fp)))
+            return NULL;
     }
-    
+
     G_debug(3, "    n_points = %d dim = %d", n_points, (Map->head.with_z) ? 3 : 2);
-    
+
     pseq = GEOSCoordSeq_create(n_points, (Map->head.with_z) ? 3 : 2);
-    
+
     x = (double *) G_malloc(n_points * sizeof(double));
     y = (double *) G_malloc(n_points * sizeof(double));
     if (Map->head.with_z)
-	z = (double *) G_malloc(n_points * sizeof(double));
+        z = (double *) G_malloc(n_points * sizeof(double));
     else
-	z = NULL;
-    
+        z = NULL;
+
     if (0 >= dig__fread_port_D(x, n_points, &(Map->dig_fp)))
-	return NULL; /* end of file */
+        return NULL; /* end of file */
 
     if (0 >= dig__fread_port_D(y, n_points, &(Map->dig_fp)))
-	return NULL; /* end of file */
+        return NULL; /* end of file */
 
     if (Map->head.with_z) {
-	if (0 >= dig__fread_port_D(z, n_points, &(Map->dig_fp)))
-	    return NULL; /* end of file */
+        if (0 >= dig__fread_port_D(z, n_points, &(Map->dig_fp)))
+            return NULL; /* end of file */
 
     }
 
     for (i = 0; i < n_points; i++) {
-	GEOSCoordSeq_setX(pseq, i, x[i]);
-	GEOSCoordSeq_setY(pseq, i, y[i]);
-	if (Map->head.with_z)
-	    GEOSCoordSeq_setZ(pseq, i, z[i]);
+        GEOSCoordSeq_setX(pseq, i, x[i]);
+        GEOSCoordSeq_setY(pseq, i, y[i]);
+        if (Map->head.with_z)
+            GEOSCoordSeq_setZ(pseq, i, z[i]);
     }
-    
+
     G_debug(3, "    off = %ld", (long) dig_ftell(&(Map->dig_fp)));
-    
+
     G_free((void *) x);
     G_free((void *) y);
     if (z)
-	G_free((void *) z);
-    
+        G_free((void *) z);
+
     return pseq;
 }
 
@@ -403,17 +402,17 @@ GEOSCoordSequence *Vect_get_area_points_geos(struct Map_info *Map, int area)
 {
     struct Plus_head *Plus;
     struct P_area *Area;
-    
+
     G_debug(3, "Vect_get_area_points_geos(): area = %d", area);
-    
+
     Plus = &(Map->plus);
     Area = Plus->Area[area];
 
-    if (Area == NULL) {		/* dead area */
-	G_warning(_("Attempt to read points of nonexistent area id %d"), area);
-	return NULL;		/* error , because we should not read dead areas */
+    if (Area == NULL) {         /* dead area */
+        G_warning(_("Attempt to read points of nonexistent area id %d"), area);
+        return NULL;            /* error , because we should not read dead areas */
     }
-    
+
     return read_polygon_points(Map, Area->n_lines, Area->lines);
 }
 
@@ -421,7 +420,7 @@ GEOSCoordSequence *Vect_get_area_points_geos(struct Map_info *Map, int area)
    \brief Returns the polygon (isle) array of points (inner ring)
 
    You should free allocated memory by GEOSCoordSeq_destroy().
-   
+
    See also Vect_get_isle_points().
 
    \param Map pointer to Map_info
@@ -434,7 +433,7 @@ GEOSCoordSequence *Vect_get_isle_points_geos(struct Map_info *Map, int isle)
 {
     struct Plus_head *Plus;
     struct P_isle *Isle;
-    
+
     G_debug(3, "Vect_get_isle_points_geos(): isle = %d", isle);
 
     Plus = &(Map->plus);
@@ -450,7 +449,7 @@ GEOSCoordSequence *read_polygon_points(struct Map_info *Map, int n_lines, int *l
     unsigned int n_points, n_points_shell;
     double x, y, z;
     int *dir;
-    
+
     GEOSCoordSequence **pseq, *pseq_shell;
 
     G_debug(3, "  n_lines = %d", n_lines);
@@ -459,64 +458,64 @@ GEOSCoordSequence *read_polygon_points(struct Map_info *Map, int n_lines, int *l
 
     n_points_shell = 0;
     for (i = 0; i < n_lines; i++) {
-	line = lines[i];
-	aline = abs(line);
-	G_debug(3, "  append line(%d) = %d", i, line);
-
-	if (line > 0)
-	    dir[i] = GV_FORWARD;
-	else
-	    dir[i] = GV_BACKWARD;
-	
-	pseq[i] = V2_read_line_geos(Map, aline);
-	if (!(pseq[i])) {
-	    G_fatal_error(_("Unable to read feature id %d"), aline);
-	}
-	
-	GEOSCoordSeq_getSize(pseq[i], &n_points);
-	G_debug(3, "  line n_points = %d", n_points);
-	n_points_shell += n_points;
+        line = lines[i];
+        aline = abs(line);
+        G_debug(3, "  append line(%d) = %d", i, line);
+
+        if (line > 0)
+            dir[i] = GV_FORWARD;
+        else
+            dir[i] = GV_BACKWARD;
+
+        pseq[i] = V2_read_line_geos(Map, aline);
+        if (!(pseq[i])) {
+            G_fatal_error(_("Unable to read feature id %d"), aline);
+        }
+
+        GEOSCoordSeq_getSize(pseq[i], &n_points);
+        G_debug(3, "  line n_points = %d", n_points);
+        n_points_shell += n_points;
     }
 
     /* create shell (outer ring) */
     pseq_shell = GEOSCoordSeq_create(n_points_shell, Map->head.with_z ? 3 : 2);
     k = 0;
     for (i = 0; i < n_lines; i++) {
-	GEOSCoordSeq_getSize(pseq[i], &n_points);
-	if (dir[i] == GV_FORWARD) {
-	    for (j = 0; j < (int) n_points; j++, k++) {
-		GEOSCoordSeq_getX(pseq[i], j, &x);
-		GEOSCoordSeq_setX(pseq_shell, k, x);
-		
-		GEOSCoordSeq_getY(pseq[i], j, &y);
-		GEOSCoordSeq_setY(pseq_shell, k, y);
-		
-		if (Map->head.with_z) {
-		    GEOSCoordSeq_getY(pseq[i], j, &z);
-		    GEOSCoordSeq_setZ(pseq_shell, k, z);
-		}
-	    }
-	}
-	else { /* GV_BACKWARD */
-	    for (j = (int) n_points - 1; j > -1; j--, k++) {
-		GEOSCoordSeq_getX(pseq[i], j, &x);
-		GEOSCoordSeq_setX(pseq_shell, k, x);
-		
-		GEOSCoordSeq_getY(pseq[i], j, &y);
-		GEOSCoordSeq_setY(pseq_shell, k, y);
-		
-		if (Map->head.with_z) {
-		    GEOSCoordSeq_getY(pseq[i], j, &z);
-		    GEOSCoordSeq_setZ(pseq_shell, k, z);
-		}
-	    }
-	}
-	GEOSCoordSeq_destroy(pseq[i]);
+        GEOSCoordSeq_getSize(pseq[i], &n_points);
+        if (dir[i] == GV_FORWARD) {
+            for (j = 0; j < (int) n_points; j++, k++) {
+                GEOSCoordSeq_getX(pseq[i], j, &x);
+                GEOSCoordSeq_setX(pseq_shell, k, x);
+
+                GEOSCoordSeq_getY(pseq[i], j, &y);
+                GEOSCoordSeq_setY(pseq_shell, k, y);
+
+                if (Map->head.with_z) {
+                    GEOSCoordSeq_getY(pseq[i], j, &z);
+                    GEOSCoordSeq_setZ(pseq_shell, k, z);
+                }
+            }
+        }
+        else { /* GV_BACKWARD */
+            for (j = (int) n_points - 1; j > -1; j--, k++) {
+                GEOSCoordSeq_getX(pseq[i], j, &x);
+                GEOSCoordSeq_setX(pseq_shell, k, x);
+
+                GEOSCoordSeq_getY(pseq[i], j, &y);
+                GEOSCoordSeq_setY(pseq_shell, k, y);
+
+                if (Map->head.with_z) {
+                    GEOSCoordSeq_getY(pseq[i], j, &z);
+                    GEOSCoordSeq_setZ(pseq_shell, k, z);
+                }
+            }
+        }
+        GEOSCoordSeq_destroy(pseq[i]);
     }
-    
+
     G_free((void *) pseq);
     G_free((void *) dir);
-    
+
     return pseq_shell;
 }
 #endif /* HAVE_GEOS */
diff --git a/lib/vector/Vlib/geos_to_wktb.c b/lib/vector/Vlib/geos_to_wktb.c
new file mode 100644
index 0000000..0029e00
--- /dev/null
+++ b/lib/vector/Vlib/geos_to_wktb.c
@@ -0,0 +1,278 @@
+/*!
+  \file lib/vector/Vlib/geos_to_wktb.c
+
+  \brief Vector library - GEOS powered WKT and WKB export
+
+  Higher level functions for reading/writing/manipulating vectors.
+
+  (C) 2015 by the GRASS Development Team
+
+  This program is free software under the GNU General Public License
+  (>=v2).  Read the file COPYING that comes with GRASS for details.
+
+  \author Soeren Gebbert <soerengebbert googlemail.com>
+ */
+
+#include <stdlib.h>
+#include <grass/vector.h>
+#include <grass/glocale.h>
+
+#ifdef HAVE_GEOS
+
+/*!
+   \brief Read vector area and return it as Well Known Binary (WKB)
+          unsigned char array
+
+   \param Map pointer to Map_info structure
+   \param area area id
+   \param size The size of the returned unsigned char array
+
+   \return pointer to unsigned char array
+   \return NULL on error
+ */
+unsigned char *Vect_read_area_to_wkb(struct Map_info * Map, int area, size_t *size)
+{
+    static int init = 0;
+    /* The writer is static for performance reasons */
+    static GEOSWKBWriter *writer = NULL;
+    unsigned char *wkb = NULL;
+
+    if(init == 0) {
+        initGEOS(NULL, NULL);
+        writer = GEOSWKBWriter_create();
+        init += 1;
+    }
+
+    GEOSWKBWriter_setOutputDimension(writer, 2);
+
+    GEOSGeometry *geom = Vect_read_area_geos(Map, area);
+
+    if(!geom) {
+        return(NULL);
+    }
+
+    wkb = GEOSWKBWriter_write(writer, geom, size);
+
+    GEOSGeom_destroy(geom);
+
+    return(wkb);
+}
+
+/*!
+   \brief Read vector area and return it as Well Known Text (WKT)
+          unsigned char array
+
+   \param Map pointer to Map_info structure
+   \param area area id
+   \param size The size of the returned unsigned char array
+
+   \return pointer to char array
+   \return NULL on error
+ */
+char *Vect_read_area_to_wkt(struct Map_info * Map, int area)
+{
+    static int init = 0;
+    /* The writer is static for performance reasons */
+    static GEOSWKTWriter *writer = NULL;
+    char *wkt = NULL;
+
+    if(init == 0) {
+        initGEOS(NULL, NULL);
+        writer = GEOSWKTWriter_create();
+        init += 1;
+    }
+
+    GEOSWKTWriter_setOutputDimension(writer, 2);
+
+    GEOSGeometry *geom = Vect_read_area_geos(Map, area);
+
+    if(!geom) {
+        return(NULL);
+    }
+
+    wkt = GEOSWKTWriter_write(writer, geom);
+
+    GEOSGeom_destroy(geom);
+
+    return(wkt);
+}
+
+/*!
+   \brief Read a Well Known Binary (WKB) representation of
+          a given feature id.
+           
+   This function reads a specific feature and converts it into a 
+   WKB representation. line_pnts and line_cats structures can be provided
+   to store the result of the read operation. That is meaningful in case
+   the category values of the feature are needed.
+   This function is not thread safe, it uses static variables for speedup.
+
+   Supported feature types:
+   - GV_POINT    -> POINT
+   - GV_CENTROID -> POINT
+   - GV_LINE     -> LINESTRING
+   - GV_BOUNDARY -> LINEARRING
+
+   \param Map pointer to Map_info structure
+   \param line_p pointer to line_pnts structure to use, or NULL
+   \param line_c pointer to line_cats structure to use, or NULL
+   \param line The id of the feature to read
+   \param size The size of the returned unsigned char array
+
+   \return pointer to unsigned char array
+   \return NULL on error
+ */
+unsigned char *Vect_read_line_to_wkb(const struct Map_info *Map, 
+                                     struct line_pnts *line_p, 
+                                     struct line_cats *line_c, 
+                                     int line, size_t *size,
+                                     int *error)
+{    
+    static int init = 0;
+    /* The writer is static for performance reasons */
+    static GEOSWKBWriter *writer = NULL;
+    unsigned char *wkb = NULL;
+    int destroy_line = 0, destroy_cats = 0;
+
+    if(init == 0) {
+        initGEOS(NULL, NULL);
+        writer = GEOSWKBWriter_create();
+        init += 1;
+    }
+
+    if(line_p == NULL) {
+        destroy_line = 1;
+        line_p = Vect_new_line_struct();
+    }
+    
+    if(line_c == NULL) {
+        destroy_cats = 1;
+        line_c = Vect_new_cats_struct();
+    }
+    
+    int f_type = Vect_read_line(Map, line_p, line_c, line);
+    /* Save the error state */
+    *error = f_type;
+    
+    if(f_type < 0)
+        return(NULL);
+    
+    GEOSWKBWriter_setOutputDimension(writer, Vect_is_3d(Map) ? 3 : 2);
+
+    GEOSGeometry *geom = Vect_line_to_geos(line_p, f_type, Vect_is_3d(Map));
+    
+    if(destroy_cats == 1)
+        Vect_destroy_cats_struct(line_c);
+
+    if(destroy_line == 1)
+        Vect_destroy_line_struct(line_p);
+
+    if(!geom) {
+        return(NULL);
+    }
+
+    wkb = GEOSWKBWriter_write(writer, geom, size);
+
+    GEOSGeom_destroy(geom);
+
+    return(wkb);
+}
+
+/*!
+   \brief Create a Well Known Binary (WKB) representation of
+          given feature type from points.
+
+   This function is not thread safe, it uses static variables for speedup.
+
+   Supported feature types:
+   - GV_POINT    -> POINT
+   - GV_CENTROID -> POINT
+   - GV_LINE     -> LINESTRING
+   - GV_BOUNDARY -> LINEARRING
+
+   \param points pointer to line_pnts structure
+   \param type feature type (see supported types)
+   \param with_z Set to 1 if the feature is 3d, 0 otherwise
+   \param size The size of the returned byte array
+
+   \return pointer to char array
+   \return NULL on error
+ */
+unsigned char *Vect_line_to_wkb(const struct line_pnts *points,
+                       int type, int with_z, size_t *size)
+{
+    static int init = 0;
+    /* The writer is static for performance reasons */
+    static GEOSWKBWriter *writer = NULL;
+    unsigned char *wkb = NULL;
+
+    if(init == 0) {
+        initGEOS(NULL, NULL);
+        writer = GEOSWKBWriter_create();
+        init += 1;
+    }
+
+    GEOSWKBWriter_setOutputDimension(writer, with_z ? 3 : 2);
+
+    GEOSGeometry *geom = Vect_line_to_geos(points, type, with_z);
+
+    if(!geom) {
+        return(NULL);
+    }
+
+    wkb = GEOSWKBWriter_write(writer, geom, size);
+
+    GEOSGeom_destroy(geom);
+
+    return(wkb);
+}
+
+/*!
+   \brief Create a Well Known Text (WKT) representation of
+          given feature type from points.
+
+   This function is not thread safe, it uses static variables for speedup.
+
+   Supported types:
+   - GV_POINT    -> POINT
+   - GV_CENTROID -> POINT
+   - GV_LINE     -> LINESTRING
+   - GV_BOUNDARY -> LINEARRING
+
+   \param points pointer to line_pnts structure
+   \param type feature type (see supported types)
+   \param with_z Set to 1 if the feature is 3d, 0 otherwise
+
+   \return pointer to char array
+   \return NULL on error
+ */
+char *Vect_line_to_wkt(const struct line_pnts *points,
+                       int type, int with_z)
+{
+    static int init = 0;
+    /* The writer is static for performance reasons */
+    static GEOSWKTWriter *writer = NULL;
+    char *wkt = NULL;
+
+    if(init == 0) {
+        initGEOS(NULL, NULL);
+        writer = GEOSWKTWriter_create();
+        init += 1;
+    }
+
+    GEOSWKTWriter_setOutputDimension(writer, with_z ? 3 : 2);
+
+    GEOSGeometry *geom = Vect_line_to_geos(points, type, with_z);
+
+    if(!geom) {
+        return(NULL);
+    }
+
+    wkt = GEOSWKTWriter_write(writer, geom);
+
+    GEOSGeom_destroy(geom);
+
+    return(wkt);
+}
+
+#endif /* HAVE_GEOS */
diff --git a/lib/vector/Vlib/header.c b/lib/vector/Vlib/header.c
index 857637b..5bce684 100644
--- a/lib/vector/Vlib/header.c
+++ b/lib/vector/Vlib/header.c
@@ -77,12 +77,11 @@ int Vect_write_header(const struct Map_info *Map)
  */
 int Vect__write_head(const struct Map_info *Map)
 {
-    char *path;
+    char path[GPATH_MAX];
     FILE *head_fp;
 
-    path = Vect__get_path(Map);
+    Vect__get_path(path, Map);
     head_fp = G_fopen_new(path, GV_HEAD_ELEMENT);
-    G_free(path);
     if (head_fp == NULL) {
 	G_warning(_("Unable to create header file for vector map <%s>"),
 		  Vect_get_full_name(Map));
@@ -118,15 +117,14 @@ int Vect__read_head(struct Map_info *Map)
 {
     FILE *head_fp;
     char buff[2000];
-    char *path, *ptr;
+    char path[GPATH_MAX], *ptr;
 
     /* Reset / init */
     Vect__init_head(Map);
     
     G_debug(1, "Vect__read_head(): vector = %s@%s", Map->name, Map->mapset);
-    path = Vect__get_path(Map);
+    Vect__get_path(path, Map);
     head_fp = G_fopen_old(path, GV_HEAD_ELEMENT, Map->mapset);
-    G_free(path);
     if (head_fp == NULL) {
 	G_warning(_("Unable to open header file of vector <%s>"),
 		  Vect_get_full_name(Map));
@@ -395,7 +393,7 @@ int Vect_set_map_date(struct Map_info *Map, const char *str)
 
    \param Map pointer to Map_info structure
 
-   \return string containg a date
+   \return string containing a date
  */
 const char *Vect_get_map_date(const struct Map_info *Map)
 {
diff --git a/lib/vector/Vlib/intersect2.c b/lib/vector/Vlib/intersect2.c
index 2924e77..d325c89 100644
--- a/lib/vector/Vlib/intersect2.c
+++ b/lib/vector/Vlib/intersect2.c
@@ -1,5 +1,5 @@
 /*!
-   \file lib/vector/Vlib/intersect.c
+   \file lib/vector/Vlib/intersect2.c
 
    \brief Vector library - intersection
 
@@ -547,12 +547,12 @@ static int boq_load(struct boq *q, struct line_pnts *Pnts,
  *
  * Creates array of new lines created from original A line, by
  * intersection with B line. Points (Points->n_points == 1) are not
- * supported.
+ * supported. If B line is NULL, A line is intersected with itself.
  * 
  * simplified Bentley–Ottmann Algorithm
  *
  * \param APoints first input line 
- * \param BPoints second input line 
+ * \param BPoints second input line or NULL
  * \param[out] ALines array of new lines created from original A line
  * \param[out] BLines array of new lines created from original B line
  * \param[out] nalines number of new lines (ALines)
@@ -598,6 +598,12 @@ Vect_line_intersection2(struct line_pnts *APoints,
     APnts = APoints;
     BPnts = BPoints;
 
+    same = 0;
+    if (!BPoints) {
+	BPnts = APoints;
+	same = 1;
+    }
+
     ABPnts[0] = APnts;
     ABPnts[1] = BPnts;
 
@@ -659,26 +665,26 @@ Vect_line_intersection2(struct line_pnts *APoints,
      *  we have to break both A and B  at once i.e. in one Vect_line_intersection () call.
      */
 
-    if (!Vect_box_overlap(ABox, BBox)) {
-	*nalines = 0;
-	*nblines = 0;
+    if (!same && !Vect_box_overlap(ABox, BBox)) {
 	return 0;
     }
 
     /* overlap box of A line and B line */
-    abbox = *BBox;
-    if (abbox.N > ABox->N)
-	abbox.N = ABox->N;
-    if (abbox.S < ABox->S)
-	abbox.S = ABox->S;
-    if (abbox.E > ABox->E)
-	abbox.E = ABox->E;
-    if (abbox.W < ABox->W)
-	abbox.W = ABox->W;
-    if (abbox.T > ABox->T)
-	abbox.T = ABox->T;
-    if (abbox.B < ABox->B)
-	abbox.B = ABox->B;
+    abbox = *ABox;
+    if (!same) {
+	if (abbox.N > BBox->N)
+	    abbox.N = BBox->N;
+	if (abbox.S < BBox->S)
+	    abbox.S = BBox->S;
+	if (abbox.E > BBox->E)
+	    abbox.E = BBox->E;
+	if (abbox.W < BBox->W)
+	    abbox.W = BBox->W;
+	if (abbox.T > BBox->T)
+	    abbox.T = BBox->T;
+	if (abbox.B < BBox->B)
+	    abbox.B = BBox->B;
+    }
 
     abbox.N += rethresh;
     abbox.S -= rethresh;
@@ -692,20 +698,6 @@ Vect_line_intersection2(struct line_pnts *APoints,
 	return 0;
     }
 
-    if (APnts->n_points == BPnts->n_points) {
-	same = 1;
-	for (i = 0; i < APnts->n_points; i++) {
-	    if (APnts->x[i] != BPnts->x[i] ||
-	        APnts->y[i] != BPnts->y[i] ||
-		(with_z && APnts->z[i] != BPnts->z[i])) {
-		same = 0;
-		break;
-	    }
-	}
-	if (same)
-	    G_debug(3, "Intersecting different lines");
-    }
-
     /* initialize queue */
     bo_queue.count = 0;
     bo_queue.alloc = 2 * (APnts->n_points + BPnts->n_points);
@@ -789,39 +781,39 @@ Vect_line_intersection2(struct line_pnts *APoints,
 	/* 1. of A seg */
 	seg = cross[i].segment[0];
 	curdist =
-	    dist2(cross[i].x, cross[i].y, APoints->x[seg], APoints->y[seg]);
-	x = APoints->x[seg];
-	y = APoints->y[seg];
+	    dist2(cross[i].x, cross[i].y, APnts->x[seg], APnts->y[seg]);
+	x = APnts->x[seg];
+	y = APnts->y[seg];
 
 	cross[i].distance[0] = curdist;
 
 	/* 2. of A seg */
 	dist =
-	    dist2(cross[i].x, cross[i].y, APoints->x[seg + 1],
-		  APoints->y[seg + 1]);
+	    dist2(cross[i].x, cross[i].y, APnts->x[seg + 1],
+		  APnts->y[seg + 1]);
 	if (dist < curdist) {
 	    curdist = dist;
-	    x = APoints->x[seg + 1];
-	    y = APoints->y[seg + 1];
+	    x = APnts->x[seg + 1];
+	    y = APnts->y[seg + 1];
 	}
 
 	/* 1. of B seg */
 	seg = cross[i].segment[1];
 	dist =
-	    dist2(cross[i].x, cross[i].y, BPoints->x[seg], BPoints->y[seg]);
+	    dist2(cross[i].x, cross[i].y, BPnts->x[seg], BPnts->y[seg]);
 	cross[i].distance[1] = dist;
 
 	if (dist < curdist) {
 	    curdist = dist;
-	    x = BPoints->x[seg];
-	    y = BPoints->y[seg];
+	    x = BPnts->x[seg];
+	    y = BPnts->y[seg];
 	}
 	/* 2. of B seg */
-	dist = dist2(cross[i].x, cross[i].y, BPoints->x[seg + 1], BPoints->y[seg + 1]);
+	dist = dist2(cross[i].x, cross[i].y, BPnts->x[seg + 1], BPnts->y[seg + 1]);
 	if (dist < curdist) {
 	    curdist = dist;
-	    x = BPoints->x[seg + 1];
-	    y = BPoints->y[seg + 1];
+	    x = BPnts->x[seg + 1];
+	    y = BPnts->y[seg + 1];
 	}
 	if (curdist < rethresh * rethresh) {
 	    cross[i].x = x;
@@ -830,10 +822,10 @@ Vect_line_intersection2(struct line_pnts *APoints,
 	    /* Update distances along segments */
 	    seg = cross[i].segment[0];
 	    cross[i].distance[0] =
-		dist2(APoints->x[seg], APoints->y[seg], cross[i].x, cross[i].y);
+		dist2(APnts->x[seg], APnts->y[seg], cross[i].x, cross[i].y);
 	    seg = cross[i].segment[1];
 	    cross[i].distance[1] =
-		dist2(BPoints->x[seg], BPoints->y[seg], cross[i].x, cross[i].y);
+		dist2(BPnts->x[seg], BPnts->y[seg], cross[i].x, cross[i].y);
 	}
     }
 
@@ -850,17 +842,17 @@ Vect_line_intersection2(struct line_pnts *APoints,
 
 	if (l == 1) {
 	    G_debug(2, "Clean and create array for line A");
-	    Points = APoints;
-	    Points1 = APoints;
-	    Points2 = BPoints;
+	    Points = APnts;
+	    Points1 = APnts;
+	    Points2 = BPnts;
 	    current = 0;
 	    second = 1;
 	}
 	else {
 	    G_debug(2, "Clean and create array for line B");
-	    Points = BPoints;
-	    Points1 = BPoints;
-	    Points2 = APoints;
+	    Points = BPnts;
+	    Points1 = BPnts;
+	    Points2 = APnts;
 	    current = 1;
 	    second = 0;
 	}
diff --git a/lib/vector/Vlib/local_proto.h b/lib/vector/Vlib/local_proto.h
index 9ad1fac..c6d0fb0 100644
--- a/lib/vector/Vlib/local_proto.h
+++ b/lib/vector/Vlib/local_proto.h
@@ -7,6 +7,14 @@
 #define CACHE_FEATURE 0
 #define CACHE_MAP     1
 
+/*! Attributes of temporary maps */
+/* #define TEMPORARY_MAP_DB */
+
+/*! Temporary mode */
+#define TEMPORARY_MAP_DISABLED 0
+#define TEMPORARY_MAP_ENV      1
+#define TEMPORARY_MAP          2
+
 /* Internal vector library subroutines which are not part of public
    API*/
 
@@ -27,8 +35,8 @@ int Vect__delete(const char *, int);
 /* open.c */
 int Vect__open_old(struct Map_info *, const char *, const char *,
                    const char *, int, int, int);
-char *Vect__get_path(const struct Map_info *);
-char *Vect__get_element_path(const struct Map_info *, const char *);
+char *Vect__get_path(char *, const struct Map_info *);
+char *Vect__get_element_path(char *, const struct Map_info *, const char *);
 
 /* write_nat.c */
 int V2__add_line_to_topo_nat(struct Map_info *, off_t, int,
diff --git a/lib/vector/Vlib/map.c b/lib/vector/Vlib/map.c
index 428d723..dc70aee 100644
--- a/lib/vector/Vlib/map.c
+++ b/lib/vector/Vlib/map.c
@@ -22,6 +22,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
+#include <errno.h>
 
 #include <grass/glocale.h>
 #include <grass/vector.h>
@@ -31,6 +32,41 @@
 #include "local_proto.h"
 
 /*!
+   \brief Creates and initializes Map_info structure
+
+  To free allocated memory call Vect_destroy_map_struct().
+
+   \return pointer to Map_info 
+ */
+struct Map_info *Vect_new_map_struct(void)
+{
+    struct Map_info *p;
+
+    p = (struct Map_info *)malloc(sizeof(struct Map_info)); 
+
+    if (NULL == p)
+      G_fatal_error("Vect_new_map_struct(): %s", _("Out of memory"));
+
+    G_zero(p, sizeof(struct Map_info));
+
+    return p;
+}
+
+/*!
+   \brief Frees all memory associated with a Map_info structure,
+   including the structure itself
+
+   \param p pointer to Map_info structure
+ */
+void Vect_destroy_map_struct(struct Map_info *p)
+{
+   /* We should free all allocated member structures, but they may be already 
+      freed by other functions (e.g. Vect_close()) without resetting member pointers to zero */
+
+   G_free((char *)p);
+}
+
+/*!
    \brief Copy file
 
    \param src source file
@@ -347,9 +383,9 @@ int Vect_delete(const char *map)
 int Vect__delete(const char *map, int is_tmp)
 {
     int ret;
-    char *path, path_buf[GPATH_MAX];
+    char path[GPATH_MAX], path_buf[GPATH_MAX];
     char xname[GNAME_MAX], xmapset[GMAPSET_MAX];
-    const char *tmp, *mapset;
+    const char *tmp, *mapset, *env;
     
     struct Map_info Map;
     
@@ -384,7 +420,7 @@ int Vect__delete(const char *map, int is_tmp)
         }
     }
         
-    path = Vect__get_element_path(&Map, GV_DBLN_ELEMENT);
+    Vect__get_element_path(path, &Map, GV_DBLN_ELEMENT);
     G_debug(1, "dbln file: %s", path);
 
     if (access(path, F_OK) == 0) {
@@ -439,10 +475,9 @@ int Vect__delete(const char *map, int is_tmp)
             }
         }
     }
-    G_free(path);
     
     /* Delete all files from vector/name directory */
-    path = Vect__get_element_path(&Map, NULL);
+    Vect__get_element_path(path, &Map, NULL);
     Vect_close(&Map);
     G_debug(3, "opendir '%s'", path);
     dir = opendir(path);
@@ -468,23 +503,30 @@ int Vect__delete(const char *map, int is_tmp)
     }
     closedir(dir);
     
-    /* NFS can create .nfsxxxxxxxx files for those deleted 
-     *  -> we have to move the directory to ./tmp before it is deleted */
-    tmp = G_tempfile();
-
-    G_debug(3, "rename '%s' to '%s'", path, tmp);
-    ret = rename(path, tmp);
-    if (ret == -1) {
-        G_warning(_("Unable to rename directory '%s' to '%s'"), path, tmp);
-        return -1;
+    env = getenv("GRASS_VECTOR_TMPDIR_MAPSET");
+    if (env && strcmp(env, "0") == 0) {
+	tmp = path;
+    }
+    else {
+	/* NFS can create .nfsxxxxxxxx files for those deleted 
+	 *  -> we have to move the directory to ./tmp before it is deleted */
+	tmp = G_tempfile();
+	
+	G_debug(3, "rename '%s' to '%s'", path, tmp);
+	
+	ret = rename(path, tmp);
+	if (ret == -1) {
+	    G_warning(_("Unable to rename directory '%s' to '%s'"), path, tmp);
+	    return -1;
+	}
     }
-    G_free(path);
 
     G_debug(3, "remove directory '%s'", tmp);
     /* Warning: remove() fails on Windows */
     ret = rmdir(tmp);
     if (ret == -1) {
-        G_warning(_("Unable to remove directory '%s'"), tmp);
+        G_warning(_("Unable to remove directory '%s': %s"),
+		  tmp, strerror(errno));
         return -1;
     }
 
diff --git a/lib/vector/Vlib/net.c b/lib/vector/Vlib/net.c
deleted file mode 100644
index 05a8ffc..0000000
--- a/lib/vector/Vlib/net.c
+++ /dev/null
@@ -1,1188 +0,0 @@
-/*!
- * \file lib/vector/Vlib/net.c
- *
- * \brief Vector library - net releated fns
- *
- * Higher level functions for reading/writing/manipulating vectors.
- *
- * (C) 2001-2009 by the GRASS Development Team
- *
- * This program is free software under the GNU General Public License
- * (>=v2).  Read the file COPYING that comes with GRASS for details.
- *
- * \author Radim Blazek
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <grass/dbmi.h>
-#include <grass/vector.h>
-#include <grass/glocale.h>
-
-static int From_node;		/* from node set in SP and used by clipper for first arc */
-
-static int clipper(dglGraph_s * pgraph,
-		   dglSPClipInput_s * pargIn,
-		   dglSPClipOutput_s * pargOut, void *pvarg)
-{				/* caller's pointer */
-    dglInt32_t cost;
-    dglInt32_t from;
-
-    G_debug(3, "Net: clipper()");
-
-    from = dglNodeGet_Id(pgraph, pargIn->pnNodeFrom);
-
-    G_debug(3, "  Edge = %d NodeFrom = %d NodeTo = %d edge cost = %d",
-	    (int)dglEdgeGet_Id(pgraph, pargIn->pnEdge),
-	    (int)from, (int)dglNodeGet_Id(pgraph, pargIn->pnNodeTo),
-	    (int)pargOut->nEdgeCost);
-
-    if (from != From_node) {	/* do not clip first */
-	if (dglGet_NodeAttrSize(pgraph) > 0) {
-	    memcpy(&cost, dglNodeGet_Attr(pgraph, pargIn->pnNodeFrom),
-		   sizeof(cost));
-	    if (cost == -1) {	/* closed, cannot go from this node except it is 'from' node */
-		G_debug(3, "  closed node");
-		return 1;
-	    }
-	    else {
-		G_debug(3, "  EdgeCost += %d (node)", (int)cost);
-		pargOut->nEdgeCost += cost;
-	    }
-	}
-    }
-    else {
-	G_debug(3, "  don't clip first node");
-    }
-
-    return 0;
-}
-
-/*!
-   \brief Build network graph.
-
-   Internal format for edge costs is integer, costs are multiplied
-   before conversion to int by 1000 and for lenghts LL without geo flag by 1000000.
-   The same multiplication factor is used for nodes.
-   Costs in database column may be 'integer' or 'double precision' number >= 0
-   or -1 for infinity i.e. arc or node is closed and cannot be traversed
-   If record in table is not found for arcs, arc is skip.
-   If record in table is not found for node, costs for node are set to 0.
-
-   \param Map vector map
-   \param ltype line type for arcs
-   \param afield arc costs field (if 0, use length)
-   \param nfield node costs field (if 0, do not use node costs)
-   \param afcol column with forward costs for arc
-   \param abcol column with backward costs for arc (if NULL, back costs = forward costs), 
-   \param ncol column with costs for nodes (if NULL, do not use node costs), 
-   \param geo use geodesic calculation for length (LL), 
-   \param algorithm not used (in future code for algorithm)
-
-   \return 0 on success, 1 on error
- */
-int
-Vect_net_build_graph(struct Map_info *Map,
-		     int ltype,
-		     int afield,
-		     int nfield,
-		     const char *afcol,
-		     const char *abcol,
-		     const char *ncol, int geo, int algorithm)
-{
-    int i, j, from, to, line, nlines, nnodes, ret, type, cat, skipped, cfound;
-    int dofw, dobw;
-    struct line_pnts *Points;
-    struct line_cats *Cats;
-    double dcost, bdcost, ll;
-    int cost, bcost;
-    dglGraph_s *gr;
-    dglInt32_t dgl_cost;
-    dglInt32_t opaqueset[16] =
-	{ 360000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-    struct field_info *Fi;
-    dbDriver *driver = NULL;
-    dbHandle handle;
-    dbString stmt;
-    dbColumn *Column;
-    dbCatValArray fvarr, bvarr;
-    int fctype = 0, bctype = 0, nrec;
-
-    /* TODO int costs -> double (waiting for dglib) */
-    G_debug(1, "Vect_build_graph(): ltype = %d, afield = %d, nfield = %d",
-	    ltype, afield, nfield);
-    G_debug(1, "    afcol = %s, abcol = %s, ncol = %s", afcol, abcol, ncol);
-
-    G_message(_("Building graph..."));
-
-    Map->dgraph.line_type = ltype;
-
-    Points = Vect_new_line_struct();
-    Cats = Vect_new_cats_struct();
-
-    ll = 0;
-    if (G_projection() == 3)
-	ll = 1;			/* LL */
-
-    if (afcol == NULL && ll && !geo)
-	Map->dgraph.cost_multip = 1000000;
-    else
-	Map->dgraph.cost_multip = 1000;
-
-    nlines = Vect_get_num_lines(Map);
-    nnodes = Vect_get_num_nodes(Map);
-
-    gr = &(Map->dgraph.graph_s);
-
-    /* Allocate space for costs, later replace by functions reading costs from graph */
-    Map->dgraph.edge_fcosts = (double *)G_malloc((nlines + 1) * sizeof(double));
-    Map->dgraph.edge_bcosts = (double *)G_malloc((nlines + 1) * sizeof(double));
-    Map->dgraph.node_costs = (double *)G_malloc((nnodes + 1) * sizeof(double));
-    /* Set to -1 initially */
-    for (i = 1; i <= nlines; i++) {
-	Map->dgraph.edge_fcosts[i] = -1;	/* forward */
-	Map->dgraph.edge_bcosts[i] = -1;	/* backward */
-    }
-    for (i = 1; i <= nnodes; i++) {
-	Map->dgraph.node_costs[i] = 0;
-    }
-
-    if (ncol != NULL)
-	dglInitialize(gr, (dglByte_t) 1, sizeof(dglInt32_t), (dglInt32_t) 0,
-		      opaqueset);
-    else
-	dglInitialize(gr, (dglByte_t) 1, (dglInt32_t) 0, (dglInt32_t) 0,
-		      opaqueset);
-
-    if (gr == NULL)
-	G_fatal_error(_("Unable to build network graph"));
-
-    db_init_handle(&handle);
-    db_init_string(&stmt);
-
-    if (abcol != NULL && afcol == NULL)
-	G_fatal_error(_("Forward costs column not specified"));
-
-    /* --- Add arcs --- */
-    /* Open db connection */
-    if (afcol != NULL) {
-	/* Get field info */
-	if (afield < 1)
-	    G_fatal_error(_("Arc field < 1"));
-	Fi = Vect_get_field(Map, afield);
-	if (Fi == NULL)
-	    G_fatal_error(_("Database connection not defined for layer %d"),
-			  afield);
-
-	/* Open database */
-	driver = db_start_driver_open_database(Fi->driver, Fi->database);
-	if (driver == NULL)
-	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
-			  Fi->database, Fi->driver);
-
-	/* Load costs to array */
-	if (db_get_column(driver, Fi->table, afcol, &Column) != DB_OK)
-	    G_fatal_error(_("Column <%s> not found in table <%s>"),
-			  afcol, Fi->table);
-
-	fctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
-
-	if (fctype != DB_C_TYPE_INT && fctype != DB_C_TYPE_DOUBLE)
-	    G_fatal_error(_("Data type of column <%s> not supported (must be numeric)"),
-			  afcol);
-
-	db_CatValArray_init(&fvarr);
-	nrec =
-	    db_select_CatValArray(driver, Fi->table, Fi->key, afcol, NULL,
-				  &fvarr);
-	G_debug(1, "forward costs: nrec = %d", nrec);
-
-	if (abcol != NULL) {
-	    if (db_get_column(driver, Fi->table, abcol, &Column) != DB_OK)
-		G_fatal_error(_("Column <%s> not found in table <%s>"),
-			      abcol, Fi->table);
-
-	    bctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
-
-	    if (bctype != DB_C_TYPE_INT && bctype != DB_C_TYPE_DOUBLE)
-		G_fatal_error(_("Data type of column <%s> not supported (must be numeric)"),
-			      abcol);
-
-	    db_CatValArray_init(&bvarr);
-	    nrec =
-		db_select_CatValArray(driver, Fi->table, Fi->key, abcol, NULL,
-				      &bvarr);
-	    G_debug(1, "backward costs: nrec = %d", nrec);
-	}
-    }
-
-    skipped = 0;
-
-    G_message(_("Registering arcs..."));
-
-    for (i = 1; i <= nlines; i++) {
-	G_percent(i, nlines, 1);	/* must be before any continue */
-	dofw = dobw = 1;
-	type = Vect_read_line(Map, Points, Cats, i);
-	if (!(type & ltype & (GV_LINE | GV_BOUNDARY)))
-	    continue;
-
-	Vect_get_line_nodes(Map, i, &from, &to);
-
-	if (afcol != NULL) {
-	    if (!(Vect_cat_get(Cats, afield, &cat))) {
-		G_debug(2,
-			"Category of field %d not attached to the line %d -> line skipped",
-			afield, i);
-		skipped += 2;	/* Both directions */
-		continue;
-	    }
-	    else {
-		if (fctype == DB_C_TYPE_INT) {
-		    ret = db_CatValArray_get_value_int(&fvarr, cat, &cost);
-		    dcost = cost;
-		}
-		else {		/* DB_C_TYPE_DOUBLE */
-		    ret =
-			db_CatValArray_get_value_double(&fvarr, cat, &dcost);
-		}
-		if (ret != DB_OK) {
-		    G_warning(_("Database record for line %d (cat = %d, "
-				"forward/both direction(s)) not found "
-				"(forward/both direction(s) of line skipped)"),
-			      i, cat);
-		    dofw = 0;
-		}
-
-		if (abcol != NULL) {
-		    if (bctype == DB_C_TYPE_INT) {
-			ret =
-			    db_CatValArray_get_value_int(&bvarr, cat, &bcost);
-			bdcost = bcost;
-		    }
-		    else {	/* DB_C_TYPE_DOUBLE */
-			ret =
-			    db_CatValArray_get_value_double(&bvarr, cat,
-							    &bdcost);
-		    }
-		    if (ret != DB_OK) {
-			G_warning(_("Database record for line %d (cat = %d, "
-				    "backword direction) not found"
-				    "(direction of line skipped)"), i, cat);
-			dobw = 0;
-		    }
-		}
-		else {
-		    if (dofw)
-			bdcost = dcost;
-		    else
-			dobw = 0;
-		}
-	    }
-	}
-	else {
-	    if (ll) {
-		if (geo)
-		    dcost = Vect_line_geodesic_length(Points);
-		else
-		    dcost = Vect_line_length(Points);
-	    }
-	    else
-		dcost = Vect_line_length(Points);
-
-	    bdcost = dcost;
-	}
-	if (dofw && dcost != -1) {
-	    cost = (dglInt32_t) Map->dgraph.cost_multip * dcost;
-	    G_debug(5, "Add arc %d from %d to %d cost = %d", i, from, to,
-		    cost);
-	    ret =
-		dglAddEdge(gr, (dglInt32_t) from, (dglInt32_t) to,
-			   (dglInt32_t) cost, (dglInt32_t) i);
-	    Map->dgraph.edge_fcosts[i] = dcost;
-	    if (ret < 0)
-		G_fatal_error("Cannot add network arc");
-	}
-
-	G_debug(5, "bdcost = %f edge_bcosts = %f", bdcost,
-		Map->dgraph.edge_bcosts[i]);
-	if (dobw && bdcost != -1) {
-	    bcost = (dglInt32_t) Map->dgraph.cost_multip * bdcost;
-	    G_debug(5, "Add arc %d from %d to %d bcost = %d", -i, to, from,
-		    bcost);
-	    ret =
-		dglAddEdge(gr, (dglInt32_t) to, (dglInt32_t) from,
-			   (dglInt32_t) bcost, (dglInt32_t) - i);
-	    Map->dgraph.edge_bcosts[i] = bdcost;
-	    if (ret < 0)
-		G_fatal_error(_("Cannot add network arc"));
-	}
-    }
-
-    if (afcol != NULL && skipped > 0)
-	G_debug(2, "%d lines missing category of field %d skipped", skipped,
-		afield);
-
-    if (afcol != NULL) {
-	db_close_database_shutdown_driver(driver);
-	db_CatValArray_free(&fvarr);
-
-	if (abcol != NULL) {
-	    db_CatValArray_free(&bvarr);
-	}
-    }
-
-    /* Set node attributes */
-    G_debug(2, "Register nodes");
-    if (ncol != NULL) {
-	double x, y, z;
-	struct bound_box box;
-	struct boxlist *List;
-	
-	List = Vect_new_boxlist(0);
-
-	G_debug(2, "Set nodes' costs");
-	if (nfield < 1)
-	    G_fatal_error("Node field < 1");
-
-	G_message(_("Setting node costs..."));
-
-	Fi = Vect_get_field(Map, nfield);
-	if (Fi == NULL)
-	    G_fatal_error(_("Database connection not defined for layer %d"),
-			  nfield);
-
-	driver = db_start_driver_open_database(Fi->driver, Fi->database);
-	if (driver == NULL)
-	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
-			  Fi->database, Fi->driver);
-
-	/* Load costs to array */
-	if (db_get_column(driver, Fi->table, ncol, &Column) != DB_OK)
-	    G_fatal_error(_("Column <%s> not found in table <%s>"),
-			  ncol, Fi->table);
-
-	fctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
-
-	if (fctype != DB_C_TYPE_INT && fctype != DB_C_TYPE_DOUBLE)
-	    G_fatal_error(_("Data type of column <%s> not supported (must be numeric)"),
-			  ncol);
-
-	db_CatValArray_init(&fvarr);
-	nrec =
-	    db_select_CatValArray(driver, Fi->table, Fi->key, ncol, NULL,
-				  &fvarr);
-	G_debug(1, "node costs: nrec = %d", nrec);
-
-	for (i = 1; i <= nnodes; i++) {
-	    /* TODO: what happens if we set attributes of not existing node (skipped lines,
-	     *       nodes without lines) */
-
-	    /* select points at node */
-	    Vect_get_node_coor(Map, i, &x, &y, &z);
-	    box.E = box.W = x;
-	    box.N = box.S = y;
-	    box.T = box.B = z;
-	    Vect_select_lines_by_box(Map, &box, GV_POINT, List);
-
-	    G_debug(2, "  node = %d nlines = %d", i, List->n_values);
-	    cfound = 0;
-	    dcost = 0;
-
-	    for (j = 0; j < List->n_values; j++) {
-		line = List->id[j];
-		G_debug(2, "  line (%d) = %d", j, line);
-		type = Vect_read_line(Map, NULL, Cats, line);
-		if (!(type & GV_POINT))
-		    continue;
-		if (Vect_cat_get(Cats, nfield, &cat)) {	/* point with category of field found */
-		    /* Set costs */
-		    if (fctype == DB_C_TYPE_INT) {
-			ret =
-			    db_CatValArray_get_value_int(&fvarr, cat, &cost);
-			dcost = cost;
-		    }
-		    else {	/* DB_C_TYPE_DOUBLE */
-			ret =
-			    db_CatValArray_get_value_double(&fvarr, cat,
-							    &dcost);
-		    }
-		    if (ret != DB_OK) {
-			G_warning(_("Database record for node %d (cat = %d) not found "
-				   "(cost set to 0)"), i, cat);
-		    }
-		    cfound = 1;
-		    break;
-		}
-	    }
-	    if (!cfound) {
-		G_debug(2,
-			"Category of field %d not attached to any points in node %d"
-			"(costs set to 0)", nfield, i);
-	    }
-	    if (dcost == -1) {	/* closed */
-		cost = -1;
-	    }
-	    else {
-		cost = (dglInt32_t) Map->dgraph.cost_multip * dcost;
-	    }
-	    dgl_cost = cost;
-	    G_debug(3, "Set node's cost to %d", cost);
-	    dglNodeSet_Attr(gr, dglGetNode(gr, (dglInt32_t) i), &dgl_cost);
-	    Map->dgraph.node_costs[i] = dcost;
-	}
-	db_close_database_shutdown_driver(driver);
-	db_CatValArray_free(&fvarr);
-	
-	Vect_destroy_boxlist(List);
-    }
-
-    G_message(_("Flattening the graph..."));
-    ret = dglFlatten(gr);
-    if (ret < 0)
-	G_fatal_error(_("GngFlatten error"));
-
-    /* init SP cache */
-    /* disable to debug dglib cache */
-    dglInitializeSPCache(gr, &(Map->dgraph.spCache));
-
-    G_message(_("Graph was built"));
-
-    return 0;
-}
-
-
-/*!
-   \brief Find shortest path.
-
-   Costs for 'from' and 'to' nodes are not considered (SP found even if
-   'from' or 'to' are 'closed' (costs = -1) and costs of these
-   nodes are not added to SP costs result.
-
-   \param Map vector map
-   \param from from node
-   \param to to node
-   \param[out] List list of line ids (path)
-   \param[out] cost costs value
-
-   \return number of segments
-   \return 0 is correct for from = to, or List == NULL ? sum of costs is better return value,
-   \return -1 : destination unreachable
-
- */
-int
-Vect_net_shortest_path(struct Map_info *Map, int from, int to,
-		       struct ilist *List, double *cost)
-{
-    int i, line, *pclip, cArc, nRet;
-    dglSPReport_s *pSPReport;
-    dglInt32_t nDistance;
-    int use_cache = 1;		/* set to 0 to disable dglib cache */
-
-    G_debug(3, "Vect_net_shortest_path(): from = %d, to = %d", from, to);
-
-    /* Note : if from == to dgl goes to nearest node and returns back (dgl feature) => 
-     *         check here for from == to */
-
-    if (List != NULL)
-	Vect_reset_list(List);
-
-    /* Check if from and to are identical, otherwise dglib returns path to neares node and back! */
-    if (from == to) {
-	if (cost != NULL)
-	    *cost = 0;
-	return 0;
-    }
-
-    From_node = from;
-
-    pclip = NULL;
-    if (List != NULL) {
-	if (use_cache) {
-	    nRet =
-		dglShortestPath(&(Map->dgraph.graph_s), &pSPReport, (dglInt32_t) from,
-				(dglInt32_t) to, clipper, pclip, &(Map->dgraph.spCache));
-	}
-	else {
-	    nRet =
-		dglShortestPath(&(Map->dgraph.graph_s), &pSPReport, (dglInt32_t) from,
-				(dglInt32_t) to, clipper, pclip, NULL);
-	}
-    }
-    else {
-	if (use_cache) {
-	    nRet =
-		dglShortestDistance(&(Map->dgraph.graph_s), &nDistance, (dglInt32_t) from,
-				    (dglInt32_t) to, clipper, pclip, &(Map->dgraph.spCache));
-	}
-	else {
-	    nRet =
-		dglShortestDistance(&(Map->dgraph.graph_s), &nDistance, (dglInt32_t) from,
-				    (dglInt32_t) to, clipper, pclip, NULL);
-	}
-    }
-
-    if (nRet == 0) {
-	/* G_warning("Destination node %d is unreachable from node %d\n" , to , from); */
-	if (cost != NULL)
-	    *cost = PORT_DOUBLE_MAX;
-	return -1;
-    }
-    else if (nRet < 0) {
-	G_warning(_("dglShortestPath error: %s"), dglStrerror(&(Map->dgraph.graph_s)));
-	return -1;
-    }
-
-    if (List != NULL) {
-	for (i = 0; i < pSPReport->cArc; i++) {
-	    line = dglEdgeGet_Id(&(Map->dgraph.graph_s), pSPReport->pArc[i].pnEdge);
-	    G_debug(2, "From %ld to %ld - cost %ld user %d distance %ld", pSPReport->pArc[i].nFrom, pSPReport->pArc[i].nTo, dglEdgeGet_Cost(&(Map->dgraph.graph_s), pSPReport->pArc[i].pnEdge) / Map->dgraph.cost_multip,	/* this is the cost from clip() */
-		    line, pSPReport->pArc[i].nDistance);
-	    Vect_list_append(List, line);
-	}
-    }
-
-    if (cost != NULL) {
-	if (List != NULL)
-	    *cost = (double)pSPReport->nDistance / Map->dgraph.cost_multip;
-	else
-	    *cost = (double)nDistance / Map->dgraph.cost_multip;
-    }
-
-    if (List != NULL) {
-	cArc = pSPReport->cArc;
-	dglFreeSPReport(&(Map->dgraph.graph_s), pSPReport);
-    }
-    else
-	cArc = 0;
-
-    return (cArc);
-}
-
-/*!
-  \brief Get graph structure
-  
-  Graph is built by Vect_net_build_graph().
-  
-  Returns NULL when graph is not built.
-  
-  \param Map pointer to Map_info struct
-
-  \return pointer to dglGraph_s struct or NULL
-*/
-dglGraph_s *Vect_net_get_graph(struct Map_info *Map)
-{
-    return &(Map->dgraph.graph_s);
-}
-
-/*! 
-   \brief Returns in cost for given direction in *cost.
-
-   cost is set to -1 if closed.
-
-   \param Map vector map
-   \param line line id
-   \param direction direction (GV_FORWARD, GV_BACKWARD) 
-   \param[out] cost
-
-   \return 1 OK
-   \return 0 does not exist (was not inserted)
- */
-int
-Vect_net_get_line_cost(const struct Map_info *Map, int line, int direction,
-		       double *cost)
-{
-    /* dglInt32_t *pEdge; */
-
-    G_debug(5, "Vect_net_get_line_cost(): line = %d, dir = %d", line,
-	    direction);
-
-    if (direction == GV_FORWARD) {
-	/* V1 has no index by line-id -> array used */
-	/*
-	   pEdge = dglGetEdge(&(Map->dgraph.graph_s), line);
-	   if (pEdge == NULL)
-		return 0;
-	   *cost = (double) dglEdgeGet_Cost(&(Map->dgraph.graph_s), pEdge);
-	 */
-	if (Map->dgraph.edge_fcosts[line] == -1) {
-	    *cost = -1;
-	    return 0;
-	}
-	else
-            *cost = Map->dgraph.edge_fcosts[line];
-    }
-    else if (direction == GV_BACKWARD) {
-	/*
-	   pEdge = dglGetEdge(&(Map->dgraph.graph_s), -line);
-	   if (pEdge == NULL) 
-	    	return 0;
-	   *cost = (double) dglEdgeGet_Cost(&(Map->dgraph.graph_s), pEdge);
-	 */
-	if (Map->dgraph.edge_bcosts[line] == -1) {
-	    *cost = -1;
-	    return 0;
-	}
-	else
-	    *cost = Map->dgraph.edge_bcosts[line];
-	G_debug(5, "Vect_net_get_line_cost(): edge_bcosts = %f",
-		Map->dgraph.edge_bcosts[line]);
-    }
-    else {
-	G_fatal_error(_("Wrong line direction in Vect_net_get_line_cost()"));
-    }
-
-    return 1;
-}
-
-/*!
-   \brief Get cost of node
-
-   \param Map vector map
-   \param node node id
-   \param[out] cost costs value
-
-   \return 1
- */
-int Vect_net_get_node_cost(const struct Map_info *Map, int node, double *cost)
-{
-    G_debug(3, "Vect_net_get_node_cost(): node = %d", node);
-
-    *cost = Map->dgraph.node_costs[node];
-
-    G_debug(3, "  -> cost = %f", *cost);
-
-    return 1;
-}
-
-/*!
-   \brief Find nearest node(s) on network. 
-
-   \param Map vetor map
-   \param x,y,z point coordinates (z coordinate NOT USED !)
-   \param direction (GV_FORWARD - from point to net, GV_BACKWARD - from net to point)
-   \param maxdist maximum distance to the network
-   \param[out] node1 pointer where to store the node number (or NULL)
-   \param[out] node2 pointer where to store the node number (or NULL)
-   \param[out] ln    pointer where to store the nearest line number (or NULL)
-   \param[out] costs1 pointer where to store costs on nearest line to node1 (not costs from x,y,z to the line) (or NULL)
-   \param[out] costs2 pointer where to store costs on nearest line to node2 (not costs from x,y,z to the line) (or NULL)
-   \param[out] Points1 pointer to structure where to store vertices on nearest line to node1 (or NULL)
-   \param[out] Points2 pointer to structure where to store vertices on nearest line to node2 (or NULL)
-   \param[out] pointer where to distance to the line (or NULL)
-   \param[out] distance
-
-   \return number of nodes found (0,1,2)
- */
-int Vect_net_nearest_nodes(struct Map_info *Map,
-			   double x, double y, double z,
-			   int direction, double maxdist,
-			   int *node1, int *node2, int *ln, double *costs1,
-			   double *costs2, struct line_pnts *Points1,
-			   struct line_pnts *Points2, double *distance)
-{
-    int line, n1, n2, nnodes;
-    int npoints;
-    int segment;		/* nearest line segment (first is 1) */
-    static struct line_pnts *Points = NULL;
-    double cx, cy, cz, c1, c2;
-    double along;		/* distance along the line to nearest point */
-    double length;
-
-    G_debug(3, "Vect_net_nearest_nodes() x = %f y = %f", x, y);
-
-    /* Reset */
-    if (node1)
-	*node1 = 0;
-    if (node2)
-	*node2 = 0;
-    if (ln)
-	*ln = 0;
-    if (costs1)
-	*costs1 = PORT_DOUBLE_MAX;
-    if (costs2)
-	*costs2 = PORT_DOUBLE_MAX;
-    if (Points1)
-	Vect_reset_line(Points1);
-    if (Points2)
-	Vect_reset_line(Points2);
-    if (distance)
-	*distance = PORT_DOUBLE_MAX;
-
-    if (!Points)
-	Points = Vect_new_line_struct();
-
-    /* Find nearest line */
-    line = Vect_find_line(Map, x, y, z, Map->dgraph.line_type, maxdist, 0, 0);
-
-    if (line < 1)
-	return 0;
-
-    Vect_read_line(Map, Points, NULL, line);
-    npoints = Points->n_points;
-    Vect_get_line_nodes(Map, line, &n1, &n2);
-
-    segment =
-	Vect_line_distance(Points, x, y, z, 0, &cx, &cy, &cz, distance, NULL,
-			   &along);
-
-    G_debug(4, "line = %d n1 = %d n2 = %d segment = %d", line, n1, n2,
-	    segment);
-
-    /* Check first or last point and return one node in that case */
-    G_debug(4, "cx = %f cy = %f first = %f %f last = %f %f", cx, cy,
-	    Points->x[0], Points->y[0], Points->x[npoints - 1],
-	    Points->y[npoints - 1]);
-
-    if (Points->x[0] == cx && Points->y[0] == cy) {
-	if (node1)
-	    *node1 = n1;
-	if (ln)
-	    *ln = line;
-	if (costs1)
-	    *costs1 = 0;
-	if (Points1) {
-	    Vect_append_point(Points1, x, y, z);
-	    Vect_append_point(Points1, cx, cy, cz);
-	}
-	G_debug(3, "first node nearest");
-	return 1;
-    }
-    if (Points->x[npoints - 1] == cx && Points->y[npoints - 1] == cy) {
-	if (node1)
-	    *node1 = n2;
-	if (ln)
-	    *ln = line;
-	if (costs1)
-	    *costs1 = 0;
-	if (Points1) {
-	    Vect_append_point(Points1, x, y, z);
-	    Vect_append_point(Points1, cx, cy, cz);
-	}
-	G_debug(3, "last node nearest");
-	return 1;
-    }
-
-    nnodes = 2;
-
-    /* c1 - costs to get from/to the first vertex */
-    /* c2 - costs to get from/to the last vertex */
-    if (direction == GV_FORWARD) {	/* from point to net */
-	Vect_net_get_line_cost(Map, line, GV_BACKWARD, &c1);
-	Vect_net_get_line_cost(Map, line, GV_FORWARD, &c2);
-    }
-    else {
-	Vect_net_get_line_cost(Map, line, GV_FORWARD, &c1);
-	Vect_net_get_line_cost(Map, line, GV_BACKWARD, &c2);
-    }
-
-    if (c1 < 0)
-	nnodes--;
-    if (c2 < 0)
-	nnodes--;
-    if (nnodes == 0)
-	return 0;		/* both directions closed */
-
-    length = Vect_line_length(Points);
-
-    if (ln)
-	*ln = line;
-
-    if (nnodes == 1 && c1 < 0) {	/* first direction is closed, return node2 as node1 */
-	if (node1)
-	    *node1 = n2;
-
-	if (costs1) {		/* to node 2, i.e. forward */
-	    *costs1 = c2 * (length - along) / length;
-	}
-
-	if (Points1) {		/* to node 2, i.e. forward */
-	    int i;
-
-	    if (direction == GV_FORWARD) {	/* from point to net */
-		Vect_append_point(Points1, x, y, z);
-		Vect_append_point(Points1, cx, cy, cz);
-		for (i = segment; i < npoints; i++)
-		    Vect_append_point(Points1, Points->x[i], Points->y[i],
-				      Points->z[i]);
-	    }
-	    else {
-		for (i = npoints - 1; i >= segment; i--)
-		    Vect_append_point(Points1, Points->x[i], Points->y[i],
-				      Points->z[i]);
-
-		Vect_append_point(Points1, cx, cy, cz);
-		Vect_append_point(Points1, x, y, z);
-	    }
-	}
-    }
-    else {
-	if (node1)
-	    *node1 = n1;
-	if (node2)
-	    *node2 = n2;
-
-	if (costs1) {		/* to node 1, i.e. backward */
-	    *costs1 = c1 * along / length;
-	}
-
-	if (costs2) {		/* to node 2, i.e. forward */
-	    *costs2 = c2 * (length - along) / length;
-	}
-
-	if (Points1) {		/* to node 1, i.e. backward */
-	    int i;
-
-	    if (direction == GV_FORWARD) {	/* from point to net */
-		Vect_append_point(Points1, x, y, z);
-		Vect_append_point(Points1, cx, cy, cz);
-		for (i = segment - 1; i >= 0; i--)
-		    Vect_append_point(Points1, Points->x[i], Points->y[i],
-				      Points->z[i]);
-	    }
-	    else {
-		for (i = 0; i < segment; i++)
-		    Vect_append_point(Points1, Points->x[i], Points->y[i],
-				      Points->z[i]);
-
-		Vect_append_point(Points1, cx, cy, cz);
-		Vect_append_point(Points1, x, y, z);
-	    }
-	}
-
-	if (Points2) {		/* to node 2, i.e. forward */
-	    int i;
-
-	    if (direction == GV_FORWARD) {	/* from point to net */
-		Vect_append_point(Points2, x, y, z);
-		Vect_append_point(Points2, cx, cy, cz);
-		for (i = segment; i < npoints; i++)
-		    Vect_append_point(Points2, Points->x[i], Points->y[i],
-				      Points->z[i]);
-	    }
-	    else {
-		for (i = npoints - 1; i >= segment; i--)
-		    Vect_append_point(Points2, Points->x[i], Points->y[i],
-				      Points->z[i]);
-
-		Vect_append_point(Points2, cx, cy, cz);
-		Vect_append_point(Points2, x, y, z);
-	    }
-	}
-    }
-
-    return nnodes;
-}
-
-/*!
-   \brief Find shortest path on network between 2 points given by coordinates. 
-
-   \param Map vector map
-   \param fx,fy,fz from point x coordinate (z ignored)
-   \param tx,ty,tz to point x coordinate (z ignored)
-   \param fmax maximum distance to the network from 'from'
-   \param tmax maximum distance to the network from 'to'
-   \param[out] costs pointer where to store costs on the network (or NULL)
-   \param[out] Points pointer to the structure where to store vertices of shortest path (or NULL)
-   \param[out] List pointer to the structure where list of lines on the network is stored (or NULL)
-   \param[out] FPoints pointer to the structure where to store line from 'from' to first network node (or NULL)
-   \param[out] TPoints pointer to the structure where to store line from last network node to 'to' (or NULL)
-   \param[out] fdist distance from 'from' to the net (or NULL)
-   \param[out] tdist distance from 'to' to the net (or NULL)
-
-   \return 1 OK
-   \return 0 not reachable
- */
-int
-Vect_net_shortest_path_coor(struct Map_info *Map,
-			    double fx, double fy, double fz, double tx,
-			    double ty, double tz, double fmax, double tmax,
-			    double *costs, struct line_pnts *Points,
-			    struct ilist *List, struct line_pnts *FPoints,
-			    struct line_pnts *TPoints, double *fdist,
-			    double *tdist)
-{
-  return Vect_net_shortest_path_coor2(Map, fx, fy, fz, tx, ty, tz, fmax, tmax, 
-            costs, Points, List, NULL, FPoints, TPoints, fdist, tdist);
-}
-
-/*!
-   \brief Find shortest path on network between 2 points given by coordinates. 
-
-   \param Map vector map
-   \param fx,fy,fz from point x coordinate (z ignored)
-   \param tx,ty,tz to point x coordinate (z ignored)
-   \param fmax maximum distance to the network from 'from'
-   \param tmax maximum distance to the network from 'to'
-   \param costs pointer where to store costs on the network (or NULL)
-   \param Points pointer to the structure where to store vertices of shortest path (or NULL)
-   \param List pointer to the structure where list of lines on the network is stored (or NULL)
-   \param NodesList pointer to the structure where list of nodes on the network is stored (or NULL)
-   \param FPoints pointer to the structure where to store line from 'from' to first network node (or NULL)
-   \param TPoints pointer to the structure where to store line from last network node to 'to' (or NULL)
-   \param fdist distance from 'from' to the net (or NULL)
-   \param tdist distance from 'to' to the net (or NULL)
-
-   \return 1 OK, 0 not reachable
- */
-int
-Vect_net_shortest_path_coor2(struct Map_info *Map,
-			    double fx, double fy, double fz, double tx,
-			    double ty, double tz, double fmax, double tmax,
-			    double *costs, struct line_pnts *Points,
-			    struct ilist *List, struct ilist *NodesList,
-                            struct line_pnts *FPoints,
-			    struct line_pnts *TPoints, double *fdist,
-			    double *tdist)
-{
-    int fnode[2], tnode[2];	/* nearest nodes, *node[1] is 0 if only one was found */
-    double fcosts[2], tcosts[2], cur_cst;	/* costs to nearest nodes on the network */
-    int nfnodes, ntnodes, fline, tline;
-    static struct line_pnts *APoints, *SPoints, *fPoints[2], *tPoints[2];
-    static struct ilist *LList;
-    static int first = 1;
-    int reachable, shortcut;
-    int i, j, fn = 0, tn = 0;
-
-    /* from/to_point_node is set if from/to point projected to line 
-     *falls exactly on node (shortcut -> fline == tline) */
-    int from_point_node = 0;
-    int to_point_node = 0;
-
-    G_debug(3, "Vect_net_shortest_path_coor()");
-
-    if (first) {
-	APoints = Vect_new_line_struct();
-	SPoints = Vect_new_line_struct();
-	fPoints[0] = Vect_new_line_struct();
-	fPoints[1] = Vect_new_line_struct();
-	tPoints[0] = Vect_new_line_struct();
-	tPoints[1] = Vect_new_line_struct();
-	LList = Vect_new_list();
-	first = 0;
-    }
-
-    /* Reset */
-    if (costs)
-	*costs = PORT_DOUBLE_MAX;
-    if (Points)
-	Vect_reset_line(Points);
-    if (fdist)
-	*fdist = 0;
-    if (tdist)
-	*tdist = 0;
-    if (List)
-	List->n_values = 0;
-    if (FPoints)
-	Vect_reset_line(FPoints);
-    if (TPoints)
-	Vect_reset_line(TPoints);
-    if (NodesList != NULL)
-	Vect_reset_list(NodesList);
-
-    /* Find nearest nodes */
-    fnode[0] = fnode[1] = tnode[0] = tnode[1] = 0;
-
-    nfnodes =
-	Vect_net_nearest_nodes(Map, fx, fy, fz, GV_FORWARD, fmax, &(fnode[0]),
-			       &(fnode[1]), &fline, &(fcosts[0]),
-			       &(fcosts[1]), fPoints[0], fPoints[1], fdist);
-    if (nfnodes == 0)
-	return 0;
-
-    if (nfnodes == 1 && fPoints[0]->n_points < 3) {
-        from_point_node = fnode[0];
-    } 
-
-    ntnodes =
-	Vect_net_nearest_nodes(Map, tx, ty, tz, GV_BACKWARD, tmax,
-			       &(tnode[0]), &(tnode[1]), &tline, &(tcosts[0]),
-			       &(tcosts[1]), tPoints[0], tPoints[1], tdist);
-    if (ntnodes == 0)
-	return 0;
-
-    if (ntnodes == 1 && tPoints[0]->n_points < 3) {
-        to_point_node = tnode[0];
-    } 
-
-
-    G_debug(3, "fline = %d tline = %d", fline, tline);
-
-    reachable = shortcut = 0;
-    cur_cst = PORT_DOUBLE_MAX;
-
-    /* It may happen, that 2 points are at the same line. */
-    /* TODO?: it could also happen that fline != tline but both points are on the same
-     * line if they fall on node but a different line was found. This case is correctly
-     * handled as normal non shortcut, but it could be added here. In that case 
-     * NodesList collection must be changed */
-    if (fline == tline && (nfnodes > 1 || ntnodes > 1)) {
-	double len, flen, tlen, c, fseg, tseg;
-	double fcx, fcy, fcz, tcx, tcy, tcz;
-
-	Vect_read_line(Map, APoints, NULL, fline);
-	len = Vect_line_length(APoints);
-
-	/* distance along the line */
-	fseg =
-	    Vect_line_distance(APoints, fx, fy, fz, 0, &fcx, &fcy, &fcz, NULL,
-			       NULL, &flen);
-	tseg =
-	    Vect_line_distance(APoints, tx, ty, tz, 0, &tcx, &tcy, &tcz, NULL,
-			       NULL, &tlen);
-
-	Vect_reset_line(SPoints);
-	if (flen == tlen) {
-	    cur_cst = 0;
-	    reachable = shortcut = 1;
-	}
-	else if (flen < tlen) {
-	    Vect_net_get_line_cost(Map, fline, GV_FORWARD, &c);
-	    if (c >= 0) {
-		cur_cst = c * (tlen - flen) / len;
-
-		Vect_append_point(SPoints, fx, fy, fz);
-		Vect_append_point(SPoints, fcx, fcy, fcz);
-		for (i = fseg; i < tseg; i++)
-		    Vect_append_point(SPoints, APoints->x[i], APoints->y[i],
-				      APoints->z[i]);
-
-		Vect_append_point(SPoints, tcx, tcy, tcz);
-		Vect_append_point(SPoints, tx, ty, tz);
-
-		reachable = shortcut = 1;
-	    }
-	}
-	else {			/* flen > tlen */
-	    Vect_net_get_line_cost(Map, fline, GV_BACKWARD, &c);
-	    if (c >= 0) {
-		cur_cst = c * (flen - tlen) / len;
-
-		Vect_append_point(SPoints, fx, fy, fz);
-		Vect_append_point(SPoints, fcx, fcy, fcz);
-		for (i = fseg - 1; i >= tseg; i--)
-		    Vect_append_point(SPoints, APoints->x[i], APoints->y[i],
-				      APoints->z[i]);
-
-		Vect_append_point(SPoints, tcx, tcy, tcz);
-		Vect_append_point(SPoints, tx, ty, tz);
-
-		reachable = shortcut = 1;
-	    }
-	}
-    }
-
-    /* Find the shortest variant from maximum 4 */
-    for (i = 0; i < nfnodes; i++) {
-	for (j = 0; j < ntnodes; j++) {
-	    double ncst, cst;
-	    int ret;
-
-	    G_debug(3, "i = %d fnode = %d j = %d tnode = %d", i, fnode[i], j,
-		    tnode[j]);
-
-	    ret =
-		Vect_net_shortest_path(Map, fnode[i], tnode[j], NULL, &ncst);
-	    if (ret == -1)
-		continue;	/* not reachable */
-
-	    cst = fcosts[i] + ncst + tcosts[j];
-	    if (reachable == 0 || cst < cur_cst) {
-		cur_cst = cst;
-		fn = i;
-		tn = j;
-		shortcut = 0;
-	    }
-	    reachable = 1;
-	}
-    }
-
-    G_debug(3, "reachable = %d shortcut = %d cur_cst = %f", reachable,
-	    shortcut, cur_cst);
-    if (reachable) {
-	if (shortcut) {
-	    if (Points)
-		Vect_append_points(Points, SPoints, GV_FORWARD);
-            if (NodesList) {
-                /* Check if from/to point projected to line falls on node and 
-                 *add it to the list */
-                if (from_point_node > 0)
-		    Vect_list_append(NodesList, from_point_node);
-
-                if (to_point_node > 0)
-		    Vect_list_append(NodesList, to_point_node);
-            }
-	}
-	else {
-            if (NodesList) {
-                /* it can happen that starting point falls on node but SP starts 
-                 * form the other node, add it in that case, 
-                 * similarly for to point below */
-                if (from_point_node > 0 && from_point_node != fnode[fn]) {
-                    Vect_list_append(NodesList, from_point_node);
-                }
-
-                /* add starting net SP search node */
-                Vect_list_append(NodesList, fnode[fn]);
-            }
-	    Vect_net_shortest_path(Map, fnode[fn], tnode[tn], LList,
-				   NULL);
-	    G_debug(3, "Number of lines %d", LList->n_values);
-
-	    if (Points)
-		Vect_append_points(Points, fPoints[fn], GV_FORWARD);
-
-	    if (FPoints)
-		Vect_append_points(FPoints, fPoints[fn], GV_FORWARD);
-
-	    for (i = 0; i < LList->n_values; i++) {
-		int line;
-
-		line = LList->value[i];
-		G_debug(3, "i = %d line = %d", i, line);
-
-		if (Points) {
-		    Vect_read_line(Map, APoints, NULL, abs(line));
-
-		    if (line > 0)
-			Vect_append_points(Points, APoints, GV_FORWARD);
-		    else
-			Vect_append_points(Points, APoints, GV_BACKWARD);
-		}
-                if (NodesList) {
-                    int node, node1, node2;
-
-                    Vect_get_line_nodes(Map, abs(line), &node1, &node2);
-                    /* add the second node, the first of first segmet was alread added */
-                    if (line > 0)
-			node = node2;
-                    else
-			node = node1;
-
-                    Vect_list_append(NodesList, node);
-                }
-
-		if (List)
-		    Vect_list_append(List, line);
-	    }
-
-	    if (Points)
-		Vect_append_points(Points, tPoints[tn], GV_FORWARD);
-
-	    if (TPoints)
-		Vect_append_points(TPoints, tPoints[tn], GV_FORWARD);
-
-            if (NodesList) {
-                if (to_point_node > 0 && to_point_node != tnode[tn]) {
-                    Vect_list_append(NodesList, to_point_node);
-                }
-            }
-	}
-
-	if (costs)
-	    *costs = cur_cst;
-    }
-
-    return reachable;
-}
diff --git a/lib/vector/Vlib/net_analyze.c b/lib/vector/Vlib/net_analyze.c
new file mode 100644
index 0000000..5a54f92
--- /dev/null
+++ b/lib/vector/Vlib/net_analyze.c
@@ -0,0 +1,1057 @@
+/*!
+ * \file lib/vector/Vlib/net_analyze.c
+ *
+ * \brief Vector library - releated fns for vector network analyses
+ *
+ * Higher level functions for reading/writing/manipulating vectors.
+ *
+ * (C) 2001-2009, 2014 by the GRASS Development Team
+ *
+ * This program is free software under the GNU General Public License
+ * (>=v2).  Read the file COPYING that comes with GRASS for details.
+ *
+ * \author Radim Blazek
+ * \author Stepan Turek stepan.turek seznam.cz (turns support)
+ */
+
+#include <grass/dbmi.h>
+#include <grass/vector.h>
+#include <grass/glocale.h>
+
+static int From_node;		/* from node set in SP and used by clipper for first arc */
+
+static int clipper(dglGraph_s * pgraph,
+		   dglSPClipInput_s * pargIn,
+		   dglSPClipOutput_s * pargOut, void *pvarg)
+{				/* caller's pointer */
+    dglInt32_t cost;
+    dglInt32_t from;
+
+    G_debug(3, "Net: clipper()");
+
+    from = dglNodeGet_Id(pgraph, pargIn->pnNodeFrom);
+
+    G_debug(3, "  Edge = %d NodeFrom = %d NodeTo = %d edge cost = %d",
+	    (int)dglEdgeGet_Id(pgraph, pargIn->pnEdge),
+	    (int)from, (int)dglNodeGet_Id(pgraph, pargIn->pnNodeTo),
+	    (int)pargOut->nEdgeCost);
+
+    if (from != From_node) {	/* do not clip first */
+	if (dglGet_NodeAttrSize(pgraph) > 0) {
+	    memcpy(&cost, dglNodeGet_Attr(pgraph, pargIn->pnNodeFrom),
+		   sizeof(cost));
+	    if (cost == -1) {	/* closed, cannot go from this node except it is 'from' node */
+		G_debug(3, "  closed node");
+		return 1;
+	    }
+	    else {
+		G_debug(3, "  EdgeCost += %d (node)", (int)cost);
+		pargOut->nEdgeCost += cost;
+	    }
+	}
+    }
+    else {
+	G_debug(3, "  don't clip first node");
+    }
+
+    return 0;
+}
+
+/*!
+   \brief Converts shortest path result, which is calculated by DGLib on newtwork without turntable, into output format.
+ */
+static int convert_dgl_shortest_path_result(struct Map_info *Map,
+					    dglSPReport_s * pSPReport,
+					    struct ilist *List)
+{
+    int i, line;
+
+    Vect_reset_list(List);
+
+    for (i = 0; i < pSPReport->cArc; i++) {
+	line =
+	    dglEdgeGet_Id(&(Map->dgraph.graph_s), pSPReport->pArc[i].pnEdge);
+	G_debug(2, "From %ld to %ld - cost %ld user %d distance %ld", pSPReport->pArc[i].nFrom, pSPReport->pArc[i].nTo, dglEdgeGet_Cost(&(Map->dgraph.graph_s), pSPReport->pArc[i].pnEdge) / Map->dgraph.cost_multip,	/* this is the cost from clip() */
+		line, pSPReport->pArc[i].nDistance);
+	Vect_list_append(List, line);
+    }
+
+    return 0;
+}
+
+/*!
+   \brief Converts shortest path result, which is calculated by DGLib on newtwork with turntable, into output format.
+ */
+static int ttb_convert_dgl_shortest_path_result(struct Map_info *Map,
+						dglSPReport_s * pSPReport,
+						int tucfield,
+						struct ilist *List)
+{
+    int i, line_id, type, tucfield_idx;
+    int line_ucat;
+
+    Vect_reset_list(List);
+
+    tucfield_idx = Vect_cidx_get_field_index(Map, tucfield);
+
+    for (i = 0; i < pSPReport->cArc; i++) {
+	dglEdgeGet_Id(&(Map->dgraph.graph_s), pSPReport->pArc[i].pnEdge);
+
+	line_ucat =
+	    dglNodeGet_Id(&(Map->dgraph.graph_s),
+			  dglEdgeGet_Head(&(Map->dgraph.graph_s),
+					  pSPReport->pArc[i].pnEdge));
+
+	/* get standard ucat numbers (DGLib does not like negative node numbers) */
+	if (line_ucat % 2 == 1)
+	    line_ucat = ((line_ucat - 1) / -2);
+	else
+	    line_ucat = (line_ucat) / 2;
+
+	/* skip virtual nodes */
+	if (Vect_cidx_find_next
+	    (Map, tucfield_idx, abs(line_ucat), GV_LINE, 0, &type,
+	     &line_id) == -1)
+	    continue;
+
+	if (line_ucat < 0)
+	    line_id *= -1;
+
+	G_debug(2, "From %ld to %ld - cost %ld user %d distance %ld", pSPReport->pArc[i].nFrom, pSPReport->pArc[i].nTo, dglEdgeGet_Cost(&(Map->dgraph.graph_s), pSPReport->pArc[i].pnEdge) / Map->dgraph.cost_multip,	/* this is the cost from clip() */
+		line_ucat, pSPReport->pArc[i].nDistance);
+
+	Vect_list_append(List, line_id);
+    }
+
+    return 0;
+}
+
+/*!
+   \brief Finds shortest path on network using DGLib
+
+
+   \param Map vector map with build DGLib graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param from from node id in build the network
+   \param to to node in build the network
+   \param UseTtb the graph is build with/without turntable
+   \param tucfield layer with unique cats for turntable (relevant only when UseTtb = 1)
+ */
+static int find_shortest_path(struct Map_info *Map, int from, int to,
+			      struct ilist *List, double *cost, int UseTtb,
+			      int tucfield)
+{
+    int *pclip, cArc, nRet;
+    dglSPReport_s *pSPReport;
+    dglInt32_t nDistance;
+    int use_cache = 1;		/* set to 0 to disable dglib cache */
+
+    G_debug(3, "find_shortest_path(): from = %d, to = %d", from, to);
+
+    /* Note : if from == to dgl goes to nearest node and returns back (dgl feature) => 
+     *         check here for from == to */
+
+    /* Check if from and to are identical, otherwise dglib returns path to neares node and back! */
+    if (from == to) {
+	if (cost != NULL)
+	    *cost = 0;
+	return 0;
+    }
+
+    From_node = from;
+    pclip = NULL;
+    if (List != NULL) {
+	if (use_cache) {
+	    nRet =
+		dglShortestPath(&(Map->dgraph.graph_s), &pSPReport,
+				(dglInt32_t) from, (dglInt32_t) to, clipper,
+				pclip, &(Map->dgraph.spCache));
+	}
+	else {
+	    nRet =
+		dglShortestPath(&(Map->dgraph.graph_s), &pSPReport,
+				(dglInt32_t) from, (dglInt32_t) to, clipper,
+				pclip, NULL);
+	}
+    }
+    else {
+	if (use_cache) {
+	    nRet =
+		dglShortestDistance(&(Map->dgraph.graph_s), &nDistance,
+				    (dglInt32_t) from, (dglInt32_t) to,
+				    clipper, pclip, &(Map->dgraph.spCache));
+	}
+	else {
+	    nRet =
+		dglShortestDistance(&(Map->dgraph.graph_s), &nDistance,
+				    (dglInt32_t) from, (dglInt32_t) to,
+				    clipper, pclip, NULL);
+	}
+    }
+
+    if (nRet == 0) {
+	/* G_warning("Destination node %d is unreachable from node %d\n" , to , from); */
+	if (cost != NULL)
+	    *cost = PORT_DOUBLE_MAX;
+	return -1;
+    }
+    else if (nRet < 0) {
+	G_warning(_("dglShortestPath error: %s"),
+		  dglStrerror(&(Map->dgraph.graph_s)));
+	return -1;
+    }
+
+    if (List != NULL) {
+	if (UseTtb)
+	    ttb_convert_dgl_shortest_path_result(Map, pSPReport, tucfield,
+						 List);
+	else
+	    convert_dgl_shortest_path_result(Map, pSPReport, List);
+    }
+
+    if (cost != NULL) {
+	if (List != NULL)
+	    *cost = (double)pSPReport->nDistance / Map->dgraph.cost_multip;
+	else
+	    *cost = (double)nDistance / Map->dgraph.cost_multip;
+    }
+
+    if (List != NULL) {
+	cArc = pSPReport->cArc;
+	dglFreeSPReport(&(Map->dgraph.graph_s), pSPReport);
+    }
+    else
+	cArc = 0;
+
+    return cArc;
+}
+
+/*!
+   \brief Find shortest path on network.
+
+   Costs for 'from' and 'to' nodes are not considered (SP found even if
+   'from' or 'to' are 'closed' (costs = -1) and costs of these
+   nodes are not added to SP costs result.
+
+   \param Map vector map with build graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param from start of the path
+   \param from_type if 0 - node id (intersection), if 1 - line unique cat 
+   \param to end of the path
+   \param to_type if 0 - node id (intersection), if 1 - line unique cat
+   \param tucfield field with unique categories used in the turntable 
+   \param[out] List list of line ids (path)
+   \param[out] cost costs value
+
+   \return number of segments
+   \return 0 is correct for from = to, or List == NULL ? sum of costs is better return value,
+   \return -1 : destination unreachable
+
+ */
+
+int
+Vect_net_ttb_shortest_path(struct Map_info *Map, int from, int from_type,
+			   int to, int to_type,
+			   int tucfield, struct ilist *List, double *cost)
+{
+    double x, y, z;
+    struct bound_box box;
+    struct boxlist *box_List;
+    struct line_cats *Cats;
+    int f, t;
+    int i_line, line, type, cfound;
+
+    box_List = Vect_new_boxlist(0);
+    Cats = Vect_new_cats_struct();
+
+    if (from_type == 0) {	/* TODO duplicite code with to_type, move into function */
+	/* select points at node */
+	Vect_get_node_coor(Map, from, &x, &y, &z);
+	box.E = box.W = x;
+	box.N = box.S = y;
+	box.T = box.B = z;
+	Vect_select_lines_by_box(Map, &box, GV_POINT, box_List);
+
+	cfound = 0;
+
+	for (i_line = 0; i_line < box_List->n_values; i_line++) {
+	    line = box_List->id[i_line];
+
+	    type = Vect_read_line(Map, NULL, Cats, line);
+	    if (!(type & GV_POINT))
+		continue;
+	    if (Vect_cat_get(Cats, tucfield, &f)) {
+		++cfound;
+		break;
+	    }
+	}
+	if (!cfound)
+	    G_fatal_error(_
+			  ("Unable to find point with defined unique category for node <%d>."),
+			  from);
+	else if (cfound > 1)
+	    G_warning(_
+		      ("There exists more than one point on node <%d> with unique category in field  <%d>.\n"
+		       "The unique category layer may not be valid."),
+		      tucfield, from);
+
+	G_debug(2, "from node = %d, unique cat = %d ", from, f);
+	f = f * 2;
+    }
+    else {
+	if (from < 0)
+	    f = from * -2 + 1;
+	else
+	    f = from * 2;
+	G_debug(2, "from edge unique cat = %d", from);
+    }
+
+    if (to_type == 0) {
+	/* select points at node */
+	Vect_get_node_coor(Map, to, &x, &y, &z);
+	box.E = box.W = x;
+	box.N = box.S = y;
+	box.T = box.B = z;
+	Vect_select_lines_by_box(Map, &box, GV_POINT, box_List);
+
+	cfound = 0;
+
+	for (i_line = 0; i_line < box_List->n_values; i_line++) {
+	    line = box_List->id[i_line];
+	    type = Vect_read_line(Map, NULL, Cats, line);
+	    if (!(type & GV_POINT))
+		continue;
+	    if (Vect_cat_get(Cats, tucfield, &t)) {
+		cfound = 1;
+		break;
+	    }
+	}
+	if (!cfound)
+	    G_fatal_error(_
+			  ("Unable to find point with defined unique category for node <%d>."),
+			  to);
+	else if (cfound > 1)
+	    G_warning(_
+		      ("There exists more than one point on node <%d> with unique category in field  <%d>.\n"
+		       "The unique category layer may not be valid."),
+		      tucfield, to);
+
+	G_debug(2, "to node = %d, unique cat = %d ", to, t);
+	t = t * 2 + 1;
+    }
+    else {
+	if (to < 0)
+	    t = to * -2 + 1;
+	else
+	    t = to * 2;
+	G_debug(2, "to edge unique cat = %d", to);
+    }
+
+    Vect_destroy_boxlist(box_List);
+    Vect_destroy_cats_struct(Cats);
+
+    return find_shortest_path(Map, f, t, List, cost, 1, tucfield);
+}
+
+/*!
+   \brief Find shortest path.
+
+   Costs for 'from' and 'to' nodes are not considered (SP found even if
+   'from' or 'to' are 'closed' (costs = -1) and costs of these
+   nodes are not added to SP costs result.
+
+   \param Map vector map with build graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param from from node
+   \param to to node
+   \param[out] List list of line ids (path)
+   \param[out] cost costs value
+
+   \return number of segments
+   \return 0 is correct for from = to, or List == NULL ? sum of costs is better return value,
+   \return -1 : destination unreachable
+
+ */
+int
+Vect_net_shortest_path(struct Map_info *Map, int from, int to,
+		       struct ilist *List, double *cost)
+{
+    return find_shortest_path(Map, from, to, List, cost, 0, -1);
+}
+
+/*!
+   \brief Get graph structure
+
+   Graph is built by Vect_net_build_graph().
+
+   Returns NULL when graph is not built.
+
+   \param Map pointer to Map_info struct
+
+   \return pointer to dglGraph_s struct or NULL
+ */
+dglGraph_s *Vect_net_get_graph(struct Map_info * Map)
+{
+    return &(Map->dgraph.graph_s);
+}
+
+/*! 
+   \brief Returns in cost for given direction in *cost.
+
+   cost is set to -1 if closed.
+
+   \param Map vector map with build graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param line line id
+   \param direction direction (GV_FORWARD, GV_BACKWARD) 
+   \param[out] cost
+
+   \return 1 OK
+   \return 0 does not exist (was not inserted)
+ */
+int
+Vect_net_get_line_cost(const struct Map_info *Map, int line, int direction,
+		       double *cost)
+{
+    /* dglInt32_t *pEdge; */
+
+    G_debug(5, "Vect_net_get_line_cost(): line = %d, dir = %d", line,
+	    direction);
+
+    if (direction == GV_FORWARD) {
+	/* V1 has no index by line-id -> array used */
+	/*
+	   pEdge = dglGetEdge(&(Map->dgraph.graph_s), line);
+	   if (pEdge == NULL)
+	   return 0;
+	   *cost = (double) dglEdgeGet_Cost(&(Map->dgraph.graph_s), pEdge);
+	 */
+	if (Map->dgraph.edge_fcosts[line] == -1) {
+	    *cost = -1;
+	    return 0;
+	}
+	else
+	    *cost = Map->dgraph.edge_fcosts[line];
+    }
+    else if (direction == GV_BACKWARD) {
+	/*
+	   pEdge = dglGetEdge(&(Map->dgraph.graph_s), -line);
+	   if (pEdge == NULL) 
+	   return 0;
+	   *cost = (double) dglEdgeGet_Cost(&(Map->dgraph.graph_s), pEdge);
+	 */
+	if (Map->dgraph.edge_bcosts[line] == -1) {
+	    *cost = -1;
+	    return 0;
+	}
+	else
+	    *cost = Map->dgraph.edge_bcosts[line];
+	G_debug(5, "Vect_net_get_line_cost(): edge_bcosts = %f",
+		Map->dgraph.edge_bcosts[line]);
+    }
+    else {
+	G_fatal_error(_("Wrong line direction in Vect_net_get_line_cost()"));
+    }
+
+    return 1;
+}
+
+/*!
+   \brief Get cost of node
+
+   \param Map vector map with build graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param node node id
+   \param[out] cost costs value
+
+   \return 1
+ */
+int Vect_net_get_node_cost(const struct Map_info *Map, int node, double *cost)
+{
+    G_debug(3, "Vect_net_get_node_cost(): node = %d", node);
+
+    *cost = Map->dgraph.node_costs[node];
+
+    G_debug(3, "  -> cost = %f", *cost);
+
+    return 1;
+}
+
+/*!
+   \brief Find nearest node(s) on network. 
+
+   \param Map vector map with build graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param x,y,z point coordinates (z coordinate NOT USED !)
+   \param direction (GV_FORWARD - from point to net, GV_BACKWARD - from net to point)
+   \param maxdist maximum distance to the network
+   \param[out] node1 pointer where to store the node number (or NULL)
+   \param[out] node2 pointer where to store the node number (or NULL)
+   \param[out] ln    pointer where to store the nearest line number (or NULL)
+   \param[out] costs1 pointer where to store costs on nearest line to node1 (not costs from x,y,z to the line) (or NULL)
+   \param[out] costs2 pointer where to store costs on nearest line to node2 (not costs from x,y,z to the line) (or NULL)
+   \param[out] Points1 pointer to structure where to store vertices on nearest line to node1 (or NULL)
+   \param[out] Points2 pointer to structure where to store vertices on nearest line to node2 (or NULL)
+   \param[out] pointer where to distance to the line (or NULL)
+   \param[out] distance
+
+   \return number of nodes found (0,1,2)
+ */
+int Vect_net_nearest_nodes(struct Map_info *Map,
+			   double x, double y, double z,
+			   int direction, double maxdist,
+			   int *node1, int *node2, int *ln, double *costs1,
+			   double *costs2, struct line_pnts *Points1,
+			   struct line_pnts *Points2, double *distance)
+{
+    int line, n1, n2, nnodes;
+    int npoints;
+    int segment;		/* nearest line segment (first is 1) */
+    static struct line_pnts *Points = NULL;
+    double cx, cy, cz, c1, c2;
+    double along;		/* distance along the line to nearest point */
+    double length;
+
+    G_debug(3, "Vect_net_nearest_nodes() x = %f y = %f", x, y);
+
+    /* Reset */
+    if (node1)
+	*node1 = 0;
+    if (node2)
+	*node2 = 0;
+    if (ln)
+	*ln = 0;
+    if (costs1)
+	*costs1 = PORT_DOUBLE_MAX;
+    if (costs2)
+	*costs2 = PORT_DOUBLE_MAX;
+    if (Points1)
+	Vect_reset_line(Points1);
+    if (Points2)
+	Vect_reset_line(Points2);
+    if (distance)
+	*distance = PORT_DOUBLE_MAX;
+
+    if (!Points)
+	Points = Vect_new_line_struct();
+
+    /* Find nearest line */
+    line = Vect_find_line(Map, x, y, z, Map->dgraph.line_type, maxdist, 0, 0);
+
+    if (line < 1)
+	return 0;
+
+    Vect_read_line(Map, Points, NULL, line);
+    npoints = Points->n_points;
+    Vect_get_line_nodes(Map, line, &n1, &n2);
+
+    segment =
+	Vect_line_distance(Points, x, y, z, 0, &cx, &cy, &cz, distance, NULL,
+			   &along);
+
+    G_debug(4, "line = %d n1 = %d n2 = %d segment = %d", line, n1, n2,
+	    segment);
+
+    /* Check first or last point and return one node in that case */
+    G_debug(4, "cx = %f cy = %f first = %f %f last = %f %f", cx, cy,
+	    Points->x[0], Points->y[0], Points->x[npoints - 1],
+	    Points->y[npoints - 1]);
+
+    if (Points->x[0] == cx && Points->y[0] == cy) {
+	if (node1)
+	    *node1 = n1;
+	if (ln)
+	    *ln = line;
+	if (costs1)
+	    *costs1 = 0;
+	if (Points1) {
+	    Vect_append_point(Points1, x, y, z);
+	    Vect_append_point(Points1, cx, cy, cz);
+	}
+	G_debug(3, "first node nearest");
+	return 1;
+    }
+    if (Points->x[npoints - 1] == cx && Points->y[npoints - 1] == cy) {
+	if (node1)
+	    *node1 = n2;
+	if (ln)
+	    *ln = line;
+	if (costs1)
+	    *costs1 = 0;
+	if (Points1) {
+	    Vect_append_point(Points1, x, y, z);
+	    Vect_append_point(Points1, cx, cy, cz);
+	}
+	G_debug(3, "last node nearest");
+	return 1;
+    }
+
+    nnodes = 2;
+
+    /* c1 - costs to get from/to the first vertex */
+    /* c2 - costs to get from/to the last vertex */
+    if (direction == GV_FORWARD) {	/* from point to net */
+	Vect_net_get_line_cost(Map, line, GV_BACKWARD, &c1);
+	Vect_net_get_line_cost(Map, line, GV_FORWARD, &c2);
+    }
+    else {
+	Vect_net_get_line_cost(Map, line, GV_FORWARD, &c1);
+	Vect_net_get_line_cost(Map, line, GV_BACKWARD, &c2);
+    }
+
+    if (c1 < 0)
+	nnodes--;
+    if (c2 < 0)
+	nnodes--;
+    if (nnodes == 0)
+	return 0;		/* both directions closed */
+
+    length = Vect_line_length(Points);
+
+    if (ln)
+	*ln = line;
+
+    if (nnodes == 1 && c1 < 0) {	/* first direction is closed, return node2 as node1 */
+	if (node1)
+	    *node1 = n2;
+
+	if (costs1) {		/* to node 2, i.e. forward */
+	    *costs1 = c2 * (length - along) / length;
+	}
+
+	if (Points1) {		/* to node 2, i.e. forward */
+	    int i;
+
+	    if (direction == GV_FORWARD) {	/* from point to net */
+		Vect_append_point(Points1, x, y, z);
+		Vect_append_point(Points1, cx, cy, cz);
+		for (i = segment; i < npoints; i++)
+		    Vect_append_point(Points1, Points->x[i], Points->y[i],
+				      Points->z[i]);
+	    }
+	    else {
+		for (i = npoints - 1; i >= segment; i--)
+		    Vect_append_point(Points1, Points->x[i], Points->y[i],
+				      Points->z[i]);
+
+		Vect_append_point(Points1, cx, cy, cz);
+		Vect_append_point(Points1, x, y, z);
+	    }
+	}
+    }
+    else {
+	if (node1)
+	    *node1 = n1;
+	if (node2)
+	    *node2 = n2;
+
+	if (costs1) {		/* to node 1, i.e. backward */
+	    *costs1 = c1 * along / length;
+	}
+
+	if (costs2) {		/* to node 2, i.e. forward */
+	    *costs2 = c2 * (length - along) / length;
+	}
+
+	if (Points1) {		/* to node 1, i.e. backward */
+	    int i;
+
+	    if (direction == GV_FORWARD) {	/* from point to net */
+		Vect_append_point(Points1, x, y, z);
+		Vect_append_point(Points1, cx, cy, cz);
+		for (i = segment - 1; i >= 0; i--)
+		    Vect_append_point(Points1, Points->x[i], Points->y[i],
+				      Points->z[i]);
+	    }
+	    else {
+		for (i = 0; i < segment; i++)
+		    Vect_append_point(Points1, Points->x[i], Points->y[i],
+				      Points->z[i]);
+
+		Vect_append_point(Points1, cx, cy, cz);
+		Vect_append_point(Points1, x, y, z);
+	    }
+	}
+
+	if (Points2) {		/* to node 2, i.e. forward */
+	    int i;
+
+	    if (direction == GV_FORWARD) {	/* from point to net */
+		Vect_append_point(Points2, x, y, z);
+		Vect_append_point(Points2, cx, cy, cz);
+		for (i = segment; i < npoints; i++)
+		    Vect_append_point(Points2, Points->x[i], Points->y[i],
+				      Points->z[i]);
+	    }
+	    else {
+		for (i = npoints - 1; i >= segment; i--)
+		    Vect_append_point(Points2, Points->x[i], Points->y[i],
+				      Points->z[i]);
+
+		Vect_append_point(Points2, cx, cy, cz);
+		Vect_append_point(Points2, x, y, z);
+	    }
+	}
+    }
+
+    return nnodes;
+}
+
+/*!
+   \brief Find shortest path on network between 2 points given by coordinates. 
+
+   \param Map vector map with build graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param fx,fy,fz from point x coordinate (z ignored)
+   \param tx,ty,tz to point x coordinate (z ignored)
+   \param fmax maximum distance to the network from 'from'
+   \param tmax maximum distance to the network from 'to'
+   \param UseTtb the graph is build with/without turntable
+   \param tucfield field with unique categories used in the turntable 
+   \param costs pointer where to store costs on the network (or NULL)
+   \param Points pointer to the structure where to store vertices of shortest path (or NULL)
+   \param List pointer to the structure where list of lines on the network is stored (or NULL)
+   \param NodesList pointer to the structure where list of nodes on the network is stored (or NULL)
+   \param FPoints pointer to the structure where to store line from 'from' to first network node (or NULL)
+   \param TPoints pointer to the structure where to store line from last network node to 'to' (or NULL)
+   \param fdist distance from 'from' to the net (or NULL)
+   \param tdist distance from 'to' to the net (or NULL)
+
+   \return 1 OK, 0 not reachable
+ */
+static int
+find_shortest_path_coor(struct Map_info *Map,
+			double fx, double fy, double fz, double tx,
+			double ty, double tz, double fmax, double tmax,
+			int UseTtb, int tucfield,
+			double *costs, struct line_pnts *Points,
+			struct ilist *List, struct ilist *NodesList,
+			struct line_pnts *FPoints,
+			struct line_pnts *TPoints, double *fdist,
+			double *tdist)
+{
+    int fnode[2], tnode[2];	/* nearest nodes, *node[1] is 0 if only one was found */
+    double fcosts[2], tcosts[2], cur_cst;	/* costs to nearest nodes on the network */
+    int nfnodes, ntnodes, fline, tline;
+    static struct line_pnts *APoints, *SPoints, *fPoints[2], *tPoints[2];
+    static struct ilist *LList;
+    static int first = 1;
+    int reachable, shortcut;
+    int i, j, fn = 0, tn = 0;
+
+    /* from/to_point_node is set if from/to point projected to line 
+     *falls exactly on node (shortcut -> fline == tline) */
+    int from_point_node = 0;
+    int to_point_node = 0;
+
+    G_debug(3, "Vect_net_shortest_path_coor()");
+
+    if (first) {
+	APoints = Vect_new_line_struct();
+	SPoints = Vect_new_line_struct();
+	fPoints[0] = Vect_new_line_struct();
+	fPoints[1] = Vect_new_line_struct();
+	tPoints[0] = Vect_new_line_struct();
+	tPoints[1] = Vect_new_line_struct();
+	LList = Vect_new_list();
+	first = 0;
+    }
+
+    /* Reset */
+    if (costs)
+	*costs = PORT_DOUBLE_MAX;
+    if (Points)
+	Vect_reset_line(Points);
+    if (fdist)
+	*fdist = 0;
+    if (tdist)
+	*tdist = 0;
+    if (List)
+	List->n_values = 0;
+    if (FPoints)
+	Vect_reset_line(FPoints);
+    if (TPoints)
+	Vect_reset_line(TPoints);
+    if (NodesList != NULL)
+	Vect_reset_list(NodesList);
+
+    /* Find nearest nodes */
+    fnode[0] = fnode[1] = tnode[0] = tnode[1] = 0;
+
+    nfnodes =
+	Vect_net_nearest_nodes(Map, fx, fy, fz, GV_FORWARD, fmax, &(fnode[0]),
+			       &(fnode[1]), &fline, &(fcosts[0]),
+			       &(fcosts[1]), fPoints[0], fPoints[1], fdist);
+    if (nfnodes == 0)
+	return 0;
+
+    if (nfnodes == 1 && fPoints[0]->n_points < 3) {
+	from_point_node = fnode[0];
+    }
+
+    ntnodes =
+	Vect_net_nearest_nodes(Map, tx, ty, tz, GV_BACKWARD, tmax,
+			       &(tnode[0]), &(tnode[1]), &tline, &(tcosts[0]),
+			       &(tcosts[1]), tPoints[0], tPoints[1], tdist);
+    if (ntnodes == 0)
+	return 0;
+
+    if (ntnodes == 1 && tPoints[0]->n_points < 3) {
+	to_point_node = tnode[0];
+    }
+
+
+    G_debug(3, "fline = %d tline = %d", fline, tline);
+
+    reachable = shortcut = 0;
+    cur_cst = PORT_DOUBLE_MAX;
+
+    /* It may happen, that 2 points are at the same line. */
+    /* TODO?: it could also happen that fline != tline but both points are on the same
+     * line if they fall on node but a different line was found. This case is correctly
+     * handled as normal non shortcut, but it could be added here. In that case 
+     * NodesList collection must be changed */
+    if (fline == tline && (nfnodes > 1 || ntnodes > 1)) {
+	double len, flen, tlen, c, fseg, tseg;
+	double fcx, fcy, fcz, tcx, tcy, tcz;
+
+	Vect_read_line(Map, APoints, NULL, fline);
+	len = Vect_line_length(APoints);
+
+	/* distance along the line */
+	fseg =
+	    Vect_line_distance(APoints, fx, fy, fz, 0, &fcx, &fcy, &fcz, NULL,
+			       NULL, &flen);
+	tseg =
+	    Vect_line_distance(APoints, tx, ty, tz, 0, &tcx, &tcy, &tcz, NULL,
+			       NULL, &tlen);
+
+	Vect_reset_line(SPoints);
+	if (flen == tlen) {
+	    cur_cst = 0;
+	    reachable = shortcut = 1;
+	}
+	else if (flen < tlen) {
+	    Vect_net_get_line_cost(Map, fline, GV_FORWARD, &c);
+	    if (c >= 0) {
+		cur_cst = c * (tlen - flen) / len;
+
+		Vect_append_point(SPoints, fx, fy, fz);
+		Vect_append_point(SPoints, fcx, fcy, fcz);
+		for (i = fseg; i < tseg; i++)
+		    Vect_append_point(SPoints, APoints->x[i], APoints->y[i],
+				      APoints->z[i]);
+
+		Vect_append_point(SPoints, tcx, tcy, tcz);
+		Vect_append_point(SPoints, tx, ty, tz);
+
+		reachable = shortcut = 1;
+	    }
+	}
+	else {			/* flen > tlen */
+	    Vect_net_get_line_cost(Map, fline, GV_BACKWARD, &c);
+	    if (c >= 0) {
+		cur_cst = c * (flen - tlen) / len;
+
+		Vect_append_point(SPoints, fx, fy, fz);
+		Vect_append_point(SPoints, fcx, fcy, fcz);
+		for (i = fseg - 1; i >= tseg; i--)
+		    Vect_append_point(SPoints, APoints->x[i], APoints->y[i],
+				      APoints->z[i]);
+
+		Vect_append_point(SPoints, tcx, tcy, tcz);
+		Vect_append_point(SPoints, tx, ty, tz);
+
+		reachable = shortcut = 1;
+	    }
+	}
+    }
+
+    /* Find the shortest variant from maximum 4 */
+    for (i = 0; i < nfnodes; i++) {
+	for (j = 0; j < ntnodes; j++) {
+	    double ncst, cst;
+	    int ret;
+
+	    G_debug(3, "i = %d fnode = %d j = %d tnode = %d", i, fnode[i], j,
+		    tnode[j]);
+
+	    if (UseTtb)
+		ret =
+		    Vect_net_ttb_shortest_path(Map, fnode[i], 0, tnode[j], 0,
+					       tucfield, NULL, &ncst);
+	    else
+		ret =
+		    Vect_net_shortest_path(Map, fnode[i], tnode[j], NULL,
+					   &ncst);
+	    if (ret == -1)
+		continue;	/* not reachable */
+
+	    cst = fcosts[i] + ncst + tcosts[j];
+	    if (reachable == 0 || cst < cur_cst) {
+		cur_cst = cst;
+		fn = i;
+		tn = j;
+		shortcut = 0;
+	    }
+	    reachable = 1;
+	}
+    }
+
+    G_debug(3, "reachable = %d shortcut = %d cur_cst = %f", reachable,
+	    shortcut, cur_cst);
+    if (reachable) {
+	if (shortcut) {
+	    if (Points)
+		Vect_append_points(Points, SPoints, GV_FORWARD);
+	    if (NodesList) {
+		/* Check if from/to point projected to line falls on node and 
+		 *add it to the list */
+		if (from_point_node > 0)
+		    Vect_list_append(NodesList, from_point_node);
+
+		if (to_point_node > 0)
+		    Vect_list_append(NodesList, to_point_node);
+	    }
+	}
+	else {
+	    if (NodesList) {
+		/* it can happen that starting point falls on node but SP starts 
+		 * form the other node, add it in that case, 
+		 * similarly for to point below */
+		if (from_point_node > 0 && from_point_node != fnode[fn]) {
+		    Vect_list_append(NodesList, from_point_node);
+		}
+
+		/* add starting net SP search node */
+		Vect_list_append(NodesList, fnode[fn]);
+	    }
+
+	    if (UseTtb)
+		Vect_net_ttb_shortest_path(Map, fnode[fn], 0, tnode[tn], 0,
+					   tucfield, LList, NULL);
+	    else
+		Vect_net_shortest_path(Map, fnode[fn], tnode[tn], LList,
+				       NULL);
+
+	    G_debug(3, "Number of lines %d", LList->n_values);
+
+	    if (Points)
+		Vect_append_points(Points, fPoints[fn], GV_FORWARD);
+
+	    if (FPoints)
+		Vect_append_points(FPoints, fPoints[fn], GV_FORWARD);
+
+	    for (i = 0; i < LList->n_values; i++) {
+		int line;
+
+		line = LList->value[i];
+		G_debug(3, "i = %d line = %d", i, line);
+
+		if (Points) {
+		    Vect_read_line(Map, APoints, NULL, abs(line));
+
+		    if (line > 0)
+			Vect_append_points(Points, APoints, GV_FORWARD);
+		    else
+			Vect_append_points(Points, APoints, GV_BACKWARD);
+		}
+		if (NodesList) {
+		    int node, node1, node2;
+
+		    Vect_get_line_nodes(Map, abs(line), &node1, &node2);
+		    /* add the second node, the first of first segmet was alread added */
+		    if (line > 0)
+			node = node2;
+		    else
+			node = node1;
+
+		    Vect_list_append(NodesList, node);
+		}
+
+		if (List)
+		    Vect_list_append(List, line);
+	    }
+
+	    if (Points)
+		Vect_append_points(Points, tPoints[tn], GV_FORWARD);
+
+	    if (TPoints)
+		Vect_append_points(TPoints, tPoints[tn], GV_FORWARD);
+
+	    if (NodesList) {
+		if (to_point_node > 0 && to_point_node != tnode[tn]) {
+		    Vect_list_append(NodesList, to_point_node);
+		}
+	    }
+	}
+
+	if (costs)
+	    *costs = cur_cst;
+    }
+
+    return reachable;
+}
+
+/*!
+   \brief Find shortest path on network between 2 points given by coordinates. 
+
+   \param Map vector map with build graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param fx,fy,fz from point x coordinate (z ignored)
+   \param tx,ty,tz to point x coordinate (z ignored)
+   \param fmax maximum distance to the network from 'from'
+   \param tmax maximum distance to the network from 'to'
+   \param costs pointer where to store costs on the network (or NULL)
+   \param Points pointer to the structure where to store vertices of shortest path (or NULL)
+   \param List pointer to the structure where list of lines on the network is stored (or NULL)
+   \param NodesList pointer to the structure where list of nodes on the network is stored (or NULL)
+   \param FPoints pointer to the structure where to store line from 'from' to first network node (or NULL)
+   \param TPoints pointer to the structure where to store line from last network node to 'to' (or NULL)
+   \param fdist distance from 'from' to the net (or NULL)
+   \param tdist distance from 'to' to the net (or NULL)
+
+   \return 1 OK, 0 not reachable
+ */
+int
+Vect_net_shortest_path_coor(struct Map_info *Map,
+			    double fx, double fy, double fz, double tx,
+			    double ty, double tz, double fmax, double tmax,
+			    double *costs, struct line_pnts *Points,
+			    struct ilist *List, struct ilist *NodesList,
+			    struct line_pnts *FPoints,
+			    struct line_pnts *TPoints, double *fdist,
+			    double *tdist)
+{
+    return find_shortest_path_coor(Map, fx, fy, fz, tx, ty, tz, fmax, tmax, 0,
+				   0, costs, Points, List, NodesList,
+				   FPoints, TPoints, fdist, tdist);
+}
+
+/*!
+   \brief Find shortest path on network with turntable between 2 points given by coordinates. 
+
+   \param Map vector map with build graph (see Vect_net_ttb_build_graph and Vect_net_build_graph)
+   \param fx,fy,fz from point x coordinate (z ignored)
+   \param tx,ty,tz to point x coordinate (z ignored)
+   \param fmax maximum distance to the network from 'from'
+   \param tmax maximum distance to the network from 'to'
+   \param tucfield field with unique categories used in the turntable 
+   \param costs pointer where to store costs on the network (or NULL)
+   \param Points pointer to the structure where to store vertices of shortest path (or NULL)
+   \param List pointer to the structure where list of lines on the network is stored (or NULL)
+   \param NodesList pointer to the structure where list of nodes on the network is stored (or NULL)
+   \param FPoints pointer to the structure where to store line from 'from' to first network node (or NULL)
+   \param TPoints pointer to the structure where to store line from last network node to 'to' (or NULL)
+   \param fdist distance from 'from' to the net (or NULL)
+   \param tdist distance from 'to' to the net (or NULL)
+
+   \return 1 OK, 0 not reachable
+ */
+int
+Vect_net_ttb_shortest_path_coor(struct Map_info *Map,
+				double fx, double fy, double fz, double tx,
+				double ty, double tz, double fmax,
+				double tmax, int tucfield,
+				double *costs, struct line_pnts *Points,
+				struct ilist *List, struct ilist *NodesList,
+				struct line_pnts *FPoints,
+				struct line_pnts *TPoints, double *fdist,
+				double *tdist)
+{
+    return find_shortest_path_coor(Map, fx, fy, fz, tx, ty, tz, fmax, tmax,
+				   1, tucfield, costs, Points, List,
+				   NodesList, FPoints, TPoints, fdist, tdist);
+}
diff --git a/lib/vector/Vlib/net_build.c b/lib/vector/Vlib/net_build.c
new file mode 100644
index 0000000..debc487
--- /dev/null
+++ b/lib/vector/Vlib/net_build.c
@@ -0,0 +1,1076 @@
+/*!
+ * \file lib/vector/Vlib/net_build.c
+ *
+ * \brief Vector library - releated fns for vector network building
+ *
+ * Higher level functions for reading/writing/manipulating vectors.
+ *
+ * (C) 2001-2009, 2014 by the GRASS Development Team
+ *
+ * This program is free software under the GNU General Public License
+ * (>=v2).  Read the file COPYING that comes with GRASS for details.
+ *
+ * \author Radim Blazek
+ * \author Stepan Turek stepan.turek seznam.cz (turns support)
+ */
+
+#include <grass/dbmi.h>
+#include <grass/vector.h>
+#include <grass/glocale.h>
+
+/*!
+   \brief Build network graph with turntable.
+
+   Internal format for edge costs is integer, costs are multiplied
+   before conversion to int by 1000 and for lengths LL without geo flag by 1000000.
+   The same multiplication factor is used for nodes.
+   Costs in database column may be 'integer' or 'double precision' number >= 0
+   or -1 for infinity i.e. arc or node is closed and cannot be traversed
+   If record in table is not found for arcs, costs for arc are set to 0.
+   If record in table is not found for node, costs for node are set to 0.
+
+   \param Map vector map
+   \param ltype line type for arcs
+   \param afield arc costs field (if 0, use length)
+   \param nfield node costs field (if 0, do not use node costs)
+   \param tfield field where turntable is attached 
+   \param tucfield field with unique categories used in the turntable 
+   \param afcol column with forward costs for arc
+   \param abcol column with backward costs for arc (if NULL, back costs = forward costs), 
+   \param ncol column with costs for nodes (if NULL, do not use node costs), 
+   \param geo use geodesic calculation for length (LL), 
+   \param algorithm not used (in future code for algorithm)
+
+   \return 0 on success, 1 on error
+ */
+
+int
+Vect_net_ttb_build_graph(struct Map_info *Map,
+			 int ltype,
+			 int afield,
+			 int nfield,
+			 int tfield,
+			 int tucfield,
+			 const char *afcol,
+			 const char *abcol,
+			 const char *ncol, int geo, int algorithm)
+{
+    /* TODO very long function, split into smaller ones */
+    int i, j, from, to, line, nlines, nnodes, ret, type, cat, skipped, cfound;
+    struct line_pnts *Points;
+    struct line_cats *Cats;
+    double dcost, bdcost, ll;
+    int cost, bcost;
+    dglGraph_s *gr;
+    dglInt32_t opaqueset[16] =
+	{ 360000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+    struct field_info *Fi;
+    dbDriver *driver = NULL;
+    dbDriver *ttbdriver = NULL;
+    dbHandle handle;
+    dbString stmt;
+    dbColumn *Column;
+    dbCatValArray fvarr, bvarr;
+    int fctype = 0, bctype = 0, nrec, nturns;
+
+    int ln_cat, nnode_lns, i_line, line_id, i_virt_edge;
+    struct line_cats *ln_Cats;
+    double x, y, z;
+    struct bound_box box;
+    struct boxlist *List;
+
+    dglInt32_t dgl_cost = cost;
+
+    /*TODO attributes of turntable shoud be stored in one place */
+    const char *tcols[] = { "cat", "ln_from", "ln_to", "cost", "isec", NULL
+    };
+    dbCatValArray tvarrs[5];
+    int tctype[5] = { 0 };
+    int tucfield_idx;
+
+    int t, f;
+    int node_pt_id, turn_cat, tucfound;
+    int isec;
+
+    /* TODO int costs -> double (waiting for dglib) */
+    G_debug(1, "Vect_net_ttb_build_graph(): "
+	    "ltype = %d, afield = %d, nfield = %d, tfield = %d, tucfield = %d ",
+	    ltype, afield, nfield, tfield, tucfield);
+    G_debug(1, "    afcol = %s, abcol = %s, ncol = %s", afcol, abcol, ncol);
+
+    G_message(_("Building graph..."));
+
+    Map->dgraph.line_type = ltype;
+
+    Points = Vect_new_line_struct();
+    Cats = Vect_new_cats_struct();
+
+    ll = 0;
+    if (G_projection() == 3)
+	ll = 1;			/* LL */
+
+    if (afcol == NULL && ll && !geo)
+	Map->dgraph.cost_multip = 1000000;
+    else
+	Map->dgraph.cost_multip = 1000;
+
+    nlines = Vect_get_num_lines(Map);
+    nnodes = Vect_get_num_nodes(Map);
+
+    gr = &(Map->dgraph.graph_s);
+
+    /* Allocate space for costs, later replace by functions reading costs from graph */
+    Map->dgraph.edge_fcosts =
+	(double *)G_malloc((nlines + 1) * sizeof(double));
+    Map->dgraph.edge_bcosts =
+	(double *)G_malloc((nlines + 1) * sizeof(double));
+    Map->dgraph.node_costs =
+	(double *)G_malloc((nnodes + 1) * sizeof(double));
+
+    /* Set to -1 initially */
+    for (i = 1; i <= nlines; i++) {
+	Map->dgraph.edge_fcosts[i] = -1;	/* forward */
+	Map->dgraph.edge_bcosts[i] = -1;	/* backward */
+    }
+    for (i = 1; i <= nnodes; i++) {
+	Map->dgraph.node_costs[i] = 0;
+    }
+
+    dglInitialize(gr, (dglByte_t) 1, sizeof(dglInt32_t), (dglInt32_t) 0,
+		  opaqueset);
+
+    if (gr == NULL)
+	G_fatal_error(_("Unable to build network graph"));
+
+    db_init_handle(&handle);
+    db_init_string(&stmt);
+
+    if (abcol != NULL && afcol == NULL)
+	G_fatal_error(_("Forward costs column not specified"));
+
+    /* --- Add arcs --- */
+    /* Open db connection */
+
+    /* Get field info */
+    if (tfield < 1)
+	G_fatal_error(_("Turntable field < 1"));
+    Fi = Vect_get_field(Map, tfield);
+    if (Fi == NULL)
+	G_fatal_error(_("Database connection not defined for layer %d"),
+		      tfield);
+
+    /* Open database */
+    ttbdriver = db_start_driver_open_database(Fi->driver, Fi->database);
+    if (ttbdriver == NULL)
+	G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
+		      Fi->database, Fi->driver);
+
+    i = 0;
+    while (tcols[i]) {
+	/* Load costs to array */
+	if (db_get_column(ttbdriver, Fi->table, tcols[i], &Column) != DB_OK)
+	    G_fatal_error(_("Turntable column <%s> not found in table <%s>"),
+			  tcols[i], Fi->table);
+
+	tctype[i] = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
+
+	if ((tctype[i] == DB_C_TYPE_INT || tctype[i] == DB_C_TYPE_DOUBLE) &&
+	    !strcmp(tcols[i], "cost")) ;
+	else if (tctype[i] == DB_C_TYPE_INT) ;
+	else
+	    G_fatal_error(_
+			  ("Data type of column <%s> not supported (must be numeric)"),
+			  tcols[i]);
+
+	db_CatValArray_init(&tvarrs[i]);
+	nturns =
+	    db_select_CatValArray(ttbdriver, Fi->table, Fi->key, tcols[i],
+				  NULL, &tvarrs[i]);
+	++i;
+    }
+
+    G_debug(1, "forward costs: nrec = %d", nturns);
+
+    /* Set node attributes */
+    G_message("Register nodes");
+    if (ncol != NULL) {
+
+	G_debug(2, "Set nodes' costs");
+	if (nfield < 1)
+	    G_fatal_error("Node field < 1");
+
+	G_message(_("Setting node costs..."));
+
+	Fi = Vect_get_field(Map, nfield);
+	if (Fi == NULL)
+	    G_fatal_error(_("Database connection not defined for layer %d"),
+			  nfield);
+
+	driver = db_start_driver_open_database(Fi->driver, Fi->database);
+	if (driver == NULL)
+	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
+			  Fi->database, Fi->driver);
+
+	/* Load costs to array */
+	if (db_get_column(driver, Fi->table, ncol, &Column) != DB_OK)
+	    G_fatal_error(_("Column <%s> not found in table <%s>"),
+			  ncol, Fi->table);
+
+	fctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
+
+	if (fctype != DB_C_TYPE_INT && fctype != DB_C_TYPE_DOUBLE)
+	    G_fatal_error(_
+			  ("Data type of column <%s> not supported (must be numeric)"),
+			  ncol);
+
+	db_CatValArray_init(&fvarr);
+
+	nrec =
+	    db_select_CatValArray(driver, Fi->table, Fi->key, ncol, NULL,
+				  &fvarr);
+	G_debug(1, "node costs: nrec = %d", nrec);
+
+	tucfield_idx = Vect_cidx_get_field_index(Map, tucfield);
+    }
+
+    List = Vect_new_boxlist(0);
+    ln_Cats = Vect_new_cats_struct();
+
+    G_message("Building turns graph...");
+
+    i_virt_edge = -1;
+    for (i = 1; i <= nnodes; i++) {
+	/* TODO: what happens if we set attributes of non existing node (skipped lines,
+	 *       nodes without lines) */
+
+	/* select points at node */
+	Vect_get_node_coor(Map, i, &x, &y, &z);
+	box.E = box.W = x;
+	box.N = box.S = y;
+	box.T = box.B = z;
+	Vect_select_lines_by_box(Map, &box, GV_POINT, List);
+
+	G_debug(2, "  node = %d nlines = %d", i, List->n_values);
+	cfound = 0;
+	dcost = 0;
+	tucfound = 0;
+
+	for (j = 0; j < List->n_values; j++) {
+	    line = List->id[j];
+	    G_debug(2, "  line (%d) = %d", j, line);
+	    type = Vect_read_line(Map, NULL, Cats, line);
+	    if (!(type & GV_POINT))
+		continue;
+	    /* get node column costs */
+	    if (ncol != NULL && !cfound && Vect_cat_get(Cats, nfield, &cat)) {	/* point with category of field found */
+		/* Set costs */
+		if (fctype == DB_C_TYPE_INT) {
+		    ret = db_CatValArray_get_value_int(&fvarr, cat, &cost);
+		    dcost = cost;
+		}
+		else {		/* DB_C_TYPE_DOUBLE */
+		    ret =
+			db_CatValArray_get_value_double(&fvarr, cat, &dcost);
+		}
+		if (ret != DB_OK) {
+		    G_warning(_
+			      ("Database record for node %d (cat = %d) not found "
+			       "(cost set to 0)"), i, cat);
+		}
+		cfound = 1;
+		Map->dgraph.node_costs[i] = dcost;
+	    }
+
+	    /* add virtual nodes and lines, which represents the intersections 
+	       there are added two nodes for every intersection, which are linked 
+	       with the nodes (edges in primal graph). 
+	       the positive node - when we are going from the intersection 
+	       the negative node - when we are going to the intersection
+
+	       TODO There are more possible approaches in virtual nodes management.
+	       We can also add and remove them dynamically as they are needed 
+	       for analysis when Vect_net_ttb_shortest_path is called 
+	       (problem of flattening graph).
+	       Currently this static solution was chosen, because it cost 
+	       time only when graph is build. However it costs more memory space.
+	       For Dijkstra algorithm this expansion should not be serious problem 
+	       because we can only get into positive node or go from the negative
+	       node. 
+
+	     */
+
+	    ret = Vect_cat_get(Cats, tucfield, &cat);
+	    if (!tucfound && ret) {	/* point with category of field found */
+		/* find lines which belongs to the intersection */
+		nnode_lns = Vect_get_node_n_lines(Map, i);
+
+		for (i_line = 0; i_line < nnode_lns; i_line++) {
+
+		    line_id = Vect_get_node_line(Map, i, i_line);
+		    Vect_read_line(Map, NULL, ln_Cats, abs(line_id));
+		    Vect_cat_get(ln_Cats, tucfield, &ln_cat);
+
+		    if (line_id < 0)
+			ln_cat *= -1;
+		    f = cat * 2;
+
+		    if (ln_cat < 0)
+			t = ln_cat * -2 + 1;
+		    else
+			t = ln_cat * 2;
+
+		    G_debug(5,
+			    "Add arc %d for virtual node from %d to %d cost = %d",
+			    i_virt_edge, f, t, 0);
+
+		    /* positive, start virtual node */
+		    ret = dglAddEdge(gr, (dglInt32_t) f, (dglInt32_t) t,
+				     (dglInt32_t) 0,
+				     (dglInt32_t) (i_virt_edge));
+		    if (ret < 0)
+			G_fatal_error(_
+				      ("Cannot add network arc for virtual node connection."));
+
+		    t = cat * 2 + 1;
+		    i_virt_edge--;
+
+		    if (-ln_cat < 0)
+			f = ln_cat * 2 + 1;
+		    else
+			f = ln_cat * -2;
+
+		    G_debug(5,
+			    "Add arc %d for virtual node from %d to %d cost = %d",
+			    i_virt_edge, f, t, 0);
+
+		    /* negative, destination virtual node */
+		    ret = dglAddEdge(gr, (dglInt32_t) f, (dglInt32_t) t,
+				     (dglInt32_t) 0,
+				     (dglInt32_t) (i_virt_edge));
+		    if (ret < 0)
+			G_fatal_error(_
+				      ("Cannot add network arc for virtual node connection."));
+
+		    i_virt_edge--;
+		}
+		tucfound++;
+	    }
+	    else if (ret)
+		tucfound++;
+	}
+
+	if (tucfound > 1)
+	    G_warning(_
+		      ("There exists more than one point of node <%d> with unique category field  <%d>.\n"
+		       "The unique categories layer is not valid therefore you will probably get incorrect results."),
+		      tucfield, i);
+
+	if (ncol != NULL && !cfound)
+	    G_debug(2,
+		    "Category of field %d  is not attached to any points in node %d"
+		    "(costs set to 0)", nfield, i);
+    }
+
+    Vect_destroy_cats_struct(ln_Cats);
+
+    for (i = 1; i <= nturns; i++) {
+	/* select points at node */
+
+	/* TODO use cursors */
+	db_CatValArray_get_value_int(&tvarrs[0], i, &turn_cat);
+
+	db_CatValArray_get_value_int(&tvarrs[1], i, &from);
+	db_CatValArray_get_value_int(&tvarrs[2], i, &to);
+
+	db_CatValArray_get_value_int(&tvarrs[4], i, &isec);
+	dcost = 0.0;
+	if (ncol != NULL) {
+	    /* TODO optimization do not do it for every turn in intersection again  */
+	    if (Vect_cidx_find_next
+		(Map, tucfield_idx, isec, GV_POINT, 0, &type,
+		 &node_pt_id) == -1) {
+		G_warning(_
+			  ("Unable to find point representing intersection <%d> in unique categories field <%d>.\n"
+			   "Cost for the intersection was set to 0.\n"
+			   "The unique categories layer is not valid therefore you will probably get incorrect results."),
+			  isec, tucfield);
+	    }
+	    else {
+		Vect_read_line(Map, Points, Cats, node_pt_id);
+
+		node_pt_id =
+		    Vect_find_node(Map, *Points->x, *Points->y, *Points->z,
+				   0.0, WITHOUT_Z);
+
+		if (node_pt_id == 0) {
+		    G_warning(_
+			      ("Unable to find node for point representing intersection <%d> in unique categories field <%d>.\n"
+			       "Cost for the intersection was set to 0.\n"
+			       "The unique categories layer is not valid therefore you will probably get incorrect results."),
+			      isec, tucfield);
+		}
+		else {
+		    G_debug(2, "  node = %d", node_pt_id);
+		    dcost = Map->dgraph.node_costs[node_pt_id];
+		}
+	    }
+	}
+
+	G_debug(2, "Set node's cost to %f", dcost);
+
+	if (dcost >= 0) {
+	    /* Set costs from turntable */
+	    if (tctype[3] == DB_C_TYPE_INT) {
+		ret = db_CatValArray_get_value_int(&tvarrs[3], i, &cost);
+		dcost = cost;
+	    }
+	    else		/* DB_C_TYPE_DOUBLE */
+		ret = db_CatValArray_get_value_double(&tvarrs[3], i, &dcost);
+
+	    if (ret != DB_OK) {
+		G_warning(_
+			  ("Database record for turn with cat = %d in not found. "
+			   "(The turn was skipped."), i);
+		continue;
+	    }
+
+	    if (dcost >= 0) {
+
+		if (ncol != NULL)
+		    cost =
+			(Map->dgraph.node_costs[node_pt_id] +
+			 dcost) * (dglInt32_t) Map->dgraph.cost_multip;
+		else
+		    cost = dcost * (dglInt32_t) Map->dgraph.cost_multip;
+
+		/* dglib does not like negative id's of nodes  */
+		if (from < 0)
+		    f = from * -2 + 1;
+		else
+		    f = from * 2;
+
+		if (to < 0)
+		    t = to * -2 + 1;
+		else
+		    t = to * 2;
+
+		G_debug(5, "Add arc/turn %d for turn from %d to %d cost = %d",
+			turn_cat, f, t, cost);
+
+		ret = dglAddEdge(gr, (dglInt32_t) f, (dglInt32_t) t,
+				 (dglInt32_t) cost, (dglInt32_t) (turn_cat));
+
+		if (ret < 0)
+		    G_fatal_error(_
+				  ("Cannot add network arc representing turn."));
+	    }
+	}
+    }
+
+    Vect_destroy_boxlist(List);
+
+    i = 0;
+    while (tcols[i]) {
+	db_CatValArray_free(&tvarrs[i]);
+	++i;
+    }
+
+    if (ncol != NULL) {
+	db_close_database_shutdown_driver(driver);
+	db_CatValArray_free(&fvarr);
+    }
+
+    /* Open db connection */
+    if (afcol != NULL) {
+	/* Get field info */
+	if (afield < 1)
+	    G_fatal_error(_("Arc field < 1"));
+	Fi = Vect_get_field(Map, afield);
+	if (Fi == NULL)
+	    G_fatal_error(_("Database connection not defined for layer %d"),
+			  afield);
+
+	/* Open database */
+	driver = db_start_driver_open_database(Fi->driver, Fi->database);
+	if (driver == NULL)
+	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
+			  Fi->database, Fi->driver);
+
+	/* Load costs to array */
+	if (db_get_column(driver, Fi->table, afcol, &Column) != DB_OK)
+	    G_fatal_error(_("Column <%s> not found in table <%s>"),
+			  afcol, Fi->table);
+
+	fctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
+
+	if (fctype != DB_C_TYPE_INT && fctype != DB_C_TYPE_DOUBLE)
+	    G_fatal_error(_
+			  ("Data type of column <%s> not supported (must be numeric)"),
+			  afcol);
+
+	db_CatValArray_init(&fvarr);
+	nrec =
+	    db_select_CatValArray(driver, Fi->table, Fi->key, afcol, NULL,
+				  &fvarr);
+	G_debug(1, "forward costs: nrec = %d", nrec);
+
+	if (abcol != NULL) {
+	    if (db_get_column(driver, Fi->table, abcol, &Column) != DB_OK)
+		G_fatal_error(_("Column <%s> not found in table <%s>"),
+			      abcol, Fi->table);
+
+	    bctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
+
+	    if (bctype != DB_C_TYPE_INT && bctype != DB_C_TYPE_DOUBLE)
+		G_fatal_error(_
+			      ("Data type of column <%s> not supported (must be numeric)"),
+			      abcol);
+
+	    db_CatValArray_init(&bvarr);
+	    nrec =
+		db_select_CatValArray(driver, Fi->table, Fi->key, abcol, NULL,
+				      &bvarr);
+	    G_debug(1, "backward costs: nrec = %d", nrec);
+	}
+    }
+
+    skipped = 0;
+
+    G_message(_("Registering arcs..."));
+
+    for (i = 1; i <= nlines; i++) {
+	G_percent(i, nlines, 1);	/* must be before any continue */
+
+	type = Vect_read_line(Map, Points, Cats, i);
+	if (!(type & ltype & (GV_LINE | GV_BOUNDARY)))
+	    continue;
+
+	Vect_get_line_nodes(Map, i, &from, &to);
+
+	dcost = bdcost = 0;
+
+	cfound = Vect_cat_get(Cats, tucfield, &cat);
+	if (!cfound)
+	    continue;
+
+	if (cfound > 1)
+	    G_warning(_
+		      ("Line with id <%d> has more unique categories defined in field <%d>.\n"
+		       "The unique categories layer is not valid therefore you will probably get incorrect results."),
+		      i, tucfield);
+
+	if (afcol != NULL) {
+	    if (!(Vect_cat_get(Cats, afield, &cat))) {
+		G_debug(2,
+			"Category of field %d not attached to the line %d -> cost was set to 0",
+			afield, i);
+		skipped += 2;	/* Both directions */
+	    }
+	    else {
+		if (fctype == DB_C_TYPE_INT) {
+		    ret = db_CatValArray_get_value_int(&fvarr, cat, &cost);
+		    dcost = cost;
+		}
+		else {		/* DB_C_TYPE_DOUBLE */
+		    ret =
+			db_CatValArray_get_value_double(&fvarr, cat, &dcost);
+		}
+		if (ret != DB_OK) {
+		    G_warning(_("Database record for line %d (cat = %d, "
+				"forward/both direction(s)) not found "
+				"(cost was set to 0)"), i, cat);
+		}
+
+		if (abcol != NULL) {
+		    if (bctype == DB_C_TYPE_INT) {
+			ret =
+			    db_CatValArray_get_value_int(&bvarr, cat, &bcost);
+			bdcost = bcost;
+		    }
+		    else {	/* DB_C_TYPE_DOUBLE */
+			ret =
+			    db_CatValArray_get_value_double(&bvarr, cat,
+							    &bdcost);
+		    }
+		    if (ret != DB_OK) {
+			G_warning(_("Database record for line %d (cat = %d, "
+				    "backword direction) not found"
+				    "(cost was set to 0)"), i, cat);
+		    }
+		}
+		else
+		    bdcost = dcost;
+
+		Vect_cat_get(Cats, tucfield, &cat);
+	    }
+	}
+	else {
+	    if (ll) {
+		if (geo)
+		    dcost = Vect_line_geodesic_length(Points);
+		else
+		    dcost = Vect_line_length(Points);
+	    }
+	    else
+		dcost = Vect_line_length(Points);
+
+	    bdcost = dcost;
+	}
+
+	cost = (dglInt32_t) Map->dgraph.cost_multip * dcost;
+	dgl_cost = cost;
+
+	cat = cat * 2;
+
+	G_debug(5, "Setinng node %d cost: %d", cat, cost);
+	dglNodeSet_Attr(gr, dglGetNode(gr, (dglInt32_t) cat), &dgl_cost);
+
+	Map->dgraph.edge_fcosts[i] = dcost;
+
+	cost = (dglInt32_t) Map->dgraph.cost_multip * bdcost;
+	dgl_cost = cost;
+
+	++cat;
+
+	G_debug(5, "Setinng node %d cost: %d", cat, cost);
+	dglNodeSet_Attr(gr, dglGetNode(gr, (dglInt32_t) cat), &dgl_cost);
+
+	Map->dgraph.edge_bcosts[i] = bdcost;
+    }
+
+    if (afcol != NULL && skipped > 0)
+	G_debug(2, "%d lines missing category of field %d skipped", skipped,
+		afield);
+
+    if (afcol != NULL) {
+	db_close_database_shutdown_driver(driver);
+	db_CatValArray_free(&fvarr);
+
+	if (abcol != NULL) {
+	    db_CatValArray_free(&bvarr);
+	}
+    }
+    db_close_database_shutdown_driver(ttbdriver);
+
+    Vect_destroy_line_struct(Points);
+    Vect_destroy_cats_struct(Cats);
+
+    G_message(_("Flattening the graph..."));
+    ret = dglFlatten(gr);
+    if (ret < 0)
+	G_fatal_error(_("GngFlatten error"));
+
+    /* init SP cache */
+    /* disable to debug dglib cache */
+    dglInitializeSPCache(gr, &(Map->dgraph.spCache));
+
+    G_message(_("Graph was built"));
+    return 0;
+}
+
+/*!
+   \brief Build network graph.
+
+   Internal format for edge costs is integer, costs are multiplied
+   before conversion to int by 1000 and for lengths LL without geo flag by 1000000.
+   The same multiplication factor is used for nodes.
+   Costs in database column may be 'integer' or 'double precision' number >= 0
+   or -1 for infinity i.e. arc or node is closed and cannot be traversed
+   If record in table is not found for arcs, arc is skip.
+   If record in table is not found for node, costs for node are set to 0.
+
+   \param Map vector map
+   \param ltype line type for arcs
+   \param afield arc costs field (if 0, use length)
+   \param nfield node costs field (if 0, do not use node costs)
+   \param afcol column with forward costs for arc
+   \param abcol column with backward costs for arc (if NULL, back costs = forward costs), 
+   \param ncol column with costs for nodes (if NULL, do not use node costs), 
+   \param geo use geodesic calculation for length (LL), 
+   \param version graph version to create (1, 2, 3)
+
+   \return 0 on success, 1 on error
+ */
+int
+Vect_net_build_graph(struct Map_info *Map,
+		     int ltype,
+		     int afield,
+		     int nfield,
+		     const char *afcol,
+		     const char *abcol,
+		     const char *ncol, int geo, int version)
+{
+    /* TODO long function, split into smaller ones */
+    int i, j, from, to, line, nlines, nnodes, ret, type, cat, skipped, cfound;
+    int dofw, dobw;
+    struct line_pnts *Points;
+    struct line_cats *Cats;
+    double dcost, bdcost, ll;
+    int cost, bcost;
+    dglGraph_s *gr;
+    dglInt32_t dgl_cost;
+    dglInt32_t opaqueset[16] =
+	{ 360000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+    struct field_info *Fi;
+    dbDriver *driver = NULL;
+    dbHandle handle;
+    dbString stmt;
+    dbColumn *Column;
+    dbCatValArray fvarr, bvarr;
+    int fctype = 0, bctype = 0, nrec;
+
+    /* TODO int costs -> double (waiting for dglib) */
+    G_debug(1, "Vect_net_build_graph(): ltype = %d, afield = %d, nfield = %d",
+	    ltype, afield, nfield);
+    G_debug(1, "    afcol = %s, abcol = %s, ncol = %s", afcol, abcol, ncol);
+
+    G_message(_("Building graph..."));
+
+    Map->dgraph.line_type = ltype;
+
+    Points = Vect_new_line_struct();
+    Cats = Vect_new_cats_struct();
+
+    ll = 0;
+    if (G_projection() == 3)
+	ll = 1;			/* LL */
+
+    if (afcol == NULL && ll && !geo)
+	Map->dgraph.cost_multip = 1000000;
+    else
+	Map->dgraph.cost_multip = 1000;
+
+    nlines = Vect_get_num_lines(Map);
+    nnodes = Vect_get_num_nodes(Map);
+
+    gr = &(Map->dgraph.graph_s);
+
+    /* Allocate space for costs, later replace by functions reading costs from graph */
+    Map->dgraph.edge_fcosts =
+	(double *)G_malloc((nlines + 1) * sizeof(double));
+    Map->dgraph.edge_bcosts =
+	(double *)G_malloc((nlines + 1) * sizeof(double));
+    Map->dgraph.node_costs =
+	(double *)G_malloc((nnodes + 1) * sizeof(double));
+    /* Set to -1 initially */
+    for (i = 1; i <= nlines; i++) {
+	Map->dgraph.edge_fcosts[i] = -1;	/* forward */
+	Map->dgraph.edge_bcosts[i] = -1;	/* backward */
+    }
+    for (i = 1; i <= nnodes; i++) {
+	Map->dgraph.node_costs[i] = 0;
+    }
+
+    if (version < 1 || version > 3)
+	version = 1;
+
+    if (ncol != NULL)
+	dglInitialize(gr, (dglByte_t) version, sizeof(dglInt32_t), (dglInt32_t) 0,
+		      opaqueset);
+    else
+	dglInitialize(gr, (dglByte_t) version, (dglInt32_t) 0, (dglInt32_t) 0,
+		      opaqueset);
+
+    if (gr == NULL)
+	G_fatal_error(_("Unable to build network graph"));
+
+    db_init_handle(&handle);
+    db_init_string(&stmt);
+
+    if (abcol != NULL && afcol == NULL)
+	G_fatal_error(_("Forward costs column not specified"));
+
+    /* --- Add arcs --- */
+    /* Open db connection */
+    if (afcol != NULL) {
+	/* Get field info */
+	if (afield < 1)
+	    G_fatal_error(_("Arc field < 1"));
+	Fi = Vect_get_field(Map, afield);
+	if (Fi == NULL)
+	    G_fatal_error(_("Database connection not defined for layer %d"),
+			  afield);
+
+	/* Open database */
+	driver = db_start_driver_open_database(Fi->driver, Fi->database);
+	if (driver == NULL)
+	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
+			  Fi->database, Fi->driver);
+
+	/* Load costs to array */
+	if (db_get_column(driver, Fi->table, afcol, &Column) != DB_OK)
+	    G_fatal_error(_("Column <%s> not found in table <%s>"),
+			  afcol, Fi->table);
+
+	fctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
+
+	if (fctype != DB_C_TYPE_INT && fctype != DB_C_TYPE_DOUBLE)
+	    G_fatal_error(_
+			  ("Data type of column <%s> not supported (must be numeric)"),
+			  afcol);
+
+	db_CatValArray_init(&fvarr);
+	nrec =
+	    db_select_CatValArray(driver, Fi->table, Fi->key, afcol, NULL,
+				  &fvarr);
+	G_debug(1, "forward costs: nrec = %d", nrec);
+
+	if (abcol != NULL) {
+	    if (db_get_column(driver, Fi->table, abcol, &Column) != DB_OK)
+		G_fatal_error(_("Column <%s> not found in table <%s>"),
+			      abcol, Fi->table);
+
+	    bctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
+
+	    if (bctype != DB_C_TYPE_INT && bctype != DB_C_TYPE_DOUBLE)
+		G_fatal_error(_
+			      ("Data type of column <%s> not supported (must be numeric)"),
+			      abcol);
+
+	    db_CatValArray_init(&bvarr);
+	    nrec =
+		db_select_CatValArray(driver, Fi->table, Fi->key, abcol, NULL,
+				      &bvarr);
+	    G_debug(1, "backward costs: nrec = %d", nrec);
+	}
+    }
+
+    skipped = 0;
+
+    G_message(_("Registering arcs..."));
+
+    for (i = 1; i <= nlines; i++) {
+	G_percent(i, nlines, 1);	/* must be before any continue */
+	dofw = dobw = 1;
+	type = Vect_read_line(Map, Points, Cats, i);
+	if (!(type & ltype & (GV_LINE | GV_BOUNDARY)))
+	    continue;
+
+	Vect_get_line_nodes(Map, i, &from, &to);
+
+	if (afcol != NULL) {
+	    if (!(Vect_cat_get(Cats, afield, &cat))) {
+		G_debug(2,
+			"Category of field %d not attached to the line %d -> line skipped",
+			afield, i);
+		skipped += 2;	/* Both directions */
+		continue;
+	    }
+	    else {
+		if (fctype == DB_C_TYPE_INT) {
+		    ret = db_CatValArray_get_value_int(&fvarr, cat, &cost);
+		    dcost = cost;
+		}
+		else {		/* DB_C_TYPE_DOUBLE */
+		    ret =
+			db_CatValArray_get_value_double(&fvarr, cat, &dcost);
+		}
+		if (ret != DB_OK) {
+		    G_warning(_("Database record for line %d (cat = %d, "
+				"forward/both direction(s)) not found "
+				"(forward/both direction(s) of line skipped)"),
+			      i, cat);
+		    dofw = 0;
+		}
+
+		if (abcol != NULL) {
+		    if (bctype == DB_C_TYPE_INT) {
+			ret =
+			    db_CatValArray_get_value_int(&bvarr, cat, &bcost);
+			bdcost = bcost;
+		    }
+		    else {	/* DB_C_TYPE_DOUBLE */
+			ret =
+			    db_CatValArray_get_value_double(&bvarr, cat,
+							    &bdcost);
+		    }
+		    if (ret != DB_OK) {
+			G_warning(_("Database record for line %d (cat = %d, "
+				    "backword direction) not found"
+				    "(direction of line skipped)"), i, cat);
+			dobw = 0;
+		    }
+		}
+		else {
+		    if (dofw)
+			bdcost = dcost;
+		    else
+			dobw = 0;
+		}
+	    }
+	}
+	else {
+	    if (ll) {
+		if (geo)
+		    dcost = Vect_line_geodesic_length(Points);
+		else
+		    dcost = Vect_line_length(Points);
+	    }
+	    else
+		dcost = Vect_line_length(Points);
+
+	    bdcost = dcost;
+	}
+	if (dofw && dcost != -1) {
+	    cost = (dglInt32_t) Map->dgraph.cost_multip * dcost;
+	    G_debug(5, "Add arc %d from %d to %d cost = %d", i, from, to,
+		    cost);
+	    ret =
+		dglAddEdge(gr, (dglInt32_t) from, (dglInt32_t) to,
+			   (dglInt32_t) cost, (dglInt32_t) i);
+	    Map->dgraph.edge_fcosts[i] = dcost;
+	    if (ret < 0)
+		G_fatal_error("Cannot add network arc");
+	}
+
+	G_debug(5, "bdcost = %f edge_bcosts = %f", bdcost,
+		Map->dgraph.edge_bcosts[i]);
+	if (dobw && bdcost != -1) {
+	    bcost = (dglInt32_t) Map->dgraph.cost_multip * bdcost;
+	    G_debug(5, "Add arc %d from %d to %d bcost = %d", -i, to, from,
+		    bcost);
+	    ret =
+		dglAddEdge(gr, (dglInt32_t) to, (dglInt32_t) from,
+			   (dglInt32_t) bcost, (dglInt32_t) - i);
+	    Map->dgraph.edge_bcosts[i] = bdcost;
+	    if (ret < 0)
+		G_fatal_error(_("Cannot add network arc"));
+	}
+    }
+
+    if (afcol != NULL && skipped > 0)
+	G_debug(2, "%d lines missing category of field %d skipped", skipped,
+		afield);
+
+    if (afcol != NULL) {
+	db_close_database_shutdown_driver(driver);
+	db_CatValArray_free(&fvarr);
+
+	if (abcol != NULL) {
+	    db_CatValArray_free(&bvarr);
+	}
+    }
+
+    /* Set node attributes */
+    G_debug(2, "Register nodes");
+    if (ncol != NULL) {
+	double x, y, z;
+	struct bound_box box;
+	struct boxlist *List;
+
+	List = Vect_new_boxlist(0);
+
+	G_debug(2, "Set nodes' costs");
+	if (nfield < 1)
+	    G_fatal_error("Node field < 1");
+
+	G_message(_("Setting node costs..."));
+
+	Fi = Vect_get_field(Map, nfield);
+	if (Fi == NULL)
+	    G_fatal_error(_("Database connection not defined for layer %d"),
+			  nfield);
+
+	driver = db_start_driver_open_database(Fi->driver, Fi->database);
+	if (driver == NULL)
+	    G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
+			  Fi->database, Fi->driver);
+
+	/* Load costs to array */
+	if (db_get_column(driver, Fi->table, ncol, &Column) != DB_OK)
+	    G_fatal_error(_("Column <%s> not found in table <%s>"),
+			  ncol, Fi->table);
+
+	fctype = db_sqltype_to_Ctype(db_get_column_sqltype(Column));
+
+	if (fctype != DB_C_TYPE_INT && fctype != DB_C_TYPE_DOUBLE)
+	    G_fatal_error(_
+			  ("Data type of column <%s> not supported (must be numeric)"),
+			  ncol);
+
+	db_CatValArray_init(&fvarr);
+	nrec =
+	    db_select_CatValArray(driver, Fi->table, Fi->key, ncol, NULL,
+				  &fvarr);
+	G_debug(1, "node costs: nrec = %d", nrec);
+
+	for (i = 1; i <= nnodes; i++) {
+	    /* TODO: what happens if we set attributes of not existing node (skipped lines,
+	     *       nodes without lines) */
+
+	    /* select points at node */
+	    Vect_get_node_coor(Map, i, &x, &y, &z);
+	    box.E = box.W = x;
+	    box.N = box.S = y;
+	    box.T = box.B = z;
+	    Vect_select_lines_by_box(Map, &box, GV_POINT, List);
+
+	    G_debug(2, "  node = %d nlines = %d", i, List->n_values);
+	    cfound = 0;
+	    dcost = 0;
+
+	    for (j = 0; j < List->n_values; j++) {
+		line = List->id[j];
+		G_debug(2, "  line (%d) = %d", j, line);
+		type = Vect_read_line(Map, NULL, Cats, line);
+		if (!(type & GV_POINT))
+		    continue;
+		if (Vect_cat_get(Cats, nfield, &cat)) {	/* point with category of field found */
+		    /* Set costs */
+		    if (fctype == DB_C_TYPE_INT) {
+			ret =
+			    db_CatValArray_get_value_int(&fvarr, cat, &cost);
+			dcost = cost;
+		    }
+		    else {	/* DB_C_TYPE_DOUBLE */
+			ret =
+			    db_CatValArray_get_value_double(&fvarr, cat,
+							    &dcost);
+		    }
+		    if (ret != DB_OK) {
+			G_warning(_
+				  ("Database record for node %d (cat = %d) not found "
+				   "(cost set to 0)"), i, cat);
+		    }
+		    cfound = 1;
+		    break;
+		}
+	    }
+	    if (!cfound) {
+		G_debug(2,
+			"Category of field %d not attached to any points in node %d"
+			"(costs set to 0)", nfield, i);
+	    }
+	    if (dcost == -1) {	/* closed */
+		cost = -1;
+	    }
+	    else {
+		cost = (dglInt32_t) Map->dgraph.cost_multip * dcost;
+	    }
+
+	    dgl_cost = cost;
+	    G_debug(3, "Set node's cost to %d", cost);
+
+	    dglNodeSet_Attr(gr, dglGetNode(gr, (dglInt32_t) i), &dgl_cost);
+
+	    Map->dgraph.node_costs[i] = dcost;
+	}
+	db_close_database_shutdown_driver(driver);
+	db_CatValArray_free(&fvarr);
+
+	Vect_destroy_boxlist(List);
+    }
+
+    G_message(_("Flattening the graph..."));
+    ret = dglFlatten(gr);
+    if (ret < 0)
+	G_fatal_error(_("GngFlatten error"));
+
+    /* init SP cache */
+    /* disable to debug dglib cache */
+    dglInitializeSPCache(gr, &(Map->dgraph.spCache));
+
+    G_message(_("Graph was built"));
+
+    return 0;
+}
diff --git a/lib/vector/Vlib/open.c b/lib/vector/Vlib/open.c
index 0e7e917..c98480c 100644
--- a/lib/vector/Vlib/open.c
+++ b/lib/vector/Vlib/open.c
@@ -6,7 +6,7 @@
   
   Higher level functions for reading/writing/manipulating vectors.
   
-  (C) 2001-2009, 2012-2013 by the GRASS Development Team
+  (C) 2001-2015 by the GRASS Development Team
   
   This program is free software under the GNU General Public License
   (>=v2).  Read the file COPYING that comes with GRASS for details.
@@ -154,7 +154,7 @@ int Vect_set_open_level(int level)
  \param update non-zero to open for update otherwise read-only mode
  \param head_only read only header info from 'head', 'dbln', 'topo',
  'cidx' is not opened. The header may be opened on level 2 only.
- \param is_tmp TRUE for temporary maps
+ \param is_tmp non-zero code for temporary maps
 
  \return level of openness (1, 2)
  \return -1 in error
@@ -163,7 +163,7 @@ int Vect__open_old(struct Map_info *Map, const char *name, const char *mapset,
                    const char *layer, int update, int head_only, int is_tmp)
 {
     char xname[GNAME_MAX], xmapset[GMAPSET_MAX];
-    char *path;
+    char path[GPATH_MAX];
     FILE *fp;
     int level, level_request;
     int format, ret;
@@ -174,8 +174,8 @@ int Vect__open_old(struct Map_info *Map, const char *name, const char *mapset,
             "head_only = %d, is_tmp = %d", name, mapset, layer ? layer : "NULL", update, head_only,
             is_tmp);
     
-    if (!is_tmp) {
-        is_tmp = getenv("GRASS_VECTOR_TEMPORARY") ? TRUE : FALSE;
+    if (update && !is_tmp) {
+        is_tmp = getenv("GRASS_VECTOR_TEMPORARY") ? TEMPORARY_MAP_ENV : TEMPORARY_MAP_DISABLED;
         G_debug(1, "Vect__open_old(): is_tmp = %d (check GRASS_VECTOR_TEMPORARY)", is_tmp);
     }
 
@@ -221,7 +221,7 @@ int Vect__open_old(struct Map_info *Map, const char *name, const char *mapset,
             Map->mapset = G_store("");
     }
 
-    path = Vect__get_path(Map);
+    Vect__get_path(path, Map);
 
     if (!ogr_mapset) {
         /* try to find vector map (not for OGR mapset) */
@@ -253,9 +253,20 @@ int Vect__open_old(struct Map_info *Map, const char *name, const char *mapset,
                     return -1;
                 }
             }
-            G_file_name(file_path, path, GV_HEAD_ELEMENT, Map->mapset);
-            if (access(file_path, F_OK) != 0)
-                return -1;
+
+            Vect__get_element_path(file_path, Map, GV_HEAD_ELEMENT);
+            if (access(file_path, F_OK) != 0) {
+                /* unable to find header file for temporary map, try
+                 * to switch to normal mode, useful when updating
+                 * existing map */
+                Map->temporary = FALSE;
+                Vect__get_path(path, Map); /* path must be updated for
+                                            * subsequent operations */
+                Vect__get_element_path(file_path, Map, GV_HEAD_ELEMENT);
+                if (access(file_path, F_OK) != 0)
+                    return -1;
+
+            }
         }
     }
     
@@ -521,26 +532,24 @@ int Vect__open_old(struct Map_info *Map, const char *name, const char *mapset,
     if (update && !head_only) {
         char file_path[GPATH_MAX];
 
-        G_file_name(file_path, path, GV_TOPO_ELEMENT, G_mapset());
+        Vect__get_element_path(file_path, Map, GV_TOPO_ELEMENT);
         if (access(file_path, F_OK) == 0)       /* topo file exists? */
             unlink(file_path);
 
-        G_file_name(file_path, path, GV_SIDX_ELEMENT, G_mapset());
+        Vect__get_element_path(file_path, Map, GV_SIDX_ELEMENT);
         if (access(file_path, F_OK) == 0)       /* sidx file exists? */
             unlink(file_path);
 
-        G_file_name(file_path, path, GV_CIDX_ELEMENT, G_mapset());
+        Vect__get_element_path(file_path, Map, GV_CIDX_ELEMENT);
         if (access(file_path, F_OK) == 0)       /* cidx file exists? */
             unlink(file_path);
 
         if (format == GV_FORMAT_OGR || format == GV_FORMAT_POSTGIS) {
-            G_file_name(file_path, path, GV_FIDX_ELEMENT, G_mapset());
+            Vect__get_element_path(file_path, Map, GV_FIDX_ELEMENT);
             if (access(file_path, F_OK) == 0)   /* fidx file exists? */
                 unlink(file_path);
         }
     }
-
-    G_free(path);
     
     return level;
 }
@@ -791,7 +800,8 @@ int open_new(struct Map_info *Map, const char *name, int with_z, int is_tmp)
     
     if (Map->format != GV_FORMAT_OGR_DIRECT &&
         getenv("GRASS_VECTOR_PGFILE") == NULL) { /* GRASS_VECTOR_PGFILE defined by v.out.postgis */
-        char *path;
+        char *env;
+        char path[GPATH_MAX];
         
         G_debug(2, " using non-direct format");
 
@@ -804,7 +814,9 @@ int open_new(struct Map_info *Map, const char *name, int with_z, int is_tmp)
                 return -1;
             }
         }
-        else {
+
+        env = getenv("GRASS_VECTOR_TEMPORARY");
+        if (!Map->temporary || (env && strcmp(env, "move") == 0)) {
             if (G_find_vector2(name, G_mapset()) != NULL) {
                 G_warning(_("Vector map <%s> already exists and will be overwritten"),
                           name);
@@ -828,9 +840,8 @@ int open_new(struct Map_info *Map, const char *name, int with_z, int is_tmp)
         Vect__write_head(Map);
 
         /* create history file */
-        path = Vect__get_path(Map);
+        Vect__get_path(path, Map);
         Map->hist_fp = G_fopen_new(path, GV_HIST_ELEMENT);
-        G_free(path);
         if (Map->hist_fp == NULL) {
             G_warning(_("Unable to open history file of vector map <%s>"),
                       name);
@@ -911,7 +922,7 @@ int Vect_open_new(struct Map_info *Map, const char *name, int with_z)
 {
     int is_tmp;
     
-    is_tmp = getenv("GRASS_VECTOR_TEMPORARY") ? TRUE : FALSE;
+    is_tmp = getenv("GRASS_VECTOR_TEMPORARY") ? TEMPORARY_MAP_ENV : TEMPORARY_MAP_DISABLED;
     G_debug(1, "Vect_open_new(): is_tmp = %d", is_tmp);
     
     return open_new(Map, name, with_z, is_tmp);
@@ -949,7 +960,7 @@ int Vect_open_tmp_new(struct Map_info *Map, const char *name, int with_z)
     }
     G_debug(1, "Vect_open_tmp_new(): name = '%s' with_z = %d", name, with_z);
 
-    return open_new(Map, tmp_name, with_z, TRUE); /* temporary map */
+    return open_new(Map, tmp_name, with_z, TEMPORARY_MAP); /* temporary map */
 }
 
 /*!
@@ -963,14 +974,12 @@ int Vect_open_tmp_new(struct Map_info *Map, const char *name, int with_z)
 */
 int Vect_coor_info(const struct Map_info *Map, struct Coor_info *Info)
 {
-    char *path, file_path[GPATH_MAX];
+    char file_path[GPATH_MAX];
     struct stat stat_buf;
     
     switch (Map->format) {
     case GV_FORMAT_NATIVE:
-        path = Vect__get_path(Map);
-        G_file_name(file_path, path, GV_COOR_ELEMENT, Map->mapset);
-        G_free(path);
+        Vect__get_element_path(file_path, Map, GV_COOR_ELEMENT);
         G_debug(1, "get coor info: %s", file_path);
         if (0 != stat(file_path, &stat_buf)) {
             G_warning(_("Unable to stat file <%s>"), file_path);
@@ -1087,7 +1096,7 @@ int Vect_maptype(const struct Map_info *Map)
 int Vect_open_topo(struct Map_info *Map, int head_only)
 {
     int err, ret;
-    char file_path[GPATH_MAX], *path;
+    char file_path[GPATH_MAX], path[GPATH_MAX];
     struct gvfile fp;
     struct Coor_info CInfo;
     struct Plus_head *Plus;
@@ -1097,17 +1106,14 @@ int Vect_open_topo(struct Map_info *Map, int head_only)
 
     Plus = &(Map->plus);
 
-    path = Vect__get_path(Map);
-    G_file_name(file_path, path, GV_TOPO_ELEMENT, Map->mapset);
-    
+    Vect__get_path(path, Map);
+    Vect__get_element_path(file_path, Map, GV_TOPO_ELEMENT);
     if (access(file_path, F_OK) != 0) {  /* does not exist */
-        G_free(path);
         return 1;
     }
 
     dig_file_init(&fp);
     fp.file = G_fopen_old(path, GV_TOPO_ELEMENT, Map->mapset);
-    G_free(path);
 
     if (fp.file == NULL) {      /* topo file is not available */
         G_debug(1, "Cannot open topo file for vector '%s@%s'.",
@@ -1186,16 +1192,14 @@ int Vect_open_sidx(struct Map_info *Map, int mode)
     dig_file_init(&(Plus->spidx_fp));
 
     if (mode < 2) {
-        char *path, file_path[GPATH_MAX];
+        char path[GPATH_MAX], file_path[GPATH_MAX];
         
-        path = Vect__get_path(Map);
-        G_file_name(file_path, path, GV_SIDX_ELEMENT, Map->mapset);
-
+        Vect__get_path(path, Map);
+        Vect__get_element_path(file_path, Map, GV_SIDX_ELEMENT);
         if (access(file_path, F_OK) != 0)       /* does not exist */
             return 1;
 
         Plus->spidx_fp.file = G_fopen_old(path, GV_SIDX_ELEMENT, Map->mapset);
-        G_free(path);
         
         if (Plus->spidx_fp.file == NULL) {  /* sidx file is not available */
             G_debug(1, "Cannot open spatial index file for vector '%s@%s'.",
@@ -1306,7 +1310,7 @@ int map_format(struct Map_info *Map)
              * in the native format and when closing the map
              * transferred to output OGR layer */
             format = GV_FORMAT_NATIVE;
-            Map->temporary = TRUE;
+            Map->temporary = TEMPORARY_MAP;
         }
         fp = G_fopen_old("", "OGR", G_mapset());
         if (!fp) {
@@ -1423,7 +1427,7 @@ int map_format(struct Map_info *Map)
                  * in the native format and when closing the map
                  * transferred to output PostGIS layer */
                 format = GV_FORMAT_NATIVE;
-                Map->temporary = TRUE;
+                Map->temporary = TEMPORARY_MAP;
             }
         }
     }
@@ -1435,26 +1439,23 @@ int map_format(struct Map_info *Map)
 /*!
   \brief Get map directory name (internal use only)
 
-  Allocate string should be freed by G_free().
-
+  \param file_path path string buffer
   \param Map pointer to Map_info struct
 
-  \return allocated buffer containing path
+  \return buffer containing path
 */
-char *Vect__get_path(const struct Map_info *Map)
+char *Vect__get_path(char *path, const struct Map_info *Map)
 {
-    char path[GPATH_MAX];
-    
     if (Map->temporary) {
         char path_tmp[GPATH_MAX];
-        G_temp_element(path_tmp);
+        G__temp_element(path_tmp, TRUE);
         sprintf(path, "%s/%s/%s", path_tmp, GV_DIRECTORY, Map->name);
     }
     else {
         sprintf(path, "%s/%s", GV_DIRECTORY, Map->name);
     }
     
-    return G_store(path);
+    return path;
 }
 
 /*!
@@ -1467,13 +1468,17 @@ char *Vect__get_path(const struct Map_info *Map)
 
   \return allocated buffer containing path
 */
-char *Vect__get_element_path(const struct Map_info *Map, const char *element)
+char *Vect__get_element_path(char *file_path,
+                             const struct Map_info *Map, const char *element)
 {
-    char file_path[GPATH_MAX], *path;
+    char path[GPATH_MAX];
     
-    path = Vect__get_path(Map);
-    G_file_name(file_path, path, element, Map->mapset);
-    G_free(path);
+    Vect__get_path(path, Map);
+    if (Map->temporary)
+        G_file_name_tmp(file_path, path, element, Map->mapset);
+    else
+        G_file_name(file_path, path, element, Map->mapset);
 
-    return G_store(file_path);
+    return file_path;
 }
+
diff --git a/lib/vector/Vlib/open_nat.c b/lib/vector/Vlib/open_nat.c
index 604c8bc..69c342f 100644
--- a/lib/vector/Vlib/open_nat.c
+++ b/lib/vector/Vlib/open_nat.c
@@ -38,20 +38,19 @@ static int check_coor(struct Map_info *Map);
 */
 int V1_open_old_nat(struct Map_info *Map, int update)
 {
-    char *path;
+    char path[GPATH_MAX];
     struct Coor_info CInfo;
 
     G_debug(1, "V1_open_old_nat(): name = %s mapset = %s", Map->name,
 	    Map->mapset);
 
-    path = Vect__get_path(Map);
+    Vect__get_path(path, Map);
     dig_file_init(&(Map->dig_fp));
     if (update)
 	Map->dig_fp.file = G_fopen_modify(path, GV_COOR_ELEMENT);
     else
 	Map->dig_fp.file =
 	    G_fopen_old(path, GV_COOR_ELEMENT, Map->mapset);
-    G_free(path);
     
     if (Map->dig_fp.file == NULL) {
         G_warning(_("Unable to open coor file for vector map <%s>"),
@@ -95,19 +94,19 @@ int V1_open_old_nat(struct Map_info *Map, int update)
 */
 int V1_open_new_nat(struct Map_info *Map, const char *name, int with_z)
 {
-    char *path, file_path[GPATH_MAX];
+    char path[GPATH_MAX];
 
     G_debug(1, "V1_open_new_nat(): name = %s with_z = %d is_tmp = %d",
             name, with_z, Map->temporary);
 
-    path = Vect__get_path(Map);
-
     /* Set the 'coor' file version */
     Map->head.coor_version.major = GV_COOR_VER_MAJOR;
     Map->head.coor_version.minor = GV_COOR_VER_MINOR;
     Map->head.coor_version.back_major = GV_COOR_EARLIEST_MAJOR;
     Map->head.coor_version.back_minor = GV_COOR_EARLIEST_MINOR;
-
+    
+    Vect__get_path(path, Map);
+    
     /* TODO: open better */
     dig_file_init(&(Map->dig_fp));
     Map->dig_fp.file = G_fopen_new(path, GV_COOR_ELEMENT);
@@ -119,14 +118,13 @@ int V1_open_new_nat(struct Map_info *Map, const char *name, int with_z)
     Map->dig_fp.file = G_fopen_modify(path, GV_COOR_ELEMENT);
     if (Map->dig_fp.file == NULL)
 	return -1;
-
+    
     /* if overwrite OK, any existing files have already been deleted by
      * Vect_open_new(): remove this check ? */
     /* check to see if dig_plus file exists and if so, remove it */
-    G_file_name(file_path, path, GV_TOPO_ELEMENT, G_mapset());
-    G_free(path);
-    if (access(file_path, F_OK) == 0)
-        unlink(file_path); /* remove topo file if exists */
+    Vect__get_element_path(path, Map, GV_TOPO_ELEMENT);
+    if (access(path, F_OK) == 0)
+        unlink(path); /* remove topo file if exists */
     
     /* set conversion matrices */
     dig_init_portable(&(Map->head.port), dig__byte_order_out());
diff --git a/lib/vector/Vlib/open_pg.c b/lib/vector/Vlib/open_pg.c
index c08d20a..092e0fb 100644
--- a/lib/vector/Vlib/open_pg.c
+++ b/lib/vector/Vlib/open_pg.c
@@ -331,9 +331,9 @@ int Vect__open_topo_pg(struct Map_info *Map, int head_only, int update)
         return 1;
     
     /* free and init plus structure, update spatial and category
-     * indeces  */
+     * indices  */
     dig_init_plus(plus);
-    plus->Spidx_new = TRUE;        /* force building spatial and category indeces */
+    plus->Spidx_new = TRUE;        /* force building spatial and category indices */
     plus->update_cidx = TRUE; 
     Map->support_updated = FALSE;  /* don't write support files */
 
@@ -507,7 +507,7 @@ void connect_db(struct Format_info_pg *pg_info)
     if (!strstr(pg_info->conninfo, "user")) {
         char dbname[GNAME_MAX];
         char *p;
-        const char *user, *passwd;
+        const char *user, *passwd, *host, *port;
         
         dbname[0] = '\0';
         p = strstr(pg_info->conninfo, "dbname");
@@ -521,11 +521,11 @@ void connect_db(struct Format_info_pg *pg_info)
         
         /* try connection settings for given database first, then try
          * any settings defined for pg driver */
-        db_get_login("pg", dbname, &user, &passwd);
+        db_get_login2("pg", dbname, &user, &passwd, &host, &port);
         if (strlen(dbname) > 0 && !user && !passwd)
-            db_get_login("pg", NULL, &user, &passwd);
+            db_get_login2("pg", NULL, &user, &passwd, &host, &port);
         
-        if (user || passwd) {
+        if (user || passwd || host || port) {
             char  conninfo[DB_SQL_MAX];
 
             sprintf(conninfo, "%s", pg_info->conninfo);
@@ -537,6 +537,14 @@ void connect_db(struct Format_info_pg *pg_info)
                 strcat(conninfo, " password=");
                 strcat(conninfo, passwd);
             }
+            if (host) {
+                strcat(conninfo, " host=");
+                strcat(conninfo, host);
+            }
+            if (port) {
+                strcat(conninfo, " port=");
+                strcat(conninfo, port);
+            }
             G_free(pg_info->conninfo);
             pg_info->conninfo = G_store(conninfo);
         }
diff --git a/lib/vector/Vlib/read_pg.c b/lib/vector/Vlib/read_pg.c
index eb8f1b9..a2db39e 100644
--- a/lib/vector/Vlib/read_pg.c
+++ b/lib/vector/Vlib/read_pg.c
@@ -1505,9 +1505,14 @@ int Vect__execute_pg(PGconn * conn, const char *stmt)
     G_debug(3, "Vect__execute_pg(): %s", stmt);
     result = PQexec(conn, stmt);
     if (!result || PQresultStatus(result) != PGRES_COMMAND_OK) {
-        PQclear(result);
+        size_t stmt_len;
+        char stmt_prt[512];
         
-        G_warning(_("Execution failed: %s\nReason: %s"), stmt,
+        PQclear(result);
+        stmt_len = strlen(stmt);
+        strncpy(stmt_prt, stmt, stmt_len > 511 ? 511 : stmt_len);
+        stmt_prt[stmt_len > 511 ? 511 : stmt_len] = '\0';
+        G_warning(_("Execution failed: %s (...)\nReason: %s"), stmt_prt,
                   PQerrorMessage(conn));
         return -1;
     }
diff --git a/lib/vector/Vlib/snap.c b/lib/vector/Vlib/snap.c
index 0cb7437..4fe609d 100644
--- a/lib/vector/Vlib/snap.c
+++ b/lib/vector/Vlib/snap.c
@@ -21,6 +21,7 @@
 #include <math.h>
 #include <grass/vector.h>
 #include <grass/glocale.h>
+#include <grass/kdtree.h>
 
 /* translate segment to box and back */
 #define X1W 0x01	/* x1 is West, x2 East */
@@ -121,6 +122,14 @@ static int add_item_box(int id, const struct RTree_Rect *rect, void *list)
     return 1;
 }
 
+static void
+Vect_snap_lines_list_rtree(struct Map_info *, const struct ilist *,
+		           double, struct Map_info *);
+
+static void
+Vect_snap_lines_list_kdtree(struct Map_info *, const struct ilist *,
+		            double, struct Map_info *);
+
 /*!
    \brief Snap selected lines to existing vertex in threshold.
    
@@ -161,6 +170,366 @@ void
 Vect_snap_lines_list(struct Map_info *Map, const struct ilist *List_lines,
 		     double thresh, struct Map_info *Err)
 {
+    if (getenv("GRASS_VECTOR_LOWMEM"))
+	Vect_snap_lines_list_rtree(Map, List_lines, thresh, Err);
+    else
+	Vect_snap_lines_list_kdtree(Map, List_lines, thresh, Err);
+}
+
+static void
+Vect_snap_lines_list_kdtree(struct Map_info *Map, const struct ilist *List_lines,
+		     double thresh, struct Map_info *Err)
+{
+    struct line_pnts *Points, *NPoints;
+    struct line_cats *Cats;
+    int line, ltype, line_idx;
+    double thresh2;
+
+    int point;			/* index in points array */
+    int nanchors, ntosnap;	/* number of anchors and number of points to be snapped */
+    int nsnapped, ncreated;	/* number of snapped verices, number of new vertices (on segments) */
+    int apoints, npoints, nvertices;	/* number of allocated points, registered points, vertices */
+    XPNT *XPnts;		/* Array of points */
+    NEW *New = NULL;		/* Array of new points */
+    int anew = 0, nnew;		/* allocated new points , number of new points */
+    struct ilist *List;
+    int *Index = NULL;		/* indexes of anchors for vertices */
+    int aindex = 0;		/* allocated Index */
+
+    struct kdtree *KDTree;
+    double c[2];
+    double *kdd;
+    int *kduid, kd_found;
+
+
+    if (List_lines->n_values < 1)
+	return;
+
+    Points = Vect_new_line_struct();
+    NPoints = Vect_new_line_struct();
+    Cats = Vect_new_cats_struct();
+    List = Vect_new_list();
+
+    KDTree = kdtree_create(2, NULL);
+
+    thresh2 = thresh * thresh;
+
+    /* Go through all lines in vector, and add each point to structure of points */
+    apoints = 0;
+    point = 1;			/* index starts from 1 ! */
+    nvertices = 0;
+    XPnts = NULL;
+
+    G_important_message(_("Snap vertices Pass 1: select points"));
+    for (line_idx = 0; line_idx < List_lines->n_values; line_idx++) {
+	int v;
+
+	G_percent(line_idx, List_lines->n_values, 2);
+
+	line = List_lines->value[line_idx];
+
+	G_debug(3, "line =  %d", line);
+	if (!Vect_line_alive(Map, line))
+	    continue;
+
+	ltype = Vect_read_line(Map, Points, Cats, line);
+
+	for (v = 0; v < Points->n_points; v++) {
+	    G_debug(3, "  vertex v = %d", v);
+	    nvertices++;
+
+	    /* coords */
+	    c[0] = Points->x[v];
+	    c[1] = Points->y[v];
+
+	    if (kdtree_insert(KDTree, c, point, 0)) {
+		/* Add to structure */
+		if ((point - 1) == apoints) {
+		    apoints += 10000;
+		    XPnts =
+			(XPNT *) G_realloc(XPnts,
+					   (apoints + 1) * sizeof(XPNT));
+		}
+		XPnts[point].x = Points->x[v];
+		XPnts[point].y = Points->y[v];
+		XPnts[point].anchor = -1;
+		point++;
+	    }
+	}
+    }
+    G_percent(line_idx, List_lines->n_values, 2); /* finish it */
+
+    G_debug(1, "KD Tree depth: %d", (int)KDTree->root->depth);
+    kdtree_optimize(KDTree, 2);
+    G_debug(1, "KD Tree depth: %d", (int)KDTree->root->depth);
+
+    npoints = point - 1;
+
+    /* Go through all registered points and if not yet marked mark it as anchor and assign this anchor
+     * to all not yet marked points in threshold */
+
+    G_important_message(_("Snap vertices Pass 2: assign anchor vertices"));
+
+    nanchors = ntosnap = 0;
+    for (point = 1; point <= npoints; point++) {
+	int i;
+
+	G_percent(point, npoints, 4);
+
+	G_debug(3, "  point = %d", point);
+
+	if (XPnts[point].anchor >= 0)
+	    continue;
+
+	XPnts[point].anchor = 0;	/* make it anchor */
+	nanchors++;
+
+	/* Find points in threshold */
+	c[0] = XPnts[point].x;
+	c[1] = XPnts[point].y;
+
+	Vect_reset_list(List);
+	kd_found = kdtree_dnn(KDTree, c, &kduid, &kdd, thresh, &point);
+	G_debug(4, "  %d points in threshold box", kd_found);
+
+	for (i = 0; i < kd_found; i++) {
+	    int pointb;
+	    double dx, dy, dist2;
+
+	    pointb = kduid[i];
+	    if (pointb == point)
+		continue;
+
+	    dx = XPnts[pointb].x - XPnts[point].x;
+	    dy = XPnts[pointb].y - XPnts[point].y;
+	    dist2 = dx * dx + dy * dy;
+
+	    if (dist2 > thresh2) /* outside threshold */
+		continue;
+		
+	    /* doesn't have an anchor yet */
+	    if (XPnts[pointb].anchor == -1) {
+		XPnts[pointb].anchor = point;
+		ntosnap++;
+	    }
+	    else if (XPnts[pointb].anchor > 0) {   /* check distance to previously assigned anchor */
+		double dist2_a;
+
+		dx = XPnts[XPnts[pointb].anchor].x - XPnts[pointb].x;
+		dy = XPnts[XPnts[pointb].anchor].y - XPnts[pointb].y;
+		dist2_a = dx * dx + dy * dy;
+
+		/* replace old anchor */
+		if (dist2 < dist2_a) {
+		    XPnts[pointb].anchor = point;
+		}
+	    }
+	}
+	if (kd_found) {
+	    G_free(kdd);
+	    G_free(kduid);
+	}
+    }
+
+    /* Go through all lines and: 
+     *   1) for all vertices: if not anchor snap it to its anchor
+     *   2) for all segments: snap it to all anchors in threshold (except anchors of vertices of course) */
+
+    nsnapped = ncreated = 0;
+
+    G_important_message(_("Snap vertices Pass 3: snap to assigned points"));
+
+    for (line_idx = 0; line_idx < List_lines->n_values; line_idx++) {
+	int v, spoint, anchor;
+	int changed = 0;
+	double kddist;
+
+	G_percent(line_idx, List_lines->n_values, 2);
+
+	line = List_lines->value[line_idx];
+
+	G_debug(3, "line =  %d", line);
+	if (!Vect_line_alive(Map, line))
+	    continue;
+
+	ltype = Vect_read_line(Map, Points, Cats, line);
+
+	if (Points->n_points >= aindex) {
+	    aindex = Points->n_points;
+	    Index = (int *)G_realloc(Index, aindex * sizeof(int));
+	}
+
+	/* Snap all vertices */
+	for (v = 0; v < Points->n_points; v++) {
+	    /* Box */
+	    c[0] = Points->x[v];
+	    c[1] = Points->y[v];
+
+	    /* Find point ( should always find one point ) */
+	    Vect_reset_list(List);
+
+	    spoint = -1;
+	    kdtree_knn(KDTree, c, &spoint, &kddist, 1, NULL);
+	    if (spoint == -1)
+		G_fatal_error("Point not in KD Tree");
+
+	    anchor = XPnts[spoint].anchor;
+
+	    if (anchor > 0) {	/* to be snapped */
+		Points->x[v] = XPnts[anchor].x;
+		Points->y[v] = XPnts[anchor].y;
+		nsnapped++;
+		changed = 1;
+		Index[v] = anchor;	/* point on new location */
+	    }
+	    else {
+		Index[v] = spoint;	/* old point */
+	    }
+	}
+
+	/* New points */
+	Vect_reset_line(NPoints);
+
+	/* Snap all segments to anchors in threshold */
+	for (v = 0; v < Points->n_points - 1; v++) {
+	    int i;
+	    double x1, x2, y1, y2, xmin, xmax, ymin, ymax;
+	    double dx, dy;
+	    double kdthresh;
+
+	    G_debug(3, "  segment = %d end anchors : %d  %d", v, Index[v],
+		    Index[v + 1]);
+
+	    x1 = Points->x[v];
+	    x2 = Points->x[v + 1];
+	    y1 = Points->y[v];
+	    y2 = Points->y[v + 1];
+
+	    Vect_append_point(NPoints, Points->x[v], Points->y[v],
+			      Points->z[v]);
+
+	    /* Box */
+	    if (x1 <= x2) {
+		xmin = x1;
+		xmax = x2;
+	    }
+	    else {
+		xmin = x2;
+		xmax = x1;
+	    }
+	    if (y1 <= y2) {
+		ymin = y1;
+		ymax = y2;
+	    }
+	    else {
+		ymin = y2;
+		ymax = y1;
+	    }
+
+	    c[0] = (xmin + xmax) / 2;
+	    c[1] = (ymin + ymax) / 2;
+
+	    dx = xmax - xmin;
+	    dy = ymax - ymin;
+	    kdthresh = sqrt(dx * dx + dy * dy) + thresh;
+
+	    /* Find points */
+	    Vect_reset_list(List);
+	    kd_found = kdtree_dnn(KDTree, c, &kduid, &kdd, kdthresh, NULL);
+
+	    G_debug(3, "  %d points in box", kd_found);
+
+	    /* Snap to anchor in threshold different from end points */
+	    nnew = 0;
+	    for (i = 0; i < kd_found; i++) {
+		double dist2, along;
+
+		spoint = kduid[i];
+		G_debug(4, "    spoint = %d anchor = %d", spoint,
+			XPnts[spoint].anchor);
+
+		if (spoint == Index[v] || spoint == Index[v + 1])
+		    continue;	/* end point */
+		if (XPnts[spoint].anchor > 0)
+		    continue;	/* point is not anchor */
+
+		/* Check the distance */
+		dist2 =
+		    dig_distance2_point_to_line(XPnts[spoint].x,
+						XPnts[spoint].y, 0, x1, y1, 0,
+						x2, y2, 0, 0, NULL, NULL,
+						NULL, &along, NULL);
+
+		G_debug(4, "      distance = %lf", sqrt(dist2));
+
+		if (dist2 <= thresh2) {
+		    G_debug(4, "      anchor in thresh, along = %lf", along);
+
+		    if (nnew == anew) {
+			anew += 100;
+			New = (NEW *) G_realloc(New, anew * sizeof(NEW));
+		    }
+		    New[nnew].anchor = spoint;
+		    New[nnew].along = along;
+		    nnew++;
+		}
+	    }
+	    if (kd_found) {
+		G_free(kduid);
+		G_free(kdd);
+	    }
+	    G_debug(3, "  nnew = %d", nnew);
+	    /* insert new vertices */
+	    if (nnew > 0) {
+		/* sort by distance along the segment */
+		qsort(New, sizeof(char) * nnew, sizeof(NEW), sort_new);
+
+		for (i = 0; i < nnew; i++) {
+		    anchor = New[i].anchor;
+		    /* Vect_line_insert_point ( Points, ++v, XPnts[anchor].x, XPnts[anchor].y, 0); */
+		    Vect_append_point(NPoints, XPnts[anchor].x,
+				      XPnts[anchor].y, 0);
+		    ncreated++;
+		}
+		changed = 1;
+	    }
+	}
+
+	/* append end point */
+	v = Points->n_points - 1;
+	Vect_append_point(NPoints, Points->x[v], Points->y[v], Points->z[v]);
+
+	if (changed) {		/* rewrite the line */
+	    Vect_line_prune(NPoints);	/* remove duplicates */
+	    if (NPoints->n_points > 1 || !(ltype & GV_LINES)) {
+		Vect_rewrite_line(Map, line, ltype, NPoints, Cats);
+	    }
+	    else {
+		Vect_delete_line(Map, line);
+	    }
+	    if (Err) {
+		Vect_write_line(Err, ltype, Points, Cats);
+	    }
+	}
+    }				/* for each line */
+    G_percent(line_idx, List_lines->n_values, 2); /* finish it */
+
+    Vect_destroy_line_struct(Points);
+    Vect_destroy_line_struct(NPoints);
+    Vect_destroy_cats_struct(Cats);
+    G_free(XPnts);
+    G_free(Index);
+    G_free(New);
+    kdtree_destroy(KDTree);
+
+    G_verbose_message(_("Snapped vertices: %d"), nsnapped);
+    G_verbose_message(_("New vertices: %d"), ncreated);
+}
+
+static void
+Vect_snap_lines_list_rtree(struct Map_info *Map, const struct ilist *List_lines,
+		     double thresh, struct Map_info *Err)
+{
     struct line_pnts *Points, *NPoints;
     struct line_cats *Cats;
     int line, ltype, line_idx;
@@ -270,7 +639,7 @@ Vect_snap_lines_list(struct Map_info *Map, const struct ilist *List_lines,
     for (point = 1; point <= npoints; point++) {
 	int i;
 
-	G_percent(point, npoints, 2);
+	G_percent(point, npoints, 4);
 
 	G_debug(3, "  point = %d", point);
 
@@ -581,7 +950,7 @@ Vect_snap_lines(struct Map_info *Map, int type, double thresh,
    \param[in,out] Points line points to snap
    \param[in] thresh threshold in which to snap vertices
    \param[in] with_z 2D or 3D snapping
-   \param[in,out] nsnapped number of snapped verices
+   \param[in,out] nsnapped number of snapped vertices
    \param[in,out] ncreated number of new vertices (on segments)
   
    \return 1 if line was changed, otherwise 0
diff --git a/lib/vector/Vlib/testsuite/test_vlib_box.py b/lib/vector/Vlib/testsuite/test_vlib_box.py
new file mode 100644
index 0000000..74c0801
--- /dev/null
+++ b/lib/vector/Vlib/testsuite/test_vlib_box.py
@@ -0,0 +1,86 @@
+"""
+TEST:      box.c
+
+AUTHOR(S): Vaclav Petras
+
+PURPOSE:   Test functions related to bounding box
+
+COPYRIGHT: (C) 2015 Vaclav Petras, and by the GRASS Development Team
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+import ctypes
+import grass.lib.vector as libvect
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestPointInBoundingBox(TestCase):
+    """Test functions related to point in bounding box"""
+
+    def setUp(self):
+        """Create bbox object"""
+        self.c_bbox = ctypes.pointer(libvect.bound_box())
+        # x range
+        self.c_bbox.contents.E = 220
+        self.c_bbox.contents.W = 215
+        # y range
+        self.c_bbox.contents.N = 135
+        self.c_bbox.contents.S = 125
+        # z range
+        self.c_bbox.contents.T = 340
+        self.c_bbox.contents.B = 330
+
+    def test_bbox_3d_in(self):
+        """Check Vect_point_in_box() function with 3D points inside bbox"""
+        self.check_point_in_3d(217, 130, 335)
+        self.check_point_in_3d(219.999999, 125.000001, 339.999999)
+
+    def test_bbox_3d_out(self):
+        """Check Vect_point_in_box() function with 3D points outside bbox"""
+        self.check_point_out_3d(100, 100, 100)
+        self.check_point_out_3d(500, 593, 900)
+        self.check_point_out_3d(-220, 130, 335)
+        self.check_point_out_3d(220, -130, 335)
+        self.check_point_out_3d(220, 130, -335)
+
+    def check_point_in_3d(self, x, y, z):
+        """Wraps Vect_point_in_box() with assert and a message"""
+        self.assertTrue(libvect.Vect_point_in_box(x, y, z, self.c_bbox),
+                        msg="Point should be inside the bbox")
+
+    def check_point_out_3d(self, x, y, z):
+        """Wraps Vect_point_in_box() with assert and a message"""
+        self.assertFalse(libvect.Vect_point_in_box(x, y, z, self.c_bbox),
+                         msg="Point should be outside the bbox")
+
+    def test_bbox_2d_in(self):
+        """Check Vect_point_in_box_2d() function with 2D points inside bbox"""
+        self.check_point_in_2d(217, 130)
+        self.check_point_in_2d(219.999999, 125.000001)
+
+    def test_bbox_2d_out(self):
+        """Check Vect_point_in_box_2d() function with 2D points outside bbox"""
+        self.check_point_out_2d(100, 100)
+        self.check_point_out_2d(500, 593)
+        self.check_point_out_2d(-220, 130)
+        self.check_point_out_2d(220, -130)
+        self.check_point_out_2d(-220, -130)
+
+    def check_point_in_2d(self, x, y):
+        """Wraps Vect_point_in_box_2d() with assert, message and bbox"""
+        self.assertTrue(libvect.Vect_point_in_box_2d(x, y, self.c_bbox),
+                        msg="Point should be inside the bbox")
+
+    def check_point_out_2d(self, x, y):
+        """Wraps Vect_point_in_box_2d() with assert, message and bbox"""
+        self.assertFalse(libvect.Vect_point_in_box_2d(x, y, self.c_bbox),
+                         msg="Point should be outside the bbox")
+
+
+if __name__ == '__main__':
+    test()
diff --git a/lib/vector/Vlib/write_nat.c b/lib/vector/Vlib/write_nat.c
index 07c40a1..0f014fd 100644
--- a/lib/vector/Vlib/write_nat.c
+++ b/lib/vector/Vlib/write_nat.c
@@ -5,7 +5,7 @@
 
    Higher level functions for reading/writing/manipulating vectors.
 
-   (C) 2001-2013 by the GRASS Development Team
+   (C) 2001-2015 by the GRASS Development Team
 
    This program is free software under the GNU General Public License
    (>=v2). Read the file COPYING that comes with GRASS for details.
diff --git a/lib/vector/Vlib/write_ogr.c b/lib/vector/Vlib/write_ogr.c
index ca0670c..8bf53e5 100644
--- a/lib/vector/Vlib/write_ogr.c
+++ b/lib/vector/Vlib/write_ogr.c
@@ -131,7 +131,7 @@ int V1_delete_line_ogr(struct Map_info *Map, off_t offset)
     }
     
     if (offset >= ogr_info->offset.array_num) {
-	G_warning(_("Invalid offset (%d)"), offset);
+	G_warning(_("Invalid offset (%ld)"), offset);
 	return -1;
     }
     
@@ -608,13 +608,13 @@ int write_attributes(dbDriver *driver, int cat, const struct field_info *Fi,
 	value = db_get_column_value(column);
 	/* for debug only */
 	db_convert_column_value_to_string(column, &dbstring);	
-	G_debug(2, "col %d : val = %s", j,
+	G_debug(3, "col %d : val = %s", j,
 		db_get_string(&dbstring));
 	
 	sqltype = db_get_column_sqltype(column);
 	ctype = db_sqltype_to_Ctype(sqltype);
 	ogrtype = sqltype_to_ogrtype(sqltype);
-	G_debug(2, "  colctype = %d", ctype);
+	G_debug(3, "  colctype = %d", ctype);
 	
 	ogrfieldnum = OGR_F_GetFieldIndex(Ogr_feature, colname);
 	if (ogrfieldnum < 0) {
diff --git a/lib/vector/Vlib/write_pg.c b/lib/vector/Vlib/write_pg.c
index 6ef75b0..3127597 100644
--- a/lib/vector/Vlib/write_pg.c
+++ b/lib/vector/Vlib/write_pg.c
@@ -277,7 +277,7 @@ off_t V2_rewrite_line_pg(struct Map_info *Map, off_t line, int type,
     }
     
     geom_data = line_to_wkb(pg_info, &points, 1, type, Map->head.with_z);
-    G_asprintf(&stmt, "UPDATE \"%s\".\"%s\" SET geom = '%s'::GEOMETRY WHERE %s_id = %d",
+    G_asprintf(&stmt, "UPDATE \"%s\".\"%s\" SET geom = '%s'::GEOMETRY WHERE %s_id = %ld",
                schema_name, table_name, geom_data, keycolumn, line);
     G_free(geom_data);
 
@@ -341,7 +341,7 @@ int V1_delete_line_pg(struct Map_info *Map, off_t offset)
 
     sprintf(stmt, "DELETE FROM %s WHERE %s = %ld",
             pg_info->table_name, pg_info->fid_column, fid);
-    G_debug(2, "SQL: %s", stmt);
+    G_debug(3, "SQL: %s", stmt);
 
     if (Vect__execute_pg(pg_info->conn, stmt) == -1) {
         G_warning(_("Unable to delete feature"));
@@ -755,7 +755,7 @@ int create_table(struct Format_info_pg *pg_info)
         return -1;
     }
     
-    /* create indeces
+    /* create indices
         - GV_KEY_COLUMN
         - geometry column
     */
@@ -2026,7 +2026,7 @@ char *build_insert_stmt(const struct Format_info_pg *pg_info,
                     value = db_get_column_value(column);
                     /* for debug only */
                     db_convert_column_value_to_string(column, &dbstmt);
-                    G_debug(2, "col %d : val = %s", col,
+                    G_debug(3, "col %d : val = %s", col,
                             db_get_string(&dbstmt));
 
                     sqltype = db_get_column_sqltype(column);
diff --git a/lib/vector/dglib/dglib.dox b/lib/vector/dglib/dglib.dox
index 0b93a1d..77e10ab 100644
--- a/lib/vector/dglib/dglib.dox
+++ b/lib/vector/dglib/dglib.dox
@@ -317,6 +317,6 @@ Nitin K Dhiman, AINN group, CAIR  <nitinkdhiman at gmail.com> (code walkthrough doc
 
 GRASS 6 Vector Architecture \ref vectorlib 
 
-Last change: $Date: 2015-09-16 17:44:00 +0200 (Wed, 16 Sep 2015) $
+Last change: $Date: 2015-09-09 11:21:10 -0700 (Wed, 09 Sep 2015) $
 */
 
diff --git a/lib/vector/diglib/plus_struct.c b/lib/vector/diglib/plus_struct.c
index 39f4fd7..c2afc71 100644
--- a/lib/vector/diglib/plus_struct.c
+++ b/lib/vector/diglib/plus_struct.c
@@ -416,7 +416,7 @@ int dig_Rd_P_isle(struct Plus_head *Plus, int n, struct gvfile * fp)
     int cnt;
     struct P_isle *ptr;
 
-    G_debug(3, "dig_Rd_P_isle()");
+    G_debug(4, "dig_Rd_P_isle()");
 
     if (0 >= dig__fread_port_P(&cnt, 1, fp))
 	return (-1);
diff --git a/lib/vector/diglib/struct_alloc.c b/lib/vector/diglib/struct_alloc.c
index 3e91ecd..f443ead 100644
--- a/lib/vector/diglib/struct_alloc.c
+++ b/lib/vector/diglib/struct_alloc.c
@@ -71,7 +71,7 @@ int dig_node_alloc_line(struct P_node * node, int add)
     int num;
     char *p;
 
-    G_debug(3, "dig_node_alloc_line(): add = %d", add);
+    G_debug(5, "dig_node_alloc_line(): add = %d", add);
 
     num = node->n_lines + add;
 
@@ -242,7 +242,7 @@ int dig_alloc_isles(struct Plus_head *Plus, int add)
     int size;
     char *p;
 
-    G_debug(3, "dig_alloc_isle():");
+    G_debug(5, "dig_alloc_isle():");
     size = Plus->alloc_isles + 1 + add;
     p = G_realloc(Plus->Isle, size * sizeof(struct P_isle *));
     if (p == NULL)
@@ -470,7 +470,7 @@ int dig_isle_alloc_line(struct P_isle * isle, int add)
     int num;
     char *p;
 
-    G_debug(3, "dig_isle_alloc_line():");
+    G_debug(5, "dig_isle_alloc_line():");
     num = isle->alloc_lines + add;
 
     p = G_realloc(isle->lines, num * sizeof(plus_t));
diff --git a/lib/vector/neta/articulation_point.c b/lib/vector/neta/articulation_point.c
index ffa170d..2901065 100644
--- a/lib/vector/neta/articulation_point.c
+++ b/lib/vector/neta/articulation_point.c
@@ -3,7 +3,7 @@
 
    \brief Network Analysis library - connected components
 
-   Computes strongly and weakly connected components.
+   Computes network articulation points.
 
    (C) 2009-2010 by Daniel Bundala, and the GRASS Development Team
 
diff --git a/lib/vector/neta/components.c b/lib/vector/neta/components.c
index c931be9..b2a612e 100644
--- a/lib/vector/neta/components.c
+++ b/lib/vector/neta/components.c
@@ -11,6 +11,26 @@
    (>=v2). Read the file COPYING that comes with GRASS for details.
 
    \author Daniel Bundala (Google Summer of Code 2009)
+   \author Markus Metz
+ */
+
+/* example:
+ * 
+ * X -->-- X ---- X --<-- X ---- X
+ * N1      N2     N3      N4     N5
+ * 
+ * -->--, --<-- one-way
+ * ---- both ways
+ * 
+ * weakly connected:
+ * all 5 nodes, even though there is no direct path from N1 to N4, 5
+ * but N1 connects to N2, 3, and N4, 5 also connect to N2, 3
+ * 
+ * strongly connected:
+ * no path from N2 to N1, no path from N3 to N4
+ * component 1: N1
+ * component 2: N2, 3
+ * Component3: N4, 5
  */
 
 #include <stdio.h>
@@ -21,43 +41,53 @@
 #include <grass/dgl/graph.h>
 
 /*!
-   \brief Computes weekly connected components
+   \brief Computes weakly connected components
 
    \param graph input graph
-   \param[out] component list of components
+   \param[out] component array of component ids
 
    \return number of components
    \return -1 on failure
  */
 int NetA_weakly_connected_components(dglGraph_s * graph, int *component)
 {
-    int nnodes;
+    int nnodes, i;
     dglInt32_t *stack;
-    int *visited;
     int stack_size, components;
     dglInt32_t *cur_node;
     dglNodeTraverser_s nt;
+    int have_node_costs;
+    dglInt32_t ncost;
+
+    if (graph->Version < 2) {
+	G_warning("Directed graph must be version 2 or 3 for NetA_weakly_connected_components()");
+	return -1;
+    }
 
     components = 0;
     nnodes = dglGet_NodeCount(graph);
     stack = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
-    visited = (int *)G_calloc(nnodes + 1, sizeof(int));
-    if (!stack || !visited) {
+    if (!stack) {
 	G_fatal_error(_("Out of memory"));
 	return -1;
     }
 
+    for (i = 1; i <= nnodes; i++)
+	component[i] = 0;
+
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     dglNode_T_Initialize(&nt, graph);
 
     for (cur_node = dglNode_T_First(&nt); cur_node;
 	 cur_node = dglNode_T_Next(&nt)) {
-	dglInt32_t node_id = dglNodeGet_Id(graph, cur_node);
+	dglInt32_t cur_node_id = dglNodeGet_Id(graph, cur_node);
 
-	if (!visited[node_id]) {
-	    visited[node_id] = 1;
-	    stack[0] = node_id;
+	if (!component[cur_node_id]) {
+	    stack[0] = cur_node_id;
 	    stack_size = 1;
-	    component[node_id] = ++components;
+	    component[cur_node_id] = ++components;
 	    while (stack_size) {
 		dglInt32_t *node, *edgeset, *edge;
 		dglEdgesetTraverser_s et;
@@ -70,10 +100,35 @@ int NetA_weakly_connected_components(dglGraph_s * graph, int *component)
 		    dglInt32_t to;
 
 		    to = dglNodeGet_Id(graph, dglEdgeGet_Tail(graph, edge));
-		    if (!visited[to]) {
-			visited[to] = 1;
+		    if (!component[to]) {
 			component[to] = components;
-			stack[stack_size++] = to;
+			/* do not go through closed nodes */
+			if (have_node_costs) {
+			    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+				   sizeof(ncost));
+			}
+			if (ncost >= 0)
+			    stack[stack_size++] = to;
+		    }
+		}
+		dglEdgeset_T_Release(&et);
+
+		edgeset = dglNodeGet_InEdgeset(graph, node);
+		dglEdgeset_T_Initialize(&et, graph, edgeset);
+		for (edge = dglEdgeset_T_First(&et); edge;
+		     edge = dglEdgeset_T_Next(&et)) {
+		    dglInt32_t to;
+
+		    to = dglNodeGet_Id(graph, dglEdgeGet_Head(graph, edge));
+		    if (!component[to]) {
+			component[to] = components;
+			/* do not go through closed nodes */
+			if (have_node_costs) {
+			    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+				   sizeof(ncost));
+			}
+			if (ncost >= 0)
+			    stack[stack_size++] = to;
 		    }
 		}
 		dglEdgeset_T_Release(&et);
@@ -81,73 +136,95 @@ int NetA_weakly_connected_components(dglGraph_s * graph, int *component)
 	}
     }
     dglNode_T_Release(&nt);
-    G_free(visited);
+
+    G_free(stack);
     return components;
 }
 
 /*!
-   \brief Computes strongly connected components
+   \brief Computes strongly connected components with Kosaraju's 
+   two-pass algorithm
 
    \param graph input graph
-   \param[out] component list of components
+   \param[out] component array of component ids
 
    \return number of components
    \return -1 on failure
  */
 int NetA_strongly_connected_components(dglGraph_s * graph, int *component)
 {
-    int nnodes;
+    int nnodes, i;
     dglInt32_t *stack, *order;
-    int *visited, *processed;
+    int *processed;
     int stack_size, order_size, components;
-    dglInt32_t *node;
+    dglInt32_t *cur_node;
     dglNodeTraverser_s nt;
+    int have_node_costs;
+    dglInt32_t ncost;
+
+    if (graph->Version < 2) {
+	G_warning("Directed graph must be version 2 or 3 for NetA_strongly_connected_components()");
+	return -1;
+    }
 
     components = 0;
     nnodes = dglGet_NodeCount(graph);
     stack = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
     order = (dglInt32_t *) G_calloc(nnodes + 1, sizeof(dglInt32_t));
-    visited = (int *)G_calloc(nnodes + 1, sizeof(int));
     processed = (int *)G_calloc(nnodes + 1, sizeof(int));
-    if (!stack || !visited || !order || !processed) {
+    if (!stack || !order || !processed) {
 	G_fatal_error(_("Out of memory"));
 	return -1;
     }
 
+    for (i = 1; i <= nnodes; i++) {
+	component[i] = 0;
+    }
+
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     order_size = 0;
     dglNode_T_Initialize(&nt, graph);
 
-    for (node = dglNode_T_First(&nt); node; node = dglNode_T_Next(&nt)) {
-	dglInt32_t node_id = dglNodeGet_Id(graph, node);
+    for (cur_node = dglNode_T_First(&nt); cur_node;
+	 cur_node = dglNode_T_Next(&nt)) {
+	dglInt32_t cur_node_id = dglNodeGet_Id(graph, cur_node);
 
-	component[node_id] = 0;
-	if (!visited[node_id]) {
-	    visited[node_id] = 1;
-	    stack[0] = node_id;
+	if (!component[cur_node_id]) {
+	    component[cur_node_id] = --components;
+	    stack[0] = cur_node_id;
 	    stack_size = 1;
 	    while (stack_size) {
 		dglInt32_t *node, *edgeset, *edge;
 		dglEdgesetTraverser_s et;
-		dglInt32_t cur_node_id = stack[stack_size - 1];
+		dglInt32_t node_id = stack[stack_size - 1];
 
-		if (processed[cur_node_id]) {
+		if (processed[node_id]) {
 		    stack_size--;
-		    order[order_size++] = cur_node_id;
+		    order[order_size++] = node_id;
 		    continue;
 		}
-		processed[cur_node_id] = 1;
-		node = dglGetNode(graph, cur_node_id);
+		processed[node_id] = 1;
+
+		node = dglGetNode(graph, node_id);
 		edgeset = dglNodeGet_OutEdgeset(graph, node);
 		dglEdgeset_T_Initialize(&et, graph, edgeset);
 		for (edge = dglEdgeset_T_First(&et); edge;
 		     edge = dglEdgeset_T_Next(&et)) {
 		    dglInt32_t to;
 
-		    if (dglEdgeGet_Id(graph, edge) < 0)
-			continue;	/*ignore backward edges */
 		    to = dglNodeGet_Id(graph, dglEdgeGet_Tail(graph, edge));
-		    if (!visited[to]) {
-			visited[to] = 1;
+		    if (!component[to]) {
+			component[to] = components;
+			/* do not go through closed nodes */
+			if (have_node_costs) {
+			    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+				   sizeof(ncost));
+			}
+			if (ncost < 0)
+			    processed[to] = 1;
+
 			stack[stack_size++] = to;
 		    }
 		}
@@ -158,41 +235,48 @@ int NetA_strongly_connected_components(dglGraph_s * graph, int *component)
 
     dglNode_T_Release(&nt);
 
+    components = 0;
+    dglNode_T_Initialize(&nt, graph);
+
     while (order_size) {
-	dglInt32_t node_id = order[--order_size];
-
-	if (component[node_id])
-	    continue;
-	components++;
-	component[node_id] = components;
-	stack[0] = node_id;
-	stack_size = 1;
-	while (stack_size) {
-	    dglInt32_t *node, *edgeset, *edge;
-	    dglEdgesetTraverser_s et;
-	    dglInt32_t cur_node_id = stack[--stack_size];
-
-	    node = dglGetNode(graph, cur_node_id);
-	    edgeset = dglNodeGet_OutEdgeset(graph, node);
-	    dglEdgeset_T_Initialize(&et, graph, edgeset);
-	    for (edge = dglEdgeset_T_First(&et); edge;
-		 edge = dglEdgeset_T_Next(&et)) {
-		dglInt32_t to;
-
-		if (dglEdgeGet_Id(graph, edge) > 0)
-		    continue;	/*ignore forward edges */
-		to = dglNodeGet_Id(graph, dglEdgeGet_Tail(graph, edge));
-		if (!component[to]) {
-		    component[to] = components;
-		    stack[stack_size++] = to;
+	dglInt32_t cur_node_id = order[--order_size];
+	int cur_comp = component[cur_node_id];
+
+	if (cur_comp < 1) {
+	    component[cur_node_id] = ++components;
+	    stack[0] = cur_node_id;
+	    stack_size = 1;
+	    while (stack_size) {
+		dglInt32_t *node, *edgeset, *edge;
+		dglEdgesetTraverser_s et;
+		dglInt32_t node_id = stack[--stack_size];
+
+		node = dglGetNode(graph, node_id);
+		edgeset = dglNodeGet_InEdgeset(graph, node);
+		dglEdgeset_T_Initialize(&et, graph, edgeset);
+		for (edge = dglEdgeset_T_First(&et); edge;
+		     edge = dglEdgeset_T_Next(&et)) {
+		    dglInt32_t to;
+
+		    to = dglNodeGet_Id(graph, dglEdgeGet_Head(graph, edge));
+		    if (component[to] == cur_comp) {
+			component[to] = components;
+			/* do not go through closed nodes */
+			if (have_node_costs) {
+			    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Head(graph, edge)),
+				   sizeof(ncost));
+			}
+			if (ncost >= 0)
+			    stack[stack_size++] = to;
+		    }
 		}
+		dglEdgeset_T_Release(&et);
 	    }
-	    dglEdgeset_T_Release(&et);
 	}
     }
+    dglNode_T_Release(&nt);
 
     G_free(stack);
-    G_free(visited);
     G_free(order);
     G_free(processed);
     return components;
diff --git a/lib/vector/neta/flow.c b/lib/vector/neta/flow.c
index d9602ad..257a650 100644
--- a/lib/vector/neta/flow.c
+++ b/lib/vector/neta/flow.c
@@ -33,7 +33,7 @@ dglInt32_t sign(dglInt32_t x)
    \brief Get max flow from source to sink.
 
    Array flow stores flow for each edge. Negative flow corresponds to a
-   flow in opposite direction The function assumes that the edge costs
+   flow in opposite direction. The function assumes that the edge costs
    correspond to edge capacities.
 
    \param graph input graph
@@ -53,6 +53,8 @@ int NetA_flow(dglGraph_s * graph, struct ilist *source_list,
     dglInt32_t **prev;
     char *is_source, *is_sink;
     int begin, end, total_flow;
+    int have_node_costs;
+    dglInt32_t ncost;
 
     nnodes = dglGet_NodeCount(graph);
     nlines = dglGet_EdgeCount(graph) / 2;	/*each line corresponds to two edges. One in each direction */
@@ -73,6 +75,9 @@ int NetA_flow(dglGraph_s * graph, struct ilist *source_list,
     for (i = 0; i <= nlines; i++)
 	flow[i] = 0;
 
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     total_flow = 0;
     while (1) {
 	dglInt32_t node, edge_id, min_residue;
@@ -104,7 +109,13 @@ int NetA_flow(dglGraph_s * graph, struct ilist *source_list,
 			found = to;
 			break;
 		    }
-		    queue[end++] = to;
+		    /* do not go through closed nodes */
+		    if (have_node_costs) {
+			memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+			       sizeof(ncost));
+		    }
+		    if (ncost >= 0)
+			queue[end++] = to;
 		}
 	    }
 	    dglEdgeset_T_Release(&et);
@@ -280,6 +291,9 @@ int NetA_split_vertices(dglGraph_s * in, dglGraph_s * out, int *node_costs)
 
 	if (node_costs)
 	    cost = node_costs[v];
+	/* skip closed nodes */
+	if (cost < 0)
+	    continue;
 	if (cost > max_node_cost)
 	    max_node_cost = cost;
 	dglAddEdge(out, 2 * v - 1, 2 * v, cost, edge_cnt);
@@ -292,6 +306,13 @@ int NetA_split_vertices(dglGraph_s * in, dglGraph_s * out, int *node_costs)
 	dglEdgesetTraverser_s et;
 	dglInt32_t *edge;
 	dglInt32_t v = dglNodeGet_Id(in, cur_node);
+	dglInt32_t cost = 1;
+
+	if (node_costs)
+	    cost = node_costs[v];
+	/* skip closed nodes */
+	if (cost < 0)
+	    continue;
 
 	dglEdgeset_T_Initialize(&et, in, dglNodeGet_OutEdgeset(in, cur_node));
 	for (edge = dglEdgeset_T_First(&et); edge;
diff --git a/lib/vector/neta/path.c b/lib/vector/neta/path.c
index de3b744..e3330c3 100644
--- a/lib/vector/neta/path.c
+++ b/lib/vector/neta/path.c
@@ -11,6 +11,7 @@
    (>=v2). Read the file COPYING that comes with GRASS for details.
 
    \author Daniel Bundala (Google Summer of Code 2009)
+   \author Markus Metz
  */
 
 #include <stdio.h>
@@ -22,16 +23,16 @@
 #include <grass/neta.h>
 
 /*!
-   \brief Computes shortests paths to every node from nodes in "from".
+   \brief Computes shortest paths to every node from nodes in "from".
 
-   Array "dst" contains the length of the path or -1 if the node is not
+   Array "dst" contains the cost of the path or -1 if the node is not
    reachable. Prev contains edges from predecessor along the shortest
    path.
 
    \param graph input graph
    \param from list of 'from' positions
-   \param dst list of 'to' positions
-   \param[out] prev list of edges from predecessor along the shortest path
+   \param[out] dst array of costs to reach nodes
+   \param[out] prev array of edges from predecessor along the shortest path
 
    \return 0 on success
    \return -1 on failure
@@ -41,6 +42,8 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 {
     int i, nnodes;
     dglHeap_s heap;
+    int have_node_costs;
+    dglInt32_t ncost;
 
     nnodes = dglGet_NodeCount(graph);
     dglEdgesetTraverser_s et;
@@ -51,13 +54,16 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 	prev[i] = NULL;
     }
 
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     dglHeapInit(&heap);
 
     for (i = 0; i < from->n_values; i++) {
 	int v = from->value[i];
 
 	if (dst[v] == 0)
-	    continue;		/*ingore duplicates */
+	    continue;		/* ignore duplicates */
 	dst[v] = 0;		/* make sure all from nodes are processed first */
 	dglHeapData_u heap_data;
 
@@ -68,6 +74,8 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 	dglInt32_t v, dist;
 	dglHeapNode_s heap_node;
 	dglHeapData_u heap_data;
+	dglInt32_t *edge;
+	dglInt32_t *node;
 
 	if (!dglHeapExtractMin(&heap, &heap_node))
 	    break;
@@ -76,11 +84,20 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 	if (dst[v] < dist)
 	    continue;
 
-	dglInt32_t *edge;
+	node = dglGetNode(graph, v);
+
+	if (have_node_costs && prev[v]) {
+	    memcpy(&ncost, dglNodeGet_Attr(graph, node),
+		   sizeof(ncost));
+	    if (ncost > 0)
+		dist += ncost;
+	    /* do not go through closed nodes */
+	    if (ncost < 0)
+		continue;
+	}
 
 	dglEdgeset_T_Initialize(&et, graph,
-				dglNodeGet_OutEdgeset(graph,
-						      dglGetNode(graph, v)));
+				dglNodeGet_OutEdgeset(graph, node));
 
 	for (edge = dglEdgeset_T_First(&et); edge;
 	     edge = dglEdgeset_T_Next(&et)) {
@@ -105,16 +122,123 @@ int NetA_distance_from_points(dglGraph_s *graph, struct ilist *from,
 }
 
 /*!
-   \brief Find a path (minimum number of edges) from 'from' to 'to' using only edges in 'edges'.
+   \brief Computes shortest paths from every node to nodes in "to".
+
+   Array "dst" contains the cost of the path or -1 if the node is not
+   reachable. Nxt contains edges from successor along the shortest
+   path. This method does reverse search starting with "to" nodes and 
+   going backward.
+
+   \param graph input graph
+   \param to list of 'to' positions
+   \param[out] dst array of costs to reach nodes
+   \param[out] nxt array of edges from successor along the shortest path
+
+   \return 0 on success
+   \return -1 on failure
+ */
+int NetA_distance_to_points(dglGraph_s *graph, struct ilist *to,
+			      int *dst, dglInt32_t **nxt)
+{
+    int i, nnodes;
+    dglHeap_s heap;
+    dglEdgesetTraverser_s et;
+    int have_node_costs;
+    dglInt32_t ncost;
+
+    nnodes = dglGet_NodeCount(graph);
+
+    /* initialize costs and edge list */
+    for (i = 1; i <= nnodes; i++) {
+	dst[i] = -1;
+	nxt[i] = NULL;
+    }
+
+    if (graph->Version < 2) {
+	G_warning("Directed graph must be version 2 or 3 for NetA_distance_to_points()");
+	return -1;
+    }
+
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
+    dglHeapInit(&heap);
+
+    for (i = 0; i < to->n_values; i++) {
+	int v = to->value[i];
+
+	if (dst[v] == 0)
+	    continue;		/* ignore duplicates */
+	dst[v] = 0;		/* make sure all to nodes are processed first */
+	dglHeapData_u heap_data;
+
+	heap_data.ul = v;
+	dglHeapInsertMin(&heap, 0, ' ', heap_data);
+    }
+    while (1) {
+	dglInt32_t v, dist;
+	dglHeapNode_s heap_node;
+	dglHeapData_u heap_data;
+	dglInt32_t *edge;
+	dglInt32_t *node;
+
+	if (!dglHeapExtractMin(&heap, &heap_node))
+	    break;
+	v = heap_node.value.ul;
+	dist = heap_node.key;
+	if (dst[v] < dist)
+	    continue;
+
+	node = dglGetNode(graph, v);
+
+	if (have_node_costs && nxt[v]) {
+	    memcpy(&ncost, dglNodeGet_Attr(graph, node),
+		   sizeof(ncost));
+	    if (ncost > 0)
+		dist += ncost;
+	    /* do not go through closed nodes */
+	    if (ncost < 0)
+		continue;
+	}
+
+	dglEdgeset_T_Initialize(&et, graph,
+				dglNodeGet_InEdgeset(graph, node));
+
+	for (edge = dglEdgeset_T_First(&et); edge;
+	     edge = dglEdgeset_T_Next(&et)) {
+	    dglInt32_t *from = dglEdgeGet_Head(graph, edge);
+	    dglInt32_t from_id = dglNodeGet_Id(graph, from);
+	    dglInt32_t d = dglEdgeGet_Cost(graph, edge);
+
+	    if (dst[from_id] < 0 || dst[from_id] > dist + d) {
+		dst[from_id] = dist + d;
+		nxt[from_id] = edge;
+		heap_data.ul = from_id;
+		dglHeapInsertMin(&heap, dist + d, ' ', heap_data);
+	    }
+	}
+
+	dglEdgeset_T_Release(&et);
+    }
+
+    dglHeapFree(&heap, NULL);
+
+    return 0;
+}
+
+/*!
+   \brief Find a path (minimum number of edges) from 'from' to 'to' 
+   using only edges flagged as valid in 'edges'. Edge costs are not 
+   considered. Closed nodes are not traversed.
 
    Precisely, edge with id I is used if edges[abs(i)] == 1. List
-   stores the indices of lines on the path. Method return number of
-   edges or -1 if no path exist.
+   stores the indices of lines on the path. The method returns the 
+   number of edges or -1 if no path exists.
 
    \param graph input graph
    \param from 'from' position
    \param to 'to' position
-   \param edges list of available edges
+   \param edges array of edges indicating wether an edge should be used
    \param[out] list list of edges
 
    \return number of edges
@@ -127,6 +251,8 @@ int NetA_find_path(dglGraph_s * graph, int from, int to, int *edges,
     dglEdgesetTraverser_s et;
     char *vis;
     int begin, end, cur, nnodes;
+    int have_node_costs;
+    dglInt32_t ncost;
 
     nnodes = dglGet_NodeCount(graph);
     prev = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
@@ -138,6 +264,9 @@ int NetA_find_path(dglGraph_s * graph, int from, int to, int *edges,
     }
     Vect_reset_list(list);
 
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
     begin = 0;
     end = 1;
     vis[from] = 'y';
@@ -145,22 +274,32 @@ int NetA_find_path(dglGraph_s * graph, int from, int to, int *edges,
     prev[from] = NULL;
     while (begin != end) {
 	dglInt32_t vertex = queue[begin++];
+	dglInt32_t *edge, *node;
 
 	if (vertex == to)
 	    break;
-	dglInt32_t *edge, *node = dglGetNode(graph, vertex);
+
+	/* do not go through closed nodes */
+	if (have_node_costs && prev[vertex]) {
+	    memcpy(&ncost, dglNodeGet_Attr(graph, dglEdgeGet_Tail(graph, edge)),
+		   sizeof(ncost));
+	    if (ncost < 0)
+		continue;
+	}
+
+	node = dglGetNode(graph, vertex);
 
 	dglEdgeset_T_Initialize(&et, graph,
 				dglNodeGet_OutEdgeset(graph, node));
 	for (edge = dglEdgeset_T_First(&et); edge;
 	     edge = dglEdgeset_T_Next(&et)) {
-	    dglInt32_t id = abs(dglEdgeGet_Id(graph, edge));
-	    dglInt32_t to =
+	    dglInt32_t edge_id = abs(dglEdgeGet_Id(graph, edge));
+	    dglInt32_t node_id =
 		dglNodeGet_Id(graph, dglEdgeGet_Tail(graph, edge));
-	    if (edges[id] && !vis[to]) {
-		vis[to] = 'y';
-		prev[to] = edge;
-		queue[end++] = to;
+	    if (edges[edge_id] && !vis[node_id]) {
+		vis[node_id] = 'y';
+		prev[node_id] = edge;
+		queue[end++] = node_id;
 	    }
 	}
 	dglEdgeset_T_Release(&et);
diff --git a/lib/vector/neta/spanningtree.c b/lib/vector/neta/spanningtree.c
index ec88ed8..38b4ea8 100644
--- a/lib/vector/neta/spanningtree.c
+++ b/lib/vector/neta/spanningtree.c
@@ -88,10 +88,12 @@ static int cmp_edge(const void *pa, const void *pb)
 int NetA_spanning_tree(dglGraph_s * graph, struct ilist *tree_list)
 {
     int nnodes, edges, nedges, i, index;
-    edge_cost_pair *perm;	/*permutaion of edges in ascending order */
+    edge_cost_pair *perm;	/*permutation of edges in ascending order */
     struct union_find uf;
     dglEdgesetTraverser_s et;
 
+    /* TODO: consider closed nodes / node costs */
+
     nnodes = dglGet_NodeCount(graph);
     nedges = dglGet_EdgeCount(graph);
     perm = (edge_cost_pair *) G_calloc(nedges, sizeof(edge_cost_pair));
@@ -99,7 +101,7 @@ int NetA_spanning_tree(dglGraph_s * graph, struct ilist *tree_list)
 	G_fatal_error(_("Out of memory"));
 	return -1;
     }
-    /*for some obscure reasons, dglGetEdge always returns NULL. Therefore this complicated enumeration of the edges... */
+    /* dglGetEdge is only supported with graphs version > 1. Therefore this complicated enumeration of the edges... */
     index = 0;
     G_message(_("Computing minimum spanning tree..."));
     G_percent_reset();
@@ -136,6 +138,7 @@ int NetA_spanning_tree(dglGraph_s * graph, struct ilist *tree_list)
 	    Vect_list_append(tree_list, dglEdgeGet_Id(graph, perm[i].edge));
 	}
     }
+    G_percent(index, index, 1);
     G_free(perm);
     uf_release(&uf);
     return edges;
diff --git a/lib/vector/neta/utils.c b/lib/vector/neta/utils.c
index 5140183..8a7281a 100644
--- a/lib/vector/neta/utils.c
+++ b/lib/vector/neta/utils.c
@@ -1,5 +1,5 @@
 /*!
-   \file vector/neta/timetables.c
+   \file vector/neta/utils.c
 
    \brief Network Analysis library - utils
 
@@ -91,8 +91,8 @@ void NetA_points_to_nodes(struct Map_info *In, struct ilist *point_list)
    the array node_costs. If there is no point with a category,
    node_costs=0.
 
-   node_costs are multiplied by 1000000 and truncated to integers (as
-   is done in Vect_net_build_graph)
+   node_costs are multiplied by the graph's cost multiplier and  
+   truncated to integers (as is done in Vect_net_build_graph)
 
    \param In pointer to Map_info structure
    \param layer layer number
@@ -141,8 +141,12 @@ int NetA_get_node_costs(struct Map_info *In, int layer, char *column,
 	    if (!Vect_cat_get(Cats, layer, &cat))
 		continue;
 	    Vect_get_line_nodes(In, i, &node, NULL);
-	    if (db_CatValArray_get_value_double(&vals, cat, &value) == DB_OK)
-		node_costs[node] = value * 1000000.0;
+	    if (db_CatValArray_get_value_double(&vals, cat, &value) == DB_OK) {
+		if (value < 0)
+		    node_costs[node] = -1;
+		else
+		    node_costs[node] = value * In->dgraph.cost_multip;
+	    }
 	}
     }
 
@@ -159,12 +163,13 @@ int NetA_get_node_costs(struct Map_info *In, int layer, char *column,
    nodes_to_features conains the index of a feature adjecent to each
    node or -1 if no such feature specified by varray
    exists. Nodes_to_features might be NULL, in which case it is left
-   unitialised.
+   unitialised. Nodes_to_features will be wrong if several lines connect 
+   to the same node.
 
    \param map pointer to Map_info structure
    \param varray pointer to varray structure
    \param[out] nodes list of node ids
-   \param node_to_features ?
+   \param[out] nodes_to_features maps nodes to features
  */
 void NetA_varray_to_nodes(struct Map_info *map, struct varray *varray,
 			  struct ilist *nodes, int *nodes_to_features)
diff --git a/lib/vector/testsuite/test_topology_vgeneralize.sh b/lib/vector/testsuite/test_topology_vgeneralize.sh
new file mode 100755
index 0000000..9419794
--- /dev/null
+++ b/lib/vector/testsuite/test_topology_vgeneralize.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+############################################################################
+#
+# TEST:         test_topology_vgeneralize
+# AUTHOR(S):    Markus Metz
+#
+# PURPOSE:      Tests if the topology is correct using v.generalize debug mode
+# COPYRIGHT:    (C) 2011-2014 by Markus Metz and the GRASS Development Team
+#
+#               This program is free software under the GNU General Public
+#               License (version 2). Read the file COPYING that comes with GRASS
+#               for details.
+#
+#############################################################################
+
+# The vectors in the sample datasets are "too good", I did not find a
+# vector to provoke any errors, thus the r.to.vect step.
+
+# Real world datasets, particularly vectors with administrative areas or
+# land cover/land use classification, are in this respect more suitable
+# because they contain lots of topological errors. Unfortunately, these
+# datasets are too large to be included in the sample datasets.
+
+# the script expects to run using shell with -e flag
+# (equivalent of set -e in a script)
+
+# prepare
+g.region rast=landuse
+r.to.vect input=landuse output=landuse type=area
+
+# use the v.generalize debug mode
+export GRASS_VECTOR_TOPO_DEBUG=1
+
+# test will fail if this (and any other) command fails
+v.generalize input=landuse output=landuse_dp method=douglas threshold=21
+
+# clean up (executed if successful)
+g.remove -f type=vector name=landuse
+g.remove -f type=raster name=landuse_dp
diff --git a/lib/vector/vectorlib_pg.dox b/lib/vector/vectorlib_pg.dox
index 16a58f7..b78564c 100644
--- a/lib/vector/vectorlib_pg.dox
+++ b/lib/vector/vectorlib_pg.dox
@@ -28,7 +28,7 @@ API. They are internally used by the vector library when accessing
 PostGIS data. The programmer should use higher level functions
 instead.
 
-- Vect_open_old() to open exising vector map (ie. PostGIS table when using GRASS-PostGIS data provider)
+- Vect_open_old() to open existing vector map (ie. PostGIS table when using GRASS-PostGIS data provider)
 - Vect_open_new() to create new vector map
 - Vect_close() to close vector map
 
@@ -38,7 +38,7 @@ instead.
 
 - Vect_write_line() to write a new feature
 - Vect_delete_line() to delete existing feature
-- Vect_rewrite_line() to modify exising feature
+- Vect_rewrite_line() to modify existing feature
 
 - Vect_build() to build (pseudo-)topology
 
@@ -74,7 +74,7 @@ access is provided by functions starting with <tt>V2_</tt> prefix.
 - V2_write_line_sfa() - write new simple feature
 - V2_write_line_pg() - write new topological element in PostGIS Topology schema
 
-\par Delete exising feature or topological element
+\par Delete existing feature or topological element
 
 - V1_delete_line_pg()
 - V2_delete_line_sfa() - delete simple feature
diff --git a/locale/po/grasslibs_ar.po b/locale/po/grasslibs_ar.po
index 6d8f9df..ccbd240 100644
--- a/locale/po/grasslibs_ar.po
+++ b/locale/po/grasslibs_ar.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_ar\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2005-03-09 12:50+0100\n"
 "Last-Translator: Dr. Alaa Masoud <alaamasoud at hotmail.com>\n"
 "Language-Team: Arabic <grass-translations at lists.osgeo.org>\n"
@@ -27,33 +27,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr ""
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "لم يمكن فتحه %s فى %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -84,7 +79,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "<%s> فى مجموعة الخريطة <%s>"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "<%s> فى مجموعة الخريطة <%s>"
@@ -96,7 +91,7 @@ msgstr "<%s> فى مجموعة الخريطة <%s>"
 msgid "%s is missing"
 msgstr "وهى مفقودة"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -129,7 +124,7 @@ msgstr "لم يتم كتابة روابط قاعدة البيانات"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, fuzzy, c-format
@@ -157,8 +152,8 @@ msgstr "'%s'الى '%s'لم يمكن نسخ فيكتور"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -219,21 +214,33 @@ msgstr " %s لم يمكن فتح"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "لم يمكن فتحه %s فى %s"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "موجود ولايمكن تغييره '%s' الفيكتور"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "موجود ولايمكن تغييره '%s' الفيكتور"
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr ""
@@ -395,8 +402,10 @@ msgstr "لم يمكن فتحه %s فى %s"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, fuzzy, c-format
@@ -408,45 +417,45 @@ msgstr "لم يتم كتابة روابط قاعدة البيانات"
 msgid "Unable to get list tables in database <%s>"
 msgstr "datum لم يمكن فتح ملف جدول : %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "موجود ولايمكن تغييره '%s' الفيكتور"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "datum لم يمكن فتح ملف جدول : %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, fuzzy, c-format
 msgid "Column <%s> is not integer"
 msgstr "لم يتم كتابة روابط قاعدة البيانات"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "لم يتم كتابة روابط قاعدة البيانات"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr ""
@@ -517,6 +526,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "لم يمكن فتح ملف مؤقت"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -856,217 +869,217 @@ msgstr ""
 msgid "Category value"
 msgstr "قيمة الفئة"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 #, fuzzy
 msgid "Category values"
 msgstr "قيم الفئة."
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "مثلا:7,3,1ـ13,9 "
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "اسم الملف المفتوح %s\n"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "إسم الراستر المخرجة"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "اسم الملف المفتوح %s\n"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "أحداثيات غير صحيحة"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "إسم الفيكتور المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "إسم الفيكتور المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "إسم الراستر المخرجة"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "إسم الراستر المخرجة"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "إسم الفيكتور المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "إسم الفيكتور المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "إسم الفيكتور المخرجة"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "إسم الراستر المخرجة"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr " %s لم يمكن فتح"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "لم يمكن محو الخط"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "يتم الان بناء الطبولوجى ...\n"
@@ -1094,7 +1107,7 @@ msgid "SYNOPSIS"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 #, fuzzy
 msgid "Flags"
 msgstr ""
@@ -1117,7 +1130,7 @@ msgid "Quiet module output"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 #, fuzzy
 msgid "Parameters"
 msgstr ""
@@ -1236,7 +1249,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "مسقط غير معروف"
 
@@ -1311,7 +1324,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "تحذير:"
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "خطــــأ:"
@@ -1393,17 +1406,17 @@ msgstr " خطأ: لم يبدأ النظام. معد البرنامج نسي إس
 msgid "<%s> file not found for location <%s>"
 msgstr ""
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "لم يتم عمل عنصر مجموعة الخرائط%s (%s)"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "لم يتم عمل عنصر مجموعة الخرائط%s (%s)"
@@ -1604,6 +1617,11 @@ msgstr "مضاعفة حقل"
 msgid "Duplicate compressed field"
 msgstr "مضاعفة الحقل المضغوط"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1650,22 +1668,22 @@ msgstr " %s ellipsoid لا يوجد حقل  %s فى %s الملف"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr " %s ellipsoid لا يوجد حقل  %s فى %s الملف"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr " %s لم يمكن فتح"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr " %s لم يمكن فتح"
@@ -1869,8 +1887,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "قيم غير صحيحة لدقة الوضوح شمال-جنوب"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1929,6 +1948,10 @@ msgstr "الشرق يجب أن يكون أكبر من الغرب"
 msgid "Invalid coordinates"
 msgstr "أحداثيات غير صحيحة"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "قيم غير صحيحة لدقة الوضوح شمال-جنوب"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "قيم غير صحيحة لدقة الوضوح شمال-جنوب"
@@ -1994,149 +2017,149 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr ""
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "أسفا<%s> ليس إختيار صحيح\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "خطــــأ:"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 #, fuzzy
 msgid "Unable to determine program name"
 msgstr "لم يمكن تحديد مكان ملفات المستخدم"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "أسفا<%s> ليس إختيار صحيح\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr ""
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "أسفا<%s> ليس إختيار صحيح\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> فى مجموعة الخريطة <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
 "\tPresented as: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
 "\tLegal range: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
 "\tValid options: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
 "\t(%s)"
 msgstr ""
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
 "\tYou provided %d item(s): %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "أسفا<%s> ليس إختيار صحيح\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, c-format
 msgid "No separator given for %s="
 msgstr ""
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "أسفا<%s> ليس إختيار صحيح\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "لم يمكن فتحه %s فى %s"
@@ -2660,7 +2683,8 @@ msgstr "'%s' لم يمكن رصد بيانات الملف"
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 #, fuzzy
 msgid "Out of memory"
 msgstr "لم يمكن توفير ذاكرة"
@@ -2683,11 +2707,13 @@ msgid "Loading data from attribute table ..."
 msgstr ""
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
@@ -2874,7 +2900,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr ""
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, fuzzy, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -2988,8 +3014,8 @@ msgstr ""
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3537,6 +3563,30 @@ msgstr "مسقط غير معروف"
 msgid "Failed to initialize Cairo surface"
 msgstr "لم يمكن فتحه %s فى %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3782,11 +3832,11 @@ msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 msgid "Creating a new space time %s dataset"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -3977,29 +4027,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "لم يمكن فتح ملف مؤقت"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, fuzzy, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, fuzzy, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
@@ -4158,20 +4208,20 @@ msgstr "غير موجود'%s' الفيكتور"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "datum لم يمكن فتح ملف جدول : %s"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4180,7 +4230,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "datum لم يمكن فتح ملف جدول : %s"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4188,12 +4238,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "datum لم يمكن فتح ملف جدول : %s"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "لم يتم كتابة روابط قاعدة البيانات"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4201,49 +4251,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "datum لم يمكن فتح ملف جدول : %s"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "لم يتم تنفيذ الأمر"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "[%s] لم يتم ايجاد"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "لم يتم تنفيذ الأمر"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4251,14 +4289,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "لم يتم تنفيذ الأمر"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4385,7 +4423,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "'%s'الى '%s'لم يمكن نسخ فيكتور"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4500,63 +4538,63 @@ msgid ""
 "%s"
 msgstr "موجود ولايمكن تغييره '%s' الفيكتور"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
@@ -4581,7 +4619,7 @@ msgid "Error computing map <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "'%s'الى '%s'لم يمكن نسخ فيكتور"
@@ -4608,76 +4646,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "'%s'الى '%s'لم يمكن نسخ فيكتور"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "إسم الراستر المدخلة"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr " %s لم يمكن فتح"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "'%s'الى '%s'لم يمكن نسخ فيكتور"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "غير موجود'%s' الفيكتور"
@@ -4692,12 +4754,12 @@ msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيس
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
@@ -4750,7 +4812,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4765,7 +4827,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4773,88 +4839,96 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr " %s لم يمكن فتح"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "موجود ولايمكن تغييره '%s' الفيكتور"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "يجب أن لا يحوى نقطة أو قيمة معدومة <%s> اسم ماف فيكتورى غير سليم\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr " غير مسموح به والاسم غير صحيح <%c> الحرف"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr " لم يمكن محو الخط,الخريطة  غير مفتوحة بوضع مهيأ للكتابة"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "إسم الفيكتور المدخلة"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "color"
 msgstr ""
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4898,75 +4972,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "إسم الفيكتور المدخلة"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "للخرائط الراسترية الموجودة %d\n"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "موجود ولايمكن تغييره '%s' الفيكتور"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "موجود ولايمكن تغييره '%s' الفيكتور"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
@@ -4975,19 +5049,33 @@ msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "لم يمكن فتح ملف مؤقت"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "لم يمكن فتحه %s فى %s"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5003,24 +5091,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "مسقط غير معروف"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "خطا فى كتابة الدليل الفراغى\n"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "%d خطأ فى كتابة الصف المنعدم"
@@ -5151,51 +5255,46 @@ msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "خطا فى كتابة الدليل الفراغى\n"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "datum لم يمكن فتح ملف جدول : %s"
+msgid "No null file for <%s>"
+msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "datum لم يمكن فتح ملف جدول : %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "%d خطأ فى كتابة الصف المنعدم"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "غير موجود'%s' الفيكتور"
@@ -5293,7 +5392,7 @@ msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n
 msgid "Unable to open GDAL file"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
@@ -5360,6 +5459,21 @@ msgstr "لم يمكن فتحه %s فى %s"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr " خطأ: لم يبدأ النظام. معد البرنامج نسي إستدعاء برنامج بدءالنظام ()\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr ""
@@ -5445,136 +5559,141 @@ msgstr ""
 msgid "Rast_set_null_value: wrong data type!"
 msgstr ""
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 #, fuzzy
 msgid "unable to write f_format file for CELL maps"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
 "%s> which does not exist"
 msgstr ""
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "لم يمكن قراءة ملف النطاف [%s فى %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "للخرائط الراسترية الموجودة %d\n"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, fuzzy, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "[%s in %s] الملف الرئيسى غير صالح للخريطة الأساس\n"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
+msgid "Compression with %s is not supported"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "[%s] فى [%s] - بيتة لكل خلية (%d) قيم كبيرة"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "دعم الفئة [%s] فى مجموعة الخرائط [%s] %s"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, fuzzy, c-format
 msgid "<%s> is an illegal file name"
 msgstr "%s اسم ملف غير صحيح"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "غير متاح << %s >> الموقع"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, fuzzy, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, fuzzy, c-format
 msgid "Unable to find '%s'"
 msgstr "[%s] لم يتم ايجاد"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, fuzzy, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr " %s ellipsoid لا يوجد حقل  %s فى %s الملف"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr " %s ellipsoid لا يوجد حقل  %s فى %s الملف"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, fuzzy, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5603,11 +5722,16 @@ msgstr "صحيحة فلا يمكن كتابة قواعد التقسيم %s أع
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "خطأ قراءة ملف مضغوط [%s in %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "خطأ قراءة ملف مضغوط [%s in %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5923,17 +6047,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "تحذير:"
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr " : توصيل اشباه المراكز"
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -5941,112 +6065,147 @@ msgstr ""
 "الإستخدام:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "لقبول الأساس المخزن"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
-msgid "initial location"
+#: ../lib/init/grass.py:345
+#, fuzzy
+msgid "initial GRASS Location"
+msgstr "أسفا<%s> ليس إختيار صحيح\n"
+
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "لم يمكن توفير ذاكرة كافية\n"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "الشكل المطلوب غير متاح فى هذا الأصدار"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6056,266 +6215,293 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "أسفا<%s> ليس إختيار صحيح\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
+msgstr ""
+
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr ""
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
+msgstr ""
+
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "يتم الان بناء الطبولوجى ...\n"
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - المتغير لم يحدد بشكل صحيح"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr " : توصيل اشباه المراكز"
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "فشل الإتصال\n"
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "لم يمكن فتحه %s فى %s"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr " %s لم يمكن فتح"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr ""
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "لاشىء"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "لم يمكن فتح ملف مؤقت"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "غير موجود'%s' الفيكتور"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "لم يمكن فتحه %s فى %s"
@@ -6786,8 +6972,8 @@ msgstr "لم يتم انشاء عملية جديدة"
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6888,10 +7074,10 @@ msgstr "[%s] لم يتم ايجاد [%s] فى"
 msgid "conditions failed"
 msgstr "فشل الإتصال\n"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6924,7 +7110,7 @@ msgstr "لم يمكن فتح ملف مؤقت"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -6945,22 +7131,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, fuzzy, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "مسقط غير معروف"
@@ -6986,7 +7172,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 #, fuzzy
 msgid "Attempt to read dead line"
 msgstr "لم يمكن فتح ملف مؤقت"
@@ -7001,17 +7187,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "لم يمكن فتح ملف مؤقت"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "لم يمكن فتحه %s فى %s"
@@ -7030,17 +7216,17 @@ msgstr "دليل الخواص المضاعفة القيمة خارج النطا
 msgid "Category index out of range"
 msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "خطا فى كتابة الدليل الفراغى\n"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, fuzzy, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
@@ -7071,7 +7257,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, fuzzy, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
@@ -7170,7 +7356,7 @@ msgstr "فشل الإتصال\n"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7207,95 +7393,111 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "لم يمكن فتحه %s فى %s"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "لم يمكن فتحه %s فى %s"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, fuzzy, c-format
+msgid "Unable to copy table <%s>"
+msgstr "لم يمكن فتحه %s فى %s"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "لم يمكن فتحه %s فى %s"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 #, fuzzy
 msgid "Vector map name is not SQL compliant"
 msgstr "SQL اسم الخريطة غير متوافق مع نظام"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, fuzzy, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "'%s'الى '%s'لم يمكن نسخ فيكتور"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "موجود ولايمكن تغييره '%s' الفيكتور"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, fuzzy, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, fuzzy, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "'%s'الى '%s'لم يمكن نسخ فيكتور"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, fuzzy, c-format
-msgid "Unable to copy table <%s>"
-msgstr "لم يمكن فتحه %s فى %s"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, fuzzy, c-format
 msgid "Unable to delete table <%s>"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, fuzzy, c-format
 msgid "Invalid vector map name <%s>"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, fuzzy, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, fuzzy, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, fuzzy, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, fuzzy, c-format
 msgid "Unable to open directory '%s'"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, fuzzy, c-format
 msgid "Unable to delete file '%s'"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, fuzzy, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/vector/Vlib/map.c:487
+#: ../lib/vector/Vlib/map.c:528
 #, fuzzy, c-format
-msgid "Unable to remove directory '%s'"
+msgid "Unable to remove directory '%s': %s"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7320,19 +7522,19 @@ msgstr "عدد الخطوط     :   %d\n"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7368,7 +7570,7 @@ msgstr "مسقط غير معروف"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
@@ -7421,137 +7623,208 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr " %s لم يمكن فتح"
-
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-msgid "for this format/level not supported"
-msgstr ""
-
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "الشكل المطلوب غير متاح فى هذا الأصدار"
-
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "غير موجود'%s' الفيكتور"
-
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
-#, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
-
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
-
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
-
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
-
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
-
-#: ../lib/vector/Vlib/net.c:117
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
 #, fuzzy
 msgid "Building graph..."
 msgstr "يتم الان بناء الطبولوجى ...\n"
 
-#: ../lib/vector/Vlib/net.c:159
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
 #, fuzzy
 msgid "Unable to build network graph"
 msgstr "%s لم يمكن العثور على الفيكتور"
 
-#: ../lib/vector/Vlib/net.c:165
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
 msgid "Forward costs column not specified"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Column <%s> not found in table <%s>"
+msgid "Turntable column <%s> not found in table <%s>"
 msgstr "لم يتم كتابة روابط قاعدة البيانات"
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
 #, c-format
 msgid "Data type of column <%s> not supported (must be numeric)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:222
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, fuzzy, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "لم يتم كتابة روابط قاعدة البيانات"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Registering arcs..."
-msgstr ":تسجيل الخطوط"
+msgid "Cannot add network arc for virtual node connection."
+msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n"
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:364
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:393
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:432
+#, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:465
 #, fuzzy
-msgid "Cannot add network arc"
+msgid "Cannot add network arc representing turn."
 msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n"
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:412
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+#, fuzzy
+msgid "Registering arcs..."
+msgstr ":تسجيل الخطوط"
+
+#: ../lib/vector/Vlib/net_build.c:558
 #, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:441
+#: ../lib/vector/Vlib/net_build.c:579
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
 #, fuzzy
 msgid "Flattening the graph..."
 msgstr "يتم الان بناء الطبولوجى ...\n"
 
-#: ../lib/vector/Vlib/net.c:450
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
 #, fuzzy
 msgid "Graph was built"
 msgstr "تم بناء الطبولوجى\n"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
-msgid "dglShortestPath error: %s"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:934
+#, fuzzy
+msgid "Cannot add network arc"
+msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n"
+
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr " %s لم يمكن فتح"
+
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+msgid "for this format/level not supported"
 msgstr ""
 
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "الشكل المطلوب غير متاح فى هذا الأصدار"
+
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "غير موجود'%s' الفيكتور"
+
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
+
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "دليل الخواص المضاعفة القيمة خارج النطاق"
+
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 #, fuzzy
@@ -7678,7 +7951,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "غير متصل...\n"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7687,7 +7960,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7702,7 +7975,7 @@ msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7731,7 +8004,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "لم يمكن فتحه %s فى %s"
@@ -7909,8 +8182,8 @@ msgstr "%d : عدد الحدود غير الصحيحة\n"
 msgid "Number of redundant holes: %d"
 msgstr "%d : عدد الحدود غير الصحيحة\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
@@ -8010,38 +8283,38 @@ msgstr "عدد المساحات     :   -\n"
 msgid "Number of isles: -"
 msgstr "عدد الجزر     :   -\n"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "[%s فى %s]لم يمكن انشاء ملف العنوان الرئيسى"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 #, fuzzy
 msgid "Error writing out topo file"
 msgstr "خطا فى كتابة ملف الطبوغرافية\n"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "لم يمكن محو الخط,الخريطة  غير مفتوحة على المستوى الثانى"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 #, fuzzy
 msgid "Error writing out spatial index file"
 msgstr "خطا فى كتابة الدليل الفراغى\n"
@@ -8218,63 +8491,63 @@ msgstr "مسقط غير معروف"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "عدد النقاط    :   %d\n"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "يتم الان بناء الطبولوجى ...\n"
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "لم يمكن فتح ملف مؤقت"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n"
@@ -8284,7 +8557,7 @@ msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n
 msgid "Unable to rewrite feature %d"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
@@ -8547,14 +8820,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "فشل الإتصال\n"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "فشل الإتصال\n"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8762,53 +9042,53 @@ msgstr "لم يحدد المشغل الأساسى"
 msgid "Default database is not set"
 msgstr "لم تحدد قاعدة البيانات الأساس"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "رابط قاعدة البيانات المطلوب %d, القيمة العظمى للرابط %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr " %s فى  %d خطا فى القاعدة على الصف"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 #, fuzzy
 msgid "Unable to open OGR DBMI driver"
 msgstr "OGR DBMI لم يمكن فتح مشغل"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "مسقط غير معروف"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 #, fuzzy
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
@@ -8883,108 +9163,108 @@ msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموع
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 #, fuzzy
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr "الخريطة لا يمكن فتحها للتحديث"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, fuzzy, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "%d على مستوى %s لم يمكن فتح فيكتور قديم "
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, fuzzy, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "خطأ: محاولة لتحديث خريطة ليست ضمن مجموعة الخرائط الحالية"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "SQL اسم الخريطة غير متوافق مع نظام"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "تشكيل غير صالح\n"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, fuzzy, c-format
 msgid "Unable to stat file <%s>"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr "حجم ملف الأحداثيات مختلف عن القيم المحفوظة فى ملف الطبوغرافية"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, fuzzy, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr "حجم ملف الأحداثيات مختلف عن القيم المحفوظة فى ملف الطبوغرافية"
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9053,89 +9333,89 @@ msgstr "فشل الإتصال\n"
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "فشل الإتصال\n"
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "لم يتم اضافة رابط قاعدة البيانات"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "'%s'الى '%s'لم يمكن نسخ فيكتور"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "مسقط غير معروف"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "%d : عدد المساحات بدون اشباه مراكز\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "لم يمكن فتحه %s فى %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9204,16 +9484,33 @@ msgstr "غير موجود'%s' الفيكتور"
 msgid "Topology info not available for feature %d"
 msgstr "لم يمكن فتح ملف مؤقت"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
 #: ../lib/vector/Vlib/graph.c:138
 #, fuzzy
 msgid "Unable to add network arc"
 msgstr "%s: لم يمكن فتح ملف  الطبوغرافية للكتابة\n"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9269,6 +9566,40 @@ msgstr "لم يمكن فتحه %s فى %s"
 #~ msgstr "لم يمكن توفير ذاكرة"
 
 #, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "datum لم يمكن فتح ملف جدول : %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "'%s' لم يمكن فتح ملف التاريخ للفيكتور"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "datum لم يمكن فتح ملف جدول : %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "datum لم يمكن فتح ملف جدول : %s"
+
+#, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "لم يمكن فتحه %s فى %s"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "RETURN أضغط   لألغاء الأمر\n"
 
@@ -9277,8 +9608,8 @@ msgstr "لم يمكن فتحه %s فى %s"
 #~ msgstr "غير موجود'%s' الفيكتور"
 
 #, fuzzy
-#~ msgid "Cannot fetch row"
-#~ msgstr "لم يمكن محو الخط"
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "إسم الراستر المدخلة"
 
 #, fuzzy
 #~ msgid "Mode type: {0} not supported."
@@ -9293,5 +9624,5 @@ msgstr "لم يمكن فتحه %s فى %s"
 #~ msgstr " [%s] غير قادر على أنشاء ملف عنوان رئيسى ل"
 
 #, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "إسم الراستر المدخلة"
+#~ msgid "Cannot fetch row"
+#~ msgstr "لم يمكن محو الخط"
diff --git a/locale/po/grasslibs_cs.po b/locale/po/grasslibs_cs.po
index 2fba0a0..6904c56 100644
--- a/locale/po/grasslibs_cs.po
+++ b/locale/po/grasslibs_cs.po
@@ -9,16 +9,15 @@
 # Jan Trochta <j.trochta seznam.cz>, 2008.
 # Miroslav Hořejší <miroslav.horejsi at fsv.cvut.cz>, 2009/01.
 # Pavel Valenta <pavel.valenta at fsv.cvut.cz>, 2009/01.
-# Stanislav Horáček <stanislav.horacek at gmail.com>, 2015.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_cs\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-03-15 18:32+0100\n"
-"Last-Translator: Stanislav Horáček <stanislav.horacek at gmail.com>\n"
-"Language-Team: <freegeocz at fsv.cvut.cz>\n"
+"Last-Translator: \n"
+"Language-Team:  <cs at li.org>\n"
 "Language: cs_CS\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -36,33 +35,28 @@ msgstr "%s: Nelze číst soubor s definicí písma; bude použit výchozí"
 msgid "%s: No font definition file"
 msgstr "%s: Není dostupný žádný soubor s definicí písma"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Nelze spustit ovladač <%s>"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Nelze spustit ovladač <%s>"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Nelze otevřít soubor %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -95,7 +89,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "%s nenalezeno v současném mapsetu (%s)"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "%s nenalezeno v současném mapsetu (%s)"
@@ -107,7 +101,7 @@ msgstr "%s nenalezeno v současném mapsetu (%s)"
 msgid "%s is missing"
 msgstr "jenž chybí."
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -140,7 +134,7 @@ msgstr ""
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -168,8 +162,8 @@ msgstr "Nelze kopírovat vektorovou mapu <%s> do <%s>"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -230,21 +224,33 @@ msgstr "Nelze otevřít <%s>"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Nelze otevřít soubor %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, fuzzy, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "POrušen soubor pro přihlášení"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Nelze smazat soubor <%s>"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Vektorová mapa <%s> již existuje a bude přepsána."
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Vektorová mapa <%s> již existuje a bude přepsána."
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -426,8 +432,10 @@ msgstr "Nelze spustit ovladač <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -439,45 +447,45 @@ msgstr "Nelze otevřít databázi <%s> pomocí ovladače <%s>"
 msgid "Unable to get list tables in database <%s>"
 msgstr "Nelze získat seznam tabulek v databázi <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Vektorová mapa <%s> již existuje a bude přepsána."
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Tabulka <%s> již existuje v databázi <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Nelze otevřít vybrat kurzor: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Sloupec <%s> není typu integer"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Sloupec <%s> nebyl nalezen"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Nelze vytvořit tabulku <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Nelze vybrat data z tabulky <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Neznámý typ sloupce (sloupec <%s>)"
@@ -548,6 +556,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "Nelze otevřít dočasný soubor '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -877,216 +889,216 @@ msgstr ""
 msgid "Category value"
 msgstr "Hodnota kategorie"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Hodnoty kategorie"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Např.: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "Id prvku"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "Id prvků"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "Název vstupního souboru %s"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "Název výstupního souboru"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Oddělovač"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Barva"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Buď název standardní barvy nebo R:G:B triplet"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Buď standardní GRASS barva, R:G:B triplet nebo \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 msgid "Name of input directory"
 msgstr "Název vstupního adresáře"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr "Jednotky"
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr "Typy dat"
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Neplatné souřadnice"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Název vstupní vektorové mapy"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr "Textový řetězec představující hodnotu NULL"
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Nelze nastavit zaostření"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Název vstupní rastrové mapy"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "Rastrová mapa <%s> není v aktuálním mapsetu (%s)"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Název výstupní rastrové mapy"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Název rastrové vrstvy výškového modelu"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Název rastrové vrstvy výškového modelu"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Název výstupní rastrové mapy"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Název vstupní vektorové mapy"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Název vstupní vektorové mapy"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Nedostatek místa ve vektorovém poli"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Název vstupní 3d rastrové vrstvy"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Název vstupní 3d rastrové vrstvy"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Název výstupní 3d rastrové vrstvy"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "Rastrová mapa <%s> není v aktuálním mapsetu (%s)"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Název vstupní rastrové mapy"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Název vstupní rastrové mapy"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Nelze zavřít vstupní mapu"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Rastrová mapa <%s> nebyla nalezena v mapsetu <%s>"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "Podmínka WHERE příkazu SQL bez klíčového slova 'where'"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 msgid "Do not create attribute table"
 msgstr "Nevytvářet atributovou tabulku"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr "Nevytvářet topologii"
 
@@ -1113,7 +1125,7 @@ msgid "SYNOPSIS"
 msgstr "Synopse"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Přepínače"
 
@@ -1133,7 +1145,7 @@ msgid "Quiet module output"
 msgstr "Redukovaný výpis"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Parametry"
 
@@ -1248,7 +1260,7 @@ msgstr "jednotky"
 msgid "unit"
 msgstr "jednotka"
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Neznámé kartografické zobrazení"
 
@@ -1323,7 +1335,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "UPOZORNĚNÍ: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "CHYBA: "
@@ -1406,17 +1418,17 @@ msgstr "Systém není inicializován. Programátor zapomněl zavolat G_gisinit()
 msgid "<%s> file not found for location <%s>"
 msgstr "soubor <%s> nebyl nalezen v lokaci <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s:Plocha %d neexistuje"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Nelze vytvořit prvek mapsetu %s (%s): %s"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Nelze zpřístupnit prvek mapsetu %s(%s): %s"
@@ -1617,6 +1629,11 @@ msgstr "duplicitní položka pro formát"
 msgid "Duplicate compressed field"
 msgstr "duplicitní komprimovaná položka"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, fuzzy, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1666,22 +1683,22 @@ msgstr "Neplatné es: položka '%s' v souboru %s v <%s>"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "V souboru %s v <%s> chybí informace o ref. elipsoidu"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): mapset <%s> neodpovídá xmapset <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Nelze otevřít '%s'"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: nelze otevřít soubor %s"
@@ -1869,8 +1886,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Neplatná hodnota rozlišení sever-jih"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1932,6 +1950,10 @@ msgstr "Hodnota pro východ musí být větší než pro západ"
 msgid "Invalid coordinates"
 msgstr "Neplatné souřadnice"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Neplatná hodnota rozlišení sever-jih"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Neplatné n-s3 rozlišení"
@@ -1996,79 +2018,79 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr " Pouze %d%% z okna uloženého v \"%s\" pokrývá aktuální okno GRASSu."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "BUG v popisu, volba %s v <%s> neexistuje"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "BUG v popisu, volba %s v <%s> neexistuje"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 "Použijte buď --quiet nebo --verbose indikátor ne oba. Použiji --verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr "Použijte buď --quiet nebo --verbose indikátor ne oba. Použiji --quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Promiňte, ale <%s> není platná volba\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "CHYBA: "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "nelze určit jméno programu"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Promiňte, ale <%c> není platný přepínač\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Promiňte, ale <%s=> je dvojznačný\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Promiňte, ale <%s> není platný parametr\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> v mapsetu <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2077,7 +2099,7 @@ msgstr ""
 "\n"
 "CHYBA: neplatná syntaxe rozsahu pro parametr <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2086,14 +2108,14 @@ msgstr ""
 "\n"
 "CHYBA: hodnota <%s> mimo rozsah parametru <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "CHYBA: Chybí hodnota pro parametr <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2102,7 +2124,7 @@ msgstr ""
 "\n"
 "CHYBA: hodnota <%s> mimo rozsah parametru <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2112,7 +2134,7 @@ msgstr ""
 "CHYBA: Povinný parametr <%s> nebyl zadán:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2121,37 +2143,37 @@ msgstr ""
 "\n"
 "CHYBA: volba <%s> musí být zadána jako násobek %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Promiňte, ale <%s> není platná volba\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Oddělovač"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Promiňte, ale <%s> není platná volba\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Typ prvku OGR %d není podporován"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Nelze otevřít soubor %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Nelze vytvořit tabulku <%s>"
@@ -2733,7 +2755,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Nedostatek paměti"
 
@@ -2755,11 +2778,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Načítání dat z atributové tabulky ..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Pro vrstvu %d nebylo definováno databázové připojení"
@@ -2953,7 +2978,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Zapsat 2d pole do rastrové mapy <%s>"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3065,8 +3090,8 @@ msgstr "Vstupní jednotkový faktor"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3624,6 +3649,30 @@ msgstr "Neznámý způsob interpolace"
 msgid "Failed to initialize Cairo surface"
 msgstr "Nelze inicializovat pj: %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3870,11 +3919,11 @@ msgstr "Nelze vytvořit hlavičkový soubor pro [%s]"
 msgid "Creating a new space time %s dataset"
 msgstr "Rastrová mapa <%s> nebyla nalezena v mapsetu <%s>"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4065,29 +4114,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Nelze číst hlavičkový soubor"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Nelze číst rozsah hodnot 3D rastrové mapy <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Nelze zavřít rastrovou mapu <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nelze otevřít vektorovou mapu <%s>"
@@ -4246,20 +4295,20 @@ msgstr "Rastrová mapa <%s> nebyla nalezena v mapsetu <%s>"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "Nelze otevřít soubor s definicí vektorové databáze '%s'"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4268,7 +4317,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Nelze otevřít soubor s definicí vektorové databáze '%s'"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4276,12 +4325,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Nelze otevřít soubor s definicí vektorové databáze '%s'"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Typy vektorových prvků"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4289,49 +4338,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Nelze smazat adresář '%s'"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nelze otevřít soubor s definicí vektorové databáze '%s'"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Nelze vytvořit tabulku <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Nelze spustit příkaz"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nelze otevřít hlavičkový soubor pro vektorovou mapu <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Nelze nalézt '%s'"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nelze otevřít hlavičkový soubor pro vektorovou mapu <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Nelze otevřít soubor <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Nelze spustit příkaz"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4339,14 +4376,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Nelze spustit příkaz"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4473,7 +4510,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Nelze najít vektorovou mapu <%s> v <%s>"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4588,64 +4625,64 @@ msgid ""
 "%s"
 msgstr "Vektorová mapa <%s> již existuje a bude přepsána."
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Neplatný soubor s časovou značkou pro %s mapu %s v mapsetu %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "syntaktická chyba"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Neplatný soubor s časovou značkou pro %s mapu %s v mapsetu %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Neplatný soubor s časovou značkou pro %s mapu %s v mapsetu %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
@@ -4670,7 +4707,7 @@ msgid "Error computing map <%s>"
 msgstr "Chyba při otevírání g3d mapy <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Nelze najít vektorovou mapu <%s> v <%s>"
@@ -4697,76 +4734,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  formát: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Název původní rastrové mapy"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Nelze najít vektorovou mapu <%s> v <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Název vstupní rastrové mapy"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Rastrová mapa <%s> nebyla nalezena"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Nelze zavřít vstupní mapu"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Nelze najít vektorovou mapu <%s> v <%s>"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Rastrová mapa <%s> nebyla nalezena"
@@ -4781,12 +4842,12 @@ msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Nelze číst rozmezí hodnot rastrové mapy <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Rastrová mapa <%s> nebyla nalezena"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
@@ -4841,7 +4902,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4856,7 +4917,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Nelze vybrat data z tabulky <%s>"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4864,46 +4929,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Nelze zavřít vstupní mapu"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Vektorová mapa <%s> již existuje a bude přepsána."
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Nedovolený název souboru. Soubor se nemůže jmenovat '.' nebo 'NIC'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Nedovolený název souboru. Znak <%c> není povolen.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4911,43 +4984,43 @@ msgid ""
 msgstr ""
 "Nelze oobnovit prvek %d, vektorová mapa <%s> není otevřena v módu pro 'zápis'"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Název vstupní vektorové mapy"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Barva"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "Pro vrstvu %d nebylo definováno databázové připojení"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Chyba při načítání vektorové mapy <%s>"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4992,75 +5065,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Typ prvku OGR %d není podporován"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Typ prvku OGR %d není podporován"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Typ prvku OGR %d není podporován"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Název sloupce atributové tabulky"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Potíže při čtení rastrové mapy"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Vektorová mapa <%s> již existuje a bude přepsána."
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Prvek OGR bez ID je ignorován"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Index je mimo rozsah"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Vektorová mapa <%s> již existuje a bude přepsána."
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Tabulka <%s> připojená k vektorové mapě <%s> neexistuje"
@@ -5069,19 +5142,33 @@ msgstr "Tabulka <%s> připojená k vektorové mapě <%s> neexistuje"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Nelze číst linii %d"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Nelze přepsat prvek %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5097,24 +5184,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Neznámý způsob interpolace"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr "Čtení rastrové mapy <%s@%s> požadavek pro řádek %d je mimo region"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Chyba při zápisu souboru s indexem kategorií <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "chyba při čtení prázdného řádku %d"
@@ -5244,51 +5347,46 @@ msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Chyba při zápisu souboru s indexem kategorií <%s>"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Nelze otevřít hlavičkový soubor vektorové mapy <%s>"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "nemohu nalézt dočasný nullový soubor %s"
+msgid "No null file for <%s>"
+msgstr "Nelze otevřít hlavičkový soubor vektorové mapy <%s>"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "Nelze otevřít soubor %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "chyba při čtení komprimované mapy <%s@%s>, řádek %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "chyba při čtení prázdného řádku %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: mapa [%s] není pro zápis otevřena - žádost ignorována"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: neotevřený souborový deskriptor - žádost ignorována"
@@ -5385,7 +5483,7 @@ msgstr "Nelze načíst GDAL knihovnu"
 msgid "Unable to open GDAL file"
 msgstr "Nelze otevřít soubor %s"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "Nesprávné jméno vektorové mapy <%s>"
@@ -5452,6 +5550,21 @@ msgstr "Nelze otevřít soubor %s v <%s>"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr "Systém není inicializován. Programátor zapomněl zavolat G_gisinit()."
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "syntaktická chyba"
@@ -5537,26 +5650,26 @@ msgstr "EmbedGivenNulls: špatný datový typ!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: špatný datový typ!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Nesprávné jméno vektorové mapy <%s>"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Nelze otevřít soubor <%s>"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Nelze smazat soubor <%s>"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "neschopen zapsat soubor f_format pro mapy CELL "
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5565,27 +5678,27 @@ msgstr ""
 "Nelze otevřít rastrovou mapu <%s@%s>, jelikož se jedná o reklasifikaci mapy<"
 "%s@%s>, která neexistuje"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "nelze číst soubor s rozsahem hodnot z [%s v %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Chyba při načítání 3D rastrové mapy <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "Rastrová mapa <%s@%s>:formát položky v hlavičkovém souboru je neplatný"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Rastrová mapa <%s> nebyla nalezena v mapsetu <%s>"
+msgid "Compression with %s is not supported"
+msgstr "Typ prvku OGR %d není podporován"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5594,17 +5707,17 @@ msgstr ""
 "Rastrová mapa<%s@%s> je v jiné projekci než současnýregion. Nalezena mapa <"
 "%s@%s>, měla by být <%s>"
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "Rastrová mapa <%s@%s> je v jiné zóně (%d) než současný region (%d)"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "Rastrová mapa<%s@%s>: příliš mnoho bytů na buňku (%d)"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
@@ -5612,68 +5725,73 @@ msgstr ""
 "map <%s@%s> je součásti knihovny GDAL, ale vaše kompilace GRASSu knihovnu "
 "GDAL nepodporuje."
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Nelze otevřít hlavičkový soubor rastrové mapy <%s@%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "chyba při čtení mapy <%s@%s>, řádek %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Nelze otevřít soubor %s"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Rastrová mapa <%s> není v aktuálním mapsetu (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> je neplatné jméno souboru"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "G__open_raster_new(): nejsou k dispozici žádné dočasné soubory"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Rastrová mapa <%s> není v aktuálním mapsetu (%s)"
+
+#: ../lib/raster/open.c:816
 #, fuzzy
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 "G_set_fp_type(): Může být zavoláno pouze s typy FCELL_TYPE nebo DCELL_TYPE"
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Rastrová mapa <%s> nebyla nalezena v mapsetu <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Nelze nalézt '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Neplatný typ: položka '%s' v souboru '%s'"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "Neplatný typ: položka '%s' v souboru '%s'"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Rastrová mapa <%s> není xdr:posloupnost_bytů: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 #, fuzzy
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
@@ -5705,11 +5823,16 @@ msgstr "Nelze zapsat kvantizační pravidla: mapa %s je celočíselná"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Nelze číst rozmezí hodnot rastrové mapy <%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Selhání při počátečním čtení komprimovaného souboru [%s v %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Selhání při počátečním čtení komprimovaného souboru [%s v %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6027,17 +6150,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Nelze otevřít soubor <%s>"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "UPOZORNĚNÍ: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Nastavení váhy uzlů ..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6045,115 +6168,149 @@ msgstr ""
 "Použití:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "použít výchozí"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "neplatná mapová projekce\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Nelze alokovat paměť"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Požadovaný formát není zkompilován v této verzi"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6163,268 +6320,295 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Promiňte, ale <%s> není platná volba\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "Prosím, oznamte tuto chybu vývojářům GRASSu.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s:Plocha %d neexistuje"
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s:Plocha %d neexistuje"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s:Plocha %d neexistuje"
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Vytváření grafu ..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - proměnná není nastavena"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Nastavení váhy uzlů ..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Připojení selhalo."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Nelze vybrat data z tabulky <%s>"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Nelze nastavit zaostření"
+
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "Nápověda pro příkaz [%s] není dostupná\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "nic"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "Nelze otevřít dočasný soubor"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Typ prvku OGR %d není podporován"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Nelze spustit ovladač <%s>"
@@ -6919,8 +7103,8 @@ msgstr "Nelze zapsat ostrovy do přídavného souboru"
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "Chyba GngFlatten"
 
@@ -7027,10 +7211,10 @@ msgstr "Nelze nalézt bod v polygonu"
 msgid "conditions failed"
 msgstr "Podmínka selhala"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7063,7 +7247,7 @@ msgstr "Nelze nastavit kategorii %d pro (prvek id %d)"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7084,22 +7268,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Nelze obnovit prvek %d z vektorové vrstvy <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Nelze otevřít hlavičkový soubor pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "Nelze otevřít hlavičkový soubor vektorové mapy <%s>"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Porušený řádek v hlavičce: %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Neznámé klíčové slovo %s v hlavičce vektorové mapy"
@@ -7127,7 +7311,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "pro tento formát/úroveň není podpora"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Pokus číst mrtvou linii "
 
@@ -7141,17 +7325,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Nelze číst linii %d"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Pokus o čtení bodů z neexistující plochy"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "Nelze přepsat prvek %d"
@@ -7169,17 +7353,17 @@ msgstr "Index vrstev je mimo rozsah"
 msgid "Category index out of range"
 msgstr "Index vrstev je mimo rozsah"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Nelze otevřít soubor s historií pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Chyba při zápisu souboru s indexem kategorií <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "Nelze otevřít soubor s historií pro vektorovou mapu <%s>"
@@ -7211,7 +7395,7 @@ msgstr "Prvek OGR bez ID je ignorován"
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Nelze otevřít zdroj dat OGR '%s'"
@@ -7314,7 +7498,7 @@ msgstr "Načítání selhalo"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7351,94 +7535,110 @@ msgstr "%s:Plocha %d neexistuje"
 msgid "Attempt to access dead area %d"
 msgstr "Pokus o odstranění mrtvé plochy"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Nelze vytvořit tabulku <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Nelze kopírovat tabulku <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Nelze kopírovat tabulku <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Nelze kopírovat tabulku <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Název mapy nevyhovuje podmínkám SQL"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "Nelze najít vektorovou mapu <%s> v <%s>"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Vektorová mapa <%s> již existuje a bude přepsána."
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Nelze smazat vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Nelze kopírovat vektorovou mapu <%s> do <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Nelze kopírovat tabulku <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Nelze smazat tabulku <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Nelze vytvořit index pro tabulku <%s>, klíč <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Nesprávné jméno vektorové mapy <%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Nelze otevřít hlavičkový soubor pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Nelze nelézt tabulku <%s> připojenou k vektorové mapě <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "Tabulka <%s> připojená k vektorové mapě <%s> neexistuje"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Nelze otevřít adresář <%s>"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Nelze smazat soubor <%s>"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Nelze přejmenovat adresář '%s' na '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "Nelze smazat adresář '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7463,12 +7663,12 @@ msgstr "Počet linií: %d"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Nelze otevřít soubor s historií pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
@@ -7477,7 +7677,7 @@ msgstr ""
 "Soubor se souřadnicemi (Coor) vektorové mapy <%s@%s> je větší než by měl být "
 "(%ld bytů přebývá)"
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7515,7 +7715,7 @@ msgstr "Typy vektorových prvků"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Nelze otevřít soubor s historií pro vektorovou mapu <%s>"
@@ -7569,6 +7769,164 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Vytváření grafu ..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Nelze sestavit síťový grafu"
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Sloupec pro váhu směr dopředu není specifikován"
+
+#: ../lib/vector/Vlib/net_build.c:156
+#, fuzzy
+msgid "Turntable field < 1"
+msgstr "Arc vrstva < 1"
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Sloupec <%s> nebyl nalezen v tabulce <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr "Datový typ sloupce <%s> není podporován (musí být integer nebo double)"
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "Nastavení váhy uzlů ..."
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Sloupec <%s> nebyl nalezen v tabulce <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"Datový záznam pro uzel %d (cat = %d) nebyl nalezen (váha nastavena na 0)"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Nelze přidat arc sítě"
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"Datový záznam pro uzel %d (cat = %d) nebyl nalezen (váha nastavena na 0)"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Nelze přidat arc sítě"
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr "Arc vrstva < 1"
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Registrování arcs ..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"Datová položka pro linii %d (cat = %d, dopředu/oba směry nebyla "
+"nalezena(dopředu/oba směry linie přeskočeny)"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"Datová položka pro linii %d (cat = %d, směr dozadu) nebyla nalezena(směr "
+"linie přeskočen)"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Zpracování grafu ..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Struktura grafu sestavena"
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+"Datová položka pro linii %d (cat = %d, dopředu/oba směry nebyla "
+"nalezena(dopředu/oba směry linie přeskočeny)"
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+"Datová položka pro linii %d (cat = %d, směr dozadu) nebyla nalezena(směr "
+"linie přeskočen)"
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "Nelze přidat arc sítě"
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7618,87 +7976,6 @@ msgstr "Index vrstev je mimo rozsah"
 msgid "Isle index is out of range"
 msgstr "Index vrstev je mimo rozsah"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Vytváření grafu ..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Nelze sestavit síťový grafu"
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Sloupec pro váhu směr dopředu není specifikován"
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr "Arc vrstva < 1"
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "Sloupec <%s> nebyl nalezen v tabulce <%s>"
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr "Datový typ sloupce <%s> není podporován (musí být integer nebo double)"
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Registrování arcs ..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-"Datová položka pro linii %d (cat = %d, dopředu/oba směry nebyla "
-"nalezena(dopředu/oba směry linie přeskočeny)"
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr ""
-"Datová položka pro linii %d (cat = %d, směr dozadu) nebyla nalezena(směr "
-"linie přeskočen)"
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "Nelze přidat arc sítě"
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "Nastavení váhy uzlů ..."
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"Datový záznam pro uzel %d (cat = %d) nebyl nalezen (váha nastavena na 0)"
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Zpracování grafu ..."
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Struktura grafu sestavena"
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "chyba dglShortestPath: %s"
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Chybný směr linie ve Vect_net_get_line_cost()"
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7823,7 +8100,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Špatné spojení se serverem"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7834,7 +8111,7 @@ msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 "Náhodné čtení není podporováno OGR pro tuto vrstvu, nelze vytvořit podporu"
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7849,7 +8126,7 @@ msgstr "Vytvářím topologii pro vektorovou vrstvu <%s>..."
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Vytvářím topologii pro vektorovou vrstvu <%s>..."
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7878,7 +8155,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Nelze otevřít soubor %s"
@@ -8057,8 +8334,8 @@ msgstr "Počet chybných hranic: %d"
 msgid "Number of redundant holes: %d"
 msgstr "Počet hranic: %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Nelze otevřít soubor s historií pro vektorovou mapu <%s>"
@@ -8155,16 +8432,16 @@ msgstr "Počet ploch: -"
 msgid "Number of isles: -"
 msgstr "Počet ostrovů: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Nelze číst hlavičkový soubor pro rastrovou mapu <%s@%s>"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Chyba při sestavení souboru s topologií"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
@@ -8173,21 +8450,21 @@ msgstr ""
 "Nelze vytvořit prostorový index z topologie, vektorová mapa není otevřena na "
 "úrovni 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "BUG (Vect_build_sidx_from_topo): bod neexistuje"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Nelze otevřít soubor s historií pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Chyba při zapisování souboru s prostorovým indexem."
 
@@ -8363,65 +8640,65 @@ msgstr "Neznámá Location"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "Počet primitiv: %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Vytváření ploch..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Nelze přepsat prvek %d"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Pokus o odstranění mrtvé plochy"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Nelze nastavit kategorii %d pro (prvek id %d)"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Nelze přepsat prvek %d"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 #, fuzzy
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 "Náhodné čtení není podporováno OGR pro tuto vrstvu, nelze vytvořit podporu"
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Nelze otevřít soubor s topologií pro zápis <%s>"
@@ -8431,7 +8708,7 @@ msgstr "Nelze otevřít soubor s topologií pro zápis <%s>"
 msgid "Unable to rewrite feature %d"
 msgstr "Nelze přepsat prvek %d"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Nesprávné jméno vektorové mapy <%s>"
@@ -8696,14 +8973,21 @@ msgstr "Porušený řádek v hlavičce: %s"
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Připojení selhalo."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Připojení selhalo."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8912,26 +9196,26 @@ msgstr "Výchozí ovladač není nastaven"
 msgid "Default database is not set"
 msgstr "Výchozí databáze není nastavena"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Požadovaný dblink %d, maximální počet spojení %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Chyba v pravidlu na řádku %d v %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Nelze otevřít vrstvu <%s>"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "Nelze otevřít ovladač pro OGR DBMI"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -8939,27 +9223,27 @@ msgstr ""
 "Všechny FID testy selhaly. Ani 'FID' ani 'ogc_fid' nebo 'ogr_fid' nebo gid' "
 "nejsou použitelné v OGR DB tabulce"
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "Neznámá Location"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Nelze otevřít hlavičkový soubor pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "Bug: pokus o aktualizaci mapy, která není v aktuálním mapsetu."
 
@@ -9032,23 +9316,23 @@ msgstr "Rastrová mapa <%s> není v aktuálním mapsetu (%s)"
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "Rastrová mapa <%s> není v aktuálním mapsetu (%s)"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Mapa, která není obsažena v aktuálním mapsetu, nemůže být otevřena pro zápis"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Nelze otevřít hlavičkový soubor pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "Nelze otevřít soubor s topologií pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9057,86 +9341,86 @@ msgstr ""
 "Nelze otevřít existující vektorovou mapu <%s> na úrovni %d. Zkuste "
 "přebudovat topologii pomocí v.build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Vytvářím topologii pro vektorovou vrstvu <%s>..."
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Nelze otevřít vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "Nelze otevřít soubor s historií pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Rastrová mapa <%s> není v aktuálním mapsetu (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Název mapy nevyhovuje podmínkám SQL"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Nelze otevřít soubor s historií pro vektorovou mapu <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "pro tento formát/úroveň není podpora"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Nelze otevřít soubor <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "Velikost souboru 'coor' se liší od hodnot uložených v souboru s topologií"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Vytvořte prosím znovu topologii pro vektorovou mapu <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 "Velikost souboru 'coor' se liší od hodnot uložených v souboru s topologií"
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Nelze otevřít soubor %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9204,89 +9488,89 @@ msgstr "Připojení selhalo."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Připojení selhalo."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Nelze přidat spojení s databází."
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Prvek OGR bez ID je ignorován"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Typy vektorových prvků"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Počet ploch bez centroidu: %d"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Nelze vybrat data z tabulky <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Nelze otevřít soubor <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9351,15 +9635,32 @@ msgstr "Linie není ukončena smyčkou"
 msgid "Topology info not available for feature %d"
 msgstr "Nápověda pro příkaz [%s] není dostupná\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "chyba dglShortestPath: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Chybný směr linie ve Vect_net_get_line_cost()"
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "Nelze přidat arc  do sítě"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Nesprávné jméno vektorové mapy <%s>"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9414,10 +9715,48 @@ msgstr "Nelze vytvořit tabulku <%s>"
 #~ msgid "Out of memmory"
 #~ msgstr "Nedostatek paměti"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Nelze otevřít soubor s definicí vektorové databáze '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Nelze otevřít hlavičkový soubor pro vektorovou mapu <%s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Nelze otevřít hlavičkový soubor pro vektorovou mapu <%s>"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "nemohu nalézt dočasný nullový soubor %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "Nelze otevřít soubor %s"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "CHYBA: volba <%s>: <%s> existuje.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Nesprávné jméno vektorové mapy <%s>"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Nelze otevřít soubor %s"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Promiňte, ale <%s> není platná volba\n"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "stiskněte RETURN pro pokračování -->"
 
diff --git a/locale/po/grasslibs_de.po b/locale/po/grasslibs_de.po
index 4e81177..ed68a3c 100644
--- a/locale/po/grasslibs_de.po
+++ b/locale/po/grasslibs_de.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2014-08-13 11:57+0200\n"
 "Last-Translator: Robert Nuske <robert.nuske nw-fva.de>\n"
 "Language-Team: German <grass-translations at lists.osgeo.org>\n"
@@ -35,33 +35,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr "%s: Keine Font-Definitionsdatei."
 
-#: ../lib/display/r_raster.c:128
-#, c-format
-msgid "%s variable defined, %s ignored"
-msgstr ""
+#: ../lib/display/r_raster.c:98
+#, fuzzy, c-format
+msgid "Both %s and %s are defined. %s will be ignored."
+msgstr "'where' und 'cats' Parameter wurden übergeben, cat wird ignoriert."
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Kann den Treiber <%s> nicht starten."
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Kann den Treiber <%s> nicht starten."
 
-#: ../lib/display/r_raster.c:236
-#, c-format
-msgid "Unable to open file '%s'"
-msgstr "Kann Datei '%s' nicht öffnen"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -94,7 +89,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "Keine %s Dateien im aktuellen Mapset vorhanden\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "Keine %s Dateien im aktuellen Mapset vorhanden\n"
@@ -106,7 +101,7 @@ msgstr "Keine %s Dateien im aktuellen Mapset vorhanden\n"
 msgid "%s is missing"
 msgstr "%s fehlt"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -139,7 +134,7 @@ msgstr "Kann Datenbank '%s' nicht öffnen."
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -167,8 +162,8 @@ msgstr "Kann die Vektorkarte <%s> nicht nach <%s> kopieren."
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -229,21 +224,33 @@ msgstr "Kann <%s> nicht öffnen."
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, fuzzy, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "Login-Datei fehlerhaft."
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Kann Datei '%s' nicht löschen."
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Vektorkarte <%s> existiert bereits und wird überschrieben."
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Vektorkarte <%s> existiert bereits und wird überschrieben."
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -427,8 +434,10 @@ msgstr "Kann den Treiber <%s> nicht starten."
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -440,45 +449,45 @@ msgstr "Kann die Datenbank <%s> nicht mit dem Treiber <%s> öffnen."
 msgid "Unable to get list tables in database <%s>"
 msgstr "Kann die Tabellen der Datenbank <%s> nicht auflisten."
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Vektorkarte <%s> existiert bereits und wird überschrieben."
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Tabelle <%s> existiert bereits in der Datenbank <%s>."
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Kann den Select-Cursor '%s' nicht öffnen."
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Spalte <%s> ist nicht Integer."
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Spalte <%s> nicht gefunden."
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Kann die Tabelle <%s> nicht anlegen."
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Kann keine Daten aus der Tabelle <%s> beziehen."
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Unbekannter Spaltentyp (Spalte <%s>)."
@@ -548,6 +557,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "Kann die Debug-Datei '%s' nicht öffnen."
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -875,216 +888,216 @@ msgstr ""
 msgid "Category value"
 msgstr "Kategoriewert"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Kategoriewerte"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Beispiel: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "Objekt-ID"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "Objekt-IDs"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr "Name der  Eingabedatei"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "Name der Ausgabedatei"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Feld-Trennzeichen"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 #, fuzzy
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr "Spezialzeichen: Zeilenumbruch, Leerzeichen, Komma, Tabulator"
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Farben"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Entweder ein Standardfarbname oder ein R:G:B Tripel."
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Entweder eine Standard GRASS-Farbe, ein R:G:B-Tripel oder \"none\"."
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Name der  Eingabedatei"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 msgid "Coordinates"
 msgstr "Koordinaten"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Name der Eingabe-Vektorkarte"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Name der Attributspalte"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Name der Eingabe-Rasterkarte(n)"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "BUG: Aktualisiere die Karte, welche nicht im aktuellen Mapset ist."
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Name der Ausgabe-Rasterkarte"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Name der Höhenkarte"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Name der Höhenkarte"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Name der Ausgaberasterkarte."
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Name der Eingabe-Vektorkarte(n)"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Name der Eingabe-Vektorkarte(n)"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Nicht genug Platz im Vektor-Array."
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Name der Eingabe-3D-Rasterkarte"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Name der Eingabe-3D-Rasterkarte"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Name der Ausgabe-3D-Rasterkarte"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "BUG: Aktualisiere die Karte, welche nicht im aktuellen Mapset ist."
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Name der Eingabe-Rasterkarte"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Name der Eingabe-Rasterkarte"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Kann die Eingabekarte nicht schließen."
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Rasterkarte <%s> nicht im Mapset <%s> gefunden."
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "WHERE Bedingungen des SQL-Ausdrucks ohne das Schlüsselwort 'where'."
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Lade Daten aus der Attributtabelle ..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1111,7 +1124,7 @@ msgid "SYNOPSIS"
 msgstr "SYNOPSIS"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Flags"
 
@@ -1131,7 +1144,7 @@ msgid "Quiet module output"
 msgstr "Schweigsamer Ausgabemodus"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Parameter"
 
@@ -1235,7 +1248,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Unbekannte Projektion."
 
@@ -1310,7 +1323,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "WARNUNG: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "FEHLER: "
@@ -1396,17 +1409,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "Datei <%s> ist nicht in der Location <%s> zu finden."
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: Fläche %d existiert nicht."
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Kann das Mapset Element %s (%s) nicht erzeugen: %s."
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Kann auf das Mapset Element %s (%s) nicht zugreifen: %s."
@@ -1604,6 +1617,11 @@ msgstr "Doppeltes Format-Feld."
 msgid "Duplicate compressed field"
 msgstr "Doppeltes komprimiertes Feld."
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, fuzzy, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1653,22 +1671,22 @@ msgstr "Ungültiges es: Feld '%s' in Datei %s in <%s>."
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Keine Ellipsoid-Info in Datei %s in <%s>."
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): mapset <%s> passt nicht zu xmapset <%s>."
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Kann '%s' nicht öffnen."
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: Kann die Datei %s nicht öffnen."
@@ -1853,8 +1871,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Ungültige N-S Auflösung."
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1913,6 +1932,10 @@ msgstr "Ostwert muss größer als der Westwert sein."
 msgid "Invalid coordinates"
 msgstr "Ungültige Koordinaten."
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Ungültige N-S Auflösung."
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Ungültige N-S3 Auflösung."
@@ -1981,81 +2004,81 @@ msgstr ""
 " Nur %d%% des in \"%s\" abgespeicherten Fensters überlappt mit dem "
 "derzeitigen GRASS-Fenster."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "BUG in Beschreibungen, Option '%s' in <%s> existiert nicht."
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "BUG in Beschreibungen, Option '%s' in <%s> existiert nicht."
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 "Verwenden Sie entweder --quiet oder --verbose, aber nicht beide. Verwende --"
 "verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 "Verwenden Sie entweder --quiet oder --verbose, aber nicht beide. Verwende --"
 "quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Tut mir leid, <%s> ist keine gültige Option"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 msgid "ERROR"
 msgstr "FEHLER"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "Kann den Namen des Programms nicht herausfinden."
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Tut mir leid, <%c> ist kein gültiges Flag"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Tut mir leid, <%s=> ist nicht eindeutig.\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Tut mir leid, <%s> ist kein gültiger Parameter.\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> in Mapset <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2064,7 +2087,7 @@ msgstr ""
 "\n"
 "Fehler: Ungültige Syntax für Wertebereich des Parameters <%s>.\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2073,14 +2096,14 @@ msgstr ""
 "\n"
 "FEHLER: Wert <%s> ist außerhalb des Wertebereichs des Parameters <%s>.\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "FEHLER: Fehlender Wert für Parameter <%s>.\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2089,7 +2112,7 @@ msgstr ""
 "\n"
 "FEHLER: Wert <%s> ist außerhalb der Spanne von Parameter <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2098,7 +2121,7 @@ msgstr ""
 "FEHLER: Benötigter Parameter <%s> wurde nicht angegeben:\n"
 "\t(%s)\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2107,37 +2130,37 @@ msgstr ""
 "\n"
 "FEHLER: Option <%s> muss als Vielfaches von %d angegeben werden.\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Tut mir leid, <%s> ist keine gültige Option"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Feld-Trennzeichen"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Tut mir leid, <%s> ist keine gültige Option"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "OGR Objekttyp %d wird nicht unterstützt."
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Kann die Tabelle <%s> nicht anlegen."
@@ -2717,7 +2740,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Nicht genügend Arbeitsspeicher."
 
@@ -2739,11 +2763,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Lade Daten aus der Attributtabelle ..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Die Datenbankverbindung für den Layer <%d> ist nicht definiert."
@@ -2941,7 +2967,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Schreibe 2D Array in die Rasterkarte <%s>."
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3053,8 +3079,8 @@ msgstr "Ausgabe des Einheitenfaktors"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3620,6 +3646,30 @@ msgstr "Unbekannte Interpolationsmethode."
 msgid "Failed to initialize Cairo surface"
 msgstr "Kann Datei %s in %s nicht öffnen"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3866,11 +3916,11 @@ msgstr "Kann Header-Datei für [%s] nicht erstellen."
 msgid "Creating a new space time %s dataset"
 msgstr "Rasterkarte <%s> nicht im Mapset <%s> gefunden."
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4061,29 +4111,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Kann Header-Datei nicht lesen."
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Kann den Wertebereich der 3D Rasterkarte <%s> nicht lesen."
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Kann die 3D Rasterkarte <%s> nicht schließen."
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht öffnen."
@@ -4242,20 +4292,20 @@ msgstr "Rasterkarte <%s> nicht im Mapset <%s> gefunden."
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "Kann Datei '%s' mit Definition der Vektor-Datenbank nicht öffnen."
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4264,7 +4314,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Kann Datei '%s' mit Definition der Vektor-Datenbank nicht öffnen."
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4272,12 +4322,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Kann Datei '%s' mit Definition der Vektor-Datenbank nicht öffnen."
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Eigenschaften"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4285,49 +4335,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Kann das Verzeichnis '%s' nicht löschen."
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Kann Datei '%s' mit Definition der Vektor-Datenbank nicht öffnen."
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Kann die Tabelle <%s> nicht anlegen."
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Kann den Befehl nicht ausführen."
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Vektor Karte"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Kann '%s' nicht finden"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Vektor Karte"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Unable to stat file <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Kann den Befehl nicht ausführen."
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4335,14 +4373,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Kann den Befehl nicht ausführen."
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4469,7 +4507,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Kann die Vektorkarte <%s> in <%s> nicht finden."
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4584,63 +4622,63 @@ msgid ""
 "%s"
 msgstr "Vektorkarte <%s> existiert bereits und wird überschrieben."
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Raster Karte."
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Raster Karte."
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Ungültige Zeitstempel-Datei für %s Karte %s in Mapset %s."
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr "Interner Fehler"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Raster Karte."
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Raster Karte."
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Raster Karte."
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Ungültige Zeitstempel-Datei für %s Karte %s in Mapset %s."
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Raster Karte."
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Raster Karte."
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Ungültige Zeitstempel-Datei für %s Karte %s in Mapset %s."
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Raster Karte."
@@ -4665,7 +4703,7 @@ msgid "Error computing map <%s>"
 msgstr "Fehler beim Öffnen der G3D-Rasterkarte <%s>."
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Kann die Vektorkarte <%s> in <%s> nicht finden."
@@ -4692,76 +4730,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  Format: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Name der Basis-Rasterkarte"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Kann die Vektorkarte <%s> in <%s> nicht finden."
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Name der Eingabe-Rasterkarte"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Rasterkarte <%s> wurde nicht gefunden."
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Kann die Eingabekarte nicht schließen."
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Kann die Vektorkarte <%s> in <%s> nicht finden."
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Rasterkarte <%s> wurde nicht gefunden."
@@ -4776,12 +4838,12 @@ msgstr "Raster Karte."
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Raster Karte"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Rasterkarte <%s> wurde nicht gefunden."
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Raster Karte."
@@ -4836,7 +4898,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4851,7 +4913,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Kann keine Daten aus der Tabelle <%s> holen."
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4859,46 +4925,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Kann die Eingabekarte nicht schließen."
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Vektorkarte <%s> existiert bereits und wird überschrieben."
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Ungültiger Dateiname.  Er darf nicht '.' oder 'NULL' sein.\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Ungültiger Dateiname. Das Zeichen <%c> ist nicht erlaubt.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4907,42 +4981,42 @@ msgstr ""
 "Kann Objekt %d nicht wiederherstellen. Vektorkarte <%s> ist nicht im "
 "Schreibmodus geöffnet."
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "keine Daten"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "color"
 msgstr "Farbe"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "Die Datenbankverbindung für den Layer <%d> nicht definiert."
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Fehler beim Laden der Vektorkarte <%s>."
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4985,75 +5059,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "OGR Objektart %d wird nicht unterstützt."
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "OGR Objektart %d wird nicht unterstützt."
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "OGR Objektart %d wird nicht unterstützt."
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Name der Attributspalte"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Raster Karte"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Vektorkarte <%s> existiert bereits und wird überschrieben."
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "OGR feature ohne ID ignoriert."
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Index liegt außerhalb des Wertebereichs in"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Vektorkarte <%s> existiert bereits und wird überschrieben."
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Tabelle <%s> verknüpft mit Vektorkarte <%s> existiert nicht."
@@ -5062,19 +5136,33 @@ msgstr "Tabelle <%s> verknüpft mit Vektorkarte <%s> existiert nicht."
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Kann Linien-Offset %ld nicht lesen."
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Kann die Objekt-ID %d nicht lesen."
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5090,26 +5178,42 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Unbekannter Interpolationstyp."
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 "Die Leseanfrage der Rasterkarte <%s@%s> für Zeile %d ist außerhalb der "
 "Region."
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Fehler Karte"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Fehler Karte"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Fehler"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Fehler Karte"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Fehler Karte"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Fehler beim Lesen der NULL-Zeile %d."
@@ -5233,52 +5337,47 @@ msgstr "Fehler Karte"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "Fehler Karte"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "Fehler Karte"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "Fehler Karte"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Fehler"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Kann die History-Datei für die Vektorkarte <%s> nicht öffnen."
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "Kann keine temporäre NULL-Datei %s finden."
+msgid "No null file for <%s>"
+msgstr "Kann die History-Datei für die Vektorkarte <%s> nicht öffnen."
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: Kann die Datei %s nicht öffnen."
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "Fehler Karte"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "Fehler beim Schreiben der Null-Reihe %d."
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr ""
 "%s: Karte [%s] ist nicht zum Schreiben geöffnet - Anfrage wird ignoriert."
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: Ungeöffneter Dateibeschreiber - Anfrage ignoriert."
@@ -5377,7 +5476,7 @@ msgstr "Kann die GDAL-Bibliothek nicht laden."
 msgid "Unable to open GDAL file"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "Kann nicht zum Verzeichnis %s wechseln."
@@ -5446,6 +5545,21 @@ msgstr ""
 "Fehler. System ist nicht initialisiert. Der Programmierer hat vergessen, "
 "G_gisinit() aufzurufen.\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "Syntaxfehler"
@@ -5531,26 +5645,26 @@ msgstr "EmbedGivenNulls: Falscher Datentyp!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: falscher Datentyp!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Kann nicht zum Verzeichnis %s wechseln."
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "Kann f_format Datei für cell-Karten nicht schreiben."
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5559,109 +5673,114 @@ msgstr ""
 "Kann die Rasterkarte <%s@%s> nicht öffnen, weil es eine Reklassifizierung "
 "der Rasterkarte <%s@%s> ist, welche nicht existiert."
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "Kann range Datei für [%s in %s] nicht lesen."
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Fehler Raster Karte"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "Rasterkarte <%s@%s>: Formatfeld in Header-Datei ungültig."
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Rasterkarte <%s> nicht im Mapset <%s> gefunden."
+msgid "Compression with %s is not supported"
+msgstr "OGR Objekttyp %d wird nicht unterstützt."
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr "Raster Karte Raster Karte."
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "Raster Karte"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "Raster Karte"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr "Karte"
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Raster Karte"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Fehler Karte"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Rasterkarte <%s> ist nicht im aktuellen Mapset (%s)."
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> ist ein ungültiger Dateiname."
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, c-format
 msgid "No temp files available: %s"
 msgstr "Keine temp Dateien vorhanden: %s"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Rasterkarte <%s> ist nicht im aktuellen Mapset (%s)."
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Rasterkarte <%s> nicht im Mapset <%s> gefunden."
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Kann '%s' nicht finden."
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Ungültiger Typ: Feld '%s' in Datei '%s'. "
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "ungültiger Typ: Feld %s in Datei %s. "
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Rasterkarte <%s> ist nicht xdr: byte_order: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 #, fuzzy
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
@@ -5691,11 +5810,16 @@ msgstr "Kann keine quant-Regeln schreiben: Karte %s ist eine Integerkarte."
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Raster Karte"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Initiales Einlesen der komprimierten Datei [%s in %s] fehlgeschlagen."
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Initiales Einlesen der komprimierten Datei [%s in %s] fehlgeschlagen."
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6021,127 +6145,161 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 msgid "WARNING"
 msgstr "WARNUNG:"
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 msgid "Exiting..."
 msgstr "Beende..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 msgid "Usage"
 msgstr "Benutzung"
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "Zum Akzeptieren der Standardeinstellung"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "Ungültige Projektion\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Kann keinen Speicher für temporäres Bild belegen."
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Das angeforderte Format ist in diese Version nicht einkompiliert."
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6151,267 +6309,294 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Tut mir leid, <%s> ist keine gültige Option\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:823
 #, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
+
+#: ../lib/init/grass.py:827
+#, python-format
+msgid ""
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "Bitte unterrichten Sie die GRASS-Entwickler über diesen Fehler.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s: Fläche %d existiert nicht."
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: Fläche %d existiert nicht."
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s: Fläche %d existiert nicht."
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Erzeuge Graphen..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - Variable nicht gesetzt."
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Beende..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Verbindung fehlgeschlagen."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Kann keine Daten aus der Tabelle <%s> holen."
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Kann Focus nicht setzten."
+
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "Leider keine Hilfe für den Befehl [%s] verfügbar.\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
+#: ../lib/init/grass.py:1561
+msgid "Done."
+msgstr "Erledigt."
 
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
+#: ../lib/init/grass.py:1563
 msgid "Goodbye from GRASS GIS"
 msgstr ""
 
-#: ../lib/init/grass.py:1188
-msgid "Done."
-msgstr "Erledigt."
-
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "Kann temporäre Datei nicht öffnen."
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "OGR Objekttyp %d wird nicht unterstützt."
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Kann den Treiber <%s> nicht starten."
@@ -6894,8 +7079,8 @@ msgstr "Kann Inseln nicht in die plus-Datei schreiben."
 msgid "Computing minimum spanning tree..."
 msgstr "Berechne minimalen aufspannenden Baum..."
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "GngFlatten Fehler"
 
@@ -7000,10 +7185,10 @@ msgstr "Kann Punkt in Polygon nicht finden."
 msgid "conditions failed"
 msgstr "Bedingungen fehlgeschlagen."
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7038,7 +7223,7 @@ msgstr "Kann Datei head nicht lesen"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7059,22 +7244,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Kann Objekt %d der Vektorkarte <%s> nicht wiederherstellen."
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Vektor Karte"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "Kann Header-Datei der Vektorkarte <%s> nicht öffnen."
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Kaputte Zeile im Header: %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Unbekanntes Schlüsselwort %s in Vektor header."
@@ -7101,7 +7286,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "nur das native Format unterstützt"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Versuche tote Linie zu lesen."
 
@@ -7116,17 +7301,17 @@ msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 "Vect_read_area_geos(): Kann Insel-ID %d der Fläche mit ID %d nicht lesen."
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Kann Linien-Offset %ld nicht lesen."
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Versuche Punkte nicht existenter Fläche mit ID %d zu lesen."
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr "Kann die Objekt-ID %d nicht lesen."
@@ -7144,17 +7329,17 @@ msgstr "Layerindex außerhalb des Wertebereichs."
 msgid "Category index out of range"
 msgstr "Layerindex außerhalb des Wertebereichs."
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Kann die Kategorieindex-Datei der Vektorkarte <%s> nicht öffnen."
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Fehler beim Schreiben der Kategorieindex-Datei <%s>."
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "Kann die Kategorieindex-Datei der Vektorkarte <%s> nicht öffnen."
@@ -7186,7 +7371,7 @@ msgstr "OGR feature ohne ID ignoriert."
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Kann die OGR-Datenquelle '%s' nicht öffnen."
@@ -7290,7 +7475,7 @@ msgstr "Laden fehlgeschlagen."
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7327,94 +7512,110 @@ msgstr "%s: Fläche %d existiert nicht."
 msgid "Attempt to access dead area %d"
 msgstr "Versuche ein totes Objekt zu löschen"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Kann die Tabelle <%s> nicht anlegen."
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Kann die Tabelle <%s> nicht kopieren."
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Kann die Tabelle <%s> nicht kopieren."
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Kann die Tabelle <%s> nicht kopieren."
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Name der Vektorkarte ist nicht SQL kompatibel."
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "Kann die Vektorkarte <%s> in <%s> nicht finden."
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Vektorkarte <%s> existiert bereits und wird überschrieben."
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Kann Vektorkarte <%s> nicht löschen."
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht nach <%s> kopieren."
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Kann die Tabelle <%s> nicht kopieren."
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Kann Tabelle <%s> nicht löschen."
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Kann keinen Index für die Tabelle <%s>, Schlüssel <%s> erzeugen."
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Ungültiger Name für Vektorkarte <%s>."
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Kann Header-Datei der Vektorkarte <%s> nicht öffnen."
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Kann die Tabelle <%s> verknüpft mit Vektorkarte <%s> nicht finden."
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "Tabelle <%s> verknüpft mit Vektorkarte <%s> existiert nicht."
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Kann das Verzeichnis '%s' nicht öffnen."
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Kann Datei '%s' nicht löschen."
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Kann das Verzeichnis '%s' nicht in '%s' umbenennen."
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "Kann das Verzeichnis '%s' nicht löschen."
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7439,12 +7640,12 @@ msgstr "%s Linien: %d"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Vektor Karte"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
@@ -7453,7 +7654,7 @@ msgstr ""
 "Coor-Datei der Vektorkarte <%s@%s> ist größer als sie sein sollte (%ld Byte "
 "Überschuss)."
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7491,7 +7692,7 @@ msgstr "Eigenschaften"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Kann die Kategorieindex-Datei der Vektorkarte <%s> nicht öffnen."
@@ -7545,6 +7746,167 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Erzeuge Graphen..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Kann den Netzwerk-Graph nicht erzeugen."
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Spalte der Vorwärtskosten nicht angegeben."
+
+#: ../lib/vector/Vlib/net_build.c:156
+#, fuzzy
+msgid "Turntable field < 1"
+msgstr "Arc Feld < 1"
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Spalte <%s> nicht in Tabelle <%s> gefunden."
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
+"Spaltentyp der Spalte <%s> wird nicht unterstützt (muss numerisch sein)."
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "Setze Kosten der Knoten..."
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Spalte <%s> nicht in Tabelle <%s> gefunden."
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"Datenbankeintrag für Knoten %d (cat = %d) nicht gefunden (Kosten auf 0 "
+"gesetzt)."
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Kann Netzwerk arc nicht hinzufügen."
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"Datenbankeintrag für Knoten %d (cat = %d) nicht gefunden (Kosten auf 0 "
+"gesetzt)."
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Kann Netzwerk arc nicht hinzufügen."
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr "Arc Feld < 1"
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Registriere arcs..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"Datenbankeintrag für Linie %d (cat = %d, vorwärts/beide Richtung(en)) nicht "
+"gefunden (vorwärts/beide Richtung(en) der Linie übersprungen)."
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"Datenbankeintrag für Linie %d (cat = %d, rückwärts Richtung) nicht gefunden "
+"(Richtung der Linie übersprungen)."
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Mache den Graph flach..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Graph wurde erstellt."
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+"Datenbankeintrag für Linie %d (cat = %d, vorwärts/beide Richtung(en)) nicht "
+"gefunden (vorwärts/beide Richtung(en) der Linie übersprungen)."
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+"Datenbankeintrag für Linie %d (cat = %d, rückwärts Richtung) nicht gefunden "
+"(Richtung der Linie übersprungen)."
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "Kann Netzwerk arc nicht hinzufügen."
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7594,89 +7956,6 @@ msgstr "Layerindex außerhalb des Wertebereichs."
 msgid "Isle index is out of range"
 msgstr "Layerindex außerhalb des Wertebereichs."
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Erzeuge Graphen..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Kann den Netzwerk-Graph nicht erzeugen."
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Spalte der Vorwärtskosten nicht angegeben."
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr "Arc Feld < 1"
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "Spalte <%s> nicht in Tabelle <%s> gefunden."
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr ""
-"Spaltentyp der Spalte <%s> wird nicht unterstützt (muss numerisch sein)."
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Registriere arcs..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-"Datenbankeintrag für Linie %d (cat = %d, vorwärts/beide Richtung(en)) nicht "
-"gefunden (vorwärts/beide Richtung(en) der Linie übersprungen)."
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr ""
-"Datenbankeintrag für Linie %d (cat = %d, rückwärts Richtung) nicht gefunden "
-"(Richtung der Linie übersprungen)."
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "Kann Netzwerk arc nicht hinzufügen."
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "Setze Kosten der Knoten..."
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"Datenbankeintrag für Knoten %d (cat = %d) nicht gefunden (Kosten auf 0 "
-"gesetzt)."
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Mache den Graph flach..."
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Graph wurde erstellt."
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "dglShortestPath Fehler: %s"
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Falsche Linienrichtung in Vect_net_get_line_cost()."
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7803,7 +8082,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Keine DB Verbindung"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7815,7 +8094,7 @@ msgstr ""
 "Direktes Lesen wird von OGR für diesen Layer nicht unterstützt, kann Support "
 "nicht erzeugen."
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7830,7 +8109,7 @@ msgstr "Erstelle Topologie für die Vektorkarte <%s>..."
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Erstelle Topologie für die Vektorkarte <%s>..."
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7857,7 +8136,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Kann Datei %s nicht öffnen."
@@ -8037,8 +8316,8 @@ msgstr "Anzahl inkorrekter Grenzen: %d"
 msgid "Number of redundant holes: %d"
 msgstr "Anzahl der Grenzen: %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Vektor Karte"
@@ -8135,37 +8414,37 @@ msgstr "Anzahl der Flächen: -"
 msgid "Number of isles: -"
 msgstr "Anzahl der Inseln: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Raster Karte."
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Fehler beim Schreiben der Topologie-Datei."
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "Vektor Karte"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "BUG (Vect_build_sidx_from_topo): Knoten existiert nicht."
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Vektor Karte"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Fehler beim Schreiben des räumlichen Index."
 
@@ -8339,58 +8618,58 @@ msgstr "unbekannt"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr "Fang Vertices Durchgang 1: Selektiere Punkte"
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr "Fang Vertices Durchgang 2: Weise Anker-Vertices zu"
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr "Fang Vertices Durchgang 3: Fange zugewiesene Punkte"
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr "Gefangene Vertices: %d"
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, c-format
 msgid "New vertices: %d"
 msgstr "Neue Vertices: %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Erzeuge Flächen..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Kann Objekt %d nicht lesen."
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Versuche ein totes Objekt zu löschen"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Kann Datei head nicht lesen"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Kann Objekt %d nicht lesen."
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 #, fuzzy
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
@@ -8398,7 +8677,7 @@ msgstr ""
 "Direktes Lesen wird von OGR für diesen Layer nicht unterstützt, kann Support "
 "nicht erzeugen."
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Kann Topologiedatei nicht zum Schreiben von <%s> öffnen"
@@ -8408,7 +8687,7 @@ msgstr "Kann Topologiedatei nicht zum Schreiben von <%s> öffnen"
 msgid "Unable to rewrite feature %d"
 msgstr "Kann Objekt %d nicht schreiben."
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Kann nicht zum Verzeichnis %s wechseln."
@@ -8673,14 +8952,21 @@ msgstr "Kaputte Zeile im Header: %s"
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Verbindung fehlgeschlagen."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Verbindung fehlgeschlagen."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8889,26 +9175,26 @@ msgstr "Standard-Treiber wurde nicht angegeben."
 msgid "Default database is not set"
 msgstr "Standard-Datenbank ist nicht angegeben."
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Angeforderte Datenbankverknüpfung %d, maximale Verknüpfungsanzahl %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Fehler in Regel in Zeile %d in %s."
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "Kann den OGR DBMI-Treiber nicht öffnen."
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -8916,27 +9202,27 @@ msgstr ""
 "Alle FID Tests fehlgeschlagen. Weder 'FID' noch 'ogc_fid', 'ogr_fid', 'gid' "
 "sind in der OGR DB Tabelle vorhanden."
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "unbekannt"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Vektor Karte"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 "Bug: Versuch eine Karte zu aktualisieren, die nicht im aktuellen Mapset ist."
@@ -9011,24 +9297,24 @@ msgstr "BUG: Aktualisiere die Karte, welche nicht im aktuellen Mapset ist."
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "BUG: Aktualisiere die Karte, welche nicht im aktuellen Mapset ist."
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Eine Karte, die sich nicht im aktuellen Mapset befindet, kann nicht zum "
 "Aktualisierung geöffnet werden."
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Vektor Karte"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "Kann Topologie-Datei der Vektorkarte <%s> nicht öffnen."
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9037,86 +9323,86 @@ msgstr ""
 "Kann die Vektorkarte <%s> nicht auf Level %d öffnen. Versuchen Sie die "
 "Topologie mit v.build neu anzulegen."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Vektor Karte."
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Vektor Karte"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "Kann die History-Datei der Vektorkarte <%s> nicht öffnen."
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Rasterkarte <%s> ist nicht im aktuellen Mapset (%s)."
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Name der Vektorkarte ist nicht SQL kompatibel."
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Vektor Karte"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "nur das native Format unterstützt"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Unable to stat file <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "Größe der 'coor' Datei unterscheidet sich von dem in der Topologie-Datei "
 "gespeicherten Wert."
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Bitte erneuern Sie die Topologie der Vektorkarte <%s@%s>."
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr "Größe"
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9184,89 +9470,89 @@ msgstr "Verbindung fehlgeschlagen."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Verbindung fehlgeschlagen."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Kann Datenbankverknüpfung nicht hinzufügen."
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "OGR feature ohne ID ignoriert."
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Eigenschaften"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Anzahl der Flächen ohne Zentroid: %d"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Kann keine Daten aus der Tabelle <%s> beziehen."
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Kann Datei %s nicht öffnen."
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9331,15 +9617,32 @@ msgstr "Linie ist nicht gelooped."
 msgid "Topology info not available for feature %d"
 msgstr "Leider keine Hilfe für den Befehl [%s] verfügbar.\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "dglShortestPath Fehler: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Falsche Linienrichtung in Vect_net_get_line_cost()."
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "Kann 'network arc' nicht hinzufügen."
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Kann nicht zum Verzeichnis %s wechseln."
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9393,10 +9696,47 @@ msgstr "Kann die Tabelle <%s> nicht anlegen."
 #~ msgid "Out of memmory"
 #~ msgstr "Nicht genügend Arbeitsspeicher"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Kann Datei '%s' mit Definition der Vektor-Datenbank nicht öffnen."
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Vektor Karte"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Vektor Karte"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "Kann keine temporäre NULL-Datei %s finden."
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: Kann die Datei %s nicht öffnen."
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Tut mir leid, <%s> ist keine gültige Option\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "FEHLER: Option <%s>: <%s> existiert bereits.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Kann nicht zum Verzeichnis %s wechseln."
+
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Kann Datei '%s' nicht öffnen"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "RETURN zum Weitermachen drücken -->"
 
@@ -9404,6 +9744,25 @@ msgstr "Kann die Tabelle <%s> nicht anlegen."
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "Vektorkarte <%s> ist nicht auf Level >= 2 geöffnet."
 
+#~ msgid "Background color"
+#~ msgstr "Hintergrundfarbe"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Name der Eingaberasterkarte."
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "OGR Objektart %d wird nicht unterstützt."
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "Kann nicht zum Verzeichnis %s wechseln."
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "Kann nicht zum Verzeichnis %s wechseln."
+
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "Attribute für Kategorie %d nicht gefunden."
 
@@ -9428,22 +9787,3 @@ msgstr "Kann die Tabelle <%s> nicht anlegen."
 
 #~ msgid "G_oldsite_new_struct: invalid # dims or fields"
 #~ msgstr "G_oldsite_new_struct: Ungültige # Dimensionen oder Felder"
-
-#~ msgid "Background color"
-#~ msgstr "Hintergrundfarbe"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "OGR Objektart %d wird nicht unterstützt."
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "Kann nicht zum Verzeichnis %s wechseln."
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "Kann nicht zum Verzeichnis %s wechseln."
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Name der Eingaberasterkarte."
diff --git a/locale/po/grasslibs_el.po b/locale/po/grasslibs_el.po
index 1db0768..87f9395 100644
--- a/locale/po/grasslibs_el.po
+++ b/locale/po/grasslibs_el.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_el\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2008-10-16 11:25+0300\n"
 "Last-Translator: Vasilios Antoniou <antoniou_v at yahoo.gr>\n"
 "Language-Team: Greek <grass-translations at lists.osgeo.org>\n"
@@ -30,33 +30,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr "%s: Δεν υπαρχειο αρχείο γραμματοσειράς"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Αδυναμία εκκίνησης του οδηγού <%s>"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Αδυναμία εκκίνησης του οδηγού <%s>"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Αδυναμία ανοίγματος αρχείου %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -89,7 +84,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχον mapset (%s)"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχον mapset (%s)"
@@ -101,7 +96,7 @@ msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχο
 msgid "%s is missing"
 msgstr "το οποίο λείπει"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -134,7 +129,7 @@ msgstr "Αδυναμία περιγραφής πίνακα <%s>"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -162,8 +157,8 @@ msgstr "Αδυναμία αντιγραφής διανυσματικού χάρ
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -224,21 +219,35 @@ msgstr "Αδυναμία ανοίγματος <%s>"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Αδυναμία ανοίγματος αρχείου %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Αδυναμία διαγραφής αρχείου '%s'"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr ""
+"Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr ""
+"Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -424,8 +433,10 @@ msgstr "Αδυναμία εκκίνησης του οδηγού <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -437,46 +448,46 @@ msgstr "Αδυναμία ανοίγματος της βάσης δεδομένω
 msgid "Unable to get list tables in database <%s>"
 msgstr "Αδυναμία λήψης λίστα πινάκων στη βάση δεδομένων <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Πίνακας <%s> υπάρχει ήδη στην βάση δεδομένων <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Αδυναμία ανοίγματος κέρσορα '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr ""
@@ -546,6 +557,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "Δεν ήταν δυνατό το άνοιγμα του αρχείου αποσφαλμάτωσης (debug) '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -882,220 +897,220 @@ msgstr ""
 msgid "Category value"
 msgstr "Τιμή κατηγορίας"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Τιμές κατηγοριών"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Παράδειγμα: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 #, fuzzy
 msgid "Feature id"
 msgstr "Χαρακτηριστικό: "
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 #, fuzzy
 msgid "Feature ids"
 msgstr "Χαρακτηριστικό: "
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "Όνομα αρχείου εισαγωγής"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "Όνομα αρχείου εξαγωγής"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Διαχωριστής πεδίων (π.χ. , .  tab)"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Χρώμα"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Είτε ένα στανταρ όνομα χρώματος ή συνδυασμός R:G:B"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Δώστε ένα στανταρ χρώμα GRASS, συνδυασμό R:G:B ή \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Όνομα αρχείου εισαγωγής"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Λάθος συντεταγμένες"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Όνομα εισαγόμενου διανυσματικού χάρτη"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Όνομα στήλης"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Όνομα εισαγώμενων ράστερ χαρτών"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχον mapset (%s)"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Όνομα ράστερ χάρτη υψομέτρου"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Όνομα ράστερ χάρτη υψομέτρου"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Όνομα εισαγόμενων διανυσματικων χαρτών"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Όνομα εισαγόμενων διανυσματικων χαρτών"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Όνομα εισαγώμενων 3Δ ράστερ χάρτη"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Όνομα εισαγώμενων 3Δ ράστερ χάρτη"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Όνομα εξαγόμενου 3Δ ράστερ χάρτη"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχον mapset (%s)"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Αδυναμία κλεισίματος του χάρτη input"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε στο mapset <%s>"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "WHERE συνθήκες της SQL δήλωση χωρίς 'where' λέξη-κλειδί"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Φορτώνω δεδομένα από τα πίνακα..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1122,7 +1137,7 @@ msgid "SYNOPSIS"
 msgstr "ΣΥΝΟΨΗ"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr ""
 
@@ -1142,7 +1157,7 @@ msgid "Quiet module output"
 msgstr "Quiet module εξαγωγή"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Παράμετροι"
 
@@ -1260,7 +1275,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr ""
 
@@ -1335,7 +1350,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "ΠΡΟΣΟΧΗ:"
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "ΣΦΑΛΜΑ:"
@@ -1420,17 +1435,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "<%s> το αρχείο δεν βρέθηκε στην τοποθεσία <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: Επιδάνεια %d δεν υπάρχει"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Αδυναμία δημιουργίας mapset στοιχείου %s (%s)"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Αδυναμία δημιουργίας mapset στοιχείου %s (%s)"
@@ -1631,6 +1646,11 @@ msgstr "διπλό πεδίο φορμάτ"
 msgid "Duplicate compressed field"
 msgstr "διπλό πεδίο συμπιεσμένου αρχείου"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, fuzzy, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1680,22 +1700,22 @@ msgstr "Λάθος es: πεδίο '%s' στο αρχείο %s στο <%s>"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Δεν έχουν δωθεί πληροφορίες για το ελλειψοειδές στο αρχείο %s στο <%s>"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): mapset <%s> δεν ταιριάζει με το xmapset <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Αδυναμία ανοίγματος '%s'"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: αδυναμία ανοίγματος αρχείου %s"
@@ -1885,8 +1905,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Μη επιτρεπτη n-s τιμή ανάλυσης"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1945,6 +1966,10 @@ msgstr "Η Ανατολή πρέπει να είναι μεγαλύτερηαπ
 msgid "Invalid coordinates"
 msgstr "Λάθος συντεταγμένες"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Μη επιτρεπτη n-s τιμή ανάλυσης"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "μη επιτρεπτή n-s3 τιμή ανάλυσης"
@@ -2012,80 +2037,80 @@ msgid ""
 msgstr ""
 " Μόνο %d%% του παραθύρου σώθηκς \"%s\" επικαλύπτει το τρέχον GRASS παράθυρο."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "BUG στις περιγραφές, επιλογή '%s' στο <%s> δεν υπάρχει"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "BUG στις περιγραφές, επιλογή '%s' στο <%s> δεν υπάρχει"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 "Χρησιμοποιήστε  --quiet ή --verbose flag, όχι και τα δύο. Υποθέτω --verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 "Χρησιμοποιήστε  --quiet ή --verbose flag, όχι και τα δύο. Υποθέτω --quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Συγνώμη <%s> δεν είναι αποδεκτή επιλογή\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "ΣΦΑΛΜΑ:"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "Αδυναμία προσδιορισμού του ονόματος του προγράμματος"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Συγνώμη, <%s> δεν είναι επιτρεπτή παράμετρος\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Συγνώμη, <%s=> είναι αμφίσημο\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Συγνώμη, <%s> δεν είναι επιτρεπτή παράμετρος\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> στο mapset <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2094,7 +2119,7 @@ msgstr ""
 "\n"
 "ΣΦΑΛΜΑ: μη επιτρεπτό σύνταξη εύρους για την παράμετρο <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2103,14 +2128,14 @@ msgstr ""
 "\n"
 "ΣΦΑΛΜΑ: η τιμή <%s> είναι εκτός ορίων <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "ΣΦΑΛΜΑ: Λείπει τιμή για την παράμετρο <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2119,7 +2144,7 @@ msgstr ""
 "\n"
 "ΣΦΑΛΜΑ: η τιμή <%s> είναι εκτός ορίων <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2129,7 +2154,7 @@ msgstr ""
 "ΣΦΑΛΜΑ: Η απαιτούμενη παράμετρος <%s> δεν έχει καθοριστεί:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2138,37 +2163,37 @@ msgstr ""
 "\n"
 "ΣΦΑΛΜΑ: η επιλογή <%s> πρέπει να δωθεί σε πολλαπλάσια του %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Συγνώμη <%s> δεν είναι αποδεκτή επιλογή\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Διαχωριστής πεδίων (π.χ. , .  tab)"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Συγνώμη <%s> δεν είναι αποδεκτή επιλογή\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Ο 3Δ χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
@@ -2755,7 +2780,8 @@ msgstr "Αδυναμία ανάγνωσης τοπολογίας για νησί
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr ""
 
@@ -2777,11 +2803,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Φορτώνω δεδομένα από τα πίνακα..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
@@ -2981,7 +3009,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Εγγραφή πίνακα 2 διαστάσεων στον raster χάρτη <%s>"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3093,8 +3121,8 @@ msgstr "Εξαγωγή μονάδας παράγοντα"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3658,6 +3686,30 @@ msgstr "Άγνωστος τύπος παρεμβολής"
 msgid "Failed to initialize Cairo surface"
 msgstr "Αδύναμία έναρξης pj εξαιτίας: %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3908,11 +3960,11 @@ msgstr "Αδυναμία δημιουργίας κεφαλικού αρχείο
 msgid "Creating a new space time %s dataset"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε στο mapset <%s>"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4103,29 +4155,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Αδυναμία ανάγνωσης head αρχείου"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Αδυναμία ανάγνωσης 3Δ ραστερ χάρτη <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Αδυναμία κλεισίματος του 3Δ ραστερ χάρτη <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
@@ -4285,20 +4337,20 @@ msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε στο mapset <%s>"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "Αδυναμία δημιουργίας κεφαλικού αρχείου για [%s in %s]"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4307,7 +4359,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Αδυναμία δημιουργίας κεφαλικού αρχείου για [%s in %s]"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4315,12 +4367,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Αδυναμία δημιουργίας κεφαλικού αρχείου για [%s in %s]"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Δεν μπορώ να ανοίξω την βάση δεδομένων %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4328,49 +4380,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Αδυναμία μεταφοράς καταλόγου συστήματος '%s'"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Αδυναμία δημιουργίας κεφαλικού αρχείου για [%s in %s]"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Αδυναμία εκτέλεσης εντολής"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Αδυναμία ανοίγματος header αρχείου διανυσματικού χάρτη <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Αδυναμία εύρεσης '%s'"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Αδυναμία ανοίγματος header αρχείου διανυσματικού χάρτη <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Αδυναμία κλεισίματος του χάρτη input"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Αδυναμία εκτέλεσης εντολής"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4378,14 +4418,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Αδυναμία εκτέλεσης εντολής"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4514,7 +4554,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Αδυναμία αντιγραφής διανυσματικού χάρτη <%s> σε <%s>"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4630,64 +4670,64 @@ msgid ""
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Λανθασμένο timestamp αρχείο για %s χάρτη %s στο mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "Συντακτικό λάθος"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Λανθασμένο timestamp αρχείο για %s χάρτη %s στο mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Λανθασμένο timestamp αρχείο για %s χάρτη %s στο mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
@@ -4713,7 +4753,7 @@ msgid "Error computing map <%s>"
 msgstr "Σφάλμα κατά το άνοιγμα του g3d χάρτη <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Αδυναμία αντιγραφής διανυσματικού χάρτη <%s> σε <%s>"
@@ -4741,76 +4781,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  φορμάτ: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Όνομα χάρτη υποβάθρου ράστερ"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Αδυναμία αντιγραφής διανυσματικού χάρτη <%s> σε <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Αδυναμία κλεισίματος του χάρτη input"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Αδυναμία αντιγραφής διανυσματικού χάρτη <%s> σε <%s>"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
@@ -4825,12 +4889,12 @@ msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου γ
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Αδυναμία διαβάσματος εύρους για τον ράστερ χάρτη <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
@@ -4883,7 +4947,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4898,7 +4962,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4906,47 +4974,55 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Αδυναμία κλεισίματος του χάρτη input"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Μη επιτρεπτό όνομα.  δεν μπορεί να είναι  '.' ή  'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Μη επιτρεπτό όνομα αρχείου. Ο χαρακτήρας <%c> δεν επιτρέπεται.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4955,44 +5031,44 @@ msgstr ""
 "Αδυναμία αποκατάστασης feature %d, διανυσματικός χάρτης <%s> δεν είναι "
 "ανοικτός σε 'write' mode"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Όνομα εισαγόμενου διανυσματικού χάρτη"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Χρώμα"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 "Δεν έχει καθοριστεί η σύνδεση με τη βάση δεδομένων για το επίπεδο (layer) %d"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Σφάλμα κατά το άνοιγμα του διανυσματικού χάρτη <%s>"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -5037,77 +5113,77 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "OGR χαρακτηριστικό χωρίς ID αγνοείται"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "OGR χαρακτηριστικό χωρίς ID αγνοείται"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "OGR χαρακτηριστικό χωρίς ID αγνοείται"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Όνομα στήλης"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Πρόβλημα με την ανάγνωση του ράστερ χάρτη"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "OGR χαρακτηριστικό χωρίς ID αγνοείται"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr ""
@@ -5118,19 +5194,33 @@ msgstr ""
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Αδυναμία ανάγνωσης γραμμής %d"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Αδυναμία επανεγγραφής feature %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5146,26 +5236,42 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Άγνωστος τύπος παρεμβολής"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 "Το διάβασμα του ράστερ χάρτη <%s@%s> κλήση για γραμμή %d είναι έξω από την "
 "περιοχή"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου χάρτη <%s@%s>, γραμμή %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου χάρτη <%s@%s>, γραμμή %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Σφάλμα κατά το άνοιγμα του 3Δ ραστερ χάρτη <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου χάρτη <%s@%s>, γραμμή %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου χάρτη <%s@%s>, γραμμή %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Σφάλμα ανάγνωσης κενής γραμμής %d"
@@ -5299,51 +5405,46 @@ msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου 
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου χάρτη <%s@%s>, γραμμή %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου χάρτη <%s@%s>, γραμμή %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου χάρτη <%s@%s>, γραμμή %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Αδυναμία ανοίγματος οδηγού <%s>"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "Αδυναμία εγγραφής προσωρινού κενού αρχείου %s"
+msgid "No null file for <%s>"
+msgstr "Αδυναμία ανοίγματος οδηγού <%s>"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: αδυναμία ανοίγματος αρχείου %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "Σφάλμα κατά την ανάγνωση συμπιεσμένου χάρτη <%s@%s>, γραμμή %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "Σφάλμα εγγραφής κενής γραμμής %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s:χάρτης [%s] δεν είναι ανοιχτός για εγγραφή - η εντολή αγνοείται"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: μη ανοικτή περιγραφή αρχείου - εντολή αγνοείτε"
@@ -5440,7 +5541,7 @@ msgstr "Αδυναμία φόρτωσης βιβλιοθήκης GDAL "
 msgid "Unable to open GDAL file"
 msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "Λάθος όνομα διανυσματικού χάρτη <%s>"
@@ -5509,6 +5610,21 @@ msgstr ""
 "Το σύστημα δεν έχει αρχικοποιηθεί. Ο προγραμματιστής ξέχασει να καλέσει "
 "G_gisinit()."
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "Συντακτικό λάθος"
@@ -5594,26 +5710,26 @@ msgstr "EmbedGivenNulls: εσφαλμένος τύπος δεδομένων!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: εσφαλμένος τύπος δεδομένων!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Λάθος όνομα διανυσματικού χάρτη <%s>"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "G_spawn: αδυναμία ανοίγματος αρχείου %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Αδυναμία διαγραφής αρχείου '%s'"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "αδυναμία εγγραφής f_format αρχείου για CELL χάρτες"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5622,29 +5738,29 @@ msgstr ""
 "Αδυναμία ανοίγματος ραστερ χάρτη <%s@%s> αφού είναι ένα reclass του ραστερ "
 "χάρτη <%s@%s> , ο οποίος δεν υπάρχει"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "Δεν είναι δυνατή η ανάγνωση του εύρους του αρχείου για [%s σε %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Σφάλμα κατά το άνοιγμα του 3Δ ραστερ χάρτη <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 "Το φορμά του ράστερ χάρτη <%s@%s>: στο κεφαλικό αρχείο (header) είναι "
 "λανθασμένο"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε στο mapset <%s>"
+msgid "Compression with %s is not supported"
+msgstr "Ο 3Δ χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5653,19 +5769,19 @@ msgstr ""
 "Ο ράστερ χάρτης <%s@%s> έχει διαφορετική προβολή από την τρέχουσα περιοχή. Ο "
 "χάρτης <%s@%s>, θα έπρεπε να ήταν <%s>."
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 "Ο ράστερ χάρτης <%s@%s> έχει διαφορετική ζώνη (%d) από την τρέχουσα περιοχή "
 "(%d)"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "Ο ράστερ χάρτης <%s@%s>: έχει bytes per cell (%d) πολύ μεγάλο"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
@@ -5673,68 +5789,73 @@ msgstr ""
 "Ο χάρτης <%s@%s> είναι ένας σύνδεσμος GDAL αλλά το  GRASS έχει γίνει "
 "compiled χωρίς GDAL υποστήριξη"
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr ""
 "Αδυναμία ανοίγματος κεφαλικού (header) αρχείου για τον ράστερ χάρτη <%s@%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Σφάλμα ανάγνωσης χάρτη <%s@%s>, γραμμή %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχον mapset (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> είναι μη επιτρεπτό όνομα αρχείου"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "G__open_raster_new(): δεν υπάρχουν προσωρινά αρχεία, μη διαθέσιμα"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχον mapset (%s)"
+
+#: ../lib/raster/open.c:816
 #, fuzzy
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr "G_set_fp_type(): μπορεί να καλεστεί μόνο με FCELL_TYPE ή DCELL_TYPE"
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε στο mapset <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Αδυναμία εύρεσης '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Εσφαλμένος τύπος: το πεδίο '%s' στο αρχείο '%s'"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "Εσφαλμένος τύπος: το πεδίο '%s' στο αρχείο '%s'"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Ο χάρτης raster  <%s> δεν είναι xdr: byte_order: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 #, fuzzy
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
@@ -5766,11 +5887,16 @@ msgstr "Δεν μπορούν να εγγραφούν quant κανόνες: Ο 
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Αδυναμία διαβάσματος εύρους για τον ράστερ χάρτη <%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Σφάλμα αρχικής προσπέλασης του συμπιεσμένου αρχείου [%s in %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Σφάλμα αρχικής προσπέλασης του συμπιεσμένου αρχείου [%s in %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6094,17 +6220,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Αδυναμία ανοίγματος του αρχείου που περιέχει τον πίνακα datum <%s>"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "ΠΡΟΣΟΧΗ:"
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Δημιουργία επιφανειών"
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6112,115 +6238,149 @@ msgstr ""
 "Χρήση:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "για να αποδεκτείτε το προκαθορισμένο"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "Λανθασμένη προβολή\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
+msgstr ""
+
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Αδυναμία κατανομής (allocate) προσωρινή εικόνα"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Το συγκεκριμένο format δεν γίνει compiled για την έκδοση αυτή"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6230,71 +6390,78 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Συγνώμη <%s> δεν είναι αποδεκτή επιλογή\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:823
 #, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
+
+#: ../lib/init/grass.py:827
+#, python-format
+msgid ""
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
@@ -6303,196 +6470,216 @@ msgstr ""
 "Παρακαλώ ενημερώστε τους προγραμματιστές του GRASS για αυτό το μήνυμα "
 "λάθους.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s: Επιδάνεια %d δεν υπάρχει"
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: Επιδάνεια %d δεν υπάρχει"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s: Επιδάνεια %d δεν υπάρχει"
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Δημιουργία επιφανειών"
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - η παράμετρος δεν έχει καθοριστεί"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Δημιουργία επιφανειών"
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Σφάλμα σύνδεσης."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Αδυναμία focus"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "Δεν υπάρχει κείμενο βοήθειας για την εντολή [%s]\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "κανένα"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr ""
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Ο 3Δ χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Αδυναμία εκκίνησης του οδηγού <%s>"
@@ -6977,8 +7164,8 @@ msgstr "Αδυναμία εγγραφής νησίδων στο plus αρχεί
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "GngFlatten σφάλμα"
 
@@ -7085,10 +7272,10 @@ msgstr "Αδυναμία εύρεσης σημείου στο πολύγωνο"
 msgid "conditions failed"
 msgstr "Οι συνθήκες απέτυχαν"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7121,7 +7308,7 @@ msgstr "Αδυναμία καθορισμού κατηγορίας %d για τ
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7142,22 +7329,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Unable to restore feature %d from vector map <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος header αρχείου διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr ""
@@ -7184,7 +7371,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr ""
 
@@ -7198,17 +7385,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Αδυναμία ανάγνωσης γραμμής %d"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Προσπάθεια προσπελασης σημείων σε επιφάνεια που δεν υπάρχει"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "Αδυναμία επανεγγραφής feature %d"
@@ -7226,17 +7413,17 @@ msgstr ""
 msgid "Category index out of range"
 msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος του υπομνήματος για τον διανυσματικό χάρτη <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Σφάλμα εγγραφής χωρικών δεδομένων στο αρχείο"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος του υπομνήματος για τον διανυσματικό χάρτη <%s>"
@@ -7268,7 +7455,7 @@ msgstr "OGR χαρακτηριστικό χωρίς ID αγνοείται"
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Αδυναμία ανοίγματος OGR πηγή δεδομένων '%s'"
@@ -7368,7 +7555,7 @@ msgstr "Η φόρτωση απέτυχε"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7405,99 +7592,115 @@ msgstr "%s: Επιδάνεια %d δεν υπάρχει"
 msgid "Attempt to access dead area %d"
 msgstr "Προσπάθεια διαγραφής λάθος στοιχείων"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Αδυναμία αντιγραφής πίνακα <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Αδυναμία αντιγραφής πίνακα <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Αδυναμία αντιγραφής πίνακα <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Ο διανυσματικός χάρτης δεν είναι συμβατός με SQL"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "Αδυναμία αντιγραφής διανυσματικού χάρτη <%s> σε <%s>"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Αδυναμία διαγραφής διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Αδυναμία αντιγραφής διανυσματικού χάρτη <%s> σε <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Αδυναμία αντιγραφής πίνακα <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Αδυναμία διαγραφής πίνακα <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Αδυναμία δημιουργίας καταλόγου για τον πίνακα <%s>, κλειδί <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Λάθος όνομα διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος header αρχείου διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr ""
 "Αδυναμία εύρεσης του πίνακα <%s> που είναι συνδεδεμένος με τον διανυσματικό "
 "χάρτη <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr ""
 "Ο πίνακας <%s> που είναι συνδεδεμένος με τον διανυσματικό χάρτη <%s> δεν "
 "υπάρχει"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Αδυναμία ανοίγματος καταλόγου συστήματος '%s'"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Αδυναμία διαγραφής αρχείου '%s'"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Αδυναμία μετονομασίας καταλόγου συστήματος '%s' σε '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "Αδυναμία μεταφοράς καταλόγου συστήματος '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7523,12 +7726,12 @@ msgstr "Αριθμός γραμμών     :   %d\n"
 msgid "%s dangles: %d"
 msgstr "Περιοχές που αφαιρέθηκαν:"
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος του ιστορικού του διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
@@ -7537,7 +7740,7 @@ msgstr ""
 "Τα αρχεία συντεταγμένων (coor) των διανυσματικών χαρτών <%s@%s> είναι "
 "μεγαλύτερα από όσο θα έπρεπε (%ld bytes excess)"
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7575,7 +7778,7 @@ msgstr "Τύποι δεδομένων"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος του υπομνήματος για τον διανυσματικό χάρτη <%s>"
@@ -7629,130 +7832,199 @@ msgstr "\"Σπασίματα\" (breaks)"
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr "Αδυναμία focus"
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-msgid "for this format/level not supported"
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "Το συγκεκριμένο format δεν γίνει compiled για την έκδοση αυτή"
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "Ο διανυσματικός χάρτης δεν είναι ανοικτός"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "Αδυναμία σε feature %d από τον διανυσματικό χάρτη <%s>"
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε στο mapset <%s>"
 
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+msgid "Cannot add network arc for virtual node connection."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr "Η εγγραφή της βάσης δεδομένων για cat %d δεν βρέθηκε"
+
+#: ../lib/vector/Vlib/net_build.c:465
+msgid "Cannot add network arc representing turn."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
 msgid "Arc field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:558
 #, c-format
-msgid "Column <%s> not found in table <%s>"
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:579
 #, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
+#: ../lib/vector/Vlib/net_build.c:596
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
 "(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:885
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, backword direction) not "
 "found(direction of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:934
 msgid "Cannot add network arc"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr ""
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "Αδυναμία focus"
 
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+msgid "for this format/level not supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr ""
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "Το συγκεκριμένο format δεν γίνει compiled για την έκδοση αυτή"
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr ""
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "Ο διανυσματικός χάρτης δεν είναι ανοικτός"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "dglShortestPath σφάλμα: %s"
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "Αδυναμία σε feature %d από τον διανυσματικό χάρτη <%s>"
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr ""
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "Οι διαστάσεις του πίνακα είναι έξω από την περιοχή"
 
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
@@ -7886,7 +8158,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Κακή σύνδεση με τον εξυπηρετητή"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7895,7 +8167,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7910,7 +8182,7 @@ msgstr "Δημιουργία τοπολογίας για τον διανυσμα
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Δημιουργία τοπολογίας για τον διανυσματικό χάρτη <%s>...\n"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7939,7 +8211,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου"
@@ -8116,8 +8388,8 @@ msgstr "Αριθμός λανθασμένων συνοριακών γραμμώ
 msgid "Number of redundant holes: %d"
 msgstr "Αριθμός συνοριακών γραμμών:   %d\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος του υπομνήματος για τον διανυσματικό χάρτη <%s>"
@@ -8217,16 +8489,16 @@ msgstr "Αριθμός περιοχών     :   -\n"
 msgid "Number of isles: -"
 msgstr "Αριθμός περιοχών     :   -\n"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Αδυναμία ανάγνωσης κεφαλικού αρχείου για ράστερ χάρτη <%s@%s>."
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Σφάλμα κατά την εγγραφή του χάρτη"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
@@ -8235,21 +8507,21 @@ msgstr ""
 "Αδυναμία δημιοργίας χωρικού πίνακα από την τοπολογία, ο διανυσματικός χάρτης "
 "δεν είναι ανοικτός στο topo level 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "BUG (Vect_build_sidx_from_topo): κόμβος δεν υπάρχει"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος του υπομνήματος για τον διανυσματικό χάρτη <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Σφάλμα εγγραφής χωρικών δεδομένων στο αρχείο"
 
@@ -8425,63 +8697,63 @@ msgstr "Άγνωστος τελεστής"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "Όλα τα σημεία (vertices)"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Δημιουργία επιφανειών"
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Αδυναμία επανεγγραφής feature %d"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Προσπάθεια διαγραφής λάθος στοιχείων"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Αδυναμία καθορισμού κατηγορίας %d για τη γραμμή %d"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Αδυναμία επανεγγραφής feature %d"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Αδυναμία ανοίγματος αρχείου για εγγραφή <%s>"
@@ -8491,7 +8763,7 @@ msgstr "Αδυναμία ανοίγματος αρχείου για εγγραφ
 msgid "Unable to rewrite feature %d"
 msgstr "Αδυναμία επανεγγραφής feature %d"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Λάθος όνομα διανυσματικού χάρτη <%s>"
@@ -8758,14 +9030,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Σφάλμα σύνδεσης."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Σφάλμα σύνδεσης."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8977,52 +9256,52 @@ msgstr "Ο προεπιλεγμένος οδηγός δεν έχει καθορ
 msgid "Default database is not set"
 msgstr "Η προεπιλεγμένη βάση δεδομένων δεν έχει καθοριστεί"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Δεν είναι δυνατή η ανάγνωση του εύρους του αρχείου για [%s σε %s]"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Αδυναμία ανοίγματος επιπέδου <%s>"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "Άγνωστος τελεστής"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος header αρχείου διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 
@@ -9097,25 +9376,25 @@ msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχο
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχον mapset (%s)"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Ο διανυσματικός χάρτης που δεν ανήκει στο τρέχον mapset δεν μπορεί να "
 "ανοίξει για ενημέρωση"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Αδυναμία ανοίγματος header αρχείου διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 "Αδυναμία ανοίγματος τοπολογικού αρχείου για τον διανυσματικό χάρτη <%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9124,83 +9403,83 @@ msgstr ""
 "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s> στο τοπολογικό επίπεδο %d. "
 "Δοκιμάστε να ξαναφτιάξετε την τοπολογία με v.build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Δημιουργία τοπολογίας για τον διανυσματικό χάρτη <%s>...\n"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Αδυναμία αντιγραφής διανυσματικού χάρτη <%s> σε <%s>"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "Αδυναμία ανοίγματος του ιστορικού του διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Ο ραστερ χάρτης <%s> δεν ανήκει στο τρέχον mapset (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Ο διανυσματικός χάρτης δεν είναι συμβατός με SQL"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Αδυναμία ανοίγματος του ιστορικού του διανυσματικού χάρτη <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "Λάθος διάταξη (φορματ)"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Παρακαλώ ξαναφτιάξτε την τοπολογία για τον διανυσματικό χάρτη <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9269,89 +9548,89 @@ msgstr "Σφάλμα σύνδεσης."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Σφάλμα σύνδεσης."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Αδυναμία σύνδεσης βάσης δεδομένων"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "OGR χαρακτηριστικό χωρίς ID αγνοείται"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Τύποι δεδομένων"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Αριθμός περιοχών χωρίς κέντρα :   %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "G_spawn: αδυναμία ανοίγματος αρχείου %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9417,15 +9696,32 @@ msgstr "Οι πίνακες δεν επιτρέπονται"
 msgid "Topology info not available for feature %d"
 msgstr "Δεν υπάρχει κείμενο βοήθειας για την εντολή [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "dglShortestPath σφάλμα: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr ""
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Λάθος όνομα διανυσματικού χάρτη <%s>"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9480,29 +9776,63 @@ msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 #~ msgid "Out of memmory"
 #~ msgstr "G_malloc: εκτός μνήμης"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Αδυναμία δημιουργίας κεφαλικού αρχείου για [%s in %s]"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Αδυναμία ανοίγματος header αρχείου διανυσματικού χάρτη <%s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Αδυναμία ανοίγματος header αρχείου διανυσματικού χάρτη <%s>"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "Αδυναμία εγγραφής προσωρινού κενού αρχείου %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: αδυναμία ανοίγματος αρχείου %s"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Συγνώμη <%s> δεν είναι αποδεκτή επιλογή\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "ΣΦΑΛΜΑ: Η επιλογή <%s>: <%s> υπάρχει.\n"
 
 #, fuzzy
-#~ msgid "Hit RETURN to continue"
-#~ msgstr "Πατήστε RETURN για συνέχεια -->"
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Λάθος όνομα διανυσματικού χάρτη <%s>"
 
 #, fuzzy
-#~ msgid "Vector map <%s> is not opened on topology level"
-#~ msgstr "Ο διανυσματικός χάρτης <%s> δεν είναι ανοικτός σε επίπεδο >= 2"
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Αδυναμία ανοίγματος αρχείου %s"
 
 #, fuzzy
-#~ msgid "Attributes for category %d not found"
-#~ msgstr "Η εγγραφή της βάσης δεδομένων για cat %d δεν βρέθηκε"
+#~ msgid "Hit RETURN to continue"
+#~ msgstr "Πατήστε RETURN για συνέχεια -->"
 
 #, fuzzy
-#~ msgid "Cannot fetch row"
-#~ msgstr "Δεν μπορώ να πάρω πληροφορίες για το επίπεδο"
+#~ msgid "Vector map <%s> is not opened on topology level"
+#~ msgstr "Ο διανυσματικός χάρτης <%s> δεν είναι ανοικτός σε επίπεδο >= 2"
 
 #~ msgid "Background color"
 #~ msgstr "Χρώμα φόντου"
 
 #, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
+
+#, fuzzy
 #~ msgid "Mode type: {0} not supported."
 #~ msgstr "OGR χαρακτηριστικό χωρίς ID αγνοείται"
 
@@ -9515,5 +9845,9 @@ msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 #~ msgstr "Λάθος όνομα διανυσματικού χάρτη <%s>"
 
 #, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
+#~ msgid "Attributes for category %d not found"
+#~ msgstr "Η εγγραφή της βάσης δεδομένων για cat %d δεν βρέθηκε"
+
+#, fuzzy
+#~ msgid "Cannot fetch row"
+#~ msgstr "Δεν μπορώ να πάρω πληροφορίες για το επίπεδο"
diff --git a/locale/po/grasslibs_es.po b/locale/po/grasslibs_es.po
index 89e18d4..6ac9721 100644
--- a/locale/po/grasslibs_es.po
+++ b/locale/po/grasslibs_es.po
@@ -17,7 +17,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_es\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2016-01-24 20:00-0600\n"
 "Last-Translator: Javier García Prieto <fjgarciaprieto at hotmail.com>\n"
 "Language-Team: Español; Castellano <grass-translations at lists.osgeo.org>\n"
@@ -42,12 +42,12 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr "%s: No hay un archivo de definición del tipo de letra."
 
-#: ../lib/display/r_raster.c:128
-#, c-format
-msgid "%s variable defined, %s ignored"
+#: ../lib/display/r_raster.c:98
+#, fuzzy, c-format
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr "%s variable definida, %s ignorado"
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
@@ -56,21 +56,16 @@ msgstr ""
 "Ni% s (Gestionado por el comando d.mon), ni% s (Utilizado para la "
 "representación directa.) han sido definidos."
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Controlador de visualización <%s> desconocido"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, c-format
 msgid "Using display driver <%s>..."
 msgstr "Usando el controlador de visualización <%s>..."
 
-#: ../lib/display/r_raster.c:236
-#, c-format
-msgid "Unable to open file '%s'"
-msgstr "No se puede abrir el archivo '%s'"
-
 #: ../lib/display/icon.c:80
 #, c-format
 msgid "Unsupported icon %d"
@@ -101,7 +96,7 @@ msgstr "Error de formato: archivo ('% s') línea (% d) -% s"
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "Copiar %s <%s> al directorio de mapas actual con el nombre <%s>"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "No ha sido posible copiar <%s> al conjunto de mapas actual como <%s>"
@@ -113,7 +108,7 @@ msgstr "No ha sido posible copiar <%s> al conjunto de mapas actual como <%s>"
 msgid "%s is missing"
 msgstr "%s está ausente"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr "%s copiado"
@@ -146,7 +141,7 @@ msgstr "Renombrar %s <%s> como <%s>"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -174,8 +169,8 @@ msgstr "No se puede renombrar el mapa vectorial <%s> como <%s>."
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -235,21 +230,33 @@ msgstr "No se puede remover %s"
 msgid "<%s> nothing removed"
 msgstr "<%s> nada eliminado"
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, c-format
 msgid "Unable to read file '%s'"
 msgstr "No se puede leer el archivo %s "
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "El archivo de acceso (%s) está corrupto (línea: %s)"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, c-format
 msgid "Unable to write file '%s'"
 msgstr "No se puede escribir el archivo '%s'."
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "El mapa vectorial <%s> ya existe y será sobrescrito."
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "El mapa vectorial <%s> ya existe y será sobrescrito."
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr "<Mensaje de error NULL>"
@@ -434,8 +441,10 @@ msgstr "No ha sido posible iniciar el controlador <%s>."
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -448,46 +457,46 @@ msgstr ""
 msgid "Unable to get list tables in database <%s>"
 msgstr "No se pueden recuperar las tablas de lista de la base de datos <%s>."
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "La tabla <%s> ya existía en la base de dato y será rescrita."
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "La tabla <%s> ya existe en la base de datos <%s>."
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr ""
 "No ha sido posible abrir el cursor resultado de la instrucción select:'%s'."
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "La columna <%s> no es de tipo \"número entero\"."
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "No ha encontrado la columna <%s>."
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "No ha sido posible crear la tabla <%s>."
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "No se pueden recuperar los datos de la tabla. <%s>."
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Tipo columna desconocido (columna <%s>)."
@@ -557,6 +566,10 @@ msgstr "No hay suficientes puntos de datos (%d) en el cluster."
 msgid "Cannot open debug file '%s'"
 msgstr "No se puede abrir el archivo de depuración '%s'."
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -897,55 +910,55 @@ msgstr ""
 msgid "Category value"
 msgstr "Valor de la categoría."
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Valores de la categorías."
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Ejemplo: 1,3,7-9,13."
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "Identificador de objeto espacial: "
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "Identificadores de objetos espaciales: "
 
 #
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr "Nombre del archivo de entrada."
 
 #
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "Nombre del archivo de salida."
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Separador de campos."
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 #, fuzzy
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr "Caractéres especiales: Linea nueva, espacio, coma y tabulador."
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Color."
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 "Puede ser un nombre de color estándar o tres valores que definan un color R: "
 "G: B."
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
@@ -953,151 +966,151 @@ msgstr ""
 "B o \"ninguno\"."
 
 #
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Ruta del archivo de entrada."
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Coordenadas no válidas."
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Nombre del mapa vectorial de entrada."
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Nombre de la columna de atributos."
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Nombre(s) del (los) mapa(s) raster de entrada."
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr ""
 "El mapa raster <%s> no se encuentra en el directorio de mapas actual. (%s)"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Nombre del mapa raster de salida."
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Nombre del mapa raster de elevación."
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Nombre del mapa raster de elevación."
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Nombre(s) del (los) mapa(s) vectorial(es) de entrada."
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Nombre(s) del (los) mapa(s) vectorial(es) de entrada."
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Espacio insuficiente en la matriz vectorial."
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Nombre del mapa raster de elevación."
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Nombre del mapa raster de elevación."
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Nombre del mapa raster 3d de salida."
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr ""
 "El mapa raster <%s> no se encuentra en el directorio de mapas actual. (%s)"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Nombre del mapa raster de entrada."
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Nombre del mapa raster de entrada."
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "No es posible cerrar el mapa de entrada."
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr ""
 "El mapa raster <%s> no se encuentra en el directorio de mapas (mapset) <%s>."
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
@@ -1105,20 +1118,20 @@ msgid ""
 msgstr ""
 "Condiciones \"WHERE\", de la instrucción SQL sin la palabra clave \"where\"."
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Cargando datos de la tabla de atributos..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1146,7 +1159,7 @@ msgid "SYNOPSIS"
 msgstr "SINOPSIS"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Identificadores."
 
@@ -1166,7 +1179,7 @@ msgid "Quiet module output"
 msgstr "Salida \"silenciosa\" del módulo."
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Parámetros"
 
@@ -1282,7 +1295,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Proyección desconocida."
 
@@ -1357,7 +1370,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "ADVERTENCIA: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "ERROR: "
@@ -1456,19 +1469,19 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "<%s> No se ha encontrado el archivo para la locación <%s>."
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: el área %d no existe."
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr ""
 "No se puede generar el elemento del directorio de mapas de usuario (mapset) "
 "%s (%s): %s."
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr ""
@@ -1676,6 +1689,13 @@ msgstr "Duplica el campo de formato."
 msgid "Duplicate compressed field"
 msgstr "Duplica el campo comprimido."
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+#, fuzzy
+msgid "Request for unsupported compressor"
+msgstr ""
+"El mapa raster <%s> no se encuentra en el directorio de mapas (mapset) <%s>."
+
 #: ../lib/gis/distance.c:154
 #, fuzzy, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1726,24 +1746,24 @@ msgid "No ellipsoid info given in file %s in <%s>"
 msgstr ""
 "No se ha proporcionado información del elipsoide en el archivo %s en <%s>."
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 "G__open(read): El directorio de mapas (mapset) <%s> no corresponde a xmapset "
 "<%s>."
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "G_spawn: No es posible abrir el archivo %s."
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: No es posible abrir el archivo %s."
@@ -1935,8 +1955,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Valor de resolución norte - sur (n-s) no válido."
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -2007,6 +2028,10 @@ msgstr ""
 msgid "Invalid coordinates"
 msgstr "Coordenadas no válidas."
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Valor de resolución norte - sur (n-s) no válido."
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "El valor de la resolución norte - sur 3D (n-s3) no es admisible."
@@ -2075,84 +2100,84 @@ msgstr ""
 " Solamente %d%% de la ventana guardada en \"%s\" se sobrepone con la ventana "
 "actual de GRASS."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "Error en las descripciónes, no existe la opción '%s' en <%s>."
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "Error en las descripciónes, no existe la opción '%s' en <%s>."
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 "Utilice cualquier identificador de opción (flag) --quiet (silencioso) o --"
 "verbose (detallado), pero no ambos, de ser este el caso se asume la opción "
 "detallado --verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 "Utilice cualquier identificador de opción (flag) --quiet (silencioso) o --"
 "verbose (detallado), pero no ambos, de ser este el caso se asume silencioso "
 "--quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Disculpe pero <%s> no es una opción válida.\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "ERROR: "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "No se puede determinar el nombre del programa."
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Disculpe, <%c> no es una bandera válida.\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Disculpe, <%s=> es ambiguo.\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Disculpe, <%s> no es un parámetro válido.\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> en el directorio de mapas de usuario (mapset) <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2161,7 +2186,7 @@ msgstr ""
 "\n"
 "ERROR: Sintaxis de rango no permitida para el parámetro <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2170,14 +2195,14 @@ msgstr ""
 "\n"
 "ERROR: El valor <%s> se encuentra fuera de rango para el parámetro <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "ERROR: Valor faltante para el parámetro <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2186,7 +2211,7 @@ msgstr ""
 "\n"
 "ERROR: valor <%s> fuera del rango para el parámetro <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2195,7 +2220,7 @@ msgstr ""
 "ERROR: No se ha establecido el parámetro requerido <%s> :\n"
 "\t(%s)\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2204,37 +2229,37 @@ msgstr ""
 "\n"
 "ERROR: la opción <%s> debe ser provista en múltiplos de %d.\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Disculpe pero <%s> no es una opción válida.\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Separador de campos."
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Disculpe pero <%s> no es una opción válida.\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "No se soportan objetos espaciales del tipo %d OGR"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "No se puede abrir el archivo %s "
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "No ha sido posible crear la tabla <%s>."
@@ -2830,7 +2855,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Se ha terminado el espacio en la memoria."
 
@@ -2852,11 +2878,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Cargando datos de la tabla de atributos..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "No se ha definido la conexión a la base de datos para la capa %d."
@@ -3060,7 +3088,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Escribir matriz 2d al mapa raster <%s>."
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3174,8 +3202,8 @@ msgstr "Factor de unidades de salida."
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3759,6 +3787,30 @@ msgstr "Tipo de interpolación desconocido"
 msgid "Failed to initialize Cairo surface"
 msgstr "No se puede inicializar pj causa: %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -4010,11 +4062,11 @@ msgid "Creating a new space time %s dataset"
 msgstr ""
 "El mapa raster <%s> no se encuentra en el directorio de mapas (mapset) <%s>."
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4212,29 +4264,29 @@ msgid ""
 msgstr ""
 
 #
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "No se puede leer el archivo de cabecera."
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "No ha sido posible leer el rango del mapa raster 3D <%s>."
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "No ha sido posible cerrar el mapa raster 3D <%s>."
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "No se puede abrir el mapa vectorial <%s>."
@@ -4398,13 +4450,13 @@ msgstr ""
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
@@ -4413,7 +4465,7 @@ msgstr ""
 "No se puede abrir el archivo de definición de la base de datos vectorial "
 "'%s'."
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4424,7 +4476,7 @@ msgstr ""
 "No se puede abrir el archivo de definición de la base de datos vectorial "
 "'%s'."
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4434,12 +4486,12 @@ msgstr ""
 "No se puede abrir el archivo de definición de la base de datos vectorial "
 "'%s'."
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "No se puede abrir la base de datos %s con el controlador %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4447,53 +4499,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "No se puede eliminar el elemento %s"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr ""
-"No se puede abrir el archivo de definición de la base de datos vectorial "
-"'%s'."
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "No ha sido posible crear la tabla <%s>."
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "No se puede ejecutar el comando."
 
-#
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "No se puede encontrar '%s'."
 
-#
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "No se pueden presentar estadísticas del archivo <%s>."
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "No se puede ejecutar el comando."
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4501,14 +4537,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "No se puede ejecutar el comando."
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4653,7 +4689,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "No se puede encontrar el mapa vectorial <%s> en <%s>."
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4769,50 +4805,50 @@ msgid ""
 msgstr "El mapa vectorial <%s> ya existía y será rescrito."
 
 #
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 
 #
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr ""
 "Archivo de marca de tiempo no válido para el %s mapa %s en el directorio de "
 "mapas %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "Error de sintaxis."
 
 #
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 
 #
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 
 #
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr ""
@@ -4820,18 +4856,18 @@ msgstr ""
 "mapas %s"
 
 #
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 
 #
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr ""
@@ -4839,7 +4875,7 @@ msgstr ""
 "mapas %s"
 
 #
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
@@ -4865,7 +4901,7 @@ msgid "Error computing map <%s>"
 msgstr "Error al abrir el mapa g3D <%s>."
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "No se puede encontrar el mapa vectorial <%s> en <%s>."
@@ -4892,76 +4928,101 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  formato: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Nombre del mapa raster base."
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "No se puede encontrar el mapa vectorial <%s> en <%s>."
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Nombre del mapa raster de entrada."
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "No se ha encontrado el mapa raster <%s>."
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "No es posible cerrar el mapa de entrada."
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+#, fuzzy
+msgid "Merging empty map lists"
+msgstr "Nombre del mapa raster de entrada."
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "No se puede encontrar el mapa vectorial <%s> en <%s>."
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "No se ha encontrado el mapa raster <%s>."
@@ -4977,13 +5038,13 @@ msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "No se puede leer el rango del mapa ráster <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "No se ha encontrado el mapa raster <%s>."
 
 #
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
@@ -5036,7 +5097,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -5051,7 +5112,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "No se pueden recuperar los datos de la tabla. <%s>."
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -5059,47 +5124,55 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "No es posible cerrar el mapa de entrada."
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "El mapa vectorial <%s> ya existe y será sobrescrito."
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "El nombre del archivo no está permitido. No puede ser '.' o 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr ""
 "El nombre del archivo no es admitido. El carácter <%c> no está permitido.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -5108,43 +5181,43 @@ msgstr ""
 "No es posible restaurar el objeto espacial %d, el mapa vectorial <%s> no "
 "está abierto en modo de \"escritura\"."
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "no hay datos"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Color."
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "No se ha definido la conexión a la base de datos para la capa %d."
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Error al cargar el mapa vectorial. <%s>."
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -5189,76 +5262,76 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "No se soportan objetos espaciales del tipo %d OGR"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "No se soportan objetos espaciales del tipo %d OGR"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "No se soportan objetos espaciales del tipo %d OGR"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Nombre de la columna de atributos."
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Problema al leer el mapa ráster"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "El mapa vectorial <%s> ya existe y será sobrescrito."
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Objeto espacial OGR sin ID ignorado"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "El índice está fuera de rango en"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "El mapa vectorial <%s> ya existía y será rescrito."
 
 #
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "La tabla <%s> enlazada con el mapa vectorial <%s> no existe."
@@ -5267,19 +5340,34 @@ msgstr "La tabla <%s> enlazada con el mapa vectorial <%s> no existe."
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "No se puede leer el ajuste de desplazamiento de línea %ld"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "No se puede leer el id %d del elemento."
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5295,26 +5383,42 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Tipo de interpolación desconocido."
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 "Leyendo el mapa raster <%s@%s> la solicitud para la fila %d está fuera de la "
 "región."
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Error al escribir el archivo de índices de categoría <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Error al leer la fila nula %d."
@@ -5452,52 +5556,47 @@ msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Error al escribir el archivo de índices de categoría <%s>"
 
+#: ../lib/raster/put_row.c:486
+msgid "GDAL output doesn't support writing null rows separately"
+msgstr ""
+
 #
 #: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
 msgid "No null file for <%s>"
 msgstr "No se puede abrir el archivo de cabecera del vectorial <%s>"
 
-#: ../lib/raster/put_row.c:503
-msgid "GDAL output doesn't support writing null rows separately"
-msgstr ""
-
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "No se puede encontrar un archivo temporal vacío: %s"
-
-#: ../lib/raster/put_row.c:528
-#, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "No se puede abrir el archivo %s "
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "Error al leer el mapa comprimido <%s@%s>, fila %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "error escribiendo una fila nula %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: el mapa [%s] no está abierto para escritura - petición ignorada"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: No se abrió el descriptor del archivo - petición ignorada"
@@ -5604,7 +5703,7 @@ msgstr ""
 msgid "Unable to open GDAL file"
 msgstr "No se puede abrir el archivo %s "
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "El nombre del mapa vectorial <%s> no es válido"
@@ -5673,6 +5772,21 @@ msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr ""
 "El sistema no está inicializado. El programador olvidó llamar a G_gisinit()."
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "Error de sintaxis."
@@ -5757,26 +5871,26 @@ msgstr "EmbedGivenNulls: tipo de dato incorrecto!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: ¡tipo de dato incorrecto!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "El nombre del mapa vectorial <%s> no es válido"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "No se puede abrir el archivo <%s>"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "No se puede borrar el archivo '%s'"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "No es posible escribir el archivo f_format para los mapas de celdas."
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5785,30 +5899,29 @@ msgstr ""
 "No se puede abrir el mapa raster <%s@%s> ya que es una reclasificación de un "
 "mapa raster <%s@%s> que no existe."
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "no es posible leer el archivo conteniendo los rangos para [%s en %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Error al abrir el mapa raster 3D <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 "Mapa raster <%s@%s>: El campo de formato en el archivo de cabecera no es "
 "válido."
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr ""
-"El mapa raster <%s> no se encuentra en el directorio de mapas (mapset) <%s>."
+msgid "Compression with %s is not supported"
+msgstr "No se soportan objetos espaciales del tipo %d OGR"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5818,20 +5931,20 @@ msgstr ""
 "la región actual:\n"
 "el mapa hallado [%s] en: <%s>, debería ser: <%s> "
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 "[%s] El mapa raster [%s] - se encuentra en una zona diferente [%d] de la "
 "región actual. [%d]"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 "Para el mapa raster <%s@%s>: los bytes por celda (%d) son demasiado grandes."
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
@@ -5840,73 +5953,80 @@ msgstr ""
 "para GDAL"
 
 #
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa ráster <%s@%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Error al leer el mapa <%s@%s>, fila %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "No se puede abrir el archivo %s "
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr ""
 "El mapa raster <%s> no se encuentra en el directorio de mapas de usuario "
 "actual (mapset). (%s)."
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> es un nombre de archivo no admitido."
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr ""
 "G__open_raster_new():no se encuentran disponibles los archivos temporales"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr ""
+"El mapa raster <%s> no se encuentra en el directorio de mapas de usuario "
+"actual (mapset). (%s)."
+
+#: ../lib/raster/open.c:816
 #, fuzzy
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 "G_set_fp_type(): únicamente puede ser invocado mediante FCELL_TYPE o "
 "DCELL_TYPE"
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr ""
 "El mapa raster <%s> no se encuentra en el directorio de mapas (mapset) <%s>."
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "No se puede encontrar '%s'."
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Tipo no válido: campo '%s' en el archivo '%s'."
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "Tipo inválido: campo %s en el archivo %s"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "El mapa raster <%s> no es xdr: orden de bytes: %s."
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 #, fuzzy
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
@@ -5938,11 +6058,16 @@ msgstr "No se puede encontrar las reglas matemáticas: el mapa %s es entero"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "No se puede leer el rango del mapa ráster <%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Fallo en la lectura inicial del archivo comprimido [%s en %s]."
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Fallo en la lectura inicial del archivo comprimido [%s en %s]."
+
 #
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
@@ -6285,17 +6410,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "No se puede abrir el archivo <%s>"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "ADVERTENCIA: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Estableciendo costes de nodos..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6303,115 +6428,149 @@ msgstr ""
 "Uso:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "Aceptar el valor predeterminado."
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "Proyección no válida.\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "No se puede asignar una imagen temporal."
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "El formato solicitado no ha sido compilado en esta versión."
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6421,73 +6580,80 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Disculpe pero <%s> no es una opción válida.\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
+msgstr ""
+
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 "Ha fallado la creación de una nueva localización. La localización <%s> ya "
 "existe."
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
@@ -6495,182 +6661,196 @@ msgid ""
 msgstr ""
 "Por favor notifique a los desarrolladores de GRASS acerca de este error.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s: el área %d no existe."
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: el área %d no existe."
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s: el área %d no existe."
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Construyendo grafica..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - variable no establecida."
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
 msgstr "Ejecutando '%s'..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "La conexión ha fallado."
+
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
 msgstr "La ejecución de '%s' ha terminado."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr "La GUI de GRASS debería ser <%s>"
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "No es posible establecer el foco."
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, fuzzy, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr "Bienvenido a GRASS %s"
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 #, fuzzy
 msgid "GRASS GIS homepage:"
 msgstr "Página de inicio de GRASS:"
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr "Esta versión corriendo a través de:"
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "No hay ayuda disponible para el comando [%s].\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr "Vea los términos de la licencia con:"
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr "Si lo necesita, reinicie la GUI con:"
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr "Iniciar GUI con:"
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr "En cuanto esté listo para quitar escriba:"
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr "MÁSCARAS ráster 2D y 3D presentes"
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr "MÁSCARA ráster presente"
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr "Adios de GRASS GIS"
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "Ninguno."
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr "Adios de GRASS GIS"
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "No se puede abrir el archivo temporal."
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "No se soportan objetos espaciales del tipo %d OGR"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, fuzzy, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 "No se puede iniciar GRASS. Usted puede:\n"
 " - Lanzar GRASS con '-gui' switch (`grass70 -gui`)\n"
@@ -6678,20 +6858,26 @@ msgstr ""
 " - Lanzar GRASS con la ruta para localización/directorio de mapas (mapset) "
 "como un argumento (`grass70 /pruta/a/localización/directorio de mapas`)"
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr "Creando nueva localización/directorio de mapas (mapset)..."
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr "Iniciando GRASS GIS..."
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "No ha sido posible iniciar el controlador <%s>."
@@ -7212,8 +7398,8 @@ msgstr "No se pueden escribir las islas en el archivo extra (plus file)."
 msgid "Computing minimum spanning tree..."
 msgstr "Calculando el mínimo árbol de expansión."
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "Error 'GngFlatten'"
 
@@ -7323,10 +7509,10 @@ msgstr "No ha sido posible encontrar el punto en el polígono."
 msgid "conditions failed"
 msgstr "Fallaron las condiciones."
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7359,7 +7545,7 @@ msgstr "No se puede reescribir el el objeto espacial %d."
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7384,23 +7570,23 @@ msgstr ""
 "la categoría <%s>."
 
 #
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
 
 #
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "No se puede abrir el archivo de cabecera del vector <%s>."
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Línea dañada en la cabecera: %s."
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Palabra clave %s desconocida en la cabecera del vectorial."
@@ -7427,7 +7613,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "Sólo el formato nativo es soportado"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Se intentó leer una línea inexistente."
 
@@ -7444,17 +7630,17 @@ msgstr ""
 "%d"
 
 #
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr "No se puede leer el ajuste de desplazamiento de línea %ld"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Intento de leer puntos de un id de área inexistente %d"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr "No se puede leer el id %d del elemento."
@@ -7473,19 +7659,19 @@ msgid "Category index out of range"
 msgstr "El índice de capa se encuentra fuera del rango."
 
 #
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr ""
 "No se puede abrir archivo de índice de categorías del mapa vectorial <%s>."
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Error al escribir el archivo de índices de categoría <%s>."
 
 #
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr ""
@@ -7518,7 +7704,7 @@ msgstr "Objeto espacial OGR sin ID ignorado"
 msgid "OGR layer not defined"
 msgstr "Capa OGR no definida"
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "No se puede abrir la fuente de datos OGR '%s'."
@@ -7624,7 +7810,7 @@ msgstr "La carga ha fallado."
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7661,98 +7847,114 @@ msgstr "%s: El área %d no existe."
 msgid "Attempt to access dead area %d"
 msgstr "Intento de borrar un razgo u objeto espacial inexistente."
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "No ha sido posible crear la tabla <%s>."
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "No se puede copiar la tabla <%s>."
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "No se puede copiar la tabla <%s>."
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "No se puede copiar la tabla <%s>."
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "El nombre del mapa vectorial no se ajusta al estándar SQL."
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "No ha sido posible encontrar el mapa vectorial <%s> en <%s>."
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "El mapa vectorial <%s> ya existe y será sobrescrito."
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "No se puede borrar el mapa vectorial <%s>."
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "No se puede copiar el mapa vectorial <%s> en <%s>."
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "No se puede copiar la tabla <%s>."
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "No se puede borrar la tabla <%s>."
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "No ha sido posible crear el índice para la tabla <%s>, llave <%s>."
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr "Ignorando directorio de mapas (mapset) inválido: %s"
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Nombre de mapa vectorial no válido <%s>."
 
 #
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>."
 
 #
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr ""
 "No se puede encontrar la tabla <%s> enlazada con el mapa vectorial <%s>."
 
 #
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "La tabla <%s> enlazada con el mapa vectorial <%s> no existe."
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "No se puede abrir el directorio '%s'."
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "No se puede borrar el archivo '%s'."
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "No se puede cambiar el nombre del directorio de '%s' a '%s'."
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "No se puede eliminar el directorio '%s'."
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7779,12 +7981,12 @@ msgid "%s dangles: %d"
 msgstr "Áreas eliminadas"
 
 #
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "No se puede abrir el archivo histórico para el mapa vectorial <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
@@ -7793,7 +7995,7 @@ msgstr ""
 "El archivo de coordenadas del mapa vectorial <%s@%s> es mayor de lo que "
 "debiera (%ld bytes de exceso)."
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7832,7 +8034,7 @@ msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
 #
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr ""
@@ -7889,91 +8091,150 @@ msgstr "Rupturas"
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr "No es posible establecer el foco."
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Construyendo grafica..."
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-msgid "for this format/level not supported"
-msgstr "No soportado para este formato / nivel."
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Imposible crear gráfico de la red."
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "El formato solicitado no ha sido compilado en esta versión."
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Columna de costos a futuro no especificada."
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
+#: ../lib/vector/Vlib/net_build.c:156
 #, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "El mapa vectorial no ha sido abierto."
+msgid "Turntable field < 1"
+msgstr "Campo de arco < 1."
 
-#
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "No se ha encontrado la columna <%s> en la tabla <%s>."
 
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "El índice de capa se encuentra fuera del rango."
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
+"El tipo de datos para la columna <%s> no está soportado (debe ser de tipo "
+"numérico)."
 
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "El índice de capa se encuentra fuera del rango."
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "Estableciendo costes de nodos..."
 
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "El índice de capa se encuentra fuera del rango."
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "No se ha encontrado la columna <%s> en la tabla <%s>."
 
-#: ../lib/vector/Vlib/read.c:272
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"No se encuentra el registro para el nodo %d (cat = %d). (El coste se "
+"establece como 0)."
+
+#
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Isle index is out of range"
-msgstr "El índice de capa se encuentra fuera del rango."
+msgid "Cannot add network arc for virtual node connection."
+msgstr "No se ha podido añadir el arco a la red."
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Construyendo grafica..."
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Imposible crear gráfico de la red."
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Columna de costos a futuro no especificada."
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"No se encuentra el registro para el nodo %d (cat = %d). (El coste se "
+"establece como 0)."
+
+#
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "No se ha podido añadir el arco a la red."
 
-#: ../lib/vector/Vlib/net.c:172
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
 msgid "Arc field < 1"
 msgstr "Campo de arco < 1."
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "No se ha encontrado la columna <%s> en la tabla <%s>."
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Registrando arcos..."
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:558
 #, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
-"El tipo de datos para la columna <%s> no está soportado (debe ser de tipo "
-"numérico)."
 
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Registrando arcos..."
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"No se ha encontrado el registro de la base de datos para la línea %d (cat ="
+"%d, hacia adelante / en una o ambas direcciones) (se omite la línea hacia "
+"adelante / en una o ambas direcciones)."
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"No se ha encontrado el registro de la línea %d (cat = %d, en la dirección "
+"hacia atrás) en la base de datos , (se omite la dirección de la línea)."
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Achatamiento de la gráfica ..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "El grafico fue construido."
+
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
@@ -7983,7 +8244,7 @@ msgstr ""
 "%d, hacia adelante / en una o ambas direcciones) (se omite la línea hacia "
 "adelante / en una o ambas direcciones)."
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:885
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, backword direction) not "
@@ -7993,37 +8254,59 @@ msgstr ""
 "hacia atrás) en la base de datos , (se omite la dirección de la línea)."
 
 #
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:934
 msgid "Cannot add network arc"
 msgstr "No se ha podido añadir el arco a la red."
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "Estableciendo costes de nodos..."
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "No es posible establecer el foco."
 
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"No se encuentra el registro para el nodo %d (cat = %d). (El coste se "
-"establece como 0)."
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+msgid "for this format/level not supported"
+msgstr "No soportado para este formato / nivel."
 
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Achatamiento de la gráfica ..."
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "El formato solicitado no ha sido compilado en esta versión."
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "El grafico fue construido."
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "El mapa vectorial no ha sido abierto."
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "Error de dglShortestPath: %s"
+#
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Dirección de la línea incorrecta en Vect_net_get_line_cost()."
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "El índice de capa se encuentra fuera del rango."
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "El índice de capa se encuentra fuera del rango."
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "El índice de capa se encuentra fuera del rango."
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "El índice de capa se encuentra fuera del rango."
 
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
@@ -8160,7 +8443,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Existe una mala conexión con el servidor."
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -8172,7 +8455,7 @@ msgstr ""
 "La lectura aleatoria no está soportada por OGR para esta capa, no se puede "
 "construir el soporte"
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -8187,7 +8470,7 @@ msgstr "Construyendo topología para el mapa vectorial <%s>..."
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Construyendo topología para el mapa vectorial <%s>..."
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -8216,7 +8499,7 @@ msgid "Updating TopoGeometry data..."
 msgstr "Actualizando datos TopoGeométricos"
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "No se puede abrir el archivo %s "
@@ -8402,8 +8685,8 @@ msgid "Number of redundant holes: %d"
 msgstr "Número de contornos: %d."
 
 #
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr ""
@@ -8503,16 +8786,16 @@ msgid "Number of isles: -"
 msgstr "Número de íslas: -"
 
 #
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s@%s>."
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Error al escribir el archivo de topología."
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
@@ -8521,24 +8804,24 @@ msgstr ""
 "No se puede construir el índice espacial a partir de la topología, el mapa "
 "vectorial no está abierto en el nivel topológico 2."
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "Error de programación (Vect_build_sidx_from_topo): El nodo no existe."
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr "Índice espacial no disponible, no puede ser guardado"
 
 #
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr ""
 "No se puede abrir el archivo de índice de categorías para el mapa vectorial <"
 "%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Error al escribir el archivo de índice espacial."
 
@@ -8722,58 +9005,58 @@ msgstr "operador desconocido"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr "Ajustar vértices; Paso 1, Seleccione los puntos."
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr "Ajustar vértices; Paso 2, Asigne los vértices ancla."
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr "Ajustar vértices; Paso 3, Ajustar a los puntos asignados."
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr "Vertices ajustados: %d"
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, c-format
 msgid "New vertices: %d"
 msgstr "Nuevos vértices:%d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Construyendo áreas."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "No se puede leer el elemento id %d"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Intento de borrar un razgo u objeto espacial inexistente."
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "No se puede reescribir el razgo. %d"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "No se puede leer el elemento id %d"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 #, fuzzy
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
@@ -8781,7 +9064,7 @@ msgstr ""
 "La lectura aleatoria no está soportada por OGR para esta capa, no se puede "
 "construir el soporte"
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "No se puede abrir el archivo de topología para escritura <%s>"
@@ -8791,7 +9074,7 @@ msgstr "No se puede abrir el archivo de topología para escritura <%s>"
 msgid "Unable to rewrite feature %d"
 msgstr "No se puede reescribir el el objeto espacial %d."
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "El nombre del mapa vectorial <%s> no es válido"
@@ -9057,14 +9340,21 @@ msgstr "Línea dañada en la cabecera: %s."
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "La conexión ha fallado."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "La conexión ha fallado."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -9277,26 +9567,26 @@ msgstr "El controlador predeterminado no se ha establecido."
 msgid "Default database is not set"
 msgstr "No ha sido establecida la base de datos predeterminada."
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Dblink solicitado %d, número máximo de enlace %d."
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Error en la regla en la fila %d en %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "No se puede abrir la capa <%s>"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "No se puede abrir el controlador OGR DBMI."
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -9304,28 +9594,28 @@ msgstr ""
 "Todas las pruebas FID han fallado. Ni los \"FID\" ni \"ogc_fid\" ni \"ogr_fid"
 "\" ni \"gid\", están disponibles en la tabla OGR DB."
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "operador desconocido"
 
 #
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 "Error de programa: Se ha intentado actualizar un mapa el cual no se "
@@ -9408,7 +9698,7 @@ msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr ""
 "El mapa raster <%s> no se encuentra en el directorio de mapas actual. (%s)"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
@@ -9416,19 +9706,19 @@ msgstr ""
 "el directorio actual de mapas de usuario (mapset)."
 
 #
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
 
 #
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 "No ha sido posible abrir el archivo de topología del mapa vectorial <%s>."
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9437,92 +9727,92 @@ msgstr ""
 "No se puede abrir el mapa vectorial <%s> en el nivel %d. Intente reconstruir "
 "la topología vectorial mediante v.build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Construyedo topología para el mapa vectorial <%s>..."
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "No se puede abrir el mapa vectorial <%s>"
 
 #
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "No se puede abrir el archivo de historial del mapa vectorial <%s>."
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr ""
 "El mapa raster <%s> no se encuentra en el directorio de mapas de usuario "
 "actual (mapset). (%s)."
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "El nombre del mapa vectorial no se ajusta al estándar SQL."
 
 #
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "No se puede abrir el archivo histórico para el mapa vectorial <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr "Usando formato OGR/%s "
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr "Usando formato de topología PostGIS"
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr "Usando formato PostGIS"
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "Sólo el formato nativo es soportado"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "No se pueden presentar estadísticas del archivo <%s>."
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "El tamaño del archivo de coordenadas difiere del valor guardado en el "
 "archivo de topología."
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Por favor, reconstruya la topología del mapa vectorial <%s@%s>."
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 "El tamaño del archivo 'coor' difiere del valor guardado en el archivo de "
 "topología."
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "No se puede abrir el archivo %s "
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9591,91 +9881,91 @@ msgstr "La conexión ha fallado."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "La conexión ha fallado."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "No ha sido posible añadir el enlace a la base de datos."
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 "<%s> no es una base de datos PostGIS. Tabla DB  'spatial_ref_sys'  no "
 "encontrada"
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Objeto espacial OGR sin ID ignorado"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr "Inconsistencia en topología: no se puede leer nodo %d"
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Tipo(s) de objeto espacial."
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Número de áreas sin centroide (baricentro) %d."
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr "Isla %d sin borde detectado"
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "No se pueden recuperar los datos de la tabla. <%s>."
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "No se puede abrir el archivo <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr "Diferente número de nodos detectado (%d, %d)"
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr "Diferente número de áreas detectado (%d, %d)"
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr "Inconsistencia en topología: número de puntos %d (debe ser %d)"
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9741,16 +10031,33 @@ msgstr "La línea no ha sido utilizada en un ciclo."
 msgid "Topology info not available for feature %d"
 msgstr "No hay ayuda disponible para el comando [%s].\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "Error de dglShortestPath: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Dirección de la línea incorrecta en Vect_net_get_line_cost()."
+
 #
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "No ha sido posible añadir un arco a la red."
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "El nombre del mapa vectorial <%s> no es válido"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9797,6 +10104,50 @@ msgstr "Se ha ignorado el objeto espacial sin geometría %d."
 msgid "Unable to create field <%s>"
 msgstr "No ha sido posible crear la tabla <%s>."
 
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "No se puede abrir el archivo '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr ""
+#~ "No se puede abrir el archivo de definición de la base de datos vectorial "
+#~ "'%s'."
+
+#
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
+
+#
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "No se puede abrir el archivo de cabecera del mapa vectorial <%s>"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "No se puede encontrar un archivo temporal vacío: %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "No se puede abrir el archivo %s "
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Disculpe pero <%s> no es una opción válida.\n"
+
+#~ msgid "GRASS GUI should be <%s>"
+#~ msgstr "La GUI de GRASS debería ser <%s>"
+
+#, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "El nombre del mapa vectorial <%s> no es válido"
+
 #
 #, fuzzy
 #~ msgid "Unable to restore feature/offset %lu in vector map <%s>"
@@ -9868,52 +10219,5 @@ msgstr "No ha sido posible crear la tabla <%s>."
 #~ msgstr "Nombre del ráster de entrada"
 
 #, fuzzy
-#~ msgid "Removing empty raster maps"
-#~ msgstr "Nombre del mapa raster de entrada."
-
-#, fuzzy
 #~ msgid "Wrong type of input"
 #~ msgstr "No es posible cerrar el mapa de entrada."
-
-#, fuzzy
-#~ msgid "Turntable field < 1"
-#~ msgstr "Campo de arco < 1."
-
-#, fuzzy
-#~ msgid "Turntable column <%s> not found in table <%s>"
-#~ msgstr "No se ha encontrado la columna <%s> en la tabla <%s>."
-
-#
-#, fuzzy
-#~ msgid "Cannot add network arc for virtual node connection."
-#~ msgstr "No se ha podido añadir el arco a la red."
-
-#, fuzzy
-#~ msgid ""
-#~ "Database record for turn with cat = %d in not found. (The turn was "
-#~ "skipped."
-#~ msgstr ""
-#~ "No se encuentra el registro para el nodo %d (cat = %d). (El coste se "
-#~ "establece como 0)."
-
-#
-#, fuzzy
-#~ msgid "Cannot add network arc representing turn."
-#~ msgstr "No se ha podido añadir el arco a la red."
-
-#, fuzzy
-#~ msgid ""
-#~ "Database record for line %d (cat = %d, forward/both direction(s)) not "
-#~ "found (cost was set to 0)"
-#~ msgstr ""
-#~ "No se ha encontrado el registro de la base de datos para la línea %d (cat "
-#~ "=%d, hacia adelante / en una o ambas direcciones) (se omite la línea "
-#~ "hacia adelante / en una o ambas direcciones)."
-
-#, fuzzy
-#~ msgid ""
-#~ "Database record for line %d (cat = %d, backword direction) not found(cost "
-#~ "was set to 0)"
-#~ msgstr ""
-#~ "No se ha encontrado el registro de la línea %d (cat = %d, en la dirección "
-#~ "hacia atrás) en la base de datos , (se omite la dirección de la línea)."
diff --git a/locale/po/grasslibs_fi.po b/locale/po/grasslibs_fi.po
index 47b89ba..3fcd328 100644
--- a/locale/po/grasslibs_fi.po
+++ b/locale/po/grasslibs_fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_fi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-08-17 16:24+0300\n"
 "Last-Translator: Kari Salovaara <kari.salovaara at pp1.inet.fi>\n"
 "Language-Team: Finnish <grass-translations at lists.osgeo.org>\n"
@@ -28,33 +28,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr ""
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, c-format
 msgid "Unknown display driver <%s>"
 msgstr ""
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, c-format
 msgid "Using display driver <%s>..."
 msgstr ""
 
-#: ../lib/display/r_raster.c:236
-#, c-format
-msgid "Unable to open file '%s'"
-msgstr ""
-
 #: ../lib/display/icon.c:80
 #, c-format
 msgid "Unsupported icon %d"
@@ -85,7 +80,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr ""
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr ""
@@ -97,7 +92,7 @@ msgstr ""
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -130,7 +125,7 @@ msgstr ""
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -158,8 +153,8 @@ msgstr ""
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -219,21 +214,33 @@ msgstr ""
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, c-format
 msgid "Unable to read file '%s'"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, c-format
 msgid "Unable to write file '%s'"
 msgstr ""
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Taulu <%s> on jo olemassa tietokannassa ja päällekirjoitetaan"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr ""
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr ""
@@ -393,8 +400,10 @@ msgstr "Ei voida käynnistää ajuria <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -406,45 +415,45 @@ msgstr "Ei voida avata tietokantaa <%s> ajurilla <%s>"
 msgid "Unable to get list tables in database <%s>"
 msgstr "Ei saada listaa tauluista tietokannasta <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Taulu <%s> on jo olemassa tietokannassa ja päällekirjoitetaan"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Taulu <%s> on jo olemassa tietokannassa <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Sarake <%s> ei ole integer (kokonaisluku)"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Saraketta <%s> ei löydy"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Ei voida luoda taulua <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Tuntematon saraketyyppi (sarake <%s>)"
@@ -514,6 +523,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr ""
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -815,192 +828,192 @@ msgstr ""
 msgid "Category value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 msgid "Name of input directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 msgid "Coordinates"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 msgid "Name of color table"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 msgid "Name of saved region"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 msgid "Name of the input space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 msgid "Name of the input space time datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 msgid "Name of the output space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 msgid "Name of the input space time raster dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 msgid "Name of the input space time raster datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 msgid "Name of the output space time raster dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 msgid "Name of the input space time vector dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 msgid "Name of the input space time vector datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 msgid "Name of the output space time vector dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 msgid "Name of the input space time raster3d dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 msgid "Name of the input space time raster3d datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 msgid "Name of the output space time raster3d dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 msgid "Type of the input space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 msgid "Name of the input map"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 msgid "Name of the input maps"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 msgid "Type of the input map"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 msgid "The temporal type of the space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 msgid "Do not create attribute table"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1027,7 +1040,7 @@ msgid "SYNOPSIS"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr ""
 
@@ -1047,7 +1060,7 @@ msgid "Quiet module output"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr ""
 
@@ -1149,7 +1162,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr ""
 
@@ -1224,7 +1237,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr ""
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr ""
@@ -1305,17 +1318,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr ""
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr ""
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr ""
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr ""
@@ -1491,6 +1504,11 @@ msgstr ""
 msgid "Duplicate compressed field"
 msgstr ""
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1537,22 +1555,22 @@ msgstr ""
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr ""
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr ""
@@ -1735,8 +1753,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr ""
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1795,6 +1814,10 @@ msgstr ""
 msgid "Invalid coordinates"
 msgstr ""
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr ""
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr ""
@@ -1859,147 +1882,147 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr ""
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr ""
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 msgid "ERROR"
 msgstr ""
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr ""
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr ""
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr ""
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
 "\tPresented as: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
 "\tLegal range: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
 "\tValid options: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
 "\t(%s)"
 msgstr ""
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
 "\tYou provided %d item(s): %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, c-format
 msgid "%s= is not a separator option"
 msgstr ""
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, c-format
 msgid "No separator given for %s="
 msgstr ""
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, c-format
 msgid "%s= is not a file option"
 msgstr ""
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr ""
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, c-format
 msgid "Unable to open %s file <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, c-format
 msgid "Unable to create %s file <%s>"
 msgstr ""
@@ -2509,7 +2532,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr ""
 
@@ -2531,11 +2555,13 @@ msgid "Loading data from attribute table ..."
 msgstr ""
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
@@ -2719,7 +2745,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr ""
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -2831,8 +2857,8 @@ msgstr ""
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3368,6 +3394,30 @@ msgstr ""
 msgid "Failed to initialize Cairo surface"
 msgstr ""
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, python-format
 msgid "Unknown dataset type: %s"
@@ -3604,11 +3654,11 @@ msgstr ""
 msgid "Creating a new space time %s dataset"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -3798,28 +3848,28 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 msgid "Unable to read range file"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr ""
@@ -3976,20 +4026,20 @@ msgstr ""
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -3998,7 +4048,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4006,12 +4056,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, python-format
 msgid "Creating temporal database: %s"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4019,49 +4069,35 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
+#: ../lib/python/temporal/core.py:933
+msgid "Unable to mogrify sql statement. "
 msgstr ""
 
-#: ../lib/python/temporal/core.py:937
-#, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Ei voida luoda taulua <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Ei voida luoda taulua <%s>"
 
-#: ../lib/python/temporal/core.py:965
-#, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Ei voida luoda taulua <%s>"
 
-#: ../lib/python/temporal/core.py:976
-#, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Ei voida luoda taulua <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
+#: ../lib/python/temporal/core.py:1008
+msgid "Unable to execute transaction. "
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4069,14 +4105,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4203,7 +4239,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr ""
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4316,63 +4352,63 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr ""
@@ -4396,7 +4432,7 @@ msgid "Error computing map <%s>"
 msgstr ""
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr ""
@@ -4422,74 +4458,97 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr ""
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr ""
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 msgid "All input space time datasets must have the same temporal type."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 msgid "Wrong type of input "
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr ""
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr ""
@@ -4504,12 +4563,12 @@ msgstr ""
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr ""
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr ""
@@ -4560,7 +4619,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4574,7 +4633,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr ""
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4582,86 +4645,94 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 msgid "Unable to list mapsets"
 msgstr ""
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr ""
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr ""
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr ""
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr ""
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 msgid "No data"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "color"
 msgstr ""
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr ""
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4704,72 +4775,72 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 msgid "Null value detected"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 msgid "Error executing: Rast_set_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 msgid "Raster type not defined"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, python-format
 msgid "Index out of range: %r."
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr ""
@@ -4778,19 +4849,33 @@ msgstr ""
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Ei voida luoda taulua <%s>"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Ei voida luoda taulua <%s>"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -4806,24 +4891,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr ""
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr ""
+
+#: ../lib/raster/get_row.c:227
 #, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr ""
+
+#: ../lib/raster/get_row.c:847
+#, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr ""
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr ""
@@ -4947,51 +5048,46 @@ msgstr ""
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr ""
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:489
-#, c-format
-msgid "No null file for <%s>"
-msgstr ""
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, c-format
-msgid "Unable to find a temporary null file <%s>"
+msgid "No null file for <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, c-format
-msgid "Unable to open null file <%s>"
+msgid "Error writing compressed null data for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr ""
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr ""
 
@@ -5086,7 +5182,7 @@ msgstr ""
 msgid "Unable to open GDAL file"
 msgstr ""
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, c-format
 msgid "Invalid map type <%d>"
 msgstr ""
@@ -5149,6 +5245,21 @@ msgstr ""
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr ""
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr ""
@@ -5229,134 +5340,139 @@ msgstr ""
 msgid "Rast_set_null_value: wrong data type!"
 msgstr ""
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, c-format
 msgid "Invalid descriptor: %d"
 msgstr ""
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr ""
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr ""
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr ""
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
 "%s> which does not exist"
 msgstr ""
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
+msgid "Compression with %s is not supported"
 msgstr ""
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr ""
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 msgid "Unable to create GDAL link"
 msgstr ""
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr ""
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr ""
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, c-format
 msgid "No temp files available: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr ""
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, c-format
 msgid "Missing type: field in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5385,11 +5501,16 @@ msgstr ""
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr ""
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr ""
 
+#: ../lib/raster/format.c:176
+#, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr ""
+
 #: ../lib/raster/range.c:102
 #, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5701,123 +5822,157 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr ""
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 msgid "WARNING"
 msgstr ""
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 msgid "Exiting..."
 msgstr ""
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 msgid "Usage"
 msgstr ""
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 msgid "and set as default"
 msgstr ""
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
-msgid "initial location"
+#: ../lib/init/grass.py:345
+msgid "initial GRASS Location"
 msgstr ""
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
+msgstr ""
+
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr ""
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr ""
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -5827,262 +5982,289 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
+msgstr ""
+
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
 msgstr ""
 
-#: ../lib/init/grass.py:597
+#: ../lib/init/grass.py:823
 #, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
 msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr ""
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
+msgstr ""
+
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 msgid "Building user fontcap..."
 msgstr ""
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
+#: ../lib/init/grass.py:1276
+msgid "The SHELL variable is not set"
 msgstr ""
 
-#: ../lib/init/grass.py:965
-msgid "The SHELL variable is not set"
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
 msgstr ""
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
+#: ../lib/init/grass.py:1330
 #, python-format
-msgid "Executing '%s' ..."
+msgid "Executing <%s> ..."
 msgstr ""
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
+#: ../lib/init/grass.py:1337
+#, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
 msgstr ""
 
-#: ../lib/init/grass.py:994
+#: ../lib/init/grass.py:1340
 #, python-format
-msgid "GRASS GUI should be <%s>"
+msgid "Execution of <%s> finished."
 msgstr ""
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Ei voida luoda taulua <%s>"
+
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr ""
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
+#: ../lib/init/grass.py:1561
+msgid "Done."
 msgstr ""
 
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
+#: ../lib/init/grass.py:1563
 msgid "Goodbye from GRASS GIS"
 msgstr ""
 
-#: ../lib/init/grass.py:1188
-msgid "Done."
-msgstr ""
-
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr ""
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, python-format
 msgid "Parameter <%s> not supported"
 msgstr ""
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, python-format
 msgid "Failed to start shell '%s'"
 msgstr ""
@@ -6536,8 +6718,8 @@ msgstr ""
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6633,10 +6815,10 @@ msgstr ""
 msgid "conditions failed"
 msgstr ""
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6667,7 +6849,7 @@ msgstr ""
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -6688,22 +6870,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr ""
@@ -6728,7 +6910,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr ""
 
@@ -6742,17 +6924,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr ""
@@ -6769,16 +6951,16 @@ msgstr ""
 msgid "Category index out of range"
 msgstr ""
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 msgid "Error writing out category index file"
 msgstr ""
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr ""
@@ -6809,7 +6991,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr ""
@@ -6903,7 +7085,7 @@ msgstr ""
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -6939,95 +7121,111 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr ""
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Ei voida luoda taulua <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Ei voida luoda taulua <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr ""
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Ei voida luoda taulua <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr ""
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
-msgstr ""
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
+msgstr "Ei voida käynnistää ajuria <%s>"
 
 #: ../lib/vector/Vlib/dangles.c:148
 msgid "Changed"
@@ -7051,19 +7249,19 @@ msgstr ""
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7099,7 +7297,7 @@ msgstr ""
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr ""
@@ -7152,124 +7350,193 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, c-format
-msgid "Unable to close cursor %s"
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-msgid "for this format/level not supported"
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-msgid "Vector map is not open for reading"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Saraketta <%s> ei löydy"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
 #, c-format
-msgid "Unable to read feature %d from vector map <%s>"
+msgid "Data type of column <%s> not supported (must be numeric)"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:200
-msgid "Line index is out of range"
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:224
-msgid "Node index is out of range"
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:248
-msgid "Area index is out of range"
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:272
-msgid "Isle index is out of range"
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+msgid "Cannot add network arc for virtual node connection."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
+#: ../lib/vector/Vlib/net_build.c:432
+#, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:465
+msgid "Cannot add network arc representing turn."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
 msgid "Arc field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:558
 #, c-format
-msgid "Column <%s> not found in table <%s>"
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:579
 #, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
+#: ../lib/vector/Vlib/net_build.c:596
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
 "(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:885
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, backword direction) not "
 "found(direction of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:934
 msgid "Cannot add network arc"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, c-format
+msgid "Unable to close cursor %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+msgid "for this format/level not supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+msgid "Vector map is not open for reading"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
 #, c-format
-msgid "dglShortestPath error: %s"
+msgid "Unable to read feature %d from vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/read.c:200
+msgid "Line index is out of range"
+msgstr ""
+
+#: ../lib/vector/Vlib/read.c:224
+msgid "Node index is out of range"
+msgstr ""
+
+#: ../lib/vector/Vlib/read.c:248
+msgid "Area index is out of range"
+msgstr ""
+
+#: ../lib/vector/Vlib/read.c:272
+msgid "Isle index is out of range"
 msgstr ""
 
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
@@ -7393,7 +7660,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7402,7 +7669,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7416,7 +7683,7 @@ msgstr ""
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7442,7 +7709,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 msgid "Unable to open PG file"
 msgstr ""
 
@@ -7610,8 +7877,8 @@ msgstr ""
 msgid "Number of redundant holes: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr ""
@@ -7708,36 +7975,36 @@ msgstr ""
 msgid "Number of isles: -"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr ""
 
@@ -7904,62 +8171,62 @@ msgstr ""
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, c-format
 msgid "New vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 msgid "Reading features..."
 msgstr ""
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr ""
@@ -7969,7 +8236,7 @@ msgstr ""
 msgid "Unable to rewrite feature %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, c-format
 msgid "Invalid offset (%ld)"
 msgstr ""
@@ -8223,14 +8490,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8429,51 +8703,51 @@ msgstr ""
 msgid "Default database is not set"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 msgid "Unknown vector map format"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 
@@ -8544,103 +8818,103 @@ msgstr ""
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 msgid "Using native format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 msgid "Unable to open OGR file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -8705,86 +8979,86 @@ msgstr ""
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 msgid "Unable to get database name"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, c-format
 msgid "Area %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 msgid "Unable to get map bounding box from topology"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -8849,13 +9123,30 @@ msgstr ""
 msgid "Topology info not available for feature %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/graph.c:138
-msgid "Unable to add network arc"
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
 msgstr ""
 
-#: ../lib/vector/Vlib/write_ogr.c:134
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
 #, c-format
-msgid "Invalid offset (%d)"
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
+#: ../lib/vector/Vlib/graph.c:138
+msgid "Unable to add network arc"
 msgstr ""
 
 #: ../lib/vector/Vlib/write_ogr.c:239
diff --git a/locale/po/grasslibs_fr.po b/locale/po/grasslibs_fr.po
index 26fdd53..3459406 100644
--- a/locale/po/grasslibs_fr.po
+++ b/locale/po/grasslibs_fr.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-12-13 20:38+0100\n"
 "Last-Translator: Sylvain Maillard <sylvain.maillard at gmail.com>\n"
 "Language-Team: French <grass-translations at lists.osgeo.org>\n"
@@ -34,33 +34,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr "%s: Aucun fichier de définition de police"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
-msgstr ""
+msgid "Both %s and %s are defined. %s will be ignored."
+msgstr "%s et %s sont tous les deux définis. %s sera ignoré."
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Pilote graphique <%s> inconnu"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, c-format
 msgid "Using display driver <%s>..."
 msgstr "Utilisation du pilote graphique <%s> ..."
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Impossible d'ouvrir le fichier %s"
-
 #: ../lib/display/icon.c:80
 #, c-format
 msgid "Unsupported icon %d"
@@ -93,7 +88,7 @@ msgstr "Erreur de format : fichier ('%s') ligne (%d) - %s"
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "<%s> dans le jeu de données (mapset) <%s>"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "<%s> dans le jeu de données (mapset) <%s>"
@@ -105,7 +100,7 @@ msgstr "<%s> dans le jeu de données (mapset) <%s>"
 msgid "%s is missing"
 msgstr "qui est manquant"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr "%s copié"
@@ -138,7 +133,7 @@ msgstr "Impossible d'ouvrir la base de données <%s> avec le driver <%s>"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -166,8 +161,8 @@ msgstr "Impossible de copier la couche vectorielle <%s> vers <%s>"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -228,21 +223,35 @@ msgstr "Impossible d'ouvrir %s"
 msgid "<%s> nothing removed"
 msgstr "<%s> rien de supprimé"
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, c-format
 msgid "Unable to read file '%s'"
 msgstr "Impossible de lire le fichier '%s'"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, fuzzy, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "Fichier de connexion corrompu"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, c-format
 msgid "Unable to write file '%s'"
 msgstr "Impossible d'écrire le fichier '%s'"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "La connexion <%s> existe déjà et va être écrasée"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr ""
+"La connexion <%s> existe déjà. Ré-exécuter '%s' avec l'option '--%s' pour "
+"écraser les paramètres existants."
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr "<message d'erreur NULL>"
@@ -418,8 +427,10 @@ msgstr "Impossible de démarrer le pilote <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -431,45 +442,45 @@ msgstr "Impossible d'ouvrir la base de données <%s> avec le driver <%s>"
 msgid "Unable to get list tables in database <%s>"
 msgstr "Impossible d'obtenir la liste des tables dans la base de données <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "La table <%s> existe déjà dans la base de données et va être écrasée"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "La table <%s> existe déjà dans la base de données <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Impossible d'ouvrir le curseur de sélection: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "La colonne <%s> n'est pas de type entier"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Colonne <%s> non trouvée"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Impossible de créer la table <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Impossible de récupérer les données depuis la table <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Type de colonne inconnu (colonne <%s>)"
@@ -539,6 +550,10 @@ msgstr "Pas assez de points (%d) dans le groupe"
 msgid "Cannot open debug file '%s'"
 msgstr "Impossible d'ouvrir le fichier de déboggage '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -881,218 +896,218 @@ msgstr ""
 msgid "Category value"
 msgstr "Valeur de la catégorie"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Valeurs de catégorie"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Exemple: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "Id d'entité"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "Id d'entités"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr "Nom du fichier en entrée"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "Nom du fichier en sortie"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Séparateur de champ"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 #, fuzzy
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr "Caractères spéciaux: nouvelle ligne, espace, virgule, tabulation"
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Couleur"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Soit un nom de couleur standard ou un triplet R:G:B"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Soit une couleur standard de GRASS, un triplet R:G:B ou \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Nom du fichier en entrée"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr "Unités"
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr "Type(s) de données"
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr "Nom du jeu de cartes (par défaut : chemin de recherche courant)"
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr "'.' pour le jeu de cartes courant"
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr "Nom du Secteur"
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr "Nom du Secteur (pas son chemin)"
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr "Répertoire de la base du SIG GRASS"
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr "Défaut : chemin de la base SIG GRASS courante"
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Coordonnées invalides"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Nom de la couche vectorielle en entrée"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr "Chaîne représentant la valeur NULL"
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Allocation mémoire impossible\n"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Nom de(s) couche(s) matricielle(s) en entrée"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "pas de fichier %s disponible dans le jeu de données actuel\n"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Nom de la couche matricielle en sortie"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Nom de la couche matricielle d'élévation"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Nom de la couche matricielle d'élévation"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Nom de la couche matricielle en sortie"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Nom de(s) couche(s) vectorielle(s) en entrée"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Nom de(s) couche(s) vectorielle(s) en entrée"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Espace insuffisant dans le tableau vecteur"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Nom de la couche matricielle 3D en entrée"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Nom de la couche matricielle 3D en entrée"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Nom de la couche matricielle 3D en sortie"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "pas de fichier %s disponible dans le jeu de données actuel\n"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Nom de la couche matricielle d'entrée"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Nom de la couche matricielle d'entrée"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Impossible de fermer la carte en entrée"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "la couche matricielle demandée <%s> n'a pas été trouvée"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "WHERE conditions d'une clause SQL sans le mot-clef 'where'"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 #, fuzzy
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr "Exemple : start_time > '2001-01-01 12:30:00'"
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr "La méthode à utiliser pour échantillonner le jeu de donénes en entrée"
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Chargement des données de la table attributaire..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "Construction de la topologie ...\n"
@@ -1120,7 +1135,7 @@ msgid "SYNOPSIS"
 msgstr "SYNOPSIS"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Drapeaux"
 
@@ -1140,7 +1155,7 @@ msgid "Quiet module output"
 msgstr "Sortie du module en mode silence"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Paramètres"
 
@@ -1257,7 +1272,7 @@ msgstr "unités"
 msgid "unit"
 msgstr "unité"
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Projection inconnue"
 
@@ -1332,7 +1347,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "ATTENTION: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "ERREUR :"
@@ -1427,17 +1442,17 @@ msgstr "Système non initialisé. Le développeur a oublié d'appeler G_gisinit(
 msgid "<%s> file not found for location <%s>"
 msgstr "fichier <%s> introuvable pour le secteur <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "La table <%s> liée à la carte vecteur <%s> n'existe pas "
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Impossible de créer l'élément %s du jeu de cartes %s : %s"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Impossible d'accéder à l'élément %s du jeu de données (%s): %s"
@@ -1639,6 +1654,11 @@ msgstr "multiples occurrences du champ de format"
 msgid "Duplicate compressed field"
 msgstr "multiples occurrences pour le champ compressed"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1686,22 +1706,22 @@ msgstr "es invalide: champ '%s' dans le fichier %s de <%s>"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Pas d'information sur l'ellipsoïde dans le fichier %s de <%s>"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): mapset <%s> ne correspond pas à xmapset <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "G_spawn: impossible d'ouvrir le fichier %s"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: impossible d'ouvrir le fichier %s"
@@ -1892,8 +1912,9 @@ msgstr "secondes"
 msgid "second"
 msgstr "seconde"
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Valeur de résolution n-s illégale"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1960,6 +1981,10 @@ msgstr "L'Est doit être plus grand que l'Ouest"
 msgid "Invalid coordinates"
 msgstr "Coordonnées invalides"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Valeur de résolution n-s illégale"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Valeur de résolution n-s 3D illégale"
@@ -2028,84 +2053,84 @@ msgstr ""
 " Seulement %d%% de la fenêtre sauvegardée dans \"%s\" chevauche(nt) la "
 "fenêtre GRASS courante."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "BUG dans les descriptions, l'option '%s' dans  <%s> n'existe pas"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "BUG dans les descriptions, l'option '%s' dans  <%s> n'existe pas"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 "Utiliser le drapeau soit --quiet soit --verbose, pas les deux ; --verbose "
 "supposé."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 "Utiliser le drapeau soit --quiet soit --verbose, pas les deux ; --quiet "
 "supposé."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Désolé, <%s> n'est pas une option valide\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "ERREUR :"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "impossible de déterminer le nom du programme"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Désolé, <%c> n'est pas un drapeau valide\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Désolé, <%s=> est ambigu\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, fuzzy, c-format
 msgid "Option <%s=> matches"
 msgstr "Option <%s=> correspond"
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 "Merci de mettre à jour l'utilisation de <%s> : l'option <%s> a été renommée "
 "en <%s>"
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Désolé, <%s> n'est pas un paramètre valide\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> dans le jeu de données (mapset) <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr "L'option <%s> n'accepte pas les réponses multiples"
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2114,7 +2139,7 @@ msgstr ""
 "\n"
 "ERREUR : syntaxe de l'intervalle illégale pour le paramètre <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2123,14 +2148,14 @@ msgstr ""
 "\n"
 "ERREUR : valeur <%s> en dehors de l'intervalle pour le paramètre <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "ERREUR : Valeur manquante pour le paramètre <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2139,7 +2164,7 @@ msgstr ""
 "\n"
 "ERREUR : valeur <%s> en dehors de l'intervalle pour le paramètre <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2149,7 +2174,7 @@ msgstr ""
 "ERREUR : Le paramètre obligatoire <%s> n'a pas de valeur :\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2158,37 +2183,37 @@ msgstr ""
 "\n"
 "ERREUR : l'option <%s> doit être un multiple de %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Désolé, <%s> n'est pas une option valide\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Séparateur de champ"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Désolé, <%s> n'est pas une option valide\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Le type d'objet OGR %d n'est pas géré"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Impossible d'ouvrir le fichier %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Impossible de supprimer la table <%s>"
@@ -2765,7 +2790,8 @@ msgstr "Impossible d'obtenir des informations sur le fichier '%s'"
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Dépassement de mémoire"
 
@@ -2787,11 +2813,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Chargement des données de la table attributaire..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Connexion à la base de données indéfinie pour la couche %d"
@@ -2990,7 +3018,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Écriture du tableau 2d dans la couche matricielle <%s>"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3104,8 +3132,8 @@ msgstr "Facteur unité de sortie"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3687,6 +3715,31 @@ msgstr "Type de surface Cairo inconnue"
 msgid "Failed to initialize Cairo surface"
 msgstr "Échec d'initialisation de la surface Cairo"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr "input='-' doit être utilisé quand stdin est spécifié"
+
+#: ../lib/python/gunittest/gmodules.py:105
+#, fuzzy
+msgid "stdin must be string or buffer, not PIPE"
+msgstr "stdin doit être une chaîne ou un tampon, pas un PIPE"
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr "stdin doit être utilisé quand input='-'"
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr "argument stdout non autorisé, il peut être écrasé"
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr "argument stderr non autorisé, il peut être écrasé"
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3940,11 +3993,11 @@ msgstr "Impossible de créer le fichier d'en-tête pour [%s]"
 msgid "Creating a new space time %s dataset"
 msgstr "la couche matricielle demandée <%s> n'a pas été trouvée"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr "Liste de cartes vide"
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr "Entrée vide dans la liste de cartes, ceci ne devrait pas se produire"
 
@@ -4149,29 +4202,29 @@ msgstr ""
 "Mettre à jour les métadonnées, l'emprise spatiale et temporelle de toutes "
 "les cartes enregistrées de <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Impossible de lire le fichier d'en-tête"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Impossible de lire la couche vectorielle <%s%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Impossible de fermer la carte raster 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Impossible d'ouvrir la couche vectorielle <%s>"
@@ -4337,20 +4390,20 @@ msgstr "la couche matricielle demandée <%s> n'a pas été trouvée"
 msgid "Switching to original location failed"
 msgstr "La bascule vers le secteur originel a échoué"
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "impossible d'ouvrir le fichier de datums : %s"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4359,7 +4412,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "impossible d'ouvrir le fichier de datums : %s"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4367,12 +4420,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "impossible d'ouvrir le fichier de datums : %s"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Impossible d'ouvrir la base de données %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4384,51 +4437,37 @@ msgstr ""
 "Merci d'utiliser t.connect pour définir un chemin de base temporelle en mode "
 "lecture-écriture"
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Impossible de supprimer le répertoire '%s'"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "impossible d'ouvrir le fichier de datums : %s"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Impossible de créer la table <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Impossible d'exécuter la commande"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr ""
-"Impossible d'ouvrir le fichier d'historique pour la couche vectorielle <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "[%s] introuvable"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr ""
-"Impossible d'ouvrir le fichier d'historique pour la couche vectorielle <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Impossible d'ouvrir le fichier statistique <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Impossible d'exécuter la commande"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4436,14 +4475,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Impossible d'exécuter la commande"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4581,7 +4620,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Impossible de copier la couche vectorielle <%s> vers <%s>"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr "Élément '%s' invalide"
@@ -4698,70 +4737,70 @@ msgid ""
 "%s"
 msgstr "La couche vectorielle <%s> existe déjà et va être écrasé"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr ""
 "Fichier d'étiquette date&heure (timestamp) invalide pour la couche %s %s "
 "dans le jeu de données (mapset) %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "erreur de syntaxe"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr ""
 "Fichier d'étiquette date&heure (timestamp) invalide pour la couche %s %s "
 "dans le jeu de données (mapset) %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr ""
 "Fichier d'étiquette date&heure (timestamp) invalide pour la couche %s %s "
 "dans le jeu de données (mapset) %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
@@ -4788,7 +4827,7 @@ msgid "Error computing map <%s>"
 msgstr "Erreur à l'ouverture de la couche g3d <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Impossible de copier la couche vectorielle <%s> vers <%s>"
@@ -4815,76 +4854,104 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  format : %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Nom de la couche matricielle de base"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Impossible de copier la couche vectorielle <%s> vers <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Nom de la couche matricielle d'entrée"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "La carte vecteur <%s> n'a pas été trouvée"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Impossible de fermer la carte en entrée"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr "Fusion de listes de cartes vides"
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+"La première liste de cartes est vide, pas de fusion possible. Retourne "
+"uniquement la dernière liste de cartes"
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+"La deuxième liste de cartes est vide, pas de fusion possible. Retourne "
+"uniquement la première liste de cartes"
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Impossible de copier la couche vectorielle <%s> vers <%s>"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "La carte vecteur <%s> n'a pas été trouvée"
@@ -4899,12 +4966,12 @@ msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Impossible de lire la couche vectorielle <%s%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "La carte vecteur <%s> n'a pas été trouvée"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Impossible de créer l'en-tête de fichier pour [%s dans %s]"
@@ -4961,7 +5028,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ". Voir les erreus dans la sortie (d'erreurs)."
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr "Une erreur s'est produite pendant l'exécution de r3.mapcalc"
 
@@ -4978,7 +5045,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Impossible de copier la table <%s>"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4986,48 +5057,56 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 "Mélange de types de valeurs. Va essayer de les comparer après une conversion "
 "en entier"
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr "Le type de l'élément devrait être \"cell\" et pas \"%s\""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr "Le type de l'élément devrait être \"raster\" et pas \"%s\""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Impossible de fermer la carte en entrée"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr "Le secteur <%s> existe déjà. Opération annulée."
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "La couche vectorielle <%s> existe déjà et va être écrasé"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Nom de fichier illégal.  Ne peut pas être '.' ou 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Nom de fichier illégal. Caractère <%c> interdit.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -5036,43 +5115,43 @@ msgstr ""
 "Impossible de supprimer la ligne, la couche '%s' n'est pas ouverte en mode "
 "'écriture'"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr "Une erreur s'est produite pendant l'exécution de r.mapcalc"
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "pas de donnée"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr "valeur"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr "étiquette"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Couleur"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "Connexion à la base de données indéfinie pour la couche %d"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Erreur à l'ouverture de la couche g3d <%s>"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr "vector_db_select() a échoué"
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -5123,75 +5202,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr "L'exécution du sous-module a échoué"
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Le type de colonne n'est pas supporté"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Le type d'objet OGR %d n'est pas géré"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr "Nom de carte {0} non valide"
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Le type d'objet OGR %d n'est pas géré"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr "Erreur d'exacution : Rast_get_ith_cat"
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Nom de l'attribut colonne"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Problème de lecture du fichier de cellules raster"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr "La carte n'existe pas, impossible de l'ouvrir en mode 'r'"
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "La couche vectorielle <%s> existe déjà et va être écrasé"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "L'objet OGR sans ID a été ignoré"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr "Type de mode {0} non supporté ('r', 'w','rw')"
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Index hors limites dans"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "La couche vectorielle <%s> existe déjà et va être écrasé"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "La table <%s> liée à la carte vecteur <%s> n'existe pas "
@@ -5200,20 +5279,34 @@ msgstr "La table <%s> liée à la carte vecteur <%s> n'existe pas "
 msgid "The map is close!"
 msgstr "La carte est fermée !"
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr "Le pointeur self.c_mapinfo doit être initialisé correctement"
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr "Le vecteur ne contiens pas de points"
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr "Suppression de la table <%s> qui est attaché à la carte suivante : "
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 #, fuzzy
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr "Vous devez utiliser l'option force pour réellement le supprimer."
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Impossible de lire le décalage de ligne %ld"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Impossible de lire l'entité d'id %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5229,26 +5322,42 @@ msgstr "Rast_make_random_colors : min (%d) > max (%d)"
 msgid "Unknown interpolation method: %s"
 msgstr "Type d'interpolation inconnu"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 "La lecture de la carte raster <%s@%s> demande la ligne %d en dehors de la "
 "région"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Erreur de lecture des données raster à la ligne %d de <%s>"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Erreur de lecture des données raster à la ligne %d de <%s>"
+
+#: ../lib/raster/get_row.c:227
 #, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Erreur de lecture des données raster avec GDAL à la ligne %d de <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Erreur de lecture de données nulles à la ligne %d de <%s>"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Erreur de lecture de données nulles à la ligne %d de <%s>"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Erreur de lecture de la ligne nulle %d de <%s>"
@@ -5383,55 +5492,52 @@ msgstr ""
 "erreur en lisant la couche compressée [%s] dans le jeu de données [%s], "
 "ligne %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr ""
 "erreur en lisant la couche compressée [%s] dans le jeu de données [%s], "
 "ligne %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr ""
 "erreur en lisant la couche compressée [%s] dans le jeu de données [%s], "
 "ligne %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Erreur lors de l'écriture du fichier d'index de catégorie <%s>."
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Impossible d'ouvrir le fichier %s"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "impossible de trouver un fichier temporaire null %s"
+msgid "No null file for <%s>"
+msgstr "Impossible d'ouvrir le fichier %s"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "Impossible d'ouvrir le fichier %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr ""
+"erreur en lisant la couche compressée [%s] dans le jeu de données [%s], "
+"ligne %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "erreur lors de l'écriture d'une ligne nulle %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s : couche [%s] non ouverte en écriture - demande ignorée"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s : descripteur de fichier non ouvert - demande ignorée"
@@ -5533,7 +5639,7 @@ msgstr "Impossible de charger la librairie GDAL"
 msgid "Unable to open GDAL file"
 msgstr "Impossible d'ouvrir le fichier GDAL"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, c-format
 msgid "Invalid map type <%d>"
 msgstr "Type de carte invalide <%d>"
@@ -5601,6 +5707,21 @@ msgstr ""
 "Le système n'est pas initialisé. Le développeur a oublié d'appeler "
 "G_gisinit()\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "erreur de syntaxe"
@@ -5685,27 +5806,27 @@ msgstr "EmbedGivenNulls : mauvais type de donnée!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value : mauvais type de donnée!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Format invalide\n"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Impossible d'ouvrir le fichier statistique <%s>"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Impossible de supprimer le fichier <%s>"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr ""
 "pas en mesure d'écrire des fichiers f_format pour des couches de cellules"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5714,28 +5835,28 @@ msgstr ""
 "Impossible d'ouvrir la carte raster <%s@%s> car il s'agit d'une "
 "reclassification de la carte raster <%s@%s> qui n'existe pas"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "Erreur de lecture du fichier reclass pour la carte raster <%s>"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Erreur de lecture du type de la carte raster <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 "Carte raster <%s@%s>: format de champ invalide dans le fichier d'en-tête"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Carte raster <%s> non trouvée dans le jeux de données <%s>"
+msgid "Compression with %s is not supported"
+msgstr "Le type d'objet OGR %d n'est pas géré"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5744,19 +5865,19 @@ msgstr ""
 "La carte raster <%s> est dans une projection différente de la région "
 "courante. Trouvé <%s>, devrait être <%s>."
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 "La carte raster <%s> est dans une zone différente (%d) de la région courante "
 "(%d)"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "Carte raster <%s> : octets par cellule (%d) trop grand"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
@@ -5764,66 +5885,71 @@ msgstr ""
 "La carte raster <%s@%s> est un lien GDAL mais GRASS est compilé sans le "
 "support de GDAL"
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Impossible d'ouvrir le fichier %s pour la carte raster <%s@%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Erreur de lecture du format pour <%s@%s>"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 msgid "Unable to create GDAL link"
 msgstr "Impossible de créer un lien GDAL"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "La carte raster <%s> n'est pas dans le jeux de carte courant (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> est un nom de fichier illégal"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, c-format
 msgid "No temp files available: %s"
 msgstr "Pas de fichier temporaire disponible : %s"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "La carte raster <%s> n'existe pas dans le jeux de cartes courant (%s)"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 "Rast_set_fp_type() : ne peut être appelé qu'avec FCELL_TYPE ou DCELL_TYPE"
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Carte raster <%s> non trouvée dans le jeux de données <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Impossible de trouve '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "type invalide: champ '%s' dans le fichier '%s'"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "Type manquant : champ dans le fichier '%s'"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "La carte raster <%s> n'est pas xdr: byte_order: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5855,11 +5981,16 @@ msgstr ""
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Impossible de lire la couche vectorielle <%s%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Echec de la première lecture du fichier compressé [%s dans %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Echec de la première lecture du fichier compressé [%s dans %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6187,114 +6318,147 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Impossible d'écrire le fichier de verrou %s (%s)"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 msgid "WARNING"
 msgstr "ATTENTION"
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 msgid "Exiting..."
 msgstr "Sortie ..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 msgid "Usage"
 msgstr ""
 "Utilisation\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr "afficher ce message d'aide"
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr "afficher les informations de version et quitter"
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr "créer la base de données, secteur ou jeu de cartes si non existants"
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 "quitter après la création du secteur ou du jeu de cartes. Uniquement avec "
 "l'argument -c"
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+"force la suppression de .gislock si il existe (utiliser avec précausion). "
+"Uniquement avec l'argument -text"
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr "utiliser l'interface texte (sauter l'écran de bienvenue)"
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 msgid "and set as default"
 msgstr "et définir par défaut"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr "utiliser l'interface texte (afficher l'écran de bienvenue)"
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr "utiliser l'interface utilisateur graphique $DEFAULT_GUI"
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr "afficher les paramètres de configuration GRASS"
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
-msgstr "base de données initiale (chemin vers les données SIG)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
 
-#: ../lib/init/grass.py:219
-#, fuzzy
-msgid "initial location"
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
+msgstr ""
+
+#: ../lib/init/grass.py:345
+msgid "initial GRASS Location"
+msgstr "Secteur GRASS initla"
+
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
-"\n"
-"projection invalide\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
-msgstr "jeu de cartes initial"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
+msgstr "Jeu de cartes GRASS initial"
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr "Variables d'environnement pour le démarrage"
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr "définir le navigateur web pour les pages d'aide"
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 "définir des chemins supplémentaires pour les modules GRASS locaux ou les "
 "scripts utilisateurs"
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 "définir un GISBASE supplémentaire pour les extentions GRASS installées "
 "localement"
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr "script shell à exécuter par lot"
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr "définir le nom du shell python pour supplanter 'python'"
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
@@ -6302,21 +6466,21 @@ msgstr ""
 "Impossible de créer le dossier temporaire <grass7-%(user)s-%(lock)s> ! "
 "Sortie."
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Interface <%s> non supportée par cette version"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr "Aucun navigateur web trouvé"
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6332,45 +6496,52 @@ msgstr ""
 "\n"
 "Appuyez sur ENTRÉE pour continuer.\n"
 
-#: ../lib/init/grass.py:545
-#, fuzzy
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
-"Le système X Windows n'est pas actif.\n"
-"L'interface graphique n'est pas supportée.\n"
-"Bascule vers l'interface en mode texte.\n"
-"\n"
-"Appuyez sur ENTRÉE pour continuer"
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Désolé, <%s> n'est pas une option valide\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:823
 #, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
+
+#: ../lib/init/grass.py:827
+#, python-format
+msgid ""
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
-"Le jeu de cartes <%s> n'existepas dans le secteur GRASS <%s>. Il est "
-"possible de créer un nouveau jeu de cartes avec l'option '-c'."
+"Le jeu de cartes <{mapset}> n'existe pas dans le secteur GRASS <{loc}>. Il "
+"est possible de créer un nouveau jeu de cartes avec l'option '-c'."
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr "Échec de création du nouveau secteur. Le secteur <%s> existe déjà."
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr "Fichier WIND manquant réparé"
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
@@ -6379,13 +6550,7 @@ msgstr ""
 "correctement.\n"
 "Démarrage interactif nécessaire."
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
@@ -6394,31 +6559,22 @@ msgstr ""
 "Interface utilisateur spécifiée invalide - <%s>. Utilisez l'option --help "
 "pour voir les noms d'interfaces valides."
 
-#: ../lib/init/grass.py:697
-#, fuzzy
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
-"Erreur dans le démarrage de l'interface graphique. Si nécessaire, merci de "
-"rapporter cette erreur aux développeurs GRASS.\n"
-"Bascule vers le mode texte.\n"
-"\n"
-"Appuyez sur ENTRÉE pour continuer ..."
 
-#: ../lib/init/grass.py:707
-#, fuzzy
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
-"Reçu le massage EXIT de l'interface graphique.\n"
-"GRASS n'est pas démarré. Au revoir."
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
@@ -6427,53 +6583,70 @@ msgstr ""
 "graphique.\n"
 "Veuillez avertir les développeurs GRASS de cette erreur."
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
-"Erreur de lecture des informations de chemin des données depuis g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"Erreur de lecture des informations du chemin des données depuis g.gisenv.\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Vérifier le fichier <%s(file)>."
-
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
-msgstr ""
+"Vérifier le fichier <{file}>."
 
-#: ../lib/init/grass.py:810
+#: ../lib/init/grass.py:1101
 msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 "Les paramètres de locale par défaut sont manquants. Utilisation de la locale "
 "C."
 
-#: ../lib/init/grass.py:815
-#, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
-msgstr ""
-"Un forçage de langage a été demandé. Essai de basculer GRASS en '%s' ..."
-
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1170
 #, python-format
 msgid "Path '%s' doesn't exist"
 msgstr "Le chemin '%s' n'existe pas"
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "Le chemin '%s' n'existe pas"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
+msgstr ""
+
+#: ../lib/init/grass.py:1185
+#, python-format
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
+msgstr ""
+"%(user)s utilise GRASS dans le jeu de cartes sélectionné (fichier %(file)s "
+"trouvé). Les utilisations simultanées ne sont pas permises.\n"
+"Vous pouvez forcer le démarrage de GRASS avec l'option -f (vous devez avoir "
+"les permissions pour cette opération). Vérifiez le gestionnaire de processus "
+"pour être sûr ..."
+
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
+"%(user)s utilise GRASS dans le jeu de cartes sélectionné (fichier %(file)s "
+"trouvé). Lancement de GRASS forcé ..."
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
@@ -6482,159 +6655,162 @@ msgstr ""
 "Impossible d'accéder correctement à '%s'.\n"
 "Merci d'en notifier votre administrateur système."
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Construction du graphique ..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr "Shell <%(sh)s> non supporté : %(env)s"
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 msgid "The SHELL variable is not set"
 msgstr "La variable SHELL n'est pas définie"
 
-#: ../lib/init/grass.py:976
-#, fuzzy, python-format
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr "Shell <{sh}> non supporté : {env_file}"
+
+#: ../lib/init/grass.py:1308
+#, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
-"Le fichier de tâche '%s' a été défini dans la variable 'GRASS_BATCH_JOB' "
-"mais n'est pas trouvé. Sortie.\n"
-"\n"
-"Utilisez 'ne pas définir GRASS_BATCH_JOB' pour désactiver le traitement des "
-"tâches par lot."
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
-msgstr "Changer les permissions du fichier '%s' pour 'exécutable'"
+msgid "Change file permission to 'executable' for <%s>"
+msgstr ""
 
-#: ../lib/init/grass.py:983
+#: ../lib/init/grass.py:1330
 #, python-format
-msgid "Executing '%s' ..."
-msgstr "Exécution de '%s' ..."
+msgid "Executing <%s> ..."
+msgstr "Exécution de <%s> ..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr "Exécution de '%s' terminée."
+#: ../lib/init/grass.py:1337
+#, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr ""
+"La commande <{cmd}> a échoué :\n"
+"{error}"
 
-#: ../lib/init/grass.py:994
+#: ../lib/init/grass.py:1340
 #, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr "L'innterface graphique de GRASS devrait être <%s>"
+msgid "Execution of <%s> finished."
+msgstr "Exécution de <%s> terminée."
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Impossible de fermer le curseur %s"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr "Bienvenue dans le SIG GRASS %s"
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr "Page d'accueil du SIG GRASS :"
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr "Cette version fonctionne avec :"
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr "L'aide est disponible par la commande :"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr "Voir les termes de la licence avec :"
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr "Si requis, redémarrer l'interface graphique avec :"
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr "Démarrer l'interface graphique avec :"
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr "MASKs raster 2D et 3D présents"
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr "MASK raster présent"
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr "MASK raster 3D présent"
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-"La tâche par lot '%s' (définie dans la variable GRASS_BATCH_JOB) a été "
-"exécutée."
+#: ../lib/init/grass.py:1561
+msgid "Done."
+msgstr "Terminé."
 
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
+#: ../lib/init/grass.py:1563
 msgid "Goodbye from GRASS GIS"
 msgstr ""
 
-#: ../lib/init/grass.py:1188
-msgid "Done."
-msgstr "Terminé."
-
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr "Nettoyage des fichiers temporaires ..."
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Paramètres <%s> on supporté"
 
-#: ../lib/init/grass.py:1364
-#, fuzzy
-msgid "Flag -e required also flag -c"
-msgstr "L'argument -e requiert également -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
+msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr "Création d'un nouveau secteur/jeu de carte du SIG GRASS"
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr "Démarrage du SIG GRASS ..."
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, fuzzy, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 "Démarrage de l'interface graphique <%s> en tâche de fond, merci de "
 "patienter ..."
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Échec au lancement du shell '%s'"
@@ -7141,8 +7317,8 @@ msgstr "Impossible d'écrire les îles dans le fichier plus"
 msgid "Computing minimum spanning tree..."
 msgstr "Calcul de l'arbre couvrant de poids minimal ..."
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "Erreur GngFlatten"
 
@@ -7244,10 +7420,10 @@ msgstr "impossible de trouver le points dans le polygone"
 msgid "conditions failed"
 msgstr "Échec des conditions."
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7282,7 +7458,7 @@ msgstr ""
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7303,23 +7479,23 @@ msgstr "GRASS n'est pas compilé avec le support de PostgreSQL"
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Impossible de restaurer l'entité %d de la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr ""
 "Impossible de créer le fichier d'en-tête pour la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "Impossible d'ouvrir le fichier d'en-tête du vecteur <%s>"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Ligne corrompue dans l'en-tête: %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Type vectoriel inconnu."
@@ -7346,7 +7522,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "Seul le format natif est pris en charge"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Tentative de lecture d'une ligne morte"
 
@@ -7361,17 +7537,17 @@ msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 "Vect_read_area_geos(): impossible de lire l'île d'id %d de la surface d'id %d"
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Impossible de lire le décalage de ligne %ld"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Tentative de lecture des points de la surface non existante d'id %d"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr "Impossible de lire l'entité d'id %d"
@@ -7389,19 +7565,19 @@ msgstr "Index de couche en dehors des limites"
 msgid "Category index out of range"
 msgstr "Index de couche en dehors des limites"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr ""
 "Impossible d'ouvrir le fichier des catégories d'index pour la couche "
 "vectorielle <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Erreur lors de l'écriture du fichier d'index de catégorie <%s>."
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr ""
@@ -7434,7 +7610,7 @@ msgstr "Source de données OGR non définie"
 msgid "OGR layer not defined"
 msgstr "Couche OGR non définie"
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Impossible d'ouvrir la source de données OGR '%s'"
@@ -7540,7 +7716,7 @@ msgstr "Échec du chargement"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7577,94 +7753,110 @@ msgstr "%s: la surface %d n'existe pas"
 msgid "Attempt to access dead area %d"
 msgstr "Tentative de supprimer une surface morte"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Impossible de créer <%s.%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Impossible de copier la table <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Impossible de copier la table <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Impossible de copier la table <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Le nom de la couche  vectorielle n'est pas compatible avec le SQL"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "Impossible de trouver la carte vecteur <%s> dans <%s>"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "La couche vectorielle <%s> existe déjà et va être écrasé"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Impossible de supprimer la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Impossible de copier la couche vectorielle <%s> vers <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Impossible de copier la table <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Impossible de supprimer la table <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Impossible de créer l'index de la table <%s>, clef <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr "Jeu de cartes invalide ignoré : %s"
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Nom de carte vecteur non valide <%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Impossible d'ouvrir le fichier d'historique pour la carte vecteur <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Impossible de trouver la table <%s> liée à la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "La table <%s> liée à la carte vecteur <%s> n'existe pas "
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Impossible d'ouvrir le répertoire '%s'"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Impossible de supprimer le fichier <%s>"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Impossible de renommer le répertoire '%s' en '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "Impossible de supprimer le répertoire '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7689,13 +7881,13 @@ msgstr "%s lignes : %d"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr ""
 "Impossible d'ouvrir le fichier d'historique pour la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
@@ -7704,7 +7896,7 @@ msgstr ""
 "Le fichier coor de la carte vecteur <%s@%s> est plus grand qu'il ne devrait "
 "(%ld bytes en trop)"
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7742,7 +7934,7 @@ msgstr "Type d'objet (%d) inattendu - devrait être (%d)"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr "GRASS n'est pas compilé avec le support de OGR/PostgreSQL"
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr ""
@@ -7798,89 +7990,146 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr "Point pas dans l'arbre de recherche !"
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, c-format
-msgid "Unable to close cursor %s"
-msgstr "Impossible de fermer le curseur %s"
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Construction du graphique ..."
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-msgid "for this format/level not supported"
-msgstr "non pris en charge pour ce format/niveau"
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Impossible de construire le graphe de réseau"
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "Le format demandé n'est pas compatible avec cette version"
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "La colonne des coûts transférés n'est pas spécifiée"
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
+#: ../lib/vector/Vlib/net_build.c:156
 #, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "La carte vecteur n'est pas ouverte"
+msgid "Turntable field < 1"
+msgstr "Arc < 1"
 
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "Impossible de créer la couche vectorielle <%s>"
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Colonne <%s> non trouvée dans la table <%s>"
 
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "Index de couche en dehors des limites"
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
+"Type de données de la colonne <%s> non pris en charge (doit être numeric)"
 
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "Index de couche en dehors des limites"
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "Réglage des coûts du noeud ..."
 
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "Index de couche en dehors des limites"
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Colonne <%s> non trouvée dans la table <%s>"
 
-#: ../lib/vector/Vlib/read.c:272
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"L'enregistrement de la base de données pour le noeud %d (cat = %d) n'a pas "
+"été trouvé (coût fixé à 0)"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Isle index is out of range"
-msgstr "Index de couche en dehors des limites"
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Impossible d'ajouter un arc de réseau"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Construction du graphique ..."
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Impossible de construire le graphe de réseau"
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "La colonne des coûts transférés n'est pas spécifiée"
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"L'enregistrement de la base de données pour le noeud %d (cat = %d) n'a pas "
+"été trouvé (coût fixé à 0)"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Impossible d'ajouter un arc de réseau"
 
-#: ../lib/vector/Vlib/net.c:172
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
 msgid "Arc field < 1"
 msgstr "Arc < 1"
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "Colonne <%s> non trouvée dans la table <%s>"
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Enregistrement des arcs ... "
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:558
 #, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
-"Type de données de la colonne <%s> non pris en charge (doit être numeric)"
 
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Enregistrement des arcs ... "
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"L'enregistrement de la base de données de la ligne %d (cat = %d, avant/"
+"toutes directions) introuvable (avant/toutes directions de la ligne sautée)"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"L'enregistrement de la base de données de la ligne %d (cat = %d, direction "
+"arrière) introuvable (direction de la ligne sautée)"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Aplanir le graph ..."
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Le graphique a été construit"
+
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
@@ -7889,7 +8138,7 @@ msgstr ""
 "L'enregistrement de la base de données de la ligne %d (cat = %d, avant/"
 "toutes directions) introuvable (avant/toutes directions de la ligne sautée)"
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:885
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, backword direction) not "
@@ -7898,37 +8147,58 @@ msgstr ""
 "L'enregistrement de la base de données de la ligne %d (cat = %d, direction "
 "arrière) introuvable (direction de la ligne sautée)"
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:934
 msgid "Cannot add network arc"
 msgstr "Impossible d'ajouter un arc de réseau"
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "Réglage des coûts du noeud ..."
-
-#: ../lib/vector/Vlib/net.c:412
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"L'enregistrement de la base de données pour le noeud %d (cat = %d) n'a pas "
-"été trouvé (coût fixé à 0)"
+msgid "Unable to close cursor %s"
+msgstr "Impossible de fermer le curseur %s"
 
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Aplanir le graph ..."
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+msgid "for this format/level not supported"
+msgstr "non pris en charge pour ce format/niveau"
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Le graphique a été construit"
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "Le format demandé n'est pas compatible avec cette version"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "erreur de dglShortestPath: %s"
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "La carte vecteur n'est pas ouverte"
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Mauvaise ligne de direction dans Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "Impossible de créer la couche vectorielle <%s>"
+
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "Index de couche en dehors des limites"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "Index de couche en dehors des limites"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "Index de couche en dehors des limites"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "Index de couche en dehors des limites"
 
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
@@ -8063,7 +8333,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Mauvaise connexion serveur"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, fuzzy, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr "La table <%s> n'a pas de clef primaire définie"
@@ -8074,7 +8344,7 @@ msgstr ""
 "La lecture aléatoire n'est pas supportée pour cette couche. Impossible de "
 "reconstruire la topologie."
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr "Utilisation du format de données externe '%s' (entité de type '%s')"
@@ -8088,7 +8358,7 @@ msgstr "Reconstruction de la pseudo-topologie sur les objets simples ..."
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Veuillez reconstruire la topologie pour la couche vectorielle <%s@%s>"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -8117,7 +8387,7 @@ msgid "Updating TopoGeometry data..."
 msgstr "Mise à jour des données TopoGeometry ..."
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Impossible d'ouvrir le fichier %s"
@@ -8292,8 +8562,8 @@ msgstr "Nombre de contours incorrects : %d"
 msgid "Number of redundant holes: %d"
 msgstr "Nombre de trous redondants : %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Impossible d'ouvrir le fichier d'index pour la carte vecteur <%s>"
@@ -8390,16 +8660,16 @@ msgstr "Nombre de surfaces: -"
 msgid "Number of isles: -"
 msgstr "Nombre d'îles: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Impossible de créer le fichier topo pour la carte vecteur <%s>"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Erreur à l'écriture du fichier topo."
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
@@ -8407,24 +8677,24 @@ msgstr ""
 "Impossible de construire l'index spatial depuis la topologie, la couche "
 "vecteur n'est pas ouverte au niveau topologique 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr "%s n'est plus supporté"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 #, fuzzy
 msgid "Spatial index not available, can not be saved"
 msgstr "Index spatial non disponible, impossible d'enregistrer"
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr ""
 "Impossible de créer le fichier d'index spatial pour la couche vectorielle <"
 "%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Erreur à l'écriture du fichier d'index spatial."
 
@@ -8603,67 +8873,67 @@ msgstr "Erreur inconnue"
 msgid "Boundary is not closed. Skipping."
 msgstr "Contour non fermé. Sauté."
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr "Accrochage des sommets passe 1 : sélection des points"
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr "Accrochage des sommets passe 2 : assignation des ancrages de sommets"
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr "Accrochage des sommets passe 3 : accrochage sur les points assignés"
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr "Sommets accrochés : %d"
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, c-format
 msgid "New vertices: %d"
 msgstr "Nouveau sommet : %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Construction du graphique ..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Impossible d'écrire la ligne matricielle %i"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Tentative de supprimer une surface morte"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr ""
 "Impossible d'ouvrir le fichier des catégories d'index pour la couche "
 "vectorielle <%s>"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Impossible d'écrire la ligne matricielle %i"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr "Couche OGR vide, rien à construire"
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 "La lecture aléatoire n'est pas supportée par OGR pour cette couche. "
 "Impossible de créer la topologie."
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Impossible d'ouvrir le fichier topo en écriture <%s>"
@@ -8673,7 +8943,7 @@ msgstr "Impossible d'ouvrir le fichier topo en écriture <%s>"
 msgid "Unable to rewrite feature %d"
 msgstr "Impossible de ré-écrire l'entité %d"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Format invalide\n"
@@ -8952,7 +9222,16 @@ msgstr "Données corrompues. %s."
 msgid "Corrupted data"
 msgstr "Données corrompues"
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr ""
+"Échec de l'exécution : %s\n"
+"Raison : %s"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, c-format
 msgid ""
 "Execution failed: %s\n"
@@ -8961,7 +9240,7 @@ msgstr ""
 "Échec de l'exécution : %s\n"
 "Raison : %s"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -9184,26 +9463,26 @@ msgstr "Le pilote par défaut n'est pas défini"
 msgid "Default database is not set"
 msgstr "La base de données par défaut n'est pas définie"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "dblink demandé %d, nombre maximum du lien %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Erreur dans la règle à la ligne %d dans %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Impossible d'ouvrir le fichier %s"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "Impossible d'ouvrir le pilote OGR DBMI"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -9211,7 +9490,7 @@ msgstr ""
 "Tous les tests FID ont échoués. Ni 'FID' ni 'ogc_fid' ni 'ogr_fid' ni 'gid' "
 "ne sont disponibles dans la table OGR DB"
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, fuzzy, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
@@ -9219,22 +9498,22 @@ msgstr ""
 "La table <%s> n'a pas de clef primaire définie. Impossible de définir le "
 "lien base de donnée."
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr "GRASS n'est pas compilé avec le support PostgreSQL"
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "Erreur inconnue"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr ""
 "Impossible d'ouvrir le fichier d'historique pour la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 "Bug: tentative de mise à jour d'une couche qui n'est pas dans le jeu de "
@@ -9312,25 +9591,25 @@ msgstr ""
 "Les cartes vecteur temporaires ne sont accessibles que dans le jeu de cartes "
 "courant"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Une couche vectorielle qui n'est pas dans le jeu de données courant ne peut "
 "pas être ouverte pour une mise à jour"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Impossible de lire le fichier d'en-tête pour la carte vecteur <%s>"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 "Impossible d'ouvrir le fichier topologique pour la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9339,89 +9618,89 @@ msgstr ""
 "Impossible d'ouvrir la carte vecteur <%s> au niveau %d. Essayez de "
 "reconstruire la topologie avec v.build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr ""
 "Construction de la topologie pour la couche OGR <%s> à partir dans la source "
 "'%s' ..."
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Impossible d'ouvrir la couche vecteur <%s> au niveau %d"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr ""
 "Impossible d'ouvrir le fichier d'historique pour la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr ""
 "Impossible de créer la carte vecteur : <%s> n'est pas dans le jeux de carte "
 "courant (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Impossible de créer la couche vecteur : <%s> n'est pas compatible SQL"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr ""
 "Impossible d'ouvrir le fichier d'historique pour la couche vectorielle <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr "Utilisation du format OGR/%s"
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr "Utilisation du format PostGIS Topology"
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr "Utilisation du format PostGIS"
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 msgid "Using native format"
 msgstr "Utilisation du format natif"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Impossible d'ouvrir le fichier statistique <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, fuzzy, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr "%d inconnu (mise à jour de Vect_maptype_info)"
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "La taille du fichier 'coord' est différente de la valeur sauvegardée dans le "
 "fichier de topologie"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Veuillez reconstruire la topologie pour la couche vectorielle <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr "Taille du fichier 'coord' différente de la valeur dans le fichier sidx"
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 msgid "Unable to open OGR file"
 msgstr "Impossible d'ouvrir le fichier OGR"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr "Sortie OGR également détectée, utilisation de OGR"
 
@@ -9490,95 +9769,95 @@ msgstr "Echec de la connexion."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr "Schéma de topologie PostGIS <%s> supprimé"
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Echec de la connexion."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Impossible d'ajouter un lien base de données."
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 "<%s> n'est pas une base de donées PostGIS. Table 'spatial_ref_sys' non "
 "trouvée."
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "L'objet OGR sans ID a été ignoré"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 #, fuzzy
 msgid "Empty bounding box"
 msgstr "Boite enveloppante vide"
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr "Inconsistance dans la topologie : impossible de lire le noeud %d"
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Type(s) d'entité(s)"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Nombre de surfaces sans centroïde : %d"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, fuzzy, c-format
 msgid "Isle %d without boundary detected"
 msgstr "Île %d sans contour détectée"
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Impossible de copier la table <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Impossible d'ouvrir le fichier statistique <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr "Nombre de noeuds différents détectés (%d, %d)"
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr "Nombre de surfaces différents détectés (%d, %d)"
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 #, fuzzy
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr "A implémenter : îles non attachées dans le mode Topo-Géo"
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 "Inconsistance dans la topologie : nombre de points %d (devrait être %d)"
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 "Inconsistance dans la topologie : nombre de lignes %d (devrait être %d)"
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9644,15 +9923,36 @@ msgstr "Matrices non autorisées"
 msgid "Topology info not available for feature %d"
 msgstr "Aucune aide disponible pour la commande [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "erreur de dglShortestPath: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, fuzzy, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+"Impossible de trouver un point avec une catégorie unique pour le noeuf <%d>."
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, fuzzy, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+"Il existe plus de un point sur le noeud <%d> avec une catégorie unique dans "
+"le champ <%d>.\n"
+"La couche de catégories uniques ne semble pas valide."
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Mauvaise ligne de direction dans Vect_net_get_line_cost()"
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "Impossible d'ajouter un arc de réseau"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Offset invalide (%d)"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, c-format
 msgid "Creating field <%s> failed"
@@ -9710,261 +10010,74 @@ msgstr "Impossible de créer la champ <%s>"
 #~ msgstr "Vous n'avez pas la permission d'accéder au jeu de cartes <%s>"
 
 #, fuzzy
-#~ msgid "DB connection <%s/%s> already exists and will be overwritten"
-#~ msgstr "La connexion <%s> existe déjà et va être écrasée"
-
-#, fuzzy
 #~ msgid ""
-#~ "DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
-#~ "overwrite existing settings."
-#~ msgstr ""
-#~ "La connexion <%s> existe déjà. Ré-exécuter '%s' avec l'option '--%s' pour "
-#~ "écraser les paramètres existants."
-
-#, fuzzy
-#~ msgid "Unable to find point with defined unique category for node <%d>."
-#~ msgstr ""
-#~ "Impossible de trouver un point avec une catégorie unique pour le noeuf <"
-#~ "%d>."
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "impossible d'ouvrir le fichier de datums : %s"
 
 #, fuzzy
 #~ msgid ""
-#~ "There exists more than one point on node <%d> with unique category in "
-#~ "field  <%d>.\n"
-#~ "The unique category layer may not be valid."
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
 #~ msgstr ""
-#~ "Il existe plus de un point sur le noeud <%d> avec une catégorie unique "
-#~ "dans le champ <%d>.\n"
-#~ "La couche de catégories uniques ne semble pas valide."
-
-#, fuzzy
-#~ msgid "Unable to create '%s': %s"
-#~ msgstr "Impossible de créer <%s.%s>"
-
-#, fuzzy
-#~ msgid "Unable to copy '%s': %s"
-#~ msgstr "Impossible de copier la table <%s>"
-
-#, fuzzy
-#~ msgid "Unable to drop table <%s>"
-#~ msgstr "Impossible de copier la table <%s>"
+#~ "Impossible d'ouvrir le fichier d'historique pour la couche vectorielle <"
+#~ "%s>"
 
 #, fuzzy
 #~ msgid ""
-#~ "Execution failed: %s (...)\n"
-#~ "Reason: %s"
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
 #~ msgstr ""
-#~ "Échec de l'exécution : %s\n"
-#~ "Raison : %s"
+#~ "Impossible d'ouvrir le fichier d'historique pour la couche vectorielle <"
+#~ "%s>"
 
 #, fuzzy
-#~ msgid "Unable to remove directory '%s': %s"
-#~ msgstr "Impossible de supprimer le répertoire '%s'"
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "impossible de trouver un fichier temporaire null %s"
 
 #, fuzzy
-#~ msgid "Turntable field < 1"
-#~ msgstr "Arc < 1"
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "Impossible d'ouvrir le fichier %s"
 
-#, fuzzy
-#~ msgid "Turntable column <%s> not found in table <%s>"
-#~ msgstr "Colonne <%s> non trouvée dans la table <%s>"
+#~ msgid "initial database (path to GIS data)"
+#~ msgstr "base de données initiale (chemin vers les données SIG)"
 
 #, fuzzy
-#~ msgid "Cannot add network arc for virtual node connection."
-#~ msgstr "Impossible d'ajouter un arc de réseau"
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Désolé, <%s> n'est pas une option valide\n"
 
 #, fuzzy
 #~ msgid ""
-#~ "Database record for turn with cat = %d in not found. (The turn was "
-#~ "skipped."
-#~ msgstr ""
-#~ "L'enregistrement de la base de données pour le noeud %d (cat = %d) n'a "
-#~ "pas été trouvé (coût fixé à 0)"
-
-#, fuzzy
-#~ msgid "Cannot add network arc representing turn."
-#~ msgstr "Impossible d'ajouter un arc de réseau"
-
-#, fuzzy
-#~ msgid ""
-#~ "Database record for line %d (cat = %d, forward/both direction(s)) not "
-#~ "found (cost was set to 0)"
-#~ msgstr ""
-#~ "L'enregistrement de la base de données de la ligne %d (cat = %d, avant/"
-#~ "toutes directions) introuvable (avant/toutes directions de la ligne "
-#~ "sautée)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Database record for line %d (cat = %d, backword direction) not found(cost "
-#~ "was set to 0)"
-#~ msgstr ""
-#~ "L'enregistrement de la base de données de la ligne %d (cat = %d, "
-#~ "direction arrière) introuvable (direction de la ligne sautée)"
-
-#, fuzzy
-#~ msgid "Unable to read line of feature %i"
-#~ msgstr "Impossible de lire le décalage de ligne %ld"
-
-#, fuzzy
-#~ msgid "Unable to read area with id %i"
-#~ msgstr "Impossible de lire l'entité d'id %d"
-
-#~ msgid "The self.c_mapinfo pointer must be correctly initiated"
-#~ msgstr "Le pointeur self.c_mapinfo doit être initialisé correctement"
-
-#, fuzzy
-#~ msgid "Unable to mogrify sql statement. "
-#~ msgstr "Impossible de supprimer le répertoire '%s'"
-
-#, fuzzy
-#~ msgid "Unable to check table. "
-#~ msgstr "Impossible de créer la table <%s>"
-
-#, fuzzy
-#~ msgid "Unable to execute sql statement. "
-#~ msgstr "Impossible d'exécuter la commande"
-
-#, fuzzy
-#~ msgid "Unable to fetch one. "
-#~ msgstr "[%s] introuvable"
-
-#, fuzzy
-#~ msgid "Unable to fetch all. "
-#~ msgstr "Impossible d'ouvrir le fichier statistique <%s>"
-
-#, fuzzy
-#~ msgid "Unable to execute transaction. "
-#~ msgstr "Impossible d'exécuter la commande"
-
-#~ msgid "Merging empty map lists"
-#~ msgstr "Fusion de listes de cartes vides"
-
-#~ msgid "First Map list is empty, can't merge it. Return only last map list"
-#~ msgstr ""
-#~ "La première liste de cartes est vide, pas de fusion possible. Retourne "
-#~ "uniquement la dernière liste de cartes"
-
-#~ msgid "Second Map list is empty, can't merge it. Return only first map list"
-#~ msgstr ""
-#~ "La deuxième liste de cartes est vide, pas de fusion possible. Retourne "
-#~ "uniquement la première liste de cartes"
-
-#, fuzzy
-#~ msgid "Space time datasets to merge must have the same temporal type"
-#~ msgstr "Impossible de copier la couche vectorielle <%s> vers <%s>"
-
-#~ msgid "input='-' must be used when stdin is specified"
-#~ msgstr "input='-' doit être utilisé quand stdin est spécifié"
-
-#, fuzzy
-#~ msgid "stdin must be string or buffer, not PIPE"
-#~ msgstr "stdin doit être une chaîne ou un tampon, pas un PIPE"
-
-#~ msgid "stdin must be used when input='-'"
-#~ msgstr "stdin doit être utilisé quand input='-'"
-
-#~ msgid "stdout argument not allowed, it could be overridden"
-#~ msgstr "argument stdout non autorisé, il peut être écrasé"
-
-#~ msgid "stderr argument not allowed, it could be overridden"
-#~ msgstr "argument stderr non autorisé, il peut être écrasé"
-
-#, fuzzy
-#~ msgid "Fail of initial read of compressed null file [%s in %s]"
-#~ msgstr "Echec de la première lecture du fichier compressé [%s dans %s]"
-
-#, fuzzy
-#~ msgid "Error writing compressed null data for row %d of <%s>"
-#~ msgstr ""
-#~ "erreur en lisant la couche compressée [%s] dans le jeu de données [%s], "
-#~ "ligne %d"
-
-#~ msgid "Raster map <%s> does not exist in the current mapset (%s)"
-#~ msgstr ""
-#~ "La carte raster <%s> n'existe pas dans le jeux de cartes courant (%s)"
-
-#~ msgid "Error reading null data for row %d of <%s>"
-#~ msgstr "Erreur de lecture de données nulles à la ligne %d de <%s>"
-
-#~ msgid "Both %s and %s are defined. %s will be ignored."
-#~ msgstr "%s et %s sont tous les deux définis. %s sera ignoré."
-
-#~ msgid ""
-#~ "force removal of .gislock if exists (use with care!). Only with -text flag"
-#~ msgstr ""
-#~ "force la suppression de .gislock si il existe (utiliser avec précausion). "
-#~ "Uniquement avec l'argument -text"
-
-#~ msgid "initial GRASS Location"
-#~ msgstr "Secteur GRASS initla"
-
-#~ msgid "initial GRASS Mapset"
-#~ msgstr "Jeu de cartes GRASS initial"
-
-#~ msgid ""
-#~ "Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset "
-#~ "can be created by '-c' switch."
-#~ msgstr ""
-#~ "Le jeu de cartes <{mapset}> n'existe pas dans le secteur GRASS <{loc}>. "
-#~ "Il est possible de créer un nouveau jeu de cartes avec l'option '-c'."
-
-#~ msgid ""
-#~ "Error reading data path information from g.gisenv.\n"
-#~ "GISDBASE={gisbase}\n"
-#~ "LOCATION_NAME={location}\n"
-#~ "MAPSET={mapset}\n"
+#~ "Error in GUI startup. If necessary, please report this error to the GRASS "
+#~ "developers.\n"
+#~ "Switching to text mode now.\n"
 #~ "\n"
-#~ "Check the <{file}> file."
+#~ "Hit RETURN to continue..."
 #~ msgstr ""
-#~ "Erreur de lecture des informations du chemin des données depuis g."
-#~ "gisenv.\n"
-#~ "GISDBASE={gisbase}\n"
-#~ "LOCATION_NAME={location}\n"
-#~ "MAPSET={mapset}\n"
+#~ "Erreur dans le démarrage de l'interface graphique. Si nécessaire, merci "
+#~ "de rapporter cette erreur aux développeurs GRASS.\n"
+#~ "Bascule vers le mode texte.\n"
 #~ "\n"
-#~ "Vérifier le fichier <{file}>."
-
-#~ msgid ""
-#~ "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-#~ "found). Concurrent use not allowed.\n"
-#~ "You can force launching GRASS using -f flag (note that you need "
-#~ "permission for this operation). Have another look in the processor "
-#~ "manager just to be sure..."
-#~ msgstr ""
-#~ "%(user)s utilise GRASS dans le jeu de cartes sélectionné (fichier "
-#~ "%(file)s trouvé). Les utilisations simultanées ne sont pas permises.\n"
-#~ "Vous pouvez forcer le démarrage de GRASS avec l'option -f (vous devez "
-#~ "avoir les permissions pour cette opération). Vérifiez le gestionnaire de "
-#~ "processus pour être sûr ..."
-
-#~ msgid ""
-#~ "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-#~ "found). Forcing to launch GRASS..."
-#~ msgstr ""
-#~ "%(user)s utilise GRASS dans le jeu de cartes sélectionné (fichier "
-#~ "%(file)s trouvé). Lancement de GRASS forcé ..."
-
-#~ msgid "Unsupported shell <{sh}>: {env_file}"
-#~ msgstr "Shell <{sh}> non supporté : {env_file}"
-
-#~ msgid "Executing <%s> ..."
-#~ msgstr "Exécution de <%s> ..."
+#~ "Appuyez sur ENTRÉE pour continuer ..."
 
 #~ msgid ""
-#~ "Execution of <{cmd}> failed:\n"
-#~ "{error}"
+#~ "A language override has been requested. Trying to switch GRASS into "
+#~ "'%s'..."
 #~ msgstr ""
-#~ "La commande <{cmd}> a échoué :\n"
-#~ "{error}"
-
-#~ msgid "Execution of <%s> finished."
-#~ msgstr "Exécution de <%s> terminée."
+#~ "Un forçage de langage a été demandé. Essai de basculer GRASS en '%s' ..."
 
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "ERREUR: option <%s>: <%s> existe.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Offset invalide (%d)"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Impossible d'ouvrir le fichier %s"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "pressez RETOUR pour continuer -->"
 
@@ -10028,6 +10141,97 @@ msgstr "Impossible de créer la champ <%s>"
 #~ "erreur en lisant la couche compressée [%s] dans le jeu de données [%s], "
 #~ "ligne %d"
 
+#, fuzzy
+#~ msgid "initial location"
+#~ msgstr ""
+#~ "\n"
+#~ "projection invalide\n"
+
+#~ msgid "initial mapset"
+#~ msgstr "jeu de cartes initial"
+
+#, fuzzy
+#~ msgid ""
+#~ "It appears that the X Windows system is not active.\n"
+#~ "A graphical based user interface is not supported.\n"
+#~ "Switching to text based interface mode.\n"
+#~ "\n"
+#~ "Hit RETURN to continue"
+#~ msgstr ""
+#~ "Le système X Windows n'est pas actif.\n"
+#~ "L'interface graphique n'est pas supportée.\n"
+#~ "Bascule vers l'interface en mode texte.\n"
+#~ "\n"
+#~ "Appuyez sur ENTRÉE pour continuer"
+
+#~ msgid ""
+#~ "Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
+#~ "created by '-c' switch."
+#~ msgstr ""
+#~ "Le jeu de cartes <%s> n'existepas dans le secteur GRASS <%s>. Il est "
+#~ "possible de créer un nouveau jeu de cartes avec l'option '-c'."
+
+#, fuzzy
+#~ msgid ""
+#~ "Received EXIT message from GUI.\n"
+#~ "GRASS is not started. Bye."
+#~ msgstr ""
+#~ "Reçu le massage EXIT de l'interface graphique.\n"
+#~ "GRASS n'est pas démarré. Au revoir."
+
+#~ msgid ""
+#~ "Error reading data path information from g.gisenv.\n"
+#~ "GISDBASE=%(gisbase)s\n"
+#~ "LOCATION_NAME=%(location)s\n"
+#~ "MAPSET=%(mapset)s\n"
+#~ "\n"
+#~ "Check the <%s(file)> file."
+#~ msgstr ""
+#~ "Erreur de lecture des informations de chemin des données depuis g."
+#~ "gisenv.\n"
+#~ "GISDBASE=%(gisbase)s\n"
+#~ "LOCATION_NAME=%(location)s\n"
+#~ "MAPSET=%(mapset)s\n"
+#~ "\n"
+#~ "Vérifier le fichier <%s(file)>."
+
+#~ msgid "Unsupported shell <%(sh)s>: %(env)s"
+#~ msgstr "Shell <%(sh)s> non supporté : %(env)s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+#~ "found. Exiting.\n"
+#~ "\n"
+#~ "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
+#~ msgstr ""
+#~ "Le fichier de tâche '%s' a été défini dans la variable 'GRASS_BATCH_JOB' "
+#~ "mais n'est pas trouvé. Sortie.\n"
+#~ "\n"
+#~ "Utilisez 'ne pas définir GRASS_BATCH_JOB' pour désactiver le traitement "
+#~ "des tâches par lot."
+
+#~ msgid "Change file permission to 'executable' for '%s'"
+#~ msgstr "Changer les permissions du fichier '%s' pour 'exécutable'"
+
+#~ msgid "Executing '%s' ..."
+#~ msgstr "Exécution de '%s' ..."
+
+#~ msgid "Execution of '%s' finished."
+#~ msgstr "Exécution de '%s' terminée."
+
+#~ msgid "GRASS GUI should be <%s>"
+#~ msgstr "L'innterface graphique de GRASS devrait être <%s>"
+
+#~ msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
+#~ msgstr ""
+#~ "La tâche par lot '%s' (définie dans la variable GRASS_BATCH_JOB) a été "
+#~ "exécutée."
+
+#, fuzzy
+#~ msgid "Flag -e required also flag -c"
+#~ msgstr "L'argument -e requiert également -c"
+
 #~ msgid ""
 #~ "Unable to start GRASS GIS. You have the choice to:\n"
 #~ " - Launch the GRASS GIS interface with the '-gui' switch (`%s -gui`)\n"
@@ -10040,3 +10244,6 @@ msgstr "Impossible de créer la champ <%s>"
 #~ "- Démarrer le SIG GRASS directement avec le chemin du secteur/jeu de "
 #~ "cartes en argument (`%s /chemin/vers/secteur/jeu/de/cartes`)\n"
 #~ "- Créer manuellement le fichier GISRC (%s)"
+
+#~ msgid "Unable to remove directory '%s'"
+#~ msgstr "Impossible de supprimer le répertoire '%s'"
diff --git a/locale/po/grasslibs_it.po b/locale/po/grasslibs_it.po
index b293a1f..bbdff0e 100644
--- a/locale/po/grasslibs_it.po
+++ b/locale/po/grasslibs_it.po
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_it\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-02-26 21:52+0100\n"
 "Last-Translator: Carlo Cormio <carlo.cormio3 at unibo.it>\n"
 "Language-Team: Italian <grass-translations at lists.osgeo.org>\n"
@@ -36,12 +36,12 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr "%s: No file definizione di scrittura"
 
-#: ../lib/display/r_raster.c:128
-#, c-format
-msgid "%s variable defined, %s ignored"
-msgstr "variabile %s definita, %s ignorata"
+#: ../lib/display/r_raster.c:98
+#, fuzzy, c-format
+msgid "Both %s and %s are defined. %s will be ignored."
+msgstr "i parametri 'where' e 'cats' sono stati forniti, cat verrà ignorato"
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
@@ -50,21 +50,16 @@ msgstr ""
 "Nè %s (gestita dal comando d.mon) nè %s (utilizzato per il rendering "
 "diretto) definiti"
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Impossibile avviare il driver <%s>"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Impossibile avviare il driver <%s>"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Impossibile eliminare il file '%s'"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -97,7 +92,7 @@ msgstr "Errore di formato: file ('%s') linea (%d) - %s"
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "Nessun file %s disponibile nel mapset in uso\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "Nessun file %s disponibile nel mapset in uso\n"
@@ -109,7 +104,7 @@ msgstr "Nessun file %s disponibile nel mapset in uso\n"
 msgid "%s is missing"
 msgstr "che non è presente"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr "%s copiato"
@@ -142,7 +137,7 @@ msgstr "Non posso scrivere i collegamenti del database"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -170,8 +165,8 @@ msgstr "Impossibile copiare il vettoriale <%s> in <%s>"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -232,21 +227,33 @@ msgstr "Impossibile aprire <%s>"
 msgid "<%s> nothing removed"
 msgstr "<%s> non è stato rimosso nulla"
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, c-format
 msgid "Unable to read file '%s'"
 msgstr "Non riesco a leggere il file '%s'"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "File del login (%s) corrotto (riga: %s)"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Impossibile eliminare il file '%s'"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Il vettoriale <%s> è già presente e sarà sovrascritto"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Il vettoriale <%s> è già presente e sarà sovrascritto"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -430,8 +437,10 @@ msgstr "Impossibile avviare il driver <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -443,45 +452,45 @@ msgstr "Impossibile aprire il database <%s> dal driver <%s>"
 msgid "Unable to get list tables in database <%s>"
 msgstr "Impossibile ottenere la lista delle tabelle nel database <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Il vettoriale '%s' è già presente e sarà sovrascritto"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "La tabella <%s> esiste già nel database <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Impossibile aprire il cursore di selezione: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Colonna <%s> non è intero"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Colonna <%s> non trovata"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Impossibile creare la tabella <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Impossibile ottenere i dati dalla tabella <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Tipo della colonna sconosciuto (colonna <%s>"
@@ -551,6 +560,10 @@ msgstr "Non ci sono punti di misura sufficienti (%d) nel gruppo"
 msgid "Cannot open debug file '%s'"
 msgstr "Non riesco ad aprire il file di debug '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -889,219 +902,219 @@ msgstr ""
 msgid "Category value"
 msgstr "Valore categoria"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Valori categoria"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Esempio: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "Id dell'elemento"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "Id delle feature"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr "Percorso al file di input"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "Nome per il file di output"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Separatore dei campi"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 #, fuzzy
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr "Caratteri speciali: newline, spazio, virgola, tab"
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Colore"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Sia un nome di colonna standard, sia una terna R:G:B"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Sia un colore standard GRASS, sia una terna R:G:B, sia \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Percorso al file di input"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr "Unità"
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr "Tipo(i) di dati"
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr "Nome del mapset (default: percorso di ricerca in uso)"
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr "'.' per il mapset in uso"
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Coordinate non valide"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Nome della mappa vettoriale in input"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Nome della colonna dell'attributo"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Nome delle mappe raster in input"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr ""
 "Bug: attesa di aggiornamento di una mappa non presente nel mapset in uso"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Nome del raster di output"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Nome della mappa raster in input"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Nome della mappa raster in input"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Nome della mappa raster in output"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Nome del vettoriale di input"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Nome del vettoriale di input"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Non abbastanza spazo nell'array del vettore"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Nome del raster 3d in input"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Nome del raster 3d in input"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Nome del raster 3d in output"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr ""
 "Bug: attesa di aggiornamento di una mappa non presente nel mapset in uso"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Nome del raster in input"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Nome del raster in input"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Impossibile chiudere la mappa di input"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Raster <%s> non trovato nel mapset <%s>"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "La clausola WHERE del comando SQL manca della parola chiave 'where'"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr "Esempio di start_time > '2001-01-01 12:30:00'"
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Caricamento dati dalla tabella degli attributi in corso..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr "Non costruire la topologia"
 
@@ -1128,7 +1141,7 @@ msgid "SYNOPSIS"
 msgstr "SINOPSI"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Flag"
 
@@ -1148,7 +1161,7 @@ msgid "Quiet module output"
 msgstr "Output quieto del modulo"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Parametri"
 
@@ -1265,7 +1278,7 @@ msgstr "unità"
 msgid "unit"
 msgstr "unità"
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Proiezione sconosciuta"
 
@@ -1340,7 +1353,7 @@ msgstr "L'attività ha già una risorsa"
 msgid "WARNING: "
 msgstr "ATTENZIONE: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "ERRORE: "
@@ -1425,17 +1438,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "file <%s> non trovato nella locazione <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: Area %d non esiste"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Impossibile creare l'elemento %s (%s) nel mapset: %s"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Non è possibile accedere all'elemento mapset %s (%s): %s"
@@ -1636,6 +1649,11 @@ msgstr "campo formato duplicato"
 msgid "Duplicate compressed field"
 msgstr "campo compressed duplicato"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1683,22 +1701,22 @@ msgstr "Non valido. es. campo '%s' nel file %s in <%s>"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Nessun informazione sull'ellissoide disponibile nel file %s in <%s>"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): mapset <%s> non corrisponde a xmapset <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Impossibile aprire '%s'"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: impossibile aprire il file %s"
@@ -1888,8 +1906,9 @@ msgstr "secondi"
 msgid "second"
 msgstr "secondo"
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Il valore di risoluzione n-s non è corretto"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1956,6 +1975,10 @@ msgstr "L'Est deve essere più grande dell'Ovest"
 msgid "Invalid coordinates"
 msgstr "Coordinate non valide"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Il valore di risoluzione n-s non è corretto"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Valore di risoluzione n-s3 non valido"
@@ -2024,82 +2047,82 @@ msgstr ""
 " Solo  %d%% della finestra salvata in \"%s\" si sovrappone con la finestra "
 "GRASS in uso"
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "BUG nella descrizione, opzione '%s' in <%s> non esiste"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "BUG nella descrizione, opzione '%s' in <%s> non esiste"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 "Usare una sola delle due flag --quiet o --verbose, non entrambe. Scelta "
 "automatica: --verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 "Usare una sola delle due flag --quiet o --verbose, non entrambe. Scelta "
 "automatica: --quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Mi spiace <%s> non è una opzione valida\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "ERRORE: "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "Impossibile determinare il nome del programma"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Mi spiace ma, <%c> non è un flag valido\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Mi spiace, <%s=> è ambiguo\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr "L'opzione <%s=> corrisponde"
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr "Aggiornare l'utilizzo di <%s>: l'opzione <%s> èstata rinominata <%s>"
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Spiacente <%s> non è un parametro valido\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> nel mapset <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr "L'opzione <%s> non accetta risposte multiple"
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2108,7 +2131,7 @@ msgstr ""
 "\n"
 "ERRORE: intervallo di sintassi non valido per il parametro <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2117,14 +2140,14 @@ msgstr ""
 "\n"
 "ERRORE: il valore <%s> è fuori dall'intervallo atteso dal parametro<%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "ERRORE: Valore assente per il parametro <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2133,7 +2156,7 @@ msgstr ""
 "\n"
 "Errore: il valore <%s> è fuori dall'intervallo atteso dal parametro<%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2142,7 +2165,7 @@ msgstr ""
 "ERRORE: Il parametro <%s> richiesto non è definito:\n"
 "\t(%s)\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2151,37 +2174,37 @@ msgstr ""
 "\n"
 "ERRORE: l'opzione <%s> deve essere fornita come multipli di %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Mi spiace <%s> non è una opzione valida\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Separatore dei campi"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Mi spiace <%s> non è una opzione valida\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Tipo %d di feature OGR non supportato"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Impossibile aprire il file %s in %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Impossibile creare la tabella <%s>"
@@ -2718,7 +2741,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Memoria esaurita"
 
@@ -2740,11 +2764,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Caricamento dati dalla tabella degli attributi in corso..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "La connessione del database non è definita per il layer %d"
@@ -2941,7 +2967,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Scrittura dell'array 2d nel raster <%s>"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3053,8 +3079,8 @@ msgstr "Fattore dell'unità di output"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3627,6 +3653,30 @@ msgstr "Tipo di interpolazione sconosciuta"
 msgid "Failed to initialize Cairo surface"
 msgstr "Impossibile aprire il file %s in %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3875,11 +3925,11 @@ msgstr "Impossibile creare il file di intestazione per [%s]"
 msgid "Creating a new space time %s dataset"
 msgstr "Raster <%s> non trovato nel mapset <%s>"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr "Lista di mappe vuota"
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr "Valore vuoto nella lista delle mappe, questo non dovrebbe succedere"
 
@@ -4084,29 +4134,29 @@ msgstr ""
 "Aggiorna i metadati e l'estensione spazio-temporale da tutte le mappe "
 "registrate di <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Impossibile leggere il file dell'intestazione"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Impossibile leggere range del raster 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Impossibile chiudere il raster 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Impossibile aprire il vettoriale <%s>"
@@ -4270,7 +4320,7 @@ msgstr "Raster <%s> non trovato nel mapset <%s>"
 msgid "Switching to original location failed"
 msgstr "Il passaggio alla location di origine è fallito"
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
@@ -4278,7 +4328,7 @@ msgstr ""
 "Non riesco ad inizializzare l'interfaccia temporale DBMI. Utilizzare t."
 "connect per specificare il driver e la stringa del database"
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
@@ -4286,7 +4336,7 @@ msgid ""
 msgstr ""
 "Impossibile aprire il file %s delle definizioni del database vettoriale"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4296,7 +4346,7 @@ msgid ""
 msgstr ""
 "Impossibile aprire il file %s delle definizioni del database vettoriale"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4305,12 +4355,12 @@ msgid ""
 msgstr ""
 "Impossibile aprire il file %s delle definizioni del database vettoriale"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Tipo di "
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4322,54 +4372,37 @@ msgstr ""
 "Utilizzare t.connect per impostare il percorso ad un database temporale con "
 "lettura e scrittura abilitate."
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Impossibile rimuovere la directory '%s'"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr ""
-"Impossibile aprire il file %s delle definizioni del database vettoriale"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Impossibile creare la tabella <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
-"Non riesco ad eseguire la condizione sql. Nessuna connessione ad un database "
-"temporale è stata definita per il mapset <%(mapset)s>"
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Impossibile eseguire il comando"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Impossibile trovare '%s'"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Impossibile eseguire 'stat' sul file <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
-"Non riesco ad eseguire la transazione. Nessuna connessione ad un database "
-"temporale è stata definita per il mapset <%(mapset)s>"
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Impossibile eseguire il comando"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4377,14 +4410,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Impossibile eseguire il comando"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4513,7 +4546,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Impossibile trovare il vettoriale <%s> in <%s>"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr "Elemento non valido '%s'"
@@ -4643,64 +4676,64 @@ msgid ""
 "%s"
 msgstr "Il vettoriale '%s' è già presente e sarà sovrascritto"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "timestamp non valido nel file per %s mappa %s nel mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "errore di sintassi"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "timestamp non valido nel file per %s mappa %s nel mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "timestamp non valido nel file per %s mappa %s nel mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
@@ -4725,7 +4758,7 @@ msgid "Error computing map <%s>"
 msgstr "Errore nell'apertura della mappa g3d <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Impossibile trovare il vettoriale <%s> in <%s>"
@@ -4752,12 +4785,12 @@ msgstr "Sto calcolando l'aggregazione delle mappe tra %(st)s - %(end)s"
 msgid "Error occurred in r.series computation"
 msgstr "Errore nell'apertura della mappa g3d <%s>"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Nome della mappa raster base in input"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
@@ -4766,34 +4799,41 @@ msgstr ""
 "Non riesco ad eseguire l'aggregazione. La mappa raster di output <%(name)s> "
 "esiste e l'opzione di sovrascrittura non è stata impostata"
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 "Gli operatori spazio-temporali non sono supportati in modalità algebrica per "
 "la granularità"
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 "Tutti i dataset spazio-temporali devono avere una topologia temporale valida."
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Impossibile trovare il vettoriale <%s> in <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Nome del raster in input"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Raster <%s> non trovato"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
@@ -4802,12 +4842,12 @@ msgstr ""
 "Tipo temporale del database spazio-temporale <%s> "
 "errato                                       <%s> richiesto"
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Impossibile chiudere la mappa di input"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
@@ -4816,7 +4856,7 @@ msgstr ""
 "Il tipo di dataset spazio-temporale risultante <%(a)s> è diverso dal tipo <"
 "%(b)s> richiesto"
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
@@ -4824,7 +4864,7 @@ msgstr ""
 "Le mappe che dovrebbe essere registrata nel dataset spazio-temporale "
 "risultante hanno tipi differenti."
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
@@ -4833,8 +4873,26 @@ msgstr ""
 "Tipo di mappa <%s> errato. TMAP supporta soltanto singole mappe registrate "
 "nel database temporale di GRASS"
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+#, fuzzy
+msgid "Merging empty map lists"
+msgstr "Lista di mappe vuota"
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Impossibile trovare il vettoriale <%s> in <%s>"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Raster <%s> non trovato"
@@ -4849,12 +4907,12 @@ msgstr "Impossibile creare il file di intestazione per [%s in %s]"
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "impossibile cambiare la directory %s"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Raster <%s> non trovato"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Impossibile creare il file di intestazione per [%s in %s]"
@@ -4911,7 +4969,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ". Vedi gli errori nel (error) output."
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr "Si è verificato un errore durante l'esecuzione di r3.mapcalc"
 
@@ -4928,7 +4986,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Impossibile aprire il file %s in %s"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4940,46 +5002,54 @@ msgstr ""
 "trattino basso all'inizio è obsoleto in GRASS GIS 7.0 e sarà rimosso nella "
 "versione 7.1."
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr "L'elemento dovrebbe essere di tipo \"cell\" e non \"%s\""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr "L'elemento dovrebbe essere di tipo \"raster\" e non \"%s\""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Impossibile aprire %s"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr "Location <%s> esistente. Operazione annullata."
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Il vettoriale <%s> è già presente e sarà sovrascritto"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Nome file non valido. Non può essere '.' oppure 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Nome del file non valido. Il carattere <%c> non è permesso.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4988,43 +5058,43 @@ msgstr ""
 "Non posso cancellare la linea, la mappa '%s' non è aperta in modalità di "
 "scrittura ('write')"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr "Si è verificato un errore durante l'esecuzione di r.mapcalc"
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "no data"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr "valore"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr "etichetta"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Colore"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "La connessione del database non è definita per il layer %d"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "per mappe raster presenti %d\n"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr "vector_db_select() fallito"
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -5070,75 +5140,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Tipo %d di feature OGR non supportato"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Tipo %d di feature OGR non supportato"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr "Nome di mappa {0} non valido"
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Tipo %d di feature OGR non supportato"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Nome della colonna dell'attributo"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "problemi leggendo il file di cellule raster"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr "La mappa non esiste, non posso aprirla in modalità 'r'"
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Il vettoriale <%s> è già presente e sarà sovrascritto"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Raster <%s> non trovato"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Indice fuori dal range in "
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Il vettoriale <%s> è già presente e sarà sovrascritto"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Tabella <%s> collegata al vettoriale <%s> non esiste"
@@ -5147,19 +5217,33 @@ msgstr "Tabella <%s> collegata al vettoriale <%s> non esiste"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Impossibile leggere l'offset %ld della linea"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Impossibile leggere la feature con id %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5175,27 +5259,43 @@ msgstr "Rast_make_random_colors: min (%d) > max (%d)"
 msgid "Unknown interpolation method: %s"
 msgstr "Metodo di interpolazione sconosciuto: %s"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 " Lettura del raster <%s@%s>. La richiesta per la riga %d è fuori dalla "
 "regione"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Errore nella lettura della mappa raster per la riga %d di <%s>"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Errore nella lettura della mappa raster per la riga %d di <%s>"
+
+#: ../lib/raster/get_row.c:227
 #, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr ""
 "Errore nella lettura della mappa raster tramite GDAL per la riga %d di <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Errore nella lettura della mappa raster per la riga %d di <%s>"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Errore nella lettura della mappa raster per la riga %d di <%s>"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Errore nella lettura della riga vuota %d per <%s>"
@@ -5327,55 +5427,50 @@ msgstr ""
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "Errore nella scrittura dei dati FP compressi per la riga %d di <%s>"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "Errore nella scrittura dei dati compressi per la riga %d di <%s>"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "Errore nella scrittura dei dati non compressi per la riga %d di <%s>"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Errore nella scrittura dei dati tramite GDAL per la riga %d di <%s>"
 
-#: ../lib/raster/put_row.c:489
-#, c-format
-msgid "No null file for <%s>"
-msgstr "Nessun file null per <%s>"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 "Il formato di output di GDAL non supporta la scrittura di righe null "
 "separatamente"
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "Non riesco a trovare un file temporaneo null <%s>"
+msgid "No null file for <%s>"
+msgstr "Nessun file null per <%s>"
 
-#: ../lib/raster/put_row.c:528
-#, c-format
-msgid "Unable to open null file <%s>"
-msgstr "Non riesco ad aprire il file null <%s>"
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
+#, fuzzy, c-format
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "Errore nella scrittura dei dati compressi per la riga %d di <%s>"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "errore nella scrittura della riga vuota %d di <%s>"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr ""
 "put_raster_row: mappa raster <%s> non aperta in scrittura - richiesta "
 "ignorata"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "put_raster_row: descrittore di file non aperto - richiesta ignorata"
 
@@ -5471,7 +5566,7 @@ msgstr "Impossibile caricare le librerie GDAL"
 msgid "Unable to open GDAL file"
 msgstr "Non riesco ad aprire il file GDAL"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, c-format
 msgid "Invalid map type <%d>"
 msgstr "Tipo di mappa non valido <%d>"
@@ -5540,6 +5635,21 @@ msgstr ""
 "Libreria raster non inizializzata. Il programmatore ha dimenticato di "
 "chiamare Rast_init()."
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "errore di sintassi"
@@ -5632,26 +5742,26 @@ msgstr "EmbedGivenNulls: tipo di dato errato"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "Rast_set_null_value: tipo di dato non valido!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Descrittore non valido: %d"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Non riesco a rinominare il file null '%s' in '%s': %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Non riesco a rinominare il file cella '%s' in '%s': %s"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "Impossibile scrivere file f_format per mappe CELL"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5660,28 +5770,28 @@ msgstr ""
 "impossibile aprire il raster <%s@%s> poiché è una riclassificazione di <%s@"
 "%s> che non esiste"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr ""
 "Errore nella lettura del file di riclassificazione per la mappa raster <%s>"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Errore nella lettura del tipo di mappa per la mappa raster <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "Raster <%s@%s>: formato campo nell'intestazione del file non valido"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Raster <%s> non trovato nel mapset <%s>"
+msgid "Compression with %s is not supported"
+msgstr "Tipo %d di feature OGR non supportato"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5690,19 +5800,19 @@ msgstr ""
 "La mappa raster <%s> ha una proiezione diversa da quella della regione "
 "corrente. La proiezione è <%s>, dovrebbe essere <%s>."
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 "La mappa raster <%s> è in una zona diversa (%d) rispetto alla regione "
 "corrente (%d)"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "Mappa raster <%s> byte per cella (%d) troppo grande"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
@@ -5710,66 +5820,71 @@ msgstr ""
 "La mappa raster <%s@%s> è un collegamento GDAL ma GRASS è stato compilato "
 "senza il supporto GDAL"
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Non riesco ad aprire il file %s per la mappa raster <%s@%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Errore nella lettura del formato per <%s@%s>"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 msgid "Unable to create GDAL link"
 msgstr "Non riesco a creare il collegamento a GDAL"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Il raster <%s> non si trova nel mapset in uso (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> è un nome file non valido"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, c-format
 msgid "No temp files available: %s"
 msgstr "Nessun file temporaneo disponibile: %s"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Il raster <%s> non si trova nel mapset in uso (%s)"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 "Rast_set_fp_type(): può essere chiamata solo con FCELL_TYPE o DCELL_TYPE"
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Raster <%s> non trovato nel mapset <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Impossibile trovare '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Tipo non valido: campo '%s' nel file '%s'"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "Tipo mancante: campo nel file '%s'"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Raster <%s> non è xdr: byte_order: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5800,11 +5915,16 @@ msgstr "Non riesco a scrivere le regole quant: la mappa <%s> è di tipo integer"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Non riesco a scrivere le regole quant per la mappa <%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Errore nella lettura iniziale del file compresso [%s in %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Errore nella lettura iniziale del file compresso [%s in %s]"
+
 #: ../lib/raster/range.c:102
 #, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6128,17 +6248,17 @@ msgstr "Il locking concorrente del mapset non è supportato in Windows."
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Impossibile aprire il file %s in %s"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "ATTENZIONE: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Impostazione in corso dei costi dei nodi..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6146,118 +6266,155 @@ msgstr ""
 "Uso:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr "stampa questo messaggio di aiuto"
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr "mostra le informazioni di versione ed esci"
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr "crea il database, la location o il mapset se non esiste"
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 "esci dopo la creazione della location o del mapset. Solo con l'opzione -c"
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr "usa l'interfaccia testuale (salta la schermata di benvenuto)"
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "per accettare i valori predefiniti"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr "usa l'interfaccia testuale (mostra la schermata di benvenuto)"
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr "usa l'interfaccia grafica $DEFAULT_GUI"
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr "stampa i parametri di configurazione di GRASS"
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr "opzioni: architettura, versione, compilatore, percorso, revisione"
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
-msgstr "database iniziale (percorso ai dati GIS)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
+msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "proiezione non valida\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+#, fuzzy
+msgid "initial GRASS Mapset"
 msgstr "mapset iniziale"
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+#, fuzzy
+msgid "fully qualified initial Mapset directory"
 msgstr "nome completo della cartella iniziale del mapset"
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr "Variabili di sistema rilevanti per l'avvio"
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+#, fuzzy
+msgid "select GUI (text, gui, gtext)"
 msgstr "selezionare la GUI (testo, gui)"
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr "definire il browser web html per le pagine del manuale"
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 "definire percorsi aggiuntivi ai moduli GRASS locali o agli script dell'utente"
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 "definire un GISBASE aggiuntivo per gli addon di GRASS installati in locale"
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr "script di shell da eseguire come batch job"
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr "definire il nome della shell di python per sovrascrivere 'python'"
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Impossibile allocare memoria\n"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Il formato richiesto non è stato compilato per questa versione"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr "Ricerca di un web browser, nessun risultato"
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6271,13 +6428,15 @@ msgstr ""
 "Usare l'opzione -help per i dettagli\n"
 "Premere INVIO per continuare\n"
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
+#, fuzzy
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 "Sembra che il sistema X Windows non sia attivo.\n"
 "L'interfaccia grafica non è supportata.\n"
@@ -6285,31 +6444,43 @@ msgstr ""
 "\n"
 "Premere invio per continuare"
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Mi spiace <%s> non è una opzione valida\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, fuzzy, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 "Il mapset <%s> non esiste nella location GRASS <%s>. Un nuovo mapset può "
 "essere creato con l'opzione '-c'."
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 "Creazione della nuova location fallita. La location <%s> è già presente."
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr "File WIND mancante riparato."
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
@@ -6318,13 +6489,7 @@ msgstr ""
 "adeguatamente.\n"
 "E' necessario l'avvio interattivo."
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
@@ -6333,41 +6498,38 @@ msgstr ""
 "Interfaccia utente non valida - <%s>. Utilizzare l'opzione -help per "
 "visualizzare i nomi delle interfacce disponibili."
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
-"Errore nell'avvio della GUI. Se necessario, riportare l'errore agli "
-"sviluppatori di GRASS.\n"
-"Avvio della modalità testuale.\n"
-"\n"
-"Premere invio per continuare..."
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
+#, fuzzy
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr "Ricevuto messaggio EXIT dalla GUI|nGRASS non viene avviato. Ciao."
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "Per piacere avvisa gli sviluppatori GRASS per questo errore\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, fuzzy, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 "Errore nella lettura del percorso ai dati da g.gisenv.\n"
 "GISDBASE=%(gisbase)s\n"
@@ -6376,191 +6538,207 @@ msgstr ""
 "\n"
 "Controllare il file <%s(file)>."
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
-msgstr "La variabile d'ambiente '%s' è già definita, ignoro il valore '%s'"
-
-#: ../lib/init/grass.py:810
+#: ../lib/init/grass.py:1101
 msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:815
-#, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
-msgstr ""
-"E' stata richiesta una sovrascrittura della lingua. Provo a lanciare GRASS "
-"in '%s'"
-
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1170
 #, fuzzy, python-format
 msgid "Path '%s' doesn't exist"
 msgstr "%s: Area %d non esiste"
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: Area %d non esiste"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
+msgstr ""
+
+#: ../lib/init/grass.py:1185
+#, python-format
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
+msgstr ""
+
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
-"%(user)s sta eseguendo GRASS nel mapset selezionato (file %(file)s trovato). "
-"L'utilizzo contemporaneo non è consentito."
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Creazione topologia...\n"
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr "Shell non supportata <%(sh)s>: %(env)s"
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - variabile non impostata"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, fuzzy, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr "Shell non supportata <%(sh)s>: %(env)s"
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
 msgstr "Sto eseguendo '%s'..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Connessione fallita."
+
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
 msgstr "Esecuzione di '%s' terminata."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr "GRASS GUI dovrebbe essere <%s>"
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Impossibile impostare il focus"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr "Benvenuto in GRASS GIS%s"
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr "Homepage di GRASS GIS:"
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "Nessun aiuto disponibile per il comando [%s]\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr "VIsualizza i termini di licenza con:"
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr "Se necessario, riavvia la GUI con:"
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr "Avvia la GUI con:"
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr "Per uscire digitare:"
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr "Maschere raster 2D e 3D presenti"
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr "Maschera raster presente"
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr "Maschera raster 3D presente"
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr "Arrivederci da GRASS GIS"
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "nessuno"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr "Arrivederci da GRASS GIS"
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "Impossibile aprire il file %s in %s"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Tipo %d di feature OGR non supportato"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+#, fuzzy
+msgid "Flag -e requires also flag -c"
 msgstr "L'opzione -e richiede anche l'opzione -c"
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr "Sto creando una nuova location/mapset GRASS GIS"
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr "Sto avviando GRASS GIS..."
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr "Sto avviando <%s> GUI in background, attendere prego..."
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Impossibile aprire il file %s in %s"
@@ -7061,8 +7239,8 @@ msgstr "Impossibile scrivere isole nel file plus"
 msgid "Computing minimum spanning tree..."
 msgstr "Calcolando lo spanning tree minimo..."
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "Errore GngFlatten"
 
@@ -7161,10 +7339,10 @@ msgstr "impossibile trovare punti nel poligono"
 msgid "conditions failed"
 msgstr "Condizioni fallite"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7197,7 +7375,7 @@ msgstr "Non riesco ad aprire il file temp"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7218,22 +7396,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Impossibile ristabilire l'elemento %d dal vettoriale <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "Impossibile aprire il file di intestazione per il vettoriale <%s>"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Riga corrotta nel head: %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Tipo di interpolazione sconosciuta"
@@ -7261,7 +7439,7 @@ msgid "only native format supported"
 msgstr "solo il formato nativo è supportato"
 
 # riga o linea?
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Tentativo di leggere riga inesistente"
 
@@ -7277,17 +7455,17 @@ msgstr ""
 "Vect_read_area_geos(): impossibile leggere l'isola con id %d nell' area con "
 "id %d"
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Impossibile leggere l'offset %ld della linea"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Tentativo di leggere punti di un'area inesistente con id %d"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr "Impossibile leggere la feature con id %d"
@@ -7305,17 +7483,17 @@ msgstr "Indice del layer fuori dal range"
 msgid "Category index out of range"
 msgstr "Indice del layer fuori dal range"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Impossibile aprire il degli indici di categoria per il vettoriale <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Errore nella scrittura del file di indici di categoria <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "Impossibile aprire il degli indici di categoria per il vettoriale <%s>"
@@ -7346,7 +7524,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Impossibile aprire la sorgente dei dati OGR '%s'"
@@ -7450,7 +7628,7 @@ msgstr "Caricamento fallito"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7487,94 +7665,110 @@ msgstr "%s: Area %d non esiste"
 msgid "Attempt to access dead area %d"
 msgstr "Tentativo di cancellare feature inesistente"
 
-#: ../lib/vector/Vlib/constraint.c:150
-msgid "Layer constraint ignored for non-native vector formats"
-msgstr ""
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Impossibile creare la tabella <%s>"
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
-msgid "Vector map name is not SQL compliant"
-msgstr "Il nome del vettoriale non è conforme a SQL"
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Impossibile copiare la tabella <%s>"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
 #, c-format
-msgid "Unable to find vector map <%s> in <%s>"
-msgstr "Impossibile trovare il vettoriale <%s> in <%s>"
+msgid "Unable to copy table <%s>"
+msgstr "Impossibile copiare la tabella <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Impossibile copiare la tabella <%s>"
+
+#: ../lib/vector/Vlib/constraint.c:150
+msgid "Layer constraint ignored for non-native vector formats"
+msgstr ""
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
+msgid "Vector map name is not SQL compliant"
+msgstr "Il nome del vettoriale non è conforme a SQL"
+
+#: ../lib/vector/Vlib/map.c:143
+#, c-format
+msgid "Unable to find vector map <%s> in <%s>"
+msgstr "Impossibile trovare il vettoriale <%s> in <%s>"
+
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Il vettoriale <%s> è già presente e sarà sovrascritto"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Impossibile eliminare il vettoriale <%s>"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Impossibile copiare il vettoriale <%s> in <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Impossibile copiare la tabella <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Impossibile eliminare la tabella <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Impossibile creare indice per la tabella <%s>, chiave <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Nome del vettoriale <%s> invalido"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Impossibile aprire il file di intestazione per il vettoriale <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Impossibile trovare la tabella <%s> collegata al vettoriale <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "Tabella <%s> collegata al vettoriale <%s> non esiste"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Impossibile aprire la directory '%s'"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Impossibile eliminare il file '%s'"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Impossibile rinominare la directory '%s' a '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "Impossibile rimuovere la directory '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7599,19 +7793,19 @@ msgstr "Numero di linee:%d"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7647,7 +7841,7 @@ msgstr "Tipo di "
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Impossibile aprire il degli indici di categoria per il vettoriale <%s>"
@@ -7701,6 +7895,161 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Creando il grafico..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Impossibile costruire il grafico della rete"
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Colonna del costo di ritorno non specificata"
+
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Colonna <%s> non trovata nella tabella <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr "il tipo della colonna <%s> non supportato (dev'essere numerico)"
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "Impostazione in corso dei costi dei nodi..."
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Colonna <%s> non trovata nella tabella <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"Record del database non trovato per il nodo %d (cat = %d) (costo impostato a "
+"0)"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Impossibile aggiugnere arco alla rete"
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"Record del database non trovato per il nodo %d (cat = %d) (costo impostato a "
+"0)"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Impossibile aggiugnere arco alla rete"
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Registrando archi..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"Record del database non trovato per il nodo %d (cat = %d) (costo impostato a "
+"0)"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"Record del database non trovato per il nodo %d (cat = %d) (costo impostato a "
+"0)"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Il grafico è stata creato"
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "Impossibile aggiugnere arco alla rete"
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7750,84 +8099,6 @@ msgstr "Indice del layer fuori dal range"
 msgid "Isle index is out of range"
 msgstr "Indice del layer fuori dal range"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Creando il grafico..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Impossibile costruire il grafico della rete"
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Colonna del costo di ritorno non specificata"
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "Colonna <%s> non trovata nella tabella <%s>"
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr "il tipo della colonna <%s> non supportato (dev'essere numerico)"
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Registrando archi..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "Impossibile aggiugnere arco alla rete"
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "Impostazione in corso dei costi dei nodi..."
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"Record del database non trovato per il nodo %d (cat = %d) (costo impostato a "
-"0)"
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Il grafico è stata creato"
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "Errore dglShortestPath: %s"
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Direzione sbagliata della linea in Vect_net_get_line_cost()"
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7954,7 +8225,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Connessione al server non valida"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7966,7 +8237,7 @@ msgstr ""
 "Lettura random non è supportata da OGR per questo layer, non è possibile "
 "costruire supporto"
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7981,7 +8252,7 @@ msgstr "Si sta ricreando la topologia per il vettore <%s>..."
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Si sta ricreando la topologia per il vettore <%s>..."
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -8010,7 +8281,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Impossibile aprire il file %s in %s"
@@ -8182,8 +8453,8 @@ msgstr "Ulteriori controlli saltati a causa di contorni non corretti"
 msgid "Number of redundant holes: %d"
 msgstr "Numero di cavità ridondanti: %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
@@ -8280,17 +8551,17 @@ msgstr "Numero di aree: -"
 msgid "Number of isles: -"
 msgstr "Numero di isole: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr ""
 "Non riesco a creare il file della topologia pe rla mappa vettoriale <%s>"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Errore nella scrittura del file di topologia"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
@@ -8298,22 +8569,22 @@ msgstr ""
 "Non riesco a creare l'indice spaziale dalla topologia, la mappa vettoriale "
 "'%s' non è aperta al livello topologico 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr "%s non è più supportato"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr ""
 "Non riesco a creare il file dell'indice spaziale per la mappa vettoriale '%s'"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Errore nella scrittura del file dell'indice spaziale"
 
@@ -8489,58 +8760,58 @@ msgstr "errore sconosciuto"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, c-format
 msgid "New vertices: %d"
 msgstr "Numero di vertici: %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Costruendo aree..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Impossibile leggere la feature con id %d"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Tentativo di cancellare feature inesistente"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Non riesco ad aprire il file temp"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Impossibile leggere la feature con id %d"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 #, fuzzy
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
@@ -8548,7 +8819,7 @@ msgstr ""
 "Lettura random non è supportata da OGR per questo layer, non è possibile "
 "costruire supporto"
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Non riesco ad aprire il file di topologia in scrittura: %s\n"
@@ -8558,7 +8829,7 @@ msgstr "Non riesco ad aprire il file di topologia in scrittura: %s\n"
 msgid "Unable to rewrite feature %d"
 msgstr "Impossibile riscrivere l'elemento %d"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "impossibile cambiare la directory %s"
@@ -8821,14 +9092,21 @@ msgstr "Riga corrotta nel head: %s"
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Connessione fallita."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Connessione fallita."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -9039,26 +9317,26 @@ msgstr "Il valore predefinito del driver non è impostato"
 msgid "Default database is not set"
 msgstr "Il valore predefinito del database non è impostato"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Richiesto dblink %d, massimo numero di link %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Errore nella regola alla riga %d in %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Impossibile aprire il file %s in %s"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "Impossibile aprire il driver OGR DBMI"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -9066,27 +9344,27 @@ msgstr ""
 "Fallimento di tutti i test FID. Nella tabella DB OGR non è presente nessuno "
 "di: 'FID', 'ogc_fid', 'ogr_fid', 'gid'"
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "errore sconosciuto"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 "Bug: attesa di aggiornamento di una mappa non presente nel mapset in uso"
@@ -9163,24 +9441,24 @@ msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr ""
 "Bug: attesa di aggiornamento di una mappa non presente nel mapset in uso"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Il vettoriale che non presente nel mapset in uso non può essere aperta per "
 "gli aggiornamenti"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "Impossibile aprire il file della topologia per il vettoriale <%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9189,88 +9467,88 @@ msgstr ""
 "Impossibile aprire il vettoriale <%s> sul livello %d. Provare a ricostruire "
 "la topologia con v.build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Ricrea la topologia per il vettore '%s@%s'"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "impossibile cambiare la directory %s"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "Impossibile aprire lo storico per il vettoriale <%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Il raster <%s> non si trova nel mapset in uso (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Il nome del vettoriale non è conforme a SQL"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "solo il formato nativo è supportato"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Impossibile eseguire 'stat' sul file <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "La dimensione del file 'coor' differisce dal valore salvato nel file di "
 "topologia"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Ricreare la topologia per il vettore <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 "La dimensione del file 'coor' è diverso dal valore salvato nel file di "
 "topologia"
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Impossibile aprire il file %s in %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9338,89 +9616,89 @@ msgstr "Connessione fallita."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Connessione fallita."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Impossibile aggiungere un collegamento database"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Impossibile trovare il vettoriale <%s> in <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Tipo di "
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Numero di aree senza centroide:%d"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Impossibile ottenere i dati dalla tabella <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Impossibile aprire il file %s in %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9485,15 +9763,32 @@ msgstr "La linea non è chiusa"
 msgid "Topology info not available for feature %d"
 msgstr "Impossibile leggere la linea %d"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "Errore dglShortestPath: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Direzione sbagliata della linea in Vect_net_get_line_cost()"
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "Impossibile aggiungere un arco alla rete"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "impossibile cambiare la directory %s"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9548,10 +9843,87 @@ msgstr "Impossibile creare la tabella <%s>"
 #~ msgid "Out of memmory"
 #~ msgstr "Memoria esaurita"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr ""
+#~ "Impossibile aprire il file %s delle definizioni del database vettoriale"
+
+#~ msgid ""
+#~ "Unable to execute sql statement. There is no temporal database connection "
+#~ "defined for mapset <%(mapset)s>"
+#~ msgstr ""
+#~ "Non riesco ad eseguire la condizione sql. Nessuna connessione ad un "
+#~ "database temporale è stata definita per il mapset <%(mapset)s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Non riesco ad aprire lo storico per il vettoriale '%s'"
+
+#~ msgid ""
+#~ "Unable to execute transaction. There is no temporal database connection "
+#~ "defined for mapset <%(mapset)s>"
+#~ msgstr ""
+#~ "Non riesco ad eseguire la transazione. Nessuna connessione ad un database "
+#~ "temporale è stata definita per il mapset <%(mapset)s>"
+
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "Non riesco a trovare un file temporaneo null <%s>"
+
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "Non riesco ad aprire il file null <%s>"
+
+#~ msgid "initial database (path to GIS data)"
+#~ msgstr "database iniziale (percorso ai dati GIS)"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Mi spiace <%s> non è una opzione valida\n"
+
+#~ msgid ""
+#~ "Error in GUI startup. If necessary, please report this error to the GRASS "
+#~ "developers.\n"
+#~ "Switching to text mode now.\n"
+#~ "\n"
+#~ "Hit RETURN to continue..."
+#~ msgstr ""
+#~ "Errore nell'avvio della GUI. Se necessario, riportare l'errore agli "
+#~ "sviluppatori di GRASS.\n"
+#~ "Avvio della modalità testuale.\n"
+#~ "\n"
+#~ "Premere invio per continuare..."
+
+#~ msgid ""
+#~ "A language override has been requested. Trying to switch GRASS into "
+#~ "'%s'..."
+#~ msgstr ""
+#~ "E' stata richiesta una sovrascrittura della lingua. Provo a lanciare "
+#~ "GRASS in '%s'"
+
+#~ msgid "GRASS GUI should be <%s>"
+#~ msgstr "GRASS GUI dovrebbe essere <%s>"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "ERRORE: l'opzione <%s>: <%s> esiste.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "impossibile cambiare la directory %s"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Impossibile eliminare il file '%s'"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "premi INVIO per continuare -->"
 
@@ -9559,6 +9931,25 @@ msgstr "Impossibile creare la tabella <%s>"
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "Il vettoriale <%s> non è aperto sul livello >= 2"
 
+#~ msgid "Background color"
+#~ msgstr "Colore sfondo"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Nome della mappa raster in input"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "Tipo %d di feature OGR non supportato"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "impossibile cambiare la directory %s"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "impossibile cambiare la directory %s"
+
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "Attributi per la categoria %d non trovato"
 
@@ -9585,21 +9976,15 @@ msgstr "Impossibile creare la tabella <%s>"
 #~ msgid "G_oldsite_new_struct: invalid # dims or fields"
 #~ msgstr "G_oldsite_new_struct: numero di dimensioni o campi non valido"
 
-#~ msgid "Background color"
-#~ msgstr "Colore sfondo"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "Tipo %d di feature OGR non supportato"
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "impossibile cambiare la directory %s"
+#~ msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#~ msgstr "La variabile d'ambiente '%s' è già definita, ignoro il valore '%s'"
 
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "impossibile cambiare la directory %s"
+#~ msgid ""
+#~ "%(user)s is currently running GRASS in selected mapset (file %(file)s "
+#~ "found). Concurrent use not allowed."
+#~ msgstr ""
+#~ "%(user)s sta eseguendo GRASS nel mapset selezionato (file %(file)s "
+#~ "trovato). L'utilizzo contemporaneo non è consentito."
 
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Nome della mappa raster in input"
+#~ msgid "%s variable defined, %s ignored"
+#~ msgstr "variabile %s definita, %s ignorata"
diff --git a/locale/po/grasslibs_ja.po b/locale/po/grasslibs_ja.po
index 3132e6a..f1c416e 100644
--- a/locale/po/grasslibs_ja.po
+++ b/locale/po/grasslibs_ja.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_ja\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2012-03-05 12:14+0900\n"
 "Last-Translator: Naoki Ueda <nao at locapoint.com>\n"
 "Language-Team: Japanese <grass-translations at lists.osgeo.org>\n"
@@ -33,33 +33,29 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr " %s:フォント定義ファイルがありません"
 
-#: ../lib/display/r_raster.c:128
-#, c-format
-msgid "%s variable defined, %s ignored"
+#: ../lib/display/r_raster.c:98
+#, fuzzy, c-format
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
+"'where' と 'cats' のパラメーターが定義されましたので, cat は無視されました"
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "ドライバー <%s> をスタートできません"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "ドライバー <%s> をスタートできません"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "ファイルが開けません %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -92,7 +88,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "���"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "���"
@@ -104,7 +100,7 @@ msgstr "���"
 msgid "%s is missing"
 msgstr "������"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -137,7 +133,7 @@ msgstr "���"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -165,8 +161,8 @@ msgstr "ベクトルマップ <%s> を <%s> にコピーできません"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -227,21 +223,33 @@ msgstr "開けません <%s>"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "ファイルが開けません %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, fuzzy, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "ログインファイルが破損しています"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "ファイル '%s' を削除できません"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "ベクトルマップ <%s> は既に存在し上書きされます"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "ベクトルマップ <%s> は既に存在し上書きされます"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -424,8 +432,10 @@ msgstr "ドライバー <%s> をスタートできません"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -437,45 +447,45 @@ msgstr "ドライバー <%s> でデータベース <%s> を開けません"
 msgid "Unable to get list tables in database <%s>"
 msgstr "データベース <%s> にリストテーブルを移動できません"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "ベクトルマップ <%s> は既に存在し上書きされます"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "テーブル <%s> は既にデータベース <%s> に存在します"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "選択カーソルを開けません: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "列 <%s> は整数型ではありません"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "列 <%s> は見つかりませんでした"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "テーブル <%s> を作成できません"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "テーブル <%s> からデータをフェッチできません"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "不明な列タイプ (列 <%s>)"
@@ -546,6 +556,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "デバッグファイルが開けません '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -879,216 +893,216 @@ msgstr ""
 msgid "Category value"
 msgstr "カテゴリー値"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "カテゴリー値"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "例: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "フィーチャ id"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "フィーチャ ids"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr "入力するファイル名"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "出力するファイル名"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "フィールドセパレーター"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "色"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "標準色名あるいは赤:緑:青"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "標準のGRASSカラー、赤:緑:青、あるいは \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "入力するファイル名"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "無効な座標"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "入力するベクトルマップ名"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "属性列名"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "入力するラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "���"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "出力するラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "標高ラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "標高ラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "���"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "入力するベクトルマップ名"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "入力するベクトルマップ名"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "ベクトル 配列に十分なスペースがありません"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "入力する3Dラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "入力する3Dラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "出力する3Dラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "���"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "入力するラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "入力するラスターマップ名"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "入力マップを閉じれません"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "ラスターマップ <%s> マップセット内に見つかりません <%s>"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr " 'where'句なしの SQL文のWHEREコンディション"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "属性テ-ブルからデータをロードしています ..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1115,7 +1129,7 @@ msgid "SYNOPSIS"
 msgstr "概要"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "フラッグ"
 
@@ -1135,7 +1149,7 @@ msgid "Quiet module output"
 msgstr "モジュールを出力"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "パラメータ"
 
@@ -1250,7 +1264,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "不明な投影法"
 
@@ -1325,7 +1339,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "警告:  "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "エラー:  "
@@ -1411,17 +1425,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "<%s> 指定された場所にファイルがありません <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: エリア %d は存在しません"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "マップセットの要素が作成できません %s (%s): %s"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "マップセット要素にアクセスできません %s (%s): %s"
@@ -1622,6 +1636,11 @@ msgstr "重複するフォーマットフィールド"
 msgid "Duplicate compressed field"
 msgstr "重複する圧縮フィールド"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, fuzzy, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1671,22 +1690,22 @@ msgstr " ファイル %s内の無効な es:フィールド '%s' in <%s>"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "ファイル %sに楕円体のデータがありません in <%s>"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(読み取り): マップセット <%s> はxmapsetと一致していません <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "開けません '%s'"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(書き込み): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: ファイルが開けません %s"
@@ -1876,8 +1895,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "無効な 北-南 解像度値"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1936,6 +1956,10 @@ msgstr "東は西より大きくないといけません"
 msgid "Invalid coordinates"
 msgstr "無効な座標"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "無効な 北-南 解像度値"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "無効な 北-南3 解像度値"
@@ -2002,78 +2026,78 @@ msgstr ""
 " ウィンドウの %d%% のみ保存できます \"%s\" 現在のGRASSウィンドウと重複してい"
 "ます"
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "説明内のバグ, <%s>内のオプション '%s' は存在しません"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "説明内のバグ, <%s>内のオプション '%s' は存在しません"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr " --quiet --verboseのいずれかを使用します。 --verboseと仮定します"
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr " --quiet --verboseのいずれかを使用します。 --quietと仮定します"
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "<%s> オプションは無効です\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "エラー:  "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "プログラム名を決定できません"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "<%c> フラッグは無効です\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "<%s=>は不明瞭です\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "<%s> パラメータは無効です\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> マップセット <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2082,7 +2106,7 @@ msgstr ""
 "\n"
 "エラー: パラメータの無効な範囲の構文 <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2091,21 +2115,21 @@ msgstr ""
 "\n"
 "エラー: 値<%s>はパラメーターの範囲外です<%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "エラー: パラメータ値が見つかりません <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
 "\tValid options: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2115,7 +2139,7 @@ msgstr ""
 "エラー: 必要なパラメータ <%s> が設定されていません:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2124,37 +2148,37 @@ msgstr ""
 "\n"
 "エラー: オプション <%s> は%dの倍数でなければなりません\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "<%s> オプションは無効です\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "フィールドセパレーター"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "<%s> オプションは無効です\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "OGRフィーチャタイプ %d はサポートされません"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "���"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "テーブル <%s> を作成できません"
@@ -2686,7 +2710,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "メモリ不足"
 
@@ -2708,11 +2733,13 @@ msgid "Loading data from attribute table ..."
 msgstr "属性テ-ブルからデータをロードしています ..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "データベース接続はレイヤー %d に定義されていません"
@@ -2908,7 +2935,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "2D 配列をラスターマップ <%s> に書き込んでいます"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3020,8 +3047,8 @@ msgstr "出力したユニットファクター"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3580,6 +3607,30 @@ msgstr ""
 msgid "Failed to initialize Cairo surface"
 msgstr "���"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3826,11 +3877,11 @@ msgstr "���"
 msgid "Creating a new space time %s dataset"
 msgstr "ラスターマップ <%s> マップセット内に見つかりません <%s>"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4021,29 +4072,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "ヘッドファイルを読み込めません"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "3D ラスターマップ <%s> の範囲を読めません"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "ラスターマップ <%s> を閉じれません"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "ベクトルマップ <%s> を開けません"
@@ -4202,20 +4253,20 @@ msgstr "ラスターマップ <%s> マップセット内に見つかりません
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "ベクトル データベース 定義ファイル '%s' を開けません"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4224,7 +4275,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "ベクトル データベース 定義ファイル '%s' を開けません"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4232,12 +4283,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "ベクトル データベース 定義ファイル '%s' を開けません"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "���"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4245,49 +4296,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "ディレクトリ  '%s' を削除できません"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "ベクトル データベース 定義ファイル '%s' を開けません"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "テーブル <%s> を作成できません"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "コマンドを実行できません"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "���"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "見つかりません '%s'"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "���"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "ファイル <%s> をスタートできません"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "コマンドを実行できません"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4295,14 +4334,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "コマンドを実行できません"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4429,7 +4468,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "<%s> にベクトルマップ <%s> を見つけられません"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4544,64 +4583,64 @@ msgid ""
 "%s"
 msgstr "ベクトルマップ <%s> は既に存在し上書きされます"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "���"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "構文エラー"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "���"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "���"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "����� ���� ���\n"
@@ -4626,7 +4665,7 @@ msgid "Error computing map <%s>"
 msgstr "3Dグリッドマップ <%s> を開けません"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "<%s> にベクトルマップ <%s> を見つけられません"
@@ -4653,76 +4692,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  フォーマット: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "基本ラスターマップ名"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "<%s> にベクトルマップ <%s> を見つけられません"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "入力するラスターマップ名"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "ラスターマップ <%s> が見つかりません"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "入力マップを閉じれません"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "<%s> にベクトルマップ <%s> を見つけられません"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "ラスターマップ <%s> が見つかりません"
@@ -4737,12 +4800,12 @@ msgstr "����� ���� ���\n"
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "ラスターマップ <%s> が見つかりません"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "����� ���� ���\n"
@@ -4797,7 +4860,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4812,7 +4875,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "テーブル <%s> からデータをフェッチできません"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4820,46 +4887,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "入力マップを閉じれません"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "ベクトルマップ <%s> は既に存在し上書きされます"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "���"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "���"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4868,43 +4943,43 @@ msgstr ""
 "フィーチャー %d を修復できません, ベクトルマップ <%s> が'書き込み' モードで開"
 "かれていません"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "データがありません"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "色"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "データベース接続はレイヤー %d に定義されていません"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "ベクトルマップ <%s> をロードできません"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4949,75 +5024,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "OGRフィーチャタイプ %d はサポートされません"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "OGRフィーチャタイプ %d はサポートされません"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "OGRフィーチャタイプ %d はサポートされません"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "属性列名"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "���"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "ベクトルマップ <%s> は既に存在し上書きされます"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "ラスターマップ <%s> が見つかりません"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "索引は範囲外です"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "ベクトルマップ <%s> は既に存在し上書きされます"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "ベクトルマップ <%s> にリンクするテーブル <%s> は存在しません"
@@ -5026,19 +5101,33 @@ msgstr "ベクトルマップ <%s> にリンクするテーブル <%s> は存在
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "ラインオフセットを読み込めません %ld"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "フィーチャーIDを読めません %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5054,24 +5143,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "不明な補間タイプ"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr "読み取ったラスターマップ <%s@%s> の行 %d は範囲外です"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "���"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "���"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "���"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "���"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "���"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "NULL行の読み取りエラー %d"
@@ -5196,51 +5301,46 @@ msgstr "���"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "���"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "���"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "���"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "���"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "���"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
+msgid "No null file for <%s>"
 msgstr "���"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
+msgid "Error writing compressed null data for row %d of <%s>"
 msgstr "���"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "���"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "���"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "���"
@@ -5337,7 +5437,7 @@ msgstr "GDALライブラリを読み込めません"
 msgid "Unable to open GDAL file"
 msgstr "���"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "����� ���� ���\n"
@@ -5404,6 +5504,21 @@ msgstr "���"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr "\a���: ����� �� ��������. ���G_gisinit()\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "構文エラー"
@@ -5485,26 +5600,26 @@ msgstr ""
 msgid "Rast_set_null_value: wrong data type!"
 msgstr ""
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "����� ���� ���\n"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "���"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "���"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "セルマップにf_formatを書き込めません"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5513,109 +5628,114 @@ msgstr ""
 "ラスターマップが開けません <%s@%s> 存在しないラスターマップ<%s@%s> の再分類か"
 "ら"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "���"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "���"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "ラスターマップ <%s@%s>: 無効なヘッダーファイルのフォーマット領域"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "ラスターマップ <%s> マップセット内に見つかりません <%s>"
+msgid "Compression with %s is not supported"
+msgstr "OGRフィーチャタイプ %d はサポートされません"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr ""
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "���"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "���"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "���"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "ラスターマップ <%s> は現在のマップセットにありません (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> 無効なファイル名です"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "%sファイルはマップセットに使用できません <%s>\n"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "ラスターマップ <%s> は現在のマップセットにありません (%s)"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "ラスターマップ <%s> マップセット内に見つかりません <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "見つかりません '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "無効なタイプ: ファイル '%s'内の領域 '%s' "
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, c-format
 msgid "Missing type: field in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "ラスターマップ<%s>はxdrではありません: バイト順: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5644,11 +5764,16 @@ msgstr "����� ���� ���\n"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "圧縮ファイル[%s in %s]の最初の読み取りに失敗しました"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "圧縮ファイル[%s in %s]の最初の読み取りに失敗しました"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5967,17 +6092,17 @@ msgstr "マップセットの平行ロックはウィンドウズではサポー
 msgid "Unable to write lockfile %s (%s)"
 msgstr "���"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "警告:  "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "ノードコストをセットしています..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -5985,115 +6110,149 @@ msgstr ""
 "用例:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "デフォルトの許可"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "無効な投影法\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "仮の画像を割り当てられません"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "要求されたフォーマットはこのバージョンではコンパイルされません"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6103,268 +6262,295 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "<%s> オプションは無効です\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "このエラーをGRASS開発者に報告してください.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s: エリア %d は存在しません"
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: エリア %d は存在しません"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s: エリア %d は存在しません"
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "グラフを作成しています..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - 変数が設定されていません"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "ノードコストをセットしています..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "接続に失敗しました"
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "テーブル <%s> からデータをフェッチできません"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "フォーカスを設置できません"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "コマンドのヘルプが利用できません [%s]\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "無し"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "一時ファイルが開けません"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "OGRフィーチャタイプ %d はサポートされません"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "ドライバー <%s> をスタートできません"
@@ -6858,8 +7044,8 @@ msgstr "追加ファイルに島を書き込めません"
 msgid "Computing minimum spanning tree..."
 msgstr "最小スパンニングツリーの計算中..."
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "GngFlattenエラー"
 
@@ -6965,10 +7151,10 @@ msgstr "ポリゴンにポイントを見つけられません"
 msgid "conditions failed"
 msgstr "条件は失敗しました"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7001,7 +7187,7 @@ msgstr "���"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7022,22 +7208,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "ベクトルマップからフィーチャー%d を修復できません <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "���"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "ベクトル <%s> のヘッダーファイルを開けません"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "ヘッドにおいて破損した行: %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "ベクトルヘッドにおける不明なキーワード %s"
@@ -7064,7 +7250,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "ネイティブ形式のみサポートされています"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "不要なラインを読み込みます"
 
@@ -7078,17 +7264,17 @@ msgstr "Vect_read_area_geos(): エリア ID %d が読み込めません"
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr "Vect_read_area_geos(): isle ID %d エリア ID %d が読み込めません"
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr "ラインオフセットを読み込めません %ld"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "存在しないエリアID %d を読み込もうとしています"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr "フィーチャーIDを読めません %d"
@@ -7106,17 +7292,17 @@ msgstr "レイヤー索引は範囲外です"
 msgid "Category index out of range"
 msgstr "レイヤー索引は範囲外です"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "ベクトルマップ <%s> の索引ファイルを開けません"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "カテゴリー索引ファイル <%s> 書き込み中のエラー"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "ベクトルマップ <%s> の索引ファイルを開けません"
@@ -7147,7 +7333,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "OGR データソース '%s' を開けません"
@@ -7250,7 +7436,7 @@ msgstr "読み込みに失敗しました"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7287,94 +7473,110 @@ msgstr "%s: エリア %d は存在しません"
 msgid "Attempt to access dead area %d"
 msgstr "不要なフィーチャを削除しようとしています"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "テーブル <%s> を作成できません"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "テーブル <%s> をコピーできません"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "テーブル <%s> をコピーできません"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "テーブル <%s> をコピーできません"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "ベクトルマップ名はSQLに基づいていません"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "<%s> にベクトルマップ <%s> を見つけられません"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "ベクトルマップ <%s> は既に存在し上書きされます"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "ベクトルマップ <%s> を削除できません"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "ベクトルマップ <%s> を <%s> にコピーできません"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "テーブル <%s> をコピーできません"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "テーブル <%s> を削除できません"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "テーブル <%s> の索引を作成できません, キー <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "無効なベクトルマップ名 <%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "ベクトルマップ <%s> のヘッダーファイルを開けません"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "ベクトルマップ <%s> にリンクするテーブル <%s> が見つかりません"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "ベクトルマップ <%s> にリンクするテーブル <%s> は存在しません"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "ディレクトリ '%s' を開けません"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "ファイル '%s' を削除できません"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "ディレクトリ名を  '%s'  から  '%s' に変更できません"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "ディレクトリ  '%s' を削除できません"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7399,19 +7601,19 @@ msgstr "ラインの数: %d"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "���"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr "ベクトルマップ <%s@%s> の座標ファイルが大きすぎます(%ld バイト超過)"
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7448,7 +7650,7 @@ msgstr "���"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "ベクトルマップ <%s> の索引ファイルを開けません"
@@ -7502,6 +7704,168 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "グラフを作成しています..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "ネットワークグラフを作成できません"
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "フォワードコスト列は指定されていません"
+
+#: ../lib/vector/Vlib/net_build.c:156
+#, fuzzy
+msgid "Turntable field < 1"
+msgstr "アークフィールド < 1"
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "テーブル <%s> に列 <%s> が見つかりません"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
+"データ型 of 列 <%s> のデータタイプはサポートされていません (数字でなければな"
+"らない)"
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "ノードコストをセットしています..."
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "テーブル <%s> に列 <%s> が見つかりません"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"ノード %d (cat = %d) のデータベースレコードは見つかりませんでした (コストは0"
+"にセットされています)"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "ネットワークアークを追加できません"
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"ノード %d (cat = %d) のデータベースレコードは見つかりませんでした (コストは0"
+"にセットされています)"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "ネットワークアークを追加できません"
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr "アークフィールド < 1"
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "アークを登録しています..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"ライン %d (カタログ = %d, 前/後の両方向) のデータベース レコードは見つかりま"
+"せんでした (スキップされた前/後の両方向とも)"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"ライン %d (cat = %d, backword direction) のデータベースレコードは見つかりませ"
+"んでした(ラインの方向はスキップされました)"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "グラフを平らにしています..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "グラフは作成されています"
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+"ライン %d (カタログ = %d, 前/後の両方向) のデータベース レコードは見つかりま"
+"せんでした (スキップされた前/後の両方向とも)"
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+"ライン %d (cat = %d, backword direction) のデータベースレコードは見つかりませ"
+"んでした(ラインの方向はスキップされました)"
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "ネットワークアークを追加できません"
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7551,90 +7915,6 @@ msgstr "レイヤー索引は範囲外です"
 msgid "Isle index is out of range"
 msgstr "レイヤー索引は範囲外です"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "グラフを作成しています..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "ネットワークグラフを作成できません"
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "フォワードコスト列は指定されていません"
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr "アークフィールド < 1"
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "テーブル <%s> に列 <%s> が見つかりません"
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr ""
-"データ型 of 列 <%s> のデータタイプはサポートされていません (数字でなければな"
-"らない)"
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "アークを登録しています..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-"ライン %d (カタログ = %d, 前/後の両方向) のデータベース レコードは見つかりま"
-"せんでした (スキップされた前/後の両方向とも)"
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr ""
-"ライン %d (cat = %d, backword direction) のデータベースレコードは見つかりませ"
-"んでした(ラインの方向はスキップされました)"
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "ネットワークアークを追加できません"
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "ノードコストをセットしています..."
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"ノード %d (cat = %d) のデータベースレコードは見つかりませんでした (コストは0"
-"にセットされています)"
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "グラフを平らにしています..."
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "グラフは作成されています"
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "dgl最短パスエラー: %s"
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Vect_net_get_line_cost() におけるラインの方向は正しくありません"
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7760,7 +8040,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "サーバ接続がよくありません"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7772,7 +8052,7 @@ msgstr ""
 "このレイヤーのランダムな読み込みはOGRにサポートされていません, サポート作成不"
 "可"
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7787,7 +8067,7 @@ msgstr "ベクトルマップ <%s> にトポロジーを作成しています...
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "ベクトルマップ <%s> にトポロジーを作成しています..."
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7816,7 +8096,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "���"
@@ -7998,8 +8278,8 @@ msgstr "間違った境界の数: %d"
 msgid "Number of redundant holes: %d"
 msgstr "境界の数: %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "���"
@@ -8096,37 +8376,37 @@ msgstr "領域の数: -"
 msgid "Number of isles: -"
 msgstr "アイルの数: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "����� ���� ���\n"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "topo ファイル書き込みのエラー"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "���"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "バグ (Vect_build_sidx_from_topo): ノードは存在しません"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "���"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "空間インデックスファイルを書き込めません"
 
@@ -8301,58 +8581,58 @@ msgstr "不明なベクトルタイプ"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "プリミティブの数: %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "領域を作成しています..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "フィーチャー %d を書き込めません"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "不要なフィーチャを削除しようとしています"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "���"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "フィーチャー %d を書き込めません"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 #, fuzzy
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
@@ -8360,7 +8640,7 @@ msgstr ""
 "このレイヤーのランダムな読み込みはOGRにサポートされていません, サポート作成不"
 "可"
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "���"
@@ -8370,7 +8650,7 @@ msgstr "���"
 msgid "Unable to rewrite feature %d"
 msgstr "フィーチャー %d を書き込めません"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "����� ���� ���\n"
@@ -8633,14 +8913,21 @@ msgstr "ヘッドにおいて破損した行: %s"
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "接続に失敗しました"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "接続に失敗しました"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8848,26 +9135,26 @@ msgstr "デフォルトドライバーが指定されていません"
 msgid "Default database is not set"
 msgstr "デフォルのデータベースが指定されていません"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "要求された dbリンク %d, 最大のリンク数 %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "���"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "���"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "OGR DBMI ドライバーを開けません"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -8875,27 +9162,27 @@ msgstr ""
 "全てのFIDテストは失敗しました. OGR DBテーブルには 'FID' も 'ogc_fid' も "
 "'ogr_fid' も 'gid' ありません "
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "不明なベクトルタイプ"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "���"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "バグ: このマップセットにないマップをアップデートしようとしています"
 
@@ -8970,22 +9257,22 @@ msgstr "���"
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "���"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr "現在のマップセットにないベクトルマップは更新できません"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "���"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "ベクトルマップ <%s> のトポロジーファイルを開けません"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -8994,83 +9281,83 @@ msgstr ""
 "ベクトルマップ <%s> をレベル %d で開けません.  v.build.でベクトルトポロジーを"
 "再作成してください"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "���"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "����� ���� ���\n"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "ベクトルマップ <%s> のヒストリーファイルを開けません"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "ラスターマップ <%s> は現在のマップセットにありません (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "ベクトルマップ名はSQLに基づいていません"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "���"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "ネイティブ形式のみサポートされています"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "ファイル <%s> をスタートできません"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr "'coor' ファイルのサイズはトポロジーファイルに保存された値と異なります"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "ベクトルマップ <%s@%s>のためトポロジーを再作成してください"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "���"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9138,89 +9425,89 @@ msgstr "接続に失敗しました"
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "接続に失敗しました"
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "データベース リンクを追加できません"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "<%s> にベクトルマップ <%s> を見つけられません"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "���"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "セントロイドのないエリアの数: %d"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "テーブル <%s> からデータをフェッチできません"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "���"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9285,15 +9572,32 @@ msgstr "ラインはループされていません"
 msgid "Topology info not available for feature %d"
 msgstr "コマンドのヘルプが利用できません [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "dgl最短パスエラー: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Vect_net_get_line_cost() におけるラインの方向は正しくありません"
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "ネットワークアークを追加できません"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "����� ���� ���\n"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9348,10 +9652,48 @@ msgstr "テーブル <%s> を作成できません"
 #~ msgid "Out of memmory"
 #~ msgstr "メモリ不足"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "ベクトル データベース 定義ファイル '%s' を開けません"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "���"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "���"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "���"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "���"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "<%s> オプションは無効です\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "エラー: オプション <%s>: <%s> 存在します.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "����� ���� ���\n"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "ファイルが開けません %s"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "続行のためにリターンを押す -->"
 
@@ -9359,6 +9701,25 @@ msgstr "テーブル <%s> を作成できません"
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "ベクトルマップ <%s> はレベル >= 2 で開かれていません"
 
+#~ msgid "Background color"
+#~ msgstr "背景の色"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "入力するファイル"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "OGRフィーチャタイプ %d はサポートされません"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "����� ���� ���\n"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "����� ���� ���\n"
+
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "カテゴリー %d の属性は見つかりませんでした"
 
@@ -9383,22 +9744,3 @@ msgstr "テーブル <%s> を作成できません"
 
 #~ msgid "G_oldsite_new_struct: invalid # dims or fields"
 #~ msgstr "G_oldsite_new_struct: 不正な # ディメンションまたはフィールド"
-
-#~ msgid "Background color"
-#~ msgstr "背景の色"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "OGRフィーチャタイプ %d はサポートされません"
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "����� ���� ���\n"
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "����� ���� ���\n"
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "入力するファイル"
diff --git a/locale/po/grasslibs_ko.po b/locale/po/grasslibs_ko.po
index 4a23cca..e0ded6d 100644
--- a/locale/po/grasslibs_ko.po
+++ b/locale/po/grasslibs_ko.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_ko\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2013-10-30 22:07-0500\n"
 "Last-Translator: Huidae Cho <grass4u at gmail.com>\n"
 "Language-Team: Korean <grass-translations at lists.osgeo.org>\n"
@@ -27,33 +27,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr ""
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Datum %s 테이블파일을 열 수 없습니다"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -84,7 +79,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "<%s>를 현재 맵셋의 <%s>으로 복사합니다"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "<%s>를 현재 맵셋의 <%s>으로 복사 할 수 없습니다"
@@ -96,7 +91,7 @@ msgstr "<%s>를 현재 맵셋의 <%s>으로 복사 할 수 없습니다"
 msgid "%s is missing"
 msgstr "%s이 없습니다"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr "%s를 복사했습니다"
@@ -129,7 +124,7 @@ msgstr "<%s>를 <%s>으로 이름을 바꿉니다"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -157,8 +152,8 @@ msgstr "벡터맵 <%s>의 이름을 <%s>으로 바꾸지 못 했습니다"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -218,21 +213,33 @@ msgstr "%s를 지울 수 없습니다"
 msgid "<%s> nothing removed"
 msgstr "<%s> 아무 것도 지우지 않았습니다"
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr ""
@@ -392,8 +399,10 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, fuzzy, c-format
@@ -405,45 +414,45 @@ msgstr "'%s' 디버그파일을 열 수 없습니다"
 msgid "Unable to get list tables in database <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, fuzzy, c-format
 msgid "Column <%s> is not integer"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr ""
@@ -514,6 +523,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "'%s' 디버그파일을 열 수 없습니다."
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -835,212 +848,212 @@ msgstr ""
 msgid "Category value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "자동 MASK파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "자동 MASK파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "잘못된 좌표"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 msgid "Name of the output space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 msgid "Name of the input space time vector datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 msgid "Name of the output space time vector dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "자동 MASK파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "자동 MASK파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1067,7 +1080,7 @@ msgid "SYNOPSIS"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr ""
 
@@ -1087,7 +1100,7 @@ msgid "Quiet module output"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr ""
 
@@ -1190,7 +1203,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr ""
 
@@ -1265,7 +1278,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr ""
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr ""
@@ -1346,17 +1359,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr ""
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -1539,6 +1552,11 @@ msgstr ""
 msgid "Duplicate compressed field"
 msgstr ""
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1585,22 +1603,22 @@ msgstr ""
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -1783,8 +1801,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "잘못된 n-s 해상도값입니다."
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1843,6 +1862,10 @@ msgstr "동쪽경계는 서쪽경계보다 값이 커야합니다."
 msgid "Invalid coordinates"
 msgstr "잘못된 좌표입니다."
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "잘못된 n-s 해상도값입니다."
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "잘못된 n-s3 해상도값입니다."
@@ -1908,149 +1931,149 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr ""
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr ""
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 msgid "ERROR"
 msgstr ""
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr ""
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr ""
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr ""
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
 "\tPresented as: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
 "\tLegal range: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
 "\tValid options: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
 "\t(%s)"
 msgstr ""
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
 "\tYou provided %d item(s): %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, c-format
 msgid "%s= is not a separator option"
 msgstr ""
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, c-format
 msgid "No separator given for %s="
 msgstr ""
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr ""
 "\n"
 "**<%s> 잘못된 이름 **\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -2565,7 +2588,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr ""
 
@@ -2587,11 +2611,13 @@ msgid "Loading data from attribute table ..."
 msgstr ""
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "레이어 %d를 위한 데이타베이스 접속이 정의되지 않았습니다"
@@ -2778,7 +2804,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr ""
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, fuzzy, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -2890,8 +2916,8 @@ msgstr ""
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3437,6 +3463,30 @@ msgstr "알려지지 않은 벡터타입입니다"
 msgid "Failed to initialize Cairo surface"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3678,11 +3728,11 @@ msgstr "'%s' 디버그파일을 열 수 없습니다"
 msgid "Creating a new space time %s dataset"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -3873,29 +3923,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, fuzzy, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, fuzzy, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -4053,20 +4103,20 @@ msgstr "'%s' 디버그파일을 열 수 없습니다"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4075,7 +4125,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4083,12 +4133,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4096,49 +4146,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "%s 요소를 지울 수 없습니다"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "'%s' 디버그파일을 열 수 없습니다"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "'%s' 디버그파일을 열 수 없습니다"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4146,14 +4184,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4280,7 +4318,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4395,63 +4433,63 @@ msgid ""
 "%s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -4476,7 +4514,7 @@ msgid "Error computing map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -4503,76 +4541,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
@@ -4587,12 +4649,12 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -4645,7 +4707,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4660,7 +4722,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4668,88 +4734,96 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr ""
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr ""
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "color"
 msgstr ""
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4793,74 +4867,74 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "라스터 타입: {0}를 지원하지 않습니다"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 msgid "Null value detected"
 msgstr "널값을 찾았습니다"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, python-format
 msgid "Index out of range: %r."
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "임시파일을 열 수 없습니다"
@@ -4869,19 +4943,33 @@ msgstr "임시파일을 열 수 없습니다"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "임시파일을 열 수 없습니다"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -4897,24 +4985,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "알려지지 않은 벡터타입입니다"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
@@ -5038,51 +5142,46 @@ msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "'%s' 디버그파일을 열 수 없습니다"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "Datum %s 테이블파일을 열 수 없습니다"
+msgid "No null file for <%s>"
+msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "Datum %s 테이블파일을 열 수 없습니다"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr ""
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr ""
 
@@ -5179,7 +5278,7 @@ msgstr "임시파일을 열 수 없습니다"
 msgid "Unable to open GDAL file"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -5245,6 +5344,21 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr ""
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr ""
@@ -5326,137 +5440,142 @@ msgstr ""
 msgid "Rast_set_null_value: wrong data type!"
 msgstr ""
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr ""
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
 "%s> which does not exist"
 msgstr ""
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "'%s' 디버그파일을 열 수 없습니다"
+msgid "Compression with %s is not supported"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr ""
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "맵 [%s], 맵셑 [%s]을(를) 위한 분류지원: %s"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr ""
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, fuzzy, c-format
 msgid "<%s> is an illegal file name"
 msgstr ""
 "\n"
 "**<%s> 잘못된 이름 **\n"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, c-format
 msgid "No temp files available: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "'%s' 디버그파일을 열 수 없습니다"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, fuzzy, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, fuzzy, c-format
 msgid "Unable to find '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, c-format
 msgid "Missing type: field in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5485,11 +5604,16 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr ""
 
+#: ../lib/raster/format.c:176
+#, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr ""
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5810,123 +5934,157 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 msgid "WARNING"
 msgstr ""
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 msgid "Exiting..."
 msgstr ""
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 msgid "Usage"
 msgstr ""
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 msgid "and set as default"
 msgstr ""
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
-msgid "initial location"
+#: ../lib/init/grass.py:345
+msgid "initial GRASS Location"
+msgstr ""
+
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr ""
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -5936,262 +6094,289 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
+msgstr ""
+
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
 msgstr ""
 
-#: ../lib/init/grass.py:597
+#: ../lib/init/grass.py:823
 #, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
 msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
+msgstr ""
+
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr ""
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
+msgstr ""
+
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 msgid "Building user fontcap..."
 msgstr ""
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
+#: ../lib/init/grass.py:1276
+msgid "The SHELL variable is not set"
 msgstr ""
 
-#: ../lib/init/grass.py:965
-msgid "The SHELL variable is not set"
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
 msgstr ""
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
+#: ../lib/init/grass.py:1330
 #, python-format
-msgid "Executing '%s' ..."
+msgid "Executing <%s> ..."
 msgstr ""
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
+#: ../lib/init/grass.py:1337
+#, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
 msgstr ""
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr ""
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
+#: ../lib/init/grass.py:1561
+msgid "Done."
 msgstr ""
 
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
+#: ../lib/init/grass.py:1563
 msgid "Goodbye from GRASS GIS"
 msgstr ""
 
-#: ../lib/init/grass.py:1188
-msgid "Done."
-msgstr ""
-
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr ""
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, python-format
 msgid "Parameter <%s> not supported"
 msgstr ""
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -6662,8 +6847,8 @@ msgstr "자동 MASK파일을 열 수 없습니다"
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6761,10 +6946,10 @@ msgstr ""
 msgid "conditions failed"
 msgstr ""
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6796,7 +6981,7 @@ msgstr "임시파일을 열 수 없습니다"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -6817,22 +7002,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, fuzzy, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr ""
@@ -6858,7 +7043,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 #, fuzzy
 msgid "Attempt to read dead line"
 msgstr "임시파일을 열 수 없습니다"
@@ -6873,17 +7058,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -6901,17 +7086,17 @@ msgstr ""
 msgid "Category index out of range"
 msgstr "카테고리는 정수여야 합니다."
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, fuzzy, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "임시파일을 열 수 없습니다"
@@ -6942,7 +7127,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, fuzzy, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -7041,7 +7226,7 @@ msgstr "임시파일을 열 수 없습니다"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7078,94 +7263,110 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr "임시파일을 열 수 없습니다"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, fuzzy, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, fuzzy, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, fuzzy, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, fuzzy, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, fuzzy, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Datum %s 테이블파일을 열 수 없습니다"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, fuzzy, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, fuzzy, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, fuzzy, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, fuzzy, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, fuzzy, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, fuzzy, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, fuzzy, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, fuzzy, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/map.c:487
+#: ../lib/vector/Vlib/map.c:528
 #, fuzzy, c-format
-msgid "Unable to remove directory '%s'"
+msgid "Unable to remove directory '%s': %s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7190,19 +7391,19 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7238,7 +7439,7 @@ msgstr "알려지지 않은 벡터타입입니다"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "임시파일을 열 수 없습니다"
@@ -7291,132 +7492,203 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+#, fuzzy
+msgid "Unable to build network graph"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-msgid "for this format/level not supported"
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "Datum %s 테이블파일을 열 수 없습니다"
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
 #, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "Datum %s 테이블파일을 열 수 없습니다"
+msgid "Column <%s> not found in table <%s>"
+msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "카테고리는 정수여야 합니다."
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:224
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Node index is out of range"
-msgstr "카테고리는 정수여야 합니다."
+msgid "Cannot add network arc for virtual node connection."
+msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "카테고리는 정수여야 합니다."
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "카테고리는 정수여야 합니다."
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:159
+#: ../lib/vector/Vlib/net_build.c:465
 #, fuzzy
-msgid "Unable to build network graph"
-msgstr "Datum %s 테이블파일을 열 수 없습니다"
+msgid "Cannot add network arc representing turn."
+msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, fuzzy, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "'%s' 디버그파일을 열 수 없습니다"
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:579
 #, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
+#: ../lib/vector/Vlib/net_build.c:596
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
 "(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:885
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, backword direction) not "
 "found(direction of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:934
 #, fuzzy
 msgid "Cannot add network arc"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr ""
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+msgid "for this format/level not supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr ""
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr ""
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr ""
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "카테고리는 정수여야 합니다."
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "카테고리는 정수여야 합니다."
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "카테고리는 정수여야 합니다."
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "카테고리는 정수여야 합니다."
 
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
@@ -7539,7 +7811,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7548,7 +7820,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7563,7 +7835,7 @@ msgstr "임시파일을 열 수 없습니다"
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7592,7 +7864,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -7767,8 +8039,8 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 msgid "Number of redundant holes: %d"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "임시파일을 열 수 없습니다"
@@ -7867,38 +8139,38 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 msgid "Number of isles: -"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 #, fuzzy
 msgid "Error writing out topo file"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 #, fuzzy
 msgid "Error writing out spatial index file"
 msgstr "임시파일을 열 수 없습니다"
@@ -8070,63 +8342,63 @@ msgstr "알려지지 않은 벡터타입입니다"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "임시파일을 열 수 없습니다"
@@ -8136,7 +8408,7 @@ msgstr "임시파일을 열 수 없습니다"
 msgid "Unable to rewrite feature %d"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
@@ -8399,14 +8671,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8612,53 +8891,53 @@ msgstr ""
 msgid "Default database is not set"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 #, fuzzy
 msgid "Unable to open OGR DBMI driver"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "알려지지 않은 벡터타입입니다"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 
@@ -8731,105 +9010,105 @@ msgstr "'%s' 디버그파일을 열 수 없습니다"
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, fuzzy, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, fuzzy, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "'%s' 디버그파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "잘못된 좌표"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, fuzzy, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, fuzzy, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -8898,88 +9177,88 @@ msgstr ""
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "알려지지 않은 벡터타입입니다"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9045,16 +9324,33 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 msgid "Topology info not available for feature %d"
 msgstr "임시파일을 열 수 없습니다"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
 #: ../lib/vector/Vlib/graph.c:138
 #, fuzzy
 msgid "Unable to add network arc"
 msgstr "임시파일을 열 수 없습니다"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Datum %s 테이블파일을 열 수 없습니다"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9106,6 +9402,40 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 #~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
 #, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "'%s' 디버그파일을 열 수 없습니다"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "'%s' 디버그파일을 열 수 없습니다"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "취소를 원하시면 RETURN을 누르세요\n"
 
@@ -9113,6 +9443,18 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
+
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "카테고리 %d를 위한 속성을 찾을 수 없습니다"
 
@@ -9143,15 +9485,3 @@ msgstr "Datum %s 테이블파일을 열 수 없습니다"
 #~ "G_oldsite_describe() must be called immediately after G_fopen_sites_old()."
 #~ msgstr ""
 #~ "G_fopen_sites_old() 다음 즉시 G_oldsite_describe()를 호출해야 합니다."
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Datum %s 테이블파일을 열 수 없습니다"
diff --git a/locale/po/grasslibs_lv.po b/locale/po/grasslibs_lv.po
index af5c61a..c6a54af 100644
--- a/locale/po/grasslibs_lv.po
+++ b/locale/po/grasslibs_lv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_lv\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2016-01-24 11:11+0200\n"
 "Last-Translator: Maris Nartiss <maris.kde at gmail.com>\n"
 "Language-Team: Latvian <grass-translations at lists.osgeo.org>\n"
@@ -32,33 +32,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr ""
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Neiespējami atvērt failu %s iekš %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -91,7 +86,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "nav %s faili pieejami pašreizējā karšu biblotēkā\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "nav %s faili pieejami pašreizējā karšu biblotēkā\n"
@@ -103,7 +98,7 @@ msgstr "nav %s faili pieejami pašreizējā karšu biblotēkā\n"
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -136,7 +131,7 @@ msgstr "Ieejas vektors '%s' nav atrasts"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -164,8 +159,8 @@ msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -226,21 +221,33 @@ msgstr "Nevar aizvākt %s"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr ""
@@ -411,8 +418,10 @@ msgstr ""
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -424,45 +433,45 @@ msgstr "Nav iespējams atvērt datu bāzi <%s> izmantojot <%s> dzinēju"
 msgid "Unable to get list tables in database <%s>"
 msgstr "neiespējami atvērt elipsoīda tabulas failu: %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "neiespējami atvērt elipsoīda tabulas failu: %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, fuzzy, c-format
 msgid "Column <%s> is not integer"
 msgstr "Nevar atvērt datubāzi %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "Nevar atvērt datubāzi %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr ""
@@ -533,6 +542,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "Nevar atvērt 'temp'/pagaidu failu"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -856,188 +869,188 @@ msgstr ""
 msgid "Category value"
 msgstr "Kategorijas vērtība"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Kategoriju vērtības"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Piemēram: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "Objekta id"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "Objektu id"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr "Ievades faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "Izvades faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Lauka atdalītājs"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Krāsa"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Atvērtā faila nosaukums %s"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr "Vienības"
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 msgid "Coordinates"
 msgstr "Koordinātes"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 msgid "Name of color table"
 msgstr "Krāsu tabulas nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 msgid "Name of saved region"
 msgstr "Saglabātā reģiona nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Ievades rastra failu nosaukumi"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Izvades rastra faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Reljefa rastra faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Reljefa rastra faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Izvades rastra faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 msgid "Name of the input space time vector dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Ieejas vektorkartes nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Izejas vektorkartes nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Ieejas 3drastra faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Ieejas 3drastra faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Izejas 3drastra faila nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 msgid "Name of the input map"
 msgstr "Ievades kartes nosaukums"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 msgid "Name of the input maps"
 msgstr "Ievades karšu nosaukumi"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 msgid "Type of the input map"
 msgstr "Ievades kartes tips"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
@@ -1046,19 +1059,19 @@ msgstr ""
 "KUR  SQL pieprasījuma nosacījumi bez 'where' atslēgvārda. (piemērs: income < "
 "1000 and inhab >= 10000)"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 msgid "Do not create attribute table"
 msgstr "Neveidot atribūtu tabulu"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr "Neveidot topoloģiju"
 
@@ -1085,7 +1098,7 @@ msgid "SYNOPSIS"
 msgstr "KOPSAVILKUMS"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Karogi"
 
@@ -1105,7 +1118,7 @@ msgid "Quiet module output"
 msgstr "Klusināt moduļa izvadi"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Parametri"
 
@@ -1210,7 +1223,7 @@ msgstr "vienības"
 msgid "unit"
 msgstr "vienība"
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Nezināma projekcija"
 
@@ -1285,7 +1298,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "BRĪDINĀJUMS:"
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "KĻŪDA: "
@@ -1374,17 +1387,17 @@ msgstr "Sistēma nav inicializēta. Programmētājs aizmirsis izsaukt G_gisinit(
 msgid "<%s> file not found for location <%s>"
 msgstr "%s pēc adreses nav atrasts fails %s\n"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "Novietojums <%s> neeksistē"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr ""
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr ""
@@ -1581,6 +1594,11 @@ msgstr "dubultot formāta lauku"
 msgid "Duplicate compressed field"
 msgstr "dubultot kompresēto lauku"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1628,22 +1646,22 @@ msgstr "nederīgs a: lauks %s failā %s pie %s"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Nav sneigta eleipsoīda infromācija failā %s pie %s"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "G_spawn: neispējami atvērt failu %s"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: neispējami atvērt failu %s"
@@ -1830,8 +1848,9 @@ msgstr "sekundes"
 msgid "second"
 msgstr "sekunde"
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Neatļauta n-s izšķirtspējas vērtība"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1890,6 +1909,10 @@ msgstr "Austrumiem ir jābūt lielākiem nekā Rietumiem"
 msgid "Invalid coordinates"
 msgstr "Nederīgas koordinātes"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Neatļauta n-s izšķirtspējas vērtība"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Nederīga n-s3 izšķirtspējas vērtība"
@@ -1955,77 +1978,77 @@ msgid ""
 msgstr ""
 " Tikai %d%% no loga ir saglabāts \"%s\" pārklājuma ar tekošo GRASS logu."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Atvainojiet, <%s> nav derīgs parametrs"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 msgid "ERROR"
 msgstr "KĻŪDA"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "Nav iespējams noteikt programmas nosaukumu"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Atvainojiet, <%c> ir nedrīgs karogs"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Atvainojiet, <%s=> nav viennozīmīgi"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Atvainojiet, <%s> ir nedrīgs parametrs"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s>karšu kopā <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr "<%s> opcija nepieņem vairākus parametrus"
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2034,7 +2057,7 @@ msgstr ""
 "\n"
 "Kļūda: nepieņemama parametra sintakse <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2043,14 +2066,14 @@ msgstr ""
 "\n"
 "Kļūda: vērtība <%s> ir ārpus apgabala parametram  <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "Kļūda: Trūkst vērtība parametram <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2059,7 +2082,7 @@ msgstr ""
 "\n"
 "Kļūda: vērtība <%s> ir ārpus apgabala parametram  <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2069,7 +2092,7 @@ msgstr ""
 "KĻŪDA: Prasītais parametrs <%s> nav iestatīts:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2078,37 +2101,37 @@ msgstr ""
 "\n"
 "Kļūda: opcija/pazīme <%s> ir jabūt paredzētai daudzskaitlīgi no %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Atvainojiet, <%s> nav derīgs parametrs"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Nav norādīts atdalītājs"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Atvainojiet, <%s> nav derīgs parametrs"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Parametrs <%s> nav atbalstīts"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Neiespējami atvērt failu %s iekš %s"
@@ -2643,7 +2666,8 @@ msgstr "Nevar palaist failu '%s'"
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Nepietiek atmiņas"
 
@@ -2665,11 +2689,13 @@ msgid "Loading data from attribute table ..."
 msgstr ""
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Slānim %d nav definēts savienojums ar datu bāzi"
@@ -2856,7 +2882,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr ""
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -2968,8 +2994,8 @@ msgstr ""
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3512,6 +3538,30 @@ msgstr ""
 msgid "Failed to initialize Cairo surface"
 msgstr ""
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3758,11 +3808,11 @@ msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
 msgid "Creating a new space time %s dataset"
 msgstr "Ievades rastra failu nosaukumi"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr "Lauku atdalītājs"
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -3953,29 +4003,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Nevar atvērt 'temp'/pagaidu failu"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nav iespējams atvērt vektoru karti <%s>"
@@ -4134,20 +4184,20 @@ msgstr "Ievades rastra failu nosaukumi"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "neispējami atvērt datumu tabulas failu: %s"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4156,7 +4206,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "neispējami atvērt datumu tabulas failu: %s"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4164,12 +4214,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "neispējami atvērt datumu tabulas failu: %s"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Nevar atvērt datubāzi %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4177,49 +4227,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, fuzzy, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr "neispējami atvērt datumu tabulas failu: %s"
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "neispējami atvērt datumu tabulas failu: %s"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/python/temporal/core.py:954
-#, fuzzy, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr "neispējami atvērt datumu tabulas failu: %s"
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "neiespējami izpildīt komandu"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nevar atvērt vēsturi vektoram '%s'"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "neiespējami atrast [%s]"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nevar atvērt vēsturi vektoram '%s'"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/python/temporal/core.py:994
-#, fuzzy, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr "Nevar atvērt vēsturi vektoram '%s'"
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "neiespējami izpildīt komandu"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4227,14 +4265,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "neiespējami izpildīt komandu"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4369,7 +4407,7 @@ msgstr "Ieejas vektors '%s' nav atrasts"
 msgid "Dataset <%s> not found in temporal database"
 msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4487,69 +4525,69 @@ msgid ""
 "%s"
 msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr ""
 "Nederīgs liakspiedola(timestamp) fails priekš %s kartes %s  karšu biblotēkā "
 "%s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr "Iekšēja kļūda"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr ""
 "Nederīgs liakspiedola(timestamp) fails priekš %s kartes %s  karšu biblotēkā "
 "%s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr ""
 "Nederīgs liakspiedola(timestamp) fails priekš %s kartes %s  karšu biblotēkā "
 "%s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
@@ -4574,7 +4612,7 @@ msgid "Error computing map <%s>"
 msgstr "Kļūdu raskrīšana ārpus topo faila.\n"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
@@ -4601,76 +4639,101 @@ msgstr "Krāsa"
 msgid "Error occurred in r.series computation"
 msgstr "  formāts: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Bāzes rastra faila nosaukums"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Ievades rastra faila nosaukums"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, fuzzy, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Ievades kartes tips"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+#, fuzzy
+msgid "Merging empty map lists"
+msgstr "Lauku atdalītājs"
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Ieejas vektors '%s' nav atrasts"
@@ -4685,12 +4748,12 @@ msgstr "neispējami mainīt direktoriju uz %s"
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
@@ -4743,7 +4806,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4758,7 +4821,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4766,46 +4833,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Neisespējami atvērt %s"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, fuzzy, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Neatļauts faila nosaukums.  Nevar būt '.' vai 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Neatļauts faila nosaukums. zīme <%c> nav atļauta.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4814,42 +4889,42 @@ msgstr ""
 "Nevar izdzēst līniju, karte '%s' karte nav atvērta rakstīšanas 'write' "
 "režijmā"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "nav datu"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr "vērtība"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr "nosaukums"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "color"
 msgstr "krāsa"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4894,75 +4969,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 #, fuzzy
 msgid "Error executing: Rast_get_ith_cat"
 msgstr "eksistējošām rastra kartēm %d"
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 msgid "Null value detected"
 msgstr "Konstatēta NULL vērtība"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "eksistējošām rastra kartēm %d"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Nevar ierakstīt līniju,karte nav atvērta"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Dubulto atribūtu indekss ārpus diapazona"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
@@ -4971,19 +5046,33 @@ msgstr "Nevar atvērt vēsturi vektoram '%s'"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Nevar atvērt 'temp'/pagaidu failu"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Neiespējami atvērt failu %s iekš %s"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -4999,24 +5088,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Nezināma interpolācijas metode: %s"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Kļūdu rakstīšana ārpus telpisko datu index faila.\n"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "kļūda lasot NULL rindu %d"
@@ -5144,51 +5249,46 @@ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Kļūdu rakstīšana ārpus telpisko datu index faila.\n"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "G_spawn: neispējami atvērt failu %s"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "neispējami atrast pagaidu null failu: %s"
+msgid "No null file for <%s>"
+msgstr "G_spawn: neispējami atvērt failu %s"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: neispējami atvērt failu %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "Kļūdas rakstīšana null row %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "Ieejas vektors '%s' nav atrasts"
@@ -5284,7 +5384,7 @@ msgstr "Nevar ielādēt GDAL bibliotēku"
 msgid "Unable to open GDAL file"
 msgstr "Nevar atvērt GDAL failu"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, c-format
 msgid "Invalid map type <%d>"
 msgstr "Nederīgs kartes tips <%d>"
@@ -5347,6 +5447,21 @@ msgstr ""
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr ""
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "sintakses kļūda"
@@ -5429,26 +5544,26 @@ msgstr "EmbedGivenNulls: nepareizs datu tips!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: nepareizs datu tips!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Nepareizs deskriptors: %d"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr ""
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, fuzzy, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5457,110 +5572,115 @@ msgstr ""
 "neiespējami atvērt [%s] iekš [%s] kopš tas ir pārklasificēts  [%s] iekš [%s] "
 "kas neeksistē"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "Nederīgs histogrammas fails priekš [%s iekš %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "eksistējošām rastra kartēm %d"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, fuzzy, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 "[%s] karšu biblotēkā [%s]-formāta lauks faila galvā (header) ir nederīgs"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Ieejas vektors '%s' nav atrasts"
+msgid "Compression with %s is not supported"
+msgstr "Parametrs <%s> nav atbalstīts"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, fuzzy, c-format
 msgid "<%s> is an illegal file name"
 msgstr "%s - ** neatļauts vārds/nosaukums **"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "Krāsu fails priekš [%s] nav pieejams"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, fuzzy, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, fuzzy, c-format
 msgid "Unable to find '%s'"
 msgstr "neiespējami atrast [%s]"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, fuzzy, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "nederīgs tips: lauks %s failā %s"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "nederīgs tips: lauks %s failā %s"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, fuzzy, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5589,11 +5709,16 @@ msgstr "neispējami mainīt direktoriju uz %s"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Izgāzusies arhivētā faila lasīšanas inicializācija [%s iekš %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Izgāzusies arhivētā faila lasīšanas inicializācija [%s iekš %s]"
+
 #: ../lib/raster/range.c:102
 #, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5906,126 +6031,161 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 msgid "WARNING"
 msgstr "BRĪDINĀJUMS"
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 msgid "Exiting..."
 msgstr "Iziet..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 msgid "Usage"
 msgstr "Lietojums"
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr "izdrukā šo palīdzības paziņojumu"
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr "parāda versijas informāciju un iziet"
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 #, fuzzy
 msgid "use text based interface (skip welcome screen)"
 msgstr "lietot teksta bāzētu saskarni"
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "lai apstiprinātu noklusēto"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 #, fuzzy
 msgid "use text based interface (show welcome screen)"
 msgstr "lietot teksta bāzētu saskarni"
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr "izdrukā GRASS konfigurācijas parametrus"
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
-msgid "initial location"
+#: ../lib/init/grass.py:345
+#, fuzzy
+msgid "initial GRASS Location"
+msgstr "KĻŪDA: <%s> nav derīgs GRASS novietojums"
+
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr ""
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6035,268 +6195,296 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Atvainojiet, <%s> nav derīgs parametrs"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, fuzzy, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 "Karšu kopa <%s> GRASS novietojumā <%s> neeksistē. Jaunu karšu kopu var "
 "izveidot ar '-c' parametru."
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 "Nebija iespējams izveidot jaunu novietojumu. Novietojums <%s> jau eksistē."
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
+"Grafiskajā vidē bija pieprasīta iziešana.\n"
+"GRASS GIS netiks startēts."
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr ""
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
-msgstr ""
-
-#: ../lib/init/grass.py:810
+#: ../lib/init/grass.py:1101
 msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:815
-#, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
-msgstr ""
-
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1170
 #, python-format
 msgid "Path '%s' doesn't exist"
 msgstr "Ceļš '%s' neeksitē"
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
+msgstr "Ceļš '%s' nav pieejams."
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
+msgstr "Jūs neesat '%s' īpašnieks."
+
+#: ../lib/init/grass.py:1185
+#, python-format
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
+msgstr ""
+
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 msgid "Building user fontcap..."
 msgstr ""
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
+#: ../lib/init/grass.py:1276
+msgid "The SHELL variable is not set"
 msgstr ""
 
-#: ../lib/init/grass.py:965
-msgid "The SHELL variable is not set"
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
 msgstr ""
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
+#: ../lib/init/grass.py:1330
 #, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+msgid "Executing <%s> ..."
+msgstr "Izpilda <%s>...."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Pieslēgšanās izgāzusies\n"
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Pieslēgšanās izgāzusies\n"
+
+#: ../lib/init/grass.py:1371
+msgid "Unable to close GUI. {}"
+msgstr "Nevar aizvērt GUI. {}"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, fuzzy, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr "Laipni lūdzam GRASS %s"
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr "GRASS GIS mājas lapa:"
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr "Šo versiju darbina"
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr "Palīdzība ir pieejama ar komandu:"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr "Licences informācija ir pieejama:"
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr "Ja nepieciešams, grafisko vidi var pārstartēt ar:"
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr "Grafiskās vides startēšana: "
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr "Lai izietu, izpildiet:"
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 #, fuzzy
 msgid "2D and 3D raster MASKs present"
 msgstr "[Ir rastra MASKa]"
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 #, fuzzy
 msgid "Raster MASK present"
 msgstr "[Ir rastra MASKa]"
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 #, fuzzy
 msgid "3D raster MASK present"
 msgstr "[Ir rastra MASKa]"
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
+#: ../lib/init/grass.py:1561
+msgid "Done."
+msgstr "Pabeigts."
 
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
+#: ../lib/init/grass.py:1563
 msgid "Goodbye from GRASS GIS"
 msgstr "Uz redzēšanos"
 
-#: ../lib/init/grass.py:1188
-msgid "Done."
-msgstr "Pabeigts."
-
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr "Satīra pagaidu failus..."
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Parametrs <%s> nav atbalstīts"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr "Startē GRASS GIS..."
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr "Startē <%s> grafisko vidi fona režīmā. Lūdzu uzgaidiet..."
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, python-format
 msgid "Failed to start shell '%s'"
 msgstr ""
@@ -6766,8 +6954,8 @@ msgstr "neiespējami rakstīt quant failu!"
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6871,10 +7059,10 @@ msgstr "neiespējami atrast [%s] iekš [%s]"
 msgid "conditions failed"
 msgstr "Pieslēgšanās izgāzusies\n"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6906,7 +7094,7 @@ msgstr "Nevar atvērt 'temp'/pagaidu failu"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -6927,22 +7115,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr ""
@@ -6969,7 +7157,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "Vect_write_line() šim formātam/līmenim nav atbalstīta"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 #, fuzzy
 msgid "Attempt to read dead line"
 msgstr "Nevar atvērt 'temp'/pagaidu failu"
@@ -6984,17 +7172,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Nevar atvērt 'temp'/pagaidu failu"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Nevar nolasīt histogrammu priekš [%s no %s]"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "Neiespējami atvērt failu %s iekš %s"
@@ -7012,17 +7200,17 @@ msgstr "Slāņa indekss ārpus robežām"
 msgid "Category index out of range"
 msgstr "Slāņa indekss ārpus robežām"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Kļūdu rakstīšana ārpus telpisko datu index faila.\n"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr ""
@@ -7053,7 +7241,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr ""
@@ -7148,7 +7336,7 @@ msgstr "Laukumu apvienošana bija nesekmīga"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7185,95 +7373,111 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr "Nevar nolasīt histogrammu priekš [%s no %s]"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Neiespējami atvērt failu %s iekš %s"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Neiespējami atvērt failu %s iekš %s"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, fuzzy, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Neiespējami atvērt failu %s iekš %s"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Neiespējami atvērt failu %s iekš %s"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 #, fuzzy
 msgid "Vector map name is not SQL compliant"
 msgstr "Kartes nosaukums nav SQL savietojams."
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, fuzzy, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, fuzzy, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, fuzzy, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, fuzzy, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Neiespējami atvērt failu %s iekš %s"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, fuzzy, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Niespējami izveidot atkarību failu [%s iekš %s]"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, fuzzy, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, fuzzy, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, fuzzy, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, fuzzy, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, fuzzy, c-format
 msgid "Unable to open directory '%s'"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, fuzzy, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, fuzzy, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/vector/Vlib/map.c:487
+#: ../lib/vector/Vlib/map.c:528
 #, fuzzy, c-format
-msgid "Unable to remove directory '%s'"
+msgid "Unable to remove directory '%s': %s"
 msgstr "neispējami mainīt direktoriju uz %s"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7298,19 +7502,19 @@ msgstr "%s līnijas: %d"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7346,7 +7550,7 @@ msgstr "nezināns interpolācijas tips"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr ""
@@ -7399,135 +7603,205 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, c-format
-msgid "Unable to close cursor %s"
-msgstr "Nevar aizvērt kursoru %s"
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Tiek veidots grafs..."
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-#, fuzzy
-msgid "for this format/level not supported"
-msgstr "Vect_write_line() šim formātam/līmenim nav atbalstīta"
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Nav iespējams izveidot tīkla grafu"
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "Pieprasītais formāts nav pieejams/iekļauts šijā versijā"
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "Ieejas vektors '%s' nav atrasts"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "Nevar atvērt vēsturi vektoram '%s'"
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Nevar atvērt datubāzi %s"
 
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "Slāņa indekss ārpus robežām"
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "Dubulto atribūtu indekss ārpus diapazona"
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "Dubulto atribūtu indekss ārpus diapazona"
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, fuzzy, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Nevar atvērt datubāzi %s"
 
-#: ../lib/vector/Vlib/read.c:272
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Isle index is out of range"
-msgstr "Slāņa indekss ārpus robežām"
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Nevar atvērt topo failu rakstīšanai: %s\n"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Tiek veidots grafs..."
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Nav iespējams izveidot tīkla grafu"
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
+#: ../lib/vector/Vlib/net_build.c:432
+#, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, fuzzy, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "Nevar atvērt datubāzi %s"
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Nevar atvērt topo failu rakstīšanai: %s\n"
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:222
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
 #, fuzzy
 msgid "Registering arcs..."
 msgstr "Saglabājam/reģistrējam līnijas"
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+#, fuzzy
+msgid "Flattening the graph..."
+msgstr "Veidojam topoloģiju... \n"
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Grafs ir izveidots"
+
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
 "(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:885
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, backword direction) not "
 "found(direction of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:934
 #, fuzzy
 msgid "Cannot add network arc"
 msgstr "Nevar atvērt topo failu rakstīšanai: %s\n"
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:412
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
+msgid "Unable to close cursor %s"
+msgstr "Nevar aizvērt kursoru %s"
 
-#: ../lib/vector/Vlib/net.c:441
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
 #, fuzzy
-msgid "Flattening the graph..."
-msgstr "Veidojam topoloģiju... \n"
+msgid "for this format/level not supported"
+msgstr "Vect_write_line() šim formātam/līmenim nav atbalstīta"
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Grafs ir izveidots"
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "Pieprasītais formāts nav pieejams/iekļauts šijā versijā"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "dglShortestPath kļūda: %s"
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "Ieejas vektors '%s' nav atrasts"
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr ""
-"Nebija iespējams izveidot jaunu novietojumu. Novietojums <%s> jau eksistē."
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "Nevar atvērt vēsturi vektoram '%s'"
+
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "Slāņa indekss ārpus robežām"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "Dubulto atribūtu indekss ārpus diapazona"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "Dubulto atribūtu indekss ārpus diapazona"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "Slāņa indekss ārpus robežām"
 
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
@@ -7655,7 +7929,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7664,7 +7938,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7678,7 +7952,7 @@ msgstr ""
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, fuzzy, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr "nezināns interpolācijas tips"
@@ -7708,7 +7982,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 msgid "Unable to open PG file"
 msgstr ""
 
@@ -7882,8 +8156,8 @@ msgstr "Nepareizu robežu skaits   :   %d\n"
 msgid "Number of redundant holes: %d"
 msgstr "Robežu skaits:   %d\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr ""
@@ -7983,38 +8257,38 @@ msgstr "Laukumu skaits     :   -\n"
 msgid "Number of isles: -"
 msgstr "'Salu' skaits     :   -\n"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "neispējami mainīt direktoriju uz %s"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 #, fuzzy
 msgid "Error writing out topo file"
 msgstr "Kļūdu raskrīšana ārpus topo faila.\n"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "Nevar izdzēst līniju, karte '%s' karte nav atvērta līmenī 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "Parametrs <%s> nav atbalstīts"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 #, fuzzy
 msgid "Error writing out spatial index file"
 msgstr "Kļūdu rakstīšana ārpus telpisko datu index faila.\n"
@@ -8187,63 +8461,63 @@ msgstr "Neatbalstīts vektoru kartes formāts (%d)"
 msgid "Boundary is not closed. Skipping."
 msgstr "Robeža nav noslēgta. Izlaižam."
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "Pirmatnējo/vienkāršo datu skaits:   %d\n"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Veidojam topoloģiju... \n"
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Nevar nolasīt histogrammu priekš [%s no %s]"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Nevar atvērt topo failu rakstīšanai: %s\n"
@@ -8253,7 +8527,7 @@ msgstr "Nevar atvērt topo failu rakstīšanai: %s\n"
 msgid "Unable to rewrite feature %d"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Nederīgs mezgla ID: %d"
@@ -8515,14 +8789,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Pieslēgšanās izgāzusies\n"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Pieslēgšanās izgāzusies\n"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8727,52 +9008,52 @@ msgstr "Noklusējuma dzinējs nav iestatīts"
 msgid "Default database is not set"
 msgstr "Noklusējuma datubāze nav iestatīta"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Pieprasītā dbsaite %d, maksimāli iespējamo saišu skaits %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "Nevar atvērt OGR DBMI dzinēju"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, fuzzy, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 " Tikai %d%% no loga ir saglabāts \"%s\" pārklājuma ar tekošo GRASS logu."
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr "GRASS nav kompilēts ar PostgreSQL atbalstu"
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 msgid "Unknown vector map format"
 msgstr "Nezināms vektordatu kartes formāts"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 
@@ -8846,105 +9127,105 @@ msgstr "Vektoru karte <%s> pašreizējā karšu kopā nav atrasta"
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr ""
 "Nav iespējams izveidot vektoru karti <%s>. Nosaukums nav SQL savietojams"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "Vect_write_line() šim formātam/līmenim nav atbalstīta"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 msgid "Unable to open OGR file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9012,89 +9293,89 @@ msgstr "Pieslēgšanās izgāzusies\n"
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Pieslēgšanās izgāzusies\n"
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Nevar pievienot datubāzes saiti"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, fuzzy, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr "nezināns interpolācijas tips"
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "nezināns interpolācijas tips"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Bez centroīdiem esošu laukumu skaits :   %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, fuzzy, c-format
 msgid "Isle %d without boundary detected"
 msgstr "Bez centroīdiem esošu laukumu skaits :   %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Neiespējami atvērt failu %s iekš %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, fuzzy, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr "nezināns interpolācijas tips"
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, fuzzy, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr "nezināns interpolācijas tips"
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, fuzzy, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr "nezināns interpolācijas tips"
@@ -9161,15 +9442,33 @@ msgstr "%d līnija nav robeža"
 msgid "Topology info not available for feature %d"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "dglShortestPath kļūda: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+"Nebija iespējams izveidot jaunu novietojumu. Novietojums <%s> jau eksistē."
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr ""
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Nederīgs mezgla ID: %d"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, c-format
 msgid "Creating field <%s> failed"
@@ -9217,228 +9516,84 @@ msgstr ""
 msgid "Unable to create field <%s>"
 msgstr ""
 
-#, fuzzy
-#~ msgid "Unable to restore feature/offset %lu in vector map <%s>"
-#~ msgstr "Nevar atvērt vēsturi vektoram '%s'"
+#~ msgid ""
+#~ "Path '%s' not accessible\n"
+#~ "and you are not the owner of it."
+#~ msgstr ""
+#~ "Ceļš '%s' nav pieejams\n"
+#~ "un jūs neesat tā īpašnieks."
 
 #, fuzzy
 #~ msgid "Out of memmory"
 #~ msgstr "Neiespējami piešķirt atmiņu\n"
 
 #, fuzzy
-#~ msgid "ERROR: option <%s>: <%s> exists.\n"
-#~ msgstr "Kļūda: opcija/pazīme <%s>: <%s> jau eksistē.\n"
-
-#~ msgid "Hit RETURN to continue"
-#~ msgstr "Spied ENTER, lai turpinātu"
-
-#, fuzzy
-#~ msgid "Vector map <%s> is not opened on topology level"
-#~ msgstr "Vektoru karte <%s> nav atvērta"
-
-#~ msgid "Attributes for category %d not found"
-#~ msgstr "Kategorijai %d atribūti nav atrasti"
-
-#~ msgid "Category must be integer"
-#~ msgstr "Kategorijai ir jābūt veselam skaitlim"
-
-#~ msgid "Memory error in writing timestamp"
-#~ msgstr "Laika zīmoga rakstīšanas atmiņas kļūda"
-
-#~ msgid "Illegal TimeStamp string"
-#~ msgstr "Nederīgs laika zīmoga teksts"
-
-#~ msgid "Cannot fetch row"
-#~ msgstr "Nevar saņemt rindu"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "Ieejas vektors '%s' nav atrasts"
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "neispējami mainīt direktoriju uz %s"
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "neispējami mainīt direktoriju uz %s"
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Ievades rastra faila nosaukums"
-
-#, fuzzy
-#~ msgid "DB connection <%s/%s> already exists and will be overwritten"
-#~ msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
-
-#, fuzzy
 #~ msgid ""
-#~ "DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
-#~ "overwrite existing settings."
-#~ msgstr "Vektors '%s' jau eksistē un tiks pārrakstīts."
-
-#, fuzzy
-#~ msgid "Illegal n-s resolution value <%lf>"
-#~ msgstr "Neatļauta n-s izšķirtspējas vērtība"
-
-#, fuzzy
-#~ msgid "Unable to mogrify sql statement. "
-#~ msgstr "neispējami mainīt direktoriju uz %s"
-
-#, fuzzy
-#~ msgid "Unable to check table. "
-#~ msgstr "Neiespējami atvērt failu %s iekš %s"
-
-#, fuzzy
-#~ msgid "Unable to execute sql statement. "
-#~ msgstr "neiespējami izpildīt komandu"
-
-#, fuzzy
-#~ msgid "Unable to fetch one. "
-#~ msgstr "neiespējami atrast [%s]"
-
-#, fuzzy
-#~ msgid "Unable to fetch all. "
-#~ msgstr "Neiespējami atvērt failu %s iekš %s"
-
-#, fuzzy
-#~ msgid "Unable to execute transaction. "
-#~ msgstr "neiespējami izpildīt komandu"
+#~ "Unable to mogrify sql statement. There is no temporal database connection "
+#~ "defined for mapset <%(mapset)s>"
+#~ msgstr "neispējami atvērt datumu tabulas failu: %s"
 
 #, fuzzy
-#~ msgid "Merging empty map lists"
-#~ msgstr "Lauku atdalītājs"
-
-#, fuzzy
-#~ msgid "Space time datasets to merge must have the same temporal type"
-#~ msgstr "neiespējami atvērt rastra karti [%s iekš %s]"
-
-#, fuzzy
-#~ msgid "Unable to read line of feature %i"
-#~ msgstr "Nevar atvērt 'temp'/pagaidu failu"
-
-#, fuzzy
-#~ msgid "Unable to read area with id %i"
-#~ msgstr "Neiespējami atvērt failu %s iekš %s"
-
-#, fuzzy
-#~ msgid "Error uncompressing raster data for row %d of <%s>"
-#~ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
-
-#, fuzzy
-#~ msgid "Error reading null data for row %d of <%s>"
-#~ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
-
-#, fuzzy
-#~ msgid "Error uncompressing null data for row %d of <%s>"
-#~ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
-
-#, fuzzy
-#~ msgid "Error writing compressed null data for row %d of <%s>"
-#~ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
-
-#, fuzzy
-#~ msgid "Compression with %s is not supported"
-#~ msgstr "Parametrs <%s> nav atbalstīts"
-
-#, fuzzy
-#~ msgid "Raster map <%s> does not exist in the current mapset (%s)"
-#~ msgstr ""
-#~ "Defekts: atteikts papildināt karti,kura nav tekošajā karšu komplektā."
-
-#, fuzzy
-#~ msgid "Fail of initial read of compressed null file [%s in %s]"
-#~ msgstr "Izgāzusies arhivētā faila lasīšanas inicializācija [%s iekš %s]"
-
-#, fuzzy
-#~ msgid "initial GRASS Location"
-#~ msgstr "KĻŪDA: <%s> nav derīgs GRASS novietojums"
-
-#, fuzzy
-#~ msgid ""
-#~ "Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset "
-#~ "can be created by '-c' switch."
-#~ msgstr ""
-#~ "Karšu kopa <%s> GRASS novietojumā <%s> neeksistē. Jaunu karšu kopu var "
-#~ "izveidot ar '-c' parametru."
-
 #~ msgid ""
-#~ "Exit was requested in GUI.\n"
-#~ "GRASS GIS will not start. Bye."
-#~ msgstr ""
-#~ "Grafiskajā vidē bija pieprasīta iziešana.\n"
-#~ "GRASS GIS netiks startēts."
-
-#~ msgid "Path '%s' not accessible."
-#~ msgstr "Ceļš '%s' nav pieejams."
-
-#~ msgid "You are not the owner of '%s'."
-#~ msgstr "Jūs neesat '%s' īpašnieks."
-
-#~ msgid "Executing <%s> ..."
-#~ msgstr "Izpilda <%s>...."
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "neispējami atvērt datumu tabulas failu: %s"
 
 #, fuzzy
 #~ msgid ""
-#~ "Execution of <{cmd}> failed:\n"
-#~ "{error}"
-#~ msgstr "Pieslēgšanās izgāzusies\n"
+#~ "Unable to execute sql statement. There is no temporal database connection "
+#~ "defined for mapset <%(mapset)s>"
+#~ msgstr "neispējami atvērt datumu tabulas failu: %s"
 
 #, fuzzy
-#~ msgid "Execution of <%s> finished."
-#~ msgstr "Pieslēgšanās izgāzusies\n"
-
-#~ msgid "Unable to close GUI. {}"
-#~ msgstr "Nevar aizvērt GUI. {}"
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
 #, fuzzy
-#~ msgid "Unable to create '%s': %s"
-#~ msgstr "Neiespējami atvērt failu %s iekš %s"
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
 #, fuzzy
-#~ msgid "Unable to copy '%s': %s"
-#~ msgstr "Neiespējami atvērt failu %s iekš %s"
+#~ msgid ""
+#~ "Unable to execute transaction. There is no temporal database connection "
+#~ "defined for mapset <%(mapset)s>"
+#~ msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
 #, fuzzy
-#~ msgid "Unable to drop table <%s>"
-#~ msgstr "Neiespējami atvērt failu %s iekš %s"
+#~ msgid "Error writing uncompressed FP data for row %d of <%s>"
+#~ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 
 #, fuzzy
-#~ msgid "Unable to remove directory '%s': %s"
-#~ msgstr "neispējami mainīt direktoriju uz %s"
+#~ msgid "Error writing compressed FP data for row %d of <%s>"
+#~ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
 
 #, fuzzy
-#~ msgid "Turntable column <%s> not found in table <%s>"
-#~ msgstr "Nevar atvērt datubāzi %s"
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "neispējami atrast pagaidu null failu: %s"
 
 #, fuzzy
-#~ msgid "Cannot add network arc for virtual node connection."
-#~ msgstr "Nevar atvērt topo failu rakstīšanai: %s\n"
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: neispējami atvērt failu %s"
 
 #, fuzzy
-#~ msgid "Cannot add network arc representing turn."
-#~ msgstr "Nevar atvērt topo failu rakstīšanai: %s\n"
+#~ msgid "Unable to restore feature/offset %lu in vector map <%s>"
+#~ msgstr "Nevar atvērt vēsturi vektoram '%s'"
 
 #, fuzzy
-#~ msgid ""
-#~ "Execution failed: %s (...)\n"
-#~ "Reason: %s"
-#~ msgstr "Pieslēgšanās izgāzusies\n"
-
-#~ msgid ""
-#~ "Path '%s' not accessible\n"
-#~ "and you are not the owner of it."
-#~ msgstr ""
-#~ "Ceļš '%s' nav pieejams\n"
-#~ "un jūs neesat tā īpašnieks."
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Nederīgs mezgla ID: %d"
 
 #, fuzzy
-#~ msgid "Error writing uncompressed FP data for row %d of <%s>"
-#~ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Atvainojiet, <%s> nav derīgs parametrs"
 
 #, fuzzy
-#~ msgid "Error writing compressed FP data for row %d of <%s>"
-#~ msgstr "kļūda nolasot %smap [%s] karšu biblotēkā [%s], līnija %d"
+#~ msgid "ERROR: option <%s>: <%s> exists.\n"
+#~ msgstr "Kļūda: opcija/pazīme <%s>: <%s> jau eksistē.\n"
 
 #, fuzzy
 #~ msgid "Unable to allocate stream"
@@ -9477,3 +9632,45 @@ msgstr ""
 #, fuzzy
 #~ msgid "Unable to open <%s>"
 #~ msgstr "Neiespējami atvērt failu %s iekš %s"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Neiespējami atvērt failu %s iekš %s"
+
+#~ msgid "Hit RETURN to continue"
+#~ msgstr "Spied ENTER, lai turpinātu"
+
+#, fuzzy
+#~ msgid "Vector map <%s> is not opened on topology level"
+#~ msgstr "Vektoru karte <%s> nav atvērta"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Ievades rastra faila nosaukums"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "Ieejas vektors '%s' nav atrasts"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "neispējami mainīt direktoriju uz %s"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "neispējami mainīt direktoriju uz %s"
+
+#~ msgid "Attributes for category %d not found"
+#~ msgstr "Kategorijai %d atribūti nav atrasti"
+
+#~ msgid "Category must be integer"
+#~ msgstr "Kategorijai ir jābūt veselam skaitlim"
+
+#~ msgid "Memory error in writing timestamp"
+#~ msgstr "Laika zīmoga rakstīšanas atmiņas kļūda"
+
+#~ msgid "Illegal TimeStamp string"
+#~ msgstr "Nederīgs laika zīmoga teksts"
+
+#~ msgid "Cannot fetch row"
+#~ msgstr "Nevar saņemt rindu"
diff --git a/locale/po/grasslibs_ml.po b/locale/po/grasslibs_ml.po
index e3bc712..fc0eea7 100644
--- a/locale/po/grasslibs_ml.po
+++ b/locale/po/grasslibs_ml.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_ml\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2010-08-24 11:31+0530\n"
 "Last-Translator: Mohammed Rashad <rashadkm at gmail.com>\n"
 "Language-Team: GRASS Malayalam Translation Team <rashadkm at gmail.com>\n"
@@ -28,33 +28,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr ""
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "ഡ്രയ്വ്വർ തുടങ്ങാൻ സാധിക്കുന്നില്ല <%s>"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "ഡ്രയ്വ്വർ തുടങ്ങാൻ സാധിക്കുന്നില്ല <%s>"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -87,7 +82,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "<%s> മാപ്പ്സെറ്റിൽ <%s>"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "<%s> മാപ്പ്സെറ്റിൽ <%s>"
@@ -99,7 +94,7 @@ msgstr "<%s> മാപ്പ്സെറ്റിൽ <%s>"
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -132,7 +127,7 @@ msgstr ""
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -160,8 +155,8 @@ msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -222,21 +217,33 @@ msgstr "തുറക്കാൻ പറ്റുന്നില്ല <%s>"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, fuzzy, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "ഗ്രാസ്സിലേക്ക് കയറുന്ന ഫയലിൽ പിശക്"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "ഈ ടേബിൾ <%s> ഡേറ്റാബേയ്സിൽ ഉണ്ട് <%s>"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "ഈ ടേബിൾ <%s> ഡേറ്റാബേയ്സിൽ ഉണ്ട് <%s>"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -397,8 +404,10 @@ msgstr "ഡ്രയ്വ്വർ തുടങ്ങാൻ സാധിക്
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -410,45 +419,45 @@ msgstr "ഡേറ്റാബേയ്സ് <%s> തുറക്കൻ പറ
 msgid "Unable to get list tables in database <%s>"
 msgstr "ടേബിലിന്റെ പട്ടിക ഡേറ്റാബേയ്സിൽ നിന്ന് വായിക്കാൻ പട്ടുന്നില്ല <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "ഈ ടേബിൾ <%s> ഡേറ്റാബേയ്സിൽ ഉണ്ട് <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "ഈ ടേബിൾ <%s> ഡേറ്റാബേയ്സിൽ ഉണ്ട് <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "കളം <%s> അക്കമല്ല"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "കളം കണ്മനില്ല <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "കളത്തിന്റെ തരത്തിൽ പിശക് (കളം <%s>)"
@@ -519,6 +528,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr ""
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -840,209 +853,209 @@ msgstr ""
 msgid "Category value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 msgid "Coordinates"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "തെറ്റ്: നിലവിലുള്ള മാപ്പ്സെറ്റിലില്ലാത്ത മാപ്പിനെ മാറ്റം വരുത്താൻ ശ്രമിക്കുന്നു"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "തെറ്റ്: നിലവിലുള്ള മാപ്പ്സെറ്റിലില്ലാത്ത മാപ്പിനെ മാറ്റം വരുത്താൻ ശ്രമിക്കുന്നു"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 msgid "Name of the output space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 msgid "Name of the input space time vector dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 msgid "Name of the input space time vector datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 msgid "Name of the output space time vector dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "തെറ്റ്: നിലവിലുള്ള മാപ്പ്സെറ്റിലില്ലാത്ത മാപ്പിനെ മാറ്റം വരുത്താൻ ശ്രമിക്കുന്നു"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 msgid "Type of the input map"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1069,7 +1082,7 @@ msgid "SYNOPSIS"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr ""
 
@@ -1089,7 +1102,7 @@ msgid "Quiet module output"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr ""
 
@@ -1192,7 +1205,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr ""
 
@@ -1267,7 +1280,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr ""
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr ""
@@ -1348,17 +1361,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr ""
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "ഗ്രൂപ്പ് <%s> കാലിയാണ്‌ \n"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr ""
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr ""
@@ -1534,6 +1547,11 @@ msgstr ""
 msgid "Duplicate compressed field"
 msgstr ""
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1580,22 +1598,22 @@ msgstr ""
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
@@ -1778,8 +1796,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr ""
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1838,6 +1857,10 @@ msgstr ""
 msgid "Invalid coordinates"
 msgstr ""
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr ""
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr ""
@@ -1902,147 +1925,147 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr ""
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr ""
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 msgid "ERROR"
 msgstr ""
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr ""
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr ""
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr ""
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> മാപ്പ്സെറ്റിൽ <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
 "\tPresented as: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
 "\tLegal range: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
 "\tValid options: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
 "\t(%s)"
 msgstr ""
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
 "\tYou provided %d item(s): %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, c-format
 msgid "%s= is not a separator option"
 msgstr ""
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, c-format
 msgid "No separator given for %s="
 msgstr ""
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, c-format
 msgid "%s= is not a file option"
 msgstr ""
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
@@ -2557,7 +2580,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr ""
 
@@ -2579,11 +2603,13 @@ msgid "Loading data from attribute table ..."
 msgstr ""
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
@@ -2770,7 +2796,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr ""
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -2882,8 +2908,8 @@ msgstr "യുണിറ്റ് ഫക്റ്റെർ നല്കുക"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3426,6 +3452,30 @@ msgstr ""
 msgid "Failed to initialize Cairo surface"
 msgstr ""
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3666,11 +3716,11 @@ msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്ന
 msgid "Creating a new space time %s dataset"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -3861,29 +3911,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr ""
@@ -4042,20 +4092,20 @@ msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാന
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "വെക്റ്റർ ഡേറ്റാബേയ്സ് ഫയൽ തുറക്കാൻ പറ്റുന്നില്ല '%s'"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4064,7 +4114,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "വെക്റ്റർ ഡേറ്റാബേയ്സ് ഫയൽ തുറക്കാൻ പറ്റുന്നില്ല '%s'"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4072,12 +4122,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "വെക്റ്റർ ഡേറ്റാബേയ്സ് ഫയൽ തുറക്കാൻ പറ്റുന്നില്ല '%s'"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4085,49 +4135,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "തുറക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "വെക്റ്റർ ഡേറ്റാബേയ്സ് ഫയൽ തുറക്കാൻ പറ്റുന്നില്ല '%s'"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "താല്ക്കാലിക ഫയൽ തുറക്കാൻ പറ്റുന്നില്ല"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "വെക്റ്റർ അടയ്ക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "താല്ക്കാലിക ഫയൽ തുറക്കാൻ പറ്റുന്നില്ല"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4135,14 +4173,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "താല്ക്കാലിക ഫയൽ തുറക്കാൻ പറ്റുന്നില്ല"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4269,7 +4307,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4384,63 +4422,63 @@ msgid ""
 "%s"
 msgstr "ഈ ടേബിൾ <%s> ഡേറ്റാബേയ്സിൽ ഉണ്ട് <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
@@ -4464,7 +4502,7 @@ msgid "Error computing map <%s>"
 msgstr ""
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
@@ -4490,75 +4528,99 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr ""
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 msgid "Wrong type of input "
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
@@ -4573,12 +4635,12 @@ msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്ന
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
@@ -4631,7 +4693,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4646,7 +4708,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4654,88 +4720,96 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "വെക്റ്റർ അടയ്ക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "ഈ ടേബിൾ <%s> ഡേറ്റാബേയ്സിൽ ഉണ്ട് <%s>"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "അസാധുവായ ടേബിൾ മാപ്പിന്റെ പേർ <%s> '.' ഉണ്ടാകാൻ പാടില്ല \n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "അസാധുവായ ടേബിൾ മാപ്പിന്റെ പേർ <%s> ഈ അക്ഷരം അനുവദിക്കുന്നതല്ല <%c> \n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr ""
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "color"
 msgstr ""
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr ""
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4778,74 +4852,74 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 msgid "Error executing: Rast_set_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "ഈ ടേബിൾ <%s> ഡേറ്റാബേയ്സിൽ ഉണ്ട് <%s>"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, python-format
 msgid "Index out of range: %r."
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "ഈ ടേബിൾ <%s> ഡേറ്റാബേയ്സിൽ ഉണ്ട് <%s>"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "ഗ്രൂപ്പ് <%s> കാലിയാണ്‌ \n"
@@ -4854,19 +4928,33 @@ msgstr "ഗ്രൂപ്പ് <%s> കാലിയാണ്‌ \n"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -4882,24 +4970,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "തിരിച്ചരിയൻ പറ്റാത്ത ഇന്റെർപൊലെഷൻ"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
@@ -5023,51 +5127,46 @@ msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr ""
 
+#: ../lib/raster/put_row.c:486
+msgid "GDAL output doesn't support writing null rows separately"
+msgstr ""
+
 #: ../lib/raster/put_row.c:489
 #, c-format
 msgid "No null file for <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:503
-msgid "GDAL output doesn't support writing null rows separately"
-msgstr ""
-
-#: ../lib/raster/put_row.c:523
-#, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
-
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "ദറ്റും പട്ടികയിലെ <%s> വരിയിൽ പിശക്, %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr ""
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr ""
 
@@ -5163,7 +5262,7 @@ msgstr ""
 msgid "Unable to open GDAL file"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, c-format
 msgid "Invalid map type <%d>"
 msgstr ""
@@ -5229,6 +5328,21 @@ msgstr "ഡേറ്റാബേയ്സ് <%s> തുറക്കൻ പറ
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr ""
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr ""
@@ -5309,135 +5423,140 @@ msgstr ""
 msgid "Rast_set_null_value: wrong data type!"
 msgstr ""
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, c-format
 msgid "Invalid descriptor: %d"
 msgstr ""
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr ""
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
 "%s> which does not exist"
 msgstr ""
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
+msgid "Compression with %s is not supported"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr ""
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr ""
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr ""
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, c-format
 msgid "No temp files available: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "തെറ്റ്: നിലവിലുള്ള മാപ്പ്സെറ്റിലില്ലാത്ത മാപ്പിനെ മാറ്റം വരുത്താൻ ശ്രമിക്കുന്നു"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, c-format
 msgid "Missing type: field in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5466,11 +5585,16 @@ msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr ""
 
+#: ../lib/raster/format.c:176
+#, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr ""
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5783,124 +5907,158 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 msgid "WARNING"
 msgstr ""
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "ചതുരയളവ് പണിയുന്നു..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 msgid "Usage"
 msgstr ""
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 msgid "and set as default"
 msgstr ""
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/init/grass.py:219
-msgid "initial location"
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:345
+msgid "initial GRASS Location"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
+msgstr ""
+
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr ""
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -5910,263 +6068,290 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
+#: ../lib/init/grass.py:820
 #, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
 msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:823
 #, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
+
+#: ../lib/init/grass.py:827
+#, python-format
+msgid ""
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr ""
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
+msgstr ""
+
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "ചതുരയളവ് പണിയുന്നു..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
+#: ../lib/init/grass.py:1276
+msgid "The SHELL variable is not set"
 msgstr ""
 
-#: ../lib/init/grass.py:965
-msgid "The SHELL variable is not set"
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
 msgstr ""
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "ചതുരയളവ് പണിയുന്നു..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "കണക്ഷൻ നിർവീര്യമായി."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "വെക്റ്റർ അടയ്ക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr ""
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
+#: ../lib/init/grass.py:1561
+msgid "Done."
 msgstr ""
 
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
+#: ../lib/init/grass.py:1563
 msgid "Goodbye from GRASS GIS"
 msgstr ""
 
-#: ../lib/init/grass.py:1188
-msgid "Done."
-msgstr ""
-
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr ""
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "ഡ്രയ്വ്വർ തുടങ്ങാൻ സാധിക്കുന്നില്ല <%s>"
@@ -6624,8 +6809,8 @@ msgstr ""
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6723,10 +6908,10 @@ msgstr "ബഹുഭുജക്ഷേത്രത്തിൽ ബിന്ദ
 msgid "conditions failed"
 msgstr "നിബന്ദനകളിൽ പാളിച്ച"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6759,7 +6944,7 @@ msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാ
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -6780,22 +6965,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr ""
@@ -6820,7 +7005,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr ""
 
@@ -6834,17 +7019,17 @@ msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
@@ -6862,16 +7047,16 @@ msgstr ""
 msgid "Category index out of range"
 msgstr "തരം അക്കമായിരിക്കണം"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 msgid "Error writing out category index file"
 msgstr ""
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr ""
@@ -6902,7 +7087,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "OGR ഡേറ്റയുടെ ഉറവിടം തുറക്കാൻ പറ്റുന്നില്ല '%s'"
@@ -7000,7 +7185,7 @@ msgstr "pj_transform() പാഴായി പ്പോയി: %s"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7037,95 +7222,111 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "തുറക്കാൻ പറ്റുന്നില്ല <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr ""
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "ടേബിൾ കളയാൻ പറ്റുന്നില്ല: '%s'"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr ""
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
-msgstr ""
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
+msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
 #: ../lib/vector/Vlib/dangles.c:148
 msgid "Changed"
@@ -7149,19 +7350,19 @@ msgstr "വരകളുടെ എണ്ണം: %d"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7197,7 +7398,7 @@ msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
@@ -7250,131 +7451,200 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr "വെക്റ്റർ അടയ്ക്കാൻ പറ്റുന്നില്ല <%s>"
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-msgid "for this format/level not supported"
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "വെക്റ്റർ മാപ്പ് തുറന്നിട്ടില്ല"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
-
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "തരം അക്കമായിരിക്കണം"
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "കളം <%s> ടേബിളിൽ <%s> കാണ്മനില്ല"
 
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "തരം അക്കമായിരിക്കണം"
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "തരം അക്കമായിരിക്കണം"
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "തരം അക്കമായിരിക്കണം"
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "കളം <%s> ടേബിളിൽ <%s> കാണ്മനില്ല"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+msgid "Cannot add network arc for virtual node connection."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:407
 #, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "കളം <%s> ടേബിളിൽ <%s> കാണ്മനില്ല"
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:432
 #, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:465
+msgid "Cannot add network arc representing turn."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:222
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
 msgid "Registering arcs..."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
+"(cost was set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:596
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:412
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "വെക്റ്റർ അടയ്ക്കാൻ പറ്റുന്നില്ല <%s>"
+
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+msgid "for this format/level not supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
 msgstr ""
 
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "വെക്റ്റർ മാപ്പ് തുറന്നിട്ടില്ല"
+
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
+
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "തരം അക്കമായിരിക്കണം"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "തരം അക്കമായിരിക്കണം"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "തരം അക്കമായിരിക്കണം"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "തരം അക്കമായിരിക്കണം"
+
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7496,7 +7766,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7505,7 +7775,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7519,7 +7789,7 @@ msgstr ""
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7547,7 +7817,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
@@ -7719,8 +7989,8 @@ msgstr ""
 msgid "Number of redundant holes: %d"
 msgstr "അതിർത്തികളുടെ എണ്ണം: %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
@@ -7817,36 +8087,36 @@ msgstr ""
 msgid "Number of isles: -"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr ""
 
@@ -8017,63 +8287,63 @@ msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "പ്രാജീനമായതിന്റെ എണ്ണം: %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "ചതുരയളവ് പണിയുന്നു..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "ഡ്രയ്വ്വർ തുറക്കൻ പറ്റുന്നില്ല <%s>"
@@ -8083,7 +8353,7 @@ msgstr "ഡ്രയ്വ്വർ തുറക്കൻ പറ്റുന്
 msgid "Unable to rewrite feature %d"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr ""
@@ -8348,14 +8618,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "കണക്ഷൻ നിർവീര്യമായി."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "കണക്ഷൻ നിർവീര്യമായി."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8558,51 +8835,51 @@ msgstr ""
 msgid "Default database is not set"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "ലെയർ തുറക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 msgid "Unknown vector map format"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "തെറ്റ്: നിലവിലുള്ള മാപ്പ്സെറ്റിലില്ലാത്ത മാപ്പിനെ മാറ്റം വരുത്താൻ ശ്രമിക്കുന്നു"
 
@@ -8675,104 +8952,104 @@ msgstr "തെറ്റ്: നിലവിലുള്ള മാപ്പ്സ
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "തെറ്റ്: നിലവിലുള്ള മാപ്പ്സെറ്റിലില്ലാത്ത മാപ്പിനെ മാറ്റം വരുത്താൻ ശ്രമിക്കുന്നു"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "തെറ്റ്: നിലവിലുള്ള മാപ്പ്സെറ്റിലില്ലാത്ത മാപ്പിനെ മാറ്റം വരുത്താൻ ശ്രമിക്കുന്നു"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 msgid "Using native format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -8840,89 +9117,89 @@ msgstr "കണക്ഷൻ നിർവീര്യമായി."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "കണക്ഷൻ നിർവീര്യമായി."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "ടേബിലിന്റെ പട്ടിക ഡേറ്റാബേയ്സിൽ നിന്ന് വായിക്കാൻ പട്ടുന്നില്ല <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, c-format
 msgid "Area %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -8989,13 +9266,30 @@ msgstr ""
 msgid "Topology info not available for feature %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/graph.c:138
-msgid "Unable to add network arc"
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/write_ogr.c:134
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
 #, c-format
-msgid "Invalid offset (%d)"
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
+#: ../lib/vector/Vlib/graph.c:138
+msgid "Unable to add network arc"
 msgstr ""
 
 #: ../lib/vector/Vlib/write_ogr.c:239
@@ -9049,19 +9343,49 @@ msgstr "ടേബിൾ ഉണ്ടാക്കാൻ പറ്റുന്ന
 #~ msgstr "ടേബിൾ നിന്ന് ഡേറ്റ എടുക്കാൻ പറ്റുന്നില്ല <%s>"
 
 #, fuzzy
-#~ msgid "Vector map <%s> is not opened on topology level"
-#~ msgstr "വെക്റ്റർ മാപ്പ് തുറന്നിട്ടില്ല"
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "വെക്റ്റർ ഡേറ്റാബേയ്സ് ഫയൽ തുറക്കാൻ പറ്റുന്നില്ല '%s'"
 
-#~ msgid "Category must be integer"
-#~ msgstr "തരം അക്കമായിരിക്കണം"
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
-#~ msgid "Illegal TimeStamp string"
-#~ msgstr "അസാധുവായ ടൈംസ്റ്റാമ്പ്"
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "വെക്റ്റർ മാപ്പ് വായിക്കാൻ പട്ടുന്നില്ല"
 
 #, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "ഫയൽ തുറക്കൻ പറ്റുന്നില്ല %s"
+
+#, fuzzy
+#~ msgid "Vector map <%s> is not opened on topology level"
+#~ msgstr "വെക്റ്റർ മാപ്പ് തുറന്നിട്ടില്ല"
 
 #, fuzzy
 #~ msgid "Removing empty 3D raster maps"
 #~ msgstr "റാസ്റ്റെർ മാപ്പ് തുറക്കാൻ പറ്റുനില്ല <%s>"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "റാസ്റ്റെർ മാപ്പ് <%s> കണ്മാനില്ല"
+
+#~ msgid "Category must be integer"
+#~ msgstr "തരം അക്കമായിരിക്കണം"
+
+#~ msgid "Illegal TimeStamp string"
+#~ msgstr "അസാധുവായ ടൈംസ്റ്റാമ്പ്"
diff --git a/locale/po/grasslibs_pl.po b/locale/po/grasslibs_pl.po
index 51d6e0d..32ad492 100644
--- a/locale/po/grasslibs_pl.po
+++ b/locale/po/grasslibs_pl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_pl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2013-07-16 15:42+0100\n"
 "Last-Translator: Milena Nowotarska <do.milenki * gmail.com>\n"
 "Language-Team: GRASS Translation Team\n"
@@ -31,33 +31,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr "%s: Brak pliku definicji czcionki"
 
-#: ../lib/display/r_raster.c:128
-#, c-format
-msgid "%s variable defined, %s ignored"
-msgstr ""
+#: ../lib/display/r_raster.c:98
+#, fuzzy, c-format
+msgid "Both %s and %s are defined. %s will be ignored."
+msgstr "Dostarczono parametry 'where' i 'cats', cat będzie zignorowane"
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Nie można uruchomić sterownika <%s>"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Nie można uruchomić sterownika <%s>"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Nie można otworzyć pliku %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -90,7 +85,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "Kopiuj %s <%s> do bieżącego mapsetu jako <%s>"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "Kopiuj %s <%s> do bieżącego mapsetu jako <%s>"
@@ -102,7 +97,7 @@ msgstr "Kopiuj %s <%s> do bieżącego mapsetu jako <%s>"
 msgid "%s is missing"
 msgstr "%s: brakuje"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, fuzzy, c-format
 msgid "%s copied"
 msgstr "%s: skopiowane"
@@ -135,7 +130,7 @@ msgstr "Nie można zmienić nazwy <%s> na <%s>"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -163,8 +158,8 @@ msgstr "Nie można skopiować mapy wektorowej <%s> do <%s>"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -225,21 +220,33 @@ msgstr "Nie można otworzyć <%s>"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Nie można otworzyć pliku %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, fuzzy, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "Uszkodzony plik zalogowania"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Nie można usunąć pliku '%s'"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -404,8 +411,10 @@ msgstr "Nie można uruchomić sterownika <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -417,45 +426,45 @@ msgstr "Nie można otworzyć bazy danych <%s> przez sterownik <%s>"
 msgid "Unable to get list tables in database <%s>"
 msgstr "Nie można uzyskać listy tabel w bazie danych <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Tabela <%s> już istnieje w bazie danych <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Nie można otworzyć kursora wyboru: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Kolumna <%s> nie jest całkowitoliczbowa"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Kolumna <%s> nie została znaleziona"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Nie można utworzyć tabeli <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Nie można pobrać danych z tabeli <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Nieznany typ kolumny (kolumna <%s>)"
@@ -525,6 +534,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "Nie można otworzyć pliku śledzenia błędu '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -861,217 +874,217 @@ msgstr ""
 msgid "Category value"
 msgstr "Wartość kategorii"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Wartości kategorii"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Przykład: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "ID obiektu"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "ID obiektów"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr "Ścieżka do pliku wejściowego"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "Ścieżka do pliku wyjściowego"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Separator pól"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 #, fuzzy
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr "Znaki specjalne: nowa linia, spacja, przecinek, tab"
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Kolor"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Standardowa nazwa koloru GRASS albo R:G:B"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Standardowa nazwa koloru GRASS, R:G:B lub \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Ścieżka do pliku wejściowego"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Błędne współrzędne"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Nazwa wejściowej mapy wektorowej"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Nazwa kolumny atrybutów"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Nazwa(y) wejściowej mapy rastrowej"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "mapa <%s> nie znajduje się w bieżącym mapsecie"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Nazwa wyjściowej mapy rastrowej"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Nazwa mapy rastrowej wysokości"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Nazwa mapy rastrowej wysokości"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Nazwa wyjściowej mapy rastrowej"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Nazwa(y) wejściowej mapy wektorowej"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Nazwa(y) wejściowej mapy wektorowej"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Brak miejsca w tablicy wektorowej"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Nazwa wejściowej mapy rastrowej 3D"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Nazwa wejściowej mapy rastrowej 3D"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Nazwa wyjściowej mapy rastrowej 3D"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "mapa <%s> nie znajduje się w bieżącym mapsecie"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Nazwa wejściowej mapy rastrowej"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Nazwa wejściowej mapy rastrowej"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Nie można zamknąć mapy wejściowej"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Mapa rastrowa <%s> nie została znaleziona w mapsecie <%s>"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "Warunki WHERE polecenia SQL - bez 'where'"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Odczyt danych z tabeli atrybutów..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1098,7 +1111,7 @@ msgid "SYNOPSIS"
 msgstr "SKŁADNIA"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Flagi"
 
@@ -1118,7 +1131,7 @@ msgid "Quiet module output"
 msgstr "Uruchom bez komunikatów"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Parametry"
 
@@ -1221,7 +1234,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Nieznane odwzorowanie"
 
@@ -1296,7 +1309,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "UWAGA: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "BŁĄD: "
@@ -1379,17 +1392,17 @@ msgstr "System nie został zainicjalizowany. Nie wywołano G_gisinit()."
 msgid "<%s> file not found for location <%s>"
 msgstr "<%s> nie znaleziono pliku w lokacji <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: Obszar %d nie istnieje"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Nie można utworzyć elementu mapsetu %s (%s): %s"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Nie można uzyskać dostępu do elementu mapsetu %s (%s): %s"
@@ -1569,6 +1582,11 @@ msgstr "Powtórzone pole formatu"
 msgid "Duplicate compressed field"
 msgstr "Powtórzone pole kompresji"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1616,22 +1634,22 @@ msgstr "Błędne es: pole '%s' w pliku %s w <%s>"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Brak informacji o elipsoidzie w pliku %s w <%s>"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): mapset <%s> nie odpowiada xmapset <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "G_spawn: nie można otworzyć pliku %s"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: nie można otworzyć pliku %s"
@@ -1821,8 +1839,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Niedozwolona wartość rozdzielczości n-s"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1889,6 +1908,10 @@ msgstr "Wartość dla wschodu musi być większa niż dla zachodu"
 msgid "Invalid coordinates"
 msgstr "Błędne współrzędne"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Niedozwolona wartość rozdzielczości n-s"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Niedozwolona wartość rozdzielczości n-s3"
@@ -1955,78 +1978,78 @@ msgid ""
 msgstr ""
 " Tylko %d%% regionu zapisanego w \"%s\" pokrywa się z obecnym regionem GRASS."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "BUG (błąd) w opisach, opcja '%s' w <%s> nie istnieje"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "BUG (błąd) w opisach, opcja '%s' w <%s> nie istnieje"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr "Użyj albo flagi --quiet albo --verbose, ale nie obu. Użyto --verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr "Użyj albo flagi --quiet albo --verbose, ale nie obu. Użyto --quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "<%s> nie jest poprawną opcją\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "BŁĄD: "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "Nie można określić nazwy programu"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "<%c> nie jest poprawną flagą\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "<%s=> jest niejasne\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "<%s> nie jest poprawnym parametrem\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> w mapsecie <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2035,7 +2058,7 @@ msgstr ""
 "\n"
 "BŁĄD: błędna składnia zakresu dla parametru <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2044,14 +2067,14 @@ msgstr ""
 "\n"
 "BŁĄD: wartość <%s> jest poza zakresem parametru <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "BŁĄD: Brakująca wartość dla parametru <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2060,7 +2083,7 @@ msgstr ""
 "\n"
 "Błąd: wartość <%s> zajduje się poza zakresem dla parametru <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2070,7 +2093,7 @@ msgstr ""
 "BŁĄD: Wymagany parametr <%s> nie został podany:\n"
 "\t(%s)\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2079,37 +2102,37 @@ msgstr ""
 "\n"
 "BŁĄD: opcja <%s> musi być wielokrotnością %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "<%s> nie jest poprawną opcją\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Nie wskazano separatora"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "<%s> nie jest poprawną opcją\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Obiekty OGR typu %d nie są obsługiwane"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Nie można otworzyć pliku GDAL"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Nie można utworzyć tabeli <%s>"
@@ -2668,7 +2691,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Brak wolnej pamięci"
 
@@ -2690,11 +2714,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Odczyt danych z tabeli atrybutów..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Połączenie z bazą danych dla warstwy %d nie jest zdefiniowane"
@@ -2890,7 +2916,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Zapisz tablicę 2d do mapy rastrowej <%s>"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3002,8 +3028,8 @@ msgstr "Współczynnik jednostki wyjściowej"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3559,6 +3585,30 @@ msgstr "Nieznany typ powierzchni Cario"
 msgid "Failed to initialize Cairo surface"
 msgstr "Tworzenie powierzchni Cario nie powiodło się"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3805,11 +3855,11 @@ msgstr "Nie można utworzyć nagłówka pliku dla [%s]"
 msgid "Creating a new space time %s dataset"
 msgstr "Mapa rastrowa <%s> nie została znaleziona w mapsecie <%s>"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4000,28 +4050,28 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 msgid "Unable to read range file"
 msgstr "Nie można odczytać pliku zakresu"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Nie można odczytać zakresu danych mapy rastrowej 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Nie można zamknąć mapy rastrowej 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nie można otworzyć mapy wektorowej <%s>"
@@ -4180,20 +4230,20 @@ msgstr "Mapa rastrowa <%s> nie została znaleziona w mapsecie <%s>"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "Nie można otworzyć pliku definicji bazy danych wektora '%s'"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4202,7 +4252,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Nie można otworzyć pliku definicji bazy danych wektora '%s'"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4210,12 +4260,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Nie można otworzyć pliku definicji bazy danych wektora '%s'"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Typ obiektu"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4223,49 +4273,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Nie można usunąć katalogu '%s'"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nie można otworzyć pliku definicji bazy danych wektora '%s'"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Nie można utworzyć tabeli <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Nie można wykonać polecenia"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nie można otworzyć pliku nagłówka dla mapy wektorowej <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Nie można odnaleźć '%s'"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nie można otworzyć pliku nagłówka dla mapy wektorowej <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Nie można ustalić stanu pliku <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Nie można wykonać polecenia"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4273,14 +4311,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Nie można wykonać polecenia"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4407,7 +4445,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Nie można odnaleźć mapy wektorowej <%s> w <%s>"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4522,64 +4560,64 @@ msgid ""
 "%s"
 msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Nie można utworzyć pliku znacznika czasu dla mapy rastrowej <%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Nie można utworzyć pliku znacznika czasu dla mapy rastrowej <%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Niepoprawny plik histogramu dla  [%s w %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "błąd składni"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Nie można odczytać nagłówka pliku dla mapy rastrowej <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Nie można utworzyć pliku znacznika czasu dla mapy rastrowej <%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Nie można utworzyć pliku znacznika czasu dla mapy rastrowej <%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Niepoprawny plik histogramu dla  [%s w %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Nie można odczytać nagłówka pliku dla mapy rastrowej <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Nie można odczytać nagłówka pliku dla mapy rastrowej <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Niepoprawny plik histogramu dla  [%s w %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Nie można odczytać nagłówka pliku dla mapy rastrowej <%s@%s>."
@@ -4604,7 +4642,7 @@ msgid "Error computing map <%s>"
 msgstr "Błąd podczas otwierania mapy rastrowej 3D <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Nie można odnaleźć mapy wektorowej <%s> w <%s>"
@@ -4631,76 +4669,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  format: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Nazwa bazowej mapy rastrowej"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Nie można odnaleźć mapy wektorowej <%s> w <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Nazwa wejściowej mapy rastrowej"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Mapa rastrowa <%s> nie została znaleziona"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Nie można zamknąć mapy wejściowej"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Nie można odnaleźć mapy wektorowej <%s> w <%s>"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Mapa rastrowa <%s> nie została znaleziona"
@@ -4715,12 +4777,12 @@ msgstr "Nie można utworzyć pliku znacznika czasu dla mapy rastrowej <%s>."
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Nie można utworzyć mapy rastrowej <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Mapa rastrowa <%s> nie została znaleziona"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Nie można odczytać nagłówka pliku dla mapy rastrowej <%s@%s>."
@@ -4773,7 +4835,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4788,7 +4850,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Nie można odczytać danych z tabeli <%s>"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4796,46 +4862,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Nie można zamknąć mapy wejściowej "
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Niedozwolona nazwa pliku. Nazwa nie może zawierać '.' lub 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Niedozwolona nazwa pliku. Znak <%c> jest niedopuszczalny.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4844,43 +4918,43 @@ msgstr ""
 "Nie można przywrócić obiektu %d, mapa wektorowa <%s> nie jest otwarta w "
 "trybie 'zapisu'"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "brak danych"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Kolor"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "Połączenie z bazą danych nie zostało zdefiniowane dla warstwy %d"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr ""
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4925,75 +4999,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Obiekty OGR typu %d nie są obsługiwane"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Obiekty OGR typu %d nie są obsługiwane"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Obiekty OGR typu %d nie są obsługiwane"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Nazwa kolumny atrybutów"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Problem podczas czytania mapy rastrowej"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Obiekt OGR bez ID został zignorowany."
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Indeks poza zakresem w"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Tabela <%s> podłączona do mapy wektorowej <%s> nie istnieje"
@@ -5002,19 +5076,33 @@ msgstr "Tabela <%s> podłączona do mapy wektorowej <%s> nie istnieje"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Nie mozna odczytać przesunięcia linii %ld"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Nie można odczytać obiektu id %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5030,25 +5118,41 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Nieznany rodzaj interpolacji"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 "Żądanie odczytu mapy rastrowej <%s@%s> dla wiersza %d jest poza regionem"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Błąd podczas zapisu pliku indeksu kategorii <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Błąd podczas odczytu wiersza NULL %d"
@@ -5176,51 +5280,46 @@ msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Błąd podczas zapisu pliku indeksu kategorii <%s>"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Nie można otworzyć pliku nagłówka dla wektora <%s>"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "nie można znaleć tymczasowego pliku NULL: %s"
+msgid "No null file for <%s>"
+msgstr "Nie można otworzyć pliku nagłówka dla wektora <%s>"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: nie można otworzyć pliku %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "Błąd podczas czytania skompresowanej mapy <%s@%s>, rząd %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "błąd podczas zapisu zerowego wiersza %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: mapa [%s] nie jest otwarta do zapisu - request ignored"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: mapa [%s] nie jest otwarta do zapisu - request ignored"
@@ -5316,7 +5415,7 @@ msgstr "Nie można załadować biblioteki GDAL"
 msgid "Unable to open GDAL file"
 msgstr "Nie można otworzyć pliku GDAL"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, c-format
 msgid "Invalid map type <%d>"
 msgstr "Niedozwolony typ mapy <%d>"
@@ -5382,6 +5481,21 @@ msgstr "W %s nie można otworzyć pliku %s"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr "System nie został zainicjalizowany. Nie wywołano G_gisinit()"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "błąd składni"
@@ -5464,26 +5578,26 @@ msgstr "EmbedGivenNulls: błędny typ danych!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: błędny typ danych!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Niedozwolony typ mapy <%d>"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Nie można otworzyć pliku %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Nie można usunąć pliku '%s'"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "nie można zapisać pliku f_format dla map CELL"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5492,27 +5606,27 @@ msgstr ""
 "Nie można otworzyć mapy rastrowej <%s@%s> ponieważ jest ona reklasyfikacją "
 "mapy rastrowej <%s@%s>, która nie istnieje"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "Nie można otworzyć nagłówka pliku dla [%s w %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Nie można utworzyć mapy rastrowej <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "Mapa rastrowa <%s@%s>: nieprawidłowe pole formatu w pliku nagłówkowym"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Mapa rastrowa <%s> nie została znaleziona w mapsecie <%s>"
+msgid "Compression with %s is not supported"
+msgstr "Obiekty OGR typu %d nie są obsługiwane"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5521,84 +5635,89 @@ msgstr ""
 "[%s] w mapsecie [%s] - w innym odwzorowaniu niż bieżący region:\n"
 "znaleziona mapa [%s] w: <%s>, a powinno być <%s> "
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 "[%s] w mapsecie [%s] - znajduje się w innej strefie [%d] niż bieżący region "
 "[%d]"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Nie można otworzyć pliku śledzenia błędu '%s'"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Błąd podczas czytania mapy <%s@%s>, rząd %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Nie można otworzyć pliku GDAL"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Mapa rastrowa <%s> nie znajduje się w bieżącym mapsecie (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> jest niedozwoloną nazwą pliku"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "Plik koloru dla [%s] nie jest dostępny"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Mapa rastrowa <%s> nie znajduje się w bieżącym mapsecie (%s)"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Mapa rastrowa <%s> nie została znaleziona w mapsecie <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Nie można odnaleźć '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Nieprawidłowy typ: pole '%s' w pliku '%s'"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "nieprawidłowy typ: pole '%s' w pliku '%s'"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Mapa rastrowa <%s> nie jest xdr: byte_order: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5627,11 +5746,16 @@ msgstr "Nie można utworzyć mapy rastrowej <%s>"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Nie można utworzyć mapy rastrowej <%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Nieudany odczyt skompresowanego pliku [%s w %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Nieudany odczyt skompresowanego pliku [%s w %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5957,125 +6081,160 @@ msgstr "Jednoczesne blokowanie mapsetu nie jest obsługiwane w systemie Windows"
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Nie można zapisać pliku wyjściowego <%s>"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "UWAGA:"
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Ustawianie kosztów węzłów..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 msgid "Usage"
 msgstr ""
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 msgid "and set as default"
 msgstr ""
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
-msgid "initial location"
+#: ../lib/init/grass.py:345
+#, fuzzy
+msgid "initial GRASS Location"
+msgstr "<%s> nie jest poprawną opcją\n"
+
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Nie można usunąć katalogu '%s'"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Żądany format nie jest skompilowany w tej wersji"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6085,265 +6244,292 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "<%s> nie jest poprawną opcją\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr ""
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s: Obszar %d nie istnieje"
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: Obszar %d nie istnieje"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s: Obszar %d nie istnieje"
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Tworzenie obszarów..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - brak ustawień zmiennych"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Ustawianie kosztów węzłów..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Połączenie nie powiodło się."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Nie można odczytać danych z tabeli <%s>"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Nie można ustawić środka"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr ""
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "brak"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr ""
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Obiekty OGR typu %d nie są obsługiwane"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Nie można uruchomić sterownika <%s>"
@@ -6833,8 +7019,8 @@ msgstr "Nie można zapisać wysp do pliku plus"
 msgid "Computing minimum spanning tree..."
 msgstr "Oblicznie minimalnego drzewa rozpinającego (MST)..."
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "Błąd GngFlatten"
 
@@ -6937,10 +7123,10 @@ msgstr "Nie można znaleźć punktu w obszarze"
 msgid "conditions failed"
 msgstr "warunki zawiodły"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6973,7 +7159,7 @@ msgstr "Nie można ustawić kategorii %d dla linii (id obiektu %d)"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -6994,22 +7180,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Nie można przywrócić obiektu %d z mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Nie można otworzyć pliku nagłówka dla mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "Nie można otworzyć pliku nagłówkowego wektora <%s>"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Uszkodzony wiersz w nagłówku: %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Nieznane słowo kluczowe %s w nagłówku wektora"
@@ -7036,7 +7222,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "obsługiwany jest tylko format natywny"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Próba odczytu martwej linii"
 
@@ -7050,17 +7236,17 @@ msgstr "Vect_read_area_geos(): nie można odczytać obszaru id %d"
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr "Vect_read_area_geos(): nie można odczytać wyspy id %d obszaru id %d"
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Nie mozna odczytać przesunięcia linii %ld"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Próba odczytu punktów z nieistniejącego obszaru id %d"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr "Nie można odczytać obiektu id %d"
@@ -7078,17 +7264,17 @@ msgstr "Indeks warstwy jest poza zakresem"
 msgid "Category index out of range"
 msgstr "Indeks warstwy jest poza zakresem"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Nie można otworzyć pliku indeksu kategorii mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Błąd podczas zapisu pliku indeksu kategorii <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "Nie można otworzyć pliku indeksu kategorii mapy wektorowej <%s>"
@@ -7120,7 +7306,7 @@ msgstr "Obiekt OGR bez ID został zignorowany."
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Nie można otworzyć źródła danych OGR '%s'"
@@ -7223,7 +7409,7 @@ msgstr "Odczyt nie powiódł się"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7260,94 +7446,110 @@ msgstr "%s: Obszar %d nie istnieje"
 msgid "Attempt to access dead area %d"
 msgstr "Próba usunięcia martwego obiektu"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Nie można utworzyć tabeli <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Nie można skopiować tabeli <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Nie można skopiować tabeli <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Nie można skopiować tabeli <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Nazwa mapy wektorowej nie jest zgodna z SQL"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "Nie można odnaleźć mapy wektorowej <%s> w <%s>"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Nie można usunąć mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Nie można skopiować mapy wektorowej <%s> do <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Nie można skopiować tabeli <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Nie można usunąć tabeli <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Nie można utworzyć indeksu dla tabeli <%s>, klucz <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Niedozwolona nazwa mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Nie można otworzyć pliku nagłówkowego mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Nie można odnaleźć tabeli <%s> podłączonej do mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "Tabela <%s> podłączona do mapy wektorowej <%s> nie istnieje"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Nie można otworzyć katalogu '%s'"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Nie można usunąć pliku '%s'"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Nie można zmienić nazwy katalogu z '%s' na '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "Nie można usunąć katalogu '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7372,19 +7574,19 @@ msgstr "Liczba linii    :   %d"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Nie można otworzyć pliku nagłówka dla mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7420,7 +7622,7 @@ msgstr "Typ obiektu"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Nie można otworzyć pliku indeksu kategorii mapy wektorowej <%s>"
@@ -7474,6 +7676,168 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Budowanie grafu..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Nie można zbudować grafu sieci"
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Nie zdefiniowana kolumna kosztów do przodu"
+
+#: ../lib/vector/Vlib/net_build.c:156
+#, fuzzy
+msgid "Turntable field < 1"
+msgstr "Numer warstwy z odcinkami < 1"
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Kolumna <%s> nie została znaleziona w tabeli <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr "Typ danych kolumny <%s> nie jest obsługiwany (wymagane dane liczbowe)"
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "Ustawianie kosztów węzłów..."
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Kolumna <%s> nie została znaleziona w tabeli <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"Nie znaleziono wpisu bazy danych dla węzła %d (cat = %d), koszt ustawiono na "
+"0"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Nie można dodać odcinka sieci"
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"Nie znaleziono wpisu bazy danych dla węzła %d (cat = %d), koszt ustawiono na "
+"0"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Nie można dodać odcinka sieci"
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr "Numer warstwy z odcinkami < 1"
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Rejestrowanie odcinków..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"Nie znaleziono wpisu bazy danych dla linii %d (cat = %d, kierunek(ki) do "
+"przodu/w obie strony), pominięto kierunek(ki) do przodu/w obie strony tej "
+"linii"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"Nie znaleziono wpisu bazy danych dla linii %d (cat = %d, kierunek wstecz), "
+"pominęto kierunek tej linii"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Spłaszczanie grafu..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Graf został zbudowany"
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+"Nie znaleziono wpisu bazy danych dla linii %d (cat = %d, kierunek(ki) do "
+"przodu/w obie strony), pominięto kierunek(ki) do przodu/w obie strony tej "
+"linii"
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+"Nie znaleziono wpisu bazy danych dla linii %d (cat = %d, kierunek wstecz), "
+"pominęto kierunek tej linii"
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "Nie można dodać odcinka sieci"
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7523,89 +7887,6 @@ msgstr "Indeks warstwy jest poza zakresem"
 msgid "Isle index is out of range"
 msgstr "Indeks warstwy jest poza zakresem"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Budowanie grafu..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Nie można zbudować grafu sieci"
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Nie zdefiniowana kolumna kosztów do przodu"
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr "Numer warstwy z odcinkami < 1"
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "Kolumna <%s> nie została znaleziona w tabeli <%s>"
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr "Typ danych kolumny <%s> nie jest obsługiwany (wymagane dane liczbowe)"
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Rejestrowanie odcinków..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-"Nie znaleziono wpisu bazy danych dla linii %d (cat = %d, kierunek(ki) do "
-"przodu/w obie strony), pominięto kierunek(ki) do przodu/w obie strony tej "
-"linii"
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr ""
-"Nie znaleziono wpisu bazy danych dla linii %d (cat = %d, kierunek wstecz), "
-"pominęto kierunek tej linii"
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "Nie można dodać odcinka sieci"
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "Ustawianie kosztów węzłów..."
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"Nie znaleziono wpisu bazy danych dla węzła %d (cat = %d), koszt ustawiono na "
-"0"
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Spłaszczanie grafu..."
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Graf został zbudowany"
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "dglShortestPath błąd: %s"
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Błędny kierunek linii w Vect_net_get_line_cost()"
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7734,7 +8015,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Błąd połączenia z serwerem"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7744,7 +8025,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr "Losowy odczyt danych OGR nie jest obsługiwany dla tej warstwy"
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7759,7 +8040,7 @@ msgstr "Budowanie topologii dla mapy wektorowej <%s>..."
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Budowanie topologii dla mapy wektorowej <%s>..."
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7788,7 +8069,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Nie można otworzyć pliku GDAL"
@@ -7965,8 +8246,8 @@ msgstr "Liczba nieprawidłowych granic: %d"
 msgid "Number of redundant holes: %d"
 msgstr "Liczba granic: %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Nie można otworzyć pliku indeksu kategorii dla mapy wektorowej <%s>"
@@ -8063,16 +8344,16 @@ msgstr "Liczba obszarów: -"
 msgid "Number of isles: -"
 msgstr "Liczba wysp: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Nie można odczytać nagłówka pliku dla mapy rastrowej <%s@%s>."
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Błąd podczas zapisu pliku topologii"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
@@ -8081,21 +8362,21 @@ msgstr ""
 "Nie można utworzyć indeksu przestrzennego z topologii, mapa wektorowa nie "
 "jest otwarta na poziomie topo 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "BUG (Vect_build_sidx_from_topo): węzeł nie istnieje"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Nie można otworzyć pliku indeksu kategorii dla mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Błąd podczas zapisu pliku indeksu przestrzennego"
 
@@ -8270,64 +8551,64 @@ msgstr "nieznany operator"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr "Snapuj werteksy Krok 1: wybierz punkty"
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr "Snapuj werteksy Krok 2: wskaż werteksy kotwic"
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr "Snapuj werteksy Krok 3: snapuj do wskazanych punktów"
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr "Zasnapowane werteksy: %d"
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, c-format
 msgid "New vertices: %d"
 msgstr "Nowe werteksy : %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Budowanie obszarów..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Nie można odczytać obiektu id %d"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Próba usunięcia martwego obiektu"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Nie można ustawić kategorii %d dla linii (id obiektu %d)"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Nie można odczytać obiektu id %d"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 #, fuzzy
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr "Losowy odczyt danych OGR nie jest obsługiwany dla tej warstwy"
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Nie można otworzyć pliku cidx <%s> do zapisu"
@@ -8337,7 +8618,7 @@ msgstr "Nie można otworzyć pliku cidx <%s> do zapisu"
 msgid "Unable to rewrite feature %d"
 msgstr "Nie można ponownie zapisać obiektu %d"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Niedozwolony typ mapy <%d>"
@@ -8602,14 +8883,21 @@ msgstr "Uszkodzony wiersz w nagłówku: %s"
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Połączenie nie powiodło się."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Połączenie nie powiodło się."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8820,26 +9108,26 @@ msgstr "Domyślny sterownik nie jest ustawiony"
 msgid "Default database is not set"
 msgstr "Domyślna baza danych nie jest ustawiona"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Zażądano połączenia %d, najwyższy numer połączenia %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Błąd w regule w wierszu %d w %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Nie można otworzyć warstwy <%s>"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "Nie można otworzyć sterownika OGR DBMI"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -8847,27 +9135,27 @@ msgstr ""
 "Wszystkie testy FID zawiodły. Żadne z 'FID', 'ogc_fid', 'ogr_fid', 'gid' nie "
 "jest dostępne w tabeli bazy danych OGR"
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "nieznany operator"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Nie można otworzyć pliku nagłówka dla mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 "Bug: próba aktualizacji mapy, która nie znajduje się w bieżącym mapsecie"
@@ -8942,22 +9230,22 @@ msgstr "mapa <%s> nie znajduje się w bieżącym mapsecie"
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "mapa <%s> nie znajduje się w bieżącym mapsecie"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr "Mapa wektorowa spoza bieżącego mapsecie nie może być otwarta do zapisu"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Nie można otworzyć pliku nagłówka dla mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "Nie można otworzyć pliku topologii mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -8966,84 +9254,84 @@ msgstr ""
 "Nie znaleziono mapy wektorowej <%s> na poziomie %d. Spróbuj przebudować "
 "topologię za pomocą v.build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Buduję topologię dla mapy wektorowej <%s>..."
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Nie można otworzyć mapy wektorowej <%s> na poziomie %d"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "Nie można otworzyć pliku historii mapy wektorej <%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr ""
 "Nie można utworzyć mapy wektorowej: <%s> nie znajduje się w bieżącym "
 "mapsecie (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Nie można utworzyć mapy wektorowej <%s>. Nazwa nie jest zgodna z SQL."
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Nie można otworzyć pliku historii dla mapy wektorowej <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 msgid "Using native format"
 msgstr "Obsługiwany jest tylko format natywny"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Nie można ustalić stanu pliku <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "Wielkość pliku 'coor' różni się od wartości zapisanej w pliku topologii"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Przebuduj topologię mapy wektorowej <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 msgid "Unable to open OGR file"
 msgstr "Nie można otworzyć pliku OGR"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9111,89 +9399,89 @@ msgstr "Połączenie nie powiodło się."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Połączenie nie powiodło się."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Nie można dodać połączenia do bazy danych"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Obiekt OGR bez ID został zignorowany."
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Typ obiektu"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Liczba obszarów bez centroidów: %d"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Nie można pobrać danych z tabeli <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Nie można otworzyć pliku %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9260,15 +9548,32 @@ msgstr "Linia nie jest zapętlona"
 msgid "Topology info not available for feature %d"
 msgstr "Brak pomocy dla polecenia [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "dglShortestPath błąd: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Błędny kierunek linii w Vect_net_get_line_cost()"
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "Nie można dodać odcinka sieci"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Niedozwolony typ mapy <%d>"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9323,13 +9628,66 @@ msgstr "Nie można utworzyć tabeli <%s>"
 #~ msgid "Out of memmory"
 #~ msgstr "Brak wolnej pamięci"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Nie można otworzyć pliku definicji bazy danych wektora '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Nie można otworzyć pliku nagłówka dla mapy wektorowej <%s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Nie można otworzyć pliku nagłówka dla mapy wektorowej <%s>"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "nie można znaleć tymczasowego pliku NULL: %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: nie można otworzyć pliku %s"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "BŁĄD: opcja <%s>: <%s> istnieje.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Niedozwolony typ mapy <%d>"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Nie można otworzyć pliku %s"
+
+#, fuzzy
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "Mapa wektorowa <%s> nie jest otwarta na poziomie >= 2"
 
+#~ msgid "Background color"
+#~ msgstr "Kolor tła"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Nazwa źródłowej mapy rastrowej"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "Obiekty OGR typu %d nie są obsługiwane"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "Niedozwolony typ mapy <%d>"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "Niedozwolony typ mapy <%d>"
+
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "Nie odnaleziono atrybutów kategorii %d"
 
@@ -9355,22 +9713,3 @@ msgstr "Nie można utworzyć tabeli <%s>"
 
 #~ msgid "G_oldsite_new_struct: invalid # dims or fields"
 #~ msgstr "G_oldsite_new_struct: błedne # wymiary lub pola"
-
-#~ msgid "Background color"
-#~ msgstr "Kolor tła"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "Obiekty OGR typu %d nie są obsługiwane"
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "Niedozwolony typ mapy <%d>"
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "Niedozwolony typ mapy <%d>"
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Nazwa źródłowej mapy rastrowej"
diff --git a/locale/po/grasslibs_pt.po b/locale/po/grasslibs_pt.po
index c409f0a..8ff189e 100644
--- a/locale/po/grasslibs_pt.po
+++ b/locale/po/grasslibs_pt.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_pt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2013-12-22 16:37+0200\n"
 "Last-Translator: luisa <gem12lte at student.lu.se>\n"
 "Language-Team: gem12lte at student.lu.se\n"
@@ -31,33 +31,28 @@ msgstr "%s: N
 msgid "%s: No font definition file"
 msgstr "%s: Nenhum ficheiro de defini��o de fonte"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Imposs�vel abrir arquivo %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -90,7 +85,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "n�o h� arquivos <%s> dispon�veis no mapset ativo\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "n�o h� arquivos <%s> dispon�veis no mapset ativo\n"
@@ -102,7 +97,7 @@ msgstr "n
 msgid "%s is missing"
 msgstr "que est� faltando"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -135,7 +130,7 @@ msgstr "Imposs
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -163,8 +158,8 @@ msgstr "n
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -225,21 +220,33 @@ msgstr "n
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, fuzzy, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "Ficheiro de login corrompido"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "N�o foi poss�vel apagar o ficheiro '%s'"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "O vetor '%s' j� existe e ser� sobrescrito."
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "O vetor '%s' j� existe e ser� sobrescrito."
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr ""
@@ -419,8 +426,10 @@ msgstr "N
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -432,45 +441,45 @@ msgstr "N
 msgid "Unable to get list tables in database <%s>"
 msgstr "N�o foi poss�vel obter tabelas de lista na base de dados <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Tabela <%s> j� existe na base de dados <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "N�o foi poss�vel abrir o cursor de sele��o: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Coluna <%s> n�o � constitu�da por n�mero inteiros"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Coluna <%s> n�o encontrada"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "N�o foi poss�vel criar a tabela <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "N�o foi retirar dados da tabela <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Tipo de coluna desconhecido (coluna <%s>)"
@@ -540,6 +549,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "N�o foi poss�vel abrir ficheiro de depura��o '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -874,219 +887,219 @@ msgstr ""
 msgid "Category value"
 msgstr "Valor da categoria"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Valores da categoria"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Exemplo: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "ID do elemento"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "IDs dos elementos"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr "Nome do ficheiro de entrada"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "Nome do ficheiro de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Separador de campos"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 #, fuzzy
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 "Caracteres especiais: newline (nova linha), space (espa�o), comma (v�rgula), "
 "tab (indenta��o)"
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Cor"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Um nome de cor padr�o ou tripla R:G:B"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Cor padr�o do GRASS, tripla R:G:B ou \"none\" (\"nenhum\")"
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Nome do arquivo de entrada"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Coordenadas inv�lidas"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Nome da coluna de atributos"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Nome do mapa raster de entrada"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Nome do mapa raster de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Nome do mapa raster de eleva��o"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Nome do mapa raster de eleva��o"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Nome do mapa raster de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Nome do mapa vetor de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Nome do mapa raster3D de entrada"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Nome do mapa raster3D de entrada"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Nome do mapa raster3d de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Nome do mapa raster de entrada"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Nome do mapa raster de entrada"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Imposs�vel fechar mapa de entrada"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "Cl�usula WHERE do comando SQL sem palavra-chave 'where'"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Carregando dados da tabela de atributos ... "
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "Criando topologia ...\n"
@@ -1114,7 +1127,7 @@ msgid "SYNOPSIS"
 msgstr "RESUMO"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 #, fuzzy
 msgid "Flags"
 msgstr "Alertas"
@@ -1135,7 +1148,7 @@ msgid "Quiet module output"
 msgstr "Sa�da do m�dulo quiet"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Par�metros"
 
@@ -1251,7 +1264,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Proje��o desconhecida"
 
@@ -1326,7 +1339,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "ATEN��O: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "ERRO:"
@@ -1411,17 +1424,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "Ficheiro <%s> n�o encontrado para localiza��o <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "Imposs�vel abrir topologia para mapa vetorial <%s>"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "N�o foi poss�vel gerar o elemento do mapset %s (%s): %s"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "N�o foi poss�vel aceder ao elemento do mapset %s (%s): %s"
@@ -1622,6 +1635,11 @@ msgstr "campo formato est
 msgid "Duplicate compressed field"
 msgstr "campo comprimido duplicado"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1669,22 +1687,22 @@ msgstr "Par
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "O ficheiro %s em <%s> n�o tem informa��es sobre o elips�ide"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): o mapset <%s> n�o corresponde ao xmapset <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "G_spawn: N�o foi poss�vel abrir o ficheiro %s"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: N�o foi poss�vel abrir o ficheiro %s"
@@ -1874,8 +1892,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Valor de resolu��o N-S ilegal"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1938,6 +1957,10 @@ msgstr "Leste deve ser maior que o Oeste"
 msgid "Invalid coordinates"
 msgstr "Coordenadas inv�lidas"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Valor de resolu��o N-S ilegal"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Valor de resolu��o N-S ilegal"
@@ -2004,80 +2027,80 @@ msgid ""
 msgstr ""
 " Apenas %d%% da janela salva em \"%s\" sobrep�e com a janela atual do GRASS."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "BUG nas descri��es, op��o '%s' em <%s> n�o existe"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "BUG nas descri��es, op��o '%s' em <%s> n�o existe"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 #, fuzzy
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr "Usar alerta --quiet ou --verbose, n�o ambos. Assume --verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 #, fuzzy
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr "Usar alerta --quiet ou --verbose, n�o ambos. Assume --quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "ERRO:"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "N�o foi poss�vel descobrir o nome do programa"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Desculpe, <%c> n�o � um flag v�lido\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Desculpe, <%s=> � amb�guo\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Desculpe, <%s> n�o � um par�metro v�lido\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> no mapset <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2086,7 +2109,7 @@ msgstr ""
 "\n"
 "ERRO: sintaxe ilegal no intervalo do par�metro <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2095,14 +2118,14 @@ msgstr ""
 "\n"
 "ERRO: valor <%s> fora do intervalo do par�metro <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "ERRO: Falta valor para o par�metro <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2111,7 +2134,7 @@ msgstr ""
 "\n"
 "ERRO: valor <%s> fora do intervalo do par�metro <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2121,7 +2144,7 @@ msgstr ""
 "ERRO: Par�metro necess�rio <%s> n�o fornecido:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2130,37 +2153,37 @@ msgstr ""
 "\n"
 "ERRO: A op��o <%s> deve ser m�ltipla de %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Separador de Campos"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Imposs�vel abrir arquivo %s"
@@ -2735,7 +2758,8 @@ msgstr "n
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Sem mem�ria"
 
@@ -2757,11 +2781,13 @@ msgid "Loading data from attribute table ..."
 msgstr "A carregar dados da tabela de atributos ..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Liga��o � base de dados n�o definida para a capa %d"
@@ -2956,7 +2982,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Copiar o conjunto 2d para mapa raster <%s>"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3068,8 +3094,8 @@ msgstr "Unidades do Fator Final"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3642,6 +3668,30 @@ msgstr "Tipo de interpola
 msgid "Failed to initialize Cairo surface"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3888,11 +3938,11 @@ msgstr "n
 msgid "Creating a new space time %s dataset"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4083,29 +4133,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Imposs�vel ler arquivo de cabe�alho"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "N�o foi poss�vel fechar o mapa raster 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "N�o foi poss�vel abrir o mapa vectorial <%s>"
@@ -4264,20 +4314,20 @@ msgstr "Vetor de entrada '%s' n
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4286,7 +4336,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4294,12 +4344,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "n�o consegui abrir banco de dados %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4307,49 +4357,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "N�o foi poss�vel criar a tabela <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Imposs�vel executar o comando"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "n�o consegui encontrar [%s]"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Imposs�vel executar o comando"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4357,14 +4395,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Imposs�vel executar o comando"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4491,7 +4529,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4606,64 +4644,64 @@ msgid ""
 "%s"
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Arquivo de data inv�lido para o %s mapa %s no mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "erro de sintaxe"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Arquivo de data inv�lido para o %s mapa %s no mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Arquivo de data inv�lido para o %s mapa %s no mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
@@ -4688,7 +4726,7 @@ msgid "Error computing map <%s>"
 msgstr "Erro ao abrir mapa g3d <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
@@ -4715,76 +4753,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  formato: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Nome do mapa raster base"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Nome do mapa raster de entrada"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Imposs�vel fechar mapa de entrada"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Vetor de entrada '%s' n�o encontrado"
@@ -4799,12 +4861,12 @@ msgstr "n
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
@@ -4857,7 +4919,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4872,7 +4934,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4880,46 +4946,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Imposs�vel fechar mapa de entrada"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Nome de arquivo ilegal. n�o pode ser '.' ou 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Nome de arquivo ilegal. O caractere <%c> n�o � permitido.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4927,43 +5001,43 @@ msgid ""
 msgstr ""
 "n�o consegui apagar a linha, o mapa '%s' n�o est� aberto em modo de escrita"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Cor"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Erro abrindo mapa g3d <%s>"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -5008,75 +5082,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Tipo da coluna n�o suportado"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Nome da coluna de atributos"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "problema lendo arquivo cell raster"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "O mapa vectorial <%s> j� existe e ser� reescrito"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Ignorando fei��o OGR sem ID"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Dimens�es da matriz al�m dos limites"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Imposs�vel abrir topologia para mapa vetorial <%s>"
@@ -5085,19 +5159,33 @@ msgstr "Imposs
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "N�o foi poss�vel ler o deslocamento da linha %ld"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "N�o foi poss�vel ler id do elemento %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5113,25 +5201,41 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Tipo de interpola��o desconhecida"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, fuzzy, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 "O pedido de leitura da linha %d do mapa raster <%s@%s> est� fora da regi�o"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Erro de escrita no arquivo de �ndices espaciais."
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Erro ao ler linha nula %d"
@@ -5263,51 +5367,46 @@ msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Erro de escrita no arquivo de �ndices espaciais."
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "n�o foi poss�vel encontrar o arquivo null tempor�rio: %s"
+msgid "No null file for <%s>"
+msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: n�o consegui abrir o arquivo %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "erro escrevendo linha de nulos %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: map [%s] n�o est� aberto para escrita - pedido ignorado"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: descritor de arquivo n�o foi aberto - pedido ignorado"
@@ -5405,7 +5504,7 @@ msgstr "N
 msgid "Unable to open GDAL file"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
@@ -5474,6 +5573,21 @@ msgstr ""
 "\aERRO: Sistema n�o iniciado. O programador n�o incluiu a chamada a "
 "G_gisinit()\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "erro de sintaxe"
@@ -5558,26 +5672,26 @@ msgstr "EmbedGivenNulls: tipo errado de dados!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: tipo errado de dados!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "imposs�vel escrever ficheiro f_format para mapas CELL"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5586,28 +5700,28 @@ msgstr ""
 "N�o foi poss�vel abrir o mapa raster <%s@%s> porque este � uma "
 "reclassifica��o do mapa raster <%s@%s> que n�o existe"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "n�o consegui ler arquivo de intervalo para [%s em %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "ERRO abrindo mapa raster %s"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 "Mapa raster <%s@%s>: o campo formato do ficheiro do cabe�alho � inv�lido"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Mapa raster <%s> n�o encontrado no mapset <%s>"
+msgid "Compression with %s is not supported"
+msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5616,83 +5730,88 @@ msgstr ""
 "[%s] no mapset [%s] - est� numa proje��o diferente da regi�o atual:\n"
 "o mapa [%s] em: <%s>, deveria ser <%s> "
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 "[%s] no mapset [%s] - est� em uma zona diferente [%d] da regi�o atual [%d]"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "[%s] em [%s] - bytes demais por c�lula (%d)"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Imposs�vel abrir �ndice de categoria para mapa vetorial <%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "erro lendo mapa [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Mapa raster <%s> n�o est� mapset atual (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> � um nome de ficheiro ilegal"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "n�o h� arquivos %s dispon�veis no mapset %s\n"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Mapa raster <%s> n�o est� mapset atual (%s)"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Mapa raster <%s> n�o encontrado no mapset <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "N�o foi poss�vel encontrar '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Tipo inv�lido: campo '%s' no ficheiro '%s'"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "tipo inv�lido: campo %s no arquivo %s"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Mapa raster <%s> n�o � xdr: byte_order: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5721,11 +5840,16 @@ msgstr "n
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Falha na leitura inicial do ficheiro compactado [%s em %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Falha na leitura inicial do ficheiro compactado [%s em %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6057,17 +6181,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "ATEN��O: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Ajustando custo dos n�s ..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6075,115 +6199,149 @@ msgstr ""
 "Uso:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "para aceitar os valores padr�o"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
+msgstr ""
+
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "proje��o inv�lida\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
+msgstr ""
+
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "n�o consegui alocar mem�ria\n"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "O formato requisitado n�o foi compilado nesta vers�o"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6193,268 +6351,295 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
+msgstr ""
+
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "Por favor avise aos desenvolvedores do GRASS sobre este erro.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
+msgstr ""
+
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Construindo grafo ..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - vari�vel n�o incializada"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Ajustando custo dos n�s ..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Falha na conex�o."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Imposs�vel abrir arquivo %s"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "n�o consegui abrir [%s]"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "No h� ajuda dispon�vel para o comando [%s]\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "nenhum"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "n�o consegui abrir arquivo tempor�rio"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Imposs�vel abrir arquivo %s"
@@ -6944,8 +7129,8 @@ msgstr "N
 msgid "Computing minimum spanning tree..."
 msgstr "A calcular a �rvore de menores dist�ncias..."
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "Erro GngFlatten"
 
@@ -7053,10 +7238,10 @@ msgstr "N
 msgid "conditions failed"
 msgstr "condi��es falharam"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7089,7 +7274,7 @@ msgstr "Imposs
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7110,22 +7295,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "N�o foi poss�vel abrir o ficheiro do cabe�alho do vector <%s>"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, fuzzy, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Linha corrompida no cabe�alho: %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Tipo de vetor desconhecido"
@@ -7152,7 +7337,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "s� suporta o formato nativo"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Tentativa de ler uma linha morta"
 
@@ -7166,17 +7351,17 @@ msgstr "Vect_read_area_geos(): n
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr "Vect_read_area_geos(): n�o foi poss�vel ler a id %d da isle %d"
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr "N�o foi poss�vel ler o deslocamento da linha %ld"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Tentativa de ler os pontos da �rea inexistente com id %d"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr "N�o foi poss�vel ler id do elemento %d"
@@ -7194,17 +7379,17 @@ msgstr "
 msgid "Category index out of range"
 msgstr "�ndice de camadas fora dos limites"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Imposs�vel abrir �ndice de categoria para mapa vetorial <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Erro de escrita no arquivo de �ndices espaciais."
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr ""
@@ -7237,7 +7422,7 @@ msgstr "Ignorando fei
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "N�o foi poss�vel abrir a fonte de dados OGR '%s'"
@@ -7341,7 +7526,7 @@ msgstr "Falha na conex
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7378,96 +7563,112 @@ msgstr "%s: 
 msgid "Attempt to access dead area %d"
 msgstr "Tentativa de remover �rea morta"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Imposs�vel abrir arquivo %s"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "N�o foi poss�vel copiar a tabela <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "N�o foi poss�vel copiar a tabela <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "N�o foi poss�vel copiar a tabela <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Nome do mapa n�o obedece ao SQL"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "N�o foi poss�vel encontrar o mapa vectorial <%s> em <%s>"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "O mapa vectorial <%s> j� existe e ser� reescrito"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "N�o foi poss�vel apagar o mapa vectorial <%s>"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "N�o foi poss�vel copiar o mapa vectorial <%s> para <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "N�o foi poss�vel copiar a tabela <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "N�o foi poss�vel apagar a tabela <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "N�o foi poss�vel criar o �ndice para a tabela <%s>, chave <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Nome de mapa vectorial inv�lido <%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr ""
 "N�o foi poss�vel abrir o ficheiro do cabe�alho para o mapa vectorial <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr ""
 "N�o foi poss�vel encontrar a tabela <%s> relativa ao mapa vectorial <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "A tabela <%s> relativa ao mapa vectorial <%s> n�o existe"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "N�o foi poss�vel abrir o diret�rio '%s'"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "N�o foi poss�vel apagar o ficheiro '%s'"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "N�o foi poss�vel mudar o nome do diret�rio '%s' para '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "N�o foi poss�vel remover o diret�rio '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7492,19 +7693,19 @@ msgstr "N
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7540,7 +7741,7 @@ msgstr "Tipo(s) de fei
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Imposs�vel abrir �ndice de categoria para mapa vetorial <%s>"
@@ -7594,6 +7795,166 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "A construir grafo..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "N�o foi poss�vel construir grafo da rede"
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Coluna de custos n�o especificada"
+
+#: ../lib/vector/Vlib/net_build.c:156
+#, fuzzy
+msgid "Turntable field < 1"
+msgstr "Arco < 1"
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "A coluna <%s> n�o foi encontrada na tabela <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr "O tipo de dado da coluna <%s> n�o � suportado (deve ser num�rico)"
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "A definir custo dos n�s..."
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "A coluna <%s> n�o foi encontrada na tabela <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"Registo da base de dados para o n� %d (cat = %d) n�o encontrado (custo "
+"definido como 0)"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "N�o foi poss�vel adicionar arco � rede"
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"Registo da base de dados para o n� %d (cat = %d) n�o encontrado (custo "
+"definido como 0)"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "N�o foi poss�vel adicionar arco � rede"
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr "Arco < 1"
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Registando arcos..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"Registo da base de dados para a linha %d (cat = %d, em frente/ambas as "
+"dire��es) n�o encontrada (em frente/ambas as dire��es da linha ignoradas)"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"Registo da base de dados para a linha %d(cat = %d, dire��o reversa) n�o "
+"encontrada (dire��o da linha ignorada)"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Achatando o grafo..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Grafo constru�do"
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+"Registo da base de dados para a linha %d (cat = %d, em frente/ambas as "
+"dire��es) n�o encontrada (em frente/ambas as dire��es da linha ignoradas)"
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+"Registo da base de dados para a linha %d(cat = %d, dire��o reversa) n�o "
+"encontrada (dire��o da linha ignorada)"
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "N�o foi poss�vel adicionar arco � rede"
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7643,88 +8004,6 @@ msgstr "Dimens
 msgid "Isle index is out of range"
 msgstr "�ndice de camadas fora dos limites"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "A construir grafo..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "N�o foi poss�vel construir grafo da rede"
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Coluna de custos n�o especificada"
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr "Arco < 1"
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "A coluna <%s> n�o foi encontrada na tabela <%s>"
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr "O tipo de dado da coluna <%s> n�o � suportado (deve ser num�rico)"
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Registando arcos..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-"Registo da base de dados para a linha %d (cat = %d, em frente/ambas as "
-"dire��es) n�o encontrada (em frente/ambas as dire��es da linha ignoradas)"
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr ""
-"Registo da base de dados para a linha %d(cat = %d, dire��o reversa) n�o "
-"encontrada (dire��o da linha ignorada)"
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "N�o foi poss�vel adicionar arco � rede"
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "A definir custo dos n�s..."
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"Registo da base de dados para o n� %d (cat = %d) n�o encontrado (custo "
-"definido como 0)"
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Achatando o grafo..."
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Grafo constru�do"
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "Erro dglShortestPath: %s"
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Dire��o errada da linha em Vect_net_get_line_cost()"
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7849,7 +8128,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7858,7 +8137,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7873,7 +8152,7 @@ msgstr "Favor reconstruir a topologia do vetor '%s@%s'"
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Favor reconstruir a topologia do vetor '%s@%s'"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7902,7 +8181,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Imposs�vel abrir arquivo %s"
@@ -8077,8 +8356,8 @@ msgstr "N
 msgid "Number of redundant holes: %d"
 msgstr "N�mero de fronteiras:   %d\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Imposs�vel abrir �ndice de categoria para mapa vetorial <%s>"
@@ -8175,37 +8454,37 @@ msgstr "N
 msgid "Number of isles: -"
 msgstr "N�mero de ilhas: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Erro na escrita do ficheiro topo"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "n�o � poss�vel apagar a linha, o mapa '%s' n�o est� aberto no n�vel 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Imposs�vel abrir �ndice de categoria para mapa vetorial <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Erro de escrita do ficheiro de �ndices espaciais"
 
@@ -8383,63 +8662,63 @@ msgstr "Erro desconhecido"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr "Passo 1 de encaixe de v�rtices: selecionar pontos"
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr "Passo 2 de encaixe de v�rtices: atribuir v�rtices �ncora"
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr "Passo 3 de encaixe de v�rtices: snap para os pontos atributos"
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr "V�rtices encaixados: %d"
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, c-format
 msgid "New vertices: %d"
 msgstr "Novos v�rtices: %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Construindo grafo ..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Tentativa de remover �rea morta"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Imposs�vel ler arquivo de cabe�alho"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Imposs�vel abrir arquivo topo para escrita <%s>"
@@ -8449,7 +8728,7 @@ msgstr "Imposs
 msgid "Unable to rewrite feature %d"
 msgstr "N�o foi poss�vel abrir o elemento %d"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Imposs�vel mudar de diret�rio para %s"
@@ -8714,14 +8993,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Falha na conex�o."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Falha na conex�o."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8931,26 +9217,26 @@ msgstr "Driver padr
 msgid "Default database is not set"
 msgstr "Base de dados padr�o n�o foi especificada"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "dblink %d solicitado, %d liga��es no m�ximo"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Erro na regra da linha %d em %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "N�o foi poss�vel abrir driver OGR DBMI"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -8958,27 +9244,27 @@ msgstr ""
 "Todos os testes FID falharam. FID, 'ogc_fid', 'ogr_fid' e 'gid' "
 "indispon�veis na tabela de base de dados OGR"
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "Erro desconhecido"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual"
 
@@ -9051,26 +9337,26 @@ msgstr "Bug: tentativa de atualizar mapa que n
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Um mapa vectorial que n�o est� no mapset atual n�o pode ser aberto para "
 "atualiza��o"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 "N�o foi poss�vel abrir o ficheiro de topologia relativo ao mapa vectorial <"
 "%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9079,87 +9365,87 @@ msgstr ""
 "N�o foi poss�vel abrir o mapa vectorial <%s> no n�vel %d. Tente reconstruir "
 "a topologia do vector usando v.build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Favor reconstruir a topologia do vetor '%s@%s'"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr ""
 "N�o foi poss�vel abrir o ficheiro do hist�rico relativo ao mapa vectorial <"
 "%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Nome do mapa n�o obedece ao SQL"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "Tipo da coluna n�o suportado"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "N�o foi poss�vel iniciar o ficheiro <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "Tamanho do ficheiro 'coor' difere do valor gravado no ficheiro de topologia"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Por favor reconstrua a topologia do mapa vectorial <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr "Tamanho do arquivo 'coor' difere do valor gravado no arquivo topo."
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9227,89 +9513,89 @@ msgstr "Falha na conex
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Falha na conex�o."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "n�o � poss�vel adicionar um link ao banco de dados."
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Ignorando fei��o OGR sem ID"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Tipo(s) de fei��o"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "N�mero de �reas sem centr�ide :   %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Imposs�vel abrir arquivo %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9374,15 +9660,32 @@ msgstr "Matrizes n
 msgid "Topology info not available for feature %d"
 msgstr "No h� ajuda dispon�vel para o comando [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "Erro dglShortestPath: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Dire��o errada da linha em Vect_net_get_line_cost()"
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "N�o foi poss�vel adicionar arco � rede"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Imposs�vel mudar de diret�rio para %s"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9437,10 +9740,48 @@ msgstr "Imposs
 #~ msgid "Out of memmory"
 #~ msgstr "G_malloc: mem�ria esgotada"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Imposs�vel abrir hist�rico para mapa vetorial %s"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "n�o foi poss�vel encontrar o arquivo null tempor�rio: %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: n�o consegui abrir o arquivo %s"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "ERRO: op��o <%s>: <%s> j� existe.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Imposs�vel mudar de diret�rio para %s"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Imposs�vel abrir arquivo %s"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "Pressione ENTER para continuar -->"
 
@@ -9448,6 +9789,25 @@ msgstr "Imposs
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "Vetor de entrada '%s' n�o encontrado"
 
+#~ msgid "Background color"
+#~ msgstr "Cor de fundo"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Nome do mapa raster de entrada"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "Tipo da coluna n�o suportado"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "Imposs�vel mudar de diret�rio para %s"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "Imposs�vel mudar de diret�rio para %s"
+
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "Atributos para a categoria %d n�o encontrados"
 
@@ -9473,22 +9833,3 @@ msgstr "Imposs
 #, fuzzy
 #~ msgid "G_oldsite_new_struct: invalid # dims or fields"
 #~ msgstr "G_oldsite_new_struct: # dims ou campos inv�lidos"
-
-#~ msgid "Background color"
-#~ msgstr "Cor de fundo"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "Tipo da coluna n�o suportado"
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "Imposs�vel mudar de diret�rio para %s"
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "Imposs�vel mudar de diret�rio para %s"
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Nome do mapa raster de entrada"
diff --git a/locale/po/grasslibs_pt_br.po b/locale/po/grasslibs_pt_br.po
index 4b560c1..a61090b 100644
--- a/locale/po/grasslibs_pt_br.po
+++ b/locale/po/grasslibs_pt_br.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_pt_br\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2007-05-20 10:44-0300\n"
 "Last-Translator: Paulo E. P. Marcondes <paulomarcondes at gmail.com>\n"
 "Language-Team: Brazilian Portuguese <grass-translations at lists.osgeo.org>\n"
@@ -32,33 +32,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr ""
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -91,7 +86,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "n�o h� arquivos %s dispon�veis no mapset ativo\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "n�o h� arquivos %s dispon�veis no mapset ativo\n"
@@ -103,7 +98,7 @@ msgstr "n
 msgid "%s is missing"
 msgstr "que est� faltando"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -136,7 +131,7 @@ msgstr "n
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, fuzzy, c-format
@@ -164,8 +159,8 @@ msgstr "n
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -226,21 +221,33 @@ msgstr "n
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "O vetor '%s' j� existe e ser� sobrescrito."
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "O vetor '%s' j� existe e ser� sobrescrito."
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr ""
@@ -409,8 +416,10 @@ msgstr "n
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, fuzzy, c-format
@@ -422,45 +431,45 @@ msgstr "n
 msgid "Unable to get list tables in database <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, fuzzy, c-format
 msgid "Column <%s> is not integer"
 msgstr "Imposs�vel descrever tabela <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "Imposs�vel descrever tabela <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, fuzzy, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "n�o consegui ler"
@@ -531,6 +540,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "N�o consegui abrir arquivo de depura��o '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -858,217 +871,217 @@ msgstr ""
 msgid "Category value"
 msgstr "Valor da categoria"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Valores da categoria"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Exemplo: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "Nome do arquivo de entrada"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "Nome do arquivo de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Nome do arquivo de entrada"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Coordenadas inv�lidas"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "n�o consegui abrir [%s]"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Nome do mapa raster de entrada"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Nome do mapa raster de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Nome do mapa raster de eleva��o"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Nome do mapa raster de eleva��o"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Nome do mapa raster de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Nome do mapa vetor de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Nome do mapa raster3D de entrada"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Nome do mapa raster3D de entrada"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Nome do mapa raster3d de sa�da"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Nome do mapa raster de entrada"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Nome do mapa raster de entrada"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "n�o consegui abrir [%s]"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "Cl�usula WHERE do comando SQL sem palavra-chave 'where'"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "n�o consegui apagar a linha"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "Criando topologia ...\n"
@@ -1096,7 +1109,7 @@ msgid "SYNOPSIS"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 #, fuzzy
 msgid "Flags"
 msgstr ""
@@ -1119,7 +1132,7 @@ msgid "Quiet module output"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 #, fuzzy
 msgid "Parameters"
 msgstr ""
@@ -1241,7 +1254,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Proje��o desconhecida"
 
@@ -1316,7 +1329,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "ATEN��O: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "ERRO:"
@@ -1400,17 +1413,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "Arquivo <%s> n�o encontrado para loca��o <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "n�o foi poss�vel gerar o elemento  %s (%s) do mapset"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "n�o foi poss�vel gerar o elemento  %s (%s) do mapset"
@@ -1611,6 +1624,11 @@ msgstr "campo formato est
 msgid "Duplicate compressed field"
 msgstr "campo comprimido duplicado"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1657,22 +1675,22 @@ msgstr "Par
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Elips�ide n�o fornecido no arquivo %s em %s"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "n�o consegui abrir [%s]"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: n�o consegui abrir o arquivo %s"
@@ -1876,8 +1894,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Valor de resolu��o N-S ilegal"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1938,6 +1957,10 @@ msgstr "Leste deve ser maior que o Oeste"
 msgid "Invalid coordinates"
 msgstr "Coordenadas inv�lidas"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Valor de resolu��o N-S ilegal"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Valor de resolu��o N-S ilegal"
@@ -2003,79 +2026,79 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr "Apenas %d%% da janela salva em \"%s\" sobrep�e a janela atual do GRASS"
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "ERRO:"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 #, fuzzy
 msgid "Unable to determine program name"
 msgstr "n�o consegui encontrar o diret�rio do usu�rio"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Desculpe, <%c> n�o � um flag v�lido\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Desculpe, <%s=> � amb�guo\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Desculpe, <%s> n�o � um par�metro v�lido\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> no mapset <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2084,7 +2107,7 @@ msgstr ""
 "\n"
 "ERRO: sintaxe ilegal no intervalo do par�metro <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2093,14 +2116,14 @@ msgstr ""
 "\n"
 "ERRO: valor <%s> fora do intervalo do par�metro <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "ERRO: Falta valor para o par�metro <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2109,7 +2132,7 @@ msgstr ""
 "\n"
 "ERRO: valor <%s> fora do intervalo do par�metro <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2119,7 +2142,7 @@ msgstr ""
 "ERRO: Par�metro necess�rio <%s> n�o fornecido:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2128,37 +2151,37 @@ msgstr ""
 "\n"
 "ERRO: A op��o <%s> deve ser m�ltipla de %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, c-format
 msgid "No separator given for %s="
 msgstr ""
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
@@ -2688,7 +2711,8 @@ msgstr "n
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr ""
 
@@ -2710,11 +2734,13 @@ msgid "Loading data from attribute table ..."
 msgstr ""
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
@@ -2911,7 +2937,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr ""
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, fuzzy, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3024,8 +3050,8 @@ msgstr ""
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3573,6 +3599,30 @@ msgstr "Tipo de interpola
 msgid "Failed to initialize Cairo surface"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3819,11 +3869,11 @@ msgstr "n
 msgid "Creating a new space time %s dataset"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4014,29 +4064,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "n�o consegui abrir arquivo tempor�rio"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, fuzzy, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, fuzzy, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
@@ -4195,20 +4245,20 @@ msgstr "Vetor de entrada '%s' n
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4217,7 +4267,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4225,12 +4275,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "n�o consegui abrir banco de dados %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4238,49 +4288,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Imposs�vel executar o comando"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "N�o consegui abrir hist�rico para o vetor %s"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "n�o consegui encontrar [%s]"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "N�o consegui abrir hist�rico para o vetor %s"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Imposs�vel executar o comando"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4288,14 +4326,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Imposs�vel executar o comando"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4422,7 +4460,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4537,63 +4575,63 @@ msgid ""
 "%s"
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Arquivo de data inv�lido para o %s mapa %s no mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Arquivo de data inv�lido para o %s mapa %s no mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Arquivo de data inv�lido para o %s mapa %s no mapset %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
@@ -4618,7 +4656,7 @@ msgid "Error computing map <%s>"
 msgstr "ERRO abrindo mapa raster %s"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
@@ -4645,76 +4683,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  formato: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Nome do mapa raster base"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Nome do mapa raster de entrada"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "n�o consegui abrir [%s]"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Vetor de entrada '%s' n�o encontrado"
@@ -4729,12 +4791,12 @@ msgstr "n
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
@@ -4789,7 +4851,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4804,7 +4866,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4812,46 +4878,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "n�o consegui abrir [%s]"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Nome de arquivo ilegal. n�o pode ser '.' ou 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Nome de arquivo ilegal. O caractere <%c> n�o � permitido.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4859,42 +4933,42 @@ msgid ""
 msgstr ""
 "n�o consegui apagar a linha, o mapa '%s' n�o est� aberto em modo de escrita"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "color"
 msgstr ""
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "ERRO abrindo mapa raster %s"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4939,75 +5013,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Nome da coluna de atributos"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "problema lendo arquivo cell raster"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Ignorando fei��o OGR sem ID"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Dimens�es da matriz al�m dos limites"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
@@ -5016,19 +5090,33 @@ msgstr "N
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "n�o consegui abrir arquivo tempor�rio"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5044,24 +5132,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Tipo de interpola��o desconhecida"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, fuzzy, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr "[%s em %s] - instru��o de leitura para a linha %d est� fora da regi�o"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Erro de escrita no arquivo de �ndices espaciais.\n"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "erro lendo linha nula %d"
@@ -5194,51 +5298,46 @@ msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Erro de escrita no arquivo de �ndices espaciais.\n"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "N�o consegui abrir hist�rico para o vetor %s"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "n�o foi poss�vel encontrar o arquivo null tempor�rio: %s"
+msgid "No null file for <%s>"
+msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: n�o consegui abrir o arquivo %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "erro lendo mapa compactado [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "erro escrevendo linha de nulos %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: map [%s] n�o est� aberto para escrita - pedido ignorado"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: descritor de arquivo n�o foi aberto - pedido ignorado"
@@ -5337,7 +5436,7 @@ msgstr "n
 msgid "Unable to open GDAL file"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
@@ -5406,6 +5505,21 @@ msgstr ""
 "\aERRO: Sistema n�o iniciado. O programador n�o incluiu a chamada a "
 "G_gisinit()\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr ""
@@ -5490,26 +5604,26 @@ msgstr "EmbedGivenNulls: tipo errado de dados!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: tipo errado de dados!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "imposs�vel escrever arquivo f_format para mapas CELL"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, fuzzy, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5518,27 +5632,27 @@ msgstr ""
 "n�o foi poss�vel abrir [%s] em [%s] pois este � uma reclassifica��o de [%s] "
 "em [%s] que n�o existe"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "n�o consegui ler arquivo de intervalo para [%s em %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "ERRO abrindo mapa raster %s"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, fuzzy, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "[%s] no mapset [%s]-o campo formato no cabe�alho do arquivo � inv�lido"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Vetor de entrada '%s' n�o encontrado"
+msgid "Compression with %s is not supported"
+msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5547,83 +5661,88 @@ msgstr ""
 "[%s] no mapset [%s] - est� numa proje��o diferente da regi�o atual:\n"
 "o mapa [%s] em: <%s>, deveria ser <%s> "
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 "[%s] no mapset [%s] - est� em uma zona diferente [%d] da regi�o atual [%d]"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "[%s] em [%s] - bytes demais por c�lula (%d)"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "erro lendo mapa [%s] no mapset [%s], linha %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, fuzzy, c-format
 msgid "<%s> is an illegal file name"
 msgstr "opencell: %s - nome de arquivo ilegal"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "n�o h� arquivos %s dispon�veis no mapset %s\n"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, fuzzy, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, fuzzy, c-format
 msgid "Unable to find '%s'"
 msgstr "n�o consegui encontrar [%s]"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, fuzzy, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "tipo inv�lido: campo %s no arquivo %s"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "tipo inv�lido: campo %s no arquivo %s"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, fuzzy, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Vetor de entrada '%s' n�o encontrado"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5652,11 +5771,16 @@ msgstr "n
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Falha na leitura inicial do arquivo compactado [%s en %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Falha na leitura inicial do arquivo compactado [%s en %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5974,17 +6098,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "ATEN��O: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Anexando centr�ides:"
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -5992,115 +6116,149 @@ msgstr ""
 "Uso:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "para aceitar os valores padr�o"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "proje��o inv�lida\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "n�o consegui alocar mem�ria\n"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "O formato requisitado n�o foi compilado nesta vers�o"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6110,268 +6268,295 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "Por favor avise aos desenvolvedores do GRASS sobre este erro.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
+msgstr ""
+
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Criando topologia ...\n"
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - vari�vel n�o incializada"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Anexando centr�ides:"
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Falha na conex�o.\n"
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "n�o consegui abrir [%s]"
+
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "No h� ajuda dispon�vel para o comando [%s]\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "nenhum"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "n�o consegui abrir arquivo tempor�rio"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
@@ -6859,8 +7044,8 @@ msgstr "n
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6964,10 +7149,10 @@ msgstr "n
 msgid "conditions failed"
 msgstr "Falha na conex�o.\n"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7000,7 +7185,7 @@ msgstr "n
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7021,22 +7206,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, fuzzy, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Tipo de vetor desconhecido"
@@ -7063,7 +7248,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 #, fuzzy
 msgid "Attempt to read dead line"
 msgstr "n�o consegui abrir arquivo tempor�rio"
@@ -7078,17 +7263,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "n�o consegui abrir arquivo tempor�rio"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "n�o consegui calcular centr�ide para �rea %d"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
@@ -7107,17 +7292,17 @@ msgstr "Dimens
 msgid "Category index out of range"
 msgstr "Dimens�es da matriz al�m dos limites"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Erro de escrita no arquivo de �ndices espaciais.\n"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, fuzzy, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
@@ -7149,7 +7334,7 @@ msgstr "Ignorando fei
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, fuzzy, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Imposs�vel mudar de diret�rio para %s"
@@ -7248,7 +7433,7 @@ msgstr "Falha na conex
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7285,95 +7470,111 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr "n�o consegui calcular centr�ide para �rea %d"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, fuzzy, c-format
+msgid "Unable to copy table <%s>"
+msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 #, fuzzy
 msgid "Vector map name is not SQL compliant"
 msgstr "Nome do mapa n�o obedece ao SQL"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, fuzzy, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "O vetor '%s' j� existe e ser� sobrescrito."
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, fuzzy, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, fuzzy, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "n�o foi poss�vel abrir o mapa raster [%s em %s]"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, fuzzy, c-format
-msgid "Unable to copy table <%s>"
-msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, fuzzy, c-format
 msgid "Unable to delete table <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, fuzzy, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, fuzzy, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, fuzzy, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, fuzzy, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, fuzzy, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, fuzzy, c-format
 msgid "Unable to delete file '%s'"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, fuzzy, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/vector/Vlib/map.c:487
+#: ../lib/vector/Vlib/map.c:528
 #, fuzzy, c-format
-msgid "Unable to remove directory '%s'"
+msgid "Unable to remove directory '%s': %s"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7398,19 +7599,19 @@ msgstr "N
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7446,7 +7647,7 @@ msgstr "Tipo de vetor desconhecido"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
@@ -7501,138 +7702,209 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr "n�o consegui abrir [%s]"
-
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-#, fuzzy
-msgid "for this format/level not supported"
-msgstr "Vect_write_line() n�o � suportada para este n�vel/formato"
-
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "O formato requisitado n�o foi compilado nesta vers�o"
-
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "Vetor de entrada '%s' n�o encontrado"
-
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
-#, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "Imposs�vel mudar de diret�rio para %s"
-
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "Dimens�es da matriz al�m dos limites"
-
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "Dimens�es da matriz al�m dos limites"
-
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "Dimens�es da matriz al�m dos limites"
-
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "Dimens�es da matriz al�m dos limites"
-
-#: ../lib/vector/Vlib/net.c:117
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
 #, fuzzy
 msgid "Building graph..."
 msgstr "Criando topologia ...\n"
 
-#: ../lib/vector/Vlib/net.c:159
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
 #, fuzzy
 msgid "Unable to build network graph"
 msgstr "n�o consegui encontrar vetor %s"
 
-#: ../lib/vector/Vlib/net.c:165
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
 msgid "Forward costs column not specified"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Column <%s> not found in table <%s>"
+msgid "Turntable column <%s> not found in table <%s>"
 msgstr "Imposs�vel descrever tabela <%s>"
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
 #, fuzzy, c-format
 msgid "Data type of column <%s> not supported (must be numeric)"
 msgstr "Tipo da coluna z n�o � suportado (deve ser inteiro ou double)"
 
-#: ../lib/vector/Vlib/net.c:222
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, fuzzy, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Imposs�vel descrever tabela <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, fuzzy, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr "Registro no banco de dados para categoria %d n�o encontrado"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Registering arcs..."
-msgstr "Registrando linhas: "
+msgid "Cannot add network arc for virtual node connection."
+msgstr "n�o consegui calcular centr�ide para �rea %d"
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:364
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:393
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr "Registro no banco de dados para categoria %d n�o encontrado"
+
+#: ../lib/vector/Vlib/net_build.c:465
 #, fuzzy
-msgid "Cannot add network arc"
+msgid "Cannot add network arc representing turn."
 msgstr "n�o consegui calcular centr�ide para �rea %d"
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+#, fuzzy
+msgid "Registering arcs..."
+msgstr "Registrando linhas: "
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:412
+#: ../lib/vector/Vlib/net_build.c:579
 #, fuzzy, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr "Registro no banco de dados para categoria %d n�o encontrado"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
 msgstr "Registro no banco de dados para categoria %d n�o encontrado"
 
-#: ../lib/vector/Vlib/net.c:441
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
 #, fuzzy
 msgid "Flattening the graph..."
 msgstr "Criando topologia ...\n"
 
-#: ../lib/vector/Vlib/net.c:450
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
 #, fuzzy
 msgid "Graph was built"
 msgstr "A topologia foi criada.\n"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
-msgid "dglShortestPath error: %s"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:934
+#, fuzzy
+msgid "Cannot add network arc"
+msgstr "n�o consegui calcular centr�ide para �rea %d"
+
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "n�o consegui abrir [%s]"
+
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+#, fuzzy
+msgid "for this format/level not supported"
+msgstr "Vect_write_line() n�o � suportada para este n�vel/formato"
+
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "O formato requisitado n�o foi compilado nesta vers�o"
+
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "Vetor de entrada '%s' n�o encontrado"
+
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "Imposs�vel mudar de diret�rio para %s"
+
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "Dimens�es da matriz al�m dos limites"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "Dimens�es da matriz al�m dos limites"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "Dimens�es da matriz al�m dos limites"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "Dimens�es da matriz al�m dos limites"
+
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 #, fuzzy
@@ -7756,7 +8028,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7765,7 +8037,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7780,7 +8052,7 @@ msgstr "Favor reconstruir a topologia do vetor '%s@%s'"
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Favor reconstruir a topologia do vetor '%s@%s'"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7809,7 +8081,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
@@ -7987,8 +8259,8 @@ msgstr "N
 msgid "Number of redundant holes: %d"
 msgstr "N�mero de fronteiras:   %d\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
@@ -8088,38 +8360,38 @@ msgstr "N
 msgid "Number of isles: -"
 msgstr "N�mero de ilhas     :   -\n"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "n�o consegui criar o arquivo de cabe�alho para [%s em %s]"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 #, fuzzy
 msgid "Error writing out topo file"
 msgstr "Erro na escrita do arquivo topo\n"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "n�o � poss�vel apagar a linha, o mapa '%s' n�o est� aberto no n�vel 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 #, fuzzy
 msgid "Error writing out spatial index file"
 msgstr "Erro de escrita no arquivo de �ndices espaciais.\n"
@@ -8295,63 +8567,63 @@ msgstr "Erro desconhecido"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "N�mero de primitivas:   %d\n"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Criando topologia ...\n"
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "n�o consegui calcular centr�ide para �rea %d"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "n�o consegui abrir arquivo tempor�rio"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "n�o consegui abrir arquivo topo para escrita: %s\n"
@@ -8361,7 +8633,7 @@ msgstr "n
 msgid "Unable to rewrite feature %d"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Imposs�vel mudar de diret�rio para %s"
@@ -8626,14 +8898,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Falha na conex�o.\n"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Falha na conex�o.\n"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8845,53 +9124,53 @@ msgstr "Driver padr
 msgid "Default database is not set"
 msgstr "Banco de dados padr�o n�o foi especificado"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "dblink %d solicitado, %d links no m�ximo"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Erro na regra da linha %d em %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 #, fuzzy
 msgid "Unable to open OGR DBMI driver"
 msgstr "n�o consegui abrir driver DBMI OGR"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "Erro desconhecido"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 #, fuzzy
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
@@ -8966,109 +9245,109 @@ msgstr "Bug: tentativa de atualizar mapa que n
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 #, fuzzy
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Um mapa que n�o est� no mapset atual n�o pode ser aberto para atualiza��o."
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, fuzzy, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "n�o consegui abrir vetor antigo %s no n�vel %d"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Favor reconstruir a topologia do vetor '%s@%s'"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Imposs�vel mudar de diret�rio para %s"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, fuzzy, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Bug: tentativa de atualizar mapa que n�o est� no mapset atual."
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Nome do mapa n�o obedece ao SQL"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "N�o consegui abrir hist�rico para o vetor %s"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "Fei��o OGR tipo %d n�o suportada)"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, fuzzy, c-format
 msgid "Unable to stat file <%s>"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr "Tamanho do arquivo 'coor' difere do valor gravado no arquivo topo."
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, fuzzy, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Favor reconstruir a topologia do vetor '%s@%s'"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr "Tamanho do arquivo 'coor' difere do valor gravado no arquivo topo."
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9137,89 +9416,89 @@ msgstr "Falha na conex
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Falha na conex�o.\n"
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "n�o � poss�vel adicionar um link ao banco de dados."
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Ignorando fei��o OGR sem ID"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Tipo de vetor desconhecido"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "N�mero de �reas sem centr�ide :   %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9288,16 +9567,33 @@ msgstr "Vetor de entrada '%s' n
 msgid "Topology info not available for feature %d"
 msgstr "No h� ajuda dispon�vel para o comando [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
 #: ../lib/vector/Vlib/graph.c:138
 #, fuzzy
 msgid "Unable to add network arc"
 msgstr "n�o consegui calcular centr�ide para �rea %d"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Imposs�vel mudar de diret�rio para %s"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9348,10 +9644,48 @@ msgstr "n
 #~ msgid "Unable to restore feature/offset %lu in vector map <%s>"
 #~ msgstr "Imposs�vel mudar de diret�rio para %s"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "n�o foi poss�vel abrir o arquivo com a tabela de datum: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "N�o consegui abrir hist�rico para o vetor %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "N�o consegui abrir hist�rico para o vetor %s"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "n�o foi poss�vel encontrar o arquivo null tempor�rio: %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: n�o consegui abrir o arquivo %s"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Desculpe <%s> n�o � uma op��o v�lida\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "ERRO: op��o <%s>:<%s> j� existe.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Imposs�vel mudar de diret�rio para %s"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "n�o foi poss�vel abrir o arquivo %s em %s"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "Pressione ENTER para continuar -->"
 
@@ -9360,12 +9694,8 @@ msgstr "n
 #~ msgstr "Vetor de entrada '%s' n�o encontrado"
 
 #, fuzzy
-#~ msgid "Attributes for category %d not found"
-#~ msgstr "Registro no banco de dados para categoria %d n�o encontrado"
-
-#, fuzzy
-#~ msgid "Cannot fetch row"
-#~ msgstr "n�o consegui obter informa��es da camada"
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Nome do mapa raster de entrada"
 
 #, fuzzy
 #~ msgid "Mode type: {0} not supported."
@@ -9380,5 +9710,9 @@ msgstr "n
 #~ msgstr "Imposs�vel mudar de diret�rio para %s"
 
 #, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Nome do mapa raster de entrada"
+#~ msgid "Attributes for category %d not found"
+#~ msgstr "Registro no banco de dados para categoria %d n�o encontrado"
+
+#, fuzzy
+#~ msgid "Cannot fetch row"
+#~ msgstr "n�o consegui obter informa��es da camada"
diff --git a/locale/po/grasslibs_ro.po b/locale/po/grasslibs_ro.po
index 8429d06..a3be035 100644
--- a/locale/po/grasslibs_ro.po
+++ b/locale/po/grasslibs_ro.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_ro\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2013-11-21 22:05+0200\n"
 "Last-Translator: Mihai Moise\n"
 "Language-Team: GRASS Translation Team <grass-translations at lists.osgeo.org>\n"
@@ -26,33 +26,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr ""
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, c-format
 msgid "Unknown display driver <%s>"
 msgstr ""
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, c-format
 msgid "Using display driver <%s>..."
 msgstr ""
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Nu s-a putut deschide <%s>"
-
 #: ../lib/display/icon.c:80
 #, c-format
 msgid "Unsupported icon %d"
@@ -83,7 +78,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr ""
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "Nu s-a putut dechide harta vectorială <%s>"
@@ -95,7 +90,7 @@ msgstr "Nu s-a putut dechide harta vectorială <%s>"
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -128,7 +123,7 @@ msgstr ""
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -156,8 +151,8 @@ msgstr "Un s-a putut citi harta vectorială <%s>"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -218,21 +213,33 @@ msgstr "Nu s-a putut deschide <%s>"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Nu s-a putut deschide <%s>"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Nu s-a putut deschide <%s>"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Harta raster <%s> nu este găsită"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr ""
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr ""
@@ -413,8 +420,10 @@ msgstr ""
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -426,45 +435,45 @@ msgstr "Nu s-a putut deschide baza de date <%s> by driver <%s>"
 msgid "Unable to get list tables in database <%s>"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Tabelul <%s> exista deja in baza de date <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Coloana <%s> nu este de tip integer"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Colona <%s> nu s-a găsit"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Nu s-a putut crea tabelul <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr ""
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr ""
@@ -534,6 +543,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr ""
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -853,201 +866,201 @@ msgstr ""
 msgid "Category value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "Id trăsătură"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 msgid "Name of input file"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Culoare"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 msgid "Coordinates"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 msgid "Name of saved region"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 msgid "Name of the input space time datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 msgid "Name of the output space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 msgid "Name of the input space time raster dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 msgid "Name of the input space time raster datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 msgid "Name of the output space time raster dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Nume pentru harta vectorială de ieșire"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 msgid "Name of the input space time raster3d dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 msgid "Name of the input space time raster3d datasets"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 msgid "Name of the output space time raster3d dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 msgid "Type of the input space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Nu s-a putut închide harta de intrare"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 msgid "The temporal type of the space time dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 msgid "Do not create attribute table"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1074,7 +1087,7 @@ msgid "SYNOPSIS"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr ""
 
@@ -1094,7 +1107,7 @@ msgid "Quiet module output"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Parametrii"
 
@@ -1197,7 +1210,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Proiecţie necunoscută"
 
@@ -1272,7 +1285,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr ""
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr ""
@@ -1353,17 +1366,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr ""
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "Harta raster <%s> nu este găsită"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr ""
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr ""
@@ -1540,6 +1553,11 @@ msgstr ""
 msgid "Duplicate compressed field"
 msgstr ""
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1586,22 +1604,22 @@ msgstr ""
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Nu s-a putut deschide '%s'"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "Nu s-a putut deschide '%s'"
@@ -1791,8 +1809,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr ""
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1851,6 +1870,10 @@ msgstr ""
 msgid "Invalid coordinates"
 msgstr ""
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr ""
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr ""
@@ -1915,147 +1938,147 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr ""
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr ""
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 msgid "ERROR"
 msgstr ""
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr ""
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr ""
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr ""
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
 "\tPresented as: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
 "\tLegal range: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr "Parametri formatului de ieșire invalizi"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
 "\tValid options: %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
 "\t(%s)"
 msgstr ""
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
 "\tYou provided %d item(s): %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, c-format
 msgid "%s= is not a separator option"
 msgstr ""
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, c-format
 msgid "No separator given for %s="
 msgstr ""
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, c-format
 msgid "%s= is not a file option"
 msgstr ""
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "rasterul 3D <%s> nu a fost găsit"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Nu s-a putut deschide <%s>"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Nu s-a putut crea rasterul <%s>"
@@ -2632,7 +2655,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Nu mai este memorie"
 
@@ -2654,11 +2678,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Se încarcă datele din tabelul de atribute"
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
@@ -2843,7 +2869,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Scrie șirul 2d în raster"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -2955,8 +2981,8 @@ msgstr ""
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3498,6 +3524,30 @@ msgstr ""
 msgid "Failed to initialize Cairo surface"
 msgstr ""
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, python-format
 msgid "Unknown dataset type: %s"
@@ -3738,11 +3788,11 @@ msgstr ""
 msgid "Creating a new space time %s dataset"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -3933,29 +3983,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Nu s-a putut citi intervalul pentru rasterul <%s> "
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Nu s-a putut citi intervalul rasterului 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Nu s-a putut închide rasterul 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nu s-a putut dechide harta vectorială <%s>"
@@ -4112,20 +4162,20 @@ msgstr ""
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4134,7 +4184,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4142,12 +4192,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Traducere culori pentru rasterul <%s>..."
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4155,49 +4205,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Nu s-a putut deschide <%s>"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Nu s-a putut crea tabelul <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Nu s-a putut aloca imaginea"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Nu s-a putut închide harta de intrare"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Nu s-a putut aloca fluxul"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Nu s-a putut deschide codecul"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4205,14 +4243,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Nu s-a putut aloca imaginea"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4339,7 +4377,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr ""
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4453,63 +4491,63 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Nu s-a putut citi intervalul pentru rasterul <%s> "
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Nu s-a putut crea rasterul <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Nu s-a putut citi intervalul pentru rasterul <%s> "
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Nu s-a putut crea rasterul <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Nu s-a putut crea rasterul <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Nu s-a putut dechide harta vectorială <%s>"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Un s-a putut citi harta vectorială <%s>"
@@ -4533,7 +4571,7 @@ msgid "Error computing map <%s>"
 msgstr "Eroare în dechiderea hărții g3d <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Harta vectorială <%s> nu a fost găsită"
@@ -4560,75 +4598,98 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "Eroare în dechiderea hărții g3d <%s>"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Nu s-a putut crea rasterul <%s>"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 msgid "All input space time datasets must have the same temporal type."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Nume pentru harta vectorială de intrare"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "rasterul 3D <%s> nu a fost găsit"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Nu s-a putut închide harta de intrare"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr ""
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr ""
@@ -4643,12 +4704,12 @@ msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Nu s-a putut citi intervalul rasterului 3D <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr ""
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Nu s-a putut crea rasterul <%s>"
@@ -4701,7 +4762,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4715,7 +4776,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr ""
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4723,89 +4788,97 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Nu s-a putut închide harta de intrare"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr ""
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr ""
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr ""
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr ""
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "nicio dată"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Culoare"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr ""
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4848,73 +4921,73 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Harta raster <%s> nu este găsită"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 msgid "Null value detected"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 msgid "Error executing: Rast_set_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Harta raster <%s> nu este găsită"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Harta raster <%s> nu este găsită"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, python-format
 msgid "Index out of range: %r."
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Harta raster <%s> nu este găsită"
@@ -4923,19 +4996,33 @@ msgstr "Harta raster <%s> nu este găsită"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Nu s-a putut citi intervalul pentru rasterul <%s> "
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Un s-a putut citi harta vectorială <%s>"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -4951,24 +5038,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr ""
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Eroare în găsirea intervalului"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Eroare în găsirea intervalului"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Eroare în găsirea intervalului"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Eroare în găsirea intervalului"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Eroare în găsirea intervalului"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Eroare în dechiderea hărții g3d <%s>"
@@ -5092,51 +5195,46 @@ msgstr "Eroare în găsirea intervalului"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "Eroare în găsirea intervalului"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr ""
 
+#: ../lib/raster/put_row.c:486
+msgid "GDAL output doesn't support writing null rows separately"
+msgstr ""
+
 #: ../lib/raster/put_row.c:489
 #, c-format
 msgid "No null file for <%s>"
 msgstr ""
 
-#: ../lib/raster/put_row.c:503
-msgid "GDAL output doesn't support writing null rows separately"
-msgstr ""
-
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
-
-#: ../lib/raster/put_row.c:528
-#, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "Nu s-a putut deschide <%s>"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "Eroare în găsirea intervalului"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "Eroare în timpul scrierii unui cadru video"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr ""
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr ""
 
@@ -5232,7 +5330,7 @@ msgstr ""
 msgid "Unable to open GDAL file"
 msgstr "Nu s-a putut deschide codecul"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, c-format
 msgid "Invalid map type <%d>"
 msgstr ""
@@ -5298,6 +5396,21 @@ msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr ""
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr ""
@@ -5378,135 +5491,140 @@ msgstr ""
 msgid "Rast_set_null_value: wrong data type!"
 msgstr ""
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, c-format
 msgid "Invalid descriptor: %d"
 msgstr ""
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Nu s-a putut citit fișierul foto al rasterului <%s>"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Nu s-a putut citit fișierul foto al rasterului <%s>"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr ""
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
 "%s> which does not exist"
 msgstr ""
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "Nu s-a putut citit fișierul foto al rasterului <%s>"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Nu s-a putut citi intervalul fp pentru rasterul <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Harta raster <%s> nu este găsită"
+msgid "Compression with %s is not supported"
+msgstr "rasterul 3D <%s> nu a fost găsit"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr "Rasterul <%s> este în afara actualei regiuni. Încărcarea a eșuat."
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "Rasterul <%s> este în afara actualei regiuni. Încărcarea a eșuat."
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Nu s-a putut deschide rasterul <%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Eroare în dechiderea hărții g3d <%s>"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Nu s-a putut scrie rândul %i din raster"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr ""
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr ""
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, c-format
 msgid "No temp files available: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Nu s-a putut crea rasterul <%s>"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Nu s-a gasit '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, c-format
 msgid "Missing type: field in file '%s'"
 msgstr ""
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5535,11 +5653,16 @@ msgstr "Nu s-a putut crea rasterul <%s>"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Nu s-a putut citi intervalul pentru rasterul <%s> "
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr ""
 
+#: ../lib/raster/format.c:176
+#, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr ""
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5858,123 +5981,157 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Nu s-a putut scrie rândul %i din raster"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 msgid "WARNING"
 msgstr ""
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 msgid "Exiting..."
 msgstr ""
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 msgid "Usage"
 msgstr ""
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 msgid "and set as default"
 msgstr ""
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/init/grass.py:219
-msgid "initial location"
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:345
+msgid "initial GRASS Location"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
+msgstr ""
+
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
+msgstr ""
+
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr ""
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr ""
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -5984,71 +6141,78 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
+msgstr ""
+
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
 msgstr ""
 
-#: ../lib/init/grass.py:597
+#: ../lib/init/grass.py:823
 #, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
 msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
+msgstr ""
+
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
@@ -6057,192 +6221,212 @@ msgstr ""
 "gsd_rot(): %c este o specificare de axă invalidă. Rotația ignorată. Adresați-"
 "vă dezvoltatorilor GRASS pentru această eroare"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
+msgstr ""
+
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 msgid "Building user fontcap..."
 msgstr ""
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
+#: ../lib/init/grass.py:1276
+msgid "The SHELL variable is not set"
 msgstr ""
 
-#: ../lib/init/grass.py:965
-msgid "The SHELL variable is not set"
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
 msgstr ""
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
+#: ../lib/init/grass.py:1330
 #, python-format
-msgid "Executing '%s' ..."
+msgid "Executing <%s> ..."
 msgstr ""
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Conexiune eșuată."
 
-#: ../lib/init/grass.py:994
+#: ../lib/init/grass.py:1340
 #, python-format
-msgid "GRASS GUI should be <%s>"
+msgid "Execution of <%s> finished."
 msgstr ""
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Nu s-a putut închide rasterul 3D <%s>"
+
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr ""
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
+#: ../lib/init/grass.py:1561
+msgid "Done."
 msgstr ""
 
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
+#: ../lib/init/grass.py:1563
 msgid "Goodbye from GRASS GIS"
 msgstr ""
 
-#: ../lib/init/grass.py:1188
-msgid "Done."
-msgstr ""
-
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr ""
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "rasterul 3D <%s> nu a fost găsit"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, python-format
 msgid "Failed to start shell '%s'"
 msgstr ""
@@ -6701,8 +6885,8 @@ msgstr ""
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6807,10 +6991,10 @@ msgstr ""
 msgid "conditions failed"
 msgstr ""
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6842,7 +7026,7 @@ msgstr ""
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -6863,22 +7047,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Un s-a putut citi harta vectorială <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Un s-a putut citi harta vectorială <%s>"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr ""
@@ -6903,7 +7087,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr ""
 
@@ -6917,17 +7101,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, c-format
 msgid "Unable to read line offset %ld"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, c-format
 msgid "Unable to read feature id %d"
 msgstr ""
@@ -6945,16 +7129,16 @@ msgstr ""
 msgid "Category index out of range"
 msgstr "Categoria trebuie să fie de tip integer"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 msgid "Error writing out category index file"
 msgstr ""
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr ""
@@ -6985,7 +7169,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr ""
@@ -7081,7 +7265,7 @@ msgstr "Încărcare eșuată"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7117,95 +7301,111 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr ""
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Nu s-a putut crea rasterul <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Nu s-a putut deschide <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr ""
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Nu s-a putut crea tabelul <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr ""
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
-msgstr ""
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
+msgstr "Nu s-a putut citit fișierul foto al rasterului <%s>"
 
 #: ../lib/vector/Vlib/dangles.c:148
 msgid "Changed"
@@ -7229,19 +7429,19 @@ msgstr ""
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Nu s-a putut dechide harta vectorială <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7277,7 +7477,7 @@ msgstr ""
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Un s-a putut citi harta vectorială <%s>"
@@ -7330,131 +7530,200 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr "Nu s-a putut închide rasterul 3D <%s>"
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-msgid "for this format/level not supported"
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
 msgstr ""
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "Harta vectorială <%s> nu a fost găsită"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "Un s-a putut citi harta vectorială <%s>"
-
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "Categoria trebuie să fie de tip integer"
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Colona <%s> nu s-a găsit"
 
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "Categoria trebuie să fie de tip integer"
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "Categoria trebuie să fie de tip integer"
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
 
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "Categoria trebuie să fie de tip integer"
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+msgid "Cannot add network arc for virtual node connection."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:407
 #, c-format
-msgid "Column <%s> not found in table <%s>"
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:432
 #, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:222
+#: ../lib/vector/Vlib/net_build.c:465
+msgid "Cannot add network arc representing turn."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
 msgid "Registering arcs..."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
+"(cost was set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:596
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:412
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "Nu s-a putut închide rasterul 3D <%s>"
+
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+msgid "for this format/level not supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
 msgstr ""
 
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "Harta vectorială <%s> nu a fost găsită"
+
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "Un s-a putut citi harta vectorială <%s>"
+
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "Categoria trebuie să fie de tip integer"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "Categoria trebuie să fie de tip integer"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "Categoria trebuie să fie de tip integer"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "Categoria trebuie să fie de tip integer"
+
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7576,7 +7845,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7585,7 +7854,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7599,7 +7868,7 @@ msgstr ""
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7626,7 +7895,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Nu s-a putut deschide codecul"
@@ -7798,8 +8067,8 @@ msgstr ""
 msgid "Number of redundant holes: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Nu s-a putut dechide harta vectorială <%s>"
@@ -7896,36 +8165,36 @@ msgstr ""
 msgid "Number of isles: -"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Nu s-a putut citit fișierul foto al rasterului <%s>"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Un s-a putut citi harta vectorială <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr ""
 
@@ -8094,62 +8363,62 @@ msgstr ""
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, c-format
 msgid "New vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 msgid "Reading features..."
 msgstr ""
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Nu s-a putut citi intervalul pentru rasterul <%s> "
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Nu s-a putut deschide fișierul <%s> pentru scriere"
@@ -8159,7 +8428,7 @@ msgstr "Nu s-a putut deschide fișierul <%s> pentru scriere"
 msgid "Unable to rewrite feature %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, c-format
 msgid "Invalid offset (%ld)"
 msgstr ""
@@ -8418,14 +8687,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Conexiune eșuată."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Conexiune eșuată."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8628,51 +8904,51 @@ msgstr ""
 msgid "Default database is not set"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Nu s-a putut deschide <%s>"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 msgid "Unknown vector map format"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 
@@ -8743,104 +9019,104 @@ msgstr "Harta vectorială <%s> nu a fost găsită"
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "Nu s-a putut dechide harta vectorială <%s>"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Nu s-a putut dechide harta vectorială <%s>"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Nu s-a putut crea rasterul <%s>"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Un s-a putut citi harta vectorială <%s>"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Nu s-a putut dechide harta vectorială <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 msgid "Using native format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Nu s-a putut deschide codecul"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -8905,88 +9181,88 @@ msgstr "Conexiune eșuată."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Conexiune eșuată."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Nu s-a putut aloca fluxul"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, c-format
 msgid "Area %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 msgid "Unable to get map bounding box from topology"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Nu s-a putut deschide rasterul <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9051,13 +9327,30 @@ msgstr ""
 msgid "Topology info not available for feature %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/graph.c:138
-msgid "Unable to add network arc"
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
 msgstr ""
 
-#: ../lib/vector/Vlib/write_ogr.c:134
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
 #, c-format
-msgid "Invalid offset (%d)"
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
+#: ../lib/vector/Vlib/graph.c:138
+msgid "Unable to add network arc"
 msgstr ""
 
 #: ../lib/vector/Vlib/write_ogr.c:239
@@ -9111,12 +9404,42 @@ msgstr "Nu s-a putut crea rasterul <%s>"
 #~ msgstr "Nu mai este memorie"
 
 #, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "Nu s-a putut citit fișierul categorie al rasterului <%s>"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "Nu s-a putut deschide <%s>"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Nu s-a putut deschide <%s>"
+
+#, fuzzy
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "Harta vectorială <%s> nu a fost găsită"
 
-#~ msgid "Category must be integer"
-#~ msgstr "Categoria trebuie să fie de tip integer"
-
 #, fuzzy
 #~ msgid "Removing empty 3D raster maps"
 #~ msgstr "Nume pentru harta vectorială de intrare"
+
+#~ msgid "Category must be integer"
+#~ msgstr "Categoria trebuie să fie de tip integer"
diff --git a/locale/po/grasslibs_ru.po b/locale/po/grasslibs_ru.po
index 64210c3..f665396 100644
--- a/locale/po/grasslibs_ru.po
+++ b/locale/po/grasslibs_ru.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_ru\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2009-01-27 22:58-0600\n"
 "Last-Translator: Maxim Dubinin <sim at gis-lab.info>\n"
 "Language-Team: Russian <grass-translations at lists.osgeo.org>\n"
@@ -28,33 +28,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr "%s: Отсутствует файл описания шрифта"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Невозможен запуск драйвера <%s>"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Невозможен запуск драйвера <%s>"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Невозможно открыть файл %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -87,7 +82,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "в текущем наборе (%s) файлов %s нет"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "в текущем наборе (%s) файлов %s нет"
@@ -99,7 +94,7 @@ msgstr "в текущем наборе (%s) файлов %s нет"
 msgid "%s is missing"
 msgstr "который отсутствует."
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -132,7 +127,7 @@ msgstr " "
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -160,8 +155,8 @@ msgstr "Невозможно скопировать векторный слой
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -222,21 +217,33 @@ msgstr "Невозможно открыть <%s>"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Невозможно открыть файл %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Невозможно удалить файл '%s'"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Векторный слой <%s> уже существует и будет перезаписан"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Векторный слой <%s> уже существует и будет перезаписан"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -420,8 +427,10 @@ msgstr "Невозможен запуск драйвера <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -433,45 +442,45 @@ msgstr "Невозможно открыть БД <%s> с помощью драй
 msgid "Unable to get list tables in database <%s>"
 msgstr "Невозможно получить список таблиц базы данных <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Векторный слой <%s> уже существует и будет перезаписан"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Таблица <%s> уже есть в базе данных <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Невозможно открыть выбранный курсор: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Поле <%s> не целочисленное"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Поле <%s> не найдено"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Невозможно создать таблицу <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Невозможно получить данные из таблицы <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Неизвестный тип поля (поле <%s>)"
@@ -542,6 +551,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "Невозможно открыть debug-файл '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -878,218 +891,218 @@ msgstr ""
 msgid "Category value"
 msgstr "Значение категории"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Значения категорий"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Пример: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "Id объекта"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "Id объектов"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "Имя исходного файла"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "Имя выходного файла"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Разделитель полей"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Цвет"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Либо стандратное название цвета, либо триплет R:G:B"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Либо стандартный цвет GRASS, либо триплет R:G:B, либо \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Имя исходного файла"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Неверные координаты"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Имя исходного векторного слоя"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Невозможно установить фокус"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Имя исходного(ых) растрового(ых) слоя(слоев)"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "Растрового слоя <%s> нет в текущем наборе (%s)"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Имя выходной растровой карты"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Имя растрового слоя высот"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Имя растрового слоя высот"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Имя выходной растровой карты"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Имя исходного(ых) векторного(ых) слоя(слоев)"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Имя исходного(ых) векторного(ых) слоя(слоев)"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Недостаточно места в векторном массиве"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Имя исходного raster3d слоя"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Имя исходного raster3d слоя"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Имя выходного raster3d слоя"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "Растрового слоя <%s> нет в текущем наборе (%s)"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Имя исходной растровой карты"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Имя исходной растровой карты"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Невозможно закрыть исходный слой"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Растровый слой <%s> не найден в наборе <%s>"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "условия WHERE  SQL-запроса не имеет ключевого слова 'where'"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Загружаются данные из таблицы аттрибутов"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 msgid "Do not build topology"
 msgstr ""
 
@@ -1116,7 +1129,7 @@ msgid "SYNOPSIS"
 msgstr "Синопсис"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Флаги"
 
@@ -1136,7 +1149,7 @@ msgid "Quiet module output"
 msgstr "Краткое описание работы модуля"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Параметры"
 
@@ -1252,7 +1265,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Неизвестная проекция"
 
@@ -1327,7 +1340,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "ПРЕДУПРЕЖДЕНИЕ: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "ОШИБКА: "
@@ -1409,17 +1422,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "Файл <%s> не найден для области <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: Полигон %d не существует"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Невозможно создать элемент набора %s (%s)"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Невозможно создать элемент набора %s (%s)"
@@ -1620,6 +1633,11 @@ msgstr "дважды задано поле формата"
 msgid "Duplicate compressed field"
 msgstr "дважды задано поле сжатия"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, fuzzy, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1669,22 +1687,22 @@ msgstr "Неверный параметр es: поле '%s' в файле %s в
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Нет информации об эллипсоиде в файле %s в <%s>"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): набор <%s> не совпадает с xmapset <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Невозможно открыть [%s]"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr "G__open(write): xmapset <%s> != G_mapset() <%s>"
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: невозможно открыть файл %s"
@@ -1874,8 +1892,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Неверно задано разрешение север-юг"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1934,6 +1953,10 @@ msgstr "Восток должен быть больше Запада"
 msgid "Invalid coordinates"
 msgstr "Неверные координаты"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Неверно задано разрешение север-юг"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Неправильное разрешение n-s3"
@@ -1999,82 +2022,82 @@ msgid ""
 msgstr ""
 " Только %d%% окна сохранено в \"%s\" пересекается с текущим окном GRASS."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "Ошибка в описаниях, опция %s в <%s> не существует"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "Ошибка в описаниях, опция %s в <%s> не существует"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 "Используйте либо флаг --quiet либо --verbose, но не оба вместе. "
 "Предполагается --verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 "Используйте либо флаг --quiet либо --verbose, но не оба вместе. "
 "Предполагается --quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Извините, опция <%s> неверна\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "ОШИБКА: "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "Невозможно определить имя программы"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Извините, флаг <%c> неверен\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Извините, параметр <%s=> неоднозначен\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Извините, параметр <%s> неверен\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> в наборе <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2083,7 +2106,7 @@ msgstr ""
 "\n"
 "Ошибка: неверный синтаксис диапазона для параметра <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2092,14 +2115,14 @@ msgstr ""
 "\n"
 "Ошибка: значение <%s> выходит за диапазон параметра <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "Ошибка: Отсутвует значение для параметра <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2108,7 +2131,7 @@ msgstr ""
 "\n"
 "Ошибка: значение <%s> выходит за диапазон параметра <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2118,7 +2141,7 @@ msgstr ""
 "Ошибка: Требуемый параметр <%s> не установлен:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2127,37 +2150,37 @@ msgstr ""
 "\n"
 "Ошибка: опция <%s> должна задаваться в множественных значениях %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Извините, опция <%s> неверна\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Разделитель полей"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Извините, опция <%s> неверна\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "тип данных OGR %d не поддерживается"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Невозможно открыть файл %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Невозможно создать таблицу <%s>"
@@ -2740,7 +2763,8 @@ msgstr " "
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Нет памяти"
 
@@ -2762,11 +2786,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Загружаются данные из таблицы аттрибутов"
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Для слоя %d не определено соединение с базой данных"
@@ -2960,7 +2986,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Записать 2d массив в растровый слой <%s>"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3072,8 +3098,8 @@ msgstr "Выходной фактор единиц"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3627,6 +3653,30 @@ msgstr "Неизвестный тип интерполяции"
 msgid "Failed to initialize Cairo surface"
 msgstr "Невозможно инициализировать pj причину: %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3873,11 +3923,11 @@ msgstr "Невозможно создать файл заголовка для [
 msgid "Creating a new space time %s dataset"
 msgstr "Растровый слой <%s> не найден в наборе <%s>"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4068,29 +4118,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Не могу открыть файл заголовка"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Невозможно прочесть диапазон растрового 3D слоя <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Невозможно закрыть растровый 3D слой <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Невозможно открыть векторный слой <%s>"
@@ -4249,20 +4299,20 @@ msgstr "Растровый слой <%s> не найден в наборе <%s>"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "Невозможно открыть файл определений векторной базы данных '%s'"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4271,7 +4321,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Невозможно открыть файл определений векторной базы данных '%s'"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4279,12 +4329,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Невозможно открыть файл определений векторной базы данных '%s'"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Невозможно открыть базу данных %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4292,49 +4342,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Невозможно создать элемент набора %s (%s)"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Невозможно открыть файл определений векторной базы данных '%s'"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Невозможно создать таблицу <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Невозможно выполнить команду"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Невозможно открыть файл заголовка для векторного слоя <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Невозможно найти '%s'"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Невозможно открыть файл заголовка для векторного слоя <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Невозможно открыть файл статистики <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Невозможно выполнить команду"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4342,14 +4380,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Невозможно выполнить команду"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4476,7 +4514,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Невозможно найти векторный слой <%s> в <%s>"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4591,64 +4629,64 @@ msgid ""
 "%s"
 msgstr "Векторный слой <%s> уже существует и будет перезаписан"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Неверный формат файла временной метки для %s карты %s в наборе %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "синтаксическая ошибка"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Неверный формат файла временной метки для %s карты %s в наборе %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Неверный формат файла временной метки для %s карты %s в наборе %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
@@ -4673,7 +4711,7 @@ msgid "Error computing map <%s>"
 msgstr "Ошибка открытия g3d слоя <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Невозможно найти векторный слой <%s> в <%s>"
@@ -4700,76 +4738,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  формат: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Имя базовой растровой карты"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Невозможно найти векторный слой <%s> в <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Имя исходной растровой карты"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Растровый слой <%s> не найден"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Невозможно закрыть исходный слой"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Невозможно найти векторный слой <%s> в <%s>"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Растровый слой <%s> не найден"
@@ -4784,12 +4846,12 @@ msgstr "Невозможно прочитать файл заголовка дл
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Невозможно прочитать диапазон растрового слоя <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Растровый слой <%s> не найден"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
@@ -4844,7 +4906,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4859,7 +4921,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Невозможно получить данные из таблицы <%s>"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4867,46 +4933,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Невозможно закрыть исходный слой"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Векторный слой <%s> уже существует и будет перезаписан"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Неправильное имя файла.  Не должно быть '.' или 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Неправильное имя файла. Знак <%c> недопустим.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4915,43 +4989,43 @@ msgstr ""
 "Невозможно восстановить объект %d, векторный слой <%s> не открыт в режиме "
 "записи"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Имя исходного векторного слоя"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Цвет"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "Для слоя %d не определено соединение с базой данных"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Ошибка загрузки векторного слоя <%s>"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4996,75 +5070,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "тип данных OGR %d не поддерживается"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "тип данных OGR %d не поддерживается"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "тип данных OGR %d не поддерживается"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Имя поля"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Ошибка чтения растрового слоя"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Векторный слой <%s> уже существует и будет перезаписан"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "OGR объект без ID проигнорирован"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Индекс вне диапазона в"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Векторный слой <%s> уже существует и будет перезаписан"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Таблица <%s> связанная с векторным слоем <%s> не существует"
@@ -5073,19 +5147,33 @@ msgstr "Таблица <%s> связанная с векторным слоем
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Невозможно прочитать линию %d"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Невозможно перезаписать объект %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5101,24 +5189,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Неизвестный тип интерполяции"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr "Чтение растрового слоя <%s@%s> ряд %d находится вне диапазона"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Ошибка чтения сжатой слоя [%s] из набора [%s], ряд %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Ошибка чтения сжатой слоя [%s] из набора [%s], ряд %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Ошибка записи в файл индекса категорий <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Ошибка чтения сжатой слоя [%s] из набора [%s], ряд %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Ошибка чтения сжатой слоя [%s] из набора [%s], ряд %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Ошибка чтения нулевого ряда %d"
@@ -5248,51 +5352,46 @@ msgstr "Ошибка чтения сжатой слоя [%s] из набора [
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "Ошибка чтения сжатой слоя [%s] из набора [%s], ряд %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "Ошибка чтения сжатой слоя [%s] из набора [%s], ряд %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "Ошибка чтения сжатой слоя [%s] из набора [%s], ряд %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Ошибка записи в файл индекса категорий <%s>"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Невозможно открыть файл заголовка вектора <%s>"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "невозможно найти временный null-файл %s"
+msgid "No null file for <%s>"
+msgstr "Невозможно открыть файл заголовка вектора <%s>"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: невозможно открыть файл %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "Ошибка чтения сжатой слоя [%s] из набора [%s], ряд %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "ошибка при записи нулевой строки %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: слой [%s] не открыт для записи - запрос игнорирован"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: дескриптор файла не открыт  - запрос игнорирован"
@@ -5389,7 +5488,7 @@ msgstr "Невозможно загрузить библиотеку GDAL"
 msgid "Unable to open GDAL file"
 msgstr "Невозможно открыть файл %s"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "Неправильное имя векторного слоя <%s>"
@@ -5457,6 +5556,21 @@ msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr ""
 "Система не инициализирована. Программистов не выполнен вызов G_gisinit()."
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "синтаксическая ошибка"
@@ -5541,26 +5655,26 @@ msgstr "EmbedGivenNulls: неверный тип данных!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: неверный тип данных!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "Неправильное имя векторного слоя <%s>"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Невозможно открыть файл статистики <%s>"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Невозможно удалить файл '%s'"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "невозможно записать файл f_format для CELL карт"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5569,27 +5683,27 @@ msgstr ""
 "Невозможно открыть растровый слой <%s@%s> так как он - переклассификация "
 "растрового слоя <%s@%s> которая не существует"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "невозможно прочитать файл диапазона для [%s в %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Ошибка загрузки растрового 3d слоя <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "Растровый слой <%s@%s>: формат поля в файле заголовка неверен"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Растровый слой <%s> не найден в наборе <%s>"
+msgid "Compression with %s is not supported"
+msgstr "тип данных OGR %d не поддерживается"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5598,84 +5712,89 @@ msgstr ""
 "Растровый слой <%s@%s> в проекции отличной от проекции текущего региона. "
 "Найден растровый слой <%s@%s>, должно быть <%s> ."
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "Растровый слой <%s@%s> в другой зоне (%d) чем текущий регион (%d)"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "Растровый слой <%s@%s>: слишком много байт на ячейку (%d) "
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 "слой <%s@%s> является связью GDAL но GRASS скомпилирован без поддержки GDAL"
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Невозможно открыть файл заголовка для растрового слоя <%s@%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Ошибка чтения слоя <%s@%s>, ряд %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Невозможно открыть файл %s"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Растрового слоя <%s> нет в текущем наборе (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> - неправильное имя файла"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "G__open_raster_new(): недоступны временные файлы"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Растрового слоя <%s> нет в текущем наборе (%s)"
+
+#: ../lib/raster/open.c:816
 #, fuzzy
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr "G_set_fp_type(): может быть вызвано только с FCELL_TYPE или DCELL_TYPE"
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Растровый слой <%s> не найден в наборе <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Невозможно найти '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Неверный тип: поле '%s' в файле '%s'"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "Неверный тип: поле '%s' в файле '%s'"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Растровый слой <%s> не xdr: byte_order: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 #, fuzzy
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
@@ -5706,11 +5825,16 @@ msgstr "Невозможно записать правила разбиения
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Невозможно прочитать диапазон растрового слоя <%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Ошибка чтения сжатого файла [%s в %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Ошибка чтения сжатого файла [%s в %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6029,17 +6153,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Невозможно открыть файл статистики <%s>"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Устанавливается стоимость для узлов..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6047,115 +6171,149 @@ msgstr ""
 "Использование:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "чтобы установить по умолчанию"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
+msgstr ""
+
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "неверная проекция\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
+msgstr ""
+
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Невозможно разместить временное изображение"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Запрашиваемый формат для этой версии не скомпилирован."
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6165,268 +6323,295 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Извините, опция <%s> неверна\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
+msgstr ""
+
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "Сообщите разработчикам GRASS об этой ошибке.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s: Полигон %d не существует"
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: Полигон %d не существует"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s: Полигон %d не существует"
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Построение графа..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - переменная не установлена"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Устанавливается стоимость для узлов..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Ошибка соединения."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Невозможно получить данные из таблицы <%s>"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Невозможно установить фокус"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "Нет справки для команды [%s]\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "нет"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "Невозможно открыть временный файл"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "тип данных OGR %d не поддерживается"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Невозможен запуск драйвера <%s>"
@@ -6924,8 +7109,8 @@ msgstr "Невозможно записать острова в плюс-фай
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "ошибка GngFlatten"
 
@@ -7032,10 +7217,10 @@ msgstr "Невозможно найти точку в полигоне"
 msgid "conditions failed"
 msgstr "условие не выполнено"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7068,7 +7253,7 @@ msgstr "Невозможно перезаписать объект %d"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7089,22 +7274,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Невозможно восстановить объект %d из векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Невозможно открыть файл заголовка для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "Невозможно открыть файл заголовка вектора <%s>"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Испорченная строка в заголовке  %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Неизвестное ключевое слово %s в заголовке вектора"
@@ -7132,7 +7317,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "для этого формата/уровня не поддерживается "
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Попытка считать информацию об удаленной линии"
 
@@ -7146,17 +7331,17 @@ msgstr "Невозможно перезаписать объект %d"
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Невозможно прочитать линию %d"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Попытка считать точки из несуществующего полигона"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "Невозможно перезаписать объект %d"
@@ -7174,17 +7359,17 @@ msgstr "Индекс слоя вне диапазона"
 msgid "Category index out of range"
 msgstr "Индекс слоя вне диапазона"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Невозможно открыть файл индекса категорий для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Ошибка записи в файл индекса категорий <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "Невозможно открыть файл индекса категорий для векторного слоя <%s>"
@@ -7216,7 +7401,7 @@ msgstr "OGR объект без ID проигнорирован"
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Невозможно открыть OGR источник данных '%s'"
@@ -7319,7 +7504,7 @@ msgstr "Загрузка не выполнена"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7356,94 +7541,110 @@ msgstr "%s: Полигон %d не существует"
 msgid "Attempt to access dead area %d"
 msgstr "Попытка удалить уже удаленный объект"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Невозможно создать таблицу <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Невозможно скопировать таблицу <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Невозможно скопировать таблицу <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Невозможно скопировать таблицу <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Имя векторного слоя не SQL-совместимо"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "Невозможно найти векторный слой <%s> в <%s>"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Векторный слой <%s> уже существует и будет перезаписан"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Невозможно удалить векторный слой <%s>"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Невозможно скопировать векторный слой <%s> в <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Невозможно скопировать таблицу <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Невозможно удалить таблицу <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Невозможно создать индекс для таблицы <%s>, ключ <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Неправильное имя векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Невозможно открыть файл заголовка для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Невозможно найти таблицу <%s> связанную с векторным слоем <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "Таблица <%s> связанная с векторным слоем <%s> не существует"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Невозможно открыть папку '%s'"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Невозможно удалить файл '%s'"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Невозможно переименовать папку '%s' в '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "Невозможно удалить папку '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7469,12 +7670,12 @@ msgstr "Количество линий: %d"
 msgid "%s dangles: %d"
 msgstr "Удаленные висящие узлы"
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Невозможно открыть файл истории для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
@@ -7483,7 +7684,7 @@ msgstr ""
 "Файлы coor векторного слоя <%s@%s> больше, чем они должны быть (на %ld "
 "байтов)"
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7521,7 +7722,7 @@ msgstr "Тип объекта"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Невозможно открыть файл индекса категорий для векторного слоя <%s>"
@@ -7575,6 +7776,162 @@ msgstr "Разрывы"
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Построение графа..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Невозможно построить сетевой граф"
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Не выбран столбец forward costs"
+
+#: ../lib/vector/Vlib/net_build.c:156
+#, fuzzy
+msgid "Turntable field < 1"
+msgstr "поле Arc < 1"
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Поле <%s> не найдено в таблице <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr "Тип данных поля <%s> не поддерживается (должен быть числовым)"
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "Устанавливается стоимость для узлов..."
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Поле <%s> не найдено в таблице <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr "Запись в БД для узла  %d (cat = %d) не найдена (стоимость = 0)"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Невозможно добавить сетевую дугу "
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr "Запись в БД для узла  %d (cat = %d) не найдена (стоимость = 0)"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Невозможно добавить сетевую дугу "
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr "поле Arc < 1"
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Регистрируются дуги..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"Запись в БД для линии %d (cat = %d, вперед/оба направления) не найден "
+"(вперед/оба направления линии пропущены)"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr ""
+"Запись в БД для линии %d (cat = %d, направление назад) не найден "
+"(направление назад пропущено)"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Выпрямление графа"
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Граф построен"
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+"Запись в БД для линии %d (cat = %d, вперед/оба направления) не найден "
+"(вперед/оба направления линии пропущены)"
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+"Запись в БД для линии %d (cat = %d, направление назад) не найден "
+"(направление назад пропущено)"
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "Невозможно добавить сетевую дугу "
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7624,86 +7981,6 @@ msgstr "Индекс слоя вне диапазона"
 msgid "Isle index is out of range"
 msgstr "Индекс слоя вне диапазона"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Построение графа..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Невозможно построить сетевой граф"
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Не выбран столбец forward costs"
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr "поле Arc < 1"
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "Поле <%s> не найдено в таблице <%s>"
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr "Тип данных поля <%s> не поддерживается (должен быть числовым)"
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Регистрируются дуги..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-"Запись в БД для линии %d (cat = %d, вперед/оба направления) не найден "
-"(вперед/оба направления линии пропущены)"
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr ""
-"Запись в БД для линии %d (cat = %d, направление назад) не найден "
-"(направление назад пропущено)"
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "Невозможно добавить сетевую дугу "
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "Устанавливается стоимость для узлов..."
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr "Запись в БД для узла  %d (cat = %d) не найдена (стоимость = 0)"
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Выпрямление графа"
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Граф построен"
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "ошибка dglShortestPath : %s"
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Неправильное направление линии в Vect_net_get_line_cost()"
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7829,7 +8106,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Плохое соединение с сервером"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7839,7 +8116,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr "Для этого слоя OGR не поддерживается cлучайное чтение"
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7854,7 +8131,7 @@ msgstr "Построение топологии для векторного сл
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Построение топологии для векторного слоя  <%s>..."
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7883,7 +8160,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Невозможно открыть файл %s"
@@ -8062,8 +8339,8 @@ msgstr "Количество неправильных границ: %d"
 msgid "Number of redundant holes: %d"
 msgstr "Количество границ: %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Невозможно открыть файл индекса категорий для векторного слоя <%s>"
@@ -8160,16 +8437,16 @@ msgstr "Количество полигонов: -"
 msgid "Number of isles: -"
 msgstr "Количество островов: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Невозможно прочитать файл заголовка для растрового слоя <%s@%s>."
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Ошибка записи топо файла"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
@@ -8178,21 +8455,21 @@ msgstr ""
 "Невозможно построить пространственный индекс из топологии, векторный слой не "
 "открыт на втором топо уровне"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "Ошибка (Vect_build_sidx_from_topo): узел не существует"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Невозможно открыть файл индекса категорий для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Ошибка записи файл пространственного индекса"
 
@@ -8369,64 +8646,64 @@ msgstr "неизвестный оператор"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, fuzzy, c-format
 msgid "Snapped vertices: %d"
 msgstr "Прилепленные вершины"
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "Новые узлы"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Построение полигонов..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Невозможно перезаписать объект %d"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Попытка удалить уже удаленный объект"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Невозможно перезаписать объект %d"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Невозможно перезаписать объект %d"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 #, fuzzy
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr "Для этого слоя OGR не поддерживается cлучайное чтение"
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr " Невозможно открыть топо-файл для записи <%s>"
@@ -8436,7 +8713,7 @@ msgstr " Невозможно открыть топо-файл для запис
 msgid "Unable to rewrite feature %d"
 msgstr "Невозможно перезаписать объект %d"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Неправильное имя векторного слоя <%s>"
@@ -8701,14 +8978,21 @@ msgstr "Испорченная строка в заголовке  %s"
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Ошибка соединения."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Ошибка соединения."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8918,26 +9202,26 @@ msgstr "Драйвер по умолчанию не установлен"
 msgid "Default database is not set"
 msgstr "База данных по умолчанию не установлена "
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Запрашиваемый dblink %d, максимальное число связей %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Ошибка в правиле для ряда %d в %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Невозможно открыть слой <%s>"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "Невозможно открыть драйвер OGR DBMI"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -8945,27 +9229,27 @@ msgstr ""
 "Все тесты FID окончены неудачно. Ни  'FID' ни 'ogc_fid' ни 'ogr_fid' ни "
 "'gid' недоступны в таблице OGR DB"
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "неизвестный оператор"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Невозможно открыть файл заголовка для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "Ошибка: попытка обновить слой не содержащийся в текущем наборе ."
 
@@ -9040,24 +9324,24 @@ msgstr "Растрового слоя <%s> нет в текущем наборе
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "Растрового слоя <%s> нет в текущем наборе (%s)"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Векторный слой не находится в текущем наборе и не может быть открыт для "
 "обновления"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Невозможно открыть файл заголовка для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "Невозможно открыть файл топологии для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9066,86 +9350,86 @@ msgstr ""
 "Невозможно открыть векторный слой <%s> на уровне %d. Попробуйте перестроить "
 "векторную топологию с помощью v.build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Построение топологии для векторного слоя  <%s>..."
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "Невозможно открыть векторный слой <%s>"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "Невозможно открыть файл истории для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Растрового слоя <%s> нет в текущем наборе (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Имя векторного слоя не SQL-совместимо"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Невозможно открыть файл истории для векторного слоя <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "для этого формата/уровня не поддерживается "
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, fuzzy, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Невозможно открыть файл статистики <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "Размер файла 'coor' отличается от значения сохраненного в файле топологии"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Пожалуйста, перестройте топологию для векторного слоя <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 "Размер файла 'coor' отличается от значения сохраненного в файле топологии"
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Невозможно открыть файл %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9213,89 +9497,89 @@ msgstr "Ошибка соединения."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Ошибка соединения."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Невозможно связь с базой данных"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "OGR объект без ID проигнорирован"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Тип объекта"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Количество полигонов без центроидов: %d"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Невозможно получить данные из таблицы <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Невозможно открыть файл статистики <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9360,15 +9644,32 @@ msgstr "Линия не зациклена"
 msgid "Topology info not available for feature %d"
 msgstr "Нет справки для команды [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "ошибка dglShortestPath : %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Неправильное направление линии в Vect_net_get_line_cost()"
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "Невозможно добавить сетевую дугу"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Неправильное имя векторного слоя <%s>"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9423,10 +9724,48 @@ msgstr "Невозможно создать таблицу <%s>"
 #~ msgid "Out of memmory"
 #~ msgstr "Нет памяти"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Невозможно открыть файл определений векторной базы данных '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Невозможно открыть файл заголовка для векторного слоя <%s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Невозможно открыть файл заголовка для векторного слоя <%s>"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "невозможно найти временный null-файл %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: невозможно открыть файл %s"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Извините, опция <%s> неверна\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "Ошибка: опция <%s>: <%s> существует.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Неправильное имя векторного слоя <%s>"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Невозможно открыть файл %s"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "нажмите RETURN для продолжения -->"
 
@@ -9434,6 +9773,25 @@ msgstr "Невозможно создать таблицу <%s>"
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "Векторный слой <%s> не открыт на уровне >= 2"
 
+#~ msgid "Background color"
+#~ msgstr "Цвет фона"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Имя исходной растровой карты"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "тип данных OGR %d не поддерживается"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "Неправильное имя векторного слоя <%s>"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "Неправильное имя векторного слоя <%s>"
+
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "Атрибуты для категории %d не найдены"
 
@@ -9458,22 +9816,3 @@ msgstr "Невозможно создать таблицу <%s>"
 
 #~ msgid "G_oldsite_new_struct: invalid # dims or fields"
 #~ msgstr "G_oldsite_new_struct: неправильное число размерностей или полей"
-
-#~ msgid "Background color"
-#~ msgstr "Цвет фона"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "тип данных OGR %d не поддерживается"
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "Неправильное имя векторного слоя <%s>"
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "Неправильное имя векторного слоя <%s>"
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Имя исходной растровой карты"
diff --git a/locale/po/grasslibs_sl.po b/locale/po/grasslibs_sl.po
index 6d58874..2860df4 100644
--- a/locale/po/grasslibs_sl.po
+++ b/locale/po/grasslibs_sl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_sl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2005-04-26 09:38+0200\n"
 "Last-Translator: Miha Staut <mihastaut at yahoo.co.uk>\n"
 "Language-Team: Sloven��ina <grass-translations at lists.osgeo.org>\n"
@@ -28,33 +28,28 @@ msgstr ""
 msgid "%s: No font definition file"
 msgstr ""
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Nezmo�en odpreti datoteko %s v %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -87,7 +82,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "v trenutnem \"mapset\" ni datotek z imenom %s\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "v trenutnem \"mapset\" ni datotek z imenom %s\n"
@@ -99,7 +94,7 @@ msgstr "v trenutnem \"mapset\" ni datotek z imenom %s\n"
 msgid "%s is missing"
 msgstr "kateri manjka"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -132,7 +127,7 @@ msgstr "Ne morem zapisati povezav z bazo podatkov."
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, fuzzy, c-format
@@ -160,8 +155,8 @@ msgstr "ne morem odpreti rastrskega sloja [%s v %s]"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -222,21 +217,33 @@ msgstr "Ne morem odpreti %s"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Vektor '%s' �e obstaja in bo prepisan."
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Vektor '%s' �e obstaja in bo prepisan."
+
 #: ../lib/db/dbmi_base/error.c:72
 msgid "<NULL error message>"
 msgstr ""
@@ -407,8 +414,10 @@ msgstr "Nezmo
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, fuzzy, c-format
@@ -420,45 +429,45 @@ msgstr "Ne morem zapisati povezav z bazo podatkov."
 msgid "Unable to get list tables in database <%s>"
 msgstr "Nezmo�en odpreti datoteko s tabelo elipsoida: %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Vektor '%s' �e obstaja in bo prepisan."
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Nezmo�en odpreti datoteko s tabelo elipsoida: %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, fuzzy, c-format
 msgid "Column <%s> is not integer"
 msgstr "Ne morem zapisati povezav z bazo podatkov."
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "Ne morem zapisati povezav z bazo podatkov."
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr ""
@@ -529,6 +538,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "Ne morem odpreti temp datoteke"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -872,199 +885,199 @@ msgstr ""
 msgid "Category value"
 msgstr "Vrednost kategorije"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 #, fuzzy
 msgid "Category values"
 msgstr "Vrednost kategorij"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 #, fuzzy
 msgid "Example: 1,3,7-9,13"
 msgstr "Vrednost kategorij (primer: 1,3,7-9,13)"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "Ime odprte datoteke %s\n"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Ime odprte datoteke %s\n"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Neveljavne koordinate"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Ime vhodnega vektorskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "Ne morem odpreti %s"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "Hro��: poskus posodobitve sloja, ki ni v trenutnem mapset."
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Ime vhodnega vektorskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Ime vhodnega vektorskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Ime izhodnega vektorskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "Hro��: poskus posodobitve sloja, ki ni v trenutnem mapset."
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Ne morem odpreti %s"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
@@ -1073,20 +1086,20 @@ msgstr ""
 "WHERE pogoji SQL stavka brez klju�ne besede 'where': (primer: dohodek < 1000 "
 "and preb >= 10000)"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Ne morem zbrisati linije"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "Gradim topologijo ...\n"
@@ -1114,7 +1127,7 @@ msgid "SYNOPSIS"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 #, fuzzy
 msgid "Flags"
 msgstr ""
@@ -1137,7 +1150,7 @@ msgid "Quiet module output"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 #, fuzzy
 msgid "Parameters"
 msgstr ""
@@ -1258,7 +1271,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Neznana projekcija"
 
@@ -1333,7 +1346,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "OPOZORILO: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "NAPAKA: "
@@ -1418,17 +1431,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "%s ne najdem datoteke za lokacijo %s\n"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "ne morem izdelati elementa \"mapset\"-a %s (%s)"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "ne morem izdelati elementa \"mapset\"-a %s (%s)"
@@ -1629,6 +1642,11 @@ msgstr "obstajata dve polji za format"
 msgid "Duplicate compressed field"
 msgstr "obstajata polji o podatku o stiskanju"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1675,22 +1693,22 @@ msgstr "neveljaven es: polje %s v datoteki %s v %s"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "V datoteki %s v %s ni podatka o elipsoidu"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Ne morem odpreti %s"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: ne morem odpreti datoteke %s"
@@ -1894,8 +1912,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Resolucija n-s ima neveljavno vrednost"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1954,6 +1973,10 @@ msgstr "East mora biti ve
 msgid "Invalid coordinates"
 msgstr "Neveljavne koordinate"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Resolucija n-s ima neveljavno vrednost"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Resolucija n-s3 ima neveljavno vrednost"
@@ -2020,79 +2043,79 @@ msgid ""
 msgstr ""
 " Le %d%% okna shranjenega v \"%s\" se prekriva s trenutnim GRASS oknom."
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Oprostite <%s> ni veljavna mo�nost\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "NAPAKA: "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 #, fuzzy
 msgid "Unable to determine program name"
 msgstr "ne morem dolo�iti uporabnikovega doma�ega direktorija"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Oprostite <%c> ni veljavna izbira\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Oprostite <%s=> je dvoumno\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Oprostite <%s> ni veljaven parameter\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> v \"mapset\" <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2101,7 +2124,7 @@ msgstr ""
 "\n"
 "Napaka: neveljaven razpon sintakse za parameter <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2110,14 +2133,14 @@ msgstr ""
 "\n"
 "Napaka: vrednost <%s> izven razpona za parameter <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "Napaka: Manjkajo�a vrednost za parameter <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2126,7 +2149,7 @@ msgstr ""
 "\n"
 "Napaka: vrednost <%s> izven razpona za parameter <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2136,7 +2159,7 @@ msgstr ""
 "NAPAKA: Zahtevani parameter <%s> ni nastavljen:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2145,37 +2168,37 @@ msgstr ""
 "\n"
 "Napaka: mo�nost <%s> mora biti podana v ve�kratnikih %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Oprostite <%s> ni veljavna mo�nost\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, c-format
 msgid "No separator given for %s="
 msgstr ""
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Oprostite <%s> ni veljavna mo�nost\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
@@ -2710,7 +2733,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 #, fuzzy
 msgid "Out of memory"
 msgstr "ne morem dodeliti spomina"
@@ -2733,11 +2757,13 @@ msgid "Loading data from attribute table ..."
 msgstr ""
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
@@ -2924,7 +2950,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr ""
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, fuzzy, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3037,8 +3063,8 @@ msgstr ""
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3586,6 +3612,30 @@ msgstr "Nepoznan \"location\""
 msgid "Failed to initialize Cairo surface"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3832,11 +3882,11 @@ msgstr "Nezmo
 msgid "Creating a new space time %s dataset"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4027,29 +4077,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Ne morem odpreti temp datoteke"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, fuzzy, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, fuzzy, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
@@ -4208,20 +4258,20 @@ msgstr "Vneseni vektor '%s' ni bil najden"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "Nezmo�en odpreti datoteko s tabelo fundamentalne to�ke: %s"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4230,7 +4280,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Nezmo�en odpreti datoteko s tabelo fundamentalne to�ke: %s"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4238,12 +4288,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Nezmo�en odpreti datoteko s tabelo fundamentalne to�ke: %s"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Ne morem zapisati povezav z bazo podatkov."
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4251,49 +4301,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Nezmo�en odpreti datoteko s tabelo fundamentalne to�ke: %s"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "ne morem izvesti ukaza"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "ne najdem [%s]"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "ne morem izvesti ukaza"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4301,14 +4339,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "ne morem izvesti ukaza"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4435,7 +4473,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "ne morem odpreti rastrskega sloja [%s v %s]"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4550,63 +4588,63 @@ msgid ""
 "%s"
 msgstr "Vektor '%s' �e obstaja in bo prepisan."
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "Neveljavna timestamp datoteka za %s sloj %s v \"mapset\" %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 msgid "Internal error"
 msgstr ""
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "Neveljavna timestamp datoteka za %s sloj %s v \"mapset\" %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "Neveljavna timestamp datoteka za %s sloj %s v \"mapset\" %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
@@ -4631,7 +4669,7 @@ msgid "Error computing map <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "ne morem odpreti rastrskega sloja [%s v %s]"
@@ -4658,76 +4696,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  format: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "ne morem odpreti rastrskega sloja [%s v %s]"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Ne morem odpreti %s"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "ne morem odpreti rastrskega sloja [%s v %s]"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Vneseni vektor '%s' ni bil najden"
@@ -4742,12 +4804,12 @@ msgstr "Nezmo
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
@@ -4802,7 +4864,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4817,7 +4879,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4825,88 +4891,96 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Ne morem odpreti %s"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Vektor '%s' �e obstaja in bo prepisan."
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Neveljavno ime datoteke. Ne more biti '.' ali 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Neveljavno ime. Znak <%c> je prepovedan."
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr "Ne morem izbrisati linije, sloj '%s' ni odprt v zapisovalnem na�inu"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Ime vhodnega vektorskega sloja"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "color"
 msgstr ""
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4951,75 +5025,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Ime vhodnega vektorskega sloja"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "za obstoje�e rastrske sloje %d\n"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Vektor '%s' �e obstaja in bo prepisan."
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Ne morem zapisati linije, sloj ni odprt"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Dvojni atributni indeks je izven razpona"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Vektor '%s' �e obstaja in bo prepisan."
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
@@ -5028,19 +5102,33 @@ msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Ne morem odpreti temp datoteke"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Nezmo�en odpreti datoteko %s v %s"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5056,24 +5144,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Nepoznan \"location\""
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, fuzzy, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr "[%s v %s] - zahteva po branju za vrstico %d je izven regije"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Napaka pri pisanju datoteke sidx.\n"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "napaka pri branju null vrstice %d"
@@ -5206,51 +5310,46 @@ msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Napaka pri pisanju datoteke sidx.\n"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "Nezmo�en odpreti datoteko s tabelo fundamentalne to�ke: %s"
+msgid "No null file for <%s>"
+msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: ne morem odpreti datoteke %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "napaka pri pisanju \"null\" vrstice %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "Vneseni vektor '%s' ni bil najden"
@@ -5348,7 +5447,7 @@ msgstr "Ne morem odpreti datoteke topo za pisanje: %s\n"
 msgid "Unable to open GDAL file"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "ne morem spremeniti direktorija v %s"
@@ -5417,6 +5516,21 @@ msgstr ""
 "\aNAPAKA: Sistem ni inicializiran. Programer je pozabil poklicati "
 "G_gisinit()\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr ""
@@ -5507,27 +5621,27 @@ msgstr "EmbedGivenNulls: napa
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: napa�en tip podatkov!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 #, fuzzy
 msgid "unable to write f_format file for CELL maps"
 msgstr "Nezmo�en ustvariti vzglavno datoteko za [%s]"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, fuzzy, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5536,27 +5650,27 @@ msgstr ""
 "ne morem odpreti [%s] v [%s], ker je reklasificiran iz [%s] v [%s], ki ne "
 "obstaja"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "ne morem brati range datoteke [%s v %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "za obstoje�e rastrske sloje %d\n"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, fuzzy, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "[%s] v \"mapset\" [%s]-format polja v datoteki vzglavja je neveljaven."
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
+msgid "Compression with %s is not supported"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5565,82 +5679,87 @@ msgstr ""
 "[%s] v \"mapset\" [%s] - je v druga�ni projekciji kot trenutna regija:\n"
 "najden sloj [%s] v: <%s>, moral bi biti <%s> "
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "[%s] v \"mapset\" [%s] - v drugi coni [%d] kot trenutna regija [%d]"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "[%s] v [%s] - bajtov na celico (%d) preve�"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "napaka pri branju %s sloja [%s] v \"mapset\" [%s], vrstica %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Hro��: poskus posodobitve sloja, ki ni v trenutnem mapset."
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, fuzzy, c-format
 msgid "<%s> is an illegal file name"
 msgstr "opencell: %s - neveljavno ime datoteke"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "LOCATION  << %s >>  ne obstaja"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Hro��: poskus posodobitve sloja, ki ni v trenutnem mapset."
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, fuzzy, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, fuzzy, c-format
 msgid "Unable to find '%s'"
 msgstr "ne najdem [%s]"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, fuzzy, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "neveljavni tip: polje %s v datoteki %s"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "neveljavni tip: polje %s v datoteki %s"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, fuzzy, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5670,11 +5789,16 @@ msgstr "Ne morem zapisati \"quant\" pravil: sloj %s je integer"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Napaka pri branju za�etka stisnjene datoteke [%s v %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Napaka pri branju za�etka stisnjene datoteke [%s v %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5990,17 +6114,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "OPOZORILO: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Pripajanje centroidov: "
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6008,115 +6132,149 @@ msgstr ""
 "Uporaba:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "za izbrati privzeto"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
+msgstr ""
+
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "neveljavna projekcija\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
+msgstr ""
+
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Nezmo�en dodeliti spomin\n"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Zahtevani format ni bil preveden v tej verziji"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6126,268 +6284,295 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Oprostite <%s> ni veljavna mo�nost\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:823
 #, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
+
+#: ../lib/init/grass.py:827
+#, python-format
+msgid ""
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "Prosim sporo�ite razvijalcem GRASS-a o tej napaki.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
+msgstr ""
+
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Gradim topologijo ...\n"
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - spremenljivka ni nastavljena"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Pripajanje centroidov: "
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Povezava ni uspela.\n"
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Nezmo�en odpreti datoteko %s v %s"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Ne morem odpreti %s"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "Za ukaz [%s] ni na voljo pomo�i\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "ga ni"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "Ne morem odpreti temp datoteke"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Vneseni vektor '%s' ni bil najden"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
@@ -6858,8 +7043,8 @@ msgstr "ne morem ustvariti novega procesa"
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6963,10 +7148,10 @@ msgstr "ne najdem [%s] v [%s]"
 msgid "conditions failed"
 msgstr "Povezava ni uspela.\n"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6999,7 +7184,7 @@ msgstr "Ne morem odpreti temp datoteke"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7020,22 +7205,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, fuzzy, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Nepoznan \"location\""
@@ -7062,7 +7247,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "Vect_write_line() za ta format/nivo ni podprt"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 #, fuzzy
 msgid "Attempt to read dead line"
 msgstr "Ne morem odpreti temp datoteke"
@@ -7077,17 +7262,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Ne morem odpreti temp datoteke"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Ne morem prebrati histograma za [%s v %s]"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
@@ -7106,17 +7291,17 @@ msgstr "Dvojni atributni indeks je izven razpona"
 msgid "Category index out of range"
 msgstr "Dvojni atributni indeks je izven razpona"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Napaka pri pisanju datoteke sidx.\n"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, fuzzy, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
@@ -7147,7 +7332,7 @@ msgstr ""
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, fuzzy, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "ne morem spremeniti direktorija v %s"
@@ -7246,7 +7431,7 @@ msgstr "Povezava ni uspela.\n"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7283,95 +7468,111 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr "Ne morem prebrati histograma za [%s v %s]"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Nezmo�en odpreti datoteko %s v %s"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Nezmo�en odpreti datoteko %s v %s"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, fuzzy, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Nezmo�en odpreti datoteko %s v %s"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Nezmo�en odpreti datoteko %s v %s"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 #, fuzzy
 msgid "Vector map name is not SQL compliant"
 msgstr "Ime sloja se ne sklada z SQL pravili."
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, fuzzy, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "ne morem odpreti rastrskega sloja [%s v %s]"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Vektor '%s' �e obstaja in bo prepisan."
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, fuzzy, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, fuzzy, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "ne morem odpreti rastrskega sloja [%s v %s]"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, fuzzy, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Nezmo�en odpreti datoteko %s v %s"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, fuzzy, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, fuzzy, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, fuzzy, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, fuzzy, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, fuzzy, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, fuzzy, c-format
 msgid "Unable to open directory '%s'"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, fuzzy, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, fuzzy, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/vector/Vlib/map.c:487
+#: ../lib/vector/Vlib/map.c:528
 #, fuzzy, c-format
-msgid "Unable to remove directory '%s'"
+msgid "Unable to remove directory '%s': %s"
 msgstr "ne morem spremeniti direktorija v %s"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7396,19 +7597,19 @@ msgstr "
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7444,7 +7645,7 @@ msgstr "Nepoznan \"location\""
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
@@ -7497,138 +7698,209 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr "Ne morem odpreti %s"
-
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-#, fuzzy
-msgid "for this format/level not supported"
-msgstr "Vect_write_line() za ta format/nivo ni podprt"
-
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "Zahtevani format ni bil preveden v tej verziji"
-
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "Vneseni vektor '%s' ni bil najden"
-
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
-#, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "ne morem spremeniti direktorija v %s"
-
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "Dvojni atributni indeks je izven razpona"
-
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "Dvojni atributni indeks je izven razpona"
-
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "Dvojni atributni indeks je izven razpona"
-
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "Dvojni atributni indeks je izven razpona"
-
-#: ../lib/vector/Vlib/net.c:117
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
 #, fuzzy
 msgid "Building graph..."
 msgstr "Gradim topologijo ...\n"
 
-#: ../lib/vector/Vlib/net.c:159
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
 #, fuzzy
 msgid "Unable to build network graph"
 msgstr "Ne najdem vektorja %s"
 
-#: ../lib/vector/Vlib/net.c:165
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
 msgid "Forward costs column not specified"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Column <%s> not found in table <%s>"
+msgid "Turntable column <%s> not found in table <%s>"
 msgstr "Ne morem zapisati povezav z bazo podatkov."
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
 #, c-format
 msgid "Data type of column <%s> not supported (must be numeric)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:222
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, fuzzy, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Ne morem zapisati povezav z bazo podatkov."
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Registering arcs..."
-msgstr "Registriram linije: "
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Ne morem odpreti datoteke topo za pisanje: %s\n"
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:364
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:393
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:465
 #, fuzzy
-msgid "Cannot add network arc"
+msgid "Cannot add network arc representing turn."
 msgstr "Ne morem odpreti datoteke topo za pisanje: %s\n"
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+#, fuzzy
+msgid "Registering arcs..."
+msgstr "Registriram linije: "
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:412
+#: ../lib/vector/Vlib/net_build.c:579
 #, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:441
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
 #, fuzzy
 msgid "Flattening the graph..."
 msgstr "Gradim topologijo ...\n"
 
-#: ../lib/vector/Vlib/net.c:450
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
 #, fuzzy
 msgid "Graph was built"
 msgstr "Topologija je zgrajena. \n"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
-msgid "dglShortestPath error: %s"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:934
+#, fuzzy
+msgid "Cannot add network arc"
+msgstr "Ne morem odpreti datoteke topo za pisanje: %s\n"
+
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "Ne morem odpreti %s"
+
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+#, fuzzy
+msgid "for this format/level not supported"
+msgstr "Vect_write_line() za ta format/nivo ni podprt"
+
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "Zahtevani format ni bil preveden v tej verziji"
+
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "Vneseni vektor '%s' ni bil najden"
+
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "ne morem spremeniti direktorija v %s"
+
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "Dvojni atributni indeks je izven razpona"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "Dvojni atributni indeks je izven razpona"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "Dvojni atributni indeks je izven razpona"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "Dvojni atributni indeks je izven razpona"
+
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 #, fuzzy
@@ -7754,7 +8026,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Ni povezave...\n"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7763,7 +8035,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7778,7 +8050,7 @@ msgstr "Prosim ponovno izgradi topologijo vektorja '%s@%s'"
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Prosim ponovno izgradi topologijo vektorja '%s@%s'"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7807,7 +8079,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
@@ -7985,8 +8257,8 @@ msgstr "
 msgid "Number of redundant holes: %d"
 msgstr "�tevilo meja             :  %d\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
@@ -8086,38 +8358,38 @@ msgstr "
 msgid "Number of isles: -"
 msgstr "�tevilo otokov     :   -\n"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Nezmo�en ustvariti datoteko z vzglavjem za [%s v %s]"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 #, fuzzy
 msgid "Error writing out topo file"
 msgstr "Napaka pri zapisu datotek topo. \n"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "Ne morem izbrisati linije, sloj '%s' ni odprt na nivoju 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 #, fuzzy
 msgid "Error writing out spatial index file"
 msgstr "Napaka pri pisanju datoteke sidx.\n"
@@ -8294,63 +8566,63 @@ msgstr "Nepoznan \"location\""
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "�tevilo primitivnih enot :  %d\n"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Gradim topologijo ...\n"
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Ne morem prebrati histograma za [%s v %s]"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Ne morem odpreti temp datoteke"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Ne morem odpreti datoteke topo za pisanje: %s\n"
@@ -8360,7 +8632,7 @@ msgstr "Ne morem odpreti datoteke topo za pisanje: %s\n"
 msgid "Unable to rewrite feature %d"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "ne morem spremeniti direktorija v %s"
@@ -8625,14 +8897,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Povezava ni uspela.\n"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Povezava ni uspela.\n"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8844,53 +9123,53 @@ msgstr "Privzeti gonilnik ni dolo
 msgid "Default database is not set"
 msgstr "Privzeta baza podatkov ni podana"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Zahtevan dblink %d, najve�ja vrednost �tevila povezave %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Napaka v pravilu na vrstici %d v %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 #, fuzzy
 msgid "Unable to open OGR DBMI driver"
 msgstr "Ne morem odpreti OGR DBMI gonilnika."
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "Nepoznan \"location\""
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 #, fuzzy
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "Hro��: poskus posodobitve sloja, ki ni v trenutnem mapset."
@@ -8965,110 +9244,110 @@ msgstr "Hro
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "Hro��: poskus posodobitve sloja, ki ni v trenutnem mapset."
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 #, fuzzy
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr "Sloj, ki ni v trenutnem mapset ne more biti odprt za posodabljanje."
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, fuzzy, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "Ne morem odpreti starega vektorja %s na nivoju %d"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Prosim ponovno izgradi topologijo vektorja '%s@%s'"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "ne morem spremeniti direktorija v %s"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, fuzzy, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Hro��: poskus posodobitve sloja, ki ni v trenutnem mapset."
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Ime sloja se ne sklada z SQL pravili."
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "Vect_write_line() za ta format/nivo ni podprt"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, fuzzy, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 "Velikost datoteke 'coor' je razli�na od vrednosti shranjene v datoteki topo."
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, fuzzy, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Prosim ponovno izgradi topologijo vektorja '%s@%s'"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 "Velikost datoteke 'coor' je razli�na od vrednosti shranjene v datoteki topo."
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9137,89 +9416,89 @@ msgstr "Povezava ni uspela.\n"
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Povezava ni uspela.\n"
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Ne morem dodati povezave z bazo podatkov."
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Ne morem zapisati linije, sloj ni odprt"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Nepoznan \"location\""
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "�tevilo obmo�ij brez centroida  :    %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Nezmo�en odpreti datoteko %s v %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9288,16 +9567,33 @@ msgstr "Vneseni vektor '%s' ni bil najden"
 msgid "Topology info not available for feature %d"
 msgstr "Za ukaz [%s] ni na voljo pomo�i\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
 #: ../lib/vector/Vlib/graph.c:138
 #, fuzzy
 msgid "Unable to add network arc"
 msgstr "Ne morem odpreti datoteke topo za pisanje: %s\n"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "ne morem spremeniti direktorija v %s"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9353,10 +9649,48 @@ msgstr "Nezmo
 #~ msgstr "ne morem dodeliti spomina"
 
 #, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Nezmo�en odpreti datoteko s tabelo fundamentalne to�ke: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Ne morem odpreti datoteke z zgodovino za vektor '%s'"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "Nezmo�en odpreti datoteko s tabelo fundamentalne to�ke: %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: ne morem odpreti datoteke %s"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Oprostite <%s> ni veljavna mo�nost\n"
+
+#, fuzzy
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "Napaka: mo�nost <%s>: <%s> obstaja.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "ne morem spremeniti direktorija v %s"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Nezmo�en odpreti datoteko %s v %s"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "pritisnite RETURN za nadaljevanje -->"
 
@@ -9365,8 +9699,8 @@ msgstr "Nezmo
 #~ msgstr "Vneseni vektor '%s' ni bil najden"
 
 #, fuzzy
-#~ msgid "Cannot fetch row"
-#~ msgstr "Ne morem zbrisati linije"
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Ime vhodnega rastrskega sloja"
 
 #, fuzzy
 #~ msgid "Mode type: {0} not supported."
@@ -9381,5 +9715,5 @@ msgstr "Nezmo
 #~ msgstr "ne morem spremeniti direktorija v %s"
 
 #, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Ime vhodnega rastrskega sloja"
+#~ msgid "Cannot fetch row"
+#~ msgstr "Ne morem zbrisati linije"
diff --git a/locale/po/grasslibs_th.po b/locale/po/grasslibs_th.po
index 591603f..4c75f8f 100644
--- a/locale/po/grasslibs_th.po
+++ b/locale/po/grasslibs_th.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_th\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2008-01-05 15:19+0700\n"
 "Last-Translator: man <mansv68 at yahoo.co.th>\n"
 "Language-Team: Thai <grass-translations at lists.osgeo.org>\n"
@@ -29,33 +29,28 @@ msgstr "%s: ไม่สามารถอ่านไฟลืกำหนด
 msgid "%s: No font definition file"
 msgstr "%s: ไม่มีไฟลืกำหนดแบบตัวอักษณ์"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -88,7 +83,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "ไม่มีไฟล์ %s อยู่ในชุดแผนที่ปัจจุบัน\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "ไม่มีไฟล์ %s อยู่ในชุดแผนที่ปัจจุบัน\n"
@@ -100,7 +95,7 @@ msgstr "ไม่มีไฟล์ %s อยู่ในชุดแผนท
 msgid "%s is missing"
 msgstr "อันที่ขาดไป"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -133,7 +128,7 @@ msgstr "ไม่สามารถเปิดฐานข้อมูล <%s>
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -161,8 +156,8 @@ msgstr "ไม่สามารถคัดลอกแผนที่เชิ
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -223,21 +218,33 @@ msgstr "ไม่สามารถเปิดได้ %s"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "ไม่สามารถลบไฟล์  '%s'"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -419,8 +426,10 @@ msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -432,45 +441,45 @@ msgstr "ไม่สามารถเปิดตาราง <%s> ด้วย
 msgid "Unable to get list tables in database <%s>"
 msgstr "ไม่สามารถเปิดไฟล์ตารางรูปทรงรี: %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "ไม่สามารถเปิดไฟล์ตารางรูปทรงรี: %s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "ไม่สามารถเปิด directory '%s' ได้"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, fuzzy, c-format
 msgid "Column <%s> is not integer"
 msgstr "ไม่สามารถ บรรยายตารางนี้ได้ <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "ไม่สามารถ บรรยายตารางนี้ได้ <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "ไม่สามารถลบตารางได้ <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "ไม่สามารถคัดลอกตารางได้ <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, fuzzy, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "ไม่สามารถอ่าน ชนิดของ column ได้"
@@ -541,6 +550,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "ไม่สามารถเปิด debug ไฟล์ได้  '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -875,220 +888,220 @@ msgstr ""
 msgid "Category value"
 msgstr "ค่ารายละเอียด"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "ค่ารายละเอียด"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "ตัวอย่าง: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 #, fuzzy
 msgid "Feature id"
 msgstr "ลักษณะข้อมูล"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 #, fuzzy
 msgid "Feature ids"
 msgstr "ลักษณะข้อมูล"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "ชื่อไฟล์ที่จะนำเข้า"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "ชื่อไฟล์ผลลัพธ์"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "ตัวแยก Field"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "สี"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "ใส่ชื่อสีมาตรฐาน หรือ R:G:B"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "ใส่ชื่อสีมาตรฐานของ GRASS หรือ R:G:B หรือ \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "ชื่อไฟล์ที่จะนำเข้า"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "ค่าพิกัดไม่ถูกต้อง"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "ชื่อแผนที่เชิงเส้น"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "ไม่สามารถเปิดได้ %s"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "ชื่อข้อมูลเชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "ข้อผิดพลาด: ตั้งใจที่จะปรับปรุงแผนที่ ที่ไม่อยู่ในชุดแผนที่ที่กำลังใช้งาน"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "ชื่อผลลัพธ์เชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "ชื่อข้อมูลความสูงเชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "ชื่อข้อมูลความสูงเชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "ชื่อผลลัพธ์เชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "ชื่อแผนที่เชิงเส้น"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "ชื่อแผนที่เชิงเส้น"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "กลุ่มข้อมูลแผนที่เชิงเส้น ไม่มีที่ว่างพอ"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "ชื่อข้อมูลความสูงเชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "ชื่อข้อมูลความสูงเชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "ชื่อผลลัพธ์เชิงภาพ 3 มิติ"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "ข้อผิดพลาด: ตั้งใจที่จะปรับปรุงแผนที่ ที่ไม่อยู่ในชุดแผนที่ที่กำลังใช้งาน"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "ชื่อข้อมูลเชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "ชื่อข้อมูลเชิงภาพ"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "ไม่สามารถปิดการนำเข้าแผนที่"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "WHERE เงื่อนไขประโยค SQL ที่ปราศจาก 'where' keyword"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "กำลังอ่านข้อมูลจากตารางข้อมูล"
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "กำลังสร้าง topology ...\n"
@@ -1116,7 +1129,7 @@ msgid "SYNOPSIS"
 msgstr "สาระสำคัญ"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "ธง"
 
@@ -1136,7 +1149,7 @@ msgid "Quiet module output"
 msgstr "แสดงผลแบบเงียบ"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "ตัวแปร"
 
@@ -1252,7 +1265,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "ไม่รู้จกแบบการฉายนี้"
 
@@ -1327,7 +1340,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "คำเตือน: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "ข้อผิดพลาด: "
@@ -1409,17 +1422,17 @@ msgstr "\aข้อผิดพลาด: ระบบไม่สามาร
 msgid "<%s> file not found for location <%s>"
 msgstr "<%s> ไม่พบไฟล์สำหรับตำแหน่ง <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "ไม่สามารถค้นหาตาราง <%s> ที่เชื่อมกับข้อมูลเชิงเส้น <%s>"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "ไม่สามารถสร้างส่วนประกอบของแผนที่ได้ %s (%s)"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "ไม่สามารถสร้างส่วนประกอบของแผนที่ได้ %s (%s)"
@@ -1620,6 +1633,11 @@ msgstr "Field รูปแบบ ซ้ำ"
 msgid "Duplicate compressed field"
 msgstr "Field การบีบอัด ซ้ำ"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1667,22 +1685,22 @@ msgstr "ไม่ถูกต้อง: field %s ในไฟล์ %s ใน %s
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "ไม่มีข้อมูลรูปทรงรีในไฟล์ %s in %s"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "ไม่สามารถเปิดได้ %s"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: ไม่สามารถเปิดไฟล์ %s ได้"
@@ -1872,8 +1890,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "ค่าความละเอียดทาง เหนือ-ใต้ ไม่ถูกต้อง"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1932,6 +1951,10 @@ msgstr "ค่าออก ต้องมากกว่าตก"
 msgid "Invalid coordinates"
 msgstr "ค่าพิกัดไม่ถูกต้อง"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "ค่าความละเอียดทาง เหนือ-ใต้ ไม่ถูกต้อง"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "ค่าความละเอียด n-s3 ไม่ถูกต้อง"
@@ -1996,79 +2019,79 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr "เพียง %d%% หน้าต่าง ถูกบันทึกใน \"%s\" เหลื่อมกับหน้าต่าง GRASS"
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "เสียใจ <%s> ไม่มีอยู่ในเงื่อนไข\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "ข้อผิดพลาด: "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 #, fuzzy
 msgid "Unable to determine program name"
 msgstr "ไม่สามารถหา  home directory ของผู้ใช้"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "เสียใจ, <%c> ไม่มีธง\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "เสียใจ, <%s=> ไม่ชัดเจน\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "เสียใจ, <%s> ค่าตัวแปรไม่ถูกต้อง\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> ในชุดแผนที่ <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2077,7 +2100,7 @@ msgstr ""
 "\n"
 "ข้อผิดพลาด: ใส่ค่าตัวแปรผิด <%s>\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2086,14 +2109,14 @@ msgstr ""
 "\n"
 "ข้อผิดพลาด: ค่า <%s> อยู่นอกช่วงค่าตัวแปร <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "ข้อผิดพลาด:ขาดค่าตัวแปร <%s>\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2102,7 +2125,7 @@ msgstr ""
 "\n"
 "ข้อผิดพลาด: ค่า <%s> อยู่นอกช่วงค่าตัวแปร <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2112,7 +2135,7 @@ msgstr ""
 "ข้อผิดพลาด: ต้องการค่าตัวแปร <%s> ไม่ได้กำหนด:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2121,37 +2144,37 @@ msgstr ""
 "\n"
 "ข้อผิดพลาด: เงื่อนไข <%s> จะต้องมีหลายค่าของ %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "เสียใจ <%s> ไม่มีอยู่ในเงื่อนไข\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "ตัวแยก Field"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "เสียใจ <%s> ไม่มีอยู่ในเงื่อนไข\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "ชนิดข้อมูล OGR  %d ไม่รองรับ)"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "ไม่สามารถลบตารางได้ <%s>"
@@ -2733,7 +2756,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 #, fuzzy
 msgid "Out of memory"
 msgstr "G_malloc: หน่วยความจำไม่พอ"
@@ -2756,11 +2780,13 @@ msgid "Loading data from attribute table ..."
 msgstr "กำลังอ่านข้อมูลจากตารางข้อมูล"
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "การเชื่อมต่อฐานข้อมูลไม่ได้ถูกกำหนด สำหรับชั้นข้อมูลนี้ %d"
@@ -2954,7 +2980,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "เขียนข้อมูล 2d ไปที่ แผนที่เชิงภาพ <%s> "
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, fuzzy, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3067,8 +3093,8 @@ msgstr "ค่าผลลัพธ์ของ Unit Factor"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3623,6 +3649,30 @@ msgstr "ไม่ทราบชนิดของการแทรก"
 msgid "Failed to initialize Cairo surface"
 msgstr "ไม่สามารถระบุ pj เพราะว่า: %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3869,11 +3919,11 @@ msgstr "ไม่สามารถสร้างส่วนหัวของ
 msgid "Creating a new space time %s dataset"
 msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4064,29 +4114,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "ไม่สามารถอ่าน ส่วนหัวของไฟล์ได้"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "ไม่สามารถสร้างแผนที่เชิงภาพ <%s> "
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, fuzzy, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "ไม่สามารถเปิดแผนที่เชิงภาพ <%s> "
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "ไม่สามารถเปิดแผนที่เชิงเส้นได้ <%s>"
@@ -4245,20 +4295,20 @@ msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "ไม่สามารถเปิดไฟล์ datum table ได้ : %s"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4267,7 +4317,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "ไม่สามารถเปิดไฟล์ datum table ได้ : %s"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4275,12 +4325,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "ไม่สามารถเปิดไฟล์ datum table ได้ : %s"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "ไม่สามารถเปิดฐานข้อมูลได้ %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4288,49 +4338,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "ไม่สามารถลบ directory '%s'"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "ไม่สามารถเปิดไฟล์ datum table ได้ : %s"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "ไม่สามารถลบตารางได้ <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "ไม่สามารถทำงานคำสั่งนี้ได้"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "ไม่สามารถค้นหา  [%s]"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "ไม่สามารถทำงานคำสั่งนี้ได้"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4338,14 +4376,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "ไม่สามารถทำงานคำสั่งนี้ได้"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4472,7 +4510,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "ไม่สามารถคัดลอกแผนที่เชิงเส้น  <%s> ไปเป็น <%s>"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4587,64 +4625,64 @@ msgid ""
 "%s"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "ไฟล์ลงเวลาไม่ถูกต้อง สำหรับ %s แผนที่ %s ในชุดแผนที่ %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "คำสั่งผิดพลาด"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "ไฟล์ลงเวลาไม่ถูกต้อง สำหรับ %s แผนที่ %s ในชุดแผนที่ %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "ไฟล์ลงเวลาไม่ถูกต้อง สำหรับ %s แผนที่ %s ในชุดแผนที่ %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
@@ -4669,7 +4707,7 @@ msgid "Error computing map <%s>"
 msgstr "เกิดข้อผิดพลาดระหว่างเปิด แผนที่ g3d <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "ไม่สามารถคัดลอกแผนที่เชิงเส้น  <%s> ไปเป็น <%s>"
@@ -4696,76 +4734,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  รูปแบบ: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "ชื่อข้อมูลฐานเชิงภาพ"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "ไม่สามารถคัดลอกแผนที่เชิงเส้น  <%s> ไปเป็น <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "ชื่อข้อมูลเชิงภาพ"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "ไม่สามารถปิดการนำเข้าแผนที่"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "ไม่สามารถคัดลอกแผนที่เชิงเส้น  <%s> ไปเป็น <%s>"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
@@ -4780,12 +4842,12 @@ msgstr "ไม่สามารถสร้างส่วนหัวของ
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "ไม่สามารถสร้างแผนที่เชิงภาพ <%s> "
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
@@ -4840,7 +4902,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4855,7 +4917,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "ไม่สามารถคัดลอกตารางได้ <%s>"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4863,89 +4929,97 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "ไม่สามารถปิดการนำเข้าแผนที่"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "ชือไฟล์ไม่ถูกต้อง  ไม่สามารถใช้ '.' หรือ 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "ชือไฟล์ไม่ถูกต้อง ตัวอักษร <%c> ใช้ไม่ได้\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr "ไม่สามารถลบ,แผนที่ '%s ไม่ไดถูกเปิด เพื่อเขียน"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "ชื่อแผนที่เชิงเส้น"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "สี"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "การเชื่อมต่อฐานข้อมูลไม่ได้ถูกกำหนด สำหรับชั้นข้อมูลนี้ %d"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "เกิดข้อผิดพลาดระหว่างเปิด แผนที่ g3d <%s>"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4990,75 +5064,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "ไม่รองรับ ชนิด Column นี้"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "ชนิดข้อมูล OGR  %d ไม่รองรับ)"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "ชนิดข้อมูล OGR  %d ไม่รองรับ)"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "ชื่อช่องข้อมูล"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "มีปัญหาในการอ่าน cell ไฟล์"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "ข้อมูล %d ไม่มี ID ตัดออก"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "ไม่สามารถค้นหาตาราง <%s> ที่เชื่อมกับข้อมูลเชิงเส้น <%s>"
@@ -5067,19 +5141,33 @@ msgstr "ไม่สามารถค้นหาตาราง <%s> ที่
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "ไม่สามารถอ่าน ส่วนหัวของไฟล์ได้"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "ไม่สามารถลบไฟล์  '%s'"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5095,24 +5183,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "ไม่ทราบชนิดของการแทรก"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, fuzzy, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr "[%s ใน %s] -อ่านคำสั่งสำหรับ แถว %d อยู่นอกขอบเขต"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "ผิดพลาดในการอ่านการบีบอัดแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "ผิดพลาดในการอ่านการบีบอัดแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "การเขียนผิดพลาด ไม่มีหมวดดัชนีในไฟล์ <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "ผิดพลาดในการอ่านการบีบอัดแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "ผิดพลาดในการอ่านการบีบอัดแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "เกิดข้อผืดพลาดในการอ่านแถวเปล่า  %d"
@@ -5243,51 +5347,46 @@ msgstr "ผิดพลาดในการอ่านการบีบอั
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "ผิดพลาดในการอ่านการบีบอัดแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "ผิดพลาดในการอ่านการบีบอัดแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "ผิดพลาดในการอ่านการบีบอัดแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "การเขียนผิดพลาด ไม่มีหมวดดัชนีในไฟล์ <%s>"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "ไม่สามารถค้นหาไฟล์ชั่คราวได้ %s"
+msgid "No null file for <%s>"
+msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: ไม่สามารถเปิดไฟล์ %s ได้"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "ผิดพลาดในการอ่านการบีบอัดแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "การเขียนผิดพลาด ที่แถวเปล่า %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: แผนที่ [%s] ไม่ได้ถูกเปิดเพื่อเขียน - การร้องขอถูกยกเลิก"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: ไม่สามารถเปิดตัวอธิบายไฟล์ได้ - การร้องขอถูกยกเลิก"
@@ -5385,7 +5484,7 @@ msgstr "ไม่สามารถเพิ่ม network arc"
 msgid "Unable to open GDAL file"
 msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "ไม่สามารถอ่านข้อมูลแผนที่เชิงเส้นได้ <%s%s>"
@@ -5452,6 +5551,21 @@ msgstr "ไม่สามารถเปิดไฟล์ได้ %s ใน %
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr "\aข้อผิดพลาด: ระบบไม่สามารถเริ่มต้น. Programmer ลืมเรียก G_gisinit()\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "คำสั่งผิดพลาด"
@@ -5535,53 +5649,53 @@ msgstr "EmbedGivenNulls:ข้อมูลผิดประเภท!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: ข้อมูลผิดประเภท!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "ไม่สามารถอ่านข้อมูลแผนที่เชิงเส้นได้ <%s%s>"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "ไม่สามารถลบไฟล์  '%s'"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "ไม่สามารถเขียน  f_format ไฟล์สำหรับ CELL maps ได้"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, fuzzy, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
 "%s> which does not exist"
 msgstr "ไม่สามารถเปิด  [%s] ใน [%s] ตั้งแต่ที่มีการแบ่งกลุ่มใหม่ของ [%s] ใน [%s] ซึ่งไม่มีอยู่"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "ไม่สามารถอ่าน range ไฟล์สำหรับ [%s ใน %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "เกิดข้อผิดพลาดระหว่างเปิด แผนที่ g3d <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, fuzzy, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "[%s] ในชุดแผนที่ [%s]-รูปแบบของ field ในส่วนหัวไม่ถูกต้อง"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
+msgid "Compression with %s is not supported"
+msgstr "ชนิดข้อมูล OGR  %d ไม่รองรับ)"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5590,82 +5704,87 @@ msgstr ""
 "[%s] ในชุดแผนที่ [%s] - ในการฉายภาพที่แตกต่างจากขอบเขตปัจจุบัน:\n"
 " พบแผนที่ [%s] ใน: <%s>, ควรจะ <%s> "
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "[%s] ชุดแผนที่ [%s] - ในโซนที่แตกต่าง [%d] จากขอบเขตปัจจุบัน [%d]"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "[%s] ใน [%s] - bytes ต่อ cell (%d) ใหญ่เกินไป"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "ไม่สามารถเปิด ไฟล์หมวดดัชนี สำหรับแผนที่เชิงเส้น <%s@%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "ผิดพลาดในการอ่านแผนที่ [%s] ในชุดแผนที่ [%s], แถว %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "ข้อผิดพลาด: ตั้งใจที่จะปรับปรุงแผนที่ ที่ไม่อยู่ในชุดแผนที่ที่กำลังใช้งาน"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, fuzzy, c-format
 msgid "<%s> is an illegal file name"
 msgstr "เปิดcell: %s - ชื่อไฟล์ไม่ถูกต้อง"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "ไม่มีไฟล์ %s อยู่ในชุดแผนที่ <%s>\n"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "ข้อผิดพลาด: ตั้งใจที่จะปรับปรุงแผนที่ ที่ไม่อยู่ในชุดแผนที่ที่กำลังใช้งาน"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, fuzzy, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, fuzzy, c-format
 msgid "Unable to find '%s'"
 msgstr "ไม่สามารถค้นหา  [%s]"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, fuzzy, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "ชนิดไม่ถูกต้อง: field %sในไฟล์ %s "
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "ชนิดไม่ถูกต้อง: field %sในไฟล์ %s "
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, fuzzy, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "ไม่พบแผนที่เชิงภาพ <%s> "
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5694,11 +5813,16 @@ msgstr "ไม่สามารถเขียนกฎของปริมา
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "ไม่สามารถสร้างแผนที่เชิงภาพ <%s> "
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "การอ่านไฟล์ที่ถูกบีบอัด ล้มเหลว [%s ใน %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "การอ่านไฟล์ที่ถูกบีบอัด ล้มเหลว [%s ใน %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6015,17 +6139,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "คำเตือน: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "กำหนด node costs ..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6033,115 +6157,149 @@ msgstr ""
 "วิธีใช้:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "ใช้ค่าตั้งต้น"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "การฉายภาพไม่ถูกต้อง\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "ไม่สามารถจองหน่วยความจำได้\n"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "รูปแบบที่ต้องการยังใช้ไม่ได้ใน รุ่นนี้"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6151,268 +6309,295 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "เสียใจ <%s> ไม่มีอยู่ในเงื่อนไข\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
+msgstr ""
+
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "โปรดแจ้งขอ้ผิดพลาดให้กับ ทีพัฒนา GRASS\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
+msgstr ""
+
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "สร้าง graph ..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - ไม่ได้กำหนดค่าตัวแปล"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "กำหนด node costs ..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "การเชื่อมต่อล้มเหลว"
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "ไม่สามารถคัดลอกตารางได้ <%s>"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "ไม่สามารถเปิดได้ %s"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "ไม่มีความช่วยเหลือสำหรับคำสั่งนี้ [%s]\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "none"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "ไม่สามารถเปิด temp ไฟล์"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "ชนิดข้อมูล OGR  %d ไม่รองรับ)"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
@@ -6901,8 +7086,8 @@ msgstr "ไม่สามารถแถวของแผนที่เชิ
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "GngFlatten ผิดพลาด"
 
@@ -7012,10 +7197,10 @@ msgstr "ไม่สามารถค้นหา [%s] ใน [%s]"
 msgid "conditions failed"
 msgstr "การเชื่อมต่อล้มเหลว"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7048,7 +7233,7 @@ msgstr "ไม่สามารถอ่าน ส่วนหัวของ
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7069,22 +7254,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "ไม่สามารถลบแผนที่เชิงเส้น  <%s> ได้"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, fuzzy, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "ไม่ทราบชนิดของข้อมูลเชิงเส้น"
@@ -7111,7 +7296,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "ไม่รองรับ ชนิด Column นี้"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 #, fuzzy
 msgid "Attempt to read dead line"
 msgstr " ตั้งใจที่จะอ่านจบบรรทัด [%d]"
@@ -7126,17 +7311,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "ไม่สามารถอ่าน ส่วนหัวของไฟล์ได้"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "ตั้งใจที่จะลบ  isle จากพื้นที่"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "ไม่สามารถลบไฟล์  '%s'"
@@ -7154,17 +7339,17 @@ msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ใ
 msgid "Category index out of range"
 msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์หมวดดัชนี สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "การเขียนผิดพลาด ไม่มีหมวดดัชนีในไฟล์ <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์หมวดดัชนี สำหรับแผนที่เชิงเส้น <%s>"
@@ -7197,7 +7382,7 @@ msgstr "ข้อมูล %d ไม่มี ID ตัดออก"
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, fuzzy, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "ไม่สามารถเปิด directory '%s' ได้"
@@ -7296,7 +7481,7 @@ msgstr "การเชื่อมต่อล้มเหลว"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7333,94 +7518,110 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr "ตั้งใจที่จะลบพื้นที่"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "ไม่สามารถลบตารางได้ <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "ไม่สามารถคัดลอกตารางได้ <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "ไม่สามารถคัดลอกตารางได้ <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "ไม่สามารถคัดลอกตารางได้ <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "ชื่อแผนที่เชิงเส้น ไม่ใช่ คำสั่ง SQL "
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, fuzzy, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "ไม่สามารถคัดลอกแผนที่เชิงเส้น  <%s> ไปเป็น <%s>"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "ไม่สามารถลบแผนที่เชิงเส้น  <%s> ได้"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "ไม่สามารถคัดลอกแผนที่เชิงเส้น  <%s> ไปเป็น <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "ไม่สามารถคัดลอกตารางได้ <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "ไม่สามารถลบตารางได้ <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "ไม่สามารถสร้างดัชนีสำหรับตาราง <%s> ด้วย key <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, fuzzy, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "ไม่สามารถอ่านข้อมูลแผนที่เชิงเส้นได้ <%s%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, fuzzy, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "ไม่สามารถค้นหาตาราง <%s> ที่เชื่อมกับข้อมูลเชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, fuzzy, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "ไม่สามารถค้นหาตาราง <%s> ที่เชื่อมกับข้อมูลเชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "ไม่สามารถเปิด directory '%s' ได้"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "ไม่สามารถลบไฟล์  '%s'"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "ไม่สามารถเปลี่ยนชื่อ  directory  '%s' เป็น '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "ไม่สามารถลบ directory '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7445,19 +7646,19 @@ msgstr "จำนวนเส้น     :   %d\n"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7493,7 +7694,7 @@ msgstr "ลักษณะข้อมูล"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์หมวดดัชนี สำหรับแผนที่เชิงเส้น <%s>"
@@ -7548,92 +7749,144 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr "ไม่สามารถเปิดได้ %s"
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+#, fuzzy
+msgid "Building graph..."
+msgstr "สร้าง graph ..."
 
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
 #, fuzzy
-msgid "for this format/level not supported"
-msgstr "Vect_write_line() สำหรับ รูปแบบ/ระดับ  ไม่รองรับ"
+msgid "Unable to build network graph"
+msgstr "ไม่สามารถสร้าง network graph"
 
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "รูปแบบที่ต้องการยังใช้ไม่ได้ใน รุ่นนี้"
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Costs column ไม่ได้ระบุ"
 
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
+#: ../lib/vector/Vlib/net_build.c:156
 #, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "ไม่พบ ชื่อแผนที่เชิงเส้น <%s>"
+msgid "Turntable field < 1"
+msgstr "Arc field < 1"
 
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "ไม่สามารถลบแผนที่เชิงเส้น  <%s> ได้"
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "ไม่สามารถ บรรยายตารางนี้ได้ <%s>"
 
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, fuzzy, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr "ชนิดของ z column ไม่รองรับ (ต้องเป็น  integer หรือ  double)"
 
-#: ../lib/vector/Vlib/read.c:224
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
 #, fuzzy
-msgid "Node index is out of range"
-msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
+msgid "Setting node costs..."
+msgstr "กำหนด node costs ..."
 
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, fuzzy, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "ไม่สามารถ บรรยายตารางนี้ได้ <%s>"
 
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr "ข้อมูล node %d (cat = %d) ไม่พบ (กำหนด cost เป็น 0)"
 
-#: ../lib/vector/Vlib/net.c:117
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Building graph..."
-msgstr "สร้าง graph ..."
+msgid "Cannot add network arc for virtual node connection."
+msgstr "ไม่สามารถเพิ่ม network arc"
 
-#: ../lib/vector/Vlib/net.c:159
-#, fuzzy
-msgid "Unable to build network graph"
-msgstr "ไม่สามารถสร้าง network graph"
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
 
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Costs column ไม่ได้ระบุ"
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr "ข้อมูล node %d (cat = %d) ไม่พบ (กำหนด cost เป็น 0)"
 
-#: ../lib/vector/Vlib/net.c:172
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "ไม่สามารถเพิ่ม network arc"
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
 msgid "Arc field < 1"
 msgstr "Arc field < 1"
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+#, fuzzy
+msgid "Registering arcs..."
+msgstr "การบันทึก arcs ..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
 #, fuzzy, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "ไม่สามารถ บรรยายตารางนี้ได้ <%s>"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"ข้อมูลบรรทัดที่ %d (cat = %d, forward/both direction(s)) ไม่พบ (forward/both "
+"direction(s)  ข้ามไป)"
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:596
 #, fuzzy, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr "ชนิดของ z column ไม่รองรับ (ต้องเป็น  integer หรือ  double)"
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr "ข้อมูลบรรทัดที่ %d (cat = %d, backword direction) ไม่พบ ( ข้ามไป)"
 
-#: ../lib/vector/Vlib/net.c:222
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
 #, fuzzy
-msgid "Registering arcs..."
-msgstr "การบันทึก arcs ..."
+msgid "Flattening the graph..."
+msgstr "Flattening the graph ..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Graph ถูกสร้าง"
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, forward/both direction(s)) not found "
@@ -7642,44 +7895,66 @@ msgstr ""
 "ข้อมูลบรรทัดที่ %d (cat = %d, forward/both direction(s)) ไม่พบ (forward/both "
 "direction(s)  ข้ามไป)"
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:885
 #, c-format
 msgid ""
 "Database record for line %d (cat = %d, backword direction) not "
 "found(direction of line skipped)"
 msgstr "ข้อมูลบรรทัดที่ %d (cat = %d, backword direction) ไม่พบ ( ข้ามไป)"
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:934
 msgid "Cannot add network arc"
 msgstr "ไม่สามารถเพิ่ม network arc"
 
-#: ../lib/vector/Vlib/net.c:349
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "ไม่สามารถเปิดได้ %s"
+
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
 #, fuzzy
-msgid "Setting node costs..."
-msgstr "กำหนด node costs ..."
+msgid "for this format/level not supported"
+msgstr "Vect_write_line() สำหรับ รูปแบบ/ระดับ  ไม่รองรับ"
 
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr "ข้อมูล node %d (cat = %d) ไม่พบ (กำหนด cost เป็น 0)"
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "รูปแบบที่ต้องการยังใช้ไม่ได้ใน รุ่นนี้"
 
-#: ../lib/vector/Vlib/net.c:441
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
 #, fuzzy
-msgid "Flattening the graph..."
-msgstr "Flattening the graph ..."
+msgid "Vector map is not open for reading"
+msgstr "ไม่พบ ชื่อแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Graph ถูกสร้าง"
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "ไม่สามารถลบแผนที่เชิงเส้น  <%s> ได้"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr ""
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "ทิศทางผิดใน  Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "ดัชนี ชั้นข้อมูล ไม่อยู่ในช่วง"
 
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
@@ -7806,7 +8081,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7815,7 +8090,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7830,7 +8105,7 @@ msgstr "โปรดสร้าง  topology ของ แผนที่เช
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "โปรดสร้าง  topology ของ แผนที่เชิงเส้นใหม่ <%s@%s>"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7859,7 +8134,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
@@ -8037,8 +8312,8 @@ msgstr "จำนวนขอบเขตที่ไม่ถูกต้อง
 msgid "Number of redundant holes: %d"
 msgstr "จำนวนขอบเขต:   %d\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์หมวดดัชนี สำหรับแผนที่เชิงเส้น <%s>"
@@ -8138,38 +8413,38 @@ msgstr "จำนวน  รูปปิด     :   -\n"
 msgid "Number of isles: -"
 msgstr "จำนวน  isles     :   -\n"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "ไม่สามารถสร้างส่วนหัวของไฟล์สำหรับ [%s in %s]"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 #, fuzzy
 msgid "Error writing out topo file"
 msgstr "เกิดข้อผิดพลาดขณะเขียน topo ไฟล์ "
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "ไม่สามารถลบ,แผนที่ '%s ไม่ไดถูกเปิด ในระดับ 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์หมวดดัชนี สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 #, fuzzy
 msgid "Error writing out spatial index file"
 msgstr "เกิดข้อผิดพลาดขณะเขียน spatial index ไฟล์ "
@@ -8345,63 +8620,63 @@ msgstr "ไม่ทราบข้อผิดพลาด"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, fuzzy, c-format
 msgid "Snapped vertices: %d"
 msgstr "ดูดเข้าหา จุดหัก"
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "เพิ่ม จุดหัก"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "สร้าง graph ..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "ไม่สามารถลบไฟล์  '%s'"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "ตั้งใจที่จะลบพื้นที่"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "ไม่สามารถอ่าน ส่วนหัวของไฟล์ได้"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "ไม่สามารถลบไฟล์  '%s'"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "ไม่สามารถเปิด topo ไฟล์ เพื่อเขียน <%s> ได้"
@@ -8411,7 +8686,7 @@ msgstr "ไม่สามารถเปิด topo ไฟล์ เพื่
 msgid "Unable to rewrite feature %d"
 msgstr "ไม่สามารถลบไฟล์  '%s'"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "ไม่สามารถอ่านข้อมูลแผนที่เชิงเส้นได้ <%s%s>"
@@ -8677,14 +8952,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "การเชื่อมต่อล้มเหลว"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "การเชื่อมต่อล้มเหลว"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8895,53 +9177,53 @@ msgstr "ไม่ได้กำหนด ตัวขับตั้งต้
 msgid "Default database is not set"
 msgstr "ไม่ได้กำหนด ฐานข้อมูล ตั้งต้น"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "ต้องการ dblink %d, จำนวนการเชื่อมมากสุด %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "ผิดพลาดใน กฏ บน แถว %d ใน %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 #, fuzzy
 msgid "Unable to open OGR DBMI driver"
 msgstr "ไม่สามารถเปิดตัวขับ OGR DBMI "
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "ไม่ทราบข้อผิดพลาด"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 #, fuzzy
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "ข้อผิดพลาด: ตั้งใจที่จะปรับปรุงแผนที่ ที่ไม่อยู่ในชุดแผนที่ที่กำลังใช้งาน"
@@ -9016,106 +9298,106 @@ msgstr "ข้อผิดพลาด: ตั้งใจที่จะปร
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "ข้อผิดพลาด: ตั้งใจที่จะปรับปรุงแผนที่ ที่ไม่อยู่ในชุดแผนที่ที่กำลังใช้งาน"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr "แผนที่เชิงเส้นที่ไม่ได้อยู่ใน ชุอแผนที่ ที่กำลังทำงาน ไม่สามารถแก้ไขได้"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "ไม่สามารถเปิด topology ไฟล์ของ แผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "ไม่สามารถเปิดแผนที่เชิงเส้นได้ <%s> บน topology ระดับ %d"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "โปรดสร้าง  topology ของ แผนที่เชิงเส้นใหม่ <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "ไม่สามารถเปิดแผนที่เชิงเส้นได้ <%s>"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "ข้อผิดพลาด: ตั้งใจที่จะปรับปรุงแผนที่ ที่ไม่อยู่ในชุดแผนที่ที่กำลังใช้งาน"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "ชื่อแผนที่เชิงเส้น ไม่ใช่ คำสั่ง SQL "
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "ไม่รองรับ ชนิด Column นี้"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr "ขนาดของ ไฟล์ 'coor' แตกต่างจากค่าที่บันทึกไว้ในไฟล์  topology"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "โปรดสร้าง  topology ของ แผนที่เชิงเส้นใหม่ <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr "ขนาดของ ไฟล์ 'coor' แตกต่างจากค่าที่บันทึกไว้ในไฟล์  topology"
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9184,89 +9466,89 @@ msgstr "การเชื่อมต่อล้มเหลว"
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "การเชื่อมต่อล้มเหลว"
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "ไม่สามารถเพิ่มการเชื่อมฐานข้อมูล,"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "ข้อมูล %d ไม่มี ID ตัดออก"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "ลักษณะข้อมูล"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "จำนวน  รูปปิด ที่ไม่มี จุดศูนย์ถ่วง  :   %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "ไม่สามารถคัดลอกตารางได้ <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "ไม่สามารถระบุสภาพไฟล์ <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9335,16 +9617,33 @@ msgstr "เมตริกซ์ ไม่ยอมรับ"
 msgid "Topology info not available for feature %d"
 msgstr "ไม่มีความช่วยเหลือสำหรับคำสั่งนี้ [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "ทิศทางผิดใน  Vect_net_get_line_cost()"
+
 #: ../lib/vector/Vlib/graph.c:138
 #, fuzzy
 msgid "Unable to add network arc"
 msgstr "ไม่สามารถเพิ่ม network arc"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "ไม่สามารถอ่านข้อมูลแผนที่เชิงเส้นได้ <%s%s>"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9399,29 +9698,63 @@ msgstr "ไม่สามารถลบตารางได้ <%s>"
 #~ msgid "Out of memmory"
 #~ msgstr "G_malloc: หน่วยความจำไม่พอ"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "ไม่สามารถเปิดไฟล์ datum table ได้ : %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "ไม่สามารถเปิด ไฟล์ประวัติ สำหรับแผนที่เชิงเส้น <%s>"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "ไม่สามารถค้นหาไฟล์ชั่คราวได้ %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: ไม่สามารถเปิดไฟล์ %s ได้"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "เสียใจ <%s> ไม่มีอยู่ในเงื่อนไข\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "ข้อผิดพลาด: เงื่อนไข <%s>: <%s> มีอยู่\n"
 
 #, fuzzy
-#~ msgid "Hit RETURN to continue"
-#~ msgstr "กด RETURN เพื่อดำเนินการต่อ -->"
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "ไม่สามารถอ่านข้อมูลแผนที่เชิงเส้นได้ <%s%s>"
 
 #, fuzzy
-#~ msgid "Vector map <%s> is not opened on topology level"
-#~ msgstr "ไม่พบ ชื่อแผนที่เชิงเส้น <%s>"
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "ไม่สามารถเปิดไฟล์ %s ได้"
 
 #, fuzzy
-#~ msgid "Attributes for category %d not found"
-#~ msgstr "ไม่พบ ข้อมูลสำหรับแสดง %d  จากฐานข้อมูล"
+#~ msgid "Hit RETURN to continue"
+#~ msgstr "กด RETURN เพื่อดำเนินการต่อ -->"
 
 #, fuzzy
-#~ msgid "Cannot fetch row"
-#~ msgstr "ไม่สามารถอ่านรายละเอียดของชั้นข้อมูลได้"
+#~ msgid "Vector map <%s> is not opened on topology level"
+#~ msgstr "ไม่พบ ชื่อแผนที่เชิงเส้น <%s>"
 
 #~ msgid "Background color"
 #~ msgstr "สีฉากหลัง"
 
 #, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "ชื่อข้อมูลเชิงภาพ"
+
+#, fuzzy
 #~ msgid "Mode type: {0} not supported."
 #~ msgstr "ไม่รองรับ ชนิด Column นี้"
 
@@ -9434,5 +9767,9 @@ msgstr "ไม่สามารถลบตารางได้ <%s>"
 #~ msgstr "ไม่สามารถอ่านข้อมูลแผนที่เชิงเส้นได้ <%s%s>"
 
 #, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "ชื่อข้อมูลเชิงภาพ"
+#~ msgid "Attributes for category %d not found"
+#~ msgstr "ไม่พบ ข้อมูลสำหรับแสดง %d  จากฐานข้อมูล"
+
+#, fuzzy
+#~ msgid "Cannot fetch row"
+#~ msgstr "ไม่สามารถอ่านรายละเอียดของชั้นข้อมูลได้"
diff --git a/locale/po/grasslibs_tr.po b/locale/po/grasslibs_tr.po
index 0e783f6..48f18fc 100644
--- a/locale/po/grasslibs_tr.po
+++ b/locale/po/grasslibs_tr.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_tr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2010-11-08 15:14+0200\n"
 "Last-Translator: Saban Safak <ssafak at cvm.com.tr>\n"
 "Language-Team: Türkçe <grass-translations at lists.osgeo.org>\n"
@@ -29,33 +29,28 @@ msgstr "%s: Yazıtipi tanım dosyası okunamıyor; varsayılanı kullan"
 msgid "%s: No font definition file"
 msgstr "%s: Yazıtipi tanım dosyası yok"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "<%s> Sürücüsü başlatılamıyor"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "<%s> Sürücüsü başlatılamıyor"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "<%s> katmanı açılamıyor"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -88,7 +83,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "%s dosyası geçerli harita takımında değil (%s)"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "%s dosyası geçerli harita takımında değil (%s)"
@@ -100,7 +95,7 @@ msgstr "%s dosyası geçerli harita takımında değil (%s)"
 msgid "%s is missing"
 msgstr "kayıp olan"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -133,7 +128,7 @@ msgstr "<%s> veritabanı <%s>  sürücüsüyle açılamıyor"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -161,8 +156,8 @@ msgstr "Vektör harita <%s> ten <%s> e kopyalanamıyor"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -223,21 +218,33 @@ msgstr "<%s> açılamıyor"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "<%s> katmanı açılamıyor"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "'%s' dosyası silinemiyor"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -404,8 +411,10 @@ msgstr "<%s> Sürücüsü başlatılamıyor"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -417,45 +426,45 @@ msgstr "<%s>  veritabanı <%s> sürücüsüyle açılamıyor"
 msgid "Unable to get list tables in database <%s>"
 msgstr "< %s> veritabanındaki tablo tablo listesi alınamıyor"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "<%s> tablosu <%s> veritabanında zaten var"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Seçme imleci açılamıyor: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "<%s> sütunu tamsayı değil"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "<%s> sütunu bulunamıyor"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "<%s> tablosu oluşturulamıyor"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "<%s> tablosundan veri alınamadı"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Bilinmeyen sütun tipi (sütun <%s>)"
@@ -526,6 +535,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "'%s' hata ayıklama dosyası açılamıyor"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -853,219 +866,219 @@ msgstr ""
 msgid "Category value"
 msgstr "Kategori değeri"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Kategori değerleri"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Örnek: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 #, fuzzy
 msgid "Feature id"
 msgstr "Obje: "
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 #, fuzzy
 msgid "Feature ids"
 msgstr "Obje: "
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "Girdi dosyasının adı"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 msgid "Name for output file"
 msgstr "Çıktı dosya adı"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Alan ayracı"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Renk"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Ya standart renk adı veya K:Y:M üçlemesi"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Ya standart GRASS rengi,K:Y:M üçlemesi, yada \"hiçbiri\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Girdi dosyasının adı"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Geçersiz koordinatlar"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Girdi vektör haritasının adı"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "<%s> vektörü kapatılamıyor"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Girdi raster harita(lar) adı"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "%s dosyası geçerli harita takımında değil (%s)"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Çıktı raster haritasının adı"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Yükselti raster haritası adı"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Yükselti raster haritası adı"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Çıktı raster haritasının adı"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Girdi vektör haritasının adı"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Girdi vektör haritasının adı"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Çıktı vektör haritasının adı"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Girdi raster3d haritanın adı"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Girdi raster3d harita(lar) adı"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Girdi raster3d harita(lar) adı"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "%s dosyası geçerli harita takımında değil (%s)"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Girdi raster haritası adı"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Girdi raster haritası adı"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Girdi haritası kapatılamıyor"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "[%s] için üstbilgi dosyası oluşturulamıyor"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "'where' sözcüğü olmayan WHERE SQL tümcesi"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Öznitelik tablosundan veri yükleniyor ..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "Topoloji oluşturuluyor...\n"
@@ -1093,7 +1106,7 @@ msgid "SYNOPSIS"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Flamalar"
 
@@ -1113,7 +1126,7 @@ msgid "Quiet module output"
 msgstr ""
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Parametreler"
 
@@ -1229,7 +1242,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Bilinmeyen projeksiyon"
 
@@ -1304,7 +1317,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "UYARI:"
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "HATA:"
@@ -1395,17 +1408,17 @@ msgstr ""
 msgid "<%s> file not found for location <%s>"
 msgstr "<%s> mevkisinde <%s> dosyası bulunamadı"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: Alan %d mevcut değil"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "%s (%s) harita takımı elemanı yapılamıyor"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "%s (%s) harita takımı elemanı yapılamıyor"
@@ -1606,6 +1619,11 @@ msgstr "tekrarlanan format alanı"
 msgid "Duplicate compressed field"
 msgstr "tekrarlanan sıkıştırılmış alan"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1653,22 +1671,22 @@ msgstr ""
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "%s deki <%s> dosyasında hiç elipsoid bilgisi verilmedi"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "'%s' açılamadı"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "'%s' açılamadı"
@@ -1858,8 +1876,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Uygun olmayan kuzey-güney çözünürlük değeri"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1918,6 +1937,10 @@ msgstr "Doğu batıdan büyük olmalıdır"
 msgid "Invalid coordinates"
 msgstr "Geçersiz koordinatlar"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Uygun olmayan kuzey-güney çözünürlük değeri"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Uygun olmayan kuzey-güney3 çözünürlük değeri"
@@ -1982,78 +2005,78 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr ""
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Üzgünüm <%s> geçerli bir seçenek değil\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "HATA:"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr ""
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Üzgünüm, <%c> geçerli bir flama değil\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Üzgünüm, <%s=> belirsizdir\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Üzgünüm <%s> geçerli bir parametre değil\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> harita takımındaki <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2062,7 +2085,7 @@ msgstr ""
 "\n"
 "Hata: <%s> parametresi için geçersiz aralık \n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2071,14 +2094,14 @@ msgstr ""
 "\n"
 "Hata: <%s> parametresi için <%s> değeri aralık dışında\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "Hata: <%s> parametresi için kayıp değer\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2087,7 +2110,7 @@ msgstr ""
 "\n"
 "Hata: <%s> parametresi için <%s> değeri aralık dışında\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2097,44 +2120,44 @@ msgstr ""
 "HATA: Gerekli <%s> parametresi ayarlanmadı:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
 "\tYou provided %d item(s): %s"
 msgstr ""
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Üzgünüm <%s> geçerli bir seçenek değil\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Alan ayracı"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Üzgünüm <%s> geçerli bir seçenek değil\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "%d OGR obje tipi desteklenmiyor"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Geçici dosya açılamıyor"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "<%s> tablosu oluşturulamıyor"
@@ -2656,7 +2679,8 @@ msgstr ""
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Yetersiz bellek"
 
@@ -2678,11 +2702,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Öznitelik tablosundan veri yükleniyor ..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "%d katmanının veritabanı bağlantısı belirlenmedi"
@@ -2875,7 +2901,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr ""
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -2987,8 +3013,8 @@ msgstr "Çıktı Birim faktörü"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3536,6 +3562,30 @@ msgstr "bilinmeyen enterpolasyon tipi"
 msgid "Failed to initialize Cairo surface"
 msgstr ""
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3782,11 +3832,11 @@ msgstr "[%s] için üstbilgi dosyası oluşturulamıyor"
 msgid "Creating a new space time %s dataset"
 msgstr "<%s> raster haritası bulunamadı"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -3977,29 +4027,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Üstbilgi dosyası okunamıyor"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "<%s> raster haritasının kayar nokta aralığı okunamıyor"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "<%s> vektör haritası açılamıyor"
@@ -4158,20 +4208,20 @@ msgstr "<%s> raster haritası bulunamadı"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "[%s deki %s] için üst bilgi dosyası oluşturulamıyor"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4180,7 +4230,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "[%s deki %s] için üst bilgi dosyası oluşturulamıyor"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4188,12 +4238,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "[%s deki %s] için üst bilgi dosyası oluşturulamıyor"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "%s veritabanı açılamıyor"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4201,49 +4251,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "'%s' dizini kaldırılamıyor "
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "[%s deki %s] için üst bilgi dosyası oluşturulamıyor"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "<%s> tablosu oluşturulamıyor"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Komut uygulanamıyor"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "'%s' bulunamadı"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Girdi haritası kapatılamıyor"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Komut uygulanamıyor"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4251,14 +4289,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Komut uygulanamıyor"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4394,7 +4432,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "<%s> deki <%s> vektör haritası bulunamadı"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4509,81 +4547,81 @@ msgid ""
 "%s"
 msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr ""
 "%s harita takımındaki %s haritası %s için zaman damgası dosyası "
 "oluşturulamıyor"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr ""
 "%s harita takımındaki %s haritası %s için zaman damgası dosyası "
 "oluşturulamıyor"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr ""
 " %s harita takımındaki %s haritası %s için geçersiz zaman damgası dosyası"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "Girdi yazım hatası"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr ""
 "%s harita takımındaki %s haritası %s için zaman damgası dosyası "
 "oluşturulamıyor"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr ""
 "%s harita takımındaki %s haritası %s için zaman damgası dosyası "
 "oluşturulamıyor"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr ""
 "%s harita takımındaki %s haritası %s için zaman damgası dosyası "
 "oluşturulamıyor"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr ""
 " %s harita takımındaki %s haritası %s için geçersiz zaman damgası dosyası"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr ""
 "%s harita takımındaki %s haritası %s için zaman damgası dosyası "
 "oluşturulamıyor"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr ""
 "%s harita takımındaki %s haritası %s için zaman damgası dosyası "
 "oluşturulamıyor"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr ""
 " %s harita takımındaki %s haritası %s için geçersiz zaman damgası dosyası"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr ""
@@ -4610,7 +4648,7 @@ msgid "Error computing map <%s>"
 msgstr "<%s>g3d dosyasını açmada hata"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "<%s> deki <%s> vektör haritası bulunamadı"
@@ -4637,76 +4675,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  biçim: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Raster temel haritanın adı"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "<%s> deki <%s> vektör haritası bulunamadı"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Girdi raster haritası adı"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "<%s> raster haritası bulunamadı"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Girdi haritası kapatılamıyor"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "<%s> deki <%s> vektör haritası bulunamadı"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "<%s> raster haritası bulunamadı"
@@ -4723,12 +4785,12 @@ msgstr ""
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "<%s> raster haritası oluşturulamıyor"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "<%s> raster haritası bulunamadı"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr ""
@@ -4785,7 +4847,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4800,7 +4862,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "<%s> tablosundan veri alınamadı"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4808,89 +4874,97 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Girdi haritası kapatılamıyor"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Uygun olmayan dosya adı. '.' veya 'NULL' olmamalı\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Uygun olmayan dosya adı. <%c> karakteri kullanılamaz.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr "Veritabanı bağlantısı eklenemiyor, harita WRITE modunda açılmadı"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Girdi vektör haritasının adı"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Renk"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "%d katmanının veritabanı bağlantısı belirlenmedi"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr ""
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -4935,75 +5009,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "%d OGR obje tipi desteklenmiyor"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "%d OGR obje tipi desteklenmiyor"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "%d OGR obje tipi desteklenmiyor"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Öznitelik sütunu adı"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "[%s deki %s] in aralık dosyası okunamıyor"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "ID'si olmayan OGR objesi görmezden gelindi"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "İndeks aralık dışında"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "<%s> raster haritası boş"
@@ -5012,19 +5086,33 @@ msgstr "<%s> raster haritası boş"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "%d çizgisi okunamıyor"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "%d çizgisi okunamıyor"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5040,24 +5128,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "bilinmeyen enterpolasyon tipi"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr ""
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Kategori indeks dosyasını yazmada hata <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "%d boş satırları okumada hata"
@@ -5184,51 +5288,46 @@ msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Kategori indeks dosyasını yazmada hata <%s>"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "<%s> için aralık dosyası açılamıyor"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "%s geçici boş dosyası bulunamadı"
+msgid "No null file for <%s>"
+msgstr "<%s> için aralık dosyası açılamıyor"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "datum tablo dosyası açılamıyor <%s>"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "<%s@%s> sıkıştırılmış haritasını okumada hata, satır %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "%d boş satırları yazmada hata"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: [%s] haritası yazmak için açılamıyor - istek yok sayıldı"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: açılamayan dosya tanımlatıcı - istek yok sayıldı"
@@ -5325,7 +5424,7 @@ msgstr "GDAL kütüphanesi yüklenemedi"
 msgid "Unable to open GDAL file"
 msgstr "Geçici dosya açılamıyor"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, c-format
 msgid "Invalid map type <%d>"
 msgstr ""
@@ -5391,6 +5490,21 @@ msgstr "%s içindeki <%s> dosyası açılamadı"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr ""
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "Girdi yazım hatası"
@@ -5471,135 +5585,140 @@ msgstr ""
 msgid "Rast_set_null_value: wrong data type!"
 msgstr ""
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, c-format
 msgid "Invalid descriptor: %d"
 msgstr ""
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "datum tablo dosyası açılamıyor <%s>"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "'%s' dosyası silinemiyor"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr ""
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
 "%s> which does not exist"
 msgstr ""
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "[%s deki %s] in aralık dosyası okunamıyor"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "<%s> raster haritasının kayar nokta aralığı okunamıyor"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "<%s> raster haritası bulunamadı"
+msgid "Compression with %s is not supported"
+msgstr "%d OGR obje tipi desteklenmiyor"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
 "should be <%s>."
 msgstr ""
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr ""
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr ""
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "<%s@%s> raster haritası açılamıyor"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "<%s@%s> haritasını okumada hata, satır %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Geçici dosya açılamıyor"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr ""
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> uygun olmayan bir addır"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "<%s> harita takımında hiç %s dosyası yok\n"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "%s dosyası geçerli harita takımında değil (%s)"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr ""
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "'%s' bulunamadı"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "geçersiz tip: '%s' alanı '%s' dosyasındaki"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "geçersiz tip: '%s' alanı '%s' dosyasındaki"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr ""
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5628,11 +5747,16 @@ msgstr "<%s> raster haritası oluşturulamıyor"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "<%s> raster haritası oluşturulamıyor"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "[%s deki %s] sıkıştırılmış dosyasınıokumada başlangıç hatası"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "[%s deki %s] sıkıştırılmış dosyasınıokumada başlangıç hatası"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -5947,17 +6071,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "datum tablo dosyası açılamıyor <%s>"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "UYARI:"
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Alan merkezleri ekleniyor: "
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -5965,115 +6089,149 @@ msgstr ""
 "Kullanım:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr "yardım mesajını yazdır"
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "varsayılanı kabul et"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "geçersiz projeksiyon\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "'%s' dizini kaldırılamıyor "
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "İstenen format bu sürümde derlenmedi."
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6083,267 +6241,294 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Üzgünüm <%s> geçerli bir seçenek değil\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:823
 #, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
+
+#: ../lib/init/grass.py:827
+#, python-format
+msgid ""
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr ""
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s: Alan %d mevcut değil"
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: Alan %d mevcut değil"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s: Alan %d mevcut değil"
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Grafik oluşturuluyor..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - değişken ayarlanmadı"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Alan merkezleri ekleniyor: "
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Bağlantıda hata oldu."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "<%s> tablosundan veri alınamadı"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "<%s> vektörü kapatılamıyor"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "[%s] komutu için yardım yoktur\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "hiçbiri"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "Geçici dosya açılamıyor"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "%d OGR obje tipi desteklenmiyor"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "<%s> Sürücüsü başlatılamıyor"
@@ -6803,8 +6988,8 @@ msgstr ""
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -6904,10 +7089,10 @@ msgstr "Poligon içinde nokta bulunamadı"
 msgid "conditions failed"
 msgstr ""
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -6940,7 +7125,7 @@ msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -6961,22 +7146,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "<%s> vektör haritası silinemiyor"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr ""
@@ -7001,7 +7186,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr ""
 
@@ -7015,17 +7200,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "%d çizgisi okunamıyor"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "%d çizgisi okunamıyor"
@@ -7043,17 +7228,17 @@ msgstr ""
 msgid "Category index out of range"
 msgstr "İndeks aralık dışında"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Kategori indeks dosyasını yazmada hata <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr ""
@@ -7085,7 +7270,7 @@ msgstr "ID'si olmayan OGR objesi görmezden gelindi"
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "'%s' OGR veri kaynağı açılamıyor"
@@ -7184,7 +7369,7 @@ msgstr "[%s deki %s] in aralık dosyası okunamıyor"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7221,94 +7406,110 @@ msgstr "%s: Alan %d mevcut değil"
 msgid "Attempt to access dead area %d"
 msgstr "%d çizgisi okunamıyor"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "<%s> tablosu oluşturulamıyor"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "<%s> tablosuna kopyalanamıyor"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "<%s> tablosuna kopyalanamıyor"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "<%s> tablosuna kopyalanamıyor"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Vektör harita isimleri YSD uyumlu değil"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "<%s> deki <%s> vektör haritası bulunamadı"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "<%s> vektör haritası silinemiyor"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Vektör harita <%s> ten <%s> e kopyalanamıyor"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "<%s> tablosuna kopyalanamıyor"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "<%s> tablosu silinemiyor"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "<%s> tablosu için indeks oluşturulamıyor, anahtar <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "'%s' dizini açılamıyor"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "'%s' dosyası silinemiyor"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "'%s' dizini '%s' olarak yeniden adlandırılamıyor"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "'%s' dizini kaldırılamıyor "
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7334,19 +7535,19 @@ msgstr "Çizgi sayısı     :   %d\n"
 msgid "%s dangles: %d"
 msgstr "Kaldırılan köprüler"
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "<%s> vektör haritasının geçmiş dosyası açılamıyor"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7382,7 +7583,7 @@ msgstr "Obje tip(ler)i"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "<%s> vektör haritasının geçmiş dosyası açılamıyor"
@@ -7436,6 +7637,153 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Grafik oluşturuluyor..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Şebeke grafiği oluşturulamıyor"
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "<%s> sütunu <%s> tablosunda bulunamıyor"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr "<%s> sütunu veri tipi desteklenmiyor ( tamsayı olmalı)"
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "<%s> sütunu <%s> tablosunda bulunamıyor"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr "%d düğümünün (cat = %d) veritabanı kaydı bulunamıyor (cost set to 0)"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Şebeke çizgisi eklenemedi"
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr "%d düğümünün (cat = %d) veritabanı kaydı bulunamıyor (cost set to 0)"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Şebeke çizgisi eklenemedi"
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "çizgiler kaydediliyor ..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr "%d düğümünün (cat = %d) veritabanı kaydı bulunamıyor (cost set to 0)"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr "%d düğümünün (cat = %d) veritabanı kaydı bulunamıyor (cost set to 0)"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Grafik oluşturuluyor..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Grafik oluşturuldu"
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "Şebeke çizgisi eklenemedi"
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7485,82 +7833,6 @@ msgstr "İndeks aralık dışında"
 msgid "Isle index is out of range"
 msgstr "İndeks aralık dışında"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Grafik oluşturuluyor..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Şebeke grafiği oluşturulamıyor"
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "<%s> sütunu <%s> tablosunda bulunamıyor"
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr "<%s> sütunu veri tipi desteklenmiyor ( tamsayı olmalı)"
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "çizgiler kaydediliyor ..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "Şebeke çizgisi eklenemedi"
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr "%d düğümünün (cat = %d) veritabanı kaydı bulunamıyor (cost set to 0)"
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Grafik oluşturuluyor..."
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Grafik oluşturuldu"
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr ""
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr ""
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7684,7 +7956,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Kötü sunucu bağlantısı"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7693,7 +7965,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7708,7 +7980,7 @@ msgstr "<%s> vektör haritası için topoloji kuruluyor   \n"
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "<%s> vektör haritası için topoloji kuruluyor   \n"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7737,7 +8009,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Geçici dosya açılamıyor"
@@ -7913,8 +8185,8 @@ msgstr "Hatalı sınır sayısı   :   %d\n"
 msgid "Number of redundant holes: %d"
 msgstr "Sınır sayısı:   %d\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "<%s> vektör haritasının geçmiş dosyası açılamıyor"
@@ -8014,39 +8286,39 @@ msgstr "Alan sayısı     :    -\n"
 msgid "Number of isles: -"
 msgstr "Ada sayısı     :   -\n"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr ""
 "%s harita takımındaki %s haritası %s için zaman damgası dosyası "
 "oluşturulamıyor"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Topoloji dosyasını yazmada hata"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "Veritabanı bağlantısı eklenemiyor, harita WRITE modunda açılmadı"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "<%s> vektör haritasının geçmiş dosyası açılamıyor"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Konumsal indek dosyasını yazmada hata"
 
@@ -8219,63 +8491,63 @@ msgstr "bilinmeyen işletmen"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, fuzzy, c-format
 msgid "Snapped vertices: %d"
 msgstr "Tüm kırıklık noktaları"
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "Tüm kırıklık noktaları"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Alanlar oluşturuluyor: "
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "%d çizgisi okunamıyor"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "%d çizgisi okunamıyor"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "%d çizgisi okunamıyor"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Topoloji dosyası yazmak için açılamıyor <%s>"
@@ -8285,7 +8557,7 @@ msgstr "Topoloji dosyası yazmak için açılamıyor <%s>"
 msgid "Unable to rewrite feature %d"
 msgstr "%d çizgisi okunamıyor"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "Geçersiz koordinatlar"
@@ -8551,14 +8823,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Bağlantıda hata oldu."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Bağlantıda hata oldu."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8764,52 +9043,52 @@ msgstr "Varsayılan sürücü ayarlanmadı"
 msgid "Default database is not set"
 msgstr "Varsayılan veritabanı ayarlanamadı"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "[%s deki %s] in aralık dosyası okunamıyor"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "<%s> katmanı açılamıyor"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "OGR DBMI sürücüsü açılamıyor"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "bilinmeyen işletmen"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr ""
 
@@ -8882,105 +9161,105 @@ msgstr "%s dosyası geçerli harita takımında değil (%s)"
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "%s dosyası geçerli harita takımında değil (%s)"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "Vektör harita <%s> ten <%s> e kopyalanamıyor"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "<%s> vektör haritası için topoloji kuruluyor   \n"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "<%s> vektör haritası açılamıyor"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "<%s> vektör haritasının geçmiş dosyası açılamıyor"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "%s dosyası geçerli harita takımında değil (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Vektör harita isimleri YSD uyumlu değil"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "<%s> vektör haritasının geçmiş dosyası açılamıyor"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "Uygun olmayan biçim"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Geçici dosya açılamıyor"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9048,89 +9327,89 @@ msgstr "Bağlantıda hata oldu."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Bağlantıda hata oldu."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Veritabanı bağlantısı eklenemiyor"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "ID'si olmayan OGR objesi görmezden gelindi"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Obje tip(ler)i"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Alan merkezi olmayan alan sayısı :   %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "<%s> tablosundan veri alınamadı"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "datum tablo dosyası açılamıyor <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9198,15 +9477,32 @@ msgstr "Matris olanağı yok"
 msgid "Topology info not available for feature %d"
 msgstr "[%s] komutu için yardım yoktur\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "Şebeke çizgisi eklenemedi"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "Geçersiz koordinatlar"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9261,29 +9557,63 @@ msgstr "<%s> tablosu oluşturulamıyor"
 #~ msgid "Out of memmory"
 #~ msgstr "Yetersiz bellek"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "[%s deki %s] için üst bilgi dosyası oluşturulamıyor"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "%s geçici boş dosyası bulunamadı"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "datum tablo dosyası açılamıyor <%s>"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Üzgünüm <%s> geçerli bir seçenek değil\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "Hata: seçenek <%s>: <%s> mevcut.\n"
 
 #, fuzzy
-#~ msgid "Hit RETURN to continue"
-#~ msgstr "Devam etmek için ENTER'a basın -->"
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "Geçersiz koordinatlar"
 
 #, fuzzy
-#~ msgid "Vector map <%s> is not opened on topology level"
-#~ msgstr "Veritabanı bağlantısı eklenemiyor, harita WRITE modunda açılmadı"
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "<%s> katmanı açılamıyor"
 
 #, fuzzy
-#~ msgid "Attributes for category %d not found"
-#~ msgstr "%d kategorisinin veritabanı kaydı bulunamıyor"
+#~ msgid "Hit RETURN to continue"
+#~ msgstr "Devam etmek için ENTER'a basın -->"
 
 #, fuzzy
-#~ msgid "Cannot fetch row"
-#~ msgstr "Katman bilgisi alınamıyor"
+#~ msgid "Vector map <%s> is not opened on topology level"
+#~ msgstr "Veritabanı bağlantısı eklenemiyor, harita WRITE modunda açılmadı"
 
 #~ msgid "Background color"
 #~ msgstr "Arkaplan rengi"
 
 #, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Girdi raster haritası adı"
+
+#, fuzzy
 #~ msgid "Mode type: {0} not supported."
 #~ msgstr "%d OGR obje tipi desteklenmiyor"
 
@@ -9292,5 +9622,9 @@ msgstr "<%s> tablosu oluşturulamıyor"
 #~ msgstr "Geçersiz koordinatlar"
 
 #, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Girdi raster haritası adı"
+#~ msgid "Attributes for category %d not found"
+#~ msgstr "%d kategorisinin veritabanı kaydı bulunamıyor"
+
+#, fuzzy
+#~ msgid "Cannot fetch row"
+#~ msgstr "Katman bilgisi alınamıyor"
diff --git a/locale/po/grasslibs_vi.po b/locale/po/grasslibs_vi.po
index b159204..17bc438 100644
--- a/locale/po/grasslibs_vi.po
+++ b/locale/po/grasslibs_vi.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_vi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2010-08-27 11:18+0700\n"
 "Last-Translator: \n"
 "Language-Team: American English <kde-i18n-doc at kde.org>\n"
@@ -29,33 +29,28 @@ msgstr "%s: Không thể đọc tập tin định nghĩa phông; dùng mặc đ
 msgid "%s: No font definition file"
 msgstr "%s: Không có tập tin định nghĩa phông"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "Không thể khởi động trình điều khiển <%s>"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "Không thể khởi động trình điều khiển <%s>"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "Không thể mở tập tin %s"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -88,7 +83,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "Keine %s Dateien im aktuellen Mapset vorhanden\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "Keine %s Dateien im aktuellen Mapset vorhanden\n"
@@ -100,7 +95,7 @@ msgstr "Keine %s Dateien im aktuellen Mapset vorhanden\n"
 msgid "%s is missing"
 msgstr "bị thiếu"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -133,7 +128,7 @@ msgstr "Không thể mở CSDL"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, c-format
@@ -161,8 +156,8 @@ msgstr "Không thể sao chép bản đồ vec-tơ <%s> vào <%s>"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -223,21 +218,33 @@ msgstr "Không thể mở <%s>"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "Không thể mở tập tin %s"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, fuzzy, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr "Tập tin đăng nhập bị hỏng"
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "Không thể xoá tập tin '%s'"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -418,8 +425,10 @@ msgstr "Không thể khởi động trình điều khiển <%s>"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, c-format
@@ -431,45 +440,45 @@ msgstr "Không thể mở CSDL <%s> bằng trình điều khiển <%s>"
 msgid "Unable to get list tables in database <%s>"
 msgstr "không thể lấy các bảng danh sách trong csdl <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "Bảng <%s> đã có trong csdl <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "Không thể mở con trỏ chọn: '%s'"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, c-format
 msgid "Column <%s> is not integer"
 msgstr "Cột <%s> không phải kiểu số nguyên"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Không tìm thấy cột <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Không thể tạo bảng <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Không thể lấy dữ liệu từ bảng <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "Kiểu cột không biết (cột <%s>)"
@@ -540,6 +549,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "Không thể mở tập tin gỡ lỗi '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -876,218 +889,218 @@ msgstr ""
 msgid "Category value"
 msgstr "Giá trị phạm trù"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "Các giá trị phạm trù"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "Ví dụ: 1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 msgid "Feature id"
 msgstr "id đối tượng"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 msgid "Feature ids"
 msgstr "Các id đối tượng"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "Tên của tập tin đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "Tên của tập tin đầu ra"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "Dấu phân cách trường"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "Màu"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "Hoặc là một màu chuẩn hoặc là bộ ba R:G:B"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "Hoặc là một màu GRASS chuẩn, bộ ba R:G:B, hoặc \"none\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "Tên của tập tin đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "Tọa độ không hợp lệ"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "Tên của bản đồ vec-tơ đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "không thể mở %s"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "Tên của (các) bản đồ raster đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "'Bọ': cố gắng cập nhật bản đồ không ở trong bộ bản đồ hiện tại."
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "Tên của bản đồ raster đầu ra"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "Tên của bản đồ raster độ cao"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "Tên của bản đồ raster độ cao"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "Tên của bản đồ raster đầu ra"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "Tên của (các) bản đồ vec-tơ đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "Tên của (các) bản đồ vec-tơ đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "Không đủ không gian trong mảng vec-tơ"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "Tên của bản đồ raster 3d đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "Tên của bản đồ raster 3d đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "Tên của bản đồ raster 3d đầu ra"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "'Bọ': cố gắng cập nhật bản đồ không ở trong bộ bản đồ hiện tại."
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "Tên của bản đồ raster đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "Tên của bản đồ raster đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "Không thể đóng bản đồ đầu vào"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "Không tìm thấy bản đồ raster <%s> trong bộ bản đồ <%s>"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
 "temporal GIS framework"
 msgstr "Các điều kiện WHERE của câu lệnh SQL không có từ khóa 'where'"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "Đang nạp dữ liệu từ bảng thuộc tính..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "Đang xây dựng tôpô ...\n"
@@ -1115,7 +1128,7 @@ msgid "SYNOPSIS"
 msgstr "TÓM TẮT"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "Các cờ"
 
@@ -1135,7 +1148,7 @@ msgid "Quiet module output"
 msgstr "Đầu ra mô-đun im lặng"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "Các tham số"
 
@@ -1251,7 +1264,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "Phép chiếu không biết"
 
@@ -1326,7 +1339,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "CẢNH BÁO: "
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "LỖI: "
@@ -1416,17 +1429,17 @@ msgstr "Hệ thống không được khởi chạy. Lập trình viên quên g
 msgid "<%s> file not found for location <%s>"
 msgstr "Không tìm thấy tập tin <%s> cho vị trí <%s>"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "%s: Vùng %d không tồn tại"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "Không thể tạo thành phần cho bộ bản đồ %s (%s): %s"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "Không thể truy cập thành phần của bộ bản đồ %s (%s): %s"
@@ -1627,6 +1640,11 @@ msgstr "trường định dạng bị đúp"
 msgid "Duplicate compressed field"
 msgstr "trường nén bị đúp"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, fuzzy, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1676,22 +1694,22 @@ msgstr "Giá trị es không hợp lệ : trường '%s' trong tập tin %s tron
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "Thông tin về ellipsoid không được cung cấp trong tập tin %s trong <%s>"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr "G__open(read): bộ bản đồ <%s> không khớp với xmapset <%s>"
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "Không thể mở '%s'"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn: không thể mở tập tin %s"
@@ -1881,8 +1899,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "Giá trị độ phân giải B-N không hợp lệ"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1945,6 +1964,10 @@ msgstr "Cận Đông phải lớn hơn cận Tây"
 msgid "Invalid coordinates"
 msgstr "Tọa độ không hợp lệ"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "Giá trị độ phân giải B-N không hợp lệ"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "Giá trị độ phân giải bắc-nam 3d không hợp lệ"
@@ -2011,82 +2034,82 @@ msgstr ""
 "Chỉ có %d%% của cửa sổ được lưu trong \"%s\" trùng với cửa sổ GRASS hiện "
 "tại. "
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, fuzzy, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr "'BỌ' trong các mô tả, tùy chọn '%s' trong <%s> không tồn tại"
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr "'BỌ' trong các mô tả, tùy chọn '%s' trong <%s> không tồn tại"
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 "Dùng cờ --quiet hoặc --verbose, không được dùng cả hai. Giả định dùng --"
 "verbose."
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 "Dùng cờ --quiet hoặc --verbose, không được dùng cả hai. Giả định dùng --"
 "quiet."
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "Xin lỗi <%s> không phải là tùy chọn hợp lệ\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "LỖI: "
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 msgid "Unable to determine program name"
 msgstr "Không thể xác định tên chương trình"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "Xin lỗi, <%c> không phải là cờ hợp lệ\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "Xin lỗi, <%s=> không rõ ràng\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "Xin lỗi, <%s> không phải là tham số hợp lệ\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s> trong bộ bản đồ <%s>"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2095,7 +2118,7 @@ msgstr ""
 "\n"
 "
LỖI: Cú pháp miền cho tham số <%s> không hợp lệ\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2104,14 +2127,14 @@ msgstr ""
 "\n"
 "
LỖI: giá trị <%s> nằm ngoài miền đối với tham số <%s>\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "LỖI: Giá trị cho tham số <%s> bị thiếu\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2120,7 +2143,7 @@ msgstr ""
 "\n"
 "Lỗi: giá trị <%s> nằm ngoài miền cho tham số <%s>\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2130,7 +2153,7 @@ msgstr ""
 "LỖI: Tham số yêu cầu <%s> không được thiết lập:\n"
 "    (%s).\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2139,37 +2162,37 @@ msgstr ""
 "\n"
 "
LỖI: tùy chọn <%s> phải được cung cấp ở dạng bội số của %d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "Xin lỗi <%s> không phải là tùy chọn hợp lệ\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "Dấu phân cách trường"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "Xin lỗi <%s> không phải là tùy chọn hợp lệ\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "Không thể mở tập tin %s trong %s"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "Không thể tạo bảng <%s>"
@@ -2753,7 +2776,8 @@ msgstr "Không thể khởi động tập tin %s"
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 msgid "Out of memory"
 msgstr "Hết bộ nhớ "
 
@@ -2775,11 +2799,13 @@ msgid "Loading data from attribute table ..."
 msgstr "Đang nạp dữ liệu từ bảng thuộc tính..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Kết nối CSDL không được định nghĩa cho lớp %d"
@@ -2975,7 +3001,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "Ghi mảng 2d vào bản đồ raster <%s>"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3087,8 +3113,8 @@ msgstr "Hệ số Đơn vị Đầu ra"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3643,6 +3669,30 @@ msgstr "kiểu nội suy không hiểu"
 msgid "Failed to initialize Cairo surface"
 msgstr "Không thể mở tập tin %s trong %s"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3889,11 +3939,11 @@ msgstr "Không thể tạo ra tập tin header cho [%s]"
 msgid "Creating a new space time %s dataset"
 msgstr "Không tìm thấy bản đồ raster <%s> trong bộ bản đồ <%s>"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4084,29 +4134,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "Không thể đọc tập tin đề mục"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "Không thể đọc miền của bản đồ raster 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "Không thể đóng bản đồ raster 3D <%s>"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Không thể mở bản đồ vec-tơ <%s>"
@@ -4265,20 +4315,20 @@ msgstr "Không tìm thấy bản đồ raster <%s> trong bộ bản đồ <%s>"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "Không thể mở tập tin định nghĩa csdl vec-tơ: '%s'"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4287,7 +4337,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Không thể mở tập tin định nghĩa csdl vec-tơ: '%s'"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4295,12 +4345,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "Không thể mở tập tin định nghĩa csdl vec-tơ: '%s'"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "Không thể mở CSDL"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4308,49 +4358,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "Không thể loại bỏ thư mục '%s'"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Không thể mở tập tin định nghĩa csdl vec-tơ: '%s'"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "Không thể tạo bảng <%s>"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "Không thể thực thi lệnh"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Không thể mở tập tin header của bản đồ vec-tơ <%s>"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "Không thể tìm thấy '%s'"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "Không thể mở tập tin header của bản đồ vec-tơ <%s>"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "Không thể khởi động tập tin <%s>"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "Không thể thực thi lệnh"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4358,14 +4396,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "Không thể thực thi lệnh"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4497,7 +4535,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Không thể tìm thấy bản đồ vec-tơ <%s> trongg <%s>"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4612,67 +4650,67 @@ msgid ""
 "%s"
 msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr ""
 "Tập tin đánh dấu thời gian không hợp lệ cho %s bản đồ %s trong bộ bản đồ %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "lỗi cú pháp"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr ""
 "Tập tin đánh dấu thời gian không hợp lệ cho %s bản đồ %s trong bộ bản đồ %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr ""
 "Tập tin đánh dấu thời gian không hợp lệ cho %s bản đồ %s trong bộ bản đồ %s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
@@ -4697,7 +4735,7 @@ msgid "Error computing map <%s>"
 msgstr "Lỗi khi đang mở bản đồ g3d <%s>"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "Không thể tìm thấy bản đồ vec-tơ <%s> trongg <%s>"
@@ -4724,76 +4762,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  định dạng: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "Tên của bản đồ raster gốc"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "Không thể tìm thấy bản đồ vec-tơ <%s> trongg <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "Tên của bản đồ raster đầu vào"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "Không tìm thấy bản đồ raster <%s>"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "Không thể đóng bản đồ đầu vào"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "Không thể tìm thấy bản đồ vec-tơ <%s> trongg <%s>"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "Không tìm thấy bản đồ raster <%s>"
@@ -4808,12 +4870,12 @@ msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "Không thể đọc miền của bản đồ raster <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "Không tìm thấy bản đồ raster <%s>"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
@@ -4868,7 +4930,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4883,7 +4945,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "Không thể lấy dữ liệu từ bảng <%s>"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4891,46 +4957,54 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "Không thể đóng bản đồ đầu vào"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "Tên tập tin không hợp lệ. Không thể là '.' hay 'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "Tên tập tin không hợp lệ. Ký tự <%c> không được phép.\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
@@ -4939,43 +5013,43 @@ msgstr ""
 "Không thể phục hồi lại đối tượng %d, bản đồ vec-tơ <%s> không được mở ở chế "
 "độ 'write' (ghi)"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "Tên của bản đồ vec-tơ đầu vào"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "Màu"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, fuzzy, python-format
 msgid "Database connection not defined for layer %s"
 msgstr "Kết nối CSDL không được định nghĩa cho lớp %d"
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "Lỗi khi đang nạp bản đồ vec-tơ <%s>"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -5020,75 +5094,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "Tên của cột thuộc tính"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "Trục trặc khi đang đọc bản đồ raster"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "Đối tượng OGR không có ID bị bỏ qua"
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "Chỉ mục nằm ngoài miền trong"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "Bảng <%s> được liên kết vào bản đồ vec-tơ <%s> không tồn tại"
@@ -5097,19 +5171,33 @@ msgstr "Bảng <%s> được liên kết vào bản đồ vec-tơ <%s> không t
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "Không thể đọc đường %d"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "Không thể ghi lại đối tượng %d"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5125,24 +5213,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "Kiểu nội suy không hiểu"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr "Đang đọc bản đồ raster <%s@%s> yêu cầu cho hàng %d nằm ngoài vùng"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "Lỗi khi đang ghi tập tin chỉ mục phạm trù <%s>"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "Lỗi khi đang đọc hàng null %d"
@@ -5272,51 +5376,46 @@ msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "Lỗi khi đang ghi tập tin chỉ mục phạm trù <%s>"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "Không thể mở tập tin lịch sử của vector '%s'"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "không thể tìm thấy một tập tin null tạm %s"
+msgid "No null file for <%s>"
+msgstr "Không thể mở tập tin lịch sử của vector '%s'"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn: không thể mở tập tin %s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "Lỗi khi đang đọc bản đồ nén <%s@%s>, hàng %d"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "lỗi khi đang ghi hàng null %d"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: bản đồ [%s] không được mở để ghi - yêu cầu bị bỏ qua"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: Mô tả tập tin không được mở - yêu cầu bị bỏ qua"
@@ -5414,7 +5513,7 @@ msgstr "Không thể nạp thư viện GDAL"
 msgid "Unable to open GDAL file"
 msgstr "Không thể mở tập tin %s trong %s"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "không thể đổi thư mục đến %s"
@@ -5481,6 +5580,21 @@ msgstr "Không thể mở tập tin %s trong %s"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr "Hệ thống không được khởi chạy. Lập trình viên quên gọi G_gisinit()."
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "lỗi cú pháp"
@@ -5565,26 +5679,26 @@ msgstr "EmbedGivenNulls: kiểu dữ liệu sai!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value: kiểu dữ liệu sai!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "không thể đổi thư mục đến %s"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "Không thể mở tập tin %s trong %s"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "Không thể xoá tập tin '%s'"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "Không thể ghi tập tin f_format cho các bản đồ CELL"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5593,28 +5707,28 @@ msgstr ""
 "Không thể mở bản đồ raster <%s@%s> vì nó là phân loại lại của bản đồ raster <"
 "%s@%s> không tồn tại"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "Không thể đọc tập tin range cho [%s ở %s]"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "Lỗi khi đang nạp bản đồ raster 3d <%s>"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr ""
 "Bản đồ raster <%s@%s>: định dạng trường trong tập tin header không hợp lệ"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "Không tìm thấy bản đồ raster <%s> trong bộ bản đồ <%s>"
+msgid "Compression with %s is not supported"
+msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5623,17 +5737,17 @@ msgstr ""
 "Bản đồ raster <%s@%s> ở phép chiếu khác với vùng hiện hành. Tìm thấy bản đồ <"
 "%s@%s>, lẽ ra phải là <%s>."
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "Bản đồ raster <%s@%s> ở một múi (%d) khác với vùng hiện hành (%d)"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "Bản đồ raster <%s@%s>: số byte trên ô (%d) quá lớn"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
@@ -5641,67 +5755,72 @@ msgstr ""
 "bản đồ <%s@%s> là một liên kết GDAL nhưng GRASS được biên dịch không có hỗ "
 "trợ GDAL"
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "Không thể mở tập tin header của bản đồ raster <%s@%s>"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "Lỗi khi đang đọc bản đồ <%s@%s>, hàng %d"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "Không thể mở tập tin %s trong %s"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "Bản đồ raster <%s> không ở trong bộ bản đồ hiện tại (%s)"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, c-format
 msgid "<%s> is an illegal file name"
 msgstr "<%s> là một tên tập tin không hợp lệ"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "G__open_raster_new(): không có tập tin tạm nào dùng được"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "Bản đồ raster <%s> không ở trong bộ bản đồ hiện tại (%s)"
+
+#: ../lib/raster/open.c:816
 #, fuzzy
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr "G_set_fp_type(): chỉ có thể được gọi với FCELL_TYPE hoặc DCELL_TYPE"
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "Không tìm thấy bản đồ raster <%s> trong bộ bản đồ <%s>"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, c-format
 msgid "Unable to find '%s'"
 msgstr "Không thể tìm thấy '%s'"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "Kiểu không hợp lệ: trường '%s' trong tập tin '%s'"
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "Kiểu không hợp lệ: trường '%s' trong tập tin '%s'"
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "Bản đồ raster <%s> không phải là xdr: byte_order: %s"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 #, fuzzy
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
@@ -5732,11 +5851,16 @@ msgstr "Không thể ghi các quy tắc lượng tử: bản đồ %s kiểu int
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "Không thể đọc miền của bản đồ raster <%s>"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "Thất bại trong việc khởi động đọc tập tin nén [%s trong %s]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "Thất bại trong việc khởi động đọc tập tin nén [%s trong %s]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6055,17 +6179,17 @@ msgstr ""
 msgid "Unable to write lockfile %s (%s)"
 msgstr "Không thể mở tập tin %s trong %s"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "CẢNH BÁO: "
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "Đang thiết lập các chi phí nốt..."
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6073,115 +6197,149 @@ msgstr ""
 "Cách dùng:\n"
 "
 "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 #, fuzzy
 msgid "and set as default"
 msgstr "để chấp nhận mặc định"
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
+msgstr ""
+
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:219
+#: ../lib/init/grass.py:345
 #, fuzzy
-msgid "initial location"
+msgid "initial GRASS Location"
 msgstr ""
 "\n"
 "phép chiếu không hợp lệ\n"
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
+msgstr ""
+
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "Không thể cấp phát hình ảnh tạm"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "Định dạng được yêu cầu không được biên dịch trong phiên bản này"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6191,268 +6349,295 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "Xin lỗi <%s> không phải là tùy chọn hợp lệ\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
+
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
+msgstr ""
+
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 #, fuzzy
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr "Vui lòng báo cho các nhà phát triển GRASS về lỗi này.\n"
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
 msgstr ""
 
-#: ../lib/init/grass.py:748
-#, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1170
+#, fuzzy, python-format
+msgid "Path '%s' doesn't exist"
+msgstr "%s: Vùng %d không tồn tại"
+
+#: ../lib/init/grass.py:1172
+#, fuzzy, python-format
+msgid "Path '%s' not accessible."
+msgstr "%s: Vùng %d không tồn tại"
+
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
+#, python-format
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#: ../lib/init/grass.py:1185
 #, python-format
 msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:874
-#, fuzzy, python-format
-msgid "Path '%s' doesn't exist"
-msgstr "%s: Vùng %d không tồn tại"
-
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "Đang xây dựng biểu đồ..."
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - biến không được thiết lập"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "Đang thiết lập các chi phí nốt..."
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "Kết nối thất bại."
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "Không thể lấy dữ liệu từ bảng <%s>"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "Không thể thiết lập tiêu điểm"
+
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 #, fuzzy
 msgid "Help is available with the command:"
 msgstr "Không có trợ giúp cho lệnh [%s]\n"
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "không có"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 #, fuzzy
 msgid "Cleaning up temporary files..."
 msgstr "Không thể mở tập tin tạm"
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "Không thể khởi động trình điều khiển <%s>"
@@ -6947,8 +7132,8 @@ msgstr "Không thể ghi đảo vào tập tin plus"
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr "Lỗi GngFlattern"
 
@@ -7055,10 +7240,10 @@ msgstr "Không thể tìm thấy điểm trong vùng"
 msgid "conditions failed"
 msgstr "các điều kiện thất bại"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7091,7 +7276,7 @@ msgstr "Không thể thiết lập phạm trù %d cho (đối tượng có id %d
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7112,22 +7297,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "Không thể phục hồi lại đối tượng %d từ bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "Không thể mở tập tin header của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "Không thể mở tập tin header của vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr "Hàng bị lỗi trong tiêu đề: %s"
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "Không hiểu từ khoá %s trong tiêu đề vec-tơ"
@@ -7155,7 +7340,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 msgid "Attempt to read dead line"
 msgstr "Cố gắng đọc dòng chết"
 
@@ -7169,17 +7354,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "Không thể đọc đường %d"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "Cố gắng đọc các điểm của một vùng không tồn tại"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "Không thể ghi lại đối tượng %d"
@@ -7197,17 +7382,17 @@ msgstr "Chỉ mục phạm trù nằm ngoài miền"
 msgid "Category index out of range"
 msgstr "Chỉ mục phạm trù nằm ngoài miền"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "Không thể mở tập tin chỉ mục phạm trù của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "Lỗi khi đang ghi tập tin chỉ mục phạm trù <%s>"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "Không thể mở tập tin chỉ mục phạm trù của bản đồ vec-tơ <%s>"
@@ -7239,7 +7424,7 @@ msgstr "Đối tượng OGR không có ID bị bỏ qua"
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "Không thể mở nguồn dữ liệu OGR '%s'"
@@ -7343,7 +7528,7 @@ msgstr "Việc nạp thất bại"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7380,94 +7565,110 @@ msgstr "%s: Vùng %d không tồn tại"
 msgid "Attempt to access dead area %d"
 msgstr "Cố gắng xoá đối tượng chết"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "Không thể tạo bảng <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "Không thể sao chép bảng <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, c-format
+msgid "Unable to copy table <%s>"
+msgstr "Không thể sao chép bảng <%s>"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "Không thể sao chép bảng <%s>"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 msgid "Vector map name is not SQL compliant"
 msgstr "Tên bản đồ vec-tơ không tương thích SQL"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "Không thể tìm thấy bản đồ vec-tơ <%s> trongg <%s>"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "Không thể xoá bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "Không thể sao chép bản đồ vec-tơ <%s> vào <%s>"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, c-format
-msgid "Unable to copy table <%s>"
-msgstr "Không thể sao chép bảng <%s>"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, c-format
 msgid "Unable to delete table <%s>"
 msgstr "Không thể xoá bảng <%s>"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Không thể tạo chỉ mục cho bảng <%s>, khoá <%s>"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "Tên bản đồ vec-tơ không hợp lệ <%s>"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "Không thể mở tập tin header của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "Không thể tìm thấy bảng <%s> được liên kết vào bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "Bảng <%s> được liên kết vào bản đồ vec-tơ <%s> không tồn tại"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, c-format
 msgid "Unable to open directory '%s'"
 msgstr "Không thể mở thư mục '%s'"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, c-format
 msgid "Unable to delete file '%s'"
 msgstr "Không thể xoá tập tin '%s'"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "Không thể đổi tên thư mục '%s' thành '%s'"
 
-#: ../lib/vector/Vlib/map.c:487
-#, c-format
-msgid "Unable to remove directory '%s'"
+#: ../lib/vector/Vlib/map.c:528
+#, fuzzy, c-format
+msgid "Unable to remove directory '%s': %s"
 msgstr "Không thể loại bỏ thư mục '%s'"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7493,12 +7694,12 @@ msgstr "Số đường: %d"
 msgid "%s dangles: %d"
 msgstr "Loại bỏ cửa sổ"
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "Không thể mở tập tin lịch sử của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
@@ -7507,7 +7708,7 @@ msgstr ""
 "Các tập tin coor của bản đồ vec-tơ <%s@%s> lớn hơn cỡ đúng của nó (quá %ld "
 "byte)"
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, fuzzy, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7545,7 +7746,7 @@ msgstr "Kiểu đối tượng"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "Không thể mở tập tin chỉ mục phạm trù của bản đồ vec-tơ <%s>"
@@ -7599,6 +7800,158 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
+msgid "Building graph..."
+msgstr "Đang xây dựng biểu đồ..."
+
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
+msgid "Unable to build network graph"
+msgstr "Không thể xây dựng biểu đồ mạng lưới"
+
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
+msgid "Forward costs column not specified"
+msgstr "Cột chi phí tới không được chỉ định"
+
+#: ../lib/vector/Vlib/net_build.c:156
+#, fuzzy
+msgid "Turntable field < 1"
+msgstr "Trường Arc < 1"
+
+#: ../lib/vector/Vlib/net_build.c:172
+#, fuzzy, c-format
+msgid "Turntable column <%s> not found in table <%s>"
+msgstr "Không tìm thấy cột <%s> trong bảng <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
+#, c-format
+msgid "Data type of column <%s> not supported (must be numeric)"
+msgstr "Kiểu dữ liệu của cột <%s> không được hỗ trợ (phải là kiểu số)"
+
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr "Đang thiết lập các chi phí nốt..."
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "Không tìm thấy cột <%s> trong bảng <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr ""
+"Không tìm thấy bản ghi csdl cho nốt %d (cat = %d) (chi phí thiết lập về 0)"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
+#, fuzzy
+msgid "Cannot add network arc for virtual node connection."
+msgstr "Không thể thêm cung mạng lưới"
+
+#: ../lib/vector/Vlib/net_build.c:364
+#, c-format
+msgid ""
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:393
+#, c-format
+msgid ""
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr ""
+"Không tìm thấy bản ghi csdl cho nốt %d (cat = %d) (chi phí thiết lập về 0)"
+
+#: ../lib/vector/Vlib/net_build.c:465
+#, fuzzy
+msgid "Cannot add network arc representing turn."
+msgstr "Không thể thêm cung mạng lưới"
+
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr "Trường Arc < 1"
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+msgid "Registering arcs..."
+msgstr "Đang đăng ký các cung..."
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:579
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr ""
+"Không tìm thấy bản ghi csdl cho đường %d (cat = %d, hướng tới/cả hai hướng) 
(hướng tới/cả hai hướng của đường bị bỏ qua)"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
+msgstr "Không tìm thấy bản ghi cho đường %d (cat = %d, hướng lui) 
(hướng của đường bị bỏ qua)"
+
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
+msgid "Flattening the graph..."
+msgstr "Đang làm phẳng biểu đồ..."
+
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
+msgid "Graph was built"
+msgstr "Biểu đồ đã được xây dựng"
+
+#: ../lib/vector/Vlib/net_build.c:866
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
+msgstr ""
+"Không tìm thấy bản ghi csdl cho đường %d (cat = %d, hướng tới/cả hai hướng) 
(hướng tới/cả hai hướng của đường bị bỏ qua)"
+
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
+msgstr "Không tìm thấy bản ghi cho đường %d (cat = %d, hướng lui) 
(hướng của đường bị bỏ qua)"
+
+#: ../lib/vector/Vlib/net_build.c:934
+msgid "Cannot add network arc"
+msgstr "Không thể thêm cung mạng lưới"
+
 #: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
 #, fuzzy, c-format
 msgid "Unable to close cursor %s"
@@ -7648,84 +8001,6 @@ msgstr "Chỉ mục phạm trù nằm ngoài miền"
 msgid "Isle index is out of range"
 msgstr "Chỉ mục phạm trù nằm ngoài miền"
 
-#: ../lib/vector/Vlib/net.c:117
-msgid "Building graph..."
-msgstr "Đang xây dựng biểu đồ..."
-
-#: ../lib/vector/Vlib/net.c:159
-msgid "Unable to build network graph"
-msgstr "Không thể xây dựng biểu đồ mạng lưới"
-
-#: ../lib/vector/Vlib/net.c:165
-msgid "Forward costs column not specified"
-msgstr "Cột chi phí tới không được chỉ định"
-
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
-msgstr "Trường Arc < 1"
-
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
-#, c-format
-msgid "Column <%s> not found in table <%s>"
-msgstr "Không tìm thấy cột <%s> trong bảng <%s>"
-
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
-#, c-format
-msgid "Data type of column <%s> not supported (must be numeric)"
-msgstr "Kiểu dữ liệu của cột <%s> không được hỗ trợ (phải là kiểu số)"
-
-#: ../lib/vector/Vlib/net.c:222
-msgid "Registering arcs..."
-msgstr "Đang đăng ký các cung..."
-
-#: ../lib/vector/Vlib/net.c:251
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
-msgstr ""
-"Không tìm thấy bản ghi csdl cho đường %d (cat = %d, hướng tới/cả hai hướng) 
(hướng tới/cả hai hướng của đường bị bỏ qua)"
-
-#: ../lib/vector/Vlib/net.c:270
-#, c-format
-msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
-msgstr "Không tìm thấy bản ghi cho đường %d (cat = %d, hướng lui) 
(hướng của đường bị bỏ qua)"
-
-#: ../lib/vector/Vlib/net.c:319
-msgid "Cannot add network arc"
-msgstr "Không thể thêm cung mạng lưới"
-
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
-msgstr "Đang thiết lập các chi phí nốt..."
-
-#: ../lib/vector/Vlib/net.c:412
-#, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
-msgstr ""
-"Không tìm thấy bản ghi csdl cho nốt %d (cat = %d) (chi phí thiết lập về 0)"
-
-#: ../lib/vector/Vlib/net.c:441
-msgid "Flattening the graph..."
-msgstr "Đang làm phẳng biểu đồ..."
-
-#: ../lib/vector/Vlib/net.c:450
-msgid "Graph was built"
-msgstr "Biểu đồ đã được xây dựng"
-
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
-#, c-format
-msgid "dglShortestPath error: %s"
-msgstr "Lỗi dglShortestPath: %s"
-
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
-msgstr "Hướng của đường bị sai trong Vect_net_get_line_cost()"
-
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 msgid "Index out of range in"
@@ -7850,7 +8125,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "Kết nối với máy chủ kém"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7862,7 +8137,7 @@ msgstr ""
 "Việc đọc ngẫu nhiên không được OGR hỗ trợ đối với lớp này, không thể xây "
 "dựng hỗ trợ"
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7877,7 +8152,7 @@ msgstr "Đang xây dựng lại tôpô cho bản đồ vec-tơ <%s>..."
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "Đang xây dựng lại tôpô cho bản đồ vec-tơ <%s>..."
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7906,7 +8181,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "Không thể mở tập tin %s trong %s"
@@ -8087,8 +8362,8 @@ msgstr "Số ranh giới không đúng: %d"
 msgid "Number of redundant holes: %d"
 msgstr "Số ranh giới: %d"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "Không thể mở tập tin chỉ mục phạm trù của bản đồ vec-tơ <%s>"
@@ -8185,16 +8460,16 @@ msgstr "Số vùng: -"
 msgid "Number of isles: -"
 msgstr "Số đảo: -"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "Không thể đọc tập tin header cho bản đồ raster <%s@%s>."
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 msgid "Error writing out topo file"
 msgstr "Lỗi khi đang ghi vào tập tin tôpô"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
@@ -8203,21 +8478,21 @@ msgstr ""
 "Không thể xây dựng chỉ mục không gian từ tôpô, bản đồ vec-tơ không được mở ở "
 "tôpô cấp 2"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, fuzzy, c-format
 msgid "%s is no longer supported"
 msgstr "LỖI CỦA CHƯƠNG TRÌNH (Vect_build_sidx_from_topo): nốt không tồn tại"
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "Không thể mở tập tin chỉ mục phạm trù của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 msgid "Error writing out spatial index file"
 msgstr "Lỗi khi đang ghi tập tin chỉ mục không gian"
 
@@ -8391,58 +8666,58 @@ msgstr "toán tử không hiểu"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "Số đối tượng nguyên thủy: %d"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "Đang xây dựng các vùng..."
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "Không thể ghi lại đối tượng %d"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "Cố gắng xoá đối tượng chết"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "Không thể thiết lập phạm trù %d cho (đối tượng có id %d)"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "Không thể ghi lại đối tượng %d"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 #, fuzzy
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
@@ -8450,7 +8725,7 @@ msgstr ""
 "Việc đọc ngẫu nhiên không được OGR hỗ trợ đối với lớp này, không thể xây "
 "dựng hỗ trợ"
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "Không thể mở tập tin tôpô để ghi <%s>"
@@ -8460,7 +8735,7 @@ msgstr "Không thể mở tập tin tôpô để ghi <%s>"
 msgid "Unable to rewrite feature %d"
 msgstr "Không thể ghi lại đối tượng %d"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "không thể đổi thư mục đến %s"
@@ -8726,14 +9001,21 @@ msgstr "Hàng bị lỗi trong tiêu đề: %s"
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "Kết nối thất bại."
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "Kết nối thất bại."
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8942,26 +9224,26 @@ msgstr "Trình đ.khiển mặc định không được thiết lập"
 msgid "Default database is not set"
 msgstr "CSDL mặc định không được thiết lập"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "Liên kết csdl %d được yêu cầu, số lượng liên kết tối đa %d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "Lỗi trong quy tắc tại dòng %d trong %s"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "Không thể mở lớp <%s>"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 msgid "Unable to open OGR DBMI driver"
 msgstr "Không thể mở trình đ.khiển OGR DBMI"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
@@ -8969,27 +9251,27 @@ msgstr ""
 "Tất cả các kiểm tra FID thất bại. 'FID', 'ogc_fid', 'ogr_fid' lẫn 'gid' đều "
 "không dùng được trong bảng OGR DB"
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "toán tử không hiểu"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "Không thể mở tập tin header của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "'Bọ': cố gắng cập nhật bản đồ không ở trong bộ bản đồ hiện tại"
 
@@ -9062,24 +9344,24 @@ msgstr "'Bọ': cố gắng cập nhật bản đồ không ở trong bộ bản
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "'Bọ': cố gắng cập nhật bản đồ không ở trong bộ bản đồ hiện tại."
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr ""
 "Bản đồ vec-tơ không ở trong bộ bản đồ hiện tại nên không thể mở để cập nhật "
 "được"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "Không thể mở tập tin header của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "Không thể mở tập tin tôpô của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
@@ -9088,84 +9370,84 @@ msgstr ""
 "Không thể mở bản đồ vec-tơ <%s> ở cấp %d. Hãy thử xây dựng lại tôpô bằng v."
 "build."
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "Đang xây dựng lại tôpô cho bản đồ vec-tơ <%s>..."
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "không thể mở bản đồ raster [%s in %s]"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "Không thể mở tập tin lịch sử của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "Bản đồ raster <%s> không ở trong bộ bản đồ hiện tại (%s)"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "Tên bản đồ vec-tơ không tương thích SQL"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "Không thể mở tập tin lịch sử của bản đồ vec-tơ <%s>"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, c-format
 msgid "Unable to stat file <%s>"
 msgstr "Không thể khởi động tập tin <%s>"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr "Kích thước của tập tin 'coor' khác với giá trị lưu trong tập tin tôpô."
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "Vui lòng xây dựng lại tôpô cho bản đồ vec-tơ <%s@%s>"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr "Kích thước của tập tin 'coor' khác với giá trị lưu trong tập tin tôpô."
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "Không thể mở tập tin %s trong %s"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9233,89 +9515,89 @@ msgstr "Kết nối thất bại."
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "Kết nối thất bại."
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "Không thể thêm liên kết csdl"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "Đối tượng OGR không có ID bị bỏ qua"
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "Kiểu đối tượng"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "Số vùng không có trọng tâm: %d"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "Không thể lấy dữ liệu từ bảng <%s>"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "Không thể mở tập tin %s trong %s"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9380,15 +9662,32 @@ msgstr "Đường không bị thắt nút"
 msgid "Topology info not available for feature %d"
 msgstr "Không có trợ giúp cho lệnh [%s]\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr "Lỗi dglShortestPath: %s"
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr "Hướng của đường bị sai trong Vect_net_get_line_cost()"
+
 #: ../lib/vector/Vlib/graph.c:138
 msgid "Unable to add network arc"
 msgstr "Không thể thêm cung mạng lưới"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "không thể đổi thư mục đến %s"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9443,10 +9742,48 @@ msgstr "Không thể tạo bảng <%s>"
 #~ msgid "Out of memmory"
 #~ msgstr "Hết bộ nhớ "
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "Không thể mở tập tin định nghĩa csdl vec-tơ: '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Không thể mở tập tin header của bản đồ vec-tơ <%s>"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "Không thể mở tập tin header của bản đồ vec-tơ <%s>"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "không thể tìm thấy một tập tin null tạm %s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn: không thể mở tập tin %s"
+
+#, fuzzy
+#~ msgid "ERROR: <%s> is not a valid GRASS location"
+#~ msgstr "Xin lỗi <%s> không phải là tùy chọn hợp lệ\n"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "LỖI: tùy chọn <%s>: <%s> đã có.\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "không thể đổi thư mục đến %s"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "Không thể mở tập tin %s"
+
+#, fuzzy
 #~ msgid "Hit RETURN to continue"
 #~ msgstr "bấm RETURN để tiếp tục -->"
 
@@ -9454,6 +9791,25 @@ msgstr "Không thể tạo bảng <%s>"
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "Bản đồ vec-tơ <%s> không mở được ở cấp >=2"
 
+#~ msgid "Background color"
+#~ msgstr "Màu nền"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "Tên của bản đồ raster đầu vào"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "không thể đổi thư mục đến %s"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "không thể đổi thư mục đến %s"
+
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "Không tìm thấy các thuộc tính cho phạm trù %d"
 
@@ -9478,22 +9834,3 @@ msgstr "Không thể tạo bảng <%s>"
 
 #~ msgid "G_oldsite_new_struct: invalid # dims or fields"
 #~ msgstr "G_oldsite_new_struct: # kích thước hoặc trường không hợp lệ"
-
-#~ msgid "Background color"
-#~ msgstr "Màu nền"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "Kiểu đối tượng OGR %d không được hỗ trợ"
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "không thể đổi thư mục đến %s"
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "không thể đổi thư mục đến %s"
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "Tên của bản đồ raster đầu vào"
diff --git a/locale/po/grasslibs_zh.po b/locale/po/grasslibs_zh.po
index b38b2ab..7f6d037 100644
--- a/locale/po/grasslibs_zh.po
+++ b/locale/po/grasslibs_zh.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasslibs_zh\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2014-04-16 12:27+0100\n"
 "Last-Translator: YusiJi <jiyusi0001 at gmail.com>\n"
 "Language-Team: Simplified Chinese <translations at grass.itc.it>\n"
@@ -29,33 +29,28 @@ msgstr "%s:"
 msgid "%s: No font definition file"
 msgstr "%s:没有字体定义文件"
 
-#: ../lib/display/r_raster.c:128
+#: ../lib/display/r_raster.c:98
 #, c-format
-msgid "%s variable defined, %s ignored"
+msgid "Both %s and %s are defined. %s will be ignored."
 msgstr ""
 
-#: ../lib/display/r_raster.c:147
+#: ../lib/display/r_raster.c:131
 #, c-format
 msgid ""
 "Neither %s (managed by d.mon command) nor %s (used for direct rendering) "
 "defined"
 msgstr ""
 
-#: ../lib/display/r_raster.c:165
+#: ../lib/display/r_raster.c:150
 #, fuzzy, c-format
 msgid "Unknown display driver <%s>"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/display/r_raster.c:166
+#: ../lib/display/r_raster.c:151
 #, fuzzy, c-format
 msgid "Using display driver <%s>..."
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/display/r_raster.c:236
-#, fuzzy, c-format
-msgid "Unable to open file '%s'"
-msgstr "无法打开文件 %s 在 %s 中"
-
 #: ../lib/display/icon.c:80
 #, fuzzy, c-format
 msgid "Unsupported icon %d"
@@ -88,7 +83,7 @@ msgstr ""
 msgid "Copy %s <%s> to current mapset as <%s>"
 msgstr "当前地图集中没有 %s 文件\n"
 
-#: ../lib/manage/do_copy.c:50
+#: ../lib/manage/do_copy.c:50 ../lib/manage/do_copy.c:67
 #, fuzzy, c-format
 msgid "Unable to copy <%s> to current mapset as <%s>"
 msgstr "当前地图集中没有 %s 文件\n"
@@ -100,7 +95,7 @@ msgstr "当前地图集中没有 %s 文件\n"
 msgid "%s is missing"
 msgstr "丢失"
 
-#: ../lib/manage/do_copy.c:70
+#: ../lib/manage/do_copy.c:72
 #, c-format
 msgid "%s copied"
 msgstr ""
@@ -133,7 +128,7 @@ msgstr "无法打开数据库 %s"
 
 #: ../lib/manage/do_rename.c:54 ../lib/manage/do_remove.c:57
 #: ../lib/ogsf/gp3.c:56 ../lib/ogsf/gp3.c:191 ../lib/ogsf/gv3.c:60
-#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:227
+#: ../lib/ogsf/gv3.c:333 ../lib/vector/Vlib/map.c:263
 #: ../lib/vector/Vlib/legal_vname.c:141 ../lib/vector/Vlib/legal_vname.c:144
 #: ../lib/vector/Vlib/open.c:235
 #, fuzzy, c-format
@@ -161,8 +156,8 @@ msgstr "无法打开栅格图[%s在%s中]"
 #: ../lib/rst/interp_float/output2d.c:447
 #: ../lib/rst/interp_float/output2d.c:461
 #: ../lib/rst/interp_float/output2d.c:475
-#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:176
-#: ../lib/raster/open.c:751 ../lib/raster/open.c:788 ../lib/raster/open.c:840
+#: ../lib/rst/interp_float/output2d.c:491 ../lib/raster/open.c:177
+#: ../lib/raster/open.c:840 ../lib/raster/open.c:877 ../lib/raster/open.c:929
 #: ../lib/ogsf/gs3.c:125 ../lib/ogsf/gs3.c:189 ../lib/ogsf/gs3.c:264
 #: ../lib/ogsf/gs3.c:336 ../lib/ogsf/gs3.c:442 ../lib/ogsf/gs3.c:529
 #: ../lib/ogsf/gs3.c:588 ../lib/ogsf/gs3.c:645 ../lib/ogsf/gs3.c:716
@@ -223,21 +218,33 @@ msgstr "无法打开%s"
 msgid "<%s> nothing removed"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:99
+#: ../lib/db/dbmi_base/login.c:110
 #, fuzzy, c-format
 msgid "Unable to read file '%s'"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/db/dbmi_base/login.c:113
+#: ../lib/db/dbmi_base/login.c:125
 #, c-format
 msgid "Login file (%s) corrupted (line: %s)"
 msgstr ""
 
-#: ../lib/db/dbmi_base/login.c:142
+#: ../lib/db/dbmi_base/login.c:154
 #, fuzzy, c-format
 msgid "Unable to write file '%s'"
 msgstr "无法打开文件 %s 在 %s 中"
 
+#: ../lib/db/dbmi_base/login.c:219
+#, fuzzy, c-format
+msgid "DB connection <%s/%s> already exists and will be overwritten"
+msgstr "矢量'%s'已经存在,它将会被覆盖。"
+
+#: ../lib/db/dbmi_base/login.c:222
+#, fuzzy, c-format
+msgid ""
+"DB connection <%s/%s> already exists. Re-run '%s' with '--%s' flag to "
+"overwrite existing settings."
+msgstr "矢量'%s'已经存在,它将会被覆盖。"
+
 #: ../lib/db/dbmi_base/error.c:72
 #, fuzzy
 msgid "<NULL error message>"
@@ -418,8 +425,10 @@ msgstr "无法打开文件 %s 在 %s 中"
 #: ../lib/db/dbmi_client/db.c:46 ../lib/rst/interp_float/vinput2d.c:109
 #: ../lib/ogsf/gp3.c:208 ../lib/ogsf/gv3.c:350
 #: ../lib/vector/neta/timetables.c:133 ../lib/vector/neta/utils.c:119
-#: ../lib/vector/Vlib/map.c:305 ../lib/vector/Vlib/net.c:181
-#: ../lib/vector/Vlib/net.c:358 ../lib/vector/Vlib/array.c:282
+#: ../lib/vector/Vlib/close_nat.c:160 ../lib/vector/Vlib/map.c:341
+#: ../lib/vector/Vlib/net_build.c:165 ../lib/vector/Vlib/net_build.c:211
+#: ../lib/vector/Vlib/net_build.c:496 ../lib/vector/Vlib/net_build.c:794
+#: ../lib/vector/Vlib/net_build.c:973 ../lib/vector/Vlib/array.c:282
 #: ../lib/vector/Vlib/cats.c:597 ../lib/vector/Vlib/write_pg.c:2907
 #: ../lib/vector/Vlib/ascii.c:410 ../lib/vector/Vlib/write_ogr.c:197
 #, fuzzy, c-format
@@ -431,45 +440,45 @@ msgstr "无法打开数据库 %s"
 msgid "Unable to get list tables in database <%s>"
 msgstr "无法打开椭球表文件:%s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:167
+#: ../lib/db/dbmi_client/copy_tab.c:189
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database and will be overwritten"
 msgstr "矢量'%s'已经存在,它将会被覆盖。"
 
-#: ../lib/db/dbmi_client/copy_tab.c:172
+#: ../lib/db/dbmi_client/copy_tab.c:194
 #, fuzzy, c-format
 msgid "Table <%s> already exists in database <%s>"
 msgstr "无法打开椭球表文件:%s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:218 ../lib/db/dbmi_client/copy_tab.c:295
+#: ../lib/db/dbmi_client/copy_tab.c:242 ../lib/db/dbmi_client/copy_tab.c:319
 #: ../lib/db/dbmi_client/table.c:110 ../lib/vector/Vlib/write_ogr.c:210
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/db/dbmi_client/copy_tab.c:250
+#: ../lib/db/dbmi_client/copy_tab.c:274
 #, fuzzy, c-format
 msgid "Column <%s> is not integer"
 msgstr "无法打开数据库表 <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:267 ../lib/rst/interp_float/vinput2d.c:115
+#: ../lib/db/dbmi_client/copy_tab.c:291 ../lib/rst/interp_float/vinput2d.c:115
 #: ../lib/rst/interp_float/vinput2d.c:129
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "无法打开数据库表 <%s>"
 
-#: ../lib/db/dbmi_client/copy_tab.c:270
+#: ../lib/db/dbmi_client/copy_tab.c:294
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/db/dbmi_client/copy_tab.c:314 ../lib/vector/Vlib/write_pg.c:2009
+#: ../lib/db/dbmi_client/copy_tab.c:338 ../lib/vector/Vlib/write_pg.c:2009
 #: ../lib/vector/Vlib/write_ogr.c:585
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/db/dbmi_client/copy_tab.c:370
+#: ../lib/db/dbmi_client/copy_tab.c:394
 #, fuzzy, c-format
 msgid "Unknown column type (column <%s>)"
 msgstr "无法读取平滑字段的类型"
@@ -540,6 +549,10 @@ msgstr ""
 msgid "Cannot open debug file '%s'"
 msgstr "无法打开调试文件 '%s'"
 
+#: ../lib/gis/cmprbzip.c:82 ../lib/gis/cmprbzip.c:142
+msgid "GRASS needs to be compiled with BZIP2 for BZIP2 compression"
+msgstr ""
+
 #: ../lib/gis/spawn.c:386
 #, c-format
 msgid "CreateProcess() failed: error = %d"
@@ -884,200 +897,200 @@ msgstr "一个矢量地图能够连接多个数据库表。这个数字决定使
 msgid "Category value"
 msgstr "类别值"
 
-#: ../lib/gis/parser_standard_options.c:540
+#: ../lib/gis/parser_standard_options.c:541
 msgid "Category values"
 msgstr "类别值"
 
-#: ../lib/gis/parser_standard_options.c:541
-#: ../lib/gis/parser_standard_options.c:555
+#: ../lib/gis/parser_standard_options.c:542
+#: ../lib/gis/parser_standard_options.c:557
 msgid "Example: 1,3,7-9,13"
 msgstr "例如:1,3,7-9,13"
 
-#: ../lib/gis/parser_standard_options.c:547
+#: ../lib/gis/parser_standard_options.c:549
 #, fuzzy
 msgid "Feature id"
 msgstr "要素类型"
 
-#: ../lib/gis/parser_standard_options.c:554
+#: ../lib/gis/parser_standard_options.c:556
 #, fuzzy
 msgid "Feature ids"
 msgstr "要素类型"
 
-#: ../lib/gis/parser_standard_options.c:565
-#: ../lib/gis/parser_standard_options.c:573
+#: ../lib/gis/parser_standard_options.c:567
+#: ../lib/gis/parser_standard_options.c:575
 #, fuzzy
 msgid "Name of input file"
 msgstr "打开文件的名称 %s"
 
-#: ../lib/gis/parser_standard_options.c:581
+#: ../lib/gis/parser_standard_options.c:583
 #, fuzzy
 msgid "Name for output file"
 msgstr "输出栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:590
+#: ../lib/gis/parser_standard_options.c:592
 msgid "Field separator"
 msgstr "字段分隔符"
 
-#: ../lib/gis/parser_standard_options.c:591
+#: ../lib/gis/parser_standard_options.c:593
 msgid "Special characters: pipe, comma, space, tab, newline"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:602
-#: ../lib/gis/parser_standard_options.c:613
+#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:615
 msgid "Color"
 msgstr "颜色"
 
-#: ../lib/gis/parser_standard_options.c:604
+#: ../lib/gis/parser_standard_options.c:606
 msgid "Either a standard color name or R:G:B triplet"
 msgstr "使用一个标准的颜色名或R:G:B三元组"
 
-#: ../lib/gis/parser_standard_options.c:615
+#: ../lib/gis/parser_standard_options.c:617
 #, fuzzy
 msgid "Either a standard color name, R:G:B triplet, or \"none\""
 msgstr "选用标准GRASS颜色,R:G:B三元组或是\"空\""
 
-#: ../lib/gis/parser_standard_options.c:626
+#: ../lib/gis/parser_standard_options.c:628
 #, fuzzy
 msgid "Name of input directory"
 msgstr "打开文件的名称 %s"
 
-#: ../lib/gis/parser_standard_options.c:636
+#: ../lib/gis/parser_standard_options.c:638
 msgid "Units"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:645
+#: ../lib/gis/parser_standard_options.c:647
 msgid "Data type(s)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:655
+#: ../lib/gis/parser_standard_options.c:657
 msgid "Name of mapset (default: current search path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:656
+#: ../lib/gis/parser_standard_options.c:658
 msgid "'.' for current mapset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:664
+#: ../lib/gis/parser_standard_options.c:666
 msgid "Location name"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:665
+#: ../lib/gis/parser_standard_options.c:667
 msgid "Location name (not location path)"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:675
+#: ../lib/gis/parser_standard_options.c:677
 msgid "GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:676
+#: ../lib/gis/parser_standard_options.c:678
 msgid "Default: path to the current GRASS GIS database"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:688
+#: ../lib/gis/parser_standard_options.c:690
 #, fuzzy
 msgid "Coordinates"
 msgstr "无效的坐标"
 
-#: ../lib/gis/parser_standard_options.c:697
+#: ../lib/gis/parser_standard_options.c:699
 #, fuzzy
 msgid "Name of color table"
 msgstr "输入矢量的名称"
 
-#: ../lib/gis/parser_standard_options.c:708
+#: ../lib/gis/parser_standard_options.c:710
 msgid "String representing NULL value"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:717
+#: ../lib/gis/parser_standard_options.c:719
 #, fuzzy
 msgid "Name of saved region"
 msgstr "无法打开%s"
 
-#: ../lib/gis/parser_standard_options.c:727
+#: ../lib/gis/parser_standard_options.c:729
 #, fuzzy
 msgid "Name of the input space time dataset"
 msgstr "输入栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:736
+#: ../lib/gis/parser_standard_options.c:738
 #, fuzzy
 msgid "Name of the input space time datasets"
 msgstr "错误:试图更新不在当前地图集中的地图。"
 
-#: ../lib/gis/parser_standard_options.c:744
+#: ../lib/gis/parser_standard_options.c:746
 #, fuzzy
 msgid "Name of the output space time dataset"
 msgstr "输出栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:752
+#: ../lib/gis/parser_standard_options.c:754
 #, fuzzy
 msgid "Name of the input space time raster dataset"
 msgstr "输入栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:761
+#: ../lib/gis/parser_standard_options.c:763
 #, fuzzy
 msgid "Name of the input space time raster datasets"
 msgstr "输入栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:769
+#: ../lib/gis/parser_standard_options.c:771
 #, fuzzy
 msgid "Name of the output space time raster dataset"
 msgstr "输出栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:777
+#: ../lib/gis/parser_standard_options.c:779
 #, fuzzy
 msgid "Name of the input space time vector dataset"
 msgstr "输入矢量地图名"
 
-#: ../lib/gis/parser_standard_options.c:786
+#: ../lib/gis/parser_standard_options.c:788
 #, fuzzy
 msgid "Name of the input space time vector datasets"
 msgstr "输入矢量地图名"
 
-#: ../lib/gis/parser_standard_options.c:794
+#: ../lib/gis/parser_standard_options.c:796
 #, fuzzy
 msgid "Name of the output space time vector dataset"
 msgstr "输出矢量地图名"
 
-#: ../lib/gis/parser_standard_options.c:802
+#: ../lib/gis/parser_standard_options.c:804
 #, fuzzy
 msgid "Name of the input space time raster3d dataset"
 msgstr "输入栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:811
+#: ../lib/gis/parser_standard_options.c:813
 #, fuzzy
 msgid "Name of the input space time raster3d datasets"
 msgstr "输入栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:819
+#: ../lib/gis/parser_standard_options.c:821
 #, fuzzy
 msgid "Name of the output space time raster3d dataset"
 msgstr "输出栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:828
+#: ../lib/gis/parser_standard_options.c:830
 #, fuzzy
 msgid "Type of the input space time dataset"
 msgstr "错误:试图更新不在当前地图集中的地图。"
 
-#: ../lib/gis/parser_standard_options.c:836
+#: ../lib/gis/parser_standard_options.c:838
 #, fuzzy
 msgid "Name of the input map"
 msgstr "输入栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:845
+#: ../lib/gis/parser_standard_options.c:847
 #, fuzzy
 msgid "Name of the input maps"
 msgstr "输入栅格的名称"
 
-#: ../lib/gis/parser_standard_options.c:854
+#: ../lib/gis/parser_standard_options.c:856
 #, fuzzy
 msgid "Type of the input map"
 msgstr "无法打开%s"
 
-#: ../lib/gis/parser_standard_options.c:863
+#: ../lib/gis/parser_standard_options.c:865
 #, fuzzy
 msgid "The temporal type of the space time dataset"
 msgstr "输入矢量'%s'未找到"
 
-#: ../lib/gis/parser_standard_options.c:870
+#: ../lib/gis/parser_standard_options.c:872
 #, fuzzy
 msgid ""
 "WHERE conditions of SQL statement without 'where' keyword used in the "
@@ -1086,20 +1099,20 @@ msgstr ""
 "SQL 语句的 WHERE 子句不使用'where'关键字。(如:income < 1000 and inhab >= "
 "10000)"
 
-#: ../lib/gis/parser_standard_options.c:871
+#: ../lib/gis/parser_standard_options.c:873
 msgid "Example: start_time > '2001-01-01 12:30:00'"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:881
+#: ../lib/gis/parser_standard_options.c:883
 msgid "The method to be used for sampling the input dataset"
 msgstr ""
 
-#: ../lib/gis/parser_standard_options.c:915
+#: ../lib/gis/parser_standard_options.c:917
 #, fuzzy
 msgid "Do not create attribute table"
 msgstr "从属性表中载入数据..."
 
-#: ../lib/gis/parser_standard_options.c:919
+#: ../lib/gis/parser_standard_options.c:921
 #, fuzzy
 msgid "Do not build topology"
 msgstr "建立拓扑...\n"
@@ -1127,7 +1140,7 @@ msgid "SYNOPSIS"
 msgstr "提要"
 
 #: ../lib/gis/parser_rest.c:146 ../lib/gis/parser_html.c:141
-#: ../lib/init/grass.py:204
+#: ../lib/init/grass.py:328
 msgid "Flags"
 msgstr "标记:"
 
@@ -1147,7 +1160,7 @@ msgid "Quiet module output"
 msgstr "Quiet模式输出"
 
 #: ../lib/gis/parser_rest.c:179 ../lib/gis/parser_html.c:189
-#: ../lib/init/grass.py:217
+#: ../lib/init/grass.py:342
 msgid "Parameters"
 msgstr "参数:"
 
@@ -1263,7 +1276,7 @@ msgstr ""
 msgid "unit"
 msgstr ""
 
-#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:554
+#: ../lib/gis/proj3.c:110 ../lib/vector/Vlib/header.c:552
 msgid "Unknown projection"
 msgstr "未知的投影"
 
@@ -1338,7 +1351,7 @@ msgstr ""
 msgid "WARNING: "
 msgstr "警告:"
 
-#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1509
+#: ../lib/gis/error.c:362 ../lib/gis/parser.c:1511
 #, c-format
 msgid "ERROR: "
 msgstr "错误:"
@@ -1420,17 +1433,17 @@ msgstr "\a错误:系统没有初始化。程序员忘记调用 G_gisinit()\n"
 msgid "<%s> file not found for location <%s>"
 msgstr "%s 文件未找到,用于区域 %s \n"
 
-#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:592
+#: ../lib/gis/make_mapset.c:66 ../lib/init/grass.py:818
 #, fuzzy, c-format, python-format
 msgid "Location <%s> doesn't exist"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/gis/mapset_msc.c:61
+#: ../lib/gis/mapset_msc.c:90
 #, fuzzy, c-format
 msgid "Unable to make mapset element %s (%s): %s"
 msgstr "无法生成地图集元素 %s (%s)"
 
-#: ../lib/gis/mapset_msc.c:65
+#: ../lib/gis/mapset_msc.c:94
 #, fuzzy, c-format
 msgid "Unable to access mapset element %s (%s): %s"
 msgstr "无法生成地图集元素 %s (%s)"
@@ -1631,6 +1644,11 @@ msgstr "复制格式字段"
 msgid "Duplicate compressed field"
 msgstr "复制压缩字段"
 
+#: ../lib/gis/compress.c:131 ../lib/gis/compress.c:193
+#: ../lib/gis/compress.c:209
+msgid "Request for unsupported compressor"
+msgstr ""
+
 #: ../lib/gis/distance.c:154
 #, c-format
 msgid "%s: shouldn't happen: code=%d P=(%f,%f) S=(%f,%f)(%f,%f)"
@@ -1678,22 +1696,22 @@ msgstr "无效的es:字段 %s 文件 %s (在%s中)"
 msgid "No ellipsoid info given in file %s in <%s>"
 msgstr "文件 %s 没有给定椭球信息(在%s中)"
 
-#: ../lib/gis/open.c:66
+#: ../lib/gis/open.c:68
 #, c-format
 msgid "G__open(read): mapset <%s> doesn't match xmapset <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:82
+#: ../lib/gis/open.c:89
 #, fuzzy, c-format
 msgid "G__open(read): Unable to open '%s': %s"
 msgstr "无法打开%s"
 
-#: ../lib/gis/open.c:91
+#: ../lib/gis/open.c:98
 #, c-format
 msgid "G__open(write): xmapset <%s> != G_mapset() <%s>"
 msgstr ""
 
-#: ../lib/gis/open.c:109
+#: ../lib/gis/open.c:122
 #, fuzzy, c-format
 msgid "G__open(write): Unable to open '%s': %s"
 msgstr "G_spawn:无法打开文件%s"
@@ -1883,8 +1901,9 @@ msgstr ""
 msgid "second"
 msgstr ""
 
-#: ../lib/gis/adj_cellhd.c:42 ../lib/gis/adj_cellhd.c:191
-msgid "Illegal n-s resolution value"
+#: ../lib/gis/adj_cellhd.c:42
+#, fuzzy, c-format
+msgid "Illegal n-s resolution value <%lf>"
 msgstr "非法的南北向分辨率值"
 
 #: ../lib/gis/adj_cellhd.c:46 ../lib/gis/adj_cellhd.c:197
@@ -1943,6 +1962,10 @@ msgstr "东经值必须比西经值大"
 msgid "Invalid coordinates"
 msgstr "无效的坐标"
 
+#: ../lib/gis/adj_cellhd.c:191
+msgid "Illegal n-s resolution value"
+msgstr "非法的南北向分辨率值"
+
 #: ../lib/gis/adj_cellhd.c:193
 msgid "Illegal n-s3 resolution value"
 msgstr "非法的3D南北向分辨率值"
@@ -2007,79 +2030,79 @@ msgid ""
 " Only %d%% of window saved in \"%s\" overlaps with current GRASS window."
 msgstr "只有 %d %%的窗口(存储于\"%s\"中)与当前GRASS窗口重叠。"
 
-#: ../lib/gis/parser.c:352
+#: ../lib/gis/parser.c:354
 #, c-format
 msgid "BUG in option name, '%s' is not valid"
 msgstr ""
 
-#: ../lib/gis/parser.c:404
+#: ../lib/gis/parser.c:406
 #, c-format
 msgid "BUG in descriptions, option '%s' in <%s> does not exist"
 msgstr ""
 
-#: ../lib/gis/parser.c:521
+#: ../lib/gis/parser.c:523
 msgid "Use either --quiet or --verbose flag, not both. Assuming --verbose."
 msgstr ""
 
-#: ../lib/gis/parser.c:535
+#: ../lib/gis/parser.c:537
 msgid "Use either --quiet or --verbose flag, not both. Assuming --quiet."
 msgstr ""
 
-#: ../lib/gis/parser.c:566
+#: ../lib/gis/parser.c:568
 #, fuzzy, c-format
 msgid "Sorry <%s> is not a valid option"
 msgstr "对不起,<%s>不是有效的选项\n"
 
-#: ../lib/gis/parser.c:579
+#: ../lib/gis/parser.c:581
 msgid "Your installation doesn't include GUI, exiting."
 msgstr ""
 
-#: ../lib/gis/parser.c:602 ../lib/init/grass.py:129
+#: ../lib/gis/parser.c:604 ../lib/init/grass.py:182
 #, fuzzy
 msgid "ERROR"
 msgstr "错误:"
 
-#: ../lib/gis/parser.c:867
+#: ../lib/gis/parser.c:869
 #, fuzzy
 msgid "Unable to determine program name"
 msgstr "无法确定用户的家目录"
 
-#: ../lib/gis/parser.c:889 ../lib/gis/parser.c:906
+#: ../lib/gis/parser.c:891 ../lib/gis/parser.c:908
 #, fuzzy, c-format
 msgid "%s: Sorry, <%c> is not a valid flag"
 msgstr "对不起,<%c>不是有效的标记\n"
 
-#: ../lib/gis/parser.c:1036
+#: ../lib/gis/parser.c:1038
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s=> is ambiguous"
 msgstr "对不起,<%s=>不明确\n"
 
-#: ../lib/gis/parser.c:1039
+#: ../lib/gis/parser.c:1041
 #, c-format
 msgid "Option <%s=> matches"
 msgstr ""
 
-#: ../lib/gis/parser.c:1057
+#: ../lib/gis/parser.c:1059
 #, c-format
 msgid "Please update the usage of <%s>: option <%s> has been renamed to <%s>"
 msgstr ""
 
-#: ../lib/gis/parser.c:1070
+#: ../lib/gis/parser.c:1072
 #, fuzzy, c-format
 msgid "%s: Sorry, <%s> is not a valid parameter"
 msgstr "对不起,<%s>不是有效的参数\n"
 
-#: ../lib/gis/parser.c:1076 ../lib/gis/parser.c:1321
+#: ../lib/gis/parser.c:1078 ../lib/gis/parser.c:1323
 #, fuzzy, c-format
 msgid "<%s> is an abbreviation for <%s>"
 msgstr "<%s>在地图集<%s>中"
 
-#: ../lib/gis/parser.c:1081
+#: ../lib/gis/parser.c:1083
 #, c-format
 msgid "Option <%s> does not accept multiple answers"
 msgstr ""
 
-#: ../lib/gis/parser.c:1152
+#: ../lib/gis/parser.c:1154
 #, fuzzy, c-format
 msgid ""
 "Illegal range syntax for parameter <%s>\n"
@@ -2088,7 +2111,7 @@ msgstr ""
 "\n"
 "错误:参数<%s>的非法范围语法\n"
 
-#: ../lib/gis/parser.c:1158
+#: ../lib/gis/parser.c:1160
 #, fuzzy, c-format
 msgid ""
 "Value <%s> out of range for parameter <%s>\n"
@@ -2097,14 +2120,14 @@ msgstr ""
 "\n"
 "错误:值<%s>超出了参数<%s>的范围\n"
 
-#: ../lib/gis/parser.c:1164
+#: ../lib/gis/parser.c:1166
 #, fuzzy, c-format
 msgid "Missing value for parameter <%s>"
 msgstr ""
 "\n"
 "错误:参数<%s>缺少值\n"
 
-#: ../lib/gis/parser.c:1170
+#: ../lib/gis/parser.c:1172
 #, fuzzy, c-format
 msgid ""
 "Value <%s> ambiguous for parameter <%s>\n"
@@ -2113,7 +2136,7 @@ msgstr ""
 "\n"
 "错误:值<%s>超出了参数<%s>的范围\n"
 
-#: ../lib/gis/parser.c:1343
+#: ../lib/gis/parser.c:1345
 #, fuzzy, c-format
 msgid ""
 "Required parameter <%s> not set:\n"
@@ -2123,7 +2146,7 @@ msgstr ""
 "错误:必须的参数<%s>未设置:\n"
 "    (%s)。\n"
 
-#: ../lib/gis/parser.c:1435
+#: ../lib/gis/parser.c:1437
 #, fuzzy, c-format
 msgid ""
 "Option <%s> must be provided in multiples of %d\n"
@@ -2132,37 +2155,37 @@ msgstr ""
 "\n"
 "错误:选项<%s>必须乘以%d\n"
 
-#: ../lib/gis/parser.c:1511 ../lib/gis/parser.c:1518
+#: ../lib/gis/parser.c:1513 ../lib/gis/parser.c:1520
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../lib/gis/parser.c:1628
+#: ../lib/gis/parser.c:1630
 #, fuzzy, c-format
 msgid "%s= is not a separator option"
 msgstr "对不起,<%s>不是有效的选项\n"
 
-#: ../lib/gis/parser.c:1631
+#: ../lib/gis/parser.c:1633
 #, fuzzy, c-format
 msgid "No separator given for %s="
 msgstr "字段分隔符"
 
-#: ../lib/gis/parser.c:1693 ../lib/gis/parser.c:1710
+#: ../lib/gis/parser.c:1695 ../lib/gis/parser.c:1712
 #, fuzzy, c-format
 msgid "%s= is not a file option"
 msgstr "对不起,<%s>不是有效的选项\n"
 
-#: ../lib/gis/parser.c:1695
+#: ../lib/gis/parser.c:1697
 #, fuzzy, c-format
 msgid "Opening multiple files not supported for %s="
 msgstr "不支持的 OGR 要素类型 %d"
 
-#: ../lib/gis/parser.c:1701
+#: ../lib/gis/parser.c:1703
 #, fuzzy, c-format
 msgid "Unable to open %s file <%s>"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/gis/parser.c:1707
+#: ../lib/gis/parser.c:1709
 #, fuzzy, c-format
 msgid "Unable to create %s file <%s>"
 msgstr "无法打开文件 %s 在 %s 中"
@@ -2749,7 +2772,8 @@ msgstr "无法统计文件'%s'"
 #: ../lib/vector/neta/timetables.c:425 ../lib/vector/neta/bridge.c:58
 #: ../lib/vector/neta/articulation_point.c:60
 #: ../lib/vector/neta/components.c:46 ../lib/vector/neta/components.c:113
-#: ../lib/vector/Vlib/line.c:50 ../lib/vector/Vlib/line.c:154
+#: ../lib/vector/Vlib/map.c:48 ../lib/vector/Vlib/line.c:50
+#: ../lib/vector/Vlib/line.c:154
 #, fuzzy
 msgid "Out of memory"
 msgstr "G_malloc:内存溢出"
@@ -2772,11 +2796,13 @@ msgid "Loading data from attribute table ..."
 msgstr "从属性表中载入数据..."
 
 #: ../lib/rst/interp_float/vinput2d.c:100 ../lib/ogsf/gp3.c:202
-#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:264
-#: ../lib/vector/Vlib/map.c:400 ../lib/vector/Vlib/net.c:175
-#: ../lib/vector/Vlib/net.c:353 ../lib/vector/Vlib/array.c:276
-#: ../lib/vector/Vlib/copy.c:594 ../lib/vector/Vlib/copy.c:704
-#: ../lib/vector/Vlib/cats.c:589 ../lib/vector/Vlib/ascii.c:398
+#: ../lib/ogsf/gv3.c:344 ../lib/vector/Vlib/map.c:300
+#: ../lib/vector/Vlib/map.c:436 ../lib/vector/Vlib/net_build.c:159
+#: ../lib/vector/Vlib/net_build.c:206 ../lib/vector/Vlib/net_build.c:490
+#: ../lib/vector/Vlib/net_build.c:788 ../lib/vector/Vlib/net_build.c:968
+#: ../lib/vector/Vlib/array.c:276 ../lib/vector/Vlib/copy.c:594
+#: ../lib/vector/Vlib/copy.c:704 ../lib/vector/Vlib/cats.c:589
+#: ../lib/vector/Vlib/ascii.c:398
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
@@ -2969,7 +2995,7 @@ msgid "Write 2d array to raster map <%s>"
 msgstr "将2d数组读入栅格地图<%s>中"
 
 #: ../lib/gpde/n_arrays_io.c:281
-#: ../lib/python/temporal/c_libraries_interface.py:518
+#: ../lib/python/temporal/c_libraries_interface.py:677
 #: ../lib/ogsf/gvl_file.c:436
 #, fuzzy, c-format, python-format
 msgid "Unable to open 3D raster map <%s>"
@@ -3082,8 +3108,8 @@ msgstr "输出单元系数"
 #: ../lib/vector/Vlib/close_ogr.c:77 ../lib/vector/Vlib/close_ogr.c:111
 #: ../lib/vector/Vlib/read_ogr.c:56 ../lib/vector/Vlib/read_ogr.c:157
 #: ../lib/vector/Vlib/read_ogr.c:242 ../lib/vector/Vlib/build_sfa.c:711
-#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:94
-#: ../lib/vector/Vlib/build_ogr.c:169 ../lib/vector/Vlib/field.c:660
+#: ../lib/vector/Vlib/write_sfa.c:298 ../lib/vector/Vlib/build_ogr.c:96
+#: ../lib/vector/Vlib/build_ogr.c:171 ../lib/vector/Vlib/field.c:675
 #: ../lib/vector/Vlib/close.c:284 ../lib/vector/Vlib/rewind_ogr.c:47
 #: ../lib/vector/Vlib/rewind_ogr.c:71 ../lib/vector/Vlib/write_ogr.c:69
 #: ../lib/vector/Vlib/write_ogr.c:105 ../lib/vector/Vlib/write_ogr.c:145
@@ -3638,6 +3664,30 @@ msgstr "未知的内插类型"
 msgid "Failed to initialize Cairo surface"
 msgstr "无法打开文件 %s 在 %s 中"
 
+#: ../lib/python/gunittest/gmodules.py:103
+msgid "input='-' must be used when stdin is specified"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:105
+msgid "stdin must be string or buffer, not PIPE"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:108
+msgid "stdin must be used when input='-'"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:110
+msgid "You cannot merge stdout and stderr and not capture them"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:112
+msgid "stdout argument not allowed, it could be overridden"
+msgstr ""
+
+#: ../lib/python/gunittest/gmodules.py:114
+msgid "stderr argument not allowed, it could be overridden"
+msgstr ""
+
 #: ../lib/python/temporal/factory.py:47
 #, fuzzy, python-format
 msgid "Unknown dataset type: %s"
@@ -3884,11 +3934,11 @@ msgstr "无法为[%s]创建头文件"
 msgid "Creating a new space time %s dataset"
 msgstr "输入矢量'%s'未找到"
 
-#: ../lib/python/temporal/list_stds.py:191
+#: ../lib/python/temporal/list_stds.py:195
 msgid "Empty map list"
 msgstr ""
 
-#: ../lib/python/temporal/list_stds.py:202
+#: ../lib/python/temporal/list_stds.py:206
 msgid "Empty entry in map list, this should not happen"
 msgstr ""
 
@@ -4079,29 +4129,29 @@ msgid ""
 "Update metadata, spatial and temporal extent from all registered maps of <%s>"
 msgstr ""
 
-#: ../lib/python/temporal/c_libraries_interface.py:438
-#: ../lib/python/temporal/c_libraries_interface.py:455
+#: ../lib/python/temporal/c_libraries_interface.py:597
+#: ../lib/python/temporal/c_libraries_interface.py:614
 #, fuzzy
 msgid "Unable to read range file"
 msgstr "无法打开临时文件"
 
-#: ../lib/python/temporal/c_libraries_interface.py:533
+#: ../lib/python/temporal/c_libraries_interface.py:692
 #, fuzzy, python-format
 msgid "Unable to load range of 3D raster map <%s>"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/python/temporal/c_libraries_interface.py:548
+#: ../lib/python/temporal/c_libraries_interface.py:707
 #: ../lib/ogsf/gvl_file.c:470 ../lib/raster3d/close.c:120
 #: ../lib/raster3d/close.c:130 ../lib/raster3d/close.c:159
 #, fuzzy, c-format, python-format
 msgid "Unable to close 3D raster map <%s>"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/python/temporal/c_libraries_interface.py:589 ../lib/ogsf/gp3.c:62
+#: ../lib/python/temporal/c_libraries_interface.py:748 ../lib/ogsf/gp3.c:62
 #: ../lib/ogsf/gp3.c:196 ../lib/ogsf/gv3.c:66 ../lib/ogsf/gv3.c:338
-#: ../lib/vector/Vlib/map.c:156 ../lib/vector/Vlib/map.c:166
-#: ../lib/vector/Vlib/map.c:238 ../lib/vector/Vlib/open.c:290
-#: ../lib/vector/Vlib/open.c:426
+#: ../lib/vector/Vlib/map.c:192 ../lib/vector/Vlib/map.c:202
+#: ../lib/vector/Vlib/map.c:274 ../lib/vector/Vlib/open.c:301
+#: ../lib/vector/Vlib/open.c:437
 #, fuzzy, c-format, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "无法将目录改变到%s"
@@ -4260,20 +4310,20 @@ msgstr "输入矢量'%s'未找到"
 msgid "Switching to original location failed"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:576
+#: ../lib/python/temporal/core.py:595
 msgid ""
 "Unable to initialize the temporal DBMI interface. Please use t.connect to "
 "specify the driver and the database string"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:639
+#: ../lib/python/temporal/core.py:658
 #, fuzzy, python-format
 msgid ""
 "Unable to receive temporal database metadata.\n"
 "Current temporal database info:%(info)s"
 msgstr "无法打开基准面表文件:%s"
 
-#: ../lib/python/temporal/core.py:644
+#: ../lib/python/temporal/core.py:663
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4282,7 +4332,7 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "无法打开基准面表文件:%s"
 
-#: ../lib/python/temporal/core.py:652
+#: ../lib/python/temporal/core.py:671
 #, fuzzy, python-format
 msgid ""
 "Unsupported temporal database: version mismatch.\n"
@@ -4290,12 +4340,12 @@ msgid ""
 "Current temporal database info:%(info)s"
 msgstr "无法打开基准面表文件:%s"
 
-#: ../lib/python/temporal/core.py:740
+#: ../lib/python/temporal/core.py:759
 #, fuzzy, python-format
 msgid "Creating temporal database: %s"
 msgstr "无法打开数据库 %s"
 
-#: ../lib/python/temporal/core.py:749
+#: ../lib/python/temporal/core.py:768
 #, python-format
 msgid ""
 "Unable to create SQLite temporal database\n"
@@ -4303,49 +4353,37 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database path"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:914
-#, python-format
-msgid ""
-"Unable to mogrify sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:933
+#, fuzzy
+msgid "Unable to mogrify sql statement. "
+msgstr "无法将目录改变到%s"
 
-#: ../lib/python/temporal/core.py:937
-#, fuzzy, python-format
-msgid ""
-"Unable to check table. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "无法打开基准面表文件:%s"
+#: ../lib/python/temporal/core.py:955
+#, fuzzy
+msgid "Unable to check table. "
+msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/python/temporal/core.py:954
-#, python-format
-msgid ""
-"Unable to execute sql statement. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:971
+#, fuzzy
+msgid "Unable to execute sql statement. "
+msgstr "无法执行命令"
 
-#: ../lib/python/temporal/core.py:965
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch one. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "无法打开矢量'%s'的历史记录"
+#: ../lib/python/temporal/core.py:981
+#, fuzzy
+msgid "Unable to fetch one. "
+msgstr "无法找到[%s]"
 
-#: ../lib/python/temporal/core.py:976
-#, fuzzy, python-format
-msgid ""
-"Unable to fetch all. There is no temporal database connection defined for "
-"mapset <%(mapset)s>"
-msgstr "无法打开矢量'%s'的历史记录"
+#: ../lib/python/temporal/core.py:991
+#, fuzzy
+msgid "Unable to fetch all. "
+msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/python/temporal/core.py:994
-#, python-format
-msgid ""
-"Unable to execute transaction. There is no temporal database connection "
-"defined for mapset <%(mapset)s>"
-msgstr ""
+#: ../lib/python/temporal/core.py:1008
+#, fuzzy
+msgid "Unable to execute transaction. "
+msgstr "无法执行命令"
 
-#: ../lib/python/temporal/core.py:1083
+#: ../lib/python/temporal/core.py:1111
 #, python-format
 msgid ""
 "Unable to connect to %(db)s database: %(string)s\n"
@@ -4353,14 +4391,14 @@ msgid ""
 "Please use t.connect to set a read- and writable temporal database backend"
 msgstr ""
 
-#: ../lib/python/temporal/core.py:1240
+#: ../lib/python/temporal/core.py:1268
 #, fuzzy, python-format
 msgid ""
 "Unable to execute :\n"
 " %(sql)s"
 msgstr "无法执行命令"
 
-#: ../lib/python/temporal/core.py:1284
+#: ../lib/python/temporal/core.py:1312
 #, fuzzy, python-format
 msgid ""
 "Unable to execute transaction:\n"
@@ -4487,7 +4525,7 @@ msgstr ""
 msgid "Dataset <%s> not found in temporal database"
 msgstr "无法打开栅格图[%s在%s中]"
 
-#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1214
+#: ../lib/python/temporal/gui_support.py:56 ../lib/python/script/core.py:1232
 #, python-format
 msgid "Invalid element '%s'"
 msgstr ""
@@ -4602,64 +4640,64 @@ msgid ""
 "%s"
 msgstr "矢量'%s'已经存在,它将会被覆盖。"
 
-#: ../lib/python/temporal/space_time_datasets.py:221
+#: ../lib/python/temporal/space_time_datasets.py:231
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for raster map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/python/temporal/space_time_datasets.py:245
+#: ../lib/python/temporal/space_time_datasets.py:255
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for raster map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/python/temporal/space_time_datasets.py:250
+#: ../lib/python/temporal/space_time_datasets.py:260
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for raster map <%s>"
 msgstr "对%s是无效的时间戳文件,地图%s 地图集%s"
 
-#: ../lib/python/temporal/space_time_datasets.py:255
-#: ../lib/python/temporal/space_time_datasets.py:589
+#: ../lib/python/temporal/space_time_datasets.py:265
+#: ../lib/python/temporal/space_time_datasets.py:609
 #, fuzzy
 msgid "Internal error"
 msgstr "格式错误"
 
-#: ../lib/python/temporal/space_time_datasets.py:272
-#: ../lib/python/temporal/space_time_datasets.py:603
+#: ../lib/python/temporal/space_time_datasets.py:282
+#: ../lib/python/temporal/space_time_datasets.py:623
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for raster map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/python/temporal/space_time_datasets.py:555
+#: ../lib/python/temporal/space_time_datasets.py:575
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for 3D raster map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/python/temporal/space_time_datasets.py:579
+#: ../lib/python/temporal/space_time_datasets.py:599
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for 3D raster map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/python/temporal/space_time_datasets.py:584
+#: ../lib/python/temporal/space_time_datasets.py:604
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for 3D raster map <%s>"
 msgstr "对%s是无效的时间戳文件,地图%s 地图集%s"
 
-#: ../lib/python/temporal/space_time_datasets.py:848
+#: ../lib/python/temporal/space_time_datasets.py:879
 #, fuzzy, python-format
 msgid "Unable to read timestamp file for vector map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/python/temporal/space_time_datasets.py:871
+#: ../lib/python/temporal/space_time_datasets.py:902
 #, fuzzy, python-format
 msgid "Unable to create timestamp file for vector map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/python/temporal/space_time_datasets.py:876
+#: ../lib/python/temporal/space_time_datasets.py:907
 #, fuzzy, python-format
 msgid "Invalid datetime in timestamp for vector map <%s>"
 msgstr "对%s是无效的时间戳文件,地图%s 地图集%s"
 
-#: ../lib/python/temporal/space_time_datasets.py:892
+#: ../lib/python/temporal/space_time_datasets.py:923
 #, fuzzy, python-format
 msgid "Unable to remove timestamp for vector map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
@@ -4684,7 +4722,7 @@ msgid "Error computing map <%s>"
 msgstr "打开g3d地图 <%s>错误"
 
 #: ../lib/python/temporal/temporal_raster_base_algebra.py:655
-#: ../lib/python/temporal/temporal_algebra.py:2212
+#: ../lib/python/temporal/temporal_algebra.py:2215
 #, fuzzy, python-format
 msgid "%s map <%s> not found in GRASS spatial database"
 msgstr "无法打开栅格图[%s在%s中]"
@@ -4711,76 +4749,100 @@ msgstr ""
 msgid "Error occurred in r.series computation"
 msgstr "  格式: %s\n"
 
-#: ../lib/python/temporal/aggregation.py:271
+#: ../lib/python/temporal/aggregation.py:274
 #, fuzzy, python-format
 msgid "Aggregating %(len)i raster maps from %(start)s to %(end)s"
 msgstr "输入栅格的名称"
 
-#: ../lib/python/temporal/aggregation.py:289
+#: ../lib/python/temporal/aggregation.py:292
 #, python-format
 msgid ""
 "Unable to perform aggregation. Output raster map <%(name)s> exists and "
 "overwrite flag was not set"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:790
+#: ../lib/python/temporal/aggregation.py:310
+#, python-format
+msgid ""
+"The limit of open fiels (%i) was reached (%i). The module r.series will be "
+"run with flag z, to avoid open files limit exceeding."
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:791
 msgid "Spatio temporal operators are not supported in granularity algebra mode"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:826
+#: ../lib/python/temporal/temporal_algebra.py:828
 msgid "All input space time datasets must have a valid temporal topology."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:834
+#: ../lib/python/temporal/temporal_algebra.py:837
 #, fuzzy
 msgid "All input space time datasets must have the same temporal type."
 msgstr "无法打开栅格图[%s在%s中]"
 
-#: ../lib/python/temporal/temporal_algebra.py:1059
+#: ../lib/python/temporal/temporal_algebra.py:1062
 #, fuzzy, python-format
 msgid "Removing un-needed or empty %s maps"
 msgstr "输入栅格的名称"
 
-#: ../lib/python/temporal/temporal_algebra.py:1106
+#: ../lib/python/temporal/temporal_algebra.py:1109
 #, fuzzy, python-format
 msgid "Space time %s dataset <%s> not found"
 msgstr "输入矢量'%s'未找到"
 
-#: ../lib/python/temporal/temporal_algebra.py:1133
-#: ../lib/python/temporal/temporal_algebra.py:1137
+#: ../lib/python/temporal/temporal_algebra.py:1136
+#: ../lib/python/temporal/temporal_algebra.py:1140
 #, python-format
 msgid ""
 "Wrong temporal type of space time dataset <"
 "%s>                                       <%s> time is required"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:1157
+#: ../lib/python/temporal/temporal_algebra.py:1160
 #, fuzzy
 msgid "Wrong type of input "
 msgstr "无法打开%s"
 
-#: ../lib/python/temporal/temporal_algebra.py:2031
+#: ../lib/python/temporal/temporal_algebra.py:2034
 #, python-format
 msgid ""
 "The resulting space time dataset type <%(a)s> is different from the "
 "requested type <%(b)s>"
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2037
+#: ../lib/python/temporal/temporal_algebra.py:2040
 msgid ""
 "Maps that should be registered in the resulting space time dataset have "
 "different types."
 msgstr ""
 
-#: ../lib/python/temporal/temporal_algebra.py:2218
+#: ../lib/python/temporal/temporal_algebra.py:2221
 #, python-format
 msgid ""
 "Wrong map type <%s> . TMAP only supports single maps that are registered in "
 "the temporal GRASS database"
 msgstr ""
 
+#: ../lib/python/temporal/temporal_algebra.py:2250
+msgid "Merging empty map lists"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2253
+msgid "First Map list is empty, can't merge it. Return only last map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2256
+msgid "Second Map list is empty, can't merge it. Return only first map list"
+msgstr ""
+
+#: ../lib/python/temporal/temporal_algebra.py:2264
+#, fuzzy
+msgid "Space time datasets to merge must have the same temporal type"
+msgstr "无法打开栅格图[%s在%s中]"
+
 #: ../lib/python/temporal/univar_statistics.py:59
-#: ../lib/python/temporal/univar_statistics.py:172
+#: ../lib/python/temporal/univar_statistics.py:175
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> is empty"
 msgstr "输入矢量'%s'未找到"
@@ -4795,12 +4857,12 @@ msgstr "无法为[%s在%s中]创建头文件"
 msgid "Unable to get statistics for 3d raster map <%s>"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/python/temporal/univar_statistics.py:162
+#: ../lib/python/temporal/univar_statistics.py:165
 #, fuzzy, python-format
 msgid "Space time %(sp)s dataset <%(i)s> not found"
 msgstr "输入矢量'%s'未找到"
 
-#: ../lib/python/temporal/univar_statistics.py:213
+#: ../lib/python/temporal/univar_statistics.py:219
 #, fuzzy, python-format
 msgid "Unable to get statistics for vector map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
@@ -4855,7 +4917,7 @@ msgstr ""
 msgid ". See errors in the (error) output."
 msgstr ""
 
-#: ../lib/python/script/raster3d.py:85
+#: ../lib/python/script/raster3d.py:86
 msgid "An error occurred while running r3.mapcalc"
 msgstr ""
 
@@ -4870,7 +4932,11 @@ msgstr ""
 msgid "Fetching data failed"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/python/script/core.py:287
+#: ../lib/python/script/core.py:67
+msgid "Cannot find the executable {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:304
 #, python-format
 msgid ""
 "To run the module <%s> add underscore at the end of the option <%s> to avoid "
@@ -4878,89 +4944,97 @@ msgid ""
 "GRASS GIS 7.0 and will be removed in version 7.1."
 msgstr ""
 
-#: ../lib/python/script/core.py:909
+#: ../lib/python/script/core.py:927
 msgid "Mixing value types. Will try to compare after integer conversion"
 msgstr ""
 
-#: ../lib/python/script/core.py:1104
+#: ../lib/python/script/core.py:1122
 #, python-format
 msgid "Element type should be \"cell\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1133 ../lib/python/script/core.py:1198
+#: ../lib/python/script/core.py:1151 ../lib/python/script/core.py:1216
 #, python-format
 msgid "Element type should be \"raster\" and not \"%s\""
 msgstr ""
 
-#: ../lib/python/script/core.py:1353
+#: ../lib/python/script/core.py:1371
 #, fuzzy
 msgid "Unable to list mapsets"
 msgstr "无法打开%s"
 
-#: ../lib/python/script/core.py:1392
+#: ../lib/python/script/core.py:1410
 #, python-format
 msgid "Location <%s> already exists. Operation canceled."
 msgstr ""
 
-#: ../lib/python/script/core.py:1395
+#: ../lib/python/script/core.py:1413
 #, fuzzy, python-format
 msgid "Location <%s> already exists and will be overwritten"
 msgstr "矢量'%s'已经存在,它将会被覆盖。"
 
-#: ../lib/python/script/core.py:1532
+#: ../lib/python/script/core.py:1537
+msgid "Debug level {}"
+msgstr ""
+
+#: ../lib/python/script/core.py:1540
+msgid "WARNING: Ignoring unsupported debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../lib/python/script/core.py:1556
 #, fuzzy, python-format
 msgid "Illegal filename <%s>. Cannot be 'NULL' or start with '.'."
 msgstr "非法的文件名。不能是'.'或'NULL'\n"
 
-#: ../lib/python/script/core.py:1541
+#: ../lib/python/script/core.py:1565
 #, fuzzy, python-format
 msgid "Illegal filename <%(s)s>. <%(il)s> not allowed.\n"
 msgstr "非法的文件名。不允许包含字符<%c>。\n"
 
-#: ../lib/python/script/raster.py:46
+#: ../lib/python/script/raster.py:47
 #, fuzzy, python-format
 msgid ""
 "Unable to write history for <%(map)s>. Raster map <%(map)s> not found in "
 "current mapset."
 msgstr "无法删除线,地图'%s'没有以写模式打开"
 
-#: ../lib/python/script/raster.py:105
+#: ../lib/python/script/raster.py:106
 msgid "An error occurred while running r.mapcalc"
 msgstr ""
 
-#: ../lib/python/script/raster.py:183
+#: ../lib/python/script/raster.py:184
 #, fuzzy
 msgid "No data"
 msgstr "输入矢量的名称"
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "value"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 msgid "label"
 msgstr ""
 
-#: ../lib/python/script/raster.py:190
+#: ../lib/python/script/raster.py:191
 #, fuzzy
 msgid "color"
 msgstr "颜色"
 
-#: ../lib/python/script/vector.py:82
+#: ../lib/python/script/vector.py:85
 #, python-format
 msgid "Database connection not defined for layer %s"
 msgstr ""
 
-#: ../lib/python/script/vector.py:222
+#: ../lib/python/script/vector.py:225
 #, fuzzy, python-format
 msgid "Missing layer %(layer)d in vector map <%(map)s>"
 msgstr "打开g3d地图 <%s>错误"
 
-#: ../lib/python/script/vector.py:237
+#: ../lib/python/script/vector.py:240
 msgid "vector_db_select() failed"
 msgstr ""
 
-#: ../lib/python/script/vector.py:387
+#: ../lib/python/script/vector.py:392
 #, python-brace-format
 msgid ""
 "v.what output is not valid JSON format:\n"
@@ -5005,75 +5079,75 @@ msgstr ""
 msgid "Cannot parse interface description of<{name}> module: {error}"
 msgstr ""
 
-#: ../lib/python/pygrass/modules/grid/grid.py:547
+#: ../lib/python/pygrass/modules/grid/grid.py:553
 msgid "Execution of subprocesses was not successful"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/abstract.py:274
+#: ../lib/python/pygrass/raster/abstract.py:275
 #, fuzzy, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w')"
 msgstr "不支持的 OGR 要素类型 %d"
 
-#: ../lib/python/pygrass/raster/abstract.py:285
+#: ../lib/python/pygrass/raster/abstract.py:286
 #, fuzzy, python-brace-format
 msgid "Overwrite type: {0} not supported (True/False)"
 msgstr "不支持的 OGR 要素类型 %d"
 
-#: ../lib/python/pygrass/raster/abstract.py:298
-#: ../lib/python/pygrass/vector/abstract.py:108
+#: ../lib/python/pygrass/raster/abstract.py:299
+#: ../lib/python/pygrass/vector/abstract.py:97
 #, python-brace-format
 msgid "Map name {0} not valid"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:81
+#: ../lib/python/pygrass/raster/category.py:69
 #, fuzzy, python-brace-format
 msgid "Raster type: {0} not supported"
 msgstr "不支持的 OGR 要素类型 %d"
 
-#: ../lib/python/pygrass/raster/category.py:168
+#: ../lib/python/pygrass/raster/category.py:156
 msgid "Error executing: Rast_get_ith_cat"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/category.py:196
+#: ../lib/python/pygrass/raster/category.py:184
 #, fuzzy
 msgid "Null value detected"
 msgstr "输入矢量的名称"
 
-#: ../lib/python/pygrass/raster/category.py:198
+#: ../lib/python/pygrass/raster/category.py:186
 #, fuzzy
 msgid "Error executing: Rast_set_cat"
 msgstr "读取栅格单元文件问题"
 
-#: ../lib/python/pygrass/raster/__init__.py:180
+#: ../lib/python/pygrass/raster/__init__.py:209
 msgid "The map does not exist, I can't open in 'r' mode"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:185
+#: ../lib/python/pygrass/raster/__init__.py:214
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists and will be not overwritten"
 msgstr "矢量'%s'已经存在,它将会被覆盖。"
 
-#: ../lib/python/pygrass/raster/__init__.py:189
+#: ../lib/python/pygrass/raster/__init__.py:218
 #, fuzzy
 msgid "Raster type not defined"
 msgstr "没有 ID 的 OGR 要素被忽略。 "
 
-#: ../lib/python/pygrass/raster/__init__.py:280
+#: ../lib/python/pygrass/raster/__init__.py:321
 #, python-brace-format
 msgid "Mode type: {0} not supported ('r', 'w','rw')"
 msgstr ""
 
-#: ../lib/python/pygrass/raster/__init__.py:300
+#: ../lib/python/pygrass/raster/__init__.py:341
 #, fuzzy, python-format
 msgid "Index out of range: %r."
 msgstr "双精度属性索引越界"
 
-#: ../lib/python/pygrass/raster/__init__.py:401
+#: ../lib/python/pygrass/raster/__init__.py:530
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> already exists. Use overwrite."
 msgstr "矢量'%s'已经存在,它将会被覆盖。"
 
-#: ../lib/python/pygrass/raster/__init__.py:432
+#: ../lib/python/pygrass/raster/__init__.py:561
 #, fuzzy, python-brace-format
 msgid "Raster map <{0}> does not exist"
 msgstr "无法打开矢量'%s'的历史记录"
@@ -5082,19 +5156,33 @@ msgstr "无法打开矢量'%s'的历史记录"
 msgid "The map is close!"
 msgstr ""
 
-#: ../lib/python/pygrass/utils.py:236
+#: ../lib/python/pygrass/errors.py:28
+msgid "The self.c_mapinfo pointer must be correctly initiated"
+msgstr ""
+
+#: ../lib/python/pygrass/utils.py:255
 msgid "Vector doesn't contain points"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1017
+#: ../lib/python/pygrass/vector/table.py:1020
 #, python-format
 msgid "Deleting table <%s> which is attached to following map(s):"
 msgstr ""
 
-#: ../lib/python/pygrass/vector/table.py:1021
+#: ../lib/python/pygrass/vector/table.py:1024
 msgid "You must use the force flag to actually remove it. Exiting."
 msgstr ""
 
+#: ../lib/python/pygrass/vector/__init__.py:750
+#, fuzzy, python-format
+msgid "Unable to read line of feature %i"
+msgstr "无法打开临时文件"
+
+#: ../lib/python/pygrass/vector/__init__.py:839
+#, fuzzy, python-format
+msgid "Unable to read area with id %i"
+msgstr "无法打开文件 %s 在 %s 中"
+
 #: ../lib/raster/alloc_cell.c:151
 #, c-format
 msgid "Rast__null_bitstream_size: cols (%d) is negative"
@@ -5110,24 +5198,40 @@ msgstr ""
 msgid "Unknown interpolation method: %s"
 msgstr "未知的内插类型"
 
-#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:845
+#: ../lib/raster/get_row.c:36 ../lib/raster/get_row.c:897
 #, fuzzy, c-format
 msgid "Reading raster map <%s@%s> request for row %d is outside region"
 msgstr "[%s 在 %s 中] - 读取的行 %d 超出范围"
 
-#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:101
-#: ../lib/raster/get_row.c:135 ../lib/raster/get_row.c:142
-#: ../lib/raster/get_row.c:177 ../lib/raster/get_row.c:181
+#: ../lib/raster/get_row.c:95 ../lib/raster/get_row.c:137
+#: ../lib/raster/get_row.c:144 ../lib/raster/get_row.c:187
+#: ../lib/raster/get_row.c:191
 #, fuzzy, c-format
 msgid "Error reading raster data for row %d of <%s>"
 msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
 
-#: ../lib/raster/get_row.c:217
+#: ../lib/raster/get_row.c:102 ../lib/raster/get_row.c:168
+#, fuzzy, c-format
+msgid "Error uncompressing raster data for row %d of <%s>"
+msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
+
+#: ../lib/raster/get_row.c:227
 #, fuzzy, c-format
 msgid "Error reading raster data via GDAL for row %d of <%s>"
 msgstr "写空间索引文件时出错。\n"
 
-#: ../lib/raster/get_row.c:829 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:827 ../lib/raster/get_row.c:832
+#: ../lib/raster/get_row.c:842
+#, fuzzy, c-format
+msgid "Error reading null data for row %d of <%s>"
+msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
+
+#: ../lib/raster/get_row.c:847
+#, fuzzy, c-format
+msgid "Error uncompressing null data for row %d of <%s>"
+msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
+
+#: ../lib/raster/get_row.c:881 ../lib/raster/get_row.c:884
 #, fuzzy, c-format
 msgid "Error reading null row %d for <%s>"
 msgstr "读取空行 %d 出错"
@@ -5259,51 +5363,46 @@ msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
 msgid "Error writing compressed FP data for row %d of <%s>: %s"
 msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
 
-#: ../lib/raster/put_row.c:390 ../lib/raster/put_row.c:396
+#: ../lib/raster/put_row.c:387 ../lib/raster/put_row.c:393
 #, fuzzy, c-format
 msgid "Error writing compressed data for row %d of <%s>"
 msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
 
-#: ../lib/raster/put_row.c:406
+#: ../lib/raster/put_row.c:403
 #, fuzzy, c-format
 msgid "Error writing uncompressed data for row %d of <%s>"
 msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
 
-#: ../lib/raster/put_row.c:465
+#: ../lib/raster/put_row.c:462
 #, fuzzy, c-format
 msgid "Error writing data via GDAL for row %d of <%s>"
 msgstr "写空间索引文件时出错。\n"
 
-#: ../lib/raster/put_row.c:489
-#, fuzzy, c-format
-msgid "No null file for <%s>"
-msgstr "无法打开矢量'%s'的历史记录"
-
-#: ../lib/raster/put_row.c:503
+#: ../lib/raster/put_row.c:486
 msgid "GDAL output doesn't support writing null rows separately"
 msgstr ""
 
-#: ../lib/raster/put_row.c:523
+#: ../lib/raster/put_row.c:489
 #, fuzzy, c-format
-msgid "Unable to find a temporary null file <%s>"
-msgstr "找不到临时空文件:%s"
+msgid "No null file for <%s>"
+msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/raster/put_row.c:528
+#: ../lib/raster/put_row.c:512 ../lib/raster/put_row.c:517
 #, fuzzy, c-format
-msgid "Unable to open null file <%s>"
-msgstr "G_spawn:无法打开文件%s"
+msgid "Error writing compressed null data for row %d of <%s>"
+msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
 
-#: ../lib/raster/put_row.c:556 ../lib/raster/put_row.c:559
+#: ../lib/raster/put_row.c:551 ../lib/raster/put_row.c:554
 #, fuzzy, c-format
 msgid "Error writing null row %d of <%s>"
 msgstr "写入空行 %d 时出错"
 
-#: ../lib/raster/put_row.c:684
+#: ../lib/raster/put_row.c:679
 #, fuzzy, c-format
 msgid "put_raster_row: raster map <%s> not open for write - request ignored"
 msgstr "%s: 地图 [%s] 没有打开写操作──忽略请求"
 
-#: ../lib/raster/put_row.c:691
+#: ../lib/raster/put_row.c:686
 #, fuzzy
 msgid "put_raster_row: unopened file descriptor - request ignored"
 msgstr "%s: 无法打开文件描述符──忽略请求"
@@ -5401,7 +5500,7 @@ msgstr "无法为区域 %d 计算质心"
 msgid "Unable to open GDAL file"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:576
+#: ../lib/raster/gdal.c:475 ../lib/raster/open.c:598
 #, fuzzy, c-format
 msgid "Invalid map type <%d>"
 msgstr "无法将目录改变到%s"
@@ -5468,6 +5567,21 @@ msgstr "无法打开文件 %s 在 %s 中"
 msgid "Raster library not initialized. Programmer forgot to call Rast_init()."
 msgstr "\a错误:系统没有初始化。程序员忘记调用 G_gisinit()\n"
 
+#: ../lib/raster/init.c:109
+#, c-format
+msgid "Unknown compression method <%s>, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:113
+msgid ""
+"No compression is not supported for GRASS raster maps, using default ZLIB"
+msgstr ""
+
+#: ../lib/raster/init.c:118
+#, c-format
+msgid "This GRASS version does not support %s compression, using default ZLIB"
+msgstr ""
+
 #: ../lib/raster/color_rules.c:125
 msgid "syntax error"
 msgstr "格式错误"
@@ -5556,26 +5670,26 @@ msgstr "EmbedGivenNulls:错误的数据类型!"
 msgid "Rast_set_null_value: wrong data type!"
 msgstr "G_set_null_value:错误的数据类型!"
 
-#: ../lib/raster/close.c:75 ../lib/raster/close.c:108
+#: ../lib/raster/close.c:76 ../lib/raster/close.c:109
 #, fuzzy, c-format
 msgid "Invalid descriptor: %d"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/raster/close.c:374
+#: ../lib/raster/close.c:388 ../lib/raster/close.c:513
 #, fuzzy, c-format
 msgid "Unable to rename null file '%s' to '%s': %s"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/raster/close.c:440
+#: ../lib/raster/close.c:458
 #, fuzzy, c-format
 msgid "Unable to rename cell file '%s' to '%s': %s"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/raster/close.c:476
+#: ../lib/raster/close.c:535
 msgid "unable to write f_format file for CELL maps"
 msgstr "无法将CELL地图写入f_format文件"
 
-#: ../lib/raster/open.c:191
+#: ../lib/raster/open.c:192
 #, fuzzy, c-format
 msgid ""
 "Unable to open raster map <%s@%s> since it is a reclass of raster map <%s@"
@@ -5583,27 +5697,27 @@ msgid ""
 msgstr ""
 "无法打开[%s](在[%s]中),因为它是[%s](在[%s]中)的一个重分类,而它并不存在。"
 
-#: ../lib/raster/open.c:196
+#: ../lib/raster/open.c:197
 #, fuzzy, c-format
 msgid "Error reading reclass file for raster map <%s>"
 msgstr "无法为[%s在%s中]读取范围文件"
 
-#: ../lib/raster/open.c:207
+#: ../lib/raster/open.c:208
 #, fuzzy, c-format
 msgid "Error reading map type for raster map <%s>"
 msgstr "已有栅格地图 %d"
 
-#: ../lib/raster/open.c:215
+#: ../lib/raster/open.c:216
 #, fuzzy, c-format
 msgid "Raster map <%s@%s>: format field in header file invalid"
 msgstr "[%s]在地图集[%s]中 - 头文件中的格式字段无效"
 
-#: ../lib/raster/open.c:221
+#: ../lib/raster/open.c:235
 #, fuzzy, c-format
-msgid "Raster map <%s@%s>: unsupported compression type %d"
-msgstr "输入矢量'%s'未找到"
+msgid "Compression with %s is not supported"
+msgstr "不支持的 OGR 要素类型 %d"
 
-#: ../lib/raster/open.c:226
+#: ../lib/raster/open.c:239
 #, fuzzy, c-format
 msgid ""
 "Raster map <%s> is in different projection than current region. Found <%s>, "
@@ -5612,82 +5726,87 @@ msgstr ""
 "[%s]在地图集[%s]中 - 与当前范围的投影不同:\n"
 " 找到的地图[%s]在<%s>投影下,当前的投影应该是<%s> "
 
-#: ../lib/raster/open.c:233
+#: ../lib/raster/open.c:246
 #, fuzzy, c-format
 msgid "Raster map <%s> is in different zone (%d) than current region (%d)"
 msgstr "[%s]在地图集[%s]中 - 区域[%d]与当前的范围[%d]不同"
 
-#: ../lib/raster/open.c:238
+#: ../lib/raster/open.c:251
 #, fuzzy, c-format
 msgid "Raster map <%s>: bytes per cell (%d) too large"
 msgstr "[%s]在[%s]中 - 每像元所占比特数(%d)太大"
 
-#: ../lib/raster/open.c:263
+#: ../lib/raster/open.c:276
 #, c-format
 msgid ""
 "Raster map <%s@%s> is a GDAL link but GRASS is compiled without GDAL support"
 msgstr ""
 
-#: ../lib/raster/open.c:271
+#: ../lib/raster/open.c:284
 #, fuzzy, c-format
 msgid "Unable to open %s file for raster map <%s@%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/raster/open.c:308
+#: ../lib/raster/open.c:321
 #, fuzzy, c-format
 msgid "Error reading format for <%s@%s>"
 msgstr "读取 %s 错误:地图[%s] 地图集[%s],第 %d 行"
 
-#: ../lib/raster/open.c:505
+#: ../lib/raster/open.c:526
 #, fuzzy
 msgid "Unable to create GDAL link"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/raster/open.c:581
+#: ../lib/raster/open.c:603 ../lib/raster/open.c:755
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in the current mapset (%s)"
 msgstr "错误:试图更新不在当前地图集中的地图。"
 
-#: ../lib/raster/open.c:588
+#: ../lib/raster/open.c:610
 #, fuzzy, c-format
 msgid "<%s> is an illegal file name"
 msgstr "opencell: %s - 非法的文件名"
 
-#: ../lib/raster/open.c:602 ../lib/raster/open.c:674
+#: ../lib/raster/open.c:624 ../lib/raster/open.c:703 ../lib/raster/open.c:777
 #, fuzzy, c-format
 msgid "No temp files available: %s"
 msgstr "区域  << %s >>  无效"
 
-#: ../lib/raster/open.c:727
+#: ../lib/raster/open.c:751
+#, fuzzy, c-format
+msgid "Raster map <%s> does not exist in the current mapset (%s)"
+msgstr "错误:试图更新不在当前地图集中的地图。"
+
+#: ../lib/raster/open.c:816
 msgid "Rast_set_fp_type(): can only be called with FCELL_TYPE or DCELL_TYPE"
 msgstr ""
 
-#: ../lib/raster/open.c:785
+#: ../lib/raster/open.c:874
 #, fuzzy, c-format
 msgid "Raster map <%s> not found in mapset <%s>"
 msgstr "输入矢量'%s'未找到"
 
-#: ../lib/raster/open.c:846
+#: ../lib/raster/open.c:935
 #, fuzzy, c-format
 msgid "Unable to find '%s'"
 msgstr "无法找到[%s]"
 
-#: ../lib/raster/open.c:857
+#: ../lib/raster/open.c:946
 #, fuzzy, c-format
 msgid "Invalid type: field '%s' in file '%s'"
 msgstr "无效的类型:字段%s在文件%s中 "
 
-#: ../lib/raster/open.c:862
+#: ../lib/raster/open.c:951
 #, fuzzy, c-format
 msgid "Missing type: field in file '%s'"
 msgstr "无效的类型:字段%s在文件%s中 "
 
-#: ../lib/raster/open.c:867
+#: ../lib/raster/open.c:956
 #, fuzzy, c-format
 msgid "Raster map <%s> is not xdr: byte_order: %s"
 msgstr "输入矢量'%s'未找到"
 
-#: ../lib/raster/open.c:936
+#: ../lib/raster/open.c:1025
 msgid ""
 "Rast_set_quant_rules() can be called only for raster maps opened for reading"
 msgstr ""
@@ -5716,11 +5835,16 @@ msgstr "无法写入量化规则:地图 %s 是整型的"
 msgid "Unable to write quant rules for raster map <%s>"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/raster/format.c:154
+#: ../lib/raster/format.c:162
 #, c-format
 msgid "Fail of initial read of compressed file [%s in %s]"
 msgstr "压缩文件的初始化读取失败[%s在%s中]"
 
+#: ../lib/raster/format.c:176
+#, fuzzy, c-format
+msgid "Fail of initial read of compressed null file [%s in %s]"
+msgstr "压缩文件的初始化读取失败[%s在%s中]"
+
 #: ../lib/raster/range.c:102
 #, fuzzy, c-format
 msgid "Unable to read fp range file for <%s>"
@@ -6037,17 +6161,17 @@ msgstr "Windows 不支持当前锁定地图集"
 msgid "Unable to write lockfile %s (%s)"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/init/grass.py:74
+#: ../lib/init/grass.py:118
 #, fuzzy
 msgid "WARNING"
 msgstr "警告:"
 
-#: ../lib/init/grass.py:130
+#: ../lib/init/grass.py:183
 #, fuzzy
 msgid "Exiting..."
 msgstr "附加质心:"
 
-#: ../lib/init/grass.py:203
+#: ../lib/init/grass.py:327
 #, fuzzy
 msgid "Usage"
 msgstr ""
@@ -6055,111 +6179,146 @@ msgstr ""
 "用法:\n"
 " "
 
-#: ../lib/init/grass.py:205
+#: ../lib/init/grass.py:329
 msgid "print this help message"
 msgstr ""
 
-#: ../lib/init/grass.py:206
+#: ../lib/init/grass.py:330
 msgid "show version information and exit"
 msgstr ""
 
-#: ../lib/init/grass.py:207
+#: ../lib/init/grass.py:331
 msgid "create given database, location or mapset if it doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:208
+#: ../lib/init/grass.py:332
 msgid "exit after creation of location or mapset. Only with -c flag"
 msgstr ""
 
-#: ../lib/init/grass.py:209
+#: ../lib/init/grass.py:333
+msgid ""
+"force removal of .gislock if exists (use with care!). Only with -text flag"
+msgstr ""
+
+#: ../lib/init/grass.py:334
 msgid "use text based interface (skip welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:210 ../lib/init/grass.py:212 ../lib/init/grass.py:214
+#: ../lib/init/grass.py:335 ../lib/init/grass.py:337 ../lib/init/grass.py:339
 msgid "and set as default"
 msgstr ""
 
-#: ../lib/init/grass.py:211
+#: ../lib/init/grass.py:336
 msgid "use text based interface (show welcome screen)"
 msgstr ""
 
-#: ../lib/init/grass.py:213
+#: ../lib/init/grass.py:338
 msgid "use $DEFAULT_GUI graphical user interface"
 msgstr ""
 
-#: ../lib/init/grass.py:215
+#: ../lib/init/grass.py:340
 msgid "print GRASS configuration parameters"
 msgstr ""
 
-#: ../lib/init/grass.py:216
+#: ../lib/init/grass.py:341
 msgid "options: arch,build,compiler,path,revision"
 msgstr ""
 
-#: ../lib/init/grass.py:218
-msgid "initial database (path to GIS data)"
+#: ../lib/init/grass.py:343
+msgid "initial GRASS GIS database directory"
 msgstr ""
 
-#: ../lib/init/grass.py:219
-msgid "initial location"
+#: ../lib/init/grass.py:344
+msgid "directory containing Locations"
 msgstr ""
 
-#: ../lib/init/grass.py:220
-msgid "initial mapset"
+#: ../lib/init/grass.py:345
+#, fuzzy
+msgid "initial GRASS Location"
+msgstr "对不起,<%s>不是有效的选项\n"
+
+#: ../lib/init/grass.py:346
+msgid ""
+"directory containing Mapsets with one common coordinate system (projection)"
+msgstr ""
+
+#: ../lib/init/grass.py:347
+msgid "initial GRASS Mapset"
 msgstr ""
 
-#: ../lib/init/grass.py:221
-msgid "fully qualified initial mapset directory"
+#: ../lib/init/grass.py:348
+msgid "fully qualified initial Mapset directory"
 msgstr ""
 
-#: ../lib/init/grass.py:222
+#: ../lib/init/grass.py:349
 msgid "Environment variables relevant for startup"
 msgstr ""
 
-#: ../lib/init/grass.py:223
-msgid "select GUI (text, gui)"
+#: ../lib/init/grass.py:350
+msgid "select GUI (text, gui, gtext)"
 msgstr ""
 
-#: ../lib/init/grass.py:224
+#: ../lib/init/grass.py:351
 msgid "set html web browser for help pages"
 msgstr ""
 
-#: ../lib/init/grass.py:225
+#: ../lib/init/grass.py:352
 msgid "set additional path(s) to local GRASS modules or user scripts"
 msgstr ""
 
-#: ../lib/init/grass.py:226
+#: ../lib/init/grass.py:353
 msgid "set additional GISBASE for locally installed GRASS Addons"
 msgstr ""
 
-#: ../lib/init/grass.py:227
+#: ../lib/init/grass.py:354
 msgid "shell script to be processed as batch job"
 msgstr ""
 
-#: ../lib/init/grass.py:228
+#: ../lib/init/grass.py:355
 msgid "set python shell name to override 'python'"
 msgstr ""
 
-#: ../lib/init/grass.py:266
+#: ../lib/init/grass.py:356
+msgid "execute GRASS module or script"
+msgstr ""
+
+#: ../lib/init/grass.py:357
+msgid "provided executable will be executed in GRASS session"
+msgstr ""
+
+#: ../lib/init/grass.py:358
+msgid "GRASS module, script or any other executable"
+msgstr ""
+
+#: ../lib/init/grass.py:359
+msgid "parameters of the executable"
+msgstr ""
+
+#: ../lib/init/grass.py:360
+msgid "standard flags"
+msgstr ""
+
+#: ../lib/init/grass.py:427
 #, fuzzy, python-format
 msgid ""
 "Unable to create temporary directory <grass7-%(user)s-%(lock)s>! Exiting."
 msgstr "无法分配内存\n"
 
-#: ../lib/init/grass.py:301
-#, python-format
-msgid "ERROR: Invalid line in RC file: '%s' (%s)\n"
+#: ../lib/init/grass.py:480
+#, python-brace-format
+msgid "Invalid line in RC file ({file}): '{line}' ({error})\n"
 msgstr ""
 
-#: ../lib/init/grass.py:354
+#: ../lib/init/grass.py:534
 #, fuzzy, python-format
 msgid "GUI <%s> not supported in this version"
 msgstr "在这一版本中没有编译请求的格式"
 
-#: ../lib/init/grass.py:499
+#: ../lib/init/grass.py:691
 msgid "Searched for a web browser, but none found"
 msgstr ""
 
-#: ../lib/init/grass.py:533
+#: ../lib/init/grass.py:729
 msgid ""
 "The python command does not work as expected!\n"
 "Please check your GRASS_PYTHON environment variable.\n"
@@ -6169,265 +6328,292 @@ msgid ""
 "Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:545
+#: ../lib/init/grass.py:741
 msgid ""
 "It appears that the X Windows system is not active.\n"
 "A graphical based user interface is not supported.\n"
+"(DISPLAY variable is not set.)\n"
 "Switching to text based interface mode.\n"
 "\n"
-"Hit RETURN to continue"
+"Hit RETURN to continue.\n"
 msgstr ""
 
-#: ../lib/init/grass.py:597
-#, fuzzy, python-format
-msgid "ERROR: <%s> is not a valid GRASS location"
-msgstr "对不起,<%s>不是有效的选项\n"
+#: ../lib/init/grass.py:820
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT Mapset is missing"
+msgstr ""
+
+#: ../lib/init/grass.py:823
+#, python-format
+msgid "<%s> is not a valid GRASS Location because PERMANENT is not a directory"
+msgstr ""
 
-#: ../lib/init/grass.py:600
+#: ../lib/init/grass.py:827
 #, python-format
 msgid ""
-"Mapset <%s> doesn't exist in GRASS location <%s>. A new mapset can be "
-"created by '-c' switch."
+"<%s> is not a valid GRASS Location because PERMANENT Mapset does not have a "
+"DEFAULT_WIND file (default computational region)"
+msgstr ""
+
+#: ../lib/init/grass.py:831
+#, python-brace-format
+msgid ""
+"Mapset <{mapset}> doesn't exist in GRASS Location <{loc}>. A new mapset can "
+"be created by '-c' switch."
 msgstr ""
 
-#: ../lib/init/grass.py:619
+#: ../lib/init/grass.py:894
 #, python-format
 msgid "Failed to create new location. The location <%s> already exists."
 msgstr ""
 
-#: ../lib/init/grass.py:651
+#: ../lib/init/grass.py:905
 msgid "Missing WIND file fixed"
 msgstr ""
 
-#: ../lib/init/grass.py:663
+#: ../lib/init/grass.py:917
 msgid ""
 "GISDBASE, LOCATION_NAME and MAPSET variables not set properly.\n"
 "Interactive startup needed."
 msgstr ""
 
-#: ../lib/init/grass.py:677
-msgid ""
-"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
-"missing package (usually 'grass-gui')."
-msgstr ""
-
-#: ../lib/init/grass.py:684
+#: ../lib/init/grass.py:941
 #, python-format
 msgid ""
 "Invalid user interface specified - <%s>. Use the --help option to see valid "
 "interface names."
 msgstr ""
 
-#: ../lib/init/grass.py:697
+#: ../lib/init/grass.py:960
 msgid ""
-"Error in GUI startup. If necessary, please report this error to the GRASS "
-"developers.\n"
-"Switching to text mode now.\n"
-"\n"
-"Hit RETURN to continue..."
+"Error in GUI startup. See messages above (if any) and if necessary, please "
+"report this error to the GRASS developers.\n"
+"On systems with package manager, make sure you have the right GUI package, "
+"probably named grass-gui, installed.\n"
+"To run GRASS GIS in text mode use the -text flag."
 msgstr ""
 
-#: ../lib/init/grass.py:707
+#: ../lib/init/grass.py:968
 msgid ""
-"Received EXIT message from GUI.\n"
-"GRASS is not started. Bye."
+"Exit was requested in GUI.\n"
+"GRASS GIS will not start. Bye."
 msgstr ""
 
-#: ../lib/init/grass.py:710
+#: ../lib/init/grass.py:971
 msgid ""
 "Invalid return code from GUI startup script.\n"
 "Please advise GRASS developers of this error."
 msgstr ""
 
-#: ../lib/init/grass.py:721
+#: ../lib/init/grass.py:1018
+#, python-brace-format
 msgid ""
 "Error reading data path information from g.gisenv.\n"
-"GISDBASE=%(gisbase)s\n"
-"LOCATION_NAME=%(location)s\n"
-"MAPSET=%(mapset)s\n"
+"GISDBASE={gisbase}\n"
+"LOCATION_NAME={location}\n"
+"MAPSET={mapset}\n"
 "\n"
-"Check the <%s(file)> file."
+"Check the <{file}> file."
+msgstr ""
+
+#: ../lib/init/grass.py:1101
+msgid "Default locale settings are missing. GRASS running with C locale."
 msgstr ""
 
-#: ../lib/init/grass.py:748
+#: ../lib/init/grass.py:1170
 #, python-format
-msgid "Environmental variable '%s' already set, ignoring value '%s'"
+msgid "Path '%s' doesn't exist"
 msgstr ""
 
-#: ../lib/init/grass.py:810
-msgid "Default locale settings are missing. GRASS running with C locale."
+#: ../lib/init/grass.py:1172
+#, python-format
+msgid "Path '%s' not accessible."
 msgstr ""
 
-#: ../lib/init/grass.py:815
+#. GTC %s is mapset's folder path
+#: ../lib/init/grass.py:1177
 #, python-format
-msgid ""
-"A language override has been requested. Trying to switch GRASS into '%s'..."
+msgid "You are not the owner of '%s'."
 msgstr ""
 
-#: ../lib/init/grass.py:874
+#: ../lib/init/grass.py:1185
 #, python-format
-msgid "Path '%s' doesn't exist"
+msgid ""
+"%(user)s is currently running GRASS in selected mapset (file %(file)s "
+"found). Concurrent use not allowed.\n"
+"You can force launching GRASS using -f flag (note that you need permission "
+"for this operation). Have another look in the processor manager just to be "
+"sure..."
 msgstr ""
 
-#: ../lib/init/grass.py:889
+#: ../lib/init/grass.py:1192
 #, python-format
 msgid ""
 "%(user)s is currently running GRASS in selected mapset (file %(file)s "
-"found). Concurrent use not allowed."
+"found). Forcing to launch GRASS..."
 msgstr ""
 
-#: ../lib/init/grass.py:893
+#: ../lib/init/grass.py:1196
 #, python-format
 msgid ""
 "Unable to properly access '%s'.\n"
 "Please notify system personel."
 msgstr ""
 
-#: ../lib/init/grass.py:908
+#: ../lib/init/grass.py:1217
 #, fuzzy
 msgid "Building user fontcap..."
 msgstr "建立拓扑...\n"
 
-#: ../lib/init/grass.py:960
-#, python-format
-msgid "Unsupported shell <%(sh)s>: %(env)s"
-msgstr ""
-
-#: ../lib/init/grass.py:965
+#: ../lib/init/grass.py:1276
 #, fuzzy
 msgid "The SHELL variable is not set"
 msgstr "GISRC - 变量未设置"
 
-#: ../lib/init/grass.py:976
+#: ../lib/init/grass.py:1292
+#, python-brace-format
+msgid "Unsupported shell <{sh}>: {env_file}"
+msgstr ""
+
+#: ../lib/init/grass.py:1308
 #, python-format
 msgid ""
-"Job file '%s' has been defined in the 'GRASS_BATCH_JOB' variable but not "
+"Job file <%s> has been defined in the 'GRASS_BATCH_JOB' variable but not "
 "found. Exiting.\n"
 "\n"
 "Use 'unset GRASS_BATCH_JOB' to disable batch job processing."
 msgstr ""
 
-#: ../lib/init/grass.py:981
+#: ../lib/init/grass.py:1315
 #, python-format
-msgid "Change file permission to 'executable' for '%s'"
+msgid "Change file permission to 'executable' for <%s>"
 msgstr ""
 
-#: ../lib/init/grass.py:983
-#, python-format
-msgid "Executing '%s' ..."
-msgstr ""
+#: ../lib/init/grass.py:1330
+#, fuzzy, python-format
+msgid "Executing <%s> ..."
+msgstr "附加质心:"
 
-#: ../lib/init/grass.py:988
-#, python-format
-msgid "Execution of '%s' finished."
-msgstr ""
+#: ../lib/init/grass.py:1337
+#, fuzzy, python-brace-format
+msgid ""
+"Execution of <{cmd}> failed:\n"
+"{error}"
+msgstr "连接失败。\n"
 
-#: ../lib/init/grass.py:994
-#, python-format
-msgid "GRASS GUI should be <%s>"
-msgstr ""
+#: ../lib/init/grass.py:1340
+#, fuzzy, python-format
+msgid "Execution of <%s> finished."
+msgstr "无法打开文件 %s 在 %s 中"
+
+#: ../lib/init/grass.py:1371
+#, fuzzy
+msgid "Unable to close GUI. {}"
+msgstr "无法打开%s"
 
-#: ../lib/init/grass.py:1023
+#: ../lib/init/grass.py:1398
 #, python-format
 msgid "Welcome to GRASS GIS %s"
 msgstr ""
 
-#: ../lib/init/grass.py:1042
+#: ../lib/init/grass.py:1419
 msgid "GRASS GIS homepage:"
 msgstr ""
 
 #. GTC Running through: SHELL NAME
-#: ../lib/init/grass.py:1044
+#: ../lib/init/grass.py:1421
 msgid "This version running through:"
 msgstr ""
 
-#: ../lib/init/grass.py:1046
+#: ../lib/init/grass.py:1423
 msgid "Help is available with the command:"
 msgstr ""
 
-#: ../lib/init/grass.py:1047
+#: ../lib/init/grass.py:1424
 msgid "See the licence terms with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1050
+#: ../lib/init/grass.py:1427
 msgid "If required, restart the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1052
+#: ../lib/init/grass.py:1429
 msgid "Start the GUI with:"
 msgstr ""
 
-#: ../lib/init/grass.py:1054
+#: ../lib/init/grass.py:1431
 msgid "When ready to quit enter:"
 msgstr ""
 
-#: ../lib/init/grass.py:1141
+#: ../lib/init/grass.py:1519
 msgid "2D and 3D raster MASKs present"
 msgstr ""
 
-#: ../lib/init/grass.py:1142
+#: ../lib/init/grass.py:1520
 msgid "Raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1143
+#: ../lib/init/grass.py:1521
 msgid "3D raster MASK present"
 msgstr ""
 
-#: ../lib/init/grass.py:1184
-#, python-format
-msgid "Batch job '%s' (defined in GRASS_BATCH_JOB variable) was executed."
-msgstr ""
-
-#: ../lib/init/grass.py:1185 ../lib/init/grass.py:1190
-msgid "Goodbye from GRASS GIS"
-msgstr ""
-
-#: ../lib/init/grass.py:1188
+#: ../lib/init/grass.py:1561
 #, fuzzy
 msgid "Done."
 msgstr "无"
 
-#: ../lib/init/grass.py:1195
+#: ../lib/init/grass.py:1563
+msgid "Goodbye from GRASS GIS"
+msgstr ""
+
+#: ../lib/init/grass.py:1568
 msgid "Cleaning up temporary files..."
 msgstr ""
 
-#: ../lib/init/grass.py:1209
+#: ../lib/init/grass.py:1588
 msgid "Please install the GRASS GIS development package"
 msgstr ""
 
-#: ../lib/init/grass.py:1241
+#: ../lib/init/grass.py:1620
 #, fuzzy, python-format
 msgid "Parameter <%s> not supported"
 msgstr "不支持的 OGR 要素类型 %d"
 
-#: ../lib/init/grass.py:1364
-msgid "Flag -e required also flag -c"
+#: ../lib/init/grass.py:1764
+msgid "Flag -e requires also flag -c"
 msgstr ""
 
-#: ../lib/init/grass.py:1407
-#, python-format
+#: ../lib/init/grass.py:1811
+#, python-brace-format
 msgid ""
-"Unable to start GRASS. You can:\n"
-" - Launch GRASS with '-gui' switch (`grass70 -gui`)\n"
-" - Create manually GISRC file (%s)\n"
-" - Launch GRASS with path to the location/mapset as an argument (`grass70 /"
-"path/to/location/mapset`)"
+"Unable to start GRASS GIS. You have the choice to:\n"
+" - Launch the GRASS GIS interface with the '-gui' switch (`{cmd_name} -"
+"gui`)\n"
+" - Launch GRASS GIS directly with path to the location/mapset as an argument "
+"(`{cmd_name} /path/to/location/mapset`)\n"
+" - Create manually the GISRC file ({gisrcrc})"
 msgstr ""
 
-#: ../lib/init/grass.py:1417
+#: ../lib/init/grass.py:1826
 msgid "Creating new GRASS GIS location/mapset..."
 msgstr ""
 
-#: ../lib/init/grass.py:1419
+#: ../lib/init/grass.py:1828
 msgid "Starting GRASS GIS..."
 msgstr ""
 
-#: ../lib/init/grass.py:1477
+#: ../lib/init/grass.py:1849
+msgid ""
+"<{}> requested, but not available. Run GRASS in text mode (-text) or install "
+"missing package (usually 'grass-gui')."
+msgstr ""
+
+#: ../lib/init/grass.py:1903
 #, python-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
-#: ../lib/init/grass.py:1492
+#: ../lib/init/grass.py:1925
 #, fuzzy, python-format
 msgid "Failed to start shell '%s'"
 msgstr "无法打开文件 %s 在 %s 中"
@@ -6917,8 +7103,8 @@ msgstr "不能创建新进程"
 msgid "Computing minimum spanning tree..."
 msgstr ""
 
-#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net.c:444
-#: ../lib/vector/Vlib/graph.c:105
+#: ../lib/vector/neta/flow.c:310 ../lib/vector/Vlib/net_build.c:661
+#: ../lib/vector/Vlib/net_build.c:1064 ../lib/vector/Vlib/graph.c:105
 msgid "GngFlatten error"
 msgstr ""
 
@@ -7028,10 +7214,10 @@ msgstr "无法找到[%s]在[%s]中"
 msgid "conditions failed"
 msgstr "连接失败。\n"
 
-#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1183
-#: ../lib/vector/Vlib/intersect2.c:1185 ../lib/vector/Vlib/intersect2.c:1237
-#: ../lib/vector/Vlib/intersect2.c:1246 ../lib/vector/Vlib/intersect2.c:1267
-#: ../lib/vector/Vlib/intersect2.c:1284 ../lib/vector/Vlib/intersect.c:1157
+#: ../lib/vector/Vlib/intersect2.c:1169 ../lib/vector/Vlib/intersect2.c:1175
+#: ../lib/vector/Vlib/intersect2.c:1177 ../lib/vector/Vlib/intersect2.c:1229
+#: ../lib/vector/Vlib/intersect2.c:1238 ../lib/vector/Vlib/intersect2.c:1259
+#: ../lib/vector/Vlib/intersect2.c:1276 ../lib/vector/Vlib/intersect.c:1157
 #: ../lib/vector/Vlib/intersect.c:1163 ../lib/vector/Vlib/intersect.c:1165
 #: ../lib/vector/Vlib/intersect.c:1219 ../lib/vector/Vlib/intersect.c:1228
 #: ../lib/vector/Vlib/intersect.c:1249 ../lib/vector/Vlib/intersect.c:1266
@@ -7064,7 +7250,7 @@ msgstr "无法打开临时文件"
 #: ../lib/vector/Vlib/simple_features.c:336
 #: ../lib/vector/Vlib/header_finfo.c:47 ../lib/vector/Vlib/header_finfo.c:86
 #: ../lib/vector/Vlib/header_finfo.c:123 ../lib/vector/Vlib/header_finfo.c:171
-#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:147
+#: ../lib/vector/Vlib/close_pg.c:99 ../lib/vector/Vlib/close_pg.c:146
 #: ../lib/vector/Vlib/build_sfa.c:718 ../lib/vector/Vlib/build_pg.c:117
 #: ../lib/vector/Vlib/copy.c:404 ../lib/vector/Vlib/write_sfa.c:306
 #: ../lib/vector/Vlib/rewind_pg.c:56 ../lib/vector/Vlib/rewind_pg.c:81
@@ -7085,22 +7271,22 @@ msgstr ""
 msgid "Unable to report simple features for vector map <%s>"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/vector/Vlib/header.c:87
+#: ../lib/vector/Vlib/header.c:86
 #, fuzzy, c-format
 msgid "Unable to create header file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/header.c:131
+#: ../lib/vector/Vlib/header.c:129
 #, fuzzy, c-format
 msgid "Unable to open header file of vector <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/header.c:139
+#: ../lib/vector/Vlib/header.c:137
 #, c-format
 msgid "Corrupted row in head: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/header.c:177
+#: ../lib/vector/Vlib/header.c:175
 #, fuzzy, c-format
 msgid "Unknown keyword '%s' in vector head"
 msgstr "未知矢量类型"
@@ -7127,7 +7313,7 @@ msgstr ""
 msgid "only native format supported"
 msgstr "不支持的 OGR 要素类型 %d"
 
-#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:259
+#: ../lib/vector/Vlib/geos.c:65 ../lib/vector/Vlib/geos.c:258
 #, fuzzy
 msgid "Attempt to read dead line"
 msgstr "无法打开临时文件"
@@ -7142,17 +7328,17 @@ msgstr ""
 msgid "Vect_read_area_geos(): unable to read isle id %d of area id %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/geos.c:206
+#: ../lib/vector/Vlib/geos.c:205
 #, fuzzy, c-format
 msgid "Unable to read line offset %ld"
 msgstr "无法打开临时文件"
 
-#: ../lib/vector/Vlib/geos.c:413
+#: ../lib/vector/Vlib/geos.c:412
 #, fuzzy, c-format
 msgid "Attempt to read points of nonexistent area id %d"
 msgstr "无法为区域 %d 计算质心"
 
-#: ../lib/vector/Vlib/geos.c:473
+#: ../lib/vector/Vlib/geos.c:472
 #, fuzzy, c-format
 msgid "Unable to read feature id %d"
 msgstr "无法打开文件 %s 在 %s 中"
@@ -7171,17 +7357,17 @@ msgstr "双精度属性索引越界"
 msgid "Category index out of range"
 msgstr "双精度属性索引越界"
 
-#: ../lib/vector/Vlib/cindex.c:489
+#: ../lib/vector/Vlib/cindex.c:488
 #, fuzzy, c-format
 msgid "Unable to create category index file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/cindex.c:498
+#: ../lib/vector/Vlib/cindex.c:497
 #, fuzzy
 msgid "Error writing out category index file"
 msgstr "写空间索引文件时出错。\n"
 
-#: ../lib/vector/Vlib/cindex.c:542 ../lib/vector/Vlib/open.c:382
+#: ../lib/vector/Vlib/cindex.c:539 ../lib/vector/Vlib/open.c:393
 #, fuzzy, c-format
 msgid "Unable to open category index file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
@@ -7214,7 +7400,7 @@ msgstr "没有 ID 的 OGR 要素被忽略。 "
 msgid "OGR layer not defined"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:675
+#: ../lib/vector/Vlib/open_ogr.c:77 ../lib/vector/Vlib/field.c:690
 #, fuzzy, c-format
 msgid "Unable to open OGR data source '%s'"
 msgstr "无法将目录改变到%s"
@@ -7313,7 +7499,7 @@ msgstr "连接失败。\n"
 #: ../lib/vector/Vlib/write_nat.c:182 ../lib/vector/Vlib/write_nat.c:295
 #: ../lib/vector/Vlib/write_nat.c:651 ../lib/vector/Vlib/read_sfa.c:50
 #: ../lib/vector/Vlib/read.c:173 ../lib/vector/Vlib/write_sfa.c:158
-#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:213
+#: ../lib/vector/Vlib/write_sfa.c:207 ../lib/vector/Vlib/box.c:249
 #: ../lib/vector/Vlib/write_pg.c:236 ../lib/vector/Vlib/write_pg.c:381
 #: ../lib/vector/Vlib/write_pg.c:396 ../lib/vector/Vlib/read_pg.c:331
 #: ../lib/vector/Vlib/read_nat.c:144
@@ -7350,95 +7536,111 @@ msgstr ""
 msgid "Attempt to access dead area %d"
 msgstr "无法为区域 %d 计算质心"
 
+#: ../lib/vector/Vlib/close_nat.c:74
+#, fuzzy, c-format
+msgid "Unable to create '%s': %s"
+msgstr "无法打开文件 %s 在 %s 中"
+
+#: ../lib/vector/Vlib/close_nat.c:81
+#, fuzzy, c-format
+msgid "Unable to copy '%s': %s"
+msgstr "无法打开文件 %s 在 %s 中"
+
+#: ../lib/vector/Vlib/close_nat.c:102 ../lib/vector/Vlib/map.c:317
+#: ../lib/vector/Vlib/copy.c:738
+#, fuzzy, c-format
+msgid "Unable to copy table <%s>"
+msgstr "无法打开文件 %s 在 %s 中"
+
+#: ../lib/vector/Vlib/close_nat.c:167
+#, fuzzy, c-format
+msgid "Unable to drop table <%s>"
+msgstr "无法打开文件 %s 在 %s 中"
+
 #: ../lib/vector/Vlib/constraint.c:150
 msgid "Layer constraint ignored for non-native vector formats"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:103 ../lib/vector/Vlib/map.c:209
+#: ../lib/vector/Vlib/map.c:139 ../lib/vector/Vlib/map.c:245
 #, fuzzy
 msgid "Vector map name is not SQL compliant"
 msgstr "地图名称不适应SQL"
 
-#: ../lib/vector/Vlib/map.c:107
+#: ../lib/vector/Vlib/map.c:143
 #, fuzzy, c-format
 msgid "Unable to find vector map <%s> in <%s>"
 msgstr "无法打开栅格图[%s在%s中]"
 
-#: ../lib/vector/Vlib/map.c:119 ../lib/vector/Vlib/map.c:213
-#: ../lib/vector/Vlib/open.c:809
+#: ../lib/vector/Vlib/map.c:155 ../lib/vector/Vlib/map.c:249
+#: ../lib/vector/Vlib/open.c:821
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "矢量'%s'已经存在,它将会被覆盖。"
 
-#: ../lib/vector/Vlib/map.c:123 ../lib/vector/Vlib/open.c:803
-#: ../lib/vector/Vlib/open.c:814
+#: ../lib/vector/Vlib/map.c:159 ../lib/vector/Vlib/open.c:813
+#: ../lib/vector/Vlib/open.c:826
 #, fuzzy, c-format
 msgid "Unable to delete vector map <%s>"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/vector/Vlib/map.c:143 ../lib/vector/Vlib/map.c:231
+#: ../lib/vector/Vlib/map.c:179 ../lib/vector/Vlib/map.c:267
 #, fuzzy, c-format
 msgid "Unable to copy vector map <%s> to <%s>"
 msgstr "无法打开栅格图[%s在%s中]"
 
-#: ../lib/vector/Vlib/map.c:281 ../lib/vector/Vlib/copy.c:738
-#, fuzzy, c-format
-msgid "Unable to copy table <%s>"
-msgstr "无法打开文件 %s 在 %s 中"
-
-#: ../lib/vector/Vlib/map.c:295 ../lib/vector/Vlib/map.c:426
+#: ../lib/vector/Vlib/map.c:331 ../lib/vector/Vlib/map.c:462
 #, fuzzy, c-format
 msgid "Unable to delete table <%s>"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/map.c:310
+#: ../lib/vector/Vlib/map.c:346
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/vector/Vlib/map.c:366
+#: ../lib/vector/Vlib/map.c:402
 #, c-format
 msgid "Ignoring invalid mapset: %s"
 msgstr ""
 
-#: ../lib/vector/Vlib/map.c:371
+#: ../lib/vector/Vlib/map.c:407
 #, fuzzy, c-format
 msgid "Invalid vector map name <%s>"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/vector/Vlib/map.c:381
+#: ../lib/vector/Vlib/map.c:417
 #, fuzzy, c-format
 msgid "Unable to open header file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/map.c:413
+#: ../lib/vector/Vlib/map.c:449
 #, fuzzy, c-format
 msgid "Unable to find table <%s> linked to vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/map.c:436
+#: ../lib/vector/Vlib/map.c:472
 #, fuzzy, c-format
 msgid "Table <%s> linked to vector map <%s> does not exist"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/map.c:450
+#: ../lib/vector/Vlib/map.c:485
 #, fuzzy, c-format
 msgid "Unable to open directory '%s'"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/vector/Vlib/map.c:464
+#: ../lib/vector/Vlib/map.c:499
 #, fuzzy, c-format
 msgid "Unable to delete file '%s'"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/map.c:478
+#: ../lib/vector/Vlib/map.c:519
 #, fuzzy, c-format
 msgid "Unable to rename directory '%s' to '%s'"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/vector/Vlib/map.c:487
+#: ../lib/vector/Vlib/map.c:528
 #, fuzzy, c-format
-msgid "Unable to remove directory '%s'"
+msgid "Unable to remove directory '%s': %s"
 msgstr "无法将目录改变到%s"
 
 #: ../lib/vector/Vlib/dangles.c:148
@@ -7463,19 +7665,19 @@ msgstr "线的数量            :   %d\n"
 msgid "%s dangles: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:57
+#: ../lib/vector/Vlib/open_nat.c:56
 #, fuzzy, c-format
 msgid "Unable to open coor file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/open_nat.c:154
+#: ../lib/vector/Vlib/open_nat.c:152
 #, c-format
 msgid ""
 "Coor file of vector map <%s@%s> is larger than it should be (%ld bytes "
 "excess)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_nat.c:158
+#: ../lib/vector/Vlib/open_nat.c:156
 #, c-format
 msgid ""
 "Coor file of vector <%s@%s> is shorter than it should be (%ld bytes missing)."
@@ -7511,7 +7713,7 @@ msgstr "要素类型"
 msgid "GRASS is not compiled with OGR/PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:140
+#: ../lib/vector/Vlib/close_ogr.c:104 ../lib/vector/Vlib/close_pg.c:139
 #, fuzzy, c-format
 msgid "Unable to save feature index file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
@@ -7566,138 +7768,209 @@ msgstr ""
 msgid "Point not in search tree!"
 msgstr ""
 
-#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
-#, fuzzy, c-format
-msgid "Unable to close cursor %s"
-msgstr "无法打开%s"
-
-#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
-#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
-#: ../lib/vector/Vlib/write.c:49
-#, fuzzy
-msgid "for this format/level not supported"
-msgstr "这种格式/级别不支持 Vect_write_line()"
-
-#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
-#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
-#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
-#: ../lib/vector/Vlib/rewind.c:29
-msgid "Requested format is not compiled in this version"
-msgstr "在这一版本中没有编译请求的格式"
-
-#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
-#: ../lib/vector/Vlib/read.c:168
-#, fuzzy
-msgid "Vector map is not open for reading"
-msgstr "输入矢量'%s'未找到"
-
-#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
-#, fuzzy, c-format
-msgid "Unable to read feature %d from vector map <%s>"
-msgstr "无法将目录改变到%s"
-
-#: ../lib/vector/Vlib/read.c:200
-#, fuzzy
-msgid "Line index is out of range"
-msgstr "双精度属性索引越界"
-
-#: ../lib/vector/Vlib/read.c:224
-#, fuzzy
-msgid "Node index is out of range"
-msgstr "双精度属性索引越界"
-
-#: ../lib/vector/Vlib/read.c:248
-#, fuzzy
-msgid "Area index is out of range"
-msgstr "双精度属性索引越界"
-
-#: ../lib/vector/Vlib/read.c:272
-#, fuzzy
-msgid "Isle index is out of range"
-msgstr "双精度属性索引越界"
-
-#: ../lib/vector/Vlib/net.c:117
+#: ../lib/vector/Vlib/net_build.c:101 ../lib/vector/Vlib/net_build.c:727
 #, fuzzy
 msgid "Building graph..."
 msgstr "建立拓扑...\n"
 
-#: ../lib/vector/Vlib/net.c:159
+#: ../lib/vector/Vlib/net_build.c:143 ../lib/vector/Vlib/net_build.c:772
 #, fuzzy
 msgid "Unable to build network graph"
 msgstr "无法找到矢量%s"
 
-#: ../lib/vector/Vlib/net.c:165
+#: ../lib/vector/Vlib/net_build.c:149 ../lib/vector/Vlib/net_build.c:778
 msgid "Forward costs column not specified"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:172
-msgid "Arc field < 1"
+#: ../lib/vector/Vlib/net_build.c:156
+msgid "Turntable field < 1"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:186 ../lib/vector/Vlib/net.c:203
-#: ../lib/vector/Vlib/net.c:363 ../lib/vector/Vlib/ascii.c:756
+#: ../lib/vector/Vlib/net_build.c:172
 #, fuzzy, c-format
-msgid "Column <%s> not found in table <%s>"
+msgid "Turntable column <%s> not found in table <%s>"
 msgstr "无法打开数据库表 <%s>"
 
-#: ../lib/vector/Vlib/net.c:192 ../lib/vector/Vlib/net.c:209
-#: ../lib/vector/Vlib/net.c:369
+#: ../lib/vector/Vlib/net_build.c:182 ../lib/vector/Vlib/net_build.c:223
+#: ../lib/vector/Vlib/net_build.c:508 ../lib/vector/Vlib/net_build.c:526
+#: ../lib/vector/Vlib/net_build.c:806 ../lib/vector/Vlib/net_build.c:824
+#: ../lib/vector/Vlib/net_build.c:985
 #, fuzzy, c-format
 msgid "Data type of column <%s> not supported (must be numeric)"
 msgstr "z 值字段的类型不支持 (必须为整型或双精度)"
 
-#: ../lib/vector/Vlib/net.c:222
+#: ../lib/vector/Vlib/net_build.c:202 ../lib/vector/Vlib/net_build.c:964
+msgid "Setting node costs..."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:216 ../lib/vector/Vlib/net_build.c:501
+#: ../lib/vector/Vlib/net_build.c:519 ../lib/vector/Vlib/net_build.c:799
+#: ../lib/vector/Vlib/net_build.c:817 ../lib/vector/Vlib/net_build.c:978
+#: ../lib/vector/Vlib/ascii.c:756
+#, fuzzy, c-format
+msgid "Column <%s> not found in table <%s>"
+msgstr "无法打开数据库表 <%s>"
+
+#: ../lib/vector/Vlib/net_build.c:277 ../lib/vector/Vlib/net_build.c:1029
+#, fuzzy, c-format
+msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgstr "类型为 %d 的记录未找到"
+
+#: ../lib/vector/Vlib/net_build.c:332 ../lib/vector/Vlib/net_build.c:352
 #, fuzzy
-msgid "Registering arcs..."
-msgstr "注册线: "
+msgid "Cannot add network arc for virtual node connection."
+msgstr "无法为区域 %d 计算质心"
 
-#: ../lib/vector/Vlib/net.c:251
+#: ../lib/vector/Vlib/net_build.c:364
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, forward/both direction(s)) not found "
-"(forward/both direction(s) of line skipped)"
+"There exists more than one point of node <%d> with unique category field  <"
+"%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:270
+#: ../lib/vector/Vlib/net_build.c:393
 #, c-format
 msgid ""
-"Database record for line %d (cat = %d, backword direction) not "
-"found(direction of line skipped)"
+"Unable to find point representing intersection <%d> in unique categories "
+"field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:407
+#, c-format
+msgid ""
+"Unable to find node for point representing intersection <%d> in unique "
+"categories field <%d>.\n"
+"Cost for the intersection was set to 0.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:319
+#: ../lib/vector/Vlib/net_build.c:432
+#, fuzzy, c-format
+msgid ""
+"Database record for turn with cat = %d in not found. (The turn was skipped."
+msgstr "类型为 %d 的记录未找到"
+
+#: ../lib/vector/Vlib/net_build.c:465
 #, fuzzy
-msgid "Cannot add network arc"
+msgid "Cannot add network arc representing turn."
 msgstr "无法为区域 %d 计算质心"
 
-#: ../lib/vector/Vlib/net.c:349
-msgid "Setting node costs..."
+#: ../lib/vector/Vlib/net_build.c:487 ../lib/vector/Vlib/net_build.c:785
+msgid "Arc field < 1"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_build.c:539 ../lib/vector/Vlib/net_build.c:837
+#, fuzzy
+msgid "Registering arcs..."
+msgstr "注册线: "
+
+#: ../lib/vector/Vlib/net_build.c:558
+#, c-format
+msgid ""
+"Line with id <%d> has more unique categories defined in field <%d>.\n"
+"The unique categories layer is not valid therefore you will probably get "
+"incorrect results."
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:412
+#: ../lib/vector/Vlib/net_build.c:579
 #, fuzzy, c-format
-msgid "Database record for node %d (cat = %d) not found (cost set to 0)"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(cost was set to 0)"
+msgstr "类型为 %d 的记录未找到"
+
+#: ../lib/vector/Vlib/net_build.c:596
+#, fuzzy, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not found(cost "
+"was set to 0)"
 msgstr "类型为 %d 的记录未找到"
 
-#: ../lib/vector/Vlib/net.c:441
+#: ../lib/vector/Vlib/net_build.c:658 ../lib/vector/Vlib/net_build.c:1061
 #, fuzzy
 msgid "Flattening the graph..."
 msgstr "建立拓扑...\n"
 
-#: ../lib/vector/Vlib/net.c:450
+#: ../lib/vector/Vlib/net_build.c:667 ../lib/vector/Vlib/net_build.c:1070
 #, fuzzy
 msgid "Graph was built"
 msgstr "拓扑建立完成。\n"
 
-#: ../lib/vector/Vlib/net.c:533 ../lib/vector/Vlib/graph.c:226
+#: ../lib/vector/Vlib/net_build.c:866
 #, c-format
-msgid "dglShortestPath error: %s"
+msgid ""
+"Database record for line %d (cat = %d, forward/both direction(s)) not found "
+"(forward/both direction(s) of line skipped)"
 msgstr ""
 
-#: ../lib/vector/Vlib/net.c:633
-msgid "Wrong line direction in Vect_net_get_line_cost()"
+#: ../lib/vector/Vlib/net_build.c:885
+#, c-format
+msgid ""
+"Database record for line %d (cat = %d, backword direction) not "
+"found(direction of line skipped)"
 msgstr ""
 
+#: ../lib/vector/Vlib/net_build.c:934
+#, fuzzy
+msgid "Cannot add network arc"
+msgstr "无法为区域 %d 计算质心"
+
+#: ../lib/vector/Vlib/close_pg.c:66 ../lib/vector/Vlib/read_pg.c:1405
+#, fuzzy, c-format
+msgid "Unable to close cursor %s"
+msgstr "无法打开%s"
+
+#: ../lib/vector/Vlib/read.c:25 ../lib/vector/Vlib/write.c:30
+#: ../lib/vector/Vlib/write.c:36 ../lib/vector/Vlib/write.c:42
+#: ../lib/vector/Vlib/write.c:49
+#, fuzzy
+msgid "for this format/level not supported"
+msgstr "这种格式/级别不支持 Vect_write_line()"
+
+#: ../lib/vector/Vlib/read.c:32 ../lib/vector/Vlib/write.c:56
+#: ../lib/vector/Vlib/write.c:62 ../lib/vector/Vlib/build.c:37
+#: ../lib/vector/Vlib/close.c:38 ../lib/vector/Vlib/open.c:59
+#: ../lib/vector/Vlib/rewind.c:29
+msgid "Requested format is not compiled in this version"
+msgstr "在这一版本中没有编译请求的格式"
+
+#: ../lib/vector/Vlib/read.c:93 ../lib/vector/Vlib/read.c:129
+#: ../lib/vector/Vlib/read.c:168
+#, fuzzy
+msgid "Vector map is not open for reading"
+msgstr "输入矢量'%s'未找到"
+
+#: ../lib/vector/Vlib/read.c:136 ../lib/vector/Vlib/read.c:180
+#, fuzzy, c-format
+msgid "Unable to read feature %d from vector map <%s>"
+msgstr "无法将目录改变到%s"
+
+#: ../lib/vector/Vlib/read.c:200
+#, fuzzy
+msgid "Line index is out of range"
+msgstr "双精度属性索引越界"
+
+#: ../lib/vector/Vlib/read.c:224
+#, fuzzy
+msgid "Node index is out of range"
+msgstr "双精度属性索引越界"
+
+#: ../lib/vector/Vlib/read.c:248
+#, fuzzy
+msgid "Area index is out of range"
+msgstr "双精度属性索引越界"
+
+#: ../lib/vector/Vlib/read.c:272
+#, fuzzy
+msgid "Isle index is out of range"
+msgstr "双精度属性索引越界"
+
 #: ../lib/vector/Vlib/line.c:184 ../lib/vector/Vlib/line.c:217
 #: ../lib/vector/Vlib/line.c:250
 #, fuzzy
@@ -7822,7 +8095,7 @@ msgstr ""
 msgid "No DB connection"
 msgstr "未连接...\n"
 
-#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:80
+#: ../lib/vector/Vlib/build_pg.c:93 ../lib/vector/Vlib/build_ogr.c:82
 #, c-format
 msgid "Feature table <%s> has no primary key defined"
 msgstr ""
@@ -7831,7 +8104,7 @@ msgstr ""
 msgid "Random read is not supported for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:88
+#: ../lib/vector/Vlib/build_pg.c:101 ../lib/vector/Vlib/build_ogr.c:90
 #, c-format
 msgid "Using external data format '%s' (feature type '%s')"
 msgstr ""
@@ -7846,7 +8119,7 @@ msgstr "请为矢量'%s@%s'重建拓扑"
 msgid "Building topology from PostGIS topology schema <%s>..."
 msgstr "请为矢量'%s@%s'重建拓扑"
 
-#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1475
+#: ../lib/vector/Vlib/build_pg.c:212 ../lib/vector/Vlib/open_pg.c:1483
 #, c-format
 msgid "Inconsistency in topology: number of nodes %d (should be %d)"
 msgstr ""
@@ -7875,7 +8148,7 @@ msgid "Updating TopoGeometry data..."
 msgstr ""
 
 #: ../lib/vector/Vlib/build_pg.c:411 ../lib/vector/Vlib/write_pg.c:612
-#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1351
+#: ../lib/vector/Vlib/write_pg.c:880 ../lib/vector/Vlib/open.c:1355
 #, fuzzy
 msgid "Unable to open PG file"
 msgstr "无法打开文件 %s 在 %s 中"
@@ -8053,8 +8326,8 @@ msgstr "错误边界的数量      :   %d\n"
 msgid "Number of redundant holes: %d"
 msgstr "边界的数量          :   %d\n"
 
-#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:356
-#: ../lib/vector/Vlib/open.c:860
+#: ../lib/vector/Vlib/build.c:865 ../lib/vector/Vlib/open.c:367
+#: ../lib/vector/Vlib/open.c:871
 #, fuzzy, c-format
 msgid "Unable to open spatial index file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
@@ -8154,38 +8427,38 @@ msgstr "区域的数量          :   -\n"
 msgid "Number of isles: -"
 msgstr "岛的数量            :   -\n"
 
-#: ../lib/vector/Vlib/build.c:1014
+#: ../lib/vector/Vlib/build.c:1013
 #, fuzzy, c-format
 msgid "Unable to create topo file for vector map <%s>"
 msgstr "无法为[%s在%s中]创建头文件"
 
-#: ../lib/vector/Vlib/build.c:1022
+#: ../lib/vector/Vlib/build.c:1021
 #, fuzzy
 msgid "Error writing out topo file"
 msgstr "写拓扑文件时出错。\n"
 
-#: ../lib/vector/Vlib/build.c:1211
+#: ../lib/vector/Vlib/build.c:1210
 #, fuzzy
 msgid ""
 "Unable to build spatial index from topology, vector map is not opened at "
 "topology level 2"
 msgstr "无法删除线,地图'%s'没有在级别2上打开"
 
-#: ../lib/vector/Vlib/build.c:1234
+#: ../lib/vector/Vlib/build.c:1233
 #, c-format
 msgid "%s is no longer supported"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1257
+#: ../lib/vector/Vlib/build.c:1256
 msgid "Spatial index not available, can not be saved"
 msgstr ""
 
-#: ../lib/vector/Vlib/build.c:1270
+#: ../lib/vector/Vlib/build.c:1268
 #, fuzzy, c-format
 msgid "Unable to create spatial index file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/build.c:1279
+#: ../lib/vector/Vlib/build.c:1277
 #, fuzzy
 msgid "Error writing out spatial index file"
 msgstr "写空间索引文件时出错。\n"
@@ -8362,63 +8635,63 @@ msgstr "未知区域"
 msgid "Boundary is not closed. Skipping."
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:213
+#: ../lib/vector/Vlib/snap.c:223 ../lib/vector/Vlib/snap.c:582
 msgid "Snap vertices Pass 1: select points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:267
+#: ../lib/vector/Vlib/snap.c:271 ../lib/vector/Vlib/snap.c:636
 msgid "Snap vertices Pass 2: assign anchor vertices"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:336
+#: ../lib/vector/Vlib/snap.c:340 ../lib/vector/Vlib/snap.c:705
 msgid "Snap vertices Pass 3: snap to assigned points"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:518
+#: ../lib/vector/Vlib/snap.c:525 ../lib/vector/Vlib/snap.c:887
 #, c-format
 msgid "Snapped vertices: %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/snap.c:519
+#: ../lib/vector/Vlib/snap.c:526 ../lib/vector/Vlib/snap.c:888
 #, fuzzy, c-format
 msgid "New vertices: %d"
 msgstr "允许覆盖"
 
-#: ../lib/vector/Vlib/snap.c:546
+#: ../lib/vector/Vlib/snap.c:915
 #, fuzzy
 msgid "Reading features..."
 msgstr "建立拓扑...\n"
 
-#: ../lib/vector/Vlib/box.c:228
+#: ../lib/vector/Vlib/box.c:264
 #, fuzzy, c-format
 msgid "Unable to determine bbox for feature %d"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/box.c:277 ../lib/vector/Vlib/box.c:323
+#: ../lib/vector/Vlib/box.c:313 ../lib/vector/Vlib/box.c:359
 #, fuzzy, c-format
 msgid "Attempt to access area with invalid id (%d)"
 msgstr "无法为区域 %d 计算质心"
 
-#: ../lib/vector/Vlib/box.c:289
+#: ../lib/vector/Vlib/box.c:325
 #, fuzzy, c-format
 msgid "Unable to determine bbox for area %d"
 msgstr "无法打开临时文件"
 
-#: ../lib/vector/Vlib/box.c:335
+#: ../lib/vector/Vlib/box.c:371
 #, fuzzy, c-format
 msgid "Unable to determine bbox for isle %d"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/build_ogr.c:69
+#: ../lib/vector/Vlib/build_ogr.c:71
 msgid "Empty OGR layer, nothing to build"
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:82
+#: ../lib/vector/Vlib/build_ogr.c:84
 msgid ""
 "Random read is not supported by OGR for this layer. Unable to build topology."
 msgstr ""
 
-#: ../lib/vector/Vlib/build_ogr.c:132
+#: ../lib/vector/Vlib/build_ogr.c:134
 #, fuzzy, c-format
 msgid "Unable to open fidx file for write <%s>"
 msgstr "无法打开拓扑文件进行写操作: %s\n"
@@ -8428,7 +8701,7 @@ msgstr "无法打开拓扑文件进行写操作: %s\n"
 msgid "Unable to rewrite feature %d"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/write_pg.c:326
+#: ../lib/vector/Vlib/write_pg.c:326 ../lib/vector/Vlib/write_ogr.c:134
 #, fuzzy, c-format
 msgid "Invalid offset (%ld)"
 msgstr "无法将目录改变到%s"
@@ -8693,14 +8966,21 @@ msgstr ""
 msgid "Corrupted data"
 msgstr ""
 
-#: ../lib/vector/Vlib/read_pg.c:1510 ../lib/vector/Vlib/read_pg.c:1541
+#: ../lib/vector/Vlib/read_pg.c:1515
+#, fuzzy, c-format
+msgid ""
+"Execution failed: %s (...)\n"
+"Reason: %s"
+msgstr "连接失败。\n"
+
+#: ../lib/vector/Vlib/read_pg.c:1546
 #, fuzzy, c-format
 msgid ""
 "Execution failed: %s\n"
 "Reason: %s"
 msgstr "连接失败。\n"
 
-#: ../lib/vector/Vlib/read_pg.c:1670
+#: ../lib/vector/Vlib/read_pg.c:1675
 #, fuzzy, c-format
 msgid ""
 "Unable to read features. Reason:\n"
@@ -8910,53 +9190,53 @@ msgstr "默认驱动未设置"
 msgid "Default database is not set"
 msgstr "默认数据库未设置"
 
-#: ../lib/vector/Vlib/field.c:412
+#: ../lib/vector/Vlib/field.c:428
 #, c-format
 msgid "Requested dblink %d, maximum link number %d"
 msgstr "请求的dblink %d,最大链接数%d"
 
-#: ../lib/vector/Vlib/field.c:599 ../lib/vector/Vlib/field.c:607
+#: ../lib/vector/Vlib/field.c:614 ../lib/vector/Vlib/field.c:622
 #, fuzzy, c-format
 msgid "Error in rule on row %d in <%s>"
 msgstr "错误在第%d行%s文件中"
 
-#: ../lib/vector/Vlib/field.c:692
+#: ../lib/vector/Vlib/field.c:707
 #, fuzzy, c-format
 msgid "Unable to open OGR layer <%s>"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/field.c:719
+#: ../lib/vector/Vlib/field.c:734
 #, fuzzy
 msgid "Unable to open OGR DBMI driver"
 msgstr "无法打开OGR DBMI驱动。"
 
-#: ../lib/vector/Vlib/field.c:758
+#: ../lib/vector/Vlib/field.c:773
 msgid ""
 "All FID tests failed. Neither 'FID' nor 'ogc_fid' nor 'ogr_fid' nor 'gid' "
 "available in OGR DB table"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:825
+#: ../lib/vector/Vlib/field.c:840
 #, c-format
 msgid ""
 "Feature table <%s> has no primary key defined. Unable to define DB links."
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:845
+#: ../lib/vector/Vlib/field.c:860
 msgid "GRASS not compiled with PostgreSQL support"
 msgstr ""
 
-#: ../lib/vector/Vlib/field.c:877
+#: ../lib/vector/Vlib/field.c:892
 #, fuzzy
 msgid "Unknown vector map format"
 msgstr "未知区域"
 
-#: ../lib/vector/Vlib/field.c:911
+#: ../lib/vector/Vlib/field.c:925
 #, fuzzy, c-format
 msgid "Unable to create database definition file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/field.c:1006
+#: ../lib/vector/Vlib/field.c:1020
 #, fuzzy
 msgid "Bug: attempt to update map which is not in current mapset"
 msgstr "错误:试图更新不在当前地图集中的地图。"
@@ -9031,108 +9311,108 @@ msgstr "错误:试图更新不在当前地图集中的地图。"
 msgid "Temporary vector maps can be accessed only in the current mapset"
 msgstr "错误:试图更新不在当前地图集中的地图。"
 
-#: ../lib/vector/Vlib/open.c:266
+#: ../lib/vector/Vlib/open.c:277
 #, fuzzy
 msgid ""
 "Vector map which is not in the current mapset cannot be opened for update"
 msgstr "不在当前地图集中的地图不能被打开并更新。"
 
-#: ../lib/vector/Vlib/open.c:300
+#: ../lib/vector/Vlib/open.c:311
 #, fuzzy, c-format
 msgid "Unable to read header file of vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/open.c:341
+#: ../lib/vector/Vlib/open.c:352
 #, fuzzy, c-format
 msgid "Unable to open topology file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/open.c:408
+#: ../lib/vector/Vlib/open.c:419
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> on level %d. Try to rebuild vector topology "
 "with v.build."
 msgstr "无法打开旧的矢量%s在级别%d上"
 
-#: ../lib/vector/Vlib/open.c:434
+#: ../lib/vector/Vlib/open.c:445
 #, fuzzy, c-format
 msgid "Building topology for OGR layer <%s> from datasource '%s'..."
 msgstr "请为矢量'%s@%s'重建拓扑"
 
-#: ../lib/vector/Vlib/open.c:442
+#: ../lib/vector/Vlib/open.c:453
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> on level %d"
 msgstr "无法将目录改变到%s"
 
-#: ../lib/vector/Vlib/open.c:496
+#: ../lib/vector/Vlib/open.c:507
 #, fuzzy, c-format
 msgid "Unable to open history file for vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/open.c:768
+#: ../lib/vector/Vlib/open.c:777
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not in the current mapset (%s)"
 msgstr "错误:试图更新不在当前地图集中的地图。"
 
-#: ../lib/vector/Vlib/open.c:777
+#: ../lib/vector/Vlib/open.c:786
 #, fuzzy, c-format
 msgid "Unable to create vector map: <%s> is not SQL compliant"
 msgstr "地图名称不适应SQL"
 
-#: ../lib/vector/Vlib/open.c:835
+#: ../lib/vector/Vlib/open.c:846
 #, fuzzy, c-format
 msgid "Unable to open history file of vector map <%s>"
 msgstr "无法打开矢量'%s'的历史记录"
 
-#: ../lib/vector/Vlib/open.c:876
+#: ../lib/vector/Vlib/open.c:887
 #, c-format
 msgid "Using OGR/%s format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:880
+#: ../lib/vector/Vlib/open.c:891
 msgid "Using PostGIS Topology format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:882
+#: ../lib/vector/Vlib/open.c:893
 msgid "Using PostGIS format"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:885
+#: ../lib/vector/Vlib/open.c:896
 #, fuzzy
 msgid "Using native format"
 msgstr "不支持的 OGR 要素类型 %d"
 
-#: ../lib/vector/Vlib/open.c:976
+#: ../lib/vector/Vlib/open.c:985
 #, fuzzy, c-format
 msgid "Unable to stat file <%s>"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/open.c:1040
+#: ../lib/vector/Vlib/open.c:1049
 #, c-format
 msgid "unknown %d (update Vect_maptype_info)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open.c:1132
+#: ../lib/vector/Vlib/open.c:1138
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in topology file"
 msgstr "'coor'文件的大小与拓扑文件中保存的值不同。"
 
-#: ../lib/vector/Vlib/open.c:1143 ../lib/vector/Vlib/open.c:1244
+#: ../lib/vector/Vlib/open.c:1149 ../lib/vector/Vlib/open.c:1248
 #, fuzzy, c-format
 msgid "Please rebuild topology for vector map <%s@%s>"
 msgstr "请为矢量'%s@%s'重建拓扑"
 
-#: ../lib/vector/Vlib/open.c:1233
+#: ../lib/vector/Vlib/open.c:1237
 #, fuzzy
 msgid "Size of 'coor' file differs from value saved in sidx file"
 msgstr "'coor'文件的大小与拓扑文件中保存的值不同。"
 
-#: ../lib/vector/Vlib/open.c:1313
+#: ../lib/vector/Vlib/open.c:1317
 #, fuzzy
 msgid "Unable to open OGR file"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/open.c:1339
+#: ../lib/vector/Vlib/open.c:1343
 msgid "OGR output also detected, using OGR"
 msgstr ""
 
@@ -9201,89 +9481,89 @@ msgstr "连接失败。\n"
 msgid "PostGIS topology schema <%s> dropped"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:549
+#: ../lib/vector/Vlib/open_pg.c:557
 #, fuzzy
 msgid ""
 "Connection to PostgreSQL database failed. Try to set up username/password by "
 "db.login."
 msgstr "连接失败。\n"
 
-#: ../lib/vector/Vlib/open_pg.c:556
+#: ../lib/vector/Vlib/open_pg.c:564
 #, fuzzy
 msgid "Unable to get database name"
 msgstr "无法添加数据库链接。"
 
-#: ../lib/vector/Vlib/open_pg.c:561
+#: ../lib/vector/Vlib/open_pg.c:569
 #, c-format
 msgid "<%s> is not PostGIS database. DB table 'spatial_ref_sys' not found."
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:570
+#: ../lib/vector/Vlib/open_pg.c:578
 #, fuzzy, c-format
 msgid "PostGIS Topology extension not found in the database <%s>"
 msgstr "没有 ID 的 OGR 要素被忽略。 "
 
-#: ../lib/vector/Vlib/open_pg.c:657
+#: ../lib/vector/Vlib/open_pg.c:665
 msgid "Empty bounding box"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:758
+#: ../lib/vector/Vlib/open_pg.c:766
 #, c-format
 msgid "Inconsistency in topology: unable to read node %d"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:824
+#: ../lib/vector/Vlib/open_pg.c:832
 #, fuzzy, c-format
 msgid "Inconsistency in topology: node %d - unexpected feature type %d"
 msgstr "要素类型"
 
-#: ../lib/vector/Vlib/open_pg.c:993
+#: ../lib/vector/Vlib/open_pg.c:1001
 #, fuzzy, c-format
 msgid "Area %d without boundary detected"
 msgstr "没有质心的区域数量  :   %d\n"
 
-#: ../lib/vector/Vlib/open_pg.c:1051
+#: ../lib/vector/Vlib/open_pg.c:1059
 #, c-format
 msgid "Isle %d without boundary detected"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1118
+#: ../lib/vector/Vlib/open_pg.c:1126
 #, fuzzy
 msgid "Unable to get map bounding box from topology"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/open_pg.c:1125
+#: ../lib/vector/Vlib/open_pg.c:1133
 #, fuzzy, c-format
 msgid ""
 "Unable to parse map bounding box:\n"
 "%s"
 msgstr "无法打开文件 %s 在 %s 中"
 
-#: ../lib/vector/Vlib/open_pg.c:1149
+#: ../lib/vector/Vlib/open_pg.c:1157
 #, c-format
 msgid "Different number of nodes detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1177 ../lib/vector/Vlib/open_pg.c:1199
+#: ../lib/vector/Vlib/open_pg.c:1185 ../lib/vector/Vlib/open_pg.c:1207
 #, c-format
 msgid "Different number of areas detected (%d, %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1370
+#: ../lib/vector/Vlib/open_pg.c:1378
 msgid "To be implemented: isles not attached in Topo-Geo-only mode"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1559
+#: ../lib/vector/Vlib/open_pg.c:1567
 #, c-format
 msgid "Inconsistency in topology: number of points %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1604
+#: ../lib/vector/Vlib/open_pg.c:1612
 #, c-format
 msgid "Inconsistency in topology: number of lines %d (should be %d)"
 msgstr ""
 
-#: ../lib/vector/Vlib/open_pg.c:1658
+#: ../lib/vector/Vlib/open_pg.c:1666
 #, c-format
 msgid "Inconsistency in topology: number of centroids %d (should be %d)"
 msgstr ""
@@ -9352,16 +9632,33 @@ msgstr "输入矢量'%s'未找到"
 msgid "Topology info not available for feature %d"
 msgstr "命令[%s]没有可用的帮助\n"
 
+#: ../lib/vector/Vlib/net_analyze.c:198 ../lib/vector/Vlib/graph.c:226
+#, c-format
+msgid "dglShortestPath error: %s"
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:288 ../lib/vector/Vlib/net_analyze.c:329
+#, c-format
+msgid "Unable to find point with defined unique category for node <%d>."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:292 ../lib/vector/Vlib/net_analyze.c:333
+#, c-format
+msgid ""
+"There exists more than one point on node <%d> with unique category in field  "
+"<%d>.\n"
+"The unique category layer may not be valid."
+msgstr ""
+
+#: ../lib/vector/Vlib/net_analyze.c:449
+msgid "Wrong line direction in Vect_net_get_line_cost()"
+msgstr ""
+
 #: ../lib/vector/Vlib/graph.c:138
 #, fuzzy
 msgid "Unable to add network arc"
 msgstr "无法为区域 %d 计算质心"
 
-#: ../lib/vector/Vlib/write_ogr.c:134
-#, fuzzy, c-format
-msgid "Invalid offset (%d)"
-msgstr "无法将目录改变到%s"
-
 #: ../lib/vector/Vlib/write_ogr.c:239
 #, fuzzy, c-format
 msgid "Creating field <%s> failed"
@@ -9416,13 +9713,66 @@ msgstr "无法打开文件 %s 在 %s 中"
 #~ msgid "Out of memmory"
 #~ msgstr "G_malloc:内存溢出"
 
+#, fuzzy
+#~ msgid ""
+#~ "Unable to check table. There is no temporal database connection defined "
+#~ "for mapset <%(mapset)s>"
+#~ msgstr "无法打开基准面表文件:%s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch one. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "无法打开矢量'%s'的历史记录"
+
+#, fuzzy
+#~ msgid ""
+#~ "Unable to fetch all. There is no temporal database connection defined for "
+#~ "mapset <%(mapset)s>"
+#~ msgstr "无法打开矢量'%s'的历史记录"
+
+#, fuzzy
+#~ msgid "Unable to find a temporary null file <%s>"
+#~ msgstr "找不到临时空文件:%s"
+
+#, fuzzy
+#~ msgid "Unable to open null file <%s>"
+#~ msgstr "G_spawn:无法打开文件%s"
+
 #~ msgid "ERROR: option <%s>: <%s> exists.\n"
 #~ msgstr "错误:选项<%s>:<%s>已存在。\n"
 
 #, fuzzy
+#~ msgid "Invalid offset (%d)"
+#~ msgstr "无法将目录改变到%s"
+
+#, fuzzy
+#~ msgid "Unable to open file '%s'"
+#~ msgstr "无法打开文件 %s 在 %s 中"
+
+#, fuzzy
 #~ msgid "Vector map <%s> is not opened on topology level"
 #~ msgstr "输入矢量'%s'未找到"
 
+#~ msgid "Background color"
+#~ msgstr "背景颜色"
+
+#, fuzzy
+#~ msgid "Removing empty 3D raster maps"
+#~ msgstr "输入栅格的名称"
+
+#, fuzzy
+#~ msgid "Mode type: {0} not supported."
+#~ msgstr "不支持的 OGR 要素类型 %d"
+
+#, fuzzy
+#~ msgid "Invalid type {0}"
+#~ msgstr "无法将目录改变到%s"
+
+#, fuzzy
+#~ msgid "Invalid size {0}"
+#~ msgstr "无法将目录改变到%s"
+
 #, fuzzy
 #~ msgid "Attributes for category %d not found"
 #~ msgstr "类型为 %d 的记录未找到"
@@ -9444,22 +9794,3 @@ msgstr "无法打开文件 %s 在 %s 中"
 #, fuzzy
 #~ msgid "Cannot fetch row"
 #~ msgstr "无法获取图层信息"
-
-#~ msgid "Background color"
-#~ msgstr "背景颜色"
-
-#, fuzzy
-#~ msgid "Mode type: {0} not supported."
-#~ msgstr "不支持的 OGR 要素类型 %d"
-
-#, fuzzy
-#~ msgid "Invalid type {0}"
-#~ msgstr "无法将目录改变到%s"
-
-#, fuzzy
-#~ msgid "Invalid size {0}"
-#~ msgstr "无法将目录改变到%s"
-
-#, fuzzy
-#~ msgid "Removing empty 3D raster maps"
-#~ msgstr "输入栅格的名称"
diff --git a/locale/po/grassmods_ar.po b/locale/po/grassmods_ar.po
index 614080f..d3a1106 100644
--- a/locale/po/grassmods_ar.po
+++ b/locale/po/grassmods_ar.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_ar\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2005-03-09 12:50+0100\n"
 "Last-Translator: Dr. Alaa Masoud <alaamasoud at hotmail.com>\n"
 "Language-Team: Arabic <grass-translations at lists.osgeo.org>\n"
@@ -20,10 +20,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -41,6 +41,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -69,12 +70,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -120,7 +122,7 @@ msgstr "أخذ القيم المنعدمة فى الإعتبار عند الرس
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, fuzzy, c-format
@@ -128,14 +130,16 @@ msgid "Color file for <%s> not available"
 msgstr "الملفات الراسترية المطلوب رؤيتها%d"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -154,7 +158,9 @@ msgstr "الملفات الراسترية المطلوب رؤيتها%d"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -175,7 +181,7 @@ msgstr "الملفات الراسترية المطلوب رؤيتها%d"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -187,7 +193,7 @@ msgstr "الملفات الراسترية المطلوب رؤيتها%d"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -211,17 +217,17 @@ msgstr "الملفات الراسترية المطلوب رؤيتها%d"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -232,7 +238,7 @@ msgstr "الملفات الراسترية المطلوب رؤيتها%d"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -383,10 +389,13 @@ msgstr "اختيار الخط الذى سيعرض به النص على الشا
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 #, fuzzy
 msgid "Input"
 msgstr "اسم الخريطة المدخلة"
@@ -433,23 +442,25 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 #, fuzzy
 msgid "Text color"
 msgstr " اللون الأساس\n"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "طباعة نوع الملف الراسترى فقط"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 #, fuzzy
 msgid "Font name"
 msgstr "اسم الجدول"
@@ -464,12 +475,14 @@ msgstr "اسم الجدول"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 #, fuzzy
 msgid "Path to font file"
 msgstr "اسم الخريطة الراسترية الموجودة"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -563,14 +576,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -617,11 +636,11 @@ msgstr "وصف مبسط للخريطة الراسترية الجدىدة"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -701,23 +720,26 @@ msgstr "اسم الخريطة الراسترية  للعرض كخلفية"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -727,14 +749,19 @@ msgstr "اسم الخريطة الراسترية  للعرض كخلفية"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -784,49 +811,50 @@ msgstr "اسم ااملف المخرج"
 msgid "[%s]: No such color"
 msgstr ""
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "تقرير عن الراستر المدخلة والخروج"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 #, fuzzy
 msgid "Display screen rectangle of current region"
 msgstr "استخدام المنطقة الحالية"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -834,31 +862,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, fuzzy, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "لم يتم الإتصال بقاعدة البيانات\n"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -868,10 +897,10 @@ msgstr "لم يتم الإتصال بقاعدة البيانات\n"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -885,7 +914,7 @@ msgstr "لم يتم الإتصال بقاعدة البيانات\n"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "%s بالمشغل %s لم يمكن فتح قاعدة البيانات"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -910,7 +939,7 @@ msgstr "نوع المظهر"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 #, fuzzy
 msgid "Chart properties"
 msgstr "نوع المظهر"
@@ -952,7 +981,12 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "مخرج متبادل البيتات"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -960,20 +994,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -988,40 +1024,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1047,11 +1083,6 @@ msgstr "استخدام احداثيات مركز الخريطة\n"
 msgid "Line color"
 msgstr " nv لون\n"
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr " اللون الأساس\n"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1111,12 +1142,15 @@ msgstr "خروج :R الى :M من : L\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1135,17 +1169,18 @@ msgstr "خروج :R الى :M من : L\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1158,10 +1193,10 @@ msgstr "خروج :R الى :M من : L\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1169,21 +1204,22 @@ msgstr "خروج :R الى :M من : L\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr ""
 
@@ -1228,16 +1264,18 @@ msgstr "لم توجد<%s>الخريطة الفيكتورية"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1249,22 +1287,22 @@ msgstr "لم توجد<%s>الخريطة الفيكتورية"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1317,10 +1355,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1371,41 +1409,41 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "<%s> اسم الملف المستخدم لل"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "طباعة نوع الملف الراسترى فقط"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr "اختيار الخط الذى سيعرض به النص على الشاشة"
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 #, fuzzy
 msgid "Grid color"
 msgstr " nv لون\n"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "عدد الأرقام المميزة , النقط العشرية فقط"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "الخريطة الراسترية لنقاط البدء"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1414,7 +1452,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1422,7 +1460,7 @@ msgstr[0] " nv لون\n"
 msgstr[1] " nv لون\n"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1430,76 +1468,76 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 #, fuzzy
 msgid "Name of raster aspect map to be displayed"
 msgstr "اسم الخريطة الراسترية  للعرض كخلفية"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 #, fuzzy
 msgid "Type of existing raster aspect map"
 msgstr "اسم الخريطة الراسترية الموجودة"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "لم يتم حساب شبه مركز المساحة"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "لم يتم حساب شبه مركز المساحة"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 #, fuzzy
 msgid "Raster map containing values used for arrow length"
 msgstr "اسم خريطة الإرتفاعات"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 #, fuzzy
 msgid "Illegal value for scale factor"
 msgstr "ملف المدخل"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "ملف المدخل"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "<%s> لم يمكن فتح"
@@ -1628,17 +1666,17 @@ msgid ""
 "\n"
 msgstr "%f = المسافة من شبكة الأعمال , %f = المسافة الى شبكة الأعمال\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1646,7 +1684,7 @@ msgstr "dig قراءة ملف...\n"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1655,50 +1693,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr ""
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr ""
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1722,11 +1760,11 @@ msgstr "dig قراءة ملف...\n"
 msgid "Background color"
 msgstr ""
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1746,7 +1784,7 @@ msgstr "اسم ااملف المخرج"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1771,7 +1809,7 @@ msgstr "الخريطة الفيكتورية لنقاط البدء"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1779,7 +1817,7 @@ msgstr "الخريطة الفيكتورية لنقاط البدء"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2147,7 +2185,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2164,15 +2202,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr ""
@@ -2418,12 +2456,13 @@ msgstr "%s:منطقة غير صالحة"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2491,15 +2530,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 
@@ -2521,11 +2560,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "اسم الخريطة الراسترية الناتجة"
@@ -2724,7 +2764,7 @@ msgstr "لون    قيمة\n"
 msgid "Colorize features according color definition column"
 msgstr "عدد الأعمدة"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "لم تحدد خرائط مدخلة"
@@ -3015,41 +3055,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "خريطة مخرجة حيث ستكتب النقاط"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "لم يتم تحديث الحدود"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "الخريطة المخرجة"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "dig_att لم يمكن العثور على ملف"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "[%s]لم يتم فتح ملف الخلية ل "
+msgid "Starting monitor <%s>..."
+msgstr "كتابة ملف جديد...\n"
 
-#: ../display/d.mon/start.c:163
-#, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "<%s> لم يمكن فتح"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, fuzzy, c-format
+msgid "Unable to create file <%s>"
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3061,34 +3108,53 @@ msgstr "dig_att لم يمكن العثور على ملف"
 msgid "Monitor <%s> is not running"
 msgstr "غير موجود <%s> الراستر"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "<%s> لم يمكن فتح"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, fuzzy, c-format
+msgid "Unable to open file <%s>"
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "الإحداثى الشمالى للخريطة\n"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "غير موجودة <%s> المنطقة"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "<%s> لم يمكن فتح"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "<%s>لم يتم العثور على الخريطة المدخلة\n"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3100,8 +3166,8 @@ msgid "Name of monitor to start"
 msgstr "اسم الخريطة المخرجة"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3125,9 +3191,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3207,12 +3274,12 @@ msgid "List running monitors and exit"
 msgstr "عرض الهيئات المدعمة والخروج"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3225,33 +3292,34 @@ msgstr "عرض الهيئات المدعمة والخروج"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr ""
 
@@ -3265,58 +3333,76 @@ msgstr "طباعة إحداثيات الإتصال الحلى و الخروج"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "طباعة إحداثيات الإتصال الحلى و الخروج"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr ""
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr ""
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "طبقتين يجب تحديدهم"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3369,7 +3455,7 @@ msgid "No map name given"
 msgstr "لم تحدد خرائط مدخلة"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "%s لم يمكن فتح ملف المدى ل"
@@ -3504,9 +3590,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
@@ -3556,9 +3642,9 @@ msgstr "مضاهاة"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "الخريطة المخرجة"
@@ -3573,12 +3659,12 @@ msgstr "فاصل التسجيل الراسى للمخرج "
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 #, fuzzy
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "(1/0) اسم الملف البينرى "
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 #, fuzzy
 msgid "Do not include column names in output"
 msgstr "لاتشمل اسماء الأعمدة في المخرج"
@@ -3588,7 +3674,7 @@ msgstr "لاتشمل اسماء الأعمدة في المخرج"
 msgid "Describe query only (don't run it)"
 msgstr "(وصف الاستفهام فقط(بدون تنفيذ"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 #, fuzzy
 msgid "Vertical output (instead of horizontal)"
 msgstr "(مخرج راسي (بدلا من الافقي"
@@ -3622,7 +3708,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3654,7 +3740,7 @@ msgstr "اسم قاعدة البيانات"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3666,7 +3752,7 @@ msgstr "عدم انشاء جدول الخواص"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3807,8 +3893,8 @@ msgstr "<%s> لم يمكن فتح"
 msgid "Unable to create index:"
 msgstr "لم يتم تحديث الحدود"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "مضاهاة"
@@ -3884,7 +3970,7 @@ msgstr "%s:لم يتم إنشاء الجدول"
 msgid "Unable to allocate handle."
 msgstr "لم يتم تحديث الحدود"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3921,7 +4007,7 @@ msgstr "لم يمكن اختيار البيانات من الجدول"
 msgid "Unable to select view names."
 msgstr "لم يمكن اختيار البيانات من الجدول"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3961,12 +4047,12 @@ msgstr ""
 msgid "No path given"
 msgstr "لم تحدد خرائط مدخلة"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "لم يمكن اختيار البيانات من الجدول"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "لم يمكن اختيار البيانات من الجدول"
@@ -4014,30 +4100,30 @@ msgid "Taken not found"
 msgstr "غير موجود <%s> الراستر"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 #, fuzzy
 msgid "Unable to create index"
 msgstr "لم يتم تحديث الحدود"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "<%s> لم يمكن فتح"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "لم يمكن اختيار البيانات من الجدول"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "<%s> لم يمكن فتح"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "<%s> لم يمكن فتح"
@@ -4081,6 +4167,11 @@ msgid ""
 "(true)"
 msgstr "نوع جبرى خزن كحرف 1,صفر تعنى خطا و واحد تعنى صحيح:'%s' العمود "
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "<%s> لم يمكن فتح"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "PostgreSQL: خيار غير معروف فى تعريف قاعدة البيانات ل "
@@ -4165,7 +4256,8 @@ msgstr "غير موجود <%s> الراستر"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, fuzzy, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4247,22 +4339,22 @@ msgstr "<%s> لم يمكن فتح"
 msgid "Unable to open database:"
 msgstr "<%s> لم يمكن فتح"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "لم يتم الإتصال بقاعدة البيانات\n"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "dig_att لم يمكن العثور على ملف"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "غير موجود <%s> الراستر"
@@ -4277,6 +4369,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "غير مدعم %d نوع,'%s' عمود :pg مشغل ال "
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "خطا فى محاولة قراءة ملف قاعدة البيانات dbmscap\n"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4528,10 +4625,10 @@ msgstr "لم يتم حساب شبه مركز المساحة"
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, fuzzy, c-format
 msgid "Unable to describe table <%s>"
@@ -4552,27 +4649,39 @@ msgstr "من فضلك اضبط الأوضاع"
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "%s:لم يتم إنشاء الجدول"
+msgid "Username"
+msgstr "اسم الجدول"
+
+#: ../db/db.login/main.c:67
+msgid "Password"
+msgstr ""
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:75
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "%s:لم يتم إنشاء الجدول"
+msgid "Hostname"
+msgstr "اسم الجدول"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "طباعة إحداثيات الإتصال الحلى و الخروج"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 #, fuzzy
 msgid "Unable to set user/password"
 msgstr "لم يمكن ضبط المستخدمكلمة المرور"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "حفظت كلمة المرور فى ملف"
@@ -4861,6 +4970,7 @@ msgstr "المساحة\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4871,10 +4981,11 @@ msgstr "المساحة\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "اسم الخريطة الراسترية"
@@ -4951,19 +5062,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, fuzzy, c-format
-msgid "Unable to open file <%s>"
-msgstr "[%s]لم يتم فتح ملف الخلية ل "
-
 #: ../misc/m.nviz.script/main.c:250
 #, fuzzy, c-format
 msgid "You must provide at least four points %d"
@@ -5237,7 +5335,7 @@ msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5924,7 +6022,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5937,12 +6035,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6046,7 +6145,17 @@ msgstr ""
 msgid "<%s> already exists"
 msgstr "dig_att لم يمكن العثور على ملف"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "بدء بالقيم فى الخريطة الراسترية"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "<%s>فى<%s>لم يمكن فتح الملف الفيكتورى"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6054,20 +6163,20 @@ msgstr "dig_att لم يمكن العثور على ملف"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr ""
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 #, fuzzy
 msgid "Map name search pattern (default: all)"
 msgstr "شكل فاصل المخرج"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6075,143 +6184,116 @@ msgstr "شكل فاصل المخرج"
 msgid "Pattern"
 msgstr "اسم الخريطة الراسترية"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
 msgstr "شكل فاصل المخرج"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "طباعة إحداثيات الإتصال الحلى و الخروج"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "طباعة إحداثيات الإتصال الحلى و الخروج"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "ضبط المنطقة الحالية من ابعاد الخريطة المسماه"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "اسم الملف المخرج"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "الملف  الأسكى الراسترى المطلوب ادخاله"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "طباعة نوع الملف الراسترى فقط"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 #, fuzzy
 msgid "Pretty printing in human readable format"
 msgstr "header تخطى طباعة معلومات عن العنوان الرئيسى بأول الملف"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:187
-#, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "غير موجودة <%s> الخريطة الراسترية "
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "بدء بالقيم فى الخريطة الراسترية"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "<%s>فى<%s>لم يمكن فتح الملف الفيكتورى"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 #, fuzzy
 msgid "Unable to update lat/long projection parameters"
 msgstr "لم يتم تحديث الحدود"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6450,9 +6532,9 @@ msgstr "غير موجودة <%s> المنطقة"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, fuzzy, c-format
 msgid "3D raster map <%s> not found"
 msgstr "غير موجودة <%s> الخريطة الراسترية "
@@ -6476,7 +6558,7 @@ msgstr "لم يتم تحديث الحدود"
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, fuzzy, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "%s:منطقة غير صالحة"
@@ -6760,38 +6842,38 @@ msgstr "طباعة الأحصاء فى صورة شل سكربت"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6932,7 +7014,7 @@ msgstr "اسم الخريطة الراسترية المطلوب استفهامه
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 #, fuzzy
 msgid "Operation to be performed"
@@ -7390,7 +7472,7 @@ msgstr "<%s> لم يمكن فتح"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, fuzzy, c-format
 msgid "Unable to open output file <%s>"
@@ -7592,38 +7674,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "غير موجودة <%s> المنطقة"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "الملف الراسترى الطلوب إدخالة"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
+msgstr ""
+
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7833,8 +7936,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7872,9 +7975,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, fuzzy, c-format
 msgid "Location <%s> created"
 msgstr "%s لم يمكن فتح "
@@ -8030,10 +8133,12 @@ msgstr "طباعة مصفوفة المضاهاه"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8049,10 +8154,14 @@ msgstr "طباعة مصفوفة المضاهاه"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8085,10 +8194,12 @@ msgstr ""
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8104,10 +8215,14 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8209,8 +8324,8 @@ msgstr "اختيار الخط الذى سيعرض به النص على الشا
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "الملف الراسترى المدخل"
@@ -8252,7 +8367,7 @@ msgstr "ادخال ملف راسترى ثنائى كطبقة خريطة راست
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8281,15 +8396,16 @@ msgstr ""
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "الملف الراسترى المدخل"
@@ -8377,7 +8493,7 @@ msgstr "[%s]لم يتم فتح ملف الخلية ل "
 msgid ""
 "Uploads space time raster dataset values at positions of vector points to "
 "the table."
-msgstr "اسم الخريطة الراسترية الناتجة"
+msgstr "تحويل خريطة راسترية إلى فيكتورية"
 
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:9
 #, fuzzy
@@ -8435,7 +8551,7 @@ msgstr ":اسم قاعدة البيانات"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "تحويل خريطة راسترية إلى فيكتورية"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8445,6 +8561,107 @@ msgstr ""
 msgid "inputs"
 msgstr "اسم الخريطة المدخلة"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "تحويل خريطة راسترية إلى فيكتورية"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "الملف الراسترى المدخل"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "عرض ملفات الراستر للموقع والخروج"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "اسم الخريطة الراسترية المدخلة"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "اسم الراستر المدخل"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8496,21 +8713,12 @@ msgid ""
 "datasets."
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "الملف الراسترى المدخل"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8519,11 +8727,13 @@ msgstr "الملف الراسترى المدخل"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8531,54 +8741,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "اسم الخريطة الراسترية المدخلة"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "عدد نقاط الإستيفاء"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "اسم الراستر المدخل"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8593,7 +8762,8 @@ msgstr "اسم الخريطة الراسترية"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "عدم انشاء جدول الخواص"
@@ -8827,7 +8997,7 @@ msgstr "طريقة الاستيفاء المستخدمة"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "طريقة الاستيفاء المستخدمة"
 
@@ -8944,6 +9114,49 @@ msgstr "اسم الخريطة الراسترية الموجودة"
 msgid "Name of attribute column(s) to drop"
 msgstr "عدد الأعمدة"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "عرض القيم مفصولة بفاصلة"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "اسم ملف التقرير"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "%s لم يتم فتح قاعدة البيانات"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "اسم خريطة الراستر المخرجة"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9168,7 +9381,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9414,6 +9627,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9483,10 +9697,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "مد حدود الموقع معتمدا على مجموعة البيانات الجديدة"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "تغلب على الإسقاط مستخدما إسقاط الموقع"
@@ -9495,7 +9713,8 @@ msgstr "تغلب على الإسقاط مستخدما إسقاط الموقع"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "درجة وضوح الخريطة المخرجة"
@@ -9513,21 +9732,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 #, fuzzy
 msgid "In scan mode, print using shell script style"
 msgstr "طباعة الأحصاء فى صورة شل سكربت"
@@ -9551,7 +9770,7 @@ msgid "Name for output raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 #, fuzzy
 msgid "Statistic to use for raster values"
 msgstr "تقرير الإحصائيات للخرائط الراسترية"
@@ -9559,14 +9778,14 @@ msgstr "تقرير الإحصائيات للخرائط الراسترية"
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "نوع التخزين للخريطة الراسترية الناتجة "
@@ -9607,18 +9826,18 @@ msgid "Scaling factor to apply to value column data"
 msgstr "استخدام احداثيات مركز الخريطة\n"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "النسبة من الخريطة للحفظ بالذاكرة"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 #, fuzzy
 msgid "pth percentile of the values"
 msgstr "طريقة تقرير الإنحدار"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9720,8 +9939,8 @@ msgid "Remove existing color table"
 msgstr "بقاء جدول الألوان الحالى "
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9767,17 +9986,18 @@ msgid ""
 msgstr "ادخال ملف راسترى ثنائى كطبقة خريطة راسترية جراسية"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "الملف الراسترى الطلوب إدخالة"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "اسم خريطة الراستر المخرجة"
@@ -9798,6 +10018,11 @@ msgstr "اسم خريطة الراستر المخرجة"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9820,10 +10045,15 @@ msgstr "اسم خريطة الراستر المخرجة"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "الخريطة المخرجة"
@@ -9834,28 +10064,29 @@ msgid "Output vector map extent"
 msgstr "الخريطة الراسترية المخرجة للمساحات ذات مشكلة"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "ضبط المنطقة الحالية من ابعاد الخريطة المدخلة"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "%s لم يتم العثور على الخريطة الراسترية"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 msgid "Snapping threshold for boundaries (map units)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9871,17 +10102,65 @@ msgid "-1 to list available datum transform parameters"
 msgstr "اسم ملف التنعيم"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "عرض الهيئات المدعمة والخروج"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "درجة وضوح الخريطة المخرجة"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "اختيار الخط الذى سيعرض به النص على الشاشة"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "dig_att لم يمكن العثور على ملف"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "طباعة إحداثيات الإتصال الحلى و الخروج"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "طباعة إحداثيات الإتصال الحلى و الخروج"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10052,7 +10331,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10061,7 +10340,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10070,7 +10349,7 @@ msgid "geometry"
 msgstr ""
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10129,7 +10408,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "عدد نقاط الإستيفاء"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10154,15 +10437,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "band الشريحة المطلوبة والأساس كل الشرائح"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10221,12 +10504,12 @@ msgid "Optional"
 msgstr "اسم ااملف المخرج"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "لا تقص المنطقة الحالية"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "الإحداثى الشمالى للخريطة\n"
@@ -10325,7 +10608,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr "انشاء خريطة راسترية بها مساحات متجاورة نمت بخلية واحدة"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10340,7 +10623,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "buffer نصف قطر الحلجز المصدى"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "مترى"
 
@@ -10370,14 +10653,14 @@ msgstr "حساب إحصائيات المتغير الأحادى من خلايا
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "اسم الخريطة الراسترية الناتجة"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10444,6 +10727,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10451,7 +10745,8 @@ msgid ""
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "الصفر قيمة حقيقية"
@@ -10495,6 +10790,61 @@ msgstr "%-5d فئات النقط قرات\n"
 msgid "Name of table to drop"
 msgstr "<%s> اسم الملف المستخدم لل"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "خلق خريطة فيكتورية بكنتورات محددة من خريطة راسترية"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "درجة الوضوح"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "المدى التزايدى بين مستويات الكنتور"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "عرض قائمة مستويات الكنتور"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "مستوى الكنتور الأصغر"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "مستوى الكنتور الأقصى"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "اصغر عدد من النقاط لخط الكنتور"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "اسم الراستر المدخل"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "عدم انشاء جدول الخواص"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10519,6 +10869,20 @@ msgstr "الخريطة المخرجة"
 msgid "Name for output table (default: input name)"
 msgstr "اسم خريطة الراستر المخرجة"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "تحويل خريطة راسترية إلى فيكتورية"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "عرض ملفات الراستر للموقع والخروج"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10658,6 +11022,62 @@ msgstr "اسم الخريطة الراسترية الموجودة"
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "تحويل خريطة راسترية إلى فيكتورية"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "نوع المظهر"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "<%s> اسم الملف المستخدم لل"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+#, fuzzy
+msgid "Smooth corners of area features"
+msgstr "تنعيم الأركان"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "استخدام احداثيات مركز الخريطة\n"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "dig قراءة ملف...\n"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr "أستخدام القيم الراسترية كفئات بدلا من توالى فريد,خلية فقط"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10669,6 +11089,7 @@ msgid "Vector map to which to join other table"
 msgstr "عدم انشاء جدول الخواص"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10678,6 +11099,7 @@ msgid "Layer where to join"
 msgstr "عدم انشاء جدول الخواص"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 msgid "column"
 msgstr ""
 
@@ -10757,7 +11179,6 @@ msgstr "اسم خريطة الراستر المخرجة"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11058,6 +11479,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -11347,13 +11772,6 @@ msgstr "اسم الخريطة الراسترية"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "عدد نقاط الإستيفاء"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -11364,23 +11782,32 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "عدم انشاء جدول الخواص"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "<%s> اسم الملف المستخدم لل"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "اسم الخريطة الراسترية"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "عدد الأعمدة"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "<%s> اسم الملف المستخدم لل"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
@@ -11419,78 +11846,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "اسم المقع الجديد"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "طباعة الجداول والخروج"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "طباعة الجداول والخروج"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "طباعة الجداول والخروج"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "موقع قاعدة البيانات"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "جداول النظام بدلا من جداول المستخدم"
@@ -11511,20 +11954,26 @@ msgid "Description of the space time dataset"
 msgstr "اسم الخريطة الراسترية الجديدة"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "اسم الخريطة الراسترية الجديدة"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11542,10 +11991,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "الملف الراسترى الطلوب إدخالة"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "طباعة الأحصاء فى صورة شل سكربت"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "الخريطة المخرجة"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11665,8 +12150,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "اسم الملف المخرج"
+msgid "Name for output image (or text file for -t)"
+msgstr "اسم ملف التقرير"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11683,6 +12168,11 @@ msgstr "استخدام احداثيات مركز الخريطة\n"
 msgid "Use gnuplot for display"
 msgstr "<%s> لم يمكن فتح"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "اسم ملف الإنحدار المخرج"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11697,11 +12187,6 @@ msgstr "حساب إحصائيات المتغير الأحادى من خلايا
 msgid "series"
 msgstr "الخريطة الراسترية المطلوب تسجيلها"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "%s لم يتم فتح قاعدة البيانات"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11799,6 +12284,7 @@ msgstr "اسم الخريطة الراسترية"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11814,10 +12300,15 @@ msgstr "اسم ااملف المخرج"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11899,10 +12390,6 @@ msgid ""
 "space time raster datasets."
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11920,7 +12407,7 @@ msgstr "<%s> لم يمكن فتح"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, fuzzy, c-format
@@ -12441,7 +12928,7 @@ msgid "radiance"
 msgstr "التباين"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12472,8 +12959,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12677,8 +13165,8 @@ msgstr "بدء بالقيم فى الخريطة الراسترية"
 msgid "Calculating..."
 msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14741,21 +15229,21 @@ msgstr "غير موجودة <%s> المنطقة"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 #, fuzzy
 msgid "not found"
@@ -14854,7 +15342,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14984,7 +15472,7 @@ msgid "Name of target mapset"
 msgstr "اسم الخريطة الناتجة"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15411,52 +15899,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "ملف المدخل"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "اسم الخريطة الناتجة"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "وصف مبسط للملف الراسترى المخرج"
@@ -15639,7 +16131,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, fuzzy, c-format
 msgid "Writing raster map <%s>..."
@@ -16064,7 +16556,7 @@ msgstr "اسم الخريطة الراسترية الموجودة"
 msgid "My first vector module"
 msgstr "اسم الخريطة الراسترية الموجودة"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "اسم خريطة النقط الفيكتورية المخرجة"
@@ -16204,11 +16696,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16915,12 +17408,12 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "التوقيع ..."
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -16928,37 +17421,37 @@ msgstr ""
 "انشاء خريطة مركبة باستخدام قيم الفئات من خرائط لملىء خلايا بدون قيمة فى "
 "خرائط اخرى"
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "اسم الخرائط الراسترية المطلوب ترقيعها ببعضها "
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 #, fuzzy
 msgid "Name for resultant raster map"
 msgstr "وصف مبسط للخريطة الراسترية الناتجة"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "استخدم الصفر بدلا من القيمة المنعدمة لتمثيل الشفافية"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 #, fuzzy
 msgid "The minimum number of input raster maps is two"
 msgstr "اسم الخريطة الراسترية المدخلة"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 #, fuzzy
 msgid "Percent complete..."
 msgstr "مقلوب فرق العزم"
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "%s لم يمكن فتح ملف المدى ل"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -16981,7 +17474,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "الملف  الأسكى الراسترى المطلوب ادخاله"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "وصف مبسط للخريطة الراسترية الناتجة"
@@ -16989,7 +17482,7 @@ msgstr "وصف مبسط للخريطة الراسترية الناتجة"
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "نوع المظهر"
+msgstr "وصف مبسط للملف الراسترى المخرج"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17404,8 +17897,8 @@ msgstr "اسم الملف الفيكتورى المخرج"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "لم يمكن حشر صف جديد: %s"
@@ -17477,56 +17970,18 @@ msgstr "الصفر قيمة حقيقية"
 msgid "Converts a raster map into a vector map."
 msgstr "تحويل خريطة راسترية إلى فيكتورية"
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "نوع المظهر"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "<%s> اسم الملف المستخدم لل"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-#, fuzzy
-msgid "Smooth corners of area features"
-msgstr "تنعيم الأركان"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr "أستخدام القيم الراسترية كفئات بدلا من توالى فريد,خلية فقط"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "عدم انشاء جدول الخواص"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "استخدام احداثيات مركز الخريطة\n"
-
-#: ../raster/r.to.vect/main.c:105
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "dig قراءة ملف...\n"
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -17555,23 +18010,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, fuzzy, c-format
 msgid "Unable to create table: %s"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, fuzzy, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "%s لم يتم منح الإمتياز على الجدول"
@@ -17613,201 +18070,201 @@ msgstr "%s:لم يتم إنشاء الجدول"
 msgid "Allocating memory and reading input raster map..."
 msgstr "الخريطة الفيكتورية لنقاط البدء"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "إعادة توقيع خريطة راسترية من مكان إلى المكان الحالى"
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "الخريطة الفيكتورية لنقاط البدء"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "تباين المجموع"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "اسم مجموعة الخرائط للخريطة المدخلة"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "ضبط من المنطقة الحالية"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 #, fuzzy
 msgid "Name of input raster map to re-project"
 msgstr "اسم الخريطة الراسترية المدخلة"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "الطريق لقاعدة البيانات للموقع المدخل"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "اسم خريطة الراستر المخرجة"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "المساحة\n"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "درجة وضوح الخريطة المخرجة"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "طباعة الأحصاء فى صورة شل سكربت"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "خريطة مدخلة: أماكن المنخفضات الحقيقية"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr "درجة وضوح الخريطة المخرجة"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr "درجة وضوح الخريطة المخرجة"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 #, fuzzy
 msgid "Unable to get projection key values of output raster map"
 msgstr "اسم الخريطة المخرجة"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "خريطة الراستر االناتجة"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, fuzzy, c-format
 msgid "Required parameter <%s> not set"
 msgstr "غير موجودة <%s> الخريطة الراسترية "
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "لم توجد<%s>الخريطة الفيكتورية"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 #, fuzzy
 msgid "Unable to get projection info of input map"
 msgstr "ضبط المنطقة الحالية من ابعاد الخريطة المدخلة"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 #, fuzzy
 msgid "Unable to get projection units of input map"
 msgstr "درجة وضوح الخريطة المخرجة"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 #, fuzzy
 msgid "Unable to get projection key values of input map"
 msgstr "ضبط المنطقة الحالية من ابعاد الخريطة المدخلة"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 #, fuzzy
 msgid "Input:"
 msgstr "اسم الخريطة المدخلة"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, fuzzy, c-format
 msgid "North: %f (%f)"
 msgstr " %f %f :%d العقدة\n"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, fuzzy, c-format
 msgid "West: %f (%f)"
 msgstr " %f %f :%d العقدة\n"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, fuzzy, c-format
 msgid "East: %f (%f)"
 msgstr " %f %f :%d العقدة\n"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 #, fuzzy
 msgid "Output:"
 msgstr "الخريطة المخرجة"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 #, fuzzy
 msgid "Projecting..."
 msgstr "التوقيع ..."
@@ -17853,7 +18310,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17866,7 +18323,7 @@ msgstr "عدم انشاء جدول الخواص"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17881,7 +18338,7 @@ msgstr "التوقيع ..."
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18035,7 +18492,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 #, fuzzy
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "حساب إحصائيات المتغير الأحادى من خلايا ذات قيمة بالخريطة الراسترية"
@@ -18438,21 +18895,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "استخدام احداثيات مركز الخريطة\n"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "خريطة الراستر االناتجة"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "%s:منطقة غير صالحة"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "استخدام احداثيات مركز الخريطة\n"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "خريطة الراستر االناتجة"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "استخدام احداثيات مركز الخريطة\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "خريطة الراستر االناتجة"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18825,7 +19322,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "%s لم يمكن فتح "
@@ -19653,7 +20150,7 @@ msgstr ""
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "انشاء احصائيات المساحة لطبقات الخرائط الراسترية"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -19840,48 +20337,49 @@ msgstr "اسم الخريطة الراسترية الناتجة"
 msgid "Statistics for <%s> updated"
 msgstr "الملف الراستري للسطح"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 #, fuzzy
 msgid "Over-riding projection check"
 msgstr "طباعة نوع الملف الراسترى فقط"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 #, fuzzy
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr "إعادة توقيع خريطة راسترية من مكان إلى المكان الحالى"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 #, fuzzy
 msgid "Location PROJ_INFO is:\n"
 msgstr "%s لم يمكن فتح "
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 #, fuzzy
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "%s لم يمكن فتح "
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19889,15 +20387,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 #, fuzzy
 msgid "Projection of input dataset and current location appear to match"
 msgstr "إعادة توقيع خريطة راسترية من مكان إلى المكان الحالى"
@@ -19962,8 +20460,8 @@ msgstr "%s لم يمكن فتح ملف المدى ل"
 msgid "Link to raster map <%s> created."
 msgstr "dig_att لم يمكن العثور على ملف"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -19983,13 +20481,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "<%s>فى<%s>لم يمكن فتح الملف الفيكتورى"
@@ -20018,22 +20516,22 @@ msgstr "اسم الخريطة الراسترية الجديدة"
 msgid "Band to select (default is all bands)"
 msgstr "band الشريحة المطلوبة والأساس كل الشرائح"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 #, fuzzy
 msgid "List supported formats and exit"
 msgstr "عرض الهيئات المدعمة والخروج"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "مد حدود الموقع معتمدا على مجموعة البيانات الجديدة"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20045,13 +20543,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "عرض ملفات الراستر للموقع والخروج"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "طبقتين يجب تحديدهم"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20060,32 +20567,32 @@ msgstr "طبقتين يجب تحديدهم"
 msgid "%s= and %s= are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 #, fuzzy
 msgid "Proceeding with import..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "خريطة مخرجة حيث ستكتب النقاط"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "خريطة الإرتفاعات"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, fuzzy, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "غير موجودة <%s> الخريطة الراسترية "
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "dig_att لم يمكن العثور على ملف"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr ""
@@ -20274,14 +20781,15 @@ msgstr "اسم الخريطة الراسترية المخرجة"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20584,6 +21092,12 @@ msgstr "طبقتين يجب تحديدهم"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "%s لم يمكن فتح "
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20656,8 +21170,8 @@ msgid "Importing band %d..."
 msgstr "الخريطة الفيكتورية لنقاط البدء"
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20779,7 +21293,7 @@ msgstr "طبقتين يجب تحديدهم"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "%s لم يمكن فتح "
@@ -21840,7 +22354,8 @@ msgstr ""
 msgid "Unable to write to temp file"
 msgstr "لم يتم تحديث الحدود"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "الخريطة الفيكتورية لنقاط البدء"
@@ -21886,7 +22401,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "طباعة الأحصاء فى صورة شل سكربت"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22472,23 +22987,23 @@ msgid "unable to open output file"
 msgstr "اسم الملف المخرج"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22496,8 +23011,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22603,27 +23118,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22636,20 +23151,30 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "الخريطة الفيكتورية لنقاط البدء"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "الخريطة الفيكتورية لنقاط البدء"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "الخريطة الفيكتورية لنقاط البدء"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 msgid "Closing flow direction map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -22674,224 +23199,229 @@ msgstr "الخريطة الفيكتورية لنقاط البدء"
 msgid "Closing half basins map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "اسم الخريطة المدخلة"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "اسم الخريطة الراسترية المدخلة"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "خريطة مدخلة: كمية السريان للمياه على البر لكل خلية"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "اسم الخريطة الراسترية المدخلة"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "USLE خريطة مدخلة : التضاريس الحاجبة للسريان السطحى عبر البر, فى"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "القيمة المدخلة : أصغر حجم من محددات  مياه الأحواض الخارجية"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "USLE القيمة المدخلة : أكبر طول من للسريان السطحى, فى"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "الخريطة المخرجة : عدد الخلايا التى تصب فى كل خلية"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "خريطة الدليل الطبوغرافى"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "خريطة الدليل الطبوغرافى"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "الخريطة المخرجة : كل نصف حوض معطى قيمة فريدة "
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "USLE فى (LS)الخريطة المخرجة : طول الإنحدار ووعورته, عامل"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "USLE فى (S)الخريطة المخرجة : وعورة الإنحداه, عامل "
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "عامل الضرب لقيم الإرتفاعات"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "السماح لسريان المياه أفقيا ورأسيا فقط"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 #, fuzzy
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "السماح بخيار مد الذاكرة : العملية بطيئة"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 #, fuzzy
 msgid "Sorry, you must choose an output map."
 msgstr "اسم الخريطة المخرجة"
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "حجم التجاور"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "نوع العمود غير مدعم"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -23054,21 +23584,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr "%s لم يتم العثور على الخريطة الراسترية"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "بدء بالقيم فى الخريطة الراسترية"
@@ -23261,7 +23791,7 @@ msgstr "اسم ملف الإنحدار المخرج"
 msgid "Converting <%s>..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, fuzzy, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "dig_att لم يمكن العثور على ملف"
@@ -23338,7 +23868,7 @@ msgid ""
 msgstr "حساب إحصائيات المتغير الأحادى من خلايا ذات قيمة بالخريطة الراسترية"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23351,11 +23881,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "<%s> لم يمكن فتح"
@@ -23368,60 +23901,85 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "حساب إحصائيات المتغير الأحادى من خلايا ذات قيمة بالخريطة الراسترية"
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "طبقتين يجب تحديدهم"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "انشاء خريطة راسترية بها مساحات متجاورة نمت بخلية واحدة"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "اسم الخريطة المدخلة"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "اسم الخريطة الراسترية المخرجة"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "طبقتين يجب تحديدهم"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "%c :نوع غير معروف"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "لم يتم تحديث الحدود"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23432,130 +23990,135 @@ msgstr "لم يتم تحديث الحدود"
 msgid "Reading raster map <%s>..."
 msgstr "%-5d dig_att قراءة ملف...\n"
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "اسم خريطة الراستر المخرجة"
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "اسم الخريطة الراسترية الناتجة"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "عدم انشاء جدول الخواص"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "اسم الخريطة الراسترية المدخلة"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "اسم لخريطة الراسترية انسخ جدول ألوانها"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr ""
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr ""
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "لم توجد<%s>الخريطة الفيكتورية"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "اسم ااملف المخرج"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "خريطة مخرجة حيث ستكتب النقاط"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "%s لم يمكن فتح ملف المدى ل"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "%s لم يمكن فتح ملف المدى ل"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "الخريطة الراسترية لنقاط البدء"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "غير موجودة <%s> الخريطة الراسترية "
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "%s لم يمكن فتح ملف المدى ل"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "اسم ااملف المخرج"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "خريطة الراستر االناتجة"
@@ -23605,7 +24168,7 @@ msgstr "%c :نوع غير معروف"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "<%s> لم يمكن فتح"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 #, fuzzy
 msgid "Unable to close output raster map"
 msgstr "اسم الخريطة الراسترية المدخلة"
@@ -23728,21 +24291,26 @@ msgstr "نوع غير معروف"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "كتابة ملف جديد...\n"
+
+#: ../raster/r.mapcalc/main.c:167
 #, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "الملف الراسترى المدخل"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -23751,223 +24319,239 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "ادخال ملف راسترى ثنائى كطبقة خريطة راسترية جراسية"
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "الملف الراسترى الطلوب إدخالة"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "band الشريحة المطلوبة والأساس كل الشرائح"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "اسم الخريطة الناتجة"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr "الموقع المستخدم لقراءة الإسقاط منه لنقاط السيطرة الأرضية "
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "اسم ملف الإرتفاعات الراسترى"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "اسم المقع الجديد"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "عدم انشاء جدول الخواص"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "تغلب على الإسقاط مستخدما إسقاط الموقع"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "طباعة إحداثيات الإتصال الحلى و الخروج"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "الإحتفاظ بأعداد الشرائح بدلا من استخدام اسماء لون الشرائح"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "طباعة الجداول والخروج"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "<%s> لم يمكن فتح"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists"
 msgstr "dig_att لم يمكن العثور على ملف"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "%s:لم يتم إنشاء الجدول"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "dig_att عطل فى فتح ملف المدخل"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "اسم الخريطة الراسترية"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "%s لم يتم فتح قاعدة البيانات"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "كتابة ملف جديد...\n"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, fuzzy, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "خريطة الإتجاه المخرجة"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 #, fuzzy
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "ضبط المنطقة الحالية من ابعاد الخريطة المدخلة"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 #, fuzzy
 msgid "Unable to get projection info of target location"
 msgstr "ضبط المنطقة الحالية من ابعاد الخريطة المدخلة"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 #, fuzzy
 msgid "Unable to get projection units of target location"
 msgstr "درجة وضوح الخريطة المخرجة"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 #, fuzzy
 msgid "Unable to get projection key values of target location"
 msgstr "ضبط المنطقة الحالية من ابعاد الخريطة المدخلة"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "خريطة الراستر االناتجة"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr " <%s> فى <%s>لم يمكن قراءة العنوان الرئيسى ل"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr " <%s> فى <%s>لم يمكن قراءة العنوان الرئيسى ل"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
@@ -24209,7 +24793,7 @@ msgstr "كتابة ملف جديد...\n"
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, fuzzy, c-format
@@ -24563,31 +25147,39 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "بدء بالقيم فى الخريطة الراسترية"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "طبقتين يجب تحديدهم"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "%-5d dig_att قراءة ملف...\n"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "مضاهاة"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "خلق قيم خلية عشوائية باستقلال فراغى"
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "أقصى مسافة من نقطة اارؤية بالأمتار"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr ""
+"\n"
+"\n"
+"%d :عدد النقاط\n"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25032,33 +25624,33 @@ msgstr "ترقيق الخلايا غير الصفرية التى تميز مظا
 msgid "Maximal number of iterations"
 msgstr "عدد نقاط الإستيفاء"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "طباعة عناوين الفئة"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -26114,159 +26706,230 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "طبقتين يجب تحديدهم"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr ""
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "لم يتم تحديث الحدود"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr "انشاء خرائط راسترية من ملفات بيانية متعدد الأضلاعخط فى الدليل الحالى"
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "ملف المدخل"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "dig_att عطل فى فتح ملف المدخل"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "لم يتم الثور على شيئ\n"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "استخدام احداثيات مركز الخريطة\n"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 #, fuzzy
 msgid "Filter range for z data (min,max)"
 msgstr "min,max :المدى الصحيح"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "وصف مبسط للملف الراسترى المخرج"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "ادخال القيم الصحيحة "
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "ادخال القيم الصحيحة "
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "طباعة نوع الملف الراسترى فقط"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
+#: ../raster/r.in.lidar/main.c:246
 #, fuzzy
-msgid "Override dataset projection (use location's projection)"
-msgstr "تغلب على الإسقاط مستخدما إسقاط الموقع"
+msgid "Set computation region to match the new raster map"
+msgstr "ضبط المنطقة الحالية من ابعاد هذه الخريطة "
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "غير موجودة <%s> الخريطة الراسترية "
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "نوع غير معروف"
+msgid "File <%s> does not exist"
+msgstr "غير موجودة <%s> الخريطة الراسترية "
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-#, fuzzy
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "%s لم يمكن فتح "
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "غير موجودة <%s> الخريطة الراسترية "
+
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "نوع غير معروف"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "%s:منطقة غير صالحة"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "%s لم يمكن فتح "
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "التوقيع ..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "<%s>لم يتم العثور على الخريطة المدخلة\n"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 #, fuzzy
 msgid "Writing to map ..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%d نقاط تم تحميلها\n"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+#, fuzzy
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "%s لم يمكن فتح "
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
 msgstr ""
 
 #: ../raster/r.uslek/main.c:57
@@ -26506,12 +27169,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "وصف مبسط للملف الراسترى المخرج"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, fuzzy, c-format
-msgid "Unable to create file <%s>"
-msgstr "[%s]لم يتم فتح ملف الخلية ل "
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27337,6 +27994,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr "%s:منطقة غير صالحة"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27389,6 +28053,11 @@ msgstr "[%s]لم يتم فتح ملف الخلية ل "
 msgid "Writing to output raster map..."
 msgstr "اسم خريطة الراستر المخرجة"
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "%d نقاط تم تحميلها\n"
+
 #: ../raster/r.relief/main.c:112
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM)."
@@ -27746,27 +28415,27 @@ msgstr "الملف الراسترى المدخل"
 msgid "Delete the null file"
 msgstr "الملف الراسترى المدخل"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr ""
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr ""
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, fuzzy, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "كتابة ملف جديد...\n"
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr ""
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 #, fuzzy
 msgid "Done."
 msgstr "انتهى\n"
@@ -27805,32 +28474,12 @@ msgstr "درجة الوضوح"
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr "خلق خريطة فيكتورية بكنتورات محددة من خريطة راسترية"
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "المدى التزايدى بين مستويات الكنتور"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "عرض قائمة مستويات الكنتور"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "عرض قائمة مستويات الكنتور"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "مستوى الكنتور الأصغر"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "مستوى الكنتور الأقصى"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "اصغر عدد من النقاط لخط الكنتور"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -27841,30 +28490,32 @@ msgstr "طبقتين يجب تحديدهم"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, fuzzy, c-format
 msgid "Unable to create table: '%s'"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "<%s> لم يمكن فتح"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 #, fuzzy
 msgid "Writing attributes..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, fuzzy, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "لم يمكن حشر صف جديد: %s"
@@ -28714,11 +29365,6 @@ msgstr "اسم الخريطة الراسترية المدخلة"
 msgid "Size of point cache"
 msgstr "حجم رصيد النقط"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "اسم خريطة الراستر المخرجة"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29028,7 +29674,8 @@ msgstr "نوع العمود غير مدعم"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 #, fuzzy
 msgid "Unable to select data from table"
 msgstr "لم يمكن اختيار البيانات من الجدول"
@@ -29666,11 +30313,11 @@ msgstr "طباعة الأحصاء فى صورة شل سكربت"
 msgid "3D Raster map <%s> not found"
 msgstr "غير موجودة <%s> الخريطة الراسترية "
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr ""
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -29858,6 +30505,38 @@ msgstr ""
 msgid "Update range"
 msgstr "نطاق البيانات المخرجة"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "التباين"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "دمج الأحمر والأخضر والأزرق الى خريطة مركبة مفردة"
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "اسم الخريطة الراسترية المخرجة"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "حجم رصيد النقط"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "لم يتم حساب شبه مركز المساحة"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "خريطة الراستر االناتجة"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30016,6 +30695,147 @@ msgstr "الميعاد الزمنى ,الميعاد الزمنى الأولال
 msgid "Timestamp format is invalid"
 msgstr ""
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "لم توجد<%s>الخريطة الفيكتورية"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "عدم انشاء جدول الخواص"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "اسم الخريطة الراسترية المخرجة"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "اسم الخريطة الراسترية الناتجة"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s:خط %d:%s\n"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../raster3d/r3.flow/main.c:244
+msgid "Default unit is cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "طريقة الاستيفاء المستخدمة"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "لم تحدد خرائط مدخلة"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "اسم قاعدة بيانات المدخل"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "<%s> عدد مستويات الألوان المستخدمة فى"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "لم يمكن وصف الجدول"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "لم توجد<%s>الخريطة الفيكتورية"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "تغلب على الخريطة المخرجة"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30545,6 +31365,60 @@ msgstr "dig قراءة ملف...\n"
 msgid "Failed to find intersection segment"
 msgstr "%s لم يتم العثور على الخريطة الراسترية"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "%s:لم يتم الحشر بالجدول"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "الخريطة الراسترية المطلوب الضبط عليها"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "خريطة مخرجة حيث ستكتب النقاط"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "خريطة مخرجة حيث ستكتب النقاط"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "اسم الخريطة الراسترية الناتجة"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "%s بالمشغل %s لم يمكن فتح قاعدة البيانات"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "<%s> لم يمكن فتح"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "<%s> لم يمكن فتح"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30574,7 +31448,7 @@ msgstr "اسم الخريطة الراسترية المدخلة"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30587,8 +31461,8 @@ msgstr "اسم الخريطة الراسترية المدخلة"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30616,83 +31490,123 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "اسم الخريطة الراسترية الجديدة"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "اسم الملف المخرج"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "إحداثيات الشرق والشمال لنقطة البدء"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 #, fuzzy
 msgid "For operation 'nodes'"
 msgstr "نوع غير معروف"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "الخريطة الفيكتورية لنقاط الإنتهاء"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr " nv لون\n"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "نوع غير معروف"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "التباين"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "<%s>فى<%s>لم يمكن فتح الملف الفيكتورى"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d نقطة كتبت للمخرج\n"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "%-5d الخطوط قرأت وكتبت فى ملف المخرج\n"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "عدم انشاء جدول الخواص"
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -30713,8 +31627,9 @@ msgstr "%-5d تم تخطى فئات النقط الميت\n"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "اسم الجدول"
@@ -30749,9 +31664,9 @@ msgstr "اسم الخريطة الراسترية المحتوية على معل
 msgid "Name of column containing z coordinate"
 msgstr "اسم الخريطة الراسترية المحتوية على معلومات التكلفة لخلية الشبكة"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "مخرج متبادل البيتات"
@@ -30957,13 +31872,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "خريطة مخرجة حيث ستكتب النقاط"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "dig_att لم يمكن العثور على ملف"
@@ -31156,27 +32071,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "طباعة عناوين الفئة"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "طباعة عناوين الفئة"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31184,177 +32099,177 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "طبقتين يجب تحديدهم"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "اسم ااملف المخرج"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "اسم الخريطة الراسترية الناتجة"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "لم يمكن اختيار البيانات من الجدول"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "نوع العمود غير مدعم"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "cat = %d لا يوجد تسجيل للخط"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "الملف الراسترى المدخل"
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "بناء الدليل الفراغى ..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "التوقيع ..."
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 #, fuzzy
 msgid "Removing duplicates..."
 msgstr "الخريطة الفيكتورية لنقاط البدء"
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 #, fuzzy
 msgid "Breaking boundaries..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "لم يتم حساب شبه مركز المساحة"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "لم يتم حساب شبه مركز المساحة"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 #, fuzzy
 msgid "Attaching islands..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "لم يتم حساب شبه مركز المساحة"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "لم يتم حساب شبه مركز المساحة"
@@ -31650,7 +32565,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "الصفر قيمة حقيقية"
+msgstr "التوقيع ..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -31741,7 +32656,7 @@ msgstr "ملف المدخل"
 msgid "Not enough disk space--cannot write files"
 msgstr ""
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -31794,11 +32709,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -31809,15 +32725,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -31825,12 +32741,12 @@ msgstr ""
 msgid "Cost"
 msgstr "درجة الوضوح"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 #, fuzzy
 msgid "Node cost column (number)"
 msgstr "عدد الأعمدة"
@@ -31859,29 +32775,47 @@ msgstr "نوع المظهر"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "اسم الخريطة الراسترية الناتجة"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr " nv لون\n"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "أقصى مسافة من نقطة اارؤية بالأمتار"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr ""
@@ -31889,17 +32823,17 @@ msgstr ""
 "\n"
 "%d :عدد النقاط\n"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 #, fuzzy
 msgid "Cannot get line segment, segment out of line"
 msgstr "%s:لم يتم إنشاء الجدول"
@@ -32242,76 +33176,76 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "ملف المدخل"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "<%s>فى<%s>لم يمكن فتح الملف الفيكتورى"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 #, fuzzy
 msgid "Number of points to be created"
 msgstr "عدد النقاط المطلوب تخصيصها"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "dig عطل فى فتح ملف المدخل"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "اسم الخريطة الراسترية المحتوية على معلومات التكلفة لخلية الشبكة"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "كتابة ملف جديد...\n"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "نوع جدول الألوان"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 #, fuzzy
 msgid "Create 3D output"
 msgstr "مخرج متبادل البيتات"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, fuzzy, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "عدد النقاط المطلوب تخصيصها"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d نقطة كتبت للمخرج\n"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr ""
@@ -32320,28 +33254,28 @@ msgstr ""
 "#-#-#-#-#  grassmods_ar.po (grassmods_ar)  #-#-#-#-#\n"
 "اسم الملف الراسترى الموجود"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "استخدام المنطقة الحالية"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "استخدام المنطقة الحالية"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 #, fuzzy
 msgid "Generating points..."
 msgstr "الخريطة الفيكتورية لنقاط البدء"
@@ -32535,6 +33469,159 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "كتابة ملف جديد...\n"
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "اسم ملف ناتج التصنيف"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "لم يتم الثور على شيئ\n"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "ادخال القيم الصحيحة "
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "ادخال القيم الصحيحة "
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "القيمة العشوائية الكبري"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "الإنحراف المعيارى"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "%s:منطقة غير صالحة"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 msgid "Changes type of vector features."
 msgstr ""
@@ -32607,7 +33694,7 @@ msgstr "جداول النظام بدلا من جداول المستخدم"
 msgid "Force 2D output even if input is 3D "
 msgstr "اجبار المخرج للقيم الصحيحة"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -32829,6 +33916,182 @@ msgstr "لم يمكن اختيار البيانات من الجدول"
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "لم يتم الثور على شيئ\n"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "غير موجود <%s> الراستر"
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "اسم ملف ناتج التصنيف"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "اسم الملف الراسترى الموجود"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "أقصى مسافة من نقطة اارؤية بالأمتار"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "مضاهاة"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "حجم التجاور"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "dig قراءة ملف...\n"
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "كتابة ملف جديد...\n"
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "حجم التجاور"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "إدخال خريطة راسترية بينرية "
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "الإنحراف المعيارى"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "dig قراءة ملف...\n"
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "اسم خريطة الراستر المخرجة"
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "dig قراءة ملف...\n"
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "لم يتم الثور على شيئ\n"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "غير موجود <%s> الراستر"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "غير موجود <%s> الراستر"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -32898,7 +34161,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33192,14 +34455,8 @@ msgstr "%d حدثت من التسجيلات\n"
 msgid "Loading data..."
 msgstr "التوقيع ..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "لم توجد<%s>الخريطة الفيكتورية"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "غير موجودة <%s> المنطقة"
@@ -33255,17 +34512,17 @@ msgstr "%s لم يمكن فتح ملف المدى ل"
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "التوقيع ..."
@@ -33433,39 +34690,39 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "نوع غير معروف"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 #, fuzzy
 msgid "Node layer (used for cities)"
 msgstr "اسم الطبقة المستخدمة كدرجة لون"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "(1/0) اسم الملف البينرى "
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr ""
@@ -33473,41 +34730,41 @@ msgstr ""
 "\n"
 "%d :عدد النقاط\n"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 #, fuzzy
 msgid "Not enough cities (< 2)"
 msgstr "%c :نوع غير معروف"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "%-5d تم تخطى فئات النقط الميت\n"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "cat = %d لا يوجد تسجيل للخط"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "لم يتم الوصول للهدف\n"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
@@ -33679,6 +34936,21 @@ msgstr " خط أم مساحة"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "%s لم يمكن فتح "
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "نوع غير معروف"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "طباعة نوع الملف الراسترى فقط"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -33798,7 +35070,7 @@ msgid "Processing features..."
 msgstr "التوقيع ..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "لم يتم حساب شبه مركز المساحة"
@@ -33870,7 +35142,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
@@ -34273,7 +35545,7 @@ msgstr "%-5d تم تخطى فئات النقط الميت\n"
 msgid "%d records updated"
 msgstr "%d حدثت من التسجيلات\n"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, fuzzy, c-format
 msgid "%d update errors"
@@ -34382,9 +35654,10 @@ msgstr "نوع غير معروف"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "التوقيع ..."
 
 #: ../vector/v.transform/main.c:290
@@ -34810,7 +36083,7 @@ msgstr "%s لم يتم العثور على الخريطة الراسترية"
 msgid "Column type not supported, please use a column with double type"
 msgstr "نوع العمود غير مدعم"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "التوقيع ..."
@@ -34894,6 +36167,10 @@ msgstr "عدد الأعمدة"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr ""
 
@@ -34964,55 +36241,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "جداول النظام بدلا من جداول المستخدم"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "غير موجودة <%s> المنطقة"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "<%s>لم يتم العثور على الخريطة المدخلة\n"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "استخدام المنطقة الحالية"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "%-5d تم تخطى فئات النقط الميت\n"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, fuzzy, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d فئات محملة من الفيكتور\n"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d فئات متضاعفة فى الفيكتور\n"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, fuzzy, c-format
 msgid "%d categories loaded from table"
 msgstr "%d فئات محملة من الجدول\n"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, fuzzy, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d فئات من الفيكتور مفقودة من الجدول\n"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d حدثت من التسجيلات\n"
@@ -35882,54 +37164,63 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 #, fuzzy
 msgid "Prints vector map attributes."
 msgstr "طباعة عناوين الفئة"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 #, fuzzy
 msgid "Output vertical record separator"
 msgstr "فاصل التسجيل الراسى للمخرج "
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "dig قراءة ملف...\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "اسم الخريطة الراسترية الموجودة"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "<%s>فى<%s>لم يمكن فتح الملف الفيكتورى"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 #, fuzzy
 msgid "Unable to open select cursor"
 msgstr "لم يتم فتح إختيار المؤشر"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "لم يمكن اختيار البيانات من الجدول"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "<%s>لم يتم العثور على الخريطة المدخلة\n"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "طباعة عناوين الفئة"
@@ -36224,7 +37515,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d التسجيلات اختيرت من الجدول"
 msgstr[1] "%d التسجيلات اختيرت من الجدول"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "<%s> لم يمكن فتح"
@@ -36250,19 +37541,19 @@ msgstr "لم يتم الإتصال بقاعدة البيانات\n"
 msgid "Querying database... "
 msgstr "dig قراءة ملف...\n"
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 #, fuzzy
 msgid "Unable to fetch record"
 msgstr "لم يتم جلب البيانات"
@@ -36279,6 +37570,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
+
 #: ../vector/v.to.db/update.c:83
 #, fuzzy
 msgid "Updating database..."
@@ -36549,7 +37845,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr "لم يتم الإتصال بقاعدة البيانات\n"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "نوع العمود غير مدعم"
@@ -36569,58 +37866,58 @@ msgstr "%-5d تم تخطى فئات النقط الميت\n"
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, fuzzy, c-format
 msgid "No point with category [%d]"
 msgstr "%-5d تم تخطى فئات النقط الميت\n"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, fuzzy, c-format
 msgid "[%d] input format errors"
 msgstr "%d تحديث الخطا\n"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, fuzzy, c-format
 msgid "[%d] points of given category missing"
 msgstr "%-5d تم تخطى فئات النقط الميت\n"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 #, fuzzy
 msgid "Maximum distance to the network"
 msgstr "أقصى مسافة من نقطة اارؤية بالأمتار"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -37215,46 +38512,50 @@ msgstr "المسافة العظمى بين النقاط بوحدات الخري
 msgid "Add new vertices, but do not split"
 msgstr "كتابة ملف جديد...\n"
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "كتابة رؤوس قمم الخطوط"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "نوع غير معروف"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "درجة وضوح الخريطة المخرجة"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s:خط %d:%s\n"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s:خط %d:%s\n"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "عدد نقاط الإستيفاء"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "القيمة التى تعنى قيمة منعدمة"
@@ -37350,11 +38651,6 @@ msgstr "لم توجد<%s>الخريطة الفيكتورية"
 msgid "Reading categories..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "التوقيع ..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37531,7 +38827,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "استيفاء النقاط بين رؤوس قمم الخطوط"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "<%s> لم يمكن فتح"
@@ -37790,220 +39086,241 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "إعادة توقيع خريطة راسترية من مكان إلى المكان الحالى"
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 #, fuzzy
 msgid "Location containing input vector map"
 msgstr "الخريطة الفيكتورية لنقاط البدء"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 #, fuzzy
 msgid "Mapset containing input vector map"
 msgstr "اسم مجموعة الخرائط للخريطة المدخلة"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "اسم الخريطة الراسترية المدخلة"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "اسم مجموعة الخرائط للخريطة المدخلة"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 #, fuzzy
 msgid "3D vector maps only"
 msgstr "<%s>لم يتم العثور على الخريطة المدخلة\n"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "إدخال خريطة راسترية بينرية "
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "لم توجد<%s>الخريطة الفيكتورية"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 #, fuzzy
 msgid "Reading input vector map"
 msgstr "dig عطل فى فتح ملف المدخل"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "لم توجد<%s>الخريطة الفيكتورية"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr "ادخال ملف راسترى ثنائى كطبقة خريطة راسترية جراسية"
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 #, fuzzy
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "خريطة مخرجة حيث ستكتب النقاط"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "dig قراءة ملف...\n"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "عدم انشاء جدول الخواص"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 #, fuzzy
 msgid "Key columns differ"
 msgstr "عدد الأعمدة"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 #, fuzzy
 msgid "Number of columns differ"
 msgstr "عدد الأعمدة"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 #, fuzzy
 msgid "Column types differ"
 msgstr "نوع العمود غير مدعم"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 #, fuzzy
 msgid "Length of string columns differ"
 msgstr "عدد الأعمدة"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 #, fuzzy
 msgid "Key column not found"
 msgstr "غير موجودة <%s> المنطقة"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 #, fuzzy
 msgid "The output map is not 3D"
 msgstr "نطاق البيانات المخرجة"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, fuzzy, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "dig قراءة ملف...\n"
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "%d حدثت من التسجيلات\n"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, fuzzy, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "لم يتم فتح إختيار المؤشر"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 #, fuzzy
 msgid "Cannot fetch row"
 msgstr "لم يتم جلب البيانات"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 #, fuzzy
 msgid "Unknown column type"
 msgstr "نوع غير معروف"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, fuzzy, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "لم يمكن حشر صف جديد: %s"
@@ -38679,309 +39996,304 @@ msgstr[1] "%-5d أشباه المراكز قرات\n"
 msgid "Operation not implemented"
 msgstr "غير موجودة <%s> المنطقة"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "ادخال ملف راسترى ثنائى كطبقة خريطة راسترية جراسية"
 
-#: ../vector/v.in.ogr/main.c:142
-#, fuzzy
-msgid "OGR datasource name"
-msgstr "اسم قاعدة البيانات"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
 "\t\tMapInfo File: directory containing mapinfo files"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
 "\t\tMapInfo File: mapinfo file name"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 #, fuzzy
 msgid "Import subregion only"
 msgstr "طباعة نوع الملف الراسترى فقط"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "القيمة المدخلة : أصغر حجم من محددات  مياه الأحواض الخارجية"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "اسم خريطة الراستر المخرجة"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "اسم الطبقة المستخدمة كدرجة لون"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "لم يتم حساب شبه مركز المساحة"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "<%s> اسم الملف المستخدم لل"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "عدد الأعمدة"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "%-5d فئات النقط قرات\n"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "اجبار المخرج للقيم الصحيحة"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 #, fuzzy
 msgid "Limit import to the current region"
 msgstr "استخدام المنطقة الحالية"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, fuzzy, c-format
 msgid "Unable to open data source <%s>"
 msgstr "<%s> لم يمكن فتح"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, fuzzy, c-format
 msgid "Layer <%s> not available"
 msgstr "اسم الخريطة الراسترية"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "اسم الخريطة الراسترية"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr " 2-%d اسماء الخرائط المدخلة"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "غير موجودة <%s> المنطقة"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "اسم الخريطة الراسترية الناتجة"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "غير موجودة <%s> المنطقة"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "نوع العمود غير مدعم"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "غير موجودة <%s> المنطقة"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
+#: ../vector/v.in.ogr/main.c:1128
 #, fuzzy, c-format
-msgid "Column type not supported (%s)"
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "نوع العمود غير مدعم"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%-5d تم تخطى فئات النقط الميت\n"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "التوقيع ..."
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 #, fuzzy
 msgid "Cleaning boundaries at nodes..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 #, fuzzy
 msgid "Writing centroids..."
 msgstr "كتابة رؤوس قمم الخطوط"
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -38989,99 +40301,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "وصل الفئات...\n"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "%-5d تم تخطى فئات النقط الميت\n"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "%-5d تم تخطى فئات النقط الميت\n"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "حجم التجاور"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "<%s> لم يمكن فتح"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -39128,17 +40440,21 @@ msgstr "%s:لم يتم إنشاء الجدول"
 msgid "Unknown geometry type"
 msgstr "نوع غير معروف"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "اسم الملف المخرج"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "الملف الراسترى الطلوب إدخالة"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -39146,22 +40462,22 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "اسم خريطة الراستر المخرجة"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "عرض ملفات الراستر للموقع والخروج"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -39212,7 +40528,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "%s:منطقة غير صالحة"
+msgstr "عدد الأعمدة"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -39221,17 +40537,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "ادخال ملف راسترى ثنائى كطبقة خريطة راسترية جراسية"
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "%s:لم يتم إنشاء الجدول"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "dig_att لم يمكن العثور على ملف"
@@ -39369,50 +40685,50 @@ msgstr "<%s> لم يمكن فتح"
 msgid "Unable to close new 3d raster map"
 msgstr "اسم الخريطة الراسترية المدخلة"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "لم توجد<%s>الخريطة الفيكتورية"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr ""
@@ -39420,11 +40736,11 @@ msgstr ""
 "\n"
 "%d :عدد النقاط\n"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
@@ -39583,6 +40899,135 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "لم يتم الإتصال بقاعدة البيانات\n"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "cat = %d لا يوجد تسجيل للخط"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "cat = %d لا يوجد تسجيل للخط"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "غير موجودة <%s> المنطقة"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "تحويل راستر جراسى الى بينرى"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "ادخال ملف راسترى ثنائى كطبقة خريطة راسترية جراسية"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%-5d فئات الخط قرات\n"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "عدم انشاء جدول الخواص"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "عدم انشاء جدول الخواص"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "عدم انشاء جدول الخواص"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "لم توجد<%s>الخريطة الفيكتورية"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "عدد الأعمدة"
+
+#: ../vector/v.out.lidar/main.c:588
+msgid "Column with red color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "استخدام المنطقة الحالية"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "اسم الخريطة الراسترية الجديدة"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -39778,7 +41223,7 @@ msgstr "حساب الظلال من نموذج الإرتفاعت الرقمى"
 msgid "Invalid segment number %d for %d points"
 msgstr "عدد نقاط الإستيفاء"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "طبقتين يجب تحديدهم"
@@ -40101,50 +41546,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "غير موجود <%s> الراستر"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "[%s]لم يتم فتح ملف الخلية ل "
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "%s بالمشغل %s لم يمكن فتح قاعدة البيانات"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "ادخال ملف راسترى ثنائى كطبقة خريطة راسترية جراسية"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "عدم انشاء جدول الخواص"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "اسم خريطة النقط الفيكتورية المخرجة"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "اسم الملف الراسترى الموجود"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "ادخال القيم الصحيحة "
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "مضاهاة"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "ادخال القيم الصحيحة "
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "الخريطة الفيكتورية لنقاط البدء"
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "عدد نقاط الإستيفاء"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "الخريطة المدخلة حاوية الخطوط"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "الإحداثى الشمالى للخريطة\n"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "عدم انشاء جدول الخواص"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "%s بالمشغل %s لم يمكن فتح قاعدة البيانات"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "اسم الخريطة الراسترية"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
+msgstr "الخريطة الفيكتورية لنقاط البدء"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %lu points..."
 msgstr "الخريطة الفيكتورية لنقاط البدء"
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:755
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu points imported"
 msgstr "%d نقاط تم تحميلها\n"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:789
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered out by return number"
 msgstr "%d نقاط تم تحميلها\n"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:791
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were filtered out by class number"
 msgstr "%d نقاط تم تحميلها\n"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d نقاط تم تحميلها\n"
 
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d نقاط تم تحميلها\n"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "الإحداثيات للإستفهام"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40308,7 +41940,7 @@ msgid ""
 msgstr "خريطة مخرجة حيث ستكتب النقاط"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -41316,11 +42948,6 @@ msgstr "اسم الخريطة الراسترية المدخلة"
 msgid "Resolving conflicts..."
 msgstr "الخريطة الفيكتورية لنقاط البدء"
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "كتابة ملف جديد...\n"
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -41499,57 +43126,57 @@ msgstr "عدد نقاط الإستيفاء"
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, fuzzy, c-format
 msgid "Generalization (%s)..."
 msgstr "كتابة ملف جديد...\n"
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "اسم ااملف المخرج"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr ""
@@ -41599,58 +43226,6 @@ msgstr ""
 #~ msgstr "عدد الصفوف"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "اسم الخريطة ااراسترية الكنتورية"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "اسم الخريطة ااراسترية الكنتورية"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr "إخراج ملف الإشعاع المنتشرالراسترى"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr "إخراج ملف الإشعاع المنتشرالراسترى"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "اسم ملف الإرتفاعات الراسترى"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "اسم ملف الإرتفاعات الراسترى"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr "اسم ملف الإرتفاعات الراسترى"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr "إخراج ملف الإشعاع المنتشرالراسترى"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "عدد نقاط الإستيفاء"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "تغلب على الإسقاط مستخدما إسقاط الموقع"
-
-#, fuzzy
 #~ msgid "Location: %s\n"
 #~ msgstr "%s لم يمكن فتح "
 
@@ -41659,20 +43234,20 @@ msgstr ""
 #~ msgstr "%s"
 
 #, fuzzy
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "غير موجودة <%s> المنطقة"
+#~ msgid "Could not rewind input file"
+#~ msgstr "<%s>لم يتم العثور على الخريطة المدخلة\n"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "الخريطة المخرجة"
+#~ msgid "Name for basins raster map"
+#~ msgstr "اسم الخريطة الراسترية"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "خريطة الدليل الطبوغرافى"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "<%s>فى<%s>لم يمكن فتح الملف الفيكتورى"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "اسم الخريطة الراسترية"
+#~ msgid "output map <%s> exists"
+#~ msgstr "الخريطة المخرجة"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "%d طول الصفحة بالخط والأساس  "
@@ -41680,6 +43255,9 @@ msgstr ""
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "%d عرض الصفحة بالحرف والأساس "
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "تغلب على الإسقاط مستخدما إسقاط الموقع"
+
 #, fuzzy
 #~ msgid "%s: Error writing temporary file"
 #~ msgstr "خطا فى محاولة قراءة ملف قاعدة البيانات dbmscap\n"
@@ -41697,6 +43275,28 @@ msgstr ""
 #~ msgstr "غير موجود <%s> الراستر"
 
 #, fuzzy
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "غير موجودة <%s> المنطقة"
+
+#, fuzzy
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "تغلب على الإسقاط مستخدما إسقاط الموقع"
+
+#, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "%s:لم يتم إنشاء الجدول"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "تحويل خريطة راسترية إلى فيكتورية"
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "الفاصل الحقلى بين بيانات المخرج"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "اسم الخريطة الراسترية الناتجة"
 
@@ -41731,92 +43331,52 @@ msgstr ""
 #~ msgstr "ضبط من المنطقة الحالية"
 
 #, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "الفاصل الحقلى بين بيانات المخرج"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "<%s>فى<%s>لم يمكن فتح الملف الفيكتورى"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "تحويل خريطة راسترية إلى فيكتورية"
+#~ msgid "OGR datasource name"
+#~ msgstr "اسم قاعدة البيانات"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "لم تحدد خرائط مدخلة"
 
 #, fuzzy
-#~ msgid "Renaming reclass maps"
-#~ msgstr "خريطة الراستر االناتجة"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "%s لم يمكن فتح ملف المدى ل"
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d فئات محملة من الجدول\n"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "طبقتين يجب تحديدهم"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "اسم الملف المخرج"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
 #, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "طبقتين يجب تحديدهم"
+#~ msgid "Env file not found"
+#~ msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
 
 #, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "اسم الملف المخرج"
+#~ msgid "PID file not found"
+#~ msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
 
 #, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "اسم الملف المخرج"
+#~ msgid "Command file not found"
+#~ msgstr "غير موجودة <%s> المنطقة"
 
 #, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "اسم الملف المخرج"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "خريطة الراستر االناتجة"
 
 #, fuzzy
-#~ msgid "Please specify input= and datapos="
+#~ msgid "Name for output image"
 #~ msgstr "اسم الملف المخرج"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "طبقتين يجب تحديدهم"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "طبقتين يجب تحديدهم"
-
-#, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr "طبقتين يجب تحديدهم"
-
-#, fuzzy
-#~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr "اختيار الخط الذى سيعرض به النص على الشاشة"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "%s لم يمكن فتح ملف المدى ل"
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "عرض الهيئات المدعمة والخروج"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d فئات محملة من الجدول\n"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
 #~ msgstr "اسم الخريطة الراسترية المخرجة"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "إخراج مسافات العلامات العظمى"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -41860,32 +43420,74 @@ msgstr ""
 #~ msgstr "مترى"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr "اسم الخريطة الراسترية المخرجة"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "إخراج مسافات العلامات العظمى"
+#~ msgid "Default: input"
+#~ msgstr "المسافة العظمى بين النقاط بوحدات الخريطة"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "التوقيع ..."
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr "اختيار الخط الذى سيعرض به النص على الشاشة"
 
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "اسم الخريطة الراسترية الناتجة"
+#~ msgid "Text color or \"none\""
+#~ msgstr " اللون الأساس\n"
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "[%s]لم يتم فتح ملف الخلية ل "
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "عرض الهيئات المدعمة والخروج"
 
 #, fuzzy
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "خطأ نظام: كود غير متوافق"
+#~ msgid "flowline"
+#~ msgstr "لم توجد<%s>الخريطة الفيكتورية"
+
+#~ msgid "Failed opening input dig file."
+#~ msgstr "dig عطل فى فتح ملف المدخل"
+
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "dig_att لم يمكن العثور على ملف"
+
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "dig_att عطل فى فتح ملف المدخل"
 
 #, fuzzy
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "خطأ نظام: كود غير متوافق"
+#~ msgid "Attaching categories..."
+#~ msgstr "وصل الفئات...\n"
+
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "(فئة %d) عطل فى وصل خاصية لخط"
+
+#, fuzzy
+#~ msgid "Writing new file..."
+#~ msgstr "كتابة ملف جديد...\n"
+
+#, fuzzy
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "%-5d النقط والخطوط كتبت فى ملف المخرج\n"
+
+#, fuzzy
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "%-5d أشباه المراكز كتبت فى ملف المخرج\n"
+
+#, fuzzy
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "اسم الخريطة الراسترية المدخلة"
+
+#, fuzzy
+#~ msgid "Endian of input vector map"
+#~ msgstr "اسم الخريطة الراسترية المدخلة"
+
+#, fuzzy
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr "لم توجد عناوين فئات, لم يتم إنشاء الجدول\n"
+
+#, fuzzy
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
 #, fuzzy
 #~ msgid "Reading dig file..."
@@ -41986,112 +43588,126 @@ msgstr ""
 #~ msgstr "%-5d الفئات قرأت فى الذاكرة\n"
 
 #, fuzzy
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr "لم توجد عناوين فئات, لم يتم إنشاء الجدول\n"
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "خطأ نظام: كود غير متوافق"
 
 #, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "[%s]لم يتم فتح ملف الخلية ل "
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "dig عطل فى فتح ملف المدخل"
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "dig_att لم يمكن العثور على ملف"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "خطأ نظام: كود غير متوافق"
 
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "dig_att عطل فى فتح ملف المدخل"
+#, fuzzy
+#~ msgid "One or more coordinates"
+#~ msgstr "استخدام احداثيات مركز الخريطة\n"
 
 #, fuzzy
-#~ msgid "Attaching categories..."
-#~ msgstr "وصل الفئات...\n"
+#~ msgid "Name of elevation map"
+#~ msgstr "اسم ملف الإرتفاعات الراسترى"
 
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "(فئة %d) عطل فى وصل خاصية لخط"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "الزخرفة الممثلة لخلية بدون بيانات"
 
 #, fuzzy
-#~ msgid "Writing new file..."
-#~ msgstr "كتابة ملف جديد...\n"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "طبقتين يجب تحديدهم"
 
 #, fuzzy
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "%-5d النقط والخطوط كتبت فى ملف المخرج\n"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "%c :نوع غير معروف"
 
 #, fuzzy
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "%-5d أشباه المراكز كتبت فى ملف المخرج\n"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "%s لم يتم العثور على الخريطة الراسترية"
 
 #, fuzzy
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "اسم الخريطة الراسترية المدخلة"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "%s لم يتم العثور على الخريطة الراسترية"
 
-#, fuzzy
-#~ msgid "Endian of input vector map"
-#~ msgstr "اسم الخريطة الراسترية المدخلة"
+#~ msgid "String representing no data cell value"
+#~ msgstr "الزخرفة المستخدمة لتمثيل قيمة الخلية بدون بيانات"
 
 #, fuzzy
-#~ msgid "Unknown raster map type"
-#~ msgstr "طباعة نوع الملف الراسترى فقط"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "وسيلة إستيفاء السطح لخريطة راسترية"
 
 #, fuzzy
-#~ msgid "Can't call bad function"
-#~ msgstr "لم يتم انشاء الدليل"
+#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
+#~ msgstr "وصف مبسط للملف الراسترى المخرج"
 
 #, fuzzy
-#~ msgid "Performing map %s + %s"
-#~ msgstr "خريطة الإرتفاعات"
+#~ msgid ""
+#~ "Computes anisotropic cumulative cost of moving between different "
+#~ "geographic locations on an input elevation raster map whose cell category "
+#~ "values represent elevation combined with an input raster map layer whose "
+#~ "cell values represent friction cost."
+#~ msgstr ""
+#~ "طبقة الخريطة الراسترية التى توضح التكلفة التجمعية المتحركة بين اماكن "
+#~ "جغرافية مختلفة على طبقة خريطة راسترية  تمثل قيم فئة خليتها التكلفة"
 
-#, fuzzy
-#~ msgid "One or more coordinates"
-#~ msgstr "استخدام احداثيات مركز الخريطة\n"
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "اسم الطبقة المستخدمة كشدة"
 
-#, fuzzy
-#~ msgid "Cannot create quaddata"
-#~ msgstr "لم يتم انشاء الدليل"
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "اسم الطبقة المستخدمة كتشبع"
 
-#, fuzzy
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "لم يتم انشاء الدليل"
+#~ msgid "Name of output layer to be used for GREEN"
+#~ msgstr "اسم الطبقة المخرجة كلون أخضر"
+
+#~ msgid "Name of output layer to be used for BLUE"
+#~ msgstr "اسم الطبقة المخرجة كلون أزرق"
+
+#~ msgid "Surface generation program."
+#~ msgstr "برنامج انشاء السطح"
 
 #, fuzzy
-#~ msgid "Cannot create tree"
-#~ msgstr "لم يتم انشاء الدليل"
+#~ msgid "%s=%s - illegal number of interpolation points"
+#~ msgstr "عدد نقاط الإستيفاء"
 
 #, fuzzy
-#~ msgid "Cannot create tree info"
-#~ msgstr "لم يتم انشاء الدليل"
+#~ msgid "Interpolating raster map <%s>... %d row... "
+#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
+#~ msgstr[0] "خريطة الراستر االناتجة"
+#~ msgstr[1] "خريطة الراستر االناتجة"
 
 #, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "تحويل خريطة راسترية إلى فيكتورية"
+#~ msgid "Output z-file (elevation) map"
+#~ msgstr "خريطة الإرتفاعات"
 
 #, fuzzy
-#~ msgid "Site file <%s> not found"
-#~ msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
+#~ msgid "Output aspect map (or fy)"
+#~ msgstr "اسم خريطة الراستر المخرجة"
 
 #, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "ملف المدخل"
+#~ msgid "Prefix for output raster map(s)"
+#~ msgstr "اسم الخريطة الراسترية المخرجة"
 
 #, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "لم يتم حساب شبه مركز المساحة"
+#~ msgid "String to represent no data cell"
+#~ msgstr "الزخرفة الممثلة لخلية بدون بيانات"
+
+#~ msgid "Character to represent no data cell"
+#~ msgstr "الحرف الممثل لخلية بدون بيانات"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr ""
-#~ "\n"
-#~ "يتم الآن تحويل الفيكتورات ...\n"
+#~ msgid "Binary raster file to be imported"
+#~ msgstr "الملف الراسترى الطلوب إدخالة"
+
+#~ msgid "Name of spread path raster map"
+#~ msgstr "اسم الخريطة الراسترية لطريق الإنتشار"
+
+#~ msgid "Run verbosely"
+#~ msgstr "تنفيذ بإسهاب"
 
 #, fuzzy
-#~ msgid "%d sites written."
-#~ msgstr "%d نقطة كتبت للمخرج\n"
+#~ msgid "%s available in mapset <%s>:"
+#~ msgstr "عرض الهيئات المدعمة والخروج"
 
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "اسم الطبقة المستخدمة كشدة"
+#, fuzzy
+#~ msgid "Null value indicator"
+#~ msgstr "مؤشر القيمة المنعدمة"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "اسم الطبقة المستخدمة كتشبع"
+#, fuzzy
+#~ msgid "Suppress warnings"
+#~ msgstr "تخطى رؤوس الصفحات"
 
 #, fuzzy
 #~ msgid ""
@@ -42108,41 +43724,40 @@ msgstr ""
 #~ msgstr "اسم الملف الراسترى الموجود"
 
 #, fuzzy
-#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
-#~ msgstr "وصف مبسط للملف الراسترى المخرج"
+#~ msgid "Name of input raster map(s)"
+#~ msgstr "اسم الخريطة الراسترية المدخلة"
 
 #, fuzzy
-#~ msgid ""
-#~ "Computes anisotropic cumulative cost of moving between different "
-#~ "geographic locations on an input elevation raster map whose cell category "
-#~ "values represent elevation combined with an input raster map layer whose "
-#~ "cell values represent friction cost."
-#~ msgstr ""
-#~ "طبقة الخريطة الراسترية التى توضح التكلفة التجمعية المتحركة بين اماكن "
-#~ "جغرافية مختلفة على طبقة خريطة راسترية  تمثل قيم فئة خليتها التكلفة"
+#~ msgid "The output type of the space time dataset"
+#~ msgstr "اسم الخريطة الراسترية الجديدة"
 
-#~ msgid "Name of output layer to be used for GREEN"
-#~ msgstr "اسم الطبقة المخرجة كلون أخضر"
+#, fuzzy
+#~ msgid "Type of the aggregation space time dataset, default is strds"
+#~ msgstr "اسم الخريطة الراسترية الجديدة"
 
-#~ msgid "Name of output layer to be used for BLUE"
-#~ msgstr "اسم الطبقة المخرجة كلون أزرق"
+#, fuzzy
+#~ msgid "Prefix for output raster maps (default: input)"
+#~ msgstr "اسم خريطة الراستر المخرجة"
 
 #, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "وسيلة إستيفاء السطح لخريطة راسترية"
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr "حساب إحصائيات المتغير الأحادى من خلايا ذات قيمة بالخريطة الراسترية"
 
-#~ msgid "Surface generation program."
-#~ msgstr "برنامج انشاء السطح"
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "عرض الهيئات المدعمة والخروج"
 
 #, fuzzy
-#~ msgid "%s=%s - illegal number of interpolation points"
-#~ msgstr "عدد نقاط الإستيفاء"
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "عرض الهيئات المدعمة والخروج"
 
 #, fuzzy
-#~ msgid "Interpolating raster map <%s>... %d row... "
-#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
-#~ msgstr[0] "خريطة الراستر االناتجة"
-#~ msgstr[1] "خريطة الراستر االناتجة"
+#~ msgid "Invalid distance"
+#~ msgstr "%s:منطقة غير صالحة"
 
 #, fuzzy
 #~ msgid "allocation"
@@ -42153,114 +43768,123 @@ msgstr ""
 #~ msgstr "dig قراءة ملف...\n"
 
 #, fuzzy
-#~ msgid "Name of elevation map"
-#~ msgstr "اسم ملف الإرتفاعات الراسترى"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "الزخرفة الممثلة لخلية بدون بيانات"
+#~ msgid "Please specify input= or file="
+#~ msgstr "اسم الملف المخرج"
 
 #, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
+#~ msgid "Either -p or output= must be given"
 #~ msgstr "طبقتين يجب تحديدهم"
 
 #, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "طبقتين يجب تحديدهم"
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "اسم الملف المخرج"
 
 #, fuzzy
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "%c :نوع غير معروف"
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "اسم الملف المخرج"
 
 #, fuzzy
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "%s لم يتم العثور على الخريطة الراسترية"
+#~ msgid "Please specify input= or infile="
+#~ msgstr "اسم الملف المخرج"
 
 #, fuzzy
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "%s لم يتم العثور على الخريطة الراسترية"
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "اسم الملف المخرج"
 
-#~ msgid "String representing no data cell value"
-#~ msgstr "الزخرفة المستخدمة لتمثيل قيمة الخلية بدون بيانات"
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "التوقيع ..."
 
 #, fuzzy
-#~ msgid "Output z-file (elevation) map"
-#~ msgstr "خريطة الإرتفاعات"
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "طبقتين يجب تحديدهم"
 
 #, fuzzy
-#~ msgid "Output aspect map (or fy)"
-#~ msgstr "اسم خريطة الراستر المخرجة"
+#~ msgid "High Pass Filter Options"
+#~ msgstr "مضاهاة"
 
 #, fuzzy
-#~ msgid "Prefix for output raster map(s)"
-#~ msgstr "اسم الخريطة الراسترية المخرجة"
+#~ msgid "Name of elevation raster map"
+#~ msgstr "اسم ملف الإرتفاعات الراسترى"
 
 #, fuzzy
-#~ msgid "String to represent no data cell"
-#~ msgstr "الزخرفة الممثلة لخلية بدون بيانات"
+#~ msgid "coordinates of the outlet (east,north)"
+#~ msgstr "إحداثيات الشرق والشمال لنقطة البدء"
 
-#~ msgid "Character to represent no data cell"
-#~ msgstr "الحرف الممثل لخلية بدون بيانات"
+#, fuzzy
+#~ msgid "No maps output"
+#~ msgstr "اسم الخريطة المخرجة"
 
 #, fuzzy
-#~ msgid "Binary raster file to be imported"
-#~ msgstr "الملف الراسترى الطلوب إدخالة"
+#~ msgid "Cannot create quaddata"
+#~ msgstr "لم يتم انشاء الدليل"
 
-#~ msgid "Name of spread path raster map"
-#~ msgstr "اسم الخريطة الراسترية لطريق الإنتشار"
+#, fuzzy
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "لم يتم انشاء الدليل"
 
-#~ msgid "Run verbosely"
-#~ msgstr "تنفيذ بإسهاب"
+#, fuzzy
+#~ msgid "Cannot create tree"
+#~ msgstr "لم يتم انشاء الدليل"
 
 #, fuzzy
-#~ msgid "%s available in mapset <%s>:"
-#~ msgstr "عرض الهيئات المدعمة والخروج"
+#~ msgid "Cannot create tree info"
+#~ msgstr "لم يتم انشاء الدليل"
 
 #, fuzzy
-#~ msgid "Null value indicator"
-#~ msgstr "مؤشر القيمة المنعدمة"
+#~ msgid "Unable To create table: %s"
+#~ msgstr "[%s]لم يتم فتح ملف الخلية ل "
 
 #, fuzzy
-#~ msgid "Suppress warnings"
-#~ msgstr "تخطى رؤوس الصفحات"
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "طبقتين يجب تحديدهم"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "مضاهاة"
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "طبقتين يجب تحديدهم"
 
 #, fuzzy
-#~ msgid "Name of input raster map(s)"
-#~ msgstr "اسم الخريطة الراسترية المدخلة"
+#~ msgid "Option <%s> must be specified"
+#~ msgstr "طبقتين يجب تحديدهم"
 
 #, fuzzy
-#~ msgid "The output type of the space time dataset"
-#~ msgstr "اسم الخريطة الراسترية الجديدة"
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "تحويل خريطة راسترية إلى فيكتورية"
 
 #, fuzzy
-#~ msgid "Type of the aggregation space time dataset, default is strds"
-#~ msgstr "اسم الخريطة الراسترية الجديدة"
+#~ msgid "Site file <%s> not found"
+#~ msgstr "غير موجود <%s>الملف للمنظر ثلاثى الأبعاد "
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (default: input)"
-#~ msgstr "اسم خريطة الراستر المخرجة"
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "ملف المدخل"
 
 #, fuzzy
-#~ msgid "Name of elevation raster map"
-#~ msgstr "اسم ملف الإرتفاعات الراسترى"
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "لم يتم حساب شبه مركز المساحة"
 
 #, fuzzy
-#~ msgid "coordinates of the outlet (east,north)"
-#~ msgstr "إحداثيات الشرق والشمال لنقطة البدء"
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr ""
+#~ "\n"
+#~ "يتم الآن تحويل الفيكتورات ...\n"
 
 #, fuzzy
-#~ msgid "No maps output"
-#~ msgstr "اسم الخريطة المخرجة"
+#~ msgid "%d sites written."
+#~ msgstr "%d نقطة كتبت للمخرج\n"
 
 #, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr "حساب إحصائيات المتغير الأحادى من خلايا ذات قيمة بالخريطة الراسترية"
+#~ msgid "Performing map %s + %s"
+#~ msgstr "خريطة الإرتفاعات"
 
 #, fuzzy
-#~ msgid "Invalid distance"
-#~ msgstr "%s:منطقة غير صالحة"
+#~ msgid "Can't call bad function"
+#~ msgstr "لم يتم انشاء الدليل"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "اسم الخريطة الراسترية الناتجة"
+
+#, fuzzy
+#~ msgid "Unknown raster map type"
+#~ msgstr "طباعة نوع الملف الراسترى فقط"
diff --git a/locale/po/grassmods_cs.po b/locale/po/grassmods_cs.po
index 847f2e5..ee26b0e 100644
--- a/locale/po/grassmods_cs.po
+++ b/locale/po/grassmods_cs.po
@@ -9,16 +9,15 @@
 # Miroslav Hořejší <miroslav.horejsi at fsv.cvut.cz>, 2009/01.
 # Pavel Valenta <pavel.valenta at fsv.cvut.cz>, 2009/01.
 # Lukáš Bocan <lukas.bocan at fsv.cvut.cz>, 2013.
-# Stanislav Horáček <stanislav.horacek at gmail.com>, 2015.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_cs\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-03-15 18:32+0100\n"
-"Last-Translator: Stanislav Horáček <stanislav.horacek at gmail.com>\n"
-"Language-Team: <freegeocz at fsv.cvut.cz>\n"
+"Last-Translator: \n"
+"Language-Team:  <cs at li.org>\n"
 "Language: cs_CS\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -29,10 +28,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -50,6 +49,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -78,12 +78,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -129,7 +130,7 @@ msgstr "Při vykreslování respektuj NULLové hodnoty"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -137,14 +138,16 @@ msgid "Color file for <%s> not available"
 msgstr "Soubor s tabulkou barev pro <%s> není dostupný"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -163,7 +166,9 @@ msgstr "Soubor s tabulkou barev pro <%s> není dostupný"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -184,7 +189,7 @@ msgstr "Soubor s tabulkou barev pro <%s> není dostupný"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -196,7 +201,7 @@ msgstr "Soubor s tabulkou barev pro <%s> není dostupný"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -220,17 +225,17 @@ msgstr "Soubor s tabulkou barev pro <%s> není dostupný"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -241,7 +246,7 @@ msgstr "Soubor s tabulkou barev pro <%s> není dostupný"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -393,10 +398,13 @@ msgstr "Nahlaš informace o vstupním rastru a ukonči se"
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "Vstup"
 
@@ -442,22 +450,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Barva textu"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Nastavení"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Název písma"
 
@@ -471,12 +481,14 @@ msgstr "Název písma"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 #, fuzzy
 msgid "Path to font file"
 msgstr "Cesta k výslednému souboru VTK"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -571,14 +583,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -625,11 +643,11 @@ msgstr "Titulek pro novou rastrovou mapu"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -707,23 +725,26 @@ msgstr "Seznam kategorií, které budou zobrazeny (celočíselné mapy)"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -733,14 +754,19 @@ msgstr "Seznam kategorií, které budou zobrazeny (celočíselné mapy)"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -790,50 +816,51 @@ msgstr "%s: neplatná hodnota pro spec"
 msgid "[%s]: No such color"
 msgstr ""
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 #, fuzzy
 msgid "monitors"
 msgstr "Seznam vrstevnic (isolinií)"
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Nahlaš informace o vstupním rastru a ukonči se"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 #, fuzzy
 msgid "Display screen rectangle of current region"
 msgstr "Použij aktuální region"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -841,31 +868,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -875,10 +903,10 @@ msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -892,7 +920,7 @@ msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Nelze otevřít databázi <%s> ovladačem <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -916,7 +944,7 @@ msgstr "Typ hrany grafu"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr ""
 
@@ -959,7 +987,12 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr "Vytiskne transfoemační matici na standartní výstup"
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Vytvořit 3D výstup"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -967,20 +1000,22 @@ msgstr "Vytiskne transfoemační matici na standartní výstup"
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -995,40 +1030,40 @@ msgstr "Vytiskne transfoemační matici na standartní výstup"
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nelze otevřít vektorovou mapu <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1055,11 +1090,6 @@ msgstr "Počáteční pár souřadnic"
 msgid "Line color"
 msgstr " nv barva\n"
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr "Barva textu"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1118,12 +1148,15 @@ msgstr ""
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1142,17 +1175,18 @@ msgstr ""
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1165,10 +1199,10 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1176,21 +1210,22 @@ msgstr ""
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "vektor"
 
@@ -1236,16 +1271,18 @@ msgstr "Vektorová mapa <%s> nebyla nalezena"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1257,22 +1294,22 @@ msgstr "Vektorová mapa <%s> nebyla nalezena"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1326,10 +1363,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1380,41 +1417,41 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Název rastrové mapy, která má být použita pro <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Provádím logaritmickou transforamci"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 #, fuzzy
 msgid "Grid color"
 msgstr "Barva rámečku"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr ""
 "Počet míst za desetinnou čárkou (pouze pro mapy s plovoucí desetinnou čárkou)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Neindexovat body podle rastrových buněk "
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1423,7 +1460,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1431,7 +1468,7 @@ msgstr[0] "Barva rámečku"
 msgstr[1] "Barva rámečku"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1439,77 +1476,77 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 #, fuzzy
 msgid "Name of raster aspect map to be displayed"
 msgstr "Název rastrové mapy která bude zobrazena"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 #, fuzzy
 msgid "Type of existing raster aspect map"
 msgstr "Název existující rastrové mapy"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Barva pro vykreslení Xek (nullové hodnoty)"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Barva pro vykreslení Xek (nullové hodnoty)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 #, fuzzy
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Měřítkový faktor pro výškový model"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 #, fuzzy
 msgid "Illegal value for scale factor"
 msgstr "Neplatná hodnota pro null"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "Neplatná hodnota pro '%s' (%s)"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 #, fuzzy
 msgid "Scale option requires magnitude_map"
 msgstr "Tato volba vyžaduje jeden sloupec"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "Nelze číst soubor s rozsahem"
@@ -1639,17 +1676,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1657,7 +1694,7 @@ msgstr "síť"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr "nejkratší cesta"
@@ -1669,50 +1706,50 @@ msgstr ""
 "Nalézá nejkratší cestu ve vektorové síti pro vybraný počáteční a koncový "
 "uzel."
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Typ hrany grafu"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "Vrstva hran"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr "Vrstva uzlů grafu"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr "Sloupec s cenami hran (pohyb dopředu/obousměrně)."
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr "Sloupec s cenami hran (pohyb ve směru zpět)."
 
@@ -1735,11 +1772,11 @@ msgstr "Zvětšení regionu"
 msgid "Background color"
 msgstr "Barva pozadí"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "Použít geodetickou kalkulaci pro lokace zadané sférickými souřadnicemi"
 
@@ -1760,7 +1797,7 @@ msgstr "%s: neplatná hodnota pro spec"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "Současná projekce není ve sférických souřadnicích (šířka-délka)"
 
@@ -1785,7 +1822,7 @@ msgstr "Počítám histogram"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1793,7 +1830,7 @@ msgstr "Počítám histogram"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2169,7 +2206,7 @@ msgstr "Střední odchylka vynásobena %.4f pro určení kroku\n"
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2186,15 +2223,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "Nelze získat klíčové hodnoty kartografického zobrazení aktuální lokace"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "Nelze nastavit parametry mapové projekce lat/long"
@@ -2453,12 +2490,13 @@ msgstr "Neplatné souřadnice %s %s"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2531,16 +2569,16 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "Prosím, zadejte poloměr, kde min < max"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 #, fuzzy
 msgid "Can't get projection info of current location"
 msgstr "Nelze získat jednotky mapové projekce aktuální location"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "Nelze získat jednotky kartografického zobrazení aktuální lokace"
 
@@ -2562,11 +2600,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "Nelze číst vektorovou mapy"
 
@@ -2757,7 +2796,7 @@ msgstr "Barva výplně plochy"
 msgid "Colorize features according color definition column"
 msgstr "Vybarvit prvky podle sloupce s definicí barvy"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 msgid "Color definition in R:G:B form"
 msgstr "Definice barvy ve tvaru R:G:B"
 
@@ -3052,41 +3091,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Soubor '%s' již existuje a bude přepsán."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Nelze získat aktuální region"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Typ výstupní mapy"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Location <%s> vytvořena"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Nelze vytvořit soubor <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "Zapisuji do vektorové mapy <%s> ..."
 
-#: ../display/d.mon/start.c:163
-#, fuzzy, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr "Natavuji jméno mapy na <%s>, které přepíše <%s>"
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Nelze číst barvy."
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, c-format
+msgid "Unable to create file <%s>"
+msgstr "Nelze vytvořit soubor <%s>"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3098,34 +3144,53 @@ msgstr "Location <%s> vytvořena"
 msgid "Monitor <%s> is not running"
 msgstr "Soubor <%s> nebyl nalezen"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "Rastrový (cell) soubor nebyl nalezen"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Nelze vytvořit soubor <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "Rastrový (cell) soubor nebyl nalezen"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Nelze otevřít OGR zdroj dat '%s'"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "Nelze otevřít soubor <%s>"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Nelze vytvořit soubor <%s>"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Seznam vrstevnic (isolinií)"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "Rastrový (cell) soubor nebyl nalezen"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Nelze otevřít soubor <%s>"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Nelze číst barvy."
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "%d linií nebo hranic nalezeno ve vektorové mapě <%s@%s>"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3137,8 +3202,8 @@ msgid "Name of monitor to start"
 msgstr "Jméno rastrové mapy, obsahující výsledky"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3162,9 +3227,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3244,12 +3310,12 @@ msgid "List running monitors and exit"
 msgstr "Vypiš podporované formáty a ukonči se"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3262,33 +3328,34 @@ msgstr "Vypiš podporované formáty a ukonči se"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Tisk"
 
@@ -3302,59 +3369,77 @@ msgstr "Vypiš parametry současného připojení a ukonči se"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Vypiš parametry současného připojení a ukonči se"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "Nelze číst barvy."
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr "ignorováno\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, fuzzy, c-format
 msgid "Monitor <%s> released"
 msgstr "Location <%s> vytvořena"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 #, fuzzy
 msgid "No monitor selected"
 msgstr "Nebyl vybán žádný záznam"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Měl by být zadán \"value=\" nebo \"-i\""
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3408,7 +3493,7 @@ msgid "No map name given"
 msgstr ""
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Nelze číst soubor s kategoriemi rastrové mapy <%s@%s>"
@@ -3539,9 +3624,9 @@ msgstr "úspěch"
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Nelze otevřít soubor <%s> pro psaní"
@@ -3589,9 +3674,9 @@ msgstr "Spojení"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Formát"
 
@@ -3605,11 +3690,11 @@ msgstr "Výstupní vertikální oddělovač záznamů"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Název výstupní mapy (pro standardní výstup použijte \"-\")"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "Nezahrnovat do výstupu názvy sloupců"
 
@@ -3617,7 +3702,7 @@ msgstr "Nezahrnovat do výstupu názvy sloupců"
 msgid "Describe query only (don't run it)"
 msgstr "Dotaz pouze popiš (neprováděj)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Vertikální výstup (místo horizontálního)"
 
@@ -3650,7 +3735,7 @@ msgstr "Pouze otestovat dotaz, neprovádět"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3682,7 +3767,7 @@ msgstr "databáze, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3694,7 +3779,7 @@ msgstr "Nebyla nalezena žádná atributová tabulka"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3831,8 +3916,8 @@ msgstr "Nelze číst soubor s rozsahem"
 msgid "Unable to create index:"
 msgstr "Nelze vytvořit index"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Spojení"
@@ -3906,7 +3991,7 @@ msgstr "Nelze nastavit projekci"
 msgid "Unable to allocate handle."
 msgstr "Nelze alokovat paměť."
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3943,7 +4028,7 @@ msgstr "Nelze vybrat artibuty"
 msgid "Unable to select view names."
 msgstr "Nelze vybrat artibuty"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3983,12 +4068,12 @@ msgstr "Paměť vyčerpána"
 msgid "No path given"
 msgstr "Chyba při načítání souboru se souřadnicemi"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Nelze vybrat artibuty"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Nelze vybrat data z tabulky"
@@ -4036,29 +4121,29 @@ msgid "Taken not found"
 msgstr "nenalezen"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "Nelze vytvořit index"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "Nelze nastavit velikost písma"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Nelze vybrat artibuty"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "Nelze vytvořit tabulku <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Nelze otevřít databázi <%s>"
@@ -4105,6 +4190,11 @@ msgstr ""
 "sloupec '%s' : typ boolean je uložen jako char(1), hodnoty: 0 (false), 1 "
 "(true)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Nelze nastavit velikost"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Neznámá volba v definici databáze pro PostgreSQL: "
@@ -4192,7 +4282,8 @@ msgstr "Vrstva OGR <%s> nebyla nalezena"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4274,22 +4365,22 @@ msgstr "Nelze otevřít OGR zdroj dat '%s'"
 msgid "Unable to open database:"
 msgstr "Nelze otevřít databázi: "
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Spojení s databází nebylo definováno"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "Rastrová vrstva <%s> již existuje."
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Neschopen vytvořit tabulku: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "%s mapa <%s> nebyla nalezena"
@@ -4304,6 +4395,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "Ovladač SQLite: sloupec '%s', typ SQLite %d není podporován"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Chyba při zavírání souboru ASCII"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4551,10 +4647,10 @@ msgstr "Odstraňuji databázi."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4575,26 +4671,39 @@ msgstr "Opravte prosím nastavení."
 msgid "Sets user/password for DB driver/database."
 msgstr "Nastavit uživatele/heslo pro ovladač/databázi"
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Nelze nastavit projekci"
+msgid "Username"
+msgstr "Uživatel"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Nelze nastavit projekci"
+msgid "Password"
+msgstr "Průchod %d..."
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Název písma"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Vypiš parametry současného připojení a ukonči se"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Nelze nastavit uživatele/heslo"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Heslo bylo uloženo v souboru."
@@ -4881,6 +4990,7 @@ msgstr "Plocha\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4891,10 +5001,11 @@ msgstr "Plocha\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "rastr"
@@ -4976,19 +5087,6 @@ msgstr "Jeden z parametrů [%s] nebo [%s] musí být použit"
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "Nelze otevřít soubor <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, fuzzy, c-format
 msgid "You must provide at least four points %d"
@@ -5271,7 +5369,7 @@ msgstr "rastrový soubor se zem. šířkou <%s> nebyl nalezen"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5976,7 +6074,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5989,12 +6087,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6099,7 +6198,17 @@ msgstr ""
 msgid "<%s> already exists"
 msgstr "Rastrová vrstva <%s> již existuje."
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Nelze číst hlavičku rastrové mapy <%s@%s> "
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "Vektorová mapa <%s> nemohla být otevřena na úrovní topologie %d"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6107,20 +6216,20 @@ msgstr "Rastrová vrstva <%s> již existuje."
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr ""
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 #, fuzzy
 msgid "Map name search pattern (default: all)"
 msgstr "Kanál, který má být vybrán (výchozí: všechny kanály)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6128,146 +6237,119 @@ msgstr "Kanál, který má být vybrán (výchozí: všechny kanály)"
 msgid "Pattern"
 msgstr "rastr"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
 msgstr ""
 "Naimportuj jako hodnoty s plovoucí desetinnou čárkou (double) (výchozí: "
 "celočíselné)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "mapset, ze kterého má být seznam udělán (výchozí: aktuální)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Nastaví aktuální region z pojmenovaného regionu"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Název výstupního souboru"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Pokud není zadán, čte se standardní vstup"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr "Ignorovat velikost písmen"
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "Použít základní regulární výrazy místo zástupných znaků"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "Použít rozšířené regulární výrazy místo zástupných znaků"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "Vytiskni pouze typ rastrové mapy"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 #, fuzzy
 msgid "Pretty printing in human readable format"
 msgstr "Potlač výpis informací z hlavičky"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "-s a -n se navzájem vylučují"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "-s a -n se navzájem vylučují"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "-s a -n se navzájem vylučují"
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Nelze otevřít soubor <%s>"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Skupina <%s> neexistuje"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Nelze číst hlavičku rastrové mapy <%s@%s> "
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "Vektorová mapa <%s> nemohla být otevřena na úrovní topologie %d"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 #, fuzzy
 msgid "Unable to update lat/long projection parameters"
 msgstr "Nelze nastavit parametry mapové projekce lat/long"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 #, fuzzy
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Chyba v pj_do_proj (nelze reprojekovat GCP %i)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6509,9 +6591,9 @@ msgstr "Region <%s> nebyl nalezen"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, fuzzy, c-format
 msgid "3D raster map <%s> not found"
 msgstr "3D rastrová mapa <%s> nebyla nalezena"
@@ -6535,7 +6617,7 @@ msgstr "Nelze získat aktuální region"
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, fuzzy, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Neplatná mapa <%s>"
@@ -6818,38 +6900,38 @@ msgstr "Vypiš výsledek ve stylu pro shell skript"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6989,7 +7071,7 @@ msgstr "Název existující(ch) rastrové(ých) map(y) pro dotazování."
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "Operace bude vykonána"
@@ -7460,7 +7542,7 @@ msgstr "Nelze otevřít vstupní soubor <%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7663,38 +7745,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "Rastrový (cell) soubor nebyl nalezen"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Název rastrového souboru, který má být importován"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7917,8 +8020,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7957,9 +8060,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Lokace <%s> vytvořena"
@@ -8112,10 +8215,12 @@ msgstr "Vytiskne transfoemační matici na standartní výstup"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8131,10 +8236,14 @@ msgstr "Vytiskne transfoemační matici na standartní výstup"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8168,10 +8277,12 @@ msgstr "vektor, topologie"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8187,10 +8298,14 @@ msgstr "vektor, topologie"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8292,8 +8407,8 @@ msgstr ""
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "Importuji"
@@ -8335,7 +8450,7 @@ msgstr "Import SPOT VGT NDVI souboru jako rastrové mapy"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8364,15 +8479,16 @@ msgstr "dpz, obrazové zpracování"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Importuji"
@@ -8519,7 +8635,7 @@ msgstr "Schéma databáze."
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Převede 3D rastrové mapy na 2D rastrové mapy"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8529,6 +8645,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Vstup"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Převede 3D rastrové mapy na 2D rastrové mapy"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "rastr, mapová algebra"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Název vstupní 3D rastrové mapy"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Počet třid "
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Nelze zavřít vstupní mapu"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8581,21 +8798,12 @@ msgid ""
 "datasets."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "rastr, mapová algebra"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8604,11 +8812,13 @@ msgstr "rastr, mapová algebra"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8616,54 +8826,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Název vstupní 3D rastrové mapy"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Počet třid "
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Nelze zavřít vstupní mapu"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8678,7 +8847,8 @@ msgstr "Název základní rastrové mapy"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "vektor, vyjmutí"
@@ -8913,7 +9083,7 @@ msgstr "rastr, interpolace"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Interpolační metoda, která má být použita"
 
@@ -9031,6 +9201,49 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr "Počet sloupců"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Seznam hodnot oddělených čárkou"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Název výstupního souboru, pro uložení zprávy"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Vytvořit prázdnou databázi."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Počet třid "
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Název výstupního ovladače"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9256,7 +9469,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9499,6 +9712,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9568,10 +9782,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Hranice lokace se zvětší podle nového datasetu"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 msgid "Override projection check (use current location's projection)"
 msgstr "Přepsat kartografické zobrazení (použít zobrazení lokace)"
 
@@ -9579,7 +9797,8 @@ msgstr "Přepsat kartografické zobrazení (použít zobrazení lokace)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "Nelze získat jednotky kartografického zobrazení aktuální lokace"
@@ -9600,21 +9819,21 @@ msgstr ""
 "statistiky"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr "Projdi soubor, nalezni okrajové hodnoty a ukonči se"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "Ve scan módu tiskni ve stylu pro shell skript"
 
@@ -9636,21 +9855,21 @@ msgid "Name for output raster map"
 msgstr "Název výstupní rastrové mapy"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "Statistika použitá pro rastrové hodnoty"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Statistika"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Typ uložení výsledné rastrové mapy"
@@ -9693,17 +9912,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Měřítkový faktor pro hodnoty atributů"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Část mapy v procentech, která má být uchována v paměti"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "pth percentil hodnot"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9808,8 +10027,8 @@ msgid "Remove existing color table"
 msgstr "Smazat existující tabulku barev"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9855,18 +10074,19 @@ msgstr ""
 "Importuje vektorová data do vektorové vrstvy GRASSu za použití knihovny OGR."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Název rastrového souboru, který má být importován"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 "Jméno OGR vrstvy, pokud není zadán, jsou pouze vytištěny přítomné vrstvy"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
@@ -9887,6 +10107,11 @@ msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9909,10 +10134,15 @@ msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "Výstupy"
@@ -9923,29 +10153,30 @@ msgid "Output vector map extent"
 msgstr "Výstupnívektorová mapa s chybami "
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Zarovnat současný region podle vstupní mapy"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Chyba při čtení ASCII souboru: '%s'"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Práh navázaní pro hranice"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "'-1' pro žádný snap"
 
@@ -9963,15 +10194,64 @@ msgstr ""
 "transformace."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 msgid "List supported OGR formats and exit"
 msgstr "Vypsat podporované formáty OGR a ukončit se"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 msgid "List available OGR layers in data source and exit"
 msgstr "Vypsat dostupné vrstvy OGR ze zdroje dat a ukončit se"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "Nelze získat jednotky kartografického zobrazení aktuální lokace"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Nahlaš informace o vstupním rastru a ukonči se"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Vytvoří nový soubor, pokud neexistuje."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Smazání malých úhlů na uzlech"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Vypiš aktuální cestu k mapsetům"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Vypiš parametry současného připojení a ukonči se"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10141,7 +10421,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10150,7 +10430,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10160,7 +10440,7 @@ msgid "geometry"
 msgstr "vektor, geometry"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10215,7 +10495,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Počet bodů pro interpolaci"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10240,16 +10524,16 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Kanál, který má být vybrán (výchozí: všechny kanály)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
 msgstr "Maximální velikost použité paměti bude použité s volbou -m (v MB)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10308,12 +10592,12 @@ msgid "Optional"
 msgstr "Neplatný název výstupního souboru <%s>"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "Nepoužívej optimalizaci oříznutím regionu"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Počáteční mapové souřadnice"
@@ -10412,7 +10696,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr "Vytvoří rastrovou spojitých oblastí zvětšených o jednu buňku."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10426,7 +10710,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Poloměr obalové zóny (bufferu) v počtu buněk"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Metrický"
 
@@ -10458,14 +10742,14 @@ msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové map
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Aktualizuj statistiku rastru"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10533,6 +10817,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10540,7 +10835,8 @@ msgid ""
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Výběr"
@@ -10580,6 +10876,61 @@ msgstr "Pokud není zadán, použije se výchozí databáze"
 msgid "Name of table to drop"
 msgstr "Jméno atributového sloupce použitého pro volbu dotazu 'query'"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "Vytvooří vektorovou mapu určených vrstevnic z rastrové mapy."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Kontrast"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Interval mezi íşrovněmi isoliniemi"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Seznam vrstevnic (isolinií)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Minimální íşroveň isolinie"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Maximální íşroveň isolinie"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "Minimální počet bodů pro isolinii (0 -> žádný limit)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Nelze zavřít vstupní mapu"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Nevytvářet atributovou tabulku"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10606,6 +10957,20 @@ msgstr "Formát"
 msgid "Name for output table (default: input name)"
 msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Převede 3D rastrové mapy na 2D rastrové mapy"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10749,6 +11114,64 @@ msgstr "Název tabulky (výchozí: název vektorové vrstvy)"
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Převede 3D rastrové mapy na 2D rastrové mapy"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Typ prvků 'do' ('to')"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Název sloupce atributu, který má být použit pro štítky"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "Jemné rohy plošných prvků"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Posun hodnot souřadnice z"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Zapíše rastrové hodnoty jako souřadnice z. Není vytvořena tabulka. V "
+"současné době jsou podporovány pouze body."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+msgid "Do not build vector topology"
+msgstr "Nevytvářet topologii vektoru"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Použij rastrové hodnoty jako kategorie místo jedinečné sekvence (pouze CELL)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10760,6 +11183,7 @@ msgid "Vector map to which to join other table"
 msgstr "Název rastrové mapy, ze které se má kopírovat tabulka kategorií"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10769,6 +11193,7 @@ msgid "Layer where to join"
 msgstr "Číslo vrstvy (to)"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "sloupec(ce)"
@@ -10849,7 +11274,6 @@ msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11154,6 +11578,10 @@ msgstr ""
 "Nová hodnota, která bude přiřazena do sloupečku (textové řetězce misí být "
 "'uvozeny')"
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11443,13 +11871,6 @@ msgstr "Název základní rastrové mapy"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Počet třid "
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 #, fuzzy
 msgid "Uploads vector values at positions of vector points to the table."
@@ -11462,23 +11883,32 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "Jméno vstupní vektorové bodové mapy"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Název sloupce atributu, který má být použit pro štítky"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Jméno vektorové mapy k editaci"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "sloupec(ce)"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Název sloupce atributu, který má být použit pro štítky"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "Vzdálenost bufferu v mapových jednotkách"
@@ -11517,78 +11947,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Název nové location, která má být vytvořena"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Vypiš dostupná pravidla barev a ukonči se"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Vypiš dostupná pravidla barev a ukonči se"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Vypiš dostupná pravidla barev a ukonči se"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "Alokace metriky"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "systémové tabulky místo uživatelských"
@@ -11609,20 +12055,26 @@ msgid "Description of the space time dataset"
 msgstr "Název souboru s filtrem"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Název souboru s filtrem"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11640,10 +12092,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Typy, které budou vyjmuty"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Vypiš ve stylu pro shell skript."
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Výstupní formát"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11767,8 +12255,8 @@ msgstr "rastr, dpz, multispektrální"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Název výstupního souboru"
+msgid "Name for output image (or text file for -t)"
+msgstr "Jméno výstupního souboru s výsledky chybové matice a kappa index"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11785,6 +12273,11 @@ msgstr "Použít mapové souřadnice namísto souřadnic xyz"
 msgid "Use gnuplot for display"
 msgstr "Text k zobrazení"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Vytvoř TIFF world file (tfw)"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11799,11 +12292,6 @@ msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové map
 msgid "series"
 msgstr "body"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Vytvořit prázdnou databázi."
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11901,6 +12389,7 @@ msgstr "Rastrová hodnota"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11916,10 +12405,15 @@ msgstr "Eigen hodnoty:"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "Rastrová hodnota"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Název výstupní rastrové mapy orientace"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -12006,10 +12500,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12027,7 +12517,7 @@ msgstr "Nelze otevřít rastrovou mapu <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12547,7 +13037,7 @@ msgid "radiance"
 msgstr "Variance"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12578,8 +13068,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Metadata"
 
@@ -12784,8 +13275,8 @@ msgstr "Nelze načíst rozsah hodnot pro rastrovou mapu s desetinnou čárkou <%
 msgid "Calculating..."
 msgstr "Počítám mapy ..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14848,21 +15339,21 @@ msgstr "Cílová lokace <%s> nebyla nalezena"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "Mapset <%s> ve vstupní lokaci <%s> - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "Přístup odepřen"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "nenalezen"
@@ -14962,7 +15453,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15092,7 +15583,7 @@ msgid "Name of target mapset"
 msgstr "Název cílového mapsetu"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Nastaví aktuální lokaci a mapset jako cíl pro obrazovou skupinu"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15520,52 +16011,56 @@ msgstr "Nespolehlivé shlukování. Použijte menší počáteční počet shluk
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr "Odstraněno číslo jednoho podpříznaku %d (zbývá %d)"
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "Selhalo"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Název vektorové vrstvy prvního impulsu"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Nejméně <%s> nebo <%s> je požadován"
@@ -15741,7 +16236,7 @@ msgid "Starting Inverse FFT..."
 msgstr "Startuji inverzní FFT..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -16164,7 +16659,7 @@ msgstr "Můj první modul pro zpracování rastrových dat"
 msgid "My first vector module"
 msgstr "Můj první modul pro zpracování vektorových dat"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr "Nelze nastavit předvybranou vektorovou mapu na úrovni otevření"
 
@@ -16318,11 +16813,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -17043,12 +17539,12 @@ msgstr "Řádky změněny"
 msgid "Cols changed"
 msgstr "Sloupce změněny"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Zobrazit obsah"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17057,34 +17553,34 @@ msgstr ""
 "jedné nebo několika map tak, že vyplní oblasti \"bez žádných dat\" v "
 "jinémapové vrstvě."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Názvy rastrových map, které mají být spojeny"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Titulek pro výslednou rastrovou mapu"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Použij nulu (0) jako transparentní hodnotu, namísto NULLy"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "Minimální počet vstupních rastrových map jsou dvě"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "Hotových procent..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "Vytvářím podpůrné soubory pro rastrovou vrstvu <%s>"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17104,7 +17600,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Jméno vstupního souboru, nebo \"-\" pročtení ze standardního vstupu"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Titulek pro výslednou rastrovou mapu"
@@ -17532,8 +18028,8 @@ msgstr "Není zadán žádný výstupní soubor (ani rastrový ani vektorový)"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Nelze vložit nový řádek: %s"
@@ -17606,57 +18102,17 @@ msgstr "vektor, interpolace"
 msgid "Converts a raster map into a vector map."
 msgstr "Převede rastrovou mapu na vektorovou."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Typ prvků 'do' ('to')"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Název sloupce atributu, který má být použit pro štítky"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "Jemné rohy plošných prvků"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Použij rastrové hodnoty jako kategorie místo jedinečné sekvence (pouze CELL)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Atributy"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Posun hodnot souřadnice z"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Zapíše rastrové hodnoty jako souřadnice z. Není vytvořena tabulka. V "
-"současné době jsou podporovány pouze body."
-
-#: ../raster/r.to.vect/main.c:111
-msgid "Do not build vector topology"
-msgstr "Nevytvářet topologii vektoru"
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr "Doporučeno pro rozsáhlé převody bodů"
@@ -17693,23 +18149,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "Neschopen vytvořit tabulku: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Nelze poskytnou práva na tabulku <%s>"
@@ -17752,195 +18210,195 @@ msgstr "Nelze nastavit projekci"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Alokuji paměť a čtu vstupní mapu ..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Změna projekce rastrové mapy ze zvolené location do aktuální location."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Lokace obsahující vstupní vektorovou vrstvu"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Zdroj"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Mapset obsahující vstupní vektorovou vrstvu"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Název cílového mapsetu"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "Název vstupní rastrové mapy"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Cesta k adresáři databáze GRASSu se vstupní lokací"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "Plocha"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Rozlišení výstupní mapy"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Vypiš rastrové soubory vstupní location a ukonči se"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "Vypiš parametry současného připojení ve stylu shellu a ukonči se."
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr "Vstupní a výstupní lokace nemohou být stejné."
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr "Vstupní a výstupní lokace jsou stejné."
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr ""
 "Nelze získat informace o kartografickém zobrazení výstupní rastrové vrstvy"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr ""
 "Nelze získat jednotky kartografického zobrazení výstupní rastrové vrstvy"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 "Nelze získat klíčové hodnoty kartografického zobrazení výstupní rastrové "
 "vrstvy"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Mapset <%s> ve vstupní lokaci <%s> - <%s>"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Kontroluje se lokace <%s>, mapset <%s>"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "Požadovaný parametr <%s> nebyl zadán"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Rastrová mapa <%s> v lokaci <%s>, mapsetu <%s> není dostupná"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr "Nelze získat informace o projekci vstupní mapy"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "Nelze získat jednotky mapové projekce vstupní mapy"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr "Nelze získat klíčové hodnoty mapové projekce vstupní mapy"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "Nelze pracovat s nepřipojenými daty (xy location)"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "do <%s@%s> (location <%s> ... %s"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Vstup:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Sloupce: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Řádky: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Sever: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Jih: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Západ: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Východ: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "rozlišení vz: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "rozlišení sj: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Výstup:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Převádím..."
 
@@ -17985,7 +18443,7 @@ msgstr "Počítá index hustoty hran rastrové mapy za použití algoritmu 4 sou
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17998,7 +18456,7 @@ msgstr "rastr, anylýza krajiny"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -18013,7 +18471,7 @@ msgstr "Zobrazit obsah"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18162,7 +18620,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "Počítám index střední hodnoty atributu pixelu rastrové mapy"
 
@@ -18565,13 +19023,53 @@ msgstr "incidout požaduje nastavený parametr času"
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "Mode 2: denní ozářenost pro zadaný den roku."
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Konstanta zvětšení prostupnosti"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Zapisuji rastrovou mapu <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Neplatná mapa <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Špatná cena izolinie: %f"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Zapisuji rastrovou mapu <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Používám souřadnice středu mapy: %f %f"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Zapisuji rastrovou mapu <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 "POkud použijete volbu -s a žádnou rastrovou mapu s horizontem, numpartitions "
 "musí být =1"
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
@@ -18579,11 +19077,11 @@ msgstr ""
 "Pokud chcete ušetřit zabrání množství paměti a zároveň použít stíny, je "
 "třeba použít před-vypočítané horizonty."
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18965,7 +19463,7 @@ msgid "cumulative costs"
 msgstr "Volitelná maximální cena"
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "alokace"
@@ -19787,7 +20285,7 @@ msgstr "Záporné hodnoty elevace ve vstupu"
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Vytvoří statistiku ploch pro rastrové mapy."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -19975,7 +20473,7 @@ msgstr "Aktualizuj statistiku rastru"
 msgid "Statistics for <%s> updated"
 msgstr "Statistika pro pro <%s> byla aktualizována"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
@@ -19983,15 +20481,15 @@ msgstr ""
 "Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro "
 "kontrolu)"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "Přeskakuje se kontrola kartografického zobrazení."
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -20000,24 +20498,25 @@ msgstr ""
 "lokace \n"
 "\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "PROJ_INFO lokace je:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "PROJ_INFO datasetu je:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "iMPORT PROJ_INFO datasetu je:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20025,7 +20524,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
@@ -20033,9 +20532,9 @@ msgstr ""
 "Zvažte vytvoření nové lokace ze vstupního datasetu pomocí parametru "
 "'location'.\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr "Kartografické zobrazení vstupního datasetu a aktuální lokace souhlasí."
 
@@ -20098,8 +20597,8 @@ msgstr "Vytvářím podpůrné soubory pro %s"
 msgid "Link to raster map <%s> created."
 msgstr "Rastrová mapa <%s> byla vytvořena."
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20121,13 +20620,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "Skupina musí existovat v současném mapsetu"
@@ -20158,21 +20657,21 @@ msgstr "Jméno datového zdroje GDAL, který není soubor"
 msgid "Band to select (default is all bands)"
 msgstr "Kanál, který má být vybrán (výchozí: všechny kanály)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Vypsat podporované formáty a ukončit"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Hranice location se zvětší podle nového datasetu"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20185,13 +20684,23 @@ msgstr "Rozděleno horizontálně, ne vertikálně."
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Vypiš dostupné vrstvy z datového zdroje a ukonči se"
+
+#: ../raster/r.external/main.c:123
+#, fuzzy
+msgid "Format: band number,type,projection check"
+msgstr "Formát: vrstva typ počet min max"
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Měl by být zadán \"value=\" nebo \"-i\""
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20200,31 +20709,31 @@ msgstr "Měl by být zadán \"value=\" nebo \"-i\""
 msgid "%s= and %s= are mutually exclusive"
 msgstr "-s a -n se navzájem vylučují"
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr "Pokračuje importování..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "Rastrová mapa <%s> již existuje a bude přepsána."
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Načítám mapu %s ..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Vybraný kanál (%d) neexistuje"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "Rastrová mapa <%s> byla vytvořena."
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Počet sekcí, které mají být vytvořeny"
@@ -20414,14 +20923,15 @@ msgstr "Název výstupní rastrové mapy sklonu"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20724,6 +21234,12 @@ msgstr "-s a -n se navzájem vylučují"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Location <%s> vytvořena"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "-s a -n se navzájem vylučují"
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20799,8 +21315,8 @@ msgid "Importing band %d..."
 msgstr "Importuji body ..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20921,7 +21437,7 @@ msgstr "%s = %s -- musí být větší než nula"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "%s Nelze otevřít %s"
@@ -21986,7 +22502,8 @@ msgstr "Průchod %d..."
 msgid "Unable to write to temp file"
 msgstr "Nelze číst dočasný soubor"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Vytvářím body..."
@@ -22032,7 +22549,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Vypiš statistiku ve stylu pro shell skript"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22696,25 +23213,25 @@ msgid "unable to open output file"
 msgstr "Nelze otevřít výstupní soubor."
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 #, fuzzy
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "ČÁST 3: Akumulace povrchového odtoku."
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "ČÁST 3: Akumulace povrchového odtoku."
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22722,8 +23239,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22852,27 +23369,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "ČÁST %d: Zavírám mapy"
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr "ČÁST %d: Určování rozvodí."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "ČÁST 1a (z %d1d): inicializace paměti."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "ČÁST 1b (z %1d): Určuji odtok mimo mapu."
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22886,21 +23403,31 @@ msgstr "ČÁST 4: Určuji délku svahu."
 msgid "Closing accumulation map"
 msgstr "nemohu otevřít novou mapu akumulace "
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Výpočet sekcí"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Výpočet sekcí"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Výpočet sekcí"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Počítám směry odtoku...."
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -22926,214 +23453,219 @@ msgstr "Výpočet sekcí"
 msgid "Closing half basins map"
 msgstr "nelze otevřít mapu povodí"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] "ČÁST 1 začínám: Nastavuji proměnné. Celkem proběhne %d částí."
 msgstr[1] "ČÁST 1 začínám: Nastavuji proměnné. Celkem proběhne %d částí."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 #, fuzzy
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 "Maximální velikost použité paměti byla menší než 3 MB, nastavuji výchozí "
 "hodnotu = 300 MB."
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr "ČÁST 1b (z %1d): Určuji odtok mimo mapu."
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Vstup"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Název vstupní rastrové mapy"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Vstupní mapa: množství povrchového odtoku na buňku"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Název vstupní rastrové mapy(saturation - sytost)"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Vstupní mapa: povrchu bránícího povrchovému odtoku, pro USLE"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Vstupní hodnota: minimální velikost vnějšího povodí"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Vstupní hodnota: maximální délka povrchového odtoku, pro USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Název výstupní rastrové mapy orientace"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Výstupní mapa: počet buněk, které tečou skrz každou buňku"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Název výstupní rastrové mapy orientace"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Výstupní mapa topografického indexu:"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Název výstupní rastrové mapy orientace"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Název výstupní rastrové mapy orientace"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Název výstupní rastrové mapy orientace"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Název výstupní rastrové mapy orientace"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Výstupní mapa: každému sub-povodí je dána jednoznačná hodnota"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Název výstupní rastrové mapy sklonu"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "Výstupní mapa: délka svahu a sklon, faktor (LS) pro USLE"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Název výstupní rastrové mapy sklonu"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Výstupní mapa: faktor sklonu svahu (S) pro USLE"
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Převodní koeficient pro hodnoty z"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr "Maximální velikost použité paměti bude použité s volbou -m (v MB)"
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Povolit pouze horizontální a vertikální tok vody"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "Umožněno rozšířené využití paměti: Operace je pomalá"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "Promiňte, musíte zadat nějakou výstupní mapu."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s=%s - musí být větší než nula"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -23144,12 +23676,12 @@ msgstr ""
 "    basin, stream, half.basin, slope nebo LS\n"
 "    MUSÍTE zadat prahovou hodnotu povodí (basin threshold)."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Location lat/long není podporována"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "Podproces selhal s návratovým kódem %d"
@@ -23332,21 +23864,21 @@ msgstr "sever=%f"
 msgid "Could not read maximum distance. Aborting."
 msgstr "Nelze načíst maximální vzdálenost. Přerušuji"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "JÉMINÁNKU: řádky se změnily z %d na %d"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "JÉMINÁNKU: sloupce se změnily z %d na %d"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Výpočet mapy %01d z %01d (úhel %lf, rastrová mapa <%s>)"
@@ -23542,7 +24074,7 @@ msgstr "Vytvoř TIFF world file (tfw)"
 msgid "Converting <%s>..."
 msgstr "Převádím %s..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "V rastrové mapě <%s> jsou obsaženy různé typy hodnot."
@@ -23617,7 +24149,7 @@ msgid ""
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23630,11 +24162,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Nelze otevřít rastrovou mapu <%s>"
@@ -23647,59 +24182,86 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"Použij stejné rozlišení jako je vstupní RASTER3D mapa pro 2d výstupní mapu, "
+"nezávisle na aktuálním rozlišení"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "Spočítá univariantní statistiku z ne-nullových buněk rastrové mapy."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "input= a source= se vzájemně vylučují"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "Vytvoří rastrovou mapu se vzdáleností k prvkům ve vstupní vrstvě."
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Jméno výstupní vrstvy se vzdáleností"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Název výstupní rastrové mapy"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Maximální vzdálenost mezi body v jednotkách mapy."
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Maximální vzdálenost k nejbližšímu prvku"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr "Nejméně jedna z voleb distance= a hodnota= musí být zadána"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Neznámá metrika: [%s]."
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Maximální vzdálenost mezi body v jednotkách mapy."
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Nelze zapisovat do dočasného souboru <%s>"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23710,67 +24272,72 @@ msgstr "Nelze zapisovat do dočasného souboru <%s>"
 msgid "Reading raster map <%s>..."
 msgstr "Načítám rastrový soubor <%s>..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Zapisuji výslednou rastrovou mapu %s... "
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Nelze načíst tabulku barev pro rastrovou mapu <%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "rastr, noullvé data"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Spravuje NULLové hodnoty zadané rastrové mapy."
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "mapa 3dcell pro modifikaci hodnot NULL"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Seznam hodnot buněk pro nastavení NULL"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "Hodnota pro nahrazení hodnoty NULL"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "Pracuj pouze pokud je mapa s plovoucí desetinnou čárkou"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "Pracuj pouze pokud je mapa celočíselná"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr "Udělej svou práci pouze pokud mapa nemá soubor NULL"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr "Vytvoř soubor s hodnotami NULL při validaci všech buněk"
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr "Smazat soubor NULL"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+#, fuzzy
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr "Vytvoř soubor s hodnotami NULL při validaci všech buněk"
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
@@ -23779,62 +24346,63 @@ msgstr ""
 "Rastrové mapa <%s> vznikla překlasifikováním mapy <%s@%s>. Zvažte vytvoření "
 "kopie pomocí r.mapcalc. Ukončuji."
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "Rastrová mapa <%s> nebyla nalezena v mapsetu <%s>"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr "%s je neplatná hodnota pro null"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "Rastrová mapa <%s> již má vytvořen soubor null"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "<%s> je celočíselná rastrová mapa (CELL)"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "<%s> je čeločíselná rastrová mapa (CELL) použiji null=%d."
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "<%s> je rastrová mapa s desetinnou čásrkou"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Zapisuji nový soubor null pro rastrovou mapu <%s>..."
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "Rastrová mapa <%s> byla pozměněna."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Odstraňuji soubor null pro rastrovou mpau <%s>..."
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s: %s: neplatná hodnota pro spec"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: neplatná hodnota pro spec"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Zapisuji nová data pro rastrovou mapu <%s>... "
@@ -23883,7 +24451,7 @@ msgstr "Neznámý typ: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Nelze uzavřít rastrovou mapu <%s@%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "Nelze uzavřít výstupní rastrovou mapu"
 
@@ -24006,21 +24574,26 @@ msgstr "Počátek pro generování náhodného čísla"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Zapisuji výstupní mapu..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "-s a -n se navzájem vylučují"
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "Chyba prametru"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr "Chyba ve výpočtu čísel s plovoucí desetinnou čárkou"
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr "Přetečení je započítáno ve výpočtu"
 
@@ -24029,114 +24602,126 @@ msgstr "Přetečení je započítáno ve výpočtu"
 msgid "Known functions:"
 msgstr "Známé funkce:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Importuje binární rastrový soubor jako GRASS rastrovou mapu."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Název rastrového souboru, který má být importován"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Kanál, který má být vybrán (výchozí: všechny kanály)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Název cílové location"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr ""
 "Název location, ze které bude načtena mapová projekce pro GCP transformaci"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Název vstupního souboru s digitálním modelem terénu"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Název nové lokace, která má být vytvořena"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Nevytvářet atributové tabulky"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Přepsat kartografické zobrazení (použít zobrazení lokace)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Vypiš parametry současného připojení a ukonči se"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Ponechej čísla kanálů místo použití jmen jejich barev"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "vypiš tabulky a ukonči se."
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr "Musíte zadat cílovou location různou od současné"
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "Musíte zadat spodní a svrchní mapu"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "Počet subrozmezí musí být >= 1"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Nelze otevřít zdroj dat <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "Rastrová vrstva <%s> již existuje."
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 #, fuzzy
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
@@ -24145,15 +24730,15 @@ msgstr ""
 "Vstupní mapa je pootočená - nelze ji naimportovat. Použijte 'gdalwarp' pro "
 "její transformaci severem-nahoru."
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -24161,94 +24746,99 @@ msgstr ""
 "Nelze převést vstupní mapovou projekci do formátu GRASSu; nelze vytvořit "
 "novou location."
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Neschopen vytvořit tabulku: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Pokračuje importování..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Nelze otevřít soubor se signaturami"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Nelze dostat jedno z rastrových pásem"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Kopíruji %d GCPS v souboru bodů pro <%s>"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr "GCPs mají následující OpenGIS WTK souřadnicový systém:"
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "Změna projekce GCPs tabulky:"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "* Vstupní projekce pro GCP tabulku: %s"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "á Výstupní projekce pro GCP tabulk: %s"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Chyba v pj_do_proj (nelze reprojekovat GCP %i)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "Nelze získat klíčové hodnoty mapové projekce vstupní GCPs"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr "Nelze získat informace o kartografickém zobrazení cílové lokace"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "Nelze získat jednotky kartografického zobrazení cílové lokace"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr "Nelze získat klíčové hodnoty kartografického zobrazení cílové lokace"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Zapisuji rastrovou mapu <%s>..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "Nastavuji barevnou tabulku barev  na šedou pro <%s> (8bit plný rozsah)"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr ""
 "Nastavuji barevnou tabulku barev  na šedou pro <%s> (16bit, rozsah obrazu)"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Nelze otevřít soubor <%s>"
@@ -24484,7 +25074,7 @@ msgstr "Zapisuji do vektorové mapy <%s> ..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24842,31 +25432,36 @@ msgid "Unable to read fp range for raster map <%s>"
 msgstr ""
 "Nelze číst rozmezí s použitím desetinného čísla pro rastrovou mapu <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "'layer' musí být . 0 pro 'where'"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Zapisuji rastrovou mapu <%s>..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Korelace"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Vytvoří prostorově závislé pole náhodných hodnot."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "maximální vzdálenost od bodu k síti"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Minimální počet sloupců: %d"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25314,33 +25909,33 @@ msgstr "Zmenší nenulové buňky tak, aby vznikly lineární struktury."
 msgid "Maximal number of iterations"
 msgstr "Maximální počet iterací"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%s: Nelze nalézt bounding box pro linie"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr "Průchod číslo %d"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "%d pixelů smazáno "
 msgstr[1] "%d pixelů smazáno "
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "Ztenčování bylo íşspěšně dokončeno."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr "Ztenčení nedokončeno, zkuste zvýšit parametr 'iterations'."
 
@@ -26427,160 +27022,235 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'%s' musí být > 0 pro '%s'"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "Prohledávání dat ..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Rozsah:     min         max\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Nelze číst dočasný soubor"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Vytvoří rastrovou mapu smontováním více souřadnic za pomoci univariantní "
 "statistiky"
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Vstup selhal"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Soubor obsahující pravidla překódování."
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "Žádná bodová data nenalezena"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Posun hodnot souřadnice z"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "vektor, transformace"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "Rozsah filtru pro z data: (min,max)"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "Nastavit na z data"
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+#, fuzzy
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+"Vyřadit <trim> procent nejmenších a <trim> procent nejvetších hodnot "
+"pozorování"
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Titulek výstupního rastru"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Celočíselné hodnoty jsou importovány"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Celočíselné hodnoty jsou importovány"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Vypíše historii rastrové mapy namísto infa"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
-msgstr "Přepsat kartografické zobrazení (použít zobrazení lokace)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "Nastav region tak, aby odpovídal této rastrové mapě"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:288
+#, c-format
+msgid "Flag %c makes sense only with %s option or -%c flag"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "Skupina <%s> neexistuje"
+
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
+msgstr "na rozsah z nebude během hledání brán zřetel"
+
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
 #, fuzzy, c-format
 msgid "Input file <%s> does not exist"
 msgstr "Skupina <%s> neexistuje"
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
 #, c-format
 msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
-#, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Neznámá volba  pravidla: '%s'"
-
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro "
-"kontrolu)"
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "GRASS LOCATION PROJ_INFO  je:\n"
-
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr ""
-"Zvažte vytvoření nové location s parametry 'location' ze vstupního "
-"datasetu.\n"
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Neznámá volba  pravidla: '%s'"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 msgid "Invalid zrange"
 msgstr "Neplatné zrange"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr "Nelze vypočítat percentil bez určené volby pth!"
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr "Nelze spočítat trim průměr bez zadané volby trim!"
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr "na rozsah z nebude během hledání brán zřetel"
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Location <%s> vytvořena"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr "Čtu data... "
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Nelze otevřít výstupní soubor <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "Zapisuji do vrstvy ..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%lu bodů nalezeno v regionu."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "Prohledávání dat ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr "Nelze vypočítat percentil bez určené volby pth!"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Rozsah:     min         max\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr "Nelze spočítat trim průměr bez zadané volby trim!"
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Nelze otevřít soubor <%s> pro psaní"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "GRASS LOCATION PROJ_INFO  je:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+"Zvažte vytvoření nové location s parametry 'location' ze vstupního "
+"datasetu.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"Nelze převést informace o vstupní mapové projekci do formátu GRASSu (pro "
+"kontrolu)"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26815,12 +27485,6 @@ msgstr "Převzorkování%s[%d,%d] na %s[%d,%d]"
 msgid "Header File = %s"
 msgstr "Hlavičkový soubor = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "Nelze vytvořit soubor <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27655,6 +28319,13 @@ msgstr "Prosím, udejte přijatelný počet řádků, které mají být přesko
 msgid "Invalid vrange"
 msgstr "Neplatné zrange"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27711,6 +28382,11 @@ msgstr "Špatná souřadnice y linie %lu sloupec %d <%s>"
 msgid "Writing to output raster map..."
 msgstr "Zapisuji výslednou rastrovou mapu %s... "
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr "%lu bodů nalezeno v regionu."
+
 #: ../raster/r.relief/main.c:112
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM)."
@@ -28080,27 +28756,27 @@ msgstr ""
 msgid "Delete the null file"
 msgstr "Nelze otevřít soubor se signaturami"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "Tabulka kategorií pro <%s> nastavena na %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] je reklasifikací jiné mapy. Ukončuji se."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Zapisuji nový soubor \"null\" pro [%s]... "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Odstraňuji soubor \"null\" pro [%s]...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Dokonáno jest."
 
@@ -28135,32 +28811,12 @@ msgstr "Kontrast"
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr "Vytvooří vektorovou mapu určených vrstevnic z rastrové mapy."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Interval mezi íşrovněmi isoliniemi"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Seznam vrstevnic (isolinií)"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Seznam vrstevnic (isolinií)"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Minimální íşroveň isolinie"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Maximální íşroveň isolinie"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "Minimální počet bodů pro isolinii (0 -> žádný limit)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -28171,29 +28827,31 @@ msgstr "Buď 'pravidlo' nebo 'sloupec' musí být zadán"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Nelze vytvořit tabulku : '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Nelze vytvořit index pro tabulku <%s>, klíč <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "Zapisuji atributy ..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Nelze vložit nový řádek: '%s'"
@@ -29025,11 +29683,6 @@ msgstr "Jméno vektorové mapy s koncovými body"
 msgid "Size of point cache"
 msgstr "Velikost bodové vyrovnávací paměti"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Název výstupního ovladače"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29335,7 +29988,8 @@ msgstr "Typ sloupce není podporován (musí být string)"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "Nelze vybrat data z tabulky"
 
@@ -29985,11 +30639,11 @@ msgstr "Vypiš výsledek ve stylu pro shell skript"
 msgid "3D Raster map <%s> not found"
 msgstr "3D rastrová mapa <%s> nebyla nalezena"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Chyba při čtení souboru s historií"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -30185,6 +30839,39 @@ msgstr ""
 msgid "Update range"
 msgstr "Rozsah výstupních dat"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Variance"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+"Kombinuje červenou, zelenou a modrou mapovou vrstvu do jedné rastrové mapy."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Název výstupní rastrové mapy"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "Velikost bodové vyrovnávací paměti"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Nelze alokovat paměť."
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Zapisuji novou rastrovou mapu..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30362,6 +31049,148 @@ msgstr "Datetime, datetime1/datetime2, nebo žádný"
 msgid "Timestamp format is invalid"
 msgstr "Neznámý formát časové značky: "
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Prosím zadejte tři g3d RGB mapy"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Vektorová mapa <%s> nebyla nalezena"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Počítám směry odtoku...."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "Jméno vstupní vektorové bodové mapy"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Jméno vektorové mapy k editaci"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Název výstupní rastrové mapy orientace"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Jméno rastrové mapy, obsahující výsledky"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "délka %f\n"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Počet opakování"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "Šířka bystřiny (v metrech). Výchozí je šířka rastrové buňky"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "rastr, interpolace"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Není specifikována rastrová mapa"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Název vstupní databáze není nastaven"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Maximální počet iterací"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Maximální počet iterací"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "Počet buněk mezi drahami odtoku"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Nelze popsat tabulku <%s>"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Vektorová mapa <%s> není 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Chyba při čtení mapy odstínu (hue)"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Hodnota izolinií"
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30889,6 +31718,60 @@ msgstr "Buduji topologii pro vektorovou mapu s chybami ..."
 msgid "Failed to find intersection segment"
 msgstr "selhal převod šířky na celé číslo"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Nelze vložit do tabulky: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Nelze otevřít vektorovou mapu <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Tabulka <%s> v databázi <%s> neexistuje"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Rastrová mapa <%s> již existuje a bude přepsána."
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Rastrová mapa <%s> již existuje a bude přepsána."
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Nelze vytvořit vektorovou mapu <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Nelze otevřít databázi <%s> ovladačem <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Nelze vytvořit tabulku <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Nelze kopírovat atributovou tabulku do vektorové mapy <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Nelze vytvořit tabulku <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30920,7 +31803,7 @@ msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 "Požadováno pro operaci 'spojení'. Spojuje body v dané mezní vzdálenosti."
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30934,8 +31817,8 @@ msgstr "Název vstupní bodové vektorové vrstvy"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr "Požadováno pro operaci 'spojení'"
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30963,81 +31846,122 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "Nalézá nejkratší cestu ve vektorové síti."
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Žádná tabulka."
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 "Požadováno pro operaci 'spojení'. Spojuje body v dané mezní vzdálenosti."
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Jména vstupních souborů"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Požadováno pro operaci 'spojení'"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "Přiřaď jedinečné kategorie novým bodům "
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr "PRo operaci 'nodes' (uzly)"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Vektorová mapa s cílovými body"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Vrstva linie"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr "Neznámá operace"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "Mezní hodnota musí být >= 0"
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Provádí správu síťě"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "Provádí správu síťě"
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "Nelze otevřít vektorový soubor <%s> v úrovni topologie %d"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d nových bodů zapsáno do výstupní mapy"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "[%d] linií načteno a zapsáno do výstupu"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "Kopíruji atributy..."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr "Nelze kopírovat atributovou tabulku do výstupní mapy"
@@ -31057,8 +31981,9 @@ msgstr "%d bodů nalezeno: %.3lf %.3lf %.3lf kategorie linie: %d"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "body"
@@ -31091,9 +32016,9 @@ msgstr "Jméno sloupce obsahujícího souřadnici y"
 msgid "Name of column containing z coordinate"
 msgstr "Jméno sloupce obsahujícího souřadnici z"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "Vytvořit 3D výstup"
@@ -31306,13 +32231,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Vektorová mapa '%s' již existuje a bude přepsána."
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "Vektorová mapa <%s> již existuje"
@@ -31512,28 +32437,28 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr "Vytvoří vnější rohy hranaté"
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Netytváří 'čepice' na konci ronvoběžek"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Vypsat vektorové atributy"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 "Vyberte bufer vzdálenost/vedlější vzdálenost/úhel nebo sloupec ale ne oboje."
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31541,172 +32466,172 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "Tato volba vyžaduje jeden sloupec"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'layer' musí být . 0 pro 'where'"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Tolerance byla přenastavena na %g"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Neplatná žádost delete"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Tolerance v jednotkách mapy = %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Nelze číst vektorovou mapy"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Nelze vybrat data z tabulky <%s>"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Typ sloupce není podporován"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr "Bufer ploch..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Pro kategorii %d není žádný záznam v tabulce <%s>"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Atribut má neplatnou velikost (%.3f) pro kategorii %d"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "Tolerance v jednotkách mapy: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Bufer ploch..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Bufery linií... "
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "Přebudovávám části topologie... "
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr "Spojování hranic..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Zlom polygonů"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "Odstraňuji duplicitní centroidy ..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "Lámu hranice ..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Čistím hranice v uzlech..."
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Mazání přívěsků"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Mazání mostů"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Přidávám ostrovy..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Výpočet polohy středu..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Nelze spočítat centroid oblasti"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Čistím hranice v uzlech..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Lámu hranice ..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Výpočet polohy středu..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Nelze vypočítat centroid plochy"
@@ -32098,7 +33023,7 @@ msgstr "%s selhalo"
 msgid "Not enough disk space--cannot write files"
 msgstr "%d bytů prostoru na disku pro dočasné soubory."
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -32148,11 +33073,12 @@ msgstr "Počítá mosty a artikulační body v síti"
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -32163,15 +33089,15 @@ msgstr "Počítá mosty a artikulační body v síti"
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -32179,12 +33105,12 @@ msgstr "Počítá mosty a artikulační body v síti"
 msgid "Cost"
 msgstr "Cena"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr "Sloupec s cenami uzlů"
 
@@ -32212,12 +33138,12 @@ msgstr "Typ prvku"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Nelze vytvořit vektorovou mapu <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 #, fuzzy
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr "Určit (alokovat) podsíťě pro nejbližší centra (směr ze středu)."
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 #, fuzzy
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
@@ -32226,7 +33152,7 @@ msgstr ""
 "Střední uzel musí být otevřen (ceny >= 0). Ceny středových uzlů jsou použity "
 "ve výpočtu"
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 #, fuzzy
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
@@ -32235,30 +33161,48 @@ msgstr ""
 "Kategorie středů (body na uzlech), k nimž bude síť alokována, vrstva pro "
 "tyto kategorie je dána parametrem nlayer"
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Vrstva / tabulka"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Bod není spojen se sítí"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "Počet středů: [%d] (nlayer:[%d])"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 #, fuzzy
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 "Nedostatečný počet středů pro vybranou vrstvu (nlayer). Nic nebude alokováno."
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Počítám ceny ze středů ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr "Nelze získat segment linie, segment je mimo linii"
 
@@ -32607,83 +33551,83 @@ msgstr ""
 "Nelze uzavřít atributovou tabulku. Ovladač DBMI nepřijal všechny atributy"
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Vstup selhal"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Náhodně vytvořit 2D/3D bodovou vektorovou vrstvu."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "počet bodů, které mají být vytvořeny"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "načítání bodů ve vstupní vektorové vrstvě "
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "minimální výška z (nutný přepínač -znebo název sloupce)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "maximální výška z (nutný přepínač -znebo název sloupce)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Jméno sloupce obsahujícího numerická data"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Zapíše y-souřadnice do sloupce místo vytvoření 3D vektoru"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Typ tabulky barev"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Vytvořit 3D výstup"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Vybírám prvky...."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "počet bodů,musí být > 0 (zadáno %d)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d z %d prvků vybráno pro vektorovou mapu <%s>"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Jméno existující vektorové mapy (to)"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr "Tabulka by měla obsahovat pouze dva sloupce"
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
@@ -32691,20 +33635,20 @@ msgstr ""
 "vytvořilli jste nepodporovaný typ sloupce. Tento modul podporuje pouze tyto "
 "typy slopuců INTEGER a DOUBLE PRECISION."
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr ""
 "Počáteční vektorová mapa <%s> neobsahuje v současném regionu žádné body"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr ""
 "Počáteční vektorová mapa <%s> neobsahuje v současném regionu žádné body"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "Vytvářím body..."
 
@@ -32895,6 +33839,159 @@ msgstr "Nelze aktualizovat íşdaje v databázi"
 msgid "Impossible to write in the database"
 msgstr "Nelze zapsat íşdaje do databáze"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Generalizace (%s)..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Bodová klasifikace"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "Žádná bodová data nenalezena"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Celočíselné hodnoty jsou importovány"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Celočíselné hodnoty jsou importovány"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s>  neplatný počet bodů "
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Maximální přípustná hodnota"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Počet opakování \t= %d buňek\n"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Počet opakování \t= %d buňek\n"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Směrodatná odchylka"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Neplatné zrange"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -32966,7 +34063,7 @@ msgstr "systémové tabulky místo uživatelských"
 msgid "Force 2D output even if input is 3D "
 msgstr "Vynutit 2D výstup, i když je vstup 3D"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr "Užitečné, pokud je vstup 3D, ale všechny souřadnice z jsou totožné"
@@ -33183,6 +34280,183 @@ msgstr "Nelze vybrat artibuty"
 msgid "Labeled %d lines."
 msgstr "%d linií označeno"
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "Žádná bodová data nenalezena"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "rastr"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d tříd."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Cluster separace"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Číslo vrstvy (vektorová mapa A)"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Maximální vzdálenost od bodu k síti"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Minimální počet pixelů ve třídě"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Cluster separace"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Počet tříd musí být < 256!"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Velikost sousedů musí být větší než nula"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Počítám plochy ve zkusných plochách ..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Žádné body nebyly nalezeny, přeskakuji type=point"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Vytvářím cenovou mezipaměť..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s=%s - musí být větší než nula"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Používám maximální vzdálenost mezi jednotlivými body: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Nebyly nalezeny žádné rastrové mapy"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Maximální vzdálenost k nejbližšímu prvku"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, fuzzy, c-format
+msgid "Mean: %g"
+msgstr "Průměr = %.5lf"
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Směrodatná odchylka"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Používám maximální vzdálenost mezi jednotlivými body: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Hledání nákladů cesty..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr "npoints = %d, nterrain = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Nic nebylo nalezeno, přeskakuji typ=line"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Zapisuji výslednou rastrovou mapu %s... "
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Načítám vstupy..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "Žádná bodová data nenalezena"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+#, fuzzy
+msgid "Core density ..."
+msgstr "vektor, jádrová hustota"
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "Nalezeno%d tříd"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "Nalezeno%d tříd"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -33251,7 +34525,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr "Zobrazí typ/jméno sloupce z databáze připojené na vrstvu %d:"
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33550,14 +34824,8 @@ msgstr "Nebyl vybán žádný záznam"
 msgid "Loading data..."
 msgstr "Načítám data... "
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Vektorová mapa <%s> není 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Sloupec <%s> nebyl nalezen"
@@ -33614,17 +34882,17 @@ msgid "Color can be updated from database only if use=attr"
 msgstr ""
 "Barva může být aktualizována z databáze pouze jesstli je použití=atribut"
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "Změněných ploch: %d z %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "Změněných bodů/linií: %d z %d"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "Načítám plochy..."
 
@@ -33790,15 +35058,15 @@ msgstr "Parametr column nemůže být použit současně se souřadnicí z"
 msgid "Unknown option '%s'"
 msgstr "Neznámá volba '%s'"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr "obchodní cestující"
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr "Vytvoří cyklus spojující dané uzly (Problém obchodního cestujícího)."
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
@@ -33806,65 +35074,65 @@ msgstr ""
 "Problém obchodního cestujícího (TSP) je NP-těžká úloha, v tomto modulu je "
 "použit heuristický algoritmus, vytvoření cyklu nemusí být optimální řešení"
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr "Kategorie bodů ('cities') na uzlech (vrstva je dána parametrem nlayer)"
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr "Vrstva uzlů (použito pro města (cities))"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "EXPERIMENTÁLNÍ:Sloupec cen (pohyb ve směru zpět)."
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr ""
 "Název výstupního souboru uchovávajícího posloupnost uzlů (pro standardní "
 "výstup použijte \"-\")"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr "Kategorie bodů ('cities') na uzlech (vrstva je dána parametrem nlayer)"
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Počet měst (cities): [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "Nedostatek měst (cities) (<2)"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Vytvářím cenovou mezipaměť..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "Žádný bod na uzlu %d"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Žádná kategorie pro bod na uzlu %d"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Místo určení [kategorie %d] je nedosažitelné z místa [kategorie %d]"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr "Vyhledávání nejkratšího okruhu..."
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr "Okruh s celkovou cenou %.3f"
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Nelze otevřít soubor '%s' pro zápis"
@@ -34030,6 +35298,21 @@ msgstr "Vyberte typ: linie nebo plocha"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr " 4 parametry vyžadovány pro 'prostorový' parametr."
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Neznámá volba  pravidla: '%s'"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Přeskakuje se kontrola kartografického zobrazení."
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -34152,7 +35435,7 @@ msgid "Processing features..."
 msgstr "Zpracovávám prvky..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "Nelze vypočítat centroid plochy"
 
@@ -34220,7 +35503,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Nelze použít sloupec <%s>"
@@ -34628,7 +35911,7 @@ msgstr "Žádný bod s kategorií [%d]"
 msgid "%d records updated"
 msgstr "%d záznamů aktualizováno"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34734,9 +36017,8 @@ msgstr "Neznámá operace"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Nelze zacyklit řetězec ve sloupci: [%s]"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "Převádím prvky..."
 
 #: ../vector/v.transform/main.c:290
@@ -35188,7 +36470,7 @@ msgstr "Chyba při otevírání 3d rastrové mapy <%s>"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Typ sloupce není podporován (musí být string)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Načítám prvky..."
@@ -35272,6 +36554,10 @@ msgstr "Název sloupce se stupni centrality"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Sloupce"
 
@@ -35339,57 +36625,62 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Vytiskni průměrné hodnoty namísto intervalů"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Sloupec <%s> nebyl nalezen v tabulce <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Typ rastru je celé číslo, typ sloupce je float"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "Typ rastru je float a typ sloupce je celé číslo, některá data mohou být "
 "ztracena!!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "%d linií nebo hranic nalezeno ve vektorové mapě <%s@%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d bodů je mimo současný region, vynechávám"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr "%d bodů bez kategorie, vynechávám"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "Více bodů (%d) kategorie %d, hodnota nastavena na 'NULL'"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d kategorií bylo načteno z vektorové mapy"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d duplicitních kategorií ve vektorové mapě"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d kategorií bylo načteno z tabulky"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d kategorií z vektorové mapy chybí v tabulce"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d záznamů aktualizováno"
@@ -36259,29 +37550,39 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "Vypsat vektorové atributy"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "WHERE podmínky SQL dotazu pro prvky 'do' ('to') beze slova 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Výstupní vertikální oddělovač záznamů"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 "Vypsat minimální rozměry regionu vybraného vektorového prvku místo atributů"
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 msgid "Region"
 msgstr "Region"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 msgid "Exclude attributes not linked to features"
 msgstr "Vynechat atributy, které nejsou připojeny k prvkům"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
@@ -36290,21 +37591,21 @@ msgstr ""
 "Nelze otevřít vektorovou mapu <%s> na úrovni topologie. Přepínač '%c' "
 "vyžaduje úroveň topologie."
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "Nelze otevřít kurzor pro výbě"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Nelze načíst data z tabulky <%s>"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "Nelze získa tokraj regionu pro plochu %d"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "Nelze získat okraj regionu pro linii %d"
@@ -36595,7 +37896,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d záznamů bylo vybráno z tabulky"
 msgstr[1] "%d záznamů bylo vybráno z tabulky"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Nelze vytvořit tabulku <%s>"
@@ -36622,7 +37923,7 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Doztazuji se databáze ...."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
@@ -36631,14 +37932,14 @@ msgstr ""
 "Dotez pro kategorii '0' (žádná kategorie) nebyl vykonán díky mnoha (%d) "
 "dotazovaným kategoriím. Všechny další zprávy pro kategorii 0 nejsou platné."
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 "Mnohonásobné výsledky dotazu, výstupní hodnota nastavena na NULL (kategorie "
 "[%d])"
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr "Nelze získat řádek"
 
@@ -36654,6 +37955,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Barevná tabulka rastrové mapy <%s> nebyl nalezena"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Aktualizace databáze ..."
@@ -36928,7 +38234,8 @@ msgstr "%s akumuluje tyto hodnoty místo plochy.\n"
 msgid " Database connection not defined for layer <%s>"
 msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Typ sloupce není podporován"
@@ -36947,52 +38254,52 @@ msgstr "[%d] bodů bez kategorie ( nfield: [%d])"
 msgid "Wrong input format: %s"
 msgstr "Špatný vstupní formát: %s"
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "Žádný bod s kategorií [%d]"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr "Bod s kategorií [%d] nelze dosáhnout z bodu s kategorií [%d]"
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr "Bod %f,%f je nedosažitelný z bodu %f,%f"
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] chyb vstupního formátu"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr "[%d] bodů dané kategorie chybí"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr "%d cíl(e) jsou nedosažitelné (včetně bodů mimo mezní hodnotu)"
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "Nalézá nejkratší cestu ve vektorové síti."
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 "Název souboru obsahujícího počáteční a koncové body. Pokud nezadáno, čte se "
 "standardní vstup"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr "Maximální vzdálenost od bodu k síti"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
@@ -37002,7 +38309,7 @@ msgstr ""
 "prahovou hodnotu, cesta nebude nalezena a vytiskne se chybová zpráva. Pro "
 "zrychlení procesu udržujte tuto hodnotu co nejnižší."
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 "Zapiš výstup jako části původního vstupu, ne každou cestu jako jednu linii."
@@ -37595,46 +38902,50 @@ msgstr "Maximální počet bodů v segmentu"
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Zapíše opěrné body linií."
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "Vyhlazení musí být pozitivní hodnota."
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Neznámý typ sloupce '%s'"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "Nelze získat jednotky mapové projekce vstupní mapy"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "délka %f\n"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "délka %f\n"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Počet tříd musí být < 256!"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -37735,10 +39046,6 @@ msgstr "|Sloupec musí být číselnéh typu"
 msgid "Reading categories..."
 msgstr "Přidávám kategorie..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Převádím prvky..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37912,7 +39219,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Interpoluje body mezi opěrnými body linií."
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Nelze kopírovat tabullku <%s>"
@@ -38179,212 +39486,233 @@ msgstr ""
 "Pro definici nového připojení musíte zadat tyto parametry: ovladač,databázi, "
 "tabulku [, klíč [, vrstvu]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Změna projekce rastrové mapy ze zvolené location do aktuální location."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "Lokace obsahující vstupní vektorovou vrstvu"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "Mapset obsahující vstupní vektorové vrstvy"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Název vstupní rastrové mapy"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Mapset obsahující vstupní vektorové vrstvy"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Vypiš vektorové soubory vstupní location a ukonči se"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "Pouze 3D vektorové mapy"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 #, fuzzy
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 "Předpokládejme, že souřadnice z je výška nad elipsoidem a pokud možno, "
 "transformuj"
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Nebyly nalezeny žádné rastrové mapy"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Vektorová mapa <%s> v lokaci <%s>, mapsetu <%s> nenalezena"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "Mapset <%s> ve vstupní lokaci <%s> - přístup odepřen"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "Mapset <%s> ve vstupní lokaci <%s> - nebyl nalezen"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "Načítání vstupní vektorovou mapu"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Vektorová mapa <%s> není 3D!"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr "Chyba v pj_do_transform"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Reprojekce základních prvků:"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Nelze otevřít vektorovou mapu <%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Vytvoří nový binární vektorovou mapu kombinací více vektorových vrstev."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr ""
 "Výstupní vektorová mapa, do které budou zapsány výběry vstupního vektoru"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Nevytvářet topologii"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
 msgstr ""
-"Přiložit soubory k existujícímu souboru (musí být aktivována volba přepsání)"
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "Zkopíruj také atributovou tabulku."
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr "V současnosti je podporována pouze vrstva 1."
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+"Přiložit soubory k existujícímu souboru (musí být aktivována volba přepsání)"
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Postrádám tabulku"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "Klíčové sloupce jsou různé."
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "Počet sloupců se liší."
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "Jména sloupců se liší."
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "Typy sloupců se liší."
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr "Délky textových sloupců se liší"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Klíčový sloupec nenalezen"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "Výstupní mapa není 3D."
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Opravuji vektorovou mapu <%s@%s>..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr "Chyba při čtení souboru <%s> - některá data mohou být poškozena"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Buduji topologii pro vektorovou mapu <%s>..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr "Průniky hranic budou muset být spojeny (snap)."
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr "Linie souborům společné budou muset být editovány."
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr "Informace v hlavičce by také měly být upraveny."
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr "%d vektorových map opraveno"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "Nelze otevřít kurzor pro výběr: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "Nelze přidat řádek"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Neznámý typ sloupce"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Nelze vložit nový záznam: '%s'"
@@ -39058,16 +40386,12 @@ msgstr[1] "%d lomových bodů smazáno"
 msgid "Operation not implemented"
 msgstr "Operace nebyla dosud implementována"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr ""
 "Importuje vektorová data do vektorové vrstvy GRASSu za použití knihovny OGR."
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "Název zdroje dat OGR"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
@@ -39077,7 +40401,7 @@ msgstr ""
 "\t\tESRI ShapeFile: adresář obsahující soubory ShapeFile\n"
 "\t\tSoubory MapInfo: adresář obsahující soubory MapInfo"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -39087,48 +40411,48 @@ msgstr ""
 "\t\tESRI ShapeFile: název souboru ShapeFile\n"
 "\t\tSoubor MapInfo: název souboru MapInfo"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "Importovat pouze subregion"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "Formát: xmin,ymin,xmax,ymax - obvykle Z,J,V,S"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Minimální importovaná plocha (plošné jednotky)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr "Menší plochy a ostrovy budou ignorovány. Měla by být větší než snap^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr "Volitelně změnit základní vstupní typ"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Žádné aktivní pseudo kontrolní body"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Čistím hranice v uzlech..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "VYtvořit lomené čáry z linií a hranic."
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Zmazat duplicitní centroidy     "
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -39136,169 +40460,169 @@ msgstr ""
 "Seznam názvů sloupců, které budou použity namísto originálních názvů, první "
 "je požit pro sloupce s kategoriemi"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr ""
 "Název sloupce atributu, který má být použit jaok štítky pro kategorie "
 "rastrové mapy"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Název sloupce se stupni centrality"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "Jestli ne, bude použito zadané jméno vstupní mapy "
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "Nepročistit polygony (nedoporučuje se)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 msgid "Force 2D output even if input is 3D"
 msgstr "Vynutit 2D výstup, i když je vstup 3D"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "Limit při importu do současného regionu"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "Změnit názvy sloupců na malá písmena"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Nelze otevřít zdroj dat <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Pozice kurzoru není podporována ovladačem MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, fuzzy, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr "Zdroj dat obsahuje %d vrstev:"
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "Vrstva <%s> není dostupná"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Vrstva <%s> není dostupná"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "Nelze získat informace o vrstvě pro vektorovou mapu <%s>"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Sloupec <%s> nebyl nalezen v tabulce <%s>"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr "Vyberte současné nastavení regionu nebo prostorové volby, ne oboje"
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr " 4 parametry vyžadovány pro 'prostorový' parametr."
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Vzdálenost bufferu v mapových jednotkách"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Nelze vytvořit vektorovou mapu <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Sloupec s klíčem '%s' nebyl nalezen"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Sloupec s klíčem není typu integer"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Sloupec <%s> nebyl nalezen v tabulce <%s>"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr "Zápis sloupce <%s> s pevnou délkou %d znaků (může být zkrácen)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr "Zápis sloupce <%s> s pevnou délkou %d znaků (může být zkrácen)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -39307,65 +40631,65 @@ msgstr ""
 "Délka pro sloupec '%s' nastavena na 255 (nebyla specifikována OGR), některé "
 "řetězce mohou být zkráceny!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr "Zápis sloupce <%s> s pevnou délkou %d znaků (může být zkrácen)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Typ sloupce není podporován (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Importuji prvky mapy %d..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s bez geometrie"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Zlom polygonů"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "rozdělit hranice (mezní hodnota =%.3e)"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "Čistím hranice v uzlech..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Lámu hranice ..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Měním hranice přívěsků  na linie:"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Měním hranice mostů na linie:        "
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Výpočet polohy středu..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "Zapisuji centroidy ..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39377,99 +40701,99 @@ msgstr ""
 "atributové tabulce. Číslo prvků pro tyto plochy jsou uloženy jako kategorie "
 "ve vrstvě %d"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d vstupních polygonů"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d vstupních polygonů"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Celkem ploch: %e (%d ploch)"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Celkem ploch: %e (%d ploch)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Překrytí plochy: %e (%d ploch)"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Překrytí plochy: %e (%d ploch)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "PPlochy bez kategorie:%e (%d ploch)"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "PPlochy bez kategorie:%e (%d ploch)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Práh navázaní pro hranice"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Nelze vyjmout tabulku: %s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -39518,17 +40842,21 @@ msgstr "Nelze zapsat část geometrie "
 msgid "Unknown geometry type"
 msgstr "Neznámý typ geometrie"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Název výstupního souboru"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Název rastrového souboru, který má být spojen"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39540,22 +40868,22 @@ msgstr ""
 "\t\tESRI ShapeFile: název souboru ShapeFile\n"
 "\t\tSoubor MapInfo: název souboru MapInfo"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Jméno výstupní rastrové mapy (výchozí: jméno vstupní mapy)"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "Vypiš dostupné vrstvy z datového zdroje a ukonči se"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Vypiš dostupné vrstvy z datového zdroje a ukonči se"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 #, fuzzy
 msgid "Format: layer name,type,projection check,geometry"
 msgstr "Formát: vrstva typ počet min max"
@@ -39619,17 +40947,17 @@ msgid ""
 msgstr ""
 "Vytvoří novou vektorovou mapu jako odkaz na OGR vrstvu (pouze pro čtení)."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Nelze vytvořit tabulku : '%s'"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Nelze vytvořit soubor <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "Rastrová mapa <%s> byla vytvořena."
@@ -39767,16 +41095,16 @@ msgstr "Nelze vytvořit výstupní rastrovou mapu "
 msgid "Unable to close new 3d raster map"
 msgstr "Nelze zavřít nový3D rastr"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "izoinie"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "Rozdělí síť podle cenových izolinií."
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 #, fuzzy
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
@@ -39787,44 +41115,44 @@ msgstr ""
 "uzel musí být otevřen (ceny >=0). Hodnota ceny středového uzlu bude použita "
 "při výpočtu."
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "Ceny pro izolinie"
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr "Špatná cena izolinie: %f"
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr "Hodnota izolinie: %f méně než předchozí"
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr "Hodnota izolinie %d: %f"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr "Nedostatečné ceny, všechny prvky spadají do sprvní skupiny hodnot."
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr "Střed na uzavřeném uzlu (hodnota = -1) ingorován"
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "Počet středů (center): %d (nlayer:%d)"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 "Nedostatečný počet středů pro vybranou vrstvu (nlayer). Nic nebude přiděleno."
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Počítám ceny ze středu %d..."
@@ -39994,6 +41322,138 @@ msgstr ""
 "Poznámka: Včetně minima první třídy\n"
 "\n"
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Spojení s databází nebylo definováno pro vrstvu %d "
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Žádný záznam pro kategorii [%d]"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Žádný záznam pro kategorii [%d]"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Sloupec <%s> nebyl nalezen"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Vytvořit vektorové body jako 3D body"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Konvertuje vektorové vrstvy OGR na GRASS vektorové mapy."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Číslo vrstvy (from)"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld kategorií"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Číslo vrstvy (to)"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Číslo vrstvy (to)"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Číslo vrstvy, ke které se mají sloupce přidat"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Číslo vrstvy, ke které se mají sloupce přidat"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Číslo vrstvy, ke které se mají sloupce přidat"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "|Sloupec musí být číselnéh typu"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Jméno sloupce s definicí barvy (se vstupem RRR:GGG:BBB)"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "Nelze číst barvy."
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "Nastavit na z data"
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "Nastavit na z data"
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Limit při importu do současného regionu"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Žádná tabulka."
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr "minimální kostra"
@@ -40184,7 +41644,7 @@ msgstr "Vybírám prvky...."
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s>  neplatný počet bodů "
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Musí být zadána alespoň jedna volba z %s"
@@ -40497,50 +41957,237 @@ msgstr "Subregion neosahuje žádná data. zvaže změnu kroku křivosti"
 msgid "Auxiliary table could not be dropped"
 msgstr "Nemohla být odstraněna pomocná tabulka"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Nelze otevřít vektorovou mapu <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Nelze otevřít databázi <%s> ovladačem <%s>"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Konvertuje vektorové vrstvy OGR na GRASS vektorové mapy."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Subegion"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Číslo vrstvy (to)"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Číslo vrstvy, ke které se mají sloupce přidat"
 
-#: ../vector/v.in.lidar/main.c:606
-#, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Nelze otevřít databázi <%s> ovladačem <%s>"
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Název vstupní vektorové vrstvy řídkého bodového pole"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Číslo vrstvy (vektorová mapa A)"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Celočíselné hodnoty jsou importovány"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Korelace"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Celočíselné hodnoty jsou importovány"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Importuji body ..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s>  neplatný počet bodů "
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Vstupní vektorová mapa obsahující body"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Počáteční mapové souřadnice"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Vytiskni na standardní výstup, neměň atributovou tabulku."
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Číslo vrstvy (from)"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
 msgstr "Importuji body ..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "Scanning %lu points..."
+msgstr "Importuji body ..."
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "%d bodů načteno"
+
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
 msgstr "%d bodů načteno"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d bodů načteno"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d bodů načteno"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:791
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered out by class number"
 msgstr "%d bodů mimo práhovou hodnotu"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d bodů mimo práhovou hodnotu"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:795
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr "%d bodů mimo práhovou hodnotu"
 
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d bodů mimo práhovou hodnotu"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Nedostatek bodů, je požadováno %d"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40709,7 +42356,7 @@ msgstr ""
 "Název výstupní vektorové vrstvy, do které budou zapsány chybné prvky vektoru"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "Sestavit topologii nebo vypsat informace o tolopogii a indexech na "
 "standardní výstup"
@@ -41768,11 +43415,6 @@ msgstr "Nelzevypočítat inverzní matici"
 msgid "Resolving conflicts..."
 msgstr "Řeším problémy..."
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Generalizace (%s)..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -41945,59 +43587,59 @@ msgstr "Generalizace prvků vektorové mapy"
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "Generalizace (%s)..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Používám rozlišení [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr "Font '%s' není font typu FreeType \n"
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr "Font '%s' není font typu FreeType \n"
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, fuzzy, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 "%d hranic nebylo ořezáno, protože ořezání by poškodilo jejich topologii"
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, fuzzy, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr "Počet opěrných bodů byl snížen z %d na %d [%d%%]"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 #, fuzzy
 msgid "changed"
 msgstr "Řádky změněny"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Vrstva %d"
@@ -42046,74 +43688,6 @@ msgstr "Vrstva %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Počet zkusných ploch"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Název existující rastrové mapy obsahující frikční hodnoty"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Název existující rastrové mapy obsahující frikční hodnoty"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Výstupní difůzní osvětlení [W.m-2] (mode 1) nebo mapa osvětlení [Wh.m-2."
-#~ "den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Výstupní záření odražené od země [W.m-2] (mode 1) nebo rastrová mapa "
-#~ "ozáření [Wh.m-2.den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Výstupní globální (totální) osvětlení paprskem [W.m-2] (mode 1) nebo "
-#~ "rastrová mapa osvětlení [Wh.m-2.den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Jméno rastrové mapy elevace [m]"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Název vstupního souboru s digitálním modelem terénu"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Výstupní záření odražené od země [W.m-2] (mode 1) nebo rastrová mapa "
-#~ "ozáření [Wh.m-2.den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Výstupní globální (totální) osvětlení paprskem [W.m-2] (mode 1) nebo "
-#~ "rastrová mapa osvětlení [Wh.m-2.den-1] (mode 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Počet bodů pro interpolaci"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Přepsat kartografické zobrazení (použít zobrazení lokace)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Lokace: %s\n"
 
@@ -42130,16 +43704,16 @@ msgstr "Vrstva %d"
 #~ "\n"
 #~ "%d tříd, %.2f%% bodů stabilních\n"
 
+#~ msgid "Subregion"
+#~ msgstr "Subegion"
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Zvětšení hodnoty kategorií o"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "volba <%s>: <%s> již existuje"
-
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Výstupní mapa <%s> ignorována"
+#~ msgid "Could not rewind input file"
+#~ msgstr "Nelze otevřít výstupní soubor <%s>"
 
 #, fuzzy
 #~ msgid "Input options"
@@ -42149,6 +43723,9 @@ msgstr "Vrstva %d"
 #~ msgid "Output options"
 #~ msgstr "Výstupní_volby"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Přepsat kartografické zobrazení (použít zobrazení lokace)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.external to override this check and use the "
@@ -42162,10 +43739,6 @@ msgstr "Vrstva %d"
 #~ msgstr "%s: Chyba při zapisování do dočasného souboru"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Výstupní mapa topografického indexu:"
-
-#, fuzzy
 #~ msgid "Name for basins raster map"
 #~ msgstr "Název základní rastrové mapy"
 
@@ -42177,6 +43750,13 @@ msgstr "Vrstva %d"
 #~ "\n"
 #~ "Můžete použít přepínač -o zrušení této kontroly.\n"
 
+#, fuzzy
+#~ msgid "output map <%s> exists"
+#~ msgstr "Výstupní mapa <%s> ignorována"
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "Přepsat kartografické zobrazení (použít zobrazení lokace)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -42187,6 +43767,9 @@ msgstr "Vrstva %d"
 #~ msgid "[%s] not found"
 #~ msgstr "[%s] nenalezen"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "volba <%s>: <%s> již existuje"
+
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Délka stránky (výchozí: %d řádků)"
 
@@ -42196,15 +43779,62 @@ msgstr "Vrstva %d"
 #~ msgid "Lokace:"
 #~ msgstr "Location:"
 
+#~ msgid "OGR datasource name"
+#~ msgstr "Název zdroje dat OGR"
+
 #, fuzzy
 #~ msgid "Default: path to the current GRASS database"
 #~ msgstr "Název cílového mapsetu"
 
 #, fuzzy
+#~ msgid "Command file not found"
+#~ msgstr "Rastrový (cell) soubor nebyl nalezen"
+
+#, fuzzy
+#~ msgid "Env file not found"
+#~ msgstr "Rastrový (cell) soubor nebyl nalezen"
+
+#, fuzzy
+#~ msgid "PID file not found"
+#~ msgstr "Rastrový (cell) soubor nebyl nalezen"
+
+#, fuzzy
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Nelze vytvořit soubor <%s>"
+
+#, fuzzy
+#~ msgid "Starting monitor <%s> with env file '%s'"
+#~ msgstr "Natavuji jméno mapy na <%s>, které přepíše <%s>"
+
+#, fuzzy
+#~ msgid "Text color or \"none\""
+#~ msgstr "Barva textu"
+
+#, fuzzy
+#~ msgid "Username to set for DB connection"
+#~ msgstr "Nelze nastavit projekci"
+
+#, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Nelze nastavit projekci"
+
+#, fuzzy
 #~ msgid "Full path to the directory where the new location is"
 #~ msgstr "nová GISDBASE (celá cesta k adrešáři, kde je uložena nová location)"
 
 #, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "-s a -n se navzájem vylučují"
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "-s a -n se navzájem vylučují"
+
+#, fuzzy
+#~ msgid "Name for output image"
+#~ msgstr "Název výstupního souboru"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "aktualizuji metadat vektorové mapy."
 
@@ -42332,10 +43962,6 @@ msgstr "Vrstva %d"
 #~ msgstr "Prosím, zadejte sloupec z"
 
 #, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "input= a source= se vzájemně vylučují"
-
-#, fuzzy
 #~ msgid "datapos= and infile= are mutually exclusive"
 #~ msgstr "input= a source= se vzájemně vylučují"
 
diff --git a/locale/po/grassmods_de.po b/locale/po/grassmods_de.po
index 9e2b46e..50862ac 100644
--- a/locale/po/grassmods_de.po
+++ b/locale/po/grassmods_de.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2014-08-13 11:44+0200\n"
 "Last-Translator: Robert Nuske <robert.nuske nw-fva.de>\n"
 "Language-Team: German <grass-translations at lists.osgeo.org>\n"
@@ -23,10 +23,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -44,6 +44,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -71,12 +72,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -122,7 +124,7 @@ msgstr "Respektiere NULL-Werte während des Zeichnens."
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -130,14 +132,16 @@ msgid "Color file for <%s> not available"
 msgstr "Farbdatei für <%s> nicht vorhanden."
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -156,7 +160,9 @@ msgstr "Farbdatei für <%s> nicht vorhanden."
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -177,7 +183,7 @@ msgstr "Farbdatei für <%s> nicht vorhanden."
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -189,7 +195,7 @@ msgstr "Farbdatei für <%s> nicht vorhanden."
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -213,17 +219,17 @@ msgstr "Farbdatei für <%s> nicht vorhanden."
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -234,7 +240,7 @@ msgstr "Farbdatei für <%s> nicht vorhanden."
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -382,10 +388,13 @@ msgstr "Zeichnet eine Legende für eine Rasterkarte im aktiven Grafikfenster."
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "Eingabe"
 
@@ -433,22 +442,24 @@ msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 "Benutze einen Teilausschnitt der Wertespanne für eine Legende (min,max)."
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Text-Farbe"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Einstellungen"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Schriftname"
 
@@ -462,11 +473,13 @@ msgstr "Schriftgröße"
 msgid "Default: Auto-scaled"
 msgstr "Standardeinstellung: Kartenmitte"
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "Pfad zur Font-Datei."
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr "Text Encoding (nur für TrueType Fonts)."
 
@@ -567,14 +580,20 @@ msgstr "Farbspanne überschreitet obere Grenze des aktuellen Datensatzes."
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "use=%s out of range [%.3f, %.3f]. (extend with range= ?)"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Nichts zu zeichnen! Evtl. keine Kategorien mit Labeln?"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -617,11 +636,11 @@ msgstr "Titel der Grafik"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -699,23 +718,26 @@ msgstr "Liste der Werte die angezeigt werden sollen (INT-Karten)."
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -725,14 +747,19 @@ msgstr "Liste der Werte die angezeigt werden sollen (INT-Karten)."
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -781,52 +808,53 @@ msgstr "%s: ungültiger Wert."
 msgid "[%s]: No such color"
 msgstr "[%s]: Diese Farbe gibt es nicht."
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 #, fuzzy
 msgid "monitors"
 msgstr "Liste aller Grafikfenster."
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Zeige Informationen über das aktive Grafikfenster."
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Stelle das Screen-Rechteck dar (link, rechts, oben, unten)."
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "Stelle die Screen-Dimensionen dar (Breite, Höhe)."
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "Stelle das aktive Frame-Rechteck dar."
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Stelle die Screen-Dimensionen dar (Breite, Höhe)."
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "Stelle das Screen-Rechteck der aktuellen Region dar."
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 #, fuzzy
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 "Zeigt geographische Koordinaten und die Auflösung des gesamten Bildschirms."
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -834,31 +862,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Die Datenbankverbindung für den Layer<%d> ist nicht definiert."
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -868,10 +897,10 @@ msgstr "Die Datenbankverbindung für den Layer<%d> ist nicht definiert."
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -885,7 +914,7 @@ msgstr "Die Datenbankverbindung für den Layer<%d> ist nicht definiert."
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Kann Datenbank <%s> nicht mit dem Treiber <%s> öffnen."
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -908,7 +937,7 @@ msgstr "Diagrammtyp"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr "Diagramm-Eigenschaften"
 
@@ -950,7 +979,12 @@ msgstr "Maximaler Wert wird für die Referenz des Balkenplots verwendet."
 msgid "Create legend information and send to stdout"
 msgstr "Erzeuge Legendeninformation und gebe sie auf stdout aus."
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Erzeuge eine 3D-Ausgabe."
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -958,20 +992,22 @@ msgstr "Erzeuge Legendeninformation und gebe sie auf stdout aus."
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -986,40 +1022,40 @@ msgstr "Erzeuge Legendeninformation und gebe sie auf stdout aus."
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht öffnen."
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1044,10 +1080,6 @@ msgstr "Anfangs- und End-Koordinaten."
 msgid "Line color"
 msgstr "Linien-Farbe"
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr "Text-Farbe oder \"none\"."
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1108,12 +1140,15 @@ msgstr "L: Hinzufügen M: Entfernen R: Beenden und speichern\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1132,17 +1167,18 @@ msgstr "L: Hinzufügen M: Entfernen R: Beenden und speichern\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1155,10 +1191,10 @@ msgstr "L: Hinzufügen M: Entfernen R: Beenden und speichern\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1166,21 +1202,22 @@ msgstr "L: Hinzufügen M: Entfernen R: Beenden und speichern\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "Vektor"
 
@@ -1227,16 +1264,18 @@ msgstr "Vektorkarte <%s> nicht gefunden."
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1248,22 +1287,22 @@ msgstr "Vektorkarte <%s> nicht gefunden."
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1317,10 +1356,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1374,12 +1413,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Name der Rasterkarte für <%s>."
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Führe log Transformation aus."
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1388,28 +1427,28 @@ msgstr ""
 "Überlagert Zell-Kategoriewerte über eine Rasterkarte im aktiven Grafik-"
 "Fenster."
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Gitternetz Farbe"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "Anzahl der signifikanten Stellen (nur Fließkommazahlen)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Indiziere die Punkte nicht mittels der Rasterzellen."
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "Hole Textfarbe von der Farbtabelle der Zelle."
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1418,7 +1457,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1426,7 +1465,7 @@ msgstr[0] "Gitternetz Farbe"
 msgstr[1] "Gitternetz Farbe"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1438,12 +1477,12 @@ msgstr ""
 "dargestellten Zellen könnten zu klein sein, um die Kategorien lesen zu "
 "können."
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 "Abbruch (Region größer als 200 Zeilen x 200 Spalten sind nicht erlaubt)"
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
@@ -1451,63 +1490,63 @@ msgstr ""
 "Zeichnet Pfeile, die die Exposition der Zellen repräsentieren, basierend auf "
 "einer Rasterkarte mit Expositionsdaten."
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Name der Expositionskarte, die angezeigt werden soll."
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Typ der existierenden Expositionskarte."
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Farbe der Pfeile."
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Farbe der Pfeile."
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Farbe zum Zeichnen der X (NULL-Werte)."
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Farbe für unbekannte Information."
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "Zeichne jede Nte Zelle einen Pfeil."
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "Rasterkarte, die Werte für die Pfeillänge enthält."
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Skalierfaktor für die Pfeile (Magnitude-Karte)."
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "Unzulässiger Wert für den Skalierfaktor."
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr "Unzulässiger Wert für den Skip-Faktor."
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 "Magnitude wird nur für GRASS sowie Kompass-Expositionskarten unterstützt."
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr "Skalier-Option benötigt die magnitude_map."
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr "Problem beim Lesen der Range-Datei."
 
@@ -1637,24 +1676,24 @@ msgstr ""
 "  Abstand zum Netzwerk = %f, Abstand vom Netzwerk = %f\n"
 "\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 msgid "network"
 msgstr "Netzwerk"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1663,50 +1702,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr "Finde den kürzesten Weg für die gewählten Start- und Endpunkte."
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Art der Kante"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "Kanten-Layer"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr "Knoten-Layer"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr "Kostenspalte (Nummer) für vorwärts/beide Richtungen der Kanten."
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr "Kostenspalte (Nummer) für die rückwärts Richtungen der Kanten."
 
@@ -1728,11 +1767,11 @@ msgstr "Rendering"
 msgid "Background color"
 msgstr "Hintergrundfarbe"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "Verwende gedätische Berechnungen für Longitude-Latitude Locations."
 
@@ -1752,7 +1791,7 @@ msgstr "%s - unzulässiger y-Wert."
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "Die aktuelle Projektion ist nicht longitude-latitude."
 
@@ -1776,7 +1815,7 @@ msgstr "Histogramm"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1784,7 +1823,7 @@ msgstr "Histogramm"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2172,7 +2211,7 @@ msgstr "Standardabweichung multipliziert mit %.4f definiert die Schrittweite\n"
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2190,15 +2229,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Geo-Gitter Option ist für LL-Projektionen nicht verfügbar."
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "Kann die Projektionsinformationen der aktuellen Location nicht holen."
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "Kann LL-Projektionsparameter nicht einrichten."
@@ -2457,12 +2496,13 @@ msgstr "Ungültige Koordinaten %s %s."
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2538,16 +2578,16 @@ msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 "Bitte geben Sie einen Lat/Long-Ellipsoiden mit den Optionen -l oder -w an."
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 "Kann die Projektionsinformation der aktuellen Location nicht ermitteln."
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "Kann die Projektionseinheit der aktuellen Location nicht ermitteln."
 
@@ -2572,11 +2612,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "Kann die Vektorkarte nicht lesen."
 
@@ -2781,7 +2822,7 @@ msgstr "Flächenfüllfarbe"
 msgid "Colorize features according color definition column"
 msgstr "Name der Farbdefinitionsspalte (mit dem Schalter -a zu benutzen)."
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Spalte mit Farbwerten nicht spezifiziert."
@@ -3091,41 +3132,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]: Diese Farbe gibt es nicht, verwende '%s'."
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Die Datei '%s' existiert bereits und wird überschrieben."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Kann die derzeitige Region nicht aktualisieren."
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Typ der Ausgabe"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Grafikfenster <%s> freigegeben."
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Kann die Datei <%s> nicht erzeugen."
+msgid "Starting monitor <%s>..."
+msgstr "Schreibe Vektorkarte <%s> ..."
 
-#: ../display/d.mon/start.c:163
-#, fuzzy, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr "Setze den Namen der Karte auf <%s>, was <%s> übersteuert."
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Kann die Farbdatei nicht lesen."
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, c-format
+msgid "Unable to create file <%s>"
+msgstr "Kann die Datei <%s> nicht erzeugen."
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3137,35 +3185,54 @@ msgstr "Grafikfenster <%s> freigegeben."
 msgid "Monitor <%s> is not running"
 msgstr "Fehler - Grafikfenster '%s' ist nicht aktiv."
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "Cell-Datei nicht gefunden."
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Kann die Datei <%s> nicht erzeugen."
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "Cell-Datei nicht gefunden."
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Kann die OGR-Datenquelle '%s' nicht öffnen."
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "Kann die Datei <%s> nicht öffnen."
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Kann die Datei <%s> nicht erzeugen."
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Liste aller Grafikfenster."
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 #, fuzzy
 msgid "No monitors running"
 msgstr "Fehler - Grafikfenster '%s' ist nicht aktiv."
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "Cell-Datei nicht gefunden."
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Kann die Datei <%s> nicht öffnen."
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Kann die Farbdatei nicht lesen."
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Nicht zu der Kommandoliste im Monitor hinzufügen."
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3177,8 +3244,8 @@ msgid "Name of monitor to start"
 msgstr "Name des Grafikfensters, das gestartet werden soll."
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3202,9 +3269,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3284,12 +3352,12 @@ msgid "List running monitors and exit"
 msgstr "Zeige unterstützte Formate an und Schluß."
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3302,33 +3370,34 @@ msgstr "Zeige unterstützte Formate an und Schluß."
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Drucke"
 
@@ -3342,60 +3411,78 @@ msgstr "Gib den Namen des momentan selektierten Grafikfensters aus."
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Gib den Namen des momentan selektierten Grafikfensters aus."
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Gib den Namen des momentan selektierten Grafikfensters aus."
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "Nicht automatisch beim Starten selektieren."
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Gebe das aktuell ausgewählte Grafikfenster frei."
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "Kann Farbe nicht lesen."
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Öffne Formular im Editiermodus."
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr " ignoriert\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 #, fuzzy
 msgid "Currently selected monitor:"
 msgstr "Gebe das aktuell ausgewählte Grafikfenster frei."
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, fuzzy, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr "Nicht zu der Kommandoliste im Monitor hinzufügen."
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr "Grafikfenster <%s> freigegeben."
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "Kein Grafikfenster ausgewählt."
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Entweder \"-i\" oder \"value=\" muss angegeben werden."
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3450,7 +3537,7 @@ msgid "No map name given"
 msgstr "Keine Karte angegeben."
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Kann die Kategorie-Datei der Rasterkarte <%s@%s> nicht lesen."
@@ -3581,9 +3668,9 @@ msgstr "erfolgreich beendet"
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Kann Datei <%s> nicht zum Schreiben öffnen."
@@ -3630,9 +3717,9 @@ msgstr "Verbindung"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Format"
 
@@ -3646,13 +3733,13 @@ msgstr "Zu berechnendes Perzentil (erfordert den Schalter -e)."
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr ""
 "Name der Ausgabekarte (wenn keiner oder \"-\"  angegeben wurdeerfolgt die "
 "Ausgabe nach stdout)."
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "In der Ausgabe kein Spaltennamen ausgeben."
 
@@ -3660,7 +3747,7 @@ msgstr "In der Ausgabe kein Spaltennamen ausgeben."
 msgid "Describe query only (don't run it)"
 msgstr "Beschreibe die Abfrage nur (führe sie nicht aus)."
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Vertikale Ausgabe (anstatt horizontal)."
 
@@ -3693,7 +3780,7 @@ msgstr "Teste die Abfrage und führe sie nicht aus."
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3725,7 +3812,7 @@ msgstr "Datenbank, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3737,7 +3824,7 @@ msgstr "Vektor, Raster, Attributtabelle"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3877,8 +3964,8 @@ msgstr "Kann die Ausdehnungs-Datei nicht lesen."
 msgid "Unable to create index:"
 msgstr "Kann den Index nicht erzeugen."
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Verbindung"
@@ -3956,7 +4043,7 @@ msgstr "Kann Projektion nicht setzten."
 msgid "Unable to allocate handle."
 msgstr "Kann keinen Speicher reservieren."
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3993,7 +4080,7 @@ msgstr "Kann Attribute nicht selektieren."
 msgid "Unable to select view names."
 msgstr "Kann Attribute nicht selektieren."
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -4033,12 +4120,12 @@ msgstr "Speicher ist zu Ende (Out-of-memory)."
 msgid "No path given"
 msgstr "Keine Karte angegeben."
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Kann Attribute nicht selektieren."
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Kann Daten der Tabelle nicht selektieren."
@@ -4086,29 +4173,29 @@ msgid "Taken not found"
 msgstr "nicht gefunden"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "Kann den Index nicht erzeugen."
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "Kann die Größe nicht setzen."
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Kann Attribute nicht selektieren."
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "Kann die Tabelle <%s> nicht erzeugen."
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Kann die Datenbank <%s> nicht öffnen."
@@ -4155,6 +4242,11 @@ msgstr ""
 "Spalte '%s' : Typ bool (boolean) wird als Typ char(1) mit den Werten 0 "
 "(falsch), 1 (wahr) abgespeichert."
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Kann die Größe nicht setzen."
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Unbekannte Option in der Datenbankdefinition für PostgreSQL."
@@ -4242,7 +4334,8 @@ msgstr "Mapset <%s> nicht gefunden."
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4324,21 +4417,21 @@ msgstr "Kann die OGR-Datenquelle '%s' nicht öffnen."
 msgid "Unable to open database:"
 msgstr "Kann Datenbank nicht öffnen:"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 msgid "SQLite database connection is still busy"
 msgstr "Die SQLite Datenbankverbindung ist noch beschäftigt."
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "<%s> existiert bereits"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Kann Tabelle nicht erzeugen: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "Mapset <%s> nicht gefunden."
@@ -4353,6 +4446,11 @@ msgstr "SQLITE Datenbank ist beschäftigt, warte schon %d Sekunden..."
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "SQLite Treiber: Spalte '%s', SQLite Typ %d wird nicht unterstützt."
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Fehler beim Schließen der ASCII-Datei."
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4601,10 +4699,10 @@ msgstr "Entfernt eine Datenbank."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4625,26 +4723,39 @@ msgstr "Bitte korrigieren Sie die Einstellungen."
 msgid "Sets user/password for DB driver/database."
 msgstr "Setzt Benutzername/Passwort für Treiber/Datenbank."
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Kann Projektion nicht setzten."
+msgid "Username"
+msgstr "Name"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Kann Projektion nicht setzten."
+msgid "Password"
+msgstr "Durchgang %d"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Testname"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Gibt derzeitige Verbindungsparameter aus und beendet sich."
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Kann Benutzer/Passwort nicht setzen."
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Das Passwort wurde in einer Datei gespeichert."
@@ -4931,6 +5042,7 @@ msgstr "Fläche:"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4941,10 +5053,11 @@ msgstr "Fläche:"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "Raster"
@@ -5018,19 +5131,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr "Off-screen nur verfügbar im Voll-Rendering-Modus."
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "Kann die Datei <%s> nicht öffnen."
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5305,7 +5405,7 @@ msgstr "Schnittfläche Nummer <%d> nicht gefunden."
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5958,7 +6058,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5971,12 +6071,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "Allgemein"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6080,7 +6181,17 @@ msgstr "%s=%s,%s: Dateien sind identisch, kein Kopieren nötig."
 msgid "<%s> already exists"
 msgstr "<%s> existiert bereits"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Kann den Header der 3D-Rasterkarte <%s@%s> nicht lesen."
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "Kann Vektorkarte <%s> auf der topologischen Ebene %d nicht öffnen"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6088,7 +6199,7 @@ msgstr "<%s> existiert bereits"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
@@ -6096,144 +6207,117 @@ msgstr ""
 "Liste vorhandene GRASS Datenbank-Dateien eines vom Nutzer bestimmten "
 "Datentyps und verwende optional ein Suchmuster."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr "Suchmuster für Kartennamen (Standard: alle)."
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr "Muster"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr "Suchmuster für den Ausschluss von Kartennamen (Standard: nichts)."
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "Aufzulistendes Mapset (Standard: aktueller Suchpfad)."
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 #, fuzzy
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 "Erzeuge optional ein neues Mapset oder liste die verfügbaren Mapsets in der "
 "Location auf."
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Name des Mapsets (Standard: das aktuelle)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Übernehme Einstellungen von einer benannten Region."
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Name der Ausgabedatei"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Lese von der Standardeingabe, wenn nicht angegeben (oder \"-\")."
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "Verwende einfache reguläre Ausdrücke an Stelle von wildcards."
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "Verwende erweiterte reguläre Ausdrücke an Stelle von wildcards."
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "Gebe Datentypen aus."
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr "Gebe vollqualifizierte Kartennamen aus (inkl. Mapset)."
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr "Schöne Ausgabe in menschenlesbaren Format."
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "Ausführliche Ausgabe (liste ebenfalls Kartentitel)."
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "-s und -n schließen sich gegenseitig aus."
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "-s und -n schließen sich gegenseitig aus."
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "-s und -n schließen sich gegenseitig aus."
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Kann die Datei <%s> nicht öffnen."
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Gruppe <%s> existiert nicht."
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Kann den Header der 3D-Rasterkarte <%s@%s> nicht lesen."
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "Kann Vektorkarte <%s> auf der topologischen Ebene %d nicht öffnen"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "Kann lat/long Projektions Parameter nicht aktualisieren."
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Fehler in pj_do_proj (Projektion des Eingabekoordinatenpaars)."
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 "Sie sind bereits in Lat/Long. Verwenden Sie den Schalter -p statt dessen."
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
@@ -6241,7 +6325,7 @@ msgstr ""
 "Sie befinden sich in einer einfachen XY-Location. Umprojezieren nach Lat/Lon "
 "ist nicht möglich.Verwenden Sie statt dessen den Schalter -p)."
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6249,7 +6333,7 @@ msgstr ""
 "WGS84 Ausgabe nicht möglich, da diese Location keine "
 "Datumstransformationsparameter enthält. Versuchen Sie g.setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr "Lat/Long Berechnungen sind in einem einfachen XY-System nicht möglich."
 
@@ -6484,9 +6568,9 @@ msgstr "Region <%s> nicht gefunden."
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "3D-Rasterkarte <%s> nicht gefunden."
@@ -6511,7 +6595,7 @@ msgstr ""
 "Kann die Standard-Region nicht ändern. Das aktuelle Mapset ist nicht "
 "<PERMANENT>."
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Ungültige Eingabe <%s=%s>."
@@ -6805,38 +6889,38 @@ msgstr "Gebe Info im Shell-Skript-Style aus (inklusive SVN Revisionsnummer)"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6979,7 +7063,7 @@ msgstr ""
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "Operation die ausgeführt werden soll."
@@ -7434,7 +7518,7 @@ msgstr "Kann die Eingabedatei <%s> nicht öffnen."
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7637,44 +7721,65 @@ msgid "command line interface with GUI startup screen"
 msgstr "Cell-Datei nicht gefunden."
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Zu importierende Rasterdatei."
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 #, fuzzy
 msgid "Update default user interface settings"
 msgstr "Aktualisiert die Standard-GUI Einstellungen."
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 #, fuzzy
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 "Starten Sie das GUI nicht nachdem Sie die standard GUI-Einstellungen "
 "geändert haben."
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr "<%s> ist jetzt das Standard-GUI."
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
+#, fuzzy, c-format
+msgid "Launching <%s> GUI, please wait..."
+msgstr "Starte <%s> GUI im Hintergrund. Bitte warten Sie ..."
+
+#: ../general/g.gui/main.c:122
 #, c-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr "Starte <%s> GUI im Hintergrund. Bitte warten Sie ..."
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
-msgstr ""
-
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
 msgid "have"
 msgstr "haben"
@@ -7887,8 +7992,8 @@ msgstr ""
 "Erzwinge das Übersteuern der Datumtransformationsinformation des Eingabe "
 "Koordinatensystems."
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr "Modifizieren"
 
@@ -7930,9 +8035,9 @@ msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 "Kein Ausgabeformat angegeben, verwende einen der Schalter -%c, -%c oder -%c"
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Location <%s> erstellt."
@@ -8091,10 +8196,12 @@ msgstr "Gebe Transformations-Matrix auf stdout aus."
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8110,10 +8217,14 @@ msgstr "Gebe Transformations-Matrix auf stdout aus."
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8147,10 +8258,12 @@ msgstr "Vektor, Topology"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8166,10 +8279,14 @@ msgstr "Vektor, Topology"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8273,8 +8390,8 @@ msgstr "Speichert den Inhalte des aktiven Grafikfensters in einer Grafikdatei."
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr "Export"
 
@@ -8314,7 +8431,7 @@ msgstr "Importiert SPOT VGT NDVI Datei in eine Rasterkarte."
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8343,15 +8460,16 @@ msgstr "Bildverarbeitung"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 msgid "import"
 msgstr "Import"
 
@@ -8415,7 +8533,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "Name der Bedeckungs-Rasterkarte"
+msgstr "Name der zweiten Rasterkarte."
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8502,7 +8620,7 @@ msgstr "Datenbank-Schema"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Konvertiert 3D-Rasterkarten in 2D-Rasterkarten."
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8511,6 +8629,106 @@ msgstr ""
 msgid "inputs"
 msgstr "Eingaben"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Konvertiert 3D-Rasterkarten in 2D-Rasterkarten."
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+msgid "algebra"
+msgstr "Algebra"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Liste die Vektorkarten der Eingabe-Location und beendet sich."
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Name der 3D Eingabe-Rasterkarte."
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Anzahl der zu bestimmenden Klassen"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Eingabe-Rasterkarten"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8563,20 +8781,12 @@ msgid ""
 "datasets."
 msgstr "Liste die Vektorkarten der Eingabe-Location und beendet sich."
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-msgid "algebra"
-msgstr "Algebra"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8585,11 +8795,13 @@ msgstr "Algebra"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8597,54 +8809,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Name der 3D Eingabe-Rasterkarte."
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Anzahl der zu bestimmenden Klassen"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Eingabe-Rasterkarten"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8659,7 +8830,8 @@ msgstr "Name der Expositions-Rasterkarte."
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 msgid "extract"
 msgstr "extrahieren"
 
@@ -8893,7 +9065,7 @@ msgstr "Interpolationsmethode."
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Zu benutzende Interpolationsmethode."
 
@@ -9007,6 +9179,48 @@ msgstr "Löscht eine Spalte der Attributtabelle einer Vektorkarte."
 msgid "Name of attribute column(s) to drop"
 msgstr "Name der Spalte"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Kommagetrennte Werteliste."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Name der Ausgabedatei zum Speichern des Reports."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Erzeugt eine leere Datenbank."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Anzahl der zu bestimmenden Klassen"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+msgid "Output header row"
+msgstr "Ausgabe der Kopfzeile."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9233,7 +9447,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9479,6 +9693,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9548,10 +9763,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Vergrößere die Location basierend auf dem neuen Datensatz."
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 msgid "Override projection check (use current location's projection)"
 msgstr "Übersteuere die Projektionsprüfung (verwende Projektion der Location)"
 
@@ -9559,7 +9778,8 @@ msgstr "Übersteuere die Projektionsprüfung (verwende Projektion der Location)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "Kann die Projektionseinheit der aktuellen Location nicht ermitteln."
@@ -9580,22 +9800,22 @@ msgstr ""
 "univariater Statistik."
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr "LIDAR"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 "Lese Eingabedatei um die räumliche Ausdehnung zu bestimmen und beendet sich."
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "Im Lesemodus Ausgabe im Shell-Skript-Stil."
 
@@ -9617,21 +9837,21 @@ msgid "Name for output raster map"
 msgstr "Name der Ausgabe-Rasterkarte."
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "Statistik um Rasterwert zu bestimmen"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Statistik"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Speichertyp der resultierenden Rasterkarte."
@@ -9673,17 +9893,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Skalierfaktor für die Werte der Attributspalte"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Prozentteil der Karte, der im Speicher gehalten werden soll."
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "Perzentil der Werte"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9783,8 +10003,8 @@ msgid "Remove existing color table"
 msgstr "Lösche existierende Farbtabelle."
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr "Entfernen"
@@ -9828,19 +10048,20 @@ msgid ""
 msgstr "Konvertiere OGR Vektorlayer in das GRASS Vektorkarten."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Zu importierende Rasterdatei."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 "Name des OGR-Layers. Wenn nicht spezifiziert, werden alle verfügbaren Layer "
 "importiert."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 msgid "Name for output vector map (default: input)"
 msgstr "Name der Ausgabe-Vektorkarte (Standard: input)."
 
@@ -9860,6 +10081,11 @@ msgstr "Name der Ausgabe-Vektorkarte (Standard: input)."
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9882,10 +10108,15 @@ msgstr "Name der Ausgabe-Vektorkarte (Standard: input)."
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 msgid "Output"
 msgstr "Ausgabe"
 
@@ -9895,29 +10126,30 @@ msgid "Output vector map extent"
 msgstr "Ausgabe-Vektorkarte, in die die Fehlern geschrieben werden."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Gleiche die aktuelle Region an die Eingabekarte an."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Fehler beim Lesen des Wertes des Attributes '%s'."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Fangtoleranz für Grenzen"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "'-1' für kein Fangen"
 
@@ -9933,17 +10165,70 @@ msgid "-1 to list available datum transform parameters"
 msgstr "Index der Datumtransformations-Parameter"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Zeige unterstützte Formate an und Schluß."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Zeigt die vorhandenen Layer in der Datenquelle und beendet sich."
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "Kann die Projektionseinheit der aktuellen Location nicht ermitteln."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Zeigt einen Maßstabsbalken im Grafikfenster an."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Erzeuge das Mapset, wenn es nicht existiert."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Entferne alle Frames und lösche den Inhalt des Grafikfensters."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Gebe den aktuellen Mapset Suchpfad aus."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Gib den Namen des momentan selektierten Grafikfensters aus."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+#, fuzzy
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr "Präfix wo Erweiterungen installiert werden"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+"Größe und Platzierung als Prozentsatz der Bildschirmkoordinaten (0,0 ist "
+"links unten)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10104,7 +10389,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10113,7 +10398,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10123,7 +10408,7 @@ msgid "geometry"
 msgstr "Vektor, Geometrie"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10178,7 +10463,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Anzahl der Interpolationspunkte."
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10203,8 +10492,8 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "auszuwählende Kanäle (Standard: alle Kanäle)."
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
@@ -10212,8 +10501,8 @@ msgstr ""
 "Maximal zu verwendender Speicher in Verbindung mit dem Schalter -m (in MB)."
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10274,12 +10563,12 @@ msgid "Optional"
 msgstr "optionale Ansichts-Rasterkarte"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "Führe kein Optimierung der Region durch."
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Passe Lat/Lon-Karten in geographische Koordinaten (90N,S; 180E,W) ein."
 
@@ -10375,7 +10664,7 @@ msgstr ""
 "Flächen."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10388,7 +10677,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Radius des Puffers in Rasterzellen"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Metrisch"
 
@@ -10422,14 +10711,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Raster, Statistik"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10496,6 +10785,18 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+#, fuzzy
+msgid "Spatio-temporal mapcalc expression"
+msgstr "Berechne eine neue Rasterkarte mit einem r.mapcalc-Ausdruck. "
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10503,7 +10804,8 @@ msgid ""
 msgstr "Liste die Vektorkarten der Eingabe-Location und beendet sich."
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Selektion"
@@ -10547,6 +10849,62 @@ msgstr "Wenn nicht angegeben wird der Name der Eingabekarte verwendet."
 msgid "Name of table to drop"
 msgstr "Name der Attributespalte verwendet mit der 'query'-Option."
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Erzeugt eine Vektorkarte mit bestimmten Kontourlinien aus einer Rasterkarte."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Kontrast"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Abstand zwischen der kontour-Intervallen."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Anzahl der Kontour-Level"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Minimales Kontur-Level"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Maximales Kontur-Level"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "Minimale Anzahl der Punkte für eine Kontour-Linie (0 -> kein Limit)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Eingabe-Rasterkarten"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Keine Attributtabelle erzeugen."
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr "Exportiert Attributtabellen in verschiedene Formate."
@@ -10570,6 +10928,20 @@ msgstr "Tabellenformat"
 msgid "Name for output table (default: input name)"
 msgstr "Name der Ausgabe-Vektorkarte (Standard: input)."
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Konvertiert 3D-Rasterkarten in 2D-Rasterkarten."
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Liste die Vektorkarten der Eingabe-Location und beendet sich."
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10717,6 +11089,66 @@ msgstr "Name der neuen Attributtabelle (Standard: Name der Vektorkarte)."
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Liste die Vektorkarten der Eingabe-Location und beendet sich."
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Konvertiert 3D-Rasterkarten in 2D-Rasterkarten."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Ziel-Vektortyp"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Name der Attribut-Spalte die für die Label benutzt werden soll."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "Glättet Ecken flächenhafter Objekte"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Verschiebewert für Z-Koordinaten"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Schreibe Rasterwerte als Z-Koordinate. Attributtabelle wird nicht erzeugt. "
+"Derzeit werden nur Punkte unterstützt."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Erzeuge keine Topologie."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Benutze Rasterzellenwerte als Kategoriewerte anstelle von eindeutigen "
+"Sequenzen (nur bei CELL-Karten)."
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 msgid "Joins a database table to a vector map table."
 msgstr "Verbindet Datenbanktabelle mit der Attributtabelle einer Vektorkarte."
@@ -10726,6 +11158,7 @@ msgid "Vector map to which to join other table"
 msgstr "Vektorkarte, an die eine andere Tabelle gejoined werden soll."
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10734,6 +11167,7 @@ msgid "Layer where to join"
 msgstr "Layer, in dem 'gejoined' werden soll."
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 msgid "column"
 msgstr "Spalte"
 
@@ -10811,7 +11245,6 @@ msgstr "Name der Ausgabe-Rasterkarte (Standard: abgleitet aus dem Paket)"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11120,6 +11553,10 @@ msgstr ""
 "Wert mit dem die Spalte aktualisiert werden soll (varchar-Werte müssen in "
 "einfachen Anführungszeichen angegeben werden, z.B. 'grass')."
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11411,13 +11848,6 @@ msgstr "Name der Expositions-Rasterkarte."
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Anzahl der zu bestimmenden Klassen"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr "Schreibt den Vektorwert an der Stelle der Vektorpunkte in die Tabelle."
@@ -11429,23 +11859,32 @@ msgid "Name of vector points map for which to edit attributes"
 msgstr ""
 "Name der Vektorpunktekarte, dessen Attributtabelle editiert werden soll. "
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Spalte die mit den Abfrageergebnissen aktualisiert werden soll."
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Name der zu editierenden Vektorkarte"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "Spalte"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Name der Attribut-Spalte die für die Label benutzt werden soll."
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr "Maximale Abfragedistanz in Karteneinheiten."
 
@@ -11483,86 +11922,103 @@ msgstr ""
 "Werkzeug um GRASS-Erweiterungen in lokaler GRASS-Installation zu verwalten."
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
+#, fuzzy
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 "Download und Installation von Erweiterungen aus dem 'GRASS Addons SVN "
 "Repository' in der lokalen GRASS Installation oder Entfernt installierte "
 "Erweiterungen. "
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Name der zu installierenden/entfernenden Erweiterung"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 #, fuzzy
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr "Präfix wo Erweiterungen installiert werden"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
-msgstr "URL des SVN Addons Repository"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
+msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 #, fuzzy
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr "Präfix wo Erweiterungen installiert werden"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Zeige die im GRASS Addons Repository vorhandenen Module"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Zeigt die vorhandenen Regelsätze und Schluß."
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Zeigt die vorhandenen Regelsätze und Schluß."
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 #, fuzzy
 msgid "List locally installed extensions"
 msgstr "Präfix wo Erweiterungen installiert werden"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 "Systemweite Installation (eventuell Systemadministratorrechte erforderlich)."
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "Histogram Equalization (histogrammbasierte nichtlinearen Streckung)"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "Systemtabellen anstatt Benutzertabellen."
@@ -11583,20 +12039,26 @@ msgid "Description of the space time dataset"
 msgstr "Name der neuen Datenbank."
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Name der neuen Datenbank."
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11614,10 +12076,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr "Berechne eine neue Rasterkarte mit einem r.mapcalc-Ausdruck. "
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Typen die extrahiert werden."
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Gebe im Shell-Skript-Style aus."
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Ausgabeformat."
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr "Erzeuge eine Maske (MASK), um Rasteroperationen zu begrenzen."
@@ -11737,8 +12235,8 @@ msgstr "multispektral"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Name der Ausgabedatei"
+msgid "Name for output image (or text file for -t)"
+msgstr "Name der Ausgabedatei (ohne Dateiendung)."
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11755,6 +12253,11 @@ msgstr "Beschrifte mit Koordinaten anstelle der Nummerierung."
 msgid "Use gnuplot for display"
 msgstr "Darzustellender Text"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Ausgabe-Worldfile"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11770,11 +12273,6 @@ msgstr ""
 msgid "series"
 msgstr "Sites"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Erzeugt eine leere Datenbank."
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11876,6 +12374,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11889,11 +12388,15 @@ msgid "Sill value"
 msgstr "%s: ungültiger Wert."
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Name der Ausgabe-Expositions-Rasterkarte."
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11980,11 +12483,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Liste die Vektorkarten der Eingabe-Location und beendet sich."
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-#, fuzzy
-msgid "Spatio-temporal mapcalc expression"
-msgstr "Berechne eine neue Rasterkarte mit einem r.mapcalc-Ausdruck. "
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12002,7 +12500,7 @@ msgstr "Kann die Rasterkarte <%s> nicht öffnen."
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12518,7 +13016,7 @@ msgid "radiance"
 msgstr "Strahlung"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 msgid "reflectance"
 msgstr "Reflexion"
@@ -12547,8 +13045,9 @@ msgstr "Name der Landsat Metadaten-Datei  (.met oder MTL.txt)"
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Metadaten"
 
@@ -12751,8 +13250,8 @@ msgstr "Kann den Datentyp der Rasterkarte <%s> nicht lesen."
 msgid "Calculating..."
 msgstr "Berechne..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14811,21 +15310,21 @@ msgstr "Ziel-Location <%s> nicht gefunden."
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "Mapset <%s> in Ziel-Location <%s> - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "Zugang verweigert."
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "nicht gefunden"
@@ -14925,7 +15424,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15052,7 +15551,7 @@ msgid "Name of target mapset"
 msgstr "Name des Zielmapsets."
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Setzt aktuelle Location und Mapset als Ziel für die Bildgruppe."
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15486,51 +15985,55 @@ msgstr ""
 "Habe eine singuläre Unter-Signatur mit der Nummer %d entfernt (%d "
 "verbleiben)."
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 msgid "albedo"
 msgstr "Albedo"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Name einer existierenden Vektorkarte."
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, fuzzy, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr "%s sind zu viele Karten. Es sind nur %d erlaubt."
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Ausgabe-Rasterkarte erforderlich."
@@ -15705,7 +16208,7 @@ msgid "Starting Inverse FFT..."
 msgstr "Starte Inverse FFT..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -16129,7 +16632,7 @@ msgstr "Mein erstes Rastermodul."
 msgid "My first vector module"
 msgstr "Mein erstes Vektormodul."
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr "Kann das vorherbestimmte Vektoröffnungslevel nicht setzen."
 
@@ -16283,11 +16786,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr "Hydrologie"
 
@@ -17032,12 +17536,12 @@ msgstr "Zeilen geändert"
 msgid "Cols changed"
 msgstr "Spalten geändert"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Zeige den Index."
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17046,34 +17550,34 @@ msgstr ""
 "mehrerer) Rasterkarte(n) in \"NO DATA\"-Bereiche einer anderen Rasterkarte "
 "gefüllt werden."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Name der Rasterkarten, die zusammengefügt werden sollen."
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Name der resultierenden Rasterkarte."
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Verwende Null (0) für Transparenz anstelle von NULL."
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "Die minimale Anzahl der Eingabe-Rasterkarten ist zwei."
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "Prozent fertig..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "Erstelle Supportdateien für die Rasterkarte <%s>."
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17093,7 +17597,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Name der Eingabe-Datei; oder \"-\" um von stdin zu lesen."
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Titel der resultierenden Rasterkarte. "
@@ -17101,7 +17605,7 @@ msgstr "Titel der resultierenden Rasterkarte. "
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Ziel-Vektortyp"
+msgstr "Titel der Ausgabe-Rasterkarte."
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17522,8 +18026,8 @@ msgstr "Sie produzieren weder Vektor- noch Rasterdaten."
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Kann neue Zeile %s nicht einfügen."
@@ -17595,59 +18099,17 @@ msgstr "Vektor, Interpolation"
 msgid "Converts a raster map into a vector map."
 msgstr "Konvertiert eine Rasterkarte in eine Vektorkarte."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Ziel-Vektortyp"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Name der Attribut-Spalte die für die Label benutzt werden soll."
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "Glättet Ecken flächenhafter Objekte"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Benutze Rasterzellenwerte als Kategoriewerte anstelle von eindeutigen "
-"Sequenzen (nur bei CELL-Karten)."
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Attribute"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Verschiebewert für Z-Koordinaten"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Schreibe Rasterwerte als Z-Koordinate. Attributtabelle wird nicht erzeugt. "
-"Derzeit werden nur Punkte unterstützt."
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Erzeuge keine Topologie."
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17687,23 +18149,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "Kann Tabelle nicht erzeugen: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Kann Rechte für die Tabelle <%s> nicht setzen."
@@ -17746,192 +18210,192 @@ msgstr "Kann Projektion nicht setzten."
 msgid "Allocating memory and reading input raster map..."
 msgstr "Allokiere Speicher und lese die Eingabekarte..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr ""
 "Reprojiziert eine Rasterkarte von einer Location in die aktuelle Location."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 msgid "Location containing input raster map"
 msgstr "Location mit der Eingaberasterkarte"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 msgid "Source"
 msgstr "Quelle"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 msgid "Mapset containing input raster map"
 msgstr "Mapset mit der Eingaberasterkarte"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Gebe Namen des aktuellen Fensters aus."
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "Name der Eingabe-Rasterkarte, die umprojeziert werden soll."
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Pfad zur GRASS-Datenbank der Eingabe-Location."
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Name der Ausgabe-Rasterkarte (Standard: input)."
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 msgid "Target"
 msgstr "Ziel"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Auflösung der Ausgabe-Karte"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Listet alle Rasterkarten in der Eingabe-Location auf und beendet sich."
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 msgid "Print input map's bounds in the current projection and exit"
 msgstr ""
 "Gibt die Grenzen der Eingabekarte in der aktuellen Projektion aus und "
 "beendet sich."
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr ""
 "Gibt die Grenzen der Eingabekarte in der aktuellen Projektion im Shellskript-"
 "Format aus und beendet sich."
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr "Eingabe und Ausgabe Location dürfen nicht identisch sein."
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr "Eingabe- und Ausgabe-Location sind identisch."
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr ""
 "Kann die Projektionsinformation der Ausgabe-Rasterkarte nicht ermitteln."
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr "Kann die Projektionseinheit der Ausgabe-Rasterkarte nicht ermitteln."
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 "Kann die Kennzahlen der Projektion der Ausgabe-Rasterkarte nicht ermitteln."
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Mapset <%s> in Eingabe-Location <%s> - %s"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Prüfe Location <%s> Mapset <%s>."
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "Benötigter Parameter <%s> wurde nicht angegeben"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Rasterkarte <%s> in der Location <%s> im Mapset <%s> nicht gefunden."
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr "Kann die Projektionsinformation der Eingabekarte nicht ermitteln."
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "Kann die Projektionseinheit der Eingabekarte nicht ermitteln."
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr "Kann die Kennzahlen der Projektion der Eingabekarte nicht ermitteln."
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "Kann nicht mit unprojezierten Daten arbeiten (xy location)."
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "Eingabekarte <%s@%s> in Location <%s>:"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Eingabe:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Spalten: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Zeilen: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Norden: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Süden: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Westen: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Osten: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "EW-res: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "NS-res: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Ausgabe:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Projiziere... "
 
@@ -17978,7 +18442,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17991,7 +18455,7 @@ msgstr "Raster, Landschaftsstruktur Analyse"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -18006,7 +18470,7 @@ msgstr "Zeige den Index."
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18148,7 +18612,7 @@ msgstr "Name der Datei mit den Gewichten zur Berechnung des Index"
 msgid "Row cache is too small"
 msgstr "Zeilen-Cache ist zu klein"
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
 "Berechnet den Mittelwert der Attribute (Rasterwerte) -Index einer "
@@ -18567,13 +19031,53 @@ msgstr "incidout benötigt den Zeit-Parameter."
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "Modus 2: integrierte tägliche Strahlung für einen Tag des Jahres"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Diffusions Steigerungsrate"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Schreibe Rasterkarte <%s>."
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Ungültige Karte <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Falsche Isokosten: %f"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Schreibe Rasterkarte <%s>."
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Verwende die Koordinaten der Kartenmitte: %f %f"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Schreibe Rasterkarte <%s>."
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 "Wenn sie -s und keine Horizont-Rasterkarte verwenden, muss numpartitions=1 "
 "sein."
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
@@ -18581,13 +19085,13 @@ msgstr ""
 "Wenn Sie Speicher sparen und Schatten verwenden wollen, müssen Sie einen "
 "vorher berechneten Horizont verwenden."
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 "Die Rasterkarten latin und longin haben kein Effekt in einer Lat/Lon "
 "Location."
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 "Entweder müssen die beiden Rasterkarten latin und longin oder keine von "
@@ -18981,7 +19485,7 @@ msgid "cumulative costs"
 msgstr "Optionales kumulatives Kostenmaximum."
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Location: %s\n"
@@ -19817,7 +20321,7 @@ msgstr "Negative Höhenwerte in der Eingabe."
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Erzeugt Rasterkarte mit Wassereinzugsgebieten."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -20008,7 +20512,7 @@ msgstr "Aktualisiere die Statistik der Rasterkarte."
 msgid "Statistics for <%s> updated"
 msgstr "Die Statistiken für <%s> wurde aktualisiert."
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
@@ -20016,15 +20520,15 @@ msgstr ""
 "Kann die Projektion der Eingabe-Rasterkarte nicht ins GRASS-Format "
 "konvertieren, zwecks Überprüfung."
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "Übersteuere die Überprüfung der Projektion."
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -20033,24 +20537,25 @@ msgstr ""
 "übereinzustimmen.\n"
 "\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "Location PROJ_INFO:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "Datensatz PROJ_INFO:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "Zu importierender Datensatz PROJ_INFO:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20058,7 +20563,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
@@ -20067,9 +20572,9 @@ msgstr ""
 "des zu importierenden Datensatzes mit Hilfe des 'location'-Parameters zu "
 "erzeugen.\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 "Die Projektionsinformationen des Eingabedatensatzes und der aktuellen "
@@ -20134,8 +20639,8 @@ msgstr "Erstelle Support-Dateien für <%s>."
 msgid "Link to raster map <%s> created."
 msgstr "Link zur Rasterkarte <%s> erzeugt"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20158,13 +20663,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr " Standard-Region für die Location aktualisiert."
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 msgid "Region for the current mapset updated"
 msgstr "Region des aktuellen Mapsets aktualisiert."
 
@@ -20192,20 +20697,20 @@ msgstr "Name einer nicht Dateiartigen GDAL-Datenquelle."
 msgid "Band to select (default is all bands)"
 msgstr "auszuwählende Kanäle (Standard: alle Kanäle)."
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Zeige unterstützte Formate an und Schluß."
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 msgid "Extend region extents based on new dataset"
 msgstr "Vergrößere die Ausdehnung der Region basierend auf neuem Datensatz."
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr "Aktualisiere die Standard-Region auch wenn im Mapset PERMANENT."
 
@@ -20218,13 +20723,23 @@ msgstr "Teile horizontal und nicht vertikal."
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Zeigt die vorhandenen Layer in der Datenquelle und beendet sich."
+
+#: ../raster/r.external/main.c:123
+#, fuzzy
+msgid "Format: band number,type,projection check"
+msgstr "Format: Layer Typ Anzahl Min Max"
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Entweder -h oderr rows= and cols= müssen angegeben sein"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20233,31 +20748,31 @@ msgstr "Entweder -h oderr rows= and cols= müssen angegeben sein"
 msgid "%s= and %s= are mutually exclusive"
 msgstr "-s und -n schließen sich gegenseitig aus."
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr "Fahre mit dem Import fort..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "Bildgruppe <%s> existiert bereits und wird überschrieben."
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Lese Karte %s ..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Der ausgewählte Kanal (%d) existiert nicht."
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, c-format
 msgid "Imagery group <%s> created"
 msgstr "Bildgruppe <%s> erzeugt."
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Anzahl der Eingabepunkte: %d."
@@ -20456,14 +20971,15 @@ msgstr "Name der Ausgabe-Neigungs-Rasterkarte."
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20760,6 +21276,12 @@ msgstr "-s und -n schließen sich gegenseitig aus."
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Option <%s> erforderlich."
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "-s und -n schließen sich gegenseitig aus."
+
 #: ../raster/r.in.bin/main.c:467
 #, fuzzy, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20835,8 +21357,8 @@ msgid "Importing band %d..."
 msgstr "Importiere Punkte..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20959,7 +21481,7 @@ msgstr "High (%d) muss größer als 1 sein."
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "[%s] konnte nicht gefunden werden!"
@@ -22032,7 +22554,8 @@ msgstr "Durchgang 2..."
 msgid "Unable to write to temp file"
 msgstr "Kann die temporäre Datei nicht schreiben."
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Erzeuge Punkte... "
@@ -22078,7 +22601,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Gebe die Statistik im Shell-Skript-Stil aus."
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22774,24 +23297,24 @@ msgid "unable to open output file"
 msgstr "Kann die Ausgabedatei nicht öffnen."
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "ABSCHNITT 3: Akkumuliere Oberflächenabfluß mit SFD."
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "ABSCHNITT 3: Akkumuliere Oberflächenabfluß mit MFD."
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr "MFD: kumulierter Anteil der Fließrichtung ist nicht 1.0 aber %f "
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, fuzzy, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22803,8 +23326,8 @@ msgstr[1] ""
 "MFD: A * Pfad schon verarbeitet bei der Verteilung der Flüsse: %d von %d "
 "Zellen"
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22929,27 +23452,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "ABSCHNITT %d: Schließe Karten."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr "ABSCHNITT %d: Bestimme Wassereinzugsgebiet."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "ABSCHNITT 1a (von %1d): Initiiere den Speicher."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "ABSCHNITT 1b (of %1d): Ermittle den Fluß aus der Karte heraus."
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 #, fuzzy
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
@@ -22966,22 +23489,32 @@ msgstr "ABSCHNITT 4: Bestimme RUSLE LS und/oder den S Faktor."
 msgid "Closing accumulation map"
 msgstr "Rasterkarte mit zero-crossings."
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Rasterkarte mit zero-crossings."
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Rasterkarte mit zero-crossings."
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Rasterkarte mit zero-crossings."
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Berechne Flußrichtungen..."
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "Rasterkarte mit zero-crossings."
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "Rasterkarte mit zero-crossings."
@@ -23009,7 +23542,7 @@ msgstr "Rasterkarte mit zero-crossings."
 msgid "Closing half basins map"
 msgstr "Rasterkarte mit zero-crossings."
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
@@ -23018,72 +23551,72 @@ msgstr[0] ""
 msgstr[1] ""
 "ABSCHNITT 1 Beginne: Initialisiere Variablen. %d Abschnitte insgesamt."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 #, fuzzy
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 "Maximal verwendbarer Speicher war kleiner als 3 MB; Setze es auf den "
 "Standardwert 300 MB."
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr "ABSCHNITT 1b (of %1d): Ermittle den Fluß aus der Karte heraus."
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 msgid "Inputs"
 msgstr "Eingabe"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Name der Eingabe-Rasterkarte."
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 "Alle Zellen, die nicht NULL sind oder den Wert Null haben werden als echte "
 "Bodensenke aufgefasst."
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Eingabekarte mit der Größe des Oberflächenabfluss pro Zelle."
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Name der Eingabe-Rasterkarte (Sättigung, saturation)."
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Eingabe-Rasterkarte: Flächen die Oberflächenabfluss blockieren"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 #, fuzzy
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
@@ -23091,107 +23624,112 @@ msgstr ""
 "Alle Zellen, die nicht NULL sind oder den Wert Null haben werden als echte "
 "Hindernis aufgefasst."
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Eingabewert: kleinste Größe des äußeren Wassereinzugsgebiets."
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr ""
 "Eingabewert: Maximale Länge des Oberflächenabflusses in Karteneinheiten für "
 "USLE."
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 msgid "Name for output accumulation raster map"
 msgstr "Name der Ausgabe-Akkumulations-Rasterkarte."
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Ausgabekarte mit Anzahl der Zellen, die durch jede Zelle abfließt."
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Name der Ausgabe-Expositions-Rasterkarte."
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Ausgabekarte mit topographischem Index"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Name der Ausgabe-Expositions-Rasterkarte."
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Name der Ausgabe-Expositions-Rasterkarte."
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Name der Ausgabe-Expositions-Rasterkarte."
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Name der Ausgabe-Expositions-Rasterkarte."
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Ausgabekarte mit Einzugsgebietshälften mit eindeutigen Wert."
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 msgid "Name for output slope length raster map"
 msgstr "Name der Ausgabe-Neigungslängen-Rasterkarte"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "Ausgabekarte der Hanglängen und -Neigungsfaktoren (LS) für USLE."
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 msgid "Name for output slope steepness raster map"
 msgstr "Name der Ausgabe-Neigungs-Rasterkarte"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Ausgabekarte der Hangneigungsfaktoren (S) für USLE."
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Umrechnungsfaktor für MFD (1-10)"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 "1 = am meisten divergierende Fluss, 10 = am meisten konvergierende Fluss. "
 "Empfohlen: 5"
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 "Maximal zu verwendender Speicher in Verbindung mit dem Schalter -m (in MB)."
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr "SFD: einzelne Fließrichtung, MFD: mehrere Fließrichtungen."
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Erlaube nur horizontalen und vertikalen Wasserfluss."
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "Schalte Auslagerung auf Festplatte an: Operation ist langsam."
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
@@ -23200,36 +23738,36 @@ msgstr ""
 "überschreiten. Schlagen Sie im Handbuch nach wie die Speicheranforderungen "
 "berechnet werden."
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 "Verwende positive Flussakkumulation, auch für vorraussichtliche "
 "Unterschätzungen."
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 "Siehe Handbuch für detaillierte Beschreibung der Ausgabe der "
 "Flussakkumulation."
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "Entschuldigung, Sie müssen eine Ausgabe-Karte wählen."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s=%s - muss eine positive Zahl sein."
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -23240,12 +23778,12 @@ msgstr ""
 "    basin, stream, half.basin, length.slope, or slope.steepness\n"
 "    MÜSSEN Sie ein Wert für den Parameter 'basin threshold' angegeben."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Lat/Long Locations werden von diesem Modul nicht unterstützt"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "Unterprozess fehlgeschlagen mit dem Fehlercode %d"
@@ -23431,21 +23969,21 @@ msgstr "Norden"
 msgid "Could not read maximum distance. Aborting."
 msgstr "Konnte die maximale Distanz nicht lesen. Breche ab."
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr "Der Distanzwert muss zwischen 0.5 und 1.5 sein. Abbruch."
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "UPS: Die Zeilen haben sich von %d auf %d geändert."
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "OOPS: Spalten haben sich von %d auf %d verändert."
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Berechne Karte %01d von %01d (Winkel %lf, Rasterkarte <%s>)."
@@ -23647,7 +24185,7 @@ msgstr "Ausgabe-Worldfile"
 msgid "Converting <%s>..."
 msgstr "Konvertiere <%s>..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "Raster <%s> Typen passen nicht."
@@ -23718,7 +24256,7 @@ msgstr ""
 "Berechnet univariate Statistiken der nicht-NULL Zellen einer Rasterkarte."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23731,11 +24269,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Kann die 3D-Rasterkarte <%s> nicht öffnen."
@@ -23748,58 +24289,85 @@ msgstr "Rasterkarte für Zonenbildung, muss vom Typ CELL sein"
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"Verwende dieselbe Auflösung wie die RASTER3D-Eingabekarte für die 2D-"
+"Ausgabekarten. Dies ist unabhängig von der Auflösung der aktuellen Region. "
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 "Berechnet univariate Statistiken der nicht-NULL Zellen einer Rasterkarte."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "Berechnet eine lineare Regression von zwei Rasterkarten: y = a + b*x."
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "Erzeugt eine Rasterkarte mit Distanzen zu nächsten Raster-Objekten."
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Name der Distanz-Ausgabekarte."
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Name der Ausgabe-Rasterkarte."
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 msgid "Output distances in meters instead of map units"
 msgstr "Ausgabedistanz in Meter und statt in Karteneinheiten"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Maximale Distanz zur nächsten Linie."
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr "Entweder distance= oder value= muss angegeben werden."
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr "metric=geodesic ist nur gültig für lat/lon"
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Unbekannte Maßzahl: [%s]."
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Ausgabedistanz in Meter und statt in Karteneinheiten"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Kann die temporäre Datei <%s> nicht erzeugen."
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23810,70 +24378,77 @@ msgstr "Kann die temporäre Datei <%s> nicht erzeugen."
 msgid "Reading raster map <%s>..."
 msgstr "Lese Rasterkarte <%s> ..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 msgid "Writing output raster maps..."
 msgstr "Schreibe Ausgabe-Rasterkarten..."
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Kann die Farbtabelle der Rasterkarte <%s> nicht lesen."
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "Raster, NULL-Werte"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Verwaltet NULL-Werte einer Rasterkarte."
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "3D-Rasterkarte, deren NULL-Werte modifiziert werden sollen."
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Liste von Werten, die auf NULL gesetzt werden sollen."
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "Wert, der den NULL-Werte ersetzen soll."
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "Nur ausführen, wenn die Karte Fließkommawerte enthält."
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr "Prüfen"
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "Nur ausführen, wenn die Karte ganze Zahlen enthält."
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 "Nur ausführen, wenn für die Karte noch keine NULL-Wert Bitmap Datei "
 "existiert."
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 "Erzeuge eine NULL-Wert Bitmap Datei, die alle Daten-Zellen für gültig "
 "erklärt."
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr "Entferne NULL-Wert Bitmap-Datei."
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+#, fuzzy
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+"Erzeuge eine NULL-Wert Bitmap Datei, die alle Daten-Zellen für gültig "
+"erklärt."
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
@@ -23883,62 +24458,63 @@ msgstr ""
 "Bedenken Sie, dass es sinnvoll sein könnte eine Kopie mit r.mapcalc zu "
 "erzeugen. Beende mich."
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "Rasterkarte <%s> befindet sich nicht in Ihrem Mapset <%s>."
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr "%s ist ein ungültiger Wert für NULL."
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "Die Rasterkarte <%s> hat bereits eine NULL-Datei."
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "<%s> ist eine integer Rasterkarte (CELL)."
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "<%s> ist eine integer Rasterkarte (CELL). Verwende null=%d."
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "<%s> ist eine Fließkomma-Rasterkarte."
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Schreibe neue NULL-Datei für Rasterkarte <%s>... "
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "Rasterkarte <%s> geändert."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Entferne NULL-Datei der Rasterkarte <%s>..."
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s: %s: ungültiger Wert angegeben."
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: ungültiger Wert."
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Schreibe neue Daten für die Rasterkarte <%s>..."
@@ -23987,7 +24563,7 @@ msgstr "Unbekannter Typ: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Kann die Rasterkarte <%s@%s> nicht schliessen."
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "Kann die Ausgabe-Rasterkarte nicht schließen."
 
@@ -24110,21 +24686,26 @@ msgstr "Startwert für den Zufallszahlengenerator."
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Schreibe Karte raus..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "-s und -n schließen sich gegenseitig aus."
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "Parameterfehler"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr "Während der Berechnung sind Fließkomma-Fehler aufgetreten."
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr "Überlauf während der Berechnung."
 
@@ -24133,27 +24714,27 @@ msgstr "Überlauf während der Berechnung."
 msgid "Known functions:"
 msgstr "Bekannte Funktionen:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Importiert eine binäre Rasterdatei in eine GRASS Rasterkarte."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Zu importierende Rasterdatei."
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "auszuwählende Kanäle (Standard: alle Kanäle)."
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Name der Ziellocation für das Bild."
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
@@ -24161,89 +24742,101 @@ msgstr ""
 "Name der Location, von der Projektionsinformationen für eine GCP-"
 "Transformation gelesen werden soll."
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Name der Rasterkarte mit Höheninformationen [in Meter]."
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Name der neu zu erstellenden Location."
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Kann Tabelle <%s> nicht beschreiben."
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Übersteuere die Projektion (verwende Projektion der Location)."
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Gibt derzeitige Verbindungsparameter aus und beendet sich."
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Verwende die Nummern der Kanäle anstatt der Farbbezeichnungen."
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "Gibt Tabellen aus und beendet sich."
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 "Sie müssen eine Ziel-Location angeben, die verschieden ist von der Ausgabe-"
 "Location."
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "Sie müssen eine obere und eine untere Karte angegeben."
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr "Der '-l'-Schalter funktioniert nur in einer Lat/Lon-Location."
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "Die Anzahl der Bereiche muß gleich oder größer 1 sein."
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Kann die Datenquelle <%s> nicht öffnen."
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "Die Rasterkarte <%s> existiert bereits."
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
@@ -24252,7 +24845,7 @@ msgstr ""
 "werden. Sie können 'gdalwarp' verwenden, um die Karte zu transformieren, so "
 "dass Norden oben ist."
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
@@ -24262,8 +24855,8 @@ msgstr ""
 "der Begrenzung und Auflösung mit r.info und eine Anpassung mit r.region "
 "dieser Parameter ist für die weitere Berechnung empfehlenswert."
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -24271,93 +24864,98 @@ msgstr ""
 "Kann die Projektion der Eingabekarte nicht in das GRASS-Format konvertieren; "
 "erstelle daher keine neue Location."
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Kann die Location <%s>: %s nicht erstellen."
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Fahre mit dem Import fort..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Kann die Signaturdatei nicht öffnen."
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Kann den Rasterkanal nicht bekommen."
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Kopiere %d GCPs in eine Punktdatei für <%s>."
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr "GCPs haben das folgende OpenGIS WKT Koordinatensystem:"
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "Umprojezieren der GCP Tabelle:"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "* Eingabe-Projektion der GCP-Tabelle: %s"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "* Ausgabe-Projektion der GCP-Tabelle: %s"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Fehler in pj_do_proj (kann den GCP %i nicht umprojezieren)."
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "Kann die Kennzahlen der Projektion der Eingabe-GCPs nicht übersetzten."
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr "Kann die Projektionsinformation der Ziel-Location nicht ermitteln."
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "Kann die Projektionseinheit der Ziel-Location nicht ermitteln."
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr "Kann die Kennzahlen der Projektion der Ziel-Location nicht ermitteln."
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Schreibe Rasterkarte <%s>..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "Erstelle Graustufen Farbtabelle für <%s> (8bit, full range)."
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "Erstelle Graustufen Farbtabelle für <%s> (16bit, image range)."
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Kann die Datei <%s> nicht öffnen."
@@ -24596,7 +25194,7 @@ msgstr "Schreibe Vektorkarte <%s> ..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24947,29 +25545,34 @@ msgstr "Nur %d Einheit%s erlaubt."
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "Kann den fp Bereich für die Rasterkarte <%s> nicht lesen."
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr "Distanz muss >= 0.0 sein."
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Erzeuge Rasterkarte <%s> ..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Korrelation"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Erzeugt zufällig Zellwerte mit räumlicher Abhängigkeit."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Maximale Distanz der räumlichen Korrelation (Wert >= 0.0)."
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Maximal zu ladende Anzahl Spalten."
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 "Zufälliger Startwert (SEED_MIN >= Wert >= SEED_MAX) (Standard [zufällig])."
@@ -25426,33 +26029,33 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "Maximale Anzahl der Wiederholungen."
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%s: Kann keine Bounding Box für die Linien finden."
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "Bounding Box:  l = %d, r = %d, o = %d, u = %d"
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr "Durchgang Nummer %d"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Löschte %d  Pixel "
 msgstr[1] "Löschte %d  Pixel "
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "Ausdünnung erfolgreich abgeschlossen."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 "Ausdünnung nicht vollständig. Es könnte sinnvoll sein den Wert des Parameter "
@@ -26534,162 +27137,235 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'layer' muss > 0 sein."
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "Lese Daten ..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Bereich:     min         max\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Kann die temporäre Datei nicht erzeugen."
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Erzeugt eine Rasterkarte aus einer Vielzahl von Koordinaten unter Verwendung "
 "univariater Statistik."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Eingabe fehlgeschlagen."
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Datei die Regeln zum Umkodieren enthält."
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "Keine Datenpunkte gefunden."
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Verschiebewert für Z-Koordinaten"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "Vektor, Transformation"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "Filterbereich für z-Daten (min,max)."
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "Skalierungsfaktor für die z-Daten."
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+#, fuzzy
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+"Verwerfe <trim> Prozent der kleinsten und <trim> Prozent der größsten "
+"Beobachtungen."
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Ausgabe-Rasterkarte erforderlich."
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Integer-Werte wurden importiert."
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Integer-Werte wurden importiert."
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Gebe Rasterhistorie anstelle der Info aus."
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "Setze Region angepasst an diese Rasterkarte."
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
 msgstr ""
-"Übersteuere die Projektion des Datensatzes (verwende Projektion der "
-"Location)."
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:288
+#, c-format
+msgid "Flag %c makes sense only with %s option or -%c flag"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "Gruppe <%s> existiert nicht."
+
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
+msgstr "zrange wird im Lesemodus nicht berücksichtigt."
+
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
 #, fuzzy, c-format
 msgid "Input file <%s> does not exist"
 msgstr "Gruppe <%s> existiert nicht."
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
 #, c-format
 msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
-#, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Unbekannte Regeloption: '%s'"
-
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"Kann die Projektionsinformationen der Eingabekarte nicht ins GRASS-Format "
-"konvertieren, zwecks Überprüfung."
-
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "GRASS LOCATION PROJ_INFO:\n"
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr ""
-"Bedenken Sie, dass die Erzeugung einer neuen Location auf Grundlage der "
-"Eingabedaten mit dem Parameter 'location=' geeigneter sein könnte.\n"
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Unbekannte Regeloption: '%s'"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 msgid "Invalid zrange"
 msgstr "Ungültige z-Spanne."
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr "Kann das Perzentil nicht berechnen ohne die Angabe von pth!"
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr "Kann keinen getrimmten Mittelwert (trimmean) ohne Angabe von trim!"
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr "zrange wird im Lesemodus nicht berücksichtigt."
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Option <%s> erforderlich."
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr "Lese Daten..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Konnte die Ausgabedate <%s> nicht öffnen."
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "Schreibe in die Karte ..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%lu Punkte in der Region gefunden."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "Lese Daten ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr "Kann das Perzentil nicht berechnen ohne die Angabe von pth!"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Bereich:     min         max\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr "Kann keinen getrimmten Mittelwert (trimmean) ohne Angabe von trim!"
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Kann die Datei '%s' nicht zum Lesen öffnen."
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "GRASS LOCATION PROJ_INFO:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+"Bedenken Sie, dass die Erzeugung einer neuen Location auf Grundlage der "
+"Eingabedaten mit dem Parameter 'location=' geeigneter sein könnte.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"Kann die Projektionsinformationen der Eingabekarte nicht ins GRASS-Format "
+"konvertieren, zwecks Überprüfung."
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26926,12 +27602,6 @@ msgstr "Reskaliere %s[%d,%d] nach %s[%d,%d]"
 msgid "Header File = %s"
 msgstr "Header-Datei = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "Kann die Datei <%s> nicht erzeugen."
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27764,6 +28434,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr "Ungültige z-Spanne."
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27822,6 +28499,11 @@ msgstr "Schlechte Y-Koordinate in Zeile %lu Spalte %d. <%s>"
 msgid "Writing to output raster map..."
 msgstr "Schreibe Ausgabe-Rasterkarten..."
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr "%lu Punkte in der Region gefunden."
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr "Erzeugt eine Schummerungskarte aus einem Höhenmodell (DGM)."
@@ -28191,27 +28873,27 @@ msgstr "Name der Filterdatei"
 msgid "Delete the null file"
 msgstr "Kann die Signaturdatei nicht öffnen."
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "cats Tabelle für [%s] ist auf %s gesetzt."
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] ist eine reklassifizierte Karte einer anderen Karte. Beende mich."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Schreibe neue NULL-Datei für Karte [%s]... "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Entferne NULL-Datei für [%s]...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Fertig."
 
@@ -28247,32 +28929,12 @@ msgid "Produces a vector map of specified contours from a raster map."
 msgstr ""
 "Erzeugt eine Vektorkarte mit bestimmten Kontourlinien aus einer Rasterkarte."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Abstand zwischen der kontour-Intervallen."
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Anzahl der Kontour-Level"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Anzahl der Kontour-Level"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Minimales Kontur-Level"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Maximales Kontur-Level"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "Minimale Anzahl der Punkte für eine Kontour-Linie (0 -> kein Limit)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -28283,29 +28945,31 @@ msgstr "Entweder 'rules' oder 'col' muss angegeben werden."
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Kann Tabelle nicht erzeugen: '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Kann keinen Index für die Tabelle <%s>, Schlüssel <%s> erzeugen."
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "Schreibe Attribute ..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Kann neuen Eintrag nicht einfügen: '%s'"
@@ -29138,10 +29802,6 @@ msgstr "Name der Eingabe-Vektorkarte mit Stopppunkten."
 msgid "Size of point cache"
 msgstr "Größe des Punkt-Caches."
 
-#: ../raster/r.what/main.c:141
-msgid "Output header row"
-msgstr "Ausgabe der Kopfzeile."
-
 #: ../raster/r.what/main.c:146
 msgid "Show the category labels of the grid cell(s)"
 msgstr "Zeige die Kategorielabel der Rasterzelle(n)."
@@ -29436,7 +30096,8 @@ msgstr "Spaltentyp wird nicht unterstützt (muss 'string' sein)."
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "Kann Daten der Tabelle nicht selektieren."
 
@@ -30071,11 +30732,11 @@ msgstr "Gebe im Shell-Skript-Style aus"
 msgid "3D Raster map <%s> not found"
 msgstr "3D-Rasterkarte <%s> nicht gefunden."
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Fehler beim Lesen der 'history'-Datei."
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, c-format
@@ -30267,6 +30928,40 @@ msgstr ""
 msgid "Update range"
 msgstr "Spanne der Ausgabedaten."
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Gradient"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+"Kombiniert rote, grüne und blaue Rasterkarten zu einer zusammengesetzten "
+"Rasterkarte."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Name der Ausgabe-Rasterkarte(n)."
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "Größe des Punkt-Caches."
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Kann keinen Speicher reservieren."
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Schreibe neue Rasterkarte..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 msgid "Unable to close input raster maps"
 msgstr "Kann die Eingabe-Rasterkarten nicht schließen."
@@ -30436,6 +31131,149 @@ msgstr "Datumsangabe, Datum1/Datum2, oder nichts"
 msgid "Timestamp format is invalid"
 msgstr "Unbekanntes Zeitstempelformat:"
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Bitte geben Sie drei RGB 3D-Rasterkarten an."
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Vektorkarte <%s> nicht gefunden."
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Berechne Flußrichtungen..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr ""
+"Name der Vektorpunktekarte, dessen Attributtabelle editiert werden soll. "
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Name der zu editierenden Vektorkarte"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Name der Ausgabe-Expositions-Rasterkarte."
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Name der 3D-Rasterkarte(n) mit Glanzwerten"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "Länge in Karteneinheiten: %g"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Anzahl der Iterationen"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "Standard ist die Rasterzellenbreite."
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "Interpolationsmethode."
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Keine Rasterkarte ausgewählt"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Standard-Datenbank ist nicht angegeben."
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Maximale Zahl der Iterationen."
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Maximale Zahl der Iterationen."
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "Anzahl der Zellen zwischen Fließlinien."
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Kann Tabelle <%s> nicht beschreiben."
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Vektorkarte <%s> ist nicht 3D."
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Fehler beim Lesen der Daten"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Kosten für Isolinien."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30960,6 +31798,60 @@ msgstr "Erstelle Topologie für die Fehler-Vektorkarte..."
 msgid "Failed to find intersection segment"
 msgstr "Interpretation von width als Integer ist fehlgeschlagen."
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Kann nicht in Tabelle <%s> einfügen."
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Kann die Vektorkarte <%s> nicht öffnen."
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Die Tabelle <%s> existiert nicht in der Datenbank <%s>."
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "OGR Vektor <%s> existiert bereits und wird überschrieben"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "OGR Vektor <%s> existiert bereits und wird überschrieben"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Kann die Vektorkarte <%s> nicht erzeugen."
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Kann Datenbank <%s> nicht mit dem Treiber <%s> öffnen."
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Kann die Tabelle <%s> nicht erzeugen."
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Kann die Attributtabelle nicht in die Vektorkarte <%s> kopieren."
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Kann die Tabelle <%s> nicht erzeugen."
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30992,7 +31884,7 @@ msgstr ""
 "Erforderlich für die Operation 'connect'. Verbindet Punkte innerhalb des "
 "gegebenen Schwellenwertes."
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -31006,8 +31898,8 @@ msgstr "Name der Eingabe-Vektorkarte mit Punkten."
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr "Benötigt für die Operation 'connect'."
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -31035,82 +31927,123 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "Findet den kürzesten Weg in einem Vektor-Netzwerk."
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Keine Tabelle."
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 "Erforderlich für die Operation 'connect'. Verbindet Punkte innerhalb des "
 "gegebenen Schwellenwertes."
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Namen der Eingabedateien."
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Benötigt für die Operation 'connect'."
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "Weise neuen Punkten eindeutige Kategorien zu."
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr "Für die Operation 'nodes'."
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Vektorkarte mit den Stopp-Punkten"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Linien-Layer"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr "Unbekannte Operation."
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "Der Schwellwert muss >=0 sein."
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Führt Wartungsarbeiten im Netzwerk durch."
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "Führt Wartungsarbeiten im Netzwerk durch."
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "Kann die Vektorkarte <%s> auf dem Topologischen Level %d nicht öffnen."
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d neue Punkte in die Ausgabe geschrieben."
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "[%d] Linien sind gelesen und in die Ausgabe geschrieben worden."
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "Kopiere Attribute..."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr "Kopieren der Attributtabelle in die Ausgabekarte fehlgeschlagen."
@@ -31130,8 +32063,9 @@ msgstr "%d Punkte gefunden: %.3lf %.3lf %.3lf Kategorie der Linie: %d"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "Punkt"
@@ -31164,9 +32098,9 @@ msgstr "Name der Spalte mit den Y-Koordinaten."
 msgid "Name of column containing z coordinate"
 msgstr "Name der Spalte mit den Z-Koordinaten."
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr "3D-Ausgabe."
 
@@ -31384,13 +32318,13 @@ msgstr ""
 "Im Netzwerk-Modus: multipliziere das Ergebnis mit der Anzahl der Eingabe-"
 "Punkte."
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Die Vektorkarte <%s> existiert bereits und wird überschrieben."
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "Vektorkarte <%s> existiert bereits."
@@ -31590,29 +32524,29 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr "Mache äußere Ecken gerade"
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Erzeuge keine Kappen an den Enden von Polylinien"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 msgid "Transfer categories and attributes"
 msgstr "Übertrage Kategorien und Attribute"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 #, fuzzy
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr "Beachte: In geographischen Koordinatensystem sind Distanzen in Grad"
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 "Wählen Sie entweder die Puffer distance/minordistance/angle oder eine "
 "Spalte, aber nicht beides"
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31622,47 +32556,47 @@ msgstr ""
 "Ungültige Layer-Nummer (%d). Parameter '%s' oder '%s' angegeben, vermute "
 "Layer '1'."
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr "Die bufcol-Option benötigt einen gültigen Layer."
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 msgid "The tolerance must be > 0."
 msgstr "Toleranz muss >= 0 sein."
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Die Toleranz wurde auf %g zurückgesetzt"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 msgid "Illegal scale value"
 msgstr "Ungültiger Maßstabswert"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Toleranz in Karteneinheiten = %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Kann die Vektorkarte nicht lesen."
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Kann keine Daten der Tabelle <%s> selektieren"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Spaltentyp nicht unterstützt."
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
@@ -31670,12 +32604,12 @@ msgstr ""
 "Keine Objekte zum Puffern vorhanden. Überprüfen Sie die Option type und die "
 "Objekte in der Eingabe-Vektorkarte."
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
@@ -31683,102 +32617,102 @@ msgstr ""
 "Negative Distanzen für interne Puffer sind nicht erlaubt und werden in "
 "positive Werte umgewandelt."
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr "Puffere Flächen..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Kein Eintrag für die Kategorie %d in der Tabelle <%s>."
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Attribut hat ungültige Größe (%.3f) für Kategorie %d"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "Toleranz in Karteneinheiten: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 msgid "Buffering features..."
 msgstr "Puffere Objekte..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr "Negative Distanzen sind nur für Flächen erlaubt"
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 msgid "Cleaning buffers..."
 msgstr "Säubere Puffer..."
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "Erstelle Teile der Topologie..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr "Fange Grenzen..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 msgid "Breaking polygons..."
 msgstr "Teile Polygone..."
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "Entferne Duplikate ..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "Breche Grenzen auf..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 msgid "Cleaning boundaries at nodes"
 msgstr "Säubere Grenzen an den Knoten"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 msgid "Removing dangles..."
 msgstr "Entferne Überstände (dangles)..."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 msgid "Removing bridges..."
 msgstr "Entferne Brücken..."
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Füge Inseln hinzu..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 msgid "Calculating centroids for all areas..."
 msgstr "Berechne Zentroide für alle Flächen..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Kann den Flächenzentroiden nicht berechnen."
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Erstelle der zu löschenden Grenzen..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 msgid "Deleting boundaries..."
 msgstr "Lösche Grenzen..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 msgid "Calculating centroids for areas..."
 msgstr "Berechne Zentroide der Flächen..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Kann keinen Zentroid für die Fläche %d berechnen."
@@ -31971,7 +32905,7 @@ msgstr ""
 #: ../vector/v.surf.rst/main.c:524
 #, fuzzy, c-format
 msgid "Unable to create %s"
-msgstr "Kann die Datei <%s> nicht erzeugen."
+msgstr "Kann Tabelle nicht erzeugen: %s"
 
 #: ../vector/v.vol.rst/main.c:555
 #, fuzzy, c-format
@@ -32081,7 +33015,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Selektion"
+msgstr "Verarbeite Flächen ..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -32175,7 +33109,7 @@ msgstr ""
 "Nicht genügend Speicher auf der Festplatte frei - kann die Dateien nicht "
 "schreiben."
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -32227,11 +33161,12 @@ msgstr "Berechnet Brücken und Artikulationspunkte in einem Netzwerk."
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -32242,27 +33177,27 @@ msgstr "Berechnet Brücken und Artikulationspunkte in einem Netzwerk."
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr "Kosten"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr "Spalte mit Kosten für Knoten (Zahl)."
 
@@ -32290,12 +33225,12 @@ msgstr "Art des Vektorobjekts"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht erzeugen."
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 #, fuzzy
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr "Allokiere Teilnetze für das nächste Zentrum (Richtung vom Zentrum)."
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 #, fuzzy
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
@@ -32304,7 +33239,7 @@ msgstr ""
 "Zentraler Knoten muss geöffnet sein (Kosten >= 0). Kosten des zentralen "
 "Knoten gehen im die Berechnung mit ein."
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 #, fuzzy
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
@@ -32313,30 +33248,48 @@ msgstr ""
 "Kategorien der Zentren (Punkte auf Knoten) zu welchen das Netz zugewiesen "
 "wird. Der Layer für diese Kategorien wird mit der 'nlayer'-Option angegebn."
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Layer/Tabelle"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Maximale Distanz zum Netzwerk."
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "Zahl der Zentren: [%d] (nlayer: [%d])."
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 #, fuzzy
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 "Nicht genügend Zentren für den gewählten nlayer. Nichts wird zugewiesen."
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Berechne die Kosten von den Zentren ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr ""
 "Kann das Liniensegment nicht bekommen, Segment ist außerhalb der Linie."
@@ -32685,82 +33638,82 @@ msgstr ""
 "Attribute akzeptiert."
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 msgid "Import failed"
 msgstr "Import fehlgeschlagen"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Erzeugt zufällige 2D/3D GRASS Vektor-Punktkarten."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "Anzahl der zu erstellenden Punkte."
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Lese Punkte aus Eingabe-Vektorkarte."
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "Minimale z-Höhe (benötigt den Schalter '-z' oder Spaltenname)."
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "Maximale z-Höhe  (benötigt den Schalter '-z' oder Spaltenname)."
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Name der Spalte, die numerische Werte enthält."
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Schreibt Z Werte in eine Spalte anstelle der 3D Vektorkarte."
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Farbtabellentyp"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Erzeuge eine 3D-Ausgabe."
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Selektiere Punkte für jede Fläche..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "Anzahl der Punkte muss größer >0 sein (%d gegeben)."
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d von %d Objekten selektiert in der Vektorkarte <%s>."
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Name existierender Vektorkarte mit Flächen"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr "Tabelle sollte nur zwei Spalten haben."
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
@@ -32768,18 +33721,18 @@ msgstr ""
 "Sie haben nicht unterstützte Spaltentypen erzeugt. Dieses Modul unterstützt "
 "nur die Spaltentypen INTEGER und DOUBLE PRECISION."
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "Start-Vektorkarte <%s> beinhaltet keine Punkte in der aktuellen Region"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "Start-Vektorkarte <%s> beinhaltet keine Punkte in der aktuellen Region"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "Erzeuge Punkte... "
 
@@ -32974,6 +33927,158 @@ msgstr "Ich bin nicht in der Lage die Datenbank zu aktualisieren."
 msgid "Impossible to write in the database"
 msgstr "Ich bin nicht in der Lage in die Datenbank zu schreiben."
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+msgid "generalization"
+msgstr "Generalisierung"
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Punkt Klassifikation."
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "Keine Datenpunkte gefunden."
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Integer-Werte wurden importiert."
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Integer-Werte wurden importiert."
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> Ungültige Anzahl von Punkten."
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Maximaler Toleranzwert"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Anzahl der horizontalen Vertexpunkte pro Gridzelle."
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Anzahl der horizontalen Vertexpunkte pro Gridzelle."
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Standardabweichung"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Ungültige z-Spanne."
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -33048,7 +34153,7 @@ msgstr "Systemtabellen anstatt Benutzertabellen."
 msgid "Force 2D output even if input is 3D "
 msgstr "Erzwinge Ausgabe von Integer-Werten."
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -33268,6 +34373,183 @@ msgstr "Kann Attribute nicht selektieren."
 msgid "Labeled %d lines."
 msgstr "Habe %d Linien beschriftet"
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "Keine Datenpunkte gefunden."
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "Raster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d Klumpen."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Cluster-Separation."
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Layer-Nummer (Vektorkarte A)."
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Maximale Distanz zum Netzwerk."
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Minimale Anzahl von Pixeln in einer Klasse."
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Cluster-Separation."
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Anzahl der Klassen muss < 256 sein."
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Die Größe der Nachbarschaft muss positiv sein."
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Zähle Sites in den Quadraten..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Keine Punkte gefunden, überspringe den Typ point."
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Erzeuge Zentroide..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s=%s - muss eine positive Zahl sein."
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Benutze maximale Distanz zwischen Punkten %f."
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Keine Kategorien gefunden"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Maximale Distanz zur nächsten Linie."
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, fuzzy, c-format
+msgid "Mean: %g"
+msgstr "Mittelwert = %.5lf"
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Standardabweichung"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Benutze maximale Distanz zwischen Punkten %f."
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Finde Kostenpfad..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr "npoints = %d, nterrain = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Keine Linien gefunden, überspringe %s."
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Schreibe Ausgabe-Rasterkarten..."
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Lese Eingaben..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "Keine Punkte gefunden"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+#, fuzzy
+msgid "Core density ..."
+msgstr "Vektor, Kerndichte"
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%d Klassen gefunden."
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%d Klassen gefunden."
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -33336,7 +34618,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr "Zeige Typ/Name der Spalten der Datenbank des Layers %d:"
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33604,14 +34886,8 @@ msgstr "Keine Schrift ausgewählt."
 msgid "Loading data..."
 msgstr "Lade Daten..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Vektorkarte <%s> ist nicht 3D."
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Spalte <%s> nicht gefunden."
@@ -33668,17 +34944,17 @@ msgstr "Erstelle Supportdateien für Rasterkarte..."
 msgid "Color can be updated from database only if use=attr"
 msgstr "Farbe kann nur von der Datenbank aktualisiert werden wenn use=attr."
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "Konvertierte Flächen: %d von %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "Konvertierte Punkte/Linien: %d von %d"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "Lese Flächen..."
 
@@ -33848,17 +35124,17 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Unbekannte Option '%s'."
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 "Erzeugt einen Ring der die gegebenen Knoten verbindet (Handelsreisenden-"
 "Problem)."
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
@@ -33866,67 +35142,67 @@ msgstr ""
 "Bedenken Sie das: Das Handelsreisenden-Problem ist NP-hart. Dies Modul setzt "
 "ein heuristischen Algorithmus ein und erzeugte Ringen können suboptimal sein."
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+"Kategorien der Punkte ('Städte') auf den Knoten (Layer wird mit nlayer "
+"bestimmt)."
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr "Knoten-Layer (verwendet für Städte)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "Kostenspalte (Nummer) für die rückwärts Richtungen der Kanten."
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr ""
 "Name der Ausgabekarte (wenn keiner oder \"-\"  angegeben wurdeerfolgt die "
 "Ausgabe nach stdout)."
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-"Kategorien der Punkte ('Städte') auf den Knoten (Layer wird mit nlayer "
-"bestimmt)."
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Anzahl der Städte: [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "Nicht ausreichend Städte (< 2)."
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Erzeuge Zentroide..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "Kein Punkte mit Kategorie [%d]."
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Kein Eintrag für Punkt (cat = %d)."
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Zielknoten [%d] ist nicht erreichbar von Knoten [%d]."
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Kann Datei <%s> nicht zum Schreiben öffnen."
@@ -34093,6 +35369,21 @@ msgstr "Wähle Typ aus: Linie oder Fläche"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "4 Werte sind für den Parameter 'spatial' nötig."
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Unbekannte Regeloption: '%s'"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Übersteuere die Überprüfung der Projektion."
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 msgid "layer"
 msgstr "Layer"
@@ -34220,7 +35511,7 @@ msgid "Processing features..."
 msgstr "Verarbeite Objekte..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "Kann den Zentroid der Fläche nicht berechnen."
 
@@ -34286,7 +35577,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Kann die Spalte <%s> nicht verwenden."
@@ -34688,7 +35979,7 @@ msgstr "Konnte die Flächen-Kategorie %d nicht finden."
 msgid "%d records updated"
 msgstr "%d Einträge aktualisiert."
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34796,10 +36087,9 @@ msgstr "Unbekannte Operater"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Kann Spalten-Zeichenkette [%s] nicht tokenisieren"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
-msgstr "Transformiere Feature..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
+msgstr "Transformiere Objekte..."
 
 #: ../vector/v.transform/main.c:290
 #, fuzzy, c-format
@@ -35250,7 +36540,7 @@ msgstr "Fehler beim Öffnen der 3D-Rasterkarte <%s>."
 msgid "Column type not supported, please use a column with double type"
 msgstr "Spaltentyp wird nicht unterstützt (muss 'string' sein)."
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Lese Feature..."
@@ -35335,6 +36625,10 @@ msgstr "Spaltenname der Degree-Zentralität"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Spalten"
 
@@ -35399,57 +36693,62 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Gib gemittelte Werte anstatt Intervalle aus."
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Spalte <%s> in der Tabelle <%s>nicht gefunden."
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Rastertyp ist Integer und der Spaltentyp ist Fließkomma."
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "Rastertyp ist Fließkomma und der Spaltentyp ist Integer. Etwas "
 "Informationsgehalt der Daten geht verloren!!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "%d Linien oder Grenzen in der Vektorkarte <%s@%s> gefunden."
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d Punkte außerhalb der Region wurden übersprungen."
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr "%d Punkte ohne Kategorie wurden übersprungen."
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "Mehrere Punkte (%d) der Kategorie %d, auf 'NULL' gesetzt."
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d Kategorien aus dem Vektor geladen."
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d doppelte Kategorien im Vektor."
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d Kategorien aus der Tabelle geladen."
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d Kategorien des Vektors fehlen in der Tabelle."
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d Einträge aktualisiert."
@@ -36304,7 +37603,9 @@ msgstr "Gebe die Statistik im Shell-Skript-Stil aus."
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "Entweder 'rules' oder 'col' muss angegeben werden."
+msgstr ""
+"Entweder \"-i\" oder \"-r\" oder eine der Optionen \"color\", \"rast\" oder "
+"\"rules\" muss angegeben werden!"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -36342,31 +37643,42 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "Gebe Vektorattribute aus."
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+"Ziel-WHERE Bedingungen des SQL-Ausdrucks ohne das Schlüsselwort 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Vertikales Trennzeichen für die Ausgabe."
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 "Gebe anstelle der Attribute die minimale Ausdehnung der Region der "
 "selektierten Vektorobjekte aus."
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 msgid "Region"
 msgstr "Region"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Füllt die Datenbank mit Werten der Vektor-Feature."
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
@@ -36375,21 +37687,21 @@ msgstr ""
 "Kann die Vektorkarte <%s> nicht im topologischen Modus öffnen. Schalter '%c' "
 "benötigt aber den topologischen Modus."
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "Kann den Select-Cursor nicht öffnen."
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Kann Daten nicht aus der Tabelle <%s> holen."
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "Kann die 'Bounding Box' der Fläche %d nicht bekommen."
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "Kann die 'Bounding Box' der Linie %d nicht bekommen."
@@ -36680,7 +37992,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d Datensätze aus der Tabelle selektiert."
 msgstr[1] "%d Datensätze aus der Tabelle selektiert."
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Kann die Tabelle <%s> nicht erzeugen."
@@ -36707,7 +38019,7 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Frage die Datenbank ab..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
@@ -36717,13 +38029,13 @@ msgstr ""
 "viele (%d) Kategorien in der Abfrage sind. Alle im Folgenden berichteten "
 "Werte für cat 0 sind nicht korrekt. "
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 "Mehrere Abfrage-Ergebnisse, Ausgabewert auf NULL gesetzt (Kategorie [%d])."
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr "Kann den Datensatz nicht holen."
 
@@ -36739,6 +38051,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Farbtabelle der Rasterkarte <%s> nicht gefunden."
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Aktualisiere die Datenbank..."
@@ -37015,7 +38332,8 @@ msgstr "Berechne Geometriedistanzen an Stelle der Tabellenwerte."
 msgid " Database connection not defined for layer <%s>"
 msgstr "Datenbankverbindung ist für den Layer <%s> nicht definiert."
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Spaltentyp nicht unterstützt."
@@ -37034,56 +38352,56 @@ msgstr "[%d] Punkte ohne Kategorie (nfield: [%d])."
 msgid "Wrong input format: %s"
 msgstr "Falsches Eingabe-Format: %s."
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "Kein Punkte mit Kategorie [%d]."
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 "Punkt mit der Kategorie [%d] ist nicht erreichbar von dem Punkt mit der "
 "Kategorie [%d]."
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr "Punkt %f,%f ist nicht erreichbar von Punkt %f,%f."
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] Input-Format-Fehler."
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr "[%d] Punkte mit gegebener Kategorie fehlen."
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 "%d Ziele sind unerreichbar (inklusive der Punkte außerhalb des "
 "Schwellwertes)."
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "Findet den kürzesten Weg in einem Vektor-Netzwerk."
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 "Name der Datei mit Start- und Endpunkten. Falls nicht angegeben, wird von "
 "stdin gelesen."
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr "Maximale Distanz zum Netzwerk."
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
@@ -37094,7 +38412,7 @@ msgstr ""
 "gefunden und eine Fehlermeldung ausgegeben. Um die Verarbeitung zu "
 "beschleunigen, wählen Sie den Wert so gering wie möglich."
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 "Schreibe die Ausgabe in Form der originalen Eingabesegmente und nicht jeden "
@@ -37695,46 +39013,50 @@ msgstr "Maximale Anzahl der Vertices auf einem Segment"
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Schreibe Vertices der Linien."
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "Der Glättungswert muß positiv sein."
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, c-format
 msgid "Unknown unit %s"
 msgstr "Unbekannte Einheit %s"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "Kann die Projektionseinheit der Eingabekarte nicht ermitteln."
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, c-format
 msgid "Length in map units: %g"
 msgstr "Länge in Karteneinheiten: %g"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, c-format
 msgid "Length in meters: %g"
 msgstr "Länge in Meter: %g"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Anzahl der Klassen muss < 256 sein."
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -37835,10 +39157,6 @@ msgstr "Spalte muss numerisch sein."
 msgid "Reading categories..."
 msgstr "Lese Kategorien..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Transformiere Objekte..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -38017,7 +39335,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Interpoliere Punkte zwischen den Vertices der Linien."
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Kann die Tabelle <%s> nicht kopieren."
@@ -38291,113 +39609,113 @@ msgstr ""
 "Um eine neue Verbindung zu definieren müssen Sie die folgenden Parameter "
 "angeben: Treiber, Datenbank, Tabelle [, Schlüsselspalte [, Layer]]."
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr ""
 "Reprojiziert eine Vektorkarte von einer Location in die aktuelle Location."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "Location, die die Eingabe-Vektorkarte enthält."
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "Mapset, das die Eingabe-Vektorkarte enthält."
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Name der Eingabe-Rasterkarte, die umprojeziert werden soll."
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Mapset, das die Eingabe-Vektorkarte enthält."
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Liste die Vektorkarten der Eingabe-Location und beendet sich."
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "Nur 3D-Vektorkarten."
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 #, fuzzy
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 "Nehme an das die Z-Koordinate die ellipsoidale Höhe enthält und "
 "transformiere, wenn möglich."
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Keine Rasterkarten gefunden."
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Vektorkarte <%s> in der Location <%s> im Mapset <%s> nicht gefunden."
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "Mapset <%s> in Eingabe-Location <%s> - Zugriff verweigert."
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "Mapset <%s> in Eingabe-Location <%s> nicht gefunden."
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "Lese Eingabe-Vektorkarte."
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Eingabe-Vektorkarte <%s> ist nicht 3D."
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr "Fehler in pj_do_transform."
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Reprojeziere Primitive:"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Kann die Vektorkarte <%s> in <%s> nicht öffnen."
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr "Erzeugt eine neue Vektorkarte durch Kombination anderer Vektorkarten."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
@@ -38405,101 +39723,122 @@ msgstr ""
 "Ausgabe-Vektorkarte, in die die Boundig Boxes der Eingabe-Vektorkarten "
 "geschrieben werden"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Erzeuge keine Topologie."
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
-"Hänge Dateien an eine existierende Datei an. Das Überschreiben von "
-"existierenden Dateien muss aktiviert sein"
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "Kopiere auch die Attributtabelle"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr "Nur die Tabelle des Layer 1 wird zur Zeit unterstützt"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+"Hänge Dateien an eine existierende Datei an. Das Überschreiben von "
+"existierenden Dateien muss aktiviert sein"
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Fehlende Tabelle."
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "Schlüsselspalten (key columns) stimmen nicht überein"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "Anzahl der Spalten stimmt nicht überein"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "Spaltennamen stimmen nicht überein"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "Spaltentypen stimmen nicht überein"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr "Länge der 'string'-Spalten stimmen nicht überein"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Schlüselspalte (key column) nicht gefunden"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "Die Ausgabekarte ist nicht 3D"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Kombiniere Vektorkarte <%s@%s>..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 "Fehler beim Lesen der Vektorkarte <%s> - Einige Daten könnten nicht korrekt "
 "sein"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Erstelle Topologie für die Vektorkarte <%s>..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr "Überschneidungen an den Grenzen müssen gefangen werden"
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr "Linien, die in mehreren Dateien vorkommen, müssen editiert werden"
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr "Die Header-Informationen müssen auch editiert werden"
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr "%d Vektorkarten kombiniert"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "Kann den Select-Cursor '%s' nicht öffnen"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "Kann die Zeile nicht holen"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Unbekannter Spalten-Typ"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Kann neuen Eintrag nicht einfügen: '%s'"
@@ -39181,16 +40520,12 @@ msgstr[1] "%d Flächen gelöscht"
 msgid "Operation not implemented"
 msgstr "Operation nicht implementiert."
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Konvertiere OGR Vektorlayer in das GRASS Vektorkarten."
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "Name der OGR Datenquelle"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
@@ -39200,7 +40535,7 @@ msgstr ""
 "\t\tESRI Shapefile: Verzeichnis, welches die Shapefiles beinhaltet.\n"
 "\t\tMapInfo Datei: Verzeichnis, welches die MapInfo-Dateien enthält."
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -39210,49 +40545,49 @@ msgstr ""
 " \t\tESRI Shapefile: Name des Shapefiles\n"
 "\t\tMapInfo Datei: Mapinfo-Dateiname."
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "Importiere nur einen Ausschnitt."
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "Format: xmin,ymin,xmax,ymax - gewöhnlich W,S,O,N"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Kleinste zu importierende Fläche (in Flächeneinheiten)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 "Kleinere Flächen und Inseln werden ignoriert. Sollte größer sein als snap^2."
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr "Optionalerweise: Ändere den Standard Input-Typ."
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Keine aktiven Kontrollpunkte."
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Säubere Grenzen an den Knoten"
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Erstellt Poly-Linien aus Linien und Grenzen"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Entferne doppelte Zentroide"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -39260,172 +40595,174 @@ msgstr ""
 "Zeige sie Spaltennamen die anstatt der Originalnamen verwendet werden. Der "
 "Erste entspricht der Kategoriespalte."
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Name der Spalte mit Raster-Kategorie-Beschriftungen."
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Spaltenname der Degree-Zentralität"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "Wenn nicht angegeben wird der Name der Eingabekarte verwendet."
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "Polygone nicht säubern (clean) (nicht empfehlenswert)."
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "Erzwinge Ausgabe von Integer-Werten."
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "Begrenze den Import auf die aktuelle Region."
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "Ändere Spaltenname zu Kleinbuchstaben"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Kann die Datenquelle <%s> nicht öffnen."
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Cursor-Position wird nicht von MySQL unterstützt."
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, fuzzy, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr "Datenquelle enthält %d Layer:"
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "Layer <%s> ist nicht vorhanden."
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Layer <%s> ist nicht vorhanden."
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "Kann die Layer-Informationen der Vektorkarte <%s> nicht bekommen"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Spalte <%s> in der Tabelle <%s>nicht gefunden."
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 "Wählen Sie entweder den Schalter \"aktuelle Region\" oder die Option "
 "'spatial' aber nicht beide."
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "4 Werte sind für den Parameter 'spatial' nötig."
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Distanz der Grenz-Aufteilung in Karteneinheiten: %G"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Verwende die temporäre Vektorkarte <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, c-format
 msgid "Key column '%s' not found"
 msgstr "Schlüsselspalte '%s' nicht gefunden."
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Schlüssel-Spalte (key column) ist nicht muss vom Typ integer."
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Spalte <%s> in der Tabelle <%s>nicht gefunden."
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+"Schreibe Spalte <%s> mit einer festen Länge von %d Zeichen (Es könnte etwas "
+"abgeschnitten worden sein). "
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 "Schreibe Spalte <%s> mit einer festen Länge von %d Zeichen (Es könnte etwas "
 "abgeschnitten worden sein). "
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -39434,65 +40771,65 @@ msgstr ""
 "Breite für die Spalte %s wird auf 255 gesetzt (wurde nicht von OGR "
 "bestimmt). Einige Texte können abgeschnitten worden sein!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 "Schreibe Spalte %s mit einer festen Länge von %d Zeichen (Es könnte etwas "
 "abgeschnitten worden sein). "
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Spaltentyp (%s) wird nicht unterstützt."
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Importiere %d Objekte der Karte..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s ohne Geometrie."
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 msgid "Cleaning polygons"
 msgstr "Säubere Polygone..."
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Fange Grenzen (Schwellwert = %.3e):"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "Säubere Grenzen an den Knoten..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 msgid "Merging boundaries..."
 msgstr "Vereinige Grenzen..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Ändere Grenzüberstände zu Linien:"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Ändere Brücken der Grenzen zu Linien:"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Finde Zentroide der Layer: %s"
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "Schreibe Zentroide..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39504,100 +40841,100 @@ msgstr ""
 "der Attributtabelle verlinkt. Die Anzahl der Objekte für diese Flächen ist "
 "als Kategoriewert im Layer %d abgelegt."
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr "%d Eingabepolygone\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d Eingabepolygone"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Gesamtfläche: %G (%d Flächen)\n"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Gesamtfläche: %G (%d Flächen)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Überlappende Fläche: %G (%d Flächen)\n"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Überlappende Fläche: %G (%d Flächen)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Fläche ohne Kategorie: %G (%d Flächen)\n"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Fläche ohne Kategorie: %G (%d Flächen)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 "Versuchen Sie den Import nochmals, Fangtoleranz mindestens %g: 'snap=%g'"
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr "Versuchen Sie den Import nochmals, Fangtoleranz %g: 'snap=%g'"
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, fuzzy, c-format
 msgid "%d additional areas where created during import."
 msgstr "Es sind während des Imports Fehler aufgetreten"
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Fangtoleranz für Grenzen"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Kann die Tabelle <%s> nicht löschen."
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -39646,17 +40983,21 @@ msgstr "Kann Teil der Geometrie nicht schreiben."
 msgid "Unknown geometry type"
 msgstr "Unbekannter Geometrie-Typ."
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Name für die auszugebende Tabelle"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Rasterdatei die verbunden werden soll."
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39668,21 +41009,21 @@ msgstr ""
 " \t\tESRI Shapefile: Name des Shapefiles\n"
 "\t\tMapInfo Datei: Mapinfo-Dateiname."
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Name der Ausgabe-Vektorkarte (Standard: input)."
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 msgid "List available layers in data source and exit"
 msgstr "Zeigt die vorhandenen Layer in der Datenquelle und beendet sich."
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Zeigt die vorhandenen Layer in der Datenquelle und beendet sich."
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 #, fuzzy
 msgid "Format: layer name,type,projection check,geometry"
 msgstr "Format: Layer Typ Anzahl Min Max"
@@ -39736,7 +41077,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "Ungültige GEOS Geometrie!"
+msgstr "Geometriespalte:"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -39747,17 +41088,17 @@ msgstr ""
 "Erzeugt eine neue Vektorkarte als einen ausschließlich lesbaren Link zu "
 "einem OGR-Layer."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Kann die Zeile %d nicht zurückschreiben."
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Kann die Datei <%s> nicht erzeugen."
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "Rasterkarte <%s> erzeugt."
@@ -39894,15 +41235,15 @@ msgstr "Kann Ausgabekarte nicht erzeugen."
 msgid "Unable to close new 3d raster map"
 msgstr "Kann die neue 3D-Rasterkarte nicht schließen."
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 msgid "isolines"
 msgstr "Isolinien"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "Teilt das Netz durch Isokostenlinien."
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 #, fuzzy
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
@@ -39913,45 +41254,45 @@ msgstr ""
 "Zentraler Knoten muss geöffnet sein (Kosten >= 0). Kosten des zentralen "
 "Knotens gehen in die Berechnung ein."
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "Kosten für Isolinien."
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr "Falsche Isokosten: %f"
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr "Isokosten: %f weniger als vorher"
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr "Iso Kosten %d: %f"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 "Kosten sind nicht hoch genug. Alles in Reichweit fällt in das erste Band."
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr "Zentrum auf geschlossenem Knoten (Kosten = -1) wurde ignoriert."
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "Anzahl der Zentren: %d (nlayer %d)"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 "Nicht genügend Zentren für den gewählten nlayer. Nichts wird zugewiesen."
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Berechne Kosten ausgehend vom Zentrum %d..."
@@ -40128,6 +41469,138 @@ msgstr ""
 "Bemerkung: Minimum der ersten Klasse ist inklusive\n"
 "\n"
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Die Datenbankverbindung für den Layer<%d> ist nicht definiert."
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Kein Eintrag für Linie (cat = %d)."
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Kein Eintrag für Linie (cat = %d)."
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Spalte <%s> nicht gefunden."
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Erzeuge Vektorpunkte als 3D-Punkte."
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Konvertiere OGR Vektorlayer in das GRASS Vektorkarten."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Layer-Nummer für Punkt-Karte"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld Kategorien"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Layer-Nummer (to)."
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Layer-Nummer (to)."
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Layer, in dem Spalten hinzugefügt werden soll."
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Layer, in dem Spalten hinzugefügt werden soll."
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Layer, in dem Spalten hinzugefügt werden soll."
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Spalte muss numerisch sein."
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Name der Farbdefinitionsspalte (mit dem Schalter -a zu benutzen)."
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "Kann Farbe nicht lesen."
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "Skalierungsfaktor für die z-Daten."
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "Skalierungsfaktor für die z-Daten."
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Begrenze den Import auf die aktuelle Region."
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Keine Tabelle."
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -40317,7 +41790,7 @@ msgstr "Selektiere Linien..."
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> Ungültige Anzahl von Punkten."
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Zumindest eine Option von %s muss angegeben werden."
@@ -40637,50 +42110,238 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "Hilfstabelle konnte nicht gelöscht werden."
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Kann die Vektorkarte <%s> nicht öffnen."
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Kann Datenbank <%s> nicht mit dem Treiber <%s> öffnen."
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Konvertiere OGR Vektorlayer in das GRASS Vektorkarten."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Ausschnitt"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Layer-Nummer (to)."
 
-#: ../vector/v.in.lidar/main.c:606
-#, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Kann Datenbank <%s> nicht mit dem Treiber <%s> öffnen."
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Layer, in dem Spalten hinzugefügt werden soll."
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Eingabe Vektorkarte mit wenigen Punkten."
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Layer-Nummer (Vektorkarte A)."
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Integer-Werte wurden importiert."
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Dekoration"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Integer-Werte wurden importiert."
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Importiere Punkte..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> Ungültige Anzahl von Punkten."
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Eingabe-Vektorkarte mit Punkten."
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Koordinaten der Startpunkte"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr ""
+"Gebe die Ausgabe auf stdout aus und verändere die Attributtabelle nicht."
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
+#, fuzzy, c-format
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Layer-Nummer für Punkt-Karte"
+
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "Importiere %d Punkte..."
 
-#: ../vector/v.in.lidar/main.c:807
-#, c-format
-msgid "%d points imported"
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
+msgstr "Importiere %d Punkte..."
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
 msgstr "%d Punkte importiert"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d Punkte importiert"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were skipped by count-based decimation"
 msgstr "%d Punkte außerhalb des Schwellenwertes."
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:777
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu points imported (limit was %d)"
+msgstr "%d Punkte importiert"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d Punkte importiert"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
 msgstr "%d Punkte außerhalb des Schwellenwertes."
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:789
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were filtered out by return number"
 msgstr "%d Punkte außerhalb des Schwellenwertes."
 
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:793
+#, fuzzy, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d Punkte außerhalb des Schwellenwertes."
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Die letzten %d Punkte werden ignoriert."
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40857,7 +42518,7 @@ msgstr ""
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "Erzeuge Topologie oder schreibe die Topologie oder den räumlichen Index nach "
 "stdout."
@@ -41959,10 +43620,6 @@ msgstr "Kann die Matrix nicht invertieren."
 msgid "Resolving conflicts..."
 msgstr "Löse Konflikte..."
 
-#: ../vector/v.generalize/main.c:77
-msgid "generalization"
-msgstr "Generalisierung"
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -42142,32 +43799,32 @@ msgstr "Netzwerk Generalisierung..."
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr "Attribute werden für die 'where'-Option benötigt. Kopiere Tabelle."
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "Generalisierung (%s)..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Verwende Auflösung [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr "Methode '%s' hat den ersten Punkt nicht erhalten."
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr "Methode '%s' hat den letzten Punkt nicht erhalten."
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr "Methode '%s' hat den letzten Punkt nicht erhalten."
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
@@ -42175,27 +43832,27 @@ msgstr ""
 "%d Grenzen wurden nicht geändert, weil Änderungen die Topologie beschädigen "
 "würden."
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 "%d Linien/Grenzen wurden nicht geändert wegen übertriebener Vereinfachung."
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, fuzzy, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr "Anzahl der Vertices der selektierten Linien %s von %d zu %d (%d%%)."
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr "reduziert"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr "geändert"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Layer %d"
@@ -42244,76 +43901,6 @@ msgstr "Layer %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Anzahl der Quadrate"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Name der Eingabe-Rasterkarte mit Breitengraden [Dezimalgrad]."
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Name der Eingabe-Rasterkarte mit Längengraden [Dezimalgrad]."
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Ausgabe-Rasterkarte der diffusen Sonneneinstrahlung [W.m-2] (Modus 1) "
-#~ "oder der Abstrahlung [Wh.m-2.day-1] (Modus 2)."
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Ausgabekarte der Grund-Ausstrahlung [W.m-2] (Modus 1) oder Intensität [Wh."
-#~ "m-2.day1] (Modus 2)."
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Ausgabe der globalen (Gesamt-) Strahlungsintensität/-summe [W.m-2] (Modus "
-#~ "1) oder Rasterkarten der Strahlungsintensität/-summe [Wh.m-2.day-1] "
-#~ "(Modus 2)."
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Name der Rasterkartem mit Höheninformation [m]."
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Name der Rasterkarte mit Höheninformationen [in Meter]."
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Ausgabekarte der Grund-Ausstrahlung [W.m-2] (Modus 1) oder Intensität [Wh."
-#~ "m-2.day1] (Modus 2)."
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Ausgabe der globalen (Gesamt-) Strahlungsintensität/-summe [W.m-2] (Modus "
-#~ "1) oder Rasterkarten der Strahlungsintensität/-summe [Wh.m-2.day-1] "
-#~ "(Modus 2)."
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Anzahl der Interpolationspunkte."
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Übersteuere die Projektion (verwende Projektion der Location)."
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Location: %s\n"
 
@@ -42330,31 +43917,41 @@ msgstr "Layer %d"
 #~ "\n"
 #~ "%d Klassen, %.2f%% stabile Punkte\n"
 
+#~ msgid "Subregion"
+#~ msgstr "Ausschnitt"
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Inkrement für die Kategorienummern"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "Option <%s>: <%s> existiert."
-
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Ausgabekarte <%s> ignoriert."
+#~ msgid "Could not rewind input file"
+#~ msgstr "Konnte die Ausgabedate <%s> nicht öffnen."
 
-#, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Ausgabekarte mit topographischem Index"
+#~ msgid "SVN Addons repository URL"
+#~ msgstr "URL des SVN Addons Repository"
 
 #, fuzzy
 #~ msgid "Name for basins raster map"
 #~ msgstr "Name der Basis-Rasterkarte."
 
+#, fuzzy
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "<%s> existiert bereits im Mapset <%s>."
+
+#, fuzzy
+#~ msgid "output map <%s> exists"
+#~ msgstr "Ausgabekarte <%s> ignoriert."
+
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Seitenlänge (Standard: %d Zeilen)."
 
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Seitenbreite (Standard: %d Zeichen)."
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Übersteuere die Projektion (verwende Projektion der Location)."
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.in.gdal to override this check and use the "
@@ -42379,6 +43976,14 @@ msgstr "Layer %d"
 #~ msgid "[%s] not found"
 #~ msgstr "[%s] nicht gefunden werden."
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "Option <%s>: <%s> existiert."
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr ""
+#~ "Übersteuere die Projektion des Datensatzes (verwende Projektion der "
+#~ "Location)."
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -42398,6 +44003,14 @@ msgstr "Layer %d"
 #~ "verwenden.\n"
 
 #, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "-s und -n schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "-s und -n schließen sich gegenseitig aus."
+
+#, fuzzy
 #~ msgid "Default value: GRASS_GUI if defined otherwise wxpython"
 #~ msgstr "Standardwert: GRASS_GUI wenn definiert, ansonsten tcltk"
 
@@ -42410,6 +44023,20 @@ msgstr "Layer %d"
 #~ "Neue GISDBASE (vollständiger Pfad zu dem Verzeichnis, in dem sich die "
 #~ "neue L0cation befindet)."
 
+#, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Kann Projektion nicht setzten."
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Konvertiert alle alten GRASS Vektorkarten im aktuellen Mapset in das "
+#~ "aktuelle Format."
+
+#~ msgid "Field separator"
+#~ msgstr "Feld-Trennzeichen"
+
 #~ msgid "Packs up a raster map and support files for copying."
 #~ msgstr "Komprimiere eine Rasterkarte und Hilfsdateien zum Kopieren."
 
@@ -42456,164 +44083,68 @@ msgstr "Layer %d"
 #~ msgid "No default DB driver defined"
 #~ msgstr "Standard-Treiber wurde nicht angegeben."
 
-#~ msgid "Field separator"
-#~ msgstr "Feld-Trennzeichen"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "<%s> existiert bereits im Mapset <%s>."
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Konvertiert alle alten GRASS Vektorkarten im aktuellen Mapset in das "
-#~ "aktuelle Format."
+#~ msgid "OGR datasource name"
+#~ msgstr "Name der OGR Datenquelle"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Keine Karte angegeben."
 
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Benenne reclass-Karten um."
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "Konnte REF-Datei der Gruppe <%s> nicht lesen."
-
 #, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d Kategorien von der Tabelle <%s> geladen."
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Entweder \"-i\" oder \"value=\" muss angegeben werden."
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Kann die Datei <%s> nicht erzeugen."
 
 #, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "-s und -n schließen sich gegenseitig aus."
+#~ msgid "Starting monitor <%s> with env file '%s'"
+#~ msgstr "Setze den Namen der Karte auf <%s>, was <%s> übersteuert."
 
 #, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
+#~ msgid "Env file not found"
+#~ msgstr "Cell-Datei nicht gefunden."
 
 #, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Bitte geben Sie Z-Spalte an."
+#~ msgid "PID file not found"
+#~ msgstr "Cell-Datei nicht gefunden."
 
 #, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Entweder \"-i\" oder \"value=\" muss angegeben werden."
+#~ msgid "Command file not found"
+#~ msgstr "Cell-Datei nicht gefunden."
 
-#, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr "-s und -n schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "weight= und -c schließen sich gegenseitig aus."
-
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "weight= und -c schließen sich gegenseitig aus."
-
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "weight= und gauss= schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr "-s und -n schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Ungültiger Wert für scalex."
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Bitte geben Sie Z-Spalte an."
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Bitte geben Sie Z-Spalte an."
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Bitte geben Sie Z-Spalte an."
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Bitte geben Sie Z-Spalte an."
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "-s und -n schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "-s und -n schließen sich gegenseitig aus."
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "-s und -n schließen sich gegenseitig aus."
+#~ msgid "Renaming reclass maps"
+#~ msgstr "Benenne reclass-Karten um."
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "-s und -n schließen sich gegenseitig aus."
+#~ msgid "Name for output image"
+#~ msgstr "Name der Ausgabedatei"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Entweder \"-i\" oder \"-r\" oder eine der Optionen \"color\", \"rast\" "
-#~ "oder \"rules\" muss angegeben werden!"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "Konnte REF-Datei der Gruppe <%s> nicht lesen."
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr ""
-#~ "Entweder \"-i\" oder \"-r\" oder eine der Optionen \"color\", \"rast\" "
-#~ "oder \"rules\" muss angegeben werden!"
-
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "Entweder ein Standardfarbname oder ein R:G:B Tripel."
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d Kategorien von der Tabelle <%s> geladen."
 
 #~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr "Stellt eine thematische Vektorkarte im aktiven Grafikfenster dar."
+#~ "Correction of the v.lidar.growing output. It is the last of the three "
+#~ "algorithms for LIDAR filtering."
+#~ msgstr ""
+#~ "Korrektur der v.lidar.growing Ausgabe. Das ist der letzte von 3 "
+#~ "Algorithmen um LIDAR zu filtern."
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Farbe für den Text."
+#~ msgid "Interpolation spline step value in east direction"
+#~ msgstr "Spline-Interpolations-Schrittweite in Ost-Richtung."
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Farbe des zu zeichnenden Gitters, oder \"none\" für nichts."
+#~ msgid "Interpolation spline step value in north direction"
+#~ msgstr "Spline-Interpolations-Schrittweite in Nord-Richtung"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Name der Ausgabe-Rasterkarte(n)."
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "Name der Ausgabe-Rasterkarte (rot)."
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Diskretisierfehler in der Karteneinheit."
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "Auch die maximale Entdeckungsentfernung berechnen."
 
 #~ msgid "Displays thematic vector map"
 #~ msgstr "Zeigt thematische Vektorkarten an."
@@ -42736,16 +44267,35 @@ msgstr "Layer %d"
 #~ msgstr "Verwende mathematische Notation in der Legende."
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Name der Ausgabe-Rasterkarte (rot)."
+#~ msgid "Name of output basename raster map(s)"
+#~ msgstr "Name der Ausgabe-Rasterkarte(n)."
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "Auch die maximale Entdeckungsentfernung berechnen."
+#~ msgid "Default: input"
+#~ msgstr "Diskretisierfehler in der Karteneinheit."
+
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr "Stellt eine thematische Vektorkarte im aktiven Grafikfenster dar."
+
+#~ msgid "Text color or \"none\""
+#~ msgstr "Text-Farbe oder \"none\"."
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Darstellung"
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Farbe für den Text."
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "Farbe des zu zeichnenden Gitters, oder \"none\" für nichts."
+
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "Entweder ein Standardfarbname oder ein R:G:B Tripel."
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "Linie"
 
 #, fuzzy
 #~ msgid ""
@@ -42754,21 +44304,47 @@ msgstr "Layer %d"
 #~ "Erlaubt das Erzeugen und/oder das Modifizieren von Rasterkarten-Support-"
 #~ "Dateien."
 
-#~ msgid "Unable to create vector map"
-#~ msgstr "Kann die Vektorkarte nicht erzeugen"
+#~ msgid "Failed opening input dig file."
+#~ msgstr "Kann input dig Datei nicht öffnen."
 
-#, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Kann Tabelle nicht erzeugen: %s"
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "dig_att Datei existiert nicht."
 
-#~ msgid "Not enough memory"
-#~ msgstr "Nicht genug Speicher"
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "Kann dig_att Datei nicht öffnen."
 
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "OLD_T_NEW Habe einen schlechten Code-Typ erhalten [%x]"
+#~ msgid "Attaching categories..."
+#~ msgstr "Füge Kategorien an..."
 
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "NEW_T_OLD Habe einen schlechten Code-Typ erhalten [%x]"
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr ""
+#~ "Das Anfügen von einem Attribut (Kategorie %d) an eine Linie ist "
+#~ "fehlgeschlagen."
+
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "Linie %d Beschriftung: %d passt zu einer anderen Beschriftung: %d."
+
+#~ msgid "Writing new file..."
+#~ msgstr "Schreibe neue Datei..."
+
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "[%d] Punkte und Linien wurden in die Ausgabedatei geschrieben."
+
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "[%d] Zentroide wurden in die Ausgabedatei geschrieben."
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importiert alte Version von GRASS Vektorkarten."
+
+#~ msgid "Endian of input vector map"
+#~ msgstr "Endian der Eingabe-Vektorkarte."
+
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr ""
+#~ "Keine Kategoriebeschriftungen (dig_cats) gefunden; keine Tabelle erstellt."
+
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "Kann die dig_cats Datei nicht öffnen."
 
 #~ msgid "Reading dig file..."
 #~ msgstr "Lese dig Datei..."
@@ -42854,192 +44430,41 @@ msgstr "Layer %d"
 #~ msgid "[%d] categories read into memory"
 #~ msgstr "[%d] Kategorien in den Speicher gelesen."
 
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr ""
-#~ "Keine Kategoriebeschriftungen (dig_cats) gefunden; keine Tabelle erstellt."
-
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "Kann die dig_cats Datei nicht öffnen."
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Kann input dig Datei nicht öffnen."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "dig_att Datei existiert nicht."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Kann dig_att Datei nicht öffnen."
-
-#~ msgid "Attaching categories..."
-#~ msgstr "Füge Kategorien an..."
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr ""
-#~ "Das Anfügen von einem Attribut (Kategorie %d) an eine Linie ist "
-#~ "fehlgeschlagen."
-
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "Linie %d Beschriftung: %d passt zu einer anderen Beschriftung: %d."
-
-#~ msgid "Writing new file..."
-#~ msgstr "Schreibe neue Datei..."
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "[%d] Punkte und Linien wurden in die Ausgabedatei geschrieben."
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "[%d] Zentroide wurden in die Ausgabedatei geschrieben."
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importiert alte Version von GRASS Vektorkarten."
-
-#~ msgid "Endian of input vector map"
-#~ msgstr "Endian der Eingabe-Vektorkarte."
-
-#~ msgid "Interpolation spline step value in east direction"
-#~ msgstr "Spline-Interpolations-Schrittweite in Ost-Richtung."
-
-#~ msgid "Interpolation spline step value in north direction"
-#~ msgstr "Spline-Interpolations-Schrittweite in Nord-Richtung"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "Unbekannter Rasterkartentyp."
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Cache Größe (MiB)"
-
-#~ msgid "Can't call bad function"
-#~ msgstr "Kann schlechte Funktion nicht aufrufen."
-
-#~ msgid "Bad arguments to pointfunc %s"
-#~ msgstr "Schlechte Argumente für pointfunc %s"
-
-#~ msgid "No function defined to perform ``point %c point''"
-#~ msgstr ""
-#~ "Es wurde keine Funktion definiert, um \"Punkt %c Punkt\" auszuführen."
-
-#~ msgid "Performing 1 arg map function on map %s"
-#~ msgstr "Führe 1-Argumentkartenfunktion auf der Karte <%s> aus."
-
-#~ msgid "Performing 2 arg map function on maps %s and %s"
-#~ msgstr "Führe 2-Argumentekartenfunktion auf den Karten <%s> und <%s> aus."
-
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Führe Karte <%s> + <%s> aus."
-
-#~ msgid "Can't call bad map-function"
-#~ msgstr "Kann schlechte Kartenfunktion nicht aufrufen."
-
-#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
-#~ msgstr "Schlechte Argumente für mapfunc %s (argc = %d)."
-
-#~ msgid "No function defined to perform map %c map"
-#~ msgstr "Keine Funktion definiert, um \"Karte %c Karte\" auszuführen."
-
-#~ msgid "Can't call bad num-function"
-#~ msgstr "Kann schlechte num-Funktion nicht aufrufen."
-
-#~ msgid "Bad arguments to numfunc %s"
-#~ msgstr "Schlechte Argumente für numfunc %s"
-
-#~ msgid "No function defined to perform ``number %c number''"
-#~ msgstr "Keine Funktion definiert, um \"Zahl %c Zahl\" auszuführen."
-
-#~ msgid "Can't call bad any-function"
-#~ msgstr "Kann schlechte Any-Funktion nicht aufrufen."
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "OLD_T_NEW Habe einen schlechten Code-Typ erhalten [%x]"
 
-#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
-#~ msgstr "Schlechte Argumente für anyfunc %s (argc = %d)."
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "NEW_T_OLD Habe einen schlechten Code-Typ erhalten [%x]"
 
 #~ msgid "One or more coordinates"
 #~ msgstr "Eine oder mehrere Koordinaten"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Nicht genügend Speicher für adx."
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Nicht genügend Speicher für ady."
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Nicht genügend Speicher für adxx."
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Nicht genügend Speicher für adyy."
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Nicht genügend Speicher für adxy."
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "Kann quaddata nicht erzeugen."
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "Kann quadfunc nicht erzeugen."
-
-#~ msgid "Cannot create tree"
-#~ msgstr "Kann tree nicht erzeugen."
-
-#~ msgid "Cannot create tree info"
-#~ msgstr "Kann tree-Information nicht erzeugen."
-
-#~ msgid "sites"
-#~ msgstr "Sites"
-
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Konvertiert eine GRASS site_lists Datei in eine Vektorkarte."
-
-#~ msgid "Site file <%s> not found"
-#~ msgstr "Site-Datei <%s> nicht gefunden."
-
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "Kann das site_list Format nicht erraten."
-
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "Reservieren von Speicher für Site-Struktur fehlgeschlagen."
-
-#~ msgid "Input format: dimension: %d strings: %d FP: %d"
-#~ msgstr "Input-Format: Dimension: %d strings: %d FP: %d"
-
-#~ msgid ""
-#~ "Floating point category values, using sequential integer for category"
-#~ msgstr ""
-#~ "Fließkomma Kategoriewerte -> verwende einen fortlaufenden Integer für die "
-#~ "Kategorien."
-
-#~ msgid "No category values, using sequential integer for category"
-#~ msgstr ""
-#~ "Keine Kategoriewerte -> verwende einen fortlaufenden Integer für die "
-#~ "Kategorien."
-
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "Übetrage Sites in eine Vektor-Punktkarte..."
+#~ msgid "Name of elevation map"
+#~ msgstr "Name der Höhenkarte"
 
-#~ msgid "%d sites written."
-#~ msgstr "%d Sites geschrieben."
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Zeichenkette, die NODATA-Zellen repräsentiert"
 
-#~ msgid "Name of layer to be used for INTENSITY"
+#, fuzzy
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
 #~ msgstr ""
-#~ "Name der Karte, die für die Intensität (INTENSITY) verwendet werden soll."
+#~ "Entweder \"-i\" oder \"-r\" oder eine der Optionen \"color\", \"rast\" "
+#~ "oder \"rules\" muss angegeben werden!"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr ""
-#~ "Name der Karte, die für die Sättigung (SATURATION) verwendet werden soll"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "Unbekannte Maßzahl: [%s]."
 
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "Importiert LÄnderdateien vom US-NGA GEOnet Names Server (GNS) in eine "
-#~ "Vektorpunktkarte."
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Fehler beim Lesen der Kategorie-Datei für <%s>."
 
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Unkomprimierte GNS-Datei von NGA (mit der Dateiendung .txt)."
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "Fehler beim Lesen der Farb-Datei für <%s>."
 
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Erzeugt eine Rasterkarte vom Ergebnis (optional)."
+#~ msgid "String representing no data cell value"
+#~ msgstr "Zeichenkette, die NODATA-Werte repräsentiert."
 
-#~ msgid "Table file to be exported or DB connection string"
-#~ msgstr "Tabellendatei, die exportiert werden soll oder DB-Verbindung"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Oberflächeninterpolationswerkzeug für Rasterkarten."
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -43057,15 +44482,20 @@ msgstr "Layer %d"
 #~ "entstehen. Dabei werden als Eingabekarten einmal ein Höhenmodell und eine "
 #~ "Rasterkarte mit Reibungs-Kosten kombiniert."
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr ""
+#~ "Name der Karte, die für die Intensität (INTENSITY) verwendet werden soll."
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr ""
+#~ "Name der Karte, die für die Sättigung (SATURATION) verwendet werden soll"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "Name der Ausgabe-Karte, die den GRÜNEN Kanal enthalten soll"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "Name der Ausgabe-Karte, die den BLAUEN Kanal enthalten soll"
 
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Oberflächeninterpolationswerkzeug für Rasterkarten."
-
 #~ msgid "Surface generation program."
 #~ msgstr "Programm zur Erzeugung von Oberflächen."
 
@@ -43087,53 +44517,15 @@ msgstr "Layer %d"
 #~ msgstr[0] "Interpoliere Rasterkarte <%s> ... %d Zeilenn... "
 #~ msgstr[1] "Interpoliere Rasterkarte <%s> ... %d Zeilenn... "
 
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "Lat/Lon Projektion wird zur Zeit noch nicht unterstützt."
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Location: %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "Vektor, Netzwerk"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "Name der Höhenkarte"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Zeichenkette, die NODATA-Zellen repräsentiert"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Entweder \"-i\" oder \"-r\" oder eine der Optionen \"color\", \"rast\" "
-#~ "oder \"rules\" muss angegeben werden!"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Entweder \"-i\" oder \"-r\" oder eine der Optionen \"color\", \"rast\" "
-#~ "oder \"rules\" muss angegeben werden!"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Unbekannte Maßzahl: [%s]."
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Fehler beim Lesen der Kategorie-Datei für <%s>."
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Fehler beim Lesen der Farb-Datei für <%s>."
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Zeichenkette, die NODATA-Werte repräsentiert."
-
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "Name der Ausgabe Höhenkarte (Z-Werte)."
 
 #~ msgid "Output aspect map (or fy)"
 #~ msgstr "Ausgabe-Expositionskarte (oder fy)."
 
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "Lat/Lon Projektion wird zur Zeit noch nicht unterstützt."
+
 #~ msgid "Prefix for output raster map(s)"
 #~ msgstr "Präfix für Ausgabe-Rasterkarte(n)."
 
@@ -43163,15 +44555,22 @@ msgstr "Layer %d"
 #~ msgid "Suppress warnings"
 #~ msgstr "Unterdrücke Warnungen."
 
-#, fuzzy
-#~ msgid "High resolution panchromatic image"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
 #~ msgstr ""
-#~ "Brovey-Transformation zum mischen multispektraler und hochaufgelöster "
-#~ "panchromatischer Kanäle."
+#~ "Importiert LÄnderdateien vom US-NGA GEOnet Names Server (GNS) in eine "
+#~ "Vektorpunktkarte."
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Filterkriterien"
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "Unkomprimierte GNS-Datei von NGA (mit der Dateiendung .txt)."
+
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Erzeugt eine Rasterkarte vom Ergebnis (optional)."
+
+#~ msgid "Table file to be exported or DB connection string"
+#~ msgstr "Tabellendatei, die exportiert werden soll oder DB-Verbindung"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -43200,6 +44599,153 @@ msgstr "Layer %d"
 #~ msgstr "Name der Ausgabe-Rasterkarte (Standard: input)."
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr ""
+#~ "Berechnet univariate Statistiken der nicht-NULL Zellen einer Rasterkarte."
+
+#~ msgid "Data to be classified: column name or expression"
+#~ msgstr "Zu klassifizierende Daten: Spaltenname oder Ausdruck."
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Farbe des zu zeichnenden Gitters, oder \"none\" für nichts."
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Farbe des zu zeichnenden Gitters, oder \"none\" für nichts."
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Farbe für unbekannte Information."
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "Farbe des zu zeichnenden Gitters, oder \"none\" für nichts."
+
+#~ msgid "Create grid of points instead of areas and centroids"
+#~ msgstr "Erzeuge ein Gitter mit Punkten anstelle von Flächen und Zentroiden."
+
+#, fuzzy
+#~ msgid "Create grid as lines, instead of areas"
+#~ msgstr "Erzeuge ein Gitter mit Punkten anstelle von Flächen und Zentroiden."
+
+#~ msgid "Invalid distance"
+#~ msgstr "Ungültige Distanz."
+
+#~ msgid "Layer number"
+#~ msgstr "Layer-Nummer"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "Location: %s\n"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "Vektor, Netzwerk"
+
+#, fuzzy
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Bitte geben Sie Z-Spalte an."
+
+#, fuzzy
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "-s und -n schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "-s und -n schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
+#~ msgstr "-s und -n schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "Ungültiger Wert für scalex."
+
+#, fuzzy
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Entweder \"-i\" oder \"value=\" muss angegeben werden."
+
+#, fuzzy
+#~ msgid "-p and output= are mutually exclusive"
+#~ msgstr "-s und -n schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Bitte geben Sie Z-Spalte an."
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Bitte geben Sie Z-Spalte an."
+
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "'input=' und 'source=' schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Bitte geben Sie Z-Spalte an."
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Bitte geben Sie Z-Spalte an."
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Darstellung"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Entweder \"-i\" oder \"value=\" muss angegeben werden."
+
+#, fuzzy
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "-s und -n schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr "weight= und -c schließen sich gegenseitig aus."
+
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr "weight= und -c schließen sich gegenseitig aus."
+
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "weight= und gauss= schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "High resolution panchromatic image"
+#~ msgstr ""
+#~ "Brovey-Transformation zum mischen multispektraler und hochaufgelöster "
+#~ "panchromatischer Kanäle."
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Filterkriterien"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "Name der Eingabe-Rasterkarte."
 
@@ -43215,31 +44761,145 @@ msgstr "Layer %d"
 #~ msgid "No maps output"
 #~ msgstr "Keine Ausgabekarte angegeben."
 
-#, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr ""
-#~ "Berechnet univariate Statistiken der nicht-NULL Zellen einer Rasterkarte."
-
-#~ msgid "Data to be classified: column name or expression"
-#~ msgstr "Zu klassifizierende Daten: Spaltenname oder Ausdruck."
-
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "Farbe des zu zeichnenden Gitters, oder \"none\" für nichts."
 
 #~ msgid "Gather the histogram quietly"
 #~ msgstr "Zeichne das Histogramm schweigsam."
 
-#~ msgid "Create grid of points instead of areas and centroids"
-#~ msgstr "Erzeuge ein Gitter mit Punkten anstelle von Flächen und Zentroiden."
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Nicht genügend Speicher für adx."
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Nicht genügend Speicher für ady."
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Nicht genügend Speicher für adxx."
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Nicht genügend Speicher für adyy."
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Nicht genügend Speicher für adxy."
+
+#~ msgid "Cannot create quaddata"
+#~ msgstr "Kann quaddata nicht erzeugen."
+
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "Kann quadfunc nicht erzeugen."
+
+#~ msgid "Cannot create tree"
+#~ msgstr "Kann tree nicht erzeugen."
+
+#~ msgid "Cannot create tree info"
+#~ msgstr "Kann tree-Information nicht erzeugen."
 
 #, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "Erzeuge ein Gitter mit Punkten anstelle von Flächen und Zentroiden."
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Kann Tabelle nicht erzeugen: %s"
 
-#~ msgid "Invalid distance"
-#~ msgstr "Ungültige Distanz."
+#~ msgid "Not enough memory"
+#~ msgstr "Nicht genug Speicher"
 
-#~ msgid "Layer number"
-#~ msgstr "Layer-Nummer"
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "-s und -n schließen sich gegenseitig aus."
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr ""
+#~ "Entweder \"-i\" oder \"-r\" oder eine der Optionen \"color\", \"rast\" "
+#~ "oder \"rules\" muss angegeben werden!"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr ""
+#~ "Entweder \"-i\" oder \"-r\" oder eine der Optionen \"color\", \"rast\" "
+#~ "oder \"rules\" muss angegeben werden!"
+
+#~ msgid "sites"
+#~ msgstr "Sites"
+
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "Konvertiert eine GRASS site_lists Datei in eine Vektorkarte."
+
+#~ msgid "Site file <%s> not found"
+#~ msgstr "Site-Datei <%s> nicht gefunden."
+
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "Kann das site_list Format nicht erraten."
+
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "Reservieren von Speicher für Site-Struktur fehlgeschlagen."
+
+#~ msgid "Input format: dimension: %d strings: %d FP: %d"
+#~ msgstr "Input-Format: Dimension: %d strings: %d FP: %d"
+
+#~ msgid ""
+#~ "Floating point category values, using sequential integer for category"
+#~ msgstr ""
+#~ "Fließkomma Kategoriewerte -> verwende einen fortlaufenden Integer für die "
+#~ "Kategorien."
+
+#~ msgid "No category values, using sequential integer for category"
+#~ msgstr ""
+#~ "Keine Kategoriewerte -> verwende einen fortlaufenden Integer für die "
+#~ "Kategorien."
+
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "Übetrage Sites in eine Vektor-Punktkarte..."
+
+#~ msgid "%d sites written."
+#~ msgstr "%d Sites geschrieben."
+
+#~ msgid "Performing 1 arg map function on map %s"
+#~ msgstr "Führe 1-Argumentkartenfunktion auf der Karte <%s> aus."
+
+#~ msgid "Performing 2 arg map function on maps %s and %s"
+#~ msgstr "Führe 2-Argumentekartenfunktion auf den Karten <%s> und <%s> aus."
+
+#~ msgid "Performing map %s + %s"
+#~ msgstr "Führe Karte <%s> + <%s> aus."
+
+#~ msgid "Can't call bad map-function"
+#~ msgstr "Kann schlechte Kartenfunktion nicht aufrufen."
+
+#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
+#~ msgstr "Schlechte Argumente für mapfunc %s (argc = %d)."
+
+#~ msgid "No function defined to perform map %c map"
+#~ msgstr "Keine Funktion definiert, um \"Karte %c Karte\" auszuführen."
+
+#~ msgid "Can't call bad num-function"
+#~ msgstr "Kann schlechte num-Funktion nicht aufrufen."
+
+#~ msgid "Bad arguments to numfunc %s"
+#~ msgstr "Schlechte Argumente für numfunc %s"
+
+#~ msgid "No function defined to perform ``number %c number''"
+#~ msgstr "Keine Funktion definiert, um \"Zahl %c Zahl\" auszuführen."
+
+#~ msgid "No function defined to perform ``point %c point''"
+#~ msgstr ""
+#~ "Es wurde keine Funktion definiert, um \"Punkt %c Punkt\" auszuführen."
+
+#~ msgid "Can't call bad any-function"
+#~ msgstr "Kann schlechte Any-Funktion nicht aufrufen."
+
+#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
+#~ msgstr "Schlechte Argumente für anyfunc %s (argc = %d)."
+
+#~ msgid "Can't call bad function"
+#~ msgstr "Kann schlechte Funktion nicht aufrufen."
+
+#~ msgid "Bad arguments to pointfunc %s"
+#~ msgstr "Schlechte Argumente für pointfunc %s"
+
+#~ msgid "Unable to create vector map"
+#~ msgstr "Kann die Vektorkarte nicht erzeugen"
+
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Cache Größe (MiB)"
+
+#~ msgid "Unknown raster map type"
+#~ msgstr "Unbekannter Rasterkartentyp."
diff --git a/locale/po/grassmods_el.po b/locale/po/grassmods_el.po
index 3975643..289b228 100644
--- a/locale/po/grassmods_el.po
+++ b/locale/po/grassmods_el.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_el\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2009-02-19 10:29+0200\n"
 "Last-Translator: Vasilios Antoniou <vantoniou at gmail.com>\n"
 "Language-Team: Greek <grass-translations at lists.osgeo.org>\n"
@@ -23,10 +23,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -44,6 +44,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -71,12 +72,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -118,7 +120,7 @@ msgstr ""
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, fuzzy, c-format
@@ -126,14 +128,16 @@ msgid "Color file for <%s> not available"
 msgstr "Χρώμα"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -152,7 +156,9 @@ msgstr "Χρώμα"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -173,7 +179,7 @@ msgstr "Χρώμα"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -185,7 +191,7 @@ msgstr "Χρώμα"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -209,17 +215,17 @@ msgstr "Χρώμα"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -230,7 +236,7 @@ msgstr "Χρώμα"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -379,10 +385,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr ""
 
@@ -428,22 +437,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr ""
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Αποτέλεσμα:"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr ""
 
@@ -456,11 +467,13 @@ msgstr ""
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr ""
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -555,14 +568,20 @@ msgstr "Χρώμα"
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -605,11 +624,11 @@ msgstr ""
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -687,23 +706,26 @@ msgstr "Ascii ράστερ χάρτης που θα εισαχθεί"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -713,14 +735,19 @@ msgstr "Ascii ράστερ χάρτης που θα εισαχθεί"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -768,47 +795,48 @@ msgstr "<%s> είναι μη επιτρεπτό όνομα αρχείου"
 msgid "[%s]: No such color"
 msgstr "[%s]: Δεν υπάρχει τέτοιο χρώμα"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 msgid "Displays information about the active display monitor."
 msgstr ""
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr ""
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -816,32 +844,33 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, fuzzy, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
 "Δεν έχει καθοριστεί η σύνδεση με τη βάση δεδομένων για το επίπεδο (layer) %d"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -851,10 +880,10 @@ msgstr ""
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -868,7 +897,7 @@ msgstr ""
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Αδυναμία ανοίγματος της βάσης δεδομένων <%s> με τον οδηγό <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -891,7 +920,7 @@ msgstr ""
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr ""
 
@@ -931,7 +960,11 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+msgid "Create 3D charts"
+msgstr ""
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -939,20 +972,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -967,40 +1002,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 msgid "distance"
 msgstr ""
@@ -1023,11 +1058,6 @@ msgstr ""
 msgid "Line color"
 msgstr ""
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr "κανένα"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1085,12 +1115,15 @@ msgstr ""
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1109,17 +1142,18 @@ msgstr ""
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1132,10 +1166,10 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1143,21 +1177,22 @@ msgstr ""
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr ""
 
@@ -1202,16 +1237,18 @@ msgstr "Ο διανυσματικός χάρτης <%s> δεν βρέθηκε"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1223,22 +1260,22 @@ msgstr "Ο διανυσματικός χάρτης <%s> δεν βρέθηκε"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1287,10 +1324,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1341,37 +1378,37 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 msgid "map annotations"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 msgid "Align grids with raster cells"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1380,7 +1417,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1388,7 +1425,7 @@ msgstr[0] ""
 msgstr[1] ""
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1396,73 +1433,73 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 #, fuzzy
 msgid "Type of existing raster aspect map"
 msgstr "Τύπος"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Χρώμα για τον σχεδιασμό βελών"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Χρώμα για τον σχεδιασμό βελών"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Χρώμα για τον σχεδιασμό Χ's  (Null values)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Χρώμα για την απεικόνιση άγνωστης πληροφορίας"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr ""
 
@@ -1576,24 +1613,24 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 msgid "network"
 msgstr ""
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1602,50 +1639,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr ""
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr ""
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1668,11 +1705,11 @@ msgstr ""
 msgid "Background color"
 msgstr "Χρώμα φόντου"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1692,7 +1729,7 @@ msgstr ""
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1716,7 +1753,7 @@ msgstr ""
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1724,7 +1761,7 @@ msgstr ""
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2074,7 +2111,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2091,15 +2128,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr ""
@@ -2339,12 +2376,13 @@ msgstr "Λάθος συντεταγμένες"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2409,15 +2447,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 
@@ -2439,11 +2477,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
@@ -2636,7 +2675,7 @@ msgstr ""
 msgid "Colorize features according color definition column"
 msgstr "Νούμερο επιπέδου"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Χρώμα"
@@ -2917,41 +2956,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Εξαγωγή όνομα οδηγού"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, c-format
 msgid "Monitor <%s> already running"
 msgstr ""
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
 
-#: ../display/d.mon/start.c:163
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
 #, c-format
-msgid "Starting monitor <%s> with env file '%s'"
+msgid "Unable to create file <%s>"
 msgstr ""
 
 #: ../display/d.mon/select.c:14
@@ -2964,34 +3010,53 @@ msgstr ""
 msgid "Monitor <%s> is not running"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "Η στήλη <%s> δεν βρέθηκε"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Αδυναμία περιγραφής πίνακα <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "Η στήλη <%s> δεν βρέθηκε"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Αδυναμία ανοίγματος OGR πηγή δεδομένων '%s'"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr ""
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
+
+#: ../display/d.mon/list.c:80
 msgid "List of running monitors:"
 msgstr ""
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "Η στήλη <%s> δεν βρέθηκε"
-
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
 msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
 
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
+
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
 msgstr ""
@@ -3002,8 +3067,8 @@ msgid "Name of monitor to start"
 msgstr "Ascii ράστερ χάρτης που θα εισαχθεί"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3027,9 +3092,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3109,12 +3175,12 @@ msgid "List running monitors and exit"
 msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3127,33 +3193,34 @@ msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr ""
 
@@ -3167,57 +3234,75 @@ msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύ
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύνδεσης και κλείνει"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύνδεσης και κλείνει"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύνδεσης και κλείνει"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 msgid "Disable true colors"
 msgstr ""
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr ""
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr ""
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3267,7 +3352,7 @@ msgid "No map name given"
 msgstr ""
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
@@ -3394,9 +3479,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Αδυναμία ανοίγματος αρχείου <%s> για εγγραφή"
@@ -3443,9 +3528,9 @@ msgstr ""
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Διαμόρφωση"
 
@@ -3459,11 +3544,11 @@ msgstr "Κάθετος διαχωριστής εγγραφών εξόδου"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr ""
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "Μην συμπεριλάβεται τα ονόματα των στηλών στην έξοδο"
 
@@ -3471,7 +3556,7 @@ msgstr "Μην συμπεριλάβεται τα ονόματα των στηλ
 msgid "Describe query only (don't run it)"
 msgstr "Περιγράφη μόνο το ερώτημα (δεν το τρέχει)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Οριζόντια έξοδος (αντί για κατακόρυφη)"
 
@@ -3504,7 +3589,7 @@ msgstr "Ερώτημα μόνο για τεστ, μην το εκτελέσετ
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3536,7 +3621,7 @@ msgstr "Βάση δεδομένων, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3548,7 +3633,7 @@ msgstr "βάση δεδομένων, πίνακας ιδιοτήτων"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3685,8 +3770,8 @@ msgstr "Αδύνατη η προσθήκη new token"
 msgid "Unable to create index:"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Όνομα τοποθεσία"
@@ -3761,7 +3846,7 @@ msgstr "Αδυναμία εκκίνησης του οδηγού <%s>"
 msgid "Unable to allocate handle."
 msgstr "Δεν γίνεται η μετακίνηση του κέρσορα."
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3798,7 +3883,7 @@ msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 msgid "Unable to select view names."
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3837,12 +3922,12 @@ msgstr "Εκτός μνήμης"
 msgid "No path given"
 msgstr ""
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Αδυναμία αντιγραφής πίνακα <%s>"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
@@ -3890,29 +3975,29 @@ msgid "Taken not found"
 msgstr "δεν βρέθηκε"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "Αδυναμία δημιουργίας ράστερ χάρτη"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Αδυναμία ανοίγματος βάσης δεδομενων <%s>"
@@ -3959,6 +4044,11 @@ msgstr ""
 "στήλη '%s' : τύπος bool (boolean) έχει αποθηκευτέι ως char(1), τιμές: 0 "
 "(false), 1 (true)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Άγνωστη επιλογή στην περιγραφή βάσης δεδομένων για PostgreSQL: "
@@ -4042,7 +4132,8 @@ msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε."
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4125,23 +4216,23 @@ msgstr "Αδυναμία ανοίγματος OGR πηγή δεδομένων '%
 msgid "Unable to open database:"
 msgstr "Αδυναμία ανοίγματος βάσης δεδομενων"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr ""
 "Δεν έχει καθοριστεί η σύνδεση με τη βάση δεδομένων για το επίπεδο (layer) %d"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε."
@@ -4156,6 +4247,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "SQLite driver: στήλη '%s', SQLite τύπος %d δεν υποστηρίζεται"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Σφάλμα κατά το κλείσομο ascii αρχείου"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4400,10 +4496,10 @@ msgstr "Αφαιρεί μία βάση δεδομένων"
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4423,24 +4519,38 @@ msgstr ""
 msgid "Sets user/password for DB driver/database."
 msgstr "Καθορίζει το όνομα χρήστη/κωδικό για τον οδηγό/ βάση δεδομένων"
 
-#: ../db/db.login/main.c:58
-msgid "Username to set for DB connection"
+#: ../db/db.login/main.c:59
+#, fuzzy
+msgid "Username"
+msgstr "Όνομα χρήστη"
+
+#: ../db/db.login/main.c:67
+#, fuzzy
+msgid "Password"
+msgstr "Κωδικός"
+
+#: ../db/db.login/main.c:75
+msgid "Hostname"
 msgstr ""
 
-#: ../db/db.login/main.c:66
-msgid "Password to set for DB connection"
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
 msgstr ""
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύνδεσης και κλείνει"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Δεν είναι δυνατή η αλλαγή χρήστη/κωδικού"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Ο κωδικός αποθηκεύτηκε στο αρχείο"
@@ -4720,6 +4830,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4730,10 +4841,11 @@ msgstr ""
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "ράστερ 3Δ, voxel"
@@ -4805,19 +4917,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr ""
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5080,7 +5179,7 @@ msgstr "Η στήλη <%s> δεν βρέθηκε"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5732,7 +5831,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5745,12 +5844,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -5852,7 +5952,17 @@ msgstr ""
 msgid "<%s> already exists"
 msgstr ""
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr ""
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -5860,158 +5970,131 @@ msgstr ""
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr ""
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr ""
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr ""
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr ""
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 msgid "'.' for current region; '*' for default region"
 msgstr ""
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 #, fuzzy
 msgid "Name for output file"
 msgstr "Όνομα αρχείου εξαγωγής"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "διάνυσμα, πίνακας χρωμάτων"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr ""
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr ""
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:187
-#, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Αδυναμία εκκίνησης του οδηγού <%s>"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr ""
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6229,9 +6312,9 @@ msgstr ""
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, fuzzy, c-format
 msgid "3D raster map <%s> not found"
 msgstr "Ο 3Δ χάρτης raster  <%s> δεν βρέθηκε"
@@ -6254,7 +6337,7 @@ msgstr ""
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr ""
@@ -6521,38 +6604,38 @@ msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύ
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6687,7 +6770,7 @@ msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr ""
@@ -7125,7 +7208,7 @@ msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7322,38 +7405,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Όνομα εισαγώμενου διανυσματικού χάρτη "
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7557,8 +7661,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7594,9 +7698,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr ""
@@ -7746,10 +7850,12 @@ msgstr "Αδυναμία λίστας βάσεων δεδομένων"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -7765,10 +7871,14 @@ msgstr "Αδυναμία λίστας βάσεων δεδομένων"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -7800,10 +7910,12 @@ msgstr ""
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -7819,10 +7931,14 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -7922,8 +8038,8 @@ msgstr ""
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr ""
 
@@ -7963,7 +8079,7 @@ msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ 
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -7992,15 +8108,16 @@ msgstr ""
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 msgid "import"
 msgstr ""
 
@@ -8086,7 +8203,7 @@ msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος γι
 msgid ""
 "Uploads space time raster dataset values at positions of vector points to "
 "the table."
-msgstr "ράστερ 3Δ, στατιστικά"
+msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
 
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:9
 #, fuzzy
@@ -8144,7 +8261,7 @@ msgstr "Η διάταξη της βάσης δεδομένων"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8154,6 +8271,105 @@ msgstr ""
 msgid "inputs"
 msgstr "Αποτέλεσμα:"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+msgid "algebra"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Όνομα χάρτη "
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Αδυναμία κλεισίματος του χάρτη input"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8206,20 +8422,12 @@ msgid ""
 "datasets."
 msgstr "Όνομα χάρτη "
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-msgid "algebra"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8228,11 +8436,13 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8240,53 +8450,12 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Αδυναμία κλεισίματος του χάρτη input"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8301,7 +8470,8 @@ msgstr "Όνομα χάρτη "
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 msgid "extract"
 msgstr ""
 
@@ -8522,7 +8692,7 @@ msgstr "ράστερ 3Δ, voxel"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr ""
 
@@ -8634,6 +8804,49 @@ msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτ
 msgid "Name of attribute column(s) to drop"
 msgstr "Νούμερο επιπέδου"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Χρησιμοποιήστε συντεταγμένες χάρτη αντί χψζ συντεταγμένες"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Όνομα του αρχείου που περιέχει SQL εντολές"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Δημιουργεί μία κενή βάση δεδομένων"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Αριθμός των δεδαδικών ψηφίων για τους αριθμούς υποδιαστολής"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -8852,7 +9065,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9091,6 +9304,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9159,10 +9373,14 @@ msgid "Extend location extents based on new dataset"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 msgid "Override projection check (use current location's projection)"
 msgstr ""
 
@@ -9170,7 +9388,8 @@ msgstr ""
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
@@ -9188,21 +9407,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr ""
 
@@ -9224,21 +9443,21 @@ msgid "Name for output raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr ""
@@ -9277,17 +9496,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Αδυναμία διαβάσματος εύρους fp για τον ραστερ χάρτη <%s>"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9386,8 +9605,8 @@ msgid "Remove existing color table"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr ""
@@ -9430,17 +9649,18 @@ msgid ""
 msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Όνομα εισαγώμενου διανυσματικού χάρτη "
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
@@ -9461,6 +9681,11 @@ msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9483,10 +9708,15 @@ msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "Αποτέλεσμα:"
@@ -9494,31 +9724,32 @@ msgstr "Αποτέλεσμα:"
 #: ../locale/scriptstrings/v.import_to_translate.c:11
 #, fuzzy
 msgid "Output vector map extent"
-msgstr "Εξαγωγή όνομα οδηγού"
+msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Αδυναμία κλεισίματος του χάρτη εισαγωγής"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Σφάλμα κατά την ανάγνωση του εύρους για [%s]"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 msgid "Snapping threshold for boundaries (map units)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9533,16 +9764,62 @@ msgid "-1 to list available datum transform parameters"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 msgid "List supported OGR formats and exit"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+msgid "Manages display frames on the user's graphics monitor."
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+msgid "Create a new frame if doesn't exist and select"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύνδεσης και κλείνει"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -9695,7 +9972,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -9704,7 +9981,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -9713,7 +9990,7 @@ msgid "geometry"
 msgstr ""
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -9767,7 +10044,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Αριθμός των δεδαδικών ψηφίων για τους αριθμούς υποδιαστολής"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -9791,15 +10072,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 msgid "Cache size for raster rows"
 msgstr ""
@@ -9855,12 +10136,12 @@ msgid "Optional"
 msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr ""
 
@@ -9948,7 +10229,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -9961,7 +10242,7 @@ msgid "Radius of buffer in raster cells"
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr ""
 
@@ -9991,14 +10272,14 @@ msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ 
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "ράστερ 3Δ, στατιστικά"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10062,6 +10343,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10069,7 +10361,8 @@ msgid ""
 msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 msgid "select"
 msgstr ""
 
@@ -10109,6 +10402,60 @@ msgstr "Η προεπιλεγμένη βάση δεδομένων δεν έχε
 msgid "Name of table to drop"
 msgstr "Όνομα του δεύτερου ράστερ χάρτη για blending"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+msgid "contour"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Αδυναμία κλεισίματος του χάρτη input"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "διαγραφή ενός πίνακα ιδιοτήτων."
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr ""
@@ -10132,6 +10479,20 @@ msgstr "Αδυναμία ανοίγματος βάσης δεδομενων <%s>
 msgid "Name for output table (default: input name)"
 msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Όνομα χάρτη "
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10269,6 +10630,60 @@ msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Όνομα του δεύτερου ράστερ χάρτη για blending"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+msgid "Write raster values as z coordinate"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10280,6 +10695,7 @@ msgid "Vector map to which to join other table"
 msgstr "βάση δεδομένων, πίνακας ιδιοτήτων"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10289,6 +10705,7 @@ msgid "Layer where to join"
 msgstr "Νούμερο επιπέδου"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 msgid "column"
 msgstr ""
 
@@ -10368,7 +10785,6 @@ msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -10661,6 +11077,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -10927,12 +11347,6 @@ msgstr "Όνομα χάρτη "
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr ""
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -10943,23 +11357,31 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "βάση δεδομένων, πίνακας ιδιοτήτων"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Όνομα αρχείου εξαγωγής"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Ascii ράστερ χάρτης που θα εισαχθεί"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+msgid "query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Όνομα του δεύτερου ράστερ χάρτη για blending"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr ""
 
@@ -10997,74 +11419,90 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Ascii ράστερ χάρτης που θα εισαχθεί"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
-msgid "List available extensions in the GRASS Addons SVN repository"
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 msgid "Install"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "Πίνακες συστήματος αντί πίνακες χρηστών"
@@ -11085,20 +11523,26 @@ msgid "Description of the space time dataset"
 msgstr "Αδυναμία λίστας βάσεων δεδομένων"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Αδυναμία λίστας βάσεων δεδομένων"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11115,10 +11559,44 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+msgid "Keyword to be searched"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+msgid "Shell script format"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Αδυναμία ανοίγματος βάσης δεδομενων <%s>"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11232,8 +11710,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Όνομα αρχείου εξαγωγής"
+msgid "Name for output image (or text file for -t)"
+msgstr "Όνομα αρχείου εξαγωγής (ΜΗΝ προσθέσετε επέκταση αρχείου)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11249,6 +11727,11 @@ msgstr "Χρησιμοποιήστε συντεταγμένες χάρτη αν
 msgid "Use gnuplot for display"
 msgstr ""
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 msgid ""
 "Performs different aggregation algorithms from r.series on all or a subset "
@@ -11261,11 +11744,6 @@ msgstr ""
 msgid "series"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Δημιουργεί μία κενή βάση δεδομένων"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11361,6 +11839,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11374,11 +11853,15 @@ msgid "Sill value"
 msgstr "<%s> είναι μη επιτρεπτό όνομα αρχείου"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11460,10 +11943,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Όνομα χάρτη "
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11481,7 +11960,7 @@ msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -11986,7 +12465,7 @@ msgid "radiance"
 msgstr "ράστερ 3Δ, στατιστικά"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 msgid "reflectance"
 msgstr ""
@@ -12015,8 +12494,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12217,8 +12697,8 @@ msgstr "Αδυναμία διαβάσματος εύρους fp για τον ρ
 msgid "Calculating..."
 msgstr ""
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -13358,7 +13838,7 @@ msgstr ""
 #: ../imagery/i.cluster/main.c:266
 #, fuzzy, c-format
 msgid " Maximum number of iterations: %d%s"
-msgstr "Νούμερο επιπέδου"
+msgstr "ράστερ 3Δ, voxel"
 
 #: ../imagery/i.cluster/main.c:268
 #, c-format
@@ -14214,21 +14694,21 @@ msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "Δεν επιτρέπεται η πρόσβαση"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "δεν βρέθηκε"
@@ -14319,7 +14799,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14446,7 +14926,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -14866,50 +15346,54 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 msgid "albedo"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 msgid "Computes broad band albedo from surface reflectance."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
@@ -15085,7 +15569,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -15489,7 +15973,7 @@ msgstr ""
 msgid "My first vector module"
 msgstr ""
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr ""
 
@@ -15636,11 +16120,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16322,44 +16807,44 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 msgid "patching"
 msgstr ""
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
 msgstr ""
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr ""
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr ""
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr ""
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr ""
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr ""
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -16379,7 +16864,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr ""
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr ""
@@ -16387,7 +16872,7 @@ msgstr ""
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
+msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -16789,8 +17274,8 @@ msgstr ""
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr ""
@@ -16859,53 +17344,17 @@ msgstr "ράστερ 3Δ, voxel"
 msgid "Converts a raster map into a vector map."
 msgstr "Μετατρέπει ένα 3Δ επίπεδο ράστερ χάρτη σε ένα ASCII αρχείο κειμένου"
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Όνομα του δεύτερου ράστερ χάρτη για blending"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr ""
 
-#: ../raster/r.to.vect/main.c:104
-msgid "Write raster values as z coordinate"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:105
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -16934,23 +17383,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr ""
@@ -16991,186 +17442,186 @@ msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτ
 msgid "Allocating memory and reading input raster map..."
 msgstr "Αδυναμία κλεισίματος του χάρτη εισαγωγής"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 msgid "Re-projects a raster map from given location to the current location."
 msgstr ""
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Αδυναμία κλεισίματος του χάρτη εισαγωγής"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 msgid "Source"
 msgstr ""
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Η προεπιλεγμένη βάση δεδομένων δεν έχει καθοριστεί"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr ""
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr ""
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 msgid "Target"
 msgstr ""
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 msgid "Print input map's bounds in the current projection and exit"
 msgstr ""
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr ""
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr ""
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "Οι απαιτούμενες παράμετροι <%s> δεν έχουν δοθεί"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr ""
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Γραμμές: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Βόρεια: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Νότια: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Δυτικά: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Ανατολικά: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "ΑΔ-res: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "ΒΝ-res: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Αποτέλεσμα:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr ""
 
@@ -17213,7 +17664,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17225,7 +17676,7 @@ msgstr ""
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17239,7 +17690,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -17382,7 +17833,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
 
@@ -17760,21 +18211,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, c-format
+msgid "Using Linke constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, c-format
+msgid "Using slope constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, c-format
+msgid "Using aspect constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18129,7 +18620,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Όνομα τοποθεσία"
@@ -18923,7 +19414,7 @@ msgstr ""
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -19103,44 +19594,45 @@ msgstr ""
 msgid "Statistics for <%s> updated"
 msgstr ""
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr ""
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19148,15 +19640,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 
@@ -19219,8 +19711,8 @@ msgstr ""
 msgid "Link to raster map <%s> created."
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 msgid "Supported formats:"
 msgstr ""
@@ -19239,13 +19731,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 msgid "Region for the current mapset updated"
 msgstr ""
 
@@ -19272,20 +19764,20 @@ msgstr ""
 msgid "Band to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr ""
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 msgid "Extend region extents based on new dataset"
 msgstr ""
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -19297,13 +19789,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -19312,32 +19813,32 @@ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δω
 msgid "%s= and %s= are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr ""
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr ""
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Αριθμός γραμμών που θα εμφανίζονται στο υπόμνημα."
@@ -19513,14 +20014,15 @@ msgstr ""
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -19806,6 +20308,12 @@ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δω
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -19877,8 +20385,8 @@ msgid "Importing band %d..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 msgid "random"
 msgstr ""
@@ -19990,7 +20498,7 @@ msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "Δεν μπορώ να ανοίξω την βάση δεδομένων %s"
@@ -20992,7 +21500,8 @@ msgstr "Κωδικός"
 msgid "Unable to write to temp file"
 msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
@@ -21034,7 +21543,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύνδεσης και κλείνει"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -21618,23 +22127,23 @@ msgid "unable to open output file"
 msgstr ""
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -21642,8 +22151,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -21750,27 +22259,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -21782,19 +22291,27 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+msgid "Closing TCI and SPI maps"
+msgstr ""
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 msgid "Closing TCI map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+msgid "Closing SPI map"
+msgstr ""
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 msgid "Closing flow direction map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -21818,215 +22335,219 @@ msgstr ""
 msgid "Closing half basins map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Αποτέλεσμα:"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη (saturation)"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη (blue)"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Ελάχιστο μέγεθος κάθε κελιού"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 msgid "Maximum length of surface flow in map units"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Αριθμός γραμμών που θα εμφανίζονται στο υπόμνημα."
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+msgid "Stream power index a * tan(b)"
+msgstr ""
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 msgid "Each half-basin is given a unique value"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 msgid "Slope steepness (S) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 msgid "The basin threshold must be a positive number."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -22183,21 +22704,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Αδυναμία διαβάσματος εύρους fp για τον ραστερ χάρτη <%s>"
@@ -22385,7 +22906,7 @@ msgstr ""
 msgid "Converting <%s>..."
 msgstr "Εγγραφή %s από %s..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr ""
@@ -22459,7 +22980,7 @@ msgid ""
 msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -22472,11 +22993,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
@@ -22489,58 +23013,82 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "Μετατρέπει ένα 3Δ επίπεδο ράστερ χάρτη σε ένα ASCII αρχείο κειμένου"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 msgid "Output distances in meters instead of map units"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Εγγραφή %s από %s..."
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Άγνωστος τύπος"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -22551,130 +23099,135 @@ msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 msgid "Reading raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Αδυναμία κλεισίματος του εξαγόμενου χάρτη"
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 msgid "null data"
 msgstr ""
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Ascii ράστερ χάρτης που θα εισαχθεί"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr ""
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr ""
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "<%s> είναι μη επιτρεπτό όνομα αρχείου"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr ""
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr ""
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "<%s> είναι μη επιτρεπτό όνομα αρχείου"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
@@ -22723,7 +23276,7 @@ msgstr ""
 msgid "Unable to close raster map <%s@%s>"
 msgstr ""
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr ""
 
@@ -22842,20 +23395,25 @@ msgstr ""
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Αδυναμία κλεισίματος του εξαγόμενου χάρτη"
+
+#: ../raster/r.mapcalc/main.c:167
 #, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 msgid "parse error"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -22864,216 +23422,233 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Όνομα εισαγώμενου διανυσματικού χάρτη "
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 msgid "Band(s) to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Αδυναμία λίστας βάσεων δεδομένων"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Όνομα εισαγώμενου διανυσματικού χάρτη "
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Αδυναμία περιγραφής πίνακα <%s>"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr ""
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύνδεσης και κλείνει"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "Ο αριθμός των υποπεριοχών πρέπει να είναι μεγαλύτερος ή ίσος του 1"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Αδυναμία ανοίγματος OGR πηγή δεδομένων '%s'"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Αδυναμία δημιουργίας διανυσματικού χάρτη <%s>"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Φόρτωση δεδομένων... (%dx%dx%d)"
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Αδυναμία δημιουργίας raster χάρτη <%s>."
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
@@ -23303,7 +23878,7 @@ msgstr ""
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -23639,29 +24214,34 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr ""
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr ""
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "ράστερ 3Δ, voxel"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Νούμερο επιπέδου"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -24079,33 +24659,33 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -25120,152 +25700,223 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr ""
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
+
+#: ../raster/r.in.lidar/main.c:108
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Όνομα αρχείου εξαγωγής"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Όνομα του αρχείου που περιέχει υπογραφές (signatures)"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "δεν βρέθηκε"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+msgid "Transform"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 msgid "If not specified, all points are imported"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "Η στήλη <%s> δεν βρέθηκε"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Άγνωστος τύπος"
+msgid "File <%s> does not exist"
+msgstr "Η στήλη <%s> δεν βρέθηκε"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "Η στήλη <%s> δεν βρέθηκε"
+
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Άγνωστος τύπος"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "Λάθος συντεταγμένες"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
+msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε."
+
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Αδυναμία ανοίγματος αρχείου <%s> για εγγραφή"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
 msgstr ""
 
 #: ../raster/r.uslek/main.c:57
@@ -25490,12 +26141,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr ""
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr ""
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -26304,6 +26949,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr "Λάθος συντεταγμένες"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -26356,6 +27008,11 @@ msgstr ""
 msgid "Writing to output raster map..."
 msgstr "Αδυναμία κλεισίματος του εξαγόμενου χάρτη"
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr ""
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr ""
@@ -26699,27 +27356,27 @@ msgstr ""
 msgid "Delete the null file"
 msgstr ""
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr ""
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr ""
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr ""
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr ""
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr ""
 
@@ -26753,31 +27410,11 @@ msgstr ""
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr ""
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr ""
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 msgid "Contour levels"
 msgstr ""
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr ""
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr ""
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -26788,29 +27425,31 @@ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δω
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr ""
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Αδυναμία δημιουργίας καταλόγου για τον πίνακα <%s>, κλειδί <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr ""
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr ""
@@ -27620,11 +28259,6 @@ msgstr "Όνομα εισαγώμενων ράστερ χαρτών"
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
-
 #: ../raster/r.what/main.c:146
 msgid "Show the category labels of the grid cell(s)"
 msgstr ""
@@ -27903,7 +28537,8 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr ""
 
@@ -28518,11 +29153,11 @@ msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύ
 msgid "3D Raster map <%s> not found"
 msgstr "Ο 3Δ χάρτης raster  <%s> δεν βρέθηκε"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Σφάλμα κατά την ανάγνωση του αρχείου ιστορικού"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -28709,6 +29344,36 @@ msgstr ""
 msgid "Update range"
 msgstr ""
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "ράστερ 3Δ, στατιστικά"
+
+#: ../raster3d/r3.gradient/main.c:47
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Δεν γίνεται η μετακίνηση του κέρσορα."
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Αδυναμία κλεισίματος του εξαγόμενου χάρτη"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -28863,6 +29528,145 @@ msgstr "Datetime, datetime1/datetime2 ή κανένα"
 msgid "Timestamp format is invalid"
 msgstr "Άγνωστη μορφή timestamp: "
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Ο διανυσματικός χάρτης <%s> δεν βρέθηκε"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "βάση δεδομένων, πίνακας ιδιοτήτων"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Ascii ράστερ χάρτης που θα εισαχθεί"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Χρώμα"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in map units"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+msgid "Unit of integration step"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "Προεπιλογή"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "ράστερ 3Δ, voxel"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Η προεπιλεγμένη βάση δεδομένων δεν έχει καθοριστεί"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Νούμερο επιπέδου"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "ράστερ 3Δ, voxel"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Αδυναμία περιγραφής πίνακα <%s>"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Σφάλμα κατά την ανάγνωση του εύρους για [%s]"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Εγγραφή %s από %s..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -29373,6 +30177,62 @@ msgstr ""
 msgid "Failed to find intersection segment"
 msgstr "Όνομα του αρχείου που περιέχει SQL εντολές"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr ""
+"Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr ""
+"Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Αδυναμία δημιουργίας διανυσματικού χάρτη <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Αδυναμία ανοίγματος της βάσης δεδομένων <%s> με τον οδηγό <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -29402,7 +30262,7 @@ msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -29415,8 +30275,8 @@ msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -29444,78 +30304,118 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "διάνυσμα, πίνακας χρωμάτων"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Όνομα αρχείου εξαγωγής"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr ""
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr ""
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Αντιγραφή πίνακα απέτυχε"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr ""
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 msgid "network maintenance"
 msgstr ""
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr ""
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, c-format
 msgid "%d new points (nodes) written to output."
 msgstr ""
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr ""
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -29536,8 +30436,9 @@ msgstr ""
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 msgid "points"
 msgstr ""
 
@@ -29567,9 +30468,9 @@ msgstr ""
 msgid "Name of column containing z coordinate"
 msgstr ""
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "Πλήρες output"
@@ -29764,14 +30665,14 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr ""
 "Ο διανυσματικός χάρτης <%s> υπάρχει ήδη και θα αντικατασταθεί (overwritten)"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr ""
@@ -29958,25 +30859,25 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 msgid "Do not make caps at the ends of polylines"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 msgid "Transfer categories and attributes"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -29984,167 +30885,167 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 msgid "The tolerance must be > 0."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "<%s> είναι μη επιτρεπτό όνομα αρχείου"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 msgid "Cleaning buffers..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 msgid "Breaking polygons..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
@@ -30431,7 +31332,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "ράστερ 3Δ, voxel"
+msgstr "Εγγραφή %s από %s..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -30463,7 +31364,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:368
 #, fuzzy, c-format
 msgid "Mask raster map [%s] not found"
-msgstr "Ο 3Δ ράστερ χάρτης <%s> δεν βρέθηκε"
+msgstr "Ο 3Δ χάρτης raster  <%s> δεν βρέθηκε"
 
 #: ../vector/v.vol.rst/user1.c:383
 #, fuzzy
@@ -30521,7 +31422,7 @@ msgstr ""
 msgid "Not enough disk space--cannot write files"
 msgstr ""
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -30569,11 +31470,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -30584,27 +31486,27 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr ""
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr ""
 
@@ -30631,44 +31533,61 @@ msgstr ""
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Αδυναμία δημιουργίας διανυσματικού χάρτη <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+msgid "Layer with turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Δίνει τη λίστα όλων των πινάκων για μία δεδομένη βάση δεδομένων."
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr ""
 
@@ -30988,99 +31907,99 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "ράστερ 3Δ, voxel"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Όνομα εισαγώμενων ράστερ χαρτών"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr ""
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Όνομα του αρχείου που περιέχει υπογραφές (signatures)"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 msgid "Writes z values to column"
 msgstr ""
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Τύπος"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr ""
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr ""
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr ""
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr ""
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr ""
 
@@ -31265,6 +32184,153 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+msgid "generalization"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "ράστερ 3Δ, voxel"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "δεν βρέθηκε"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+msgid "Copies only the given number of points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:199
+msgid "Minimal difference of z values"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Νούμερο των υποπεριοχών για συλλογή στατιστικών από αυτά"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Νούμερο των υποπεριοχών για συλλογή στατιστικών από αυτά"
+
+#: ../vector/v.decimate/main.c:232
+msgid "Use z in grid decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Λάθος συντεταγμένες"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 msgid "Changes type of vector features."
 msgstr ""
@@ -31333,7 +32399,7 @@ msgstr "Πίνακες συστήματος αντί πίνακες χρηστώ
 msgid "Force 2D output even if input is 3D "
 msgstr ""
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -31549,6 +32615,178 @@ msgstr ""
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "δεν βρέθηκε"
+
+#: ../vector/v.cluster/main.c:92
+msgid "cluster"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:93
+msgid "clump"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "ράστερ 3Δ, voxel"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Εγγραφή %s από %s..."
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "ράστερ 3Δ, voxel"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Εγγραφή %s από %s..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+msgid "Not enough points in input, nothing to do"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+msgid "Estimating maximum distance ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Ο 3Δ ράστερ χάρτης <%s> δεν βρέθηκε"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, c-format
+msgid "Standard deviation: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, c-format
+msgid "Estimated maximum distance: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "δεν βρέθηκε"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Αδυναμία κλεισίματος του εξαγόμενου χάρτη"
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "δεν βρέθηκε"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "δεν βρέθηκε"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "δεν βρέθηκε"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -31616,7 +32854,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -31891,14 +33129,8 @@ msgstr ""
 msgid "Loading data..."
 msgstr "Φόρτωση δεδομένων... (%dx%dx%d)"
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr ""
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
@@ -31955,17 +33187,17 @@ msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος γι
 msgid "Color can be updated from database only if use=attr"
 msgstr "Χρώμα"
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr ""
 
@@ -32124,76 +33356,76 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Νούμερο των υποπεριοχών για συλλογή στατιστικών από αυτά"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "δεν βρέθηκε"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, c-format
 msgid "No category for point at node %d"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Αδυναμία ανοίγματος αρχείου <%s> για εγγραφή"
@@ -32356,6 +33588,21 @@ msgstr ""
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Άγνωστος τύπος"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Εκτυπώνει τις τρέχουσες παραμέτρους σύνδεσης και κλείνει"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 msgid "layer"
 msgstr ""
@@ -32471,7 +33718,7 @@ msgid "Processing features..."
 msgstr ""
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr ""
 
@@ -32538,7 +33785,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
@@ -32923,7 +34170,7 @@ msgstr ""
 msgid "%d records updated"
 msgstr ""
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -33022,10 +34269,14 @@ msgstr "Άγνωστος τύπος"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
-msgstr "Εγγραφή %s από %s..."
+msgid "Transforming features..."
+msgstr ""
+"#-#-#-#-#  grassmods_el.po (grassmods_el)  #-#-#-#-#\n"
+"Εγγραφή %s από %s...\n"
+"#-#-#-#-#  grassmods_el.po (grassmods_el)  #-#-#-#-#\n"
 
 #: ../vector/v.transform/main.c:290
 #, fuzzy, c-format
@@ -33426,7 +34677,7 @@ msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
 msgid "Column type not supported, please use a column with double type"
 msgstr ""
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
@@ -33509,6 +34760,10 @@ msgstr "Νούμερο επιπέδου"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 #, fuzzy
 msgid "Columns"
 msgstr "Χρώμα"
@@ -33574,55 +34829,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Η στήλη <%s> δεν βρέθηκε"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, c-format
 msgid "%d records updated."
 msgstr ""
@@ -34446,50 +35706,59 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr ""
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Κάθετος διαχωριστής εγγραφών εξόδου"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 msgid "Region"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr ""
@@ -34768,7 +36037,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 msgstr[1] "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
@@ -34793,19 +36062,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr ""
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr ""
 
@@ -34821,6 +36090,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Ο 3Δ ράστερ χάρτης <%s> δεν βρέθηκε"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr ""
@@ -35083,7 +36357,8 @@ msgid " Database connection not defined for layer <%s>"
 msgstr ""
 "Δεν έχει καθοριστεί η σύνδεση με τη βάση δεδομένων για το επίπεδο (layer) %d"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "MySQL οδηγός: στήλη '%s', τύπος %d δεν υποστηρίζεται"
@@ -35102,57 +36377,57 @@ msgstr ""
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -35715,43 +36990,47 @@ msgstr ""
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
-msgid "Use either length or vertices"
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
 msgstr ""
 
 #: ../vector/v.split/main.c:108
+msgid "Use either length or vertices"
+msgstr ""
+
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Άγνωστος τύπος"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 msgid "Can not get projection units"
 msgstr ""
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, c-format
 msgid "Length in map units: %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, c-format
 msgid "Length in meters: %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 msgid "Number of vertices must be at least 2"
 msgstr ""
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -35848,10 +37127,6 @@ msgstr ""
 msgid "Reading categories..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr ""
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -36021,7 +37296,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr ""
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Αδυναμία αντιγραφής πίνακα <%s>"
@@ -36268,204 +37543,225 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr ""
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr ""
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Ο 3Δ ράστερ χάρτης <%s> δεν βρέθηκε"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr ""
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr ""
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Ο διανυσματικός χάρτης <%s> δεν βρέθηκε"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Αδυναμία δημιουργίας διανυσματικού χάρτη <%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr ""
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Αδυναμία ανάγνωσης αρχείου χρώματος για τον ράστερ χάρτη <%s>"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr ""
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr ""
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Σφάλμα ανοίγματος 3Δ ράστερ χάρτη <%s>"
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr ""
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr ""
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr ""
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr ""
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr ""
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr ""
@@ -37109,300 +38405,296 @@ msgstr[1] ""
 msgid "Operation not implemented"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
 "\t\tMapInfo File: directory containing mapinfo files"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
 "\t\tMapInfo File: mapinfo file name"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Ελάχιστο μέγεθος κάθε κελιού"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Νούμερο των υποπεριοχών για συλλογή στατιστικών από αυτά"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Όνομα του δεύτερου ράστερ χάρτη για blending"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Νούμερο επιπέδου"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 msgid "If not given, all geometry columns from the input are used"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 msgid "Force 2D output even if input is 3D"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Η θέση του κέρσοεα δεν υποστηρίζεται από τον οδηγό MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Χρώμα"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Αδυναμία δημιουργίας διανυσματικού χάρτη <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Η στήλη <%s> δεν βρέθηκε"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
+#: ../vector/v.in.ogr/main.c:1128
 #, c-format
-msgid "Column type not supported (%s)"
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, c-format
 msgid "%d %s without geometry skipped"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 msgid "Cleaning polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Εγγραφή %s από %s..."
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Αδυναμία υπολογισμού κέντρων πολυγώνου για την επιφάνεια %d"
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -37410,99 +38702,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Αδυναμία αντιγραφής πίνακα <%s>"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -37548,17 +38840,21 @@ msgstr "Αδυναμία διαβάσματος εύρους fp για τον ρ
 msgid "Unknown geometry type"
 msgstr ""
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Όνομα πίνακα εξαγωγής"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Ascii ράστερ χάρτης που θα εισαχθεί"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -37566,22 +38862,22 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Τυπώνει τον πίνακα και κλεινει (έξοδος)"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -37640,17 +38936,17 @@ msgid ""
 "PostGIS feature table."
 msgstr ""
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Αδυναμία περιγραφής πίνακα <%s>"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
@@ -37780,58 +39076,58 @@ msgstr ""
 msgid "Unable to close new 3d raster map"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 msgid "isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr ""
@@ -37989,6 +39285,135 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr ""
+"Δεν έχει καθοριστεί η σύνδεση με τη βάση δεδομένων για το επίπεδο (layer) %d"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Αντιγραφή πίνακα απέτυχε"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Αντιγραφή πίνακα απέτυχε"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Η στήλη <%s> δεν βρέθηκε"
+
+#: ../vector/v.out.lidar/main.c:485
+msgid "Exports vector points as LAS point cloud"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "ράστερ 3D, voxel, εξαγωγή"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Η στήλη <%s> δεν βρέθηκε"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.out.lidar/main.c:588
+msgid "Column with red color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Νούμερο των υποπεριοχών για συλλογή στατιστικών από αυτά"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "διάνυσμα, πίνακας χρωμάτων"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -38179,7 +39604,7 @@ msgstr "Εγγραφή %s από %s..."
 msgid "Invalid segment number %d for %d points"
 msgstr "Νούμερο επιπέδου"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
@@ -38477,48 +39902,231 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Αδυναμία ανοίγματος διανυσματικού χάρτη <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Αδυναμία ανοίγματος της βάσης δεδομένων <%s> με τον οδηγό <%s>"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Παράγει στατιστικά όγκου για 3Δ ράστερ χάρτες."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Όνομα υπάρχοντως 3Δ ράστερ χάρτη"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "ράστερ 3Δ, voxel"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:258
+msgid "Import only n points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "Νούμερο επιπέδου"
+
+#: ../vector/v.in.lidar/main.c:282
+msgid "Invert mask when selecting points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Λάθος συντεταγμένες"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "διαγραφή ενός πίνακα ιδιοτήτων."
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Αδυναμία ανοίγματος της βάσης δεδομένων <%s> με τον οδηγό <%s>"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Νούμερο επιπέδου"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
+msgstr "Χάρτης επαναφόρτισης σε  m^3/s"
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "δεν βρέθηκε"
+
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "δεν βρέθηκε"
+
+#: ../vector/v.in.lidar/main.c:758
+#, c-format
+msgid "%llu input points were not valid"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:760
+#, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:762
+#, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:764
+#, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:766
+#, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:768
+#, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:770
+#, c-format
+msgid "%llu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:773
+#, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "δεν βρέθηκε"
+
+#: ../vector/v.in.lidar/main.c:781
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%lu points imported"
 msgstr "δεν βρέθηκε"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:783
+#, c-format
+msgid "%lu input points were not valid"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:785
+#, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:787
+#, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:789
 #, c-format
-msgid "%d input points were not valid"
+msgid "%lu input points were filtered out by return number"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:791
 #, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered out by class number"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:793
 #, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:795
 #, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:798
+#, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Τύπωμα της δομή του πίνακα"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
 msgstr ""
 
 #: ../vector/v.surf.bspline/crosscorr.c:75
@@ -38681,7 +40289,7 @@ msgid ""
 msgstr "Όνομα εξαγόμενου διανυσματικού χάρτη"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -39663,10 +41271,6 @@ msgstr ""
 msgid "Resolving conflicts..."
 msgstr ""
 
-#: ../vector/v.generalize/main.c:77
-msgid "generalization"
-msgstr ""
-
 #: ../vector/v.generalize/main.c:78
 msgid "simplification"
 msgstr ""
@@ -39833,57 +41437,57 @@ msgstr ""
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr ""
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, c-format
 msgid "Using threshold: %g %s"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr ""
@@ -39929,50 +41533,22 @@ msgstr ""
 #~ msgstr "Όνομα του δεύτερου ράστερ χάρτη για blending"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
+#~ msgid "Could not rewind input file"
+#~ msgstr "Αδυναμία ανοίγματος του χάρτη raster <%s>"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Όνομα ράστερ χάρτη υψομέτρου"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Όνομα ράστερ χάρτη υψομέτρου"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr "Όνομα ράστερ χάρτη υψομέτρου"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Όνομα χάρτη υποβάθρου ράστερ"
 
 #, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Αριθμός των δεδαδικών ψηφίων για τους αριθμούς υποδιαστολής"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
 
 #, fuzzy
 #~ msgid "output map <%s> exists"
 #~ msgstr "Ο διανυσματικός χάρτης <%s> δεν βρέθηκε"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Όνομα χάρτη υποβάθρου ράστερ"
-
-#, fuzzy
 #~ msgid "Input options"
 #~ msgstr "Αποτέλεσμα:"
 
@@ -39985,84 +41561,48 @@ msgstr ""
 #~ msgstr "Προεπιλογή"
 
 #, fuzzy
-#~ msgid "Name for output file or GPS device"
-#~ msgstr "Όνομα αρχείου εξαγωγής"
-
-#, fuzzy
-#~ msgid "No default DB driver defined"
-#~ msgstr "Ο προεπιλεγμένος οδηγός δεν έχει καθοριστεί"
-
-#, fuzzy
 #~ msgid "Field separator"
 #~ msgstr "Διαχωριστής πεδίων εξόδου"
 
 #, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "Ο χάρτης raster  <%s> δεν βρέθηκε"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "Αδυναμία δημιουργίας καταλόγου για τον πίνακα <%s>, κλειδί <%s>"
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Όνομα αρχείου εξαγωγής"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Όνομα αρχείου εξαγωγής"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
+#~ msgid "Name for output file or GPS device"
 #~ msgstr "Όνομα αρχείου εξαγωγής"
 
 #, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Όνομα αρχείου εξαγωγής"
+#~ msgid "No default DB driver defined"
+#~ msgstr "Ο προεπιλεγμένος οδηγός δεν έχει καθοριστεί"
 
 #, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Όνομα αρχείου εξαγωγής"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
+#~ msgid "Env file not found"
+#~ msgstr "Η στήλη <%s> δεν βρέθηκε"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
+#~ msgid "PID file not found"
+#~ msgstr "Η στήλη <%s> δεν βρέθηκε"
 
 #, fuzzy
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "Είτε ένα στανταρ όνομα χρώματος ή συνδυασμός R:G:B"
+#~ msgid "Command file not found"
+#~ msgstr "Η στήλη <%s> δεν βρέθηκε"
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Χρώμα για το κείμενο"
+#~ msgid "Name for output image"
+#~ msgstr "Όνομα αρχείου εξαγωγής"
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Χρώμα κανένα"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "Αδυναμία δημιουργίας καταλόγου για τον πίνακα <%s>, κλειδί <%s>"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "Αδυναμία φόρτωσης δεδομένων πίνακα <%s>"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Ο προεπιλεγμένος οδηγός δεν έχει καθοριστεί"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "Όνομα εξαγόμενου ράστερ χάρτη (red)"
 
 #, fuzzy
 #~ msgid ""
@@ -40094,37 +41634,39 @@ msgstr ""
 #~ msgstr "Χρώμα"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Όνομα εξαγόμενου ράστερ χάρτη (red)"
+#~ msgid "Name of output basename raster map(s)"
+#~ msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "ράστερ 3Δ, στατιστικά"
+#~ msgid "Default: input"
+#~ msgstr "Ο προεπιλεγμένος οδηγός δεν έχει καθοριστεί"
 
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
+#~ msgid "Text color or \"none\""
+#~ msgstr "κανένα"
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Χρώμα για το κείμενο"
 
 #, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου"
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "Χρώμα κανένα"
 
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Cache size (MiB)"
+#, fuzzy
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "Είτε ένα στανταρ όνομα χρώματος ή συνδυασμός R:G:B"
 
 #, fuzzy
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "Αδυναμία ανοίγματος προσωρινού αρχείου"
+
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Το στοιχείο char αντιπροσωπεύει κελό χωρίς δεδομένα"
 
 #, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Όνομα αρχείου εξαγωγής (ΜΗΝ προσθέσετε επέκταση αρχείου)"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -40137,21 +41679,6 @@ msgstr ""
 #~ msgstr[1] "Χάρτης επαναφόρτισης σε  m^3/s"
 
 #, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Όνομα τοποθεσία"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Το στοιχείο char αντιπροσωπεύει κελό χωρίς δεδομένα"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
-
-#, fuzzy
 #~ msgid "String to represent no data cell"
 #~ msgstr "Το στοιχείο char αντιπροσωπεύει κελό χωρίς δεδομένα"
 
@@ -40163,8 +41690,14 @@ msgstr ""
 #~ msgstr "Δείκτης κενής τιμής"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "ράστερ 3Δ, voxel"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
+#~ msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
+
+#, fuzzy
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "Όνομα αρχείου εξαγωγής (ΜΗΝ προσθέσετε επέκταση αρχείου)"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -40183,6 +41716,69 @@ msgstr ""
 #~ msgstr "Όνομα εξαγόμενου ράστερ χάρτη"
 
 #, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Χρώμα κανένα"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Χρώμα κανένα"
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Χρώμα για την απεικόνιση άγνωστης πληροφορίας"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "Χρώμα κανένα"
+
+#~ msgid "Layer number"
+#~ msgstr "Νούμερο επιπέδου"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "Όνομα τοποθεσία"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Όνομα αρχείου εξαγωγής"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Όνομα αρχείου εξαγωγής"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Όνομα αρχείου εξαγωγής"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Όνομα αρχείου εξαγωγής"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Όνομα αρχείου εξαγωγής"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "ράστερ 3Δ, στατιστικά"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "ράστερ 3Δ, voxel"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "Όνομα εισαγώμενου ράστερ χάρτη "
 
@@ -40197,5 +41793,21 @@ msgstr ""
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "Χρώμα "
 
-#~ msgid "Layer number"
-#~ msgstr "Νούμερο επιπέδου"
+#, fuzzy
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Αδυναμία δημιουργίας πίνακα <%s>"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "Είτε 'from_table' ή 'select' επιλογή πρέπει να δωθεί."
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "Αδυναμία ανάγνωσης διανυσματικού χάρτη"
+
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Cache size (MiB)"
diff --git a/locale/po/grassmods_es.po b/locale/po/grassmods_es.po
index 6babb32..bfdca20 100644
--- a/locale/po/grassmods_es.po
+++ b/locale/po/grassmods_es.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_es\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-01-23 20:45-0600\n"
 "Last-Translator: \n"
 "Language-Team: Español <grass-translations at lists.osgeo.org>\n"
@@ -29,10 +29,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -50,6 +50,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -76,12 +77,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr "gráficas"
 
@@ -126,7 +128,7 @@ msgstr "Respetar valores NULOS mientras se dibuja"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -134,14 +136,16 @@ msgid "Color file for <%s> not available"
 msgstr "Archivo de color para <%s> no disponible"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -160,7 +164,9 @@ msgstr "Archivo de color para <%s> no disponible"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -181,7 +187,7 @@ msgstr "Archivo de color para <%s> no disponible"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -193,7 +199,7 @@ msgstr "Archivo de color para <%s> no disponible"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -217,17 +223,17 @@ msgstr "Archivo de color para <%s> no disponible"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -238,7 +244,7 @@ msgstr "Archivo de color para <%s> no disponible"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -388,10 +394,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "Entrada"
 
@@ -438,21 +447,23 @@ msgstr "Subconjunto"
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "Usar un subconjunto del rango del mapa para la leyenda (min, max)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Color de texto"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 msgid "Font settings"
 msgstr "Configuraciones de la fuente"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Nombre de fuente"
 
@@ -465,11 +476,13 @@ msgstr "Tamaño de fuente"
 msgid "Default: Auto-scaled"
 msgstr "Por defecto: escalamiento automático"
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "Ruta al archivo de fuentes"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr "Text encoding (sólo aplicable a fuentes 'TrueType fonts'"
 
@@ -568,14 +581,20 @@ msgstr "El rango de color excede el límite superior de los datos reales"
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "usar=%s fuera de rango [%.3f, %.3f]. (extender con rango= ?)"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
-msgstr "El histograma constreñido por rango no está implementado aún"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
+msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "¡Nada que dibujar! (¿ninguna categoría con etiquetas?)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -619,11 +638,11 @@ msgstr "Título para el gráfico"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -706,23 +725,26 @@ msgstr "Lista de categorías o valores a mostrar"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -732,14 +754,19 @@ msgstr "Lista de categorías o valores a mostrar"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -787,50 +814,51 @@ msgstr "[%s]: especificación de valor no admitida"
 msgid "[%s]: No such color"
 msgstr "[%s]: No hay tal color"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr "monitores"
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 msgid "Displays information about the active display monitor."
 msgstr "Muestra información sobre la pantalla activa"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr "Los monitores de visualización son mantenidos por d.mon."
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Mostrar rectángulo de pantalla (izquierda, derecha superior, inferior)"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "Mostrar dimensiones de pantalla (anchura, altura)"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "Mostrar rectángulo del marco activo"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Mostrar dimensiones de pantalla (anchura, altura)"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "Mostrar rectángulo de pantalla de la región actual"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 #, fuzzy
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 "Muestra las coordenadas geográficas y la resolución de la pantalla entera"
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -838,31 +866,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "La conexión a la base de datos no ha sido definida para la capa %d"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -872,10 +901,10 @@ msgstr "La conexión a la base de datos no ha sido definida para la capa %d"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -889,7 +918,7 @@ msgstr "La conexión a la base de datos no ha sido definida para la capa %d"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "No se puede abrir la base de datos <%s> por el controlador <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -912,7 +941,7 @@ msgstr "Tipo de gráfico"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr "Propiedades del gráfico"
 
@@ -952,7 +981,12 @@ msgstr "Valor máximo usado para para referencia de trazado de barras"
 msgid "Create legend information and send to stdout"
 msgstr "Crear información de leyenda y enviar a stdout"
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Crear salida 3D"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -960,20 +994,22 @@ msgstr "Crear información de leyenda y enviar a stdout"
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -988,40 +1024,40 @@ msgstr "Crear información de leyenda y enviar a stdout"
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "No se puede abrir el mapa vectorial <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 msgid "distance"
 msgstr "distancia"
@@ -1044,10 +1080,6 @@ msgstr "Coordenadas inicial y final"
 msgid "Line color"
 msgstr "Color de línea"
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr "Color de texto o \"none\""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1108,12 +1140,15 @@ msgstr "L: añadir  M: eliminar  R: salir y guardar\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1132,17 +1167,18 @@ msgstr "L: añadir  M: eliminar  R: salir y guardar\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1155,10 +1191,10 @@ msgstr "L: añadir  M: eliminar  R: salir y guardar\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1166,21 +1202,22 @@ msgstr "L: añadir  M: eliminar  R: salir y guardar\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "vectorial"
 
@@ -1225,16 +1262,18 @@ msgstr "Mapa vectorial <%s> no encontrado"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1246,22 +1285,22 @@ msgstr "Mapa vectorial <%s> no encontrado"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1313,10 +1352,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr "(0,0) es abajo y a la izquierda del marco de visualización"
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1368,11 +1407,11 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Nombre del mapa ráster a usar para <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 msgid "map annotations"
 msgstr "anotaciones del mapa"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
@@ -1380,27 +1419,27 @@ msgstr ""
 "Superpone los valores de categoría de celda en un mapa mostrado en la "
 "pantalla activa."
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Color de cuadrícula"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "Número de dígitos significativos (coma flotante solamente)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 msgid "Align grids with raster cells"
 msgstr "Alinear cuadrículas con celdas raster"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "Obtener color de texto del valor de color de la celda"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1409,7 +1448,7 @@ msgid_plural "%d rows"
 msgstr[0] "%d fila"
 msgstr[1] "%d filas"
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1417,7 +1456,7 @@ msgstr[0] "%d col"
 msgstr[1] "%d cols"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1429,12 +1468,12 @@ msgstr ""
 "mostradas en su pantalla pueden ser demasiado pequeñas para que el número de "
 "la categoría de la celda sea visible."
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 "Abortando (no está permitida una región mayor a 200 filas X 200 columnas)"
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
@@ -1442,62 +1481,62 @@ msgstr ""
 "Dibuja flechas que representan la dirección de orientación de celdas para un "
 "mapa ráster que contiente datos de orientación."
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Nombre mapa de orientación ráster a mostrar"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Tipo de mapa de orientación ráster existente"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Color para dibujar las flechas"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 msgid "Color for drawing drawing grid"
 msgstr "Color para dibujar la cuadrícula"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 msgid "Color for drawing null values (X symbol)"
 msgstr "Color para dibujar los valores nulos (símbolo X)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Color para mostrar información desconocida (símbolo ?)"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "Dibujar flecha cada N celdas de la cuadrícula"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 "Mapa ráster que contiene los valores usados para la longitud de las flechas"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Factor de escala para las flechas (mapa de magnitud)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "Valor no admitido para factor de escala"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr "Valor no admitido para saltar"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 "Magnitud sólo esta soportado para GRASS y para mapas de aspecto (compass "
 "maps)."
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr "La opción escala requiere magnitude_map"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr "Problema al leer archivo de rango"
 
@@ -1614,24 +1653,24 @@ msgstr ""
 "  Distancia a la red = %f, distancia desde la red = %f\n"
 "\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 msgid "network"
 msgstr "red"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr "ruta más corta"
@@ -1641,50 +1680,50 @@ msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 "Encuentra la ruta más corta para los nodos inicial y final seleccionados."
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Tipo de arco"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "Capa de arco"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr "Capa de nodo"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr "Delante del arco/ ambas direcciones de la columna de coste (número)"
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1706,11 +1745,11 @@ msgstr "Renderizando"
 msgid "Background color"
 msgstr "Color de fondo"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "Usar cálculos geodésicos para localizaciones latitud-longitud"
 
@@ -1730,7 +1769,7 @@ msgstr "%s - valor Y no admitido"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "La proyección actual no es latitud-longitud"
 
@@ -1754,7 +1793,7 @@ msgstr "histograma"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1762,7 +1801,7 @@ msgstr "histograma"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2144,7 +2183,7 @@ msgstr "Stdev multiplicado por %.4f para definir paso\n"
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2162,9 +2201,9 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Opción Rejilla Geográfica no disponible para la proyección LL"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 "No se pueden obtener los valores clave de la proyección de la localización "
@@ -2172,7 +2211,7 @@ msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr ""
@@ -2426,12 +2465,13 @@ msgstr "Coordenadas no válidas <%s,%s>"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2499,16 +2539,16 @@ msgstr "Solicitud ambigua para los elipsoides lat/long"
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "Por favor especifique un elipsoide de lat/long con -l o -w"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 "No se puede obtener información de la proyección de la localización actual"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 "No se pueden obtener unidades de la proyección de la localización actual"
@@ -2533,11 +2573,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "No se puede leer el mapa vectorial"
 
@@ -2741,7 +2782,7 @@ msgid "Colorize features according color definition column"
 msgstr ""
 "Nombre de la columna de definición de color (para usar con la opción -a)"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 msgid "Color definition in R:G:B form"
 msgstr "Definición de color en la forma R:G:B"
 
@@ -3040,40 +3081,47 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]: No hay tal color. Use '%s'"
 
-#: ../display/d.mon/start.c:32
-#, c-format
-msgid "File '%s' already exists and will be overwritten"
+#: ../display/d.mon/start.c:38
+#, fuzzy, c-format
+msgid "File <%s> already exists and will be overwritten"
 msgstr "El archivo '%s' ya existe y se sobrescribirá"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 msgid "Unable to get current working directory"
 msgstr "No se puede obtener el directorio de trabajo actual"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, c-format
 msgid "Output file: %s"
 msgstr "Archivo de salida: %s"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, c-format
 msgid "Monitor <%s> already running"
 msgstr "Monitor <%s> sigue funcioando"
 
-#: ../display/d.mon/start.c:132
-#, c-format
-msgid "Unable to create file '%s'"
-msgstr "No se puede crear el archivo '%s'"
+#: ../display/d.mon/start.c:126
+#, fuzzy, c-format
+msgid "Starting monitor <%s>..."
+msgstr "Escribiendo mapa vectorial <%s> ..."
 
-#: ../display/d.mon/start.c:163
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "No se puede leer el archivo de comandos"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
 #, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr "Iniciando monitor <%s> con archivo env '%s'"
+msgid "Unable to create file <%s>"
+msgstr "No se puede crear el archivo <%s>"
 
 #: ../display/d.mon/select.c:14
 #, c-format
@@ -3085,29 +3133,52 @@ msgstr "Monitor <%s> ya está seleccionado"
 msgid "Monitor <%s> is not running"
 msgstr "Monitor <%s> no estaba funcionando"
 
-#: ../display/d.mon/stop.c:37
-msgid "Env file not found"
-msgstr "Archivo Env no encontrado"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "No se puede crear el archivo <%s>"
+
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "No se puede abrir el origen de datos <%s>"
+
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "No se puede abrir el archivo <%s>"
 
-#: ../display/d.mon/stop.c:55
-msgid "PID file not found"
-msgstr "Archivo PID no encontrado"
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "No se puede crear el archivo <%s>"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/list.c:80
 msgid "List of running monitors:"
 msgstr "Enlistar todos los monitores:"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr "No hay monitores funcionando"
 
-#: ../display/d.mon/list.c:84
-msgid "Command file not found"
-msgstr "Archivo de comandos no encontrado"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "No se puede abrir el archivo <%s>"
 
-#: ../display/d.mon/list.c:88
-msgid "Unable to read command file"
-msgstr "No se puede leer el archivo de comandos"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Enlistar comandos para el monitor <%s>:"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3119,8 +3190,8 @@ msgid "Name of monitor to start"
 msgstr "Nombre del monitor a iniciar"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr "Administrar"
 
@@ -3142,9 +3213,10 @@ msgstr "Valor predeterminado: 640"
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3224,12 +3296,12 @@ msgid "List running monitors and exit"
 msgstr "Enlistar los monitores activos y salir"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3242,33 +3314,34 @@ msgstr "Enlistar los monitores activos y salir"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Imprimir"
 
@@ -3280,56 +3353,74 @@ msgstr "Mostrar el nombre del monitor seleccionado actualmente y salir"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Mostrar el nombre de la pantalla seleccionada actualmente"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Mostrar el nombre del monitor seleccionado actualmente y salir"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "No seleccionar automáticamente al empezar"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Libera y detiene el monitor seleccionado actualmente y salir"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 msgid "Disable true colors"
 msgstr "Desactivar colores verdaderos"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr "Abrir archivo de salida y actualizar modo"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr "Opción -%c ignorada"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr "Monitor actualmente seleccionado:"
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr "Enlistar comandos para el monitor <%s>:"
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr "Monitor <%s> liberado"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr " Ningún monitor seleccionado"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Se debe dar <%s>, <%s> o <%s>"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, c-format
 msgid "Option <%s> ignored"
@@ -3384,7 +3475,7 @@ msgid "No map name given"
 msgstr "Ningún nombre de mapa especificado"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "No se puede leer el archivo de categorías del mapa ráster <%s@%s>"
@@ -3513,9 +3604,9 @@ msgstr "conseguido"
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "No se puede abrir el archivo <%s> para escribir"
@@ -3560,9 +3651,9 @@ msgstr "Conexión"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Formato"
 
@@ -3575,11 +3666,11 @@ msgstr "Separador de registros vertical (necesita la opción -v)"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Nombre para el archivo de salida (si se omite o \"-\" salida a stdout)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "No incluir nombres de columna en la salida"
 
@@ -3587,7 +3678,7 @@ msgstr "No incluir nombres de columna en la salida"
 msgid "Describe query only (don't run it)"
 msgstr "Sólo describir la consulta (no ejecutarla)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Salida vertical (en vez de horizontal)"
 
@@ -3620,7 +3711,7 @@ msgstr "Sólo probar la consulta, no ejecutarla"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 msgid "database"
 msgstr "base de datos"
@@ -3651,7 +3742,7 @@ msgstr "base de datos"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3662,7 +3753,7 @@ msgstr "tabla de atributos"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr "SQL"
 
@@ -3788,8 +3879,8 @@ msgstr "No se puede leer el archivo de intervalo"
 msgid "Unable to create index:"
 msgstr "No se puede crear el índice"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Conexión"
@@ -3868,7 +3959,7 @@ msgstr "No se puede establecer la proyección"
 msgid "Unable to allocate handle."
 msgstr "No se puede asignar memoria"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3905,7 +3996,7 @@ msgstr "No se pueden seleccionar los atributos"
 msgid "Unable to select view names."
 msgstr "No se pueden seleccionar los atributos"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3945,12 +4036,12 @@ msgstr "Sin memoria"
 msgid "No path given"
 msgstr "Ningún nombre de mapa especificado"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "No se pueden seleccionar los atributos"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "No se pueden seleccionar datos de la tabla"
@@ -4000,29 +4091,29 @@ msgid "Taken not found"
 msgstr "no encontrado"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "No se puede crear el índice"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "No se puede establecer el tamaño"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "No se pueden seleccionar los atributos"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "No se puede crear la tabla <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "No se puede abrir la base de datos <%s>"
@@ -4069,6 +4160,11 @@ msgstr ""
 "columna '%s' : el tipo bool (booleano) se guarda como char(1), valores: 0 "
 "(falso), 1 (verdadero)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "No se puede establecer el tamaño"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr ""
@@ -4157,7 +4253,8 @@ msgstr "%s: no se encontró <%s>"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4239,22 +4336,22 @@ msgstr "No se puede abrir el origen de datos <%s>"
 msgid "Unable to open database:"
 msgstr "No se puede abrir la base de datos:"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Conexión a la base de datos no definida"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "<%s> ya existe"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "No se puede crear la tabla: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "Directorio de mapas <%s> no encontrado"
@@ -4269,6 +4366,11 @@ msgstr "SQLITE db ocupado, esperando por %d segundos..."
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "Controlador SQLite: columna '%s', el tipo SQLite %d no está soportado"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Error en sqlite3_step():"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4521,10 +4623,10 @@ msgstr "Elimina una base de datos."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4545,26 +4647,39 @@ msgstr "Por favor, corrija la configuración"
 msgid "Sets user/password for DB driver/database."
 msgstr "Establece usuario/contraseña para controlador/base de datos."
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "No se puede establecer la proyección"
+msgid "Username"
+msgstr "nombre"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "No se puede establecer la proyección"
+msgid "Password"
+msgstr "Pase: %d..."
+
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Nombre de prueba"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Imprimir los parámetros de la conexión actual y salir"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Imposible establecer usuario/contraseña"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "La contraseña se guardó en archivo"
@@ -4859,6 +4974,7 @@ msgstr "Área\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4869,10 +4985,11 @@ msgstr "Área\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "ráster"
@@ -4946,19 +5063,6 @@ msgstr "Se debe usar la opción -i y/o el parámetro de ruta"
 msgid "Off-screen only available with full render mode"
 msgstr "Fuera de pantalla sólo disponible en modo renderizado completo"
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "No se puede abrir el archivo <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5233,7 +5337,7 @@ msgstr "No se encuentra el mapa ráster de latitudes de entada <%s>"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5914,7 +6018,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr "En la línea %d hay una opción \"%s\" desconocida para el parámetro\n"
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5927,12 +6031,13 @@ msgstr "En la línea %d hay una opción \"%s\" desconocida para el parámetro\n"
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "general"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6012,7 +6117,7 @@ msgstr "Escribiendo mapa ráster <%s>"
 #: ../general/g.rename/main.c:194
 #, fuzzy, c-format
 msgid "Unable to update dependency file in <%s@%s>"
-msgstr "No se puede abrir el archivo site <%s@%s>"
+msgstr "No se puede abrir el archivo <%s>"
 
 #: ../general/g.copy/main.c:44
 #, fuzzy
@@ -6044,7 +6149,17 @@ msgstr "%s=%s,%s: los archivos son los mismos, no se requiere ninguna copia"
 msgid "<%s> already exists"
 msgstr "<%s> ya existe"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "No se puede leer la cabecera del mapa ráster 3D <%s@%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "No se puede abrir el mapa vectorial <%s> al nivel topológico %d"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6052,7 +6167,7 @@ msgstr "<%s> ya existe"
 msgid "list"
 msgstr "lista"
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 #, fuzzy
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
@@ -6061,13 +6176,13 @@ msgstr ""
 "Lista archivos de base de datos de GRASS del tipo de datos especificado por "
 "el usuario para una salida estándar."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr "Patrón de búsqueda de nombre mapa (por omisión: todos)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6075,132 +6190,105 @@ msgstr "Patrón de búsqueda de nombre mapa (por omisión: todos)"
 msgid "Pattern"
 msgstr "Raster"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr "Patrón de exclusión de Map name (por defecto: ninguno)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 msgid "Name of mapset to list (default: current search path)"
 msgstr ""
 "Directorio de mapas a enlistar (predeterminado: ruta de búsqueda actual)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 "'.' para directorio de mapas actual, '*' para todos los directorios de mapas "
 "de la localización"
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Nombre de un directorio de mapas (por omisión: actual)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Establecer la región actual a partir de la región nombrada"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Nombre para el archivo de salida"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Si no se da lee de la entrada estándar"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "Usar expressiones regulares básicas en vez de comodines"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "Usar expressiones regulares largas en vez de comodines"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "Imprimir tipos de datos"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 #, fuzzy
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 "Mostar nombres de los mapas totalmente cualificado (incluyendo directorios "
 "de mapas)"
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr "Impresión buena en formato leíble"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "Listado detallado (también lista títulos de mapas)"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "weight= y -c son excluyentes mutuamente"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "weight= y -c son excluyentes mutuamente"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "weight= y -c son excluyentes mutuamente"
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "No se puede abrir el archivo <%s>"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "El directorio de mapas <%s> no existe"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "No se puede leer la cabecera del mapa ráster 3D <%s@%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "No se puede abrir el mapa vectorial <%s> al nivel topológico %d"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "No se pueden actualizar los parámetro de proyección latitud/longitud"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Error en pj_do_proj (proyección de par de coordenadas de entrada)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr "Ya está en Lat/Long. Usar la opción -p en su lugar."
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 #, fuzzy
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
@@ -6209,7 +6297,7 @@ msgstr ""
 "Está en una localización XY (ninguna proyección posible, use la opción -p en "
 "su lugar)."
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6217,7 +6305,7 @@ msgstr ""
 "Salida WGS84 imposible, ya que esta localización no contiene parámetros de "
 "transformación del datum. Pruebe a ejecutar g.setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr "Los cálculos Lat/Long no pueden realizarse desde un sistema simple XY"
 
@@ -6449,9 +6537,9 @@ msgstr "Región <%s> no encontrada"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "Mapa ráster 3D <%s> no encontrado"
@@ -6476,7 +6564,7 @@ msgstr ""
 "No se puede cambiar la región predeterminada. El directorio de mapas actual "
 "no es <PERMANENT>."
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Entrada no válida <%s=%s>"
@@ -6776,38 +6864,38 @@ msgstr ""
 msgid "Shell"
 msgstr "Consola de comandos"
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr "GIS_H_VERSION=\"%s\""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr "GIS_H_DATE=\"%s\""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr "GRASS no está compilado con soporte GDAL/OGR"
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr "GRASS no está compilado con soporte GEOS"
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr "GRASS no está compilado con soporte SQLite"
 
@@ -6956,7 +7044,7 @@ msgstr ""
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "Operación a realizar"
@@ -7415,7 +7503,7 @@ msgstr "No se puede abrir el archivo de entrada <%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7619,44 +7707,65 @@ msgid "command line interface with GUI startup screen"
 msgstr "No se encontró el mapa ráster"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
 msgstr ""
 "Nombre del archivo del espacio de trabajo que se cargará en el arranque "
 "(válido solo para wxGUI)"
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
+msgstr ""
+
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 #, fuzzy
 msgid "Update default user interface settings"
 msgstr "Actualizar la configuración por defecto de la GUI"
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr "Predeterminado"
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 #, fuzzy
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr "No lanzar la GUI después de actualizar el ajuste GUI por defecto"
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr "<%s> es ahora la GUI por defecto"
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
+#, fuzzy, c-format
+msgid "Launching <%s> GUI, please wait..."
+msgstr "Lanzando GUI <%s> en el fondo, por favor espere..."
+
+#: ../general/g.gui/main.c:122
 #, c-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr "Lanzando GUI <%s> en el fondo, por favor espere..."
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
-msgstr ""
-
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
 msgid "have"
 msgstr "tener"
@@ -7874,8 +7983,8 @@ msgstr ""
 "Forzar a ignorar la información de transformación del datum en el sistema de "
 "coordenadas de entrada"
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr "Modificar"
 
@@ -7916,9 +8025,9 @@ msgstr ""
 "No se especificó el formato de salida, defina una de las opciones -%c, -%c, "
 "o -%c"
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Localización <%s> creada"
@@ -8077,10 +8186,12 @@ msgstr "Imprimir la matriz de transformación a stdout"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8096,10 +8207,14 @@ msgstr "Imprimir la matriz de transformación a stdout"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8133,10 +8248,12 @@ msgstr "vectorial, topología"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8152,10 +8269,14 @@ msgstr "vectorial, topología"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8260,8 +8381,8 @@ msgstr "Guarda el contenido del monitor activo en un fichero gráfico."
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr "exportar"
 
@@ -8299,7 +8420,7 @@ msgstr "Importa datos de SPOT VGT NDVI a un mapa ráster."
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8328,15 +8449,16 @@ msgstr "imaginería"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 msgid "import"
 msgstr "importar"
 
@@ -8484,7 +8606,7 @@ msgstr "Esquema de la base de datos"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Convierte mapas ráster 3D en mapas ráster 2D"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr "unir"
 
@@ -8494,6 +8616,107 @@ msgstr "unir"
 msgid "inputs"
 msgstr "Entrada"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Convierte mapas ráster 3D en mapas ráster 2D"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "ráster, álgebra de mapas"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Listar mapas vectoriales en la localización de entrada y salir"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Nombre del mapa ráster 3D de entrada"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Número de clases a definir"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Mapas raster de entrada"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8552,21 +8775,12 @@ msgid ""
 "datasets."
 msgstr "Listar mapas vectoriales en la localización de entrada y salir"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "ráster, álgebra de mapas"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8575,11 +8789,13 @@ msgstr "ráster, álgebra de mapas"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr "voxel"
 
@@ -8587,54 +8803,13 @@ msgstr "voxel"
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr "expresión r3.mapcalc aplicada a cada tiempo de los datos muestreados"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Nombre del mapa ráster 3D de entrada"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Número de clases a definir"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Mapas raster de entrada"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8649,7 +8824,8 @@ msgstr "Nombre de mapa ráster de orientación"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "vectorial, exportar"
@@ -8886,7 +9062,7 @@ msgstr "vectorial, interpolación"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Método de interpolación a usar"
 
@@ -9004,6 +9180,47 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr "Nombre de la columna"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Lista de valores separados por coma"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Nombre de un archivo de salida para albergar el informe"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+msgid "Sort the maps by category"
+msgstr "Ordenar los mapas por categoría"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Número de clases a definir"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+msgid "Output header row"
+msgstr "Cabecera de fila de salida"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9232,7 +9449,7 @@ msgstr "Granularidad para acumulación '1 day'"
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9482,6 +9699,7 @@ msgstr "ASCII"
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9552,10 +9770,14 @@ msgstr ""
 "Ampliar la extensión de la localización en base a nuevo conjunto de datos"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Ignorar proyección (usar proyección de la localización)"
@@ -9564,7 +9786,8 @@ msgstr "Ignorar proyección (usar proyección de la localización)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr ""
@@ -9586,21 +9809,21 @@ msgstr ""
 "estadísticas univariantes."
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr "LIDAR"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr "Explorar archivo de datos para la extensión y luego salir"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "En modo de escaneo, imprimir usando estilo de script de consola"
 
@@ -9623,21 +9846,21 @@ msgid "Name for output raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "Estadística a utilizar para los valores ráster"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Estadístico"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Tipo de almacenamiento para el mapa ráster resultante"
@@ -9680,17 +9903,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Factor de escala para valores de columna de atributos"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Porcentaje de mapa a mantener en memoria"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "pth percentil de los valores"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9791,8 +10014,8 @@ msgid "Remove existing color table"
 msgstr "Eliminar la tabla de colores existente"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr "Eliminar"
@@ -9838,18 +10061,19 @@ msgstr ""
 "OGR."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Mapa ráster a importar"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 "Nombre de capa OGR. Si no se indica, se importan todas las capas disponibles."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 msgid "Name for output vector map (default: input)"
 msgstr "Nombre para el mapa vectorial de salida (por defecto: el de entrada)"
 
@@ -9869,6 +10093,11 @@ msgstr "Nombre para el mapa vectorial de salida (por defecto: el de entrada)"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9891,10 +10120,15 @@ msgstr "Nombre para el mapa vectorial de salida (por defecto: el de entrada)"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 msgid "Output"
 msgstr "Salida"
 
@@ -9904,29 +10138,30 @@ msgid "Output vector map extent"
 msgstr "Mapa vectorial de salida de errores"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Alinear la región actual al mapa raster de entrada"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Error al leer el archivo ASCII: '%s'"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Umbral de salto para contornos"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "'-1' para sin autoensamblaje"
 
@@ -9942,17 +10177,70 @@ msgid "-1 to list available datum transform parameters"
 msgstr "Número de índice de los parámetros de transformación del Datum"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Listar los formatos soportados y salir"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Listar las capas disponibles en la fuente de datos y salir"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr ""
+"No se pueden obtener unidades de la proyección de la localización actual"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Muestra una barra de escala en el monitor de GRASS."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Crear directorio de mapas si no existe"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Eliminar todos los marcos y borrar la pantalla"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Mostrar directorio de mapas actual y salir"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Mostrar el nombre del monitor seleccionado actualmente y salir"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+"Tamaño y posición como porcentaje de coordenadas de pantalla (0,0 es abajo a "
+"la izquierda)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10113,7 +10401,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10122,7 +10410,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10132,7 +10420,7 @@ msgid "geometry"
 msgstr "vectorial, geometría"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10187,7 +10475,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Número de puntos de interpolación"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10212,16 +10504,16 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Banda a seleccionar (por omisión todas las bandas)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
 msgstr "Memoria máxima a utilizar con -m flag (en MB)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10281,12 +10573,12 @@ msgid "Optional"
 msgstr "Nombre de archivo de salida <%s> no válido"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr ""
 "Forzar los mpas Lat/Lon a encajar en coordenadas geogPosición de pantalla en "
@@ -10384,7 +10676,7 @@ msgstr ""
 "celda."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10398,7 +10690,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Radio de buffer en celdas ráster"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Métrica"
 
@@ -10431,14 +10723,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Actualizar estadísticas del mapa ráster"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10505,6 +10797,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr "Expresión mapcalc espacio temporal"
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10512,7 +10815,8 @@ msgid ""
 msgstr "Listar mapas vectoriales en la localización de entrada y salir"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Selección"
@@ -10556,6 +10860,63 @@ msgstr "Si no se da se usa el nombre del mapa de entrada"
 msgid "Name of table to drop"
 msgstr "Nombre de la columna atributo utilizada para la opción 'consulta'"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Produce un mapa vectorial de contrornos específicado a partir de un mapa "
+"raster."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Contraste"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Incremento entre niveles de contorno"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Lista de niveles de contorno"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Nivel mínimo de contorno"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Nivel máximo de contorno"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "Número mínimo de puntos para una línea de contorno (0 -> sin límite)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Mapas raster de entrada"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "No crear la tabla de atributos"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr "Exporta tablas de atributos a varios formatos."
@@ -10579,6 +10940,20 @@ msgstr "Formato de la tabla"
 msgid "Name for output table (default: input name)"
 msgstr "Nombre para el mapa vectorial de salida (por defecto: el de entrada)"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Convierte mapas ráster 3D en mapas ráster 2D"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Listar mapas vectoriales en la localización de entrada y salir"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 msgid "Creates a space time dataset."
 msgstr "Crea un conjunto de datos espacio temporales."
@@ -10726,6 +11101,65 @@ msgstr ""
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Listar mapas vectoriales en la localización de entrada y salir"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Convierte mapas ráster 3D en mapas ráster 2D"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Hata tipo de elemento"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Nombre de columna de atributos a usar para etiquetas"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "Suavizar esquinas de elementos de áreas"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Cambiando valor para coordenadas Z"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Escribir valores ráster como coordenada Z. No se crea la tabla. Actualmente "
+"sólo soportado para puntos."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "No construir topología"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Usar valores ráster como categorías en vez de secuencia única (sólo CELL)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10736,6 +11170,7 @@ msgid "Vector map to which to join other table"
 msgstr "Mapa vectorial al que unir otra tabla"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr "capa,columna"
 
@@ -10744,6 +11179,7 @@ msgid "Layer where to join"
 msgstr "Capa a la que unir"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 msgid "column"
 msgstr "columna"
 
@@ -10825,7 +11261,6 @@ msgstr "Nombre para el mapa ráster de salida (por omisión: el de entrada)"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11146,6 +11581,10 @@ msgstr ""
 "Valor con el que actualizar la columna (los valores varchar tienen que estar "
 "entre comillas simples, ej.: 'grass')"
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11427,13 +11866,6 @@ msgstr "Nombre de mapa ráster de orientación"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Número de clases a definir"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -11446,23 +11878,33 @@ msgid "Name of vector points map for which to edit attributes"
 msgstr ""
 "Nombre del mapa vectorial de puntos para el que editar la tabla de atributos"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Columna a actualizar con el resultado de la consulta"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Nombre de mapa vectorial a editar"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+#, fuzzy
+msgid "query_layer,query_column"
+msgstr "capa,columna"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "capa,columna"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Nombre de columna de atributos a usar para etiquetas"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr "Distancia máxima de consulta en unidades de mapa"
 
@@ -11503,78 +11945,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Nombre de la extensión a instalar/eliminar"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Listar los módulos disponibles en el respositorio GRASS Addons SVN"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Listar reglas disponibles y salir"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Listar reglas disponibles y salir"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 #, fuzzy
 msgid "List locally installed extensions"
 msgstr "Prefijo donde instalar la extensión"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 msgid "Install"
 msgstr "Instalar"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr "No instalar la nueva extensión, solo compilarla"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr "Forzar eliminar cuando desinstalando la extensión (operation=remove)"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "Tablas de sistema en vez de tablas de usuario"
@@ -11595,20 +12053,26 @@ msgid "Description of the space time dataset"
 msgstr "Nombre de la nueva base de datos"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Nombre de la nueva base de datos"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11627,10 +12091,47 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+#, fuzzy
+msgid "search"
+msgstr "ruta de búsqueda"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Tipos a ser extraídos"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Imprimir en estilo de script de consola"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Formato de salida"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 #, fuzzy
 msgid "Creates a MASK for limiting raster operation."
@@ -11747,8 +12248,9 @@ msgid "multispectral"
 msgstr "multiespectral"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
-msgid "Name for output image"
-msgstr "Nombre para la imagen de salida"
+#, fuzzy
+msgid "Name for output image (or text file for -t)"
+msgstr "Nombre para el archivo imagen de salida (sin extensión)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11765,6 +12267,11 @@ msgstr "Etiquetar con coordenadas en vez de numeración"
 msgid "Use gnuplot for display"
 msgstr "Texto a mostrar"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Archivo de georeferenciación de salida"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11780,10 +12287,6 @@ msgstr ""
 msgid "series"
 msgstr "series"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-msgid "Sort the maps by category"
-msgstr "Ordenar los mapas por categoría"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11885,6 +12388,7 @@ msgstr "Valor ráster"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11900,10 +12404,15 @@ msgstr "Valores ID"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "Valor ráster"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Nombre para el mapa raster de orientación de salida"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11988,10 +12497,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Listar mapas vectoriales en la localización de entrada y salir"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr "Expresión mapcalc espacio temporal"
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12009,7 +12514,7 @@ msgstr "No se puede abrir el mapa ráster <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12520,7 +13025,7 @@ msgid "radiance"
 msgstr "Varianza"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12551,8 +13056,9 @@ msgstr "Nombre del archivo metafile de Landsat (.met o MTL.txt)"
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Metadatos"
 
@@ -12756,8 +13262,8 @@ msgstr "No se puede leer el intervalo del mapa raster <%s>"
 msgid "Calculating..."
 msgstr "Calculando mapas..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14825,21 +15331,21 @@ msgstr "Localización de destino <%s> no encontrada"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "Directorio de mapas <%s> en la localización de destino <%s> - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "permiso denegado"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "no encontrado"
@@ -14940,7 +15446,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15068,7 +15574,7 @@ msgid "Name of target mapset"
 msgstr "Nombre de destino del conjunto de mapas"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 "Asignar la localización y el conjunto de mapas activo como destino del grupo "
 "de imágenes"
@@ -15490,52 +15996,56 @@ msgstr "Clustering no fiable. Prueba un número inicial de clusters menor"
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 msgid "albedo"
 msgstr "albedo"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 msgid "Computes broad band albedo from surface reflectance."
 msgstr ""
 "Nombre de capa ráster del albedo de banda ancha de la reflectancia de la "
 "superficie."
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Título de mapa ráster de salida"
@@ -15711,7 +16221,7 @@ msgid "Starting Inverse FFT..."
 msgstr "Comenzando la transformación inversa FFT..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -16134,7 +16644,7 @@ msgstr "Mi primer módulo ráster"
 msgid "My first vector module"
 msgstr "Mi primer módulo vectorial"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "No se puede abrir el mapa de puntos vectorial de centroides"
@@ -16282,11 +16792,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr "hidrología"
 
@@ -17050,12 +17561,12 @@ msgstr "Filas cambiadas"
 msgid "Cols changed"
 msgstr "Columnas cambiadas"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Mostrar índice"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17064,34 +17575,34 @@ msgstr ""
 "de una (o más) capa(s) de mapa para rellenar áreas \"sin datos\" en otra "
 "capa de mapa."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Nombre de los mapas ráster a parchear juntos"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Nombre para el mapa ráster resultante"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Usar cero (0) para transparencia en vez de NULO"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "El número mínimo de mapas ráster de entrada es dos"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "Porcentaje completo..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "Creando archivos de soporte para el mapa ráster <%s>"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17113,7 +17624,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Nombre del archivo de entrada; o  \"-\" a leer de stdin"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Título para el mapa ráster resultante"
@@ -17547,8 +18058,8 @@ msgstr "No está produciendo ningún archivo site o raster"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "No se puede insertar nueva línea: %s"
@@ -17625,58 +18136,17 @@ msgstr "ráster, elevación"
 msgid "Converts a raster map into a vector map."
 msgstr "Convierte un mapa ráster en una capa de mapa vectorial."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Hata tipo de elemento"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Nombre de columna de atributos a usar para etiquetas"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "Suavizar esquinas de elementos de áreas"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Usar valores ráster como categorías en vez de secuencia única (sólo CELL)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Atributos"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Cambiando valor para coordenadas Z"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Escribir valores ráster como coordenada Z. No se crea la tabla. Actualmente "
-"sólo soportado para puntos."
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "No construir topología"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17716,23 +18186,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "No se puede crear la tabla: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "No se pueden otorgar privilegios sobre la tabla <%s>"
@@ -17775,194 +18247,194 @@ msgstr "No se puede establecer la proyección"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Asignando memoria y leyendo el mapa de entrada..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr ""
 "Reproyecta un mapa ráster desde una localización a la localización actual."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 msgid "Location containing input raster map"
 msgstr "Localización que contiene el mapa raster de entrada"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 msgid "Source"
 msgstr "Fuente"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 msgid "Mapset containing input raster map"
 msgstr "Directorio de mapas que contiene mapa raster de entrada"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 msgid "Default: name of current mapset"
 msgstr "Predeterminado: nombre del directorio de mapas actual"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "Nombre del mapa ráster a reproyectar"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Ruta a la base de datos de GRASS de la localización de entrada"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Nombre para el mapa ráster de salida (por omisión: el de entrada)"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 msgid "Target"
 msgstr "Objetivo"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Resolución del mapa de salida"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 msgid "List raster maps in input mapset and exit"
 msgstr "Enlistar mapas ráster del directorio de mapas de entrada y salir"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 msgid "Print input map's bounds in the current projection and exit"
 msgstr ""
 "Imprimir los límites del mapa de entrada en la proyección actual y salir"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr ""
 "Imprimir los límites del mapa de entrada en la proyección actual y salir (en "
 "el estilo de la consola de comandos UNIX)"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr "Las localizaciones de entrada y salida no pueden ser la misma"
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr "Las localizaciones de entrada y salida son las mismas"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr ""
 "No se puede obtener información de la proyección del mapa ráster de salida"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr ""
 "No se pueden obtener las unidades de la proyección del mapa ráster de salida"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 "No se pueden obtener los valores clave de la proyección del mapa ráster de "
 "salida"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Directorio de mapas <%s> en localización de entrada <%s> - %s"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Comprobando localización <%s> directorio de mapas <%s>"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "Parámetro <%s> requerido no establecido"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr ""
 "No se encuentra el mapa ráster <%s> en la localización <%s> en el directorio "
 "de mapas <%s>"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr "No se puede obtener información de la proyección del mapa de entrada"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "No se pueden obtener las unidades de la proyección del mapa de entrada"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr ""
 "No se pueden obtener los valores clave de la proyección del mapa de entrada"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "No se puede trabajar con datos no proyectados (localización XY)"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "Mapa de entrada  <%s@%s> en localización <%s>:"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Entrada:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Columnas: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Filas: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Norte: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Sur: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Oeste: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Este: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "Resolución Este-Oeste: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "Resolución Norte-Sur: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Salida:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Proyectando..."
 
@@ -18010,7 +18482,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -18023,7 +18495,7 @@ msgstr "ráster, análisis de estructura del paisaje"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -18038,7 +18510,7 @@ msgstr "Mostrar índice"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18188,7 +18660,7 @@ msgstr "Nombre del archivo que contiene el peso para calcular el índice"
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "Calcula el índice de atributo de píxel medio en un mapa ráster"
 
@@ -18608,13 +19080,53 @@ msgstr "incidout requiere que se establezca el parámetro hora local (time)"
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "Modo 2: irradiación diaria integrada para un día determinado del año"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Constante de incremento de difusión"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Escribiendo mapa ráster <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Mapa no válido <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Coste de isolínea incorrecto: %f"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Escribiendo mapa ráster <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Usando coordenadas del centro del mapa: %f %f"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Escribiendo mapa ráster <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 "Si se utiliza -s y no se usan horizontes raster, les particiones numéricas "
 "deben ser = 1"
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
@@ -18622,11 +19134,11 @@ msgstr ""
 "Si quieres guardar memoria y usar sombras, tienes que utilizar horizontes "
 "pre-calculados."
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -19034,7 +19546,7 @@ msgid "cumulative costs"
 msgstr "Un valor de coste acumulativo máximo opcional"
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Localización: %s\n"
@@ -19865,7 +20377,7 @@ msgstr "Valores de elevación negativos en entrada"
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Genera un mapa raster de las subcuencas hidrográficas."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -20059,7 +20571,7 @@ msgstr "Actualizar estadísticas del mapa ráster"
 msgid "Statistics for <%s> updated"
 msgstr "Estadísticas para <%s> actualizadas"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
@@ -20067,15 +20579,15 @@ msgstr ""
 "No se puede convertir la información de la proyección del mapa de entrada al "
 "formato de GRASS para comprobar"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "Ignorando comprobación de proyección"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -20084,26 +20596,27 @@ msgstr ""
 "localización actual.\n"
 "\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "La PROJ_INFO de la localización es:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "La PROJ_INFO del conjunto de datos es:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr ""
 "La información de proyección (PROJ_INFO) del conjunto de datos a importar "
 "es:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20111,7 +20624,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
@@ -20119,9 +20632,9 @@ msgstr ""
 "Considere generar una nueva localización a partir del conjunto de datos de "
 "entrada usando el parámetro 'localización'.\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 "Las proyecciones del conjunto de datos de entrada y de la localización "
@@ -20186,8 +20699,8 @@ msgstr "Creando archivos de soporte para %s"
 msgid "Link to raster map <%s> created."
 msgstr "Link al mapa raster <%s> creado"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20209,14 +20722,14 @@ msgstr "Aplicando rotación horizontal"
 msgid "Applying vertical flip"
 msgstr "Aplicando rotación vertical"
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr "¡Información de la proyección actualizada!"
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 msgid "Region for the current mapset updated"
 msgstr "Actualizada la región para el directorio de mapas actual"
 
@@ -20245,22 +20758,22 @@ msgstr "Nombre de la nueva base de datos"
 msgid "Band to select (default is all bands)"
 msgstr "Banda a seleccionar (por omisión todas las bandas)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Listar los formatos soportados y salir"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr ""
 "Ampliar la extensión de la localización en base a nuevo conjunto de datos"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 "También actualiza la región predeterminada si está en el directorio de mapas "
@@ -20274,13 +20787,23 @@ msgstr "Rotar horizontalmente"
 msgid "Flip vertically"
 msgstr "Rotar verticalmente"
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Listar las capas disponibles en la fuente de datos y salir"
+
+#: ../raster/r.external/main.c:123
+#, fuzzy
+msgid "Format: band number,type,projection check"
+msgstr "Formato: capa tipo cuenta mínimo máximo"
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Se deben facilitar -h o filas= y cols= "
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20289,31 +20812,31 @@ msgstr "Se deben facilitar -h o filas= y cols= "
 msgid "%s= and %s= are mutually exclusive"
 msgstr "weight= y -c son excluyentes mutuamente"
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr "Procediendo con la importación..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "El grupo de imaginería <%s> ya existe y será sobrescrito."
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Leyendo el mapa %s..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "La banda seleccionada (%d) no existe"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, c-format
 msgid "Imagery group <%s> created"
 msgstr "Grupo de imaginería <%s> creado"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Número de puntos de entrada: %d."
@@ -20503,14 +21026,15 @@ msgstr "Nombre para el mapa raster de pendiente de salida"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20810,6 +21334,12 @@ msgstr "weight= y -c son excluyentes mutuamente"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Se requiere la opción <%s>"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "weight= y -c son excluyentes mutuamente"
+
 #: ../raster/r.in.bin/main.c:467
 #, fuzzy, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20883,8 +21413,8 @@ msgid "Importing band %d..."
 msgstr "Importando puntos..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -21003,7 +21533,7 @@ msgstr "Alto (%d) tiene que ser mayor que 1"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, c-format
 msgid "%s cannot be 0"
 msgstr "%s No puede ser 0"
@@ -22059,7 +22589,8 @@ msgstr "Pase: %d..."
 msgid "Unable to write to temp file"
 msgstr "No se pueden crear archivos temporales"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Generando puntos..."
@@ -22106,7 +22637,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Imprimir las estadísticas en estilo de script de consola"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22802,25 +23333,25 @@ msgid "unable to open output file"
 msgstr "no se puede abrir el archivo de salida"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "SECCIÓN 3: Acumulando Flujo de Superficie con SFD."
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "SECCIÓN 3: Acumulando Flujo de Superficie con MFD."
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 "MFD: la proporción acumulativa de la distribución de flujo no es 1.0 sino %f"
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22828,8 +23359,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr "SECCIÓN 3b: Ajustando direcciónes de drenaje."
 
@@ -22939,27 +23470,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "SECCIÓN %d: cerrando mapas."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr "SECCIÓN %d: determinación de cuenca hidrográfica."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "SECCIÓN 1a (de %1d): iniciando memoria."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "SECCIÓN 1b (de %1d): Determinando flujo Offmap."
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22973,21 +23504,31 @@ msgstr "SECCIÓN 4: determinación de la pendiente de la longitud."
 msgid "Closing accumulation map"
 msgstr "no se puede abrir nueva capa de mapa de acumulación."
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Importando puntos..."
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Importando puntos..."
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Importando puntos..."
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Calculando medias de clase ..."
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -23013,181 +23554,186 @@ msgstr "Importando puntos..."
 msgid "Closing half basins map"
 msgstr "no se puede abrir mapa de cuenca/semicuenca"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] "Comenzando SECCIÓN 1: iniciando variables. %d secciones totales."
 msgstr[1] "Comenzando SECCIÓN 1: iniciando variables. %d secciones totales."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr "Memoria máxima a usar era menor que 3 MB, establecer en 3 MB."
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr "Necesitará hasta %.2f MB de espacio en el disco"
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr "Necesitará hasta %.2f GB (%.0f MB) de espacio en el disco"
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr "SECCIÓN 1b (de %1d): determinando flujo Offmap."
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr "Calcula parámetros hidrológicos y factores RUSLE."
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Entrada:"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Nombre del mapa ráster de entrada"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Mapa de entrada: cantidad de flujo superficial por celda"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Nombre del mapa(s) ráster de entrada"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr "Para USLE"
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Mapa de entrada: flujo de superficie "
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Valor de entrada: tamaño mínimo de la cuenca hidrográfica exterior"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Valor de entrada: longitud máxima de flujo de superficie, para USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Mapa de salida: número de celdas que drenan a través de cada celda"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Producir mapa de índice topográfico"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Mapa de salida: se da un valor único a cada semicuenca"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 "Mapa de salida: factor de longitud e inclinación de la pendiente (LS) para "
 "USLE"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Mapa de salida: factor de inclinación de la pendiente (S) para USLE"
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Factor de convergencia para MFD (1-10)"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr "1 = flujo más divergente, 10 = flujo más convergente. Recomendado: 5"
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr "Memoria máxima a utilizar con -m flag (en MB)"
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr "Flujo SFD (D8) (el predeterminado es MFD)"
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr "SFD: dirección de flujo simple, MFD: dirección de flujo múltiple"
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Permitir sólo flujo de agua horizontal y vertical"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "Activar opción de swapping de memoria a disco: funcionamiento lento"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
@@ -23195,35 +23741,35 @@ msgstr ""
 "Solo es necesario si los requisitos de memoria sobrepasan la RAM disponible; "
 "ver manual para calcular los requisitos de memoria"
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 "Utilizar acumulación de flujo positiva incluso para posibles subestimaciones"
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 "Ver manual para una descripción detallada de la salida del flujo acumulado"
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr "Bellas áreas planas"
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 "La dirección del flujo en las áreas planas es modificado para verse más bello"
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "Lo siento, debe elegir un mapa de salida."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s = %s -- de ser un número posiivollll"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -23234,12 +23780,12 @@ msgstr ""
 "    cuenca, corriente, semicuenca, pendiente o IS\n"
 "    DEBE proporcionar un valor para el parámetro de umbral de cuenca."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Localización latitud/longitud no soportada"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "Ha fallado el subproceso con código de salida %d"
@@ -23422,21 +23968,21 @@ msgstr "Norte=%f"
 msgid "Could not read maximum distance. Aborting."
 msgstr "No se pudo leer una distancia máxima. Cancelando."
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr "Los valores de distancia deben ser 0.5-1.5. Abortando."
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "OOPS: cambiadas filas desde %d hasta %d"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "OOPS: cambiadas columnas desde %d hasta %d"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "No se puede leer el intervalo fp del mapa ráster <%s>"
@@ -23639,7 +24185,7 @@ msgstr "Archivo de georeferenciación de salida"
 msgid "Converting <%s>..."
 msgstr "Convirtiendo <%s>..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "Tipo de raster <%s> que no encaja"
@@ -23713,7 +24259,7 @@ msgstr ""
 "ráster."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23729,11 +24275,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "No se puede abrir el mapa ráster <%s>"
@@ -23746,64 +24295,91 @@ msgstr "El mapa raster utilizado para zonificar tiene que ser del tipo CELL"
 msgid "Extended"
 msgstr "Extendido"
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"Usar la misma resolución que en mapa RASTER3D de entrada para los mapas 2D "
+"de salida, independientemente de la configuración de la región actual"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
 "ráster."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "weight= y -c son excluyentes mutuamente"
+
 #: ../raster/r.regression.line/main.c:50
 #, fuzzy
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "Calcula la regresión lineal de dos mapas ráster: y = a + b*x"
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr ""
 "Genera una capa de mapa raster de las distancias a los elementos en la capa "
 "de entrada."
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Nombre para el mapa de distancia de salida"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Nombre para el mapa ráster de salida"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Distancia máxima entre puntos en unidades de mapa"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Distancia máxima a la línea más próxima"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr "Se debe especificar al menos una opción de %s"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr "metrico=geodesic es válido solo para lat/lon"
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Métrica desconocida: [%s]."
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Distancia máxima entre puntos en unidades de mapa"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "No se puede crear archivo temporal <%s>"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23814,71 +24390,78 @@ msgstr "No se puede crear archivo temporal <%s>"
 msgid "Reading raster map <%s>..."
 msgstr "Leyendo el mapa ráster <%s>..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Escribiendo mapa ráster de salida %s... "
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "No se puede leer la tabla de color para el mapa raster <%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "vectorial, metadatos"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Gestiona los valores-NULOS de un determinado mapa raster."
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "mapa ráster 3D para el que modificar los valores nulos"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Lista de valores de celda para establecer a NULO"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "El valor por el que sustituir los valores nulos"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "Hacer el trabajo sólo si el mapa es de coma flotante"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "Hacer el trabajo sólo si el mapa es de enteros"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 "Hacer el trabajo sólo si el mapa es no tiene un archivo de mapa de bits de "
 "valor NULO"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 "Crear archivo de mapa de bits de valor NULO validando todas las celdas de "
 "datos"
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr "Eliminar archivo de mapa de bits de valor NULO"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+#, fuzzy
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+"Crear archivo de mapa de bits de valor NULO validando todas las celdas de "
+"datos"
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
@@ -23887,62 +24470,63 @@ msgstr ""
 "El mapa ráster <%s> es una reclasificación de mapa  <%s@%s>. Considera "
 "generar una copia con r.mapcalc. Saliendo."
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "El mapa raster <%s> no se encuentra en el directorio de mapas  <%s>"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr "no se admite la entrada %s por nula"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "El mapa raster <%s> ya tiene un archivo bitmap nulo"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "<%s> es un mapa raster integer (CELL)"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr ""
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "<%s> es un mapa raster de punto flotante"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Escribiendo nuevo archivo de nulos para el mapa raster  <%s>... "
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "Mapa raster <%s> modificado."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Eliminando archivo de nulos del mapa raster <%s>..."
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s: %s: especificación de valor no admitida"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: especificación de valor no admitida"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Escribiendo nuevos datos del mapa raster <%s> ..."
@@ -23991,7 +24575,7 @@ msgstr "Tipo desconocido: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "No se puede cerrar el mapa ráster <%s@%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "N se puede cerrar el mapa ráster de salida"
 
@@ -24112,21 +24696,26 @@ msgstr "Seed para la generación aleatoria de números"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr "Genera semilla aleatoria (el resultado es no deterministico)"
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Escribiendo mapa..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "weight= y -c son excluyentes mutuamente"
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "Parámetros"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr "Hubo error(es) de coma flotante en el cálculo"
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr "Hubo desbordamiento en el cálculo"
 
@@ -24135,27 +24724,27 @@ msgstr "Hubo desbordamiento en el cálculo"
 msgid "Known functions:"
 msgstr "Funciones conocidas:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Importar un archivo ráster binario a una capa de mapa ráster de GRASS."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Mapa ráster a importar"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Banda a seleccionar (por omisión todas las bandas)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Nombre de destino de la localización de imágenes"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
@@ -24163,89 +24752,101 @@ msgstr ""
 "Nombre de la localización de la que leer la proyección para la "
 "transformación GCPs"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Nombre del mapa ráster de elevación de entrada [metros]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Nombre de la nueva localización a crear"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "vectorial, ráster, tabla de atributos"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Ignorar proyección (usar proyección de la localización)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Imprimir los parámetros de la conexión actual y salir"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Mantener números de banda en vez de usar nombre de color de banda"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "Imprimir tablas y salir"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 "Debe especificar una localización de destino distinta de la localización de "
 "salida"
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "Tienes que especificar el mapa superior e inferior"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr "La '-l' flag sólo funciona en localizaciones Lat/Lon"
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "El número de subrangos tiene que ser igual o mayor que 1"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "No se puede abrir el origen de datos <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "El mapa ráster <%s> ya existe"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 #, fuzzy
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
@@ -24254,15 +24855,15 @@ msgstr ""
 "El mapa ráster de entrada está girado - no se puede importar. Puede usar "
 "'gdalwarp' para transformar el mapa y orientarlo al Norte."
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -24270,101 +24871,106 @@ msgstr ""
 "No se puede convertir la proyección del mapa de entrada a formato GRASS; no "
 "se puede crear la nueva localización."
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "No se puede crear la localización: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Procediendo con la importación..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "No se puede abrir el archivo de firmas"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "No se puede obtener la banda del ráster"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Copiando %d GCP en archivo de puntos para <%s>"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr "Los GCP tiene el siguiente sistema de coordenadas WKT de OpenGIS"
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "Reproyectado la tabla de los GCP:"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "* Proyección de entrada para la tabla de GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "* Proyección de salida para la tabla de GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Error en pj_do_proj (no se puede reproyectar GCP %i)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr ""
 "No se pueden traducir los valores clave de la proyección de los GCP de "
 "entrada"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr ""
 "No se puede obtener información de la proyección de la localización de "
 "destino"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr ""
 "No se pueden obtener las unidades de la proyección de la localización de "
 "destino"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr ""
 "No se pueden obtener los valores clave de la proyección de la localización "
 "de destino"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Escribiendo mapa raster <%s>..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "Creando tabla de grises para <%s> (8bit, periodo completo)"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "Creando tabla de grises para <%s> (16bit,rango de imagen)"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "No se puede abrir el archivo <%s>"
@@ -24605,7 +25211,7 @@ msgstr "Escribiendo mapa vectorial <%s> ..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24960,29 +25566,34 @@ msgstr "Sólo %d unidades%s permitidas"
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "No se puede leer el intervalo fp del mapa ráster <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr "La distancia debe ser >= 0.0"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Generando mapa raster <%s>..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Correlación"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Genera valores de celda aleatorios con dependencia espacial."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Distancia máxima de correlación espacial  (valor >= 0.0)"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Número máximo de columnas a cargar"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 "Seed aleatorio (SEED_MIN >= valor >= SEED_MAX) (por defecto [aleatorio])"
@@ -25440,33 +26051,33 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "Número máximo de iteraciones"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%s: no se puede encontrar recuadro de contorno para líneas"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "Recuadro de contorno:  l = %d, r = %d, t = %d, b = %d"
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr "Pase número %d"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Borrados %d píxeles "
 msgstr[1] "Borrados %d píxeles "
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "Adelgazamiento completado con éxito."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 "Adelgazamiento no completado, considere incrementar el parámetro "
@@ -26566,164 +27177,238 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'%s' debe ser > 0 para '%s'"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "Escaneando datos..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Rango:     mínimo          máximo\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "No se pueden crear archivos temporales"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Crear un mapa ráster a partir de un ensamblaje de muchas coordenadas usando "
 "estadísticas univariantes."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Archivo DXF de entrada"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Archivo que contiene reglas de recodificación"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "No se han encontrado puntos de datos"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Cambiando valor para coordenadas Z"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "vectorial, transformación"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "Rango de filtrado para los datos Z (mínimo, máximo)"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "Escala a aplicar a los datos Z"
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+#, fuzzy
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+"Descartar <trim> porcentaje de las menores y <trim> porcentaje de las "
+"mayores observaciones"
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Se requiere mapa raster de salida"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Se importan los valores enteros"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Se importan los valores enteros"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Imprimir histórico del ráster en vez de información"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "Establecer la región para ajustar este mapa ráster"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
 msgstr ""
-"Ignorar proyección del conjunto de datos (usar proyección de la localización)"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:288
+#, c-format
+msgid "Flag %c makes sense only with %s option or -%c flag"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "El grupo <%s> no existe"
+
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
+msgstr "el rango z no se tendrá en cuenta durante el escaneo"
+
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
 #, fuzzy, c-format
 msgid "Input file <%s> does not exist"
 msgstr "El grupo <%s> no existe"
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
 #, c-format
 msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
-#, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Opción de norma: '%s' desconocida"
-
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"No se puede convertir información de la proyección del mapa de entrada a "
-"formato GRASS para comprobar"
-
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "La información de proyección (PROJ_INFO) de la localización es:\n"
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-#, fuzzy
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr ""
-"Considere generar una nueva localización con el parámetro 'localización' del "
-"conjunto de datos de entrada.\n"
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Opción de norma: '%s' desconocida"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 msgid "Invalid zrange"
 msgstr "rangoz no válido"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr "No es posible calcular el percentil sin especificar la opción pth!"
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-"No es posible calcular la media recortada sin especificar la opción de "
-"recorte!"
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr "el rango z no se tendrá en cuenta durante el escaneo"
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Se requiere la opción <%s>"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr "Leyendo datos ..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "No se puede leer el archivo de intervalo"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "Escribiendo al mapa..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%lu puntos encontrados en la región."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "Escaneando datos..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr "No es posible calcular el percentil sin especificar la opción pth!"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Rango:     mínimo          máximo\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+"No es posible calcular la media recortada sin especificar la opción de "
+"recorte!"
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "No se puede abrir el archivo '%s' para lectura"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "La información de proyección (PROJ_INFO) de la localización es:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+#, fuzzy
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+"Considere generar una nueva localización con el parámetro 'localización' del "
+"conjunto de datos de entrada.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"No se puede convertir información de la proyección del mapa de entrada a "
+"formato GRASS para comprobar"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26957,12 +27642,6 @@ msgstr "Rescalar %s[%d,%d] a %s[%d,%d]"
 msgid "Header File = %s"
 msgstr "Archivo de cabecera = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "No se puede crear el archivo <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27787,6 +28466,13 @@ msgstr "Por favor, especifique un número razonable de líneas a saltar"
 msgid "Invalid vrange"
 msgstr "rangoz no válido"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27844,6 +28530,11 @@ msgstr "Coordenada Y incorrecta línea %lu columna %d. <%s>"
 msgid "Writing to output raster map..."
 msgstr "Escribiendo mapa ráster de salida %s... "
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr "%lu puntos encontrados en la región."
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr ""
@@ -28218,27 +28909,27 @@ msgstr "Crear archivo 3D"
 msgid "Delete the null file"
 msgstr "No se puede abrir el archivo de firmas"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "Tabla de categorías de [%s] establecida a %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] es una reclasificación de otro mapa. Saliendo."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Escribiendo nuevo archivo de nulos para [%s]... "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Eliminando archivo de nulos de [%s]...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Terminado."
 
@@ -28275,32 +28966,12 @@ msgstr ""
 "Produce un mapa vectorial de contrornos específicado a partir de un mapa "
 "raster."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Incremento entre niveles de contorno"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Lista de niveles de contorno"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Lista de niveles de contorno"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Nivel mínimo de contorno"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Nivel máximo de contorno"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "Número mínimo de puntos para una línea de contorno (0 -> sin límite)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -28311,29 +28982,31 @@ msgstr "Se debe especificar el valor umbral"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "No se puede crear la tabla: '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "No se puede crear el índice para la tabla <%s>, clave <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "Escribiendo atributos..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "No se pueden insertar nuevos registros: '%s'"
@@ -29168,10 +29841,6 @@ msgstr "Nombre del mapa vectorial de puntos de entrada"
 msgid "Size of point cache"
 msgstr "Tamaño del caché de punto"
 
-#: ../raster/r.what/main.c:141
-msgid "Output header row"
-msgstr "Cabecera de fila de salida"
-
 #: ../raster/r.what/main.c:146
 msgid "Show the category labels of the grid cell(s)"
 msgstr "Mostrar las etiquetas de categoría de la celda(s) de cuadrícula"
@@ -29487,7 +30156,8 @@ msgstr "Tipo de columna no soportado (debe ser cadena)"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "No se pueden seleccionar datos de la tabla"
 
@@ -30134,11 +30804,11 @@ msgstr ""
 msgid "3D Raster map <%s> not found"
 msgstr "Mapa ráster 3D <%s> no encontrado"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Error mientras se leía archivo de historia"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -30336,6 +31006,40 @@ msgstr ""
 msgid "Update range"
 msgstr "Rango de datos de salida"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Varianza"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+"Combina mapas raster rojos, verdes y azules en una sola composición de mapa "
+"raster."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Nombre para el mapa(s) raster de salida"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "Tamaño del caché de punto"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "No se puede asignar memoria"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Escribiendo nuevo mapa ráster..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30515,6 +31219,150 @@ msgstr "Fecha y hora, fecha1/fecha2 o ninguna"
 msgid "Timestamp format is invalid"
 msgstr "Formato de indicador de tiempo desconocido: "
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Por favor, proporciona tres mapas RGB G3D"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Mapa vectorial <%s> no encontrado"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Calculando direcciones de flujo..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr ""
+"Nombre del mapa vectorial de puntos para el que editar la tabla de atributos"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Nombre de mapa vectorial a editar"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Nombre para el mapa ráster de salida"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Nombre del mapa(s) raster para el brillo"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "longitud %f\n"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Número de iteraciones"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr ""
+"Anchura de corriente (en metros). Por defecto es la anchura de celda ráster."
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "vectorial, interpolación"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "No se ha especificado ningún mapa raster"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "La base de datos por defecto no está asignada"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Número máximo de iteraciones"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Número máximo de iteraciones"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "Número de celdas entre líneas de flujo"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "No se puede describir la tabla<%s>"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "El mapa vectorial <%s> no es 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Error leyendo datos"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Costes para isolíneas"
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -31048,6 +31896,60 @@ msgstr "Construyendo topología para el mapa vectorial de errores..."
 msgid "Failed to find intersection segment"
 msgstr "No se pudo interpretar la anchura como entero"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "No se puede insertar en la tabla: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "No se puede abrir el mapa vectorial <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "La tabla <%s> no existe en la base de datos <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "La capa OGR <%s> ya existe y será sobrescrita"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "La capa OGR <%s> ya existe y será sobrescrita"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "No se puede crear el mapa vectorial <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "No se puede abrir la base de datos <%s> por el controlador <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "No se puede crear la tabla <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "No es posible copiar tabla de atributos al mapa vectorial <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "No se puede crear la tabla <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -31079,7 +31981,7 @@ msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 "Requerido para la operación 'conectar'. Conectar puntos en el umbral dado."
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -31093,8 +31995,8 @@ msgstr "Nombre del mapa vectorial de puntos de entrada"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr "Requerido para la operación 'conectar'"
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr "Nodos"
 
@@ -31122,81 +32024,122 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "Encuentra la ruta más corta en una red vectorial."
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Ninguna tabla"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 "Requerido para la operación 'conectar'. Conectar puntos en el umbral dado."
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Nombres de los archivos de entrada"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Requerido para la operación 'conectar'"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "Asignar categorías únicas a nuevos puntos"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr "Para la operación 'nodos'"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Mapa vectorial de puntos final"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Capa de líneas"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr "Operación no conocida"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "El valor umbral debe ser >=0"
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Realiza el mantenimiento de redes."
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "Realiza el mantenimiento de redes."
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "No se puede abrir el mapa vectorial <%s> en el nivel topológico %d"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d puntos nuevos escritos en la salida"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "%ld bytes escritos a '%s'"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "Copiando atributos..."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr "Error al copia tabla de atributos al mapa de salida"
@@ -31216,8 +32159,9 @@ msgstr "%d puntos no encontrados: %.3lf %.3lf %.3lf categoría de línea: %d"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr "Nodo duplicado en x=%g y=%g z=%g "
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "Puntos"
@@ -31250,9 +32194,9 @@ msgstr "Nombre de la columna que contiene las coordenadas Y"
 msgid "Name of column containing z coordinate"
 msgstr "Nombre de la columna que contiene las coordenadas Z"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr "Salida 3D"
 
@@ -31471,13 +32415,13 @@ msgstr ""
 "En el modo de red, multiplicar el resultado por el número de puntos de "
 "entrada."
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "El vectorial <%s> ya existe y será sobrescrito"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "El mapa vectorial <%s> ya existe"
@@ -31680,17 +32624,17 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr "Hacer las esquinas externas rectas"
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "No mostrar números de categoría"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Imprime atributos de mapa vectorial."
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
@@ -31698,13 +32642,13 @@ msgstr ""
 "Nota: en coordenadas latitud-longitud especifique distancias en unidades de "
 "grado"
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 "Selecciona una distancia al buffer/ menor distancia/ ángulo o columna pero "
 "no ambo."
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31712,160 +32656,160 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr "La opción bufcol requiere una capa válida."
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 msgid "The tolerance must be > 0."
 msgstr "La tolerancia tiene que ser > 0."
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Se restableció la tolerancia a %g"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 msgid "Illegal scale value"
 msgstr "Valor de escala no permitido"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr "La tolerancia en unidades de mapa= %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "No se puede leer el mapa vectorial"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "No se pueden seleccionar datos de la tabla <%s>"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Tipo de columna no soportado"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr "Realizando buffer a las áreas..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "No hay registro para la categoría %d en la tabla <%s>"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Atributo de tamaño no válido (%.3f) para la categoría %d"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "La tolerancia en unidades de mapa: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 msgid "Buffering features..."
 msgstr "Realizando buffer a los elementos..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr "Distancias negativas solo están permitidas para áreas"
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 msgid "Cleaning buffers..."
 msgstr "Limpiando buffers..."
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "Construyendo partes de la topología..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr "Autoensamblando contornos..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 msgid "Breaking polygons..."
 msgstr "Rompiendo polígonos..."
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "Eliminando duplicados..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "Rompiendo los bordes..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 msgid "Cleaning boundaries at nodes"
 msgstr "Limpiando límites en nodos"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Eliminar balanceos"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 msgid "Removing bridges..."
 msgstr "Eliminando puentes..."
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Adjuntando islas..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 msgid "Calculating centroids for all areas..."
 msgstr "Calculando centroides para todas las áreas..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Imposible calcular el centroide del área"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Generando lista de contornos a eliminar..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 msgid "Deleting boundaries..."
 msgstr "Eliminando contornos..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 msgid "Calculating centroids for areas..."
 msgstr "Calculando centroides para áreas..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "No se puede calcular el centroide para el área %d"
@@ -32246,7 +33190,7 @@ msgstr "Falló %s"
 msgid "Not enough disk space--cannot write files"
 msgstr "%d bytes de espacio en disco para archivos temporales."
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 msgid "point pattern"
@@ -32293,11 +33237,12 @@ msgstr "Calcula puentes de unión y puntos de articulación en la red."
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -32308,27 +33253,27 @@ msgstr "Calcula puentes de unión y puntos de articulación en la red."
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr "Coste"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr "Columna de coste de nodos (número)"
 
@@ -32354,13 +33299,13 @@ msgstr "Tipo de elemento"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "No se puede generar una gráfica para mapa vectorial <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 "Asigna subredes para los centros más próximos (dirección a partir del "
 "centro)."
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
@@ -32368,7 +33313,7 @@ msgstr ""
 "nodo central debe estar abierto (costos >=0). Los costos del nodo central se "
 "usan en los cálculos."
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 #, fuzzy
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
@@ -32377,26 +33322,44 @@ msgstr ""
 "Categorías de los centros (puntos en nodos) a los que se asignará la red. La "
 "capa para estas categorías es dada por la opción nlayer"
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Capa/tabla"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 msgid "Point is not connected to the network"
 msgstr "El punto no está conectado a la red"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "Número de centros: [%d] (nlayer: [%d])"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr "Centros insuficientes para la nlayer seleccionada. Nada se asignará."
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 msgid "Calculating costs from centers ..."
 msgstr "Calculando costos a partir de los centros..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr ""
 "No se puede obtener el segmento de línea, el segmento está fuera de la línea"
@@ -32739,76 +33702,76 @@ msgstr ""
 "atributos"
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 msgid "Import failed"
 msgstr "Falló importación."
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 msgid "Generates random 2D/3D vector points."
 msgstr "Genera puntos vectoriales aleatorios 2D/3D."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "Número de puntos a crear"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 msgid "Restrict points to areas in input vector"
 msgstr "Restringir puntos a áreas del vectorial de entrada"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "Altura z mínima (-z flag o column name)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "Altura z máxima (necesita -z flag o column name)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 msgid "Name of column for z values"
 msgstr "Nombre de la columna para valores z"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 msgid "Writes z values to column"
 msgstr "Escribe valores z a la columna"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 msgid "Type of column for z values"
 msgstr "Tipo de columna para valores z"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Crear salida 3D"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 msgid "Generate n points for each individual area"
 msgstr "Genera n puntos para cada área individual"
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "El número de puntos debe ser > 0 (%d dados)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, c-format
 msgid "No areas in vector map <%s>"
 msgstr "No hay áreas en mapa vectorial <%s>"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "La opción <-%c> necesita de entrada un vectorial con áreas"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr "La tabla tendría que contener sólo dos columnas"
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
@@ -32816,7 +33779,7 @@ msgstr ""
 "Has creado un tipo de columna que no puede soportarse. Este módulo soporta "
 "sólo tipos de columna INTEGER i DOUBLE PRECISION."
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
@@ -32824,12 +33787,12 @@ msgstr ""
 "Áreas seleccionadas del vectorial de entrada <%s> no se sobrelapan con la "
 "región actual"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "El vectorial de entrada <%s> no se sobrelapa con la región actual"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "Generando puntos..."
 
@@ -33023,6 +33986,158 @@ msgstr "Imposible actualizar la base de datos"
 msgid "Impossible to write in the database"
 msgstr "Imposible escribir en la base de datos"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+msgid "generalization"
+msgstr "generalización"
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Clasificación de puntos"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "No se han encontrado puntos de datos"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Se importan los valores enteros"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Se importan los valores enteros"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> número de puntos no válido"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Valor de toleracia máximo"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Número de puntos vértice horizontales  porrr"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Número de puntos vértice horizontales  porrr"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "desviación estándar"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "rangoz no válido"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -33100,7 +34215,7 @@ msgstr "Tablas de sistema en vez de tablas de usuario"
 msgid "Force 2D output even if input is 3D "
 msgstr "Forzar salida de valores enteros"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -33322,6 +34437,183 @@ msgstr "No se pueden seleccionar los atributos"
 msgid "Labeled %d lines."
 msgstr "Etiquetadas %d líneas."
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "No se han encontrado puntos de datos"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "ráster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d grupos."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Separación de clúster"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Nombre del mapa vectorial de entrada"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Distancia máxima a la red"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Número mínimo de píxeles en una clase"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Separación de clúster"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "¡El número de clases deber ser < 256!"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "El tamaño del vecindario debe ser positivo"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "lugares."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "No se encontraron puntos, se salta el tipo=punto"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Creando centroides..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s = %s -- de ser un número posiivollll"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Usando la distancia máxima entre puntos: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "No se encontraron mapas raster"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Distancia máxima a la línea más próxima"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, fuzzy, c-format
+msgid "Mean: %g"
+msgstr "Media = %.5lf"
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Desviación estándar"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Usando la distancia máxima entre puntos: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Encontrando ruta de coste..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr "npoints = %d, nterrain = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "No se encontraron líneas, omitiendo %s"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Escribiendo mapa ráster de salida %s... "
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Leyendo entradas..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "No se han encontrado puntos de datos"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+#, fuzzy
+msgid "Core density ..."
+msgstr "vectorial, densidad de kernel"
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%d clases encontradas"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%d clases encontradas"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr "Convierte puntos GRASS x,y,z al formato POV-Ray x,z,y."
@@ -33396,7 +34688,7 @@ msgstr ""
 "capa %d:"
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33704,14 +34996,8 @@ msgstr "Ninguna fuente seleccionada"
 msgid "Loading data..."
 msgstr "Cargando datos..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "El mapa vectorial <%s> no es 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Columna <%s> no encontrada"
@@ -33767,17 +35053,17 @@ msgid "Color can be updated from database only if use=attr"
 msgstr ""
 "El color se puede actualizar desde la base de datos sólo si uso=atributo"
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "Áreas convertidas: %d de %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "Puntos/líneas convertidos: %d de %d"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "Leyendo areas..."
 
@@ -33947,82 +35233,82 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Opción '%s' desconocida"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr "vendedor"
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 "Crea una ruta circular que conecta los nodos indicados (Problema del "
 "vendedor viajero)"
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 #, fuzzy
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr "Tenga en cuenta que el PVV es"
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+"Categorías de puntos ('ciudades') en los nodos (la capa es especificada por "
+"nlayer)"
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr "Capa de nodos (usada para ciudades)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "Delante del arco/ ambas direcciones de la columna de coste (número)"
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Nombre para el archivo de salida (si se omite o \"-\" salida a stdout)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-"Categorías de puntos ('ciudades') en los nodos (la capa es especificada por "
-"nlayer)"
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Número de ciudades: [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "Ciudades insuficientes (<2)"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Creando centroides..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "Ningún punto con categoría [%d]"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Ningún registro para el punto (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "El nodo de destino [%d] no se puede alcanzar desde el nodo [%d]"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr "Buscando el ciclo más corto..."
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "No se puede abrir el archivo <%s> para escribir"
@@ -34193,6 +35479,21 @@ msgstr "Seleccione tipo: línea o área"
 msgid "Densify lines using region resolution"
 msgstr "Densificar las líneas usando la resolución de la región"
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr " Se requieren 4.parámetros para el parámetro 'espacial'"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Opción de norma: '%s' desconocida"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Ignorando comprobación de proyección"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -34327,7 +35628,7 @@ msgid "Processing features..."
 msgstr "Procesando elementos..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "No es posible calcular el centroide de área"
 
@@ -34395,7 +35696,7 @@ msgstr "Valor mínimo (%d) está fuera del rango %d,%d"
 msgid "Max value (%d) is out of range %d,%d"
 msgstr "Valor máximo (%d) está fuera del rango %d,%d"
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "No se puede usar columna <%s>"
@@ -34810,7 +36111,7 @@ msgstr "No hay registro para la categoría [%d]"
 msgid "%d records updated"
 msgstr "%d registros actualizados"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34920,10 +36221,9 @@ msgstr "Operador desconocido"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "a"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
-msgstr "Trasponiendo la matriz de valores propios..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
+msgstr "Transformando elementos..."
 
 #: ../vector/v.transform/main.c:290
 #, fuzzy, c-format
@@ -35378,7 +36678,7 @@ msgstr "Error al abrir el mapa ráster 3D <%s>"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Tipo de columna no soportado (debe ser cadena)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Leyendo datos del mapa..."
@@ -35463,6 +36763,10 @@ msgstr ""
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Columnas"
 
@@ -35529,57 +36833,62 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Imprimir valores medios en vez de intervalos"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Columna <%s> no encontrada en la tabla <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "El tipo ráster es entero y el tipo de columna es coma flotante"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "El tipo ráster es coma flotante y el tipo de columna es entero, ¡¡algunos "
 "datos perdidos!!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "Encontradas %d líneas o contornos en el mapa vectorial <%s@%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d puntos fuera de la región actual fueron omitidos"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr "%d puntos sin categoría fueron omitidos"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "Más puntos (%d) de categoría %d, el valor se establece a 'NULO'"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d categorías cargadas del vectorial"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d categorías duplicadas en el vectorial"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d categorías cargadas de la tabla"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d categorías del vectorial faltan en la tabla"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d registros actualizados"
@@ -36467,53 +37776,63 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "Imprime atributos de mapa vectorial."
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "Hasta condiciones WHERE de sentencia SQL sin palabra clave 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Separador de registros vertical de salida"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 "Imprimir la extensión mínima de la región de los elementos vectoriales "
 "seleccionados en lugar de los atributos"
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Región\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Poblar valores de base de datos a partir de elementos vectoriales."
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "No se puede abrir el mapa vectorial <%s> en el nivel topológico %d"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "No se puede abrir el cursor de selección"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "No se pueden recuperar datos de la tabla <%s>"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "No se puede obtener el encuadre -bounding box- de area %d"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "No se ha podido obtener el encuadre de línea %d"
@@ -36806,7 +38125,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d registros seleccionados de la tabla"
 msgstr[1] "%d registros seleccionados de la tabla"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "No se puede crear la tabla <%s>"
@@ -36833,7 +38152,7 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Consultando base de datos... "
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
@@ -36843,14 +38162,14 @@ msgstr ""
 "demasiadas categorías de consulta (%d). Todos los valores anteriores "
 "informados para la categoría 0 no son válidos."
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 "Múltiples resultados de la consulta, valores de salida establecidos a NULO "
 "(categoría [%d])"
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr "No se puede recuperar el registro"
 
@@ -36866,6 +38185,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "No se encuentra la tabla de color del mapa raster <%s>"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Actualizando base de datos..."
@@ -37149,7 +38473,8 @@ msgstr "Calculando distancias geométricas en lugar de los datos de la tabla."
 msgid " Database connection not defined for layer <%s>"
 msgstr "La conexión a la base de datos no ha sido definida para la capa %d"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Tipo de columna no soportado"
@@ -37168,54 +38493,54 @@ msgstr "[%d] puntos sin categoría (nfield: [%d])"
 msgid "Wrong input format: %s"
 msgstr "Formato de entrada incorrecto: %s"
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "Ningún punto con categoría [%d]"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 "El punto con categoría [%d] no es alcanzable desde el punto con categoría "
 "[%d]"
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr "El punto %f,%f no es alcanzable desde el punto %f,%f"
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] errores de formato de entrada"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr "Faltan [%d] puntos de la categoría dada"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr "Destino(s) %d inalcanzable(s) (incluyendo puntos fuera del umbral)"
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "Encuentra la ruta más corta en una red vectorial."
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 "Nombre del archivo que contiene los puntos inicial y final. Si no se indica, "
 "se leerá de stdin."
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr "Distancia máxima a la red"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
@@ -37225,7 +38550,7 @@ msgstr ""
 "de este umbral, la ruta no se encuentra y se imprime un mensaje de error. "
 "Para acelerar el proceso, mantenga este valor lo más bajo posible."
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 "Escribir la salida como los segmentos de entrada originales, no cada ruta "
@@ -37831,46 +39156,50 @@ msgstr "Número máximo de puntos en un segmento"
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr "Aplica solo para la opción 'length'"
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Escribir vértices de líneas"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "El suavizado debe ser un valor positivo"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Tipo de columna '%s' desconocido"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "No se pueden obtener las unidades de la proyección del mapa de entrada"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "longitud %f\n"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "longitud %f\n"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "¡El número de clases deber ser < 256!"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -37975,10 +39304,6 @@ msgstr "La columna tiene que ser numérica"
 msgid "Reading categories..."
 msgstr "Adjuntando categorías..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Transformando elementos..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -38160,7 +39485,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Interpolar puntos entre vértices de líneas"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "No se puede copiar la tabla <%s>"
@@ -38433,118 +39758,118 @@ msgstr ""
 "Para definir una nueva conexión tiene que especificar estos parámetros: "
 "controlador, base de datos, tabla [, clave [, capa]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr ""
 "Reproyecta un mapa vectorial desde una localización a la localización actual."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "Localización que contiene el mapa vectorial de entrada"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "Conjunto de mapas que contiene el mapa vectorial de entrada"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Nombre del mapa ráster a reproyectar"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Conjunto de mapas que contiene el mapa vectorial de entrada"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 msgid "List vector maps in input mapset and exit"
 msgstr "Enlistar mapas vectoriales del directorio de mapas y salir"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "Sólo mapas vectoriales 3D"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 #, fuzzy
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 "Asumir que la coordenada Z es altura elipsoidal y transformara si es posible"
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "No se encontraron mapas raster"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr ""
 "No se encuentra el mapa vectorial <%s> en la localización <%s> en el "
 "directorio de mapas <%s>"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 "Directorio de mapas <%s> en la localización de entrada <%s> - permiso "
 "denegado"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr ""
 "Directorio de mapas <%s> en la localización de entrada <%s> no encontrado"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "Leyendo mapa vectorial de entrada"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "El mapa vectorial de entrada <%s> no és 3D!"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr "Error en pj_do_transform"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Reproyectado la tabla de los GCP:"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "No se puede abrir el mapa vectorial <%s@%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Crear una capa de mapa vectorial nueva combinando otras capas de mapas "
 "vectoriales."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
@@ -38552,100 +39877,121 @@ msgstr ""
 "Nombre para el mapa vectorial de salida en el que se escriben los recuadros "
 "de límites de los mapas vectoriales de entrada"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "No construir topología"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
-"Añadir archivos al existente (debe estar activada la sobrescritura de "
-"archivos existentes)"
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "Copiar también la tabla de atributos"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr "Actualmente sólo está soportada la tabla de la capa 1"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+"Añadir archivos al existente (debe estar activada la sobrescritura de "
+"archivos existentes)"
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Falta la tabla"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "Diferencia de columnas clave"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "Diferencia de número de columnas"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "Diferencia de nombres de columnas"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "Diferencia de tipos de columnas"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr "Diferencia de columnas de longitud de cadenas"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Columna clave no encontrada"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "El mapa de salida no es 3D"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Parcheando el mapa vectorial <%s@%s>..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 "Error al leer el mapa vectorial <%s> - algunos datos pueden no ser correctos"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Construyendo topología para el mapa vectorial <%s>..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr "Las intersecciones en los bordes tendrán que autoensamblarse"
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr "Las líneas comunes entre archivos tendrán que ser editadas"
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr "La información de la cabecera también puede que tenga que ser editada"
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr "%d mapas vectoriales parcheados"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "No se puede abrir el cursor de selección: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "No se puede recuperar la fila"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Tipo de columna desconocido"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "No se puede insertar nuevo registro: '%s'"
@@ -39314,17 +40660,13 @@ msgstr[1] "%d áreas eliminadas"
 msgid "Operation not implemented"
 msgstr "Operación no implementada"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr ""
 "Importa datos vecotriales a mapas vectoriales de GRASS usando la librería "
 "OGR."
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "Nombre del origen de datos OGR"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
@@ -39334,7 +40676,7 @@ msgstr ""
 "\tShapefile de ESRI: directorio que contiene shapefiles\n"
 "\tArchivo MapInfo: directorio que contiene archivos MapInfo"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -39344,45 +40686,45 @@ msgstr ""
 "\t\tShapefile ESRI: nombre del shapefile\n"
 "\t\tArchivo MapInfo: nombre del archivo MapInfo"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "Importar sólo la subregión"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "Formato: xmin,ymin,xmax,ymax - normalmente W,S,E,N"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Tamaño mínimo del área a importar (unidades cuadradas)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 "Las áreas más pequeñas y las islas se ignorarán. Debería ser mayor que snap²"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr "Cambiar opcionalmente el tipo de entrada por defecto"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 msgid "import area centroids as points"
 msgstr "importa centroides de áreas como puntos"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 msgid "import area boundaries as lines"
 msgstr "importa bordes de área como líneas"
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 msgid "import lines as area boundaries"
 msgstr "importa líneas como bordes de áreas"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 msgid "import points as centroids"
 msgstr "importa puntos como centroides"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -39390,168 +40732,170 @@ msgstr ""
 "Lista de nombres de columna a usar en vez de los originales. El primero se "
 "usa para la columna de categoría"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 msgid "Name of column used for categories"
 msgstr "Nombre de la columna para categorías"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 msgid "Name of geometry column"
 msgstr "Nombre de la columna de geometría"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "Si no se da se usa el nombre del mapa de entrada"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "No limpiar polígonos (no recomendado)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "Forzar salida de valores enteros"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "Limitar importación a la región actual"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "Cambiar nombres de columna a minúsculas"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "No se puede abrir el origen de datos <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "La posición del cursor no está soportada por el controlador MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, fuzzy, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr "El origen de datos contiene %d capas:"
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "Capa <%s> no disponible"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Capa <%s> no disponible"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "No se puede obtener información de la capa para el mapa vectorial <%s>"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Columna <%s> no encontrada en la tabla <%s>"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr "Seleccionar la opción región actual o la opción espacial, no ambas"
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr " Se requieren 4.parámetros para el parámetro 'espacial'"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Distancia de división de límites en unidades de mapa: %G"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Columna clave '%s' no encontrada"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "La columna clave debe ser de tipo integer"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Columna <%s> no encontrada en la tabla <%s>"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+"Escribiendo columna <%s> con longitud fija de %d caracteres (puede quedar "
+"truncada)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 "Escribiendo columna <%s> con longitud fija de %d caracteres (puede quedar "
 "truncada)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -39560,67 +40904,67 @@ msgstr ""
 "Anchura para la columna %s establecida a 255 (no fue especificada por OGR). "
 "¡Algunas cadenas pueden quedar truncadas!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 "Escribiendo la columna %s con longitud fija de %d caracteres (puede quedar "
 "truncada)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Tipo de columna no soportado (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Importando elementos %d del mapa..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s sin geometría"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Rompiendo polígonos..."
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Ajustar contornos (umbral = %.3e):"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "Limpiando límites y nodos..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Rompiendo los bordes..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Cambiar nodos colgantes de los contornos a líneas:"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Cambiar puentes de contornos a líneas:"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Encontrar centroides para capa: %s"
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "Escribiendo centroides..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39632,99 +40976,99 @@ msgstr ""
 "la tabla de atributos. El número de elementos para estas áreas se guarda "
 "como categoría en la capa %d"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr "%d polígonos de entrada\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d polígonos de entrada"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Área total: %G (%d areas)\n"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Área total: %G (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Área solapada: %G (%d areas)\n"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Área solapada: %G (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Área sin categoría: %G (%d areas)\n"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Área sin categoría: %G (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Umbral de salto para contornos"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "No se puede eliminar la tabla: %s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -39773,17 +41117,21 @@ msgstr "No se puede escribir parte de la geometría"
 msgid "Unknown geometry type"
 msgstr "Tipo de geometría desconocido"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Nombre para la tabla de salida"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Archivo raster a ser enlazado"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39795,21 +41143,21 @@ msgstr ""
 "\t\tShapefile ESRI: nombre del shapefile\n"
 "\t\tArchivo MapInfo: nombre del archivo MapInfo"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Nombre para el mapa vectorial de salida (por defecto: el de entrada)"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 msgid "List available layers in data source and exit"
 msgstr "Listar las capas disponibles en la fuente de datos y salir"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Listar las capas disponibles en la fuente de datos y salir"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 #, fuzzy
 msgid "Format: layer name,type,projection check,geometry"
 msgstr "Formato: capa tipo cuenta mínimo máximo"
@@ -39872,17 +41220,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "Crea un nuevo vectorial como un enlace de sólo lectura a una capa OGR."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "No se puede borrar la línea %d"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "No se puede crear el archivo '%s/%s'"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, c-format
 msgid "Link to vector map <%s> created."
 msgstr "Liga al mapa vectorial <%s> creada."
@@ -40023,16 +41371,16 @@ msgstr "No se puede crear el mapa de salida"
 msgid "Unable to close new 3d raster map"
 msgstr "No se puede cerrar el nuevo mapa ráster 3D"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "Líneas"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "Divide la red por isolíneas de costes."
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 #, fuzzy
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
@@ -40043,43 +41391,43 @@ msgstr ""
 "centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo "
 "central se usan en el cálculo."
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "Costes para isolíneas"
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr "Coste de isolínea incorrecto: %f"
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr "Coste de isolínea: %f menor que el anterior"
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr "Coste de isolínea %d: %f"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr "Costes insuficientes, todo lo alcanzable caen en la primera banda"
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr "Centro en nodo cerrado (coste = -1) ignorado"
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "Número de centros: %d (nlayer %d)"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr "Centros insuficientes para la nlayer seleccionada. Nada se asignará."
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Calculando costes desde el centro %d..."
@@ -40256,6 +41604,139 @@ msgstr ""
 "Nota: Se incluye un mínimo de una primera clase\n"
 "\n"
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "La conexión a la base de datos no ha sido definida para la capa %d"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "No hay registro para la categoría [%d]"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "No hay registro para la categoría [%d]"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Columna <%s> no encontrada"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Generar puntos vectoriales como puntos 3D"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Convertir capas vectoriales OGR a mapas vectoriales de GRASS."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Número de capa (desde)"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld categorías"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Número o nombre de la capa (vectorial)"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Número o nombre de la capa (vectorial)"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Número de capa a la que añadir la columna(s)"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Número de capa a la que añadir la columna(s)"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Número de capa a la que añadir la columna(s)"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "La columna tiene que ser numérica"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr ""
+"Nombre de la columna de definición de color (para usar con la opción -a)"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "No se puede leer el color"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "Escala a aplicar a los datos Z"
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "Escala a aplicar a los datos Z"
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Limitar importación a la región actual"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "tabla de colores"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -40448,7 +41929,7 @@ msgstr "Seleccionando elementos..."
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> número de puntos no válido"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Se debe especificar al menos una opción de %s"
@@ -40769,50 +42250,237 @@ msgstr "No hay datos en esta subregión. Considerar cambiar el paso de spline."
 msgid "Auxiliary table could not be dropped"
 msgstr "La tabla auxiliar no se pudo eliminar"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "No se puede abrir el mapa vectorial <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "No se puede abrir la base de datos <%s> por el controlador <%s>"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Convertir capas vectoriales OGR a mapas vectoriales de GRASS."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Subregión"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Número o nombre de la capa (vectorial)"
 
-#: ../vector/v.in.lidar/main.c:606
-#, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "No se puede abrir la base de datos <%s> por el controlador <%s>"
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Número de capa a la que añadir la columna(s)"
 
-#: ../vector/v.in.lidar/main.c:640
-#, c-format
-msgid "Scanning %d points..."
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Nombre del mapa vectorial de entrada de puntos esparcidos"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Nombre del mapa vectorial de entrada"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Se importan los valores enteros"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Correlación"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Se importan los valores enteros"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Importando puntos..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> número de puntos no válido"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Mapa vectorial de entrada que contiene puntos"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Coordenadas de puntos seed"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Imprimir la salida a stdout, no actualizar tabla de atributos"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
+#, fuzzy, c-format
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Número de capa (desde)"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
 msgstr "Explorando %d puntos..."
 
-#: ../vector/v.in.lidar/main.c:807
-#, c-format
-msgid "%d points imported"
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
+msgstr "Explorando %d puntos..."
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
 msgstr "%d puntos importados"
 
-#: ../vector/v.in.lidar/main.c:810
-#, c-format
-msgid "%d input points were not valid"
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d puntos importados"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
 msgstr "%d puntos de entrada no fueron válidos"
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d puntos de entrada estuvieron fuera del área seleccionada"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d puntos de entrada estuvieron fuera del área seleccionada"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d puntos fuera del umbral"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d puntos fuera del umbral"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d puntos fuera del umbral"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d puntos fuera del umbral"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d puntos importados"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d puntos importados"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d puntos de entrada no fueron válidos"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
 msgstr "%d puntos de entrada estuvieron fuera del área seleccionada"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:787
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d puntos de entrada estuvieron fuera del área seleccionada"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
 msgstr "%d puntos fuera del umbral"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:791
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were filtered out by class number"
 msgstr "%d puntos fuera del umbral"
 
+#: ../vector/v.in.lidar/main.c:793
+#, fuzzy, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr "%d puntos fuera del umbral"
+
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "%d puntos de entrada estuvieron fuera del área seleccionada"
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d puntos fuera del umbral"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "El último punto será ignorado"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40978,7 +42646,7 @@ msgstr ""
 "Nombre del mapa vectorial donde se escriben elementos vectoriales erróneos"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr "Construir topología o volcar topología o índices a salida estandar"
 
 #: ../vector/v.build/main.c:65
@@ -42070,10 +43738,6 @@ msgstr "No se puede calcular la matriz inversa"
 msgid "Resolving conflicts..."
 msgstr "Resolviendo conflictos..."
 
-#: ../vector/v.generalize/main.c:77
-msgid "generalization"
-msgstr "generalización"
-
 #: ../vector/v.generalize/main.c:78
 msgid "simplification"
 msgstr "simplificación"
@@ -42243,32 +43907,32 @@ msgstr "Generalización de red..."
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "Generalización (%s)..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Usando resolución [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr "El método '%s' no preservó el primer punto"
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
@@ -42276,27 +43940,27 @@ msgstr ""
 "%d contornos no fueron modificados porque la modificación recorte dañaría la "
 "topología"
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, fuzzy, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 "Número de vértices de los elementos seleccionados %s de %d a %d (%d%%). "
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr "reducido"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr "cambiado"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Capa %d"
@@ -42349,74 +44013,6 @@ msgstr "Capa %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Número de quadrados"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Nombre del mapa ráster de entrada que contiene costes de fricción"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Nombre del mapa ráster de entrada que contiene costes de fricción"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Producir mapa ráster de irradiancia [W.m-2] (modo 1) o irradiación [Wh."
-#~ "m-2.día-1] (modo 2) difusas"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Producir mapa ráster de irradiancia [W.m-2] (modo 1) o irradiación [Wh."
-#~ "m-2.día-1] (modo 2) reflejadas del terreno"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Producir mapa ráster de irradiancia [W.m-2] (modo 1) o irradiación [Wh."
-#~ "m-2.día-1] (modo 2) de los rayos"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nombre del mapa ráster de elevación"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nombre del mapa ráster de elevación de entrada [metros]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Producir mapa ráster de irradiancia [W.m-2] (modo 1) o irradiación [Wh."
-#~ "m-2.día-1] (modo 2) reflejadas del terreno"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Producir mapa ráster de irradiancia [W.m-2] (modo 1) o irradiación [Wh."
-#~ "m-2.día-1] (modo 2) de los rayos"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Número de puntos de interpolación"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Ignorar proyección (usar proyección de la localización)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Localización: %s\n"
 
@@ -42433,31 +44029,37 @@ msgstr "Capa %d"
 #~ "\n"
 #~ "%d clases, %.2f%% puntos estable\n"
 
+#~ msgid "Subregion"
+#~ msgstr "Subregión"
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Incremento de categoría"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "opción <%s>: <%s> existe."
-
-#, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Mapa de salida <%s> ignorado"
-
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Producir mapa de índice topográfico"
+#~ msgid "Could not rewind input file"
+#~ msgstr "No se puede leer el archivo de intervalo"
 
 #, fuzzy
 #~ msgid "Name for basins raster map"
 #~ msgstr "Nombre de mapa ráster de base"
 
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "El mapa ráster <%s> ya existe en el directorio de mapas<%s>"
+
+#, fuzzy
+#~ msgid "output map <%s> exists"
+#~ msgstr "Mapa de salida <%s> ignorado"
+
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Longitud de página (por omisión: %d líneas)"
 
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Anchura de página (por omisión: %d caracteres)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Ignorar proyección (usar proyección de la localización)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.in.gdal to override this check and use the "
@@ -42481,6 +44083,14 @@ msgstr "Capa %d"
 #~ msgid "[%s] not found"
 #~ msgstr "[%s] no encontrado"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "opción <%s>: <%s> existe."
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr ""
+#~ "Ignorar proyección del conjunto de datos (usar proyección de la "
+#~ "localización)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -42499,6 +44109,14 @@ msgstr "Capa %d"
 #~ "Puede usar la opción -o para que r.in.gdal ignore esta comprobación y "
 #~ "usar la definición de la localización para el conjunto de datos.\n"
 
+#, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "weight= y -c son excluyentes mutuamente"
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "weight= y -c son excluyentes mutuamente"
+
 #~ msgid "Default value: GRASS_GUI if defined otherwise wxpython"
 #~ msgstr ""
 #~ "Valor predeterminado: GRASS_GUI si es definido de otro modo wxpython"
@@ -42516,6 +44134,21 @@ msgstr "Capa %d"
 #~ "nueva localización)"
 
 #, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "No se puede establecer la proyección"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Convierte todos los mapas vectoriales del antiguo GRASS < Ver5.7 del "
+#~ "directorio de mapas actual al formato actual."
+
+#~ msgid "Field separator"
+#~ msgstr "Separador de campos"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Actualiza metadatos de mapas vectoriales."
 
@@ -42553,32 +44186,33 @@ msgstr "Capa %d"
 #~ msgid "No default DB driver defined"
 #~ msgstr "No hay un controlador de bases de datos (DB) definido"
 
-#~ msgid "Field separator"
-#~ msgstr "Separador de campos"
-
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "El mapa ráster <%s> ya existe en el directorio de mapas<%s>"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Convierte todos los mapas vectoriales del antiguo GRASS < Ver5.7 del "
-#~ "directorio de mapas actual al formato actual."
+#~ msgid "OGR datasource name"
+#~ msgstr "Nombre del origen de datos OGR"
 
 #~ msgid "No flag given"
 #~ msgstr "No se señaló ninguna opción"
 
-#~ msgid ""
-#~ "Options <%s> and <%s> are mutually exclusive. Option <%s> will be ignored."
-#~ msgstr ""
-#~ "Las opciones <%s> y <%s> son mutuamente excluyentes. La opción <%s> será "
-#~ "ignorada."
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "No se puede crear el archivo '%s'"
+
+#~ msgid "Starting monitor <%s> with env file '%s'"
+#~ msgstr "Iniciando monitor <%s> con archivo env '%s'"
+
+#~ msgid "Env file not found"
+#~ msgstr "Archivo Env no encontrado"
+
+#~ msgid "PID file not found"
+#~ msgstr "Archivo PID no encontrado"
+
+#~ msgid "Command file not found"
+#~ msgstr "Archivo de comandos no encontrado"
 
 #~ msgid "Renaming reclass maps"
 #~ msgstr "Cambiando el nombre de los mapas reclasificados"
 
+#~ msgid "Name for output image"
+#~ msgstr "Nombre para la imagen de salida"
+
 #, fuzzy
 #~ msgid "Unable to read REF file for group <%s>"
 #~ msgstr ""
@@ -42588,1305 +44222,6 @@ msgstr "Capa %d"
 #~ msgid "Loading seeds from '%s'"
 #~ msgstr "%d categorías cargadas de la tabla <%s>"
 
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Se debe dar \"-i\" o \"valor=\""
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "input= y file= son mutuamente excluyentes"
-
-#~ msgid "Please specify input= or file="
-#~ msgstr "Por favor especifique input= o file="
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Se debe dar \"-i\" o \"valor=\""
-
-#, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "peso= y gauss= son excluyentes mutuamente"
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#, fuzzy
-#~ msgid "fprange= and range= must be used together"
-#~ msgstr "Nombre de los mapas ráster a parchear juntos"
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Valor no válido para scalex"
-
-#, fuzzy
-#~ msgid "invalid value for range= <%s>"
-#~ msgstr "Valor no válido para scalex"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "enntrada= y fuente= son mutuamente excluyentes"
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "enntrada= y fuente= son mutuamente excluyentes"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Por favor, especifique la columna Z"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Por favor, especifique la columna Z"
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "enntrada= y fuente= son mutuamente excluyentes"
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "enntrada= y fuente= son mutuamente excluyentes"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Por favor, especifique la columna Z"
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Por favor, especifique la columna Z"
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#, fuzzy
-#~ msgid "One of -%c, -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "¡Se debe especificar \"-i\" o \"-r\" o una de las opciones \"color\", "
-#~ "\"ráster\" o \"reglas\"!"
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#, fuzzy
-#~ msgid "Option <%s> required for flag -%c"
-#~ msgstr "Se requiere la opción <%s>"
-
-#, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "weight= y -c son excluyentes mutuamente"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "¡Se debe especificar \"-i\" o \"-r\" o una de las opciones \"color\", "
-#~ "\"ráster\" o \"reglas\"!"
-
-#, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr ""
-#~ "¡Se debe especificar \"-i\" o \"-r\" o una de las opciones \"color\", "
-#~ "\"ráster\" o \"reglas\"!"
-
-#~ msgid "No graphics device selected. Use d.mon to select graphics device."
-#~ msgstr ""
-#~ "No hay un dispositivo gráfico seleccionado. Use d.mon para seleccionar un "
-#~ "dispositivo gráfico."
-
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "O un nombre de color estándar o tripleta R:G:B"
-
-#~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr ""
-#~ "Muestra un area temática del mapa vectorial en la ventana activa de la "
-#~ "pantalla gráfica."
-
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Color en el formato de GRASS para dibujar texto"
-
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Color en formato GRASS para dibujar la cuadrícula o \"none\""
-
-#~ msgid "Geo-Grid option is not available for LL projection"
-#~ msgstr "Opción Rejilla Geográfica no disponible para la proyección LL"
-
-#~ msgid "Geo-Grid option is not available for XY projection"
-#~ msgstr "Opción Rejilla Geográfica no disponible para la proyección XY"
-
-#~ msgid ""
-#~ "Requires --overwrite flag. If not given the output file is overwritten."
-#~ msgstr ""
-#~ "Requiere la opción --overwite. Si no es dada el archivo de salida es "
-#~ "sobrescrito."
-
-#~ msgid "This should not happen see your system admin"
-#~ msgstr ""
-#~ "Esto no tendría que suceder, consulta a tu administrador del sistema"
-
-#, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Nombre para el mapa(s) raster de salida"
-
-#, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Error de discretización en unidades de mapa"
-
-#~ msgid "Displays thematic vector map"
-#~ msgstr "Muestra mapa vectorial temático"
-
-#~ msgid "thematic"
-#~ msgstr "temático"
-
-#~ msgid ""
-#~ "Name of attribute column to use for thematic display (must be numeric)"
-#~ msgstr ""
-#~ "Nombre de la columna de atributos a utilizar para la presentación "
-#~ "temática (debe ser numérico)"
-
-#~ msgid "Type of thematic display"
-#~ msgstr "Tipo de visualización temática"
-
-#~ msgid "Theme"
-#~ msgstr "Tema"
-
-#~ msgid "Thematic divisions of data for display"
-#~ msgstr "Divisiones temáticas de los datos a mostrar"
-
-#~ msgid "Break points for custom breaks option"
-#~ msgstr "Puntos de ruptura para la opción de ruptura personalizada"
-
-#~ msgid "Separate values by spaces (0 10 20 30 ...)"
-#~ msgstr "Separar valores por espacios (0 10 20 30...)"
-
-#~ msgid "Vector point icon for point data"
-#~ msgstr "Icono de punto vectorial para datos de puntos"
-
-#~ msgid "Icon size for point data"
-#~ msgstr "Tamaño de la icona para puntos de datos"
-
-#~ msgid "Minimum icon size/line width for graduated points/lines)"
-#~ msgstr ""
-#~ "Tamaño mínimo de icono/anchura de línea para gradiente de puntos/ líneas"
-
-#~ msgid "Maximum icon size/line width for graduated points and lines"
-#~ msgstr ""
-#~ "Tamaño máximo de icono/anchura de línea para gradiente de puntos y líneas"
-
-#~ msgid "Number of classes for interval theme (integer)"
-#~ msgstr "Número de clases para tema de intervalo (entero)"
-
-#~ msgid "Color scheme for graduated color mapping"
-#~ msgstr "Esquema de color para mapeo de color graduado"
-
-#~ msgid "Select 'single_color' for graduated point/line display"
-#~ msgstr "Seleccionar 'single_color' para mostrar gradiente de puntos/líneas"
-
-#~ msgid "Color for graduated points map"
-#~ msgstr "Color para mapa graduado de puntos"
-
-#~ msgid "GRASS named color or R:G:B triplet. Set color scheme to single color"
-#~ msgstr ""
-#~ "Nombre de color de GRASS o triplete R:G:B. Establecer esquema de color a "
-#~ "un color."
-
-#~ msgid "Color for graduated lines or point/area outlines"
-#~ msgstr "Color para líneas graduadas o para contornos de punto/area"
-
-#~ msgid ""
-#~ "GRASS named color or R:G:B triplet. Set color scheme to single color."
-#~ msgstr ""
-#~ "Nombre de color de GRAS o triplete R:G:B. Establecer esquema de color a "
-#~ "un color."
-
-#~ msgid "Beginning color for custom color gradient"
-#~ msgstr "Color inicial para personalizar gradiente de color"
-
-#~ msgid "Must be expressed as R:G:B triplet"
-#~ msgstr "Se debe expresar como triplete R:G:B"
-
-#~ msgid "Ending color for custom color gradient"
-#~ msgstr "Color final para personalizar gradiente de color"
-
-#, fuzzy
-#~ msgid "Select WXGUI display monitor for legend"
-#~ msgstr "Seleccionar monitor x11 para la leyenda"
-
-#~ msgid "Misc"
-#~ msgstr "Miscelánea"
-
-#~ msgid "Files"
-#~ msgstr "Archivos"
-
-#~ msgid "Save thematic map commands to group file for GIS Manager"
-#~ msgstr ""
-#~ "Guardar comandos de mapa temático en archivo de grupo para el "
-#~ "Administrador GIS"
-
-#~ msgid ""
-#~ "Root for the name of psmap instruction files to be in current directory"
-#~ msgstr ""
-#~ "Raíz para el nombre de los archivos de instrucciones psmap para estar en "
-#~ "el directorio actual"
-
-#~ msgid "If not set, no psmap instruction files will be created)"
-#~ msgstr "Si no se indica, no se creará ningún archivo de instrucciones psmap"
-
-#~ msgid "Name of group file where thematic map commands will be saved"
-#~ msgstr ""
-#~ "Nombre de archivo de grupo en el que se guardarán los comandos del mapa "
-#~ "temático"
-
-#~ msgid "Create graphic legend in x11 display monitor"
-#~ msgstr "Crear leyenda gráfica en monitor x11"
-
-#~ msgid "Only draw fills (no outlines) for areas and points"
-#~ msgstr "Dibujar sólo rellenos (no líneas exteriores) para áreas y puntos"
-
-#~ msgid "Update color values to GRASSRGB column in attribute table"
-#~ msgstr ""
-#~ "Actualizar valores de color a la columna GRASSRGB en la tabla de atributos"
-
-#~ msgid "Output legend for GIS Manager (for scripting use only)"
-#~ msgstr ""
-#~ "Producir leyenda para el Administrador GIS (sólo para uso en scripts)"
-
-#~ msgid "Use math notation brackets in legend"
-#~ msgstr "Usar corchetes de anotación matemática en la leyenda"
-
-#, fuzzy
-#~ msgid "Raster map containing elevation (m, required with -s)"
-#~ msgstr ""
-#~ "Nombre del mapa ráster que contiene la ELEVACIÓN (m) (requerido w/ -s)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of an existing raster map layer in the user's current mapset search "
-#~ "path containing elevation (meters). Option is required from spotting "
-#~ "distance computation (when -s flag is enabled)"
-#~ msgstr ""
-#~ "Nombre de un mapa raster existente en la ruta de búsqueda del directorio "
-#~ "de mapas del usuario que contiene la elevación (metros). La opción es "
-#~ "necesaria para el cálculo de la distancia ...spotting... (cuando la "
-#~ "opción -s esté activa)"
-
-#, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Nombre para el mapa ráster de salida"
-
-#, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "También produce distancia máxima SPOTTING"
-
-#, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Mostrar"
-
-#, fuzzy
-#~ msgid ""
-#~ "Allows creation and/or modification of raster3d map layer support files."
-#~ msgstr ""
-#~ "Permite la creación y/o modificación de archivos de soporte de capas de "
-#~ "mapas ráster."
-
-#~ msgid "Unable to create vector map"
-#~ msgstr "No se puede crear el mapa vectorial"
-
-#~ msgid "Unable To create table: %s"
-#~ msgstr "No se puede crear la tabla: %s"
-
-#~ msgid "Not enough memory"
-#~ msgstr "No hay suficiente memoria"
-
-#~ msgid ""
-#~ "Name for output quadrant centers map (number of points is written as "
-#~ "category)"
-#~ msgstr ""
-#~ "Nombre de mapa de salida de los centros de los cuadrantes (el número de "
-#~ "puntos se escribirá como categoría)"
-
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "OLD_T_NEW obtuvo un código de tipo incorrecto [%x]"
-
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "NEW_T_OLD obtuvo un código de tipo incorrecto [%x]"
-
-#~ msgid "Reading dig file..."
-#~ msgstr "Leyendo el archivo dig..."
-
-#~ msgid "Input file is version 3."
-#~ msgstr "El archivo de entrada es de la versión 3."
-
-#~ msgid "Input file is version 4."
-#~ msgstr "El archivo de entrada es de la versión 4."
-
-#~ msgid "Input file is portable."
-#~ msgstr "El archivo de entrada se puede importar."
-
-#~ msgid ""
-#~ "Input file is not portable. We will attempt to convert anyway but "
-#~ "conversion may fail. Please read manual for detail information."
-#~ msgstr ""
-#~ "El archivo de entrada no se puede importar. Se intentará convertir de "
-#~ "todas formas, pero la conversión puede fallar. Por favor, lea el manual "
-#~ "para información detallada."
-
-#~ msgid "[%d] points read to memory"
-#~ msgstr "[%d] puntos leídos en memoria"
-
-#~ msgid "[%d] lines read to memory"
-#~ msgstr "[%d] líneas leídas en memoria"
-
-#~ msgid "[%d] points read and written to output"
-#~ msgstr "[%d] puntos leídos y escritos en la salida"
-
-#~ msgid "[%d] lines read and written to output"
-#~ msgstr "[%d] líneas leídas y escritas en la salida"
-
-#~ msgid "[%d] area boundaries read and written to output"
-#~ msgstr "[%d] bordes de área leídos y escritos en la salida"
-
-#~ msgid "[%d] dead points skipped"
-#~ msgstr "[%d] puntos muertos saltados"
-
-#~ msgid "[%d] dead lines skipped"
-#~ msgstr "[%d] líneas muestas saltadas"
-
-#~ msgid "[%d] dead area boundaries skipped"
-#~ msgstr "[%d] bordes de área muestos saltados"
-
-#~ msgid "[%d] elements of unknown type skipped"
-#~ msgstr "[%d] elementos de tipo desconocido saltados"
-
-#~ msgid "[%d] elements read to memory"
-#~ msgstr "[%d] elementos leídos en memoria"
-
-#~ msgid "Reading dig_att file..."
-#~ msgstr "Leyendo archivo dig_att..."
-
-#~ msgid "Error: %s"
-#~ msgstr "Error: %s"
-
-#~ msgid "Unknown type: %c"
-#~ msgstr "Tipo desconocido: %c"
-
-#~ msgid "[%d] point categories read"
-#~ msgstr "[%d] categorías de puntos leídas"
-
-#~ msgid "[%d] line categories read"
-#~ msgstr "[%d] categorías de líneas leídas"
-
-#~ msgid "[%d] centroids read"
-#~ msgstr "[%d] centroides leídos"
-
-#~ msgid "[%d] dead point categories skipped"
-#~ msgstr "[%d] categorías de puntos muestos saltadas"
-
-#~ msgid "[%d] dead line categories skipped"
-#~ msgstr "[%d] categorías de líneas muestas saltadas"
-
-#~ msgid "[%d] dead centroids skipped"
-#~ msgstr "[%d] centroides muertos saltados"
-
-#~ msgid "[%d] categories of unknown type skipped"
-#~ msgstr "[%d] categorías de tipo desconocido saltadas"
-
-#~ msgid "[%d] categories read into memory"
-#~ msgstr "[%d] categorías leídas en memoria"
-
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr "Categoría de etiquetas (dig_cats) no encontrada, tabla no creada"
-
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "No se puede abrir el archivo dig_cats "
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Fallo abriendo el archivo de ingreso dig."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "el archivo dig_att no existe."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Fallo abriendo el archivo dig_att."
-
-#~ msgid "Attaching categories..."
-#~ msgstr "Adjuntando categorías..."
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "Fallo al adjuntar un atributo(categoria %d) a una línea."
-
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "Etiqueta de la línea %d: %d correspondió a otra etiqueta: %d."
-
-#~ msgid "Writing new file..."
-#~ msgstr "Escribiendo el nuevo archivo..."
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "[%d] puntos y líneas escritos en el fichero de salida."
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "[%d] centroides escritos en el fichero de salida."
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importa mapas vectoriales de versiones anteriores de GRASS."
-
-#~ msgid "Endian of input vector map"
-#~ msgstr "Endian del mapa vectorial de entrada"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "Tipo de mapa ráster desconocido"
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Tamaño de caché (MiB)"
-
-#~ msgid "Can't call bad function"
-#~ msgstr "No se puede llamar a función incorrecta"
-
-#~ msgid "Bad arguments to pointfunc %s"
-#~ msgstr "Argumentos no válidos para pointfunc %s"
-
-#~ msgid "No function defined to perform ``point %c point''"
-#~ msgstr "Ninguna función definida para ejecutar ``punto %c punto''"
-
-#~ msgid "Performing 1 arg map function on map %s"
-#~ msgstr "Realizando la función de mapa de un argumento en el mapa %s"
-
-#~ msgid "Performing 2 arg map function on maps %s and %s"
-#~ msgstr ""
-#~ "Realizando la función de mapa de dos argumentos en los mapas %s y %s"
-
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Realizando mapa %s + %s"
-
-#~ msgid "Can't call bad map-function"
-#~ msgstr "No se puede llamar a map-function incorrecta"
-
-#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
-#~ msgstr "Argumentos no válidos para mapfunc %s (argc = %d)"
-
-#~ msgid "No function defined to perform map %c map"
-#~ msgstr "NInguna función definida para realizar mapa %c mapa"
-
-#~ msgid "Can't call bad num-function"
-#~ msgstr "No se puede llamar a num-function incorrecta"
-
-#~ msgid "Bad arguments to numfunc %s"
-#~ msgstr "Argumentos incorrectos para numfunc %s"
-
-#~ msgid "No function defined to perform ``number %c number''"
-#~ msgstr "Ninguna función definida para ejecutar ``número %c número''"
-
-#~ msgid "Can't call bad any-function"
-#~ msgstr "No se puede llamar a any-function incorrecta"
-
-#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
-#~ msgstr "Argumentos no válidos para anyfunc %s (argc = %d)"
-
-#~ msgid "One or more coordinates"
-#~ msgstr "Una o más coordenadas"
-
-#, fuzzy
-#~ msgid "Calculates univariate statistics for attribute."
-#~ msgstr ""
-#~ "Calcula estadísticas univariantes a partir de un mapa ráster de GRASS."
-
-#~ msgid "Not enough memory for az"
-#~ msgstr "Memoria insuficiente para az"
-
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Memoria insuficiente para adx"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Memoria insuficiente para ady"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Memoria insuficiente para adxx"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Memoria insuficiente para adyy"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Memoria insuficiente para adxy"
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "No se pueden crear quaddata"
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "No se puede crear función quad"
-
-#~ msgid "Cannot create tree"
-#~ msgstr "No se puede crear el árbol"
-
-#~ msgid "Cannot create tree info"
-#~ msgstr "No se puede crear información del árbol"
-
-#~ msgid "sites"
-#~ msgstr "lugares"
-
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Convierte un archivo GRASS site_lists a mapa vectorial."
-
-#~ msgid "Site file <%s> not found"
-#~ msgstr "Archivo site <%s> no encontrado"
-
-#, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "No se pudo averiguar el formato de archivo de lugares"
-
-#, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "No se puede asignar el buffer de la fila de entrada"
-
-#~ msgid "Input format: dimension: %d strings: %d FP: %d"
-#~ msgstr "Formato de entrada: dimension: %d strings: %d FP: %d"
-
-#~ msgid ""
-#~ "Floating point category values, using sequential integer for category"
-#~ msgstr ""
-#~ "Valores de categoría de coma flotante, utilizando integer sequencial para "
-#~ "categoría"
-
-#~ msgid "No category values, using sequential integer for category"
-#~ msgstr ""
-#~ "No hay valores de categoría, utilizando integer sequencial para categoría"
-
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "Transfiriendo site a mapa vectorial..."
-
-#~ msgid "%d sites written."
-#~ msgstr "%d sites escrito."
-
-#, fuzzy
-#~ msgid "Format: layer name,type,projection check"
-#~ msgstr "Formato: capa tipo cuenta mínimo máximo"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "Nombre de mapa de elevación"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Cadena char para representar celdas sin datos"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "¡Se debe especificar \"-i\" o \"-r\" o una de las opciones \"color\", "
-#~ "\"ráster\" o \"reglas\"!"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "¡Se debe especificar \"-i\" o \"-r\" o una de las opciones \"color\", "
-#~ "\"ráster\" o \"reglas\"!"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Métrica desconocida: [%s]."
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Error al leer el archivo de categorías para <%s>"
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Error al leer el archivo de color para <%s>"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Cadena que representa el valor de celda sin datos"
-
-#~ msgid "Output z-file (elevation) map"
-#~ msgstr "Producir mapa de archivo Z (altura)"
-
-#~ msgid "Output aspect map (or fy)"
-#~ msgstr "Producir mapa de orientación (o fy)"
-
-#~ msgid "Prefix for output raster map(s)"
-#~ msgstr "Prefijo para el mapa(s) raster de salida"
-
-#, fuzzy
-#~ msgid "String to represent no data cell"
-#~ msgstr "Cadena char para representar celdas sin datos"
-
-#~ msgid "Character to represent no data cell"
-#~ msgstr "Carácter para representar celdas sin datos"
-
-#~ msgid "Binary raster file to be imported"
-#~ msgstr "Archivo ráster binario a importar"
-
-#~ msgid "Name of spread path raster map"
-#~ msgstr "Nombre del mapa ráster de ruta de propagación"
-
-#~ msgid "Run verbosely"
-#~ msgstr "Ejecutar con comentarios"
-
-#~ msgid "%s available in mapset <%s>:"
-#~ msgstr "%s disponible en directorio de mapas <%s>:"
-
-#~ msgid "Null value indicator"
-#~ msgstr "Indicador de valores nulos"
-
-#~ msgid "Suppress warnings"
-#~ msgstr "Suprimir advertencias"
-
-#, fuzzy
-#~ msgid "High resolution panchromatic image"
-#~ msgstr ""
-#~ "Transformación de Brovey para fundir canales multiespectrales y "
-#~ "pancromáticos de alta resolución"
-
-#, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Correlación"
-
-#, fuzzy
-#~ msgid "Name of input raster map(s)"
-#~ msgstr "Nombre del mapa ráster de entrada"
-
-#, fuzzy
-#~ msgid "The output type of the space time dataset"
-#~ msgstr "Nombre de la nueva base de datos"
-
-#, fuzzy
-#~ msgid "Type of the aggregation space time dataset, default is strds"
-#~ msgstr "Nombre de la nueva base de datos"
-
-#~ msgid "Greater value option that sets the >= area size limit [hectares]"
-#~ msgstr ""
-#~ "Opción de valor mayor que establece el >= límite de tamaño de área "
-#~ "[hectáreas]"
-
-#, fuzzy
-#~ msgid "Prefix for output raster maps (default: input)"
-#~ msgstr "Nombre para el mapa ráster de salida (por omisión: el de entrada)"
-
-#, fuzzy
-#~ msgid "Name of elevation raster map"
-#~ msgstr "Nombre del mapa ráster de elevaciones"
-
-#, fuzzy
-#~ msgid "coordinates of the outlet (east,north)"
-#~ msgstr "La coordenada del centro (Este, Norte)"
-
-#, fuzzy
-#~ msgid "threshold"
-#~ msgstr "Herramienta: umbral"
-
-#, fuzzy
-#~ msgid "No maps output"
-#~ msgstr "Ningún mapa de salida"
-
-#, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr ""
-#~ "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
-#~ "ráster."
-
-#~ msgid "Data to be classified: column name or expression"
-#~ msgstr "Datos a clasificar: column name o expression"
-
-#~ msgid "Color for drawing grid or \"none\""
-#~ msgstr "Color para dibujar la cuadrícula o \"ninguno\""
-
-#~ msgid "Gather the histogram quietly"
-#~ msgstr "Construir el histograma de forma silenciosa"
-
-#~ msgid "Create grid of points instead of areas and centroids"
-#~ msgstr "Crear malla de puntos en lugar de áreas y centroides"
-
-#, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "Crear malla de puntos en lugar de áreas y centroides"
-
-#~ msgid "Invalid distance"
-#~ msgstr "Distancia no válida"
-
-#~ msgid "Layer number"
-#~ msgstr "Número de capa"
-
-#, fuzzy
-#~ msgid "Name of color map"
-#~ msgstr "Nombre de mapa vectorial"
-
-#~ msgid "Name of first raster map"
-#~ msgstr "Nombre del primer mapa ráster"
-
-#, fuzzy
-#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
-#~ msgstr ""
-#~ "¡Se debe especificar \"-i\" o \"-r\" o una de las opciones \"color\", "
-#~ "\"ráster\" o \"reglas\"!"
-
-#~ msgid "Elevation (if no elevation map is specified)"
-#~ msgstr "Elevación (si no se indica ningún mapa de elevación)"
-
-#~ msgid "2d raster maps which represent the slices"
-#~ msgstr "Mapas ráster 2D que representan las rodajas"
-
-#~ msgid "Output slope map (or fx)"
-#~ msgstr "Producir mapa de pendientes (o fx)"
-
-#~ msgid "Output profile curvature map (or fxx)"
-#~ msgstr "Producir mapa de curvatura de perfil (o fxx)"
-
-#~ msgid "Output tangential curvature map (or fyy)"
-#~ msgstr "Producir mapa de curvatura tangencial (o fyy)"
-
-#~ msgid "Output mean curvature map (or fxy)"
-#~ msgstr "Producir mapa de curvatura media (o fxy)"
-
-#~ msgid "Name of raster map containing smoothing"
-#~ msgstr "Nombre del mapa ráster que contiene suavizado"
-
-#~ msgid "Name of raster map to be used as mask"
-#~ msgstr "Nombre del mapa ráster a utilizar como máscara"
-
-#, fuzzy
-#~ msgid ""
-#~ "Apply temporal and spatial operations on space time 3D raster datasets "
-#~ "using temporal raster algebra."
-#~ msgstr "Convierte mapas ráster 3D en mapas ráster 2D"
-
-#, fuzzy
-#~ msgid ""
-#~ "r3.mapcalc expression for temporal and spatial analysis of space time 3D "
-#~ "raster datasets"
-#~ msgstr "Listar mapas vectoriales en la localización de entrada y salir"
-
-#, fuzzy
-#~ msgid "Base name of the new created 3D raster maps"
-#~ msgstr "Nombre del mapa ráster 3D de entrada"
-
-#, fuzzy
-#~ msgid "File in which the server capabilities will be saved ('c' flag)"
-#~ msgstr "Opciones de consulta adicionales para el servidor"
-
-#, fuzzy
-#~ msgid "Converts a space time raster dataset into a raster3d map."
-#~ msgstr "Convierte mapas ráster 3D en mapas ráster 2D"
-
-#~ msgid "Lesser value option that sets the <= area size limit [hectares]"
-#~ msgstr ""
-#~ "Opción de valor menor que establece el <= límite de tamaño de área "
-#~ "[hectáreas]"
-
-#, fuzzy
-#~ msgid "Prefix for red, green and blue output raster maps containing"
-#~ msgstr ""
-#~ "Nombre base para los mapas de salida rojo, verde y azul que contendrán la "
-#~ "mezcla"
-
-#~ msgid "Colors (one per class)."
-#~ msgstr "Colores (uno por clase)"
-
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
-#~ msgstr "Color para dibujar la cuadrícula o \"ninguno\""
-
-#, fuzzy
-#~ msgid "Color for drawing null values"
-#~ msgstr "Color para dibujar las X (Valores nulos)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
-#~ "drawing"
-#~ msgstr "Color para dibujar la cuadrícula o \"ninguno\""
-
-#, fuzzy
-#~ msgid "Color for showing unknown information or \"none\""
-#~ msgstr "Color para mostrar información desconocida"
-
-#~ msgid "Color for showing unknown information"
-#~ msgstr "Color para mostrar información desconocida"
-
-#, fuzzy
-#~ msgid ""
-#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
-#~ "\" not showing"
-#~ msgstr "Color para dibujar la cuadrícula o \"ninguno\""
-
-#, fuzzy
-#~ msgid "flowline"
-#~ msgstr "línea"
-
-#, fuzzy
-#~ msgid "Name of column containing w attribute to interpolate"
-#~ msgstr "Nombre de la columna que contiene los datos a interpolar"
-
-#, fuzzy
-#~ msgid "Indices for quadrat counts of sites lists."
-#~ msgstr "lugares"
-
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Nombre de la capa a usar para INTENSIDAD"
-
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Nombre de la capa a usar para SATURACIÓN"
-
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "Importa archivos de país del Servidor de Nombres Geonet (GNS) US-NGA a un "
-#~ "mapa vectorial de puntos de GRASS."
-
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Archivo GNS sin comprimir de NGA (con extensión .txt)"
-
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Nombre del  mapa(s) raster para las elevaciones"
-
-#~ msgid "Table file to be exported or DB connection string"
-#~ msgstr "Archivo de tabla a exportar o cadena de conexión a base de datos"
-
-#, fuzzy
-#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
-#~ msgstr "Mapa que guarda el resultado numérico [m]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Computes anisotropic cumulative cost of moving between different "
-#~ "geographic locations on an input elevation raster map whose cell category "
-#~ "values represent elevation combined with an input raster map layer whose "
-#~ "cell values represent friction cost."
-#~ msgstr ""
-#~ "Produce una capa de mapa ráster que muestra el coste anisotrópico "
-#~ "acumulado de moverse entre diferentes localizaciones geográficas en una "
-#~ "capa de mapa ráster de elevación de entrada cuyos valores de categoría de "
-#~ "celda representan elevación combinada con una capa de mapa ráster de "
-#~ "entrada cuyos valores de celda representan coste de fricción."
-
-#~ msgid "Name of output layer to be used for GREEN"
-#~ msgstr "Nombre de la capa de salida a usar para el VERDE"
-
-#~ msgid "Name of output layer to be used for BLUE"
-#~ msgstr "Nombre de la capa de salida a usar para el AZUL"
-
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Utilidad de interpolación de superficie para mapa raser."
-
-#~ msgid "Surface generation program."
-#~ msgstr "Programa de generación de superficies."
-
-#~ msgid ""
-#~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
-#~ msgstr ""
-#~ "Bases de datos latitud/longitud no soportadas por r.surf.idw2. ¡Utilice r."
-#~ "surf.idw en su lugar!"
-
-#~ msgid "%s=%s - illegal number of interpolation points"
-#~ msgstr "%s=%s - número de puntos de interpolación no admitido"
-
-#~ msgid "%s: no data points found"
-#~ msgstr "%s: no se han encontrado puntos de datos"
-
-#, fuzzy
-#~ msgid "Interpolating raster map <%s>... %d row... "
-#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
-#~ msgstr[0] "Interpolando mapa ráster <%s>... %d filas... "
-#~ msgstr[1] "Interpolando mapa ráster <%s>... %d filas... "
-
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "Proyección latitud/longitud no soportada en este momento."
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Localización: %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "vectorial, trabajo en red"
-
-#~ msgid ""
-#~ "Displays the result obtained by combining hue, intensity, and saturation "
-#~ "(his) values from user-specified input raster map layers."
-#~ msgstr ""
-#~ "Muestra el resultado de combinar valores de tonalidad, intensidad y "
-#~ "saturación (HIS) de capas de mapa ráster especificadas por el usuario."
-
-#~ msgid "Name of layer to be used for HUE"
-#~ msgstr "Nombre de la capa a usar para TONALIDAD"
-
-#, fuzzy
-#~ msgid "Optionally also print build or copyright information."
-#~ msgstr "Muestra información de versión y copyright."
-
-#, fuzzy
-#~ msgid "Drapes a color raster over a shaded relief map."
-#~ msgstr "Nombre del ráster superponer sobre mapa de relieve"
-
-#, fuzzy
-#~ msgid "Name for output table (defaut: input)"
-#~ msgstr ""
-#~ "Nombre para el mapa vectorial de salida (por defecto: el de entrada)"
-
-#~ msgid ""
-#~ "Generates red, green and blue raster map layers combining hue, intensity "
-#~ "and saturation (HIS) values from user-specified input raster map layers."
-#~ msgstr ""
-#~ "Genera capas de mapa ráster roja, verde y azul combinando valores de "
-#~ "matiz, intensidad y saturación (HIS) a partir de capas de mapa ráster de "
-#~ "entrada especificadas por el usuario."
-
-#~ msgid "Name of output layer to be used for RED"
-#~ msgstr "Nombre de la capa de salida a usar para el ROJO"
-
-#, fuzzy
-#~ msgid "Unparsable longitude value in column num %d: %s"
-#~ msgstr "Valor de longitud no analizable en columna <%d>: %s"
-
-#, fuzzy
-#~ msgid "Unparsable latitude value in column num %d: %s"
-#~ msgstr "Valor de latitud no analizable en columna <%d>: %s"
-
-#, fuzzy
-#~ msgid "Calculate geometry distances instead of table data"
-#~ msgstr ""
-#~ "Calculando distancias geométricas en lugar de los datos de la tabla."
-
-#, fuzzy
-#~ msgid "Importing %d points..."
-#~ msgstr "Importando puntos..."
-
-#, fuzzy
-#~ msgid "%d input points were filtered by return number"
-#~ msgstr "%d puntos fuera del umbral"
-
-#, fuzzy
-#~ msgid "%d input points were filtered by class number"
-#~ msgstr "%d puntos fuera del umbral"
-
-#, fuzzy
-#~ msgid ""
-#~ "Apply temporal and spatial operations on space time raster datasets using "
-#~ "temporal raster algebra."
-#~ msgstr "Convierte mapas ráster 3D en mapas ráster 2D"
-
-#, fuzzy
-#~ msgid ""
-#~ "r.mapcalc expression for temporal and spatial analysis of space time "
-#~ "raster datasets"
-#~ msgstr "Listar mapas vectoriales en la localización de entrada y salir"
-
-#, fuzzy
-#~ msgid ""
-#~ "Apply temporal and spatial operations on space time 3D raster datasets "
-#~ "using temporal 3D raster algebra."
-#~ msgstr "Convierte mapas ráster 3D en mapas ráster 2D"
-
-#, fuzzy
-#~ msgid ""
-#~ "Algebraic expression for temporal and spatial analysis of space time 3D "
-#~ "raster datasets"
-#~ msgstr "Listar mapas vectoriales en la localización de entrada y salir"
-
-#, fuzzy
-#~ msgid "gradient"
-#~ msgstr "Varianza"
-
-#, fuzzy
-#~ msgid ""
-#~ "Computes gradient of a 3D raster map and outputs gradient components as "
-#~ "three 3D raster maps."
-#~ msgstr ""
-#~ "Combina mapas raster rojos, verdes y azules en una sola composición de "
-#~ "mapa raster."
-
-#, fuzzy
-#~ msgid "Name for output 3D raster map(s)"
-#~ msgstr "Nombre para el mapa(s) raster de salida"
-
-#, fuzzy
-#~ msgid "Size of blocks"
-#~ msgstr "Tamaño del caché de punto"
-
-#, fuzzy
-#~ msgid "Failed to allocate memory for blocks"
-#~ msgstr "No se puede asignar memoria"
-
-#, fuzzy
-#~ msgid "Writing gradient 3D raster maps..."
-#~ msgstr "Escribiendo nuevo mapa ráster..."
-
-#, fuzzy
-#~ msgid "Please provide three 3D raster maps"
-#~ msgstr "Por favor, proporciona tres mapas RGB G3D"
-
-#, fuzzy
-#~ msgid "Vector seed map <%s> not found"
-#~ msgstr "Mapa vectorial <%s> no encontrado"
-
-#, fuzzy
-#~ msgid "Computes 3D flow lines and 3D flow accumulation."
-#~ msgstr "Calculando direcciones de flujo..."
-
-#, fuzzy
-#~ msgid "Name of vector map with points from which flow lines are generated"
-#~ msgstr ""
-#~ "Nombre del mapa vectorial de puntos para el que editar la tabla de "
-#~ "atributos"
-
-#, fuzzy
-#~ msgid "Name for vector map of flow lines"
-#~ msgstr "Nombre de mapa vectorial a editar"
-
-#, fuzzy
-#~ msgid "Name for output flowaccumulation 3D raster"
-#~ msgstr "Nombre para el mapa ráster de salida"
-
-#, fuzzy
-#~ msgid "Name for 3D raster sampled by flowlines"
-#~ msgstr "Nombre del mapa(s) raster para el brillo"
-
-#, fuzzy
-#~ msgid "length in map units"
-#~ msgstr "longitud %f\n"
-
-#, fuzzy
-#~ msgid "Unit of integration step"
-#~ msgstr "Número de iteraciones"
-
-#, fuzzy
-#~ msgid "Default unit is cell"
-#~ msgstr ""
-#~ "Anchura de corriente (en metros). Por defecto es la anchura de celda "
-#~ "ráster."
-
-#, fuzzy
-#~ msgid "Integration"
-#~ msgstr "vectorial, interpolación"
-
-#, fuzzy
-#~ msgid "Integration step in selected unit"
-#~ msgstr "No se ha especificado ningún mapa raster"
-
-#, fuzzy
-#~ msgid "Default step is 0.25 cell"
-#~ msgstr "La base de datos por defecto no está asignada"
-
-#, fuzzy
-#~ msgid "Maximum number of steps"
-#~ msgstr "Número máximo de iteraciones"
-
-#, fuzzy
-#~ msgid "Maximum error of integration"
-#~ msgstr "Número máximo de iteraciones"
-
-#, fuzzy
-#~ msgid "Number of cells between flow lines in x, y and z direction"
-#~ msgstr "Número de celdas entre líneas de flujo"
-
-#, fuzzy
-#~ msgid "Create and fill attribute table"
-#~ msgstr "No se puede describir la tabla<%s>"
-
-#, fuzzy
-#~ msgid "Error during reading seed vector map"
-#~ msgstr "Error leyendo datos"
-
-#, fuzzy
-#~ msgid "Testing flow lines."
-#~ msgstr "Costes para isolíneas"
-
-#, fuzzy
-#~ msgid "Unable to insert data into turntable."
-#~ msgstr "No se puede insertar en la tabla: %s"
-
-#, fuzzy
-#~ msgid "Unable to open vector map <%s>."
-#~ msgstr "No se puede abrir el mapa vectorial <%s>"
-
-#, fuzzy
-#~ msgid "Arc layer <%s> does not exist in map <%s>."
-#~ msgstr "La tabla <%s> no existe en la base de datos <%s>"
-
-#, fuzzy
-#~ msgid ""
-#~ "Layer <%s> already exists in map <%s>.\n"
-#~ "It will be overwritten by tlayer data."
-#~ msgstr "La capa OGR <%s> ya existe y será sobrescrita"
-
-#, fuzzy
-#~ msgid ""
-#~ "Layer <%s> already exists in map <%s>.\n"
-#~ "It will be overwritten by tuclayer data."
-#~ msgstr "La capa OGR <%s> ya existe y será sobrescrita"
-
-#, fuzzy
-#~ msgid "Unable to create vector map <%s>."
-#~ msgstr "No se puede crear el mapa vectorial <%s>"
-
-#, fuzzy
-#~ msgid "Unable to open database <%s> using driver <%s>"
-#~ msgstr "No se puede abrir la base de datos <%s> por el controlador <%s>"
-
-#, fuzzy
-#~ msgid "Unable to create turntable <%s>."
-#~ msgstr "No se puede crear la tabla <%s>"
-
-#, fuzzy
-#~ msgid "Unable to connect table <%s> to vector map <%s>."
-#~ msgstr "No es posible copiar tabla de atributos al mapa vectorial <%s>"
-
-#, fuzzy
-#~ msgid "Unable to create index for column <%s> in table <%s>."
-#~ msgstr "No se puede crear la tabla <%s>"
-
-#, fuzzy
-#~ msgid "create turntable on vector network"
-#~ msgstr "Encuentra la ruta más corta en una red vectorial."
-
-#, fuzzy
-#~ msgid "Turntable"
-#~ msgstr "Ninguna tabla"
-
-#, fuzzy
-#~ msgid "Turntable layer"
-#~ msgstr "Capa de líneas"
-
-#, fuzzy
-#~ msgid "Layer with turntable"
-#~ msgstr "Capa/tabla"
-
-#, fuzzy
-#~ msgid "point cloud"
-#~ msgstr "No se han encontrado puntos de datos"
-
-#, fuzzy
-#~ msgid "cluster"
-#~ msgstr "ráster"
-
-#, fuzzy
-#~ msgid "clump"
-#~ msgstr "%d grupos."
-
-#, fuzzy
-#~ msgid "Cluster identification"
-#~ msgstr "Separación de clúster"
-
-#, fuzzy
-#~ msgid "Layer number or name for cluster ids"
-#~ msgstr "Nombre del mapa vectorial de entrada"
-
-#, fuzzy
-#~ msgid "Maximum distance to neighbors"
-#~ msgstr "Distancia máxima a la red"
-
-#, fuzzy
-#~ msgid "Minimum number of points to create a cluster"
-#~ msgstr "Número mínimo de píxeles en una clase"
-
-#, fuzzy
-#~ msgid "Clustering method"
-#~ msgstr "Separación de clúster"
-
-#, fuzzy
-#~ msgid "Minimum number of points must be at least 2"
-#~ msgstr "¡El número de clases deber ser < 256!"
-
-#, fuzzy
-#~ msgid "Option %s must be positive"
-#~ msgstr "El tamaño del vecindario debe ser positivo"
-
-#, fuzzy
-#~ msgid "Counting input points ..."
-#~ msgstr "lugares."
-
-#, fuzzy
-#~ msgid "Not enough points in input, nothing to do"
-#~ msgstr "No se encontraron puntos, se salta el tipo=punto"
-
-#, fuzzy
-#~ msgid "Creating search index ..."
-#~ msgstr "Creando centroides..."
-
-#, fuzzy
-#~ msgid "Option %s must be a positive number"
-#~ msgstr "%s = %s -- de ser un número posiivollll"
-
-#, fuzzy
-#~ msgid "Estimating maximum distance ..."
-#~ msgstr "Usando la distancia máxima entre puntos: %f"
-
-#, fuzzy
-#~ msgid "No neighbors found"
-#~ msgstr "No se encontraron mapas raster"
-
-#, fuzzy
-#~ msgid "Distance to the %d nearest neighbor:"
-#~ msgstr "Distancia máxima a la línea más próxima"
-
-#, fuzzy
-#~ msgid "Mean: %g"
-#~ msgstr "Media = %.5lf"
-
-#, fuzzy
-#~ msgid "Standard deviation: %g"
-#~ msgstr "Desviación estándar"
-
-#, fuzzy
-#~ msgid "Estimated maximum distance: %g"
-#~ msgstr "Usando la distancia máxima entre puntos: %f"
-
-#, fuzzy
-#~ msgid "Building clusters ..."
-#~ msgstr "Encontrando ruta de coste..."
-
-#, fuzzy
-#~ msgid "nlines: %d, nclusters: %d"
-#~ msgstr "npoints = %d, nterrain = %d"
-
-#, fuzzy
-#~ msgid "No clusters found, adjust option %s"
-#~ msgstr "No se encontraron líneas, omitiendo %s"
-
-#, fuzzy
-#~ msgid "Write out cluster ids ..."
-#~ msgstr "Escribiendo mapa ráster de salida %s... "
-
-#, fuzzy
-#~ msgid "Loading points ..."
-#~ msgstr "Leyendo entradas..."
-
-#, fuzzy
-#~ msgid "Not enough points found"
-#~ msgstr "No se han encontrado puntos de datos"
-
-#, fuzzy
-#~ msgid "Core density ..."
-#~ msgstr "vectorial, densidad de kernel"
-
-#, fuzzy
-#~ msgid "%d clusters found"
-#~ msgstr "%d clases encontradas"
-
-#, fuzzy
-#~ msgid "%d outliers found"
-#~ msgstr "%d clases encontradas"
-
 #~ msgid ""
 #~ "Correction of the v.lidar.growing output. It is the last of the three "
 #~ "algorithms for LIDAR filtering."
diff --git a/locale/po/grassmods_fi.po b/locale/po/grassmods_fi.po
index aa7ed6a..739a7a2 100644
--- a/locale/po/grassmods_fi.po
+++ b/locale/po/grassmods_fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_fi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-08-17 23:02+0300\n"
 "Last-Translator: Kari Salovaara <kari.salovaara at pp1.inet.fi>\n"
 "Language-Team: Finnish <grass-translations at lists.osgeo.org>\n"
@@ -21,10 +21,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -42,6 +42,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -68,12 +69,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -112,7 +114,7 @@ msgstr ""
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -120,14 +122,16 @@ msgid "Color file for <%s> not available"
 msgstr ""
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -146,7 +150,9 @@ msgstr ""
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -167,7 +173,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -179,7 +185,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -203,17 +209,17 @@ msgstr ""
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -224,7 +230,7 @@ msgstr ""
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -368,10 +374,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr ""
 
@@ -416,21 +425,23 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr ""
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 msgid "Font settings"
 msgstr ""
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr ""
 
@@ -443,11 +454,13 @@ msgstr ""
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr ""
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -538,14 +551,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -587,11 +606,11 @@ msgstr ""
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -668,23 +687,26 @@ msgstr ""
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -694,14 +716,19 @@ msgstr ""
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -749,47 +776,48 @@ msgstr ""
 msgid "[%s]: No such color"
 msgstr ""
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 msgid "Displays information about the active display monitor."
 msgstr ""
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr ""
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -797,31 +825,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -831,10 +860,10 @@ msgstr ""
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -848,7 +877,7 @@ msgstr ""
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -870,7 +899,7 @@ msgstr ""
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr ""
 
@@ -910,7 +939,11 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+msgid "Create 3D charts"
+msgstr ""
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -918,20 +951,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -946,40 +981,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr ""
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 msgid "distance"
 msgstr ""
@@ -1002,10 +1037,6 @@ msgstr ""
 msgid "Line color"
 msgstr ""
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr ""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1063,12 +1094,15 @@ msgstr ""
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1087,17 +1121,18 @@ msgstr ""
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1110,10 +1145,10 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1121,21 +1156,22 @@ msgstr ""
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr ""
 
@@ -1180,16 +1216,18 @@ msgstr ""
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1201,22 +1239,22 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1265,10 +1303,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1318,37 +1356,37 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 msgid "map annotations"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 msgid "Align grids with raster cells"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1357,7 +1395,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1365,7 +1403,7 @@ msgstr[0] ""
 msgstr[1] ""
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1373,69 +1411,69 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 msgid "Color for drawing drawing grid"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 msgid "Color for drawing null values (X symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr ""
 
@@ -1547,24 +1585,24 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 msgid "network"
 msgstr ""
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1573,50 +1611,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr ""
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr ""
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1638,11 +1676,11 @@ msgstr ""
 msgid "Background color"
 msgstr ""
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1662,7 +1700,7 @@ msgstr ""
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1686,7 +1724,7 @@ msgstr ""
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1694,7 +1732,7 @@ msgstr ""
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2038,7 +2076,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2055,15 +2093,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr ""
@@ -2302,12 +2340,13 @@ msgstr ""
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2371,15 +2410,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 
@@ -2401,11 +2440,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr ""
 
@@ -2589,7 +2629,7 @@ msgstr ""
 msgid "Colorize features according color definition column"
 msgstr ""
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 msgid "Color definition in R:G:B form"
 msgstr ""
 
@@ -2864,39 +2904,46 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr ""
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 msgid "Unable to get current working directory"
 msgstr ""
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, c-format
 msgid "Output file: %s"
 msgstr ""
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, c-format
 msgid "Monitor <%s> already running"
 msgstr ""
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, c-format
-msgid "Unable to create file '%s'"
+msgid "Starting monitor <%s>..."
 msgstr ""
 
-#: ../display/d.mon/start.c:163
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Indeksiä ei voida luoda:"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
 #, c-format
-msgid "Starting monitor <%s> with env file '%s'"
+msgid "Unable to create file <%s>"
 msgstr ""
 
 #: ../display/d.mon/select.c:14
@@ -2909,28 +2956,51 @@ msgstr ""
 msgid "Monitor <%s> is not running"
 msgstr ""
 
-#: ../display/d.mon/stop.c:37
-msgid "Env file not found"
-msgstr ""
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Saraketta ei voida poistaa."
+
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Saraketta ei voida poistaa."
 
-#: ../display/d.mon/stop.c:55
-msgid "PID file not found"
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
 msgstr ""
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Indeksiä ei voida luoda:"
+
+#: ../display/d.mon/list.c:80
 msgid "List of running monitors:"
 msgstr ""
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-msgid "Command file not found"
-msgstr ""
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Kursoria ei voida avata"
 
-#: ../display/d.mon/list.c:88
-msgid "Unable to read command file"
+#: ../display/d.mon/list.c:145
+#, c-format
+msgid "No support files found for monitor <%s>"
 msgstr ""
 
 #: ../display/d.mon/main.c:41
@@ -2942,8 +3012,8 @@ msgid "Name of monitor to start"
 msgstr ""
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -2965,9 +3035,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3045,12 +3116,12 @@ msgid "List running monitors and exit"
 msgstr ""
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3063,33 +3134,34 @@ msgstr ""
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr ""
 
@@ -3101,56 +3173,73 @@ msgstr ""
 msgid "Print commands for currently selected monitor and exit"
 msgstr ""
 
-#: ../display/d.mon/main.c:117
-msgid "Do not automatically select when starting"
+#: ../display/d.mon/main.c:118
+msgid "Print path to support files of currently selected monitor and exit"
 msgstr ""
 
 #: ../display/d.mon/main.c:122
-msgid "Release and stop currently selected monitor and exit"
+msgid "Do not automatically select when starting"
 msgstr ""
 
 #: ../display/d.mon/main.c:127
-msgid "Disable true colors"
+msgid "Release and stop currently selected monitor and exit"
 msgstr ""
 
 #: ../display/d.mon/main.c:132
+msgid "Disable true colors"
+msgstr ""
+
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr ""
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr ""
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr ""
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, c-format
 msgid "Option <%s> ignored"
@@ -3200,7 +3289,7 @@ msgid "No map name given"
 msgstr ""
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr ""
@@ -3326,9 +3415,9 @@ msgstr "onnistui"
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr ""
@@ -3373,9 +3462,9 @@ msgstr "Yhteys"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr ""
 
@@ -3388,11 +3477,11 @@ msgstr ""
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr ""
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr ""
 
@@ -3400,7 +3489,7 @@ msgstr ""
 msgid "Describe query only (don't run it)"
 msgstr ""
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr ""
 
@@ -3433,7 +3522,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 msgid "database"
 msgstr ""
@@ -3464,7 +3553,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3475,7 +3564,7 @@ msgstr ""
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr "SQL"
 
@@ -3597,8 +3686,8 @@ msgstr ""
 msgid "Unable to create index:"
 msgstr "Indeksiä ei voida luoda:"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 msgid "Connection failed."
 msgstr ""
 
@@ -3661,7 +3750,7 @@ msgstr ""
 msgid "Unable to allocate handle."
 msgstr ""
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 msgid "Unable to set handle"
 msgstr ""
@@ -3693,7 +3782,7 @@ msgstr ""
 msgid "Unable to select view names."
 msgstr ""
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3732,11 +3821,11 @@ msgstr ""
 msgid "No path given"
 msgstr ""
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 msgid "Unable to connect to Postgres:"
 msgstr ""
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 msgid "Unable to select from Postgres:"
 msgstr ""
 
@@ -3777,27 +3866,27 @@ msgid "Taken not found"
 msgstr ""
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 msgid "Unable to set schema:"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 msgid "Unable to select data types"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, c-format
 msgid "Unable to create database <%s>"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, c-format
 msgid "Unable to drop database <%s>"
 msgstr ""
@@ -3837,6 +3926,11 @@ msgid ""
 "(true)"
 msgstr ""
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Ei voida suorittaa lauseketta."
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr ""
@@ -3912,7 +4006,8 @@ msgstr "OGR tasoa <%s> ei löytynyt"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -3985,20 +4080,20 @@ msgstr ""
 msgid "Unable to open database:"
 msgstr ""
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 msgid "SQLite database connection is still busy"
 msgstr ""
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, c-format
 msgid "Database <%s> already exists"
 msgstr ""
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 msgid "Unable to create database:"
 msgstr ""
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, c-format
 msgid "Database <%s> not found"
 msgstr ""
@@ -4013,6 +4108,10 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr ""
 
+#: ../db/drivers/sqlite/table.c:37
+msgid "Error in sqlite3_exec():"
+msgstr ""
+
 #: ../db/drivers/sqlite/execute.c:83
 msgid "Error in sqlite3_finalize():"
 msgstr ""
@@ -4239,10 +4338,10 @@ msgstr ""
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4261,23 +4360,35 @@ msgstr ""
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
-msgid "Username to set for DB connection"
+#: ../db/db.login/main.c:59
+msgid "Username"
+msgstr ""
+
+#: ../db/db.login/main.c:67
+msgid "Password"
+msgstr ""
+
+#: ../db/db.login/main.c:75
+msgid "Hostname"
+msgstr ""
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
 msgstr ""
 
-#: ../db/db.login/main.c:66
-msgid "Password to set for DB connection"
+#: ../db/db.login/main.c:84
+msgid "Port"
 msgstr ""
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:90
 msgid "Print connection settings and exit"
 msgstr ""
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr ""
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr ""
@@ -4538,6 +4649,7 @@ msgstr "Ala:"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4548,10 +4660,11 @@ msgstr "Ala:"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 msgid "raster3d"
 msgstr ""
 
@@ -4622,19 +4735,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr ""
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -4891,7 +4991,7 @@ msgstr ""
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5511,7 +5611,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5524,12 +5624,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -5628,7 +5729,17 @@ msgstr ""
 msgid "<%s> already exists"
 msgstr ""
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr ""
+
+#: ../general/g.list/list.c:131
+#, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr ""
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -5636,154 +5747,127 @@ msgstr ""
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr ""
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr ""
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr ""
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr ""
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 msgid "Name of mapset to list (default: current search path)"
 msgstr ""
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr ""
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 msgid "'.' for current region; '*' for default region"
 msgstr ""
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr ""
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 msgid "If not given or '-' then standard output"
 msgstr ""
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr ""
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr ""
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:187
-#, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr ""
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, c-format
 msgid "Mapset <%s> does not exist"
 msgstr ""
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr ""
-
-#: ../general/g.list/main.c:522
-#, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr ""
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -5999,9 +6083,9 @@ msgstr ""
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr ""
@@ -6024,7 +6108,7 @@ msgstr ""
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr ""
@@ -6282,38 +6366,38 @@ msgstr ""
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6442,7 +6526,7 @@ msgstr ""
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr ""
@@ -6873,7 +6957,7 @@ msgstr ""
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7058,38 +7142,58 @@ msgid "command line interface with GUI startup screen"
 msgstr ""
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+msgid "Name of workspace file to load on start-up"
+msgstr ""
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7286,8 +7390,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7323,9 +7427,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr ""
@@ -7473,10 +7577,12 @@ msgstr ""
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -7492,10 +7598,14 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -7527,10 +7637,12 @@ msgstr ""
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -7546,10 +7658,14 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -7645,8 +7761,8 @@ msgstr ""
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr ""
 
@@ -7684,7 +7800,7 @@ msgstr ""
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -7713,15 +7829,16 @@ msgstr ""
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 msgid "import"
 msgstr ""
 
@@ -7847,7 +7964,7 @@ msgstr ""
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr ""
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -7856,6 +7973,101 @@ msgstr ""
 msgid "inputs"
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+msgid "algebra"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+msgid "Basename of the new generated output maps"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+msgid "Register Null maps"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
 msgstr ""
@@ -7903,20 +8115,12 @@ msgid ""
 "datasets."
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-msgid "algebra"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -7925,11 +8129,13 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -7937,51 +8143,12 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-msgid "Basename of the new generated output maps"
-msgstr ""
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-msgid "Register Null maps"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -7995,7 +8162,8 @@ msgstr ""
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 msgid "extract"
 msgstr ""
 
@@ -8204,7 +8372,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr ""
 
@@ -8308,6 +8476,44 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+msgid "Comma separated list of coordinates"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+msgid "Sort the maps by category"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+msgid "Number of r.what processes to run in parallel"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+msgid "Output header row"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 msgid ""
 "Samples the input space time dataset(s) with a sample space time dataset and "
@@ -8509,7 +8715,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -8734,6 +8940,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -8796,10 +9003,14 @@ msgid "Extend location extents based on new dataset"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 msgid "Override projection check (use current location's projection)"
 msgstr ""
 
@@ -8807,7 +9018,8 @@ msgstr ""
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 msgid "Assume that the dataset has same projection as the current location"
 msgstr ""
 
@@ -8824,21 +9036,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr ""
 
@@ -8859,21 +9071,21 @@ msgid "Name for output raster map"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr ""
@@ -8910,17 +9122,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9012,8 +9224,8 @@ msgid "Remove existing color table"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr ""
@@ -9055,16 +9267,17 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 msgid "Name of OGR datasource to be imported"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 msgid "Name for output vector map (default: input)"
 msgstr ""
 
@@ -9084,6 +9297,11 @@ msgstr ""
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9106,10 +9324,15 @@ msgstr ""
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 msgid "Output"
 msgstr ""
 
@@ -9123,22 +9346,22 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 msgid "Encoding value for attribute data"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 msgid "Snapping threshold for boundaries (map units)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9152,15 +9375,58 @@ msgid "-1 to list available datum transform parameters"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 msgid "List supported OGR formats and exit"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 msgid "List available OGR layers in data source and exit"
 msgstr ""
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+msgid "Manages display frames on the user's graphics monitor."
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+msgid "Create a new frame if doesn't exist and select"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+msgid "Print name of current frame and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+msgid "Print names of all frames including 'at' position and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 msgid "Edits cell values in a raster map."
 msgstr ""
@@ -9302,7 +9568,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -9311,7 +9577,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -9320,7 +9586,7 @@ msgid "geometry"
 msgstr ""
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -9371,7 +9637,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -9393,15 +9663,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 msgid "Cache size for raster rows"
 msgstr ""
@@ -9451,12 +9721,12 @@ msgid "Optional"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr ""
 
@@ -9540,7 +9810,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -9553,7 +9823,7 @@ msgid "Radius of buffer in raster cells"
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr ""
 
@@ -9581,13 +9851,13 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 msgid "univariate statistics"
 msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 msgid "zonal statistics"
 msgstr ""
@@ -9646,13 +9916,25 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 msgid ""
 "Prints attributes of vector maps registered in a space time vector dataset."
 msgstr ""
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 msgid "select"
 msgstr ""
 
@@ -9688,6 +9970,57 @@ msgstr ""
 msgid "Name of table to drop"
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+msgid "contour"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+msgid "Register empty vector maps"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+msgid "Do not create attribute tables"
+msgstr ""
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr ""
@@ -9708,6 +10041,18 @@ msgstr ""
 msgid "Name for output table (default: input name)"
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr ""
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 msgid "Creates a space time dataset."
 msgstr ""
@@ -9831,6 +10176,56 @@ msgstr ""
 msgid "Lists registered maps of a space time vector dataset."
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+msgid "Output feature type"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+msgid "Name of attribute column to store value"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+msgid "Write raster values as z coordinate"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+msgid "Do not build vector topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 msgid "Joins a database table to a vector map table."
 msgstr ""
@@ -9840,6 +10235,7 @@ msgid "Vector map to which to join other table"
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -9848,6 +10244,7 @@ msgid "Layer where to join"
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 msgid "column"
 msgstr ""
 
@@ -9917,7 +10314,6 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -10184,6 +10580,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -10436,12 +10836,6 @@ msgstr ""
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr ""
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -10451,20 +10845,28 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr ""
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 msgid "Name of attribute column to be updated with the query result"
 msgstr ""
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 msgid "Name of vector map to be queried"
 msgstr ""
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+msgid "query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 msgid "Name of attribute column to be queried"
 msgstr ""
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr ""
 
@@ -10499,73 +10901,89 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
-msgid "Name of extension to install or remove"
+msgid "addons"
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:7
-msgid "Name of toolbox (set of extensions) when -t flag is given"
+msgid "download"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
+msgid "Name of extension to install or remove"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
-msgid "Prefix where to install extension (ignored when flag -s is given)"
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
+msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:11
-msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:12
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
+msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:14
+msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
+msgid "List available extensions in the official GRASS GIS Addons repository"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 msgid "Install"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr ""
 
@@ -10582,20 +11000,25 @@ msgid "Description of the space time dataset"
 msgstr ""
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr ""
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -10612,8 +11035,41 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+msgid "Keyword to be searched"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+msgid "Shell script format"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+msgid "JSON format"
 msgstr ""
 
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
@@ -10722,7 +11178,7 @@ msgid "multispectral"
 msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
-msgid "Name for output image"
+msgid "Name for output image (or text file for -t)"
 msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
@@ -10737,6 +11193,10 @@ msgstr ""
 msgid "Use gnuplot for display"
 msgstr ""
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+msgid "output to text file"
+msgstr ""
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 msgid ""
 "Performs different aggregation algorithms from r.series on all or a subset "
@@ -10749,10 +11209,6 @@ msgstr ""
 msgid "series"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-msgid "Sort the maps by category"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 msgid ""
 "Do not assign the space time raster dataset start and end time to the output "
@@ -10842,6 +11298,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -10854,10 +11311,14 @@ msgid "Sill value"
 msgstr ""
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 msgid "Name for output variance raster map"
 msgstr ""
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -10935,10 +11396,6 @@ msgid ""
 "space time raster datasets."
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 msgid "Basename for output raster maps"
 msgstr ""
@@ -10955,7 +11412,7 @@ msgstr ""
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -11442,7 +11899,7 @@ msgid "radiance"
 msgstr ""
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 msgid "reflectance"
 msgstr ""
@@ -11470,8 +11927,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -11666,8 +12124,8 @@ msgstr ""
 msgid "Calculating..."
 msgstr ""
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -13581,21 +14039,21 @@ msgstr ""
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr ""
@@ -13685,7 +14143,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -13812,7 +14270,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -14209,50 +14667,54 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 msgid "albedo"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 msgid "Computes broad band albedo from surface reflectance."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 msgid "At least two raster maps are required"
 msgstr ""
 
@@ -14416,7 +14878,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -14806,7 +15268,7 @@ msgstr ""
 msgid "My first vector module"
 msgstr ""
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr ""
 
@@ -14944,11 +15406,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -15610,44 +16073,44 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 msgid "patching"
 msgstr ""
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
 msgstr ""
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr ""
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr ""
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr ""
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr ""
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr ""
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -15667,7 +16130,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr ""
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr ""
@@ -16051,8 +16514,8 @@ msgstr ""
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr ""
@@ -16119,50 +16582,17 @@ msgstr ""
 msgid "Converts a raster map into a vector map."
 msgstr ""
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-msgid "Output feature type"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:88
-msgid "Name of attribute column to store value"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr ""
 
-#: ../raster/r.to.vect/main.c:104
-msgid "Write raster values as z coordinate"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:105
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:111
-msgid "Do not build vector topology"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -16191,23 +16621,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr ""
@@ -16244,180 +16676,180 @@ msgstr ""
 msgid "Allocating memory and reading input raster map..."
 msgstr ""
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 msgid "Re-projects a raster map from given location to the current location."
 msgstr ""
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 msgid "Location containing input raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 msgid "Source"
 msgstr ""
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 msgid "Mapset containing input raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 msgid "Default: name of current mapset"
 msgstr ""
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr ""
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr ""
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 msgid "Name for output raster map (default: same as 'input')"
 msgstr ""
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 msgid "Target"
 msgstr ""
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 msgid "Resolution of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 msgid "List raster maps in input mapset and exit"
 msgstr ""
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 msgid "Print input map's bounds in the current projection and exit"
 msgstr ""
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr ""
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr ""
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr ""
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr ""
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr ""
 
@@ -16460,7 +16892,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -16472,7 +16904,7 @@ msgstr ""
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -16486,7 +16918,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -16624,7 +17056,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
 
@@ -16985,21 +17417,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, c-format
+msgid "Using Linke constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:649
+#, c-format
+msgid "Using Linke map <%s>"
+msgstr ""
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, c-format
+msgid "Using albedo map <%s>"
+msgstr ""
+
+#: ../raster/r.sun/main.c:661
+#, c-format
+msgid "Using slope constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:664
+#, c-format
+msgid "Using slope map <%s>"
+msgstr ""
+
+#: ../raster/r.sun/main.c:669
+#, c-format
+msgid "Using aspect constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Kursoria ei voida avata"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -17346,7 +17818,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 msgid "cost allocation"
 msgstr ""
 
@@ -18104,7 +18576,7 @@ msgstr ""
 msgid "Creates watershed basins from a drainage direction map."
 msgstr ""
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -18275,44 +18747,45 @@ msgstr ""
 msgid "Statistics for <%s> updated"
 msgstr ""
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr ""
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -18320,15 +18793,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 
@@ -18391,8 +18864,8 @@ msgstr ""
 msgid "Link to raster map <%s> created."
 msgstr ""
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 msgid "Supported formats:"
 msgstr ""
@@ -18411,13 +18884,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 msgid "Region for the current mapset updated"
 msgstr ""
 
@@ -18442,20 +18915,20 @@ msgstr ""
 msgid "Band to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr ""
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 msgid "Extend region extents based on new dataset"
 msgstr ""
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -18467,13 +18940,21 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+msgid "List available bands including band type in dataset and exit"
+msgstr ""
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, c-format
 msgid "%s= or %s= must be given"
 msgstr ""
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -18482,31 +18963,31 @@ msgstr ""
 msgid "%s= and %s= are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr ""
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr ""
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, c-format
 msgid "Reading band %d of %d..."
 msgstr ""
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr ""
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, c-format
 msgid "Imagery group <%s> created"
 msgstr ""
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr ""
@@ -18675,14 +19156,15 @@ msgstr ""
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -18960,6 +19442,12 @@ msgstr ""
 msgid "Option %s= is ignored if -%c is set"
 msgstr ""
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -19031,8 +19519,8 @@ msgid "Importing band %d..."
 msgstr ""
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 msgid "random"
 msgstr ""
@@ -19137,7 +19625,7 @@ msgstr ""
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, c-format
 msgid "%s cannot be 0"
 msgstr ""
@@ -20110,7 +20598,8 @@ msgstr ""
 msgid "Unable to write to temp file"
 msgstr ""
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 msgid "Generating renumbering scheme..."
 msgstr ""
 
@@ -20148,7 +20637,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr ""
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -20726,23 +21215,23 @@ msgid "unable to open output file"
 msgstr ""
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -20750,8 +21239,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -20857,27 +21346,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -20889,19 +21378,27 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+msgid "Closing TCI and SPI maps"
+msgstr ""
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 msgid "Closing TCI map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+msgid "Closing SPI map"
+msgstr ""
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 msgid "Closing flow direction map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -20925,200 +21422,204 @@ msgstr ""
 msgid "Closing half basins map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 msgid "Inputs"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 msgid "Name of input depressions raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 msgid "Name of input raster map percent of disturbed land"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 msgid "Name of input raster map blocking overland surface flow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 msgid "Minimum size of exterior watershed basin"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 msgid "Maximum length of surface flow in map units"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 msgid "Name for output accumulation raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 msgid "Number of cells that drain through each cell"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+msgid "Stream power index a * tan(b)"
+msgstr ""
+
+#: ../raster/r.watershed/front/main.c:152
 msgid "Name for output drainage direction raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 msgid "Name for output basins raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 msgid "Name for output stream segments raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 msgid "Name for output half basins raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 msgid "Each half-basin is given a unique value"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 msgid "Name for output slope length raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 msgid "Name for output slope steepness raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 msgid "Slope steepness (S) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 msgid "The basin threshold must be a positive number."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -21273,21 +21774,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr ""
@@ -21468,7 +21969,7 @@ msgstr ""
 msgid "Converting <%s>..."
 msgstr ""
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr ""
@@ -21537,7 +22038,7 @@ msgid ""
 msgstr ""
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -21550,11 +22051,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr ""
@@ -21567,55 +22071,77 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 
+#: ../raster/r.univar/r.univar_main.c:123
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 msgid "Name for distance output raster map"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 msgid "Name for value output raster map"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 msgid "Output distances in meters instead of map units"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+msgid "Calculate distance to nearest NULL cell"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, c-format
 msgid "Unknown metric: '%s'"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -21626,126 +22152,131 @@ msgstr ""
 msgid "Reading raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 msgid "Writing output raster maps..."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr ""
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 msgid "null data"
 msgstr ""
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr ""
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 msgid "Name of raster map for which to edit null values"
 msgstr ""
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr ""
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr ""
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr ""
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr ""
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr ""
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr ""
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr ""
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr ""
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr ""
@@ -21794,7 +22325,7 @@ msgstr ""
 msgid "Unable to close raster map <%s@%s>"
 msgstr ""
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr ""
 
@@ -21912,20 +22443,24 @@ msgstr ""
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+msgid "List input and output maps"
+msgstr ""
+
+#: ../raster/r.mapcalc/main.c:167
 #, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 msgid "parse error"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -21934,210 +22469,225 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 msgid "Name of raster file to be imported"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 msgid "Band(s) to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 msgid "Name of GCPs target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+msgid "Name of the output file that contains the imported map names"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 msgid "File prefix for raster attribute tables"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr ""
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 msgid "Perform projection check only and exit"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 msgid "Print number of bands and exit"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, c-format
 msgid "Unable to open datasource <%s>"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, c-format
 msgid "Unable to create new location <%s>"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Indeksiä ei voida luoda:"
+
+#: ../raster/r.in.gdal/main.c:663
 #, c-format
 msgid "Unable to get raster band number %d"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, c-format
 msgid "Importing raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr ""
@@ -22364,7 +22914,7 @@ msgstr ""
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -22684,28 +23234,32 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr ""
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr ""
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, c-format
 msgid "Generating raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 msgid "autocorrelation"
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+msgid "Maximum number of cells to be created"
+msgstr ""
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -23109,32 +23663,32 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 msgid "Unable to find bounding box for lines"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -24114,146 +24668,213 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr ""
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:108
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 msgid "LAS input file"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+msgid "File containing names of LAS input files"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:130
+msgid "Grid-decimated point cloud"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+msgid "Subtract raster values from the z coordinates"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+msgid "Transform"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 msgid "Output raster resolution"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 msgid "If not specified, all points are imported"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 msgid "Print LAS file info and exit"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
+#: ../raster/r.in.lidar/main.c:246
+msgid "Set computation region to match the new raster map"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
-msgid "Import intensity values rather than z values"
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, c-format
-msgid "Input file <%s> does not exist"
+#: ../raster/r.in.lidar/main.c:272
+msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
-#, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Unknown filter option <%s>"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
-msgstr ""
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "Taulua '%s' ei ole olemassa"
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, c-format
+msgid "Input file <%s> does not exist"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
-msgid "Invalid zrange"
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
+#: ../raster/r.in.lidar/main.c:355
+msgid ""
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
+#: ../raster/r.in.lidar/main.c:393
+#, c-format
+msgid "Unknown filter option <%s>"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
+msgid "Invalid zrange"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:710
-msgid "Could not rewind input file"
+#: ../raster/r.in.lidar/main.c:659
+msgid "Writing to map ..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:885
-msgid "Writing to map ..."
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:715
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
+#: ../raster/r.in.lidar/string_list.c:34
 #, c-format
-msgid "Range:     min         max\n"
+msgid "Cannot open file %s for reading"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
 msgstr ""
 
 #: ../raster/r.uslek/main.c:57
@@ -24471,12 +25092,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr ""
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr ""
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -25244,6 +25859,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr ""
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -25294,6 +25916,11 @@ msgstr ""
 msgid "Writing to output raster map..."
 msgstr ""
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr ""
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr ""
@@ -25627,27 +26254,27 @@ msgstr ""
 msgid "Delete the null file"
 msgstr ""
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr ""
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr ""
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr ""
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr ""
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr ""
 
@@ -25681,31 +26308,11 @@ msgstr ""
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr ""
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr ""
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 msgid "Contour levels"
 msgstr ""
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr ""
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr ""
-
 #: ../raster/r.contour/main.c:140
 #, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -25716,29 +26323,31 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr ""
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr ""
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr ""
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr ""
@@ -26500,10 +27109,6 @@ msgstr ""
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-msgid "Output header row"
-msgstr ""
-
 #: ../raster/r.what/main.c:146
 msgid "Show the category labels of the grid cell(s)"
 msgstr ""
@@ -26775,7 +27380,8 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr ""
 
@@ -27348,11 +27954,11 @@ msgstr ""
 msgid "3D Raster map <%s> not found"
 msgstr ""
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr ""
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, c-format
@@ -27524,6 +28130,32 @@ msgstr ""
 msgid "Update range"
 msgstr ""
 
+#: ../raster3d/r3.gradient/main.c:44
+msgid "gradient"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:47
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:56
+msgid "Name for output 3D raster map(s)"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+msgid "Failed to allocate memory for blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:292
+msgid "Writing gradient 3D raster maps..."
+msgstr ""
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 msgid "Unable to close input raster maps"
 msgstr ""
@@ -27670,6 +28302,131 @@ msgstr ""
 msgid "Timestamp format is invalid"
 msgstr ""
 
+#: ../raster3d/r3.flow/main.c:91
+msgid "Please provide three 3D raster maps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "OGR tasoa <%s> ei löytynyt"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:210
+msgid "Name for vector map of flow lines"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:217
+msgid "Name for output flowaccumulation 3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:224
+msgid "Name for 3D raster sampled by flowlines"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "Oletus: paikan karttayksiköt"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+msgid "Unit of integration step"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:244
+msgid "Default unit is cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+msgid "Integration"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:252
+msgid "Integration step in selected unit"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:253
+msgid "Default step is 0.25 cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:261
+msgid "Maximum number of steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:269
+msgid "Maximum error of integration"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+msgid "Create and fill attribute table"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:441
+msgid "Error during reading seed vector map"
+msgstr ""
+
+#: ../raster3d/r3.flow/test_main.c:46
+msgid "Testing flow lines."
+msgstr ""
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -28152,6 +28909,60 @@ msgstr ""
 msgid "Failed to find intersection segment"
 msgstr ""
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Ei voida luoda taulua."
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Kursoria ei voida avata"
+
+#: ../vector/v.net/turntable.c:671
+#, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr ""
+
+#: ../vector/v.net/turntable.c:676
+#, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr ""
+
+#: ../vector/v.net/turntable.c:681
+#, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr ""
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Ei voida luoda taulua."
+
+#: ../vector/v.net/turntable.c:721
+#, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr ""
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Ei voida luoda taulua."
+
+#: ../vector/v.net/turntable.c:743
+#, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr ""
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Ei voida luoda taulua."
+
 #: ../vector/v.net/arcs.c:42
 #, c-format
 msgid "Error reading file: '%s'"
@@ -28180,7 +28991,7 @@ msgstr ""
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -28192,8 +29003,8 @@ msgstr ""
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -28221,76 +29032,114 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+msgid "Turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 msgid "Name of input file"
 msgstr ""
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr ""
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr ""
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 msgid "Snap points to network"
 msgstr ""
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+msgid "Turntable layer"
+msgstr ""
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr ""
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 msgid "network maintenance"
 msgstr ""
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr ""
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, c-format
 msgid "%d new points (nodes) written to output."
 msgstr ""
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr ""
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr ""
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr ""
@@ -28310,8 +29159,9 @@ msgstr ""
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 msgid "points"
 msgstr ""
 
@@ -28340,9 +29190,9 @@ msgstr ""
 msgid "Name of column containing z coordinate"
 msgstr ""
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr ""
 
@@ -28529,13 +29379,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr ""
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr ""
@@ -28717,25 +29567,25 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 msgid "Do not make caps at the ends of polylines"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 msgid "Transfer categories and attributes"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -28743,158 +29593,158 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 msgid "The tolerance must be > 0."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 msgid "Illegal scale value"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 msgid "Unable to create temporary vector map"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 msgid "Buffering features..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 msgid "Cleaning buffers..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 msgid "Breaking polygons..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 msgid "Cleaning boundaries at nodes"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 msgid "Removing dangles..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 msgid "Removing bridges..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 msgid "Calculating centroids for all areas..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 msgid "Deleting boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 msgid "Calculating centroids for areas..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr ""
@@ -29242,7 +30092,7 @@ msgstr ""
 msgid "Not enough disk space--cannot write files"
 msgstr ""
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 msgid "point pattern"
@@ -29287,11 +30137,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -29302,27 +30153,27 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr ""
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr ""
 
@@ -29348,42 +30199,59 @@ msgstr ""
 msgid "Unable to build graph for vector map <%s>"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+msgid "Layer with turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 msgid "Point is not connected to the network"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 msgid "Calculating costs from centers ..."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr ""
 
@@ -29697,93 +30565,93 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 msgid "Import failed"
 msgstr ""
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 msgid "Generates random 2D/3D vector points."
 msgstr ""
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr ""
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 msgid "Restrict points to areas in input vector"
 msgstr ""
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 msgid "Name of column for z values"
 msgstr ""
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 msgid "Writes z values to column"
 msgstr ""
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 msgid "Type of column for z values"
 msgstr ""
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr ""
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 msgid "Generate n points for each individual area"
 msgstr ""
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr ""
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, c-format
 msgid "No areas in vector map <%s>"
 msgstr ""
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr ""
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr ""
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr ""
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr ""
 
@@ -29968,6 +30836,150 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+msgid "generalization"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Paikka"
+
+#: ../vector/v.decimate/main.c:130
+msgid "Decimates a point cloud"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+msgid "Copies only the given number of points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:199
+msgid "Minimal difference of z values"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+msgid "Preserve only n points per grid cell"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+msgid "Only one point per cat in grid cell"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:232
+msgid "Use z in grid decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, c-format
+msgid "Invalid zrange <%s>"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 msgid "Changes type of vector features."
 msgstr ""
@@ -30031,7 +31043,7 @@ msgstr ""
 msgid "Force 2D output even if input is 3D "
 msgstr ""
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -30243,6 +31255,165 @@ msgstr ""
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+msgid "point cloud"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:92
+msgid "cluster"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:93
+msgid "clump"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:94
+msgid "Performs cluster identification."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:102
+msgid "Layer number or name for cluster ids"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:109
+msgid "Maximum distance to neighbors"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:115
+msgid "Minimum number of points to create a cluster"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:123
+msgid "Clustering method"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+msgid "Minimum number of points must be at least 2"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:173
+#, c-format
+msgid "Option %s must be positive"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:186
+msgid "Counting input points ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+msgid "Not enough points in input, nothing to do"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:216
+msgid "Creating search index ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, c-format
+msgid "Option %s must be a positive number"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+msgid "Estimating maximum distance ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Tauluja ei löytynyt"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, c-format
+msgid "Standard deviation: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, c-format
+msgid "Estimated maximum distance: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+msgid "Building clusters ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, c-format
+msgid "No clusters found, adjust option %s"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+msgid "Write out cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:710
+msgid "Loading points ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+msgid "Not enough points found"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "Tauluja ei löytynyt"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "Tauluja ei löytynyt"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -30307,7 +31478,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -30565,14 +31736,8 @@ msgstr ""
 msgid "Loading data..."
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr ""
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr ""
@@ -30627,17 +31792,17 @@ msgstr ""
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr ""
 
@@ -30790,74 +31955,74 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, c-format
 msgid "Number of cities: %d"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 msgid "Creating cost cache..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, c-format
 msgid "No point at node %d"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, c-format
 msgid "No category for point at node %d"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr ""
@@ -31017,6 +32182,20 @@ msgstr ""
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, c-format
+msgid "4 values required for '%s' option"
+msgstr ""
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, c-format
+msgid "Unknown return filter value <%s>"
+msgstr ""
+
+#: ../vector/v.in.pdal/projection.c:125
+msgid "Overriding projection check"
+msgstr ""
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 msgid "layer"
 msgstr ""
@@ -31129,7 +32308,7 @@ msgid "Processing features..."
 msgstr ""
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr ""
 
@@ -31195,7 +32374,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr ""
@@ -31557,7 +32736,7 @@ msgstr ""
 msgid "%d records updated"
 msgstr ""
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -31655,8 +32834,9 @@ msgstr ""
 msgid "Unable to tokenize column string: [%s]"
 msgstr ""
 
-#: ../vector/v.transform/main.c:277
-msgid "Tranforming features..."
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr ""
 
 #: ../vector/v.transform/main.c:290
@@ -32046,7 +33226,7 @@ msgstr ""
 msgid "Column type not supported, please use a column with double type"
 msgstr ""
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 msgid "Reading features from vector map..."
 msgstr ""
 
@@ -32127,6 +33307,10 @@ msgstr ""
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr ""
 
@@ -32186,55 +33370,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Saraketta <%s> ei löytynyt taulusta <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:245
-#, c-format
+#: ../vector/v.what.rast/main.c:256
+#, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
-msgstr ""
+msgstr "Kursoria ei voida avata"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:654
-#, c-format
+#: ../vector/v.what.rast/main.c:665
+#, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
-msgstr ""
+msgstr "Kursoria ei voida avata"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, c-format
 msgid "%d records updated."
 msgstr ""
@@ -33036,49 +34225,58 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr ""
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 msgid "Region"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 msgid "Exclude attributes not linked to features"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr ""
@@ -33343,7 +34541,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr ""
@@ -33367,19 +34565,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr ""
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr ""
 
@@ -33394,6 +34592,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr ""
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr ""
@@ -33646,7 +34849,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr ""
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 msgid "Only numeric column type is supported"
 msgstr ""
 
@@ -33664,57 +34868,57 @@ msgstr ""
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -34261,43 +35465,47 @@ msgstr ""
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
-msgid "Use either length or vertices"
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
 msgstr ""
 
 #: ../vector/v.split/main.c:108
+msgid "Use either length or vertices"
+msgstr ""
+
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, c-format
 msgid "Unknown unit %s"
 msgstr ""
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 msgid "Can not get projection units"
 msgstr ""
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, c-format
 msgid "Length in map units: %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, c-format
 msgid "Length in meters: %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 msgid "Number of vertices must be at least 2"
 msgstr ""
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -34388,10 +35596,6 @@ msgstr ""
 msgid "Reading categories..."
 msgstr ""
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr ""
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -34555,7 +35759,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr ""
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr ""
@@ -34800,199 +36004,219 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr ""
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 msgid "Name of input vector map to re-project"
 msgstr ""
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 msgid "Maximum segment length in meters in output vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 msgid "List vector maps in input mapset and exit"
 msgstr ""
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr ""
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 msgid "No vector maps found"
 msgstr ""
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr ""
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr ""
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, c-format
 msgid "Input vector map <%s> is empty"
 msgstr ""
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 msgid "Reprojecting primitives ..."
 msgstr ""
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr ""
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr ""
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+msgid "Do not expect input with topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
-msgid "Copy also attribute table"
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
 #: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
+msgid "Copy also attribute table"
+msgstr ""
+
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr ""
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr ""
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, c-format
 msgid "Patching vector map <%s>..."
 msgstr ""
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr ""
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr ""
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr ""
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr ""
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr ""
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr ""
@@ -35616,288 +36840,284 @@ msgstr[1] ""
 msgid "Operation not implemented"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
 "\t\tMapInfo File: directory containing mapinfo files"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
 "\t\tMapInfo File: mapinfo file name"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 msgid "Minimum size of area to be imported (square meters)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 msgid "import area centroids as points"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 msgid "import area boundaries as lines"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 msgid "import lines as area boundaries"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 msgid "import points as centroids"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 msgid "Name of column used for categories"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 msgid "Name of geometry column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 msgid "If not given, all geometry columns from the input are used"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 msgid "Force 2D output even if input is 3D"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 msgid "No OGR layers available"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, c-format
 msgid "Using temporary vector <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, c-format
 msgid "Key column '%s' not found"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, c-format
 msgid "Key column '%s' is not integer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
+#: ../vector/v.in.ogr/main.c:1128
 #, c-format
-msgid "Column type not supported (%s)"
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, c-format
 msgid "%d %s without geometry skipped"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 msgid "Cleaning polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 msgid "Merging boundaries..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 msgid "Changing boundary dangles to lines..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 msgid "Changing boundary bridges to lines..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -35905,99 +37125,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, c-format
 msgid "Unable to drop table: '%s'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -36040,15 +37260,19 @@ msgstr ""
 msgid "Unknown geometry type"
 msgstr ""
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 msgid "Name of input OGR or PostGIS data source"
 msgstr ""
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr ""
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -36056,19 +37280,19 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr ""
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 msgid "List available layers in data source and exit"
 msgstr ""
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 msgid "List available layers including feature type in data source and exit"
 msgstr ""
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -36125,17 +37349,17 @@ msgid ""
 "PostGIS feature table."
 msgstr ""
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, c-format
 msgid "Unable to delete '%s'"
 msgstr ""
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr ""
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, c-format
 msgid "Link to vector map <%s> created."
 msgstr ""
@@ -36259,58 +37483,58 @@ msgstr ""
 msgid "Unable to close new 3d raster map"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 msgid "isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr ""
@@ -36461,6 +37685,123 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, c-format
+msgid "No record for cat = %d"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:188
+#, c-format
+msgid "NULL value for cat = %d"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:197
+#, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:485
+msgid "Exports vector points as LAS point cloud"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:486
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+msgid "Layer number to store generated point ID as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+msgid "Categories"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+msgid "Layer number to store return number as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+msgid "Layer number to store class number as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:534
+msgid "Layer number where RGB color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+msgid "Layer number where red color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+msgid "Layer number where blue color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+msgid "Column with return number"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:581
+msgid "RGB color definition column"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:588
+msgid "Column with red color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+msgid "Limit export to the current region"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Ei voida ladata taulua."
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -36642,7 +37983,7 @@ msgstr ""
 msgid "Invalid segment number %d for %d points"
 msgstr ""
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 msgid "At least one point is really inside the area!"
 msgstr ""
 
@@ -36771,9 +38112,9 @@ msgid "Not enough column names"
 msgstr ""
 
 #: ../vector/v.distance/main.c:315 ../vector/v.distance/main.c:335
-#, c-format
+#, fuzzy, c-format
 msgid "Input vector map <%s> is 3D"
-msgstr ""
+msgstr "Kursoria ei voida avata"
 
 #: ../vector/v.distance/main.c:326 ../vector/v.distance/main.c:347
 #, c-format
@@ -36930,47 +38271,222 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Kursoria ei voida avata"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:111
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
+#: ../vector/v.in.lidar/main.c:135
+msgid "Layer number to store number of returns as category"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:149
+msgid "Layer number where RBG colors is stored as category"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+msgid "Name of vector map with areas where the points should be imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:221
+msgid "Layer number or name for mask option"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Paikka"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:258
+msgid "Import only n points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:259
+msgid "Imports only the given number of points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:282
+msgid "Invert mask when selecting points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:296
+msgid "Store only the coordinates"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:298
+msgid "Do not add categories to points and do not create attribute table"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, c-format
-msgid "Unable open database <%s> by driver <%s>"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:619
+#, c-format
+msgid "Scanning %llu points..."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:621
+#, c-format
+msgid "Scanning %lu points..."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:755
+#, c-format
+msgid "%llu points imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:758
+#, c-format
+msgid "%llu input points were not valid"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:760
+#, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:762
+#, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:764
+#, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:766
+#, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:768
+#, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:770
+#, c-format
+msgid "%llu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:773
+#, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:777
+#, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:781
+#, c-format
+msgid "%lu points imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:783
+#, c-format
+msgid "%lu input points were not valid"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:785
+#, c-format
+msgid "%lu input points were outside of the selected area"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:787
 #, c-format
-msgid "Scanning %d points..."
+msgid "%lu input points were outside of the area specified by mask"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:789
 #, c-format
-msgid "%d points imported"
+msgid "%lu input points were filtered out by return number"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:791
 #, c-format
-msgid "%d input points were not valid"
+msgid "%lu input points were filtered out by class number"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:793
 #, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:795
 #, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:798
 #, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped by count-based decimation"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+msgid "The rest of points was ignored"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
 msgstr ""
 
 #: ../vector/v.surf.bspline/crosscorr.c:75
@@ -37124,7 +38640,7 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -38078,10 +39594,6 @@ msgstr ""
 msgid "Resolving conflicts..."
 msgstr ""
 
-#: ../vector/v.generalize/main.c:77
-msgid "generalization"
-msgstr ""
-
 #: ../vector/v.generalize/main.c:78
 msgid "simplification"
 msgstr ""
@@ -38246,57 +39758,57 @@ msgstr ""
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr ""
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, c-format
 msgid "Using threshold: %g %s"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr ""
diff --git a/locale/po/grassmods_fr.po b/locale/po/grassmods_fr.po
index 6aa8362..b2710f2 100644
--- a/locale/po/grassmods_fr.po
+++ b/locale/po/grassmods_fr.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2014-01-01 11:35+0100\n"
 "Last-Translator: Sylvain Maillard <sylvain.maillard at gmail.com>\n"
 "Language-Team: Français <grass-translations at lists.osgeo.org>\n"
@@ -25,10 +25,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -46,6 +46,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -75,12 +76,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -126,7 +128,7 @@ msgstr "Respecter les valeurs NULL lors du dessin"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, fuzzy, c-format
@@ -134,14 +136,16 @@ msgid "Color file for <%s> not available"
 msgstr "Fichier de couleur de [%s] non disponible"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -160,7 +164,9 @@ msgstr "Fichier de couleur de [%s] non disponible"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -181,7 +187,7 @@ msgstr "Fichier de couleur de [%s] non disponible"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -193,7 +199,7 @@ msgstr "Fichier de couleur de [%s] non disponible"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -217,17 +223,17 @@ msgstr "Fichier de couleur de [%s] non disponible"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -238,7 +244,7 @@ msgstr "Fichier de couleur de [%s] non disponible"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -391,10 +397,13 @@ msgstr "Affiche la légende de la couche raster du moniteur actif."
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 #, fuzzy
 msgid "Input"
 msgstr "couche source"
@@ -447,22 +456,24 @@ msgstr ""
 "Utiliser un sous-ensemble de l'intervalle des valeurs de la carte pour la "
 "légende (min, max)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Couleur du texte"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Afficher également les paramètres 3D"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "nom de la police"
 
@@ -477,12 +488,14 @@ msgstr "Taille d'icone"
 msgid "Default: Auto-scaled"
 msgstr "Défaut : centre de la carte"
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 #, fuzzy
 msgid "Path to font file"
 msgstr "Chemin du fichier VTK en sortie"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -594,14 +607,20 @@ msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 "utilisation=%s hors de l'intervalle [%.3f, %.3f]. (étendre à l'intervalle= ?)"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Rien à dessiner! (pas de catégories liées aux étiquettes?)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 #, fuzzy
 msgid ""
@@ -654,11 +673,11 @@ msgstr "Nom de la nouvelle couche raster"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -740,23 +759,26 @@ msgstr "Liste de catégories à afficher (couche en entiers INT)"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -766,14 +788,19 @@ msgstr "Liste de catégories à afficher (couche en entiers INT)"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -827,54 +854,55 @@ msgstr ""
 msgid "[%s]: No such color"
 msgstr "[%s] ne correspond pas à une couleur connue"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 #, fuzzy
 msgid "monitors"
 msgstr "Lister tous les moniteurs"
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Afficher les informations sur le moniteur actif"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 #, fuzzy
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Afficher le rectangle écran"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 #, fuzzy
 msgid "Display screen dimensions (width, height)"
 msgstr "Afficher les dimensions de l'écran"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 #, fuzzy
 msgid "Display active frame rectangle"
 msgstr "Afficher le rectangle écran"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Afficher les dimensions de l'écran"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 #, fuzzy
 msgid "Display screen rectangle of current region"
 msgstr "Afficher le rectangle écran"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -882,32 +910,33 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, fuzzy, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
 "La connexion à la base de données n'a pas été définie pour la couche <%d>"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -917,10 +946,10 @@ msgstr ""
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -935,7 +964,7 @@ msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Impossible d'ouvrir la base de données %s avec le pilote %s"
 
 # c-format
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -960,7 +989,7 @@ msgstr "Type de diagramme"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 #, fuzzy
 msgid "Chart properties"
 msgstr "Type de diagramme"
@@ -1003,8 +1032,13 @@ msgstr "Valeur maximale utilisée pour le diagramme en barres"
 msgid "Create legend information and send to stdout"
 msgstr ""
 
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Crée une sortie 3D"
+
 # c-format
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -1012,20 +1046,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -1040,40 +1076,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Impossible d'ouvrir la couche vecteur [%s]"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1098,11 +1134,6 @@ msgstr "Utiliser les coordonnées du centre de la couche\n"
 msgid "Line color"
 msgstr "Couleur de ligne"
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr "Couleur du texte"
-
 # c-format
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
@@ -1169,12 +1200,15 @@ msgstr "L: depuis  M: vers R: quitter\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1193,17 +1227,18 @@ msgstr "L: depuis  M: vers R: quitter\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1216,10 +1251,10 @@ msgstr "L: depuis  M: vers R: quitter\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1227,21 +1262,22 @@ msgstr "L: depuis  M: vers R: quitter\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr ""
 
@@ -1291,16 +1327,18 @@ msgstr "couche vecteur <%s> introuvable"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1312,22 +1350,22 @@ msgstr "couche vecteur <%s> introuvable"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1385,10 +1423,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1443,12 +1481,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Nom de la couche raster à utiliser pour <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Affiche l'information topologique (déboguage)"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1457,30 +1495,30 @@ msgstr ""
 "Superpose les valeurs de catégorie des cellules sur la couche raster "
 "affichée dans lemoniteur."
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 #, fuzzy
 msgid "Grid color"
 msgstr "Couleur de la bordure"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "Nombre de chiffres significatifs (virgule flottante uniquement)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "couche vecteur des points de départ"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 "Choisir la couleur du texte en fonction de la valeur de couleur de la cellule"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1489,7 +1527,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1497,7 +1535,7 @@ msgstr[0] "Couleur de la bordure"
 msgstr[1] "Couleur de la bordure"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1509,11 +1547,11 @@ msgstr ""
 "moniteur graphique risque d'être trop petites pour que le code de catégorie "
 "soit visible."
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
@@ -1521,66 +1559,66 @@ msgstr ""
 "Tracer des flèches représentant la direction d'aspect des cellules pour une "
 "couche rastercontenant des données d'aspect."
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Nom de la couche raster d'aspect à afficher"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Nom de la couche raster d'aspect existante"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Couleur utilisée pour tracer les flèches"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Couleur utilisée pour tracer les flèches"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Couleur pour tracer les X (valeurs Null)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Couleur pour afficher les informations manquantes"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "Tracer une flèche sur chaque chaque énième cellule de la grille"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 "Couche raster contenant les valeurs utilisées pour la longueur des flèches"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Facteur d'échelle pour les flèches (cartes de magnitude)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 #, fuzzy
 msgid "Illegal value for scale factor"
 msgstr "Valeur illégale pour le facteur d'échelle"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "Valeur illégale pour le facteur de saut"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr "La magnitude n'est gérée que pour les couches GRASS d'aspect"
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 #, fuzzy
 msgid "Scale option requires magnitude_map"
 msgstr "L'option échelle requiert une couche de magnitude"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "Problème de lecture du fichier d'intervalle de valeurs"
@@ -1709,17 +1747,17 @@ msgid ""
 "\n"
 msgstr "  Distance jusqu'au réseau = %f, distance depuis le réseau = %f\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1727,7 +1765,7 @@ msgstr "Afficher l'index"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1736,53 +1774,53 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 #, fuzzy
 msgid "Arc type"
 msgstr "Type de diagramme"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 #, fuzzy
 msgid "Arc layer"
 msgstr "Requêter la couche"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 #, fuzzy
 msgid "Node layer"
 msgstr "Requêter la couche"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1807,11 +1845,11 @@ msgstr "Lecture du fichier %s..."
 msgid "Background color"
 msgstr "Couleur de fond"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 #, fuzzy
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "%s ne fonctionne pas avec un Secteur latitude-longitude"
@@ -1832,7 +1870,7 @@ msgstr "%s=%s - nom illégal"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1857,7 +1895,7 @@ msgstr "Afficher l'index"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1865,7 +1903,7 @@ msgstr "Afficher l'index"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2260,7 +2298,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2278,16 +2316,16 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "L'option Geo-Grid n'est pas disponible en projection LL"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 "Impossible d'obtenir les valeurs clefs de projection pour le Secteur courant"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "Impossible de fixer les paramètres de projection latitude/longitude"
@@ -2562,12 +2600,13 @@ msgstr "Coordonnées invalides : %s %s"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2641,16 +2680,16 @@ msgstr "Ambiguïté sur les ellipsoïdes latitude/longitude"
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "Veuillez spécifier un ellipsoïde latitude/longitude avec -l ou -w"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 "Impossible d'obtenir les informations de projection pour le Secteur courant"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "Impossible d'obtenir les unités de projection pour le Secteur courant"
 
@@ -2675,11 +2714,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "Impossible de créer la couche raster <%s>"
@@ -2895,7 +2935,7 @@ msgstr ""
 "Nom de la colonne de définition de couleur (pour l'utilisation d'un drapeau -"
 "a)"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "La colonne de définition de couleur n'est pas spécifiée."
@@ -3209,44 +3249,52 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s] ne correspond pas à une couleur connue"
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr ""
 "Couche raster %i le nom de fichier %s existe déjà. Ce fichier va être "
 "écrasé!\n"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "impossible de mettre à jour l'emprise de la région courante"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "couche de sortie"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Pas de moniteur sélectionné"
 
 # c-format
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Impossible de créer le fichier de cellules pour [%s]"
+msgid "Starting monitor <%s>..."
+msgstr "Écriture %s..."
 
-#: ../display/d.mon/start.c:163
-#, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Impossible de lire le fichier couleur"
+
+# c-format
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, fuzzy, c-format
+msgid "Unable to create file <%s>"
+msgstr "Impossible de créer le fichier de cellules pour [%s]"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3258,34 +3306,58 @@ msgstr "Pas de moniteur sélectionné"
 msgid "Monitor <%s> is not running"
 msgstr "raster <%s> non trouvé"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "fichier de cellules non trouvé\n"
+# c-format
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Impossible de créer le fichier de cellules pour [%s]"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "fichier de cellules non trouvé\n"
+# c-format
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Impossible d'ouvrir la couche raster <%s>"
 
-#: ../display/d.mon/list.c:47
+# c-format
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, fuzzy, c-format
+msgid "Unable to open file <%s>"
+msgstr "Impossible d'ouvrir le fichier de cellules pour [%s]"
+
+# c-format
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Impossible de créer le fichier de cellules pour [%s]"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Lister tous les moniteurs"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "fichier de cellules non trouvé\n"
+# c-format
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Impossible d'ouvrir le fichier de cellules pour [%s]"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Impossible de lire le fichier couleur"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Ne pas ajouter à la liste des commandes dans le moniteur"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3297,8 +3369,8 @@ msgid "Name of monitor to start"
 msgstr "Nom du moniteur graphique à démarrer"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3322,9 +3394,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3404,12 +3477,12 @@ msgid "List running monitors and exit"
 msgstr "Lister les formats gérés et quitter"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3422,33 +3495,34 @@ msgstr "Lister les formats gérés et quitter"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Afficher"
 
@@ -3462,61 +3536,79 @@ msgstr "Afficher le nom du moniteur sélectionné"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Afficher le nom du moniteur sélectionné"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Afficher le nom du moniteur sélectionné"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "Ne pas sélectionner automatiquement le moniteur au démarrage"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Désélectionner le moniteur actif"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "Impossible de lire cette couleur"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Ouvrir le formulaire en mode édition"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 #, fuzzy
 msgid "Currently selected monitor:"
 msgstr "Désélectionner le moniteur actif"
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, fuzzy, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr "Ne pas ajouter à la liste des commandes dans le moniteur"
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, fuzzy, c-format
 msgid "Monitor <%s> released"
 msgstr "Pas de moniteur sélectionné"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "Pas de moniteur sélectionné"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "L'une des options, soit texte soit -c, doit être sélectionnée."
 
 # c-format
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3572,7 +3664,7 @@ msgid "No map name given"
 msgstr "Aucune couche de données spécifiée"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Editer le fichier de catégorie de [%s]?"
@@ -3716,9 +3808,9 @@ msgstr "...réussi."
 # c-format
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Impossible d'ouvrir le fichier [%s] en lecture"
@@ -3770,9 +3862,9 @@ msgstr "Corrélation"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "format OGR"
@@ -3787,12 +3879,12 @@ msgstr "Centile à calculer (requiert le drapeau -e)"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 #, fuzzy
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Nom de la couche binaire à créer (utiliser output=- pour stdout)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "Ne pas inclure de nom de colonnes en sortie"
 
@@ -3801,7 +3893,7 @@ msgstr "Ne pas inclure de nom de colonnes en sortie"
 msgid "Describe query only (don't run it)"
 msgstr "uniquement décrire la requête (ne pas l'exécuter)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Sortie verticale (à la place d'horizontale)"
 
@@ -3834,7 +3926,7 @@ msgstr "Tester uniquement les requêtes, ne pas les éxécuter"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3866,7 +3958,7 @@ msgstr "nom de la base de donnée"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3878,7 +3970,7 @@ msgstr "Affiche les attributs des vecteurs"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -4021,8 +4113,8 @@ msgstr "Impossible de lire le fichier couleur"
 msgid "Unable to create index:"
 msgstr "Impossible de créer le texte"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Corrélation"
@@ -4103,7 +4195,7 @@ msgstr "Impossible de créer le segment de fichier %s"
 msgid "Unable to allocate handle."
 msgstr "Impossible d'allouer la mémoire."
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -4140,7 +4232,7 @@ msgstr "Impossible de sélectionner des données dans la table"
 msgid "Unable to select view names."
 msgstr "Impossible de sélectionner des données dans la table"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -4180,12 +4272,12 @@ msgstr "Mémoire insuffisante"
 msgid "No path given"
 msgstr "Aucune couche de données spécifiée"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Impossible de sélectionner des données dans la table"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Impossible de sélectionner des données dans la table"
@@ -4235,32 +4327,32 @@ msgid "Taken not found"
 msgstr "%s non trouvé"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 #, fuzzy
 msgid "Unable to create index"
 msgstr "Impossible de créer le texte"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "Impossible de paramétrer la taille"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Impossible de sélectionner des données dans la table"
 
 # c-format
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "impossible de créer la sortie <%s>"
 
 # c-format
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Impossible d'ouvrir la couche raster <%s>"
@@ -4307,6 +4399,11 @@ msgstr ""
 "colonne '%s' : type bool (booléen) enregistré comme char(1) avec '0' (faux) "
 "ou '1' (vrai)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Impossible de paramétrer la taille"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Option inconnue dans la définition de base PostgreSQL : "
@@ -4399,7 +4496,8 @@ msgstr "raster <%s> non trouvé"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, fuzzy, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4486,23 +4584,23 @@ msgstr "Impossible d'ouvrir la couche raster <%s>"
 msgid "Unable to open database:"
 msgstr "Impossible d'ouvrir la couche raster <%s>"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "La connexion à la base de données n'a pas été définie"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "ERREUR: <%s> existe déjà\n"
 
 # c-format
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Impossible de créer le fichier de cellules pour [%s]"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "raster <%s> non trouvé"
@@ -4518,6 +4616,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "Pilote SQLite : colonne '%s', type de donnée SQLite %d non géré"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Erreur de fermeture du fichier VTK-ASCII"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4788,10 +4891,10 @@ msgstr "Suppression des centroïdes en doublons..."
 # c-format
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, fuzzy, c-format
 msgid "Unable to describe table <%s>"
@@ -4814,27 +4917,40 @@ msgid "Sets user/password for DB driver/database."
 msgstr ""
 "Définir utilisateurs/mot de passe pour le pilote de la base de données."
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Impossible de créer le segment de fichier %s"
+msgid "Username"
+msgstr "nom =%s\n"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Impossible de créer le segment de fichier %s"
+msgid "Password"
+msgstr "Masque: %s\n"
+
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Nom de test"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "affiche les paramètres de connexion courants et quitte"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 #, fuzzy
 msgid "Unable to set user/password"
 msgstr "Impossible de définir utilisateur/mot de passe"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Le mot de passe a été stocké dans un fichier."
@@ -5134,6 +5250,7 @@ msgstr "Entité surfacique\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -5144,10 +5261,11 @@ msgstr "Entité surfacique\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "Valeur raster"
@@ -5221,20 +5339,6 @@ msgstr "Il faut utiliser soit le drapeau -i et/ou le paramètre itinéraire"
 msgid "Off-screen only available with full render mode"
 msgstr "L'affichage hors écran n'est disponible qu'en mode affichage complet"
 
-# c-format
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, fuzzy, c-format
-msgid "Unable to open file <%s>"
-msgstr "Impossible d'ouvrir le fichier de cellules pour [%s]"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5519,7 +5623,7 @@ msgstr ""
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -6183,7 +6287,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -6196,12 +6300,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6321,7 +6426,18 @@ msgstr ""
 msgid "<%s> already exists"
 msgstr "ERREUR: <%s> existe déjà\n"
 
-#: ../general/g.list/main.c:91
+# c-format
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Impossible d'écrire la couche raster lac <%s>!"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "impossible d'ouvrir le fichier vecteur <%s> dans <%s>"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6329,7 +6445,7 @@ msgstr "ERREUR: <%s> existe déjà\n"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 #, fuzzy
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
@@ -6338,16 +6454,16 @@ msgstr ""
 "Lister les fichiers de base de données GRASS disponibles du type spécifié "
 "par l'utilisateur vers la sortie standard."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 #, fuzzy
 msgid "Map name search pattern (default: all)"
 msgstr ""
 "motif à recherche dans le nom de couche, doit être entre simples guillemets "
 "(par défaut: tous)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6355,153 +6471,119 @@ msgstr ""
 msgid "Pattern"
 msgstr "Valeur raster"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
 msgstr ""
 "motif à recherche dans le nom de couche, doit être entre simples guillemets "
 "(par défaut: tous)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "jeu de données à lister (par défaut : chemin de recherche courant)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Nom du jeu de données (par défaut : le jeu de données courant)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Définir la région actuelle à partir de la région spécifiée"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Nom du fichier de sortie"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr ""
 "Fichier ASCII à convertir en fichier vecteur binaire, si rien n'est indiqué "
 "prendreles paramètres saisis en ligne de commande"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 #, fuzzy
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "utiliser une expression régulière à la place d'une wildcard"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 #, fuzzy
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "utiliser une expression régulière à la place d'une wildcard"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "Écrire uniquement le type de couche"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 #, fuzzy
 msgid "Pretty printing in human readable format"
 msgstr "Supprimer l'affichage des informations d'en-tête"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 #, fuzzy
 msgid "Verbose listing (also list map titles)"
 msgstr "Sortie détaillée (lister aussi les titres de couches)"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr ""
-"les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-"qu'un seul."
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr ""
-"les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-"qu'un seul."
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-"les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-"qu'un seul."
-
 # c-format
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "impossible d'ouvrir <%s>"
 
 # c-format
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "La couche raster [%s] n'existe pas"
 
-# c-format
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Impossible d'écrire la couche raster lac <%s>!"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "impossible d'ouvrir le fichier vecteur <%s> dans <%s>"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 #, fuzzy
 msgid "Unable to update lat/long projection parameters"
 msgstr "Impossible de fixer les paramètres de projection longitude/latitude"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Erreur dans pj_do_proj (projection du couple de coordonnées en entrée)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6510,7 +6592,7 @@ msgstr ""
 "possède pas deparamètres de transformation de datume. Essayez de lancer g."
 "setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6755,9 +6837,9 @@ msgstr "région <%s> non trouvée"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "couche raster 3D <%s> non trouvée"
@@ -6782,7 +6864,7 @@ msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
 # c-format
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, fuzzy, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Police invalide : %s"
@@ -7078,38 +7160,38 @@ msgstr "Produit les statistiques à la façon d'un script shell"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -7256,7 +7338,7 @@ msgstr "Nom de(s) la couche(s) raster à requêter"
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 #, fuzzy
 msgid "Operation to be performed"
@@ -7743,7 +7825,7 @@ msgstr "impossible d'ouvrir le fichier en entrée <%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7954,38 +8036,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "fichier de cellules non trouvé\n"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Fichier raster à importer"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
+msgstr ""
+
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -8205,8 +8308,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr "Modifier"
 
@@ -8244,9 +8347,9 @@ msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
 # c-format
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, fuzzy, c-format
 msgid "Location <%s> created"
 msgstr "Secteur %s créé!"
@@ -8411,10 +8514,12 @@ msgstr "Affiche la matrice de correlation"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8430,10 +8535,14 @@ msgstr "Affiche la matrice de correlation"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8468,10 +8577,12 @@ msgstr "Boîte à outil pour nettoyer la topologie vectorielle"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8487,10 +8598,14 @@ msgstr "Boîte à outil pour nettoyer la topologie vectorielle"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8598,8 +8713,8 @@ msgstr ""
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "Importer"
@@ -8641,7 +8756,7 @@ msgstr "Importer du fichier SPOT VGT NDVI sous forme de couche raster."
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8671,15 +8786,16 @@ msgstr "groupes d'images"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Importer"
@@ -8743,7 +8859,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "Nom de la couche raster"
+msgstr "Nom d'une couche raster"
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8836,7 +8952,7 @@ msgstr "Nom de la base de données"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Convertit des couches rasters 3D en couches rasters 2D"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8846,6 +8962,107 @@ msgstr ""
 msgid "inputs"
 msgstr "couche source"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Convertit des couches rasters 3D en couches rasters 2D"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "Importation vecteur complète"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Lister les couches raster de l'emplacement source et quitter"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Nom du nouveau fichier raster"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Nombre de copies à imprimer"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "couche raster d'entrée"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8902,21 +9119,12 @@ msgid ""
 "datasets."
 msgstr "Lister les couches raster de l'emplacement source et quitter"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "Importation vecteur complète"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8925,11 +9133,13 @@ msgstr "Importation vecteur complète"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8937,54 +9147,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Nom du nouveau fichier raster"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Nombre de copies à imprimer"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "couche raster d'entrée"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8999,7 +9168,8 @@ msgstr "Nom d'une couche raster"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "Importation vecteur complète"
@@ -9238,7 +9408,7 @@ msgstr "Méthode d'interpolation à utiliser"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Méthode d'interpolation à utiliser"
 
@@ -9357,6 +9527,49 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr "Nombre de colonnes"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Liste de valeurs séparées par des virgules. Exemple : 1.4,3.8,13"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Nom du fichier où stocker le résultat"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Impossible d'ouvrir la base de données %s"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Nombre de copies à imprimer"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "couche raster en sortie"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9586,7 +9799,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9835,6 +10048,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9905,10 +10119,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Étendre le Secteur actuel en fonction des données importés"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Ne pas tenir compte de la projection (utiliser celle du Secteur)"
@@ -9917,7 +10135,8 @@ msgstr "Ne pas tenir compte de la projection (utiliser celle du Secteur)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "Impossible d'obtenir les unités de projection pour le Secteur courant"
@@ -9935,21 +10154,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 #, fuzzy
 msgid "In scan mode, print using shell script style"
 msgstr "Produit les statistiques à la façon d'un script shell"
@@ -9977,7 +10196,7 @@ msgstr ""
 "Nom de la couche raster de sortie"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 #, fuzzy
 msgid "Statistic to use for raster values"
 msgstr "Statistique de couches raster."
@@ -9985,14 +10204,14 @@ msgstr "Statistique de couches raster."
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Statistique"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Type de stockage pour la couche raster créée"
@@ -10036,18 +10255,18 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Facteur d'échelle pour les valeurs de colonnes attributaires"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Pourcentage de la couche à garder en mémoire"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 #, fuzzy
 msgid "pth percentile of the values"
 msgstr "Format de sortie pour la pente"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -10154,8 +10373,8 @@ msgid "Remove existing color table"
 msgstr "Garder la table de couleurs existante"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -10203,12 +10422,13 @@ msgid ""
 msgstr "Convertit des fichiers vecteurs OGR dans GRASS. Pilotes disponibles:\n"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Fichier raster à importer"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 #, fuzzy
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
@@ -10216,7 +10436,7 @@ msgstr ""
 "disponibles seront seulement affichées"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Titre du fichier raster de sortie"
@@ -10237,6 +10457,11 @@ msgstr "Titre du fichier raster de sortie"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -10259,10 +10484,15 @@ msgstr "Titre du fichier raster de sortie"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "couche de sortie"
@@ -10273,29 +10503,30 @@ msgid "Output vector map extent"
 msgstr "couche raster des zones à problèmes"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Ajuster la région actuelle à la couche source"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Erreur de lecture du fichier cats de <%s>"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Seuil de capture pour les contours. -1 pour 'pas de capture'"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -10312,17 +10543,69 @@ msgstr ""
 "Vérifier l'information de datum et afficher les paramètres de transformation"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Lister les formats gérés et quitter"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Lister les couches disponibles dans l'emplacement source et quitter"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "Impossible d'obtenir les unités de projection pour le Secteur courant"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Affiche une échelle graphique dans le moniteur GRASS"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Créer le nouveau fichier s'il n'existe pas."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Supprimer tous les cadres graphiques et effacer l'écran"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Jeu(x) de données à lister (par défaut le jeu de données courant)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Afficher le nom du moniteur sélectionné"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+"Position de l'écran à partir de laquelle on va commencer à tracer le texte "
+"(en pourcentage, [0,0] est en bas à gauche)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10500,7 +10783,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10509,7 +10792,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10519,7 +10802,7 @@ msgid "geometry"
 msgstr "Couche vecteur à supprimer"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10578,7 +10861,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Nombre de points d'interpolation"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10603,16 +10890,16 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Bande à sélectionner (par défaut : tout sélectionner)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
 msgstr "Mémoire insuffisante!"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10673,12 +10960,12 @@ msgid "Optional"
 msgstr "Nom du fichier de sortie <%s> illégal"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "Ne pas optimiser par recadrage de la région"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Coordonnées du point germe"
@@ -10781,7 +11068,7 @@ msgstr ""
 "cellule."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10795,7 +11082,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Rayon du buffer(zone-tampon) exprimé en nombre de cellules raster"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Métrique"
 
@@ -10827,14 +11114,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Statistiques de transition de classe."
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10903,6 +11190,20 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+#, fuzzy
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+"r.mapcalculator - calcule une nouvelle couche raster à partir d'une "
+"expression r.mapcalc"
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10910,7 +11211,8 @@ msgid ""
 msgstr "Lister les couches raster de l'emplacement source et quitter"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Résolution"
@@ -10955,6 +11257,62 @@ msgstr "%-5d catégories du point lues\n"
 msgid "Name of table to drop"
 msgstr "Lancer une requête sur la couche grâce à l'option 'query'"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Créer une couche vecteur GRASS avec les contours d'une couche raster GRASS."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Contraste"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Dénivelé entre les courbes de niveau"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Liste des courbes de niveaux"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Altitude minimale"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Altitude maximale"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "Nombre de points minimal pour une courbe de niveau"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "couche raster d'entrée"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Ne pas créer de table attributaire"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10982,6 +11340,20 @@ msgstr "format OGR"
 msgid "Name for output table (default: input name)"
 msgstr "Titre du fichier raster de sortie"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Convertit des couches rasters 3D en couches rasters 2D"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Lister les couches raster de l'emplacement source et quitter"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -11139,6 +11511,67 @@ msgstr ""
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Lister les couches raster de l'emplacement source et quitter"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Convertit des couches rasters 3D en couches rasters 2D"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Type de donnée vectorielle"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Nom du champ attributaire à utiliser pour les étiquettes"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+#, fuzzy
+msgid "Smooth corners of area features"
+msgstr "Lissage des angles"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Réhausser les valeurs de coordonnées z"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Ecrit les valeurs rasters comme des coordonnées z. La table n'est pas créée. "
+"Pour le moment n'existe que pour les points."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Ne construit pas de topologie en mode points"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Utiliser les valeurs raster comme catégories à la place d'une séquence "
+"unique (uniquement pour les CELL)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -11154,6 +11587,7 @@ msgstr ""
 "attributaire"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -11163,6 +11597,7 @@ msgid "Layer where to join"
 msgstr "Couche à laquelle ajouter la colonne"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "colonne(s)"
@@ -11250,7 +11685,6 @@ msgstr "Titre du fichier raster de sortie"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11571,6 +12005,10 @@ msgstr ""
 "nouvelle valeur à affecter à la colonne (les valeurs varchar doivent être "
 "entre simples guillemets, par exemple : 'grass')"
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11865,13 +12303,6 @@ msgstr "Nom d'une couche raster"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Nombre de copies à imprimer"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 #, fuzzy
 msgid "Uploads vector values at positions of vector points to the table."
@@ -11886,23 +12317,32 @@ msgstr ""
 "Nom de la couche de points vecteurs en entrée pour laquelle mettre à jour la "
 "table attributaire"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Nom du champ attributaire à utiliser pour les étiquettes"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Nom de la couche vecteur"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "colonne(s)"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Nom du champ attributaire à utiliser pour les étiquettes"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "Distance de zone-tampon en unités carte."
@@ -11941,78 +12381,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Nom du nouveau Secteur à créer"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Lister les couches disponibles et quitter"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Lister les couches disponibles et quitter"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Lister les couches disponibles et quitter"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "Allocation métrique"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "tables du système au lieu de tables utilisateurs"
@@ -12033,20 +12489,26 @@ msgid "Description of the space time dataset"
 msgstr "Nom de la nouvelle base de données"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Nom de la nouvelle base de données"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 # c-format
@@ -12068,10 +12530,46 @@ msgstr ""
 "r.mapcalculator - calcule une nouvelle couche raster à partir d'une "
 "expression r.mapcalc"
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Fichier raster à importer"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Produit les statistiques à la façon d'un script shell"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Format de sortie"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 #, fuzzy
 msgid "Creates a MASK for limiting raster operation."
@@ -12201,8 +12699,8 @@ msgstr "Multiplicateur"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Nom du fichier de sortie"
+msgid "Name for output image (or text file for -t)"
+msgstr "Nom du fichier en sortie (ne PAS ajouter l'extension)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -12219,6 +12717,11 @@ msgstr "Etiquette avec coordonnées à la place d'un nombre"
 msgid "Use gnuplot for display"
 msgstr "Texte à afficher"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Sortie du fichier TIFF world"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -12235,11 +12738,6 @@ msgstr ""
 msgid "series"
 msgstr "couche raster à échantillonner"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Impossible d'ouvrir la base de données %s"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -12346,6 +12844,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -12361,6 +12860,10 @@ msgstr ""
 "<%s> -- valeur illégale de min_size"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr ""
@@ -12369,7 +12872,7 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -12456,13 +12959,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Lister les couches raster de l'emplacement source et quitter"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-#, fuzzy
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-"r.mapcalculator - calcule une nouvelle couche raster à partir d'une "
-"expression r.mapcalc"
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12486,7 +12982,7 @@ msgstr "Impossible d'ouvrir la couche raster <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -13034,7 +13530,7 @@ msgid "radiance"
 msgstr "Variance"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -13065,8 +13561,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Métadonnées"
 
@@ -13273,8 +13770,8 @@ msgstr "Impossible d'écrire la couche raster lac <%s>!"
 msgid "Calculating..."
 msgstr "Calcul des moyennes de classes..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -15495,14 +15992,14 @@ msgstr "région <%s> non trouvée"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "groupe [%s] ciblé dans le Secteur [%s], jeu de données [%s]\n"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "permission refusée"
@@ -15510,7 +16007,7 @@ msgstr "permission refusée"
 # c-format
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 #, fuzzy
 msgid "not found"
@@ -15618,7 +16115,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15751,7 +16248,7 @@ msgid "Name of target mapset"
 msgstr "Nom du jeu de données en sortie"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 "Règle le Secteur courant et le jeu de donnée comme cible du groupe d'images"
 
@@ -16207,52 +16704,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "Echec de la saisie en entrée"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Nom de la couche en sortie"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, fuzzy, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr "%s - trop de fichiers patch. Seul(s) %d autorisé(s)"
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Coordonnées pour la requête"
@@ -16470,7 +16971,7 @@ msgstr "Lancer la FFT inverse..."
 
 # c-format
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, fuzzy, c-format
 msgid "Writing raster map <%s>..."
@@ -16906,7 +17407,7 @@ msgstr "Mon module raster de départ."
 msgid "My first vector module"
 msgstr "Mon module raster de départ."
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr ""
 
@@ -17048,11 +17549,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -17798,12 +18300,12 @@ msgstr "Les lignes ont changé"
 msgid "Cols changed"
 msgstr "Les colonnes ont changé"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Afficher"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17812,25 +18314,25 @@ msgstr ""
 "connues pour une (ou davantage) de couches raster afin de renseigner les "
 "zones de \"données nulles\" dans une autre couche raster"
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Nom des couches rasters à 'coller' ensemble"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Nom de la couche raster résultat"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr ""
 "Utiliser la valeur zéro (0) pour la transparence à la place de la valeur NULL"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 #, fuzzy
 msgid "The minimum number of input raster maps is two"
 msgstr "Le nombre minimum de couches spécifiées en entrée est de deux."
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 #, fuzzy
@@ -17838,12 +18340,12 @@ msgid "Percent complete..."
 msgstr "Pourcentage effectué..."
 
 # c-format
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "impossible d'ouvrir le fichier pour %s"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, fuzzy, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17871,7 +18373,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Fichier ascii contenant les signatures spectrales"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Titre de la couche raster créée"
@@ -17879,7 +18381,7 @@ msgstr "Titre de la couche raster créée"
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Type de donnée vectorielle"
+msgstr "Titre du fichier raster de sortie"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -18307,8 +18809,8 @@ msgstr "Vous ne fabriquez aucun fichier raster ou vecteur en sortie"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Impossible d'insérer une nouvelle ligne : %s"
@@ -18384,61 +18886,18 @@ msgstr "Tracer le relief"
 msgid "Converts a raster map into a vector map."
 msgstr "Convertit une couche raster en couche vectorielle"
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Type de donnée vectorielle"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Nom du champ attributaire à utiliser pour les étiquettes"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-#, fuzzy
-msgid "Smooth corners of area features"
-msgstr "Lissage des angles"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Utiliser les valeurs raster comme catégories à la place d'une séquence "
-"unique (uniquement pour les CELL)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "Colonne(s) attributaire(s)"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Réhausser les valeurs de coordonnées z"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Ecrit les valeurs rasters comme des coordonnées z. La table n'est pas créée. "
-"Pour le moment n'existe que pour les points."
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Ne construit pas de topologie en mode points"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -18470,23 +18929,25 @@ msgstr ""
 
 # c-format
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, fuzzy, c-format
 msgid "Unable to create table: %s"
 msgstr "Impossible de créer le fichier de cellules pour [%s]"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, fuzzy, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Impossible d'accorder des privilèges sur la table : %s"
@@ -18528,217 +18989,217 @@ msgstr "Impossible de créer le segment de fichier %s"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Secteur (location) de la couche source"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr ""
 "Re-projeter une couche raster depuis un Secteur (location) vers le Secteur "
 "courant."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Secteur (location) de la couche source"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Variance de la somme"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Nom de la couche vecteur 2D source"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Sauvegarder cadre graphique actif"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 #, fuzzy
 msgid "Name of input raster map to re-project"
 msgstr "Nom de la couche raster source"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Chemin vers la base de données GRASS du Secteur source"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Titre du fichier raster de sortie"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "Entité surfacique\n"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Résolution de la nouvelle couche"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Lister les couches raster de l'emplacement source et quitter"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Lister les couches raster de l'emplacement source et quitter"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr ""
 "Affiche les paramètres de la région courante (à la façon d'un script shell)"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "couche d'entrée : emplacement des dépressions réelles"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr ""
 "Impossible d'obtenir les informations de projection pour le Secteur "
 "(location) courant"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr ""
 "Impossible d'obtenir les unités de projection pour le Secteur (location) "
 "courant"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 #, fuzzy
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 "Impossible d'obtenir les valeurs clefs de projection pour le Secteur "
 "(location) courant"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "groupe [%s] ciblé dans le Secteur [%s], jeu de données [%s]\n"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "couche raster en entrée"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, fuzzy, c-format
 msgid "Required parameter <%s> not set"
 msgstr "incidout demande de fixer le paramètre d'heure"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Le fichier vecteur [%s] n'est pas disponible"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 #, fuzzy
 msgid "Unable to get projection info of input map"
 msgstr ""
 "Impossible d'obtenir les informations de projection pour le Secteur "
 "(location) courant"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 #, fuzzy
 msgid "Unable to get projection units of input map"
 msgstr ""
 "Impossible d'obtenir les unités de projection pour le Secteur (location) "
 "courant"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 #, fuzzy
 msgid "Unable to get projection key values of input map"
 msgstr ""
 "Impossible d'obtenir les valeurs clefs de projection pour le Secteur "
 "(location) courant"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "Impossible de travailler sur des données non projetées (secteur xy)"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "groupe [%s] ciblé dans le Secteur [%s], jeu de données [%s]\n"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 #, fuzzy
 msgid "Input:"
 msgstr "couche source"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, fuzzy, c-format
 msgid "Cols: %d (%d)"
 msgstr "classe %d (%d)\n"
 
 # c-format
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, fuzzy, c-format
 msgid "Rows: %d (%d)"
 msgstr "lignes: %d"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, fuzzy, c-format
 msgid "North: %f (%f)"
 msgstr "Noeud %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Sud : %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, fuzzy, c-format
 msgid "West: %f (%f)"
 msgstr "Noeud %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, fuzzy, c-format
 msgid "East: %f (%f)"
 msgstr "Noeud %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "EO-res : %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "NS-res : %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 #, fuzzy
 msgid "Output:"
 msgstr "couche de sortie"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 #, fuzzy
 msgid "Projecting..."
 msgstr "Traçage ... "
@@ -18787,7 +19248,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -18800,7 +19261,7 @@ msgstr "Statistiques de transition de classe."
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -18815,7 +19276,7 @@ msgstr "Afficher"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18972,7 +19433,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 #, fuzzy
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "Calcule un <simple> index sur un fichier raster"
@@ -19411,11 +19872,55 @@ msgstr "incidout demande de fixer le paramètre d'heure"
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "Mode 2 : irradiation journalière cumulée pour un jour donné de l'année"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Utiliser les coordonnées du centre de la couche\n"
+
+# c-format
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Couche raster %i créée \n"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+# c-format
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Police invalide : %s"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Utiliser les coordonnées du centre de la couche\n"
+
+# c-format
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Couche raster %i créée \n"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Utiliser les coordonnées du centre de la couche\n"
+
+# c-format
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Couche raster %i créée \n"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
@@ -19423,11 +19928,11 @@ msgstr ""
 "Si vous souhaitez économiser de la mémoire et utiliser les ombres, vous "
 "devez utiliser des horizons pré-calculés."
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -19827,7 +20332,7 @@ msgstr "Coût maximum cumulé (optionnel)"
 
 # c-format
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Secteur : %s\n"
@@ -20694,7 +21199,7 @@ msgstr "Valeurs d'altitude nagatives en entrée"
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Génère des statistiques zonales pour des couches rasters"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -20903,7 +21408,7 @@ msgstr "Nom de la couche raster à partir de laquelle calculer les statistiques"
 msgid "Statistics for <%s> updated"
 msgstr "Fichier d'historique pour [%s] mis à jour"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 #, fuzzy
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
@@ -20912,38 +21417,39 @@ msgstr ""
 "Impossible de convertir l'information de projection de la couche de données "
 "au format GRASS pour vérification"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr ""
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "Le PROJ_INFO du jeu de données est : \n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20951,7 +21457,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 #, fuzzy
 msgid ""
 "Consider generating a new location from the input dataset using the "
@@ -20960,9 +21466,9 @@ msgstr ""
 "Tentez de générer un nouveau Secteur (location) avec le paramètre 'location' "
 "des données en entrée.\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 #, fuzzy
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
@@ -21029,8 +21535,8 @@ msgstr ""
 msgid "Link to raster map <%s> created."
 msgstr "couche raster <%s> non trouvée"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -21053,8 +21559,8 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr ""
@@ -21062,8 +21568,8 @@ msgstr ""
 "Information de projection mise à jour!\n"
 "\n"
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 msgid "Region for the current mapset updated"
 msgstr ""
 
@@ -21090,22 +21596,22 @@ msgstr ""
 msgid "Band to select (default is all bands)"
 msgstr "Bande à sélectionner (par défaut : tout sélectionner)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 #, fuzzy
 msgid "List supported formats and exit"
 msgstr "Lister les formats gérés et quitter"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Étendre le Secteur actuel en fonction des données importés"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -21117,13 +21623,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Lister les couches disponibles dans l'emplacement source et quitter"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "L'une des options, soit texte soit -c, doit être sélectionnée."
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -21134,33 +21649,33 @@ msgstr ""
 "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
 "qu'un seul."
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 #, fuzzy
 msgid "Proceeding with import..."
 msgstr "Lecteur du fichier raster..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr ""
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Lecture de la couche"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr ""
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, c-format
 msgid "Imagery group <%s> created"
 msgstr ""
 
 # c-format
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Nombre de points en entrée : %d."
@@ -21361,14 +21876,15 @@ msgstr ""
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -21694,6 +22210,14 @@ msgstr ""
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Secteur %s créé!"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+"les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+"qu'un seul."
+
 #: ../raster/r.in.bin/main.c:467
 #, fuzzy, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -21768,8 +22292,8 @@ msgid "Importing band %d..."
 msgstr "Importation des objets de la couche %d..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -21894,7 +22418,7 @@ msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
 # c-format
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "%s: Impossible d'ouvrir [%s]"
@@ -23035,7 +23559,8 @@ msgid "Unable to write to temp file"
 msgstr "Impossible d'écrire le fichier temporaire"
 
 # c-format
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Écriture %s..."
@@ -23083,7 +23608,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Produit les statistiques à la façon d'un script shell"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -23797,29 +24322,29 @@ msgid "unable to open output file"
 msgstr "Impossible d'ouvrir le fichier de sortie"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 #, fuzzy
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 "\n"
 "SECTION 3: Accumulation du courant de surface.       Achevé (pourcentage):"
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 "\n"
 "SECTION 3: Accumulation du courant de surface.       Achevé (pourcentage):"
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -23827,8 +24352,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -23957,28 +24482,28 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, fuzzy, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 "\n"
 "SECTION %d: Fermeture des couches."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, fuzzy, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 "\n"
 "SECTION %d: Détermination du bassin versant."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, fuzzy, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 "\n"
 "SECTION 1a (de %1d): Initialisation de la mémoire."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, fuzzy, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
@@ -23986,7 +24511,7 @@ msgstr ""
 "SECTION 1b (de %1d): Détermination du courant hors carte. Achevé "
 "(pourcentage): "
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -24002,22 +24527,32 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr "couche raster de couverture"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "couche raster de couverture"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "couche raster de couverture"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "couche raster de couverture"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Calcul des moyennes de classes..."
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "couche raster de couverture"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "couche raster de couverture"
@@ -24045,7 +24580,7 @@ msgstr "couche raster de couverture"
 msgid "Closing half basins map"
 msgstr "couche raster de couverture"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
@@ -24056,23 +24591,23 @@ msgstr[1] ""
 "\n"
 "SECTION 1 démarrage: initialisation des variables. %d du total des sections."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
@@ -24080,64 +24615,64 @@ msgstr ""
 "SECTION 1b (de %1d): Détermination du courant hors carte. Achevé "
 "(pourcentage): "
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "couche source"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Nom de la couche raster source"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "couche d'entrée : quantité de ruissellement par cellule"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Nom de(s) (la) couche(s) raster(s) en entrée"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "couche d'entrée : terrain bloquant l'écoulement de surface, pour USLE"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Valeur d'entrée : taille minimum de bassin versant"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr ""
 "Valeur d'entrée : longueur maximum d'un écoulement de surface, pour USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr ""
@@ -24146,18 +24681,23 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr ""
 "Couche de sortie : nombre de cellules qui s'écoulent dans d'autres cellules"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "couche d'indice topographique ln(a/tan(beta))"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "couche d'indice topographique ln(a/tan(beta))"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr ""
@@ -24166,7 +24706,7 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr ""
@@ -24175,7 +24715,7 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr ""
@@ -24184,7 +24724,7 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr ""
@@ -24193,12 +24733,12 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Couche de sortie : valeur unique pour chaque demi-bassin versant"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr ""
@@ -24207,14 +24747,14 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 "Couche de sortie : facteur de longueur de la pente et d'escarpement (LS) "
 "pour USLE"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr ""
@@ -24223,41 +24763,41 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Couche de sortie : facteur d'escarpement (S) pour USLE "
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Facteur de conversion pour les valeurs Z"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr "Mémoire maximale à allouer avec le drapeau -m (en MB)"
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Permet l'écoulement horizontal et vertical de l'eau"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "Activer l'option de mémoire étendue : le calcul est lent"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
@@ -24265,39 +24805,39 @@ msgstr ""
 "Seulement nécessaire si les besoins de mémoire excèdent la RAM disponible ; "
 "voir le manuel pour calculer les besoins mémoire"
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 "Utiliser une accumulation d'écoulement positive même pour les sous-"
 "estimations manifestes"
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 "Voir le manuel pour une description détaillée de la sortie d'accumulation "
 "d'écoulement"
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 #, fuzzy
 msgid "Sorry, you must choose an output map."
 msgstr ""
 "\n"
 "Désolé, vous devez choisir une couche en sortie."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s = %s -- doit être supérieur à zéro"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -24310,12 +24850,12 @@ msgstr ""
 "ou 1s\n"
 "\tvous DEVEZ fournir une valeur pour le seuil du bassin (basin.threshold)."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Type de colonne non géré"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "Le sous-processus a échoué avec le code de sortie %d"
@@ -24483,22 +25023,22 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr "Impossible de lire le fichier d'intervalle"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "OOPS : lignes changées de %d vers %d"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "OOPS : colonnes changées de %d vers %d"
 
 # c-format
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Impossible d'écrire la couche raster lac <%s>!"
@@ -24695,7 +25235,7 @@ msgstr "Sortie du fichier TIFF world"
 msgid "Converting <%s>..."
 msgstr "Écriture [%s]..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, fuzzy, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "ERREUR: <%s> existe déjà\n"
@@ -24775,7 +25315,7 @@ msgstr ""
 "couche raster."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -24789,11 +25329,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Impossible d'ouvrir la couche raster <%s>"
@@ -24806,31 +25349,46 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+# c-format
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr "%d points en dehors de la région courante"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 "Calcule des statistiques univariées à partir des cellules non vides d'une "
 "couche raster."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr ""
+"les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+"qu'un seul."
+
 #: ../raster/r.regression.line/main.c:50
 #, fuzzy
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "Calcule la régression linéaire pour deux couches raster : y = a + b*x"
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr ""
 "Produit une couche raster où les aires contiguës ont été agrandies d'une "
 "cellule."
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Nom de la couche cible"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr ""
@@ -24839,37 +25397,50 @@ msgstr ""
 "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 "Nom de la couche raster de sortie"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Distance maximum entre les points en unités carte."
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Distance maximale du point au réseau"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "2 couches doivent être spécifiées"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
 # c-format
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Métrique inconnue : [%s]"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Distance maximum entre les points en unités carte."
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Impossible d'écrire les fichiers temporaires"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -24881,133 +25452,138 @@ msgid "Reading raster map <%s>..."
 msgstr "Lecteur du fichier raster..."
 
 # c-format
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Ecriture de la couche raster en sortie %s..."
 
 # c-format
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Impossible de créer la couche raster <%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "couche raster en entrée"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "Nom de la couche raster source"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Nom de la couche raster 3D où modifier les valeurs null"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Liste de valeurs de cellules auxquelles assigner la valeur NULL"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "Valeur pour remplacer la valeur null"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "NE faire le travail que si la carte est en virgule flottante"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr "Vérifier"
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "Ne faire le travail que si la carte est en valeurs entières"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 #, fuzzy
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr "Créer de façon explicite le fichier bitmap 3D de valeur-NULL"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 #, fuzzy
 msgid "Remove NULL-value bitmap file"
 msgstr "Créer de façon explicite le fichier bitmap 3D de valeur-NULL"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "couche vecteur <%s> introuvable"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "valeur illégale pour null"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "Le vecteur '%s' existe déjà."
 
 # c-format
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "%s - impossible d'ouvrir le fichier raster"
 
 # c-format
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "%s - impossible d'ouvrir le fichier raster"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "couche vecteur des points de départ"
 
 # c-format
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Écriture du nouveau fichier null de [%s]..."
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "couche raster <%s> non trouvée"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Suppression du fichier null pour [%s]...\n"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr ""
 "\n"
 "<%s> -- valeur illégale de min_size"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, fuzzy, c-format
 msgid "%s: illegal value spec"
 msgstr ""
@@ -25015,7 +25591,7 @@ msgstr ""
 "<%s> -- valeur illégale de min_size"
 
 # c-format
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Couche raster %i créée \n"
@@ -25068,7 +25644,7 @@ msgstr "Type inconnu: %c"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Impossible d'ouvrir la couche raster <%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 #, fuzzy
 msgid "Unable to close output raster map"
 msgstr "Impossible de fermer la couche source"
@@ -25194,7 +25770,13 @@ msgstr "Germe pour une génération aléatoire de nimbre"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+# c-format
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Écriture %s..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr ""
@@ -25202,16 +25784,16 @@ msgstr ""
 "qu'un seul."
 
 # c-format
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "%d erreurs de mise à jour"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -25220,27 +25802,27 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Importer un fichier raster binaire."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Fichier raster à importer"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Bande à sélectionner (par défaut : tout sélectionner)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Nom du Secteur de destination du groupe d'images"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
@@ -25248,105 +25830,116 @@ msgstr ""
 "Nom du Secteur (location) où lire la projection pour la transformation des "
 "points de calage"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Nom du raster d'altitudes en entrée [mètres]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Nom du nouveau Secteur (location) à créer"
 
 # c-format
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Impossible de décrire la table %s"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Ne pas tenir compte de la projection (utiliser celle du Secteur)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "affiche les paramètres de connexion courants et quitte"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr ""
 "Conserver les numéros de bande plutôt que d'utiliser les noms de couleur des "
 "bandes"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "affiche les tables et quitte"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "Vous devez indiquer la couche supérieure et la couche inférieure\n"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
 # c-format
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Impossible d'ouvrir la couche raster <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists"
 msgstr "ERREUR: <%s> existe déjà\n"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -25354,81 +25947,86 @@ msgstr ""
 "Impossible de convertir la projection de la couche en entrée au format "
 "GRASS ; impossible de créer le nouveau Secteur"
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Impossible de créer la table : %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Lecteur du fichier raster..."
 
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Impossible d'ouvrir le fichier de signatures."
+
 # c-format
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Impossible de créer la couche raster %s"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Erreur de lecture du fichier cats de <%s>"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "Écriture du nouveau fichier cats..."
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, fuzzy, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "Paramètres de projection en entrée (style PROJ.4)"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, fuzzy, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "Paramètres de projection en sortie (style PROJ.4)"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, fuzzy, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Erreur dans pj_do_proj (projection du couple de coordonnées en entrée)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 #, fuzzy
 msgid "Unable to translate projection key values of input GCPs"
 msgstr ""
 "Impossible d'obtenir les valeurs clefs de projection pour le Secteur "
 "(location) courant"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 #, fuzzy
 msgid "Unable to get projection info of target location"
 msgstr ""
 "Impossible d'obtenir les informations de projection pour le Secteur "
 "(location) courant"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 #, fuzzy
 msgid "Unable to get projection units of target location"
 msgstr ""
 "Impossible d'obtenir les unités de projection pour le Secteur (location) "
 "courant"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 #, fuzzy
 msgid "Unable to get projection key values of target location"
 msgstr ""
@@ -25436,27 +26034,27 @@ msgstr ""
 "(location) courant"
 
 # c-format
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Couche raster %i créée \n"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "Création des fichiers support pour %s..."
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "Création des fichiers support pour %s..."
 
 # c-format
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Impossible d'ouvrir le fichier de cellules pour [%s]"
@@ -25705,7 +26303,7 @@ msgstr "Écriture %s..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, fuzzy, c-format
@@ -26081,32 +26679,38 @@ msgstr "%s : interdit d'avoir plus de %d fichiers"
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "Impossible d'écrire la couche raster lac <%s>!"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "'layer' doit être >0 pour 'cats'."
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Lecteur du fichier raster..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Corrélation"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr ""
 "Générer des valeurs de cellules aléatoires ayant une interdépendance spatiale"
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Distance maximale du point au réseau"
 
-#: ../raster/r.random.cells/main.c:67
+# c-format
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "  Nombre maximum d'itérations: %d\n"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -26582,34 +27186,34 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "Nombre maximum d'itérations"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "Ne pas afficher les codes de catégories"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, fuzzy, c-format
 msgid "Pass number %d"
 msgstr "Code de couche"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Lignes %d étiquettées"
 msgstr[1] "Lignes %d étiquettées"
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 #, fuzzy
 msgid "Thinning completed successfully."
 msgstr "Transformée réussie."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -27745,175 +28349,247 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'layer' doit être >0 pour 'cats'."
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+#, fuzzy
+msgid "Scanning data ..."
+msgstr "Rotation des données ... "
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Intervalle :    min         max\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Impossible d'écrire les fichiers temporaires"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Créer des couches raster à partir de fichiers de données polygones/lignes "
 "dans le répertoire courant."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Fichier DXF source"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Fichier contenant les requêtes SQL"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "%s : pas de données points trouvées"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Réhausser les valeurs de coordonnées z"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "Nombre de points d'interpolation"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 #, fuzzy
 msgid "Filter range for z data (min,max)"
 msgstr "Rang des valeurs entières: min,max"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "Échelle à appliquer aux données z"
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Titre du fichier raster de sortie"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "données entières importées"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "données entières importées"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Afficher l'historique du raster à la place des infos générales"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
+#: ../raster/r.in.lidar/main.c:246
 #, fuzzy
-msgid "Override dataset projection (use location's projection)"
-msgstr "Ne pas tenir compte de la projection (utiliser celle du Secteur)"
+msgid "Set computation region to match the new raster map"
+msgstr "Ajuster l'emprise de la région sur cette couche raster"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-# c-format
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "La couche raster [%s] n'existe pas"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+# c-format
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Type inconnu"
+msgid "File <%s> does not exist"
+msgstr "La couche raster [%s] n'existe pas"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
-"Impossible de convertir l'information de projection de la couche de données "
-"au format GRASS pour vérification"
 
 # c-format
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-#, fuzzy
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "Secteur : %s\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "La couche raster [%s] n'existe pas"
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-#, fuzzy
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"Tentez de générer un nouveau Secteur (location) avec le paramètre 'location' "
-"des données en entrée.\n"
+
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Type inconnu"
 
 # c-format
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "Etiquette date&heure invalide"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
 # c-format
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Secteur %s créé!"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "Rotation des données ... "
 
 # c-format
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Impossible d'ouvrir le fichier ascii : [%s]"
-
-# c-format
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 #, fuzzy
 msgid "Writing to map ..."
 msgstr "Écriture %s..."
 
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
 # c-format
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%d points en dehors de la région courante"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+# c-format
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Impossible d'ouvrir le fichier [%s] en lecture"
+
+# c-format
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
 #, fuzzy
-msgid "Scanning data ..."
-msgstr "Rotation des données ... "
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "Secteur : %s\n"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Intervalle :    min         max\n"
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+#, fuzzy
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+"Tentez de générer un nouveau Secteur (location) avec le paramètre 'location' "
+"des données en entrée.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"Impossible de convertir l'information de projection de la couche de données "
+"au format GRASS pour vérification"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -28181,13 +28857,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "Ouvrir le fichier raster %s"
 
-# c-format
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, fuzzy, c-format
-msgid "Unable to create file <%s>"
-msgstr "Impossible de créer le fichier de cellules pour [%s]"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -29049,6 +29718,13 @@ msgstr "Veuillez spécifier un nombre vraisemblable de lignes à sauter"
 msgid "Invalid vrange"
 msgstr "Etiquette date&heure invalide"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -29109,6 +29785,12 @@ msgstr "Impossible de trouver le fichier [%s]"
 msgid "Writing to output raster map..."
 msgstr "Ecriture de la couche raster en sortie %s..."
 
+# c-format
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "%d points en dehors de la région courante"
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr ""
@@ -29503,28 +30185,28 @@ msgstr "couche raster source"
 msgid "Delete the null file"
 msgstr "couche raster source"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, fuzzy, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "Table de couleur de [%s] mise à jour à %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] est la reclassification d'une autre couche. Sortie."
 
 # c-format
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Écriture du nouveau fichier null de [%s]..."
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Suppression du fichier null pour [%s]...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Terminé."
 
@@ -29564,32 +30246,12 @@ msgid "Produces a vector map of specified contours from a raster map."
 msgstr ""
 "Créer une couche vecteur GRASS avec les contours d'une couche raster GRASS."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Dénivelé entre les courbes de niveau"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Liste des courbes de niveaux"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Liste des courbes de niveaux"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Altitude minimale"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Altitude maximale"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "Nombre de points minimal pour une courbe de niveau"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -29601,31 +30263,33 @@ msgstr "2 couches doivent être spécifiées"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, fuzzy, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Impossible de créer le fichier de cellules pour [%s]"
 
 # c-format
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "impossible de créer la sortie <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 #, fuzzy
 msgid "Writing attributes..."
 msgstr "Écriture des attributs..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, fuzzy, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Impossible d'insérer une nouvelle ligne : %s"
@@ -30514,11 +31178,6 @@ msgstr "Nom de la couche vecteur 2D source"
 msgid "Size of point cache"
 msgstr "Taille du cache du pointeur"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "couche raster en sortie"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -30853,7 +31512,8 @@ msgstr "Type de colonne (%s) non géré"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 #, fuzzy
 msgid "Unable to select data from table"
 msgstr "Impossible de sélectionner des données dans la table"
@@ -31511,11 +32171,11 @@ msgstr "Produit les statistiques à la façon d'un script shell"
 msgid "3D Raster map <%s> not found"
 msgstr "couche raster 3D <%s> non trouvée"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr ""
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, c-format
@@ -31723,6 +32383,44 @@ msgstr ""
 msgid "Update range"
 msgstr "Intervalle de données en sortie"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Variance"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+"Combiner des couches rouges, vertes et bleues en une seule couche composite."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr ""
+"#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
+"Nom de la couche raster cible\n"
+"#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
+"Nom de la couche raster de sortie"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "Taille du cache du pointeur"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Impossible d'allouer de la mémoire"
+
+# c-format
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Couche raster %i créée \n"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 msgid "Unable to close input raster maps"
 msgstr ""
@@ -31912,6 +32610,157 @@ msgstr "Date&heure, date&heure1/date&heure2, ou aucune"
 msgid "Timestamp format is invalid"
 msgstr "Format d'étiquette date&heure inconnu: "
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Veuillez indiquer trois couches g3d RGB"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "couche vecteur <%s> introuvable"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Calcul des moyennes de classes..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr ""
+"Nom de la couche de points vecteurs en entrée pour laquelle mettre à jour la "
+"table attributaire"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Nom de la couche vecteur"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr ""
+"#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
+"Nom de la couche raster cible\n"
+"#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
+"Nom de la couche raster de sortie"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Fichier raster à importer"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+# c-format
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s ligne %s: %s"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Nombre de points d'interpolation"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "Largeur du courant (en mètres). Largeur de cellule raster par défaut"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "Méthode d'interpolation à utiliser"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Aucune couche de données spécifiée"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Nom de la base de données source"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Nombre maximum d'itération"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Nombre maximum d'itération"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "Nombre de cellules entre les courants"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+# c-format
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Impossible de décrire la table %s"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+# c-format
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Couche vecteur %s introuvable"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Erreur de lecture de la couche Teinte"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Calcul des moyennes de classes..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -32459,6 +33308,64 @@ msgstr "Lecteur du fichier raster..."
 msgid "Failed to find intersection segment"
 msgstr "Echec pour interpréter dp comme valeur entière (integer)"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Impossible d'insérer dans la table: %s"
+
+# c-format
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Impossible d'ouvrir la couche vecteur [%s]"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "La table <%s> n'existe pas dans la base de données <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Le vecteur '%s' existe déjà."
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Le vecteur '%s' existe déjà."
+
+# c-format
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Impossible de créer la couche raster <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Impossible d'ouvrir la base de données %s avec le pilote %s"
+
+# c-format
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "impossible de créer la sortie <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Impossible de copier la table d'attributs vers la carte vecteur <%s>"
+
+# c-format
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "impossible de créer la sortie <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -32490,7 +33397,7 @@ msgstr "Nom de la couche vecteur 2D source"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -32503,8 +33410,8 @@ msgstr "Nom de la couche vecteur 2D source"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -32532,76 +33439,116 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Pas de table."
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Nom de la couche source"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Les coordonnées XY du/des foyer(s) initial(aux)"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 #, fuzzy
 msgid "Assign unique categories to new points"
 msgstr ""
 "Assignation de catégories uniques aux nouveaux points (opération=noeuds)"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 #, fuzzy
 msgid "For operation 'nodes'"
 msgstr "Type inconnu"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "couche vecteur des points d'arrivée"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Couleur de ligne"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "Type inconnu"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Boîte à outil pour nettoyer la topologie vectorielle"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "impossible d'ouvrir le fichier vecteur <%s> dans <%s>"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d points  écrits vers la couche cible\n"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "%-5d lignes lues et écrites vers la sortie\n"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
@@ -32609,9 +33556,9 @@ msgid "Copying attributes..."
 msgstr "Écriture des attributs..."
 
 # c-format
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -32633,8 +33580,9 @@ msgstr "%d points sans catégorie"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "Afficher"
@@ -32671,9 +33619,9 @@ msgstr "Nom de la colonne contenant l'attribut w à interpoler"
 msgid "Name of column containing z coordinate"
 msgstr "Nom de la colonne contenant l'attribut w à interpoler"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "Crée une sortie 3D"
@@ -32902,13 +33850,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Le vecteur '%s' existe déjà."
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "ERREUR: <%s> existe déjà\n"
@@ -33124,27 +34072,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Ne pas afficher les codes de catégories"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Affiche les attributs des vecteurs"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -33152,185 +34100,185 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "L'option échelle requiert une couche de magnitude"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'layer' doit être >0 pour 'cats'."
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "La tolérance a été réinitialisée à %g (en unités carte)"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Nom du fichier de sortie illégal"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "La tolérance en unités carte : %g"
 
 # c-format
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Impossible de créer la couche raster <%s>"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Impossible de sélectionner des données dans la table"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Type de colonne non géré"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
 # c-format
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "Écriture %s..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Pas d'enregistrement pour la catégorie '%d' dans la table"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, fuzzy, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "L'attribut est de taille invalide (%.3f) pour la catégorie %d"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "La tolérance en unités carte : %g"
 
 # c-format
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Écriture %s..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Écriture des attributs..."
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "Construction de l'index spatial ..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "Rotation des données ... "
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Exporter les lignes en tant que polygones"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 #, fuzzy
 msgid "Removing duplicates..."
 msgstr "Suppression des centroïdes en doublons..."
 
 # c-format
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 #, fuzzy
 msgid "Breaking boundaries..."
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Écriture %s..."
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Suppression des centroïdes en doublons..."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Suppression des centroïdes en doublons..."
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 #, fuzzy
 msgid "Attaching islands..."
 msgstr "Rattachement des catégories...\n"
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Calcul des moyennes de classes..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Impossible de calculer le centroïde de la surface"
 
 # c-format
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Écriture %s..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Calcul des moyennes de classes..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Impossible de calculer le centroïde de la surface"
@@ -33665,7 +34613,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Résolution"
+msgstr "Traitement des entités surfaciques ainput..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -33758,7 +34706,7 @@ msgstr "Echec de la saisie en entrée"
 msgid "Not enough disk space--cannot write files"
 msgstr "Espace disque insuffisant -- impossible d'écrire les fichiers"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -33818,11 +34766,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -33833,15 +34782,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -33849,12 +34798,12 @@ msgstr ""
 msgid "Cost"
 msgstr "Contraste"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 #, fuzzy
 msgid "Node cost column (number)"
 msgstr "Nombre de colonnes"
@@ -33885,45 +34834,63 @@ msgstr "Type de donnée vectorielle"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Impossible de créer la couche raster <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "La couche '%s' n'est pas disponible"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Distance maximale du point au réseau"
 
 # c-format
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "Nombre de points en entrée : %d."
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Calcul des moyennes de classes..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 #, fuzzy
 msgid "Cannot get line segment, segment out of line"
 msgstr "Impossible de créer le segment de fichier %s"
@@ -34299,94 +35266,94 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Echec de la saisie en entrée"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Génère de façon aléatoire des couches vectorielles points GRASS 2D/3D"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 #, fuzzy
 msgid "Number of points to be created"
 msgstr "Nombre de points à créer"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Échec d'ouverture du fichier vectorielle."
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 #, fuzzy
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "Hauteur z minimum (requiert le drapeau -z)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 #, fuzzy
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "Hauteur z maximum (requiert le drapeau -z)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Nom de la colonne contenant l'attribut w à interpoler"
 
 # c-format
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Écriture %s..."
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Type de la table de couleur"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Crée une sortie 3D"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Calcul des moyennes de classes..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, fuzzy, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "Nombre de points à créer"
 
 # c-format
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d points  écrits dans la couche vecteur"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Nom de la couche vectorielle existante"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
@@ -34394,7 +35361,7 @@ msgstr ""
 "La couche vectorielle de départ %s ne contient aucun point dans la région "
 "courante"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr ""
@@ -34402,7 +35369,7 @@ msgstr ""
 "courante"
 
 # c-format
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 #, fuzzy
 msgid "Generating points..."
 msgstr "Écriture %s..."
@@ -34603,6 +35570,163 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+# c-format
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Écriture [%s]..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Nom de fichier de signatures à utiliser pour la classification"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "%s : pas de données points trouvées"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "données entières importées"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "données entières importées"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "%s=%s - nombre illégal de points d'interpolation"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Valeur aléatoire maximum"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+# c-format
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "  Nombre maximum d'itérations: %d\n"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+# c-format
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "  Nombre maximum d'itérations: %d\n"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Écart-type"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+# c-format
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Etiquette date&heure invalide"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -34682,7 +35806,7 @@ msgstr "tables du système au lieu de tables utilisateurs"
 msgid "Force 2D output even if input is 3D "
 msgstr "Forcer l'écriture de valeurs entières"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -34915,6 +36039,192 @@ msgstr "Impossible de sélectionner des données dans la table"
 msgid "Labeled %d lines."
 msgstr "Lignes %d étiquettées"
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "%s : pas de données points trouvées"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "Raster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d classes"
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Séparation du cluster"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Nom du nouveau fichier vecteur binaire"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Distance maximale du point au réseau"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Nombre minimum de pixels dans une classe"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Séparation du cluster"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Le nombre de classes doit être < 256!"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Taille du voisinage"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Recherche des classes d'apprentissage..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+# c-format
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "%d points en dehors de la région courante"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Écriture du nouveau fichier cats..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s = %s -- doit être supérieur à zéro"
+
+# c-format
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Distance maximum entre les points en unités carte :%f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr ""
+"\n"
+"Aucune couche DXF trouvée!\n"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Distance maximale du point au réseau"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Écart-type"
+
+# c-format
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Distance maximum entre les points en unités carte :%f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Recherche le coût du chemin"
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+"\n"
+"Résolution = %d; période = %d"
+
+# c-format
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "%d points en dehors de la région courante"
+
+# c-format
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Ecriture de la couche raster en sortie %s..."
+
+# c-format
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Lecture du fichier %s..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "%s : pas de données points trouvées"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%s : pas de données points trouvées"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%s : pas de données points trouvées"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -34989,7 +36299,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -35299,15 +36609,8 @@ msgid "Loading data..."
 msgstr "Rotation des données ... "
 
 # c-format
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Couche vecteur %s introuvable"
-
-# c-format
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Colonne <%s> non trouvée"
@@ -35367,18 +36670,18 @@ msgstr "Création des fichiers support pour %s..."
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
 # c-format
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "Lecture du fichier %s..."
@@ -35559,81 +36862,81 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Type inconnu"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 #, fuzzy
 msgid "Node layer (used for cities)"
 msgstr "Nom de la couche utilisée pour la teinte"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Nom de la couche binaire à créer (utiliser output=- pour stdout)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
 # c-format
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Nombre de points en entrée : %d."
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 #, fuzzy
 msgid "Not enough cities (< 2)"
 msgstr "Nom de colonne de catégorie"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Écriture du nouveau fichier cats..."
 
 # c-format
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "%d points sans catégorie"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Aucun enregistrement pour la ligne (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Destination impossible à atteindre\n"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
 # c-format
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Impossible d'ouvrir le fichier [%s] en lecture"
@@ -35819,6 +37122,21 @@ msgstr "Sélectionner le type: ligne ou surface"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "4 paramètres sont requis pour le paramètre 'spatial'"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Type inconnu"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "affiche les paramètres de connexion courants et quitte"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -35940,7 +37258,7 @@ msgid "Processing features..."
 msgstr "Traitement des entités surfaciques ainput..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "Impossible de calculer le centroïde de la surface"
@@ -36021,7 +37339,7 @@ msgstr ""
 "[0..255]: %d:%d:%d **\n"
 
 # c-format
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Impossible d'ouvrir le fichier de cellules pour [%s]"
@@ -36442,7 +37760,7 @@ msgid "%d records updated"
 msgstr "%d enregistrements mis à jour"
 
 # c-format
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -36548,9 +37866,10 @@ msgstr "Type inconnu"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Impossible d'ouvrir le fichier de cellules pour [%s]"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Rotation des données ... "
 
 #: ../vector/v.transform/main.c:290
@@ -37024,7 +38343,7 @@ msgstr ""
 msgid "Column type not supported, please use a column with double type"
 msgstr "Type de colonne (%s) non géré"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Lecture de la couche raster."
@@ -37116,6 +38435,10 @@ msgstr "Nombre de colonnes"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 #, fuzzy
 msgid "Columns"
 msgstr "colonne(s)"
@@ -37188,65 +38511,71 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Afficher des valeurs moyennes au lieu d'intervalles"
 
-#: ../vector/v.what.rast/main.c:175
+# c-format
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Colonne <%s> non trouvée"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Le type du raster est entier et le type de colonne est flottant"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "Le type de raster est flottant et le type de colonne est entier, des données "
 "vont être perdues!!"
 
 # c-format
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "couche vectorielle en entrée introuvable <%s>"
 
 # c-format
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d points en dehors de la région courante"
 
 # c-format
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "%d points sans catégorie"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
 # c-format
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d catégories chargées depuis la couche vecteur"
 
 # c-format
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d catégories en double dans la couche vecteur"
 
 # c-format
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d catégories chargées depuis la table"
 
 # c-format
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d catégories de la couche vecteur manquantes dans la table"
 
 # c-format
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d enregistrements mis à jour"
@@ -38114,7 +39443,8 @@ msgstr "Produit les statistiques à la façon d'un script shell"
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "2 couches doivent être spécifiées"
+msgstr ""
+"L'une des options \"color\", \"rast\" OU \"rules\" DOIT être spécifiée!"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -38151,31 +39481,41 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 #, fuzzy
 msgid "Prints vector map attributes."
 msgstr "Affiche les attributs des vecteurs"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "Conditions WHERE de la requête SQL sans le mot clef 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Caractère de séparation vertical d'enregistrement en sortie"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Région\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Hauteur fixée pour les objets vecteurs 3D"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
@@ -38183,23 +39523,23 @@ msgid ""
 msgstr "impossible d'ouvrir le fichier vecteur <%s> dans <%s>"
 
 # c-format
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 #, fuzzy
 msgid "Unable to open select cursor"
 msgstr "Impossible d'ouvrir le curseur sélectionné : '%s'"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Impossible de sélectionner des données dans la table"
 
 # c-format
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "couche vectorielle d'entrée introuvable [%s]"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "Ne pas afficher les codes de catégories"
@@ -38517,7 +39857,7 @@ msgstr[0] "%d enregistrements sélectionnés dans le tableau"
 msgstr[1] "%d enregistrements sélectionnés dans le tableau"
 
 # c-format
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "impossible de créer la sortie <%s>"
@@ -38548,19 +39888,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Lecture du fichier %s..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 #, fuzzy
 msgid "Unable to fetch record"
 msgstr "Impossible de récupérer la ligne"
@@ -38577,6 +39917,12 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+# c-format
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "fichier de cellules albedo <%s> non trouvé"
+
 #: ../vector/v.to.db/update.c:83
 #, fuzzy
 msgid "Updating database..."
@@ -38877,7 +40223,8 @@ msgid " Database connection not defined for layer <%s>"
 msgstr ""
 "La connexion à la base de données n'a pas été définie pour la couche <%d>"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Type de colonne non géré"
@@ -38899,43 +40246,43 @@ msgid "Wrong input format: %s"
 msgstr "Fausse entrée pour le multiplicateur: %s"
 
 # c-format
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, fuzzy, c-format
 msgid "No point with category [%d]"
 msgstr "%d points sans catégorie"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
 # c-format
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, fuzzy, c-format
 msgid "[%d] input format errors"
 msgstr "%d erreurs de mise à jour"
 
 # c-format
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, fuzzy, c-format
 msgid "[%d] points of given category missing"
 msgstr "%d points sans catégorie"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 #, fuzzy
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
@@ -38943,19 +40290,19 @@ msgstr ""
 "Nom du fichier contenant les commandes graphiques, s'il n'y en a pas, les "
 "prendre à partirde la ligne de commande"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 #, fuzzy
 msgid "Maximum distance to the network"
 msgstr "Distance maximale du point au réseau"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -39582,26 +40929,30 @@ msgstr "Nombre maximum de points dans un segment"
 msgid "Add new vertices, but do not split"
 msgstr "Écriture du nouveau fichier cats..."
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Écrire les sommets de lignes."
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "Le paramètre de lissage doit être une valeur positive"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Type de colonne inconnu"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr ""
@@ -39609,23 +40960,23 @@ msgstr ""
 "courant"
 
 # c-format
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s ligne %s: %s"
 
 # c-format
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s ligne %s: %s"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Le nombre de classes doit être < 256!"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "Impossible d'écrire le fichier temporaire"
@@ -39730,11 +41081,6 @@ msgstr "Nom de la colonne (le type doit être numérique)"
 msgid "Reading categories..."
 msgstr "Rattachement des catégories...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Rotation des données ... "
-
 # c-format
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
@@ -39925,7 +41271,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Interpoler des points entre les sommets de lignes."
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Impossible d'ouvrir le fichier de sortie"
@@ -40200,243 +41546,264 @@ msgstr ""
 "Pour définir une nouvelle connexion vous devez spécifier ces paramètres : "
 "pilote, base de données, table [, clef [, couche]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr ""
 "Re-projeter une couche raster depuis un Secteur (location) vers le Secteur "
 "courant."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 #, fuzzy
 msgid "Location containing input vector map"
 msgstr "Secteur (location) de la couche source"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 #, fuzzy
 msgid "Mapset containing input vector map"
 msgstr "Nom de la couche vecteur 2D source"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Nom de la couche raster source"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Nom de la couche vecteur 2D source"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Lister les couches raster de l'emplacement source et quitter"
 
 # c-format
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 #, fuzzy
 msgid "3D vector maps only"
 msgstr "couche vectorielle d'entrée introuvable [%s]"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
 # c-format
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "%s - couche raster non trouvée"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Le fichier vecteur [%s] n'est pas disponible"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "groupe [%s] ciblé dans le Secteur [%s], jeu de données [%s]\n"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "groupe [%s] ciblé dans le Secteur [%s], jeu de données [%s]\n"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 #, fuzzy
 msgid "Reading input vector map"
 msgstr "Échec d'ouverture du fichier vectorielle."
 
 # c-format
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Couche vecteur %s introuvable"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 #, fuzzy
 msgid "Error in pj_do_transform"
 msgstr "Erreur dans pj_do_proj"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Écriture du nouveau fichier cats..."
 
 # c-format
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Impossible d'ouvrir la couche vecteur [%s]"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Convertit une couche vecteur binaire GRASS en la combinant avec d'autres "
 "couches vectorielles binaires."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 #, fuzzy
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "Nom de la couche en sortie où les erreurs seront écrites"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Ne construit pas de topologie en mode points"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "Ne pas créer de table attributaire"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 #, fuzzy
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 "Copie égalment la table attributaire. Seule la table de la couche 1 est "
 "prise en compte pour le moment"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Table manquante"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 #, fuzzy
 msgid "Key columns differ"
 msgstr "Les clefs primaires sont différentes."
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 #, fuzzy
 msgid "Number of columns differ"
 msgstr "Le nombre de colonnes est différent."
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 #, fuzzy
 msgid "Column names differ"
 msgstr "Les noms de colonne sont différents."
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 #, fuzzy
 msgid "Column types differ"
 msgstr "Les types de colonnes sont différents."
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 #, fuzzy
 msgid "Length of string columns differ"
 msgstr "La longueur des colonnes de type caractère est différent."
 
 # c-format
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Clef primaire non trouvée"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 #, fuzzy
 msgid "The output map is not 3D"
 msgstr "La couche de sortie n'est pas 3D."
 
 # c-format
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Écriture %s..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, fuzzy, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 "Erreur de lecture du fichier '%s'. Certaines données ne seront pas "
 "correctes\n"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, fuzzy, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Lecteur du fichier raster..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 #, fuzzy
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 "Les intersections aux limites doivent faire l'objet d'une opération de "
 "capture."
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 #, fuzzy
 msgid "Lines common between files will have to be edited"
 msgstr ""
 "Les lignes communes aux deux fichiers devront faire l'objet d'une session "
 "d'édition."
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 #, fuzzy
 msgid "The header information also may have to be edited"
 msgstr "Les informations d'en-tête de fichier devront être éditées."
 
 # c-format
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "%d enregistrements mis à jour"
 
 # c-format
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "Impossible d'ouvrir le curseur sélectionné : '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "Impossible de récupérer la ligne"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Type de colonne inconnu"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Impossible d'insérer un nouvel enregistrement : %s"
@@ -41143,17 +42510,12 @@ msgstr[1] "%-5d centroïdes lus\n"
 msgid "Operation not implemented"
 msgstr "région <%s> non trouvée"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Convertit des fichiers vecteurs OGR dans GRASS. Pilotes disponibles:\n"
 
-#: ../vector/v.in.ogr/main.c:142
-#, fuzzy
-msgid "OGR datasource name"
-msgstr "nom de la base de donnée"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -41164,7 +42526,7 @@ msgstr ""
 "\t\t Shapefile ESRI : répertoire contenant des shapefiles\n"
 "\t\tFichier MapInfo : répertoire contenant des fichiers mapinfo"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -41175,24 +42537,24 @@ msgstr ""
 "\t\tShapefile ESRI : nom du shapefile\n"
 "\t\tFichier MapInfo : nom du fichier mapinfo"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 #, fuzzy
 msgid "Import subregion only"
 msgstr "Afficher seulement la région de la couche raster"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 #, fuzzy
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 "Importer la sous-région seulement (xmin,ymin,xmax,ymax  - habituellement O,S,"
 "E,N)"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Valeur d'entrée : taille minimum de bassin versant"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 #, fuzzy
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
@@ -41200,33 +42562,33 @@ msgstr ""
 "entités plus petites et les îles sont ignorées. Elle doit être supérieure à "
 "snap^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "Titre du fichier raster de sortie"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Pas de points de départ"
 
 # c-format
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Écriture %s..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Exporter les lignes en tant que polygones"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Suppression des centroïdes en doublons..."
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -41234,96 +42596,91 @@ msgstr ""
 "Liste de noms de colonnes à utiliser à la place des noms originaux, le "
 "premier correspondà la colonne de catégorie"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Nom du champ attributaire à utiliser pour les étiquettes"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Nombre de colonnes"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "%-5d catégories du point lues\n"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "Ne pas nettoyer les polygones (non recommandé)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "Forcer l'écriture de valeurs entières"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 #, fuzzy
 msgid "Limit import to the current region"
 msgstr "Ne pas modifier la région courante"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
 # c-format
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, fuzzy, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Impossible d'ouvrir la couche raster <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "La position du curseur n'est pas gérée par le pilote MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, fuzzy, c-format
 msgid "Layer <%s> not available"
 msgstr "La couche '%s' n'est pas disponible"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "La couche '%s' n'est pas disponible"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr ""
@@ -41331,82 +42688,89 @@ msgstr ""
 "vectorielle"
 
 # c-format
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Colonne <%s> non trouvée"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 #, fuzzy
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "4 paramètres sont requis pour le paramètre 'spatial'"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Distance de zone-tampon en unités carte."
 
 # c-format
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Impossible de créer la couche raster <%s>"
 
 # c-format
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Clef primaire <%s> non trouvée"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "La clef primaire doit être un entier"
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Colonne <%s> non trouvée"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+"Ecriture de la colonne <%s> de longueur fixée à 40 caractères (possible "
+"troncature des données)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, fuzzy, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 "Ecriture de la colonne <%s> de longueur fixée à 40 caractères (possible "
 "troncature des données)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, fuzzy, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -41415,7 +42779,7 @@ msgstr ""
 "Largeur de la colonne '%s' fixée à 255 (non spécifiée par OGR), des chaînes "
 "risquent d'être tronquées"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, fuzzy, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
@@ -41423,66 +42787,66 @@ msgstr ""
 "troncature des données)"
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Type de colonne (%s) non géré"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Importation des objets de la couche %d..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s sans géométrie"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Exporter les lignes en tant que polygones"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Rotation des données ... "
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 #, fuzzy
 msgid "Cleaning boundaries at nodes..."
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Écriture %s..."
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Calcul des moyennes de classes..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 #, fuzzy
 msgid "Writing centroids..."
 msgstr "Écrire les sommets de lignes."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -41494,106 +42858,106 @@ msgstr ""
 "entités sont liées à plus d'un tuple de la table attributaire. Le nombre "
 "d'objets de ces entités est stocké comme une catégorie de la couche %d"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d polygones en entrée\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, fuzzy, c-format
 msgid "%d input polygons"
 msgstr "%d polygones en entrée\n"
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Écriture %s..."
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "%d points sans catégorie"
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "%d points sans catégorie"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Seuil de capture pour les contours. -1 pour 'pas de capture'"
 
 # c-format
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Impossible d'ouvrir la couche raster <%s>"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -41646,17 +43010,21 @@ msgstr "Impossible d'écrire dans : %s"
 msgid "Unknown geometry type"
 msgstr "Type de colonne inconnu"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Nom du fichier de sortie"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Fichier raster à importer"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -41668,21 +43036,21 @@ msgstr ""
 "\t\tShapefile ESRI : nom du shapefile\n"
 "\t\tFichier MapInfo : nom du fichier mapinfo"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Titre du fichier raster de sortie"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 msgid "List available layers in data source and exit"
 msgstr "Lister les couches disponibles dans l'emplacement source et quitter"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Lister les couches disponibles dans l'emplacement source et quitter"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -41733,11 +43101,10 @@ msgstr ""
 "Impossible de convertir la projection de la couche en entrée au format "
 "GRASS ; impossible de créer le nouveau Secteur"
 
-# c-format
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "Coordonnées invalides : %s %s"
+msgstr "Nombre de colonnes"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -41749,18 +43116,18 @@ msgstr ""
 "couches vectorielles binaires."
 
 # c-format
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Impossible d'effacer le fichier %s\n"
 
 # c-format
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Impossible de créer le fichier de cellules pour [%s]"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "couche raster <%s> non trouvée"
@@ -41909,60 +43276,60 @@ msgstr "impossible de créer la couche en sortie <%s>"
 msgid "Unable to close new 3d raster map"
 msgstr "Impossible de fermer la couche source"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "Type de couche vecteur"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, fuzzy, c-format
 msgid "Iso cost %d: %f"
 msgstr "classe %d (%d)\n"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
 # c-format
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "Nombre de points en entrée : %d."
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Calcul des moyennes de classes..."
@@ -42130,6 +43497,144 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr ""
+"La connexion à la base de données n'a pas été définie pour la couche <%d>"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+# c-format
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Aucun enregistrement pour la ligne (cat = %d)"
+
+# c-format
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Aucun enregistrement pour la ligne (cat = %d)"
+
+# c-format
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Colonne <%s> non trouvée"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Générer des points vectoriels comme points 3D"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Convertit des fichiers vecteurs OGR dans GRASS. Pilotes disponibles:\n"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Code de couche"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%-5d catégories de la ligne lues\n"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Code de couche"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Code de couche"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Couche à laquelle ajouter la colonne"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Couche à laquelle ajouter la colonne"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Couche à laquelle ajouter la colonne"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Nom de la colonne (le type doit être numérique)"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr ""
+"Nom de la colonne de définition de couleur (pour l'utilisation d'un drapeau -"
+"a)"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "Impossible de lire cette couleur"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "Échelle à appliquer aux données z"
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "Échelle à appliquer aux données z"
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Ne pas modifier la région courante"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Pas de table."
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -42339,7 +43844,7 @@ msgstr "Calcul des moyennes de classes..."
 msgid "Invalid segment number %d for %d points"
 msgstr "%s=%s - nombre illégal de points d'interpolation"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "2 couches doivent être spécifiées"
@@ -42671,54 +44176,251 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "couche vecteur <%s> introuvable"
 
-#: ../vector/v.in.lidar/main.c:159
+# c-format
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Impossible d'ouvrir la couche vecteur [%s]"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Impossible d'ouvrir la base de données %s avec le pilote %s"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Convertit des fichiers vecteurs OGR dans GRASS. Pilotes disponibles:\n"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
+#: ../vector/v.in.lidar/main.c:135
 #, fuzzy
-msgid "Subregion"
-msgstr "Région\n"
+msgid "Layer number to store number of returns as category"
+msgstr "Code de couche"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Couche à laquelle ajouter la colonne"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Nom de la couche vecteur en sortie pour les points de cours d'eau"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Nom du nouveau fichier vecteur binaire"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "données entières importées"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Nom de fichier de signatures à utiliser pour la classification"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "données entières importées"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Importation des objets de la couche %d..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "%s=%s - nombre illégal de points d'interpolation"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "couche vecteur en entrée contenant les points d'apprentissage"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Coordonnées du point germe"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Ne pas créer de table attributaire"
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Impossible d'ouvrir la base de données %s avec le pilote %s"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Code de couche"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "Importation des objets de la couche %d..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
+msgstr "Importation des objets de la couche %d..."
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "%d points chargés\n"
+
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d points chargés\n"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "Coordonnées de la carte"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d points en dehors du seuillage"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d points en dehors du seuillage"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:764
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu input points were filtered out by return number"
+msgstr "%d points en dehors du seuillage"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d points en dehors du seuillage"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d points en dehors du seuillage"
+
+#: ../vector/v.in.lidar/main.c:770
+#, c-format
+msgid "%llu input points were skipped at the begging using offset"
+msgstr ""
+
+# c-format
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d points en dehors du seuillage"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d points chargés\n"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
 msgstr "%d points chargés\n"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:783
 #, fuzzy, c-format
-msgid "%d input points were not valid"
+msgid "%lu input points were not valid"
 msgstr "Coordonnées de la carte"
 
 # c-format
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d points en dehors du seuillage"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d points en dehors du seuillage"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "%d points en dehors du seuillage"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr "%d points en dehors du seuillage"
+
+# c-format
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d points en dehors du seuillage"
 
 # c-format
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:795
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr "%d points en dehors du seuillage"
 
 # c-format
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:798
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped by count-based decimation"
 msgstr "%d points en dehors du seuillage"
 
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Coordonnées pour la requête"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -42888,7 +44590,7 @@ msgid ""
 msgstr "Nom de la couche en sortie où les erreurs seront écrites"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -44042,12 +45744,6 @@ msgstr "Impossible de fermer la couche source"
 msgid "Resolving conflicts..."
 msgstr "Suppression des centroïdes en doublons..."
 
-# c-format
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Écriture [%s]..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -44230,57 +45926,57 @@ msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
 # c-format
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, fuzzy, c-format
 msgid "Generalization (%s)..."
 msgstr "Écriture [%s]..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Résolution"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "couche %d"
@@ -44329,74 +46025,6 @@ msgstr "couche %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Nombre de cadres de l'animation"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Nom du raster en entrée contenant les laltitudes [degrés décimaux]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Nom de la couche en entrée contenant les coûts de rugosité"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Couche raster en sortie pour le rayonnement diffus [W.m-2] (mode 1) ou "
-#~ "l'irradiation diffuse [Wh.m-2.day-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Couche raster en sortie pour le rayonnement réfléchi [W.m-2] (mode 1) ou "
-#~ "l'irradiation réfléchie [Wh.m-2.day-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Fichier raster en sortie pour le rayonnement solaire [W.m-2] (mode 1) ou "
-#~ "l'irradiation [Wh.m-2.day-1] (mode 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nom du fichier raster source"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nom de la couche raster d'altitude (mètres)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Couche raster en sortie pour le rayonnement réfléchi [W.m-2] (mode 1) ou "
-#~ "l'irradiation réfléchie [Wh.m-2.day-1] (mode 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Fichier raster en sortie pour le rayonnement solaire [W.m-2] (mode 1) ou "
-#~ "l'irradiation [Wh.m-2.day-1] (mode 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Nombre de points d'interpolation"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Ne pas tenir compte de la projection (utiliser celle du Secteur)"
-
 # c-format
 #~ msgid "Location: %s\n"
 #~ msgstr "Secteur : %s\n"
@@ -44416,24 +46044,29 @@ msgstr "couche %d"
 #~ "%d classes, %.2f%% points stables\n"
 
 #, fuzzy
+#~ msgid "Subregion"
+#~ msgstr "Région\n"
+
+#, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Alignement du texte"
 
+# c-format
 #, fuzzy
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "région <%s> non trouvée"
+#~ msgid "Could not rewind input file"
+#~ msgstr "Impossible d'ouvrir le fichier ascii : [%s]"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "couche de sortie"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Nom d'une couche raster"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "couche d'indice topographique ln(a/tan(beta))"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "ERREUR: <%s> existe déjà dans le jeu de données <%s>\n"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Nom d'une couche raster"
+#~ msgid "output map <%s> exists"
+#~ msgstr "couche de sortie"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Longueur de page (défaut : %d lignes)"
@@ -44441,6 +46074,9 @@ msgstr "couche %d"
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Largeur de page (défaut : %d caractères)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Ne pas tenir compte de la projection (utiliser celle du Secteur)"
+
 #, fuzzy
 #~ msgid ""
 #~ "\n"
@@ -44468,6 +46104,14 @@ msgstr "couche %d"
 #~ msgstr "[%s] non trouvé"
 
 #, fuzzy
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "région <%s> non trouvée"
+
+#, fuzzy
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "Ne pas tenir compte de la projection (utiliser celle du Secteur)"
+
+#, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -44485,6 +46129,33 @@ msgstr "couche %d"
 #~ "Vous pouvez utiliser le drapeau -o de %s pour sauter cette vérification.\n"
 
 #, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Impossible de créer le segment de fichier %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "convertit toutes les anciennes couches vectorielles GRASS (versions "
+#~ "antérieures à 5.7) du jeu de données courant au format récent"
+
+#~ msgid "Field separator"
+#~ msgstr "Caractère de séparation de champs"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr ""
 #~ "Nom de la couche raster à partir de laquelle calculer les statistiques"
@@ -44519,20 +46190,9 @@ msgstr "couche %d"
 #~ msgid "Default: path to the current GRASS database"
 #~ msgstr "Sauvegarder cadre graphique actif"
 
-#~ msgid "Field separator"
-#~ msgstr "Caractère de séparation de champs"
-
 #, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "ERREUR: <%s> existe déjà dans le jeu de données <%s>\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "convertit toutes les anciennes couches vectorielles GRASS (versions "
-#~ "antérieures à 5.7) du jeu de données courant au format récent"
+#~ msgid "OGR datasource name"
+#~ msgstr "nom de la base de donnée"
 
 #, fuzzy
 #~ msgid "No flag given"
@@ -44540,181 +46200,42 @@ msgstr "couche %d"
 
 # c-format
 #, fuzzy
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Création des couches rasters %i\n"
-
-# c-format
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "Impossible de lire <%s>"
-
-# c-format
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d catégories chargées depuis la table"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "L'une des options, soit texte soit -c, doit être sélectionnée."
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Veuillez spécifier une colonne z"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "L'une des options, soit texte soit -c, doit être sélectionnée."
-
-#, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Valeur invalide de scalex"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Veuillez spécifier une colonne z"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Veuillez spécifier une colonne z"
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Veuillez spécifier une colonne z"
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Veuillez spécifier une colonne z"
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
-
-#, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr ""
-#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
-#~ "qu'un seul."
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Impossible de créer le fichier de cellules pour [%s]"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "L'une des options \"color\", \"rast\" OU \"rules\" DOIT être spécifiée!"
+#~ msgid "Env file not found"
+#~ msgstr "fichier de cellules non trouvé\n"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr ""
-#~ "L'une des options \"color\", \"rast\" OU \"rules\" DOIT être spécifiée!"
+#~ msgid "PID file not found"
+#~ msgstr "fichier de cellules non trouvé\n"
 
 #, fuzzy
-#~ msgid "No graphics device selected. Use d.mon to select graphics device."
-#~ msgstr "Aucune sortie graphique n'est sélectionnée"
+#~ msgid "Command file not found"
+#~ msgstr "fichier de cellules non trouvé\n"
 
+# c-format
 #, fuzzy
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "Couleur du texte, une couleur GRASS standard ou triplet R:G:B"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "Création des couches rasters %i\n"
 
 #, fuzzy
-#~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr "Afficher les données vectorielles GRASS dans le moniteur actif"
+#~ msgid "Name for output image"
+#~ msgstr "Nom du fichier de sortie"
 
+# c-format
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Couleur pour le texte de la carte"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "Impossible de lire <%s>"
 
+# c-format
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Couleur pour tracer la grille ou aucune couleur (\"none\")"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d catégories chargées depuis la table"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
 #~ msgstr ""
 #~ "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 #~ "Nom de la couche raster cible\n"
@@ -44722,8 +46243,8 @@ msgstr "couche %d"
 #~ "Nom de la couche raster de sortie"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Erreur de discrétisation en unités carte"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "Donne aussi la distance maximum d'ESSAIMAGE DU FOYER"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -44875,7 +46396,7 @@ msgstr "couche %d"
 #~ msgstr "Utilisez des crochets (type notation mathématique) dans la légende"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr ""
 #~ "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
 #~ "Nom de la couche raster cible\n"
@@ -44883,12 +46404,38 @@ msgstr "couche %d"
 #~ "Nom de la couche raster de sortie"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "Donne aussi la distance maximum d'ESSAIMAGE DU FOYER"
+#~ msgid "Default: input"
+#~ msgstr "Erreur de discrétisation en unités carte"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Afficher"
+#~ msgid "No graphics device selected. Use d.mon to select graphics device."
+#~ msgstr "Aucune sortie graphique n'est sélectionnée"
+
+#, fuzzy
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr "Afficher les données vectorielles GRASS dans le moniteur actif"
+
+#, fuzzy
+#~ msgid "Text color or \"none\""
+#~ msgstr "Couleur du texte"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Couleur pour le texte de la carte"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "Couleur pour tracer la grille ou aucune couleur (\"none\")"
+
+#, fuzzy
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "Couleur du texte, une couleur GRASS standard ou triplet R:G:B"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "Type de couche vecteur"
 
 #, fuzzy
 #~ msgid ""
@@ -44897,27 +46444,56 @@ msgstr "couche %d"
 #~ "Permet la création et/ou la modification des fichiers de gestion des "
 #~ "couches rasters"
 
-# c-format
+#~ msgid "Failed opening input dig file."
+#~ msgstr "Échec d'ouverture du fichier dig."
+
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "le fichier dig_att n'existe pas."
+
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "Échec d'ouverture du fichier dig_att."
+
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Impossible de créer la couche raster <%s>"
+#~ msgid "Attaching categories..."
+#~ msgstr "Rattachement des catégories...\n"
+
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr ""
+#~ "Échec lors de l'attachement de l'attribut (catégorie %d) à la ligne."
 
-# c-format
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Impossible de créer le fichier de cellules pour [%s]"
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "ATTENTION: ligne %d libellé: %d correspond à un autre libellé: %d."
 
 #, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "Mémoire insuffisante pour az"
+#~ msgid "Writing new file..."
+#~ msgstr "Écriture du nouveau fichier...\n"
 
 #, fuzzy
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "SYSTEM_ERROR: OLD_T_NEW avec un mauvais type de code %x"
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "%-5d points et lignes écrits dans le fichier de sortie.\n"
 
 #, fuzzy
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "SYSTEM_ERROR: NEW_T_OLD Mauvais code de type %x"
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "%-5d centroïdes écrits dans le fichier de sortie.\n"
+
+#, fuzzy
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Import du fichier E00 en couche vectorielle"
+
+#, fuzzy
+#~ msgid "Endian of input vector map"
+#~ msgstr "Nom de la couche vecteur 2D source"
+
+#, fuzzy
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr ""
+#~ "Aucune étiquette de catégorie (dig_cats) trouvée, aucune table créée.\n"
+
+# c-format
+#, fuzzy
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "impossible d'ouvrir le fichier dig_att <%s>\n"
 
 #, fuzzy
 #~ msgid "Reading dig file..."
@@ -45027,160 +46603,47 @@ msgstr "couche %d"
 #~ msgstr "%-5d catégories lues en mémoire.\n"
 
 #, fuzzy
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr ""
-#~ "Aucune étiquette de catégorie (dig_cats) trouvée, aucune table créée.\n"
-
-# c-format
-#, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "impossible d'ouvrir le fichier dig_att <%s>\n"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Échec d'ouverture du fichier dig."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "le fichier dig_att n'existe pas."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Échec d'ouverture du fichier dig_att."
-
-#, fuzzy
-#~ msgid "Attaching categories..."
-#~ msgstr "Rattachement des catégories...\n"
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr ""
-#~ "Échec lors de l'attachement de l'attribut (catégorie %d) à la ligne."
-
-#, fuzzy
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "ATTENTION: ligne %d libellé: %d correspond à un autre libellé: %d."
-
-#, fuzzy
-#~ msgid "Writing new file..."
-#~ msgstr "Écriture du nouveau fichier...\n"
-
-#, fuzzy
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "%-5d points et lignes écrits dans le fichier de sortie.\n"
-
-#, fuzzy
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "%-5d centroïdes écrits dans le fichier de sortie.\n"
-
-#, fuzzy
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Import du fichier E00 en couche vectorielle"
-
-#, fuzzy
-#~ msgid "Endian of input vector map"
-#~ msgstr "Nom de la couche vecteur 2D source"
-
-#, fuzzy
-#~ msgid "Unknown raster map type"
-#~ msgstr "Écrire uniquement le type de couche"
-
-#, fuzzy
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Taille de l'étiquette (pixels)"
-
-#, fuzzy
-#~ msgid "Can't call bad function"
-#~ msgstr "Allocation métrique"
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "SYSTEM_ERROR: OLD_T_NEW avec un mauvais type de code %x"
 
 #, fuzzy
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Erreur de lecture de la couche %s"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "SYSTEM_ERROR: NEW_T_OLD Mauvais code de type %x"
 
 #, fuzzy
 #~ msgid "One or more coordinates"
 #~ msgstr "Facteur d'échelle pour les coordonnées x"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Mémoire insuffisante pour adx"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Mémoire insuffisante pour ady"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Mémoire insuffisante pour adxx"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Mémoire insuffisante pour adyy"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Mémoire insuffisante pour adxy"
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "Impossible de créer les données quad"
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "Impossible de créer la quadfunc"
-
-#~ msgid "Cannot create tree"
-#~ msgstr "Impossible de créer l'arborescence"
-
-#~ msgid "Cannot create tree info"
-#~ msgstr "Impossible de créer l'information d'arborescence"
-
-#~ msgid "sites"
-#~ msgstr "sites"
-
-#, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr ""
-#~ "Convertit le fichier GRASS ascii ou le fichier points en couche "
-#~ "vectorielle binaire"
-
-#, fuzzy
-#~ msgid "Site file <%s> not found"
-#~ msgstr "fichier 3dview <%s> non trouvé"
-
 #, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "Echec pour définir le format du fichier de sites"
+#~ msgid "Name of elevation map"
+#~ msgstr "Nom de la couche raster d'altitude"
 
-#, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "Impossible d'allouer de la mémoire pour les pointeurs de ligne"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Chaîne de caractère pour les cellules sans valeurs"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
 #~ msgstr ""
-#~ "\n"
-#~ "On transforme à présent le vecteur ...\n"
+#~ "L'une des options \"color\", \"rast\" OU \"rules\" DOIT être spécifiée!"
 
 # c-format
-#, fuzzy
-#~ msgid "%d sites written."
-#~ msgstr "%d points  écrits dans la couche vecteur"
-
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "nom de la couche utilisée pour l'intensité"
-
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Nom de la couche utilisée pour la saturation"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "Métrique inconnue : [%s]"
 
 #, fuzzy
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "Importer les fichiers pays US-NGA GEOnet Names Server (GNS) dans une "
-#~ "couche de points vectoriels GRASS"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Erreur de lecture du fichier cats de <%s>"
 
 #, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Fichier GNS décompressé provenant de NGA (avec extension .txt)"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "Erreur de lecture du fichier colr de <%s>"
 
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Raster d'altitude pour extraire les valeurs de hauteur"
+#~ msgid "String representing no data cell value"
+#~ msgstr "Chaîne de caractère pour les cellules sans valeur"
 
 #, fuzzy
-#~ msgid "Table file to be exported or DB connection string"
-#~ msgstr "Fichier raster ASCII à importer"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Utilitaire d'interpolation de reliefs pour couches raster."
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -45199,16 +46662,18 @@ msgstr "couche %d"
 #~ "représente l'altitude combinée avec une couche raster dont la valeur "
 #~ "correspond au coût de rugosité."
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "nom de la couche utilisée pour l'intensité"
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "Nom de la couche utilisée pour la saturation"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "Nom de la couche verte créée"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "Nom de la couche bleue créée"
 
-#, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Utilitaire d'interpolation de reliefs pour couches raster."
-
 #~ msgid "Surface generation program."
 #~ msgstr "Programme de génération de relief."
 
@@ -45231,56 +46696,15 @@ msgstr "couche %d"
 #~ msgstr[0] "Interpolation de la couche raster <%s>... ligne %d ..."
 #~ msgstr[1] "Interpolation de la couche raster <%s>... ligne %d ..."
 
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "Projection lat/long non gérée pour le moment."
-
-# c-format
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Secteur : %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "Afficher l'index"
-
-#, fuzzy
-#~ msgid "Name of elevation map"
-#~ msgstr "Nom de la couche raster d'altitude"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Chaîne de caractère pour les cellules sans valeurs"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "L'une des options \"color\", \"rast\" OU \"rules\" DOIT être spécifiée!"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "L'une des options \"color\", \"rast\" OU \"rules\" DOIT être spécifiée!"
-
-# c-format
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Métrique inconnue : [%s]"
-
-#, fuzzy
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Erreur de lecture du fichier cats de <%s>"
-
-#, fuzzy
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Erreur de lecture du fichier colr de <%s>"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Chaîne de caractère pour les cellules sans valeur"
-
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "Couche Z (altitude) en sortie"
 
 #~ msgid "Output aspect map (or fy)"
 #~ msgstr "couche d'aspect en sortie (ou fy)"
 
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "Projection lat/long non gérée pour le moment."
+
 #, fuzzy
 #~ msgid "Prefix for output raster map(s)"
 #~ msgstr "Nom de la couche raster cible"
@@ -45310,15 +46734,24 @@ msgstr "couche %d"
 #~ msgstr "Indicateur de valeur vide ('null')"
 
 #, fuzzy
-#~ msgid "High resolution panchromatic image"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
 #~ msgstr ""
-#~ "Transformée de Brovey pour fusionner les canaux multispectraux et "
-#~ "panchromatique à haute résolution"
+#~ "Importer les fichiers pays US-NGA GEOnet Names Server (GNS) dans une "
+#~ "couche de points vectoriels GRASS"
 
-# c-format
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "impossible d'ouvrir le fichier pour %s"
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "Fichier GNS décompressé provenant de NGA (avec extension .txt)"
+
+#, fuzzy
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Raster d'altitude pour extraire les valeurs de hauteur"
+
+#, fuzzy
+#~ msgid "Table file to be exported or DB connection string"
+#~ msgstr "Fichier raster ASCII à importer"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -45351,6 +46784,180 @@ msgstr "couche %d"
 #~ msgstr "Titre du fichier raster de sortie"
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr ""
+#~ "Calcule des statistiques univariées à partir des cellules non vides d'une "
+#~ "couche raster."
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Couleur pour tracer la grille ou aucune couleur (\"none\")"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Couleur pour tracer la grille ou aucune couleur (\"none\")"
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Couleur pour afficher les informations manquantes"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "Couleur pour tracer la grille ou aucune couleur (\"none\")"
+
+#, fuzzy
+#~ msgid "Create grid as lines, instead of areas"
+#~ msgstr "%s va stocker ces valeurs à la place de la zone.\n"
+
+# c-format
+#, fuzzy
+#~ msgid "Invalid distance"
+#~ msgstr "Etiquette date&heure invalide"
+
+#~ msgid "Layer number"
+#~ msgstr "Code de couche"
+
+# c-format
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "Secteur : %s\n"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "Afficher l'index"
+
+#, fuzzy
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Veuillez spécifier une colonne z"
+
+#, fuzzy
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "Valeur invalide de scalex"
+
+#, fuzzy
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "L'une des options, soit texte soit -c, doit être sélectionnée."
+
+#, fuzzy
+#~ msgid "-p and output= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Veuillez spécifier une colonne z"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Veuillez spécifier une colonne z"
+
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Veuillez spécifier une colonne z"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Veuillez spécifier une colonne z"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Afficher"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "L'une des options, soit texte soit -c, doit être sélectionnée."
+
+#, fuzzy
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "High resolution panchromatic image"
+#~ msgstr ""
+#~ "Transformée de Brovey pour fusionner les canaux multispectraux et "
+#~ "panchromatique à haute résolution"
+
+# c-format
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "impossible d'ouvrir le fichier pour %s"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr ""
 #~ "#-#-#-#-#  grassmods_fr.po (grassmods_fr)  #-#-#-#-#\n"
@@ -45371,28 +46978,113 @@ msgstr "couche %d"
 #~ msgstr "Aucune couche créée en sortie"
 
 #, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr ""
-#~ "Calcule des statistiques univariées à partir des cellules non vides d'une "
-#~ "couche raster."
-
-#, fuzzy
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "Couleur pour tracer la grille ou aucune couleur (\"none\")"
 
 #~ msgid "Gather the histogram quietly"
 #~ msgstr "Construire l'histogramme sans afficher de détails"
 
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Mémoire insuffisante pour adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Mémoire insuffisante pour ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Mémoire insuffisante pour adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Mémoire insuffisante pour adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Mémoire insuffisante pour adxy"
+
+#~ msgid "Cannot create quaddata"
+#~ msgstr "Impossible de créer les données quad"
+
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "Impossible de créer la quadfunc"
+
+#~ msgid "Cannot create tree"
+#~ msgstr "Impossible de créer l'arborescence"
+
+#~ msgid "Cannot create tree info"
+#~ msgstr "Impossible de créer l'information d'arborescence"
+
+# c-format
 #, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "%s va stocker ces valeurs à la place de la zone.\n"
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Impossible de créer le fichier de cellules pour [%s]"
+
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "Mémoire insuffisante pour az"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr ""
+#~ "les drapeaux -B & - C sont mutuellement exclusifs. Veuillez n'en choisir "
+#~ "qu'un seul."
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr ""
+#~ "L'une des options \"color\", \"rast\" OU \"rules\" DOIT être spécifiée!"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr ""
+#~ "L'une des options \"color\", \"rast\" OU \"rules\" DOIT être spécifiée!"
+
+#~ msgid "sites"
+#~ msgstr "sites"
+
+#, fuzzy
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr ""
+#~ "Convertit le fichier GRASS ascii ou le fichier points en couche "
+#~ "vectorielle binaire"
+
+#, fuzzy
+#~ msgid "Site file <%s> not found"
+#~ msgstr "fichier 3dview <%s> non trouvé"
+
+#, fuzzy
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "Echec pour définir le format du fichier de sites"
+
+#, fuzzy
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "Impossible d'allouer de la mémoire pour les pointeurs de ligne"
+
+#, fuzzy
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr ""
+#~ "\n"
+#~ "On transforme à présent le vecteur ...\n"
 
 # c-format
 #, fuzzy
-#~ msgid "Invalid distance"
-#~ msgstr "Etiquette date&heure invalide"
+#~ msgid "%d sites written."
+#~ msgstr "%d points  écrits dans la couche vecteur"
 
-#~ msgid "Layer number"
-#~ msgstr "Code de couche"
+#, fuzzy
+#~ msgid "Performing map %s + %s"
+#~ msgstr "Erreur de lecture de la couche %s"
+
+#, fuzzy
+#~ msgid "Can't call bad function"
+#~ msgstr "Allocation métrique"
+
+# c-format
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "Impossible de créer la couche raster <%s>"
+
+#, fuzzy
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Taille de l'étiquette (pixels)"
+
+#, fuzzy
+#~ msgid "Unknown raster map type"
+#~ msgstr "Écrire uniquement le type de couche"
diff --git a/locale/po/grassmods_it.po b/locale/po/grassmods_it.po
index 9e50df0..eefbe25 100644
--- a/locale/po/grassmods_it.po
+++ b/locale/po/grassmods_it.po
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_it\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-03-29 13:25+0100\n"
 "Last-Translator: Luca Delucchi <lucadeluge at gmail.com>\n"
 "Language-Team: Italian <grass-translations at lists.osgeo.org>\n"
@@ -30,10 +30,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -51,6 +51,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -78,12 +79,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -130,7 +132,7 @@ msgstr ""
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -138,14 +140,16 @@ msgid "Color file for <%s> not available"
 msgstr "File del colore per <%s> non disponibile"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -164,7 +168,9 @@ msgstr "File del colore per <%s> non disponibile"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -185,7 +191,7 @@ msgstr "File del colore per <%s> non disponibile"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -197,7 +203,7 @@ msgstr "File del colore per <%s> non disponibile"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -221,17 +227,17 @@ msgstr "File del colore per <%s> non disponibile"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -242,7 +248,7 @@ msgstr "File del colore per <%s> non disponibile"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -390,10 +396,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "Input"
 
@@ -438,22 +447,24 @@ msgstr "Sottoinsieme"
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Colore del testo"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Nome del raster"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Nome del font"
 
@@ -468,11 +479,13 @@ msgstr "Dimensione icona"
 msgid "Default: Auto-scaled"
 msgstr "Predefinito: centro della mappa"
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "Percorso del file del font"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -563,14 +576,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -612,11 +631,11 @@ msgstr ""
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -694,23 +713,26 @@ msgstr "Nome del raster map in output"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -720,14 +742,19 @@ msgstr "Nome del raster map in output"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -776,54 +803,55 @@ msgstr "Nome del raster map in output"
 msgid "[%s]: No such color"
 msgstr "[%s]: Questo colore non esiste"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 #, fuzzy
 msgid "monitors"
 msgstr "Mostra di tutti i monitor"
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr ""
 "Seleziona il tipo di carattere con cui il testo deve essere rappresentato "
 "nel monitor grafico dell'utente."
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Mostra il rettangolo dello schermo (sinistra, destra, alto, basso)"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "Mostra le dimensioni dello schermo (larghezza, altezza)"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "Mostra il rettangolo di cornice attivo"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Mostra le dimensioni dello schermo (larghezza, altezza)"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "Mostra il rettangolo dello schermo della regione corrente"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 #, fuzzy
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr "Mostra le coordinate geografiche e la risoluzione dell'intero schermo"
 
 # layer/tematismo
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -831,31 +859,32 @@ msgstr "Mostra le coordinate geografiche e la risoluzione dell'intero schermo"
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Connessione al database non definita per il layer %d"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -865,10 +894,10 @@ msgstr "Connessione al database non definita per il layer %d"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -882,7 +911,7 @@ msgstr "Connessione al database non definita per il layer %d"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Impossibile aprire il database <%s> col driver <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -906,7 +935,7 @@ msgstr "Tipo di grafico"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr "Proprietà del grafico"
 
@@ -948,7 +977,12 @@ msgstr "Valore massimo usato per riferimento nel plot della barra"
 msgid "Create legend information and send to stdout"
 msgstr "Crea informazioni sulla leggenda e le manda a stdout"
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Crea output 3D"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -956,20 +990,22 @@ msgstr "Crea informazioni sulla leggenda e le manda a stdout"
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -984,40 +1020,40 @@ msgstr "Crea informazioni sulla leggenda e le manda a stdout"
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Impossibile aprire la mappa vettoriale <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1042,10 +1078,6 @@ msgstr ""
 msgid "Line color"
 msgstr "Colore della linea"
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr "Colore del testo o  \"none\""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1103,12 +1135,15 @@ msgstr "L: aggiungi  M: rimuovi  R: esci e salva\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1127,17 +1162,18 @@ msgstr "L: aggiungi  M: rimuovi  R: esci e salva\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1150,10 +1186,10 @@ msgstr "L: aggiungi  M: rimuovi  R: esci e salva\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1161,21 +1197,22 @@ msgstr "L: aggiungi  M: rimuovi  R: esci e salva\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "vettoriale"
 
@@ -1220,16 +1257,18 @@ msgstr "Mappa vettoriale <%s> non trovata"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1241,22 +1280,22 @@ msgstr "Mappa vettoriale <%s> non trovata"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1311,10 +1350,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1366,12 +1405,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Nome della mappa raster da utilizzare per <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Stampa solo il tipo di mappa raster"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1380,28 +1419,28 @@ msgstr ""
 "Sovrappone i valori di categoria delle celle su un tematismo raster "
 "visualizzato sul monitor grafico"
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Colore della griglia"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "Numero di cifre significative (solo valori a virgola mobile)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Punti di partenza del file raster"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1410,7 +1449,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1418,7 +1457,7 @@ msgstr[0] "Colore della griglia"
 msgstr[1] "Colore della griglia"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1426,72 +1465,72 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Nome della mappa raster delle esposizioni da visualizzare"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "nessuno"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "nessuno"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 "Mappa raster che contiene i valori utilizzati per la lunghezza della freccia"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "Valore per il fattore di scala non valido"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr ""
 
@@ -1622,17 +1661,17 @@ msgstr ""
 " Distanza verso la rete = %f, distanza dalla rete = %f\n"
 "\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1640,7 +1679,7 @@ msgstr "Mappa raster risultante"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1649,50 +1688,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Tipo di arco"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "Layer degli archi"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr "Layer dei nodi"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr "Colonna costo direzione in avanti (o tutte) per gli archi (numero)"
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr "Colonna costo direzione indietro per gli archi (numero)"
 
@@ -1714,11 +1753,11 @@ msgstr ""
 msgid "Background color"
 msgstr "Colore di sfondo"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "Usa il calcolo geodetico per le location longitudine-latitudine"
 
@@ -1738,7 +1777,7 @@ msgstr "%s - valore y non valido"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "La proiezione corrente non è longitudine-latitudine"
 
@@ -1763,7 +1802,7 @@ msgstr "Importando punti ..."
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1771,7 +1810,7 @@ msgstr "Importando punti ..."
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2133,7 +2172,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2150,9 +2189,9 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 "Non è possibile ottenere i valori chiave della proiezione della location "
@@ -2160,7 +2199,7 @@ msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "Impossibile impostare i parametri della proiezione lat/long"
@@ -2405,12 +2444,13 @@ msgstr "Utilizzando le coordinate del centro della mappa\n"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2480,17 +2520,17 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 "Non è possibile ottenere le informazioni sulla proiezione della location "
 "corrente"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 "Non è possibile ottenere le unità  della proiezione della location attuale"
@@ -2513,11 +2553,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "Non è possibile leggere la mappa vettoriale"
 
@@ -2712,7 +2753,7 @@ msgstr "Colore di riempimento dell'area"
 msgid "Colorize features according color definition column"
 msgstr "Nome della colonna"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 msgid "Color definition in R:G:B form"
 msgstr ""
 
@@ -3015,41 +3056,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Il file '%s' esiste già e verrà sovrascritto."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Non è possibile aggiornare la regione corrente"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Mappa in output"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Errore - Il monitor '%s' non è avviato"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Impossibile creare il file <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "Scrittura della mappa vettoriale <%s> in corso ..."
 
-#: ../display/d.mon/start.c:163
-#, fuzzy, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr "Imposto il nome della mappa a <%s> che sovrascrive <%s>"
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Impossibile leggere il file dei colori"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, c-format
+msgid "Unable to create file <%s>"
+msgstr "Impossibile creare il file <%s>"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3061,35 +3109,54 @@ msgstr "Monitor <%s> è in uso da un altro utente"
 msgid "Monitor <%s> is not running"
 msgstr "Errore - Il monitor '%s' non è avviato"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "File di celle non trovato"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Impossibile creare il file <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "File di celle non trovato"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "impossibile aprire <%s>"
+
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "Impossibile aprire il file <%s>"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Impossibile creare il file <%s>"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Mostra di tutti i monitor"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 #, fuzzy
 msgid "No monitors running"
 msgstr "Errore - Il monitor '%s' non è avviato"
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "File di celle non trovato"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Non riesco ad aprire il cellfile per [%s]"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Impossibile leggere il file dei colori"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Non riesco a trovare il file raster %s"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3101,8 +3168,8 @@ msgid "Name of monitor to start"
 msgstr "Nome del monitor grafico da avviare"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3126,9 +3193,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3208,12 +3276,12 @@ msgid "List running monitors and exit"
 msgstr "Elenca i formati supportati ed esce"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3226,33 +3294,34 @@ msgstr "Elenca i formati supportati ed esce"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Stampa"
 
@@ -3266,60 +3335,78 @@ msgstr "Stampa il nome del monitor attualmente selezionato"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Stampa il nome del monitor attualmente selezionato"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Stampa il nome del monitor attualmente selezionato"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Stampa il nome del monitor attualmente selezionato"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "Non è possibile leggere il colore"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Nome del file di output non valido"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr "ignorato\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 #, fuzzy
 msgid "Currently selected monitor:"
 msgstr "Stampa il nome del monitor attualmente selezionato"
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr ""
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "Nessun monitor selezionato"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Devono essere fornite sia l'opzione 'from_table' che 'select' "
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3369,7 +3456,7 @@ msgid "No map name given"
 msgstr "Nessun nome di mappa assegnato"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Impossibile salvare la region <%s>"
@@ -3502,9 +3589,9 @@ msgstr "successo"
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Impossibile aprire il file per <%s> per la scrittura"
@@ -3551,9 +3638,9 @@ msgstr "Connessione"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Formato"
 
@@ -3568,11 +3655,11 @@ msgstr "Percentuale da calcolare (richiede il flag -e)"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Nome per il file di output (se omesso o \"-\" l'uscita è sullo stdout)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "Non include i nomi delle colonne nell'output"
 
@@ -3580,7 +3667,7 @@ msgstr "Non include i nomi delle colonne nell'output"
 msgid "Describe query only (don't run it)"
 msgstr "Descrive solo la query (non la esegue)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Output verticale (invece che orizzontale)"
 
@@ -3613,7 +3700,7 @@ msgstr "Testa solo la query, non la esegue"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3645,7 +3732,7 @@ msgstr "database, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3657,7 +3744,7 @@ msgstr "Non riesco a descrivere la tabella"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3797,8 +3884,8 @@ msgstr "Nome del file in output"
 msgid "Unable to create index:"
 msgstr "Non è possibile creare l'indice"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Connessione"
@@ -3873,7 +3960,7 @@ msgstr "Non è possibile impostare la proiezione"
 msgid "Unable to allocate handle."
 msgstr "Impossibile allocare memoria"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3910,7 +3997,7 @@ msgstr "Impossibile selezionare gli attributi"
 msgid "Unable to select view names."
 msgstr "Impossibile selezionare gli attributi"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3950,12 +4037,12 @@ msgstr "Fuori memoria massima"
 msgid "No path given"
 msgstr "Nessun nome di mappa assegnato"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Impossibile selezionare gli attributi"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Non è possibile selezionare dati dalla tabella"
@@ -4003,29 +4090,29 @@ msgid "Taken not found"
 msgstr "non trovato"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "Non è possibile creare l'indice"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "impossibile impostare la dimensione"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Impossibile selezionare gli attributi"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "Non è possibile creare la tabella <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Impossibile aprire il database <%s>"
@@ -4072,6 +4159,11 @@ msgstr ""
 "colonna '%s' : tipo bool (boolean) è archiviata come char(1), valori: 0 "
 "(false), 1 (true)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "impossibile aprire <%s>"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Opzione sconosciuta nella definizione del database PostgreSQL: "
@@ -4159,7 +4251,8 @@ msgstr "raster <%s> non trovato"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4243,21 +4336,21 @@ msgid "Unable to open database:"
 msgstr "Impossibile aprire il database: "
 
 # FINIRE
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 msgid "SQLite database connection is still busy"
 msgstr "La connessione al database SQLite è ancora impegnata"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "<%s> esiste già"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Non è possibile creare la tabella: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "Mapset <%s> non trovato"
@@ -4272,6 +4365,11 @@ msgstr "Database SQLITE occupato, sto già attendendo da %d secondi..."
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "Driver SQLite: colonna '%s', il tipo %d SQLite non è supportato"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Errore nella chiusura del file ascii"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4519,10 +4617,10 @@ msgstr "Rimuove un database."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4543,26 +4641,39 @@ msgstr "Nome di un file MAT-File(v4) esistente"
 msgid "Sets user/password for DB driver/database."
 msgstr "Imposta utente/password per driver/database"
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Non è possibile impostare la proiezione"
+msgid "Username"
+msgstr "nome"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Non è possibile impostare la proiezione"
+msgid "Password"
+msgstr "Passata %d di %d:"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Nome del font"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Mostra i parametri della connessione in uso ed esce"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Impossibile ad impostare user/password"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "La password è stata archiviata nel file."
@@ -4852,6 +4963,7 @@ msgstr "Area\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4862,10 +4974,11 @@ msgstr "Area\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "Valore del raster"
@@ -4937,19 +5050,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "Impossibile aprire il file <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5219,7 +5319,7 @@ msgstr "Piano di taglio numero <%d> non trovato"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5867,7 +5967,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5880,12 +5980,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -5990,7 +6091,17 @@ msgstr "%s=%s,%s: sono gli stessi file, non è richiesto copiarli"
 msgid "<%s> already exists"
 msgstr "<%s> esiste già"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Non è possibile leggere l'intestazione della mappa raster <%s@%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "Impossibile aprire la mappa vettoriale <%s> al livello topologico %d"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -5998,137 +6109,110 @@ msgstr "<%s> esiste già"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr ""
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr ""
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr ""
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr ""
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr ""
 "Mapset del quale fornire la lista (predefinito: percorso di ricerca corrente)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Nome di un mapset (predefinito: corrente)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Imposta la region corrente alla region salvata"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Nome del file in output"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Se non è dato o '-' legge dallo standard input"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "Stampa i tipi di dati"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr ""
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "Lista dettagliata (fornisce anche i titoli delle mappe)"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Non riesco ad aprire il cellfile per [%s]"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Gruppo <%s> non esiste"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Non è possibile leggere l'intestazione della mappa raster <%s@%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "Impossibile aprire la mappa vettoriale <%s> al livello topologico %d"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "Non è possibile aggiornare i parametri della proiezione lat/long"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
@@ -6136,17 +6220,17 @@ msgstr ""
 "Errore nell'esecuzione di 'pj do proj' (ovvero nella coppia di coordinate di "
 "proiezione in input)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6154,7 +6238,7 @@ msgstr ""
 "Output WGS84 impossible a causa dell'assenza di parametri di trasformazione "
 "del datum. Prova ad eseguire g.setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6384,9 +6468,9 @@ msgstr "Regione <%s> non trovata"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "Mappa raster 3D <%s> non trovata"
@@ -6411,7 +6495,7 @@ msgstr ""
 "Non è possibile cambiare la regione predefintia. Il mapset corrente non è "
 "<PERMANENT>"
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Input <%s=%s> non valido"
@@ -6690,38 +6774,38 @@ msgstr "Stampa in stile script per la shell (incluso numero di revisione SVN)"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6862,7 +6946,7 @@ msgstr ""
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "Operazione da eseguire"
@@ -7313,7 +7397,7 @@ msgstr "impossibile aprire <%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7514,38 +7598,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "File di celle non trovato"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Il file raster da importare"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
+msgstr ""
+
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7751,8 +7856,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr "Modifica"
 
@@ -7793,9 +7898,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Location <%s> creata"
@@ -7949,10 +8054,12 @@ msgstr "Stampa la matrice di trasformazione sullo stdout"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -7968,10 +8075,14 @@ msgstr "Stampa la matrice di trasformazione sullo stdout"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8004,10 +8115,12 @@ msgstr "vettore da rimuovere"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8023,10 +8136,14 @@ msgstr "vettore da rimuovere"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8134,8 +8251,8 @@ msgstr ""
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr "esporta"
 
@@ -8175,7 +8292,7 @@ msgstr "Importa file SPOT VGT NDVI in un raster"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8204,15 +8321,16 @@ msgstr ""
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Importa"
@@ -8362,7 +8480,7 @@ msgstr "Schema del database"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Converte mappe raster 3D in mappe raster 2D"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8372,6 +8490,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Input"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Converte mappe raster 3D in mappe raster 2D"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "File di input"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Nome di una mappa raster esistente"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Nome della mappa raster 3D in input"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Numero di classi da definire"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Mappe raster in input"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8424,21 +8643,12 @@ msgid ""
 "datasets."
 msgstr "Nome di una mappa raster esistente"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "File di input"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8447,11 +8657,13 @@ msgstr "File di input"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8459,54 +8671,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Nome della mappa raster 3D in input"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Numero di classi da definire"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Mappe raster in input"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8522,7 +8693,8 @@ msgstr "Nome di una mappa raster esistente"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "File di input"
@@ -8750,7 +8922,7 @@ msgstr "Mostra il titolo del file raster"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Metodo di interpolazione da usare"
 
@@ -8867,6 +9039,48 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr "Numero di colonne"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Lista di valori separati da virgola"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Nome del file in output o del dispositivo GPS"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Crea un database vuoto"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Numero di classi da definire"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+msgid "Output header row"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9094,7 +9308,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9338,6 +9552,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9407,10 +9622,14 @@ msgid "Extend location extents based on new dataset"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 msgid "Override projection check (use current location's projection)"
 msgstr "Sovrascrive la proiezione (usa la proiezione della location)"
 
@@ -9418,7 +9637,8 @@ msgstr "Sovrascrive la proiezione (usa la proiezione della location)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr ""
@@ -9440,21 +9660,21 @@ msgstr ""
 "univariate"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "In modalità scansione, stampa usando lo stile dello script di shell"
 
@@ -9477,21 +9697,21 @@ msgid "Name for output raster map"
 msgstr "Nome della mappa raster di output"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "Statistica da usare per i valori raster"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Statistica"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Tipo di dati memorizzati per la mappa raster risultante"
@@ -9533,17 +9753,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Scala da applicare ai dati z"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Percentuale di mappa da tenere in memoria"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "p-esimo percentile dei valori"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9641,8 +9861,8 @@ msgid "Remove existing color table"
 msgstr "Rimuove la tavola dei colori esistente"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr "Rimuove"
@@ -9686,19 +9906,20 @@ msgid ""
 msgstr "Converte vettore OGR in vettore GRASS"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Il file raster da importare"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 "Nome del tematismo OGR. Se non viene definito vengono importati tutti i "
 "tematismi disponibili"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 msgid "Name for output vector map (default: input)"
 msgstr "Nome della mappa vettoriale di output (predefinito: input)"
 
@@ -9718,6 +9939,11 @@ msgstr "Nome della mappa vettoriale di output (predefinito: input)"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9740,10 +9966,15 @@ msgstr "Nome della mappa vettoriale di output (predefinito: input)"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 msgid "Output"
 msgstr "Output"
 
@@ -9753,29 +9984,30 @@ msgid "Output vector map extent"
 msgstr "Mappa vettoriale degli errori di output"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Allinea la regione corrente alla mappa raster di input"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Errore nella lettura del valore dell'attributo '%s'"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Soglia di cattura (snap) per i confini"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "'-1' per nessuna cattura (snap)"
 
@@ -9792,17 +10024,69 @@ msgstr ""
 "Si vuole cambiare il datum (o i parametri di trasformazione del datum)?"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Visualizza i formati supportati ed esci"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Visualizza i formati supportati ed esci"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr ""
+"Non è possibile ottenere le unità  della proiezione della location attuale"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Mostra una barra di scala nel monitor dei grafici"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Crea il mapset se non ne esiste uno"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "mostra i parametri della connessione in uso ed esce"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Stampa il nome del monitor attualmente selezionato"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+"Posizione iniziale in cui il testo viene disegnato (percentuale, [0,0] è "
+"l'angolo basso a sinistra)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -9956,7 +10240,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -9965,7 +10249,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -9975,7 +10259,7 @@ msgid "geometry"
 msgstr "vettore da rimuovere"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10030,7 +10314,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Numero di punti per l'interpolazione"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10055,15 +10343,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Banda da selezionare (il valore predefinito è tutte)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10122,12 +10410,12 @@ msgid "Optional"
 msgstr "Nome del file di output"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr ""
 "Forza le mappe Lat/Lon per ricadere nelle coordinate geografiche (90N,S; "
@@ -10218,7 +10506,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr "Genera un raster con le aree continue aumentate di una cella."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10232,7 +10520,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Raggio del buffer nelle celle raster"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Misura"
 
@@ -10264,14 +10552,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "raster, statistiche"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10338,6 +10626,18 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+#, fuzzy
+msgid "Spatio-temporal mapcalc expression"
+msgstr "Calcola una nuova mappa raster da un'espressione di r.mapcalc"
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10345,7 +10645,8 @@ msgid ""
 msgstr "Nome della mappa vettoriale esistente"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Deseleziona"
@@ -10389,6 +10690,63 @@ msgstr "Lette [%d] categorie di punti"
 msgid "Name of table to drop"
 msgstr "Nome colonna degli attributi da usare per l'opzione 'query'"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Produce una mappa vettoriale di curve di livello in base a parametri "
+"specificati a partire da una mappa raster."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "isoipse"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Incremento fra le isoipse (equidistanza)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Lista delle isoipse"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Livello minimo delle isoipse"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Livello massimo delle isoipse"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "Numero minimo di punti per una curva di livello (0 -> nessun limite)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Mappe raster in input"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Non crea la tabella degli attributi"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr "Esporta tabella degli attributi in diversi formati"
@@ -10412,6 +10770,20 @@ msgstr "Formato della tabella"
 msgid "Name for output table (default: input name)"
 msgstr "Nome della mappa vettoriale di output (predefinito: input)"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Converte mappe raster 3D in mappe raster 2D"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Nome di una mappa raster esistente"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10558,6 +10930,65 @@ msgstr ""
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Nome della mappa vettoriale esistente"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Converte mappe raster 3D in mappe raster 2D"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Tipo di elemento 'to'"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr ""
+"Nome della colonna della tabella degli attributi da utilizzare per le "
+"etichette"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Quale raster necessita una tabella dei colori"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Le statistiche estese attualmente sono supportate solo per punti/centroidi"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Non costruisce la topologia"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10568,6 +10999,7 @@ msgid "Vector map to which to join other table"
 msgstr "Mappa vettoriale alla quale unire un'altra tabella"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10576,6 +11008,7 @@ msgid "Layer where to join"
 msgstr "Layer sul quale unire"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "colonne: %d"
@@ -10655,7 +11088,6 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -10955,6 +11387,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11238,13 +11674,6 @@ msgstr "Nome di una mappa raster esistente"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Numero di classi da definire"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -11258,25 +11687,34 @@ msgid "Name of vector points map for which to edit attributes"
 msgstr ""
 "Nome della mappa vettoriale di punti della quale editare la tabella attributi"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Colonna da aggiornare con il risultato della query"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Nome della mappa vettoriale da modificare"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "colonne: %d"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr ""
 "Nome della colonna della tabella degli attributi da utilizzare per le "
 "etichette"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr ""
 
@@ -11313,81 +11751,98 @@ msgid "Maintains GRASS Addons extensions in local GRASS installation."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
+#, fuzzy
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 "Scarica, installa estensione dal repository degli Addons di GRASS nella "
 "installazione locale di GRASS oppure rimuove le estensioni installate."
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Nome dell'estensione da installare/rimuovere"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Elenca i moduli disponibili nel repository SVN Addons di GRASS "
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Visualizza i formati supportati ed esci"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Visualizza i formati supportati ed esci"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr "Installa nel sistema (bisogna avere i permessi di amministratore)"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "visualizzazione"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "Tabelle di sistema invece che tabelle utente"
@@ -11408,20 +11863,26 @@ msgid "Description of the space time dataset"
 msgstr "Nome del nuovo database"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Nome del nuovo database"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11439,10 +11900,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr "Calcola una nuova mappa raster da un'espressione di r.mapcalc"
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+msgid "Keyword to be searched"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr ""
+"Stampa le impostazioni della region corrente (in stile script per la shell)"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Formato di output"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr "Crea una MASK per limitare le operazioni sui raster."
@@ -11564,8 +12061,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Nome del file in output"
+msgid "Name for output image (or text file for -t)"
+msgstr "Nome per il file immagine di output (senza estensione)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11582,6 +12079,11 @@ msgstr "Utilizza le coordinate della mappa invece delle coordinate xyz"
 msgid "Use gnuplot for display"
 msgstr "Non riesco ad aprire il cellfile per [%s]"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "File world di output"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11596,11 +12098,6 @@ msgstr "Calcola le statistiche univariate per le celle non nulle di un raster"
 msgid "series"
 msgstr "Mappa(e) raster da leggere"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Crea un database vuoto"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11698,6 +12195,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11711,11 +12209,15 @@ msgid "Sill value"
 msgstr "%s: specificazione di valore non consentita"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Nome della mappa raster di output delle esposizioni"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11799,11 +12301,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Nome di una mappa raster esistente"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-#, fuzzy
-msgid "Spatio-temporal mapcalc expression"
-msgstr "Calcola una nuova mappa raster da un'espressione di r.mapcalc"
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11821,7 +12318,7 @@ msgstr "Impossibile aprire la mappa raster <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12331,7 +12828,7 @@ msgid "radiance"
 msgstr "radianza"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 msgid "reflectance"
 msgstr "riflettanza"
@@ -12360,8 +12857,9 @@ msgstr "Nome del file metadata Landsat (.met o MTL.txt)"
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Metadati"
 
@@ -12518,7 +13016,7 @@ msgstr "Fattore di scala per l'elevazione"
 #: ../imagery/i.landsat.toar/main.c:221
 msgid "Output at-sensor radiance instead of reflectance for all bands"
 msgstr ""
-"Dà in output la radianza al sensore invece che la riflettanza, per tutte le "
+"Dà in ouput la radianza al sensore invece che la riflettanza, per tutte le "
 "bande"
 
 #: ../imagery/i.landsat.toar/main.c:226
@@ -12569,8 +13067,8 @@ msgstr "Non è possibile leggere l'intervallo dati della mappa raster <%s>"
 msgid "Calculating..."
 msgstr "Calcolo in corso..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14604,21 +15102,21 @@ msgstr "Location di destinazione <%s> non trovata"
 # target: destinazione ?
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "Mapset <%s> nella location target <%s> - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "permesso negato"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "non trovato"
@@ -14710,7 +15208,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14838,7 +15336,7 @@ msgid "Name of target mapset"
 msgstr "Nome del mapset di destinazione"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 "Imposta location e mapset correnti come destinazione del gruppo di immagini"
 
@@ -15269,52 +15767,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "File di input"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Nome della mappa con il risultato"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Mostra il titolo del file raster"
@@ -15489,7 +15991,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -15903,7 +16405,7 @@ msgstr "Il mio primo modulo raster"
 msgid "My first vector module"
 msgstr "Il mio primo modulo vettoriale"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr "Impossibile impostare il predeterminato livello del vettoriale aperto"
 
@@ -16046,11 +16548,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16777,12 +17280,12 @@ msgstr "Righe cambiate"
 msgid "Cols changed"
 msgstr "Colonne cambiate"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Sto disegnando ..."
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -16791,34 +17294,34 @@ msgstr ""
 "conosciuti di uno o più tematismi per riempire le aree con \"nessun dato\" "
 "in un altro tematismo di mappa."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Nome dei raster da unire insieme"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Nome della mappa raster risultante"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Utilizzare zero (0) per trasparenza invece di NULL"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "Il numero minimo di mappe raster di input è due"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "Percentuale completa..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "Creazione dei file di supporto per la mappa raster <%s>"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -16838,7 +17341,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Nome del file di input; o \"-\" per leggere dallo stdin"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Titolo della mappa raster risultante"
@@ -17263,8 +17766,8 @@ msgstr ""
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Impossibile inserire una nuova regola: %s"
@@ -17333,58 +17836,17 @@ msgstr "Mappa(e) raster da leggere"
 msgid "Converts a raster map into a vector map."
 msgstr "Converte un raster in una mappa vettoriale."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Tipo di elemento 'to'"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr ""
-"Nome della colonna della tabella degli attributi da utilizzare per le "
-"etichette"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Attributi"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Quale raster necessita una tabella dei colori"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Le statistiche estese attualmente sono supportate solo per punti/centroidi"
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Non costruisce la topologia"
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -17413,23 +17875,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "Non è possibile creare la tabella: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Impossibile assegnare i privilegi sulla tabella <%s>"
@@ -17470,195 +17934,195 @@ msgstr "Non è possibile impostare la proiezione"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Allocazione della memoria e lettura della mappa di input in corso..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Riproietta un raster da una location alla location corrente"
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 msgid "Location containing input raster map"
 msgstr "Location contenente la mappa raster di input"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 msgid "Source"
 msgstr "Origine"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 msgid "Mapset containing input raster map"
 msgstr "Mapset contenente la mappa raster di input"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Cambia il mapset corrente."
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "Nome della mappa raster di input da riproiettare"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Percorso al database GRASS della location di input"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Nome per la mappa raster di output (predefinito: input)"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 msgid "Target"
 msgstr "Destinazione"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Risoluzione della mappa di output"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Mostra mappe raster della location d input ed esci"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 msgid "Print input map's bounds in the current projection and exit"
 msgstr ""
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr "Location di input e output non possono essere le stesse"
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr "Location di input e output sono le stesse"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr ""
 "Impossibile ottenere informazioni sulla proiezione per la mappa raster di "
 "output"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr ""
 "Impossibile ottenere le unità della proiezione per la mappa raster di output"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 "Impossibile ottenere i valori chiave della proiezione per la mappa raster di "
 "output"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Mapset <%s> nella location di input <%s> - %s"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Controllo della location <%s> mapset <%s>"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "Parametro richiesto <%s> non impostato"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Mappa raster <%s> nella location <%s> nel mapset <%s> non trovata"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr ""
 "Impossibile ottenere informazioni sulla proiezione per la mappa raster di "
 "input"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr ""
 "Impossibile ottenere le unità della proiezione per la mappa raster di input"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr ""
 "Impossibile ottenere i valori chiave della proiezione per la mappa raster di "
 "intput"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "Impossibile lavorare con dati non proiettati (location xy)"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "Mappa di input  <%s@%s> nella location <%s>:"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Input:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Colonne: %d  (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Righe: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Nord:  %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Sud: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Ovest:  %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Est:  %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "Risoluzione-EO: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "Risoluzione-NS: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Output:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Proiezione in corso ..."
 
@@ -17704,7 +18168,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17717,7 +18181,7 @@ msgstr "Nome della mappa raster da utilizzare per <%s>"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17732,7 +18196,7 @@ msgstr "Sto disegnando ..."
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -17877,7 +18341,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr "La larghezza della pagina è troppo piccola"
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
 
@@ -18287,12 +18751,52 @@ msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 "Modalità 2: radiazione giornaliera integrata per un dato giorno dell'anno"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Costante di incremento della diffusione"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Scrittura della mappa raster <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Mappa <%s> non valida"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Si stanno utilizzando le coordinate del centro della mappa: %f %f"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Scrittura della mappa raster <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Si stanno utilizzando le coordinate del centro della mappa: %f %f"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Scrittura della mappa raster <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 "Se si usa -s e nessun raster dell'orizzonte, il numpartitions dev'essere=1"
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
@@ -18300,11 +18804,11 @@ msgstr ""
 "Per risparmiare memoria e usare l'ombreggiatura si devono usare orizzonti "
 "precalcolati"
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr "Devono essere fornite entrambe le mappe latin e longin, oppure nessuna"
 
@@ -18669,7 +19173,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Location: %s\n"
@@ -19477,7 +19981,7 @@ msgstr "Valori di elevazione negativi in input"
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Genera una mappa raster di sottobacini idrografici"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -19669,7 +20173,7 @@ msgstr "Aggiorna statistiche per un raster"
 msgid "Statistics for <%s> updated"
 msgstr "Statistiche per <%s> aggiornate"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
@@ -19677,15 +20181,15 @@ msgstr ""
 "Non è possibile convertire le informazioni sulla proiezione della mappa "
 "raster nel formato di GRASS per la verifica"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "La verifica della proiezione verrà ignorata"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -19694,24 +20198,25 @@ msgstr ""
 "corrente.\n"
 "\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "PROJ_INFO della location è:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "PROJ_INFO del dataset è:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "Dataset importato PROJ_INFO è:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19719,7 +20224,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
@@ -19727,9 +20232,9 @@ msgstr ""
 "Si prenda in considerazione di generare una nuova location dal dataset di "
 "input usando il parametro location\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 "La proiezione del dataset di input e della location corrente sembrano "
@@ -19794,8 +20299,8 @@ msgstr "Creando i file di supporto per %s"
 msgid "Link to raster map <%s> created."
 msgstr "Collegamento alla mappa raster <%s> creato"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -19817,13 +20322,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr "La regione predefinita per questa location è stata aggiornata"
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 msgid "Region for the current mapset updated"
 msgstr "La regione per questa location è stata aggiornata"
 
@@ -19850,20 +20355,20 @@ msgstr ""
 msgid "Band to select (default is all bands)"
 msgstr "Banda da selezionare (il valore predefinito è tutte)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Elenca i formati supportati ed esce"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 msgid "Extend region extents based on new dataset"
 msgstr "Estende le dimensioni della regione basandosi sul nuovo dataset"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr "Inoltre aggiorna la regione predefinita nel mapset PERMANENT"
 
@@ -19875,13 +20380,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Visualizza i formati supportati ed esci"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Dev'essere fornita una delle opzione -h o rows= e cols="
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -19890,31 +20404,31 @@ msgstr "Dev'essere fornita una delle opzione -h o rows= e cols="
 msgid "%s= and %s= are mutually exclusive"
 msgstr "I flag -g e -a sono mutualmente esclusivi"
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr "Si sta procedendo con l'importazione..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "Il gruppo di immagini <%s> esite già e verrà sovrascritto."
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Lettura della mappa %s in corso ..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "La banda (%d) selezionata non esiste"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, c-format
 msgid "Imagery group <%s> created"
 msgstr "Gruppo di immagini <%s> creato"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Numero di punti in input:%d"
@@ -20103,14 +20617,15 @@ msgstr "Nome della mappa raster di output delle pendenze"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20410,6 +20925,12 @@ msgstr "I flag -g e -a sono mutualmente esclusivi"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Opzione <%s> richiesta!"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "I flag -g e -a sono mutualmente esclusivi"
+
 #: ../raster/r.in.bin/main.c:467
 #, fuzzy, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20485,8 +21006,8 @@ msgid "Importing band %d..."
 msgstr "Importazione dei punti in corso ..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20602,7 +21123,7 @@ msgstr "Altezza (%d) dev'essere più grande di 1"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "[%s] non può essere trovato"
@@ -21629,7 +22150,8 @@ msgstr "Passaggio 1 di 2..."
 msgid "Unable to write to temp file"
 msgstr "Impossibile scrivere in un file temporaneo"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 msgid "Generating renumbering scheme..."
 msgstr ""
 
@@ -21669,7 +22191,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr ""
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22337,23 +22859,23 @@ msgid "unable to open output file"
 msgstr "impossibile aprire il file di output"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "SEZIONE 3: Superficie del flusso di accumulazione con SFD."
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr "MFD: proporzione cumulata del flusso di distribuzione non 1.0 ma %f"
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22361,8 +22883,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 #, fuzzy
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr "Mappa di output: direzione di drenaggio"
@@ -22469,27 +22991,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "SEZIONE %d: Chiudendo Mappe."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr "SEZIONE %d: Determinazione del bacino idrografico."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "SEZIONE 1a (di %1d): Inizializando Memoria."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22502,22 +23024,32 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr "Mappa raster risultante"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Mappa raster risultante"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Mappa raster risultante"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Mappa raster risultante"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Mappa raster risultante"
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "Mappa raster risultante"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "Mappa raster risultante"
@@ -22545,176 +23077,181 @@ msgstr "Mappa raster risultante"
 msgid "Closing half basins map"
 msgstr "Mappa raster risultante"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] "SEZIONE 1: Inizializzando Variabili. %d sezioni totali."
 msgstr[1] "SEZIONE 1: Inizializzando Variabili. %d sezioni totali."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 msgid "Inputs"
 msgstr "Inputs"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Nome della mappa raster d'inserimento dati"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Nome di una mappa raster contenente una superfice di altezze"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Nome della mappe raster in input"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Nome di una mappa raster contenente una superfice di altezze"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Livello minimo di contorno"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Uso la massima distanza tra punti. %f"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Nome di un file vettoriale in output"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Numero di livelli da utilizzare per ogni componente"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Nome di un file vettoriale in output"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Nome della tabella in output"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Nome di un file vettoriale in output"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Nome di un file vettoriale in output"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Nome di un file vettoriale in output"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Nome di un file vettoriale in output"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 msgid "Each half-basin is given a unique value"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Nome di un file vettoriale in output"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Nome di un file vettoriale in output"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 msgid "Slope steepness (S) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Fattore d convergenza per MFD (1-10)"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr "1 = flusso più divergente, 10 = flusso più convergente. Consigliato: 5"
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr "Memoria massima da utilizzare con la flag -m (in MB)"
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr "SFD: direzione di flusso singola, MFD: direzione di flusso multipla"
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Consentire solo deflussi idrici orizzontali e verticali"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 "Abilita l'opzione per l'uso della memoria swap del disco. L'operazione è "
 "lenta"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
@@ -22722,48 +23259,48 @@ msgstr ""
 "Necessario solo se la richiesta di memoria supera la RAM disponibile: vedere "
 "il manuale per come calcolare il fabbisogno di memoria"
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 "Usare un'accumulazione di flusso positiva anche per le possibili sottostime"
 
 # FINIRE
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 "Si veda il manuale per una descrizione dettagliata dell'output "
 "dell'accumulazione di flusso"
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "Spiacente, si deve scegliere una mappa di output"
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s=%s - dev'essere un numero positivo"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "driver pg: colonna '%s', di tipo %d non supportata"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "Subprocesso non andato a buon fine con codice d'uscita %d"
@@ -22954,21 +23491,21 @@ msgid "Could not read maximum distance. Aborting."
 msgstr ""
 "Impossibile leggere la distanza massima. L'operazione verrà interrotta."
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "OOPS: righe cambiate da %d a %d"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "OOPS: colonne cambiate da %d a %d"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr ""
@@ -23166,7 +23703,7 @@ msgstr "File world di output"
 msgid "Converting <%s>..."
 msgstr "Conversione di <%s> in corso..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "La tipologia del raster <%s> non combacia"
@@ -23237,7 +23774,7 @@ msgid ""
 msgstr "Calcola le statistiche univariate per le celle non nulle di un raster"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23250,11 +23787,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Impossibile aprire la mappa raster 3D <%s>"
@@ -23267,58 +23807,85 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"Utilizza la stessa risoluzione della map RASTER3D di input per la mappa "
+"output 2D, indipendentemente dalle impostazioni attuali della region"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "Calcola le statistiche univariate per le celle non nulle di un raster"
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "I flag -g e -a sono mutualmente esclusivi"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "Calcola la regressione lineare per due mappe raster: y = a + b*x"
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "Genera un raster della distanza dagli elementi del layer di input"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Nome della mappa di output delle distanze"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Nome della mappa raster di output"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 msgid "Output distances in meters instead of map units"
 msgstr "Distanza di output in metri invece che in unità di mappa"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Distanza massima dal punto più vicino"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr "Dev'essere assegnato almeno un valore  di distance= e value="
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr "metric=geodesic è valido solo per lat/lon"
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Nome del raster"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Distanza di output in metri invece che in unità di mappa"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Impossibile creare il file temporaneo <%s>"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23329,66 +23896,71 @@ msgstr "Impossibile creare il file temporaneo <%s>"
 msgid "Reading raster map <%s>..."
 msgstr "Lettura della mappa raster <%s> in corso..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 msgid "Writing output raster maps..."
 msgstr "Scrittura della mappa raster di output..."
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Impossibile leggere la tavola dei colori per la mappa raster <%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "File di input"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Gestisce i valori NULL di una data mappa raster"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Raster3d del quale modificare il valore null"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Elenco dei valori raster da impostare a NULL"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "Valore con il quale rimpiazzare il valore null"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "Funzione solamente se la mappa è di valori decimali"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr "Controlla"
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "Funzione solamente se la mappa è di valori interi"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr "Compie l'operazione solo se la mappa non ha un file bitmap NULL-value"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr "Crea un file bitmap NULL-value che valida tutte celle di dati"
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr "Rimuove file bitmap NULL-value"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+#, fuzzy
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr "Crea un file bitmap NULL-value che valida tutte celle di dati"
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
@@ -23397,64 +23969,65 @@ msgstr ""
 "Raster <%s> è una mappa riclassificata di <%s@%s>. Considerare di generare "
 "una copia con r.mapcalc. Sta per uscire."
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "La mappa raster <%s> non è nel mapset <%s> dell'utente"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr "%s è un'immissione non valida per null"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "La mappa raster <%s> ha già un file bitmap di valori nulli"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "<%s> è una mappa raster con valori interi (CELL)"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "<%s> è un raster di interi (CELL). Utilizzando null=%d."
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "<%s> è una mappa raster con valori a virgola mobile"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr ""
 "Scrittura del nuovo file di valori nulli per la mappa raster <%s> in corso..."
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "Mappa raster <%s> modificata."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr ""
 "Rimozione in corso del file di valori nulli per la mappa raster <%s>..."
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: specificazione di valore non consentita"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Scrittura dei nuovi dati per la mappa raster <%s> in corso..."
@@ -23503,7 +24076,7 @@ msgstr "Tipo sconosciuto: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Non è possibile chiudere la mappa raster <%s@%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "Non è possibile chiudere la mappa raster di output"
 
@@ -23625,21 +24198,26 @@ msgstr "Funzione kernel"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Sto disegnando ..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "I flag -g e -a sono mutualmente esclusivi"
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "Parametri"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -23648,27 +24226,27 @@ msgstr ""
 msgid "Known functions:"
 msgstr "Funzioni note:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Importa file raster binario in un raster GRASS"
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Il file raster da importare"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Banda da selezionare (il valore predefinito è tutte)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Nome della location di destinazione delle immagini"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
@@ -23676,88 +24254,100 @@ msgstr ""
 "Nome della location da cui leggere la proiezione per la trasformazione dei "
 "GPG"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Nome della mappa raster di elevazione di input [metri]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Nome della nuova location da creare"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Non crea la tabella degli attributi"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Sovrascrive la proiezione (usa la proiezione della location)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Mostra i parametri della connessione in uso ed esce"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Usa i numeri delle bande invece che i nomi dei colori"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "Mostra le tabelle ed esce"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 "Bisogna specificare una location d'origine differente da quella di output"
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr "La flag '-l' funziona solo in location Lat/Lon"
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "Il numero dei sottoinsiemi dev'essere uguale o maggiore di 1"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Impossibile aprire l'origine dati <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "La mappa raster <%s> esiste già"
 
 # flipped
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
@@ -23765,7 +24355,7 @@ msgstr ""
 "Il raster di input è capovolto  o ruotato - non può essere importato. Si può "
 "utilizzare 'gdalwarp' per trasformare la mappa col Nord in alto."
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
@@ -23775,8 +24365,8 @@ msgstr ""
 "certamente controllare bordi e risoluzione della mappa con r.info e "
 "reimpostarli con r.region prima di andare ulteriormente avanti."
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -23784,101 +24374,106 @@ msgstr ""
 "Non si è in grado di convertire la proiezione della mappa di input nel "
 "formato di GRASS; impossibile creare una nuova location."
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Non è possibile creare la location: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Si sta procedendo con l'importazione..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Impossibile aprire il file di firma"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Non è possibile ottenere la banda raster"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Si stanno copiando %d GCP nel file di punti per <%s>"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr "I GCP hanno il seguente sistema di coordinate OpenGIS WKT:"
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "Riproiezione della tabella dei GCP:"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "* Proiezione di input per la tabella GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "* Proiezione dell'output per la tabella GCP: %s "
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Errore in pj_do_proj (non è possibile riproiettare GCP %i)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr ""
 "Non è possibile tradurre i valori chiave di proiezione dei GCP di input"
 
 # target: ?
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr ""
 "Impossibile ottenere informazioni sulla proiezione della location target"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "Impossibile ottene le unità della proiezione della location target"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr ""
 "Impossibile ottene i valori chiave della proiezione della location target"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Scrittura della mappa raster <%s> in corso..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr ""
 "Impostazione della tavola dei colori per il grigio per <%s>  (8 bit, intera "
 "gamma)"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr ""
 "Impostazione della tavola dei colori per il grigio per <%s> (16 bit, gamma "
 "dell'immagine)"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Non riesco ad aprire il cellfile per [%s]"
@@ -24114,7 +24709,7 @@ msgstr "Scrittura della mappa vettoriale <%s> in corso ..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24466,29 +25061,34 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr ""
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr "La distanza dev'essere >= 0.0"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Generazione della mappa raster <%s> in corso..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Creazione"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Genera valori di celle casuali con dipendenza spaziale"
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Distanza massima della correlazione spaziale (valore >= 0.0)"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Numero massimo di colonne da caricare"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -24925,33 +25525,33 @@ msgstr "Riscala il range dei valori elle categorie in un raster."
 msgid "Maximal number of iterations"
 msgstr "Numero massimo di iterazioni"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "Non è possibile trovare il carattere '%s'\n"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Eliminati %d  pixel "
 msgstr[1] "Eliminati %d  pixel "
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "Assotigliamento completato con successo"
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 "Assotigliamento non completato, considera di incrementare il parametro "
@@ -26027,156 +26627,228 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'%s' dev'essere > 0 per '%s'"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "Scansione dei dati in corso ..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Campo di variazione:     min         max\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Non è possibile creare il file temporaneo"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Crea un raster da un assemblaggio di molte coordinate usando statistiche "
 "univariate"
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "File di input"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "File contenente le regole di ricodifica"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "raster <%s> non trovato"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Quale raster necessita una tabella dei colori"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "Nome del raster"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "Range del filtro per valori z (min,max)"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "Scala da applicare ai dati z"
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "É richiesta la mappa raster di output"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Vengono importati i valori interi"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Vengono importati i valori interi"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Stampa la cronologia del raster invece delle informazioni"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
-msgstr "Sovrascrive la proiezione del dataset (utilizza quella della location)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "Imposta la regione da questa mappa raster"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "Gruppo <%s> non esiste"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Opzione '%s' sconosciuta"
+msgid "File <%s> does not exist"
+msgstr "Gruppo <%s> non esiste"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "GRASS LOCATION PROJ_INFO è:\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "Gruppo <%s> non esiste"
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Opzione '%s' sconosciuta"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 msgid "Invalid zrange"
 msgstr "Range z non valido"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr "Impossibile calcolare il percentile senza l'opzione pth specificato!"
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr "Impossibile calcolare il trimmed senza l'opzione trim specificato!"
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Opzione <%s> richiesta!"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr "Lettura dei dati in corso ..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Impossibile aprire il file di output <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "Scrittura della mappa in corso ..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "Tovati %lu punti nella regione."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "Scansione dei dati in corso ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr "Impossibile calcolare il percentile senza l'opzione pth specificato!"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Campo di variazione:     min         max\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr "Impossibile calcolare il trimmed senza l'opzione trim specificato!"
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Impossibile aprire il file '%s' per la lettura"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "GRASS LOCATION PROJ_INFO è:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26406,12 +27078,6 @@ msgstr "Riscala da %s[%d,%d] a %s[%d,%d]"
 msgid "Header File = %s"
 msgstr "File di intestazione = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "Impossibile creare il file <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27222,6 +27888,13 @@ msgstr "Specificare un numero plausibile di linee da tralasciare"
 msgid "Invalid vrange"
 msgstr "Est non valido"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27278,6 +27951,11 @@ msgstr "Coordinata y errata alla linea %lu colonna %d. <%s>"
 msgid "Writing to output raster map..."
 msgstr "Scrittura della mappa raster di output..."
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr "Tovati %lu punti nella regione."
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr ""
@@ -27646,27 +28324,27 @@ msgstr "Nome del filtro file"
 msgid "Delete the null file"
 msgstr "Nome del filtro file"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "tabella delle categorie per [%s] impostata a %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] è una riclassificazione di un'altra mappa. Sto uscendo."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Sto scrivendo un nuovo file null per [%s]..."
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Rimozione del file dei nulli per [%s]...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Fatto."
 
@@ -27702,31 +28380,11 @@ msgstr ""
 "Produce una mappa vettoriale di curve di livello in base a parametri "
 "specificati a partire da una mappa raster."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Incremento fra le isoipse (equidistanza)"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 msgid "Contour levels"
 msgstr "Livelli delle isoipse"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Lista delle isoipse"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Livello minimo delle isoipse"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Livello massimo delle isoipse"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "Numero minimo di punti per una curva di livello (0 -> nessun limite)"
-
 #: ../raster/r.contour/main.c:140
 #, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -27737,29 +28395,31 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Impossibile creare la tabella: %s"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Impossibile creare l'indice per la tabella <%s>, chiave <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "Sto scrivendo gli attributi"
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Impossibile inserire un nuovo record: '%s'"
@@ -28580,10 +29240,6 @@ msgstr "Nome della mappa vettoriale dei punti di arrivo"
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-msgid "Output header row"
-msgstr ""
-
 #: ../raster/r.what/main.c:146
 msgid "Show the category labels of the grid cell(s)"
 msgstr "Mostra le etichette delle celle"
@@ -28887,7 +29543,8 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "Non è possibile selezionare dati dalla tabella"
 
@@ -29514,11 +30171,11 @@ msgstr "Stampa in stile script per la shell"
 msgid "3D Raster map <%s> not found"
 msgstr "Mappa raster 3D <%s> non trovata"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Errore nella lettura del file della cronologia"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, c-format
@@ -29711,6 +30368,37 @@ msgstr ""
 msgid "Update range"
 msgstr "L'intervallo dei dati in output"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "radianza"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "Combina raster rosso, verde e blu in un singolo raster"
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Nome della mappa/e raster di output"
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Impossibile allocare memoria"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Scrittura della nuova mappa raster in corso..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 msgid "Unable to close input raster maps"
 msgstr "impossibile chiudere le mappe raster di input"
@@ -29876,6 +30564,150 @@ msgstr ""
 msgid "Timestamp format is invalid"
 msgstr "Formato della data sbagliato"
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Fornire tre mappe raster 3D RGB"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Mappa vettoriale <%s> non trovata"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Calcolo delle direzioni di flusso in corso..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr ""
+"Nome della mappa vettoriale di punti della quale editare la tabella attributi"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Nome della mappa vettoriale da modificare"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Nome di un file vettoriale in output"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Il file raster da collegare"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s in %s: %s"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Numero di iterazioni"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr ""
+"Ampiezza del corso d'acqua (in metri). Il valore predefinito è l'ampiezza "
+"della cella del raster"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "Mostra il titolo del file raster"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Nessuna mappa raster specificata"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Il database predefinito non è impostato"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Numero massimo di righe da caricare"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Numero massimo di iterazioni"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Impossibile descrivere la tabella <%s>"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Mappa vettoriale <%s> non è 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Errore nella lettura dei dati"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Selezione degli elementi in corso..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30383,6 +31215,61 @@ msgstr ""
 msgid "Failed to find intersection segment"
 msgstr "Interpretazione della larghezza come intero fallita"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Non è possibile inserire nella tabella : %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Impossibile aprire la mappa vettoriale <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "La tabella <%s> non esiste nel database <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Il tematismo OGR <%s> è già esistente e verrà sovrascritto"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Il tematismo OGR <%s> è già esistente e verrà sovrascritto"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Non è possibile creare la mappa vettoriale <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Impossibile aprire il database <%s> col driver <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Non è possibile creare la tabella <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr ""
+"Impossibile copiare la tabella degli attributi nella mappa vettoriale <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Non è possibile creare la tabella <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30412,7 +31299,7 @@ msgstr "Nome della mappa di input"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30425,8 +31312,8 @@ msgstr "Nome della mappa di input"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30454,81 +31341,122 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "Trova il percorso più breve in una rete vettoriale."
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Nome del filtro file"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 "Richiesto per l'operazione 'connect'. Connette i punti entro una data soglia."
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Nomi di file di input"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Se non è dato o '-' legge dallo standard input"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "Assegna un'unica categoria ai nuovi punti"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr "Per l'operazione 'nodes'"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Mappa vettoriale dei punti di arrivo"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Tematismo di linee"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr "Operazione sconosciuta"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "Il valore di soglia dev'essere >= 0"
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Esegue la manutenzione della rete."
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "Esegue la manutenzione della rete."
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "Impossibile aprire la mappa vettoriale <%s> al livello topologico %d"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d nuovi punti scritti all'output"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "Punti di blocco della mappa vettoriale"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "Copia degli attributi in corso ..."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr ""
@@ -30549,8 +31477,9 @@ msgstr "[%d] punti della categoria data mancanti"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "Stampa"
@@ -30581,9 +31510,9 @@ msgstr "Nome della colonna contenente le coordinate y"
 msgid "Name of column containing z coordinate"
 msgstr "Nome della colonna contenente le coordinate z"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr "Output 3D"
 
@@ -30792,13 +31721,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "La mappa vettoriale <%s> esiste già e sarà sovrascritta"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "La mappa vettoriale <%s> esiste già"
@@ -30994,27 +31923,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Non mostrare i numeri della categoria"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Visualizza gli attributi della mappa vettoriale"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31022,165 +31951,165 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 msgid "The tolerance must be > 0."
 msgstr "La distanza dev'essere > 0.0"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr "La tolleranza è stata reimpostata a %g"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Lunghezza della pagina non valida"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr "La tolleranza in unità di mappa = %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Non è possibile leggere la mappa vettoriale"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Non è possibile selezionare dati dalla tabella <%s>"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Tipo di colonna non supportata"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr "Creazione dei buffer attorno alle aree in corso ..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Nessun record per la categoria %d nella tabella <%s>"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "La tolleranza in unità di mappa: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Creazione dei buffer attorno alle aree in corso ..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Nome mappa raster"
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "Sto creando parti della topologia..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 msgid "Breaking polygons..."
 msgstr "Si sta rompendo i poligoni..."
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "Rimozione dei duplicati in corso..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 msgid "Cleaning boundaries at nodes"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Rimozione dei duplicati in corso..."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Rimozione dei duplicati in corso..."
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Sto attaccando le isole..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Calcolo dei centroidi per le aree in corso..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Non è possibile calcolare il centroide dell'area"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Generazione dell'elenco dei confini da cancellare in corso..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 msgid "Deleting boundaries..."
 msgstr "Cancellazione dei confini in corso..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 msgid "Calculating centroids for areas..."
 msgstr "Calcolo dei centroidi per le aree in corso..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Non è possibile calcolare il centroide per l'area %d"
@@ -31562,7 +32491,7 @@ msgstr "fallito"
 msgid "Not enough disk space--cannot write files"
 msgstr "Spazio nel disco insufficiente -- impossibile scrivere i file"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -31615,11 +32544,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -31630,27 +32560,27 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr "Costo"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr "Colonna costo per i nodi (numero)"
 
@@ -31678,12 +32608,12 @@ msgstr "Tipo di elemento"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Non è possibile creare la mappa vettoriale <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 #, fuzzy
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr "Assegna sottoreti per i centri più vicini (direzione dal centro)."
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 #, fuzzy
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
@@ -31692,7 +32622,7 @@ msgstr ""
 "Il nodo definito come centro dev'essere aperto (costi >= 0). I costi del "
 "nodo centrale vengono utilizzati nel calcolo"
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 #, fuzzy
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
@@ -31701,28 +32631,46 @@ msgstr ""
 "Categorie dei centri (punti o nodi) ai quali dev'essere assegnata la rete, "
 "il layer per queste categorie è dato dall'opzione nlayer"
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Layer/tabella"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "La tabella <%s> non esiste nel database <%s>"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "Numero di centri: [%d] (nlayer: [%d])"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Calcolo dei costi dai centri in corso ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr ""
 
@@ -32072,87 +33020,87 @@ msgstr ""
 "tutti gli attributi"
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Input non riuscito"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr ""
 "Genera una mappa GRASS 2D/3D di punti vettoriali disposti in posizioni "
 "casuali"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "Numero di punti da creare"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Non riesco a trovare il file raster %s"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr ""
 "Minimo valore di altezza z (necessita del parametro -z o del nome di colonna)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr ""
 "Massimo valore di altezza z (necessita del parametro -z o del nome di "
 "colonna)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Nome della colonna contenente le coordinate x"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 msgid "Writes z values to column"
 msgstr ""
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Tipo di tabella colore"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Crea output 3D"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Selezione degli elementi in corso..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "Il numero di punti dev'essere > 0 (%d definiti)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d di %d elementi selezionati dalla mappa vettoriale <%s>"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Nome della mappa vettoriale esistente"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr "La tabella dovrebbe contentere solo due colonne"
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
@@ -32161,7 +33109,7 @@ msgstr ""
 "solo tipi di colonna INTEGER (numeri interi) e DOUBLE PRECISION (precisione "
 "doppia)"
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
@@ -32169,14 +33117,14 @@ msgstr ""
 "La mappa vettoriale di partenza <%s> non contiene punti nella regione "
 "corrente"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr ""
 "La mappa vettoriale di partenza <%s> non contiene punti nella regione "
 "corrente"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "Sto generando punti..."
 
@@ -32365,6 +33313,159 @@ msgstr "Impossibile aggiornare il database"
 msgid "Impossible to write in the database"
 msgstr "Impossibile scrivere nel database"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Mappa raster risultante"
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Nome del file con il risultato della classificazione"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "raster <%s> non trovato"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Vengono importati i valori interi"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Vengono importati i valori interi"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> numero di punti non valido"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Valore random minimo"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Numero di byte per cella"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Numero di byte per cella"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Deviazione standard"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Range z non valido"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 msgid "Changes type of vector features."
 msgstr ""
@@ -32436,7 +33537,7 @@ msgstr "Tabelle di sistema invece che tabelle utente"
 msgid "Force 2D output even if input is 3D "
 msgstr "Forza l'output usando valori interi"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -32659,6 +33760,183 @@ msgstr "Impossibile selezionare gli attributi"
 msgid "Labeled %d lines."
 msgstr "Etichettate %d linee"
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "raster <%s> non trovato"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "raster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d raggruppato."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Specifica "
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Nome di un file vettoriale in output"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Distanza massima dalla rete"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Numero minimo di pixel in una classe"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Campo separatore in output"
+
+#: ../vector/v.cluster/main.c:127
+#, fuzzy
+msgid "Force 2D clustering"
+msgstr "Forza la rimozione"
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Nume di righe da tenere in memoria"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "%s = %s -- dev'essere maggiore di zero"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Sto disegnando ..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Utilizza la regione corrente"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Sto creando centroidi...."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s=%s - dev'essere un numero positivo"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Uso la massima distanza tra punti. %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Troppe categorie"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Distanza massima dal punto più vicino"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, fuzzy, c-format
+msgid "Mean: %g"
+msgstr "Media = %.5lf"
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Deviazione standard"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Uso la massima distanza tra punti. %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Ricerca del percorso cost..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Non sono stati trovati punti di dati"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Scrittura della mappa raster di output..."
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Mappa raster risultante"
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "raster <%s> non trovato"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "Trovate %d classi"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "Trovate %d classi"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -32730,7 +34008,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33034,14 +34312,8 @@ msgstr "Nessun record selezionato"
 msgid "Loading data..."
 msgstr "Caricamento dati..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Mappa vettoriale <%s> non è 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Colonna <%s> non trovata"
@@ -33097,17 +34369,17 @@ msgstr "Creazione dei file di supporto per la mappa raster in corso..."
 msgid "Color can be updated from database only if use=attr"
 msgstr "Il colore può essere aggiornato dal database solo se use=attr"
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "Aree convertite: %d of %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "Punti/linee convertite: %d of %d"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "Lettura delle aree in corso ..."
 
@@ -33274,17 +34546,17 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Opzione '%s' sconosciuta"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 "Crea un ciclo connettendo i nodi dati (TSP - problema del commesso "
 "viaggiatore)."
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
@@ -33292,65 +34564,65 @@ msgstr ""
 "Da notare che TSP è NP-hard, e in questo modulo viene utilizzato un "
 "algoritmo euristico per cui il ciclo creato può essere sub-ottimale"
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr "Categorie dei punti ('città') sui nodi (il layer è definito da nlayer)"
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr "Layer dei nodi (usato per le città)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "Colonna costo direzione indietro per gli archi (numero)"
 
 # output/uscita
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Nome per il file di output (se omesso o \"-\" l'uscita è sullo stdout)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr "Categorie dei punti ('città') sui nodi (il layer è definito da nlayer)"
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Numero di città: [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "Non ci sono abbastanza città (< 2)"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Sto creando centroidi...."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "Nessun punto con categoria [%d]"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Nessun record per il punto (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Il nodo di destinazione [%d] non è raggiungibile dal nodo [%d]"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 #, fuzzy
 msgid "Searching for the shortest cycle..."
 msgstr "ricerca del valore massimo di bit depth"
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Impossibile aprire il file per <%s> per la scrittura"
@@ -33514,6 +34786,21 @@ msgstr ""
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "Per il parametro 'spatial' sono richiesti 4 parametri"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Opzione '%s' sconosciuta"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "La verifica della proiezione verrà ignorata"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -33630,7 +34917,7 @@ msgid "Processing features..."
 msgstr "Elaborazione degli elementi in corso ..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "Non è possibile calcolare il centroide dell'area"
 
@@ -33697,7 +34984,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Impossibile usare la colonna <%s>"
@@ -34107,7 +35394,7 @@ msgstr "Nessun record per la categoria [%d]"
 msgid "%d records updated"
 msgstr "%d record aggiornati"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34211,9 +35498,8 @@ msgstr "Tipo di colonna sconosciuto '%s'"
 msgid "Unable to tokenize column string: [%s]"
 msgstr ""
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "Trasformazione degli elementi in corso..."
 
 #: ../vector/v.transform/main.c:290
@@ -34662,7 +35948,7 @@ msgstr "Errore nell'apertura della mappa raster 3D <%s>"
 msgid "Column type not supported, please use a column with double type"
 msgstr ""
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Lettura degli elementi in corso ..."
@@ -34746,6 +36032,10 @@ msgstr "Nome della colonna del grado di centralità (degree centrality)"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Colonne"
 
@@ -34811,58 +36101,63 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Visualizza valori medi invece degli intervalli"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Colonna <%s> non trovata nella tabella <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Il raster è di tipo integer mentre la colonna è di tipo float"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "Il raster è di tipo float mentre la colonna è di tipo integer, attenzione "
 "alla possibile perdita di dati!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "Non riesco a trovare il file raster %s"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d punti al di fuori della regione corrente non considerati"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr "%d punti senza categoria non considerati"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 "Ho assegnato il valore 'NULL' agli ulteriori punti (%d) con categoria %d."
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d categorie caricate dal vettoriale"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d categorie duplicate nel vettoriale"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d categrie caricate dalla tabella"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d categorie dal vettoriale mancano nella tabella"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d record aggiornati"
@@ -35719,51 +37014,62 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "Visualizza gli attributi della mappa vettoriale"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+"Condizioni WHERE (to) di un'istruzione SQL senza la parola chiave 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Separatore di record per l'output verticale"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Regione\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Popola i valori del database da elementi vettoriali"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "Non è possibile aprire il cursore selezionato"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Non è possibile recuperare i dati dalla tabella <%s>"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr ""
@@ -36046,7 +37352,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "[%d] record selezionati dalla tabella"
 msgstr[1] "[%d] record selezionati dalla tabella"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Non è possibile creare la tabella <%s>"
@@ -36073,19 +37379,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Interrogazione del database in corso..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr ""
 
@@ -36101,6 +37407,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Tavola dei colori <%s> non trovata"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Aggiornamento del database in corso..."
@@ -36373,7 +37684,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr "Connessione al database non definita per il layer <%s>"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "driver pg: colonna '%s', di tipo %d non supportata"
@@ -36392,53 +37704,53 @@ msgstr "[%d] punti senza categoria (nfield: [%d])"
 msgid "Wrong input format: %s"
 msgstr "Formato in input errato: %s"
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "Nessun punto con categoria [%d]"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 "Il punto con categoria [%d] non è raggiungibile dal punto con categoria [%d]"
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr "Il punto  %f,%f  non è raggiungibile dal punto %f,%f"
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] errori nel formato di input"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr "[%d] punti della categoria data mancanti"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr "%d destinazione(i) irraggiungibile (inclusi punti fuori della soglia)"
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "Trova il percorso più breve in una rete vettoriale."
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 "Nome del file contenente i punti d'inizio e di fine. Se non sono definiti "
 "legge dallo stdin"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr "Distanza massima dalla rete"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
@@ -36449,7 +37761,7 @@ msgstr ""
 "messaggio d'errore. Per velocizzare il processo è meglio tenere questo "
 "valore più basso possibile."
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 "Disegna sull'output i segmenti originali di input, anziché rappresentare "
@@ -37031,46 +38343,50 @@ msgstr "Numero massimo di punti in un segmento"
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Sto disegnando ..."
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Tipo di colonna sconosciuto '%s'"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "Nome della mappa di output"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s in %s: %s"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s in %s: %s"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Nume di righe da tenere in memoria"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "Valore da scrivere per null"
@@ -37172,10 +38488,6 @@ msgstr "La colonna dev'essere di tipo numerico"
 msgid "Reading categories..."
 msgstr "Assegnazione delle categorie in corso..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Trasformazione degli elementi in corso..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37344,7 +38656,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr ""
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Impossibile copiare la tabella <%s>"
@@ -37611,207 +38923,228 @@ msgstr ""
 "Per definire una nuova connessione, devi specificare i seguenti parametri: "
 "driver, database, tabella [, chiave [, layer]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Riproietta una mappa vettoriale da una location alla location corrente"
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "Location contenente la mappa vettoriale di input"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "Mapset contenente la mappa vettoriale di input"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Nome della mappa raster di input da riproiettare"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Mapset contenente la mappa vettoriale di input"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Mostra mappe raster della location d input ed esci"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "Solo mappe vettoriali 3D"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Nessun raster trovato"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Mappa vettoriale <%s> nella location <%s> mapset <%s> non trovata"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "Mapset <%s> nella location di input <%s> non trovato"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "La mappa vettoriale di input <%s> non è 3D!"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Estrusione delle primitive vettoriali in corso..."
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Impossibile aprire la mappa vettoriale <%s> in <%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr "Importa un file raster binario in una mappa raster GRASS"
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr ""
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Non costruire la topologia"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "Copia anche la tabella degli attributi"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr "Solo la tabella del layer 1 è attualmente supportata"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Tabella mancante"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "Le colonne chiave sono differenti"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "Il numero di colonne è differente"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "I nomi di colonna sono differenti"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "I tipi di colonna sono differenti"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Colonna chiave non trovata"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "La mappa di output non è 3D"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Sto disegnando ..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 "Errore nella lettura della mappa vettoriale <%s> - alcuni dati possono non "
 "essere corretti"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Creazione della topologia per la mappa vettoriale <%s> in corso..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr ""
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "Impossibile aprire il cursore selezionato: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr ""
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Tipo di colonna sconosciuto"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Impossibile inserire un nuovo record: '%s'"
@@ -38468,16 +39801,12 @@ msgstr[1] "%d vertici rimossi"
 msgid "Operation not implemented"
 msgstr "Operazione non implementata"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Converte vettore OGR in vettore GRASS"
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "Nome dell'origine dati OGR"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
@@ -38487,7 +39816,7 @@ msgstr ""
 "\t\tESRI Shapefile: directory contenente gli shapefile\n"
 "\t\tMapInfo File: directory contenente i file mapinfo"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -38497,49 +39826,49 @@ msgstr ""
 "\t\tESRI Shapefile: nome dello shapefile\n"
 "\t\tMapInfo File: nome del file mapinfo"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "Importa solamente la sottoregione"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "Formato: xmin,ymin,xmax,ymax - di solito W,S,E,N"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Dimensione minima dell'area da importare (unità quadrate)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 "Le aree più piccole e le isole vengono ignorate. Devono essere maggiori di "
 "snap^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr "Opzionalmente cambia il tipo di input predefinito"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Generare punti vettoriali come punti 3D"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 msgid "import area boundaries as lines"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Crea polilinee da linee o confini."
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Sto scrivendo i centroidi..."
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -38547,236 +39876,236 @@ msgstr ""
 "Elenco di nomi di colonna da usare al posto dei nomi originali; il primo è "
 "usato per la colonna categoria"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Nome della colonna usata come etichette di categoria del raster"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Nome della colonna del grado di centralità (degree centrality)"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "Lette [%d] categorie di punti"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "Non esegue la pulizia (clean) dei poligoni (non raccomandato)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "Forza l'output usando valori interi"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "Limita l'importazione alla regione corrente"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "Trasforma i nomi delle colonne in caratteri minuscoli"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Impossibile aprire l'origine dati <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Posizione del cursore non è supportata dal driver MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "Layer <%s> non disponibile"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "file raster per la Vista%d"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr ""
 "Impossibile ottenere informazioni sul layer per la mappa vettoriale <%s>"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Colonna <%s> non trovata nella tabella <%s>"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 "Selezionare o il flag per la regione corrente o l'opzione spatial, non "
 "entrambi"
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "Per il parametro 'spatial' sono richiesti 4 parametri"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Si sta usando il vettore temporaneo <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, c-format
 msgid "Key column '%s' not found"
 msgstr "Colonna chiave '%s' non trovata"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Il formato della colonna chiave non è di tipo integer"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Colonna <%s> non trovata nella tabella <%s>"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Tipo di colonna non supportato (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Sto disegnando ..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s senza geometria"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Si sta rompendo i poligoni..."
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Cancellazione dei confini in corso..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Cancellazione dei confini in corso..."
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Cancellazione dei confini in corso..."
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Calcolo dei centroidi per le aree in corso..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "Sto scrivendo i centroidi..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -38784,99 +40113,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr "%d poligoni di input\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d poligoni di input"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Area totale: %G (%d aree)\n"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Area totale: %G (%d aree)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Area di sovrapposizione: %G (%d aree)\n"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Area di sovrapposizione: %G (%d aree)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Aree senza categoria: %G (%d aree)\n"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Aree senza categoria: %G (%d aree)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Soglia di cattura (snap) per i confini"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Impossibile eliminare la tabella: %s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -38925,17 +40254,21 @@ msgstr "Non posso scrivere parte della geometria"
 msgid "Unknown geometry type"
 msgstr "Tipo di geometria sconosciuto"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Nome del file in output"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Il file raster da collegare"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -38943,21 +40276,21 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Nome della mappa vettoriale di output (predefinito: input)"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 msgid "List available layers in data source and exit"
 msgstr "Elenca i tematismi disponibili nell'origine dati ed esce"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Visualizza i formati supportati ed esci"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -39019,17 +40352,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "Importa un file raster binario in una mappa raster GRASS"
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Non riesco ad impostare user/password"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Impossibile creare il file <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "ERRORE: <%s> esiste già\n"
@@ -39169,16 +40502,16 @@ msgstr "Non è possibile creare la mappa di output"
 msgid "Unable to close new 3d raster map"
 msgstr "Non è possibile chiudere la nuova mappa raster 3d"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "linea"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "Divide la rete in isolinee di costo."
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 #, fuzzy
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
@@ -39189,43 +40522,43 @@ msgstr ""
 "centro). l nodo definito come centro dev'essere aperto (costi >= 0). I costi "
 "del centro vengono utilizzati nel calcolo."
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "Costi per le isolinee"
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "Numero di centri: %d (nlayer %d)"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Calcolo dei costi dal centro %d in corso ..."
@@ -39385,6 +40718,135 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Connessione al database non definita\n"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Nessun record per la cat = %d"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Nessun record per la cat = %d"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Colonna <%s> non trovata"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Generare punti vettoriali come punti 3D"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Converte vettore OGR in vettore GRASS"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Numero del layer (from)"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "Nome del raster"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Numero di layer"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Numero di layer"
+
+#: ../vector/v.out.lidar/main.c:534
+msgid "Layer number where RGB color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+msgid "Layer number where red color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+msgid "Layer number where blue color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "La colonna dev'essere di tipo numerico"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Nome della colonna"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "Non è possibile leggere il colore"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "Scala da applicare ai dati z"
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "Scala da applicare ai dati z"
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Limita l'importazione alla regione corrente"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Nome del filtro file"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -39571,7 +41033,7 @@ msgstr "Selezione degli elementi in corso..."
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> numero di punti non valido"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "file vettoriale da creare"
@@ -39885,50 +41347,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Impossibile aprire la mappa vettoriale <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Non è possibile aprire il database <%s> col driver <%s>"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Converte vettore OGR in vettore GRASS"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Sottoregione"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Numero di layer"
 
-#: ../vector/v.in.lidar/main.c:606
-#, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Non è possibile aprire il database <%s> col driver <%s>"
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Numero di layer"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Nome della mappa vettoriale di punti sparsi di input"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Nome di un file vettoriale in output"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Vengono importati i valori interi"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Decorazione"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Vengono importati i valori interi"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Importazione dei punti in corso ..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> numero di punti non valido"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Inserisci la mappa vettoriale contenente i punti"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Coordinate del punto seed"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Stampa l'output sullo stdout, non aggiorna la tabella degli attributi"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Numero del layer (from)"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
 msgstr "Importando punti ..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "Scanning %lu points..."
+msgstr "Importando punti ..."
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
 msgstr "%d categorie duplicate nel vettoriale"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d categorie duplicate nel vettoriale"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d categorie duplicate nel vettoriale"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d categorie duplicate nel vettoriale"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:785
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were outside of the selected area"
 msgstr "%d punti esterni ai limiti"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:787
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were outside of the area specified by mask"
 msgstr "%d punti esterni ai limiti"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:789
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were filtered out by return number"
 msgstr "%d punti esterni ai limiti"
 
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:793
+#, fuzzy, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d punti esterni ai limiti"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Gli ultimi %d punti saranno ignorati"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40094,7 +41743,7 @@ msgid ""
 msgstr "Nome della mappa vettoriale di output su cui scrivere i segmenti"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -41139,11 +42788,6 @@ msgstr "Non è possibile calcolare la matrice inversa"
 msgid "Resolving conflicts..."
 msgstr "Risoluzione dei conflitti in corso ..."
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Mappa raster risultante"
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -41314,57 +42958,57 @@ msgstr "Generalizzazione vettoriale..."
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr ""
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Si sta usando la risoluzione [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Layer %d"
@@ -41413,107 +43057,49 @@ msgstr "Layer %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Numero di livelli di quantizzazione"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr ""
-#~ "Nome della mappa raster di input contenente le latitudini [gradi decimali]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr ""
-#~ "Nome della mappa raster di input contenente le longitudini [gradi "
-#~ "decimali]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Mappa raster di output della radiazione diffusa, istantanea [W.m-2] "
-#~ "(modalità 1) o cumulata [Wh.m-2.giorno-1] (modalità 2)"
+#~ msgid "Location: %s\n"
+#~ msgstr "Location: %s\n"
 
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Mappa raster di output della radiazione riflessa, istantanea [W.m-2] "
-#~ "(modalità 1) o cumulata [Wh.m-2.giorno-1] (modalità 2)"
+#~ msgid " %s\n"
+#~ msgstr " %s\n"
 
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Mappa raster di output della radiazione globale (totale), istantanea [W."
-#~ "m-2] (modalità 1) o cumulata [Wh.m-2.giorno-1] (modalità 2)"
+#~ msgid "Region\n"
+#~ msgstr "Regione\n"
 
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nome del file raster in input"
+#~ msgid "Subregion"
+#~ msgstr "Sottoregione"
 
 #, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nome del file raster in input"
+#~ msgid "Could not rewind input file"
+#~ msgstr "Impossibile aprire il file di output <%s>"
 
 #, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Mappa raster di output della radiazione riflessa, istantanea [W.m-2] "
-#~ "(modalità 1) o cumulata [Wh.m-2.giorno-1] (modalità 2)"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Nome della mappa raster"
 
 #, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
+#~ msgid "Raster map containing midflame wind velocitys (ft/min)"
 #~ msgstr ""
-#~ "Mappa raster di output della radiazione globale (totale), istantanea [W."
-#~ "m-2] (modalità 1) o cumulata [Wh.m-2.giorno-1] (modalità 2)"
+#~ "Nome della mappa raster che contiene la griglia con le informazioni del "
+#~ "costo"
 
 #, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Numero di punti per l'interpolazione"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Sovrascrive la proiezione (usa la proiezione della location)"
-
-#~ msgid "Location: %s\n"
-#~ msgstr "Location: %s\n"
-
-#~ msgid " %s\n"
-#~ msgstr " %s\n"
-
-#~ msgid "Region\n"
-#~ msgstr "Regione\n"
-
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "option <%s>:<%s> esiste."
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "<%s> esiste già nel mapset <%s>"
 
 #, fuzzy
 #~ msgid "output map <%s> exists"
 #~ msgstr "Mappa in output"
 
-#, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Nome della tabella in output"
-
-#, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Nome della mappa raster"
-
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Lunghezza pagina (default: %d lines)"
 
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Larghezza pagina (default: %d caratteri)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Sovrascrive la proiezione (usa la proiezione della location)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.in.gdal to override this check and use the "
@@ -41537,6 +43123,13 @@ msgstr "Layer %d"
 #~ msgid "[%s] not found"
 #~ msgstr "[%s] non trovato"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "option <%s>:<%s> esiste."
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr ""
+#~ "Sovrascrive la proiezione del dataset (utilizza quella della location)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.external to override this check and use the "
@@ -41546,6 +43139,18 @@ msgstr "Layer %d"
 #~ "Si può utilizzare il flag -o a r.external per sovrascrivere questo "
 #~ "controllo e utilizzare la definizione della location per il dataset.\n"
 
+#, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "Displays GRASS version info."
+#~ msgstr "Visualizza informazioni sulla versione e sul copyright"
+
 #~ msgid "Location name (not location path)"
 #~ msgstr "Nome della location (non il percorso della location)"
 
@@ -41556,6 +43161,20 @@ msgstr "Layer %d"
 #~ "situata)"
 
 #, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Non è possibile impostare la proiezione"
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Converte tutte le versioni più  vecchie delle mappe vettoriali di GRASS "
+#~ "del mapset corrente nel formato corrente"
+
+#~ msgid "Field separator"
+#~ msgstr "Separatore di campo"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Aggiorna i metadati della mappa vettoriale"
 
@@ -41591,122 +43210,58 @@ msgstr "Layer %d"
 #~ msgid "No default DB driver defined"
 #~ msgstr "Il driver predefinito non è impostato"
 
-#~ msgid "Field separator"
-#~ msgstr "Separatore di campo"
+#~ msgid "OGR datasource name"
+#~ msgstr "Nome dell'origine dati OGR"
 
 #, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "<%s> esiste già nel mapset <%s>"
+#~ msgid "flowline"
+#~ msgstr "linea"
 
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
+#, fuzzy
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
 #~ msgstr ""
-#~ "Converte tutte le versioni più  vecchie delle mappe vettoriali di GRASS "
-#~ "del mapset corrente nel formato corrente"
+#~ "Dev'essere specificato \"-i\" o \"-r\", o le opzioni \"color\", \"rast\" "
+#~ "o \"rules\"!"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Nessun nome di mappa assegnato"
 
 #, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "Impossibile leggere il file REF per il gruppo <%s>"
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d categrie caricate dalla tabella <%s>"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Devono essere fornite sia l'opzione 'from_table' che 'select' "
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Per piacere specificare la colonna delle z"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Devono essere fornite sia l'opzione 'from_table' che 'select' "
-
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "weight= e -c sono mutuamente esclusivi"
-
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "weight= e gauss= sono mutuamente esclusivi"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Impossibile creare il file <%s>"
 
 #, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+#~ msgid "Starting monitor <%s> with env file '%s'"
+#~ msgstr "Imposto il nome della mappa a <%s> che sovrascrive <%s>"
 
 #, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Per piacere specificare la colonna delle z"
+#~ msgid "Env file not found"
+#~ msgstr "File di celle non trovato"
 
 #, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Per piacere specificare la colonna delle z"
+#~ msgid "PID file not found"
+#~ msgstr "File di celle non trovato"
 
 #, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+#~ msgid "Command file not found"
+#~ msgstr "File di celle non trovato"
 
 #, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Per piacere specificare la colonna delle z"
+#~ msgid "Name for output image"
+#~ msgstr "Nome del file in output"
 
 #, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Per piacere specificare la colonna delle z"
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Dev'essere specificato \"-i\" o \"-r\", o le opzioni \"color\", \"rast\" "
-#~ "o \"rules\"!"
-
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "O un nome di colore standard o una tripletta R:G:B"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "Impossibile leggere il file REF per il gruppo <%s>"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Nome della mappa/e raster di output"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d categrie caricate dalla tabella <%s>"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Errore di discretizzazione in unità di mappa"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "Nome di un file vettoriale in output"
 
 #~ msgid "Displays thematic vector map"
 #~ msgstr "Visualizza mappa vettoriale tematica"
@@ -41783,12 +43338,18 @@ msgstr "Layer %d"
 #~ msgstr "Usa le parentesi con notazione matematica nella legenda"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Nome di un file vettoriale in output"
+#~ msgid "Name of output basename raster map(s)"
+#~ msgstr "Nome della mappa/e raster di output"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Visualizza"
+#~ msgid "Default: input"
+#~ msgstr "Errore di discretizzazione in unità di mappa"
+
+#~ msgid "Text color or \"none\""
+#~ msgstr "Colore del testo o  \"none\""
+
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "O un nome di colore standard o una tripletta R:G:B"
 
 #, fuzzy
 #~ msgid ""
@@ -41797,17 +43358,26 @@ msgstr "Layer %d"
 #~ "Consente la creazione o la modifica dei file di supporto di un tematismo "
 #~ "raster"
 
-#, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Non è possibile leggere la mappa vettoriale"
+#~ msgid "Attaching categories..."
+#~ msgstr "Assegnazione delle categorie in corso..."
 
-#, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Non è possibile creare la tabella: %s"
+#~ msgid "Writing new file..."
+#~ msgstr "Scrittura del nuovo file in corso..."
 
-#, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "Memoria insufficiente"
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "Scritti [%d] punti e linee nel file di output."
+
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "Scritti [%d] centroidi nel file di output."
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importa vecchie versione di vettori GRASS"
+
+# FINIRE
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr ""
+#~ "Nessuna etichetta di categoria trovata (dig_cats), non è stata creata "
+#~ "nessuna tabella"
 
 #~ msgid "[%d] points read and written to output"
 #~ msgstr "[%d] punti letti e scritti sull'output"
@@ -41830,66 +43400,29 @@ msgstr "Layer %d"
 #~ msgid "[%d] dead point categories skipped"
 #~ msgstr "[%d] punti senza categoria non considerati"
 
-# FINIRE
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr ""
-#~ "Nessuna etichetta di categoria trovata (dig_cats), non è stata creata "
-#~ "nessuna tabella"
-
-#~ msgid "Attaching categories..."
-#~ msgstr "Assegnazione delle categorie in corso..."
-
-#~ msgid "Writing new file..."
-#~ msgstr "Scrittura del nuovo file in corso..."
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "Scritti [%d] punti e linee nel file di output."
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "Scritti [%d] centroidi nel file di output."
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importa vecchie versione di vettori GRASS"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "Tipo di mappa raster sconosciuta"
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Dimensione della memoria cache (MiB)"
-
 #~ msgid "One or more coordinates"
 #~ msgstr "Una o più coordinate"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Memoria non sufficiente per adx"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Memoria non sufficiente per ady"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Memoria non sufficiente per adxx"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Memoria non sufficiente per adyy"
+#~ msgid "Name of elevation map"
+#~ msgstr "Nome della mappa di elevazione"
 
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Memoria non sufficiente per adxy"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Stringa per rappresentare celle senza valore"
 
-#~ msgid "sites"
-#~ msgstr "siti"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "Metrica sconosciute [%s]."
 
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Nome del layer da utilizzare per INTENSITÀ"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Errore nella lettura del file delle categorie per <%s>"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Nome del layer da utilizzare per SATURAZIONE"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "Errore nella lettura del file dei colori per <%s>"
 
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Nome della mappa/e raster per l'elevazione"
+#~ msgid "String representing no data cell value"
+#~ msgstr "Stringa per rappresentare il valore della cella senza dati"
 
-#~ msgid "Table file to be exported or DB connection string"
-#~ msgstr "Tabella da esportare o stringa di connessione al Database"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Strumento  per l'interpolazione delle superfici di un raster"
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -41908,15 +43441,18 @@ msgstr "Layer %d"
 #~ "rappresentano l'elevazione, combinata con un tematismo raster di input i "
 #~ "cui valori di categoria delle celle rappresentano il costo di attrito."
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "Nome del layer da utilizzare per INTENSITÀ"
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "Nome del layer da utilizzare per SATURAZIONE"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "Nome del raster in output da utilizzare per il verde (GREEN)"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "Nome del raster in output da utilizzare per il blu (BLUE)"
 
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Strumento  per l'interpolazione delle superfici di un raster"
-
 #~ msgid "Surface generation program."
 #~ msgstr "Programma per la generazione di superfici"
 
@@ -41937,50 +43473,12 @@ msgstr "Layer %d"
 #~ msgstr[0] "Interpolazione in corso della mappa raster <%s>... %d righe..."
 #~ msgstr[1] "Interpolazione in corso della mappa raster <%s>... %d righe..."
 
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "Proiezione lat/lon non supportata"
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Location: %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "Mappa raster risultante"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "Nome della mappa di elevazione"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Stringa per rappresentare celle senza valore"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Dev'essere specificato \"-i\" o \"-r\", o le opzioni \"color\", \"rast\" "
-#~ "o \"rules\"!"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Dev'essere specificato \"-i\" o \"-r\", o le opzioni \"color\", \"rast\" "
-#~ "o \"rules\"!"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Metrica sconosciute [%s]."
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Errore nella lettura del file delle categorie per <%s>"
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Errore nella lettura del file dei colori per <%s>"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Stringa per rappresentare il valore della cella senza dati"
-
 #~ msgid "Output aspect map (or fy)"
 #~ msgstr "Mappa delle esposizioni (o fy) di output"
 
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "Proiezione lat/lon non supportata"
+
 #~ msgid "Prefix for output raster map(s)"
 #~ msgstr "Prefisso per la mappa/e raster di output"
 
@@ -42008,8 +43506,11 @@ msgstr "Layer %d"
 #~ msgstr "Non mostrare gli avvertimenti"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Campo separatore in output"
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Nome della mappa/e raster per l'elevazione"
+
+#~ msgid "Table file to be exported or DB connection string"
+#~ msgstr "Tabella da esportare o stringa di connessione al Database"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -42036,6 +43537,97 @@ msgstr "Layer %d"
 #~ msgstr "Nome per la mappa raster di output (predefinito: input)"
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr ""
+#~ "Calcola le statistiche univariate per le celle non nulle di un raster"
+
+#~ msgid "Invalid distance"
+#~ msgstr "Distanza non valida"
+
+#~ msgid "Layer number"
+#~ msgstr "Numero del layer"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "Location: %s\n"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "Mappa raster risultante"
+
+#, fuzzy
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Per piacere specificare la colonna delle z"
+
+#, fuzzy
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Devono essere fornite sia l'opzione 'from_table' che 'select' "
+
+#, fuzzy
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Per piacere specificare la colonna delle z"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Per piacere specificare la colonna delle z"
+
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Per piacere specificare la colonna delle z"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Per piacere specificare la colonna delle z"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Visualizza"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Devono essere fornite sia l'opzione 'from_table' che 'select' "
+
+#, fuzzy
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr "weight= e -c sono mutuamente esclusivi"
+
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "weight= e gauss= sono mutuamente esclusivi"
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Campo separatore in output"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "Nome della mappa raster d'inserimento dati"
 
@@ -42047,15 +43639,68 @@ msgstr "Layer %d"
 #~ msgid "No maps output"
 #~ msgstr "Nessuna mappa di output"
 
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Memoria non sufficiente per adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Memoria non sufficiente per ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Memoria non sufficiente per adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Memoria non sufficiente per adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Memoria non sufficiente per adxy"
+
 #, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Non è possibile creare la tabella: %s"
+
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "Memoria insufficiente"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
 #~ msgstr ""
-#~ "Calcola le statistiche univariate per le celle non nulle di un raster"
+#~ "Dev'essere specificato \"-i\" o \"-r\", o le opzioni \"color\", \"rast\" "
+#~ "o \"rules\"!"
 
-#~ msgid "Invalid distance"
-#~ msgstr "Distanza non valida"
+#~ msgid "sites"
+#~ msgstr "siti"
 
-#~ msgid "Layer number"
-#~ msgstr "Numero del layer"
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "Non è possibile leggere la mappa vettoriale"
+
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Dimensione della memoria cache (MiB)"
+
+#~ msgid "Unknown raster map type"
+#~ msgstr "Tipo di mappa raster sconosciuta"
+
+#, fuzzy
+#~ msgid "File '%s' already exists and will be overwritten"
+#~ msgstr "Il file '%s' esiste già e verrà sovrascritto."
+
+#, fuzzy
+#~ msgid "Flags -%c and -%c are mutually exclusive"
+#~ msgstr "I flag -g e -a sono mutualmente esclusivi"
+
+#, fuzzy
+#~ msgid "Option <%s> or <%s> must be specified"
+#~ msgstr ""
+#~ "Dev'essere specificato \"-i\" o \"-r\", o le opzioni \"color\", \"rast\" "
+#~ "o \"rules\"!"
+
+#, fuzzy
+#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
+#~ msgstr ""
+#~ "Dev'essere specificato \"-i\" o \"-r\", o le opzioni \"color\", \"rast\" "
+#~ "o \"rules\"!"
diff --git a/locale/po/grassmods_ja.po b/locale/po/grassmods_ja.po
index b6d9d6d..16bb8e4 100644
--- a/locale/po/grassmods_ja.po
+++ b/locale/po/grassmods_ja.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_ja\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2012-03-08 17:49+0900\n"
 "Last-Translator: taniguchi <taniguti at apptec.co.jp>\n"
 "Language-Team: Japanese <grass-translations at lists.osgeo.org>\n"
@@ -26,10 +26,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -47,6 +47,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -75,12 +76,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -126,7 +128,7 @@ msgstr "表示時にNULL値を優先する"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -134,14 +136,16 @@ msgid "Color file for <%s> not available"
 msgstr "<%s>に用いる色ファイルがありません"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -160,7 +164,9 @@ msgstr "<%s>に用いる色ファイルがありません"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -181,7 +187,7 @@ msgstr "<%s>に用いる色ファイルがありません"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -193,7 +199,7 @@ msgstr "<%s>に用いる色ファイルがありません"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -217,17 +223,17 @@ msgstr "<%s>に用いる色ファイルがありません"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -238,7 +244,7 @@ msgstr "<%s>に用いる色ファイルがありません"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -386,10 +392,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "入力 "
 
@@ -436,22 +445,24 @@ msgstr "サブセット"
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "凡例にマップ範囲のサブセットを使用 (最小,最大)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "テキストの色 "
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "出力するファイル"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "フォント名"
 
@@ -466,11 +477,13 @@ msgstr "アイコンサイズ"
 msgid "Default: Auto-scaled"
 msgstr "デフォルト: マップ中心"
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "フォントファイルへのパス"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr "テキスト符号化 (TrueTypeフォントにのみ適用可能)  "
 
@@ -567,14 +580,20 @@ msgstr "カラー区域は実際のデータの上限を上回ります"
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "使用=%s 範囲外 [%.3f, %.3f] (範囲で拡張= ?)  "
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "描くものがありませn! (ラベルのあるカテゴリーなし?) "
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -618,11 +637,11 @@ msgstr "グラフのタイトル "
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -704,23 +723,26 @@ msgstr "表示するカテゴリーリスト"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -730,14 +752,19 @@ msgstr "表示するカテゴリーリスト"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -786,50 +813,51 @@ msgstr "%s: 不正な値の定義"
 msgid "[%s]: No such color"
 msgstr "[%s]: そのような色はありません"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "作動しているディスプレイモニターについての情報を表示します"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "スクリーン長方形を表示します (左, 右, 上, 下)  "
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "スクリーンディメンションを表示します (幅, 高さ)  "
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "動作中のフレーム長方形を表示します"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "スクリーンディメンションを表示します (幅, 高さ)  "
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "この領域のスクリーン長方形を表示します"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 #, fuzzy
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr "全スクリーンの地理座標と解像度を表示します"
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -837,31 +865,32 @@ msgstr "全スクリーンの地理座標と解像度を表示します"
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "データベース接続はレイヤー %d に定義されていません"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -871,10 +900,10 @@ msgstr "データベース接続はレイヤー %d に定義されていませ
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -888,7 +917,7 @@ msgstr "データベース接続はレイヤー %d に定義されていませ
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "ドライバー <%s>ではデータベース <%s> が開けません"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -913,7 +942,7 @@ msgstr "チャートタイプ"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr "チャートプロパティー"
 
@@ -953,7 +982,12 @@ msgstr "バー図表参照に使用される最大値"
 msgid "Create legend information and send to stdout"
 msgstr "legend情報を作成し標準出力に送ります"
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "3D出力を作成します"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -961,20 +995,22 @@ msgstr "legend情報を作成し標準出力に送ります"
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -989,40 +1025,40 @@ msgstr "legend情報を作成し標準出力に送ります"
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "ベクトルマップ <%s> を開けません"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1047,10 +1083,6 @@ msgstr "座標を開始そして終了"
 msgid "Line color"
 msgstr "ラインの色 "
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr "テキストカラーまたは \"none\""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1108,12 +1140,15 @@ msgstr "L: 追加  M: 削除  R: 中止して保存\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1132,17 +1167,18 @@ msgstr "L: 追加  M: 削除  R: 中止して保存\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1155,10 +1191,10 @@ msgstr "L: 追加  M: 削除  R: 中止して保存\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1166,21 +1202,22 @@ msgstr "L: 追加  M: 削除  R: 中止して保存\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "ベクトル"
 
@@ -1225,16 +1262,18 @@ msgstr "ベクトルマップ <%s> が見つかりません"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1246,22 +1285,22 @@ msgstr "ベクトルマップ <%s> が見つかりません"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1314,10 +1353,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1371,12 +1410,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "<%s>に対応させるラスターマップ"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "モロデンスキー法によるシフト"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1385,28 +1424,28 @@ msgstr ""
 "グラフィックモニターに表示されているラスターマップレイヤーにセルカテゴリー値"
 "を重ね合わせます"
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "グリッドカラー"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "小数点以下の有効桁数"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "始点を示すラスターマップ"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "セルカラー値からテキストカラーを取得します"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1415,7 +1454,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1423,7 +1462,7 @@ msgstr[0] "グリッドカラー"
 msgstr[1] "グリッドカラー"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1434,11 +1473,11 @@ msgstr ""
 "現在のウインドウ設定は大きすぎるかもしれません. グラフィックに表示されている"
 "セルはセルカテゴリー数を見えるようにするには小さすぎるかもしれません"
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
@@ -1446,62 +1485,62 @@ msgstr ""
 "アスペクトデータを含むラスターマップのセルアスペクト方向を表す矢印を作成しま"
 "す"
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "表示するラスター方位マップ名"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "存在するラスター方位マップのタイプ"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "矢印を描くカラー"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "矢印を描くカラー"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "X's 製図のカラー(Null値)  "
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "不明な情報表示のカラー"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "全ての北グリッドセルに矢印を描きます"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "矢印の長さに使用する値を含むラスターマップ"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "矢印のスケールファクター (マグニチュードマップ)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "スケールファクターの不正値"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr "スキップファクターの不正値  "
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr "マグニチュードは GRASS と コンパス方位マップのみサポートしています "
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr "スケールオプションは magnitude_map を必要とします"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr "範囲ファイル読み込みのエラー"
 
@@ -1632,17 +1671,17 @@ msgstr ""
 "  ネットワークへの距離 = %f, ネットワークからの距離 = %f\n"
 "\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1650,7 +1689,7 @@ msgstr "ガンマ"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1659,50 +1698,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr "選択された開始と終了ノード"
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Arc タイプ"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "Arc レイヤー"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr "ノードレイヤー"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr "Arc 前方/両方向 コスト列 (数)  "
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr "Arc 後方コスト列 (数)  "
 
@@ -1724,11 +1763,11 @@ msgstr "レンダリング"
 msgid "Background color"
 msgstr "背景の色"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "緯度-経度ロケーションに測地線計算を使用します"
 
@@ -1748,7 +1787,7 @@ msgstr "%s - 不正なy値"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "現在の投影は経度-緯度ではありません"
 
@@ -1773,7 +1812,7 @@ msgstr "ヒストグラムを計算しています"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1781,7 +1820,7 @@ msgstr "ヒストグラムを計算しています"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2156,7 +2195,7 @@ msgstr "ステップの定義のため標準偏差に %.4f を掛けています
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2174,15 +2213,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Geo-Gridオプションは LL 投影に利用可能ではないかもしれません"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "現在のロケーションの投影キー値を取得できません"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "緯度経度の投影パラメータが設定できません "
@@ -2438,12 +2477,13 @@ msgstr "Z座標値"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2514,15 +2554,15 @@ msgstr "緯度/長楕円体に対する不明瞭な要求"
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr " -l または -wを用いて緯度/経度楕円体を指定してください"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "現在のロケーションの投影情報を取得できません"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "現在のロケーションの投影ユニットを取得できません"
 
@@ -2546,11 +2586,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "ベクトルマップを読み込めません"
 
@@ -2751,7 +2792,7 @@ msgstr "エリアの塗りつぶし色"
 msgid "Colorize features according color definition column"
 msgstr "カラー定義列の名前 ( -a フラッグとの使用)  "
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "カラー定義ファイル列は指定されていません"
@@ -3049,41 +3090,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]: そのカラーはありません. '%s' を使用してください "
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "ファイル '%s' は既に存在し上書きされます"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "現在の領域をアップデートできません"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "出力するファイル"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "ベクトルマップ <%s> は既に存在"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "ファイルが作成できません <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "ベクトルマップ <%s> を書き出しています..."
 
-#: ../display/d.mon/start.c:163
-#, fuzzy, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr "マップ名前を <%s> をオーバーライドする <%s> に設定しています"
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "範囲ファイルが読み込めません"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, c-format
+msgid "Unable to create file <%s>"
+msgstr "ファイルが作成できません <%s>"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3095,34 +3143,53 @@ msgstr "ベクトルマップ <%s> は既に存在"
 msgid "Monitor <%s> is not running"
 msgstr "ファイル <%s> は見つかりませんでした"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "3Dビューファイル <%s> は見つかりませんでした"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "ファイルが作成できません <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "ファイル %s が見つかりません"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "出力するファイル"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "ファイル <%s> が開けません "
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "ファイルが作成できません <%s>"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "ポイント座標のリスト"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "列 <%s> がありません"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "入力するファイル"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "範囲ファイルが読み込めません"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "%d 線 or 境界 found in ベクトルマップ <%s@%s>  "
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3134,8 +3201,8 @@ msgid "Name of monitor to start"
 msgstr "出力スクリプト名"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3159,9 +3226,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3241,12 +3309,12 @@ msgid "List running monitors and exit"
 msgstr "使用可能なフォーマットの一覧を表示して終了"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3259,33 +3327,34 @@ msgstr "使用可能なフォーマットの一覧を表示して終了"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "出力"
 
@@ -3299,59 +3368,77 @@ msgstr "現在の接続パラメータを出力して終了"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "指定したロケーション中のベクトルマップをリストして終了"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "現在の接続パラメータを出力して終了"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "スタート時に自動的に選択しないでください"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "指定したロケーション中のベクトルマップをリストして終了"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "色を読み込めません"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "フォームを編集モードで開きます  "
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr "無視しました\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr "モニター <%s> はりリースされています"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "モニターが選択されていません"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "入力するファイル"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3402,7 +3489,7 @@ msgid "No map name given"
 msgstr "マップ名が与えられていません"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "���"
@@ -3533,9 +3620,9 @@ msgstr "成功しました"
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "ファイル <%s> を開けません"
@@ -3583,9 +3670,9 @@ msgstr "接続"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "フォーマット"
 
@@ -3599,11 +3686,11 @@ msgstr "出力鉛直レコード分離"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "出力ファイル名 (省略または \"-\" で標準出力)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "出力に列名は含めません"
 
@@ -3611,7 +3698,7 @@ msgstr "出力に列名は含めません"
 msgid "Describe query only (don't run it)"
 msgstr "検索クエリーのみを表示(実行しないでください)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "鉛直出力 (水平出力の代わりに)"
 
@@ -3644,7 +3731,7 @@ msgstr "検索クエリーのテストのみ、実行しないでください"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3676,7 +3763,7 @@ msgstr "データベース"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3688,7 +3775,7 @@ msgstr "���"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3827,8 +3914,8 @@ msgstr "入力するファイル"
 msgid "Unable to create index:"
 msgstr "索引を作成できません"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "接続"
@@ -3905,7 +3992,7 @@ msgstr "投影をセットすることが出来ません"
 msgid "Unable to allocate handle."
 msgstr "メモリを割り当てられません"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3942,7 +4029,7 @@ msgstr "属性を選択できません "
 msgid "Unable to select view names."
 msgstr "属性を選択できません "
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3982,12 +4069,12 @@ msgstr "メモリーが足りません"
 msgid "No path given"
 msgstr "マップ名が与えられていません"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "属性を選択できません "
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "表からデータを選択できません"
@@ -4035,29 +4122,29 @@ msgid "Taken not found"
 msgstr "見つかりません"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "索引を作成できません"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "サイズを設定できません"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "属性を選択できません "
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "表 <%s> を作成できません"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "データベース <%s> を開けません"
@@ -4104,6 +4191,11 @@ msgstr ""
 "列 '%s' : 型 bool (boolean) は char(1) として保管されます. values: 0 "
 "(false), 1 (true)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "入力するファイル"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "PostgreSQLのデータベース定義で不明なオプション:"
@@ -4190,7 +4282,8 @@ msgstr "入力するファイル"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4272,21 +4365,21 @@ msgstr "出力するファイル"
 msgid "Unable to open database:"
 msgstr "データベースを開けません:"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 msgid "SQLite database connection is still busy"
 msgstr "データベース接続は定義されていません"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "<%s> すでに存在します"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "表を作成できません: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "マップセット <%s> 見つかりませんでした"
@@ -4301,6 +4394,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "SQLite ドライバー: 列 '%s', SQLite タイプ %d  はサポートされません"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "エラー:ASCIIファイルを閉じれません"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4549,10 +4647,10 @@ msgstr "データベースを削除"
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4573,26 +4671,39 @@ msgstr "出力するファイル"
 msgid "Sets user/password for DB driver/database."
 msgstr "ドライバー/データベースのためにユーザー/パスワードを設定する"
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "投影をセットすることが出来ません"
+msgid "Username"
+msgstr "名前"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "投影をセットすることが出来ません"
+msgid "Password"
+msgstr "経過 %d...  "
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "テスト名"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "現在の接続パラメータを出力して終了"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "ユーザー/パスワードの設定ができません。"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr ""
@@ -4876,6 +4987,7 @@ msgstr "エリア\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4886,10 +4998,11 @@ msgstr "エリア\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "対象マップ"
@@ -4963,19 +5076,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr "フル表示モードにのみオフスクリーンは利用可能です"
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "ファイル <%s> が開けません "
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5247,7 +5347,7 @@ msgstr "latin ラスターマップ <%s>がありません"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5906,7 +6006,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5919,12 +6019,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "一般の"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6033,7 +6134,17 @@ msgstr "%s=%s,%s: ファイルは同じです、 コピーは必要ありませ
 msgid "<%s> already exists"
 msgstr "<%s> すでに存在します"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "3D ラスターマップ <%s@%s> のヘッダーを読み込めません"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "ベクトルマップ <%s> を開けません(地形レベル %d )"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6041,7 +6152,7 @@ msgstr "<%s> すでに存在します"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
@@ -6049,143 +6160,116 @@ msgstr ""
 "標準出力へのユーザー指定されたデータタイプの現在使用できるGRASSデータベース"
 "ファイルの一覧を表示します "
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr "マップ名検索パターン (デフォルト: 全て)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr "ラスター"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr "マップ名除外パターン (デフォルト: なし)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "リストするマップセット(デフォルト=現在のマップセット) "
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 #, fuzzy
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 "オプションで新規マップセットを作成または指定されたロケーションで利用可能な"
 "マップセットをリストアップ"
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "対象マップセット(デフォルト=現在のマップセット) "
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "指定した領域から現在の領域を設定します"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "出力するファイル"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "無い場合は標準入力から読み込む"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "ワイルドカードではなく通常の表現を使用してください"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "ワイルドカードの代わりに拡張された正規表現を使用してください"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "データータイプを出力します"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr "(マップセットを含む)完全なマップ名を入力"
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr "ヒューマンリーダブルフォーマットでの pretty printing"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "説明つき表示のリスト(マップタイトルもリストします)"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "エラー 2029 "
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "エラー 2029 "
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "エラー 2029 "
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "入力するファイル"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "グループ <%s> は存在しません"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "3D ラスターマップ <%s@%s> のヘッダーを読み込めません"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "ベクトルマップ <%s> を開けません(地形レベル %d )"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "緯度/経度投影パラメーターをアップデートできません"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "pj_do_proj (入力座標ペアの投影) におけるエラー"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr "すでに緯度/経度にあります. 代わりに -p flag を使用してください."
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
@@ -6193,7 +6277,7 @@ msgstr ""
 "シンプルロケーションにいます、緯度/経度への投影はできません.  代わりに -p "
 "flag を使用してください"
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6201,7 +6285,7 @@ msgstr ""
 "このロケーションはデータ変換パラメーターを含んでいないため、WGS84 出力は出来"
 "ません. g.setproj を実行してみてください."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr "シンプルXYシステムから緯度/経度計算はできません"
 
@@ -6425,9 +6509,9 @@ msgstr "領域 <%s> は見つかりませんでした"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "3D ラスターマップ <%s> は見つかりませんでした"
@@ -6451,7 +6535,7 @@ msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 "デフォルト領域を変更できません. このマップセットは <PERMANENT>ではありません."
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "不正な入力 <%s=%s>"
@@ -6744,38 +6828,38 @@ msgstr "シェルスクリプト形式で表示"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6917,7 +7001,7 @@ msgstr "サーチリストから削除する現存するマップセット名"
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "実行するオペレーション"
@@ -7369,7 +7453,7 @@ msgstr "入力するファイル"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7574,40 +7658,61 @@ msgid "command line interface with GUI startup screen"
 msgstr "列 <%s> がありません"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "入力するファイル"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 #, fuzzy
 msgid "Update default user interface settings"
 msgstr "デフォルトのGUI設定をアップデートしてください"
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 #, fuzzy
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr "デフォルトのGUI設定のアップデート後にGUIを起動しないでください"
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr "<%s> は現在デフォルトGUIです  "
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7818,8 +7923,8 @@ msgid ""
 "system"
 msgstr "入力座標システムにおけるデータ変換情報の強制オーバーライド"
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr "変更"
 
@@ -7856,9 +7961,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "ロケーション <%s> が作成されました"
@@ -8017,10 +8122,12 @@ msgstr "変換行列を標準出力へ出力"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8036,10 +8143,14 @@ msgstr "変換行列を標準出力へ出力"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8073,10 +8184,12 @@ msgstr "���"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8092,10 +8205,14 @@ msgstr "���"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8200,8 +8317,8 @@ msgstr "ユーザー指定のカラーを用いて動作中のディスプレイ
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "対象マップ"
@@ -8243,7 +8360,7 @@ msgstr "SPOT VGT NDVI ファイルをラスターマップにインポート"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8272,15 +8389,16 @@ msgstr "画像"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "入力するファイル"
@@ -8343,7 +8461,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "重ねるラスターマップ名"
+msgstr "2番目のラスターマップ名"
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8428,7 +8546,7 @@ msgstr "新しいスキーマ"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "3Dラスターマップを"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8438,6 +8556,107 @@ msgstr ""
 msgid "inputs"
 msgstr "入力 "
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "3Dラスターマップを"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "入力するファイル"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "指定したロケーション中のベクトルマップをリストして終了"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "入力する3Dラスターマップ名"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "定義するクラスの数"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "ラスター入力マップ"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8490,21 +8709,12 @@ msgid ""
 "datasets."
 msgstr "指定したロケーション中のベクトルマップをリストして終了"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "入力するファイル"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8513,11 +8723,13 @@ msgstr "入力するファイル"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8525,54 +8737,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "入力する3Dラスターマップ名"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "定義するクラスの数"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "ラスター入力マップ"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8587,7 +8758,8 @@ msgstr "方位ラスターマップ名"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "対象マップ"
@@ -8817,7 +8989,7 @@ msgstr "補間方法"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "補間方法 "
 
@@ -8933,6 +9105,48 @@ msgstr "接続された属性テーブルから与えられたベクトルマッ
 msgid "Name of attribute column(s) to drop"
 msgstr "列名"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "値リストを区切るカンマ"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "レポートを保有する出力ファイルの名前"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "空のデータベースを作成する"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "定義するクラスの数"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+msgid "Output header row"
+msgstr "メートル単位のみで出力 "
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9157,7 +9371,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9404,6 +9618,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9473,10 +9688,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "データセットをもとにロケーションを拡張"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "現在のロケーションの投影法を使用"
@@ -9485,7 +9704,8 @@ msgstr "現在のロケーションの投影法を使用"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "現在のロケーションの投影ユニットを取得できません"
@@ -9504,21 +9724,21 @@ msgid ""
 msgstr "一変量の統計で,多くの座標の集合からラスタマップを作成"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr "データ ファイルの範囲をスキャンして終了"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "スキャンモードで,シェルスクリプト形式で出力"
 
@@ -9540,21 +9760,21 @@ msgid "Name for output raster map"
 msgstr "出力ラスターマップ名"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "ラスター値に使用する統計"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "統計量 "
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "保存形式 "
@@ -9595,17 +9815,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "高度列のスケールファクター値"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "メモリに残すマップの割合(%) "
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "pth の百分率値"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9704,8 +9924,8 @@ msgid "Remove existing color table"
 msgstr "現在のカラーテーブルを削除"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr "ぶら下がりを削除"
@@ -9749,17 +9969,18 @@ msgid ""
 msgstr "OGRベクトルレイヤーをGRASSベクトルマップに変換します."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "入力するファイル"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr "OGRレイヤー名、指定しない場合は利用可能な全てのレイヤーを取り込み"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 msgid "Name for output vector map (default: input)"
 msgstr "出力ラスターマップ名"
 
@@ -9779,6 +10000,11 @@ msgstr "出力ラスターマップ名"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9801,10 +10027,15 @@ msgstr "出力ラスターマップ名"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 msgid "Output"
 msgstr "出力"
 
@@ -9814,29 +10045,30 @@ msgid "Output vector map extent"
 msgstr "ベクトルマップの誤差を出力"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "現在の領域を入力マップに揃えます"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "出力するファイル"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "接続とみなす境界要素間のスナップ"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "スナップ無しは'-1' "
 
@@ -9852,17 +10084,67 @@ msgid "-1 to list available datum transform parameters"
 msgstr "データ変換パラメーターのインデックスナンバー"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "使用可能なマップセットの一覧表示"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "指定可能なレイヤー一覧を表示して終了"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "現在のロケーションの投影ユニットを取得できません"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "グラフィックモニターにバースケールを表示します"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "マップセットがない場合はマップセットを作成"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "全フレームを削除しスクリーンを消去します "
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "現在のマップセットを表示 "
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "現在の接続パラメータを出力して終了"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr "スクリーン座標のパーセンテージとしての設置 (0,0 は左下)  "
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10013,7 +10295,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10022,7 +10304,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10032,7 +10314,7 @@ msgid "geometry"
 msgstr "対象マップ"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10087,7 +10369,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "補間に用いるポイント数"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10112,16 +10398,16 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "選択するバンド(デフォルト:すべてのバンド)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
 msgstr "-m フラッグで使用する最大メモリ (MB)  "
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10180,12 +10466,12 @@ msgid "Optional"
 msgstr "出力するファイル"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "領域のトリミング最適化を行わない"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "地理座標におけるスクリーン位置"
 
@@ -10279,7 +10565,7 @@ msgstr ""
 "一つのセルから拡大した近接エリアを持つラスターマップレイヤーを作成します "
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10293,7 +10579,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "ラスターセルのバッファ半径"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "メトリック"
 
@@ -10325,14 +10611,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "ラスターマップ統計値をアップデートします "
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10398,6 +10684,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10405,7 +10702,8 @@ msgid ""
 msgstr "指定したロケーション中のベクトルマップをリストして終了"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "選択"
@@ -10449,6 +10747,60 @@ msgstr "指定しない場合,指定されたマップ名が使われます"
 msgid "Name of table to drop"
 msgstr "'query'オプションに使用される属性列名"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "ラスターマップから特定コンターのベクトルマップを作成する "
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+msgid "contour"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "コンター間隔 "
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "コンターレベルのリスト "
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "最小コンターレベル "
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "最大コンターレベル "
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "コンターの作成に用いるデータ点の最少数(0 -> 制限なし) "
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "ラスター入力マップ"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "属性テーブルを作成しないで下さい"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr "属性テーブルをさまざまなフォーマットにエクスポート"
@@ -10472,6 +10824,20 @@ msgstr "テーブルフォーマット"
 msgid "Name for output table (default: input name)"
 msgstr "出力ラスターマップ名"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "3Dラスターマップを"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "指定したロケーション中のベクトルマップをリストして終了"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10613,6 +10979,65 @@ msgstr "新しい属性テーブル名(デフォルト:ベクトルマップ
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "指定したロケーション中のベクトルマップをリストして終了"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "3Dラスターマップを"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "地物フィーチャ"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "ラベルに使用する属性列名"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "エリアフィーチャの平坦なコーナー"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "z 座標のシフト値"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"ラスタ値をz座標として書き込む. テーブルは作成されていません. 現在はポイントの"
+"みサポートされています.  "
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "トポロジー作成不可"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"ユニークなシーケンスの代わりにラスター値をカテゴリーとして使用 (セル のみ)  "
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10623,6 +11048,7 @@ msgid "Vector map to which to join other table"
 msgstr "他のテーブルに結合するベクトルマップ"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 #, fuzzy
 msgid "layer,column"
 msgstr "キーカラム"
@@ -10632,6 +11058,7 @@ msgid "Layer where to join"
 msgstr "結合するレイヤー"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "更新するカラム1"
@@ -10710,7 +11137,6 @@ msgstr "出力ラスターマップ名"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11010,6 +11436,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -11293,13 +11723,6 @@ msgstr "方位ラスターマップ名"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "定義するクラスの数"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr "ベクトルポイントの位置のベクトル値テーブルへアップロード"
@@ -11310,23 +11733,33 @@ msgstr "ベクトルポイントの位置のベクトル値テーブルへアッ
 msgid "Name of vector points map for which to edit attributes"
 msgstr "属性テーブルを編集するために指定したベクトルポイントマップ名"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "検索結果に更新される列"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "編集するベクトルマップ名"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+#, fuzzy
+msgid "query_layer,query_column"
+msgstr "キーカラム"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "キーカラム"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "ラベルに使用する属性列名"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr "マップユニットの最大検索距離"
 
@@ -11364,82 +11797,99 @@ msgid "Maintains GRASS Addons extensions in local GRASS installation."
 msgstr "ローカルGRASSインストールのGRASS拡張子を維持するツール"
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
+#, fuzzy
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 "GRASSアドオンSVNレポジトリからローカルGRASSインストールに拡張子をダウンロー"
 "ド,インストールまたはインストールされた拡張子を削除します"
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "インストール/削除する拡張子名"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
-msgstr "SVN アドオンリポジトリURL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
+msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "GRASSアドオンSVNリポジトリにある使用できるモジュールリスト"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "使用可能なマップセットの一覧表示"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "使用可能なマップセットの一覧表示"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 #, fuzzy
 msgid "List locally installed extensions"
 msgstr "拡張子をインストール先するプレフィックス"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr "システム全体をインストール(管理者権利を必要とする可能性があります)"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "ロケーション"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "ユーザーテーブルの代わりのシステムテーブル"
@@ -11460,20 +11910,26 @@ msgid "Description of the space time dataset"
 msgstr "新しいデータベース名"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "新しいデータベース名"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11490,10 +11946,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "抽出されるタイプ"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "シェルスクリプト形式で表示"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "出力フォーマット"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr "制限ラスターオプションのMASKを作成する"
@@ -11614,8 +12106,8 @@ msgstr "高さの強調"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "出力するファイル"
+msgid "Name for output image (or text file for -t)"
+msgstr "出力ファイル名(拡張を追加しないように)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11632,6 +12124,11 @@ msgstr "番号付けの代わりに座標をラベル付けする"
 msgid "Use gnuplot for display"
 msgstr "入力するファイル"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "TIFFワールドファイルを出力 "
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11646,11 +12143,6 @@ msgstr "ラスターマップの非NULLセルから単変量統計を計算し
 msgid "series"
 msgstr "テストモード"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "空のデータベースを作成する"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11751,6 +12243,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11764,11 +12257,15 @@ msgid "Sill value"
 msgstr "%s: 不正な値の定義"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "出力する傾斜方位ラスターマップ名"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11851,10 +12348,6 @@ msgid ""
 "space time raster datasets."
 msgstr "指定したロケーション中のベクトルマップをリストして終了"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11872,7 +12365,7 @@ msgstr "ラスターマップ <%s> が開けません"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12386,7 +12879,7 @@ msgid "radiance"
 msgstr "分散 "
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12417,8 +12910,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "メタデータ"
 
@@ -12623,8 +13117,8 @@ msgstr "ラスターマップ <%s> から浮動小数点レンジが読み取れ
 msgid "Calculating..."
 msgstr "マップを計算しています ...  "
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14686,21 +15180,21 @@ msgstr "ターゲットロケーション <%s> は見つかりません"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "マップセット <%s> (ターゲットロケーション <%s> )- "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "権限がありません"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "見つかりません"
@@ -14798,7 +15292,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14925,7 +15419,7 @@ msgid "Name of target mapset"
 msgstr "ターゲットマップセット名"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 "画像グループのターゲットとして現在のロケーションとマップセットを設定する。"
 
@@ -15355,52 +15849,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr "単一サブシグネチャ数を削除 %d (%d 残存)  "
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "入力するファイル"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "出力するファイル"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "タイトル"
@@ -15573,7 +16071,7 @@ msgid "Starting Inverse FFT..."
 msgstr "逆FFTの開始..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -15997,7 +16495,7 @@ msgstr "自分の最初のラスターモジュール"
 msgid "My first vector module"
 msgstr "自分の最初のベクトルモジュール"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr "既設のベクトル オープン レベルを設定できません"
 
@@ -16136,11 +16634,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16866,12 +17365,12 @@ msgstr "行の変更"
 msgid "Cols changed"
 msgstr "列の変更"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "ガンマ"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -16879,34 +17378,34 @@ msgstr ""
 "既知のカテゴリー値を用い、一つ以上のマップレイヤーから他のマップレーヤーの"
 "\"no data\"エリアを埋める合成ラスターマップレイヤーを作成します"
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "同時にパッチするラスターマップ名"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "出力するラスターマップ名"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "透過にNULL値の代わりに値0を使用 "
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "入力ラスターマップは最低二つ必要です"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "完了率(%)"
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "ラスターマップ <%s> のサポートファイルを作成します"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -16926,7 +17425,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "入力するファイル名;(\"-\" で標準入力から読込) "
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "結果ラスターマップのタイトル"
@@ -16934,7 +17433,7 @@ msgstr "結果ラスターマップのタイトル"
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "地物フィーチャ"
+msgstr "出力ラスターマップ・タイトル "
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17348,8 +17847,8 @@ msgstr "ラスターやサイトファイルは何も出力されません  "
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "新しい行: %s を挿入できません"
@@ -17422,58 +17921,17 @@ msgstr "ベクトル、補間"
 msgid "Converts a raster map into a vector map."
 msgstr "ラスターマップをベクトルマップレイヤーに変換します. "
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "地物フィーチャ"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "ラベルに使用する属性列名"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "エリアフィーチャの平坦なコーナー"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"ユニークなシーケンスの代わりにラスター値をカテゴリーとして使用 (セル のみ)  "
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "属性"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "z 座標のシフト値"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"ラスタ値をz座標として書き込む. テーブルは作成されていません. 現在はポイントの"
-"みサポートされています.  "
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "トポロジー作成不可"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17511,23 +17969,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "表を作成できません: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "テーブル <%s> に対する特権はありません"
@@ -17570,186 +18030,186 @@ msgstr "投影をセットすることが出来ません"
 msgid "Allocating memory and reading input raster map..."
 msgstr "メモリを割り当ててマップを読込中..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "ラスターマップの投影変換を行います "
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 msgid "Location containing input raster map"
 msgstr "指定したベクトルマップを含むロケーション"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 msgid "Source"
 msgstr "曲面"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 msgid "Mapset containing input raster map"
 msgstr "指定したベクトルマップを含むマップセット"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "このフレーム名を出力します"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "再投影するラスターマップ名"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "データベース"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "出力ラスターマップ名"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 msgid "Target"
 msgstr "エリア"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "出力マップの解像度 "
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "ロケーションのラスターマップ一覧"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "指定したロケーション中のベクトルマップをリストして終了"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "全てのマップ接続パラメーターをシェルスクリプト形式に出力して終了"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr "入力と出力で同一のロケーションは指定出来ません"
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr "入力と出力で同一のロケーションは指定出来ません"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr "出力ラスターマップの投影情報を取得できません"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr "出力ラスターマップの投影単位を取得できません"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr "出力ラスターマップの投影キー値を取得できません"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "マップセット <%s> <入力ロケーション <%s> - %s"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "ロケーション <%s> マップセット <%s> を確認中"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "必須パラメータ <%s> がありません"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr ""
 "ラスターマップ <%s> <ロケーション <%s> <マップセット <%s> が見つかりません"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr "入力マップの投影情報を取得できません"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "入力マップの投影単位を取得できません"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr "入力マップの投影キー値を取得できません"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "未投影のデータでは作業できません(xy location)  "
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "入力マップ  <%s@%s> (ロケーション <%s>) "
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "入力:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "列: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "行: %d (%d)  "
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "北: %f (%f)  "
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "南: %f (%f)  "
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "西: %f (%f)  "
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "東: %f (%f)  "
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "東西解像度: %f  "
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "南北解像度: %f  "
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "出力:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "投影中..."
 
@@ -17794,7 +18254,7 @@ msgstr "四近傍法を用いて,ラスターマップ上の,エッジ密度
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17807,7 +18267,7 @@ msgstr "入力するファイル"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17822,7 +18282,7 @@ msgstr "ガンマ"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -17967,7 +18427,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "ラスターマップ上の,ピクセル属性インデックス平均を計算"
 
@@ -18356,13 +18816,53 @@ msgstr "incidout' を使うには time パラメータの設定が必要です"
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "モード 2: 年間の指定日における統合デイリー照射"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "拡散増加定数  "
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "ラスターマップ <%s> を書出します。 "
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "不正なマップ <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "間違った iso コスト: %f  "
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "ラスターマップ <%s> を書出します。 "
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "現在の中心座標を使用: %f %f"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "ラスターマップ <%s> を書出します。 "
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 "-s をホライズンラスターを用いずに使用するには、数値パーティション は1でなけ"
 "ればなりません"
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
@@ -18370,12 +18870,12 @@ msgstr ""
 "メモリを節約しながら陰影を使用するときは、予め計算済みのホライズンを使う必要"
 "があります"
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 "緯度/経度のロケーションの時は緯度ラスターまたは経度ラスターは影響しません"
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 "緯度および経度ラスターマップの両方を指定するか、どちらも指定しない必要があり"
@@ -18751,7 +19251,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "フォント"
@@ -19567,7 +20067,7 @@ msgstr "入力した標高に負の値があります "
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "ラスターマップレイヤーのエリア統計を作成"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -19755,22 +20255,22 @@ msgstr "ラスターマップ統計値をアップデートします "
 msgid "Statistics for <%s> updated"
 msgstr "<%s> の統計値はアップデートされました"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 "入力ラスターマップの投影情報をチェック用のGRASSフォーマットに変換できません"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "最優先の投影チェック"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -19778,24 +20278,25 @@ msgstr ""
 "データセットの投影は現在のロケーションに適合していません.\n"
 "\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "ロケーションの PROJ_INFO 情報は:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "データセットの PROJ_INFO 情報は:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "インポートしたデータセットの PROJ_INFOは次のとおり :\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19803,7 +20304,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
@@ -19811,9 +20312,9 @@ msgstr ""
 "location'パラメータを用いて、入力データセットからの新規ロケーション作成を検討"
 "して下さい .\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr "入力データセットと現在領域の投影は整合しているようです"
 
@@ -19876,8 +20377,8 @@ msgstr "%s のサポートファイルを作成しています"
 msgid "Link to raster map <%s> created."
 msgstr "ラスターマップ <%s> が作成されました"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -19899,13 +20400,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr "このロケーションのデフォルト領域が更新されました  "
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 msgid "Region for the current mapset updated"
 msgstr "現在のマップセットの領域が更新されました"
 
@@ -19934,20 +20435,20 @@ msgstr "非ファイルGDAL データソース名"
 msgid "Band to select (default is all bands)"
 msgstr "選択するバンド(デフォルト:すべてのバンド)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "使用可能なフォーマットの一覧を表示して終了"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 msgid "Extend region extents based on new dataset"
 msgstr "新しいデータセットをもとにロケーションを拡張"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr "PERMANENTマップセットのデフォルト領域も更新します。"
 
@@ -19959,13 +20460,23 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "指定可能なレイヤー一覧を表示して終了"
+
+#: ../raster/r.external/main.c:123
+#, fuzzy
+msgid "Format: band number,type,projection check"
+msgstr "フォーマット: レイヤー タイプ カウント 最小 最大"
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "\"-i\" か \"value=\" のどちらかが必要です"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -19974,31 +20485,31 @@ msgstr "\"-i\" か \"value=\" のどちらかが必要です"
 msgid "%s= and %s= are mutually exclusive"
 msgstr "エラー 2029 "
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr "インポートを続行します..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "画像グループ <%s> は存在します。上書きされます"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "マップ %s を読み込んでいます ..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "選択されたバンド (%d) は存在しません"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, c-format
 msgid "Imagery group <%s> created"
 msgstr "画像グループ <%s> が作成されました"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "行数"
@@ -20184,14 +20695,15 @@ msgstr "出力する傾斜ラスターマップ名"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20479,6 +20991,12 @@ msgstr "エラー 2029 "
 msgid "Option %s= is ignored if -%c is set"
 msgstr "ロケーション <%s> が作成されました"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "エラー 2029 "
+
 #: ../raster/r.in.bin/main.c:467
 #, fuzzy, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20551,8 +21069,8 @@ msgid "Importing band %d..."
 msgstr "ポイントをインポート中、、、"
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20672,7 +21190,7 @@ msgstr "高い方の値 (%d) は1以上である必要があります  "
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "%s 開けません %s"
@@ -21701,7 +22219,8 @@ msgstr "経過 %d...  "
 msgid "Unable to write to temp file"
 msgstr "一時ファイルが作成できません "
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "ポイントを作成しています "
@@ -21747,7 +22266,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "シェルスクリプトスタイルの統計を出力します"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22386,24 +22905,24 @@ msgid "unable to open output file"
 msgstr "出力ファイルを開けません"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "セクション 3: SFDで表層流を累計する"
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "セクション 3: MFDで表層流を累計する"
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr "MFD: 流動分布の累積比率は 1.0 ではなく %f"
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, fuzzy, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22411,8 +22930,8 @@ msgid_plural ""
 msgstr[0] "MFD:  分布流動時に既に処理された* パス:  %d セルの %d"
 msgstr[1] "MFD:  分布流動時に既に処理された* パス:  %d セルの %d"
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22520,27 +23039,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "セクション %d: マップを閉じます"
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr "セクション %d: 分水定義"
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "セクション 1a (%1d中): メモリの初期化  "
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "セクション 1b (%1d中): マップ外の流量を決定する.  "
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 #, fuzzy
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr "MFD:  分布流動時に既に処理された* パス:  %d セルの %d"
@@ -22554,22 +23073,32 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr "カバーマップ"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "カバーマップ"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "カバーマップ"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "カバーマップ"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "カバーマップ"
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "カバーマップ"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "カバーマップ"
@@ -22597,179 +23126,184 @@ msgstr "カバーマップ"
 msgid "Closing half basins map"
 msgstr "カバーマップ"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] "セクション 1 開始: 変数の初期化 計 %d のセクション"
 msgstr[1] "セクション 1 開始: 変数の初期化 計 %d のセクション"
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 #, fuzzy
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr "使用される最大メモリーが3MBより少ないです。既定値の300MBにセットします"
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "入力 "
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "入力ラスターマップ名"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "入力:1セルの流量を示すファイル "
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "入力するラスターマップ名(彩度)"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "入力:曲面流でブロック化した地形を示すファイル "
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "外側の分水域の最小セル数 "
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "表面流の最大長(単位:メートル)"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "出力する傾斜方位ラスターマップ名"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "出力:流れ出るセル数を示すファイル "
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "出力する傾斜方位ラスターマップ名"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "出力トポグラフィーのインデックスマップ"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "出力する傾斜方位ラスターマップ名"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "出力するファイル"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "出力する傾斜方位ラスターマップ名"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "出力するファイル"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "出力:半盆地のラベルファイル "
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "出力する傾斜ラスターマップ名"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "出力:傾斜長と傾斜勾配(LSファクター)を示すファイル "
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "出力する傾斜ラスターマップ名"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "出力:RUSLE用の傾斜勾配(Sファクター)を示すファイル "
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr "MFD (1-10)の収束変数"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr "1 = 最大分岐流動, 10 = 最大収束流動. 推奨: 5"
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr "-m フラッグで使用する最大メモリ (MB)  "
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr "SFD: 単一流動方向, MFD: 多重流動方向"
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "水平及び鉛直な流れのみ処理 "
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "仮想メモリを使用 "
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
@@ -22777,44 +23311,44 @@ msgstr ""
 "メモリ要求が利用可能なRAMを越える場合のみ必要; メモリ要求の計算方法はマニュア"
 "ルを参照してください"
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr "低く見積もっても正の流動累積を使用"
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr "流動累積出力の詳細はマニュアルを見て下さい"
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "出力マップを選択して下さい"
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s=%s - 正の値であることが必要です  "
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "キーカラム"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "コード %d :サブプロセスに失敗しました"
@@ -22989,21 +23523,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr "最大距離を読み込めませんでした. 中断しています"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "OOPS: 行は %d から %d に変更しました  "
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "OOPS: 列は %d から %d に変更しました  "
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "出力するファイル"
@@ -23195,7 +23729,7 @@ msgstr "TIFFワールドファイルを出力 "
 msgid "Converting <%s>..."
 msgstr "%s を変換中... "
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "ラスター <%s> タイプは一致しません"
@@ -23265,7 +23799,7 @@ msgid ""
 msgstr "ラスターマップの非NULLセルから単変量統計を計算します"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23278,11 +23812,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "ラスターマップ <%s> が開けません"
@@ -23295,59 +23832,86 @@ msgstr "ゾーニングに使用されたDラスターマップはCELLタイプ
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"現在の領域の設定とは無関係に、出力する2Dマップに入力3Dグリッドマップと同じ解"
+"像度を使います。"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "ラスターマップの非NULLセルから単変量統計を計算します"
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "入力= そしてソース= は相互排他的です"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "2つのラスターマップから直線回帰を計算する: y = a + b*x  "
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "指定レイヤーで,フィーチャーへの距離のラスターマップレイヤーを作成"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "距離出力マップ名"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "出力ラスターマップ名"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "補間を行う2点間の最大距離"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "直近の2線間の最大距離 "
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr "distance= と value= の少なくとも一つは必要です"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "不明なメトリック: [%s]  "
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "補間を行う2点間の最大距離"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "一時ファイル <%s> が作成出来ません"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23358,67 +23922,72 @@ msgstr "一時ファイル <%s> が作成出来ません"
 msgid "Reading raster map <%s>..."
 msgstr "ラスターマップ <%s> を読込中..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "ラスターマップ %s を出力しています "
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "ラスターマップ <%s> のカラーテーブルを読み込めません"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "入力するファイル"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "ラスターマップのNULL値を管理する"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "3DラスターマップのNULL値修正"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "NULL値をセットするセルの一覧"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "NULL値を置き換える値"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "浮動小数点マップの時のみ実行"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr "チェック"
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "整数マップの時のみ実行"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr "マップがNULL値ビットマップファイルを含まない時のみ実行"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr "全てのデータセルを検査してNULL値ビットマップファイルを作成"
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr "NULL値ビットマップファイルを削除"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+#, fuzzy
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr "全てのデータセルを検査してNULL値ビットマップファイルを作成"
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
@@ -23427,62 +23996,63 @@ msgstr ""
 "ラスターマップ <%s> は マップ <%s@%s> の再分類.r.mapcalc と共にコピーを作成"
 "することを考慮して下さい.終了しています"
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "ラスターマップ <%s> はマップセット <%s> 中に存在しません"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr "%s はNULL値に対して不正な入力値です"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "ラスタマップ <%s> は既にNULL値ビットマップ ファイルを持っています"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "<%s> は整数値ラスターマップです (CELL)"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "<%s> は整数値ラスターマップです (CELL)  null=%d を使います"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "<%s> は浮動小数点値ラスターマップです"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "ラスターマップ <%s> 用にNULLファイルを作成しています..."
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "ラスターマップ <%s> は変更されています"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "ラスターマップ <%s> からNULLファイルを削除します .."
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s: %s: 不正な値"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: 不正な値の定義"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "ラスターマップ  <%s> に対して新規データを書き込みます"
@@ -23531,7 +24101,7 @@ msgstr "不明なタイプ: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "ラスターマップ <%s@%s> を閉じれません"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "出力ラスターマップを閉じれません"
 
@@ -23654,21 +24224,26 @@ msgstr "乱数発生のSeed"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "入力するファイル"
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "エラー 2029 "
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "セパレーション"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr "計算中に浮動小数点エラーが発生しました"
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr "計算がオーバーフローしました"
 
@@ -23677,112 +24252,124 @@ msgstr "計算がオーバーフローしました"
 msgid "Known functions:"
 msgstr "既知の関数:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "バイナリーファイルをラスターマップとしてインポートします "
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "入力するファイル"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "選択するバンド(デフォルト:すべてのバンド)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "画像ターゲットロケーション名"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr "投影に用いるロケーション"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "入力する標高ラスターマップ名 "
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "作成するロケーション"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "出力するファイル"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "現在のロケーションの投影法を使用"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "現在の接続パラメータを出力して終了"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "バンド色名を使う代わりに、バンド番号を保持します"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "テーブルを出力して終了"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr "出力ロケーションとは異なる目標ロケーションを指定してください"
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr "-l'フラグは緯度/経度ロケーションでのみ動作します"
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "サブレンジの数は 1 以上出なければならない"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "データソース <%s> を開けません"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "ラスターマップ <%s> は既に存在します"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
@@ -23790,7 +24377,7 @@ msgstr ""
 "入力したラスターマップは回転していて入力できません。 'gdalwarp' を用いると"
 "マップをノースアップに変換できるでしょう"
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
@@ -23799,8 +24386,8 @@ msgstr ""
 "マップ境界線は地理座標に制限されています。次へ進む前にr.infoでマップ境界線と"
 "解像度を調べてr.regionでリセットします。"
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -23808,93 +24395,98 @@ msgstr ""
 "入力マップの投影をGRASSフォーマットに変換できません。新規のロケーションが作成"
 "できません"
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "ロケーションを作成できません: %s  "
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "インポートを続行します..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "シグネチャファイルが開けません"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "ラスターバンドを取得出来ません"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "ポイントファイルの %d GCPS を <%s> にコピーしています"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr "GCPsは以下のオープンGIS WKT座標系を持っています:"
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "GCPsテーブルを再投影します:"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "* GCPテーブルの入力投影: %s"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "* GCPテーブルの出力投影: %s"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "pj_do_proj 実行中にエラー(GCP %i を再投影できません)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "入力したGCPsの投影キー値を変換できません"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr "ロケーションの投影情報を取得出来ません"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "ロケーションの投影単位を取得出来ません"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr "ロケーションの投影キー値を取得出来ません"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "ラスターマップ <%s> を書出し中..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr " <%s>にグレー色テーブルを設定します(8bit, full range)"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr " <%s>にグレー色テーブルを設定します(16bit, image range)"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "入力するファイル"
@@ -24134,7 +24726,7 @@ msgstr "ベクトルマップ <%s> を書き出しています..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24484,29 +25076,34 @@ msgstr "%d ユニット%s のみ許可されています"
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "ラスターマップ <%s> のfp範囲を読み込めません"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr "レイヤー' は > 0 でなければなりません"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, c-format
 msgid "Generating raster map <%s>..."
 msgstr "ラスターマップ <%s> を書出し中..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "相関 "
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "空間依存性を使用してランダムセル値を生成します"
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "許容されるポイントとラインとの最大距離"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "ロードする列の最大数"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr "乱数シード (SEED_MIN >= value >= SEED_MAX) (デフォルト [random])"
 
@@ -24954,33 +25551,33 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "最大反復回数 "
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%s: ラインの bounding box を見つけられません"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "境界線:  l = %d, r = %d, t = %d, b = %d  "
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr "パス回数 %d  "
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "削除された %d  ピクセル   "
 msgstr[1] "削除された %d  ピクセル   "
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "細線化は正常に終了しました"
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr "細線化は終了していません, '反復' パラメーターを増加してください.  "
 
@@ -26052,157 +26649,231 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'レイヤー' は > 0 でなければなりません"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "データをスキャンしています..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "範囲:       最小        最大\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "一時ファイルが作成できません "
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr "一変量の統計で,多くの座標の集合からラスタマップを作成"
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "入力するファイル"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "最コードルールを含むファイル"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "対象マップ"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "z 座標のシフト値"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "補間に用いる近傍点"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "z データのフィルターレンジ (min,max)  "
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "z データに指定する縮尺"
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+#, fuzzy
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+"観測した <trim> パーセント(最小側)および <trim> パーセント(最大側) を廃棄"
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "出力ラスターマップ・タイトル "
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "整数データをインポート"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 #, fuzzy
 msgid "Only import points of selected class(es)"
 msgstr "選択したカテゴリー番号の領域を塗りつぶす"
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "整数データをインポート"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "情報の代わりに履歴を出力します"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
-msgstr "データセット投影を再定義します (現在のロケーションの投影法を使用)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "ラスターマップに一致するよう領域を設定します"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:288
+#, c-format
+msgid "Flag %c makes sense only with %s option or -%c flag"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "対象マップ"
+
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
+msgstr "スキャン中,zrange は評価に取り込まれません"
+
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
 #, fuzzy, c-format
 msgid "Input file <%s> does not exist"
 msgstr "対象マップ"
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
 #, c-format
 msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:355
+msgid ""
+"First file's projection checked, checking projection of the other files..."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:393
 #, fuzzy, c-format
 msgid "Unknown filter option <%s>"
 msgstr "不明なルールオプション:'%s'"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
-msgstr "入力マップ投影情報をチェックのためGRASSフォーマットに変換できません"
-
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "GRASS LOCATION PROJ_INFO は:\n"
-
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr ""
-"入力データセットから'ロケーション'パラメーターのある新しいロケーションを作成"
-"してください.\n"
-
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 msgid "Invalid zrange"
 msgstr "不正なZ座標範囲"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr "pth オプションの指定無しでは,百分率を計算できません!"
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr "trim オプション無しでは,刈り込み平均を計算できません"
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr "スキャン中,zrange は評価に取り込まれません"
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "ロケーション <%s> が作成されました"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr "データを読込中..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "出力ファイル <%s> を開けませんでした"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "マップを書出し中..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%lu 箇所が領域内に見つかりました"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "データをスキャンしています..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr "pth オプションの指定無しでは,百分率を計算できません!"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "範囲:       最小        最大\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr "trim オプション無しでは,刈り込み平均を計算できません"
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "ファイル [%s] を読み込みに開けません"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "GRASS LOCATION PROJ_INFO は:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+"入力データセットから'ロケーション'パラメーターのある新しいロケーションを作成"
+"してください.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr "入力マップ投影情報をチェックのためGRASSフォーマットに変換できません"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26433,12 +27104,6 @@ msgstr "%s[%d,%d] から %s[%d,%d] へ縮尺を変更"
 msgid "Header File = %s"
 msgstr "ヘッダファイル = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "ファイルが作成できません <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27261,6 +27926,13 @@ msgstr "スキップする適切なライン数を指定して下さい"
 msgid "Invalid vrange"
 msgstr "不正なZ座標範囲"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27317,6 +27989,11 @@ msgstr "不正な y-座標 ライン %lu 列 %d. <%s>  "
 msgid "Writing to output raster map..."
 msgstr "ラスターマップ %s を出力しています "
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr "%lu 箇所が領域内に見つかりました"
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr "標高マップから陰影レリーフを作成する(DEM).  "
@@ -27674,27 +28351,27 @@ msgstr "出力するファイル"
 msgid "Delete the null file"
 msgstr "出力するファイル"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "[%s] のカテゴリーテーブルを %s に設定"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] は別のマップの再分類, 終了中 "
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "[%s] のnullファイルを書き込み中   "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "[%s] の null ファイルを削除中.\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "完了 "
 
@@ -27728,32 +28405,12 @@ msgstr ""
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr "ラスターマップから特定コンターのベクトルマップを作成する "
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "コンター間隔 "
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "コンターレベルのリスト "
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "コンターレベルのリスト "
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "最小コンターレベル "
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "最大コンターレベル "
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "コンターの作成に用いるデータ点の最少数(0 -> 制限なし) "
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -27764,29 +28421,31 @@ msgstr "入力するファイル"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "テーブル %s を作成できません"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "テーブル <%s> 、キー <%s> のインデックスを作成できません"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "属性を書き込んでいます"
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "新しいレコード '%s' を挿入できません "
@@ -28612,10 +29271,6 @@ msgstr "停止ベクトル点のマップ名"
 msgid "Size of point cache"
 msgstr "ポイントキャッシュのサイズ"
 
-#: ../raster/r.what/main.c:141
-msgid "Output header row"
-msgstr "メートル単位のみで出力 "
-
 #: ../raster/r.what/main.c:146
 msgid "Show the category labels of the grid cell(s)"
 msgstr "グリッドセルでカテゴリーラベルを表示します"
@@ -28917,7 +29572,8 @@ msgstr "列の型がサポートされていません (文字列のはずです)
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "表からデータを選択できません"
 
@@ -29549,11 +30205,11 @@ msgstr "シェルスクリプト形式で表示"
 msgid "3D Raster map <%s> not found"
 msgstr "3D ラスターマップ <%s> は見つかりませんでした"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "履歴ファイル読み込みエラー"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, c-format
@@ -29746,6 +30402,38 @@ msgstr ""
 msgid "Update range"
 msgstr "出力するデータの範囲 "
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "分散 "
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "赤、緑、青のラスターマップを一つのラスターマップに合成します"
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "出力ラスターマップ名"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "ポイントキャッシュのサイズ"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "メモリを割り当てられません"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "新しいラスターマップを書き込んでいます"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 msgid "Unable to close input raster maps"
 msgstr "入力ラスターマップを閉じれません"
@@ -29913,6 +30601,148 @@ msgstr "日時,日時1/日時2,なし"
 msgid "Timestamp format is invalid"
 msgstr "不明なタイムスタンプのフォーマット:"
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "三つの3DグリッドRGBマップを用意してください"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "ベクトルマップ <%s> が見つかりません"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "流動方向を計算中 "
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "属性テーブルを編集するために指定したベクトルポイントマップ名"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "編集するベクトルマップ名"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "出力する傾斜方位ラスターマップ名"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "光沢度のラスターマップファイル名"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "長さ %f\n"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "イテレーションの数"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "水流幅 (メートル). デフォルトはラスターセル幅です  "
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "補間方法"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "ラスターマップが指定されていません"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "既定のデータベースが設定されていません"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "最大反復数"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "最大反復数"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "流線間のセル数 "
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "出力するファイル"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "ベクトルマップ <%s> は 3D ではありません"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "色相データ読み込み中のエラー"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "等値線のコスト "
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30427,6 +31257,60 @@ msgstr "誤差ベクトルマップの地形を再構築中、、、"
 msgid "Failed to find intersection segment"
 msgstr "幅を整数値として解釈できません  "
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "表に挿入できません: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "ベクトルマップ <%s> を開けません"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "テーブル <%s> はデータベース <%s> 中にありません"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "ラスターマップ <%s> は存在します。上書きされます"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "ラスターマップ <%s> は存在します。上書きされます"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "ベクトルマップ <%s> を作成できません"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "ドライバー <%s>ではデータベース <%s> が開けません"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "表 <%s> を作成できません"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "属性テーブルをベクトルマップ <%s> へコピーできません"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "表 <%s> を作成できません"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30456,7 +31340,7 @@ msgstr "���"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30469,8 +31353,8 @@ msgstr "���"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30498,80 +31382,121 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "ベクトルネットワークの最短経路を探索"
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "テーブル"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr "オペレーション '接続' に必要です. 与えられた閾値における接続点.  "
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "入力するファイル"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "始点の座標値"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "新しいポイントに一意的なカテゴリーを割り当ててください"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr "操作'ノード'"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "終了ポイントベクトルマップ  "
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "ラインレイヤー"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr "不明な操作"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "閾値は >= 0 でなければなりません  "
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "ネットワークメンテナンスを実行します"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "ネットワークメンテナンスを実行します"
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "ベクトルマップ <%s> をトポロジー水準 %d で開けません"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "出力ファイルの上書き"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "出力ファイルの上書き"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "属性をコピーしています"
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr "出力マップに属性テーブルをコピーできませんでした"
@@ -30591,8 +31516,9 @@ msgstr "%d ポイントは見つかりました: %.3lf %.3lf %.3lf ラインカ
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "フォント"
@@ -30625,9 +31551,9 @@ msgstr "y座標を含む列名"
 msgid "Name of column containing z coordinate"
 msgstr "z座標を含む列名"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr "3D出力"
 
@@ -30835,13 +31761,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr "ネットワークモードで結果に入力ポイントの数をかける"
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "ベクトルマップ <%s> は既に存在し上書きされません"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "ベクトルマップ <%s> は既に存在"
@@ -31037,27 +31963,27 @@ msgstr "バッファーの多様性としての,理論上の弧とポリゴン
 msgid "Make outside corners straight"
 msgstr "外角をまっすぐにする"
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "ポリラインの終点を頂点にしてはいけない"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "ベクトルマップ属性を出力します. "
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr "バッファー距離/短軸/角度/列のどれかを選択 "
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31065,48 +31991,48 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr "スケールオプションは magnitude_map を必要とします"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 msgid "The tolerance must be > 0."
 msgstr "レイヤー' は > 0 でなければなりません"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr "許容差は %g にリセットされました"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "不正な削除要求です"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr "マップユニット中の許容差 = %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "ベクトルマップを読み込めません"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "表 <%s> からデータを選択できません"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "この列の形式はサポートしていません"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
@@ -31114,118 +32040,118 @@ msgstr ""
 "チェックタイプオプションのバッファリングに利用可能なフィーチャはありませんそ"
 "して入力ベクトルのフィーチャは利用可能です"
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr "エリアをバッファー中、、、"
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "No record for category %d in 表 <%s> におけるカテゴリーの-"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "属性が不正なサイズ (%.3f) です(カテゴリー %d )"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "マップユニット中の許容差: %g  "
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "エリアをバッファー中、、、"
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "出力するファイル"
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "地形のパーツを構築中、、、"
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr "境界を接合しています、、、"
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 msgid "Breaking polygons..."
 msgstr "ポリゴンを解消"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "重複を削除中、、、"
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "境界を切断しています、、、"
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 msgid "Cleaning boundaries at nodes"
 msgstr "ノードの境界をクリーニング中、、、"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "ぶら下がりを削除"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "橋を削除"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "島を添付しています、、、"
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "エリアのセントロイドを計算中..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "エリアセントロイドを計算できません"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr "削除する境界のリストを作成中、、、"
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 msgid "Deleting boundaries..."
 msgstr "境界を削除しています、、、"
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 msgid "Calculating centroids for areas..."
 msgstr "エリアのセントロイドを計算中..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "エリアのセントロイドを計算できません"
@@ -31416,7 +32342,7 @@ msgstr ""
 #: ../vector/v.surf.rst/main.c:524
 #, fuzzy, c-format
 msgid "Unable to create %s"
-msgstr "ファイルが作成できません <%s>"
+msgstr "表を作成できません: %s"
 
 #: ../vector/v.vol.rst/main.c:555
 #, fuzzy, c-format
@@ -31519,7 +32445,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "出力するファイル"
+msgstr "線に沿って点を補間"
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -31611,7 +32537,7 @@ msgstr "%s の失敗"
 msgid "Not enough disk space--cannot write files"
 msgstr "temp ファイルのサイズは %d バイトです"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -31661,11 +32587,12 @@ msgstr "ネットワークのブリッジと連結点を計算する"
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -31676,27 +32603,27 @@ msgstr "ネットワークのブリッジと連結点を計算する"
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr "コントラスト"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr "ノードコスト列 (数)"
 
@@ -31724,12 +32651,12 @@ msgstr "地物フィーチャ"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "ベクトルマップ <%s> を作成できません"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 #, fuzzy
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr "最近接の中心にサブネットを割り当てます (中心からみて).  "
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 #, fuzzy
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
@@ -31738,7 +32665,7 @@ msgstr ""
 "中心ノードは開かれなければなりません (コスト >= 0). 中心ノードのコストは計算"
 "に使用されています  "
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 #, fuzzy
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
@@ -31747,29 +32674,47 @@ msgstr ""
 "ネットが割り当てられる中心のカテゴリー (ノード上のポイント), このカテゴリーの"
 "レイヤーは nlayer オプションによって与えられています"
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "レイヤー/テーブル"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "ネットワークへの最大距離"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "中心の数: [%d] (nlayer: [%d])  "
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 #, fuzzy
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr "選択されたnlayerに十分な中心ではありません. 何も分配されません.  "
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "センターからコストを計算しています ...  "
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr "線分を取得できません、セグメントは一線ではありません"
 
@@ -32091,83 +33036,83 @@ msgstr ""
 "属性テーブルを閉じられません.DBMIドライバーが一部の属性を許可しませんでした"
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "入力に失敗しました"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "���."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "作成するポイントの数"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "入力ベクトルのポイントを読み込み"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "最小の z ヘイト (zフラッグ または 列名が必要)  "
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "最大の z ヘイト (z フラッグ または 列名)  "
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "入力するファイル"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "ベクトル列を書き込み中、、、"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "カラーテーブルのタイプ"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "3D出力を作成します"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "フィーチャーを選択中、、、"
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "ポイントの数は > 0 でなければなりません (%d 与えられています)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d のフィーチャーが %d の中からベクトルマップ <%s> より選択されました "
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "存在するベクトルマップ名"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr "テーブルは2つ以上の列を含めません"
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
@@ -32175,18 +33120,18 @@ msgstr ""
 "サポートされていない列型は作成されました. このモジュールは整数型と倍精度の列"
 "型のみサポートしています.  "
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "現在の領域内にベクトルマップ <%s> の始点がありません "
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "現在の領域内にベクトルマップ <%s> の始点がありません "
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "ポイントを作成しています "
 
@@ -32378,6 +33323,159 @@ msgstr "データベースアップデート不可能 "
 msgid "Impossible to write in the database"
 msgstr "データベースにおいて書き込み不可能"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "���%s ..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "シグネチャファイル"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "対象マップ"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "整数データをインポート"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "整数データをインポート"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> 不正なポイント数"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "最大許容差値 "
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "セル内の水平方向の頂点数"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "セル内の水平方向の頂点数"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "標準偏差 "
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "不正なZ座標範囲"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -32449,7 +33547,7 @@ msgstr "ユーザーテーブルの代わりのシステムテーブル"
 msgid "Force 2D output even if input is 3D "
 msgstr "強制的に整数で出力 "
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -32666,6 +33764,182 @@ msgstr "属性を選択できません "
 msgid "Labeled %d lines."
 msgstr "%d のラベル付きライン"
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "対象マップ"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "ラスター"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d のクランプ(塊)"
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "クラスターセパレーション"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "���"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "ネットワークへの最大距離"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "クラスのピクセル最小値 "
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "クラスターセパレーション"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "行数"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "近傍サイズは正の数でなければなりません"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "入力するファイル"
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "現在の設定を表示"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "セントロイドを作成中..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s=%s - 正の値であることが必要です  "
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "2点間の最大距離を使用: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "ラスターマップが見つかりません。"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "直近の2線間の最大距離 "
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, fuzzy, c-format
+msgid "Mean: %g"
+msgstr "平均値 = %.5lf  "
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "標準偏差 "
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "2点間の最大距離を使用: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "コストパスを探す..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr "nポイント = %d, n地形 = %d  "
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "ラインは見つかりませんでした, type=lineをスキップします  "
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "ラスターマップ %s を出力しています "
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "���%s ..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "対象マップ"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%d クラスが見つかりました"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%d クラスが見つかりました"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -32734,7 +34008,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33030,14 +34304,8 @@ msgstr "記録が選択されていません"
 msgid "Loading data..."
 msgstr "データをロード中、、、"
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "ベクトルマップ <%s> は 3D ではありません"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "列 <%s> がありません"
@@ -33092,17 +34360,17 @@ msgstr "ラスターマップをサポートするファイルを作成中..."
 msgid "Color can be updated from database only if use=attr"
 msgstr "use=attr の時だけ,データベースを元に色が更新されます"
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "エリアを変換:  %d の %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "ポイント/ラインを変換: %d の %d  "
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "エリアを読み込んでいます"
 
@@ -33262,16 +34530,16 @@ msgstr "列パラメーターは z 座標と組み合わせることはできま
 msgid "Unknown option '%s'"
 msgstr "不明なオプション '%s'"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 "与えられたノードを接続するサイクルを作成します (巡回セールスマン問題).  "
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
@@ -33279,65 +34547,65 @@ msgstr ""
 "TSPはNP-hardです, 近似アルゴリズムはこのモジュールによって使用されており作成"
 "されたサイクルは最適ではないかもしれません"
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+"ノードにおけるポイント ('都市') のカテゴリー(レイヤーはnlayerによって指定され"
+"ています)  "
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr "ノードレイヤー (都市に使用)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "Arc 後方コスト列 (数)  "
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "出力ファイル名 (省略または \"-\" で標準出力)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-"ノードにおけるポイント ('都市') のカテゴリー(レイヤーはnlayerによって指定され"
-"ています)  "
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "都市の数: [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "都市が足りません (< 2)"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "セントロイドを作成中..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "カテゴリー付きのポイントがありません [%d]"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "ポイントの記録がありません (cat = %d)  "
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "目的地 ノード [%d] はノード [%d] から到達不能です  "
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "ファイル <%s> を開けません"
@@ -33501,6 +34769,21 @@ msgstr "選択タイプ: ラインまたは領域"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "「空間」パラメーターには4変数が必要"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "不明なルールオプション:'%s'"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "最優先の投影チェック"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -33620,7 +34903,7 @@ msgid "Processing features..."
 msgstr "地物を処理中、、、"
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "エリアのセントロイドを計算できません"
 
@@ -33687,7 +34970,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "列 <%s> を使用できません"
@@ -34093,7 +35376,7 @@ msgstr "カテゴリー付きのポイントがありません [%d]"
 msgid "%d records updated"
 msgstr "%d 記録はアップデートされました"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34196,9 +35479,8 @@ msgstr "不明な操作"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "列の文字を分割できません: [%s]"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "フィーチャーを変換中、、、"
 
 #: ../vector/v.transform/main.c:290
@@ -34644,7 +35926,7 @@ msgstr "エラー:3Dラスターマップ <%s> が開けません"
 msgid "Column type not supported, please use a column with double type"
 msgstr "列の型がサポートされていません (文字列のはずです)  "
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "フィーチャーを読み込んでいます"
@@ -34728,6 +36010,10 @@ msgstr "列名"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "列"
 
@@ -34789,55 +36075,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "間隔の代わりに平均値を出力"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "列 <%s> は表 <%s>に見つかりませんでした"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "ラスターのタイプは整数,列のタイプは実数"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr "ラスターのタイプが実数,列のタイプが整数です,一部のデータが消失!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "%d 線 or 境界 found in ベクトルマップ <%s@%s>  "
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr "現在の領域外にある %d のポイントがスキップされました"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr "カテゴリーなしの %d のポイントがスキップされました"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "カテゴリー %d 以上のポイント(%d),値が'NULL'になります"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d のカテゴリーがベクトルからロードされました"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "ベクトルに %d のカテゴリーの重複があります"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d のカテゴリーがテーブルからロードされました"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "ベクトルの %d のカテゴリーがテーブル内にありません"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d 記録はアップデートされました"
@@ -35698,30 +36989,40 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "ベクトルマップ属性を出力します. "
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "where' 句なしのSQL文のWHEREコンディション"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "出力鉛直レコード分離"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr "属性の代わりに選択されたベクトルフィーチャーの最小領域範囲を出力します"
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "領域\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "ベクトルフィーチャーからデータベース値を集めます. "
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
@@ -35730,21 +37031,21 @@ msgstr ""
 "ベクトルマップ <%s> をトポロジー水準で開けません. フラッグ '%c' はトポロジー"
 "水準を要求しています.  "
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "選択カーソルを開けません"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "表 <%s> からデータを取得できません"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "エリア %d の境界線を取得できません  "
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "ライン %d の境界線を取得できません"
@@ -36030,7 +37331,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "表から選択された記録 %d "
 msgstr[1] "表から選択された記録 %d "
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "表 <%s> を作成できません"
@@ -36057,7 +37358,7 @@ msgstr ""
 msgid "Querying database... "
 msgstr "データベースを検索しています ... "
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
@@ -36066,12 +37367,12 @@ msgstr ""
 "クエリカテゴリーが多すぎたため (%d) クエリカテゴリー '0' (カテゴリーなし) の"
 "クエリは実行されませんでした. 後に報告された cat 0 の値は全て不正です.  "
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr "複数の検索結果、出力値はNULLにセットされています (カテゴリー [%d])  "
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr "記録を取得できません "
 
@@ -36087,6 +37388,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "ラスターマップ <%s> のカラーテーブルが見つかりません"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "データベースをアップデートしています"
@@ -36357,7 +37663,8 @@ msgstr "%s はエリアの代わりにこれらの値を積算します。\n"
 msgid " Database connection not defined for layer <%s>"
 msgstr ""
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "キーカラム"
@@ -36376,52 +37683,52 @@ msgstr "[%d] の,カテゴリー無しの点(nfield:[%d])"
 msgid "Wrong input format: %s"
 msgstr "不正な入力フォーマット: %s  "
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "カテゴリー付きのポイントがありません [%d]"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 "カテゴリー付きのポイント [%d] はカテゴリー付きのポイント [%d] から到達できま"
 "せん"
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr "ポイント %f,%f は ポイント %f,%f から到達できません"
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] 指定フォーマットのエラー"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr "[%d] の指定された,カテゴリーのポイントがありません"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr "%d の目的地に到達できません (閾値外のポイントを含んでいます)  "
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "ベクトルネットワークの最短経路を探索"
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr "始点と終点を含むファイル名.指定が無い場合は標準入力から読み込む"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr "ネットワークへの最大距離"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
@@ -36431,7 +37738,7 @@ msgstr ""
 "つけることができずエラーメッセージを出力します.処理を高速にしたい場合,この"
 "値はできる限り小さくしてください"
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 "各経路を一つのラインとしてではなく, 出力をオリジナルの指定セグメントとして書"
@@ -37016,46 +38323,50 @@ msgstr "単位セグメントあたりのデータ数の最大値"
 msgid "Add new vertices, but do not split"
 msgstr "入力するファイル"
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "入力するファイル"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "平滑化は正の値の必要があります"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "不明な列の型 '%s'"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "入力マップの投影単位を取得できません"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "長さ %f\n"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "長さ %f\n"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "行数"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "シグネチャファイル"
@@ -37153,10 +38464,6 @@ msgstr "列は数字でなくてはいけません"
 msgid "Reading categories..."
 msgstr "カテゴリーを添付中、、、"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "フィーチャーを変換中、、、"
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37332,7 +38639,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "ラインの交点間にポイントを補間"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "表 <%s> をコピーできません"
@@ -37594,210 +38901,231 @@ msgstr ""
 "新しい接続を定義するため,次のパラメーターを定義する必要があります:ドライ"
 "バー,データベース,テーブル [, key [, layer]]  "
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "ラスターマップの投影変換を行います "
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "指定したベクトルマップを含むロケーション"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "指定したベクトルマップを含むマップセット"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "再投影するラスターマップ名"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "指定したベクトルマップを含むマップセット"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "指定したロケーション中のベクトルマップをリストして終了"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "3Dベクトルマップのみ"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 #, fuzzy
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr "可能であれば,z 座標を楕円高と仮定し変換"
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "ラスターマップが見つかりません。"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr ""
 "ロケーション <%s> マップセット <%s> 中にベクトルマップ <%s> が見つかりません"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "指定したロケーション <%s> にマップセット <%s> - 許可がありません"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "指定したロケーション <%s> 中にマップセット <%s> がありません"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "指定されたベクトルマップを読み込み中"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "ベクトルマップ <%s> は 3D ではありません"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr "pj_do_transform にエラー"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "元情報を再投影中、、、"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "ベクトルマップ <%s@%s> を開けません"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr "複数のベクトルマップを合成し新しいマップを作成します"
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "指定したベクトルマップの境界ボックスが書き込まれるベクトルマップ名"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "トポロジー作成不可"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
-"ファイルを現在のファイルへ追加(現在のファイルへの上書きが有効であることが必"
-"要)"
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "属性の表もコピー"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr "現在,レイヤー1の表だけがサポートされています"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+"ファイルを現在のファイルへ追加(現在のファイルへの上書きが有効であることが必"
+"要)"
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "表がありません"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "キー列が違います"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "列の数が違います"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "列名が違います"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "列の型が違います"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr "文字の列長が違います"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "キー列が見つかりません"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "出力するマップは3Dではありません"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "入力するファイル"
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 "エラー,ベクトルマップ <%s> を読み込み中 - 一部のデータが正しくないようです"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "ベクトルマップ <%s> の地形を構築中、、、"
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr "境界の交差が折れ曲がります"
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr "ファイル間の共用ラインは編集されます"
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr "ヘッダー情報は編集されます"
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr "%d のベクトルマップを繋ぎ合わせました"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "選択したカーソルを開けません: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "行を取得できません"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "不明な列の型  "
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "新しい記録を挿入できません: '%s'"
@@ -38472,16 +39800,12 @@ msgstr[1] "%d の交点が削除されました"
 msgid "Operation not implemented"
 msgstr "演算は実行されませんでした"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "OGRベクトルレイヤーをGRASSベクトルマップに変換します."
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "OGRデータソース名 "
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
@@ -38491,7 +39815,7 @@ msgstr ""
 "\t\tESRIシェープファイル:ディレクトリはシェープファイルを含んでいます\n"
 "\t\tマップ情報ファイル:ディレクトリはマップ情報ファイルを含んでいます"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -38501,217 +39825,219 @@ msgstr ""
 "\t\tESRIシェープファイル:シェープファイル名\n"
 "\t\tマップ情報ファイル:マップ情報ファイル名"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "小領域のみインポートします"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "フォーマット:xmin,ymin,xmax,ymax - 通常は西、南、東、北"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "インポートできる区域の最小サイズ (平方ユニット)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr "小区域と島は無視されます.スナップ^2以上にしますか?"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr "任意でデフォルトの入力タイプを変更してください"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "作動しているコントロールポイントはありません"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "ノードの境界をクリーニング中、、、"
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "ラインまたは境界からポリラインを構築します"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "重複したエリアセントロイドを削除"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr "元の名前の代わりに使用される列名,1列目はカテゴリー行として使用"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "ラスターカテゴリーラベルに使用される列名"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "列名"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "指定しない場合,指定されたマップ名が使われます"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "ポリゴンを消去しない(非推奨)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "強制的に整数で出力 "
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "インポートをこの領域に限定します"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "行名を小文字に変換"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "データソース <%s> を開けません"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "カーソル位置が MySQL ドライバーにサポートされていません"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, fuzzy, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr "データソースは %d レイヤーあります"
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "レイヤー <%s> は利用できません"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "��."
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "ベクトルマップ <%s>  のレイヤー情報を取得できません"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "列 <%s> は表 <%s>に見つかりませんでした"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr "現在の範囲フラッグか空間オプションの片方だけを選択してください"
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "「空間」パラメーターには4変数が必要"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "マップユニット %G のバッファー距離 "
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, c-format
 msgid "Using temporary vector <%s>"
 msgstr "ベクトルマップ <%s> を作成できません"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "入力するファイル"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "キー列の型が整数値ではありません"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "列 <%s> は表 <%s>に見つかりませんでした"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+"列<%s>を、固定長 %d 文字を使用して書き込んでいます (省略される可能性がありま"
+"す)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 "列<%s>を、固定長 %d 文字を使用して書き込んでいます (省略される可能性がありま"
 "す)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -38720,66 +40046,66 @@ msgstr ""
 "列の幅は %s 255 に設定されています(OGRによって指定されていません), いくつかの"
 "ストリングは切断されるかもしれません!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 "列 %s を、固定長 %d 文字を使用して書き込んでいます(省略の可能性があります)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "列タイプはサポートされていません (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "マップ %d フィーチャーをインポートしています..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s ジオメトリなし"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "ポリゴンを解消"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "境界をスナップする (閾値 = %.3e):"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "ノードの境界をクリーニング中、、、"
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "境界を切断しています、、、"
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "境界ダングルをラインに変更します:"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "境界ブリッジをラインに変更します:"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "centrality measures を計算しています..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "セントロイドを書き込み中、、、"
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -38791,99 +40117,99 @@ msgstr ""
 "されています. それらのエリアのフィーチャの数はセントロイドとしてレイヤー %d "
 "に保存されています"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr "%d 入力ポリゴン\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d 入力ポリゴン"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "トータルエリア: %G (%d エリア)\n"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "トータルエリア: %G (%d エリア)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "重複するエリア: %G (%d エリア)\n"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "重複するエリア: %G (%d エリア)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "カテゴリーのない領域: %G (%d areas)\n"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "カテゴリーのない領域: %G (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "接続とみなす境界要素間のスナップ"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "表を外せません:%s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -38932,17 +40258,21 @@ msgstr "ジオメトリの一部を書き込めません"
 msgid "Unknown geometry type"
 msgstr "不明なジオメトリタイプ"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "出力テーブル名"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "リンクするラスターファイル"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -38950,22 +40280,22 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "出力ラスターマップ名"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "指定可能なレイヤー一覧を表示して終了"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "指定可能なレイヤー一覧を表示して終了"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 #, fuzzy
 msgid "Format: layer name,type,projection check,geometry"
 msgstr "フォーマット: レイヤー タイプ カウント 最小 最大"
@@ -39019,7 +40349,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "無効な順"
+msgstr "ノードコスト列"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -39028,17 +40358,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "複数のベクトルマップを合成し新しいマップを作成します"
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "出力するファイル"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "ファイルが作成できません <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "ラスターマップ <%s> が作成されました"
@@ -39172,16 +40502,16 @@ msgstr "出力マップを作成できません "
 msgid "Unable to close new 3d raster map"
 msgstr "新しい3D ラスターマップを閉じれません"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "ライン"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "コスト等値線によってネットを分割します.  "
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 #, fuzzy
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
@@ -39191,44 +40521,44 @@ msgstr ""
 "Splits net to bands between コスト 等値線 (中心からの方向). 中心ノードを開い"
 "てください (コスト >= 0). 中心ノードは計算に使用されています.  "
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "等値線のコスト "
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr "間違った iso コスト: %f  "
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr "Iso コスト: %f 以前より少ない"
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr "Isoコスト %d: %f  "
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 "コストは十分ではありません, 到達可能なものは全て最初の周波数帯に下がります"
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr "閉じられた ノード (コスト = -1) において中心は無視されました"
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "中心の数: %d (nlayer %d)"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr "選択されたnlayerに十分な中心ではありません. 何も分配されません.  "
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "中心からのコスト %d を計算しています"
@@ -39400,6 +40730,138 @@ msgstr ""
 "注意: 最初のクラスの最小を含んでいます\n"
 "\n"
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "データベース接続はレイヤー %d に定義されていません"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "値0も抽出対象にする"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "値0も抽出対象にする"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "列 <%s> がありません"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "3Dポイントとしてベクトルポイントを作成する"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "OGRベクトルレイヤーをGRASSベクトルマップに変換します."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "キーカラム"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld カテゴリー"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "キーカラム"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "キーカラム"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "列を追加するレイヤー"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "列を追加するレイヤー"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "列を追加するレイヤー"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "列は数字でなくてはいけません"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "カラー定義列の名前 ( -a フラッグとの使用)  "
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "色を読み込めません"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "z データに指定する縮尺"
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "z データに指定する縮尺"
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "インポートをこの領域に限定します"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "テーブル"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -39590,7 +41052,7 @@ msgstr "フィーチャーを選択中、、、"
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> 不正なポイント数"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "少なくとも一つのオプションを %s から選択してください"
@@ -39906,50 +41368,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "Auxiliarテーブルはドロップできませんでした"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "ベクトルマップ <%s> を開けません"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "ドライバー <%s> でデータベース <%s> を開けません"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "OGRベクトルレイヤーをGRASSベクトルマップに変換します."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "小領域"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "キーカラム"
 
-#: ../vector/v.in.lidar/main.c:606
-#, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "ドライバー <%s> でデータベース <%s> を開けません"
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "列を追加するレイヤー"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "低密度ポイントの入力ベクトルマップ名  "
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "���"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "整数データをインポート"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "相関 "
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "整数データをインポート"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "ポイントをインポート中、、、"
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> 不正なポイント数"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "指定したベクトルマップは接点を含む"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "シードポイント座標"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "出力をstdoutに出力します, 属性テ-ブルは更新しないでください  "
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "キーカラム"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
+msgstr "ポイントをインポート中、、、"
+
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
 msgstr "ポイントをインポート中、、、"
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu points imported (limit was %llu)"
 msgstr "タイトル"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "タイトル"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "タイトル"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "タイトル"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr "%d のポイントが閾値外"
+
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d のポイントが閾値外"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:795
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr "%d のポイントが閾値外"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:798
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped by count-based decimation"
 msgstr "%d のポイントが閾値外"
 
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "最後の %d ポイントは無視されます"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40117,7 +41766,7 @@ msgstr "誤ったベクトルフィーチャーが書き込まれているベク
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "トポロジーまたはダンプトポロジーまたは空間インデックスをstdoutに作成します  "
 
@@ -41172,11 +42821,6 @@ msgstr "インバースマトリックスを計算できません"
 msgid "Resolving conflicts..."
 msgstr "コンフリクトを解決しています"
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "���%s ..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -41349,57 +42993,57 @@ msgstr "ベクトルに基づく一般化"
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr "属性は'where'オプションに必要とされます, テーブルをコピーしています"
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "一般化 (%s)..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "分解能を使用する [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr "フォント '%s' はFreeType フォントではありません"
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr "メソッド '%s' は前回のポイントを保存していません"
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr "メソッド '%s' は前回のポイントを保存していません"
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr "地形を破損する可能性があるため,%d の境界が切り詰められませんでした"
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr "%d ライン/境界線は過度な簡素化のため変更されていません"
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, fuzzy, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr "選択したライン %s の頂点の数は %d から %d [%d%%] に減少されました"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr "減少"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr "変更"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "レイヤー %d  "
@@ -41448,74 +43092,6 @@ msgstr "レイヤー %d  "
 #~ msgid "Number of quartals to use"
 #~ msgstr "区画数"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "フリクションコストを含む入力ラスターマップ名 "
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "フリクションコストを含む入力ラスターマップ名 "
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "拡散放射輝度 [W.m-2] (モード 1) または 照射ラスタ-マップ [Wh.m-2.day-1] "
-#~ "(モード 2) を出力"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "地表反射放射輝度 [W.m-2] (モード 1) または 照射ラスタ-マップ [Wh.m-2."
-#~ "day-1] (モード 2) を出力"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "合計放射輝度 [W.m-2] (モード 1)または放射輝度/照射ラスタ-マップ [Wh.m-2."
-#~ "day-1] (モード 2) を出力"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "入力するファイル"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "入力するファイル"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "地表反射放射輝度 [W.m-2] (モード 1) または 照射ラスタ-マップ [Wh.m-2."
-#~ "day-1] (モード 2) を出力"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "合計放射輝度 [W.m-2] (モード 1)または放射輝度/照射ラスタ-マップ [Wh.m-2."
-#~ "day-1] (モード 2) を出力"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "補間に用いるポイント数"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "現在のロケーションの投影法を使用"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "ロケーション: %s\n"
 
@@ -41532,31 +43108,41 @@ msgstr "レイヤー %d  "
 #~ "\n"
 #~ "%d クラス, %.2f%% 安定ポイント\n"
 
+#~ msgid "Subregion"
+#~ msgstr "小領域"
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "カテゴリーが増加"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "オプション <%s>: <%s> が存在します"
-
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "出力するファイル"
+#~ msgid "Could not rewind input file"
+#~ msgstr "出力ファイル <%s> を開けませんでした"
 
-#, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "出力トポグラフィーのインデックスマップ"
+#~ msgid "SVN Addons repository URL"
+#~ msgstr "SVN アドオンリポジトリURL"
 
 #, fuzzy
 #~ msgid "Name for basins raster map"
 #~ msgstr "基本ラスターマップ名"
 
+#, fuzzy
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "出力するファイル"
+
+#, fuzzy
+#~ msgid "output map <%s> exists"
+#~ msgstr "出力するファイル"
+
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "ページの長さ (デフォルト: %d ライン)"
 
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "ページ幅 (デフォルト: %d 文字)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "現在のロケーションの投影法を使用"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.in.gdal to override this check and use the "
@@ -41580,6 +43166,12 @@ msgstr "レイヤー %d  "
 #~ msgid "[%s] not found"
 #~ msgstr "[%s]が見つかりません "
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "オプション <%s>: <%s> が存在します"
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "データセット投影を再定義します (現在のロケーションの投影法を使用)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -41596,6 +43188,14 @@ msgstr "レイヤー %d  "
 #~ "このチェックをオーバーライドしデータセットにロケーション定義を使用するた"
 #~ "め r.external への -o フラッグ 使用が可能です.\n"
 
+#, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "エラー 2029 "
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "エラー 2029 "
+
 #~ msgid "Location name (not location path)"
 #~ msgstr "新しいロケーション名 (ロケーションパスではありません)  "
 
@@ -41605,6 +43205,21 @@ msgstr "レイヤー %d  "
 #~ "新しいGISDBASE (新しいロケーションのあるディレクトリーへのフルパス)  "
 
 #, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "投影をセットすることが出来ません"
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "現在のマップセット内のすべての前のGRASS < Ver5.7 ベクトルマップ を現在の"
+#~ "フォーマットに変換する"
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "フィールドセパレーターの出力"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "ベクトルマップのメタデータを更新"
 
@@ -41640,155 +43255,68 @@ msgstr "レイヤー %d  "
 #~ msgid "No default DB driver defined"
 #~ msgstr "既定のドライバーが設定されていません"
 
-#, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "フィールドセパレーターの出力"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "出力するファイル"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "現在のマップセット内のすべての前のGRASS < Ver5.7 ベクトルマップ を現在の"
-#~ "フォーマットに変換する"
+#~ msgid "OGR datasource name"
+#~ msgstr "OGRデータソース名 "
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "マップ名が与えられていません"
 
-#~ msgid "Renaming reclass maps"
-#~ msgstr "リクラスマップ名を変更しています"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "グループ <%s> のサブグループ<%s> のREFファイルが読み取れません"
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "カテゴリー %d がテーブル <%s> からロードされました"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "入力するファイル"
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "エラー 2029 "
-
-#, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "入力= そしてソース= は相互排他的です"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "z 列を指定して下さい"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "入力するファイル"
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "入力= そしてソース= は相互排他的です"
-
 #, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "入力= そしてソース= は相互排他的です"
-
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "ウェート= と -c は相互に排他的です"
-
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "weight= と gauss= オプションは同時には使えません"
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "���� ����"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "入力= そしてソース= は相互排他的です"
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "入力= そしてソース= は相互排他的です"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "z 列を指定して下さい"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "ファイルが作成できません <%s>"
 
 #, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "z 列を指定して下さい"
+#~ msgid "Starting monitor <%s> with env file '%s'"
+#~ msgstr "マップ名前を <%s> をオーバーライドする <%s> に設定しています"
 
 #, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "入力= そしてソース= は相互排他的です"
+#~ msgid "Env file not found"
+#~ msgstr "3Dビューファイル <%s> は見つかりませんでした"
 
 #, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "入力= そしてソース= は相互排他的です"
+#~ msgid "PID file not found"
+#~ msgstr "ファイル %s が見つかりません"
 
 #, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "z 列を指定して下さい"
+#~ msgid "Command file not found"
+#~ msgstr "列 <%s> がありません"
 
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "z 列を指定して下さい"
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "エラー 2029 "
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "エラー 2029 "
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "エラー 2029 "
+#~ msgid "Renaming reclass maps"
+#~ msgstr "リクラスマップ名を変更しています"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "エラー 2029 "
+#~ msgid "Name for output image"
+#~ msgstr "出力するファイル"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "入力するファイル"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "グループ <%s> のサブグループ<%s> のREFファイルが読み取れません"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr "入力するファイル"
-
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "標準色名またはR:G:B tripletのいずれか"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "カテゴリー %d がテーブル <%s> からロードされました"
 
 #~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
+#~ "Correction of the v.lidar.growing output. It is the last of the three "
+#~ "algorithms for LIDAR filtering."
 #~ msgstr ""
-#~ "グラフィックモニターで作動中のフレームにおける主題ベクトルエリアマップを表"
-#~ "示  "
+#~ "増えるv.lidar.出力の修正. LIDARフィルタリングの3つのアルゴリズムの最後で"
+#~ "す.  "
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "テキストの色 "
+#~ msgid "Interpolation spline step value in east direction"
+#~ msgstr "東方向における補間スプラインステップ値"
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "グリッドのカラー, または \"なし\""
+#~ msgid "Interpolation spline step value in north direction"
+#~ msgstr "北方向における補間スプラインステップ値"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "出力ラスターマップ名"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "出力するファイル"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "マップ群中の離散化誤差"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "最大スポッティング距離も作成する"
 
 #~ msgid "Displays thematic vector map"
 #~ msgstr "主題ベクトルマップを表示"
@@ -41896,39 +43424,82 @@ msgstr "レイヤー %d  "
 #~ msgstr "凡例の数学表記角括弧を使用"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "出力するファイル"
+#~ msgid "Name of output basename raster map(s)"
+#~ msgstr "出力ラスターマップ名"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "最大スポッティング距離も作成する"
+#~ msgid "Default: input"
+#~ msgstr "マップ群中の離散化誤差"
+
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr ""
+#~ "グラフィックモニターで作動中のフレームにおける主題ベクトルエリアマップを表"
+#~ "示  "
+
+#~ msgid "Text color or \"none\""
+#~ msgstr "テキストカラーまたは \"none\""
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "表示"
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "テキストの色 "
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "グリッドのカラー, または \"なし\""
+
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "標準色名またはR:G:B tripletのいずれか"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "ライン"
 
 #, fuzzy
 #~ msgid ""
 #~ "Allows creation and/or modification of raster3d map layer support files."
 #~ msgstr "ラスターマップレイヤーをサポートするファイルの作成(更新)を許可 "
 
-#, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "ベクトルマップを読み込めません"
+#~ msgid "Failed opening input dig file."
+#~ msgstr "指定されたdigファイルを開けません"
 
-#, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "表を作成できません: %s"
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "dig_att ファイルがありません"
 
-#, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "メモリーが足りません"
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "指定された dig_att ファイルを開けません"
 
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "OLD_T_NEW は不正な型のコードを取得しました [%x]  "
+#~ msgid "Attaching categories..."
+#~ msgstr "カテゴリーを添付中、、、"
 
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "NEW_T_OLD は不正な型のコードを取得しました [%x]  "
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "ラインへの属性(カテゴリー %d)の添付に失敗"
+
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "ライン %d ラベル: %d は別のラベル %d に適合"
+
+#~ msgid "Writing new file..."
+#~ msgstr "新しいファイルを書き込み中、、、"
+
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "[%d] のポイントとラインが出力ファイルに書き込まれました"
+
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "[%d] のセントロイドが出力ファイルに書き込まれました"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "旧バージョンのGRASSベクトルマップをインポート"
+
+#~ msgid "Endian of input vector map"
+#~ msgstr "入力するベクトルマップのエンディアン"
+
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr ""
+#~ "カテゴリーラベル (dig_cats) がありません.テーブルは作成されませんでした"
+
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "dig_cats ファイルを開けません"
 
 #~ msgid "Reading dig file..."
 #~ msgstr "dig ファイルを読み込み中、、、"
@@ -42012,184 +43583,39 @@ msgstr "レイヤー %d  "
 #~ msgid "[%d] categories read into memory"
 #~ msgstr "[%d] のカテゴリーをメモリに読み込む"
 
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr ""
-#~ "カテゴリーラベル (dig_cats) がありません.テーブルは作成されませんでした"
-
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "dig_cats ファイルを開けません"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "指定されたdigファイルを開けません"
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "dig_att ファイルがありません"
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "指定された dig_att ファイルを開けません"
-
-#~ msgid "Attaching categories..."
-#~ msgstr "カテゴリーを添付中、、、"
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "ラインへの属性(カテゴリー %d)の添付に失敗"
-
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "ライン %d ラベル: %d は別のラベル %d に適合"
-
-#~ msgid "Writing new file..."
-#~ msgstr "新しいファイルを書き込み中、、、"
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "[%d] のポイントとラインが出力ファイルに書き込まれました"
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "[%d] のセントロイドが出力ファイルに書き込まれました"
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "旧バージョンのGRASSベクトルマップをインポート"
-
-#~ msgid "Endian of input vector map"
-#~ msgstr "入力するベクトルマップのエンディアン"
-
-#~ msgid "Interpolation spline step value in east direction"
-#~ msgstr "東方向における補間スプラインステップ値"
-
-#~ msgid "Interpolation spline step value in north direction"
-#~ msgstr "北方向における補間スプラインステップ値"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "不明なラスターマップのタイプ"
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "キャッシュサイズ (MiB)"
-
-#~ msgid "Can't call bad function"
-#~ msgstr "不正な関数を呼び出せません"
-
-#~ msgid "Bad arguments to pointfunc %s"
-#~ msgstr "pointfunc 内の不正な変数 %s"
-
-#~ msgid "No function defined to perform ``point %c point''"
-#~ msgstr "計算する関数の指定がありません ``ポイント %c ポイントt''  "
-
-#~ msgid "Performing 1 arg map function on map %s"
-#~ msgstr "マップ %s の 1変数マップ関数を実行"
-
-#~ msgid "Performing 2 arg map function on maps %s and %s"
-#~ msgstr "マップ %s と %s  の 2変数マップ 関数を実行"
-
-#~ msgid "Performing map %s + %s"
-#~ msgstr "マップ %s + %s を実行"
-
-#~ msgid "Can't call bad map-function"
-#~ msgstr "不正な map-function を呼び出せません"
-
-#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
-#~ msgstr "mapfunc %s 中の不正な変数 (argc = %d)  "
-
-#~ msgid "No function defined to perform map %c map"
-#~ msgstr " マップ %c マップ を実行する関数が指定されていません"
-
-#~ msgid "Can't call bad num-function"
-#~ msgstr "不正な num-function を呼び出せません"
-
-#~ msgid "Bad arguments to numfunc %s"
-#~ msgstr "numfunc の不正な変数 %s"
-
-#~ msgid "No function defined to perform ``number %c number''"
-#~ msgstr "計算する関数の指定がありません ``数値 %c 数値''  "
-
-#~ msgid "Can't call bad any-function"
-#~ msgstr "不正な any-function を呼び出せません"
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "OLD_T_NEW は不正な型のコードを取得しました [%x]  "
 
-#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
-#~ msgstr "anyfunc %s 中の不正な変数 (argc = %d)  "
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "NEW_T_OLD は不正な型のコードを取得しました [%x]  "
 
 #~ msgid "One or more coordinates"
 #~ msgstr "1つまたはそれ以上の座標"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "adx  に 割り当てるメモリが足りません"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "ady  に 割り当てるメモリが足りません"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "adxx  に 割り当てるメモリが足りません"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "adyy  に 割り当てるメモリが足りません"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "adxy  に 割り当てるメモリが足りません"
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "quaddata を作成できません"
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "quadfunc を作成できません"
-
-#~ msgid "Cannot create tree"
-#~ msgstr "ツリーを作成できません"
-
-#~ msgid "Cannot create tree info"
-#~ msgstr "ツリー情報を作成できません"
-
-#~ msgid "sites"
-#~ msgstr "サイト"
-
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "GRASS site_lists ファイルをベクトルマップに変換します"
-
-#~ msgid "Site file <%s> not found"
-#~ msgstr "サイトファイル <%s> は見つかりませんでした"
-
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "site_list フォーマットを推測できません"
-
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "サイト構造を割り当てられませんでした"
-
-#~ msgid "Input format: dimension: %d strings: %d FP: %d"
-#~ msgstr "入力フォーマット: ディメンション: %d ストリング: %d FP: %d  "
-
-#~ msgid ""
-#~ "Floating point category values, using sequential integer for category"
-#~ msgstr "浮動小数点かエゴリー値, カテゴリーに一連の整数型を使用  "
-
-#~ msgid "No category values, using sequential integer for category"
-#~ msgstr "カテゴリー値がありません, カテゴリーに逐次整数を使用します"
-
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "サイトをベクトルポイントマップに転送しています "
+#~ msgid "Name of elevation map"
+#~ msgstr "標高マップ名"
 
-#~ msgid "%d sites written."
-#~ msgstr "%d サイトが書き込まれました.  "
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "データのないセルに代入する記号"
 
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "照度で使用するレイヤー名"
+#, fuzzy
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "入力するファイル"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "彩度で使用するレイヤー名"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "不明なメトリック: [%s]  "
 
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "US-NGA GEOnet Names Server (GNS) カントリーファイルをGRASSベクトルポイント"
-#~ "マップへインポート"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr " <%s> のカテゴリーファイルを読み込めません"
 
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "NGAから圧縮されていないGNSファイル (.txt 拡張子)  "
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "エラー: 色ファイル <%s> が読み込めません"
 
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "標高のラスターマップ名"
+#~ msgid "String representing no data cell value"
+#~ msgstr "データのないセルに代入する記号 "
 
-#~ msgid "Table file to be exported or DB connection string"
-#~ msgstr "エクスポートされるかDB接続ストリングするテーブルファイル"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "ラスターマップの曲面補間ユーティリティー"
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -42203,15 +43629,18 @@ msgstr "レイヤー %d  "
 #~ "cell values represent friction cost."
 #~ msgstr "累積コストを表すラスターマップを作成します "
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "照度で使用するレイヤー名"
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "彩度で使用するレイヤー名"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "緑色で使用するレイヤー名"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "青色で使用するレイヤー名"
 
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "ラスターマップの曲面補間ユーティリティー"
-
 #~ msgid "Surface generation program."
 #~ msgstr "曲面生成プログラム"
 
@@ -42233,49 +43662,15 @@ msgstr "レイヤー %d  "
 #~ msgstr[0] "ラスターマップ <%s>... %d 行を補完中... "
 #~ msgstr[1] "ラスターマップ <%s>... %d 行を補完中... "
 
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "緯度/経度投影はこの時点ではサポートされていません.  "
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "フォント"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "ガンマ"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "標高マップ名"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "データのないセルに代入する記号"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr "入力するファイル"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "入力するファイル"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "不明なメトリック: [%s]  "
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr " <%s> のカテゴリーファイルを読み込めません"
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "エラー: 色ファイル <%s> が読み込めません"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "データのないセルに代入する記号 "
-
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "標高を出力するファイル "
 
 #~ msgid "Output aspect map (or fy)"
 #~ msgstr "出力方位マップ (または fy)  "
 
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "緯度/経度投影はこの時点ではサポートされていません.  "
+
 #~ msgid "Prefix for output raster map(s)"
 #~ msgstr "出力するラスターマップ のプレフィックス"
 
@@ -42305,13 +43700,23 @@ msgstr "レイヤー %d  "
 #~ msgid "Suppress warnings"
 #~ msgstr "警告(通知)を止める"
 
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
+#~ msgstr ""
+#~ "US-NGA GEOnet Names Server (GNS) カントリーファイルをGRASSベクトルポイント"
+#~ "マップへインポート"
+
 #, fuzzy
-#~ msgid "High resolution panchromatic image"
-#~ msgstr "複数波長と高解像度パンクロチャンネルを統合するBrovey変換"
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "NGAから圧縮されていないGNSファイル (.txt 拡張子)  "
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "ニートライン"
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "標高のラスターマップ名"
+
+#~ msgid "Table file to be exported or DB connection string"
+#~ msgstr "エクスポートされるかDB接続ストリングするテーブルファイル"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -42333,6 +43738,142 @@ msgstr "レイヤー %d  "
 #~ msgstr "出力するラスターマップ (初期値: 入力タイル)"
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr "ラスターマップの非NULLセルから単変量統計を計算します"
+
+#~ msgid "Data to be classified: column name or expression"
+#~ msgstr "分類されるデータ: 列名または表現  "
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "グリッドのカラー, または \"なし\""
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "グリッドのカラー, または \"なし\""
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "不明な情報表示のカラー"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "グリッドのカラー, または \"なし\""
+
+#~ msgid "Create grid of points instead of areas and centroids"
+#~ msgstr "エリアとセントロイドの代わりに格子点を作成"
+
+#, fuzzy
+#~ msgid "Create grid as lines, instead of areas"
+#~ msgstr "エリアとセントロイドの代わりに格子点を作成"
+
+#~ msgid "Invalid distance"
+#~ msgstr "無効な距離"
+
+#~ msgid "Layer number"
+#~ msgstr "レイヤー数"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "フォント"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "ガンマ"
+
+#, fuzzy
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "入力= そしてソース= は相互排他的です"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "z 列を指定して下さい"
+
+#, fuzzy
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "エラー 2029 "
+
+#, fuzzy
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "エラー 2029 "
+
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "���� ����"
+
+#, fuzzy
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr "入力= そしてソース= は相互排他的です"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "入力するファイル"
+
+#, fuzzy
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "入力= そしてソース= は相互排他的です"
+
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "入力= そしてソース= は相互排他的です"
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "z 列を指定して下さい"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "z 列を指定して下さい"
+
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "入力= そしてソース= は相互排他的です"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "z 列を指定して下さい"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "z 列を指定して下さい"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "表示"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "入力するファイル"
+
+#, fuzzy
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "エラー 2029 "
+
+#, fuzzy
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr "入力= そしてソース= は相互排他的です"
+
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr "ウェート= と -c は相互に排他的です"
+
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "weight= と gauss= オプションは同時には使えません"
+
+#, fuzzy
+#~ msgid "High resolution panchromatic image"
+#~ msgstr "複数波長と高解像度パンクロチャンネルを統合するBrovey変換"
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "ニートライン"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "入力ラスターマップ名"
 
@@ -42348,30 +43889,138 @@ msgstr "レイヤー %d  "
 #~ msgid "No maps output"
 #~ msgstr "出力マップがありません"
 
-#, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr "ラスターマップの非NULLセルから単変量統計を計算します"
-
-#~ msgid "Data to be classified: column name or expression"
-#~ msgstr "分類されるデータ: 列名または表現  "
-
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "グリッドまたは \"none\" を描くカラー"
 
 #~ msgid "Gather the histogram quietly"
 #~ msgstr "ヒストグラムを集合させます"
 
-#~ msgid "Create grid of points instead of areas and centroids"
-#~ msgstr "エリアとセントロイドの代わりに格子点を作成"
+#~ msgid "Not enough memory for adx"
+#~ msgstr "adx  に 割り当てるメモリが足りません"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "ady  に 割り当てるメモリが足りません"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "adxx  に 割り当てるメモリが足りません"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "adyy  に 割り当てるメモリが足りません"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "adxy  に 割り当てるメモリが足りません"
+
+#~ msgid "Cannot create quaddata"
+#~ msgstr "quaddata を作成できません"
+
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "quadfunc を作成できません"
+
+#~ msgid "Cannot create tree"
+#~ msgstr "ツリーを作成できません"
+
+#~ msgid "Cannot create tree info"
+#~ msgstr "ツリー情報を作成できません"
 
 #, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "エリアとセントロイドの代わりに格子点を作成"
+#~ msgid "Unable To create table: %s"
+#~ msgstr "表を作成できません: %s"
 
-#~ msgid "Invalid distance"
-#~ msgstr "無効な距離"
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "メモリーが足りません"
 
-#~ msgid "Layer number"
-#~ msgstr "レイヤー数"
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "エラー 2029 "
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "入力するファイル"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr "入力するファイル"
+
+#~ msgid "sites"
+#~ msgstr "サイト"
+
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "GRASS site_lists ファイルをベクトルマップに変換します"
+
+#~ msgid "Site file <%s> not found"
+#~ msgstr "サイトファイル <%s> は見つかりませんでした"
+
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "site_list フォーマットを推測できません"
+
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "サイト構造を割り当てられませんでした"
+
+#~ msgid "Input format: dimension: %d strings: %d FP: %d"
+#~ msgstr "入力フォーマット: ディメンション: %d ストリング: %d FP: %d  "
+
+#~ msgid ""
+#~ "Floating point category values, using sequential integer for category"
+#~ msgstr "浮動小数点かエゴリー値, カテゴリーに一連の整数型を使用  "
+
+#~ msgid "No category values, using sequential integer for category"
+#~ msgstr "カテゴリー値がありません, カテゴリーに逐次整数を使用します"
+
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "サイトをベクトルポイントマップに転送しています "
+
+#~ msgid "%d sites written."
+#~ msgstr "%d サイトが書き込まれました.  "
+
+#~ msgid "Performing 1 arg map function on map %s"
+#~ msgstr "マップ %s の 1変数マップ関数を実行"
+
+#~ msgid "Performing 2 arg map function on maps %s and %s"
+#~ msgstr "マップ %s と %s  の 2変数マップ 関数を実行"
+
+#~ msgid "Performing map %s + %s"
+#~ msgstr "マップ %s + %s を実行"
+
+#~ msgid "Can't call bad map-function"
+#~ msgstr "不正な map-function を呼び出せません"
+
+#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
+#~ msgstr "mapfunc %s 中の不正な変数 (argc = %d)  "
+
+#~ msgid "No function defined to perform map %c map"
+#~ msgstr " マップ %c マップ を実行する関数が指定されていません"
+
+#~ msgid "Can't call bad num-function"
+#~ msgstr "不正な num-function を呼び出せません"
+
+#~ msgid "Bad arguments to numfunc %s"
+#~ msgstr "numfunc の不正な変数 %s"
+
+#~ msgid "No function defined to perform ``number %c number''"
+#~ msgstr "計算する関数の指定がありません ``数値 %c 数値''  "
+
+#~ msgid "No function defined to perform ``point %c point''"
+#~ msgstr "計算する関数の指定がありません ``ポイント %c ポイントt''  "
+
+#~ msgid "Can't call bad any-function"
+#~ msgstr "不正な any-function を呼び出せません"
+
+#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
+#~ msgstr "anyfunc %s 中の不正な変数 (argc = %d)  "
+
+#~ msgid "Can't call bad function"
+#~ msgstr "不正な関数を呼び出せません"
+
+#~ msgid "Bad arguments to pointfunc %s"
+#~ msgstr "pointfunc 内の不正な変数 %s"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "ベクトルマップを読み込めません"
+
+#~ msgid "Cache size (MiB)"
+#~ msgstr "キャッシュサイズ (MiB)"
+
+#~ msgid "Unknown raster map type"
+#~ msgstr "不明なラスターマップのタイプ"
diff --git a/locale/po/grassmods_ko.po b/locale/po/grassmods_ko.po
index 64863c3..d365ff9 100644
--- a/locale/po/grassmods_ko.po
+++ b/locale/po/grassmods_ko.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_ko\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2005-08-09 22:53-0500\n"
 "Last-Translator: Huidae Cho <grass4u at gmail.com>\n"
 "Language-Team: Korean <grass-translations at lists.osgeo.org>\n"
@@ -20,10 +20,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -41,6 +41,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -67,12 +68,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr "그래픽스"
 
@@ -114,7 +116,7 @@ msgstr ""
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -122,14 +124,16 @@ msgid "Color file for <%s> not available"
 msgstr ""
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -148,7 +152,9 @@ msgstr ""
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -169,7 +175,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -181,7 +187,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -205,17 +211,17 @@ msgstr ""
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -226,7 +232,7 @@ msgstr ""
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -374,10 +380,13 @@ msgstr "출력할 격자지도"
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "입력"
 
@@ -423,21 +432,23 @@ msgstr "부분집합"
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "문자색상"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 msgid "Font settings"
 msgstr "글꼴설정"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "글꼴이름"
 
@@ -450,11 +461,13 @@ msgstr "글꼴크기"
 msgid "Default: Auto-scaled"
 msgstr "기본값: 자동축척"
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "글꼴파일의 경로"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -546,14 +559,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -595,11 +614,11 @@ msgstr ""
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -678,23 +697,26 @@ msgstr "출력할 격자지도"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -704,14 +726,19 @@ msgstr "출력할 격자지도"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -760,49 +787,50 @@ msgstr "출력할 격자지도"
 msgid "[%s]: No such color"
 msgstr ""
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 #, fuzzy
 msgid "monitors"
 msgstr "출력할 격자지도"
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "출력할 격자지도"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr ""
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -810,31 +838,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -844,10 +873,10 @@ msgstr ""
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -861,7 +890,7 @@ msgstr ""
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "출력할 격자지도"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -884,7 +913,7 @@ msgstr ""
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr ""
 
@@ -924,7 +953,12 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "출력할 격자지도"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -932,20 +966,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -960,40 +996,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "출력할 격자지도"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 msgid "distance"
 msgstr ""
@@ -1016,10 +1052,6 @@ msgstr ""
 msgid "Line color"
 msgstr ""
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr ""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1077,12 +1109,15 @@ msgstr ""
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1101,17 +1136,18 @@ msgstr ""
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1124,10 +1160,10 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1135,21 +1171,22 @@ msgstr ""
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "벡터"
 
@@ -1194,16 +1231,18 @@ msgstr "출력할 격자지도"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1215,22 +1254,22 @@ msgstr "출력할 격자지도"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1281,10 +1320,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1335,38 +1374,38 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "출력할 격자지도"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 msgid "Align grids with raster cells"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1375,7 +1414,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1383,7 +1422,7 @@ msgstr[0] "출력할 격자지도"
 msgstr[1] "출력할 격자지도"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1391,69 +1430,69 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 msgid "Color for drawing drawing grid"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 msgid "Color for drawing null values (X symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "출력할 격자지도"
@@ -1572,24 +1611,24 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 msgid "network"
 msgstr ""
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1598,50 +1637,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr ""
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr ""
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1663,11 +1702,11 @@ msgstr ""
 msgid "Background color"
 msgstr ""
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1687,7 +1726,7 @@ msgstr ""
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1712,7 +1751,7 @@ msgstr "출력할 격자지도"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1720,7 +1759,7 @@ msgstr "출력할 격자지도"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2070,7 +2109,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2087,15 +2126,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr ""
@@ -2337,12 +2376,13 @@ msgstr "출력할 격자지도"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2409,15 +2449,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 
@@ -2439,11 +2479,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "출력할 격자지도"
@@ -2638,7 +2679,7 @@ msgstr ""
 msgid "Colorize features according color definition column"
 msgstr "출력할 격자지도"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "출력할 격자지도"
@@ -2922,41 +2963,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
+msgid "Starting monitor <%s>..."
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/start.c:163
-#, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "출력할 격자지도"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, fuzzy, c-format
+msgid "Unable to create file <%s>"
+msgstr "출력할 격자지도"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -2968,32 +3016,51 @@ msgstr "출력할 격자지도"
 msgid "Monitor <%s> is not running"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, fuzzy, c-format
+msgid "Unable to open file <%s>"
+msgstr "출력할 격자지도"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "출력할 격자지도"
+
+#: ../display/d.mon/list.c:80
 msgid "List of running monitors:"
 msgstr ""
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
 msgstr "출력할 격자지도"
 
 #: ../display/d.mon/main.c:41
@@ -3006,8 +3073,8 @@ msgid "Name of monitor to start"
 msgstr "출력할 격자지도"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3031,9 +3098,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3112,12 +3180,12 @@ msgid "List running monitors and exit"
 msgstr ""
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3130,33 +3198,34 @@ msgstr ""
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "출력"
 
@@ -3168,58 +3237,76 @@ msgstr ""
 msgid "Print commands for currently selected monitor and exit"
 msgstr ""
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "출력할 격자지도"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr "-%c 플래그를 무시합니다"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr ""
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr ""
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "출력할 격자지도"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, c-format
 msgid "Option <%s> ignored"
@@ -3270,7 +3357,7 @@ msgid "No map name given"
 msgstr ""
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "출력할 격자지도"
@@ -3398,9 +3485,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "출력할 격자지도"
@@ -3448,9 +3535,9 @@ msgstr "출력할 격자지도"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr ""
 
@@ -3463,11 +3550,11 @@ msgstr ""
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr ""
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr ""
 
@@ -3475,7 +3562,7 @@ msgstr ""
 msgid "Describe query only (don't run it)"
 msgstr ""
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr ""
 
@@ -3508,7 +3595,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 msgid "database"
 msgstr ""
@@ -3539,7 +3626,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3551,7 +3638,7 @@ msgstr "출력할 격자지도"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3686,8 +3773,8 @@ msgstr "출력할 격자지도"
 msgid "Unable to create index:"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "출력할 격자지도"
@@ -3758,7 +3845,7 @@ msgstr "출력할 격자지도"
 msgid "Unable to allocate handle."
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3795,7 +3882,7 @@ msgstr "출력할 격자지도"
 msgid "Unable to select view names."
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3834,12 +3921,12 @@ msgstr ""
 msgid "No path given"
 msgstr ""
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "출력할 격자지도"
@@ -3887,30 +3974,30 @@ msgid "Taken not found"
 msgstr "출력할 격자지도"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 #, fuzzy
 msgid "Unable to create index"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "출력할 격자지도"
@@ -3951,6 +4038,11 @@ msgid ""
 "(true)"
 msgstr ""
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "출력할 격자지도"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr ""
@@ -4034,7 +4126,8 @@ msgstr "출력할 격자지도"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4116,22 +4209,22 @@ msgstr "출력할 격자지도"
 msgid "Unable to open database:"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "출력할 격자지도"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "출력할 격자지도"
@@ -4146,6 +4239,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr ""
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "출력할 격자지도"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4390,10 +4488,10 @@ msgstr "출력할 격자지도"
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, fuzzy, c-format
 msgid "Unable to describe table <%s>"
@@ -4413,27 +4511,39 @@ msgstr "출력할 격자지도"
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "출력할 격자지도"
+msgid "Username"
+msgstr "이름변경"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
+msgid "Password"
+msgstr ""
+
+#: ../db/db.login/main.c:75
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "출력할 격자지도"
+msgid "Hostname"
+msgstr "글꼴이름"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "출력할 격자지도"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 #, fuzzy
 msgid "Unable to set user/password"
 msgstr "출력할 격자지도"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr ""
@@ -4702,6 +4812,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4712,10 +4823,11 @@ msgstr ""
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "출력할 격자지도"
@@ -4787,19 +4899,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, fuzzy, c-format
-msgid "Unable to open file <%s>"
-msgstr "출력할 격자지도"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5064,7 +5163,7 @@ msgstr "출력할 격자지도"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5724,7 +5823,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5737,12 +5836,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "일반"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -5844,7 +5944,17 @@ msgstr "%s=%s,%s: 파일이 똑같아서 복사할 필요가 없습니다"
 msgid "<%s> already exists"
 msgstr "<%s>가 이미 존재합니다"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "출력할 격자지도"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "출력할 격자지도"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -5852,7 +5962,7 @@ msgstr "<%s>가 이미 존재합니다"
 msgid "list"
 msgstr "목록"
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
@@ -5860,150 +5970,123 @@ msgstr ""
 "선택적인 검색패턴을 이용해서 사용자가 지정한 자료형의 유효한 GRASS 데이타베이"
 "스 파일을 나열합니다."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr "지도이름 검색패턴 (기본값: 모두)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr "패턴"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr "지도이름 제외패턴 (기본값: 없음)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 msgid "Name of mapset to list (default: current search path)"
 msgstr "나열할 지도세트의 이름 (기본값: 현재 검색경로)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr "현재 지도세트 '.'; 로케이션 안의 모든 지도세트 '*'"
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "출력할 격자지도"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "현재 지도세트 '.'; 로케이션 안의 모든 지도세트 '*'"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "출력파일 이름"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 msgid "If not given or '-' then standard output"
 msgstr "지정하지 않거나 '-'이면 표준출력"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "와일드카드 대신 기본 정규표현식을 사용합니다"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "와일드카드 대신 확장 정규표현식을 사용합니다"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "자료형을 출력합니다"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr "지도세트를 포함한 완전한 지도이름을 출력합니다"
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr "사람이 읽기 쉬운 양식으로 출력합니다"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "지도제목을 포함한 상세목록을 나열합니다"
 
-#: ../general/g.list/main.c:182
-#, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "-%c/-%c와 %s=를 같이 지정할 수 없습니다"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "-%c/-%c와 -%c를 같이 지정할 수 없습니다"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "-%c와 -%c를 같이 지정할 수 없습니다"
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "패턴 <%s>를 컴파일하지 못 했습니다"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "출력할 격자지도"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "출력할 격자지도"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "출력할 격자지도"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6221,9 +6304,9 @@ msgstr ""
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr ""
@@ -6246,7 +6329,7 @@ msgstr ""
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr ""
@@ -6523,38 +6606,38 @@ msgstr "출력할 격자지도"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6690,7 +6773,7 @@ msgstr "추가/삭제 또는 설정하고 싶은 존재하는 지도세트의 
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 #, fuzzy
 msgid "Operation to be performed"
@@ -7133,7 +7216,7 @@ msgstr "출력할 격자지도"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7329,40 +7412,61 @@ msgid "command line interface with GUI startup screen"
 msgstr "명령줄 인터페이스에만 적용"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
 msgstr "시작할 때 읽어 들일 작업공간 파일의 이름"
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
+msgstr ""
+
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr "기본 사용자설정을 갱신합니다"
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr "기본값"
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr "기본 사용자설정을 갱신한 뒤에는 GUI를 시작하지 마세요"
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr "<%s>가 이제 기본 GUI입니다"
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
+#, fuzzy, c-format
+msgid "Launching <%s> GUI, please wait..."
+msgstr "<%s> GUI를 배경프로세스에서 시작합니다. 기다려주세요..."
+
+#: ../general/g.gui/main.c:122
 #, c-format
 msgid "Launching <%s> GUI in the background, please wait..."
 msgstr "<%s> GUI를 배경프로세스에서 시작합니다. 기다려주세요..."
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
-msgstr ""
-
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
 msgid "have"
 msgstr "가질 것입니다"
@@ -7564,8 +7668,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7601,9 +7705,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr ""
@@ -7758,10 +7862,12 @@ msgstr "출력할 격자지도"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -7777,10 +7883,14 @@ msgstr "출력할 격자지도"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -7812,10 +7922,12 @@ msgstr "위상"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -7831,10 +7943,14 @@ msgstr "위상"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -7933,8 +8049,8 @@ msgstr ""
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr "내보내기"
 
@@ -7974,7 +8090,7 @@ msgstr "출력할 격자지도"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8003,15 +8119,16 @@ msgstr ""
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 msgid "import"
 msgstr "들여오기"
 
@@ -8154,7 +8271,7 @@ msgstr "출력할 격자지도"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8163,6 +8280,105 @@ msgstr ""
 msgid "inputs"
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+msgid "algebra"
+msgstr "대수"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8214,20 +8430,12 @@ msgid ""
 "datasets."
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-msgid "algebra"
-msgstr "대수"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8236,11 +8444,13 @@ msgstr "대수"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8248,53 +8458,12 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "출력할 격자지도"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "출력할 격자지도"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8309,7 +8478,8 @@ msgstr "출력할 격자지도"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "출력할 격자지도"
@@ -8533,7 +8703,7 @@ msgstr "출력할 격자지도"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr ""
 
@@ -8646,6 +8816,47 @@ msgstr "출력할 격자지도"
 msgid "Name of attribute column(s) to drop"
 msgstr "출력할 격자지도"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+msgid "Comma separated list of coordinates"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "보고서를 보관할 출력파일의 이름"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+msgid "Output header row"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -8865,7 +9076,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9106,6 +9317,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9174,10 +9386,14 @@ msgid "Extend location extents based on new dataset"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 msgid "Override projection check (use current location's projection)"
 msgstr ""
 
@@ -9185,7 +9401,8 @@ msgstr ""
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "출력할 격자지도"
@@ -9203,21 +9420,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr ""
 
@@ -9240,21 +9457,21 @@ msgid "Name for output raster map"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr ""
@@ -9293,17 +9510,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9401,8 +9618,8 @@ msgid "Remove existing color table"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr ""
@@ -9445,17 +9662,18 @@ msgid ""
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "출력할 격자지도"
@@ -9476,6 +9694,11 @@ msgstr "출력할 격자지도"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9498,10 +9721,15 @@ msgstr "출력할 격자지도"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 msgid "Output"
 msgstr ""
 
@@ -9511,28 +9739,29 @@ msgid "Output vector map extent"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 msgid "Snapping threshold for boundaries (map units)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9548,15 +9777,61 @@ msgid "-1 to list available datum transform parameters"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 msgid "List supported OGR formats and exit"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 msgid "List available OGR layers in data source and exit"
 msgstr ""
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+msgid "Create a new frame if doesn't exist and select"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+msgid "Print names of all frames including 'at' position and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -9713,7 +9988,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -9722,7 +9997,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -9731,7 +10006,7 @@ msgid "geometry"
 msgstr "지형"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -9785,7 +10060,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -9809,15 +10088,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 msgid "Cache size for raster rows"
 msgstr ""
@@ -9874,12 +10153,12 @@ msgid "Optional"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr ""
 
@@ -9970,7 +10249,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -9983,7 +10262,7 @@ msgid "Radius of buffer in raster cells"
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr ""
 
@@ -10013,14 +10292,14 @@ msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10085,6 +10364,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10092,7 +10382,8 @@ msgid ""
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "출력할 격자지도"
@@ -10134,6 +10425,60 @@ msgstr "출력할 격자지도"
 msgid "Name of table to drop"
 msgstr "출력할 격자지도"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+msgid "contour"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "출력할 격자지도"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr ""
@@ -10156,6 +10501,20 @@ msgstr "출력할 격자지도"
 msgid "Name for output table (default: input name)"
 msgstr "출력할 격자지도"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "출력할 격자지도"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10294,6 +10653,61 @@ msgstr "출력할 격자지도"
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "출력할 격자지도"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10305,6 +10719,7 @@ msgid "Vector map to which to join other table"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10314,6 +10729,7 @@ msgid "Layer where to join"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 msgid "column"
 msgstr ""
 
@@ -10390,7 +10806,6 @@ msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -10688,6 +11103,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -10961,12 +11380,6 @@ msgstr "출력할 격자지도"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr ""
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -10977,23 +11390,32 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr ""
 
@@ -11031,74 +11453,90 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
-msgid "List available extensions in the GRASS Addons SVN repository"
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 msgid "Install"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr ""
 
@@ -11118,20 +11556,26 @@ msgid "Description of the space time dataset"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11149,10 +11593,47 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+#, fuzzy
+msgid "search"
+msgstr "검색경로"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "출력할 격자지도"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11267,7 +11748,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
+msgid "Name for output image (or text file for -t)"
 msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
@@ -11284,6 +11765,11 @@ msgstr ""
 msgid "Use gnuplot for display"
 msgstr "출력할 격자지도"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "출력할 격자지도"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 msgid ""
 "Performs different aggregation algorithms from r.series on all or a subset "
@@ -11296,11 +11782,6 @@ msgstr ""
 msgid "series"
 msgstr "계열"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "출력할 격자지도"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11396,6 +11877,7 @@ msgstr "출력할 격자지도"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11411,10 +11893,15 @@ msgstr "출력할 격자지도"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "출력할 격자지도"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11496,10 +11983,6 @@ msgid ""
 "space time raster datasets."
 msgstr "출력할 격자지도"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11517,7 +12000,7 @@ msgstr ""
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12030,7 +12513,7 @@ msgid "radiance"
 msgstr "출력할 격자지도"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12060,8 +12543,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12261,8 +12745,8 @@ msgstr "출력할 격자지도"
 msgid "Calculating..."
 msgstr "출력할 격자지도"
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14282,21 +14766,21 @@ msgstr "출력할 격자지도"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "출력할 격자지도"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 #, fuzzy
 msgid "not found"
@@ -14391,7 +14875,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14519,7 +15003,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -14940,50 +15424,54 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 msgid "albedo"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 msgid "Computes broad band albedo from surface reflectance."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "출력할 격자지도"
@@ -15165,7 +15653,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, fuzzy, c-format
 msgid "Writing raster map <%s>..."
@@ -15572,7 +16060,7 @@ msgstr ""
 msgid "My first vector module"
 msgstr ""
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "출력할 격자지도"
@@ -15711,11 +16199,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr "수문학"
 
@@ -16408,45 +16897,45 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 msgid "patching"
 msgstr ""
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
 msgstr ""
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr ""
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 #, fuzzy
 msgid "Name for resultant raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr ""
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr ""
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr ""
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "격자지도 <%s>를 위한 지원파일을 생성합니다"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -16468,7 +16957,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "출력할 격자지도"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr ""
@@ -16882,8 +17371,8 @@ msgstr "출력할 격자지도"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr ""
@@ -16952,55 +17441,18 @@ msgstr "출력할 격자지도"
 msgid "Converts a raster map into a vector map."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "출력할 격자지도"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "출력할 격자지도"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "출력할 격자지도"
-
-#: ../raster/r.to.vect/main.c:105
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "출력할 격자지도"
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -17029,23 +17481,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, fuzzy, c-format
 msgid "Unable to create table: %s"
 msgstr "출력할 격자지도"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, fuzzy, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "출력할 격자지도"
@@ -17085,192 +17539,192 @@ msgstr "출력할 격자지도"
 msgid "Allocating memory and reading input raster map..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 #, fuzzy
 msgid "Name of input raster map to re-project"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr ""
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 msgid "Print input map's bounds in the current projection and exit"
 msgstr ""
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr ""
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 #, fuzzy
 msgid "Projecting..."
 msgstr "출력할 격자지도"
@@ -17314,7 +17768,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17327,7 +17781,7 @@ msgstr "출력할 격자지도"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17341,7 +17795,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -17484,7 +17938,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
 
@@ -17863,21 +18317,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18234,7 +18728,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "출력할 격자지도"
@@ -19034,7 +19528,7 @@ msgstr ""
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -19212,45 +19706,46 @@ msgstr ""
 msgid "Statistics for <%s> updated"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 #, fuzzy
 msgid "Over-riding projection check"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19258,15 +19753,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 
@@ -19329,8 +19824,8 @@ msgstr "%s를 위한 지원파일을 생성합니다"
 msgid "Link to raster map <%s> created."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -19350,13 +19845,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "출력할 격자지도"
@@ -19385,20 +19880,20 @@ msgstr "출력할 격자지도"
 msgid "Band to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr ""
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 msgid "Extend region extents based on new dataset"
 msgstr ""
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -19410,13 +19905,21 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+msgid "List available bands including band type in dataset and exit"
+msgstr ""
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -19425,31 +19928,31 @@ msgstr "출력할 격자지도"
 msgid "%s= and %s= are mutually exclusive"
 msgstr "%s=와 %s=를 같이 지정할 수 없습니다"
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr ""
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr ""
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "출력할 격자지도"
@@ -19629,14 +20132,15 @@ msgstr "출력할 격자지도"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -19922,6 +20426,12 @@ msgstr "-%c와 %s=를 같이 지정할 수 없습니다"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "<%s> 옵션을 무시합니다"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "-%c와 -%c를 같이 지정할 수 없습니다"
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -19993,8 +20503,8 @@ msgid "Importing band %d..."
 msgstr "출력할 격자지도"
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 msgid "random"
 msgstr ""
@@ -20107,7 +20617,7 @@ msgstr "출력할 격자지도"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "출력할 격자지도"
@@ -21125,7 +21635,8 @@ msgstr ""
 msgid "Unable to write to temp file"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "출력할 격자지도"
@@ -21167,7 +21678,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "위상정보를 셸스크립트 형식으로 출력합니다"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -21747,23 +22258,23 @@ msgid "unable to open output file"
 msgstr ""
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -21771,8 +22282,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -21878,27 +22389,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -21910,20 +22421,30 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 msgid "Closing flow direction map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -21948,213 +22469,218 @@ msgstr "출력할 격자지도"
 msgid "Closing half basins map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 msgid "Inputs"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 msgid "Minimum size of exterior watershed basin"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 msgid "Maximum length of surface flow in map units"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "출력 위상색인 격자지도의 이름"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 msgid "Each half-basin is given a unique value"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 msgid "Slope steepness (S) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 msgid "The basin threshold must be a positive number."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -22312,21 +22838,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "출력할 격자지도"
@@ -22515,7 +23041,7 @@ msgstr ""
 msgid "Converting <%s>..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, fuzzy, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "출력할 격자지도"
@@ -22590,7 +23116,7 @@ msgid ""
 msgstr "출력할 격자지도"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -22603,11 +23129,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "출력할 격자지도"
@@ -22620,59 +23149,84 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "-%c와 -%c를 같이 지정할 수 없습니다"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 msgid "Output distances in meters instead of map units"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, c-format
 msgid "Unknown metric: '%s'"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -22683,130 +23237,135 @@ msgstr "출력할 격자지도"
 msgid "Reading raster map <%s>..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr ""
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr ""
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr ""
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "출력할 격자지도"
@@ -22856,7 +23415,7 @@ msgstr ""
 msgid "Unable to close raster map <%s@%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 #, fuzzy
 msgid "Unable to close output raster map"
 msgstr "출력할 격자지도"
@@ -22978,20 +23537,25 @@ msgstr ""
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "-%c와 -%c를 같이 지정할 수 없습니다"
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 msgid "parse error"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -23000,221 +23564,237 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 msgid "Band(s) to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr ""
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "격자지도 <%s>가 이미 존재합니다"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 #, fuzzy
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 #, fuzzy
 msgid "Unable to get projection info of target location"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 #, fuzzy
 msgid "Unable to get projection units of target location"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 #, fuzzy
 msgid "Unable to get projection key values of target location"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "출력할 격자지도"
@@ -23447,7 +24027,7 @@ msgstr "출력할 격자지도"
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, fuzzy, c-format
@@ -23774,29 +24354,34 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr ""
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -24220,33 +24805,33 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -25270,150 +25855,222 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr ""
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.in.lidar/main.c:108
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 msgid "If not specified, all points are imported"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 msgid "Print LAS file info and exit"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "출력할 격자지도"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "출력할 격자지도"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
+msgid "File <%s> does not exist"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr ""
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
-msgid "Invalid zrange"
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
+#: ../raster/r.in.lidar/main.c:355
+msgid ""
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
+msgid "Invalid zrange"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "출력할 격자지도"
 
+#: ../raster/r.in.lidar/main.c:659
+msgid "Writing to map ..."
+msgstr ""
+
 #: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:885
-msgid "Writing to map ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/string_list.c:34
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Cannot open file %s for reading"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
 msgstr ""
 
 #: ../raster/r.uslek/main.c:57
@@ -25641,12 +26298,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr ""
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, fuzzy, c-format
-msgid "Unable to create file <%s>"
-msgstr "출력할 격자지도"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -26453,6 +27104,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr "출력할 격자지도"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -26505,6 +27163,11 @@ msgstr "출력할 격자지도"
 msgid "Writing to output raster map..."
 msgstr "출력할 격자지도"
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "출력할 격자지도"
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr ""
@@ -26848,27 +27511,27 @@ msgstr ""
 msgid "Delete the null file"
 msgstr ""
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr ""
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr ""
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr ""
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr ""
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr ""
 
@@ -26902,31 +27565,11 @@ msgstr ""
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr ""
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr ""
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 msgid "Contour levels"
 msgstr ""
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr ""
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr ""
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -26937,29 +27580,31 @@ msgstr "출력할 격자지도"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, fuzzy, c-format
 msgid "Unable to create table: '%s'"
 msgstr "출력할 격자지도"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "출력할 격자지도"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "특성을 쓰고 있습니다..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, fuzzy, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "출력할 격자지도"
@@ -27781,10 +28426,6 @@ msgstr "출력할 격자지도"
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-msgid "Output header row"
-msgstr ""
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -28079,7 +28720,8 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 #, fuzzy
 msgid "Unable to select data from table"
 msgstr "출력할 격자지도"
@@ -28689,11 +29331,11 @@ msgstr "출력할 격자지도"
 msgid "3D Raster map <%s> not found"
 msgstr "출력할 격자지도"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr ""
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -28876,6 +29518,36 @@ msgstr ""
 msgid "Update range"
 msgstr ""
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.gradient/main.c:47
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "출력할 격자지도"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -29032,6 +29704,145 @@ msgstr ""
 msgid "Timestamp format is invalid"
 msgstr ""
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in map units"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "기본값: 자동축척"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:253
+msgid "Default step is 0.25 cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "출력할 격자지도"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "출력할 격자지도"
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -29536,6 +30347,60 @@ msgstr "오류벡터지도를 위한 위상을 생성하고 있습니다..."
 msgid "Failed to find intersection segment"
 msgstr "출력할 격자지도"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "출력할 격자지도"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -29565,7 +30430,7 @@ msgstr "출력할 격자지도"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -29578,8 +30443,8 @@ msgstr "출력할 격자지도"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -29607,79 +30472,119 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "색상표"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr ""
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr ""
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr ""
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 msgid "network maintenance"
 msgstr ""
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -29700,8 +30605,9 @@ msgstr "출력할 격자지도"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "출력할 격자지도"
@@ -29732,9 +30638,9 @@ msgstr ""
 msgid "Name of column containing z coordinate"
 msgstr ""
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr ""
 
@@ -29929,13 +30835,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr ""
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "출력할 격자지도"
@@ -30119,26 +31025,26 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 msgid "Do not make caps at the ends of polylines"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -30146,170 +31052,170 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 msgid "The tolerance must be > 0."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 msgid "Breaking polygons..."
 msgstr "다각형을 분해하는 중..."
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "중복을 지우는 중..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "경계를 분해하는 중"
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 msgid "Removing dangles..."
 msgstr "댕글을 지우는 중..."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 msgid "Removing bridges..."
 msgstr "다리를 지우는 중..."
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "섬을 붙이는 중..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "출력할 격자지도"
@@ -30688,7 +31594,7 @@ msgstr ""
 msgid "Not enough disk space--cannot write files"
 msgstr ""
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -30739,11 +31645,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -30754,27 +31661,27 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr ""
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr ""
 
@@ -30802,44 +31709,61 @@ msgstr ""
 msgid "Unable to build graph for vector map <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+msgid "Layer with turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr ""
 
@@ -31164,101 +32088,101 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 #, fuzzy
 msgid "Number of points to be created"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr ""
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, fuzzy, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 #, fuzzy
 msgid "Generating points..."
 msgstr "출력할 격자지도"
@@ -31448,6 +32372,154 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+msgid "Copies only the given number of points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:199
+msgid "Minimal difference of z values"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.decimate/main.c:232
+msgid "Use z in grid decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 msgid "Changes type of vector features."
 msgstr ""
@@ -31515,7 +32587,7 @@ msgstr ""
 msgid "Force 2D output even if input is 3D "
 msgstr ""
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -31731,6 +32803,180 @@ msgstr "출력할 격자지도"
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "격자"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+msgid "Not enough points in input, nothing to do"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+msgid "Estimating maximum distance ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, c-format
+msgid "Standard deviation: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, c-format
+msgid "Estimated maximum distance: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "출력할 격자지도"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -31798,7 +33044,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr "레이어 <%s>의 데이타베이스 연결을 위한 열형과 이름을 출력합니다:"
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -32061,14 +33307,8 @@ msgstr "출력할 격자지도"
 msgid "Loading data..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "출력할 격자지도"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr ""
@@ -32123,17 +33363,17 @@ msgstr "격자지도를 위한 지원파일을 생성합니다..."
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "출력할 격자지도"
@@ -32293,76 +33533,76 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "출력할 격자지도"
@@ -32530,6 +33770,21 @@ msgstr ""
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "출력할 래스터맵"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "출력할 격자지도"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 msgid "layer"
 msgstr ""
@@ -32648,7 +33903,7 @@ msgid "Processing features..."
 msgstr "출력할 격자지도"
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "면의 중심점을 계산하지 못 했습니다"
 
@@ -32716,7 +33971,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "출력할 격자지도"
@@ -33104,7 +34359,7 @@ msgstr ""
 msgid "%d records updated"
 msgstr ""
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -33203,9 +34458,10 @@ msgstr "출력할 격자지도"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "출력할 격자지도"
 
 #: ../vector/v.transform/main.c:290
@@ -33607,7 +34863,7 @@ msgstr "출력할 래스터맵"
 msgid "Column type not supported, please use a column with double type"
 msgstr ""
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "출력할 격자지도"
@@ -33691,6 +34947,10 @@ msgstr "출력할 격자지도"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr ""
 
@@ -33758,55 +35018,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "출력할 격자지도"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "출력할 격자지도"
@@ -34601,7 +35866,7 @@ msgstr "출력할 격자지도"
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "출력할 격자지도"
+msgstr "출력할 래스터맵"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -34638,53 +35903,62 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 #, fuzzy
 msgid "Prints vector map attributes."
 msgstr "출력할 격자지도"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 #, fuzzy
 msgid "Unable to open select cursor"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "출력할 격자지도"
@@ -34967,7 +36241,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "출력할 격자지도"
 msgstr[1] "출력할 격자지도"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "출력할 격자지도"
@@ -34992,19 +36266,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr ""
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 #, fuzzy
 msgid "Unable to fetch record"
 msgstr "출력할 격자지도"
@@ -35021,6 +36295,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "출력할 격자지도"
+
 #: ../vector/v.to.db/update.c:83
 #, fuzzy
 msgid "Updating database..."
@@ -35281,7 +36560,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr ""
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 msgid "Only numeric column type is supported"
 msgstr ""
 
@@ -35299,57 +36579,57 @@ msgstr ""
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -35916,45 +37196,49 @@ msgstr ""
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
-msgid "Use either length or vertices"
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
 msgstr ""
 
 #: ../vector/v.split/main.c:108
+msgid "Use either length or vertices"
+msgstr ""
+
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, c-format
 msgid "Length in map units: %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, c-format
 msgid "Length in meters: %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -36047,11 +37331,6 @@ msgstr ""
 msgid "Reading categories..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "출력할 격자지도"
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -36222,7 +37501,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr ""
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "출력할 격자지도"
@@ -36473,208 +37752,229 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr ""
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 #, fuzzy
 msgid "3D vector maps only"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 #, fuzzy
 msgid "Reading input vector map"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 msgid "Reprojecting primitives ..."
 msgstr "원형자료를 재투영하는 중..."
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 #, fuzzy
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr ""
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 #, fuzzy
 msgid "The output map is not 3D"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "벡터지도 <%s>를 위한 위상을 생성하고 있습니다..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr ""
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr ""
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr ""
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr ""
@@ -37322,298 +38622,294 @@ msgstr[1] "출력할 격자지도"
 msgid "Operation not implemented"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
 "\t\tMapInfo File: directory containing mapinfo files"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
 "\t\tMapInfo File: mapinfo file name"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 msgid "Minimum size of area to be imported (square meters)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 msgid "If not given, all geometry columns from the input are used"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 msgid "Force 2D output even if input is 3D"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, fuzzy, c-format
 msgid "Unable to open data source <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, fuzzy, c-format
 msgid "Layer <%s> not available"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr "OGR 레이어 <%s>가 다각형을 포함하고 있는지 확인하는 중..."
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
+#: ../vector/v.in.ogr/main.c:1128
 #, c-format
-msgid "Column type not supported (%s)"
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "피쳐 %d개를 들여오는 중 (OGR 레이어 <%s>)..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 msgid "Cleaning polygons"
 msgstr "다각형을 정리하는 중"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "정점에 있는 경계를 정리하는 중..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 msgid "Merging boundaries..."
 msgstr "경계를 합치는 중..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "OGR 레이어 <%s>를 위한 중심점을 찾는 중..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "중심점을 쓰는 중..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -37621,99 +38917,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr "%d개의 입력 다각형\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d개의 입력 다각형"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "총면적: %G (%d개의 면)\n"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -37759,17 +39055,21 @@ msgstr "출력할 격자지도"
 msgid "Unknown geometry type"
 msgstr ""
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -37777,20 +39077,20 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 msgid "List available layers in data source and exit"
 msgstr ""
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 msgid "List available layers including feature type in data source and exit"
 msgstr ""
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -37849,17 +39149,17 @@ msgid ""
 "PostGIS feature table."
 msgstr ""
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "출력할 격자지도"
@@ -37994,59 +39294,59 @@ msgstr "출력할 격자지도"
 msgid "Unable to close new 3d raster map"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "출력할 격자지도"
@@ -38202,6 +39502,135 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "레이어 <%s>를 위한 데이타베이스 연결이 정의되지 않았습니다"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:588
+msgid "Column with red color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "색상표"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -38395,7 +39824,7 @@ msgstr "출력할 격자지도"
 msgid "Invalid segment number %d for %d points"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "출력할 격자지도"
@@ -38700,48 +40129,233 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:230
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
+msgid "Storing generated point IDs as categories in the layer %d"
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "Scanning %lu points..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:758
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were not valid"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:760
 #, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were outside of the selected area"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:762
 #, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%llu input points were outside of the area specified by mask"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:764
 #, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%llu input points were filtered out by return number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:766
+#, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:768
+#, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:770
+#, c-format
+msgid "%llu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:773
+#, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:783
+#, c-format
+msgid "%lu input points were not valid"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:785
+#, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:787
+#, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:789
+#, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:791
+#, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:793
+#, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:795
+#, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:798
+#, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "출력할 격자지도"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
 msgstr ""
 
 #: ../vector/v.surf.bspline/crosscorr.c:75
@@ -38902,7 +40516,7 @@ msgid ""
 msgstr "출력할 격자지도"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -39894,11 +41508,6 @@ msgstr "출력할 격자지도"
 msgid "Resolving conflicts..."
 msgstr "출력할 격자지도"
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "출력할 격자지도"
-
 #: ../vector/v.generalize/main.c:78
 msgid "simplification"
 msgstr ""
@@ -40067,57 +41676,57 @@ msgstr ""
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr ""
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, c-format
 msgid "Using threshold: %g %s"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr ""
@@ -40167,77 +41776,62 @@ msgstr ""
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
+#~ msgid "Could not rewind input file"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
+#~ msgid "Name for basins raster map"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
+#~ msgid "output map <%s> exists"
 #~ msgstr "출력할 격자지도"
 
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr "출력할 격자지도"
+#~ msgid "Page length (default: %d lines)"
+#~ msgstr "쪽길이 (기본값: %d줄)"
 
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr "출력할 격자지도"
+#~ msgid "Page width (default: %d characters)"
+#~ msgstr "쪽넓이 (기본값: %d글자)"
 
 #, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
+#~ msgid "Input options"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "로케이션의 투영설정을 대화식으로 재설정합니다."
+#~ msgid "Output options"
+#~ msgstr "출력할 격자지도"
 
 #~ msgid "option <%s>: <%s> exists."
 #~ msgstr "옵션 <%s>: <%s>가 존재합니다."
 
-#, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "출력할 격자지도"
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "-%c/-%c와 %s=를 같이 지정할 수 없습니다"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "출력할 격자지도"
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "-%c/-%c와 -%c를 같이 지정할 수 없습니다"
+
+#~ msgid "Default value: GRASS_GUI if defined otherwise wxpython"
+#~ msgstr "기본값: 정의되었을 경우 GRASS_GUI 아니면 wxpython"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
+#~ msgid "Password to set for DB connection"
 #~ msgstr "출력할 격자지도"
 
-#~ msgid "Page length (default: %d lines)"
-#~ msgstr "쪽길이 (기본값: %d줄)"
-
-#~ msgid "Page width (default: %d characters)"
-#~ msgstr "쪽넓이 (기본값: %d글자)"
-
 #, fuzzy
-#~ msgid "Input options"
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Output options"
+#~ msgid "Field separator"
 #~ msgstr "출력할 격자지도"
 
-#~ msgid "Default value: GRASS_GUI if defined otherwise wxpython"
-#~ msgstr "기본값: 정의되었을 경우 GRASS_GUI 아니면 wxpython"
-
 #, fuzzy
 #~ msgid ""
 #~ "Exports a vector map to a GPS receiver or file format supported by "
@@ -40265,74 +41859,40 @@ msgstr ""
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Field separator"
+#~ msgid "Unable to create file '%s'"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgid "Env file not found"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
+#~ msgid "PID file not found"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Renaming reclass maps"
+#~ msgid "Command file not found"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
+#~ msgid "Renaming reclass maps"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Loading seeds from '%s'"
+#~ msgid "Name for output image"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "출력할 래스터맵"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "출력할 래스터맵"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "출력할 래스터맵"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "출력할 래스터맵"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "출력할 래스터맵"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "출력할 래스터맵"
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "출력할 래스터맵"
-
-#, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "출력할 래스터맵"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "출력할 래스터맵"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Loading seeds from '%s'"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "기본값"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "출력할 격자지도"
 
 #, fuzzy
 #~ msgid ""
@@ -40356,20 +41916,24 @@ msgstr ""
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Display the "
+#~ msgid "Default: input"
+#~ msgstr "기본값"
+
+#, fuzzy
+#~ msgid "flowline"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "출력할 래스터맵"
+#~ msgid "Endian of input vector map"
+#~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "출력할 래스터맵"
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "출력할 격자지도"
 
 #, fuzzy
 #~ msgid "Reading dig file..."
@@ -40380,40 +41944,41 @@ msgstr ""
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "출력할 격자지도"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "출력할 래스터맵"
 
 #, fuzzy
-#~ msgid "Endian of input vector map"
+#~ msgid "Error reading category file for <%s>"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "One or more coordinates"
+#~ msgid "Error in reading color file for <%s>"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgid "Surface interpolation utility for raster map."
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Site file <%s> not found"
+#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "출력할 격자지도"
+#~ msgid "Interpolating raster map <%s>... %d row... "
+#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
+#~ msgstr[0] "출력할 격자지도"
+#~ msgstr[1] "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Failed to allocate site structure"
+#~ msgid "Prefix for output raster map(s)"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "출력할 격자지도"
+#~ msgid "String to represent no data cell"
+#~ msgstr "자료 없는 셀값을 표현할 문자열"
 
-#, fuzzy
-#~ msgid "%d sites written."
-#~ msgstr "출력할 격자지도"
+#~ msgid "%s available in mapset <%s>:"
+#~ msgstr "지도세트 <%2$s> 안에 유효한 %1$s:"
 
 #~ msgid "gui"
 #~ msgstr "GUI"
@@ -40433,74 +41998,101 @@ msgstr ""
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
+#~ msgid "The output type of the space time dataset"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
+#~ msgid "Type of the aggregation space time dataset, default is strds"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Interpolating raster map <%s>... %d row... "
-#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
-#~ msgstr[0] "출력할 격자지도"
-#~ msgstr[1] "출력할 격자지도"
+#~ msgid "Prefix for output raster maps (default: input)"
+#~ msgstr "출력할 격자지도"
 
 #, fuzzy
 #~ msgid "allocation"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
+#~ msgid "Please specify input= or file="
 #~ msgstr "출력할 래스터맵"
 
 #, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
+#~ msgid "Either -p or output= must be given"
 #~ msgstr "출력할 래스터맵"
 
 #, fuzzy
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "출력할 격자지도"
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "출력할 래스터맵"
 
 #, fuzzy
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "출력할 격자지도"
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "출력할 래스터맵"
 
 #, fuzzy
-#~ msgid "Prefix for output raster map(s)"
-#~ msgstr "출력할 격자지도"
+#~ msgid "Please specify input= or infile="
+#~ msgstr "출력할 래스터맵"
 
 #, fuzzy
-#~ msgid "String to represent no data cell"
-#~ msgstr "자료 없는 셀값을 표현할 문자열"
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "출력할 래스터맵"
 
-#~ msgid "%s available in mapset <%s>:"
-#~ msgstr "지도세트 <%2$s> 안에 유효한 %1$s:"
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "출력할 격자지도"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "출력할 래스터맵"
 
 #, fuzzy
 #~ msgid "High Pass Filter Options"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "The output type of the space time dataset"
+#~ msgid "Name of elevation raster map"
+#~ msgstr "입력 고도 격자지도의 이름"
+
+#, fuzzy
+#~ msgid "coordinates of the outlet (east,north)"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Type of the aggregation space time dataset, default is strds"
+#~ msgid "No maps output"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (default: input)"
+#~ msgid "Unable To create table: %s"
+#~ msgstr "출력할 래스터맵"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "출력할 래스터맵"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "출력할 래스터맵"
+
+#, fuzzy
+#~ msgid "Converts a GRASS site_lists file into a vector map."
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "Name of elevation raster map"
-#~ msgstr "입력 고도 격자지도의 이름"
+#~ msgid "Site file <%s> not found"
+#~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "coordinates of the outlet (east,north)"
+#~ msgid "Unable to guess site_list format"
 #~ msgstr "출력할 격자지도"
 
 #, fuzzy
-#~ msgid "No maps output"
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "출력할 격자지도"
+
+#, fuzzy
+#~ msgid "%d sites written."
 #~ msgstr "출력할 격자지도"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "출력할 래스터맵"
diff --git a/locale/po/grassmods_lv.po b/locale/po/grassmods_lv.po
index 666a9f4..db25caa 100644
--- a/locale/po/grassmods_lv.po
+++ b/locale/po/grassmods_lv.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_lv\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-03-08 13:28+0200\n"
 "Last-Translator: Māris Nartišs <mn at sungis.lv>\n"
 "Language-Team: Latvian <grass-translations at lists.osgeo.org>\n"
@@ -24,10 +24,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -45,6 +45,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -72,12 +73,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -120,7 +122,7 @@ msgstr "Ņemt vērā NULL vērtības zīmēšanas laikā"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, fuzzy, c-format
@@ -128,14 +130,16 @@ msgid "Color file for <%s> not available"
 msgstr "krāsu fails priekš [%s] nav pieejams"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -154,7 +158,9 @@ msgstr "krāsu fails priekš [%s] nav pieejams"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -175,7 +181,7 @@ msgstr "krāsu fails priekš [%s] nav pieejams"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -187,7 +193,7 @@ msgstr "krāsu fails priekš [%s] nav pieejams"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -211,17 +217,17 @@ msgstr "krāsu fails priekš [%s] nav pieejams"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -232,7 +238,7 @@ msgstr "krāsu fails priekš [%s] nav pieejams"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -383,10 +389,13 @@ msgstr "Izvēlies fontu kurš tiks parādīts lietotāja grafiskajā vidē."
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 #, fuzzy
 msgid "Input"
 msgstr "Ieejas fails"
@@ -433,22 +442,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Teksta krāsa"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Nevarēja atrast rastra failu %s"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Fonta nosaukums"
 
@@ -462,12 +473,14 @@ msgstr "Fonta nosaukums"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 #, fuzzy
 msgid "Path to font file"
 msgstr "Esošā rastra faila nosaukums"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -560,14 +573,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Nav ko zīmēt! (nav kategorijas ar uzrakstiem?)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -612,11 +631,11 @@ msgstr ""
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -696,23 +715,26 @@ msgstr "Attēlojamā rastra karte"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -722,14 +744,19 @@ msgstr "Attēlojamā rastra karte"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -778,49 +805,50 @@ msgstr "%s - nederīgs nosaukums"
 msgid "[%s]: No such color"
 msgstr ""
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Parādīt nulles šūnu unformāciju"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 #, fuzzy
 msgid "Display screen rectangle of current region"
 msgstr "Nevar izveidot index"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -828,31 +856,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, fuzzy, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Datubāzes konekcija nav definēta"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -862,10 +891,10 @@ msgstr "Datubāzes konekcija nav definēta"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -879,7 +908,7 @@ msgstr "Datubāzes konekcija nav definēta"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Nevar atvērt datubāzi  %s pēc adreses %s"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -904,7 +933,7 @@ msgstr "datu tipi"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 #, fuzzy
 msgid "Chart properties"
 msgstr "datu tipi"
@@ -947,7 +976,12 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Vektorkartes nosaukums"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -955,20 +989,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -983,40 +1019,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "neiespējami atvērt <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 msgid "distance"
 msgstr "attālums"
@@ -1040,11 +1076,6 @@ msgstr "Lietojamās kartes centra koordinātes\n"
 msgid "Line color"
 msgstr "Līnijas krāsa"
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr "Teksta krāsa"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1103,12 +1134,15 @@ msgstr "L: un  M: atņemt R: iziet un saglabāt\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1127,17 +1161,18 @@ msgstr "L: un  M: atņemt R: iziet un saglabāt\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1150,10 +1185,10 @@ msgstr "L: un  M: atņemt R: iziet un saglabāt\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1161,21 +1196,22 @@ msgstr "L: un  M: atņemt R: iziet un saglabāt\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "vektors"
 
@@ -1220,16 +1256,18 @@ msgstr "vektora karte <%s> nav atrasta"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1241,22 +1279,22 @@ msgstr "vektora karte <%s> nav atrasta"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1309,10 +1347,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1362,39 +1400,39 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "lietot molodensky transformāciju"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr "Izvēlies fontu kurš tiks parādīts lietotāja grafiskajā vidē."
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Tīkla krāsa"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 msgid "Align grids with raster cells"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1404,7 +1442,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1413,7 +1451,7 @@ msgstr[1] "Malu krāsa"
 msgstr[2] "Malu krāsa"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1421,76 +1459,76 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 #, fuzzy
 msgid "Name of raster aspect map to be displayed"
 msgstr "Attēlojamā rastra karte"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 #, fuzzy
 msgid "Type of existing raster aspect map"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Krāsa zīmējamajam tekstam"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Krāsa zīmējamajam tekstam"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Krāsa zīmējamajam tekstam"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 #, fuzzy
 msgid "Illegal value for scale factor"
 msgstr "Ieejas fails"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "%s - nederīgs nosaukums"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "Rastra izejas fails"
@@ -1619,17 +1657,17 @@ msgid ""
 "\n"
 msgstr "  Attālums līdz tīklam = %f, attālums no tīkla = %f\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1637,7 +1675,7 @@ msgstr "Lasam dig failu... \n"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr "īsākais ceļš"
@@ -1646,51 +1684,51 @@ msgstr "īsākais ceļš"
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 #, fuzzy
 msgid "Arc type"
 msgstr "datu tipi"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr ""
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1714,11 +1752,11 @@ msgstr "Lasam dig failu... \n"
 msgid "Background color"
 msgstr "Fona krāsa"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1738,7 +1776,7 @@ msgstr "%s - nederīgs nosaukums"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1763,7 +1801,7 @@ msgstr "Rakstu jaunu failu... \n"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1771,7 +1809,7 @@ msgstr "Rakstu jaunu failu... \n"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2133,7 +2171,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2150,15 +2188,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr ""
@@ -2403,12 +2441,13 @@ msgstr "nederīgs reģions: %s"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2476,15 +2515,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 
@@ -2506,11 +2545,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "Rastra kartes nosaukums"
@@ -2708,7 +2748,7 @@ msgstr "Laukuma aizpildījuma krāsa"
 msgid "Colorize features according color definition column"
 msgstr ""
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Nav ieejas karte(s) norādīta."
@@ -3000,41 +3040,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Izejas karte kurā tiks ierakstīti punkti"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Izejas tabulas nosaukums"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "KĻŪDA: <%s> jau eksistē\n"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
+msgid "Starting monitor <%s>..."
+msgstr "Rakstu jaunu failu... \n"
 
-#: ../display/d.mon/start.c:163
-#, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Rastra izejas fails"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, fuzzy, c-format
+msgid "Unable to create file <%s>"
+msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3046,34 +3093,53 @@ msgstr "KĻŪDA: <%s> jau eksistē\n"
 msgid "Monitor <%s> is not running"
 msgstr "rastrs <%s> nav atrasts"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "3d skata fails <%s> nav atrasts"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "3d skata fails <%s> nav atrasts"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "neiespējami atvērt <%s>"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "Nebija iespējams atvērt failu <%s>"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Sākuma punkta koordinātes"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "reģions <%s> nav atrasts"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Neiespējami atvērt šūnu failu[%s]"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Rastra izejas fails"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Nevar atrast ieejas vektoru karti <%s>"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3085,8 +3151,8 @@ msgid "Name of monitor to start"
 msgstr "Izejas rastra kartes nosaukums"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3110,9 +3176,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3192,12 +3259,12 @@ msgid "List running monitors and exit"
 msgstr "Izvadīt atbalstītos formātus un tad iziet"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3210,33 +3277,34 @@ msgstr "Izvadīt atbalstītos formātus un tad iziet"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Drukāt"
 
@@ -3250,59 +3318,77 @@ msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "Lieto brīvi izvēlētas krāsas"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, fuzzy, c-format
 msgid "Monitor <%s> released"
 msgstr "Izvēlētā grafiskā monitora nosaukums"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 #, fuzzy
 msgid "No monitor selected"
 msgstr "Izvēlētā grafiskā monitora nosaukums"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "2 līmeņiem jābūt norādītiem"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3355,7 +3441,7 @@ msgid "No map name given"
 msgstr "Nav norādīta karte"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "nevar nolasīt reģionu <%s> pie <%s>"
@@ -3491,9 +3577,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Neiespējami atvērt šūnu failu[%s]"
@@ -3543,9 +3629,9 @@ msgstr "Izšķirtspēja"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "OGR formāts."
@@ -3559,12 +3645,12 @@ msgstr ""
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 #, fuzzy
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Name for output binary map (use out=- for stdout)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 #, fuzzy
 msgid "Do not include column names in output"
 msgstr "neiekļaut kolonu vārdus izejas datos"
@@ -3574,7 +3660,7 @@ msgstr "neiekļaut kolonu vārdus izejas datos"
 msgid "Describe query only (don't run it)"
 msgstr "apraksti tikai pieprasījumu (query) - nedarbini to"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 #, fuzzy
 msgid "Vertical output (instead of horizontal)"
 msgstr "vertikālā izdruka(pretēji horizontālai)"
@@ -3608,7 +3694,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3640,7 +3726,7 @@ msgstr "datu bāze, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3652,7 +3738,7 @@ msgstr "Nevajag taisīt atribūtu tabulu"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3789,8 +3875,8 @@ msgstr "Rastra izejas fails"
 msgid "Unable to create index:"
 msgstr "neiespējami atjaunot robežas"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Izšķirtspēja"
@@ -3864,7 +3950,7 @@ msgstr "Nevar izveidot projekcijas failus: %s"
 msgid "Unable to allocate handle."
 msgstr "neiespējami atjaunot robežas"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3901,7 +3987,7 @@ msgstr "Nevar atlasīt datus no tabulas"
 msgid "Unable to select view names."
 msgstr "Nevar atlasīt datus no tabulas"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3941,12 +4027,12 @@ msgstr ""
 msgid "No path given"
 msgstr "Nav norādīta karte"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Nevar atlasīt datus no tabulas"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Nevar atlasīt datus no tabulas"
@@ -3994,30 +4080,30 @@ msgid "Taken not found"
 msgstr "reģions <%s> nav atrasts"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 #, fuzzy
 msgid "Unable to create index"
 msgstr "neiespējami atjaunot robežas"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Nevar atlasīt datus no tabulas"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "neiespējami atvērt <%s>"
@@ -4064,6 +4150,11 @@ msgstr ""
 "kolona '%s' :tips bool (boolean) ir noteikts kā char(1), vērtības: 0 "
 "(false), 1 (true)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "neiespējami atvērt <%s>"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Nezināms nosacījums datubāzes definīcijā priekš PostgreSQL:"
@@ -4150,7 +4241,8 @@ msgstr "rastrs <%s> nav atrasts"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, fuzzy, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4232,22 +4324,22 @@ msgstr "neiespējami atvērt <%s>"
 msgid "Unable to open database:"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Datubāzes konekcija nav definēta"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "KĻŪDA: <%s> jau eksistē\n"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "rastrs <%s> nav atrasts"
@@ -4262,6 +4354,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "SQLite dzinējs: kolona '%s', SQLite tips %d  nav atbalstīts"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Kļūda atverot šūnu failu"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4514,10 +4611,10 @@ msgstr "Atlasīt datus no datubāzes."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, fuzzy, c-format
 msgid "Unable to describe table <%s>"
@@ -4538,27 +4635,40 @@ msgstr "Lūdzu izlabo iestatījumus."
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Nevar izveidot projekcijas failus: %s"
+msgid "Username"
+msgstr "pārdēvēt"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Nevar izveidot projekcijas failus: %s"
+msgid "Password"
+msgstr "Gājiens: %d\n"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Tabulas nosaukums"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 #, fuzzy
 msgid "Unable to set user/password"
 msgstr "Nevar izveidot lietotāju/paroli"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Parole tika noglabāta failā."
@@ -4851,6 +4961,7 @@ msgstr "Platība:"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4861,10 +4972,11 @@ msgstr "Platība:"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 msgid "raster3d"
 msgstr "rastrs_3d"
 
@@ -4935,19 +5047,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "Nebija iespējams atvērt failu <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5218,7 +5317,7 @@ msgstr "3d skata fails <%s> nav atrasts"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5904,7 +6003,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5917,12 +6016,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6029,7 +6129,17 @@ msgstr ""
 msgid "<%s> already exists"
 msgstr "KĻŪDA: <%s> jau eksistē\n"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Nevar ierakstīt ezera rastra karti <%s>!"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "nevar atvērt vektorfailu <%s> iekš <%s>"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6037,7 +6147,7 @@ msgstr "KĻŪDA: <%s> jau eksistē\n"
 msgid "list"
 msgstr "saraksts"
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 #, fuzzy
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
@@ -6046,153 +6156,126 @@ msgstr ""
 "Izveido GRASS datubāzu failu sarkastu pēc lietotāja norādītiem datu tipiem "
 "lai standartizētu iegūtos datus"
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr ""
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr "Šablons"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr ""
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "drukā tekošās karšu biblotēkas/mapset meklēšanas ceļu"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "drukā tekošās karšu biblotēkas/mapset meklēšanas ceļu"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 msgid "'.' for current region; '*' for default region"
 msgstr ""
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr ""
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "%-5d punkti nolasīti un ierakstīti izejā\n"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "Drukāt tikai rastra kartes tipu"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr ""
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "2 līmeņiem jābūt norādītiem"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "2 līmeņiem jābūt norādītiem"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Neiespējami atvērt šūnu failu[%s]"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "rastra karte [%s] nav atrasta"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Nevar ierakstīt ezera rastra karti <%s>!"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "nevar atvērt vektorfailu <%s> iekš <%s>"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 #, fuzzy
 msgid "Unable to update lat/long projection parameters"
 msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6417,9 +6500,9 @@ msgstr "reģions <%s> nav atrasts"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr ""
@@ -6443,7 +6526,7 @@ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, fuzzy, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "nederīgs reģions: %s"
@@ -6727,38 +6810,38 @@ msgstr "Drukāt statistiku komandrindas skripta stilā"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6902,7 +6985,7 @@ msgstr "Eksistējošas attēlojamās rastra kartes nosaukums"
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 #, fuzzy
 msgid "Operation to be performed"
@@ -7362,7 +7445,7 @@ msgstr "neiespējami atvērt <%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, fuzzy, c-format
 msgid "Unable to open output file <%s>"
@@ -7564,38 +7647,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "reģions <%s> nav atrasts"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Importējamais rastra fails"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7804,8 +7908,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7842,9 +7946,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, fuzzy, c-format
 msgid "Location <%s> created"
 msgstr "Novietojums %s ir izveidots!"
@@ -8000,10 +8104,12 @@ msgstr "Izvada pamatinformāciju par lietotāja norādīto rastra karti."
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8019,10 +8125,14 @@ msgstr "Izvada pamatinformāciju par lietotāja norādīto rastra karti."
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8055,10 +8165,12 @@ msgstr "vektors, topoloģija"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8074,10 +8186,14 @@ msgstr "vektors, topoloģija"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8180,8 +8296,8 @@ msgstr "Izvēlies fontu kurš tiks parādīts lietotāja grafiskajā vidē."
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr ""
 
@@ -8222,7 +8338,7 @@ msgstr "Vektorkartes nosaukums"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8251,15 +8367,16 @@ msgstr "attēli"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 msgid "import"
 msgstr "importēt"
 
@@ -8403,7 +8520,7 @@ msgstr "Datubāzes nosaukums"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8413,6 +8530,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Ieejas fails"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "vektora karte <%s> nav atrasta"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Eksistējošas rastra kartes nosaukums"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Rastra kartes nosaukums"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Drukājamo kopiju sakits"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Rastra ievades kartes"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8464,21 +8682,12 @@ msgid ""
 "datasets."
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "vektora karte <%s> nav atrasta"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8487,11 +8696,13 @@ msgstr "vektora karte <%s> nav atrasta"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8499,54 +8710,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Rastra kartes nosaukums"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Drukājamo kopiju sakits"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Rastra ievades kartes"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8561,7 +8731,8 @@ msgstr "Eksistējošas rastra kartes nosaukums"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "vektora karte <%s> nav atrasta"
@@ -8794,7 +8965,7 @@ msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr ""
 
@@ -8909,6 +9080,49 @@ msgstr "Eksistējošas rastra kartes nosaukums"
 msgid "Name of attribute column(s) to drop"
 msgstr "atslēgas kolona"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Komatu attdalīta vērtību liste: piem. 1.4,3.8,13"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Vektorkartes nosaukums"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Nevaratvērt datubāzi %s"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Drukājamo kopiju sakits"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Nogāžu slīpuma izvades rastra kartes nosaukums"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9131,7 +9345,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9376,6 +9590,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9445,10 +9660,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Paplašināt novietojuma apjomu pamatojoties uz jauno datu kopu"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Neņemt vērā projekciju (izmantot pašreizējā novietojuma projekciju)"
@@ -9457,7 +9676,8 @@ msgstr "Neņemt vērā projekciju (izmantot pašreizējā novietojuma projekciju
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "%d punkti ierakstīti izejas kartē\n"
@@ -9475,21 +9695,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 #, fuzzy
 msgid "In scan mode, print using shell script style"
 msgstr "Drukāt statistiku komandrindas skripta stilā"
@@ -9513,7 +9733,7 @@ msgid "Name for output raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 #, fuzzy
 msgid "Statistic to use for raster values"
 msgstr "Eksistējošas rastra kartes nosaukums"
@@ -9521,14 +9741,14 @@ msgstr "Eksistējošas rastra kartes nosaukums"
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr ""
@@ -9568,18 +9788,18 @@ msgid "Scaling factor to apply to value column data"
 msgstr "%d kategorijas ielādētas no tabulas\n"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 #, fuzzy
 msgid "pth percentile of the values"
 msgstr "Izejas karte kurā tiks ierakstīti punkti"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9680,8 +9900,8 @@ msgid "Remove existing color table"
 msgstr "Saglabāt esošo krāsu tabulu"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr ""
@@ -9725,12 +9945,13 @@ msgid ""
 msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Importējamais rastra fails"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 #, fuzzy
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
@@ -9740,7 +9961,7 @@ msgstr ""
 "\t\tMapInfo fails: faila nosaukums"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Izvades rastra karte ar ezeru"
@@ -9761,6 +9982,11 @@ msgstr "Izvades rastra karte ar ezeru"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9783,10 +10009,15 @@ msgstr "Izvades rastra karte ar ezeru"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "Izejas rastra kartes nosaukums"
@@ -9803,24 +10034,24 @@ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Nevarēja atrast rastra failu %s"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Drukā ... "
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9836,17 +10067,65 @@ msgid "-1 to list available datum transform parameters"
 msgstr "Izejas rastra kartes nosaukums"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Izvadīt atbalstītos formātus un tad iziet"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "%d punkti ierakstīti izejas kartē\n"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Izvēlies fontu kurš tiks parādīts lietotāja grafiskajā vidē."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr "rāmis"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Izveidot jaunu failu, ja neeksistē"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "drukā tekošās karšu biblotēkas/mapset meklēšanas ceļu"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10016,7 +10295,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10025,7 +10304,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10035,7 +10314,7 @@ msgid "geometry"
 msgstr "vektors, ģeometrija"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10089,7 +10368,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "%s - nederīgs nosaukums"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10113,15 +10396,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10180,12 +10463,12 @@ msgid "Optional"
 msgstr "izejas līmeņa nosaukums"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Konvertēt ģeocetrisko uz ģeogrāfiko koordināti. "
@@ -10281,7 +10564,7 @@ msgstr ""
 "Ģenerē rastra karti, kur vienlaidus apgabali ir palielināti par vienu šūnu."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10295,7 +10578,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Bufera zonas rādiuss rastra šūnās"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Metriskā"
 
@@ -10325,14 +10608,14 @@ msgstr "Ģenerē rastra karšu platību statistiku."
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10398,6 +10681,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10405,7 +10699,8 @@ msgid ""
 msgstr "Eksistējošas vektorkartes nosaukums"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Izšķirtspēja"
@@ -10449,6 +10744,61 @@ msgstr "%-5d punktu kategorijas nolasītas\n"
 msgid "Name of table to drop"
 msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Izveido GRASS vektoru karti ar kontūrlīnijām norādītajai rastra kartei."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+msgid "contour"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Rastra ievades kartes"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Nevajag taisīt atribūtu tabulu"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10473,6 +10823,20 @@ msgstr "OGR formāts."
 msgid "Name for output table (default: input name)"
 msgstr "Izvades rastra karte ar ezeru"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Eksistējošas rastra kartes nosaukums"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10610,6 +10974,60 @@ msgstr "Eksistējošas rastra kartes nosaukums"
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Eksistējošas vektorkartes nosaukums"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+msgid "Output feature type"
+msgstr "Izvades objektu tips"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Izejas rastra kartes nosaukums"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "vektors, topoloģija"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10621,6 +11039,7 @@ msgid "Vector map to which to join other table"
 msgstr "Rastra karte, kuras histogramma tiks parādīta"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10630,6 +11049,7 @@ msgid "Layer where to join"
 msgstr "Nevajag taisīt atribūtu tabulu"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "kolona 2"
@@ -10710,7 +11130,6 @@ msgstr "Izvades rastra karte ar ezeru"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11011,6 +11430,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -11297,13 +11720,6 @@ msgstr "Eksistējošas rastra kartes nosaukums"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Drukājamo kopiju sakits"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -11314,23 +11730,33 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "Rastra karte, kuras histogramma tiks parādīta"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Vektorkartes nosaukums"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+#, fuzzy
+msgid "query_layer,query_column"
+msgstr "kolona 2"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "kolona 2"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "Bufera izmērs kartes vienībās"
@@ -11370,78 +11796,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Jaunā novietojuma nosaukums"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "atubāzes atrašnās"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "sistēmas tabulas nevis lietotāja tabulas"
@@ -11462,20 +11904,26 @@ msgid "Description of the space time dataset"
 msgstr "Datu bāzes faila nosaukums"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Datu bāzes faila nosaukums"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11493,10 +11941,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Importējamais rastra fails"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Drukāt statistiku komandrindas skripta stilā"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Kartes formāts:"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11612,7 +12096,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
+msgid "Name for output image (or text file for -t)"
 msgstr "Izejas rastra kartes nosaukums"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
@@ -11630,6 +12114,11 @@ msgstr "Lietojamās kartes centra koordinātes\n"
 msgid "Use gnuplot for display"
 msgstr "Neiespējami atvērt [%s]"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Izejas draivera nosaukums"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11644,11 +12133,6 @@ msgstr "Ģenerē rastra karšu platību statistiku."
 msgid "series"
 msgstr "Attēlojamā rastra karte"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Nevaratvērt datubāzi %s"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11745,6 +12229,7 @@ msgstr "Lasam dig failu... \n"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11760,10 +12245,15 @@ msgstr "%s - nederīgs nosaukums"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "Lasam dig failu... \n"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11846,10 +12336,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11867,7 +12353,7 @@ msgstr "neiespējami atvērt <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, fuzzy, c-format
@@ -12389,7 +12875,7 @@ msgid "radiance"
 msgstr "vektora karte <%s> nav atrasta"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12419,8 +12905,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12624,8 +13111,8 @@ msgstr "Nevar ierakstīt ezera rastra karti <%s>!"
 msgid "Calculating..."
 msgstr "Kalkulējam ēnas no DEM..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14679,14 +15166,14 @@ msgstr "reģions <%s> nav atrasts"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "3d skata fails <%s> nav atrasts"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 #, fuzzy
 msgid "permission denied"
@@ -14694,7 +15181,7 @@ msgstr "Nevarēja atrast rastra failu %s"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 #, fuzzy
 msgid "not found"
@@ -14791,7 +15278,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14923,7 +15410,7 @@ msgid "Name of target mapset"
 msgstr "Rastra kartes nosaukums"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15351,52 +15838,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "Aizvēršana neizdevās."
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Rezultējošās rastra kartes nosaukums"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Nav ieejas karte(s) norādīta."
@@ -15579,7 +16070,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, fuzzy, c-format
 msgid "Writing raster map <%s>..."
@@ -16001,7 +16492,7 @@ msgstr ""
 msgid "My first vector module"
 msgstr ""
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "Izejas vektora punktu kartes nosaukums"
@@ -16141,11 +16632,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr "hidroloģija"
 
@@ -16842,48 +17334,48 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Drukā ... "
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
 msgstr ""
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr ""
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 #, fuzzy
 msgid "Name for resultant raster map"
 msgstr "Rezultējošās rastra kartes nosaukums"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr ""
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 #, fuzzy
 msgid "The minimum number of input raster maps is two"
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 #, fuzzy
 msgid "Percent complete..."
 msgstr "Pabeigts: "
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -16905,7 +17397,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "ASCII fails ar ievades datiem"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr ""
@@ -17332,8 +17824,8 @@ msgstr "Ieejas rastra faila nosaukums"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Nevar izveidot jaunu rindu: %s"
@@ -17405,54 +17897,18 @@ msgstr "Attēlojamā rastra karte"
 msgid "Converts a raster map into a vector map."
 msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-msgid "Output feature type"
-msgstr "Izvades objektu tips"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Izejas rastra kartes nosaukums"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "Nevajag taisīt atribūtu tabulu"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Rakstu jaunu failu... \n"
-
-#: ../raster/r.to.vect/main.c:105
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "vektors, topoloģija"
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -17481,23 +17937,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, fuzzy, c-format
 msgid "Unable to create table: %s"
 msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, fuzzy, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Nevar piešķirt privilēģijas tabulai %s"
@@ -17539,200 +17997,200 @@ msgstr "Nevar izveidot projekcijas failus: %s"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Nevar atrast ieejas karti <%s>\n"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Eksportēt GRASS rastru uz bināro masīvu."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Nevar atrast ieejas karti <%s>\n"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Nevarēja atrast rastra failu %s"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Vektorkartes nosaukums"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Tekošā reģiona nosaukums"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 #, fuzzy
 msgid "Name of input raster map to re-project"
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr ""
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Izvades rastra karte ar ezeru"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "Laukums\n"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "Ieejas karte: eksistējošu pazeminājumu atrašanās vietas"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 #, fuzzy
 msgid "Unable to get projection key values of output raster map"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "3d skata fails <%s> nav atrasts"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr ""
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "rastra karte <%s> nav atrasta"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 #, fuzzy
 msgid "Unable to get projection info of input map"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 #, fuzzy
 msgid "Unable to get projection units of input map"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 #, fuzzy
 msgid "Unable to get projection key values of input map"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "3d skata fails <%s> nav atrasts"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 #, fuzzy
 msgid "Input:"
 msgstr "Ieejas fails"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, fuzzy, c-format
 msgid "Cols: %d (%d)"
 msgstr "Kļūda: %s\n"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, fuzzy, c-format
 msgid "Rows: %d (%d)"
 msgstr "Kļūda: %s\n"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, fuzzy, c-format
 msgid "North: %f (%f)"
 msgstr "Piezīme %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, fuzzy, c-format
 msgid "West: %f (%f)"
 msgstr "Piezīme %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, fuzzy, c-format
 msgid "East: %f (%f)"
 msgstr "Piezīme %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 #, fuzzy
 msgid "Projecting..."
 msgstr "Drukā ... "
@@ -17776,7 +18234,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17789,7 +18247,7 @@ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17804,7 +18262,7 @@ msgstr "Drukā ... "
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -17958,7 +18416,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 #, fuzzy
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "Ieejas rastra faila nosaukums"
@@ -18340,21 +18798,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Lietojamās kartes centra koordinātes\n"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Eksistējošas rastra kartes nosaukums"
+
+#: ../raster/r.sun/main.c:654
+#, fuzzy, c-format
+msgid "Using albedo constant: %lf"
+msgstr "Lietojamās kartes centra koordinātes\n"
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "nederīgs reģions: %s"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Lietojamās kartes centra koordinātes\n"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Eksistējošas rastra kartes nosaukums"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Lietojamās kartes centra koordinātes\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Eksistējošas rastra kartes nosaukums"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18714,7 +19212,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "nevar atvērt %s"
@@ -19525,7 +20023,7 @@ msgstr ""
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Ģenerē rastra karšu platību statistiku."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -19708,47 +20206,48 @@ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
 msgid "Statistics for <%s> updated"
 msgstr "Krāsu tabula [%s] uzstādīta uz %s"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 #, fuzzy
 msgid "Over-riding projection check"
 msgstr "Ignorē projekciju pārbaudi."
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 #, fuzzy
 msgid "Location PROJ_INFO is:\n"
 msgstr "nevar atvērt %s"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 #, fuzzy
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "nevar atvērt %s"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19756,15 +20255,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 
@@ -19828,8 +20327,8 @@ msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
 msgid "Link to raster map <%s> created."
 msgstr "KĻŪDA: <%s> jau eksistē\n"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -19849,13 +20348,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "neiespējami atvērt <%s>"
@@ -19885,22 +20384,22 @@ msgstr "Datu bāzes faila nosaukums"
 msgid "Band to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 #, fuzzy
 msgid "List supported formats and exit"
 msgstr "Izvadīt atbalstītos formātus un tad iziet"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Paplašināt novietojuma apjomu pamatojoties uz jauno datu kopu"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -19912,13 +20411,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "2 līmeņiem jābūt norādītiem"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -19927,32 +20435,32 @@ msgstr "2 līmeņiem jābūt norādītiem"
 msgid "%s= and %s= are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 #, fuzzy
 msgid "Proceeding with import..."
 msgstr "Ignorē projekciju pārbaudi."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "Izejas karte kurā tiks ierakstīti punkti"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Lasam dig failu... \n"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, fuzzy, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "rastra karte <%s> nav atrasta"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "KĻŪDA: <%s> jau eksistē\n"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr ""
@@ -20137,14 +20645,15 @@ msgstr "Izejas rastra kartes nosaukums"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20438,6 +20947,12 @@ msgstr "2 līmeņiem jābūt norādītiem"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Novietojums %s ir izveidots!"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20510,8 +21025,8 @@ msgid "Importing band %d..."
 msgstr "Rakstu jaunu failu... \n"
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20635,7 +21150,7 @@ msgstr "2 līmeņiem jābūt norādītiem"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "nevar atvērt %s"
@@ -21699,7 +22214,8 @@ msgstr "Gājiens: %d\n"
 msgid "Unable to write to temp file"
 msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Rakstu jaunu failu... \n"
@@ -21742,7 +22258,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Drukāt statistiku komandrindas skripta stilā"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22327,23 +22843,23 @@ msgid "unable to open output file"
 msgstr ""
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22352,8 +22868,8 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22459,27 +22975,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22492,22 +23008,32 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Eksistējošas rastra kartes nosaukums"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Eksistējošas rastra kartes nosaukums"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "Eksistējošas rastra kartes nosaukums"
@@ -22535,7 +23061,7 @@ msgstr "Eksistējošas rastra kartes nosaukums"
 msgid "Closing half basins map"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
@@ -22543,210 +23069,215 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Ieejas fails"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Ieejas karte: vidējā virszemes plūssma uz šūnu"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Ieejas karte: reljefs, kas bloķē virszemes ūdens plūsmu, priekš USLE"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 msgid "Minimum size of exterior watershed basin"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Ievades vērtība: maksimālais virszemes plūsmas garums, priekš USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Izvades karte: šūnu skaits, kas drenējas caur katru šūnu"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Nogāžu slīpuma izvades rastra kartes nosaukums"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 msgid "Each half-basin is given a unique value"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 msgid "Slope steepness (S) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Atļaut tikai horizontālu un vertikālu ūdens plūsmu"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "Piedodiet, jums ir jāizvēlas izvades karte."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "Apkārtnes izmērs šūnās"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Kolonas tips nav atbalstīts"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -22911,21 +23442,21 @@ msgstr "ziemeļi"
 msgid "Could not read maximum distance. Aborting."
 msgstr "Nevarēja atrast rastra failu %s"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Nevar ierakstīt ezera rastra karti <%s>!"
@@ -23114,7 +23645,7 @@ msgstr "Izejas draivera nosaukums"
 msgid "Converting <%s>..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, fuzzy, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "KĻŪDA: <%s> jau eksistē\n"
@@ -23191,7 +23722,7 @@ msgid ""
 msgstr "Ģenerē rastra karšu platību statistiku."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23204,11 +23735,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "neiespējami atvērt <%s>"
@@ -23221,61 +23755,86 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "2 līmeņiem jābūt norādītiem"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr ""
 "Ģenerē rastra karti, kur vienlaidus apgabali ir palielināti par vienu šūnu."
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Maksimālā distance starp punktiem kartes vienībās"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Maksimālā distance starp punktiem"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "2 līmeņiem jābūt norādītiem"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Nenosakāms tips: %c"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Maksimālā distance starp punktiem kartes vienībās"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23286,130 +23845,135 @@ msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 msgid "Reading raster map <%s>..."
 msgstr "Lasam dig_att failu...\n"
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "vektora karte <%s> nav atrasta"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Rastra karte, kuras histogramma tiks parādīta"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr ""
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr ""
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "vektora karte <%s> nav atrasta"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "izejas līmeņa nosaukums"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "Izejas karte kurā tiks ierakstīti punkti"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "rastra karte <%s> nav atrasta"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s - nederīgs nosaukums"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, fuzzy, c-format
 msgid "%s: illegal value spec"
 msgstr "%s - nederīgs nosaukums"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Eksistējošas rastra kartes nosaukums"
@@ -23459,7 +24023,7 @@ msgstr "Nenosakāms tips: %c"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 #, fuzzy
 msgid "Unable to close output raster map"
 msgstr "neiespējami atvērt <%s>"
@@ -23582,21 +24146,26 @@ msgstr "Nezināms/nepazīstms tips"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../raster/r.mapcalc/main.c:167
 #, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "%d papildinājuma/atjauninājuma kļūda\n"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -23605,221 +24174,237 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Importē GDAL atbalstītu rastra failu kā jaunu rastra karti."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Importējamais rastra fails"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 msgid "Band(s) to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Importējamais rastra fails"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Janveidojamā novietojuma nosaukums"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Nevajag taisīt atribūtu tabulu"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Neņemt vērā projekciju (izmantot pašreizējā novietojuma projekciju)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "izdrukāt tabulas un iziet"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists"
 msgstr "KĻŪDA: <%s> jau eksistē\n"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Nevar izveidot novietojumu: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Ignorē projekciju pārbaudi."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Neveiksme atverot ieejas dig_att failu"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Rastra kartes nosaukums"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Nevaratvērt datubāzi %s"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 #, fuzzy
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 #, fuzzy
 msgid "Unable to get projection info of target location"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 #, fuzzy
 msgid "Unable to get projection units of target location"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 #, fuzzy
 msgid "Unable to get projection key values of target location"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "%s: Nevarēja nolasīt krāsu tabulu priekš <%s@%s>"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "%s: Nevarēja nolasīt krāsu tabulu priekš <%s@%s>"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Neiespējami atvērt šūnu failu[%s]"
@@ -24060,7 +24645,7 @@ msgstr "Rakstu jaunu failu... \n"
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, fuzzy, c-format
@@ -24407,31 +24992,39 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "Nevar ierakstīt ezera rastra karti <%s>!"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "2 līmeņiem jābūt norādītiem"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Izšķirtspēja"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Ģenerē gadījuma rastra šūnas ar telpiski atkarīgām vērtībām."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Maksimālā distance starp punktiem"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr ""
+"\n"
+"\n"
+"  Punktu skaits: %d\n"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -24875,22 +25468,22 @@ msgstr ""
 "\n"
 "  Punktu skaits: %d\n"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "Nerādīt kategoriju nummurus"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, fuzzy, c-format
 msgid "Pass number %d"
 msgstr "Gājiens: %d\n"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
@@ -24898,11 +25491,11 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -25955,158 +26548,230 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "2 līmeņiem jābūt norādītiem"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+#, fuzzy
+msgid "Scanning data ..."
+msgstr "Drukā ... "
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
+
+#: ../raster/r.in.lidar/main.c:108
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Ieejas fails"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Neveiksme atverot ieejas dig_att failu"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "Nekas nav atrasts.\n"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "Nevarēja atrast rastra failu %s"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Nav ieejas karte(s) norādīta."
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Importējamais rastra fails"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Importējamais rastra fails"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
+#: ../raster/r.in.lidar/main.c:246
 #, fuzzy
-msgid "Override dataset projection (use location's projection)"
-msgstr "Neņemt vērā projekciju (izmantot pašreizējā novietojuma projekciju)"
+msgid "Set computation region to match the new raster map"
+msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
+
+#: ../raster/r.in.lidar/main.c:248
+#, fuzzy
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "rastra karte [%s] nav atrasta"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Nezināms/nepazīstms tips"
+msgid "File <%s> does not exist"
+msgstr "rastra karte [%s] nav atrasta"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-#, fuzzy
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "nevar atvērt %s"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "rastra karte [%s] nav atrasta"
+
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Nezināms/nepazīstms tips"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "nederīgs reģions: %s"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Novietojums %s ir izveidots!"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "Drukā ... "
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "nevar atvērt vektorfailu <%s> iekš <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 #, fuzzy
 msgid "Writing to map ..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
 msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
+msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
+
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Neiespējami atvērt šūnu failu[%s]"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
 #, fuzzy
-msgid "Scanning data ..."
-msgstr "Drukā ... "
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "nevar atvērt %s"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
 msgstr ""
 
 #: ../raster/r.uslek/main.c:57
@@ -26338,12 +27003,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "Nevarēja atrast rastra failu %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, fuzzy, c-format
-msgid "Unable to create file <%s>"
-msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27169,6 +27828,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr "nederīgs reģions: %s"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27221,6 +27887,11 @@ msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 msgid "Writing to output raster map..."
 msgstr "Izejas rastra kartes nosaukums"
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr ""
@@ -27575,27 +28246,27 @@ msgstr "Datu bāzes faila nosaukums"
 msgid "Delete the null file"
 msgstr "Datu bāzes faila nosaukums"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, fuzzy, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "Krāsu tabula [%s] uzstādīta uz %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr ""
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, fuzzy, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr ""
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 #, fuzzy
 msgid "Done."
 msgstr "Padarīts.\n"
@@ -27636,32 +28307,12 @@ msgid "Produces a vector map of specified contours from a raster map."
 msgstr ""
 "Izveido GRASS vektoru karti ar kontūrlīnijām norādītajai rastra kartei."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr ""
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Ūdens līmenis"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr ""
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr ""
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -27672,30 +28323,32 @@ msgstr "2 līmeņiem jābūt norādītiem"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, fuzzy, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "neiespējami atvērt <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 #, fuzzy
 msgid "Writing attributes..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, fuzzy, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Nevar izveidot jaunu rindu: %s"
@@ -28535,11 +29188,6 @@ msgstr "Vektorkartes nosaukums"
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Nogāžu slīpuma izvades rastra kartes nosaukums"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -28850,7 +29498,8 @@ msgstr "Kolonas tips nav atbalstīts"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 #, fuzzy
 msgid "Unable to select data from table"
 msgstr "Nevar atlasīt datus no tabulas"
@@ -29476,11 +30125,11 @@ msgstr "Drukāt statistiku komandrindas skripta stilā"
 msgid "3D Raster map <%s> not found"
 msgstr "rastra karte <%s> nav atrasta"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr ""
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -29663,6 +30312,36 @@ msgstr ""
 msgid "Update range"
 msgstr "Atjaunināt diapazonu"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "vektora karte <%s> nav atrasta"
+
+#: ../raster3d/r3.gradient/main.c:47
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Izejas rastra kartes nosaukums"
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Neizdevās piešķirt atmiņu rindu norādēm"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Eksistējošas rastra kartes nosaukums"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -29819,6 +30498,153 @@ msgstr ""
 msgid "Timestamp format is invalid"
 msgstr ""
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Eksistējošas rastra kartes nosaukums"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "vektora karte <%s> nav atrasta"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Kalkulējam ēnas no DEM..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "Rastra karte, kuras histogramma tiks parādīta"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Vektorkartes nosaukums"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Izejas rastra kartes nosaukums"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s iekš %s: %s"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Līniju skaits"
+
+#: ../raster3d/r3.flow/main.c:244
+msgid "Default unit is cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Nav ieejas karte(s) norādīta."
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Ieejas datubāzes nosaukums"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr ""
+"\n"
+"\n"
+"  Punktu skaits: %d\n"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr ""
+"\n"
+"\n"
+"  Punktu skaits: %d\n"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "drukājamo kopiju sakits"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Nevar aprakstīt tabulu %s"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "vektora karte <%s> nav atrasta"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Rezultējošās rastra kartes nosaukums"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Kalkulējam ēnas no DEM..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30339,6 +31165,60 @@ msgstr "Lasam dig_att failu...\n"
 msgid "Failed to find intersection segment"
 msgstr "Nevarēja atrast rastra failu %s"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Nevar izveidot ierakstu tabulā: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "neiespējami atvērt <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Pārkodēt rastra kartes."
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Izejas karte kurā tiks ierakstīti punkti"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Izejas karte kurā tiks ierakstīti punkti"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Rastra kartes nosaukums"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Nevar atvērt datubāzi  %s pēc adreses %s"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "neiespējami atvērt <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "neiespējami atvērt <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "neiespējami atvērt <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30368,7 +31248,7 @@ msgstr "Vektorkartes nosaukums"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30381,8 +31261,8 @@ msgstr "Vektorkartes nosaukums"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30410,82 +31290,122 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "DB tabula"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Datu bāzes faila nosaukums"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr ""
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 #, fuzzy
 msgid "For operation 'nodes'"
 msgstr "Nezināms/nepazīstms tips"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Neveiksme atverot ieejas dig ieejas failu"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Uz slāni"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "Nezināms/nepazīstms tips"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "nederīgs reģions: %s"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "nevar atvērt vektorfailu <%s> iekš <%s>"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "%-5d līnijas nolasītas un ierakstītas izejā\n"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "Nevajag taisīt atribūtu tabulu"
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -30506,8 +31426,9 @@ msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "Drukāt"
@@ -30541,9 +31462,9 @@ msgstr "Rastra kartes nosaukums"
 msgid "Name of column containing z coordinate"
 msgstr "Rastra kartes nosaukums"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "Pilns izvads"
@@ -30751,13 +31672,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Izejas karte kurā tiks ierakstīti punkti"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "KĻŪDA: <%s> jau eksistē\n"
@@ -30951,27 +31872,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Nerādīt kategoriju nummurus"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Drukāt tikai vektoru kartes reģionu"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -30979,177 +31900,177 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "2 līmeņiem jābūt norādītiem"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Bufera izmērs kartes vienībās"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Nederīgs izvades faila nosaukums"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Bufera izmērs kartes vienībās"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Rastra kartes nosaukums"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Nevar atlasīt datus no tabulas"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Kolonas tips nav atbalstīts"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Nav ieraksta priekš līnijas cat= %d"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Drukā ... "
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "Veidojam telpisko indeksu ..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "Drukā ... "
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Eksportēt līnijas kā poligonus"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 #, fuzzy
 msgid "Removing duplicates..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 #, fuzzy
 msgid "Breaking boundaries..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 #, fuzzy
 msgid "Attaching islands..."
 msgstr "Pievieno kategorijas...\n"
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Kalkulējam ēnas no DEM..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Nevar noteikt poligona centroīdu"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Kalkulējam ēnas no DEM..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Nevar noteikt laukuma centroīdu"
@@ -31537,7 +32458,7 @@ msgstr "Aizvēršana neizdevās."
 msgid "Not enough disk space--cannot write files"
 msgstr "Nevar ierakstīt failus, jo nepietiek diska telpas"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -31589,11 +32510,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -31604,27 +32526,27 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr ""
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 #, fuzzy
 msgid "Node cost column (number)"
 msgstr "atslēgas kolona"
@@ -31653,29 +32575,49 @@ msgstr "Objektu tips"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Rastra kartes nosaukums"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr ""
+"Līmenis: %d\n"
+"kategorija: %d\n"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Maksimālā distance starp punktiem"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr ""
@@ -31683,17 +32625,17 @@ msgstr ""
 "\n"
 "  Punktu skaits: %d\n"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Kalkulējam ēnas no DEM..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 #, fuzzy
 msgid "Cannot get line segment, segment out of line"
 msgstr "Nevar nolasīt faila informāciju"
@@ -32042,100 +32984,100 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Izejas vektora punktu kartes nosaukums"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "Izveidojamo punktu skaits"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Neveiksme atverot ieejas dig ieejas failu"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Rastra kartes nosaukums"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Krāsu tabulas tips"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr ""
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Kalkulējam ēnas no DEM..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "Punktu skaitam jābūt lielākam par 0 (%d doti)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Eksistējošas vektorkartes nosaukums"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr ""
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "vektora karte <%s> nav atrasta"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 #, fuzzy
 msgid "Generating points..."
 msgstr "Rakstu jaunu failu... \n"
@@ -32332,6 +33274,165 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "maksimālais ierāciju skaits"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "Nekas nav atrasts.\n"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Importējamais rastra fails"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+#, fuzzy
+msgid "Preserve only every n-th point"
+msgstr "Līniju skaits"
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Importējamais rastra fails"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+#, fuzzy
+msgid "Skip first n points"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+#, fuzzy
+msgid "Skips the given number of points at the beginning."
+msgstr "Nederīgs soļu skaits: %s"
+
+#: ../vector/v.decimate/main.c:191
+#, fuzzy
+msgid "Copy only n points"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "Nederīgs soļu skaits: %s"
+
+#: ../vector/v.decimate/main.c:199
+msgid "Minimal difference of z values"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Līniju skaits"
+
+#: ../vector/v.decimate/main.c:211
+#, fuzzy
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr "Līniju skaits"
+
+#: ../vector/v.decimate/main.c:216
+#, fuzzy
+msgid "Apply grid-based decimation"
+msgstr "Maksimālā distance starp punktiem kartes vienībās"
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Līniju skaits"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Maksimālā distance starp punktiem kartes vienībās"
+
+#: ../vector/v.decimate/main.c:238
+#, fuzzy
+msgid "Store only the coordinates, throw away categories"
+msgstr "Sākuma punkta koordinātes"
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "nederīgs reģions: %s"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 msgid "Changes type of vector features."
 msgstr ""
@@ -32406,7 +33507,7 @@ msgstr "sistēmas tabulas nevis lietotāja tabulas"
 msgid "Force 2D output even if input is 3D "
 msgstr ""
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -32625,6 +33726,182 @@ msgstr "Nevar atlasīt datus no tabulas"
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "Nekas nav atrasts.\n"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "Rastrs"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "reģions <%s> nav atrasts"
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Nevarēja atrast rastra failu %s"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Eksistējošas vektorkartes nosaukums"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Maksimālā distance starp punktiem"
+
+#: ../vector/v.cluster/main.c:115
+msgid "Minimum number of points to create a cluster"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Drukājamo kopiju sakits"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Apkārtnes izmērs šūnās"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Drukā ... "
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "Apkārtnes izmērs šūnās"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Maksimālā distance starp punktiem"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Rastra karte kura tiks pārkodēta"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Maksimālā distance starp punktiem"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Maksimālā distance starp punktiem kartes vienībās"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Maksimālā distance starp punktiem"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Drukā ... "
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Izejas rastra kartes nosaukums"
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Lasa %s ..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "Nekas nav atrasts.\n"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+#, fuzzy
+msgid "Core density ..."
+msgstr "Ieejas fails"
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "reģions <%s> nav atrasts"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "reģions <%s> nav atrasts"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -32695,7 +33972,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr "Datubāzes konekcija nav definēta"
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -32988,14 +34265,8 @@ msgstr "%d ieraksti atjaunoti\n"
 msgid "Loading data..."
 msgstr "Drukā ... "
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "vektora karte <%s> nav atrasta"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "reģions <%s> nav atrasts"
@@ -33051,17 +34322,17 @@ msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "Drukā ... "
@@ -33229,39 +34500,39 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Nezināms/nepazīstms tips"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 #, fuzzy
 msgid "Node layer (used for cities)"
 msgstr "Līmeņa nosaukums kuru izmantos  HUE(krāsu niansēm)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Name for output binary map (use out=- for stdout)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr ""
@@ -33269,41 +34540,41 @@ msgstr ""
 "\n"
 "  Punktu skaits: %d\n"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 #, fuzzy
 msgid "Not enough cities (< 2)"
 msgstr "Atslēga (id) kolonas nosaukums"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Nav ieraksta priekš līnijas (cat= %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Galapunkts nesasniedzams\n"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Neiespējami atvērt šūnu failu[%s]"
@@ -33474,6 +34745,21 @@ msgstr "Izvēlēties tipu: līnija vai poligons"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "Novietojums %s ir izveidots!"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Nezināms/nepazīstms tips"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Ignorē projekciju pārbaudi."
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 msgid "layer"
 msgstr "slānis"
@@ -33593,7 +34879,7 @@ msgid "Processing features..."
 msgstr "Izveidot punktus visā garumā ilīniju garumā"
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "Nevar noteikt laukuma centroīdu"
@@ -33671,7 +34957,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Neiespējami atvērt šūnu failu[%s]"
@@ -34066,7 +35352,7 @@ msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 msgid "%d records updated"
 msgstr "%d ieraksti atjaunoti\n"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, fuzzy, c-format
 msgid "%d update errors"
@@ -34166,9 +35452,10 @@ msgstr "Nezināms/nepazīstms tips"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Neiespējami atvērt šūnu failu[%s]"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Drukā ... "
 
 #: ../vector/v.transform/main.c:290
@@ -34617,7 +35904,7 @@ msgstr "Nevarēja atrast rastra failu %s"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Kolonas tips nav atbalstīts"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Drukā ... "
@@ -34709,6 +35996,10 @@ msgstr "atslēgas kolona"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 #, fuzzy
 msgid "Columns"
 msgstr "kolona 2"
@@ -34786,55 +36077,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "%d vektora kategorijas trūkst tabulā\n"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "reģions <%s> nav atrasts"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "Nevar atrast ieejas vektoru karti <%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, fuzzy, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d vektora kategorijas ielādētas\n"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d vektorā dubultojas kategorijas\n"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, fuzzy, c-format
 msgid "%d categories loaded from table"
 msgstr "%d kategorijas ielādētas no tabulas\n"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, fuzzy, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d vektora kategorijas trūkst tabulā\n"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d ieraksti atjaunoti\n"
@@ -35716,53 +37012,62 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 #, fuzzy
 msgid "Prints vector map attributes."
 msgstr "Drukāt tikai vektoru kartes reģionu"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Lasam dig failu... \n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "nevar atvērt vektorfailu <%s> iekš <%s>"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 #, fuzzy
 msgid "Unable to open select cursor"
 msgstr "Neiespējami atvērt šūnu failu[%s]"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Nevar atlasīt datus no tabulas"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "Nevar atrast vektoru karti [%s]"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "Nerādīt kategoriju nummurus"
@@ -36057,7 +37362,7 @@ msgstr[0] "%d ieraksti atlasīti no tabulas"
 msgstr[1] "%d ieraksti atlasīti no tabulas"
 msgstr[2] "%d ieraksti atlasīti no tabulas"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "neiespējami atvērt <%s>"
@@ -36083,19 +37388,19 @@ msgstr "Datubāzes konekcija nav definēta"
 msgid "Querying database... "
 msgstr "Lasa %s ..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 #, fuzzy
 msgid "Unable to fetch record"
 msgstr "Nevar ienest datus"
@@ -36112,6 +37417,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "3d skata fails <%s> nav atrasts"
+
 #: ../vector/v.to.db/update.c:83
 #, fuzzy
 msgid "Updating database..."
@@ -36380,7 +37690,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr "Datubāzes konekcija nav definēta"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Kolonas tips nav atbalstīts"
@@ -36400,58 +37711,58 @@ msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, fuzzy, c-format
 msgid "No point with category [%d]"
 msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, fuzzy, c-format
 msgid "[%d] input format errors"
 msgstr "%d papildinājuma/atjauninājuma kļūda\n"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, fuzzy, c-format
 msgid "[%d] points of given category missing"
 msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 #, fuzzy
 msgid "Maximum distance to the network"
 msgstr "Maksimālā distance starp punktiem"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -37041,46 +38352,50 @@ msgstr "Maksimālais punktu skaits vienā segmentā"
 msgid "Add new vertices, but do not split"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Rakstīt līniju virsotnes"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Nezināms/nepazīstms tips"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "%d punkti ierakstīti izejas kartē\n"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s iekš %s: %s"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s iekš %s: %s"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Drukājamo kopiju sakits"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
@@ -37178,11 +38493,6 @@ msgstr "vektora karte <%s> nav atrasta"
 msgid "Reading categories..."
 msgstr "Pievieno kategorijas...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Drukā ... "
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37359,7 +38669,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Iestarpināt punktus starp līniju virsotnēm"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Rastra izejas fails"
@@ -37620,223 +38930,244 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Eksportēt GRASS rastru uz bināro masīvu."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 #, fuzzy
 msgid "Location containing input vector map"
 msgstr "Nevar atrast ieejas karti <%s>\n"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 #, fuzzy
 msgid "Mapset containing input vector map"
 msgstr "Vektorkartes nosaukums"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Rastra kartes nosaukums"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Vektorkartes nosaukums"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 #, fuzzy
 msgid "3D vector maps only"
 msgstr "Nevar atrast vektoru karti [%s]"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Rastra karte kura tiks pārkodēta"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "rastra karte <%s> nav atrasta"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "3d skata fails <%s> nav atrasts"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 #, fuzzy
 msgid "Reading input vector map"
 msgstr "Neveiksme atverot ieejas dig ieejas failu"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "vektora karte <%s> nav atrasta"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 #, fuzzy
 msgid "Error in pj_do_transform"
 msgstr "Kļūda iekš pj_do_proj"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Izveido GRASS vektoru karti ar kontūrlīnijām norādītajai rastra kartei."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 #, fuzzy
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "Izejas karte kurā tiks ierakstīti punkti"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "vektors, topoloģija"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "Nevajag taisīt atribūtu tabulu"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 #, fuzzy
 msgid "Key columns differ"
 msgstr "Atslēga (id) kolonas nosaukums"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 #, fuzzy
 msgid "Number of columns differ"
 msgstr "Attēlojamā rastra karte"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 #, fuzzy
 msgid "Column names differ"
 msgstr "Atslēga (id) kolonas nosaukums"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 #, fuzzy
 msgid "Column types differ"
 msgstr "Atslēga (id) kolonas nosaukums"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 #, fuzzy
 msgid "Length of string columns differ"
 msgstr "Attēlojamā rastra karte"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 #, fuzzy
 msgid "Key column not found"
 msgstr "reģions <%s> nav atrasts"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 #, fuzzy
 msgid "The output map is not 3D"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, fuzzy, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Lasam dig_att failu...\n"
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "%d ieraksti atjaunoti\n"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr ""
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 #, fuzzy
 msgid "Cannot fetch row"
 msgstr "Nevar ienest datus"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 #, fuzzy
 msgid "Unknown column type"
 msgstr "Nezināms/nepazīstms tips"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, fuzzy, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Nevar izveidot jaunu rindu: %s"
@@ -38527,17 +39858,12 @@ msgstr[2] "%-5d centroīdi nolasīti\n"
 msgid "Operation not implemented"
 msgstr "reģions <%s> nav atrasts"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
 
-#: ../vector/v.in.ogr/main.c:142
-#, fuzzy
-msgid "OGR datasource name"
-msgstr "datbāzes vārds"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -38548,7 +39874,7 @@ msgstr ""
 "\t\tESRI Shapefile: mape ar failiem\n"
 "\t\tMapInfo fails: mape ar failiem"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -38559,284 +39885,284 @@ msgstr ""
 "\t\tESRI Shapefile: faila nosaukums\n"
 "\t\tMapInfo fails: mapinfo faila nosaukums"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 #, fuzzy
 msgid "Import subregion only"
 msgstr "Drukāt tikai rastra kartes reģionu"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Ezera laukums %f kvadrātmetri"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "Izvades rastra karte ar ezeru"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "rotēt/grozīt izdruku"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Eksportēt līnijas kā poligonus"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Nevar noteikt laukuma centroīdu"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Eksistējošas rastra kartes nosaukums"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "atslēgas kolona"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "%-5d punktu kategorijas nolasītas\n"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 msgid "Force 2D output even if input is 3D"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 #, fuzzy
 msgid "Limit import to the current region"
 msgstr "Sākuma punkts ir ārpus pašreizējā reģiona."
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, fuzzy, c-format
 msgid "Unable to open data source <%s>"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, fuzzy, c-format
 msgid "Layer <%s> not available"
 msgstr "rastra karte <%s> nav atrasta"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "rastra karte <%s> nav atrasta"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "Vektorkartes nosaukums"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "reģions <%s> nav atrasts"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Bufera izmērs kartes vienībās"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Rastra kartes nosaukums"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Atslēgas kolonna '%s' nav atrasta"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Kolonas tips nav atbalstīts"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "reģions <%s> nav atrasts"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
+#: ../vector/v.in.ogr/main.c:1128
 #, fuzzy, c-format
-msgid "Column type not supported (%s)"
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Kolonas tips nav atbalstīts"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Eksportēt līnijas kā poligonus"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Drukā ... "
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 #, fuzzy
 msgid "Cleaning boundaries at nodes..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Kalkulējam ēnas no DEM..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 #, fuzzy
 msgid "Writing centroids..."
 msgstr "Rakstīt līniju virsotnes"
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -38844,99 +40170,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "%-5d mirušo/neizmantoto punktu kategorijas izlaistas\n"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Drukā ... "
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -38983,17 +40309,21 @@ msgstr "Nevar rakstīt <%s>"
 msgid "Unknown geometry type"
 msgstr "Nezināms/nepazīstms tips"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Izejas rastra kartes nosaukums"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Importējamais rastra fails"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39005,22 +40335,22 @@ msgstr ""
 "\t\tESRI Shapefile: faila nosaukums\n"
 "\t\tMapInfo fails: mapinfo faila nosaukums"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Izvades rastra karte ar ezeru"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -39083,17 +40413,17 @@ msgid ""
 msgstr ""
 "Izveido GRASS vektoru karti ar kontūrlīnijām norādītajai rastra kartei."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Nevar izveidot tabulu: %s"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "KĻŪDA: <%s> jau eksistē\n"
@@ -39230,59 +40560,59 @@ msgstr "neiespējami atvērt <%s>"
 msgid "Unable to close new 3d raster map"
 msgstr "neiespējami atvērt <%s>"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 msgid "isolines"
 msgstr "izolīnijas"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 #, fuzzy
 msgid "Costs for isolines"
 msgstr "vektora karte <%s> nav atrasta"
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Kalkulējam ēnas no DEM..."
@@ -39446,6 +40776,138 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Datubāzes konekcija nav definēta"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Nav ieraksta priekš līnijas cat= %d"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Nav ieraksta priekš līnijas cat= %d"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "reģions <%s> nav atrasts"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Ieejošā karte satur līnijas"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Nevajag taisīt atribūtu tabulu"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%-5d līniju kategorijas nolasītas\n"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Slāņa numurs vai nosaukums"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Slāņa numurs vai nosaukums"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Nevajag taisīt atribūtu tabulu"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Nevajag taisīt atribūtu tabulu"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Nevajag taisīt atribūtu tabulu"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "vektora karte <%s> nav atrasta"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "atslēgas kolona"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "Lieto brīvi izvēlētas krāsas"
+
+#: ../vector/v.out.lidar/main.c:594
+#, fuzzy
+msgid "Column with green color"
+msgstr "Lieto brīvi izvēlētas krāsas"
+
+#: ../vector/v.out.lidar/main.c:600
+#, fuzzy
+msgid "Column with blue color"
+msgstr "Lieto brīvi izvēlētas krāsas"
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Sākuma punkts ir ārpus pašreizējā reģiona."
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "DB tabula"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -39643,7 +41105,7 @@ msgstr "Kalkulējam ēnas no DEM..."
 msgid "Invalid segment number %d for %d points"
 msgstr "Nederīgs soļu skaits: %s"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "2 līmeņiem jābūt norādītiem"
@@ -39958,51 +41420,239 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "rastrs <%s> nav atrasts"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "neiespējami atvērt <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Nevar atvērt datubāzi  %s pēc adreses %s"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
+#: ../vector/v.in.lidar/main.c:135
 #, fuzzy
-msgid "Subregion"
-msgstr "Lasam dig failu... \n"
+msgid "Layer number to store number of returns as category"
+msgstr "Slāņa numurs vai nosaukums"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Nevajag taisīt atribūtu tabulu"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Izejas vektora punktu kartes nosaukums"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Eksistējošas vektorkartes nosaukums"
+
+#: ../vector/v.in.lidar/main.c:229
+#, fuzzy
+msgid "Do not import every n-th point"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Importējamais rastra fails"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Vienkāršajā režīmā"
+
+#: ../vector/v.in.lidar/main.c:239
+#, fuzzy
+msgid "Import only every n-th point"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Importējamais rastra fails"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "Nederīgs soļu skaits: %s"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Ieejošā karte satur līnijas"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Sākuma punkta koordinātes"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Nevajag taisīt atribūtu tabulu"
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Nevar atvērt datubāzi  %s pēc adreses %s"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Nevajag taisīt atribūtu tabulu"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
+msgstr "Rakstu jaunu failu... \n"
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:770
+#, fuzzy, c-format
+msgid "%llu input points were skipped at the begging using offset"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:787
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%lu input points were outside of the area specified by mask"
 msgstr "%d punkti ielādēti\n"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:789
 #, fuzzy, c-format
-msgid "%d input points were not valid"
+msgid "%lu input points were filtered out by return number"
 msgstr "%d punkti ielādēti\n"
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:791
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered out by class number"
 msgstr "%d punkti ielādēti\n"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d punkti ielādēti\n"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:795
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr "%d punkti ielādēti\n"
 
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d punkti ielādēti\n"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Vaicājuma koordinātes"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40166,7 +41816,7 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -41199,11 +42849,6 @@ msgstr "neiespējami atvērt <%s>"
 msgid "Resolving conflicts..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Rakstu jaunu failu... \n"
-
 #: ../vector/v.generalize/main.c:78
 msgid "simplification"
 msgstr ""
@@ -41378,114 +43023,389 @@ msgstr "Rakstu jaunu failu... \n"
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, fuzzy, c-format
 msgid "Generalization (%s)..."
 msgstr "Rakstu jaunu failu... \n"
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Izšķirtspēja"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr ""
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Ieejošā karte satur līnijas"
+#~ msgid "Vector map profiling tool"
+#~ msgstr "vektora karte <%s> nav atrasta"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
+#~ msgid "Input filter"
+#~ msgstr "Ieejas fails"
+
+#, fuzzy
+#~ msgid "Coordinates for profiling line nodes"
+#~ msgstr "Vienu koordinātu pāri uz līniju, lūdzu"
+
+#, fuzzy
+#~ msgid "Profiling line"
+#~ msgstr "Izveidot punktus visā garumā ilīniju garumā"
+
+#, fuzzy
+#~ msgid "Buffer (tolerance) for points in map units"
+#~ msgstr "Bufera izmērs kartes vienībās"
+
+#, fuzzy
+#~ msgid "Output formating"
+#~ msgstr "Izejas rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "Number of significant digits"
+#~ msgstr "Līniju skaits"
+
+#, fuzzy
+#~ msgid "Use features only from specified layer"
+#~ msgstr "Drukāt saules pozīcijas apraskstu komandrindas skripta stilā"
+
+#, fuzzy
+#~ msgid "Name for profile line and buffer output map"
+#~ msgstr "Izejas rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "Profile line and buffer around it will be written"
+#~ msgstr "Izejas karte kurā tiks ierakstīti punkti"
+
+#, fuzzy
+#~ msgid "Do not print column names"
+#~ msgstr "Atslēga (id) kolonas nosaukums"
+
+#, fuzzy
+#~ msgid "Do not print 3D vector data (z values)"
+#~ msgstr "Nevajag taisīt atribūtu tabulu"
+
+#, fuzzy
+#~ msgid "Profiling line map"
+#~ msgstr "Izveidot punktus visā garumā ilīniju garumā"
+
+#, fuzzy
+#~ msgid "Vector map containing profiling line"
 #~ msgstr "Ieejošā karte satur līnijas"
 
 #, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Ieejas rastra faila nosaukums"
+#~ msgid "Profiling line map layer"
+#~ msgstr "Izveidot punktus visā garumā ilīniju garumā"
 
 #, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Ieejas rastra faila nosaukums"
+#~ msgid "Layer 0 not supported"
+#~ msgstr "Kolonas tips nav atbalstīts"
+
+#, fuzzy
+#~ msgid "<%s> is not a valid vector map name"
+#~ msgstr "izejas līmeņa nosaukums"
+
+#, fuzzy
+#~ msgid "At least profile start and end coordinates are required!"
+#~ msgstr "Vaicājuma koordinātes"
 
 #, fuzzy
 #~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr "Ieejas rastra faila nosaukums"
+#~ "No database connection defined for map <%s> layer %d, but WHERE condition "
+#~ "is provided"
+#~ msgstr "Datubāzes konekcija nav definēta"
+
+#, fuzzy
+#~ msgid "No features match Your query"
+#~ msgstr "Vektorkartes nosaukums"
+
+#, fuzzy
+#~ msgid "Unabale to get attribute data for cat %d"
+#~ msgstr "Nevar iatlasīt datus no tabulas"
+
+#, fuzzy
+#~ msgid "Unable to create 2D raster <%s>"
+#~ msgstr "Rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "Unable to create 3D raster <%s>"
+#~ msgstr "Rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "Error writing cell (%d,%d,%d) with value %f, nrows = %d"
+#~ msgstr "Kļūda meiģinot nolasīt dbmscap failu\n"
+
+#, fuzzy
+#~ msgid "Unable to initialize G-submatrix..."
+#~ msgstr "Nevar atrast ieejas karti <%s>\n"
+
+#, fuzzy
+#~ msgid "3D raster"
+#~ msgstr "rastrs"
+
+#, fuzzy
+#~ msgid "Name of input vector points map"
+#~ msgstr "Vektorkartes nosaukums"
+
+#, fuzzy
+#~ msgid "File to write the report"
+#~ msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
+
+#, fuzzy
+#~ msgid "Name for output 2D/3D raster map"
+#~ msgstr "Izejas rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "Vertical variogram function"
+#~ msgstr "Vertikālais mērogs"
+
+#, fuzzy
+#~ msgid "Attribute column containing input values for interpolation"
+#~ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
+
+#, fuzzy
+#~ msgid "Number of horizontal lags"
+#~ msgstr "Punktu skaits:"
+
+#, fuzzy
+#~ msgid "Report is being written to %s..."
+#~ msgstr "%d punkti ierakstīti izejas kartē\n"
 
 #, fuzzy
 #~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr "Ieejas rastra faila nosaukums"
+#~ "Number of vertical pieces must be at least 1. Default value will be "
+#~ "used..."
+#~ msgstr "Drukājamo kopiju sakits"
 
 #, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "%s - nederīgs nosaukums"
+#~ msgid "Please set up name of output layer..."
+#~ msgstr "Izejas rastra kartes nosaukums"
 
 #, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Neņemt vērā projekciju (izmantot pašreizējā novietojuma projekciju)"
+#~ msgid "Coordinates of point no. %d are zeros."
+#~ msgstr "Vienu koordinātu pāri uz līniju, lūdzu"
+
+#, fuzzy
+#~ msgid "Computing %s variogram properties..."
+#~ msgstr "Kalkulējam ēnas no DEM..."
+
+#, fuzzy
+#~ msgid "Anisotropy ratio must be greater than zero..."
+#~ msgstr "2 līmeņiem jābūt norādītiem"
+
+#, fuzzy
+#~ msgid "Error writing file"
+#~ msgstr "Kļūda meiģinot nolasīt dbmscap failu\n"
+
+#, fuzzy
+#~ msgid "Error closing file..."
+#~ msgstr "Kļūda atverot šūnu failu"
+
+#, fuzzy
+#~ msgid "Unable to plot variogram"
+#~ msgstr "Neiespējami atvērt šūnu failu[%s]"
+
+#, fuzzy
+#~ msgid "Memory allocation failed..."
+#~ msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
+
+#, fuzzy
+#~ msgid "Interpolating unknown values..."
+#~ msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
+
+#, fuzzy
+#~ msgid "Error writing result into output layer..."
+#~ msgstr "Izejas rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "Reading values from attribute column <%s>..."
+#~ msgstr "Nevajag taisīt atribūtu tabulu"
+
+#, fuzzy
+#~ msgid "Reading coordinates..."
+#~ msgstr "Lasa %s ..."
+
+#, fuzzy
+#~ msgid "Error reading input coordinates z..."
+#~ msgstr "Lasa %s ..."
+
+#, fuzzy
+#~ msgid "%d features skipped, only points are accepted"
+#~ msgstr "Importējamais rastra fails"
 
 #, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "Neizdevās piešķirt atmiņu rindu norādēm"
+#~ msgid "Unused points: %d (out of region)"
+#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
 
 #, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
+#~ msgid "Nothing to scan..."
+#~ msgstr "Nekas nav atrasts.\n"
+
+#, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
 #~ msgstr "2 līmeņiem jābūt norādītiem"
 
 #, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
 #~ msgstr "2 līmeņiem jābūt norādītiem"
 
 #, fuzzy
+#~ msgid "Unpacks a vector map packed with v.pack."
+#~ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
+
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Neņemt vērā projekciju (izmantot pašreizējā novietojuma projekciju)"
+
+#, fuzzy
+#~ msgid "Unpacks a raster map packed with r.pack."
+#~ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
+
+#, fuzzy
+#~ msgid "%s: Error writing temporary file"
+#~ msgstr "Kļūda meiģinot nolasīt dbmscap failu\n"
+
+#, fuzzy
+#~ msgid "Input options"
+#~ msgstr "nevar atvērt %s"
+
+#, fuzzy
+#~ msgid "Output options"
+#~ msgstr "Izejas rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "reģions <%s> nav atrasts"
+
+#, fuzzy
+#~ msgid "output map <%s> exists"
+#~ msgstr "reģions <%s> nav atrasts"
+
+#, fuzzy
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "Neņemt vērā projekciju (izmantot pašreizējā novietojuma projekciju)"
+
+#, fuzzy
+#~ msgid "Could not rewind input file"
+#~ msgstr "nevar atvērt vektorfailu <%s> iekš <%s>"
+
+#, fuzzy
+#~ msgid "[%s] not found"
+#~ msgstr "<%s> nav atrasts"
+
+#, fuzzy
+#~ msgid "Topographic index ln(a / tan(b))"
+#~ msgstr "Izejas rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "Name for basins raster map"
+#~ msgstr "Eksistējošas rastra kartes nosaukums"
+
+#, fuzzy
+#~ msgid "OGR datasource name"
+#~ msgstr "datbāzes vārds"
+
+#, fuzzy
+#~ msgid "Column type not supported (%s)"
+#~ msgstr "Kolonas tips nav atbalstīts"
+
+#, fuzzy
+#~ msgid "Subregion"
+#~ msgstr "Lasam dig failu... \n"
+
+#, fuzzy
+#~ msgid "Scanning %d points..."
+#~ msgstr "Rakstu jaunu failu... \n"
+
+#, fuzzy
+#~ msgid "%d points imported"
+#~ msgstr "%d punkti ielādēti\n"
+
+#, fuzzy
+#~ msgid "%d input points were not valid"
+#~ msgstr "%d punkti ielādēti\n"
+
+#, fuzzy
+#~ msgid "%d input points were outside of the selected area"
+#~ msgstr "%d punkti ielādēti\n"
+
+#, fuzzy
+#~ msgid "%d input points were filtered out by return number"
+#~ msgstr "%d punkti ielādēti\n"
+
+#, fuzzy
+#~ msgid "%d input points were filtered out by class number"
+#~ msgstr "%d punkti ielādēti\n"
+
+#, fuzzy
+#~ msgid "%d duplicate categories in vector"
+#~ msgstr "%d vektorā dubultojas kategorijas\n"
+
+#, fuzzy
+#~ msgid "Buffering failed"
+#~ msgstr "Lasam dig failu... \n"
+
+#, fuzzy
+#~ msgid "Location: %s\n"
+#~ msgstr "nevar atvērt %s"
+
+#, fuzzy
+#~ msgid " %s\n"
+#~ msgstr "%s"
+
+#, fuzzy
+#~ msgid "Region\n"
+#~ msgstr "Lasam dig failu... \n"
+
+#, fuzzy
+#~ msgid "Username to set for DB connection"
+#~ msgstr "Nevar izveidot projekcijas failus: %s"
+
+#, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Nevar izveidot projekcijas failus: %s"
+
+#, fuzzy
 #~ msgid "time series"
 #~ msgstr "Attēlojamā rastra karte"
 
@@ -41530,28 +43450,8 @@ msgstr ""
 #~ msgstr "Līniju skaits"
 
 #, fuzzy
-#~ msgid "Location: %s\n"
-#~ msgstr "nevar atvērt %s"
-
-#, fuzzy
-#~ msgid " %s\n"
-#~ msgstr "%s"
-
-#, fuzzy
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "reģions <%s> nav atrasts"
-
-#, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "reģions <%s> nav atrasts"
-
-#, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "neiespējami atvērt <%s>"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Lapas garums (pēc noklusējuma %d rindas)"
@@ -41560,24 +43460,14 @@ msgstr ""
 #~ msgstr "Lapas platums (pēc noklusējuma %d simboli)"
 
 #, fuzzy
-#~ msgid "%s: Error writing temporary file"
-#~ msgstr "Kļūda meiģinot nolasīt dbmscap failu\n"
-
-#, fuzzy
-#~ msgid "Input options"
-#~ msgstr "nevar atvērt %s"
-
-#, fuzzy
-#~ msgid "Output options"
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "[%s] not found"
-#~ msgstr "<%s> nav atrasts"
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
 
 #, fuzzy
-#~ msgid "Unpacks a vector map packed with v.pack."
-#~ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
+#~ msgid "Field separator"
+#~ msgstr "Izvades lauku atdalītājs"
 
 #~ msgid ""
 #~ "Exports a vector map to a GPS receiver or file format supported by "
@@ -41609,1162 +43499,26 @@ msgstr ""
 #~ msgstr "Tekošā reģiona nosaukums"
 
 #, fuzzy
-#~ msgid "Create 3D charts"
-#~ msgstr "Vektorkartes nosaukums"
-
-#, fuzzy
-#~ msgid "File <%s> already exists and will be overwritten"
-#~ msgstr "Izejas karte kurā tiks ierakstīti punkti"
-
-#, fuzzy
-#~ msgid "Starting monitor <%s>..."
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "Unable to copy render command file"
-#~ msgstr "Rastra izejas fails"
-
-#, fuzzy
-#~ msgid "Unable to delete file <%s>"
-#~ msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
-
-#, fuzzy
-#~ msgid "Unable to delete directory <%s>"
-#~ msgstr "neiespējami atvērt <%s>"
-
-#, fuzzy
-#~ msgid "Unable to read file <%s>"
-#~ msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
-
-#, fuzzy
-#~ msgid "Unable to open file '%s'"
-#~ msgstr "Neiespējami atvērt šūnu failu[%s]"
-
-#, fuzzy
-#~ msgid "No support files found for monitor <%s>"
-#~ msgstr "Nevar atrast ieejas vektoru karti <%s>"
-
-#, fuzzy
-#~ msgid "Print path to support files of currently selected monitor and exit"
-#~ msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
-
-#, fuzzy
-#~ msgid "Unable to execute():"
-#~ msgstr "neiespējami atvērt <%s>"
-
-#, fuzzy
-#~ msgid "Error in sqlite3_exec():"
-#~ msgstr "Kļūda atverot šūnu failu"
-
-#, fuzzy
-#~ msgid "Username"
-#~ msgstr "pārdēvēt"
-
-#, fuzzy
-#~ msgid "Password"
-#~ msgstr "Gājiens: %d\n"
-
-#, fuzzy
-#~ msgid "Hostname"
-#~ msgstr "Tabulas nosaukums"
-
-#, fuzzy
-#~ msgid "Name of workspace file to load on start-up"
-#~ msgstr "Importējamais rastra fails"
-
-#, fuzzy
-#~ msgid ""
-#~ "Apply temporal and spatial operations on space time raster datasets using "
-#~ "temporal raster algebra."
-#~ msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "r.mapcalc expression for temporal and spatial analysis of space time "
-#~ "raster datasets"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Comma separated list of coordinates"
-#~ msgstr "Komatu attdalīta vērtību liste: piem. 1.4,3.8,13"
-
-#, fuzzy
-#~ msgid "Name for the output file or \"-\" in case stdout should be used"
-#~ msgstr "Vektorkartes nosaukums"
-
-#, fuzzy
-#~ msgid "Number of r.what processes to run in parallel"
-#~ msgstr "Drukājamo kopiju sakits"
-
-#, fuzzy
-#~ msgid ""
-#~ "Assume that the dataset has the same projection as the current location"
-#~ msgstr "%d punkti ierakstīti izejas kartē\n"
-
-#, fuzzy
-#~ msgid "Manages display frames on the user's graphics monitor."
-#~ msgstr "Izvēlies fontu kurš tiks parādīts lietotāja grafiskajā vidē."
-
-#~ msgid "frame"
-#~ msgstr "rāmis"
-
-#, fuzzy
-#~ msgid "Create a new frame if doesn't exist and select"
-#~ msgstr "Izveidot jaunu failu, ja neeksistē"
-
-#, fuzzy
-#~ msgid "Print name of current frame and exit"
-#~ msgstr "drukā tekošās karšu biblotēkas/mapset meklēšanas ceļu"
-
-#, fuzzy
-#~ msgid "Print names of all frames including 'at' position and exit"
-#~ msgstr "izdrukāt tekošā pieslēguma parametrus un iziet"
-
-#, fuzzy
-#~ msgid ""
-#~ "Produces a space time vector dataset of specified contours from a space "
-#~ "time raster dataset."
-#~ msgstr ""
-#~ "Izveido GRASS vektoru karti ar kontūrlīnijām norādītajai rastra kartei."
-
-#, fuzzy
-#~ msgid "Register empty vector maps"
-#~ msgstr "Rastra ievades kartes"
-
-#, fuzzy
-#~ msgid "Do not create attribute tables"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid ""
-#~ "Apply temporal and spatial operations on space time 3D raster datasets "
-#~ "using temporal 3D raster algebra."
-#~ msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "Algebraic expression for temporal and spatial analysis of space time 3D "
-#~ "raster datasets"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts a space time raster dataset into a space time vector dataset"
-#~ msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
-
-#, fuzzy
-#~ msgid "query_layer,query_column"
-#~ msgstr "kolona 2"
-
-#, fuzzy
-#~ msgid "query_column"
-#~ msgstr "kolona 2"
-
-#, fuzzy
-#~ msgid ""
-#~ "List available extensions in the official GRASS GIS Addons repository"
-#~ msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
-
-#, fuzzy
-#~ msgid ""
-#~ "List available extensions in the official GRASS GIS Addons repository "
-#~ "including module description"
-#~ msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
-
-#, fuzzy
-#~ msgid ""
-#~ "List available extensions in the official GRASS GIS Addons repository "
-#~ "(shell script style)"
-#~ msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
-
-#, fuzzy
-#~ msgid "Aggregation type of the space time raster or 3D raster dataset"
-#~ msgstr "Datu bāzes faila nosaukums"
-
-#, fuzzy
-#~ msgid "Keyword to be searched"
-#~ msgstr "Importējamais rastra fails"
-
-#, fuzzy
-#~ msgid "Shell script format"
-#~ msgstr "Drukāt statistiku komandrindas skripta stilā"
-
-#, fuzzy
-#~ msgid "JSON format"
-#~ msgstr "Kartes formāts:"
-
-#, fuzzy
-#~ msgid "Name for output image (or text file for -t)"
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "output to text file"
-#~ msgstr "Izejas draivera nosaukums"
-
-#, fuzzy
-#~ msgid "Kappa value"
-#~ msgstr "Lasam dig failu... \n"
-
-#, fuzzy
-#~ msgid "Using Linke constant: %lf"
-#~ msgstr "Lietojamās kartes centra koordinātes\n"
-
-#, fuzzy
-#~ msgid "Using Linke map <%s>"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Using albedo constant: %lf"
-#~ msgstr "Lietojamās kartes centra koordinātes\n"
-
-#, fuzzy
-#~ msgid "Using albedo map <%s>"
-#~ msgstr "nederīgs reģions: %s"
-
-#, fuzzy
-#~ msgid "Using slope constant: %lf"
-#~ msgstr "Lietojamās kartes centra koordinātes\n"
-
-#, fuzzy
-#~ msgid "Using slope map <%s>"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Using aspect constant: %lf"
-#~ msgstr "Lietojamās kartes centra koordinātes\n"
-
-#, fuzzy
-#~ msgid "Using aspect map <%s>"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "List available bands including band type in dataset and exit"
-#~ msgstr "izveidot sarakstu ar visām pieejamajām karšu biblotēkām/mapsets"
-
-#, fuzzy
-#~ msgid "Closing TCI and SPI maps"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Closing SPI map"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Stream power index a * tan(b)"
-#~ msgstr "Nogāžu slīpuma izvades rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid ""
-#~ "Use the native resolution and extent of the raster map, instead of the "
-#~ "current region"
-#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
-
-#, fuzzy
-#~ msgid "zones option and region flag -r are mutually exclusive"
-#~ msgstr "2 līmeņiem jābūt norādītiem"
-
-#, fuzzy
-#~ msgid "Calculate distance to nearest NULL cell"
-#~ msgstr "Maksimālā distance starp punktiem"
-
-#, fuzzy
-#~ msgid "List input and output maps"
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "Name of the output file that contains the imported map names"
-#~ msgstr "Importējamais rastra fails"
-
-#, fuzzy
-#~ msgid "Unable to open the map names output text file"
-#~ msgstr "Neveiksme atverot ieejas dig_att failu"
-
-#, fuzzy
-#~ msgid "Maximum number of cells to be created"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "  Punktu skaits: %d\n"
+#~ msgid "No flag given"
+#~ msgstr "Nav norādīta karte"
 
 #, fuzzy
-#~ msgid "Cannot create temporary file with segments of a raster map"
+#~ msgid "Unable to create file '%s'"
 #~ msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
 
 #, fuzzy
-#~ msgid "File containing names of LAS input files"
-#~ msgstr "Neveiksme atverot ieejas dig_att failu"
-
-#, fuzzy
-#~ msgid "Grid-decimated point cloud"
-#~ msgstr "Nekas nav atrasts.\n"
-
-#, fuzzy
-#~ msgid "Subtract raster values from the z coordinates"
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "Transform"
-#~ msgstr "Nevarēja atrast rastra failu %s"
-
-#, fuzzy
-#~ msgid "Set computation region to match the new raster map"
-#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
-
-#, fuzzy
-#~ msgid ""
-#~ "Set computation region to match the 2D extent and resolution of the newly "
-#~ "created new raster map"
-#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
-
-#, fuzzy
-#~ msgid "File <%s> does not exist"
-#~ msgstr "rastra karte [%s] nav atrasta"
-
-#, fuzzy
-#~ msgid "Raster map <%s> created. %lu points from %d files found in region."
-#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
-
-#, fuzzy
-#~ msgid "Raster map <%s> created. %lu points found in region."
-#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
-
-#, fuzzy
-#~ msgid "Cannot open file %s for reading"
-#~ msgstr "Neiespējami atvērt šūnu failu[%s]"
-
-#, fuzzy
-#~ msgid "gradient"
-#~ msgstr "vektora karte <%s> nav atrasta"
-
-#, fuzzy
-#~ msgid "Name for output 3D raster map(s)"
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Failed to allocate memory for blocks"
-#~ msgstr "Neizdevās piešķirt atmiņu rindu norādēm"
-
-#, fuzzy
-#~ msgid "Writing gradient 3D raster maps..."
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Please provide three 3D raster maps"
-#~ msgstr "Eksistējošas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Vector seed map <%s> not found"
-#~ msgstr "vektora karte <%s> nav atrasta"
-
-#, fuzzy
-#~ msgid "Computes 3D flow lines and 3D flow accumulation."
-#~ msgstr "Kalkulējam ēnas no DEM..."
-
-#, fuzzy
-#~ msgid "Name of vector map with points from which flow lines are generated"
-#~ msgstr "Rastra karte, kuras histogramma tiks parādīta"
-
-#, fuzzy
-#~ msgid "Name for vector map of flow lines"
-#~ msgstr "Vektorkartes nosaukums"
-
-#, fuzzy
-#~ msgid "Name for output flowaccumulation 3D raster"
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Name for 3D raster sampled by flowlines"
-#~ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
-
-#, fuzzy
-#~ msgid "length in map units"
-#~ msgstr "%s iekš %s: %s"
-
-#, fuzzy
-#~ msgid "Unit of integration step"
-#~ msgstr "Līniju skaits"
-
-#, fuzzy
-#~ msgid "Integration"
-#~ msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
-
-#, fuzzy
-#~ msgid "Integration step in selected unit"
-#~ msgstr "Nav ieejas karte(s) norādīta."
-
-#, fuzzy
-#~ msgid "Default step is 0.25 cell"
-#~ msgstr "Ieejas datubāzes nosaukums"
-
-#, fuzzy
-#~ msgid "Maximum number of steps"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "  Punktu skaits: %d\n"
-
-#, fuzzy
-#~ msgid "Maximum error of integration"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "  Punktu skaits: %d\n"
-
-#, fuzzy
-#~ msgid "Number of cells between flow lines in x, y and z direction"
-#~ msgstr "drukājamo kopiju sakits"
-
-#, fuzzy
-#~ msgid "Create and fill attribute table"
-#~ msgstr "Nevar aprakstīt tabulu %s"
-
-#, fuzzy
-#~ msgid "Error during reading seed vector map"
-#~ msgstr "Rezultējošās rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Testing flow lines."
-#~ msgstr "Kalkulējam ēnas no DEM..."
-
-#, fuzzy
-#~ msgid "Unable to insert data into turntable."
-#~ msgstr "Nevar izveidot ierakstu tabulā: %s"
-
-#, fuzzy
-#~ msgid "Unable to open vector map <%s>."
-#~ msgstr "neiespējami atvērt <%s>"
-
-#, fuzzy
-#~ msgid "Arc layer <%s> does not exist in map <%s>."
-#~ msgstr "Pārkodēt rastra kartes."
-
-#, fuzzy
-#~ msgid ""
-#~ "Layer <%s> already exist in map <%s>.\n"
-#~ "It will be overwritten by tlayer data."
-#~ msgstr "Izejas karte kurā tiks ierakstīti punkti"
-
-#, fuzzy
-#~ msgid ""
-#~ "Layer <%s> already exist in map <%s>.\n"
-#~ "It will be overwritten by tuclayer data."
-#~ msgstr "Izejas karte kurā tiks ierakstīti punkti"
-
-#, fuzzy
-#~ msgid "Unable to create vector map <%s>."
-#~ msgstr "Rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Unable to open database <%s> using driver <%s>"
-#~ msgstr "Nevar atvērt datubāzi  %s pēc adreses %s"
-
-#, fuzzy
-#~ msgid "Unable to create turntable <%s>."
-#~ msgstr "neiespējami atvērt <%s>"
-
-#, fuzzy
-#~ msgid "Unable to connect table <%s> to vector map <%s>."
-#~ msgstr "neiespējami atvērt <%s>"
-
-#, fuzzy
-#~ msgid "Unable to create index for column <%s> in table <%s>."
-#~ msgstr "neiespējami atvērt <%s>"
-
-#, fuzzy
-#~ msgid "Turntable"
-#~ msgstr "DB tabula"
-
-#, fuzzy
-#~ msgid "Turntable layer"
-#~ msgstr "Uz slāni"
-
-#, fuzzy
-#~ msgid "Layer with turntable"
-#~ msgstr ""
-#~ "Līmenis: %d\n"
-#~ "kategorija: %d\n"
-
-#, fuzzy
-#~ msgid "decimation"
-#~ msgstr "maksimālais ierāciju skaits"
-
-#, fuzzy
-#~ msgid "Decimates a point cloud"
-#~ msgstr "Nekas nav atrasts.\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "For example, 5 will import 80 percent of points. If not specified, all "
-#~ "points are copied"
-#~ msgstr "Importējamais rastra fails"
-
-#, fuzzy
-#~ msgid "Preserve only every n-th point"
-#~ msgstr "Līniju skaits"
-
-#, fuzzy
-#~ msgid ""
-#~ "For example, 4 will import 25 percent of points. If not specified, all "
-#~ "points are copied"
-#~ msgstr "Importējamais rastra fails"
-
-#, fuzzy
-#~ msgid "Skip first n points"
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "Skips the given number of points at the beginning."
-#~ msgstr "Nederīgs soļu skaits: %s"
-
-#, fuzzy
-#~ msgid "Copy only n points"
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "Copies only the given number of points"
-#~ msgstr "Nederīgs soļu skaits: %s"
-
-#, fuzzy
-#~ msgid "Preserve only n points per grid cell"
-#~ msgstr "Līniju skaits"
-
-#, fuzzy
-#~ msgid ""
-#~ "Preserves only the given number of points per grid cell in grid-based "
-#~ "decimation"
-#~ msgstr "Līniju skaits"
-
-#, fuzzy
-#~ msgid "Apply grid-based decimation"
-#~ msgstr "Maksimālā distance starp punktiem kartes vienībās"
-
-#, fuzzy
-#~ msgid "Only one point per cat in grid cell"
-#~ msgstr "Līniju skaits"
-
-#, fuzzy
-#~ msgid "Use z in grid decimation"
-#~ msgstr "Maksimālā distance starp punktiem kartes vienībās"
-
-#, fuzzy
-#~ msgid "Store only the coordinates, throw away categories"
-#~ msgstr "Sākuma punkta koordinātes"
-
-#, fuzzy
-#~ msgid "Invalid zrange <%s>"
-#~ msgstr "nederīgs reģions: %s"
-
-#, fuzzy
-#~ msgid "point cloud"
-#~ msgstr "Nekas nav atrasts.\n"
-
-#, fuzzy
-#~ msgid "cluster"
-#~ msgstr "Rastrs"
-
-#, fuzzy
-#~ msgid "clump"
-#~ msgstr "reģions <%s> nav atrasts"
-
-#, fuzzy
-#~ msgid "Performs cluster identification."
-#~ msgstr "Nevarēja atrast rastra failu %s"
-
-#, fuzzy
-#~ msgid "Layer number or name for cluster ids"
-#~ msgstr "Eksistējošas vektorkartes nosaukums"
-
-#, fuzzy
-#~ msgid "Maximum distance to neighbors"
-#~ msgstr "Maksimālā distance starp punktiem"
-
-#, fuzzy
-#~ msgid "Clustering method"
-#~ msgstr "cnevar atvērt nepieciešamo daļu faila priekš %s"
-
-#, fuzzy
-#~ msgid "Minimum number of points must be at least 2"
-#~ msgstr "Drukājamo kopiju sakits"
-
-#, fuzzy
-#~ msgid "Option %s must be positive"
-#~ msgstr "Apkārtnes izmērs šūnās"
-
-#, fuzzy
-#~ msgid "Counting input points ..."
-#~ msgstr "Drukā ... "
-
-#, fuzzy
-#~ msgid "Not enough points in input, nothing to do"
-#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
-
-#, fuzzy
-#~ msgid "Creating search index ..."
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "Option %s must be a positive number"
-#~ msgstr "Apkārtnes izmērs šūnās"
-
-#, fuzzy
-#~ msgid "Estimating maximum distance ..."
-#~ msgstr "Maksimālā distance starp punktiem"
-
-#, fuzzy
-#~ msgid "No neighbors found"
-#~ msgstr "Rastra karte kura tiks pārkodēta"
-
-#, fuzzy
-#~ msgid "Distance to the %d nearest neighbor:"
-#~ msgstr "Maksimālā distance starp punktiem"
-
-#, fuzzy
-#~ msgid "Standard deviation: %g"
-#~ msgstr "Maksimālā distance starp punktiem kartes vienībās"
-
-#, fuzzy
-#~ msgid "Estimated maximum distance: %g"
-#~ msgstr "Maksimālā distance starp punktiem"
-
-#, fuzzy
-#~ msgid "Building clusters ..."
-#~ msgstr "Drukā ... "
-
-#, fuzzy
-#~ msgid "No clusters found, adjust option %s"
-#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
-
-#, fuzzy
-#~ msgid "Write out cluster ids ..."
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Loading points ..."
-#~ msgstr "Lasa %s ..."
-
-#, fuzzy
-#~ msgid "Not enough points found"
-#~ msgstr "Nekas nav atrasts.\n"
-
-#, fuzzy
-#~ msgid "Core density ..."
-#~ msgstr "Ieejas fails"
-
-#, fuzzy
-#~ msgid "%d clusters found"
-#~ msgstr "reģions <%s> nav atrasts"
-
-#, fuzzy
-#~ msgid "%d outliers found"
-#~ msgstr "reģions <%s> nav atrasts"
-
-#, fuzzy
-#~ msgid "4 values required for '%s' option"
-#~ msgstr "Novietojums %s ir izveidots!"
-
-#, fuzzy
-#~ msgid "Unknown return filter value <%s>"
-#~ msgstr "Nezināms/nepazīstms tips"
-
-#, fuzzy
-#~ msgid "Overriding projection check"
-#~ msgstr "Ignorē projekciju pārbaudi."
-
-#, fuzzy
-#~ msgid "Column <%s> not found in the table <%s>. Creating..."
-#~ msgstr "reģions <%s> nav atrasts"
-
-#, fuzzy
-#~ msgid "Category index for vector map <%s> is not sorted"
+#~ msgid "Env file not found"
 #~ msgstr "3d skata fails <%s> nav atrasts"
 
 #, fuzzy
-#~ msgid "Do not expect input with topology"
-#~ msgstr "vektors, topoloģija"
-
-#, fuzzy
-#~ msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
-#~ msgstr "Kolonas tips nav atbalstīts"
-
-#, fuzzy
-#~ msgid "Database connection not defined for layer <%d>"
-#~ msgstr "Datubāzes konekcija nav definēta"
-
-#, fuzzy
-#~ msgid "No record for cat = %d"
-#~ msgstr "Nav ieraksta priekš līnijas cat= %d"
-
-#, fuzzy
-#~ msgid "NULL value for cat = %d"
-#~ msgstr "Nav ieraksta priekš līnijas cat= %d"
+#~ msgid "PID file not found"
+#~ msgstr "3d skata fails <%s> nav atrasts"
 
 #, fuzzy
-#~ msgid "Column type is not numeric (type = %d, cat = %d"
+#~ msgid "Command file not found"
 #~ msgstr "reģions <%s> nav atrasts"
 
 #, fuzzy
-#~ msgid "Exports vector points as LAS point cloud"
-#~ msgstr "Ieejošā karte satur līnijas"
-
-#, fuzzy
-#~ msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
-#~ msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
-
-#, fuzzy
-#~ msgid "Layer number to store generated point ID as category"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Categories"
-#~ msgstr "%-5d līniju kategorijas nolasītas\n"
-
-#, fuzzy
-#~ msgid "Layer number to store return number as category"
-#~ msgstr "Slāņa numurs vai nosaukums"
-
-#, fuzzy
-#~ msgid "Layer number to store class number as category"
-#~ msgstr "Slāņa numurs vai nosaukums"
-
-#, fuzzy
-#~ msgid "Layer number where RGB color is stored as category"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Layer number where red color is stored as category"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Layer number where blue color is stored as category"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Column with return number"
-#~ msgstr "vektora karte <%s> nav atrasta"
-
-#, fuzzy
-#~ msgid "RGB color definition column"
-#~ msgstr "atslēgas kolona"
-
-#, fuzzy
-#~ msgid "Column with red color"
-#~ msgstr "Lieto brīvi izvēlētas krāsas"
-
-#, fuzzy
-#~ msgid "Column with green color"
-#~ msgstr "Lieto brīvi izvēlētas krāsas"
-
-#, fuzzy
-#~ msgid "Column with blue color"
-#~ msgstr "Lieto brīvi izvēlētas krāsas"
-
-#, fuzzy
-#~ msgid "Limit export to the current region"
-#~ msgstr "Sākuma punkts ir ārpus pašreizējā reģiona."
-
-#, fuzzy
-#~ msgid "Ignore color table"
-#~ msgstr "DB tabula"
-
-#, fuzzy
-#~ msgid "Failed to open vector <%s>"
-#~ msgstr "neiespējami atvērt <%s>"
-
-#, fuzzy
-#~ msgid "Layer number to store number of returns as category"
-#~ msgstr "Slāņa numurs vai nosaukums"
-
-#, fuzzy
-#~ msgid "Layer number where RBG colors is stored as category"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Name of vector map with areas where the points should be imported"
-#~ msgstr "Izejas vektora punktu kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Layer number or name for mask option"
-#~ msgstr "Eksistējošas vektorkartes nosaukums"
-
-#, fuzzy
-#~ msgid "Do not import every n-th point"
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid ""
-#~ "For example, 5 will import 80 percent of points. If not specified, all "
-#~ "points are imported"
-#~ msgstr "Importējamais rastra fails"
-
-#, fuzzy
-#~ msgid "Decimation"
-#~ msgstr "Vienkāršajā režīmā"
-
-#, fuzzy
-#~ msgid "Import only every n-th point"
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid ""
-#~ "For example, 4 will import 25 percent of points. If not specified, all "
-#~ "points are imported"
-#~ msgstr "Importējamais rastra fails"
-
-#, fuzzy
-#~ msgid "Import only n points"
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "Imports only the given number of points"
-#~ msgstr "Nederīgs soļu skaits: %s"
-
-#, fuzzy
-#~ msgid "Invert mask when selecting points"
-#~ msgstr "Ieejošā karte satur līnijas"
-
-#, fuzzy
-#~ msgid "Store only the coordinates"
-#~ msgstr "Sākuma punkta koordinātes"
-
-#, fuzzy
-#~ msgid "Do not add categories to points and do not create attribute table"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Storing generated point IDs as categories in the layer %d"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Scanning %llu points..."
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "Scanning %lu points..."
-#~ msgstr "Rakstu jaunu failu... \n"
-
-#, fuzzy
-#~ msgid "%llu points imported (limit was %llu)"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu points imported"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu input points were not valid"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu input points were outside of the selected area"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu input points were outside of the area specified by mask"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu input points were filtered out by return number"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu input points were filtered out by class number"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu input points were filtered outsite the range for z coordinate"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu input points were skipped at the begging using offset"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%llu input points were skipped by count-based decimation"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu points imported (limit was %d)"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu points imported"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu input points were not valid"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu input points were outside of the selected area"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu input points were outside of the area specified by mask"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu input points were filtered out by return number"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu input points were filtered out by class number"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu input points were filtered outsite the range for z coordinate"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu input points were skipped at the begging using offset"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "%lu input points were skipped by count-based decimation"
-#~ msgstr "%d punkti ielādēti\n"
-
-#, fuzzy
-#~ msgid "The rest of points was ignored"
-#~ msgstr "Vaicājuma koordinātes"
-
-#, fuzzy
-#~ msgid "Vector map profiling tool"
-#~ msgstr "vektora karte <%s> nav atrasta"
-
-#, fuzzy
-#~ msgid "Input filter"
-#~ msgstr "Ieejas fails"
-
-#, fuzzy
-#~ msgid "Coordinates for profiling line nodes"
-#~ msgstr "Vienu koordinātu pāri uz līniju, lūdzu"
-
-#, fuzzy
-#~ msgid "Profiling line"
-#~ msgstr "Izveidot punktus visā garumā ilīniju garumā"
-
-#, fuzzy
-#~ msgid "Buffer (tolerance) for points in map units"
-#~ msgstr "Bufera izmērs kartes vienībās"
-
-#, fuzzy
-#~ msgid "Output formating"
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Number of significant digits"
-#~ msgstr "Līniju skaits"
-
-#, fuzzy
-#~ msgid "Use features only from specified layer"
-#~ msgstr "Drukāt saules pozīcijas apraskstu komandrindas skripta stilā"
-
-#, fuzzy
-#~ msgid "Name for profile line and buffer output map"
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Profile line and buffer around it will be written"
-#~ msgstr "Izejas karte kurā tiks ierakstīti punkti"
-
-#, fuzzy
-#~ msgid "Do not print column names"
-#~ msgstr "Atslēga (id) kolonas nosaukums"
-
-#, fuzzy
-#~ msgid "Do not print 3D vector data (z values)"
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Profiling line map"
-#~ msgstr "Izveidot punktus visā garumā ilīniju garumā"
-
-#, fuzzy
-#~ msgid "Vector map containing profiling line"
-#~ msgstr "Ieejošā karte satur līnijas"
-
-#, fuzzy
-#~ msgid "Profiling line map layer"
-#~ msgstr "Izveidot punktus visā garumā ilīniju garumā"
-
-#, fuzzy
-#~ msgid "Layer 0 not supported"
-#~ msgstr "Kolonas tips nav atbalstīts"
-
-#, fuzzy
-#~ msgid "<%s> is not a valid vector map name"
-#~ msgstr "izejas līmeņa nosaukums"
-
-#, fuzzy
-#~ msgid "At least profile start and end coordinates are required!"
-#~ msgstr "Vaicājuma koordinātes"
-
-#, fuzzy
-#~ msgid ""
-#~ "No database connection defined for map <%s> layer %d, but WHERE condition "
-#~ "is provided"
-#~ msgstr "Datubāzes konekcija nav definēta"
-
-#, fuzzy
-#~ msgid "No features match Your query"
-#~ msgstr "Vektorkartes nosaukums"
-
-#, fuzzy
-#~ msgid "Unabale to get attribute data for cat %d"
-#~ msgstr "Nevar iatlasīt datus no tabulas"
-
-#, fuzzy
-#~ msgid "Unable to create 2D raster <%s>"
-#~ msgstr "Rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Unable to create 3D raster <%s>"
-#~ msgstr "Rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Error writing cell (%d,%d,%d) with value %f, nrows = %d"
-#~ msgstr "Kļūda meiģinot nolasīt dbmscap failu\n"
-
-#, fuzzy
-#~ msgid "Unable to initialize G-submatrix..."
-#~ msgstr "Nevar atrast ieejas karti <%s>\n"
-
-#, fuzzy
-#~ msgid "3D raster"
-#~ msgstr "rastrs"
-
-#, fuzzy
-#~ msgid "Name of input vector points map"
-#~ msgstr "Vektorkartes nosaukums"
-
-#, fuzzy
-#~ msgid "File to write the report"
-#~ msgstr "Nav iespēju atvērt šūnu failu priekš[%s]"
-
-#, fuzzy
-#~ msgid "Name for output 2D/3D raster map"
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Vertical variogram function"
-#~ msgstr "Vertikālais mērogs"
-
-#, fuzzy
-#~ msgid "Attribute column containing input values for interpolation"
-#~ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
-
-#, fuzzy
-#~ msgid "Number of horizontal lags"
-#~ msgstr "Punktu skaits:"
-
-#, fuzzy
-#~ msgid "Report is being written to %s..."
-#~ msgstr "%d punkti ierakstīti izejas kartē\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of vertical pieces must be at least 1. Default value will be "
-#~ "used..."
-#~ msgstr "Drukājamo kopiju sakits"
-
-#, fuzzy
-#~ msgid "Please set up name of output layer..."
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Coordinates of point no. %d are zeros."
-#~ msgstr "Vienu koordinātu pāri uz līniju, lūdzu"
-
-#, fuzzy
-#~ msgid "Computing %s variogram properties..."
-#~ msgstr "Kalkulējam ēnas no DEM..."
-
-#, fuzzy
-#~ msgid "Anisotropy ratio must be greater than zero..."
-#~ msgstr "2 līmeņiem jābūt norādītiem"
-
-#, fuzzy
-#~ msgid "Error writing file"
-#~ msgstr "Kļūda meiģinot nolasīt dbmscap failu\n"
-
-#, fuzzy
-#~ msgid "Error closing file..."
-#~ msgstr "Kļūda atverot šūnu failu"
-
-#, fuzzy
-#~ msgid "Unable to plot variogram"
-#~ msgstr "Neiespējami atvērt šūnu failu[%s]"
-
-#, fuzzy
-#~ msgid "Memory allocation failed..."
-#~ msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
-
-#, fuzzy
-#~ msgid "Interpolating unknown values..."
-#~ msgstr "nevar nolasīt līniju ieejas paaugstinājumu kartē "
-
-#, fuzzy
-#~ msgid "Error writing result into output layer..."
-#~ msgstr "Izejas rastra kartes nosaukums"
-
-#, fuzzy
-#~ msgid "Reading values from attribute column <%s>..."
-#~ msgstr "Nevajag taisīt atribūtu tabulu"
-
-#, fuzzy
-#~ msgid "Reading coordinates..."
-#~ msgstr "Lasa %s ..."
-
-#, fuzzy
-#~ msgid "Error reading input coordinates z..."
-#~ msgstr "Lasa %s ..."
-
-#, fuzzy
-#~ msgid "%d features skipped, only points are accepted"
-#~ msgstr "Importējamais rastra fails"
-
-#, fuzzy
-#~ msgid "Unused points: %d (out of region)"
-#~ msgstr "Drukāt tekošo reģionu pēc platuma/garuma"
-
-#, fuzzy
-#~ msgid "Nothing to scan..."
-#~ msgstr "Nekas nav atrasts.\n"
-
-#, fuzzy
-#~ msgid "Unpacks a raster map packed with r.pack."
-#~ msgstr "Izmantojamās rastra kartes nosaukums priekš <%s>"
-
-#, fuzzy
-#~ msgid "%d duplicate categories in vector"
-#~ msgstr "%d vektorā dubultojas kategorijas\n"
-
-#, fuzzy
-#~ msgid "Buffering failed"
-#~ msgstr "Lasam dig failu... \n"
-
-#, fuzzy
-#~ msgid "Region\n"
-#~ msgstr "Lasam dig failu... \n"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "neiespējami atvērt <%s>"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Konvertē OGR vektorus uz GRASS vektoriem. Pieejamie draiveri:\n"
-
-#, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "Izvades lauku atdalītājs"
-
-#, fuzzy
-#~ msgid "No flag given"
-#~ msgstr "Nav norādīta karte"
-
-#, fuzzy
 #~ msgid "Renaming reclass maps"
 #~ msgstr "Pārkodēt rastra kartes."
 
@@ -42840,6 +43594,10 @@ msgstr ""
 #~ msgstr "Izvēlies fontu kurš tiks parādīts lietotāja grafiskajā vidē."
 
 #, fuzzy
+#~ msgid "Text color or \"none\""
+#~ msgstr "Teksta krāsa"
+
+#, fuzzy
 #~ msgid "Color in GRASS format for drawing text"
 #~ msgstr "Krāsa zīmējamajam tekstam"
 
diff --git a/locale/po/grassmods_pl.po b/locale/po/grassmods_pl.po
index 7166565..d9d4d40 100644
--- a/locale/po/grassmods_pl.po
+++ b/locale/po/grassmods_pl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_pl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2013-07-16 12:26+0100\n"
 "Last-Translator: Milena Nowotarska <do.milenki * gmail.com>\n"
 "Language-Team: Polish <grass-translations at lists.osgeo.org>\n"
@@ -24,10 +24,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -45,6 +45,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -73,12 +74,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -124,7 +126,7 @@ msgstr "Uwzględniaj wartości NULL podczas wyświetlania"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -132,14 +134,16 @@ msgid "Color file for <%s> not available"
 msgstr "Plik kolorów dla <%s> nie jest dostępny"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -158,7 +162,9 @@ msgstr "Plik kolorów dla <%s> nie jest dostępny"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -179,7 +185,7 @@ msgstr "Plik kolorów dla <%s> nie jest dostępny"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -191,7 +197,7 @@ msgstr "Plik kolorów dla <%s> nie jest dostępny"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -215,17 +221,17 @@ msgstr "Plik kolorów dla <%s> nie jest dostępny"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -236,7 +242,7 @@ msgstr "Plik kolorów dla <%s> nie jest dostępny"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -386,10 +392,13 @@ msgstr "Wyświetl legendę dla mapy rastrowej w aktywnej ramce monitora"
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "Wejście"
 
@@ -436,22 +445,24 @@ msgstr "Podzbiór"
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "Użyj przedziału dla zakresu wartości mapy w legendzie (min, max)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Kolor tekstu"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Ustawienia"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "nazwa czcionki"
 
@@ -464,11 +475,13 @@ msgstr "Rozmiar czcionki"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "Scieżka do pliku z fontami"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -565,14 +578,20 @@ msgstr "Zakres kolorów przewyższa górną granicę bieżących danych"
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "użyj=%s poza zasięgiem [%.3f, %3f]. (rozszerz poprzez range= ?)"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Nic do pokazania! (brak kategorii z etykietami?)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 #, fuzzy
 msgid ""
@@ -617,11 +636,11 @@ msgstr "Tytuł rysunku"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -702,23 +721,26 @@ msgstr "Lista kategorii które mają być wyświetlone (mapy z danymi całkowity
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -728,14 +750,19 @@ msgstr "Lista kategorii które mają być wyświetlone (mapy z danymi całkowity
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -784,50 +811,51 @@ msgstr "%s: %s - niewłaściwa nazwa"
 msgid "[%s]: No such color"
 msgstr "[%s]: Nie ma takiego koloru"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Wyświetl informacje na temat aktywnego monitora wyświetlania"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
 # współrzędne?
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Wyświetl prostokątny ekran (lewy, prawy, górny, dolny)"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "Wyświetl wymiary ekranu (szerokość, wysokość)"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "Wyświetl prostokątną aktywną ramkę"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Wyświetl wymiary ekranu (szerokość, wysokość)"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "Wyświetl prostokątny ekran bieżącego regionu"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -835,31 +863,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Połączenie z bazą danych nie zostało zdefiniowane dla warstwy %d"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -869,10 +898,10 @@ msgstr "Połączenie z bazą danych nie zostało zdefiniowane dla warstwy %d"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -886,7 +915,7 @@ msgstr "Połączenie z bazą danych nie zostało zdefiniowane dla warstwy %d"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Nie można otworzyć bazy danych <%s> za pomocą sterownika <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -912,7 +941,7 @@ msgstr "Typ wykresu"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr "Właściwości wykresu"
 
@@ -954,7 +983,12 @@ msgstr "Maksymalna wartość uzyta dla współrzędnych wykresu słupkowego"
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Utwórz plik wyjściowy 3D"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -962,20 +996,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -990,40 +1026,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nie można otworzyć mapy wektorowej <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1048,10 +1084,6 @@ msgstr "Współrzędne początku i końca"
 msgid "Line color"
 msgstr "Kolor linii"
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr "Kolor tekstu lub \"none\""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1110,12 +1142,15 @@ msgstr "L: dodaj M: usuń R: wyjdź i zapisz\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1134,17 +1169,18 @@ msgstr "L: dodaj M: usuń R: wyjdź i zapisz\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1157,10 +1193,10 @@ msgstr "L: dodaj M: usuń R: wyjdź i zapisz\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1168,21 +1204,22 @@ msgstr "L: dodaj M: usuń R: wyjdź i zapisz\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "wektor"
 
@@ -1227,16 +1264,18 @@ msgstr "Nie znaleziono mapy wektorowej <%s>"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1248,22 +1287,22 @@ msgstr "Nie znaleziono mapy wektorowej <%s>"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1320,10 +1359,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1375,12 +1414,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Nazwa mapy rastrowej która ma zostać użyta dla <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "wekor, interpolacja"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1389,28 +1428,28 @@ msgstr ""
 "Nakłada wartości kategorii rastra na warstwie rastrowej wyświetlonej na "
 "monitorze graficznym"
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Kolor siatki"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "Liczba znaczących cyfr (tylko dane zmiennoprzecinkowe)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Plik rastrowy punktów początkowych"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "Pobierz kolor dla tekstu z wartości koloru rastra"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1420,7 +1459,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1429,7 +1468,7 @@ msgstr[1] "Kolor siatki"
 msgstr[2] "Kolor siatki"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1440,11 +1479,11 @@ msgstr ""
 "Bieżące ustawienia okna mogą być zbyt długie. Wyświetlane komórki mogą być "
 "za małe dla kategorii  "
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
@@ -1452,65 +1491,65 @@ msgstr ""
 "Wyświetla strzałki reprezentujące kierunek ekspozycji mapy "
 "rastrowejzawierającej informacje o ekspozycji"
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Nazwa wyświetanej rastrowej mapy ekspozycji"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Rodzaj istniejącej rastrowej mapy ekspozycji"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Kolor wyświetlanych strzałek"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Kolor wyświetlanych strzałek"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Kolor wyświetlanych X's (wartości zerowych Null)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Kolor wyświetlania nieznanych informacji"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "Rysuj strzałkę co komórkę rastra w kierunku północnym"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "Mapa rastrowa zawierająca wartości użyte dla długości strzałek"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Współczynnik skalowy dla strzałek (przewyższenie mapy)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "Niedozwolona wartość dla współczynnika skali"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "Niedozwolona wartość dla współczynnika "
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 "Przewyższenie jest dostępne dla map w formacie GRASS i (compas aspect maps)"
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 #, fuzzy
 msgid "Scale option requires magnitude_map"
 msgstr "opcja skalowania wymaga mapy_przewyższenia"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "Problem przy czytaniu pliku z zakresem wartości"
@@ -1642,17 +1681,17 @@ msgid ""
 "\n"
 msgstr "Odległość do sieci = %f, odległość od sieci = %f\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1660,7 +1699,7 @@ msgstr "wyświetl indeks"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1669,52 +1708,52 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Typ łuku"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 #, fuzzy
 msgid "Arc layer"
 msgstr "Warstwa zapytania"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 #, fuzzy
 msgid "Node layer"
 msgstr "Warstwa zapytania"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1738,11 +1777,11 @@ msgstr "Renderowanie"
 msgid "Background color"
 msgstr "Tło"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 #, fuzzy
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "%s nie działa w lokacjach o współrzędnych geograficznych"
@@ -1763,7 +1802,7 @@ msgstr "%s - niewłaściya wartość x"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1788,7 +1827,7 @@ msgstr "wyświetl indeks"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1796,7 +1835,7 @@ msgstr "wyświetl indeks"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2170,7 +2209,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2188,15 +2227,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Opcje Geo-Grid są niedostępne dla projekcji geograficznych"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "Nie można pobrać kluczowych wartości projekcji bieżącej lokacji"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "Nie można ustalić parametrów projekcji LatLong"
@@ -2451,12 +2490,13 @@ msgstr "Nieodpowiednie współrzędne <%s,%s>"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2530,15 +2570,15 @@ msgstr "Niejasne żądanie dotyczące współrzędnych geograficznych elipsoidy"
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "Proszę określić współrzędne geograficzne elipsoidy za pomocą -l lub -w"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "Nie można pobrać informacji o projekcji bieżącej lokacji"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "Nie można pobrać jednostek projekcji bieżącej lokacji"
 
@@ -2562,11 +2602,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "Nie można odczytać mapy wektorowej "
 
@@ -2773,7 +2814,7 @@ msgstr "Kolor wypełnienia poligonu"
 msgid "Colorize features according color definition column"
 msgstr "Nazwa kolumny definicji koloru (do użycia z flagą -a)"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Nie określono kolumny definicji koloru."
@@ -3081,41 +3122,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]: nie ma takiego koloru. Użyj  '%s'"
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Plik '%s' już istnieje i zostanie nadpisany."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Nie można zaktualizować bieżącego regionu"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Mapa wyjściowa"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Raster <%s> już istnieje."
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Nie można utworzyć pliku <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "Zapisuje mapę wektorową <%s>  ..."
 
-#: ../display/d.mon/start.c:163
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Nie można odczytać pliku zakresu"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
 #, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+msgid "Unable to create file <%s>"
+msgstr "Nie można utworzyć pliku <%s>"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3127,34 +3175,53 @@ msgstr "Raster <%s> już istnieje."
 msgid "Monitor <%s> is not running"
 msgstr "plik <%s> nie został odnaleziony"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "nie znaleziono pliku <%s> widoku 3d "
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Nie można utworzyć pliku <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "plik nie został odnaleziony: %s"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Nie można otworzyć źródła danych OGR '%s'"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "Nie można otworzyć pliku <%s>"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Nie można utworzyć pliku <%s>"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Współrzędne mapy"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "Kolumna <%s> nie została znaleziona"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Nie mozna otworzyć pliku wejściowego <%s@%s>."
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Nie można odczytać pliku zakresu"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Nie można odnależć pliku wejściowego"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3166,8 +3233,8 @@ msgid "Name of monitor to start"
 msgstr "Nazwa wyjściowego skryptu"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3191,9 +3258,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3274,12 +3342,12 @@ msgid "List running monitors and exit"
 msgstr "Wyświetl listę wspieranych formatów i wyjdź"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3292,33 +3360,34 @@ msgstr "Wyświetl listę wspieranych formatów i wyjdź"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Wyświetl"
 
@@ -3332,60 +3401,78 @@ msgstr "Wyświetl parametry bieżącego połączenia i wyjdź"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Wyświetl parametry bieżącego połączenia i wyjdź"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "Nie wybieraj automatycznie przy starcie"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "Nie można odczytać koloru"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Otwórz formę w trybie edycji"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr "zignorowany\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, fuzzy, c-format
 msgid "Monitor <%s> released"
 msgstr "Żaden monitor nie został wybrany"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 #, fuzzy
 msgid "No monitor selected"
 msgstr "Żadna czcionka nie została wybrana "
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Tekst powinien być wprowadzony lub użyte -c"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3436,7 +3523,7 @@ msgid "No map name given"
 msgstr "Nie podano nazwy mapy"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Nie można utworzyć mapy rastrowej <%s>"
@@ -3571,9 +3658,9 @@ msgstr "...próba zakończona powodzeniem."
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Nie można otworzyć pliku <%s> do zapisu"
@@ -3623,9 +3710,9 @@ msgstr "Połączenie"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Format"
 
@@ -3639,11 +3726,11 @@ msgstr "Wyjściowy separator pionowy"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Nazwa pliku wyjściowego (w razie braku lub \"-\" wyjście do stdout)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "Nie uwzględniaj nazw kolumn w wyniku"
 
@@ -3651,7 +3738,7 @@ msgstr "Nie uwzględniaj nazw kolumn w wyniku"
 msgid "Describe query only (don't run it)"
 msgstr "Tylko opisz zapytanie (nie wykonuj go)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Wynik pionowy (zamiast poziomego)"
 
@@ -3684,7 +3771,7 @@ msgstr "Tylko zapytanie testowe, bez jego wykonania"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3716,7 +3803,7 @@ msgstr "baza danych, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3728,7 +3815,7 @@ msgstr "Nie można opisać tabeli"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3865,8 +3952,8 @@ msgstr "Nie możn odczytać pliku zakresu"
 msgid "Unable to create index:"
 msgstr "Nie można utworzyć indeksu"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Połączenie"
@@ -3940,7 +4027,7 @@ msgstr "Nie można utworzyć plików odwzorowania: %s"
 msgid "Unable to allocate handle."
 msgstr "Nie można ulokować pamięci"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3977,7 +4064,7 @@ msgstr "Nie można wybrać atrybutów"
 msgid "Unable to select view names."
 msgstr "Nie można wybrać atrybutów"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -4017,12 +4104,12 @@ msgstr "Brak wolnej pamięci"
 msgid "No path given"
 msgstr "Nie podano nazwy mapy"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Nie można wybrać atrybutów"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Nie można wybrać danych z tabeli"
@@ -4070,29 +4157,29 @@ msgid "Taken not found"
 msgstr "nie znaleziono"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "Nie można utworzyć indeksu"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "Nie można ustawić rozmiaru"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Nie można wybrać atrybutów"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "Nie można utworzyć tabeli <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Nie można otworzyć bazy <%s>"
@@ -4139,6 +4226,11 @@ msgstr ""
 "kolumna '%s' : typ logiczny (boolean) jest zachowany jako char(1), wartości: "
 "0 (fałsz), 1 (prawda)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Nie można ustawić rozmiaru"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Nieznana opcja w definicji bazy danych dla PostgreSQL: "
@@ -4225,7 +4317,8 @@ msgstr "MAPSET <%s> nie został znaleziony"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4307,22 +4400,22 @@ msgstr "Nie można otworzyć źródła danych OGR '%s'"
 msgid "Unable to open database:"
 msgstr "Nie można otworzyć bazy: <%s>"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Połączenie bazy danych nie zdefiniowane"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "BŁĄD: <%s> już istnieje\n"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Nie można utworzyć tabeli: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "MAPSET <%s> nie został znaleziony"
@@ -4337,6 +4430,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "sterownik SQLite: kolumna '%s', typu %d SQLite nie jest obsługiwana"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Błąd podczas zamykania pliku ASCII"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4585,10 +4683,10 @@ msgstr "Usuń bazę danych."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4608,26 +4706,39 @@ msgstr "Popraw ustawienia."
 msgid "Sets user/password for DB driver/database."
 msgstr "Definiuje użytkownika/hasło dla sterownika/bazy danych."
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Nie można ustawić projekcji"
+msgid "Username"
+msgstr "nazwa"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Nie można ustawić projekcji"
+msgid "Password"
+msgstr "Przebieg %d..."
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Nazwa testu"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Wyświetl parametry bieżącego połączenia i wyjdź"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Nie można ustawić użytkownika/hasła"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Hasło zostało zachowane w  (%s/dblogin)"
@@ -4908,6 +5019,7 @@ msgstr "Poligon\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4918,10 +5030,11 @@ msgstr "Poligon\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "raster"
@@ -4995,19 +5108,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr "Tryb pełnego renderingu dostępny tylko bez wyświetlania"
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "Nie można otworzyć pliku <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5283,7 +5383,7 @@ msgstr "nie znaleziono mapy rastrowej <%s> latin"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5944,7 +6044,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5957,12 +6057,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "Ogólne"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6069,7 +6170,17 @@ msgstr "%s=%s,%s: pliki są identyczne, nie jest wymagana kopia\n"
 msgid "<%s> already exists"
 msgstr "BŁĄD: <%s> już istnieje\n"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Nie można utworzyć mapy rastrowej <%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "Nie można otworzyć mapy wektorowej <%s> na oziomie topologicznym %d"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6077,7 +6188,7 @@ msgstr "BŁĄD: <%s> już istnieje\n"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
@@ -6085,146 +6196,119 @@ msgstr ""
 "Wyszukuje mapy w formatach wskazanych przez użytkownika oraz nazwach "
 "przefiltrowanych według zadanego klucza"
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr "Klucz wyszukiwania nazw map (domyślnie: każdy)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr "Klucz"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr "Klucz zawężający nazwy map (domyślnie: żaden)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "Nazwa mapsetu (domyślnie: bieżący)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Nazwa mapsetu (domyślnie: bieżący)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Ustaw bieżący region z zapisanego regionu"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Nazwa dla pliku wyjściowego"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Jeśli brak lub '-' czyta ze standardowego wejścia"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "Użyj podstawowych wyrażeń regularnych zamiast symboli wieloznacznych"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "Użyj rozszerzonych wyrażeń regularnych zamiast symboli wieloznacznych"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "Wyświetl rodzaje danych"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr "Wyświetl pełne nazwy map (wraz z mapsetem)"
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr "Wyświetl w formacie przyjaznym dla użytkownika"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "Rozszerzona lista (podaje również nazwy map)"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "-r i -e wzajemnie się wykluczają"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "-r i -e wzajemnie się wykluczają"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "-r i -e wzajemnie się wykluczają"
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Nie można otworzyć pliku wejściowego <%s>."
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Grupa <%s>  nie istnieje"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Nie można utworzyć mapy rastrowej <%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "Nie można otworzyć mapy wektorowej <%s> na oziomie topologicznym %d"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "Nie można zaktualizować parametrów projekcji lat/long"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Błąd w pj_do_proj (projekcja wejściowej pary współrzędnych"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6232,7 +6316,7 @@ msgstr ""
 "Utworzenie projekcji WGS84 nie było możliwe, lokacja nie posiada parametrów "
 "transformacji układu. Spróbuj uruchomić g.setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6469,9 +6553,9 @@ msgstr "Nie znaleziono regionu <%s>"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "nie znaleziono mapy rastrowej 3D <%s>"
@@ -6494,7 +6578,7 @@ msgstr "Nie można zaktualizować bieżącego regionu"
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Niewłaściwe dane wejściowe <%s=%s>"
@@ -6777,38 +6861,38 @@ msgstr "Wyświetl ustawienia bieżącego regionu (styl skryptu powłoki)"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6946,7 +7030,7 @@ msgstr "Nazwy istniejących plików rastrowych"
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "Operacja do wykonania"
@@ -7406,7 +7490,7 @@ msgstr "Nie mozna otworzyć pliku wejściowego <%s@%s>."
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7609,38 +7693,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "Kolumna <%s> nie została znaleziona"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Plik rastrowy który ma być importowany"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
+msgstr ""
+
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr "<%s> jest teraz domyślnym GUI"
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7858,8 +7963,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr "Zmodyfikuj"
 
@@ -7896,9 +8001,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Lokacja <%s> została stworzona"
@@ -8052,10 +8157,12 @@ msgstr "Wyświetl matrycę korelacji"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8071,10 +8178,14 @@ msgstr "Wyświetl matrycę korelacji"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8108,10 +8219,12 @@ msgstr "wektor do usunięcia"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8127,10 +8240,14 @@ msgstr "wektor do usunięcia"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8235,8 +8352,8 @@ msgstr "Wymaż zawartość aktywnej ramki podanym kolorem"
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "Import"
@@ -8278,7 +8395,7 @@ msgstr "Import pliku SPOT VGT NDVI do mapy rastrowej"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8307,15 +8424,16 @@ msgstr "zobrazowanie"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Import"
@@ -8376,7 +8494,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "Nazwa wejściowej mapy rastrowej"
+msgstr "Nazwa następnej mapy rastrowej"
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8404,7 +8522,7 @@ msgstr "Pobierz kolor dla tekstu z wartości koloru rastra"
 msgid ""
 "Uploads space time raster dataset values at positions of vector points to "
 "the table."
-msgstr "Aktualizuj statystyki mapy rastrowej"
+msgstr "Konwertuje mapy rastrowe 3D do map rastrowych 2D"
 
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:9
 #, fuzzy
@@ -8462,7 +8580,7 @@ msgstr "Struktura bazy danych"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Konwertuje mapy rastrowe 3D do map rastrowych 2D"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8472,6 +8590,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Wejście"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Konwertuje mapy rastrowe 3D do map rastrowych 2D"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "Nazwa mapy rastrowej"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Nazwa wejściowej mapy rastrowej 3D"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Liczba klas do zdefiniowania"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Nie można zamknąć mapy wejściowej "
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8524,21 +8743,12 @@ msgid ""
 "datasets."
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "Nazwa mapy rastrowej"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8547,11 +8757,13 @@ msgstr "Nazwa mapy rastrowej"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8559,54 +8771,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Nazwa wejściowej mapy rastrowej 3D"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Liczba klas do zdefiniowania"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Nie można zamknąć mapy wejściowej "
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8622,7 +8793,8 @@ msgstr "Nazwa bazoewj mapy rastrowej"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "wektor do usunięcia"
@@ -8853,7 +9025,7 @@ msgstr "wektor, interpolacja"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Metoda interpolacji która ma być użyta"
 
@@ -8968,6 +9140,48 @@ msgstr "Usuwa kolumnę z tabeli atrybutów połączonej z zadaną mapą wektorow
 msgid "Name of attribute column(s) to drop"
 msgstr "Liczba kolumn"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Lista wartosci oddzielonych przecinkami"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Nazwa wyjściowego pliku raportu"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Tworzy pustą bazę danych."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Liczba klas do zdefiniowania"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+msgid "Output header row"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9194,7 +9408,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9437,6 +9651,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9506,10 +9721,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Rozszerz zasięg lokacji opartej na nowych ustawieniach danych"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Forsuj projekcję (użyj projekcji z lokacji)"
@@ -9518,7 +9737,8 @@ msgstr "Forsuj projekcję (użyj projekcji z lokacji)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "Nie można pobrać jednostek projekcji bieżącej lokacji"
@@ -9536,21 +9756,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr "Skanuj plik danych w poszukiwaniu zakresu i wyjdź"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "W trybie skanowania, wyświetl informacje w stylu skryptu shell"
 
@@ -9572,21 +9792,21 @@ msgid "Name for output raster map"
 msgstr "Nazwa dla wynikowej mapy rastrowej "
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "Funkcje statystyczne dla wartości rastrowych"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Statystyka"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Sposób zapisu wynikowej mapy rastrowej"
@@ -9629,17 +9849,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Współczynnik skali dla danych z"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Procent mapy przechowywanej w pamięci"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "pth percentyl wartości"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9739,8 +9959,8 @@ msgid "Remove existing color table"
 msgstr "Usuń istniejącą paletę kolorów"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr "Usuń"
@@ -9784,18 +10004,19 @@ msgid ""
 msgstr "Konwertuje warstwy wektorowe OGR na wektorowe mapy GRASS."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Plik rastrowy który ma być importowany"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 #, fuzzy
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr "Numer warstwy. Jesli -l, wszystkie warstwy są wyświetlane."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Nazwa dla wynikowej mapy rastrowej (override)"
@@ -9816,6 +10037,11 @@ msgstr "Nazwa dla wynikowej mapy rastrowej (override)"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9838,10 +10064,15 @@ msgstr "Nazwa dla wynikowej mapy rastrowej (override)"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 msgid "Output"
 msgstr "Wyjście"
 
@@ -9851,28 +10082,29 @@ msgid "Output vector map extent"
 msgstr "Wyjściowa mapa wektorowa błędów"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Wyrównaj bieżący region do mapy wejściowej"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Błąd podczas odczytywania pliku rastrowego [%s]."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 msgid "Snapping threshold for boundaries (map units)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9890,17 +10122,67 @@ msgstr ""
 "transformacji"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Wyświetl listę wspieranych formatów i wyjdź"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Wyświetl dostępne warstwy i wyjdź"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "Nie można pobrać jednostek projekcji bieżącej lokacji"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Wyświetla podziałkę liniową na monitorze."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Utwórz mapset jeśli nie istnieje"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Usuń wszystkie ramki i wyczyść monitor"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "wypisz parametry bieżącego połączenia i wyjdź"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Wyświetl parametry bieżącego połączenia i wyjdź"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr "Lokacja jako procent współrzędnych okna (0,0 to dolny lewy róg)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10054,7 +10336,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10063,7 +10345,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10073,7 +10355,7 @@ msgid "geometry"
 msgstr "wektor do usunięcia"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10128,7 +10410,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Liczba punktów interpolacji"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10153,15 +10439,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Zaznacz pasmo (domyślnie: wszystkie pasma)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10221,12 +10507,12 @@ msgid "Optional"
 msgstr "Opcjonalnie wyświetl raster"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "Nie wykonuj optymalizacji poprzez przycięcie do zasięgu regionu"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Współrzędne mapy"
@@ -10328,7 +10614,7 @@ msgstr ""
 "komórkę."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10342,7 +10628,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Promień bufora w jednostkach rastra"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Wratości metryczne"
 
@@ -10372,14 +10658,14 @@ msgstr "oblicza statystyki z mapy rastrowej GRASS"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "raster, statystyki"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10444,6 +10730,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10451,7 +10748,8 @@ msgid ""
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Odznacz"
@@ -10496,6 +10794,61 @@ msgstr ""
 "Weryfikuj informacje o układzie odniesienia i wyświetl parametry "
 "transformacji"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "Tworzy mapę wektorową izolinii na podstawie mapy rastrowej"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Kontrast"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Cięcie (interwał) izolinii"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Lista poziomów izolinii"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Minimalny poziom izolinii"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Maksymalny poziom izolinii"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "Minimalna liczba punktów budujących izolinię (0 = bez ograniczenia)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Nie można zamknąć mapy wejściowej "
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Nie twórz tabeli atrubutów."
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr "Eksportuje tabele atrybutów w różnych formatach."
@@ -10518,6 +10871,20 @@ msgstr "Format tabeli"
 msgid "Name for output table (default: input name)"
 msgstr "Nazwa dla wynikowej mapy rastrowej (override)"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Konwertuje mapy rastrowe 3D do map rastrowych 2D"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10659,6 +11026,62 @@ msgstr "Nie można skopiować elementów z mapy wektorowej [%s]"
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Konwertuje mapy rastrowe 3D do map rastrowych 2D"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Typ obiektu (na)"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Nazwa kolumny atrubutów do stworzenia etykiet"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "Wygładzaj brzegi obiektów powierzchniowych"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Zapis do mapy ..."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr "Wyświetl listę wspieranych formatów wyjściowych"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Nie korzystaj z topologii."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10670,6 +11093,7 @@ msgid "Vector map to which to join other table"
 msgstr "Nazwa mapy rastrowej z której kopiujemy paletę kolorów"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10679,6 +11103,7 @@ msgid "Layer where to join"
 msgstr "Liczba warstw (na)"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "Kolumny"
@@ -10761,7 +11186,6 @@ msgstr "Nazwa dla wynikowej mapy rastrowej (override)"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11064,6 +11488,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11347,13 +11775,6 @@ msgstr "Nazwa bazoewj mapy rastrowej"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Liczba klas do zdefiniowania"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -11364,23 +11785,32 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "Mapa rastrowa w której mają być wypełnione zera"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Nazwa kolumny atrubutów do stworzenia etykiet"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Nazwa mapy wektorowej do edycji"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "Kolumny"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Nazwa kolumny atrubutów do stworzenia etykiet"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr "Maklsymalny zasięg zapytania w jednostkach mapy"
 
@@ -11420,78 +11850,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Nazwa rozszerzenia do zainstalowania/odinstalowania"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Wyświetl dostępne moduły w repozytorium GRASS Addons SVN"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Wyświetl dostępne warstwy i wyjdź"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Wyświetl dostępne warstwy i wyjdź"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "wizualizacja"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "Tabele systemowe zamiast tabel użytkownika"
@@ -11512,20 +11958,26 @@ msgid "Description of the space time dataset"
 msgstr "Nazwa pliku bazy danych"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Nazwa pliku bazy danych"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11543,10 +11995,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "wektor do usunięcia"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Wyświetl ustawienia bieżącego regionu (styl skryptu powłoki)"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Format wyjściowy"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr "Tworzy MASKĘ do zawężenia operacji na rastrze."
@@ -11667,8 +12155,8 @@ msgstr "Mnożnik"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Nazwa dla pliku wyjściowego"
+msgid "Name for output image (or text file for -t)"
+msgstr "Nazwa wyjściowego pliku (bez rozszerzenia)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11685,6 +12173,11 @@ msgstr "Użyj współrzędnych mapy zamiast X, Y, Z"
 msgid "Use gnuplot for display"
 msgstr "Tekst który ma być wyświetlony"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "\"world file\" dla pliku wyjściowego"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11699,11 +12192,6 @@ msgstr "oblicza statystyki z mapy rastrowej GRASS"
 msgid "series"
 msgstr "raster, serie"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Tworzy pustą bazę danych."
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11801,6 +12289,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11814,11 +12303,15 @@ msgid "Sill value"
 msgstr "%s: niewłaściwa wartość"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Nazwa wyjściowej mapy rastrowej ekspozycji terenu"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11902,10 +12395,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11923,7 +12412,7 @@ msgstr "Nie można otworzyć mapy rastrowej <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12444,7 +12933,7 @@ msgid "radiance"
 msgstr "promieniowanie"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 msgid "reflectance"
 msgstr "odbicia"
@@ -12473,8 +12962,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Metadane"
 
@@ -12679,8 +13169,8 @@ msgstr ""
 msgid "Calculating..."
 msgstr "Obliczanie..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14758,21 +15248,21 @@ msgstr "nie znaleziono regionu <%s>"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "grupa [%s] załadowana do lokacji[%s], w mapsecie [%s]\n"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "odmowa dostępu"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "nie znaleziono"
@@ -14872,7 +15362,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14999,7 +15489,7 @@ msgid "Name of target mapset"
 msgstr "Nazwa docelowego mapsetu"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Ustaw bieżącą lokację i mapset jako docelowe dla grupy obrazów"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15431,52 +15921,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "nie powiodło się"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Nazwa mapy wynikowej"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, fuzzy, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr "Zbyt wiele map wejściowych. Dozwolonych jest tylko %d"
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Tytuł wyjściowej mapy rastrowej"
@@ -15652,7 +16146,7 @@ msgid "Starting Inverse FFT..."
 msgstr "Zapoczątkowanie transformacji Inverse FFT..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -16074,7 +16568,7 @@ msgstr "Mój pierwszy moduł rastrowy"
 msgid "My first vector module"
 msgstr "Mój pierwszy moduł wektorowy"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr ""
 
@@ -16213,11 +16707,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16910,12 +17405,12 @@ msgstr "Zmienionych wierszy"
 msgid "Cols changed"
 msgstr "Zmienionych kolumn"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Wyświetl"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -16924,34 +17419,34 @@ msgstr ""
 "jednej (lub więcej) warstw(y) do wypełnienia obszarów \"no data\" w innej "
 "warstwie mapy."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Nazwy map rastrowych do złatania ('mozaikowania') ze sobą"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Nazwa dla wynikowego pliku rastrowego"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Uzyj zera (0) dla przeźroczystości zamiast NULL"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "Minimalna liczba wejściowych map rastrowych to dwa."
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "Procent wykonania ..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "tworzenie plików wsparcia (support files) dla mapy rastrowej %s"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -16972,7 +17467,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Nazwa pliku wejściowego; lub \"-\" aby wczytać z stdin"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Tutuł wyjściowej mapy rastrowej"
@@ -16980,7 +17475,7 @@ msgstr "Tutuł wyjściowej mapy rastrowej"
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Typ obiektu (na)"
+msgstr "Tytuł wyjściowej mapy rastrowej"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17391,8 +17886,8 @@ msgstr "Nazwa wyjściowego pliku rastrowego"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Nie można wstawić nowego wiersza: %s"
@@ -17464,55 +17959,17 @@ msgstr "raster, wysokość"
 msgid "Converts a raster map into a vector map."
 msgstr "Konwertuje mapę rastrową do warstwy wektorowej."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Typ obiektu (na)"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Nazwa kolumny atrubutów do stworzenia etykiet"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "Wygładzaj brzegi obiektów powierzchniowych"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Atrybuty"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Zapis do mapy ..."
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr "Wyświetl listę wspieranych formatów wyjściowych"
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Nie korzystaj z topologii."
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -17541,23 +17998,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "Nie można utworzyć tabeli: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Nie można przydzielić uprawnień dla tabeli <%s>"
@@ -17599,195 +18058,195 @@ msgstr "Nie można ustawić projekcji"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Lokacja zawierająca wejściową mapę rastrową"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr ""
 "Zmienia projekcję mapy rastrowej z jednej lokacji do projekcji bieżącej "
 "lokacji."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 msgid "Location containing input raster map"
 msgstr "Lokacja zawierająca wejściową mapę rastrową"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 msgid "Source"
 msgstr "Źródło"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 msgid "Mapset containing input raster map"
 msgstr "Mapset zawierający wejściową mapę rastrową "
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Wyświetl nazwę aktualnej ramki"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "Nazwa wejściowej mapy rastrowej do zmiany projekcji"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Ścieżka wejściowej lokacji w bazie danych GRASS"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Nazwa dla wynikowej mapy rastrowej (override)"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 msgid "Target"
 msgstr "Cel"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Rozdzielczość mapy wyjściowej"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "wypisz parametry bieżącego połączenia i wyjdź"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr "Nie można pobrać informacji o odwzorowaniu mapy wyjściowej"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr "Nie można pobrać jednostek odwzorowania mapy wyjściowej"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 #, fuzzy
 msgid "Unable to get projection key values of output raster map"
 msgstr "Nie można pobrać kluczowych wartości projekcji bieżącej lokacji"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Sprawdzam lokację <%s> w mapsecie <%s>"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "Wymagany parameter <%s> nie jest ustawiony"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Plik wektorowy [%s] nie jest dostępny"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 #, fuzzy
 msgid "Unable to get projection info of input map"
 msgstr "Nie można pobrać informacji o projekcji bieżącej lokacji"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 #, fuzzy
 msgid "Unable to get projection units of input map"
 msgstr "Nie można pobrać jednostek projekcji bieżącej lokacji"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 #, fuzzy
 msgid "Unable to get projection key values of input map"
 msgstr "Nie można pobrać kluczowych wartości projekcji bieżącej lokacji"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Wejście:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Kolumny: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Wiersze: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "północ: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "południe: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "zachód: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "wschód: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Wyjście:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Przetwarzanie ..."
 
@@ -17834,7 +18293,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17847,7 +18306,7 @@ msgstr "raster, analizy powierzchni terenu"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17862,7 +18321,7 @@ msgstr "Wyświetl"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18007,7 +18466,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 #, fuzzy
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "oblicza statystyki z mapy rastrowej GRASS"
@@ -18423,21 +18882,61 @@ msgstr "'incidout' wymaga ustawienia parametru czasu"
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "Tryb 2: zintegrowane dzienne napromienienie dla danego dnia roku"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Korzystając ze współrzędnych środka mapy\n"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Zapis mapy rastrowej <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Niewłaściwa mapa %s"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Korzystając ze współrzędnych środka mapy\n"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Zapis mapy rastrowej <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Korzystając ze współrzędnych środka mapy\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Zapis mapy rastrowej <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18800,7 +19299,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Lokacja: %s\n"
@@ -19622,7 +20121,7 @@ msgstr "Ujemne wartości w mapie wejściowej"
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Tworzy mapę rastrową podzlewni."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -19810,46 +20309,47 @@ msgstr "Aktualizuj statystyki mapy rastrowej"
 msgid "Statistics for <%s> updated"
 msgstr "Plik historii dla [%s] zaktualizowany."
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr ""
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 #, fuzzy
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr "Przeprojektuj mapę rastrową z danej lokacji do bieżącej lokacji."
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 #, fuzzy
 msgid "Location PROJ_INFO is:\n"
 msgstr "Lokacja: %s\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19857,15 +20357,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 
@@ -19929,8 +20429,8 @@ msgstr "Tworzenie plików wsparcia dla %s"
 msgid "Link to raster map <%s> created."
 msgstr "Mapa rastrowa <%s> już istnieje"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -19950,14 +20450,14 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr "Informacje o odwzorowaniu zostały uaktualnione!"
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "<%s> jest już bieżącym mapsetem"
@@ -19988,21 +20488,21 @@ msgstr ""
 msgid "Band to select (default is all bands)"
 msgstr "Zaznacz pasmo (domyślnie: wszystkie pasma)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Wyświetl listę wspieranych formatów i wyjdź"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Rozszerz zasięg lokacji opartej na nowych ustawieniach danych"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20014,13 +20514,22 @@ msgstr "Odbij poziomo"
 msgid "Flip vertically"
 msgstr "Odbij pionowo"
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Wyświetl dostępne warstwy i wyjdź"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Tekst powinien być wprowadzony lub użyte -c"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20029,34 +20538,34 @@ msgstr "Tekst powinien być wprowadzony lub użyte -c"
 msgid "%s= and %s= are mutually exclusive"
 msgstr "-r i -e wzajemnie się wykluczają"
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 #, fuzzy
 msgid "Proceeding with import..."
 msgstr ""
 "\n"
 "Tworzenie nowego pliku wektorowego...\n"
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "Plik '%s' już istnieje i zostanie nadpisany."
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Odczytywanie %s ..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, fuzzy, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Mapa rastrowa [%s] nie istnieje"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "Mapa rastrowa <%s> już istnieje"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Liczba punktów do wyznaczenia"
@@ -20243,14 +20752,15 @@ msgstr "Nazwa wyjściowej mapy rastrowej spadku"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20546,6 +21056,12 @@ msgstr "-r i -e wzajemnie się wykluczają"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Lokacja <%s> została stworzona"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "-r i -e wzajemnie się wykluczają"
+
 #: ../raster/r.in.bin/main.c:467
 #, fuzzy, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20617,8 +21133,8 @@ msgid "Importing band %d..."
 msgstr "Zapiywanie %s ..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20736,7 +21252,7 @@ msgstr "wartość 'nsteps' musi być większa niż zero; i < lub = 255"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "%s Nie można otworzyć %s"
@@ -21778,7 +22294,8 @@ msgstr "Przebieg %d..."
 msgid "Unable to write to temp file"
 msgstr "Nie można zapisać pliku tymczasowego"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Tworzenie punktów..."
@@ -21825,7 +22342,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Wyświetl statystyki w stylu skryptu shell"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22414,23 +22931,23 @@ msgid "unable to open output file"
 msgstr "nie można otworzyć pliku wyjściowego"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22439,8 +22956,8 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22547,27 +23064,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22579,20 +23096,30 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Oblicza biny"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Oblicza biny"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Oblicza biny"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 msgid "Closing flow direction map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -22618,7 +23145,7 @@ msgstr "Oblicza biny"
 msgid "Closing half basins map"
 msgstr "Wejściowa mapa rastrowa"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
@@ -22626,212 +23153,217 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Wejście"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Nazwa wejściowej mapy rastrowej"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Mapa rastrowa zawierająca wartości użyte dla długości strzałek"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Nazwa wejściowej mapy rastrowej"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Nazwa istniejącej mapy rastrowej zawierającej powierzchnię terenu"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Minimalna liczba pikseli w klasie"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Szerokość strefy w jednostkach mapy"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Nazwa wyjściowej mapy rastrowej ekspozycji terenu"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr ""
 "Liczba komórek którymi część pokrywa się z innymi we wszystkich kierunkach"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Nazwa wyjściowej mapy rastrowej ekspozycji terenu"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Ustawianie okna graficznego"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Nazwa wyjściowej mapy rastrowej ekspozycji terenu"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Nazwa wyjściowej mapy rastrowej ekspozycji terenu"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Nazwa wyjściowej mapy rastrowej ekspozycji terenu"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Nazwa wyjściowej mapy rastrowej ekspozycji terenu"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 msgid "Each half-basin is given a unique value"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Nazwa wyjściowej mapy rastrowej spadku"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Nazwa wyjściowej mapy rastrowej spadku"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 msgid "Slope steepness (S) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "Rozmiar sąsiedztwa musi być dodatni"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Ten typ kolumny nie jest obsługiwany"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "Podproces zawiódł z kodem wyjścia %d"
@@ -22998,21 +23530,21 @@ msgstr "północ=%f"
 msgid "Could not read maximum distance. Aborting."
 msgstr "Nie można odczytać maksymalnej odległości. Przerywam."
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Nie można utworzyć mapy rastrowej <%s>"
@@ -23201,7 +23733,7 @@ msgstr "\"world file\" dla pliku wyjściowego"
 msgid "Converting <%s>..."
 msgstr "Konwersja <%s>..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "Nieodpowiedni typ <%s> mapy rastrowej"
@@ -23271,7 +23803,7 @@ msgid ""
 msgstr "oblicza statystyki z mapy rastrowej GRASS"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23284,11 +23816,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Nie można otworzyć mapy rastrowej 3D <%s>"
@@ -23301,61 +23836,88 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"Dla map wyjściowych 2D użyj takiej samej rozdzielczości jak w mapach "
+"wejściowych 3D niezależnie od ustawień regionu"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "-r i -e wzajemnie się wykluczają"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "Oblicza regresję linearną dla dwóch map rastrowych: y = a + b*x"
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr ""
 "Tworzy warstwę mapy rastrowej obrazującą odległość do najbliższego obiektu."
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Nazwa wynikowej mapy odległości"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Nazwa dla wynikowej mapy rastrowej "
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Maksymalna odległość pomiędzy punktami w jednostakch mapy."
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Jednostki odległości"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "Należy określić 2 warstwy"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Nieznana wartość metryczna: [%s]."
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Maksymalna odległość pomiędzy punktami w jednostakch mapy."
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Nie można utworzyć pliku tymczasowego  <%s>"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23366,129 +23928,134 @@ msgstr "Nie można utworzyć pliku tymczasowego  <%s>"
 msgid "Reading raster map <%s>..."
 msgstr "Odczytywanie mapy rastrowej <%s>..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Zapis wyjściowej mapy rastrowej %s..."
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Nie można przeczytać tabeli kolorów mapy rastrowej <%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "wektor, metadane"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Zarządzanie wartościami NULL na mapach rastrowych."
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Mapa rastrowa 3D, dla której mają być zmodyfikowane wartości NULL"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Lista wartości do ustawienia jako NULL"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "Wartość która ma zastąpić NULL"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr "Sprawdź"
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "Mapy rastrowa <%s> nie została znaleziona"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "Niedozwolona wartość dla współczynnika skalowego."
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "Plik '%s' już istnieje i zostanie nadpisany."
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "%s - nie można otworzyć mapy rastrowej"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "%s - nie można otworzyć mapy rastrowej"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "Mapa rastrowa punktów początkowych"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Zapisywanie nowego pliku null dla [%s]... "
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "Mapy rastrowa <%s> została zmodyfikowana."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Usuwanie pliku null dla [%s]...\n"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s: %s: niewłaściwa wartość"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: niewłaściwa wartość"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Zapisywanie mapy rastrowej <%s>"
@@ -23537,7 +24104,7 @@ msgstr "Nieznany typ: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Nie można zamknąć mapy rastrowej <%s@%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "Nie można zamknąć wyjściowej mapy rastrowej"
 
@@ -23659,21 +24226,26 @@ msgstr "Rozdzielczość"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Zapis do mapy ..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "-r i -e wzajemnie się wykluczają"
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "raster"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -23682,222 +24254,239 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Import binarnego pliku rastrowego do warstwy mapy rastrowej GRASS."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Plik rastrowy który ma być importowany"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Zaznacz pasmo (domyślnie: wszystkie pasma)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Nazwa docelowej lokacji obrazu"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr ""
 "Nazwa lokacji z której ma być odczytana projekcja dla transformacji GCP"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Nazwa wejściowej rastrowej mapy wysokości [metry]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Nazwa lokacji która ma być utworzona"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Nie można opisać tabeli <%s>"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Forsuj projekcję (użyj projekcji z lokacji)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Wyświetl parametry bieżącego połączenia i wyjdź"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Zachowaj numery pasm zamiast używać nazw kolorów pasm"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "Wyświetl tabele i zakończ"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "Liczba podzakresu musi być >= 1"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Nie można otworzyć źródła danych <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "Mapa rastrowa <%s> już istnieje"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Nie można utworzyć lokacji: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr ""
 "\n"
 "Tworzenie nowego pliku wektorowego...\n"
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Nie można otworzyć pliku sygnatury."
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Nie można odczytać wiersza %d mapy rastrowej"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Błąd w odczycie pliku cats dla <%s>."
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "Nazwa istniejącego pliku wektorowego"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, fuzzy, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "Wyjściowe parametry projekcji (w stylu PROJ.4)"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, fuzzy, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "Wyjściowe parametry projekcji (w stylu PROJ.4)"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, fuzzy, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Błąd w pj_do_proj (projekcja wejściowej pary współrzędnych"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "Nie można przełożyć kluczowych wartości projekcji punktów GCPs"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr "Nie można pobrać informacji o projekcji  lokacji docelowej"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "Nie można pobrać jednostek projekcji docelowej lokacji"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr "Nie można pobrać kluczowych wartości projekcji docelowej lokacji"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Zapisywanie mapy rastrowej <%s>"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Nie mozna otworzyć pliku wejściowego <%s@%s>."
@@ -24136,7 +24725,7 @@ msgstr "Zapisuje mapę wektorową <%s>  ..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24491,30 +25080,35 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "Nie można utworzyć mapy rastrowej <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr "Odległość musi być >= 0.0"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Zapisywanie mapy rastrowej <%s>"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Korelacja"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Generuj przypadkowe wartości z zależnościami przestrzennymi."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Jednostki odległości"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Maksymalna liczba kolumn do wczytania"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -24964,22 +25558,22 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "Maksymalna liczba iteracji"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "Nie można wstawić do tabeli: %s"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, fuzzy, c-format
 msgid "Pass number %d"
 msgstr "Liczba warstw"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
@@ -24987,12 +25581,12 @@ msgstr[0] "Zaetykietowano %d linii."
 msgstr[1] "Zaetykietowano %d linii."
 msgstr[2] "Zaetykietowano %d linii."
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 #, fuzzy
 msgid "Thinning completed successfully."
 msgstr "Transformacja zakończona z sukcesem."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -26070,156 +26664,227 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'layer' musi być > 0 dla 'cats'."
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "Skanowanie danych..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Zakres:     min         max\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Nie można utworzyć pliku tymczasowego"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Import pliku ASCII z wielobokami, liniami lub punktami do mapy rastrowej."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Plik wejściowy"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Plik zawierający wyrażenia SQL"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "Nie znaleziono danych punktowych"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Zapis do mapy ..."
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "wekor, interpolacja"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "Zakres filtra dla danych z: (min,max)"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "Współczynnik skali dla danych z"
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Tytuł wyjściowej mapy rastrowej"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Wartości całkowite zostały zaimportowane"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Wartości całkowite zostały zaimportowane"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Wyświetl historię rastra zamiast informacji"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
+#: ../raster/r.in.lidar/main.c:246
 #, fuzzy
-msgid "Override dataset projection (use location's projection)"
-msgstr "Forsuj projekcję (użyj projekcji z lokacji)"
+msgid "Set computation region to match the new raster map"
+msgstr "Ustaw region aby dopasować do mapy rastrowej"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "Grupa <%s>  nie istnieje"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Nieznany kolor: [%s]"
+msgid "File <%s> does not exist"
+msgstr "Grupa <%s>  nie istnieje"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "Grupa <%s>  nie istnieje"
+
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Nieznany kolor: [%s]"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 msgid "Invalid zrange"
 msgstr "Niewłaściwy zakres z"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Lokacja <%s> została stworzona"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr "Wczytywanie danych..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Nie można otworzyć pliku wyjściowego <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "Zapis do mapy ..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%lu punktów znalezionych w regione."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "Skanowanie danych..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Zakres:     min         max\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Nie mozna otworzyć pliku [%s] do odczytu"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26458,12 +27123,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "Plik nagłówkowy = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "Nie można utworzyć pliku <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27286,6 +27945,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr "Niewłaściwy zakres z"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27338,6 +28004,11 @@ msgstr "Nie mozna otworzyć pliku wejściowego <%s@%s>."
 msgid "Writing to output raster map..."
 msgstr "Zapis wyjściowej mapy rastrowej %s..."
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "%lu punktów znalezionych w regione."
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr "Tworzy mapę cieniowanego reliefu z mapy wysokości (DEM)."
@@ -27706,27 +28377,27 @@ msgstr "Usuwanie pliku null "
 msgid "Delete the null file"
 msgstr "Usuwanie pliku null "
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, fuzzy, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "Plik koloru dla [%s] nie jest dostępny"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] jest przeklasyfikowaniem innej mapy. Proces zakończony."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Zapisywanie nowego pliku null dla [%s]... "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Usuwanie pliku null dla [%s]...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Wykonano."
 
@@ -27763,32 +28434,12 @@ msgstr "Kontrast"
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr "Tworzy mapę wektorową izolinii na podstawie mapy rastrowej"
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Cięcie (interwał) izolinii"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Lista poziomów izolinii"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Lista poziomów izolinii"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Minimalny poziom izolinii"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Maksymalny poziom izolinii"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "Minimalna liczba punktów budujących izolinię (0 = bez ograniczenia)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -27799,29 +28450,31 @@ msgstr "Należy określić 2 warstwy"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Nie można utworzyć tabeli: '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Nie można utworzyć indeksu dla tabeli <%s>, klucz <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "Zapisywanie atrybutów ..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Nie można wprowadzić nowego rekordu: '%s'"
@@ -28649,10 +29302,6 @@ msgstr "nazwa wejściowego pliku wektorowego"
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-msgid "Output header row"
-msgstr ""
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -28969,7 +29618,8 @@ msgstr "Ten typ kolumny nie jest obługiwany (musi być ciągiem)"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "Nie można wybrać danych z tabeli"
 
@@ -29600,11 +30250,11 @@ msgstr "Wyświetl ustawienia bieżącego regionu (styl skryptu powłoki)"
 msgid "3D Raster map <%s> not found"
 msgstr "Nie znaleziono mapy rastrowej 3D <%s>"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Błąd podczas odczytywania pliku historii"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, c-format
@@ -29795,6 +30445,37 @@ msgstr ""
 msgid "Update range"
 msgstr "Wynikowy zakres danych"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "promieniowanie"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "Łączy warstwy red, green i blue mapy w jedną rastrową kompozycję mapy."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Nazwa wyjściowej mapy rastrowej"
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Nie można ulokować pamięci"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Zapisywanie nowej mapy rastrowej..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 msgid "Unable to close input raster maps"
 msgstr "Nie można zamknąć wejściowej mapy rastrowej"
@@ -29963,6 +30644,148 @@ msgstr "Data, data1/data2 lub nic"
 msgid "Timestamp format is invalid"
 msgstr "Nieznany format znacznika czasu: "
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Podaj 3 mapy rastrowe 3D RGB"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Nie znaleziono mapy wektorowej <%s>"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Obliczanie kierunków spływu..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "Mapa rastrowa w której mają być wypełnione zera"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Nazwa mapy wektorowej do edycji"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Nazwa wyjściowej mapy rastrowej ekspozycji terenu"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Nazwa mapy rastrowej która ma być użyta jako maska"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s w %s: %s"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Liczba punktów interpolacji"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "Domyślny sterownik nie jest ustawiony"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "wektor, interpolacja"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Nie określono mapy rastrowej"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Nie ma ustawionej domyślnej bazy danych"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Maksymalna liczba powtórzeń"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Maksymalna liczba powtórzeń"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "Liczba kafli powinna nakładać się we wszystkich kierunkach"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Nie można opisać tabeli <%s>"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Mapa werktorowa <%s> nie jest 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Błąd podczas czytania danych"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Wybieranie obiektów..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30478,6 +31301,61 @@ msgstr ""
 msgid "Failed to find intersection segment"
 msgstr "Długość wiersza musi być liczbą całkowitą"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Nie można wstawić do tabeli: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Nie można otworzyć mapy wektorowej <%s>"
+
+# kolejność %s ma chyba znaczenie -> zmiana wypacza sens
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Tabela <%s> nie istnieje w bazie danych <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Plik '%s' już istnieje i zostanie nadpisany."
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Plik '%s' już istnieje i zostanie nadpisany."
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Nie można utworzyć mapy wektorowej <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Nie można otworzyć bazy danych <%s> za pomocą sterownika <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Nie można utworzyć tabeli <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Nie można skopiować tabeli atrybutów do mapy wektorowej <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Nie można utworzyć tabeli <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30507,7 +31385,7 @@ msgstr "Nazwa źródłowej mapy wektorowej (A)"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr "Łuki"
 
@@ -30519,8 +31397,8 @@ msgstr "Nazwa wejściowej mapy wektorowej (węzły)"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr "Węzły"
 
@@ -30548,79 +31426,120 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "Znajduje najkrótszą trasę w sieci wektorowej."
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Brak tabeli."
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Nazwa pliku wyjściowego"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr ""
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr ""
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Wyjściowa mapa wektorowa punktów końcowych"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Warstwa liniowa"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr "Nieznana operacja"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Utrzymanie sieci."
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "Utrzymanie sieci."
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "Nie można otworzyć mapy wektorowej [%s]"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "Nadpisz plik mapy wyjściowej"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "Nazwa wejściowego pliku wektorowego"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "Kopiowanie atrybutów..."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -30641,8 +31560,9 @@ msgstr "Wyświetl ustawienia bieżącego regionu"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "punkt"
@@ -30675,9 +31595,9 @@ msgstr "Nazwa kolumny zawierającej współrzędną y"
 msgid "Name of column containing z coordinate"
 msgstr "Nazwa kolumny zawierającej współrzędną z"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr "Wyjście 3D"
 
@@ -30879,13 +31799,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Mapa wektorowa <%s> już istnieje i zostanie nadpisana"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "Raster <%s> już istnieje."
@@ -31076,27 +31996,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr "Zewnętrzne rogi proste"
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Bez nasady na końcach polilinii"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Wyświetla atrybuty mapy wektorowej."
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31104,171 +32024,171 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "opcja skalowania wymaga mapy_przewyższenia"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'layer' musi być > 0 dla 'cats'."
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Szerokość strefy w jednostkach mapy"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Niedozwolona długość strony "
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Szerokość strefy w jednostkach mapy"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Nie można odczytać mapy wektorowej "
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Nie można wybrać danych z tabeli"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Typ kolumny nieobsługiwany"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr "Buforowanie poligonów"
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "W tabeli brakuje rekordów dla kategorii '%d'"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, fuzzy, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Atrybut ma niewłaściwy rozmiar (%.3f) dla kategorii %d."
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Buforowanie poligonów"
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "raster, bufor"
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "Budowanie indeksu przestrzennego ..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "Obracanie danych..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Eksportuje linie jako poligony"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "Usuwanie duplikatów..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 #, fuzzy
 msgid "Breaking boundaries..."
 msgstr "Zapiywanie %s ..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 msgid "Cleaning boundaries at nodes"
 msgstr "Czyszczenie granic na węzłach"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Usuwanie duplikatów..."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "%5d usuniętych wierzchołków"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Dołączanie wysp ..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Obliczanie centroidów dla obszarów..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Nie można obliczyć centroidu obszaru"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 msgid "Deleting boundaries..."
 msgstr "Usuwanie granic..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 msgid "Calculating centroids for areas..."
 msgstr "Obliczanie centroidów dla obszarów..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Nie można obliczyć centroid powierzchni"
@@ -31458,7 +32378,7 @@ msgstr ""
 #: ../vector/v.surf.rst/main.c:524
 #, fuzzy, c-format
 msgid "Unable to create %s"
-msgstr "Nie można utworzyć pliku <%s>"
+msgstr "Nie można utworzyć tabeli: %s"
 
 #: ../vector/v.vol.rst/main.c:555
 #, fuzzy, c-format
@@ -31561,7 +32481,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Selekcja"
+msgstr "przetwarzanie poligonów..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -31593,7 +32513,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:368
 #, fuzzy, c-format
 msgid "Mask raster map [%s] not found"
-msgstr "Nie znaleziono mapy rastrowej 3D <%s>"
+msgstr "nie znaleziono mapy rastrowej 3D <%s>"
 
 #: ../vector/v.vol.rst/user1.c:383
 #, fuzzy
@@ -31653,7 +32573,7 @@ msgstr "%s nie powiodło się"
 msgid "Not enough disk space--cannot write files"
 msgstr "Zbyt mało wolnej przestrzeni dyskowej -- nie można zapisać plików"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -31706,11 +32626,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -31721,27 +32642,27 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr "Koszt"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 #, fuzzy
 msgid "Node cost column (number)"
 msgstr "Liczba kolumn"
@@ -31770,29 +32691,47 @@ msgstr "Typ obiektu"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Nie można utworzyć mapy wektorowej <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Warstwa/tabela"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Maksymalna odległość"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr ""
@@ -31800,17 +32739,17 @@ msgstr ""
 "\n"
 "  Liczba punktów: %d\n"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Obliczanie średniej klas ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 #, fuzzy
 msgid "Cannot get line segment, segment out of line"
 msgstr "Nie można opisać tabeli"
@@ -32141,102 +33080,102 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Wykonanie nie powiodło się"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "nazwa wejściowego pliku wektorowego"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "Liczba punktów do utworzenia"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Mapa wektorowa punktów początkowych"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Nazwa mapy rastrowej będącej gridem z informacją o kosztach "
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Zapis do mapy ..."
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Typ palety kolorów"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Utwórz plik wyjściowy 3D"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Wybieranie obiektów..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, fuzzy, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "Liczba punktów do wyznaczenia"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "Żadna czcionka nie została wybrana "
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Nazwa istniejącego pliku wektorowego"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr ""
 "Startowa mapa wektorowa <%s> nie zawiera żadnych punktów w bieżącym regionie."
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr ""
 "Startowa mapa wektorowa <%s> nie zawiera żadnych punktów w bieżącym regionie."
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "Tworzenie punktów..."
 
@@ -32440,6 +33379,158 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr "Nie można zapisać do bazy danych"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+msgid "generalization"
+msgstr "generalizacja"
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Sygnatury które mają być użyte do klasyfikacji"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "Nie znaleziono danych punktowych"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Wartości całkowite zostały zaimportowane"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Wartości całkowite zostały zaimportowane"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "Niewłaściwa liczba przedziałów: %s"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Wartość próbki bitów"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Liczba punktów interpolacji"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Liczba punktów interpolacji"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Odchylenie standardowe"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Niewłaściwy zakres z"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -32515,7 +33606,7 @@ msgstr "Tabele systemowe zamiast tabel użytkownika"
 msgid "Force 2D output even if input is 3D "
 msgstr "Wymuś zapis wartości całkowitoliczbowych"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -32734,6 +33825,186 @@ msgstr "Nie można wybrać atrybutów"
 msgid "Labeled %d lines."
 msgstr "Zaetykietowano %d linii."
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "Nie znaleziono danych punktowych"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "raster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d klasy."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Rozłączenie klastrów"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Liczba warstw (mapa wektorowa A)"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Maksymalna odległość"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Minimalna liczba pikseli w klasie"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Rozłączenie klastrów"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Liczba klas musi być < 256!"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Rozmiar sąsiedztwa"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Obracanie danych..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr ""
+"\n"
+"Tworzenie nowego pliku wektorowego...\n"
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "Rozmiar sąsiedztwa musi być dodatni"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Mapy dla obliczeń między klasowych odległości"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "raster 3D do usunięcia"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Jednostki odległości"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Odchylenie standardowe"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Maksymalna odległość pomiędzy punktami w jednostakch mapy."
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Znajdowanie ścieżki kosztu..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+"\n"
+"Rozdzielczość = %d; okres = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Zapis wyjściowej mapy rastrowej %s..."
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Odczytywanie %s ..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "Nie znaleziono danych punktowych"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "znaleziono %d klas"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "znaleziono %d klas"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -32805,7 +34076,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33102,14 +34373,8 @@ msgstr "Nie zostały wybrane żadne rekordy"
 msgid "Loading data..."
 msgstr "Wczytywanie danych..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Mapa werktorowa <%s> nie jest 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Kolumna <%s> nie została znaleziona"
@@ -33164,17 +34429,17 @@ msgstr "Tworzenie plików wsparcia dla mapy rastrowej..."
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "Przekonwertowane obszary: %d z %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "Przekonwertowane punkty/linie: %d z %d"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "Wczytywanie obszarów..."
 
@@ -33337,39 +34602,39 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Nieznana opcja '%s'"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 #, fuzzy
 msgid "Node layer (used for cities)"
 msgstr "Nazwa warstwy która ma być użyta jako HUE"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Nazwa pliku wyjściowego (w razie braku lub \"-\" wyjście do stdout)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr ""
@@ -33377,43 +34642,43 @@ msgstr ""
 "\n"
 "  Liczba punktów: %d\n"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr ""
 "\n"
 "Tworzenie nowego pliku wektorowego...\n"
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "Edytować plik kategorii dla [%s]? "
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Brak rekordu dla cat = %d"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Cel (przeznaczenie) nieosiągalne\n"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 #, fuzzy
 msgid "Searching for the shortest cycle..."
 msgstr "poszukiwana najwyższa głębia kolorów (bitów)\n"
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Nie można otworzyć pliku <%s> do zapisu"
@@ -33585,6 +34850,21 @@ msgstr "Wybierz typ: liniowy lub powierzchniowy"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "Dla parametru 'przestrzennego' wymagane są 4 parametry"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Nieznany kolor: [%s]"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Wyświetl parametry bieżącego połączenia i wyjdź"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -33704,7 +34984,7 @@ msgid "Processing features..."
 msgstr "Przetwarzanie obiektów..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "Nie można obliczyć centroid powierzchni"
@@ -33776,7 +35056,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Nie można użyć kolumny <%s>"
@@ -34179,7 +35459,7 @@ msgstr "Brak rekordu dla categorii [%d]"
 msgid "%d records updated"
 msgstr "Uaktualniono %d rekordów"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34288,10 +35568,9 @@ msgstr "Nieznany typ kolumny '%s'"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Nie mozna otworzyć pliku wejściowego <%s@%s>."
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
-msgstr "Wczytywanie danych..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
+msgstr "Transformacja obiektów..."
 
 #: ../vector/v.transform/main.c:290
 #, fuzzy, c-format
@@ -34732,7 +36011,7 @@ msgstr "Błąd podczas otwierania mapy rastrowej 3D <%s>"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Ten typ kolumny nie jest obługiwany"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Wczytywanie obiektów..."
@@ -34824,6 +36103,10 @@ msgstr "Liczba kolumn"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Kolumny"
 
@@ -34892,55 +36175,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Wyświetl średnie wartości zamiast przedziałów"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Kolumna <%s> nie została znaleziona w tabeli <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "Nie można odnależć pliku wejściowego"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "Wyświetl ustawienia bieżącego regionu"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "Edytować plik kategorii dla [%s]? "
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "Wczytano %d kategorii z wektora"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d zdublowanych kategorii w wektorze"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "Wczytano %d kategorii z tabeli"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d kategorii z wektora brakuje w tabeli"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "Uaktualniono %d rekordów"
@@ -35764,7 +37052,7 @@ msgstr "Wyświetl statystyki w stylu skryptu shell"
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "Należy określić 2 warstwy"
+msgstr "Tekst powinien być wprowadzony lub użyte -c"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -35801,51 +37089,61 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "Wyświetla atrybuty mapy wektorowej."
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "Warunki WHERE polecenia SQL - bez 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Wyjściowy separator pionowy"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr "Wyświetl zakres wybranych obiektów zamiast atrybutów"
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Region\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Zmień typ elementów geometrycznych."
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "Nie można otworzyć mapy wektorowej [%s]"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "Nie można otworzyć kursora wyboru"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Nie można odczytać danych z tabeli <%s>"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "Nie można odnaleźć pliku [%s]."
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "Nie można wstawić do tabeli: %s"
@@ -36143,7 +37441,7 @@ msgstr[0] "Wczytano %d kategorii z tabeli"
 msgstr[1] "Wczytano %d kategorii z tabeli"
 msgstr[2] "Wczytano %d kategorii z tabeli"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Nie można utworzyć tabeli <%s>"
@@ -36168,19 +37466,19 @@ msgstr "Połączenie z bazą danych nie zostało zdefiniowane dla warstwy <%d>"
 msgid "Querying database... "
 msgstr "Odpytywanie bazy danych..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr "Nie można odczytać rekordu"
 
@@ -36196,6 +37494,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "nie znaleziono mapy rastrowej <%s>"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Aktualizacja bazy danych..."
@@ -36464,7 +37767,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr "Połączenie z bazą danych nie zostało zdefiniowane dla warstwy %d"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Ten typ kolumny nie jest obługiwany"
@@ -36483,41 +37787,41 @@ msgstr "Edytować plik kategorii dla [%s]? "
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, fuzzy, c-format
 msgid "No point with category [%d]"
 msgstr "Edytować plik kategorii dla [%s]? "
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, fuzzy, c-format
 msgid "[%d] input format errors"
 msgstr "Uaktualniono %d błędów"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, fuzzy, c-format
 msgid "[%d] points of given category missing"
 msgstr "Wyświetl ustawienia bieżącego regionu"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "Znajduje najkrótszą trasę w sieci wektorowej."
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 #, fuzzy
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
@@ -36525,19 +37829,19 @@ msgstr ""
 "Nazwa pliku zawierającego procedury graficzne, jeśli brak czyta standardowe "
 "wejście"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 #, fuzzy
 msgid "Maximum distance to the network"
 msgstr "Maksymalna odległość"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -37125,45 +38429,49 @@ msgstr "Maksymalna liczba punktów w odcinku "
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
-msgid "Use either length or vertices"
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
 msgstr ""
 
 #: ../vector/v.split/main.c:108
+msgid "Use either length or vertices"
+msgstr ""
+
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Nieznany typ kolumny '%s'"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "Nie można pobrać jednostek projekcji bieżącej lokacji"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s w %s: %s"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s w %s: %s"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Liczba klas musi być < 256!"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "Nie można zapisać do pliku segmentu dla %s"
@@ -37263,10 +38571,6 @@ msgstr "Kolumna musi to być numeryczna"
 msgid "Reading categories..."
 msgstr "Dołączanie kategorii..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Transformacja obiektów..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37438,7 +38742,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr ""
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Nie można skopiować tabeli <%s>"
@@ -37703,213 +39007,234 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr ""
 "Zmienia odwzorowanie mapy rastrowej kopiując go z innej lokacji do bieżącej "
 "lokacji."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 #, fuzzy
 msgid "Location containing input vector map"
 msgstr "Lokacja mapy wejściowej"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "Mapset zawierający wejściową mapę wektorową "
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Nazwa wejściowej mapy rastrowej do zmiany projekcji"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Mapset zawierający wejściową mapę wektorową "
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Wyświetl listę plików rastrowych w wejściowej lokacji i wyjdź"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "Tylko mapy wektorowe 3D"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Nie znaleziono map rastrowych"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr ""
 "Mapa wektorowa <%s> w lokacji <%s> mapsecie <%s> nie została znaleziona"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "Plik rastrowy <%s> nie został znaleziony"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "Czytanie wejściowej mapy wektorowej"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Mapa werktorowa %s - nie została odnaleziona"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr "Błąd w pj_do_transform"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Reprojekcja prymitywów: "
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Nie można otworzyć mapy wektorowej <%s> w <%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr "Konwertuje mapę rastrową do warstwy wektorowej."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr ""
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Nie korzystaj z topologii."
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "wektor, raster, tabela atrybutów"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Brakuje tabeli"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 #, fuzzy
 msgid "Key columns differ"
 msgstr "Liczba kolumn"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "Liczba kolumn różni się"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "Nazwy kolumn różnią się"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "Typy kolumn różnią się"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 #, fuzzy
 msgid "Length of string columns differ"
 msgstr "Liczba kolumn"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Nie znaleziono kolumny klucza"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "Mapa wyjściowa nie jest 3D"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Nie można odnaleźć mapy wektorowej [%s]"
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Budowanie topologii dla mapy wektorowej <%s>..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 #, fuzzy
 msgid "The header information also may have to be edited"
 msgstr "Informacje o odwzorowaniu nie zostaną zaktualizowane."
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "Uaktualniono %d rekordów"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr ""
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "Nie można odczytać wiersza"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Nieznany typ kolumny"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Nie można wstawić nowego rekordu: '%s'"
@@ -38592,306 +39917,301 @@ msgstr[2] "Usunięto %d wierzchołków"
 msgid "Operation not implemented"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Konwertuje warstwy wektorowe OGR na wektorowe mapy GRASS."
 
-#: ../vector/v.in.ogr/main.c:142
-#, fuzzy
-msgid "OGR datasource name"
-msgstr "nazwa bazy danych"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
 "\t\tMapInfo File: directory containing mapinfo files"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
 "\t\tMapInfo File: mapinfo file name"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 #, fuzzy
 msgid "Import subregion only"
 msgstr "Wyświetl tylko region mapy rastrowej"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Minimalna liczba pikseli w klasie"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "Wyjściowa mapa rastrowa"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Brak aktywnych punktów kontrolnych"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Zapiywanie %s ..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Tworzy polilinie z linii lub granic."
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Nie można obliczyć centroid powierzchni"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Nazwa kolumny z etykietami kategorii rastra"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Liczba kolumn"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "Wczytano %d kategorii z mapy"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "Wymuś zapis wartości całkowitoliczbowych"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "Ogranicz import do bieżącego regionu"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Nie można otworzyć źródła danych <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Pozycja kursora nie jest obsługiwana przez sterownik MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "Warstwa <%s> jest niedostępna"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Warstwa <%s> jest niedostępna"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "Nie można pobrać informacji o warstwie dla mapy wektorowej <%s>"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Kolumna <%s> nie została znaleziona w tabeli <%s>"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "Dla parametru 'przestrzennego' wymagane są 4 parametry"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Szerokość strefy w jednostkach mapy"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Nie można utworzyć mapy wektorowej <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "nie znaleziono regionu <%s>"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Ten typ kolumny nie jest obługiwany"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Kolumna <%s> nie została znaleziona w tabeli <%s>"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Typ kolumny nieobsługiwany (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Zapiywanie %s ..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "Edytować plik kategorii dla [%s]? "
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Eksportuje linie jako poligony"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Obracanie danych..."
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Zapiywanie %s ..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Zapiywanie %s ..."
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Zapiywanie %s ..."
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Obliczanie centroidów dla obszarów..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "Zapisywanie centroidów ..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -38899,99 +40219,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Centroid obszaru bez kategorii"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Centroid obszaru bez kategorii"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Rozmiar sąsiedztwa musi być dodatni"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Nie można usunąć tabeli: [%s]"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -39037,17 +40357,21 @@ msgstr "Nie można zapisać części geometrii"
 msgid "Unknown geometry type"
 msgstr "Nieznany typ geometrii"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Nazwa dla pliku wyjściowego"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Plik rastrowy, który ma być podłączony"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -39055,21 +40379,21 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Nazwa dla wynikowej mapy rastrowej (override)"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 msgid "List available layers in data source and exit"
 msgstr ""
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Wyświetl dostępne warstwy i wyjdź"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -39122,7 +40446,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "Niewłaściwa kolejność"
+msgstr "Liczba kolumn"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -39132,17 +40456,17 @@ msgid ""
 msgstr ""
 "Tworzy nową warstwę wektorową jako link do warstwy OGR tylko do odczytu."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Nie można usunąć pliku %s\n"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Nie można utworzyć pliku <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "Mapa rastrowa <%s> już istnieje"
@@ -39282,50 +40606,50 @@ msgstr "Nie można utworzyć wyjściowej mapy <%s>"
 msgid "Unable to close new 3d raster map"
 msgstr "Nie można zamknąć nowej mapy rastrowej 3D"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "linia"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "Podziel sieć izoliniami kosztów."
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "Koszt dla izolinii"
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr ""
@@ -39333,11 +40657,11 @@ msgstr ""
 "\n"
 "  Liczba punktów: %d\n"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Obliczanie średniej klas ..."
@@ -39500,6 +40824,138 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Połączenie z bazą danych nie zostało zdefiniowane dla warstwy <%d>"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Brak rekordu dla cat = %d"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Brak rekordu dla cat = %d"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Kolumna <%s> nie została znaleziona"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Utwórz warstwę wektorową punktów jako punkty 3D"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Konwertuje warstwy wektorowe OGR na wektorowe mapy GRASS."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Numer warstwy (z)"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "Uaktualniono %d błędów"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Liczba warstw (na)"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Liczba warstw (na)"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Liczba warstw (z)"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Liczba warstw (z)"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Liczba warstw (z)"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Kolumna musi to być numeryczna"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Nazwa kolumny definicji koloru (do użycia z flagą -a)"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "Nie można odczytać koloru"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "Współczynnik skali dla danych z"
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "Współczynnik skali dla danych z"
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Ogranicz import do bieżącego regionu"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Brak tabeli."
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -39689,7 +41145,7 @@ msgstr "Wybieranie obiektów..."
 msgid "Invalid segment number %d for %d points"
 msgstr "Niewłaściwa liczba przedziałów: %s"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Należy określić 2 warstwy"
@@ -39999,50 +41455,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "Nie można otworzyć rastra <%s>"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Nie można otworzyć mapy wektorowej <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Nie można otworzyć bazy danych <%s> przez sterownik <%s>"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Konwertuje warstwy wektorowe OGR na wektorowe mapy GRASS."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Podregion"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Liczba warstw (na)"
 
-#: ../vector/v.in.lidar/main.c:606
-#, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Nie można otworzyć bazy danych <%s> przez sterownik <%s>"
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Liczba warstw (z)"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Nazwa wyjściowej wektorowej mapy punktów"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Liczba warstw (mapa wektorowa A)"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Wartości całkowite zostały zaimportowane"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Ozdobnik"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Wartości całkowite zostały zaimportowane"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Zapiywanie %s ..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "Niewłaściwa liczba przedziałów: %s"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Mapa(y) wektorowa(e) zawierająca(e) punkt(y) startowy(e)"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Podaj współrzędne punktu"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Nie twórz tabeli atrubutów."
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Numer warstwy (z)"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
+msgstr "Zapiywanie %s ..."
+
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
 msgstr "Zapiywanie %s ..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:768
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu input points were filtered outsite the range for z coordinate"
 msgstr "Wyświetl ustawienia bieżącego regionu"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were skipped by count-based decimation"
 msgstr "Wyświetl ustawienia bieżącego regionu"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:777
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu points imported (limit was %d)"
 msgstr "Wyświetl ustawienia bieżącego regionu"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:781
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu points imported"
 msgstr "Wyświetl ustawienia bieżącego regionu"
 
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:793
+#, fuzzy, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "Wyświetl ustawienia bieżącego regionu"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Kolumna(y) atrybutów"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40206,7 +41849,7 @@ msgid ""
 msgstr "Nazwa wyjściowej wektorowej mapy punktów"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -41222,10 +42865,6 @@ msgstr "Nie można obliczyć matrycy odwróconej"
 msgid "Resolving conflicts..."
 msgstr "Usuwanie konfliktów..."
 
-#: ../vector/v.generalize/main.c:77
-msgid "generalization"
-msgstr "generalizacja"
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -41399,57 +43038,57 @@ msgstr "wektor, interpolacja"
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "Generalizacja (%s)..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Rozdzielczość obrazu [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr "zredukowane"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr "zmienione"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Warstwa %d"
@@ -41498,74 +43137,6 @@ msgstr "Warstwa %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Liczba klatek"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Wejściowa mapa rastrowa kosztów tarcia"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Wejściowa mapa rastrowa kosztów tarcia"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Wynikowa mapa rozproszonego napromieniowania [W.m-2] (tryb 1) lub "
-#~ "napromienienia [Wh.m-2.day-1] (tryb 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Wynikowa mapa rastrowa odbitego przez ziemię napromieniowania [W.m-2] "
-#~ "(tryb 1 ) lub napromieniowania [Wh.m-2.day-1] (tryb 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Wyjściowy plik bezpośredniego napromieniowania [W.m-2] (tryb 1) lub "
-#~ "napromienienia [Wh.m-2.day-1] (tryb 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nazwa mapy rastrowej wysokości [m]"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nazwa wejściowej rastrowej mapy wysokości [metry]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Wynikowa mapa rastrowa odbitego przez ziemię napromieniowania [W.m-2] "
-#~ "(tryb 1 ) lub napromieniowania [Wh.m-2.day-1] (tryb 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Wyjściowy plik bezpośredniego napromieniowania [W.m-2] (tryb 1) lub "
-#~ "napromienienia [Wh.m-2.day-1] (tryb 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Liczba punktów interpolacji"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Forsuj projekcję (użyj projekcji z lokacji)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Lokacja: %s\n"
 
@@ -41582,24 +43153,28 @@ msgstr "Warstwa %d"
 #~ "\n"
 #~ "%d klasy, %.2f%% punkty stałe\n"
 
+#~ msgid "Subregion"
+#~ msgstr "Podregion"
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Przyrost kategorii"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "opcja <%s>: <%s> istnieje."
+#, fuzzy
+#~ msgid "Could not rewind input file"
+#~ msgstr "Nie można otworzyć pliku wyjściowego <%s>"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Mapa wyjściowa"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Nazwa bazoewj mapy rastrowej"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Ustawianie okna graficznego"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "BŁĄD: <%s> już istnieje w mapsecie <%s>\n"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Nazwa bazoewj mapy rastrowej"
+#~ msgid "output map <%s> exists"
+#~ msgstr "Mapa wyjściowa"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Długość strony (domyślnie: %d lines)"
@@ -41607,6 +43182,9 @@ msgstr "Warstwa %d"
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Szerokość strony (domyślnie: %d characters)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Forsuj projekcję (użyj projekcji z lokacji)"
+
 #, fuzzy
 #~ msgid "%s: Error writing temporary file"
 #~ msgstr "Błąd zapisu pliku mapy wynikowej!"
@@ -41622,6 +43200,21 @@ msgstr "Warstwa %d"
 #~ msgid "[%s] not found"
 #~ msgstr "nie znaleziono [%s]"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "opcja <%s>: <%s> istnieje."
+
+#, fuzzy
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "Forsuj projekcję (użyj projekcji z lokacji)"
+
+#, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
 #~ msgid "Location name (not location path)"
 #~ msgstr "Nazwa lokacji (nie ścieżka do lokacji)"
 
@@ -41630,6 +43223,20 @@ msgstr "Warstwa %d"
 #~ msgstr "Nowe GISDBASE (pełna ścieżka dostępu do nowej lokacji)"
 
 #, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Nie można ustawić projekcji"
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Konwertuje starsze wersje wektorowych map GRASS-a w bieżącym mapsecie do "
+#~ "bieżącego formatu."
+
+#~ msgid "Field separator"
+#~ msgstr "Separator pól"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Aktualizuje metadane mapy wektorowej."
 
@@ -41660,153 +43267,56 @@ msgstr "Warstwa %d"
 #~ msgid "No default DB driver defined"
 #~ msgstr "Domyślny sterownik nie jest ustawiony"
 
-#~ msgid "Field separator"
-#~ msgstr "Separator pól"
-
 #, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "BŁĄD: <%s> już istnieje w mapsecie <%s>\n"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Konwertuje starsze wersje wektorowych map GRASS-a w bieżącym mapsecie do "
-#~ "bieżącego formatu."
+#~ msgid "OGR datasource name"
+#~ msgstr "nazwa bazy danych"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Nie podano nazwy mapy"
 
 #, fuzzy
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Wczytywanie mapy hipsometrycznej:"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Nie można utworzyć pliku <%s>"
 
 #, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "Nie mozna odczytać <%s>"
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "Wczytano %d kategorii z tabeli <%s>"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Określ kolumnę z."
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Niedozwolona wartość dla współczynnika skalowego."
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Określ kolumnę z."
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Określ kolumnę z."
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Określ kolumnę z."
+#~ msgid "Env file not found"
+#~ msgstr "nie znaleziono pliku <%s> widoku 3d "
 
 #, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Określ kolumnę z."
+#~ msgid "PID file not found"
+#~ msgstr "plik nie został odnaleziony: %s"
 
 #, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
+#~ msgid "Command file not found"
+#~ msgstr "Kolumna <%s> nie została znaleziona"
 
 #, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "Wczytywanie mapy hipsometrycznej:"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "-r i -e wzajemnie się wykluczają"
+#~ msgid "Name for output image"
+#~ msgstr "Nazwa dla pliku wyjściowego"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "Nie mozna odczytać <%s>"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
-
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "Albo standardowa nazwa koloru albo R:G:B"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "Wczytano %d kategorii z tabeli <%s>"
 
-#, fuzzy
 #~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
+#~ "Correction of the v.lidar.growing output. It is the last of the three "
+#~ "algorithms for LIDAR filtering."
 #~ msgstr ""
-#~ "Wyświetla dane wektorowe GRASS w aktywnej ramce monitora graficznego."
-
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Kolor wyświetlanego tekstu"
-
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Kolor wyświetlanej siatki, lub \"none\""
-
-#, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Nazwa wyjściowej mapy rastrowej"
+#~ "Koryguje rezultat modułu v.lidar.growing. Ostatni z trzech algorytmów "
+#~ "filtracji danych LiDAR."
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Odległość położenia kamery (w jednostkach mapy)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "Nazwa dla wynikowej mapy rastrowej "
 
 #~ msgid "Displays thematic vector map"
 #~ msgstr "Wyświetla tematyczną mapę wektorową"
@@ -41844,12 +43354,37 @@ msgstr "Warstwa %d"
 #~ msgstr "Pliki"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Nazwa dla wynikowej mapy rastrowej "
+#~ msgid "Name of output basename raster map(s)"
+#~ msgstr "Nazwa wyjściowej mapy rastrowej"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Wyświetl"
+#~ msgid "Default: input"
+#~ msgstr "Odległość położenia kamery (w jednostkach mapy)"
+
+#, fuzzy
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr ""
+#~ "Wyświetla dane wektorowe GRASS w aktywnej ramce monitora graficznego."
+
+#~ msgid "Text color or \"none\""
+#~ msgstr "Kolor tekstu lub \"none\""
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Kolor wyświetlanego tekstu"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "Kolor wyświetlanej siatki, lub \"none\""
+
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "Albo standardowa nazwa koloru albo R:G:B"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "linia"
 
 #, fuzzy
 #~ msgid ""
@@ -41857,17 +43392,29 @@ msgstr "Warstwa %d"
 #~ msgstr ""
 #~ "Pozwala na tworzenie i/lub modyfikację plików wsparcia dla map rastrowych."
 
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "Plik dig_att nie istnieje."
+
+#~ msgid "Attaching categories..."
+#~ msgstr "Dołączanie kategorii..."
+
+#~ msgid "Writing new file..."
+#~ msgstr "Zaisywanie nowego pliku..."
+
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Nie można odczytać mapy wektorowej "
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "Nadpisz plik mapy wyjściowej"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importuje starsze wersje wektorowych map GRASS-a."
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Nie można utworzyć tabeli: %s"
+#~ msgid "Endian of input vector map"
+#~ msgstr "nazwa wejściowego pliku wektorowego"
 
 #, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "Niewystarczająca ilość pamięci."
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "Nie można otworzyć pliku dig_att <%s>\n"
 
 #~ msgid "Reading dig file..."
 #~ msgstr "Wczytywanie pliku dig..."
@@ -41914,114 +43461,34 @@ msgstr "Warstwa %d"
 #~ msgid "[%d] categories read into memory"
 #~ msgstr "Wczytano %d kategorii z mapy"
 
-#, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "Nie można otworzyć pliku dig_att <%s>\n"
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "Plik dig_att nie istnieje."
-
-#~ msgid "Attaching categories..."
-#~ msgstr "Dołączanie kategorii..."
-
-#~ msgid "Writing new file..."
-#~ msgstr "Zaisywanie nowego pliku..."
-
-#, fuzzy
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "Nadpisz plik mapy wyjściowej"
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importuje starsze wersje wektorowych map GRASS-a."
-
-#, fuzzy
-#~ msgid "Endian of input vector map"
-#~ msgstr "nazwa wejściowego pliku wektorowego"
-
-#, fuzzy
-#~ msgid "Unknown raster map type"
-#~ msgstr "Nieznany rodzaj mapy rastrowej"
-
-#, fuzzy
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Wielkość etykiety (w pikselach)"
-
-#, fuzzy
-#~ msgid "Can't call bad function"
-#~ msgstr "lokalizacja bazy danych"
-
-#, fuzzy
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Odczytywania mapy %s"
-
 #~ msgid "One or more coordinates"
 #~ msgstr "Jedna lub więcej współrzędnych"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Niewystarczająca ilość pamięci dla adx"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Niewystarczająca ilość pamięci dla ady"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Niewystarczająca ilość pamięci dla adxx"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Niewystarczająca ilość pamięci dla adyy"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Niewystarczająca ilość pamięci dla adxy"
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "Nie można utworzyć quaddata"
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "Nie można utworzyć quadfunc"
-
-#~ msgid "Cannot create tree"
-#~ msgstr "Nie można utworzyć drzewa"
-
-#~ msgid "sites"
-#~ msgstr "punkty"
-
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Konwertuje plik site_lists GRASS do mapy wektorowej."
-
-#, fuzzy
-#~ msgid "Site file <%s> not found"
-#~ msgstr "nie znaleziono pliku <%s> widoku 3d "
-
-#, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "Format pliku graficznego"
+#~ msgid "Name of elevation map"
+#~ msgstr "Nazwa mapy wysokości"
 
-#, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "Nie można wyznaczyć stref buforowych dla rastra."
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Ciąg znaków reprezentujący komórki, w których jest brak danych"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "nazwa wejściowego pliku wektorowego"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
 
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Wejściowa mapa rastrowa intesywności (intensity)"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "Nieznana wartość metryczna: [%s]."
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Wejściowa mapa rastrowa nasycenia (saturation)"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Błąd przy odczycie pliku kategorii dla <%s>"
 
 #, fuzzy
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr "Importuje starsze wersje wektorowych map GRASS-a"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "Błąd w odczycie pliku colr dla <%s>."
 
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Nazwa wyjściowego pliku (nie dodawaj rozszerzenia)"
+#~ msgid "String representing no data cell value"
+#~ msgstr "Ciąg znaków reprezentujący wartości NULL"
 
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Nazwa map(y) rastrowych(ej) do wysokości"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Narzędzie interpolacji powierzchni dla map rastrowych."
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -42038,15 +43505,18 @@ msgstr "Warstwa %d"
 #~ "przemieszczania się pomiędzy położeniami na wejściowej warstwie rastrowej "
 #~ "wysokości oraz mapie rastrowej, której wartości reprezentują koszt tarcia."
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "Wejściowa mapa rastrowa intesywności (intensity)"
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "Wejściowa mapa rastrowa nasycenia (saturation)"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "Wyjściowa mapa rastrowa zieleń (green)"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "Wyjściowa mapa rastrowa niebieskości (blue)"
 
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Narzędzie interpolacji powierzchni dla map rastrowych."
-
 #, fuzzy
 #~ msgid ""
 #~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
@@ -42064,50 +43534,15 @@ msgstr "Warstwa %d"
 #~ msgstr[1] "Interpolowanie mapy rastrowej <%s>... %d wierszy..."
 #~ msgstr[2] "Interpolowanie mapy rastrowej <%s>... %d wierszy..."
 
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "Odwzorowanie lat/lon nie jest obsługiwane at this time."
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Lokacja: %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "wyświetl indeks"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "Nazwa mapy wysokości"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Ciąg znaków reprezentujący komórki, w których jest brak danych"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Nieznana wartość metryczna: [%s]."
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Błąd przy odczycie pliku kategorii dla <%s>"
-
-#, fuzzy
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Błąd w odczycie pliku colr dla <%s>."
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Ciąg znaków reprezentujący wartości NULL"
-
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "wyjściowy plik wysokości -Z (mapy wysokości)"
 
 #~ msgid "Output aspect map (or fy)"
 #~ msgstr "Wyjściowa mapa ekspozycji (lub fy)"
 
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "Odwzorowanie lat/lon nie jest obsługiwane at this time."
+
 #~ msgid "Prefix for output raster map(s)"
 #~ msgstr "Prefix dla wejściowej mapy(map) rastrowej"
 
@@ -42136,14 +43571,18 @@ msgstr "Warstwa %d"
 #~ msgstr "Pomiń ostrzeżenia"
 
 #, fuzzy
-#~ msgid "High resolution panchromatic image"
-#~ msgstr ""
-#~ "Transformacja Brovey'a do integracji multispektralnych i wysokiej "
-#~ "rozdzielczości kanałów panchromatycznych."
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
+#~ msgstr "Importuje starsze wersje wektorowych map GRASS-a"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Korelacja"
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "Nazwa wyjściowego pliku (nie dodawaj rozszerzenia)"
+
+#, fuzzy
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Nazwa map(y) rastrowych(ej) do wysokości"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -42170,6 +43609,133 @@ msgstr "Warstwa %d"
 #~ msgstr "Nazwa dla wynikowej mapy rastrowej (domyślna: input)"
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr "oblicza statystyki z mapy rastrowej GRASS"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Kolor wyświetlanej siatki, lub \"none\""
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Kolor wyświetlanej siatki, lub \"none\""
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Kolor wyświetlania nieznanych informacji"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "Kolor wyświetlanej siatki, lub \"none\""
+
+#, fuzzy
+#~ msgid "Invalid distance"
+#~ msgstr "Niewłaściwy przedział czasowy"
+
+#~ msgid "Layer number"
+#~ msgstr "Numer warstwy"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "Lokacja: %s\n"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "wyświetl indeks"
+
+#, fuzzy
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Określ kolumnę z."
+
+#, fuzzy
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "Niedozwolona wartość dla współczynnika skalowego."
+
+#, fuzzy
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
+
+#, fuzzy
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Określ kolumnę z."
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Określ kolumnę z."
+
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Określ kolumnę z."
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Określ kolumnę z."
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Wyświetl"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
+
+#, fuzzy
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "High resolution panchromatic image"
+#~ msgstr ""
+#~ "Transformacja Brovey'a do integracji multispektralnych i wysokiej "
+#~ "rozdzielczości kanałów panchromatycznych."
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Korelacja"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "Nazwa wejściowej mapy rastrowej"
 
@@ -42185,21 +43751,94 @@ msgstr "Warstwa %d"
 #~ msgid "No maps output"
 #~ msgstr "Brak mapy wyjściowej"
 
-#, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr "oblicza statystyki z mapy rastrowej GRASS"
-
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "Kolor wyświetlanej siatki, lub \"none\""
 
 #~ msgid "Gather the histogram quietly"
 #~ msgstr "Pobierz histogram niejawnie"
 
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Niewystarczająca ilość pamięci dla adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Niewystarczająca ilość pamięci dla ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Niewystarczająca ilość pamięci dla adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Niewystarczająca ilość pamięci dla adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Niewystarczająca ilość pamięci dla adxy"
+
+#~ msgid "Cannot create quaddata"
+#~ msgstr "Nie można utworzyć quaddata"
+
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "Nie można utworzyć quadfunc"
+
+#~ msgid "Cannot create tree"
+#~ msgstr "Nie można utworzyć drzewa"
+
 #, fuzzy
-#~ msgid "Invalid distance"
-#~ msgstr "Niewłaściwy przedział czasowy"
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Nie można utworzyć tabeli: %s"
 
-#~ msgid "Layer number"
-#~ msgstr "Numer warstwy"
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "Niewystarczająca ilość pamięci."
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "-r i -e wzajemnie się wykluczają"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr "Tekst powinien być wprowadzony lub użyte -c"
+
+#~ msgid "sites"
+#~ msgstr "punkty"
+
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "Konwertuje plik site_lists GRASS do mapy wektorowej."
+
+#, fuzzy
+#~ msgid "Site file <%s> not found"
+#~ msgstr "nie znaleziono pliku <%s> widoku 3d "
+
+#, fuzzy
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "Format pliku graficznego"
+
+#, fuzzy
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "Nie można wyznaczyć stref buforowych dla rastra."
+
+#, fuzzy
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "nazwa wejściowego pliku wektorowego"
+
+#, fuzzy
+#~ msgid "Performing map %s + %s"
+#~ msgstr "Odczytywania mapy %s"
+
+#, fuzzy
+#~ msgid "Can't call bad function"
+#~ msgstr "lokalizacja bazy danych"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "Nie można odczytać mapy wektorowej "
+
+#, fuzzy
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Wielkość etykiety (w pikselach)"
+
+#, fuzzy
+#~ msgid "Unknown raster map type"
+#~ msgstr "Nieznany rodzaj mapy rastrowej"
diff --git a/locale/po/grassmods_pt.po b/locale/po/grassmods_pt.po
index b32de95..dfcaaf9 100644
--- a/locale/po/grassmods_pt.po
+++ b/locale/po/grassmods_pt.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_pt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2007-06-21 21:54-0300\n"
 "Last-Translator: Daniel de Castro Victoria <daniel dot victoria at gmail dot "
 "com>\n"
@@ -25,10 +25,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -46,6 +46,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -75,12 +76,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -127,7 +129,7 @@ msgstr "Respeitar valores Nulos quando desenhar"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, fuzzy, c-format
@@ -135,14 +137,16 @@ msgid "Color file for <%s> not available"
 msgstr "Arquivo de cores para [%s] n�o dispon�vel"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -161,7 +165,9 @@ msgstr "Arquivo de cores para [%s] n
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -182,7 +188,7 @@ msgstr "Arquivo de cores para [%s] n
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -194,7 +200,7 @@ msgstr "Arquivo de cores para [%s] n
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -218,17 +224,17 @@ msgstr "Arquivo de cores para [%s] n
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -239,7 +245,7 @@ msgstr "Arquivo de cores para [%s] n
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -392,10 +398,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 #, fuzzy
 msgid "Input"
 msgstr "Mapa de entrada"
@@ -442,22 +451,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "Usar um subconjunto do intervalo do mapa para a legenda (min,m�x)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Cor do Texto"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Fonte"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Nome da Fonte"
 
@@ -471,12 +482,14 @@ msgstr "Tamanho do 
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 #, fuzzy
 msgid "Path to font file"
 msgstr "Nome do arquivo vetor resultante"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -577,14 +590,20 @@ msgstr "Intervalo de cores excede o limite superior dos dados"
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "use=%s fora do intervalo [%.3f,%.3f]. (extender com 'range= ?')"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Nada a desenhar! (sem categorias com r�tulo?)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 #, fuzzy
 msgid ""
@@ -636,11 +655,11 @@ msgstr "T
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -722,23 +741,26 @@ msgstr "Lista de categorias para exibir (mapas INT)"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -748,14 +770,19 @@ msgstr "Lista de categorias para exibir (mapas INT)"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -806,54 +833,55 @@ msgstr "%s=%s - nome ilegal"
 msgid "[%s]: No such color"
 msgstr "[%s]: cor n�o existe"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 #, fuzzy
 msgid "monitors"
 msgstr "Lista de curvas de n�vel"
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Mostra informa��es sobre o monitor gr�fico atual"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 #, fuzzy
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Mostra ret�ngulo na tela"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 #, fuzzy
 msgid "Display screen dimensions (width, height)"
 msgstr "Mostra tamanho da tela"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 #, fuzzy
 msgid "Display active frame rectangle"
 msgstr "Mostra ret�ngulo na tela"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Mostra tamanho da tela"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 #, fuzzy
 msgid "Display screen rectangle of current region"
 msgstr "Mostra ret�ngulo na tela"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -861,31 +889,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, fuzzy, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Conex�o com banco de dados n�o definida para camada <%d>"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -895,10 +924,10 @@ msgstr "Conex
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -912,7 +941,7 @@ msgstr "Conex
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "N�o conseguir abrir banco de dados %s com driver %s"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -937,7 +966,7 @@ msgstr "Tipo de fei
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 #, fuzzy
 msgid "Chart properties"
 msgstr "Tipo de fei��o"
@@ -984,7 +1013,12 @@ msgstr "Maior valor usado como refer
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Criar sa�da 3D"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -992,20 +1026,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -1020,40 +1056,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1078,11 +1114,6 @@ msgstr "Usando as coordenadas do centro do mapa\n"
 msgid "Line color"
 msgstr "Cor da Linha"
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr "Cor do Texto"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1142,12 +1173,15 @@ msgstr "L: de  M: a R: sair\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1166,17 +1200,18 @@ msgstr "L: de  M: a R: sair\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1189,10 +1224,10 @@ msgstr "L: de  M: a R: sair\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1200,21 +1235,22 @@ msgstr "L: de  M: a R: sair\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr ""
 
@@ -1261,16 +1297,18 @@ msgstr "mapa vetorial <%s> n
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1282,22 +1320,22 @@ msgstr "mapa vetorial <%s> n
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1353,10 +1391,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1411,12 +1449,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Nome do mapa raster a ser usado para <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Mostrar informa��o topol�gica (depura��o)"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1425,29 +1463,29 @@ msgstr ""
 "Sobrep�e valores de categorias em um mapa raster no quadro ativo do monitor "
 "gr�fico."
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 #, fuzzy
 msgid "Grid color"
 msgstr "Cor da Borda"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "N�mero de d�gitos significativos (apenas ponto flutuante)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Mapa raster dos pontos iniciais"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "Usar cor do texto a partir da cor da c�lula"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1456,7 +1494,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1464,7 +1502,7 @@ msgstr[0] "Cor da Borda"
 msgstr[1] "Cor da Borda"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1472,11 +1510,11 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr "atual defini��o C�lulas ativo c�lula para."
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
@@ -1484,65 +1522,65 @@ msgstr ""
 "Desenha setas representando a dire��o para mapas raster contendo dados de "
 "orienta��o."
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Nome do mapa de orienta��o para exibi��o"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Tipo do mapa raster de orienta��o existente"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Cor para desenhar setas"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Cor para desenhar setas"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Cor para desenhas X's (valores nulos)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Cor para exibir informa��es desconhecidas"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "Exibir seta a cada N-�sima c�lula da malha"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "Mapa raster contendo valores do comprimento da seta"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Fator de escala para setas (mapa de magnitude)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 #, fuzzy
 msgid "Illegal value for scale factor"
 msgstr "Valor ilegal para fator de escala"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "Valor ilegal de separa��o."
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr "Magnitude � suportado somente para mapas de orienta��o do GRASS."
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 #, fuzzy
 msgid "Scale option requires magnitude_map"
 msgstr "Op��o escala requer 'magnitude_map'"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "Erro lendo arquivo de limite."
@@ -1672,17 +1710,17 @@ msgid ""
 "\n"
 msgstr "Dist�ncia para a rede = %f, dist�ncia da rede = %f\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1690,7 +1728,7 @@ msgstr "Exibir"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1699,53 +1737,53 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 #, fuzzy
 msgid "Arc type"
 msgstr "Tipo de fei��o"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 #, fuzzy
 msgid "Arc layer"
 msgstr "Consultar"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 #, fuzzy
 msgid "Node layer"
 msgstr "Consultar"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1769,11 +1807,11 @@ msgstr "\rLendo arquivo [%s] ..."
 msgid "Background color"
 msgstr "Cor de fundo"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 #, fuzzy
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "%s n�o funciona com uma loca��o lat-long"
@@ -1794,7 +1832,7 @@ msgstr "%s=%s - nome ilegal"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1819,7 +1857,7 @@ msgstr "Exibir"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1827,7 +1865,7 @@ msgstr "Exibir"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2203,7 +2241,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2221,15 +2259,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Op��o Geo-Grid n�o dispon�vel para proje��o LL"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "N�o obtive os valores de proje��o da loca��o atual"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "N�o consegui ajustar par�metros de proje��o lat/long"
@@ -2494,12 +2532,13 @@ msgstr "Coordenadas inv
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2573,15 +2612,15 @@ msgstr "Requisi
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "Favor especificar um elips�ide  lat/long com -l ou -w"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "N�o consegui informa��es de proje��o da loca��o atual"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
@@ -2605,11 +2644,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "N�o consegui criar arquivo raster [%s]."
@@ -2812,7 +2852,7 @@ msgstr "Cor de preenchimento"
 msgid "Colorize features according color definition column"
 msgstr "Erro na defini��o de cor na coluna GRASSRGB, �rea %d com cat %d"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Coluna de defini��o das cores n�o definida."
@@ -3120,41 +3160,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]: cor n�o existe"
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "O vetor '%s' j� existe."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "N�o consegui atualizar regi�o atual"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Sa�da de mapa"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Nenhum monitor selecionado"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "N�o consegui criar arquivo [%s]"
+msgid "Starting monitor <%s>..."
+msgstr "Escrevendo [%s]..."
 
-#: ../display/d.mon/start.c:163
-#, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "N�o consegui ler arquivo de cores."
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, fuzzy, c-format
+msgid "Unable to create file <%s>"
+msgstr "N�o consegui criar arquivo [%s]"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3166,34 +3213,53 @@ msgstr "Nenhum monitor selecionado"
 msgid "Monitor <%s> is not running"
 msgstr "raster <%s> n�o encontrado"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "Arquivo de c�lulas n�o encontrado\n"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "N�o consegui criar arquivo [%s]"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "Arquivo de c�lulas n�o encontrado\n"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "N�o consegui abrir mapa raster <%s>"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, fuzzy, c-format
+msgid "Unable to open file <%s>"
+msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "N�o consegui criar arquivo [%s]"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Lista de curvas de n�vel"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "Arquivo de c�lulas n�o encontrado\n"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "N�o consegui ler arquivo de cores."
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "N�o adicionar � lista de comandos no monitor"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3205,8 +3271,8 @@ msgid "Name of monitor to start"
 msgstr "Nome do mapa raster que conter� os resultados"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3230,9 +3296,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3312,12 +3379,12 @@ msgid "List running monitors and exit"
 msgstr "Mostra oso formatos suportados e encerra"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3330,33 +3397,34 @@ msgstr "Mostra oso formatos suportados e encerra"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr ""
 
@@ -3370,60 +3438,78 @@ msgstr "Mostra a extens
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Mostra a extens�o da regi�o atual"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Mostra a extens�o da regi�o atual"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "N�o selecionar atumaticamente quando iniciar"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Libera o monitor selecionado atualmente"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "N�o consegui ler arquivo de cores."
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Abrir formul�rio em modo de edi��o"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 #, fuzzy
 msgid "Currently selected monitor:"
 msgstr "Libera o monitor selecionado atualmente"
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, fuzzy, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr "N�o adicionar � lista de comandos no monitor"
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, fuzzy, c-format
 msgid "Monitor <%s> released"
 msgstr "Nenhum monitor selecionado"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "Nenhum monitor selecionado"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3478,7 +3564,7 @@ msgid "No map name given"
 msgstr "Mapa(s) de entrada n�o especificado(s)."
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Editar arquivo de categorias para [%s]?"
@@ -3611,9 +3697,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
@@ -3665,9 +3751,9 @@ msgstr "Correla
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "Formato OGR."
@@ -3682,12 +3768,12 @@ msgstr "Delimitador vertical de registro na sa
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 #, fuzzy
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Nome do mapa bin�rio de sa�da (use 'out=-' para sa�da padr�o)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "N�o incluir nomes das colunas na sa�da"
 
@@ -3696,7 +3782,7 @@ msgstr "N
 msgid "Describe query only (don't run it)"
 msgstr "apenas descrever a pesquisa (n�o executar)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Sa�da vertical (ao inv�s de horizontal)"
 
@@ -3729,7 +3815,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3761,7 +3847,7 @@ msgstr "banco de dados"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3773,7 +3859,7 @@ msgstr "Mostra atributos do vetor"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3913,8 +3999,8 @@ msgstr "N
 msgid "Unable to create index:"
 msgstr "N�o consegui criar face"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Correla��o"
@@ -3990,7 +4076,7 @@ msgstr "N
 msgid "Unable to allocate handle."
 msgstr "N�o consegui alocar mem�ria."
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -4027,7 +4113,7 @@ msgstr "N
 msgid "Unable to select view names."
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -4067,12 +4153,12 @@ msgstr "Mem
 msgid "No path given"
 msgstr "Mapa(s) de entrada n�o especificado(s)."
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "N�o consegui selecionar dados da tabela"
@@ -4120,30 +4206,30 @@ msgid "Taken not found"
 msgstr "[%s] n�o encontrado."
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 #, fuzzy
 msgid "Unable to create index"
 msgstr "N�o consegui criar face"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "N�o consegui definir tamanho"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "N�o consegui abrir arquivo de sa�da <%s>."
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "N�o consegui abrir mapa raster <%s>"
@@ -4190,6 +4276,11 @@ msgstr ""
 "coluna '%s' : tipo bool (booleano) est� armazenado como char(1), valores 0 "
 "(falso), 1 (verdadeiro)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "N�o consegui definir tamanho"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Op��o desconhecida na defini��o do banco de dados PostgreSQL"
@@ -4277,7 +4368,8 @@ msgstr "raster <%s> n
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, fuzzy, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4359,22 +4451,22 @@ msgstr "N
 msgid "Unable to open database:"
 msgstr "N�o consegui abrir mapa raster <%s>"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Conex�o com banco de dados n�o definida"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "O vetor '%s' j� existe."
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "N�o consegui criar arquivo [%s]"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "raster <%s> n�o encontrado"
@@ -4389,6 +4481,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "driver SQLite : coluna '%s', tipo SQLite %d  n�o � suportado"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Erro fechando arquivo VTK-ASCII"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4644,10 +4741,10 @@ msgstr "Removendo centr
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, fuzzy, c-format
 msgid "Unable to describe table <%s>"
@@ -4668,27 +4765,40 @@ msgstr "Por favor corrija op
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "N�o consegui criar a tabela %s"
+msgid "Username"
+msgstr "nome=%s\n"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "N�o consegui criar a tabela %s"
+msgid "Password"
+msgstr "M�scara: %s\n"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Nome da Tabela"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "mostra os par�metros de conex�o atuais e finaliza"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 #, fuzzy
 msgid "Unable to set user/password"
 msgstr "Imposs�vel definir usu�rio/senha"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "A senha foi arquivada"
@@ -4984,6 +5094,7 @@ msgstr "
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4994,10 +5105,11 @@ msgstr "
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "Valor do raster"
@@ -5071,19 +5183,6 @@ msgstr "Flag -i e/ou par
 msgid "Off-screen only available with full render mode"
 msgstr "Renderiza��o fora da tela s� dispon�vel com renderiza��o completa"
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, fuzzy, c-format
-msgid "Unable to open file <%s>"
-msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5364,7 +5463,7 @@ msgstr "Arquivo de c
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -6066,7 +6165,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -6079,12 +6178,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6190,7 +6290,17 @@ msgstr "solicitado"
 msgid "<%s> already exists"
 msgstr "O vetor '%s' j� existe."
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "N�o consegui escrever em <%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "n�o consegui abrir arquivo de vetores <%s> em <%s>"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6198,21 +6308,21 @@ msgstr "O vetor '%s' j
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 #, fuzzy
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr "Listas dispon�vel de para."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 #, fuzzy
 msgid "Map name search pattern (default: all)"
 msgstr "mapear Pesquisa padr�o todos"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6220,142 +6330,115 @@ msgstr "mapear Pesquisa padr
 msgid "Pattern"
 msgstr "Valor do raster"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
 msgstr "mapear Pesquisa padr�o todos"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "para padr�o atual Pesquisa"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Nome de padr�o atual"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Definir regi�o atual pela regi�o designada"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Nome do arquivo de sa�da"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr ""
 "Arquivo ASCII para converter para vetor bin�rio, se n�o for dado, l� da "
 "entrada padr�o"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 #, fuzzy
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "de"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 #, fuzzy
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "de"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "Imprime apenas o tipo do mapa raster"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 #, fuzzy
 msgid "Pretty printing in human readable format"
 msgstr "Suprimir impress�o de cabe�alho"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 #, fuzzy
 msgid "Verbose listing (also list map titles)"
 msgstr "mapear"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Mapa raster [%s] n�o encontrado"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "N�o consegui escrever em <%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "n�o consegui abrir arquivo de vetores <%s> em <%s>"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 #, fuzzy
 msgid "Unable to update lat/long projection parameters"
 msgstr "N�o consegui ajustar par�metros de proje��o lat/long"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Erro em pj_do_proj (proje��o das coordenadas de entrada)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 #, fuzzy
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
@@ -6364,7 +6447,7 @@ msgstr ""
 "Sa�da WGS84 n�o � poss�vel pois esta loca��o n�o cont�m\n"
 "par�metros de transforma��o do .datum. Execute g.setproj"
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6606,9 +6689,9 @@ msgstr "regi
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "Mapa raster 3D <%s> n�o encontrado"
@@ -6632,7 +6715,7 @@ msgstr "N
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, fuzzy, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Fonte inv�lida: %s"
@@ -6917,38 +7000,38 @@ msgstr "Mostra as estat
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -7090,7 +7173,7 @@ msgstr "Nome dos mapas raster existentes para pesquisar"
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 #, fuzzy
 msgid "Operation to be performed"
@@ -7562,7 +7645,7 @@ msgstr "N
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, fuzzy, c-format
 msgid "Unable to open output file <%s>"
@@ -7765,38 +7848,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "Arquivo de c�lulas n�o encontrado\n"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Arquivo raster para importar"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -8016,8 +8120,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -8055,9 +8159,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, fuzzy, c-format
 msgid "Location <%s> created"
 msgstr "Loca��o: %s\n"
@@ -8217,10 +8321,12 @@ msgstr "Mostra matriz de correla
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8236,10 +8342,14 @@ msgstr "Mostra matriz de correla
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8273,10 +8383,12 @@ msgstr "Arquivo vetorial para criar"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8292,10 +8404,14 @@ msgstr "Arquivo vetorial para criar"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8399,8 +8515,8 @@ msgstr "Substitui o conte
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "Importar"
@@ -8442,7 +8558,7 @@ msgstr "Importar um arquivo raster bin
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8472,15 +8588,16 @@ msgstr "Nome do grupo de imagens"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Importar"
@@ -8631,7 +8748,7 @@ msgstr "Nome do banco de dados"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Converte um mapa raster 3D em mapas raster 2D"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8641,6 +8758,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Mapa de entrada"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Converte um mapa raster 3D em mapas raster 2D"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "Inporta��o de vetor incompleta"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Nome do novo arquivo raster"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "N�mero de c�pias"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Mapa raster de entrada"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8693,21 +8911,12 @@ msgid ""
 "datasets."
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "Inporta��o de vetor incompleta"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8716,11 +8925,13 @@ msgstr "Inporta
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8728,54 +8939,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Nome do novo arquivo raster"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "N�mero de c�pias"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Mapa raster de entrada"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8790,7 +8960,8 @@ msgstr "Nome do mapa raster"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "vetor, metadados"
@@ -9027,7 +9198,7 @@ msgstr "M
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "M�todo de intepola��o a usar"
 
@@ -9146,6 +9317,49 @@ msgstr "para atributo para mapear"
 msgid "Name of attribute column(s) to drop"
 msgstr "N�mero de colunas"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Lista separada por v�rgulas, p.ex.: 1.4,3.8,13"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Nome de um arquivo para gravar a sa�da do relat�rio"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "<%s> criados na base de dados."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "N�mero de c�pias"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Mapa raster de sa�da"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9373,7 +9587,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9618,6 +9832,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9688,10 +9903,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Estender loca��o baseado nos novos dados"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
@@ -9700,7 +9919,8 @@ msgstr "Sobrescrever proje
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
@@ -9718,21 +9938,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 #, fuzzy
 msgid "In scan mode, print using shell script style"
 msgstr "Mostra as estat�sticas em estilo shell script"
@@ -9756,7 +9976,7 @@ msgid "Name for output raster map"
 msgstr "Nome do Raster de sa�da"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 #, fuzzy
 msgid "Statistic to use for raster values"
 msgstr "Relat�rio de estat�sticas para mapas raster."
@@ -9764,14 +9984,14 @@ msgstr "Relat
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Tipo de armazenamento para o mapa resultante"
@@ -9817,18 +10037,18 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Fator de escala para os valores da coluna de atributos"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Porcentagem do mapa para manter em mem�ria"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 #, fuzzy
 msgid "pth percentile of the values"
 msgstr "Formato para relatar a declividade"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9933,8 +10153,8 @@ msgid "Remove existing color table"
 msgstr "Manter a tabela de cores existente"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9980,12 +10200,13 @@ msgid ""
 msgstr "Converte vetores OGR para GRASS. Drivers dispon�veis:\n"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Arquivo raster para importar"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 #, fuzzy
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
@@ -9993,7 +10214,7 @@ msgstr ""
 "mostradas"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "T�tulo do raster de sa�da"
@@ -10014,6 +10235,11 @@ msgstr "T
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -10036,10 +10262,15 @@ msgstr "T
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "Sa�da de mapa"
@@ -10050,29 +10281,30 @@ msgid "Output vector map extent"
 msgstr "Gera um mapa das �reas problem�ticas"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Alinhar a regi�o atual pelo mapa de entrada"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Erro na leitura do arquivo de categorias para <%s>."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Limite de 'snap' para contornos. -1 para n�o haver snap"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -10088,17 +10320,69 @@ msgid "-1 to list available datum transform parameters"
 msgstr "Verificar"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Mostra oso formatos suportados e encerra"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Lista camadas dispon�veis na fonte dos dados e finaliza"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "N�o consegui unidades de proje��o da loca��o atual"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Exibe escala gr�fica no monitor do GRASS"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Criar novo arquivo caso este n�o exista."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Remove todas os quadros e limpa a tela"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "para padr�o atual Pesquisa"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Mostra a extens�o da regi�o atual"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+"Posi��o da tela a partir da qual o texto ser� desenhado (porcentagem, [0,0] "
+"� o canto inferior direito)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10271,7 +10555,7 @@ msgstr "acima para mapear"
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10280,7 +10564,7 @@ msgstr "acima para mapear"
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10290,7 +10574,7 @@ msgid "geometry"
 msgstr "Arquivo vetorial para criar"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10349,7 +10633,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "N�mero de pontos de interpola��o"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10374,16 +10662,16 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Banda selecionada (o padr�o s�o todas as bandas)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
 msgstr "Mem�ria Esgotada! (Out of Memory)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10442,12 +10730,12 @@ msgid "Optional"
 msgstr "Nome ilegal do arquivo de sa�da"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "N�o executar otimiza��o do corte da regi��o"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Coordenadas do mapa"
@@ -10548,7 +10836,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr "Gera um mapa raster com �reas cont�guas acrescidas de uma c�lula"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10563,7 +10851,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Raio do buffer"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "M�trica"
 
@@ -10594,14 +10882,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Nome do mapa raster que conter� os resultados"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10669,6 +10957,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10676,7 +10975,8 @@ msgid ""
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Resolu��o"
@@ -10721,6 +11021,63 @@ msgstr "%-5d categorias de pontos lidas\n"
 msgid "Name of table to drop"
 msgstr "Coluna de pesquisa. Usada para a op��o 'query'"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Produz um mapa vetorial bin�rio do GRASS, com as curvas especificadas a "
+"partir de uma camada raster do GRASS."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Contraste"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Incremento entre curvas de n�vel"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Lista de curvas de n�vel"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Curva de n�vel m�nima"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Curva de n�vel m�xima"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "N�mero m�nimo de pontos para uma curva de n�vel (0 -> sem limite)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Mapa raster de entrada"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "N�o criar tabela de atributo."
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10746,6 +11103,20 @@ msgstr "Formato OGR."
 msgid "Name for output table (default: input name)"
 msgstr "T�tulo do raster de sa�da"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Converte um mapa raster 3D em mapas raster 2D"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10891,6 +11262,67 @@ msgstr "Nome de atributo padr
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Converte um mapa raster 3D em mapas raster 2D"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Tipo de fei��o"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Nome da coluna de atributo para usar como r�tulos"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+#, fuzzy
+msgid "Smooth corners of area features"
+msgstr "Cantos suaves"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Incremento para a coordenada Z"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Escreve valores raster como coordenada z. N�o cria tabela. Atualmente s� "
+"suporta pontos."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "N�o criar topologia (topology) no modo de pontos"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Usa valores do raster como categorias em vez de uma seq��ncia �nica (apenas "
+"CELL)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10902,6 +11334,7 @@ msgid "Vector map to which to join other table"
 msgstr "N�o criar tabela de atributo."
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10911,6 +11344,7 @@ msgid "Layer where to join"
 msgstr "Camada para"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "coluna(s)"
@@ -10993,7 +11427,6 @@ msgstr "T
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11302,6 +11735,10 @@ msgid ""
 "co1+col2)"
 msgstr "para para para em"
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11601,13 +12038,6 @@ msgstr "Nome do mapa raster"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "N�mero de c�pias"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 #, fuzzy
 msgid "Uploads vector values at positions of vector points to the table."
@@ -11619,23 +12049,32 @@ msgstr "de pontos para"
 msgid "Name of vector points map for which to edit attributes"
 msgstr "Nome do mapa de pontos vetorias para editar a tabela de atributos"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Nome da coluna de atributo para usar como r�tulos"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Nome do mapa raster"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "coluna(s)"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Nome da coluna de atributo para usar como r�tulos"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "Dist�ncia do buffer (em unidades do mapa)"
@@ -11674,78 +12113,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Nome da nova loca��o a criar"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Lista camadas dispon�veis e finaliza"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Lista camadas dispon�veis e finaliza"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Lista camadas dispon�veis e finaliza"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "local do banco de dados"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "tabelas do sistema ao inv�s de tabelas do usu�rio"
@@ -11766,20 +12221,26 @@ msgid "Description of the space time dataset"
 msgstr "Nome do novo arquivo raster."
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Nome do novo arquivo raster."
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11797,10 +12258,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Arquivo raster para importar"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Mostra as estat�sticas em estilo shell script"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Formato de sa�da"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11925,8 +12422,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Nome do arquivo de sa�da"
+msgid "Name for output image (or text file for -t)"
+msgstr "Nome de um arquivo para gravar a sa�da do relat�rio"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11943,6 +12440,11 @@ msgstr "Usar coordenadas do mapa ao inv
 msgid "Use gnuplot for display"
 msgstr "Texto para exibir"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Arquivo KeyFrame de sa�da"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11958,11 +12460,6 @@ msgstr ""
 msgid "series"
 msgstr "Mapa raster a ser amostrado"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "<%s> criados na base de dados."
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -12064,6 +12561,7 @@ msgstr "Valor do raster"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -12079,10 +12577,15 @@ msgstr "Valor dos padr
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "Valor do raster"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -12168,10 +12671,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12189,7 +12688,7 @@ msgstr "N
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, fuzzy, c-format
@@ -12727,7 +13226,7 @@ msgid "radiance"
 msgstr "Vari�ncia"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12758,8 +13257,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12964,8 +13464,8 @@ msgstr "N
 msgid "Calculating..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -15116,21 +15616,21 @@ msgstr "regi
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 #, fuzzy
 msgid "not found"
@@ -15236,7 +15736,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15365,7 +15865,7 @@ msgid "Name of target mapset"
 msgstr "Nome do mapset de destino"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Definir loca��o e mapset atuais como destino para um grupo de imagens"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15796,52 +16296,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "Entrada falhou"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Nome do mapa resultante"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, fuzzy, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr "corre��o"
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "T�tulo do raster de sa�da"
@@ -16035,7 +16539,7 @@ msgid "Starting Inverse FFT..."
 msgstr "Iniciando FFT inversa..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, fuzzy, c-format
 msgid "Writing raster map <%s>..."
@@ -16463,7 +16967,7 @@ msgstr "Meu primeiro m
 msgid "My first vector module"
 msgstr "Meu primeiro m�dulo raster."
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "Nome do mapa de pontos de sa�da"
@@ -16604,11 +17108,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -17322,12 +17827,12 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Exibir"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17335,36 +17840,36 @@ msgstr ""
 "Cria um mapa raster composto, usando valores conhecidos de categorias de uma "
 "(ou mais) camada(s) para preencher �reas de \"no data\" em outra camada."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Nome dos mapas raster para emendar"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Nome do mapa raster resultante"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Usar zero (0) para transpar�ncia ao inv�s de NULL"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 #, fuzzy
 msgid "The minimum number of input raster maps is two"
 msgstr "N�mero m�nimo de pixels numa classe"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 #, fuzzy
 msgid "Percent complete..."
 msgstr "Porcentagem completada: "
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "criando arquivos de suporte para %s"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, fuzzy, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17389,7 +17894,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Arquivo ASCII contendo assinaturas espectrais"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "T�tulo para o mapa resultante"
@@ -17397,7 +17902,7 @@ msgstr "T
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Tipo de fei��o"
+msgstr "T�tulo do raster de sa�da"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17824,8 +18329,8 @@ msgstr "Voc
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "N�o consegui inserir nova linha: %s"
@@ -17897,61 +18402,18 @@ msgstr "Tra
 msgid "Converts a raster map into a vector map."
 msgstr "Converte um mapa raster em uma camada de mapa vetorial."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Tipo de fei��o"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Nome da coluna de atributo para usar como r�tulos"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-#, fuzzy
-msgid "Smooth corners of area features"
-msgstr "Cantos suaves"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Usa valores do raster como categorias em vez de uma seq��ncia �nica (apenas "
-"CELL)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "N�o criar tabela de atributo."
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Incremento para a coordenada Z"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Escreve valores raster como coordenada z. N�o cria tabela. Atualmente s� "
-"suporta pontos."
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "N�o criar topologia (topology) no modo de pontos"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17982,23 +18444,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, fuzzy, c-format
 msgid "Unable to create table: %s"
 msgstr "N�o consegui criar arquivo [%s]"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, fuzzy, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "N�o posso dar privil�gios na tabela %s"
@@ -18040,201 +18504,201 @@ msgstr "N
 msgid "Allocating memory and reading input raster map..."
 msgstr "Localiza��o do mapa de entrada"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Reprojeta um mapa raster de uma loca��o para a loca��o atual."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Localiza��o do mapa de entrada"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Vari�ncia da soma"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Nome do mapa vetorial (2d) de entrada"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Salva quadro atual"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 #, fuzzy
 msgid "Name of input raster map to re-project"
 msgstr "Nome do Raster de entrada"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Caminho para o banco de dados GRASS da loca��o de entrada"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "T�tulo do raster de sa�da"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "�rea\n"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Resolu��o do mapa de sa�da"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "Imprime a regi�o atual (no estilo de script em shell)"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "Mapa de Entrada: localiza��o das depress�es reais"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr "N�o consegui informa��es de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 #, fuzzy
 msgid "Unable to get projection key values of output raster map"
 msgstr "N�o obtive os valores de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Mapa raster de entrada"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, fuzzy, c-format
 msgid "Required parameter <%s> not set"
 msgstr "par�metro para"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Arquivo de vetores [%s] n�o est� dispon�vel"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 #, fuzzy
 msgid "Unable to get projection info of input map"
 msgstr "N�o consegui informa��es de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 #, fuzzy
 msgid "Unable to get projection units of input map"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 #, fuzzy
 msgid "Unable to get projection key values of input map"
 msgstr "N�o obtive os valores de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 #, fuzzy
 msgid "Input:"
 msgstr "Mapa de entrada"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, fuzzy, c-format
 msgid "Cols: %d (%d)"
 msgstr "classe %d (%d)\n"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, fuzzy, c-format
 msgid "Rows: %d (%d)"
 msgstr "Grupo:    %s\n"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, fuzzy, c-format
 msgid "North: %f (%f)"
 msgstr "N� %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, fuzzy, c-format
 msgid "West: %f (%f)"
 msgstr "N� %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, fuzzy, c-format
 msgid "East: %f (%f)"
 msgstr "N� %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 #, fuzzy
 msgid "Output:"
 msgstr "Sa�da de mapa"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 #, fuzzy
 msgid "Projecting..."
 msgstr "Imprimindo ... "
@@ -18281,7 +18745,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -18294,7 +18758,7 @@ msgstr "Estat
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -18309,7 +18773,7 @@ msgstr "Exibir"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18465,7 +18929,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 #, fuzzy
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "N�o consegui fechar o novo mapa g3d"
@@ -18889,21 +19353,61 @@ msgstr "par
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "Modo dia de ano"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Usando as coordenadas do centro do mapa\n"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Escrevendo arquivo raster %i\n"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Fonte inv�lida: %s"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Usando as coordenadas do centro do mapa\n"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Escrevendo arquivo raster %i\n"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Usando as coordenadas do centro do mapa\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Escrevendo arquivo raster %i\n"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -19295,7 +19799,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Loca��o: %s\n"
@@ -20149,7 +20653,7 @@ msgstr "Nome do Arquivo raster de eleva
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Gera estat�sticas areais para os mapas raster."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -20343,7 +20847,7 @@ msgstr "Nome do mapa raster que conter
 msgid "Statistics for <%s> updated"
 msgstr "Arquivo de hist�rico para [%s] atualizado."
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 #, fuzzy
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
@@ -20352,16 +20856,16 @@ msgstr ""
 "N�o consegui converter a proje��o do mapa de entrada para o formato do GRASS "
 "para verifica��o"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 #, fuzzy
 msgid "Over-riding projection check"
 msgstr "Fonte"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 #, fuzzy
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
@@ -20370,26 +20874,27 @@ msgstr ""
 "Proje��o dos dados de entrada e loca��o atual parecem combinar.\n"
 "Continuando com a importa��o...\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 #, fuzzy
 msgid "Location PROJ_INFO is:\n"
 msgstr "Loca��o: %s\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 #, fuzzy
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "Loca��o: %s\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20397,7 +20902,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 #, fuzzy
 msgid ""
 "Consider generating a new location from the input dataset using the "
@@ -20406,9 +20911,9 @@ msgstr ""
 "Considere gerar uma nova loca��o com o par�metro 'location' do dado de "
 "entrada.\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 #, fuzzy
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
@@ -20475,8 +20980,8 @@ msgstr "criando arquivos de suporte para %s"
 msgid "Link to raster map <%s> created."
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20496,14 +21001,14 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr "n�o."
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "em"
@@ -20532,22 +21037,22 @@ msgstr "Nome do novo arquivo raster."
 msgid "Band to select (default is all bands)"
 msgstr "Banda selecionada (o padr�o s�o todas as bandas)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 #, fuzzy
 msgid "List supported formats and exit"
 msgstr "Mostra oso formatos suportados e encerra"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Estender loca��o baseado nos novos dados"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20559,13 +21064,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Lista camadas dispon�veis na fonte dos dados e finaliza"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20574,32 +21088,32 @@ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
 msgid "%s= and %s= are mutually exclusive"
 msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 #, fuzzy
 msgid "Proceeding with import..."
 msgstr "criando novo arquivo cats ..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Lendo mapa"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, fuzzy, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Mapa raster [%s] n�o encontrado"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "N�mero de pontos de entrada: %d."
@@ -20790,14 +21304,15 @@ msgstr "Nome do Raster de sa
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -21100,6 +21615,12 @@ msgstr "Op
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Loca��o: %s\n"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -21172,8 +21693,8 @@ msgid "Importing band %d..."
 msgstr "Escrevendo [%s]..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -21293,7 +21814,7 @@ msgstr "'layer' deve ser > 0 para 'cats'."
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "N�o consegui abrir o arquivo %s"
@@ -22401,7 +22922,8 @@ msgstr "M
 msgid "Unable to write to temp file"
 msgstr "N�o consegui escrever o arquivo tempor�rio."
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Escrevendo [%s]..."
@@ -22449,7 +22971,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Mostra as estat�sticas em estilo shell script"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -23101,25 +23623,25 @@ msgid "unable to open output file"
 msgstr "N�o consegui abrir arquivo de sa�da."
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 #, fuzzy
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "Por cento:"
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "Por cento:"
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -23127,8 +23649,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -23240,29 +23762,29 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, fuzzy, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "Fechando Mapas."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, fuzzy, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 "\n"
 "SE��O %d: Determina��o de divisores."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, fuzzy, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "de Mem�ria."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, fuzzy, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "de Por cento Concluir "
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -23276,22 +23798,32 @@ msgstr "Por cento:"
 msgid "Closing accumulation map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Mapa raster de cobertura"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Mapa raster de cobertura"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "Mapa raster de cobertura"
@@ -23319,7 +23851,7 @@ msgstr "Mapa raster de cobertura"
 msgid "Closing half basins map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
@@ -23330,206 +23862,211 @@ msgstr[1] ""
 "\n"
 "SE��O 1 iniciando: Inicializando vari�veis. %d se��es no total."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr "de Por cento Concluir "
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Mapa de entrada"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Nome do Raster de entrada"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Mapa de Entrada: quantidade de fluxo superficial por c�lula"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Nome dos mapas raster de entrada"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Mapa de entrada: terreno bloqueando fluxo superficial, para USLE"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Mapa de entrada: tamanho m�nimo de bacias de drenagem exteriores"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Valor de entrada: comprimento m�ximo para fluxo superficial, para USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Mapa de sa�da: n�mero de c�lulas que drenam atrav�s de cada c�lula"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Mapa de �ndice topogr�fico [ln(a/tanB)]"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Mapa de �ndice topogr�fico [ln(a/tanB)]"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Mapa de sa�da: um valor �nico � dado para cada meia-bacia"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 "Sa�da de mapa: fator de comprimento do declive e declividade (LS) para USLE"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Sa�da de mapa: fator de comprimento de declividade (S) para USLE"
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Fator de convers�o para os valores de z"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Permitir apenas fluxo horizontal e vertical de �gua"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "Habilita op��o de swap em disco: Opera��o � lenta"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 #, fuzzy
 msgid "Sorry, you must choose an output map."
 msgstr "mapear."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "Suaviza��o deve ser um valor positivo"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -23540,12 +24077,12 @@ msgstr ""
 " fluxo\n"
 " limiar limiar."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Tipo da coluna n�o suportado"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -23710,21 +24247,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr "N�o consegui ler arquivo de limite"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, fuzzy, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "Alterado para"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, fuzzy, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "Alterado para"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "N�o consegui escrever em <%s>"
@@ -23922,7 +24459,7 @@ msgstr "Arquivo KeyFrame de sa
 msgid "Converting <%s>..."
 msgstr "Escrevendo [%s]..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, fuzzy, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "O vetor '%s' j� existe."
@@ -24001,7 +24538,7 @@ msgstr ""
 "Calcula estat�sticas univariada das c�lulas n�o nulas de um mapa raster."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -24014,11 +24551,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
@@ -24031,61 +24571,86 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr "%d pontos fora da regi�o atual."
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 "Calcula estat�sticas univariada das c�lulas n�o nulas de um mapa raster."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "Gera um mapa raster com �reas cont�guas acrescidas de uma c�lula"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Nome de uma camada de sa�da"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "M�xima dist�ncia entre pontos (em unidades do mapa)"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Dist�ncia m�xima do ponto para a rede"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "Duas camadas devem ser especificadas"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "M�trica desconhecida: [%s]."
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "M�xima dist�ncia entre pontos (em unidades do mapa)"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "N�o consegui escrever o arquivo tempor�rio."
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -24096,132 +24661,137 @@ msgstr "N
 msgid "Reading raster map <%s>..."
 msgstr "Lendo arquivo dig_att...\n"
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Escrevendo arquivo raster %i\n"
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "vetor, metadados"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "Nome do Raster de entrada"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Mapa 3dcell para modificar valores nulos"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Lista de valores de c�lula para marcar como NULO"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "O valor que substitui o valor nulo"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 #, fuzzy
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr "Explicitamente cria o arquivo bitmap 3D com valores NULL"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 #, fuzzy
 msgid "Remove NULL-value bitmap file"
 msgstr "Explicitamente cria o arquivo bitmap 3D com valores NULL"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "mapa vetorial <%s> n�o encontrado"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "valor ilegal para NULO"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "%s: ERRO n�o consegui abrir tempfile"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "%s: ERRO n�o consegui abrir tempfile"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "Mapa raster dos pontos iniciais"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Escrevendo novo arquivo de nulos para [%s]..."
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "mapa raster <%s> n�o encontrado"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Apagando arquivo de nulos para [%s]   \n"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s=%s - nome ilegal"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, fuzzy, c-format
 msgid "%s: illegal value spec"
 msgstr "%s=%s - nome ilegal"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Escrevendo arquivo raster %i\n"
@@ -24271,7 +24841,7 @@ msgstr "Tipo desconhecido: %c"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 #, fuzzy
 msgid "Unable to close output raster map"
 msgstr "N�o consegui fechar mapa de entrada"
@@ -24395,21 +24965,26 @@ msgstr "Semente para gera
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Escrevendo [%s]..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "Par�metros do agrupamento\n"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -24418,127 +24993,138 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Importar um arquivo raster bin�rio para uma camada raster do GRASS."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Arquivo raster para importar"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Banda selecionada (o padr�o s�o todas as bandas)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Nome de destino da loca��o da imagem"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr "Nome da loca��o para leitura da proje��o para transforma��o dos GCPs"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Nome do arquivo raster de eleva��o para entrada (metros)"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Nome da nova loca��o a criar"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "N�o criar tabela de atributo."
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "mostra os par�metros de conex�o atuais e finaliza"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Manter os n�meros das bandas em vez de usar os nomes das cores"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "mostra as tabelas e finaliza"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "para topo mapear"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "N�o consegui abrir mapa raster <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists"
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -24546,98 +25132,103 @@ msgstr ""
 "N�o consegui converter a proje��o do mapa de entrada para o formato do "
 "GRASS, n�o posso criar nova loca��o."
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "N�o consegui criar a tabela %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "criando novo arquivo cats ..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "N�o consegui abrir o arquivo de assinatura."
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Erro na leitura do arquivo de categorias para <%s>."
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "criando novo arquivo cats ..."
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, fuzzy, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "Entrada"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, fuzzy, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "Gera uma mapa de dire��es"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, fuzzy, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Erro em pj_do_proj (proje��o das coordenadas de entrada)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 #, fuzzy
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "N�o obtive os valores de proje��o da loca��o atual"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 #, fuzzy
 msgid "Unable to get projection info of target location"
 msgstr "N�o consegui informa��es de proje��o da loca��o atual"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 #, fuzzy
 msgid "Unable to get projection units of target location"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 #, fuzzy
 msgid "Unable to get projection key values of target location"
 msgstr "N�o obtive os valores de proje��o da loca��o atual"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Escrevendo arquivo raster %i\n"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "Criando arquivos de suporte para %s..."
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "Criando arquivos de suporte para %s..."
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
@@ -24882,7 +25473,7 @@ msgstr "Escrevendo [%s]..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, fuzzy, c-format
@@ -25240,31 +25831,36 @@ msgstr "n
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "N�o consegui escrever em <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "'layer' deve ser > 0 para 'cats'."
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Lendo arquivo dig_att...\n"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Correla��o"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Gera valores aleat�rios de c�lula com depend�ncia espacial."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Dist�ncia m�xima do ponto para a rede"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "N�mero m�ximo de itera��es: %d\n"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25721,34 +26317,34 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "N�mero de itera��es m�ximas"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "N�o exibir n�meros de categorias"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, fuzzy, c-format
 msgid "Pass number %d"
 msgstr "Camada n�mero"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Rotuladas %d linhas"
 msgstr[1] "Rotuladas %d linhas"
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 #, fuzzy
 msgid "Thinning completed successfully."
 msgstr "Transformada bem sucedida"
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -26833,168 +27429,239 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'layer' deve ser > 0 para 'cats'."
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+#, fuzzy
+msgid "Scanning data ..."
+msgstr "Rotacionando dados ... "
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "N�o consegui escrever o arquivo tempor�rio."
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Cria mapas raster a partir de arquivos de linhas e pol�gonos ASCII no "
 "diret�rio atual."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Arquivo de entrada DXF"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Arquivo contendo declara��es SQL"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Incremento para a coordenada Z"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "N�mero de pontos de interpola��o"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 #, fuzzy
 msgid "Filter range for z data (min,max)"
 msgstr "Intervalo de inteiro: min,max"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "T�tulo do raster de sa�da"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "valores inteiros s�o importados"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "valores inteiros s�o importados"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Mostra hist�rico do vetor ao inv�s de informa��es"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
+#: ../raster/r.in.lidar/main.c:246
 #, fuzzy
-msgid "Override dataset projection (use location's projection)"
-msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
+msgid "Set computation region to match the new raster map"
+msgstr "Ajustar a regi�o coincidente com esse mapa raster"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "Mapa raster [%s] n�o encontrado"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Tipo desconhecido"
+msgid "File <%s> does not exist"
+msgstr "Mapa raster [%s] n�o encontrado"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
-"N�o consegui converter a proje��o do mapa de entrada para o formato do GRASS "
-"para verifica��o"
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-#, fuzzy
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "Loca��o: %s\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "Mapa raster [%s] n�o encontrado"
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-#, fuzzy
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"Considere gerar uma nova loca��o com o par�metro 'location' do dado de "
-"entrada.\n"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Tipo desconhecido"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "Fonte inv�lida: %s"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Loca��o: %s\n"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "Rotacionando dados ... "
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "N�o consegui abrir arquivo vetorial <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 #, fuzzy
 msgid "Writing to map ..."
 msgstr "Escrevendo [%s]..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%d pontos fora da regi�o atual."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
 #, fuzzy
-msgid "Scanning data ..."
-msgstr "Rotacionando dados ... "
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "Loca��o: %s\n"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+#, fuzzy
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
 msgstr ""
+"Considere gerar uma nova loca��o com o par�metro 'location' do dado de "
+"entrada.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"N�o consegui converter a proje��o do mapa de entrada para o formato do GRASS "
+"para verifica��o"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -27238,12 +27905,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "Abrir arquivo raster %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, fuzzy, c-format
-msgid "Unable to create file <%s>"
-msgstr "N�o consegui criar arquivo [%s]"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -28097,6 +28758,13 @@ msgstr "Especifique um n
 msgid "Invalid vrange"
 msgstr "Fonte inv�lida: %s"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -28149,6 +28817,11 @@ msgstr "N
 msgid "Writing to output raster map..."
 msgstr "Escrevendo arquivo raster %i\n"
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "%d pontos fora da regi�o atual."
+
 #: ../raster/r.relief/main.c:112
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM)."
@@ -28530,27 +29203,27 @@ msgstr "Mapa raster de entrada"
 msgid "Delete the null file"
 msgstr "Mapa raster de entrada"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, fuzzy, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "Arquivo de cores para [%s] atualizado."
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] � uma reclassifica��o de outro mapa. Saindo."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Escrevendo novo arquivo de nulos para [%s]..."
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Apagando arquivo de nulos para [%s]   \n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Conclu�do."
 
@@ -28590,32 +29263,12 @@ msgstr ""
 "Produz um mapa vetorial bin�rio do GRASS, com as curvas especificadas a "
 "partir de uma camada raster do GRASS."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Incremento entre curvas de n�vel"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Lista de curvas de n�vel"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Lista de curvas de n�vel"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Curva de n�vel m�nima"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Curva de n�vel m�xima"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "N�mero m�nimo de pontos para uma curva de n�vel (0 -> sem limite)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -28626,30 +29279,32 @@ msgstr "Duas camadas devem ser especificadas"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, fuzzy, c-format
 msgid "Unable to create table: '%s'"
 msgstr "N�o consegui criar arquivo [%s]"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "N�o consegui abrir arquivo de sa�da <%s>."
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 #, fuzzy
 msgid "Writing attributes..."
 msgstr "Escrevendo atributos ..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, fuzzy, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "N�o consegui inserir nova linha: %s"
@@ -29511,11 +30166,6 @@ msgstr "Nome do mapa vetorial (2d) de entrada"
 msgid "Size of point cache"
 msgstr "Tamanho do cache de pontos"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Mapa raster de sa�da"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29829,7 +30479,8 @@ msgstr "Tipo da coluna n
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 #, fuzzy
 msgid "Unable to select data from table"
 msgstr "N�o consegui selecionar dados da tabela"
@@ -30470,12 +31121,12 @@ msgstr "Mostra as estat
 msgid "3D Raster map <%s> not found"
 msgstr "Mapa raster 3D <%s> n�o encontrado"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 #, fuzzy
 msgid "Error while reading history file"
 msgstr "Erro na leitura do arquivo de assinaturas."
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -30673,6 +31324,38 @@ msgstr ""
 msgid "Update range"
 msgstr "Intervalo dos dados de sa�da"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Vari�ncia"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "Combina camadas vermelhas, verdes e azuis numa �nica camada composta."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Nome do Raster de sa�da"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "Tamanho do cache de pontos"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "N�o consegui alocar mem�ria."
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Escrevendo arquivo raster %i\n"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30850,6 +31533,147 @@ msgstr "Diahora, diahora1/diahora2, ou nenhum"
 msgid "Timestamp format is invalid"
 msgstr "Carimbo de hora desconhecido"
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "RGB"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "mapa vetorial <%s> n�o encontrado"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Calculando m�dias das classes ..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "Nome do mapa de pontos vetorias para editar a tabela de atributos"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Nome do mapa raster"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Nome do Raster de sa�da"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Nome do mapa raster que conter� os resultados"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s:em %s: %s"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "N�mero de pontos de interpola��o"
+
+#: ../raster3d/r3.flow/main.c:244
+msgid "Default unit is cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "M�todo de intepola��o a usar"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Mapa(s) de entrada n�o especificado(s)."
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Nome do banco de dados de entrada"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "N�mero de itera��es m�ximas"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "N�mero de itera��es m�ximas"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "N�mero de c�pias"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "N�o consegui descrever a tabela %s"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Mapa vetorial n�o � 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Erro na leitura do mapa raster de entrada."
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Calculando m�dias das classes ..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -31382,6 +32206,60 @@ msgstr "Lendo arquivo dig_att...\n"
 msgid "Failed to find intersection segment"
 msgstr "falha interpretando dp como inteiro"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "N�o consigo inserir na tabela: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "N�o consegui abrir mapa raster [%s]."
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Tabela <%s> n�o existe no banco de dados <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "O vetor '%s' j� existe."
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "O vetor '%s' j� existe."
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "N�o consegui criar arquivo raster [%s]."
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "N�o conseguir abrir banco de dados %s com driver %s"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "N�o consegui abrir arquivo de sa�da <%s>."
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "N�o consegui abrir mapa raster [%s]."
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "N�o consegui abrir arquivo de sa�da <%s>."
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -31411,7 +32289,7 @@ msgstr "Nome do mapa vetorial (2d) de entrada"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -31424,8 +32302,8 @@ msgstr "Nome do mapa vetorial (2d) de entrada"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -31453,84 +32331,124 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Sem tabela"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Nome de uma camada de entrada"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Obt�m coordenadas a partir da entrada padr�o"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 #, fuzzy
 msgid "Assign unique categories to new points"
 msgstr "Designar categorias �nicas para os novos pontos (opera��o = n�s)"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 #, fuzzy
 msgid "For operation 'nodes'"
 msgstr "Tipo desconhecido"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Mapa vetor dos pontos finais"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Cor da Linha"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "Tipo desconhecido"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Vari�ncia"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "n�o consegui abrir arquivo de vetores <%s> em <%s>"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d pontos escrito no mapa de sa�da\n"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "%-5d linhas lidas  e escritas na sa�da\n"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "N�o criar tabela de atributo."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -31551,8 +32469,9 @@ msgstr "%d pontos sem categoria"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "Nome da Fonte"
@@ -31589,9 +32508,9 @@ msgstr "Nome da coluna de atributos com valores para interpolar (se >0 camada)"
 msgid "Name of column containing z coordinate"
 msgstr "Nome da coluna de atributos com valores para interpolar (se >0 camada)"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "Criar sa�da 3D"
@@ -31808,13 +32727,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "O vetor '%s' j� existe."
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "O vetor '%s' j� existe."
@@ -32020,27 +32939,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "N�o exibir n�meros de categorias"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Mostra atributos do vetor"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -32048,178 +32967,178 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "Op��o escala requer 'magnitude_map'"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'layer' deve ser > 0 para 'cats'."
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "A toler�ncia foi reajustada para %g (unidades de mapa)"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Nome ilegal do arquivo de sa�da"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Toler�ncia em unidades de mapa: %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Tipo de coluna n�o suportado"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Sem registro na tabela para categoria '%d'"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, fuzzy, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Atributo tem tamanho inv�lido (%.3f) para a categoria %d."
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "Toler�ncia em unidades de mapa: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Encontrando classes de treinamento..."
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "Construindo �ndice espacial ..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "Rotacionando dados ... "
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Exportar linhas como pol�gonos"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 #, fuzzy
 msgid "Removing duplicates..."
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 #, fuzzy
 msgid "Breaking boundaries..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 #, fuzzy
 msgid "Attaching islands..."
 msgstr "Anexando categorias...\n"
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "N�o consegui calcular �rea do centr�ide."
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "N�o consegui calcular �rea do centr�ide."
@@ -32520,7 +33439,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Resolu��o"
+msgstr "Processando �reas de entradaA ..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -32612,7 +33531,7 @@ msgstr "Entrada falhou"
 msgid "Not enough disk space--cannot write files"
 msgstr "Espa�o em disco insuficiente -- n�o posso escrever arquivos"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -32668,11 +33587,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -32683,15 +33603,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -32699,12 +33619,12 @@ msgstr ""
 msgid "Cost"
 msgstr "Contraste"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 #, fuzzy
 msgid "Node cost column (number)"
 msgstr "N�mero de colunas"
@@ -32733,44 +33653,62 @@ msgstr "Tipo de fei
 msgid "Unable to build graph for vector map <%s>"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Camada '%s' n�o dispon�vel"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Dist�ncia m�xima do ponto para a rede"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "N�mero de pontos de entrada: %d."
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 #, fuzzy
 msgid "Cannot get line segment, segment out of line"
 msgstr "N�o consegui criar a tabela %s"
@@ -33134,103 +34072,103 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Entrada falhou"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Gera mapa de pontos 2D/3D do GRASS aleat�riamente."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 #, fuzzy
 msgid "Number of points to be created"
 msgstr "N�mero de pontos para criar"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Falha abrindo arquivo vetorial de entrada."
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 #, fuzzy
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "Altura m�nima em z (op��o -z necess�ria)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 #, fuzzy
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "Altura m�xima em z (op��o -z necess�ria)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Nome da coluna de atributos com valores para interpolar (se >0 camada)"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Tipo de tabela de cores"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Criar sa�da 3D"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, fuzzy, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "N�mero de pontos para criar"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d pontos escritos no vetor"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Nome do mapa vetorial existente"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "mapear pontos em atual."
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "mapear pontos em atual."
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 #, fuzzy
 msgid "Generating points..."
 msgstr "Escrevendo [%s]..."
@@ -33429,6 +34367,159 @@ msgstr "Imposs
 msgid "Impossible to write in the database"
 msgstr "Imposs�vel escrever na base de dados"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Escrevendo [%s]..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Assinaturas para usar na classifica��o"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "valores inteiros s�o importados"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "valores inteiros s�o importados"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "M�ximo valor aleat�rio"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "N�mero de pontos de interpola��o"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "N�mero de pontos de interpola��o"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Desvio padr�o"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Fonte inv�lida: %s"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -33505,7 +34596,7 @@ msgstr "tabelas do sistema ao inv
 msgid "Force 2D output even if input is 3D "
 msgstr "For�ar sa�da de valores inteiros"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -33728,6 +34819,184 @@ msgstr "N
 msgid "Labeled %d lines."
 msgstr "Rotuladas %d linhas"
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "Valor do raster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d classes."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Separa��o dos agrupamentos (clusters)"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Nome do arquivo vetor de entrada"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Dist�ncia m�xima do ponto para a rede"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "N�mero m�nimo de pixels numa classe"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Separa��o dos agrupamentos (clusters)"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "N�mero de classes deve ser < 256!"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Tamanho da vizinhan�a"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Contando locais no quadrado..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "%d pontos fora da regi�o atual."
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "criando novo arquivo cats ..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "Suaviza��o deve ser um valor positivo"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Usando m�xima dist�ncia entre pontos: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "%d pontos escritos no vetor"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Dist�ncia m�xima do ponto para a rede"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Desvio padr�o"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Usando m�xima dist�ncia entre pontos: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Encontrando classes de treinamento..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+"\n"
+"Resolu��o = %d; per�odo = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "%d pontos fora da regi�o atual."
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Escrevendo arquivo raster %i\n"
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "\rLendo arquivo [%s] ..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%s: nenhum ponto de dados encontrado"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -33799,7 +35068,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -34100,14 +35369,8 @@ msgstr "Nenhuma fonte selecionada"
 msgid "Loading data..."
 msgstr "Rotacionando dados ... "
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Mapa vetorial n�o � 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Coluna <%s> n�o encontrada"
@@ -34163,17 +35426,17 @@ msgstr "criando arquivos de suporte para %s"
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "Rotacionando dados ... "
@@ -34343,78 +35606,78 @@ msgstr "Par
 msgid "Unknown option '%s'"
 msgstr "Tipo desconhecido"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 #, fuzzy
 msgid "Node layer (used for cities)"
 msgstr "Nome da camada a usar para MATIZ (HUE)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Nome do mapa bin�rio de sa�da (use 'out=-' para sa�da padr�o)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "N�mero de pontos de entrada: %d."
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 #, fuzzy
 msgid "Not enough cities (< 2)"
 msgstr "Nome da coluna categoria"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "criando novo arquivo cats ..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Sem registros para o ponto (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "N�o � poss�vel chegar ao destino\n"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
@@ -34590,6 +35853,21 @@ msgstr "Selecione tipo: linha ou 
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr " 4 par�metros s�o requeridos para o par�metro 'spatial'."
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Tipo desconhecido"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Fonte"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -34709,7 +35987,7 @@ msgid "Processing features..."
 msgstr "Processando �reas de entradaA ..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "N�o consegui calcular �rea do centr�ide."
@@ -34785,7 +36063,7 @@ msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 "** aten��o: valor(es) R:G:B est�(�o) fora dos limites [0..255]: %d:%d:%d **\n"
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "N�o consegui usar a coluna '%s'"
@@ -35188,7 +36466,7 @@ msgstr "N
 msgid "%d records updated"
 msgstr "%d registros atualizados"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -35295,9 +36573,10 @@ msgstr "Tipo desconhecido"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "N�o consegui usar a coluna '%s'"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Rotacionando dados ... "
 
 #: ../vector/v.transform/main.c:290
@@ -35757,7 +37036,7 @@ msgstr "Erro abrindo arquivo g3d"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Tipo da coluna n�o suportado (%s)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Lendo dados do mapa ..."
@@ -35841,6 +37120,10 @@ msgstr "N
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 #, fuzzy
 msgid "Columns"
 msgstr "coluna(s)"
@@ -35913,57 +37196,62 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Imprime valores m�dios ao inv�s de intervalos"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Coluna <%s> n�o encontrada"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Tipo do raster � inteiro e o tipo da coluna � 'float'"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "Tipo do raster � 'float' e tipo da coluna � inteiro, alguns dados foram "
 "perdidos !!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "N�o consegui encontrar o mapa de entrada <%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d pontos fora da regi�o atual."
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "Mais pontos (%d) da categoria %d, valor ajustado para 'NULL'"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d categorias carregadas do vetor"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d categorias duplicadas no vetor"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d categorias carregadas da tabela"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d categorias do vetor faltando na tabela"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d registros atualizados"
@@ -36810,7 +38098,7 @@ msgstr "Mostra as estat
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "Duas camadas devem ser especificadas"
+msgstr "Um de!"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -36847,53 +38135,63 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 #, fuzzy
 msgid "Prints vector map attributes."
 msgstr "Mostra atributos do vetor"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "de SQL instru��o palavra-chave"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Delimitador vertical de registro na sa�da"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Regi�o\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Altura fixa para objetos vetoriais 3D"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "n�o consegui abrir arquivo de vetores <%s> em <%s>"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 #, fuzzy
 msgid "Unable to open select cursor"
 msgstr "N�o consegui abrir cursor de sele��o"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "N�o encontrei linha com cat %s"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "N�o exibir n�meros de categorias"
@@ -37191,7 +38489,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d registros selecionados da tabela"
 msgstr[1] "%d registros selecionados da tabela"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "N�o consegui abrir arquivo de sa�da <%s>."
@@ -37219,19 +38517,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Procurando no banco de dados ..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 #, fuzzy
 msgid "Unable to fetch record"
 msgstr "N�o consegui obter linha"
@@ -37248,6 +38546,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Arquivo de c�lulas [%s] n�o encontrado"
+
 #: ../vector/v.to.db/update.c:83
 #, fuzzy
 msgid "Updating database..."
@@ -37533,7 +38836,8 @@ msgstr "de 
 msgid " Database connection not defined for layer <%s>"
 msgstr "Conex�o com banco de dados n�o definida para camada <%d>"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "tipo de coluna n�o suportado"
@@ -37553,41 +38857,41 @@ msgstr "%d pontos sem categoria"
 msgid "Wrong input format: %s"
 msgstr "Entrada errada para multiplicador: %s"
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, fuzzy, c-format
 msgid "No point with category [%d]"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, fuzzy, c-format
 msgid "[%d] input format errors"
 msgstr "%d atualizar erros"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, fuzzy, c-format
 msgid "[%d] points of given category missing"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 #, fuzzy
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
@@ -37595,19 +38899,19 @@ msgstr ""
 "Nome do arquivo contendo comandos gr�ficos, se n�o houver, l� da entrada "
 "padr�o"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 #, fuzzy
 msgid "Maximum distance to the network"
 msgstr "Dist�ncia m�xima do ponto para a rede"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -38210,46 +39514,50 @@ msgstr "N
 msgid "Add new vertices, but do not split"
 msgstr "criando novo arquivo cats ..."
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Escrever v�rtices da linha"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "Suaviza��o deve ser um valor positivo"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Tipo da coluna desconhecido"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s:em %s: %s"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s:em %s: %s"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "N�mero de classes deve ser < 256!"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "N�o consegui escrever o arquivo tempor�rio."
@@ -38353,11 +39661,6 @@ msgstr "Nome da coluna (tipo deve ser num
 msgid "Reading categories..."
 msgstr "Anexando categorias...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Rotacionando dados ... "
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -38536,7 +39839,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Interpolar pontos entre os v�rtices da linha"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "N�o consegui abrir arquivo de sa�da."
@@ -38804,227 +40107,248 @@ msgstr ""
 "Para definir uma nova conex�o, voc� tem que especificar os par�metros: "
 "driver, banco de dados, tabela [, chave [, camada]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Reprojeta um mapa raster de uma loca��o para a loca��o atual."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 #, fuzzy
 msgid "Location containing input vector map"
 msgstr "Localiza��o do mapa de entrada"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 #, fuzzy
 msgid "Mapset containing input vector map"
 msgstr "Nome do mapa vetorial (2d) de entrada"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Nome do Raster de entrada"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Nome do mapa vetorial (2d) de entrada"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 #, fuzzy
 msgid "3D vector maps only"
 msgstr "N�o encontrei mapset para %s"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Arquivo raster bin�rio a importar"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Arquivo de vetores [%s] n�o est� dispon�vel"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 #, fuzzy
 msgid "Reading input vector map"
 msgstr "Falha abrindo arquivo vetorial de entrada."
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Mapa vetorial n�o � 3D"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 #, fuzzy
 msgid "Error in pj_do_transform"
 msgstr "Erro em pj_do_proj"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "criando novo arquivo cats ..."
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Converte um mapa vetorial bin�rio do GRASS pela combina��o de outros camadas "
 "de mapa vetorial."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 #, fuzzy
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "Mapa de sa�da no qual os erros ser�o gravados"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "N�o criar topologia (topology) no modo de pontos"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "N�o criar tabela de atributo."
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 #, fuzzy
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 "Tamb�m copiar tabela de atributos. Apenas a tabela da camada 1 � suportada "
 "atualmente"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Tabela faltando"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 #, fuzzy
 msgid "Key columns differ"
 msgstr "Colunas chave diferem"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 #, fuzzy
 msgid "Number of columns differ"
 msgstr "N�mero de colunas difere."
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 #, fuzzy
 msgid "Column names differ"
 msgstr "Nomes das colunas diferem."
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 #, fuzzy
 msgid "Column types differ"
 msgstr "Tipos das colunas diferem"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 #, fuzzy
 msgid "Length of string columns differ"
 msgstr "Comprimento das colunas de texto difere"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Coluna chave n�o encontrada"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 #, fuzzy
 msgid "The output map is not 3D"
 msgstr "Mapas de sa�da n�o � 3D."
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, fuzzy, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr "Erro lendo arquivo '%s'. Alguns dados podem n�o estar corretos\n"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, fuzzy, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Lendo arquivo dig_att...\n"
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 #, fuzzy
 msgid "Intersections at borders will have to be snapped"
 msgstr "Interse��es nas bordas ser�o ligadas."
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 #, fuzzy
 msgid "Lines common between files will have to be edited"
 msgstr "Linhas comuns aos arquivos ter�o que ser editadas."
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 #, fuzzy
 msgid "The header information also may have to be edited"
 msgstr "A informa��o do cabe�alho tamb�m pode ter que ser editada."
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "%d registros atualizados"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "N�o consegui abrir cursor de sele��o: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "N�o consegui obter linha"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Tipo da coluna desconhecido"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "N�o consegui inserir novo registro: '%s'"
@@ -39705,17 +41029,12 @@ msgstr[1] "%-5d centr
 msgid "Operation not implemented"
 msgstr "regi�o <%s> n�o encontrada"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Converte vetores OGR para GRASS. Drivers dispon�veis:\n"
 
-#: ../vector/v.in.ogr/main.c:142
-#, fuzzy
-msgid "OGR datasource name"
-msgstr "banco de dados"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39726,7 +41045,7 @@ msgstr ""
 "\t\tShapefile ESRI: diret�rio contendo shapefiles\n"
 "\t\tArquivo MapInfo: diret�rio contendo arquivos mapinfo"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39737,54 +41056,54 @@ msgstr ""
 "\t\tArquivo shape ESRI: nome do arquivo\n"
 "\t\tArquivo do MapInfo: nome do arquivo"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 #, fuzzy
 msgid "Import subregion only"
 msgstr "Imprime apenas a regi�o do mapa raster"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 #, fuzzy
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "Importar apenas subregi�o (xmin,ymin,xmax,ymaz  - normalmente W,S,E,N)"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Mapa de entrada: tamanho m�nimo de bacias de drenagem exteriores"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 #, fuzzy
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 "Tamanho m�nimo da �rea a importar (unidades quadradas). �reas menores e "
 "ilhas ser�o ignoradas. Deve ser maior que snap^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "T�tulo do raster de sa�da"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "N�o pontos"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Exportar linhas como pol�gonos"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -39792,171 +41111,172 @@ msgstr ""
 "Lista de nomes de colunas para usar no lugar dos nomes originais, o primeiro "
 "ser� usado para a coluna categoria"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Nome da coluna de atributo para usar como r�tulos"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "N�mero de colunas"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "%-5d categorias de pontos lidas\n"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "N�o limpar pol�gonos (opera��o n�o recomendada)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "For�ar sa�da de valores inteiros"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 #, fuzzy
 msgid "Limit import to the current region"
 msgstr "N�o atualizar a regi�o atual"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, fuzzy, c-format
 msgid "Unable to open data source <%s>"
 msgstr "N�o consegui abrir mapa raster <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Posi��o do cursor n�o � suportada pelo driver MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, fuzzy, c-format
 msgid "Layer <%s> not available"
 msgstr "Camada '%s' n�o dispon�vel"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Camada '%s' n�o dispon�vel"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "N�o consegui obter informa��es de camada para o mapa vetorial"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Coluna <%s> n�o encontrada"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 #, fuzzy
 msgid "4 parameters required for 'spatial' parameter"
 msgstr " 4 par�metros s�o requeridos para o par�metro 'spatial'."
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Dist�ncia do buffer (em unidades do mapa)"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Coluna chave '%s' n�o encontrada"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Coluna chave deve ser inteiro"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Coluna <%s> n�o encontrada"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+"Escrevendo coluna <%s> com largura fixa de 40 caracteres (pode ser truncado)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, fuzzy, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 "Escrevendo coluna <%s> com largura fixa de 40 caracteres (pode ser truncado)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, fuzzy, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -39965,68 +41285,68 @@ msgstr ""
 "Largura da coluna '%s' ajustada para 255 (n�o foi especificada pelo OGR), "
 "alguns textos podem ser truncados!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, fuzzy, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 "Escrevendo coluna <%s> com largura fixa de 40 caracteres (pode ser truncado)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Tipo da coluna n�o suportado (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Importanto fei��es do mapa %d..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s sem geometria"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Exportar linhas como pol�gonos"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Rotacionando dados ... "
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 #, fuzzy
 msgid "Cleaning boundaries at nodes..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 #, fuzzy
 msgid "Writing centroids..."
 msgstr "Escrever v�rtices da linha."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -40038,99 +41358,99 @@ msgstr ""
 "linha na tabela de atributos. O n�mero de fei��es para essas �reas est� "
 "armazenado com categoria na camada %d"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d pol�gonos de entrada\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, fuzzy, c-format
 msgid "%d input polygons"
 msgstr "%d pol�gonos de entrada\n"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Centr�ide da �rea sem categoria"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Centr�ide da �rea sem categoria"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Limite de 'snap' para contornos. -1 para n�o haver snap"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -40180,17 +41500,21 @@ msgstr "N
 msgid "Unknown geometry type"
 msgstr "Tipo da coluna desconhecido"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Nome do arquivo de sa�da"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Arquivo raster para importar"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -40202,22 +41526,22 @@ msgstr ""
 "\t\tArquivo shape ESRI: nome do arquivo\n"
 "\t\tArquivo do MapInfo: nome do arquivo"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "T�tulo do raster de sa�da"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "Lista camadas dispon�veis na fonte dos dados e finaliza"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Lista camadas dispon�veis na fonte dos dados e finaliza"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -40270,7 +41594,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "Coordenadas inv�lidas %s %s"
+msgstr "N�mero de colunas"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -40281,17 +41605,17 @@ msgstr ""
 "Converte um mapa vetorial bin�rio do GRASS pela combina��o de outros camadas "
 "de mapa vetorial."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "N�o consegui executar: %s"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "N�o consegui criar arquivo [%s]"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "O vetor '%s' j� existe."
@@ -40433,59 +41757,59 @@ msgstr "N
 msgid "Unable to close new 3d raster map"
 msgstr "N�o consegui fechar mapa de entrada"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "Mapa vetorial n�o � 3D"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, fuzzy, c-format
 msgid "Iso cost %d: %f"
 msgstr "classe %d (%d)\n"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "N�mero de pontos de entrada: %d."
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Calculando m�dias das classes ..."
@@ -40647,6 +41971,136 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Conex�o com banco de dados n�o definida para camada <%d>"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Sem registros para cat = %d"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Sem registros para cat = %d"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Coluna <%s> n�o encontrada"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Gera pontos como pontos 3D"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Converte vetores OGR para GRASS. Drivers dispon�veis:\n"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Camada n�mero"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%-5d categorias de linha lidas\n"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Camada n�mero"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Camada n�mero"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Camada para"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Camada para"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Camada para"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Nome da coluna (tipo deve ser num�rico)"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Erro na defini��o de cor na coluna GRASSRGB, �rea %d com cat %d"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "N�o consegui ler arquivo de cores."
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "N�o atualizar a regi�o atual"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Sem tabela"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -40851,7 +42305,7 @@ msgstr "Calculando m
 msgid "Invalid segment number %d for %d points"
 msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Duas camadas devem ser especificadas"
@@ -41169,51 +42623,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "mapa vetorial <%s> n�o encontrado"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "N�o consegui abrir mapa raster [%s]."
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "N�o conseguir abrir banco de dados %s com driver %s"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Converte vetores OGR para GRASS. Drivers dispon�veis:\n"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
+#: ../vector/v.in.lidar/main.c:135
 #, fuzzy
-msgid "Subregion"
-msgstr "Regi�o\n"
+msgid "Layer number to store number of returns as category"
+msgstr "Camada n�mero"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Camada para"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Nome do mapa de pontos de sa�da"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Nome do arquivo vetor de entrada"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "valores inteiros s�o importados"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Correla��o"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "valores inteiros s�o importados"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Escrevendo [%s]..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Vetor de entrada com pontos de treinamento"
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Coordenadas do mapa"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "N�o criar tabela de atributo."
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "N�o conseguir abrir banco de dados %s com driver %s"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Camada n�mero"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
+msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %lu points..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "%d pontos carregados\n"
+
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d pontos carregados\n"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "Coordenadas de entrada n�o foram informadas"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:770
+#, c-format
+msgid "%llu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d pontos carregados\n"
+
+#: ../vector/v.in.lidar/main.c:781
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%lu points imported"
 msgstr "%d pontos carregados\n"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:783
 #, fuzzy, c-format
-msgid "%d input points were not valid"
+msgid "%lu input points were not valid"
 msgstr "Coordenadas de entrada n�o foram informadas"
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:789
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered out by return number"
 msgstr "%d pontos al�m do limite"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:791
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were filtered out by class number"
 msgstr "%d pontos al�m do limite"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d pontos al�m do limite"
 
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Coordenadas para pesquisa"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, fuzzy, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -41385,7 +43025,7 @@ msgid ""
 msgstr "Mapa de sa�da no qual os erros ser�o gravados"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -42484,11 +44124,6 @@ msgstr "N
 msgid "Resolving conflicts..."
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Escrevendo [%s]..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -42668,57 +44303,57 @@ msgstr "N
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, fuzzy, c-format
 msgid "Generalization (%s)..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Resolu��o"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Camada %d"
@@ -42767,74 +44402,6 @@ msgstr "Camada %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "N�mero de quadros"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Nome do mapa raster existente contendo isolinhas"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Nome do mapa raster existente contendo isolinhas"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o difusa [W.m-2] (modo 1) ou arquivo raster de "
-#~ "irradia��o [Wh.m�.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o refletida [W.m-2] (modo 1) ou arquivo raster de "
-#~ "irradia��o [Wh.m�.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o do feixe [W.m-2] (modo 1) ou arquivo raster de "
-#~ "irradia��o [Wh.m�.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nome do raster de entrada"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nome do arquivo raster de eleva��o para entrada (metros)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o refletida [W.m-2] (modo 1) ou arquivo raster de "
-#~ "irradia��o [Wh.m�.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o do feixe [W.m-2] (modo 1) ou arquivo raster de "
-#~ "irradia��o [Wh.m�.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "N�mero de pontos de interpola��o"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Loca��o: %s\n"
 
@@ -42852,24 +44419,28 @@ msgstr "Camada %d"
 #~ "%d classes, %.2f%% pontos est�veis\n"
 
 #, fuzzy
+#~ msgid "Subregion"
+#~ msgstr "Regi�o\n"
+
+#, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Alinhamento do texto"
 
 #, fuzzy
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "regi�o <%s> n�o encontrada"
+#~ msgid "Could not rewind input file"
+#~ msgstr "N�o consegui abrir arquivo vetorial <%s>"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Sa�da de mapa"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Nome do mapa raster"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Mapa de �ndice topogr�fico [ln(a/tanB)]"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "em"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Nome do mapa raster"
+#~ msgid "output map <%s> exists"
+#~ msgstr "Sa�da de mapa"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Tamanho da p�gina (padr�o %d linhas)"
@@ -42877,6 +44448,9 @@ msgstr "Camada %d"
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Largura da p�gina (padr�o: %d caracteres)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
+
 #, fuzzy
 #~ msgid ""
 #~ "\n"
@@ -42902,6 +44476,14 @@ msgstr "Camada %d"
 #~ msgstr "[%s] n�o encontrado."
 
 #, fuzzy
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "regi�o <%s> n�o encontrada"
+
+#, fuzzy
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
+
+#, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -42919,6 +44501,28 @@ msgstr "Camada %d"
 #~ "Voc� pode usar a op��o -o para %s para ignorar esta verifica��o.\n"
 
 #, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
+#, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "N�o consegui criar a tabela %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "todos em atual para atual"
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "Separador de campo"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Atualiza os metadados do mapa vetorial"
 
@@ -42953,170 +44557,52 @@ msgstr "Camada %d"
 #~ msgstr "Salva quadro atual"
 
 #, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "Separador de campo"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "em"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "todos em atual para atual"
+#~ msgid "OGR datasource name"
+#~ msgstr "banco de dados"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Mapa(s) de entrada n�o especificado(s)."
 
 #, fuzzy
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Criando %i mapas raster\n"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "N�o consegui ler arquivo REF para o subgrupo [%s] no grupo [%s]."
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d categorias carregadas da tabela"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
-
-#, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Valor ilegal para fator de escala"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "N�o consegui criar arquivo [%s]"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "Um de!"
+#~ msgid "Env file not found"
+#~ msgstr "Arquivo de c�lulas n�o encontrado\n"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr "Um de!"
+#~ msgid "PID file not found"
+#~ msgstr "Arquivo de c�lulas n�o encontrado\n"
 
 #, fuzzy
-#~ msgid "No graphics device selected. Use d.mon to select graphics device."
-#~ msgstr "Nenhum dispositivo gr�fico selecionado."
+#~ msgid "Command file not found"
+#~ msgstr "Arquivo de c�lulas n�o encontrado\n"
 
 #, fuzzy
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr ""
-#~ "Cor do texto, tanto uma cor padr�o do GRASS como uma triplete R:G:B "
-#~ "(separada por dois pontos)"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "Criando %i mapas raster\n"
 
 #, fuzzy
-#~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr "Exibir dados vetoriais do GRASS no quadro ativo do monitor gr�fico"
+#~ msgid "Name for output image"
+#~ msgstr "Nome do arquivo de sa�da"
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Cor para desenhar texto"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "N�o consegui ler arquivo REF para o subgrupo [%s] no grupo [%s]."
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Cor para desenhar malhas, ou \"none\""
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d categorias carregadas da tabela"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
 #~ msgstr "Nome do Raster de sa�da"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "erro de discretiza��o em unidades de mapa"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "Tamb�m calcular m�xima dist�ncia de avistamento"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -43242,16 +44728,44 @@ msgstr "Camada %d"
 #~ msgstr "Uso colchetes em"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr "Nome do Raster de sa�da"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "Tamb�m calcular m�xima dist�ncia de avistamento"
+#~ msgid "Default: input"
+#~ msgstr "erro de discretiza��o em unidades de mapa"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Exibir"
+#~ msgid "No graphics device selected. Use d.mon to select graphics device."
+#~ msgstr "Nenhum dispositivo gr�fico selecionado."
+
+#, fuzzy
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr "Exibir dados vetoriais do GRASS no quadro ativo do monitor gr�fico"
+
+#, fuzzy
+#~ msgid "Text color or \"none\""
+#~ msgstr "Cor do Texto"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Cor para desenhar texto"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "Cor para desenhar malhas, ou \"none\""
+
+#, fuzzy
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr ""
+#~ "Cor do texto, tanto uma cor padr�o do GRASS como uma triplete R:G:B "
+#~ "(separada por dois pontos)"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "Mapa vetorial n�o � 3D"
 
 #, fuzzy
 #~ msgid ""
@@ -43260,25 +44774,55 @@ msgstr "Camada %d"
 #~ "Permite a cria��o e/ou modifica��o dos arquivos de suporte dos mapas "
 #~ "raster"
 
+#~ msgid "Failed opening input dig file."
+#~ msgstr "Falha abrindo arquivo dig de entrada."
+
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "Arquivo dig_att n�o existe."
+
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "Falha abrindo arquivo dig_att."
+
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "N�o consegui criar arquivo raster [%s]."
+#~ msgid "Attaching categories..."
+#~ msgstr "Anexando categorias...\n"
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "N�o consegui criar arquivo [%s]"
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "Falha ao atribuir um atributo (categoria %d) a uma linha."
 
 #, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "Mem�ria insuficiente para az"
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "ATENCION: linea %d etiqueta: %d corresponde a otra etiqueta: %d."
 
 #, fuzzy
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "ERRO_DO_SISTEMA: OLD_T_NEW recebeu um c�digo de tipo ruim %x"
+#~ msgid "Writing new file..."
+#~ msgstr "Escrevendo novo arquivo...\n"
 
 #, fuzzy
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "ERRO_DO_SISTEMA: NEW_T_OLD recebeu um c�digo de tipo ruim %x"
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "%-5d pontos e linhas escrito na sa�da.\n"
+
+#, fuzzy
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "%-5d centroides escritos en el archivo de salida.\n"
+
+#, fuzzy
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "N�o consegui obter informa��es de camada para o mapa vetorial"
+
+#, fuzzy
+#~ msgid "Endian of input vector map"
+#~ msgstr "Nome do mapa vetorial (2d) de entrada"
+
+#, fuzzy
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr ""
+#~ "R�tulos de categorias (dig_cats) n�o encontrados, tabela n�o foi criada.\n"
+
+#, fuzzy
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "N�o consegui abrir arquivo dig_att ,%s>\n"
 
 #, fuzzy
 #~ msgid "Reading dig file..."
@@ -43388,133 +44932,139 @@ msgstr "Camada %d"
 #~ msgstr "%-5d categorias lidas para a mem�ria\n"
 
 #, fuzzy
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr ""
-#~ "R�tulos de categorias (dig_cats) n�o encontrados, tabela n�o foi criada.\n"
-
-#, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "N�o consegui abrir arquivo dig_att ,%s>\n"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Falha abrindo arquivo dig de entrada."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "Arquivo dig_att n�o existe."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Falha abrindo arquivo dig_att."
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "ERRO_DO_SISTEMA: OLD_T_NEW recebeu um c�digo de tipo ruim %x"
 
 #, fuzzy
-#~ msgid "Attaching categories..."
-#~ msgstr "Anexando categorias...\n"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "ERRO_DO_SISTEMA: NEW_T_OLD recebeu um c�digo de tipo ruim %x"
 
 #, fuzzy
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "Falha ao atribuir um atributo (categoria %d) a uma linha."
+#~ msgid "One or more coordinates"
+#~ msgstr "Fator de escala (\"scaling\") para coordenada x"
 
 #, fuzzy
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "ATENCION: linea %d etiqueta: %d corresponde a otra etiqueta: %d."
+#~ msgid "Name of elevation map"
+#~ msgstr "Nome do mapa raster de eleva��o"
 
-#, fuzzy
-#~ msgid "Writing new file..."
-#~ msgstr "Escrevendo novo arquivo...\n"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Texto para representar c�lula sem dados"
 
 #, fuzzy
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "%-5d pontos e linhas escrito na sa�da.\n"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "Um de!"
 
-#, fuzzy
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "%-5d centroides escritos en el archivo de salida.\n"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "M�trica desconhecida: [%s]."
 
 #, fuzzy
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "N�o consegui obter informa��es de camada para o mapa vetorial"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Erro na leitura do arquivo de categorias para <%s>."
 
 #, fuzzy
-#~ msgid "Endian of input vector map"
-#~ msgstr "Nome do mapa vetorial (2d) de entrada"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "Tipo de mapa raster desconhecido"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "Erro na leitura do arquivo 'colr' para <%s>."
 
-#, fuzzy
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Tamanho do r�tulo (pixels)"
+#~ msgid "String representing no data cell value"
+#~ msgstr "Texto representando c�lulas sem valores de dados"
 
 #, fuzzy
-#~ msgid "Can't call bad function"
-#~ msgstr "local do banco de dados"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr ""
+#~ "Utilit�rio de interpola��o de superf�cies para camadas de mapas raster."
 
 #, fuzzy
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Erro lendo intervalo para [%s]"
+#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
+#~ msgstr "T�tulo do raster de sa�da"
 
 #, fuzzy
-#~ msgid "One or more coordinates"
-#~ msgstr "Fator de escala (\"scaling\") para coordenada x"
+#~ msgid ""
+#~ "Computes anisotropic cumulative cost of moving between different "
+#~ "geographic locations on an input elevation raster map whose cell category "
+#~ "values represent elevation combined with an input raster map layer whose "
+#~ "cell values represent friction cost."
+#~ msgstr ""
+#~ "Gera uma camada raster mostrando o custo cumulativo de movimento entre "
+#~ "diferentes localiza��es sobre um mapa raster de entrada cujos valores de "
+#~ "c�lula representam o custo."
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Mem�ria insuficiente para adx"
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "Nome da camada a usar para INTENSIDADE"
 
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Mem�ria insuficiente para ady"
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "Nome da camada a usar para SATURA��O"
 
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Mem�ria insuficiente para adxx"
+#~ msgid "Name of output layer to be used for GREEN"
+#~ msgstr "Nome da camada de sa�da a usar para VERDE"
 
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Mem�ria insuficiente para adyy"
+#~ msgid "Name of output layer to be used for BLUE"
+#~ msgstr "Nome da camada de sa�da a usar para AZUL"
 
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Mem�ria insuficiente para adxy"
+#~ msgid "Surface generation program."
+#~ msgstr "Programa para gera��o de superf�cies."
 
 #, fuzzy
-#~ msgid "Cannot create quaddata"
-#~ msgstr "N�o consegui criar quaddata"
+#~ msgid ""
+#~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
+#~ msgstr ""
+#~ "Bancos de dados lat/long n�o s�o suportados por r.flow. Use 'r.watershed' "
+#~ "para calcular fluxo."
 
-#, fuzzy
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "N�o consegui criar quadfunc"
+#~ msgid "%s=%s - illegal number of interpolation points"
+#~ msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
 
-#~ msgid "Cannot create tree"
-#~ msgstr "N�o consegui criar �rvore"
+#~ msgid "%s: no data points found"
+#~ msgstr "%s: nenhum ponto de dados encontrado"
 
 #, fuzzy
-#~ msgid "Cannot create tree info"
-#~ msgstr "N�o consegui criar info da �rvore"
+#~ msgid "Interpolating raster map <%s>... %d row... "
+#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
+#~ msgstr[0] "Interpolando mapa raster <%s> ... %d linhas ..."
+#~ msgstr[1] "Interpolando mapa raster <%s> ... %d linhas ..."
 
 #, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Converte arquivo de pontos ou ASCII do GRASS para um vetor bin�rio."
+#~ msgid "Output z-file (elevation) map"
+#~ msgstr "Gerar arquivo de eleva��o"
 
 #, fuzzy
-#~ msgid "Site file <%s> not found"
-#~ msgstr "Arquivo 3dview  <%s> n�o encontrado"
+#~ msgid "Output aspect map (or fy)"
+#~ msgstr "Gera arquivo com a dire��o da encosta"
 
 #, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "para site"
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "n�o."
 
 #, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "N�o consegui alocar mem�ria para 'string'"
+#~ msgid "Prefix for output raster map(s)"
+#~ msgstr "Nome do mapa raster de sa�da"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "Transformando os vetores ..."
+#~ msgid "String to represent no data cell"
+#~ msgstr "Texto para representar c�lula sem dados"
+
+#~ msgid "Character to represent no data cell"
+#~ msgstr "Caractere para representa c�lula sem dados"
 
 #, fuzzy
-#~ msgid "%d sites written."
-#~ msgstr "%d pontos escritos no vetor"
+#~ msgid "Binary raster file to be imported"
+#~ msgstr "Arquivo raster para importar"
 
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Nome da camada a usar para INTENSIDADE"
+#~ msgid "Name of spread path raster map"
+#~ msgstr "Nome do mapa de caminho do espalhamento"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Nome da camada a usar para SATURA��O"
+#~ msgid "Run verbosely"
+#~ msgstr "Executar verbosamente"
+
+#, fuzzy
+#~ msgid "%s available in mapset <%s>:"
+#~ msgstr "Lista formatos dispon�veis e finaliza"
+
+#~ msgid "Null value indicator"
+#~ msgstr "Indicador de valor nulo"
+
+#, fuzzy
+#~ msgid "Suppress warnings"
+#~ msgstr "Suprimir p�ginas de cabe�alho"
 
 #, fuzzy
 #~ msgid ""
@@ -43535,56 +45085,62 @@ msgstr "Camada %d"
 #~ msgstr "Arquivos raster ASCII para importar"
 
 #, fuzzy
-#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
-#~ msgstr "T�tulo do raster de sa�da"
+#~ msgid "Name of input raster map(s)"
+#~ msgstr "Nome do Raster de entrada"
 
 #, fuzzy
-#~ msgid ""
-#~ "Computes anisotropic cumulative cost of moving between different "
-#~ "geographic locations on an input elevation raster map whose cell category "
-#~ "values represent elevation combined with an input raster map layer whose "
-#~ "cell values represent friction cost."
-#~ msgstr ""
-#~ "Gera uma camada raster mostrando o custo cumulativo de movimento entre "
-#~ "diferentes localiza��es sobre um mapa raster de entrada cujos valores de "
-#~ "c�lula representam o custo."
+#~ msgid "The output type of the space time dataset"
+#~ msgstr "Nome do novo arquivo raster."
 
-#~ msgid "Name of output layer to be used for GREEN"
-#~ msgstr "Nome da camada de sa�da a usar para VERDE"
+#, fuzzy
+#~ msgid "Type of the aggregation space time dataset, default is strds"
+#~ msgstr "Nome do novo arquivo raster."
 
-#~ msgid "Name of output layer to be used for BLUE"
-#~ msgstr "Nome da camada de sa�da a usar para AZUL"
+#, fuzzy
+#~ msgid "Greater value option that sets the >= area size limit [hectares]"
+#~ msgstr "�rea"
 
 #, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
+#~ msgid "Prefix for output raster maps (default: input)"
+#~ msgstr "T�tulo do raster de sa�da"
+
+#, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
 #~ msgstr ""
-#~ "Utilit�rio de interpola��o de superf�cies para camadas de mapas raster."
+#~ "Calcula estat�sticas univariada das c�lulas n�o nulas de um mapa raster."
 
-#~ msgid "Surface generation program."
-#~ msgstr "Programa para gera��o de superf�cies."
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Cor para desenhar malhas, ou \"none\""
 
 #, fuzzy
 #~ msgid ""
-#~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
-#~ msgstr ""
-#~ "Bancos de dados lat/long n�o s�o suportados por r.flow. Use 'r.watershed' "
-#~ "para calcular fluxo."
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Cor para desenhar malhas, ou \"none\""
 
-#~ msgid "%s=%s - illegal number of interpolation points"
-#~ msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Cor para exibir informa��es desconhecidas"
 
-#~ msgid "%s: no data points found"
-#~ msgstr "%s: nenhum ponto de dados encontrado"
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "Cor para desenhar malhas, ou \"none\""
 
 #, fuzzy
-#~ msgid "Interpolating raster map <%s>... %d row... "
-#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
-#~ msgstr[0] "Interpolando mapa raster <%s> ... %d linhas ..."
-#~ msgstr[1] "Interpolando mapa raster <%s> ... %d linhas ..."
+#~ msgid "Create grid as lines, instead of areas"
+#~ msgstr "de �rea"
 
 #, fuzzy
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "n�o."
+#~ msgid "Invalid distance"
+#~ msgstr "Fonte inv�lida: %s"
+
+#~ msgid "Layer number"
+#~ msgstr "Camada n�mero"
 
 #, fuzzy
 #~ msgid "allocation"
@@ -43595,101 +45151,100 @@ msgstr "Camada %d"
 #~ msgstr "Exibir"
 
 #, fuzzy
-#~ msgid "Name of elevation map"
-#~ msgstr "Nome do mapa raster de eleva��o"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Texto para representar c�lula sem dados"
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr "Um de!"
+#~ msgid "Please specify input= or file="
+#~ msgstr "Especifique a coluna z."
 
 #, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "Um de!"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "M�trica desconhecida: [%s]."
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Erro na leitura do arquivo de categorias para <%s>."
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Erro na leitura do arquivo 'colr' para <%s>."
+#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#~ msgid "String representing no data cell value"
-#~ msgstr "Texto representando c�lulas sem valores de dados"
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "Valor ilegal para fator de escala"
 
 #, fuzzy
-#~ msgid "Output z-file (elevation) map"
-#~ msgstr "Gerar arquivo de eleva��o"
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Output aspect map (or fy)"
-#~ msgstr "Gera arquivo com a dire��o da encosta"
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
 
 #, fuzzy
-#~ msgid "Prefix for output raster map(s)"
-#~ msgstr "Nome do mapa raster de sa�da"
+#~ msgid "-p and output= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "String to represent no data cell"
-#~ msgstr "Texto para representar c�lula sem dados"
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#~ msgid "Character to represent no data cell"
-#~ msgstr "Caractere para representa c�lula sem dados"
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Binary raster file to be imported"
-#~ msgstr "Arquivo raster para importar"
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Especifique a coluna z."
 
-#~ msgid "Name of spread path raster map"
-#~ msgstr "Nome do mapa de caminho do espalhamento"
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Especifique a coluna z."
 
-#~ msgid "Run verbosely"
-#~ msgstr "Executar verbosamente"
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "%s available in mapset <%s>:"
-#~ msgstr "Lista formatos dispon�veis e finaliza"
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Especifique a coluna z."
 
-#~ msgid "Null value indicator"
-#~ msgstr "Indicador de valor nulo"
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Especifique a coluna z."
 
 #, fuzzy
-#~ msgid "Suppress warnings"
-#~ msgstr "Suprimir p�ginas de cabe�alho"
+#~ msgid "Display the "
+#~ msgstr "Exibir"
 
 #, fuzzy
-#~ msgid "High resolution panchromatic image"
-#~ msgstr "transformar para"
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Correla��o"
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Name of input raster map(s)"
-#~ msgstr "Nome do Raster de entrada"
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "The output type of the space time dataset"
-#~ msgstr "Nome do novo arquivo raster."
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Type of the aggregation space time dataset, default is strds"
-#~ msgstr "Nome do novo arquivo raster."
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Greater value option that sets the >= area size limit [hectares]"
-#~ msgstr "�rea"
+#~ msgid "High resolution panchromatic image"
+#~ msgstr "transformar para"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (default: input)"
-#~ msgstr "T�tulo do raster de sa�da"
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Correla��o"
 
 #, fuzzy
 #~ msgid "Name of elevation raster map"
@@ -43708,26 +45263,101 @@ msgstr "Camada %d"
 #~ msgstr "Sem mapa de sa�da"
 
 #, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr ""
-#~ "Calcula estat�sticas univariada das c�lulas n�o nulas de um mapa raster."
-
-#, fuzzy
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "Cor para desenhar malhas, ou \"none\""
 
 #~ msgid "Gather the histogram quietly"
 #~ msgstr "Computar o histograma em sil�ncia"
 
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Mem�ria insuficiente para adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Mem�ria insuficiente para ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Mem�ria insuficiente para adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Mem�ria insuficiente para adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Mem�ria insuficiente para adxy"
+
 #, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "de �rea"
+#~ msgid "Cannot create quaddata"
+#~ msgstr "N�o consegui criar quaddata"
 
 #, fuzzy
-#~ msgid "Invalid distance"
-#~ msgstr "Fonte inv�lida: %s"
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "N�o consegui criar quadfunc"
 
-#~ msgid "Layer number"
-#~ msgstr "Camada n�mero"
+#~ msgid "Cannot create tree"
+#~ msgstr "N�o consegui criar �rvore"
+
+#, fuzzy
+#~ msgid "Cannot create tree info"
+#~ msgstr "N�o consegui criar info da �rvore"
+
+#, fuzzy
+#~ msgid "Unable To create table: %s"
+#~ msgstr "N�o consegui criar arquivo [%s]"
+
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "Mem�ria insuficiente para az"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "Um de!"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr "Um de!"
+
+#, fuzzy
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "Converte arquivo de pontos ou ASCII do GRASS para um vetor bin�rio."
+
+#, fuzzy
+#~ msgid "Site file <%s> not found"
+#~ msgstr "Arquivo 3dview  <%s> n�o encontrado"
+
+#, fuzzy
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "para site"
+
+#, fuzzy
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "N�o consegui alocar mem�ria para 'string'"
+
+#, fuzzy
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "Transformando os vetores ..."
+
+#, fuzzy
+#~ msgid "%d sites written."
+#~ msgstr "%d pontos escritos no vetor"
+
+#, fuzzy
+#~ msgid "Performing map %s + %s"
+#~ msgstr "Erro lendo intervalo para [%s]"
+
+#, fuzzy
+#~ msgid "Can't call bad function"
+#~ msgstr "local do banco de dados"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "N�o consegui criar arquivo raster [%s]."
+
+#, fuzzy
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Tamanho do r�tulo (pixels)"
+
+#~ msgid "Unknown raster map type"
+#~ msgstr "Tipo de mapa raster desconhecido"
diff --git a/locale/po/grassmods_pt_br.po b/locale/po/grassmods_pt_br.po
index 83db35c..063106f 100644
--- a/locale/po/grassmods_pt_br.po
+++ b/locale/po/grassmods_pt_br.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_pt_br\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2011-08-03 03:03-0300\n"
 "Last-Translator: Fred Ulisses Maranh�o <fred.maranhao at gmail.com>\n"
 "Language-Team: Brasilian Portuguese <grass-translations at lists.osgeo.org>\n"
@@ -25,10 +25,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -46,6 +46,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -75,12 +76,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -127,7 +129,7 @@ msgstr "Respeitar valores Nulos quando desenhar"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -135,14 +137,16 @@ msgid "Color file for <%s> not available"
 msgstr "Arquivo de cores para <%s> n�o dispon�vel"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -161,7 +165,9 @@ msgstr "Arquivo de cores para <%s> n
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -182,7 +188,7 @@ msgstr "Arquivo de cores para <%s> n
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -194,7 +200,7 @@ msgstr "Arquivo de cores para <%s> n
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -218,17 +224,17 @@ msgstr "Arquivo de cores para <%s> n
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -239,7 +245,7 @@ msgstr "Arquivo de cores para <%s> n
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -392,10 +398,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 #, fuzzy
 msgid "Input"
 msgstr "Mapa de entrada"
@@ -442,22 +451,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "Usar um subconjunto do intervalo do mapa para a legenda (min,m�x)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Cor do Texto"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Fonte"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Nome da Fonte"
 
@@ -471,12 +482,14 @@ msgstr "Tamanho do 
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 #, fuzzy
 msgid "Path to font file"
 msgstr "Nome do arquivo vetor resultante"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -577,14 +590,20 @@ msgstr "Intervalo de cores excede o limite superior dos dados"
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "use=%s fora do intervalo [%.3f,%.3f]. (extender com 'range= ?')"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Nada a desenhar! (sem categorias com r�tulo?)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 #, fuzzy
 msgid ""
@@ -636,11 +655,11 @@ msgstr "T
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -722,23 +741,26 @@ msgstr "Lista de categorias para exibir (mapas INT)"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -748,14 +770,19 @@ msgstr "Lista de categorias para exibir (mapas INT)"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -806,54 +833,55 @@ msgstr "%s=%s - nome ilegal"
 msgid "[%s]: No such color"
 msgstr "[%s]: cor n�o existe"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 #, fuzzy
 msgid "monitors"
 msgstr "Lista todos os monitores"
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Mostra informa��es sobre o monitor gr�fico atual"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 #, fuzzy
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Mostra ret�ngulo na tela"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 #, fuzzy
 msgid "Display screen dimensions (width, height)"
 msgstr "Mostra tamanho da tela"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 #, fuzzy
 msgid "Display active frame rectangle"
 msgstr "Mostra ret�ngulo na tela"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Mostra tamanho da tela"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 #, fuzzy
 msgid "Display screen rectangle of current region"
 msgstr "Mostra ret�ngulo na tela"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -861,31 +889,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, fuzzy, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Conex�o com banco de dados n�o definida para camada <%d>"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -895,10 +924,10 @@ msgstr "Conex
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -912,7 +941,7 @@ msgstr "Conex
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "N�o conseguir abrir banco de dados <%s> com driver <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -937,7 +966,7 @@ msgstr "Tipo de fei
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 #, fuzzy
 msgid "Chart properties"
 msgstr "Tipo de fei��o"
@@ -984,7 +1013,12 @@ msgstr "Maior valor usado como refer
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Criar sa�da 3D"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -992,20 +1026,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -1020,40 +1056,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1078,11 +1114,6 @@ msgstr "Usando as coordenadas do centro do mapa\n"
 msgid "Line color"
 msgstr "Cor da Linha"
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr "Cor do Texto"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1142,12 +1173,15 @@ msgstr "L: de  M: a R: sair\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1166,17 +1200,18 @@ msgstr "L: de  M: a R: sair\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1189,10 +1224,10 @@ msgstr "L: de  M: a R: sair\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1200,21 +1235,22 @@ msgstr "L: de  M: a R: sair\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr ""
 
@@ -1261,16 +1297,18 @@ msgstr "Mapa vetorial <%s> n
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1282,22 +1320,22 @@ msgstr "Mapa vetorial <%s> n
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1353,10 +1391,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1411,12 +1449,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Nome do mapa raster a ser usado para <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Mostrar informa��o topol�gica (depura��o)"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1425,29 +1463,29 @@ msgstr ""
 "Sobrep�e valores de categorias em um mapa raster no quadro ativo do monitor "
 "gr�fico."
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 #, fuzzy
 msgid "Grid color"
 msgstr "Cor da Borda"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "N�mero de d�gitos significativos (apenas ponto flutuante)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Mapa raster dos pontos iniciais"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "Usar cor do texto a partir da cor da c�lula"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1456,7 +1494,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1464,7 +1502,7 @@ msgstr[0] "Cor da Borda"
 msgstr[1] "Cor da Borda"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1472,11 +1510,11 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr "atual defini��o C�lulas ativo c�lula para."
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
@@ -1484,65 +1522,65 @@ msgstr ""
 "Desenha setas representando a dire��o para mapas raster contendo dados de "
 "orienta��o."
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Nome do mapa de orienta��o para exibi��o"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Tipo do mapa raster de orienta��o existente"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Cor para desenhar setas"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Cor para desenhar setas"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Cor para desenhas X's (valores nulos)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Cor para exibir informa��es desconhecidas"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "Exibir seta a cada N-�sima c�lula da malha"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "Mapa raster contendo valores do comprimento da seta"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Fator de escala para setas (mapa de magnitude)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 #, fuzzy
 msgid "Illegal value for scale factor"
 msgstr "Valor ilegal para fator de escala"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "Valor ilegal de separa��o."
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr "Magnitude � suportado somente para mapas de orienta��o do GRASS."
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 #, fuzzy
 msgid "Scale option requires magnitude_map"
 msgstr "Op��o escala requer 'magnitude_map'"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "Erro lendo arquivo de limite."
@@ -1672,17 +1710,17 @@ msgid ""
 "\n"
 msgstr "Dist�ncia para a rede = %f, dist�ncia da rede = %f\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1690,7 +1728,7 @@ msgstr "Exibir"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1699,53 +1737,53 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 #, fuzzy
 msgid "Arc type"
 msgstr "Tipo de fei��o"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 #, fuzzy
 msgid "Arc layer"
 msgstr "Consultar"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 #, fuzzy
 msgid "Node layer"
 msgstr "Consultar"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1769,11 +1807,11 @@ msgstr "\rLendo arquivo [%s] ..."
 msgid "Background color"
 msgstr "Cor de fundo"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 #, fuzzy
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "%s n�o funciona com uma loca��o lat-long"
@@ -1794,7 +1832,7 @@ msgstr "%s=%s - nome ilegal"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1819,7 +1857,7 @@ msgstr "Exibir"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1827,7 +1865,7 @@ msgstr "Exibir"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2202,7 +2240,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2220,15 +2258,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Op��o Geo-Grid n�o dispon�vel para proje��o LL"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "N�o obtive os valores de proje��o da loca��o atual"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "N�o consegui ajustar par�metros de proje��o lat/long"
@@ -2493,12 +2531,13 @@ msgstr "Coordenadas inv
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2572,15 +2611,15 @@ msgstr "Requisi
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "Favor especificar um elips�ide  lat/long com -l ou -w"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "N�o consegui informa��es de proje��o da loca��o atual"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
@@ -2604,11 +2643,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "N�o consegui criar arquivo raster [%s]."
@@ -2811,7 +2851,7 @@ msgstr "Cor de preenchimento"
 msgid "Colorize features according color definition column"
 msgstr "Erro na defini��o de cor na coluna GRASSRGB, �rea %d com cat %d"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Coluna de defini��o das cores n�o definida."
@@ -3119,41 +3159,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]: cor n�o existe"
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "O vetor '%s' j� existe."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "N�o consegui atualizar regi�o atual"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Sa�da de mapa"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Nenhum monitor selecionado"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "N�o consegui criar arquivo <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "Escrevendo [%s]..."
 
-#: ../display/d.mon/start.c:163
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "N�o consegui ler arquivo de cores."
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
 #, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+msgid "Unable to create file <%s>"
+msgstr "N�o consegui criar arquivo <%s>"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3165,34 +3212,53 @@ msgstr "Nenhum monitor selecionado"
 msgid "Monitor <%s> is not running"
 msgstr "raster <%s> n�o encontrado"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "Arquivo de c�lulas n�o encontrado\n"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "N�o consegui criar arquivo <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "Arquivo de c�lulas n�o encontrado\n"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "N�o consegui abrir o arquivo <%s>"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "N�o consegui criar arquivo <%s>"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Lista todos os monitores"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "Arquivo de c�lulas n�o encontrado\n"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "N�o consegui ler arquivo de cores."
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "N�o adicionar � lista de comandos no monitor"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3204,8 +3270,8 @@ msgid "Name of monitor to start"
 msgstr "Nome do monitor gr�fico que ser� iniciado"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3229,9 +3295,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3311,12 +3378,12 @@ msgid "List running monitors and exit"
 msgstr "Mostra os formatos suportados e encerra"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3329,33 +3396,34 @@ msgstr "Mostra os formatos suportados e encerra"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr ""
 
@@ -3369,60 +3437,78 @@ msgstr "Mostra a extens
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Mostra a extens�o da regi�o atual"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Mostra a extens�o da regi�o atual"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "N�o selecionar automaticamente quando iniciar"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Libera o monitor selecionado atualmente"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "N�o consegui ler arquivo de cores."
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Abrir formul�rio em modo de edi��o"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 #, fuzzy
 msgid "Currently selected monitor:"
 msgstr "Libera o monitor selecionado atualmente"
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, fuzzy, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr "N�o adicionar � lista de comandos no monitor"
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, fuzzy, c-format
 msgid "Monitor <%s> released"
 msgstr "Nenhum monitor selecionado"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "Nenhum monitor selecionado"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3477,7 +3563,7 @@ msgid "No map name given"
 msgstr "Mapa(s) de entrada n�o especificado(s)."
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Editar arquivo de categorias para [%s]?"
@@ -3610,9 +3696,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "N�o consegui abrir o arquivo de c�lulas <%s>"
@@ -3664,9 +3750,9 @@ msgstr "Correla
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "Formato OGR."
@@ -3681,12 +3767,12 @@ msgstr "Delimitador vertical de registro na sa
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 #, fuzzy
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Nome do mapa bin�rio de sa�da (use 'out=-' para sa�da padr�o)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "N�o incluir nomes das colunas na sa�da"
 
@@ -3695,7 +3781,7 @@ msgstr "N
 msgid "Describe query only (don't run it)"
 msgstr "apenas descrever a pesquisa (n�o executar)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Sa�da vertical (ao inv�s de horizontal)"
 
@@ -3728,7 +3814,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3760,7 +3846,7 @@ msgstr "base de dados SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3772,7 +3858,7 @@ msgstr "Mostra atributos do vetor"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3912,8 +3998,8 @@ msgstr "N
 msgid "Unable to create index:"
 msgstr "N�o consegui criar face"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Correla��o"
@@ -3989,7 +4075,7 @@ msgstr "N
 msgid "Unable to allocate handle."
 msgstr "N�o consegui alocar mem�ria."
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -4026,7 +4112,7 @@ msgstr "N
 msgid "Unable to select view names."
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -4066,12 +4152,12 @@ msgstr "Mem
 msgid "No path given"
 msgstr "Mapa(s) de entrada n�o especificado(s)."
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "N�o consegui selecionar dados da tabela"
@@ -4119,30 +4205,30 @@ msgid "Taken not found"
 msgstr "n�o encontrado"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 #, fuzzy
 msgid "Unable to create index"
 msgstr "N�o consegui criar face"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "N�o consegui definir tamanho"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "N�o consegui abrir arquivo de sa�da <%s>."
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
@@ -4189,6 +4275,11 @@ msgstr ""
 "coluna '%s' : tipo bool (booleano) est� armazenado como char(1), valores 0 "
 "(falso), 1 (verdadeiro)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "N�o consegui definir tamanho"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Op��o desconhecida na defini��o do banco de dados PostgreSQL"
@@ -4276,7 +4367,8 @@ msgstr "raster <%s> n
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, fuzzy, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4358,22 +4450,22 @@ msgstr "N
 msgid "Unable to open database:"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Conex�o com banco de dados n�o definida"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "O vetor '%s' j� existe."
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "N�o consegui criar arquivo [%s]"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "raster <%s> n�o encontrado"
@@ -4388,6 +4480,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "driver SQLite : coluna '%s', tipo SQLite %d  n�o � suportado"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Erro fechando arquivo ascii"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4643,10 +4740,10 @@ msgstr "Removendo centr
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, fuzzy, c-format
 msgid "Unable to describe table <%s>"
@@ -4667,27 +4764,40 @@ msgstr "Por favor corrija op
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "N�o consegui criar a tabela %s"
+msgid "Username"
+msgstr "nome=%s\n"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "N�o consegui criar a tabela %s"
+msgid "Password"
+msgstr "M�scara: %s\n"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Nome da Tabela"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "mostra os par�metros de conex�o atuais e finaliza"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 #, fuzzy
 msgid "Unable to set user/password"
 msgstr "Imposs�vel definir usu�rio/senha"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "A senha foi arquivada"
@@ -4983,6 +5093,7 @@ msgstr "
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4993,10 +5104,11 @@ msgstr "
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "Valor do raster"
@@ -5070,19 +5182,6 @@ msgstr "Flag -i e/ou par
 msgid "Off-screen only available with full render mode"
 msgstr "Renderiza��o fora da tela s� dispon�vel com renderiza��o completa"
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "N�o consegui abrir o arquivo <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5363,7 +5462,7 @@ msgstr "Arquivo de c
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -6065,7 +6164,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -6078,12 +6177,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6189,7 +6289,17 @@ msgstr "solicitado"
 msgid "<%s> already exists"
 msgstr "O vetor '%s' j� existe."
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "N�o consegui escrever em <%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "n�o consegui abrir arquivo de vetores <%s> em <%s>"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6197,21 +6307,21 @@ msgstr "O vetor '%s' j
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 #, fuzzy
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr "Listas dispon�vel de para."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 #, fuzzy
 msgid "Map name search pattern (default: all)"
 msgstr "mapear Pesquisa padr�o todos"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6219,142 +6329,115 @@ msgstr "mapear Pesquisa padr
 msgid "Pattern"
 msgstr "Valor do raster"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
 msgstr "mapear Pesquisa padr�o todos"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "para padr�o atual Pesquisa"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Nome de padr�o atual"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Definir regi�o atual pela regi�o designada"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Nome do arquivo de sa�da"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr ""
 "Arquivo ASCII para converter para vetor bin�rio, se n�o for dado, l� da "
 "entrada padr�o"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 #, fuzzy
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "de"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 #, fuzzy
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "de"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "Imprime apenas o tipo do mapa raster"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 #, fuzzy
 msgid "Pretty printing in human readable format"
 msgstr "Suprimir impress�o de cabe�alho"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 #, fuzzy
 msgid "Verbose listing (also list map titles)"
 msgstr "mapear"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Mapa raster [%s] n�o encontrado"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "N�o consegui escrever em <%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "n�o consegui abrir arquivo de vetores <%s> em <%s>"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 #, fuzzy
 msgid "Unable to update lat/long projection parameters"
 msgstr "N�o consegui ajustar par�metros de proje��o lat/long"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Erro em pj_do_proj (proje��o das coordenadas de entrada)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 #, fuzzy
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
@@ -6363,7 +6446,7 @@ msgstr ""
 "Sa�da WGS84 n�o � poss�vel pois esta loca��o n�o cont�m\n"
 "par�metros de transforma��o do .datum. Execute g.setproj"
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6603,9 +6686,9 @@ msgstr "regi
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "Mapa raster 3D <%s> n�o encontrado"
@@ -6629,7 +6712,7 @@ msgstr "N
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, fuzzy, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Fonte inv�lida: %s"
@@ -6919,38 +7002,38 @@ msgstr "Mostra as estat
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -7092,7 +7175,7 @@ msgstr "Nome dos mapas raster existentes para pesquisar"
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 #, fuzzy
 msgid "Operation to be performed"
@@ -7564,7 +7647,7 @@ msgstr "N
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7767,38 +7850,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "Arquivo de c�lulas n�o encontrado\n"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Arquivo raster para importar"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -8018,8 +8122,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -8057,9 +8161,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Loca��o <%s> criada"
@@ -8219,10 +8323,12 @@ msgstr "Mostra matriz de correla
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8238,10 +8344,14 @@ msgstr "Mostra matriz de correla
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8275,10 +8385,12 @@ msgstr "Arquivo vetorial para criar"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8294,10 +8406,14 @@ msgstr "Arquivo vetorial para criar"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8401,8 +8517,8 @@ msgstr "Substitui o conte
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "Importar"
@@ -8444,7 +8560,7 @@ msgstr "Importar um arquivo raster bin
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8474,15 +8590,16 @@ msgstr "Nome do grupo de imagens"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Importar"
@@ -8544,7 +8661,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "Nome do mapa raster de cobertura"
+msgstr "Nome do mapa raster"
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8633,7 +8750,7 @@ msgstr "Nome do banco de dados"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Converte um mapa raster 3D em mapas raster 2D"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8643,6 +8760,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Mapa de entrada"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Converte um mapa raster 3D em mapas raster 2D"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "Inporta��o de vetor incompleta"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Nome do mapa raster 3D de entrada"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "N�mero de c�pias"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Mapa raster de entrada"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8695,21 +8913,12 @@ msgid ""
 "datasets."
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "Inporta��o de vetor incompleta"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8718,11 +8927,13 @@ msgstr "Inporta
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8730,54 +8941,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Nome do mapa raster 3D de entrada"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "N�mero de c�pias"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Mapa raster de entrada"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8792,7 +8962,8 @@ msgstr "Nome do mapa raster"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "Inporta��o de vetor incompleta"
@@ -9029,7 +9200,7 @@ msgstr "M
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "M�todo de intepola��o a usar"
 
@@ -9148,6 +9319,49 @@ msgstr "para atributo para mapear"
 msgid "Name of attribute column(s) to drop"
 msgstr "N�mero de colunas"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Lista separada por v�rgulas, p.ex.: 1.4,3.8,13"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Nome de um arquivo para gravar a sa�da do relat�rio"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "<%s> criados na base de dados."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "N�mero de c�pias"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Mapa raster de sa�da"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9375,7 +9589,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9620,6 +9834,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9689,10 +9904,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Estender loca��o baseado no novo conjunto de dados"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
@@ -9701,7 +9920,8 @@ msgstr "Sobrescrever proje
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
@@ -9719,21 +9939,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 #, fuzzy
 msgid "In scan mode, print using shell script style"
 msgstr "Mostra as estat�sticas em estilo shell script"
@@ -9757,7 +9977,7 @@ msgid "Name for output raster map"
 msgstr "Nome do Raster de sa�da"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 #, fuzzy
 msgid "Statistic to use for raster values"
 msgstr "Relat�rio de estat�sticas para mapas raster."
@@ -9765,14 +9985,14 @@ msgstr "Relat
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Tipo de armazenamento para o mapa resultante"
@@ -9818,18 +10038,18 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Fator de escala para os valores da coluna de atributos"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Porcentagem do mapa para manter em mem�ria"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 #, fuzzy
 msgid "pth percentile of the values"
 msgstr "Formato para relatar a declividade"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9934,8 +10154,8 @@ msgid "Remove existing color table"
 msgstr "Manter a tabela de cores existente"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9981,12 +10201,13 @@ msgid ""
 msgstr "Converte vetores OGR para GRASS. Drivers dispon�veis:\n"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Arquivo raster para importar"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 #, fuzzy
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
@@ -9994,7 +10215,7 @@ msgstr ""
 "mostradas"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "T�tulo do raster de sa�da"
@@ -10015,6 +10236,11 @@ msgstr "T
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -10037,10 +10263,15 @@ msgstr "T
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "Sa�da de mapa"
@@ -10051,29 +10282,30 @@ msgid "Output vector map extent"
 msgstr "Gera um mapa das �reas problem�ticas"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Alinhar a regi�o atual pelo mapa de entrada"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Erro na leitura do arquivo de categorias para <%s>."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Limiar de 'snap' para fronteiras"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "-1 para n�o haver snap"
 
@@ -10089,17 +10321,69 @@ msgid "-1 to list available datum transform parameters"
 msgstr "Verificar"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Mostra oso formatos suportados e encerra"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Lista camadas dispon�veis na fonte dos dados e finaliza"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "N�o consegui unidades de proje��o da loca��o atual"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Exibe escala gr�fica no monitor do GRASS"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Criar novo arquivo caso este n�o exista."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Remove todos os quadros e limpa a tela"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "para padr�o atual Pesquisa"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Mostra a extens�o da regi�o atual"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+"Posi��o da tela a partir da qual o texto ser� desenhado (porcentagem, [0,0] "
+"� o canto inferior direito)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10272,7 +10556,7 @@ msgstr "acima para mapear"
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10281,7 +10565,7 @@ msgstr "acima para mapear"
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10291,7 +10575,7 @@ msgid "geometry"
 msgstr "Arquivo vetorial para criar"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10350,7 +10634,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "N�mero de pontos de interpola��o"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10375,16 +10663,16 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Banda selecionada (o padr�o s�o todas as bandas)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
 msgstr "Mem�ria Esgotada! (Out of Memory)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10443,12 +10731,12 @@ msgid "Optional"
 msgstr "Nome ilegal do arquivo de sa�da"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "N�o executar otimiza��o do corte da regi��o"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr ""
 "For�a mapas Lat/Lon a se ajustarem em coordenadas geogr�ficas (90N,S; 180E,W)"
@@ -10549,7 +10837,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr "Gera um mapa raster com �reas cont�guas acrescidas de uma c�lula"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10564,7 +10852,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Raio do buffer"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "M�trica"
 
@@ -10595,14 +10883,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Nome do mapa raster que conter� os resultados"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10670,6 +10958,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10677,7 +10976,8 @@ msgid ""
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Resolu��o"
@@ -10722,6 +11022,63 @@ msgstr "%-5d categorias de pontos lidas\n"
 msgid "Name of table to drop"
 msgstr "Camada de pesquisa. Usada pela op��o 'query'."
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Produz um mapa vetorial dos contornos especificados a partir de um mapa "
+"raster."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Contraste"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Incremento entre curvas de n�vel"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Lista de curvas de n�vel"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Curva de n�vel m�nima"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Curva de n�vel m�xima"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "N�mero m�nimo de pontos para uma curva de n�vel (0 -> sem limite)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Mapa raster de entrada"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "N�o criar tabela de atributo."
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10747,6 +11104,20 @@ msgstr "Formato OGR."
 msgid "Name for output table (default: input name)"
 msgstr "T�tulo do raster de sa�da"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Converte um mapa raster 3D em mapas raster 2D"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10892,6 +11263,67 @@ msgstr "Nome de atributo padr
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Converte um mapa raster 3D em mapas raster 2D"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Tipo de fei��o"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Nome da coluna de atributo para usar como r�tulos"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+#, fuzzy
+msgid "Smooth corners of area features"
+msgstr "Cantos suaves"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Incremento para a coordenada Z"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Escreve valores raster como coordenada z. N�o cria tabela. Atualmente s� "
+"suporta pontos."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "N�o criar topologia (topology) no modo de pontos"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Usa valores do raster como categorias em vez de uma seq��ncia �nica (apenas "
+"CELL)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10903,6 +11335,7 @@ msgid "Vector map to which to join other table"
 msgstr "N�o criar tabela de atributo."
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10912,6 +11345,7 @@ msgid "Layer where to join"
 msgstr "Camada para"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "coluna(s)"
@@ -10994,7 +11428,6 @@ msgstr "T
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11303,6 +11736,10 @@ msgid ""
 "co1+col2)"
 msgstr "para para para em"
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11602,13 +12039,6 @@ msgstr "Nome do mapa raster"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "N�mero de c�pias"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 #, fuzzy
 msgid "Uploads vector values at positions of vector points to the table."
@@ -11620,23 +12050,32 @@ msgstr "de pontos para"
 msgid "Name of vector points map for which to edit attributes"
 msgstr "Nome do mapa de pontos vetorias para editar a tabela de atributos"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Nome da coluna de atributo para usar como r�tulos"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Nome do mapa raster"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "coluna(s)"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Nome da coluna de atributo para usar como r�tulos"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "Dist�ncia do buffer (em unidades do mapa)"
@@ -11675,78 +12114,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Nome da nova loca��o a criar"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Lista camadas dispon�veis e finaliza"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Lista camadas dispon�veis e finaliza"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Lista camadas dispon�veis e finaliza"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "local do banco de dados"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "tabelas do sistema ao inv�s de tabelas do usu�rio"
@@ -11767,20 +12222,26 @@ msgid "Description of the space time dataset"
 msgstr "Nome do novo arquivo raster."
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Nome do novo arquivo raster."
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11798,10 +12259,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Arquivo raster para importar"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Mostra as estat�sticas em estilo shell script"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Formato de sa�da"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11926,8 +12423,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Nome do arquivo de sa�da"
+msgid "Name for output image (or text file for -t)"
+msgstr "Nome de um arquivo para gravar a sa�da do relat�rio"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11944,6 +12441,11 @@ msgstr "Usar coordenadas do mapa ao inv
 msgid "Use gnuplot for display"
 msgstr "Texto para exibir"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Arquivo world de sa�da"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11959,11 +12461,6 @@ msgstr ""
 msgid "series"
 msgstr "Mapa raster a ser amostrado"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "<%s> criados na base de dados."
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -12065,6 +12562,7 @@ msgstr "Valor do raster"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -12080,10 +12578,15 @@ msgstr "Valor dos padr
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "Valor do raster"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -12169,10 +12672,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12190,7 +12689,7 @@ msgstr "N
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12728,7 +13227,7 @@ msgid "radiance"
 msgstr "Vari�ncia"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12759,8 +13258,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Metadados"
 
@@ -12965,8 +13465,8 @@ msgstr "N
 msgid "Calculating..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -15117,21 +15617,21 @@ msgstr "regi
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "conjunto de mapas <%s> na loca��o destino <%s> - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "n�o encontrado"
@@ -15236,7 +15736,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15365,7 +15865,7 @@ msgid "Name of target mapset"
 msgstr "Nome do mapset de destino"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Definir loca��o e mapset atuais como destino para um grupo de imagens"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15796,52 +16296,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "Entrada falhou"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Nome do mapa resultante"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, fuzzy, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr "corre��o"
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "T�tulo do raster de sa�da"
@@ -16035,7 +16539,7 @@ msgid "Starting Inverse FFT..."
 msgstr "Iniciando FFT inversa..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -16463,7 +16967,7 @@ msgstr "Meu primeiro m
 msgid "My first vector module"
 msgstr "Meu primeiro m�dulo raster."
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "Nome do mapa de pontos de sa�da"
@@ -16604,11 +17108,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -17323,12 +17828,12 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Exibir"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17336,36 +17841,36 @@ msgstr ""
 "Cria um mapa raster composto, usando valores conhecidos de categorias de uma "
 "(ou mais) camada(s) para preencher �reas de \"no data\" em outra camada."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Nome dos mapas raster para emendar"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Nome do mapa raster resultante"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Usar zero (0) para transpar�ncia ao inv�s de NULL"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 #, fuzzy
 msgid "The minimum number of input raster maps is two"
 msgstr "N�mero m�nimo de pixels numa classe"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 #, fuzzy
 msgid "Percent complete..."
 msgstr "Porcentagem completada: "
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "criando arquivos de suporte para %s"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17386,7 +17891,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Nome do arquivo de entrada; ou \"-\" para ler da stdin"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "T�tulo para o mapa resultante"
@@ -17394,7 +17899,7 @@ msgstr "T
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Tipo de fei��o"
+msgstr "T�tulo do raster de sa�da"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17820,8 +18325,8 @@ msgstr "Voc
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "N�o consegui inserir nova linha: %s"
@@ -17893,61 +18398,18 @@ msgstr "Tra
 msgid "Converts a raster map into a vector map."
 msgstr "Converte um mapa raster em uma camada de mapa vetorial."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Tipo de fei��o"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Nome da coluna de atributo para usar como r�tulos"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-#, fuzzy
-msgid "Smooth corners of area features"
-msgstr "Cantos suaves"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Usa valores do raster como categorias em vez de uma seq��ncia �nica (apenas "
-"CELL)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "N�o criar tabela de atributo."
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Incremento para a coordenada Z"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Escreve valores raster como coordenada z. N�o cria tabela. Atualmente s� "
-"suporta pontos."
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "N�o criar topologia (topology) no modo de pontos"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17978,23 +18440,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, fuzzy, c-format
 msgid "Unable to create table: %s"
 msgstr "N�o consegui criar arquivo [%s]"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "N�o posso dar privil�gios na tabela <%s>"
@@ -18036,201 +18500,201 @@ msgstr "N
 msgid "Allocating memory and reading input raster map..."
 msgstr "Localiza��o do mapa de entrada"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Reprojeta um mapa raster de uma loca��o para a loca��o atual."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Localiza��o do mapa de entrada"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Vari�ncia da soma"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Nome do mapa vetorial (2d) de entrada"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Salva quadro atual"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 #, fuzzy
 msgid "Name of input raster map to re-project"
 msgstr "Nome do Raster de entrada"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Caminho para o banco de dados GRASS da loca��o de entrada"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "T�tulo do raster de sa�da"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "�rea\n"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Resolu��o do mapa de sa�da"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "Imprime a regi�o atual (no estilo de script em shell)"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "Mapa de Entrada: localiza��o das depress�es reais"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr "N�o consegui informa��es de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 #, fuzzy
 msgid "Unable to get projection key values of output raster map"
 msgstr "N�o obtive os valores de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Mapa raster de entrada"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "par�metro <%s> necess�rio n�o configurado"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Arquivo de vetores [%s] n�o est� dispon�vel"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 #, fuzzy
 msgid "Unable to get projection info of input map"
 msgstr "N�o consegui informa��es de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 #, fuzzy
 msgid "Unable to get projection units of input map"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 #, fuzzy
 msgid "Unable to get projection key values of input map"
 msgstr "N�o obtive os valores de proje��o da loca��o atual"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 #, fuzzy
 msgid "Input:"
 msgstr "Mapa de entrada"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, fuzzy, c-format
 msgid "Cols: %d (%d)"
 msgstr "classe %d (%d)\n"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, fuzzy, c-format
 msgid "Rows: %d (%d)"
 msgstr "Grupo:    %s\n"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, fuzzy, c-format
 msgid "North: %f (%f)"
 msgstr "N� %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, fuzzy, c-format
 msgid "West: %f (%f)"
 msgstr "N� %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, fuzzy, c-format
 msgid "East: %f (%f)"
 msgstr "N� %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 #, fuzzy
 msgid "Output:"
 msgstr "Sa�da de mapa"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 #, fuzzy
 msgid "Projecting..."
 msgstr "Imprimindo ... "
@@ -18277,7 +18741,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -18290,7 +18754,7 @@ msgstr "Estat
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -18305,7 +18769,7 @@ msgstr "Exibir"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18461,7 +18925,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 #, fuzzy
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "N�o consegui fechar o novo mapa g3d"
@@ -18877,21 +19341,61 @@ msgstr "incidout precisa que o par
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "Modo 2: irradia��o di�ria integrada para um dado dia do ano"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Usando as coordenadas do centro do mapa\n"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Escrevendo arquivo raster <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Fonte inv�lida: %s"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Usando as coordenadas do centro do mapa\n"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Escrevendo arquivo raster <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Usando as coordenadas do centro do mapa\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Escrevendo arquivo raster <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -19277,7 +19781,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Loca��o: %s\n"
@@ -20127,7 +20631,7 @@ msgstr "Valores de eleva
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Gera mapa raster de subbacias watershed."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -20321,7 +20825,7 @@ msgstr "Nome do mapa raster que conter
 msgid "Statistics for <%s> updated"
 msgstr "Arquivo de hist�rico para [%s] atualizado."
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
@@ -20329,15 +20833,15 @@ msgstr ""
 "N�o consegui converter a proje��o do mapa raster de entrada para o formato "
 "do GRASS para verifica��o"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "Se sobrepondo � verifica��o da proje��o"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -20345,24 +20849,25 @@ msgstr ""
 "Proje��o do conjunto de dados parece n�o combinar com a loca��o atual.\n"
 "\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "Loca��o PROJ_INFO �:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "PROJ_INFO do conjunto de dados �:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "PROJ_INFO do conjunto de dados importado �:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20370,7 +20875,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
@@ -20378,9 +20883,9 @@ msgstr ""
 "Considere gerar uma nova loca��o a partir do conjunto de dados de entrada "
 "usando o par�metro 'location'.\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 "Proje��o do conjunto de dados de entrada e loca��o atual parecem combinar"
@@ -20445,8 +20950,8 @@ msgstr "criando arquivos de suporte para %s"
 msgid "Link to raster map <%s> created."
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20466,14 +20971,14 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr "n�o."
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "em"
@@ -20502,21 +21007,21 @@ msgstr "Nome do novo arquivo raster."
 msgid "Band to select (default is all bands)"
 msgstr "Banda selecionada (o padr�o s�o todas as bandas)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Mostra os formatos suportados e encerra"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Estender loca��o baseado no novo conjunto de dados"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20528,13 +21033,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Lista camadas dispon�veis na fonte dos dados e finaliza"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Ou -h ou rows= e cols= devem ser fornecidos"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20543,31 +21057,31 @@ msgstr "Ou -h ou rows= e cols= devem ser fornecidos"
 msgid "%s= and %s= are mutually exclusive"
 msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr "Seguindo com a importa��o..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Lendo mapa"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Banda selecionada (%d) n�o existe"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "N�mero de pontos de entrada: %d."
@@ -20755,14 +21269,15 @@ msgstr "Nome do Raster de sa
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -21060,6 +21575,12 @@ msgstr "Op
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Loca��o: %s\n"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -21131,8 +21652,8 @@ msgid "Importing band %d..."
 msgstr "Escrevendo [%s]..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -21252,7 +21773,7 @@ msgstr "'%s' deve ser maior que zero; usando %s=255"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "N�o consegui abrir o arquivo %s"
@@ -22353,7 +22874,8 @@ msgstr "M
 msgid "Unable to write to temp file"
 msgstr "N�o consegui criar arquivo tempor�rio"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Escrevendo [%s]..."
@@ -22401,7 +22923,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Mostra as estat�sticas em estilo shell script"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -23056,25 +23578,25 @@ msgid "unable to open output file"
 msgstr "N�o consegui abrir arquivo de sa�da."
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 #, fuzzy
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "Por cento:"
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "Por cento:"
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -23082,8 +23604,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -23195,29 +23717,29 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, fuzzy, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "Fechando Mapas."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, fuzzy, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 "\n"
 "SE��O %d: Determina��o de divisores."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, fuzzy, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "de Mem�ria."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, fuzzy, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "de Por cento Concluir "
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -23231,22 +23753,32 @@ msgstr "Por cento:"
 msgid "Closing accumulation map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Mapa raster de cobertura"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Mapa raster de cobertura"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "Mapa raster de cobertura"
@@ -23274,7 +23806,7 @@ msgstr "Mapa raster de cobertura"
 msgid "Closing half basins map"
 msgstr "Mapa raster de cobertura"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
@@ -23285,206 +23817,211 @@ msgstr[1] ""
 "\n"
 "SE��O 1 iniciando: Inicializando vari�veis. %d se��es no total."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr "de Por cento Concluir "
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Mapa de entrada"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Nome do Raster de entrada"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Mapa de Entrada: quantidade de fluxo superficial por c�lula"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Nome dos mapas raster de entrada"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Mapa de entrada: terreno bloqueando fluxo superficial, para USLE"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Mapa de entrada: tamanho m�nimo de bacias de drenagem exteriores"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Valor de entrada: comprimento m�ximo para fluxo superficial, para USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Mapa de sa�da: n�mero de c�lulas que drenam atrav�s de cada c�lula"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Mapa de �ndice topogr�fico [ln(a/tanB)]"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Mapa de �ndice topogr�fico [ln(a/tanB)]"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Mapa de sa�da: um valor �nico � dado para cada meia-bacia"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 "Sa�da de mapa: fator de comprimento do declive e declividade (LS) para USLE"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Sa�da de mapa: fator de comprimento de declividade (S) para USLE"
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Fator de convers�o para os valores de z"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Permitir apenas fluxo horizontal e vertical de �gua"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "Habilita op��o de swap em disco: Opera��o � lenta"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 #, fuzzy
 msgid "Sorry, you must choose an output map."
 msgstr "mapear."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "Suaviza��o deve ser um valor positivo"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -23495,12 +24032,12 @@ msgstr ""
 " fluxo\n"
 " limiar limiar."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Tipo da coluna n�o suportado"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -23665,21 +24202,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr "N�o consegui ler arquivo de limite"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, fuzzy, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "Alterado para"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, fuzzy, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "Alterado para"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "N�o consegui escrever em <%s>"
@@ -23876,7 +24413,7 @@ msgstr "Arquivo world de sa
 msgid "Converting <%s>..."
 msgstr "Convertendo <%s>..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "tipo do raster <%s> n�o combina"
@@ -23954,7 +24491,7 @@ msgstr ""
 "Calcula estat�sticas univariada das c�lulas n�o nulas de um mapa raster."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23967,11 +24504,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "N�o consegui abrir mapa raster <%s>"
@@ -23984,61 +24524,88 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"Use a mesma resolu��o do mapa RASTER3D de entrada para os mapas 2d de sa�da, "
+"independente das cofigura��es da regi�o atual"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 "Calcula estat�sticas univariada das c�lulas n�o nulas de um mapa raster."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "Gera um mapa raster com �reas cont�guas acrescidas de uma c�lula"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Nome de uma camada de sa�da"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Nome do Raster de sa�da"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "M�xima dist�ncia entre pontos (em unidades do mapa)"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Dist�ncia m�xima do ponto para a rede"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "Duas camadas devem ser especificadas"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "M�trica desconhecida: [%s]."
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "M�xima dist�ncia entre pontos (em unidades do mapa)"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "N�o consegui escrever o arquivo tempor�rio."
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -24049,132 +24616,137 @@ msgstr "N
 msgid "Reading raster map <%s>..."
 msgstr "Lendo mapa raster <%s>..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Escrevendo arquivo raster %i\n"
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "N�o consegui criar mapa raster <%s>."
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "Inporta��o de vetor incompleta"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Gerencia valores NULL dos mapas raster dados."
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Mapa 3dcell para modificar valores nulos"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Lista de valores de c�lula para marcar como NULO"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "O valor que substitui o valor nulo"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "Fazer o servi�o apenas se o mapa for decimal"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "Fazer o servi�o apenas se o mapa for inteiro"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 #, fuzzy
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 "Fazer o servi�o apenas se o mapa n�o tiver um arquivo bitmap de valores nulos"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 #, fuzzy
 msgid "Remove NULL-value bitmap file"
 msgstr "Explicitamente cria o arquivo bitmap 3D com valores NULL"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "mapa vetorial <%s> n�o encontrado"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "valor ilegal para NULO"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "O vetor '%s' j� existe."
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "%s: ERRO n�o consegui abrir tempfile"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "%s: ERRO n�o consegui abrir tempfile"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "Mapa raster dos pontos iniciais"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Escrevendo novo arquivo de nulos para [%s]..."
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "mapa raster <%s> n�o encontrado"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Apagando arquivo de nulos para [%s]   \n"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s=%s - nome ilegal"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: spec de valor ilegal"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Escrevendo arquivo raster %i\n"
@@ -24223,7 +24795,7 @@ msgstr "Tipo desconhecido: %c"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 #, fuzzy
 msgid "Unable to close output raster map"
 msgstr "N�o consegui fechar mapa de entrada"
@@ -24347,21 +24919,26 @@ msgstr "Semente para gera
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Escrevendo [%s]..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "Par�metros do agrupamento\n"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -24370,127 +24947,138 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Importar um arquivo raster bin�rio para uma camada raster do GRASS."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Arquivo raster para importar"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Banda selecionada (o padr�o s�o todas as bandas)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Nome de destino da loca��o da imagem"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr "Nome da loca��o de onde ler a proje��o para transforma��o dos GCPs"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Nome do arquivo raster de eleva��o para entrada (metros)"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Nome da nova loca��o a criar"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "N�o criar tabela de atributo."
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "mostra os par�metros de conex�o atuais e finaliza"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Manter os n�meros das bandas em vez de usar os nomes das cores"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "mostra as tabelas e finaliza"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr "Voc� tem que especificar uma loca��o alvo diferente da loca��o sa�da"
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "para topo mapear"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr "A op��o '-l' funciona apenas em loca��es Lat/Lon"
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "Mapa raster <%s> j� existe"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -24498,95 +25086,100 @@ msgstr ""
 "N�o consegui converter a proje��o do mapa de entrada para o formato do "
 "GRASS, n�o posso criar nova loca��o."
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "N�o consegui criar a tabela %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Seguindo com a importa��o..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "N�o consegui abrir o arquivo de assinatura."
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Copiando %d GCPS em arquivo de pontos para <%s>"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "Re-projetando tabela GCPs:"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "* Proje��o de entrada para a tabela GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "* Proje��o de sa�da para a tabela GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Erro em pj_do_proj (N�o posso re-projetar GCP %i)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "N�o consegui traduzir valores chave de proje��o das entradas GCPs"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr "N�o consegui informa��es de proje��o da loca��o destino"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "N�o consegui unidades de proje��o da loca��o alvo"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr "N�o obtive os valores chave de proje��o da loca��o alvo"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Escrevendo mapa raster <%s>..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr ""
 "Configurando tabela de cores cinza para <%s> (8bit, intervalo completo)"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr ""
 "Configurando tabela de cores cinza para <%s> (16bit, intervalo de imagem)"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
@@ -24828,7 +25421,7 @@ msgstr "Escrevendo [%s]..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, fuzzy, c-format
@@ -25186,31 +25779,36 @@ msgstr "n
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "N�o consegui escrever em <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "'layer' deve ser > 0 para 'cats'."
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Lendo arquivo dig_att...\n"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Correla��o"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Gera valores aleat�rios de c�lula com depend�ncia espacial."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Dist�ncia m�xima do ponto para a rede"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "N�mero m�ximo de itera��es: %d\n"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25667,34 +26265,34 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "N�mero de itera��es m�ximas"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "N�o exibir n�meros de categorias"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, fuzzy, c-format
 msgid "Pass number %d"
 msgstr "Camada n�mero"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Rotuladas %d linhas"
 msgstr[1] "Rotuladas %d linhas"
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 #, fuzzy
 msgid "Thinning completed successfully."
 msgstr "Transformada bem sucedida"
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -26780,167 +27378,238 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'layer' deve ser > 0 para 'cats'."
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+#, fuzzy
+msgid "Scanning data ..."
+msgstr "Rotacionando dados ... "
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "N�o consegui criar arquivo tempor�rio"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Cria mapas raster a partir de arquivos de dados de pol�gono/linha/ponto."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Arquivo de entrada"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Arquivo contendo declara��es SQL"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Incremento para a coordenada Z"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "N�mero de pontos de interpola��o"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 #, fuzzy
 msgid "Filter range for z data (min,max)"
 msgstr "Intervalo de inteiro: min,max"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "T�tulo do raster de sa�da"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "valores inteiros s�o importados"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "valores inteiros s�o importados"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Mostra hist�rico do vetor ao inv�s de informa��es"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
+#: ../raster/r.in.lidar/main.c:246
 #, fuzzy
-msgid "Override dataset projection (use location's projection)"
-msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
+msgid "Set computation region to match the new raster map"
+msgstr "Ajustar a regi�o coincidente com esse mapa raster"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "Mapa raster [%s] n�o encontrado"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Tipo desconhecido"
+msgid "File <%s> does not exist"
+msgstr "Mapa raster [%s] n�o encontrado"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
-"N�o consegui converter a proje��o do mapa de entrada para o formato do GRASS "
-"para verifica��o"
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-#, fuzzy
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "Loca��o: %s\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "Mapa raster [%s] n�o encontrado"
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-#, fuzzy
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"Considere gerar uma nova loca��o com o par�metro 'location' do dado de "
-"entrada.\n"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Tipo desconhecido"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "Fonte inv�lida: %s"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Loca��o: %s\n"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "Rotacionando dados ... "
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "N�o consegui abrir arquivo vetorial <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 #, fuzzy
 msgid "Writing to map ..."
 msgstr "Escrevendo [%s]..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%d pontos fora da regi�o atual."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "N�o consegui abrir o arquivo de c�lulas [%s]"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
 #, fuzzy
-msgid "Scanning data ..."
-msgstr "Rotacionando dados ... "
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "Loca��o: %s\n"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+#, fuzzy
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
 msgstr ""
+"Considere gerar uma nova loca��o com o par�metro 'location' do dado de "
+"entrada.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"N�o consegui converter a proje��o do mapa de entrada para o formato do GRASS "
+"para verifica��o"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -27178,12 +27847,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "Arquivo de cabe�alho = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "N�o consegui criar arquivo <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -28027,6 +28690,13 @@ msgstr "Especifique um n
 msgid "Invalid vrange"
 msgstr "Fonte inv�lida: %s"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -28079,6 +28749,11 @@ msgstr "N
 msgid "Writing to output raster map..."
 msgstr "Escrevendo arquivo raster %i\n"
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "%d pontos fora da regi�o atual."
+
 #: ../raster/r.relief/main.c:112
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM)."
@@ -28452,27 +29127,27 @@ msgstr "Mapa raster de entrada"
 msgid "Delete the null file"
 msgstr "Mapa raster de entrada"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "Tabela de cats para [%s] ajustada para %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] � uma reclassifica��o de outro mapa. Saindo."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Escrevendo novo arquivo de nulos para [%s]..."
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Apagando arquivo de nulos para [%s]   \n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Conclu�do."
 
@@ -28509,32 +29184,12 @@ msgstr ""
 "Produz um mapa vetorial dos contornos especificados a partir de um mapa "
 "raster."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Incremento entre curvas de n�vel"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Lista de curvas de n�vel"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Lista de curvas de n�vel"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Curva de n�vel m�nima"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Curva de n�vel m�xima"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "N�mero m�nimo de pontos para uma curva de n�vel (0 -> sem limite)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -28545,30 +29200,32 @@ msgstr "Duas camadas devem ser especificadas"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "N�o consegui criar tabela: '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "N�o consegui criar �ndice para tabela <%s>, chave <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 #, fuzzy
 msgid "Writing attributes..."
 msgstr "Escrevendo atributos ..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "N�o consegui inserir novo registro: '%s'"
@@ -29417,11 +30074,6 @@ msgstr "Nome do mapa vetorial (2d) de entrada"
 msgid "Size of point cache"
 msgstr "Tamanho do cache de pontos"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Mapa raster de sa�da"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29736,7 +30388,8 @@ msgstr "Tipo da coluna n
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 #, fuzzy
 msgid "Unable to select data from table"
 msgstr "N�o consegui selecionar dados da tabela"
@@ -30377,11 +31030,11 @@ msgstr "Mostra as estat
 msgid "3D Raster map <%s> not found"
 msgstr "Mapa raster 3D <%s> n�o encontrado"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Erro na leitura do arquivo de hist�rico"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -30579,6 +31232,38 @@ msgstr ""
 msgid "Update range"
 msgstr "Intervalo dos dados de sa�da"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Vari�ncia"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "Combina camadas vermelhas, verdes e azuis numa �nica camada composta."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Nome do Raster de sa�da"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "Tamanho do cache de pontos"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "N�o consegui alocar mem�ria."
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Escrevendo arquivo raster %i\n"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30756,6 +31441,147 @@ msgstr "Diahora, diahora1/diahora2, ou nenhum"
 msgid "Timestamp format is invalid"
 msgstr "Carimbo de hora desconhecido"
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Favor fornecer tr�s mapas RGB g3d"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Mapa vetorial <%s> n�o encontrado"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Calculando dire��es do fluxo..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "Nome do mapa de pontos vetorias para editar a tabela de atributos"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Nome do mapa raster"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Nome do Raster de sa�da"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Nome do mapa raster que conter� os resultados"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s:em %s: %s"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "N�mero de pontos de interpola��o"
+
+#: ../raster3d/r3.flow/main.c:244
+msgid "Default unit is cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "M�todo de intepola��o a usar"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Mapa(s) de entrada n�o especificado(s)."
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Nome do banco de dados de entrada"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "N�mero de itera��es m�ximas"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "N�mero de itera��es m�ximas"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "N�mero de c�pias"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "N�o consegui descrever a tabela %s"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Mapa vetorial n�o � 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Erro na leitura de dados"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Calculando m�dias das classes ..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -31300,6 +32126,60 @@ msgstr "Lendo arquivo dig_att...\n"
 msgid "Failed to find intersection segment"
 msgstr "falha interpretando a largura como inteiro"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "N�o consigo inserir na tabela: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "N�o consegui abrir mapa raster [%s]."
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Tabela <%s> n�o existe no banco de dados <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "O vetor '%s' j� existe."
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "O vetor '%s' j� existe."
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "N�o consegui criar arquivo raster [%s]."
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "N�o conseguir abrir banco de dados <%s> com driver <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "N�o consegui abrir arquivo de sa�da <%s>."
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "N�o consegui abrir mapa raster [%s]."
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "N�o consegui abrir arquivo de sa�da <%s>."
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -31329,7 +32209,7 @@ msgstr "Nome do mapa vetorial (2d) de entrada"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -31342,8 +32222,8 @@ msgstr "Nome do mapa vetorial (2d) de entrada"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -31371,84 +32251,124 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Sem tabela"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Nome de uma camada de entrada"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Obt�m coordenadas a partir da \"entrada padr�o\" (stdin)"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 #, fuzzy
 msgid "Assign unique categories to new points"
 msgstr "Designar categorias �nicas para os novos pontos (opera��o = n�s)"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 #, fuzzy
 msgid "For operation 'nodes'"
 msgstr "Tipo desconhecido"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Mapa vetor dos pontos finais"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Cor da Linha"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "Tipo desconhecido"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Vari�ncia"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "n�o consegui abrir arquivo de vetores <%s> em <%s>"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d pontos escrito no mapa de sa�da\n"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "%-5d linhas lidas  e escritas na sa�da\n"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "N�o criar tabela de atributo."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -31469,8 +32389,9 @@ msgstr "%d pontos sem categoria"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "Nome da Fonte"
@@ -31507,9 +32428,9 @@ msgstr "Nome da coluna de atributos com valores para interpolar (se >0 camada)"
 msgid "Name of column containing z coordinate"
 msgstr "Nome da coluna de atributos com valores para interpolar (se >0 camada)"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "Criar sa�da 3D"
@@ -31726,13 +32647,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "O vetor '%s' j� existe."
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "O vetor '%s' j� existe."
@@ -31938,27 +32859,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "N�o exibir n�meros de categorias"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Mostra atributos do vetor"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31966,176 +32887,176 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "Op��o escala requer 'magnitude_map'"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'layer' deve ser > 0 para 'cats'."
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "A toler�ncia foi reajustada para %g (unidades de mapa)"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Nome ilegal do arquivo de sa�da"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Toler�ncia em unidades de mapa: %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Tipo de coluna n�o suportado"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Sem registro na tabela para categoria '%d'"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, fuzzy, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Atributo tem tamanho inv�lido (%.3f) para a categoria %d."
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "Toler�ncia em unidades de mapa: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Encontrando classes de treinamento..."
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "Construindo �ndice espacial ..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "Fazendo snap de fronteiras..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Exportar linhas como pol�gonos"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 #, fuzzy
 msgid "Removing duplicates..."
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 #, fuzzy
 msgid "Breaking boundaries..."
 msgstr "Quebrando fronteiras..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Limpando fronteiras nos v�rtices"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Anexando ilhas..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "N�o consegui calcular �rea do centr�ide."
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Gerando lista de fronteiras que ser�o apagadas..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "N�o consegui calcular �rea do centr�ide."
@@ -32327,7 +33248,7 @@ msgstr ""
 #: ../vector/v.surf.rst/main.c:524
 #, fuzzy, c-format
 msgid "Unable to create %s"
-msgstr "N�o consegui criar arquivo <%s>"
+msgstr "N�o consegui criar arquivo [%s]"
 
 #: ../vector/v.vol.rst/main.c:555
 #, fuzzy, c-format
@@ -32436,7 +33357,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Resolu��o"
+msgstr "Processando �reas de entradaA ..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -32468,7 +33389,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:368
 #, fuzzy, c-format
 msgid "Mask raster map [%s] not found"
-msgstr "Mapa raster 3d <%s> n�o encontrado"
+msgstr "Mapa raster 3D <%s> n�o encontrado"
 
 #: ../vector/v.vol.rst/user1.c:383
 #, fuzzy
@@ -32528,7 +33449,7 @@ msgstr "Entrada falhou"
 msgid "Not enough disk space--cannot write files"
 msgstr "Espa�o em disco insuficiente -- n�o posso escrever arquivos"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -32584,11 +33505,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -32599,15 +33521,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -32615,12 +33537,12 @@ msgstr ""
 msgid "Cost"
 msgstr "Contraste"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 #, fuzzy
 msgid "Node cost column (number)"
 msgstr "N�mero de colunas"
@@ -32649,44 +33571,62 @@ msgstr "Tipo de fei
 msgid "Unable to build graph for vector map <%s>"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Camada '%s' n�o dispon�vel"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Dist�ncia m�xima do ponto para a rede"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "N�mero de pontos de entrada: %d."
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 #, fuzzy
 msgid "Cannot get line segment, segment out of line"
 msgstr "N�o consegui criar a tabela %s"
@@ -33050,103 +33990,103 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Entrada falhou"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Gera mapa de pontos 2D/3D do GRASS aleat�riamente."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 #, fuzzy
 msgid "Number of points to be created"
 msgstr "N�mero de pontos para criar"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Falha abrindo arquivo vetorial de entrada."
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 #, fuzzy
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "Altura m�nima em z (op��o -z necess�ria)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 #, fuzzy
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "Altura m�xima em z (op��o -z necess�ria)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Nome da coluna de atributos com valores para interpolar (se >0 camada)"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Tipo de tabela de cores"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Criar sa�da 3D"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, fuzzy, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "N�mero de pontos para criar"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d pontos escritos no vetor"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Nome do mapa vetorial existente"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "Mapa vetorial inicial <%s> n�o cont�m pontos na regi�o atual"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "Mapa vetorial inicial <%s> n�o cont�m pontos na regi�o atual"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 #, fuzzy
 msgid "Generating points..."
 msgstr "Escrevendo [%s]..."
@@ -33345,6 +34285,159 @@ msgstr "Imposs
 msgid "Impossible to write in the database"
 msgstr "Imposs�vel escrever na base de dados"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Escrevendo [%s]..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Assinaturas para usar na classifica��o"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "valores inteiros s�o importados"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "valores inteiros s�o importados"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "M�ximo valor aleat�rio"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "N�mero de pontos de interpola��o"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "N�mero de pontos de interpola��o"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Desvio padr�o"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Fonte inv�lida: %s"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -33423,7 +34516,7 @@ msgstr "tabelas do sistema ao inv
 msgid "Force 2D output even if input is 3D "
 msgstr "For�ar sa�da de valores inteiros"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -33646,6 +34739,184 @@ msgstr "N
 msgid "Labeled %d lines."
 msgstr "Rotuladas %d linhas"
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "Valor do raster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d classes."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Separa��o dos agrupamentos (clusters)"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Nome do arquivo vetor de entrada"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Dist�ncia m�xima do ponto para a rede"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "N�mero m�nimo de pixels numa classe"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Separa��o dos agrupamentos (clusters)"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "N�mero de classes deve ser < 256!"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Tamanho da vizinhan�a"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Contando locais no quadrado..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "%d pontos fora da regi�o atual."
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "criando novo arquivo cats ..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "Suaviza��o deve ser um valor positivo"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Usando m�xima dist�ncia entre pontos: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "%-5d categorias de linha lidas\n"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Dist�ncia m�xima do ponto para a rede"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Desvio padr�o"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Usando m�xima dist�ncia entre pontos: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Encontrando classes de treinamento..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+"\n"
+"Resolu��o = %d; per�odo = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "%d pontos fora da regi�o atual."
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Escrevendo arquivo raster %i\n"
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "\rLendo arquivo [%s] ..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%s: nenhum ponto de dados encontrado"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%s: nenhum ponto de dados encontrado"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -33717,7 +34988,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -34018,14 +35289,8 @@ msgstr "Nenhuma fonte selecionada"
 msgid "Loading data..."
 msgstr "Rotacionando dados ... "
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Mapa vetorial n�o � 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Coluna <%s> n�o encontrada"
@@ -34081,17 +35346,17 @@ msgstr "criando arquivos de suporte para %s"
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "Rotacionando dados ... "
@@ -34264,78 +35529,78 @@ msgstr "Par
 msgid "Unknown option '%s'"
 msgstr "Tipo desconhecido"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 #, fuzzy
 msgid "Node layer (used for cities)"
 msgstr "Nome da camada a usar para MATIZ (HUE)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Nome do mapa bin�rio de sa�da (use 'out=-' para sa�da padr�o)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "N�mero de pontos de entrada: %d."
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 #, fuzzy
 msgid "Not enough cities (< 2)"
 msgstr "Nome da coluna categoria"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "criando novo arquivo cats ..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Sem registros para a linha (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "N�o � poss�vel chegar ao destino\n"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "N�o consegui abrir o arquivo de c�lulas <%s>"
@@ -34511,6 +35776,21 @@ msgstr "Selecione tipo: linha ou 
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr " 4 par�metros s�o requeridos para o par�metro 'spatial'."
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Tipo desconhecido"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Se sobrepondo � verifica��o da proje��o"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -34630,7 +35910,7 @@ msgid "Processing features..."
 msgstr "Processando �reas de entradaA ..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "N�o consegui calcular �rea do centr�ide."
@@ -34704,7 +35984,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "N�o consegui usar a coluna '%s'"
@@ -35107,7 +36387,7 @@ msgstr "%d pontos sem categoria"
 msgid "%d records updated"
 msgstr "%d registros atualizados"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -35214,9 +36494,10 @@ msgstr "Tipo desconhecido"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "N�o consegui usar a coluna '%s'"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Rotacionando dados ... "
 
 #: ../vector/v.transform/main.c:290
@@ -35675,7 +36956,7 @@ msgstr "Erro abrindo mapa raster 3d <%s>"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Tipo da coluna n�o suportado (%s)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Rotacionando dados ... "
@@ -35759,6 +37040,10 @@ msgstr "N
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 #, fuzzy
 msgid "Columns"
 msgstr "coluna(s)"
@@ -35831,57 +37116,62 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Imprime valores m�dios ao inv�s de intervalos"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Coluna <%s> n�o encontrada"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Tipo do raster � inteiro e o tipo da coluna � 'float'"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "Tipo do raster � 'float' e tipo da coluna � inteiro, alguns dados foram "
 "perdidos !!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "N�o consegui encontrar o mapa de entrada <%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d pontos fora da regi�o atual."
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "Mais pontos (%d) da categoria %d, valor ajustado para 'NULL'"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d categorias carregadas do vetor"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d categorias duplicadas no vetor"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d categorias carregadas da tabela"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d categorias do vetor faltando na tabela"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d registros atualizados"
@@ -36728,7 +38018,7 @@ msgstr "Mostra as estat
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "Duas camadas devem ser especificadas"
+msgstr "Um de!"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -36765,53 +38055,63 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 #, fuzzy
 msgid "Prints vector map attributes."
 msgstr "Mostra atributos do vetor"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "de SQL instru��o palavra-chave"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Delimitador vertical de registro na sa�da"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Regi�o\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Altura fixa para objetos vetoriais 3D"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "n�o consegui abrir arquivo de vetores <%s> em <%s>"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 #, fuzzy
 msgid "Unable to open select cursor"
 msgstr "N�o consegui abrir cursor de sele��o: '%s'"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "N�o consegui selecionar dados da tabela"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "N�o encontrei mapset para %s"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "N�o exibir n�meros de categorias"
@@ -37110,7 +38410,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d registros selecionados da tabela"
 msgstr[1] "%d registros selecionados da tabela"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "N�o consegui abrir arquivo de sa�da <%s>."
@@ -37138,19 +38438,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr "\rLendo arquivo [%s] ..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 #, fuzzy
 msgid "Unable to fetch record"
 msgstr "N�o consegui obter linha"
@@ -37167,6 +38467,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Arquivo de c�lulas [%s] n�o encontrado"
+
 #: ../vector/v.to.db/update.c:83
 #, fuzzy
 msgid "Updating database..."
@@ -37454,7 +38759,8 @@ msgstr "de 
 msgid " Database connection not defined for layer <%s>"
 msgstr "Conex�o com banco de dados n�o definida para camada <%d>"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "tipo de coluna n�o suportado"
@@ -37474,41 +38780,41 @@ msgstr "%d pontos sem categoria"
 msgid "Wrong input format: %s"
 msgstr "Entrada errada para multiplicador: %s"
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, fuzzy, c-format
 msgid "No point with category [%d]"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, fuzzy, c-format
 msgid "[%d] input format errors"
 msgstr "%d atualizar erros"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, fuzzy, c-format
 msgid "[%d] points of given category missing"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 #, fuzzy
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
@@ -37516,19 +38822,19 @@ msgstr ""
 "Nome do arquivo contendo comandos gr�ficos, se n�o houver, l� da entrada "
 "padr�o"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 #, fuzzy
 msgid "Maximum distance to the network"
 msgstr "Dist�ncia m�xima do ponto para a rede"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -38134,46 +39440,50 @@ msgstr "N
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Escrever v�rtices da linha."
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "Suaviza��o deve ser um valor positivo"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Tipo da coluna desconhecido"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "N�o consegui unidades de proje��o da loca��o atual"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s:em %s: %s"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s:em %s: %s"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "N�mero de classes deve ser < 256!"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "N�o consegui escrever o arquivo tempor�rio."
@@ -38277,11 +39587,6 @@ msgstr "Nome da coluna (tipo deve ser num
 msgid "Reading categories..."
 msgstr "Anexando categorias...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Rotacionando dados ... "
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -38461,7 +39766,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Interpolar pontos entre os v�rtices da linha."
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "N�o consegui abrir arquivo de sa�da."
@@ -38729,227 +40034,248 @@ msgstr ""
 "Para definir uma nova conex�o, voc� tem que especificar os par�metros: "
 "driver, banco de dados, tabela [, chave [, camada]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Reprojeta um mapa raster de uma loca��o para a loca��o atual."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 #, fuzzy
 msgid "Location containing input vector map"
 msgstr "Localiza��o do mapa de entrada"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 #, fuzzy
 msgid "Mapset containing input vector map"
 msgstr "Nome do mapa vetorial (2d) de entrada"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Nome do Raster de entrada"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Nome do mapa vetorial (2d) de entrada"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Mostra os arquivos raster na loca��o de entrada e encerra"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 #, fuzzy
 msgid "3D vector maps only"
 msgstr "N�o encontrei mapset para %s"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Arquivo raster bin�rio a importar"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Arquivo de vetores [%s] n�o est� dispon�vel"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "Grupo [%s] destinado para loca��o [%s], mapset [%s]\n"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 #, fuzzy
 msgid "Reading input vector map"
 msgstr "Falha abrindo arquivo vetorial de entrada."
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Mapa vetorial n�o � 3D"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 #, fuzzy
 msgid "Error in pj_do_transform"
 msgstr "Erro em pj_do_proj"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "criando novo arquivo cats ..."
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Converte um mapa vetorial bin�rio do GRASS pela combina��o de outros camadas "
 "de mapa vetorial."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 #, fuzzy
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "Mapa de sa�da no qual os erros ser�o gravados"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "N�o criar topologia (topology) no modo de pontos"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "N�o criar tabela de atributo."
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 #, fuzzy
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 "Tamb�m copiar tabela de atributos. Apenas a tabela da camada 1 � suportada "
 "atualmente"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Tabela faltando"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 #, fuzzy
 msgid "Key columns differ"
 msgstr "Colunas chave diferem"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 #, fuzzy
 msgid "Number of columns differ"
 msgstr "N�mero de colunas difere."
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 #, fuzzy
 msgid "Column names differ"
 msgstr "Nomes das colunas diferem."
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 #, fuzzy
 msgid "Column types differ"
 msgstr "Tipos das colunas diferem"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 #, fuzzy
 msgid "Length of string columns differ"
 msgstr "Comprimento das colunas de texto difere"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Coluna chave n�o encontrada"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 #, fuzzy
 msgid "The output map is not 3D"
 msgstr "Mapas de sa�da n�o � 3D."
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, fuzzy, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr "Erro lendo arquivo '%s'. Alguns dados podem n�o estar corretos\n"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, fuzzy, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Lendo arquivo dig_att...\n"
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 #, fuzzy
 msgid "Intersections at borders will have to be snapped"
 msgstr "Interse��es nas bordas ser�o ligadas."
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 #, fuzzy
 msgid "Lines common between files will have to be edited"
 msgstr "Linhas comuns aos arquivos ter�o que ser editadas."
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 #, fuzzy
 msgid "The header information also may have to be edited"
 msgstr "A informa��o do cabe�alho tamb�m pode ter que ser editada."
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "%d registros atualizados"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "N�o consegui abrir cursor de sele��o: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "N�o consegui obter linha"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Tipo da coluna desconhecido"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "N�o consegui inserir novo registro: '%s'"
@@ -39630,17 +40956,12 @@ msgstr[1] "%-5d centr
 msgid "Operation not implemented"
 msgstr "regi�o <%s> n�o encontrada"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Converte vetores OGR para GRASS. Drivers dispon�veis:\n"
 
-#: ../vector/v.in.ogr/main.c:142
-#, fuzzy
-msgid "OGR datasource name"
-msgstr "banco de dados"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39651,7 +40972,7 @@ msgstr ""
 "\t\tShapefile ESRI: diret�rio contendo shapefiles\n"
 "\t\tArquivo MapInfo: diret�rio contendo arquivos mapinfo"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39662,54 +40983,54 @@ msgstr ""
 "\t\tArquivo shape ESRI: nome do arquivo\n"
 "\t\tArquivo do MapInfo: nome do arquivo"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 #, fuzzy
 msgid "Import subregion only"
 msgstr "Imprime apenas a regi�o do mapa raster"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 #, fuzzy
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "Importar apenas subregi�o (xmin,ymin,xmax,ymaz  - normalmente W,S,E,N)"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Mapa de entrada: tamanho m�nimo de bacias de drenagem exteriores"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 #, fuzzy
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 "Tamanho m�nimo da �rea a importar (unidades quadradas). �reas menores e "
 "ilhas ser�o ignoradas. Deve ser maior que snap^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "T�tulo do raster de sa�da"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "N�o pontos"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Limpando fronteiras nos v�rtices"
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Exportar linhas como pol�gonos"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -39717,171 +41038,172 @@ msgstr ""
 "Lista de nomes de colunas para usar no lugar dos nomes originais, o primeiro "
 "ser� usado para a coluna categoria"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Nome da coluna de atributo para usar como r�tulos"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "N�mero de colunas"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "%-5d categorias de pontos lidas\n"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "N�o limpar pol�gonos (opera��o n�o recomendada)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "For�ar sa�da de valores inteiros"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 #, fuzzy
 msgid "Limit import to the current region"
 msgstr "N�o atualizar a regi�o atual"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, fuzzy, c-format
 msgid "Unable to open data source <%s>"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Posi��o do cursor n�o � suportada pelo driver MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, fuzzy, c-format
 msgid "Layer <%s> not available"
 msgstr "Camada '%s' n�o dispon�vel"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Camada '%s' n�o dispon�vel"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "N�o consegui obter informa��es de camada para o mapa vetorial"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Coluna <%s> n�o encontrada"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 #, fuzzy
 msgid "4 parameters required for 'spatial' parameter"
 msgstr " 4 par�metros s�o requeridos para o par�metro 'spatial'."
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Dist�ncia de separa��o de fronteiras em unidades do mapa: %G"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "N�o consegui criar arquivo raster [%s]."
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Coluna chave '%s' n�o encontrada"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Coluna chave deve ser inteiro"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Coluna <%s> n�o encontrada"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+"Escrevendo coluna <%s> com largura fixa de 40 caracteres (pode ser truncado)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, fuzzy, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 "Escrevendo coluna <%s> com largura fixa de 40 caracteres (pode ser truncado)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, fuzzy, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -39890,68 +41212,68 @@ msgstr ""
 "Largura da coluna '%s' ajustada para 255 (n�o foi especificada pelo OGR), "
 "alguns textos podem ser truncados!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, fuzzy, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 "Escrevendo coluna <%s> com largura fixa de 40 caracteres (pode ser truncado)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Tipo da coluna n�o suportado (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Importanto fei��es do mapa %d..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s sem geometria"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Exportar linhas como pol�gonos"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Fazendo snap de fronteiras..."
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 #, fuzzy
 msgid "Cleaning boundaries at nodes..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Quebrando fronteiras..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Calculando m�dias das classes ..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 #, fuzzy
 msgid "Writing centroids..."
 msgstr "Escrever v�rtices da linha."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39963,99 +41285,99 @@ msgstr ""
 "linha na tabela de atributos. O n�mero de fei��es para essas �reas est� "
 "armazenado com categoria na camada %d"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d pol�gonos de entrada\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, fuzzy, c-format
 msgid "%d input polygons"
 msgstr "%d pol�gonos de entrada\n"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "%d pontos sem categoria"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Limiar de 'snap' para fronteiras"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "N�o consegui abrir mapa raster [%s]."
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -40105,17 +41427,21 @@ msgstr "N
 msgid "Unknown geometry type"
 msgstr "Tipo da coluna desconhecido"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Nome do arquivo de sa�da"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Arquivo raster para importar"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -40127,22 +41453,22 @@ msgstr ""
 "\t\tArquivo shape ESRI: nome do arquivo\n"
 "\t\tArquivo do MapInfo: nome do arquivo"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "T�tulo do raster de sa�da"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "Lista camadas dispon�veis na fonte dos dados e finaliza"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Lista camadas dispon�veis na fonte dos dados e finaliza"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -40195,7 +41521,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "Coordenadas inv�lidas %s %s"
+msgstr "N�mero de colunas"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -40206,17 +41532,17 @@ msgstr ""
 "Converte um mapa vetorial bin�rio do GRASS pela combina��o de outros camadas "
 "de mapa vetorial."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "N�o consegui executar: %s"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "N�o consegui criar arquivo <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "O vetor '%s' j� existe."
@@ -40358,59 +41684,59 @@ msgstr "N
 msgid "Unable to close new 3d raster map"
 msgstr "N�o consegui fechar mapa de entrada"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "Mapa vetorial n�o � 3D"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, fuzzy, c-format
 msgid "Iso cost %d: %f"
 msgstr "classe %d (%d)\n"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "N�mero de pontos de entrada: %d."
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Calculando m�dias das classes ..."
@@ -40572,6 +41898,136 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Conex�o com banco de dados n�o definida para camada <%d>"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Sem registros para cat = %d"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Sem registros para cat = %d"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Coluna <%s> n�o encontrada"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Gera pontos como pontos 3D"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Converte vetores OGR para GRASS. Drivers dispon�veis:\n"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Camada n�mero"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%-5d categorias de linha lidas\n"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Camada n�mero"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Camada n�mero"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Camada para"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Camada para"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Camada para"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Nome da coluna (tipo deve ser num�rico)"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Erro na defini��o de cor na coluna GRASSRGB, �rea %d com cat %d"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "N�o consegui ler arquivo de cores."
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "N�o atualizar a regi�o atual"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Sem tabela"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -40775,7 +42231,7 @@ msgstr "Calculando m
 msgid "Invalid segment number %d for %d points"
 msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Duas camadas devem ser especificadas"
@@ -41093,51 +42549,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "mapa vetorial <%s> n�o encontrado"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "N�o consegui abrir mapa raster [%s]."
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "N�o conseguir abrir banco de dados %s com driver %s"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Converte vetores OGR para GRASS. Drivers dispon�veis:\n"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
+#: ../vector/v.in.lidar/main.c:135
 #, fuzzy
-msgid "Subregion"
-msgstr "Regi�o\n"
+msgid "Layer number to store number of returns as category"
+msgstr "Camada n�mero"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Camada para"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Nome do mapa de pontos de sa�da"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Nome do arquivo vetor de entrada"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "valores inteiros s�o importados"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Correla��o"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "valores inteiros s�o importados"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Escrevendo [%s]..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Vetor de entrada com pontos de treinamento"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Coordenadas do ponto de origem"
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "N�o criar tabela de atributo."
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "N�o conseguir abrir banco de dados %s com driver %s"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Camada n�mero"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
+msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %lu points..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu points imported (limit was %llu)"
 msgstr "%d pontos carregados\n"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d pontos carregados\n"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were skipped by count-based decimation"
 msgstr "%d pontos al�m do limite"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d pontos carregados\n"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d pontos carregados\n"
+
+#: ../vector/v.in.lidar/main.c:783
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were not valid"
 msgstr "%d pontos al�m do limite"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:785
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were outside of the selected area"
 msgstr "%d pontos al�m do limite"
 
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:793
+#, fuzzy, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d pontos al�m do limite"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Coordenadas para pesquisa"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, fuzzy, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -41309,7 +42951,7 @@ msgid ""
 msgstr "Mapa de sa�da no qual os erros ser�o gravados"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -42407,11 +44049,6 @@ msgstr "N
 msgid "Resolving conflicts..."
 msgstr "Removendo centr�ides duplicados ..."
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Escrevendo [%s]..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -42591,57 +44228,57 @@ msgstr "N
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, fuzzy, c-format
 msgid "Generalization (%s)..."
 msgstr "Escrevendo [%s]..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Resolu��o"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Camada %d"
@@ -42690,74 +44327,6 @@ msgstr "Camada %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "N�mero de quadros"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Nome do mapa raster de entrada existente contendo isolinhas"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Nome do mapa raster de entrada existente contendo isolinhas"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o difusa [W.m-2] (modo 1) ou arquivo raster de "
-#~ "irradia��o [Wh.m�.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o refletida [W.m-2] (modo 1) ou arquivo raster de "
-#~ "irradia��o [Wh.m�.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o global (total) do feixe [W.m-2] (modo 1) ou arquivo "
-#~ "raster de irradia��o [Wh.m-2.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nome do raster de entrada"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nome do arquivo raster de eleva��o para entrada (metros)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o refletida [W.m-2] (modo 1) ou arquivo raster de "
-#~ "irradia��o [Wh.m�.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Sa�da de irradia��o global (total) do feixe [W.m-2] (modo 1) ou arquivo "
-#~ "raster de irradia��o [Wh.m-2.dia-1] (modo 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "N�mero de pontos de interpola��o"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Loca��o: %s\n"
 
@@ -42775,24 +44344,28 @@ msgstr "Camada %d"
 #~ "%d classes, %.2f%% pontos est�veis\n"
 
 #, fuzzy
+#~ msgid "Subregion"
+#~ msgstr "Regi�o\n"
+
+#, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Alinhamento do texto"
 
 #, fuzzy
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "regi�o <%s> n�o encontrada"
+#~ msgid "Could not rewind input file"
+#~ msgstr "N�o consegui abrir arquivo vetorial <%s>"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Sa�da de mapa"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Nome do mapa raster"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Mapa de �ndice topogr�fico [ln(a/tanB)]"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "em"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Nome do mapa raster"
+#~ msgid "output map <%s> exists"
+#~ msgstr "Sa�da de mapa"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Tamanho da p�gina (padr�o %d linhas)"
@@ -42800,6 +44373,9 @@ msgstr "Camada %d"
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Largura da p�gina (padr�o: %d caracteres)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.in.gdal to override this check and use the "
@@ -42825,6 +44401,14 @@ msgstr "Camada %d"
 #~ msgstr "[%s] n�o encontrado."
 
 #, fuzzy
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "regi�o <%s> n�o encontrada"
+
+#, fuzzy
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "Sobrescrever proje��o (usar proje��o da loca��o)"
+
+#, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -42842,6 +44426,28 @@ msgstr "Camada %d"
 #~ "Voc� pode usar a op��o -o para %s para ignorar esta verifica��o.\n"
 
 #, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
+#, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "N�o consegui criar a tabela %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "todos em atual para atual"
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "Separador de campo"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Nome do mapa raster que conter� os resultados"
 
@@ -42876,166 +44482,52 @@ msgstr "Camada %d"
 #~ msgstr "Salva quadro atual"
 
 #, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "Separador de campo"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "em"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "todos em atual para atual"
+#~ msgid "OGR datasource name"
+#~ msgstr "banco de dados"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Mapa(s) de entrada n�o especificado(s)."
 
 #, fuzzy
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Criando %i mapas raster\n"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "N�o consegui ler arquivo REF para o subgrupo [%s] no grupo [%s]."
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d categorias carregadas da tabela"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "N�o consegui criar arquivo <%s>"
 
 #, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+#~ msgid "Env file not found"
+#~ msgstr "Arquivo de c�lulas n�o encontrado\n"
 
 #, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Especifique a coluna z."
+#~ msgid "PID file not found"
+#~ msgstr "Arquivo de c�lulas n�o encontrado\n"
 
 #, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
+#~ msgid "Command file not found"
+#~ msgstr "Arquivo de c�lulas n�o encontrado\n"
 
 #, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Valor ilegal para fator de escala"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Especifique a coluna z."
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "Um de!"
-
-#, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr "Um de!"
-
-#, fuzzy
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr ""
-#~ "Cor do texto, tanto uma cor padr�o do GRASS como uma triplete R:G:B "
-#~ "(separada por dois pontos)"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "Criando %i mapas raster\n"
 
 #, fuzzy
-#~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr "Exibir dados vetoriais do GRASS no quadro ativo do monitor gr�fico"
+#~ msgid "Name for output image"
+#~ msgstr "Nome do arquivo de sa�da"
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Cor para desenhar texto"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "N�o consegui ler arquivo REF para o subgrupo [%s] no grupo [%s]."
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Cor para desenhar malhas, ou \"none\""
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d categorias carregadas da tabela"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
 #~ msgstr "Nome do Raster de sa�da"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "erro de discretiza��o em unidades de mapa"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "Tamb�m calcular m�xima dist�ncia de avistamento"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -43161,16 +44653,40 @@ msgstr "Camada %d"
 #~ msgstr "Uso colchetes em"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr "Nome do Raster de sa�da"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "Tamb�m calcular m�xima dist�ncia de avistamento"
+#~ msgid "Default: input"
+#~ msgstr "erro de discretiza��o em unidades de mapa"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Exibir"
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr "Exibir dados vetoriais do GRASS no quadro ativo do monitor gr�fico"
+
+#, fuzzy
+#~ msgid "Text color or \"none\""
+#~ msgstr "Cor do Texto"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Cor para desenhar texto"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "Cor para desenhar malhas, ou \"none\""
+
+#, fuzzy
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr ""
+#~ "Cor do texto, tanto uma cor padr�o do GRASS como uma triplete R:G:B "
+#~ "(separada por dois pontos)"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "Mapa vetorial n�o � 3D"
 
 #, fuzzy
 #~ msgid ""
@@ -43179,25 +44695,55 @@ msgstr "Camada %d"
 #~ "Permite a cria��o e/ou modifica��o dos arquivos de suporte dos mapas "
 #~ "raster"
 
+#~ msgid "Failed opening input dig file."
+#~ msgstr "Falha abrindo arquivo dig de entrada."
+
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "Arquivo dig_att n�o existe."
+
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "Falha abrindo arquivo dig_att."
+
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "N�o consegui criar arquivo raster [%s]."
+#~ msgid "Attaching categories..."
+#~ msgstr "Anexando categorias...\n"
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "N�o consegui criar arquivo [%s]"
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "Falha ao atribuir um atributo (categoria %d) a uma linha."
 
 #, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "Mem�ria insuficiente para az"
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "ATENCION: linea %d etiqueta: %d corresponde a otra etiqueta: %d."
 
 #, fuzzy
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "ERRO_DO_SISTEMA: OLD_T_NEW recebeu um c�digo de tipo ruim %x"
+#~ msgid "Writing new file..."
+#~ msgstr "Escrevendo novo arquivo...\n"
 
 #, fuzzy
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "ERRO_DO_SISTEMA: NEW_T_OLD recebeu um c�digo de tipo ruim %x"
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "%-5d pontos e linhas escrito na sa�da.\n"
+
+#, fuzzy
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "%-5d centroides escritos en el archivo de salida.\n"
+
+#, fuzzy
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "N�o consegui obter informa��es de camada para o mapa vetorial"
+
+#, fuzzy
+#~ msgid "Endian of input vector map"
+#~ msgstr "Nome do mapa vetorial (2d) de entrada"
+
+#, fuzzy
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr ""
+#~ "R�tulos de categorias (dig_cats) n�o encontrados, tabela n�o foi criada.\n"
+
+#, fuzzy
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "N�o consegui abrir arquivo dig_att ,%s>\n"
 
 #, fuzzy
 #~ msgid "Reading dig file..."
@@ -43307,134 +44853,136 @@ msgstr "Camada %d"
 #~ msgstr "%-5d categorias lidas para a mem�ria\n"
 
 #, fuzzy
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr ""
-#~ "R�tulos de categorias (dig_cats) n�o encontrados, tabela n�o foi criada.\n"
-
-#, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "N�o consegui abrir arquivo dig_att ,%s>\n"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Falha abrindo arquivo dig de entrada."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "Arquivo dig_att n�o existe."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Falha abrindo arquivo dig_att."
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "ERRO_DO_SISTEMA: OLD_T_NEW recebeu um c�digo de tipo ruim %x"
 
 #, fuzzy
-#~ msgid "Attaching categories..."
-#~ msgstr "Anexando categorias...\n"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "ERRO_DO_SISTEMA: NEW_T_OLD recebeu um c�digo de tipo ruim %x"
 
 #, fuzzy
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "Falha ao atribuir um atributo (categoria %d) a uma linha."
+#~ msgid "One or more coordinates"
+#~ msgstr "Fator de escala (\"scaling\") para coordenada x"
 
 #, fuzzy
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "ATENCION: linea %d etiqueta: %d corresponde a otra etiqueta: %d."
+#~ msgid "Name of elevation map"
+#~ msgstr "Nome do mapa raster de eleva��o"
 
-#, fuzzy
-#~ msgid "Writing new file..."
-#~ msgstr "Escrevendo novo arquivo...\n"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Texto para representar c�lula sem dados"
 
 #, fuzzy
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "%-5d pontos e linhas escrito na sa�da.\n"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "Um de!"
 
-#, fuzzy
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "%-5d centroides escritos en el archivo de salida.\n"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "M�trica desconhecida: [%s]."
 
 #, fuzzy
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "N�o consegui obter informa��es de camada para o mapa vetorial"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Erro na leitura do arquivo de categorias para <%s>."
 
 #, fuzzy
-#~ msgid "Endian of input vector map"
-#~ msgstr "Nome do mapa vetorial (2d) de entrada"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "Tipo de mapa raster desconhecido"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "Erro na leitura do arquivo 'colr' para <%s>."
 
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Tamanho do cache (MiB)"
+#~ msgid "String representing no data cell value"
+#~ msgstr "Texto representando c�lulas sem valores de dados"
 
-#, fuzzy
-#~ msgid "Can't call bad function"
-#~ msgstr "local do banco de dados"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Utilit�rio de interpola��o de superf�cies para mapas raster."
 
 #, fuzzy
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Erro lendo intervalo para [%s]"
+#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
+#~ msgstr "T�tulo do raster de sa�da"
 
 #, fuzzy
-#~ msgid "One or more coordinates"
-#~ msgstr "Fator de escala (\"scaling\") para coordenada x"
+#~ msgid ""
+#~ "Computes anisotropic cumulative cost of moving between different "
+#~ "geographic locations on an input elevation raster map whose cell category "
+#~ "values represent elevation combined with an input raster map layer whose "
+#~ "cell values represent friction cost."
+#~ msgstr ""
+#~ "Gera uma camada raster mostrando o custo cumulativo anisotropic de "
+#~ "movimento entre diferentes localiza��es sobre um mapa raster de entrada "
+#~ "cujos valores de c�lula representam o custo."
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Mem�ria insuficiente para adx"
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "Nome da camada a usar para INTENSIDADE"
 
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Mem�ria insuficiente para ady"
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "Nome da camada a usar para SATURA��O"
 
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Mem�ria insuficiente para adxx"
+#~ msgid "Name of output layer to be used for GREEN"
+#~ msgstr "Nome da camada de sa�da a usar para VERDE"
 
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Mem�ria insuficiente para adyy"
+#~ msgid "Name of output layer to be used for BLUE"
+#~ msgstr "Nome da camada de sa�da a usar para AZUL"
 
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Mem�ria insuficiente para adxy"
+#~ msgid "Surface generation program."
+#~ msgstr "Programa para gera��o de superf�cies."
 
 #, fuzzy
-#~ msgid "Cannot create quaddata"
-#~ msgstr "N�o consegui criar quaddata"
+#~ msgid ""
+#~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
+#~ msgstr ""
+#~ "Bancos de dados lat/long n�o s�o suportados por r.flow. Use 'r.watershed' "
+#~ "para calcular fluxo."
 
-#, fuzzy
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "N�o consegui criar quadfunc"
+#~ msgid "%s=%s - illegal number of interpolation points"
+#~ msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
 
-#~ msgid "Cannot create tree"
-#~ msgstr "N�o consegui criar �rvore"
+#~ msgid "%s: no data points found"
+#~ msgstr "%s: nenhum ponto de dados encontrado"
 
 #, fuzzy
-#~ msgid "Cannot create tree info"
-#~ msgstr "N�o consegui criar info da �rvore"
+#~ msgid "Interpolating raster map <%s>... %d row... "
+#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
+#~ msgstr[0] "Interpolando mapa raster <%s> ... %d linhas ..."
+#~ msgstr[1] "Interpolando mapa raster <%s> ... %d linhas ..."
 
 #, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Converte arquivo de pontos ou ASCII do GRASS para um vetor bin�rio."
+#~ msgid "Output z-file (elevation) map"
+#~ msgstr "Gerar arquivo de eleva��o"
 
 #, fuzzy
-#~ msgid "Site file <%s> not found"
-#~ msgstr "Arquivo 3dview  <%s> n�o encontrado"
+#~ msgid "Output aspect map (or fy)"
+#~ msgstr "Gera arquivo com a dire��o da encosta"
 
 #, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "para site"
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "n�o."
 
 #, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "N�o consegui alocar mem�ria para 'string'"
+#~ msgid "Prefix for output raster map(s)"
+#~ msgstr "Nome do mapa raster de sa�da"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr ""
-#~ "\n"
-#~ "Transformando os vetores ...\n"
+#~ msgid "String to represent no data cell"
+#~ msgstr "Texto para representar c�lula sem dados"
+
+#~ msgid "Character to represent no data cell"
+#~ msgstr "Caractere para representa c�lula sem dados"
+
+#~ msgid "Binary raster file to be imported"
+#~ msgstr "Arquivo raster bin�rio para importar"
+
+#~ msgid "Name of spread path raster map"
+#~ msgstr "Nome do mapa de caminho do espalhamento"
+
+#~ msgid "Run verbosely"
+#~ msgstr "Executar verbosamente"
 
 #, fuzzy
-#~ msgid "%d sites written."
-#~ msgstr "%d pontos escritos no vetor"
+#~ msgid "%s available in mapset <%s>:"
+#~ msgstr "Lista formatos dispon�veis e finaliza"
 
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Nome da camada a usar para INTENSIDADE"
+#~ msgid "Null value indicator"
+#~ msgstr "Indicador de valor nulo"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Nome da camada a usar para SATURA��O"
+#, fuzzy
+#~ msgid "Suppress warnings"
+#~ msgstr "Suprimir p�ginas de cabe�alho"
 
 #, fuzzy
 #~ msgid ""
@@ -43455,54 +45003,62 @@ msgstr "Camada %d"
 #~ msgstr "Arquivos raster ASCII para importar"
 
 #, fuzzy
-#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
-#~ msgstr "T�tulo do raster de sa�da"
+#~ msgid "Name of input raster map(s)"
+#~ msgstr "Nome do mapa raster de entrada"
 
 #, fuzzy
-#~ msgid ""
-#~ "Computes anisotropic cumulative cost of moving between different "
-#~ "geographic locations on an input elevation raster map whose cell category "
-#~ "values represent elevation combined with an input raster map layer whose "
-#~ "cell values represent friction cost."
-#~ msgstr ""
-#~ "Gera uma camada raster mostrando o custo cumulativo anisotropic de "
-#~ "movimento entre diferentes localiza��es sobre um mapa raster de entrada "
-#~ "cujos valores de c�lula representam o custo."
-
-#~ msgid "Name of output layer to be used for GREEN"
-#~ msgstr "Nome da camada de sa�da a usar para VERDE"
+#~ msgid "The output type of the space time dataset"
+#~ msgstr "Nome do novo arquivo raster."
 
-#~ msgid "Name of output layer to be used for BLUE"
-#~ msgstr "Nome da camada de sa�da a usar para AZUL"
+#, fuzzy
+#~ msgid "Type of the aggregation space time dataset, default is strds"
+#~ msgstr "Nome do novo arquivo raster."
 
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Utilit�rio de interpola��o de superf�cies para mapas raster."
+#, fuzzy
+#~ msgid "Greater value option that sets the >= area size limit [hectares]"
+#~ msgstr "�rea"
 
-#~ msgid "Surface generation program."
-#~ msgstr "Programa para gera��o de superf�cies."
+#, fuzzy
+#~ msgid "Prefix for output raster maps (default: input)"
+#~ msgstr "T�tulo do raster de sa�da"
 
 #, fuzzy
 #~ msgid ""
-#~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
 #~ msgstr ""
-#~ "Bancos de dados lat/long n�o s�o suportados por r.flow. Use 'r.watershed' "
-#~ "para calcular fluxo."
+#~ "Calcula estat�sticas univariada das c�lulas n�o nulas de um mapa raster."
 
-#~ msgid "%s=%s - illegal number of interpolation points"
-#~ msgstr "%s=%s - n�mero de pontos de interpola��o ilegal"
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Cor para desenhar malhas, ou \"none\""
 
-#~ msgid "%s: no data points found"
-#~ msgstr "%s: nenhum ponto de dados encontrado"
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Cor para desenhar malhas, ou \"none\""
 
 #, fuzzy
-#~ msgid "Interpolating raster map <%s>... %d row... "
-#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
-#~ msgstr[0] "Interpolando mapa raster <%s> ... %d linhas ..."
-#~ msgstr[1] "Interpolando mapa raster <%s> ... %d linhas ..."
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Cor para exibir informa��es desconhecidas"
 
 #, fuzzy
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "n�o."
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "Cor para desenhar malhas, ou \"none\""
+
+#, fuzzy
+#~ msgid "Create grid as lines, instead of areas"
+#~ msgstr "de �rea"
+
+#, fuzzy
+#~ msgid "Invalid distance"
+#~ msgstr "Fonte inv�lida: %s"
+
+#~ msgid "Layer number"
+#~ msgstr "Camada n�mero"
 
 #, fuzzy
 #~ msgid "allocation"
@@ -43513,100 +45069,100 @@ msgstr "Camada %d"
 #~ msgstr "Exibir"
 
 #, fuzzy
-#~ msgid "Name of elevation map"
-#~ msgstr "Nome do mapa raster de eleva��o"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Texto para representar c�lula sem dados"
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr "Um de!"
+#~ msgid "Please specify input= or file="
+#~ msgstr "Especifique a coluna z."
 
 #, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "Um de!"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "M�trica desconhecida: [%s]."
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Erro na leitura do arquivo de categorias para <%s>."
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Erro na leitura do arquivo 'colr' para <%s>."
+#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#~ msgid "String representing no data cell value"
-#~ msgstr "Texto representando c�lulas sem valores de dados"
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "Valor ilegal para fator de escala"
 
 #, fuzzy
-#~ msgid "Output z-file (elevation) map"
-#~ msgstr "Gerar arquivo de eleva��o"
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Output aspect map (or fy)"
-#~ msgstr "Gera arquivo com a dire��o da encosta"
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
 
 #, fuzzy
-#~ msgid "Prefix for output raster map(s)"
-#~ msgstr "Nome do mapa raster de sa�da"
+#~ msgid "-p and output= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "String to represent no data cell"
-#~ msgstr "Texto para representar c�lula sem dados"
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#~ msgid "Character to represent no data cell"
-#~ msgstr "Caractere para representa c�lula sem dados"
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
-#~ msgid "Binary raster file to be imported"
-#~ msgstr "Arquivo raster bin�rio para importar"
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Especifique a coluna z."
 
-#~ msgid "Name of spread path raster map"
-#~ msgstr "Nome do mapa de caminho do espalhamento"
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Especifique a coluna z."
 
-#~ msgid "Run verbosely"
-#~ msgstr "Executar verbosamente"
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "%s available in mapset <%s>:"
-#~ msgstr "Lista formatos dispon�veis e finaliza"
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Especifique a coluna z."
 
-#~ msgid "Null value indicator"
-#~ msgstr "Indicador de valor nulo"
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Especifique a coluna z."
 
 #, fuzzy
-#~ msgid "Suppress warnings"
-#~ msgstr "Suprimir p�ginas de cabe�alho"
+#~ msgid "Display the "
+#~ msgstr "Exibir"
 
 #, fuzzy
-#~ msgid "High resolution panchromatic image"
-#~ msgstr "transformar para"
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Pelo menos o texto ou '-c' devem ser fornecidos."
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Correla��o"
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Name of input raster map(s)"
-#~ msgstr "Nome do mapa raster de entrada"
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "The output type of the space time dataset"
-#~ msgstr "Nome do novo arquivo raster."
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Type of the aggregation space time dataset, default is strds"
-#~ msgstr "Nome do novo arquivo raster."
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
 
 #, fuzzy
-#~ msgid "Greater value option that sets the >= area size limit [hectares]"
-#~ msgstr "�rea"
+#~ msgid "High resolution panchromatic image"
+#~ msgstr "transformar para"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (default: input)"
-#~ msgstr "T�tulo do raster de sa�da"
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Correla��o"
 
 #, fuzzy
 #~ msgid "Name of elevation raster map"
@@ -43621,26 +45177,102 @@ msgstr "Camada %d"
 #~ msgstr "Sem mapa de sa�da"
 
 #, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr ""
-#~ "Calcula estat�sticas univariada das c�lulas n�o nulas de um mapa raster."
-
-#, fuzzy
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "Cor para desenhar malhas, ou \"none\""
 
 #~ msgid "Gather the histogram quietly"
 #~ msgstr "Computar o histograma em sil�ncia"
 
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Mem�ria insuficiente para adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Mem�ria insuficiente para ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Mem�ria insuficiente para adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Mem�ria insuficiente para adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Mem�ria insuficiente para adxy"
+
 #, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "de �rea"
+#~ msgid "Cannot create quaddata"
+#~ msgstr "N�o consegui criar quaddata"
 
 #, fuzzy
-#~ msgid "Invalid distance"
-#~ msgstr "Fonte inv�lida: %s"
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "N�o consegui criar quadfunc"
 
-#~ msgid "Layer number"
-#~ msgstr "Camada n�mero"
+#~ msgid "Cannot create tree"
+#~ msgstr "N�o consegui criar �rvore"
+
+#, fuzzy
+#~ msgid "Cannot create tree info"
+#~ msgstr "N�o consegui criar info da �rvore"
+
+#, fuzzy
+#~ msgid "Unable To create table: %s"
+#~ msgstr "N�o consegui criar arquivo [%s]"
+
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "Mem�ria insuficiente para az"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "Op��es -B e -C s�o mutuamente exclusivas. Escolha apenas uma."
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "Um de!"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr "Um de!"
+
+#, fuzzy
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "Converte arquivo de pontos ou ASCII do GRASS para um vetor bin�rio."
+
+#, fuzzy
+#~ msgid "Site file <%s> not found"
+#~ msgstr "Arquivo 3dview  <%s> n�o encontrado"
+
+#, fuzzy
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "para site"
+
+#, fuzzy
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "N�o consegui alocar mem�ria para 'string'"
+
+#, fuzzy
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr ""
+#~ "\n"
+#~ "Transformando os vetores ...\n"
+
+#, fuzzy
+#~ msgid "%d sites written."
+#~ msgstr "%d pontos escritos no vetor"
+
+#, fuzzy
+#~ msgid "Performing map %s + %s"
+#~ msgstr "Erro lendo intervalo para [%s]"
+
+#, fuzzy
+#~ msgid "Can't call bad function"
+#~ msgstr "local do banco de dados"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "N�o consegui criar arquivo raster [%s]."
+
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Tamanho do cache (MiB)"
+
+#~ msgid "Unknown raster map type"
+#~ msgstr "Tipo de mapa raster desconhecido"
diff --git a/locale/po/grassmods_ro.po b/locale/po/grassmods_ro.po
index 132428c..ae8c768 100644
--- a/locale/po/grassmods_ro.po
+++ b/locale/po/grassmods_ro.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_ro\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2013-07-17 22:14+0200\n"
 "Last-Translator: Andreea Marin <andreea.marin09 yahoo.com>\n"
 "Language-Team: GRASS Translation Team <grass-translations at lists.osgeo.org>\n"
@@ -20,10 +20,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -41,6 +41,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -67,12 +68,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -118,7 +120,7 @@ msgstr "Respectă valorile NULE în timpul desenării"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -126,14 +128,16 @@ msgid "Color file for <%s> not available"
 msgstr "Fișierul de culoare pentru <%s> nu este disponibil"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -152,7 +156,9 @@ msgstr "Fișierul de culoare pentru <%s> nu este disponibil"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -173,7 +179,7 @@ msgstr "Fișierul de culoare pentru <%s> nu este disponibil"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -185,7 +191,7 @@ msgstr "Fișierul de culoare pentru <%s> nu este disponibil"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -209,17 +215,17 @@ msgstr "Fișierul de culoare pentru <%s> nu este disponibil"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -230,7 +236,7 @@ msgstr "Fișierul de culoare pentru <%s> nu este disponibil"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -374,10 +380,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr ""
 
@@ -422,21 +431,23 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr ""
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 msgid "Font settings"
 msgstr ""
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr ""
 
@@ -449,11 +460,13 @@ msgstr ""
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr ""
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -544,14 +557,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -593,11 +612,11 @@ msgstr ""
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -674,23 +693,26 @@ msgstr ""
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -700,14 +722,19 @@ msgstr ""
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -755,47 +782,48 @@ msgstr ""
 msgid "[%s]: No such color"
 msgstr "[%s]: Nici o astfel de culoare"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 msgid "Displays information about the active display monitor."
 msgstr ""
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr ""
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -803,31 +831,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Conexiunea bazei de date nu este definită pentru stratul %d"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -837,10 +866,10 @@ msgstr "Conexiunea bazei de date nu este definită pentru stratul %d"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -854,7 +883,7 @@ msgstr "Conexiunea bazei de date nu este definită pentru stratul %d"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Imposibil de deschis baza de date <%s> cu driver-ul <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -876,7 +905,7 @@ msgstr ""
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr ""
 
@@ -916,7 +945,11 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+msgid "Create 3D charts"
+msgstr ""
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -924,20 +957,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -952,40 +987,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Imposibil de deschis harta vectorială <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 msgid "distance"
 msgstr ""
@@ -1009,10 +1044,6 @@ msgstr ""
 msgid "Line color"
 msgstr "Culoarea liniei"
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr ""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1070,12 +1101,15 @@ msgstr ""
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1094,17 +1128,18 @@ msgstr ""
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1117,10 +1152,10 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1128,21 +1163,22 @@ msgstr ""
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "vector"
 
@@ -1187,16 +1223,18 @@ msgstr "Harta vectorială <%s> nu a fost găsită"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1208,22 +1246,22 @@ msgstr "Harta vectorială <%s> nu a fost găsită"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1272,10 +1310,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1326,37 +1364,37 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 msgid "map annotations"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Culoarea gridului"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 msgid "Align grids with raster cells"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1365,7 +1403,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1373,7 +1411,7 @@ msgstr[0] "Culoarea gridului"
 msgstr[1] "Culoarea gridului"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1381,69 +1419,69 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 msgid "Color for drawing drawing grid"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 msgid "Color for drawing null values (X symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr ""
 
@@ -1561,24 +1599,24 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 msgid "network"
 msgstr ""
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1587,50 +1625,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr ""
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr ""
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1652,11 +1690,11 @@ msgstr ""
 msgid "Background color"
 msgstr "Culoarea de fundal"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1676,7 +1714,7 @@ msgstr ""
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1700,7 +1738,7 @@ msgstr ""
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1708,7 +1746,7 @@ msgstr ""
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2054,7 +2092,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2071,15 +2109,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr ""
@@ -2318,12 +2356,13 @@ msgstr ""
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2387,15 +2426,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 
@@ -2417,11 +2456,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr ""
 
@@ -2605,7 +2645,7 @@ msgstr ""
 msgid "Colorize features according color definition column"
 msgstr ""
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 msgid "Color definition in R:G:B form"
 msgstr ""
 
@@ -2881,41 +2921,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Harta raster <%s> există deja și va fi suprascrisă"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Imposibil de actualizat regiunea curentă"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
-msgstr "Ieșire:"
+msgstr "Ieșiri"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, c-format
 msgid "Monitor <%s> already running"
 msgstr ""
 
-#: ../display/d.mon/start.c:132
-#, c-format
-msgid "Unable to create file '%s'"
-msgstr ""
+#: ../display/d.mon/start.c:126
+#, fuzzy, c-format
+msgid "Starting monitor <%s>..."
+msgstr "Scrierea hărții vectoriale <%s> ..."
+
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Imposibil de deschis tempfile"
 
-#: ../display/d.mon/start.c:163
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
 #, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+msgid "Unable to create file <%s>"
+msgstr "Imposibil de creat fișierul <%s>"
 
 #: ../display/d.mon/select.c:14
 #, c-format
@@ -2927,29 +2974,52 @@ msgstr ""
 msgid "Monitor <%s> is not running"
 msgstr ""
 
-#: ../display/d.mon/stop.c:37
-msgid "Env file not found"
-msgstr ""
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Imposibil de creat fișierul <%s>"
 
-#: ../display/d.mon/stop.c:55
-msgid "PID file not found"
-msgstr ""
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Imposibil de deschis harta vectorială <%s>"
+
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "Imposibil de deschis fișierul <%s>"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Imposibil de creat fișierul <%s>"
+
+#: ../display/d.mon/list.c:80
 msgid "List of running monitors:"
 msgstr ""
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-msgid "Command file not found"
-msgstr ""
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Imposibil de deschis fișierul <%s>"
 
-#: ../display/d.mon/list.c:88
-msgid "Unable to read command file"
-msgstr ""
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Citirea hărții raster <%s>..."
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -2960,8 +3030,8 @@ msgid "Name of monitor to start"
 msgstr ""
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -2983,9 +3053,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3063,12 +3134,12 @@ msgid "List running monitors and exit"
 msgstr ""
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3081,33 +3152,34 @@ msgstr ""
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr ""
 
@@ -3119,57 +3191,74 @@ msgstr ""
 msgid "Print commands for currently selected monitor and exit"
 msgstr ""
 
-#: ../display/d.mon/main.c:117
-msgid "Do not automatically select when starting"
+#: ../display/d.mon/main.c:118
+msgid "Print path to support files of currently selected monitor and exit"
 msgstr ""
 
 #: ../display/d.mon/main.c:122
-msgid "Release and stop currently selected monitor and exit"
+msgid "Do not automatically select when starting"
 msgstr ""
 
 #: ../display/d.mon/main.c:127
-msgid "Disable true colors"
+msgid "Release and stop currently selected monitor and exit"
 msgstr ""
 
 #: ../display/d.mon/main.c:132
+msgid "Disable true colors"
+msgstr ""
+
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Nume de fișier ilegal"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr ""
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr ""
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr ""
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, c-format
 msgid "Option <%s> ignored"
@@ -3219,7 +3308,7 @@ msgid "No map name given"
 msgstr ""
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr ""
@@ -3345,9 +3434,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr ""
@@ -3392,9 +3481,9 @@ msgstr "Conexiune"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Format"
 
@@ -3407,11 +3496,11 @@ msgstr ""
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr ""
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr ""
 
@@ -3419,7 +3508,7 @@ msgstr ""
 msgid "Describe query only (don't run it)"
 msgstr ""
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr ""
 
@@ -3452,7 +3541,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 msgid "database"
 msgstr ""
@@ -3483,7 +3572,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3494,7 +3583,7 @@ msgstr ""
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3616,8 +3705,8 @@ msgstr ""
 msgid "Unable to create index:"
 msgstr ""
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 msgid "Connection failed."
 msgstr ""
 
@@ -3684,7 +3773,7 @@ msgstr ""
 msgid "Unable to allocate handle."
 msgstr ""
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 msgid "Unable to set handle"
 msgstr ""
@@ -3716,7 +3805,7 @@ msgstr ""
 msgid "Unable to select view names."
 msgstr ""
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3755,11 +3844,11 @@ msgstr ""
 msgid "No path given"
 msgstr ""
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 msgid "Unable to connect to Postgres:"
 msgstr ""
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 msgid "Unable to select from Postgres:"
 msgstr ""
 
@@ -3800,27 +3889,27 @@ msgid "Taken not found"
 msgstr ""
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 msgid "Unable to set schema:"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 msgid "Unable to select data types"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, c-format
 msgid "Unable to create database <%s>"
 msgstr ""
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, c-format
 msgid "Unable to drop database <%s>"
 msgstr ""
@@ -3860,6 +3949,11 @@ msgid ""
 "(true)"
 msgstr ""
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Nu s-a putut obține rândul raster"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Opțiune necunoscută în definirea bazei de date pentru PostgreSQL: "
@@ -3937,7 +4031,8 @@ msgstr ""
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4010,20 +4105,20 @@ msgstr "Imposibil de creat arbore pentru harta raster <%s@%s>"
 msgid "Unable to open database:"
 msgstr ""
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 msgid "SQLite database connection is still busy"
 msgstr "Conexiunea bazei de date SQLite este încă ocupată"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, c-format
 msgid "Database <%s> already exists"
 msgstr ""
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 msgid "Unable to create database:"
 msgstr ""
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, c-format
 msgid "Database <%s> not found"
 msgstr ""
@@ -4038,6 +4133,10 @@ msgstr "SQLITE db ocupată, deja așteptarea este de %d secunde..."
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "Driver SQLite: coloana '%s', tip SQLite %d  nu este acceptat"
 
+#: ../db/drivers/sqlite/table.c:37
+msgid "Error in sqlite3_exec():"
+msgstr ""
+
 #: ../db/drivers/sqlite/execute.c:83
 msgid "Error in sqlite3_finalize():"
 msgstr ""
@@ -4264,10 +4363,10 @@ msgstr ""
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4286,24 +4385,38 @@ msgstr ""
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
-msgid "Username to set for DB connection"
+#: ../db/db.login/main.c:59
+#, fuzzy
+msgid "Username"
+msgstr "Nume utilizator"
+
+#: ../db/db.login/main.c:67
+#, fuzzy
+msgid "Password"
+msgstr "Parolă"
+
+#: ../db/db.login/main.c:75
+msgid "Hostname"
+msgstr ""
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
 msgstr ""
 
-#: ../db/db.login/main.c:66
-msgid "Password to set for DB connection"
+#: ../db/db.login/main.c:84
+msgid "Port"
 msgstr ""
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Printează parametrii conexiunii curente și ieși"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Nu s-a putut seta utilizator/parolă"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Parola a fost stocată în fișier"
@@ -4570,6 +4683,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4580,10 +4694,11 @@ msgstr ""
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 msgid "raster3d"
 msgstr ""
 
@@ -4654,19 +4769,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "Imposibil de deschis fișierul <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -4923,7 +5025,7 @@ msgstr ""
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5546,7 +5648,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5559,12 +5661,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -5664,7 +5767,17 @@ msgstr "%s=%s,%s: fișierele sunt la fel, nici o copiere nu este necesară"
 msgid "<%s> already exists"
 msgstr "<%s> există deja"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Imposibil de citit antetul hărții raster 3D <%s@%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "Imposibil de deschis harta vectorială <%s@%s>"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -5672,7 +5785,7 @@ msgstr "<%s> există deja"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
@@ -5680,139 +5793,112 @@ msgstr ""
 "Listează fișierele de bază disponibile GRASS specificate de utilizator "
 "folosind modulul de căutare."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr ""
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
 msgid "Pattern"
 msgstr "Model"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr ""
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 msgid "Name of mapset to list (default: current search path)"
 msgstr ""
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 #, fuzzy
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 "Crează opțional un mapset nou sau liste cu mapset-uri valabile în locația "
 "dată."
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr ""
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 msgid "'.' for current region; '*' for default region"
 msgstr ""
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr ""
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 msgid "If not given or '-' then standard output"
 msgstr ""
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr ""
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr ""
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:187
-#, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr ""
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Mapset-ul <%s> nu a fost găsit"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Imposibil de citit antetul hărții raster 3D <%s@%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "Imposibil de deschis harta vectorială <%s@%s>"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "Imposibil de actualizat parametrii proiecției lat/long"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr "Sunteți deja în Lat/Long. Utilizați parametrul -p."
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
@@ -5820,7 +5906,7 @@ msgstr ""
 "Sunteți într-o locație simplă XY, proiectarea în Lat/Lon nu este posibilă. "
 "Utilizați parametrul -p."
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -5828,7 +5914,7 @@ msgstr ""
 "Imposibil de proiectat datele în WGS84 atât timp cât locația nu conține "
 "parametrii de transformare a datumului. Încercați rularea g.setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr "Calcularea Lat/Long nu este posibilă în sistemul simplu XY"
 
@@ -6044,9 +6130,9 @@ msgstr "Regiunea <%s> nu a fost găsită"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "Harta raster 3D <%s> nu a fost găsită"
@@ -6071,7 +6157,7 @@ msgstr ""
 "Imposibil de modificat regiunea implicită. Mapsetul curent nu este "
 "<PERMANENT>."
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Intrare nevalidă <%s=%s>"
@@ -6336,38 +6422,38 @@ msgstr ""
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6499,7 +6585,7 @@ msgstr ""
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr ""
@@ -6931,7 +7017,7 @@ msgstr ""
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7117,38 +7203,59 @@ msgid "command line interface with GUI startup screen"
 msgstr ""
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Fișier raster binar pentru a fi importat"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7349,8 +7456,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7387,9 +7494,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Locația <%s> creată"
@@ -7537,10 +7644,12 @@ msgstr ""
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -7556,10 +7665,14 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -7591,10 +7704,12 @@ msgstr ""
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -7610,10 +7725,14 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -7711,8 +7830,8 @@ msgstr ""
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr ""
 
@@ -7751,7 +7870,7 @@ msgstr ""
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -7780,15 +7899,16 @@ msgstr ""
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 msgid "import"
 msgstr ""
 
@@ -7918,7 +8038,7 @@ msgstr ""
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr ""
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -7927,6 +8047,103 @@ msgstr ""
 msgid "inputs"
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+msgid "algebra"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Nume de ieșire pentru harta raster orientare "
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Nu s-a putut închide harta"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+msgid "Register Null maps"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -7956,7 +8173,7 @@ msgstr ""
 #: ../imagery/i.pca/main.c:85
 #, fuzzy
 msgid "Name for output basename raster map(s)"
-msgstr "Nume de ieșire pentru harta raster orientare "
+msgstr "Nume de ieșire pentru harta raster pantă "
 
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:9
 msgid "Satellite sensor"
@@ -7977,20 +8194,12 @@ msgid ""
 "datasets."
 msgstr "Nume de ieșire pentru harta raster orientare "
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-msgid "algebra"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -7999,11 +8208,13 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8011,52 +8222,12 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Nu s-a putut închide harta"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-msgid "Register Null maps"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8070,7 +8241,8 @@ msgstr ""
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 msgid "extract"
 msgstr ""
 
@@ -8285,7 +8457,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr ""
 
@@ -8391,6 +8563,44 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+msgid "Comma separated list of coordinates"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+msgid "Sort the maps by category"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+msgid "Number of r.what processes to run in parallel"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+msgid "Output header row"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 msgid ""
 "Samples the input space time dataset(s) with a sample space time dataset and "
@@ -8597,7 +8807,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -8825,6 +9035,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -8889,10 +9100,14 @@ msgid "Extend location extents based on new dataset"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 msgid "Override projection check (use current location's projection)"
 msgstr ""
 
@@ -8900,7 +9115,8 @@ msgstr ""
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 msgid "Assume that the dataset has same projection as the current location"
 msgstr ""
 
@@ -8917,21 +9133,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr ""
 
@@ -8952,21 +9168,21 @@ msgid "Name for output raster map"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Statistici"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr ""
@@ -9003,17 +9219,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9105,8 +9321,8 @@ msgid "Remove existing color table"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 msgid "Remove"
 msgstr "Elimină"
@@ -9148,17 +9364,18 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Fișier raster binar pentru a fi importat"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 msgid "Name for output vector map (default: input)"
 msgstr ""
 
@@ -9178,6 +9395,11 @@ msgstr ""
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9200,10 +9422,15 @@ msgstr ""
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 msgid "Output"
 msgstr "Rezultat"
 
@@ -9218,22 +9445,22 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 msgid "Encoding value for attribute data"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 msgid "Snapping threshold for boundaries (map units)"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9248,15 +9475,63 @@ msgid "-1 to list available datum transform parameters"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 msgid "List supported OGR formats and exit"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 msgid "List available OGR layers in data source and exit"
 msgstr ""
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr ""
+"Afectează accesul utilizatorului la datele existente în cadrul altor mapset-"
+"uri din locația curentă."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+msgid "Manages display frames on the user's graphics monitor."
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Crează mapset în cazul în care acesta nu există"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Printează parametrii conexiunii curente și ieși"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+msgid "Print names of all frames including 'at' position and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 msgid "Edits cell values in a raster map."
 msgstr ""
@@ -9400,7 +9675,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -9409,7 +9684,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -9418,7 +9693,7 @@ msgid "geometry"
 msgstr ""
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -9469,7 +9744,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -9492,15 +9771,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 msgid "Cache size for raster rows"
 msgstr ""
@@ -9554,12 +9833,12 @@ msgid "Optional"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr ""
 
@@ -9651,7 +9930,7 @@ msgstr ""
 "Generează o hartă raster cu areale continuu dezvoltate după o singură celulă."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -9664,7 +9943,7 @@ msgid "Radius of buffer in raster cells"
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Metric"
 
@@ -9695,13 +9974,13 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 msgid "univariate statistics"
 msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 msgid "zonal statistics"
 msgstr ""
@@ -9760,13 +10039,25 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 msgid ""
 "Prints attributes of vector maps registered in a space time vector dataset."
 msgstr ""
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 msgid "select"
 msgstr ""
 
@@ -9804,6 +10095,60 @@ msgstr ""
 msgid "Name of table to drop"
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "Produce harta vectorială a curbelor de nivel dintr-o hartă raster."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+msgid "contour"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Tipul trăsăturii (harta vectorială A)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Nu copiază tabelul"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr "Exportă tabela de atribute în formate diferite."
@@ -9824,6 +10169,20 @@ msgstr ""
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:8
 #, fuzzy
 msgid "Name for output table (default: input name)"
+msgstr "Nume pentru harta vectorială de intrare"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Nume de ieșire pentru harta raster orientare "
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
 msgstr "Nume de ieșire pentru harta raster orientare "
 
 #: ../locale/scriptstrings/t.create_to_translate.c:1
@@ -9952,6 +10311,58 @@ msgstr ""
 msgid "Lists registered maps of a space time vector dataset."
 msgstr ""
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Convertește hartă vectorială în hartă raster (rasterizare)."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Tipul de ieșire"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+msgid "Name of attribute column to store value"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+msgid "Write raster values as z coordinate"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+msgid "Do not build vector topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 msgid "Joins a database table to a vector map table."
 msgstr ""
@@ -9961,6 +10372,7 @@ msgid "Vector map to which to join other table"
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -9969,6 +10381,7 @@ msgid "Layer where to join"
 msgstr ""
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 msgid "column"
 msgstr ""
 
@@ -10042,7 +10455,6 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -10320,6 +10732,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -10576,12 +10992,6 @@ msgstr ""
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr ""
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -10592,20 +11002,29 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr ""
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 msgid "Name of attribute column to be updated with the query result"
 msgstr ""
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 msgid "Name of vector map to be queried"
 msgstr ""
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "Număr de coloane"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 msgid "Name of attribute column to be queried"
 msgstr ""
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr ""
 
@@ -10641,73 +11060,89 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
-msgid "Name of extension to install or remove"
+msgid "addons"
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:7
-msgid "Name of toolbox (set of extensions) when -t flag is given"
+msgid "download"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
+msgid "Name of extension to install or remove"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
-msgid "Prefix where to install extension (ignored when flag -s is given)"
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
+msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:11
-msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:12
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
+msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:14
+msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
+msgid "List available extensions in the official GRASS GIS Addons repository"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 msgid "Install"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr ""
 
@@ -10724,20 +11159,26 @@ msgid "Description of the space time dataset"
 msgstr ""
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Nume de ieșire pentru harta raster orientare "
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -10756,8 +11197,41 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+msgid "Keyword to be searched"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+msgid "Shell script format"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+msgid "JSON format"
 msgstr ""
 
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
@@ -10868,8 +11342,9 @@ msgid "multispectral"
 msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
-msgid "Name for output image"
-msgstr ""
+#, fuzzy
+msgid "Name for output image (or text file for -t)"
+msgstr "Numele stratului care va fi folosit pentru ROȘU"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 msgid "Graphics format for output file"
@@ -10883,6 +11358,10 @@ msgstr ""
 msgid "Use gnuplot for display"
 msgstr ""
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+msgid "output to text file"
+msgstr ""
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 msgid ""
 "Performs different aggregation algorithms from r.series on all or a subset "
@@ -10895,10 +11374,6 @@ msgstr ""
 msgid "series"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-msgid "Sort the maps by category"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 msgid ""
 "Do not assign the space time raster dataset start and end time to the output "
@@ -10994,6 +11469,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11006,11 +11482,15 @@ msgid "Sill value"
 msgstr ""
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Nume de ieșire pentru harta raster orientare "
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11090,10 +11570,6 @@ msgid ""
 "space time raster datasets."
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11111,7 +11587,7 @@ msgstr "Imposibil de deschis harta raster <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -11607,7 +12083,7 @@ msgid "radiance"
 msgstr "radianță"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 msgid "reflectance"
 msgstr "reflectanță"
@@ -11635,8 +12111,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Metadata"
 
@@ -11832,8 +12309,8 @@ msgstr "Imposibil de citit antetul hărții raster <%s@%s>"
 msgid "Calculating..."
 msgstr ""
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -13756,21 +14233,21 @@ msgstr ""
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr ""
@@ -13862,7 +14339,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -13989,7 +14466,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -14390,50 +14867,54 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 msgid "albedo"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 msgid "Computes broad band albedo from surface reflectance."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 msgid "At least two raster maps are required"
 msgstr ""
 
@@ -14599,7 +15080,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -14989,7 +15470,7 @@ msgstr ""
 msgid "My first vector module"
 msgstr ""
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr ""
 
@@ -15127,11 +15608,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -15811,11 +16293,11 @@ msgstr "Rânduri modificate"
 msgid "Cols changed"
 msgstr "Coloane modificate"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 msgid "patching"
 msgstr ""
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -15824,34 +16306,34 @@ msgstr ""
 "de la unul (sau mai multe) straturi pentru a umple arealele cu \"no data\" "
 "într-o altă hartă."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr ""
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr ""
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr ""
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr ""
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr ""
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "Citirea hărții raster <%s>..."
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -15871,7 +16353,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr ""
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr ""
@@ -16262,8 +16744,8 @@ msgstr ""
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr ""
@@ -16330,51 +16812,17 @@ msgstr ""
 msgid "Converts a raster map into a vector map."
 msgstr ""
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Tipul de ieșire"
-
-#: ../raster/r.to.vect/main.c:88
-msgid "Name of attribute column to store value"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Atribute"
 
-#: ../raster/r.to.vect/main.c:104
-msgid "Write raster values as z coordinate"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:105
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:111
-msgid "Do not build vector topology"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -16403,23 +16851,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr ""
@@ -16458,182 +16908,182 @@ msgstr "Imposibil de deschis tempfile"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Alocare de memorie și citirea hărții de intrare..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 msgid "Re-projects a raster map from given location to the current location."
 msgstr ""
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 msgid "Location containing input raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 msgid "Source"
 msgstr "Sursa"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 msgid "Mapset containing input raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 msgid "Default: name of current mapset"
 msgstr ""
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr ""
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr ""
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 msgid "Name for output raster map (default: same as 'input')"
 msgstr ""
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 msgid "Target"
 msgstr "Destinația"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 msgid "Resolution of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 msgid "List raster maps in input mapset and exit"
 msgstr ""
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 msgid "Print input map's bounds in the current projection and exit"
 msgstr ""
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr ""
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Verifică locația <%s> mapset <%s>"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr ""
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Harta raster <%s> din locația <%s> , mapset <%s> nu a fost găsită"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr ""
 "Imposibil de obținut informații despre proiecție pentru harta de intrare"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "Imposibil de obținut unitățile proiecției pentru harta de intrare"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr ""
 "Imposibil de obținut valorile cheie ale proiecției pentru harta de intrare"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "Imposibil de lucrat cu date neproiectate (locație xy)"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr ""
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Intrare:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Coloane: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Rânduri: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Nord: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Sud: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Vest: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Est: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "EV-rez: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "NS-rez: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Ieșire:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Proiectare..."
 
@@ -16678,7 +17128,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -16690,7 +17140,7 @@ msgstr ""
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -16704,7 +17154,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -16846,7 +17296,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
 
@@ -17216,21 +17666,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, c-format
+msgid "Using Linke constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Scrierea hărții raster <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Hartă nevalidă <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, c-format
+msgid "Using slope constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Scrierea hărții raster <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, c-format
+msgid "Using aspect constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Scrierea hărții raster <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -17586,7 +18076,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 msgid "cost allocation"
 msgstr ""
 
@@ -18365,7 +18855,7 @@ msgstr ""
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Generează harta raster a subbazinelor hidrografice."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -18542,44 +19032,45 @@ msgstr "Actualizează statistica hărții raster"
 msgid "Statistics for <%s> updated"
 msgstr ""
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr ""
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -18587,15 +19078,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
 
@@ -18658,8 +19149,8 @@ msgstr ""
 msgid "Link to raster map <%s> created."
 msgstr ""
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 msgid "Supported formats:"
 msgstr ""
@@ -18678,13 +19169,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 msgid "Region for the current mapset updated"
 msgstr ""
 
@@ -18709,20 +19200,20 @@ msgstr ""
 msgid "Band to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr ""
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 msgid "Extend region extents based on new dataset"
 msgstr ""
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -18734,13 +19225,21 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+msgid "List available bands including band type in dataset and exit"
+msgstr ""
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "%s=%s - trebuie să fie un număr pozitiv"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -18749,31 +19248,31 @@ msgstr "%s=%s - trebuie să fie un număr pozitiv"
 msgid "%s= and %s= are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr ""
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr ""
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, c-format
 msgid "Reading band %d of %d..."
 msgstr ""
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr ""
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, c-format
 msgid "Imagery group <%s> created"
 msgstr ""
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr ""
@@ -18949,14 +19448,15 @@ msgstr "Nume de ieșire pentru harta raster pantă "
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -19244,6 +19744,12 @@ msgstr "Parametrii  -b & -c se exclud reciproc. Alege doar unul dintre ei."
 msgid "Option %s= is ignored if -%c is set"
 msgstr ""
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -19315,8 +19821,8 @@ msgid "Importing band %d..."
 msgstr "Extragerea liniilor..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 msgid "random"
 msgstr ""
@@ -19425,7 +19931,7 @@ msgstr "'%s' trebuie sa fie > 0 pentru '%s'"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "[%s] nu poate fi găsit!"
@@ -20420,7 +20926,8 @@ msgstr "Parolă"
 msgid "Unable to write to temp file"
 msgstr "Imposibil de deschis tempfile"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Generarea punctelor..."
@@ -20463,7 +20970,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr ""
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -21043,23 +21550,23 @@ msgid "unable to open output file"
 msgstr ""
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -21067,8 +21574,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -21174,27 +21681,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -21206,19 +21713,27 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+msgid "Closing TCI and SPI maps"
+msgstr ""
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 msgid "Closing TCI map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+msgid "Closing SPI map"
+msgstr ""
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 msgid "Closing flow direction map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -21242,202 +21757,206 @@ msgstr ""
 msgid "Closing half basins map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 msgid "Inputs"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 msgid "Name of input depressions raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 msgid "Name of input raster map percent of disturbed land"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 msgid "Name of input raster map blocking overland surface flow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 msgid "Minimum size of exterior watershed basin"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 msgid "Maximum length of surface flow in map units"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 msgid "Name for output accumulation raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 msgid "Number of cells that drain through each cell"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Indexul topografic al hărții de ieșire"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+msgid "Stream power index a * tan(b)"
+msgstr ""
+
+#: ../raster/r.watershed/front/main.c:152
 msgid "Name for output drainage direction raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Nume de ieșire pentru harta raster orientare "
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 msgid "Name for output stream segments raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 msgid "Name for output half basins raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 msgid "Each half-basin is given a unique value"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 msgid "Name for output slope length raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 msgid "Name for output slope steepness raster map"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 msgid "Slope steepness (S) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 msgid "The basin threshold must be a positive number."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -21518,7 +22037,7 @@ msgstr ""
 #: ../raster/r.horizon/main.c:289 ../raster/r.horizon/main.c:305
 #, fuzzy
 msgid "Point mode"
-msgstr "Puncte"
+msgstr "%s: datele punctuale nu au fost găsite"
 
 #: ../raster/r.horizon/main.c:304 ../raster/r.profile/main.c:64
 msgid "Name of file for output (use output=- for stdout)"
@@ -21595,21 +22114,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "OOPS: rânduri schimbate din %d în %d"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "OOPS: coloane schimbate din %d în %d"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr ""
@@ -21791,7 +22310,7 @@ msgstr ""
 msgid "Converting <%s>..."
 msgstr "Convertire <%s>..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "Raster <%s>nepotrivire de tip"
@@ -21861,7 +22380,7 @@ msgid ""
 msgstr "Calculează statistici univariate din celule ne-nule ale hărții raster."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -21874,11 +22393,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Imposibil de deschis harta raster 3D <%s>"
@@ -21891,58 +22413,81 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "Calculează statistici univariate din celule ne-nule ale hărții raster."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "Parametrii  -b & -c se exclud reciproc. Alege doar unul dintre ei."
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "Calculează regresia lineară din două hărți raster: y = a + b*x."
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr ""
 "Generează un strat raster pentru distanța dintre trăsături în stratul de "
 "intrare."
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 msgid "Name for distance output raster map"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 msgid "Name for value output raster map"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 msgid "Output distances in meters instead of map units"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+msgid "Calculate distance to nearest NULL cell"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, c-format
 msgid "Unknown metric: '%s'"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -21953,126 +22498,131 @@ msgstr ""
 msgid "Reading raster map <%s>..."
 msgstr "Citirea hărții raster <%s>..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 msgid "Writing output raster maps..."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr ""
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 msgid "null data"
 msgstr ""
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Gestionează valorile nule pentru o hartă raster dată."
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 msgid "Name of raster map for which to edit null values"
 msgstr ""
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr ""
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr ""
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr "Verifică"
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr ""
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr ""
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr ""
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr ""
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr ""
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "Harta raster <%s> modificată."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr ""
@@ -22121,7 +22671,7 @@ msgstr "Tip necunoscut: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Imposibil de închis harta raster <%s@%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "Imposibil de închis harta raster de ieșire"
 
@@ -22240,20 +22790,24 @@ msgstr "Funcția Kernel "
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+msgid "List input and output maps"
+msgstr ""
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "Parametrii  -b & -c se exclud reciproc. Alege doar unul dintre ei."
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 msgid "parse error"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -22262,213 +22816,229 @@ msgstr ""
 msgid "Known functions:"
 msgstr "Funcție cunoscută:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 msgid "Name of raster file to be imported"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 msgid "Band(s) to select (default is all bands)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 msgid "Name of GCPs target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Numele fișierului care conține declarația SQL"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "vector, bază de date, tabel de atribute"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr ""
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Printează parametrii conexiunii curente și ieși"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "Printează tabelele și ieși"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Imposibil de deschis sursa de date <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "Harta raster <%s> există deja"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, c-format
 msgid "Unable to create new location <%s>"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Încarca data..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Imposibil de deschis tempfile"
+
+#: ../raster/r.in.gdal/main.c:663
 #, c-format
 msgid "Unable to get raster band number %d"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Scrierea hărții raster <%s> ..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Imposibil de deschis fișierul <%s>"
@@ -22699,7 +23269,7 @@ msgstr "Scrierea hărții vectoriale <%s> ..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -23028,29 +23598,34 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr ""
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 msgid "Distance must be >= 0.0"
 msgstr ""
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, c-format
 msgid "Generating raster map <%s>..."
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Corelație"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Generează aleator valorile celulelor cu dependență spațială."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Număr de puncte pentru a fi creat(e)"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -23469,33 +24044,33 @@ msgstr "Redimensionează seria de valori pentru un strat raster."
 msgid "Maximal number of iterations"
 msgstr "Număr maxim de iterații"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%s: Imposibil de găsit caseta de încadrare pentru linii"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "Caseta de încadrare:  s = %d, d = %d, s = %d, j = %d"
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Pixeli șterși %d  "
 msgstr[1] "Pixeli șterși %d  "
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "Subțiere finalizată cu succes."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 "Subțierea nu a fost finalizată, se consideră ca trebuie crescut parametrul "
@@ -24502,150 +25077,218 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'%s' trebuie sa fie > 0 pentru '%s'"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr ""
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Crează hartă raster dintr-un ansamblu de coordonate folosind statistici "
 "univariate."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 msgid "LAS input file"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+msgid "File containing names of LAS input files"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "%s: datele punctuale nu au fost găsite"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+msgid "Subtract raster values from the z coordinates"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+msgid "Transform"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Rezoluție grosieră"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 msgid "If not specified, all points are imported"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 msgid "Print LAS file info and exit"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
+#: ../raster/r.in.lidar/main.c:246
+msgid "Set computation region to match the new raster map"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
-msgid "Import intensity values rather than z values"
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, c-format
-msgid "Input file <%s> does not exist"
+#: ../raster/r.in.lidar/main.c:272
+msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
-#, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Unknown filter option <%s>"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
-msgstr ""
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "Mapset-ul <%s> nu a fost găsit"
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, c-format
+msgid "Input file <%s> does not exist"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
-msgid "Invalid zrange"
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
+#: ../raster/r.in.lidar/main.c:355
+msgid ""
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
+#: ../raster/r.in.lidar/main.c:393
+#, c-format
+msgid "Unknown filter option <%s>"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
+msgid "Invalid zrange"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "'%s' trebuie sa fie > 0 pentru '%s'"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr ""
 
+#: ../raster/r.in.lidar/main.c:659
+msgid "Writing to map ..."
+msgstr ""
+
 #: ../raster/r.in.lidar/main.c:710
-msgid "Could not rewind input file"
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:885
-msgid "Writing to map ..."
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
+msgstr "Harta raster <%s> nu a fost găsită în mapset-ul curent"
+
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
-#, c-format
-msgid "%lu points found in region."
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Imposbil de deschis fișierul <%s> pentru scriere"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
 msgstr ""
 
 #: ../raster/r.uslek/main.c:57
@@ -24865,12 +25508,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "Fișier antet  = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "Imposibil de creat fișierul <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -25645,6 +26282,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr ""
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -25697,6 +26341,11 @@ msgstr ""
 msgid "Writing to output raster map..."
 msgstr "Scrierea hărții raster..."
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr ""
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr "Crează harta reliefului umbrit dintr-o hartă a elevației (DEM)."
@@ -26044,27 +26693,27 @@ msgstr ""
 msgid "Delete the null file"
 msgstr ""
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr ""
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr ""
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr ""
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr ""
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr ""
 
@@ -26098,32 +26747,12 @@ msgstr ""
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr "Produce harta vectorială a curbelor de nivel dintr-o hartă raster."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr ""
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Nivelul apei"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr ""
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr ""
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr ""
-
 #: ../raster/r.contour/main.c:140
 #, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -26134,29 +26763,31 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr ""
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr ""
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr ""
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr ""
@@ -26950,10 +27581,6 @@ msgstr ""
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-msgid "Output header row"
-msgstr ""
-
 #: ../raster/r.what/main.c:146
 msgid "Show the category labels of the grid cell(s)"
 msgstr ""
@@ -27227,7 +27854,8 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr ""
 
@@ -27805,11 +28433,11 @@ msgstr ""
 msgid "3D Raster map <%s> not found"
 msgstr ""
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr ""
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, c-format
@@ -27984,6 +28612,36 @@ msgstr ""
 msgid "Update range"
 msgstr ""
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "radianță"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "Combină roșu, verde și albastru într-o singură hartă raster."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Nume de ieșire pentru harta raster pantă "
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+msgid "Failed to allocate memory for blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Scrierea unei hărți raster noi..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 msgid "Unable to close input raster maps"
 msgstr ""
@@ -28133,6 +28791,143 @@ msgstr ""
 msgid "Timestamp format is invalid"
 msgstr ""
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Nu s-a putut închide harta"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Harta vectorială <%s> nu a fost găsită"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Nume pentru harta vectorială de ieșire"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Nume pentru harta vectorială de intrare"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Numele pentru harta raster de ieșire nu este specificat"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "Înălțimea punctului de vizualizare (în unități de hartă)"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Număr de iterații"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "Driver-ul implicit nu este setat "
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+msgid "Integration"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:252
+msgid "Integration step in selected unit"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Baza de date implicită nu este setată"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Număr maxim de iterații"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Număr maxim de iterații"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Șterge tabela de atribute."
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Harta vectorială <%s> nu este 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Eroare în citirea datei"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Procesarea liniilor..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -28621,6 +29416,60 @@ msgstr ""
 msgid "Failed to find intersection segment"
 msgstr ""
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Imposibil de creat tabelul <%s>"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Imposibil de deschis harta vectorială <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "<%s> deja există în mapset <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Harta raster <%s> există deja și va fi suprascrisă"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Harta raster <%s> există deja și va fi suprascrisă"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Imposibil de deschis harta vectorială <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Imposibil de deschis baza de date <%s> cu driver-ul <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Imposibil de creat tabelul <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Imposibil de copiat tabela de atribute la harta vectorială <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Imposibil de creat tabelul <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, c-format
 msgid "Error reading file: '%s'"
@@ -28649,7 +29498,7 @@ msgstr ""
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -28661,8 +29510,8 @@ msgstr ""
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -28690,76 +29539,115 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "Găsește calea cea mai scurtă a unei rețele vectoriale."
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+msgid "Turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 msgid "Name of input file"
 msgstr ""
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr ""
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr ""
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 msgid "Snap points to network"
 msgstr ""
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+msgid "Turntable layer"
+msgstr ""
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr ""
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 msgid "network maintenance"
 msgstr ""
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "Efectuează întreținerea rețelei."
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr ""
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, c-format
 msgid "%d new points (nodes) written to output."
 msgstr ""
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr ""
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "Copierea atributelor..."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr ""
@@ -28779,8 +29667,9 @@ msgstr ""
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 msgid "points"
 msgstr ""
 
@@ -28812,9 +29701,9 @@ msgstr ""
 msgid "Name of column containing z coordinate"
 msgstr ""
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr "Ieșire 3D"
 
@@ -29002,13 +29891,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Harta vectorială <%s> există deja și va fi scrisă peste"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr ""
@@ -29190,25 +30079,25 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 msgid "Do not make caps at the ends of polylines"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 msgid "Transfer categories and attributes"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -29216,159 +30105,159 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 msgid "The tolerance must be > 0."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 msgid "Illegal scale value"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Imposibil de creat fișierul temporar"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Tip de coloană neacceptat"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 msgid "Buffering features..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 msgid "Cleaning buffers..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 msgid "Breaking polygons..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 msgid "Cleaning boundaries at nodes"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 msgid "Removing dangles..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 msgid "Removing bridges..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 msgid "Calculating centroids for all areas..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 msgid "Deleting boundaries..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 msgid "Calculating centroids for areas..."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr ""
@@ -29671,7 +30560,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:368
 #, fuzzy, c-format
 msgid "Mask raster map [%s] not found"
-msgstr "harta raster 3D <%s> nu a fost găsită"
+msgstr "Harta raster 3D <%s> nu a fost găsită"
 
 #: ../vector/v.vol.rst/user1.c:383
 #, fuzzy
@@ -29730,7 +30619,7 @@ msgstr ""
 msgid "Not enough disk space--cannot write files"
 msgstr "Nu este suficient spațiu pe disc -- nu s-a putut scrie fișierele"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -29777,11 +30666,12 @@ msgstr "Calculează podurile și punctele de articulație din rețea."
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -29792,27 +30682,27 @@ msgstr "Calculează podurile și punctele de articulație din rețea."
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
 msgid "Cost"
 msgstr ""
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr ""
 
@@ -29838,45 +30728,62 @@ msgstr "Tipul trăsăturii"
 msgid "Unable to build graph for vector map <%s>"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 #, fuzzy
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 "Alocarea subrețelelor pentru cei mai apropiați centrii (direcție dinspre "
 "centru)."
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+msgid "Layer with turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 msgid "Point is not connected to the network"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 msgid "Calculating costs from centers ..."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr ""
 
@@ -30190,78 +31097,78 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 msgid "Import failed"
 msgstr ""
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Generarea aleatorie a punctelor 2D/3D pe harta vectorială."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "Număr de puncte pentru a fi creat(e)"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Nume pentru harta vectorială de ieșire"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "Înălțimea z minimă (necesită parametrul z sau numele coloanei)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "Înălțimea z maximă (necesită parametrul -z sau numele coloanei)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 msgid "Name of column for z values"
 msgstr ""
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 msgid "Writes z values to column"
 msgstr ""
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 msgid "Type of column for z values"
 msgstr ""
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr ""
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 msgid "Generate n points for each individual area"
 msgstr ""
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "Numărul de puncte trebuie să fie > 0 (%d dat)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "Scrierea hărții vectoriale <%s> ..."
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr ""
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr "Tabelul trebuie să conțină doar două coloane"
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
@@ -30269,18 +31176,18 @@ msgstr ""
 "Ați creat un tip de coloană nesuportat. Acest modul suportă doar coloane de "
 "tip INTEGER și cu DUBLĂ PRECIZIE."
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr ""
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr ""
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "Generarea punctelor..."
 
@@ -30468,6 +31375,155 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+msgid "generalization"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Conexiune"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "%s: datele punctuale nu au fost găsite"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> număr nevalid de puncte"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Multiplicator pentru valorile Z"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Număr de iterații"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Număr de iterații"
+
+#: ../vector/v.decimate/main.c:232
+msgid "Use z in grid decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Hartă nevalidă <%s>"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 msgid "Changes type of vector features."
 msgstr ""
@@ -30532,7 +31588,7 @@ msgstr ""
 msgid "Force 2D output even if input is 3D "
 msgstr ""
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -30745,6 +31801,179 @@ msgstr ""
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "%s: datele punctuale nu au fost găsite"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "raster"
+
+#: ../vector/v.cluster/main.c:93
+msgid "clump"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Efectuează întreținerea rețelei."
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Număr de strat (scrie în)"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Distanța maximă sau -1 pentru nici o limită"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Număr de puncte pentru a fi creat(e)"
+
+#: ../vector/v.cluster/main.c:123
+msgid "Clustering method"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:127
+#, fuzzy
+msgid "Force 2D clustering"
+msgstr "Eliminare forțată"
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Număr de puncte pentru a fi creat(e)"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "'%s' trebuie sa fie > 0 pentru '%s'"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Încarca data..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+msgid "Not enough points in input, nothing to do"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Crează câteva fișiere temporare..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s=%s - trebuie să fie un număr pozitiv"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+msgid "Estimating maximum distance ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "%s: datele punctuale nu au fost găsite"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Deviația standard"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, c-format
+msgid "Estimated maximum distance: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Citirea hărții raster...."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, c-format
+msgid "No clusters found, adjust option %s"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Scrierea hărții..."
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Încarca data..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "%s: datele punctuale nu au fost găsite"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%s: datele punctuale nu au fost găsite"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%s: datele punctuale nu au fost găsite"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -30809,7 +32038,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -31067,14 +32296,8 @@ msgstr ""
 msgid "Loading data..."
 msgstr "Încarca data..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Harta vectorială <%s> nu este 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr ""
@@ -31129,17 +32352,17 @@ msgstr ""
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "Citirea arealelor..."
 
@@ -31292,76 +32515,76 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Opțiunr necunoscută '%s'"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 "Crearea de ciclu conectat la anumite noduri (Problema 'vânzătorului "
 "călător')."
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, c-format
 msgid "Number of cities: %d"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 msgid "Creating cost cache..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, c-format
 msgid "No point at node %d"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, c-format
 msgid "No category for point at node %d"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr ""
@@ -31523,6 +32746,21 @@ msgstr "Selectează tipul: linie sau areal"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "Intrumentul %s necesită opțiunea %s"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, c-format
+msgid "Unknown return filter value <%s>"
+msgstr ""
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Printează parametrii conexiunii curente și ieși"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 msgid "layer"
 msgstr ""
@@ -31637,7 +32875,7 @@ msgid "Processing features..."
 msgstr ""
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr ""
 
@@ -31703,7 +32941,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr ""
@@ -32067,7 +33305,7 @@ msgstr ""
 msgid "%d records updated"
 msgstr ""
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -32165,9 +33403,9 @@ msgstr ""
 msgid "Unable to tokenize column string: [%s]"
 msgstr ""
 
-#: ../vector/v.transform/main.c:277
-msgid "Tranforming features..."
-msgstr ""
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
+msgstr "Transformarea trăsăturilor..."
 
 #: ../vector/v.transform/main.c:290
 #, c-format
@@ -32596,7 +33834,7 @@ msgstr "Eroare în deschiderea hărții raster 3d"
 msgid "Column type not supported, please use a column with double type"
 msgstr ""
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 msgid "Reading features from vector map..."
 msgstr ""
 
@@ -32682,6 +33920,10 @@ msgstr ""
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Coloane"
 
@@ -32742,55 +33984,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "%d din categoriile existente în tabel"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Regiunea <%s> nu a fost găsită"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "Scrierea hărții vectoriale <%s> ..."
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "Scrierea hărții vectoriale <%s> ..."
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, c-format
 msgid "%d records updated."
 msgstr ""
@@ -33604,49 +34851,58 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "Printează aytibutele hărții vectoriale."
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 msgid "Region"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 msgid "Exclude attributes not linked to features"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr ""
@@ -33920,7 +35176,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d înregistrări selectate din tabel"
 msgstr[1] "%d înregistrări selectate din tabel"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Imposibil de creat tabelul <%s>"
@@ -33946,19 +35202,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Interogarea baza de date..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr ""
 
@@ -33973,6 +35229,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Harta vectorială <%s> nu este 3D"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Actualizarea bazei de date..."
@@ -34233,7 +35494,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr ""
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Tip de coloană neacceptat"
@@ -34252,57 +35514,57 @@ msgstr ""
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "Găsește calea cea mai scurtă a unei rețele vectoriale."
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -34860,43 +36122,47 @@ msgstr ""
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
-msgid "Use either length or vertices"
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
 msgstr ""
 
 #: ../vector/v.split/main.c:108
+msgid "Use either length or vertices"
+msgstr ""
+
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, c-format
 msgid "Unknown unit %s"
 msgstr ""
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 msgid "Can not get projection units"
 msgstr ""
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, c-format
 msgid "Length in map units: %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, c-format
 msgid "Length in meters: %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 msgid "Number of vertices must be at least 2"
 msgstr ""
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -34991,10 +36257,6 @@ msgstr "Coloana trebuie sa fie numerică"
 msgid "Reading categories..."
 msgstr ""
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Transformarea trăsăturilor..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -35160,7 +36422,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr ""
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr ""
@@ -35410,203 +36672,223 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Reproiectează harta vectorială de la o locație la locația curentă."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 msgid "Name of input vector map to re-project"
 msgstr ""
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Nume pentru harta vectorială de ieșire"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr ""
 "Realizează raport cu informații despre rasterul de intrare și după aceea "
 "închide"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr ""
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 msgid "No vector maps found"
 msgstr ""
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr ""
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr ""
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr ""
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, c-format
 msgid "Input vector map <%s> is empty"
 msgstr ""
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 msgid "Reprojecting primitives ..."
 msgstr ""
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr ""
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr ""
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+msgid "Do not expect input with topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
-msgid "Copy also attribute table"
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
 #: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
+msgid "Copy also attribute table"
+msgstr ""
+
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr ""
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr ""
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, c-format
 msgid "Patching vector map <%s>..."
 msgstr ""
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr ""
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr ""
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr ""
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr ""
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr ""
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr ""
@@ -36232,290 +37514,286 @@ msgstr[1] "%d vertecși eliminați"
 msgid "Operation not implemented"
 msgstr "Operațiune neimplementată"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
 "\t\tMapInfo File: directory containing mapinfo files"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
 "\t\tMapInfo File: mapinfo file name"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "Importă doar subregiunea"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 msgid "Minimum size of area to be imported (square meters)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 msgid "import area centroids as points"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 msgid "import area boundaries as lines"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 msgid "import lines as area boundaries"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 msgid "import points as centroids"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Numele coloanei de atribute folosită pentru înălțime"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Număr de coloane"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 msgid "If not given, all geometry columns from the input are used"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 msgid "Force 2D output even if input is 3D"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Imposibil de deschis sursa de date <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 msgid "No OGR layers available"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Regiunea <%s> nu a fost găsită"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Folosirea vectorului temporar <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Regiunea <%s> nu a fost găsită"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, c-format
 msgid "Key column '%s' is not integer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
+#: ../vector/v.in.ogr/main.c:1128
 #, c-format
-msgid "Column type not supported (%s)"
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, c-format
 msgid "%d %s without geometry skipped"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 msgid "Cleaning polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 msgid "Merging boundaries..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 msgid "Changing boundary dangles to lines..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 msgid "Changing boundary bridges to lines..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -36523,99 +37801,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, c-format
 msgid "Total area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Nu s-a putut descrie tabelul<%s>"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -36658,15 +37936,19 @@ msgstr ""
 msgid "Unknown geometry type"
 msgstr "Tip de geometrie necunoscut"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 msgid "Name of input OGR or PostGIS data source"
 msgstr ""
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr ""
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -36674,19 +37956,19 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr ""
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 msgid "List available layers in data source and exit"
 msgstr ""
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 msgid "List available layers including feature type in data source and exit"
 msgstr ""
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -36743,17 +38025,17 @@ msgid ""
 "PostGIS feature table."
 msgstr ""
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, c-format
 msgid "Unable to delete '%s'"
 msgstr ""
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr ""
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, c-format
 msgid "Link to vector map <%s> created."
 msgstr ""
@@ -36877,58 +38159,58 @@ msgstr "Imposibil de creat harta de ieșire"
 msgid "Unable to close new 3d raster map"
 msgstr "Imposibil de închis harta nouă raster 3D"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 msgid "isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "Desparte rețea în funcție de costul izoliniilor."
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr ""
@@ -37079,6 +38361,129 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Conexiunea bazei de date nu este definită pentru stratul %d"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Nici o înregistrare pentru linie (cat = %d)"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Nici o înregistrare pentru linie (cat = %d)"
+
+#: ../vector/v.out.lidar/main.c:197
+#, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Generează puncte vectoriale ca puncte 3D"
+
+#: ../vector/v.out.lidar/main.c:486
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+msgid "Layer number to store generated point ID as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld categorii"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Număr de strat (scrie în)"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Număr de strat (scrie în)"
+
+#: ../vector/v.out.lidar/main.c:534
+msgid "Layer number where RGB color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+msgid "Layer number where red color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+msgid "Layer number where blue color is stored as category"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Coloana trebuie sa fie numerică"
+
+#: ../vector/v.out.lidar/main.c:581
+msgid "RGB color definition column"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:588
+msgid "Column with red color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Imposibil de actualizat regiunea curentă"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Imposibil de citit tabelul de culoare pentru %s"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -37261,7 +38666,7 @@ msgstr ""
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> număr nevalid de puncte"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 msgid "At least one point is really inside the area!"
 msgstr ""
 
@@ -37553,47 +38958,230 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Imposibil de deschis harta vectorială <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:111
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Subregiune"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Număr de strat (scrie în)"
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Număr de strat (scrie în)"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Fișier raster binar pentru a fi importat"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Număr de strat (scrie în)"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Conexiune"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:258
+msgid "Import only n points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> număr nevalid de puncte"
+
+#: ../vector/v.in.lidar/main.c:282
+msgid "Invert mask when selecting points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Una sau mai multe coordonate"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Nu copiază tabelul"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, c-format
-msgid "Unable open database <%s> by driver <%s>"
+msgid "Storing generated point IDs as categories in the layer %d"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "Generarea punctelor..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
+msgstr "Generarea punctelor..."
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%s: datele punctuale nu au fost găsite"
+
+#: ../vector/v.in.lidar/main.c:758
 #, c-format
-msgid "%d points imported"
+msgid "%llu input points were not valid"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:760
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were outside of the selected area"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:762
 #, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were outside of the area specified by mask"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:764
 #, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%llu input points were filtered out by return number"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:766
 #, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%llu input points were filtered out by class number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:768
+#, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:770
+#, c-format
+msgid "%llu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:773
+#, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:777
+#, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%s: datele punctuale nu au fost găsite"
+
+#: ../vector/v.in.lidar/main.c:783
+#, c-format
+msgid "%lu input points were not valid"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:785
+#, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:787
+#, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:789
+#, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:791
+#, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:793
+#, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:795
+#, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:798
+#, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Numărul de puncte alocate"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
 msgstr ""
 
 #: ../vector/v.surf.bspline/crosscorr.c:75
@@ -37749,7 +39337,7 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -38715,10 +40303,6 @@ msgstr "Imposibil de calculat matricea inversă"
 msgid "Resolving conflicts..."
 msgstr "Rezolvarea conflictelor..."
 
-#: ../vector/v.generalize/main.c:77
-msgid "generalization"
-msgstr ""
-
 #: ../vector/v.generalize/main.c:78
 msgid "simplification"
 msgstr ""
@@ -38885,59 +40469,59 @@ msgstr "Generalizarea rețelei..."
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr "Atributele sunt necesare pentru opțiunea 'where', copierea tabelului"
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "Generalizare (%s)..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Rezoluție fină"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr "Metoda %s' nu a păstrat primul punct"
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr "Metoda %s' nu a păstrat ultimul punct"
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 "%d limitele nu au fost modificate deoarece modificarea ar afecta topologia"
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 "%d liniile/limitele nu au fost modificate din cauza supra-simplificării"
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr "redus"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr "modificat"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr ""
@@ -38956,50 +40540,30 @@ msgstr ""
 
 #, fuzzy
 #~ msgid "Number of quartals to use"
-#~ msgstr "Număr de iterații"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Numele hărții raster care conține netezirea"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Numele hărții raster care conține netezirea"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nume de ieșire pentru harta raster pantă "
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Nume pentru harta vectorială de intrare"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr "Indexul topografic al hărții de ieșire"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Restabilește interactiv parametrii proiecției locației."
+#~ msgstr "Număr de rânduri"
 
 #~ msgid " %s\n"
 #~ msgstr " %s\n"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "opțiunea <%s>: <%s> există."
+#~ msgid "Subregion"
+#~ msgstr "Subregiune"
 
 #~ msgid "%s: Error writing temporary file"
 #~ msgstr "%s: Eroare în scrierea fișierului temporar"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "opțiunea <%s>: <%s> există."
+
 #~ msgid "Location name (not location path)"
 #~ msgstr "Numele locației (nu calea locației)"
 
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Convertește toate hărțile vectoriale din versiunile vechi de GRASS din "
+#~ "mapset-ul curent în formatul actual."
+
 #~ msgid "Packs up a raster map and support files for copying."
 #~ msgstr "Împachetează harta raster și fișierele suport pentru copiere."
 
@@ -39011,26 +40575,29 @@ msgstr ""
 #~ msgstr "Despachetează o hartă raster, care a fost împachetatp cu r.pack."
 
 #~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
+#~ "Correction of the v.lidar.growing output. It is the last of the three "
+#~ "algorithms for LIDAR filtering."
 #~ msgstr ""
-#~ "Convertește toate hărțile vectoriale din versiunile vechi de GRASS din "
-#~ "mapset-ul curent în formatul actual."
+#~ "Corectarea de ieșire cu v.lidar.growing. Acesta este ultimul din cei trei "
+#~ "algoritmi de filtrare pentru LIDAR."
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Nume de ieșire pentru harta raster orientare "
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "Prefix pentru harta raster de ieșire"
 
 #~ msgid "Files"
 #~ msgstr "Fișiere"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Prefix pentru harta raster de ieșire"
+#~ msgid "Name of output basename raster map(s)"
+#~ msgstr "Nume de ieșire pentru harta raster pantă "
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Afișare"
+#~ msgid "flowline"
+#~ msgstr "linie"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importă hărți vectoriale realizate în versiuni mai vechi de GRASS."
 
 #~ msgid "Error: %s"
 #~ msgstr "Eroare: %s"
@@ -39038,29 +40605,12 @@ msgstr ""
 #~ msgid "Unknown type: %c"
 #~ msgstr "Tip necunoscut: %c"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importă hărți vectoriale realizate în versiuni mai vechi de GRASS."
-
-#~ msgid "One or more coordinates"
-#~ msgstr "Una sau mai multe coordonate"
-
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Memorie insuficientă pentru adx"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Memorie insuficientă pentru ady"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Memorie insuficientă pentru adxx"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Memorie insuficientă pentru adyy"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Memorie insuficientă pentru adxy"
+#, fuzzy
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "Nici o hartă raster de intrare specificată"
 
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Convertește un fișier cu liste de situri GRASS în hartă vectorială."
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Utilitate de interpolare a suprafeței pentru harta raster."
 
 #~ msgid "Name of layer to be used for INTENSITY"
 #~ msgstr "Numele stratului care va fi folosit pentru INTENSITATE"
@@ -39068,26 +40618,12 @@ msgstr ""
 #~ msgid "Name of layer to be used for SATURATION"
 #~ msgstr "Numele stratului care va fi folosit pentru SATURAȚIE"
 
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "Importă fișiere de țară US-NGA GEOnet Names Server (GNS) într-o hartă "
-#~ "vectorială punctuală GRASS."
-
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Numele hărții raster pentru elevație"
-
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "Numele stratului care va fi folosit pentru VERDE"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "Numele stratului care va fi folosit pentru ALBASTRU"
 
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Utilitate de interpolare a suprafeței pentru harta raster."
-
 #~ msgid "Surface generation program."
 #~ msgstr "Program pentru generarea suprafeței."
 
@@ -39100,20 +40636,32 @@ msgstr ""
 #~ msgid "%s=%s - illegal number of interpolation points"
 #~ msgstr "%s=%s - număr ilegal de puncte de interpolare"
 
-#~ msgid "%s: no data points found"
-#~ msgstr "%s: datele punctuale nu au fost găsite"
-
 #, fuzzy
 #~ msgid "Interpolating raster map <%s>... %d row... "
 #~ msgid_plural "Interpolating raster map <%s>... %d rows... "
 #~ msgstr[0] "Interpolarea hărții raster <%s>... %d rânduri... "
 #~ msgstr[1] "Interpolarea hărții raster <%s>... %d rânduri... "
 
+#~ msgid "Output z-file (elevation) map"
+#~ msgstr "Stratul Z (altitudine) rezultat"
+
 #~ msgid "lat/lon projection not supported at this time."
 #~ msgstr "proiecția lat/lon nu este acceptată in acest moment."
 
-#~ msgid "Output z-file (elevation) map"
-#~ msgstr "Stratul Z (altitudine) rezultat"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
+#~ msgstr ""
+#~ "Importă fișiere de țară US-NGA GEOnet Names Server (GNS) într-o hartă "
+#~ "vectorială punctuală GRASS."
+
+#, fuzzy
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Numele hărții raster pentru elevație"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Afișare"
 
 #, fuzzy
 #~ msgid "imagery, fusion, HPF, HPFA"
@@ -39126,3 +40674,21 @@ msgstr ""
 #, fuzzy
 #~ msgid "No maps output"
 #~ msgstr "Nici o hartă de ieșire"
+
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Memorie insuficientă pentru adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Memorie insuficientă pentru ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Memorie insuficientă pentru adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Memorie insuficientă pentru adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Memorie insuficientă pentru adxy"
+
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "Convertește un fișier cu liste de situri GRASS în hartă vectorială."
diff --git a/locale/po/grassmods_ru.po b/locale/po/grassmods_ru.po
index 648b230..7f635bd 100644
--- a/locale/po/grassmods_ru.po
+++ b/locale/po/grassmods_ru.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_ru\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2009-05-15 00:23-0600\n"
 "Last-Translator: Maxim Dubinin <sim at gis-lab.info>\n"
 "Language-Team: Russian <grass-translations at lists.osgeo.org>\n"
@@ -19,10 +19,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -40,6 +40,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -68,12 +69,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -119,7 +121,7 @@ msgstr "Учитывать значения NULL при отрисовке"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -127,14 +129,16 @@ msgid "Color file for <%s> not available"
 msgstr "Недоступен файл цвета для <%s>"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -153,7 +157,9 @@ msgstr "Недоступен файл цвета для <%s>"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -174,7 +180,7 @@ msgstr "Недоступен файл цвета для <%s>"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -186,7 +192,7 @@ msgstr "Недоступен файл цвета для <%s>"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -210,17 +216,17 @@ msgstr "Недоступен файл цвета для <%s>"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -231,7 +237,7 @@ msgstr "Недоступен файл цвета для <%s>"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -383,10 +389,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "Вход"
 
@@ -433,22 +442,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "Использовать часть диапазона слоя для легенды (мин, макс)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Цвет текста"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Параметры"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Имя шрифта"
 
@@ -462,11 +473,13 @@ msgstr "Размер иконки"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "Путь к файлу шрифтов"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr "Кодировка текста (применимо только для шрифтов TrueType)"
 
@@ -562,14 +575,20 @@ msgstr "Цветовой диапазон превышает верхний пр
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "use=%s вне диапазона [%.3f, %.3f] (расширить с range= ?)"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Нечего отрисовывать! (нет категорий с подписями??)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -611,11 +630,11 @@ msgstr "Заголовок для графика"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -698,23 +717,26 @@ msgstr "Список категорий для отображения (слои
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -724,14 +746,19 @@ msgstr "Список категорий для отображения (слои
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -780,50 +807,51 @@ msgstr "%s: значение не соотвествует спецификац
 msgid "[%s]: No such color"
 msgstr "[%s]: Нет такого цвета"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Показать информацию об активном дисплее монитора"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Показать прямоугольник экрана (лево, право, верх, низ)"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "Показать размеры экрана (ширина, высота)"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "Показать прямоугольник активного фрейма"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Показать размеры экрана (ширина, высота)"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "Показать прямоугольник текущего региона"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 #, fuzzy
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr "Показать координаты и разрешение всего экрана"
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -831,31 +859,32 @@ msgstr "Показать координаты и разрешение всего
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Для слоя %d не определено соединение с базой данных"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -865,10 +894,10 @@ msgstr "Для слоя %d не определено соединение с б
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -882,7 +911,7 @@ msgstr "Для слоя %d не определено соединение с б
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Невозможно открыть БД <%s> с помощью драйвера <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -906,7 +935,7 @@ msgstr "Тип диаграммы"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr "Свойства диаграммы"
 
@@ -947,7 +976,12 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr "Создать информацию о легенде и отправить ее в stdout"
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Создать выходной 3D слой"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -955,20 +989,22 @@ msgstr "Создать информацию о легенде и отправи
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -983,40 +1019,40 @@ msgstr "Создать информацию о легенде и отправи
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Невозможно открыть векторный слой <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1041,10 +1077,6 @@ msgstr "Координаты начала и конца"
 msgid "Line color"
 msgstr "Цвет линии"
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr "Цвет текста или \"none\""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1105,12 +1137,15 @@ msgstr "L: добавить  M: удалить  R: сохранить и вый
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1129,17 +1164,18 @@ msgstr "L: добавить  M: удалить  R: сохранить и вый
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1152,10 +1188,10 @@ msgstr "L: добавить  M: удалить  R: сохранить и вый
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1163,21 +1199,22 @@ msgstr "L: добавить  M: удалить  R: сохранить и вый
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "вектор"
 
@@ -1222,16 +1259,18 @@ msgstr "Векторный слой <%s> не найден"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1243,22 +1282,22 @@ msgstr "Векторный слой <%s> не найден"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1315,10 +1354,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1373,12 +1412,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Имя растрового слоя используемого для <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Выполнение log-преобразования"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1387,28 +1426,28 @@ msgstr ""
 "Наложить значения категорий ячеек на растровый слой показанный в графическом "
 "мониторе."
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Цвет сетки"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "Количество значимых разрядов (только для чисел с плавающей точкой)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Не индексировать точки ячейкой растра"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "Получить цвет текста из значения цвета ячейки"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1417,7 +1456,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1425,7 +1464,7 @@ msgstr[0] "Цвет сетки"
 msgstr[1] "Цвет сетки"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1436,11 +1475,11 @@ msgstr ""
 "Слишком большой размер текущего окна. Ячейки показанные в окне графики могут "
 "быть слишком малы, чтобы был виден номер категории ячейки."
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
@@ -1448,62 +1487,62 @@ msgstr ""
 "Создать стрелки показывающие экспозицию ячеек для растрового слоя с данными "
 "экспозиций."
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Имя показываемого растрового слоя экспозиций"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Имя существующего растрового слоя экспозиций"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Цвет для отрисовки стрелок"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Цвет для отрисовки стрелок"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Цвет значений X (нулевые значения)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Цвет для неизвестной информации"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "Рисовать стрелки каждую N-ную ячейку"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "Растровый слой содержащий значения используемые для длины стрелки"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Коэффициент масштабирования для стрелок (слой магнитуд)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "Неверное значение коэффициента масштабирования"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr "Неправильное значение фактора пропуска"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr "Магнитуда поддерживается только для слоев GRASS и экспозиций."
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr "Опция масштаба требует magnitude_map"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr "Проблема чтения файла диапазона"
 
@@ -1634,17 +1673,17 @@ msgstr ""
 "  Расстояние до сети = %f, расстояние от сети = %f\n"
 "\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1652,7 +1691,7 @@ msgstr "вектор, создание сети."
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1661,50 +1700,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr "Найти кратчайший путь для выбранного начального и конечного узлов."
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Тип кривой"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "Слой кривых"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr "Слой узлов"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr "Столбец стоимостных дуг в обратном направлении (число)"
 
@@ -1726,11 +1765,11 @@ msgstr "Отрисовка"
 msgid "Background color"
 msgstr "Цвет фона"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "Используйте геодезический калькулятор для точек с широтой-долготой"
 
@@ -1750,7 +1789,7 @@ msgstr "%s - неверное значение y"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "Текущая проекция не широта-долгота"
 
@@ -1775,7 +1814,7 @@ msgstr "Вычисление гистограммы"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1783,7 +1822,7 @@ msgstr "Вычисление гистограммы"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2164,7 +2203,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2182,15 +2221,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Опция Geo-Grid недоступна для проекции LL"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "Невозможно получить значение параметров проекции для текущей области"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "Невозможно задать параметры географической проекции"
@@ -2446,12 +2485,13 @@ msgstr "Некорректные координаты %s %s"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2526,15 +2566,15 @@ msgstr "Неверный запрос для эллипсоидов"
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "Укажите эллипсоид с помощью -l или -w"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "Невозможно получить проекцию текущей области"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "Невозможно получить единицы проекции для текущей области"
 
@@ -2558,11 +2598,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "Невозможно прочитать векторный слой"
 
@@ -2765,7 +2806,7 @@ msgstr "Цвет заливки полигонов"
 msgid "Colorize features according color definition column"
 msgstr "Имя столбца определителя цвета (для использования с флагом -a)"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Не указан столбец определения цвета"
@@ -3069,41 +3110,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]: Нет такого цвета. Используется '%s'"
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Файл '%s' уже существует и будет перезаписан."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Невозможно обновить текущий регион"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Тип вывода"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Векторный слой <%s> уже существует"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Невозможно создать файл <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "Запись векторного слоя <%s> ..."
 
-#: ../display/d.mon/start.c:163
-#, fuzzy, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr "Установка названия слоя <%s> которое отменит <%s>"
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Невозможно прочитать файл диапазона"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, c-format
+msgid "Unable to create file <%s>"
+msgstr "Невозможно создать файл <%s>"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3115,34 +3163,53 @@ msgstr "Векторный слой <%s> уже существует"
 msgid "Monitor <%s> is not running"
 msgstr "Файл <%s> не найден"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "файл 3dview <%s> не найден"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Невозможно создать файл <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "Файл не найден: %s"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Невозможно открыть источник данных OGR '%s'"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "Не могу открыть файл <%s>"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Невозможно создать файл <%s>"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Список координат точек"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "Столбец <%s> не найден"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr " ."
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Невозможно прочитать файл диапазона"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "найдено %d линий или границ в векторном слое <%s@%s>"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3154,8 +3221,8 @@ msgid "Name of monitor to start"
 msgstr "Имя выходного скрипта"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3179,9 +3246,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3261,12 +3329,12 @@ msgid "List running monitors and exit"
 msgstr "Перечислить поддерживаемые форматы и выйти"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3279,33 +3347,34 @@ msgstr "Перечислить поддерживаемые форматы и в
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Вывод"
 
@@ -3319,59 +3388,77 @@ msgstr "Отобразить текущие параметры подключе
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Вывести список векторных слоев исходной области и выйти"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Отобразить текущие параметры подключения и выйти"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "Не выбирать автоматически на старте"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Вывести список векторных слоев исходной области и выйти"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "Невозможно прочесть цвет"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Открыть форму в режиме редактирования"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr " игнорируется\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr "Монитор <%s> освобожден"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "Монитор не выбран"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Должно быть указано либо  \"-i\" либо \"value=\""
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3424,7 +3511,7 @@ msgid "No map name given"
 msgstr "Не задано имя слоя"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "Невозможно прочитать файл категорий растрового слоя <%s@%s>"
@@ -3556,9 +3643,9 @@ msgstr "...сделано."
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Невозможно открыть файл <%s> для записи "
@@ -3606,9 +3693,9 @@ msgstr "Связь"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Формат"
 
@@ -3622,11 +3709,11 @@ msgstr "Отображать вертикальный разделитель з
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "Имя выходного файла (если не указано или '-' вывод в stdout)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "Не выводить названия столбцов"
 
@@ -3634,7 +3721,7 @@ msgstr "Не выводить названия столбцов"
 msgid "Describe query only (don't run it)"
 msgstr "Описание запроса (без исполнения)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Вертикальный вывод (вместо горизонтального)"
 
@@ -3667,7 +3754,7 @@ msgstr "Тест запроса, без выполнения"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3699,7 +3786,7 @@ msgstr "база данных, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3711,7 +3798,7 @@ msgstr "вектор, атрибутивная таблица"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3849,8 +3936,8 @@ msgstr "Невозможно прочитать файл диапазона"
 msgid "Unable to create index:"
 msgstr "Невозможно создать индекс"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Связь"
@@ -3926,7 +4013,7 @@ msgstr "Невозможно установить проекцию"
 msgid "Unable to allocate handle."
 msgstr "Ошибка выделения памяти"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3963,7 +4050,7 @@ msgstr "Невозможно выбрать атрибуты"
 msgid "Unable to select view names."
 msgstr "Невозможно выбрать атрибуты"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -4003,12 +4090,12 @@ msgstr "Недостаточно памяти"
 msgid "No path given"
 msgstr "Не задано имя слоя"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Невозможно выбрать атрибуты"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Невозможно выбрать данные из таблицы"
@@ -4056,29 +4143,29 @@ msgid "Taken not found"
 msgstr "не найдено"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "Невозможно создать индекс"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "Невозможно задать размер шрифта"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Невозможно выбрать атрибуты"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "Невозможно создать таблицу: <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Невозможно открыть базу данных <%s>"
@@ -4125,6 +4212,11 @@ msgstr ""
 "столбец '%s' : тип bool (boolean) был сохранен как char(1), значения: 0 "
 "(false), 1 (true)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Невозможно установить размер"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Неизвестная опция в описании базы данных для PostgreSQL:"
@@ -4212,7 +4304,8 @@ msgstr "Набор <%s> не найден"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4294,22 +4387,22 @@ msgstr "Невозможно открыть источник данных OGR '%
 msgid "Unable to open database:"
 msgstr "Невозможно открыть базу данных:"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Не определено соединение с базой данных"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "<%s> уже существует"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Невозможно создать таблицу: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "Набор <%s> не найден"
@@ -4324,6 +4417,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "Драйвер SQLite: столбец '%s', SQLite тип %d  не поддерживается"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Ошибка закрытия файла ASCII"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4571,10 +4669,10 @@ msgstr " Удаление базы данных."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4595,26 +4693,39 @@ msgstr "Пожалуйста, исправьте настройки"
 msgid "Sets user/password for DB driver/database."
 msgstr "Задать пользователя/пароль для драйвера/базы данных"
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Невозможно установить проекцию"
+msgid "Username"
+msgstr "имя"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Невозможно установить проекцию"
+msgid "Password"
+msgstr "Проход %d..."
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Имя теста"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Отобразить текущие параметры подключения и выйти"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Невозможно задать пользователя/пароль"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Пароль сохранен в файле"
@@ -4902,6 +5013,7 @@ msgstr "Полигон\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4912,10 +5024,11 @@ msgstr "Полигон\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "растр"
@@ -4988,19 +5101,6 @@ msgstr "Нужно использовать параметр -i и/или пар
 msgid "Off-screen only available with full render mode"
 msgstr "Пространство за экраном доступно только в режиме полной отрисовки"
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "Не могу открыть файл <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5277,7 +5377,7 @@ msgstr "растровый слой latin <%s> не найден"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5952,7 +6052,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5965,12 +6065,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "Общие"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6078,7 +6179,17 @@ msgstr "%s=%s,%s: файлы одинаковы, копирование не т
 msgid "<%s> already exists"
 msgstr "<%s> уже существует"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Невозможно прочесть заголовок растрового 3D-слоя <%s@%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "Невозможно открыть векторный слой <%s> на уровне топологии %d"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6086,7 +6197,7 @@ msgstr "<%s> уже существует"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 #, fuzzy
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
@@ -6095,13 +6206,13 @@ msgstr ""
 "Вывести список в стандартный вывод доступных файлов элементов базы данных "
 "GRASS указанного  пользователем типа."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr "Шаблон поиска слоев (по умолчанию: все)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6109,128 +6220,101 @@ msgstr "Шаблон поиска слоев (по умолчанию: все)"
 msgid "Pattern"
 msgstr "Растр"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr "Шаблон исключения слоев (по умолчанию: нет)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "Набор для вывода списка (по умолчанию: текущий путь) "
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Имя набора (по умолчанию: текущий)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Установить расчетный регион равный региону с названием"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Имя выходного файла"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Если не задано, то чтение производится со стандартного входа"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "Использовать простые регулярные выражения вместо групповых символов"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 "Использовать расширенные регулярные выражения вместо групповых символов"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "Вывести типы данных"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr "Красивый вывод в читабельном формате"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "Полный список (включает заголовки слоев)"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "-r и -e взаимоисключающиеся"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "-r и -e взаимоисключающиеся"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "-r и -e взаимоисключающиеся"
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Не могу открыть файл <%s>"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Группа <%s> не существует"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Невозможно прочесть заголовок растрового 3D-слоя <%s@%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "Невозможно открыть векторный слой <%s> на уровне топологии %d"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "Невозможно обновить параметры географической проекции"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Ошибка в pj_do_proj (проекция исходной пары координат)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr "Вы уже в Lat/Long. Используйте вместо этого параметр -p."
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
@@ -6238,7 +6322,7 @@ msgstr ""
 "Вы в простой области XY, проектирование в Lat/Lon невозможно. Используйте "
 "параметр -p."
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6246,7 +6330,7 @@ msgstr ""
 "Вывод в WGS84 невозможен, так как эта область не содержит параметров "
 "трансформации. Попробуйте запустить g.setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr "Вычисления в Lat/Long невозможны в системе XY"
 
@@ -6477,9 +6561,9 @@ msgstr "Регион <%s> не найден"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "3d растровый слой <%s> не найден"
@@ -6502,7 +6586,7 @@ msgstr "Невозможно обновить текущий регион"
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr "Невозможно изменить регион по умолчанию. Текущий набор не <PERMANENT>."
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Неверный ввод <%s=%s>"
@@ -6794,38 +6878,38 @@ msgstr "Вывести статистику в стиле shell"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6969,7 +7053,7 @@ msgstr "Имя (имена) существующего набора для уд
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "Выполняемая операция"
@@ -7422,7 +7506,7 @@ msgstr "Невозможно открыть исходный файл <%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7633,40 +7717,61 @@ msgid "command line interface with GUI startup screen"
 msgstr "Столбец <%s> не найден"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Импортируемый растровый файл"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 #, fuzzy
 msgid "Update default user interface settings"
 msgstr "Стандартные установки графического интерфейса обновлены"
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 #, fuzzy
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr "Стандартные установки графического интерфейса обновлены"
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr "<%s> теперь стандартный GUI"
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7886,8 +7991,8 @@ msgid ""
 msgstr ""
 "Силовая замена параметров трансформации датума в исходной системе координат"
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7924,9 +8029,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Область <%s> создана"
@@ -8084,10 +8189,12 @@ msgstr "Вывести матрицу трансформации в stdout"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8103,10 +8210,14 @@ msgstr "Вывести матрицу трансформации в stdout"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8140,10 +8251,12 @@ msgstr "вектор, топология"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8159,10 +8272,14 @@ msgstr "вектор, топология"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8270,8 +8387,8 @@ msgstr ""
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "Импорт"
@@ -8313,7 +8430,7 @@ msgstr "Импорт файла SPOT VGT NDVI в растровый слой"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8342,15 +8459,16 @@ msgstr "изображения"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Импорт"
@@ -8415,7 +8533,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "Имя растрового слоя оверлея"
+msgstr "Имя второго растрового слоя"
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8500,7 +8618,7 @@ msgstr "Новая схема"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Преобразовать 3D растровый слой в 2D растровый слой "
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8510,6 +8628,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Вход"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Преобразовать 3D растровый слой в 2D растровый слой "
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "растр, растровая алгебра"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Вывести список векторных слоев исходной области и выйти"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Название вводного 3D растрового слоя"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Число определяемых классов"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "исходные растровые слои"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8562,21 +8781,12 @@ msgid ""
 "datasets."
 msgstr "Вывести список векторных слоев исходной области и выйти"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "растр, растровая алгебра"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8585,11 +8795,13 @@ msgstr "растр, растровая алгебра"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8597,54 +8809,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Название вводного 3D растрового слоя"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Число определяемых классов"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "исходные растровые слои"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8659,7 +8830,8 @@ msgstr "Название вдоль стороны растрового слоя
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "вектор, экспорт"
@@ -8895,7 +9067,7 @@ msgstr "вектор, интерполяция"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Используемый метод интерполяции"
 
@@ -9012,6 +9184,49 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr "Имя столбца"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Список разделенный запятыми"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Имя выходного файла для отчёта"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Создать пустую базу данных."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Число определяемых классов"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Выходной растровый слой для тона"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9238,7 +9453,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9485,6 +9700,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9554,10 +9770,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Расширить охват области на основе нового набора данных"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Игнорировать проекцию (использовать проекцию области)"
@@ -9566,7 +9786,8 @@ msgstr "Игнорировать проекцию (использовать пр
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "Невозможно получить единицы проекции для текущей области"
@@ -9586,21 +9807,21 @@ msgstr ""
 "Создать растровый слой из набор координат используя одномерную статистику."
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr "Сканировать файл данных для определения охвата и выйти"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "В режиме сканирования, выводить используя стиль скриптовой оболочки"
 
@@ -9622,21 +9843,21 @@ msgid "Name for output raster map"
 msgstr "Имя выходного растрового слоя"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "Статистика используемая для растровых значений"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Статистика"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Тип данных для выходного растрового слоя"
@@ -9677,17 +9898,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Фактор масштабирования для значений атрибутивного поля"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Процент карты сохраняемый в памяти"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "p-тый перцентиль значений"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9788,8 +10009,8 @@ msgid "Remove existing color table"
 msgstr "Удалить существующую цветовую таблицу"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9834,17 +10055,18 @@ msgid ""
 msgstr "Конвертировать векторные слои OGR в векторные слои GRASS."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Импортируемый растровый файл"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr "Имя слоя OGR. Если не задано, импортируются все доступные слои"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Имя выходного растрового слоя (по умолчанию: имя исходного)"
@@ -9865,6 +10087,11 @@ msgstr "Имя выходного растрового слоя (по умолч
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9887,10 +10114,15 @@ msgstr "Имя выходного растрового слоя (по умолч
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr " "
@@ -9901,29 +10133,30 @@ msgid "Output vector map extent"
 msgstr "Выходной векторный слой ошибок"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Выравнивание текущего региона с исходным слоем"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Ошибка чтения файла ASCII: '%s'"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Порог прилипания для границ"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "'-1' для отключения прилипания"
 
@@ -9941,17 +10174,67 @@ msgstr ""
 "'-1' чтобы вывести список и выйти"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Перечислить поддерживаемые форматы и выйти"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Вывести список доступных слоев в источнике данных и выйти"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "Невозможно получить единицы проекции для текущей области"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Показать колонку масштаба в графическом мониторе."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Создать набор, если не существует"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Удалить все фреймы и очистить экран"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Вывести путь поиска текущего набора"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Отобразить текущие параметры подключения и выйти"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr "Положение как процент координат экрана (0,0 - нижний левый угол)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10111,7 +10394,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10120,7 +10403,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10130,7 +10413,7 @@ msgid "geometry"
 msgstr "вектор, геометрия"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10185,7 +10468,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Количество точек интерполяции"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10210,16 +10497,16 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Выбор канала (по умолчанию все каналы)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
 msgstr "Максимальное количество памяти для использования с флагом -m (в MB)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10278,12 +10565,12 @@ msgid "Optional"
 msgstr "Недопустимое имя выходного файла: <%s>"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "Не выполнять оптимизацию обрезки региона"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Расположение экрана в географических координатах"
@@ -10381,7 +10668,7 @@ msgstr ""
 "ячеек."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10395,7 +10682,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Радиус буфера растровых ячеек"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Метрика"
 
@@ -10427,14 +10714,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Обновление статистики растрового слоя"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10501,6 +10788,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10508,7 +10806,8 @@ msgid ""
 msgstr "Вывести список векторных слоев исходной области и выйти"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Выбор"
@@ -10552,6 +10851,61 @@ msgstr "Если имя не задано, то используется имя
 msgid "Name of table to drop"
 msgstr "Для опции 'query' используется имя столбца атрибутов"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "Создать векторный слой заданных изолиний из растрового слоя."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Контраст"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Шаг горизонталей"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Список уровней изолиний"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Минимальный уровень изолиний"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Максимальный уровень изолиний"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "Минимальное количество точек в изолинии (0 -> бесконечность)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "исходные растровые слои"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Не создавать атрибутивную таблицу"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 msgid "Exports attribute tables into various formats."
 msgstr "Импорт атрибутивных таблиц в различных форматах."
@@ -10575,6 +10929,20 @@ msgstr "Формат таблицы"
 msgid "Name for output table (default: input name)"
 msgstr "Имя выходного растрового слоя (по умолчанию: имя исходного)"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Преобразовать 3D растровый слой в 2D растровый слой "
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Вывести список векторных слоев исходной области и выйти"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10720,6 +11088,66 @@ msgstr "Имя новой атрибутивной таблицы (по умол
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Вывести список векторных слоев исходной области и выйти"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Преобразовать 3D растровый слой в 2D растровый слой "
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Тип объекта"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Имя атрибутивного столбца используемое для подписей"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "Сгладить углы полигона"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Изменение значения для координаты z"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Записать значения растра как z координаты. Таблица не создана. В настоящее "
+"время поддерживается только для точек."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Не создавать топологию"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Использовать значения растра как категории, а не уникальную "
+"последовательность (только CELL)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10730,6 +11158,7 @@ msgid "Vector map to which to join other table"
 msgstr "Векторный слой к которому присоединить другую таблицу"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10739,6 +11168,7 @@ msgid "Layer where to join"
 msgstr "Слой к которому добавить соединение"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "Столбцы"
@@ -10823,7 +11253,6 @@ msgstr "Имя выходного растрового слоя (по умолч
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11138,6 +11567,10 @@ msgstr ""
 "Значение используемое для обновления столбца (значения varchar должны быть в "
 "одиночных кавычках, например 'grass')"
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11432,13 +11865,6 @@ msgstr "Название вдоль стороны растрового слоя
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Число определяемых классов"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr "Загрузка значений вектора в позициях векторных точек в таблицу."
@@ -11451,23 +11877,32 @@ msgstr ""
 "Имя исходного точечного векторного слоя, у которого редактируется "
 "атрибутивная таблица"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Столбец, который будет обновлен по результату запроса"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Имя векторного слоя для редактирования"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "Столбцы"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Имя атрибутивного столбца используемое для подписей"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr "Максимальное расстояние запроса в единицах слоя "
 
@@ -11505,78 +11940,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Имя новой создаваемой области"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Вывести список доступных правил и выйти"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Вывести список доступных правил и выйти"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Вывести список доступных правил и выйти"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "Расчет среднего"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "Системные таблицы вместо таблиц пользователя"
@@ -11597,20 +12048,26 @@ msgid "Description of the space time dataset"
 msgstr "Имя новой базы данных"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Имя новой базы данных"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11627,10 +12084,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Выделяемые типы"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Вывести статистику в стиле shell"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Формат вывода"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 #, fuzzy
 msgid "Creates a MASK for limiting raster operation."
@@ -11755,8 +12248,8 @@ msgstr "изображения, растр, мультиспектральные
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Имя выходного файла"
+msgid "Name for output image (or text file for -t)"
+msgstr "Название для файла вывода (НЕ указывать расширение)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11773,6 +12266,11 @@ msgstr "подписать координатами вместо чисел"
 msgid "Use gnuplot for display"
 msgstr "Текст для отображения"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Выходной world файл TIFF "
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11788,11 +12286,6 @@ msgstr ""
 msgid "series"
 msgstr "сайты"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Создать пустую базу данных."
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11897,6 +12390,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11910,11 +12404,15 @@ msgid "Sill value"
 msgstr "%s: значение не соотвествует спецификации"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Имя выходного растрового слоя экспозиции склонов"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11999,10 +12497,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Вывести список векторных слоев исходной области и выйти"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12020,7 +12514,7 @@ msgstr "Невозможно открыть растровый слой <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12543,7 +13037,7 @@ msgid "radiance"
 msgstr "Дисперсия"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12574,8 +13068,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Метаданные"
 
@@ -12782,8 +13277,8 @@ msgstr "Невозможно прочитать fp диапазон растро
 msgid "Calculating..."
 msgstr "Расчет слоев..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14854,21 +15349,21 @@ msgstr "Не найдена целевая область <%s>"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "Набор слоев <%s> в целевой области <%s> - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "недостаточные права доступа"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "не найдено"
@@ -14966,7 +15461,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15096,7 +15591,7 @@ msgid "Name of target mapset"
 msgstr "Имя целевого набора"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Установить текущую область и набор как целевые для группы изображений"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15525,52 +16020,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr "Сингулярный субэталон номер %d (%d остался) удален"
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "прервано"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Имя растрового слоя фрактальной поверхности "
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, fuzzy, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr " "
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Название выходного растра"
@@ -15746,7 +16245,7 @@ msgid "Starting Inverse FFT..."
 msgstr " Расчет обратного FFT..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -16170,7 +16669,7 @@ msgstr "Мой первый растровый модуль"
 msgid "My first vector module"
 msgstr "Мой первый векторный модуль"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr "Невозможно установить заданный уровень открытия вектора"
 
@@ -16325,11 +16824,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -17048,12 +17548,12 @@ msgstr "Измененные строки"
 msgid "Cols changed"
 msgstr "Столбцы изменены"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Показать индекс"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17061,34 +17561,34 @@ msgstr ""
 "Создать композитный растровый слой используя значения категорий ячеек из "
 "одного (или нескольких) слоев для заполнения значений 'no data' слоя."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Имена объединяемых растровых слоев"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Название результирующего растрового слоя"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Использовать ноль (0) вместо NULL для прозрачности"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "Минимальное число исходных растровых слоев - два"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "Процентов завершено..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "Создание файлов поддержки для растрового слоя <%s>"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17109,7 +17609,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Имя исходного файла; или \"-\" для чтения правил из stdin"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Название результирующего растрового слоя"
@@ -17117,7 +17617,7 @@ msgstr "Название результирующего растрового с
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Тип объекта"
+msgstr "Название выходного растра"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17539,8 +18039,8 @@ msgstr "Не выводится растровых слоев или файло
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Невозможно вставить новый ряд: %s"
@@ -17613,59 +18113,17 @@ msgstr "растр, высота"
 msgid "Converts a raster map into a vector map."
 msgstr "Конвертировать растровый слой в векторный слой."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Тип объекта"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Имя атрибутивного столбца используемое для подписей"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "Сгладить углы полигона"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Использовать значения растра как категории, а не уникальную "
-"последовательность (только CELL)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Атрибуты"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Изменение значения для координаты z"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Записать значения растра как z координаты. Таблица не создана. В настоящее "
-"время поддерживается только для точек."
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Не создавать топологию"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17705,23 +18163,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "Невозможно создать таблицу: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Невозможно дать привилегии на таблицу <%s>"
@@ -17764,192 +18224,192 @@ msgstr "Невозможно установить проекцию"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Выделение памяти и чтение исходного слоя..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Перепроецирование растрового слоя в текущую область."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Область содержащая исходный векторный слой"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Поверхность"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Набор, содержащий исходный векторный слой"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Вывести имя текущего фрейма"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "Имя перепроецируемого растрового слоя"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Путь к базе данных GRASS исходной области"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Имя выходного растрового слоя (по умолчанию: имя исходного)"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "полигон"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Разрешение выходного слоя"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Вывести список растровых слоев исходной области и выйти"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Вывести список векторных слоев исходной области и выйти"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "Вывести все параметры соединения слоя и выйти в стиле скрипта оболочки"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr "Исходная и выходная области могут не совпадать"
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "Исходная и выходная области могут не совпадать"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr "Невозможно получить информацию о проекции выходного растрового слоя"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr "Невозможно получить единицы проекции выходного растрового слоя"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr "Невозможно получить параметры проекции выходного растрового слоя"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Набор <%s> в исходной области <%s> - %s"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Проверка области <%s> набор <%s>"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "Не указан обязательный параметр <%s>"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Не найден растровый слой <%s> в области <%s> в наборе <%s>"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr "Невозможно получить информацию о проекции исходного растрового слоя"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "Невозможно получить единицы проекции исходного слоя"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr "Невозможно получить параметры проекции исходного растрового слоя"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "Невозможно работать с неспроецированными данными (область xy)"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "в <%s@%s> (область <%s>) ... %s"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Вход:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Столбцы: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Строки: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Север: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Юг: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Запад: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Восток: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "разрешение EW: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "разрешение NS: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Выход:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Проектирование..."
 
@@ -17996,7 +18456,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -18009,7 +18469,7 @@ msgstr "растр, структурный анализ ландшафта"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -18024,7 +18484,7 @@ msgstr "Показать индекс"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18172,7 +18632,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "Рассчитывает индекс среднего значения пикселей растрового слоя"
 
@@ -18598,13 +19058,53 @@ msgstr "incidout требует установленного параметра
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "Метод 2: общая дневная иррадиация для заданного дня года"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Константа увеличения диффузии"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Запись растрового слоя <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Неправильный слой <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Использование координат центра: %f %f"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Запись растрового слоя <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Использование координат центра: %f %f"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Запись растрового слоя <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 "Если ипользуется -s и не используются растры горизонтов, numpartitions "
 "должен быть =1"
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
@@ -18612,11 +19112,11 @@ msgstr ""
 "Для экономии памяти и использования теней, нужно использовать горизонты "
 "расчитанные заранее."
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -19001,7 +19501,7 @@ msgid "cumulative costs"
 msgstr "Максимальная совокупная стоимость (опция)"
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Область: %s\n"
@@ -19827,7 +20327,7 @@ msgstr "Отрицательные значения высот в исходны
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Генерация статистики по площади для растровых слоев."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -20019,7 +20519,7 @@ msgstr "Обновление статистики растрового слоя"
 msgid "Statistics for <%s> updated"
 msgstr "Статистика для <%s> обновлена"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
@@ -20027,15 +20527,15 @@ msgstr ""
 "Невозможно конвертировать информацию о проекции исходного растрового слоя в "
 "формат GRASS для проверки"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "Игнорирование проверки проекции"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -20043,24 +20543,25 @@ msgstr ""
 "Проекция набора данных не соответствует текущей области.\n"
 "\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "Размещение PROJ_INFO:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "Набор данных PROJ_INFO:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "Импорт набора данных PROJ_INFO:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20068,7 +20569,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
@@ -20076,9 +20577,9 @@ msgstr ""
 "Учитывать параметр 'location' при генерации новой области из исходного "
 "набора данных.\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr "Проекция исходного набора данных и текущей области совпадают"
 
@@ -20141,8 +20642,8 @@ msgstr "Создание файлов поддержки для %s"
 msgid "Link to raster map <%s> created."
 msgstr "Растровый слой <%s> создан."
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20164,14 +20665,14 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr "Информация о проекте обновлена!"
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "<%s> уже является текущим набором"
@@ -20200,21 +20701,21 @@ msgstr "Имя не файлового источника данных GDAL"
 msgid "Band to select (default is all bands)"
 msgstr "Выбор канала (по умолчанию все каналы)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Перечислить поддерживаемые форматы и выйти"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Расширить охват области на основе нового набора данных"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20226,13 +20727,23 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Вывести список доступных слоев в источнике данных и выйти"
+
+#: ../raster/r.external/main.c:123
+#, fuzzy
+msgid "Format: band number,type,projection check"
+msgstr "Формат: тип слоя итоговое значение минимум максимум"
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Должно быть указано либо  \"-i\" либо \"value=\""
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20241,31 +20752,31 @@ msgstr "Должно быть указано либо  \"-i\" либо \"value=\
 msgid "%s= and %s= are mutually exclusive"
 msgstr "-r и -e взаимоисключающиеся"
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr "Продолжение импорта..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "Растровый слой <%s> уже существует и будет перезаписан"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Чтение карты %s..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Выбранный канал (%d) не существует"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "Растровый слой <%s> создан."
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Количество исходных точек: %d."
@@ -20449,14 +20960,15 @@ msgstr "Имя выходного растрового слоя крутизны
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20763,6 +21275,12 @@ msgstr "-r и -e взаимоисключающиеся"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Область <%s> создана"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "-r и -e взаимоисключающиеся"
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20838,8 +21356,8 @@ msgid "Importing band %d..."
 msgstr "Импорт точек... "
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20960,7 +21478,7 @@ msgstr "%s = %s -- должно быть больше нуля"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "%s Невозможно открыть %s"
@@ -22033,7 +22551,8 @@ msgstr "Проход %d..."
 msgid "Unable to write to temp file"
 msgstr "Невозможно создать временный файл"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Создание точек..."
@@ -22080,7 +22599,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Вывести статистику в стиле shell"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22751,25 +23270,25 @@ msgid "unable to open output file"
 msgstr "невозможно открыть результирующий файл"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 #, fuzzy
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "СЕКЦИЯ 3: Аккумуляция поверхностного стока."
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "СЕКЦИЯ 3: Аккумуляция поверхностного стока."
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22777,8 +23296,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22904,27 +23423,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "СЕКЦИЯ %d: Завершение слоев."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr "СЕКЦИЯ %d: Определение водосбора."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "СЕКЦИЯ 1a (из %1d): Инициализация памяти."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "СЕКЦИЯ 1b (из %1d): Определение потока вне слоя."
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22938,21 +23457,31 @@ msgstr "СЕКЦИЯ 4: Определение длины склона."
 msgid "Closing accumulation map"
 msgstr "невозможно открыть новый слой аккумуляции"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Вычисление разделов"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Вычисление разделов"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Вычисление разделов"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Расчет направления стока..."
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -22978,216 +23507,221 @@ msgstr "Вычисление разделов"
 msgid "Closing half basins map"
 msgstr "невозможно открыть слой бассейнов/полубассейнов"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] "СЕКЦИЯ 1 начало: Инициализация переменных. всего %d секций."
 msgstr[1] "СЕКЦИЯ 1 начало: Инициализация переменных. всего %d секций."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 #, fuzzy
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 "Максимальное количество используемой памяти было меньше чем 3 MB, "
 "установлено по умолчанию = 300 MB."
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr "СЕКЦИЯ 1b (из %1d): Определение потока вне слоя."
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Вход"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Название вводного растрового слоя"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Исходный слой: количество поверхностного стока на ячейку"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Имя исходного растрового слоя (насыщенность)  "
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Исходный слой: формы рельефа блокирующие поверхностный сток, для USLE"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Исходное значение: минимальный размер внешнего водосборного бассейна"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Исходное значение: максимальная длина поверхностного стока, для USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Имя выходного растрового слоя экспозиции склонов"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Выходной слой: количество ячеек дренируемых через каждую ячейку"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Имя выходного растрового слоя экспозиции склонов"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Выходной слой топографического индекса"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Имя выходного растрового слоя экспозиции склонов"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Имя выходного растрового слоя экспозиции склонов"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Имя выходного растрового слоя экспозиции склонов"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Имя выходного растрового слоя экспозиции склонов"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Выходной слой: каждому полубассейну назначено уникальное значение"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Имя выходного растрового слоя крутизны склонов"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "Выходной слой: длина склона и крутизна  (LS) для USLE"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Имя выходного растрового слоя крутизны склонов"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Выходной слой: крутизна склона (S) для USLE"
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Коэффициент преобразования для z-значений"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr "Максимальное количество памяти для использования с флагом -m (в MB)"
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Разрешить только горизонтальный и вертикальный сток"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 "Включите опцию свопинга дисковой памяти: Операция выполняется слишком "
 "медленно"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "Вы должны выбрать выходной слой."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s=%s - должно быть положительное число"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -23198,12 +23732,12 @@ msgstr ""
 "    basin, stream, half.basin, slope, or lS\n"
 "    параметр порога бассейна обязательно должен быть задан."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Область Lat/Long не поддерживается"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "Подпроцесс завершился неудачно с кодом %d"
@@ -23389,21 +23923,21 @@ msgstr "север=%f"
 msgid "Could not read maximum distance. Aborting."
 msgstr "Невозможно прочитать максимальное расстояние. Выход"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "OOPS: строки изменены с %d на %d"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "OOPS: столбцы изменены с %d на %d"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Расчет слоя %01d из %01d (угол %lf, растровый слой <%s>)"
@@ -23606,7 +24140,7 @@ msgstr "Выходной world файл TIFF "
 msgid "Converting <%s>..."
 msgstr "Преобразование %s..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "Растр <%s> несовпадение типа"
@@ -23683,7 +24217,7 @@ msgstr ""
 "Рассчитать одномерную статистику используя не-нулевые ячейки растрового слоя"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23696,11 +24230,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Невозможно открыть растровый слой <%s>"
@@ -23713,61 +24250,88 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"Использовать такое же разрешение, как у входящего RASTER3D слоя, для "
+"выходных 2D слоев; независимо от параметров областей"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 "Рассчитать одномерную статистику используя не-нулевые ячейки растрового слоя"
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "input= и source= взаимоисключающие"
+
 #: ../raster/r.regression.line/main.c:50
 #, fuzzy
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "Рассчитать линейную регрессию для двух растровых слоев: y = a + b*x"
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "Создать растровый слой с расстояниями до объектов в исходном слое"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Имя выходного слоя расстояний"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Имя выходного растрового слоя"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Максимальное расстояние между точками в единицах карты"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Максимальное расстояние до ближайшей линии"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr "Должны быть указаны как минимум одни distance= и value="
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Неизвестная метрика: [%s]."
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Максимальное расстояние между точками в единицах карты"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Невозможно создать временный файл <%s>"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23778,129 +24342,135 @@ msgstr "Невозможно создать временный файл <%s>"
 msgid "Reading raster map <%s>..."
 msgstr "Чтение растрового слоя <%s>..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Запись выходного растрового слоя %s... "
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Невозможно прочитать таблицу цветов для растрового слоя <%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "растр, null данные"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Управление NULL-значениями заданного растрового слоя."
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "3d растровый слой для которого корректируются нулевые значения"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Список значений ячеек, которые будут установлены в NULL"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "Значение, которое заменит нулевое значение"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "Выполнить только если формат слоя с плавающей запятой"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "Выполнить только если слой целочисленный"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr "Выполнить только если слой не имеет битмэп файла с NULL-значениями"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr "Создание битмэп файла с NULL-значениями проверив всех ячейки данных"
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr "Удалить растрового файла битмэп с NULL-значениями"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+#, fuzzy
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr "Создание битмэп файла с NULL-значениями проверив всех ячейки данных"
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "Растровый слой <%s> не найден в текущем наборе <%s>"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr "%s - недопустимое значение для null"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "Растровый слой <%s> уже имеет битмэп"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "<%s> целочисленное значение растра (CELL)"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "<%s> целочисленное значение растра (CELL). Используется null=%d."
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "<%s> растровый слой с плавающей запятой"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Запись нулевого файла для растрового слоя <%s>... "
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "Растровый слой <%s> изменен."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Удаляется нулевой файл для растрового слоя <%s>..."
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s: %s: значение не соотвествует спецификации"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: значение не соотвествует спецификации"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Запись новых данных для растрового слоя <%s>..."
@@ -23949,7 +24519,7 @@ msgstr "Неизвестный тип: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Невозможно закрыть растровый слой <%s@%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "Невозможно закрыть выходной растровый слой"
 
@@ -24072,21 +24642,26 @@ msgstr "Затравка для генератора случайных чисе
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Запись слоя..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "-r и -e взаимоисключающиеся"
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "Ошибка параметра"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr "Ошибка(и) во время вычислений с плавающей точкой"
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr "Возникло переполнение во время вычислений"
 
@@ -24095,113 +24670,125 @@ msgstr "Возникло переполнение во время вычисле
 msgid "Known functions:"
 msgstr "Известные функции:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Импорт бинарного растрового файла в растровый слой GRASS."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Импортируемый растровый файл"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Выбор канала (по умолчанию все каналы)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Имя целевой области для изображений"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr "Имя области для чтения проекции, не для трансформации GCP"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Имя исходного растрового слоя высот [метры]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Название для создаваемой области"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Невозможно описать таблицу <%s>"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Игнорировать проекцию (использовать проекцию области)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Отобразить текущие параметры подключения и выйти"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Сохранять номера каналов вместо использования имен цветов каналов"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "Отобразить таблицы и выйти"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr "Вы должны указать целевую область, отличную от выходной области"
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "Необходимо задать верхний и нижний слой"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "Число поддиапазонов должна быть равна или больше, чем 1"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Невозможно открыть источник данных <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "Растровый слой <%s> уже существует"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 #, fuzzy
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
@@ -24210,15 +24797,15 @@ msgstr ""
 "Импорт невозможен, исходный растровый слой повёрнут. Можно использовать "
 "'gdalwarp' для трансформации слоя с ориентацией верха на север."
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -24226,94 +24813,99 @@ msgstr ""
 "Невозможно конвертировать проекцию исходного слоя в формат GRASS; невозможно "
 "создать новую область."
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Невозможно создать область: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Продолжение импорта..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Невозможно открыть файл эталонов"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Невозможно получить канал растра"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Копирование %d GCPS  в точечный файл для <%s>"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr "GCP имеет следующую координатную систему OpenGIS WKT:"
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "Перепроецирование таблицы GCPs:"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "* Исходная проекция таблицы GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "* Выходная проекция таблицы GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Ошибка в pj_do_proj (невозможно перепроектировать GCP %i)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "Невозможна трансляция ключевых значений проекции исходных GCP"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr "Невозможно получить информацию о проекции целевой области"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "Невозможно получить единицы проекции целевой области"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr "Невозможно получить параметры проекции целевой области"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Запись растрового слоя <%s>..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "Установка цветовой таблицы серого для <%s> (8-бит, полный диапазон)"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr ""
 "Установка цветовой таблицы серого для <%s> (16-бит, диапазон изображения)"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr " ."
@@ -24552,7 +25144,7 @@ msgstr "Запись векторного слоя <%s> ..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24904,32 +25496,37 @@ msgstr "Только %d единицы %s разрешены"
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "Невозможно прочитать fp диапазон для растрового слоя <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "'layer' должен быть > 0"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Чтение растрового слоя <%s>..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Корреляция"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr ""
 "Сгенерировать ячейки со случайными значениями и пространственной зависимостью"
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Максимальное допустимое расстояние от точки до линии"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Максимальное количество загружаемых столбцов "
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25380,33 +25977,33 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "Максимальное количество итераций"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%s: Невозможно найти охват для линий"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "Охват:  l = %d, r = %d, t = %d, b = %d"
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr "Проход номер %d"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Удалено %d пикселей "
 msgstr[1] "Удалено %d пикселей "
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "Прореживание успешно выполнено."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 "Прореживание не завершено, попробуйте увеличить значение параметра "
@@ -26497,163 +27094,235 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'layer' должен быть > 0"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "Сканирование данных ..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Диапазон:     минимум         максимум\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Невозможно создать временный файл"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Создать растровый слой из набор координат используя одномерную статистику."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Ввод прерван"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Файл, содержащий правила перекодирования"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "Не найдено ни одной точки с данными"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Изменение значения для координаты z"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "вектор, трансформация"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "Диапазон фильтра для данных z (минимум,максимум)"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "Масштаб применяемый для данных z"
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+#, fuzzy
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+"Удалить <trim> процент наименьших и <trim> процент наибольших наблюдений"
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Название выходного растра"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Импортированы целочисленные значения"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Импортированы целочисленные значения"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Вывести историю растра вместо информации"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "Установить регион совпадающий с растровым слоем"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
 msgstr ""
-"Использовать другую проекцию для набора данных (использовать проекцию "
-"области)"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:288
+#, c-format
+msgid "Flag %c makes sense only with %s option or -%c flag"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "Группа <%s> не существует"
+
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
+msgstr "zrange при сканировании учитываться не будет"
+
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
 #, fuzzy, c-format
 msgid "Input file <%s> does not exist"
 msgstr "Группа <%s> не существует"
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
 #, c-format
 msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
-#, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Неизвестная опция правила: '%s'"
-
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"Невозможно конвертировать информацию о проекции исходного слоя в формат "
-"GRASS для проверки"
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "GRASS LOCATION PROJ_INFO:\n"
-
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr ""
-"Рассмотреть создание новой области с параметром 'location' из исходного "
-"набора данных.\n"
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Неизвестная опция правила: '%s'"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "неверное значение смещения на восток"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr "Невозможно вычислить персентиль без заданной опции pth!"
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr "Невозможно вычислить укороченное среднее без заданной опции trim!"
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr "zrange при сканировании учитываться не будет"
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Область <%s> создана"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "Чтение данных..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Невозможно открыть выходной файл <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "Запись слоя ..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%lu точек найдено в регионе."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "Сканирование данных ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr "Невозможно вычислить персентиль без заданной опции pth!"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Диапазон:     минимум         максимум\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr "Невозможно вычислить укороченное среднее без заданной опции trim!"
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Невозможно открыть файл [%s] для чтения"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "GRASS LOCATION PROJ_INFO:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+"Рассмотреть создание новой области с параметром 'location' из исходного "
+"набора данных.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"Невозможно конвертировать информацию о проекции исходного слоя в формат "
+"GRASS для проверки"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26887,12 +27556,6 @@ msgstr "Масштабировать %s[%d,%d] в %s[%d,%d]"
 msgid "Header File = %s"
 msgstr "Файл заголовка = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "Невозможно создать файл <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27730,6 +28393,13 @@ msgstr "Введите количество строк, которые буду
 msgid "Invalid vrange"
 msgstr "неверное значение смещения на восток"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27786,6 +28456,11 @@ msgstr "Неправильная строка %lu координаты y сто
 msgid "Writing to output raster map..."
 msgstr "Запись выходного растрового слоя %s... "
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr "%lu точек найдено в регионе."
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr "Создать слой теневого рельефа из слоя рельефа (DEM)."
@@ -28159,27 +28834,27 @@ msgstr "вектор"
 msgid "Delete the null file"
 msgstr "вектор"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "таблица категорий для [%s] установлена в %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] является реклассификацией другого слоя. Выход."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Запись нулевого файла для [%s]... "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Удаляется нулевой файл для [%s]...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Готово."
 
@@ -28214,32 +28889,12 @@ msgstr "Контраст"
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr "Создать векторный слой заданных изолиний из растрового слоя."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Шаг горизонталей"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Список уровней изолиний"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Список уровней изолиний"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Минимальный уровень изолиний"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Максимальный уровень изолиний"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "Минимальное количество точек в изолинии (0 -> бесконечность)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -28250,29 +28905,31 @@ msgstr "Должны быть выбраны либо 'rules' либо 'col'"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Невозможно создать таблицу: '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Невозможно создать индекс для таблицы <%s>, ключ <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "Чтение атрибутов..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Невозможно вставить новую запись: '%s'"
@@ -29104,11 +29761,6 @@ msgstr "Имя конечного точечного векторного сло
 msgid "Size of point cache"
 msgstr "Размер точечного кэша"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Выходной растровый слой для тона"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29419,7 +30071,8 @@ msgstr "Тип поля не поддерживается (должен быть
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "Невозможно выбрать данные из таблицы"
 
@@ -30071,11 +30724,11 @@ msgstr "Вывести статистику в стиле shell"
 msgid "3D Raster map <%s> not found"
 msgstr "3d растровый слой <%s> не найден"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Ошибка чтения файла истории"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -30272,6 +30925,40 @@ msgstr ""
 msgid "Update range"
 msgstr "Диапазон выходных данных"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Дисперсия"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+"Комбинировать красный, зеленый и синий слои в единый композитный растровый "
+"слой."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Имя выходного растрового слоя"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "Размер точечного кэша"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Ошибка выделения памяти"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Запись нового растрового слоя..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30447,6 +31134,151 @@ msgstr "Datetime, datetime1/datetime2, или нет"
 msgid "Timestamp format is invalid"
 msgstr "Неизвестный формат временной метки:"
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Пожалуйста, предоставьте значения g3d RGB слоев"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Векторный слой <%s> не найден"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Расчет направления стока..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr ""
+"Имя исходного точечного векторного слоя, у которого редактируется "
+"атрибутивная таблица"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Имя векторного слоя для редактирования"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Имя выходного растрового слоя экспозиции склонов"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Имя растрового слоя (слоев) для яркости"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "     "
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Количество итераций"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr ""
+"Ширина потока (в метрах). По умолчанию используется ширина растровой ячейки"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "вектор, интерполяция"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Не указан растровый слой"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "База данных по умолчанию не указана"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Максимальное количество итераций"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Максимальное количество итераций"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "Количество ячеек между линиями стока"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Невозможно описать таблицу <%s>"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Векторный слой <%s> не 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Ошибка чтения слоя тона"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Стоимость для изолиний"
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30975,6 +31807,60 @@ msgstr "Построение топологии для векторного сл
 msgid "Failed to find intersection segment"
 msgstr "Ошибка интерпретации ширины как целого числа"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Невозможно вставить в таблицу: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Невозможно открыть векторный слой <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Таблица <%s> не существует в базе данных <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Растровый слой <%s> уже существует и будет перезаписан"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Растровый слой <%s> уже существует и будет перезаписан"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Невозможно создать векторный слой <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Невозможно открыть БД <%s> с помощью драйвера <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Невозможно создать таблицу: <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Невозможно скопировать атрибутивную таблицу в векторный слой <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Невозможно создать таблицу: <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -31005,7 +31891,7 @@ msgstr "Имя исходного векторного слоя (A)"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr "Требуется для операции 'connect'. Соединяет точки в заданных пределах."
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -31019,8 +31905,8 @@ msgstr "Имя исходного точечного векторного сло
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr "Необходимо для операции 'connect'"
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -31048,80 +31934,121 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "Найти кратчайший путь по векторной сети"
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Нет таблицы"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr "Требуется для операции 'connect'. Соединяет точки в заданных пределах."
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Имена исходных файлов"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Необходимо для операции 'connect'"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "Присваивает уникальные категории новым точкам"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr "Для операции 'nodes'"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Конец точечного векторного слоя"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Линейный слой"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr "Неизвестная операция"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "Значение порога должно быть >= 0"
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Выполнить обслуживание сети."
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "Выполнить обслуживание сети."
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "Невозможно открыть векторный слой <%s> на уровне топологии %d"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "в выходной файл записано %d точек"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "%d объектов записано в '%s'."
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "Копирование атрибутов..."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr "Невозможно скопировать атрибутивную таблицу в выходной слой"
@@ -31141,8 +32068,9 @@ msgstr "найдено %d точек: %.3lf %.3lf %.3lf категория ли
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "точка"
@@ -31175,9 +32103,9 @@ msgstr "Имя столбца, содержащего координату y"
 msgid "Name of column containing z coordinate"
 msgstr "Имя столбца, содержащего координату z"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "Создать выходной 3D слой"
@@ -31392,13 +32320,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Векторный слой <%s> уже существует и будет перезаписан"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "Векторный слой <%s> уже существует"
@@ -31601,27 +32529,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr "Выпрямить внешние углы"
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Не показывать номера категорий"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Вывести атрибуты векторного слоя."
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31629,172 +32557,172 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "Опция масштаба требует magnitude_map"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'layer' должен быть > 0"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Порог был сброшен в %g"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Неверный запрос на удаление"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Порог в единицах слоя = %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Невозможно прочитать векторный слой"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Невозможно выбрать данные из таблицы <%s>"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Тип данных столбца не поддерживается"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr "Буферизация полигонов..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Нет ни одной записи для категории %d в таблице <%s>"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Неправильный размер атрибута (%.3f) для категории %d"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "Порог в единицах слоя: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Буферизация полигонов..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Буферизация линий..."
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "Построение частей топологии..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr "Прилипание границ..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Разрыв полигонов"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "Удаление дубликатов..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "Разрыв границ..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Очистка границ в узлах..."
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Удалить висящие узлы"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Удалить соединения"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Назначение островов..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Расчет центральных положений..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Невозможно рассчитать центроид полигона"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Очистка границ в узлах..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Разрыв границ..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Расчет центральных положений..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Невозможно рассчитать центроиды полигонов"
@@ -31991,7 +32919,7 @@ msgstr ""
 #: ../vector/v.surf.rst/main.c:524
 #, fuzzy, c-format
 msgid "Unable to create %s"
-msgstr "Невозможно создать файл <%s>"
+msgstr "Невозможно создать таблицу: %s"
 
 #: ../vector/v.vol.rst/main.c:555
 #, fuzzy, c-format
@@ -32099,7 +33027,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Выбор"
+msgstr "Обработка полигонов..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -32191,7 +33119,7 @@ msgstr "прервано"
 msgid "Not enough disk space--cannot write files"
 msgstr "%d байт на диске для временных файлов."
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -32241,11 +33169,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -32256,15 +33185,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -32272,12 +33201,12 @@ msgstr ""
 msgid "Cost"
 msgstr "Контраст"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr "Поле стоимости узлов (числовое)"
 
@@ -32305,12 +33234,12 @@ msgstr "Тип объекта"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Невозможно создать векторный слой <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 #, fuzzy
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr "Выделить подсети для ближайших центров (направление от центра)."
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 #, fuzzy
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
@@ -32319,7 +33248,7 @@ msgstr ""
 "Центральный узел должен быть открыт (стоимость >=0). Цена в центральном узле "
 "используется при расчете."
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 #, fuzzy
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
@@ -32328,29 +33257,47 @@ msgstr ""
 "Категории центров (точек в узле), для которых будет выделена сеть, слой для "
 "этой категории задается опцией nlayer"
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Слой/таблица"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Максимальное расстояние для сети"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "Количество центров: [%d] (nlayer: [%d])"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 #, fuzzy
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr "Недостаточно центров для выбранного слоя. Ничего не будет назначено."
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Вычисление стоимостей от центров ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr "Невозможно получить сегмент линии, сегмент вне линии"
 
@@ -32705,83 +33652,83 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Ввод прерван"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Создание слоев со случайными 2D/3D точечками."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "Число создаваемых точек"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Чтение исходного векторного слоя"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "Минимальная высота z (требуется указать флаг -z или имя столбца)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "Максимальная высота z (требуется указать флаг -z или имя столбца)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Имя столбца, содержащего координату x"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Запись данных Z в столбец вместо 3D вектора"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Тип цветовой таблицы"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Создать выходной 3D слой"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Выделение объектов..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "Число точек должно быть > 0 (задано %d)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d из %d контуров выбрано из векторного слоя <%s>"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Имя существующего векторного слоя"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr "Таблица должна содержать только два столбца"
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
@@ -32789,18 +33736,18 @@ msgstr ""
 "Вы создали столбец типа, который не поддерживается. Этот модуль поддерживает "
 "только типы INTEGER и DOUBLE PRECISION"
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "Начальный векторный слой <%s> не содержит точек в текущем регионе"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "Начальный векторный слой <%s> не содержит точек в текущем регионе"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "Создание точек..."
 
@@ -32995,6 +33942,159 @@ msgstr "Невозможно обновление базы данных"
 msgid "Impossible to write in the database"
 msgstr "Запись в базу данных невозможна "
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Генерализация (%s)..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Классификация точек"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "Не найдено ни одной точки с данными"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Импортированы целочисленные значения"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Импортированы целочисленные значения"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> неверное количество точек"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Значение максимального расстояния"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Количество итераций \t= %d ячеек\n"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Количество итераций \t= %d ячеек\n"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Стандартное отклонение"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "неверное значение смещения на восток"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -33066,7 +34166,7 @@ msgstr "Системные таблицы вместо таблиц пользо
 msgid "Force 2D output even if input is 3D "
 msgstr "Принуждение вывода целых значений"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -33284,6 +34384,183 @@ msgstr "Невозможно выбрать атрибуты"
 msgid "Labeled %d lines."
 msgstr "Подписано %d линий."
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "Не найдено ни одной точки с данными"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "растр"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d кластеров."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Разделение кластеров"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Номер слоя (векторный слой A)"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Максимальное расстояние для сети"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Минимальное количество пикселей в классе"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Разделение кластеров"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Число классов должно быть < 256"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Размер области соседства должен быть положительным"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Подсчет сайтов в квадратах..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Точки не найдены, пропуск type=point"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Создание центроидов..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s=%s - должно быть положительное число"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Используемое максимальное расстояние между точками: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Не найдено растровых слоев"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Максимальное расстояние до ближайшей линии"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, fuzzy, c-format
+msgid "Mean: %g"
+msgstr "Среднее = %.5lf"
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Стандартное отклонение"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Используемое максимальное расстояние между точками: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Поиск стоимостного пути"
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr "npoints = %d, nterrain = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Линии не найдены, type=line пропущено"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Запись выходного растрового слоя %s... "
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Чтение ввода..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "Не найдено ни одной точки с данными"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+#, fuzzy
+msgid "Core density ..."
+msgstr "вектор, плотность ядра"
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "найдено %d классов"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "найдено %d классов"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -33352,7 +34629,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr "Отобразить типы/имена полей для связи БД со слоем %d:"
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33655,14 +34932,8 @@ msgstr "Записи не выбраны"
 msgid "Loading data..."
 msgstr "Загрузка данных..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Векторный слой <%s> не 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Столбец <%s> не найден"
@@ -33718,17 +34989,17 @@ msgstr "Создание файлов поддержки для растрово
 msgid "Color can be updated from database only if use=attr"
 msgstr "Цвет может быть обновлен из базы данных только если use=attr"
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "Конвертировано полигонов: %d из %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "Конвертировано точек/линий: %d из %d"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "Чтение полигонов..."
 
@@ -33896,15 +35167,15 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Неизвестная опция '%s'"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr "Связывание существующих узлов (Задача коммивояжера)."
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
@@ -33912,63 +35183,63 @@ msgstr ""
 "Заметьте, что TSP является NP-hard, в этом модуле используется эвристический "
 "алгоритм, и созданный цикл может быть субоптимальным"
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr "Категории точек ('cities') в узлах (слой задается nlayer)"
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr "Слой узлов (используется для городов)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "Столбец стоимостных дуг в обратном направлении (число)"
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Имя выходного файла (если не указано или '-' вывод в stdout)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr "Категории точек ('cities') в узлах (слой задается nlayer)"
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Количество городов : [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "Недостаточное количество городов (<2)"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Создание центроидов..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "Нет точек категории [%d]"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Отсутствует запись для точки (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Финальный узел [%d] недостижим из узла [%d]"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Невозможно открыть файл <%s> для записи "
@@ -34141,6 +35412,21 @@ msgstr "Выбрать тип: линия или полигон"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "4 параметра, требуемые для параметра 'spatial'"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Неизвестная опция правила: '%s'"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Игнорирование проверки проекции"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -34269,7 +35555,7 @@ msgid "Processing features..."
 msgstr "Обработка объектов..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "Невозможно рассчитать центроиды полигонов"
 
@@ -34337,7 +35623,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Невозможно использовать столбец <%s>"
@@ -34746,7 +36032,7 @@ msgstr "Нет точек категории [%d]"
 msgid "%d records updated"
 msgstr "обновлено %d записей"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34854,9 +36140,8 @@ msgstr "Неизвестная операция"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Невозможно разбить строку %s"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "Трансформирование объектов..."
 
 #: ../vector/v.transform/main.c:290
@@ -35310,7 +36595,7 @@ msgstr "Ошибка открытия 3d растрового слоя <%s>"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Тип поля не поддерживается (должен быть строковым)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Чтение объектов..."
@@ -35394,6 +36679,10 @@ msgstr "Имя столбца"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Столбцы"
 
@@ -35463,57 +36752,62 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "Печатать усредненные значения вместо интервалов"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Столбец <%s> не найден в таблице <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Тип растра - целочисленный и тип поля - с плавающей запятой"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "Тип растра - с плавающей запятой и тип поля - целочисленный, некоторые "
 "данные потеряны!!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "найдено %d линий или границ в векторном слое <%s@%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr "Пропущено %d точек, находящихся за пределами данного региона"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr "Пропущено %d точек, не имеющих категорий"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "Больше точек (%d) категории %d, значение установлено в  'NULL'"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d категорий загружено из вектора"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d повторяющихся категорий в векторе"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d категорий загружено из таблицы"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "в таблице отсутствуют %d категорий из вектора"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "обновлено %d записей"
@@ -36350,7 +37644,9 @@ msgstr "Вывести статистику в стиле shell"
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "Должны быть выбраны либо 'rules' либо 'col'"
+msgstr ""
+"Либо \"-i\" or \"-r\" либо \"color\", \"rast\" либо \"rules\" должно быть "
+"указано!"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -36387,32 +37683,42 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "Вывести атрибуты векторного слоя."
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "WHERE условия SQL команды не имеют ключевого слова 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Отображать вертикальный разделитель записей"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 "Вывести минимальный охват выбранных векторных объектов региона  вместо "
 "атрибутов"
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Регион\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Заполнить значения базы данных из векторных объектов."
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
@@ -36421,21 +37727,21 @@ msgstr ""
 "Невозможно открыть векторный слой <%s> на уровне топологии. Флаг '%c' "
 "требует уровень топологии."
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "Невозможно открыть выбранный указатель"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Невозможно выбрать записи из таблицы <%s>"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "Невозможно получить охват полигона %d"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "Невозможно получить охват линии %d"
@@ -36731,7 +38037,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "из таблицы выбрано %d строк "
 msgstr[1] "из таблицы выбрано %d строк "
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Невозможно создать таблицу: <%s>"
@@ -36758,7 +38064,7 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Запрос к базе данных..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
@@ -36768,14 +38074,14 @@ msgstr ""
 "большого (%d) категорий запроса. Все результирующие значения для категории 0 "
 "неверны."
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 "Несколько результатов запроса, выходное значение установлено в NULL "
 "(категория [%d])"
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr "Невозможно выбрать запись"
 
@@ -36791,6 +38097,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Не найдена цветовая таблица растрового слоя <%s>"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Обновление базы данных ..."
@@ -37066,7 +38377,8 @@ msgstr "%s будет аккумулировать эти значение вм
 msgid " Database connection not defined for layer <%s>"
 msgstr "Для слоя %d не определено соединение с базой данных"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Тип данных столбца не поддерживается"
@@ -37085,52 +38397,52 @@ msgstr "[%d] точек без категорий (nfield: [%d])"
 msgid "Wrong input format: %s"
 msgstr "Неверный исходный формат: %s"
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "Нет точек категории [%d]"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr "Точка категории [%d] недостижима из точки категории [%d]"
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr "Точка %f,%f недостижима из точки %f,%f"
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] ошибок исходного формата"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr "пропущено [%d] точек заданной категории"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr "%d пункт(ы) назначения недостижим (включая точки за границами порога)"
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "Найти кратчайший путь по векторной сети"
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 "Имя файла, содержащего начальную и конечную точки. Если не задано, то "
 "читается из стандартного входа (stdin)"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr "Максимальное расстояние для сети"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
@@ -37140,7 +38452,7 @@ msgstr ""
 "путь не может быть найден и выводится сообщение об ошибке. Для ускорения "
 "процесса указывайте как можно меньшие значения."
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 "Записать выходные данные как оригинальные входные сегменты, а не каждый путь "
@@ -37735,46 +39047,50 @@ msgstr "Максимальное количество точек в сегмен
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Записать вертексы линий"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "Сглаживание должно иметь положительное значение"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Неизвестный тип столбца '%s'"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "Невозможно получить единицы проекции исходного слоя"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "     "
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "     "
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Число классов должно быть < 256"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -37877,10 +39193,6 @@ msgstr "Тип поля должен быть числовым"
 msgid "Reading categories..."
 msgstr "Присоединение категорий..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Трансформирование объектов..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -38053,7 +39365,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Интерполировать точки между вертексами линий"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Невозможно скопировать таблицу <%s>"
@@ -38322,113 +39634,113 @@ msgstr ""
 "Для определения нового соединения Вы должны указать параметры: драйвер, база "
 "данных, таблица [, ключ [, слой]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Перепроецирование растрового слоя в текущую область."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "Область содержащая исходный векторный слой"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "Набор, содержащий исходный векторный слой"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Имя перепроецируемого растрового слоя"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Набор, содержащий исходный векторный слой"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Вывести список векторных слоев исходной области и выйти"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "только векторные 3D слои"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 #, fuzzy
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 "Представить что координата z - высота эллипсоида и пересчитать если возможно"
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Не найдено растровых слоев"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Не найден векторный слой <%s> в области <%s>, набор <%s>"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "Набор <%s> в исходной области <%s> - доступ запрещен"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "Не найден набор <%s> в исходной области <%s>"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "Чтение исходного векторного слоя"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Векторный слой <%s> не 3D"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr "Ошибка в pj_do_transform"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Перепроецирование примитивов:"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Невозможно открыть векторный слой <%s@%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Создать новый векторный слой путем комбинирования других векторных слоев."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
@@ -38436,101 +39748,122 @@ msgstr ""
 "Имя результирующего векторного слоя, в котором находятся ограниченные наборы "
 "исходных векторных слов, записаны в"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Не создавать топологию"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
 msgstr ""
-"Добавить файлы к существующему (должна быть активирована опция переписывания "
-"существующих файлов)"
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "Также копировать атрибутивную таблицу"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr "Поддерживается только таблица слоя 1 "
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+"Добавить файлы к существующему (должна быть активирована опция переписывания "
+"существующих файлов)"
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Отсутствующая таблица"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "Ключевые поля отличаются"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "Количество полей не совпадает"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "Имена полей отличаются"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "Типы полей отличаются"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr "Различная длина строковых полей"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Ключевое поле не найдено"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "Выходной слой не 3D"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Залатывание векторного слоя <%s@%s>..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 "Ошибка чтения векторного слоя <%s> - некоторые данные могут быть "
 "некорректными"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Построение топологии для векторного слоя  <%s>..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr "Пересечения на границах должны прилепляться"
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr "Общие строки между файлами должны быть отредактированы"
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr "Информацию в заголовке также, вероятно, нужно отредактировать"
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr "Залатано %d векторных слоев"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "Невозможно открыть указатель выбора: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "Невозможно получить строку"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Неизвестный тип поля"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Невозможно вставить новую запись: %s"
@@ -39208,16 +40541,12 @@ msgstr[1] "%d вершин добавлено"
 msgid "Operation not implemented"
 msgstr "Действие не реализовано"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Конвертировать векторные слои OGR в векторные слои GRASS."
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "Имя источника данных OGR"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
@@ -39227,7 +40556,7 @@ msgstr ""
 "\t\tShape-файл ESRI: папка, содержащая shape-файлы\n"
 "\t\tФайл MapInfo: папка, содержащая файлы MapInfo"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -39237,50 +40566,50 @@ msgstr ""
 "\t\tshape-файл ESRI: имя shape-файла\n"
 "\t\tФайл MapInfo: имя файла MapInfo"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "Импортировать только субрегион"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "Формат: xmin,ymin,xmax,ymax - обычно З,Ю,В,С"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Минимальный размер импортируемой площади (в квадратных единицах)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 "Небольшие полигоны и острова игнорируются. Должны быть выше, чем порог "
 "прилипания^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr "По выбору изменить исходный тип по умолчанию"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Нет активных контрольных точек"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Очистка границ в узлах..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Построить полилинии из линий или границ."
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Удалить дублирующиеся центроиды полигонов"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -39288,171 +40617,172 @@ msgstr ""
 "Список имен полей, которые используются вместо оригинальных имен, первое "
 "используется для поля категорий"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Имя поля используемого для подписей категорий растра"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Имя столбца"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "Если имя не задано, то используется имя исходного слоя"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "Не чистить полигоны (не рекомендуется)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "Принуждение вывода целых значений"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "Ограничить импорт текущим регионом"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "Написать имена полей строчными буквами"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Невозможно открыть источник данных <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Позиция указателя не поддерживается драйвером MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, fuzzy, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr "Источник данных содержит %d слоев:"
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "Слой < %s > недоступен"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Слой < %s > недоступен"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "Невозможно получить информацию о векторном слое <%s>"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Столбец <%s> не найден в таблице <%s>"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 "Выбрать или параметр для текущего региона или пространственную опцию, но не "
 "оба одновременно"
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "4 параметра, требуемые для параметра 'spatial'"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Расстояние буферизации в единицах карты"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Невозможно создать векторный слой <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Ключевое поле  '%s' не найдено"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Тип ключевого поля не является целочисленным"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Столбец <%s> не найден в таблице <%s>"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+"Записать поле <%s> с фиксированной длиной %d знаков (может быть укорочено)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 "Записать поле <%s> с фиксированной длиной %d знаков (может быть укорочено)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -39461,66 +40791,66 @@ msgstr ""
 "Ширина поля %s составляет 255 (не определена OGR), некоторые строки могут "
 "быть укороченны!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 "Записать поля %s с фиксированной длиной %d знаков (может быть укорочено)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Тип поля не поддерживается (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Импортирование %d объектов слоя..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s без геометрии"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Разрыв полигонов"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Замкнуть границы (порог = %.3e):"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "Очистка границ в узлах..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Разрыв границ..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Преобразовать висячие границы в линии:"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Преобразовать мосты границ в линии:"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Расчет центральных положений..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "Запись центроидов..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39532,99 +40862,99 @@ msgstr ""
 "в атрибутивной таблице. Количество объектов для таких полигонов хранится как "
 "категория в слое %d"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d исходных полигонов"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d исходных полигонов"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Общая площадь: %e (%d полигонов)"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Общая площадь: %e (%d полигонов)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Площадь перекрытия: %e (%d полигонов)"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Площадь перекрытия: %e (%d полигонов)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Полигоны без категорий: %e (%d полигонов)"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Полигоны без категорий: %e (%d полигонов)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Порог прилипания для границ"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Невозможно удалить таблицу: %s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -39673,17 +41003,21 @@ msgstr "Невозможно записать часть геометрии"
 msgid "Unknown geometry type"
 msgstr "Неизвестный тип геометрии"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Имя выходного файла"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Связываемый растровый файл"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39695,22 +41029,22 @@ msgstr ""
 "\t\tshape-файл ESRI: имя shape-файла\n"
 "\t\tФайл MapInfo: имя файла MapInfo"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Имя выходного растрового слоя (по умолчанию: имя исходного)"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "Вывести список доступных слоев в источнике данных и выйти"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Вывести список доступных слоев в источнике данных и выйти"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 #, fuzzy
 msgid "Format: layer name,type,projection check,geometry"
 msgstr "Формат: тип слоя итоговое значение минимум максимум"
@@ -39764,7 +41098,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "Неверный порядок"
+msgstr "Столбец стоимости узлов"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -39773,17 +41107,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "Создать новый вектор как ссылку (только для чтения) на слой OGR."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr " "
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Невозможно создать файл <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "Растровый слой <%s> создан."
@@ -39923,16 +41257,16 @@ msgstr "Невозможно создать выходной слой"
 msgid "Unable to close new 3d raster map"
 msgstr "Невозможно закрыть новый 3d растровый слой"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "линия"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "Разделить сеть изолиниями стоимости."
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 #, fuzzy
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
@@ -39943,43 +41277,43 @@ msgstr ""
 "Центральный узел должен быть открыт (значение>=0). Цена в центральном узле "
 "используется при расчете."
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "Стоимость для изолиний"
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr "Iso стоимость %d: %f"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "Количество центров: %d (nlayer: %d)"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr "Недостаточно центров для выбранного слоя. Ничего не будет назначено."
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Вычисление стоимостей от центра %d..."
@@ -40157,6 +41491,138 @@ msgstr ""
 "Замечение: Минимум первого класса включает\n"
 "\n"
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Для слоя %d не определено соединение с базой данных"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Нет записей для категории [%d]"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Нет записей для категории [%d]"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Столбец <%s> не найден"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Создать векторные точки как 3D-точки"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Конвертировать векторные слои OGR в векторные слои GRASS."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Номер слоя (из)"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld категории"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Номер слоя (в)"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Номер слоя (в)"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Слой к которому добавить столбец"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Слой к которому добавить столбец"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Слой к которому добавить столбец"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Тип поля должен быть числовым"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Имя столбца определителя цвета (для использования с флагом -a)"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "Невозможно прочесть цвет"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "Масштаб применяемый для данных z"
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "Масштаб применяемый для данных z"
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Ограничить импорт текущим регионом"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Нет таблицы"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -40349,7 +41815,7 @@ msgstr "Выделение объектов..."
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> неверное количество точек"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Должна быть указана как минимум одна опция из %s "
@@ -40661,50 +42127,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "Дополнительная таблица не может быть удалена"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Невозможно открыть векторный слой <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Невозможно открыть БД <%s> с помощью драйвера <%s>"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Конвертировать векторные слои OGR в векторные слои GRASS."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Субрегион"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Номер слоя (в)"
 
-#: ../vector/v.in.lidar/main.c:606
-#, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Невозможно открыть БД <%s> с помощью драйвера <%s>"
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Слой к которому добавить столбец"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Название исходного векторного слоя разреженных точек"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Номер слоя (векторный слой A)"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Импортированы целочисленные значения"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Корреляция"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Импортированы целочисленные значения"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Импорт точек... "
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> неверное количество точек"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Имя исходного точечного векторного слоя"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Координаты затравки"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Вывод результата в stdout, без обновления атрибутивной таблицы"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
+#, fuzzy, c-format
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Номер слоя (из)"
+
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "Импорт точек... "
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "Scanning %lu points..."
+msgstr "Импорт точек... "
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
 msgstr "Загружено %d точек"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "Загружено %d точек"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "Загружено %d точек"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "Загружено %d точек"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:791
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered out by class number"
 msgstr "%d точек вне порога"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d точек вне порога"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:795
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr "%d точек вне порога"
 
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d точек вне порога"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Последняя %d точка (точки) будут игнорированы"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40878,7 +42531,7 @@ msgstr "Имя векторного слоя, куда записываются
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "Построить топологию или вывести топологию или пространственный индекс в "
 "stdout"
@@ -41951,11 +43604,6 @@ msgstr "Невозможно рассчитать обратную матриц
 msgid "Resolving conflicts..."
 msgstr "Разрешение конфликтов..."
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Генерализация (%s)..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -42130,58 +43778,58 @@ msgstr "Векторная генерализация."
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "Генерализация (%s)..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Используется разрешение [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr "Шрифт '%s' не является шрифтом FreeType\n"
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr "Шрифт '%s' не является шрифтом FreeType\n"
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, fuzzy, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr "%d границ не обрезано, так как это повредит топологию"
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, fuzzy, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr "Количество узлов было уменьшено с %d до %d [%d%%]"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 #, fuzzy
 msgid "changed"
 msgstr "Измененные строки"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Слой %d"
@@ -42230,76 +43878,6 @@ msgstr "Слой %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Количество квадратов"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr ""
-#~ "Имя исходного растрового слоя содержащего значения расходов на преодоление"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr ""
-#~ "Имя исходного растрового слоя содержащего значения расходов на преодоление"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Выходной растровый слой рассеянной освещенности [W.m-2] (метод 1) или "
-#~ "иррадиации [Wh.m-2.day-1] (метод 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Выходной растровый слой отражения освещения земной поверхностью [W.m-2] "
-#~ "(метод 1) или иррадиации [Wh.m-2.day-1] (метод 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Выходной растровый слой прямой освещенности [W.m-2] (метод 1) или "
-#~ "иррадиации  [Wh.m-2.day-1] (метод 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Имя растрового слоя высот [m]"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Имя исходного растрового слоя высот [метры]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Выходной растровый слой отражения освещения земной поверхностью [W.m-2] "
-#~ "(метод 1) или иррадиации [Wh.m-2.day-1] (метод 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Выходной растровый слой прямой освещенности [W.m-2] (метод 1) или "
-#~ "иррадиации  [Wh.m-2.day-1] (метод 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Количество точек интерполяции"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Игнорировать проекцию (использовать проекцию области)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Область: %s\n"
 
@@ -42316,24 +43894,28 @@ msgstr "Слой %d"
 #~ "\n"
 #~ "%d классов, %.2f%% стабильных точек\n"
 
+#~ msgid "Subregion"
+#~ msgstr "Субрегион"
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Шаг номера категории"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "опция <%s>: <%s> существует."
+#, fuzzy
+#~ msgid "Could not rewind input file"
+#~ msgstr "Невозможно открыть выходной файл <%s>"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Выходной слой <%s> игнорирован"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Имя базового растрового слоя"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Выходной слой топографического индекса"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "<%s> уже существует в наборе слоев <%s>"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Имя базового растрового слоя"
+#~ msgid "output map <%s> exists"
+#~ msgstr "Выходной слой <%s> игнорирован"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Длина страницы (по умолчанию: %d линий)"
@@ -42341,6 +43923,9 @@ msgstr "Слой %d"
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Ширина страницы (по умолчанию: %d символов)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Игнорировать проекцию (использовать проекцию области)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.in.gdal to override this check and use the "
@@ -42364,6 +43949,14 @@ msgstr "Слой %d"
 #~ msgid "[%s] not found"
 #~ msgstr "[%s} не найден"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "опция <%s>: <%s> существует."
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr ""
+#~ "Использовать другую проекцию для набора данных (использовать проекцию "
+#~ "области)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -42382,6 +43975,14 @@ msgstr "Слой %d"
 #~ "проверку и использовать определение области для набора данных.\n"
 
 #, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "-r и -e взаимоисключающиеся"
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "-r и -e взаимоисключающиеся"
+
+#, fuzzy
 #~ msgid "Default value: GRASS_GUI if defined otherwise wxpython"
 #~ msgstr "Значение по умолчанию: GRASS_GUI если установлен, иначе - tcltk"
 
@@ -42394,6 +43995,22 @@ msgstr "Слой %d"
 #~ msgstr "Новая GISDBASE (полный путь к каталогу с новой областью)"
 
 #, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Невозможно установить проекцию"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Конвертировать все старые слои GRASS < Ver5.7 в текущем наборе в текущий "
+#~ "формат"
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "Выходной разделитель полей"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Обновление метаданных векторного слоя."
 
@@ -42431,169 +44048,68 @@ msgstr "Слой %d"
 #~ msgid "No default DB driver defined"
 #~ msgstr "Драйвер по умолчанию не указан"
 
-#, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "Выходной разделитель полей"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "<%s> уже существует в наборе слоев <%s>"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Конвертировать все старые слои GRASS < Ver5.7 в текущем наборе в текущий "
-#~ "формат"
+#~ msgid "OGR datasource name"
+#~ msgstr "Имя источника данных OGR"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Не задано имя слоя"
 
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Переименование слоев переклассификации"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "Невозможно прочитать файл REF для подгруппы <%s> в группе <%s>."
-
 #, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d категорий загружено из таблицы <%s>"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Должно быть указано либо  \"-i\" либо \"value=\""
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Невозможно создать файл <%s>"
 
 #, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "-r и -e взаимоисключающиеся"
+#~ msgid "Starting monitor <%s> with env file '%s'"
+#~ msgstr "Установка названия слоя <%s> которое отменит <%s>"
 
 #, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "input= и source= взаимоисключающие"
+#~ msgid "Env file not found"
+#~ msgstr "файл 3dview <%s> не найден"
 
 #, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Укажите столбец с координатами z"
+#~ msgid "PID file not found"
+#~ msgstr "Файл не найден: %s"
 
 #, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Должно быть указано либо  \"-i\" либо \"value=\""
+#~ msgid "Command file not found"
+#~ msgstr "Столбец <%s> не найден"
 
-#, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr "-r и -e взаимоисключающиеся"
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "input= и source= взаимоисключающие"
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "weight= и -c взаимоисключающие"
-
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "weight= и -c взаимоисключающие"
-
-#, fuzzy
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "weight= и -c взаимоисключающие"
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr "-r и -e взаимоисключающиеся"
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Неправильное значение для scalex"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "input= и source= взаимоисключающие"
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "input= и source= взаимоисключающие"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Укажите столбец с координатами z"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Укажите столбец с координатами z"
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "input= и source= взаимоисключающие"
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "input= и source= взаимоисключающие"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Укажите столбец с координатами z"
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Укажите столбец с координатами z"
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "-r и -e взаимоисключающиеся"
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "-r и -e взаимоисключающиеся"
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "-r и -e взаимоисключающиеся"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "Переименование слоев переклассификации"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "-r и -e взаимоисключающиеся"
+#~ msgid "Name for output image"
+#~ msgstr "Имя выходного файла"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Либо \"-i\" or \"-r\" либо \"color\", \"rast\" либо \"rules\" должно быть "
-#~ "указано!"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "Невозможно прочитать файл REF для подгруппы <%s> в группе <%s>."
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr ""
-#~ "Либо \"-i\" or \"-r\" либо \"color\", \"rast\" либо \"rules\" должно быть "
-#~ "указано!"
-
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "Либо стандратное название цвета, либо триплет R:G:B"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d категорий загружено из таблицы <%s>"
 
 #~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
+#~ "Correction of the v.lidar.growing output. It is the last of the three "
+#~ "algorithms for LIDAR filtering."
 #~ msgstr ""
-#~ "Показать тематический векторный слой в активном фрейме графического "
-#~ "монитора."
+#~ "Исправление результата v.lidar.growing. Это последний из трех алгоритмов "
+#~ "для фильтрации LIDAR."
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Цвет для текста"
+#~ msgid "Interpolation spline step value in east direction"
+#~ msgstr "Значение шага интерполяции сплайна в восточном направлении"
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Цвет для сетки или 'none'"
+#~ msgid "Interpolation spline step value in north direction"
+#~ msgstr "Значение шага интерполяции сплайна в северном направлении"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Имя выходного растрового слоя"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "Имя выходного растрового слоя (красный)"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Ошибка дискретизации в единицах слоя"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "Также вычислять максимальную дистанцию обнаружения"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -42742,16 +44258,37 @@ msgstr "Слой %d"
 #~ msgstr "Использовать математическое обозначение скобок в легенде "
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Имя выходного растрового слоя (красный)"
+#~ msgid "Name of output basename raster map(s)"
+#~ msgstr "Имя выходного растрового слоя"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "Также вычислять максимальную дистанцию обнаружения"
+#~ msgid "Default: input"
+#~ msgstr "Ошибка дискретизации в единицах слоя"
+
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr ""
+#~ "Показать тематический векторный слой в активном фрейме графического "
+#~ "монитора."
+
+#~ msgid "Text color or \"none\""
+#~ msgstr "Цвет текста или \"none\""
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Показать"
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Цвет для текста"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "Цвет для сетки или 'none'"
+
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "Либо стандратное название цвета, либо триплет R:G:B"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "линия"
 
 #, fuzzy
 #~ msgid ""
@@ -42759,23 +44296,44 @@ msgstr "Слой %d"
 #~ msgstr ""
 #~ "Позволяет создавать и/или изменять вспомогательные файлы растрового слоя"
 
-#, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Невозможно прочитать векторный слой"
+#~ msgid "Failed opening input dig file."
+#~ msgstr "Ошибка открытия исходного файла dig."
 
-#, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Невозможно создать таблицу: %s"
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "Файл dig_att не существует."
 
-#, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "Не хватает памяти."
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "Ошибка открытия исходного файла dig_att."
 
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "OLD_T_NEW имеет неверный код типа [%x]"
+#~ msgid "Attaching categories..."
+#~ msgstr "Присоединение категорий..."
 
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "NEW_T_OLD имеет неверный код типа [%x]"
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "Ошибка назначения атрибута линии (категория %d)."
+
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "Линия %d подпись: %d соответствует другой подписи: %d."
+
+#~ msgid "Writing new file..."
+#~ msgstr "Запись нового файла..."
+
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "В выходной файл записано [%d] точек и линий."
+
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "В выходной файл записано [%d] центроидов."
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Импорт векторных слоев старых версий GRASS."
+
+#~ msgid "Endian of input vector map"
+#~ msgstr "Endian исходного векторного слоя"
+
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr "Не найдены подписи категорий (dig_cats), таблица не создана"
+
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "Невозможно открыть файл dig_cats"
 
 #~ msgid "Reading dig file..."
 #~ msgstr "Чтение файла dig..."
@@ -42860,187 +44418,41 @@ msgstr "Слой %d"
 #~ msgid "[%d] categories read into memory"
 #~ msgstr "в память прочитано [%d] категорий "
 
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr "Не найдены подписи категорий (dig_cats), таблица не создана"
-
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "Невозможно открыть файл dig_cats"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Ошибка открытия исходного файла dig."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "Файл dig_att не существует."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Ошибка открытия исходного файла dig_att."
-
-#~ msgid "Attaching categories..."
-#~ msgstr "Присоединение категорий..."
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "Ошибка назначения атрибута линии (категория %d)."
-
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "Линия %d подпись: %d соответствует другой подписи: %d."
-
-#~ msgid "Writing new file..."
-#~ msgstr "Запись нового файла..."
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "В выходной файл записано [%d] точек и линий."
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "В выходной файл записано [%d] центроидов."
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Импорт векторных слоев старых версий GRASS."
-
-#~ msgid "Endian of input vector map"
-#~ msgstr "Endian исходного векторного слоя"
-
-#~ msgid "Interpolation spline step value in east direction"
-#~ msgstr "Значение шага интерполяции сплайна в восточном направлении"
-
-#~ msgid "Interpolation spline step value in north direction"
-#~ msgstr "Значение шага интерполяции сплайна в северном направлении"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr " Неизвестный тип растрового слоя"
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Размер кэша (MiB)"
-
-#~ msgid "Can't call bad function"
-#~ msgstr "Невозможно вызвать 'плохую' функцию"
-
-#~ msgid "Bad arguments to pointfunc %s"
-#~ msgstr "Неправильные аргументы для pointfunc %s"
-
-#~ msgid "No function defined to perform ``point %c point''"
-#~ msgstr "Функция для операции ``point %c point'' не определена"
-
-#~ msgid "Performing 1 arg map function on map %s"
-#~ msgstr "Проведение 1 arg функции для слоя %s"
-
-#~ msgid "Performing 2 arg map function on maps %s and %s"
-#~ msgstr "Проведение 1 arg функции для слоя %s и %s"
-
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Выполнение %s + %s"
-
-#~ msgid "Can't call bad map-function"
-#~ msgstr "Невозможно вызвать 'плохую' функцию слоя"
-
-#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
-#~ msgstr "Неправильные аргументы для mapfunc %s (argc = %d)"
-
-#~ msgid "No function defined to perform map %c map"
-#~ msgstr "Функция для операции map %c map  не определена"
-
-#~ msgid "Can't call bad num-function"
-#~ msgstr "Невозможно вызвать 'плохую' num-функцию"
-
-#~ msgid "Bad arguments to numfunc %s"
-#~ msgstr "Неправильные аргументы для numfunc %s"
-
-#~ msgid "No function defined to perform ``number %c number''"
-#~ msgstr "Функция для операции ``number %c number''  не определена"
-
-#~ msgid "Can't call bad any-function"
-#~ msgstr "Невозможно вызвать 'плохую' any-функцию"
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "OLD_T_NEW имеет неверный код типа [%x]"
 
-#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
-#~ msgstr "Неправильные аргументы для anyfunc %s (argc = %d)"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "NEW_T_OLD имеет неверный код типа [%x]"
 
 #~ msgid "One or more coordinates"
 #~ msgstr "Одна или более координат"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Не хватает памяти для adx"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Не хватает памяти для ady"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Не хватает памяти для adxx"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Не хватает памяти для adyy"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Не хватает памяти для adxy"
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "Невозможно создать quaddata"
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "Невозможно создать quadfunc"
-
-#~ msgid "Cannot create tree"
-#~ msgstr "Невозможно создать дерево"
-
-#~ msgid "Cannot create tree info"
-#~ msgstr "Невозможно создать информацию о дереве"
-
-#~ msgid "sites"
-#~ msgstr "сайты"
-
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Конвертировать файл site_lists GRASS в векторный слой."
-
-#~ msgid "Site file <%s> not found"
-#~ msgstr "Сайт-файл <%s> не найден"
-
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "Не удалось определить формат site_list файла"
-
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "Не удалось определить структуру сайта"
-
-#~ msgid "Input format: dimension: %d strings: %d FP: %d"
-#~ msgstr "Исходный формат: размерность: %d строк: %d FP: %d"
+#~ msgid "Name of elevation map"
+#~ msgstr "Имя слоя высот"
 
-#~ msgid ""
-#~ "Floating point category values, using sequential integer for category"
-#~ msgstr ""
-#~ "Значения категорий с плавающей точкой, для которых испльзуется "
-#~ "последовательное целое"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Строка символов для отображения пустых ячеек"
 
-#~ msgid "No category values, using sequential integer for category"
+#, fuzzy
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
 #~ msgstr ""
-#~ "Отсутствуют значения категорий, для которых используется последовательное "
-#~ "целое"
-
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "Конвертирование сайтов в точечный векторный слой..."
-
-#~ msgid "%d sites written."
-#~ msgstr "Записано %d сайтов."
-
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Имя слоя, используемого для ИНТЕНСИВНОСТИ"
+#~ "Либо \"-i\" or \"-r\" либо \"color\", \"rast\" либо \"rules\" должно быть "
+#~ "указано!"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Имя слоя, используемого для НАСЫЩЕННОСТИ"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "Неизвестная метрика: [%s]."
 
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "Импорт файлов стран US-NGA GEOnet Names Server (GNS) в точечный векторный "
-#~ "слой GRASS."
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Ошибка чтения файла категорий для <%s>"
 
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Несжатый файл GNS из NGA (с расширением .txt)"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "Ошибка чтения цветового файла для <%s>"
 
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Имя растрового слоя (слоев) для высоты"
+#~ msgid "String representing no data cell value"
+#~ msgstr "Строка, обозначающая отсутствующие данные в ячейке"
 
-#~ msgid "Table file to be exported or DB connection string"
-#~ msgstr "Файл таблицы для экспорта или строка соединения с БД"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Утилита интерполяции поверхности для растровых слоев."
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -43058,15 +44470,18 @@ msgstr "Слой %d"
 #~ "значения ячеек которого представляют значения высот комбинированные со "
 #~ "значениями расходов на преодоление с другого растрового слоя."
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "Имя слоя, используемого для ИНТЕНСИВНОСТИ"
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "Имя слоя, используемого для НАСЫЩЕННОСТИ"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "Имя выходного слоя используемого для ЗЕЛЁНОГО"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "Имя выходного слоя используемого для СИНЕГО"
 
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Утилита интерполяции поверхности для растровых слоев."
-
 #~ msgid "Surface generation program."
 #~ msgstr "Программа создания поверхности"
 
@@ -43088,53 +44503,15 @@ msgstr "Слой %d"
 #~ msgstr[0] "Интерполирование растрового слоя <%s>... %d строк... "
 #~ msgstr[1] "Интерполирование растрового слоя <%s>... %d строк... "
 
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "Проекция lat/lon пока не поддерживается"
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Область: %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "вектор, создание сети."
-
-#~ msgid "Name of elevation map"
-#~ msgstr "Имя слоя высот"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Строка символов для отображения пустых ячеек"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Либо \"-i\" or \"-r\" либо \"color\", \"rast\" либо \"rules\" должно быть "
-#~ "указано!"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Либо \"-i\" or \"-r\" либо \"color\", \"rast\" либо \"rules\" должно быть "
-#~ "указано!"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Неизвестная метрика: [%s]."
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Ошибка чтения файла категорий для <%s>"
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Ошибка чтения цветового файла для <%s>"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Строка, обозначающая отсутствующие данные в ячейке"
-
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "Выходной слой z (высоты)"
 
 #~ msgid "Output aspect map (or fy)"
 #~ msgstr "Выходной слой экспозиции склонов (или fy)"
 
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "Проекция lat/lon пока не поддерживается"
+
 #~ msgid "Prefix for output raster map(s)"
 #~ msgstr "Префикс выходного растрового слоя (слоев)"
 
@@ -43164,15 +44541,23 @@ msgstr "Слой %d"
 #~ msgid "Suppress warnings"
 #~ msgstr "Подавлять предупреждения"
 
-#, fuzzy
-#~ msgid "High resolution panchromatic image"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
 #~ msgstr ""
-#~ "Трансформация бруви для слияния мультиспектральных каналов и "
-#~ "панхроматических каналов высокого разрешения"
+#~ "Импорт файлов стран US-NGA GEOnet Names Server (GNS) в точечный векторный "
+#~ "слой GRASS."
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Создание"
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "Несжатый файл GNS из NGA (с расширением .txt)"
+
+#, fuzzy
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Имя растрового слоя (слоев) для высоты"
+
+#~ msgid "Table file to be exported or DB connection string"
+#~ msgstr "Файл таблицы для экспорта или строка соединения с БД"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -43197,6 +44582,155 @@ msgstr "Слой %d"
 #~ msgstr "Имя выходного растрового слоя (по умолчанию: имя исходного)"
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr ""
+#~ "Рассчитать одномерную статистику используя не-нулевые ячейки растрового "
+#~ "слоя"
+
+#~ msgid "Data to be classified: column name or expression"
+#~ msgstr "Классифицируемые данные: имя поля или выражение"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Цвет для сетки или 'none'"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Цвет для сетки или 'none'"
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Цвет для неизвестной информации"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "Цвет для сетки или 'none'"
+
+#~ msgid "Create grid of points instead of areas and centroids"
+#~ msgstr "Создать сеть точек вместо полигонов и центроидов"
+
+#, fuzzy
+#~ msgid "Create grid as lines, instead of areas"
+#~ msgstr "Создать сеть точек вместо полигонов и центроидов"
+
+#~ msgid "Invalid distance"
+#~ msgstr "Неверное расстояние"
+
+#~ msgid "Layer number"
+#~ msgstr "Номер слоя"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "Область: %s\n"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "вектор, создание сети."
+
+#, fuzzy
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "input= и source= взаимоисключающие"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Укажите столбец с координатами z"
+
+#, fuzzy
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "-r и -e взаимоисключающиеся"
+
+#, fuzzy
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "-r и -e взаимоисключающиеся"
+
+#, fuzzy
+#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
+#~ msgstr "-r и -e взаимоисключающиеся"
+
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "Неправильное значение для scalex"
+
+#, fuzzy
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr "input= и source= взаимоисключающие"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Должно быть указано либо  \"-i\" либо \"value=\""
+
+#, fuzzy
+#~ msgid "-p and output= are mutually exclusive"
+#~ msgstr "-r и -e взаимоисключающиеся"
+
+#, fuzzy
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "input= и source= взаимоисключающие"
+
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "input= и source= взаимоисключающие"
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Укажите столбец с координатами z"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Укажите столбец с координатами z"
+
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "input= и source= взаимоисключающие"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Укажите столбец с координатами z"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Укажите столбец с координатами z"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Показать"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Должно быть указано либо  \"-i\" либо \"value=\""
+
+#, fuzzy
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "-r и -e взаимоисключающиеся"
+
+#, fuzzy
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr "weight= и -c взаимоисключающие"
+
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr "weight= и -c взаимоисключающие"
+
+#, fuzzy
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "weight= и -c взаимоисключающие"
+
+#, fuzzy
+#~ msgid "High resolution panchromatic image"
+#~ msgstr ""
+#~ "Трансформация бруви для слияния мультиспектральных каналов и "
+#~ "панхроматических каналов высокого разрешения"
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Создание"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "Название вводного растрового слоя"
 
@@ -43212,32 +44746,146 @@ msgstr "Слой %d"
 #~ msgid "No maps output"
 #~ msgstr "Нет слоя вывода"
 
+#~ msgid "Color for drawing grid or \"none\""
+#~ msgstr "Цвет для сетки или 'none'"
+
+#~ msgid "Gather the histogram quietly"
+#~ msgstr "Создать гистограмму в фоне"
+
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Не хватает памяти для adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Не хватает памяти для ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Не хватает памяти для adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Не хватает памяти для adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Не хватает памяти для adxy"
+
+#~ msgid "Cannot create quaddata"
+#~ msgstr "Невозможно создать quaddata"
+
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "Невозможно создать quadfunc"
+
+#~ msgid "Cannot create tree"
+#~ msgstr "Невозможно создать дерево"
+
+#~ msgid "Cannot create tree info"
+#~ msgstr "Невозможно создать информацию о дереве"
+
 #, fuzzy
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Невозможно создать таблицу: %s"
+
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "Не хватает памяти."
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "-r и -e взаимоисключающиеся"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr ""
+#~ "Либо \"-i\" or \"-r\" либо \"color\", \"rast\" либо \"rules\" должно быть "
+#~ "указано!"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr ""
+#~ "Либо \"-i\" or \"-r\" либо \"color\", \"rast\" либо \"rules\" должно быть "
+#~ "указано!"
+
+#~ msgid "sites"
+#~ msgstr "сайты"
+
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "Конвертировать файл site_lists GRASS в векторный слой."
+
+#~ msgid "Site file <%s> not found"
+#~ msgstr "Сайт-файл <%s> не найден"
+
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "Не удалось определить формат site_list файла"
+
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "Не удалось определить структуру сайта"
+
+#~ msgid "Input format: dimension: %d strings: %d FP: %d"
+#~ msgstr "Исходный формат: размерность: %d строк: %d FP: %d"
+
 #~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
+#~ "Floating point category values, using sequential integer for category"
 #~ msgstr ""
-#~ "Рассчитать одномерную статистику используя не-нулевые ячейки растрового "
-#~ "слоя"
+#~ "Значения категорий с плавающей точкой, для которых испльзуется "
+#~ "последовательное целое"
 
-#~ msgid "Data to be classified: column name or expression"
-#~ msgstr "Классифицируемые данные: имя поля или выражение"
+#~ msgid "No category values, using sequential integer for category"
+#~ msgstr ""
+#~ "Отсутствуют значения категорий, для которых используется последовательное "
+#~ "целое"
 
-#~ msgid "Color for drawing grid or \"none\""
-#~ msgstr "Цвет для сетки или 'none'"
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "Конвертирование сайтов в точечный векторный слой..."
 
-#~ msgid "Gather the histogram quietly"
-#~ msgstr "Создать гистограмму в фоне"
+#~ msgid "%d sites written."
+#~ msgstr "Записано %d сайтов."
 
-#~ msgid "Create grid of points instead of areas and centroids"
-#~ msgstr "Создать сеть точек вместо полигонов и центроидов"
+#~ msgid "Performing 1 arg map function on map %s"
+#~ msgstr "Проведение 1 arg функции для слоя %s"
+
+#~ msgid "Performing 2 arg map function on maps %s and %s"
+#~ msgstr "Проведение 1 arg функции для слоя %s и %s"
+
+#~ msgid "Performing map %s + %s"
+#~ msgstr "Выполнение %s + %s"
+
+#~ msgid "Can't call bad map-function"
+#~ msgstr "Невозможно вызвать 'плохую' функцию слоя"
+
+#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
+#~ msgstr "Неправильные аргументы для mapfunc %s (argc = %d)"
+
+#~ msgid "No function defined to perform map %c map"
+#~ msgstr "Функция для операции map %c map  не определена"
+
+#~ msgid "Can't call bad num-function"
+#~ msgstr "Невозможно вызвать 'плохую' num-функцию"
+
+#~ msgid "Bad arguments to numfunc %s"
+#~ msgstr "Неправильные аргументы для numfunc %s"
+
+#~ msgid "No function defined to perform ``number %c number''"
+#~ msgstr "Функция для операции ``number %c number''  не определена"
+
+#~ msgid "No function defined to perform ``point %c point''"
+#~ msgstr "Функция для операции ``point %c point'' не определена"
+
+#~ msgid "Can't call bad any-function"
+#~ msgstr "Невозможно вызвать 'плохую' any-функцию"
+
+#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
+#~ msgstr "Неправильные аргументы для anyfunc %s (argc = %d)"
+
+#~ msgid "Can't call bad function"
+#~ msgstr "Невозможно вызвать 'плохую' функцию"
+
+#~ msgid "Bad arguments to pointfunc %s"
+#~ msgstr "Неправильные аргументы для pointfunc %s"
 
 #, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "Создать сеть точек вместо полигонов и центроидов"
+#~ msgid "Unable to create vector map"
+#~ msgstr "Невозможно прочитать векторный слой"
 
-#~ msgid "Invalid distance"
-#~ msgstr "Неверное расстояние"
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Размер кэша (MiB)"
 
-#~ msgid "Layer number"
-#~ msgstr "Номер слоя"
+#~ msgid "Unknown raster map type"
+#~ msgstr " Неизвестный тип растрового слоя"
diff --git a/locale/po/grassmods_sl.po b/locale/po/grassmods_sl.po
index aaba38d..24abd9e 100644
--- a/locale/po/grassmods_sl.po
+++ b/locale/po/grassmods_sl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_sl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2005-06-10 11:15+0200\n"
 "Last-Translator: Miha Staut <mihastaut at yahoo.co.uk>\n"
 "Language-Team: Sloven��ina <grass-translations at lists.osgeo.org>\n"
@@ -21,10 +21,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -42,6 +42,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -70,12 +71,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -122,7 +124,7 @@ msgstr "Upo
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, fuzzy, c-format
@@ -130,14 +132,16 @@ msgid "Color file for <%s> not available"
 msgstr "Rastrska(e) datoteka(e) za ogled %d"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -156,7 +160,9 @@ msgstr "Rastrska(e) datoteka(e) za ogled %d"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -177,7 +183,7 @@ msgstr "Rastrska(e) datoteka(e) za ogled %d"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -189,7 +195,7 @@ msgstr "Rastrska(e) datoteka(e) za ogled %d"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -213,17 +219,17 @@ msgstr "Rastrska(e) datoteka(e) za ogled %d"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -234,7 +240,7 @@ msgstr "Rastrska(e) datoteka(e) za ogled %d"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -385,10 +391,13 @@ msgstr "Izbere pisavo v kateri bo tekst zapisan na grafi
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 #, fuzzy
 msgid "Input"
 msgstr "Vhodni sloj"
@@ -435,23 +444,25 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 #, fuzzy
 msgid "Text color"
 msgstr " privzeta barva\n"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Ne najdem vhodne datoteke %s\n"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 #, fuzzy
 msgid "Font name"
 msgstr "ime tabele"
@@ -466,12 +477,14 @@ msgstr "ime tabele"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 #, fuzzy
 msgid "Path to font file"
 msgstr "Ime izhodnega vektorskega sloja"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -565,14 +578,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 #, fuzzy
 msgid ""
@@ -620,11 +639,11 @@ msgstr "Naslov novega rastrskega sloja"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -704,23 +723,26 @@ msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -730,14 +752,19 @@ msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -787,50 +814,51 @@ msgstr "Ime izhodnega rastrskega sloja"
 msgid "[%s]: No such color"
 msgstr ""
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 #, fuzzy
 msgid "monitors"
 msgstr "Spisek vrednosti plastnic"
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Izpi�i informacije o vhodnem rastrskem sloju in kon�aj"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 #, fuzzy
 msgid "Display screen rectangle of current region"
 msgstr "Uporabi trenutno regijo"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -838,31 +866,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, fuzzy, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Povezava z bazo podatkov ni definirana\n"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -872,10 +901,10 @@ msgstr "Povezava z bazo podatkov ni definirana\n"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -889,7 +918,7 @@ msgstr "Povezava z bazo podatkov ni definirana\n"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Ne morem odpreti baze podatkov %s z gonilnikom %s"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -914,7 +943,7 @@ msgstr "Tip objektov"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 #, fuzzy
 msgid "Chart properties"
 msgstr "Tip objektov"
@@ -957,7 +986,12 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Prepi�i izhod"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -965,20 +999,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -993,40 +1029,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1052,11 +1088,6 @@ msgstr "Uporabljam koordinate sredi
 msgid "Line color"
 msgstr " nv barva\n"
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr " privzeta barva\n"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1116,12 +1147,15 @@ msgstr "L: od  S: do  D: zaklju
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1140,17 +1174,18 @@ msgstr "L: od  S: do  D: zaklju
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1163,10 +1198,10 @@ msgstr "L: od  S: do  D: zaklju
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1174,21 +1209,22 @@ msgstr "L: od  S: do  D: zaklju
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr ""
 
@@ -1234,16 +1270,18 @@ msgstr "Ne najdem vhodnega vektorja <%s>"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1255,22 +1293,22 @@ msgstr "Ne najdem vhodnega vektorja <%s>"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1324,10 +1362,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1378,41 +1416,41 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Izpi�i etikete kategorij"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr "Izbere pisavo v kateri bo tekst zapisan na grafi�nem monitorju"
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 #, fuzzy
 msgid "Grid color"
 msgstr " nv barva\n"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "�tevilo decimalk (le za \"floating point\" podatke)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Rastrski sloj za�etnih to�k"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1421,7 +1459,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1429,7 +1467,7 @@ msgstr[0] " nv barva\n"
 msgstr[1] " nv barva\n"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1437,76 +1475,76 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 #, fuzzy
 msgid "Name of raster aspect map to be displayed"
 msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 #, fuzzy
 msgid "Type of existing raster aspect map"
 msgstr "Ime obstoje�ega rastrskega sloja"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Ne morem izra�unati centroida obmo�ja."
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Ne morem izra�unati centroida obmo�ja."
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 #, fuzzy
 msgid "Raster map containing values used for arrow length"
 msgstr "Vhodni sloj vsebuje linije."
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 #, fuzzy
 msgid "Illegal value for scale factor"
 msgstr "Vhodni sloj"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "Vhodni sloj"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "Ime izhodne datoteke"
@@ -1634,17 +1672,17 @@ msgid ""
 "\n"
 msgstr "Oddaljenost do omre�ja = %f, oddaljenost od omre�ja = %f\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1652,7 +1690,7 @@ msgstr "Berem dig datoteko...\n"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1661,51 +1699,51 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 #, fuzzy
 msgid "Arc type"
 msgstr "Tip objektov"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr ""
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1729,11 +1767,11 @@ msgstr "Berem dig datoteko...\n"
 msgid "Background color"
 msgstr ""
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1753,7 +1791,7 @@ msgstr "Ime izhodnega rastrskega sloja"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1778,7 +1816,7 @@ msgstr "Zapisujem novo datoteko...\n"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1786,7 +1824,7 @@ msgstr "Zapisujem novo datoteko...\n"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2154,7 +2192,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2171,15 +2209,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr ""
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr ""
@@ -2425,12 +2463,13 @@ msgstr "neveljavna regija: %s"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 msgid "sampling"
@@ -2498,15 +2537,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr ""
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr ""
 
@@ -2528,11 +2567,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "Ime izhodnega rastrskega sloja"
@@ -2732,7 +2772,7 @@ msgstr " vrednost barva\n"
 msgid "Colorize features according color definition column"
 msgstr " �tevilo kolon\n"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Dolo�ena ni bila nobena vhodna datoteka."
@@ -3027,41 +3067,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Ime izhodnega vektorskega sloja"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "ne morem posodobiti meja"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Izhodni sloj"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "dig_att datoteka ne obstaja."
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Ne morem odpreti cellfile za [%s]"
+msgid "Starting monitor <%s>..."
+msgstr "Zapisujem novo datoteko...\n"
 
-#: ../display/d.mon/start.c:163
-#, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Ime rastrskega sloja"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, fuzzy, c-format
+msgid "Unable to create file <%s>"
+msgstr "Ne morem odpreti cellfile za [%s]"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3073,34 +3120,53 @@ msgstr "dig_att datoteka ne obstaja."
 msgid "Monitor <%s> is not running"
 msgstr "Ne najdem rastrskega sloja <%s>"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "ne najdem 3Dview datoteke <%s>"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Ne morem odpreti cellfile za [%s]"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "ne najdem 3Dview datoteke <%s>"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, fuzzy, c-format
+msgid "Unable to open file <%s>"
+msgstr "Ne morem odpreti cellfile za [%s]"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Ne morem odpreti cellfile za [%s]"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Spisek vrednosti plastnic"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "ne najdem 3Dview datoteke <%s>"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Ne morem odpreti cellfile za [%s]"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Ime rastrskega sloja"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Ne morem najti vhodne datoteke <%s>\n"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3112,8 +3178,8 @@ msgid "Name of monitor to start"
 msgstr "Ime rastrskega sloja, ki bo vseboval rezultate"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3137,9 +3203,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3219,12 +3286,12 @@ msgid "List running monitors and exit"
 msgstr "Izpi�i podprte formate in kon�aj"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3237,33 +3304,34 @@ msgstr "Izpi
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr ""
 
@@ -3277,59 +3345,77 @@ msgstr "Prilagodi trenutno regijo z vhodnemu rastrskemu sloju"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Prilagodi trenutno regijo z vhodnemu rastrskemu sloju"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Prilagodi trenutno regijo z vhodnemu rastrskemu sloju"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Prilagodi trenutno regijo z vhodnemu rastrskemu sloju"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr " �tevilo kolon\n"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 #, fuzzy
 msgid "Currently selected monitor:"
 msgstr "Prilagodi trenutno regijo z vhodnemu rastrskemu sloju"
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr ""
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr ""
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3383,7 +3469,7 @@ msgid "No map name given"
 msgstr "Dolo�ena ni bila nobena vhodna datoteka."
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "ne morem prebrati regije <%s> v <%s>"
@@ -3524,9 +3610,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Ne morem odpreti cellfile za [%s]"
@@ -3576,9 +3662,9 @@ msgstr "Korelacija"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "Izhodni sloj"
@@ -3593,13 +3679,13 @@ msgstr "izpi
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 #, fuzzy
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr ""
 "Ime izhodnega binarnega sloja (uporabi out=- za standardni izhod (stdout))"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 #, fuzzy
 msgid "Do not include column names in output"
 msgstr "izpis naj ne vsebuje imen kolon"
@@ -3609,7 +3695,7 @@ msgstr "izpis naj ne vsebuje imen kolon"
 msgid "Describe query only (don't run it)"
 msgstr "le opi�i poizvedbo (ne je pognati)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 #, fuzzy
 msgid "Vertical output (instead of horizontal)"
 msgstr "vertikalni izpis (namesto horizontalnega)"
@@ -3643,7 +3729,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3675,7 +3761,7 @@ msgstr "ime baze podatkov"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3687,7 +3773,7 @@ msgstr "Izpi
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3828,8 +3914,8 @@ msgstr "Ime izhodne datoteke"
 msgid "Unable to create index:"
 msgstr "ne morem posodobiti meja"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Korelacija"
@@ -3904,7 +3990,7 @@ msgstr "Ne morem ustvariti tabele: %s"
 msgid "Unable to allocate handle."
 msgstr "ne morem posodobiti meja"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3941,7 +4027,7 @@ msgstr "Ne morem izbrati (select) podatkov iz tabele"
 msgid "Unable to select view names."
 msgstr "Ne morem izbrati (select) podatkov iz tabele"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3981,12 +4067,12 @@ msgstr ""
 msgid "No path given"
 msgstr "Dolo�ena ni bila nobena vhodna datoteka."
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Ne morem izbrati (select) podatkov iz tabele"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Ne morem izbrati (select) podatkov iz tabele"
@@ -4034,30 +4120,30 @@ msgid "Taken not found"
 msgstr "Ne najdem rastrskega sloja <%s>"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 #, fuzzy
 msgid "Unable to create index"
 msgstr "ne morem posodobiti meja"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "ne morem odpreti <%s>"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Ne morem izbrati (select) podatkov iz tabele"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "ne morem odpreti <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
@@ -4104,6 +4190,11 @@ msgstr ""
 "kolona '%s': tip (bool) (binarni - boolean) je shranjen kot char(1),\n"
 "vrednosti 0 (narobe), 1 (pravilno)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "ne morem odpreti <%s>"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Nepoznana mo�nost v definiciji baze podatkov za PostgreSQL"
@@ -4190,7 +4281,8 @@ msgstr "Ne najdem rastrskega sloja <%s>"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, fuzzy, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4272,22 +4364,22 @@ msgstr "Ime izhodnega rastrskega sloja"
 msgid "Unable to open database:"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Povezava z bazo podatkov ni definirana\n"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "dig_att datoteka ne obstaja."
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Ne morem odpreti cellfile za [%s]"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "Ne najdem rastrskega sloja <%s>"
@@ -4302,6 +4394,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "pg gonilnik: kolona '%s', tip %d ni podprt"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Nisem uspel odpreti vhodne datoteke."
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4555,10 +4652,10 @@ msgstr "Ne morem izra
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, fuzzy, c-format
 msgid "Unable to describe table <%s>"
@@ -4579,27 +4676,39 @@ msgstr "Prosim popravite nastavitve."
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Ne morem ustvariti tabele: %s"
+msgid "Username"
+msgstr "ime tabele"
+
+#: ../db/db.login/main.c:67
+msgid "Password"
+msgstr ""
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:75
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Ne morem ustvariti tabele: %s"
+msgid "Hostname"
+msgstr "ime tabele"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Izpi�i trenutne parametre povezave in kon�aj"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 #, fuzzy
 msgid "Unable to set user/password"
 msgstr "Ne morem nastaviti uporabnika/gesla"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Geslo je bilo shranjeno v datoteko"
@@ -4893,6 +5002,7 @@ msgstr "Obmo
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4903,10 +5013,11 @@ msgstr "Obmo
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "Ime rastrskega sloja"
@@ -4983,19 +5094,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, fuzzy, c-format
-msgid "Unable to open file <%s>"
-msgstr "Ne morem odpreti cellfile za [%s]"
-
 #: ../misc/m.nviz.script/main.c:250
 #, fuzzy, c-format
 msgid "You must provide at least four points %d"
@@ -5270,7 +5368,7 @@ msgstr "ne najdem 3Dview datoteke <%s>"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5962,7 +6060,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5975,12 +6073,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6084,7 +6183,17 @@ msgstr ""
 msgid "<%s> already exists"
 msgstr "dig_att datoteka ne obstaja."
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Ne morem odpreti baze podatkov %s"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "ne morem odpreti vektorske datoteke <%s> v <%s>"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6092,20 +6201,20 @@ msgstr "dig_att datoteka ne obstaja."
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr ""
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 #, fuzzy
 msgid "Map name search pattern (default: all)"
 msgstr "Znak za separator na izhodu (privzet: tab)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6113,143 +6222,116 @@ msgstr "Znak za separator na izhodu (privzet: tab)"
 msgid "Pattern"
 msgstr "Ime rastrskega sloja"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
 msgstr "Znak za separator na izhodu (privzet: tab)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "Izpi�i trenutne parametre povezave in kon�aj"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Izpi�i trenutne parametre povezave in kon�aj"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Dolo�i trenutno regijo iz imenovane regije (named region)"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Ime izhodne datoteke"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Ascii rastrski sloj, ki ga nameravate uvoziti"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "Izpi�i le tip podatkovnega zapisa rastrskega sloja"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 #, fuzzy
 msgid "Pretty printing in human readable format"
 msgstr "Ne izpi�i vzglavja"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:187
-#, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Ne morem odpreti cellfile za [%s]"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Ne najdem vhodnega rastrskega sloja <%s>."
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Ne morem odpreti baze podatkov %s"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "ne morem odpreti vektorske datoteke <%s> v <%s>"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 #, fuzzy
 msgid "Unable to update lat/long projection parameters"
 msgstr "ne morem posodobiti meja"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6489,9 +6571,9 @@ msgstr "ne najdem regije <%s>"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, fuzzy, c-format
 msgid "3D raster map <%s> not found"
 msgstr "Ne najdem vhodnega rastrskega sloja <%s>."
@@ -6515,7 +6597,7 @@ msgstr "ne morem posodobiti meja"
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, fuzzy, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "neveljavna regija: %s"
@@ -6801,38 +6883,38 @@ msgstr "Izpi
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6973,7 +7055,7 @@ msgstr "Ime obstoje
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 #, fuzzy
 msgid "Operation to be performed"
@@ -7435,7 +7517,7 @@ msgstr "ne morem odpreti <%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, fuzzy, c-format
 msgid "Unable to open output file <%s>"
@@ -7637,38 +7719,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "ne najdem 3Dview datoteke <%s>"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Rastrski sloj, ki ga nameravate uvoziti"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
+msgstr ""
+
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7880,8 +7983,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7919,9 +8022,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, fuzzy, c-format
 msgid "Location <%s> created"
 msgstr "ne morem odpreti %s"
@@ -8079,10 +8182,12 @@ msgstr "Izpi
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8098,10 +8203,14 @@ msgstr "Izpi
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8135,10 +8244,12 @@ msgstr "Rastrski sloj, ki ga nameravate uvoziti"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8154,10 +8265,14 @@ msgstr "Rastrski sloj, ki ga nameravate uvoziti"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8260,8 +8375,8 @@ msgstr "Izbere pisavo v kateri bo tekst zapisan na grafi
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr ""
 
@@ -8302,7 +8417,7 @@ msgstr "Uvozi binarno rastrsko datoteko v GRASS-ov rastrski sloj."
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8331,15 +8446,16 @@ msgstr ""
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Ime izhodne datoteke"
@@ -8427,7 +8543,7 @@ msgstr "Ime rastrskega sloja"
 msgid ""
 "Uploads space time raster dataset values at positions of vector points to "
 "the table."
-msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
+msgstr "Preoblikuje rastrski sloj v vektorskega."
 
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:9
 #, fuzzy
@@ -8485,7 +8601,7 @@ msgstr "ime baze podatkov"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Preoblikuje rastrski sloj v vektorskega."
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8495,6 +8611,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Vhodni sloj"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Preoblikuje rastrski sloj v vektorskega."
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "Ime izhodne datoteke"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Ime novega rastrskega sloja"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Vhodni rastrski sloj"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8546,21 +8763,12 @@ msgid ""
 "datasets."
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "Ime izhodne datoteke"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8569,11 +8777,13 @@ msgstr "Ime izhodne datoteke"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8581,54 +8791,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Ime novega rastrskega sloja"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Vhodni rastrski sloj"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8643,7 +8812,8 @@ msgstr "Ime rastrskega sloja"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "Ime izhodne datoteke"
@@ -8880,7 +9050,7 @@ msgstr "Interpolacijska metoda, ki jo 
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Interpolacijska metoda, ki jo �elite uporabiti"
 
@@ -8998,6 +9168,49 @@ msgstr "Nisem mogel odpreti vhodne datoteke dig_att."
 msgid "Name of attribute column(s) to drop"
 msgstr " �tevilo kolon\n"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Spisek vrednosti deljenih z vejico: npr. 1.4,3.8,13"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Ime izhodne datoteke, ki bo vsebovala poro�ilo"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Ne morem odpreti baze podatkov %s"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Ime izhodnega rastrskega sloja"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9225,7 +9438,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9474,6 +9687,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9544,10 +9758,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Raz�iri obseg lokacije glede na nov \"dataset\""
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Povozi projekcijo (uporabi projekcijo lokacije)"
@@ -9556,7 +9774,8 @@ msgstr "Povozi projekcijo (uporabi projekcijo lokacije)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "\"Location\" vhodnega sloja"
@@ -9574,21 +9793,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 #, fuzzy
 msgid "In scan mode, print using shell script style"
 msgstr "Izpi�e vrednosti v stilu lupinskega skripta"
@@ -9612,7 +9831,7 @@ msgid "Name for output raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 #, fuzzy
 msgid "Statistic to use for raster values"
 msgstr "Izpi�e osnovne statistike za rastrske sloje"
@@ -9620,14 +9839,14 @@ msgstr "Izpi
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 #, fuzzy
 msgid "Storage type for resultant raster map"
@@ -9668,18 +9887,18 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Uporabljam koordinate sredi��a sloja\n"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Dele� sloja, ki ga ohranjati v spominu ra�unalnika"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 #, fuzzy
 msgid "pth percentile of the values"
 msgstr "Enote za naklon"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9781,8 +10000,8 @@ msgid "Remove existing color table"
 msgstr "Ohrani obstoje�o barvno paleto"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9828,17 +10047,18 @@ msgid ""
 msgstr "Uvozi binarno rastrsko datoteko v GRASS-ov rastrski sloj."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Rastrski sloj, ki ga nameravate uvoziti"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Naslov izhodnega rastrskega sloja"
@@ -9859,6 +10079,11 @@ msgstr "Naslov izhodnega rastrskega sloja"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9881,10 +10106,15 @@ msgstr "Naslov izhodnega rastrskega sloja"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "Izhodni sloj"
@@ -9895,29 +10125,30 @@ msgid "Output vector map extent"
 msgstr "Ime izhodnega rastrskega sloja problemati�nih obmo�ij"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Prilagodi trenutno regijo z vhodnemu rastrskemu sloju"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Ne najdem vhodne datoteke %s\n"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Ri�em ..."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9933,17 +10164,65 @@ msgid "-1 to list available datum transform parameters"
 msgstr "Ime rastrskega sloja s podatki o glajenju"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Izpi�i podprte formate in kon�aj"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "\"Location\" vhodnega sloja"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Izbere pisavo v kateri bo tekst zapisan na grafi�nem monitorju"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "dig_att datoteka ne obstaja."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Izpi�i trenutne parametre povezave in kon�aj"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Prilagodi trenutno regijo z vhodnemu rastrskemu sloju"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10114,7 +10393,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10123,7 +10402,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10133,7 +10412,7 @@ msgid "geometry"
 msgstr "Rastrski sloj, ki ga nameravate uvoziti"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10188,7 +10467,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10213,15 +10496,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Izbrani pas (privzeto: vsi pasovi)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10280,12 +10563,12 @@ msgid "Optional"
 msgstr "Ime izhodnega rastrskega sloja"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "Ne odre�i uvo�ene karte po mejah regije"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Y koordinata oziroma geografska �irina"
@@ -10394,7 +10677,7 @@ msgstr ""
 "celico"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10409,7 +10692,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Polmer bufferja"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Metri�ni"
 
@@ -10442,14 +10725,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10516,6 +10799,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10523,7 +10817,8 @@ msgid ""
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Ne najdem vhodne datoteke %s\n"
@@ -10567,6 +10862,65 @@ msgstr "%-5d kategorij to
 msgid "Name of table to drop"
 msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Izdela GRASS-ov binarni vektorski sloj plastnic iz GRASS-ovega rastrskega\n"
+" sloja."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Kontrast"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Razmak med sosednjima plastnicama"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+#, fuzzy
+msgid "List of contour levels"
+msgstr "Spisek vrednosti plastnic"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Najmanj�a vrednost plastnice"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Najve�ja vrednost plastnice"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr ""
+"Najmanj�e �tevilo to�k, ki bodo gradile linijo plastnice (od 0 do neskon�no)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Vhodni rastrski sloj"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Ne ustvari tabele z atributi."
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10591,6 +10945,20 @@ msgstr "Izhodni sloj"
 msgid "Name for output table (default: input name)"
 msgstr "Naslov izhodnega rastrskega sloja"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Preoblikuje rastrski sloj v vektorskega."
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10730,6 +11098,65 @@ msgstr "Nisem mogel odpreti vhodne datoteke dig_att."
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Preoblikuje rastrski sloj v vektorskega."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Tip objektov"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+#, fuzzy
+msgid "Smooth corners of area features"
+msgstr "Zglajeni koti"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Uporabljam koordinate sredi��a sloja\n"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr "Izpi�i podprte formate in kon�aj"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Rastrski sloj, ki ga nameravate uvoziti"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Za kategorije uporabi rastrske vrednosti namesto zaporedja edinstvenih "
+"�tevil (le za rastrski tip CELL)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10741,6 +11168,7 @@ msgid "Vector map to which to join other table"
 msgstr "Ne ustvari tabele z atributi."
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10750,6 +11178,7 @@ msgid "Layer where to join"
 msgstr "Ne ustvari tabele z atributi."
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "ne najdem regije <%s>"
@@ -10832,7 +11261,6 @@ msgstr "Naslov izhodnega rastrskega sloja"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11135,6 +11563,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -11424,13 +11856,6 @@ msgstr "Ime rastrskega sloja"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -11441,23 +11866,32 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "Ne ustvari tabele z atributi."
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "ne najdem regije <%s>"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "Najve�ja razdalja med to�kami in enotami karte."
@@ -11496,78 +11930,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Ime nove lokacije (location), ki bo ustvarjena"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Izpi�i podprte formate in kon�aj"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Izpi�i podprte formate in kon�aj"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Izpi�i podprte formate in kon�aj"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "lokacija baze podatkov"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "sistemske tabele namesto uporabni�kih tabel"
@@ -11588,20 +12038,26 @@ msgid "Description of the space time dataset"
 msgstr "Ime novega rastrskega sloja."
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Ime novega rastrskega sloja."
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11619,10 +12075,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Rastrski sloj, ki ga nameravate uvoziti"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Izpi�e vrednosti v stilu lupinskega skripta"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Izhodni sloj"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11743,8 +12235,8 @@ msgstr "Faktor mno
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Ime izhodne datoteke"
+msgid "Name for output image (or text file for -t)"
+msgstr "Ime izhodne datoteke, ki bo vsebovala poro�ilo"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11761,6 +12253,11 @@ msgstr "Uporabljam koordinate sredi
 msgid "Use gnuplot for display"
 msgstr "Ime izhodnega rastrskega sloja"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Naslov izhodnega rastrskega sloja"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11777,11 +12274,6 @@ msgstr ""
 msgid "series"
 msgstr "Rastrski sloj, ki ga �elite rekodirati"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Ne morem odpreti baze podatkov %s"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11879,6 +12371,7 @@ msgstr "Ime rastrskega sloja"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11894,10 +12387,15 @@ msgstr "Ime izhodnega rastrskega sloja"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "Ime rastrskega sloja"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11981,10 +12479,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12002,7 +12496,7 @@ msgstr "Ime izhodnega rastrskega sloja"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, fuzzy, c-format
@@ -12523,7 +13017,7 @@ msgid "radiance"
 msgstr "Varianca"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12554,8 +13048,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12759,8 +13254,8 @@ msgstr "Ne morem odpreti baze podatkov %s"
 msgid "Calculating..."
 msgstr "Izra�unavam sence iz DMR..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14824,21 +15319,21 @@ msgstr "ne najdem regije <%s>"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "ne najdem 3Dview datoteke <%s>"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 #, fuzzy
 msgid "not found"
@@ -14936,7 +15431,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15068,7 +15563,7 @@ msgid "Name of target mapset"
 msgstr "Ime izhodnega rastrskega sloja"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15497,52 +15992,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "Vhodni sloj"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Naslov izhodnega rastrskega sloja"
@@ -15725,7 +16224,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, fuzzy, c-format
 msgid "Writing raster map <%s>..."
@@ -16149,7 +16648,7 @@ msgstr "Ime obstoje
 msgid "My first vector module"
 msgstr "Ime obstoje�ega rastrskega sloja."
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "Ime izhodnega vektorskega to�kovnega sloja"
@@ -16290,11 +16789,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16996,12 +17496,12 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Ri�em ..."
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17011,35 +17511,35 @@ msgstr ""
 "da je spodnje le�e�i sloj viden le skozi NULL obmo�ja vi�je le�e�ega \n"
 "rastrskega sloja."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Imena rastrskih slojev, ki bodo zdru�eni"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Uporabi ni� (0) za prosojnost namesto NULL"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 #, fuzzy
 msgid "The minimum number of input raster maps is two"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr ""
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "ne morem odpreti razpona za datoteko %s"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17062,7 +17562,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Ne najdem vhodne datoteke %s\n"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Naslov izhodnega rastrskega sloja"
@@ -17070,7 +17570,7 @@ msgstr "Naslov izhodnega rastrskega sloja"
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Tip objektov"
+msgstr "Naslov izhodnega rastrskega sloja"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17489,8 +17989,8 @@ msgstr "Ime izhodnega vektorskega sloja"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Ne morem vstaviti nove vrstice: %s"
@@ -17562,59 +18062,18 @@ msgstr "Ni
 msgid "Converts a raster map into a vector map."
 msgstr "Preoblikuje rastrski sloj v vektorskega."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Tip objektov"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-#, fuzzy
-msgid "Smooth corners of area features"
-msgstr "Zglajeni koti"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Za kategorije uporabi rastrske vrednosti namesto zaporedja edinstvenih "
-"�tevil (le za rastrski tip CELL)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "Ne ustvari tabele z atributi."
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Uporabljam koordinate sredi��a sloja\n"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr "Izpi�i podprte formate in kon�aj"
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Rastrski sloj, ki ga nameravate uvoziti"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17645,23 +18104,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, fuzzy, c-format
 msgid "Unable to create table: %s"
 msgstr "Ne morem odpreti cellfile za [%s]"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, fuzzy, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Ne morem ti garantirati (grant) privilegijev nad tabelo %s"
@@ -17703,203 +18164,203 @@ msgstr "Ne morem ustvariti tabele: %s"
 msgid "Allocating memory and reading input raster map..."
 msgstr "\"Location\" vhodnega sloja"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr ""
 "Transformira projekcijo rastrskega sloja iz ene \"location\" v trenutno "
 "\"location\""
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "\"Location\" vhodnega sloja"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Ne najdem vhodne datoteke %s\n"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Uporabi nastavitve trenutne regije"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 #, fuzzy
 msgid "Name of input raster map to re-project"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Pot do GRASS baze podatkov (izpi�e se ob zagonu programa)"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Naslov izhodnega rastrskega sloja"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "Obmo�je\n"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Resolucija izhodnega sloja"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "Izpi�e vrednosti v stilu lupinskega skripta"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "Vhodni sloj: lokacije pravih depresij"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr "Ime izhodnega sloja"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr "Ime izhodnega sloja"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 #, fuzzy
 msgid "Unable to get projection key values of output raster map"
 msgstr "Ime izhodnega sloja"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "ne najdem 3Dview datoteke <%s>"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Vhodni rastrski sloj"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, fuzzy, c-format
 msgid "Required parameter <%s> not set"
 msgstr "ne najdem 3Dview datoteke <%s>"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "Ime rastrskega sloja"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 #, fuzzy
 msgid "Unable to get projection info of input map"
 msgstr "\"Location\" vhodnega sloja"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 #, fuzzy
 msgid "Unable to get projection units of input map"
 msgstr "\"Location\" vhodnega sloja"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 #, fuzzy
 msgid "Unable to get projection key values of input map"
 msgstr "Ime izhodnega sloja"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "ne najdem 3Dview datoteke <%s>"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 #, fuzzy
 msgid "Input:"
 msgstr "Vhodni sloj"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, fuzzy, c-format
 msgid "Cols: %d (%d)"
 msgstr "Napaka: %s\n"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, fuzzy, c-format
 msgid "Rows: %d (%d)"
 msgstr "Napaka: %s\n"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, fuzzy, c-format
 msgid "North: %f (%f)"
 msgstr "Vozel %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, fuzzy, c-format
 msgid "West: %f (%f)"
 msgstr "Vozel %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, fuzzy, c-format
 msgid "East: %f (%f)"
 msgstr "Vozel %d: %f %f\n"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 #, fuzzy
 msgid "Output:"
 msgstr "Izhodni sloj"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 #, fuzzy
 msgid "Projecting..."
 msgstr "Ri�em ..."
@@ -17947,7 +18408,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17960,7 +18421,7 @@ msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17975,7 +18436,7 @@ msgstr "Ri
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18142,7 +18603,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 #, fuzzy
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
@@ -18569,21 +19030,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Uporabljam koordinate sredi��a sloja\n"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "izhodni rastrski sloj"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "neveljavna regija: %s"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Uporabljam koordinate sredi��a sloja\n"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "izhodni rastrski sloj"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Uporabljam koordinate sredi��a sloja\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "izhodni rastrski sloj"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18948,7 +19449,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "ne morem odpreti %s"
@@ -19781,7 +20282,7 @@ msgstr "Rastrski sloj nadmorskih vi
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Izdela povr�inske statistike rastrskega(ih) sloja(ev)"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -19971,22 +20472,22 @@ msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 msgid "Statistics for <%s> updated"
 msgstr "Rastrski sloj za povr�ino"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 #, fuzzy
 msgid "Over-riding projection check"
 msgstr "Ne najdem vhodne datoteke %s\n"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 #, fuzzy
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
@@ -19995,26 +20496,27 @@ msgstr ""
 "Transformira projekcijo rastrskega sloja iz ene \"location\" v trenutno "
 "\"location\""
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 #, fuzzy
 msgid "Location PROJ_INFO is:\n"
 msgstr "ne morem odpreti %s"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 #, fuzzy
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "ne morem odpreti %s"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20022,15 +20524,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 #, fuzzy
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
@@ -20097,8 +20599,8 @@ msgstr "ne morem odpreti razpona za datoteko %s"
 msgid "Link to raster map <%s> created."
 msgstr "dig_att datoteka ne obstaja."
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20118,13 +20620,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "Ime izhodnega rastrskega sloja"
@@ -20155,22 +20657,22 @@ msgstr "Ime novega rastrskega sloja."
 msgid "Band to select (default is all bands)"
 msgstr "Izbrani pas (privzeto: vsi pasovi)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 #, fuzzy
 msgid "List supported formats and exit"
 msgstr "Izpi�i podprte formate in kon�aj"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Raz�iri obseg lokacije glede na nov \"dataset\""
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20182,13 +20684,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20197,32 +20708,32 @@ msgstr "Uporabi
 msgid "%s= and %s= are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 #, fuzzy
 msgid "Proceeding with import..."
 msgstr "Berem dig_att datoteko...\n"
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "Ime izhodnega vektorskega sloja"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Rastrski sloj nadmorskih vi�in"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, fuzzy, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Ne najdem vhodnega rastrskega sloja <%s>."
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "dig_att datoteka ne obstaja."
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr ""
@@ -20419,14 +20930,15 @@ msgstr "Ime izhodnega rastrskega sloja"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20727,6 +21239,12 @@ msgstr "Uporabi
 msgid "Option %s= is ignored if -%c is set"
 msgstr "ne morem odpreti %s"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20799,8 +21317,8 @@ msgid "Importing band %d..."
 msgstr "Zapisujem novo datoteko...\n"
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20926,7 +21444,7 @@ msgstr "navedena morata biti 2 sloja"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "ne morem odpreti %s"
@@ -22012,7 +22530,8 @@ msgstr ""
 msgid "Unable to write to temp file"
 msgstr "Vrednost, ki bo prirejena NULL vrednosti"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Zapisujem novo datoteko...\n"
@@ -22059,7 +22578,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Izpi�e vrednosti v stilu lupinskega skripta"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22648,23 +23167,23 @@ msgid "unable to open output file"
 msgstr "Ime izhodne datoteke"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22672,8 +23191,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22779,27 +23298,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22812,22 +23331,32 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr "Pokrovni rastrski sloj"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Pokrovni rastrski sloj"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Pokrovni rastrski sloj"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Pokrovni rastrski sloj"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Pokrovni rastrski sloj"
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "Pokrovni rastrski sloj"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "Pokrovni rastrski sloj"
@@ -22855,225 +23384,230 @@ msgstr "Pokrovni rastrski sloj"
 msgid "Closing half basins map"
 msgstr "Pokrovni rastrski sloj"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Vhodni sloj"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Vhodni sloj: koli�ina povr�inskega toka na celico"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Vhodni sloj: ovire povr�inskemu toku (za USLE)"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "Vhodni sloj: najmanj�a velikost zunanjega pore�ja"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Vhodni sloj: najve�ja dol�ina povr�inskega toka (za USLE)"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Izhodni sloj: �tevilo celic, ki se odvodnjavajo skozi vsako celico"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Rastrski sloj s topografskim indeksom"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Rastrski sloj s topografskim indeksom"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Izhodni sloj: vsaka polovica pore�ja pridobi edinstveno vrednost"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "Izhodni sloj: dol�ina pobo�ja (L faktor za USLE)"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Izhodni sloj: naklon pobo�ja (S faktor za USLE)"
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Faktor spremembe z-vrednosti (v metre)"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Omogo�i le horizontalni in vertikalni vodni tok"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 #, fuzzy
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 "Omogo�i mo�nost raz�irjenega spomina \"extend memory\": Operacija je po�asna"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 #, fuzzy
 msgid "Sorry, you must choose an output map."
 msgstr "Ime izhodnega sloja"
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "Velikost okolice (neighbourhood)"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Tip zapisa kolone ni podprt"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -23238,21 +23772,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr "Ne najdem vhodne datoteke %s\n"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Ne morem odpreti baze podatkov %s"
@@ -23445,7 +23979,7 @@ msgstr "Naslov izhodnega rastrskega sloja"
 msgid "Converting <%s>..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, fuzzy, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "dig_att datoteka ne obstaja."
@@ -23525,7 +24059,7 @@ msgstr ""
 "sloja."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23538,11 +24072,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
@@ -23555,64 +24092,89 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr "Uporabi trenutno regijo"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 "Izra�una univariatne statisti�ne parametre za ne NULL celice rastrskega "
 "sloja."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr ""
 "Izdela rastrski sloj z s sti�nimi (contiguous) obmo�ji pove�animi za eno "
 "celico"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Ime vhodnega sloja"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Najve�ja razdalja med to�kami in enotami karte."
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Najve�ja mo�na razdalja od to�k (v metrih)."
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "navedena morata biti 2 sloja"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Nepoznan tip: %c"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Najve�ja razdalja med to�kami in enotami karte."
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Vrednost, ki bo prirejena NULL vrednosti"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23623,130 +24185,135 @@ msgstr "Vrednost, ki bo prirejena NULL vrednosti"
 msgid "Reading raster map <%s>..."
 msgstr "Berem dig_att datoteko...\n"
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "Ime izhodne datoteke"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Ime rastrskega sloja iz katerega kopirati barvno paleto"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr ""
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr ""
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "Ne najdem vhodnega vektorja <%s>"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "Ime izhodnega vektorskega sloja"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "ne morem odpreti razpona za datoteko %s"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "ne morem odpreti razpona za datoteko %s"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "Rastrski sloj za�etnih to�k"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "Ne najdem vhodnega rastrskega sloja <%s>."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "ne morem odpreti razpona za datoteko %s"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "izhodni rastrski sloj"
@@ -23796,7 +24363,7 @@ msgstr "Nepoznan tip: %c"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 #, fuzzy
 msgid "Unable to close output raster map"
 msgstr "\"Mapset\" vhodnega rastrskega sloja"
@@ -23919,21 +24486,26 @@ msgstr "Nepoznan tip"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Zapisujem novo datoteko...\n"
+
+#: ../raster/r.mapcalc/main.c:167
 #, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "%d napak med posodabljanjem\n"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -23942,27 +24514,27 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "Uvozi binarno rastrsko datoteko v GRASS-ov rastrski sloj."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Rastrski sloj, ki ga nameravate uvoziti"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Izbrani pas (privzeto: vsi pasovi)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
@@ -23970,197 +24542,213 @@ msgstr ""
 "Ime lokacije (location) iz katere naj povzamem projekcijo za GCP "
 "transformacijo"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Ime rastrskega sloja nadmorskih vi�in"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Ime nove lokacije (location), ki bo ustvarjena"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Ne ustvari tabele z atributi."
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Povozi projekcijo (uporabi projekcijo lokacije)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Izpi�i trenutne parametre povezave in kon�aj"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Ohrani �tevila za imena pasov namesto imena barv"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "izpi�i tabele in kon�aj"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists"
 msgstr "dig_att datoteka ne obstaja."
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Ne morem ustvariti tabele: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Berem dig_att datoteko...\n"
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Nisem mogel odpreti vhodne datoteke dig_att."
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Ime rastrskega sloja"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Ne morem odpreti baze podatkov %s"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, fuzzy, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "Ime izhodnega rastrskega sloja smeri toka"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, fuzzy, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "Ime izhodnega rastrskega sloja smeri toka"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 #, fuzzy
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "Ime izhodnega sloja"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 #, fuzzy
 msgid "Unable to get projection info of target location"
 msgstr "\"Location\" vhodnega sloja"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 #, fuzzy
 msgid "Unable to get projection units of target location"
 msgstr "\"Location\" vhodnega sloja"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 #, fuzzy
 msgid "Unable to get projection key values of target location"
 msgstr "Ime izhodnega sloja"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "izhodni rastrski sloj"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "Ime rastrskega sloja"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "Ime rastrskega sloja"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Ne morem odpreti cellfile za [%s]"
@@ -24406,7 +24994,7 @@ msgstr "Zapisujem novo datoteko...\n"
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, fuzzy, c-format
@@ -24759,31 +25347,39 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "Ne morem odpreti baze podatkov %s"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "navedena morata biti 2 sloja"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "Berem dig_att datoteko...\n"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Korelacija"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Izdela naklju�ne vrednosti celic s prostorsko odvisnostjo."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "Najve�ja mo�na razdalja od to�k (v metrih)."
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr ""
+"\n"
+"\n"
+" �tevilo to�k: %d\n"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25233,33 +25829,33 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "Izpi�i etikete kategorij"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -26332,159 +26928,230 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "navedena morata biti 2 sloja"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+#, fuzzy
+msgid "Scanning data ..."
+msgstr "Ri�em ..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Vrednost, ki bo prirejena NULL vrednosti"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr "Ustvari rastrski sloj iz ascii poligon/linija datotek v trenutni mapi."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Vhodni sloj"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Nisem mogel odpreti vhodne datoteke dig_att."
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "Ni�esar nisem na�el.\n"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Uporabljam koordinate sredi��a sloja\n"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Naslov izhodnega rastrskega sloja"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Uvo�ene bodo vrednosti z zapisom \"integer\""
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Uvo�ene bodo vrednosti z zapisom \"integer\""
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Izpi�i le tip podatkovnega zapisa rastrskega sloja"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
+#: ../raster/r.in.lidar/main.c:246
 #, fuzzy
-msgid "Override dataset projection (use location's projection)"
-msgstr "Povozi projekcijo (uporabi projekcijo lokacije)"
+msgid "Set computation region to match the new raster map"
+msgstr "Dolo�i regijo tako, da bo enaka temu rastrskemu sloju"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "Ne najdem vhodnega rastrskega sloja <%s>."
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Nepoznan tip"
+msgid "File <%s> does not exist"
+msgstr "Ne najdem vhodnega rastrskega sloja <%s>."
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-#, fuzzy
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "ne morem odpreti %s"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "Ne najdem vhodnega rastrskega sloja <%s>."
+
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Nepoznan tip"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "neveljavna regija: %s"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "ne morem odpreti %s"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "Ri�em ..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Ne najdem vhodne datoteke %s\n"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 #, fuzzy
 msgid "Writing to map ..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "Uporabi trenutno regijo"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Ne morem odpreti cellfile za [%s]"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
 #, fuzzy
-msgid "Scanning data ..."
-msgstr "Ri�em ..."
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "ne morem odpreti %s"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
 msgstr ""
 
 #: ../raster/r.uslek/main.c:57
@@ -26727,12 +27394,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "Naslov izhodnega rastrskega sloja"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, fuzzy, c-format
-msgid "Unable to create file <%s>"
-msgstr "Ne morem odpreti cellfile za [%s]"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27562,6 +28223,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr "neveljavna regija: %s"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27614,6 +28282,11 @@ msgstr "Ne morem odpreti cellfile za [%s]"
 msgid "Writing to output raster map..."
 msgstr "Ime izhodnega rastrskega sloja"
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "Uporabi trenutno regijo"
+
 #: ../raster/r.relief/main.c:112
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM)."
@@ -27979,27 +28652,27 @@ msgstr "Ime datoteke s filtrom"
 msgid "Delete the null file"
 msgstr "Ime datoteke s filtrom"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr ""
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr ""
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, fuzzy, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr ""
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 #, fuzzy
 msgid "Done."
 msgstr "Narejeno.\n"
@@ -28040,34 +28713,12 @@ msgstr ""
 "Izdela GRASS-ov binarni vektorski sloj plastnic iz GRASS-ovega rastrskega\n"
 " sloja."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Razmak med sosednjima plastnicama"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Spisek vrednosti plastnic"
 
-#: ../raster/r.contour/main.c:109
-#, fuzzy
-msgid "List of contour levels"
-msgstr "Spisek vrednosti plastnic"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Najmanj�a vrednost plastnice"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Najve�ja vrednost plastnice"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr ""
-"Najmanj�e �tevilo to�k, ki bodo gradile linijo plastnice (od 0 do neskon�no)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -28078,30 +28729,32 @@ msgstr "navedena morata biti 2 sloja"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, fuzzy, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Ne morem odpreti cellfile za [%s]"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "ne morem odpreti <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 #, fuzzy
 msgid "Writing attributes..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, fuzzy, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Ne morem vstaviti nove vrstice: %s"
@@ -28959,11 +29612,6 @@ msgstr "Ime vhodnega rastrskega sloja"
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Ime izhodnega rastrskega sloja"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29273,7 +29921,8 @@ msgstr "Tip zapisa kolone ni podprt"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 #, fuzzy
 msgid "Unable to select data from table"
 msgstr "Ne morem izbrati (select) podatkov iz tabele"
@@ -29911,12 +30560,12 @@ msgstr "Izpi
 msgid "3D Raster map <%s> not found"
 msgstr "Ne najdem vhodnega rastrskega sloja <%s>."
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 #, fuzzy
 msgid "Error while reading history file"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -30108,6 +30757,37 @@ msgstr ""
 msgid "Update range"
 msgstr "Novi razpon kategorij"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Varianca"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "Kombinira rde�i, zeleni in modri sloj v enotni kompozitni sloj."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Ime izhodnega rastrskega sloja"
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Ne morem izra�unati centroida obmo�ja."
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "izhodni rastrski sloj"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30268,6 +30948,147 @@ msgstr "Datum
 msgid "Timestamp format is invalid"
 msgstr ""
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Ime rastrskega sloja"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Ne najdem vhodnega vektorja <%s>"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Izra�unavam sence iz DMR..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Ime vhodnega rastrskega sloja"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Ime izhodnega rastrskega sloja"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Ime rastrskega sloja, ki bo vseboval rezultate"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s:linija %d:%s\n"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../raster3d/r3.flow/main.c:244
+msgid "Default unit is cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "Interpolacijska metoda, ki jo �elite uporabiti"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Dolo�ena ni bila nobena vhodna datoteka."
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Vpi�i ime baze podatkov"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Ne morem opisati tabele"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Ne najdem vhodnega vektorja <%s>"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Ime vhodnega rastrskega sloja"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Izra�unavam sence iz DMR..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30797,6 +31618,60 @@ msgstr "Berem dig_att datoteko...\n"
 msgid "Failed to find intersection segment"
 msgstr "Ne najdem vhodne datoteke %s\n"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Ne morem vnesti v tabelo: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Ime izhodnega rastrskega sloja"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Rastrski sloj kateremu naj se regija prilagodi"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Ime izhodnega vektorskega sloja"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Ime izhodnega vektorskega sloja"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Ime izhodnega rastrskega sloja"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Ne morem odpreti baze podatkov %s z gonilnikom %s"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "ne morem odpreti <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Ime izhodnega rastrskega sloja"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "ne morem odpreti <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30826,7 +31701,7 @@ msgstr "Ime vhodnega rastrskega sloja"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30839,8 +31714,8 @@ msgstr "Ime vhodnega rastrskega sloja"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30868,83 +31743,123 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Ime datoteke s filtrom"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Vhodni rastrski sloj"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "EASTING in NORTHING koordinate za�etne to�ke"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 #, fuzzy
 msgid "For operation 'nodes'"
 msgstr "Nepoznan tip"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Vektorski sloj kon�nih to�k"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr " nv barva\n"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "Nepoznan tip"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Varianca"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "ne morem odpreti vektorske datoteke <%s> v <%s>"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d to�k je bilo zapisanih na izhodno datoteko\n"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "%-5d linij prebranih in zapisanih na izhod\n"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "Ne ustvari tabele z atributi."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -30965,8 +31880,9 @@ msgstr "%-5d mrtvih kategorij to
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "ime tabele"
@@ -31001,9 +31917,9 @@ msgstr "Ime rastrskega sloja, ki vsebuje podatke o stro
 msgid "Name of column containing z coordinate"
 msgstr "Ime rastrskega sloja, ki vsebuje podatke o stro�ku premikanja"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "Prepi�i izhod"
@@ -31209,13 +32125,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Ime izhodnega vektorskega sloja"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "dig_att datoteka ne obstaja."
@@ -31408,27 +32324,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Izpi�i etikete kategorij"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Izpi�i etikete kategorij"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31436,177 +32352,177 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "navedena morata biti 2 sloja"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Najve�ja razdalja med to�kami in enotami karte."
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Najve�ja razdalja med to�kami in enotami karte."
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Ne morem izbrati (select) podatkov iz tabele"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Tip zapisa kolone ni podprt"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Za vrstico (cat = %d) ni zapisa (record)<"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Vhodni rastrski sloj"
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "Gradim prostorski indeks ..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "Ri�em ..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 #, fuzzy
 msgid "Removing duplicates..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 #, fuzzy
 msgid "Breaking boundaries..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Ne morem izra�unati centroida obmo�ja."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Ne morem izra�unati centroida obmo�ja."
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 #, fuzzy
 msgid "Attaching islands..."
 msgstr "Pripajam kategorije...\n"
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Izra�unavam sence iz DMR..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Ne morem izra�unati centroida obmo�ja."
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Izra�unavam sence iz DMR..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Ne morem izra�unati centroida obmo�ja."
@@ -31903,7 +32819,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Ne najdem vhodne datoteke %s\n"
+msgstr "Ustvari to�ke vzdol� vhodnih linij."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -31994,7 +32910,7 @@ msgstr "Vhodni sloj"
 msgid "Not enough disk space--cannot write files"
 msgstr ""
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -32047,11 +32963,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -32062,15 +32979,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -32078,12 +32995,12 @@ msgstr ""
 msgid "Cost"
 msgstr "Kontrast"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 #, fuzzy
 msgid "Node cost column (number)"
 msgstr " �tevilo kolon\n"
@@ -32112,29 +33029,49 @@ msgstr "Tip objektov"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr ""
+"polje: %d\n"
+"kategorija: %d\n"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Najve�ja mo�na razdalja od to�k (v metrih)."
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr ""
@@ -32142,17 +33079,17 @@ msgstr ""
 "\n"
 " �tevilo to�k: %d\n"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Izra�unavam sence iz DMR..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 #, fuzzy
 msgid "Cannot get line segment, segment out of line"
 msgstr "Ne morem ustvariti tabele: %s"
@@ -32495,102 +33432,102 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Vhodni sloj"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Ime izhodnega vektorskega to�kovnega sloja"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 #, fuzzy
 msgid "Number of points to be created"
 msgstr "�tevilo �eljenih to�k"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Nisem uspel odpreti vhodne datoteke."
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr ""
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Ime rastrskega sloja, ki vsebuje podatke o stro�ku premikanja"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Tip barvne palete"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 #, fuzzy
 msgid "Create 3D output"
 msgstr "Prepi�i izhod"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Izra�unavam sence iz DMR..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, fuzzy, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "�tevilo �eljenih to�k"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d to�k je bilo zapisanih na izhodno datoteko\n"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Ime novega sloja"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "Uporabi trenutno regijo"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "Uporabi trenutno regijo"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 #, fuzzy
 msgid "Generating points..."
 msgstr "Zapisujem novo datoteko...\n"
@@ -32787,6 +33724,159 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Zapisujem novo datoteko...\n"
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Ime datoteke z rezultatom klasifikacije"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "Ni�esar nisem na�el.\n"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Uvo�ene bodo vrednosti z zapisom \"integer\""
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Uvo�ene bodo vrednosti z zapisom \"integer\""
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Najve�ja naklju�na vrednost"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Standardni odklon"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "neveljavna regija: %s"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 msgid "Changes type of vector features."
 msgstr ""
@@ -32860,7 +33950,7 @@ msgstr "sistemske tabele namesto uporabni
 msgid "Force 2D output even if input is 3D "
 msgstr "Izpi�i v \"integer\" obliki"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -33082,6 +34172,182 @@ msgstr "Ne morem izbrati (select) podatkov iz tabele"
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "Ni�esar nisem na�el.\n"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "Ime rastrskega sloja"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "Ne najdem rastrskega sloja <%s>"
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Ime datoteke z rezultatom klasifikacije"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Ime izhodnega vektorskega sloja"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Najve�ja mo�na razdalja od to�k (v metrih)."
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Najve�ja razdalja med to�kami in enotami karte."
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Korelacija"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Velikost okolice (neighbourhood)"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Ri�em ..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Uporabi trenutno regijo"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Zapisujem novo datoteko...\n"
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "Velikost okolice (neighbourhood)"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Najve�ja razdalja med to�kami in enotami karte."
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Binarna rastrska datoteka, ki jo nameravate uvoziti"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Najve�ja mo�na razdalja od to�k (v metrih)."
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Standardni odklon"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Najve�ja razdalja med to�kami in enotami karte."
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Ri�em ..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Uporabi trenutno regijo"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Ime izhodnega rastrskega sloja"
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Berem dig datoteko...\n"
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "Ni�esar nisem na�el.\n"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "Ne najdem rastrskega sloja <%s>"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "Ne najdem rastrskega sloja <%s>"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -33151,7 +34417,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33446,14 +34712,8 @@ msgstr "%d enot je bilo posodobljenih\n"
 msgid "Loading data..."
 msgstr "Ri�em ..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Ne najdem vhodnega vektorja <%s>"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, fuzzy, c-format
 msgid "Column <%s> not found"
 msgstr "ne najdem regije <%s>"
@@ -33509,17 +34769,17 @@ msgstr "ne morem odpreti razpona za datoteko %s"
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "Ri�em ..."
@@ -33689,40 +34949,40 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Nepoznan tip"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 #, fuzzy
 msgid "Node layer (used for cities)"
 msgstr "Ime sloja, ki bo uporabljen za odtenek (HUE)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr ""
 "Ime izhodnega binarnega sloja (uporabi out=- za standardni izhod (stdout))"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr ""
@@ -33730,41 +34990,41 @@ msgstr ""
 "\n"
 " �tevilo to�k: %d\n"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 #, fuzzy
 msgid "Not enough cities (< 2)"
 msgstr "Ime rastrskega sloja"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "%-5d mrtvih kategorij to�k presko�enih\n"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Za vrstico (cat = %d) ni zapisa (record)<"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Destinacijo je nemogo�e dose�i\n"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Ne morem odpreti cellfile za [%s]"
@@ -33938,6 +35198,21 @@ msgstr "Izberi tip: linija ali obmo
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "ne morem odpreti %s"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Nepoznan tip"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Ne najdem vhodne datoteke %s\n"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -34059,7 +35334,7 @@ msgid "Processing features..."
 msgstr "Ustvari to�ke vzdol� vhodnih linij."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "Ne morem izra�unati centroida obmo�ja."
@@ -34141,7 +35416,7 @@ msgstr ""
 "** opozorilo: R:G:B vrednost(i) so izven dovoljenega razpona \n"
 "[0 do 255]: %d:%d:%d **\n"
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Ne morem odpreti cellfile za [%s]"
@@ -34539,7 +35814,7 @@ msgstr "Ne najdem vhodne datoteke %s\n"
 msgid "%d records updated"
 msgstr "%d enot je bilo posodobljenih\n"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, fuzzy, c-format
 msgid "%d update errors"
@@ -34646,9 +35921,10 @@ msgstr "Nepoznan tip"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Ne morem odpreti cellfile za [%s]"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Ri�em ..."
 
 #: ../vector/v.transform/main.c:290
@@ -35086,7 +36362,7 @@ msgstr ""
 msgid "Column type not supported, please use a column with double type"
 msgstr "Tip zapisa kolone ni podprt"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Rekodira rastrske sloje"
@@ -35170,6 +36446,10 @@ msgstr " 
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 #, fuzzy
 msgid "Columns"
 msgstr "ne najdem regije <%s>"
@@ -35241,55 +36521,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "sistemske tabele namesto uporabni�kih tabel"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "ne najdem regije <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "Ne morem najti vhodne datoteke <%s>\n"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "Uporabi trenutno regijo"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "%-5d mrtvih kategorij to�k presko�enih\n"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, fuzzy, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d kategorij nalo�enih iz vektorja\n"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d dvojnih kategorij v vektorju\n"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, fuzzy, c-format
 msgid "%d categories loaded from table"
 msgstr "%d kategorij nalo�enih iz tabele\n"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, fuzzy, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d kategorij iz vektorja manjka v tabeli\n"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d enot je bilo posodobljenih\n"
@@ -36123,7 +37408,7 @@ msgstr "Izpi
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "navedena morata biti 2 sloja"
+msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -36160,54 +37445,63 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 #, fuzzy
 msgid "Prints vector map attributes."
 msgstr "Izpi�i etikete kategorij"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 #, fuzzy
 msgid "Output vertical record separator"
 msgstr "izpi�i znak za vertikalno razmejitev med enotami"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Berem dig datoteko...\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Nisem mogel odpreti vhodne datoteke dig_att."
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "ne morem odpreti vektorske datoteke <%s> v <%s>"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 #, fuzzy
 msgid "Unable to open select cursor"
 msgstr "Ne morem odpreti baze podatkov %s"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Ne morem izbrati (select) podatkov iz tabele"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "Ne morem najti vhodne datoteke <%s>\n"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "Izpi�i etikete kategorij"
@@ -36500,7 +37794,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "Iz tabele je izbranih %d zapisov (records)"
 msgstr[1] "Iz tabele je izbranih %d zapisov (records)"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "ne morem odpreti <%s>"
@@ -36526,19 +37820,19 @@ msgstr "Povezava z bazo podatkov ni definirana\n"
 msgid "Querying database... "
 msgstr "Berem dig datoteko...\n"
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 #, fuzzy
 msgid "Unable to fetch record"
 msgstr "Ne morem izpisati baz podatkov."
@@ -36555,6 +37849,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "ne najdem 3Dview datoteke <%s>"
+
 #: ../vector/v.to.db/update.c:83
 #, fuzzy
 msgid "Updating database..."
@@ -36829,7 +38128,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr "Povezava z bazo podatkov ni definirana\n"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Tip zapisa kolone ni podprt"
@@ -36849,58 +38149,58 @@ msgstr "%-5d mrtvih kategorij to
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, fuzzy, c-format
 msgid "No point with category [%d]"
 msgstr "%-5d mrtvih kategorij to�k presko�enih\n"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, fuzzy, c-format
 msgid "[%d] input format errors"
 msgstr "%d napak med posodabljanjem\n"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, fuzzy, c-format
 msgid "[%d] points of given category missing"
 msgstr "%-5d mrtvih kategorij to�k presko�enih\n"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 #, fuzzy
 msgid "Maximum distance to the network"
 msgstr "Najve�ja mo�na razdalja od to�k (v metrih)."
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -37498,46 +38798,50 @@ msgstr "Najve
 msgid "Add new vertices, but do not split"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Zapi�i vmesne to�ke v liniji."
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, c-format
 msgid "Length must be positive but is %g"
 msgstr ""
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Nepoznan tip"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "\"Location\" vhodnega sloja"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s:linija %d:%s\n"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s:linija %d:%s\n"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "Vrednost, ki bo prirejena NULL vrednosti"
@@ -37634,11 +38938,6 @@ msgstr "Ne najdem vhodnega vektorja <%s>"
 msgid "Reading categories..."
 msgstr "Pripajam kategorije...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Ri�em ..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37816,7 +39115,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Interpoliraj dodatne to�ke med to�kami ogrodja linije."
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Ime izhodne datoteke"
@@ -38077,222 +39376,243 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr ""
 "Transformira projekcijo rastrskega sloja iz ene \"location\" v trenutno "
 "\"location\""
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 #, fuzzy
 msgid "Location containing input vector map"
 msgstr "\"Location\" vhodnega sloja"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 #, fuzzy
 msgid "Mapset containing input vector map"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Ime vhodnega rastrskega sloja"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 #, fuzzy
 msgid "3D vector maps only"
 msgstr "Ne morem najti vhodne datoteke <%s>\n"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Binarna rastrska datoteka, ki jo nameravate uvoziti"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Ime rastrskega sloja"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "ne najdem 3Dview datoteke <%s>"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 #, fuzzy
 msgid "Reading input vector map"
 msgstr "Nisem uspel odpreti vhodne datoteke."
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Ne najdem vhodnega vektorja <%s>"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr "Uvozi binarno rastrsko datoteko v GRASS-ov rastrski sloj."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 #, fuzzy
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "Ime izhodnega vektorskega sloja"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Rastrski sloj, ki ga nameravate uvoziti"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "Ne ustvari tabele z atributi."
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 #, fuzzy
 msgid "Key columns differ"
 msgstr " �tevilo kolon\n"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 #, fuzzy
 msgid "Number of columns differ"
 msgstr " �tevilo kolon\n"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr ""
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 #, fuzzy
 msgid "Column types differ"
 msgstr "Tip zapisa kolone ni podprt"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 #, fuzzy
 msgid "Length of string columns differ"
 msgstr " �tevilo kolon\n"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 #, fuzzy
 msgid "Key column not found"
 msgstr "ne najdem regije <%s>"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 #, fuzzy
 msgid "The output map is not 3D"
 msgstr "Ime izhodnega sloja"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, fuzzy, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Berem dig_att datoteko...\n"
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "%d enot je bilo posodobljenih\n"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, fuzzy, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "Ne morem odpreti baze podatkov %s"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 #, fuzzy
 msgid "Cannot fetch row"
 msgstr "Ne morem izpisati baz podatkov."
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 #, fuzzy
 msgid "Unknown column type"
 msgstr "Nepoznan tip"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, fuzzy, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Ne morem vstaviti nove vrstice: %s"
@@ -38969,309 +40289,304 @@ msgstr[1] "%-5d centroidov prebranih\n"
 msgid "Operation not implemented"
 msgstr "ne najdem regije <%s>"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Uvozi binarno rastrsko datoteko v GRASS-ov rastrski sloj."
 
-#: ../vector/v.in.ogr/main.c:142
-#, fuzzy
-msgid "OGR datasource name"
-msgstr "ime baze podatkov"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
 "\t\tMapInfo File: directory containing mapinfo files"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
 "\t\tMapInfo File: mapinfo file name"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 #, fuzzy
 msgid "Import subregion only"
 msgstr "Izpi�i le tip podatkovnega zapisa rastrskega sloja"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Vhodni sloj: najmanj�a velikost zunanjega pore�ja"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "Naslov izhodnega rastrskega sloja"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Ime sloja, ki bo uporabljen za odtenek (HUE)"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Ne morem izra�unati centroida obmo�ja."
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr " �tevilo kolon\n"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "%-5d kategorij to�k prebranih\n"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "Izpi�i v \"integer\" obliki"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 #, fuzzy
 msgid "Limit import to the current region"
 msgstr "Uporabi trenutno regijo"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, fuzzy, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, fuzzy, c-format
 msgid "Layer <%s> not available"
 msgstr "Ime rastrskega sloja"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Ime rastrskega sloja"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "Vektorski sloj kon�nih to�k"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "ne najdem regije <%s>"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Najve�ja razdalja med to�kami in enotami karte."
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "ne najdem regije <%s>"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Tip zapisa kolone ni podprt"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "ne najdem regije <%s>"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
+#: ../vector/v.in.ogr/main.c:1128
 #, fuzzy, c-format
-msgid "Column type not supported (%s)"
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Tip zapisa kolone ni podprt"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%-5d mrtvih kategorij to�k presko�enih\n"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Ri�em ..."
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 #, fuzzy
 msgid "Cleaning boundaries at nodes..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Izra�unavam sence iz DMR..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 #, fuzzy
 msgid "Writing centroids..."
 msgstr "Zapi�i vmesne to�ke v liniji."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39279,99 +40594,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, c-format
 msgid "%d input polygons\n"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "%-5d mrtvih kategorij to�k presko�enih\n"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "%-5d mrtvih kategorij to�k presko�enih\n"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Ri�em ..."
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -39418,17 +40733,21 @@ msgstr "Ne morem ustvariti tabele: %s"
 msgid "Unknown geometry type"
 msgstr "Nepoznan tip"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Ime izhodne datoteke"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Rastrski sloj, ki ga nameravate uvoziti"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -39436,22 +40755,22 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Naslov izhodnega rastrskega sloja"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Izpi�i rastrske sloje v vhodni \"location\" in kon�aj"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -39502,7 +40821,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "neveljavna regija: %s"
+msgstr " �tevilo kolon\n"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -39511,17 +40830,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "Uvozi binarno rastrsko datoteko v GRASS-ov rastrski sloj."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Ne morem opisati tabele"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Ne morem odpreti cellfile za [%s]"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "dig_att datoteka ne obstaja."
@@ -39660,50 +40979,50 @@ msgstr "ne morem odpreti <%s>"
 msgid "Unable to close new 3d raster map"
 msgstr "\"Mapset\" vhodnega rastrskega sloja"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "Ne najdem vhodnega vektorja <%s>"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr ""
@@ -39711,11 +41030,11 @@ msgstr ""
 "\n"
 " �tevilo to�k: %d\n"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Izra�unavam sence iz DMR..."
@@ -39874,6 +41193,135 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Povezava z bazo podatkov ni definirana\n"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Za vrstico (cat = %d) ni zapisa (record)<"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Za vrstico (cat = %d) ni zapisa (record)<"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "ne najdem regije <%s>"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Izvozi GRASS-ov rastrski sloj v binarni \"array\""
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Uvozi binarno rastrsko datoteko v GRASS-ov rastrski sloj."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%-5d kategorij linij prebranih\n"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Ne najdem vhodnega vektorja <%s>"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr " �tevilo kolon\n"
+
+#: ../vector/v.out.lidar/main.c:588
+msgid "Column with red color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Uporabi trenutno regijo"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Ime datoteke s filtrom"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -40070,7 +41518,7 @@ msgstr "Izra
 msgid "Invalid segment number %d for %d points"
 msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "navedena morata biti 2 sloja"
@@ -40391,50 +41839,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "Ne najdem rastrskega sloja <%s>"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Ime izhodnega rastrskega sloja"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Ne morem odpreti baze podatkov %s z gonilnikom %s"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Uvozi binarno rastrsko datoteko v GRASS-ov rastrski sloj."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Ime izhodnega vektorskega to�kovnega sloja"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Ime izhodnega vektorskega sloja"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Uvo�ene bodo vrednosti z zapisom \"integer\""
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Korelacija"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Uvo�ene bodo vrednosti z zapisom \"integer\""
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Zapisujem novo datoteko...\n"
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Vhodni sloj vsebuje linije."
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Y koordinata oziroma geografska �irina"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Ne morem odpreti baze podatkov %s z gonilnikom %s"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Ne ustvari tabele z atributi."
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
+msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %lu points..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:755
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu points imported"
 msgstr "nalo�enih je bilo %d to�k\n"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:758
 #, fuzzy, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were not valid"
 msgstr "Y koordinata oziroma geografska �irina"
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:764
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were filtered out by return number"
 msgstr "nalo�enih je bilo %d to�k\n"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:766
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%llu input points were filtered out by class number"
 msgstr "nalo�enih je bilo %d to�k\n"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:768
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%llu input points were filtered outsite the range for z coordinate"
 msgstr "nalo�enih je bilo %d to�k\n"
 
+#: ../vector/v.in.lidar/main.c:770
+#, c-format
+msgid "%llu input points were skipped at the begging using offset"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "Y koordinata oziroma geografska �irina"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:793
+#, fuzzy, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "nalo�enih je bilo %d to�k\n"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Koordinate poizvedovanja"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40598,7 +42233,7 @@ msgid ""
 msgstr "Ime izhodnega vektorskega sloja"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -41607,11 +43242,6 @@ msgstr "\"Mapset\" vhodnega rastrskega sloja"
 msgid "Resolving conflicts..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Zapisujem novo datoteko...\n"
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -41790,57 +43420,57 @@ msgstr "
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, fuzzy, c-format
 msgid "Generalization (%s)..."
 msgstr "Zapisujem novo datoteko...\n"
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Ime izhodnega rastrskega sloja"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr ""
@@ -41890,58 +43520,6 @@ msgstr ""
 #~ msgstr " �tevilo vrstic\n"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Ime obstoje�ega rastrskega sloja s plastnicami"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Ime obstoje�ega rastrskega sloja s plastnicami"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr "Izhodni rastrski sloj energije difuzne radiacije"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr "Izhodni rastrski sloj energije difuzne radiacije"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Ime vhodnega rastrskega sloja"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Ime rastrskega sloja nadmorskih vi�in"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr "Ime vhodnega rastrskega sloja"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr "Izhodni rastrski sloj energije difuzne radiacije"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "�tevilo to�k najbli�jih to�k, ki bodo upo�tevane"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Povozi projekcijo (uporabi projekcijo lokacije)"
-
-#, fuzzy
 #~ msgid "Location: %s\n"
 #~ msgstr "ne morem odpreti %s"
 
@@ -41950,20 +43528,20 @@ msgstr ""
 #~ msgstr "%s"
 
 #, fuzzy
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "ne najdem regije <%s>"
+#~ msgid "Could not rewind input file"
+#~ msgstr "Ne najdem vhodne datoteke %s\n"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Izhodni sloj"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Ime rastrskega sloja"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Rastrski sloj s topografskim indeksom"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "Ime izhodnega rastrskega sloja"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Ime rastrskega sloja"
+#~ msgid "output map <%s> exists"
+#~ msgstr "Izhodni sloj"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Dol�ina strani (privzeto: %d vrstic)"
@@ -41971,6 +43549,9 @@ msgstr ""
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "�irina strani (privzeto: %d znakov)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Povozi projekcijo (uporabi projekcijo lokacije)"
+
 #, fuzzy
 #~ msgid "%s: Error writing temporary file"
 #~ msgstr "Napaka pri branju dbmscap datoteke\n"
@@ -41988,6 +43569,28 @@ msgstr ""
 #~ msgstr "Ne najdem rastrskega sloja <%s>"
 
 #, fuzzy
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "ne najdem regije <%s>"
+
+#, fuzzy
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "Povozi projekcijo (uporabi projekcijo lokacije)"
+
+#, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Ne morem ustvariti tabele: %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "Preoblikuje rastrski sloj v vektorskega."
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "izpi�i znak razmejitve med polji"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Ime rastrskega sloja, ki bo uporabljen za <%s>"
 
@@ -42022,98 +43625,50 @@ msgstr ""
 #~ msgstr "Uporabi nastavitve trenutne regije"
 
 #, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "izpi�i znak razmejitve med polji"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "Ime izhodnega rastrskega sloja"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Preoblikuje rastrski sloj v vektorskega."
+#~ msgid "OGR datasource name"
+#~ msgstr "ime baze podatkov"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Dolo�ena ni bila nobena vhodna datoteka."
 
 #, fuzzy
-#~ msgid "Renaming reclass maps"
-#~ msgstr "izhodni rastrski sloj"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "ne morem prebrati regije <%s> v <%s>"
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d kategorij nalo�enih iz tabele\n"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Vhodni rastrski sloj"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Vhodni rastrski sloj"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Vhodni rastrski sloj"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Vhodni rastrski sloj"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Ne morem odpreti cellfile za [%s]"
 
 #, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Vhodni rastrski sloj"
+#~ msgid "Env file not found"
+#~ msgstr "ne najdem 3Dview datoteke <%s>"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+#~ msgid "PID file not found"
+#~ msgstr "ne najdem 3Dview datoteke <%s>"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+#~ msgid "Command file not found"
+#~ msgstr "ne najdem 3Dview datoteke <%s>"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "izhodni rastrski sloj"
 
 #, fuzzy
-#~ msgid "No graphics device selected. Use d.mon to select graphics device."
-#~ msgstr "Nobena grafi�na naprava ni izbrana"
+#~ msgid "Name for output image"
+#~ msgstr "Ime izhodne datoteke"
 
 #, fuzzy
-#~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr "Izbere pisavo v kateri bo tekst zapisan na grafi�nem monitorju"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "ne morem prebrati regije <%s> v <%s>"
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Izpi�i podprte formate in kon�aj"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d kategorij nalo�enih iz tabele\n"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
 #~ msgstr "Ime izhodnega rastrskega sloja"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Najve�ja razdalja med to�kami in enotami karte."
-
-#, fuzzy
 #~ msgid "Displays thematic vector map"
 #~ msgstr "Ime vhodnega rastrskega sloja"
 
@@ -42155,28 +43710,82 @@ msgstr ""
 #~ msgstr "Metri�ni"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr "Ime izhodnega rastrskega sloja"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Ri�em ..."
+#~ msgid "Default: input"
+#~ msgstr "Najve�ja razdalja med to�kami in enotami karte."
 
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Ime izhodnega rastrskega sloja"
+#~ msgid "No graphics device selected. Use d.mon to select graphics device."
+#~ msgstr "Nobena grafi�na naprava ni izbrana"
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Ne morem odpreti cellfile za [%s]"
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr "Izbere pisavo v kateri bo tekst zapisan na grafi�nem monitorju"
 
 #, fuzzy
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "SISTEMSKA_NAPAKA: OLD_T_NEW ima napa�no kodo za tip %x"
+#~ msgid "Text color or \"none\""
+#~ msgstr " privzeta barva\n"
 
 #, fuzzy
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "SISTEMSKA NAPAKA: OLD_T_NEW ima napa�no kodo za tip %x"
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Izpi�i podprte formate in kon�aj"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "Ne najdem vhodnega vektorja <%s>"
+
+#~ msgid "Failed opening input dig file."
+#~ msgstr "Nisem uspel odpreti vhodne datoteke."
+
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "dig_att datoteka ne obstaja."
+
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "Nisem mogel odpreti vhodne datoteke dig_att."
+
+#, fuzzy
+#~ msgid "Attaching categories..."
+#~ msgstr "Pripajam kategorije...\n"
+
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "Nisem uspel pripojiti atributa (kategorije %d) liniji."
+
+#, fuzzy
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "OPOZORILO: linija %d etiketa: %d je enaka drugi etiketi: %d."
+
+#, fuzzy
+#~ msgid "Writing new file..."
+#~ msgstr "Zapisujem novo datoteko...\n"
+
+#, fuzzy
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "%-5d to�k in linij zapisanih v izhodno datoteko.\n"
+
+#, fuzzy
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "%-5d centroidov zapisanih v izhodno datoteko.\n"
+
+#, fuzzy
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Ime vhodnega rastrskega sloja"
+
+#, fuzzy
+#~ msgid "Endian of input vector map"
+#~ msgstr "Ime vhodnega rastrskega sloja"
+
+#, fuzzy
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr "Ne najdem etiket (dig_cats), tabela ni bi bila ustvarjena.\n"
+
+#, fuzzy
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "ne morem odpreti <%s>"
 
 #, fuzzy
 #~ msgid "Reading dig file..."
@@ -42286,130 +43895,48 @@ msgstr ""
 #~ msgstr "%-5d kategorij prebranih v spomin.\n"
 
 #, fuzzy
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr "Ne najdem etiket (dig_cats), tabela ni bi bila ustvarjena.\n"
-
-#, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "ne morem odpreti <%s>"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Nisem uspel odpreti vhodne datoteke."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "dig_att datoteka ne obstaja."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Nisem mogel odpreti vhodne datoteke dig_att."
-
-#, fuzzy
-#~ msgid "Attaching categories..."
-#~ msgstr "Pripajam kategorije...\n"
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "Nisem uspel pripojiti atributa (kategorije %d) liniji."
-
-#, fuzzy
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "OPOZORILO: linija %d etiketa: %d je enaka drugi etiketi: %d."
-
-#, fuzzy
-#~ msgid "Writing new file..."
-#~ msgstr "Zapisujem novo datoteko...\n"
-
-#, fuzzy
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "%-5d to�k in linij zapisanih v izhodno datoteko.\n"
-
-#, fuzzy
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "%-5d centroidov zapisanih v izhodno datoteko.\n"
-
-#, fuzzy
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Ime vhodnega rastrskega sloja"
-
-#, fuzzy
-#~ msgid "Endian of input vector map"
-#~ msgstr "Ime vhodnega rastrskega sloja"
-
-#, fuzzy
-#~ msgid "Unknown raster map type"
-#~ msgstr "Izpi�i le tip podatkovnega zapisa rastrskega sloja"
-
-#, fuzzy
-#~ msgid "Can't call bad function"
-#~ msgstr "lokacija baze podatkov"
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "SISTEMSKA_NAPAKA: OLD_T_NEW ima napa�no kodo za tip %x"
 
 #, fuzzy
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Rastrski sloj nadmorskih vi�in"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "SISTEMSKA NAPAKA: OLD_T_NEW ima napa�no kodo za tip %x"
 
 #, fuzzy
 #~ msgid "One or more coordinates"
 #~ msgstr "Uporabljam koordinate sredi��a sloja\n"
 
 #, fuzzy
-#~ msgid "Cannot create quaddata"
-#~ msgstr "Ne morem ustvariti indeksa"
-
-#, fuzzy
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "Ne morem ustvariti indeksa"
+#~ msgid "Name of elevation map"
+#~ msgstr "Ime rastrskega sloja nadmorskih vi�in"
 
-#, fuzzy
-#~ msgid "Cannot create tree"
-#~ msgstr "Ne morem ustvariti indeksa"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Znak, ki naj predstavlja NULL celice"
 
 #, fuzzy
-#~ msgid "Cannot create tree info"
-#~ msgstr "Ne morem ustvariti indeksa"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
 
 #, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Preoblikuje rastrski sloj v vektorskega."
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "Nepoznan tip: %c"
 
 #, fuzzy
-#~ msgid "Site file <%s> not found"
-#~ msgstr "ne najdem 3Dview datoteke <%s>"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Ne najdem vhodne datoteke %s\n"
 
 #, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "Vhodni sloj"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "ne morem odpreti razpona za datoteko %s"
 
-#, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "Ne morem izra�unati centroida obmo�ja."
+#~ msgid "String representing no data cell value"
+#~ msgstr "Znak, ki bo predstavljal NULL vrednosti"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
+#~ msgid "Surface interpolation utility for raster map."
 #~ msgstr ""
-#~ "\n"
-#~ "Spreminjam vektorje ... \n"
-
-#, fuzzy
-#~ msgid "%d sites written."
-#~ msgstr "%d to�k je bilo zapisanih na izhodno datoteko\n"
-
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Ime sloja, ki bo uporabljen za svetlost (INTENSITY)"
-
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Ime sloja, ki bo uporabljen za nasi�enost (SATURATION)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr "Ime vhodnega rastrskega sloja"
-
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Ime izhodne datoteke, ki bo vsebovala poro�ilo"
-
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Ime obstoje�ega rastrskega sloja"
+#~ "Interpolacija s pomo�jo obte�evanja glede na obratno razdaljo\n"
+#~ "(inverse distance weighting)"
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -42426,18 +43953,18 @@ msgstr ""
 #~ "razli�nimi geografskimi lokacijami po vhodnem rastrskem sloju katerega\n"
 #~ "vrednosti predstavljajo stro�ek."
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "Ime sloja, ki bo uporabljen za svetlost (INTENSITY)"
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "Ime sloja, ki bo uporabljen za nasi�enost (SATURATION)"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "Ime izhodnega sloja, ki bo uporabljen za zeleno (GREEN)"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "Ime izhodnega sloja, ki bo uporabljen za modro (BLUE)"
 
-#, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr ""
-#~ "Interpolacija s pomo�jo obte�evanja glede na obratno razdaljo\n"
-#~ "(inverse distance weighting)"
-
 #~ msgid "Surface generation program."
 #~ msgstr ""
 #~ "Modul zapolni rastrsko matriko z interpoliranimi vrednostmi iz mno�ice \n"
@@ -42455,44 +43982,6 @@ msgstr ""
 #~ msgstr[1] "izhodni rastrski sloj"
 
 #, fuzzy
-#~ msgid "allocation"
-#~ msgstr "ne morem odpreti %s"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "Berem dig datoteko...\n"
-
-#, fuzzy
-#~ msgid "Name of elevation map"
-#~ msgstr "Ime rastrskega sloja nadmorskih vi�in"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Znak, ki naj predstavlja NULL celice"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
-
-#, fuzzy
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Nepoznan tip: %c"
-
-#, fuzzy
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Ne najdem vhodne datoteke %s\n"
-
-#, fuzzy
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "ne morem odpreti razpona za datoteko %s"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Znak, ki bo predstavljal NULL vrednosti"
-
-#, fuzzy
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "Izdelaj z-sloj (nadmorsko vi�ino)"
 
@@ -42533,8 +44022,18 @@ msgstr ""
 #~ msgstr "Ne izpi�i vzglavja"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Korelacija"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
+#~ msgstr "Ime vhodnega rastrskega sloja"
+
+#, fuzzy
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "Ime izhodne datoteke, ki bo vsebovala poro�ilo"
+
+#, fuzzy
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Ime obstoje�ega rastrskega sloja"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -42553,6 +44052,72 @@ msgstr ""
 #~ msgstr "Naslov izhodnega rastrskega sloja"
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr ""
+#~ "Izra�una univariatne statisti�ne parametre za ne NULL celice rastrskega "
+#~ "sloja."
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Izpi�i podprte formate in kon�aj"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Izpi�i podprte formate in kon�aj"
+
+#, fuzzy
+#~ msgid "Invalid distance"
+#~ msgstr "neveljavna regija: %s"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "ne morem odpreti %s"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "Berem dig datoteko...\n"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Vhodni rastrski sloj"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Vhodni rastrski sloj"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Vhodni rastrski sloj"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Vhodni rastrski sloj"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Vhodni rastrski sloj"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Ri�em ..."
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Korelacija"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "Ime rastrskega sloja nadmorskih vi�in"
 
@@ -42569,13 +44134,75 @@ msgstr ""
 #~ msgstr "Ime izhodnega sloja"
 
 #, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgid "Cannot create quaddata"
+#~ msgstr "Ne morem ustvariti indeksa"
+
+#, fuzzy
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "Ne morem ustvariti indeksa"
+
+#, fuzzy
+#~ msgid "Cannot create tree"
+#~ msgstr "Ne morem ustvariti indeksa"
+
+#, fuzzy
+#~ msgid "Cannot create tree info"
+#~ msgstr "Ne morem ustvariti indeksa"
+
+#, fuzzy
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Ne morem odpreti cellfile za [%s]"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr "Uporabi� lahko ali 'from_table' ali 'select'"
+
+#, fuzzy
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "Preoblikuje rastrski sloj v vektorskega."
+
+#, fuzzy
+#~ msgid "Site file <%s> not found"
+#~ msgstr "ne najdem 3Dview datoteke <%s>"
+
+#, fuzzy
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "Vhodni sloj"
+
+#, fuzzy
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "Ne morem izra�unati centroida obmo�ja."
+
+#, fuzzy
+#~ msgid "Transferring sites to vector point map..."
 #~ msgstr ""
-#~ "Izra�una univariatne statisti�ne parametre za ne NULL celice rastrskega "
-#~ "sloja."
+#~ "\n"
+#~ "Spreminjam vektorje ... \n"
 
 #, fuzzy
-#~ msgid "Invalid distance"
-#~ msgstr "neveljavna regija: %s"
+#~ msgid "%d sites written."
+#~ msgstr "%d to�k je bilo zapisanih na izhodno datoteko\n"
+
+#, fuzzy
+#~ msgid "Performing map %s + %s"
+#~ msgstr "Rastrski sloj nadmorskih vi�in"
+
+#, fuzzy
+#~ msgid "Can't call bad function"
+#~ msgstr "lokacija baze podatkov"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "Ime izhodnega rastrskega sloja"
+
+#, fuzzy
+#~ msgid "Unknown raster map type"
+#~ msgstr "Izpi�i le tip podatkovnega zapisa rastrskega sloja"
diff --git a/locale/po/grassmods_th.po b/locale/po/grassmods_th.po
index 26e593b..4a3f7af 100644
--- a/locale/po/grassmods_th.po
+++ b/locale/po/grassmods_th.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_th\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2008-01-05 15:19+0700\n"
 "Last-Translator: man <mansv68 at yahoo.co.th>\n"
 "Language-Team: Thai <grass-translations at lists.osgeo.org>\n"
@@ -22,10 +22,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -43,6 +43,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -71,12 +72,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -122,7 +124,7 @@ msgstr "ค่า NULL ขณะวาด"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -130,14 +132,16 @@ msgid "Color file for <%s> not available"
 msgstr "ไฟล์สี สำหรับ <%s> ใช้ไม่ได้"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -156,7 +160,9 @@ msgstr "ไฟล์สี สำหรับ <%s> ใช้ไม่ได้"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -177,7 +183,7 @@ msgstr "ไฟล์สี สำหรับ <%s> ใช้ไม่ได้"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -189,7 +195,7 @@ msgstr "ไฟล์สี สำหรับ <%s> ใช้ไม่ได้"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -213,17 +219,17 @@ msgstr "ไฟล์สี สำหรับ <%s> ใช้ไม่ได้"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -234,7 +240,7 @@ msgstr "ไฟล์สี สำหรับ <%s> ใช้ไม่ได้"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -385,10 +391,13 @@ msgstr "แสดง สัญลักษณ์ ของแผนที่เ
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 #, fuzzy
 msgid "Input"
 msgstr "ใส่:"
@@ -436,22 +445,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "ใช้ กลุ่มย่อยของช่วงแผนที่สำหรับสัญลักษณ์ (น้อย,มาก)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "สีตัวอักษร"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "การกำหนด"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "ชื่อแบบตัวอักษร"
 
@@ -465,11 +476,13 @@ msgstr "ขนาดของสัญลักษณ์"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "Path ถึงไฟล์ font"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -565,14 +578,20 @@ msgstr "ช่วงสี เลยขอบบน ของข้อมูล
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "use=%s อยู่นอกช่วง [%.3f, %.3f]. (ขยายด้วยช่วง= ?)"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "ไม่มีอะไรจะวาด! (ไม่มี แถบข้อความหมวดหมู่?)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -614,11 +633,11 @@ msgstr "หัวข้อ กราฟ"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -699,23 +718,26 @@ msgstr "แสดงรายการหมวดหมู่ (INT maps)"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -725,14 +747,19 @@ msgstr "แสดงรายการหมวดหมู่ (INT maps)"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -782,49 +809,50 @@ msgstr "%s:ค่าที่กำหนด ไม่ถูกต้อง"
 msgid "[%s]: No such color"
 msgstr "[%s]: ไม่ใช่ค่าสี"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "แสดงข้อมูลของ หน้าจอที่แสดงผลอยู่"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "กรอบจอแสดง (ซ้าย, ขวา, บน, ล่าง)"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "ขนาดจอแสดง กว้าง, สูง)"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "แสดงกรอบที่กำลังทำงาน"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "ขนาดจอแสดง กว้าง, สูง)"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "แสดงกรอบของ current region"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -832,31 +860,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "การติดต่อฐานข้อมูลไม่ได้ถูกกำหนด ใน ชั้นข้อมูล %d"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -866,10 +895,10 @@ msgstr "การติดต่อฐานข้อมูลไม่ได้
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -883,7 +912,7 @@ msgstr "การติดต่อฐานข้อมูลไม่ได้
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "ไม่สามารถเปิดฐานข้อมูล <%s> โดยตัวขับ <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -907,7 +936,7 @@ msgstr "ชนิดแผนภูมิ"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 #, fuzzy
 msgid "Chart properties"
 msgstr "ชนิดแผนภูมิ"
@@ -948,7 +977,12 @@ msgstr "ค่ามากสุดที่ใช้วาดแท่งอ้
 msgid "Create legend information and send to stdout"
 msgstr "สร้างรายละเอียดสัญลักษณ์ และ ส่งไปที่ stdout"
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "สร้างผลลัพธ์ 3มิติ"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -956,20 +990,22 @@ msgstr "สร้างรายละเอียดสัญลักษณ์
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -984,40 +1020,40 @@ msgstr "สร้างรายละเอียดสัญลักษณ์
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "ไม่สามารถ เปิด แผนที่เชิงเส้น <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1042,11 +1078,6 @@ msgstr "ค่าพิกัด จุดเริ่ม และ ปลาย
 msgid "Line color"
 msgstr "สีเส้น"
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr "สีตัวอักษร"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1104,12 +1135,15 @@ msgstr "L: เพิ่ม  M: เอาออก  R: ออกและบั
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1128,17 +1162,18 @@ msgstr "L: เพิ่ม  M: เอาออก  R: ออกและบั
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1151,10 +1186,10 @@ msgstr "L: เพิ่ม  M: เอาออก  R: ออกและบั
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1162,21 +1197,22 @@ msgstr "L: เพิ่ม  M: เอาออก  R: ออกและบั
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "แผนที่เชิงเส้น"
 
@@ -1221,16 +1257,18 @@ msgstr "แผนที่เชิงเส้น <%s> ไม่พบ"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1242,22 +1280,22 @@ msgstr "แผนที่เชิงเส้น <%s> ไม่พบ"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1310,10 +1348,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1368,40 +1406,40 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "ชื่อชั้นข้อมูลเชิงภาพที่จะใช้ <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "กำลัง log transformation"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr "ซ้อน ค่าหมวด cell บนชั้นข้อมูลแผนที่เชิงภาพ ของจอแสดงผล"
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "สีเส้นกริด"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "จำนวนจุดทศนิยม (เฉพาะ floating point เท่านั้น)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "ไม่ต้องทำดัชนีจุด โดย  raster cell"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "ใช้ค่าสีตัวอักษร จากค่าสีของ cell"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1410,7 +1448,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1418,7 +1456,7 @@ msgstr[0] "สีเส้นกริด"
 msgstr[1] "สีเส้นกริด"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1429,72 +1467,72 @@ msgstr ""
 "การกำหนดค่า หน้าต่างที่กำลังทำงาน อาจจะใหญ่เกินไป การแสดง Cells บนหน้าต่างอาจจะเล็กมาก "
 "สำหรับ จำนวนหมวด cell ที่สามารถมองเห็น"
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr "แสดงลูกศรแทน  cell aspect direction สำหรับ ภาพแผนที่ที่มีข้อมูล aspect"
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "ชื่อของภาพแผนที่ aspect ที่จะแสดง"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "ชนิดของ ภาพแผนที่  aspect"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "สีลูกศร สำหรับการวาด"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "สีลูกศร สำหรับการวาด"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "สี X's สำหรับการวาด  (ค่า Null)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "สีสำหรับ ข้อมูลที่ไม่ทราบ"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "วาดลูกศรทุกๆ Nth grid cell"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "ภาพแผนที่ประกอบด้วยค่าที่ใช้ระบุความยาวลูกศร"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Scale factor สำหรับลูกศร (magnitude map)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "ค่า  scale factor ไม่ถูกต้อง"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr "ค่า  skip factor ไม่ถูกต้อง"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr "Magnitude ใช้กับ GRASS และแผนที่ compass aspect เท่านั้น"
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr "magnitude_map ต้องการ  Scale "
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr "มีปัญหาในการอ่าน ไฟล์  range"
 
@@ -1625,17 +1663,17 @@ msgstr ""
 "ระยะถึงโครงข่าย = %f, ระยะจากโครงข่าย = %f\n"
 "\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1643,7 +1681,7 @@ msgstr "แผนที่เชิงเส้น, networking"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1652,50 +1690,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr "หาเส้นทางที่สั้นที่สุด สำหรับ จุดเริ่ม และ ปลายทาง ที่เลือก"
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "ชนิดเส้น"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "ชั้นข้อมูลเส้น"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr "ชั้นข้อมูลจุด"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr "Arc forward/both direction(s) cost column (number)"
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr "Arc backward direction cost column (number)"
 
@@ -1717,11 +1755,11 @@ msgstr "การสร้างภาพ"
 msgid "Background color"
 msgstr "สีพื้นหลัง"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "ใช้การคำนวน  geodesic สำหรับตำแหน่ง แลตติจูด-ลองติจูด"
 
@@ -1741,7 +1779,7 @@ msgstr "%s - ค่า y ไม่ถูกต้อง"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "การฉายแผนที่ ที่ใช้ ไม่ใช่แบบ แลตติจูด-ลองติจูด"
 
@@ -1766,7 +1804,7 @@ msgstr "กำลังปรับปรุง ช่วง histogram ..."
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1774,7 +1812,7 @@ msgstr "กำลังปรับปรุง ช่วง histogram ..."
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2142,7 +2180,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2160,15 +2198,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "เงื่อนไข Geo-Grid ไม่สามารถใช้ได้กับ การฉายแผนที่แบบ  LL"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "ไม่สามารถอ่าน  ค่า key การฉายแผนที่ ของ ตำแหน่งปัจจุบัน"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "ไม่สามารถกำหนด ค่าตัวแปร แลต/ลอง ของการฉายแผนที่"
@@ -2422,12 +2460,13 @@ msgstr "ค่าพิกัด ไม่ถูกต้อง %s %s"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2499,15 +2538,15 @@ msgstr "การร้องขอใมาชัดเจน สำหรั
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "โปรดระบุ  ค่า แลต/ลอง ของวงรี ด้วย -l หรือ -w"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "ไม่สามารถอ่าน ข้อมูลการฉายแผนที่สำหรับ ตำแหน่งปัจจุบัน"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "ไม่สามารถอ่าน หน่วยการฉายแผนที่สำหรับ ตำแหน่งปัจจุบัน"
 
@@ -2531,11 +2570,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "ไม่สามารถอ่าน แผนที่เชิงเส้น"
 
@@ -2737,7 +2777,7 @@ msgstr "สีของรูปปิด"
 msgid "Colorize features according color definition column"
 msgstr "ชื่อของ  column สี (สำหรับใช้กับ -a )"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "ไม่ได้ระบุ column สี"
@@ -3032,41 +3072,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]:ไม่ใช่สี. ใช้ '%s'"
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "ไฟล์  '%s' มีอยู่แล้ว และจะถูกเขียนทับ"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "ไม่สามารถปรับปรุงขอบเขตปัจจุบัน"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "ชนิดของผลลัพธ์"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้ว"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "ไม่สามารถสร้างไฟล์ <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "การเขียน แผนที่เชิงเส้น <%s>"
 
-#: ../display/d.mon/start.c:163
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "ไม่สามารถอ่าน range ไฟล์"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
 #, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+msgid "Unable to create file <%s>"
+msgstr "ไม่สามารถสร้างไฟล์ <%s>"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3078,34 +3125,53 @@ msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล
 msgid "Monitor <%s> is not running"
 msgstr "ไม่พบไฟล์ <%s>"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "ไม่พบไฟล์ 3dview <%s>"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "ไม่สามารถสร้างไฟล์ <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "ไม่พบไฟล์: %s"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "ไม่สามารถเปิดแหล่งข้อมูล <%s>"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "ไม่สามารถเปิดไฟล์ <%s> ได้"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "ไม่สามารถสร้างไฟล์ <%s>"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "รายการของ ค่าพิกัด จุด"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "ไม่พบ Column <%s>"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "ไม่สามารถเปิดไฟล์: <%s>"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "ไม่สามารถอ่าน range ไฟล์"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "%d พบ เส้น หรือ ขอบเขต ใน แผนที่เชิงเส้น <%s@%s>"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3117,8 +3183,8 @@ msgid "Name of monitor to start"
 msgstr "ชื่อของ  script ผลลัพธ์"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3142,9 +3208,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3224,12 +3291,12 @@ msgid "List running monitors and exit"
 msgstr "แสดงรายการ รูปแบบที่รองรับ และ ออก"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3242,33 +3309,34 @@ msgstr "แสดงรายการ รูปแบบที่รองร
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "แสดง"
 
@@ -3282,59 +3350,77 @@ msgstr "แสดง ตัวแปรการเชื่อมต่อ แ
 msgid "Print commands for currently selected monitor and exit"
 msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "แสดง ตัวแปรการเชื่อมต่อ และ ออก."
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "อย่าเลือกแบบ อัตโนมัติ เมื่อเริ่มต้นการทำงาน"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "ไม่สามารถอ่านค่าสีได้"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "เปิด ฟอร์ม ในการแก้ไข"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr "ข้าม\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr "ใช้จอแสดงผล <%s>"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "ไม่มีจอถูกเลือก"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "ใช้ \"-i\" หรือ \"value=\" จะต้องกำหนด"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3385,7 +3471,7 @@ msgid "No map name given"
 msgstr "ไม่ได้ระบุชื่อแผนที่"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "ไม่สามารถอ่าน ไฟล์หมวดหมู่ของแผนที่เชิงภาพ <%s@%s>"
@@ -3516,9 +3602,9 @@ msgstr "...สำเร็จ"
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "ไม่สามารถเปิดไฟล์ <%s> เพื่อเขียน"
@@ -3567,9 +3653,9 @@ msgstr "Correlation"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "รูปแบบ"
@@ -3584,11 +3670,11 @@ msgstr "ตัวแยกทางดิ่ง ของข้อมูลผ
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "ชื่อของไฟล์ผลลัพธ์ (ถ้าข้าม หรือใช้  \"-\" ให้ส่งออกไปที่ stdout)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "อย่ารวมชื่อ column ลงในผลลัพธ์"
 
@@ -3596,7 +3682,7 @@ msgstr "อย่ารวมชื่อ column ลงในผลลัพธ
 msgid "Describe query only (don't run it)"
 msgstr "อธิบายการค้นหาเท่านั้น  (ไม่ต้องทำงาน)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "ผลลัพธ์ทางดิ่ง (แทนที่จะเป็นทางราบl)"
 
@@ -3629,7 +3715,7 @@ msgstr "ทดสอบการค้นหา, ไม่ต้องทำง
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3661,7 +3747,7 @@ msgstr "ฐานข้อมูล, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3673,7 +3759,7 @@ msgstr "แผนที่เชิงเส้น, ตารางรายล
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3811,8 +3897,8 @@ msgstr "ไม่สามารถอ่าน range ไฟล์"
 msgid "Unable to create index:"
 msgstr "ไม่สามารถสร้าง ดัชนี ได้"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Correlation"
@@ -3885,7 +3971,7 @@ msgstr "ไม่สามารถกำหนด projection"
 msgid "Unable to allocate handle."
 msgstr "ไม่สามารถ กำหนดหน่วยความจำได้"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3922,7 +4008,7 @@ msgstr "ไม่สามารถเลือก รายละเอีย
 msgid "Unable to select view names."
 msgstr "ไม่สามารถเลือก รายละเอียด"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3962,12 +4048,12 @@ msgstr "หน่วยความจำไม่พอ"
 msgid "No path given"
 msgstr "ไม่ได้ระบุชื่อแผนที่"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "ไม่สามารถเลือก รายละเอียด"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "ไม่สามารถเลือกข้อมูลจากตารางได้"
@@ -4015,29 +4101,29 @@ msgid "Taken not found"
 msgstr "ไม่พบ"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "ไม่สามารถสร้าง ดัชนี ได้"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "ไม่สามารถกำหนดขนาด แบบตัวอักษร"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "ไม่สามารถเลือก รายละเอียด"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "ไม่สามารถสร้างตาราง <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "ไม่สามารถเปิดฐานข้อมูล <%s> ได้"
@@ -4084,6 +4170,11 @@ msgstr ""
 "column '%s' : type bool (boolean) จัดเก็บแบบ  char(1), values: 0 (false), 1 "
 "(true)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "ไม่สามารถกำหนดขนาด"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "ไม่ทราบเงื่อนไขในฐานข้อมูล PostgreSQL: "
@@ -4171,7 +4262,8 @@ msgstr "ไม่พบ %s <%s>"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4253,22 +4345,22 @@ msgstr "ไม่สามารถเปิดแหล่งข้อมูล
 msgid "Unable to open database:"
 msgstr "ไม่สามารถเปิดฐานข้อมูล <%s> ได้"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "การติดต่อกับฐานข้อมูล ไม่ถูกกำหนด"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "<%s> มีอยู่แล้ว"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "ไม่สามารถสร้างตาราง: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "ไม่พบ %s <%s>"
@@ -4283,6 +4375,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "SQLite driver: column '%s', SQLite type %d  ไม่รองรับ"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "ผิดพลาดขณะปิด  ascii  ไฟล์ "
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4530,10 +4627,10 @@ msgstr "เอา ฐานข้อมูลออก"
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4554,26 +4651,39 @@ msgstr "โปรด แก้ไข ค่าที่กำหนด"
 msgid "Sets user/password for DB driver/database."
 msgstr "กำหนด ผู้ใช้/รหัสผ่าน สำหรับ ตัวขับ/ฐานข้อมูล."
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "ไม่สามารถกำหนด projection"
+msgid "Username"
+msgstr "ชื่อ"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "ไม่สามารถกำหนด projection"
+msgid "Password"
+msgstr "ผ่าน: %d\n"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "ชื่อทดสอบ"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "แสดง ตัวแปรการเชื่อมต่อ และ ออก."
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "ไม่สามารถกำหนด ผู้ใช้/ระหัสผ่าน"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "รหัสผ่านเก็บไว้ในไฟล์"
@@ -4858,6 +4968,7 @@ msgstr "พื้นที่\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4868,10 +4979,11 @@ msgstr "พื้นที่\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "แผนที่เชิงภาพ"
@@ -4943,19 +5055,6 @@ msgstr "ใช้  -i และ/หรือ ตัวแปรเส้นท
 msgid "Off-screen only available with full render mode"
 msgstr "การสร้างภาพ แบบไม่แสดง ใช้ได้กับ การสร้างภาพแบบเต็ม"
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "ไม่สามารถเปิดไฟล์ <%s> ได้"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5233,7 +5332,7 @@ msgstr "ไม่พบ แผนที่เชิงภาพ latin <%s>"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5932,7 +6031,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5945,12 +6044,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "ทั่วไป"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6057,7 +6157,17 @@ msgstr "%s=%s,%s:ไฟล์เหมือนกัน, ไม่ต้อง
 msgid "<%s> already exists"
 msgstr "<%s> มีอยู่แล้ว"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "ไม่สามารถอ่านส่วนหัว ของแผนที่เชิงภาพ 3D <%s@%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "ไม่สามารถเปิด แผนที่เชิงเส้น  <%s> ที่ระดับ  topological  %d"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6065,20 +6175,20 @@ msgstr "<%s> มีอยู่แล้ว"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 #, fuzzy
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr "แสดงรายการไฟล์ข้อมูลฐาน ของ GRASS ที่ผู้ใช้ระบุชนิดไปที่ standard output."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr "รูปแบบการหาชื่อแผนที่ (ค่าตั้งต้น: all)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6086,140 +6196,113 @@ msgstr "รูปแบบการหาชื่อแผนที่ (ค่
 msgid "Pattern"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
 msgstr "รูปแบบการหาชื่อแผนที่ (ค่าตั้งต้น: all)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "รายการ ชุดแผนที่ (ค่าตั้งต้น: path ค้นหาปัจจุบัน)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "ชื่อของชุดแผนที่ (ค่าตั้งต้น: ที่กำลังทำงานอยู่)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "กำหนด ขอบเขตปัจจุบัน จาก ชื่อของขอบเขต"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "ชื่อของไฟล์ผลลัพธ์"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "ถ้าไมกำหนด ให้อ่านจาก standard input"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 #, fuzzy
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "ใช้ regular expression แทน wildcard"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 #, fuzzy
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "ใช้ regular expression แทน wildcard"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "แสดง ชนิดของ แผนที่เชิงภาพ"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 #, fuzzy
 msgid "Pretty printing in human readable format"
 msgstr "หยุดพิมพ์ ข้อมูลส่วนหัว"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "รายการแบบละเอียด (แสดงหัวข้อแผนที่ด้วย)"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "weight= และ -c คือ mutually exclusive"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "weight= และ -c คือ mutually exclusive"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "weight= และ -c คือ mutually exclusive"
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "ไม่สามารถเปิดไฟล์ <%s> ได้"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "กลุ่ม <%s> ไม่มีอยู่"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "ไม่สามารถอ่านส่วนหัว ของแผนที่เชิงภาพ 3D <%s@%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "ไม่สามารถเปิด แผนที่เชิงเส้น  <%s> ที่ระดับ  topological  %d"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "ไม่สามารถปรับปรุง ตัวแปร แลต/ลอง ของ  projection ได้"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "ข้อผิดพลาดใน pj_do_proj (projection ของค่าพิกัดที่จะนำเข้า)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 #, fuzzy
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr "คูณใช้ค่า แลต/ลอง อยู่แล้ว ให้ใช้  -p แทน"
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 #, fuzzy
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr "คุณใช้ ค่าตำแหน่ง xy(ไม่สามารถกำหนด  projection ได้, ให้ใช้  -p แทน)."
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6227,7 +6310,7 @@ msgstr ""
 "ไม่สามารถออกผลลัพธ์ WGS84 ได้ เพราะ  location ไม่มี datum transformation "
 "parameters. ลองใช้  g.setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6456,9 +6539,9 @@ msgstr "ไม่พบขอบเขต <%s>"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "ไม่พบแผนที่เชิงภาพ 3D <%s>"
@@ -6481,7 +6564,7 @@ msgstr "ไม่สามารถปรับปรุงขอบเขตป
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr "ไม่สามารถเปลี่ยนขอบเขตตั้งต้น ชุดแผนที่ปัจจุบันไม่ใช่ <PERMANENT>"
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "ข้อมูลที่จะนำเข้าไม่ถูกต้อง <%s=%s>"
@@ -6770,38 +6853,38 @@ msgstr "แสดงแบบ shell script"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6945,7 +7028,7 @@ msgstr "ชื่อของชุดแผนที่ ที่จะเพ
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "คำสั่งที่จะทำงาน"
@@ -7409,7 +7492,7 @@ msgstr "ไม่สามารถเปิด ไฟล์ ที่จะน
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7619,38 +7702,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "ไม่พบ Column <%s>"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "ไฟล์แผนที่เชิงภาพที่จะนำเข้า"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7868,8 +7972,8 @@ msgid ""
 "system"
 msgstr "บังคับใช้ ข้อมูล datum transformation ของระบบค่าพิกัดที่จะนำเข้า"
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7906,9 +8010,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, fuzzy, c-format
 msgid "Location <%s> created"
 msgstr "Location %s ถูกสร้าง!"
@@ -8064,10 +8168,12 @@ msgstr "แสดง  Transformation matrix ไปที่ stdout"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8083,10 +8189,14 @@ msgstr "แสดง  Transformation matrix ไปที่ stdout"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8120,10 +8230,12 @@ msgstr "vector, topology"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8139,10 +8251,14 @@ msgstr "vector, topology"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8248,8 +8364,8 @@ msgstr "ลบ เนื้อหาของกรอบแสดงผล ด
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "นำเข้า"
@@ -8291,7 +8407,7 @@ msgstr "นำเข้าไฟล์ SPOT VGT NDVI ไปที่ แผน
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8320,15 +8436,16 @@ msgstr "ภาพ"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "นำเข้า"
@@ -8390,7 +8507,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "ชื่อของแผนที่เชิงภาพ cover"
+msgstr "ชื่อของแผนที่เชิงภาพ ที่ 2"
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8475,7 +8592,7 @@ msgstr "รูปแบบใหม่"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "แปลง แผนที่เชิงภาพ 3 มิติ ไปเป็น แผนที่เชิงภาพ 2 มิติ"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8485,6 +8602,107 @@ msgstr ""
 msgid "inputs"
 msgstr "ใส่:"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "แปลง แผนที่เชิงภาพ 3 มิติ ไปเป็น แผนที่เชิงภาพ 2 มิติ"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "แผนที่เชิงภาพ, แผนที่ algebra"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "ชืาอของ แผนที่เชิงภาพ 3 มิติ"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "จำนวน ชุด ที่จะพิมพ์"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "แผนที่เชิงภาพที่จะนำเข้า"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8537,21 +8755,12 @@ msgid ""
 "datasets."
 msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "แผนที่เชิงภาพ, แผนที่ algebra"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8560,11 +8769,13 @@ msgstr "แผนที่เชิงภาพ, แผนที่ algebra"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8572,54 +8783,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "ชืาอของ แผนที่เชิงภาพ 3 มิติ"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "จำนวน ชุด ที่จะพิมพ์"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "แผนที่เชิงภาพที่จะนำเข้า"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8634,7 +8804,8 @@ msgstr "ชื่อของแผนที่เชิงภาพ aspect"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "แผนที่เชิงภาพ, ส่งออก"
@@ -8861,7 +9032,7 @@ msgstr "vector, interpolation"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "วิธีที่ใช้ทำ Interpolation"
 
@@ -8975,6 +9146,49 @@ msgstr "ลบ  column จาก ตารางรายละเอียด 
 msgid "Name of attribute column(s) to drop"
 msgstr "ชื่อของ column"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "คั่นค่ารายการด้วย Comma"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "ชื่อของไฟล์ รายงาน ผลลัพธ์"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "สร้างฐานข้อมูลเปล่า"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "จำนวน ชุด ที่จะพิมพ์"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "แผนที่เชิงเส้นผลลัพธ์ hue"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9199,7 +9413,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9446,6 +9660,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9515,10 +9730,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "ขยาย ขอบเขต ของตำแหน่ง ในชุดข้อมูลใหม่"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "เขียนทับ Projection (ใช้ location's projection)"
@@ -9527,7 +9746,8 @@ msgstr "เขียนทับ Projection (ใช้ location's projection)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "ไม่สามารถอ่าน หน่วยการฉายแผนที่สำหรับ ตำแหน่งปัจจุบัน"
@@ -9547,21 +9767,21 @@ msgstr ""
 "สร้าง แผนที่เชิงภาพ จาก การรวบรวม ของ ค่าพิกัดจำนวนมาก โดยใช้ Univariate Statistics"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr "อ่านไฟล์ข้อมูล ของ ขอบเขต แล้ว ออก"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "ในโหมดการกาด, การแสดง ใช้แบบ script"
 
@@ -9584,21 +9804,21 @@ msgid "Name for output raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "สถิติ ที่จะใช้กับค่า แผนที่เชิงภาพ"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "ชนิดที่จัดเก็บ สำหรับ แผนที่เชิงภาพ ผลลัพธ์"
@@ -9639,17 +9859,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "ตัวคูณมาตราส่วน สำหรับ ค่า ใน Column รายละเอียด"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "เปอร์เซ็นต์ของแผนที่ ที่จะจัดเก็บในหน่วยความจำ"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "pth เปอร์เซ็นต์ ของ ค่า"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9751,8 +9971,8 @@ msgid "Remove existing color table"
 msgstr "เอาตารางสีเดิมออก"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9798,17 +10018,18 @@ msgid ""
 msgstr "แปลง ชั้นข้อมูลเชิงเส้น OGR ไปเป็น แผนที่เชิงเส้น GRASS"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "ไฟล์แผนที่เชิงภาพที่จะนำเข้า"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr "ชื่อชั้นข้อมูล OGR. ถ้าไม่ได้กำหนด, ชั้นข้อมูลทั้งหมดจะถูกนำเข้า"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "ชื่อของแผนที่ผลลัพธ์ (ค่าตั้งต้น: input)"
@@ -9829,6 +10050,11 @@ msgstr "ชื่อของแผนที่ผลลัพธ์ (ค่า
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9851,10 +10077,15 @@ msgstr "ชื่อของแผนที่ผลลัพธ์ (ค่า
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "ผลลัพธ์:"
@@ -9865,29 +10096,30 @@ msgid "Output vector map extent"
 msgstr "แผนที่เชิงเส้นผลลัพธ์ สำหรับ ข้อผิดพลาด"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "ใช้ ขอบเขตปัจจุบันกับ แผนที่ที่จะนำเข้า"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "ผิดพลาดขณะอ่าน ASCII ไฟล์: '%s'"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "การดูด threshold สำหรับขอบเขต"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "'-1' สำหรับ ไม่มีการดูดเข้าหา"
 
@@ -9905,17 +10137,67 @@ msgstr ""
 "และ ออก"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "แสดงรายการ รูปแบบที่รองรับ และ ออก"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "แสดงรายการ ชั้นข้อมูล ในแหล่งข้อมูล และ ออก"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "ไม่สามารถอ่าน หน่วยการฉายแผนที่สำหรับ ตำแหน่งปัจจุบัน"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "แสดง มาตราส่วนแบบแท่ง บนจอแสดงผล"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "สร้าง ชุดแผนที่ถ้า ยังไม่มี"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "เอากรอบทั้งหมดออก และลบหน้าจอ"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "แสดง search path ของชุดแผนที่"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "แสดง ตัวแปรการเชื่อมต่อ และ ออก."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr "ตำแหน่งแบบ เปอร์เซ็นต์ ของค่าพิกัดจอ (0,0 ซ้ายล่าง)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10069,7 +10351,7 @@ msgstr "ต่อภาพตั้งแต่ 4 ภาพ และ ขยา
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10078,7 +10360,7 @@ msgstr "ต่อภาพตั้งแต่ 4 ภาพ และ ขยา
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10088,7 +10370,7 @@ msgid "geometry"
 msgstr "แผนที่เชิงเส้น, geometry"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10143,7 +10425,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "จำนวนจุด ของ interpolation"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10168,15 +10454,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "เลือก Band  (ค่าตั้งต้น: band ทั้งหมด)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10235,12 +10521,12 @@ msgid "Optional"
 msgstr "ชื่อไฟล์ ผลลัพธ์ <%s> ไม่ถูกต้อง"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "อย่าสร้าง ขอบเขตที่ cropping optimization"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "ตำแหน่งบนหน้าจอในหน่วย ค่าพิกัดภูมิศาสตร์"
@@ -10333,7 +10619,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr "สร้าง ชั้นแผนที่เชิงภาพ ด้วย  contiguous areas grown ด้วย 1 cell"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10347,7 +10633,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "รัศมีของ buffer ใน cell เชิงภาพ"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Metric"
 
@@ -10379,14 +10665,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "ปรับปรุง statistic ของแผนที่เชิงภาพ"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10451,6 +10737,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10458,7 +10755,8 @@ msgid ""
 msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "ความละเอียด"
@@ -10501,6 +10799,61 @@ msgstr "ถ้าไม่กำหนด จะใช้ชื่อของ
 msgid "Name of table to drop"
 msgstr "Column ที่ค้นหา. ใช้เงื่อนไข 'query'."
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "สร้างชั้นข้อมูลเชิงเส้น จาก contour ของแผนที่เชิงภาพ"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Contrast"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "การเพิ่มค่าระดับของ contour"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "รายการ ค่าระดับ contour"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "ค่าระดับน้อยสุด contour"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "ค่าระดับมากสุด contour"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "จำนวนจุดน้อยสุดของเส้น contour (0 -> ไม่จำกัด)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "แผนที่เชิงภาพที่จะนำเข้า"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "ไม่ต้องสร้างตารางรายละเอียด"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10526,6 +10879,20 @@ msgstr "รูปแบบ"
 msgid "Name for output table (default: input name)"
 msgstr "ชื่อของแผนที่ผลลัพธ์ (ค่าตั้งต้น: input)"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "แปลง แผนที่เชิงภาพ 3 มิติ ไปเป็น แผนที่เชิงภาพ 2 มิติ"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10670,6 +11037,62 @@ msgstr "ชื่อของตารางใหม่ (ค่าตั้ง
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "แปลง แผนที่เชิงภาพ 3 มิติ ไปเป็น แผนที่เชิงภาพ 2 มิติ"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "ชนิดของข้อมูล"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "ชื่อของ column รายละเอียด ที่จะใช้สำหรับ แถบข้อความ"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "Smooth corners ของ ข้อมูล พื้นที่"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "ค่าเลื่อนสำหรับ ค่าพิกัด z"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr "เขียนค่าแผนที่เชิงภาพ เป็น ค่าพิกัด  z. ตารางไม่ได้ถูกสร้าง. ขณะนี้ทำงานกับ จุด เท่านั้น"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "ไม่ต้องสร้าง topology"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr "ใช้ ค่าแผนที่เชิงภาพ เป็น หมวดหมู่ แทน unique sequence (CELL เท่านั้น)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10680,6 +11103,7 @@ msgid "Vector map to which to join other table"
 msgstr "แผนที่เชิงเส้นที่จะ เชื่อม กับตารางอื่น"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10688,6 +11112,7 @@ msgid "Layer where to join"
 msgstr "ชั้นข้อมูลที่จะเพิ่ม"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "Columns"
@@ -10769,7 +11194,6 @@ msgstr "ชื่อของแผนที่ผลลัพธ์ (ค่า
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11075,6 +11499,10 @@ msgid ""
 "co1+col2)"
 msgstr "ค่าที่จะปรับปรุง  column ด้วย (ค่า varcharต้องใช้ single quotes, เช่น 'grass')"
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11364,13 +11792,6 @@ msgstr "ชื่อของแผนที่เชิงภาพ aspect"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "จำนวน ชุด ที่จะพิมพ์"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr "Uploads ค่าแผนที่เชิงเส้น ที่ตำแหน่งของจุด ไปที่ตาราง"
@@ -11381,23 +11802,32 @@ msgstr "Uploads ค่าแผนที่เชิงเส้น ที่ต
 msgid "Name of vector points map for which to edit attributes"
 msgstr "ชื่อของ แผนที่เชิงเส้น จุด สำหรับ แก้ไขตารางรายละเอียด"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Column ที่จะปรับปรุง ด้วยผลลัพธ์การค้นหา"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "ชื่อของ แผนที่เชิงเส้น ที่จะแก้ไข"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "Columns"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "ชื่อของ column รายละเอียด ที่จะใช้สำหรับ แถบข้อความ"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "ระยะ Bufferในหน่วย ของแผนที่"
@@ -11436,78 +11866,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "ชื่อของ  location ใหม่ที่จะสร้าง"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "แสดงรายการ rule แล้วออก"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "แสดงรายการ rule แล้วออก"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "แสดงรายการ rule แล้วออก"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "การมองเห็น"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "ตารางของระบบ แทนที่จะใช้ ต่รางของผู้ใช้"
@@ -11528,20 +11974,26 @@ msgid "Description of the space time dataset"
 msgstr "ชื่อของฐานข้อมูลใหม่"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "ชื่อของฐานข้อมูลใหม่"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11558,10 +12010,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "ชนิดที่จะสกัดออกมา"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "แสดงแบบ shell script"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "รูปแบบผลลัพธ์"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 #, fuzzy
 msgid "Creates a MASK for limiting raster operation."
@@ -11686,8 +12174,8 @@ msgstr "ตัวคูณ"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "ชื่อของไฟล์ผลลัพธ์"
+msgid "Name for output image (or text file for -t)"
+msgstr "ชื่อของไฟล์ผลลัพธ์  (ไม่ต้องใส่ นามสกุล)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11704,6 +12192,11 @@ msgstr "แถบข้อความ ของค่าพิกัด แท
 msgid "Use gnuplot for display"
 msgstr "แสดง ตัวอักษร"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "TIFF world file ผลลัพธ์"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11718,11 +12211,6 @@ msgstr "คำนวน univariate statistics จาก non-null cells ของ
 msgid "series"
 msgstr "sites"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "สร้างฐานข้อมูลเปล่า"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11822,6 +12310,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11835,11 +12324,15 @@ msgid "Sill value"
 msgstr "%s:ค่าที่กำหนด ไม่ถูกต้อง"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11921,10 +12414,6 @@ msgid ""
 "space time raster datasets."
 msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11942,7 +12431,7 @@ msgstr "ไม่สามารถ เปิด แผนที่เชิง
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12464,7 +12953,7 @@ msgid "radiance"
 msgstr "Variance"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12495,8 +12984,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12703,8 +13193,8 @@ msgstr "ไม่สามารถอ่าน ช่วง fp สำหรั
 msgid "Calculating..."
 msgstr "กำลังคำนวนแผนที่ ..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14802,21 +15292,21 @@ msgstr "ไม่พบขอบเขต <%s>"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "ชุดแผนที่  [%s] ใน ตำแหน่งเป้าหมาย [%s] - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "ไม่อนุญาติให้ทำ"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "ไม่พบ"
@@ -14917,7 +15407,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15047,7 +15537,7 @@ msgid "Name of target mapset"
 msgstr "ชื่อของ ชุดแผนที่เป้าหมาย"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "กำหนด ตำแหน่งและชุดแผนที่ ปัจจุบัน เป็นเป้าหมายสำหรับ กลุ่มภาพ"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15477,52 +15967,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "นำเข้า ล้มเหลว"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "ชื่อของแผนที่ผลลัพธ์"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "ชื่อเรื่องแผนที่ผลลัพธ์"
@@ -15705,7 +16199,7 @@ msgid "Starting Inverse FFT..."
 msgstr "กำลังเริ่ม ทำส่วนกลับ  FFT..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, fuzzy, c-format
 msgid "Writing raster map <%s>..."
@@ -16129,7 +16623,7 @@ msgstr "My first raster module"
 msgid "My first vector module"
 msgstr "My first vector module"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "ไม่สามารถ เปิดแผนที่ จุดศูนย์ถ่วง"
@@ -16282,11 +16776,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16991,12 +17486,12 @@ msgstr "Rows เปลี่ยนแปลง"
 msgid "Cols changed"
 msgstr "Cols เปลี่ยนแปลง"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "แสดง ดัชนี"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17004,36 +17499,36 @@ msgstr ""
 "สร้าง ชั้นข้อมูลแผนที่เชิงภาพ composite โดยใช้ ค่าหมวดหมู่ที่รู้จัก จาก หนึ่ง(หรือ มากกว่า) "
 "ชั้นแผนที่ เพื่อที่จะเติมในพื้นที่ของ \"no data\" ในชั้นแผนที่อื่น"
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "ขื่อขแงแผนที่เชิงภาพที่จะรวมเข้าด้วยกัน"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 #, fuzzy
 msgid "Name for resultant raster map"
 msgstr "ชื่อเรื่อง ของ แผนที่เชิงภาพ ผลลัพธ์"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "ใช้ 0 สำหรับ แบบโปร่งแสง แทน NULL"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 #, fuzzy
 msgid "The minimum number of input raster maps is two"
 msgstr "จำนวนน้อยสุด ของแผนที่ที่จะนำเข้า คือ 2"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "เปอร์เซ็นต์ที่เสร็จ..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "สร้าง support ไฟล์สำหรับ <%s>..."
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17054,7 +17549,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "ไฟล์ ASCII ที่มีข้อมูลที่จะนำเข้า (หรือ \"-\" เพื่ออ่านจาก stdin)"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "ชื่อเรื่อง ของ แผนที่เชิงภาพ ผลลัพธ์"
@@ -17062,7 +17557,7 @@ msgstr "ชื่อเรื่อง ของ แผนที่เชิง
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "ชนิดของข้อมูล"
+msgstr "ชื่อเรื่องแผนที่ผลลัพธ์"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17479,8 +17974,8 @@ msgstr "ไม่มีการส่งออก แผนที่เชิ
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "ไม่สามารถแทรก  row: %s ใหม่ได้"
@@ -17553,56 +18048,18 @@ msgstr "แผนที่เชิงภาพ, ค่าระดับ"
 msgid "Converts a raster map into a vector map."
 msgstr "แปลงแผนที่เชิงภาพ ไปเป็น ชั้นข้อูลแผนที่เชิงเส้น"
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "ชนิดของข้อมูล"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "ชื่อของ column รายละเอียด ที่จะใช้สำหรับ แถบข้อความ"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "Smooth corners ของ ข้อมูล พื้นที่"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr "ใช้ ค่าแผนที่เชิงภาพ เป็น หมวดหมู่ แทน unique sequence (CELL เท่านั้น)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "คัดลอกรายละเอียด"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "ค่าเลื่อนสำหรับ ค่าพิกัด z"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr "เขียนค่าแผนที่เชิงภาพ เป็น ค่าพิกัด  z. ตารางไม่ได้ถูกสร้าง. ขณะนี้ทำงานกับ จุด เท่านั้น"
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "ไม่ต้องสร้าง topology"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17634,23 +18091,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "ไม่สามารถสร้างตาราง: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "ไม่สามารถ grant privileges บนตาราง <%s>"
@@ -17693,192 +18152,192 @@ msgstr "ไม่สามารถกำหนด projection"
 msgid "Allocating memory and reading input raster map..."
 msgstr "กำลังกำหนด หน่วยความจำ และ อ่า แผนที่ที่จะนำเข้า ..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Re-projects แผนที่เชิงภาพ จาก ตำแหน่งที่เลือก ไปที่ ตำแหน่งปัจจุบัน"
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "ตำแหน่ง ที่มี แผนที่เชิงเส้น"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Sum Variance"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "ชุดแผนที่ที่มี แผนที่ที่จะนำเข้า"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "แสดงชื่อ ของกรอบ"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "ชื่อของแผนที่เชิงภาพที่จะ re-project"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Path ไปที่ฐานข้อมูล GRASS สำหรับตำแหน่งที่จะนำเข้า"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "ชื่อของแผนที่ผลลัพธ์ (ค่าตั้งต้น: input)"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "Break"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "ความละเอียดของแผนที่ผลลัพธ์"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "รายการแผนที่เชิงภาพ ในตำแหน่งผลลัพธ์ และ ออก"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "แสดง ตัวแปรของการติดต่อแผนที่ ทั้งหมด และ ออก ในแบบ shell script"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr "ไม่สามารถ นำเข้า และ ส่งออก ตำแหน่ง ที่เหมือนกัน"
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "ไม่สามารถ นำเข้า และ ส่งออก ตำแหน่ง ที่เหมือนกัน"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr "ไม่สามารถอ่าน ข้อมูล  projection ของ แผนที่ผลลัพธ์"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr "ไม่สามารถอ่าน หน่วย  projection ของ แผนที่ผลลัพธ์"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr "ไม่สามารถอ่าน ค่า key  projection ของ แผนที่ผลลัพธ์"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "ชุดแผนที่ <%s> ในตำแหน่งที่จะนำเข้า <%s> - %s"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "กำลังตรวจสอบ ตำแหน่ง <%s>, ชุดแผนที่ <%s>:"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "ตัวแปร <%s> ที่ต้องการ  ไม่ได้กำหนด"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "ไม่พบ แผนที่เชิงภาพ <%s> ในตำแหน่ง <%s> ในชุดแผนที่ <%s>"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr "ไม่สามารถอ่าน ข้อมูล  projection สำหรับแผนที่ที่จะนำเข้า"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "ไม่สามารถอ่าน หน่วย projection สำหรับแผนที่ที่จะนำเข้า"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr "ไม่สามารถอ่าน ค่า key  projection ของ แผนที่ที่จะนำเข้า"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "ไม่สามารถทำงานกับ ข้อมูล unprojected  (ตำแหน่ง xy)"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "ชุดแผนที่ <%s> ในตำแหน่งที่จะนำเข้า <%s> - %s"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "ใส่:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Cols: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Rows: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "North: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "South: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "West: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "East: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "EW-res: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "NS-res: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "ผลลัพธ์:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Projecting..."
 
@@ -17922,7 +18381,7 @@ msgstr "คำนวน ดัชนี edge density บนแผนที่เ
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17935,7 +18394,7 @@ msgstr "การวิเคราะ โครงสร้าง  ภาพ, l
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17950,7 +18409,7 @@ msgstr "แสดง ดัชนี"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18096,7 +18555,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "คำนวน ดัชนี mean pixel attribute บนแผนที่เชิงภาพ"
 
@@ -18505,21 +18964,61 @@ msgstr "incidout ต้องการตัวแปร time เพื่อก
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr "โหมด 2:integrated daily irradiation สำหรับ วันที่กำหนดของปี"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "ค่าเพิ่มคงที่ ของ การกระจัดกระจาย"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "กำลังเขียน แผนที่เชิงภาพ <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "แผนที่ไม่ถูกต้อง <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr " iso cost ผิด: %f"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "กำลังเขียน แผนที่เชิงภาพ <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "ใช้ค่าพิกัด จุดกลางแผนที่\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "กำลังเขียน แผนที่เชิงภาพ <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18895,7 +19394,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "ตำแหน่ง: %s\n"
@@ -19719,7 +20218,7 @@ msgstr "ค่าระดับที่ใส่เป็น ลบ"
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "สร้าง Area statistics สำหรับ ชั้นข้อมูลแผนที่เชิงภาพ"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -19906,7 +20405,7 @@ msgstr "ปรับปรุง statistic ของแผนที่เชิ
 msgid "Statistics for <%s> updated"
 msgstr "Statistics สำหรับ [%s] ถูกปรับปรุงแล้ว"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 #, fuzzy
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
@@ -19914,15 +20413,15 @@ msgid ""
 msgstr ""
 "ไม่สามารถ แปลงข้อมูล  projection ของแผนที่ที่นำเข้า ไปสู่รูปแบบของ GRASS เพื่อตรวจสอบ"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "ยกเลิกการตรวจสอบ projection"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -19930,24 +20429,25 @@ msgstr ""
 "Projection ของชุดข้อมูล ไม่เข้ากับ ตำแหน่งปัจจุบัน \n"
 "\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "PROJ_INFO ของ ตำแหน่ง  คือ:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "PROJ_INFO ของ ชุดข้อมูล  คือ:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "นำเข้า PROJ_INFO ของชุดข้อมูล  คือ:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19955,15 +20455,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr "สร้าง ตำแหน่งใหม่ จาก ชุดข้อมูลที่นำเข้า โดยใช้ตัวแปร 'location'\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr "Projection ของ ชุดข้อมูลที่นำเข้า และ ตำแหน่งปัจจุบัน เข้ากันได้"
 
@@ -20027,8 +20527,8 @@ msgstr "สร้าง support ไฟล์สำหรับ <%s>..."
 msgid "Link to raster map <%s> created."
 msgstr "แผนที่เชิงภาพ <%s> มีอยู่แล้ว"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20051,14 +20551,14 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr "ข้อมูล Projection ถูกปรับปรุงแล้ว!"
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "%s มีอยู่แล้วในชุดแผนที่"
@@ -20088,21 +20588,21 @@ msgstr "ชื่อของฐานข้อมูลใหม่"
 msgid "Band to select (default is all bands)"
 msgstr "เลือก Band  (ค่าตั้งต้น: band ทั้งหมด)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "แสดงรายการ รูปแบบที่รองรับ และ ออก"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "ขยาย ขอบเขต ของตำแหน่ง ในชุดข้อมูลใหม่"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20114,13 +20614,23 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "แสดงรายการ ชั้นข้อมูล ในแหล่งข้อมูล และ ออก"
+
+#: ../raster/r.external/main.c:123
+#, fuzzy
+msgid "Format: band number,type,projection check"
+msgstr "รูปแบบ: จำนวนชนิดของชั้นข้อมูล min max"
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "ใช้ \"-i\" หรือ \"value=\" จะต้องกำหนด"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20129,32 +20639,32 @@ msgstr "ใช้ \"-i\" หรือ \"value=\" จะต้องกำหน
 msgid "%s= and %s= are mutually exclusive"
 msgstr "weight= และ -c คือ mutually exclusive"
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 #, fuzzy
 msgid "Proceeding with import..."
 msgstr "กำลังเตรียม รายงาน ..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "กำลังอ่านแผนที่ %s ..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, fuzzy, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "band ที่เลือกเลือก  (%d) ไม่มี\n"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "แผนที่เชิงภาพ <%s> มีอยู่แล้ว"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "จำนวนของจุดที่จะนำเข้า: %d."
@@ -20339,14 +20849,15 @@ msgstr "ชื่อของแผนที่เชิงภาพผลลั
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20646,6 +21157,12 @@ msgstr "weight= และ -c คือ mutually exclusive"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Location %s ถูกสร้าง!"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "weight= และ -c คือ mutually exclusive"
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20719,8 +21236,8 @@ msgid "Importing band %d..."
 msgstr "กำลังนำเข้า จุด ..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20839,7 +21356,7 @@ msgstr "%s = %s -- ต้องมากกว่า 0"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "ไม่สามารถเปิด %s"
@@ -21890,7 +22407,8 @@ msgstr "ผ่าน: %d\n"
 msgid "Unable to write to temp file"
 msgstr "ไม่สามารถสร้าง ไฟล์ชั่วคราวได้"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "กำลังสร้าง จุด ..."
@@ -21937,7 +22455,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "แสดง  stats ในรูปแบบ shell script"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22575,25 +23093,25 @@ msgid "unable to open output file"
 msgstr "ไม่สามารถเปิดไฟล์ผลลัพธ์ ได้"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 #, fuzzy
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "SECTION 3: Accumulating Surface Flow."
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "SECTION 3: Accumulating Surface Flow."
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22601,8 +23119,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22727,27 +23245,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "SECTION %d: กำลังปิดแผนที่."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr "SECTION %d: Watershed determination."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "SECTION 1a (of %1d): Initiating Memory."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "SECTION 1b (of %1d): Determining Offmap Flow."
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22760,20 +23278,30 @@ msgstr "SECTION 4: Length Slope determination."
 msgid "Closing accumulation map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "กำลังนำเข้า จุด ..."
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "กำลังนำเข้า จุด ..."
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "กำลังนำเข้า จุด ..."
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 msgid "Closing flow direction map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -22799,211 +23327,216 @@ msgstr "กำลังนำเข้า จุด ..."
 msgid "Closing half basins map"
 msgstr "ไม่สามารถเปิดแผนที่  basin/half basin ได้"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] "SECTION 1 กำลังเริ่มต้น: Initiating Variables. %d sections total."
 msgstr[1] "SECTION 1 กำลังเริ่มต้น: Initiating Variables. %d sections total."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr "SECTION 1b (of %1d): Determining Offmap Flow."
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "ใส่:"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "ชื่อของแผนที่เชิงภาพ"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "แผนที่นำเข้า: ทั้งหมดของ overland flow ต่อ cell"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "ชื่อของแผนที่เชิงภาพ ที่จะนำเข้า"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "แผนที่นำเข้า: terrain ที่กั้น overland surface flow, สำหรับ USLE"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "แผนที่นำเข้า: ขนาดเล็กสุดของ exterior watershed basin"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "แผนที่นำเข้า: ความยาวสุดของ  surface flow, สำหรับ USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "แผนทีผลลัพธ์: จำนวนของ cells ที่ drain  ผ่านแต่ละ cell"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "แผนที่ ดัชนี topographic ผลลัพธ์"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "แผนทีผลลัพธ์: แต่ละ half-basin ต้องมีค่าที่ไม่ซ้ำ"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "แผนทีผลลัพธ์: slope length และ steepness (LS) factor  สำหรับ USLE"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "แผนทีผลลัพธ์: slope steepness (S) factor สำหรับ USLE"
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "ตัวคูณการแปลง สำหรับ z-values"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "ยอมให้น้ำไหลตามแนว ราบ และ แนวดิ่ง"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "ใช้ disk swap memory: การทำงานช้า"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "เสียใจ, คุณต้องเลือกแผนที่ผลลัพธ์"
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s = %s -- ต้องมากกว่า 0"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -23014,12 +23547,12 @@ msgstr ""
 "    basin, stream, half.basin, slope, หรือ lS\n"
 "    คุณต้องใส่ค่า สำหรับ ตัวแปร basin threshold."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "ไม่รองรับ ตำแหน่ง แลต/ลอง"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -23186,21 +23719,21 @@ msgstr "เหนือ=%f"
 msgid "Could not read maximum distance. Aborting."
 msgstr "ไม่สามารถอ่าน range ไฟล์"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "OOPS: rows เปลี่ยนจาก %d เป็น %d"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "OOPS: cols เปลี่ยนจาก %d เป็น %d"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "ไม่สามารถอ่าน ช่วง fp สำหรับแผนที่เชิงภาพ <%s>"
@@ -23396,7 +23929,7 @@ msgstr "TIFF world file ผลลัพธ์"
 msgid "Converting <%s>..."
 msgstr "กำลังแปลง  %s..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, fuzzy, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "แผนที่เชิงภาพ <%s> มีอยู่แล้ว"
@@ -23471,7 +24004,7 @@ msgid ""
 msgstr "คำนวน univariate statistics จาก non-null cells ของแผนที่เชิงภาพ"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23484,11 +24017,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "ไม่สามารถ เปิด แผนที่เชิงภาพ <%s>"
@@ -23501,61 +24037,88 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"ใช้ความละเอียดเดียวกับ แผนที่ RASTER3D สำหรับ แผนที่ผลลัพธ์ 2 มิติ, "
+"โดยไม่ขึ้นอยู่กับการกำหนดขอบเขตปัจจุบัน"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "คำนวน univariate statistics จาก non-null cells ของแผนที่เชิงภาพ"
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "weight= และ -c คือ mutually exclusive"
+
 #: ../raster/r.regression.line/main.c:50
 #, fuzzy
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "คำนวน  linear regression จาก แผนที่เชิงภาพ 2 แผนที่: y = a + b*x"
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "สร้าง ชั้นแผนที่เชิงภาพ ด้วย  contiguous areas grown ด้วย 1 cell"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "ชื่อของชั้นข้อมูลที่จะส่งออก"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "ระยะมากสุดระหว่าง จุด ในหน่วยแผนที่"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "ระยะมากสุด ถึง เส้นที่ใกล้ที่สุด"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "อย่างน้อยต้องเลือก 1 เงื่อนไข จาก %s"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Metric ที่ไม่รู้จัก: [%s]"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "ระยะมากสุดระหว่าง จุด ในหน่วยแผนที่"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "ไม่สามารถสร้าง ไฟล์ชั่วคราว"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23566,130 +24129,136 @@ msgstr "ไม่สามารถสร้าง ไฟล์ชั่วค
 msgid "Reading raster map <%s>..."
 msgstr "กำลังอ่าน แผนที่เชิงภาพ <%s>..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "กำลังเขียน แผนที่เชิงภาพ %s... "
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "ไม่สามารถอ่าน ไฟล์สีสำหรับแผนที่เชิงภาพ <%s@%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "แผนที่เชิงเส้น, metadata"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "ชุดแผนที่ของ แผนที่เชิงภาพ ที่จะนำเข้า"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "แผนที่เชิงภาพ 3 มิติสำหรับ ปรับปรุง ค่า null"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "รายการของค่า cell ที่จะกำหนดเป็น NULL"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "ค่าที่จะใช้แทน ค่า null โดย"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "ถ้า แผนที่เป็น  floating-point ให้ทำงาน"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "ถ้า แผนที่เป็น  integer ให้ทำงาน"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr "ถ้า แผนที่ไม่มี  NULL-value bitmap ไฟล์ ให้ทำงาน"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr "สร้าง NULL-value bitmap ไฟล์ ที่สมเหตุสมผลของ ข้อมูล cell ทั้งหมด"
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr "เอา NULL-value bitmap ไฟล์ ออก"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+#, fuzzy
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr "สร้าง NULL-value bitmap ไฟล์ ที่สมเหตุสมผลของ ข้อมูล cell ทั้งหมด"
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "ไม่พบ แผนที่เชิงภาพ <%s> ในชุดแผนที่"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "ค่า สำหรับ null ไม่ถูกต้อง"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "แผนที่เชิงภาพ Terrain (DEM)"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "แผนที่เชิงภาพ Terrain (DEM)"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "จุดเริ่มต้น ของแผนที่เชิงภาพ"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "กำลังเขียน Null ไฟล์ใหม่ สำหรับ [%s]... "
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "แผนที่เชิงเส้น <%s> ไม่พบ"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "กำลังเอา Null ไฟล์ สำหรับ[%s] ออก...\n"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s:ค่าที่กำหนด ไม่ถูกต้อง"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s:ค่าที่กำหนด ไม่ถูกต้อง"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "การเขียน แผนที่เชิงภาพ <%s>"
@@ -23738,7 +24307,7 @@ msgstr "ไม่ทราบชนิด: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "ไม่สามารถ ปิด แผนที่เชิงภาพ <%s@%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "ไม่สามารถ ปิด แผนที่เชิงภาพ ผลลัพธ์"
 
@@ -23861,21 +24430,26 @@ msgstr "Seed สำหรับ การสร้างตัวเลขแบ
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "กำลังเขียน ใน แผนที่ ... "
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "weight= และ -c คือ mutually exclusive"
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "ตัวแปร"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr "การคำนวน ปรากฎว่า Floating point ผิดพลาด"
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr "การคำนวน ปรากฎว่า Overflow"
 
@@ -23884,113 +24458,125 @@ msgstr "การคำนวน ปรากฎว่า Overflow"
 msgid "Known functions:"
 msgstr "คำสั่งที่รู้จัก:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "นำเข้า ไฟล์แผนที่เชิงภาพ binary ไปที่ ชั้นข้อมูลเชิงภาพ GRASS"
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "ไฟล์แผนที่เชิงภาพที่จะนำเข้า"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "เลือก Band  (ค่าตั้งต้น: band ทั้งหมด)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "ชื่อของ ตำแหน่ง ภาพเป้าหมาย"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr "ชื่อของ ตำแหน่งที่ จะอ่าน projection สำหรับ GCPs transformation"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "ชื่อของ แผนที่ความสูงเชิงภาพ ที่จะนำเข้า  [หน่วยเมตร]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "ชื่อของ ตำแหน่ง ใหม่ ที่จะสร้าง"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "ไม่สามารถ อธิบายฐานข้อมูล <%s> ได้"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "เขียนทับ Projection (ใช้ location's projection)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "แสดง ตัวแปรการเชื่อมต่อ และ ออก."
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "ใช้ จำนวน band แทนที่จะใช้ ชื่อสีของ band"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "แสดงตาราง แล้ว ออก"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr "คุณต้องระบุตำแหน่งเป้าหมาย ให้แตกต่างจาก ตำแหน่ง ผลลัพธ์"
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "คุณจะต้องระบุ แผนที่ บน และ ล่าง"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "จำนวนของ subrangesจะต้อง เท่ากับ หรือl มากกว่า 1"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "ไม่สามารถเปิดแหล่งข้อมูล <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "แผนที่เชิงภาพ <%s> มีอยู่แล้ว"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 #, fuzzy
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
@@ -23999,15 +24585,15 @@ msgstr ""
 "แผนที่ที่จะนำเข้า มีการหมุน - ไม่สามารถนำเข้าได้. คุณต้องใช้  'gdalwarp' "
 "tเพื่อแปลงแผนที่ให้ไปตามทิศเหนือ"
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -24015,98 +24601,103 @@ msgstr ""
 "ไม่สามารถแปลง projection ของแผนที่ที่จะนำเข้า ไปเป็นรูปแบบ GRASS; ไม่สามารถสร้าง "
 "ตำแหน่งใหม่ได้"
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "ไม่สามารถสร้าง location: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "กำลังเตรียม รายงาน ..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "ไม่สามารถเปิด signature ไฟล์"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "ไม่สามารถอ่าน  band ภาพ"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "การคัดลอก %d GCPS ในไฟล์ points สำหรับ %s"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "Re-projecting แผนที่เชิงเส้น ..."
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, fuzzy, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "ใส่ค่าตัวแปร projection  (แบบ PROJ.4)"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, fuzzy, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "ผลลัพธ์ตัวแปร  projection  (แบบ PROJ.4)"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, fuzzy, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "ผิดพลาดใน pj_do_proj (ไม่สามารถถ re-projection GCP %i)\n"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 #, fuzzy
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "ไม่สามารถอ่าน ค่า key  projection ของ แผนที่ที่จะนำเข้า"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 #, fuzzy
 msgid "Unable to get projection info of target location"
 msgstr "ไม่สามารถอ่าน ข้อมูลการฉายแผนที่สำหรับ ตำแหน่งปัจจุบัน"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 #, fuzzy
 msgid "Unable to get projection units of target location"
 msgstr "ไม่สามารถอ่าน หน่วยการฉายแผนที่สำหรับ ตำแหน่งปัจจุบัน"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 #, fuzzy
 msgid "Unable to get projection key values of target location"
 msgstr "ไม่สามารถอ่าน  ค่า key การฉายแผนที่ ของ ตำแหน่งปัจจุบัน"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "การเขียน แผนที่เชิงภาพ <%s>"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "สร้างตารางสีสำหรับ  <%s ใน %s>..."
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "สร้างตารางสีสำหรับ  <%s ใน %s>..."
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "ไม่สามารถเปิดไฟล์: <%s>"
@@ -24339,7 +24930,7 @@ msgstr "การเขียน แผนที่เชิงเส้น <%s>
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24688,31 +25279,36 @@ msgstr "ยอมรับ %d หน่วย %s เท่านั้น"
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "ไม่สามารถอ่าน ช่วง fp สำหรับแผนที่เชิงภาพ <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "'layer' ต้อง > 0 สำหรับ 'cats'."
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "กำลังอ่าน แผนที่เชิงภาพ <%s>..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Correlation"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "สร้าง random cell values ด้วย spatial dependence."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "ระยะมากสุด ของจุดไปถึงเส้นที่ยอมให้"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "จำนวนมากสุดของ column ที่จะอ่าน"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25158,33 +25754,33 @@ msgstr "การ Thins non-zero cells แสดงให้เห็นถึ
 msgid "Maximal number of iterations"
 msgstr "จำนวนมากสุดของการ iterations"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%s: ไม่สามารถหา ขอบเขต สำหรับเส้น"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "ขอบเขต :  l = %d, r = %d, t = %d, b = %d"
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr "จำนวน ที่ผ่าน %d"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "ลบแล้ว %d  pixels "
 msgstr[1] "ลบแล้ว %d  pixels "
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "Thinning สำเร็จโดยสมบูรณ์"
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr "Thinning ไม่สำเร็จ, พิจราณาเพิ่มตัวแปร  'iterations'"
 
@@ -26246,159 +26842,232 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'layer' ต้อง > 0 สำหรับ 'cats'."
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "กำลังอ่านข้อมูล ..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "ช่วง:     น้อยสุด         มากสุด\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "ไม่สามารถสร้าง ไฟล์ชั่วคราวได้"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "สร้าง แผนที่เชิงภาพ จาก การรวบรวม ของ ค่าพิกัดจำนวนมาก โดยใช้ Univariate Statistics"
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "นำเข้า ล้มเหลว"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "ไฟล์ ที่มี recode rules"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "ไม่พบข้อมูลจุด"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "ค่าเลื่อนสำหรับ ค่าพิกัด z"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "การแปลง, transformation"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "ช่วงการกรอง สำหรับข้อมูล  z  (น้อยสุด,มากสุด)"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+#, fuzzy
+msgid "Discard given percentage of the smallest and largest values"
+msgstr "ตัด <trim> เปอร์เซ็นต์ ของ ค่า เล็กสุด และ ใหญ่สุด ของค่า สังเกตุ"
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "ชื่อเรื่องแผนที่ผลลัพธ์"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "ค่า Integer ถูกนำเข้า"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "ค่า Integer ถูกนำเข้า"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "แสดง ประวัติ ของ แผนที่เชิงภาพ"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
-msgstr "ยกเลิก projection ของชุดแผนที่ (ใช้ location's projection)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "กำหนด ขอบเขต จากชั้นข้อมูลเชิงภาพ"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:288
+#, c-format
+msgid "Flag %c makes sense only with %s option or -%c flag"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "กลุ่ม <%s> ไม่มีอยู่"
+
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
+msgstr "zrange จะไม่ถูกใส่ใน account ระหว่างการอ่าน"
+
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
 #, fuzzy, c-format
 msgid "Input file <%s> does not exist"
 msgstr "กลุ่ม <%s> ไม่มีอยู่"
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
 #, c-format
 msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
-#, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "ไม่ทราบเงื่อนไข '%s'"
-
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"ไม่สามารถ แปลงข้อมูล  projection ของแผนที่ที่นำเข้า ไปสู่รูปแบบของ GRASS เพื่อตรวจสอบ"
-
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "GRASS LOCATION PROJ_INFO คือ:\n"
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-#, fuzzy
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr "สร้าง ตำแหน่งใหม่โดยใช้ ตัวแปร  'location' จาก ชุดแผนที่ที่นำเข้า.\n"
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "ไม่ทราบเงื่อนไข '%s'"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "ค่าพิกัด ตะวันออก ไม่ถูกต้อง"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr "ไม่สามารถคำนวน เปอร์เซ็นต์ โดยไม่ ระบุเงื่อนไข pth"
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr "ไม่สามารถคำนวน  trimmed mean โดยไม่ ระบุเงื่อนไข trim"
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr "zrange จะไม่ถูกใส่ใน account ระหว่างการอ่าน"
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Location %s ถูกสร้าง!"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "กำลังอ่านข้อมูล ..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "ไม่สามารถเปิดไฟล์ผลลัพธ์ <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "กำลังเขียน ไปที่ แผนที่ ..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "พบ %d จุด ใน ขอบเขต"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "กำลังอ่านข้อมูล ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr "ไม่สามารถคำนวน เปอร์เซ็นต์ โดยไม่ ระบุเงื่อนไข pth"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "ช่วง:     น้อยสุด         มากสุด\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr "ไม่สามารถคำนวน  trimmed mean โดยไม่ ระบุเงื่อนไข trim"
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "ไม่สามารถเปิดไฟล์  [%s] เพื่ออ่าน"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "GRASS LOCATION PROJ_INFO คือ:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+#, fuzzy
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr "สร้าง ตำแหน่งใหม่โดยใช้ ตัวแปร  'location' จาก ชุดแผนที่ที่นำเข้า.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"ไม่สามารถ แปลงข้อมูล  projection ของแผนที่ที่นำเข้า ไปสู่รูปแบบของ GRASS เพื่อตรวจสอบ"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26628,12 +27297,6 @@ msgstr "Rescale %s[%d,%d] to %s[%d,%d]"
 msgid "Header File = %s"
 msgstr "Header File = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "ไม่สามารถสร้างไฟล์ <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27467,6 +28130,13 @@ msgstr "โปรดระบุ จำนวนที่มีเหตุม
 msgid "Invalid vrange"
 msgstr "ค่าพิกัด ตะวันออก ไม่ถูกต้อง"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27522,6 +28192,11 @@ msgstr "ค่าพิกัด y ไม่ดี  บรรทัดที่
 msgid "Writing to output raster map..."
 msgstr "กำลังเขียน แผนที่เชิงภาพ %s... "
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "พบ %d จุด ใน ขอบเขต"
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr "สร้างแผนที่ shaded relief จาก แผนที่ elevation map (DEM)."
@@ -27875,27 +28550,27 @@ msgstr "สร้าง ไฟล์ 3มิติ"
 msgid "Delete the null file"
 msgstr "ไม่สามารถเปิด signature ไฟล์"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "ตาราง cat สำหรับ  [%s] กำหนดเป็น %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] คือ reclass ของแผนที่อื่น. กำลังออก."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "กำลังเขียน Null ไฟล์ใหม่ สำหรับ [%s]... "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "กำลังเอา Null ไฟล์ สำหรับ[%s] ออก...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "เสร็จเรียบร้อย"
 
@@ -27931,32 +28606,12 @@ msgstr "Contrast"
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr "สร้างชั้นข้อมูลเชิงเส้น จาก contour ของแผนที่เชิงภาพ"
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "การเพิ่มค่าระดับของ contour"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "รายการ ค่าระดับ contour"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "รายการ ค่าระดับ contour"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "ค่าระดับน้อยสุด contour"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "ค่าระดับมากสุด contour"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "จำนวนจุดน้อยสุดของเส้น contour (0 -> ไม่จำกัด)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -27967,29 +28622,31 @@ msgstr "ต้องระบุค่า Threshold"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "ไม่สามารถสร้างตาราง: '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "ไม่สามารถสร้างดัชนีสำหรับตาราง <%s>, key <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "กำลังเขียน รายละเอียด ..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "ไม่สามารถแทรกข้อมูลใหม่: '%s'"
@@ -28818,11 +29475,6 @@ msgstr "ชื่อของ แผนที่เชิงเส้น จุ
 msgid "Size of point cache"
 msgstr "ขนาดของ จุด ที่จะ cache"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "แผนที่เชิงเส้นผลลัพธ์ hue"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29129,7 +29781,8 @@ msgstr "ชนิด Column ไม่รองรับ (ต้องเป็
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "ไม่สามารถเลือกข้อมูลจากตารางได้"
 
@@ -29773,11 +30426,11 @@ msgstr "แสดงแบบ shell script"
 msgid "3D Raster map <%s> not found"
 msgstr "ไม่พบแผนที่เชิงภาพ 3D <%s>"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "ผิดพลาดขณะ อ่านไฟล์ประวัติ"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -29973,6 +30626,38 @@ msgstr ""
 msgid "Update range"
 msgstr "ช่วงข้อมูลที่จะส่งออก"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Variance"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "รวม ชั้นข้อมูลแผนที่ แดง, เขียว และน้ำเงิน ลงใน ชั้นข้อมูล composite"
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "ขนาดของ จุด ที่จะ cache"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "ไม่สามารถ กำหนดหน่วยความจำได้"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "กำลังเขียน แผนที่เชิงภาพ"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30139,6 +30824,148 @@ msgstr "Datetime, datetime1/datetime2, หรือ none"
 msgid "Timestamp format is invalid"
 msgstr "ไม่รู้จักรูปแบบของ timestamp: "
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "โปรดใส่ 3 แผนที่  g3d RGB"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "แผนที่เชิงเส้น <%s> ไม่พบ"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "กำลังคำนวน ค่าเฉลี่ยของ class ..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "ชื่อของ แผนที่เชิงเส้น จุด สำหรับ แก้ไขตารางรายละเอียด"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "ชื่อของ แผนที่เชิงเส้น ที่จะแก้ไข"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "ชื่อของชั้นข้อมูลเชิงภาพที่จะ เป็นผลลัพธ์"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "ความยาว %f\n"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "จำนวนของการวนซ้ำ"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "ความกว้างของ Stream  (หน่วย เมตร). ค่าตั้งต้น ความกว้างของ cell ภาพ"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "vector, interpolation"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "ไม่ได้ระบุ ข้อมูลแผนที่"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "ชื่อฐานข้อมูลที่จะนำเข้า"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "จำนวนมากสุด ของการวนซ้ำ"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "จำนวนมากสุด ของการวนซ้ำ"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "จำนวน cell ระหว่าง flowlines"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "ไม่สามารถ อธิบายฐานข้อมูล <%s> ได้"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "เกิดข้อผิดพลาด ขณะกำลังอ่านข้อมูล hue"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Costs สำหรับ isolines"
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30654,6 +31481,60 @@ msgstr "กำลังสร้าง topology สำหรับ แผนท
 msgid "Failed to find intersection segment"
 msgstr "ล้มเหลวที่จะ ใช้  dp เป็น  integer"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "ไม่สามารถ แทรกลงในตาราง: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "ไม่สามารถ เปิด แผนที่เชิงเส้น <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "ตาราง <%s> ไม่มีอยู่ในฐานข้อมูล <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "ไม่สามารถ สร้าง แผนที่เชิงเส้น <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "ไม่สามารถเปิดฐานข้อมูล <%s> โดยตัวขับ <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "ไม่สามารถสร้างตาราง <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "ไม่สามารถคัดลอกจากแผนที่เชิงเส้น <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "ไม่สามารถสร้างตาราง <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30684,7 +31565,7 @@ msgstr "ชื่อของ แผนที่เชิงเส้นที
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr "ต้องการการทำงาน  'connect'.เชื่อมจุดตาม threshold ที่กำหนด."
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30698,8 +31579,8 @@ msgstr "ชื่อของ แผนที่เชิงเส้น จุ
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr "ต้องการการทำงานสำหรับ  'connect'"
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30727,83 +31608,124 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "หา shortest path บน vector network."
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "ไม่มี ตาราง"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr "ต้องการการทำงาน  'connect'.เชื่อมจุดตาม threshold ที่กำหนด."
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "ชื่อของไฟล์ที่จะนำเข้า"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "ต้องการการทำงานสำหรับ  'connect'"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "ให้ค่า หมวดหมู่ที่ไม่ซ้ำ กับจุดใหม่"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr "สำหรับการทำงาน  'nodes'"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "จุดสิ้นสุด ของแผนที่เชิงเส้น"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "ชั้นข้อมูลเส้น"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "การทำงาน ที่ไม่ทราบ"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "ค่า Threshold ต้อง >= 0"
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "การบำรุงรักษา Network."
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 #, fuzzy
 msgid "Performs network maintenance."
 msgstr "การบำรุงรักษา Network."
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "ไม่สามารถปิด แผนที่เชิงเส้น <%s> ที่ topology ระดับ %d"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d จุดใหม่ เขียนไปที่ผลลัพธ์"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "[%d] เส้นที่ อ่านและเขียน ไปที่ผลลัพธ์"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "คัดลอกรายละเอียด"
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -30824,8 +31746,9 @@ msgstr "%d จุดที่พบ: %.3lf %.3lf %.3lf หมวดหมู่
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "จุด"
@@ -30856,9 +31779,9 @@ msgstr "ชื่อของ column ที่มี ค่าพิกัด y"
 msgid "Name of column containing z coordinate"
 msgstr "ชื่อของ column ที่มี ค่าพิกัด z"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "สร้างผลลัพธ์ 3มิติ"
@@ -31068,13 +31991,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้วและจะถูกเขียนทับ"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "แผนที่เชิงเส้น <%s> มีอยู่แล้ว"
@@ -31275,27 +32198,27 @@ msgstr "ระยะมากสุด ระหว่าง theoretical arc แ
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "ไม่ต้องแสดง ตัวเลข ของหมวดหมู่"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "แสดง รายละเอียด ของแผนที่เชิงภาพ"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31303,173 +32226,173 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "magnitude_map ต้องการ  Scale "
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'layer' ต้อง > 0 สำหรับ 'cats'."
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Toleranc ถูกกำหนดใหม่เป็น %g (หน่วยแผนที่)"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "คำร้องขอให้ลบ ไม่ถูกต้อง"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Tolerance ในหน่วยแผนที่: %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "ไม่สามารถอ่าน แผนที่เชิงเส้น"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "ไม่สามารถเลือกข้อมูลจากตารางได้"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "ชนิดของ Column ไม่รองรับ"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "Extruding areas..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "ไม่มีข้อมูลสำหรับ หมวดหมู่ %d ในตาราง <%s>"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "รายละเอียด ผิด ขนาด(%.3f) สำหรับหมวดหมู่ %d"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "Tolerance ในหน่วยแผนที่: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Extruding areas..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "buffers เส้น ... "
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "กำลังสร้าง ส่วนของ topology ..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr "ดูดเข้าหา ขอบเขต ..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "ตัด polygons"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "กำลัง เอาที่ซ้ำออก"
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "Breaking boundaries..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "กำลังสร้าง boundaries ที่ nodes ..."
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "เอา dangles ออก"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "เอา bridges ออก"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "กำลังแนบ  islands ..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "กำลังคำนวน Centrality measures ..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "ไม่สามารถ คำนวน จุดศูนย์ถ่วง ของพื้นที่"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "กำลังสร้าง boundaries ที่ nodes ..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Breaking boundaries..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "กำลังคำนวน Centrality measures ..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "ไม่สามารถ คำนวน จุดศูนย์ถ่วง ของพื้นที่"
@@ -31660,7 +32583,7 @@ msgstr "ไม่สามารถคำนวน Cross-validation พร้อ
 #: ../vector/v.surf.rst/main.c:524
 #, fuzzy, c-format
 msgid "Unable to create %s"
-msgstr "ไม่สามารถสร้างไฟล์ <%s>"
+msgstr "ไม่สามารถสร้างตาราง: %s"
 
 #: ../vector/v.vol.rst/main.c:555
 #, fuzzy, c-format
@@ -31763,7 +32686,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "ความละเอียด"
+msgstr "กำลังทำงาน  ainput areas  ..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -31795,7 +32718,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:368
 #, fuzzy, c-format
 msgid "Mask raster map [%s] not found"
-msgstr "ไม่พบ แผนที่ความสูง 3 มิติ <%s>"
+msgstr "ไม่พบแผนที่เชิงภาพ 3D <%s>"
 
 #: ../vector/v.vol.rst/user1.c:383
 #, fuzzy
@@ -31855,7 +32778,7 @@ msgstr "นำเข้า ล้มเหลว"
 msgid "Not enough disk space--cannot write files"
 msgstr "%d bytes ของที่ว่างบน disk  สำหรับ ไฟล์ ชั่วคราว"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -31905,11 +32828,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -31920,15 +32844,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -31936,12 +32860,12 @@ msgstr ""
 msgid "Cost"
 msgstr "Contrast"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr "Node cost column (number)"
 
@@ -31969,19 +32893,19 @@ msgstr "ชนิดของข้อมูล"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "ไม่สามารถ สร้าง แผนที่เชิงเส้น <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 #, fuzzy
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr "กำหนด subnets สำหรับศูนย์กลางที่ใกล้ที่สุด (ทิศทางจาก ศูนย์กลาง)."
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 #, fuzzy
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr "Centre node จะต้องเปิด (costs >= 0). Costs ของ centre node ใช้ในการคำนวน"
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 #, fuzzy
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
@@ -31990,29 +32914,47 @@ msgstr ""
 "หมวดหมู่ของ centres (จุดบน nodes) ที่ net จะกำหนด, ชั้นข้อมูลสำหรับหมวดหมู่ ได้จากเงื่อนไข "
 "nlayer"
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "ชั้นข้อมูล / ตาราง"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "ระยะมากสุด ถึง network"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "จำนวนของ centres: [%d] (nlayer: [%d])"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 #, fuzzy
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr "centres สำหรับชั้นข้อมูลที่เลือก. ไม่มีอะไรที่จะกำหนด."
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "การคำนวน costs จาก centres ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr "ไม่สามารถอ่าน ชิ้นส่วน, ชิ้นส่วนไม่มีเส้น"
 
@@ -32349,102 +33291,102 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "นำเข้า ล้มเหลว"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "สร้าง แผนที่เชิงเส้น 2มิติ/3มิติ แบบสุ่ม."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "จำนวนของจุดที่จะสร้าง"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "กำลังอ่านแผนที่ที่จะนำเข้า"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 #, fuzzy
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "ค่าความสูง z น้อยสุด  (ต้องการ -z)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 #, fuzzy
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "ค่าความสูง z มากสุด  (ต้องการ -z)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "ชื่อของ column ที่มี ค่าพิกัด x"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "กำลังเขียน  columns ..."
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "ชนิดของตารางสี"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "สร้างผลลัพธ์ 3มิติ"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Collecting Stats..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "จำนวนจุดจะต้อง > 0 (%d ที่ให้)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d ของ %d ข้อมูลที่เลือกจากแผนที่เชิงเส้น <%s>"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "ชื่อของชั้นข้อมูลเชิงเส้น"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "แผนที่เชิงเส้น เริ่มต้น <%s> จุดอยู่นอกขอบเขต"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "แผนที่เชิงเส้น เริ่มต้น <%s> จุดอยู่นอกขอบเขต"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "กำลังสร้าง จุด ..."
 
@@ -32637,6 +33579,159 @@ msgstr "ไม่สามารถปรับปรุง ฐานข้อ
 msgid "Impossible to write in the database"
 msgstr "ไม่สามารถเขียน ฐานข้อมูล"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "การสร้าง  (%s) ..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "การจำแนก จุด"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "ไม่พบข้อมูลจุด"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "ค่า Integer ถูกนำเข้า"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "ค่า Integer ถูกนำเข้า"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> จำนวนจุด ไม่ถูกต้อง"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "ค่า Tolerance มากสุด"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "จำนวนของการวนซ้ำ"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "จำนวนของการวนซ้ำ"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "ค่าเบี่ยงเบน มาตรฐาน"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "ค่าพิกัด ตะวันออก ไม่ถูกต้อง"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -32708,7 +33803,7 @@ msgstr "ตารางของระบบ แทนที่จะใช้ 
 msgid "Force 2D output even if input is 3D "
 msgstr "บังคับออกผลลัพธ์ แบบ  integer"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -32924,6 +34019,183 @@ msgstr "ไม่สามารถเลือก รายละเอีย
 msgid "Labeled %d lines."
 msgstr "ติด แถบข้อความ %d เส้น."
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "ไม่พบข้อมูลจุด"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "แผนที่เชิงภาพ"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d clumps"
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "การแยกกลุ่ม"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "ชื่อของ แผนที่เชิงเส้นที่จะนำเข้า"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "ระยะมากสุด ถึง network"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "จำนวนน้อยสุดของ pixel ใน class"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "การแยกกลุ่ม"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "จำนวน classes จะต้อง < 256!"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "ขนาด Neighborhood จะต้องป็น บวก"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "กำลังนับ sites ใน quadrats ..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "ไม่พบ จุด, ข้าม type=point"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "สร้าง จุดศูนย์ถ่วง"
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s = %s -- ต้องมากกว่า 0"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "ใช้ ระยะมากสุด ระหว่างจุด: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "ภาพ 3d ที่จะเอาออก"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "ระยะมากสุด ถึง เส้นที่ใกล้ที่สุด"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "ค่าเบี่ยงเบน มาตรฐาน"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "ใช้ ระยะมากสุด ระหว่างจุด: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "กำลังหา cost path"
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr "npoints = %d, nterrain = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "ไม่พบเส้น , ข้าม type=line"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "กำลังเขียน แผนที่เชิงภาพ %s... "
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "กำลังอ่านข้อมูลเพื่อนำเข้า ..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "ไม่พบข้อมูลจุด"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+#, fuzzy
+msgid "Core density ..."
+msgstr "แผนที่เชิงเส้น, kernel density"
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "พบจุดตัด %d"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "พบจุดตัด %d"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -32993,7 +34265,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr "แสดง ชนิด/ชื่อ  column สำหรับ การเชื่อมต่อ กับฐานข้อมูลของชั้นข้อมูล %d:"
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33296,14 +34568,8 @@ msgstr "ไม่มีข้อมูลถูก"
 msgid "Loading data..."
 msgstr "กำลังอ่านข้อมูล ..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "ไม่พบ Column <%s>"
@@ -33359,17 +34625,17 @@ msgstr "สร้าง support ไฟล์สำหรับ <%s>..."
 msgid "Color can be updated from database only if use=attr"
 msgstr "ไม่สามารถปรับปรุงสี จาก ฐานข้อมูลถ้าใช้เพียง use=attr"
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "แปลง Areas: %d of %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "แปลง จุด/เส้น: %d ของ %d"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "กำลังอ่านข้อมูล ..."
@@ -33533,15 +34799,15 @@ msgstr "ตัวแปร Column  ไม่สามารถ ร่วมก
 msgid "Unknown option '%s'"
 msgstr "ไม่ทราบเงื่อนไข '%s'"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr "สร้าง วงกลมเชื่อมกับ node (ปัญหาการเดินทางของ salesman)."
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
@@ -33549,63 +34815,63 @@ msgstr ""
 "หมายเหตุ TSP คือ NP-hard, Heuristic algorithm ใช้โดยคำสั่งนี้ "
 "และสร้างวงกลมอาจจะเป็นเงื่อนไขย่อย"
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr "หมวดหมู่ของจุด ('cities') บน node (ชั้นข้อมูลกำหนดโดย  nlayer)"
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr "ชั้นข้อมูล Node  (ใช้ในเมือง)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "Arc backward direction cost column (number)"
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "ชื่อของไฟล์ผลลัพธ์ (ถ้าข้าม หรือใช้  \"-\" ให้ส่งออกไปที่ stdout)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr "หมวดหมู่ของจุด ('cities') บน node (ชั้นข้อมูลกำหนดโดย  nlayer)"
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "ชื่อของเมือง: [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "เมืองไม่พอ (< 2)"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "สร้าง จุดศูนย์ถ่วง"
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "ไม่มีจุดที่มี หมวดหมู่ [%d]"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "ไม่มีข้อมูลสำหรับจุด (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Node สิ้นสุด [%d] ไม่สามารถเข้าถึงได้จาก node [%d]"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "ไม่สามารถเปิดไฟล์ <%s> เพื่อเขียน"
@@ -33778,6 +35044,21 @@ msgstr "เลือกชนิด: เส้น หรือ area"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "ต้องการ 4 ตัวแปร สำหรับ ตัวแปร  'spatial'"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "ไม่ทราบเงื่อนไข '%s'"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "ยกเลิกการตรวจสอบ projection"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -33897,7 +35178,7 @@ msgid "Processing features..."
 msgstr "กำลังทำงาน  ainput areas  ..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "ไม่สามารถ คำนวน จุดศูนย์ถ่วง ของพื้นที่"
@@ -33969,7 +35250,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "ไม่สามารถใช้ Column '%s'"
@@ -34373,7 +35654,7 @@ msgstr "ไม่มีจุดที่มี หมวดหมู่ [%d]"
 msgid "%d records updated"
 msgstr "%d ข้อมูล ปรับปรุงแล้ว"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34477,9 +35758,10 @@ msgstr "การทำงาน ที่ไม่ทราบ"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "ไม่สามารถ  tokenize Column string: %s"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "กำลังอ่านข้อมูล ..."
 
 #: ../vector/v.transform/main.c:290
@@ -34937,7 +36219,7 @@ msgstr "ผิดพลาดขณะเปิด แผนที่ควา
 msgid "Column type not supported, please use a column with double type"
 msgstr "ชนิด Column ไม่รองรับ (ต้องเป็นตัวอักษร)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "กำลังอ่านข้อมูล ..."
@@ -35021,6 +36303,10 @@ msgstr "ชื่อของ column"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Columns"
 
@@ -35090,56 +36376,61 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "แสดง ค่าเฉลี่ย แทน ค่าช่วง"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Column <%s> ไม่พบในตาราง <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "ชนิดของแผนที่เชิงภาพ คือ integer และ ชนิดของ Column คือ float"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "ชนิดแผนที่เชิงภาพ คือ  float and ชนิดของ Column คือ integer, ข้อมูลบางส่วน หายไป!!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "%d พบ เส้น หรือ ขอบเขต ใน แผนที่เชิงเส้น <%s@%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d จุด อยู่นอกขอบเขต ข้ามไป"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "%d จุด ไม่มีหมวดหมู่ ข้ามไป"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "หลายจุด (%d) ของหมวดหมู่ %d, ค่าถูกกำหนดเป็น 'NULL'"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d หมวดหมู่อ่านจากแผนที่เชิงเส้น"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d หมวดหมู่ซ้ำในข้อมูลเชิงเส้น"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d หมวดหมู่อ่านจากตาราง"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d หมวดหมู่ จากข้อมูลเชิงเส้นที่ หายไปในตาราง"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d ข้อมูล ปรับปรุงแล้ว"
@@ -35970,7 +37261,9 @@ msgstr "แสดง  stats ในรูปแบบ shell script"
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "ต้องระบุค่า Threshold"
+msgstr ""
+"ต้องระบุ 1 เงื่อนไข ของ \"-i\" or \"-r\" หรือ เงื่อนไข \"color\", \"rast\" or "
+"\"rules\" !"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -36007,51 +37300,61 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "แสดง รายละเอียด ของแผนที่เชิงภาพ"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "เงื่อนไข WHERE ของประโยค SQL ปราศจาก คำเฉพาะ 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "ตัวแยกทางดิ่ง ของข้อมูลผลลัพธ์"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "ขอบเขต\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "กำหนดค่าฐานข้อมูลจาก ข้อมูลเชิงเส้น"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "ไม่สามารถปิด แผนที่เชิงเส้น <%s> ที่ topology ระดับ %d"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "ไม่สามารถเปิด cursor ที่เลือก"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "ไม่สามารถ fetch ข้อมูลจากตาราง  <%s>"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "%s: ไม่สามารถหา ขอบเขต สำหรับเส้น"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "%s: ไม่สามารถหา ขอบเขต สำหรับเส้น"
@@ -36341,7 +37644,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d ข้อมูลถูกเลือกจากตาราง"
 msgstr[1] "%d ข้อมูลถูกเลือกจากตาราง"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "ไม่สามารถสร้างตาราง <%s>"
@@ -36366,7 +37669,7 @@ msgstr "การเชื่อมต่อฐานข้อมูล ไม
 msgid "Querying database... "
 msgstr "กำลังค้นหาฐานข้อมูล ... "
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
@@ -36375,12 +37678,12 @@ msgstr ""
 "ค้นหาหมวดหมู่  '0' (ไม่มีหมวดหมู่) จะไม่ทำงานเพราะว่ามีหมวดหมู่ที่ค้นหามากเกินไป (%d). "
 "ค่าทั้งหมดที่รายงานออกมาสำหรับ for cat 0 ไม่ถูกต้อง."
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr "การค้นหาได้หลายผลลัพธ์, ค่าผลลัพธ์จะถูกกำหนดเป็น NULL (หมวดหมู่ [%d])"
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr "ไม่สามารถ fetch ข้อมูล"
 
@@ -36396,6 +37699,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "ไม่พบ แผนที่เชิงภาพ albedo <%s>"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "กำลังปรับปรุง ฐานข้อมูล ..."
@@ -36673,7 +37981,8 @@ msgstr "%s จะต้องรวมค่านั้นๆ แทนพื
 msgid " Database connection not defined for layer <%s>"
 msgstr "การติดต่อฐานข้อมูลไม่ได้ถูกกำหนด ใน ชั้นข้อมูล %d"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "ชนิดของ Column ไม่รองรับ"
@@ -36692,50 +38001,50 @@ msgstr "[%d] จุด ที่ไม่มีหมวดหมู่ (nfield:
 msgid "Wrong input format: %s"
 msgstr "รูปแบบนำเข้า ผิด: %s"
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "ไม่มีจุดที่มี หมวดหมู่ [%d]"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr "จุดที่มีหมวดหมู่ [%d] ไม่สามารถเข้าถึงได้ จากจุดที่มีหมวดหมู่ [%d]"
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr "จุด  %f,%f ไม่สามารถเข้าถึงได้ จากจุด  %f,%f"
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] รูปแบบนำเข้า ผิด"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr "[%d] จุดที่มีหมวดหมู่ หายไป"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr "%d ปลายทาง ไม่สามารถเข้าถึงได้ (รวมถึงจุดที่อยู่นอก threshold)"
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "หา shortest path บน vector network."
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr "ชื่อของไฟล์ ที่มี จุดเริ่มต้น และ สิ้นสุด. ถ้าไม่ได้ระบุ,อ่านจาก stdin"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr "ระยะมากสุด ถึง network"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
@@ -36744,7 +38053,7 @@ msgstr ""
 "ถ้า จุดเริ่มต้น/สิ้นสุด ถูกกำหนดแบบ ค่าพิกัด.ถ้า จุดเริ่มต้น/สิ้นสุด อยู่นอก threshold, ไม่พบ path "
 "และจะแสดง error message. เพื่อจะให้การทำงานเร็วขึ้น, ใช้ค่าต่ำที่สุดเท่าที่จะเป็นไปได้."
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr "เขียนผลลัพธ์ เหมือนแบบ ที่นำเข้า,ไม่ใช่แต่ละ path ต่อ1 เส้น"
 
@@ -37330,46 +38639,50 @@ msgstr "จำนวนมากสุดของจุดในชิ้นส
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "เขียนจุดหักของเส้น"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "ค่า Smoothing จะต้องเป็น บวก"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "ไม่ทราบชนิดของ  Column  '%s'"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "ไม่สามารถอ่าน หน่วย projection สำหรับแผนที่ที่จะนำเข้า"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "ความยาว %f\n"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "ความยาว %f\n"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "จำนวน classes จะต้อง < 256!"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -37469,11 +38782,6 @@ msgstr "ชื่อ Column (ชนิดต้องเป็นตัวเล
 msgid "Reading categories..."
 msgstr "กำลังแนบ หมวดหมู่ ..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "กำลังอ่านข้อมูล ..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37653,7 +38961,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Interpolate จุด ระหว่างจุดหักของเส้น"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "ไม่สามารถคัดลอกตาราง <%s>"
@@ -37914,207 +39222,228 @@ msgstr ""
 "เพื่อกำหนด การติดต่อใหม่ คุณต้องระบุ ค่าตัวแปรนี้: driver, database, table [, key [, "
 "layer]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Re-projects แผนที่เชิงภาพ จาก ตำแหน่งที่เลือก ไปที่ ตำแหน่งปัจจุบัน"
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "ตำแหน่ง ที่มี แผนที่เชิงเส้น"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "ชุดแผนที่ที่มี แผนที่ที่จะนำเข้า"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "ชื่อของแผนที่เชิงภาพที่จะ re-project"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "ชุดแผนที่ที่มี แผนที่ที่จะนำเข้า"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "แสดงรายการแผนที่เชิงเส้น ใน ตำแหน่งที่จะนำเข้า และออก"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "แผนที่เชิงเส้น 3มิติ เท่านั้น"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 #, fuzzy
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr "สมมุติ ให้ค่าพิกัด  z เป็นความสูงของวงรี และแปลงค่าถ้าเเป็นไปได้"
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "ภาพ 3d ที่จะเอาออก"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "ไม่พบ แผนที่เชิงภาพ <%s> ในตำแหน่ง <%s> ในชุดแผนที่ <%s>"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "ชุดแผนที่ <%s> ในตำแหน่งที่นำเข้า <%s> - ไม่อนุญาติให้ใช้งาน"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "ไม่พบ ชุดแผนที่ <%s> ในตำแหน่งที่นำเข้า <%s>"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "กำลังอ่านแผนที่ที่จะนำเข้า"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr "ข้อผิดพลาดใน pj_do_transform"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Re-projecting แผนที่เชิงเส้น ..."
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "ไม่สามารถ เปิดแผนที่เชิงเส้น <%s@%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr "สร้างชั้นข้อมูลแผนที่เชิงเส้นใหม่ โดย รวมชั้นข้อมูลอื่น"
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "ชื่อสำหรับ แผนที่เชิงเส้นผลลัพธ์ ที่ ขอบเขตของ แผนที่เชิงเส้นผลลัพธ์ถูกเขียน"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
-msgstr "เพิ่ม ไฟล์ไปที่ ไฟล์ที่มีอยู่แล้ว  (ไฟล์ที่ถูกเขียนทับจะต้องทำงานได้)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "ไม่ต้องสร้าง topology"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "คัดลอก ตารางรายละเอียดด้วย"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr "เฉพาะตารางของ ชั้นข้อมูลที่ 1 ที่จะรองรับ"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr "เพิ่ม ไฟล์ไปที่ ไฟล์ที่มีอยู่แล้ว  (ไฟล์ที่ถูกเขียนทับจะต้องทำงานได้)"
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "ตารางหายไป"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "Key columns แตกต่าง"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "จำนวนของ Columns แตกต่าง"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "ชื่อ Column แตกต่าง"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "ชนิด Column แตกต่าง"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr "ความยาวของ string columns แตกต่าง"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "ไม่พบ Key column"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "แผนที่ผลลัพธ์ มไใช่ 3มิติ"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "การปรับปรุง แผนที่เชิงเส้น <%s@%s>..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr "การอ่าน แผนที่เชิงเส้น <%s> ผิดพลาด - ข้อมูลบางส่วนอาจจะไม่ถูกต้อง"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "กำลังสร้าง Topology สำหรับแผนที่เชิงเส้น <%s> ..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr "จุดตัดที่ขอบจะถูกดูด"
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr "บรรทัดร่วมระหว่างไฟล์จะต้องถูกแก้ไข"
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr "ข้อมูล Header จะต้องถูกแก้ไข"
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr "%d จุดที่แผนที่เชิงเส้น ถูกปรับปรุง"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "ไม่สามารถเปิด cursor ที่เลือก: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "ไม่สามารถ fetch row"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "ไม่ทราบชนิด Column"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "ไม่สามารถแทรกข้อมูลใหม่: '%s'"
@@ -38782,16 +40111,12 @@ msgstr[1] "%d จุดหัก ลบแล้ว"
 msgid "Operation not implemented"
 msgstr "การทำงาน ยังไม่มี"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "แปลง ชั้นข้อมูลเชิงเส้น OGR ไปเป็น แผนที่เชิงเส้น GRASS"
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "ชื่อ แหล่งข้อมูล OGR"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
@@ -38801,7 +40126,7 @@ msgstr ""
 "\t\tESRI Shapefile: directory ที่มี shapefiles\n"
 "\t\tMapInfo File: directory ที่มี mapinfo ไฟล์"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -38811,216 +40136,216 @@ msgstr ""
 "\t\tESRI Shapefile: directory ที่มี shapefiles\n"
 "\t\tMapInfo File: directory ที่มี mapinfo ไฟล์"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "นำเข้า ขอบเขตย่อย เท่านั้น"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "รูปแบบ: xmin,ymin,xmax,ymax - ตามปกติใช้ W,S,E,N"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "ขนาดน้อยสุดของ area ที่จะนำเข้า (หน่วย กำลัง 2)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr "Areas and islands ที่เล็กกว่า ถูกข้าม. ต้องใหญ่กว่า ระยะดูด^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "ทางเลือก เปลี่ยนแบบการนำเข้า ตั้งต้น"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "ไม่มีจุดเริ่มต้น"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "กำลังสร้าง boundaries ที่ nodes ..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "สร้าง  polylines จาก เส้น หรือ ขอบเขต"
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "เอา จุดศูนย์ถ่วงของ area ที่ ซ้ำออก"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr "รายการชื่อของ column ที่จะใช้แทนชื่อเดิม, ชื่อแรกใช้สำหรับ column หมวดหมู่"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "ชื่อของ Column ที่ใช้เป็น แถบข้อความของหมวดหมู่ป้าย ของแผนที่เชิงภาพ"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "ชื่อของ column"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "ถ้าไม่กำหนด จะใช้ชื่อของแผนที่นำเข้า"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "ไม่ต้อง clean รูปปิด (ไม่แนะนำ)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "บังคับออกผลลัพธ์ แบบ  integer"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "จำกัดการนำเข้า ภายในขอบเขตปัจจุบัน"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "เปลี่ยนชื่อ column ไปเป็น ตัวอักษรแบบเล็ก"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "ไม่สามารถเปิดแหล่งข้อมูล <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "ตำแหน่งตัวชี้ ไม่รองรับใน ตัวขับ MySQL"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, fuzzy, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr "แหล่งข้อมูล มี %d ชั้นข้อมูล:"
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "ชั้นข้อมูล <%s> ไม่สามารถใช้งานได้"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "ชั้นข้อมูล <%s> ไม่สามารถใช้งานได้"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "ไม่สามารถอ่าน ข้อมูล จากชั้นข้อมูลเชิงเส้น <%s>"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Column <%s> ไม่พบในตาราง <%s>"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr "เลือก ขอบเขตปัจจุบัน หรือ เงื่อนไขด้านตำแหน่ง,อันใดอันหนึ่ง"
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "ต้องการ 4 ตัวแปร สำหรับ ตัวแปร  'spatial'"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "ระยะ Bufferในหน่วย ของแผนที่"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "ไม่สามารถ สร้าง แผนที่เชิงเส้น <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "ไม่พบ Key column '%s'"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Key column จะต้องเป็น integer"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Column <%s> ไม่พบในตาราง <%s>"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr "กำลังเขียน column <%s> ด้วยความยาวที่กำหนด %d ตัวอักษร (อาจจะตัดให้สั้นลง)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr "กำลังเขียน column <%s> ด้วยความยาวที่กำหนด %d ตัวอักษร (อาจจะตัดให้สั้นลง)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -39029,65 +40354,65 @@ msgstr ""
 "ความกว้างสำหรับ column %s กำหนดเป็น 255 (ไม่ได้ระบุโดย OGR), "
 "บางตัวอักษรอาจจะถูกตัดให้สั้นลง!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr "กำลังเขียน column %s ด้วยความยาวที่กำหนด %d ตัวอักษร (อาจจะตัดให้สั้นลง)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "ชนิดของ Column ใช้ไม่ได้  (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "กำลังนำเข้าแผนที่ %d  ข้อมูล ..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s ไม่มี geometry"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "ตัด polygons"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "ดูด ขอบเขต (threshold = %.3e):"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "กำลังสร้าง boundaries ที่ nodes ..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Breaking boundaries..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "เปลี่ยน boundary dangles ไปเป็นเส้น:"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "เปลี่ยน boundary bridges ไปเป็นเส้น:"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "กำลังคำนวน Centrality measures ..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "กำลังเขียน จุดศูนย์ถ่วง ..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39098,99 +40423,99 @@ msgstr ""
 "เชื่อมมากกว่า 1 row ในตารางรายละเอียด. จำนวนข้อมูลสำหรับ areas นั้นเก็บแบบ "
 "หมวดหมู่ในชั้นข้อมูล %d"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d รูปปิดที่นำเข้า"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d รูปปิดที่นำเข้า"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Area ทั้งหมด: %e (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Area ทั้งหมด: %e (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Area ที่มีการซ้อนทับกัน: %e (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Area ที่มีการซ้อนทับกัน: %e (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Area ที่ไม่มีหมวดหมู่: %e (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Area ที่ไม่มีหมวดหมู่: %e (%d areas)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "การดูด threshold สำหรับขอบเขต"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "ไม่สามารถ drop ตาราง: %s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -39238,17 +40563,21 @@ msgstr "ไม่สามารถเขียนส่วนของ geometry
 msgid "Unknown geometry type"
 msgstr "ไม่ทราบชนิดของ geometry"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "ชื่อของ ตารางผลลัพธ์"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "ไฟล์แผนที่เชิงภาพที่จะนำเข้า"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39260,22 +40589,22 @@ msgstr ""
 "\t\tESRI Shapefile: directory ที่มี shapefiles\n"
 "\t\tMapInfo File: directory ที่มี mapinfo ไฟล์"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "ชื่อของแผนที่ผลลัพธ์ (ค่าตั้งต้น: input)"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "แสดงรายการ ชั้นข้อมูล ในแหล่งข้อมูล และ ออก"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "แสดงรายการ ชั้นข้อมูล ในแหล่งข้อมูล และ ออก"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 #, fuzzy
 msgid "Format: layer name,type,projection check,geometry"
 msgstr "รูปแบบ: จำนวนชนิดของชั้นข้อมูล min max"
@@ -39329,7 +40658,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "ค่าพิกัดไม่ถูกต้อง"
+msgstr "cost column ของจุด"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -39338,17 +40667,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "สร้างแผนที่เชิงเส้นใหม่ แบบ อ่านอย่างเดียว เชื่อมกับ ชั้นข้อมูล OGR"
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "ไม่สามารถเขียน ลบ %d"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "ไม่สามารถสร้างไฟล์ <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "แผนที่เชิงภาพ <%s> มีอยู่แล้ว"
@@ -39487,17 +40816,17 @@ msgstr "ไม่สามารถสร้างแผนที่ผลลั
 msgid "Unable to close new 3d raster map"
 msgstr "ไม่สามารถปิด แผนที่เชิงภาพ 3มิติ ใหม่"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "เส้น"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 #, fuzzy
 msgid "Splits net by cost isolines."
 msgstr "ตัด net โดย cost isolines"
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 #, fuzzy
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
@@ -39507,43 +40836,43 @@ msgstr ""
 "ตัด net ที่ band ระหว่าง cost isoline  (ทิศทางจาก centre). Centre node จะต้องเปิด "
 "(costs >= 0). Costs ของ centre node จะใช้ในการคำนวน."
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "Costs สำหรับ isolines"
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr " iso cost ผิด: %f"
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr "Iso cost: %f น้อยกว่าก่อนหน้า"
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, fuzzy, c-format
 msgid "Iso cost %d: %f"
 msgstr "Iso cost [%d] : [%f]"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr "Costs ไม่พอ, ทุกอย่างที่เข้าถึงได้ล้มเหลวที่  band แรก"
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr "Centre ที่ node ปิด (costs = -1) ยกเลิก"
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "จำนวนของ centres: [%d] (nlayer: [%d])"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr "centres สำหรับชั้นข้อมูลที่เลือก. ไม่มีอะไรที่จะกำหนด."
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "การคำนวน costs จาก centres ..."
@@ -39708,6 +41037,136 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "การติดต่อฐานข้อมูลไม่ได้ถูกกำหนด ใน ชั้นข้อมูล %d"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "ไม่มีข้อมูลหมวด  [%d]"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "ไม่มีข้อมูลหมวด  [%d]"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "ไม่พบ Column <%s>"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "สร้าง แผนที่เชิงเส้น แบบจุด 3 มิติ"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "แปลง ชั้นข้อมูลเชิงเส้น OGR ไปเป็น แผนที่เชิงเส้น GRASS"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "จำนวนชั้นข้อมูล"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld หมวดหมู่"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "จำนวนชั้นข้อมูล"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "จำนวนชั้นข้อมูล"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "ชั้นข้อมูลที่จะเพิ่ม column"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "ชั้นข้อมูลที่จะเพิ่ม column"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "ชั้นข้อมูลที่จะเพิ่ม column"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "ชื่อ Column (ชนิดต้องเป็นตัวเลข)"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "ชื่อของ  column สี (สำหรับใช้กับ -a )"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "ไม่สามารถอ่านค่าสีได้"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "จำกัดการนำเข้า ภายในขอบเขตปัจจุบัน"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "ไม่มี ตาราง"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -39900,7 +41359,7 @@ msgstr "Collecting Stats..."
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> จำนวนจุด ไม่ถูกต้อง"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "อย่างน้อยต้องเลือก 1 เงื่อนไข จาก %s"
@@ -40213,50 +41672,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "ตาราง Auxiliar ไม่สามารถ dropped"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "ไม่สามารถ เปิด แผนที่เชิงเส้น <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "ไม่สามารถเปิดฐานข้อมูล <%s> โดยตัวขับ <%s>"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "แปลง ชั้นข้อมูลเชิงเส้น OGR ไปเป็น แผนที่เชิงเส้น GRASS"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "ขอบเขตย่อย "
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "จำนวนชั้นข้อมูล"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "ชั้นข้อมูลที่จะเพิ่ม column"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "ชื่อของ แผนที่เชิงเส้น นำเข้า ของ sparse points"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "ชื่อของ แผนที่เชิงเส้นที่จะนำเข้า"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "ค่า Integer ถูกนำเข้า"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Correlation"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "ค่า Integer ถูกนำเข้า"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "กำลังนำเข้า จุด ..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> จำนวนจุด ไม่ถูกต้อง"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "แผนที่เชิงเส้นนำเข้า ที่มี จุด"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "ค่าพิกัดจุด Seed"
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "แสดงผลลัพธ์ไปที่ stdout, อย่าปรับปรุง ตารางรายละเอียด"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "ไม่สามารถเปิดฐานข้อมูล <%s> โดยตัวขับ <%s>"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "จำนวนชั้นข้อมูล"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
+msgstr "กำลังนำเข้า จุด ..."
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %lu points..."
 msgstr "กำลังนำเข้า จุด ..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu points imported (limit was %llu)"
 msgstr "%d จุดถูกอ่าน"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d จุดถูกอ่าน"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d จุดถูกอ่าน"
+
+#: ../vector/v.in.lidar/main.c:781
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu points imported"
+msgstr "%d จุดถูกอ่าน"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
 msgstr "%d จุด อยู่นอก threshold"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d จุด อยู่นอก threshold"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:795
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr "%d จุด อยู่นอก threshold"
 
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d จุด อยู่นอก threshold"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "%d จุดสุดท้ายจะถูกยกเลิก"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, fuzzy, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40423,7 +42069,7 @@ msgstr "ชื่อของ แผนที่เชิงเส้น ที
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr "สร้าง topology หรือ dump topology หรือ spatial index ไปที่ stdout"
 
 #: ../vector/v.build/main.c:65
@@ -41452,11 +43098,6 @@ msgstr "ไม่สามารถคำนวน  Inverse matrix"
 msgid "Resolving conflicts..."
 msgstr "กำลังแก้ไข ส่วนที่ขัดกัน"
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "การสร้าง  (%s) ..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -41630,58 +43271,58 @@ msgstr "สร้างแผนที่เชิงเส้นฐาน"
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "การสร้าง  (%s) ..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "ความละเอียด ที่ใช้! [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr "แบบอักษร  '%s' ไม่ได้เป็นแบบ FreeType font\n"
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr "แบบอักษร  '%s' ไม่ได้เป็นแบบ FreeType font\n"
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, fuzzy, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr "%d boundaries ไม่ถูกทำให้ลดลง เพราะ การลดจะทำให้ topology เสียหาย"
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, fuzzy, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr "จำนวนของ จุดหัก ถูกลดจาก %d เหลือ %d [%d%%]"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 #, fuzzy
 msgid "changed"
 msgstr "Rows เปลี่ยนแปลง"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "ชั้นข้อมูล  %d"
@@ -41730,74 +43371,6 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "จำนวนของ quadrats"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "ชื่อของ แผนที่เชิงภาพ ที่จะนำเข้า และมี friction costs"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "ชื่อของ แผนที่เชิงภาพ ที่จะนำเข้า และมี friction costs"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "แผนที่ผลลัพธ์ Diffuse irradiance  [W.m-2] (โหมด 1) หรือแผนที่เชิงภาพ Irradiation  "
-#~ "[Wh.m-2.day-1] (โหมด 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "แผนที่ผลลัพธ์ Ground reflected irradiance  [W.m-2] (โหมด 1) หรือแผนที่เชิงภาพ "
-#~ "Irradiation  [Wh.m-2.day-1] (โหมด 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "ผลลัพธ์  beam irradiance [W.m-2] (โหมด 1) หรือ แผนที่เชิงภาพ  irradiation  [Wh."
-#~ "m-2.day-1] (โหมด 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "ชื่อของ แผนที่ความสูง เชิงภาพ"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "ชื่อของ แผนที่ความสูงเชิงภาพ ที่จะนำเข้า  [หน่วยเมตร]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "แผนที่ผลลัพธ์ Ground reflected irradiance  [W.m-2] (โหมด 1) หรือแผนที่เชิงภาพ "
-#~ "Irradiation  [Wh.m-2.day-1] (โหมด 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "ผลลัพธ์  beam irradiance [W.m-2] (โหมด 1) หรือ แผนที่เชิงภาพ  irradiation  [Wh."
-#~ "m-2.day-1] (โหมด 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "จำนวนจุด ของ interpolation"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "เขียนทับ Projection (ใช้ location's projection)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "ตำแหน่ง: %s\n"
 
@@ -41814,24 +43387,28 @@ msgstr "ชั้นข้อมูล  %d"
 #~ "\n"
 #~ "%d classes, %.2f%% points stable\n"
 
+#~ msgid "Subregion"
+#~ msgstr "ขอบเขตย่อย "
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "การเพิ่มขึ้นของ หมวดหมู่"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "เงื่อนไข <%s>: <%s> ออก."
+#, fuzzy
+#~ msgid "Could not rewind input file"
+#~ msgstr "ไม่สามารถเปิดไฟล์ผลลัพธ์ <%s>"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "ข้าม การส่งออกแผนที่ <%s>"
+#~ msgid "Name for basins raster map"
+#~ msgstr "ชื่อของแผนที่เชิงภาพ ฐาน"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "แผนที่ ดัชนี topographic ผลลัพธ์"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "<%s> มีอยู่แล้วในชุดแผนที่ <%s>"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "ชื่อของแผนที่เชิงภาพ ฐาน"
+#~ msgid "output map <%s> exists"
+#~ msgstr "ข้าม การส่งออกแผนที่ <%s>"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "ความยาว หน้า (ค่าตั้งต้น: %d บรรทัด)"
@@ -41839,6 +43416,9 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "ความกว้าง หน้า (ค่าตั้งต้น: %d ตัวอักษร)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "เขียนทับ Projection (ใช้ location's projection)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.in.gdal to override this check and use the "
@@ -41862,6 +43442,12 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgid "[%s] not found"
 #~ msgstr "[%s] ไม่พบ"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "เงื่อนไข <%s>: <%s> ออก."
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "ยกเลิก projection ของชุดแผนที่ (ใช้ location's projection)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -41880,6 +43466,14 @@ msgstr "ชั้นข้อมูล  %d"
 #~ "ตำแหน่ง สำหรับ ชุดข้อมูล\n"
 
 #, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
 #~ msgid "Location name (not location path)"
 #~ msgstr "ชื่อ LOCATION ใหม่ (ไม่ใช่ location path)"
 
@@ -41888,6 +43482,21 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgstr "New GISDBASE (path เต็ม ถึง directory ตรงตำแหน่ง new location)"
 
 #, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "ไม่สามารถกำหนด projection"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "แปลง แผนที่เชิงเส้นทั้งหมดของ GRASS < Ver5.7 ในชุดแผนที่ที่ใช้งานไปเป็น รูปแบบปัจจุบัน"
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "ตัวแยกของ field ผลลัพธ์"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "ปรับปรุง metadata ของแผนที่เชิงเส้น."
 
@@ -41921,168 +43530,64 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgid "Default: path to the current GRASS database"
 #~ msgstr "แสดงชื่อ ของกรอบ"
 
-#, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "ตัวแยกของ field ผลลัพธ์"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "<%s> มีอยู่แล้วในชุดแผนที่ <%s>"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "แปลง แผนที่เชิงเส้นทั้งหมดของ GRASS < Ver5.7 ในชุดแผนที่ที่ใช้งานไปเป็น รูปแบบปัจจุบัน"
+#~ msgid "OGR datasource name"
+#~ msgstr "ชื่อ แหล่งข้อมูล OGR"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "ไม่ได้ระบุชื่อแผนที่"
 
-#~ msgid "Renaming reclass maps"
-#~ msgstr "กำลังเปลี่ยนชื่อ  reclass maps"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "ไม่สามารถอ่านไฟล์ REF ของกลุ่มย่อย [%s] ในกลุ่ม [%s]."
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d หมวดหมู่อ่านจากตาราง"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "ใช้ \"-i\" หรือ \"value=\" จะต้องกำหนด"
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
 #, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "ไม่สามารถสร้างไฟล์ <%s>"
 
 #, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "โปรดระบุ z Column"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "ใช้ \"-i\" หรือ \"value=\" จะต้องกำหนด"
-
-#, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "ค่า scalex ไม่ถูกต้อง"
-
-#, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "โปรดระบุ z Column"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "โปรดระบุ z Column"
-
-#, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "โปรดระบุ z Column"
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "โปรดระบุ z Column"
+#~ msgid "Env file not found"
+#~ msgstr "ไม่พบไฟล์ 3dview <%s>"
 
 #, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
+#~ msgid "PID file not found"
+#~ msgstr "ไม่พบไฟล์: %s"
 
 #, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
+#~ msgid "Command file not found"
+#~ msgstr "ไม่พบ Column <%s>"
 
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
-
-#, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "weight= และ -c คือ mutually exclusive"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "กำลังเปลี่ยนชื่อ  reclass maps"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "ต้องระบุ 1 เงื่อนไข ของ \"-i\" or \"-r\" หรือ เงื่อนไข \"color\", \"rast\" or "
-#~ "\"rules\" !"
+#~ msgid "Name for output image"
+#~ msgstr "ชื่อของไฟล์ผลลัพธ์"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr ""
-#~ "ต้องระบุ 1 เงื่อนไข ของ \"-i\" or \"-r\" หรือ เงื่อนไข \"color\", \"rast\" or "
-#~ "\"rules\" !"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "ไม่สามารถอ่านไฟล์ REF ของกลุ่มย่อย [%s] ในกลุ่ม [%s]."
 
 #, fuzzy
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "สีตัวอักษณ, either สีมาตรฐานของ GRASS หรือ R:G:B triplet"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d หมวดหมู่อ่านจากตาราง"
 
-#, fuzzy
 #~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr "แสดง ชั้นข้อมูลเชิงเส้นของ  GRASS ในกรอบที่กำลังทำงานบนจอแสดงผล"
+#~ "Correction of the v.lidar.growing output. It is the last of the three "
+#~ "algorithms for LIDAR filtering."
+#~ msgstr ""
+#~ "Correction ของผลลัพธ์จาก v.lidar.growing . มันเป็นอันสุดท้าย ของ 3 algorithms "
+#~ "สำหรับ LIDAR filtering."
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "สีสำหรับวาดตัวอักษร"
+#~ msgid "Interpolation spline step value in east direction"
+#~ msgstr "ค่าขั้น ของ Interpolation spline ใน east direction"
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "สีสำหรับวาดกริด, หรือ \"none\""
+#~ msgid "Interpolation spline step value in north direction"
+#~ msgstr "ค่าขั้น ของ Interpolation spline ใน north direction"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
 #~ msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Discretization error ในหน่วยแผนที่"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "สร้าง maximum SPOTTING distance"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -42212,39 +43717,84 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgstr "ใช้ปีกกาหมายเหตุ ในสัญลักษณ์"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr "ชื่อของแผนที่เชิงภาพผลลัพธ์"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "สร้าง maximum SPOTTING distance"
+#~ msgid "Default: input"
+#~ msgstr "Discretization error ในหน่วยแผนที่"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "แสดง"
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr "แสดง ชั้นข้อมูลเชิงเส้นของ  GRASS ในกรอบที่กำลังทำงานบนจอแสดงผล"
 
 #, fuzzy
-#~ msgid ""
-#~ "Allows creation and/or modification of raster3d map layer support files."
-#~ msgstr "ยอมให้สร้าง และ/หรือ เปลี่ยนแปลง ไฟล์ support ของชั้นข้อมูลเชิงภาพ."
+#~ msgid "Text color or \"none\""
+#~ msgstr "สีตัวอักษร"
 
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "ไม่สามารถอ่าน แผนที่เชิงเส้น"
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "สีสำหรับวาดตัวอักษร"
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "ไม่สามารถสร้างตาราง: %s"
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "สีสำหรับวาดกริด, หรือ \"none\""
 
 #, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "หน่วยความจำไม่พอ สำหรับ az"
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "สีตัวอักษณ, either สีมาตรฐานของ GRASS หรือ R:G:B triplet"
 
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "OLD_T_NEW ได้รหัส ชนิด ที่ไม่เหมาะสม [%x]"
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "เส้น"
 
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "NEW_T_OLD ได้รหัส ชนิด ที่ไม่เหมาะสม [%x]"
+#, fuzzy
+#~ msgid ""
+#~ "Allows creation and/or modification of raster3d map layer support files."
+#~ msgstr "ยอมให้สร้าง และ/หรือ เปลี่ยนแปลง ไฟล์ support ของชั้นข้อมูลเชิงภาพ."
+
+#~ msgid "Failed opening input dig file."
+#~ msgstr "การเปิด dig ไฟล์ที่จะนำเข้า ล้มเหลว"
+
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "ไม่มี dig_att ไฟล์."
+
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "การเปิด dig_att ไฟล์ที่จะนำเข้า ล้มเหลว"
+
+#~ msgid "Attaching categories..."
+#~ msgstr "กำลังแนบ หมวดหมู่ ..."
+
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "การแนบ รายละเอียด  (หมวดหมู่ %d) ไปที่เส้น ล้มเหลว."
+
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "เส้น %d แถบข้อความ: %d ตรงกับ แถบข้อความ อื่น: %d."
+
+#~ msgid "Writing new file..."
+#~ msgstr "กำลังเขียน ไฟล์ใหม่"
+
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "[%d] จุด และ เส้น ถูกเขียนไปที่ ไฟล์ผลลัพธ์"
+
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "[%d] จุดศูนย์ถ่วง ถูกเขียนไปที่ ไฟล์ผลลัพธ์"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "นำเข้า แผนที่เชิงเส้น รุ่นเก่า ของ GRASS"
+
+#~ msgid "Endian of input vector map"
+#~ msgstr "Endian ของแผนที่เชิงเส้นที่นำเข้า"
+
+#, fuzzy
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr "ไม่พบ แถบข้อความของหมวดหมู่  (dig_cats) , ไม่ได้สร้างตาราง.\n"
+
+#, fuzzy
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "ไม่สามารถเปิด dig_att ไฟล์ <%s>\n"
 
 #~ msgid "Reading dig file..."
 #~ msgstr "กำลังอ่าน dig ไฟล์ ..."
@@ -42328,182 +43878,42 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgid "[%d] categories read into memory"
 #~ msgstr "[%d] หมวดหมู่ อ่านไปไว้ที่หน่วยความจำ"
 
-#, fuzzy
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr "ไม่พบ แถบข้อความของหมวดหมู่  (dig_cats) , ไม่ได้สร้างตาราง.\n"
-
-#, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "ไม่สามารถเปิด dig_att ไฟล์ <%s>\n"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "การเปิด dig ไฟล์ที่จะนำเข้า ล้มเหลว"
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "ไม่มี dig_att ไฟล์."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "การเปิด dig_att ไฟล์ที่จะนำเข้า ล้มเหลว"
-
-#~ msgid "Attaching categories..."
-#~ msgstr "กำลังแนบ หมวดหมู่ ..."
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "การแนบ รายละเอียด  (หมวดหมู่ %d) ไปที่เส้น ล้มเหลว."
-
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "เส้น %d แถบข้อความ: %d ตรงกับ แถบข้อความ อื่น: %d."
-
-#~ msgid "Writing new file..."
-#~ msgstr "กำลังเขียน ไฟล์ใหม่"
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "[%d] จุด และ เส้น ถูกเขียนไปที่ ไฟล์ผลลัพธ์"
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "[%d] จุดศูนย์ถ่วง ถูกเขียนไปที่ ไฟล์ผลลัพธ์"
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "นำเข้า แผนที่เชิงเส้น รุ่นเก่า ของ GRASS"
-
-#~ msgid "Endian of input vector map"
-#~ msgstr "Endian ของแผนที่เชิงเส้นที่นำเข้า"
-
-#~ msgid "Interpolation spline step value in east direction"
-#~ msgstr "ค่าขั้น ของ Interpolation spline ใน east direction"
-
-#~ msgid "Interpolation spline step value in north direction"
-#~ msgstr "ค่าขั้น ของ Interpolation spline ใน north direction"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "ไม่ทราบชนิดของ แผนที่เชิงภาพ"
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "ขนาด Cache (MiB)"
-
-#~ msgid "Can't call bad function"
-#~ msgstr "ไม่สามารถใช้ คำสั่ง ที่ไม่ดี"
-
-#~ msgid "Bad arguments to pointfunc %s"
-#~ msgstr "ตัวแปรไม่ดี ที่จะใช้กับ pointfunc %s"
-
-#~ msgid "No function defined to perform ``point %c point''"
-#~ msgstr "ไม่มีคำสั่งกำหนด ที่จะทำงาน ``point %c point''"
-
-#~ msgid "Performing 1 arg map function on map %s"
-#~ msgstr "การทำงานคำสั่งแผนที่ 1 ตัวแปร บน แผนที่   %s "
-
-#~ msgid "Performing 2 arg map function on maps %s and %s"
-#~ msgstr "การทำงานคำสั่งแผนที่ 2 ตัวแปร บน แผนที่   %s และ %s"
-
-#~ msgid "Performing map %s + %s"
-#~ msgstr "การทำงานคำสั่งแผนที่  %s + %s"
-
-#~ msgid "Can't call bad map-function"
-#~ msgstr "ไม่สามารถใช้คำสั่ง แผนที่ ที่ไม่ดี"
-
-#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
-#~ msgstr "ตัวแปรไม่ดี ที่จะใช้กับ mapfunc %s (argc = %d)"
-
-#~ msgid "No function defined to perform map %c map"
-#~ msgstr "ไม่มีคำสั่งกำหนด ที่จะทำงานแผนที่ %c แผนที่"
-
-#~ msgid "Can't call bad num-function"
-#~ msgstr "ไม่สามารถใช้ num-function ที่ไม่ดี"
-
-#~ msgid "Bad arguments to numfunc %s"
-#~ msgstr "ตัวแปรไม่ดี ที่จะใช้กับ  numfunc %s"
-
-#~ msgid "No function defined to perform ``number %c number''"
-#~ msgstr "ไม่มีคำสั่งกำหนด ที่จะทำงาน ``number %c number''"
-
-#~ msgid "Can't call bad any-function"
-#~ msgstr "ไม่สามารถ เรียก คำสั่งที่ไม่ดี"
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "OLD_T_NEW ได้รหัส ชนิด ที่ไม่เหมาะสม [%x]"
 
-#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
-#~ msgstr "ตัวแปรไม่ดี ใช้กับ คำสั่งใดๆ %s (argc = %d)"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "NEW_T_OLD ได้รหัส ชนิด ที่ไม่เหมาะสม [%x]"
 
 #~ msgid "One or more coordinates"
 #~ msgstr "1 หรือมากกว่า ของ ค่าพิกัด"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "หน่วยความจำไม่พอ สำหรับ adx"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "หน่วยความจำไม่พอ สำหรับ ady"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "หน่วยความจำไม่พอ สำหรับ adxx"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "หน่วยความจำไม่พอ สำหรับ adyy"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "หน่วยความจำไม่พอ สำหรับ adxy"
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "ไม่สามารถสร้าง Quaddata"
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "ไม่สามารถสร้าง Quadfunc"
-
-#~ msgid "Cannot create tree"
-#~ msgstr "ไม่สามารถสร้าง Tree"
-
-#~ msgid "Cannot create tree info"
-#~ msgstr "ไม่สามารถสร้าง Tree info"
-
-#~ msgid "sites"
-#~ msgstr "sites"
-
-#, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "แปลงแผนที่เชิงภาพ ไปเป็น ชั้นข้อูลแผนที่เชิงเส้น"
-
-#, fuzzy
-#~ msgid "Site file <%s> not found"
-#~ msgstr "ไม่พบไฟล์ 3dview <%s>"
-
-#, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "การเดา รูปแบบ site ไฟล์ ล้มเหลว"
-
-#, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "ไม่สามารถ ระบุ row buffer ที่จะนำเข้า"
+#~ msgid "Name of elevation map"
+#~ msgstr "ชื่อของ แผนที่ความสูง"
 
-#, fuzzy
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "ชื่อของ แผนที่เชิงเส้น จุด ที่จะนำเข้า"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "ตัวอักษร ที่ใช้แทน  no data cell"
 
 #, fuzzy
-#~ msgid "%d sites written."
-#~ msgstr "%d ข้อมูล เขียนแล้ว"
-
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "ชื่อชั้นข้อมูลที่จะใช้สำหรับ INTENSITY"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr ""
+#~ "ต้องระบุ 1 เงื่อนไข ของ \"-i\" or \"-r\" หรือ เงื่อนไข \"color\", \"rast\" or "
+#~ "\"rules\" !"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "ชื่อชั้นข้อมูลที่จะใช้สำหรับ SATURATION"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "Metric ที่ไม่รู้จัก: [%s]"
 
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "นำเข้า US-NGA GEOnet Names Server (GNS)  country files ไปที่ "
-#~ "แผนที่เชิงเส้นแบบจุดของ GRASS"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "ข้อผิดพลาดขณะอ่านไฟล์ หมวด สำหรับ <%s>"
 
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "ไฟล์ GNS ไม่ได้บีบอัด จาก NGA (ด้วยนามสกุล .txt)"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "ข้อผิดพลาดขณะ อ่าน ไฟล์สี สำหรับ <%s>"
 
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "ชื่อของแผนที่เชิงภาพ ที่ 1 ที่จะ บิดสี "
+#~ msgid "String representing no data cell value"
+#~ msgstr "ตัวอักษรที่ใช้แทน ข้อมูล cell ที่ไม่มีค่า"
 
 #, fuzzy
-#~ msgid "Table file to be exported or DB connection string"
-#~ msgstr "ไฟล์ตารางที่จะนำเข้า หรือ การเชื่อมต่อ  DB"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "เครื่องมือ Surface interpolation สำหรับ ชั้นข้อมูลแผนที่เชิงภาพ"
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -42520,16 +43930,18 @@ msgstr "ชั้นข้อมูล  %d"
 #~ "ระหว่าง ตำแหน่งภูมิศาสตร์ที่ต่างกัน บนชั้นข้อมูลแผนที่ความสูง เชิงภาพ ที่ ค่า หมวดหมู่ cell แทน "
 #~ "ความสูงที่รวมด้วย ชั้นข้อมูลแผนที่เชิงภาพ ที่ค่า cell แทน friction cost."
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "ชื่อชั้นข้อมูลที่จะใช้สำหรับ INTENSITY"
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "ชื่อชั้นข้อมูลที่จะใช้สำหรับ SATURATION"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "ชื่อของชั้นข้อมูลผลลัพธ์ที่ใช้สำหรับ เขียว"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "ชื่อของชั้นข้อมูลผลลัพธ์ที่ใช้สำหรับ น้ำเงิน"
 
-#, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "เครื่องมือ Surface interpolation สำหรับ ชั้นข้อมูลแผนที่เชิงภาพ"
-
 #~ msgid "Surface generation program."
 #~ msgstr "โปรแกรมสร้าง Surface"
 
@@ -42549,53 +43961,15 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgstr[0] "Interpolating แผนที่เชิงภาพ <%s>... %d rows... "
 #~ msgstr[1] "Interpolating แผนที่เชิงภาพ <%s>... %d rows... "
 
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "แลต/ลอง projection ยังใช้ไม่ได้ในตอนนี้"
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "ตำแหน่ง: %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "แผนที่เชิงเส้น, networking"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "ชื่อของ แผนที่ความสูง"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "ตัวอักษร ที่ใช้แทน  no data cell"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "ต้องระบุ 1 เงื่อนไข ของ \"-i\" or \"-r\" หรือ เงื่อนไข \"color\", \"rast\" or "
-#~ "\"rules\" !"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "ต้องระบุ 1 เงื่อนไข ของ \"-i\" or \"-r\" หรือ เงื่อนไข \"color\", \"rast\" or "
-#~ "\"rules\" !"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Metric ที่ไม่รู้จัก: [%s]"
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "ข้อผิดพลาดขณะอ่านไฟล์ หมวด สำหรับ <%s>"
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "ข้อผิดพลาดขณะ อ่าน ไฟล์สี สำหรับ <%s>"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "ตัวอักษรที่ใช้แทน ข้อมูล cell ที่ไม่มีค่า"
-
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "ไฟล์ผลลัพธ์ แผนที่  z-file (ความสูง) "
 
 #~ msgid "Output aspect map (or fy)"
 #~ msgstr "ไฟล์ผลลัพธ์ แผนที่  aspect ( หรือ fy)"
 
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "แลต/ลอง projection ยังใช้ไม่ได้ในตอนนี้"
+
 #, fuzzy
 #~ msgid "Prefix for output raster map(s)"
 #~ msgstr "คำนำหน้า สำหรับ แผนที่เชิงภาพ ผลลัพธ์"
@@ -42626,14 +44000,24 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgid "Suppress warnings"
 #~ msgstr "หยุดการเตือน"
 
-#, fuzzy
-#~ msgid "High resolution panchromatic image"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
 #~ msgstr ""
-#~ "การแปลงแบบ Brovey เพื่อรวม  multispectral และ high-res panchromatic channels"
+#~ "นำเข้า US-NGA GEOnet Names Server (GNS)  country files ไปที่ "
+#~ "แผนที่เชิงเส้นแบบจุดของ GRASS"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Correlation"
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "ไฟล์ GNS ไม่ได้บีบอัด จาก NGA (ด้วยนามสกุล .txt)"
+
+#, fuzzy
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "ชื่อของแผนที่เชิงภาพ ที่ 1 ที่จะ บิดสี "
+
+#, fuzzy
+#~ msgid "Table file to be exported or DB connection string"
+#~ msgstr "ไฟล์ตารางที่จะนำเข้า หรือ การเชื่อมต่อ  DB"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -42656,6 +44040,146 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgstr "แผนที่เชิงภาพผลลัพธ์ (ค่าตั้งต้น: input tile)"
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr "คำนวน univariate statistics จาก non-null cells ของแผนที่เชิงภาพ"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "สีสำหรับวาดกริด, หรือ \"none\""
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "สีสำหรับวาดกริด, หรือ \"none\""
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "สีสำหรับ ข้อมูลที่ไม่ทราบ"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "สีสำหรับวาดกริด, หรือ \"none\""
+
+#, fuzzy
+#~ msgid "Create grid as lines, instead of areas"
+#~ msgstr "%s จะต้องรวมค่านั้นๆ แทนพื้นที่.\n"
+
+#~ msgid "Invalid distance"
+#~ msgstr "ระยะทาง ไม่ถูกต้อง"
+
+#~ msgid "Layer number"
+#~ msgstr "จำนวนชั้นข้อมูล"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "ตำแหน่ง: %s\n"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "แผนที่เชิงเส้น, networking"
+
+#, fuzzy
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "โปรดระบุ z Column"
+
+#, fuzzy
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "ค่า scalex ไม่ถูกต้อง"
+
+#, fuzzy
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "ใช้ \"-i\" หรือ \"value=\" จะต้องกำหนด"
+
+#, fuzzy
+#~ msgid "-p and output= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "โปรดระบุ z Column"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "โปรดระบุ z Column"
+
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "โปรดระบุ z Column"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "โปรดระบุ z Column"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "แสดง"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "ใช้ \"-i\" หรือ \"value=\" จะต้องกำหนด"
+
+#, fuzzy
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "High resolution panchromatic image"
+#~ msgstr ""
+#~ "การแปลงแบบ Brovey เพื่อรวม  multispectral และ high-res panchromatic channels"
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Correlation"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "ชื่อของแผนที่เชิงภาพ"
 
@@ -42671,24 +44195,138 @@ msgstr "ชั้นข้อมูล  %d"
 #~ msgid "No maps output"
 #~ msgstr "ไม่มีแผนที่ผลลัพธ์"
 
-#, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr "คำนวน univariate statistics จาก non-null cells ของแผนที่เชิงภาพ"
-
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "สีกรด สำหรับการวาด หรือ \"none\""
 
 #~ msgid "Gather the histogram quietly"
 #~ msgstr "จับกลุ่ม  histogram  แบบเงียบ"
 
+#~ msgid "Not enough memory for adx"
+#~ msgstr "หน่วยความจำไม่พอ สำหรับ adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "หน่วยความจำไม่พอ สำหรับ ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "หน่วยความจำไม่พอ สำหรับ adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "หน่วยความจำไม่พอ สำหรับ adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "หน่วยความจำไม่พอ สำหรับ adxy"
+
+#~ msgid "Cannot create quaddata"
+#~ msgstr "ไม่สามารถสร้าง Quaddata"
+
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "ไม่สามารถสร้าง Quadfunc"
+
+#~ msgid "Cannot create tree"
+#~ msgstr "ไม่สามารถสร้าง Tree"
+
+#~ msgid "Cannot create tree info"
+#~ msgstr "ไม่สามารถสร้าง Tree info"
+
 #, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "%s จะต้องรวมค่านั้นๆ แทนพื้นที่.\n"
+#~ msgid "Unable To create table: %s"
+#~ msgstr "ไม่สามารถสร้างตาราง: %s"
 
-#~ msgid "Invalid distance"
-#~ msgstr "ระยะทาง ไม่ถูกต้อง"
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "หน่วยความจำไม่พอ สำหรับ az"
 
-#~ msgid "Layer number"
-#~ msgstr "จำนวนชั้นข้อมูล"
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "weight= และ -c คือ mutually exclusive"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr ""
+#~ "ต้องระบุ 1 เงื่อนไข ของ \"-i\" or \"-r\" หรือ เงื่อนไข \"color\", \"rast\" or "
+#~ "\"rules\" !"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr ""
+#~ "ต้องระบุ 1 เงื่อนไข ของ \"-i\" or \"-r\" หรือ เงื่อนไข \"color\", \"rast\" or "
+#~ "\"rules\" !"
+
+#~ msgid "sites"
+#~ msgstr "sites"
+
+#, fuzzy
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "แปลงแผนที่เชิงภาพ ไปเป็น ชั้นข้อูลแผนที่เชิงเส้น"
+
+#, fuzzy
+#~ msgid "Site file <%s> not found"
+#~ msgstr "ไม่พบไฟล์ 3dview <%s>"
+
+#, fuzzy
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "การเดา รูปแบบ site ไฟล์ ล้มเหลว"
+
+#, fuzzy
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "ไม่สามารถ ระบุ row buffer ที่จะนำเข้า"
+
+#, fuzzy
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "ชื่อของ แผนที่เชิงเส้น จุด ที่จะนำเข้า"
+
+#, fuzzy
+#~ msgid "%d sites written."
+#~ msgstr "%d ข้อมูล เขียนแล้ว"
+
+#~ msgid "Performing 1 arg map function on map %s"
+#~ msgstr "การทำงานคำสั่งแผนที่ 1 ตัวแปร บน แผนที่   %s "
+
+#~ msgid "Performing 2 arg map function on maps %s and %s"
+#~ msgstr "การทำงานคำสั่งแผนที่ 2 ตัวแปร บน แผนที่   %s และ %s"
+
+#~ msgid "Performing map %s + %s"
+#~ msgstr "การทำงานคำสั่งแผนที่  %s + %s"
+
+#~ msgid "Can't call bad map-function"
+#~ msgstr "ไม่สามารถใช้คำสั่ง แผนที่ ที่ไม่ดี"
+
+#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
+#~ msgstr "ตัวแปรไม่ดี ที่จะใช้กับ mapfunc %s (argc = %d)"
+
+#~ msgid "No function defined to perform map %c map"
+#~ msgstr "ไม่มีคำสั่งกำหนด ที่จะทำงานแผนที่ %c แผนที่"
+
+#~ msgid "Can't call bad num-function"
+#~ msgstr "ไม่สามารถใช้ num-function ที่ไม่ดี"
+
+#~ msgid "Bad arguments to numfunc %s"
+#~ msgstr "ตัวแปรไม่ดี ที่จะใช้กับ  numfunc %s"
+
+#~ msgid "No function defined to perform ``number %c number''"
+#~ msgstr "ไม่มีคำสั่งกำหนด ที่จะทำงาน ``number %c number''"
+
+#~ msgid "No function defined to perform ``point %c point''"
+#~ msgstr "ไม่มีคำสั่งกำหนด ที่จะทำงาน ``point %c point''"
+
+#~ msgid "Can't call bad any-function"
+#~ msgstr "ไม่สามารถ เรียก คำสั่งที่ไม่ดี"
+
+#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
+#~ msgstr "ตัวแปรไม่ดี ใช้กับ คำสั่งใดๆ %s (argc = %d)"
+
+#~ msgid "Can't call bad function"
+#~ msgstr "ไม่สามารถใช้ คำสั่ง ที่ไม่ดี"
+
+#~ msgid "Bad arguments to pointfunc %s"
+#~ msgstr "ตัวแปรไม่ดี ที่จะใช้กับ pointfunc %s"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "ไม่สามารถอ่าน แผนที่เชิงเส้น"
+
+#~ msgid "Cache size (MiB)"
+#~ msgstr "ขนาด Cache (MiB)"
+
+#~ msgid "Unknown raster map type"
+#~ msgstr "ไม่ทราบชนิดของ แผนที่เชิงภาพ"
diff --git a/locale/po/grassmods_tr.po b/locale/po/grassmods_tr.po
index 7b8e8bf..9da8919 100644
--- a/locale/po/grassmods_tr.po
+++ b/locale/po/grassmods_tr.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_tr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2008-11-16 01:15+0200\n"
 "Last-Translator: Osman Yalçın YILMAZ <yilmazy at istanbul.edu.tr>\n"
 "Language-Team: Türkçe <grass-translations at lists.osgeo.org>\n"
@@ -24,10 +24,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -45,6 +45,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -73,12 +74,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -121,7 +123,7 @@ msgstr ""
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -129,14 +131,16 @@ msgid "Color file for <%s> not available"
 msgstr "<%s> için renk dosyası mevcut değil"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -155,7 +159,9 @@ msgstr "<%s> için renk dosyası mevcut değil"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -176,7 +182,7 @@ msgstr "<%s> için renk dosyası mevcut değil"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -188,7 +194,7 @@ msgstr "<%s> için renk dosyası mevcut değil"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -212,17 +218,17 @@ msgstr "<%s> için renk dosyası mevcut değil"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -233,7 +239,7 @@ msgstr "<%s> için renk dosyası mevcut değil"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -384,10 +390,13 @@ msgstr "Grafik ektanındaki aktif çerçevedeki raster harita için lejand göst
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "Girdi"
 
@@ -433,22 +442,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "Lejand için harita düzeni altkümesi kullan(min,max)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Metin rengi"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Ayarlar"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Yazıtipi adı"
 
@@ -462,11 +473,13 @@ msgstr "Simge boyutu"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "yazıtipi dosyası yolu"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -560,14 +573,20 @@ msgstr "Renk dizisi mevcut verinin üst limitini aşıyor"
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Hiçbirşey çizilemiyor! (etiketli kategori mi yok?) "
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -611,11 +630,11 @@ msgstr "Grafik Başlığı"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -694,23 +713,26 @@ msgstr "Görüntülenecek kategoriler listesi (tamsayı(INT) harita)"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -720,14 +742,19 @@ msgstr "Görüntülenecek kategoriler listesi (tamsayı(INT) harita)"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -777,49 +804,50 @@ msgstr "%s=%s -  uygun olmayan değer"
 msgid "[%s]: No such color"
 msgstr "[%s]:Böyle bir renk yok"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Aktif görüntü ekranı ile ilgili bilgi göster"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Ekran dörtgenini göste (sol, sağ, üst,alt)"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "Ekran boyutlarını göster (genişlik, yükseklik)"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "Aktif çerçeve dörtgenini göster"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Ekran boyutlarını göster (genişlik, yükseklik)"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "Geçerli bölnenin çerçeve dörtgenini göster"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -827,31 +855,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "%d katmanının veritabanı bağlantısı belirlenmedi"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -861,10 +890,10 @@ msgstr "%d katmanının veritabanı bağlantısı belirlenmedi"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -878,7 +907,7 @@ msgstr "%d katmanının veritabanı bağlantısı belirlenmedi"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "<%s> sürücüsüyle <%s> veritabanı açılamıyor"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -901,7 +930,7 @@ msgstr "Çizelge tipi"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr "Çizelge özellikleri"
 
@@ -941,7 +970,12 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "3B çıktı oluştur"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -949,20 +983,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -977,40 +1013,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "<%s> vektör haritası açılamıyor"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1035,10 +1071,6 @@ msgstr "Başlangıç ve bitiş koordinatları"
 msgid "Line color"
 msgstr "Çizgi rengi"
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr "Metin rengi veya \"hiçbiri\""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1096,12 +1128,15 @@ msgstr ""
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1120,17 +1155,18 @@ msgstr ""
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1143,10 +1179,10 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1154,21 +1190,22 @@ msgstr ""
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "vektör"
 
@@ -1213,16 +1250,18 @@ msgstr "<%s> vektör haritası bulunamadı"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1234,22 +1273,22 @@ msgstr "<%s> vektör haritası bulunamadı"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1304,10 +1343,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1359,39 +1398,39 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "<%s> için kullanılacak raster harita adı"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "vectör, dönüştürme"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr "Grafik ektanındaki aktif çerçevedeki raster harita için lejand göster"
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Grid rengi"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 msgid "Align grids with raster cells"
 msgstr ""
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "Metin rengini hücre ren değerinden al"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1400,7 +1439,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1408,7 +1447,7 @@ msgstr[0] "Grid rengi"
 msgstr[1] "Grid rengi"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1416,72 +1455,72 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Görüntülenecek raster bakı haritası adı"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Mevcut raster bakı haritası tipi"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Kuzey oku rengi"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Kuzey oku rengi"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Kuzey oku rengi"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Belirsiz bilgiyi gösterme rengi"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "Ok uzunluğunun değerlerini içeren raster harita"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "Ölçek faktörü için uygun olmayan değer"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr "Atlama faktörü için uygun olmayan değer"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr "Aralık değerleri dosyası okunamada sorun"
 
@@ -1612,17 +1651,17 @@ msgstr ""
 "Şebekeye olan uzaklık =%f, şebekeden olan uzaklık = %f\n"
 "\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1630,7 +1669,7 @@ msgstr "görüntü,şebeke"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1639,50 +1678,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Arc tipi"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "Arc katmanı"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1704,11 +1743,11 @@ msgstr ""
 msgid "Background color"
 msgstr "Arkaplan rengi"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1728,7 +1767,7 @@ msgstr "%s - uygun olmayan y değeri"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "Geçerli projeksiyon enlem-boylam değildir"
 
@@ -1753,7 +1792,7 @@ msgstr "görüntü, diyagram"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1761,7 +1800,7 @@ msgstr "görüntü, diyagram"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2118,7 +2157,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2136,15 +2175,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Coğrafi-grid seçeneği LL projeksiyonunda mümkün değildir"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "Geçerli proje için projeksiyon anahtar değerler elde edilemedi"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "Enlem/Boylam parametreleri ayarlanamadı"
@@ -2393,12 +2432,13 @@ msgstr "Geçersiz koordinatlar <%s,%s>"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2469,15 +2509,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "Geçerli mevkinin projeksiyon bilgisi alınamıyor"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "Geçerli mevkinin projeksiyon birimleri alınamadı"
 
@@ -2499,11 +2539,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "Vektör harita okunamıyor"
 
@@ -2701,7 +2742,7 @@ msgstr "Alan doldurma rengi"
 msgid "Colorize features according color definition column"
 msgstr "Renk tanım sütunu adı (-a bayrağı ile kullanmak için)"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Renk tanım sütunu belirlenemedi"
@@ -2990,41 +3031,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]:Böyle bir renk yok. '%s' kullan"
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "'%s' dosyası zaten mevcut ve üzerine yazılacak."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Geçerli bçölge güncellenemiyor"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Çıktı tipi"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "<%s> vektör haritası zaten mevcut"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "<%s> dosyası oluşturulamıyor"
+msgid "Starting monitor <%s>..."
+msgstr "<%s> vektör haritası yazılıyor ..."
 
-#: ../display/d.mon/start.c:163
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Aralık dosyası okunamıyor"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
 #, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+msgid "Unable to create file <%s>"
+msgstr "<%s> dosyası oluşturulamıyor"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3036,34 +3084,53 @@ msgstr "<%s> vektör haritası zaten mevcut"
 msgid "Monitor <%s> is not running"
 msgstr "<%s> dosyası bulunamadı"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "<%s> 3dpencere dosyası bulunamadı"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "<%s> dosyası oluşturulamıyor"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "Dosya bulunamadı: %s"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "'%s' OGR veri kaynağı açılamıyor"
+
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "<%s> dosyası açılamıyor."
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "<%s> dosyası oluşturulamıyor"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Nokta koordinatları listesi"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "<%s> sütunu nulunamıyor"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "<%s> dosyası açılamıyor"
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Aralık dosyası okunamıyor"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "%d çizgi veya sınır <%s@%s> vektör haritasında bulundu"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3075,8 +3142,8 @@ msgid "Name of monitor to start"
 msgstr "Çıktı betikleyicisinin adı"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3100,9 +3167,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3182,12 +3250,12 @@ msgid "List running monitors and exit"
 msgstr "Desteklenen biçimleri yaz ve çık"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3200,33 +3268,34 @@ msgstr "Desteklenen biçimleri yaz ve çık"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "Yazdır"
 
@@ -3240,59 +3309,77 @@ msgstr "Geçerli bağlantı parametrelerini yaz ve çık"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Girdi mevkisindeki raster haritaları listele ve çık"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "Geçerli bağlantı parametrelerini yaz ve çık"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Girdi mevkisindeki raster haritaları listele ve çık"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "renk okunamıyor"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr " vazgeçildi\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, fuzzy, c-format
 msgid "Monitor <%s> released"
 msgstr "< %s> Mevkisi oluşturuldu"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 #, fuzzy
 msgid "No monitor selected"
 msgstr "Hiç yazıtipi seçilmedi"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Ya harita takımı= veya -l kullanılmalı"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3343,7 +3430,7 @@ msgid "No map name given"
 msgstr "Hiç harita adı verilmedi"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "<%s> raster haritasının kategori dosyası okunamıyor"
@@ -3475,9 +3562,9 @@ msgstr "...başarıldı."
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "<%s> dosyası yazma için açılamıyor"
@@ -3526,9 +3613,9 @@ msgstr "Bağlantı"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "Biçim"
@@ -3542,11 +3629,11 @@ msgstr ""
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr ""
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "Çıktıda sütun adlarını içerme"
 
@@ -3554,7 +3641,7 @@ msgstr "Çıktıda sütun adlarını içerme"
 msgid "Describe query only (don't run it)"
 msgstr "Sadece sorguyu tanımlar( çalıştırmaz) "
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Düşey çıktı (yatay yerine)"
 
@@ -3587,7 +3674,7 @@ msgstr "Sadece sorguyu test eder, uygulamaz"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3619,7 +3706,7 @@ msgstr "veritabanı, YSD"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3631,7 +3718,7 @@ msgstr "vektör, öznitelik tablosu"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3768,8 +3855,8 @@ msgstr "Aralık dosyası okunamıyor"
 msgid "Unable to create index:"
 msgstr "İndeks oluşturulamıyor"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Bağlantı"
@@ -3843,7 +3930,7 @@ msgstr "Projeksiyon ayarlanamıyor"
 msgid "Unable to allocate handle."
 msgstr "Hafıza ayrılamıyor"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3880,7 +3967,7 @@ msgstr "Öznitelik seçilemiyor"
 msgid "Unable to select view names."
 msgstr "Öznitelik seçilemiyor"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3920,12 +4007,12 @@ msgstr "Hafıza almadı"
 msgid "No path given"
 msgstr "Hiç harita adı verilmedi"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Öznitelik seçilemiyor"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Tablodan veri seçilemiyor"
@@ -3973,29 +4060,29 @@ msgid "Taken not found"
 msgstr "bulunamadı"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "İndeks oluşturulamıyor"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "Yazıtipi boyutu ayarlanamıyor"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Öznitelik seçilemiyor"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "<%s> tablosu oluşturulamıyor"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "<%s> veritabanı açılamıyor"
@@ -4042,6 +4129,11 @@ msgstr ""
 "'%s' sütunu:  bool (boolean) türü char(1), değer: 0 (false), 1  (true) "
 "olarak depolandı"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Yazıtipi boyutu ayarlanamıyor"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "PostgreSQL için veritabanı tanımında bilinmeyen seçenek"
@@ -4129,7 +4221,8 @@ msgstr "<%s> harita takımı bulunamadı"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4211,22 +4304,22 @@ msgstr "'%s' OGR veri kaynağı açılamıyor"
 msgid "Unable to open database:"
 msgstr "<%s> veritabanı açılamıyor"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "genel, ayarlar"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "<%s> zaten mevcut"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Tablo oluşturulamıyor: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "<%s> harita takımı bulunamadı"
@@ -4241,6 +4334,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "SQLite sürücüsü: '%s' sütunu, SQLite %d türü desteklenmiyor"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "ascii dosyayı kapamada hata"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4488,10 +4586,10 @@ msgstr "Veritabanını siler."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4512,26 +4610,39 @@ msgstr "genel, ayarlar"
 msgid "Sets user/password for DB driver/database."
 msgstr "sürücü/veritabanı için kullanıcı adı/parola ayarlar"
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Projeksiyon ayarlanamıyor"
+msgid "Username"
+msgstr " vejetasyon indeksi adı"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Projeksiyon ayarlanamıyor"
+msgid "Password"
+msgstr "sınıf %-3d"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Sınama adı"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "Geçerli bağlantı parametrelerini yaz ve çık"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Kullanıcı adı/parola ayarlanamadı"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Parola dosyada saklandı"
@@ -4808,6 +4919,7 @@ msgstr "Alan\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4818,10 +4930,11 @@ msgstr "Alan\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "raster"
@@ -4893,19 +5006,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "<%s> dosyası açılamıyor."
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5177,7 +5277,7 @@ msgstr "<%s> latin hücre dosyası bulunamadı"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5843,7 +5943,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5856,12 +5956,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "genel"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -5970,7 +6071,17 @@ msgstr "%s=%s,%s: dosyaları aynı, kopyalamaya gerek yok"
 msgid "<%s> already exists"
 msgstr "<%s> zaten mevcut"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "<%s@%s> 3B raster haritası üstbilgisi okunamıyor"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "<%s> vektör haritası açılamıyor"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -5978,19 +6089,19 @@ msgstr "<%s> zaten mevcut"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr ""
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr ""
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -5998,139 +6109,112 @@ msgstr ""
 msgid "Pattern"
 msgstr "Raster"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr ""
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "Listelenecek harita takımı (varsayılan: geçerli arama yolu)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Harita takımı adı (varsayılan: geçerli)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Geçerli bölgeyi isimlendirilmiş bölgeden ayarla"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Çıktı dosya adı"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Girdiden %d nokta okundu"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "Veri tipini yazdır"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr ""
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:187
-#, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "<%s> açılamıyor."
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "<%s> grubu yok"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "<%s@%s> 3B raster haritası üstbilgisi okunamıyor"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "<%s> vektör haritası açılamıyor"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "Enlem/Boylam parametreleri güncellenemedi"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr ""
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr "Zaten enlem/boylam dasınız. Onun yerine -p bayrağını kullanın."
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6360,9 +6444,9 @@ msgstr "<%s> bölgesi bulunamadı "
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "<%s> 3B raster haritası bulunamadı"
@@ -6385,7 +6469,7 @@ msgstr "Geçerli bçölge güncellenemiyor"
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Geçersiz girdi <%s=%s>"
@@ -6672,38 +6756,38 @@ msgstr "Kabuk betiği stilinde yazdır"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6842,7 +6926,7 @@ msgstr "Araştırma listesinden silinecek mevcut harita takım(lar)ının ad(lar
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "Yapılacak işlem"
@@ -7289,7 +7373,7 @@ msgstr "<%s> girdi dosyası açılamıyor"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7497,38 +7581,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "<%s> sütunu nulunamıyor"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "İçeri aktarılacak raster dosya"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7742,8 +7847,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 #, fuzzy
 msgid "Modify"
 msgstr "çeşitli"
@@ -7781,9 +7886,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "< %s> Mevkisi oluşturuldu"
@@ -7933,10 +8038,12 @@ msgstr "Raster harita katmanı hakkındaki temel bilgiyi çıkart"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -7952,10 +8059,14 @@ msgstr "Raster harita katmanı hakkındaki temel bilgiyi çıkart"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -7989,10 +8100,12 @@ msgstr "vektör, topoloji"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8008,10 +8121,14 @@ msgstr "vektör, topoloji"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8117,8 +8234,8 @@ msgstr "aktif görüntü çerçevesi içeriğini kullanıcı tanımlı renk ile
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "İçe aktar"
@@ -8162,7 +8279,7 @@ msgstr ""
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8191,15 +8308,16 @@ msgstr "görüntü"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "İçe aktar"
@@ -8260,7 +8378,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "Raster haritanın adı"
+msgstr "İkinci raster haritanın adı"
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8347,7 +8465,7 @@ msgstr "Yeni şema"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "3B raster haritalarını 2D raster haritalara dönüştür"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8357,6 +8475,106 @@ msgstr ""
 msgid "inputs"
 msgstr "Girdi"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "3B raster haritalarını 2D raster haritalara dönüştür"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+msgid "algebra"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "girdi mevkisindeki vektör haritaları listele ve çık"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Girdi 3B raster haritanın adı"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Belirlenecek sınıf sayısı"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "raster girdi haritalar"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8409,20 +8627,12 @@ msgid ""
 "datasets."
 msgstr "girdi mevkisindeki vektör haritaları listele ve çık"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-msgid "algebra"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8431,11 +8641,13 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8443,54 +8655,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Girdi 3B raster haritanın adı"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Belirlenecek sınıf sayısı"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "raster girdi haritalar"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8505,7 +8676,8 @@ msgstr "Raster bakı haritasının adı"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "vektör, dışa aktar"
@@ -8737,7 +8909,7 @@ msgstr "raster, yükselti, enterpolasyon"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Kullanılacak enterpolasyon metodu"
 
@@ -8854,6 +9026,49 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr "Sütun adı"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Virgül ile ayrılmış değerler listesi"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Sonuç dokularını içeren dosya"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Boş veritabanı oluşturur."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Belirlenecek sınıf sayısı"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Çıktı eğim raster haritası"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9076,7 +9291,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9319,6 +9534,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9388,10 +9604,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Mevki sınırlarını yeni verinin sınırlarına göre genişlet "
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Projeksiyonun üstüne yaz (mevkinin projeksiyonunu kullan)"
@@ -9400,7 +9620,8 @@ msgstr "Projeksiyonun üstüne yaz (mevkinin projeksiyonunu kullan)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "Geçerli mevkinin projeksiyon birimleri alınamadı"
@@ -9418,21 +9639,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr ""
 
@@ -9454,21 +9675,21 @@ msgid "Name for output raster map"
 msgstr "Çıktı raster haritasının adı"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "Raster değerler için kullanılacak istatistikler"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Sonuç harita depolama türü"
@@ -9509,17 +9730,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "z koordinatı için ölçek faktörü"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Hafızada tutulacak harita oranı"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9621,8 +9842,8 @@ msgid "Remove existing color table"
 msgstr "Mevcut renk tablosunu uzaklaştır"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9667,17 +9888,18 @@ msgid ""
 msgstr "OGR vektör katmanını GRASS vektör haritasına dönüştürür."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "İçeri aktarılacak raster dosya"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr "OGR katman adı. Eğer hiç verilmezse, tüm olası katmanlar içe aktarılır"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Çıktı raster harita adı (varsayılan: input)"
@@ -9698,6 +9920,11 @@ msgstr "Çıktı raster harita adı (varsayılan: input)"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9720,10 +9947,15 @@ msgstr "Çıktı raster harita adı (varsayılan: input)"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "Çıktı:"
@@ -9734,29 +9966,30 @@ msgid "Output vector map extent"
 msgstr "Sorunlu alanların vektör çıktı haritası"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Geçerli bölgeyi girdi haritaya göre uyarla"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "'%s' ASCII dosyasını okumada hata"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Sınırlar için yapışma eşiği"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9772,17 +10005,66 @@ msgid "-1 to list available datum transform parameters"
 msgstr "Dönüştürme parametrelerini içeren tablonun adı"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Desteklenen biçimleri yaz ve çık"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Veri kaynağındaki olası katmanları listele ve çık"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "Geçerli mevkinin projeksiyon birimleri alınamadı"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Ölçek çubuğunu grafik ekranında gösterir."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Eğer yoksa yeni harita takımı oluştur"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Tüm çerçeveyi uzaklaştır ve ekranı sil"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "Geçerli harita takımı arama yolunu yaz"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "Geçerli bağlantı parametrelerini yaz ve çık"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -9940,7 +10222,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -9949,7 +10231,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -9959,7 +10241,7 @@ msgid "geometry"
 msgstr "vektör, geometri"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10014,7 +10296,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Enterpolasyon nokta sayısı"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10039,15 +10325,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Seçilecek band (varsayılan tüm bandlardır)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10106,12 +10392,12 @@ msgid "Optional"
 msgstr "Uygun olmayan çıktı dosya adı <%s>"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Coğrafi koordinat olarak ekran konumu"
@@ -10207,7 +10493,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10220,7 +10506,7 @@ msgid "Radius of buffer in raster cells"
 msgstr ""
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Metrik"
 
@@ -10250,14 +10536,14 @@ msgstr "Raster harita katmanlarının alansal istatistiklerini oluştur"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Raster harita istatistiklerini güncelle"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10322,6 +10608,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10329,7 +10626,8 @@ msgid ""
 msgstr "girdi mevkisindeki vektör haritaları listele ve çık"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Çözünürlük"
@@ -10371,6 +10669,63 @@ msgstr "[%d] nokta kategorisi okundu"
 msgid "Name of table to drop"
 msgstr "'sorgu' seçeneği için kullanılacak öznitelik sütunu adı"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Raster harita katmanından belirlenen eşyükselti eğrileri vektör harita "
+"katmanı üret."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Zıtlık"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Eşyükselti eğrileri aralığı"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Eşyükselti eğrileri listesi"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "En küçük eşyükselti eğrisi"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "En büyük eşyükselti eğrisi"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "raster girdi haritalar"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Öznitelik tablosu oluşturmayın"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10394,6 +10749,20 @@ msgstr "Tablo biçimi"
 msgid "Name for output table (default: input name)"
 msgstr "Çıktı raster harita adı (varsayılan: input)"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "3B raster haritalarını 2D raster haritalara dönüştür"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "girdi mevkisindeki vektör haritaları listele ve çık"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10538,6 +10907,61 @@ msgstr "Yeni öznitelik tablosu adı (varsayılan: vektör harita adı)"
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "girdi mevkisindeki vektör haritaları listele ve çık"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "3B raster haritalarını 2D raster haritalara dönüştür"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Obje tipi"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Etiket için kullanılacak öznitelik sütunu adı"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "Alan objelerinin köşelerini düzgünleştir"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "z koordinatı için kayıklık değeri"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Topoloji oluşturma"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10548,6 +10972,7 @@ msgid "Vector map to which to join other table"
 msgstr "Diğer tabloya bağlanacak vektör harita"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10556,6 +10981,7 @@ msgid "Layer where to join"
 msgstr "Bağlanacak katman"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "Sütunlar"
@@ -10636,7 +11062,6 @@ msgstr "Çıktı raster harita adı (varsayılan: input)"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -10939,6 +11364,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -11230,13 +11659,6 @@ msgstr "Raster bakı haritasının adı"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Belirlenecek sınıf sayısı"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -11248,23 +11670,32 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "Öznitelik tablosu düzenlenecek nokta vektör haritasının adı"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Sorgu sonucuyla güncellenecek sütun"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Düzenlenecek vektör haritanın adı"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "Sütunlar"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Etiket için kullanılacak öznitelik sütunu adı"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 msgid "Maximum query distance in map units"
 msgstr "Harita birimlerine göre en büyük sorgu mesafesi"
 
@@ -11302,78 +11733,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Oluşturulacak yeni mevkinin adı"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Kullanılabilir kuralları listele ve çık"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Kullanılabilir kuralları listele ve çık"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Kullanılabilir kuralları listele ve çık"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "gösterim"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "Kullanıcı tabloları yerine sistem tabloları"
@@ -11394,20 +11841,26 @@ msgid "Description of the space time dataset"
 msgstr "Yeni veritabanı adı"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Yeni veritabanı adı"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11426,10 +11879,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "vektör, dışa aktar"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "Kabuk betiği stilinde yazdır"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Çıktı biçimi"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11549,8 +12038,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Çıktı dosya adı"
+msgid "Name for output image (or text file for -t)"
+msgstr "Çıktı dosya adı (uzantısını eklemeyin)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11567,6 +12056,11 @@ msgstr "xyz koordinatları yerine harita koordinatlarını kullan"
 msgid "Use gnuplot for display"
 msgstr "Görüntülenecek metin"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Çıktı TIFF koordinat dosyası"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 msgid ""
 "Performs different aggregation algorithms from r.series on all or a subset "
@@ -11580,11 +12074,6 @@ msgstr ""
 msgid "series"
 msgstr "raster, seriler"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Boş veritabanı oluşturur."
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11682,6 +12171,7 @@ msgstr "Raster değer"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11697,10 +12187,15 @@ msgstr "ID değerleri"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "Raster değer"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Çıktı bakı raster haritasının adı"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11782,10 +12277,6 @@ msgid ""
 "space time raster datasets."
 msgstr "girdi mevkisindeki vektör haritaları listele ve çık"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11803,7 +12294,7 @@ msgstr "<%s> raster haritası açılamıyor"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12318,7 +12809,7 @@ msgid "radiance"
 msgstr "Varyans"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12349,8 +12840,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12558,8 +13050,8 @@ msgstr "<%s> raster haritasının kayar nokta aralığı okunamıyor"
 msgid "Calculating..."
 msgstr "Haritalar hesaplanıyor ..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14624,21 +15116,21 @@ msgstr "<%s> bölgesi bulunamadı "
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "<%s> harita takımı <%s> hedef mevkisinde - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "erişim engellendi"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "bulunamadı"
@@ -14735,7 +15227,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14865,7 +15357,7 @@ msgid "Name of target mapset"
 msgstr "Hedef harita takımının adı"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15291,56 +15783,61 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "Girdi hatalı"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Kırmızı kanal yüzey yansıtma haritası adı"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 #, fuzzy
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr "Aster (6 girdi bandı:1,3,5,6,8,9)"
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 #, fuzzy
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr "Aster (6 girdi bandı:1,3,5,6,8,9)"
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 #, fuzzy
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr "Aster (6 girdi bandı:1,3,5,6,8,9)"
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+#, fuzzy
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr "Aster (6 girdi bandı:1,3,5,6,8,9)"
+
+#: ../imagery/i.albedo/main.c:127
 #, fuzzy
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr "Aster (6 girdi bandı:1,3,5,6,8,9)"
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 msgid "At least two raster maps are required"
 msgstr "En azından iki raster harita gereklidir"
 
@@ -15521,7 +16018,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -15946,7 +16443,7 @@ msgstr "İlk raster modülüm"
 msgid "My first vector module"
 msgstr "İlk vektör modülüm"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr "Önceden belirlenen vektör açma katmanı ayarlanamıyor"
 
@@ -16085,11 +16582,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16783,45 +17281,45 @@ msgstr "Satırlar değişti"
 msgid "Cols changed"
 msgstr "Sütunlar değişti"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "Görüntü indeksi"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
 msgstr ""
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr ""
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Sonuç raster haritanın adı"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr ""
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "Girdi haritaları en küçük sayısı ikidir"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "Tamamlanan yüzde..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "<%s> için destek dosyaları oluşturuluyor"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -16842,7 +17340,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Yeniden projeksiyonlanacak girdi raster harita adı"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Sonuç haritanın başlığı"
@@ -16850,7 +17348,7 @@ msgstr "Sonuç haritanın başlığı"
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Obje tipi"
+msgstr "Çıktı raster harita başlığı"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17257,8 +17755,8 @@ msgstr "Herhangi bir raster veya nokta dosyası çıkartmıyorsunuz"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Yeni satır girilemiyor: %s"
@@ -17327,54 +17825,17 @@ msgstr "raster, yükselti"
 msgid "Converts a raster map into a vector map."
 msgstr "Raster haritayı vektör haritaya dönüştür"
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Obje tipi"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Etiket için kullanılacak öznitelik sütunu adı"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "Alan objelerinin köşelerini düzgünleştir"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Öznitelikler"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "z koordinatı için kayıklık değeri"
-
-#: ../raster/r.to.vect/main.c:105
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Topoloji oluşturma"
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -17403,23 +17864,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "Tablo oluşturulamıyor: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "<%s> tablosu üzerindeki yetkiler onaylanmadı"
@@ -17460,191 +17923,191 @@ msgstr "Projeksiyon ayarlanamıyor"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Hafıza ayrılıyor ve girdi harita okunuyor..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Verilen konumdaki vektör haritayı sorgular."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Girdi vektör haritasının mevkisi"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Kaynak tarihi:     %s"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Girdi vektör haritasının harita takımı"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "Geçerli çerçevenin adını yazdır"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "Yeniden projeksiyonlanacak girdi raster harita adı"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr ""
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Çıktı raster harita adı (varsayılan: input)"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "Kır"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Çıktı haritanın çözünürlüğü"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Girdi mevkisindeki raster haritaları listele ve çık"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Girdi mevkisindeki raster haritaları listele ve çık"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "Girdi mevkisindeki raster haritaları listele ve çık"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 msgid "Input and output locations are the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr "Çıktı raster haritasının projeksiyon bilgisi alınamıyor"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr "Çıktı raster haritasının projeksiyon birimleri alınamıyor"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr "Çıktı raster haritasının projeksiyon anahtar değerleri alınamıyor"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "<%s> - %s girdi mevkisindeki <%s> harita takımı"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "<%s> mevkisi <%s> harita takımı kontrol ediliyor"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "İstenen <%s> parametresi ayarlanamadı"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "<%s> mevkisi <%s>harita takımındaki <%s> raster haritası bulunamadı"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr "Girdi haritanın projeksiyon bilgisi alınamıyor"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "Girdi haritanın projeksiyon birimleri alınamıyor"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr "Girdi haritanın projeksiyon anahtar değerleri alınamıyor"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "Projeksiyonsuz veri (xy konumu) ile çalışılamıyor"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "<%s> - %s girdi mevkisindeki <%s> harita takımı"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Girdi:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Sütun: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Satır: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Kuzey: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Güney: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Batı: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Doğu: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "DB çözünürlüğü: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "KG çözünürlüğü: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Çıktı:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Projeksiyonlandırılıyor..."
 
@@ -17687,7 +18150,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17700,7 +18163,7 @@ msgstr "raster, arazi analizleri"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17715,7 +18178,7 @@ msgstr "Görüntü indeksi"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -17860,7 +18323,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
 
@@ -18240,21 +18703,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Harita merkezi koordinatlarını kullan\n"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "<%s> raster haritası yazılıyor"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Geçersiz harita <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Harita merkezi koordinatlarını kullan\n"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "<%s> raster haritası yazılıyor"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Harita merkezi koordinatlarını kullan\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "<%s> raster haritası yazılıyor"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18612,7 +19115,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Mevki: %s\n"
@@ -19412,7 +19915,7 @@ msgstr "Girdide negatif yükselti değerleri "
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Raster harita katmanlarının alansal istatistiklerini oluştur"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -19595,44 +20098,45 @@ msgstr "Raster harita istatistiklerini güncelle"
 msgid "Statistics for <%s> updated"
 msgstr "<%s>'nin istatistikleri güncellendi"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr ""
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr ""
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "Mevki: PROJ_INFO:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "Veri takımı PROJ_INFO su:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "İçe aktarılacak veri takımı PROJ_INFO su:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19640,15 +20144,15 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr "Girdi veri takımı ve geçerli mevkinin projeksiyonu eşleşiyor"
 
@@ -19711,8 +20215,8 @@ msgstr "%s için destek dosyaları oluşturuluyor"
 msgid "Link to raster map <%s> created."
 msgstr "<%s> raster haritası zaten mevcut"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -19732,14 +20236,14 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr "Projeksiyon bilgisi güncellendi!"
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "Geçerli harita takımını değiştir."
@@ -19769,21 +20273,21 @@ msgstr "dosya-olmayan GDAL veri kaynağı adı"
 msgid "Band to select (default is all bands)"
 msgstr "Seçilecek band (varsayılan tüm bandlardır)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Desteklenen biçimleri yaz ve çık"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Mevki sınırlarını yeni verinin sınırlarına göre genişlet "
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -19795,13 +20299,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Veri kaynağındaki olası katmanları listele ve çık"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Ya harita takımı= veya -l kullanılmalı"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -19810,31 +20323,31 @@ msgstr "Ya harita takımı= veya -l kullanılmalı"
 msgid "%s= and %s= are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr ""
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "<%s> raster haritası zaten mevcut ve üzerine yazılacak"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "%s haritası okunuyor ..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Seçilen (%d) bandı yok"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "<%s> raster haritası zaten mevcut"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Girdi nokta sayısı: %d."
@@ -20017,14 +20530,15 @@ msgstr "Çıktı eğim raster haritasının adı"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20314,6 +20828,12 @@ msgstr "Ya harita takımı= veya -l kullanılmalı"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "< %s> Mevkisi oluşturuldu"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20386,8 +20906,8 @@ msgid "Importing band %d..."
 msgstr "Noktalar içe aktarılıyor..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20504,7 +21024,7 @@ msgstr "%s = %s -- sıfırdan büyük olmalıdır"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "%s açılamıyor"
@@ -21526,7 +22046,8 @@ msgstr "sınıf %-3d"
 msgid "Unable to write to temp file"
 msgstr "Geçici dosya oluşturulamıyor"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "noktalar oluşturuluyor..."
@@ -21570,7 +22091,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "Kabuk betiği stilinde yazdır"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22155,23 +22676,23 @@ msgid "unable to open output file"
 msgstr "Çıktı dosyası açılamıyor "
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22179,8 +22700,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22288,27 +22809,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22321,19 +22842,27 @@ msgstr "BÖLÜM %d başlıyor: Harita kapanıyor."
 msgid "Closing accumulation map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+msgid "Closing TCI and SPI maps"
+msgstr ""
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 msgid "Closing TCI map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+msgid "Closing SPI map"
+msgstr ""
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 msgid "Closing flow direction map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 msgid "Closing LS map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 msgid "Closing SL map"
 msgstr ""
 
@@ -22357,219 +22886,224 @@ msgstr ""
 msgid "Closing half basins map"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Girdi"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Girdi raster haritası adı"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Girdi yükselti raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Girdi raster harita(lar) adı"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Yükselti yüzeyini içeren raster haritanın adı"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "İçe aktarılacak en küçük alan boyutu (kare biriminde)"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "Harita birimlerine göre en büyük sorgu mesafesi"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Çıktı bakı raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Çıktı kopya sayısı"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Çıktı bakı raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Çıktı topoğrafik indeks haritası"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Çıktı bakı raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Çıktı bakı raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Çıktı bakı raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Çıktı bakı raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 msgid "Each half-basin is given a unique value"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Çıktı eğim raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Çıktı eğim raster haritasının adı"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 msgid "Slope steepness (S) factor for USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "z değerleri için dönüşüm faktörü"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Sadece yatay ve düşey su akışı olanaklıdır"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "Üzgünüm, bir çıktı haritası seçmelisiniz."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s = %s -- pozitif sayı olmalıdır"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Enlem/Boylam mevki desteklenmiyor"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -22736,21 +23270,21 @@ msgstr "kuzey=%f"
 msgid "Could not read maximum distance. Aborting."
 msgstr "Aralık değerleri dosyası okunamadı"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "<%s> raster haritasının kayar nokta aralığı okunamıyor"
@@ -22945,7 +23479,7 @@ msgstr "Çıktı TIFF koordinat dosyası"
 msgid "Converting <%s>..."
 msgstr "Dönüştürülüyor %s ..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "<%s> raster tipi uyumsuz"
@@ -23020,7 +23554,7 @@ msgid ""
 msgstr "Raster harita katmanlarının alansal istatistiklerini oluştur"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23033,11 +23567,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "<%s> raster haritası açılamıyor"
@@ -23050,59 +23587,84 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr "Kaynak noktası geçerli bölge dışındadır"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr ""
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "Ya harita takımı= veya -l kullanılmalı"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "Raster harita katmanını ASCII metin dosyasına dönüştür"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Çıktı katmanı adı"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Çıktı raster haritasının adı"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Harita birimlerinde noktalar arasındaki en büyük uzaklık"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Eşik değeri içindeki tüm objelere  uzaklığı hesapla"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Bilinmeyen seçim '%s'"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Harita birimlerinde noktalar arasındaki en büyük uzaklık"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "<%s> geçici dosyası oluşturulamıyor"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23113,130 +23675,135 @@ msgstr "<%s> geçici dosyası oluşturulamıyor"
 msgid "Reading raster map <%s>..."
 msgstr "<%s raster haritası okunuyor..."
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Çıktı %s raster haritası yazılıyor... "
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "<%s@%s> raster haritasının renk dosyası okunamıyor"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "vektör, değişim verisi"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "Girdi raster haritanın harita takımı"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "Boş değer dosyası düzenlenecek raster harita "
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "BOŞ değer olarak atanacak hücre değerleri listesi"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr ""
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "<%s> raster haritasıgeçerli harita takımında bulunamadı"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "Boş değer için uygun olmayan değer "
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "<%s> raster haritası zaten mevcut ve üzerine yazılacak"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "Arazi raster haritası (DEM)"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "Arazi raster haritası (DEM)"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "Nokta raster haritası başlatılıyor"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "[%s] için yeni boş değer dosyası yazılıyor..."
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "<%s> raster haritası bulunamadı"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "[%s] in boş değer dosyası siliniyor...\n"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s=%s -  uygun olmayan değer"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr ""
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "<%s> raster haritası yazılıyor..."
@@ -23285,7 +23852,7 @@ msgstr "Bilinmeyen tip: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "<%s@%s> raster haritası kapatılamıyor"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "Çıktı raster haritası kapatılamıyor"
 
@@ -23406,20 +23973,25 @@ msgstr "Bilinen fonksiyonlar:"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Çıktı harita yazılıyor"
+
+#: ../raster/r.mapcalc/main.c:167
 #, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 msgid "parse error"
 msgstr "ayrıştırma hatası"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr "Hesaplamada kayar nokta hata(ları)sı oluştu"
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr "Hesaplamada taşma oluştu"
 
@@ -23428,219 +24000,235 @@ msgstr "Hesaplamada taşma oluştu"
 msgid "Known functions:"
 msgstr "Bilinen fonksiyonlar:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "İkili raster dosyasını GRASS raster harita katmanına dönüştür."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "İçeri aktarılacak raster dosya"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Seçilecek band (varsayılan tüm bandlardır)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Görüntü hedef mevkisi adı"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr "Projeksiyon bilgisi okunacak coğrafi referanslı dosya adı"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Girdi raster yükselti haritası adı [metre]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "oluşturulacak yeni mevki adı"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Öznitelik tablosu oluşturmayın"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Projeksiyonun üstüne yaz (mevkinin projeksiyonunu kullan)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "Geçerli bağlantı parametrelerini yaz ve çık"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "Tabloları yaz ve çık"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "Alt ve üst haritayı belirlemelisiniz"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "<%s> veri kaynağı açılamıyor"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "<%s> raster haritası zaten mevcut"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Mevki oluşturulamıyor: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "<%s> girdi raster haritası okunuyor..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Doku dosyası açılamıyor"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Raster bandı alınamıyor"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "nokta dosyasındaki %d YKN <%s> için kopyalanıyor"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "YKN tablosu yeniden projeksiyonlandırılıyor:"
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr "Hedef mevkinin projeksiyon bilgisi alınamıyor"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "Hedef mevkinin projeksiyon birimleri alınamadı"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr "Hedef mevkinin projeksiyon anahtar değerler elde edilemedi"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "<%s> raster haritası yazılıyor..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "<%s> için gri renk tablosu ayarlanıyor (8 bit, tam aralık)"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "<%s> için gri renk tablosu ayarlanıyor (16 bit, tam aralık)"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "<%s> dosyası açılamıyor"
@@ -23871,7 +24459,7 @@ msgstr "<%s> vektör haritası yazılıyor ..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24217,30 +24805,35 @@ msgstr ""
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "<%s> raster haritasının kayar nokta aralığı okunamıyor"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "'katman' >=0 olmalı"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "<%s raster haritası okunuyor..."
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Bağlantı"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr ""
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Yüklenecek en büyük sütun sayısı"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -24672,33 +25265,33 @@ msgstr "Raster harita katmanındaki kategori değerlerini yeniden ölçekler"
 msgid "Maximal number of iterations"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%d çizgisinin sınır kutusu alınamıyor"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "Sınırlandırma kutusu:  l = %d, r = %d, t = %d, b = %d"
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "%d resim hücresi silindi"
 msgstr[1] "%d resim hücresi silindi"
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "İnceltme başarıyla tamamlandı."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -25746,156 +26339,228 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'katman' >=0 olmalı"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "Veri taranıyor..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Aralık:     en küçük          en büyük\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Geçici dosya oluşturulamıyor"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr "ASCII poligon/çizgi/nokta veri dosyalarından raster harita oluşturur."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Girdi dosya"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Yeniden kodlama kurallarını içeren dosya"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "Hiç veri noktası bulunamadı"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "z koordinatı için kayıklık değeri"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "vectör, dönüştürme"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "z verisi süzme aralığı (en küçük, en büyük)"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Çıktı raster harita başlığı"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Tamsayı değerler içeri aktarıldı"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Tamsayı değerler içeri aktarıldı"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Desteklenen biçimleri yaz ve çık"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
-msgstr "Veri takımı projeksiyonu üzerine yaz (mevkinin projeksiyonunu kullan)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "Bölgeyi bu raster haritanınkiyle eş olacak şekilde ayarla"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
-#, fuzzy, c-format
-msgid "Input file <%s> does not exist"
-msgstr "<%s> grubu yok"
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:288
 #, c-format
-msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgid "Flag %c makes sense only with %s option or -%c flag"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
+#: ../raster/r.in.lidar/main.c:298
 #, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Bilinmeyen kural seçeneği: '%s'"
+msgid "File <%s> does not exist"
+msgstr "<%s> grubu yok"
 
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
-msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "GRASS MEVKİSİ PROJ_INFO su:\n"
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
+#, fuzzy, c-format
+msgid "Input file <%s> does not exist"
+msgstr "<%s> grubu yok"
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
+#, c-format
+msgid "Input file <%s> is not a LAS LiDAR point cloud"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Bilinmeyen kural seçeneği: '%s'"
+
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "Geçersiz doğu"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "< %s> Mevkisi oluşturuldu"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "Veri okunuyor..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "<%s> çıktı dosyası açılamadı"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "Haritaya yazılıyor ..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "Bölgede %lu nokta bulundu"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "Veri taranıyor..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Aralık:     en küçük          en büyük\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr " [%s] dosyasını okunama için açmada hata"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "GRASS MEVKİSİ PROJ_INFO su:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26122,12 +26787,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "Üstbilgi Dosyası = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "<%s> dosyası oluşturulamıyor"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -26942,6 +27601,13 @@ msgstr ""
 msgid "Invalid vrange"
 msgstr "Geçersiz doğu"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -26994,6 +27660,11 @@ msgstr "<%d> sütununda ayrıştırılamayan enlem değeri: '%s'"
 msgid "Writing to output raster map..."
 msgstr "Çıktı %s raster haritası yazılıyor... "
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "Bölgede %lu nokta bulundu"
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr ""
@@ -27347,27 +28018,27 @@ msgstr "Boş dosya oluştur/sıfırla"
 msgid "Delete the null file"
 msgstr "Boş dosyayı sil"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr " [%s] için kategori tablosu %s na ayarlandı"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s], başka bir haritanın yeniden sınıflandırmasıdır. Çıkılıyor."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "[%s] için yeni boş değer dosyası yazılıyor..."
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "[%s] in boş değer dosyası siliniyor...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Yapıldı."
 
@@ -27405,32 +28076,12 @@ msgstr ""
 "Raster harita katmanından belirlenen eşyükselti eğrileri vektör harita "
 "katmanı üret."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Eşyükselti eğrileri aralığı"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Eşyükselti eğrileri listesi"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Eşyükselti eğrileri listesi"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "En küçük eşyükselti eğrisi"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "En büyük eşyükselti eğrisi"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr ""
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -27441,29 +28092,31 @@ msgstr "Ya 'kural' veya 'sütun' belirlenmeli"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Tablo oluşturulamıyor: '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr ""
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "Öznitelikler yazılıyor..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Yeni kayıt girilemiyor: '%s'"
@@ -28279,11 +28932,6 @@ msgstr "Girdi vektör nokta haritasının adı"
 msgid "Size of point cache"
 msgstr ""
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Çıktı eğim raster haritası"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -28588,7 +29236,8 @@ msgstr "Sütun tipi desteklenmiyor (karakter olmalıdır)"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "Tablodan veri seçilemiyor"
 
@@ -29212,11 +29861,11 @@ msgstr "Kabuk betiği stilinde yazdır"
 msgid "3D Raster map <%s> not found"
 msgstr "<%s> 3B raster haritası bulunamadı"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Geçmiş dosyası okunurken hata"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -29407,6 +30056,39 @@ msgstr ""
 msgid "Update range"
 msgstr "çıktı veri aralığı"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Varyans"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+"Kırmızı, yeşil ve mavi harita katmanlarını tek bir karma raster harita "
+"katmanına birleştirir"
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Çıktı raster haritasının adı"
+
+#: ../raster3d/r3.gradient/main.c:63
+msgid "Size of blocks"
+msgstr ""
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Hafıza ayrılamıyor"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Yeni raster harita yazılıyor..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -29565,6 +30247,148 @@ msgstr ""
 msgid "Timestamp format is invalid"
 msgstr "bilinmeyen zaman formatı"
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "3d raster haritası kapatılamıyor"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "<%s> vektör haritası bulunamadı"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Haritalar hesaplanıyor ..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "Öznitelik tablosu düzenlenecek nokta vektör haritasının adı"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Düzenlenecek vektör haritanın adı"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Çıktı bakı raster haritasının adı"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Maske için raster harita(lar) adı"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "uzunluk %f\n"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "İterasyon sayısı"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "Varsayılan sürücü ayarlanmadı"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "raster, yükselti, enterpolasyon"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Hiç veri haritası belirlenmedi"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "Varsayılan veritabanı ayarlanamadı"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "En büyük iterasyon sayısı"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "En büyük iterasyon sayısı"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "Yeni bölgedeki sütun sayısı"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "<%s> tablosu tanımlanamıyor"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "<%s> vektör haritası 3B değil"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Veri satırlarını okumada hata"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "İstatistikler hesaplanıyor..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30074,6 +30898,60 @@ msgstr "Hata vektör haritası için topoloji kuruluyor..."
 msgid "Failed to find intersection segment"
 msgstr "Başlangıç dokularını içeren dosya"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Tabloya veri girilemiyor: %s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "<%s> vektör haritası açılamıyor"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "<%s>  tablosu <%s> veritabanında yok"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "<%s> raster haritası zaten mevcut ve üzerine yazılacak"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "<%s> raster haritası zaten mevcut ve üzerine yazılacak"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "<%s> vektör haritası oluşturulamıyor"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "<%s> sürücüsüyle <%s> veritabanı açılamıyor"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "<%s> tablosu oluşturulamıyor"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "<%s> vektör haritasına öznitelik tablosu kopyalanamıyor"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "<%s> tablosu oluşturulamıyor"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30103,7 +30981,7 @@ msgstr "Girdi vektör haritasının adı"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30116,8 +30994,8 @@ msgstr "Girdi vektör nokta haritasının adı"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30145,81 +31023,121 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Tablo yok"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Girdi dosyası adı"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr ""
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "Yeni noktalara benzersiz kategoriler ekle"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr ""
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Nokta vektör haritasını durdur"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Çizgi katman"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "Bilinmeyen işlem"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "Eşik değeri >=0 olmalı"
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Varyans"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr ""
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d yeni nokta çıktı haritaya yazılıyor"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "[%d] çizgi okundu ve çıktıya yazıldı"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "Öznitelik kopyala"
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -30240,8 +31158,9 @@ msgstr "Bölgede %lu nokta bulundu"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "Noktalar"
@@ -30273,9 +31192,9 @@ msgstr "y  koordinatı içeren sütun adı"
 msgid "Name of column containing z coordinate"
 msgstr "z koordinatı içeren sütun adı"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "çıktı"
@@ -30475,13 +31394,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "<%s> vektör haritası zaten mevcut ve üzerine yazılacak"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "<%s> vektör haritası zaten mevcut"
@@ -30671,27 +31590,27 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Kategori numaralarını gösterme"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "Vektör harita özniteliklerini yazdırır."
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -30699,172 +31618,172 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 msgid "The bufcol option requires a valid layer."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'katman' >=0 olmalı"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "UTM zonu %d ye ayarlandı"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Geçersiz silme isteği"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Harita birimlerine göre tampon mesafesi"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Vektör harita okunamıyor"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Tablodan veri seçilemiyor"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Sütun tipi desteklenmiyor"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "Alanlar çıkarılıyor..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "%d kategorisi için <%s> tablosunda değer yok"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Öznitelik uygun olmayan boyutta (%.3f) %d kategorisi için"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Alanlar çıkarılıyor..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Çizgi tamponları... "
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "Topolojinin bir kısmı oluşturuluyor..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr "Sınırlara yapışılıyor..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Poligonları kır"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "Çift olanlar siliniyor..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "Sınırlar kırılıyor..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Düğümlerdeki sınırlar temizleniyor..."
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Çift olanlar siliniyor..."
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Köprüleri sil"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Adalar ekleniyor..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Haritalar hesaplanıyor ..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Alan merkezi hesaplanamadı"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Düğümlerdeki sınırlar temizleniyor..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "Sınırlar kırılıyor..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "Haritalar hesaplanıyor ..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Alan merkezi hesaplanamadı"
@@ -31052,7 +31971,7 @@ msgstr ""
 #: ../vector/v.surf.rst/main.c:524
 #, fuzzy, c-format
 msgid "Unable to create %s"
-msgstr "<%s> dosyası oluşturulamıyor"
+msgstr "Tablo oluşturulamıyor: %s"
 
 #: ../vector/v.vol.rst/main.c:555
 #, fuzzy, c-format
@@ -31154,7 +32073,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Çözünürlük"
+msgstr "a girdisi alanları işleniyor ..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -31186,7 +32105,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:368
 #, fuzzy, c-format
 msgid "Mask raster map [%s] not found"
-msgstr "<%s> 3d raster haritası bulunamadı"
+msgstr "<%s> 3B raster haritası bulunamadı"
 
 #: ../vector/v.vol.rst/user1.c:383
 #, fuzzy
@@ -31245,7 +32164,7 @@ msgstr "Girdi hatalı"
 msgid "Not enough disk space--cannot write files"
 msgstr ""
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -31295,11 +32214,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -31310,15 +32230,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -31326,12 +32246,12 @@ msgstr ""
 msgid "Cost"
 msgstr "Zıtlık"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr ""
 
@@ -31359,44 +32279,62 @@ msgstr "Obje tipi"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "<%s> vektör haritası oluşturulamıyor"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Katman/tablo"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "<%s>  tablosu <%s> veritabanında yok"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "Sehir sayısı: [%d]"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "DEM'den gölgeler hesaplanıyor..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr ""
 
@@ -31727,100 +32665,100 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Girdi hatalı"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Rasgele 2D/3B vektör nokta haritası oluşturur."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "oluşturulacak nokta sayısı"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "Girdi vektör harita okunuyor"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "En küçük z yüksekliği (z flaması veya sütun adı gerekir)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "En büyük z yüksekliği (z flaması veya sütun adı gerekir)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "x koordinatı içeren sütun adı"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Vektör sütunlara yazılıyor..."
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Renk tablosu tipi"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "3B çıktı oluştur"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "İstatistikler hesaplanıyor..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr ""
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d den %d obje <%s> vektör haritasından seçildi"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Mevcut vektör haritanın adı"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "<%s> başlangıç vektör haritası geçerli bölgede hiç nokta içermiyor"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "<%s> başlangıç vektör haritası geçerli bölgede hiç nokta içermiyor"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "noktalar oluşturuluyor..."
 
@@ -32009,6 +32947,159 @@ msgstr "Veritabanını güncellemek imkansız"
 msgid "Impossible to write in the database"
 msgstr "Veritabanına yazmak imkansız"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Genelleştirme (%s)..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Nokta sınıflandırma"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "Hiç veri noktası bulunamadı"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Tamsayı değerler içeri aktarıldı"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Tamsayı değerler içeri aktarıldı"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> geçersiz sayıda nokta"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "z-değerleri için çarpan"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Tekrarlanma sayısı \t= %d hücreler\n"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Tekrarlanma sayısı \t= %d hücreler\n"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Standart sapma"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Geçersiz doğu"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -32079,7 +33170,7 @@ msgstr "Kullanıcı tabloları yerine sistem tabloları"
 msgid "Force 2D output even if input is 3D "
 msgstr ""
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -32295,6 +33386,182 @@ msgstr "Öznitelik seçilemiyor"
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "Hiç veri noktası bulunamadı"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "raster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d sınıf."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Nokta sınıflandırma"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Girdi vektör haritasının adı"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "En yakın alanlar bulunuyor..."
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Sınıftaki minimum piksel sayısı"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Kümeleme parametreleri\n"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Sınıf sayısı <256 olmalıdır!"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Komşuluk boyutu pozitif olmalı"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Noktalar içe aktarılıyor..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Hiç nokta bulunamadı, atlanılan tip=nokta"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Alan merkezleri oluşturuluyor..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s = %s -- pozitif sayı olmalıdır"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Noktalar arasındaki en büyük mesafe kullanılarak: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Hiç raster harita kaldırılmadı"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Standart sapma"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Noktalar arasındaki en büyük mesafe kullanılarak: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "En yakın alanlar bulunuyor..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Hiç çizgi bulunmadı, atlanan tip=çizgi"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Çıktı %s raster haritası yazılıyor... "
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Girdiler okunuyor..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "Hiç veri noktası bulunamadı"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%d sınıf."
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%d sınıf."
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -32365,7 +33632,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -32668,14 +33935,8 @@ msgstr "Hiç kayıt seçilmedi"
 msgid "Loading data..."
 msgstr "Veri okunuyor..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "<%s> vektör haritası 3B değil"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "<%s> sütunu nulunamıyor"
@@ -32732,17 +33993,17 @@ msgstr "<%s> için destek dosyaları oluşturuluyor"
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "Dönüştürülen alanlar: %d nin %d si"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "Dönüştürülen noktalar/çizgiler: %d nin %d si"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "Veri okunuyor..."
@@ -32907,77 +34168,77 @@ msgstr ""
 msgid "Unknown option '%s'"
 msgstr "Bilinmeyen seçim '%s'"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "Sütun adı"
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "Yeniden projeksiyonlanacak girdi raster harita adı"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Sehir sayısı: [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "Yetersiz şehir (<2)"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Alan merkezleri oluşturuluyor..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "[%d] kategorisinde hiç nokta yok"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Noktasının kaydı yok (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "<%s> dosyası yazma için açılamıyor"
@@ -33147,6 +34408,21 @@ msgstr "Tipi seçin: çizgi veya alan"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "'spatial' parametresi için 4 parametre gerekli"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Bilinmeyen kural seçeneği: '%s'"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Geçerli bağlantı parametrelerini yaz ve çık"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -33266,7 +34542,7 @@ msgid "Processing features..."
 msgstr "a girdisi alanları işleniyor ..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "Alan merkezi hesaplanamadı"
 
@@ -33336,7 +34612,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "<%s> sütunu kullanılamıyor"
@@ -33735,7 +35011,7 @@ msgstr "[%d] kategorisinde hiç nokta yok"
 msgid "%d records updated"
 msgstr "%d kayıt güncellendi"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -33835,9 +35111,10 @@ msgstr "Bilinmeyen işlem"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "<%s> sütunu kullanılamıyor"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "Veri okunuyor..."
 
 #: ../vector/v.transform/main.c:290
@@ -34290,7 +35567,7 @@ msgstr "<%s> g3d haritasını açmada hata"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Sütun tipi desteklenmiyor (karakter olmalıdır)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Veri okunuyor..."
@@ -34374,6 +35651,10 @@ msgstr "Sütun adı"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Sütunlar"
 
@@ -34446,56 +35727,61 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "%d kategori tabloda mevcut"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "<%s> sütunu <%s> tablosunda bulunamıyor"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Raster tipi kayan nokta ve sütun tipi tamsayı"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr ""
 "Raster tipi kayan nokta ve sütun tipi tamsayı, bazı veriler kaybolabilir!!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "%d çizgi veya sınır <%s@%s> vektör haritasında bulundu"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr "Geçerli bölge dışındaki %d nokta atlandı"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr "Kategorisi olmayan %d nokta atlandı"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr ""
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "Tablodan yüklenen %d kategorisi"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "vektörde %d tekrarlı kategori "
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "Tablodan yüklenen %d kategorisi"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "Vektörün %d kategorisi tabloda kayıp"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d kayıt güncellendi"
@@ -35295,7 +36581,7 @@ msgstr "Kabuk betiği stilinde yazdır"
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "Ya 'kural' veya 'sütun' belirlenmeli"
+msgstr "Ya harita takımı= veya -l kullanılmalı"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -35332,51 +36618,60 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "Vektör harita özniteliklerini yazdırır."
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Bölge\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Sınır köprüleri tipini değiştir"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "Seçme imleci açılamıyor"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "%d alanının sınır kutusu alınamıyor"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "%d çizgisinin sınır kutusu alınamıyor"
@@ -35659,7 +36954,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d kayıt tablodan seçildi"
 msgstr[1] "%d kayıt tablodan seçildi"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "<%s> tablosu oluşturulamıyor"
@@ -35686,19 +36981,19 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Veritabanı sorgulanıyor..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr ""
 
@@ -35714,6 +37009,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "<%s> albedo hücre dosyası bulunamadı"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Veritabanı güncelleniyor..."
@@ -35979,7 +37279,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr "%d katmanının veritabanı bağlantısı belirlenmedi"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Sütun tipi desteklenmiyor"
@@ -35998,57 +37299,57 @@ msgstr ""
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "[%d] kategorisinde hiç nokta yok"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] girdi biçim hatası"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -36621,45 +37922,49 @@ msgstr "Parçadaki en fazla nokta sayısı"
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
-msgid "Use either length or vertices"
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
 msgstr ""
 
 #: ../vector/v.split/main.c:108
+msgid "Use either length or vertices"
+msgstr ""
+
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "Düzgünleştirme pozitif değer olmalıdır"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Bilinmeyen sütun tipi '%s'"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "Girdi haritanın projeksiyon birimleri alınamıyor"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "uzunluk %f\n"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "uzunluk %f\n"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Sınıf sayısı <256 olmalıdır!"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "%s için parça dosyası yazılamıyor"
@@ -36755,11 +38060,6 @@ msgstr "Sütun adı (sayı tipinde olmalıdır)"
 msgid "Reading categories..."
 msgstr "Kategoriler ekleniyor..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "Veri okunuyor..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -36936,7 +38236,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr ""
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "<%s> tablosuna kopyalanamıyor"
@@ -37191,208 +38491,229 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Verilen konumdaki vektör haritayı sorgular."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "Girdi vektör haritasının mevkisi"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "Girdi vektör haritasının harita takımı"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Yeniden projeksiyonlanacak girdi raster harita adı"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Girdi vektör haritasının harita takımı"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "girdi mevkisindeki vektör haritaları listele ve çık"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "Sadece 3B vektör"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Hiç raster harita kaldırılmadı"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "<%s> vektör haritası <%s> mevkisi <%s> harita takımında  bulunamadı"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "<%s> girdi harita takımı <%s> mevkisinde bulunamadı"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "Girdi vektör harita okunuyor"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "<%s> vektör haritası 3B değil"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Çift olanlar siliniyor..."
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "<%s@%s> vektör haritası açılamıyor"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Diğer vektör harita katmanlarınını biraraya getirerek yeni vektör harita "
 "oluşturur."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr ""
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
-msgstr "dosyaları mevcut dosyaya ekle (mevcut dosyalara yazma aktif olmalıdır)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Topoloji oluşturma"
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "Öznitelik tablosu da kopyala"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr "dosyaları mevcut dosyaya ekle (mevcut dosyalara yazma aktif olmalıdır)"
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Kayıp tablo"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "Anahtar sütunlar farklı"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "Sütun sayısı farklı"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "Sütun adları farklı"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "Sütun tipleri farklı"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr "Karakter sütunlerın uzunluğu farklı"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Anahtar sütunu bulunamadı"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "Çıktı harita 3B değil"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "<%s> vektör haritası birleştiriliyor..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr "<%s> vektör haritasını okumada hata - bazı veriler doğru olmayabilir"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "<%s> vektör haritasının topolojisi oluşturuluyor..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr "%d vektör haritası birleştirildi"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "Seçme imleci açılamıyor: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "Satır alınamıyor"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Bilinmeyen sütun tipi"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Yeni satır girilemiyor: '%s'"
@@ -38048,302 +39369,298 @@ msgstr[1] "%d kırıklık noktası  kaldırıldı"
 msgid "Operation not implemented"
 msgstr "İşlem tamamlanmadı"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "OGR vektör katmanını GRASS vektör haritasına dönüştürür."
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "OGR veri kaynağı adı"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
 "\t\tMapInfo File: directory containing mapinfo files"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
 "\t\tMapInfo File: mapinfo file name"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "Sadece alt bölgeyi içe aktar"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "İçe aktarılacak en küçük alan boyutu (kare biriminde)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr "Seçimlik olarak varsayılan girdi tipini değiştir"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Aktif kontrol noktası yok"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Düğümlerdeki sınırlar temizleniyor..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Çizgi veya sınırlardan çoklu çizgi oluşturur."
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Tekrarlı alan merkezlerini sil"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "raster kategori etiketleri olarak kullanılacak sütun adı"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Sütun adı"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "[%d] nokta kategorisi okundu"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "Poligonları temizlemeyin (tavsiye edilmez)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 msgid "Force 2D output even if input is 3D"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "Sütun adlarını küçük harfli karakterlere dönüştür"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "<%s> veri kaynağı açılamıyor"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, fuzzy, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr "Veri kaynağı %d katmanları içeriyor:"
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "<%s> katmanı mevcut değil"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "<%s> katmanı mevcut değil"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "<%s> vektör haritasının katman bilgisi alınamıyor"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "<%s> sütunu <%s> tablosunda bulunamıyor"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "'spatial' parametresi için 4 parametre gerekli"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Harita birimlerine göre tampon mesafesi"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "<%s> geçici dosyasını yazmada hata"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "%s anahtar sütunu bulunamadı"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Anahtar sütun tipi tamsayı değildir"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "<%s> sütunu <%s> tablosunda bulunamıyor"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr ""
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "(%s) sütun tipi desteklenmiyor"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "%d haritası objeleri içe aktarılıyor..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s geometri yok"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Poligonları kır"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Sınırlara yapışılıyor..."
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "Düğümlerdeki sınırlar temizleniyor..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Sınırlar kırılıyor..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Sınır köprülerini çizgilere dönüştür:"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Sınır köprülerini çizgilere dönüştür:"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Haritalar hesaplanıyor ..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "Alan merkezleri yazılıyor..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -38351,99 +39668,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d girdi poligon"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d girdi poligon"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Toplam alan: %e (%d alan)"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Toplam alan: %e (%d alan)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Toplam alan: %e (%d alan)"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Toplam alan: %e (%d alan)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Kategorisi olmayan alanlar: %e (%d alan)"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Kategorisi olmayan alanlar: %e (%d alan)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Sınırlar için yapışma eşiği"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Tablo silinemiyor: %s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
 "to import 3D vector."
@@ -38489,17 +39806,21 @@ msgstr "Geometri parçası yazılamıyor"
 msgid "Unknown geometry type"
 msgstr "Bilinmeyen geometri tipi"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Çıktı tablo adı"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Bağlanacak raster dosya"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -38507,22 +39828,22 @@ msgid ""
 "\t\tPostGIS database: table name"
 msgstr ""
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Çıktı raster harita adı (varsayılan: input)"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "Veri kaynağındaki olası katmanları listele ve çık"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Veri kaynağındaki olası katmanları listele ve çık"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -38573,7 +39894,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "Geçersiz koordinatlar"
+msgstr "Sütunlar"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -38582,17 +39903,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "OGR katmanına sadece okunabilir bağlı yeni vektör harita oluşturur."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "%d çizgisi silinemiyor"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "<%s> dosyası oluşturulamıyor"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "<%s> raster haritası zaten mevcut"
@@ -38728,59 +40049,59 @@ msgstr "Çıktı harita oluşturulamıyor"
 msgid "Unable to close new 3d raster map"
 msgstr "Yeni 3d raster haritası kapatılamıyor"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "Çizgiler"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "Sehir sayısı: [%d]"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "DEM'den gölgeler hesaplanıyor..."
@@ -38942,6 +40263,136 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "%d katmanının veritabanı bağlantısı belirlenmedi"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "[%d] kategorisi için kayıt yok"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "[%d] kategorisi için kayıt yok"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "<%s> sütunu nulunamıyor"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "3B nokta olarak vektör noktaları üret"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "OGR vektör katmanını GRASS vektör haritasına dönüştürür."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Katman numarası"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld kategori"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Katman numarası"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Katman numarası"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Sütun eklenecek katman"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Sütun eklenecek katman"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Sütun eklenecek katman"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Sütun adı (sayı tipinde olmalıdır)"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Renk tanım sütunu adı (-a bayrağı ile kullanmak için)"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "renk okunamıyor"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Geçerli bölgeyi yazdır"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Tablo yok"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -39132,7 +40583,7 @@ msgstr "İstatistikler hesaplanıyor..."
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> geçersiz sayıda nokta"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Bağlanacak raster dosya"
@@ -39438,50 +40889,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "<%s> vektör haritası açılamıyor"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "<%s> sürücüsüyle <%s> veritabanı açılamıyor"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "OGR vektör katmanını GRASS vektör haritasına dönüştürür."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Alt bölge"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Katman numarası"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Sütun eklenecek katman"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Mevcut vektör haritanın adı"
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Girdi vektör haritasının adı"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Tamsayı değerler içeri aktarıldı"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "raster, yükselti"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Tamsayı değerler içeri aktarıldı"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Noktalar içe aktarılıyor..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> geçersiz sayıda nokta"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Noktaları içeren girdi vektör haritası"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Kaynak noktası koordinatları"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "Öznitelik tablosu oluşturmayın"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "<%s> sürücüsüyle <%s> veritabanı açılamıyor"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Katman numarası"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "Noktalar içe aktarılıyor..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
+#, fuzzy, c-format
+msgid "Scanning %lu points..."
+msgstr "Noktalar içe aktarılıyor..."
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "%d nokta yüklendi"
+
+#: ../vector/v.in.lidar/main.c:755
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu points imported"
 msgstr "%d nokta yüklendi"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
+#, fuzzy, c-format
+msgid "%llu input points were skipped by count-based decimation"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:777
+#, fuzzy, c-format
+msgid "%lu points imported (limit was %d)"
+msgstr "%d nokta yüklendi"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d nokta yüklendi"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:791
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%lu input points were filtered out by class number"
 msgstr "%d nokta eşik dışında"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:793
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d nokta eşik dışında"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:795
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr "%d nokta eşik dışında"
 
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d nokta eşik dışında"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "Son %d nokta(lar) görmezden gelinecek"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -39643,7 +41281,7 @@ msgid ""
 msgstr "Hatalı vektör objelerinin yazılacağı vektör haritanın adı"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -40637,11 +42275,6 @@ msgstr ""
 msgid "Resolving conflicts..."
 msgstr ""
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Genelleştirme (%s)..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -40815,58 +42448,58 @@ msgstr "Vektör tabanlı genelleştirme."
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "Genelleştirme (%s)..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "[%g] çözünürlüğü kullanılıyor"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 #, fuzzy
 msgid "changed"
 msgstr "Satırlar değişti"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "%d katmanı"
@@ -40919,46 +42552,6 @@ msgstr "%d katmanı"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Sıklık sayısı"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Çizgileri içeren girdi vektör haritasının adı"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Çizgileri içeren girdi vektör haritasının adı"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Yükselti raster haritasının adı [m]"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Girdi raster yükselti haritası adı [metre]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr "Yükselti raster haritasının adı [m]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr "Çıktı QC tipi sınıflandırma katmanı adı"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Enterpolasyon nokta sayısı"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Projeksiyonun üstüne yaz (mevkinin projeksiyonunu kullan)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Mevki: %s\n"
 
@@ -40968,30 +42561,37 @@ msgstr "%d katmanı"
 #~ msgid "Region\n"
 #~ msgstr "Bölge\n"
 
+#~ msgid "Subregion"
+#~ msgstr "Alt bölge"
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Kategori artışı"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "seçenek <%s>: <%s>mevcut."
-
-#~ msgid "output map <%s> exists"
-#~ msgstr "<%s> çıktı haritası mevcut"
-
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Çıktı topoğrafik indeks haritası"
+#~ msgid "Could not rewind input file"
+#~ msgstr "<%s> çıktı dosyası açılamadı"
 
 #, fuzzy
 #~ msgid "Name for basins raster map"
 #~ msgstr "Girdi raster haritası adı"
 
+#, fuzzy
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "<%s> zaten <%s> harita takımında mevcut"
+
+#~ msgid "output map <%s> exists"
+#~ msgstr "<%s> çıktı haritası mevcut"
+
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Sayfa uzunluğu (varsayılan: %d satır)"
 
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Sayfa genişliği (varsayılan: %d karakter)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Projeksiyonun üstüne yaz (mevkinin projeksiyonunu kullan)"
+
 #~ msgid "%s: Error writing temporary file"
 #~ msgstr "%s: Geçici dosyayı yazmada hata"
 
@@ -41006,11 +42606,32 @@ msgstr "%d katmanı"
 #~ msgid "[%s] not found"
 #~ msgstr "[%s] bulunamadı"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "seçenek <%s>: <%s>mevcut."
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr ""
+#~ "Veri takımı projeksiyonu üzerine yaz (mevkinin projeksiyonunu kullan)"
+
 #, fuzzy
 #~ msgid "Location name (not location path)"
 #~ msgstr "Yeni MEVKİ adı (mevki yolu değil)"
 
 #, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Projeksiyon ayarlanamıyor"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "Eski GRASS sürümündeki vektör haritaları içe aktarır."
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "Çıktı alan ayracı"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Vektör harita değişim verisini günceller."
 
@@ -41048,104 +42669,52 @@ msgstr "%d katmanı"
 #~ msgid "No default DB driver defined"
 #~ msgstr "Varsayılan sürücü ayarlanmadı"
 
-#, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "Çıktı alan ayracı"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "<%s> zaten <%s> harita takımında mevcut"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Eski GRASS sürümündeki vektör haritaları içe aktarır."
+#~ msgid "OGR datasource name"
+#~ msgstr "OGR veri kaynağı adı"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Hiç harita adı verilmedi"
 
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Yeniden sınıflandırma haritaları yeniden adlandırılıyor"
-
 #, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr ""
-#~ "[%s] grubunun [%s] altgrubu içindeki [%s] doku dosyası oluşturulamıyor."
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "<%s> dosyası oluşturulamıyor"
 
 #, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d kategori <%s> tablosundan yüklendi"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Lütfen z sütununu belirleyin"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
-
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "kn aralığı için geçersiz değer= <%s>"
-
-#, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Lütfen z sütununu belirleyin"
-
-#, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Lütfen z sütununu belirleyin"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Lütfen z sütununu belirleyin"
+#~ msgid "Env file not found"
+#~ msgstr "<%s> 3dpencere dosyası bulunamadı"
 
 #, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Lütfen z sütununu belirleyin"
+#~ msgid "PID file not found"
+#~ msgstr "Dosya bulunamadı: %s"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
+#~ msgid "Command file not found"
+#~ msgstr "<%s> sütunu nulunamıyor"
 
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "Yeniden sınıflandırma haritaları yeniden adlandırılıyor"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
-
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "Ya standart renk adı veya K:Y:M üçlemesi"
+#~ msgid "Name for output image"
+#~ msgstr "Çıktı dosya adı"
 
 #, fuzzy
-#~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
+#~ msgid "Unable to read REF file for group <%s>"
 #~ msgstr ""
-#~ "Konusal vektör alan haritasını grafik ekrandaki aktif çerçevede göster."
-
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Yazı yazma rengi"
+#~ "[%s] grubunun [%s] altgrubu içindeki [%s] doku dosyası oluşturulamıyor."
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "grid rengi veya \"none\""
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d kategori <%s> tablosundan yüklendi"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
 #~ msgstr "Çıktı raster haritasının adı"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Varsayılan sürücü ayarlanmadı"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "Ayrıca maksimum SPOTTING(yayılma) uzaklığını üretir"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -41211,16 +42780,37 @@ msgstr "%d katmanı"
 #~ msgstr "Çizgiler"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr "Çıktı raster haritasının adı"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "Ayrıca maksimum SPOTTING(yayılma) uzaklığını üretir"
+#~ msgid "Default: input"
+#~ msgstr "Varsayılan sürücü ayarlanmadı"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Görüntü"
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr ""
+#~ "Konusal vektör alan haritasını grafik ekrandaki aktif çerçevede göster."
+
+#~ msgid "Text color or \"none\""
+#~ msgstr "Metin rengi veya \"hiçbiri\""
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Yazı yazma rengi"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "grid rengi veya \"none\""
+
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "Ya standart renk adı veya K:Y:M üçlemesi"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "Çizgiler"
 
 #, fuzzy
 #~ msgid ""
@@ -41229,17 +42819,33 @@ msgstr "%d katmanı"
 #~ "Raster harita katmanı destek dosyalarının oluşturulması ve/veya "
 #~ "değiştirilmesine olanak tanır"
 
-#, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Vektör harita okunamıyor"
+#~ msgid "Failed opening input dig file."
+#~ msgstr "Girdi dig dosyasını açmada hata."
 
-#, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Tablo oluşturulamıyor: %s"
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "dig_att dosyası yok."
+
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "Girdi dig_att dosyasını açmada hata."
+
+#~ msgid "Attaching categories..."
+#~ msgstr "Kategoriler ekleniyor..."
+
+#~ msgid "Writing new file..."
+#~ msgstr "Yeni dosya yazılıyor..."
+
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "[%d] nokta ve çizgi çıktı dosyasına yazıldı."
+
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "[%d] alan merkezi çıktı dosyasına yazıldı."
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Eski GRASS sürümündeki vektör haritaları içe aktarır."
 
 #, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "az için yetersiz hafıza"
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "<%s> dig_att dosyası açılamıyor\n"
 
 #~ msgid "Reading dig file..."
 #~ msgstr "dig dosyası okunuyor..."
@@ -41313,88 +42919,28 @@ msgstr "%d katmanı"
 #~ msgid "[%d] categories read into memory"
 #~ msgstr "[%d] kategori hafızaya alındı"
 
-#, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "<%s> dig_att dosyası açılamıyor\n"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Girdi dig dosyasını açmada hata."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "dig_att dosyası yok."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Girdi dig_att dosyasını açmada hata."
-
-#~ msgid "Attaching categories..."
-#~ msgstr "Kategoriler ekleniyor..."
-
-#~ msgid "Writing new file..."
-#~ msgstr "Yeni dosya yazılıyor..."
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "[%d] nokta ve çizgi çıktı dosyasına yazıldı."
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "[%d] alan merkezi çıktı dosyasına yazıldı."
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Eski GRASS sürümündeki vektör haritaları içe aktarır."
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "Bilinmeyen raster harita tipi"
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Önbellek boyutu (MiB)"
-
 #~ msgid "One or more coordinates"
 #~ msgstr "Bir veya daha fazla koordinat"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "adx  için yetersiz hafıza"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "ady için yetersiz hafıza"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "adxx için yetersiz hafıza"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "adyy için yetersiz hafıza"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "adxy için yetersiz hafıza"
-
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "GRASS nokta_listesi dosyasını vektör haritaya dönüştürür"
-
-#~ msgid "Site file <%s> not found"
-#~ msgstr "<%s> nokta dosyası bulunamadı"
+#~ msgid "Name of elevation map"
+#~ msgstr "Yükselti haritası adı"
 
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "Nokta_listasi biçimini tahminde hata"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Hiçbir değer içermeyen hücreyi temsil eden karakter"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "Noktalar vektör nokta haritasına dönüştürülüyor..."
-
-#~ msgid "%d sites written."
-#~ msgstr "%d nokta yazıldı"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
+#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
 
-#, fuzzy
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "geonames.org ülke dosyalarını GRASS vektör nokta haritasını içe aktarır."
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "<%s> için kategori dosyasını okumada hata"
 
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Çıktı dosya adı (uzantısını eklemeyin)"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "<%s> için renk dosyasını okumada hata"
 
 #, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Yükselti için raster harita(lar) adı"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Raster harita katmanları için istatistikler raporlanıyor."
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -41406,10 +42952,6 @@ msgstr "%d katmanı"
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "MAVİ(BLUE) için kullanılacak çıktı katman adı"
 
-#, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Raster harita katmanları için istatistikler raporlanıyor."
-
 #~ msgid "Surface generation program."
 #~ msgstr "Yüzey oluşturma programı"
 
@@ -41425,34 +42967,6 @@ msgstr "%d katmanı"
 #~ msgstr[0] "<%s> raster haritası enterpole ediliyor ... %d satır... "
 #~ msgstr[1] "<%s> raster haritası enterpole ediliyor ... %d satır... "
 
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Mevki: %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "görüntü,şebeke"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "Yükselti haritası adı"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Hiçbir değer içermeyen hücreyi temsil eden karakter"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "<%s> için kategori dosyasını okumada hata"
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "<%s> için renk dosyasını okumada hata"
-
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "Çıktı z-dosyası (yükselti) haritası"
 
@@ -41475,8 +42989,19 @@ msgstr "%d katmanı"
 #~ msgstr "Kullanılabilir harita takımlarını listele"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Bütünleştirme işlemi"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
+#~ msgstr ""
+#~ "geonames.org ülke dosyalarını GRASS vektör nokta haritasını içe aktarır."
+
+#, fuzzy
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "Çıktı dosya adı (uzantısını eklemeyin)"
+
+#, fuzzy
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Yükselti için raster harita(lar) adı"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -41495,6 +43020,79 @@ msgstr "%d katmanı"
 #~ msgstr "Çıktı raster harita (varsayılan: girdi)"
 
 #, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "grid rengi veya \"none\""
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "grid rengi veya \"none\""
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Belirsiz bilgiyi gösterme rengi"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "grid rengi veya \"none\""
+
+#~ msgid "Invalid distance"
+#~ msgstr "Geçersiz uzaklık"
+
+#~ msgid "Layer number"
+#~ msgstr "Katman numarası"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "Mevki: %s\n"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "görüntü,şebeke"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Lütfen z sütununu belirleyin"
+
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "kn aralığı için geçersiz değer= <%s>"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Lütfen z sütununu belirleyin"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Lütfen z sütununu belirleyin"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Lütfen z sütununu belirleyin"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Lütfen z sütununu belirleyin"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Görüntü"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Bütünleştirme işlemi"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "Yükselti raster haritası adı"
 
@@ -41513,8 +43111,63 @@ msgstr "%d katmanı"
 #~ msgid "Color for drawing grid or \"none\""
 #~ msgstr "Grid veya \"none\" için renk"
 
-#~ msgid "Invalid distance"
-#~ msgstr "Geçersiz uzaklık"
+#~ msgid "Not enough memory for adx"
+#~ msgstr "adx  için yetersiz hafıza"
 
-#~ msgid "Layer number"
-#~ msgstr "Katman numarası"
+#~ msgid "Not enough memory for ady"
+#~ msgstr "ady için yetersiz hafıza"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "adxx için yetersiz hafıza"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "adyy için yetersiz hafıza"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "adxy için yetersiz hafıza"
+
+#, fuzzy
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Tablo oluşturulamıyor: %s"
+
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "az için yetersiz hafıza"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
+
+#, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr "Ya harita takımı= veya -l kullanılmalı"
+
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "GRASS nokta_listesi dosyasını vektör haritaya dönüştürür"
+
+#~ msgid "Site file <%s> not found"
+#~ msgstr "<%s> nokta dosyası bulunamadı"
+
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "Nokta_listasi biçimini tahminde hata"
+
+#, fuzzy
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "Noktalar vektör nokta haritasına dönüştürülüyor..."
+
+#~ msgid "%d sites written."
+#~ msgstr "%d nokta yazıldı"
+
+#, fuzzy
+#~ msgid "Unable to create vector map"
+#~ msgstr "Vektör harita okunamıyor"
+
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Önbellek boyutu (MiB)"
+
+#~ msgid "Unknown raster map type"
+#~ msgstr "Bilinmeyen raster harita tipi"
diff --git a/locale/po/grassmods_vi.po b/locale/po/grassmods_vi.po
index cb2f83f..204ac86 100644
--- a/locale/po/grassmods_vi.po
+++ b/locale/po/grassmods_vi.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_vi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2010-08-27 14:37+0700\n"
 "Last-Translator: \n"
 "Language-Team: Vietnamese <grass-translations at lists.osgeo.org>\n"
@@ -22,10 +22,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -43,6 +43,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -71,12 +72,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -122,7 +124,7 @@ msgstr "Không can thiệp các giá trị NULL khi vẽ"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, c-format
@@ -130,14 +132,16 @@ msgid "Color file for <%s> not available"
 msgstr "Tập tin màu dùng cho <%s> không dùng được"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -156,7 +160,9 @@ msgstr "Tập tin màu dùng cho <%s> không dùng được"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -177,7 +183,7 @@ msgstr "Tập tin màu dùng cho <%s> không dùng được"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -189,7 +195,7 @@ msgstr "Tập tin màu dùng cho <%s> không dùng được"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -213,17 +219,17 @@ msgstr "Tập tin màu dùng cho <%s> không dùng được"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -234,7 +240,7 @@ msgstr "Tập tin màu dùng cho <%s> không dùng được"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -384,10 +390,13 @@ msgstr ""
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 msgid "Input"
 msgstr "Đầu vào"
 
@@ -434,22 +443,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr "Dùng tập con của miền bản đồ làm chú giải (min,max)"
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "Màu chữ"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "Các thiết lập"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr "Tên phông"
 
@@ -463,11 +474,13 @@ msgstr "K.thước biểu tượng"
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 msgid "Path to font file"
 msgstr "Đường dẫn đến tập tin phông chữ"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr "Mã hoá chữ (chỉ áp dụng cho các phông TrueType)"
 
@@ -561,14 +574,20 @@ msgstr "Khoảng màu vượt ra ngoài cận trên của dữ liệu thực"
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr "use=%s ngoài miền [%.3f,%.3f] (mở rộng với miền= ?)"
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr "Không có gì để vẽ! (không có các phạm trù có nhãn?)"
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -612,11 +631,11 @@ msgstr "Tiêu đề cho biểu đồ"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, c-format
@@ -699,23 +718,26 @@ msgstr "Danh sách phạm trù cần trình bày (Các bản đồ kiểu số n
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -725,14 +747,19 @@ msgstr "Danh sách phạm trù cần trình bày (Các bản đồ kiểu số n
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -781,50 +808,51 @@ msgstr "%s: giá trị chỉ định không hợp lệ"
 msgid "[%s]: No such color"
 msgstr "[%s]: Không có màu như vậy"
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "Trình bày thông tin về màn hình trình bày kích hoạt"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr "Trình bày hình chữ nhật màn hình (trái, phải, trên, dưới)"
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr "Trình bày kích thước màn hình (rộng, cao)"
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr "Trình bày hình chữ nhật của khung kích hoạt"
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 #, fuzzy
 msgid "Display frame dimensions (width, height)"
 msgstr "Trình bày kích thước màn hình (rộng, cao)"
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 msgid "Display screen rectangle of current region"
 msgstr "Trình bày hình chữ nhật màn hình của vùng hiện tại"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 #, fuzzy
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr "Trình bày tọa độ địa lý và độ phân giải của toàn màn hình"
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -832,31 +860,32 @@ msgstr "Trình bày tọa độ địa lý và độ phân giải của toàn m
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "Kết nối CSDL không được định nghĩa cho lớp %d"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -866,10 +895,10 @@ msgstr "Kết nối CSDL không được định nghĩa cho lớp %d"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -883,7 +912,7 @@ msgstr "Kết nối CSDL không được định nghĩa cho lớp %d"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "Không thể mở CSDL <%s> bằng trình điều khiển <%s>"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -908,7 +937,7 @@ msgstr "Kiểu biểu đồ"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 msgid "Chart properties"
 msgstr "Tính chất của biểu đồ"
 
@@ -950,7 +979,12 @@ msgstr "Giá trị lớn nhất được dùng để tham chiếu vẽ biểu đ
 msgid "Create legend information and send to stdout"
 msgstr "Tạo thông tin chú giải và gửi đến đầu ra tiêu chuẩn"
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "Tạo đầu ra 3D"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -958,20 +992,22 @@ msgstr "Tạo thông tin chú giải và gửi đến đầu ra tiêu chuẩn"
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -986,40 +1022,40 @@ msgstr "Tạo thông tin chú giải và gửi đến đầu ra tiêu chuẩn"
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "Không thể mở bản đồ vector <%s>"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1044,10 +1080,6 @@ msgstr "Tọa độ bắt đầu và kết thúc"
 msgid "Line color"
 msgstr "Màu đường"
 
-#: ../display/d.rhumbline/main.c:62
-msgid "Text color or \"none\""
-msgstr "Màu chữ hoặc \"none\""
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, c-format
 msgid "Location is not %s"
@@ -1105,12 +1137,15 @@ msgstr "L: thêm M: loại bỏ R: thoát và lưu\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1129,17 +1164,18 @@ msgstr "L: thêm M: loại bỏ R: thoát và lưu\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1152,10 +1188,10 @@ msgstr "L: thêm M: loại bỏ R: thoát và lưu\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1163,21 +1199,22 @@ msgstr "L: thêm M: loại bỏ R: thoát và lưu\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr "vector"
 
@@ -1222,16 +1259,18 @@ msgstr "Không tìm thấy bản đồ vector <%s>"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1243,22 +1282,22 @@ msgstr "Không tìm thấy bản đồ vector <%s>"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1312,10 +1351,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1370,12 +1409,12 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "Tên của bản đồ raster cần dùng cho <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "Đang thực hiện chuyển đổi log"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
@@ -1384,28 +1423,28 @@ msgstr ""
 "Chồng các giá trị phạm trù ô trên một lớp bản đồ raster được trình bày trên "
 "màn hình đồ họa."
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 msgid "Grid color"
 msgstr "Màu lưới"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "Số chữ số có ý nghĩa (chỉ áp dụng cho dấu chấm động)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "Không đánh chỉ mục các điểm theo ô raster"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr "Lấy màu chữ từ giá trị màu của ô"
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1414,7 +1453,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1422,7 +1461,7 @@ msgstr[0] "Màu lưới"
 msgstr[1] "Màu lưới"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, fuzzy, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1433,73 +1472,73 @@ msgstr ""
 "Thiết lập cửa sổ hiện tại của bạn có thể quá lớn. Các ô được trình bày trên "
 "cửa sổ đồ họa của bạn có thể quá nhỏ để có thể nhìn thấy con số phạm trù ô."
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 "Vẽ các mũi tên biểu thị hướng của ô cho một bản đồ raster chứa dữ liệu hướng."
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr "Tên của bản đồ hướng raster cần trình bày"
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr "Kiểu của bản đồ hướng raster hiện có"
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr "Màu để vẽ các mũi tên"
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 #, fuzzy
 msgid "Color for drawing drawing grid"
 msgstr "Màu để vẽ các mũi tên"
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 #, fuzzy
 msgid "Color for drawing null values (X symbol)"
 msgstr "Màu để vẽ chữ X (các giá trị rỗng)"
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 #, fuzzy
 msgid "Color for showing unknown information (? symbol)"
 msgstr "Màu để hiển thị thông tin không biết"
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr "Vẽ mũi tên cách nhau N ô lưới"
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr "Bản đồ raster chứa các giá trị dùng cho chiều dài mũi tên"
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr "Hệ số tỷ lệ cho các mũi tên (bản đồ độ lớn)"
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 msgid "Illegal value for scale factor"
 msgstr "Giá trị hệ số tỷ lệ không hợp lệ"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 msgid "Illegal value for skip factor"
 msgstr "Giá trị dùng cho hệ số bỏ qua không hợp lệ"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr "Độ lớn chỉ được hỗ trợ trong các bản đồ GRASS và bản đồ hướng la bàn."
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 msgid "Scale option requires magnitude_map"
 msgstr "Tùy chọn tỷ lệ đòi hỏi phải có magnitude_map"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 msgid "Problem reading range file"
 msgstr "Trục trặc khi đọc tập tin miền"
 
@@ -1630,17 +1669,17 @@ msgstr ""
 "  Khoảng cách đến mạng lưới = %f, khoảng cách từ mạng = %f\n"
 "
\n"
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1648,7 +1687,7 @@ msgstr "vector, mạng lưới"
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1657,50 +1696,50 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr "Tìm đường dẫn ngắn nhất cho nốt bắt đầu và kết thúc được chọn."
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 msgid "Arc type"
 msgstr "Kiểu cung (arc)"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr "Lớp cung (arc)"
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr "Lớp Nốt"
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr "Cột chi phí của cung tới/cả hai hướng (số)"
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr "Cột chi phí của cung lui/cả hai hướng (số)"
 
@@ -1722,11 +1761,11 @@ msgstr "Đang vẽ"
 msgid "Background color"
 msgstr "Màu nền"
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr "Dùng tính toán đo đạc (geodesic) cho các vị trí kiểu kinh/vĩ độ."
 
@@ -1746,7 +1785,7 @@ msgstr "%s - giá trị y không hợp lệ"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr "Phép chiếu hiện tại không phải là kinh-vĩ độ"
 
@@ -1771,7 +1810,7 @@ msgstr "Đang tính biểu đồ tần số"
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1779,7 +1818,7 @@ msgstr "Đang tính biểu đồ tần số"
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2159,7 +2198,7 @@ msgstr "độ lệch chuẩn nhân với %.4f để xác định bước\n"
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2177,15 +2216,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr "Tùy chọn Geo-Grid không dùng được đối với phép chiếu kinh/vĩ"
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "Không thể lấy các giá trị chính về phép chiếu  của vị trí hiện tại"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "Không thể thiết lập các tham số phép chiếu vĩ/kinh độ"
@@ -2444,12 +2483,13 @@ msgstr "Các tọa độ không hợp lệ %s %s"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2524,15 +2564,15 @@ msgstr "Yêu cầu không rõ ràng đối với các ellipsoid kiểu vĩ/kinh
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr "Vui lòng chỉ định một ellipsoid vĩ/kinh độ bằng -l hoặc -w"
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "Không thể lấy thông tin phép chiếu của vị trí hiện tại"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "Không thể lấy đơn vị phép chiếu của vị trí hiện tại"
 
@@ -2556,11 +2596,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 msgid "Unable to read vector map"
 msgstr "Không thể đọc bản đồ vec-tơ"
 
@@ -2763,7 +2804,7 @@ msgstr "Màu để tô vùng"
 msgid "Colorize features according color definition column"
 msgstr "Tên của cột định nghĩa màu (để dùng với cờ -a)"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 #, fuzzy
 msgid "Color definition in R:G:B form"
 msgstr "Cột định nghĩa màu không được chỉ định"
@@ -3066,41 +3107,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr "[%s]: Không có màu như vậy. Dùng '%s'"
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "Tập tin '%s' đã có và sẽ bị ghi đè."
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "Không thể cập nhật vùng hiện tại"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "Bản đồ đầu ra"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "Bản đồ vec-tơ <%s> đã có"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "Không thể tạo tập tin <%s>"
+msgid "Starting monitor <%s>..."
+msgstr "Đang ghi bản đồ vec-tơ <%s>..."
 
-#: ../display/d.mon/start.c:163
-#, fuzzy, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr "Thiết lập tên bản đồ thành <%s>, nó ghi đè <%s>"
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "Không thể đọc tập tin miền"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, c-format
+msgid "Unable to create file <%s>"
+msgstr "Không thể tạo tập tin <%s>"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3112,34 +3160,53 @@ msgstr "Bản đồ vec-tơ <%s> đã có"
 msgid "Monitor <%s> is not running"
 msgstr "Không tìm thấy tập tin <%s>"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "Không tìm thấy tập tin 3dview <%s>"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "Không thể tạo tập tin <%s>"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "Không tìm thấy tập tin: %s"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "Không thể mở nguồn dữ liệu OGR '%s'"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, c-format
+msgid "Unable to open file <%s>"
+msgstr "Không thể mở tập tin <%s>"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "Không thể tạo tập tin <%s>"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "Danh cách các tọa độ điểm"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "Không tìm thấy cột <%s>"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
+msgstr "Không thể mở tập tin cell [%s]."
 
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
-msgstr "Không thể đọc tập tin miền"
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "Tìm thấy %d đường hoặc ranh giới trong bản đồ vec-tơ <%s@%s>"
 
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
@@ -3151,8 +3218,8 @@ msgid "Name of monitor to start"
 msgstr "Tên của tập lệnh đầu ra"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3176,9 +3243,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3258,12 +3326,12 @@ msgid "List running monitors and exit"
 msgstr "Liệt kê các định dạng được hỗ trợ và thoát"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3276,33 +3344,34 @@ msgstr "Liệt kê các định dạng được hỗ trợ và thoát"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr "In"
 
@@ -3316,59 +3385,77 @@ msgstr "In ra các tham số kết nối hiện hành và thoát"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "In ra các tham số kết nối hiện hành và thoát"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr "Không chọn tự động khi khởi động"
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "Không thể đọc màu"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 #, fuzzy
 msgid "Open output file in update mode"
 msgstr "Mở biểu mẫu ở chế độ chỉnh sửa"
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, fuzzy, c-format
 msgid "Flag -%c ignored"
 msgstr "bỏ qua\n"
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr "Màn hình <%s> được giải phóng"
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr "Không có màn hình nào được chọn"
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "Hoặc là phải nhập chữ hoặc phải dùng cờ -c"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3421,7 +3508,7 @@ msgid "No map name given"
 msgstr "Tên bản đồ không được cung cấp"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "không thể ghi tập tin phạm trù cho <%s>"
@@ -3554,9 +3641,9 @@ msgstr "... thành công."
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "Không thể mở tập tin <%s> để ghi"
@@ -3604,9 +3691,9 @@ msgstr "Kết nối"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 msgid "Format"
 msgstr "Định dạng"
 
@@ -3620,12 +3707,12 @@ msgstr "Dấu phân cách bản ghi theo chiều đứng ở đầu ra"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr ""
 "Tên tập tin đầu ra (nếu bỏ qua hoặc \"-\" thì xuất ra đầu ra tiêu chuẩn)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "Không đưa  tên cột vào đầu ra"
 
@@ -3633,7 +3720,7 @@ msgstr "Không đưa  tên cột vào đầu ra"
 msgid "Describe query only (don't run it)"
 msgstr "Chỉ mô tả truy vấn (không chạy nó)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "Đầu ra theo chiều đứng (thay vì ngang)"
 
@@ -3666,7 +3753,7 @@ msgstr "Chỉ thử phép truy vấn, đừng thực thi"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3698,7 +3785,7 @@ msgstr "CSDL, SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3710,7 +3797,7 @@ msgstr "vecotr, bảng thuộc tính"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3848,8 +3935,8 @@ msgstr "Không thể đọc tập tin miền"
 msgid "Unable to create index:"
 msgstr "Không thể tạo chỉ mục"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "Kết nối"
@@ -3927,7 +4014,7 @@ msgstr "Không thể thiết lập phép chiếu"
 msgid "Unable to allocate handle."
 msgstr "Không thể cấp phát bộ nhớ"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3964,7 +4051,7 @@ msgstr "Không thể chọn thuộc tính"
 msgid "Unable to select view names."
 msgstr "Không thể chọn thuộc tính"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -4004,12 +4091,12 @@ msgstr "Hết bộ nhớ"
 msgid "No path given"
 msgstr "Tên bản đồ không được cung cấp"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "Không thể chọn thuộc tính"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "Không thể chọn dữ liệu từ bảng"
@@ -4057,29 +4144,29 @@ msgid "Taken not found"
 msgstr "không tìm thấy"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 msgid "Unable to create index"
 msgstr "Không thể tạo chỉ mục"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "Không thể thiết lập cỡ phông"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "Không thể chọn thuộc tính"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "Không thể tạo bảng <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "Không thể mở CSDL <%s>"
@@ -4126,6 +4213,11 @@ msgstr ""
 "cột '%s' : kiểu bool (luân lý) được lưu trữ dưới dạng char(1), các giá trị: "
 "0 (sai), 1 (đúng) "
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "Không thể thiết lập kích thước"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "Tùy chọn không biết trong định nghĩa csdl dùng cho PostgreSQL: "
@@ -4213,7 +4305,8 @@ msgstr "Không tìm thấy bộ bản đồ <%s>"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4295,22 +4388,22 @@ msgstr "Không thể mở nguồn dữ liệu OGR '%s'"
 msgid "Unable to open database:"
 msgstr "Không thể mở csdl:"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "Kết nối CSDL không được định nghĩa"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "<%s> đã có"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "Không thể tạo bảng: %s"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "Không tìm thấy bộ bản đồ <%s>"
@@ -4325,6 +4418,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "Trình điều khiển SQLite: cột '%s', kiểu SQLite %d không được hỗ trợ"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "Lỗi khi đang đóng tập tin ASCII"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4572,10 +4670,10 @@ msgstr "Loại bỏ một CSDL."
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4596,26 +4694,39 @@ msgstr "Vui lòng chỉnh các thiết lập cho đúng"
 msgid "Sets user/password for DB driver/database."
 msgstr "Thiết lập người dùng/mật mã cho trình điều khiển/csdl."
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "Không thể thiết lập phép chiếu"
+msgid "Username"
+msgstr "tên"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "Không thể thiết lập phép chiếu"
+msgid "Password"
+msgstr "Số lần chạy qua %d..."
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "Kiểm tra tên"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "In ra các tham số kết nối hiện hành và thoát"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "Không thể thiết lập người dùng/mật mã"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "Mật mã được lưu trong tập tin"
@@ -4901,6 +5012,7 @@ msgstr "Vùng\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4911,10 +5023,11 @@ msgstr "Vùng\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "raster"
@@ -4986,19 +5099,6 @@ msgstr "Hoặc cờ -i và/hoặc tham số lộ trình phải được sử d
 msgid "Off-screen only available with full render mode"
 msgstr "Ngoài màn hình chỉ áp dụng được ở chế độ kết xuất đầy đủ"
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, c-format
-msgid "Unable to open file <%s>"
-msgstr "Không thể mở tập tin <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5279,7 +5379,7 @@ msgstr "Không tìm thấy bản đồ raster latin <%s> (vĩ độ đầu vào)
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5955,7 +6055,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5968,12 +6068,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr "tổng quát"
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6083,7 +6184,17 @@ msgstr "%s=%s,%s: các tập tin giống nhau, không cần sao chép"
 msgid "<%s> already exists"
 msgstr "<%s> đã có"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "Không thể đọc tiêu đề (header) của bản đồ raster 3D <%s@%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "Không thể mở bản đồ vec-tơ <%s> ở cấp tôpô %d "
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6091,7 +6202,7 @@ msgstr "<%s> đã có"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 #, fuzzy
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
@@ -6100,13 +6211,13 @@ msgstr ""
 "Liệt kê các tập tin CSDL GRASS dùng được có kiểu dữ liệu do người dùng chỉ "
 "định tại đầu ra tiêu chuẩn."
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 msgid "Map name search pattern (default: all)"
 msgstr "Kiểu tìm kiếm tên bản đồ (mặc định: tất cả)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6114,127 +6225,100 @@ msgstr "Kiểu tìm kiếm tên bản đồ (mặc định: tất cả)"
 msgid "Pattern"
 msgstr "Raster"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 msgid "Map name exclusion pattern (default: none)"
 msgstr "Kiểu tên bản đồ loại ra (mặc định: không)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "Bộ bản đồ cần liệt kê (mặc định: đường dẫn tìm kiếm hiện tại)"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "Tên của một bộ bản đồ (mặc định: hiện tại)"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "Thiết lập vùng hiện tại theo vùng đã đặt tên"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "Tên cho tập tin đầu ra"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "Nếu không cung cấp, đọc từ đầu vào tiêu chuẩn"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr "Dùng biểu thức quy tắc cơ bản thay vì các ký tự đại diện"
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr "Dùng biểu thức quy tắc mở rộng thay vì các ký tự đại diện"
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 msgid "Print data types"
 msgstr "In ra kiểu dữ liệu"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 msgid "Pretty printing in human readable format"
 msgstr "In ra ở dạng đẹp mà người xem có thể đọc được"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr "Liệt kê đầy đủ (liệt kê cả tựa đề bản đồ)"
 
-#: ../general/g.list/main.c:182
-#, fuzzy, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr "Các cờ -s và -n loại bỏ nhau"
-
-#: ../general/g.list/main.c:187
-#, fuzzy, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr "Các cờ -s và -n loại bỏ nhau"
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, fuzzy, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr "Các cờ -s và -n loại bỏ nhau"
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "Không thể mở tập tin cell [%s]."
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "Nhóm <%s> không tồn tại"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "Không thể đọc tiêu đề (header) của bản đồ raster 3D <%s@%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "Không thể mở bản đồ vec-tơ <%s> ở cấp tôpô %d "
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 msgid "Unable to update lat/long projection parameters"
 msgstr "Không thể cập nhật các tham số phép chiếu vĩ/kinh độ"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "Lỗi trong pj_do_proj (phép chiếu của cặp tọa độ đầu vào)"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr "Bạn hiện đã ở trong hệ Vĩ/Kinh độ. Thay vào đó hãy dùng cờ -p."
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
@@ -6242,7 +6326,7 @@ msgstr ""
 "Bạn ở trong vị trí kiểu XY đơn giản, phép chiếu sang Vĩ/Kinh độ không thực "
 "hiện được. Thay vào đó hãy dùng cờ -p."
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
@@ -6250,7 +6334,7 @@ msgstr ""
 "Đầu ra WGS84 không thể được vì vị trí này không chứa các tham số chuyển đổi "
 "mốc tọa độ chuẩn. Hãy thử chạy g.setproj."
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 "Các tính toán Vĩ/Kinh độ không thể thực hiện được từ một hệ XY đơn giản"
@@ -6483,9 +6567,9 @@ msgstr "Không tìm thấy vùng <%s>"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "Không tìm thấy bản đồ raster 3D <%s>"
@@ -6510,7 +6594,7 @@ msgstr ""
 "Không thể thay đổi vùng mặc định. Bộ bản đồ hiện tại không phải là "
 "<PERMANENT>."
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "Đầu vào không hợp lệ <%s=%s>"
@@ -6805,38 +6889,38 @@ msgstr "In ra ở dạng tập lệnh shell"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6980,7 +7064,7 @@ msgstr "Tên của (các) bộ bản đồ hiện có để loại bỏ khỏi d
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 msgid "Operation to be performed"
 msgstr "Tác vụ cần thực hiện"
@@ -7436,7 +7520,7 @@ msgstr "Không thể mở tập tin đầu vào <%s>."
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, c-format
 msgid "Unable to open output file <%s>"
@@ -7639,40 +7723,61 @@ msgid "command line interface with GUI startup screen"
 msgstr "Không tìm thấy cột <%s>"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "Tập tin raster cần nhập"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
+msgstr ""
+
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 #, fuzzy
 msgid "Update default user interface settings"
 msgstr "Cập nhật thiết lập GUI mặc định"
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 #, fuzzy
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr "Không khởi động GDĐH sau khi cập nhật thiết lập GDĐH mặc định"
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr "<%s> bây giờ thành GUI mặc định"
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7891,8 +7996,8 @@ msgid ""
 msgstr ""
 "Buộc ghi đè thông tin chuyển đổi mốc tọa độ chuẩn trong hệ toạ độ đầu vào"
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7929,9 +8034,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, c-format
 msgid "Location <%s> created"
 msgstr "Vị trí <%s> được tạo ra"
@@ -8089,10 +8194,12 @@ msgstr "In ma trận chuyển đổi ra đầu ra chuẩn"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8108,10 +8215,14 @@ msgstr "In ma trận chuyển đổi ra đầu ra chuẩn"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8145,10 +8256,12 @@ msgstr "vector, tôpô"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8164,10 +8277,14 @@ msgstr "vector, tôpô"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8275,8 +8392,8 @@ msgstr "Xóa nội dung khung hiển thị kích hoạt bằng mầu do người
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 #, fuzzy
 msgid "export"
 msgstr "Nhập"
@@ -8318,7 +8435,7 @@ msgstr "Nhập tập tin SPOT VGT NDVI vào một bản đồ raster GRASS"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8347,15 +8464,16 @@ msgstr "ảnh"
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "Nhập"
@@ -8418,7 +8536,7 @@ msgstr ""
 #: ../locale/scriptstrings/r.shade_to_translate.c:10
 #, fuzzy
 msgid "Name of shaded raster map"
-msgstr "Tên của bản đồ raster lớp phủ"
+msgstr "Tên của bản đồ raster thứ hai"
 
 #: ../locale/scriptstrings/r.shade_to_translate.c:11
 #: ../locale/scriptstrings/d.shade_to_translate.c:10
@@ -8504,7 +8622,7 @@ msgstr "Schema mới"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "Đổi bản đồ raster 3D thành bản đồ raster 2D"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8514,6 +8632,107 @@ msgstr ""
 msgid "inputs"
 msgstr "Đầu vào"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "Đổi bản đồ raster 3D thành bản đồ raster 2D"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "raster, đại số bản đồ"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "Tên của bản đồ raster 3D đầu vào"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "Số lượng lớp cần định nghĩa"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "Bản đồ raster đầu vào"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8566,21 +8785,12 @@ msgid ""
 "datasets."
 msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "raster, đại số bản đồ"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8589,11 +8799,13 @@ msgstr "raster, đại số bản đồ"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8601,54 +8813,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "Tên của bản đồ raster 3D đầu vào"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "Số lượng lớp cần định nghĩa"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "Bản đồ raster đầu vào"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8663,7 +8834,8 @@ msgstr "Tên của bản đồ raster"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "vec-tơ, trích xuất"
@@ -8900,7 +9072,7 @@ msgstr "Phương pháp nội suy"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "Phương pháp nội suy sử dụng"
 
@@ -9020,6 +9192,49 @@ msgstr ""
 msgid "Name of attribute column(s) to drop"
 msgstr "Số cột"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "Danh sách giá trị, cách nhau bởi dấu phẩy"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "Tên của tập tin đầu ra lưu giữ báo cáo"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "Tạo một CSDL rỗng."
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "Số lượng lớp cần định nghĩa"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "Bản đồ raster đầu ra"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9246,7 +9461,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9491,6 +9706,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9560,10 +9776,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "Mở rộng phạm vi của vị trí dựa trên bộ dữ liệu mới"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "Ghi đè phép chiếu (dùng phép chiếu của vị trí)"
@@ -9572,7 +9792,8 @@ msgstr "Ghi đè phép chiếu (dùng phép chiếu của vị trí)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "Không thể lấy đơn vị phép chiếu của vị trí hiện tại"
@@ -9593,21 +9814,21 @@ msgstr ""
 "biến."
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr "Quét tập tin dữ liệu để lấy phạm vi và thoát"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 msgid "In scan mode, print using shell script style"
 msgstr "Ở chế độ quét, in bằng cách dùng dạng tập lệnh shell"
 
@@ -9631,21 +9852,21 @@ msgid "Name for output raster map"
 msgstr "Tên của bản đồ raster đầu ra"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 msgid "Statistic to use for raster values"
 msgstr "Phép thống kê dùng cho các giá trị raster"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr "Thống kê"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "Kiểu lưu trữ cho bản đồ raster kết quả"
@@ -9686,17 +9907,17 @@ msgid "Scaling factor to apply to value column data"
 msgstr "Hệ số tỷ lệ dùng cho các giá trị của cột thuộc tính"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "Phần trăm bản đồ được giữ trong bộ nhớ"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 msgid "pth percentile of the values"
 msgstr "Số phần trăm pth của các giá trị"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9799,8 +10020,8 @@ msgid "Remove existing color table"
 msgstr "Loại bỏ bảng màu hiện có"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9845,19 +10066,20 @@ msgid ""
 msgstr "Đổi các lớp vec-tơ OGR thành bản đồ vec-tơ GRASS."
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "Tập tin raster cần nhập"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
 "Tên lớp OGR, nếu không được cung cấp, tất cả các lớp dùng được đều được nhập "
 "vào"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "Tên của bản đồ raster đầu ra (mặc định: tên đầu vào)"
@@ -9878,6 +10100,11 @@ msgstr "Tên của bản đồ raster đầu ra (mặc định: tên đầu vào
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9900,10 +10127,15 @@ msgstr "Tên của bản đồ raster đầu ra (mặc định: tên đầu vào
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "Đầu ra"
@@ -9914,29 +10146,30 @@ msgid "Output vector map extent"
 msgstr "Bản đồ vec-tơ đầu ra dùng để lưu lỗi"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "Canh thẳng vùng hiện tại theo bản đồ đầu vào"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "Lỗi khi đang đọc tập tin ASCII: '%s'"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "Ngưỡng bắt điểm đối với ranh giới"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr "'-1' là không bắt điểm"
 
@@ -9952,17 +10185,67 @@ msgid "-1 to list available datum transform parameters"
 msgstr "Số chỉ mục của các tham số chuyển đổi mốc tọa độ chuẩn"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "Liệt kê các định dạng được hỗ trợ và thoát"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "Liệt kê các lớp hiện có trong nguồn dữ liệu và thoát"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "Không thể lấy đơn vị phép chiếu của vị trí hiện tại"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "Trình bày một thước tỷ lệ trên màn hình đồ họa."
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "Tạo bộ bản đồ nếu nó không tồn tại"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+#, fuzzy
+msgid "Remove all frames, erase the screen and exit"
+msgstr "Loại bỏ tất cả các khung và xóa màn hình"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "In ra đường dẫn tìm kiếm bộ bản đồ hiện tại"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "In ra các tham số kết nối hiện hành và thoát"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+#, fuzzy
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr "Vị trí đặt ở dạng phần trăm của tọa độ màn hình (0,0 là góc dưới trái)"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10127,7 +10410,7 @@ msgstr "Ghép khảm tối đa 4 ảnh và mở rộng bản đồ màu; tạo m
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10136,7 +10419,7 @@ msgstr "Ghép khảm tối đa 4 ảnh và mở rộng bản đồ màu; tạo m
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10146,7 +10429,7 @@ msgid "geometry"
 msgstr "vector, hình học"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10205,7 +10488,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "Số lượng các điểm nội suy"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10231,16 +10518,16 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "Băng cần chọn (mặc định là tất cả các băng)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 #, fuzzy
 msgid "Maximum memory to be used (in MB)"
 msgstr "Bộ nhớ lớn nhất cần dùng với cờ -m (theo MB)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10299,12 +10586,12 @@ msgid "Optional"
 msgstr "Tên tập tin đầu ra không hợp lệ <%s>"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "Không thực hiện việc tối ưu hóa kiểu xén vùng"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "Vị trí màn hình theo tọa độ địa lý"
@@ -10404,7 +10691,7 @@ msgstr ""
 "Tạo một lớp bản đồ raster với các vùng liền nhau được làm lớn lên từ một ô."
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10418,7 +10705,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "Bán kính của vùng đệm tính theo ô raster"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "Hệ mét"
 
@@ -10450,14 +10737,14 @@ msgstr ""
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "Cập nhật thống kê của bản đồ raster"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10526,6 +10813,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10533,7 +10831,8 @@ msgid ""
 msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "Phép chọn"
@@ -10578,6 +10877,63 @@ msgstr "Nếu không được cung cấp, tên của bản đồ đầu vào đ
 msgid "Name of table to drop"
 msgstr "Tên của cột thuộc tính được dùng cho tùy chọn 'query'"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr ""
+"Tạo một bản đồ vec-tơ GRASS với các đường bình độ được chỉ định từ một lớp "
+"bản đồ raster."
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "Độ tương phản"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "Khoảng tăng dần giữa các cấp bình độ"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "Danh sách các cấp bình độ"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "Cấp đường bình độ nhỏ nhất"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "Cấp đường bình độ lớn nhất"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "Số điểm nhỏ nhất cho một đường bình độ (0 -> không hạn chế)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "Bản đồ raster đầu vào"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "Không tạo bảng thuộc tính"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10603,6 +10959,20 @@ msgstr "Định dạng OGR."
 msgid "Name for output table (default: input name)"
 msgstr "Tên của bản đồ raster đầu ra (mặc định: tên đầu vào)"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "Đổi bản đồ raster 3D thành bản đồ raster 2D"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10754,6 +11124,66 @@ msgstr "Tên của bảng thuộc tính mới (mặc định: tên bản đồ v
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "Đổi bản đồ raster 3D thành bản đồ raster 2D"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "Kiểu đối tượng"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "Tên của cột thuộc tính dùng làm nhãn"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+msgid "Smooth corners of area features"
+msgstr "Làm trơn các góc của các đối tượng vùng"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "Giá trị dịch chuyển đối với các tọa độ z"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr ""
+"Ghi các giá trị raster thành tọa độ z. Bảng không được tạo ra. Hiện tại chỉ "
+"hỗ trợ cho dữ liệu điểm."
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "Không xây dựng tôpô"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr ""
+"Dùng các giá trị raster làm phạm trù thay vì dùng trình tự không trùng (chỉ "
+"áp dụng cho CELL)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10765,6 +11195,7 @@ msgid "Vector map to which to join other table"
 msgstr "bản đồ vector cần chỉnh sửa bảng thuộc tính"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10774,6 +11205,7 @@ msgid "Layer where to join"
 msgstr "Lớp cần thêm cột vào"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "Cột"
@@ -10861,7 +11293,6 @@ msgstr "Tên của bản đồ raster đầu ra (mặc định: tên đầu vào
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11176,6 +11607,10 @@ msgstr ""
 "giá trị mới cần gán cho cột (các giá trị varchar (biến ký tự) phải ở dạng "
 "trích dẫn trong dấu nháy đơn, ví dụ : 'grass')"
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 #, fuzzy
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
@@ -11470,13 +11905,6 @@ msgstr "Tên của bản đồ raster"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "Số lượng lớp cần định nghĩa"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 #, fuzzy
 msgid "Uploads vector values at positions of vector points to the table."
@@ -11488,23 +11916,32 @@ msgstr "Tải vào bảng các giá trị vector tại vị trí của các đi
 msgid "Name of vector points map for which to edit attributes"
 msgstr "Tên của bản đồ điểm vec-tơ đầu vào để biên tập bảng thuộc tính"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "Tên của cột thuộc tính dùng làm nhãn"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "Tên của bản đồ vec-tơ cần chỉnh sửa"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "Cột"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "Tên của cột thuộc tính dùng làm nhãn"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "Khoảng cách đệm tính theo đơn vị bản đồ"
@@ -11543,78 +11980,94 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "Tên của vị trí mới cần tạo"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "Liệt kê các quy tắc và thoát"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "Liệt kê các quy tắc và thoát"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "Liệt kê các quy tắc và thoát"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 #, fuzzy
 msgid "Install"
 msgstr "xem"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "Các bảng hệ thống thay vì các bảng người dùng"
@@ -11635,20 +12088,26 @@ msgid "Description of the space time dataset"
 msgstr "Tên của CSDL mới"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "Tên của CSDL mới"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11666,10 +12125,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "Các kiểu cần trích xuất"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "In ra ở dạng tập lệnh shell"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "Định dạng đầu ra"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 #, fuzzy
 msgid "Creates a MASK for limiting raster operation."
@@ -11798,8 +12293,8 @@ msgstr "Hệ số nhân"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "Tên cho tập tin đầu ra"
+msgid "Name for output image (or text file for -t)"
+msgstr "Tên của tập tin đầu ra (đừng thêm đuôi mở rộng)"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11816,6 +12311,11 @@ msgstr "nhãn bằng tọa độ thay vì đánh số"
 msgid "Use gnuplot for display"
 msgstr "Chữ cần trình bày"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "Xuất ra tập tin world TIFF"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11830,11 +12330,6 @@ msgstr "Tính toán thống kê một biến từ các ô không rỗng của m
 msgid "series"
 msgstr "địa điểm"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "Tạo một CSDL rỗng."
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11939,6 +12434,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11952,11 +12448,15 @@ msgid "Sill value"
 msgstr "%s: giá trị chỉ định không hợp lệ"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
+msgid "Kappa value"
+msgstr ""
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
 #, fuzzy
 msgid "Name for output variance raster map"
 msgstr "Tên của bản đồ raster hướng đầu ra"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -12040,10 +12540,6 @@ msgid ""
 "space time raster datasets."
 msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -12061,7 +12557,7 @@ msgstr "Không thể mở bản đồ raster <%s>"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12580,7 +13076,7 @@ msgid "radiance"
 msgstr "Phương sai "
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12611,8 +13107,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr "Mô tả dữ liệu"
 
@@ -12818,8 +13315,8 @@ msgstr "Không thể đọc miền fp của bản đồ raster <%s>"
 msgid "Calculating..."
 msgstr "Đang tính toán các bản đồ ..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14883,21 +15380,21 @@ msgstr "Không tìm thấy vị trí đích <%s>"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "Bộ bản đồ <%s> trong vị trí đích <%s> - "
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr "quyền bị từ chối"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 msgid "not found"
 msgstr "không tìm thấy"
@@ -14996,7 +15493,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -15126,7 +15623,7 @@ msgid "Name of target mapset"
 msgstr "Tên của bộ bản đồ đích"
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr "Thiết lập vị trí và bộ bản đồ hiện tại làm đích cho nhóm ảnh"
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15556,52 +16053,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr "Loại bỏ một chữ ký phụ đơn số lượng %d (còn lại %d)"
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "thất bại"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "Tên bản đồ kết quả"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, fuzzy, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr "%s - quá nhiều tập tin 'vá'. Chỉ được phép %d tập tin"
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "Tiêu đề của tập tin raster đầu ra"
@@ -15776,7 +16277,7 @@ msgid "Starting Inverse FFT..."
 msgstr "Đang khởi động IFFT..."
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, c-format
 msgid "Writing raster map <%s>..."
@@ -16200,7 +16701,7 @@ msgstr "Module raster đầu tiên của tôi"
 msgid "My first vector module"
 msgstr "Module vec-tơ đầu tiên của tôi"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 msgid "Unable to set predetermined vector open level"
 msgstr "Không thể thiết lập cấp mở vec-tơ đã định trước"
 
@@ -16353,11 +16854,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -17088,12 +17590,12 @@ msgstr "Các hàng bị thay đổi"
 msgid "Cols changed"
 msgstr "Các cột bị thay đổi"
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "trình bày chỉ mục"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -17102,34 +17604,34 @@ msgstr ""
 "từ một (hoặc nhiều) lớp bản đồ để lấp đầy những vùng \"no data\" (không có "
 "dữ liệu) trong một lớp bản đồ khác."
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "Tên các bản đồ raster được 'vá' với nhau"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "Tên của bản đồ raster kết quả"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "Dùng zero (0) để chỉ sự trong suốt thay vì dùng NULL"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 msgid "The minimum number of input raster maps is two"
 msgstr "Số lượng các bản đồ đầu vào ít nhất là 2"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 msgid "Percent complete..."
 msgstr "Phần trăm hoàn tất..."
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "Đang tạo các tập tin hỗ trợ cho bản đồ raster <%s>"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17149,7 +17651,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "Tên tập tin đầu vào; hoặc nhập \"-\" để đọc từ đầu vào tiêu chuẩn"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "Tiêu đề cho bản đồ raster kết quả"
@@ -17157,7 +17659,7 @@ msgstr "Tiêu đề cho bản đồ raster kết quả"
 #: ../raster/r.in.poly/main.c:56
 #, fuzzy
 msgid "Output raster type"
-msgstr "Kiểu đối tượng"
+msgstr "Tiêu đề bản đồ raster đầu ra"
 
 #: ../raster/r.in.poly/main.c:64
 #, fuzzy
@@ -17580,8 +18082,8 @@ msgstr "Bạn không xuất ra bất kỳ tập tin raster hay địa điểm n
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "Không thể chèn hàng mới: %s"
@@ -17654,59 +18156,17 @@ msgstr "raster, độ cao"
 msgid "Converts a raster map into a vector map."
 msgstr "Đổi một bản đồ raster thành một lớp bản đồ vec-tơ."
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "Kiểu đối tượng"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "Tên của cột thuộc tính dùng làm nhãn"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-msgid "Smooth corners of area features"
-msgstr "Làm trơn các góc của các đối tượng vùng"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr ""
-"Dùng các giá trị raster làm phạm trù thay vì dùng trình tự không trùng (chỉ "
-"áp dụng cho CELL)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 msgid "Attributes"
 msgstr "Thuộc tính"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "Giá trị dịch chuyển đối với các tọa độ z"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr ""
-"Ghi các giá trị raster thành tọa độ z. Bảng không được tạo ra. Hiện tại chỉ "
-"hỗ trợ cho dữ liệu điểm."
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "Không xây dựng tôpô"
-
 #: ../raster/r.to.vect/main.c:112
 #, fuzzy
 msgid "Recommended for massive point conversion"
@@ -17746,23 +18206,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, c-format
 msgid "Unable to create table: %s"
 msgstr "Không thể tạo bảng: %s"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "Không thể cấp các quyền ưu tiên cho bảng <%s>"
@@ -17805,194 +18267,194 @@ msgstr "Không thể thiết lập phép chiếu"
 msgid "Allocating memory and reading input raster map..."
 msgstr "Đang cấp phát bộ nhớ và đọc bản đồ đầu vào..."
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "Quy chiếu lại một bản đồ raster từ một ví trí đến vị trí hiện tại."
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "Vị trí chứa bản đồ vector đầu vào"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "Bề mặt"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "Bộ bản đồ chứa bản đồ vector đầu vào"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "In ra tên của khung hiện tại"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 msgid "Name of input raster map to re-project"
 msgstr "Tên bản đồ raster đầu vào để quy chiếu"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "Đường dẫn tới CSDL GRASS của vị trí đầu vào"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "Tên của bản đồ raster đầu ra (mặc định: tên đầu vào)"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "vùng"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "Độ phân giải cuủa bản đồ đầu ra"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "Liệt kê các bản đồ raster trong vị trí đầu vào và thoát"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "In vùng địa lý hiện tại (kiểu tập lệnh shell)"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr "Vị trí đầu vào và đầu ra không thể giống nhau"
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "Vị trí đầu vào và đầu ra không thể giống nhau"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 msgid "Unable to get projection info of output raster map"
 msgstr "Không thể lấy thông tin phép chiếu của bản đồ raster đầu ra"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 msgid "Unable to get projection units of output raster map"
 msgstr "Không thể lấy đơn vị phép chiếu của bản đồ raster đầu ra"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 msgid "Unable to get projection key values of output raster map"
 msgstr ""
 "Không thể lấy các giá trị quan trọng về phép chiếu của bản đồ raster đầu ra"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "Bộ bản đồ <%s> trong vị trí đầu vào <%s> - %s"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "Đang kiểm tra vị trí <%s>, bộ bản đồ <%s>"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, c-format
 msgid "Required parameter <%s> not set"
 msgstr "Tham số cần thiết <%s> không được thiết lập"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr ""
 "Không tìm thấy bản đồ raster <%s> trong vị trí <%s> trong bộ bản đồ <%s>"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 msgid "Unable to get projection info of input map"
 msgstr "Không thể lấy thông tin phép chiếu của bản đồ đầu vào"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 msgid "Unable to get projection units of input map"
 msgstr "Không thể lấy đơn vị phép chiếu của bản đồ đầu vào"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 msgid "Unable to get projection key values of input map"
 msgstr "Không thể lấy các giá trị quan trọng về phép chiếu của bản đồ đầu vào"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr "Không thể làm việc với dữ liệu không quy chiếu (vị trí kiểu xy)"
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "vào <%s@%s> (vị trí <%s>) ... %s"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 msgid "Input:"
 msgstr "Đầu vào:"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, c-format
 msgid "Cols: %d (%d)"
 msgstr "Cột: %d (%d)"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr "Hàng: %d (%d)"
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, c-format
 msgid "North: %f (%f)"
 msgstr "Bắc: %f (%f)"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr "Nam: %f (%f)"
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, c-format
 msgid "West: %f (%f)"
 msgstr "Tây: %f (%f)"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, c-format
 msgid "East: %f (%f)"
 msgstr "Đông: %f (%f)"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr "Độ p.giải ĐT: %f"
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr "Độ p.giải BN: %f"
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 msgid "Output:"
 msgstr "Đầu ra:"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 msgid "Projecting..."
 msgstr "Đang quy chiếu..."
 
@@ -18038,7 +18500,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -18051,7 +18513,7 @@ msgstr "raster, phân tích cấu trúc cảnh quan, chỉ mục vá"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -18066,7 +18528,7 @@ msgstr "trình bày chỉ mục"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18214,7 +18676,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr ""
 "Tính toán chỉ mục thuộc tính điểm ảnh trung bình trên một bản đồ raster"
@@ -18635,12 +19097,52 @@ msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 "Chế độ 2: bức xạ tích hợp hàng ngày đối với một ngày chọn trước trong năm"
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "Hằng số tăng độ khếch tán"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "Đang ghi bản đồ raster <%s>"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "Bản đồ không hợp lệ <%s>"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "Chi phí iso sai: %f"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "Đang ghi bản đồ raster <%s>"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "Sử dụng tọa độ tâm bản đồ: %f %f"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "Đang ghi bản đồ raster <%s>"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 "Nếu bạn dùng -s và không có các raster chân trời, numpartitions phải =1"
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
@@ -18648,11 +19150,11 @@ msgstr ""
 "Nếu bạn muốn tiết kiệm bộ nhớ và dùng các bóng đổ, bạn phải dùng các chân "
 "trời đã được tính toán trước."
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -19034,7 +19536,7 @@ msgid "cumulative costs"
 msgstr "Chi phí tích lũy tối đa (tùy chọn)"
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "Vị trí: %s\n"
@@ -19855,7 +20357,7 @@ msgstr "Các giá trị độ cao âm ở đầu vào"
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "Tạo thống kê diện tích cho các lớp bản đồ raster."
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 #, fuzzy
 msgid "watershed"
@@ -20044,7 +20546,7 @@ msgstr "Cập nhật thống kê của bản đồ raster"
 msgid "Statistics for <%s> updated"
 msgstr "Thống kê cho <%s> được cập nhật"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
@@ -20052,15 +20554,15 @@ msgstr ""
 "Không thể đổi thông tin phép chiếu của bản đồ raster đầu vào thành định dạng "
 "GRASS để kiểm tra"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 msgid "Over-riding projection check"
 msgstr "Kiểm tra ghi đè phép chiếu"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
 "\n"
@@ -20068,24 +20570,25 @@ msgstr ""
 "Phép chiếu của bộ dữ liệu và vị trí hiện tại không khớp nhau.\n"
 "
\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr "Vị trí PROJ_INFO là:\n"
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr "Bộ dữ liệu PROJ_INFO là:\n"
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr "PROJ_INFO của dữ liệu nhập vào là:\n"
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -20093,7 +20596,7 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
@@ -20101,9 +20604,9 @@ msgstr ""
 "Hãy xem xét việc tạo một vị trí mới từ bộ dữ liệu đầu vào bằng cách dùng "
 "tham số 'location'.\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 msgid "Projection of input dataset and current location appear to match"
 msgstr "Phép chiếu của bộ dữ liệu đầu vào và location hiện tại khớp nhau"
 
@@ -20166,8 +20669,8 @@ msgstr "Đang tạo các tập tin hỗ trợ cho %s"
 msgid "Link to raster map <%s> created."
 msgstr "Bản đồ raster <%s> được tạo ra."
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20189,14 +20692,14 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 #, fuzzy
 msgid "Default region for this location updated"
 msgstr "Thông tin phép chiếu được cập nhật!"
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "<%s> đã là bộ bản đồ hiện tại"
@@ -20226,21 +20729,21 @@ msgstr "Tên của nguồn dữ liệu GDAL phi-tập-tin"
 msgid "Band to select (default is all bands)"
 msgstr "Băng cần chọn (mặc định là tất cả các băng)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 msgid "List supported formats and exit"
 msgstr "Liệt kê các định dạng được hỗ trợ và thoát"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "Mở rộng phạm vi của vị trí dựa trên bộ dữ liệu mới"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20252,13 +20755,23 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "Liệt kê các lớp hiện có trong nguồn dữ liệu và thoát"
+
+#: ../raster/r.external/main.c:123
+#, fuzzy
+msgid "Format: band number,type,projection check"
+msgstr "Định dạng: lớp kiểu đếm nhỏ_nhất lớn_nhất"
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "Hoặc \"-i\" hoặc \"value=\" phải được cung cấp"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20267,31 +20780,31 @@ msgstr "Hoặc \"-i\" hoặc \"value=\" phải được cung cấp"
 msgid "%s= and %s= are mutually exclusive"
 msgstr "Các cờ -s và -n loại bỏ nhau"
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr "Đang tiến hành nhập..."
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "Nhóm ảnh <%s> đã có và sẽ bị ghi đè."
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "Đang đọc bản đồ %s..."
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "Băng được chọn (%d) không tồn tại"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, c-format
 msgid "Imagery group <%s> created"
 msgstr "Nhóm ảnh <%s> được tạo ra"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "Số điểm đầu vào: %d."
@@ -20476,14 +20989,15 @@ msgstr "Tên của bản đồ raster độ dốc đầu ra"
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20777,6 +21291,12 @@ msgstr "Các cờ -s và -n loại bỏ nhau"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "Vị trí <%s> được tạo ra"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, fuzzy, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr "Các cờ -s và -n loại bỏ nhau"
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20852,8 +21372,8 @@ msgid "Importing band %d..."
 msgstr "Đang nhập các điểm..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20976,7 +21496,7 @@ msgstr "%s = %s -- phải lớn hơn 0"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "%s Không thể mở %s"
@@ -22041,7 +22561,8 @@ msgstr "Số lần chạy qua %d..."
 msgid "Unable to write to temp file"
 msgstr "Không thể tạo tập tin tạm"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "Đang tạo các điểm..."
@@ -22088,7 +22609,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "In ra các thống kê ở dạng tập lệnh shell"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22764,24 +23285,24 @@ msgid "unable to open output file"
 msgstr "không thể mở tập tin đầu ra"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr "PHẦN 3: Dòng chảy bề mặt tích luỹ với SFD."
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 #, fuzzy
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr "PHẦN 3: Dòng chảy bề mặt tích lũy với MFD."
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr "MFD: tỷ lệ tích luỹ của phân bố dòng chảy không phải là 1,0 mà là %f"
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, fuzzy, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22789,8 +23310,8 @@ msgid_plural ""
 msgstr[0] "MFD: Một đường dẫn * được xử lý khi phân bố dòng chảy: %d của %d ô"
 msgstr[1] "MFD: Một đường dẫn * được xử lý khi phân bố dòng chảy: %d của %d ô"
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22917,27 +23438,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr "PHẦN %d: Đang đóng các bản đồ."
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr "PHẦN %d: Xác định đường chia nước."
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr "PHẦN 1a (của %1d): Đang khởi tạo bộ nhớ."
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr "PHẦN 1b (của %1d): Đang xác định Dòng chảy ra khỏi Bản đồ."
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 #, fuzzy
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr "MFD: Một đường dẫn * được xử lý khi phân bố dòng chảy: %d của %d ô"
@@ -22952,22 +23473,32 @@ msgstr "PHẦN 4: Xác định chiều dài dốc."
 msgid "Closing accumulation map"
 msgstr "Đóng bản đồ raster g3d\n"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "Đóng bản đồ raster g3d\n"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "Đóng bản đồ raster g3d\n"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "Đóng bản đồ raster g3d\n"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "Đang tính hướng dòng chảy..."
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "Đóng bản đồ raster g3d\n"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "Đóng bản đồ raster g3d\n"
@@ -22995,183 +23526,188 @@ msgstr "Đóng bản đồ raster g3d\n"
 msgid "Closing half basins map"
 msgstr "Đóng bản đồ raster g3d\n"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, fuzzy, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] "PHẦN 1 đang bắt đầu: Đang khởi tạo các biến. %d số phần tổng cộng."
 msgstr[1] "PHẦN 1 đang bắt đầu: Đang khởi tạo các biến. %d số phần tổng cộng."
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 #, fuzzy
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 "Bộ nhớ lớn nhất cần dùng nhỏ hơn 3 MB, thiết lập thành mặc định = 300 MB."
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 #, fuzzy
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr "PHẦN 1b (của %1d): Đang xác định Dòng chảy ra khỏi Bản đồ."
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "Đầu vào"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "Tên bản đồ raster đầu vào"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "Bản đồ đầu vào: Lượng chảy tràn trên một ô"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "Tên của bản đồ raster đầu vào (độ bão hoà)"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "Bản đồ đầu vào:khối địa hình chặn dòng chảy tràn bề mặt, dùng cho USLE"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr ""
 "Giá trị đầu vào: kích thước nhỏ nhất của lưu vực đường chia nước phía ngoài"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr ""
 "Giá trị đầu vào: Độ dài lớn nhất của các dòng chảy bề mặt, dùng cho USLE"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr "Tên của bản đồ raster hướng đầu ra"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "Bản đồ đầu ra: Số lượng ô tháo nước qua mỗi ô"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr "Bản đồ chỉ mục địa hình ln(a/tanB)"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "Bản đồ chỉ mục địa hình ln(a/tanB)"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr "Tên của bản đồ raster hướng đầu ra"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr "Tên của bản đồ raster hướng đầu ra"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr "Tên của bản đồ raster hướng đầu ra"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr "Tên của bản đồ raster hướng đầu ra"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "Bản đồ đầu ra: mỗi nửa lưu vực sẽ được cung cấp một giá trị duy nhất"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr "Tên của bản đồ raster độ dốc đầu ra"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "Bản đồ đầu ra: chiều dài triền dốc và hệ số độ dốc (LS) dùng cho USLE"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr "Tên của bản đồ raster độ dốc đầu ra"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "Bản đồ đầu ra: hệ số độ dốc của triền dốc (S) dùng cho USLE "
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 msgid "Convergence factor for MFD (1-10)"
 msgstr "Hệ số chuyển đổi cho MFD (1-10)"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr "1 = dòng chảy phân tán nhất, 10 = dòng chảy hội tụ nhất. Khuyến cáo: 5"
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr "Bộ nhớ lớn nhất cần dùng với cờ -m (theo MB)"
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr "SFD: dòng chảy một hướng, MFD: dòng chảy nhiều hướng"
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "Chỉ cho phép các dòng nước chảy ngang và đứng"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "Bật tùy chọn hoán đổi bộ nhớ: Lệnh sẽ chạy chậm"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
@@ -23179,32 +23715,32 @@ msgstr ""
 "Chỉ cần hiết nếu yêu cầu bộ nhớ vượt quá RAM; xem tài liệu hướng dẫn cách "
 "tính nhu cầu bộ nhớ"
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr "Dùng tích luỹ dòng chảy dương cho cả các giá trị ước lượng có thể thấp"
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr "Xem hướng dẫn để biết mô tả chi tiết đầu ra tích luỹ dòng chảy"
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 msgid "Sorry, you must choose an output map."
 msgstr "Xin lỗi, bạn phải chọn một bản đồ đầu ra nào đó."
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "%s = %s - phải là một số dương"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 #, fuzzy
 msgid ""
 "Sorry, if any of the following options are set:\n"
@@ -23215,12 +23751,12 @@ msgstr ""
 "    basin, stream, half.basin, slope, hay lS\n"
 "    thì bạn PHẢI cung cấp một giá trị cho tham số ngưỡng lưu vực."
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "Vị trí kiểu Vĩ/Kinh độ không được hỗ trợ"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr "Tiến trình con thất bại với mã thoát %d"
@@ -23405,21 +23941,21 @@ msgstr "bắc=%f"
 msgid "Could not read maximum distance. Aborting."
 msgstr "Không thể đọc khoảng cách lớn nhất. Đang bỏ."
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr "ÔI: các hàng bị thay đổi từ %d thành %d"
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr "ÔI: các cột bị thay đổi từ %d thành %d"
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "Đang ttính bản đồ %01d trong %01d (góc %lf, bản đồ raster <%s>)"
@@ -23623,7 +24159,7 @@ msgstr "Xuất ra tập tin world TIFF"
 msgid "Converting <%s>..."
 msgstr "Đang chuyển đổi %s ..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "Kiểu raster <%s> không khớp"
@@ -23698,7 +24234,7 @@ msgid ""
 msgstr "Tính toán thống kê một biến từ các ô không rỗng của một bản đồ raster."
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23711,11 +24247,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "Không thể mở bản đồ raster <%s>"
@@ -23728,61 +24267,88 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr ""
+"Dùng cùng độ phân giải với bản đồ RASTER3D đầu vào cho các bản đồ 2D đầu ra, "
+"không phụ thuộc vào thiết lập vùng hiện tại."
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "Tính toán thống kê một biến từ các ô không rỗng của một bản đồ raster."
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "Hai tham số input= và source= loại bỏ nhau"
+
 #: ../raster/r.regression.line/main.c:50
 #, fuzzy
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr "Tính toán hồi quy tuyến tính từ hai bản đồ raster: y = a + b*x"
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr ""
 "Tạo một lớp bản đồ raster về khoảng cách đến các đối tượng trong lớp đầu vào."
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "Tên của bản đồ khoảng cách đầu ra"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr "Tên của bản đồ raster đầu ra"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "Khoảng cách lớn nhất giữa các điểm tính theo đơn vị bản đồ."
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "Khoảng cách tối đa đến đường gần nhất"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 msgid "At least one of distance= and value= must be given"
 msgstr "Ít nhất một trong hai 'distance=' và 'value=' phải được cung cấp"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "Hệ mét không biết: [%s]."
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "Khoảng cách lớn nhất giữa các điểm tính theo đơn vị bản đồ."
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "Không thể tạo tập tin tạm <%s>"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23793,67 +24359,72 @@ msgstr "Không thể tạo tập tin tạm <%s>"
 msgid "Reading raster map <%s>..."
 msgstr "Đang đọc bản đồ raster <%s>... "
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "Đang ghi bản đồ raster đầu ra %s..."
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "Không thể đọc bảng màu cho bản đồ raster <%s>"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "raster, dữ liệu rỗng"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 msgid "Manages NULL-values of given raster map."
 msgstr "Quản lý các giá trị NULL của một bản đồ raster cho trước."
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "bản đồ raster 3d để thay đổi các giá trị rỗng"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "Danh sách các giá trị ô cần được thiết lập thành NULL"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "Giá trị dùng để thay thế cho giá trị rỗng theo"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr "Chỉ thực hiện nếu bản đồ thuộc kiểu dấu chấm động"
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr "Chỉ thực hiện nếu bản đồ thuộc kiểu số nguyên"
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr "Chỉ thực hiện nếu bản đồ không có tập tin bitmap giá trị NULL"
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr "Tạo tập tin bitmap giá trị NULL xác thực tất cả các ô dữ liệu"
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr "Loại bỏ tập tin bitmap giá trị NULL"
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+#, fuzzy
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr "Tạo tập tin bitmap giá trị NULL xác thực tất cả các ô dữ liệu"
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
@@ -23862,62 +24433,63 @@ msgstr ""
 "Bản đồ raster <%s> là phân loại lại của bản đồ <%s@%s>. Cân nhắc việc tạo "
 "một bản sao bằng r.mapcalc. Đang thoát."
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "Bản đồ raster <%s> không ở trong bộ bản đồ <%s> của bạn"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, c-format
 msgid "%s is illegal entry for null"
 msgstr "%s là mục không hợp lệ dùng cho null"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "Bản đồ raster <%s> đã có một tập tin bitmap null"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "<%s> là bản đồ raster kiểu số nguyên (CELL)"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "<%s> là bản đồ raster kiểu số nguyên (CELL). Dùng null=%d."
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "<%s> là bản đồ raster kiểu dấu chấm động"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "Ghi đang ghi tập tin null mới cho bản đồ raster <%s>... "
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, c-format
 msgid "Raster map <%s> modified."
 msgstr "Bản đồ raster <%s> được thay đổi."
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "Đang loại bỏ tập tin null của bản đồ raster <%s>..."
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s: %s: giá trị chỉ định không hợp lệ"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, c-format
 msgid "%s: illegal value spec"
 msgstr "%s: giá trị chỉ định không hợp lệ"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "Đang ghi dữ liệu mới cho bản đồ raster <%s>..."
@@ -23966,7 +24538,7 @@ msgstr "Kiểu không hiểu: %d"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "Không thể đóng bản đồ raster <%s@%s>"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 msgid "Unable to close output raster map"
 msgstr "Không thể đóng bản đồ raster đầu ra"
 
@@ -24089,21 +24661,26 @@ msgstr "'Hạt gieo' để sinh số ngẫu nhiên"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "Đang ghi bản đồ..."
+
+#: ../raster/r.mapcalc/main.c:167
 #, fuzzy, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr "Các cờ -s và -n loại bỏ nhau"
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "raster"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr "(Các) lỗi dấu chấm động xảy ra trong tính toán"
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr "Tràn bộ nhớ xảy ra trong quá trình tính toán"
 
@@ -24112,115 +24689,127 @@ msgstr "Tràn bộ nhớ xảy ra trong quá trình tính toán"
 msgid "Known functions:"
 msgstr "Các hàm đã biết:"
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr ""
 "Nhập một tập tin raster nhị phân vào thành một lớp bản đồ raster GRASS."
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "Tập tin raster cần nhập"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "Băng cần chọn (mặc định là tất cả các băng)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "Tên của vị trí đích cho ảnh"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr ""
 "Tên của vị trí để đọc phép chiếu dùng cho việc chuyển đổi các điểm khống chế"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "Tên của bản đồ raster độ cao đầu vào [mét]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "Tên của vị trí mới cần tạo"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "Không thể mô tả bảng <%s >"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "Ghi đè phép chiếu (dùng phép chiếu của vị trí)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "In ra các tham số kết nối hiện hành và thoát"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "Giữ số hiệu băng thay vì sử dụng tên màu của băng"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "In ra các bảng và thoát"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr "Bạn phải chỉ định một vị trí đích khác với vị trí đầu ra"
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 #, fuzzy
 msgid "You need to specify valid location name."
 msgstr "Bạn phải chỉ định bản đồ trên cùng và dưới cùng"
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+#, fuzzy
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr "Số lượng miền phụ phải bằng hoặc lớn hơn 1"
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "Không thể mở nguồn dữ liệu <%s>"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, c-format
 msgid "Raster map <%s> already exists"
 msgstr "Bản đồ raster <%s> đã có"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 #, fuzzy
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
@@ -24229,15 +24818,15 @@ msgstr ""
 "Bản đồ raster đầu vào bị xoay - không thể nhập được. Bạn có thể dùng "
 "'gdalwarp' để chuyển bản đồ thành Bắc hướng lên trên."
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
@@ -24245,93 +24834,98 @@ msgstr ""
 "Không thể đổi phép chiếu của bản đồ đầu vào thành định dạng GRASS; không thể "
 "tạo vị trí mới."
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "Không thể tạo vị trí: %s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "Đang tiến hành nhập..."
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "Không thể mở tập tin chữ ký"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "Không thể lấy bằng raster"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "Đang chép %d GCP trong tập tin điểm cho <%s>"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr "Các GCP có Hệ Tọa độ WKT OpenGIS sau: "
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 msgid "Re-projecting GCPs table:"
 msgstr "Đang quy chiếu lại bảng GCP: "
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "* Phép chiếu đầu vào dùng cho bảng GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "* Phép chiếu đầu ra dùng cho bảng GCP: %s"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "Lỗi trong pj_do_proj (không thể quy chiếu lại GCP %i)"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "Không thể dịch các giá trị chính của phép chiếu trong các GCP đầu vào"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 msgid "Unable to get projection info of target location"
 msgstr "Không thể lấy thông tin phép chiếu của vị trí đích"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 msgid "Unable to get projection units of target location"
 msgstr "Không thể lấy đơn vị phép chiếu của vị trí đích"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 msgid "Unable to get projection key values of target location"
 msgstr "Không thể lấy các giá trị chính của phép chiếu của vị trí đích"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "Đang ghi bản đồ raster <%s>..."
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "Thiết lập bảng màu thang xám cho <%s> (8 bit, miền đầy đủ)"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "Thiết lập bảng màu thang xám cho <%s> (16 bit, miền theo ảnh)"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "Không thể mở tập tin cell [%s]."
@@ -24567,7 +25161,7 @@ msgstr "Đang ghi bản đồ vec-tơ <%s>..."
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, c-format
@@ -24922,33 +25516,38 @@ msgstr "Chỉ có %d đơn_vị%s được cho phép"
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "Không thể đọc miền fp cho bản đồ raster <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "'layer' phải > 0 đối với 'cats'."
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr ""
 "\n"
 "Đang ghi tập tin raster... "
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "Tương quan"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "Tạo các giá trị cell ngẫu nhiên có sự phụ thuộc không gian."
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "khoảng cách lớn nhất từ điểm đến mạng lưới"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "Số lần lặp lớn nhất: %d\n"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25401,33 +26000,33 @@ msgstr ""
 msgid "Maximal number of iterations"
 msgstr "Số lần lặp tối đa"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "%s: Không thể tìm thấy khung bao dùng cho các đường"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr "Khung bao:  l (trái) = %d, r (phải) = %d, t (trên) = %d, b (dưới) = %d"
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, c-format
 msgid "Pass number %d"
 msgstr "Số lần chạy qua %d"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, fuzzy, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] "Đã xoá %d điểm ảnh"
 msgstr[1] "Đã xoá %d điểm ảnh"
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr "Việc làm mảnh hoàn tất thành công."
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 "Việc làm mảnh không hoàn tất, cân nhắc việc tăng tham số 'iterations' (số "
@@ -26516,162 +27115,237 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "'layer' phải > 0"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr "Đang quét dữ liệu..."
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr "Miền:     tối thiểu       tối đa\n"
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "Không thể tạo tập tin tạm"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr ""
 "Tạo một bản đồ raster từ sự tập hợp nhiều tọa độ bằng các dùng thống kê một "
 "biến."
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "Tập tin đầu vào"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "Tập tin chứa các quy tắc mã hoá"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "Không tìm thấy các điểm dữ liệu"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "Giá trị dịch chuyển đối với các tọa độ z"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "vector, chuyển đổi"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 msgid "Filter range for z data (min,max)"
 msgstr "Miền giá trị lọc cho dữ liệu z (min,max)"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr "Tỷ lệ áp dụng cho dữ liệu z"
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+#, fuzzy
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+"Bỏ <trim> phần trăm các quan sát nhỏ nhất và <trim> phần trăm các quan sát "
+"lớn nhất"
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "Tiêu đề của tập tin raster đầu ra"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "Các giá trị số nguyên được nhập vào"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "Các giá trị số nguyên được nhập vào"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "Chỉ in ra lịch sử thay vì thông tin"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
-msgid "Override dataset projection (use location's projection)"
-msgstr "Ghi đè phép chiếu của dữ liệu (dùng phép chiếu của vị trí)"
+#: ../raster/r.in.lidar/main.c:246
+#, fuzzy
+msgid "Set computation region to match the new raster map"
+msgstr "Thiết lập vùng khớp với bản đồ raster sau"
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:288
+#, c-format
+msgid "Flag %c makes sense only with %s option or -%c flag"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "Nhóm <%s> không tồn tại"
+
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
+msgstr "miền giá trị z (zrange) sẽ không được xem xét trong quá trình quét"
+
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
 #, fuzzy, c-format
 msgid "Input file <%s> does not exist"
 msgstr "Nhóm <%s> không tồn tại"
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
 #, c-format
 msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
-#, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "Không hiểu tùy chọn quy tắc: '%s'"
-
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
-"Không thể đổi phép chiếu của bản đồ đầu vào thành định dạng GRASS để kiểm tra"
 
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
-msgstr "GRASS LOCATION PROJ_INFO là:\n"
-
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr ""
-"Hãy cân nhắc việc tạo vị trí mới với tham số 'location' từ bộ dữ liệu đầu "
-"vào.\n"
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "Không hiểu tùy chọn quy tắc: '%s'"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 msgid "Invalid zrange"
 msgstr "Miền zrange không hợp lệ"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-"Không thể tính toán số phần trăm mà không có tùy chọn pth được chỉ định!"
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-"Không thể tính toán trị trung bình bị cắt bớt nếu tùy chọn trim không được "
-"chỉ định!"
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr "miền giá trị z (zrange) sẽ không được xem xét trong quá trình quét"
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "Vị trí <%s> được tạo ra"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 msgid "Reading data ..."
 msgstr "Đang đọc dữ liệu ..."
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "Không thể mở tập tin đầu ra <%s>."
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 msgid "Writing to map ..."
 msgstr "Đang ghi bản đồ..."
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
 #, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
+#, fuzzy, c-format
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%lu điểm tìm thấy trong vùng."
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
-msgstr "Đang quét dữ liệu..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
+msgstr ""
+"Không thể tính toán số phần trăm mà không có tùy chọn pth được chỉ định!"
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
-msgstr "Miền:     tối thiểu       tối đa\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
+msgstr ""
+"Không thể tính toán trị trung bình bị cắt bớt nếu tùy chọn trim không được "
+"chỉ định!"
+
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "Không thể mở tập tin [%s] để đọc"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr "GRASS LOCATION PROJ_INFO là:\n"
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr ""
+"Hãy cân nhắc việc tạo vị trí mới với tham số 'location' từ bộ dữ liệu đầu "
+"vào.\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr ""
+"Không thể đổi phép chiếu của bản đồ đầu vào thành định dạng GRASS để kiểm tra"
 
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
@@ -26905,12 +27579,6 @@ msgstr "Lấy lại tỷ lệ %s[%d,%d] thành %s[%d,%d]"
 msgid "Header File = %s"
 msgstr "Tập tin header = %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, c-format
-msgid "Unable to create file <%s>"
-msgstr "Không thể tạo tập tin <%s>"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27754,6 +28422,13 @@ msgstr "Vui lòng chỉ định số dòng bỏ qua hợp lý"
 msgid "Invalid vrange"
 msgstr "Miền zrange không hợp lệ"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27811,6 +28486,11 @@ msgstr "Dòng tọa độ y tồi %lu cột %d. <%s>"
 msgid "Writing to output raster map..."
 msgstr "Đang ghi bản đồ raster đầu ra %s..."
 
+#: ../raster/r.in.xyz/main.c:1155
+#, c-format
+msgid "%lu points found in region."
+msgstr "%lu điểm tìm thấy trong vùng."
+
 #: ../raster/r.relief/main.c:112
 msgid "Creates shaded relief map from an elevation map (DEM)."
 msgstr "Tạo bản đồ nổi đổ bóng từ một bản đồ độ cao (DEM)."
@@ -28179,27 +28859,27 @@ msgstr "Tập tin raster đầu vào"
 msgid "Delete the null file"
 msgstr "Tập tin raster đầu vào"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "Bảng phạm trù cho [%s] được thiết lập thành %s"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] là sự phân loại lại của một bản đồ khác. Đang thoát."
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "Ghi đang ghi tập tin null cho [%s]... "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "Đang loại bỏ tập tin null cho [%s]...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "Xong."
 
@@ -28236,32 +28916,12 @@ msgstr ""
 "Tạo một bản đồ vec-tơ GRASS với các đường bình độ được chỉ định từ một lớp "
 "bản đồ raster."
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "Khoảng tăng dần giữa các cấp bình độ"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "Danh sách các cấp bình độ"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "Danh sách các cấp bình độ"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "Cấp đường bình độ nhỏ nhất"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "Cấp đường bình độ lớn nhất"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "Số điểm nhỏ nhất cho một đường bình độ (0 -> không hạn chế)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -28272,29 +28932,31 @@ msgstr "Hoặc 'rules' hoặc 'col' phải được chỉ định"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, c-format
 msgid "Unable to create table: '%s'"
 msgstr "Không thể tạo bảng: '%s'"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "Không thể tạo chỉ mục cho bảng <%s>, khoá <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 msgid "Writing attributes..."
 msgstr "Đang ghi các thuộc tính..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "Không thể chèn bản ghi mới: '%s'"
@@ -29126,11 +29788,6 @@ msgstr "Tên của bản đồ vec-tơ kiểu điểm kết thúc"
 msgid "Size of point cache"
 msgstr "Kích thước của bộ nhớ đệm kiểu điểm (point cache)"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "Bản đồ raster đầu ra"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29442,7 +30099,8 @@ msgstr "Kiểu cột không được hỗ trợ (phải là kiểu chuỗi)"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 msgid "Unable to select data from table"
 msgstr "Không thể chọn dữ liệu từ bảng"
 
@@ -30094,11 +30752,11 @@ msgstr "In ra ở dạng tập lệnh shell"
 msgid "3D Raster map <%s> not found"
 msgstr "Không tìm thấy bản đồ raster 3D <%s>"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 msgid "Error while reading history file"
 msgstr "Lỗi khi đang đọc tập tin lịch sử"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -30295,6 +30953,39 @@ msgstr ""
 msgid "Update range"
 msgstr "Miền dữ liệu đầu ra"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "Phương sai "
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr ""
+"Kết hợp các bản đồ raster đỏ, lục, và xanh thành một bản đồ tổ hợp duy nhất."
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr "Tên của bản đồ raster đầu ra"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "Kích thước của bộ nhớ đệm kiểu điểm (point cache)"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "Không thể cấp phát bộ nhớ"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "Đang ghi bản đồ raster mới..."
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30468,6 +31159,148 @@ msgstr "Ngày_giờ, ngày_giờ_1/ngày_giờ_2, hoặc none"
 msgid "Timestamp format is invalid"
 msgstr "Định dạng đánh dấu thời gian không biết: "
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "Vui lòng cung cấp ba bản đồ g3d RGB"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "Không tìm thấy bản đồ vector <%s>"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "Đang tính hướng dòng chảy..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "Tên của bản đồ điểm vec-tơ đầu vào để biên tập bảng thuộc tính"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "Tên của bản đồ vec-tơ cần chỉnh sửa"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr "Tên của bản đồ raster hướng đầu ra"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "Tên của các bản đồ raster dùng cho độ bóng"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "%s trong %s: %s"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "Số lần chạy lặp"
+
+#: ../raster3d/r3.flow/main.c:244
+#, fuzzy
+msgid "Default unit is cell"
+msgstr "Chiều rộng của suối (theo mét). Mặc định là chiều rộng của ô raster"
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "Phương pháp nội suy"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "Không có bản đồ raster nào được chỉ định"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "CSDL mặc định không được thiết lập"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "Số lần chạy lặp tối đa"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "Số lần chạy lặp tối đa"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "Số lượng ô giữa các đường dòng chảy"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "Không thể mô tả bảng <%s >"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "Bản đồ vec-tơ <%s> không phải kiểu 3D"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "Lỗi khi đọc dữ liệu 'hue' (màu sắc)"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "Chi phí cho các đường cùng giá trị"
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30999,6 +31832,60 @@ msgstr "Đang xây dựng lại tôpô cho bản đồ vector chứa lỗi..."
 msgid "Failed to find intersection segment"
 msgstr "Thất bại trong việc diễn giải width (chiều rộng) ở dạng số nguyên"
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "Không thể chèn vào bảng: '%s'"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "Không thể mở bản đồ vector <%s>"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "Bảng <%s> không có trong CSDL <%s>"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "Bản đồ raster <%s> đã có và sẽ bị ghi đè"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "Bản đồ raster <%s> đã có và sẽ bị ghi đè"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "Không thể tạo bản đồ vec-tơ <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "Không thể mở CSDL <%s> bằng trình điều khiển <%s>"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "Không thể tạo bảng <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "Không thể chép bảng thuộc tính vào bản đồ vec-tơ <%s>"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "Không thể tạo bảng <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -31031,7 +31918,7 @@ msgstr ""
 "Cần có đối với lệnh 'connect' (kết nối). Kết nối các điểm theo ngưỡng được "
 "cho."
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -31045,8 +31932,8 @@ msgstr "Tên của bản đồ vector điểm đầu vào"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr "Cần có đối với lệnh 'connect' (kết nối)"
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -31074,82 +31961,123 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+#, fuzzy
+msgid "create turntable on vector network"
+msgstr "Tìm đường dẫn ngắn nhất trên mạng lưới vec-tơ."
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "Không có bảng"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 "Cần có đối với lệnh 'connect' (kết nối). Kết nối các điểm theo ngưỡng được "
 "cho."
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "Tên các tập tin đầu vào"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "Cần có đối với lệnh 'connect' (kết nối)"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr "Gán các phạm trù đơn trị cho các điểm mới"
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 msgid "For operation 'nodes'"
 msgstr "Đối với lệnh 'nodes' (các nốt)"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "Bản đồ vec-tơ chứa các điểm kết thúc"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr "Lớp đường"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 msgid "Unknown operation"
 msgstr "Lệnh không biết"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr "Giá trị ngưỡng phải >=0"
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "Thực hiện phép bảo trì mạng lưới."
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr "Thực hiện phép bảo trì mạng lưới."
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "Không thể mở bản đồ vec-tơ <%s> ở tôpô cấp %d"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d điểm mới được ghi vào đầu ra"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "[%d] đường được đọc và ghi vào đầu ra"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 msgid "Copying attributes..."
 msgstr "Đang chép các thuộc tính..."
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 msgid "Failed to copy attribute table to output map"
 msgstr "Thất bại không cheép được bảng thuộc tính vào bản đồ đầu ra"
@@ -31169,8 +32097,9 @@ msgstr "tìm thấy %d điểm: %.3lf %.3lf %.3lf phạm trù đường: %d"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "điểm"
@@ -31201,9 +32130,9 @@ msgstr "Tên của cột chứa tọa độ y"
 msgid "Name of column containing z coordinate"
 msgstr "Tên của cột chứa tọa độ z"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 msgid "3D output"
 msgstr "Đầu ra 3D"
 
@@ -31410,13 +32339,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "Bản đồ vec-tơ <%s> đã có và sẽ bị ghi đè"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, c-format
 msgid "Vector map <%s> already exists"
 msgstr "Bản đồ vec-tơ <%s> đã có"
@@ -31617,28 +32546,28 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr "Làm cho các góc ngoài cùng thẳng"
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 #, fuzzy
 msgid "Do not make caps at the ends of polylines"
 msgstr "Không tạo chóp (cap) ở đầu các đường"
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "In ra các thuộc tính của bản đồ vec-tơ."
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 "Chọn khoảng cách đệm/khoảng cách nhỏ/góc hoặc cột, không được chọn cả hai."
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31646,169 +32575,169 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "Tùy chọn tỷ lệ đòi hỏi phải có magnitude_map"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "'layer' phải > 0 đối với 'cats'."
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, c-format
 msgid "The tolerance was reset to %g"
 msgstr "Dung sai được thiết lập lại thành %g"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "Yêu cầu xoá không hợp lệ"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, c-format
 msgid "The tolerance in map units = %g"
 msgstr "Dung sai tính theo đơn vị bản đồ = %g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "Không thể đọc bản đồ vec-tơ"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "Không thể chọn dữ liệu từ bảng <%s>"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "Kiểu cột không được hỗ trợ"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 msgid "Buffering areas..."
 msgstr "Đang đệm các vùng..."
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "Không có bản ghi của phạm trù %d trong bảng <%s>"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "Thuộc tính có kích cỡ không hợp lệ (%.3f) đối với phạm trù %d"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "Dung sai tính theo đơn vị bản đồ: %g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "Đang đệm các vùng..."
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "Đệm đường..."
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 msgid "Building parts of topology..."
 msgstr "Đang xây dựng lại các phần của tôpô..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 msgid "Snapping boundaries..."
 msgstr "Đang bắt dính các ranh giới..."
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "Ngắt các vùng"
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 msgid "Removing duplicates..."
 msgstr "Loại bỏ các đối tượng lặp..."
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 msgid "Breaking boundaries..."
 msgstr "Đang ngắt các ranh giới..."
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "Đang làm sạch ranh giới tại các nốt..."
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "Loại bỏ các đoạn thừa"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "Loại bỏ cầu"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 msgid "Attaching islands..."
 msgstr "Đang gắn các đảo..."
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "Đang tính trong tâm cho các vùng..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "Không thể tính toán trọng tâm vùng"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 msgid "Generating list of boundaries to be deleted..."
 msgstr "Đang tạo danh sách các ranh giới cần xoá..."
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 msgid "Deleting boundaries..."
 msgstr "Đang xoá các ranh giới..."
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 msgid "Calculating centroids for areas..."
 msgstr "Đang tính trong tâm cho các vùng..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "Không thể tính toán trọng tâm vùng"
@@ -32002,7 +32931,7 @@ msgstr ""
 #: ../vector/v.surf.rst/main.c:524
 #, fuzzy, c-format
 msgid "Unable to create %s"
-msgstr "Không thể tạo tập tin <%s>"
+msgstr "Không thể tạo bảng: %s"
 
 #: ../vector/v.vol.rst/main.c:555
 #, fuzzy, c-format
@@ -32108,7 +33037,7 @@ msgstr ""
 #: ../vector/v.vol.rst/user1.c:280
 #, fuzzy
 msgid "Zero segments!"
-msgstr "Phép chọn"
+msgstr "Đang xử lý các vùng..."
 
 #: ../vector/v.vol.rst/user1.c:311
 #, c-format
@@ -32200,7 +33129,7 @@ msgstr "thất bại"
 msgid "Not enough disk space--cannot write files"
 msgstr "%d byte trên đĩa để chứa các tập tin tạm."
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -32250,11 +33179,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -32265,15 +33195,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -32281,12 +33211,12 @@ msgstr ""
 msgid "Cost"
 msgstr "Độ tương phản"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 msgid "Node cost column (number)"
 msgstr "Cột chi phí nốt (số)"
 
@@ -32314,12 +33244,12 @@ msgstr "Kiểu đối tượng"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "Không thể tạo bản đồ vec-tơ <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 #, fuzzy
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr "Cấp phát các mạng lưới con cho các tâm gần nhất (hướng từ tâm)."
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 #, fuzzy
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
@@ -32328,7 +33258,7 @@ msgstr ""
 "Nốt trung tâm phải mở (chi phí >=0). Các chi phí của nốt trung tâm được dùng "
 "trong tính toán"
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 #, fuzzy
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
@@ -32337,29 +33267,47 @@ msgstr ""
 "Phạm trù của các tâm (các điểm trên các nốt) mà mạng lưới sẽ được cấp phát "
 "vào đó, lớp dùng cho các phạm trù này do tùy chọn nlayer cung cấp"
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "Lớp/bảng"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "Khoảng cách lớn nhất đến mạng lưới"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "Số lượng tâm: [%d] (nlayer: [%d])"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 #, fuzzy
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr "Không đủ các tâm dùng cho nlayer được chọn. Không có gì được cấp phát."
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "Đang tính các chi phí từ các tâm ..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 msgid "Cannot get line segment, segment out of line"
 msgstr "Không thể lấy đoạn của đường, đoạn nằm ngoài đường"
 
@@ -32709,83 +33657,83 @@ msgstr ""
 "các thuộc tính"
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "Đầu vào thất bại"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "Tạo ngẫu nhiên một bản đồ điểm vector 2D/3D."
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 msgid "Number of points to be created"
 msgstr "Số lượng điểm cần tạo"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "đọc các điểm trong véc-tơ đầu vào"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "Chiều cao z nhỏ nhất (cần cờ -z hoặc tên cột)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "Chiều cao z lớn nhất (cần cờ -z hoặc tên cột)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "Tên của cột chứa thuộc tính w để nội suy"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "Ghi dữ liệu Z vào cột thay vì vào vec-tơ 3D"
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "Kiểu bảng màu"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "Tạo đầu ra 3D"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "Đang chọn các đối tượng..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "Số lượng điểm phải > 0 (bạn cho %d)"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d trong số %d đối tượng được chọn từ bản đồ vec-tơ <%s>"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "Tên của bản đồ vec-tơ hiện có"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr "Bảng chỉ được phép có hai cột"
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
@@ -32793,18 +33741,18 @@ msgstr ""
 "Bạn đã tạo kiểu cột không được hỗ trợ. Mô-đun này chỉ hỗ trợ các kiểu cột  "
 "INTEGER (số nguyên)
và DOUBLE PRECISION"
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "Bản đồ vector bắt đầu <%s> không chứa các điểm nằm trong vùng hiện tại"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "Bản đồ vector bắt đầu <%s> không chứa các điểm nằm trong vùng hiện tại"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 msgid "Generating points..."
 msgstr "Đang tạo các điểm..."
 
@@ -32997,6 +33945,159 @@ msgstr "Không thể nào cập nhật được CSDL"
 msgid "Impossible to write in the database"
 msgstr "Không thể nào ghi được CSDL"
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "Tổng quát hoá (%s) ..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "Phép phân loại điểm"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "Không tìm thấy các điểm dữ liệu"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "Các giá trị số nguyên được nhập vào"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "Các giá trị số nguyên được nhập vào"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "<%s=%s> số lượng điểm không hợp lệ"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "Giá trị dung sai lớn nhất"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "Số lượng lần chạy lặp \t= %d ô\n"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "Số lượng lần chạy lặp \t= %d ô\n"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "Độ lệch chuẩn"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "Miền zrange không hợp lệ"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -33068,7 +34169,7 @@ msgstr "Các bảng hệ thống thay vì các bảng người dùng"
 msgid "Force 2D output even if input is 3D "
 msgstr "Buộc đầu ra là các giá trị nguyên"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -33287,6 +34388,183 @@ msgstr "Không thể chọn thuộc tính"
 msgid "Labeled %d lines."
 msgstr "%d đường được gán nhãn."
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "Không tìm thấy các điểm dữ liệu"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "raster"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%d khối gộp."
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "Sự phân biệt nhóm"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "Số lớp (bản đồ vec-tơ A)"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "Khoảng cách lớn nhất đến mạng lưới"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "Số điểm ảnh tối thiểu trong một lớp"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "Sự phân biệt nhóm"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "Số lớp phải < 256"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "Kích thước vùng lân cận phải dương"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "Đang đếm các địa điểm trong các mẫu ô vuông..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "Không tìm thấy điểm, bỏ qua type=point"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "Đang tạo các trọng tâm..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "%s = %s - phải là một số dương"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "Dùng khoảng cách lớn nhất giữa các điểm: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "Không tìm thấy các bản đồ raster"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "Khoảng cách tối đa đến đường gần nhất"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, fuzzy, c-format
+msgid "Mean: %g"
+msgstr "Trung bình = %.5lf"
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "Độ lệch chuẩn"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "Dùng khoảng cách lớn nhất giữa các điểm: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "Đang tìm đường dẫn chi phí..."
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, fuzzy, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr "npoints = %d, nterrain = %d"
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "Không tìm thấy đường, bỏ qua type=line"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "Đang ghi bản đồ raster đầu ra %s..."
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "Đang đọc các đầu vào..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "Không tìm thấy các điểm dữ liệu"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+#, fuzzy
+msgid "Core density ..."
+msgstr "vector, mật độ nhân"
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "tìm thấy %d lớp"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "tìm thấy %d lớp"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -33355,7 +34633,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr "Trình bày kiểu cột/tên của kết nối CSDL của lớp %d:"
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33659,14 +34937,8 @@ msgstr "Không có bản ghi nào được chọn"
 msgid "Loading data..."
 msgstr "Đang nạp dữ liệu..."
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "Bản đồ vec-tơ <%s> không phải kiểu 3D"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "Không tìm thấy cột <%s>"
@@ -33722,17 +34994,17 @@ msgstr "Đang tạo các tập tin hỗ trợ cho bản đồ raster..."
 msgid "Color can be updated from database only if use=attr"
 msgstr "Màu chỉ có thể được cập nhật từ CSDL khi nào use=attr"
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr "Số vùng đã được chuyển đổi: %d trong số %d"
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr "Số điểm/đường đã được chuyển đổi: %d trong số %d"
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 msgid "Reading areas..."
 msgstr "Đang đọc các vùng..."
 
@@ -33898,17 +35170,17 @@ msgstr "Tham số cột không thể phối hợp được với việc dùng t
 msgid "Unknown option '%s'"
 msgstr "Không hiểu tùy chọn '%s'"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 "Tạo một vòng tròn kết nối các nốt cho trước (Bài toán người bán hàng di "
 "chuyển)."
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
@@ -33916,66 +35188,66 @@ msgstr ""
 "Lưu ý rằng TSP là NP-hard, thuật toán tìm kiếm được mô-đun này sử dụng và "
 "vòng tròn được tạo ra có thể không tối ưu"
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+"Các phạm trù của các điểm ('các thành phố') trên các nốt (lớp được chỉ định "
+"bằng nlayer)"
+
+#: ../vector/v.net.salesman/main.c:162
 msgid "Node layer (used for cities)"
 msgstr "Lớp nốt (dùng chỉ các thành phố)"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 #, fuzzy
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr "Cột chi phí của cung lui/cả hai hướng (số)"
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr ""
 "Tên tập tin đầu ra (nếu bỏ qua hoặc \"-\" thì xuất ra đầu ra tiêu chuẩn)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-"Các phạm trù của các điểm ('các thành phố') trên các nốt (lớp được chỉ định "
-"bằng nlayer)"
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "Số lượng thành phố: [%d]"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 msgid "Not enough cities (< 2)"
 msgstr "Không đủ số thành phố (< 2)"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "Đang tạo các trọng tâm..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "Không có điểm có phạm trù [%d]"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "Không có bản ghi cho điểm (cat = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "Nốt đích [%d] không thể chạm đến được tính từ nốt [%d]"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "Không thể mở tập tin <%s> để ghi"
@@ -34143,6 +35415,21 @@ msgstr "Chọn kiểu: đường hoặc vùng"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "4 tham số cần phải có cho tham số 'spatial'"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "Không hiểu tùy chọn quy tắc: '%s'"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "Kiểm tra ghi đè phép chiếu"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -34271,7 +35558,7 @@ msgid "Processing features..."
 msgstr "Đang xử lý các đối tượng..."
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 msgid "Unable to calculate area centroid"
 msgstr "Không thể tính toán trọng tâm vùng"
 
@@ -34339,7 +35626,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "Không thể dùng cột <%s>"
@@ -34754,7 +36041,7 @@ msgstr "Không có điểm có phạm trù [%d]"
 msgid "%d records updated"
 msgstr "%d bản ghi được cập nhật"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34860,9 +36147,8 @@ msgstr "Lệnh không biết"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "Không thể thẻ hoá chuỗi cột: [%s]"
 
-#: ../vector/v.transform/main.c:277
-#, fuzzy
-msgid "Tranforming features..."
+#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
+msgid "Transforming features..."
 msgstr "Đang chuyển đổi các đối tượng..."
 
 #: ../vector/v.transform/main.c:290
@@ -35312,7 +36598,7 @@ msgstr "Lỗi mở bản đồ raster 3d <%s>"
 msgid "Column type not supported, please use a column with double type"
 msgstr "Kiểu cột không được hỗ trợ (phải là kiểu chuỗi)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "Đang đọc các đối tượng..."
@@ -35396,6 +36682,10 @@ msgstr "Số cột"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 msgid "Columns"
 msgstr "Cột"
 
@@ -35465,55 +36755,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "In các giá trị được tính trung bình thay vì các khoảng chia đều"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "Không tìm thấy cột <%s> trong bảng <%s>"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "Kiểu raster là số nguyên và kiểu cột là float"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr "Kiểu raster là float và kiểu cột là số nguyên, một số dữ liệu bị mất!!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "Tìm thấy %d đường hoặc ranh giới trong bản đồ vec-tơ <%s@%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d điểm nằm ngoài vùng hiện tại bị bỏ qua"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, c-format
 msgid "%d points without category were skipped"
 msgstr "%d điểm không có phạm trù bị bỏ qua"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "Nhiều điểm (%d) có phạm trù %d, giá trị thiết lập thành 'NULL'"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d phạm trù được nạp từ dữ liệu vec-tơ"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "%d phạm trù lặp trong dữ liệu vec-tơ"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d phạm trù được nạp từ bảng"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "%d phạm trù từ dữ liệu vec-tơ bị thiếu trong bảng"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d bản ghi được cập nhật"
@@ -36352,7 +37647,8 @@ msgstr "In ra các thống kê ở dạng tập lệnh shell"
 #: ../vector/v.external.out/args.c:98
 #, fuzzy, c-format
 msgid "%s= or %s= must be specified"
-msgstr "Hoặc 'rules' hoặc 'col' phải được chỉ định"
+msgstr ""
+"Một trong các tùy chọn \"color\", \"rast\" OR \"rules\" PHẢI được chỉ định!"
 
 #: ../vector/v.external.out/args.c:101
 #, fuzzy, c-format
@@ -36389,53 +37685,63 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 msgid "Prints vector map attributes."
 msgstr "In ra các thuộc tính của bản đồ vec-tơ."
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+#, fuzzy
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr "Các điều kiện WHERE của câu lệnh SQL không có từ khóa 'where'"
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "Dấu phân cách bản ghi theo chiều đứng ở đầu ra"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 "In ra phạm vi vùng nhỏ nhất của các đối tượng vec-tơ được chọn thay vì thuộc "
 "tính"
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "Vùng\n"
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "Tạo ra các giá trị cho CSDL từ các đối tượng vec-tơ."
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "Không thể mở bản đồ vector <%s> ở cấp tôpô. Cờ '%c' đòi hỏi cấp tôpô."
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 msgid "Unable to open select cursor"
 msgstr "Không thể mở con trỏ chọn"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "Không thể lấy dữ liệu từ bảng <%s>"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "Không thể lấy khung bao quanh của vùng %d"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "Không thể lấy khung bao quanh của đường %d"
@@ -36727,7 +38033,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "%d bản ghi được chọn từ bảng"
 msgstr[1] "%d bản ghi được chọn từ bảng"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, c-format
 msgid "Unable to create table <%s>"
 msgstr "Không thể tạo bảng <%s>"
@@ -36754,7 +38060,7 @@ msgstr ""
 msgid "Querying database... "
 msgstr "Đang truy vấn CSDL..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
@@ -36764,14 +38070,14 @@ msgstr ""
 "quá nhiều phạm trù truy vấn (%d). Tất cả các giá trị báo cáo sau đó về cat 0 "
 "đều không hợp lệ."
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 "Ra nhiều kết quả truy vấn, giá trị đầu ra được thiết lập thành NULL (phạm "
 "trù [%d])"
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 msgid "Unable to fetch record"
 msgstr "Không thể lấy bản ghi"
 
@@ -36787,6 +38093,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "Không tìm thấy bảng màu của bản đồ raster <%s>"
+
 #: ../vector/v.to.db/update.c:83
 msgid "Updating database..."
 msgstr "Đang cập nhật CSDL..."
@@ -37065,7 +38376,8 @@ msgstr "%s sẽ tích lũy những giá trị này thay vì tính diện tích.\
 msgid " Database connection not defined for layer <%s>"
 msgstr "Kết nối CSDL không được định nghĩa cho lớp <%d>"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "Kiểu của cột không được hỗ trợ"
@@ -37084,53 +38396,53 @@ msgstr "[%d] điểm không có phạm trù (nfield: [%d])"
 msgid "Wrong input format: %s"
 msgstr "Định dạng đầu vào sai: %s"
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, c-format
 msgid "No point with category [%d]"
 msgstr "Không có điểm có phạm trù [%d]"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 "Điểm có phạm trù [%d] không chạm đến được tính từ điểm có phạm trù [%d]"
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr "Điểm %f,%f không chạm đến được từ điểm %f,%f"
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, c-format
 msgid "[%d] input format errors"
 msgstr "[%d] lỗi định dạng đầu vào"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, c-format
 msgid "[%d] points of given category missing"
 msgstr "[%d] điểm của phạm trù cho trước bị thiếu"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr "%d đích không chạm đến được (tính cả các điểm nằm ngoài ngưỡng)"
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr "Tìm đường dẫn ngắn nhất trên mạng lưới vec-tơ."
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 "Tên của tập tin chứa các điểm bắt đầu và kết thúc. Nếu không cung cấp, đọc "
 "từ đầu vào tiêu chuẩn"
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 msgid "Maximum distance to the network"
 msgstr "Khoảng cách lớn nhất đến mạng lưới"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
@@ -37140,7 +38452,7 @@ msgstr ""
 "kết thúc nằm ngoài ngưỡng, không tìm thấy đường dẫn và thông báo lỗi được in "
 "ra. Để tăng tốc quá trình, giữ giá trị này càng thấp càng tốt."
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 "Ghi đầu ra ở dạng các đoạn đầu vào nguyên thủy, không phải dạng mỗi đường "
@@ -37735,46 +39047,50 @@ msgstr "Số lượng điểm tối đa trong một đoạn"
 msgid "Add new vertices, but do not split"
 msgstr "Đang tạo tập tin cats mới..."
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "Ghi đỉnh của đường"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "Hệ số làm trơn phải là giá trị dương"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "Kiểu cột không biết '%s'"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "Không thể lấy đơn vị phép chiếu của bản đồ đầu vào"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "%s trong %s: %s"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "%s trong %s: %s"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "Số lớp phải < 256"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr ""
@@ -37877,10 +39193,6 @@ msgstr "Cột phải có kiểu số"
 msgid "Reading categories..."
 msgstr "Đang gắn các phạm trù..."
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-msgid "Transforming features..."
-msgstr "Đang chuyển đổi các đối tượng..."
-
 #: ../vector/v.to.3d/trans3.c:101
 #, c-format
 msgid "Feature id %d has no category - skipping"
@@ -38054,7 +39366,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "Nội suy các điểm giữa các đỉnh của đường"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, c-format
 msgid "Unable to copy table <%s>"
 msgstr "Không thể chép bảng <%s>"
@@ -38321,112 +39633,112 @@ msgstr ""
 "Để định nghĩa một kết nối mới bạn phải chỉ định những tham số sau: trình "
 "điều khiển, CSDL, bảng [, khóa [, lớp]]"
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "Quy chiếu lại một bản đồ raster từ một ví trí đến vị trí hiện tại."
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 msgid "Location containing input vector map"
 msgstr "Vị trí chứa bản đồ vector đầu vào"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 msgid "Mapset containing input vector map"
 msgstr "Bộ bản đồ chứa bản đồ vector đầu vào"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "Tên bản đồ raster đầu vào để quy chiếu"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "Bộ bản đồ chứa bản đồ vector đầu vào"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "Liệt kê các tập tin vec-tơ trong vị trí đầu vào và thoát"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 msgid "3D vector maps only"
 msgstr "chỉ các bản đồ vec-tơ 3D"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 #, fuzzy
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr "Giả định tọa độ z là chiều cao theo ellipsoid và chuyển đổi nếu được"
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "Không tìm thấy các bản đồ raster"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "Không thấy bản đồ vec-tơ <%s> trong vị trí <%s> trong bộ bản đồ <%s>"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr "Bộ bản đồ <%s> trong vị trí đầu vào <%s> - không được phép"
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "Không tìm thấy bộ bản đồ <%s> trong vị trí đầu vào <%s>"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 msgid "Reading input vector map"
 msgstr "Đang đọc bản đồ vec-tơđầu vào"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "Bản đồ vec-tơ đầu vào <%s> không phải kiểu 3D!"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr "Lỗi trong pj_do_transform"
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "Đang tham chiếu lại các đối tượng nguyên thủy:"
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "Không thể mở bản đồ vec-tơ <%s@%s>"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr ""
 "Tạo một lớp bản đồ vec-tơ mới bằng cách tổ hợp các lớp bản đồ vec-tơ khác."
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
@@ -38434,99 +39746,120 @@ msgstr ""
 "Tên của bản đồ vec-tơ đầu ra nơi các khung bao của các bản đồ vec-tơ đầu vào "
 "được ghi vào đó"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "Không xây dựng tôpô"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
 msgstr ""
-"Gắn các tập tin vào tập tin hiện có (việc ghi đè các tập tin phải được kích "
-"hoạt)"
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:98
 msgid "Copy also attribute table"
 msgstr "Chép cả bảng thuộc tính"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr "Hiện tại chỉ có bảng thuộc tính của lớp 1 được hỗ trợ"
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+"Gắn các tập tin vào tập tin hiện có (việc ghi đè các tập tin phải được kích "
+"hoạt)"
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr "Bảng bị thiếu"
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 msgid "Key columns differ"
 msgstr "Các cột khoá khác nhau"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 msgid "Number of columns differ"
 msgstr "Số lượng cột khoá khác nhau"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 msgid "Column names differ"
 msgstr "Tên các cột khác nhau"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 msgid "Column types differ"
 msgstr "Kiểu các cột khác nhau"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 msgid "Length of string columns differ"
 msgstr "Chiều dài các cột kiểu chuỗi khác nhau"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 msgid "Key column not found"
 msgstr "Không tìm thấy cột khoá"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 msgid "The output map is not 3D"
 msgstr "Bản đồ đầu ra không phải 3D"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "Đang ghi bản đồ..."
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr "Lỗi đọc bản đồ vec-tơ <%s> - một số dữ liệu có thể không đúng"
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "Đang xây dựng tôpô cho bản đồ vec-tơ <%s>..."
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr "Giao điểm tại các biên sẽ phải được bắt dính vào nhau"
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr "Các đường chung giữa các tập tin sẽ phải được hiệu chỉnh"
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 msgid "The header information also may have to be edited"
 msgstr "Thông tin header cũng có thể phải được hiệu chỉnh."
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, c-format
 msgid "%d vector maps patched"
 msgstr "%d bản đồ vec-tơ được vá"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "Không thể mở con trỏ chọn: '%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 msgid "Cannot fetch row"
 msgstr "Không thể lấy hàng"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 msgid "Unknown column type"
 msgstr "Kiểu cột không biết"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "Không thể chèn bản ghi mới: '%s'"
@@ -39208,16 +40541,12 @@ msgstr[1] "%d đỉnh bị loại bỏ"
 msgid "Operation not implemented"
 msgstr "Lệnh không được thực hiện"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "Đổi các lớp vec-tơ OGR thành bản đồ vec-tơ GRASS."
 
-#: ../vector/v.in.ogr/main.c:142
-msgid "OGR datasource name"
-msgstr "Tên nguồn dữ liệu OGR"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: directory containing shapefiles\n"
@@ -39227,7 +40556,7 @@ msgstr ""
 "
\t\tESRI Shapefile: thư mục chứa các tập tin shape\n"
 "\t\tMapInfo File: thư mục chứa các tập tin mapinfo"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 msgid ""
 "Examples:\n"
 "\t\tESRI Shapefile: shapefile name\n"
@@ -39237,48 +40566,48 @@ msgstr ""
 "
\t\tESRI Shapefile: tên tập tin shape\n"
 "\t\tMapInfo File: tên tập tin mapinfo"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 msgid "Import subregion only"
 msgstr "Chỉ nhập vùng con"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "Định dạng: xmin,ymin,xmax,ymax  - thường là T,N,Đ,B"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "Kích thước nhỏ nhất của vùng cần nhập (đơn vị vuông)"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr "Những vùng nhỏ hơn và các đảo bị bỏ qua. Phải lớn hơn snap^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 msgid "Optionally change default input type"
 msgstr "Tùy chọn thay đổi kiểu đầu vào mặc định"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "Không có các điểm khống chế được kích hoạt"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "Đang làm sạch ranh giới tại các nốt..."
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "Xây dựng các đường từ các đường thẳng hoặc ranh giới."
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "Loại bỏ các trọng tâm vùng bị lặp"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
@@ -39286,170 +40615,170 @@ msgstr ""
 "Danh sách tên các cột cần dùng thay vì các tên nguyên thủy, cột đầu tiên "
 "được dùng làm cột phạm trù"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "Tên của cột dùng làm nhãn phạm trù raster"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "Số cột"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "Nếu không được cung cấp, tên của bản đồ đầu vào được sử dụng"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "Không làm sạch các đa giác (không khuyến cáo)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "Buộc đầu ra là các giá trị nguyên"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 msgid "Limit import to the current region"
 msgstr "Giới hạn nhập theo vùng hiện tại"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr "Thay đổi tên các cột thành ký tự thường"
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, c-format
 msgid "Unable to open data source <%s>"
 msgstr "Không thể mở nguồn dữ liệu <%s>"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "Vị trí con trỏ không được trình điều khiển MySQL hỗ trợ"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, fuzzy, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr "Nguồn dữ liệu chứa %d lớp:"
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, c-format
 msgid "Layer <%s> not available"
 msgstr "Lớp <%s> không dùng được"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "Lớp <%s> không dùng được"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "Không thể lấy thông tin lớp của bản đồ  vec-tơ <%s>"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "Không tìm thấy cột <%s> trong bảng <%s>"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 "Hoặc là chọn cờ vùng hiện tại hoặc chọn tùy chọn spatial (không gian), không "
 "được chọn cả hai"
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "4 tham số cần phải có cho tham số 'spatial'"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "Khoảng cách đệm tính theo đơn vị bản đồ"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "Không thể tạo bản đồ vec-tơ <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "Không tìm thấy cột key '%s'"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "Cột khoá không phải là số nguyên"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "Không tìm thấy cột <%s> trong bảng <%s>"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr "Đang ghi cột <%s> với chiều dài cố định %d ký tự (có thể bị cắt bớt)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr "Đang ghi cột <%s> với chiều dài cố định %d ký tự (có thể bị cắt bớt)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
@@ -39458,65 +40787,65 @@ msgstr ""
 "Chiều rộng của cột %s được thiết lập là 255 (không phải do OGR chỉ định), "
 "một số chuỗi có thể bị cắt bớt!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr "Đang ghi cột %s với chiều dài cố định %d ký tự (có thể bị cắt bớt)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "Kiểu cột không được hỗ trợ (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "Đang nhập bản đồ, %d đối tượng..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s không có hình học"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "Ngắt các vùng"
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "Bắt dính các ranh giới (ngưỡng = %.3e):"
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 msgid "Cleaning boundaries at nodes..."
 msgstr "Đang làm sạch ranh giới tại các nốt..."
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "Đang ngắt các ranh giới..."
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "Thay đổi các đoạn thừa của ranh giới thành đường:"
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "Thay đổi các cầu ranh giới thành đường:"
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "Đang tính trong tâm cho các vùng..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 msgid "Writing centroids..."
 msgstr "Đang ghi các trọng tâm..."
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39528,99 +40857,99 @@ msgstr ""
 "1 hàng trong bảng thuộc tính. Số đối tượng cho những vùng đó được lưu thành "
 "phạm trù trong lớp %d"
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d đa giác đầu vào"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, c-format
 msgid "%d input polygons"
 msgstr "%d đa giác đầu vào"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "Tổng diện tích: %e (%d vùng)"
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "Tổng diện tích: %e (%d vùng)"
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "Diện tích chồng: %e (%d vùng)"
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "Diện tích chồng: %e (%d vùng)"
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "Diện tích không có phạm trù: %e (%d vùng)"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "Diện tích không có phạm trù: %e (%d vùng)"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "Ngưỡng bắt điểm đối với ranh giới"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "Không thể bỏ bảng: %s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -39669,17 +40998,21 @@ msgstr "Không thể ghi một phần của hình học"
 msgid "Unknown geometry type"
 msgstr "Kiểu hình học không biết"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "Tên cho tập tin đầu ra"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "Tập tin raster cần liên kết"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39691,22 +41024,22 @@ msgstr ""
 "
\t\tESRI Shapefile: tên tập tin shape\n"
 "\t\tMapInfo File: tên tập tin mapinfo"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "Tên của bản đồ raster đầu ra (mặc định: tên đầu vào)"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "Liệt kê các lớp hiện có trong nguồn dữ liệu và thoát"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "Liệt kê các lớp hiện có trong nguồn dữ liệu và thoát"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 #, fuzzy
 msgid "Format: layer name,type,projection check,geometry"
 msgstr "Định dạng: lớp kiểu đếm nhỏ_nhất lớn_nhất"
@@ -39760,7 +41093,7 @@ msgstr ""
 #: ../vector/v.external/list.c:316
 #, fuzzy, c-format
 msgid "Invalid geometry column %d"
-msgstr "Bậc không hợp lệ"
+msgstr "Cột chi phí nốt"
 
 #: ../vector/v.external/main.c:55
 #, fuzzy
@@ -39769,17 +41102,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "Tạo một vec-tơ mới dưới dạng liên kết chỉ-đọc vào lớp OGR."
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "Không thể thực thi: %s"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "Không thể tạo tập tin <%s>"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "Bản đồ raster <%s> được tạo ra."
@@ -39917,16 +41250,16 @@ msgstr "Không thể tạo bản đồ đầu ra"
 msgid "Unable to close new 3d raster map"
 msgstr "Không thể đóng bản đồ raster 3d mới"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "đường"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr "Tách mạng lưới bằng các đường cùng giá trị."
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 #, fuzzy
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
@@ -39937,43 +41270,43 @@ msgstr ""
 "tâm ra). Nốt trung tâm phải mở (chi phí >= 0). Chi phí của nốt trung tâm "
 "được dùng trong tính toán."
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr "Chi phí cho các đường cùng giá trị"
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr "Chi phí iso sai: %f"
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr "Chi phí iso: %f ít hơn trước đó"
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr "Chi phí iso %d: %f"
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr "Không đủ chi phí, mọi đối tượng chạm đến đều thuộc băng đầu tiên"
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr "Tâm tại nốt bị đóng (chi phí = -1) bỏ qua"
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "Số lượng ta6m: %d (nlayer %d)"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr "Không đủ các tâm dùng cho nlayer được chọn. Không có gì được cấp phát."
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "Đang tính các chi phí từ tâm %d...."
@@ -40145,6 +41478,138 @@ msgstr ""
 "
Ghi chú: Giá trị nhỏ nhất của lớp đầu tiên đang được đưa vào\n"
 "
\n"
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "Kết nối CSDL không được định nghĩa cho lớp <%d>"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "Không có bản ghi cho phạm trù cat = %d"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "Không có bản ghi cho phạm trù cat = %d"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "Không tìm thấy cột <%s>"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "Tạo các điểm vector dưới dạng điểm 3D"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "Đổi các lớp vec-tơ OGR thành bản đồ vec-tơ GRASS."
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "Lớp số (from)"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "%ld phạm trù"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "Lớp số (to)"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "Lớp số (to)"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "Lớp cần thêm cột vào"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "Lớp cần thêm cột vào"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "Lớp cần thêm cột vào"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "Cột phải có kiểu số"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "Tên của cột định nghĩa màu (để dùng với cờ -a)"
+
+#: ../vector/v.out.lidar/main.c:588
+#, fuzzy
+msgid "Column with red color"
+msgstr "Không thể đọc màu"
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+#, fuzzy
+msgid "Internal scale to apply to X and Y values"
+msgstr "Tỷ lệ áp dụng cho dữ liệu z"
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+#, fuzzy
+msgid "Internal scale to apply to z values"
+msgstr "Tỷ lệ áp dụng cho dữ liệu z"
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "Giới hạn nhập theo vùng hiện tại"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "Không có bảng"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -40336,7 +41801,7 @@ msgstr "Đang chọn các đối tượng..."
 msgid "Invalid segment number %d for %d points"
 msgstr "<%s=%s> số lượng điểm không hợp lệ"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "Ít nhất là một tùy chọn từ %s phải được chỉ định"
@@ -40648,50 +42113,238 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "Không thể bỏ bảng phụ (auxiliar table)"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "Không thể mở bản đồ vector <%s>"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "Không thể mở CSDL <%s> bằng trình điều khiển <%s>"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "Đổi các lớp vec-tơ OGR thành bản đồ vec-tơ GRASS."
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
-msgstr "Vùng con"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "Lớp số (to)"
 
-#: ../vector/v.in.lidar/main.c:606
-#, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "Không thể mở CSDL <%s> bằng trình điều khiển <%s>"
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "Lớp cần thêm cột vào"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "Tên của bản đồ vec-tơ đầu vào chứa các điểm thưa thớt"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "Số lớp (bản đồ vec-tơ A)"
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "Các giá trị số nguyên được nhập vào"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "Tương quan"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "Các giá trị số nguyên được nhập vào"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "Đang nhập các điểm..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "<%s=%s> số lượng điểm không hợp lệ"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "Bản đồ vec-tơ đầu vào chứa các điểm"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "Tọa độ điểm 'gieo'"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr ""
+"In đầu ra tại stdout (đầu ra tiêu chuẩn), không cập nhật bảng thuộc tính"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
+#, fuzzy, c-format
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "Lớp số (from)"
+
+#: ../vector/v.in.lidar/main.c:619
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %llu points..."
 msgstr "Đang nhập các điểm..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "Scanning %lu points..."
+msgstr "Đang nhập các điểm..."
+
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
 msgstr "%d điểm đã nạp"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:755
+#, fuzzy, c-format
+msgid "%llu points imported"
+msgstr "%d điểm đã nạp"
+
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were skipped by count-based decimation"
 msgstr "%d điểm nằm ngoài ngưỡng"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:777
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu points imported (limit was %d)"
+msgstr "%d điểm đã nạp"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "%d điểm đã nạp"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
 msgstr "%d điểm nằm ngoài ngưỡng"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:791
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were filtered out by class number"
 msgstr "%d điểm nằm ngoài ngưỡng"
 
+#: ../vector/v.in.lidar/main.c:793
+#, fuzzy, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:795
+#, fuzzy, c-format
+msgid "%lu input points were skipped at the begging using offset"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d điểm nằm ngoài ngưỡng"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "%d điểm cuối cùng sẽ bị bỏ"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40862,7 +42515,7 @@ msgstr "Tên của bản đồ vec-tơ dùng để lưu các đối tượng vec
 
 #: ../vector/v.build/main.c:61
 #, fuzzy
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 "Xây dựng tôpô hoặc 'đổ' tôpô hoặc chỉ mục không gian vào đầu ra tiêu chuẩn"
 
@@ -41950,11 +43603,6 @@ msgstr "Không thể tạo ma trận nghịch đảo"
 msgid "Resolving conflicts..."
 msgstr "Đang giải quyết các mâu thuẫn..."
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "Tổng quát hoá (%s) ..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -42128,58 +43776,58 @@ msgstr "Phép tổng quát hoá dựa trên vec-tơ."
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, c-format
 msgid "Generalization (%s)..."
 msgstr "Tổng quát hoá (%s) ..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "Dùng độ phân giải [%g]"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr "Phông '%s' không phải là kiểu phông FreeType\n"
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, fuzzy, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr "Phông '%s' không phải là kiểu phông FreeType\n"
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, fuzzy, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr "%d ranh giới không bị cắt bỏ vì việc này làm hỏng tôpô"
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, fuzzy, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr "Số lượng đỉnh được giảm bớt từ %d xuống %d [%d%%]"
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 #, fuzzy
 msgid "changed"
 msgstr "Các hàng bị thay đổi"
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "Lớp %d"
@@ -42228,74 +43876,6 @@ msgstr "Lớp %d"
 #~ msgid "Number of quartals to use"
 #~ msgstr "Số mẫu ô vuông"
 
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Tên bản đồ raster đầu vào chứa các chi phí va chạm"
-
-#, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "Tên bản đồ raster đầu vào chứa các chi phí va chạm"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Bức xạ khếch tán đầu ra [W.m-2] (chế độ 1) hay tập tin raster bức xạ [Wh."
-#~ "m-2.ngày-1] (chế độ 2) "
-
-#, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Bức xạ phản chiếu mặt đất đầu ra [W.m-2] (chế độ 1) hoặc bản đồ raster "
-#~ "bức xạ [Wh.m-2.ngày-1] (kiểu 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Bức xạ chiếu sáng toàn cục đầu ra [W.m-2] (chế độ 1) hoặc bản đồ raster "
-#~ "bức xạ [Wh.m-2.ngày-1] (chế độ 2)"
-
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Tên của bản đồ raster độ cao [m]"
-
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "Tên của bản đồ raster độ cao đầu vào [mét]"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "Bức xạ phản chiếu mặt đất đầu ra [W.m-2] (chế độ 1) hoặc bản đồ raster "
-#~ "bức xạ [Wh.m-2.ngày-1] (kiểu 2)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "Bức xạ chiếu sáng toàn cục đầu ra [W.m-2] (chế độ 1) hoặc bản đồ raster "
-#~ "bức xạ [Wh.m-2.ngày-1] (chế độ 2)"
-
-#, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "Số lượng các điểm nội suy"
-
-#, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "Ghi đè phép chiếu (dùng phép chiếu của vị trí)"
-
 #~ msgid "Location: %s\n"
 #~ msgstr "Vị trí: %s\n"
 
@@ -42312,24 +43892,28 @@ msgstr "Lớp %d"
 #~ "\n"
 #~ "%d lớp, %.2f%% điểm ổn định\n"
 
+#~ msgid "Subregion"
+#~ msgstr "Vùng con"
+
 #, fuzzy
 #~ msgid "Time increment"
 #~ msgstr "Số gia phạm trù"
 
-#~ msgid "option <%s>: <%s> exists."
-#~ msgstr "tùy chọn <%s>:<%s> đã có."
+#, fuzzy
+#~ msgid "Could not rewind input file"
+#~ msgstr "Không thể mở tập tin đầu ra <%s>."
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "Bản đồ đầu ra"
+#~ msgid "Name for basins raster map"
+#~ msgstr "Tên của bản đồ raster gốc"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "Bản đồ chỉ mục địa hình ln(a/tanB)"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "<%s> đã có trong bộ bản đồ <%s>"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "Tên của bản đồ raster gốc"
+#~ msgid "output map <%s> exists"
+#~ msgstr "Bản đồ đầu ra"
 
 #~ msgid "Page length (default: %d lines)"
 #~ msgstr "Độ dài trang (mặc định: %d dòng)"
@@ -42337,6 +43921,9 @@ msgstr "Lớp %d"
 #~ msgid "Page width (default: %d characters)"
 #~ msgstr "Độ rộng trang (mặc định: %d ký tự)"
 
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "Ghi đè phép chiếu (dùng phép chiếu của vị trí)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to r.in.gdal to override this check and use the "
@@ -42360,6 +43947,12 @@ msgstr "Lớp %d"
 #~ msgid "[%s] not found"
 #~ msgstr "Không tìm thấy [%s]"
 
+#~ msgid "option <%s>: <%s> exists."
+#~ msgstr "tùy chọn <%s>:<%s> đã có."
+
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "Ghi đè phép chiếu của dữ liệu (dùng phép chiếu của vị trí)"
+
 #~ msgid ""
 #~ "\n"
 #~ "You can use the -o flag to %s to override this projection check.\n"
@@ -42377,6 +43970,14 @@ msgstr "Lớp %d"
 #~ "nghĩa vị trí do bộ dữ liệu.\n"
 
 #, fuzzy
+#~ msgid "-%c/-%c and %s= are mutually exclusive"
+#~ msgstr "Các cờ -s và -n loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "-%c/-%c and -%c/-%c are mutually exclusive"
+#~ msgstr "Các cờ -s và -n loại bỏ nhau"
+
+#, fuzzy
 #~ msgid "Location name (not location path)"
 #~ msgstr "Tên của VỊ TRÍ mới (không phải đường dẫn vị trí)"
 
@@ -42385,6 +43986,22 @@ msgstr "Lớp %d"
 #~ msgstr "GISDBASE mới (đường dẫn đầy đủ đến thư mục chứa vị trí mới)"
 
 #, fuzzy
+#~ msgid "Password to set for DB connection"
+#~ msgstr "Không thể thiết lập phép chiếu"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "đổi tất cả các bản đồ vector GRASS kiểu cũ < 5.7 trong bộ bản đồ hiện tại "
+#~ "thành định dạng hiện tại"
+
+#, fuzzy
+#~ msgid "Field separator"
+#~ msgstr "Dấu phân cách trường đầu ra"
+
+#, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Cập nhật mô tả dữ liệu của bản đồ vec-tơ"
 
@@ -42422,169 +44039,68 @@ msgstr "Lớp %d"
 #~ msgid "No default DB driver defined"
 #~ msgstr "Trình điều khiển mặc định không được thiết lập"
 
-#, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "Dấu phân cách trường đầu ra"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "<%s> đã có trong bộ bản đồ <%s>"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "đổi tất cả các bản đồ vector GRASS kiểu cũ < 5.7 trong bộ bản đồ hiện tại "
-#~ "thành định dạng hiện tại"
+#~ msgid "OGR datasource name"
+#~ msgstr "Tên nguồn dữ liệu OGR"
 
 #, fuzzy
 #~ msgid "No flag given"
 #~ msgstr "Tên bản đồ không được cung cấp"
 
-#~ msgid "Renaming reclass maps"
-#~ msgstr "Đang đặt lại tên các bản đồ phân loại lại"
-
-#, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "Không thể đọc tập tin REF của nhóm phụ <%s> trong nhóm <%s>"
-
-#, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d phạm trù được nạp từ bảng <%s>"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "Hoặc là phải nhập chữ hoặc phải dùng cờ -c"
-
-#, fuzzy
-#~ msgid "Option <%s> and <%s> are mutually exclusive"
-#~ msgstr "Các cờ -s và -n loại bỏ nhau"
-
-#, fuzzy
-#~ msgid "input= and file= are mutually exclusive"
-#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "Vui lòng chỉ định cột z"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
-#~ msgstr "Hoặc là phải nhập chữ hoặc phải dùng cờ -c"
-
-#, fuzzy
-#~ msgid "-p and output= are mutually exclusive"
-#~ msgstr "Các cờ -B và -C loại bỏ nhau. Chỉ chọn một mà thôi."
-
-#, fuzzy
-#~ msgid "file= and expression= are mutually exclusive"
-#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
-
-#, fuzzy
-#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
-#~ msgstr "'weight=' và '-c' loại bỏ lẫn nhau"
-
-#~ msgid "weight= and -c are mutually exclusive"
-#~ msgstr "'weight=' và '-c' loại bỏ lẫn nhau"
-
-#, fuzzy
-#~ msgid "weight= and gauss= are mutually exclusive"
-#~ msgstr "'weight=' và '-c' loại bỏ lẫn nhau"
-
-#, fuzzy
-#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
-#~ msgstr "Các cờ -B và -C loại bỏ nhau. Chỉ chọn một mà thôi."
-
-#, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "Giá trị scalex không hợp lệ"
-
 #, fuzzy
-#~ msgid "output= and outfile= are mutually exclusive"
-#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "Không thể tạo tập tin <%s>"
 
 #, fuzzy
-#~ msgid "samplingpos= and outfile= are mutually exclusive"
-#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
+#~ msgid "Starting monitor <%s> with env file '%s'"
+#~ msgstr "Thiết lập tên bản đồ thành <%s>, nó ghi đè <%s>"
 
 #, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "Vui lòng chỉ định cột z"
+#~ msgid "Env file not found"
+#~ msgstr "Không tìm thấy tập tin 3dview <%s>"
 
 #, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "Vui lòng chỉ định cột z"
+#~ msgid "PID file not found"
+#~ msgstr "Không tìm thấy tập tin: %s"
 
 #, fuzzy
-#~ msgid "input= and infile= are mutually exclusive"
-#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
+#~ msgid "Command file not found"
+#~ msgstr "Không tìm thấy cột <%s>"
 
-#, fuzzy
-#~ msgid "datapos= and infile= are mutually exclusive"
-#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
-
-#, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "Vui lòng chỉ định cột z"
-
-#, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "Vui lòng chỉ định cột z"
-
-#, fuzzy
-#~ msgid "Options <%s> and <%s> are mutually exclusive"
-#~ msgstr "Các cờ -s và -n loại bỏ nhau"
-
-#, fuzzy
-#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
-#~ msgstr "Các cờ -s và -n loại bỏ nhau"
-
-#, fuzzy
-#~ msgid "Flags -%c and -%c are mutually exclusive"
-#~ msgstr "Các cờ -s và -n loại bỏ nhau"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "Đang đặt lại tên các bản đồ phân loại lại"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "Các cờ -s và -n loại bỏ nhau"
+#~ msgid "Name for output image"
+#~ msgstr "Tên cho tập tin đầu ra"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Một trong các tùy chọn \"color\", \"rast\" OR \"rules\" PHẢI được chỉ "
-#~ "định!"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "Không thể đọc tập tin REF của nhóm phụ <%s> trong nhóm <%s>"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr ""
-#~ "Một trong các tùy chọn \"color\", \"rast\" OR \"rules\" PHẢI được chỉ "
-#~ "định!"
-
-#~ msgid "Either a standard color name or R:G:B triplet"
-#~ msgstr "Hoặc là một màu chuẩn của GRASS, hoặc bộ ba R:G:B"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d phạm trù được nạp từ bảng <%s>"
 
 #~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
+#~ "Correction of the v.lidar.growing output. It is the last of the three "
+#~ "algorithms for LIDAR filtering."
 #~ msgstr ""
-#~ "Trình bày bản đồ chủ đề vec-tơ kiểu vùng trong khung kích hoạt trên màn "
-#~ "hình đồ họa."
+#~ "Hiệu chỉnh của đầu ra v.lidar.growing. Đây là bước cuối cùng trong ba "
+#~ "thuật toán của phép lọc LIDAR."
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "Màu đễ vẽ chữ"
+#~ msgid "Interpolation spline step value in east direction"
+#~ msgstr "Giá trị bước spline nội suy theo hướng đông"
 
-#, fuzzy
-#~ msgid "Color in GRASS format for drawing grid, or \"none\""
-#~ msgstr "Màu dùng để vẽ lưới, hoặc \"none\""
+#~ msgid "Interpolation spline step value in north direction"
+#~ msgstr "Giá trị bước spline nội suy theo hướng bắc"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
-#~ msgstr "Tên của bản đồ raster đầu ra"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgstr "Tên của bản đồ raster đầu ra (đỏ)"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "Sai số rời rạc tính theo đơn vị bản đồ"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "Tạo ra cả khoảng cách PHÁT HIỆN lớn nhất"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -42730,16 +44246,37 @@ msgstr "Lớp %d"
 #~ msgstr "Dùng cách ghi kiểu toán học trong chú giải"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
-#~ msgstr "Tên của bản đồ raster đầu ra (đỏ)"
+#~ msgid "Name of output basename raster map(s)"
+#~ msgstr "Tên của bản đồ raster đầu ra"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "Tạo ra cả khoảng cách PHÁT HIỆN lớn nhất"
+#~ msgid "Default: input"
+#~ msgstr "Sai số rời rạc tính theo đơn vị bản đồ"
+
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr ""
+#~ "Trình bày bản đồ chủ đề vec-tơ kiểu vùng trong khung kích hoạt trên màn "
+#~ "hình đồ họa."
+
+#~ msgid "Text color or \"none\""
+#~ msgstr "Màu chữ hoặc \"none\""
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "Trình bày"
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "Màu đễ vẽ chữ"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid, or \"none\""
+#~ msgstr "Màu dùng để vẽ lưới, hoặc \"none\""
+
+#~ msgid "Either a standard color name or R:G:B triplet"
+#~ msgstr "Hoặc là một màu chuẩn của GRASS, hoặc bộ ba R:G:B"
+
+#, fuzzy
+#~ msgid "flowline"
+#~ msgstr "đường"
 
 #, fuzzy
 #~ msgid ""
@@ -42747,23 +44284,45 @@ msgstr "Lớp %d"
 #~ msgstr ""
 #~ "Cho phép tạo và/hoặc thay đổi các tập tin hỗ trợ của lớp bản đồ raster."
 
-#, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "Không thể đọc bản đồ vec-tơ"
+#~ msgid "Failed opening input dig file."
+#~ msgstr "Thất bại trong việc mở tập tin dig đầu vào."
 
-#, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "Không thể tạo bảng: %s"
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "Tập tin dig_att không tồn tại."
 
-#, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "Không đủ bộ nhớ"
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "Thất bại trong việc mở tập tin dig_att."
 
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "OLD_T_NEW có mã kiểu tồi [%x]"
+#~ msgid "Attaching categories..."
+#~ msgstr "Đang gắn các phạm trù..."
 
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "NEW_T_OLD có mã kiểu tồi [%x]"
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "Thất bại trong việc gắn một thuộc tính (phạm trù %d) vào một đường."
+
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "Đường %d nhãn: %d khớp với nhãn khác: %d."
+
+#~ msgid "Writing new file..."
+#~ msgstr "Đang ghi tập tin mới..."
+
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "[%d] điểm và đường được ghi vào tập tin đầu ra."
+
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "[%d] trọng tâm được ghi vào tập tin đầu ra."
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Nhập tập tin vec-tơ GRASS kiểu cũ."
+
+#~ msgid "Endian of input vector map"
+#~ msgstr "'Endian' của bản đồ vector đầu vào"
+
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr ""
+#~ "Không tìm thấy các nhãn phạm trù (dig_cats), bảng không được tạo ra."
+
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "Không thể mở tập tin dig_att"
 
 #~ msgid "Reading dig file..."
 #~ msgstr "Đang đọc tập tin dig..."
@@ -42848,189 +44407,41 @@ msgstr "Lớp %d"
 #~ msgid "[%d] categories read into memory"
 #~ msgstr "[%d] phạm trù được đọc vào bộ nhớ"
 
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr ""
-#~ "Không tìm thấy các nhãn phạm trù (dig_cats), bảng không được tạo ra."
-
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "Không thể mở tập tin dig_att"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "Thất bại trong việc mở tập tin dig đầu vào."
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "Tập tin dig_att không tồn tại."
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "Thất bại trong việc mở tập tin dig_att."
-
-#~ msgid "Attaching categories..."
-#~ msgstr "Đang gắn các phạm trù..."
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "Thất bại trong việc gắn một thuộc tính (phạm trù %d) vào một đường."
-
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "Đường %d nhãn: %d khớp với nhãn khác: %d."
-
-#~ msgid "Writing new file..."
-#~ msgstr "Đang ghi tập tin mới..."
-
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "[%d] điểm và đường được ghi vào tập tin đầu ra."
-
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "[%d] trọng tâm được ghi vào tập tin đầu ra."
-
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Nhập tập tin vec-tơ GRASS kiểu cũ."
-
-#~ msgid "Endian of input vector map"
-#~ msgstr "'Endian' của bản đồ vector đầu vào"
-
-#~ msgid "Interpolation spline step value in east direction"
-#~ msgstr "Giá trị bước spline nội suy theo hướng đông"
-
-#~ msgid "Interpolation spline step value in north direction"
-#~ msgstr "Giá trị bước spline nội suy theo hướng bắc"
-
-#~ msgid "Unknown raster map type"
-#~ msgstr "Không hiểu kiểu bản đồ raster"
-
-#~ msgid "Cache size (MiB)"
-#~ msgstr "Kích thước đệm cache (MiB)"
-
-#~ msgid "Can't call bad function"
-#~ msgstr "Không thể gọi một hàm tồi"
-
-#~ msgid "Bad arguments to pointfunc %s"
-#~ msgstr "Các đối số tồi cho hàm điểm (pointfunc) %s"
-
-#~ msgid "No function defined to perform ``point %c point''"
-#~ msgstr "Không có hàm nào được định nghĩa để thực hiện ``điểm %c điểm''"
-
-#~ msgid "Performing 1 arg map function on map %s"
-#~ msgstr "Đang thực hiện hàm bản đồ đối số 1 trên bản đồ %s"
-
-#~ msgid "Performing 2 arg map function on maps %s and %s"
-#~ msgstr "Đang thực hiện hàm bản đồ đối số 2 trên bản đồ %s và %s"
-
-#~ msgid "Performing map %s + %s"
-#~ msgstr "Đang thực hiện bản đồ %s + %s"
-
-#~ msgid "Can't call bad map-function"
-#~ msgstr "Không thể gọi một hàm bản đồ tồi"
-
-#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
-#~ msgstr "Các đối số tồi đối với hàm bản đồ %s (mapfunc) (argc = %d)"
-
-#~ msgid "No function defined to perform map %c map"
-#~ msgstr "Không có hàm nào được định nghĩa để thực hiện bản_đồ %c bản_đồ"
-
-#~ msgid "Can't call bad num-function"
-#~ msgstr "Không thể gọi hàm num tồi"
-
-#~ msgid "Bad arguments to numfunc %s"
-#~ msgstr "Các đối số tồi cho hàm num (numfunc) %s"
-
-#~ msgid "No function defined to perform ``number %c number''"
-#~ msgstr "Không có hàm nào được định nghĩa để thực hiện ``số %c số''"
-
-#~ msgid "Can't call bad any-function"
-#~ msgstr "Không thể gọi một hàm bất kỳ tồi"
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "OLD_T_NEW có mã kiểu tồi [%x]"
 
-#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
-#~ msgstr "Các đối số tồi cho hàm bất kỳ anyfunc %s (argc = %d)"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "NEW_T_OLD có mã kiểu tồi [%x]"
 
 #~ msgid "One or more coordinates"
 #~ msgstr "Một hoặc nhiều tọa độ"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "Không đủ bộ nhớ cho adx"
-
-#~ msgid "Not enough memory for ady"
-#~ msgstr "Không đủ bộ nhớ cho ady"
-
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "Không đủ bộ nhớ cho adxx"
-
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "Không đủ bộ nhớ cho adyy"
-
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "Không đủ bộ nhớ cho adxy"
-
-#~ msgid "Cannot create quaddata"
-#~ msgstr "Không thể tạo quaddata."
-
-#~ msgid "Cannot create quadfunc"
-#~ msgstr "Không thể tạo quadfunc."
-
-#~ msgid "Cannot create tree"
-#~ msgstr "Không thể tạo cây (tree)."
-
-#~ msgid "Cannot create tree info"
-#~ msgstr "Không thể tạo thông tin cây (tree info)."
-
-#~ msgid "sites"
-#~ msgstr "địa điểm"
-
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "Đổi một tập tin site_lists của GRASS thành một bản đồ  vec-tơ."
-
-#~ msgid "Site file <%s> not found"
-#~ msgstr "Không tìm thấy tập tin địa điểm <%s>"
-
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "Không thể đoán định dạng site_list"
-
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "Thất bại trong việc cấp phát cấu trúc địa điểm"
-
-#~ msgid "Input format: dimension: %d strings: %d FP: %d"
-#~ msgstr "Kích thước định dạng đầu vào %d chuỗi: %d FP: %d"
+#~ msgid "Name of elevation map"
+#~ msgstr "Tên của bản đồ độ cao"
 
-#~ msgid ""
-#~ "Floating point category values, using sequential integer for category"
-#~ msgstr ""
-#~ "Các giá trị phạm trù kiểu dấu chấm động, dùng số nguyên liên tục cho phạm "
-#~ "trù"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "Chuỗi ký tự đại diện cho ô không có giá trị"
 
-#~ msgid "No category values, using sequential integer for category"
+#, fuzzy
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
 #~ msgstr ""
-#~ "Không có các giá trị phạm trù , dùng số nguyên liên tục cho phạm trù"
-
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr "Đang chuyển các địa điểm vào bản đồ điểm vec-tơ..."
-
-#~ msgid "%d sites written."
-#~ msgstr "%d địa điểm được ghi."
-
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "Tên của lớp dùng làm INTENSITY (cường độ)"
+#~ "Một trong các tùy chọn \"color\", \"rast\" OR \"rules\" PHẢI được chỉ "
+#~ "định!"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "Tên của lớp dùng làm SATURATION (độ bão hòa)"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "Hệ mét không biết: [%s]."
 
-#, fuzzy
-#~ msgid ""
-#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
-#~ "vector points map."
-#~ msgstr ""
-#~ "Nhập các tập tin quốc gia US-NGA GEOnet Names Server (GNS) vào một bản đồ "
-#~ "vector GRASS kiểu điểm"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "Lỗi khi đang đọc tập tin phạm trù của <%s>"
 
-#, fuzzy
-#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
-#~ msgstr "Tập tin GNS không nén từ NGA (với đuôi mở rộng .txt)"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "Lỗi khi đang đọc tập tin màu của <%s>"
 
-#, fuzzy
-#~ msgid "Create raster map from result (optional)"
-#~ msgstr "Tên của các bản đồ raster dùng cho độ cao"
+#~ msgid "String representing no data cell value"
+#~ msgstr "Chuỗi biểu thị cho các giá trị ô không có dữ liệu"
 
-#, fuzzy
-#~ msgid "Table file to be exported or DB connection string"
-#~ msgstr "Tập tin raster ascii cần nhập"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "Tiện ích nội suy bề mặt dùng cho bản đồ raster."
 
 #, fuzzy
 #~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
@@ -43049,15 +44460,18 @@ msgstr "Lớp %d"
 #~ "với một lớp bản đồ raster độ cao đầu vào chứa các giá trị ô biểu thị chi "
 #~ "phí va chạm."
 
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "Tên của lớp dùng làm INTENSITY (cường độ)"
+
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "Tên của lớp dùng làm SATURATION (độ bão hòa)"
+
 #~ msgid "Name of output layer to be used for GREEN"
 #~ msgstr "Tên của lớp đầu ra dùng làm LỤC"
 
 #~ msgid "Name of output layer to be used for BLUE"
 #~ msgstr "Tên của lớp đầu ra dùng làm XANH"
 
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Tiện ích nội suy bề mặt dùng cho bản đồ raster."
-
 #~ msgid "Surface generation program."
 #~ msgstr "Chương trình tạo bề mặt."
 
@@ -43079,53 +44493,15 @@ msgstr "Lớp %d"
 #~ msgstr[0] "Đang nội suy bản đồ raster <%s> ... %d hàng ... "
 #~ msgstr[1] "Đang nội suy bản đồ raster <%s> ... %d hàng ... "
 
-#~ msgid "lat/lon projection not supported at this time."
-#~ msgstr "Hiện nay phép chiếu vĩ/kinh độ không được hỗ trợ."
-
-#, fuzzy
-#~ msgid "allocation"
-#~ msgstr "Vị trí: %s\n"
-
-#, fuzzy
-#~ msgid "networking"
-#~ msgstr "vector, mạng lưới"
-
-#~ msgid "Name of elevation map"
-#~ msgstr "Tên của bản đồ độ cao"
-
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "Chuỗi ký tự đại diện cho ô không có giá trị"
-
-#, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Một trong các tùy chọn \"color\", \"rast\" OR \"rules\" PHẢI được chỉ "
-#~ "định!"
-
-#, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr ""
-#~ "Một trong các tùy chọn \"color\", \"rast\" OR \"rules\" PHẢI được chỉ "
-#~ "định!"
-
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "Hệ mét không biết: [%s]."
-
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "Lỗi khi đang đọc tập tin phạm trù của <%s>"
-
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "Lỗi khi đang đọc tập tin màu của <%s>"
-
-#~ msgid "String representing no data cell value"
-#~ msgstr "Chuỗi biểu thị cho các giá trị ô không có dữ liệu"
-
 #~ msgid "Output z-file (elevation) map"
 #~ msgstr "Bản đồ tập tin z đầu ra (độ cao)"
 
 #~ msgid "Output aspect map (or fy)"
 #~ msgstr "Bản đồ hướng (hay fy) đầu ra"
 
+#~ msgid "lat/lon projection not supported at this time."
+#~ msgstr "Hiện nay phép chiếu vĩ/kinh độ không được hỗ trợ."
+
 #~ msgid "Prefix for output raster map(s)"
 #~ msgstr "Tiền tố dùng cho (các) bản đồ raster đầu ra"
 
@@ -43156,14 +44532,24 @@ msgstr "Lớp %d"
 #~ msgstr "Chặn cảnh báo"
 
 #, fuzzy
-#~ msgid "High resolution panchromatic image"
+#~ msgid ""
+#~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
+#~ "vector points map."
 #~ msgstr ""
-#~ "Chuyển đổi Brovey để nhập các kênh đa phổ và toàn sắc độ phân giải cao "
-#~ "với nhau"
+#~ "Nhập các tập tin quốc gia US-NGA GEOnet Names Server (GNS) vào một bản đồ "
+#~ "vector GRASS kiểu điểm"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "Tương quan"
+#~ msgid "Name of input uncompressed GNS file from NGA (with .txt extension)"
+#~ msgstr "Tập tin GNS không nén từ NGA (với đuôi mở rộng .txt)"
+
+#, fuzzy
+#~ msgid "Create raster map from result (optional)"
+#~ msgstr "Tên của các bản đồ raster dùng cho độ cao"
+
+#, fuzzy
+#~ msgid "Table file to be exported or DB connection string"
+#~ msgstr "Tập tin raster ascii cần nhập"
 
 #, fuzzy
 #~ msgid "Name of input raster map(s)"
@@ -43188,6 +44574,154 @@ msgstr "Lớp %d"
 #~ msgstr "Bản đồ raster đầu ra (mặc định: tiêu đề đầu vào)"
 
 #, fuzzy
+#~ msgid ""
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr ""
+#~ "Tính toán thống kê một biến từ các ô không rỗng của một bản đồ raster."
+
+#~ msgid "Data to be classified: column name or expression"
+#~ msgstr "Dữ liệu cần phân loại: tên cột hoặc biểu thức"
+
+#, fuzzy
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "Màu dùng để vẽ lưới, hoặc \"none\""
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for drawing null values (X symbol) or \"none\" not "
+#~ "drawing"
+#~ msgstr "Màu dùng để vẽ lưới, hoặc \"none\""
+
+#, fuzzy
+#~ msgid "Color for showing unknown information or \"none\""
+#~ msgstr "Màu để hiển thị thông tin không biết"
+
+#, fuzzy
+#~ msgid ""
+#~ "Color in GRASS format for showing unknown information (? symbol) or \"none"
+#~ "\" not showing"
+#~ msgstr "Màu dùng để vẽ lưới, hoặc \"none\""
+
+#~ msgid "Create grid of points instead of areas and centroids"
+#~ msgstr "Tạo một lưới gồm các điểm thay vì các vùng và các trọng tâm"
+
+#, fuzzy
+#~ msgid "Create grid as lines, instead of areas"
+#~ msgstr "Tạo một lưới gồm các điểm thay vì các vùng và các trọng tâm"
+
+#~ msgid "Invalid distance"
+#~ msgstr "Khoảng cách không hợp lệ"
+
+#~ msgid "Layer number"
+#~ msgstr "Lớp số"
+
+#, fuzzy
+#~ msgid "allocation"
+#~ msgstr "Vị trí: %s\n"
+
+#, fuzzy
+#~ msgid "networking"
+#~ msgstr "vector, mạng lưới"
+
+#, fuzzy
+#~ msgid "input= and file= are mutually exclusive"
+#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "Please specify input= or file="
+#~ msgstr "Vui lòng chỉ định cột z"
+
+#, fuzzy
+#~ msgid "Options <%s> and <%s> are mutually exclusive"
+#~ msgstr "Các cờ -s và -n loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "Options <%s>, <%s>, and <%s> are mutually exclusive"
+#~ msgstr "Các cờ -s và -n loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "-t, -r, rules=, basemap= and fprange= are mutually exclusive"
+#~ msgstr "Các cờ -B và -C loại bỏ nhau. Chỉ chọn một mà thôi."
+
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "Giá trị scalex không hợp lệ"
+
+#, fuzzy
+#~ msgid "file= and expression= are mutually exclusive"
+#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "Either -p or output= must be given"
+#~ msgstr "Hoặc là phải nhập chữ hoặc phải dùng cờ -c"
+
+#, fuzzy
+#~ msgid "-p and output= are mutually exclusive"
+#~ msgstr "Các cờ -B và -C loại bỏ nhau. Chỉ chọn một mà thôi."
+
+#, fuzzy
+#~ msgid "output= and outfile= are mutually exclusive"
+#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "samplingpos= and outfile= are mutually exclusive"
+#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "Vui lòng chỉ định cột z"
+
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "Vui lòng chỉ định cột z"
+
+#, fuzzy
+#~ msgid "datapos= and infile= are mutually exclusive"
+#~ msgstr "Hai tham số input= và source= loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "Please specify input= or infile="
+#~ msgstr "Vui lòng chỉ định cột z"
+
+#, fuzzy
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "Vui lòng chỉ định cột z"
+
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "Trình bày"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "Hoặc là phải nhập chữ hoặc phải dùng cờ -c"
+
+#, fuzzy
+#~ msgid "Option <%s> and <%s> are mutually exclusive"
+#~ msgstr "Các cờ -s và -n loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "radius= and x_radius=/y_radius= are mutually exclusive"
+#~ msgstr "'weight=' và '-c' loại bỏ lẫn nhau"
+
+#~ msgid "weight= and -c are mutually exclusive"
+#~ msgstr "'weight=' và '-c' loại bỏ lẫn nhau"
+
+#, fuzzy
+#~ msgid "weight= and gauss= are mutually exclusive"
+#~ msgstr "'weight=' và '-c' loại bỏ lẫn nhau"
+
+#, fuzzy
+#~ msgid "High resolution panchromatic image"
+#~ msgstr ""
+#~ "Chuyển đổi Brovey để nhập các kênh đa phổ và toàn sắc độ phân giải cao "
+#~ "với nhau"
+
+#, fuzzy
+#~ msgid "High Pass Filter Options"
+#~ msgstr "Tương quan"
+
+#, fuzzy
 #~ msgid "Name of elevation raster map"
 #~ msgstr "Tên bản đồ raster đầu vào"
 
@@ -43203,31 +44737,145 @@ msgstr "Lớp %d"
 #~ msgid "No maps output"
 #~ msgstr "Không có bản đồ đầu ra"
 
+#~ msgid "Color for drawing grid or \"none\""
+#~ msgstr "Màu để vẽ lưới hoặc \"none\""
+
+#~ msgid "Gather the histogram quietly"
+#~ msgstr "Thu thập thông tin vẽ biểu đồ tần số một cách im lặng"
+
+#~ msgid "Not enough memory for adx"
+#~ msgstr "Không đủ bộ nhớ cho adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "Không đủ bộ nhớ cho ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "Không đủ bộ nhớ cho adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "Không đủ bộ nhớ cho adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "Không đủ bộ nhớ cho adxy"
+
+#~ msgid "Cannot create quaddata"
+#~ msgstr "Không thể tạo quaddata."
+
+#~ msgid "Cannot create quadfunc"
+#~ msgstr "Không thể tạo quadfunc."
+
+#~ msgid "Cannot create tree"
+#~ msgstr "Không thể tạo cây (tree)."
+
+#~ msgid "Cannot create tree info"
+#~ msgstr "Không thể tạo thông tin cây (tree info)."
+
+#, fuzzy
+#~ msgid "Unable To create table: %s"
+#~ msgstr "Không thể tạo bảng: %s"
+
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "Không đủ bộ nhớ"
+
+#, fuzzy
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "Các cờ -s và -n loại bỏ nhau"
+
+#, fuzzy
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr ""
+#~ "Một trong các tùy chọn \"color\", \"rast\" OR \"rules\" PHẢI được chỉ "
+#~ "định!"
+
 #, fuzzy
+#~ msgid "Option <%s> must be specified"
+#~ msgstr ""
+#~ "Một trong các tùy chọn \"color\", \"rast\" OR \"rules\" PHẢI được chỉ "
+#~ "định!"
+
+#~ msgid "sites"
+#~ msgstr "địa điểm"
+
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "Đổi một tập tin site_lists của GRASS thành một bản đồ  vec-tơ."
+
+#~ msgid "Site file <%s> not found"
+#~ msgstr "Không tìm thấy tập tin địa điểm <%s>"
+
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "Không thể đoán định dạng site_list"
+
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "Thất bại trong việc cấp phát cấu trúc địa điểm"
+
+#~ msgid "Input format: dimension: %d strings: %d FP: %d"
+#~ msgstr "Kích thước định dạng đầu vào %d chuỗi: %d FP: %d"
+
 #~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
+#~ "Floating point category values, using sequential integer for category"
 #~ msgstr ""
-#~ "Tính toán thống kê một biến từ các ô không rỗng của một bản đồ raster."
+#~ "Các giá trị phạm trù kiểu dấu chấm động, dùng số nguyên liên tục cho phạm "
+#~ "trù"
 
-#~ msgid "Data to be classified: column name or expression"
-#~ msgstr "Dữ liệu cần phân loại: tên cột hoặc biểu thức"
+#~ msgid "No category values, using sequential integer for category"
+#~ msgstr ""
+#~ "Không có các giá trị phạm trù , dùng số nguyên liên tục cho phạm trù"
 
-#~ msgid "Color for drawing grid or \"none\""
-#~ msgstr "Màu để vẽ lưới hoặc \"none\""
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr "Đang chuyển các địa điểm vào bản đồ điểm vec-tơ..."
 
-#~ msgid "Gather the histogram quietly"
-#~ msgstr "Thu thập thông tin vẽ biểu đồ tần số một cách im lặng"
+#~ msgid "%d sites written."
+#~ msgstr "%d địa điểm được ghi."
 
-#~ msgid "Create grid of points instead of areas and centroids"
-#~ msgstr "Tạo một lưới gồm các điểm thay vì các vùng và các trọng tâm"
+#~ msgid "Performing 1 arg map function on map %s"
+#~ msgstr "Đang thực hiện hàm bản đồ đối số 1 trên bản đồ %s"
+
+#~ msgid "Performing 2 arg map function on maps %s and %s"
+#~ msgstr "Đang thực hiện hàm bản đồ đối số 2 trên bản đồ %s và %s"
+
+#~ msgid "Performing map %s + %s"
+#~ msgstr "Đang thực hiện bản đồ %s + %s"
+
+#~ msgid "Can't call bad map-function"
+#~ msgstr "Không thể gọi một hàm bản đồ tồi"
+
+#~ msgid "Bad arguments to mapfunc %s (argc = %d)"
+#~ msgstr "Các đối số tồi đối với hàm bản đồ %s (mapfunc) (argc = %d)"
+
+#~ msgid "No function defined to perform map %c map"
+#~ msgstr "Không có hàm nào được định nghĩa để thực hiện bản_đồ %c bản_đồ"
+
+#~ msgid "Can't call bad num-function"
+#~ msgstr "Không thể gọi hàm num tồi"
+
+#~ msgid "Bad arguments to numfunc %s"
+#~ msgstr "Các đối số tồi cho hàm num (numfunc) %s"
+
+#~ msgid "No function defined to perform ``number %c number''"
+#~ msgstr "Không có hàm nào được định nghĩa để thực hiện ``số %c số''"
+
+#~ msgid "No function defined to perform ``point %c point''"
+#~ msgstr "Không có hàm nào được định nghĩa để thực hiện ``điểm %c điểm''"
+
+#~ msgid "Can't call bad any-function"
+#~ msgstr "Không thể gọi một hàm bất kỳ tồi"
+
+#~ msgid "Bad arguments to anyfunc %s (argc = %d)"
+#~ msgstr "Các đối số tồi cho hàm bất kỳ anyfunc %s (argc = %d)"
+
+#~ msgid "Can't call bad function"
+#~ msgstr "Không thể gọi một hàm tồi"
+
+#~ msgid "Bad arguments to pointfunc %s"
+#~ msgstr "Các đối số tồi cho hàm điểm (pointfunc) %s"
 
 #, fuzzy
-#~ msgid "Create grid as lines, instead of areas"
-#~ msgstr "Tạo một lưới gồm các điểm thay vì các vùng và các trọng tâm"
+#~ msgid "Unable to create vector map"
+#~ msgstr "Không thể đọc bản đồ vec-tơ"
 
-#~ msgid "Invalid distance"
-#~ msgstr "Khoảng cách không hợp lệ"
+#~ msgid "Cache size (MiB)"
+#~ msgstr "Kích thước đệm cache (MiB)"
 
-#~ msgid "Layer number"
-#~ msgstr "Lớp số"
+#~ msgid "Unknown raster map type"
+#~ msgstr "Không hiểu kiểu bản đồ raster"
diff --git a/locale/po/grassmods_zh.po b/locale/po/grassmods_zh.po
index 9673cc7..d6d198e 100644
--- a/locale/po/grassmods_zh.po
+++ b/locale/po/grassmods_zh.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grassmods_zh\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-03-07 10:48-0600\n"
 "Last-Translator: Shulin Yang <shulin.yang.9 at gmail.com>\n"
 "Language-Team: Simplified Chinese <translations at grass.itc.it>\n"
@@ -21,10 +21,10 @@ msgstr ""
 #: ../display/d.colorlist/main.c:35 ../display/d.his/main.c:62
 #: ../display/d.colortable/main.c:60 ../display/d.legend/main.c:85
 #: ../display/d.linegraph/main.c:119 ../display/d.rast/main.c:53
-#: ../display/d.info/main.c:31 ../display/d.vect.chart/main.c:63
+#: ../display/d.info/main.c:34 ../display/d.vect.chart/main.c:63
 #: ../display/d.rhumbline/main.c:44 ../display/d.extract/main.c:49
 #: ../display/d.northarrow/main.c:42 ../display/d.rgb/main.c:53
-#: ../display/d.rast.num/main.c:76 ../display/d.rast.arrow/main.c:95
+#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:97
 #: ../display/d.barscale/main.c:54 ../display/d.path/main.c:48
 #: ../display/d.histogram/main.c:83 ../display/d.font/main.c:45
 #: ../display/d.vect.thematic/main.c:78 ../display/d.grid/main.c:51
@@ -42,6 +42,7 @@ msgstr ""
 #: ../locale/scriptstrings/d.redraw_to_translate.c:2
 #: ../locale/scriptstrings/d.shade_to_translate.c:2
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:2
+#: ../locale/scriptstrings/d.frame_to_translate.c:2
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:2
 #: ../locale/scriptstrings/d.polar_to_translate.c:2
 #: ../locale/scriptstrings/d.to.rast_to_translate.c:2
@@ -70,12 +71,13 @@ msgid "Outputs a list of all available display colors."
 msgstr ""
 
 #: ../display/d.his/main.c:63 ../display/d.rast/main.c:54
-#: ../display/d.info/main.c:32 ../display/d.rgb/main.c:54
+#: ../display/d.info/main.c:35 ../display/d.rgb/main.c:54
 #: ../display/d.vect/main.c:71 ../display/d.mon/main.c:39
 #: ../display/d.erase/main.c:30 ../misc/m.nviz.script/main.c:70
 #: ../misc/m.nviz.image/main.c:51 ../visualization/ximgview/main.c:291
 #: ../locale/scriptstrings/d.redraw_to_translate.c:3
 #: ../locale/scriptstrings/wxpyimgview_to_translate.c:3
+#: ../locale/scriptstrings/d.frame_to_translate.c:3
 msgid "graphics"
 msgstr ""
 
@@ -120,7 +122,7 @@ msgstr "绘制时考虑空值"
 #: ../display/d.his/main.c:174 ../display/d.colortable/main.c:135
 #: ../display/d.legend/main.c:297 ../display/d.legend/main.c:305
 #: ../display/d.rast/display.c:23 ../display/d.rgb/main.c:99
-#: ../display/d.rast.num/main.c:222 ../display/d.histogram/main.c:171
+#: ../display/d.rast.num/main.c:253 ../display/d.histogram/main.c:171
 #: ../raster/r.his/main.c:167 ../raster/r.his/main.c:183
 #: ../raster/r.his/main.c:201 ../raster/r.out.ppm3/main.c:115
 #, fuzzy, c-format
@@ -128,14 +130,16 @@ msgid "Color file for <%s> not available"
 msgstr "[%s] 的类别文件无效"
 
 #: ../display/d.colortable/main.c:61 ../display/d.rast/main.c:55
-#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:78
-#: ../display/d.rast.arrow/main.c:97 ../display/d.profile/main.c:193
+#: ../display/d.rgb/main.c:55 ../display/d.rast.num/main.c:79
+#: ../display/d.rast.arrow/main.c:99 ../display/d.profile/main.c:193
 #: ../misc/m.nviz.script/main.c:71 ../misc/m.nviz.image/main.c:52
 #: ../visualization/ximgview/main.c:292
 #: ../locale/scriptstrings/r.shade_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:4
 #: ../locale/scriptstrings/r.tileset_to_translate.c:2
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:2
 #: ../locale/scriptstrings/d.correlate_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:3
 #: ../locale/scriptstrings/r.rgb_to_translate.c:2
 #: ../locale/scriptstrings/r.buffer.lowmem_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:4
@@ -154,7 +158,9 @@ msgstr "[%s] 的类别文件无效"
 #: ../locale/scriptstrings/r.grow_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:4
 #: ../locale/scriptstrings/r.in.aster_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:4
 #: ../locale/scriptstrings/r.colors.stddev_to_translate.c:2
 #: ../locale/scriptstrings/r.in.srtm_to_translate.c:2
@@ -175,7 +181,7 @@ msgstr "[%s] 的类别文件无效"
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:4
 #: ../doc/raster/r.example/main.c:83 ../raster/r.solute.transport/main.c:229
 #: ../raster/r.out.gdal/main.c:136 ../raster/r.ros/main.c:212
-#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:55
+#: ../raster/r.in.gridatb/main.c:45 ../raster/r.patch/main.c:58
 #: ../raster/r.in.poly/main.c:34 ../raster/r.resample/main.c:54
 #: ../raster/r.sim/r.sim.water/main.c:109
 #: ../raster/r.sim/r.sim.sediment/main.c:109 ../raster/r.to.vect/main.c:70
@@ -187,7 +193,7 @@ msgstr "[%s] 的类别文件无效"
 #: ../raster/r.li/r.li.richness/richness.c:43
 #: ../raster/r.li/r.li.shannon/shannon.c:46
 #: ../raster/r.li/r.li.renyi/renyi.c:47 ../raster/r.li/r.li.cwed/cwed.c:54
-#: ../raster/r.li/r.li.mpa/mpa.c:43 ../raster/r.li/r.li.padsd/padsd.c:53
+#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:53
 #: ../raster/r.li/r.li.pielou/pielou.c:46
 #: ../raster/r.li/r.li.patchdensity/main.c:51
 #: ../raster/r.li/r.li.shape/main.c:49
@@ -211,17 +217,17 @@ msgstr "[%s] 的类别文件无效"
 #: ../raster/r.distance/main.c:39 ../raster/r.circle/main.c:51
 #: ../raster/r.lake/main.c:150 ../raster/r.recode/main.c:48
 #: ../raster/r.clump/main.c:51 ../raster/r.surf.fractal/main.c:38
-#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:72
+#: ../raster/r.to.rast3elev/main.c:361 ../raster/r.watershed/front/main.c:73
 #: ../raster/r.horizon/main.c:180 ../raster/r.composite/main.c:72
 #: ../raster/r.latlong/main.c:56 ../raster/r.compress/main.c:64
 #: ../raster/r.out.png/main.c:112 ../raster/r.basins.fill/main.c:54
-#: ../raster/r.univar/r.univar_main.c:100 ../raster/r.regression.line/main.c:46
-#: ../raster/r.grow.distance/main.c:151 ../raster/r.null/main.c:59
-#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:87
+#: ../raster/r.univar/r.univar_main.c:104 ../raster/r.regression.line/main.c:46
+#: ../raster/r.grow.distance/main.c:152 ../raster/r.null/main.c:60
+#: ../raster/r.mapcalc/main.c:115 ../raster/r.in.gdal/main.c:90
 #: ../raster/r.in.ascii/main.c:69 ../raster/r.random/main.c:51
 #: ../raster/r.out.gridatb/main.c:67 ../raster/r.region/main.c:51
 #: ../raster/r.reclass/main.c:50 ../raster/r.report/main.c:67
-#: ../raster/r.random.cells/main.c:45 ../raster/r.resamp.filter/main.c:384
+#: ../raster/r.random.cells/main.c:47 ../raster/r.resamp.filter/main.c:384
 #: ../raster/r.neighbors/main.c:167 ../raster/r.flow/main.c:421
 #: ../raster/r.what.color/main.c:88 ../raster/r.his/main.c:67
 #: ../raster/r.thin/main.c:57 ../raster/r.out.ppm3/main.c:57
@@ -232,7 +238,7 @@ msgstr "[%s] 的类别文件无效"
 #: ../raster/r.volume/main.c:75 ../raster/r.buffer/main.c:66
 #: ../raster/r.resamp.stats/main.c:256 ../raster/r.stats/main.c:106
 #: ../raster/r.quantile/main.c:255 ../raster/r.sunhours/main.c:72
-#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:170
+#: ../raster/r.series.accumulate/main.c:80 ../raster/r.in.lidar/main.c:104
 #: ../raster/r.uslek/main.c:53 ../raster/r.out.mat/main.c:62
 #: ../raster/r.param.scale/interface.c:54 ../raster/r.rescale.eq/main.c:52
 #: ../raster/r.out.bin/main.c:279 ../raster/r.random.surface/main.c:57
@@ -383,10 +389,13 @@ msgstr "选择字体,该字体用于图形监视器上文本的显示。"
 #: ../raster/r.spread/main.c:201 ../raster/r.external/main.c:66
 #: ../raster/r.external/main.c:74 ../raster/r.external/main.c:83
 #: ../raster/r.horizon/main.c:195 ../raster/r.horizon/main.c:204
-#: ../raster/r.horizon/main.c:212 ../raster/r.in.xyz/main.c:193
+#: ../raster/r.horizon/main.c:212 ../raster/r.in.lidar/main.c:114
+#: ../raster/r.in.lidar/main.c:125 ../raster/r.in.xyz/main.c:193
 #: ../raster/r.in.xyz/main.c:202 ../raster/r.in.xyz/main.c:210
 #: ../raster/r.in.xyz/main.c:221 ../raster/r.in.xyz/main.c:231
-#: ../vector/v.edit/args.c:90 ../vector/v.edit/args.c:209
+#: ../raster3d/r3.flow/main.c:188 ../raster3d/r3.flow/main.c:195
+#: ../raster3d/r3.flow/main.c:205 ../vector/v.edit/args.c:90
+#: ../vector/v.edit/args.c:209 ../vector/v.in.ogr/main.c:160
 #, fuzzy
 msgid "Input"
 msgstr "输入地图"
@@ -433,22 +442,24 @@ msgstr ""
 msgid "Use a subset of the map range for the legend (min,max)"
 msgstr ""
 
-#: ../display/d.legend/main.c:161 ../display/d.rast.num/main.c:87
-#: ../display/d.grid/main.c:103 ../display/d.geodesic/main.c:66
-#: ../vector/v.label/main.c:151 ../vector/v.lrs/v.lrs.label/main.c:193
-#: ../vector/v.label.sa/main.c:98
+#: ../display/d.legend/main.c:161 ../display/d.rhumbline/main.c:62
+#: ../display/d.rast.num/main.c:88 ../display/d.grid/main.c:103
+#: ../display/d.geodesic/main.c:66 ../vector/v.label/main.c:151
+#: ../vector/v.lrs/v.lrs.label/main.c:193 ../vector/v.label.sa/main.c:98
 msgid "Text color"
 msgstr "文本颜色"
 
 #: ../display/d.legend/main.c:162 ../display/d.legend/main.c:169
 #: ../display/d.legend/main.c:178 ../display/d.legend/main.c:185
-#: ../display/d.legend/main.c:193
+#: ../display/d.legend/main.c:193 ../display/d.rast.num/main.c:120
+#: ../display/d.rast.num/main.c:127 ../display/d.rast.num/main.c:135
 #, fuzzy
 msgid "Font settings"
 msgstr "无法获取栅格行\n"
 
-#: ../display/d.legend/main.c:168 ../display/d.vect/main.c:236
-#: ../display/d.text/main.c:218 ../vector/v.label/main.c:122
+#: ../display/d.legend/main.c:168 ../display/d.rast.num/main.c:119
+#: ../display/d.vect/main.c:236 ../display/d.text/main.c:218
+#: ../vector/v.label/main.c:122
 msgid "Font name"
 msgstr ""
 
@@ -461,12 +472,14 @@ msgstr ""
 msgid "Default: Auto-scaled"
 msgstr ""
 
-#: ../display/d.legend/main.c:183 ../display/d.text/main.c:223
+#: ../display/d.legend/main.c:183 ../display/d.rast.num/main.c:125
+#: ../display/d.text/main.c:223
 #, fuzzy
 msgid "Path to font file"
 msgstr "结果矢量文件的名称"
 
-#: ../display/d.legend/main.c:192 ../display/d.text/main.c:231
+#: ../display/d.legend/main.c:192 ../display/d.rast.num/main.c:134
+#: ../display/d.text/main.c:231
 msgid "Text encoding (only applicable to TrueType fonts)"
 msgstr ""
 
@@ -558,14 +571,20 @@ msgstr ""
 msgid "use=%s out of range [%.3f, %.3f] (extend with range= ?)"
 msgstr ""
 
-#: ../display/d.legend/main.c:842
-msgid "Histogram constrained by range not yet implemented"
+#: ../display/d.legend/main.c:859
+msgid ""
+"Histogram plotting not implemented for categorical legends. Use the '-s' flag"
 msgstr ""
 
-#: ../display/d.legend/main.c:1019
+#: ../display/d.legend/main.c:1026
 msgid "Nothing to draw! (no categories with labels?)"
 msgstr ""
 
+#: ../display/d.legend/histogram.c:108
+msgid ""
+"Histogram constrained by range not yet implemented for categorical rasters"
+msgstr ""
+
 #: ../display/d.linegraph/main.c:122
 msgid ""
 "Generates and displays simple line graphs in the active graphics monitor "
@@ -612,11 +631,11 @@ msgstr "新的栅格图的标题"
 #: ../display/d.linegraph/main.c:205 ../display/d.linegraph/main.c:221
 #: ../display/d.linegraph/main.c:361 ../display/d.where/main.c:163
 #: ../display/d.text/main.c:364 ../general/g.cairocomp/main.c:46
-#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:53
+#: ../raster/r.topmodel/file_io.c:28 ../raster/r.topmodel/file_io.c:136
 #: ../raster/r.topmodel/file_io.c:161 ../raster/r.series/main.c:216
 #: ../raster/r.mapcalc/main.c:94 ../raster/r.series.accumulate/main.c:221
 #: ../raster/r.in.mat/main.c:125 ../raster/r.in.xyz/main.c:541
-#: ../raster/r.support/main.c:180 ../raster3d/r3.support/main.c:167
+#: ../raster/r.support/main.c:182 ../raster3d/r3.support/main.c:167
 #: ../vector/v.lrs/v.lrs.segment/main.c:133 ../vector/v.net.path/path.c:49
 #: ../vector/v.segment/main.c:98
 #, fuzzy, c-format
@@ -696,23 +715,26 @@ msgstr "作为背景的栅格图的名称"
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.univar_to_translate.c:7
 #: ../raster/r.category/main.c:62 ../raster/r.category/main.c:71
-#: ../vector/v.clean/main.c:61 ../vector/v.clean/main.c:64
-#: ../vector/v.in.db/main.c:94 ../vector/v.buffer/main.c:235
-#: ../vector/v.buffer/main.c:238 ../vector/v.buffer/main.c:241
-#: ../vector/v.buffer/main.c:246 ../vector/v.random/main.c:115
-#: ../vector/v.random/main.c:118 ../vector/v.random/main.c:121
-#: ../vector/v.random/main.c:124 ../vector/v.out.postgis/args.c:15
-#: ../vector/v.out.postgis/args.c:19 ../vector/v.to.rast/main.c:57
-#: ../vector/v.to.rast/main.c:60 ../vector/v.to.rast/main.c:63
-#: ../vector/v.category/main.c:85 ../vector/v.category/main.c:89
-#: ../vector/v.category/main.c:93 ../vector/v.net.centrality/main.c:121
-#: ../vector/v.net.centrality/main.c:123 ../vector/v.out.ascii/args.c:24
-#: ../vector/v.out.ascii/args.c:28 ../vector/v.out.ascii/args.c:43
-#: ../vector/v.out.ascii/args.c:46 ../vector/v.net.allpairs/main.c:75
-#: ../vector/v.net.allpairs/main.c:81 ../vector/v.net.allpairs/main.c:84
-#: ../vector/v.net.allpairs/main.c:87 ../vector/v.db.select/main.c:62
-#: ../vector/v.db.select/main.c:65 ../vector/v.db.select/main.c:68
-#: ../vector/v.db.select/main.c:107 ../vector/v.to.db/parse.c:45
+#: ../raster/r.in.lidar/main.c:166 ../raster/r.in.lidar/main.c:219
+#: ../raster/r.in.lidar/main.c:229 ../vector/v.clean/main.c:61
+#: ../vector/v.clean/main.c:64 ../vector/v.in.db/main.c:94
+#: ../vector/v.buffer/main.c:235 ../vector/v.buffer/main.c:238
+#: ../vector/v.buffer/main.c:241 ../vector/v.buffer/main.c:246
+#: ../vector/v.random/main.c:116 ../vector/v.random/main.c:119
+#: ../vector/v.random/main.c:122 ../vector/v.random/main.c:125
+#: ../vector/v.decimate/main.c:147 ../vector/v.decimate/main.c:150
+#: ../vector/v.out.postgis/args.c:15 ../vector/v.out.postgis/args.c:19
+#: ../vector/v.to.rast/main.c:57 ../vector/v.to.rast/main.c:60
+#: ../vector/v.to.rast/main.c:63 ../vector/v.category/main.c:85
+#: ../vector/v.category/main.c:89 ../vector/v.category/main.c:93
+#: ../vector/v.net.centrality/main.c:121 ../vector/v.net.centrality/main.c:123
+#: ../vector/v.out.ascii/args.c:24 ../vector/v.out.ascii/args.c:28
+#: ../vector/v.out.ascii/args.c:43 ../vector/v.out.ascii/args.c:46
+#: ../vector/v.net.allpairs/main.c:75 ../vector/v.net.allpairs/main.c:81
+#: ../vector/v.net.allpairs/main.c:84 ../vector/v.net.allpairs/main.c:87
+#: ../vector/v.db.select/main.c:64 ../vector/v.db.select/main.c:67
+#: ../vector/v.db.select/main.c:70 ../vector/v.db.select/main.c:76
+#: ../vector/v.db.select/main.c:116 ../vector/v.to.db/parse.c:45
 #: ../vector/v.surf.rst/main.c:172 ../vector/v.surf.rst/main.c:184
 #: ../vector/v.reclass/main.c:77 ../vector/v.reclass/main.c:82
 #: ../vector/v.to.3d/args.c:19 ../vector/v.to.3d/args.c:25
@@ -722,14 +744,19 @@ msgstr "作为背景的栅格图的名称"
 #: ../vector/v.edit/args.c:125 ../vector/v.edit/args.c:134
 #: ../vector/v.edit/args.c:143 ../vector/v.edit/args.c:146
 #: ../vector/v.edit/args.c:164 ../vector/v.edit/args.c:199
-#: ../vector/v.in.ogr/main.c:157 ../vector/v.in.ogr/main.c:170
-#: ../vector/v.in.ogr/main.c:175 ../vector/v.in.ogr/main.c:184
-#: ../vector/v.in.ogr/main.c:200 ../vector/v.in.ogr/main.c:247
-#: ../vector/v.in.ogr/main.c:290 ../vector/v.extrude/main.c:84
-#: ../vector/v.extrude/main.c:87 ../vector/v.extrude/main.c:90
-#: ../vector/v.extrude/main.c:95 ../vector/v.drape/main.c:66
-#: ../vector/v.drape/main.c:69 ../vector/v.drape/main.c:72
-#: ../vector/v.drape/main.c:77 ../vector/v.out.ogr/args.c:12
+#: ../vector/v.in.ogr/main.c:174 ../vector/v.in.ogr/main.c:179
+#: ../vector/v.in.ogr/main.c:188 ../vector/v.in.ogr/main.c:204
+#: ../vector/v.in.ogr/main.c:252 ../vector/v.in.ogr/main.c:297
+#: ../vector/v.extrude/main.c:84 ../vector/v.extrude/main.c:87
+#: ../vector/v.extrude/main.c:90 ../vector/v.extrude/main.c:95
+#: ../vector/v.drape/main.c:66 ../vector/v.drape/main.c:69
+#: ../vector/v.drape/main.c:72 ../vector/v.drape/main.c:77
+#: ../vector/v.out.lidar/main.c:497 ../vector/v.out.lidar/main.c:501
+#: ../vector/v.out.lidar/main.c:626 ../vector/v.in.lidar/main.c:181
+#: ../vector/v.in.lidar/main.c:191 ../vector/v.in.lidar/main.c:200
+#: ../vector/v.in.lidar/main.c:210 ../vector/v.in.lidar/main.c:217
+#: ../vector/v.in.lidar/main.c:222 ../vector/v.in.lidar/main.c:277
+#: ../vector/v.in.lidar/main.c:283 ../vector/v.out.ogr/args.c:12
 #: ../vector/v.out.ogr/args.c:22 ../vector/v.out.ogr/args.c:104
 #: ../vector/v.extract/main.c:98 ../vector/v.extract/main.c:103
 #: ../vector/v.extract/main.c:109 ../vector/v.extract/main.c:112
@@ -779,49 +806,50 @@ msgstr "%s - 非法的名称"
 msgid "[%s]: No such color"
 msgstr ""
 
-#: ../display/d.info/main.c:33 ../display/d.mon/main.c:40
+#: ../display/d.info/main.c:36 ../display/d.mon/main.c:40
 #: ../display/d.erase/main.c:31
 #: ../locale/scriptstrings/d.redraw_to_translate.c:4
+#: ../locale/scriptstrings/d.frame_to_translate.c:4
 msgid "monitors"
 msgstr ""
 
-#: ../display/d.info/main.c:35
+#: ../display/d.info/main.c:38
 #, fuzzy
 msgid "Displays information about the active display monitor."
 msgstr "输出用户指定的栅格图的基本信息"
 
-#: ../display/d.info/main.c:37
+#: ../display/d.info/main.c:40
 msgid "Display monitors are maintained by d.mon."
 msgstr ""
 
-#: ../display/d.info/main.c:42
+#: ../display/d.info/main.c:45
 msgid "Display screen rectangle (left, right, top, bottom)"
 msgstr ""
 
-#: ../display/d.info/main.c:46
+#: ../display/d.info/main.c:49
 msgid "Display screen dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:50
+#: ../display/d.info/main.c:53
 msgid "Display active frame rectangle"
 msgstr ""
 
-#: ../display/d.info/main.c:54
+#: ../display/d.info/main.c:57
 msgid "Display frame dimensions (width, height)"
 msgstr ""
 
-#: ../display/d.info/main.c:58
+#: ../display/d.info/main.c:61
 #, fuzzy
 msgid "Display screen rectangle of current region"
 msgstr "使用当前的区域"
 
-#: ../display/d.info/main.c:63
+#: ../display/d.info/main.c:66
 msgid "Display geographic coordinates and resolution of entire frame"
 msgstr ""
 
-#: ../display/d.vect.chart/plot.c:37 ../display/d.vect.thematic/plot1.c:105
+#: ../display/d.vect.chart/plot.c:38 ../display/d.vect.thematic/plot1.c:105
 #: ../display/d.vect/shape.c:38 ../doc/vector/v.example/main.c:105
-#: ../vector/v.buffer/main.c:413 ../vector/v.to.rast/support.c:127
+#: ../vector/v.buffer/main.c:412 ../vector/v.to.rast/support.c:127
 #: ../vector/v.to.rast/support.c:286 ../vector/v.to.rast/support.c:439
 #: ../vector/v.colors/write_rgb.c:20 ../vector/v.colors/read_rgb.c:23
 #: ../vector/v.colors/scan_attr.c:24 ../vector/v.vect.stats/main.c:295
@@ -829,31 +857,32 @@ msgstr ""
 #: ../vector/v.what.rast/main.c:137 ../vector/v.univar/main.c:229
 #: ../vector/v.edit/select.c:502 ../vector/v.extrude/main.c:224
 #: ../vector/v.overlay/main.c:391 ../vector/v.distance/main.c:493
-#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:160
+#: ../vector/v.surf.bspline/crosscorr.c:114 ../vector/v.generalize/misc.c:170
 #, fuzzy, c-format
 msgid "Database connection not defined for layer %d"
 msgstr "数据库连接未定义"
 
-#: ../display/d.vect.chart/plot.c:43 ../display/d.vect.thematic/plot1.c:111
+#: ../display/d.vect.chart/plot.c:44 ../display/d.vect.thematic/plot1.c:111
 #: ../display/d.vect/shape.c:44 ../display/d.vect/attr.c:43
 #: ../misc/m.nviz.image/vector.c:293 ../doc/vector/v.example/main.c:131
 #: ../raster/r.to.vect/main.c:180 ../raster/r.random/random.c:73
 #: ../raster/r.volume/main.c:242 ../raster/r.contour/main.c:172
 #: ../ps/ps.map/catval.c:53 ../ps/ps.map/catval.c:115 ../ps/ps.map/catval.c:181
-#: ../vector/v.in.db/main.c:164 ../vector/v.in.db/main.c:302
-#: ../vector/v.buffer/main.c:418 ../vector/v.vol.rst/main.c:600
-#: ../vector/v.vol.rst/user1.c:99 ../vector/v.net.flow/main.c:169
-#: ../vector/v.in.ascii/main.c:342 ../vector/v.random/main.c:236
-#: ../vector/v.out.postgis/table.c:34 ../vector/v.label/main.c:278
-#: ../vector/v.info/print.c:147 ../vector/v.colors.out/make_colors.c:36
-#: ../vector/v.to.rast/vect2rast.c:60 ../vector/v.to.rast/support.c:132
-#: ../vector/v.to.rast/support.c:294 ../vector/v.to.rast/support.c:447
-#: ../vector/v.colors/write_rgb.c:25 ../vector/v.colors/read_rgb.c:28
-#: ../vector/v.colors/scan_attr.c:29 ../vector/v.transform/trans_digit.c:40
-#: ../vector/v.what.rast3/main.c:125 ../vector/v.net.centrality/main.c:246
-#: ../vector/v.what.rast/main.c:143 ../vector/v.net.distance/main.c:251
-#: ../vector/v.net.allpairs/main.c:166 ../vector/v.lrs/v.lrs.create/main.c:296
-#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:168
+#: ../raster3d/r3.flow/main.c:46 ../vector/v.in.db/main.c:164
+#: ../vector/v.in.db/main.c:302 ../vector/v.buffer/main.c:417
+#: ../vector/v.vol.rst/main.c:600 ../vector/v.vol.rst/user1.c:99
+#: ../vector/v.net.flow/main.c:169 ../vector/v.in.ascii/main.c:342
+#: ../vector/v.random/main.c:237 ../vector/v.out.postgis/table.c:34
+#: ../vector/v.label/main.c:278 ../vector/v.info/print.c:147
+#: ../vector/v.colors.out/make_colors.c:36 ../vector/v.to.rast/vect2rast.c:60
+#: ../vector/v.to.rast/support.c:132 ../vector/v.to.rast/support.c:294
+#: ../vector/v.to.rast/support.c:447 ../vector/v.colors/write_rgb.c:25
+#: ../vector/v.colors/read_rgb.c:28 ../vector/v.colors/scan_attr.c:29
+#: ../vector/v.transform/trans_digit.c:40 ../vector/v.what.rast3/main.c:125
+#: ../vector/v.net.centrality/main.c:246 ../vector/v.what.rast/main.c:143
+#: ../vector/v.net.distance/main.c:251 ../vector/v.net.allpairs/main.c:166
+#: ../vector/v.lrs/v.lrs.create/main.c:296
+#: ../vector/v.lrs/v.lrs.create/main.c:305 ../vector/v.db.select/main.c:177
 #: ../vector/v.mkgrid/main.c:277 ../vector/v.sample/main.c:179
 #: ../vector/v.to.db/query.c:89 ../vector/v.to.db/update.c:46
 #: ../vector/v.net.path/path.c:96 ../vector/v.kcv/main.c:126
@@ -863,10 +892,10 @@ msgstr "数据库连接未定义"
 #: ../vector/v.to.3d/trans3.c:57 ../vector/v.to.3d/trans2.c:55
 #: ../vector/v.out.vtk/writeVTK.c:649 ../vector/v.to.points/main.c:167
 #: ../vector/v.db.connect/main.c:223 ../vector/v.db.connect/main.c:331
-#: ../vector/v.patch/main.c:139 ../vector/v.patch/main.c:171
-#: ../vector/v.patch/main.c:292 ../vector/v.patch/main.c:374
+#: ../vector/v.patch/main.c:155 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:308 ../vector/v.patch/main.c:390
 #: ../vector/v.net.timetable/main.c:93 ../vector/v.in.dxf/write_vect.c:211
-#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1146
+#: ../vector/v.edit/select.c:516 ../vector/v.in.ogr/main.c:1143
 #: ../vector/v.extrude/main.c:229 ../vector/v.to.rast3/main.c:84
 #: ../vector/v.class/main.c:117 ../vector/v.overlay/main.c:239
 #: ../vector/v.overlay/main.c:406 ../vector/v.distance/main.c:464
@@ -880,7 +909,7 @@ msgstr "数据库连接未定义"
 msgid "Unable to open database <%s> by driver <%s>"
 msgstr "无法打开数据库%s,通过驱动%s"
 
-#: ../display/d.vect.chart/plot.c:85 ../display/d.vect/attr.c:110
+#: ../display/d.vect.chart/plot.c:86 ../display/d.vect/attr.c:110
 #: ../vector/v.in.db/main.c:225
 #, fuzzy, c-format
 msgid "Unable to open select cursor: '%s'"
@@ -905,7 +934,7 @@ msgstr "要素类型"
 #: ../display/d.vect.chart/main.c:87 ../display/d.vect.chart/main.c:97
 #: ../display/d.vect.chart/main.c:105 ../display/d.vect.chart/main.c:112
 #: ../display/d.vect.chart/main.c:117 ../display/d.vect.chart/main.c:123
-#: ../display/d.vect.chart/main.c:129
+#: ../display/d.vect.chart/main.c:129 ../display/d.vect.chart/main.c:148
 #, fuzzy
 msgid "Chart properties"
 msgstr "要素类型"
@@ -948,7 +977,12 @@ msgstr ""
 msgid "Create legend information and send to stdout"
 msgstr ""
 
-#: ../display/d.vect.chart/main.c:240 ../display/d.extract/main.c:103
+#: ../display/d.vect.chart/main.c:147
+#, fuzzy
+msgid "Create 3D charts"
+msgstr "创建 3D 输出"
+
+#: ../display/d.vect.chart/main.c:246 ../display/d.extract/main.c:103
 #: ../display/d.path/main.c:185 ../misc/m.nviz.image/vector.c:280
 #: ../general/manage/lister/vector.c:32 ../doc/vector/v.example/main.c:87
 #: ../raster/r.sim/simlib/observation_points.c:39 ../raster/r.cost/main.c:533
@@ -956,20 +990,22 @@ msgstr ""
 #: ../raster/r.walk/main.c:742 ../raster/r.drain/main.c:268
 #: ../raster/r.random/support.c:63 ../raster/r.region/main.c:170
 #: ../raster/r.carve/main.c:162 ../raster/r.what/main.c:236
-#: ../vector/v.support/main.c:130 ../vector/v.clean/test/topocheck.c:67
-#: ../vector/v.clean/test/topocheck.c:87 ../vector/v.clean/main.c:283
-#: ../vector/v.net/main.c:66 ../vector/v.net/main.c:90
-#: ../vector/v.kernel/main.c:319 ../vector/v.kernel/main.c:332
-#: ../vector/v.buffer/main.c:339 ../vector/v.vol.rst/main.c:560
-#: ../vector/v.qcount/main.c:101 ../vector/v.net.bridge/main.c:118
-#: ../vector/v.net.alloc/main.c:146 ../vector/v.net.flow/main.c:143
-#: ../vector/v.random/main.c:197 ../vector/v.lidar.correction/main.c:186
+#: ../raster3d/r3.flow/main.c:411 ../vector/v.support/main.c:130
+#: ../vector/v.clean/test/topocheck.c:67 ../vector/v.clean/test/topocheck.c:87
+#: ../vector/v.clean/main.c:283 ../vector/v.net/main.c:68
+#: ../vector/v.net/main.c:92 ../vector/v.kernel/main.c:319
+#: ../vector/v.kernel/main.c:332 ../vector/v.buffer/main.c:338
+#: ../vector/v.vol.rst/main.c:560 ../vector/v.qcount/main.c:101
+#: ../vector/v.net.bridge/main.c:118 ../vector/v.net.alloc/main.c:172
+#: ../vector/v.net.flow/main.c:143 ../vector/v.random/main.c:198
+#: ../vector/v.lidar.correction/main.c:186 ../vector/v.decimate/main.c:270
 #: ../vector/v.type/main.c:131 ../vector/v.out.postgis/main.c:100
-#: ../vector/v.label/main.c:268 ../vector/v.out.pov/main.c:97
-#: ../vector/v.info/main.c:60 ../vector/v.colors.out/scan_cats.c:20
+#: ../vector/v.label/main.c:268 ../vector/v.cluster/main.c:147
+#: ../vector/v.out.pov/main.c:97 ../vector/v.info/main.c:60
+#: ../vector/v.colors.out/scan_cats.c:20
 #: ../vector/v.colors.out/make_colors.c:23 ../vector/v.to.rast/vect2rast.c:39
 #: ../vector/v.to.rast/support.c:123 ../vector/v.to.rast/support.c:282
-#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:224
+#: ../vector/v.to.rast/support.c:434 ../vector/v.net.salesman/main.c:250
 #: ../vector/v.net.connectivity/main.c:130 ../vector/v.out.dxf/main.c:80
 #: ../vector/v.lidar.edgedetection/main.c:219 ../vector/v.colors/main.c:263
 #: ../vector/v.net.steiner/main.c:431 ../vector/v.vect.stats/main.c:246
@@ -984,40 +1020,40 @@ msgstr ""
 #: ../vector/v.lrs/v.lrs.label/main.c:272
 #: ../vector/v.lrs/v.lrs.create/main.c:254
 #: ../vector/v.lrs/v.lrs.create/main.c:263
-#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:155
+#: ../vector/v.lrs/v.lrs.segment/main.c:144 ../vector/v.db.select/main.c:164
 #: ../vector/v.lidar.growing/main.c:138 ../vector/v.lidar.growing/main.c:142
 #: ../vector/v.net.visibility/main.c:73 ../vector/v.net.visibility/main.c:82
 #: ../vector/v.sample/main.c:124 ../vector/v.to.db/main.c:59
-#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:133
+#: ../vector/v.univar/main.c:158 ../vector/v.net.path/main.c:158
 #: ../vector/v.label.sa/labels.c:58 ../vector/v.surf.rst/main.c:528
 #: ../vector/v.surf.rst/main.c:632 ../vector/v.reclass/main.c:113
 #: ../vector/v.net.components/main.c:147 ../vector/v.normal/main.c:110
-#: ../vector/v.split/main.c:164 ../vector/v.surf.idw/read_sites.c:29
+#: ../vector/v.split/main.c:172 ../vector/v.surf.idw/read_sites.c:29
 #: ../vector/v.to.3d/main.c:72 ../vector/v.to.points/main.c:121
 #: ../vector/v.voronoi/main.c:196 ../vector/v.build.polylines/main.c:151
-#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:230
-#: ../vector/v.patch/main.c:114 ../vector/v.patch/main.c:130
-#: ../vector/v.patch/main.c:160 ../vector/v.patch/main.c:257
-#: ../vector/v.patch/main.c:338 ../vector/v.net.timetable/main.c:353
+#: ../vector/v.db.connect/main.c:154 ../vector/v.proj/main.c:231
+#: ../vector/v.patch/main.c:128 ../vector/v.patch/main.c:146
+#: ../vector/v.patch/main.c:176 ../vector/v.patch/main.c:273
+#: ../vector/v.patch/main.c:354 ../vector/v.net.timetable/main.c:353
 #: ../vector/v.hull/main.c:87 ../vector/v.neighbors/main.c:88
 #: ../vector/v.edit/main.c:168 ../vector/v.edit/main.c:240
-#: ../vector/v.external/main.c:193 ../vector/v.extrude/main.c:190
-#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:187
+#: ../vector/v.external/main.c:180 ../vector/v.extrude/main.c:190
+#: ../vector/v.to.rast3/main.c:73 ../vector/v.net.iso/main.c:211
 #: ../vector/v.segment/main.c:108 ../vector/v.drape/main.c:142
-#: ../vector/v.class/main.c:102 ../vector/v.net.spanningtree/main.c:101
-#: ../vector/v.overlay/main.c:181 ../vector/v.distance/main.c:310
-#: ../vector/v.distance/main.c:332 ../vector/v.build/main.c:118
-#: ../vector/v.build/main.c:128 ../vector/v.out.ogr/main.c:129
-#: ../vector/v.out.svg/main.c:139 ../vector/v.extract/main.c:191
-#: ../vector/v.rectify/main.c:148 ../vector/v.select/main.c:107
-#: ../vector/v.generalize/main.c:323
+#: ../vector/v.class/main.c:102 ../vector/v.out.lidar/main.c:647
+#: ../vector/v.net.spanningtree/main.c:101 ../vector/v.overlay/main.c:181
+#: ../vector/v.distance/main.c:310 ../vector/v.distance/main.c:332
+#: ../vector/v.build/main.c:118 ../vector/v.build/main.c:128
+#: ../vector/v.out.ogr/main.c:129 ../vector/v.out.svg/main.c:139
+#: ../vector/v.extract/main.c:191 ../vector/v.rectify/main.c:148
+#: ../vector/v.select/main.c:107 ../vector/v.generalize/main.c:323
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s>"
 msgstr "无法找到矢量地图 [%s]"
 
 #: ../display/d.rhumbline/main.c:45 ../display/d.geodesic/main.c:47
 #: ../misc/m.cogo/main.c:226 ../locale/scriptstrings/r.grow_to_translate.c:3
-#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:152
+#: ../raster/r.distance/main.c:40 ../raster/r.grow.distance/main.c:153
 #: ../vector/v.distance/main.c:91
 #, fuzzy
 msgid "distance"
@@ -1042,11 +1078,6 @@ msgstr "使用地图中心点坐标\n"
 msgid "Line color"
 msgstr ""
 
-#: ../display/d.rhumbline/main.c:62
-#, fuzzy
-msgid "Text color or \"none\""
-msgstr "文本颜色"
-
 #: ../display/d.rhumbline/main.c:75 ../display/d.geodesic/main.c:78
 #, fuzzy, c-format
 msgid "Location is not %s"
@@ -1106,12 +1137,15 @@ msgstr "左键:起点  中键:终点  右键:退出\n"
 #: ../locale/scriptstrings/v.centroids_to_translate.c:2
 #: ../locale/scriptstrings/v.in.mapgen_to_translate.c:2
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:4
 #: ../locale/scriptstrings/v.in.e00_to_translate.c:2
 #: ../locale/scriptstrings/d.what.vect_to_translate.c:3
 #: ../locale/scriptstrings/v.db.droptable_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:5
 #: ../locale/scriptstrings/v.db.join_to_translate.c:2
 #: ../locale/scriptstrings/v.db.addcolumn_to_translate.c:2
 #: ../locale/scriptstrings/v.db.univar_to_translate.c:2
@@ -1130,17 +1164,18 @@ msgstr "左键:起点  中键:终点  右键:退出\n"
 #: ../doc/vector/v.example/main.c:50 ../raster/r.random/main.c:53
 #: ../raster/r.contour/main.c:90 ../vector/v.support/main.c:39
 #: ../vector/v.clean/test/topocheck.c:42 ../vector/v.clean/main.c:51
-#: ../vector/v.net/main.c:45 ../vector/v.in.db/main.c:52
+#: ../vector/v.net/main.c:47 ../vector/v.in.db/main.c:52
 #: ../vector/v.kernel/main.c:109 ../vector/v.buffer/main.c:221
 #: ../vector/v.vol.rst/main.c:235 ../vector/v.qcount/main.c:60
-#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:62
+#: ../vector/v.net.bridge/main.c:47 ../vector/v.net.alloc/main.c:64
 #: ../vector/v.net.flow/main.c:58 ../vector/v.in.ascii/main.c:68
-#: ../vector/v.random/main.c:96 ../vector/v.lidar.correction/main.c:68
-#: ../vector/v.type/main.c:38 ../vector/v.out.postgis/main.c:44
-#: ../vector/v.label/main.c:59 ../vector/v.out.pov/main.c:46
+#: ../vector/v.random/main.c:97 ../vector/v.lidar.correction/main.c:68
+#: ../vector/v.decimate/main.c:123 ../vector/v.type/main.c:38
+#: ../vector/v.out.postgis/main.c:44 ../vector/v.label/main.c:59
+#: ../vector/v.cluster/main.c:90 ../vector/v.out.pov/main.c:46
 #: ../vector/v.info/main.c:37 ../vector/v.info/print.c:424
 #: ../vector/v.colors.out/main.c:49 ../vector/v.to.rast/main.c:44
-#: ../vector/v.net.salesman/main.c:126 ../vector/v.net.connectivity/main.c:52
+#: ../vector/v.net.salesman/main.c:127 ../vector/v.net.connectivity/main.c:52
 #: ../vector/v.out.dxf/main.c:56 ../vector/v.lidar.edgedetection/main.c:72
 #: ../vector/v.in.region/main.c:41 ../vector/v.category/main.c:75
 #: ../vector/v.colors/main.c:55 ../vector/v.net.steiner/main.c:345
@@ -1153,10 +1188,10 @@ msgstr "左键:起点  中键:终点  右键:退出\n"
 #: ../vector/v.lrs/v.lrs.where/main.c:57 ../vector/v.lrs/v.lrs.label/main.c:102
 #: ../vector/v.lrs/v.lrs.create/main.c:121
 #: ../vector/v.lrs/v.lrs.segment/main.c:71 ../vector/v.external.out/main.c:43
-#: ../vector/v.db.select/main.c:53 ../vector/v.lidar.growing/main.c:75
+#: ../vector/v.db.select/main.c:54 ../vector/v.lidar.growing/main.c:75
 #: ../vector/v.mkgrid/main.c:70 ../vector/v.net.visibility/main.c:45
 #: ../vector/v.sample/main.c:75 ../vector/v.to.db/main.c:36
-#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:40
+#: ../vector/v.univar/main.c:92 ../vector/v.net.path/main.c:42
 #: ../vector/v.kcv/main.c:55 ../vector/v.label.sa/main.c:38
 #: ../vector/v.surf.rst/main.c:141 ../vector/v.reclass/main.c:67
 #: ../vector/v.net.components/main.c:71 ../vector/v.normal/main.c:72
@@ -1164,21 +1199,22 @@ msgstr "左键:起点  中键:终点  右键:退出\n"
 #: ../vector/v.to.3d/main.c:36 ../vector/v.out.vtk/main.c:47
 #: ../vector/v.to.points/main.c:53 ../vector/v.voronoi/main.c:123
 #: ../vector/v.build.polylines/main.c:111 ../vector/v.db.connect/main.c:52
-#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:68
+#: ../vector/v.proj/main.c:67 ../vector/v.patch/main.c:69
 #: ../vector/v.net.timetable/main.c:260 ../vector/v.in.dxf/main.c:64
 #: ../vector/v.hull/main.c:52 ../vector/v.neighbors/main.c:50
-#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:133
+#: ../vector/v.edit/main.c:54 ../vector/v.in.ogr/main.c:135
 #: ../vector/v.external/main.c:50 ../vector/v.extrude/main.c:67
-#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:71
+#: ../vector/v.to.rast3/main.c:48 ../vector/v.net.iso/main.c:72
 #: ../vector/v.segment/main.c:60 ../vector/v.drape/main.c:56
 #: ../vector/v.timestamp/main.c:35 ../vector/v.class/main.c:45
-#: ../vector/v.net.spanningtree/main.c:46 ../vector/v.overlay/main.c:62
-#: ../vector/v.distance/main.c:90 ../vector/v.outlier/main.c:69
-#: ../vector/v.in.lidar/main.c:156 ../vector/v.surf.bspline/main.c:91
-#: ../vector/v.build/main.c:36 ../vector/v.out.ogr/main.c:81
-#: ../vector/v.out.svg/main.c:77 ../vector/v.extract/main.c:77
-#: ../vector/v.rectify/main.c:70 ../vector/v.in.dwg/main.c:82
-#: ../vector/v.select/main.c:47 ../vector/v.generalize/main.c:76
+#: ../vector/v.out.lidar/main.c:481 ../vector/v.net.spanningtree/main.c:46
+#: ../vector/v.overlay/main.c:62 ../vector/v.distance/main.c:90
+#: ../vector/v.outlier/main.c:69 ../vector/v.in.lidar/main.c:108
+#: ../vector/v.surf.bspline/main.c:91 ../vector/v.build/main.c:36
+#: ../vector/v.out.ogr/main.c:81 ../vector/v.out.svg/main.c:77
+#: ../vector/v.extract/main.c:77 ../vector/v.rectify/main.c:70
+#: ../vector/v.in.dwg/main.c:82 ../vector/v.select/main.c:47
+#: ../vector/v.generalize/main.c:76
 msgid "vector"
 msgstr ""
 
@@ -1225,16 +1261,18 @@ msgstr "未发现矢量地图<%s>"
 #: ../raster/r.to.vect/main.c:149 ../raster/r.resamp.bspline/main.c:485
 #: ../raster/r.drain/main.c:197 ../raster/r.random/random.c:63
 #: ../raster/r.flow/io.c:178 ../raster/r.volume/main.c:154
-#: ../raster/r.carve/vect.c:32 ../raster/r.contour/main.c:156
-#: ../raster/r.stream.extract/close.c:37 ../vector/v.clean/main.c:288
+#: ../raster/r.in.lidar/main.c:519 ../raster/r.carve/vect.c:32
+#: ../raster/r.contour/main.c:156 ../raster/r.stream.extract/close.c:37
+#: ../raster3d/r3.flow/main.c:396 ../vector/v.clean/main.c:288
 #: ../vector/v.clean/main.c:295 ../vector/v.in.db/main.c:151
-#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:392
+#: ../vector/v.kernel/main.c:338 ../vector/v.buffer/main.c:391
 #: ../vector/v.vol.rst/main.c:580 ../vector/v.vol.rst/main.c:583
 #: ../vector/v.qcount/main.c:127 ../vector/v.net.bridge/main.c:124
-#: ../vector/v.net.alloc/main.c:248 ../vector/v.net.flow/main.c:149
+#: ../vector/v.net.alloc/main.c:336 ../vector/v.net.flow/main.c:149
 #: ../vector/v.net.flow/main.c:155 ../vector/v.in.ascii/main.c:247
-#: ../vector/v.random/main.c:225 ../vector/v.lidar.correction/main.c:209
-#: ../vector/v.lidar.correction/main.c:215 ../vector/v.net.salesman/main.c:492
+#: ../vector/v.random/main.c:226 ../vector/v.lidar.correction/main.c:209
+#: ../vector/v.lidar.correction/main.c:215 ../vector/v.decimate/main.c:389
+#: ../vector/v.cluster/main.c:207 ../vector/v.net.salesman/main.c:551
 #: ../vector/v.net.connectivity/main.c:136
 #: ../vector/v.lidar.edgedetection/main.c:241 ../vector/v.in.region/main.c:75
 #: ../vector/v.net.steiner/main.c:602 ../vector/v.transform/main.c:246
@@ -1246,22 +1284,22 @@ msgstr "未发现矢量地图<%s>"
 #: ../vector/v.lrs/v.lrs.create/main.c:273
 #: ../vector/v.lrs/v.lrs.segment/main.c:148 ../vector/v.mkgrid/main.c:263
 #: ../vector/v.net.visibility/main.c:77 ../vector/v.sample/main.c:162
-#: ../vector/v.net.path/main.c:137 ../vector/v.surf.rst/main.c:567
+#: ../vector/v.net.path/main.c:167 ../vector/v.surf.rst/main.c:567
 #: ../vector/v.surf.rst/main.c:570 ../vector/v.surf.rst/main.c:726
 #: ../vector/v.reclass/main.c:117 ../vector/v.net.components/main.c:153
-#: ../vector/v.split/main.c:169 ../vector/v.to.3d/main.c:87
+#: ../vector/v.split/main.c:177 ../vector/v.to.3d/main.c:87
 #: ../vector/v.to.points/main.c:129 ../vector/v.voronoi/main.c:215
-#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:373
-#: ../vector/v.patch/main.c:266 ../vector/v.patch/main.c:271
+#: ../vector/v.build.polylines/main.c:156 ../vector/v.proj/main.c:374
+#: ../vector/v.patch/main.c:282 ../vector/v.patch/main.c:287
 #: ../vector/v.net.timetable/main.c:359 ../vector/v.in.dxf/main.c:144
 #: ../vector/v.hull/main.c:121 ../vector/v.edit/main.c:105
-#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:947
-#: ../vector/v.external/main.c:148 ../vector/v.extrude/main.c:196
-#: ../vector/v.net.iso/main.c:285 ../vector/v.segment/main.c:114
+#: ../vector/v.edit/main.c:120 ../vector/v.in.ogr/main.c:920
+#: ../vector/v.external/main.c:135 ../vector/v.extrude/main.c:196
+#: ../vector/v.net.iso/main.c:374 ../vector/v.segment/main.c:114
 #: ../vector/v.drape/main.c:157 ../vector/v.net.spanningtree/main.c:107
 #: ../vector/v.overlay/main.c:213 ../vector/v.distance/main.c:356
 #: ../vector/v.outlier/main.c:224 ../vector/v.outlier/main.c:229
-#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:502
+#: ../vector/v.outlier/main.c:235 ../vector/v.in.lidar/main.c:565
 #: ../vector/v.surf.bspline/main.c:347 ../vector/v.build/main.c:154
 #: ../vector/v.extract/main.c:346 ../vector/v.rectify/main.c:214
 #: ../vector/v.in.dwg/main.c:200 ../vector/v.select/main.c:121
@@ -1315,10 +1353,10 @@ msgid "(0,0) is lower-left of the display frame"
 msgstr ""
 
 #: ../display/d.northarrow/main.c:66 ../display/d.northarrow/main.c:72
-#: ../display/d.rast.num/main.c:88 ../display/d.rast.num/main.c:94
-#: ../display/d.rast.num/main.c:112 ../display/d.rast.arrow/main.c:117
-#: ../display/d.rast.arrow/main.c:123 ../display/d.rast.arrow/main.c:129
-#: ../display/d.rast.arrow/main.c:135 ../display/d.barscale/main.c:113
+#: ../display/d.rast.num/main.c:89 ../display/d.rast.num/main.c:95
+#: ../display/d.rast.num/main.c:113 ../display/d.rast.arrow/main.c:119
+#: ../display/d.rast.arrow/main.c:125 ../display/d.rast.arrow/main.c:131
+#: ../display/d.rast.arrow/main.c:137 ../display/d.barscale/main.c:113
 #: ../display/d.barscale/main.c:119 ../display/d.vect/main.c:117
 #: ../display/d.vect/main.c:123 ../display/d.vect/main.c:127
 #: ../display/d.vect/main.c:134 ../display/d.vect/main.c:279
@@ -1369,41 +1407,41 @@ msgstr ""
 msgid "Name of raster map to be used for <%s>"
 msgstr "栅格地图的名称 <%s>"
 
-#: ../display/d.rast.num/main.c:77 ../display/d.rast.arrow/main.c:96
+#: ../display/d.rast.num/main.c:78 ../display/d.rast.arrow/main.c:98
 #, fuzzy
 msgid "map annotations"
 msgstr "打印矢量的属性"
 
-#: ../display/d.rast.num/main.c:80
+#: ../display/d.rast.num/main.c:81
 #, fuzzy
 msgid ""
 "Overlays cell category values on a raster map displayed in the active "
 "graphics frame."
 msgstr "选择字体,该字体用于图形监视器上文本的显示。"
 
-#: ../display/d.rast.num/main.c:93 ../display/d.grid/main.c:92
+#: ../display/d.rast.num/main.c:94 ../display/d.grid/main.c:92
 #, fuzzy
 msgid "Grid color"
 msgstr "边框颜色"
 
-#: ../display/d.rast.num/main.c:103 ../raster/r.out.ascii/main.c:79
+#: ../display/d.rast.num/main.c:104 ../raster/r.out.ascii/main.c:79
 #: ../raster/r.out.vtk/parameters.c:98 ../raster3d/r3.out.vtk/parameters.c:107
 #: ../vector/v.out.ascii/args.c:75 ../vector/v.out.vtk/main.c:70
 msgid "Number of significant digits (floating point only)"
 msgstr "有意义数字的位数(只用于浮点型)"
 
-#: ../display/d.rast.num/main.c:107 ../display/d.rast.arrow/main.c:162
+#: ../display/d.rast.num/main.c:108 ../display/d.rast.arrow/main.c:164
 #, fuzzy
 msgid "Align grids with raster cells"
 msgstr "起始点栅格文件"
 
-#: ../display/d.rast.num/main.c:111
+#: ../display/d.rast.num/main.c:112
 msgid "Get text color from cell color value"
 msgstr ""
 
 #. GTC Count of raster rows
 #. GTC Count of window rows
-#: ../display/d.rast.num/main.c:176 ../raster/r.thin/io.c:105
+#: ../display/d.rast.num/main.c:199 ../raster/r.thin/io.c:105
 #: ../raster/r.thin/io.c:172 ../raster/r.thin/io.c:181
 #: ../vector/v.kernel/main.c:303 ../vector/v.surf.idw/main.c:259
 #, c-format
@@ -1412,7 +1450,7 @@ msgid_plural "%d rows"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../display/d.rast.num/main.c:177
+#: ../display/d.rast.num/main.c:200
 #, fuzzy, c-format
 msgid "%d col"
 msgid_plural "%d cols"
@@ -1420,7 +1458,7 @@ msgstr[0] "边框颜色"
 msgstr[1] "边框颜色"
 
 #. GTC %s will be replaced by strings "X rows" and "Y cols"
-#: ../display/d.rast.num/main.c:179
+#: ../display/d.rast.num/main.c:202
 #, c-format
 msgid ""
 "Current region size: %s X %s\n"
@@ -1428,72 +1466,72 @@ msgid ""
 "graphics window may be too small for cell category number to be visible."
 msgstr ""
 
-#: ../display/d.rast.num/main.c:189
+#: ../display/d.rast.num/main.c:212
 msgid "Aborting (region larger then 200 rows X 200 cols is not allowed)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:99
+#: ../display/d.rast.arrow/main.c:101
 msgid ""
 "Draws arrows representing cell aspect direction for a raster map containing "
 "aspect data."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:103
+#: ../display/d.rast.arrow/main.c:105
 msgid "Name of raster aspect map to be displayed"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:111
+#: ../display/d.rast.arrow/main.c:113
 msgid "Type of existing raster aspect map"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:116
+#: ../display/d.rast.arrow/main.c:118
 msgid "Color for drawing arrows"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:122
+#: ../display/d.rast.arrow/main.c:124
 msgid "Color for drawing drawing grid"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:128
+#: ../display/d.rast.arrow/main.c:130
 msgid "Color for drawing null values (X symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:134
+#: ../display/d.rast.arrow/main.c:136
 msgid "Color for showing unknown information (? symbol)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:142
+#: ../display/d.rast.arrow/main.c:144
 msgid "Draw arrow every Nth grid cell"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:151
+#: ../display/d.rast.arrow/main.c:153
 msgid "Raster map containing values used for arrow length"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:158
+#: ../display/d.rast.arrow/main.c:160
 msgid "Scale factor for arrows (magnitude map)"
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:206
+#: ../display/d.rast.arrow/main.c:210
 #, fuzzy
 msgid "Illegal value for scale factor"
 msgstr "非法的空值"
 
-#: ../display/d.rast.arrow/main.c:210
+#: ../display/d.rast.arrow/main.c:214
 #, fuzzy
 msgid "Illegal value for skip factor"
 msgstr "非法的空值"
 
-#: ../display/d.rast.arrow/main.c:215
+#: ../display/d.rast.arrow/main.c:219
 msgid "Magnitude is only supported for GRASS and compass aspect maps."
 msgstr ""
 
-#: ../display/d.rast.arrow/main.c:220
+#: ../display/d.rast.arrow/main.c:224
 #, fuzzy
 msgid "Scale option requires magnitude_map"
 msgstr "该选项需要一个字段"
 
-#: ../display/d.rast.arrow/main.c:271
+#: ../display/d.rast.arrow/main.c:275
 #, fuzzy
 msgid "Problem reading range file"
 msgstr "无法打开输出文件 <%s>"
@@ -1620,17 +1658,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ../display/d.path/main.c:49 ../vector/v.net/main.c:46
-#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:63
-#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:127
+#: ../display/d.path/main.c:49 ../vector/v.net/main.c:48
+#: ../vector/v.net.bridge/main.c:48 ../vector/v.net.alloc/main.c:65
+#: ../vector/v.net.flow/main.c:59 ../vector/v.net.salesman/main.c:128
 #: ../vector/v.net.connectivity/main.c:53 ../vector/v.net.steiner/main.c:346
 #: ../vector/v.net.centrality/main.c:97 ../vector/v.net.distance/main.c:65
 #: ../vector/v.net.allpairs/main.c:62 ../vector/v.lrs/v.lrs.where/main.c:59
 #: ../vector/v.lrs/v.lrs.label/main.c:104
 #: ../vector/v.lrs/v.lrs.create/main.c:123
 #: ../vector/v.lrs/v.lrs.segment/main.c:73 ../vector/v.net.visibility/main.c:46
-#: ../vector/v.net.path/main.c:41 ../vector/v.net.components/main.c:72
-#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:72
+#: ../vector/v.net.path/main.c:43 ../vector/v.net.components/main.c:72
+#: ../vector/v.net.timetable/main.c:261 ../vector/v.net.iso/main.c:73
 #: ../vector/v.net.spanningtree/main.c:47
 #, fuzzy
 msgid "network"
@@ -1638,7 +1676,7 @@ msgstr "读取 %s ..."
 
 #: ../display/d.path/main.c:50 ../display/d.geodesic/main.c:49
 #: ../vector/v.net.distance/main.c:66 ../vector/v.net.allpairs/main.c:63
-#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:42
+#: ../vector/v.net.visibility/main.c:47 ../vector/v.net.path/main.c:44
 #: ../vector/v.net.timetable/main.c:262
 msgid "shortest path"
 msgstr ""
@@ -1647,51 +1685,51 @@ msgstr ""
 msgid "Finds shortest path for selected starting and ending node."
 msgstr ""
 
-#: ../display/d.path/main.c:60 ../vector/v.net.alloc/main.c:84
-#: ../vector/v.net.salesman/main.c:146 ../vector/v.net.steiner/main.c:362
-#: ../vector/v.net.distance/main.c:87 ../vector/v.net.path/main.c:51
-#: ../vector/v.net.iso/main.c:92
+#: ../display/d.path/main.c:60 ../vector/v.net/args.c:63
+#: ../vector/v.net.alloc/main.c:96 ../vector/v.net.salesman/main.c:156
+#: ../vector/v.net.steiner/main.c:362 ../vector/v.net.distance/main.c:87
+#: ../vector/v.net.path/main.c:61 ../vector/v.net.iso/main.c:111
 #, fuzzy
 msgid "Arc type"
 msgstr "要素类型"
 
-#: ../display/d.path/main.c:70 ../vector/v.net/args.c:55
-#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:78
-#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:140
+#: ../display/d.path/main.c:70 ../vector/v.net/args.c:56
+#: ../vector/v.net.bridge/main.c:60 ../vector/v.net.alloc/main.c:89
+#: ../vector/v.net.flow/main.c:70 ../vector/v.net.salesman/main.c:149
 #: ../vector/v.net.connectivity/main.c:64 ../vector/v.net.steiner/main.c:367
 #: ../vector/v.net.centrality/main.c:109 ../vector/v.net.distance/main.c:80
-#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:56
+#: ../vector/v.net.allpairs/main.c:74 ../vector/v.net.path/main.c:54
 #: ../vector/v.net.components/main.c:83 ../vector/v.net.timetable/main.c:274
-#: ../vector/v.net.iso/main.c:86 ../vector/v.net.spanningtree/main.c:59
+#: ../vector/v.net.iso/main.c:104 ../vector/v.net.spanningtree/main.c:59
 msgid "Arc layer"
 msgstr ""
 
-#: ../display/d.path/main.c:75 ../vector/v.net/args.c:62
-#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:89
+#: ../display/d.path/main.c:75 ../vector/v.net/args.c:70
+#: ../vector/v.net.bridge/main.c:66 ../vector/v.net.alloc/main.c:102
 #: ../vector/v.net.flow/main.c:76 ../vector/v.net.connectivity/main.c:70
 #: ../vector/v.net.centrality/main.c:115 ../vector/v.net.distance/main.c:93
-#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:61
+#: ../vector/v.net.allpairs/main.c:80 ../vector/v.net.path/main.c:67
 #: ../vector/v.net.components/main.c:89 ../vector/v.net.timetable/main.c:280
-#: ../vector/v.net.iso/main.c:97 ../vector/v.net.spanningtree/main.c:65
+#: ../vector/v.net.iso/main.c:117 ../vector/v.net.spanningtree/main.c:65
 msgid "Node layer"
 msgstr ""
 
 #: ../display/d.path/main.c:81 ../vector/v.net.bridge/main.c:73
-#: ../vector/v.net.alloc/main.c:95 ../vector/v.net.flow/main.c:90
-#: ../vector/v.net.salesman/main.c:157 ../vector/v.net.connectivity/main.c:77
+#: ../vector/v.net.alloc/main.c:108 ../vector/v.net.flow/main.c:90
+#: ../vector/v.net.salesman/main.c:168 ../vector/v.net.connectivity/main.c:77
 #: ../vector/v.net.centrality/main.c:129 ../vector/v.net.distance/main.c:139
-#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:73
+#: ../vector/v.net.allpairs/main.c:93 ../vector/v.net.path/main.c:79
 #: ../vector/v.net.components/main.c:96 ../vector/v.net.timetable/main.c:288
-#: ../vector/v.net.iso/main.c:102 ../vector/v.net.spanningtree/main.c:72
+#: ../vector/v.net.iso/main.c:122 ../vector/v.net.spanningtree/main.c:72
 msgid "Arc forward/both direction(s) cost column (number)"
 msgstr ""
 
 #: ../display/d.path/main.c:87 ../vector/v.net.bridge/main.c:79
-#: ../vector/v.net.alloc/main.c:102 ../vector/v.net.flow/main.c:96
+#: ../vector/v.net.alloc/main.c:115 ../vector/v.net.flow/main.c:96
 #: ../vector/v.net.connectivity/main.c:83 ../vector/v.net.centrality/main.c:135
 #: ../vector/v.net.distance/main.c:145 ../vector/v.net.allpairs/main.c:99
-#: ../vector/v.net.path/main.c:80 ../vector/v.net.components/main.c:102
-#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:107
+#: ../vector/v.net.path/main.c:86 ../vector/v.net.components/main.c:102
+#: ../vector/v.net.timetable/main.c:295 ../vector/v.net.iso/main.c:127
 msgid "Arc backward direction cost column (number)"
 msgstr ""
 
@@ -1715,11 +1753,11 @@ msgstr "读取 %s ..."
 msgid "Background color"
 msgstr ""
 
-#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:123
-#: ../vector/v.net.salesman/main.c:180 ../vector/v.net.steiner/main.c:397
+#: ../display/d.path/main.c:122 ../vector/v.net.alloc/main.c:149
+#: ../vector/v.net.salesman/main.c:208 ../vector/v.net.steiner/main.c:397
 #: ../vector/v.net.centrality/main.c:188 ../vector/v.net.distance/main.c:157
-#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:105
-#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:84
+#: ../vector/v.net.allpairs/main.c:112 ../vector/v.net.path/main.c:132
+#: ../vector/v.net.iso/main.c:159 ../vector/v.net.spanningtree/main.c:84
 msgid "Use geodesic calculation for longitude-latitude locations"
 msgstr ""
 
@@ -1739,7 +1777,7 @@ msgstr "%s=%s - 非法的名称"
 
 #: ../display/d.path/main.c:178 ../vector/v.net.centrality/main.c:222
 #: ../vector/v.net.distance/main.c:190 ../vector/v.net.allpairs/main.c:142
-#: ../vector/v.net.path/main.c:123 ../vector/v.net.spanningtree/main.c:113
+#: ../vector/v.net.path/main.c:148 ../vector/v.net.spanningtree/main.c:113
 msgid "The current projection is not longitude-latitude"
 msgstr ""
 
@@ -1764,7 +1802,7 @@ msgstr "导入地图 %d 的要素..."
 #: ../raster/r.texture/main.c:103 ../raster/r.surf.area/main.c:78
 #: ../raster/r.support.stats/main.c:39 ../raster/r.stats.quantile/main.c:390
 #: ../raster/r.clump/main.c:52 ../raster/r.univar/r3.univar_main.c:99
-#: ../raster/r.univar/r.univar_main.c:101 ../raster/r.regression.line/main.c:47
+#: ../raster/r.univar/r.univar_main.c:105 ../raster/r.regression.line/main.c:47
 #: ../raster/r.report/main.c:68 ../raster/r.neighbors/main.c:169
 #: ../raster/r.quant/main.c:48 ../raster/r.stats/main.c:107
 #: ../raster/r.quantile/main.c:257 ../raster/r.cross/main.c:70
@@ -1772,7 +1810,7 @@ msgstr "导入地图 %d 的要素..."
 #: ../raster/r.mfilter/main.c:58 ../raster/r.coin/main.c:67
 #: ../raster/r.kappa/main.c:69 ../raster3d/r3.stats/main.c:49
 #: ../raster3d/r3.neighbors/main.c:211 ../vector/v.qcount/main.c:61
-#: ../vector/v.random/main.c:98 ../vector/v.perturb/main.c:64
+#: ../vector/v.random/main.c:99 ../vector/v.perturb/main.c:64
 #: ../vector/v.univar/main.c:93 ../vector/v.kcv/main.c:56
 #: ../vector/v.normal/main.c:73 ../vector/v.neighbors/main.c:52
 #: ../vector/v.class/main.c:48 ../vector/v.outlier/main.c:70
@@ -2140,7 +2178,7 @@ msgstr ""
 #: ../display/d.grid/plot.c:260 ../display/d.grid/plot.c:266
 #: ../display/d.grid/plot.c:430 ../display/d.grid/plot.c:446
 #: ../display/d.grid/plot.c:463 ../display/d.grid/plot.c:480
-#: ../raster/r.horizon/main.c:840 ../raster/r.horizon/main.c:858
+#: ../raster/r.horizon/main.c:846 ../raster/r.horizon/main.c:864
 #: ../raster/r.latlong/main.c:133 ../ps/ps.map/do_geogrid.c:86
 #: ../ps/ps.map/do_geogrid.c:91 ../ps/ps.map/do_geogrid.c:115
 #: ../ps/ps.map/do_geogrid.c:120 ../ps/ps.map/do_geogrid.c:189
@@ -2157,15 +2195,15 @@ msgid "Geo-grid option only available for LL projection, use without -g/-w"
 msgstr ""
 
 #: ../display/d.grid/plot.c:349 ../display/d.where/main.c:113
-#: ../general/g.region/printwindow.c:253 ../general/g.region/printwindow.c:509
-#: ../general/g.region/printwindow.c:628 ../raster/r.sun/main.c:736
-#: ../raster/r.horizon/main.c:532 ../ps/ps.map/do_geogrid.c:272
+#: ../general/g.region/printwindow.c:242 ../general/g.region/printwindow.c:498
+#: ../general/g.region/printwindow.c:617 ../raster/r.sun/main.c:753
+#: ../raster/r.horizon/main.c:538 ../ps/ps.map/do_geogrid.c:272
 msgid "Can't get projection key values of current location"
 msgstr "无法获得当前区域的投影参数"
 
 #: ../display/d.grid/plot.c:356 ../display/d.grid/plot.c:383
 #: ../display/d.where/main.c:120 ../display/d.where/main.c:146
-#: ../raster/r.sun/main.c:746 ../raster/r.horizon/main.c:542
+#: ../raster/r.sun/main.c:763 ../raster/r.horizon/main.c:548
 #: ../raster/r.latlong/main.c:114 ../ps/ps.map/do_geogrid.c:278
 msgid "Unable to set up lat/long projection parameters"
 msgstr "无法设置经纬度投影的参数"
@@ -2411,12 +2449,13 @@ msgstr "地图北向格网坐标"
 
 #: ../display/d.where/main.c:44
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:4
 #: ../locale/scriptstrings/t.sample_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.vect.observe.strds_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:3
-#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:46
-#: ../vector/v.random/main.c:97 ../vector/v.what.rast3/main.c:65
+#: ../raster/r.random/main.c:52 ../raster/r.random.cells/main.c:48
+#: ../vector/v.random/main.c:98 ../vector/v.what.rast3/main.c:65
 #: ../vector/v.what.rast/main.c:72 ../vector/v.sample/main.c:76
 #: ../vector/v.extrude/main.c:69 ../vector/v.drape/main.c:58
 #, fuzzy
@@ -2485,15 +2524,15 @@ msgstr ""
 msgid "Please specify a lat/long ellipsoid with -l or -w"
 msgstr ""
 
-#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:247
-#: ../general/g.region/printwindow.c:503 ../general/g.region/printwindow.c:622
-#: ../raster/r.sun/main.c:728 ../raster/r.horizon/main.c:525
+#: ../display/d.where/main.c:107 ../general/g.region/printwindow.c:236
+#: ../general/g.region/printwindow.c:492 ../general/g.region/printwindow.c:611
+#: ../raster/r.sun/main.c:745 ../raster/r.horizon/main.c:531
 msgid "Can't get projection info of current location"
 msgstr "无法获得当前区域的投影信息"
 
-#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:250
-#: ../general/g.region/printwindow.c:506 ../general/g.region/printwindow.c:625
-#: ../raster/r.sun/main.c:732 ../raster/r.horizon/main.c:528
+#: ../display/d.where/main.c:110 ../general/g.region/printwindow.c:239
+#: ../general/g.region/printwindow.c:495 ../general/g.region/printwindow.c:614
+#: ../raster/r.sun/main.c:749 ../raster/r.horizon/main.c:534
 msgid "Can't get projection units of current location"
 msgstr "无法获得当前区域的投影单位"
 
@@ -2515,11 +2554,12 @@ msgstr ""
 #: ../raster/r.cost/main.c:548 ../raster/r.cost/main.c:618
 #: ../raster/r.walk/main.c:688 ../raster/r.walk/main.c:754
 #: ../raster/r.drain/main.c:283 ../vector/v.vol.rst/user1.c:140
-#: ../vector/v.label/main.c:293 ../vector/v.info/level1.c:37
-#: ../vector/v.colors.out/scan_cats.c:32 ../vector/v.colors/scan_cats.c:24
-#: ../vector/v.colors/scan_z.c:36 ../vector/v.perturb/main.c:181
-#: ../vector/v.label.sa/labels.c:141 ../vector/v.to.3d/trans3.c:85
-#: ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.decimate/main.c:404 ../vector/v.label/main.c:293
+#: ../vector/v.info/level1.c:37 ../vector/v.colors.out/scan_cats.c:32
+#: ../vector/v.colors/scan_cats.c:24 ../vector/v.colors/scan_z.c:36
+#: ../vector/v.perturb/main.c:181 ../vector/v.label.sa/labels.c:141
+#: ../vector/v.to.3d/trans3.c:85 ../vector/v.to.3d/trans2.c:84
+#: ../vector/v.out.lidar/main.c:779
 #, fuzzy
 msgid "Unable to read vector map"
 msgstr "不能创建输出地图 <%s>"
@@ -2711,7 +2751,7 @@ msgstr "填充色"
 msgid "Colorize features according color definition column"
 msgstr "根据颜色字段设置要素颜色"
 
-#: ../display/d.vect/main.c:129
+#: ../display/d.vect/main.c:129 ../vector/v.out.lidar/main.c:582
 msgid "Color definition in R:G:B form"
 msgstr "用R:G:B形式定义颜色"
 
@@ -2992,41 +3032,48 @@ msgstr ""
 msgid "[%s]: No such color. Use '%s'"
 msgstr ""
 
-#: ../display/d.mon/start.c:32
+#: ../display/d.mon/start.c:38
 #, fuzzy, c-format
-msgid "File '%s' already exists and will be overwritten"
+msgid "File <%s> already exists and will be overwritten"
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
-#: ../display/d.mon/start.c:38 ../raster/r.proj/main.c:244
-#: ../vector/v.proj/main.c:143 ../vector/v.external/main.c:141
+#: ../display/d.mon/start.c:44 ../raster/r.proj/main.c:245
+#: ../vector/v.proj/main.c:144 ../vector/v.external/main.c:128
 #, c-format
 msgid "option <%s>: <%s> exists. To overwrite, use the --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/start.c:54 ../raster/r.external/main.c:158
+#: ../display/d.mon/start.c:61 ../raster/r.external/main.c:166
 #, fuzzy
 msgid "Unable to get current working directory"
 msgstr "无法更新当前区域"
 
-#: ../display/d.mon/start.c:61
+#: ../display/d.mon/start.c:68
 #, fuzzy, c-format
 msgid "Output file: %s"
 msgstr "输出图"
 
-#: ../display/d.mon/start.c:119
+#: ../display/d.mon/start.c:123
 #, fuzzy, c-format
 msgid "Monitor <%s> already running"
 msgstr "dig_att文件不存在。"
 
-#: ../display/d.mon/start.c:132
+#: ../display/d.mon/start.c:126
 #, fuzzy, c-format
-msgid "Unable to create file '%s'"
-msgstr "无法创建文件 [%s]"
+msgid "Starting monitor <%s>..."
+msgstr "写入 %s ... "
 
-#: ../display/d.mon/start.c:163
-#, c-format
-msgid "Starting monitor <%s> with env file '%s'"
-msgstr ""
+#: ../display/d.mon/start.c:142
+#, fuzzy
+msgid "Unable to copy render command file"
+msgstr "无法打开输出文件 <%s>"
+
+#: ../display/d.mon/start.c:154 ../display/d.mon/start.c:193
+#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
+#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
+#, fuzzy, c-format
+msgid "Unable to create file <%s>"
+msgstr "无法创建文件 [%s]"
 
 #: ../display/d.mon/select.c:14
 #, fuzzy, c-format
@@ -3038,35 +3085,54 @@ msgstr "dig_att文件不存在。"
 msgid "Monitor <%s> is not running"
 msgstr "未找到栅格图<%s>"
 
-#: ../display/d.mon/stop.c:37
-#, fuzzy
-msgid "Env file not found"
-msgstr "未找到3D视图文件<%s>"
+#: ../display/d.mon/stop.c:41
+#, fuzzy, c-format
+msgid "Unable to delete file <%s>"
+msgstr "无法创建文件 [%s]"
 
-#: ../display/d.mon/stop.c:55
-#, fuzzy
-msgid "PID file not found"
-msgstr "像元文件未发现\n"
+#: ../display/d.mon/stop.c:46
+#, fuzzy, c-format
+msgid "Unable to delete directory <%s>"
+msgstr "无法创建栅格地图 %s"
 
-#: ../display/d.mon/list.c:47
+#: ../display/d.mon/stop.c:66 ../misc/m.nviz.script/main.c:202
+#: ../misc/m.transform/main.c:276 ../general/g.pnmcomp/main.c:242
+#: ../general/g.pnmcomp/main.c:259
+#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
+#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
+#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
+#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:335
+#: ../raster/r.in.lidar/main.c:571 ../raster/r.profile/main.c:175
+#: ../vector/v.net/main.c:100 ../vector/v.out.ascii/main.c:125
+#: ../vector/v.out.vtk/main.c:173 ../vector/v.edit/main.c:79
+#, fuzzy, c-format
+msgid "Unable to open file <%s>"
+msgstr "无法打开输出文件 <%s>"
+
+#: ../display/d.mon/stop.c:75
+#, fuzzy, c-format
+msgid "Unable to read file <%s>"
+msgstr "无法创建文件 [%s]"
+
+#: ../display/d.mon/list.c:80
 #, fuzzy
 msgid "List of running monitors:"
 msgstr "地图北向格网坐标"
 
-#: ../display/d.mon/list.c:49
+#: ../display/d.mon/list.c:82
 msgid "No monitors running"
 msgstr ""
 
-#: ../display/d.mon/list.c:84
-#, fuzzy
-msgid "Command file not found"
-msgstr "字段 <%s> 未找到"
-
-#: ../display/d.mon/list.c:88
-#, fuzzy
-msgid "Unable to read command file"
+#: ../display/d.mon/list.c:116
+#, fuzzy, c-format
+msgid "Unable to open file '%s'"
 msgstr "无法打开输出文件 <%s>"
 
+#: ../display/d.mon/list.c:145
+#, fuzzy, c-format
+msgid "No support files found for monitor <%s>"
+msgstr "无法找到输入的矢量地图 <%s>"
+
 #: ../display/d.mon/main.c:41
 msgid "Controls graphics display monitors from the command line."
 msgstr ""
@@ -3077,8 +3143,8 @@ msgid "Name of monitor to start"
 msgstr "将要创建的新区域的名称"
 
 #: ../display/d.mon/main.c:48 ../display/d.mon/main.c:55
-#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:118
-#: ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:62 ../display/d.mon/main.c:123
+#: ../display/d.mon/main.c:128
 msgid "Manage"
 msgstr ""
 
@@ -3102,9 +3168,10 @@ msgstr ""
 
 #: ../display/d.mon/main.c:70 ../display/d.mon/main.c:78
 #: ../display/d.mon/main.c:86 ../display/d.mon/main.c:92
-#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:128
-#: ../display/d.mon/main.c:134 ../db/db.login/main.c:59
-#: ../db/db.login/main.c:67 ../general/g.access/main.c:50
+#: ../display/d.mon/main.c:98 ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:139 ../display/d.mon/main.c:145
+#: ../db/db.login/main.c:60 ../db/db.login/main.c:68 ../db/db.login/main.c:77
+#: ../db/db.login/main.c:86 ../general/g.access/main.c:50
 #: ../general/g.access/main.c:58 ../imagery/i.landsat.toar/main.c:159
 #: ../imagery/i.landsat.toar/main.c:168 ../imagery/i.landsat.toar/main.c:178
 #: ../imagery/i.landsat.toar/main.c:187 ../imagery/i.landsat.toar/main.c:208
@@ -3184,12 +3251,12 @@ msgid "List running monitors and exit"
 msgstr "列出支持的格式然后退出"
 
 #: ../display/d.mon/main.c:103 ../display/d.mon/main.c:108
-#: ../display/d.mon/main.c:113 ../db/db.login/main.c:72
+#: ../display/d.mon/main.c:113 ../db/db.login/main.c:91
 #: ../db/db.connect/main.c:53 ../db/db.connect/main.c:58
-#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:128
-#: ../general/g.list/main.c:139 ../general/g.list/main.c:161
-#: ../general/g.list/main.c:166 ../general/g.list/main.c:171
-#: ../general/g.list/main.c:176 ../general/g.region/main.c:84
+#: ../temporal/t.connect/main.c:43 ../general/g.list/main.c:104
+#: ../general/g.list/main.c:115 ../general/g.list/main.c:137
+#: ../general/g.list/main.c:142 ../general/g.list/main.c:147
+#: ../general/g.list/main.c:152 ../general/g.region/main.c:84
 #: ../general/g.region/main.c:90 ../general/g.region/main.c:95
 #: ../general/g.region/main.c:101 ../general/g.region/main.c:107
 #: ../general/g.region/main.c:113 ../general/g.region/main.c:119
@@ -3202,33 +3269,34 @@ msgstr "列出支持的格式然后退出"
 #: ../general/g.proj/main.c:98 ../general/g.proj/main.c:104
 #: ../general/g.proj/main.c:115 ../general/g.proj/main.c:120
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:18
-#: ../locale/scriptstrings/g.extension_to_translate.c:13
-#: ../locale/scriptstrings/g.extension_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:17
-#: ../locale/scriptstrings/g.extension_to_translate.c:19
+#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:22
 #: ../imagery/i.group/main.c:79 ../imagery/i.group/main.c:84
 #: ../imagery/i.group/main.c:89 ../raster/r.out.gdal/main.c:142
-#: ../raster/r.proj/main.c:203 ../raster/r.proj/main.c:213
-#: ../raster/r.proj/main.c:219 ../raster/r.external/main.c:96
-#: ../raster/r.sunmask/main.c:232 ../raster/r.sunmask/main.c:238
-#: ../raster/r.in.gdal/main.c:177 ../raster/r.colors/edit_colors.c:128
-#: ../raster/r.external.out/main.c:272 ../raster/r.external.out/main.c:283
-#: ../raster/r.what/main.c:120 ../raster/r.what/main.c:128
-#: ../raster/r.what/main.c:142 ../raster/r.what/main.c:147
-#: ../raster/r.what/main.c:152 ../raster/r.what/main.c:157
-#: ../vector/v.info/parse.c:25 ../vector/v.info/parse.c:31
-#: ../vector/v.info/parse.c:36 ../vector/v.info/parse.c:41
-#: ../vector/v.info/parse.c:46 ../vector/v.colors/main.c:134
-#: ../vector/v.what/main.c:89 ../vector/v.what/main.c:94
-#: ../vector/v.what/main.c:99 ../vector/v.what/main.c:104
-#: ../vector/v.external.out/args.c:63 ../vector/v.external.out/args.c:75
-#: ../vector/v.external.out/args.c:81 ../vector/v.to.db/parse.c:116
-#: ../vector/v.to.db/parse.c:121 ../vector/v.to.db/parse.c:127
-#: ../vector/v.to.db/parse.c:133 ../vector/v.db.connect/main.c:84
-#: ../vector/v.db.connect/main.c:89 ../vector/v.db.connect/main.c:96
-#: ../vector/v.db.connect/main.c:103 ../vector/v.in.ogr/main.c:252
-#: ../vector/v.in.ogr/main.c:258 ../vector/v.external/args.c:41
-#: ../vector/v.external/args.c:47 ../vector/v.external/args.c:55
+#: ../raster/r.proj/main.c:204 ../raster/r.proj/main.c:214
+#: ../raster/r.proj/main.c:220 ../raster/r.external/main.c:96
+#: ../raster/r.external/main.c:124 ../raster/r.sunmask/main.c:232
+#: ../raster/r.sunmask/main.c:238 ../raster/r.in.gdal/main.c:196
+#: ../raster/r.colors/edit_colors.c:128 ../raster/r.external.out/main.c:272
+#: ../raster/r.external.out/main.c:283 ../raster/r.what/main.c:120
+#: ../raster/r.what/main.c:128 ../raster/r.what/main.c:142
+#: ../raster/r.what/main.c:147 ../raster/r.what/main.c:152
+#: ../raster/r.what/main.c:157 ../vector/v.info/parse.c:25
+#: ../vector/v.info/parse.c:31 ../vector/v.info/parse.c:36
+#: ../vector/v.info/parse.c:41 ../vector/v.info/parse.c:46
+#: ../vector/v.colors/main.c:134 ../vector/v.what/main.c:89
+#: ../vector/v.what/main.c:94 ../vector/v.what/main.c:99
+#: ../vector/v.what/main.c:104 ../vector/v.external.out/args.c:63
+#: ../vector/v.external.out/args.c:75 ../vector/v.external.out/args.c:81
+#: ../vector/v.to.db/parse.c:116 ../vector/v.to.db/parse.c:121
+#: ../vector/v.to.db/parse.c:127 ../vector/v.to.db/parse.c:133
+#: ../vector/v.db.connect/main.c:84 ../vector/v.db.connect/main.c:89
+#: ../vector/v.db.connect/main.c:96 ../vector/v.db.connect/main.c:103
+#: ../vector/v.in.ogr/main.c:257 ../vector/v.in.ogr/main.c:263
+#: ../vector/v.external/args.c:43 ../vector/v.external/args.c:49
+#: ../vector/v.external/args.c:57
 msgid "Print"
 msgstr ""
 
@@ -3242,58 +3310,76 @@ msgstr "打印当前的连接参数并退出"
 msgid "Print commands for currently selected monitor and exit"
 msgstr "列出输入区域内的栅格文件并退出"
 
-#: ../display/d.mon/main.c:117
+#: ../display/d.mon/main.c:118
+#, fuzzy
+msgid "Print path to support files of currently selected monitor and exit"
+msgstr "打印当前的连接参数并退出"
+
+#: ../display/d.mon/main.c:122
 msgid "Do not automatically select when starting"
 msgstr ""
 
-#: ../display/d.mon/main.c:122
+#: ../display/d.mon/main.c:127
 #, fuzzy
 msgid "Release and stop currently selected monitor and exit"
 msgstr "列出输入区域内的栅格文件并退出"
 
-#: ../display/d.mon/main.c:127
+#: ../display/d.mon/main.c:132
 #, fuzzy
 msgid "Disable true colors"
 msgstr "无法为色彩条读取颜色"
 
-#: ../display/d.mon/main.c:132
+#: ../display/d.mon/main.c:137
 msgid "Open output file in update mode"
 msgstr ""
 
-#: ../display/d.mon/main.c:133
+#: ../display/d.mon/main.c:138
 msgid "Requires --overwrite flag"
 msgstr ""
 
-#: ../display/d.mon/main.c:141 ../general/g.mapsets/main.c:136
+#: ../display/d.mon/main.c:143
+msgid "Launch light-weight wx monitor without toolbars and statusbar"
+msgstr ""
+
+#: ../display/d.mon/main.c:144
+msgid "Requires 'start=wx0-7'"
+msgstr ""
+
+#: ../display/d.mon/main.c:151
+#, c-format
+msgid "Flag -%c has effect only for wx monitors (%s=wx0-7)"
+msgstr ""
+
+#: ../display/d.mon/main.c:157 ../general/g.mapsets/main.c:136
 #: ../general/g.mapsets/main.c:138 ../general/g.mapsets/main.c:148
 #, c-format
 msgid "Flag -%c ignored"
 msgstr ""
 
-#: ../display/d.mon/main.c:145
+#: ../display/d.mon/main.c:161
 msgid "Currently selected monitor:"
 msgstr ""
 
-#: ../display/d.mon/main.c:149
+#: ../display/d.mon/main.c:165
 #, c-format
 msgid "List of commands for monitor <%s>:"
 msgstr ""
 
-#: ../display/d.mon/main.c:154
+#: ../display/d.mon/main.c:173
 #, c-format
 msgid "Monitor <%s> released"
 msgstr ""
 
-#: ../display/d.mon/main.c:159
+#: ../display/d.mon/main.c:178
 msgid "No monitor selected"
 msgstr ""
 
-#: ../display/d.mon/main.c:178
+#: ../display/d.mon/main.c:197
 #, fuzzy, c-format
 msgid "Either <%s>, <%s> or <%s> must be given"
 msgstr "必须指定'from_table'或'select'选项。"
 
-#: ../display/d.mon/main.c:183 ../general/g.mapsets/main.c:140
+#: ../display/d.mon/main.c:202 ../general/g.mapsets/main.c:140
 #: ../general/g.mapsets/main.c:150 ../general/g.mapsets/main.c:158
 #, fuzzy, c-format
 msgid "Option <%s> ignored"
@@ -3346,7 +3432,7 @@ msgid "No map name given"
 msgstr "没有指定数据地图"
 
 #: ../display/d.title/main.c:110 ../raster/r.statistics/main.c:110
-#: ../raster/r.support/main.c:249 ../raster3d/r3.support/main.c:248
+#: ../raster/r.support/main.c:251 ../raster3d/r3.support/main.c:248
 #, fuzzy, c-format
 msgid "Unable to read category file of raster map <%s>"
 msgstr "编辑 [%s] 的类别文件?"
@@ -3478,9 +3564,9 @@ msgstr ""
 
 #: ../db/db.select/main.c:142 ../raster/r.regression.multi/main.c:169
 #: ../raster/r.univar/r3.univar_main.c:128
-#: ../raster/r.univar/r.univar_main.c:121 ../raster/r.regression.line/main.c:77
+#: ../raster/r.univar/r.univar_main.c:129 ../raster/r.regression.line/main.c:77
 #: ../raster/r.stats/main.c:227 ../raster/r.what/main.c:170
-#: ../vector/v.db.select/main.c:117
+#: ../vector/v.db.select/main.c:126
 #, fuzzy, c-format
 msgid "Unable to open file <%s> for writing"
 msgstr "无法找到文件 [%s]。"
@@ -3530,9 +3616,9 @@ msgstr "相关性"
 #: ../db/db.select/main.c:227 ../db/db.select/main.c:233
 #: ../db/db.select/main.c:236 ../db/db.select/main.c:246
 #: ../db/db.select/main.c:256 ../general/g.gisenv/main.c:93
-#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:71
-#: ../vector/v.db.select/main.c:77 ../vector/v.db.select/main.c:80
-#: ../vector/v.db.select/main.c:97 ../vector/v.db.select/main.c:102
+#: ../general/g.gisenv/main.c:98 ../vector/v.db.select/main.c:85
+#: ../vector/v.db.select/main.c:88 ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:111
 #, fuzzy
 msgid "Format"
 msgstr "OGR 格式"
@@ -3547,12 +3633,12 @@ msgstr "输出的垂直方向的记录分隔符"
 #: ../locale/scriptstrings/i.oif_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:42 ../raster/r.univar/r.univar_main.c:41
 #: ../raster/r.stats/main.c:119 ../raster/r.what/main.c:125
-#: ../vector/v.db.select/main.c:86
+#: ../vector/v.db.select/main.c:95
 #, fuzzy
 msgid "Name for output file (if omitted or \"-\" output to stdout)"
 msgstr "输出的二进制地图的名称 (output=- 用于标准输出)"
 
-#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:96
+#: ../db/db.select/main.c:245 ../vector/v.db.select/main.c:105
 msgid "Do not include column names in output"
 msgstr "在输出中不包含字段名称"
 
@@ -3560,7 +3646,7 @@ msgstr "在输出中不包含字段名称"
 msgid "Describe query only (don't run it)"
 msgstr "仅描述查询(不运行它)"
 
-#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:101
+#: ../db/db.select/main.c:255 ../vector/v.db.select/main.c:110
 msgid "Vertical output (instead of horizontal)"
 msgstr "垂直输出 (而不是水平)"
 
@@ -3593,7 +3679,7 @@ msgstr ""
 #: ../locale/scriptstrings/v.db.update_to_translate.c:4
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:4
 #: ../vector/v.in.db/main.c:54 ../vector/v.vect.stats/main.c:130
-#: ../vector/v.db.select/main.c:55 ../vector/v.to.db/main.c:38
+#: ../vector/v.db.select/main.c:56 ../vector/v.to.db/main.c:38
 #: ../vector/v.db.connect/main.c:54 ../vector/v.distance/main.c:92
 #, fuzzy
 msgid "database"
@@ -3625,7 +3711,7 @@ msgstr "数据库,SQL"
 #: ../locale/scriptstrings/v.db.update_to_translate.c:3
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:7
 #: ../vector/v.vect.stats/main.c:129 ../vector/v.what.rast3/main.c:69
-#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:54
+#: ../vector/v.what.rast/main.c:76 ../vector/v.db.select/main.c:55
 #: ../vector/v.to.db/main.c:37 ../vector/v.univar/main.c:95
 #: ../vector/v.db.connect/main.c:53 ../vector/v.class/main.c:47
 #: ../vector/v.distance/main.c:93
@@ -3637,7 +3723,7 @@ msgstr "打印矢量的属性"
 #: ../db/db.execute/main.c:134 ../db/db.execute/main.c:140
 #: ../db/db.createdb/main.c:73 ../db/db.dropdb/main.c:73
 #: ../db/db.databases/main.c:97 ../db/db.copy/main.c:37
-#: ../vector/v.db.select/main.c:56
+#: ../vector/v.db.select/main.c:57
 msgid "SQL"
 msgstr ""
 
@@ -3775,8 +3861,8 @@ msgstr "无法打开输出文件 <%s>"
 msgid "Unable to create index:"
 msgstr "无法创建文件 [%s]"
 
-#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:71
-#: ../db/drivers/postgres/db.c:249
+#: ../db/drivers/mysql/db.c:61 ../db/drivers/postgres/db.c:72
+#: ../db/drivers/postgres/db.c:251
 #, fuzzy
 msgid "Connection failed."
 msgstr "相关性"
@@ -3848,7 +3934,7 @@ msgstr "无法创建表:%s"
 msgid "Unable to allocate handle."
 msgstr "无法创建文件 [%s]"
 
-#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:95
+#: ../db/drivers/odbc/listdb.c:40 ../db/drivers/postgres/listdb.c:96
 #: ../db/drivers/sqlite/listdb.c:147
 #, fuzzy
 msgid "Unable to set handle"
@@ -3885,7 +3971,7 @@ msgstr "无法从表中选取数据"
 msgid "Unable to select view names."
 msgstr "无法从表中选取数据"
 
-#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:87
+#: ../db/drivers/postgres/listtab.c:92 ../db/drivers/postgres/listdb.c:88
 #: ../db/drivers/sqlite/listdb.c:134 ../imagery/i.smap/multialloc.c:115
 #: ../raster/r.li/r.li.daemon/list.c:49 ../raster/r.to.rast3/main.c:244
 #: ../raster/r.stream.extract/seg.c:55 ../raster/r.stream.extract/cseg.c:51
@@ -3925,12 +4011,12 @@ msgstr ""
 msgid "No path given"
 msgstr "没有指定数据地图"
 
-#: ../db/drivers/postgres/listdb.c:64
+#: ../db/drivers/postgres/listdb.c:65
 #, fuzzy
 msgid "Unable to connect to Postgres:"
 msgstr "无法从表中选取数据"
 
-#: ../db/drivers/postgres/listdb.c:75
+#: ../db/drivers/postgres/listdb.c:76
 #, fuzzy
 msgid "Unable to select from Postgres:"
 msgstr "无法从表中选取数据"
@@ -3978,30 +4064,30 @@ msgid "Taken not found"
 msgstr "%s - 未发现"
 
 #: ../db/drivers/postgres/index.c:59 ../raster/r.to.vect/main.c:226
-#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:256
+#: ../raster/r.random/random.c:253 ../vector/v.random/main.c:257
 #: ../vector/v.mkgrid/main.c:345 ../vector/v.mkgrid/main.c:403
-#: ../vector/v.patch/main.c:311 ../vector/v.overlay/main.c:585
+#: ../vector/v.patch/main.c:327 ../vector/v.overlay/main.c:585
 #: ../vector/v.extract/copy_tab.c:124 ../vector/v.select/copy_tabs.c:82
 #, fuzzy
 msgid "Unable to create index"
 msgstr "无法创建文件 [%s]"
 
-#: ../db/drivers/postgres/db.c:99
+#: ../db/drivers/postgres/db.c:100
 #, fuzzy
 msgid "Unable to set schema:"
 msgstr "没有指定数据地图"
 
-#: ../db/drivers/postgres/db.c:117
+#: ../db/drivers/postgres/db.c:118
 #, fuzzy
 msgid "Unable to select data types"
 msgstr "无法从表中选取数据"
 
-#: ../db/drivers/postgres/db.c:268
+#: ../db/drivers/postgres/db.c:270
 #, fuzzy, c-format
 msgid "Unable to create database <%s>"
 msgstr "不能创建输出地图 <%s>"
 
-#: ../db/drivers/postgres/db.c:270
+#: ../db/drivers/postgres/db.c:272
 #, fuzzy, c-format
 msgid "Unable to drop database <%s>"
 msgstr "无法打开数据库 <%s>"
@@ -4042,6 +4128,11 @@ msgid ""
 "(true)"
 msgstr "列'%s':布尔值存储为char(1),值:0 (假), 1 (真)"
 
+#: ../db/drivers/postgres/table.c:37
+#, fuzzy
+msgid "Unable to execute():"
+msgstr "无法从表中选取数据"
+
 #: ../db/drivers/postgres/parse.c:69
 msgid "Unknown option in database definition for PostgreSQL: "
 msgstr "数据库定义中的未知选项(用于PostgreSQL): "
@@ -4127,7 +4218,8 @@ msgstr "未找到栅格图<%s>"
 #: ../vector/v.vect.stats/main.c:395 ../vector/v.transform/trans_digit.c:101
 #: ../vector/v.univar/main.c:355 ../vector/v.reclass/main.c:145
 #: ../vector/v.to.3d/trans3.c:65 ../vector/v.to.3d/trans2.c:63
-#: ../vector/v.db.connect/main.c:289 ../vector/v.distance/main.c:477
+#: ../vector/v.db.connect/main.c:289 ../vector/v.out.lidar/main.c:119
+#: ../vector/v.out.lidar/main.c:156 ../vector/v.distance/main.c:477
 #: ../vector/v.distance/main.c:518
 #, fuzzy, c-format
 msgid "Column <%s> not found in table <%s>"
@@ -4209,22 +4301,22 @@ msgstr "无法创建栅格地图 %s"
 msgid "Unable to open database:"
 msgstr "无法打开数据库 <%s>"
 
-#: ../db/drivers/sqlite/db.c:131
+#: ../db/drivers/sqlite/db.c:134
 #, fuzzy
 msgid "SQLite database connection is still busy"
 msgstr "数据库连接未定义"
 
-#: ../db/drivers/sqlite/db.c:152
+#: ../db/drivers/sqlite/db.c:155
 #, fuzzy, c-format
 msgid "Database <%s> already exists"
 msgstr "dig_att文件不存在。"
 
-#: ../db/drivers/sqlite/db.c:159
+#: ../db/drivers/sqlite/db.c:162
 #, fuzzy
 msgid "Unable to create database:"
 msgstr "无法创建文件 [%s]"
 
-#: ../db/drivers/sqlite/db.c:183
+#: ../db/drivers/sqlite/db.c:186
 #, fuzzy, c-format
 msgid "Database <%s> not found"
 msgstr "未找到栅格图<%s>"
@@ -4239,6 +4331,11 @@ msgstr ""
 msgid "SQLite driver: column '%s', SQLite type %d  is not supported"
 msgstr "SQLite 驱动:列 '%s',SQLite 类型 %d  不支持"
 
+#: ../db/drivers/sqlite/table.c:37
+#, fuzzy
+msgid "Error in sqlite3_exec():"
+msgstr "关闭 VTK-ASCII 文件时发生错误"
+
 #: ../db/drivers/sqlite/execute.c:83
 #, fuzzy
 msgid "Error in sqlite3_finalize():"
@@ -4487,10 +4584,10 @@ msgstr "移除一个数据库"
 
 #: ../db/db.columns/main.c:62 ../db/db.describe/main.c:67
 #: ../doc/vector/v.example/main.c:137 ../vector/v.in.ascii/main.c:429
-#: ../vector/v.random/main.c:269 ../vector/v.out.postgis/table.c:41
+#: ../vector/v.random/main.c:270 ../vector/v.out.postgis/table.c:41
 #: ../vector/v.info/print.c:152 ../vector/v.reclass/main.c:193
 #: ../vector/v.out.vtk/writeVTK.c:655 ../vector/v.db.connect/main.c:228
-#: ../vector/v.patch/main.c:147 ../vector/v.patch/main.c:187
+#: ../vector/v.patch/main.c:163 ../vector/v.patch/main.c:203
 #: ../vector/v.out.ogr/main.c:640 ../vector/v.out.svg/main.c:165
 #, c-format
 msgid "Unable to describe table <%s>"
@@ -4510,26 +4607,39 @@ msgstr "请改正设置。"
 msgid "Sets user/password for DB driver/database."
 msgstr ""
 
-#: ../db/db.login/main.c:58
+#: ../db/db.login/main.c:59
 #, fuzzy
-msgid "Username to set for DB connection"
-msgstr "无法创建表:%s"
+msgid "Username"
+msgstr "表名称"
 
-#: ../db/db.login/main.c:66
+#: ../db/db.login/main.c:67
 #, fuzzy
-msgid "Password to set for DB connection"
-msgstr "无法创建表:%s"
+msgid "Password"
+msgstr "图层 %d"
 
-#: ../db/db.login/main.c:71
+#: ../db/db.login/main.c:75
+#, fuzzy
+msgid "Hostname"
+msgstr "表名称"
+
+#: ../db/db.login/main.c:76 ../db/db.login/main.c:85
+msgid "Relevant only for pg and mysql driver"
+msgstr ""
+
+#: ../db/db.login/main.c:84
+msgid "Port"
+msgstr ""
+
+#: ../db/db.login/main.c:90
 #, fuzzy
 msgid "Print connection settings and exit"
 msgstr "打印当前的连接参数并退出"
 
-#: ../db/db.login/main.c:85
+#: ../db/db.login/main.c:105
 msgid "Unable to set user/password"
 msgstr "无法设置用户/密码"
 
-#: ../db/db.login/main.c:89
+#: ../db/db.login/main.c:109
 #, fuzzy, c-format
 msgid "The password was stored in file (%s%cdblogin)"
 msgstr "密码被存储在文件中。"
@@ -4815,6 +4925,7 @@ msgstr "面\n"
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:4
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:5
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:4
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:5
 #: ../raster/r.to.rast3elev/main.c:363 ../raster/r.univar/r3.univar_main.c:98
 #: ../raster/r.colors/edit_colors.c:59
@@ -4825,10 +4936,11 @@ msgstr "面\n"
 #: ../raster3d/r3.stats/main.c:48 ../raster3d/r3.retile/main.c:96
 #: ../raster3d/r3.to.rast/main.c:206 ../raster3d/r3.out.netcdf/main.c:586
 #: ../raster3d/r3.null/main.c:186 ../raster3d/r3.support/main.c:49
-#: ../raster3d/r3.out.vtk/main.c:376 ../raster3d/r3.timestamp/main.c:43
-#: ../raster3d/r3.neighbors/main.c:208 ../raster3d/r3.in.ascii/main.c:313
-#: ../raster3d/r3.out.ascii/main.c:302 ../raster3d/r3.cross.rast/main.c:228
-#: ../raster3d/r3.out.v5d/main.c:284
+#: ../raster3d/r3.gradient/main.c:43 ../raster3d/r3.out.vtk/main.c:376
+#: ../raster3d/r3.timestamp/main.c:43 ../raster3d/r3.flow/main.c:179
+#: ../raster3d/r3.flow/test_main.c:43 ../raster3d/r3.neighbors/main.c:208
+#: ../raster3d/r3.in.ascii/main.c:313 ../raster3d/r3.out.ascii/main.c:302
+#: ../raster3d/r3.cross.rast/main.c:228 ../raster3d/r3.out.v5d/main.c:284
 #, fuzzy
 msgid "raster3d"
 msgstr "栅格值"
@@ -4901,19 +5013,6 @@ msgstr ""
 msgid "Off-screen only available with full render mode"
 msgstr ""
 
-#: ../misc/m.nviz.script/main.c:202 ../misc/m.transform/main.c:276
-#: ../general/g.pnmcomp/main.c:242 ../general/g.pnmcomp/main.c:259
-#: ../imagery/i.ortho.photo/i.ortho.transform/main.c:348
-#: ../raster/r.out.ascii/main.c:157 ../raster/r.recode/main.c:89
-#: ../raster/r.horizon/main.c:385 ../raster/r.out.ppm3/main.c:133
-#: ../raster/r.category/main.c:173 ../raster/r.in.lidar/main.c:315
-#: ../raster/r.profile/main.c:175 ../vector/v.net/main.c:98
-#: ../vector/v.out.ascii/main.c:125 ../vector/v.out.vtk/main.c:173
-#: ../vector/v.edit/main.c:79
-#, fuzzy, c-format
-msgid "Unable to open file <%s>"
-msgstr "无法打开输出文件 <%s>"
-
 #: ../misc/m.nviz.script/main.c:250
 #, c-format
 msgid "You must provide at least four points %d"
@@ -5185,7 +5284,7 @@ msgstr "字段 <%s> 未找到"
 #: ../raster/r.walk/main.c:440 ../raster/r.walk/main.c:801
 #: ../raster/r.distance/parse.c:72 ../raster/r.distance/parse.c:81
 #: ../raster/r.compress/main.c:117 ../raster/r.compress/main.c:257
-#: ../raster/r.univar/r.univar_main.c:216 ../raster/r.null/main.c:121
+#: ../raster/r.univar/r.univar_main.c:234 ../raster/r.null/main.c:128
 #: ../raster/r.mapcalc/map.c:515 ../raster/r.reclass/main.c:79
 #: ../raster/r.report/parse.c:273 ../raster/r.flow/io.c:65
 #: ../raster/r.flow/io.c:242 ../raster/r.category/main.c:119
@@ -5879,7 +5978,7 @@ msgid "Unknown option parameter \"%s\" at line %d\n"
 msgstr ""
 
 #: ../general/g.rename/main.c:45 ../general/g.copy/main.c:41
-#: ../general/g.list/main.c:89 ../general/g.region/main.c:63
+#: ../general/g.list/main.c:65 ../general/g.region/main.c:63
 #: ../general/g.remove/main.c:69 ../general/g.mapset/main.c:49
 #: ../general/g.dirseps/main.c:34 ../general/g.version/main.c:61
 #: ../general/g.tempfile/main.c:38 ../general/g.findfile/main.c:38
@@ -5892,12 +5991,13 @@ msgstr ""
 #: ../general/g.proj/main.c:64
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:3
 #: ../locale/scriptstrings/g.extension_to_translate.c:3
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:2
 #: ../locale/scriptstrings/g.manual_to_translate.c:2
 msgid "general"
 msgstr ""
 
 #: ../general/g.rename/main.c:46 ../general/g.copy/main.c:42
-#: ../general/g.list/main.c:90 ../general/g.remove/main.c:70
+#: ../general/g.list/main.c:66 ../general/g.remove/main.c:70
 #: ../general/g.dirseps/main.c:35 ../general/g.findfile/main.c:39
 #: ../general/g.filename/main.c:40 ../general/g.access/main.c:38
 #: ../general/g.findetc/main.c:29
@@ -6001,7 +6101,17 @@ msgstr ""
 msgid "<%s> already exists"
 msgstr "dig_att文件不存在。"
 
-#: ../general/g.list/main.c:91
+#: ../general/g.list/list.c:123 ../general/g.region/main.c:447
+#, fuzzy, c-format
+msgid "Unable to read header of 3D raster map <%s@%s>"
+msgstr "无法写入 <%s>"
+
+#: ../general/g.list/list.c:131
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s@%s> on topological level"
+msgstr "无法打开矢量文件<%s>在<%s>中"
+
+#: ../general/g.list/main.c:67
 #: ../locale/scriptstrings/t.rast.list_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:5
 #: ../locale/scriptstrings/t.list_to_translate.c:4
@@ -6009,20 +6119,20 @@ msgstr "dig_att文件不存在。"
 msgid "list"
 msgstr ""
 
-#: ../general/g.list/main.c:93
+#: ../general/g.list/main.c:69
 msgid ""
 "Lists available GRASS data base files of the user-specified data type "
 "optionally using the search pattern."
 msgstr ""
 
-#: ../general/g.list/main.c:109
+#: ../general/g.list/main.c:85
 #, fuzzy
 msgid "Map name search pattern (default: all)"
 msgstr "输出分隔符(默认:tab)"
 
-#: ../general/g.list/main.c:110 ../general/g.list/main.c:118
-#: ../general/g.list/main.c:144 ../general/g.list/main.c:150
-#: ../general/g.list/main.c:156 ../general/g.remove/main.c:100
+#: ../general/g.list/main.c:86 ../general/g.list/main.c:94
+#: ../general/g.list/main.c:120 ../general/g.list/main.c:126
+#: ../general/g.list/main.c:132 ../general/g.remove/main.c:100
 #: ../general/g.remove/main.c:106 ../general/g.remove/main.c:112
 #: ../general/g.remove/main.c:117 ../general/g.remove/main.c:123
 #: ../general/g.remove/main.c:129
@@ -6030,144 +6140,117 @@ msgstr "输出分隔符(默认:tab)"
 msgid "Pattern"
 msgstr "栅格值"
 
-#: ../general/g.list/main.c:117
+#: ../general/g.list/main.c:93
 #, fuzzy
 msgid "Map name exclusion pattern (default: none)"
 msgstr "输出分隔符(默认:tab)"
 
-#: ../general/g.list/main.c:123
+#: ../general/g.list/main.c:99
 #, fuzzy
 msgid "Name of mapset to list (default: current search path)"
 msgstr "打印当前连接参数并退出"
 
-#: ../general/g.list/main.c:125
+#: ../general/g.list/main.c:101
 msgid "'.' for current mapset; '*' for all mapsets in location"
 msgstr ""
 
-#: ../general/g.list/main.c:131
+#: ../general/g.list/main.c:107
 #, fuzzy
 msgid "Name of saved region for map search (default: not restricted)"
 msgstr "打印当前连接参数并退出"
 
-#: ../general/g.list/main.c:133
+#: ../general/g.list/main.c:109
 #, fuzzy
 msgid "'.' for current region; '*' for default region"
 msgstr "从指定的区域设置当前区域"
 
-#: ../general/g.list/main.c:137
+#: ../general/g.list/main.c:113
 #: ../locale/scriptstrings/d.out.file_to_translate.c:4
 #: ../raster/r.topmodel/main.c:72
 msgid "Name for output file"
 msgstr "输出文件的名称"
 
-#: ../general/g.list/main.c:138 ../vector/v.out.ascii/args.c:33
+#: ../general/g.list/main.c:114 ../vector/v.out.ascii/args.c:33
 #, fuzzy
 msgid "If not given or '-' then standard output"
 msgstr "如果不指定从标准输入读取,ASCII 文件将被转化为二进制矢量文件"
 
-#: ../general/g.list/main.c:143 ../general/g.remove/main.c:116
+#: ../general/g.list/main.c:119 ../general/g.remove/main.c:116
 msgid "Ignore case"
 msgstr ""
 
-#: ../general/g.list/main.c:149 ../general/g.remove/main.c:122
+#: ../general/g.list/main.c:125 ../general/g.remove/main.c:122
 msgid "Use basic regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:155 ../general/g.remove/main.c:128
+#: ../general/g.list/main.c:131 ../general/g.remove/main.c:128
 msgid "Use extended regular expressions instead of wildcards"
 msgstr ""
 
-#: ../general/g.list/main.c:160
+#: ../general/g.list/main.c:136
 #, fuzzy
 msgid "Print data types"
 msgstr "只打印栅格图的类型"
 
-#: ../general/g.list/main.c:165
+#: ../general/g.list/main.c:141
 msgid "Print fully-qualified map names (including mapsets)"
 msgstr ""
 
-#: ../general/g.list/main.c:170
+#: ../general/g.list/main.c:146
 #, fuzzy
 msgid "Pretty printing in human readable format"
 msgstr "禁止打印头信息"
 
-#: ../general/g.list/main.c:175
+#: ../general/g.list/main.c:151
 msgid "Verbose listing (also list map titles)"
 msgstr ""
 
-#: ../general/g.list/main.c:182
-#, c-format
-msgid "-%c/-%c and %s= are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:187
-#, c-format
-msgid "-%c/-%c and -%c/-%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:192 ../general/g.list/main.c:196
-#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
-#: ../vector/v.colors/main.c:226
-#, c-format
-msgid "-%c and -%c are mutually exclusive"
-msgstr ""
-
-#: ../general/g.list/main.c:220 ../general/g.list/main.c:247
+#: ../general/g.list/main.c:184 ../general/g.list/main.c:211
 #: ../general/g.remove/main.c:178 ../general/g.remove/main.c:202
 #, fuzzy, c-format
 msgid "Unable to compile pattern <%s>"
 msgstr "无法打开输出文件 <%s>"
 
-#: ../general/g.list/main.c:304
+#: ../general/g.list/main.c:268
 #, fuzzy, c-format
 msgid "Mapset <%s> does not exist"
 msgstr "栅格地图 [%s] 未发现"
 
-#: ../general/g.list/main.c:514 ../general/g.region/main.c:447
-#, fuzzy, c-format
-msgid "Unable to read header of 3D raster map <%s@%s>"
-msgstr "无法写入 <%s>"
-
-#: ../general/g.list/main.c:522
-#, fuzzy, c-format
-msgid "Unable to open vector map <%s@%s> on topological level"
-msgstr "无法打开矢量文件<%s>在<%s>中"
-
-#: ../general/g.region/printwindow.c:263 ../general/g.region/printwindow.c:516
-#: ../general/g.region/printwindow.c:647 ../raster/r.sunhours/main.c:232
+#: ../general/g.region/printwindow.c:252 ../general/g.region/printwindow.c:505
+#: ../general/g.region/printwindow.c:636 ../raster/r.sunhours/main.c:232
 #, fuzzy
 msgid "Unable to update lat/long projection parameters"
 msgstr "无法设置经纬度投影的参数"
 
-#: ../general/g.region/printwindow.c:281 ../general/g.region/printwindow.c:289
-#: ../general/g.region/printwindow.c:297 ../general/g.region/printwindow.c:305
-#: ../general/g.region/printwindow.c:534 ../general/g.region/printwindow.c:542
-#: ../general/g.region/printwindow.c:550 ../general/g.region/printwindow.c:558
-#: ../general/g.region/printwindow.c:676 ../general/g.region/printwindow.c:684
-#: ../general/g.region/printwindow.c:692 ../general/g.region/printwindow.c:700
+#: ../general/g.region/printwindow.c:270 ../general/g.region/printwindow.c:278
+#: ../general/g.region/printwindow.c:286 ../general/g.region/printwindow.c:294
+#: ../general/g.region/printwindow.c:523 ../general/g.region/printwindow.c:531
+#: ../general/g.region/printwindow.c:539 ../general/g.region/printwindow.c:547
+#: ../general/g.region/printwindow.c:665 ../general/g.region/printwindow.c:673
+#: ../general/g.region/printwindow.c:681 ../general/g.region/printwindow.c:689
 #: ../raster/r.sunmask/g_solposition.c:127 ../raster/r.sunhours/main.c:296
 #: ../raster/r.sunhours/main.c:391
 msgid "Error in pj_do_proj (projection of input coordinate pair)"
 msgstr "pj_do_proj (输入坐标对的投影) 有错误"
 
-#: ../general/g.region/printwindow.c:410
+#: ../general/g.region/printwindow.c:399
 msgid "You are already in Lat/Long. Use the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:412
+#: ../general/g.region/printwindow.c:401
 msgid ""
 "You are in a simple XY location, projection to Lat/Lon is not possible. Use "
 "the -p flag instead."
 msgstr ""
 
-#: ../general/g.region/printwindow.c:637
+#: ../general/g.region/printwindow.c:626
 msgid ""
 "WGS84 output not possible as this location does not contain datum "
 "transformation parameters. Try running g.setproj."
 msgstr ""
 "无法使用 WGS84 来输出,因为该区域不包含基准面转换参数。尝试运行 g.setproj。"
 
-#: ../general/g.region/printwindow.c:783
+#: ../general/g.region/printwindow.c:772
 msgid "Lat/Long calculations are not possible from a simple XY system"
 msgstr ""
 
@@ -6403,9 +6486,9 @@ msgstr "未发现区域<%s>"
 #: ../raster3d/r3.to.rast/main.c:222 ../raster3d/r3.out.netcdf/main.c:600
 #: ../raster3d/r3.null/main.c:103 ../raster3d/r3.support/main.c:135
 #: ../raster3d/r3.out.vtk/main.c:142 ../raster3d/r3.timestamp/main.c:72
-#: ../raster3d/r3.neighbors/main.c:229 ../raster3d/r3.out.ascii/main.c:326
-#: ../raster3d/r3.cross.rast/main.c:245 ../raster3d/r3.out.v5d/main.c:307
-#: ../vector/v.colors/main.c:320
+#: ../raster3d/r3.flow/main.c:87 ../raster3d/r3.neighbors/main.c:229
+#: ../raster3d/r3.out.ascii/main.c:326 ../raster3d/r3.cross.rast/main.c:245
+#: ../raster3d/r3.out.v5d/main.c:307 ../vector/v.colors/main.c:320
 #, c-format
 msgid "3D raster map <%s> not found"
 msgstr "未找到3D栅格图<%s>"
@@ -6429,7 +6512,7 @@ msgstr "无法更新当前区域"
 msgid "Unable to change default region. The current mapset is not <PERMANENT>."
 msgstr ""
 
-#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:612
+#: ../general/g.region/main.c:791 ../raster/r.in.lidar/main.c:438
 #, fuzzy, c-format
 msgid "Invalid input <%s=%s>"
 msgstr "无效的区域:%s"
@@ -6713,38 +6796,38 @@ msgstr "以shell脚本的样式输出统计值"
 msgid "Shell"
 msgstr ""
 
-#: ../general/g.version/main.c:157
+#: ../general/g.version/main.c:158
 #, c-format
 msgid ""
 "Cannot determine GRASS libgis version and date number. The GRASS build might "
 "be broken. Report this to developers or packagers.\n"
 msgstr ""
 
-#: ../general/g.version/main.c:164
+#: ../general/g.version/main.c:165
 msgid ""
 "GRASS GIS libgis version and date number don't have the expected format. "
 "Trying to print the original strings..."
 msgstr ""
 
-#: ../general/g.version/main.c:166
+#: ../general/g.version/main.c:167
 #, c-format
 msgid "GIS_H_VERSION=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:167
+#: ../general/g.version/main.c:168
 #, c-format
 msgid "GIS_H_DATE=\"%s\""
 msgstr ""
 
-#: ../general/g.version/main.c:197
+#: ../general/g.version/main.c:198
 msgid "GRASS not compiled with GDAL/OGR support"
 msgstr ""
 
-#: ../general/g.version/main.c:208
+#: ../general/g.version/main.c:209
 msgid "GRASS not compiled with GEOS support"
 msgstr ""
 
-#: ../general/g.version/main.c:219
+#: ../general/g.version/main.c:220
 msgid "GRASS not compiled with SQLite support"
 msgstr ""
 
@@ -6885,7 +6968,7 @@ msgstr "要查询的栅格图的名称"
 
 #: ../general/g.mapsets/main.c:81
 #: ../locale/scriptstrings/g.extension.all_to_translate.c:6
-#: ../locale/scriptstrings/g.extension_to_translate.c:8
+#: ../locale/scriptstrings/g.extension_to_translate.c:10
 #: ../vector/v.net/args.c:36
 #, fuzzy
 msgid "Operation to be performed"
@@ -7348,7 +7431,7 @@ msgstr "无法打开输入文件 <%s@%s>"
 #: ../general/g.cairocomp/main.c:66 ../raster/r.out.pov/main.c:173
 #: ../raster/r.out.vrml/main.c:131 ../raster/r.out.png/main.c:205
 #: ../raster/r.out.mat/main.c:91 ../raster/r.colors.out/raster_main.c:79
-#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:166
+#: ../raster/r.colors.out/raster3d_main.c:80 ../raster/r.support/main.c:168
 #: ../raster3d/r3.support/main.c:153 ../vector/v.colors.out/main.c:103
 #, fuzzy, c-format
 msgid "Unable to open output file <%s>"
@@ -7554,38 +7637,59 @@ msgid "command line interface with GUI startup screen"
 msgstr "字段 <%s> 未找到"
 
 #: ../general/g.gui/main.c:66
-msgid "Name of workspace file to load on start-up (valid only for wxGUI)"
+#, fuzzy
+msgid "Name of workspace file to load on start-up"
+msgstr "将要导入的栅格文件"
+
+#: ../general/g.gui/main.c:67
+msgid "This is valid only for wxGUI (wxpython)"
 msgstr ""
 
-#: ../general/g.gui/main.c:70
+#: ../general/g.gui/main.c:71
+msgid "Start GUI in the foreground"
+msgstr ""
+
+#: ../general/g.gui/main.c:72
+msgid ""
+"By default the GUI starts in the background and control is immediately "
+"returned to the caller. When GUI runs in foregreound, it blocks the command "
+"line"
+msgstr ""
+
+#: ../general/g.gui/main.c:78
 msgid "Update default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:71 ../general/g.gui/main.c:77
+#: ../general/g.gui/main.c:79 ../general/g.gui/main.c:85
 msgid "Default"
 msgstr ""
 
-#: ../general/g.gui/main.c:76
+#: ../general/g.gui/main.c:84
 msgid "Do not launch GUI after updating the default user interface settings"
 msgstr ""
 
-#: ../general/g.gui/main.c:87
+#: ../general/g.gui/main.c:95
 #, c-format
 msgid "<%s> is now the default GUI"
 msgstr ""
 
-#: ../general/g.gui/main.c:93
+#: ../general/g.gui/main.c:101
 #, c-format
 msgid "Nothing to do. For setting up <%s> as default UI use -%c flag."
 msgstr ""
 
-#: ../general/g.gui/main.c:98
+#: ../general/g.gui/main.c:108
+msgid "Your installation doesn't include GUI, exiting."
+msgstr ""
+
+#: ../general/g.gui/main.c:111
 #, c-format
-msgid "Launching <%s> GUI in the background, please wait..."
+msgid "Launching <%s> GUI, please wait..."
 msgstr ""
 
-#: ../general/g.gui/main.c:101
-msgid "Your installation doesn't include GUI, exiting."
+#: ../general/g.gui/main.c:122
+#, c-format
+msgid "Launching <%s> GUI in the background, please wait..."
 msgstr ""
 
 #: ../general/g.access/exp_perms.c:11 ../general/g.access/exp_perms.c:29
@@ -7796,8 +7900,8 @@ msgid ""
 "system"
 msgstr ""
 
-#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:73
-#: ../raster/r.null/main.c:81
+#: ../general/g.proj/main.c:193 ../raster/r.null/main.c:74
+#: ../raster/r.null/main.c:82
 msgid "Modify"
 msgstr ""
 
@@ -7835,9 +7939,9 @@ msgstr ""
 msgid "No output format specified, define one of flags -%c, -%c, or -%c"
 msgstr ""
 
-#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:404
-#: ../raster/r.in.gdal/main.c:793 ../vector/v.in.ogr/main.c:611
-#: ../vector/v.in.lidar/main.c:363
+#: ../general/g.proj/create.c:15 ../raster/r.in.gdal/main.c:437
+#: ../raster/r.in.gdal/main.c:847 ../vector/v.in.ogr/main.c:584
+#: ../vector/v.in.lidar/main.c:526
 #, fuzzy, c-format
 msgid "Location <%s> created"
 msgstr "位置名称"
@@ -7995,10 +8099,12 @@ msgstr "打印相关矩阵"
 #: ../locale/scriptstrings/t.topology_to_translate.c:2
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:3
 #: ../locale/scriptstrings/t.merge_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:2
 #: ../locale/scriptstrings/t.register_to_translate.c:2
 #: ../locale/scriptstrings/t.shift_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:2
 #: ../locale/scriptstrings/t.sample_to_translate.c:2
 #: ../locale/scriptstrings/t.info_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:2
@@ -8014,10 +8120,14 @@ msgstr "打印相关矩阵"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:2
 #: ../locale/scriptstrings/t.snap_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:2
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:2
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:2
 #: ../locale/scriptstrings/t.create_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:2
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:2
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:2
 #: ../locale/scriptstrings/t.list_to_translate.c:2
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:2
 #: ../locale/scriptstrings/t.rename_to_translate.c:2
@@ -8051,10 +8161,12 @@ msgstr "将要创建的矢量文件"
 #: ../locale/scriptstrings/t.topology_to_translate.c:4
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:8
 #: ../locale/scriptstrings/t.merge_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:6
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:5
 #: ../locale/scriptstrings/t.register_to_translate.c:5
 #: ../locale/scriptstrings/t.shift_to_translate.c:4
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:5
 #: ../locale/scriptstrings/t.sample_to_translate.c:4
 #: ../locale/scriptstrings/t.info_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.export_to_translate.c:5
@@ -8070,10 +8182,14 @@ msgstr "将要创建的矢量文件"
 #: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:5
 #: ../locale/scriptstrings/t.snap_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.out.vtk_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:6
 #: ../locale/scriptstrings/t.create_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.what.strds_to_translate.c:5
 #: ../locale/scriptstrings/t.vect.list_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:6
 #: ../locale/scriptstrings/t.list_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:5
 #: ../locale/scriptstrings/t.rename_to_translate.c:5
@@ -8175,8 +8291,8 @@ msgstr "选择字体,该字体用于图形监视器上文本的显示。"
 #: ../vector/v.out.postgis/main.c:45 ../vector/v.out.pov/main.c:47
 #: ../vector/v.colors.out/main.c:51 ../vector/v.out.dxf/main.c:57
 #: ../vector/v.out.ascii/main.c:48 ../vector/v.external.out/main.c:44
-#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.ogr/main.c:82
-#: ../vector/v.out.svg/main.c:78
+#: ../vector/v.out.vtk/main.c:48 ../vector/v.out.lidar/main.c:482
+#: ../vector/v.out.ogr/main.c:82 ../vector/v.out.svg/main.c:78
 msgid "export"
 msgstr ""
 
@@ -8217,7 +8333,7 @@ msgstr "将二进制栅格文件导入到GRASS栅格图层中。"
 #: ../imagery/i.eb.hsebal01/main.c:104 ../imagery/i.rectify/main.c:99
 #: ../imagery/i.target/main.c:45 ../imagery/i.eb.eta/main.c:42
 #: ../imagery/i.segment/main.c:35 ../imagery/i.gensigset/main.c:40
-#: ../imagery/i.albedo/main.c:88 ../imagery/i.eb.soilheatflux/main.c:49
+#: ../imagery/i.albedo/main.c:95 ../imagery/i.eb.soilheatflux/main.c:49
 #: ../imagery/i.aster.toar/main.c:97 ../imagery/i.eb.evapfr/main.c:47
 #: ../imagery/i.his.rgb/main.c:46 ../imagery/i.ifft/main.c:77
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:88
@@ -8246,15 +8362,16 @@ msgstr ""
 #: ../locale/scriptstrings/r.in.wms_to_translate.c:3
 #: ../locale/scriptstrings/r.unpack_to_translate.c:3
 #: ../raster/r.in.gridatb/main.c:46 ../raster/r.in.poly/main.c:35
-#: ../raster/r.external/main.c:58 ../raster/r.in.bin/main.c:258
-#: ../raster/r.in.gdal/main.c:88 ../raster/r.in.ascii/main.c:70
-#: ../raster/r.in.png/main.c:520 ../raster/r.in.lidar/main.c:171
-#: ../raster/r.in.mat/main.c:92 ../raster/r.in.xyz/main.c:160
-#: ../raster3d/r3.in.v5d/main.c:179 ../raster3d/r3.in.bin/main.c:253
-#: ../raster3d/r3.in.ascii/main.c:314 ../vector/v.in.db/main.c:53
-#: ../vector/v.in.ascii/main.c:69 ../vector/v.in.dxf/main.c:65
-#: ../vector/v.in.ogr/main.c:134 ../vector/v.external/main.c:51
-#: ../vector/v.in.lidar/main.c:157 ../vector/v.in.dwg/main.c:83
+#: ../raster/r.proj/main.c:147 ../raster/r.external/main.c:58
+#: ../raster/r.in.bin/main.c:258 ../raster/r.in.gdal/main.c:91
+#: ../raster/r.in.ascii/main.c:70 ../raster/r.in.png/main.c:520
+#: ../raster/r.in.lidar/main.c:105 ../raster/r.in.mat/main.c:92
+#: ../raster/r.in.xyz/main.c:160 ../raster3d/r3.in.v5d/main.c:179
+#: ../raster3d/r3.in.bin/main.c:253 ../raster3d/r3.in.ascii/main.c:314
+#: ../vector/v.in.db/main.c:53 ../vector/v.in.ascii/main.c:69
+#: ../vector/v.proj/main.c:70 ../vector/v.in.dxf/main.c:65
+#: ../vector/v.in.ogr/main.c:136 ../vector/v.external/main.c:51
+#: ../vector/v.in.lidar/main.c:109 ../vector/v.in.dwg/main.c:83
 #, fuzzy
 msgid "import"
 msgstr "矢量导入完成"
@@ -8342,7 +8459,7 @@ msgstr "无法为色彩条读取颜色"
 msgid ""
 "Uploads space time raster dataset values at positions of vector points to "
 "the table."
-msgstr "包含结果的栅格图的名称"
+msgstr "将 3D 栅格图转化为 2D 栅格图"
 
 #: ../locale/scriptstrings/v.what.strds_to_translate.c:9
 #, fuzzy
@@ -8400,7 +8517,7 @@ msgstr "数据库模式"
 msgid "Merges several space time datasets into a single space time dataset."
 msgstr "将 3D 栅格图转化为 2D 栅格图"
 
-#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:58
+#: ../locale/scriptstrings/t.merge_to_translate.c:3 ../raster/r.patch/main.c:61
 msgid "merge"
 msgstr ""
 
@@ -8410,6 +8527,107 @@ msgstr ""
 msgid "inputs"
 msgstr "输入地图"
 
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time raster datasets using "
+"temporal raster algebra."
+msgstr "将 3D 栅格图转化为 2D 栅格图"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
+#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
+#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
+#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
+#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
+#, fuzzy
+msgid "algebra"
+msgstr "矢量导入完成"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:6
+#, fuzzy
+msgid ""
+"r.mapcalc expression for temporal and spatial analysis of space time raster "
+"datasets"
+msgstr "列出输入区域内的栅格文件并退出"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:7
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
+#, fuzzy
+msgid "Basename of the new generated output maps"
+msgstr "输入栅格图的名称"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
+#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
+#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:8
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
+#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
+msgid ""
+"A numerical suffix separated by an underscore will be attached to create a "
+"unique identifier"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
+#, fuzzy
+msgid "Number of r.mapcalc processes to run in parallel"
+msgstr "打印的份数"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:10
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.select_to_translate.c:8
+msgid "Activate spatial topology"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
+#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
+#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
+#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
+#, fuzzy
+msgid "Register Null maps"
+msgstr "输入的栅格图"
+
+#: ../locale/scriptstrings/t.rast.algebra_to_translate.c:12
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:13
+msgid "Use granularity sampling instead of the temporal topology approach"
+msgstr ""
+
 #: ../locale/scriptstrings/i.tasscap_to_translate.c:1
 #, fuzzy
 msgid "Performs Tasseled Cap (Kauth Thomas) transformation."
@@ -8466,21 +8684,12 @@ msgid ""
 "datasets."
 msgstr "列出输入区域内的栅格文件并退出"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:3
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:3
-#: ../raster/r.mode/main.c:56 ../raster/r.texture/main.c:102
-#: ../raster/r.mapcalc/main.c:116 ../raster/r.neighbors/main.c:168
-#: ../raster/r.quantile/main.c:256 ../raster/r.mfilter/main.c:57
-#: ../raster3d/r3.neighbors/main.c:209 ../vector/v.neighbors/main.c:51
-#, fuzzy
-msgid "algebra"
-msgstr "矢量导入完成"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.univar_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:5
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:4
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:6
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:5
 #: ../locale/scriptstrings/t.rast3d.list_to_translate.c:6
 #: ../raster/r.to.rast3/main.c:199 ../raster/r.to.rast3elev/main.c:364
 #: ../raster3d/r3.in.v5d/main.c:180 ../raster3d/r3.mask/main.c:135
@@ -8489,11 +8698,13 @@ msgstr "矢量导入完成"
 #: ../raster3d/r3.info/main.c:77 ../raster3d/r3.stats/main.c:50
 #: ../raster3d/r3.retile/main.c:98 ../raster3d/r3.to.rast/main.c:209
 #: ../raster3d/r3.out.netcdf/main.c:589 ../raster3d/r3.null/main.c:188
-#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.out.vtk/main.c:378
-#: ../raster3d/r3.timestamp/main.c:46 ../raster3d/r3.neighbors/main.c:210
-#: ../raster3d/r3.in.ascii/main.c:315 ../raster3d/r3.out.ascii/main.c:304
-#: ../raster3d/r3.cross.rast/main.c:231 ../raster3d/r3.out.v5d/main.c:286
-#: ../vector/v.vol.rst/main.c:236 ../vector/v.to.rast3/main.c:50
+#: ../raster3d/r3.support/main.c:51 ../raster3d/r3.gradient/main.c:45
+#: ../raster3d/r3.out.vtk/main.c:378 ../raster3d/r3.timestamp/main.c:46
+#: ../raster3d/r3.flow/main.c:181 ../raster3d/r3.flow/test_main.c:45
+#: ../raster3d/r3.neighbors/main.c:210 ../raster3d/r3.in.ascii/main.c:315
+#: ../raster3d/r3.out.ascii/main.c:304 ../raster3d/r3.cross.rast/main.c:231
+#: ../raster3d/r3.out.v5d/main.c:286 ../vector/v.vol.rst/main.c:236
+#: ../vector/v.to.rast3/main.c:50
 msgid "voxel"
 msgstr ""
 
@@ -8501,54 +8712,13 @@ msgstr ""
 msgid "r3.mapcalc expression applied to each time step of the sampled data"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:8
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:6
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:6
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:14
-#, fuzzy
-msgid "Basename of the new generated output maps"
-msgstr "输入栅格图的名称"
-
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:9
-#: ../locale/scriptstrings/t.vect.extract_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:14
-#: ../locale/scriptstrings/t.rast.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.gapfill_to_translate.c:7
-#: ../locale/scriptstrings/t.vect.import_to_translate.c:7
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:8
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.accdetect_to_translate.c:15
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:8
-msgid ""
-"A numerical suffix separated by an underscore will be attached to create a "
-"unique identifier"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:10
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:9
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:10
 #, fuzzy
 msgid "Number of r3.mapcalc processes to run in parallel"
 msgstr "打印的份数"
 
-#: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:11
-#: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.neighbors_to_translate.c:11
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:10
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:13
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:10
-#, fuzzy
-msgid "Register Null maps"
-msgstr "输入的栅格图"
-
 #: ../locale/scriptstrings/t.rast3d.mapcalc_to_translate.c:12
 #: ../locale/scriptstrings/t.sample_to_translate.c:12
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:11
@@ -8563,7 +8733,8 @@ msgstr "栅格图的名称"
 #: ../locale/scriptstrings/t.vect.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast3d.extract_to_translate.c:3
 #: ../locale/scriptstrings/t.rast.extract_to_translate.c:3
-#: ../vector/v.outlier/main.c:71 ../vector/v.extract/main.c:78
+#: ../vector/v.decimate/main.c:127 ../vector/v.outlier/main.c:71
+#: ../vector/v.extract/main.c:78
 #, fuzzy
 msgid "extract"
 msgstr "矢量导入完成"
@@ -8796,7 +8967,7 @@ msgstr "使用的插值方法"
 #: ../locale/scriptstrings/r.fillnulls_to_translate.c:5
 #: ../imagery/i.rectify/main.c:148
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:127
-#: ../raster/r.proj/main.c:181
+#: ../raster/r.proj/main.c:182
 msgid "Interpolation method to use"
 msgstr "使用的插值方法"
 
@@ -8911,6 +9082,49 @@ msgstr "已有输入栅格文件大的名称"
 msgid "Name of attribute column(s) to drop"
 msgstr "列数"
 
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:1
+msgid ""
+"Sample a space time raster dataset at specific vector point coordinates and "
+"write the output to stdout using different layouts"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:6
+#, fuzzy
+msgid "Comma separated list of coordinates"
+msgstr "以逗号分隔值的列表:如1.4,3.8,13"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:7
+#, fuzzy
+msgid "Name for the output file or \"-\" in case stdout should be used"
+msgstr "输出报告的名称"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:8
+#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
+#, fuzzy
+msgid "Sort the maps by category"
+msgstr "创建一个空数据库"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:9
+msgid ""
+"The layout of the output. One point per row (row), one point per column "
+"(col), all timsteps in one row (timerow)"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:10
+#, fuzzy
+msgid "Number of r.what processes to run in parallel"
+msgstr "打印的份数"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:11
+#: ../raster/r.what/main.c:141
+#, fuzzy
+msgid "Output header row"
+msgstr "输出的栅格图"
+
+#: ../locale/scriptstrings/t.rast.what_to_translate.c:12
+msgid "Use stdin as input and ignore coordinates and point option"
+msgstr ""
+
 #: ../locale/scriptstrings/t.sample_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -9135,7 +9349,7 @@ msgstr ""
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:15
 msgid ""
 "Use these limits in case lower and/or upper input  space time raster "
-"datasets are not defined"
+"datasets are not defined or contain NULL values"
 msgstr ""
 
 #: ../locale/scriptstrings/t.rast.accumulate_to_translate.c:16
@@ -9378,6 +9592,7 @@ msgstr ""
 
 #: ../locale/scriptstrings/r.out.xyz_to_translate.c:5
 #: ../locale/scriptstrings/t.rast.to.rast3_to_translate.c:3
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:3
 #: ../raster/r.to.vect/main.c:71 ../raster/r.to.rast3/main.c:198
 #: ../raster/r.to.rast3elev/main.c:362 ../raster/r.in.ascii/main.c:71
 #: ../raster/r.in.xyz/main.c:161 ../raster3d/r3.to.rast/main.c:207
@@ -9447,10 +9662,14 @@ msgid "Extend location extents based on new dataset"
 msgstr "基于新的数据集扩展区域的范围"
 
 #: ../locale/scriptstrings/t.rast.import_to_translate.c:15
+#: ../locale/scriptstrings/v.import_to_translate.c:27
+#: ../locale/scriptstrings/r.import_to_translate.c:29
 #: ../locale/scriptstrings/v.unpack_to_translate.c:9
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:13
 #: ../locale/scriptstrings/r.unpack_to_translate.c:8
-#: ../raster/r.external/main.c:102
+#: ../raster/r.external/main.c:102 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.in.lidar/main.c:255 ../vector/v.in.ogr/main.c:284
+#: ../vector/v.in.lidar/main.c:307
 #, fuzzy
 msgid "Override projection check (use current location's projection)"
 msgstr "覆盖投影(使用区域的投影)"
@@ -9459,7 +9678,8 @@ msgstr "覆盖投影(使用区域的投影)"
 #: ../locale/scriptstrings/v.unpack_to_translate.c:10
 #: ../locale/scriptstrings/t.vect.import_to_translate.c:14
 #: ../locale/scriptstrings/r.unpack_to_translate.c:9
-#: ../raster/r.external/main.c:104
+#: ../raster/r.external/main.c:104 ../raster/r.in.gdal/main.c:178
+#: ../raster/r.in.lidar/main.c:257 ../vector/v.in.lidar/main.c:309
 #, fuzzy
 msgid "Assume that the dataset has same projection as the current location"
 msgstr "无法获得当前区域的投影单位"
@@ -9477,21 +9697,21 @@ msgid ""
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:5
-#: ../raster/r.in.lidar/main.c:172 ../raster/r.in.xyz/main.c:164
-#: ../vector/v.lidar.correction/main.c:69
+#: ../raster/r.in.lidar/main.c:106 ../raster/r.in.xyz/main.c:164
+#: ../vector/v.lidar.correction/main.c:69 ../vector/v.decimate/main.c:124
 #: ../vector/v.lidar.edgedetection/main.c:73
-#: ../vector/v.lidar.growing/main.c:76 ../vector/v.in.lidar/main.c:158
-#: ../vector/v.surf.bspline/main.c:94
+#: ../vector/v.lidar.growing/main.c:76 ../vector/v.out.lidar/main.c:483
+#: ../vector/v.in.lidar/main.c:110 ../vector/v.surf.bspline/main.c:94
 msgid "LIDAR"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:6
-#: ../raster/r.in.lidar/main.c:283 ../raster/r.in.xyz/main.c:303
+#: ../raster/r.in.lidar/main.c:261 ../raster/r.in.xyz/main.c:303
 msgid "Scan data file for extent then exit"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:7
-#: ../raster/r.in.lidar/main.c:289 ../raster/r.in.xyz/main.c:308
+#: ../raster/r.in.lidar/main.c:267 ../raster/r.in.xyz/main.c:308
 #, fuzzy
 msgid "In scan mode, print using shell script style"
 msgstr "以shell脚本的样式输出统计值"
@@ -9519,7 +9739,7 @@ msgstr ""
 "输出栅格文件的名称"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:11
-#: ../raster/r.in.lidar/main.c:186 ../raster/r.in.xyz/main.c:178
+#: ../raster/r.in.lidar/main.c:139 ../raster/r.in.xyz/main.c:178
 #, fuzzy
 msgid "Statistic to use for raster values"
 msgstr "报告栅格图层的统计数据"
@@ -9527,14 +9747,14 @@ msgstr "报告栅格图层的统计数据"
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:12
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:28
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:30
-#: ../raster/r.in.lidar/main.c:190 ../raster/r.in.lidar/main.c:230
-#: ../raster/r.in.lidar/main.c:239 ../raster/r.in.xyz/main.c:182
+#: ../raster/r.in.lidar/main.c:143 ../raster/r.in.lidar/main.c:192
+#: ../raster/r.in.lidar/main.c:202 ../raster/r.in.xyz/main.c:182
 #: ../raster/r.in.xyz/main.c:290 ../raster/r.in.xyz/main.c:299
 msgid "Statistic"
 msgstr ""
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:13
-#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:198
+#: ../raster/r.in.ascii/main.c:88 ../raster/r.in.lidar/main.c:151
 #: ../raster/r.in.xyz/main.c:190
 msgid "Storage type for resultant raster map"
 msgstr "转换后的栅格图的存储类型"
@@ -9576,18 +9796,18 @@ msgid "Scaling factor to apply to value column data"
 msgstr "属性字段值的比例因子"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:26
-#: ../raster/r.in.lidar/main.c:220 ../raster/r.in.xyz/main.c:280
+#: ../raster/r.in.lidar/main.c:182 ../raster/r.in.xyz/main.c:280
 msgid "Percent of map to keep in memory"
 msgstr "载入内存的地图的百分比"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:27
-#: ../raster/r.in.lidar/main.c:229 ../raster/r.in.xyz/main.c:289
+#: ../raster/r.in.lidar/main.c:191 ../raster/r.in.xyz/main.c:289
 #, fuzzy
 msgid "pth percentile of the values"
 msgstr "表达坡度的格式"
 
 #: ../locale/scriptstrings/r3.in.xyz_to_translate.c:29
-#: ../raster/r.in.lidar/main.c:238 ../raster/r.in.xyz/main.c:298
+#: ../raster/r.in.lidar/main.c:201 ../raster/r.in.xyz/main.c:298
 msgid ""
 "Discard <trim> percent of the smallest and <trim> percent of the largest "
 "observations"
@@ -9689,8 +9909,8 @@ msgid "Remove existing color table"
 msgstr "保留已有的色彩表"
 
 #: ../locale/scriptstrings/t.rast.colors_to_translate.c:15
-#: ../locale/scriptstrings/g.extension_to_translate.c:27
-#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:107
+#: ../locale/scriptstrings/g.extension_to_translate.c:30
+#: ../locale/scriptstrings/r.mask_to_translate.c:20 ../raster/r.null/main.c:108
 #: ../raster/r.colors/edit_colors.c:116 ../vector/v.colors/main.c:123
 #, fuzzy
 msgid "Remove"
@@ -9736,12 +9956,13 @@ msgid ""
 msgstr "将GRASS矢量图层转化为GRASS栅格图层。"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:5
+#: ../vector/v.in.ogr/main.c:144
 #, fuzzy
 msgid "Name of OGR datasource to be imported"
 msgstr "将要导入的栅格文件"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:7
-#: ../vector/v.in.ogr/main.c:153
+#: ../vector/v.in.ogr/main.c:156
 #, fuzzy
 msgid "OGR layer name. If not given, all available layers are imported"
 msgstr ""
@@ -9750,7 +9971,7 @@ msgstr ""
 "\t\tMapInfo File:mapinfo 文件名"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:9
-#: ../vector/v.proj/main.c:104
+#: ../vector/v.proj/main.c:105
 #, fuzzy
 msgid "Name for output vector map (default: input)"
 msgstr "输出栅格文件的标题"
@@ -9771,6 +9992,11 @@ msgstr "输出栅格文件的标题"
 #: ../locale/scriptstrings/m.proj_to_translate.c:22
 #: ../locale/scriptstrings/m.proj_to_translate.c:24
 #: ../locale/scriptstrings/m.proj_to_translate.c:26
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:7
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:9
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:11
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:13
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:15
 #: ../locale/scriptstrings/i.spectral_to_translate.c:10
 #: ../locale/scriptstrings/i.spectral_to_translate.c:12
 #: ../raster/r.sim/r.sim.water/main.c:193
@@ -9793,10 +10019,15 @@ msgstr "输出栅格文件的标题"
 #: ../raster/r.resamp.rst/main.c:174 ../raster/r.resamp.rst/main.c:180
 #: ../raster/r.resamp.rst/main.c:186 ../raster/r.resamp.rst/main.c:192
 #: ../raster/r.resamp.rst/main.c:198 ../raster/r.resamp.rst/main.c:204
-#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:163
-#: ../raster/r.grow.distance/main.c:169 ../vector/v.out.ascii/args.c:35
-#: ../vector/v.out.ascii/args.c:81 ../vector/v.in.ogr/main.c:161
-#: ../vector/v.in.ogr/main.c:265 ../vector/v.in.ogr/main.c:271
+#: ../raster/r.resamp.rst/main.c:264 ../raster/r.grow.distance/main.c:164
+#: ../raster/r.grow.distance/main.c:170 ../raster/r.in.lidar/main.c:118
+#: ../raster/r.in.lidar/main.c:133 ../raster/r.in.lidar/main.c:210
+#: ../raster/r.in.lidar/main.c:241 ../raster/r.in.lidar/main.c:250
+#: ../raster3d/r3.flow/main.c:211 ../raster3d/r3.flow/main.c:218
+#: ../vector/v.out.ascii/args.c:35 ../vector/v.out.ascii/args.c:81
+#: ../vector/v.in.ogr/main.c:165 ../vector/v.in.ogr/main.c:220
+#: ../vector/v.in.ogr/main.c:270 ../vector/v.in.ogr/main.c:276
+#: ../vector/v.in.ogr/main.c:318
 #, fuzzy
 msgid "Output"
 msgstr "输出图"
@@ -9807,29 +10038,30 @@ msgid "Output vector map extent"
 msgstr "输出的有问题区域的栅格图"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:12
+#, fuzzy
 msgid "input;extent of input map;region;extent of current region"
-msgstr ""
+msgstr "将当前区域对齐到输入的地图上"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:14
 #: ../locale/scriptstrings/db.in.ogr_to_translate.c:11
-#: ../vector/v.in.ogr/main.c:228
+#: ../vector/v.in.ogr/main.c:233
 #, fuzzy
 msgid "Encoding value for attribute data"
 msgstr "为 <%s> 读取类别文件时发生错误。"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:15
-#: ../vector/v.in.ogr/main.c:230
+#: ../vector/v.in.ogr/main.c:235
 msgid "Overrides encoding interpretation, useful when importing ESRI Shapefile"
 msgstr ""
 
 #: ../locale/scriptstrings/v.import_to_translate.c:17
-#: ../vector/v.in.ogr/main.c:207
+#: ../vector/v.in.ogr/main.c:211
 #, fuzzy
 msgid "Snapping threshold for boundaries (map units)"
 msgstr "边界的捕捉容限。 -1 表示不捕捉"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:18
-#: ../vector/v.in.ogr/main.c:208
+#: ../vector/v.in.ogr/main.c:212
 msgid "'-1' for no snap"
 msgstr ""
 
@@ -9845,17 +10077,65 @@ msgid "-1 to list available datum transform parameters"
 msgstr "包含平滑参数的字段名称"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:25
-#: ../vector/v.in.ogr/main.c:251
+#: ../vector/v.in.ogr/main.c:256
 #, fuzzy
 msgid "List supported OGR formats and exit"
 msgstr "列出支持的格式然后退出"
 
 #: ../locale/scriptstrings/v.import_to_translate.c:26
-#: ../vector/v.in.ogr/main.c:257
+#: ../vector/v.in.ogr/main.c:262
 #, fuzzy
 msgid "List available OGR layers in data source and exit"
 msgstr "列出数据源中可用的图层并退出"
 
+#: ../locale/scriptstrings/v.import_to_translate.c:28
+#: ../locale/scriptstrings/r.import_to_translate.c:30
+#: ../vector/v.in.ogr/main.c:286
+#, fuzzy
+msgid "Assume that the dataset has the same projection as the current location"
+msgstr "无法获得当前区域的投影单位"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:1
+#, fuzzy
+msgid "Manages display frames on the user's graphics monitor."
+msgstr "选择字体,该字体用于图形监视器上文本的显示。"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:5
+msgid "frame"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:6
+#, fuzzy
+msgid "Create a new frame if doesn't exist and select"
+msgstr "dig_att文件不存在。"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:7
+msgid "Remove all frames, erase the screen and exit"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:8
+#, fuzzy
+msgid "Print name of current frame and exit"
+msgstr "打印当前连接参数并退出"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:9
+#, fuzzy
+msgid "Print names of all frames including 'at' position and exit"
+msgstr "打印当前的连接参数并退出"
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:10
+msgid "Frame to be selected or created (if -c flag is given)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:11
+msgid ""
+"Screen coordinates in percent where to place the frame (0,0 is lower-left)"
+msgstr ""
+
+#: ../locale/scriptstrings/d.frame_to_translate.c:12
+msgid "Implies only when -c or --overwrite flag is given"
+msgstr ""
+
 #: ../locale/scriptstrings/d.rast.edit_to_translate.c:1
 #, fuzzy
 msgid "Edits cell values in a raster map."
@@ -10019,7 +10299,7 @@ msgstr ""
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:3
 #: ../locale/scriptstrings/v.report_to_translate.c:3
 #: ../locale/scriptstrings/v.to.lines_to_translate.c:3
-#: ../raster/r.patch/main.c:56 ../raster/r.to.vect/main.c:72
+#: ../raster/r.patch/main.c:59 ../raster/r.to.vect/main.c:72
 #: ../raster/r.circle/main.c:53 ../raster/r.thin/main.c:58
 #: ../vector/v.clean/main.c:53 ../vector/v.buffer/main.c:225
 #: ../vector/v.type/main.c:39 ../vector/v.in.region/main.c:42
@@ -10028,7 +10308,7 @@ msgstr ""
 #: ../vector/v.mkgrid/main.c:71 ../vector/v.univar/main.c:96
 #: ../vector/v.split/main.c:55 ../vector/v.to.3d/main.c:37
 #: ../vector/v.to.points/main.c:54 ../vector/v.voronoi/main.c:124
-#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:69
+#: ../vector/v.build.polylines/main.c:113 ../vector/v.patch/main.c:70
 #: ../vector/v.hull/main.c:53 ../vector/v.edit/main.c:55
 #: ../vector/v.extrude/main.c:68 ../vector/v.segment/main.c:61
 #: ../vector/v.drape/main.c:57 ../vector/v.overlay/main.c:63
@@ -10038,7 +10318,7 @@ msgid "geometry"
 msgstr "将要创建的矢量文件"
 
 #: ../locale/scriptstrings/i.image.mosaic_to_translate.c:4
-#: ../raster/r.patch/main.c:57
+#: ../raster/r.patch/main.c:60
 msgid "mosaicking"
 msgstr ""
 
@@ -10097,7 +10377,11 @@ msgstr ""
 msgid "Number of r.series processes to run in parallel"
 msgstr "插值点的数量"
 
-#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:13
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:12
+msgid "The maximum number of open files allowed for each r.series process"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.aggregate_to_translate.c:14
 #: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:14
 msgid ""
 "Use start time - truncated according to granularity - as suffix (overrides "
@@ -10122,15 +10406,15 @@ msgid "Input band(s) to select (default is all bands)"
 msgstr "选择波段(默认选择所有波段)"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:9
-#: ../raster/r.proj/main.c:190 ../raster/r.resamp.bspline/main.c:151
-#: ../raster/r.in.gdal/main.c:113 ../raster/r.stream.extract/main.c:141
+#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:151
+#: ../raster/r.in.gdal/main.c:116 ../raster/r.stream.extract/main.c:141
 #: ../vector/v.to.rast/main.c:116 ../vector/v.surf.bspline/main.c:194
 msgid "Maximum memory to be used (in MB)"
 msgstr ""
 
 #: ../locale/scriptstrings/r.import_to_translate.c:10
-#: ../raster/r.proj/main.c:191 ../raster/r.resamp.bspline/main.c:152
-#: ../raster/r.in.gdal/main.c:114 ../raster/r.stream.extract/main.c:142
+#: ../raster/r.proj/main.c:192 ../raster/r.resamp.bspline/main.c:152
+#: ../raster/r.in.gdal/main.c:117 ../raster/r.stream.extract/main.c:142
 #: ../vector/v.to.rast/main.c:117 ../vector/v.surf.bspline/main.c:195
 #, fuzzy
 msgid "Cache size for raster rows"
@@ -10189,12 +10473,12 @@ msgid "Optional"
 msgstr "非法的输出文件名"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:26
-#: ../raster/r.proj/main.c:207
+#: ../raster/r.proj/main.c:208
 msgid "Do not perform region cropping optimization"
 msgstr "不执行区域的裁切优化"
 
 #: ../locale/scriptstrings/r.import_to_translate.c:28
-#: ../raster/r.in.gdal/main.c:183
+#: ../raster/r.in.gdal/main.c:202
 #, fuzzy
 msgid "Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)"
 msgstr "地图北向格网坐标"
@@ -10292,7 +10576,7 @@ msgid "Generates a raster map layer with contiguous areas grown by one cell."
 msgstr "生成一个栅格图层包含一个像元增长所形成的连续区域。"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:4
-#: ../raster/r.grow.distance/main.c:153
+#: ../raster/r.grow.distance/main.c:154
 msgid "proximity"
 msgstr ""
 
@@ -10307,7 +10591,7 @@ msgid "Radius of buffer in raster cells"
 msgstr "缓冲区半径"
 
 #: ../locale/scriptstrings/r.grow_to_translate.c:7
-#: ../raster/r.grow.distance/main.c:175
+#: ../raster/r.grow.distance/main.c:176
 msgid "Metric"
 msgstr "量度"
 
@@ -10337,14 +10621,14 @@ msgstr "计算栅格地图中非空像元的一元统计值"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:5
 #: ../raster/r.univar/r3.univar_main.c:100
-#: ../raster/r.univar/r.univar_main.c:102 ../vector/v.vect.stats/main.c:131
+#: ../raster/r.univar/r.univar_main.c:106 ../vector/v.vect.stats/main.c:131
 #: ../vector/v.univar/main.c:94
 #, fuzzy
 msgid "univariate statistics"
 msgstr "包含结果的栅格图的名称"
 
 #: ../locale/scriptstrings/v.rast.stats_to_translate.c:6
-#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:103
+#: ../raster/r.stats.zonal/main.c:103 ../raster/r.univar/r.univar_main.c:107
 #: ../raster/r.statistics/main.c:57 ../vector/v.vect.stats/main.c:132
 #, fuzzy
 msgid "zonal statistics"
@@ -10410,6 +10694,17 @@ msgid ""
 "between maps, where statement will be ignored"
 msgstr ""
 
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:1
+msgid ""
+"Apply temporal and spatial oeprations on space time vector datasets using "
+"temporal vector algebra."
+msgstr ""
+
+#: ../locale/scriptstrings/t.vect.algebra_to_translate.c:6
+#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
+msgid "Spatio-temporal mapcalc expression"
+msgstr ""
+
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -10417,7 +10712,8 @@ msgid ""
 msgstr "列出输入区域内的栅格文件并退出"
 
 #: ../locale/scriptstrings/t.vect.db.select_to_translate.c:6
-#: ../vector/v.outlier/main.c:72 ../vector/v.extract/main.c:79
+#: ../vector/v.decimate/main.c:128 ../vector/v.outlier/main.c:72
+#: ../vector/v.extract/main.c:79
 #, fuzzy
 msgid "select"
 msgstr "无法获取栅格行\n"
@@ -10461,6 +10757,61 @@ msgstr "读取%-5d个点类别\n"
 msgid "Name of table to drop"
 msgstr "查询图层。用于 'query' 选项。"
 
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:1
+#, fuzzy
+msgid ""
+"Produces a space time vector dataset of specified contours from a space time "
+"raster dataset."
+msgstr "从GRASS栅格图层生成有特定等高线的GRASS矢量地图。"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:3
+#, fuzzy
+msgid "contour"
+msgstr "对比"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:9
+#: ../raster/r.contour/main.c:101
+msgid "Increment between contour levels"
+msgstr "等高线级数间的增量"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:10
+#: ../raster/r.contour/main.c:109
+msgid "List of contour levels"
+msgstr "等高线级数的列表"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:11
+#: ../raster/r.contour/main.c:116
+msgid "Minimum contour level"
+msgstr "最低等高线的级数"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:12
+#: ../raster/r.contour/main.c:123
+msgid "Maximum contour level"
+msgstr "最高等高线的级数"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:13
+#: ../raster/r.contour/main.c:132
+msgid "Minimum number of points for a contour line (0 -> no limit)"
+msgstr "一条等高线应有的最少点数(0为无限制)"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:14
+msgid ""
+"Number of r.contour processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:15
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:12
+#, fuzzy
+msgid "Register empty vector maps"
+msgstr "输入的栅格图"
+
+#: ../locale/scriptstrings/t.rast.contour_to_translate.c:16
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:13
+#, fuzzy
+msgid "Do not create attribute tables"
+msgstr "无法创建属性表"
+
 #: ../locale/scriptstrings/db.out.ogr_to_translate.c:1
 #, fuzzy
 msgid "Exports attribute tables into various formats."
@@ -10485,6 +10836,20 @@ msgstr "OGR 格式"
 msgid "Name for output table (default: input name)"
 msgstr "输出栅格文件的标题"
 
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:1
+#, fuzzy
+msgid ""
+"Apply temporal and spatial operations on space time 3D raster datasets using "
+"temporal 3D raster algebra."
+msgstr "将 3D 栅格图转化为 2D 栅格图"
+
+#: ../locale/scriptstrings/t.rast3d.algebra_to_translate.c:7
+#, fuzzy
+msgid ""
+"Algebraic expression for temporal and spatial analysis of space time 3D "
+"raster datasets"
+msgstr "列出输入区域内的栅格文件并退出"
+
 #: ../locale/scriptstrings/t.create_to_translate.c:1
 #, fuzzy
 msgid "Creates a space time dataset."
@@ -10624,6 +10989,63 @@ msgstr "已有输入栅格文件大的名称"
 msgid "Lists registered maps of a space time vector dataset."
 msgstr "列出输入区域内的栅格文件并退出"
 
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:1
+#, fuzzy
+msgid "Converts a space time raster dataset into a space time vector dataset"
+msgstr "将 3D 栅格图转化为 2D 栅格图"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:7
+#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
+#, fuzzy
+msgid "Output feature type"
+msgstr "要素类型"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:10
+#: ../raster/r.to.vect/main.c:88
+#, fuzzy
+msgid "Name of attribute column to store value"
+msgstr "用来创建标签的属性字段的名称"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:11
+msgid ""
+"Number of r.to.vect processes to run in parallel, more than 1 process works "
+"only in conjunction with flag -t"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:14
+#: ../raster/r.to.vect/main.c:94
+#, fuzzy
+msgid "Smooth corners of area features"
+msgstr "平滑转角"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:15
+#: ../raster/r.to.vect/main.c:104
+#, fuzzy
+msgid "Write raster values as z coordinate"
+msgstr "z 坐标的偏移值"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:16
+#: ../raster/r.to.vect/main.c:105
+#, fuzzy
+msgid "Table is not created. Currently supported only for points."
+msgstr "栅格值作为 z 坐标写入。表没有创建。目前只支持点"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:17
+#: ../raster/r.to.vect/main.c:111
+#, fuzzy
+msgid "Do not build vector topology"
+msgstr "点模式下不建立拓扑"
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:18
+#: ../raster/r.to.vect/main.c:89
+msgid "Name must be SQL compliant"
+msgstr ""
+
+#: ../locale/scriptstrings/t.rast.to.vect_to_translate.c:19
+#: ../raster/r.to.vect/main.c:99
+msgid "Use raster values as categories instead of unique sequence (CELL only)"
+msgstr "使用栅格值作为类别,而不使用独立值(只对栅格单元)"
+
 #: ../locale/scriptstrings/v.db.join_to_translate.c:1
 #, fuzzy
 msgid "Joins a database table to a vector map table."
@@ -10635,6 +11057,7 @@ msgid "Vector map to which to join other table"
 msgstr "需要编辑属性表的输入矢量点地图的名称"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:6
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
 msgid "layer,column"
 msgstr ""
 
@@ -10644,6 +11067,7 @@ msgid "Layer where to join"
 msgstr "无法创建属性表"
 
 #: ../locale/scriptstrings/v.db.join_to_translate.c:8
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
 #, fuzzy
 msgid "column"
 msgstr "列名"
@@ -10724,7 +11148,6 @@ msgstr "输出栅格文件的标题"
 
 #: ../locale/scriptstrings/v.unpack_to_translate.c:8
 #: ../locale/scriptstrings/v.unpack_to_translate.c:11
-#: ../locale/scriptstrings/v.unpack_to_translate.c:12
 #: ../locale/scriptstrings/r.unpack_to_translate.c:7
 #: ../locale/scriptstrings/r.unpack_to_translate.c:10
 #: ../raster/r.univar/r.univar_main.c:42 ../raster/r.kappa/main.c:90
@@ -11025,6 +11448,10 @@ msgid ""
 "co1+col2)"
 msgstr ""
 
+#: ../locale/scriptstrings/v.db.update_to_translate.c:8
+msgid "Name of SQLite extension file for extra functions (SQLite backend only)"
+msgstr ""
+
 #: ../locale/scriptstrings/m.proj_to_translate.c:1
 msgid "Converts coordinates from one projection to another (cs2cs frontend)."
 msgstr ""
@@ -11314,13 +11741,6 @@ msgstr "栅格图的名称"
 msgid "r.mapcalc expression assigned to all extracted raster maps"
 msgstr ""
 
-#: ../locale/scriptstrings/t.rast.extract_to_translate.c:9
-#: ../locale/scriptstrings/t.rast.aggregate.ds_to_translate.c:12
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:9
-#, fuzzy
-msgid "Number of r.mapcalc processes to run in parallel"
-msgstr "打印的份数"
-
 #: ../locale/scriptstrings/v.what.vect_to_translate.c:1
 msgid "Uploads vector values at positions of vector points to the table."
 msgstr ""
@@ -11331,23 +11751,32 @@ msgstr ""
 msgid "Name of vector points map for which to edit attributes"
 msgstr "需要编辑属性表的输入矢量点地图的名称"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:9
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
 #: ../vector/v.what.rast3/main.c:86 ../vector/v.what.rast/main.c:97
 #, fuzzy
 msgid "Name of attribute column to be updated with the query result"
 msgstr "用来创建标签的属性字段的名称"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:10
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
 #, fuzzy
 msgid "Name of vector map to be queried"
 msgstr "输入的 2D 矢量地图的名称"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:11
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:13
+msgid "query_layer,query_column"
+msgstr ""
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:14
+#, fuzzy
+msgid "query_column"
+msgstr "列名"
+
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:15
 #, fuzzy
 msgid "Name of attribute column to be queried"
 msgstr "用来创建标签的属性字段的名称"
 
-#: ../locale/scriptstrings/v.what.vect_to_translate.c:12
+#: ../locale/scriptstrings/v.what.vect_to_translate.c:16
 #, fuzzy
 msgid "Maximum query distance in map units"
 msgstr "缓冲区距离 (地图单位)"
@@ -11386,77 +11815,93 @@ msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:2
 msgid ""
-"Downloads, installs extensions from GRASS Addons SVN repository into local "
-"GRASS installation or removes installed extensions."
+"Downloads and installs extensions from GRASS Addons repository or other "
+"source into the local GRASS installation or removes installed extensions."
 msgstr ""
 
 #: ../locale/scriptstrings/g.extension_to_translate.c:6
+msgid "addons"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:7
+msgid "download"
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:8
 #, fuzzy
 msgid "Name of extension to install or remove"
 msgstr "将要创建的新区域的名称"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:7
+#: ../locale/scriptstrings/g.extension_to_translate.c:9
 msgid "Name of toolbox (set of extensions) when -t flag is given"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:9
-msgid "SVN Addons repository URL"
+#: ../locale/scriptstrings/g.extension_to_translate.c:11
+msgid ""
+"URL or directory to get the extension from (supported only on Linux and Mac)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:10
+#: ../locale/scriptstrings/g.extension_to_translate.c:12
+msgid ""
+"The official repository is used by default. User can specify a ZIP file, "
+"directory or a repository on common hosting services. If not identified, "
+"Subversion repository is assumed. See manual for all options."
+msgstr ""
+
+#: ../locale/scriptstrings/g.extension_to_translate.c:13
 msgid "Prefix where to install extension (ignored when flag -s is given)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:11
+#: ../locale/scriptstrings/g.extension_to_translate.c:14
 msgid "Set the proxy with: \"http=<value>,ftp=<value>\""
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:12
+#: ../locale/scriptstrings/g.extension_to_translate.c:15
 #, fuzzy
-msgid "List available extensions in the GRASS Addons SVN repository"
+msgid "List available extensions in the official GRASS GIS Addons repository"
 msgstr "列出可用的格式并退出"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:14
+#: ../locale/scriptstrings/g.extension_to_translate.c:17
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository including "
-"module description"
+"List available extensions in the official GRASS GIS Addons repository "
+"including module description"
 msgstr "列出可用的格式并退出"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:16
+#: ../locale/scriptstrings/g.extension_to_translate.c:19
 #, fuzzy
 msgid ""
-"List available extensions in the GRASS Addons SVN repository (shell script "
-"style)"
+"List available extensions in the official GRASS GIS Addons repository (shell "
+"script style)"
 msgstr "列出可用的格式并退出"
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:18
+#: ../locale/scriptstrings/g.extension_to_translate.c:21
 msgid "List locally installed extensions"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:20
+#: ../locale/scriptstrings/g.extension_to_translate.c:23
 msgid "Install system-wide (may need system administrator rights)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:21
-#: ../locale/scriptstrings/g.extension_to_translate.c:23
-#: ../locale/scriptstrings/g.extension_to_translate.c:25
+#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:28
 msgid "Install"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:22
+#: ../locale/scriptstrings/g.extension_to_translate.c:25
 msgid "Download source code and exit"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:24
+#: ../locale/scriptstrings/g.extension_to_translate.c:27
 msgid "Do not install new extension, just compile it"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:26
+#: ../locale/scriptstrings/g.extension_to_translate.c:29
 msgid "Force removal when uninstalling extension (operation=remove)"
 msgstr ""
 
-#: ../locale/scriptstrings/g.extension_to_translate.c:28
+#: ../locale/scriptstrings/g.extension_to_translate.c:31
 #, fuzzy
 msgid "Operate on toolboxes instead of single modules (experimental)"
 msgstr "系统表而不是用户表"
@@ -11477,20 +11922,26 @@ msgid "Description of the space time dataset"
 msgstr "新的栅格文件的名称"
 
 #: ../locale/scriptstrings/t.support_to_translate.c:10
+#, fuzzy
+msgid "Aggregation type of the space time raster or 3D raster dataset"
+msgstr "新的栅格文件的名称"
+
+#: ../locale/scriptstrings/t.support_to_translate.c:11
 msgid ""
 "Update the metadata information and spatial extent of registered maps from "
 "the GRASS spatial database"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:11
+#: ../locale/scriptstrings/t.support_to_translate.c:12
 msgid ""
 "Check for removed maps and delete them from the temporal database and all "
 "effected space time datasets"
 msgstr ""
 
-#: ../locale/scriptstrings/t.support_to_translate.c:12
+#: ../locale/scriptstrings/t.support_to_translate.c:13
 msgid ""
-"Update metadata information, temporal and spatial extent from registered maps"
+"Update metadata information, temporal and spatial extent from registered "
+"maps based on database entries."
 msgstr ""
 
 #: ../locale/scriptstrings/v.build.all_to_translate.c:1
@@ -11508,10 +11959,46 @@ msgstr ""
 msgid "The temporal mapcalc expression"
 msgstr ""
 
-#: ../locale/scriptstrings/t.select_to_translate.c:8
-msgid "Activate spatial topology"
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:1
+msgid "Search in GRASS modules using keywords"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:3
+msgid "modules"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:4
+msgid "search"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:5
+#, fuzzy
+msgid "Keyword to be searched"
+msgstr "将要导入的栅格文件"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:6
+msgid ""
+"Display only modules where all keywords are available (AND), default: OR"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:8
+msgid "Search in manual pages too (can be slow)"
+msgstr ""
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:10
+msgid "Use colorized (more readable) output to terminal"
 msgstr ""
 
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:12
+#, fuzzy
+msgid "Shell script format"
+msgstr "以shell脚本的样式输出统计值"
+
+#: ../locale/scriptstrings/g.search.modules_to_translate.c:14
+#, fuzzy
+msgid "JSON format"
+msgstr "输出的格式"
+
 #: ../locale/scriptstrings/r.mask_to_translate.c:1
 msgid "Creates a MASK for limiting raster operation."
 msgstr ""
@@ -11628,8 +12115,8 @@ msgstr ""
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:9
 #, fuzzy
-msgid "Name for output image"
-msgstr "输出文件的名称"
+msgid "Name for output image (or text file for -t)"
+msgstr "输出报告的名称"
 
 #: ../locale/scriptstrings/i.spectral_to_translate.c:11
 #, fuzzy
@@ -11646,6 +12133,11 @@ msgstr "使用地图坐标而不是 xyz 坐标"
 msgid "Use gnuplot for display"
 msgstr "无法关闭输入地图"
 
+#: ../locale/scriptstrings/i.spectral_to_translate.c:15
+#, fuzzy
+msgid "output to text file"
+msgstr "输出的坡面栅格文件"
+
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:1
 #, fuzzy
 msgid ""
@@ -11660,11 +12152,6 @@ msgstr "计算栅格地图中非空像元的一元统计值"
 msgid "series"
 msgstr "将要查询的栅格地图"
 
-#: ../locale/scriptstrings/t.rast.series_to_translate.c:7
-#, fuzzy
-msgid "Sort the maps by category"
-msgstr "创建一个空数据库"
-
 #: ../locale/scriptstrings/t.rast.series_to_translate.c:8
 #, fuzzy
 msgid ""
@@ -11762,6 +12249,7 @@ msgstr "栅格值"
 #: ../locale/scriptstrings/v.krige_to_translate.c:16
 #: ../locale/scriptstrings/v.krige_to_translate.c:18
 #: ../locale/scriptstrings/v.krige_to_translate.c:20
+#: ../locale/scriptstrings/v.krige_to_translate.c:22
 msgid "Automatically fixed if not set"
 msgstr ""
 
@@ -11777,6 +12265,11 @@ msgstr "比特模式的值"
 
 #: ../locale/scriptstrings/v.krige_to_translate.c:21
 #, fuzzy
+msgid "Kappa value"
+msgstr "栅格值"
+
+#: ../locale/scriptstrings/v.krige_to_translate.c:23
+#, fuzzy
 msgid "Name for output variance raster map"
 msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
@@ -11784,7 +12277,7 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../locale/scriptstrings/v.krige_to_translate.c:22
+#: ../locale/scriptstrings/v.krige_to_translate.c:24
 msgid "If omitted, will be <input name>_kriging.var"
 msgstr ""
 
@@ -11867,10 +12360,6 @@ msgid ""
 "space time raster datasets."
 msgstr "列出输入区域内的栅格文件并退出"
 
-#: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:6
-msgid "Spatio-temporal mapcalc expression"
-msgstr ""
-
 #: ../locale/scriptstrings/t.rast.mapcalc_to_translate.c:7
 #, fuzzy
 msgid "Basename for output raster maps"
@@ -11892,7 +12381,7 @@ msgstr "无法创建栅格地图 %s"
 #: ../imagery/i.landsat.acca/tools.c:136
 #: ../imagery/i.landsat.acca/algorithm.c:234
 #: ../imagery/i.landsat.acca/algorithm.c:388
-#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:594
+#: ../imagery/i.landsat.toar/main.c:566 ../raster/r.mapcalc/map3.c:604
 #: ../raster/r.sunhours/main.c:324 ../raster/r.sunhours/main.c:335
 #: ../raster/r.sunhours/main.c:346
 #, c-format
@@ -12422,7 +12911,7 @@ msgid "radiance"
 msgstr "变化"
 
 #: ../imagery/i.landsat.toar/main.c:73 ../imagery/i.landsat.toar/main.c:579
-#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:90
+#: ../imagery/i.modis.qc/main.c:140 ../imagery/i.albedo/main.c:97
 #: ../imagery/i.aster.toar/main.c:101
 #, fuzzy
 msgid "reflectance"
@@ -12453,8 +12942,9 @@ msgstr ""
 #: ../imagery/i.landsat.toar/main.c:93 ../imagery/i.landsat.toar/main.c:115
 #: ../imagery/i.landsat.toar/main.c:125 ../imagery/i.landsat.toar/main.c:134
 #: ../imagery/i.landsat.toar/main.c:142 ../imagery/i.landsat.toar/main.c:151
-#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:131
-#: ../raster/r.in.gdal/main.c:139
+#: ../raster/r.external/main.c:91 ../raster/r.in.gdal/main.c:134
+#: ../raster/r.in.gdal/main.c:142 ../raster/r.in.gdal/main.c:150
+#: ../raster/r.in.gdal/main.c:156
 msgid "Metadata"
 msgstr ""
 
@@ -12658,8 +13148,8 @@ msgstr "无法写入 <%s>"
 msgid "Calculating..."
 msgstr "通过DEM计算阴影..."
 
-#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:311
-#: ../raster/r.in.gdal/main.c:643 ../raster/r.relief/main.c:194
+#: ../imagery/i.landsat.toar/main.c:548 ../raster/r.in.gdal/main.c:344
+#: ../raster/r.in.gdal/main.c:691 ../raster/r.relief/main.c:194
 #: ../vector/v.kernel/main.c:236
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists and will be overwritten"
@@ -14754,21 +15244,21 @@ msgstr "未发现区域<%s>"
 
 #: ../imagery/i.rectify/target.c:32
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:31
-#: ../raster/r.in.gdal/main.c:891 ../vector/v.rectify/target.c:40
+#: ../raster/r.in.gdal/main.c:945 ../vector/v.rectify/target.c:40
 #, fuzzy, c-format
 msgid "Mapset <%s> in target location <%s> - "
 msgstr "未发现输入的矢量"
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:280 ../raster/r.in.gdal/main.c:893
+#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:947
 #: ../vector/v.rectify/target.c:41
 msgid "permission denied"
 msgstr ""
 
 #: ../imagery/i.rectify/target.c:33
 #: ../imagery/i.ortho.photo/i.ortho.rectify/target.c:32
-#: ../raster/r.proj/main.c:281 ../raster/r.in.gdal/main.c:894
+#: ../raster/r.proj/main.c:282 ../raster/r.in.gdal/main.c:948
 #: ../vector/v.rectify/target.c:41
 #, fuzzy
 msgid "not found"
@@ -14866,7 +15356,7 @@ msgstr ""
 
 #: ../imagery/i.rectify/main.c:172
 #: ../imagery/i.ortho.photo/i.ortho.rectify/main.c:152
-#: ../raster/r.proj/main.c:236 ../raster/r.stats.zonal/main.c:165
+#: ../raster/r.proj/main.c:237 ../raster/r.stats.zonal/main.c:165
 #: ../raster/r.statistics/main.c:118 ../vector/v.vect.stats/main.c:268
 #, c-format
 msgid "<%s=%s> unknown %s"
@@ -14995,7 +15485,7 @@ msgid "Name of target mapset"
 msgstr ""
 
 #: ../imagery/i.target/main.c:68
-msgid "Set current location and mapset as target for of imagery group"
+msgid "Set current location and mapset as target for imagery group"
 msgstr ""
 
 #: ../imagery/i.target/main.c:90 ../imagery/i.target/main.c:107
@@ -15422,52 +15912,56 @@ msgstr ""
 msgid "Removed a singular subsignature number %d (%d remain)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:89
+#: ../imagery/i.albedo/main.c:96
 #, fuzzy
 msgid "albedo"
 msgstr "输入失败"
 
-#: ../imagery/i.albedo/main.c:91
+#: ../imagery/i.albedo/main.c:98
 #, fuzzy
 msgid "Computes broad band albedo from surface reflectance."
 msgstr "结果图的名称"
 
-#: ../imagery/i.albedo/main.c:104
+#: ../imagery/i.albedo/main.c:111
 msgid "MODIS (7 input bands:1,2,3,4,5,6,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:108
+#: ../imagery/i.albedo/main.c:115
 msgid "NOAA AVHRR (2 input bands:1,2)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:112
+#: ../imagery/i.albedo/main.c:119
 msgid "Landsat 5+7 (6 input bands:1,2,3,4,5,7)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:116
+#: ../imagery/i.albedo/main.c:123
+msgid "Landsat 8 (7 input bands:1,2,3,4,5,6,7)"
+msgstr ""
+
+#: ../imagery/i.albedo/main.c:127
 msgid "ASTER (6 input bands:1,3,5,6,8,9)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:120
+#: ../imagery/i.albedo/main.c:131
 msgid "Aggressive mode (Landsat)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:122 ../imagery/i.albedo/main.c:129
+#: ../imagery/i.albedo/main.c:133 ../imagery/i.albedo/main.c:140
 msgid ""
 "Albedo dry run to calculate some water to beach/sand/desert stretching, a "
 "kind of simple atmospheric correction"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:127
+#: ../imagery/i.albedo/main.c:138
 msgid "Soft mode (MODIS)"
 msgstr ""
 
-#: ../imagery/i.albedo/main.c:150 ../imagery/i.aster.toar/main.c:229
+#: ../imagery/i.albedo/main.c:162 ../imagery/i.aster.toar/main.c:229
 #, fuzzy, c-format
 msgid "Too many input maps. Only %d allowed."
 msgstr "%s - 补丁文件太多。只允许 %d"
 
-#: ../imagery/i.albedo/main.c:164
+#: ../imagery/i.albedo/main.c:176
 #, fuzzy
 msgid "At least two raster maps are required"
 msgstr "输出栅格文件的标题"
@@ -15682,7 +16176,7 @@ msgid "Starting Inverse FFT..."
 msgstr ""
 
 #: ../imagery/i.ifft/main.c:207 ../raster/r.drain/main.c:519
-#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:134
+#: ../raster/r.composite/main.c:191 ../raster/r.random.cells/indep.c:139
 #: ../raster/r.random.surface/save.c:98
 #, fuzzy, c-format
 msgid "Writing raster map <%s>..."
@@ -16106,7 +16600,7 @@ msgstr "我的第一个栅格模块。"
 msgid "My first vector module"
 msgstr "我的第一个栅格模块。"
 
-#: ../doc/vector/v.example/main.c:81
+#: ../doc/vector/v.example/main.c:81 ../vector/v.cluster/main.c:144
 #, fuzzy
 msgid "Unable to set predetermined vector open level"
 msgstr "无法打开矢量质心点地图。"
@@ -16247,11 +16741,12 @@ msgstr ""
 #: ../raster/r.sim/r.sim.sediment/main.c:110 ../raster/r.water.outlet/main.c:57
 #: ../raster/r.topidx/main.c:40 ../raster/r.drain/main.c:110
 #: ../raster/r.topmodel/main.c:52 ../raster/r.lake/main.c:151
-#: ../raster/r.watershed/front/main.c:73 ../raster/r.basins.fill/main.c:55
+#: ../raster/r.watershed/front/main.c:74 ../raster/r.basins.fill/main.c:55
 #: ../raster/r.flow/main.c:422 ../raster/r.fill.dir/main.c:87
 #: ../raster/r.uslek/main.c:54 ../raster/r.gwflow/main.c:210
 #: ../raster/r.carve/main.c:75 ../raster/r.usler/main.c:53
 #: ../raster/r.stream.extract/main.c:77 ../raster3d/r3.gwflow/main.c:162
+#: ../raster3d/r3.flow/main.c:180 ../raster3d/r3.flow/test_main.c:44
 msgid "hydrology"
 msgstr ""
 
@@ -16959,12 +17454,12 @@ msgstr ""
 msgid "Cols changed"
 msgstr ""
 
-#: ../raster/r.patch/main.c:59
+#: ../raster/r.patch/main.c:62
 #, fuzzy
 msgid "patching"
 msgstr "无法创建索引"
 
-#: ../raster/r.patch/main.c:61
+#: ../raster/r.patch/main.c:64
 msgid ""
 "Creates a composite raster map layer by using known category values from one "
 "(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
@@ -16972,36 +17467,36 @@ msgstr ""
 "使用一个(或多个)图层已知的类别值来填充另一个图层的无数据区域,生成一幅合成"
 "栅格图层。"
 
-#: ../raster/r.patch/main.c:68
+#: ../raster/r.patch/main.c:71
 msgid "Name of raster maps to be patched together"
 msgstr "补丁栅格地图的名称"
 
-#: ../raster/r.patch/main.c:71
+#: ../raster/r.patch/main.c:74
 msgid "Name for resultant raster map"
 msgstr "结果栅格图的名称"
 
-#: ../raster/r.patch/main.c:78
+#: ../raster/r.patch/main.c:81
 msgid "Use zero (0) for transparency instead of NULL"
 msgstr "透明使用零值而不是空值"
 
-#: ../raster/r.patch/main.c:92
+#: ../raster/r.patch/main.c:95
 #, fuzzy
 msgid "The minimum number of input raster maps is two"
 msgstr "指定输入地图的数目最小值是 2"
 
-#: ../raster/r.patch/main.c:129 ../raster/r.slope.aspect/main.c:545
+#: ../raster/r.patch/main.c:132 ../raster/r.slope.aspect/main.c:545
 #: ../raster/r.series/main.c:343 ../raster/r.series.accumulate/main.c:318
 #: ../raster/r.series.interp/main.c:339 ../raster/r.relief/main.c:316
 #, fuzzy
 msgid "Percent complete..."
 msgstr "已完成 ... "
 
-#: ../raster/r.patch/main.c:167
+#: ../raster/r.patch/main.c:170
 #, fuzzy, c-format
 msgid "Creating support files for raster map <%s>..."
 msgstr "为 %s 创建支持文件"
 
-#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:705
+#: ../raster/r.in.poly/poly2rast.c:56 ../raster/r.in.lidar/main.c:538
 #: ../raster/r.in.xyz/main.c:604
 #, c-format
 msgid "Pass #%d (of %d) ..."
@@ -17024,7 +17519,7 @@ msgid "Name of input file; or \"-\" to read from stdin"
 msgstr "导入的ASCII栅格文件"
 
 #: ../raster/r.in.poly/main.c:50 ../raster/r.external/main.c:90
-#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:130
+#: ../raster/r.in.bin/main.c:298 ../raster/r.in.gdal/main.c:133
 #: ../raster/r.in.ascii/main.c:96
 msgid "Title for resultant raster map"
 msgstr "结果栅格图的标题"
@@ -17455,8 +17950,8 @@ msgstr "您没有输出任何的栅格或矢量文件"
 
 #: ../raster/r.to.vect/util.c:157 ../raster/r.to.vect/areas_io.c:377
 #: ../raster/r.volume/main.c:295 ../vector/v.vol.rst/vector.c:80
-#: ../vector/v.random/main.c:467 ../vector/v.random/main.c:587
-#: ../vector/v.in.ogr/main.c:1279 ../vector/v.in.lidar/main.c:784
+#: ../vector/v.random/main.c:468 ../vector/v.random/main.c:588
+#: ../vector/v.in.ogr/main.c:1292 ../vector/v.in.lidar/attributes.c:240
 #, c-format
 msgid "Cannot insert new row: %s"
 msgstr "无法插入新行:%s"
@@ -17528,57 +18023,18 @@ msgstr "栅格高程文件的名称"
 msgid "Converts a raster map into a vector map."
 msgstr "将栅格图转化为矢量图层。"
 
-#: ../raster/r.to.vect/main.c:81 ../vector/v.mkgrid/main.c:135
-#, fuzzy
-msgid "Output feature type"
-msgstr "要素类型"
-
-#: ../raster/r.to.vect/main.c:88
-#, fuzzy
-msgid "Name of attribute column to store value"
-msgstr "用来创建标签的属性字段的名称"
-
-#: ../raster/r.to.vect/main.c:89
-msgid "Name must be SQL compliant"
-msgstr ""
-
-#: ../raster/r.to.vect/main.c:94
-#, fuzzy
-msgid "Smooth corners of area features"
-msgstr "平滑转角"
-
-#: ../raster/r.to.vect/main.c:99
-msgid "Use raster values as categories instead of unique sequence (CELL only)"
-msgstr "使用栅格值作为类别,而不使用独立值(只对栅格单元)"
-
 #: ../raster/r.to.vect/main.c:100 ../raster/r.to.vect/main.c:107
-#: ../vector/v.buffer/main.c:308 ../vector/v.to.rast/main.c:88
+#: ../vector/v.buffer/main.c:307 ../vector/v.to.rast/main.c:88
 #: ../vector/v.to.rast/main.c:94 ../vector/v.to.rast/main.c:100
-#: ../vector/v.in.ogr/main.c:221 ../vector/v.in.ogr/main.c:231
-#: ../vector/v.in.ogr/main.c:241 ../vector/v.in.ogr/main.c:274
-#: ../vector/v.in.ogr/main.c:304 ../vector/v.overlay/main.c:132
-#: ../vector/v.overlay/main.c:142 ../vector/v.in.lidar/main.c:209
-#: ../vector/v.extract/main.c:93 ../vector/v.extract/main.c:145
-#: ../vector/v.generalize/main.c:241
+#: ../vector/v.in.ogr/main.c:226 ../vector/v.in.ogr/main.c:236
+#: ../vector/v.in.ogr/main.c:246 ../vector/v.in.ogr/main.c:279
+#: ../vector/v.in.ogr/main.c:311 ../vector/v.overlay/main.c:132
+#: ../vector/v.overlay/main.c:142 ../vector/v.extract/main.c:93
+#: ../vector/v.extract/main.c:145 ../vector/v.generalize/main.c:241
 #, fuzzy
 msgid "Attributes"
 msgstr "无法创建属性表"
 
-#: ../raster/r.to.vect/main.c:104
-#, fuzzy
-msgid "Write raster values as z coordinate"
-msgstr "z 坐标的偏移值"
-
-#: ../raster/r.to.vect/main.c:105
-#, fuzzy
-msgid "Table is not created. Currently supported only for points."
-msgstr "栅格值作为 z 坐标写入。表没有创建。目前只支持点"
-
-#: ../raster/r.to.vect/main.c:111
-#, fuzzy
-msgid "Do not build vector topology"
-msgstr "点模式下不建立拓扑"
-
 #: ../raster/r.to.vect/main.c:112
 msgid "Recommended for massive point conversion"
 msgstr ""
@@ -17608,23 +18064,25 @@ msgid "Categories will be unique sequence, raster values will be lost."
 msgstr ""
 
 #: ../raster/r.to.vect/main.c:222 ../raster/r.volume/main.c:259
-#: ../vector/v.in.ascii/main.c:409 ../vector/v.random/main.c:250
-#: ../vector/v.lrs/v.lrs.create/main.c:338 ../vector/v.mkgrid/main.c:341
-#: ../vector/v.mkgrid/main.c:399 ../vector/v.in.dxf/write_vect.c:233
+#: ../raster3d/r3.flow/main.c:64 ../vector/v.in.ascii/main.c:409
+#: ../vector/v.random/main.c:251 ../vector/v.lrs/v.lrs.create/main.c:338
+#: ../vector/v.mkgrid/main.c:341 ../vector/v.mkgrid/main.c:399
+#: ../vector/v.in.dxf/write_vect.c:233
 #, fuzzy, c-format
 msgid "Unable to create table: %s"
 msgstr "无法创建文件 [%s]"
 
 #: ../raster/r.to.vect/main.c:231 ../raster/r.random/random.c:257
 #: ../raster/r.contour/main.c:193 ../raster/r.stream.extract/close.c:196
-#: ../vector/v.in.ascii/main.c:417 ../vector/v.random/main.c:262
-#: ../vector/v.mkgrid/main.c:349 ../vector/v.mkgrid/main.c:407
-#: ../vector/v.sample/main.c:197 ../vector/v.reclass/main.c:327
-#: ../vector/v.to.points/main.c:192 ../vector/v.patch/main.c:316
-#: ../vector/v.in.dxf/write_vect.c:238 ../vector/v.in.ogr/main.c:1160
-#: ../vector/v.overlay/main.c:590 ../vector/v.distance/main.c:1361
-#: ../vector/v.in.lidar/main.c:623 ../vector/v.extract/copy_tab.c:129
-#: ../vector/v.in.dwg/main.c:249 ../vector/v.select/copy_tabs.c:85
+#: ../raster3d/r3.flow/main.c:72 ../vector/v.in.ascii/main.c:417
+#: ../vector/v.random/main.c:263 ../vector/v.mkgrid/main.c:349
+#: ../vector/v.mkgrid/main.c:407 ../vector/v.sample/main.c:197
+#: ../vector/v.reclass/main.c:327 ../vector/v.to.points/main.c:192
+#: ../vector/v.patch/main.c:332 ../vector/v.in.dxf/write_vect.c:238
+#: ../vector/v.in.ogr/main.c:1157 ../vector/v.overlay/main.c:590
+#: ../vector/v.distance/main.c:1361 ../vector/v.in.lidar/attributes.c:144
+#: ../vector/v.extract/copy_tab.c:129 ../vector/v.in.dwg/main.c:249
+#: ../vector/v.select/copy_tabs.c:85
 #, fuzzy, c-format
 msgid "Unable to grant privileges on table <%s>"
 msgstr "无法为表%s授予权限"
@@ -17666,201 +18124,201 @@ msgstr "无法创建表:%s"
 msgid "Allocating memory and reading input raster map..."
 msgstr "输入地图的区域"
 
-#: ../raster/r.proj/main.c:148
+#: ../raster/r.proj/main.c:149
 #, fuzzy
 msgid "Re-projects a raster map from given location to the current location."
 msgstr "将栅格图从一个区域重投影到当前区域"
 
-#: ../raster/r.proj/main.c:152
+#: ../raster/r.proj/main.c:153
 #, fuzzy
 msgid "Location containing input raster map"
 msgstr "输入地图的区域"
 
-#: ../raster/r.proj/main.c:153 ../raster/r.proj/main.c:158
-#: ../raster/r.proj/main.c:163 ../vector/v.net.flow/main.c:108
-#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:77
-#: ../vector/v.proj/main.c:82 ../vector/v.proj/main.c:88
+#: ../raster/r.proj/main.c:154 ../raster/r.proj/main.c:159
+#: ../raster/r.proj/main.c:164 ../vector/v.net.flow/main.c:108
+#: ../vector/v.net.flow/main.c:114 ../vector/v.proj/main.c:78
+#: ../vector/v.proj/main.c:83 ../vector/v.proj/main.c:89
 #, fuzzy
 msgid "Source"
 msgstr "变化的总和"
 
-#: ../raster/r.proj/main.c:156
+#: ../raster/r.proj/main.c:157
 #, fuzzy
 msgid "Mapset containing input raster map"
 msgstr "输入的 2D 矢量地图的名称"
 
-#: ../raster/r.proj/main.c:157 ../vector/v.proj/main.c:81
+#: ../raster/r.proj/main.c:158 ../vector/v.proj/main.c:82
 #, fuzzy
 msgid "Default: name of current mapset"
 msgstr "从当前区域设置"
 
-#: ../raster/r.proj/main.c:161
+#: ../raster/r.proj/main.c:162
 #, fuzzy
 msgid "Name of input raster map to re-project"
 msgstr "输入栅格图的名称"
 
-#: ../raster/r.proj/main.c:166 ../vector/v.proj/main.c:91
+#: ../raster/r.proj/main.c:167 ../vector/v.proj/main.c:92
 msgid "Path to GRASS database of input location"
 msgstr "输入区域的GRASS数据库路径"
 
-#: ../raster/r.proj/main.c:170
+#: ../raster/r.proj/main.c:171
 #, fuzzy
 msgid "Name for output raster map (default: same as 'input')"
 msgstr "输出栅格文件的标题"
 
-#: ../raster/r.proj/main.c:171 ../raster/r.proj/main.c:182
-#: ../raster/r.proj/main.c:198 ../vector/v.proj/main.c:100
-#: ../vector/v.proj/main.c:105 ../vector/v.proj/main.c:117
-#: ../vector/v.proj/main.c:124
+#: ../raster/r.proj/main.c:172 ../raster/r.proj/main.c:183
+#: ../raster/r.proj/main.c:199 ../vector/v.proj/main.c:101
+#: ../vector/v.proj/main.c:106 ../vector/v.proj/main.c:118
+#: ../vector/v.proj/main.c:125
 #, fuzzy
 msgid "Target"
 msgstr "面\n"
 
-#: ../raster/r.proj/main.c:197
+#: ../raster/r.proj/main.c:198
 #, fuzzy
 msgid "Resolution of output raster map"
 msgstr "输出地图的分辨率"
 
-#: ../raster/r.proj/main.c:202
+#: ../raster/r.proj/main.c:203
 #, fuzzy
 msgid "List raster maps in input mapset and exit"
 msgstr "列出输入区域内的栅格文件并退出"
 
-#: ../raster/r.proj/main.c:212
+#: ../raster/r.proj/main.c:213
 #, fuzzy
 msgid "Print input map's bounds in the current projection and exit"
 msgstr "列出输入区域内的栅格文件并退出"
 
-#: ../raster/r.proj/main.c:218
+#: ../raster/r.proj/main.c:219
 #, fuzzy
 msgid ""
 "Print input map's bounds in the current projection and exit (shell style)"
 msgstr "打印当前区域(shell脚本样式)"
 
-#: ../raster/r.proj/main.c:251 ../vector/v.proj/main.c:158
+#: ../raster/r.proj/main.c:252 ../vector/v.proj/main.c:159
 msgid "Input and output locations can not be the same"
 msgstr ""
 
-#: ../raster/r.proj/main.c:253
+#: ../raster/r.proj/main.c:254
 #, fuzzy
 msgid "Input and output locations are the same"
 msgstr "输入地图:洼地的位置"
 
-#: ../raster/r.proj/main.c:263
+#: ../raster/r.proj/main.c:264
 #, fuzzy
 msgid "Unable to get projection info of output raster map"
 msgstr "无法获得当前区域的投影信息"
 
-#: ../raster/r.proj/main.c:266
+#: ../raster/r.proj/main.c:267
 #, fuzzy
 msgid "Unable to get projection units of output raster map"
 msgstr "无法获得当前区域的投影单位"
 
-#: ../raster/r.proj/main.c:269
+#: ../raster/r.proj/main.c:270
 #, fuzzy
 msgid "Unable to get projection key values of output raster map"
 msgstr "无法获得当前区域的投影参数"
 
-#: ../raster/r.proj/main.c:278
+#: ../raster/r.proj/main.c:279
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> - %s"
 msgstr "未发现输入的矢量"
 
-#: ../raster/r.proj/main.c:287 ../vector/v.proj/main.c:182
+#: ../raster/r.proj/main.c:288 ../vector/v.proj/main.c:183
 #, fuzzy, c-format
 msgid "Checking location <%s> mapset <%s>"
 msgstr "输入的栅格图"
 
-#: ../raster/r.proj/main.c:299 ../vector/v.net/args.c:119
-#: ../vector/v.net/args.c:125 ../vector/v.net/args.c:131
-#: ../vector/v.net/args.c:135 ../vector/v.net/args.c:145
-#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:199
-#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:345
-#: ../vector/v.external/main.c:118 ../vector/v.select/main.c:88
+#: ../raster/r.proj/main.c:300 ../vector/v.net/args.c:152
+#: ../vector/v.net/args.c:159 ../vector/v.net/args.c:165
+#: ../vector/v.net/args.c:169 ../vector/v.net/args.c:179
+#: ../vector/v.what.rast/main.c:120 ../vector/v.proj/main.c:200
+#: ../vector/v.edit/main.c:87 ../vector/v.in.ogr/main.c:353
+#: ../vector/v.external/main.c:105 ../vector/v.select/main.c:88
 #, fuzzy, c-format
 msgid "Required parameter <%s> not set"
 msgstr "需要的 g3d 文件未找到"
 
-#: ../raster/r.proj/main.c:302
+#: ../raster/r.proj/main.c:303
 #, fuzzy, c-format
 msgid "Raster map <%s> in location <%s> in mapset <%s> not found"
 msgstr "矢量文件 [%s] 不可用"
 
-#: ../raster/r.proj/main.c:310
+#: ../raster/r.proj/main.c:311
 #, fuzzy
 msgid "Unable to get projection info of input map"
 msgstr "无法获得当前区域的投影信息"
 
-#: ../raster/r.proj/main.c:313
+#: ../raster/r.proj/main.c:314
 #, fuzzy
 msgid "Unable to get projection units of input map"
 msgstr "无法获得当前区域的投影单位"
 
-#: ../raster/r.proj/main.c:316
+#: ../raster/r.proj/main.c:317
 #, fuzzy
 msgid "Unable to get projection key values of input map"
 msgstr "无法获得当前区域的投影参数"
 
-#: ../raster/r.proj/main.c:331
+#: ../raster/r.proj/main.c:332
 msgid "Unable to work with unprojected data (xy location)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:350
+#: ../raster/r.proj/main.c:351
 #, fuzzy, c-format
 msgid "Input map <%s@%s> in location <%s>:"
 msgstr "未发现输入的矢量"
 
-#: ../raster/r.proj/main.c:442
+#: ../raster/r.proj/main.c:443
 #, fuzzy
 msgid "Input:"
 msgstr "输入地图"
 
-#: ../raster/r.proj/main.c:443 ../raster/r.proj/main.c:454
+#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
 #, fuzzy, c-format
 msgid "Cols: %d (%d)"
 msgstr "列名"
 
-#: ../raster/r.proj/main.c:444 ../raster/r.proj/main.c:455
+#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
 #, c-format
 msgid "Rows: %d (%d)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:445 ../raster/r.proj/main.c:456
+#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
 #, fuzzy, c-format
 msgid "North: %f (%f)"
 msgstr "节点%d:%f %f\n"
 
-#: ../raster/r.proj/main.c:446 ../raster/r.proj/main.c:457
+#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
 #, c-format
 msgid "South: %f (%f)"
 msgstr ""
 
-#: ../raster/r.proj/main.c:447 ../raster/r.proj/main.c:458
+#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
 #, fuzzy, c-format
 msgid "West: %f (%f)"
 msgstr "节点%d:%f %f\n"
 
-#: ../raster/r.proj/main.c:448 ../raster/r.proj/main.c:459
+#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
 #, fuzzy, c-format
 msgid "East: %f (%f)"
 msgstr "节点%d:%f %f\n"
 
-#: ../raster/r.proj/main.c:449 ../raster/r.proj/main.c:460
+#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
 #, c-format
 msgid "EW-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:450 ../raster/r.proj/main.c:461
+#: ../raster/r.proj/main.c:451 ../raster/r.proj/main.c:462
 #, c-format
 msgid "NS-res: %f"
 msgstr ""
 
-#: ../raster/r.proj/main.c:453
+#: ../raster/r.proj/main.c:454
 #, fuzzy
 msgid "Output:"
 msgstr "输出图"
 
-#: ../raster/r.proj/main.c:490
+#: ../raster/r.proj/main.c:491
 #, fuzzy
 msgid "Projecting..."
 msgstr "绘制 ... "
@@ -17904,7 +18362,7 @@ msgstr ""
 #: ../raster/r.li/r.li.richness/richness.c:44
 #: ../raster/r.li/r.li.shannon/shannon.c:47
 #: ../raster/r.li/r.li.renyi/renyi.c:48 ../raster/r.li/r.li.cwed/cwed.c:55
-#: ../raster/r.li/r.li.mpa/mpa.c:44 ../raster/r.li/r.li.padsd/padsd.c:54
+#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:54
 #: ../raster/r.li/r.li.pielou/pielou.c:47
 #: ../raster/r.li/r.li.patchdensity/main.c:52
 #: ../raster/r.li/r.li.shape/main.c:50
@@ -17917,7 +18375,7 @@ msgstr "包含结果的栅格图的名称"
 #: ../raster/r.li/r.li.edgedensity/edgedensity.c:50
 #: ../raster/r.li/r.li.padrange/padrange.c:55
 #: ../raster/r.li/r.li.padcv/padcv.c:55 ../raster/r.li/r.li.cwed/cwed.c:56
-#: ../raster/r.li/r.li.mpa/mpa.c:45 ../raster/r.li/r.li.padsd/padsd.c:55
+#: ../raster/r.li/r.li.mpa/mpa.c:46 ../raster/r.li/r.li.padsd/padsd.c:55
 #: ../raster/r.li/r.li.patchdensity/main.c:53
 #: ../raster/r.li/r.li.shape/main.c:51 ../raster/r.li/r.li.mps/mps.c:54
 #: ../raster/r.li/r.li.patchnum/main.c:52
@@ -17932,7 +18390,7 @@ msgstr "无法创建索引"
 #: ../raster/r.li/r.li.richness/richness.c:53
 #: ../raster/r.li/r.li.shannon/shannon.c:56
 #: ../raster/r.li/r.li.renyi/renyi.c:57 ../raster/r.li/r.li.cwed/cwed.c:64
-#: ../raster/r.li/r.li.mpa/mpa.c:52 ../raster/r.li/r.li.padsd/padsd.c:62
+#: ../raster/r.li/r.li.mpa/mpa.c:53 ../raster/r.li/r.li.padsd/padsd.c:62
 #: ../raster/r.li/r.li.pielou/pielou.c:56
 #: ../raster/r.li/r.li.patchdensity/main.c:61
 #: ../raster/r.li/r.li.shape/main.c:59
@@ -18087,7 +18545,7 @@ msgstr ""
 msgid "Row cache is too small"
 msgstr ""
 
-#: ../raster/r.li/r.li.mpa/mpa.c:42
+#: ../raster/r.li/r.li.mpa/mpa.c:43
 #, fuzzy
 msgid "Calculates mean pixel attribute index on a raster map"
 msgstr "无法关闭新的 g3d 地图"
@@ -18478,21 +18936,61 @@ msgstr ""
 msgid "Mode 2: integrated daily irradiation for a given day of the year"
 msgstr ""
 
-#: ../raster/r.sun/main.c:670
+#: ../raster/r.sun/main.c:647
+#, fuzzy, c-format
+msgid "Using Linke constant: %lf"
+msgstr "使用地图中心点坐标\n"
+
+#: ../raster/r.sun/main.c:649
+#, fuzzy, c-format
+msgid "Using Linke map <%s>"
+msgstr "写入栅格地图 %i\n"
+
+#: ../raster/r.sun/main.c:654
+#, c-format
+msgid "Using albedo constant: %lf"
+msgstr ""
+
+#: ../raster/r.sun/main.c:656
+#, fuzzy, c-format
+msgid "Using albedo map <%s>"
+msgstr "无效的区域:%s"
+
+#: ../raster/r.sun/main.c:661
+#, fuzzy, c-format
+msgid "Using slope constant: %lf"
+msgstr "使用地图中心点坐标\n"
+
+#: ../raster/r.sun/main.c:664
+#, fuzzy, c-format
+msgid "Using slope map <%s>"
+msgstr "写入栅格地图 %i\n"
+
+#: ../raster/r.sun/main.c:669
+#, fuzzy, c-format
+msgid "Using aspect constant: %lf"
+msgstr "使用地图中心点坐标\n"
+
+#: ../raster/r.sun/main.c:672
+#, fuzzy, c-format
+msgid "Using aspect map <%s>"
+msgstr "写入栅格地图 %i\n"
+
+#: ../raster/r.sun/main.c:687
 msgid "If you use -s and no horizon rasters, numpartitions must be =1"
 msgstr ""
 
-#: ../raster/r.sun/main.c:683
+#: ../raster/r.sun/main.c:700
 msgid ""
 "If you want to save memory and to use shadows, you must use pre-calculated "
 "horizons."
 msgstr ""
 
-#: ../raster/r.sun/main.c:750
+#: ../raster/r.sun/main.c:767
 msgid "latin and longin raster maps have no effect when in a Lat/Lon location"
 msgstr ""
 
-#: ../raster/r.sun/main.c:755
+#: ../raster/r.sun/main.c:772
 msgid "Both latin and longin raster maps must be given, or neither"
 msgstr ""
 
@@ -18865,7 +19363,7 @@ msgid "cumulative costs"
 msgstr ""
 
 #: ../raster/r.cost/main.c:143 ../raster/r.walk/main.c:181
-#: ../vector/v.net.alloc/main.c:64
+#: ../vector/v.net.alloc/main.c:66
 #, fuzzy
 msgid "cost allocation"
 msgstr "位置名称"
@@ -19702,7 +20200,7 @@ msgstr "栅格高程文件的名称"
 msgid "Creates watershed basins from a drainage direction map."
 msgstr "为栅格图层生成区域统计值。"
 
-#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:74
+#: ../raster/r.water.outlet/main.c:58 ../raster/r.watershed/front/main.c:75
 #: ../raster/r.basins.fill/main.c:56
 msgid "watershed"
 msgstr ""
@@ -19901,23 +20399,23 @@ msgstr "包含结果的栅格图的名称"
 msgid "Statistics for <%s> updated"
 msgstr "[%s] 的历史文件已更新。"
 
-#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:416
+#: ../raster/r.external/proj.c:18 ../raster/r.in.gdal/main.c:449
 #, fuzzy
 msgid ""
 "Unable to convert input raster map projection information to GRASS format "
 "for checking"
 msgstr "不能将输入地图的投影信息转换为 GRASS 格式来检查"
 
-#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:434
-#: ../raster/r.in.lidar/main.c:377 ../vector/v.in.ogr/main.c:645
-#: ../vector/v.in.lidar/main.c:397
+#: ../raster/r.external/proj.c:34 ../raster/r.in.gdal/main.c:467
+#: ../raster/r.in.lidar/projection.c:128 ../vector/v.in.ogr/main.c:618
+#: ../vector/v.in.lidar/projection.c:126
 #, fuzzy
 msgid "Over-riding projection check"
 msgstr "无法获取栅格行\n"
 
-#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:444
-#: ../raster/r.in.lidar/main.c:386 ../vector/v.in.ogr/main.c:654
-#: ../vector/v.in.lidar/main.c:406
+#: ../raster/r.external/proj.c:42 ../raster/r.in.gdal/main.c:477
+#: ../raster/r.in.lidar/projection.c:34 ../vector/v.in.pdal/projection.c:31
+#: ../vector/v.in.ogr/main.c:627 ../vector/v.in.lidar/projection.c:32
 #, fuzzy
 msgid ""
 "Projection of dataset does not appear to match current location.\n"
@@ -19926,24 +20424,25 @@ msgstr ""
 "输入数据集的投影和当前区域相匹配。\n"
 "继续导入...\n"
 
-#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:449
+#: ../raster/r.external/proj.c:47 ../raster/r.in.gdal/main.c:482
 msgid "Location PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:460
+#: ../raster/r.external/proj.c:58 ../raster/r.in.gdal/main.c:493
 msgid "Dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:496
-#: ../raster/r.in.lidar/main.c:402 ../raster/r.in.lidar/main.c:409
-#: ../vector/v.in.ogr/main.c:670 ../vector/v.in.ogr/main.c:677
-#: ../vector/v.in.lidar/main.c:422 ../vector/v.in.lidar/main.c:429
+#: ../raster/r.external/proj.c:85 ../raster/r.in.gdal/main.c:529
+#: ../raster/r.in.lidar/projection.c:49 ../raster/r.in.lidar/projection.c:55
+#: ../vector/v.in.pdal/projection.c:46 ../vector/v.in.pdal/projection.c:52
+#: ../vector/v.in.ogr/main.c:643 ../vector/v.in.ogr/main.c:650
+#: ../vector/v.in.lidar/projection.c:47 ../vector/v.in.lidar/projection.c:53
 msgid "Import dataset PROJ_INFO is:\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:514
-#: ../raster/r.in.lidar/main.c:448 ../vector/v.in.ogr/main.c:716
-#: ../vector/v.in.lidar/main.c:468
+#: ../raster/r.external/proj.c:107 ../raster/r.in.gdal/main.c:547
+#: ../raster/r.in.lidar/projection.c:91 ../vector/v.in.pdal/projection.c:88
+#: ../vector/v.in.ogr/main.c:689 ../vector/v.in.lidar/projection.c:89
 #, c-format
 msgid ""
 "\n"
@@ -19951,16 +20450,16 @@ msgid ""
 "-o flag to ignore them and use current location definition.\n"
 msgstr ""
 
-#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:518
+#: ../raster/r.external/proj.c:111 ../raster/r.in.gdal/main.c:551
 #, fuzzy
 msgid ""
 "Consider generating a new location from the input dataset using the "
 "'location' parameter.\n"
 msgstr "考虑用 'location' 参数从输入的数据集创建新的区域。\n"
 
-#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:534
-#: ../raster/r.in.lidar/main.c:457 ../vector/v.in.ogr/main.c:735
-#: ../vector/v.in.lidar/main.c:478
+#: ../raster/r.external/proj.c:116 ../raster/r.in.gdal/main.c:567
+#: ../raster/r.in.lidar/projection.c:139 ../vector/v.in.pdal/projection.c:137
+#: ../vector/v.in.ogr/main.c:708 ../vector/v.in.lidar/projection.c:137
 #, fuzzy
 msgid "Projection of input dataset and current location appear to match"
 msgstr ""
@@ -20027,8 +20526,8 @@ msgstr "为 %s 创建支持文件"
 msgid "Link to raster map <%s> created."
 msgstr "dig_att文件不存在。"
 
-#: ../raster/r.external/list.c:22 ../raster/r.in.gdal/main.c:253
-#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:326
+#: ../raster/r.external/list.c:23 ../raster/r.in.gdal/main.c:286
+#: ../vector/v.external.out/list.c:102 ../vector/v.in.ogr/main.c:334
 #: ../vector/v.external/list.c:94
 #, fuzzy
 msgid "Supported formats:"
@@ -20048,13 +20547,13 @@ msgstr ""
 msgid "Applying vertical flip"
 msgstr ""
 
-#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:836
-#: ../vector/v.in.ogr/main.c:1702
+#: ../raster/r.external/window.c:93 ../raster/r.in.gdal/main.c:890
+#: ../vector/v.in.ogr/main.c:1719
 msgid "Default region for this location updated"
 msgstr ""
 
-#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:839
-#: ../vector/v.in.ogr/main.c:1705
+#: ../raster/r.external/window.c:96 ../raster/r.in.gdal/main.c:893
+#: ../vector/v.in.ogr/main.c:1722
 #, fuzzy
 msgid "Region for the current mapset updated"
 msgstr "无法创建栅格地图 %s"
@@ -20083,22 +20582,22 @@ msgstr "新的栅格文件的名称"
 msgid "Band to select (default is all bands)"
 msgstr "选择波段(默认选择所有波段)"
 
-#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:176
+#: ../raster/r.external/main.c:95 ../raster/r.in.gdal/main.c:195
 #: ../raster/r.external.out/main.c:271 ../vector/v.external.out/args.c:62
-#: ../vector/v.external/args.c:40
+#: ../vector/v.external/args.c:42
 #, fuzzy
 msgid "List supported formats and exit"
 msgstr "列出支持的格式然后退出"
 
-#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:170
-#: ../raster/r.in.lidar/main.c:274 ../vector/v.in.ogr/main.c:296
-#: ../vector/v.in.lidar/main.c:224
+#: ../raster/r.external/main.c:108 ../raster/r.in.gdal/main.c:189
+#: ../raster/r.in.lidar/main.c:240 ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.lidar/main.c:288
 #, fuzzy
 msgid "Extend region extents based on new dataset"
 msgstr "基于新的数据集扩展区域的范围"
 
-#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:172
-#: ../vector/v.in.ogr/main.c:298
+#: ../raster/r.external/main.c:109 ../raster/r.in.gdal/main.c:191
+#: ../vector/v.in.ogr/main.c:305
 msgid "Also updates the default region if in the PERMANENT mapset"
 msgstr ""
 
@@ -20110,13 +20609,22 @@ msgstr ""
 msgid "Flip vertically"
 msgstr ""
 
-#: ../raster/r.external/main.c:147
+#: ../raster/r.external/main.c:122
+#, fuzzy
+msgid "List available bands including band type in dataset and exit"
+msgstr "列出数据源中可用的图层并退出"
+
+#: ../raster/r.external/main.c:123
+msgid "Format: band number,type,projection check"
+msgstr ""
+
+#: ../raster/r.external/main.c:155
 #, fuzzy, c-format
 msgid "%s= or %s= must be given"
 msgstr "必须指定'from_table'或'select'选项。"
 
-#: ../raster/r.external/main.c:151 ../raster/r.series/main.c:198
-#: ../raster/r.mapcalc/main.c:159 ../raster/r.neighbors/main.c:266
+#: ../raster/r.external/main.c:159 ../raster/r.series/main.c:198
+#: ../raster/r.mapcalc/main.c:163 ../raster/r.neighbors/main.c:266
 #: ../raster/r.series.accumulate/main.c:206
 #: ../raster/r.series.interp/main.c:118 ../raster/r.series.interp/main.c:122
 #: ../raster/r.series.interp/main.c:134 ../raster/r.series.interp/main.c:138
@@ -20125,31 +20633,31 @@ msgstr "必须指定'from_table'或'select'选项。"
 msgid "%s= and %s= are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.external/main.c:183
+#: ../raster/r.external/main.c:198
 msgid "Proceeding with import..."
 msgstr ""
 
-#: ../raster/r.external/main.c:187
+#: ../raster/r.external/main.c:202
 #, fuzzy, c-format
 msgid "Imagery group <%s> already exists and will be overwritten."
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
-#: ../raster/r.external/main.c:194
+#: ../raster/r.external/main.c:209
 #, fuzzy, c-format
 msgid "Reading band %d of %d..."
 msgstr "读取地图"
 
-#: ../raster/r.external/main.c:199 ../raster/r.in.gdal/main.c:574
+#: ../raster/r.external/main.c:214 ../raster/r.in.gdal/main.c:607
 #, fuzzy, c-format
 msgid "Selected band (%d) does not exist"
 msgstr "栅格地图 [%s] 未发现"
 
-#: ../raster/r.external/main.c:231
+#: ../raster/r.external/main.c:246
 #, fuzzy, c-format
 msgid "Imagery group <%s> created"
 msgstr "dig_att文件不存在。"
 
-#: ../raster/r.topidx/topidx.c:277
+#: ../raster/r.topidx/topidx.c:272
 #, fuzzy, c-format
 msgid "Number of sinks or boundaries: %d"
 msgstr "输入点的数目:%d"
@@ -20344,14 +20852,15 @@ msgstr ""
 #: ../raster/r.slope.aspect/main.c:197 ../raster/r.slope.aspect/main.c:204
 #: ../raster/r.slope.aspect/main.c:211 ../raster/r.slope.aspect/main.c:218
 #: ../raster/r.slope.aspect/main.c:225 ../raster/r.slope.aspect/main.c:232
-#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:133
-#: ../raster/r.watershed/front/main.c:140
-#: ../raster/r.watershed/front/main.c:146
-#: ../raster/r.watershed/front/main.c:152
-#: ../raster/r.watershed/front/main.c:158
+#: ../raster/r.slope.aspect/main.c:239 ../raster/r.watershed/front/main.c:134
+#: ../raster/r.watershed/front/main.c:141
+#: ../raster/r.watershed/front/main.c:148
+#: ../raster/r.watershed/front/main.c:154
+#: ../raster/r.watershed/front/main.c:160
 #: ../raster/r.watershed/front/main.c:166
 #: ../raster/r.watershed/front/main.c:174
-#: ../raster/r.watershed/front/main.c:181 ../vector/v.vol.rst/main.c:291
+#: ../raster/r.watershed/front/main.c:182
+#: ../raster/r.watershed/front/main.c:189 ../vector/v.vol.rst/main.c:291
 #: ../vector/v.vol.rst/main.c:297 ../vector/v.vol.rst/main.c:360
 #: ../vector/v.vol.rst/main.c:366 ../vector/v.vol.rst/main.c:372
 #: ../vector/v.vol.rst/main.c:379 ../vector/v.vol.rst/main.c:385
@@ -20656,6 +21165,12 @@ msgstr "必须指定'from_table'或'select'选项。"
 msgid "Option %s= is ignored if -%c is set"
 msgstr "位置名称"
 
+#: ../raster/r.in.bin/main.c:462 ../raster/r.out.bin/main.c:379
+#: ../vector/v.colors/main.c:226
+#, c-format
+msgid "-%c and -%c are mutually exclusive"
+msgstr ""
+
 #: ../raster/r.in.bin/main.c:467
 #, c-format
 msgid "-%c incompatible with %s=%d; must be 4 or 8"
@@ -20728,8 +21243,8 @@ msgid "Importing band %d..."
 msgstr "导入地图 %d 的要素..."
 
 #: ../raster/r.surf.gauss/main.c:40 ../raster/r.random/main.c:54
-#: ../raster/r.random.cells/main.c:47 ../raster/r.surf.random/main.c:38
-#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:99
+#: ../raster/r.random.cells/main.c:49 ../raster/r.surf.random/main.c:38
+#: ../raster/r.random.surface/main.c:59 ../vector/v.random/main.c:100
 #: ../vector/v.perturb/main.c:65 ../vector/v.extract/main.c:81
 #, fuzzy
 msgid "random"
@@ -20854,7 +21369,7 @@ msgstr "nsteps 必须大于 0,使用 nsteps=255"
 msgid "Ignoring %s because %s is not specified"
 msgstr ""
 
-#: ../raster/r.topmodel/file_io.c:81
+#: ../raster/r.topmodel/file_io.c:56
 #, fuzzy, c-format
 msgid "%s cannot be 0"
 msgstr "无法打开 %s"
@@ -21916,7 +22431,8 @@ msgstr "图层 %d"
 msgid "Unable to write to temp file"
 msgstr "无法创建文件 [%s]"
 
-#: ../raster/r.clump/clump.c:225
+#: ../raster/r.clump/clump.c:225 ../vector/v.cluster/main.c:404
+#: ../vector/v.cluster/main.c:613 ../vector/v.cluster/main.c:970
 #, fuzzy
 msgid "Generating renumbering scheme..."
 msgstr "写入 %s ... "
@@ -21961,7 +22477,7 @@ msgstr ""
 msgid "Print only the number of clumps in shell script style"
 msgstr "以shell脚本的样式输出统计值"
 
-#: ../raster/r.clump/main.c:122
+#: ../raster/r.clump/main.c:125
 #, fuzzy, c-format
 msgid "%d clump."
 msgid_plural "%d clumps."
@@ -22550,23 +23066,23 @@ msgid "unable to open output file"
 msgstr "无法打开输出文件 <%s>"
 
 #: ../raster/r.watershed/ram/do_cum.c:114
-#: ../raster/r.watershed/seg/do_cum.c:118
+#: ../raster/r.watershed/seg/do_cum.c:119
 msgid "SECTION 3: Accumulating Surface Flow with SFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:274
-#: ../raster/r.watershed/seg/do_cum.c:289
+#: ../raster/r.watershed/ram/do_cum.c:276
+#: ../raster/r.watershed/seg/do_cum.c:293
 msgid "SECTION 3a: Accumulating Surface Flow with MFD."
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:441
-#: ../raster/r.watershed/seg/do_cum.c:483
+#: ../raster/r.watershed/ram/do_cum.c:443
+#: ../raster/r.watershed/seg/do_cum.c:487
 #: ../raster/r.stream.extract/streams.c:336
 #, c-format
 msgid "MFD: cumulative proportion of flow distribution not 1.0 but %f"
 msgstr ""
 
-#: ../raster/r.watershed/ram/do_cum.c:478
+#: ../raster/r.watershed/ram/do_cum.c:480
 #, c-format
 msgid "MFD: A * path already processed when distributing flow: %d of %d cell"
 msgid_plural ""
@@ -22574,8 +23090,8 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/ram/do_cum.c:484
-#: ../raster/r.watershed/seg/do_cum.c:531
+#: ../raster/r.watershed/ram/do_cum.c:486
+#: ../raster/r.watershed/seg/do_cum.c:533
 msgid "SECTION 3b: Adjusting drainage directions."
 msgstr ""
 
@@ -22681,27 +23197,27 @@ msgid "No basins were created. Verify threshold and region settings."
 msgstr ""
 
 #: ../raster/r.watershed/ram/main.c:82 ../raster/r.watershed/ram/main.c:98
-#: ../raster/r.watershed/seg/main.c:90 ../raster/r.watershed/seg/main.c:105
+#: ../raster/r.watershed/seg/main.c:92 ../raster/r.watershed/seg/main.c:107
 #, c-format
 msgid "SECTION %d: Closing Maps."
 msgstr ""
 
-#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:103
+#: ../raster/r.watershed/ram/main.c:96 ../raster/r.watershed/seg/main.c:105
 #, c-format
 msgid "SECTION %d: Watershed determination."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:118
+#: ../raster/r.watershed/ram/init_vars.c:121
 #, c-format
 msgid "SECTION 1a (of %1d): Initiating Memory."
 msgstr ""
 
-#: ../raster/r.watershed/ram/init_vars.c:299
+#: ../raster/r.watershed/ram/init_vars.c:311
 #, c-format
 msgid "SECTION 1b (of %1d): Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/seg/do_cum.c:527
+#: ../raster/r.watershed/seg/do_cum.c:529
 msgid "MFD: A * path already processed when distributing flow: %d of %"
 msgstr ""
 
@@ -22714,22 +23230,32 @@ msgstr ""
 msgid "Closing accumulation map"
 msgstr "叠加栅格图"
 
-#: ../raster/r.watershed/seg/close_maps.c:132
+#: ../raster/r.watershed/seg/close_maps.c:136
+#, fuzzy
+msgid "Closing TCI and SPI maps"
+msgstr "叠加栅格图"
+
+#: ../raster/r.watershed/seg/close_maps.c:138
 #, fuzzy
 msgid "Closing TCI map"
 msgstr "叠加栅格图"
 
-#: ../raster/r.watershed/seg/close_maps.c:214
+#: ../raster/r.watershed/seg/close_maps.c:140
+#, fuzzy
+msgid "Closing SPI map"
+msgstr "叠加栅格图"
+
+#: ../raster/r.watershed/seg/close_maps.c:300
 #, fuzzy
 msgid "Closing flow direction map"
 msgstr "叠加栅格图"
 
-#: ../raster/r.watershed/seg/close_maps.c:241
+#: ../raster/r.watershed/seg/close_maps.c:327
 #, fuzzy
 msgid "Closing LS map"
 msgstr "叠加栅格图"
 
-#: ../raster/r.watershed/seg/close_maps.c:246
+#: ../raster/r.watershed/seg/close_maps.c:332
 #, fuzzy
 msgid "Closing SL map"
 msgstr "叠加栅格图"
@@ -22757,90 +23283,90 @@ msgstr "叠加栅格图"
 msgid "Closing half basins map"
 msgstr "叠加栅格图"
 
-#: ../raster/r.watershed/seg/init_vars.c:132
+#: ../raster/r.watershed/seg/init_vars.c:139
 #, c-format
 msgid "SECTION 1 beginning: Initiating Variables. %d section total."
 msgid_plural "SECTION 1 beginning: Initiating Variables. %d sections total."
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.watershed/seg/init_vars.c:168
+#: ../raster/r.watershed/seg/init_vars.c:175
 msgid "Maximum memory to be used was smaller than 3 MB, set to 3 MB."
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:245
+#: ../raster/r.watershed/seg/init_vars.c:252
 #: ../raster/r.stream.extract/main.c:319
 #, c-format
 msgid "Will need up to %.2f MB of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:247
+#: ../raster/r.watershed/seg/init_vars.c:254
 #: ../raster/r.stream.extract/main.c:321
 #, c-format
 msgid "Will need up to %.2f GB (%.0f MB) of disk space"
 msgstr ""
 
-#: ../raster/r.watershed/seg/init_vars.c:457
+#: ../raster/r.watershed/seg/init_vars.c:470
 msgid "SECTION 1b: Determining Offmap Flow."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:75
+#: ../raster/r.watershed/front/main.c:76
 msgid "Calculates hydrological parameters and RUSLE factors."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:78 ../raster/r.watershed/front/main.c:85
-#: ../raster/r.watershed/front/main.c:91 ../raster/r.watershed/front/main.c:98
-#: ../raster/r.watershed/front/main.c:107
-#: ../raster/r.watershed/front/main.c:115
-#: ../raster/r.watershed/front/main.c:124
+#: ../raster/r.watershed/front/main.c:79 ../raster/r.watershed/front/main.c:86
+#: ../raster/r.watershed/front/main.c:92 ../raster/r.watershed/front/main.c:99
+#: ../raster/r.watershed/front/main.c:108
+#: ../raster/r.watershed/front/main.c:116
+#: ../raster/r.watershed/front/main.c:125
 #, fuzzy
 msgid "Inputs"
 msgstr "输入地图"
 
-#: ../raster/r.watershed/front/main.c:82
+#: ../raster/r.watershed/front/main.c:83
 #, fuzzy
 msgid "Name of input depressions raster map"
 msgstr "输入栅格图的名称"
 
-#: ../raster/r.watershed/front/main.c:83
+#: ../raster/r.watershed/front/main.c:84
 msgid "All non-NULL and non-zero cells are considered as real depressions"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:89
+#: ../raster/r.watershed/front/main.c:90
 #, fuzzy
 msgid "Name of input raster representing amount of overland flow per cell"
 msgstr "输入地图:每个像元的陆上径流量"
 
-#: ../raster/r.watershed/front/main.c:95
+#: ../raster/r.watershed/front/main.c:96
 #, fuzzy
 msgid "Name of input raster map percent of disturbed land"
 msgstr "输入栅格图的名称"
 
-#: ../raster/r.watershed/front/main.c:96 ../raster/r.watershed/front/main.c:121
+#: ../raster/r.watershed/front/main.c:97 ../raster/r.watershed/front/main.c:122
 msgid "For USLE"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:103
+#: ../raster/r.watershed/front/main.c:104
 #, fuzzy
 msgid "Name of input raster map blocking overland surface flow"
 msgstr "输入地图:地表径流的地形阻断(用于USLE)"
 
-#: ../raster/r.watershed/front/main.c:105
+#: ../raster/r.watershed/front/main.c:106
 msgid ""
 "For USLE. All non-NULL and non-zero cells are considered as blocking terrain."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:112
+#: ../raster/r.watershed/front/main.c:113
 #, fuzzy
 msgid "Minimum size of exterior watershed basin"
 msgstr "输入值:外流域的最小值"
 
-#: ../raster/r.watershed/front/main.c:120
+#: ../raster/r.watershed/front/main.c:121
 #, fuzzy
 msgid "Maximum length of surface flow in map units"
 msgstr "输入值:地表径流的最大长度(用于USLE)"
 
-#: ../raster/r.watershed/front/main.c:129
+#: ../raster/r.watershed/front/main.c:130
 #, fuzzy
 msgid "Name for output accumulation raster map"
 msgstr ""
@@ -22849,12 +23375,12 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.watershed/front/main.c:131
+#: ../raster/r.watershed/front/main.c:132
 #, fuzzy
 msgid "Number of cells that drain through each cell"
 msgstr "输出地图:流经的像元数"
 
-#: ../raster/r.watershed/front/main.c:138
+#: ../raster/r.watershed/front/main.c:139
 #, fuzzy
 msgid "Name for output topographic index ln(a / tan(b)) map"
 msgstr ""
@@ -22863,7 +23389,12 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.watershed/front/main.c:144
+#: ../raster/r.watershed/front/main.c:146
+#, fuzzy
+msgid "Stream power index a * tan(b)"
+msgstr "地形索引ln(a/tanB)图"
+
+#: ../raster/r.watershed/front/main.c:152
 #, fuzzy
 msgid "Name for output drainage direction raster map"
 msgstr ""
@@ -22872,7 +23403,7 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.watershed/front/main.c:150
+#: ../raster/r.watershed/front/main.c:158
 #, fuzzy
 msgid "Name for output basins raster map"
 msgstr ""
@@ -22881,7 +23412,7 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.watershed/front/main.c:156
+#: ../raster/r.watershed/front/main.c:164
 #, fuzzy
 msgid "Name for output stream segments raster map"
 msgstr ""
@@ -22890,7 +23421,7 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.watershed/front/main.c:162
+#: ../raster/r.watershed/front/main.c:170
 #, fuzzy
 msgid "Name for output half basins raster map"
 msgstr ""
@@ -22899,12 +23430,12 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.watershed/front/main.c:164
+#: ../raster/r.watershed/front/main.c:172
 #, fuzzy
 msgid "Each half-basin is given a unique value"
 msgstr "输出地图:每半个流域给一个唯一值"
 
-#: ../raster/r.watershed/front/main.c:170
+#: ../raster/r.watershed/front/main.c:178
 #, fuzzy
 msgid "Name for output slope length raster map"
 msgstr ""
@@ -22913,12 +23444,12 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.watershed/front/main.c:172
+#: ../raster/r.watershed/front/main.c:180
 #, fuzzy
 msgid "Slope length and steepness (LS) factor for USLE"
 msgstr "输出地图:坡长和坡度(LS)因素(用于USLE)"
 
-#: ../raster/r.watershed/front/main.c:178
+#: ../raster/r.watershed/front/main.c:186
 #, fuzzy
 msgid "Name for output slope steepness raster map"
 msgstr ""
@@ -22927,85 +23458,85 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.watershed/front/main.c:179
+#: ../raster/r.watershed/front/main.c:187
 #, fuzzy
 msgid "Slope steepness (S) factor for USLE"
 msgstr "输出地图:坡度因素(S)(用于USLE)"
 
-#: ../raster/r.watershed/front/main.c:188
+#: ../raster/r.watershed/front/main.c:196
 #, fuzzy
 msgid "Convergence factor for MFD (1-10)"
 msgstr "z值的转换因子"
 
-#: ../raster/r.watershed/front/main.c:190
+#: ../raster/r.watershed/front/main.c:198
 msgid "1 = most diverging flow, 10 = most converging flow. Recommended: 5"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:197
+#: ../raster/r.watershed/front/main.c:205
 msgid "Maximum memory to be used with -m flag (in MB)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:201
+#: ../raster/r.watershed/front/main.c:209
 msgid "SFD (D8) flow (default is MFD)"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:203
+#: ../raster/r.watershed/front/main.c:211
 msgid "SFD: single flow direction, MFD: multiple flow direction"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:208
+#: ../raster/r.watershed/front/main.c:216
 msgid "Allow only horizontal and vertical flow of water"
 msgstr "只允许垂直和水平流动"
 
-#: ../raster/r.watershed/front/main.c:213
+#: ../raster/r.watershed/front/main.c:221
 msgid "Enable disk swap memory option: Operation is slow"
 msgstr "启用磁盘交换内存选项:操作将会变慢"
 
-#: ../raster/r.watershed/front/main.c:215
+#: ../raster/r.watershed/front/main.c:223
 msgid ""
 "Only needed if memory requirements exceed available RAM; see manual on how "
 "to calculate memory requirements"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:220
+#: ../raster/r.watershed/front/main.c:228
 msgid "Use positive flow accumulation even for likely underestimates"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:222
+#: ../raster/r.watershed/front/main.c:230
 msgid "See manual for a detailed description of flow accumulation output"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:227
+#: ../raster/r.watershed/front/main.c:235
 msgid "Beautify flat areas"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:229
+#: ../raster/r.watershed/front/main.c:237
 msgid "Flow direction in flat areas is modified to look prettier"
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:245
+#: ../raster/r.watershed/front/main.c:253
 #, fuzzy
 msgid "Sorry, you must choose an output map."
 msgstr "无法关闭输出地图"
 
-#: ../raster/r.watershed/front/main.c:251
+#: ../raster/r.watershed/front/main.c:259
 #, fuzzy
 msgid "The basin threshold must be a positive number."
 msgstr "nsteps 必须大于 0,使用 nsteps=255"
 
-#: ../raster/r.watershed/front/main.c:267
+#: ../raster/r.watershed/front/main.c:275
 msgid ""
 "Sorry, if any of the following options are set:\n"
 "    basin, stream, half_basin, length_slope, or slope_steepness\n"
 "    you MUST provide a value for the basin threshold parameter."
 msgstr ""
 
-#: ../raster/r.watershed/front/main.c:294
+#: ../raster/r.watershed/front/main.c:302
 #, fuzzy
 msgid "Beautify flat areas is not yet supported for disk swap mode"
 msgstr "字段类型不支持"
 
-#: ../raster/r.watershed/front/main.c:321
+#: ../raster/r.watershed/front/main.c:332
 #, c-format
 msgid "Subprocess failed with exit code %d"
 msgstr ""
@@ -23168,21 +23699,21 @@ msgstr ""
 msgid "Could not read maximum distance. Aborting."
 msgstr "无法读取范围文件"
 
-#: ../raster/r.horizon/main.c:478
+#: ../raster/r.horizon/main.c:484
 msgid "The distance value must be 0.5-1.5. Aborting."
 msgstr ""
 
-#: ../raster/r.horizon/main.c:648 ../raster/r.in.ascii/main.c:191
+#: ../raster/r.horizon/main.c:654 ../raster/r.in.ascii/main.c:191
 #, c-format
 msgid "OOPS: rows changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:652 ../raster/r.in.ascii/main.c:194
+#: ../raster/r.horizon/main.c:658 ../raster/r.in.ascii/main.c:194
 #, c-format
 msgid "OOPS: cols changed from %d to %d"
 msgstr ""
 
-#: ../raster/r.horizon/main.c:1168
+#: ../raster/r.horizon/main.c:1174
 #, fuzzy, c-format
 msgid "Calculating map %01d of %01d (angle %.2f, raster map <%s>)"
 msgstr "无法写入 <%s>"
@@ -23375,7 +23906,7 @@ msgstr "输出的坡面栅格文件"
 msgid "Converting <%s>..."
 msgstr "读取 %s ..."
 
-#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:183
+#: ../raster/r.out.png/main.c:272 ../raster/r.univar/r.univar_main.c:201
 #, fuzzy, c-format
 msgid "Raster <%s> type mismatch"
 msgstr "dig_att文件不存在。"
@@ -23453,7 +23984,7 @@ msgid ""
 msgstr "计算栅格地图中非空像元的一元统计值"
 
 #: ../raster/r.univar/r3.univar_main.c:105
-#: ../raster/r.univar/r.univar_main.c:108
+#: ../raster/r.univar/r.univar_main.c:112
 msgid ""
 "Statistics include number of cells counted, minimum and maximum cell values, "
 "range, arithmetic mean, population variance, standard deviation, coefficient "
@@ -23466,11 +23997,14 @@ msgstr ""
 #: ../raster3d/r3.info/main.c:110 ../raster3d/r3.stats/main.c:103
 #: ../raster3d/r3.retile/main.c:127 ../raster3d/r3.to.rast/main.c:237
 #: ../raster3d/r3.to.rast/main.c:261 ../raster3d/r3.out.netcdf/main.c:617
-#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.out.vtk/main.c:207
+#: ../raster3d/r3.null/main.c:110 ../raster3d/r3.gradient/main.c:113
+#: ../raster3d/r3.gradient/main.c:122 ../raster3d/r3.out.vtk/main.c:207
 #: ../raster3d/r3.out.vtk/main.c:292 ../raster3d/r3.out.vtk/main.c:513
-#: ../raster3d/r3.neighbors/main.c:266 ../raster3d/r3.neighbors/main.c:275
-#: ../raster3d/r3.out.ascii/main.c:339 ../raster3d/r3.cross.rast/main.c:279
-#: ../raster3d/r3.out.v5d/main.c:312
+#: ../raster3d/r3.flow/main.c:118 ../raster3d/r3.flow/main.c:132
+#: ../raster3d/r3.flow/main.c:373 ../raster3d/r3.flow/main.c:385
+#: ../raster3d/r3.flow/test_main.c:83 ../raster3d/r3.neighbors/main.c:266
+#: ../raster3d/r3.neighbors/main.c:275 ../raster3d/r3.out.ascii/main.c:339
+#: ../raster3d/r3.cross.rast/main.c:279 ../raster3d/r3.out.v5d/main.c:312
 #, fuzzy, c-format
 msgid "Unable to open 3D raster map <%s>"
 msgstr "无法创建栅格地图 %s"
@@ -23483,26 +24017,38 @@ msgstr ""
 msgid "Extended"
 msgstr ""
 
-#: ../raster/r.univar/r.univar_main.c:106
+#: ../raster/r.univar/r.univar_main.c:76
+#, fuzzy
+msgid ""
+"Use the native resolution and extent of the raster map, instead of the "
+"current region"
+msgstr "%d 个点在当前范围之外,将被忽略"
+
+#: ../raster/r.univar/r.univar_main.c:110
 msgid ""
 "Calculates univariate statistics from the non-null cells of a raster map."
 msgstr "计算栅格地图中非空像元的一元统计值"
 
+#: ../raster/r.univar/r.univar_main.c:123
+#, fuzzy
+msgid "zones option and region flag -r are mutually exclusive"
+msgstr "必须指定'from_table'或'select'选项。"
+
 #: ../raster/r.regression.line/main.c:50
 msgid "Calculates linear regression from two raster maps: y = a + b*x."
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:155
+#: ../raster/r.grow.distance/main.c:156
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
 msgstr "生成一个栅格图层包含一个像元增长所形成的连续区域。"
 
-#: ../raster/r.grow.distance/main.c:162
+#: ../raster/r.grow.distance/main.c:163
 #, fuzzy
 msgid "Name for distance output raster map"
 msgstr "输出图层的名称"
 
-#: ../raster/r.grow.distance/main.c:168
+#: ../raster/r.grow.distance/main.c:169
 #, fuzzy
 msgid "Name for value output raster map"
 msgstr ""
@@ -23511,36 +24057,49 @@ msgstr ""
 "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 "输出栅格文件的名称"
 
-#: ../raster/r.grow.distance/main.c:181
+#: ../raster/r.grow.distance/main.c:182
 #, fuzzy
 msgid "Output distances in meters instead of map units"
 msgstr "点间的最大距离"
 
-#: ../raster/r.grow.distance/main.c:191
+#: ../raster/r.grow.distance/main.c:186
+#, fuzzy
+msgid "Calculate distance to nearest NULL cell"
+msgstr "点到网络的最小距离"
+
+#: ../raster/r.grow.distance/main.c:197
+msgid "Distance output is required for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:199
+msgid "Value output is meaningless for distance to NULL cells"
+msgstr ""
+
+#: ../raster/r.grow.distance/main.c:205
 #, fuzzy
 msgid "At least one of distance= and value= must be given"
 msgstr "必须指定两个图层"
 
-#: ../raster/r.grow.distance/main.c:206
+#: ../raster/r.grow.distance/main.c:220
 msgid "metric=geodesic is only valid for lat/lon"
 msgstr ""
 
-#: ../raster/r.grow.distance/main.c:212
+#: ../raster/r.grow.distance/main.c:226
 #, fuzzy, c-format
 msgid "Unknown metric: '%s'"
 msgstr "未知的量度:[%s]"
 
-#: ../raster/r.grow.distance/main.c:217
+#: ../raster/r.grow.distance/main.c:231
 #, fuzzy, c-format
 msgid "Output distance in meters for lat/lon is only possible with '%s=%s'"
 msgstr "点间的最大距离"
 
-#: ../raster/r.grow.distance/main.c:237
+#: ../raster/r.grow.distance/main.c:251
 #, fuzzy, c-format
 msgid "Unable to create temporary file <%s>"
 msgstr "无法创建文件 [%s]"
 
-#: ../raster/r.grow.distance/main.c:264
+#: ../raster/r.grow.distance/main.c:278
 #: ../raster/r.series.accumulate/main.c:248
 #: ../raster/r.series.accumulate/main.c:273
 #: ../raster/r.series.accumulate/main.c:284
@@ -23551,130 +24110,135 @@ msgstr "无法创建文件 [%s]"
 msgid "Reading raster map <%s>..."
 msgstr "读取栅格文件 [%s] 时发生错误。"
 
-#: ../raster/r.grow.distance/main.c:312 ../raster/r.fill.dir/main.c:250
+#: ../raster/r.grow.distance/main.c:327 ../raster/r.fill.dir/main.c:250
 #: ../raster/r.stream.extract/close.c:248
 #, fuzzy
 msgid "Writing output raster maps..."
 msgstr "输出栅格地图 %s ... "
 
-#: ../raster/r.grow.distance/main.c:369 ../raster/r.fill.dir/main.c:150
+#: ../raster/r.grow.distance/main.c:384 ../raster/r.fill.dir/main.c:150
 #: ../raster/r.colors/edit_colors.c:396 ../raster/r.colors.out/raster_main.c:69
 #: ../vector/v.colors/main.c:316
 #, fuzzy, c-format
 msgid "Unable to read color table for raster map <%s>"
 msgstr "无法为色彩条读取颜色"
 
-#: ../raster/r.null/main.c:60 ../raster3d/r3.null/main.c:187
+#: ../raster/r.null/main.c:61 ../raster3d/r3.null/main.c:187
 #, fuzzy
 msgid "null data"
 msgstr "矢量导入完成"
 
-#: ../raster/r.null/main.c:61
+#: ../raster/r.null/main.c:62
 #, fuzzy
 msgid "Manages NULL-values of given raster map."
 msgstr "输入栅格图的名称"
 
-#: ../raster/r.null/main.c:64
+#: ../raster/r.null/main.c:65
 #, fuzzy
 msgid "Name of raster map for which to edit null values"
 msgstr "需要修改空值的 3dcell 地图"
 
-#: ../raster/r.null/main.c:72 ../raster3d/r3.null/main.c:63
+#: ../raster/r.null/main.c:73 ../raster3d/r3.null/main.c:63
 msgid "List of cell values to be set to NULL"
 msgstr "列出的像元值被设置为空值"
 
-#: ../raster/r.null/main.c:80 ../raster3d/r3.null/main.c:70
+#: ../raster/r.null/main.c:81 ../raster3d/r3.null/main.c:70
 msgid "The value to replace the null value by"
 msgstr "替换空值的值"
 
-#: ../raster/r.null/main.c:85
+#: ../raster/r.null/main.c:86
 msgid "Only do the work if the map is floating-point"
 msgstr ""
 
-#: ../raster/r.null/main.c:86 ../raster/r.null/main.c:91
-#: ../raster/r.null/main.c:97
+#: ../raster/r.null/main.c:87 ../raster/r.null/main.c:92
+#: ../raster/r.null/main.c:98
 msgid "Check"
 msgstr ""
 
-#: ../raster/r.null/main.c:90
+#: ../raster/r.null/main.c:91
 msgid "Only do the work if the map is integer"
 msgstr ""
 
-#: ../raster/r.null/main.c:96
+#: ../raster/r.null/main.c:97
 msgid "Only do the work if the map doesn't have a NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:102
+#: ../raster/r.null/main.c:103
 msgid "Create NULL-value bitmap file validating all data cells"
 msgstr ""
 
-#: ../raster/r.null/main.c:106
+#: ../raster/r.null/main.c:107
 msgid "Remove NULL-value bitmap file"
 msgstr ""
 
-#: ../raster/r.null/main.c:125
+#: ../raster/r.null/main.c:113
+msgid "Re-create NULL-value bitmap file (to compress or uncompress)"
+msgstr ""
+
+#: ../raster/r.null/main.c:132
 #, c-format
 msgid ""
 "Raster map <%s> is a reclass of map <%s@%s>. Consider to generate a copy "
 "with r.mapcalc. Exiting."
 msgstr ""
 
-#: ../raster/r.null/main.c:131
+#: ../raster/r.null/main.c:138
 #, fuzzy, c-format
 msgid "Raster map <%s> is not in your mapset <%s>"
 msgstr "未发现矢量地图<%s>"
 
-#: ../raster/r.null/main.c:138
+#: ../raster/r.null/main.c:145
 #, fuzzy, c-format
 msgid "%s is illegal entry for null"
 msgstr "非法的空值"
 
-#: ../raster/r.null/main.c:145
+#: ../raster/r.null/main.c:152
 #, fuzzy, c-format
 msgid "Raster map <%s> already has a null bitmap file"
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
-#: ../raster/r.null/main.c:149
+#: ../raster/r.null/main.c:156
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL)"
 msgstr "%s - 无法打开栅格文件"
 
-#: ../raster/r.null/main.c:153
+#: ../raster/r.null/main.c:160
 #, fuzzy, c-format
 msgid "<%s> is integer raster map (CELL). Using null=%d."
 msgstr "%s - 无法打开栅格文件"
 
-#: ../raster/r.null/main.c:159
+#: ../raster/r.null/main.c:166
 #, fuzzy, c-format
 msgid "<%s> is floating pointing raster map"
 msgstr "起始点栅格文件"
 
-#: ../raster/r.null/main.c:175
+#: ../raster/r.null/main.c:183 ../raster/r.null/main.c:208
 #, fuzzy, c-format
 msgid "Writing new null file for raster map <%s>..."
 msgstr "为 [%s] 写入新的空文件... "
 
-#: ../raster/r.null/main.c:185 ../raster/r.null/main.c:198
+#: ../raster/r.null/main.c:193 ../raster/r.null/main.c:220
+#: ../raster/r.null/main.c:234
 #, fuzzy, c-format
 msgid "Raster map <%s> modified."
 msgstr "未找到栅格图<%s>"
 
-#: ../raster/r.null/main.c:192
+#: ../raster/r.null/main.c:227
 #, fuzzy, c-format
 msgid "Removing null file for raster map <%s>..."
 msgstr "移除 [%s] 的空文件...\n"
 
-#: ../raster/r.null/main.c:262
+#: ../raster/r.null/main.c:298
 #, fuzzy, c-format
 msgid "%s: %s: illegal value spec"
 msgstr "%s - 非法的名称"
 
-#: ../raster/r.null/main.c:264
+#: ../raster/r.null/main.c:300
 #, fuzzy, c-format
 msgid "%s: illegal value spec"
 msgstr "%s - 非法的名称"
 
-#: ../raster/r.null/main.c:325
+#: ../raster/r.null/main.c:361
 #, fuzzy, c-format
 msgid "Writing new data for raster map <%s>..."
 msgstr "写入栅格地图 %i\n"
@@ -23724,7 +24288,7 @@ msgstr "未知的类型:%c"
 msgid "Unable to close raster map <%s@%s>"
 msgstr "无法创建栅格地图 %s"
 
-#: ../raster/r.mapcalc/map3.c:619
+#: ../raster/r.mapcalc/map3.c:629
 #, fuzzy
 msgid "Unable to close output raster map"
 msgstr "无法关闭输入地图"
@@ -23848,21 +24412,26 @@ msgstr "未知的类型"
 msgid "Generate random seed (result is non-deterministic)"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:163
+#: ../raster/r.mapcalc/main.c:145
+#, fuzzy
+msgid "List input and output maps"
+msgstr "写入 %s ... "
+
+#: ../raster/r.mapcalc/main.c:167
 #, c-format
 msgid "%s= and -%c are mutually exclusive"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:174
+#: ../raster/r.mapcalc/main.c:178
 #, fuzzy
 msgid "parse error"
 msgstr "%d 条记录更新时发生错误"
 
-#: ../raster/r.mapcalc/main.c:196
+#: ../raster/r.mapcalc/main.c:205
 msgid "Floating point error(s) occurred in the calculation"
 msgstr ""
 
-#: ../raster/r.mapcalc/main.c:201
+#: ../raster/r.mapcalc/main.c:210
 msgid "Overflow occurred in the calculation"
 msgstr ""
 
@@ -23871,223 +24440,239 @@ msgstr ""
 msgid "Known functions:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:90
+#: ../raster/r.in.gdal/main.c:93
 #, fuzzy
 msgid "Imports raster data into a GRASS raster map using GDAL library."
 msgstr "将二进制栅格文件导入到GRASS栅格图层中。"
 
-#: ../raster/r.in.gdal/main.c:96
+#: ../raster/r.in.gdal/main.c:99
 #, fuzzy
 msgid "Name of raster file to be imported"
 msgstr "将要导入的栅格文件"
 
-#: ../raster/r.in.gdal/main.c:105
+#: ../raster/r.in.gdal/main.c:108
 #, fuzzy
 msgid "Band(s) to select (default is all bands)"
 msgstr "选择波段(默认选择所有波段)"
 
-#: ../raster/r.in.gdal/main.c:120
+#: ../raster/r.in.gdal/main.c:123
 #, fuzzy
 msgid "Name of GCPs target location"
 msgstr "将要创建的新区域的名称"
 
-#: ../raster/r.in.gdal/main.c:122
+#: ../raster/r.in.gdal/main.c:125
 #, fuzzy
 msgid ""
 "Name of location to create or to read projection from for GCPs transformation"
 msgstr "区域的名称,从该位置读取用于GCP转换的投影信息"
 
-#: ../raster/r.in.gdal/main.c:138
+#: ../raster/r.in.gdal/main.c:141
 msgid ""
 "The offset will be added to the band number while output raster map name "
 "creation"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:145 ../vector/v.in.ogr/main.c:214
-#: ../vector/v.in.lidar/main.c:182
+#: ../raster/r.in.gdal/main.c:149
+msgid ""
+"Number of digits for the generated band number with leading 0's. If 0 the "
+"length will adjust to the band number."
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:155
+#, fuzzy
+msgid "Name of the output file that contains the imported map names"
+msgstr "输入的高程栅格图的名称[米]"
+
+#: ../raster/r.in.gdal/main.c:162 ../vector/v.in.ogr/main.c:218
+#: ../vector/v.in.lidar/main.c:266
 msgid "Name for new location to create"
 msgstr "将要创建的新区域的名称"
 
-#: ../raster/r.in.gdal/main.c:152
+#: ../raster/r.in.gdal/main.c:169
 #, fuzzy
 msgid "File prefix for raster attribute tables"
 msgstr "无法创建属性表"
 
-#: ../raster/r.in.gdal/main.c:153
+#: ../raster/r.in.gdal/main.c:170
 msgid "The band number and \".csv\" will be appended to the file prefix"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:159
-msgid "Override projection (use location's projection)"
-msgstr "覆盖投影(使用区域的投影)"
-
-#: ../raster/r.in.gdal/main.c:164 ../vector/v.in.ogr/main.c:284
+#: ../raster/r.in.gdal/main.c:183 ../vector/v.in.ogr/main.c:291
 #, fuzzy
 msgid "Perform projection check only and exit"
 msgstr "打印当前的连接参数并退出"
 
-#: ../raster/r.in.gdal/main.c:188
+#: ../raster/r.in.gdal/main.c:207
 msgid "Keep band numbers instead of using band color names"
 msgstr "使用波段数,而不使用波段的颜色名称"
 
-#: ../raster/r.in.gdal/main.c:193
+#: ../raster/r.in.gdal/main.c:212
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the raster file."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:198
+#: ../raster/r.in.gdal/main.c:217
 #, fuzzy
 msgid "Print number of bands and exit"
 msgstr "打印表并退出"
 
-#: ../raster/r.in.gdal/main.c:224
+#: ../raster/r.in.gdal/main.c:245
 msgid "You have to specify a target location different from output location"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:228
+#: ../raster/r.in.gdal/main.c:249
 msgid "You need to specify valid location name."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:232
+#: ../raster/r.in.gdal/main.c:253
 msgid "The '-l' flag only works in Lat/Lon locations"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:242
+#: ../raster/r.in.gdal/main.c:256
+msgid "The number of digits for band numbering must be equal or greater than 0"
+msgstr ""
+
+#: ../raster/r.in.gdal/main.c:275
 #, c-format
 msgid "Using memory cache size: %.1f MiB"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:284
+#: ../raster/r.in.gdal/main.c:317
 #, fuzzy, c-format
 msgid "Unable to open datasource <%s>"
 msgstr "无法创建栅格地图 %s"
 
-#: ../raster/r.in.gdal/main.c:295
+#: ../raster/r.in.gdal/main.c:328
 #, c-format
 msgid ""
 "Input seems to be NOAA/AVHRR data which needs to be georeferenced with thin "
 "plate spline transformation (%s or %s)."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:314 ../raster/r.in.gdal/main.c:646
+#: ../raster/r.in.gdal/main.c:347 ../raster/r.in.gdal/main.c:694
 #: ../raster/r.relief/main.c:197 ../vector/v.kernel/main.c:239
 #, fuzzy, c-format
 msgid "Raster map <%s> already exists"
 msgstr "dig_att文件不存在。"
 
-#: ../raster/r.in.gdal/main.c:334
+#: ../raster/r.in.gdal/main.c:367
 msgid ""
 "Input raster map is flipped or rotated - cannot import. You may use "
 "'gdalwarp' to transform the map to North-up."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:375
+#: ../raster/r.in.gdal/main.c:408
 msgid ""
 "Map bounds have been constrained to geographic coordinates. You will almost "
 "certainly want to check map bounds and resolution with r.info and reset them "
 "with r.region before going any further."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:395 ../raster/r.in.gdal/main.c:763
-#: ../vector/v.in.ogr/main.c:602 ../vector/v.in.lidar/main.c:354
+#: ../raster/r.in.gdal/main.c:428 ../raster/r.in.gdal/main.c:817
+#: ../vector/v.in.ogr/main.c:575 ../vector/v.in.lidar/main.c:517
 msgid ""
 "Unable to convert input map projection to GRASS format; cannot create new "
 "location."
 msgstr "不能将输入地图的投影转换为 GRASS 格式,无法创建新的区域。"
 
-#: ../raster/r.in.gdal/main.c:401 ../raster/r.in.gdal/main.c:787
-#: ../vector/v.in.ogr/main.c:608 ../vector/v.in.lidar/main.c:360
+#: ../raster/r.in.gdal/main.c:434 ../raster/r.in.gdal/main.c:841
+#: ../vector/v.in.ogr/main.c:581 ../vector/v.in.lidar/main.c:523
 #, fuzzy, c-format
 msgid "Unable to create new location <%s>"
 msgstr "无法创建表:%s"
 
-#: ../raster/r.in.gdal/main.c:542
+#: ../raster/r.in.gdal/main.c:575
 #, fuzzy, c-format
 msgid "Proceeding with import of %d raster bands..."
 msgstr "读取栅格文件 [%s] 时发生错误。"
 
-#: ../raster/r.in.gdal/main.c:615
+#: ../raster/r.in.gdal/main.c:632
+#, fuzzy
+msgid "Unable to open the map names output text file"
+msgstr "无法创建文件 [%s]"
+
+#: ../raster/r.in.gdal/main.c:663
 #, fuzzy, c-format
 msgid "Unable to get raster band number %d"
 msgstr "无法创建栅格地图 %s"
 
-#: ../raster/r.in.gdal/main.c:686
+#: ../raster/r.in.gdal/main.c:740
 #, fuzzy, c-format
 msgid "Copying %d GCPS in points file for <%s>"
 msgstr "为 <%s> 读取类别文件时发生错误。"
 
-#: ../raster/r.in.gdal/main.c:694
+#: ../raster/r.in.gdal/main.c:748
 msgid "GCPs have the following OpenGIS WKT Coordinate System:"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:717
+#: ../raster/r.in.gdal/main.c:771
 #, fuzzy
 msgid "Re-projecting GCPs table:"
 msgstr "创建一些临时文件 ..."
 
-#: ../raster/r.in.gdal/main.c:718
+#: ../raster/r.in.gdal/main.c:772
 #, fuzzy, c-format
 msgid "* Input projection for GCP table: %s"
 msgstr "输出的流向栅格图"
 
-#: ../raster/r.in.gdal/main.c:720
+#: ../raster/r.in.gdal/main.c:774
 #, fuzzy, c-format
 msgid "* Output projection for GCP table: %s"
 msgstr "输出的流向栅格图"
 
-#: ../raster/r.in.gdal/main.c:741
+#: ../raster/r.in.gdal/main.c:795
 #, fuzzy, c-format
 msgid "Error in pj_do_proj (can't re-projection GCP %i)"
 msgstr "pj_do_proj (输入坐标对的投影) 有错误"
 
-#: ../raster/r.in.gdal/main.c:796
+#: ../raster/r.in.gdal/main.c:850
 #, c-format
 msgid ""
 "The target for the output group <%s> has been set to location <%s>, mapset "
 "<PERMANENT>."
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:867
+#: ../raster/r.in.gdal/main.c:921
 #, fuzzy
 msgid "Unable to translate projection key values of input GCPs"
 msgstr "无法获得当前区域的投影参数"
 
-#: ../raster/r.in.gdal/main.c:883
+#: ../raster/r.in.gdal/main.c:937
 #, fuzzy
 msgid "Unable to get projection info of target location"
 msgstr "无法获得当前区域的投影信息"
 
-#: ../raster/r.in.gdal/main.c:885
+#: ../raster/r.in.gdal/main.c:939
 #, fuzzy
 msgid "Unable to get projection units of target location"
 msgstr "无法获得当前区域的投影单位"
 
-#: ../raster/r.in.gdal/main.c:887
+#: ../raster/r.in.gdal/main.c:941
 #, fuzzy
 msgid "Unable to get projection key values of target location"
 msgstr "无法获得当前区域的投影参数"
 
-#: ../raster/r.in.gdal/main.c:926
+#: ../raster/r.in.gdal/main.c:980
 #, fuzzy, c-format
 msgid "Importing raster map <%s>..."
 msgstr "写入栅格地图 %i\n"
 
-#: ../raster/r.in.gdal/main.c:1321 ../raster/r.in.gdal/main.c:1378
+#: ../raster/r.in.gdal/main.c:1375 ../raster/r.in.gdal/main.c:1432
 msgid "Inconsistent color rules in RAT"
 msgstr ""
 
-#: ../raster/r.in.gdal/main.c:1435
+#: ../raster/r.in.gdal/main.c:1489
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (8bit, full range)"
 msgstr "为<%s在%s中>创建颜色表"
 
-#: ../raster/r.in.gdal/main.c:1449
+#: ../raster/r.in.gdal/main.c:1503
 #, fuzzy, c-format
 msgid "Setting grey color table for <%s> (16bit, image range)"
 msgstr "为<%s在%s中>创建颜色表"
 
-#: ../raster/r.in.gdal/main.c:1551
+#: ../raster/r.in.gdal/main.c:1605
 #, fuzzy, c-format
 msgid "Unable to open file <%s>: %s."
 msgstr "无法打开输出文件 <%s>"
@@ -24331,7 +24916,7 @@ msgstr "写入 %s ... "
 
 #: ../raster/r.random/random.c:190 ../vector/v.net.flow/main.c:262
 #: ../vector/v.net.centrality/main.c:69 ../vector/v.net.distance/main.c:325
-#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:312
+#: ../vector/v.net.allpairs/main.c:271 ../vector/v.net.path/path.c:333
 #: ../vector/v.net.components/main.c:38 ../vector/v.net.timetable/main.c:134
 #: ../vector/v.net.timetable/main.c:156
 #, fuzzy, c-format
@@ -24684,31 +25269,36 @@ msgstr "%s - 补丁文件太多。只允许 %d"
 msgid "Unable to read fp range for raster map <%s>"
 msgstr "无法写入 <%s>"
 
-#: ../raster/r.random.cells/init.c:70
+#: ../raster/r.random.cells/init.c:77
 #, fuzzy
 msgid "Distance must be >= 0.0"
 msgstr "必须指定两个图层"
 
-#: ../raster/r.random.cells/init.c:89 ../raster/r.random.surface/main.c:128
+#: ../raster/r.random.cells/init.c:96 ../raster/r.random.surface/main.c:128
 #, fuzzy, c-format
 msgid "Generating raster map <%s>..."
 msgstr "读取栅格文件 [%s] 时发生错误。"
 
-#: ../raster/r.random.cells/main.c:48
+#: ../raster/r.random.cells/main.c:50
 #, fuzzy
 msgid "autocorrelation"
 msgstr "相关性"
 
-#: ../raster/r.random.cells/main.c:50
+#: ../raster/r.random.cells/main.c:52
 msgid "Generates random cell values with spatial dependence."
 msgstr "根据空间依赖性产生随机的像元值"
 
-#: ../raster/r.random.cells/main.c:60 ../raster/r.random.surface/main.c:77
+#: ../raster/r.random.cells/main.c:62 ../raster/r.random.surface/main.c:77
 #, fuzzy
 msgid "Maximum distance of spatial correlation (value >= 0.0)"
 msgstr "点到网络的最小距离"
 
-#: ../raster/r.random.cells/main.c:67
+#: ../raster/r.random.cells/main.c:70
+#, fuzzy
+msgid "Maximum number of cells to be created"
+msgstr "列数"
+
+#: ../raster/r.random.cells/main.c:77
 msgid "Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])"
 msgstr ""
 
@@ -25158,33 +25748,33 @@ msgstr "抽稀栅格图层上表示线形要素的非零像元"
 msgid "Maximal number of iterations"
 msgstr "插值点的数量"
 
-#: ../raster/r.thin/thin_lines.c:68
+#: ../raster/r.thin/thin_lines.c:67
 #, fuzzy
 msgid "Unable to find bounding box for lines"
 msgstr "无法打开 ascii 文件 [%s]"
 
-#: ../raster/r.thin/thin_lines.c:70
+#: ../raster/r.thin/thin_lines.c:69
 #, c-format
 msgid "Bounding box:  l = %d, r = %d, t = %d, b = %d"
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:117
+#: ../raster/r.thin/thin_lines.c:116
 #, fuzzy, c-format
 msgid "Pass number %d"
 msgstr "图层 %d"
 
-#: ../raster/r.thin/thin_lines.c:168
+#: ../raster/r.thin/thin_lines.c:167
 #, c-format
 msgid "Deleted %d pixel"
 msgid_plural "Deleted %d pixels"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../raster/r.thin/thin_lines.c:172
+#: ../raster/r.thin/thin_lines.c:171
 msgid "Thinning completed successfully."
 msgstr ""
 
-#: ../raster/r.thin/thin_lines.c:174
+#: ../raster/r.thin/thin_lines.c:173
 msgid "Thinning not completed, consider to increase 'iterations' parameter."
 msgstr ""
 
@@ -26242,161 +26832,232 @@ msgstr ""
 msgid "'%s'=%f must be > '%s'=%f"
 msgstr "必须指定两个图层"
 
-#: ../raster/r.in.lidar/main.c:174
+#: ../raster/r.in.lidar/info.c:108 ../raster/r.in.xyz/main.c:1184
+msgid "Scanning data ..."
+msgstr ""
+
+#: ../raster/r.in.lidar/info.c:150 ../raster/r.in.xyz/main.c:1290
+#, c-format
+msgid "Range:     min         max\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/rast_segment.c:40
+#, fuzzy
+msgid "Cannot create temporary file with segments of a raster map"
+msgstr "无法创建文件 [%s]"
+
+#: ../raster/r.in.lidar/main.c:108
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
 msgstr "以当前目录中的ASCII格式的(多边形/线形)数据文件来创建栅格地图。"
 
-#: ../raster/r.in.lidar/main.c:177 ../vector/v.in.lidar/main.c:162
+#: ../raster/r.in.lidar/main.c:112 ../vector/v.in.lidar/main.c:114
 #, fuzzy
 msgid "LAS input file"
 msgstr "输入文件"
 
-#: ../raster/r.in.lidar/main.c:178 ../vector/v.in.lidar/main.c:163
+#: ../raster/r.in.lidar/main.c:113 ../raster/r.in.lidar/main.c:123
+#: ../vector/v.in.lidar/main.c:115
 msgid "LiDAR input files in LAS format (*.las or *.laz)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:205 ../raster/r.in.xyz/main.c:238
+#: ../raster/r.in.lidar/main.c:122
+#, fuzzy
+msgid "File containing names of LAS input files"
+msgstr "无法打开输入的dig_att文件。"
+
+#: ../raster/r.in.lidar/main.c:130
+#, fuzzy
+msgid "Grid-decimated point cloud"
+msgstr "未找到任何记录。\n"
+
+#: ../raster/r.in.lidar/main.c:131
+msgid ""
+"Grid-decimated point cloud with XYZ coordinates which are mean for all "
+"points in a raster cell"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:156
+#, fuzzy
+msgid "Subtract raster values from the z coordinates"
+msgstr "z 坐标的偏移值"
+
+#: ../raster/r.in.lidar/main.c:157
+msgid "The scale for z is applied beforehand, the filter afterwards"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:158 ../raster/r.in.lidar/main.c:174
+#, fuzzy
+msgid "Transform"
+msgstr "插值点的数量"
+
+#: ../raster/r.in.lidar/main.c:165 ../raster/r.in.xyz/main.c:238
+#: ../vector/v.decimate/main.c:146 ../vector/v.in.lidar/main.c:190
 #, fuzzy
 msgid "Filter range for z data (min,max)"
 msgstr "整数范围:min,max"
 
-#: ../raster/r.in.lidar/main.c:212 ../raster/r.in.xyz/main.c:246
+#: ../raster/r.in.lidar/main.c:173 ../raster/r.in.xyz/main.c:246
 msgid "Scale to apply to z data"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:246
+#: ../raster/r.in.lidar/main.c:199
+msgid "Discard given percentage of the smallest and largest values"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:209
 #, fuzzy
 msgid "Output raster resolution"
 msgstr "输出栅格文件的标题"
 
-#: ../raster/r.in.lidar/main.c:252 ../vector/v.in.lidar/main.c:189
+#: ../raster/r.in.lidar/main.c:216 ../vector/v.in.lidar/main.c:197
 msgid "Only import points of selected return type"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:253 ../vector/v.in.lidar/main.c:190
+#: ../raster/r.in.lidar/main.c:217 ../vector/v.in.lidar/main.c:198
 #, fuzzy
 msgid "If not specified, all points are imported"
 msgstr "导入的整数值"
 
-#: ../raster/r.in.lidar/main.c:261 ../vector/v.in.lidar/main.c:198
+#: ../raster/r.in.lidar/main.c:226 ../vector/v.in.lidar/main.c:207
 msgid "Only import points of selected class(es)"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:262 ../vector/v.in.lidar/main.c:199
+#: ../raster/r.in.lidar/main.c:227 ../vector/v.in.lidar/main.c:208
 #, fuzzy
 msgid ""
 "Input is comma separated integers. If not specified, all points are imported."
 msgstr "导入的整数值"
 
-#: ../raster/r.in.lidar/main.c:268 ../vector/v.in.lidar/main.c:205
+#: ../raster/r.in.lidar/main.c:234 ../vector/v.in.lidar/main.c:272
 #, fuzzy
 msgid "Print LAS file info and exit"
 msgstr "打印栅格历史信息"
 
-#: ../raster/r.in.lidar/main.c:279 ../vector/v.in.ogr/main.c:279
-#: ../vector/v.in.lidar/main.c:214
+#: ../raster/r.in.lidar/main.c:246
 #, fuzzy
-msgid "Override dataset projection (use location's projection)"
-msgstr "覆盖投影(使用区域的投影)"
+msgid "Set computation region to match the new raster map"
+msgstr "设置区域以匹配这个栅格图"
+
+#: ../raster/r.in.lidar/main.c:248
+msgid ""
+"Set computation region to match the 2D extent and resolution of the newly "
+"created new raster map"
+msgstr ""
 
-#: ../raster/r.in.lidar/main.c:294
+#: ../raster/r.in.lidar/main.c:272
 msgid "Import intensity values rather than z values"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:310 ../vector/v.in.lidar/main.c:245
+#: ../raster/r.in.lidar/main.c:277
+msgid "Use base raster actual resolution instead of computational region"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:288
+#, c-format
+msgid "Flag %c makes sense only with %s option or -%c flag"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:298
+#, fuzzy, c-format
+msgid "File <%s> does not exist"
+msgstr "栅格地图 [%s] 未发现"
+
+#: ../raster/r.in.lidar/main.c:318
+msgid "zrange will not be taken into account during scan"
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:331 ../vector/v.in.lidar/main.c:337
 #, fuzzy, c-format
 msgid "Input file <%s> does not exist"
 msgstr "栅格地图 [%s] 未发现"
 
-#: ../raster/r.in.lidar/main.c:320 ../vector/v.in.lidar/main.c:252
+#: ../raster/r.in.lidar/main.c:338 ../vector/v.in.lidar/main.c:344
 #, c-format
 msgid "Input file <%s> is not a LAS LiDAR point cloud"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:347 ../vector/v.in.lidar/main.c:292
-#, fuzzy, c-format
-msgid "Unknown filter option <%s>"
-msgstr "未知的类型"
-
-#: ../raster/r.in.lidar/main.c:362 ../vector/v.in.ogr/main.c:630
-#: ../vector/v.in.lidar/main.c:382
+#: ../raster/r.in.lidar/main.c:355
 msgid ""
-"Unable to convert input map projection information to GRASS format for "
-"checking"
-msgstr "不能将输入地图的投影信息转换为 GRASS 格式来检查"
-
-#: ../raster/r.in.lidar/main.c:392 ../vector/v.in.ogr/main.c:660
-#: ../vector/v.in.lidar/main.c:412
-msgid "GRASS LOCATION PROJ_INFO is:\n"
+"First file's projection checked, checking projection of the other files..."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:452 ../vector/v.in.ogr/main.c:720
-#: ../vector/v.in.lidar/main.c:473
-#, fuzzy
-msgid ""
-"Consider generating a new location with 'location' parameter from input data "
-"set.\n"
-msgstr "考虑用 'location' 参数从输入的数据集创建新的区域。\n"
+#: ../raster/r.in.lidar/main.c:393
+#, fuzzy, c-format
+msgid "Unknown filter option <%s>"
+msgstr "未知的类型"
 
-#: ../raster/r.in.lidar/main.c:468 ../raster/r.in.xyz/main.c:350
+#: ../raster/r.in.lidar/main.c:406 ../raster/r.in.xyz/main.c:350
 #, fuzzy
 msgid "Invalid zrange"
 msgstr "无效的区域:%s"
 
-#: ../raster/r.in.lidar/main.c:561 ../raster/r.in.xyz/main.c:450
-msgid "Unable to calculate percentile without the pth option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:573 ../raster/r.in.xyz/main.c:462
-msgid "Unable to calculate trimmed mean without the trim option specified!"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:594
-msgid "zrange will not be taken into account during scan"
-msgstr ""
-
-#: ../raster/r.in.lidar/main.c:615
+#: ../raster/r.in.lidar/main.c:441
 #, fuzzy, c-format
 msgid "Option '%s' must be > 0.0"
 msgstr "位置名称"
 
-#: ../raster/r.in.lidar/main.c:648 ../raster/r.in.xyz/main.c:495
+#: ../raster/r.in.lidar/main.c:500
 #, c-format
 msgid ""
-"Unable to process the hole map at once. Please set the %s option to some "
+"Unable to process the hole map at once. Please set the '%s' option to some "
 "value lower than 100."
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:693
+#: ../raster/r.in.lidar/main.c:527
 #, fuzzy
 msgid "Reading data ..."
 msgstr "读取地图"
 
-#: ../raster/r.in.lidar/main.c:710
-#, fuzzy
-msgid "Could not rewind input file"
-msgstr "无法打开矢量文件 <%s>"
-
-#: ../raster/r.in.lidar/main.c:885
+#: ../raster/r.in.lidar/main.c:659
 #, fuzzy
 msgid "Writing to map ..."
 msgstr "写入 %s ... "
 
-#: ../raster/r.in.lidar/main.c:1231 ../raster/r.in.xyz/main.c:1155
+#: ../raster/r.in.lidar/main.c:710
+#, c-format
+msgid "Raster map <%s> created. %lu points from %d files found in region."
+msgstr ""
+
+#: ../raster/r.in.lidar/main.c:715
 #, fuzzy, c-format
-msgid "%lu points found in region."
+msgid "Raster map <%s> created. %lu points found in region."
 msgstr "%d 个点在当前范围之外,将被忽略"
 
-#: ../raster/r.in.lidar/main.c:1323 ../raster/r.in.xyz/main.c:1184
-msgid "Scanning data ..."
+#: ../raster/r.in.lidar/point_binning.c:205 ../raster/r.in.xyz/main.c:450
+msgid "Unable to calculate percentile without the pth option specified!"
 msgstr ""
 
-#: ../raster/r.in.lidar/main.c:1365 ../raster/r.in.xyz/main.c:1290
-#, c-format
-msgid "Range:     min         max\n"
+#: ../raster/r.in.lidar/point_binning.c:217 ../raster/r.in.xyz/main.c:462
+msgid "Unable to calculate trimmed mean without the trim option specified!"
 msgstr ""
 
+#: ../raster/r.in.lidar/string_list.c:34
+#, fuzzy, c-format
+msgid "Cannot open file %s for reading"
+msgstr "无法找到文件 [%s]。"
+
+#: ../raster/r.in.lidar/projection.c:40 ../vector/v.in.pdal/projection.c:37
+#: ../vector/v.in.ogr/main.c:633 ../vector/v.in.lidar/projection.c:38
+msgid "GRASS LOCATION PROJ_INFO is:\n"
+msgstr ""
+
+#: ../raster/r.in.lidar/projection.c:95 ../vector/v.in.pdal/projection.c:92
+#: ../vector/v.in.ogr/main.c:693 ../vector/v.in.lidar/projection.c:93
+#, fuzzy
+msgid ""
+"Consider generating a new location with 'location' parameter from input data "
+"set.\n"
+msgstr "考虑用 'location' 参数从输入的数据集创建新的区域。\n"
+
+#: ../raster/r.in.lidar/projection.c:113 ../vector/v.in.pdal/projection.c:110
+#: ../vector/v.in.pdal/projection.c:156 ../vector/v.in.pdal/projection.c:189
+#: ../vector/v.in.ogr/main.c:603 ../vector/v.in.lidar/projection.c:111
+msgid ""
+"Unable to convert input map projection information to GRASS format for "
+"checking"
+msgstr "不能将输入地图的投影信息转换为 GRASS 格式来检查"
+
 #: ../raster/r.uslek/main.c:57
 msgid "Computes USLE Soil Erodibility Factor (K)."
 msgstr ""
@@ -26635,12 +27296,6 @@ msgstr ""
 msgid "Header File = %s"
 msgstr "打开栅格文件 %s"
 
-#: ../raster/r.out.bin/main.c:144 ../raster/r.out.bin/main.c:228
-#: ../raster/r.out.bin/main.c:414 ../raster3d/r3.out.bin/main.c:321
-#, fuzzy, c-format
-msgid "Unable to create file <%s>"
-msgstr "无法创建文件 [%s]"
-
 #: ../raster/r.out.bin/main.c:223
 #, c-format
 msgid "World File = %s"
@@ -27472,6 +28127,13 @@ msgstr "请指定合理的需要忽略的线的数目。"
 msgid "Invalid vrange"
 msgstr "无效的区域:%s"
 
+#: ../raster/r.in.xyz/main.c:495
+#, c-format
+msgid ""
+"Unable to process the hole map at once. Please set the %s option to some "
+"value lower than 100."
+msgstr ""
+
 #: ../raster/r.in.xyz/main.c:548
 msgid ""
 "If input is not from a file it is only possible to perform a single pass."
@@ -27524,6 +28186,11 @@ msgstr "无法找到文件 [%s]。"
 msgid "Writing to output raster map..."
 msgstr "输出栅格地图 %s ... "
 
+#: ../raster/r.in.xyz/main.c:1155
+#, fuzzy, c-format
+msgid "%lu points found in region."
+msgstr "%d 个点在当前范围之外,将被忽略"
+
 #: ../raster/r.relief/main.c:112
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM)."
@@ -27892,27 +28559,27 @@ msgstr "过滤器文件的名称"
 msgid "Delete the null file"
 msgstr "过滤器文件的名称"
 
-#: ../raster/r.support/main.c:253 ../raster3d/r3.support/main.c:252
+#: ../raster/r.support/main.c:255 ../raster3d/r3.support/main.c:252
 #, fuzzy, c-format
 msgid "cats table for [%s] set to %s"
 msgstr "[%s] 的色彩表已更新。"
 
-#: ../raster/r.support/main.c:277 ../raster/r.support/main.c:305
+#: ../raster/r.support/main.c:279 ../raster/r.support/main.c:307
 #, c-format
 msgid "[%s] is a reclass of another map. Exiting."
 msgstr "[%s] 是其它地图的重分类。退出。"
 
-#: ../raster/r.support/main.c:288
+#: ../raster/r.support/main.c:291
 #, c-format
 msgid "Writing new null file for [%s]... "
 msgstr "为 [%s] 写入新的空文件... "
 
-#: ../raster/r.support/main.c:309
+#: ../raster/r.support/main.c:311
 #, c-format
 msgid "Removing null file for [%s]...\n"
 msgstr "移除 [%s] 的空文件...\n"
 
-#: ../raster/r.support/main.c:316
+#: ../raster/r.support/main.c:318
 msgid "Done."
 msgstr "完成。"
 
@@ -27949,32 +28616,12 @@ msgstr "对比"
 msgid "Produces a vector map of specified contours from a raster map."
 msgstr "从GRASS栅格图层生成有特定等高线的GRASS矢量地图。"
 
-#: ../raster/r.contour/main.c:101
-msgid "Increment between contour levels"
-msgstr "等高线级数间的增量"
-
 #: ../raster/r.contour/main.c:102 ../raster/r.contour/main.c:110
 #: ../raster/r.contour/main.c:117 ../raster/r.contour/main.c:124
 #, fuzzy
 msgid "Contour levels"
 msgstr "等高线级数的列表"
 
-#: ../raster/r.contour/main.c:109
-msgid "List of contour levels"
-msgstr "等高线级数的列表"
-
-#: ../raster/r.contour/main.c:116
-msgid "Minimum contour level"
-msgstr "最低等高线的级数"
-
-#: ../raster/r.contour/main.c:123
-msgid "Maximum contour level"
-msgstr "最高等高线的级数"
-
-#: ../raster/r.contour/main.c:132
-msgid "Minimum number of points for a contour line (0 -> no limit)"
-msgstr "一条等高线应有的最少点数(0为无限制)"
-
 #: ../raster/r.contour/main.c:140
 #, fuzzy, c-format
 msgid "Neither <%s> nor <%s> option must be specified"
@@ -27985,30 +28632,32 @@ msgstr "必须指定两个图层"
 #: ../vector/v.net.distance/main.c:263 ../vector/v.net.allpairs/main.c:179
 #: ../vector/v.net.path/path.c:109 ../vector/v.net.components/main.c:189
 #: ../vector/v.to.points/main.c:182 ../vector/v.net.timetable/main.c:103
-#: ../vector/v.in.ogr/main.c:1153 ../vector/v.overlay/main.c:580
-#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/main.c:612
+#: ../vector/v.in.ogr/main.c:1150 ../vector/v.overlay/main.c:580
+#: ../vector/v.distance/main.c:1356 ../vector/v.in.lidar/attributes.c:135
 #: ../vector/v.in.dwg/main.c:240
 #, fuzzy, c-format
 msgid "Unable to create table: '%s'"
 msgstr "无法创建文件 [%s]"
 
-#: ../raster/r.contour/main.c:188 ../vector/v.in.ascii/main.c:517
-#: ../vector/v.reclass/main.c:322 ../vector/v.to.points/main.c:187
-#: ../vector/v.in.dxf/write_vect.c:241 ../vector/v.in.ogr/main.c:1663
-#: ../vector/v.in.lidar/main.c:617 ../vector/v.in.dwg/main.c:244
+#: ../raster/r.contour/main.c:188 ../raster3d/r3.flow/main.c:67
+#: ../vector/v.in.ascii/main.c:517 ../vector/v.reclass/main.c:322
+#: ../vector/v.to.points/main.c:187 ../vector/v.in.dxf/write_vect.c:241
+#: ../vector/v.in.ogr/main.c:1677 ../vector/v.in.lidar/attributes.c:139
+#: ../vector/v.in.dwg/main.c:244
 #, fuzzy, c-format
 msgid "Unable to create index for table <%s>, key <%s>"
 msgstr "不能创建输出地图 <%s>"
 
 #: ../raster/r.contour/main.c:203 ../vector/v.voronoi/main.c:384
 #: ../vector/v.extract/copy_tab.c:57 ../vector/v.select/copy_tabs.c:17
-#: ../vector/v.generalize/misc.c:124
+#: ../vector/v.generalize/misc.c:134
 #, fuzzy
 msgid "Writing attributes..."
 msgstr "写入属性 ..."
 
-#: ../raster/r.contour/main.c:216 ../vector/v.to.points/write.c:52
-#: ../vector/v.overlay/area_area.c:345 ../vector/v.overlay/line_area.c:410
+#: ../raster/r.contour/main.c:216 ../raster3d/r3.flow/flowline.c:60
+#: ../vector/v.to.points/write.c:52 ../vector/v.overlay/area_area.c:345
+#: ../vector/v.overlay/line_area.c:410
 #, fuzzy, c-format
 msgid "Unable to insert new record: '%s'"
 msgstr "无法插入新行:%s"
@@ -28874,11 +29523,6 @@ msgstr "输入的 2D 矢量地图的名称"
 msgid "Size of point cache"
 msgstr "点的缓存的大小"
 
-#: ../raster/r.what/main.c:141
-#, fuzzy
-msgid "Output header row"
-msgstr "输出的栅格图"
-
 #: ../raster/r.what/main.c:146
 #, fuzzy
 msgid "Show the category labels of the grid cell(s)"
@@ -29181,7 +29825,8 @@ msgstr "字段类型不支持 (%s)"
 #: ../vector/v.vol.rst/user1.c:112 ../vector/v.sample/main.c:152
 #: ../vector/v.univar/main.c:366 ../vector/v.normal/main.c:134
 #: ../vector/v.surf.idw/read_sites.c:68 ../vector/v.to.rast3/main.c:95
-#: ../vector/v.class/main.c:132 ../vector/v.surf.bspline/main.c:392
+#: ../vector/v.class/main.c:132 ../vector/v.out.lidar/main.c:133
+#: ../vector/v.out.lidar/main.c:168 ../vector/v.surf.bspline/main.c:392
 #, fuzzy
 msgid "Unable to select data from table"
 msgstr "无法从表中选取数据"
@@ -29815,12 +30460,12 @@ msgstr "以shell脚本的样式输出统计值"
 msgid "3D Raster map <%s> not found"
 msgstr "未找到3D栅格图<%s>"
 
-#: ../raster3d/r3.info/main.c:476
+#: ../raster3d/r3.info/main.c:492
 #, fuzzy
 msgid "Error while reading history file"
 msgstr "读取栅格文件 [%s] 时发生错误。"
 
-#: ../raster3d/r3.info/main.c:483 ../raster3d/r3.null/main.c:169
+#: ../raster3d/r3.info/main.c:499 ../raster3d/r3.null/main.c:169
 #: ../raster3d/r3.out.vtk/errorHandling.c:65
 #: ../raster3d/r3.cross.rast/main.c:343
 #, fuzzy, c-format
@@ -30013,6 +30658,42 @@ msgstr ""
 msgid "Update range"
 msgstr "输出数据的范围"
 
+#: ../raster3d/r3.gradient/main.c:44
+#, fuzzy
+msgid "gradient"
+msgstr "变化"
+
+#: ../raster3d/r3.gradient/main.c:47
+#, fuzzy
+msgid ""
+"Computes gradient of a 3D raster map and outputs gradient components as "
+"three 3D raster maps."
+msgstr "将红、绿、蓝图层合并为一个复合图层"
+
+#: ../raster3d/r3.gradient/main.c:56
+#, fuzzy
+msgid "Name for output 3D raster map(s)"
+msgstr ""
+"#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
+"输出栅格图的名称\n"
+"#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
+"输出栅格文件的名称"
+
+#: ../raster3d/r3.gradient/main.c:63
+#, fuzzy
+msgid "Size of blocks"
+msgstr "点的缓存的大小"
+
+#: ../raster3d/r3.gradient/main.c:130
+#, fuzzy
+msgid "Failed to allocate memory for blocks"
+msgstr "无法为字符串分配内存"
+
+#: ../raster3d/r3.gradient/main.c:292
+#, fuzzy
+msgid "Writing gradient 3D raster maps..."
+msgstr "写入栅格地图 %i\n"
+
 #: ../raster3d/r3.out.vtk/errorHandling.c:105
 #, fuzzy
 msgid "Unable to close input raster maps"
@@ -30177,6 +30858,151 @@ msgstr "日期时间,日期时间1/日期时间2,或者为空"
 msgid "Timestamp format is invalid"
 msgstr "未知的时间戳类型:"
 
+#: ../raster3d/r3.flow/main.c:91
+#, fuzzy
+msgid "Please provide three 3D raster maps"
+msgstr "G3d 栅格地图的名称"
+
+#: ../raster3d/r3.flow/main.c:98
+#, fuzzy, c-format
+msgid "Vector seed map <%s> not found"
+msgstr "未发现矢量地图<%s>"
+
+#: ../raster3d/r3.flow/main.c:147
+msgid "init_flowaccum: error in Rast3d_put_float"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:183
+#, fuzzy
+msgid "Computes 3D flow lines and 3D flow accumulation."
+msgstr "通过DEM计算阴影..."
+
+#: ../raster3d/r3.flow/main.c:193
+msgid ""
+"Names of three 3D raster maps describing x, y, z components of vector field"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:200
+msgid ""
+"If no map is provided, flow lines are generated from each cell of the input "
+"3D raster"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:203
+#, fuzzy
+msgid "Name of vector map with points from which flow lines are generated"
+msgstr "需要编辑属性表的输入矢量点地图的名称"
+
+#: ../raster3d/r3.flow/main.c:210
+#, fuzzy
+msgid "Name for vector map of flow lines"
+msgstr "输入的 2D 矢量地图的名称"
+
+#: ../raster3d/r3.flow/main.c:217
+#, fuzzy
+msgid "Name for output flowaccumulation 3D raster"
+msgstr ""
+"#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
+"输出栅格图的名称\n"
+"#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
+"输出栅格文件的名称"
+
+#: ../raster3d/r3.flow/main.c:224
+#, fuzzy
+msgid "Name for 3D raster sampled by flowlines"
+msgstr "包含结果的栅格图的名称"
+
+#: ../raster3d/r3.flow/main.c:226
+msgid ""
+"Values of this 3D raster will be stored as attributes of flowlines segments"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:240
+msgid "elapsed time"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:241
+#, fuzzy
+msgid "length in map units"
+msgstr "长度%f\n"
+
+#: ../raster3d/r3.flow/main.c:241
+msgid "length in cells (voxels)"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:243
+#, fuzzy
+msgid "Unit of integration step"
+msgstr "插值点的数量"
+
+#: ../raster3d/r3.flow/main.c:244
+msgid "Default unit is cell"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:245 ../raster3d/r3.flow/main.c:254
+#: ../raster3d/r3.flow/main.c:262 ../raster3d/r3.flow/main.c:272
+#, fuzzy
+msgid "Integration"
+msgstr "使用的插值方法"
+
+#: ../raster3d/r3.flow/main.c:252
+#, fuzzy
+msgid "Integration step in selected unit"
+msgstr "没有指定数据地图"
+
+#: ../raster3d/r3.flow/main.c:253
+#, fuzzy
+msgid "Default step is 0.25 cell"
+msgstr "输入的数据库名称"
+
+#: ../raster3d/r3.flow/main.c:261
+#, fuzzy
+msgid "Maximum number of steps"
+msgstr "列数"
+
+#: ../raster3d/r3.flow/main.c:269
+#, fuzzy
+msgid "Maximum error of integration"
+msgstr "插值点的数量"
+
+#: ../raster3d/r3.flow/main.c:270
+msgid "Influences step, increase maximum error to allow bigger steps"
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:280
+#, fuzzy
+msgid "Number of cells between flow lines in x, y and z direction"
+msgstr "打印的份数"
+
+#: ../raster3d/r3.flow/main.c:289
+msgid "Compute flowlines upstream, downstream or in both direction."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:294
+#, fuzzy
+msgid "Create and fill attribute table"
+msgstr "无法描述表 <%s>"
+
+#: ../raster3d/r3.flow/main.c:349
+msgid "Please provide 3 integer values for skip option."
+msgstr ""
+
+#: ../raster3d/r3.flow/main.c:414 ../vector/v.to.rast/vect2rast.c:48
+#: ../vector/v.colors/main.c:267
+#, fuzzy, c-format
+msgid "Vector map <%s> is not 3D"
+msgstr "矢量地图 %s - 未发现"
+
+#: ../raster3d/r3.flow/main.c:441
+#, fuzzy
+msgid "Error during reading seed vector map"
+msgstr "读取地图 %s 时发生错误"
+
+#: ../raster3d/r3.flow/test_main.c:46
+#, fuzzy
+msgid "Testing flow lines."
+msgstr "通过DEM计算阴影..."
+
 #: ../raster3d/r3.neighbors/main.c:137
 msgid ""
 "The size of the window in x, y and z direction, values must be odd integer "
@@ -30700,6 +31526,60 @@ msgstr "矢量文件读取错误"
 msgid "Failed to find intersection segment"
 msgstr "无法找到起始矢量 %s "
 
+#: ../vector/v.net/turntable.c:458 ../vector/v.net/turntable.c:546
+#, fuzzy
+msgid "Unable to insert data into turntable."
+msgstr "无法向表中插入新记录:%s"
+
+#: ../vector/v.net/turntable.c:659
+#, fuzzy, c-format
+msgid "Unable to open vector map <%s>."
+msgstr "无法找到矢量地图 [%s]"
+
+#: ../vector/v.net/turntable.c:671
+#, fuzzy, c-format
+msgid "Arc layer <%s> does not exist in map <%s>."
+msgstr "包含结果的栅格图的名称"
+
+#: ../vector/v.net/turntable.c:676
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tlayer data."
+msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
+
+#: ../vector/v.net/turntable.c:681
+#, fuzzy, c-format
+msgid ""
+"Layer <%s> already exist in map <%s>.\n"
+"It will be overwritten by tuclayer data."
+msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
+
+#: ../vector/v.net/turntable.c:690
+#, fuzzy, c-format
+msgid "Unable to create vector map <%s>."
+msgstr "不能创建输出地图 <%s>"
+
+#: ../vector/v.net/turntable.c:721
+#, fuzzy, c-format
+msgid "Unable to open database <%s> using driver <%s>"
+msgstr "无法打开数据库%s,通过驱动%s"
+
+#: ../vector/v.net/turntable.c:736
+#, fuzzy, c-format
+msgid "Unable to create turntable <%s>."
+msgstr "不能创建输出地图 <%s>"
+
+#: ../vector/v.net/turntable.c:743
+#, fuzzy, c-format
+msgid "Unable to connect table <%s> to vector map <%s>."
+msgstr "无法找到矢量地图 [%s]"
+
+#: ../vector/v.net/turntable.c:748
+#, fuzzy, c-format
+msgid "Unable to create index for column <%s> in table <%s>."
+msgstr "不能创建输出地图 <%s>"
+
 #: ../vector/v.net/arcs.c:42
 #, fuzzy, c-format
 msgid "Error reading file: '%s'"
@@ -30729,7 +31609,7 @@ msgstr "输入的 2D 矢量地图的名称"
 msgid "Required for operation 'nodes', 'connect', 'report' and 'nreport'"
 msgstr ""
 
-#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:56
+#: ../vector/v.net/args.c:17 ../vector/v.net/args.c:57
 msgid "Arcs"
 msgstr ""
 
@@ -30742,8 +31622,8 @@ msgstr "输入的 2D 矢量地图的名称"
 msgid "Required for operation 'connect' and 'arcs'"
 msgstr ""
 
-#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:63
-#: ../vector/v.net/args.c:85 ../vector/v.net/args.c:92
+#: ../vector/v.net/args.c:25 ../vector/v.net/args.c:71
+#: ../vector/v.net/args.c:93 ../vector/v.net/args.c:100
 msgid "Nodes"
 msgstr ""
 
@@ -30771,83 +31651,123 @@ msgid ""
 "print to standard output {point_category line_category[,line_category...]}"
 msgstr ""
 
-#: ../vector/v.net/args.c:72
+#: ../vector/v.net/args.c:50
+msgid "create turntable on vector network"
+msgstr ""
+
+#: ../vector/v.net/args.c:64 ../vector/v.net/args.c:111
+#: ../vector/v.net/args.c:123 ../vector/v.net.alloc/main.c:128
+#: ../vector/v.net.alloc/main.c:136 ../vector/v.net.alloc/main.c:144
+#: ../vector/v.net.salesman/main.c:182 ../vector/v.net.salesman/main.c:189
+#: ../vector/v.net.salesman/main.c:196 ../vector/v.net.path/main.c:111
+#: ../vector/v.net.path/main.c:119 ../vector/v.net.path/main.c:127
+#: ../vector/v.net.iso/main.c:138 ../vector/v.net.iso/main.c:146
+#: ../vector/v.net.iso/main.c:154
+#, fuzzy
+msgid "Turntable"
+msgstr "栅格图的名称"
+
+#: ../vector/v.net/args.c:80
 msgid "Required for operation 'connect'. Connect points in given threshold."
 msgstr ""
 
-#: ../vector/v.net/args.c:76
+#: ../vector/v.net/args.c:84
 #, fuzzy
 msgid "Name of input file"
 msgstr "输入图层的名称"
 
-#: ../vector/v.net/args.c:78
+#: ../vector/v.net/args.c:86
 #, fuzzy
 msgid "Required for operation 'arcs' ('-' for standard input)"
 msgstr "地图东向和北向格网坐标的起点"
 
-#: ../vector/v.net/args.c:83
+#: ../vector/v.net/args.c:91
 msgid "Assign unique categories to new points"
 msgstr ""
 
-#: ../vector/v.net/args.c:84
+#: ../vector/v.net/args.c:92
 #, fuzzy
 msgid "For operation 'nodes'"
 msgstr "未知的类型"
 
-#: ../vector/v.net/args.c:89
+#: ../vector/v.net/args.c:97
 #, fuzzy
 msgid "Snap points to network"
 msgstr "终止点矢量图"
 
-#: ../vector/v.net/args.c:91
+#: ../vector/v.net/args.c:99
 msgid ""
 "For operation 'connect'. By default, a new line from the point to the "
 "network is created."
 msgstr ""
 
-#: ../vector/v.net/args.c:114
+#: ../vector/v.net/args.c:103
+#, fuzzy
+msgid "Turntable layer"
+msgstr " nv color\n"
+
+#: ../vector/v.net/args.c:106
+msgid ""
+"Layer where turntable will be attached. Format: layer number[/layer name]."
+"Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:114 ../vector/v.net.alloc/main.c:141
+#: ../vector/v.net.salesman/main.c:194 ../vector/v.net.path/main.c:124
+#: ../vector/v.net.iso/main.c:151
+msgid "Layer with unique categories used in turntable"
+msgstr ""
+
+#: ../vector/v.net/args.c:117
+msgid ""
+"Layer with unique categories for every line in arc_layer and point on every "
+"node.  The categories are used in turntable. Format: layer number[/layer "
+"name]. Required for operation 'turntable'."
+msgstr ""
+
+#: ../vector/v.net/args.c:146
 #, fuzzy
 msgid "Unknown operation"
 msgstr "未知的类型"
 
-#: ../vector/v.net/args.c:141
+#: ../vector/v.net/args.c:175
 msgid "Threshold value must be >= 0"
 msgstr ""
 
-#: ../vector/v.net/main.c:47
+#: ../vector/v.net/main.c:49
 #, fuzzy
 msgid "network maintenance"
 msgstr "变化"
 
-#: ../vector/v.net/main.c:48
+#: ../vector/v.net/main.c:50
 msgid "Performs network maintenance."
 msgstr ""
 
-#: ../vector/v.net/main.c:119
+#: ../vector/v.net/main.c:122
 #, fuzzy, c-format
 msgid "Unable to open vector map <%s> at topology level %d"
 msgstr "无法打开矢量文件<%s>在<%s>中"
 
-#: ../vector/v.net/main.c:135
+#: ../vector/v.net/main.c:139
 #, fuzzy, c-format
 msgid "%d new points (nodes) written to output."
 msgstr "%d个点写入输出地图\n"
 
-#: ../vector/v.net/main.c:146
+#: ../vector/v.net/main.c:151
 #, fuzzy, c-format
 msgid "%d lines (network arcs) written to output."
 msgstr "读取%-5d条线并写入输出文件\n"
 
-#: ../vector/v.net/main.c:150 ../vector/v.in.db/main.c:282
+#: ../vector/v.net/main.c:156 ../vector/v.in.db/main.c:282
 #: ../vector/v.transform/main.c:282 ../vector/v.to.3d/main.c:96
 #: ../vector/v.to.3d/main.c:117
 #, fuzzy
 msgid "Copying attributes..."
 msgstr "无法创建属性表"
 
-#: ../vector/v.net/main.c:152 ../vector/v.type/main.c:155
+#: ../vector/v.net/main.c:158 ../vector/v.type/main.c:155
 #: ../vector/v.category/main.c:761 ../vector/v.transform/main.c:284
-#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:496
+#: ../vector/v.build.polylines/main.c:242 ../vector/v.proj/main.c:497
 #: ../vector/v.rectify/main.c:276
 #, fuzzy
 msgid "Failed to copy attribute table to output map"
@@ -30868,8 +31788,9 @@ msgstr "%d 个点没有类别,将被忽略"
 msgid "Duplicate nodes at x=%g y=%g z=%g "
 msgstr ""
 
-#: ../vector/v.in.db/main.c:55 ../vector/v.kcv/main.c:57
-#: ../vector/v.normal/main.c:74
+#: ../vector/v.in.db/main.c:55 ../vector/v.decimate/main.c:129
+#: ../vector/v.kcv/main.c:57 ../vector/v.normal/main.c:74
+#: ../vector/v.out.lidar/main.c:484
 #, fuzzy
 msgid "points"
 msgstr "矢量地图 %s - 未发现"
@@ -30904,9 +31825,9 @@ msgstr "用于内插的包含 w 属性的字段名称"
 msgid "Name of column containing z coordinate"
 msgstr "用于内插的包含 w 属性的字段名称"
 
-#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:133
-#: ../vector/v.random/main.c:142 ../vector/v.random/main.c:155
-#: ../vector/v.random/main.c:165 ../vector/v.random/main.c:170
+#: ../vector/v.in.db/main.c:85 ../vector/v.random/main.c:134
+#: ../vector/v.random/main.c:143 ../vector/v.random/main.c:156
+#: ../vector/v.random/main.c:166 ../vector/v.random/main.c:171
 #, fuzzy
 msgid "3D output"
 msgstr "创建 3D 输出"
@@ -31116,13 +32037,13 @@ msgstr ""
 msgid "In network mode, multiply the result by number of input points"
 msgstr ""
 
-#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:489
+#: ../vector/v.kernel/main.c:227 ../vector/v.in.lidar/main.c:552
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists and will be overwritten"
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
 #: ../vector/v.kernel/main.c:230 ../vector/v.edit/main.c:97
-#: ../vector/v.in.ogr/main.c:530 ../vector/v.in.lidar/main.c:492
+#: ../vector/v.in.ogr/main.c:503 ../vector/v.in.lidar/main.c:555
 #, fuzzy, c-format
 msgid "Vector map <%s> already exists"
 msgstr "dig_att文件不存在。"
@@ -31319,26 +32240,26 @@ msgstr ""
 msgid "Make outside corners straight"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:303
+#: ../vector/v.buffer/main.c:302
 msgid "Do not make caps at the ends of polylines"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:307
+#: ../vector/v.buffer/main.c:306
 #, fuzzy
 msgid "Transfer categories and attributes"
 msgstr "打印矢量的属性"
 
-#: ../vector/v.buffer/main.c:327
+#: ../vector/v.buffer/main.c:326
 msgid ""
 "Note: In latitude-longitude coordinate system specify distances in degree "
 "unit"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:331
+#: ../vector/v.buffer/main.c:330
 msgid "Select a buffer distance/minordistance/angle or column, but not both."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:349 ../vector/v.random/main.c:204
+#: ../vector/v.buffer/main.c:348 ../vector/v.random/main.c:205
 #: ../vector/v.drape/main.c:149
 #, c-format
 msgid ""
@@ -31346,178 +32267,178 @@ msgid ""
 "'1'."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:360
+#: ../vector/v.buffer/main.c:359
 #, fuzzy
 msgid "The bufcol option requires a valid layer."
 msgstr "该选项需要一个字段"
 
-#: ../vector/v.buffer/main.c:364
+#: ../vector/v.buffer/main.c:363
 #, fuzzy
 msgid "The tolerance must be > 0."
 msgstr "必须指定两个图层"
 
-#: ../vector/v.buffer/main.c:367
+#: ../vector/v.buffer/main.c:366
 #, fuzzy, c-format
 msgid "The tolerance was reset to %g"
 msgstr "容限重置为 %g (地图单位)"
 
-#: ../vector/v.buffer/main.c:371
+#: ../vector/v.buffer/main.c:370
 #, fuzzy
 msgid "Illegal scale value"
 msgstr "非法的输出文件名"
 
-#: ../vector/v.buffer/main.c:388
+#: ../vector/v.buffer/main.c:387
 #, fuzzy, c-format
 msgid "The tolerance in map units = %g"
 msgstr "容限 (地图单位):%g"
 
-#: ../vector/v.buffer/main.c:401 ../vector/v.in.ogr/main.c:958
+#: ../vector/v.buffer/main.c:400 ../vector/v.in.ogr/main.c:931
 #: ../vector/v.overlay/main.c:220
 #, fuzzy
 msgid "Unable to create temporary vector map"
 msgstr "不能创建输出地图 <%s>"
 
-#: ../vector/v.buffer/main.c:429
+#: ../vector/v.buffer/main.c:428
 #, fuzzy, c-format
 msgid "Unable to select data from table <%s>"
 msgstr "无法从表中选取数据"
 
-#: ../vector/v.buffer/main.c:435 ../vector/v.what.rast/main.c:172
+#: ../vector/v.buffer/main.c:434 ../vector/v.what.rast/main.c:182
 #: ../vector/v.sample/main.c:240 ../vector/v.surf.idw/read_sites.c:65
 #: ../vector/v.to.rast3/main.c:99 ../vector/v.class/main.c:129
 #: ../vector/v.surf.bspline/crosscorr.c:133 ../vector/v.surf.bspline/main.c:389
 msgid "Column type not supported"
 msgstr "列的类型不支持"
 
-#: ../vector/v.buffer/main.c:465
+#: ../vector/v.buffer/main.c:464
 msgid ""
 "No features available for buffering. Check type option and features "
 "available in the input vector."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:482
+#: ../vector/v.buffer/main.c:481
 #, c-format
 msgid "Flags -%c/%c ignored by this version, GEOS >= 3.3 is required"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:487
+#: ../vector/v.buffer/main.c:486
 msgid ""
 "Negative distances for internal buffers are not supported and converted to "
 "positive values."
 msgstr ""
 
-#: ../vector/v.buffer/main.c:497
+#: ../vector/v.buffer/main.c:496
 #, fuzzy
 msgid "Buffering areas..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.buffer/main.c:527 ../vector/v.buffer/main.c:629
+#: ../vector/v.buffer/main.c:526 ../vector/v.buffer/main.c:628
 #: ../vector/v.vol.rst/user1.c:172 ../vector/v.label/main.c:325
-#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:597
+#: ../vector/v.what.rast3/main.c:271 ../vector/v.what.rast/main.c:608
 #: ../vector/v.sample/main.c:226 ../vector/v.sample/main.c:234
 #: ../vector/v.label.sa/labels.c:166
 #, fuzzy, c-format
 msgid "No record for category %d in table <%s>"
 msgstr "在表中没有类别为 '%d' 的记录"
 
-#: ../vector/v.buffer/main.c:533 ../vector/v.buffer/main.c:635
+#: ../vector/v.buffer/main.c:532 ../vector/v.buffer/main.c:634
 #, fuzzy, c-format
 msgid "Attribute is of invalid size (%.3f) for category %d"
 msgstr "类别 %d 的属性大小无效 (%.3f)"
 
-#: ../vector/v.buffer/main.c:547 ../vector/v.buffer/main.c:653
+#: ../vector/v.buffer/main.c:546 ../vector/v.buffer/main.c:652
 #, c-format
 msgid "The tolerance in map units: %g"
 msgstr "容限 (地图单位):%g"
 
-#: ../vector/v.buffer/main.c:593
+#: ../vector/v.buffer/main.c:592
 #, fuzzy
 msgid "Buffering features..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.buffer/main.c:596 ../vector/v.buffer/main.c:645
+#: ../vector/v.buffer/main.c:595 ../vector/v.buffer/main.c:644
 msgid "Negative distances are only supported for areas"
 msgstr ""
 
-#: ../vector/v.buffer/main.c:719
+#: ../vector/v.buffer/main.c:718
 #, fuzzy
 msgid "Cleaning buffers..."
 msgstr "栅格输入文件"
 
-#: ../vector/v.buffer/main.c:722
+#: ../vector/v.buffer/main.c:721
 #, fuzzy
 msgid "Building parts of topology..."
 msgstr "建立空间索引..."
 
-#: ../vector/v.buffer/main.c:736
+#: ../vector/v.buffer/main.c:735
 #, fuzzy
 msgid "Snapping boundaries..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.buffer/main.c:739 ../vector/v.in.ogr/main.c:1339
+#: ../vector/v.buffer/main.c:738 ../vector/v.in.ogr/main.c:1352
 #, fuzzy
 msgid "Breaking polygons..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.buffer/main.c:742 ../vector/v.buffer/main.c:749
-#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1344
-#: ../vector/v.in.ogr/main.c:1358 ../vector/v.overlay/area_area.c:113
+#: ../vector/v.buffer/main.c:741 ../vector/v.buffer/main.c:748
+#: ../vector/v.delaunay/main.c:144 ../vector/v.in.ogr/main.c:1357
+#: ../vector/v.in.ogr/main.c:1371 ../vector/v.overlay/area_area.c:113
 #, fuzzy
 msgid "Removing duplicates..."
 msgstr "移除 [%s] 的空文件...\n"
 
-#: ../vector/v.buffer/main.c:746 ../vector/v.in.ogr/main.c:1354
+#: ../vector/v.buffer/main.c:745 ../vector/v.in.ogr/main.c:1367
 #, fuzzy
 msgid "Breaking boundaries..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.buffer/main.c:752
+#: ../vector/v.buffer/main.c:751
 #, fuzzy
 msgid "Cleaning boundaries at nodes"
 msgstr "写入 %s ... "
 
-#: ../vector/v.buffer/main.c:760 ../vector/v.voronoi/clean_topo.c:87
-#: ../vector/v.in.ogr/main.c:1378
+#: ../vector/v.buffer/main.c:759 ../vector/v.voronoi/clean_topo.c:87
+#: ../vector/v.in.ogr/main.c:1391
 #, fuzzy
 msgid "Removing dangles..."
 msgstr "移除 [%s] 的空文件...\n"
 
-#: ../vector/v.buffer/main.c:763 ../vector/v.voronoi/clean_topo.c:89
-#: ../vector/v.in.ogr/main.c:1393
+#: ../vector/v.buffer/main.c:762 ../vector/v.voronoi/clean_topo.c:89
+#: ../vector/v.in.ogr/main.c:1406
 #, fuzzy
 msgid "Removing bridges..."
 msgstr "移除 [%s] 的空文件...\n"
 
-#: ../vector/v.buffer/main.c:766 ../vector/v.overlay/area_area.c:158
+#: ../vector/v.buffer/main.c:765 ../vector/v.overlay/area_area.c:158
 #, fuzzy
 msgid "Attaching islands..."
 msgstr "分类...\n"
 
-#: ../vector/v.buffer/main.c:773
+#: ../vector/v.buffer/main.c:772
 #, fuzzy
 msgid "Calculating centroids for all areas..."
 msgstr "通过DEM计算阴影..."
 
-#: ../vector/v.buffer/main.c:787 ../vector/v.overlay/area_area.c:171
+#: ../vector/v.buffer/main.c:786 ../vector/v.overlay/area_area.c:171
 msgid "Cannot calculate area centroid"
 msgstr "无法计算面的质心"
 
-#: ../vector/v.buffer/main.c:804
+#: ../vector/v.buffer/main.c:803
 #, fuzzy
 msgid "Generating list of boundaries to be deleted..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.buffer/main.c:837
+#: ../vector/v.buffer/main.c:836
 #, fuzzy
 msgid "Deleting boundaries..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.buffer/main.c:869
+#: ../vector/v.buffer/main.c:868
 #, fuzzy
 msgid "Calculating centroids for areas..."
 msgstr "通过DEM计算阴影..."
 
-#: ../vector/v.buffer/main.c:882
+#: ../vector/v.buffer/main.c:881
 #, fuzzy, c-format
 msgid "Unable to calculate centroid for area %d"
 msgstr "无法计算面的质心"
@@ -31923,7 +32844,7 @@ msgstr "输入失败"
 msgid "Not enough disk space--cannot write files"
 msgstr "磁盘空间不足 -- 无法写入文件"
 
-#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:100
+#: ../vector/v.qcount/main.c:62 ../vector/v.random/main.c:101
 #: ../vector/v.perturb/main.c:66 ../vector/v.mkgrid/main.c:73
 #: ../vector/v.kcv/main.c:58 ../vector/v.normal/main.c:75
 #, fuzzy
@@ -31980,11 +32901,12 @@ msgstr ""
 
 #: ../vector/v.net.bridge/main.c:61 ../vector/v.net.bridge/main.c:67
 #: ../vector/v.net.bridge/main.c:74 ../vector/v.net.bridge/main.c:80
-#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:96
-#: ../vector/v.net.alloc/main.c:103 ../vector/v.net.alloc/main.c:110
+#: ../vector/v.net.bridge/main.c:87 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.alloc/main.c:123
 #: ../vector/v.net.flow/main.c:71 ../vector/v.net.flow/main.c:77
 #: ../vector/v.net.flow/main.c:91 ../vector/v.net.flow/main.c:97
-#: ../vector/v.net.flow/main.c:103 ../vector/v.net.connectivity/main.c:65
+#: ../vector/v.net.flow/main.c:103 ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:177 ../vector/v.net.connectivity/main.c:65
 #: ../vector/v.net.connectivity/main.c:71
 #: ../vector/v.net.connectivity/main.c:78
 #: ../vector/v.net.connectivity/main.c:84
@@ -31995,15 +32917,15 @@ msgstr ""
 #: ../vector/v.net.distance/main.c:94 ../vector/v.net.distance/main.c:140
 #: ../vector/v.net.distance/main.c:146 ../vector/v.net.distance/main.c:152
 #: ../vector/v.net.allpairs/main.c:94 ../vector/v.net.allpairs/main.c:100
-#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:74
-#: ../vector/v.net.path/main.c:81 ../vector/v.net.path/main.c:88
+#: ../vector/v.net.allpairs/main.c:107 ../vector/v.net.path/main.c:80
+#: ../vector/v.net.path/main.c:87 ../vector/v.net.path/main.c:94
 #: ../vector/v.net.components/main.c:84 ../vector/v.net.components/main.c:90
 #: ../vector/v.net.components/main.c:97 ../vector/v.net.components/main.c:103
 #: ../vector/v.net.components/main.c:110 ../vector/v.net.timetable/main.c:275
 #: ../vector/v.net.timetable/main.c:281 ../vector/v.net.timetable/main.c:289
 #: ../vector/v.net.timetable/main.c:296 ../vector/v.net.timetable/main.c:303
-#: ../vector/v.net.iso/main.c:103 ../vector/v.net.iso/main.c:108
-#: ../vector/v.net.iso/main.c:113 ../vector/v.net.spanningtree/main.c:60
+#: ../vector/v.net.iso/main.c:123 ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:133 ../vector/v.net.spanningtree/main.c:60
 #: ../vector/v.net.spanningtree/main.c:66
 #: ../vector/v.net.spanningtree/main.c:73
 #: ../vector/v.net.spanningtree/main.c:79
@@ -32011,12 +32933,12 @@ msgstr ""
 msgid "Cost"
 msgstr "对比"
 
-#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:109
+#: ../vector/v.net.bridge/main.c:86 ../vector/v.net.alloc/main.c:122
 #: ../vector/v.net.flow/main.c:102 ../vector/v.net.connectivity/main.c:91
 #: ../vector/v.net.centrality/main.c:142 ../vector/v.net.distance/main.c:151
-#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:87
+#: ../vector/v.net.allpairs/main.c:106 ../vector/v.net.path/main.c:93
 #: ../vector/v.net.components/main.c:109 ../vector/v.net.timetable/main.c:302
-#: ../vector/v.net.iso/main.c:112 ../vector/v.net.spanningtree/main.c:78
+#: ../vector/v.net.iso/main.c:132 ../vector/v.net.spanningtree/main.c:78
 #, fuzzy
 msgid "Node cost column (number)"
 msgstr "列数"
@@ -32045,44 +32967,62 @@ msgstr "要素类型"
 msgid "Unable to build graph for vector map <%s>"
 msgstr "不能创建输出地图 <%s>"
 
-#: ../vector/v.net.alloc/main.c:66
+#: ../vector/v.net.alloc/main.c:68
 msgid "Allocates subnets for nearest centers (direction from center)."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:68
+#: ../vector/v.net.alloc/main.c:70
 msgid ""
 "center node must be opened (costs >= 0). Costs of center node are used in "
 "calculation"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:116 ../vector/v.net.iso/main.c:119
+#: ../vector/v.net.alloc/main.c:81 ../vector/v.net.iso/main.c:89
 msgid ""
 "Categories of centers (points on nodes) to which net will be allocated, "
 "layer for this categories is given by nlayer option"
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:169 ../vector/v.net.salesman/main.c:242
-#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:205
+#: ../vector/v.net.alloc/main.c:127 ../vector/v.net.salesman/main.c:181
+#: ../vector/v.net.path/main.c:110 ../vector/v.net.iso/main.c:137
+msgid "Use turntable"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:133 ../vector/v.net.salesman/main.c:187
+#: ../vector/v.net.path/main.c:116 ../vector/v.net.iso/main.c:143
+#, fuzzy
+msgid "Layer with turntable"
+msgstr "图层 '%s' 不可用"
+
+#: ../vector/v.net.alloc/main.c:135 ../vector/v.net.alloc/main.c:143
+#: ../vector/v.net.salesman/main.c:188 ../vector/v.net.salesman/main.c:195
+#: ../vector/v.net.path/main.c:118 ../vector/v.net.path/main.c:126
+#: ../vector/v.net.iso/main.c:145 ../vector/v.net.iso/main.c:153
+msgid "Relevant only with -t flag"
+msgstr ""
+
+#: ../vector/v.net.alloc/main.c:204 ../vector/v.net.salesman/main.c:277
+#: ../vector/v.net.steiner/main.c:445 ../vector/v.net.iso/main.c:241
 #, fuzzy
 msgid "Point is not connected to the network"
 msgstr "点到网络的最小距离"
 
-#: ../vector/v.net.alloc/main.c:195
+#: ../vector/v.net.alloc/main.c:230
 #, fuzzy, c-format
 msgid "Number of centers: [%d] (nlayer: [%d])"
 msgstr "输入点的数目:%d"
 
-#: ../vector/v.net.alloc/main.c:198
+#: ../vector/v.net.alloc/main.c:233
 msgid "Not enough centers for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.alloc/main.c:209
+#: ../vector/v.net.alloc/main.c:254
 #, fuzzy
 msgid "Calculating costs from centers ..."
 msgstr "通过DEM计算阴影..."
 
-#: ../vector/v.net.alloc/main.c:351 ../vector/v.net.alloc/main.c:362
-#: ../vector/v.net.iso/main.c:517
+#: ../vector/v.net.alloc/main.c:451 ../vector/v.net.alloc/main.c:463
+#: ../vector/v.net.iso/main.c:618
 #, fuzzy
 msgid "Cannot get line segment, segment out of line"
 msgstr "无法创建表:%s"
@@ -32429,103 +33369,103 @@ msgid ""
 msgstr ""
 
 #: ../vector/v.in.ascii/main.c:546 ../vector/v.in.ascii/main.c:549
-#: ../vector/v.in.ogr/main.c:1659
+#: ../vector/v.in.ogr/main.c:1672
 #, fuzzy
 msgid "Import failed"
 msgstr "输入失败"
 
-#: ../vector/v.random/main.c:101
+#: ../vector/v.random/main.c:102
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
 msgstr "随机生成一个 2D/3D GRASS 矢量点地图"
 
-#: ../vector/v.random/main.c:109
+#: ../vector/v.random/main.c:110
 #, fuzzy
 msgid "Number of points to be created"
 msgstr "将要创建的点的数目"
 
-#: ../vector/v.random/main.c:114
+#: ../vector/v.random/main.c:115
 #, fuzzy
 msgid "Restrict points to areas in input vector"
 msgstr "无法打开输入的dig文件。"
 
-#: ../vector/v.random/main.c:131
+#: ../vector/v.random/main.c:132
 #, fuzzy
 msgid "Minimum z height (needs -z flag or column name)"
 msgstr "最小的 z 值 (需要 -z 标记)"
 
-#: ../vector/v.random/main.c:140
+#: ../vector/v.random/main.c:141
 #, fuzzy
 msgid "Maximum z height (needs -z flag or column name)"
 msgstr "最大的 z 值 (需要 -z 标记)"
 
-#: ../vector/v.random/main.c:149
+#: ../vector/v.random/main.c:150
 msgid ""
 "The seed to initialize the random generator. If not set the process ID is "
 "used"
 msgstr ""
 
-#: ../vector/v.random/main.c:152
+#: ../vector/v.random/main.c:153
 #, fuzzy
 msgid "Name of column for z values"
 msgstr "用于内插的包含 w 属性的字段名称"
 
-#: ../vector/v.random/main.c:154
+#: ../vector/v.random/main.c:155
 #, fuzzy
 msgid "Writes z values to column"
 msgstr "写入 %s ... "
 
-#: ../vector/v.random/main.c:162
+#: ../vector/v.random/main.c:163
 #, fuzzy
 msgid "Type of column for z values"
 msgstr "色彩表类型"
 
-#: ../vector/v.random/main.c:169
+#: ../vector/v.random/main.c:170
 msgid "Create 3D output"
 msgstr "创建 3D 输出"
 
-#: ../vector/v.random/main.c:174
+#: ../vector/v.random/main.c:175
 #, fuzzy
 msgid "Generate n points for each individual area"
 msgstr "通过DEM计算阴影..."
 
-#: ../vector/v.random/main.c:188
+#: ../vector/v.random/main.c:189
 #, fuzzy, c-format
 msgid "Number of points must be > 0 (%d given)"
 msgstr "将要创建的点的数目"
 
-#: ../vector/v.random/main.c:214
+#: ../vector/v.random/main.c:215
 #, fuzzy, c-format
 msgid "No areas in vector map <%s>"
 msgstr "%d 个点写入矢量文件"
 
-#: ../vector/v.random/main.c:219
+#: ../vector/v.random/main.c:220
 #, fuzzy, c-format
 msgid "The <-%c> flag requires an input vector with areas"
 msgstr "得到的 3D 矢量地图的名称"
 
-#: ../vector/v.random/main.c:273
+#: ../vector/v.random/main.c:274
 msgid "Table should contain only two columns"
 msgstr ""
 
-#: ../vector/v.random/main.c:282
+#: ../vector/v.random/main.c:283
 msgid ""
 "You have created unsupported column type. This module supports only INTEGER "
 "and DOUBLE PRECISION column types."
 msgstr ""
 
-#: ../vector/v.random/main.c:345
+#: ../vector/v.random/main.c:346
 #, fuzzy, c-format
 msgid ""
 "Selected areas in input vector <%s> do not overlap with the current region"
 msgstr "起始矢量地图 %s 在当前范围之外"
 
-#: ../vector/v.random/main.c:357
+#: ../vector/v.random/main.c:358
 #, fuzzy, c-format
 msgid "Input vector <%s> does not overlap with the current region"
 msgstr "起始矢量地图 %s 在当前范围之外"
 
-#: ../vector/v.random/main.c:382
+#: ../vector/v.random/main.c:383
 #, fuzzy
 msgid "Generating points..."
 msgstr "写入 %s ... "
@@ -32720,6 +33660,159 @@ msgstr ""
 msgid "Impossible to write in the database"
 msgstr ""
 
+#: ../vector/v.decimate/main.c:125 ../vector/v.generalize/main.c:77
+#, fuzzy
+msgid "generalization"
+msgstr "读取 %s ..."
+
+#: ../vector/v.decimate/main.c:126
+#, fuzzy
+msgid "decimation"
+msgstr "分类结果的文件名称"
+
+#: ../vector/v.decimate/main.c:130
+#, fuzzy
+msgid "Decimates a point cloud"
+msgstr "未找到任何记录。\n"
+
+#: ../vector/v.decimate/main.c:131
+msgid ""
+"Copies points from one vector to another while applying different decimations"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:159
+msgid "Throw away every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:161
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are copied"
+msgstr "导入的整数值"
+
+#: ../vector/v.decimate/main.c:163 ../vector/v.decimate/main.c:174
+#: ../vector/v.decimate/main.c:184 ../vector/v.decimate/main.c:193
+msgid "Count"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:170
+msgid "Preserve only every n-th point"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:172
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are copied"
+msgstr "导入的整数值"
+
+#: ../vector/v.decimate/main.c:181 ../vector/v.in.lidar/main.c:249
+msgid "Skip first n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:183 ../vector/v.in.lidar/main.c:250
+msgid "Skips the given number of points at the beginning."
+msgstr ""
+
+#: ../vector/v.decimate/main.c:191
+msgid "Copy only n points"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:192
+#, fuzzy
+msgid "Copies only the given number of points"
+msgstr "%s=%s - 非法的内插点数"
+
+#: ../vector/v.decimate/main.c:199
+#, fuzzy
+msgid "Minimal difference of z values"
+msgstr "最大随机值"
+
+#: ../vector/v.decimate/main.c:201
+msgid "Minimal difference between z values in grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:202 ../vector/v.decimate/main.c:212
+#: ../vector/v.decimate/main.c:217 ../vector/v.decimate/main.c:223
+#: ../vector/v.decimate/main.c:228 ../vector/v.decimate/main.c:233
+msgid "Grid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:209
+#, fuzzy
+msgid "Preserve only n points per grid cell"
+msgstr "插值点的数量"
+
+#: ../vector/v.decimate/main.c:211
+msgid ""
+"Preserves only the given number of points per grid cell in grid-based "
+"decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:216
+msgid "Apply grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:222
+msgid "Use only first point in grid cell during grid-based decimation"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:227
+#, fuzzy
+msgid "Only one point per cat in grid cell"
+msgstr "插值点的数量"
+
+#: ../vector/v.decimate/main.c:232
+#, fuzzy
+msgid "Use z in grid decimation"
+msgstr "标准偏差"
+
+#: ../vector/v.decimate/main.c:238
+msgid "Store only the coordinates, throw away categories"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:240
+msgid "Do not story any categories even if they are present in input data"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:241 ../vector/v.decimate/main.c:244
+#: ../vector/v.in.lidar/main.c:291 ../vector/v.in.lidar/main.c:299
+#: ../vector/v.in.lidar/main.c:302
+msgid "Speed"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:274
+#, c-format
+msgid ""
+"Input layer must be set to a particular layer, not <%s>, when using <%s> "
+"option or <-%c> flag"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:292 ../vector/v.in.pdal/filters.c:68
+#: ../vector/v.in.lidar/main.c:445
+#, fuzzy, c-format
+msgid "Invalid zrange <%s>"
+msgstr "无效的区域:%s"
+
+#: ../vector/v.decimate/main.c:316
+msgid "Cannot use z for decimation, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:318
+msgid "Cannot select by z range, input is not 3D"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:342 ../vector/v.in.lidar/main.c:615
+msgid "Settings for count-based decimation are not valid"
+msgstr ""
+
+#: ../vector/v.decimate/main.c:348
+msgid ""
+"Settings for count-based decimation would cause it to do nothing and no "
+"other options has been set."
+msgstr ""
+
 #: ../vector/v.type/main.c:44
 #, fuzzy
 msgid "Changes type of vector features."
@@ -32797,7 +33890,7 @@ msgstr "系统表而不是用户表"
 msgid "Force 2D output even if input is 3D "
 msgstr "强制输出整型值"
 
-#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:270
+#: ../vector/v.out.postgis/args.c:78 ../vector/v.in.ogr/main.c:275
 #: ../vector/v.out.ogr/args.c:116
 msgid "Useful if input is 3D but all z coordinates are identical"
 msgstr ""
@@ -33015,6 +34108,182 @@ msgstr "无法从表中选取数据"
 msgid "Labeled %d lines."
 msgstr ""
 
+#: ../vector/v.cluster/main.c:91
+#, fuzzy
+msgid "point cloud"
+msgstr "未找到任何记录。\n"
+
+#: ../vector/v.cluster/main.c:92
+#, fuzzy
+msgid "cluster"
+msgstr "栅格值"
+
+#: ../vector/v.cluster/main.c:93
+#, fuzzy
+msgid "clump"
+msgstr "%s - 未发现"
+
+#: ../vector/v.cluster/main.c:94
+#, fuzzy
+msgid "Performs cluster identification."
+msgstr "分类结果的文件名称"
+
+#: ../vector/v.cluster/main.c:102
+#, fuzzy
+msgid "Layer number or name for cluster ids"
+msgstr "输入矢量文件的名称"
+
+#: ../vector/v.cluster/main.c:109
+#, fuzzy
+msgid "Maximum distance to neighbors"
+msgstr "点到网络的最小距离"
+
+#: ../vector/v.cluster/main.c:115
+#, fuzzy
+msgid "Minimum number of points to create a cluster"
+msgstr "一个片断最多所能包含的点数"
+
+#: ../vector/v.cluster/main.c:123
+#, fuzzy
+msgid "Clustering method"
+msgstr "相关性"
+
+#: ../vector/v.cluster/main.c:127
+msgid "Force 2D clustering"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:165
+#, fuzzy
+msgid "Minimum number of points must be at least 2"
+msgstr "打印的份数"
+
+#: ../vector/v.cluster/main.c:173
+#, fuzzy, c-format
+msgid "Option %s must be positive"
+msgstr "邻域大小"
+
+#: ../vector/v.cluster/main.c:186
+#, fuzzy
+msgid "Counting input points ..."
+msgstr "读取 %s ..."
+
+#: ../vector/v.cluster/main.c:192
+#, c-format
+msgid "Layer %d is not empty, choose another layer"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:199
+#, fuzzy
+msgid "Not enough points in input, nothing to do"
+msgstr "%d 个点在当前范围之外,将被忽略"
+
+#: ../vector/v.cluster/main.c:216
+#, fuzzy
+msgid "Creating search index ..."
+msgstr "创建一些临时文件 ..."
+
+#: ../vector/v.cluster/main.c:251 ../vector/v.cluster/main.c:456
+#: ../vector/v.cluster/main.c:706
+#, fuzzy, c-format
+msgid "Option %s must be a positive number"
+msgstr "nsteps 必须大于 0,使用 nsteps=255"
+
+#: ../vector/v.cluster/main.c:260 ../vector/v.cluster/main.c:465
+#, fuzzy
+msgid "Estimating maximum distance ..."
+msgstr "点间的最大距离: %f"
+
+#: ../vector/v.cluster/main.c:291 ../vector/v.cluster/main.c:496
+#, fuzzy
+msgid "No neighbors found"
+msgstr "将要导入的二进制栅格文件"
+
+#: ../vector/v.cluster/main.c:301 ../vector/v.cluster/main.c:506
+#, fuzzy, c-format
+msgid "Distance to the %d nearest neighbor:"
+msgstr "点到网络的最小距离"
+
+#: ../vector/v.cluster/main.c:302 ../vector/v.cluster/main.c:507
+#, c-format
+msgid "Min: %g, max: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:303 ../vector/v.cluster/main.c:508
+#, c-format
+msgid "Mean: %g"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:304 ../vector/v.cluster/main.c:509
+#, fuzzy, c-format
+msgid "Standard deviation: %g"
+msgstr "标准偏差"
+
+#: ../vector/v.cluster/main.c:306 ../vector/v.cluster/main.c:511
+#, fuzzy, c-format
+msgid "Estimated maximum distance: %g"
+msgstr "点间的最大距离: %f"
+
+#: ../vector/v.cluster/main.c:310 ../vector/v.cluster/main.c:515
+#: ../vector/v.cluster/main.c:928 ../vector/v.cluster/main.c:1089
+#, fuzzy
+msgid "Building clusters ..."
+msgstr "寻找路径"
+
+#: ../vector/v.cluster/main.c:352 ../vector/v.cluster/main.c:560
+#, c-format
+msgid "nlines: %d, nclusters: %d"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:396 ../vector/v.cluster/main.c:605
+#, fuzzy, c-format
+msgid "No clusters found, adjust option %s"
+msgstr "%d 个点在当前范围之外,将被忽略"
+
+#: ../vector/v.cluster/main.c:432 ../vector/v.cluster/main.c:647
+#: ../vector/v.cluster/main.c:826 ../vector/v.cluster/main.c:998
+#: ../vector/v.cluster/main.c:1152
+#, fuzzy
+msgid "Write out cluster ids ..."
+msgstr "输出栅格地图 %s ... "
+
+#: ../vector/v.cluster/main.c:710
+#, fuzzy
+msgid "Loading points ..."
+msgstr "读取 %s ..."
+
+#: ../vector/v.cluster/main.c:734 ../vector/v.cluster/main.c:878
+msgid "Reachability network ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:746 ../vector/v.cluster/main.c:779
+#: ../vector/v.cluster/main.c:888 ../vector/v.cluster/main.c:1066
+#: ../vector/v.cluster/main.c:1100 ../vector/v.cluster/main.c:1137
+#, fuzzy
+msgid "Not enough points found"
+msgstr "未找到任何记录。\n"
+
+#: ../vector/v.cluster/main.c:807
+msgid "Set cluster ids ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:909
+msgid "Neighbor point's core dist is -1"
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1054
+msgid "Core density ..."
+msgstr ""
+
+#: ../vector/v.cluster/main.c:1178
+#, fuzzy, c-format
+msgid "%d clusters found"
+msgstr "%s - 未发现"
+
+#: ../vector/v.cluster/main.c:1179
+#, fuzzy, c-format
+msgid "%d outliers found"
+msgstr "%s - 未发现"
+
 #: ../vector/v.out.pov/main.c:49
 msgid "Converts GRASS x,y,z points to POV-Ray x,z,y format."
 msgstr ""
@@ -33084,7 +34353,7 @@ msgid "Displaying column types/names for database connection of layer <%s>:"
 msgstr ""
 
 #: ../vector/v.info/print.c:138 ../vector/v.colors.out/make_colors.c:31
-#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:162
+#: ../vector/v.to.rast/vect2rast.c:55 ../vector/v.db.select/main.c:171
 #: ../vector/v.to.3d/trans3.c:51 ../vector/v.to.3d/trans2.c:49
 #: ../vector/v.db.connect/main.c:213 ../vector/v.to.rast3/main.c:80
 #: ../vector/v.distance/main.c:459 ../vector/v.distance/main.c:540
@@ -33380,14 +34649,8 @@ msgstr "%d 条记录被更新"
 msgid "Loading data..."
 msgstr "读取地图"
 
-#: ../vector/v.to.rast/vect2rast.c:48 ../vector/v.colors/main.c:267
-#, fuzzy, c-format
-msgid "Vector map <%s> is not 3D"
-msgstr "矢量地图 %s - 未发现"
-
 #: ../vector/v.to.rast/vect2rast.c:69 ../vector/v.to.rast/support.c:318
 #: ../vector/v.to.rast/support.c:471 ../vector/v.what.rast3/main.c:140
-#: ../vector/v.what.rast/main.c:169
 #, c-format
 msgid "Column <%s> not found"
 msgstr "字段 <%s> 未找到"
@@ -33443,17 +34706,17 @@ msgstr "为 %s 创建支持文件"
 msgid "Color can be updated from database only if use=attr"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:219
+#: ../vector/v.to.rast/vect2rast.c:224
 #, c-format
 msgid "Converted areas: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/vect2rast.c:222
+#: ../vector/v.to.rast/vect2rast.c:231
 #, c-format
 msgid "Converted points/lines: %d of %d"
 msgstr ""
 
-#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:28
+#: ../vector/v.to.rast/do_areas.c:34 ../vector/v.to.db/areas.c:27
 #, fuzzy
 msgid "Reading areas..."
 msgstr "读取地图"
@@ -33621,78 +34884,78 @@ msgstr "列参数不能与z坐标同时使用"
 msgid "Unknown option '%s'"
 msgstr "未知的类型"
 
-#: ../vector/v.net.salesman/main.c:128
+#: ../vector/v.net.salesman/main.c:129
 msgid "salesman"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:130
+#: ../vector/v.net.salesman/main.c:131
 msgid "Creates a cycle connecting given nodes (Traveling salesman problem)."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:132
+#: ../vector/v.net.salesman/main.c:133
 msgid ""
 "Note that TSP is NP-hard, heuristic algorithm is used by this module and "
 "created cycle may be sub optimal"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:151
+#: ../vector/v.net.salesman/main.c:142
+msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
+msgstr ""
+
+#: ../vector/v.net.salesman/main.c:162
 #, fuzzy
 msgid "Node layer (used for cities)"
 msgstr "色调图层的名称"
 
-#: ../vector/v.net.salesman/main.c:163
+#: ../vector/v.net.salesman/main.c:176
 msgid "EXPERIMENTAL: Arc backward direction cost column (number)"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:169
+#: ../vector/v.net.salesman/main.c:203
 #, fuzzy
 msgid "Name for output file holding node sequence (\"-\" for stdout)"
 msgstr "输出的二进制地图的名称 (output=- 用于标准输出)"
 
-#: ../vector/v.net.salesman/main.c:174
-msgid "Categories of points ('cities') on nodes (layer is specified by nlayer)"
-msgstr ""
-
-#: ../vector/v.net.salesman/main.c:250
+#: ../vector/v.net.salesman/main.c:286
 #, fuzzy, c-format
 msgid "Number of cities: %d"
 msgstr "输入点的数目:%d"
 
-#: ../vector/v.net.salesman/main.c:252
+#: ../vector/v.net.salesman/main.c:288
 #, fuzzy
 msgid "Not enough cities (< 2)"
 msgstr "类别字段的名称"
 
-#: ../vector/v.net.salesman/main.c:288
+#: ../vector/v.net.salesman/main.c:328
 #, fuzzy
 msgid "Creating cost cache..."
 msgstr "创建一些临时文件 ..."
 
-#: ../vector/v.net.salesman/main.c:309 ../vector/v.net.salesman/main.c:319
+#: ../vector/v.net.salesman/main.c:357 ../vector/v.net.salesman/main.c:371
 #, fuzzy, c-format
 msgid "No point at node %d"
 msgstr "%d 个点没有类别,将被忽略"
 
-#: ../vector/v.net.salesman/main.c:313 ../vector/v.net.salesman/main.c:323
+#: ../vector/v.net.salesman/main.c:361 ../vector/v.net.salesman/main.c:375
 #, fuzzy, c-format
 msgid "No category for point at node %d"
 msgstr "没有线记录(类别 = %d)"
 
-#: ../vector/v.net.salesman/main.c:325
+#: ../vector/v.net.salesman/main.c:378
 #, fuzzy, c-format
 msgid "Destination node [cat %d] is unreachable from node [cat %d]"
 msgstr "目的地无法到达\n"
 
-#: ../vector/v.net.salesman/main.c:368
+#: ../vector/v.net.salesman/main.c:421
 msgid "Searching for the shortest cycle..."
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:496
+#: ../vector/v.net.salesman/main.c:555
 #, c-format
 msgid "Cycle with total cost %.3f"
 msgstr ""
 
-#: ../vector/v.net.salesman/main.c:521 ../vector/v.rectify/main.c:170
+#: ../vector/v.net.salesman/main.c:580 ../vector/v.rectify/main.c:170
 #, fuzzy, c-format
 msgid "Unable to open file '%s' for writing"
 msgstr "无法找到文件 [%s]。"
@@ -33864,6 +35127,21 @@ msgstr "选择类型:线 或 面"
 msgid "Densify lines using region resolution"
 msgstr ""
 
+#: ../vector/v.in.pdal/filters.c:46
+#, fuzzy, c-format
+msgid "4 values required for '%s' option"
+msgstr "'spatial' 选项需要 4 个参数。"
+
+#: ../vector/v.in.pdal/filters.c:95 ../vector/v.in.lidar/filters.c:36
+#, fuzzy, c-format
+msgid "Unknown return filter value <%s>"
+msgstr "未知的类型"
+
+#: ../vector/v.in.pdal/projection.c:125
+#, fuzzy
+msgid "Overriding projection check"
+msgstr "无法获取栅格行\n"
+
 #: ../vector/v.category/main.c:77 ../vector/v.db.connect/main.c:55
 #, fuzzy
 msgid "layer"
@@ -33983,7 +35261,7 @@ msgid "Processing features..."
 msgstr "绘制 ... "
 
 #: ../vector/v.category/main.c:364 ../vector/v.delaunay/main.c:172
-#: ../vector/v.in.ogr/main.c:1415
+#: ../vector/v.in.ogr/main.c:1428
 #, fuzzy
 msgid "Unable to calculate area centroid"
 msgstr "无法计算面的质心"
@@ -34057,7 +35335,7 @@ msgstr ""
 msgid "Max value (%d) is out of range %d,%d"
 msgstr ""
 
-#: ../vector/v.colors/write_rgb.c:37
+#: ../vector/v.colors/write_rgb.c:37 ../vector/v.what.rast/main.c:176
 #, fuzzy, c-format
 msgid "Unable to add column <%s> to table <%s>"
 msgstr "无法打开输出文件 <%s>"
@@ -34455,7 +35733,7 @@ msgstr "%d 个点没有类别,将被忽略"
 msgid "%d records updated"
 msgstr "%d 条记录被更新"
 
-#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:662
+#: ../vector/v.vect.stats/main.c:710 ../vector/v.what.rast/main.c:673
 #: ../vector/v.distance/main.c:1670
 #, c-format
 msgid "%d update errors"
@@ -34561,9 +35839,10 @@ msgstr "未知的类型"
 msgid "Unable to tokenize column string: [%s]"
 msgstr "无法打开输出文件 <%s>"
 
-#: ../vector/v.transform/main.c:277
+#: ../vector/v.transform/main.c:277 ../vector/v.to.3d/trans3.c:80
+#: ../vector/v.to.3d/trans2.c:79
 #, fuzzy
-msgid "Tranforming features..."
+msgid "Transforming features..."
 msgstr "读取地图"
 
 #: ../vector/v.transform/main.c:290
@@ -34991,7 +36270,7 @@ msgstr "打开 g3d 文件时发生错误"
 msgid "Column type not supported, please use a column with double type"
 msgstr "字段类型不支持 (%s)"
 
-#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:194
+#: ../vector/v.what.rast3/main.c:157 ../vector/v.what.rast/main.c:205
 #, fuzzy
 msgid "Reading features from vector map..."
 msgstr "读取地图"
@@ -35075,6 +36354,10 @@ msgstr "列数"
 
 #: ../vector/v.net.centrality/main.c:149 ../vector/v.net.centrality/main.c:155
 #: ../vector/v.net.centrality/main.c:161 ../vector/v.net.centrality/main.c:167
+#: ../vector/v.out.lidar/main.c:565 ../vector/v.out.lidar/main.c:571
+#: ../vector/v.out.lidar/main.c:577 ../vector/v.out.lidar/main.c:584
+#: ../vector/v.out.lidar/main.c:590 ../vector/v.out.lidar/main.c:596
+#: ../vector/v.out.lidar/main.c:602
 #, fuzzy
 msgid "Columns"
 msgstr "列名"
@@ -35145,55 +36428,60 @@ msgstr ""
 msgid "Print categories and values instead of updating the database"
 msgstr "打印平均值而不是间隔值"
 
-#: ../vector/v.what.rast/main.c:175
+#: ../vector/v.what.rast/main.c:169
+#, fuzzy, c-format
+msgid "Column <%s> not found in the table <%s>. Creating..."
+msgstr "字段 <%s> 未找到"
+
+#: ../vector/v.what.rast/main.c:185
 msgid "Raster type is integer and column type is float"
 msgstr "栅格类型是整型,而字段类型是浮点型"
 
-#: ../vector/v.what.rast/main.c:178
+#: ../vector/v.what.rast/main.c:188
 msgid "Raster type is float and column type is integer, some data lost!!"
 msgstr "栅格类型是浮点型,而字段类型是整型,某些数据丢失!!"
 
-#: ../vector/v.what.rast/main.c:245
+#: ../vector/v.what.rast/main.c:256
 #, fuzzy, c-format
 msgid "No features of type (%s) found in vector map <%s>"
 msgstr "无法找到输入的矢量地图 <%s>"
 
-#: ../vector/v.what.rast/main.c:269
+#: ../vector/v.what.rast/main.c:280
 #, fuzzy, c-format
 msgid "%d points outside current region were skipped"
 msgstr "%d 个点在当前范围之外,将被忽略"
 
-#: ../vector/v.what.rast/main.c:273
+#: ../vector/v.what.rast/main.c:284
 #, fuzzy, c-format
 msgid "%d points without category were skipped"
 msgstr "%d 个点没有类别,将被忽略"
 
-#: ../vector/v.what.rast/main.c:544 ../vector/v.what.rast/main.c:584
+#: ../vector/v.what.rast/main.c:555 ../vector/v.what.rast/main.c:595
 #, fuzzy, c-format
 msgid "Multiple points (%d) of category %d, value set to 'NULL'"
 msgstr "更多的点 (%d) [类别为 %d],其值设置为 'NULL'·"
 
-#: ../vector/v.what.rast/main.c:652
+#: ../vector/v.what.rast/main.c:663
 #, c-format
 msgid "%d categories loaded from vector"
 msgstr "%d 个类别从矢量中加载"
 
-#: ../vector/v.what.rast/main.c:654
+#: ../vector/v.what.rast/main.c:665
 #, fuzzy, c-format
 msgid "%d duplicate categories in vector map <%s>"
 msgstr "矢量中有 %d 个重复的类别"
 
-#: ../vector/v.what.rast/main.c:658
+#: ../vector/v.what.rast/main.c:669
 #, c-format
 msgid "%d categories loaded from table"
 msgstr "%d 个类别从表中加载"
 
-#: ../vector/v.what.rast/main.c:659
+#: ../vector/v.what.rast/main.c:670
 #, c-format
 msgid "%d categories from vector missing in table"
 msgstr "矢量中的 %d 个类别在表中缺失"
 
-#: ../vector/v.what.rast/main.c:664 ../vector/v.distance/main.c:1672
+#: ../vector/v.what.rast/main.c:675 ../vector/v.distance/main.c:1672
 #, fuzzy, c-format
 msgid "%d records updated."
 msgstr "%d 条记录被更新"
@@ -36068,53 +37356,62 @@ msgid ""
 "instead of native GRASS-PostGIS data driver."
 msgstr ""
 
-#: ../vector/v.db.select/main.c:57
+#: ../vector/v.db.select/main.c:58
 #, fuzzy
 msgid "Prints vector map attributes."
 msgstr "打印矢量的属性"
 
+#: ../vector/v.db.select/main.c:61 ../vector/v.db.select/main.c:79
+#: ../vector/v.db.select/main.c:93
+msgid "Main"
+msgstr ""
+
 #: ../vector/v.db.select/main.c:75
+msgid "GROUP BY conditions of SQL statement without 'group by' keyword"
+msgstr ""
+
+#: ../vector/v.db.select/main.c:83
 msgid "Output vertical record separator"
 msgstr "输出的垂直方向的记录分隔符"
 
-#: ../vector/v.db.select/main.c:91
+#: ../vector/v.db.select/main.c:100
 msgid ""
 "Print minimal region extent of selected vector features instead of attributes"
 msgstr ""
 
-#: ../vector/v.db.select/main.c:92
+#: ../vector/v.db.select/main.c:101
 #, fuzzy
 msgid "Region"
 msgstr "读取 %s ..."
 
-#: ../vector/v.db.select/main.c:106
+#: ../vector/v.db.select/main.c:115
 #, fuzzy
 msgid "Exclude attributes not linked to features"
 msgstr "3D 矢量对象的固定高度"
 
-#: ../vector/v.db.select/main.c:148
+#: ../vector/v.db.select/main.c:157
 #, fuzzy, c-format
 msgid ""
 "Unable to open vector map <%s> at topology level. Flag '%c' requires "
 "topology level."
 msgstr "无法打开矢量文件<%s>在<%s>中"
 
-#: ../vector/v.db.select/main.c:190
+#: ../vector/v.db.select/main.c:208
 #, fuzzy
 msgid "Unable to open select cursor"
 msgstr "无法打开选择游标:'%s'"
 
-#: ../vector/v.db.select/main.c:211 ../vector/v.reclass/main.c:267
+#: ../vector/v.db.select/main.c:229 ../vector/v.reclass/main.c:267
 #, fuzzy, c-format
 msgid "Unable to fetch data from table <%s>"
 msgstr "无法从表中选取数据"
 
-#: ../vector/v.db.select/main.c:268
+#: ../vector/v.db.select/main.c:286
 #, fuzzy, c-format
 msgid "Unable to get bounding box of area %d"
 msgstr "无法找到矢量地图 [%s]"
 
-#: ../vector/v.db.select/main.c:274
+#: ../vector/v.db.select/main.c:292
 #, fuzzy, c-format
 msgid "Unable to get bounding box of line %d"
 msgstr "无法打开 ascii 文件 [%s]"
@@ -36407,7 +37704,7 @@ msgid_plural "%d records selected from table"
 msgstr[0] "从表中选取了%d条记录"
 msgstr[1] "从表中选取了%d条记录"
 
-#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:305
+#: ../vector/v.sample/main.c:190 ../vector/v.patch/main.c:321
 #, fuzzy, c-format
 msgid "Unable to create table <%s>"
 msgstr "不能创建输出地图 <%s>"
@@ -36433,19 +37730,19 @@ msgstr "图层 <%d> 的数据库连接未定义。请先使用 v.db.connect"
 msgid "Querying database... "
 msgstr "读取 %s ..."
 
-#: ../vector/v.to.db/query.c:108
+#: ../vector/v.to.db/query.c:109
 #, c-format
 msgid ""
 "Query for category '0' (no category) was not executed because of too many "
 "(%d) query categories. All later reported values for cat 0 are not valid."
 msgstr ""
 
-#: ../vector/v.to.db/query.c:145
+#: ../vector/v.to.db/query.c:146
 #, c-format
 msgid "Multiple query results, output value set to NULL (category [%d])"
 msgstr ""
 
-#: ../vector/v.to.db/query.c:152
+#: ../vector/v.to.db/query.c:153
 #, fuzzy
 msgid "Unable to fetch record"
 msgstr "无法获取数据"
@@ -36462,6 +37759,11 @@ msgid ""
 "maps from different mapsets."
 msgstr ""
 
+#: ../vector/v.to.db/main.c:105
+#, fuzzy, c-format
+msgid "Category index for vector map <%s> is not sorted"
+msgstr "未找到栅格图<%s>"
+
 #: ../vector/v.to.db/update.c:83
 #, fuzzy
 msgid "Updating database..."
@@ -36739,7 +38041,8 @@ msgstr ""
 msgid " Database connection not defined for layer <%s>"
 msgstr "数据库连接未定义"
 
-#: ../vector/v.univar/main.c:358
+#: ../vector/v.univar/main.c:358 ../vector/v.out.lidar/main.c:122
+#: ../vector/v.out.lidar/main.c:159
 #, fuzzy
 msgid "Only numeric column type is supported"
 msgstr "列的类型不支持"
@@ -36759,58 +38062,58 @@ msgstr "%d 个点没有类别,将被忽略"
 msgid "Wrong input format: %s"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:188
+#: ../vector/v.net.path/path.c:168 ../vector/v.net.path/path.c:190
 #, fuzzy, c-format
 msgid "No point with category [%d]"
 msgstr "%d 个点没有类别,将被忽略"
 
-#: ../vector/v.net.path/path.c:209
+#: ../vector/v.net.path/path.c:220
 #, c-format
 msgid "Point with category [%d] is not reachable from point with category [%d]"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:266
+#: ../vector/v.net.path/path.c:287
 #, c-format
 msgid "Point %f,%f is not reachable from point %f,%f"
 msgstr ""
 
-#: ../vector/v.net.path/path.c:330
+#: ../vector/v.net.path/path.c:351
 #, fuzzy, c-format
 msgid "[%d] input format errors"
 msgstr "%d 条记录更新时发生错误"
 
-#: ../vector/v.net.path/path.c:332
+#: ../vector/v.net.path/path.c:353
 #, fuzzy, c-format
 msgid "[%d] points of given category missing"
 msgstr "%d 个点没有类别,将被忽略"
 
-#: ../vector/v.net.path/path.c:334
+#: ../vector/v.net.path/path.c:355
 #, c-format
 msgid "%d destination(s) unreachable (including points out of threshold)"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:43
+#: ../vector/v.net.path/main.c:45
 msgid "Finds shortest path on vector network."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:66
+#: ../vector/v.net.path/main.c:72
 msgid ""
 "Name of file containing start and end points. If not given, read from stdin"
 msgstr ""
 
-#: ../vector/v.net.path/main.c:95
+#: ../vector/v.net.path/main.c:101
 #, fuzzy
 msgid "Maximum distance to the network"
 msgstr "点到网络的最小距离"
 
-#: ../vector/v.net.path/main.c:96
+#: ../vector/v.net.path/main.c:102
 msgid ""
 "If start/end are given as coordinates. If start/end point is outside this "
 "threshold, the path is not found and error message is printed. To speed up "
 "the process, keep this value as low as possible."
 msgstr ""
 
-#: ../vector/v.net.path/main.c:109
+#: ../vector/v.net.path/main.c:136
 msgid "Write output as original input segments, not each path as one line."
 msgstr ""
 
@@ -37400,46 +38703,50 @@ msgstr "一个片断最多所能包含的点数"
 msgid "Add new vertices, but do not split"
 msgstr ""
 
-#: ../vector/v.split/main.c:94
+#: ../vector/v.split/main.c:94 ../vector/v.split/main.c:99
 msgid "Applies only to 'length' option"
 msgstr ""
 
-#: ../vector/v.split/main.c:101
+#: ../vector/v.split/main.c:98
+msgid "Force segments to be exactly of given length, except for last one"
+msgstr ""
+
+#: ../vector/v.split/main.c:108
 #, fuzzy
 msgid "Use either length or vertices"
 msgstr "写入线的结点"
 
-#: ../vector/v.split/main.c:108
+#: ../vector/v.split/main.c:115
 #, fuzzy, c-format
 msgid "Length must be positive but is %g"
 msgstr "平滑必须使用正值"
 
-#: ../vector/v.split/main.c:124
+#: ../vector/v.split/main.c:131
 #, fuzzy, c-format
 msgid "Unknown unit %s"
 msgstr "未知的类型"
 
-#: ../vector/v.split/main.c:142
+#: ../vector/v.split/main.c:149
 #, fuzzy
 msgid "Can not get projection units"
 msgstr "无法获得当前区域的投影单位"
 
-#: ../vector/v.split/main.c:149
+#: ../vector/v.split/main.c:156
 #, fuzzy, c-format
 msgid "Length in map units: %g"
 msgstr "长度%f\n"
 
-#: ../vector/v.split/main.c:151
+#: ../vector/v.split/main.c:158
 #, fuzzy, c-format
 msgid "Length in meters: %g"
 msgstr "长度%f\n"
 
-#: ../vector/v.split/main.c:157
+#: ../vector/v.split/main.c:164
 #, fuzzy
 msgid "Number of vertices must be at least 2"
 msgstr "打印的份数"
 
-#: ../vector/v.split/main.c:235
+#: ../vector/v.split/main.c:250
 #, fuzzy, c-format
 msgid "Unable to make line segment: %f - %f (line length = %f)"
 msgstr "无法创建文件 [%s]"
@@ -37539,11 +38846,6 @@ msgstr "x/y/z 字段必须是整型或双精度的"
 msgid "Reading categories..."
 msgstr "分类...\n"
 
-#: ../vector/v.to.3d/trans3.c:80 ../vector/v.to.3d/trans2.c:79
-#, fuzzy
-msgid "Transforming features..."
-msgstr "读取地图"
-
 #: ../vector/v.to.3d/trans3.c:101
 #, fuzzy, c-format
 msgid "Feature id %d has no category - skipping"
@@ -37723,7 +39025,7 @@ msgid "Interpolate points between line vertices (only for use=vertex)"
 msgstr "在线的结点间内插点"
 
 #: ../vector/v.to.points/main.c:155 ../vector/v.extract/copy_tab.c:108
-#: ../vector/v.generalize/misc.c:174
+#: ../vector/v.generalize/misc.c:184
 #, fuzzy, c-format
 msgid "Unable to copy table <%s>"
 msgstr "无法打开输出文件 <%s>"
@@ -37980,222 +39282,243 @@ msgid ""
 "database, table [, key [, layer]]"
 msgstr ""
 
-#: ../vector/v.proj/main.c:70
+#: ../vector/v.proj/main.c:71
 #, fuzzy
 msgid "Re-projects a vector map from one location to the current location."
 msgstr "将栅格图从一个区域重投影到当前区域"
 
-#: ../vector/v.proj/main.c:76
+#: ../vector/v.proj/main.c:77
 #, fuzzy
 msgid "Location containing input vector map"
 msgstr "输入地图的区域"
 
-#: ../vector/v.proj/main.c:80
+#: ../vector/v.proj/main.c:81
 #, fuzzy
 msgid "Mapset containing input vector map"
 msgstr "输入的 2D 矢量地图的名称"
 
-#: ../vector/v.proj/main.c:86
+#: ../vector/v.proj/main.c:87
 #, fuzzy
 msgid "Name of input vector map to re-project"
 msgstr "输入栅格图的名称"
 
-#: ../vector/v.proj/main.c:98
+#: ../vector/v.proj/main.c:99
 #, fuzzy
 msgid "Maximum segment length in meters in output vector map"
 msgstr "输入的 2D 矢量地图的名称"
 
-#: ../vector/v.proj/main.c:99
+#: ../vector/v.proj/main.c:100
 msgid "Increases accuracy of reprojected shapes, disable with smax=0"
 msgstr ""
 
-#: ../vector/v.proj/main.c:109
+#: ../vector/v.proj/main.c:110
 #, fuzzy
 msgid "List vector maps in input mapset and exit"
 msgstr "列出输入区域内的栅格文件并退出"
 
-#: ../vector/v.proj/main.c:113
+#: ../vector/v.proj/main.c:114
 #, fuzzy
 msgid "3D vector maps only"
 msgstr "无法找到矢量地图 [%s]"
 
-#: ../vector/v.proj/main.c:115
+#: ../vector/v.proj/main.c:116
 msgid "Assume z coordinate is ellipsoidal height and transform if possible"
 msgstr ""
 
-#: ../vector/v.proj/main.c:121
+#: ../vector/v.proj/main.c:122
 msgid "Latlon output only, default is -180,180"
 msgstr ""
 
-#: ../vector/v.proj/main.c:123
+#: ../vector/v.proj/main.c:124
 msgid "Disable wrapping to -180,180 for latlon output"
 msgstr ""
 
-#: ../vector/v.proj/main.c:193
+#: ../vector/v.proj/main.c:194
 #, fuzzy
 msgid "No vector maps found"
 msgstr "将要导入的二进制栅格文件"
 
-#: ../vector/v.proj/main.c:206
+#: ../vector/v.proj/main.c:207
 #, fuzzy, c-format
 msgid "Vector map <%s> in location <%s> mapset <%s> not found"
 msgstr "矢量文件 [%s] 不可用"
 
-#: ../vector/v.proj/main.c:236
+#: ../vector/v.proj/main.c:237
 #, c-format
 msgid "Mapset <%s> in input location <%s> - permission denied"
 msgstr ""
 
-#: ../vector/v.proj/main.c:239
+#: ../vector/v.proj/main.c:240
 #, fuzzy, c-format
 msgid "Mapset <%s> in input location <%s> not found"
 msgstr "未发现输入的矢量"
 
-#: ../vector/v.proj/main.c:284 ../vector/v.proj/main.c:410
+#: ../vector/v.proj/main.c:285 ../vector/v.proj/main.c:411
 #: ../vector/v.rectify/main.c:233
 #, fuzzy
 msgid "Reading input vector map"
 msgstr "无法打开输入的dig文件。"
 
-#: ../vector/v.proj/main.c:307
+#: ../vector/v.proj/main.c:308
 #, fuzzy, c-format
 msgid "Input vector map <%s> is empty"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../vector/v.proj/main.c:315 ../vector/v.proj/main.c:326
-#: ../vector/v.proj/main.c:341 ../vector/v.proj/main.c:356
+#: ../vector/v.proj/main.c:316 ../vector/v.proj/main.c:327
+#: ../vector/v.proj/main.c:342 ../vector/v.proj/main.c:357
 msgid "Error in pj_do_transform"
 msgstr ""
 
-#: ../vector/v.proj/main.c:401
+#: ../vector/v.proj/main.c:402
 #, fuzzy
 msgid "Reprojecting primitives ..."
 msgstr "创建一些临时文件 ..."
 
-#: ../vector/v.proj/main.c:438 ../vector/v.proj/main.c:445
-#: ../vector/v.proj/main.c:471 ../vector/v.proj/main.c:485
+#: ../vector/v.proj/main.c:439 ../vector/v.proj/main.c:446
+#: ../vector/v.proj/main.c:472 ../vector/v.proj/main.c:486
 #, fuzzy, c-format
 msgid "Unable to re-project vector map <%s> from <%s>"
 msgstr "无法找到矢量地图 [%s]"
 
-#: ../vector/v.proj/main.c:504
+#: ../vector/v.proj/main.c:505
 msgid "Try to disable wrapping to -180,180 if topological errors occurred"
 msgstr ""
 
-#: ../vector/v.patch/main.c:70
+#: ../vector/v.patch/main.c:71
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
 msgstr "将GRASS矢量图层转化为GRASS栅格图层。"
 
-#: ../vector/v.patch/main.c:81
+#: ../vector/v.patch/main.c:82
 #, fuzzy
 msgid ""
 "Name for output vector map where bounding boxes of input vector maps are "
 "written to"
 msgstr "用来存放错误信息的输出地图的名称"
 
-#: ../vector/v.patch/main.c:85
-msgid ""
-"Append files to existing file (overwriting existing files must be activated)"
+#: ../vector/v.patch/main.c:86
+#, fuzzy
+msgid "Do not expect input with topology"
+msgstr "点模式下不建立拓扑"
+
+#: ../vector/v.patch/main.c:88
+msgid "Applicable when input is points without topology"
 msgstr ""
 
-#: ../vector/v.patch/main.c:90
+#: ../vector/v.patch/main.c:92
+msgid "Expect z coordinate even when not using topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:94
+msgid "Applicable when input is points with z coordinate but without topology"
+msgstr ""
+
+#: ../vector/v.patch/main.c:98
 #, fuzzy
 msgid "Copy also attribute table"
 msgstr "无法创建属性表"
 
-#: ../vector/v.patch/main.c:92
+#: ../vector/v.patch/main.c:100
 msgid "Only the table of layer 1 is currently supported"
 msgstr ""
 
-#: ../vector/v.patch/main.c:199
+#: ../vector/v.patch/main.c:104
+msgid ""
+"Append files to existing file (overwriting existing files must be activated)"
+msgstr ""
+
+#: ../vector/v.patch/main.c:108
+msgid "Advantageous when handling a large number of points"
+msgstr ""
+
+#: ../vector/v.patch/main.c:215
 msgid "Missing table"
 msgstr ""
 
-#: ../vector/v.patch/main.c:203
+#: ../vector/v.patch/main.c:219
 #, fuzzy
 msgid "Key columns differ"
 msgstr "y 字段的名称"
 
-#: ../vector/v.patch/main.c:209
+#: ../vector/v.patch/main.c:225
 #, fuzzy
 msgid "Number of columns differ"
 msgstr "列数"
 
-#: ../vector/v.patch/main.c:221
+#: ../vector/v.patch/main.c:237
 #, fuzzy
 msgid "Column names differ"
 msgstr "列名"
 
-#: ../vector/v.patch/main.c:229
+#: ../vector/v.patch/main.c:245
 #, fuzzy
 msgid "Column types differ"
 msgstr "列名"
 
-#: ../vector/v.patch/main.c:234
+#: ../vector/v.patch/main.c:250
 #, fuzzy
 msgid "Length of string columns differ"
 msgstr "列数"
 
-#: ../vector/v.patch/main.c:248
+#: ../vector/v.patch/main.c:264
 #, fuzzy
 msgid "Key column not found"
 msgstr "关键字段 '%s' 未找到"
 
-#: ../vector/v.patch/main.c:260
+#: ../vector/v.patch/main.c:276
 #, fuzzy
 msgid "The output map is not 3D"
 msgstr "没有输出地图"
 
-#: ../vector/v.patch/main.c:332
+#: ../vector/v.patch/main.c:348
 #, fuzzy, c-format
 msgid "Patching vector map <%s>..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.patch/main.c:356
+#: ../vector/v.patch/main.c:372
 #, c-format
 msgid "Error reading vector map <%s> - some data may not be correct"
 msgstr ""
 
-#: ../vector/v.patch/main.c:409
+#: ../vector/v.patch/main.c:425
 #, fuzzy, c-format
 msgid "Building topology for vector map <%s>..."
 msgstr "矢量文件读取错误"
 
-#: ../vector/v.patch/main.c:415
+#: ../vector/v.patch/main.c:431
 msgid "Intersections at borders will have to be snapped"
 msgstr ""
 
-#: ../vector/v.patch/main.c:416
+#: ../vector/v.patch/main.c:432
 msgid "Lines common between files will have to be edited"
 msgstr ""
 
-#: ../vector/v.patch/main.c:417
+#: ../vector/v.patch/main.c:433
 #, fuzzy
 msgid "The header information also may have to be edited"
 msgstr "范围信息无效 (请运行 r.support)"
 
-#: ../vector/v.patch/main.c:419
+#: ../vector/v.patch/main.c:435
 #, fuzzy, c-format
 msgid "%d vector maps patched"
 msgstr "%d 条记录被更新"
 
-#: ../vector/v.patch/main.c:442
+#: ../vector/v.patch/main.c:458
 #, c-format
 msgid "Cannot open select cursor: '%s'"
 msgstr "无法打开选择游标:'%s'"
 
-#: ../vector/v.patch/main.c:454
+#: ../vector/v.patch/main.c:470
 #, fuzzy
 msgid "Cannot fetch row"
 msgstr "无法获取数据"
 
-#: ../vector/v.patch/main.c:504
+#: ../vector/v.patch/main.c:520
 #, fuzzy
 msgid "Unknown column type"
 msgstr "未知的类型"
 
-#: ../vector/v.patch/main.c:512
+#: ../vector/v.patch/main.c:528
 #, fuzzy, c-format
 msgid "Cannot insert new record: '%s'"
 msgstr "无法插入新行:%s"
@@ -38867,17 +40190,12 @@ msgstr[1] "读取%-5d个质心\n"
 msgid "Operation not implemented"
 msgstr "未发现区域<%s>"
 
-#: ../vector/v.in.ogr/main.c:136
+#: ../vector/v.in.ogr/main.c:138
 #, fuzzy
 msgid "Imports vector data into a GRASS vector map using OGR library."
 msgstr "将GRASS矢量图层转化为GRASS栅格图层。"
 
-#: ../vector/v.in.ogr/main.c:142
-#, fuzzy
-msgid "OGR datasource name"
-msgstr "数据库名称"
-
-#: ../vector/v.in.ogr/main.c:143
+#: ../vector/v.in.ogr/main.c:145
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -38888,7 +40206,7 @@ msgstr ""
 "\t\tESRI Shapefile:包含 shapefiles 的目录\n"
 "\t\tMapInfo File:包含 mapinfo 文件的目录"
 
-#: ../vector/v.in.ogr/main.c:155
+#: ../vector/v.in.ogr/main.c:158
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -38899,288 +40217,288 @@ msgstr ""
 "\t\tESRI Shapefile:shapefile 的名称\n"
 "\t\tMapInfo File:mapinfo 文件名称"
 
-#: ../vector/v.in.ogr/main.c:169 ../vector/v.in.lidar/main.c:173
+#: ../vector/v.in.ogr/main.c:173 ../vector/v.in.lidar/main.c:180
 #, fuzzy
 msgid "Import subregion only"
 msgstr "只打印栅格图的区域"
 
-#: ../vector/v.in.ogr/main.c:172 ../vector/v.in.lidar/main.c:176
+#: ../vector/v.in.ogr/main.c:176 ../vector/v.in.lidar/main.c:183
 #, fuzzy
 msgid "Format: xmin,ymin,xmax,ymax - usually W,S,E,N"
 msgstr "只导入子区域 (xmin,ymin,xmax,ymax  - 通常为 W,S,E,N)"
 
-#: ../vector/v.in.ogr/main.c:183
+#: ../vector/v.in.ogr/main.c:187
 #, fuzzy
 msgid "Minimum size of area to be imported (square meters)"
 msgstr "输入值:外流域的最小值"
 
-#: ../vector/v.in.ogr/main.c:185
+#: ../vector/v.in.ogr/main.c:189
 #, fuzzy
 msgid "Smaller areas and islands are ignored. Should be greater than snap^2"
 msgstr "导入的最小的面 (平方单位)。更小的面和岛会被忽略。应该大于 snap^2"
 
-#: ../vector/v.in.ogr/main.c:191
+#: ../vector/v.in.ogr/main.c:195
 #, fuzzy
 msgid "Optionally change default input type"
 msgstr "输出栅格文件的标题"
 
-#: ../vector/v.in.ogr/main.c:195
+#: ../vector/v.in.ogr/main.c:199
 #, fuzzy
 msgid "import area centroids as points"
 msgstr "没有起始点"
 
-#: ../vector/v.in.ogr/main.c:196
+#: ../vector/v.in.ogr/main.c:200
 #, fuzzy
 msgid "import area boundaries as lines"
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:197
+#: ../vector/v.in.ogr/main.c:201
 #, fuzzy
 msgid "import lines as area boundaries"
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:198
+#: ../vector/v.in.ogr/main.c:202
 #, fuzzy
 msgid "import points as centroids"
 msgstr "移除 [%s] 的空文件...\n"
 
-#: ../vector/v.in.ogr/main.c:219
+#: ../vector/v.in.ogr/main.c:224
 msgid ""
 "List of column names to be used instead of original names, first is used for "
 "category column"
 msgstr "列出使用的字段名称,而不是原始名称,第一个用于类别字段"
 
-#: ../vector/v.in.ogr/main.c:238
+#: ../vector/v.in.ogr/main.c:243
 #, fuzzy
 msgid "Name of column used for categories"
 msgstr "用来创建标签的属性字段的名称"
 
-#: ../vector/v.in.ogr/main.c:240
+#: ../vector/v.in.ogr/main.c:245
 msgid ""
 "If not given, categories are generated as unique values and stored in 'cat' "
 "column"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:245
+#: ../vector/v.in.ogr/main.c:250
 #, fuzzy
 msgid "Name of geometry column"
 msgstr "列数"
 
-#: ../vector/v.in.ogr/main.c:246
+#: ../vector/v.in.ogr/main.c:251
 #, fuzzy
 msgid "If not given, all geometry columns from the input are used"
 msgstr "读取%-5d个点类别\n"
 
-#: ../vector/v.in.ogr/main.c:264
+#: ../vector/v.in.ogr/main.c:269
 msgid "Do not clean polygons (not recommended)"
 msgstr "不清理多边形 (不推荐)"
 
-#: ../vector/v.in.ogr/main.c:269
+#: ../vector/v.in.ogr/main.c:274
 #, fuzzy
 msgid "Force 2D output even if input is 3D"
 msgstr "强制输出整型值"
 
-#: ../vector/v.in.ogr/main.c:291 ../vector/v.in.lidar/main.c:219
+#: ../vector/v.in.ogr/main.c:298 ../vector/v.in.lidar/main.c:278
 #, fuzzy
 msgid "Limit import to the current region"
 msgstr "不更新当前区域"
 
-#: ../vector/v.in.ogr/main.c:303
+#: ../vector/v.in.ogr/main.c:310
 msgid "Change column names to lowercase characters"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:309 ../vector/v.in.lidar/main.c:229
+#: ../vector/v.in.ogr/main.c:316 ../vector/v.in.lidar/main.c:314
 msgid ""
 "Create the location specified by the \"location\" parameter and exit. Do not "
 "import the vector data."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:366
-msgid ""
-"Database not defined, please check default  connection settings by db.connect"
-msgstr ""
-
-#: ../vector/v.in.ogr/main.c:435
+#: ../vector/v.in.ogr/main.c:408
 #, fuzzy, c-format
 msgid "Unable to open data source <%s>"
 msgstr "无法创建栅格地图 %s"
 
-#: ../vector/v.in.ogr/main.c:440
+#: ../vector/v.in.ogr/main.c:413
 #, c-format
 msgid ""
 "Option <%s> will be ignored. OGR doesn't support it for selected format (%s)."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:445
+#: ../vector/v.in.ogr/main.c:418
 #, c-format
 msgid ""
 "Option <%s> will be ignored. Multiple geometry fields are supported by GDAL "
 ">= 1.11"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:458
+#: ../vector/v.in.ogr/main.c:431
 #, fuzzy, c-format
 msgid "Encoding value not supported by OGR driver <%s>"
 msgstr "游标位置不被MySQL驱动器支持"
 
-#: ../vector/v.in.ogr/main.c:467
+#: ../vector/v.in.ogr/main.c:440
 #, c-format
 msgid "Data source <%s> (format '%s') contains %d layers:"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:506 ../vector/v.external/main.c:135
+#: ../vector/v.in.ogr/main.c:479 ../vector/v.external/main.c:122
 #, fuzzy, c-format
 msgid "Layer <%s> not available"
 msgstr "图层 '%s' 不可用"
 
-#: ../vector/v.in.ogr/main.c:522
+#: ../vector/v.in.ogr/main.c:495
 #, fuzzy
 msgid "No OGR layers available"
 msgstr "图层 '%s' 不可用"
 
-#: ../vector/v.in.ogr/main.c:525
+#: ../vector/v.in.ogr/main.c:498
 #, fuzzy, c-format
 msgid "All available OGR layers will be imported into vector map <%s>"
 msgstr "无法获得矢量地图的图层信息"
 
-#: ../vector/v.in.ogr/main.c:548 ../vector/v.in.ogr/main.c:884
+#: ../vector/v.in.ogr/main.c:521 ../vector/v.in.ogr/main.c:857
 #, fuzzy, c-format
 msgid "Geometry column <%s> not found in OGR layer <%s>"
 msgstr "字段 <%s> 未找到"
 
-#: ../vector/v.in.ogr/main.c:747 ../vector/v.in.lidar/main.c:297
+#: ../vector/v.in.ogr/main.c:720 ../vector/v.in.lidar/main.c:460
 msgid "Select either the current region flag or the spatial option, not both"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:749
+#: ../vector/v.in.ogr/main.c:722
 msgid "The region flag is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:759
+#: ../vector/v.in.ogr/main.c:732
 msgid "The current region does not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:786
+#: ../vector/v.in.ogr/main.c:759
 msgid "The 'spatial' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:805 ../vector/v.in.lidar/main.c:325
+#: ../vector/v.in.ogr/main.c:778 ../vector/v.in.lidar/main.c:488
 #, fuzzy
 msgid "4 parameters required for 'spatial' parameter"
 msgstr "'spatial' 选项需要 4 个参数。"
 
-#: ../vector/v.in.ogr/main.c:817
+#: ../vector/v.in.ogr/main.c:790
 msgid ""
 "The 'spatial' parameters do not overlap with OGR input. Nothing to import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:851
+#: ../vector/v.in.ogr/main.c:824
 msgid "The 'where' option is applied only to the first OGR layer"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:894
+#: ../vector/v.in.ogr/main.c:867
 #, c-format
 msgid "Check if OGR layer <%s> contains polygons..."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:930
+#: ../vector/v.in.ogr/main.c:903
 #, fuzzy, c-format
 msgid "Boundary splitting distance in map units: %G"
 msgstr "缓冲区距离 (地图单位)"
 
-#: ../vector/v.in.ogr/main.c:960
+#: ../vector/v.in.ogr/main.c:933
 #, fuzzy, c-format
 msgid "Using temporary vector <%s>"
 msgstr "不能创建输出地图 <%s>"
 
-#: ../vector/v.in.ogr/main.c:996
+#: ../vector/v.in.ogr/main.c:969
 #, fuzzy, c-format
 msgid "Key column '%s' not found"
 msgstr "关键字段 '%s' 未找到"
 
-#: ../vector/v.in.ogr/main.c:1004
+#: ../vector/v.in.ogr/main.c:981
 #, fuzzy, c-format
 msgid "Key column '%s' is not integer"
 msgstr "类别字段不是整型"
 
-#: ../vector/v.in.ogr/main.c:1068
+#: ../vector/v.in.ogr/main.c:1046
 #, fuzzy, c-format
 msgid "Column name <%s> renamed to <%s>"
 msgstr "字段 <%s> 未找到"
 
-#: ../vector/v.in.ogr/main.c:1092
+#: ../vector/v.in.ogr/main.c:1076
+#, fuzzy, c-format
+msgid "Writing column <%s> with integer 64 as integer 32"
+msgstr "以定长的 40 个字符写入字段 <%s> (可能会被截取)"
+
+#: ../vector/v.in.ogr/main.c:1089
 #, fuzzy, c-format
 msgid "Writing column <%s> with fixed length %d chars (may be truncated)"
 msgstr "以定长的 40 个字符写入字段 <%s> (可能会被截取)"
 
-#: ../vector/v.in.ogr/main.c:1115
+#: ../vector/v.in.ogr/main.c:1112
 #, fuzzy, c-format
 msgid ""
 "Width for column %s set to 255 (was not specified by OGR), some strings may "
 "be truncated!"
 msgstr "字段 '%s' 的长度设置为 255 (不是 OGR 指定的),某些字符串可能会被截取!"
 
-#: ../vector/v.in.ogr/main.c:1127
+#: ../vector/v.in.ogr/main.c:1124
 #, fuzzy, c-format
 msgid "Writing column %s with fixed length %d chars (may be truncated)"
 msgstr "以定长的 40 个字符写入字段 <%s> (可能会被截取)"
 
-#: ../vector/v.in.ogr/main.c:1131
-#, c-format
-msgid "Column type not supported (%s)"
+#: ../vector/v.in.ogr/main.c:1128
+#, fuzzy, c-format
+msgid "Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"
 msgstr "字段类型不支持 (%s)"
 
-#: ../vector/v.in.ogr/main.c:1172
+#: ../vector/v.in.ogr/main.c:1169
 #, fuzzy, c-format
 msgid "Importing %d features (OGR layer <%s>)..."
 msgstr "导入地图 %d 的要素..."
 
-#: ../vector/v.in.ogr/main.c:1294
+#: ../vector/v.in.ogr/main.c:1307
 #, fuzzy, c-format
 msgid "%d %s without geometry skipped"
 msgstr "%d %s 没有几何形状"
 
-#: ../vector/v.in.ogr/main.c:1321
+#: ../vector/v.in.ogr/main.c:1334
 #, fuzzy
 msgid "Cleaning polygons"
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1325
+#: ../vector/v.in.ogr/main.c:1338
 #, fuzzy, c-format
 msgid "Snapping boundaries (threshold = %.3e)..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1362 ../vector/v.overlay/area_area.c:116
+#: ../vector/v.in.ogr/main.c:1375 ../vector/v.overlay/area_area.c:116
 #, fuzzy
 msgid "Cleaning boundaries at nodes..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1369
+#: ../vector/v.in.ogr/main.c:1382
 #, fuzzy
 msgid "Merging boundaries..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1374
+#: ../vector/v.in.ogr/main.c:1387
 #, fuzzy
 msgid "Changing boundary dangles to lines..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1387
+#: ../vector/v.in.ogr/main.c:1400
 #, fuzzy
 msgid "Changing boundary bridges to lines..."
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1431
+#: ../vector/v.in.ogr/main.c:1444
 #, fuzzy, c-format
 msgid "Finding centroids for OGR layer <%s>..."
 msgstr "通过DEM计算阴影..."
 
-#: ../vector/v.in.ogr/main.c:1473 ../vector/v.overlay/area_area.c:218
+#: ../vector/v.in.ogr/main.c:1486 ../vector/v.overlay/area_area.c:218
 #, fuzzy
 msgid "Writing centroids..."
 msgstr "写入线的结点"
 
-#: ../vector/v.in.ogr/main.c:1516
+#: ../vector/v.in.ogr/main.c:1529
 #, c-format
 msgid ""
 "%d areas represent more (overlapping) features, because polygons overlap in "
@@ -39188,99 +40506,99 @@ msgid ""
 "The number of features for those areas is stored as category in layer %d"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1526
+#: ../vector/v.in.ogr/main.c:1539
 #, fuzzy, c-format
 msgid "%d input polygons\n"
 msgstr "%d 个输入多边形\n"
 
-#: ../vector/v.in.ogr/main.c:1527
+#: ../vector/v.in.ogr/main.c:1540
 #, fuzzy, c-format
 msgid "%d input polygons"
 msgstr "%d 个输入多边形\n"
 
-#: ../vector/v.in.ogr/main.c:1530
+#: ../vector/v.in.ogr/main.c:1543
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)\n"
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1531
+#: ../vector/v.in.ogr/main.c:1544
 #, fuzzy, c-format
 msgid "Total area: %G (%d areas)"
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1534
+#: ../vector/v.in.ogr/main.c:1547
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)\n"
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1537
+#: ../vector/v.in.ogr/main.c:1550
 #, fuzzy, c-format
 msgid "Overlapping area: %G (%d areas)"
 msgstr "写入 %s ... "
 
-#: ../vector/v.in.ogr/main.c:1542
+#: ../vector/v.in.ogr/main.c:1555
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)\n"
 msgstr "%d 个点没有类别,将被忽略"
 
-#: ../vector/v.in.ogr/main.c:1545
+#: ../vector/v.in.ogr/main.c:1558
 #, fuzzy, c-format
 msgid "Area without category: %G (%d areas)"
 msgstr "%d 个点没有类别,将被忽略"
 
-#: ../vector/v.in.ogr/main.c:1616
+#: ../vector/v.in.ogr/main.c:1629
 msgid "Some input polygons are overlapping each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1617
+#: ../vector/v.in.ogr/main.c:1630
 msgid "If overlapping is not desired, the data need to be cleaned."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1620 ../vector/v.in.ogr/main.c:1649
+#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1662
 msgid "The input could be cleaned by snapping vertices to each other."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1621 ../vector/v.in.ogr/main.c:1644
-#: ../vector/v.in.ogr/main.c:1650
+#: ../vector/v.in.ogr/main.c:1634 ../vector/v.in.ogr/main.c:1657
+#: ../vector/v.in.ogr/main.c:1663
 #, c-format
 msgid "Estimated range of snapping threshold: [%g, %g]"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1625
+#: ../vector/v.in.ogr/main.c:1638
 #, c-format
 msgid "Try to import again, snapping with at least %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1629
+#: ../vector/v.in.ogr/main.c:1642
 #, c-format
 msgid "Try to import again, snapping with %g: 'snap=%g'"
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1633 ../vector/v.in.ogr/main.c:1646
+#: ../vector/v.in.ogr/main.c:1646 ../vector/v.in.ogr/main.c:1659
 msgid "Manual cleaning may be needed."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1637
+#: ../vector/v.in.ogr/main.c:1650
 #, c-format
 msgid "%d input polygons got lost during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1640
+#: ../vector/v.in.ogr/main.c:1653
 #, c-format
 msgid "%d additional areas where created during import."
 msgstr ""
 
-#: ../vector/v.in.ogr/main.c:1643
+#: ../vector/v.in.ogr/main.c:1656
 #, fuzzy, c-format
 msgid "The snapping threshold %g might be too large."
 msgstr "边界的捕捉容限。 -1 表示不捕捉"
 
-#: ../vector/v.in.ogr/main.c:1670
+#: ../vector/v.in.ogr/main.c:1685
 #, fuzzy, c-format
 msgid "Unable to drop table: '%s'"
 msgstr "无法创建栅格地图 %s"
 
-#: ../vector/v.in.ogr/main.c:1709
+#: ../vector/v.in.ogr/main.c:1726
 #, fuzzy
 msgid ""
 "Input data contains 3D features. Created vector is 2D only, disable -2 flag "
@@ -39329,17 +40647,21 @@ msgstr "无法写入 <%s>"
 msgid "Unknown geometry type"
 msgstr "未知的类型"
 
+#: ../vector/v.in.ogr/dsn.c:21 ../vector/v.external/dsn.c:21
+msgid "Invalid connection string (dbname missing)"
+msgstr ""
+
 #: ../vector/v.external/args.c:14
 #, fuzzy
 msgid "Name of input OGR or PostGIS data source"
 msgstr "输出文件的名称"
 
-#: ../vector/v.external/args.c:26
+#: ../vector/v.external/args.c:27
 #, fuzzy
 msgid "Name of OGR layer or PostGIS feature table to be linked"
 msgstr "将要导入的栅格文件"
 
-#: ../vector/v.external/args.c:27
+#: ../vector/v.external/args.c:28
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -39351,22 +40673,22 @@ msgstr ""
 "\t\tESRI Shapefile:shapefile 的名称\n"
 "\t\tMapInfo File:mapinfo 文件名称"
 
-#: ../vector/v.external/args.c:36
+#: ../vector/v.external/args.c:38
 #, fuzzy
 msgid "Name for output GRASS vector map (default: input layer)"
 msgstr "输出栅格文件的标题"
 
-#: ../vector/v.external/args.c:46
+#: ../vector/v.external/args.c:48
 #, fuzzy
 msgid "List available layers in data source and exit"
 msgstr "列出数据源中可用的图层并退出"
 
-#: ../vector/v.external/args.c:52
+#: ../vector/v.external/args.c:54
 #, fuzzy
 msgid "List available layers including feature type in data source and exit"
 msgstr "列出数据源中可用的图层并退出"
 
-#: ../vector/v.external/args.c:54
+#: ../vector/v.external/args.c:56
 msgid "Format: layer name,type,projection check,geometry"
 msgstr ""
 
@@ -39426,17 +40748,17 @@ msgid ""
 "PostGIS feature table."
 msgstr "将GRASS矢量图层转化为GRASS栅格图层。"
 
-#: ../vector/v.external/main.c:160
+#: ../vector/v.external/main.c:147
 #, fuzzy, c-format
 msgid "Unable to delete '%s'"
 msgstr "无法描述表 %s"
 
-#: ../vector/v.external/main.c:167
+#: ../vector/v.external/main.c:154
 #, fuzzy, c-format
 msgid "Unable to create file '%s/%s'"
 msgstr "无法创建文件 [%s]"
 
-#: ../vector/v.external/main.c:198
+#: ../vector/v.external/main.c:185
 #, fuzzy, c-format
 msgid "Link to vector map <%s> created."
 msgstr "dig_att文件不存在。"
@@ -39575,59 +40897,59 @@ msgstr "不能创建输出地图 <%s>"
 msgid "Unable to close new 3d raster map"
 msgstr "无法关闭输入地图"
 
-#: ../vector/v.net.iso/main.c:73
+#: ../vector/v.net.iso/main.c:74
 #, fuzzy
 msgid "isolines"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../vector/v.net.iso/main.c:74
+#: ../vector/v.net.iso/main.c:75
 msgid "Splits net by cost isolines."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:77
+#: ../vector/v.net.iso/main.c:78
 msgid ""
 "Splits net to bands between cost isolines (direction from center). Center "
 "node must be opened (costs >= 0). Costs of center node are used in "
 "calculation."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:128
+#: ../vector/v.net.iso/main.c:98
 msgid "Costs for isolines"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:165
+#: ../vector/v.net.iso/main.c:189
 #, c-format
 msgid "Wrong iso cost: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:168
+#: ../vector/v.net.iso/main.c:192
 #, c-format
 msgid "Iso cost: %f less than previous"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:170
+#: ../vector/v.net.iso/main.c:194
 #, c-format
 msgid "Iso cost %d: %f"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:177
+#: ../vector/v.net.iso/main.c:202
 msgid "Not enough costs, everything reachable falls to first band"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:213
+#: ../vector/v.net.iso/main.c:249
 msgid "Centre at closed node (costs = -1) ignored"
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:231
+#: ../vector/v.net.iso/main.c:267
 #, fuzzy, c-format
 msgid "Number of centres: %d (nlayer %d)"
 msgstr "输入点的数目:%d"
 
-#: ../vector/v.net.iso/main.c:234
+#: ../vector/v.net.iso/main.c:271
 msgid "Not enough centres for selected nlayer. Nothing will be allocated."
 msgstr ""
 
-#: ../vector/v.net.iso/main.c:254
+#: ../vector/v.net.iso/main.c:301
 #, fuzzy, c-format
 msgid "Calculating costs from centre %d..."
 msgstr "通过DEM计算阴影..."
@@ -39788,6 +41110,135 @@ msgid ""
 "\n"
 msgstr ""
 
+#: ../vector/v.out.lidar/main.c:78
+#, fuzzy, c-format
+msgid "Database connection not defined for layer <%d>"
+msgstr "数据库连接未定义"
+
+#: ../vector/v.out.lidar/main.c:124
+msgid "Double values will be converted to integers"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:185
+#, fuzzy, c-format
+msgid "No record for cat = %d"
+msgstr "类别 = %d 没有记录"
+
+#: ../vector/v.out.lidar/main.c:188
+#, fuzzy, c-format
+msgid "NULL value for cat = %d"
+msgstr "类别 = %d 没有记录"
+
+#: ../vector/v.out.lidar/main.c:197
+#, fuzzy, c-format
+msgid "Column type is not numeric (type = %d, cat = %d"
+msgstr "字段 <%s> 未找到"
+
+#: ../vector/v.out.lidar/main.c:485
+#, fuzzy
+msgid "Exports vector points as LAS point cloud"
+msgstr "将矢量点作为3D点生成"
+
+#: ../vector/v.out.lidar/main.c:486
+#, fuzzy
+msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS"
+msgstr "将GRASS矢量图层转化为GRASS栅格图层。"
+
+#: ../vector/v.out.lidar/main.c:506 ../vector/v.in.lidar/main.c:121
+#, fuzzy
+msgid "Layer number to store generated point ID as category"
+msgstr "图层 %d"
+
+#: ../vector/v.out.lidar/main.c:508 ../vector/v.out.lidar/main.c:515
+#: ../vector/v.out.lidar/main.c:522 ../vector/v.out.lidar/main.c:529
+#: ../vector/v.out.lidar/main.c:536 ../vector/v.out.lidar/main.c:543
+#: ../vector/v.out.lidar/main.c:550 ../vector/v.out.lidar/main.c:557
+#: ../vector/v.in.lidar/main.c:123 ../vector/v.in.lidar/main.c:130
+#: ../vector/v.in.lidar/main.c:137 ../vector/v.in.lidar/main.c:144
+#: ../vector/v.in.lidar/main.c:151 ../vector/v.in.lidar/main.c:158
+#: ../vector/v.in.lidar/main.c:165 ../vector/v.in.lidar/main.c:172
+#, fuzzy
+msgid "Categories"
+msgstr "读取%-5d个线类别\n"
+
+#: ../vector/v.out.lidar/main.c:513 ../vector/v.out.lidar/main.c:520
+#: ../vector/v.in.lidar/main.c:128
+#, fuzzy
+msgid "Layer number to store return number as category"
+msgstr "图层 %d"
+
+#: ../vector/v.out.lidar/main.c:527 ../vector/v.in.lidar/main.c:142
+#, fuzzy
+msgid "Layer number to store class number as category"
+msgstr "图层 %d"
+
+#: ../vector/v.out.lidar/main.c:534
+#, fuzzy
+msgid "Layer number where RGB color is stored as category"
+msgstr "无法创建属性表"
+
+#: ../vector/v.out.lidar/main.c:541 ../vector/v.out.lidar/main.c:548
+#: ../vector/v.in.lidar/main.c:156 ../vector/v.in.lidar/main.c:163
+#, fuzzy
+msgid "Layer number where red color is stored as category"
+msgstr "无法创建属性表"
+
+#: ../vector/v.out.lidar/main.c:555 ../vector/v.in.lidar/main.c:170
+#, fuzzy
+msgid "Layer number where blue color is stored as category"
+msgstr "无法创建属性表"
+
+#: ../vector/v.out.lidar/main.c:563 ../vector/v.out.lidar/main.c:569
+#: ../vector/v.out.lidar/main.c:575
+#, fuzzy
+msgid "Column with return number"
+msgstr "x/y/z 字段必须是整型或双精度的"
+
+#: ../vector/v.out.lidar/main.c:581
+#, fuzzy
+msgid "RGB color definition column"
+msgstr "列数"
+
+#: ../vector/v.out.lidar/main.c:588
+msgid "Column with red color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:594
+msgid "Column with green color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:600
+msgid "Column with blue color"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:609
+msgid "Internal scale to apply to X and Y values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:610 ../vector/v.out.lidar/main.c:620
+msgid ""
+"This scale does not change the values itself but only how precisely they are "
+"stored, for example 0.01 will preserve two decimal places"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:619
+msgid "Internal scale to apply to z values"
+msgstr ""
+
+#: ../vector/v.out.lidar/main.c:627
+#, fuzzy
+msgid "Limit export to the current region"
+msgstr "不更新当前区域"
+
+#: ../vector/v.out.lidar/main.c:631
+#, fuzzy
+msgid "Ignore color table"
+msgstr "栅格图的名称"
+
+#: ../vector/v.out.lidar/main.c:633
+msgid "Ignore color table even when set and not other options are present"
+msgstr ""
+
 #: ../vector/v.net.spanningtree/main.c:48
 msgid "spanning tree"
 msgstr ""
@@ -39984,7 +41435,7 @@ msgstr "通过DEM计算阴影..."
 msgid "Invalid segment number %d for %d points"
 msgstr "%s=%s - 非法的内插点数"
 
-#: ../vector/v.distance/distance.c:416
+#: ../vector/v.distance/distance.c:426
 #, fuzzy
 msgid "At least one point is really inside the area!"
 msgstr "必须指定两个图层"
@@ -40301,50 +41752,237 @@ msgstr ""
 msgid "Auxiliary table could not be dropped"
 msgstr "未发现矢量地图<%s>"
 
-#: ../vector/v.in.lidar/main.c:159
+#: ../vector/v.in.lidar/vector_mask.c:20
+#, fuzzy, c-format
+msgid "Failed to open vector <%s>"
+msgstr "无法找到矢量地图 [%s]"
+
+#: ../vector/v.in.lidar/attributes.c:129
+#, fuzzy, c-format
+msgid "Unable open database <%s> by driver <%s>"
+msgstr "无法打开数据库%s,通过驱动%s"
+
+#: ../vector/v.in.lidar/main.c:111
 #, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
 msgstr "将GRASS矢量图层转化为GRASS栅格图层。"
 
-#: ../vector/v.in.lidar/main.c:174 ../vector/v.in.lidar/main.c:218
-msgid "Subregion"
+#: ../vector/v.in.lidar/main.c:135
+#, fuzzy
+msgid "Layer number to store number of returns as category"
+msgstr "图层 %d"
+
+#: ../vector/v.in.lidar/main.c:149
+#, fuzzy
+msgid "Layer number where RBG colors is stored as category"
+msgstr "无法创建属性表"
+
+#: ../vector/v.in.lidar/main.c:215
+msgid "Areas where to import points"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:216
+#, fuzzy
+msgid "Name of vector map with areas where the points should be imported"
+msgstr "输出矢量点图的名称"
+
+#: ../vector/v.in.lidar/main.c:221
+#, fuzzy
+msgid "Layer number or name for mask option"
+msgstr "输入矢量文件的名称"
+
+#: ../vector/v.in.lidar/main.c:229
+msgid "Do not import every n-th point"
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:230
+#, fuzzy
+msgid ""
+"For example, 5 will import 80 percent of points. If not specified, all "
+"points are imported"
+msgstr "导入的整数值"
+
+#: ../vector/v.in.lidar/main.c:232 ../vector/v.in.lidar/main.c:242
+#: ../vector/v.in.lidar/main.c:251 ../vector/v.in.lidar/main.c:260
+#, fuzzy
+msgid "Decimation"
+msgstr "相关性"
+
+#: ../vector/v.in.lidar/main.c:239
+msgid "Import only every n-th point"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:606
+#: ../vector/v.in.lidar/main.c:240
+#, fuzzy
+msgid ""
+"For example, 4 will import 25 percent of points. If not specified, all "
+"points are imported"
+msgstr "导入的整数值"
+
+#: ../vector/v.in.lidar/main.c:258
+#, fuzzy
+msgid "Import only n points"
+msgstr "导入地图 %d 的要素..."
+
+#: ../vector/v.in.lidar/main.c:259
+#, fuzzy
+msgid "Imports only the given number of points"
+msgstr "%s=%s - 非法的内插点数"
+
+#: ../vector/v.in.lidar/main.c:282
+#, fuzzy
+msgid "Invert mask when selecting points"
+msgstr "包含线的输入地图"
+
+#: ../vector/v.in.lidar/main.c:296
+#, fuzzy
+msgid "Store only the coordinates"
+msgstr "地图北向格网坐标"
+
+#: ../vector/v.in.lidar/main.c:298
+#, fuzzy
+msgid "Do not add categories to points and do not create attribute table"
+msgstr "无法创建属性表"
+
+#: ../vector/v.in.lidar/main.c:417 ../vector/v.in.lidar/main.c:437
 #, fuzzy, c-format
-msgid "Unable open database <%s> by driver <%s>"
-msgstr "无法打开数据库%s,通过驱动%s"
+msgid "Storing generated point IDs as categories in the layer %d"
+msgstr "图层 %d"
+
+#: ../vector/v.in.lidar/main.c:619
+#, fuzzy, c-format
+msgid "Scanning %llu points..."
+msgstr "导入地图 %d 的要素..."
 
-#: ../vector/v.in.lidar/main.c:640
+#: ../vector/v.in.lidar/main.c:621
 #, fuzzy, c-format
-msgid "Scanning %d points..."
+msgid "Scanning %lu points..."
 msgstr "导入地图 %d 的要素..."
 
-#: ../vector/v.in.lidar/main.c:807
+#: ../vector/v.in.lidar/main.c:744
+msgid ""
+"The underlying libLAS library is at its limits. Previously reported counts "
+"might have been distorted. However, the import itself should be unaffected."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:750
+#, fuzzy, c-format
+msgid "%llu points imported (limit was %llu)"
+msgstr "载入%d个点\n"
+
+#: ../vector/v.in.lidar/main.c:755
 #, fuzzy, c-format
-msgid "%d points imported"
+msgid "%llu points imported"
 msgstr "载入%d个点\n"
 
-#: ../vector/v.in.lidar/main.c:810
+#: ../vector/v.in.lidar/main.c:758
+#, fuzzy, c-format
+msgid "%llu input points were not valid"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:760
+#, fuzzy, c-format
+msgid "%llu input points were outside of the selected area"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:762
+#, fuzzy, c-format
+msgid "%llu input points were outside of the area specified by mask"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:764
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by return number"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:766
+#, fuzzy, c-format
+msgid "%llu input points were filtered out by class number"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:768
+#, fuzzy, c-format
+msgid "%llu input points were filtered outsite the range for z coordinate"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:770
 #, c-format
-msgid "%d input points were not valid"
+msgid "%llu input points were skipped at the begging using offset"
 msgstr ""
 
-#: ../vector/v.in.lidar/main.c:812
+#: ../vector/v.in.lidar/main.c:773
 #, fuzzy, c-format
-msgid "%d input points were outside of the selected area"
+msgid "%llu input points were skipped by count-based decimation"
 msgstr "%d 个点超出范围"
 
-#: ../vector/v.in.lidar/main.c:814
+#: ../vector/v.in.lidar/main.c:777
 #, fuzzy, c-format
-msgid "%d input points were filtered out by return number"
+msgid "%lu points imported (limit was %d)"
+msgstr "载入%d个点\n"
+
+#: ../vector/v.in.lidar/main.c:781
+#, fuzzy, c-format
+msgid "%lu points imported"
+msgstr "载入%d个点\n"
+
+#: ../vector/v.in.lidar/main.c:783
+#, fuzzy, c-format
+msgid "%lu input points were not valid"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:785
+#, fuzzy, c-format
+msgid "%lu input points were outside of the selected area"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:787
+#, fuzzy, c-format
+msgid "%lu input points were outside of the area specified by mask"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:789
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by return number"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:791
+#, fuzzy, c-format
+msgid "%lu input points were filtered out by class number"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:793
+#, fuzzy, c-format
+msgid "%lu input points were filtered outsite the range for z coordinate"
 msgstr "%d 个点超出范围"
 
-#: ../vector/v.in.lidar/main.c:816
+#: ../vector/v.in.lidar/main.c:795
 #, fuzzy, c-format
-msgid "%d input points were filtered out by class number"
+msgid "%lu input points were skipped at the begging using offset"
 msgstr "%d 个点超出范围"
 
+#: ../vector/v.in.lidar/main.c:798
+#, fuzzy, c-format
+msgid "%lu input points were skipped by count-based decimation"
+msgstr "%d 个点超出范围"
+
+#: ../vector/v.in.lidar/main.c:800
+msgid ""
+"Accuracy of the printed point counts might be limited by your computer "
+"architecture."
+msgstr ""
+
+#: ../vector/v.in.lidar/main.c:803
+#, fuzzy
+msgid "The rest of points was ignored"
+msgstr "要查询的坐标"
+
+#: ../vector/v.in.lidar/main.c:806
+#, c-format
+msgid ""
+"Maximum number of categories reached (%d). Import ended prematurely. Try to "
+"import without using category as an ID."
+msgstr ""
+
 #: ../vector/v.surf.bspline/crosscorr.c:75
 #, c-format
 msgid "%d are too many points. The cross validation would take too much time."
@@ -40508,7 +42146,7 @@ msgid ""
 msgstr "用来存放错误信息的输出地图的名称"
 
 #: ../vector/v.build/main.c:61
-msgid "Build topology or dump topology or indeces to standard output"
+msgid "Build topology or dump topology or indices to standard output"
 msgstr ""
 
 #: ../vector/v.build/main.c:65
@@ -41541,11 +43179,6 @@ msgstr "无法关闭输入地图"
 msgid "Resolving conflicts..."
 msgstr "移除 [%s] 的空文件...\n"
 
-#: ../vector/v.generalize/main.c:77
-#, fuzzy
-msgid "generalization"
-msgstr "读取 %s ..."
-
 #: ../vector/v.generalize/main.c:78
 #, fuzzy
 msgid "simplification"
@@ -41724,57 +43357,57 @@ msgstr "插值点的数量"
 msgid "Attributes are needed for 'where' option, copying table"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:401
+#: ../vector/v.generalize/main.c:400
 #, fuzzy, c-format
 msgid "Generalization (%s)..."
 msgstr "读取 %s ..."
 
-#: ../vector/v.generalize/main.c:402
+#: ../vector/v.generalize/main.c:401
 #, fuzzy, c-format
 msgid "Using threshold: %g %s"
 msgstr "非法的输出文件名"
 
-#: ../vector/v.generalize/main.c:533
+#: ../vector/v.generalize/main.c:521
 #, c-format
 msgid "Method '%s' did not preserve first point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:538
+#: ../vector/v.generalize/main.c:526
 #, c-format
 msgid "Method '%s' did not preserve last point"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:545
+#: ../vector/v.generalize/main.c:533
 #, c-format
 msgid "Method '%s' did not preserve loop"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:577
+#: ../vector/v.generalize/main.c:565
 #, c-format
 msgid ""
 "%d boundaries were not modified because modification would damage topology"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:580
+#: ../vector/v.generalize/main.c:568
 #, c-format
 msgid "%d lines/boundaries were not modified due to over-simplification"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:601
+#: ../vector/v.generalize/main.c:589
 #, c-format
 msgid ""
 "Number of vertices for selected features %s from %d to %d (%d%% remaining)"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "reduced"
 msgstr ""
 
-#: ../vector/v.generalize/main.c:602
+#: ../vector/v.generalize/main.c:590
 msgid "changed"
 msgstr ""
 
-#: ../vector/v.generalize/misc.c:156
+#: ../vector/v.generalize/misc.c:166
 #, c-format
 msgid "Layer %d"
 msgstr "图层 %d"
@@ -41824,100 +43457,71 @@ msgstr "图层 %d"
 #~ msgstr "行数"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing latitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "输入纬度的栅格图的名称 [十进制度]"
+#~ msgid "Could not rewind input file"
+#~ msgstr "无法打开矢量文件 <%s>"
 
 #, fuzzy
-#~ msgid ""
-#~ "Name of input raster map containing longitudes (if projection undefined) "
-#~ "[decimal degrees]"
-#~ msgstr "包含等高线的栅格图名称"
+#~ msgid "Name for basins raster map"
+#~ msgstr "栅格图的名称"
 
 #, fuzzy
-#~ msgid ""
-#~ "Output diffuse irradiation raster map cumulated for the whole period of "
-#~ "time [Wh.m-2.day-1]"
-#~ msgstr "输出的散射辐照度[W.m-2] (mode 1)或辐射栅格图[Wh.m-2.day-1] (mode 2)"
+#~ msgid "Raster map containing midflame wind velocitys (ft/min)"
+#~ msgstr "包含midflame风速(英尺/分钟)的栅格图的名称"
 
 #, fuzzy
-#~ msgid ""
-#~ "Output ground reflected irradiation raster map cumulated for the whole "
-#~ "period of time [Wh.m-2.day-1]"
-#~ msgstr ""
-#~ "输出的地面反射辐照度[W.m-2] (mode 1)或辐射的栅格文件[Wh.m-2.day-1] (mode "
-#~ "2)"
+#~ msgid "Raster map <%s> already exists in mapset <%s>"
+#~ msgstr "无法创建栅格地图 %s"
 
 #, fuzzy
-#~ msgid ""
-#~ "Output global (total) irradiance/irradiation raster map cumulated for the "
-#~ "whole period of time [Wh.m-2.day-1]"
-#~ msgstr "输出的辐照度[W.m-2] (mode 1)或辐射的栅格文件[Wh.m-2.day-1] (mode 2)"
+#~ msgid "output map <%s> exists"
+#~ msgstr "输出图"
 
-#, fuzzy
-#~ msgid "Base name for output beam irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "输入栅格文件的名称"
+#~ msgid "Page length (default: %d lines)"
+#~ msgstr "页面长度(默认:%d行)"
 
-#, fuzzy
-#~ msgid "Base name for output diffuse irradiation raster maps [Wh.m-2.day-1]"
-#~ msgstr "输入的高程栅格图的名称[米]"
+#~ msgid "Page width (default: %d characters)"
+#~ msgstr "页面宽度(默认:%d字符)"
 
-#, fuzzy
-#~ msgid ""
-#~ "Base name for output ground reflected irradiation raster maps [Wh.m-2."
-#~ "day-1]"
-#~ msgstr ""
-#~ "输出的地面反射辐照度[W.m-2] (mode 1)或辐射的栅格文件[Wh.m-2.day-1] (mode "
-#~ "2)"
+#~ msgid "Override projection (use location's projection)"
+#~ msgstr "覆盖投影(使用区域的投影)"
 
 #, fuzzy
-#~ msgid ""
-#~ "Base name for output global (total) irradiance/irradiation raster maps "
-#~ "[Wh.m-2.day-1]"
-#~ msgstr "输出的辐照度[W.m-2] (mode 1)或辐射的栅格文件[Wh.m-2.day-1] (mode 2)"
+#~ msgid "%s: Error writing temporary file"
+#~ msgstr "尝试读取dbmscap文件失败\n"
 
 #, fuzzy
-#~ msgid "Number of r.sun processes to run in parallel"
-#~ msgstr "插值点的数量"
+#~ msgid "Input options"
+#~ msgstr "字段类型不支持"
 
 #, fuzzy
-#~ msgid "Override projection check (use location's projection)"
-#~ msgstr "覆盖投影(使用区域的投影)"
+#~ msgid "Output options"
+#~ msgstr "输出图"
 
 #, fuzzy
 #~ msgid "option <%s>: <%s> exists."
 #~ msgstr "未发现区域<%s>"
 
 #, fuzzy
-#~ msgid "output map <%s> exists"
-#~ msgstr "输出图"
+#~ msgid "Override dataset projection (use location's projection)"
+#~ msgstr "覆盖投影(使用区域的投影)"
 
 #, fuzzy
-#~ msgid "Topographic index ln(a / tan(b))"
-#~ msgstr "地形索引ln(a/tanB)图"
+#~ msgid "Displays GRASS version info."
+#~ msgstr "未知的类型"
 
 #, fuzzy
-#~ msgid "Name for basins raster map"
-#~ msgstr "栅格图的名称"
-
-#~ msgid "Page length (default: %d lines)"
-#~ msgstr "页面长度(默认:%d行)"
-
-#~ msgid "Page width (default: %d characters)"
-#~ msgstr "页面宽度(默认:%d字符)"
-
-#, fuzzy
-#~ msgid "%s: Error writing temporary file"
-#~ msgstr "尝试读取dbmscap文件失败\n"
+#~ msgid "Password to set for DB connection"
+#~ msgstr "无法创建表:%s"
 
 #, fuzzy
-#~ msgid "Input options"
-#~ msgstr "字段类型不支持"
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "将栅格图转化为矢量图层。"
 
 #, fuzzy
-#~ msgid "Output options"
-#~ msgstr "输出图"
+#~ msgid "Field separator"
+#~ msgstr "输出字段分隔符"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -41954,91 +43558,59 @@ msgstr "图层 %d"
 #~ msgstr "从当前区域设置"
 
 #, fuzzy
-#~ msgid "Field separator"
-#~ msgstr "输出字段分隔符"
-
-#, fuzzy
-#~ msgid "Raster map <%s> already exists in mapset <%s>"
-#~ msgstr "无法创建栅格地图 %s"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "将栅格图转化为矢量图层。"
-
-#, fuzzy
-#~ msgid "No flag given"
-#~ msgstr "没有指定数据地图"
-
-#, fuzzy
-#~ msgid "Renaming reclass maps"
-#~ msgstr "创建 %i 栅格地图\n"
+#~ msgid "OGR datasource name"
+#~ msgstr "数据库名称"
 
 #, fuzzy
-#~ msgid "Unable to read REF file for group <%s>"
-#~ msgstr "编辑 [%s] 的类别文件?"
+#~ msgid "flowline"
+#~ msgstr "矢量地图 %s - 未发现"
 
 #, fuzzy
-#~ msgid "Loading seeds from '%s'"
-#~ msgstr "%d 个类别从表中加载"
-
-#, fuzzy
-#~ msgid "One of options <%s> or <%s> must be given"
-#~ msgstr "必须指定'from_table'或'select'选项。"
-
-#, fuzzy
-#~ msgid "Please specify input= or file="
-#~ msgstr "请指定 z 字段。"
-
-#, fuzzy
-#~ msgid "Either -p or output= must be given"
+#~ msgid "One of -%c, %s=, %s= or %s= must be specified"
 #~ msgstr "必须指定'from_table'或'select'选项。"
 
 #, fuzzy
-#~ msgid "invalid value for fprange= <%s>"
-#~ msgstr "%s:无法为 [%s] 读取范围"
+#~ msgid "Color in GRASS format for drawing grid or \"none\" not drawing"
+#~ msgstr "列出支持的格式然后退出"
 
 #, fuzzy
-#~ msgid "Please specify output= or outfile="
-#~ msgstr "请指定 z 字段。"
+#~ msgid "No flag given"
+#~ msgstr "没有指定数据地图"
 
 #, fuzzy
-#~ msgid "Please specify output= and samplingpos="
-#~ msgstr "请指定 z 字段。"
+#~ msgid "Unable to create file '%s'"
+#~ msgstr "无法创建文件 [%s]"
 
 #, fuzzy
-#~ msgid "Please specify input= or infile="
-#~ msgstr "请指定 z 字段。"
+#~ msgid "Env file not found"
+#~ msgstr "未找到3D视图文件<%s>"
 
 #, fuzzy
-#~ msgid "Please specify input= and datapos="
-#~ msgstr "请指定 z 字段。"
+#~ msgid "PID file not found"
+#~ msgstr "像元文件未发现\n"
 
 #, fuzzy
-#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
-#~ msgstr "必须指定'from_table'或'select'选项。"
+#~ msgid "Command file not found"
+#~ msgstr "字段 <%s> 未找到"
 
 #, fuzzy
-#~ msgid "One of options <%s> or <%s> must be specified"
-#~ msgstr "必须指定'from_table'或'select'选项。"
+#~ msgid "Renaming reclass maps"
+#~ msgstr "创建 %i 栅格地图\n"
 
 #, fuzzy
-#~ msgid "Option <%s> must be specified"
-#~ msgstr "必须指定'from_table'或'select'选项。"
+#~ msgid "Name for output image"
+#~ msgstr "输出文件的名称"
 
 #, fuzzy
-#~ msgid ""
-#~ "Displays a thematic vector area map in the active frame on the graphics "
-#~ "monitor."
-#~ msgstr "选择字体,该字体用于图形监视器上文本的显示。"
+#~ msgid "Unable to read REF file for group <%s>"
+#~ msgstr "编辑 [%s] 的类别文件?"
 
 #, fuzzy
-#~ msgid "Color in GRASS format for drawing text"
-#~ msgstr "列出支持的格式然后退出"
+#~ msgid "Loading seeds from '%s'"
+#~ msgstr "%d 个类别从表中加载"
 
 #, fuzzy
-#~ msgid "Name of output basename raster map(s)"
+#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
 #~ msgstr ""
 #~ "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 #~ "输出栅格图的名称\n"
@@ -42046,8 +43618,8 @@ msgstr "图层 %d"
 #~ "输出栅格文件的名称"
 
 #, fuzzy
-#~ msgid "Default: input"
-#~ msgstr "离散化错误 (地图单位)"
+#~ msgid "Also produce maximum spotting distance"
+#~ msgstr "同时生成最大的测定点距离"
 
 #, fuzzy
 #~ msgid "Displays thematic vector map"
@@ -42107,7 +43679,7 @@ msgstr "图层 %d"
 #~ msgstr "量度"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (.base, .max, .maxdir, .spotdist)"
+#~ msgid "Name of output basename raster map(s)"
 #~ msgstr ""
 #~ "#-#-#-#-#  grassmods_zh.po (grassmods_zh)  #-#-#-#-#\n"
 #~ "输出栅格图的名称\n"
@@ -42115,32 +43687,70 @@ msgstr "图层 %d"
 #~ "输出栅格文件的名称"
 
 #, fuzzy
-#~ msgid "Also produce maximum spotting distance"
-#~ msgstr "同时生成最大的测定点距离"
+#~ msgid "Default: input"
+#~ msgstr "离散化错误 (地图单位)"
 
 #, fuzzy
-#~ msgid "Display the "
-#~ msgstr "读取地图"
+#~ msgid ""
+#~ "Displays a thematic vector area map in the active frame on the graphics "
+#~ "monitor."
+#~ msgstr "选择字体,该字体用于图形监视器上文本的显示。"
 
 #, fuzzy
-#~ msgid "Unable to create vector map"
-#~ msgstr "不能创建输出地图 <%s>"
+#~ msgid "Text color or \"none\""
+#~ msgstr "文本颜色"
 
 #, fuzzy
-#~ msgid "Unable To create table: %s"
-#~ msgstr "无法创建文件 [%s]"
+#~ msgid "Color in GRASS format for drawing text"
+#~ msgstr "列出支持的格式然后退出"
+
+#~ msgid "Failed opening input dig file."
+#~ msgstr "无法打开输入的dig文件。"
+
+#~ msgid "dig_att file doesn't exist."
+#~ msgstr "dig_att文件不存在。"
+
+#~ msgid "Failed opening input dig_att file."
+#~ msgstr "无法打开输入的dig_att文件。"
 
 #, fuzzy
-#~ msgid "Not enough memory"
-#~ msgstr "没有足够的内存用于 az"
+#~ msgid "Attaching categories..."
+#~ msgstr "分类...\n"
+
+#~ msgid "Failed to attach an attribute (category %d) to a line."
+#~ msgstr "无法为线添加属性(类别%d)。"
 
 #, fuzzy
-#~ msgid "OLD_T_NEW Got a bad type code [%x]"
-#~ msgstr "系统错误:OLD_T_NEW得到一个错误的类型代码%x"
+#~ msgid "Line %d label: %d matched another label: %d."
+#~ msgstr "警告:线%d的标签:%d与以知标签:%d相同。"
 
 #, fuzzy
-#~ msgid "NEW_T_OLD Got a bad type code [%x]"
-#~ msgstr "系统错误:NEW_T_OLD得到一个错误的类型代码%x"
+#~ msgid "Writing new file..."
+#~ msgstr "写入新文件...\n"
+
+#, fuzzy
+#~ msgid "[%d] points and lines written to output file."
+#~ msgstr "%-5d个点和线写入输出文件。\n"
+
+#, fuzzy
+#~ msgid "[%d] centroids written to output file."
+#~ msgstr "%-5d个质心写入输出文件。\n"
+
+#, fuzzy
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "输入的 2D 矢量地图的名称"
+
+#, fuzzy
+#~ msgid "Endian of input vector map"
+#~ msgstr "输入的 2D 矢量地图的名称"
+
+#, fuzzy
+#~ msgid "No category labels (dig_cats) found, no table created"
+#~ msgstr "未发现类别标签(dig_cats),不创建任何表。\n"
+
+#, fuzzy
+#~ msgid "Unable to open dig_cats file"
+#~ msgstr "无法打开输出文件 <%s>"
 
 #, fuzzy
 #~ msgid "Reading dig file..."
@@ -42249,117 +43859,116 @@ msgstr "图层 %d"
 #~ msgstr "%-5d个类别读入内存。\n"
 
 #, fuzzy
-#~ msgid "No category labels (dig_cats) found, no table created"
-#~ msgstr "未发现类别标签(dig_cats),不创建任何表。\n"
+#~ msgid "OLD_T_NEW Got a bad type code [%x]"
+#~ msgstr "系统错误:OLD_T_NEW得到一个错误的类型代码%x"
 
 #, fuzzy
-#~ msgid "Unable to open dig_cats file"
-#~ msgstr "无法打开输出文件 <%s>"
-
-#~ msgid "Failed opening input dig file."
-#~ msgstr "无法打开输入的dig文件。"
-
-#~ msgid "dig_att file doesn't exist."
-#~ msgstr "dig_att文件不存在。"
-
-#~ msgid "Failed opening input dig_att file."
-#~ msgstr "无法打开输入的dig_att文件。"
+#~ msgid "NEW_T_OLD Got a bad type code [%x]"
+#~ msgstr "系统错误:NEW_T_OLD得到一个错误的类型代码%x"
 
 #, fuzzy
-#~ msgid "Attaching categories..."
-#~ msgstr "分类...\n"
-
-#~ msgid "Failed to attach an attribute (category %d) to a line."
-#~ msgstr "无法为线添加属性(类别%d)。"
+#~ msgid "One or more coordinates"
+#~ msgstr "z 坐标的偏移值"
 
 #, fuzzy
-#~ msgid "Line %d label: %d matched another label: %d."
-#~ msgstr "警告:线%d的标签:%d与以知标签:%d相同。"
+#~ msgid "Name of elevation map"
+#~ msgstr "高程栅格图的名称"
 
-#, fuzzy
-#~ msgid "Writing new file..."
-#~ msgstr "写入新文件...\n"
+#~ msgid "Char string to represent no data cell"
+#~ msgstr "表示无数据像元的字符串"
 
-#, fuzzy
-#~ msgid "[%d] points and lines written to output file."
-#~ msgstr "%-5d个点和线写入输出文件。\n"
+#~ msgid "Unknown metric: [%s]."
+#~ msgstr "未知的量度:[%s]"
 
 #, fuzzy
-#~ msgid "[%d] centroids written to output file."
-#~ msgstr "%-5d个质心写入输出文件。\n"
+#~ msgid "Error reading category file for <%s>"
+#~ msgstr "为 <%s> 读取类别文件时发生错误。"
 
 #, fuzzy
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "输入的 2D 矢量地图的名称"
+#~ msgid "Error in reading color file for <%s>"
+#~ msgstr "为 <%s> 读取色彩文件时发生错误。"
 
-#, fuzzy
-#~ msgid "Endian of input vector map"
-#~ msgstr "输入的 2D 矢量地图的名称"
+#~ msgid "String representing no data cell value"
+#~ msgstr "代表无数据像元值的字符串"
 
 #, fuzzy
-#~ msgid "Unknown raster map type"
-#~ msgstr "只打印栅格图的类型"
+#~ msgid "Surface interpolation utility for raster map."
+#~ msgstr "栅格图层的表面插值工具。"
 
 #, fuzzy
-#~ msgid "Performing map %s + %s"
-#~ msgstr "读取地图 %s 时发生错误"
+#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
+#~ msgstr "输出栅格文件的标题"
 
 #, fuzzy
-#~ msgid "One or more coordinates"
-#~ msgstr "z 坐标的偏移值"
+#~ msgid ""
+#~ "Computes anisotropic cumulative cost of moving between different "
+#~ "geographic locations on an input elevation raster map whose cell category "
+#~ "values represent elevation combined with an input raster map layer whose "
+#~ "cell values represent friction cost."
+#~ msgstr ""
+#~ "输出一个栅格图层来显示在输入栅格图上不同位置间移动时的累计成本,输入栅格图"
+#~ "的像元类别值表示成本。"
 
-#~ msgid "Not enough memory for adx"
-#~ msgstr "没有足够的内存用于 adx"
+#~ msgid "Name of layer to be used for INTENSITY"
+#~ msgstr "亮度图层的名称"
 
-#~ msgid "Not enough memory for ady"
-#~ msgstr "没有足够的内存用于 ady"
+#~ msgid "Name of layer to be used for SATURATION"
+#~ msgstr "饱和度图层的名称"
 
-#~ msgid "Not enough memory for adxx"
-#~ msgstr "没有足够的内存用于 adxx"
+#~ msgid "Name of output layer to be used for GREEN"
+#~ msgstr "输出的绿色图层的名称"
 
-#~ msgid "Not enough memory for adyy"
-#~ msgstr "没有足够的内存用于 adyy"
+#~ msgid "Name of output layer to be used for BLUE"
+#~ msgstr "输出的蓝色图层的名称"
 
-#~ msgid "Not enough memory for adxy"
-#~ msgstr "没有足够的内存用于 adxy"
+#~ msgid "Surface generation program."
+#~ msgstr "表面生成程序。"
 
-#~ msgid "Cannot create tree"
-#~ msgstr "无法创建树"
+#, fuzzy
+#~ msgid ""
+#~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
+#~ msgstr "r.flow 不支持经纬度数据库。请使用 'r.watershed' 计算流的积聚。"
 
-#~ msgid "Cannot create tree info"
-#~ msgstr "无法创建树的信息"
+#~ msgid "%s=%s - illegal number of interpolation points"
+#~ msgstr "%s=%s - 非法的内插点数"
 
 #, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
-#~ msgstr "将栅格图转化为矢量图层。"
+#~ msgid "Interpolating raster map <%s>... %d row... "
+#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
+#~ msgstr[0] "内插栅格图 <%s> ... %d 行 ... "
+#~ msgstr[1] "内插栅格图 <%s> ... %d 行 ... "
 
 #, fuzzy
-#~ msgid "Site file <%s> not found"
-#~ msgstr "未找到3D视图文件<%s>"
+#~ msgid "Prefix for output raster map(s)"
+#~ msgstr "输出栅格图的名称"
 
 #, fuzzy
-#~ msgid "Unable to guess site_list format"
-#~ msgstr "输入文件"
+#~ msgid "String to represent no data cell"
+#~ msgstr "表示无数据像元的字符串"
 
-#, fuzzy
-#~ msgid "Failed to allocate site structure"
-#~ msgstr "无法为字符串分配内存"
+#~ msgid "Character to represent no data cell"
+#~ msgstr "用来表示无数据像元的字符"
 
 #, fuzzy
-#~ msgid "Transferring sites to vector point map..."
-#~ msgstr ""
-#~ "\n"
-#~ "现在开始转换矢量...\n"
+#~ msgid "Binary raster file to be imported"
+#~ msgstr "将要导入的栅格文件"
+
+#~ msgid "Name of spread path raster map"
+#~ msgstr "蔓延路径栅格图的名称"
+
+#~ msgid "Run verbosely"
+#~ msgstr "以详细模式运行"
 
 #, fuzzy
-#~ msgid "%d sites written."
-#~ msgstr "%d 个点写入矢量文件"
+#~ msgid "%s available in mapset <%s>:"
+#~ msgstr "列出可用的格式并退出"
 
-#~ msgid "Name of layer to be used for INTENSITY"
-#~ msgstr "亮度图层的名称"
+#~ msgid "Null value indicator"
+#~ msgstr "空值指示符"
 
-#~ msgid "Name of layer to be used for SATURATION"
-#~ msgstr "饱和度图层的名称"
+#, fuzzy
+#~ msgid "Suppress warnings"
+#~ msgstr "禁止页眉"
 
 #, fuzzy
 #~ msgid ""
@@ -42376,45 +43985,34 @@ msgstr "图层 %d"
 #~ msgstr "需要查询的已有栅格地图的名称"
 
 #, fuzzy
-#~ msgid "Outputs a raster map showing the anisotropic cumulative cost."
-#~ msgstr "输出栅格文件的标题"
+#~ msgid "Name of input raster map(s)"
+#~ msgstr "输入栅格图的名称"
 
 #, fuzzy
-#~ msgid ""
-#~ "Computes anisotropic cumulative cost of moving between different "
-#~ "geographic locations on an input elevation raster map whose cell category "
-#~ "values represent elevation combined with an input raster map layer whose "
-#~ "cell values represent friction cost."
-#~ msgstr ""
-#~ "输出一个栅格图层来显示在输入栅格图上不同位置间移动时的累计成本,输入栅格图"
-#~ "的像元类别值表示成本。"
-
-#~ msgid "Name of output layer to be used for GREEN"
-#~ msgstr "输出的绿色图层的名称"
-
-#~ msgid "Name of output layer to be used for BLUE"
-#~ msgstr "输出的蓝色图层的名称"
+#~ msgid "The output type of the space time dataset"
+#~ msgstr "新的栅格文件的名称"
 
 #, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "栅格图层的表面插值工具。"
+#~ msgid "Type of the aggregation space time dataset, default is strds"
+#~ msgstr "新的栅格文件的名称"
 
-#~ msgid "Surface generation program."
-#~ msgstr "表面生成程序。"
+#, fuzzy
+#~ msgid "Prefix for output raster maps (default: input)"
+#~ msgstr "输出栅格文件的标题"
 
 #, fuzzy
 #~ msgid ""
-#~ "Lat/long databases not supported by r.surf.idw2. Use r.surf.idw instead!"
-#~ msgstr "r.flow 不支持经纬度数据库。请使用 'r.watershed' 计算流的积聚。"
+#~ "Calculates univariate statistics from the non-null cells for each "
+#~ "registered raster3d map of a space time raster3d dataset."
+#~ msgstr "计算栅格地图中非空像元的一元统计值"
 
-#~ msgid "%s=%s - illegal number of interpolation points"
-#~ msgstr "%s=%s - 非法的内插点数"
+#, fuzzy
+#~ msgid "Invalid distance"
+#~ msgstr "地图北向格网坐标"
 
 #, fuzzy
-#~ msgid "Interpolating raster map <%s>... %d row... "
-#~ msgid_plural "Interpolating raster map <%s>... %d rows... "
-#~ msgstr[0] "内插栅格图 <%s> ... %d 行 ... "
-#~ msgstr[1] "内插栅格图 <%s> ... %d 行 ... "
+#~ msgid "Layer number"
+#~ msgstr "图层 %d"
 
 #, fuzzy
 #~ msgid "allocation"
@@ -42425,108 +44023,144 @@ msgstr "图层 %d"
 #~ msgstr "读取 %s ..."
 
 #, fuzzy
-#~ msgid "Name of elevation map"
-#~ msgstr "高程栅格图的名称"
+#~ msgid "Please specify input= or file="
+#~ msgstr "请指定 z 字段。"
 
-#~ msgid "Char string to represent no data cell"
-#~ msgstr "表示无数据像元的字符串"
+#, fuzzy
+#~ msgid "invalid value for fprange= <%s>"
+#~ msgstr "%s:无法为 [%s] 读取范围"
 
 #, fuzzy
-#~ msgid "Option <%s> or <%s> must be specified"
+#~ msgid "Either -p or output= must be given"
 #~ msgstr "必须指定'from_table'或'select'选项。"
 
 #, fuzzy
-#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
-#~ msgstr "必须指定'from_table'或'select'选项。"
+#~ msgid "Please specify output= or outfile="
+#~ msgstr "请指定 z 字段。"
 
-#~ msgid "Unknown metric: [%s]."
-#~ msgstr "未知的量度:[%s]"
+#, fuzzy
+#~ msgid "Please specify output= and samplingpos="
+#~ msgstr "请指定 z 字段。"
 
 #, fuzzy
-#~ msgid "Error reading category file for <%s>"
-#~ msgstr "为 <%s> 读取类别文件时发生错误。"
+#~ msgid "Please specify input= or infile="
+#~ msgstr "请指定 z 字段。"
 
 #, fuzzy
-#~ msgid "Error in reading color file for <%s>"
-#~ msgstr "为 <%s> 读取色彩文件时发生错误。"
+#~ msgid "Please specify input= and datapos="
+#~ msgstr "请指定 z 字段。"
 
-#~ msgid "String representing no data cell value"
-#~ msgstr "代表无数据像元值的字符串"
+#, fuzzy
+#~ msgid "Display the "
+#~ msgstr "读取地图"
 
 #, fuzzy
-#~ msgid "Prefix for output raster map(s)"
-#~ msgstr "输出栅格图的名称"
+#~ msgid "One of options <%s> or <%s> must be given"
+#~ msgstr "必须指定'from_table'或'select'选项。"
 
 #, fuzzy
-#~ msgid "String to represent no data cell"
-#~ msgstr "表示无数据像元的字符串"
+#~ msgid "High Pass Filter Options"
+#~ msgstr "相关性"
 
-#~ msgid "Character to represent no data cell"
-#~ msgstr "用来表示无数据像元的字符"
+#, fuzzy
+#~ msgid "Name of elevation raster map"
+#~ msgstr "高程栅格图的名称"
 
 #, fuzzy
-#~ msgid "Binary raster file to be imported"
-#~ msgstr "将要导入的栅格文件"
+#~ msgid "coordinates of the outlet (east,north)"
+#~ msgstr "地图东向和北向格网坐标的起点"
 
-#~ msgid "Name of spread path raster map"
-#~ msgstr "蔓延路径栅格图的名称"
+#, fuzzy
+#~ msgid "No maps output"
+#~ msgstr "没有输出地图"
 
-#~ msgid "Run verbosely"
-#~ msgstr "以详细模式运行"
+#~ msgid "Not enough memory for adx"
+#~ msgstr "没有足够的内存用于 adx"
+
+#~ msgid "Not enough memory for ady"
+#~ msgstr "没有足够的内存用于 ady"
+
+#~ msgid "Not enough memory for adxx"
+#~ msgstr "没有足够的内存用于 adxx"
+
+#~ msgid "Not enough memory for adyy"
+#~ msgstr "没有足够的内存用于 adyy"
+
+#~ msgid "Not enough memory for adxy"
+#~ msgstr "没有足够的内存用于 adxy"
+
+#~ msgid "Cannot create tree"
+#~ msgstr "无法创建树"
+
+#~ msgid "Cannot create tree info"
+#~ msgstr "无法创建树的信息"
 
 #, fuzzy
-#~ msgid "%s available in mapset <%s>:"
-#~ msgstr "列出可用的格式并退出"
+#~ msgid "Unable To create table: %s"
+#~ msgstr "无法创建文件 [%s]"
 
-#~ msgid "Null value indicator"
-#~ msgstr "空值指示符"
+#, fuzzy
+#~ msgid "Not enough memory"
+#~ msgstr "没有足够的内存用于 az"
 
 #, fuzzy
-#~ msgid "Suppress warnings"
-#~ msgstr "禁止页眉"
+#~ msgid "Options <%s/%s> and <%s> are mutually exclusive"
+#~ msgstr "必须指定'from_table'或'select'选项。"
 
 #, fuzzy
-#~ msgid "High Pass Filter Options"
-#~ msgstr "相关性"
+#~ msgid "One of options <%s> or <%s> must be specified"
+#~ msgstr "必须指定'from_table'或'select'选项。"
 
 #, fuzzy
-#~ msgid "Name of input raster map(s)"
-#~ msgstr "输入栅格图的名称"
+#~ msgid "Option <%s> must be specified"
+#~ msgstr "必须指定'from_table'或'select'选项。"
 
 #, fuzzy
-#~ msgid "The output type of the space time dataset"
-#~ msgstr "新的栅格文件的名称"
+#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgstr "将栅格图转化为矢量图层。"
 
 #, fuzzy
-#~ msgid "Type of the aggregation space time dataset, default is strds"
-#~ msgstr "新的栅格文件的名称"
+#~ msgid "Site file <%s> not found"
+#~ msgstr "未找到3D视图文件<%s>"
 
 #, fuzzy
-#~ msgid "Prefix for output raster maps (default: input)"
-#~ msgstr "输出栅格文件的标题"
+#~ msgid "Unable to guess site_list format"
+#~ msgstr "输入文件"
 
 #, fuzzy
-#~ msgid "Name of elevation raster map"
-#~ msgstr "高程栅格图的名称"
+#~ msgid "Failed to allocate site structure"
+#~ msgstr "无法为字符串分配内存"
 
 #, fuzzy
-#~ msgid "coordinates of the outlet (east,north)"
-#~ msgstr "地图东向和北向格网坐标的起点"
+#~ msgid "Transferring sites to vector point map..."
+#~ msgstr ""
+#~ "\n"
+#~ "现在开始转换矢量...\n"
 
 #, fuzzy
-#~ msgid "No maps output"
-#~ msgstr "没有输出地图"
+#~ msgid "%d sites written."
+#~ msgstr "%d 个点写入矢量文件"
 
 #, fuzzy
-#~ msgid ""
-#~ "Calculates univariate statistics from the non-null cells for each "
-#~ "registered raster3d map of a space time raster3d dataset."
-#~ msgstr "计算栅格地图中非空像元的一元统计值"
+#~ msgid "Performing map %s + %s"
+#~ msgstr "读取地图 %s 时发生错误"
 
 #, fuzzy
-#~ msgid "Invalid distance"
-#~ msgstr "地图北向格网坐标"
+#~ msgid "Unable to create vector map"
+#~ msgstr "不能创建输出地图 <%s>"
 
 #, fuzzy
-#~ msgid "Layer number"
-#~ msgstr "图层 %d"
+#~ msgid "Unknown raster map type"
+#~ msgstr "只打印栅格图的类型"
+
+#, fuzzy
+#~ msgid "File '%s' already exists and will be overwritten"
+#~ msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
+
+#, fuzzy
+#~ msgid "Option <%s> or <%s> must be specified"
+#~ msgstr "必须指定'from_table'或'select'选项。"
+
+#, fuzzy
+#~ msgid "One of -%c or options <%s>, <%s> or <%s> must be specified"
+#~ msgstr "必须指定'from_table'或'select'选项。"
diff --git a/locale/po/grasswxpy_cs.po b/locale/po/grasswxpy_cs.po
index ac173d2..10360a9 100644
--- a/locale/po/grasswxpy_cs.po
+++ b/locale/po/grasswxpy_cs.po
@@ -5,16 +5,15 @@
 # Jan Trochta <j.trochta seznam.cz>, 2008.
 # Miroslav Hořejší <miroslav.horejsi at fsv.cvut.cz>, 2009/01.
 # Pavel Valenta <pavel.valenta at fsv.cvut.cz>, 2009/01.
-# Stanislav Horáček <stanislav.horacek at gmail.com>, 2015.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_cs\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-03-15 18:32+0100\n"
-"Last-Translator: Stanislav Horáček <stanislav.horacek at gmail.com>\n"
-"Language-Team: <freegeocz at fsv.cvut.cz>\n"
+"Last-Translator: Jan Trochta <j.trochta at gmail.com>\n"
+"Language-Team:  <cs at li.org>\n"
 "Language: cs_CS\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -30,7 +29,7 @@ msgid "Name of raster map:"
 msgstr "Jméno rastrové mapy:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Jméno vektorové mapy:"
 
@@ -150,7 +149,7 @@ msgstr "Podmínka"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "Vrstva"
@@ -219,14 +218,14 @@ msgid "Reload"
 msgstr "Znovu načíst"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "Ne"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Budiž"
 
@@ -256,8 +255,8 @@ msgstr "Zakázané:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Barva"
@@ -288,9 +287,10 @@ msgstr "Index ostrosti"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Šířka:"
 
@@ -298,14 +298,14 @@ msgstr "Šířka:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Výška:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Data"
 
@@ -337,13 +337,13 @@ msgid "Comment"
 msgstr "Příkazy"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "Vlastnosti modelu"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadata"
 
@@ -354,7 +354,7 @@ msgstr "Příkazy"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Povolit přepsání existujících souborů"
@@ -374,10 +374,10 @@ msgstr "Zavřít dialog a ignorovat provedené změny"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Jméno:"
 
@@ -442,12 +442,12 @@ msgstr "Rastrové mapy"
 msgid "3D raster maps"
 msgstr "3D rastrové mapy"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "Vektorové mapy"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "neznámý"
@@ -476,24 +476,24 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "Parametry modelu"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "Smazat dočasná data"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Spustit"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Proměnné"
 
@@ -514,7 +514,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Výstup příkazů"
 
@@ -578,7 +578,7 @@ msgid "Choose model file"
 msgstr "Vyberte model ze souboru"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "GRASS soubor modulu (*.gxm)|*.gxm"
 
@@ -605,7 +605,7 @@ msgstr "Soubor <%s> byl uložen"
 msgid "Choose file to save current model"
 msgstr "Vybrat soubor pro uložení aktuálního modelu"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Soubor již existuje"
 
@@ -628,7 +628,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "Model je platný"
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -641,7 +641,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr "Model exportován do <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Přidat vrstvu s příkazem"
@@ -673,7 +673,7 @@ msgstr "Prosím čekejte, načítám model..."
 msgid "Writing current settings to model file failed."
 msgstr "Zápis aktuálního nastavení do souboru modelu selhalo."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Nelze otevřít soubor <%s> pro zápis."
@@ -682,15 +682,15 @@ msgstr "Nelze otevřít soubor <%s> pro zápis."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -767,10 +767,10 @@ msgstr "výchozí hodnota"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Popis"
 
@@ -792,13 +792,13 @@ msgid "string"
 msgstr "řetězec"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "rastrová data"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vektorová mapa"
 
@@ -811,7 +811,7 @@ msgid "mapset"
 msgstr "mapset"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "soubor"
 
@@ -953,7 +953,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Vybrat rastrovou mapu:"
 
@@ -974,7 +974,7 @@ msgstr " %d map bylo smazáno ze současného mapsetu"
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 #, fuzzy
@@ -1006,8 +1006,8 @@ msgstr "Popisek osy Y:"
 msgid "Label font size (pts):"
 msgstr "Velikost písma popisků (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1056,9 +1056,9 @@ msgstr "Nastavení profilu uloženo do souboru '%s'."
 msgid "No map or image group selected to plot."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Upozornění"
 
@@ -1086,8 +1086,8 @@ msgstr "Barva linie"
 msgid "Line width"
 msgstr "Šířka linie"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "styl linie"
 
@@ -1101,19 +1101,19 @@ msgid "Transect segment marker settings"
 msgstr "Nastavení značek segmentů transektu"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr " Velikost"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "Soubor"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Styl"
 
@@ -1363,19 +1363,19 @@ msgid "Under Construction"
 msgstr "Ve vývoji"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Nastavení stránky"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Náhled tisku"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1481,7 +1481,7 @@ msgid "Output"
 msgstr "Výstup"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parametry"
 
@@ -1521,8 +1521,7 @@ msgid "Analysing..."
 msgstr "Analýza"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Nastavení"
@@ -1579,7 +1578,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Barva pro vybraný vlicovací bod:"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1605,10 +1604,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Zavřít dialog "
 
@@ -1629,12 +1629,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Síťová analýza"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1642,48 +1642,48 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr " %d map bylo smazáno ze současného mapsetu"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Přepsat?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "Georektifikace vektorové mapy <%s< selhala"
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1691,210 +1691,210 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Nelze nastavit "
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Přepsat?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Vektorová mapa <%s> nebyla nalezena."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Vektorová mapa <%s> nebyla nalezena."
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Mapové vrstvy"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Přidat vrstvu"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Správa vrstev"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Upravit nebo vypsat kategorie"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Vybrat %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr "Odstraní existující atributovou tabulu z vektorové mapy."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "použít"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Datový typ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "Vytvořit/znovu sestavit topologii"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "bod"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "bod"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Levé: nový bod"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Číselný sloupec:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "Nejkratší cesta"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "bod"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "Problém obchodního cestujícího"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, fuzzy, python-format
 msgid "Maximum flow %s"
 msgstr "Maximální tok"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Jméno zdroje"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Ukázat body"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, fuzzy, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "vytvoří Steinerův strom pro síť a zadané terminály"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Přepsat?"
@@ -2078,297 +2078,297 @@ msgstr "Vyberte transformaci datumu"
 msgid "Select from list of datum transformations"
 msgstr "Vyberte ze seznamu transformací datumu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Definujte adresář databáze GRASSu a název lokace"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Procházet"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Adresář GIS dat:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Lokace projektu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Název adresáře lokace v adresáři s daty GRASSu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "Název lokace"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr "Neplatný název lokace"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Vybrat adresář s daty GRASSu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Lokace již v adresáři databáze GRASSu existuje."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Nelze vytvořit lokaci"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Zvolte způsob vytvoření nové lokace"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "Zvolit EPSG kód souřadnicového referenčního systému"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 "Načíst kartografické zobrazení a datum z již georeferencovaného souboru"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 "Načíst kartografické zobrazení a datum ze souboru typu Well Known Text "
 "(WKT) .prj"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "Zvolit parametry souřadnicového systému ze seznamu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr "Určit kartografické zobrazení a datum s použitím PROJ.4 parametrů"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Vytvořit obecný kartézský souřadnicový systém (XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Vybrat kartografické zobrazení"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Kód"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Kód kartografického zobrazení:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Vyhledat v popisu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Nelze načíst seznam: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Vyberte parametry kartografického zobrazení"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Vybrat geodetické datum nebo elipsoid (další strana)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Datum související s daným vybraným elipsoidem"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Pouze elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "Musíte vložit hodnoty pro %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Definujte parametry kartografického zobrazení %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Specifikovat geodetické datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Kód datumu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Vyberte elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "Databáze"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Kód elipsoidu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Zvolte georeferencovaný soubor"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Georeferencovaný soubor:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "Soubor WTK:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Zvolte EPSG kód"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Cesta k souboru s EPSG kódy:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Kód EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Vyberte soubor s EPSG kódy"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Nelze načíst seznam EPSG kódů: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Zvolte metodu nebo specifikujte parametry georeference"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Vložte PROJ.4 parametry:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Je vyžadováno datum transformace"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Shrnutí"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "Adresář databáze GRASSu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Název lokace:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Popis lokace:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Projekce:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "Definice PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "volitelné"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Přejete si založit lokaci GRASSu <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Vytvořit novou lokaci?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Definujte novou lokaci GRASSu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2379,15 +2379,15 @@ msgstr ""
 "\n"
 "Detaily: %(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Průvodce vytvořením lokace byl zavřen. Lokace nebyla vytvořena."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Nelze vytvořit novou lokaci"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, fuzzy, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2396,16 +2396,16 @@ msgstr ""
 "Lokace <%(loc)s> bude vytvořena v adresáři s GIS daty <%(dir)s>. Je potřeba "
 "změnit výchozí adresář s GIS daty na úvodní obrazovce."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "Nový adresář GIS dat"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Kód EPSG chybí."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "Soubor nebyl nalezen."
@@ -2826,7 +2826,16 @@ msgstr "Přidat vrstvu s popisky"
 msgid "Remove selected class"
 msgstr "Přejmenovat vybraný mapset"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2837,71 +2846,95 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: typ vrstvy <%(type)s> není ještě podporován"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "Příkaz ukončen"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "Detaily:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Nepodporovaný typ mapové vrstvy '%s'"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "Chyba: vykreslování selhalo"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Vykreslit"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Načítám data..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Vykreslit"
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr "Vykresluje se..."
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Zvětšit podle výchozího regionu"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr "Chyba: Nelze otevřít '%(file)s'. Důvod: %(ret)s. wxGUI končí.\n"
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Nelze načíst seznam EPSG kódů: %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Neplatná hodnota: %s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Nelze přiblížit na rastrovou vrstvu <%s>."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Detaily:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Nelze přiblížit na vektorovou vrstvu <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Nelze přiblížit na 3D rastrovou vrstvu <%s>."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 #, fuzzy
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
@@ -2910,68 +2943,39 @@ msgstr ""
 "Nelze získat současný geografický region. wxGUI se ukončuje. Prosím spusťte "
 "ručně g.region  pro nápravu problému. "
 
-#: ../gui/wxpython/core/render.py:987
-#, fuzzy, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "Chyba: vykreslování selhalo"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Nelze vykreslit mapovou vrstvu <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Nelze vykreslit překrytí <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Načítám data..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Vykreslit"
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr "Vykresluje se..."
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Důvod"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Zpráva"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Vykonání příkazu selhalo:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Chyba:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Nelze vykonat příkaz: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Chyba v %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Nelze otevřít soubor pracovní plochy <%s> pro čtení."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2984,12 +2988,12 @@ msgstr ""
 "\n"
 "Počet vynechaných linií: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr "řádek: %d"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2998,30 +3002,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Soubor nebyl nalezen."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr "Data jsou ponechána v nevhodném stavu a mohou být porušena"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Příkaz přerušen"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Příkaz ukončen"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3214,39 +3223,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Nová vektorová mapa <%s> byla vytvořena"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "Nelze otevřít  '%s'"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Nelze otevřít soubor <%s> pro zápis."
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Duplicitní atributy"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Nelze načíst seznam EPSG kódů: %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Zvolit barvu"
 
@@ -3314,12 +3323,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "Formát:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Velikost fontu:"
@@ -3335,7 +3344,7 @@ msgid "Close dialog and apply changes"
 msgstr "Zavřít dialog a ignorovat provedené změny"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Uložit změny"
 
@@ -3354,7 +3363,7 @@ msgstr "Formát:"
 msgid "Orientation"
 msgstr "Otočení:"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "Šířka:"
@@ -3406,7 +3415,7 @@ msgid "Map frame settings"
 msgstr "Aktualizovat nastavení"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 #, fuzzy
 msgid "Map frame"
 msgstr "Měřítko mapy"
@@ -3439,7 +3448,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "Mapová projekce"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "Mapset:"
@@ -3467,7 +3476,7 @@ msgstr "V:"
 msgid "N:"
 msgstr "S:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "Styl:"
@@ -3482,7 +3491,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "georektifikace 1. řádu"
@@ -3522,177 +3531,178 @@ msgstr "Nebyla vybrána žádná mapová vrstva"
 msgid "No region selected!"
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Rastrová mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "rastrová mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "rastrová mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr "rastr:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr "Přidat mapu"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr "body"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr "linie"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "plochy"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "Datový typ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Přidat"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "Vyčistit vektorovou mapu"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Smazat"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "Vlastnosti"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "Nastavení rastru"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "Nastavení vektorů"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "Vlastnosti"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "Obrátit výběr"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr "Typ prvku"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr "centroidy"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr "hranice"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "Obrátit výběr"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "Databázové spojení není definováno v DB souboru."
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "Odstranit vrstvu"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Maska"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "Zabalit všechny kromě aktuální mapset"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "Barva"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 #, fuzzy
 msgid "Outline"
 msgstr "linie"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 #, fuzzy
 msgid "Width (pts):"
 msgstr "Šířka:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3700,573 +3710,573 @@ msgstr "Šířka:"
 msgid "Color:"
 msgstr "Barva:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "barva sítě"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "Vyberte adresář:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "Pravidla pro barvy"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "styl linie"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Symbolika"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "symbol"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "Soubor WTK:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "Vyberte soubor"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "velikost"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 #, fuzzy
 msgid "size from map table column:"
 msgstr "Odstranit všechny sloupce"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "Změnit měřítko"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "Otočení:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "Odstranit všechny sloupce"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 #, fuzzy
 msgid "Set width (pts):"
 msgstr "Šířka linie (v pixelech):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 #, fuzzy
 msgid "multiply width by category value"
 msgstr "Interaktivně editovat hodnoty kategorií"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "hrubý styl:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "Vyberte soubor"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "astra"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "Vyberte vstupní soubor"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 #, fuzzy
 msgid "pattern line width (pts):"
 msgstr "Šířka linie (v pixelech):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "Série rastrových map"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "Zobrazit legendu"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "Jméno zdroje"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "Rasterizace vektorové vrstvy"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "Vybrat rastrovou mapu:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "Zobrazit legendu"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "Rozšířené nastavení"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "rozmezí"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "Vektorové linie"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 #, fuzzy
 msgid "Show vector legend"
 msgstr "Ukázat vektorové linie"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "Dotaz na vektorovou mapu"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Vektorová mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr "Přidat vrstvu s popisky"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Pozice"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "Sloupce"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "Sloupce"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "rastrová data"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "Nastavení serveru"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "Nastavení modelování"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 #, fuzzy
 msgid "use border color:"
 msgstr "použijte | X souřadnici"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "Barva pozadí:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 #, fuzzy
 msgid "Unsupported units"
 msgstr "Nepodporovaný typ vrstvy '%s'"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "délka"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 #, fuzzy
 msgid "default"
 msgstr "Výchozí"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "Typ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "Jméno prvku:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "Legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 #, fuzzy
 msgid "Text"
 msgstr "Test"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Vložte text:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "Nastavení písma"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "Zvýraznění"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 #, fuzzy
 msgid "text border"
 msgstr "georektifikace 1. řádu"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "Levé: nový bod"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "Nastavení písma"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "Obraz"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "Vyberte vstupní adresář"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "Vyberte vstupní adresář"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "Měřítko a směrová růžice"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "Otočení:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 #, fuzzy
 msgid ""
 "PIL\n"
 "missing"
 msgstr "Emise"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "Nelze načíst seznam EPSG kódů: %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 #, fuzzy
 msgid "North Arrow"
 msgstr "Měřítko a směrová růžice"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "Ukázat nastavení"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Bod"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "symbol"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "Vybrat myší"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "Barva linie"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "Průhledný"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "barva sítě"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "Měřítko a směrová růžice"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "Velikost:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "Velikost symbolu:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "Změnit nastavení"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "Změnit nastavení"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "Šířka linie (v pixelech):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "vektorové popisky"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4412,97 +4422,97 @@ msgstr ""
 msgid "labels: "
 msgstr "Přidat vrstvu s popisky"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "Nelze otevřít soubor <%s> pro zápis."
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, fuzzy, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr "Rozlišení nemůže být 0"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "Nelze načíst seznam: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "Nelze načíst seznam: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "Nelze načíst seznam: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "Nelze načíst seznam: %s"
@@ -4563,30 +4573,30 @@ msgstr "Obvod"
 msgid "degree"
 msgstr "dtree"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "Nelze načíst rastrovou mapu"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 #, fuzzy
 msgid "Generate PostScript output"
 msgstr "Nástroj pro tvorbu mapových výstupů ve formátu PostScript."
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 #, fuzzy
 msgid "Generate PDF output"
 msgstr "Vytvořit bodovou vrstvu"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4603,7 +4613,7 @@ msgstr "Zvětšit podle výchozího regionu"
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "Odstranit vybranou lokaci"
@@ -4618,13 +4628,13 @@ msgstr "Zobrazit mřížku"
 msgid "Quit Cartographic Composer"
 msgstr "Ukončit Grafické modelování"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "Přidat mapové prvky"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "Přidat vrstvu"
@@ -4679,22 +4689,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Nepodporovaný typ vrstvy '%s'"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "Nelze načíst seznam EPSG kódů: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "Spustit nový displej"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Nelze načíst seznam EPSG kódů: %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Spustit nový displej"
@@ -4730,30 +4745,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Mapové okno"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "Spustit GRASS seanci"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS Mapové okno: %(id)d - Location: %(loc)s"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "2D zobrazení"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4764,12 +4780,12 @@ msgstr ""
 "\n"
 "Detaily: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "Nástrojová lištavektorové digitalizace"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4784,117 +4800,130 @@ msgstr ""
 "\n"
 "Detaily: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Spouštím 3D zobrazení..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Prosím čekejte, načítám data..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "Prosím čekejte, načítám data..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 #, fuzzy
 msgid "Switching back to 2D view mode..."
 msgstr "Zpátky na 2D zobrazení"
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Nástrojová lišta pro správu mapy"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Digitalizovat"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Vektorová digitalizace selhala"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Není co zobrazit (prázdná mapa). Operace ukončena."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Nebyla vybrána žádná vektorová mapa pro editaci."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr "Nebyla vybrána žádná vektorová mapa pro dotazování."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Přidat vrstvu s textem"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Zvětšit podle výchozího regionu"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Zvětšit podle uloženého regionu"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Přiblížit na výpočetní region"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Uložit aktuální zobrazení jako pojmenovaný region"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Nástrojová lištavektorové digitalizace"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Vykreslit"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Zapnout/vypnout automatické překreslování"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Zobr. výpoč. region"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Zobrazit meze výpočetního regionu "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4905,16 +4934,16 @@ msgstr ""
 "výpočetní region bude zobrazen jako červený rámeček uvnitř zobrazeného "
 "regionu."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Mód displeje"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
 msgid ""
 "Align region extent based on display size from center point. Default value "
@@ -4923,17 +4952,17 @@ msgstr ""
 "Nastavit zobrazené rozlišení jako výpočetní. Vychozí hodnota pro nová mapová "
 "okna může být upravena v okně 'Uživatelské nastavení grafického prostředí'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "Zobrazit celý region"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Nastavit zobrazené rozlišení jako výpočetní "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4941,43 +4970,43 @@ msgstr ""
 "Nastavit zobrazené rozlišení jako výpočetní. Vychozí hodnota pro nová mapová "
 "okna může být upravena v okně 'Uživatelské nastavení grafického prostředí'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Měřítko mapy"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Jdi na"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "Kartografické zobrazení není definováno (zkontrolujte nastavení)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "Chyba kartografického zobrazení (zkontrolujte nastavení)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Kartografické zobrazení"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "Použít definované kartografické zobrazení"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 #, fuzzy
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
@@ -4986,24 +5015,24 @@ msgstr ""
 "Změní projekci souřadnic zobrazených ve stavovém řádku. Projekci lze "
 "definovat v nastavení GUI (záložka 'Displej')"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MASKA"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Geometrie displeje"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Souřadnice"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Rozsah"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 msgid "Computational region"
 msgstr "Výpočetní region"
 
@@ -5019,104 +5048,114 @@ msgstr "Dotazovat vybranou rastrovou/vektorovou mapu"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Vybrat vektorový prvek"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Georektifikovat rastrové a vektorové mapy"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Zobrazit/skrýt měřítko a směrovou růžici"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Zobrazit/skrýt legendu"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Zobrazit/skrýt měřítko a směrovou růžici"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analýza mapy"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Měření vzdálenosti"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Měření vzdálenosti"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Profil mapy povrchu"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Vytvořit histogram obrazu nebo rastrového souboru"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "Vytvořit histogram obrazu nebo rastrového souboru"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Síťová analýza"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Táhnout myší pro zobrazení celeé mapy"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "Kliknout nebo táhnout myší pro přiblížení"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "Kliknout nebo táhnout myší pro zmenšení"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "3D pohled"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "3D mód není k dispozici"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Důvody: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "Vektorová digitalizace není dostupná"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
@@ -5126,6 +5165,11 @@ msgstr ""
 "to brzy změní). Prosím kontrolujte nové verze GRASS GIS. Zatím můžete použít "
 "modul \"v.digit\" z nabídky vytvořit vektor."
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Vektorová digitalizace"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5915,13 +5959,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "Kvantizace"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "Popis"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 #, fuzzy
 msgid "Export"
@@ -5932,12 +5976,12 @@ msgstr "MPEG-1 export"
 msgid "Add time stamp"
 msgstr "Časové razítko"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Přidata data"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "Přidat vrstvu s textem"
@@ -5961,7 +6005,7 @@ msgid "Sample text"
 msgstr "Vzorové body profilu"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5978,7 +6022,7 @@ msgid "Choose image file"
 msgstr "Vyberte soubor"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Test"
@@ -6009,7 +6053,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "MPEG-1 export"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -6018,14 +6062,14 @@ msgstr ""
 msgid "animation_"
 msgstr "Kvantizace"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "Formát:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Adresář:"
 
@@ -6167,7 +6211,7 @@ msgstr "Prosím vyberte čistící nástroj, který chcete posunout dolů"
 msgid "Animation Tool settings"
 msgstr "Kvantizace"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6224,22 +6268,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Neplatné:"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Odstranit mapovou vrstvu"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Přepsat?"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Vektorová mapa <%s> nebyla nalezena."
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6278,7 +6322,7 @@ msgstr "Nástrojová lišta pro správu mapy"
 msgid "Animation Toolbar"
 msgstr "Nástrojová lišta pro správu mapy"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 #, fuzzy
 msgid "Misc Toolbar"
@@ -6324,8 +6368,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Vektorová mapa <%s> nebyla nalezena."
@@ -6369,7 +6413,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Rektifikuji obrazy. prosím počkejte..."
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6393,37 +6437,37 @@ msgstr "Přidat připojené vrstvy do stromu vrstev"
 msgid "No map series nor space-time dataset is added."
 msgstr "Vytvořit z databáze"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Mapa <%s> nebyla nalezena."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6442,11 +6486,11 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6483,14 +6527,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "GRASS GIS HIstogram obrazu nebo rastrové mapy"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Vykreslit"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Nápověda"
 
@@ -6507,21 +6551,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Vybrat zdrojový mapset:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Vektorová mapa <%s> nebyla nalezena."
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6548,609 +6592,609 @@ msgstr "X"
 msgid "Y"
 msgstr "Y"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Časové razítko"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Import rastrových dat"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Import vektorových dat"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Import rastrových dat"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, python-format
 msgid "Mapset: %s"
 msgstr "Mapset: %s"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Měřítko mapy"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Časové razítko"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Vytvořit/znovu sestavit topologii"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Pohled"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Vzhled"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "Analýza"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "Kvantizace"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Perspektiva:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Převýšení:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 #, fuzzy
 msgid "Look:"
 msgstr "Pohled na:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "koule"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "Vykreslit"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "vršek"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "Reset"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Reset na výchozí pohled"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Překódovat"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "Jméno prvku:"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 #, fuzzy
 msgid "Save image sequence"
 msgstr "Nastavit velikost obrazu"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "Vyberte vstupní adresář"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Povrch"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "Povrch nákladů"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vektor"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "3D rastr"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Osvětlení"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr "Okraj"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Mód:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "hrubý"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "jemný"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "oba"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Stínění:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "plocha"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "Gouraudovo stínování"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "Nastavit všechny"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Použít vykreslovací nastavení pro všechny načtené povrchy"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "Hrubý:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "Rozlišení:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "styl"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "síť"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "povrch"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "barva sítě"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "Najít modul"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Vlastnosti povrchu"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Průhlednost"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Jasnost"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "mapa"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "zrušit"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "stejný"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Reset"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "Reset na výchozí pohled"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "barva"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "podle barvy"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 #, fuzzy
 msgid "Horizontal X:"
 msgstr "Úhel horizontu"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 #, fuzzy
 msgid "Horizontal Y:"
 msgstr "Úhel horizontu"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Otočení:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Nový"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "Rozlišení:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "Hodnoty"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "Průhlednost"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Ukázat vektorové linie"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Vektorové linie"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Linie:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "šířka:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "barva:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 #, fuzzy
 msgid "use color for thematic mapping"
 msgstr "Klasifikuje atributové data, například pro tématické mapy"
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 #, fuzzy
 msgid "use width for thematic mapping"
 msgstr "Klasifikuje atributové data, například pro tématické mapy"
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 msgid "Set options..."
 msgstr "Nastavit volby..."
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Displej"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "na povrchu"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Výška nad povrchem:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Ukázat vektorové body"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Vektorové body"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Ikona:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 #, fuzzy
 msgid "use size for thematic mapping"
 msgstr "Klasifikuje atributové data, například pro tématické mapy"
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "3D rastrová mapa"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "Isopovrch"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Rozlišení:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Seznam Isopovrchů"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr "Ukázat světelný model"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr "Umístění zdroje světla"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "Barva světla a intenzita"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "Jas:"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr "Hrany s okrajem"
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "S && Z"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "S && V"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "J &c Z"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "J && V"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr "Výška okraje ze spodní strany"
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "barva sítě"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "barva sítě"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Přidat vrstvu"
@@ -7565,15 +7609,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr "Rastrová mapa <%s> nebyla nalezena."
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr "Vektorová mapa <%s> nebyla nalezena."
@@ -7584,12 +7628,14 @@ msgid "3d raster map <%s> not found"
 msgstr "3D rastrová mapa <%s> nebyla nalezena."
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Import rastrových dat"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 #, fuzzy
 msgid "Link external raster data"
 msgstr "Připojit rastrová data"
@@ -7606,12 +7652,14 @@ msgid "Set raster output format"
 msgstr "Zvolit font výstupu"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Import vektorových dat"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 #, fuzzy
 msgid "Link external vector data"
 msgstr "Připojit vektorová data"
@@ -7635,7 +7683,7 @@ msgstr "Importovat data z WMS serveru"
 msgid "Add command layer"
 msgstr "Přidat vrstvu s příkazem"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Ukončit"
@@ -7740,201 +7788,204 @@ msgstr "Export do běžných formátů"
 msgid "Export PostGIS"
 msgstr "Exportovat model do Python skriptu"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+msgid "Export attribute table"
+msgstr "Exportovat atributovou tabulku"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Vytvořit RGB"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr " %d map bylo smazáno ze současného mapsetu"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Nastavit tabulku barev"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Zobrazit atributová data"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Spustit editaci"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Ukončit editaci"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "Vytvořit/znovu sestavit topologii"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Přiblížit na vybranou mapu (ignorovat NULL hodnoty)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Překódovat interaktivně"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogram"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Univariantní statistika rastrové vrstvy"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Zprávy a statistiky"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Profil"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "Odstranit vybranou vrstvu"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Nelze vytvořit profil rastrové mapy."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr "Neplatný název"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Nepodporovaný typ mapové vrstvy '%s'"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Vložte jméno nové mapsetu:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Vytvořit kopii %s <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "%s <%s> již v aktuálním mapsetu existuje. Přejete si ji přepsat?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Přepsat?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Nelze vytvořit kopii <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Nelze vytvořit kopii <%s>. Mapset <%s> není aktuálním mapsetem."
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "Nelze zobrazit histogram rastrové mapy."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Nastavit průhlednost <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Skupina vrstev:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Klikněte pro nastavení vrstev "
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(dvojklik pro nastavení vlastností)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Prosím čekejte, aktualizuji data..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "průhlednost:"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "Správce vrstev GRASS GISu %s"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 #, fuzzy
 msgid "Workspace Toolbar"
 msgstr "Pracovní oblast"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 #, fuzzy
 msgid "Data Toolbar"
 msgstr "Nástrojová lišta pro správu mapy"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 #, fuzzy
 msgid "Tools Toolbar"
 msgstr "Nástrojová lišta pro správu mapy"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "Nástrojová lištavektorové digitalizace"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Nástrojová lišta pro 3D zobrazení"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr "Přejmenovat mapové okno"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Mapové vrstvy"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Příkazová konzole"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr "Hledat moduly"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Obrátit výběr"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Shell Pythonu"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7942,11 +7993,11 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr "Přepnout na novou lokaci?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7955,33 +8006,33 @@ msgstr ""
 "Současná location je <%(loc)s>.\n"
 "Současný mapset je <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr "Přejete si nyní nastavit výchozí nastavení regionu a jeho rozlišení?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Lokace <%s> vytvořena"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Vybrat model ke spuštění"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Chcete uložit změny pracovní plochy?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Chcete uložit současné nastavení do souboru pracovní plochy?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr "Zavřít mapové okno %s"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
@@ -7990,157 +8041,160 @@ msgstr ""
 "Příkaz '%s' ještě nebyl implementován do WxGUI. Zkuste jej přidat jako "
 "vrstvu příkazů."
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 #, fuzzy
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "Přebuduje topologii všech vektorových map v současném mapsetu."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "Vybrat soubor se skriptem"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Skript Pythonu (*.py)|*.py|Skript Bashe (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Soubor skriptu '%s' neexistuje. Operace zrušena."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "Nastavit region"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "Neplatná hodnota souřadnice. Operace zrušena."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Spouštím script  '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Vložte jméno nové mapsetu:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Vytvořit nový mapset"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "Současný mapset je <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Změnit pracovní prostřední GRASSu"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Vyberte vstupní adresář"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Vyberte vstupní adresář"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr "Informace o systému"
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr "Verze GRASSu"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr "neznámá verze"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+#, fuzzy
+msgid "GRASS SVN revision"
 msgstr "Revize SVN GRASSu:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
 msgstr "Datum sestavení"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+#, fuzzy
+msgid "Build platform"
 msgstr "Platforma sestavení"
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr "Platforma"
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -8148,60 +8202,60 @@ msgstr ""
 "Pracovní plocha není prázdná. Přejete si uložit aktuální nastavení do "
 "souboru pracovního plochy?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "Vytvořit novou pracovní plochu?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Zvolit soubor pracovní plochy"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "Soubor pracovní plochy GRASSu (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Prosím čekejte, pracovní plocha se načítá..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Vyberte soubor GRC k načtení"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Starý soubor pracovní plochy GRASSu (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Vybrat soubor pro uložení aktuální pracovní plochy"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "Soubor pracovní plochy <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Uložit pracovní plochu"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr "Zápis aktuálního nastavení do souboru pracovní plochy selhalo."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "Vložte jméno nové mapsetu:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS Mapové okno: %(id)d - Location: %(loc)s"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, fuzzy, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8209,33 +8263,33 @@ msgid ""
 "Reason: %s"
 msgstr "Nelze načíst téma ikonek..."
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Nelze vložit nový záznam."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Nelze vložit nový záznam."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "Přidat připojené vrstvy do stromu vrstev"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Nepodporovaný typ mapové vrstvy '%s'"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8246,69 +8300,64 @@ msgstr ""
 "%s\n"
 "ze seznamu vrstev?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr "Přejete si odstranit vybranou mapovou vrstvu ze stromu vrstev?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Odstranit mapovou vrstvu"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Ukončit GRASS GUI"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Spustit GRASS seanci"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Rastrová nebo vektorová vrstva <%s> nebyla nalezena"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "Rastrová vrstva <%s> přidána"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "Vektorová vrstva <%s> přidána"
@@ -8376,7 +8425,7 @@ msgstr "Import rastrových dat"
 msgid "Raster Map Calculator"
 msgstr "3D rastrový kalkulátor"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 #, fuzzy
 msgid "Graphical Modeler"
 msgstr "Grafické modelování"
@@ -8472,7 +8521,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignoruj změny a zavři dialog"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Uložit změny a zavřít"
 
@@ -8813,29 +8862,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr "Dialog přiřazení Z souřadnice jako popisku"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Vektorová digitalizace"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Vektorová digitalizace není dostupná"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "Vektorová mapa <%s> nebyla nalezena."
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Nová vektorová mapa <%s> byla vytvořena"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
@@ -9046,7 +9095,7 @@ msgstr "Vektorová digitalizace selhala"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Další nástroje (kopírovat, otočit, spojit, atd.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Zpět"
 
@@ -9124,7 +9173,7 @@ msgstr "Vektorová mapa není 3D. Operace ukončena."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Vybrat vektorovou mapu"
 
@@ -9153,11 +9202,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Neplatná hodnota souřadnice. Operace zrušena."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Vektorová digitalizace selhala"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9183,181 +9227,181 @@ msgstr "Zavřít dialog při ukončení"
 msgid "New vector map"
 msgstr "Nová vektorová mapa"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr "Nastavení serveru"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Server:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Spojení "
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Připojit k serveru"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Rozšířené nastavení"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Rozšířené nastavení"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 msgid " Layer Manager Settings "
 msgstr "Nastavení Správce vrstev"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Jméno výstupní vektorové mapy"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Přejmenovat"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, fuzzy, python-format
 msgid "Connected to <%s>"
 msgstr "Model exportován do <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 msgid "Add web service layer"
 msgstr "Přidat vrstvu webové služby"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "Přid&at vrstvu"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Přidat připojené vrstvy do stromu vrstev"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Vlastnosti vrstvy"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Název výstupní rastrové mapy:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Nastavit region"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Mapové okno"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Načíst region:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Nastavit zobrazené rozlišení jako výpočetní "
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Vložit existující %s"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Načíst region:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "Odstranit mapovou vrstvu"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Odstranit vybranou vrstvu"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr " %d map bylo smazáno ze současného mapsetu"
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "Soubor již existuje"
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Nová vektorová mapa <%s> byla vytvořena"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Načítám data..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Nelze nastavit "
@@ -9472,7 +9516,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Název vrstvy"
 
@@ -9487,8 +9532,8 @@ msgstr "styl"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Přidat smyčku"
+msgid "Add default"
+msgstr "Výchozí"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9497,23 +9542,23 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr "1. Vyberte adresář databáze GRASS GISu"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr "2. Vyberte lokaci GRASSu"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr "3. Vyberte mapset GRASSu"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr "Adresář databáze GRASS GISu obsahuje lokaci."
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
@@ -9522,7 +9567,7 @@ msgstr ""
 "(kartografické zobrazení). Jedna lokace může představovat jeden projekt. "
 "Lokace obsahuje mapsety."
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
@@ -9530,27 +9575,29 @@ msgstr ""
 "Mapset obsahuje gisová data, která se mohou vztahovat k určitému projektu, "
 "úkolu v rámci projektu, subregionu nebo uživateli."
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 msgid "Start &GRASS session"
 msgstr "Spustit sezení &GRASSu"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "&Procházet"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr "No&vý"
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 msgid "Create a new Mapset in selected Location"
 msgstr "Vytvořit nový mapset ve vybrané lokaci"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr "N&ová"
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
@@ -9558,85 +9605,90 @@ msgstr ""
 "Vytvořit novou lokaci pomocí průvodce. Poté, co bude lokace úspěšně "
 "vytvořena, se spustí sezení GRASSu."
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr "Př&ejmenovat"
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Přejmenovat vybranou lokaci"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 msgid "De&lete"
 msgstr "O&dstranit"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Odstranit vybranou lokaci"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "Pře&jmenovat"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Přejmenovat vybraný mapset"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr "Od&stranit"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Odstranit vybraný mapset"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Spuštění GRASS GISu %s %s"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Spustit sezení GRASSu"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr "Nelze nastavit GRASS databázi. Zkontrolujte nastavení."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "CHYBA: Lokace <%s> nebyla nalezena\n"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "CHYBA: Mapset <%s> nebyl nalezen\n"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, python-brace-format
 msgid "Error: {text}"
 msgstr "Chyba: {text}"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 msgid "Import data?"
 msgstr "Importovat data?"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr "Přejete si vytvořit nový mapset?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
@@ -9645,14 +9697,14 @@ msgstr ""
 "Import <%(name)s> selhal.\n"
 "Důvod: %(msg)s"
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9662,7 +9714,7 @@ msgstr ""
 "\n"
 " Tento mapset nemůže být přejmenován."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9673,7 +9725,7 @@ msgstr ""
 "\n"
 "Vložte nové jméno:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9684,7 +9736,7 @@ msgstr ""
 "\n"
 "Mapset <%s> již existuje v location."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9695,7 +9747,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9706,7 +9758,7 @@ msgstr ""
 "\n"
 "Lokace <%s> již v adresáři databáze GRASSu existuje."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9717,7 +9769,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9727,7 +9779,7 @@ msgstr ""
 "\n"
 "Tento mapset nemůže být smazán."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9739,11 +9791,11 @@ msgstr ""
 "\n"
 "VŠECHNY MAPY tohoto mapsetu budou NENÁVRATNĚ SMAZÁNY!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Nelze odstranit mapset"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9754,32 +9806,32 @@ msgstr ""
 "\n"
 "VŠECHNY MAPY této lokace budou NENÁVRATNĚ SMAZÁNY!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Nelze odstranit lokaci"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Zvolit adresář GRASS dat"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr "Mapset <%s> již existuje."
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9788,17 +9840,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Přejmenovat vybraný mapset"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Nelze vytvořit nový mapset: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9817,11 +9869,11 @@ msgstr ""
 "Přejete si odstranit .gislock (k této operaci potřebujete příslušné "
 "oprávnění) a pokračovat?"
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9833,7 +9885,7 @@ msgstr ""
 "Pokud je opravdu spuštěno jiné sezení GRASSu, můžete tímto poškodit data. "
 "Podívejte se radši ještě do správce procesů..."
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9844,7 +9896,7 @@ msgstr ""
 "\n"
 "Detaily: %(reason)s"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
@@ -9853,7 +9905,11 @@ msgstr ""
 "Název <%(name)s> není platným názvem lokace nebo mapsetu. Používejte pouze "
 "znaky ASCII kromě %(chars)s a mezery."
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr "Neplatný název"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
@@ -9864,31 +9920,159 @@ msgstr ""
 "volbou je adresář \"grassdata\" umístěný v domovském adresáři. Adresář "
 "vyberete po stisknutí tlačítka Procházet."
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "&Soubor"
-
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Pracovní plocha"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Vytvořit novou vektorovou mapu"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Vytvořit novou pracovní plochu"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Jméno rastrové mapy:"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Otevřít"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Vybrat vektorovou mapu"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "Načíst soubor pracovní plochy"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Jméno rastrové mapy:"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
-msgstr "Uložit"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Počítám index tvaru rastrové mapy"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"Vektorová mapa <%s> již existuje v současném mapsetu. Přejete si tuto mapu "
+"přepsat?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Prosím vyberte čistící nástroj, který chcete posunout dolů"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Chcete uložit změny v modelu?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Uložit změny"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Nelze vytvořit profil rastrové mapy."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Nelze vytvořit vektorovou mapu <%s>."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Vykreslit"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Vytvořit novou tabulku barev pro rastrovou mapu"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "DIgitalizovat novou plochu"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Přidat novou linii"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Přidat nový bod"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Překrývat rastrové mapy"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Vektorová digitalizace"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Vybrat rastrovou mapu:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Hodnoty buňky"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "rastrová mapa"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "&Soubor"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Pracovní plocha"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Vytvořit novou pracovní plochu"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Otevřít"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "Načíst soubor pracovní plochy"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr "Uložit"
 
 #: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
 msgid "Save as"
@@ -10691,7 +10875,7 @@ msgstr "Grafické modelování"
 msgid "Launch Graphical modeler"
 msgstr "Spustit grafické modelování"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Spustit model"
 
@@ -10757,7 +10941,7 @@ msgstr "Spustit skript"
 msgid "Launches script file."
 msgstr "Spouštím soubor se skriptem."
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Zavřít"
@@ -10767,8 +10951,8 @@ msgstr "Zavřít"
 msgid "Quit wxGUI session."
 msgstr "Ukončit WxGUI sezení"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Ukončit GRASS GUI"
@@ -12376,8 +12560,8 @@ msgid "Develop vector map"
 msgstr "Vytvořit vektorovou mapu"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Vytvořit novou vektorovou mapu"
 
@@ -14497,8 +14681,8 @@ msgstr "GRASS GIS HIstogram obrazu nebo rastrové mapy"
 msgid "Plot temporal values."
 msgstr "Zobrazit meze výpočetního regionu "
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "Ná&pověda"
 
@@ -14618,156 +14802,164 @@ msgstr "Přidat smyčku"
 msgid "Adds loop (series) to model"
 msgstr "Přidat smyčku do modelu"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "Přidat podmínku"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Přidá podmínky (if/else) do modelu"
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Přidá podmínky (if/else) do modelu"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "Odstranit prvek"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "Odstranit data/akce z modelu"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Vlastnosti modelu (jméno, účel, atd.)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "Smazat dočasná data"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "Smazat průběžná data definovaná v modelu"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Spustit celý model"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Vyhodnotit model"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Vyhodnotit celý model"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Zobrazit manuálové HTML stránky Grafického modelování"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "O grafickém modelování"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "Zobrazit informace o Grafickém modelování"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Nelze načíst seznam: %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Export do obrazu"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Exportovat model do Python skriptu"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "MPEG-1 export"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Spustit skript"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Ukončit Grafické modelování"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 #, fuzzy
 msgid "&Insert"
 msgstr "&Instalovat"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Přidat rastrovou vrstvu"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Přidat 3D rastrovou mapu"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "vektorová mapa"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Legenda"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Přidat vytvořenou rastrovou mapu do stromu vrstev"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Přidat mapové prvky"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Přidat vrstvu"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Měřítko a směrová růžice"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Zobrazit manuálové HTML stránky Grafického modelování"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Ukončit Grafické modelování"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Zobrazit informace o Grafickém modelování"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14782,114 +14974,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "GRASS GIS HIstogram obrazu nebo rastrové mapy"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
 msgstr "Neplatný region"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Atributový sloupec:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
 msgstr "Vybrat vektorový prvek"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Mód kategorie"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Neplatný region"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Neplatný region"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Neplatný region"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Neplatný region"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -15086,7 +15278,7 @@ msgstr "SQL příkaz je platný"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -15094,7 +15286,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Správce atributových tabulek GRASS GISu"
 
@@ -15219,7 +15411,7 @@ msgid "Field calculator"
 msgstr "Mapový kalkulátor"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "Přidat nový sloupec"
@@ -15323,15 +15515,15 @@ msgstr "Smazat vybrané záznamy"
 msgid "Delete all records"
 msgstr "Smazat všechny záznamy"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Vybrat vše"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Zrušit výběr"
 
@@ -15522,7 +15714,7 @@ msgid "Driver"
 msgstr "Ovladač"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Databáze"
 
@@ -15652,209 +15844,209 @@ msgstr "Nelze vypočítat směrodatnou odchylku."
 msgid "Field statistics <%s>"
 msgstr "Základní statistiky 3D pixelu (voxel)"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "Zavřít dialog "
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "Zavřít dialog "
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "Atributový dotaz"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Vybrat vektorovou mapu:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "Exportovat barevnou tabulku"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "Vyberte soubor GRC k načtení"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Nahrát"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "Vyberte soubor k uložení"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "&Nastavení"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Uložit barevnou tabulku do souboru"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "Uložit barevnou tabulku do souboru"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "Uložit barevnou tabulku do souboru"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "Reset na výchozí pohled"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Náhled"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr "Není co uložit"
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Výchozí tabulka barev"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr "Neplatná hodnota pravidla '%s'. nelze použít barevnou tabulka."
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "Vytvořit novou tabulku barev pro rastrovou mapu"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr "Vložte hodnoty rastrových kategorií nebo procenta"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 "Vložte hodnoty rastrových kategorií nebo procenta (%(range)s = %(min)d-"
 "%(max)d)"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "Vytvořit novou tabulku barev pro vektorovou mapu"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "Vložte hodnoty rastrových kategorií nebo procenta"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "Atributový dotaz"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "Vybrat vektorovou mapu"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Vrstva:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Atributový sloupec:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "Sloupec s RGB hodnotami:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "Sloupec s RGB hodnotami:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "Odstranit všechny sloupce"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "Konverze řady rastrových vrstev na volume"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "Načíst model ze souboru"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Vyjmout atributovou tabulku."
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "Exportovat barevnou tabulku"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -15863,12 +16055,12 @@ msgstr ""
 "Databázové nastavení není pro vektorovou mapu <%s> definováno v souboru DB. "
 "Toto nastavení můžete provést v panelu 'Správa vrstev'."
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "Databázové spojení"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
@@ -15877,49 +16069,49 @@ msgstr ""
 "Vybraná vrstva <%(map)s> se v aktuálním mapsetu <%(mapset)s> nenachází. "
 "Atributovou tabulku nelze editovat."
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr "Sloupec %s již existuje"
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr "Prosím čekejte, načítají se data z atributové tabulky..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr ""
 "Vložte hodnoty vektorových atributů nebo rozmezí hodnot (n, nebo n1 až n2)"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr ""
 "Vložte hodnoty vektorových atributů nebo rozmezí hodnot (n, nebo n1 až n2)"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "Prosím vyberte čistící nástroj, který chcete posunout dolů"
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15971,23 +16163,23 @@ msgstr "Vykreslit variogram"
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "Techniky krigování"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Velikost bloku:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "Automatické přizpůsobení variogramu"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Model:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Na vývoji se pracuje! Zatím žádnou funkci nemá."
 
@@ -16198,7 +16390,7 @@ msgid "Save expression to file"
 msgstr "Uložit výraz do souboru"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "&Nahrát"
 
@@ -16207,7 +16399,7 @@ msgid "Load expression from file"
 msgstr "Načíst výraz ze souboru"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Kopírovat příkaz jako řetězec do schránky"
 
@@ -16378,14 +16570,174 @@ msgstr "Vyberte soubor pro načtení výrazu"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' zkopírováno do schránky"
 
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Hromadný import"
+
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr "Seznam rastrových vrstev"
+
+#: ../gui/wxpython/modules/import_export.py:62
+msgid "List of vector layers"
+msgstr "Seznam vektorových vrstev"
+
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr "Seznam %s vrstev"
+
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "ID vrstvy"
+
+#: ../gui/wxpython/modules/import_export.py:70
+msgid "Name for output GRASS map (editable)"
+msgstr "Název pro výstupní vrstvu GRASSu (lze upravit)"
+
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+msgid "Projection match"
+msgstr "Kartografické zobrazení odpovídá"
+
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Zavřít dialog při ukončení"
+
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Import"
+
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Importovat vybrané vrstvy"
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr "Nastavení zdroje"
+
+#: ../gui/wxpython/modules/import_export.py:127
+#, fuzzy
+msgid "Import settings"
+msgstr "Nastavení písma"
+
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
+#, fuzzy
+msgid "Add linked layers into layer tree"
+msgstr "Přidat importované vrstvy do stromu vrstev"
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Přidat importované vrstvy do stromu vrstev"
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Připojit"
+
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Připojit vybrané vrstvy"
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+#, fuzzy
+msgid "No layers selected. Operation canceled."
+msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
+
+#: ../gui/wxpython/modules/import_export.py:397
+#, fuzzy
+msgid "Unable to determine number of raster bands"
+msgstr "Nelze vytvořit profil rastrové mapy."
+
+#: ../gui/wxpython/modules/import_export.py:591
+#, fuzzy
+msgid "Define output format for vector data"
+msgstr "Import vektorové mapy"
+
+#: ../gui/wxpython/modules/import_export.py:593
+#, fuzzy
+msgid "Define output format for raster data"
+msgstr "Import rastrové mapy"
+
+#: ../gui/wxpython/modules/import_export.py:601
+#, fuzzy
+msgid "Set external format and close dialog"
+msgstr "Ignoruj změny a zavři dialog"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Nebyla vybrána žádná mapová vrstva"
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Import DXF vrstev"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Vyberte soubor DXF pro import"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Nebyla vybrána žádná mapová vrstva"
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Kartografické zobrazení"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Název pro výstupní vrstvu GRASSu (lze upravit)"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Vrstva k odstranění"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importovat vybrané vrstvy"
+
 #: ../gui/wxpython/modules/extensions.py:40
 #, fuzzy
 msgid "Fetch & install extension from GRASS Addons"
 msgstr "Stáhnout & instalovat nové rozšíření z GRASS Addons"
 
 #: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Repozitář"
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:53
 #, fuzzy
@@ -16393,7 +16745,6 @@ msgid "List of extensions - double-click to install"
 msgstr "Sesznam prvků - pryvým klikem smažete"
 
 #: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
 msgid "Options"
 msgstr "Volby"
 
@@ -16426,56 +16777,61 @@ msgstr "Podmínka: nedefinována"
 msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
 msgstr "Stahuji seznam modulů z GRASS Addons SVN (buďte trpěliví prosím).."
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Seznam rozšíření"
+
+#: ../gui/wxpython/modules/extensions.py:214
 #, fuzzy
 msgid "Install"
 msgstr "&Instalovat"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/extensions.py:217
 msgid "Show manual page"
 msgstr "Zobrazit manuálovou stránku"
 
-#: ../gui/wxpython/modules/extensions.py:315
+#: ../gui/wxpython/modules/extensions.py:316
 #, fuzzy, python-format
 msgid "Unable to load extensions. %s"
 msgstr "Nelze provést nastavení '%s'"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/extensions.py:357
 #, fuzzy
 msgid "Manage installed GRASS Addons extensions"
 msgstr "Správa rozšíření GRASS"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/extensions.py:366
 #, fuzzy
 msgid "List of installed extensions"
 msgstr "Seznam rozšíření"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/extensions.py:371
 #, fuzzy
 msgid "Uninstall"
 msgstr "&Instalovat"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/extensions.py:372
 #, fuzzy
 msgid "Uninstall selected Addons extensions"
 msgstr "Správa rozšíření GRASS"
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/extensions.py:373
 #, fuzzy
 msgid "Reinstall"
 msgstr "&Instalovat"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/extensions.py:374
 #, fuzzy
 msgid "Reinstall selected Addons extensions"
 msgstr "Správa rozšíření GRASS"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/extensions.py:411
 #, fuzzy
 msgid "No extension selected. Operation canceled."
 msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -16484,18 +16840,18 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 #, fuzzy
 msgid "Remove extension"
 msgstr "Odstranit opěrný bod"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "výraz"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr "Prosím čekejte, exportuji obrázek..."
 
@@ -16644,7 +17000,7 @@ msgid ""
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Mapa <%s> nebyla nalezena."
@@ -16684,10 +17040,6 @@ msgstr "Import binárního souboru"
 msgid "Export training areas"
 msgstr "Export do obrazu"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-msgid "Export attribute table"
-msgstr "Exportovat atributovou tabulku"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16716,22 +17068,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Mapa <%s> nebyla nalezena."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Načítá se rastrová vrstva <%s>..."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Načítám rastrovou mapu"
@@ -16782,156 +17134,156 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Nástrojová lišta pro georektifikaci"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Nástrojová lišta pro správu mapy"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Nástrojová lišta pro správu mapy"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Nastavení digitalizace"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Tisk kompozice displeje"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Cílový displej"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 #, fuzzy
 msgid "Adjust Training Area Display to Preview Display"
 msgstr "Přizpůsobit cílový displej zdrojovému"
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 #, fuzzy
 msgid "Adjust Preview display to Training Area Display"
 msgstr "Přizpůsobit zdrojový displej cílovému"
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Zobrazit celý region"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Zobrazit celý region"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Import vektorové mapy"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nelze otevřít vektorovou vrstvu <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Nebylo zvoleno nic pro extrahování."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr "Analýza selhala."
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Neplatná hodnota souřadnice. Operace zrušena."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "Je potřeba nejméně %d vlicovacích bodů. Operace zrušena."
@@ -17407,19 +17759,142 @@ msgstr "RMS (střední kvadratická) chyba"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "Dopředná: %(forw)s, Zpětná: %(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "GRASS GIS 3D rastrový mapový kalkulátor"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Nelze načíst seznam: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Nelze načíst seznam: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Přejmenovat"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Přejmenovat mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Vyhodnocuji model..."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Překresluji model..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Nelze načíst seznam EPSG kódů: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Kopírovat tabulku"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Spouštím modul"
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Přejete si založit GRASS location <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Odstranit mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Smazat"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Displej"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+#, fuzzy
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr "Nelze načíst seznam EPSG kódů: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Kopírovat"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "&Rastr"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Zobrazit mapu"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 #, fuzzy
 msgid "Show text object"
 msgstr "Zobr. výpoč. region"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17427,70 +17902,90 @@ msgstr ""
 "Přesuňte myší (v módu ukazatele) na novou pozici.\n"
 "Dvojklik pro změnu nastavení."
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Legenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Přidat vrstvu"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Měřítko a směrová růžice"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s' zkopírováno do schránky"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Panel nástrojů vlicovacích bodů"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' zkopírováno do schránky"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Hide statusbar"
+msgstr "Ukázat nastavení"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Ukázat nastavení"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Překrýt další vrstvou"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Série rastrových map"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Přiblížit na uložený region"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Region <%s> nebyl nalezen. Operace ukončena."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr "Uložit hranice displeje souboru regionu"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Nastavit výpočetní region podle aktuálního zobrazení"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Soubor regionu <%s> již existuje. Přejete si tento soubor přepsat?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -17588,75 +18083,75 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "Vybrat GRASS location a mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Výpočet odtoku pro velké rastry."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "Název lokace GRASSu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "Název mapsetu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "Vybrat mapset v lokaci GRASSu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr "Chybí název mapsetu."
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 msgid "Name of vector map is missing."
 msgstr "Chybí název vektorové vrstvy."
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Vyvořit atributovou tabulku"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Přidat vytvořenou mapu do stromu vrstev"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 msgid "Name of new vector map is missing."
 msgstr "Chybí název nové vektorové vrstvy."
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Název nové vektorové mapy:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Sloupec s klíčem:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "Nelze vytvořit vektorovou mapu <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
@@ -17665,490 +18160,395 @@ msgstr ""
 "Vektorová mapa <%s> již existuje v současném mapsetu. Přejete si tuto mapu "
 "přepsat?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Načíst region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Uložit region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "Vytvořit/upravit skupinu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "Uložit změny a zavřít"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "Aplikovat změny pro tuto seanci"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 #, fuzzy
 msgid "Close dialog, changes are not applied"
 msgstr "Zavřít dialog při souhlasu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "astra"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Seznam map:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr "Přejete si odstranit vybranou mapovou vrstvu ze stromu vrstev?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "Přidat připojené vrstvy do stromu vrstev"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "Uložit změny"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, fuzzy, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "Georektifikace vektorové mapy <%s< selhala"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "Typ mapové vrstvy:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr "Vybrat přepínač"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Obrátit výběr"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Hromadný import"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-msgid "List of raster layers"
-msgstr "Seznam rastrových vrstev"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-msgid "List of vector layers"
-msgstr "Seznam vektorových vrstev"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, python-format
-msgid "List of %s layers"
-msgstr "Seznam %s vrstev"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "ID vrstvy"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-msgid "Name for output GRASS map (editable)"
-msgstr "Název pro výstupní vrstvu GRASSu (lze upravit)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-msgid "Projection match"
-msgstr "Kartografické zobrazení odpovídá"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Zavřít dialog při ukončení"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Import"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Importovat vybrané vrstvy"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Přidat importované vrstvy do stromu vrstev"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Přidat importované vrstvy do stromu vrstev"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Připojit"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Připojit vybrané vrstvy"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Nelze vytvořit profil rastrové mapy."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Import vektorové mapy"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Import rastrové mapy"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Ignoruj změny a zavři dialog"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Nebyla vybrána žádná mapová vrstva"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Import DXF vrstev"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Vyberte soubor DXF pro import"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Nebyla vybrána žádná mapová vrstva"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Nastavit průhlednost mapové vrstvy"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "Neprůhledný"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "Nastavit velikost obrazu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "Velikost obrazu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "Šablona:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS - Mapové okno"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr "SQL příkaz"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "Symboly"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "Velikost symbolu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "Velikost symbolu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr "Prvek nelze vybrat"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Mapset"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Typ"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "Nastavení serveru"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
-msgstr "Nastavení zdroje"
+#: ../gui/wxpython/gui_core/gselect.py:1290
+#, fuzzy
+msgid "Source input"
+msgstr "Jméno zdroje"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "Uložit"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Soubor"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Adresář"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protokol"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "Výstup"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 #, fuzzy
 msgid "All files"
 msgstr "Hodnoty buňky"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Hodnoty buňky"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Hodnoty buňky"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Hodnoty buňky"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Hodnoty buňky"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Soubor:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "Vyberte soubor DXF pro import"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Vyberte vstupní adresář"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 #, fuzzy
 msgid "Extension:"
 msgstr "výraz"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Vyberte soubor"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "Typ prvku:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Dotazovat prvky"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Vytvořit/znovu sestavit topologii"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "Nastavit volby"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Formát:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Protokol:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "3D mód není k dispozici"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Osvětlení"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Nebyla vybrána žádná mapová vrstva. Operace ukončena."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Vektorová mapa <%s> nebyla nalezena."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Vektorová mapa není 3D. Operace ukončena."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "Uživatelské nastavení"
@@ -18271,6 +18671,7 @@ msgid "Module dialog style:"
 msgstr "Styl dialogu pro moduly:"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "Mapové okno"
 
@@ -18368,7 +18769,7 @@ msgstr "Barva prvku:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Průhledný"
 
@@ -18658,6 +19059,49 @@ msgstr "Test normality"
 msgid "Nothing found"
 msgstr "Není co smazat"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Kategorie"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Vybrat vektorový prvek"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Vytvořit nový mapset"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Vektorová mapa není 3D. Operace ukončena."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Nelze vytvořit vektorovou mapu <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Nebyla vybrána žádná mapová vrstva"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Nová vektorová mapa <%s> byla vytvořena"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Nelze vytvořit vektorovou mapu <%s>."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Informace"
@@ -18698,6 +19142,10 @@ msgstr "Oficiální stránky GRASSu:"
 msgid "Code Revision"
 msgstr "Revize kódu"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr "Datum sestavení"
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "Jazyk"
@@ -18770,105 +19218,105 @@ msgstr "&Další"
 msgid "&Previous"
 msgstr "&Předchozí"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Definujte parametry pro '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Zavři toto okno bez spuštění příkazu (Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "Spustit příkaz (Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Ukázat manuálovou stránku příkazu (Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "Přidat vytvořenou mapu do stromu vrstev"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' zkopírováno do schránky"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Požadováno"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Volitelné"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr "Parametrizace v modelu"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[mnohonásobné]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "platný rozsah"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Vybrat %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Přejmenovat lokaci"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Uložit jako"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr "Uložit obsah do souboru pro pozdější použití"
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
 msgstr "nebo zadejte hodnoty přímo:"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Manuálová stránka"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "Není co uložit"
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18876,28 +19324,28 @@ msgid ""
 "Reason: %s"
 msgstr "Nelze načíst téma ikonek..."
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "Uložit soubor jako..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Nebyla vybrána žádná mapová vrstva"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Nelze spustit příkaz %s"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "%(cmd)s: parametr '%(key)s' není dostupný"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -18956,65 +19404,78 @@ msgstr "Změnit úroveň průhlednosti"
 msgid "Change layer opacity"
 msgstr "Změnit úroveň průhlednosti"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr "%d modulů odpovídá"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Profil"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "Nastavení serveru"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "Odstranit vybraný mapset"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr "Načíst nastavení:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+#, fuzzy
+msgid "Load:"
+msgstr "Nahrát"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr "Nastavení <%s> nebylo nalezeno."
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "Uložit nastavení"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "Nastavení <%s> již existuje. Přejete si toto nastavení přepsat?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr "Nastavení není definováno. Operace byla zrušena."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr "Nastavení nelze uložit"
 
@@ -19122,12 +19583,12 @@ msgstr "Vytvořit histogram obrazu nebo rastrového souboru"
 msgid "Select graphics tool"
 msgstr "Vybrat mapy pro zobrazení"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 #, fuzzy
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "Nabídka (dvojklikem spustíte příkaz)"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Spustit vybraný příkaz"
@@ -19151,6 +19612,25 @@ msgstr "Spustit vybraný příkaz"
 #~ msgid "Exit GUI"
 #~ msgstr "Konec grafického prostředí"
 
+#~ msgid "Invalid input data"
+#~ msgstr "Neplatná vstupní data"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "3D mód není k dispozici"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Vyhodnocuji model..."
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "Přejmenovat"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Kopírovat tabulku"
+
 #, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Připojit rastrová data"
@@ -19167,22 +19647,8 @@ msgstr "Spustit vybraný příkaz"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "Univariantní statistika rastrové vrstvy"
 
-#~ msgid "Add condition"
-#~ msgstr "Přidat podmínku"
-
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Přidá podmínky (if/else) do modelu"
-
-#~ msgid "Invalid input data"
-#~ msgstr "Neplatná vstupní data"
-
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Přidat připojené vrstvy do stromu vrstev"
-
-#, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Přidat importované vrstvy do stromu vrstev"
+#~ msgid "Repository"
+#~ msgstr "Repozitář"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -19195,10 +19661,34 @@ msgstr "Spustit vybraný příkaz"
 #~ msgid "Common export formats using OGR"
 #~ msgstr "Export do běžných formátů"
 
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Nelze vykreslit mapovou vrstvu <%s>."
+
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Nelze vykreslit překrytí <%s>."
+
+#~ msgid "Digitize"
+#~ msgstr "Digitalizovat"
+
+#, fuzzy
+#~ msgid "Add default servers"
+#~ msgstr "Přidat smyčku"
+
 #~ msgid "Set computational region from selected map(s) (ignore NULLs)"
 #~ msgstr ""
 #~ "Nastavit výpočetní region podle podle vybrané mapy (ignoruje NULL hodnoty)"
 
+#~ msgid "Load settings:"
+#~ msgstr "Načíst nastavení:"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Přidat připojené vrstvy do stromu vrstev"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Přidat importované vrstvy do stromu vrstev"
+
 #~ msgid "Multiple GPS export formats using GPSBabel"
 #~ msgstr "Export různých formátů GPS pomocí GPSBabel"
 
@@ -19249,225 +19739,9 @@ msgstr "Spustit vybraný příkaz"
 #~ msgstr "Správce atributových dat"
 
 #, fuzzy
-#~ msgid "Please select first the raster map"
-#~ msgstr "Prosím vyberte čistící nástroj, který chcete posunout dolů"
-
-#, fuzzy
-#~ msgid "Do you want to save changes?"
-#~ msgstr "Chcete uložit změny v modelu?"
-
-#, fuzzy
-#~ msgid "Save raster map changes"
-#~ msgstr "Uložit změny"
-
-#, fuzzy
-#~ msgid "Failed to create backup copy of edited raster map."
-#~ msgstr "Nelze vytvořit profil rastrové mapy."
-
-#, fuzzy
-#~ msgid "Failed to create new raster map."
-#~ msgstr "Nelze vytvořit vektorovou mapu <%s>."
-
-#, fuzzy
-#~ msgid "Rasterizing..."
-#~ msgstr "Vykreslit"
-
-#, fuzzy
-#~ msgid "Failed to set default color table for edited raster map"
-#~ msgstr "Vytvořit novou tabulku barev pro rastrovou mapu"
-
-#, fuzzy
-#~ msgid "Digitize area"
-#~ msgstr "DIgitalizovat novou plochu"
-
-#, fuzzy
-#~ msgid "Digitize line"
-#~ msgstr "Přidat novou linii"
-
-#, fuzzy
-#~ msgid "Digitize point"
-#~ msgstr "Přidat nový bod"
-
-#, fuzzy
-#~ msgid "Save raster map"
-#~ msgstr "Překrývat rastrové mapy"
-
-#, fuzzy
-#~ msgid "Quit raster digitizer"
-#~ msgstr "Vektorová digitalizace"
-
-#, fuzzy
-#~ msgid "Select raster map"
-#~ msgstr "Vybrat rastrovou mapu:"
-
-#, fuzzy
-#~ msgid "Cell value:"
-#~ msgstr "Hodnoty buňky"
-
-#, fuzzy
-#~ msgid "New raster map"
-#~ msgstr "rastrová mapa"
-
-#, fuzzy
-#~ msgid "Create new raster map"
-#~ msgstr "Vytvořit novou vektorovou mapu"
-
-#, fuzzy
-#~ msgid "Name for new raster map:"
-#~ msgstr "Jméno rastrové mapy:"
-
-#, fuzzy
-#~ msgid "Optionally select background raster map:"
-#~ msgstr "Vybrat vektorovou mapu"
-
-#, fuzzy
-#~ msgid "New raster map type:"
-#~ msgstr "Jméno rastrové mapy:"
-
-#, fuzzy
-#~ msgid "Please specify name for a new raster map"
-#~ msgstr "Počítám index tvaru rastrové mapy"
-
-#, fuzzy
-#~ msgid ""
-#~ "Raster map <%s> already exists in the current mapset. Do you want to "
-#~ "overwrite it?"
-#~ msgstr ""
-#~ "Vektorová mapa <%s> již existuje v současném mapsetu. Přejete si tuto "
-#~ "mapu přepsat?"
-
-#, fuzzy
-#~ msgid "Unable to create file <%s>"
-#~ msgstr "Nelze načíst seznam EPSG kódů: %s"
-
-#, fuzzy
-#~ msgid "Select features interactively from vector map"
-#~ msgstr "Georektifikovat rastrové a vektorové mapy"
-
-#, fuzzy
-#~ msgid "Raster digitizer"
-#~ msgstr "Vektorová digitalizace"
-
-#, fuzzy
-#~ msgid "Raster Digitizer Toolbar"
-#~ msgstr "Nástrojová lištavektorové digitalizace"
-
-#, fuzzy
 #~ msgid "Select space time raster dataset(s):"
 #~ msgstr "Vybrat zdrojový mapset:"
 
-#, fuzzy
-#~ msgid "Hide all toolbars"
-#~ msgstr "Panel nástrojů vlicovacích bodů"
-
-#, fuzzy
-#~ msgid "Show all toolbars"
-#~ msgstr "'%s' zkopírováno do schránky"
-
-#, fuzzy
-#~ msgid "Show statusbar"
-#~ msgstr "Ukázat nastavení"
-
-#, fuzzy
-#~ msgid "Data catalog"
-#~ msgstr "Obrátit výběr"
-
-#, fuzzy
-#~ msgid "No mapsets readable"
-#~ msgstr "3D mód není k dispozici"
-
-#, fuzzy
-#~ msgid "New name"
-#~ msgstr "Přejmenovat"
-
-#, fuzzy
-#~ msgid "Rename map"
-#~ msgstr "Přejmenovat mapset"
-
-#, fuzzy
-#~ msgid "Editing"
-#~ msgstr "Vyhodnocuji model..."
-
-#, fuzzy
-#~ msgid "Renaming"
-#~ msgstr "Přejmenovat"
-
-#, fuzzy
-#~ msgid "Failed to copy layer: invalid type."
-#~ msgstr "Nelze načíst seznam EPSG kódů: %s"
-
-#, fuzzy
-#~ msgid "Copy map"
-#~ msgstr "Kopírovat tabulku"
-
-#, fuzzy
-#~ msgid "Copying"
-#~ msgstr "Kopírovat tabulku"
-
-#, fuzzy
-#~ msgid "Do you really want to delete map <{m}>?"
-#~ msgstr "Přejete si založit GRASS location <%s>?"
-
-#, fuzzy
-#~ msgid "Delete map"
-#~ msgstr "Odstranit mapset"
-
-#, fuzzy
-#~ msgid "Deleting"
-#~ msgstr "Smazat"
-
-#, fuzzy
-#~ msgid "Displaying"
-#~ msgstr "Displej"
-
-#, fuzzy
-#~ msgid "&Copy"
-#~ msgstr "Kopírovat"
-
-#, fuzzy
-#~ msgid "&Paste"
-#~ msgstr "&Rastr"
-
-#, fuzzy
-#~ msgid "&Display layer"
-#~ msgstr "Zobrazit mapu"
-
-#, fuzzy
-#~ msgid "category"
-#~ msgstr "Kategorie"
-
-#, fuzzy
-#~ msgid "Select features"
-#~ msgstr "Vybrat vektorový prvek"
-
-#, fuzzy
-#~ msgid "Create a new map"
-#~ msgstr "Vytvořit nový mapset"
-
-#, fuzzy
-#~ msgid ""
-#~ "Selected map <%s> has been disabled for rendering. Operation canceled."
-#~ msgstr "Vektorová mapa není 3D. Operace ukončena."
-
-#, fuzzy
-#~ msgid "Failed to query vector map(s) <%s>."
-#~ msgstr "Nelze vytvořit vektorovou mapu <%s>."
-
-#, fuzzy
-#~ msgid "No features selected"
-#~ msgstr "Nebyla vybrána žádná mapová vrstva"
-
-#, fuzzy
-#~ msgid "Vector map <%s> was created"
-#~ msgstr "Nová vektorová mapa <%s> byla vytvořena"
-
-#, fuzzy
-#~ msgid ""
-#~ "Unable to create a new vector map.\n"
-#~ "\n"
-#~ "Reason: %s"
-#~ msgstr "Nelze vytvořit vektorovou mapu <%s>."
-
 #~ msgid "Choose project location and mapset"
 #~ msgstr "Vybrat lokaci a mapset projektu"
 
diff --git a/locale/po/grasswxpy_de.po b/locale/po/grasswxpy_de.po
index 1bbf3de..14d4182 100644
--- a/locale/po/grasswxpy_de.po
+++ b/locale/po/grasswxpy_de.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-01-14 15:50+0100\n"
 "Last-Translator: Markus Neteler <neteler at osgeo.org>\n"
 "Language-Team: German <grass-translations at lists.osgeo.org>\n"
@@ -31,7 +31,7 @@ msgid "Name of raster map:"
 msgstr "Name der Rasterkarte:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Name der Vektorkarte:"
 
@@ -146,7 +146,7 @@ msgstr "Bedingung"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr "Label"
 
@@ -215,14 +215,14 @@ msgid "Reload"
 msgstr "Erneut Laden"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "Nein"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Ja"
 
@@ -251,8 +251,8 @@ msgstr "Deaktiviert:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Farbe"
@@ -282,9 +282,10 @@ msgstr "Shape Größe"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Breite:"
 
@@ -292,14 +293,14 @@ msgstr "Breite:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Höhe:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Daten"
 
@@ -330,13 +331,13 @@ msgid "Comment"
 msgstr "Kommentar"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "Modell-Eigenschaften"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadaten"
 
@@ -347,7 +348,7 @@ msgstr "Befehle"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Erlaube, dass Ausgabedateien existierende Dateien überschreiben"
@@ -367,10 +368,10 @@ msgstr "Schließe den Dialog und ignoriere die Änderungen"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Name:"
 
@@ -434,12 +435,12 @@ msgstr "Rasterkarten"
 msgid "3D raster maps"
 msgstr "3D Rasterkarten"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "Vektorkarten"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "unbekannt"
@@ -468,23 +469,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "Modellparameter"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr "Lösche temporäre Daten, wenn fertig."
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Los"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Variablen"
 
@@ -505,7 +506,7 @@ msgid "Python editor"
 msgstr "Python Editor"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Befehlsausgabe"
 
@@ -568,7 +569,7 @@ msgid "Choose model file"
 msgstr "Auswahl der Modell-Datei"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "GRASS Model File (*.gxm)|*.gxm"
 
@@ -596,7 +597,7 @@ msgstr "Datei <%s> gespeichert"
 msgid "Choose file to save current model"
 msgstr "Wählen Sie eine Datei, um das aktuelle Modell zu speichern"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Die Datei existiert bereits."
 
@@ -619,7 +620,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "Modell ist gültig."
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -632,7 +633,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr "Modell exportiert in <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 msgid "Add comment"
 msgstr "Kommentar hinzufügen"
 
@@ -667,7 +668,7 @@ msgstr ""
 "Das Schreiben der aktuellen Einstellungen in die Modell-Datei nicht "
 "erfolgreich."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Kann die Datei <%s> nicht zum Schreiben öffnen."
@@ -676,15 +677,15 @@ msgstr "Kann die Datei <%s> nicht zum Schreiben öffnen."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -759,10 +760,10 @@ msgstr "Standardwert"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Beschreibung"
 
@@ -783,13 +784,13 @@ msgid "string"
 msgstr "Zeichenkette"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "Raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "Vektor"
 
@@ -802,7 +803,7 @@ msgid "mapset"
 msgstr "Mapset"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "Datei"
 
@@ -938,7 +939,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Selektiere Rasterkarte:"
 
@@ -958,7 +959,7 @@ msgstr "%d Karte aus dem aktuellen Mapset gelöscht"
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -989,8 +990,8 @@ msgstr "Y-Achsenbeschriftung:"
 msgid "Label font size (pts):"
 msgstr "Schriftgröße für Beschriftung (Punkt):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1038,9 +1039,9 @@ msgstr "Grafik Textgrößen in Datei '%s' gespeichert."
 msgid "No map or image group selected to plot."
 msgstr "Es wurde kein Karte oder Gruppe zum plotten ausgewählt"
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Warnung"
 
@@ -1066,8 +1067,8 @@ msgstr "Linienfarbe"
 msgid "Line width"
 msgstr "Linienbreite"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Liniestil"
 
@@ -1081,18 +1082,18 @@ msgid "Transect segment marker settings"
 msgstr "Transektsegmentmarkereinstellungen"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Größe"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr "Füllung"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Stil"
 
@@ -1336,19 +1337,19 @@ msgid "Under Construction"
 msgstr "Unter Bearbeitung"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Seiteneinstellungen"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Druckvorschau"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1449,7 +1450,7 @@ msgid "Output"
 msgstr "Ergebnis"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parameter"
 
@@ -1485,8 +1486,7 @@ msgid "Analysing..."
 msgstr "Analysiere..."
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Einstellungen"
@@ -1539,7 +1539,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Farbe für ausgewählten Punkt:"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1563,10 +1563,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Dialog schließen"
 
@@ -1587,12 +1588,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Netzwerkanalyse"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1600,49 +1601,49 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "Die Regions-Datei <%s> existiert? Soll sie überschrieben werden?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "%d Karte aus dem aktuellen Mapset gelöscht"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Die Regions-Datei <%s> existiert? Soll sie überschrieben werden?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Überschreibe Karte"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "Erzeugen der neuen Gruppe <%s> ist fehlgeschlagen."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 #, fuzzy
 msgid "Vector map with analysis result does not exist."
 msgstr "Verzeichnis %s existiert nicht."
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1650,202 +1651,202 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "Die Regions-Datei <%s> existiert? Soll sie überschrieben werden?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Die Regions-Datei <%s> existiert? Soll sie überschrieben werden?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Kann nicht setzen"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "Die Regions-Datei <%s> existiert? Soll sie überschrieben werden?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 msgid "Overwrite map"
 msgstr "Überschreibe Karte"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Verzeichnis %s existiert nicht."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Vektorkarte <%s> nicht gefunden"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Kartenebenen"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Layer hinzufügen"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Layer verwalten"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Verwalten oder Berichten von Kategorien"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Wählen Sie %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr "Entfernt eine existierende Attributtabelle einer Vektorkarte."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "verwende"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 msgid "type"
 msgstr "Typ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr "Topologie"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 msgid "Start point"
 msgstr "Startpunkt"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 msgid "End Point"
 msgstr "Endpunkt"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 msgid "new point"
 msgstr "neuer Punkt"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr "Bogen"
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Numerische Spalte:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr "Knoten"
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "Kürzester Pfad"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
 msgstr "Endpunkt"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "Traveling-Salesman-Problematik"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, fuzzy, python-format
 msgid "Maximum flow %s"
 msgstr "Maximaler Fluss"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 msgid "Source point"
 msgstr "Punkt der Quelle"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Punkte anzeigen"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, fuzzy, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "Erzeuge 'Steiner Tree' für das Netzwerk und die gegebenen Stationen."
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Entferne Kartenebene"
@@ -2027,56 +2028,56 @@ msgstr "Wählen Sie eine Datumstransformation"
 msgid "Select from list of datum transformations"
 msgstr "Wählen Sie von der Liste der Datumstransformationen"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr ""
 "Wählen Sie die GRASS-Datenbank \n"
 "und den Namen der Location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Blättern"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "GIS-Daten Verzeichnis:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Projekt-Location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Name der Location im GIS-Datenverzeichnis"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "Location-Titel"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr "Location-Titel (optional, Sie können dieses Feld leer lassen)."
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
@@ -2085,24 +2086,24 @@ msgstr ""
 "Der Name <%(name)s> ist kein gültiger Name für Locations. Bitte verwenden "
 "Sie nur ASCII-Zeichen ohne %(chars)s und Leerzeichen."
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr "Ungültiger Location-Name"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Wählen Sie das GRASS-Daten Verzeichnis:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Die Location existiert bereits in der GRASS Datenbank."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Kann die Location nicht erzeugen"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
@@ -2110,197 +2111,197 @@ msgstr ""
 "Der Titel der Location ist auf eine Zeile und 256 Zeichen beschränkt. Der "
 "Rest des Textes wird ignoriert."
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Wählen Sie eine Methode, um die neue Location zu erzeugen"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "Wählen Sie den EPSG-Code des Koordinatensystem"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 "Einlesen von Projektions- und Datumsinformationen aus georeferenzierter Datei"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 "Lese Projektions- und Datumsinformationen aus Well Known Text (WKT) .prj-"
 "Datei"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "Wählen Sie das Koordinatensystem aus einer Liste"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 "Angabe von Projektions- und Datumsinformationen über anwendungsspezifische "
 "PROJ.4 Parameter"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Erzeuge ein generisches kartesisches Koordinatensystem (XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Wählen Sie eine Projektion"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Code"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Projektionscode:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Suche in der Beschreibung:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Kann die Liste nicht lesen: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Wählen Sie eine Projektion"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Wählen Sie Datum oder Ellipsoid (nächste Seite)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Datum mit zugehörigem Ellipsoiden"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Nur Ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "Sie müssen einen Wert für %s eingeben."
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Geben Sie Parameter an für die %s Projektion "
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Spezifizieren Sie das geodätische Datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Datumscode:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Spezifizieren Sie das Ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "Datenbank"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Ellipsoidcode:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Wählen Sie eine georeferenzierte Datei"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Georenferenzierte Datei:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr "Wähle die Well Known Text (WKT) .prj Datei aus"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 msgid "WKT .prj file:"
 msgstr "WKT .prj Datei:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Wählen Sie einen EPSG Code"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Pfad zu der Datei mit EPSG Codes:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "EPSG Code:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Wählen Sie eine Datei mit EPSG-Codes"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Kann die EPGS codes nicht lesen: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 "Wählen Sie eine Methode, um die Parameter der Georeferenzierung zuwählen"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Geben Sie den PROJ.4-Zeichenkette ein:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Datum-Transformation ist erforderlich."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Zusammenfassung"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "GRASS Datenbank:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Name der Location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Location-Titel:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Projektion:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
@@ -2308,25 +2309,25 @@ msgstr ""
 "PROJ.4 Definition:\n"
 " (non-definitive)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "angepasst"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Möchten Sie die GRASS Location <%s> erzeugen?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Neue Location erzeugen?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Definieren Sie eine neue GRASS Location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2337,16 +2338,16 @@ msgstr ""
 "\n"
 "Details: %(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr ""
 "Location-Assistent wurde abgebrochen. Die Location wurde nicht erzeugt."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Kann neue Location nicht anlegen"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2355,16 +2356,16 @@ msgstr ""
 "Die Location <%(loc)s> wird im GIS-Verzeichnis <%(dir)s> angelegt. Sie "
 "müssen das Standard GIS-Verzeichnis auf dem GRASS Startbildschirm anpassen."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "Neues GIS-Verzeichnis:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "EPSG Code fehlt"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr "Datei <%s> nicht gefunden."
@@ -2783,7 +2784,16 @@ msgstr "Beschriftungen hinzufügen"
 msgid "Remove selected class"
 msgstr "Ausgewähltes Mapset umbenennen"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2794,40 +2804,63 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: Layertyp <%(type)s> wird nicht unterstützt"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr "Befehl '%s' fehlgeschlagen\n"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr "Einzelheiten: %s\n"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Nicht unterstützter Kartenebenentyp '%s'"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "FEHLER: Rendering fehlgeschlagen. Details: %s"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Rendern"
+
+#: ../gui/wxpython/core/render.py:615
+msgid "Downloading data "
+msgstr "Lade Daten herunter"
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Rendern"
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr "Rendern..."
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Auf die Standardregion zoomen"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr "GRASS Modul '%s' nicht gefunden. Kann Kartenfenster nicht starten."
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 "Fehler: Unable to open '%(file)s'. Begründung: %(ret)s. wxGUI exited.\n"
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, python-format
 msgid ""
 "\n"
@@ -2836,32 +2869,32 @@ msgstr ""
 "\n"
 "FEHLER: Kann WIND Datei nicht lesen: %s\n"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Ungültige Kartengröße %d, %d\n"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Kann nicht auf die Rasterkarte <%s> zoomen."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Einzelheiten:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Kann nicht auf die Vektorkarte <%s> zoomen."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Kann nicht auf die Rasterkarte <%s> zoomen."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
@@ -2870,67 +2903,39 @@ msgstr ""
 "Schließen von wxGUI. Führen Sie bitte g.region manuell aus, um das Problem "
 "zu beheben."
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "FEHLER: Rendering fehlgeschlagen. Details: %s"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Kann die Kartenebene <%s> nicht rendern."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Kann die Überlagerung <%s> nicht rendern."
-
-#: ../gui/wxpython/core/render.py:1376
-msgid "Downloading data "
-msgstr "Lade Daten herunter"
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Rendern"
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr "Rendern..."
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Ursache"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Nachricht"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Ausführung fehlgeschlagen:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Fehler: "
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Kann den Befehl '%s' nicht ausführen."
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Fehler in %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Kann die Datei <%s> nicht zum Lesen öffnen."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2944,12 +2949,12 @@ msgstr ""
 "\n"
 "Anzahl übersprungener Zeilen: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr " Zeile %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2963,32 +2968,37 @@ msgstr ""
 "Option <%(opt)s>: Das Lesen von der Standardeingabe wird vom wxGUI nicht "
 "unterstützt"
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Datei <%s> nicht gefunden."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d Sek"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr "%(min)d Min %(sec)d Sek"
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 "Daten wurden in einem inkonsistenten Zustand zurückgelassen und können "
 "beschädigt sein"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Befehl abgebrochen"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Befehl ausgeführt"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3182,22 +3192,22 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Vektorkarte <%(map)s>: %(msg)s\n"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "Öffnen von '%s' nicht erfolgreich"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr "FEHLER: Kann die GRASS-Version nicht bestimmen. Einzelheiten: %s"
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Kann Datei '%s' nicht öffnen.\n"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
@@ -3206,17 +3216,17 @@ msgstr ""
 "%s: Zeilen übersprungen - kann '%s' nicht interpretieren\n"
 "Grund: %s\n"
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Doppelter Schlüssel: %s\n"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Kann Datei '%s' nicht erzeugen.\n"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Wählen Sie eine Farbe"
 
@@ -3285,11 +3295,11 @@ msgstr ""
 "Ecke des Papiers"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr "Schriftart:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Schriftgröße:"
@@ -3303,7 +3313,7 @@ msgid "Close dialog and apply changes"
 msgstr "Schließe den Dialog und wende Änderungen an"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Änderungen anwenden"
 
@@ -3320,7 +3330,7 @@ msgstr "Format"
 msgid "Orientation"
 msgstr "Orientierung"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr "Breite"
 
@@ -3365,7 +3375,7 @@ msgid "Map frame settings"
 msgstr "Kartenrahmeneinstellungen"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr "Kartenrahmen"
 
@@ -3393,7 +3403,7 @@ msgstr "fester Maßstab und Kartenmittelpunkt"
 msgid "Map selection"
 msgstr "Kartenauswahl"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "Karte:"
 
@@ -3417,7 +3427,7 @@ msgstr "O:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr "Maßstab:"
 
@@ -3431,7 +3441,7 @@ msgstr "Max. Kartenauflösung (dpi):"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "Rand"
 
@@ -3467,163 +3477,164 @@ msgstr "Keine Karte ausgewählt!"
 msgid "No region selected!"
 msgstr "Keine Region ausgewählt!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr "Ungültiger Maßstab oder Kartenmitte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Rasterkarte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr "Wählen Sie eine Rasterkarte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr "Keine Rasterkarte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr "Raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "Bitte, erzeugen Sie zunächst ein Kartenausschnitt"
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr "Karte hinzufügen"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr "Punkte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr "Linien"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "Flächen"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr "Datentyp"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr "Vektorkarten verwalten"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr "Die oberste Vektorkarte überlagert die anderen"
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "Hoch"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr "Runter"
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Löschen"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr "Eigenschaften..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr "Rasterkarteneinstellungen"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr "Vektorkarteneinstellungen"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr "%s Eigenschaften"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr "Datenauswahl"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr "Objektart"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr "Zentroide"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr "Flächengrenzen"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr "Layerauswahl"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "Datenbankverbindung ist nicht definiert in der DB-Datei."
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr "Wählen Sie ein Layer:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr "Liste der Kategorien (z.B. 1,3,5-7)"
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Maske"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr "Nutze aktuelle Maske"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr "Farben"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr "Umrandung"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr "Zeichne Umrandung"
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr "Breite (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3631,220 +3642,220 @@ msgstr "Breite (pts):"
 msgid "Color:"
 msgstr "Farbe:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr "Füllfarbe"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr "Wählen Sie die Farbe:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr "Farbwert aus Vektorkartentabellen-Spalte:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr "Kein Effekt durch Füllfarbe aus der Tabellenspalte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr "Linienfarbe:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr "Größe und Stil"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Symbologie"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr "Symbol:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr "EPS-Datei:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr "Geben Sie den Dateinamen ein oder verwenden Sie den Dateibrowser"
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr "Wählen Sie eine Datei"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr "Größe:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr "Größe aus Vektorkartentabellen-Spalte:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr "Maßstab:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr "Rotation"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr "rotiere Symbole:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr "Gegenuhrzeigersinn in Grad:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr "von Vektorkartentabellen-Spalte:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr "Setze breite (in Punkt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr "Multipliziere Breite mit Kategoriewert"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr "Wählen Sie einen Linienstil:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr "Wählen Sie ein Linienende:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr "Muster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr "Verwende Muster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr "Wählen Sie die Muster-Datei:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr "Liniebreite (in pt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr "Skalierungsfaktor für Muster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr "Rasterlegende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr "Zeige Rasterlegende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr "Eingaberasterkarte"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr "aktuelle Rasterkarte"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr "Selektiere Raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr "%(rast)s: Typ %(type)s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr "Legendentyp"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr "diskrete Legende (kategorische Karten)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr "Farbgradienten-Legende (Fließkomma-Karte)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr "Fortgeschrittene Legendeneinstellungen"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr "Zeichne \"no data\" box"
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr "Zeichne Ticks über die Farbtabelle"
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "Wertebereich"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr "Vektorlegende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr "Zeige Vektorlegende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr "Eingangsvektorkarten"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr "Wähle Vektorkarten und ihre Reihenfolge in der Legende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Vektorkarte"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "Label editieren"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "Zeichne einen Rahmen um die Legende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr "Größe und Position"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Position"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr "Lassen Sie das Feld leer, um Standardwerte zu verwenden"
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
@@ -3852,15 +3863,15 @@ msgstr ""
 "Breite der Farbprobe (für Linien)\n"
 "vor dem Legendentext"
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr "Spalten:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr "Spaltenbreite:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
@@ -3868,35 +3879,35 @@ msgstr ""
 "Spaltenabstand zwischen den linken Rändern\n"
 "zweier Spalten einer mehrspaltigen Legende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr "Editiere Legendenlabel:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr "Keine Rasterkarte ausgewählt!"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr "Kein Raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
 msgstr "Karteneinstellungen"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr "Farb Einstellungen"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr "verwende Randfarbe"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr "verwende Hintergrundfarbe:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
@@ -3904,137 +3915,137 @@ msgstr ""
 "Einheiten der aktuellen Projektion werden nicht unterstützt.\n"
 "Es wird stattdessen Meter verwendet!"
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr "Nicht unterstützte Einheiten"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr "Länge:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr "Länge des Maßstabsbalken in Karteneinheiten"
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr "Höhe des Maßstabsbalken in realer Höhe auf dem Papier"
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr "Standard"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr "Typ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr "Anzahl der Segmente:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr "Beschrifte jede"
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr "Segmente"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr "transparenter Texthintergrund"
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr "Länge der Maßstabsleiste nicht definiert"
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "Text"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Geben Sie Text ein:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr "Texteinstellungen"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr "Texthintergrundfarbe"
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr "hervorheben"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "Textrand"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr "Offset"
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr "horizontal (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr "vertikal (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr " Referenzpunkt"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr "Textrotation"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr "Textrotation (Gegenuhrzeigersinn)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr "Kein Text eingegeben!"
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr "Bild"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr "Wählen Sie ein Verzeichnis:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr "Wählen Sie ein Verzeichnis mit Bildern"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr "Anmerkung: Nur EPS-Format."
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr "Maßstab und Drehung"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr "Drehungswinkel (Grad):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr "Gegen den Uhrzeigersinn in Grad"
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
@@ -4042,48 +4053,48 @@ msgstr ""
 "PIL\n"
 "fehlt"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr "Kann Datei %s nicht lesen."
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr "Größe: %(width)s x %(height)s pts"
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
 msgstr "Kein Bild selektiert."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr "Nordpfeil"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr "Einstellungen für Nordpfeil"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr "Konvergenz berechnen"
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Punkt"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr "Symbol"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr "Symbol auswählen:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
@@ -4091,54 +4102,54 @@ msgstr ""
 "Anmerkung: Gewähltes Symbol wird im Entwurfs-Modus\n"
 "nicht angezeigt (nur in der Vorschau)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr "Umrandungsfarbe:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "transparent"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr "Füllfarbe:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr "Größe und Drehung"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr "Größe (pt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr "Symbolgröße in Punkt"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr "Einstellungen für Rechteck"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr "Einstellungen für Linien"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr "Linienbreite in Punkten"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "Vektorbeschriftung"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4285,7 +4296,7 @@ msgstr "Anklicken und verschieben, um Größe zu verändern"
 msgid "labels: "
 msgstr "Beschriftungen:"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
@@ -4294,12 +4305,12 @@ msgstr ""
 "Kann Datei nicht öffnen\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr "Datei mit Anweisungen wird mit folgender Region geladen: %s\n"
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
@@ -4308,23 +4319,23 @@ msgstr ""
 "Region kann nicht gesetzt werden\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr "Kann Anweisungen nicht lesen %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
@@ -4333,7 +4344,7 @@ msgstr ""
 "Maßstab hat sich geändert, alter Wert: %(old)s\n"
 "neuer Wert: %(new)s"
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
@@ -4342,7 +4353,7 @@ msgstr ""
 "Lesen der Anweisungen fehlgeschlagen %s.\n"
 "Verwende 1:25000 Notation."
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
@@ -4352,7 +4363,7 @@ msgstr ""
 "%(old2)s\n"
 "neuer Wert: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
@@ -4362,7 +4373,7 @@ msgstr ""
 "%(old2)s\n"
 "neuer Wert: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
@@ -4371,13 +4382,13 @@ msgstr ""
 "Lesen der Anweisungen fehlgeschlagen  %(file)s.\n"
 "Unbekanntes Format %(for)s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr "Lesen der Anweisungen fehlgeschlagen %s."
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
@@ -4386,8 +4397,8 @@ msgstr ""
 "Zeichen in der Position %s werden nicht von der Zeichenkodierung ISO-8859-1 "
 "(Latin 1), welche vom Modul benötigt wird, unterstützt."
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
@@ -4395,7 +4406,7 @@ msgstr ""
 "Nicht alle Zeichen werden von der Zeichenkodierung ISO-8859-1 (Latin 1), "
 "welche von dem Modul ps.map benötigt wird."
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4449,27 +4460,27 @@ msgstr "Meter"
 msgid "degree"
 msgstr "Grad"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr "Kann `ps.map -b` nicht ausführen"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr "Erzeuge Textdatei mit Anweisungen zur Kartographie"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr "Lade Textdatei mit Anweisungen zur Kartographie"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr "Erzeuge PostScript-Ausgabe"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "Erzeuge PDF-Ausgabe"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "Papiergröße, Ränder und Ausrichtung angeben"
 
@@ -4485,7 +4496,7 @@ msgstr "Auf die Gesamtausdehnung zoomen"
 msgid "Click and drag to place map frame"
 msgstr "Anklicken und verschieben, um Kartenrahmen zu platzieren"
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr "Lösche ausgewähltes Objekt"
 
@@ -4497,12 +4508,12 @@ msgstr "Vorschau anzeigen"
 msgid "Quit Cartographic Composer"
 msgstr "Kartenlayout beenden"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr "Karteninformation"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr "Maßstabsbalken"
 
@@ -4557,22 +4568,27 @@ msgstr ""
 "Es ist ein Problem beim Drucken aufgetreten.\n"
 "Möglicherweise sind ihre Druckereinstellungen nicht korrekt."
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Nicht unterstützte Einheiten"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "Kann die EPGS codes nicht lesen: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr "Starte Kartenfenster <%s>..."
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Kann Datei '%s' nicht erzeugen.\n"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Schließe Kartenfenster <%s>..."
@@ -4608,30 +4624,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Kartenfenster"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "FEHLER: Kann die GRASS-Version nicht bestimmen. Einzelheiten: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS Kartenfenster: %(id)d  - Location: %(loc)s"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "2D Ansicht"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4642,11 +4659,11 @@ msgstr ""
 "\n"
 "Details: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr "Werkzeugleiste Vektordigitalisierung"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4662,115 +4679,127 @@ msgstr ""
 "\n"
 "Einzelheiten: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Starte 3D-Ansichtsmodus..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Bitte warten Sie, ich lade Daten..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr "Bitte warten Sie, entlade Daten..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr "Wechsle zu 2D-Ansicht zurück..."
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Werkzeugleiste Karte"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Digitalisieren"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Vektordigitalisierer Handbuch"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
+msgstr "Keine Kartenebene selektiert. Breche die Operation ab."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Keine Daten zu rendern (leere Karte). Berechnung abgebrochen."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Vektorkarte <%s> für Bearbeitung geöffnet - übersprungen."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr "Es wurde keine Raster- oder Vektorkarte für die Abfrage ausgewählt."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Text-Ebene hinzufügen"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Auf die Standardregion zoomen"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Auf die gespeicherte Region zoomen"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Arbeitsbereich auf Grundlage des Kartenfensters setzen"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Auf den Arbeitsbereich zoomen (mit g.region definiert)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Arbeitsbereich auf Grundlage des Kartenfensters setzen"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Größe des Kartenfensters in benannter Region speichern"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Arbeitsbereich auf Grundlage des Kartenfensters setzen"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Werkzeugleiste Vektordigitalisierung"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Rendern"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Auto-Rendering ein-/ausschalten"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Arbeitsbereich anzeigen"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Zeige den Arbeitsbereich"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4780,16 +4809,16 @@ msgstr ""
 "als blaues Rechteck im Arbeitsbereich und den Arbeitsbereich als rotes "
 "Rechteck im Kartenfenster."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Anzeige-Modus"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr "Richte Ausdehnung der Region an Fenstergröße aus"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4797,18 +4826,18 @@ msgstr ""
 "Richte Arbeitsbereich am Kartenfenster aus. Standardwert für neue "
 "Kartenfenster kann in 'GUI Einstellungen' definiert werden."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr "Auflösung des Kartenfensters"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr ""
 "Beschränke die Auflösung des Kartenfensters auf die Einstellungen des "
 "Arbeitsbereichs."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4817,11 +4846,11 @@ msgstr ""
 "Arbeitsbereichs. Standardwert für neue Kartenfenster kann in 'GUI "
 "Einstellungen' definiert werden. "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Kartenmaßstab"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
@@ -4829,33 +4858,33 @@ msgstr ""
 "Da die Bildschirmauflösungen an jedem Arbeitsplatz unterschiedlich sind, "
 "können die Maßstabsangaben nicht exakt sein. Die Größenordnung wird stimmen."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Gehe zu"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "Projektion nicht definiert (überprüfe Einstellungen)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "Fehler in der Projektion (überprüfen sie die Einstellungen)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Projektion"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "Verwende definierte Projektion"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
@@ -4863,24 +4892,24 @@ msgstr ""
 "Umprojezierte Koordinaten in der Statusleiste angezeigt. Die Projektion kann "
 "in GUI Einstellungen (Reiter 'Projektion') definiert werden."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MASK"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Geometrie anzeigen"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Koordinaten"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Ausdehnung"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Auf den Arbeitsbereich zoomen (mit g.region definiert)"
@@ -4897,101 +4926,111 @@ msgstr "Abfrage von selektierten Raster-/Vektorkarte(n)"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Selektiere Vektorobjekte"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Georeferenzieren von Raster- und Vektorkarten"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Maßstab und Nordpfeil anzeigen/verbergen"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Legende anzeigen/verbergen"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Maßstab und Nordpfeil anzeigen/verbergen"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Karte analysieren"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "Messen, Profil, Histogramm"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Strecken messen"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Strecken messen"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Zuprofilierende Oberflächenkarte"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Erzeuge Scatterplot von Rasterkarten"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr "Erzeuge Histogramm einer Rasterkarte"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Netzwerkanalyse"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr "Rotiere 3D Szene"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "3D Szene mit der Maus rotieren"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr "Fly-through Modus"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 "Mit der Maus verschieben. Strg-Taste ändert den Modus und Umschalttaste "
 "beschleunigt."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr "Maus-Klick zum herein zomen"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr "Maus-Klick zum heraus zoomen"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "3D Ansicht"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "3D Ansicht nicht verfügbar"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Grund: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "Vektordigitalisierer nicht vorhanden"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
@@ -5002,6 +5041,11 @@ msgstr ""
 "auf aktualisierte Versionen von GRASS. In der Zwischenzeit können Sie \"v."
 "digit\" aus dem Menü \"Vektor\" - \"Vektorkarten pflegen\" verwenden."
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Beende Vektor-Digitalisierung"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5797,12 +5841,12 @@ msgstr ""
 msgid "Export animation"
 msgstr "animation"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr "Dekorationen"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "Export"
@@ -5812,11 +5856,11 @@ msgstr "Export"
 msgid "Add time stamp"
 msgstr "Zeitstempel"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 msgid "Add image"
 msgstr "Bild hinzufügen"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr "Text hinzufügen"
 
@@ -5838,7 +5882,7 @@ msgid "Sample text"
 msgstr "Transekt-Stichprobe"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5854,7 +5898,7 @@ msgid "Choose image file"
 msgstr "Wählen Sie eine Datei"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr "Text:"
 
@@ -5882,7 +5926,7 @@ msgstr "AVI"
 msgid "Export to:"
 msgstr "Export nach:"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr "Datei-Präfix:"
 
@@ -5891,13 +5935,13 @@ msgstr "Datei-Präfix:"
 msgid "animation_"
 msgstr "animation"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr "Dateiformat:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Verzeichnis:"
 
@@ -6035,7 +6079,7 @@ msgstr "Bitte, erzeugen Sie zunächst ein Kartenausschnitt"
 msgid "Animation Tool settings"
 msgstr "Animation"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6092,22 +6136,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Ungültig:"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Entferne Kartenebene"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Entferne Kartenebene"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Verzeichnis %s nicht gefunden."
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6147,7 +6191,7 @@ msgstr "Werkzeugleiste Karte"
 msgid "Animation Toolbar"
 msgstr "Werkzeugleiste Karte"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Werkzeugleiste Verschiedenes"
@@ -6192,8 +6236,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Einstellungen <%s> nicht gefunden"
@@ -6237,7 +6281,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Rektifiziere Bilder, bitte warten"
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6261,37 +6305,37 @@ msgstr "Selektierte Kartenebenen der Baumstruktur hinzufügen"
 msgid "No map series nor space-time dataset is added."
 msgstr "Erzeugt eine leere Datenbank."
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Karte <%s> nicht gefunden."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6311,11 +6355,11 @@ msgstr ""
 msgid "Play back"
 msgstr "Abspielen"
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr "Stopp"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr "Pause"
 
@@ -6352,14 +6396,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "GRASS GIS Histogramm Werkzeug (d.histogram)"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Zeichne"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Hilfe"
 
@@ -6376,21 +6420,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Wählen Sie die Quell-Mapset:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Vektorkarte <%s> nicht in aktueller Mapset gefunden"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6419,105 +6463,105 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Zeitstempel"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Importiere Rasterdaten"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Importiere Vektordaten"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Importiere Rasterdaten"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Kartenrahmen"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Zeitstempel"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Topologie erzeugen/wiederherstellen"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Ansicht"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Erscheinung"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr "Analyse"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr "Animation"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr "Kontrollansicht"
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr "Pass die Distanz und die Perspektive des Blickpunktes an"
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Perspektive:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr "Neigt die Oberfläche aus der Horizontalen"
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr "Neigung:"
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
@@ -6525,23 +6569,23 @@ msgstr ""
 "Passt die Höhe des Blickpunktes über der Oberfläche an (der Blickwinkel wird "
 "automatisch adjustiert, um das Bildzentrum zu erhalten) "
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr "Passt die relative Höhe der Objekte über der Oberfläche an"
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Z-Überh:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr "Ansicht:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr "hier"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
@@ -6549,19 +6593,19 @@ msgstr ""
 "Erlaubt Ihnen ein neues Zentrum der Ansicht zu wählen. Klicken Sie zunächst "
 "auf den Button und dann auf die Oberfläche."
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr "Zentrum"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr "Setzt die Ansicht auf die Standardwerte zurück."
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "oben"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
@@ -6569,19 +6613,19 @@ msgstr ""
 "Ansicht direkt von oben über dem Zentrum. Die Ansicht ist ungefähr in Nord-"
 "Süd-Richtung."
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr "Zurücksetzen"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Zurücksetzen auf Standardansicht"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr "Erscheinungsbild"
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
@@ -6590,227 +6634,227 @@ msgstr ""
 "verändern. Es ist empfehlenswert den fly-through Modus zu verwenden um "
 "flüssige Bewegungen zu erhalten."
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr "Aufnehmen"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr "Abspielen"
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr "Gesamtzahl Frames:"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr "Frame rate (FPS):"
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr "Frames werden mit der angegebenen Frequenz (FPS) aufgenommen. "
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr "Speichere die Bildsequenz"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr "Wählen Sie ein Verzeichnis für Bilder"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 "Erzeugte Dateinamen haben folgendes Muster: prefix_1.ppm, prefix_2.ppm, ..."
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Oberfläche"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr "konstante Oberfläche"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vektor"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "3D Raster"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Beleuchtung"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr "Randzone"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr "Schnittebenen"
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Modus:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "grob"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "fein"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "beides"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Schummerung:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "flach"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "gouraud"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "Alle setzen"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Verwende Zeichenvorschriften für alle geladenen Oberflächen"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr "Grober Modus:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr "Auflösung:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr "Stil:"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "Gitternetz"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "Oberfläche"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 msgid "Change wire color"
 msgstr "Gitterfarbe ändern"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr "Feiner Modus:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Oberflächen-Attribute"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Transparenz"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Glanz"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "Karte"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "zurücksetzen"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "konstant"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr "Ändert die x,y und z Position der aktuellen Oberfläche"
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Zurücksetzen"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr "Zurücksetzen auf Standardposition"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr "Aktive Schnittfläche:"
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr "Leeren"
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr "Oberflächenfarbe"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr "Unterflächenfarbe"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr "Mischen"
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr "Schummerung"
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr "Horizontales X:"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr "Bestimmt die X-Koordinate der aktuellen Schnittfläche"
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr "Horizontales Y:"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr "Bestimmt die Y-Koordinate der aktuellen Schnittfläche"
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Rotation:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr "Rotiert die aktuelle Schnittfläche um die vertikale Achse"
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr "Rotiert die aktuelle Schnittfläche um die horizontale Achse"
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
@@ -6818,196 +6862,196 @@ msgstr ""
 "Bestimmt die Z-Koordinate der aktuellen Schnittfläche (nur sinnvoll wenn die "
 "Neigung nicht 0 ist)"
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Neu"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr "Feine Auflösung:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr "Wert:"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr "Transparenz:"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Zeige Vektorlinien"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Vektorlinien"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Linie:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "Breite:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "Farbe:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 #, fuzzy
 msgid "use color for thematic mapping"
 msgstr "Klassifiziert Attributdaten, z.B. für thematische Karten."
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 #, fuzzy
 msgid "use width for thematic mapping"
 msgstr "Klassifiziert Attributdaten, z.B. für thematische Karten."
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Einstellungen vornehmen"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Fenster"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr "auf Oberfläche(n):"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr "in 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Höhe über Oberfläche:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Vektorpunkte anzeigen"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Vektorpunkte"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Symbol:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 #, fuzzy
 msgid "use size for thematic mapping"
 msgstr "Klassifiziert Attributdaten, z.B. für thematische Karten."
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "3D Rasterkarte"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "Iso-Oberflächen"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr "Schnitte"
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Auflösung:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Liste der Iso-Oberflächen"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr "Zeige Licht-Modell"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr "Position der Lichtquelle"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr "Passe Höhe des Lichts an"
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "Lichtfarbe und -intensität"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "Helligkeit:"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr "Passe die Helligkeit des Lichts an"
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr "Lichtwärme:"
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr "Passe die Lichtwärme an"
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr "Kanten mit Randzone"
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "N && W"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "N && O"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "S && W"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "S && O"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr "Höhe der Randzone von unten:"
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr "Pfeillänge (in Karteneinheiten):"
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr "Pfeilfarbe:"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr "Nordpfeil platzieren"
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr "Länge des Maßstabsbalken (in Karteneinheiten):"
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr "Farbe des Maßstabsbalken:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Maßstab hinzufügen"
@@ -7402,15 +7446,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr "Rasterkarte <%s> nicht gefunden"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr "Vektorkarte <%s> nicht gefunden"
@@ -7421,12 +7465,14 @@ msgid "3d raster map <%s> not found"
 msgstr "3D-Rasterkarte <%s> nicht gefunden"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Importiere Rasterdaten"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "Einbindung externer Rasterdaten"
 
@@ -7440,12 +7486,14 @@ msgid "Set raster output format"
 msgstr "Bestimme Format für Raster-Ausgabe"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Importiere Vektordaten"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "Einbindung externer Vektordaten"
 
@@ -7467,7 +7515,7 @@ msgstr "Iportiere Daten von einem WMS-Server"
 msgid "Add command layer"
 msgstr "Befehlsebene hinzufügen"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Beenden"
@@ -7572,98 +7620,95 @@ msgstr "Exportiere Vektorkarte"
 msgid "Export PostGIS"
 msgstr "Exportiere Modell als Python-Skript"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Erzeuge Attributtabelle"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Erzeuge"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "%d Karte aus dem aktuellen Mapset gelöscht"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Farbtabelle setzen"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Attributdaten anzeigen"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Beginne mit Editieren"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Beende das Editieren"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "Topologie erzeugen/wiederherstellen"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Zoome auf die selektierten Karten (ignoriere NULLwerte)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "oder gebe Werte interaktiv ein"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogramm"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Univariate Statistiken"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Bericht und Statistiken"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Profil"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "Selektierte Ebenen löschen"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Kann das Profil der Rasterkarte nicht erstellen."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, fuzzy, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-"Der Name <%(name)s> ist kein gültiger Name für Locations. Bitte verwenden "
-"Sie nur ASCII-Zeichen ohne %(chars)s und Leerzeichen."
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr "ungültiger Name"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Nicht unterstützter Kartenebenentyp <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Geben Sie ein Namen für das neue Mapset ein:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Transparenz von <%s> festlegen"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
@@ -7671,102 +7716,107 @@ msgstr ""
 "Die Vektorkarte <%s> existiert bereits im aktuellen Mapset. Wollen Sie diese "
 "überschreiben?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Überschreiben?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht öffnen."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Vektorkarte <%s> nicht in aktueller Mapset gefunden"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 "Kann das Histogramm der Rasterkarte nicht anzeigen. Kein Kartenname "
 "angegeben."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Transparenz von <%s> festlegen"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Ebenen-Gruppe:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Klicke um Ebenen-Einstellungen zu ändern."
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(Doppelklick um Eigenschaften zu definieren)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Bitte warten Sie, aktualisiere Daten..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "Transparenz:"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS GIS %s Ebenen-Manager"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "Werkzeugleiste Workspace"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "Werkzeugleiste Daten"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "Werkzeugleiste Extras"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr "Werkzeugleiste Vektor"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 msgid "3D view Toolbar"
 msgstr "Werkzeugleiste 3D-Ansicht"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr "Kartenfenster umbenennen"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Kartenebenen"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Befehlszeile"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr "Suche Befehle"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Datenauswahl"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Python Shell"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7777,11 +7827,11 @@ msgstr ""
 "\n"
 "Wollen Sie in die neue Location wechseln?"
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr "In die neue Location wechseln?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7790,35 +7840,35 @@ msgstr ""
 "Aktuelle Location ist <%(loc)s>.\n"
 "Aktuelles Mapset ist <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 "Möchten Sie nun die Ausdehnung und Auflösung der Standardregion eingeben?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Location <%s> erstellt."
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Wähle auszuführendes Modell"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Wollen Sie die Änderungen im Projekt speichern?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr ""
 "Wollen Sie die aktuellen Einstellungen in einer Projektdatei speichern?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr "Schließe Kartenfenster %s"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
@@ -7827,35 +7877,35 @@ msgstr ""
 "Befehl '%s' wurde noch nicht im wxGUI implementiert. Versuchen Sie es als "
 "Befehlsebene hinzuzufügen."
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "Ausgwähltes Kartenlayer ist keine Vektorkarte."
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "Sie können nur Vektorkarten des aktuellen Mapsets editieren."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "Wähle auszuführendes Skript"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Python Skript (*.py)|*.py|Bash Skript (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Skript-Datei '%s' ist nicht vorhanden. Berechnung wurde abgebrochen."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
@@ -7864,15 +7914,15 @@ msgstr ""
 "Skript <%s> ist nicht ausführbar. Wollen Sie die Berechtigung der Datei "
 "ändern (Sie müssen dafür Eigentümer der Datei sein)?"
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr "Berechtigung bestimmen?"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr "Kann die Berechtigungen nicht ändern. Operation abgebrochen."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
@@ -7881,104 +7931,106 @@ msgstr ""
 "Verzeichnis '%s' ist nicht im GRASS_ADDON_PATH. Möchten Sie das Verzeichnis "
 "zum GRASS_ADDON_PATH hinzufügen?"
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr "Pfad zu den Erweiterungen anpassen?"
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Starten des Skriptes '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Keine Location/Mapset angegeben. Breche die Operation ab."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Geben Sie ein Namen für das neue Mapset ein:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Neues Mapset erstellen"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr "Kein Mapset angegeben. Breche die Operation ab."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "Aktuelles Mapset ist <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Ändern der Arbeitsumgebung "
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Wählen Sie ein Verzeichnis:"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Wählen Sie das Eingabe-Verzeichnis"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr "System Info"
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr "GRASS Version"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "Unbekannter Wert"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+#, fuzzy
+msgid "GRASS SVN revision"
 msgstr "GRASS SVN Revision"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
 msgstr "Erstellungsdatum"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
+#: ../gui/wxpython/lmgr/frame.py:1106
 #, fuzzy
-msgid "Build Platform"
+msgid "Build platform"
 msgstr "Platform"
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr "Platform"
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -7986,60 +8038,60 @@ msgstr ""
 "Aktuelles Projekt ist nicht leer. Wollen Sie die aktuellen Einstellungen in "
 "einer Projektdatei speichern?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "Neues Projekt erstellen?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Wählen Sie eine Projektdatei"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "GRASS Workspace File (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Bitte warten Sie, ich lade das Projekt..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Wählen Sie die zu ladende GRC-Datei"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Alter GRASS Workspace File (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Wählen Sie eine Datei, um das aktuelle Projekt zu speichern"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "Projektdatei <%s> existiert bereits. Wollen Sie die Datei überschreiben?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Speichere Projekt"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 "Schreiben der aktuellen Einstellungen in die Workspace-Datei fehlgeschlagen."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr "Geben Sie neuen Namen ein:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS %(version) Kartenfenster: %(name)s  - Location: %(loc)s"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, fuzzy, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8047,26 +8099,26 @@ msgid ""
 "Reason: %s"
 msgstr "Kann das Symbol-Design nicht laden. Grund: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Kann den neuen Datensatz nicht einfügen."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Kann den neuen Datensatz nicht einfügen."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr "Selektierte Kartenebenen der Baumstruktur hinzufügen"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Nicht unterstützter Kartenebenentyp <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
@@ -8074,7 +8126,7 @@ msgstr ""
 "Zellwerte können nur für Regionen mit weniger als 10000 Zellen angezeigt "
 "werden."
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8085,29 +8137,25 @@ msgstr ""
 "%s\n"
 "aus der Baumstruktur entfernen?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 "Wollen Sie die selektierten Kartenebene(n) aus der Baumstruktur entfernen?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Entferne Kartenebene"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "GRASS GUI schließen"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "FEHLER: Kann die GRASS-Version nicht bestimmen. Einzelheiten: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr "Keine Kartenebene selektiert. Breche die Operation ab."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
@@ -8117,40 +8165,40 @@ msgstr ""
 "überein. Wir schlagen vor, dass Sie das Kartenfenster auf den Arbeitsbereich "
 "beschränken. Wollen Sie die Auflösung beschränken?"
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr "Kartenfenster auf Arbeitsbereich beschränken?"
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr "Willkommen in der wxGUI interaktiven Python Shell %s"
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr "Geben Sie %s für mehr GRASS Skripting Information ein."
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr "Geben Sie %s ein, um Raster oder Vektor der Baumstruktur hinzuzufügen."
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr "Lösche allen Text in der Shell"
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Raster- oder Vektorkarte <%s> nicht gefunden"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "Rasterkarte <%s> hinzugefügt"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "Vektorkarte <%s> hinzugefügt"
@@ -8216,7 +8264,7 @@ msgstr "Importiere/Verlinke Raster- oder Vektordaten"
 msgid "Raster Map Calculator"
 msgstr "Rasterkartenrechner"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "Grafischer Modellierer"
 
@@ -8311,7 +8359,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Änderungen ignorieren und Dialog schließen"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Änderungen anwenden und Dialog schließen"
 
@@ -8653,29 +8701,29 @@ msgstr "Nix zu tun. Wählen Sie ein Werkzeug aus der Editor Werkzeugleiste."
 msgid "Z bulk-labeling dialog"
 msgstr "Dialog \"Z-Bulk-Label\""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Vektor-Digitalisierung"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Vektordigitalisierer nicht vorhanden"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "Vektorkarte <%s> nicht in aktueller Mapset gefunden"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Neue Vektorkarte <%s> erzeugt"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht erstellen."
@@ -8886,7 +8934,7 @@ msgstr "Handbuch des Vektoreditors anzeigen"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Zusätzliche Werkzeuge (Kopieren, Umdrehen, Verbinden, etc.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Rückgängig"
 
@@ -8963,7 +9011,7 @@ msgstr "Vektorkarte ist nicht 3D. Breche die Operation ab."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Vektorkarte selektieren"
 
@@ -8995,11 +9043,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Nicht unterstützter Objekttyp %d. Operation abgebrochen."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Vektordigitalisierer Handbuch"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9025,187 +9068,187 @@ msgstr "Bearbeitung der Vektorkarte <%s> erfolgreich abgeschlossen"
 msgid "New vector map"
 msgstr "Neue Vektorkarte"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr "Server-Einstellungen"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Server:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Verbinde"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Verbinde zu Server"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Fortgeschrittene Legendeneinstellungen"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Fortgeschrittene Legendeneinstellungen"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Einstellungen des Layer Manager"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Name der Ebene"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Umbenennen"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr "Passwort:"
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 #, fuzzy
 msgid "No data source defined, settings are not saved."
 msgstr "Name nicht angegeben, Einstellungen werden nicht gespeichert."
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, fuzzy, python-format
 msgid "Connected to <%s>"
 msgstr "Modell exportiert in <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht öffnen."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Ebene mit Gitternetz hinzufügen"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Layer hinzufügen"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Selektierte Kartenebenen der Baumstruktur hinzufügen"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Layer Eigenschaften"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr "&Anwenden"
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr "&OK"
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Name für Ausgaberasterkarte:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Region definieren"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Kartenfenster"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Lade Region:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 #, fuzzy
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr "Arbeitsbereich auf Grundlage des Kartenfensters setzen"
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr ""
 "Beschränke die Auflösung des Kartenfensters auf die Einstellungen des "
 "Arbeitsbereichs."
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Arbeitsbereich auf Grundlage des Kartenfensters setzen"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Füge existierende Rasterkarte ein"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Lade Region:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "&Entferne Kartenebene"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Selektierte Ebenen löschen"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "%d Karte aus dem aktuellen Mapset gelöscht"
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "Die Datei existiert bereits."
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Verzeichnis %s existiert nicht."
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Lade Daten..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Kann nicht setzen"
@@ -9320,7 +9363,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Name der Ebene"
 
@@ -9335,8 +9379,8 @@ msgstr "Stil"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Schleife / Serie hinzufügen"
+msgid "Add default"
+msgstr "Standard"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9345,23 +9389,23 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr "1. Wählen Sie das GRASS GIS Datenverzeichnis"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr "2. Wählen Sie die GRASS Location"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr "3. Wählen Sie ein GRASS Mapset"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr "Das GRASS GIS Datenverzeichnis enthält Locations."
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
@@ -9370,7 +9414,7 @@ msgstr ""
 "(Projektion). Eine Location kann ein Projekt sein. Eine Location enthält "
 "Mapsets."
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
@@ -9378,30 +9422,32 @@ msgstr ""
 "Ein Mapset enthält GIS-Daten eines Projektes, einer Aufgabe in einem "
 "Projekt, einer Unterregion oder eines Nutzers."
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 msgid "Start &GRASS session"
 msgstr "Starte &GRASS Sitzung"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "&Blättern"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr "&Neu"
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 "Erstelle neues Mapset\n"
 "in ausgewählter Location"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr "N&eu"
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 #, fuzzy
 msgid ""
 "Create a new location using location wizard. After location is created "
@@ -9410,97 +9456,102 @@ msgstr ""
 "Starte den Location-Assistenten. Nach der erfolgreichen Einrichtung der "
 "Location wird GRASS gestartet."
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr "Umbenennen"
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Ausgewählte Location umbenennen"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 msgid "De&lete"
 msgstr "&Löschen"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Ausgewählte Location löschen"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Umbenennen"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Ausgewähltes Mapset umbenennen"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr "Löschen"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Ausgewähltes Mapset löschen"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "GRASS GIS %s Ebenen-Manager"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Betrete GRASS Sitzung"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 "Kann die GRASS Datenbank nicht setzten. Bitte überprüfen Sie ihre lokalen "
 "Einstellungen."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "FEHLER: Location <%s> nicht gefunden."
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "FEHLER: Mapset <%s> nicht gefunden."
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr "Fehlerhafte Zeile in GISRC Datei (%s):%s\n"
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Fehler: "
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, fuzzy, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 "Möchten Sie die Location anhand der Datenquelle <%(name)s> erzeugen? Die "
 "Standardregion wird auf Grundlage der importierten Karte erstellt."
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Importiere Daten"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr "Möchten Sie ein neues Mapset anlegen?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "Georektifizieren der Vektorkarte <%s> fehlgeschlagen."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, fuzzy, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
@@ -9509,7 +9560,7 @@ msgstr ""
 "Möchten Sie die Location anhand der Datenquelle <%(name)s> erzeugen? Die "
 "Standardregion wird auf Grundlage der importierten Karte erstellt."
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9520,7 +9571,7 @@ msgstr ""
 "\n"
 "Dieses Mapset kann nicht umbenannt werden."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9531,7 +9582,7 @@ msgstr ""
 "\n"
 "Geben Sie den neuen Namen ein:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9542,7 +9593,7 @@ msgstr ""
 "\n"
 "Das Mapset <%s> existiert bereits in der Location."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9553,7 +9604,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9564,7 +9615,7 @@ msgstr ""
 "\n"
 "Die Location <%s> existiert bereits in der GRASS Datenbank."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9575,7 +9626,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9586,7 +9637,7 @@ msgstr ""
 "\n"
 "Dieses Mapset kann nicht gelöscht werden."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9599,11 +9650,11 @@ msgstr ""
 "\n"
 "ALLE KARTEN in diesem Mapset werden UNWIDERRUFLICH GELÖSCHT!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Kann Mapset nicht löschen"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9614,32 +9665,32 @@ msgstr ""
 "\n"
 "ALLE KARTEN dieser Location werden UNWIDERRUFLICH GELÖSCHT!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Kann Location niht löschen"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, fuzzy, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "Verzeichnis %s existiert nicht."
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Wählen Sie das GIS-Datenverzeichnis"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr "Das Mapset <%s> existiert bereits."
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9648,17 +9699,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Ausgewähltes Mapset umbenennen"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Kann neues Mapset '%s' nicht erstellen"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9677,11 +9728,11 @@ msgstr ""
 "Wollen Sie versuchen .gislock zu löschen (Sie brauchen entsprechende Rechte "
 "für diese Operation) und Fortzufahren?"
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr "Lock-Datei gefunden."
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9694,7 +9745,7 @@ msgstr ""
 "Weitermachen hier Ihre Daten beschädigen. Überprüfen Sie sicherheitshalber "
 "die Prozesstabelle..."
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9705,7 +9756,7 @@ msgstr ""
 "\n"
 "Einzelheiten: %(reason)s"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
@@ -9714,7 +9765,11 @@ msgstr ""
 "Der Name <%(name)s> ist kein gültiger Name für Locations oder Mapsets. Bitte "
 "verwenden Sie nur ASCII-Zeichen ohne %(chars)s und Leerzeichen."
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr "ungültiger Name"
+
+#: ../gui/wxpython/gis_set.py:1101
 #, fuzzy
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
@@ -9725,34 +9780,162 @@ msgstr ""
 "Erstellen Sie jetzt eins, wenn Sie es noch nicht getan haben. Eine beliebte "
 "Wahl ist \"grassdata\" im eigenen Heimatverzeichnis."
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "&Datei"
-
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Projekt"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Erzeuge neue Vektorkarte"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Erzeuge neues Projekt"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Name der Rasterkarte:"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Öffnen"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Vektorkarte selektieren"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "Lade Projekt aus einer Datei"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Name der Rasterkarte:"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
-msgstr "Speichern"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Berechnet den Form-Index einer Rasterkarte."
 
-#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
-msgid "Save as"
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"Die Vektorkarte <%s> existiert bereits im aktuellen Mapset. Wollen Sie diese "
+"überschreiben?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Bitte, erzeugen Sie zunächst ein Kartenausschnitt"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Wollen Sie die Änderungen im Modell speichern?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Änderungen speichern"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Kann das Profil der Rasterkarte nicht erstellen."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Kann die Vektorkarte <%s> nicht erstellen."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Rendern..."
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Erstelle eine neue Farbtabelle für Rasterkarten"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Digitalisiere Flächen"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Neue Linie digitalisieren"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Neuen Punkt digitalisieren"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Rasterkarten packen"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Beende Vektor-Digitalisierung"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Selektiere Rasterkarte:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Zellenwerte"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "Keine Rasterkarte"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "&Datei"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Projekt"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Erzeuge neues Projekt"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Öffnen"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "Lade Projekt aus einer Datei"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr "Speichern"
+
+#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
+msgid "Save as"
 msgstr "Speichern unter"
 
 #: ../gui/wxpython/menustrings.py:12
@@ -10545,7 +10728,7 @@ msgstr "Grafischer Modellierer"
 msgid "Launch Graphical modeler"
 msgstr "Starte den Grafischen Modellierer"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Start des Modells"
 
@@ -10609,7 +10792,7 @@ msgstr "Starte Skript"
 msgid "Launches script file."
 msgstr "Starte Skript-Datei."
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Schließen"
@@ -10619,8 +10802,8 @@ msgstr "Schließen"
 msgid "Quit wxGUI session."
 msgstr "Beende wxGUI-Session."
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "GRASS GUI schließen"
@@ -12230,8 +12413,8 @@ msgid "Develop vector map"
 msgstr "Vektorkarten pflegen"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Erzeuge neue Vektorkarte"
 
@@ -14357,15 +14540,15 @@ msgstr "Zeige den Arbeitsbereich"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "Kategorie-Modus"
+msgstr "GRASS GIS Histogramm Werkzeug (d.histogram)"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Zeige den Arbeitsbereich"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "&Hilfe"
 
@@ -14481,153 +14664,161 @@ msgstr "Schleife / Serie hinzufügen"
 msgid "Adds loop (series) to model"
 msgstr "Füge Schleife (Serien) zum Modell"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "Bedingung hinzufügen"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Füge Bedingung (if/else) zu Modell hinzu"
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Füge Bedingung (if/else) zu Modell hinzu"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "Entferne Objekt"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "Entferne Aktion/Daten aus Modell"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Modell-Eigenschaften (Name, Verwendungszweck, etc.)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "Lösche temporäre Daten"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "Lösche im Modell als temporär definierte Daten"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Starte gesamtes Modell"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Überprüfung des Modells"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Überprüfe gesamtes Modell"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Zeige HTML-Handbuchseite des Grafischen Modellierers"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "Über den Grafischen Modellierer"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "Zeige Information über den Grafischen Modellierer an"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Kann Anweisungen nicht lesen %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Exportiere in Bild"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 msgid "Export to PostScript"
 msgstr "Exportiere nach PostScript"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 msgid "Export to PDF"
 msgstr "Export nach PDF"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Starte Skript"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Kartenlayout"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 #, fuzzy
 msgid "&Insert"
 msgstr "&Installiere"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Zeichne einen Rahmen um den Kartenausschnitt"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Rasterkarte hinzufügen"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "Vektorkarte hinzufügen"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Legende hinzufügen"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Georeferenzieren von Raster- und Vektorkarten"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Karteninformation hinzufügen"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Maßstab hinzufügen"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr "Nordpfeil hinzufügen"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Zeige HTML-Handbuchseite des Grafischen Modellierers"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Kartenlayout beenden"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Zeige Information über den Grafischen Modellierer an"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14642,116 +14833,116 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "GRASS GIS Histogramm Werkzeug (d.histogram)"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "Rasterkarteneinstellungen"
+msgstr "Ungültige Eingabe"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Attributspalte:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Wähle Rasterkarte 3 (optional):"
+msgstr "Selektiere Vektorobjekte"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr ""
 "\n"
 "++ Lasse gwflow Integrations-Tests laufen++"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Ungültige Eingabe"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Ungültige Eingabe"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Ungültige Eingabe"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Ungültige Eingabe"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -14949,7 +15140,7 @@ msgstr "SQL-Ausdruck ist gültig"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -14957,7 +15148,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "GRASS GIS Attributtabellen Manager"
 
@@ -15086,7 +15277,7 @@ msgid "Field calculator"
 msgstr "Kartenrechner"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr "Spalte hinzufügen"
 
@@ -15189,15 +15380,15 @@ msgstr "Selektierte Datensätze löschen"
 msgid "Delete all records"
 msgstr "Alle Datensätze löschen"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Alle selektieren"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Alle Selektierungen aufheben"
 
@@ -15393,7 +15584,7 @@ msgid "Driver"
 msgstr "Treiber"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Datenbank"
 
@@ -15523,187 +15714,187 @@ msgstr "Kann neue Location nicht anlegen"
 msgid "Field statistics <%s>"
 msgstr "Voxel-Statistik"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr "Alle selektieren"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr "Alle deselektieren"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr "Geben Sie Attributwerte ein"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr "Ungültiges Farbformat. Verwenden Sie das Format '0:0:0'"
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Selektiere Vektorkarte:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr "Importiere/Exportiere Farbtabelle:"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 msgid "Choose file to load color table"
 msgstr "Wählen Sie die Datei mit Farbtabelle"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Lade"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr "Geben Sie den Dateinamen ein oder verwenden Sie den Dateibrowser"
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr "Wählen Sie die Datei, um Farbtabelle zu speichern"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr "Geben Sie den Dateinamen ein oder verwenden Sie den Dateibrowser"
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "&Einstellungen"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Speichere Farbtabelle in Datei"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr "Lade Farbtabelle aus Datei:"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr "Speichere Farbtabelle in Datei:"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr "Zurücksetzen auf Standardtabelle"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Vorschau"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr "Vorschau der Karte anzeigen (Ausdehnung des Kartenfensters)"
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr "Keine gültigen Farbregeln angegeben."
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Die Regions-Datei <%s> existiert? Soll sie überschrieben werden?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr "Nichts zu speichern."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 msgid "Invalid color table format"
 msgstr "Farbtabelle hat ungültiges Format"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr "Ungültiger Wert der Regel '%s'. Kann Farbtabelle nicht anwenden."
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "Erstelle eine neue Farbtabelle für Rasterkarten"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr "Gib Rasterkategoriewerte oder Prozent ein"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr "Floating point-Wertebereich"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 "Gib Rasterkategoriewerte oder Prozent (%(range)s = %(min)d-%(max)d) ein"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr "Neue Farbregeln für Vektorkarten erzeugen"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr "Geben Sie Attributwerte oder Prozentzahlen ein:"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr "Geben Sie Attributwerte ein:"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr "Selektieren Sie eine Spalte"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Layer:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Attributspalte:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr "Lade Farbe aus Spalte:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr "Speiche Farbe in Spalte:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr "Lade Größe aus Spalte:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr "Speichere Größe in Spalte:"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr "Lade Breite aus Spalte:"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr "Speichere Breite in Spalte:"
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr "Verwende Farb-Spalte statt der Farbtabelle:"
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Füge GRASSRGB-Spalte zu der Attributtabelle hinzu."
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr "Im- bzw. Exportiere Farbtabelle"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -15712,11 +15903,11 @@ msgstr ""
 "Die Datenbankverbindung der Vektorkarte <%s> ist nicht in der DB-Datei "
 "definiert. Möchten Sie eine neue Verbindung anlegen?"
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr "Keine Datenbankverbindungen definiert"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
@@ -15725,16 +15916,16 @@ msgstr ""
 "Die selektierte Karte <%(map)s> ist nicht im aktuellen Mapset <%(mapset)s>. "
 "Attributtabelle kann nicht geändert werden."
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr "Die Spalte %s existiert bereits."
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr "Bitte warten Sie, lade Daten aus der Attributtabelle..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
@@ -15744,29 +15935,29 @@ msgstr ""
 "lange dauern und könnte dazu führen, dass der Computer einfriert. Wollen Sie "
 "fortfahren?"
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr "Zu viele Zeilen"
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Geben Sie Attributwerte oder Prozentzahlen %s ein:"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Geben Sie Attributwerte %s ein:"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr "Bitte wählen Sie eine Spalte zum Speichern der Werte."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr "Keine Farbe angegeben. Breche die Operation ab."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15818,23 +16009,23 @@ msgstr "Stelle Variogram dar"
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "Kriging-Methoden"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Blockgröße:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "Auto-fit-Variogram"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Modell:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Work in progress! Keine Funktionalität vorhanden."
 
@@ -16048,7 +16239,7 @@ msgid "Save expression to file"
 msgstr "Speichere Ausdruck in Datei"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "&Lade"
 
@@ -16057,7 +16248,7 @@ msgid "Load expression from file"
 msgstr "Lade ausdruck aus Datei"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Kopiere die aktuelle Befehlszeile in die Zwischenablage"
 
@@ -16221,102 +16412,266 @@ msgstr "Wählen Sie einen Dateinamen, um den Ausdruck zu laden"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' in die Zwischenablage kopiert"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr "Abruf und Installation einer neuen Erweiterung aus den GRASS Addons"
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Mehrfach-Import"
 
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Repository"
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr "Liste der Rasterlayer"
 
-#: ../gui/wxpython/modules/extensions.py:53
-#, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Liste von Elementen - Rechtsklick für Löschen"
+#: ../gui/wxpython/modules/import_export.py:62
+msgid "List of vector layers"
+msgstr "Liste der Vektorlayer"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
-msgid "Options"
-msgstr "Optionen"
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr " Liste von %s Ebenen"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr "&Abrufen"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr "Abruf der Modulliste vom GRASS-Addons SVN-Repository"
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "Layer id"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr "&Installiere"
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "Name für GRASS Karte (editierbar)"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr "Installiere ausgewählte Add-on-GRASS-Module"
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+msgid "Projection match"
+msgstr "Projektionsübereinstimmung"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Schließe den Dialog beim Beenden"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
-msgstr "Erweiterung nicht definiert"
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Import"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr "Rufe Modulliste von GRASS-Addons SVN ab (etwas Geduld)..."
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Importiere ausgewählte Ebenen"
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr "Einstellungen für Quelle"
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "Install"
-msgstr "&Installiere"
+msgid "Import settings"
+msgstr "Schrifteinstellungen"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Show manual page"
-msgstr "Zeige Handbuchseiten"
+msgid "Add linked layers into layer tree"
+msgstr "Importierte Ebenen der Baumstruktur hinzufügen"
 
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "Kann Einstellungen nicht speichern."
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Importierte Ebenen der Baumstruktur hinzufügen"
 
-#: ../gui/wxpython/modules/extensions.py:356
-#, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Entferne Add-ons-Erweiterungen"
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Link"
 
-#: ../gui/wxpython/modules/extensions.py:365
-msgid "List of installed extensions"
-msgstr "Liste der installierten Erweiterungen"
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Binde ausgewählte Ebenen ein"
 
-#: ../gui/wxpython/modules/extensions.py:370
-#, fuzzy
-msgid "Uninstall"
-msgstr "&Installiere"
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr "Keine Kartenebene selektiert. Operation abgebrochen."
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Deinstalliere ausgewählte Add-ons-Erweiterungen"
+msgid "Unable to determine number of raster bands"
+msgstr "Kann das Profil der Rasterkarte nicht erstellen."
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/import_export.py:591
 #, fuzzy
-msgid "Reinstall"
-msgstr "&Installiere"
+msgid "Define output format for vector data"
+msgstr "Massen-Import von Vektordaten"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:593
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Deinstalliere ausgewählte Add-ons-Erweiterungen"
+msgid "Define output format for raster data"
+msgstr "Massen-Import von Rasterdaten"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:601
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "Set external format and close dialog"
+msgstr "Änderungen ignorieren und Dialog schließen"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Keine Karte ausgewählt!"
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Importiere DXF-Layer"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Wählen Sie zu importierende DXF-Datei"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Es wurde kein Kartenebene ausgewählt"
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Projektion"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Name für GRASS Karte (editierbar)"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Zu löschende Ebene"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importiere ausgewählte Ebenen"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr "Abruf und Installation einer neuen Erweiterung aus den GRASS Addons"
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Liste von Elementen - Rechtsklick für Löschen"
+
+#: ../gui/wxpython/modules/extensions.py:71
+msgid "Options"
+msgstr "Optionen"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr "&Abrufen"
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr "Abruf der Modulliste vom GRASS-Addons SVN-Repository"
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr "&Installiere"
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr "Installiere ausgewählte Add-on-GRASS-Module"
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr "Erweiterung nicht definiert"
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr "Rufe Modulliste von GRASS-Addons SVN ab (etwas Geduld)..."
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Erweiterungen (Addons)"
+
+#: ../gui/wxpython/modules/extensions.py:214
+#, fuzzy
+msgid "Install"
+msgstr "&Installiere"
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Zeige Handbuchseiten"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "Kann Einstellungen nicht speichern."
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Entferne Add-ons-Erweiterungen"
+
+#: ../gui/wxpython/modules/extensions.py:366
+msgid "List of installed extensions"
+msgstr "Liste der installierten Erweiterungen"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "&Installiere"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Deinstalliere ausgewählte Add-ons-Erweiterungen"
+
+#: ../gui/wxpython/modules/extensions.py:373
+#, fuzzy
+msgid "Reinstall"
+msgstr "&Installiere"
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Deinstalliere ausgewählte Add-ons-Erweiterungen"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
 msgstr "Keine Erweiterung zum Entfernen ausgewählt. Breche die Operation ab."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -16329,16 +16684,16 @@ msgstr ""
 "\n"
 "Wollen Sie wirklich die <%(ext)s> Erweiterung löschen?"
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr "Entferne Erweiterung"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr "Erweiterung"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr "Bitte warten,  Bild wird exportiert..."
 
@@ -16484,7 +16839,7 @@ msgid ""
 msgstr "Keine offenen Änderungen in Gruppe <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Karte <%s> nicht gefunden."
@@ -16524,11 +16879,6 @@ msgstr "Binärdatei importieren"
 msgid "Export training areas"
 msgstr "Exportiere in Bild"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Erzeuge Attributtabelle"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16557,22 +16907,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Keine Gruppe ausgewählt."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Karte <%s> nicht gefunden."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Lade Rasterkarte <%s>..."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Lade Rasterkarte <%s>..."
@@ -16622,156 +16972,156 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Werkzeugleiste Georektifizierung"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Werkzeugleiste Extras"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Werkzeugleiste Verschiedenes"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Digitalisierungsfehler"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Kartenfenster drucken"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Ziel-Anzeige"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 #, fuzzy
 msgid "Adjust Training Area Display to Preview Display"
 msgstr "Passe Ziel- an Quell-Anzeige an"
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 #, fuzzy
 msgid "Adjust Preview display to Training Area Display"
 msgstr "Passe Quell- an Ziel-Anzeige an"
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Region anzeigen"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Region anzeigen"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Importiere Vektorkarte"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Kann die Vektorkarte <%s> nicht erstellen."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht öffnen."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Kann die Vektorkarte <%s> nicht öffnen."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Kann die Vektorkarte <%s> nicht erstellen."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Nichts zu extrahieren."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "Kann die Vektorkarte <%s> nicht erstellen."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr "Analyse fehlgeschlagen."
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Es wurde kein Kartenebene ausgewählt"
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "Die Regions-Datei <%s> existiert? Soll sie überschrieben werden?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Keine Kartenebene selektiert. Breche die Operation ab."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Objekt-ID %d kann nicht gelesen werden. Operation abgebrochen."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Keine Kartenebene selektiert. Breche die Operation ab."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "Objekt-ID %d als tot markiert. Operation abgebrochen."
@@ -17243,18 +17593,140 @@ msgstr "RMS-Fehler"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "Forward: %(forw)s, Backward: %(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "GRASS GIS 3D Raster Map Calculator"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Lesen der Anweisungen fehlgeschlagen %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Lesen der Anweisungen fehlgeschlagen %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Umbenennen"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Mapset umbenennen"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Überprüfe Modell..."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Stelle Modell neu dar..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Kann Datei %s nicht lesen."
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Tabelle kopieren"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Modell wird ausgeführt..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Möchten Sie ein neues Mapset anlegen?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Mapset löschen"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Löschen"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Fenster"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Kopieren"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "&Raster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Karte anzeigen"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr "Zeige Textobjekte"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17262,70 +17734,89 @@ msgstr ""
 "Ziehe Sie den Text mit der Maus im Zeiger-Modus in die gewünschte Position.\n"
 "Doppelklick ändert die Einstellung."
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Legende"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Maßstabsbalken"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Nordpfeil hinzufügen"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s' in die Zwischenablage kopiert"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Werkzeugleiste GCP Ansicht"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' in die Zwischenablage kopiert"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Einstellungen anzeigen"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Füge mehrere Vektorkarten hinzu"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Rasterlegende"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Auf die Ausdehnung der gespeicherten Region vergrößern"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Arbeitsbereich auf Grundlage des Kartenfensters setzen"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Region <%s> nicht gefunden. Berechnung abgebrochen."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr "Ausdehnung des Kartenfensters als benannte Region speichern"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Arbeitsbereich auf Grundlage des Kartenfensters setzen"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Die Regions-Datei <%s> existiert? Soll sie überschrieben werden?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -17422,69 +17913,69 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "Wählen Sie GRASS-Location und Mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Location oder Mapset fehlt."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "Name der GRASS Location:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "Name der Mapset:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "Wählen Sie ein Mapset der GRASS Location"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr "Name der Mapset fehlt."
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Name der neuen Vektorkarte fehlt."
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Erzeuge Attributtabelle"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Erzeugte Karte der Baumstruktur hinzufügen"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 msgid "Name of new vector map is missing."
 msgstr "Name der neuen Vektorkarte fehlt."
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Name der neuen Vektorkarte:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Schlüsselspalte:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Kann die Vektorkarte <%s> nicht erstellen."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
@@ -17493,7 +17984,7 @@ msgstr ""
 "Ungültige oder leere Schlüsselspalte.\n"
 "Kann die Vektorkarte <%s> nicht erstellen."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
@@ -17502,469 +17993,374 @@ msgstr ""
 "Die Vektorkarte <%s> existiert bereits im aktuellen Mapset. Wollen Sie diese "
 "überschreiben?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Lade Region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Speichere Region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr "Erzeuge oder editiere Gruppe"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr "Änderungen auf selektierte Gruppe anwenden und Dialog schließen"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr "Änderungen auf selektierte Gruppe anwenden"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr "Schließe den Dialog, Änderungen werden nicht angewendet"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 #, fuzzy
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 "Selektieren Sie zu editierenden die Gruppe oder geben Sie einen Namen für "
 "eine neue Gruppe ein:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 #, fuzzy
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 "Selektieren Sie zu editierenden die Gruppe oder geben Sie einen Namen für "
 "eine neue Gruppe ein:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr "Muster:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Liste der Karten:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr "Selektieren Sie Kartenebenen und fügen Sie diese zur Liste."
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr "Entferne selektiere Ebene(n) von der Liste."
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr "Selektierte Kartenebenen der Gruppe hinzufügen"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr "Gruppe <%s> wurde geändert. Wollen Sie die Änderungen anwenden?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr "Nicht durchgeführte Änderungen"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, fuzzy, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr "Gruppe <%s> wurde geändert. Wollen Sie die Änderungen anwenden?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Keine Rasterkarte ausgewählt!"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr "Keine offenen Änderungen in Gruppe <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr "Gruppe <%s> wurde erfolgreich erzeugt."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr "Gruppe <%s> wurde erfolgreich geändert."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "Erzeugen der neuen Gruppe <%s> ist fehlgeschlagen."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr "Änderungen der Gruppe <%s> ist fehlgeschlagen."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr "Keine Gruppe ausgewählt."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Keine Gruppe ausgewählt."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr "Verwenden Sie vollständige Kartennamen"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr "Kartentyp:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr "Umschalter auswählen"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Invertiere Auswahl"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr "Dynamische Serien (%s)"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Mehrfach-Import"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-msgid "List of raster layers"
-msgstr "Liste der Rasterlayer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-msgid "List of vector layers"
-msgstr "Liste der Vektorlayer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, python-format
-msgid "List of %s layers"
-msgstr " Liste von %s Ebenen"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "Layer id"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Name für GRASS Karte (editierbar)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-msgid "Projection match"
-msgstr "Projektionsübereinstimmung"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Schließe den Dialog beim Beenden"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Import"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Importiere ausgewählte Ebenen"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Importierte Ebenen der Baumstruktur hinzufügen"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Importierte Ebenen der Baumstruktur hinzufügen"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Link"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Binde ausgewählte Ebenen ein"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr "Keine Kartenebene selektiert. Operation abgebrochen."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Kann das Profil der Rasterkarte nicht erstellen."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Massen-Import von Vektordaten"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Massen-Import von Rasterdaten"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Änderungen ignorieren und Dialog schließen"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Keine Karte ausgewählt!"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Importiere DXF-Layer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Wählen Sie zu importierende DXF-Datei"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Es wurde kein Kartenebene ausgewählt"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Bestimme die Transparenz der Kartenebene"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "deckend"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "Setze Bildgröße"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "Bildgröße"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "Vorlage:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS SQL Abfragewerkzeug"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr " SQL-Ausdruck"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "Symbole"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr "Symbolverzeichnis:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr "Symbolname:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr "Nicht auswählbare Elemente"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Mapset"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 msgid "Type: "
 msgstr "Typ: "
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr "GSelect: ungültiges Objekt: %s"
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr "Einstellungen für Ausgabe"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
-msgstr "Einstellungen für Quelle"
+#: ../gui/wxpython/gui_core/gselect.py:1290
+#, fuzzy
+msgid "Source input"
+msgstr "Punkt der Quelle"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr "nativ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Datei"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Verzeichnis"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr "Ausgabe Typ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Typ der Quelle"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "Alle Dateien"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 msgid "ZIP files"
 msgstr "ZIP Dateien"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 msgid "GZIP files"
 msgstr "GZIP Dateien"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 msgid "TAR files"
 msgstr "TAR Dateien"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 msgid "TARGZ files"
 msgstr "TARGZ Dateien"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Datei:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "Wählen Sie zu importierende Datei"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Wählen Sie das Eingabe-Verzeichnis"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr "Erweiterung:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Wählen die Datei"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr "Objekttyp:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Feature abfragen"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Topologie"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr "Erzeugungsoptionen:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Format:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Protokoll:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Vorschau nicht verfügbar"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr "Polygon"
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Keine Kartenebene selektiert. Operation abgebrochen."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Verzeichnis %s existiert nicht."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Vektorkarte ist nicht 3D. Breche die Operation ab."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "Benutzereinstellungen"
@@ -18090,6 +18486,7 @@ msgid "Module dialog style:"
 msgstr "Befehlsdialog"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "Kartenfenster"
 
@@ -18188,7 +18585,7 @@ msgstr "Objektfarbe:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Transparent"
 
@@ -18485,6 +18882,49 @@ msgstr "Test auf Normalverteilung"
 msgid "Nothing found"
 msgstr "Nichts gefunden"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Kategorie"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Selektiere Vektorobjekte"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Neues Mapset erstellen"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Vektorkarte ist nicht 3D. Breche die Operation ab."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Kann die Vektorkarte <%s> nicht öffnen."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Keine Karte ausgewählt!"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Neue Vektorkarte <%s> erzeugt"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Kann die Vektorkarte <%s> nicht erstellen."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Info"
@@ -18527,6 +18967,10 @@ msgstr "Offizielle GRASS Webseite:"
 msgid "Code Revision"
 msgstr "GIS Library Revision:"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr "Erstellungsdatum"
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "Sprache"
@@ -18597,27 +19041,27 @@ msgstr "&Weiter"
 msgid "&Previous"
 msgstr "&Vorhergend"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Geben Sie Parameter an für '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Schließe dieses Fenster ohne den Befehl auszuführen (Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "Führe den Befehl aus (Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Zeige die Handbuchseite des Befehls an (Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "Erzeugte Karte(n) der Baumstruktur hinzufügen"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
@@ -18625,79 +19069,79 @@ msgstr ""
 "Schließe Dialog, wenn Befehl erfolgreich ausgeführt. Ändere dies in den "
 "Einstellungen (Reiter 'Befehle')."
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' in die Zwischenablage kopiert"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Erfordert"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Optional"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr "Parametrisiert im Modell"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[mehrere]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "gültiger Wertebereich"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Wählen Sie %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Location umbenennen"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Speichern unter"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "oder gebe Werte interaktiv ein"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Handbuch"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr "Nichts zu laden."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18705,27 +19149,27 @@ msgid ""
 "Reason: %s"
 msgstr "Kann das Symbol-Design nicht laden. Grund: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr "Speichere Eingabe als..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Keine Karte ausgewählt!"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Kann den Befehl '%s' nicht interpretieren"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "%(cmd)s: Parameter '%(key)s' nicht vorhanden"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -18785,67 +19229,82 @@ msgstr "Transparenz ändern"
 msgid "Change layer opacity"
 msgstr "Transparenz ändern"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr " (...)"
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, fuzzy, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+"Der Name <%(name)s> ist kein gültiger Name für Locations. Bitte verwenden "
+"Sie nur ASCII-Zeichen ohne %(chars)s und Leerzeichen."
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 #, fuzzy
 msgid "Fulltext search"
 msgstr "Volle Ausdehnung"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 #, fuzzy
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr "Finde Modul - (Enter-Taste für nächsten Treffer)"
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr "%d Module stimmen überein"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Profil"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr "Speichere aktuelle Einstellungen"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr "Lösche ausgewähltes Einstellungen"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr "Lade Einstellungen:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+#, fuzzy
+msgid "Load:"
+msgstr "Lade"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr "Einstellungen <%s> nicht gefunden"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "Speichere Einstellungen"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr "Name nicht angegeben, Einstellungen werden nicht gespeichert."
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 "Einstellung <%s> existiert bereits. Wollen Sie die Einstellungen "
 "überschreiben?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr "Keine Einstellungen angegeben. Operation abgebrochen."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr "Kann Einstellungen nicht speichern."
 
@@ -18949,12 +19408,12 @@ msgstr "Erzeuge Histogramm mit d.histogram"
 msgid "Select graphics tool"
 msgstr "Wähle Karten für Darstellung"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 #, fuzzy
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "Baumstruktur (Doppelklick, um einen Befehl auszuführen)"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Führe den ausgewählten Befehl aus"
@@ -18979,6 +19438,26 @@ msgstr "Führe den ausgewählten Befehl aus"
 #~ msgstr "GUI schließen"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Ungültige Eingabe"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Vorschau nicht verfügbar"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Überprüfe Modell..."
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "Umbenennen"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Tabelle kopieren"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Liste der Rasterlayer"
 
@@ -18994,23 +19473,41 @@ msgstr "Führe den ausgewählten Befehl aus"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "Univariate Statistiken"
 
-#~ msgid "Add condition"
-#~ msgstr "Bedingung hinzufügen"
+#~ msgid "Repository"
+#~ msgstr "Repository"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Füge Bedingung (if/else) zu Modell hinzu"
+#~ msgid "Load settings:"
+#~ msgstr "Lade Einstellungen:"
 
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Importierte Ebenen der Baumstruktur hinzufügen"
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Kann die Kartenebene <%s> nicht rendern."
 
-#, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Importierte Ebenen der Baumstruktur hinzufügen"
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Kann die Überlagerung <%s> nicht rendern."
 
 #~ msgid "Unpacks a raster map packed with r.pack."
 #~ msgstr "Dekomprimiert eine Rasterkarte zusammengepackt mit r.pack."
 
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Import alter GRASS Vektordaten"
+
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Import alter GRASS Vektordaten (alle Karten)"
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Konvertiere alle alten GRASS Vektorkarten des aktuellen Mapsets in "
+#~ "aktuelles Format."
+
+#, fuzzy
+#~ msgid "GPS data import"
+#~ msgstr "Importiere Datentabelle"
+
+#~ msgid "GEOnet import"
+#~ msgstr "GEOnet Import"
+
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Dekomprimiert eine Rasterkarte zusammengepackt mit r.pack."
@@ -19039,31 +19536,6 @@ msgstr "Führe den ausgewählten Befehl aus"
 #~ msgid "Common export formats using OGR"
 #~ msgstr "Häufige Exportformate via OGR"
 
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Arbeitsbereich auf Grundlage selektierter Karte setzen (ignoriere "
-#~ "NULLwerte)"
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Import alter GRASS Vektordaten"
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Import alter GRASS Vektordaten (alle Karten)"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Konvertiere alle alten GRASS Vektorkarten des aktuellen Mapsets in "
-#~ "aktuelles Format."
-
-#, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "Importiere Datentabelle"
-
-#~ msgid "GEOnet import"
-#~ msgstr "GEOnet Import"
-
 #~ msgid "IDW from raster points (alternate method for sparse points)"
 #~ msgstr "IDW aus Rasterpunkten (alternative Methode für dünngesäte Punkte)"
 
@@ -19074,113 +19546,22 @@ msgstr "Führe den ausgewählten Befehl aus"
 #~ msgstr "vergleiche Bitmuster"
 
 #, fuzzy
-#~ msgid "Data file <%(name)s> imported successfully."
-#~ msgstr "Vektorkarte <%(name)s> (%(type)s) erfolgreich entfernt"
-
-#~ msgid "Volume"
-#~ msgstr "Volumen"
-
-#~ msgid "Choose project location and mapset"
-#~ msgstr "Wählen Sie Projekt-Location und Mapset"
-
-#~ msgid "Manage"
-#~ msgstr "Verwalten"
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Attributtabellen Manager"
 
 #, fuzzy
-#~ msgid ""
-#~ "Welcome to GRASS GIS %s%s\n"
-#~ "The world's leading open source GIS"
-#~ msgstr ""
-#~ "Willkommen in GRASS GIS %s\n"
-#~ "Das weltweit führende Open Source GIS"
-
-#~ msgid ""
-#~ "Select an existing project location and mapset\n"
-#~ "or define a new location"
-#~ msgstr ""
-#~ "Wählen Sie eine existierende Projekt-Location und ein Mapset\n"
-#~ "oder definieren Sie eine neue Location."
-
-#~ msgid ""
-#~ "Project location\n"
-#~ "(projection/coordinate system)"
-#~ msgstr ""
-#~ "Projekt-Location\n"
-#~ "(Projektion/Koordinatensystem)"
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Wählen Sie die Quell-Mapset:"
 
-#~ msgid ""
-#~ "Accessible mapsets\n"
-#~ "(directories of GIS files)"
-#~ msgstr ""
-#~ "Verfügbare Mapsets\n"
-#~ "(Verzeichnis mit GIS-Dateien)"
-
-#~ msgid "Define new location"
-#~ msgstr "Definiere neue Location"
-
-#~ msgid ""
-#~ "Rename/delete selected\n"
-#~ "mapset or location"
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
 #~ msgstr ""
-#~ "Umbenennen/Löschen ausgewählter\n"
-#~ "Mapsets oder Locations"
-
-#~ msgid "Start &GRASS"
-#~ msgstr "Starte &GRASS"
-
-#~ msgid "&Create mapset"
-#~ msgstr "&Mapset erstellen"
-
-#~ msgid "&Location wizard"
-#~ msgstr "&Location-Assistent"
-
-#~ msgid "Rename mapset"
-#~ msgstr "Mapset umbenennen"
-
-#~ msgid "Rename location"
-#~ msgstr "Location umbenennen"
-
-#~ msgid "Delete mapset"
-#~ msgstr "Mapset löschen"
-
-#~ msgid "Delete location"
-#~ msgstr "Location löschen"
-
-#~ msgid "Welcome to GRASS GIS"
-#~ msgstr "Willkommen in GRASS GIS"
-
-#, fuzzy
-#~ msgid "Warning: "
-#~ msgstr "Warnung"
+#~ "Arbeitsbereich auf Grundlage selektierter Karte setzen (ignoriere "
+#~ "NULLwerte)"
 
 #, fuzzy
-#~ msgid "No GRASS location found in '%s'."
-#~ msgstr "Wählen Sie GRASS-Location und Mapset"
-
-#~ msgid "Starting GRASS for the first time"
-#~ msgstr "Starte GRASS zum ersten Mal"
-
-#~ msgid "Vector to volume"
-#~ msgstr "Vektor zu Volumen"
+#~ msgid "Data file <%(name)s> imported successfully."
+#~ msgstr "Vektorkarte <%(name)s> (%(type)s) erfolgreich entfernt"
 
 #, fuzzy
-#~ msgid "Raster map calculator."
-#~ msgstr "3D Rasterkartenrechner"
-
-#~ msgid "V&olumes"
-#~ msgstr "&Volumen"
-
-#~ msgid "Develop volumes"
-#~ msgstr "Volumen pflegen"
-
-#~ msgid "3D Mask"
-#~ msgstr "3D Maske"
-
-#~ msgid "Volume calculator"
-#~ msgstr "Volumenrechner"
-
-#~ msgid "Basic volume metadata"
-#~ msgstr "Grundlegende Volumen-Metadaten"
-
-#~ msgid "Voxel statistics"
-#~ msgstr "Voxel-Statistik"
+#~ msgid "Add default servers"
+#~ msgstr "Schleife / Serie hinzufügen"
diff --git a/locale/po/grasswxpy_el.po b/locale/po/grasswxpy_el.po
index 449d9d5..7874d04 100644
--- a/locale/po/grasswxpy_el.po
+++ b/locale/po/grasswxpy_el.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_el\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2013-02-07 20:23+0200\n"
 "Last-Translator: Nikos Ves <vesnikos at gmail.com>\n"
 "Language-Team: Greek <grass-translations at lists.osgeo.org>\n"
@@ -26,7 +26,7 @@ msgid "Name of raster map:"
 msgstr "Όνομα raster χάρτη:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Όνομα διανυσματικού χάρτη:"
 
@@ -138,7 +138,7 @@ msgstr "Όροι"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr ""
 
@@ -207,14 +207,14 @@ msgid "Reload"
 msgstr "Επαναφόρτηση"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "Όχι"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Ναί"
 
@@ -243,8 +243,8 @@ msgstr "Απενεργοποιημένο"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Χρώμα"
@@ -274,9 +274,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Πλάτος: "
 
@@ -284,14 +285,14 @@ msgstr "Πλάτος: "
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Ύψος:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Δεδομένα"
 
@@ -324,13 +325,13 @@ msgid "Comment"
 msgstr "Εντολή"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Μεταδεδομένα"
 
@@ -341,7 +342,7 @@ msgstr "Εντολές"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr ""
@@ -361,10 +362,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Όνομα"
 
@@ -428,12 +429,12 @@ msgstr "Χάρτες raster"
 msgid "3D raster maps"
 msgstr "3D raster χάρτες"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "άγνωστο"
@@ -462,23 +463,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "Παράμετροι μοντέλου"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Μεταβλητές"
 
@@ -499,7 +500,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr ""
 
@@ -560,7 +561,7 @@ msgid "Choose model file"
 msgstr "Επιλογή αρχείου μοντέλου"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "Αρχείο Μοντέλου GRASS  (*.gxm)|*.gxm"
 
@@ -587,7 +588,7 @@ msgstr "Το αρχείο <%s> αποθηκεύτηκε"
 msgid "Choose file to save current model"
 msgstr "Επιλέξτε το αρχείο που θα αποθηκευτεί το μοντέλο"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Το αρχείο υπάρχει."
 
@@ -610,7 +611,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "Το Μοντέλο είναι έγκυρο."
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -621,7 +622,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr "Το μονέλο εξάχθηκε στο <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Προσθήκη στήλης"
@@ -653,7 +654,7 @@ msgstr "Παρακαλώ περιμένετε, φόρτωση μοντέλων..
 msgid "Writing current settings to model file failed."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr ""
@@ -662,15 +663,15 @@ msgstr ""
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -747,10 +748,10 @@ msgstr "Προκαθορισμένη τιμή"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Περιγραφή"
 
@@ -771,13 +772,13 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr ""
 
@@ -790,7 +791,7 @@ msgid "mapset"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "αρχείο"
 
@@ -920,7 +921,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr ""
 
@@ -938,7 +939,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -969,8 +970,8 @@ msgstr "ταμπέλα άξονα-Υ"
 msgid "Label font size (pts):"
 msgstr "Μέγεθος ταμπλέλας (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1016,9 +1017,9 @@ msgstr "Οι επιλογές αποθηκεύτηκαν στο αρχείο '%s
 msgid "No map or image group selected to plot."
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Προσοχή"
 
@@ -1045,8 +1046,8 @@ msgstr "Χρώμα γραμμής"
 msgid "Line width"
 msgstr "Πάχος γραμμής"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr ""
 
@@ -1060,18 +1061,18 @@ msgid "Transect segment marker settings"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr ""
 
@@ -1309,19 +1310,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1420,7 +1421,7 @@ msgid "Output"
 msgstr "Έξοδος"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Παράμετροι"
 
@@ -1459,8 +1460,7 @@ msgid "Analysing..."
 msgstr "Ανάλυση"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Επιλογές"
@@ -1516,7 +1516,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Κοντινότερα σημεία"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1542,10 +1542,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Κλείσιμο διαλόγου"
 
@@ -1566,12 +1567,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Αδυναμία διαγραφής διανυσματικού χάρτη"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1579,48 +1580,48 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "Το αρχείο <%s> υπάρχει. Θέλετε να γίνει αντικατάσταση του αρχείου;"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "%d χάρτες διαγράφηκαν απο τη ενεργή Συλογή Χαρτών"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Το αρχείο <%s> υπάρχει. Θέλετε να γίνει αντικατάσταση του αρχείου;"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Αντικατάσταση;"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 msgid "Creation of turntable failed."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 #, fuzzy
 msgid "Vector map with analysis result does not exist."
 msgstr "Ο φάκελος %s δεν υπάρχει,"
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1628,206 +1629,206 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "Το αρχείο <%s> υπάρχει. Θέλετε να γίνει αντικατάσταση του αρχείου;"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Το αρχείο <%s> υπάρχει. Θέλετε να γίνει αντικατάσταση του αρχείου;"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Αδυναμία διαγραφής διανυσματικού χάρτη"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "Το αρχείο <%s> υπάρχει. Θέλετε να γίνει αντικατάσταση του αρχείου;"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Αντικατάσταση;"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Ο φάκελος %s δεν υπάρχει,"
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Ο διανυσματικός χάρτης είναι 3D"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Επίπεδα χαρτη"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Προσθήκη επιπέδου"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Προσθήκη επιπέδου"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 msgid "unique categories layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, python-format
 msgid "Choose existing %s.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Τύπος δεδομένων"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "Διανυσματικά σημεία"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "Διανυσματικά σημεία"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Αριστερά: νέο σημείο"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Στήλη κλειδιού:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, python-format
 msgid "Shortest path %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Διανυσματικά σημεία"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 msgid "Sink point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
@@ -2007,293 +2008,293 @@ msgstr ""
 msgid "Select from list of datum transformations"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 msgid "Name of location directory in GIS Data Directory"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "Η Τοποθεσία <%s> δημιουργήθηκε"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Επιλογή προβολής"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Κωδικός"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Κωδικός Προβολής:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Ευρεση στην περιγραφή;"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Αδυναμία ανάγνωσης της λίστας : %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Επιλογή παραμέτρων προβολής:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Επιλογή Datum η ελλειψοειδούς (επόμενη σελίδα)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Datums με συσχετικά ελλειψοειδεί"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Ελλειψοειδεί μόν"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "ελλειψοειδή"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Κωδικός Datum: "
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 msgid "Earth based"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "Αρχειο WKT: "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Επιλογή EPGS κωδικού:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Κωδικός EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Επιλογή αρχείου κοδικών EPSG "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Αδυναμία ανάγνωσης των EPGS κωδικών: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Περίληψη"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Προβολή"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2301,31 +2302,31 @@ msgid ""
 "Details: %(err)s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Δεν υπάρχει ο κωδικός EPSG."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr ""
@@ -2726,7 +2727,16 @@ msgstr "Προσθήκη επιπέδου"
 msgid "Remove selected class"
 msgstr "Μετονομασία επιλεγμένης Τοποθεσίας"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2737,136 +2747,131 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr "Λεπτομέριες %s\n"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "Προσθήκη επιπέδου χάρτη Raster"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Προσθήκη επιπέδου χάρτη Raster"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Φόρτωση δεδομένων..."
+
+#: ../gui/wxpython/core/render.py:625
+msgid "Rendering & "
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Αδυναμία δημιουργίας αρχείου '%s'\n"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Λεπτομέριες:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Δεν ήταν δυνατή η δημιουργεία προφίλ για τον raster χάρτη."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Φόρτωση δεδομένων..."
-
-#: ../gui/wxpython/core/render.py:1386
-msgid "Rendering & "
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr ""
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Λόγος"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Μήνυμα"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "H εκτέλεση απέτυχε:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Σφάλμα:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Αδυναμία εκτέλεσης εντολής: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Αδυναμία ανοίγματος αρχείου <%s> προς ανάγνωση."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2875,12 +2880,12 @@ msgid ""
 "Number of skipped lines: %(line)d"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr "Γραμμή %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2889,30 +2894,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Ο χάρτης <%s> δεν βρέθηκε."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d δεύτερα"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr "%(min)d λεπ %(sec)d δευτ"
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3093,39 +3103,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr "ΣΦΑΛΜΑ: Αδυναμία προσδιορισμού εκδοσης του GRASS. Πληροφορίες: %s "
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Αδύνατον να ανοιχτεί το αρχείο '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Διπλό κλειδί: %s\n"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Αδυναμία δημιουργίας αρχείου '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Επιλογή Χρώματος"
 
@@ -3191,11 +3201,11 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Μέγεθος γραμματοσειράς:"
@@ -3209,7 +3219,7 @@ msgid "Close dialog and apply changes"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Εφαρμογή μετατροπών"
 
@@ -3226,7 +3236,7 @@ msgstr ""
 msgid "Orientation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr ""
 
@@ -3271,7 +3281,7 @@ msgid "Map frame settings"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr ""
 
@@ -3299,7 +3309,7 @@ msgstr ""
 msgid "Map selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr ""
 
@@ -3323,7 +3333,7 @@ msgstr ""
 msgid "N:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr ""
 
@@ -3337,7 +3347,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "'Ορια"
 
@@ -3371,163 +3381,164 @@ msgstr ""
 msgid "No region selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Χάρτης raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "περιοχών"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Διαγραφή"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Μάσκα"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3535,504 +3546,504 @@ msgstr ""
 msgid "Color:"
 msgstr "Χρώμα:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr "επιλογή χρώματος:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr "σύμβολο:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr "Επιλογή αρχείου"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr "μεγεθος"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Διανυσματικός Χάρτης"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Θέση"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Εισαγωγή κειμένου:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr "Επιλέξτε ενα φάκελο :"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr "Επιλογή φακέλου για για τις εικόνες"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "διαφάνια"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "Διανυσματικές γραμμές"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4170,83 +4181,83 @@ msgstr ""
 msgid "labels: "
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, fuzzy, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
@@ -4255,14 +4266,14 @@ msgstr ""
 "Οι χαρακτήρες στην θέση %s δεν υποστητίζονται απο την κωδκοποίηση ISO-8859-1 "
 "(Latin 1) η οποία απαιτείται απο μερικά εργαλεία "
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4315,27 +4326,27 @@ msgstr ""
 msgid "degree"
 msgstr ""
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4351,7 +4362,7 @@ msgstr ""
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr ""
 
@@ -4363,12 +4374,12 @@ msgstr ""
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr "Κλίμακα"
 
@@ -4421,22 +4432,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, python-format
 msgid "Unsupported command %s."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Αδυναμία δημιουργίας αρχείου '%s'\n"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr ""
@@ -4471,30 +4487,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "ΣΦΑΛΜΑ: Αδυναμία προσδιορισμού εκδοσης του GRASS. Πληροφορίες: %s "
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "2D προβολή"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4503,11 +4520,11 @@ msgstr ""
 "Αδυναμία εισαγωγής νέων εγγραφών.\n"
 "%s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4517,211 +4534,223 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Εργαλειοθήκη Χάρτη"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "ψηφιοποίηση"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Εγχειρίδιο διανυσματικού ψηφιοποιητή"
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Προσθήκη επιπέδου κειμένου"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr " "
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Υπολγ. Περιοχή"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr " "
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr " "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Σφάλμα ψηφιοποίησης"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Κλίμακα χάρτη"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Πήγαινε στο"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Προβολή"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "Χρησιμοποιήσε καθορισμένη προβολή"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "ΜΑΣΚΑ"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Εμφάνηση γεωμετρίας"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Συντεταγμένες"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Όρια"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Υπολγ. Περιοχή"
@@ -4738,104 +4767,119 @@ msgstr ""
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Επιλεξτε διανυσματικό χάρτη"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Επιλεξτε διανυσματικό χάρτη"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Κλίμακα"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 #, fuzzy
 msgid "Show/hide legend"
 msgstr "Εμφάνηση υπομνήματος"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 msgid "Show/hide north arrow"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Ανάλυση χάρτη"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Μέτρηση απόστασης"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Μέτρηση απόστασης"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 msgid "Create bivariate scatterplot of raster maps"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 msgid "Vector network analysis tool"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "3D προβολή"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Λόγος: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Έξοδος απο τον ψηφιοποιητή"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 msgid "Create new configuration file for r.li modules"
 msgstr ""
@@ -5589,12 +5633,12 @@ msgstr ""
 msgid "Export animation"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "Εξαγωγή"
@@ -5603,12 +5647,12 @@ msgstr "Εξαγωγή"
 msgid "Add time stamp"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Προσθήκη επιπέδου"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "Προσθήκη επιπέδου κειμένου"
@@ -5631,7 +5675,7 @@ msgid "Sample text"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5648,7 +5692,7 @@ msgid "Choose image file"
 msgstr "Επιλογή αρχείου"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr ""
 
@@ -5679,7 +5723,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Εξαγωγή"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr "Πρόθεμα αρχείου"
 
@@ -5688,13 +5732,13 @@ msgstr "Πρόθεμα αρχείου"
 msgid "animation_"
 msgstr "Εισαγωγή νέας κατηγορίας"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr "Φορμάτ αρχείου: "
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "Φάκελος"
@@ -5835,7 +5879,7 @@ msgstr ""
 msgid "Animation Tool settings"
 msgstr "Εργαλειοθήκη Δεδομένων"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -5891,22 +5935,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Άκυρο:"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Ο φάκελος %s δεν υπάρχει,"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -5944,7 +5988,7 @@ msgstr ""
 msgid "Animation Toolbar"
 msgstr "Εργαλειοθήκη Δεδομένων"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Εργαλειοθήκη Misc"
@@ -5989,8 +6033,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Ο 3D raster χάρτης <%s> δεν βρέθηκε"
@@ -6031,7 +6075,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr ""
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6053,37 +6097,37 @@ msgstr "Το επιλεγμένο επίπεδο χάρτη δεν είναι δ
 msgid "No map series nor space-time dataset is added."
 msgstr "Εισαγωγή raster δεδομένων"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Ο χάρτης <%s> δεν βρέθηκε."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6102,11 +6146,11 @@ msgstr ""
 msgid "Play back"
 msgstr "Αναπαραγωγή"
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr "Σταμάτημα"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr "Παύση"
 
@@ -6142,14 +6186,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Εργαλειοθήκη Δεδομένων"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Σχεδίαση"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr ""
 
@@ -6166,21 +6210,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Εισαγωγή raster δεδομένων"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "%d χάρτες διαγράφηκαν απο τη ενεργή Συλογή Χαρτών"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6207,581 +6251,581 @@ msgstr ""
 msgid "Y"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, python-format
 msgid "Time [%s]"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Εισαγωγή raster δεδομένων"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Βασικά διανυσματικά δεδομένα"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Εισαγωγή raster δεδομένων"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Συλλογή χαρτών:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Επίπεδα χαρτη"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Παράδειγμα: %s"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 msgid "WARNING: invalid topology"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Προβολή"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Εμφάνηση"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr "Ανάλυση"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr "κλίση:"
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 #, fuzzy
 msgid "Z-exag:"
 msgstr "Ζ-"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr "εδώ"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr "κέντρο"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr "Επαναφορά της προβολής στην αρχική προκαθορισμένη θέση "
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "κατακόρυφο"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr "επαναφορά"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Επαναφορά στην αρχική προβολή"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr "Εγραφή"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr "Αναπαραγωγή"
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr "Συνολικός αριθμός καρέ :"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr "Ρυθμός καρέ (FPS) : "
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr "Τα καρέ εγράφονται με την δεδομένη συχνότητα (FPS)."
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr "Αποθήκευση σειράς εικόνων : "
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr "Επιλέξτε έναν φάκελο για τις εικόνες"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 "Τα παραγωμενα αρχεία θα μοιάζουν κάπως έτσι : prefix_1.ppm, prefix_2.ppm, ..."
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Επιφάνια"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr "Συνεχόμενη επιφάνεια"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Δυάνυσματικού"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "3D raster"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Φωτισμός"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Σκίαση :"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "επίπεδο"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr "ανάλυση: "
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr "στύλ:"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 msgid "Change wire color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Διαυγεια"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "χάρτης"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "σταθερά"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 #, fuzzy
 msgid "Changes the x, y, and z position of the current surface"
 msgstr "Αλλαγή των x,y και z συντεταγμένων της επιφάνειας"
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Επαναφορά"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr "Επαναφορά στην αρχική θέση"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr "εκκαθάριση"
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr "Μίξη"
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr "Οριζόντεο Χ:"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr "Οριζόντιο Υ:"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Περιστροφή:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Νέο"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr "Τιμη;"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr "Διαύγεια"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Διανυσματικές γραμμές"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Γραμμή:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "πλάτος:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "χρώμα:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 msgid "Set options..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Ύψος πάνω απο την επιφάνεια;"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Προβολή διανυσματικών σημείων"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Διανυσματικά σημεία"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Εικονίδιο:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "3D raster χάρτης"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Ανάλυση:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "Β && Δ"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "Β && Α"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "Ν && Δ"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "Ν && Α"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr "Μήκος κλίμακας (σε μονάδες χάρτη)"
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr "Χρώμα κλίμακας:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 msgid "Place new scale bar"
 msgstr ""
 
@@ -7168,15 +7212,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr ""
@@ -7187,12 +7231,14 @@ msgid "3d raster map <%s> not found"
 msgstr "Ο 3D raster χάρτης <%s> δεν βρέθηκε"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Εισαγωγή raster δεδομένων"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr ""
 
@@ -7206,12 +7252,14 @@ msgid "Set raster output format"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr ""
 
@@ -7233,7 +7281,7 @@ msgstr ""
 msgid "Add command layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Έξοδος"
@@ -7338,197 +7386,199 @@ msgstr "Βασικά διανυσματικά δεδομένα"
 msgid "Export PostGIS"
 msgstr "Εξαγωγή"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+msgid "Export attribute table"
+msgstr ""
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Δημιοιυργία RGB"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "%d χάρτες διαγράφηκαν απο τη ενεργή Συλογή Χαρτών"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Υπολγ. Περιοχή"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Ιστογραμμα"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Γενικές στατιστικές"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Προφίλ"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Δεν ήταν δυνατή η δημιουργεία προφίλ για τον raster χάρτη."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "Άκυρο:"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, python-format
 msgid "Unsupported map type <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "%d χάρτες διαγράφηκαν απο τη ενεργή Συλογή Χαρτών"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "Το αρχείο <%s> υπάρχει. Θέλετε να γίνει αντικατάσταση του αρχείου;"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Αντικατάσταση;"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Αδυναμία ανάγνωσης της λίστας : %s"
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "%d χάρτες διαγράφηκαν απο τη ενεργή Συλογή Χαρτών"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 "Αδύνατη η εμφάνιση ιστογράμματος raster χάρτη. Δεν έχει οριστεί χάρτης."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(Διπλό κλικ για να οριστούν οι ιδιότητες)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Παρακαλώ περιμένετε. γίνεται ενημέρωση ..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "διαύγεια"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "Εμφάνιση εγχειρίδιου διανυσματικού ψηφιοποιητή"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "Εργαλειοθήκη Επιφάνειας Εργασίας"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "Εργαλειοθήκη Δεδομένων"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "Εργαλειοθήκη εργαλείων"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr "Εργαλειοθήκη δυανυσμάτων"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 msgid "3D view Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Επίπεδα χαρτη"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Κονσόλα Εντολών"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "Πρόσθετο Εύρεσης"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Μήκος δεδομένων"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Τερματικό Python"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7539,11 +7589,11 @@ msgstr ""
 "\n"
 "Θέλετε να γίνει αλλαγή στην νέα Τοποθεσία;"
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr "Αλλαγή στην νέα Περιοχή;"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7552,246 +7602,248 @@ msgstr ""
 "Η τρέχουσα Τοποθεσία ειναι <%(loc)s>.\n"
 "Η τρέχουσα Συλλογή Χαρτών είναι η <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr "Θέλετε να θέσετε τα προεπιλεγμένα όρια και ανάλυση της Τοποθεσίας;"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Η Τοποθεσία <%s> δημιουργήθηκε"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Επιλογή μοντέλων για επεξεργασία"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Θέλετε να αποθηκεύσετε της αλλαγές στην Επιφάνεια Εργασίας;"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr ""
 "Θέλετε να αποθηκεύσετε τις τρέχουσες επιλογες στο αρχείο της Επιφάνεια "
 "Εργασίας;"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "Το επιλεγμένο επίπεδο χάρτη δεν είναι διανυσματικό."
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 msgid "Changes current working directory for this GUI."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Επιλέξτε ενα φάκελο :"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 msgid "Choose a working directory"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr "Πληροφορίες Συστήματος"
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr "Έκδωση GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "Άγνωστη τιμη"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+#, fuzzy
+msgid "GRASS SVN revision"
 msgstr "Aναθεώρηση GRASS SVN "
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "Πλατφόρμα"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
+#: ../gui/wxpython/lmgr/frame.py:1106
 #, fuzzy
-msgid "Build Platform"
+msgid "Build platform"
 msgstr "Πλατφόρμα"
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr "Πλατφόρμα"
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Επιλέξτε αρχείο Επιφάνειας εργασίας"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Παρακαλώ περιμένετε, φορτώνεται η Επιφάνεια Εργασίας..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "Το αρχείο <%s> Επιφάνειας Εργασίας υπάρχει. Θέλετε να γίνει αντικατάσταση "
 "του αρχείο;"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr "Εισαγωγή νέου ονόματος:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -7799,36 +7851,36 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr ""
 "Αδυναμία εισαγωγής νέων εγγραφών.\n"
 "%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr ""
 "Αδυναμία εισαγωγής νέων εγγραφών.\n"
 "%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -7836,68 +7888,64 @@ msgid ""
 "from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Έξοδος απο GRASS GUI"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "ΣΦΑΛΜΑ: Αδυναμία προσδιορισμού εκδοσης του GRASS. Πληροφορίες: %s "
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Ο raster χάρτης <%s> δεν βρέθηκε"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "Ο raster χάρτης <%s> προστέθηκε"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "Ο διανυσματικός χάρτης <%s> προστέθηκε"
@@ -7963,7 +8011,7 @@ msgstr ""
 msgid "Raster Map Calculator"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr ""
 
@@ -8054,7 +8102,7 @@ msgid "Ignore changes and close dialog"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Εφαρμογή αλλαγών και κλείσιμο διαλόγου"
 
@@ -8386,29 +8434,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Εμφάνιση εγχειρίδιου διανυσματικού ψηφιοποιητή"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Εγχειρίδιο διανυσματικού ψηφιοποιητή"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "%d χάρτες διαγράφηκαν απο τη ενεργή Συλογή Χαρτών"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Αδυναμία διαγραφής διανυσματικού χάρτη"
@@ -8607,7 +8655,7 @@ msgstr "Εμφάνιση εγχειρίδιου διανυσματικού ψη
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Αναίρεση"
 
@@ -8683,7 +8731,7 @@ msgstr "Ο διανυσματικός χάρτης δεν είναι 3D. Η εν
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Επιλεξτε διανυσματικό χάρτη"
 
@@ -8713,11 +8761,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Εγχειρίδιο διανυσματικού ψηφιοποιητή"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -8742,178 +8785,178 @@ msgstr "H eπεξεργασία του διανυσματικού χάρτη <%s
 msgid "New vector map"
 msgstr "Νέος διανυσματικός χαρτης"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 msgid "Show advanced connection settings"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 msgid "Hide advanced connection settings"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 msgid " Layer Manager Settings "
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Όνομα επιπέδου"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Μετονομασία"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, fuzzy, python-format
 msgid "Connected to <%s>"
 msgstr "Το μονέλο εξάχθηκε στο <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Αδυναμία ανάγνωσης της λίστας : %s"
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "Δημιουργ&ία επιπέδου"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "If-else ιδιότητες"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Όνομα εξαγώμενου χάρτη raster"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Εξαγωγή"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Επιλέξτε ενα φάκελο :"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 msgid "Extent and resolution are based on computational region."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr " "
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Αντικατάσταση;"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Επιλέξτε ενα φάκελο :"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "Αποθηκευση αρχείου"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "%d χάρτες διαγράφηκαν απο τη ενεργή Συλογή Χαρτών"
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "Το αρχείο υπάρχει."
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Ο φάκελος %s δεν υπάρχει,"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Φόρτωση δεδομένων..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Αδυναμία διαγραφής Τοποθεσίας"
@@ -9025,7 +9068,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Όνομα επιπέδου"
 
@@ -9041,7 +9085,7 @@ msgstr "στύλ:"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
+msgid "Add default"
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
@@ -9051,166 +9095,173 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Εκκίνηση &GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr "Μετονομασία επιλεγμένης Τοποθεσίας"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Μετονομασία επιλεγμένης Τοποθεσίας"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Διαγραφή"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Διαγραφή επιλεγμένης Τοποθεσίας"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "Μετεονομασ&ία"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Διαγραφή"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Διαγραγή επιλεγμένης Τοποθεσίας"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Εμφάνιση εγχειρίδιου διανυσματικού ψηφιοποιητή"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "Ο κωδικός EPSG %s δεν βρέθηκε"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "Ο χάρτης <%s> δεν βρέθηκε."
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Σφάλμα:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Εισαγωγή δεδομένων"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "Θέλετε να αποθηκευσετε τις αλλαγές στο μοντέλο;"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9218,7 +9269,7 @@ msgid ""
 "Enter new name:"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9226,7 +9277,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9234,7 +9285,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9242,7 +9293,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9250,14 +9301,14 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9266,11 +9317,11 @@ msgid ""
 "ALL MAPS included in this mapset will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Αδυναμία διαγραφής Τοποθεσίας"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9278,32 +9329,32 @@ msgid ""
 "ALL MAPS included in this location will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Αδυναμία διαγραφής επιλεγμένης Τοποθεσίας"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, fuzzy, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "Ο φάκελος %s δεν υπάρχει,"
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Επιλογή φακέλου δεδομένων GIS "
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9312,16 +9363,16 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 msgid "Reserved mapset name"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9333,11 +9384,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9350,7 +9401,7 @@ msgstr ""
 "αυτή μπορεί να διαφθείρει τα δεδομένά. Ελέγξτε ακόμια μια φορά της ενεργές "
 "διεργασίες για να είστε σίγουροι..."
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9358,45 +9409,175 @@ msgid ""
 "Details: %(reason)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "Άκυρο:"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "&Αρχείο"
-
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Επιφάνεια εργασίας"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Όνομα raster χάρτη:"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Δημιουργία νέας Επιφάνειας Εργασίας"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Όνομα raster χάρτη:"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Αν&οιγμα"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Επιλεξτε διανυσματικό χάρτη"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "Φόρτωση Επιφάνειας Εργασίας απο αρχείο"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Όνομα raster χάρτη:"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
-msgstr "Αποθήκευση"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Προσθήκη επιπέδου χάρτη Raster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "Το αρχείο <%s> υπάρχει. Θέλετε να γίνει αντικατάσταση του αρχείου;"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Όνομα εξαγώμενου χάρτη raster"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Θέλετε να αποθηκευσετε τις αλλαγές στο μοντέλο;"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Αποθήκευση αλλαγών"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Δεν ήταν δυνατή η δημιουργεία προφίλ για τον raster χάρτη."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Δεν ήταν δυνατή η δημιουργεία προφίλ για τον raster χάρτη."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Ανάλυση"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+msgid "Failed to set default color table for edited raster map"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "ψηφιοποίηση"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Ψηφιοποίηση νέας γραμμής"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "ψηφιοποίηση"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "3D raster χάρτης"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Έξοδος απο τον ψηφιοποιητή"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Επιλεξτε διανυσματικό χάρτη"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Εμφάνιση όλων των τιμών"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "3D raster χάρτης"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "&Αρχείο"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Επιφάνεια εργασίας"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Δημιουργία νέας Επιφάνειας Εργασίας"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Αν&οιγμα"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "Φόρτωση Επιφάνειας Εργασίας απο αρχείο"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr "Αποθήκευση"
 
 #: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
 msgid "Save as"
@@ -10113,7 +10294,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr ""
 
@@ -10171,7 +10352,7 @@ msgstr ""
 msgid "Launches script file."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Κλεισιμο"
@@ -10181,8 +10362,8 @@ msgstr "Κλεισιμο"
 msgid "Quit wxGUI session."
 msgstr "Έξοδος απο GRASS GUI"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Έξοδος απο GRASS GUI"
@@ -11608,8 +11789,8 @@ msgid "Develop vector map"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr ""
 
@@ -12780,7 +12961,7 @@ msgstr "3D raster"
 #: ../gui/wxpython/menustrings.py:827 ../gui/wxpython/menustrings.py:1734
 #, fuzzy
 msgid "Develop 3D raster map"
-msgstr "3D raster χάρτης"
+msgstr "3D raster"
 
 #: ../gui/wxpython/menustrings.py:828 ../gui/wxpython/menustrings.py:1735
 msgid "Manage 3D NULL values"
@@ -13544,16 +13725,17 @@ msgid "Plot temporal extents."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
+#, fuzzy
 msgid "Temporal plot tool"
-msgstr ""
+msgstr "Εργαλειοθήκη Δεδομένων"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Εμφάνιση όλων των τιμών"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr ""
 
@@ -13668,148 +13850,156 @@ msgstr ""
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr ""
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Προσθήκη όρου (if/else) στο μοντέλο"
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Προσθήκη όρου (if/else) στο μοντέλο"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "Σχετικά για τον Graphical Modeler"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 msgid "Load instruction file"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "H εκτέλεση απέτυχε:"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Εξαγωγή"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "Εξαγωγή"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Χαρτογραφική Σύνθεση"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Φόρτωση raster χάρτη"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "Προσθήκη επιπέδοθυ διανύσματικού χάρτη"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Προσθήκη λεζάντας"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 msgid "Add or edit raster and vector legend"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 msgid "Add or edit map info"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Χαρτογραφική Σύνθεση"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Χαρτογραφική Σύνθεση"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -13824,113 +14014,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Εργαλειοθήκη Δεδομένων"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
+#, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr ""
+msgstr "Άκυρο:"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Χρώμα κλίμακας:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
 msgstr "Επιλεξτε διανυσματικό χάρτη"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Υπολγ. Περιοχή"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Άκυρο:"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Άκυρο:"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Άκυρο:"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Άκυρο:"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -14122,12 +14313,12 @@ msgstr ""
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr ""
 
@@ -14241,7 +14432,7 @@ msgid "Field calculator"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr "Προσθήκη στήλης"
 
@@ -14342,15 +14533,15 @@ msgstr "Διαγραφή επιλεγμένων εγγραφών"
 msgid "Delete all records"
 msgstr "Διαγραφή όλων των εγγραφών"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Επιλογή όλων"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Αποεπιλογή όλων"
 
@@ -14523,7 +14714,7 @@ msgid "Driver"
 msgstr "Οδηγός"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Βάση Δεδομένων"
 
@@ -14644,241 +14835,241 @@ msgstr "Αδυναμία δημιουργίας φακέλου ρυθμίσεω
 msgid "Field statistics <%s>"
 msgstr "Γενικές στατιστικές"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr "Επιλογή όλων"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 msgid "Choose file to load color table"
 msgstr "Επιλογή αρχείου για φόρτωση χρωμάτων"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr "Επιλογή αρχείου για αποθήκευση χρωματισμών"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 msgid "&Set"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Εξαγωγή χρωματικών κανόνων"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Το αρχείο <%s> υπάρχει. Θέλετε να γίνει αντικατάσταση του αρχείου;"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 msgid "Invalid color table format"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr "Πάρα πολλές εγγραφές"
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr "Δεν έχει οριστεί χρωματική στήλη. Η ενέργεια απέτυχε."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -14930,23 +15121,23 @@ msgstr ""
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Εργασίες σε εξέλιξη! Δεν παρέχεται καμία λειτουργικοτητα."
 
@@ -15154,7 +15345,7 @@ msgid "Save expression to file"
 msgstr ""
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr ""
 
@@ -15163,7 +15354,7 @@ msgid "Load expression from file"
 msgstr ""
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr ""
 
@@ -15326,123 +15517,286 @@ msgstr ""
 msgid "'{cmd}' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Πολλαπλή εισαγωγή"
 
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Αποθήκη"
+#: ../gui/wxpython/modules/import_export.py:60
+#, fuzzy
+msgid "List of raster layers"
+msgstr "Λίστα επιπέδων"
 
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:62
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Λίστα κατηγοριών - δεξί κλικ για διαγραφή"
+msgid "List of vector layers"
+msgstr "Λίστα επιπέδων"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
-msgid "Options"
-msgstr "Επιλογές"
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "Λίστα απο %s επίπεδα"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "ID επιπέδου"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
+#: ../gui/wxpython/modules/import_export.py:70
+msgid "Name for output GRASS map (editable)"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "Προβολή"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Εισαγωγή"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "%Εισαγωγή επιλεγμένων επιπέδων."
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "Show manual page"
-msgstr "Εμφανιση εγχειριδιου"
-
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "Λίστα επεκτάσεων"
+msgid "Import settings"
+msgstr "επιλογές GUI"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Λίστα επεκτάσεων"
+msgid "Add linked layers into layer tree"
+msgstr "Προσθήκη επιπέδοθυ διανύσματικού χάρτη"
 
-#: ../gui/wxpython/modules/extensions.py:365
-msgid "List of installed extensions"
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:370
-msgid "Uninstall"
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:371
-#, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Λίστα επεκτάσεων"
-
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:373
-#, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Λίστα επεκτάσεων"
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr "Δεν έχει επιλεχθεί κανένας επίπεδο. Η διεργασία ακυρώθηκε."
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "No extension selected. Operation canceled."
-msgstr "Δεν έχει επιλεχθεί κανένας επίπεδο. Η διεργασία ακυρώθηκε."
+msgid "Unable to determine number of raster bands"
+msgstr "Δεν ήταν δυνατή η δημιουργεία προφίλ για τον raster χάρτη."
 
-#: ../gui/wxpython/modules/extensions.py:427
-#, python-format
-msgid ""
-"List of files to be removed:\n"
-"%(files)s\n"
-"\n"
-"Do you want really to remove <%(ext)s> extension?"
+#: ../gui/wxpython/modules/import_export.py:591
+msgid "Define output format for vector data"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
-msgid "Remove extension"
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:461
-msgid "Extension"
-msgstr "Επέκταση"
-
-#: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
-msgid "Please wait, exporting image..."
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
 msgstr ""
 
-#: ../gui/wxpython/modules/histogram.py:270
-msgid "GRASS GIS Histogramming Tool (d.histogram)"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Διαγραφή επιλεγμένου"
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Εισαγωγή DXF επιπέδου"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Επιλογή αρχείου DXF προς εξαγωγή"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Προσθήκη επιπέδου χάρτη Raster"
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Προβολή"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Όνομα εξαγώμενου χάρτη raster"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Επίπεδο προς αφαίρεση"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "%Εισαγωγή επιλεγμένων επιπέδων."
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Λίστα κατηγοριών - δεξί κλικ για διαγραφή"
+
+#: ../gui/wxpython/modules/extensions.py:71
+msgid "Options"
+msgstr "Επιλογές"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Λίστα επεκτάσεων"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Εμφανιση εγχειριδιου"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "Λίστα επεκτάσεων"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Λίστα επεκτάσεων"
+
+#: ../gui/wxpython/modules/extensions.py:366
+msgid "List of installed extensions"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:371
+msgid "Uninstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Λίστα επεκτάσεων"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Λίστα επεκτάσεων"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr "Δεν έχει επιλεχθεί κανένας επίπεδο. Η διεργασία ακυρώθηκε."
+
+#: ../gui/wxpython/modules/extensions.py:428
+#, python-format
+msgid ""
+"List of files to be removed:\n"
+"%(files)s\n"
+"\n"
+"Do you want really to remove <%(ext)s> extension?"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:431
+msgid "Remove extension"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:462
+msgid "Extension"
+msgstr "Επέκταση"
+
+#: ../gui/wxpython/modules/histogram.py:179
+#: ../gui/wxpython/mapwin/buffered.py:633
+msgid "Please wait, exporting image..."
+msgstr ""
+
+#: ../gui/wxpython/modules/histogram.py:270
+msgid "GRASS GIS Histogramming Tool (d.histogram)"
+msgstr ""
 
 #: ../gui/wxpython/modules/histogram.py:377
 msgid "Select font for histogram text"
@@ -15573,7 +15927,7 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Ο χάρτης <%s> δεν βρέθηκε."
@@ -15606,10 +15960,6 @@ msgstr ""
 msgid "Export training areas"
 msgstr ""
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-msgid "Export attribute table"
-msgstr ""
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 msgid "Export attribute table containing computed statistical data"
 msgstr ""
@@ -15637,22 +15987,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Ο χάρτης <%s> δεν βρέθηκε."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Φόρτωση raster χάρτη"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Φόρτωση raster χάρτη"
@@ -15693,142 +16043,142 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 msgid "IClass Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 msgid "IClass Misc Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 msgid "Digitization Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 msgid "Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 msgid "Training Areas Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 msgid "Display synchronization ON"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 msgid "Display synchronization OFF"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Αδυναμία διαγραφής διανυσματικού χάρτη"
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Αδυναμία ανάγνωσης της λίστας : %s"
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Αδυναμία διαγραφής διανυσματικού χάρτη"
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 msgid "Failed to create temporary vector map."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 msgid "No imagery group selected."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 msgid "No imagery group selected. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 msgid "No areas given. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
 
@@ -16271,86 +16621,226 @@ msgstr "Σφάλμα RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "Επιλογή φακέλου δεδομένων GIS "
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Μετονομασία"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Μετονομασία"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Επικαιροποίησημοντέλου...."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Επανασχεδίαση μοντέλου..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Αντιγραφή"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Εκτέλεση μοντέλου..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Θέλετε να αποθηκευσετε τις αλλαγές στο μοντέλο;"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Διαγραφή όλων"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Διαγραφή"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Εμφάνηση γεωμετρίας"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Αντιγραφή"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "aster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Εμφάνηση γεωμετρίας"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Προσθήκη λεζάντας"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Κλίμακα"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Βοράς"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Εργαλειοθήκη εργαλείων"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "Εργαλειοθήκη εργαλείων"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Εμφανιση εγχειριδιου"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Προσθήκη επιπέδου"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Προσθήκη λεζάντας"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr " "
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Αποθήκευση Python script σε αρχείο"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -16443,542 +16933,448 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Ο διανυσματικός χάρτης είναι 3D"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Όνομα διανυσματικού χάρτη:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Όνομα διανυσματικού χάρτη:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Στήλη κλειδιού:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Λίστα χαρτών:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Προσθήκη επιπέδου χάρτη Raster"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr "Τύπος χάρτη:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Συλλογή χαρτών:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Αντιστροφή επιλογής"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Πολλαπλή εισαγωγή"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Λίστα επιπέδων"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Λίστα επιπέδων"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "Λίστα απο %s επίπεδα"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "ID επιπέδου"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-msgid "Name for output GRASS map (editable)"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Προβολή"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Εισαγωγή"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "%Εισαγωγή επιλεγμένων επιπέδων."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Προσθήκη επιπέδοθυ διανύσματικού χάρτη"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr "Δεν έχει επιλεχθεί κανένας επίπεδο. Η διεργασία ακυρώθηκε."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Δεν ήταν δυνατή η δημιουργεία προφίλ για τον raster χάρτη."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-msgid "Define output format for vector data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-msgid "Define output format for raster data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Διαγραφή επιλεγμένου"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Εισαγωγή DXF επιπέδου"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Επιλογή αρχείου DXF προς εξαγωγή"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Προσθήκη επιπέδου χάρτη Raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "αδιαφάνεια"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "Διαστασεις εικονας"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "Σύμβολα"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr "Φάκελος συμβόλων"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr "Όνομα συμβόλων"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Τύπος"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
-msgstr ""
+#: ../gui/wxpython/gui_core/gselect.py:1290
+#, fuzzy
+msgid "Source input"
+msgstr "Διανυσματικά σημεία"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Αρχείο"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Φάκελος"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Πρωτόκολλο"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "Όλα τα αρχεία"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Όλα τα αρχεία"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Όλα τα αρχεία"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Όλα τα αρχεία"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Όλα τα αρχεία"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Αρχείο:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "Επιλογή αρχείου προς εισαγωγή"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Επιλογή Αρχείου"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "simple features"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "topological"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr "Επιλογές δημιουργίας:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Φορμά:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Πρωτόκολλο:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Εγχειρίδιο διανυσματικού ψηφιοποιητή"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Δεν έχει επιλεχθεί κανένας επίπεδο. Η διεργασία ακυρώθηκε."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Ο φάκελος %s δεν υπάρχει,"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Ο διανυσματικός χάρτης δεν είναι 3D. Η ενέργεια ακυρώθηκε."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "Επιλογές Χρήστη"
@@ -17098,6 +17494,7 @@ msgid "Module dialog style:"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr ""
 
@@ -17194,7 +17591,7 @@ msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Διαφάνια"
 
@@ -17474,6 +17871,49 @@ msgstr "Τεστ κανονικότητας"
 msgid "Nothing found"
 msgstr "Καμία Εύρεση"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Κατηγορία"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Επιλοφή γραμματοσηράς"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Όνομα raster χάρτη:"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Ο διανυσματικός χάρτης δεν είναι 3D. Η ενέργεια ακυρώθηκε."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Αδυναμία διαγραφής διανυσματικού χάρτη"
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Διαγραφή επιλεγμένου"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Ο διανυσματικός χάρτης <%s> προστέθηκε"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Αδυναμία διαγραφής διανυσματικού χάρτη"
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Περί"
@@ -17515,6 +17955,10 @@ msgstr "Επίσημη σελίδα GRASS:"
 msgid "Code Revision"
 msgstr "SVN Έκδοση "
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "Γλώσσα"
@@ -17585,104 +18029,104 @@ msgstr "Eπ&όμενο"
 msgid "&Previous"
 msgstr "Προηγο&ύμενο"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Εισάγετε παραμέτρους για '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Κλείσιμο αυτού του παραθύρου δίχως να εκτελεστεί η εντολή (Ctrl +Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "Εκτέλεση της εντολής (Ctrl +R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Απαιτούμενο"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Προερετικό"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[πολλαπλό]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "Εγκυρα όριο"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Θέλετε να αποθηκευσετε τις αλλαγές στο διανυσματικό αρχείο <%s>;"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Αποθήκευση ως"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Εγχειρίδιο"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -17690,27 +18134,27 @@ msgid ""
 "Reason: %s"
 msgstr "Αδυναμία ανοίγματος αρχείου <%s> προς ανάγνωση."
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Διαγραφή επιλεγμένου"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -17767,63 +18211,75 @@ msgstr "διαύγεια"
 msgid "Change layer opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Προφίλ"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+msgid "Load:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr ""
 
@@ -17926,11 +18382,11 @@ msgstr "Δημιουργεία ιστογράματος με το d.histogram"
 msgid "Select graphics tool"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Το επιλεγμένο επίπεδο χάρτη δεν είναι διανυσματικό."
@@ -17955,6 +18411,26 @@ msgstr "Το επιλεγμένο επίπεδο χάρτη δεν είναι δ
 #~ msgstr "Έξοδος απο το GUI"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Άκυρο:"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Εγχειρίδιο διανυσματικού ψηφιοποιητή"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Επικαιροποίησημοντέλου...."
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "Μετονομασία"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Διανυσματικές γραμμές"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Λίστα επιπέδων"
 
@@ -17966,22 +18442,27 @@ msgstr "Το επιλεγμένο επίπεδο χάρτη δεν είναι δ
 #~ msgid "Raster3D calculations"
 #~ msgstr "Raster map calculator"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Προσθήκη όρου (if/else) στο μοντέλο"
-
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr " "
+#~ msgid "Repository"
+#~ msgstr "Αποθήκη"
 
 #~ msgid "GEOnet import"
 #~ msgstr "Εισαγωγή GEOnet"
 
 #, fuzzy
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Εφαρμογή δήλωσης SQL και κλείσιμο του διαλόγου"
+
+#, fuzzy
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Εισαγωγή raster δεδομένων"
+
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr " "
+
+#, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "Ο διανυσματικός χάρτης <%(name)s> (%(type)s) απεφορτώθηκε επιτυχώς."
 
-#~ msgid "Volume"
-#~ msgstr "Όγκος"
-
 #, fuzzy
 #~ msgid ""
 #~ "Welcome to GRASS GIS %s%s\n"
@@ -18003,6 +18484,5 @@ msgstr "Το επιλεγμένο επίπεδο χάρτη δεν είναι δ
 #~ msgid "3D Mask"
 #~ msgstr "3D μάσκα"
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Εφαρμογή δήλωσης SQL και κλείσιμο του διαλόγου"
+#~ msgid "Volume"
+#~ msgstr "Όγκος"
diff --git a/locale/po/grasswxpy_es.po b/locale/po/grasswxpy_es.po
index ea1ee69..545989d 100644
--- a/locale/po/grasswxpy_es.po
+++ b/locale/po/grasswxpy_es.po
@@ -1,19 +1,19 @@
 # translation of grasswxpy_es.po to Español
 # This file is distributed under the same license as the GRASS package.
-# Copyright (C) 2008-2014 GRASS Development Team
+# Copyright (C) 2008-2016 GRASS Development Team
 #
 # Carlos Davila <carluti at users.sourceforge.net>, 2008.
 # Javier Garcia Prieto <fjgarciaprieto hotmail.com>, 2009.
 # Joana Palahí/SIGTE-UdG <joana at sigte.udg.edu>, 2011, 2014.
-# Daniel Torres <nobeeakon at gmail.com>, 2014.
+# Daniel Torres <nobeeakon at gmail.com>, 2014, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_es\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
-"PO-Revision-Date: 2014-12-08 20:51-0600\n"
-"Last-Translator: Daniel Torres <nobeeakon at gmail.com>\n"
-"Language-Team: Español <grass-translations at lists.osgeo.org>\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
+"PO-Revision-Date: 2016-02-03 00:18-0600\n"
+"Last-Translator: \n"
+"Language-Team: Español; Castellano <grass-translations at lists.osgeo.org>\n"
 "Language: es_ES\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +32,7 @@ msgid "Name of raster map:"
 msgstr "Mapa del mapa raster:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Nombre del mapa vectorial:"
 
@@ -42,14 +42,12 @@ msgid "Name of element:"
 msgstr "Nombre del elemento:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:89
-#, fuzzy
 msgid "Type of element:"
-msgstr "Nombre del elemento:"
+msgstr "Tipo de elemento:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:141
-#, fuzzy
 msgid "Add GRASS command to the model"
-msgstr "Añadir acción (módulo GRASS) al modelo"
+msgstr "Añadir comando GRASS al modelo"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:160
 #: ../gui/wxpython/gmodeler/dialogs.py:438
@@ -57,23 +55,21 @@ msgstr "Añadir acción (módulo GRASS) al modelo"
 #: ../gui/wxpython/gmodeler/preferences.py:85
 #: ../gui/wxpython/gmodeler/frame.py:1594
 msgid "Command"
-msgstr "Comando."
+msgstr "Comando"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:162
 msgid "Label and comment"
-msgstr ""
+msgstr "Etiquetar y comentar"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:198
 #: ../gui/wxpython/gmodeler/frame.py:1357
-#, fuzzy
 msgid "Label:"
-msgstr "Etiqueta"
+msgstr "Etiqueta:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:202
 #: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/gmodeler/frame.py:1369
-#, fuzzy
 msgid "Comment:"
-msgstr "Comando."
+msgstr "Comentario:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:255
 msgid ""
@@ -81,7 +77,7 @@ msgid ""
 "\n"
 "Unable to add new action to the model."
 msgstr ""
-"Comanda no definida.\n"
+"Comando no definido.\n"
 "\n"
 "No es posible añadir nueva acción al modelo."
 
@@ -92,7 +88,7 @@ msgid ""
 "\n"
 "Unable to add new action to the model."
 msgstr ""
-"'%s'no és un módulo GRASS.\n"
+"'%s'no es un módulo GRASS.\n"
 "\n"
 "No es posible añadir una nueva acción al modelo."
 
@@ -107,17 +103,16 @@ msgstr "Desde"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:312 ../gui/wxpython/dbmgr/base.py:2159
 msgid "To"
-msgstr "Hacia."
+msgstr "Hacia"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:354
-#, fuzzy, python-format
+#, python-format
 msgid "Data: %s"
-msgstr "Datos"
+msgstr "Datos: %s"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:360
-#, fuzzy
 msgid "Command:"
-msgstr "Comando."
+msgstr "Comando:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:366
 msgid "Option:"
@@ -151,7 +146,7 @@ msgstr "Condición"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr "Etiqueta"
 
@@ -190,8 +185,7 @@ msgstr "Lista de ítems en el bloque 'else'"
 #: ../gui/wxpython/gmodeler/dialogs.py:701
 #, python-format
 msgid "Variable <%s> already exists in the model. Adding variable failed."
-msgstr ""
-"La variable <%s> ya existe en el modelo. Ha fallado añadir la variable."
+msgstr "La variable <%s> ya existe en el modelo. Ha fallado añadir la variable."
 
 #: ../gui/wxpython/gmodeler/dialogs.py:730
 msgid "Do you want to delete all variables from the model?"
@@ -220,14 +214,14 @@ msgid "Reload"
 msgstr "Recargar."
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "No"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Sí"
 
@@ -257,8 +251,8 @@ msgstr "Inhabilitado:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Reglas de color."
@@ -288,9 +282,10 @@ msgstr "Tamaño de la forma"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Anchura:"
 
@@ -298,14 +293,14 @@ msgstr "Anchura:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Altitud:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Datos"
 
@@ -336,13 +331,13 @@ msgid "Comment"
 msgstr "Comentario"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "Propiedades del modelo"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadatos."
 
@@ -353,7 +348,7 @@ msgstr "Comandos"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Permitir que los archivos de salida sobrescriban archivos existentes."
@@ -373,10 +368,10 @@ msgstr "Cerrar el diálogo e ignorar los cambios."
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Nombre:"
 
@@ -440,12 +435,12 @@ msgstr "Mapas raster"
 msgid "3D raster maps"
 msgstr "Mapas raster 3D"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "Mapas vectoriales"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "Desconocido."
@@ -468,29 +463,29 @@ msgstr "if-else"
 
 #: ../gui/wxpython/gmodeler/model.py:1749
 msgid "empty"
-msgstr ""
+msgstr "vacio"
 
 #: ../gui/wxpython/gmodeler/model.py:1750
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "Parámetros del modelo"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr "Eliminar datos intermedios cuando termine"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "Ejecuta&r"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Variables"
 
@@ -511,7 +506,7 @@ msgid "Python editor"
 msgstr "Editor de Python"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Salida de la orden."
 
@@ -533,9 +528,7 @@ msgstr "Desea guardar los cambios en el modelo?"
 
 #: ../gui/wxpython/gmodeler/frame.py:258
 msgid "Do you want to store current model settings to model file?"
-msgstr ""
-"Desea almacenar las actuales configuraciones del modelo en el archivo del "
-"modelo?"
+msgstr "Desea almacenar las actuales configuraciones del modelo en el archivo del modelo?"
 
 #: ../gui/wxpython/gmodeler/frame.py:264
 msgid "Quit Graphical Modeler"
@@ -560,12 +553,8 @@ msgid "%d maps deleted from current mapset"
 msgstr "mapas %d eliminados del actual directorio de mapas"
 
 #: ../gui/wxpython/gmodeler/frame.py:355 ../gui/wxpython/gmodeler/frame.py:481
-msgid ""
-"Current model is not empty. Do you want to store current settings to model "
-"file?"
-msgstr ""
-"El modelo actual no está vacío. Quiere almacenar las configuraciones "
-"actuales en el archivo del modelo?"
+msgid "Current model is not empty. Do you want to store current settings to model file?"
+msgstr "El modelo actual no está vacío. Quiere almacenar las configuraciones actuales en el archivo del modelo?"
 
 #: ../gui/wxpython/gmodeler/frame.py:358 ../gui/wxpython/gmodeler/frame.py:484
 msgid "Create new model?"
@@ -576,7 +565,7 @@ msgid "Choose model file"
 msgstr "Escoger archivo del modelo"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "Archivo de Modelo GRASS (*.gxm)|*.gxm"
 
@@ -603,7 +592,7 @@ msgstr "Archivo <%s> guardado"
 msgid "Choose file to save current model"
 msgstr "Seleccione el archivo donde guardar el modelo actual"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "El archivo ya existe"
 
@@ -626,20 +615,18 @@ msgstr ""
 msgid "Model is valid."
 msgstr "El modelo es válido."
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
-msgstr ""
-"Seleccionar un nombre de archivo para guardar la imagen (no es necesario "
-"añadir la extensión)"
+msgstr "Seleccionar un nombre de archivo para guardar la imagen (no es necesario añadir la extensión)"
 
 #: ../gui/wxpython/gmodeler/frame.py:607 ../gui/wxpython/gmodeler/frame.py:614
 #, python-format
 msgid "Model exported to <%s>"
 msgstr "Modelo exportado a <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 msgid "Add comment"
 msgstr "Añadir comentario"
 
@@ -668,11 +655,9 @@ msgstr "Por favor espere, cargando modelo..."
 
 #: ../gui/wxpython/gmodeler/frame.py:953
 msgid "Writing current settings to model file failed."
-msgstr ""
-"La escritura de las configuraciones actuales en el archivo del modelo ha "
-"fallado."
+msgstr "La escritura de las configuraciones actuales en el archivo del modelo ha fallado."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "No es posible abrir el archivo <%s> para escribir."
@@ -681,21 +666,21 @@ msgstr "No es posible abrir el archivo <%s> para escribir."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
 #: ../gui/wxpython/gui_core/preferences.py:1430
 msgid "Error"
-msgstr "Error."
+msgstr "Error"
 
 #: ../gui/wxpython/gmodeler/frame.py:1295 ../gui/wxpython/rlisetup/frame.py:130
 #: ../gui/wxpython/animation/dialogs.py:629
@@ -704,7 +689,7 @@ msgstr "Error."
 #: ../gui/wxpython/menustrings.py:1826
 #: ../gui/wxpython/gui_core/simplelmgr.py:438
 msgid "Remove"
-msgstr "Remover."
+msgstr "Remover"
 
 #: ../gui/wxpython/gmodeler/frame.py:1299
 msgid "Disable"
@@ -738,7 +723,7 @@ msgstr "Intermedio"
 
 #: ../gui/wxpython/gmodeler/frame.py:1335 ../gui/wxpython/lmgr/layertree.py:447
 msgid "Properties"
-msgstr "Propiedades."
+msgstr "Propiedades"
 
 #: ../gui/wxpython/gmodeler/frame.py:1442
 msgid "List of variables - right-click to delete"
@@ -750,26 +735,26 @@ msgstr "Lista de variables - derecha- clic para eliminar"
 #: ../gui/wxpython/gui_core/ghelp.py:343 ../gui/wxpython/gui_core/ghelp.py:345
 #: ../gui/wxpython/gui_core/ghelp.py:408
 msgid "Name"
-msgstr "Nom"
+msgstr "Nombre"
 
 #: ../gui/wxpython/gmodeler/frame.py:1445
 #: ../gui/wxpython/gmodeler/frame.py:1497 ../gui/wxpython/dbmgr/base.py:2588
 msgid "Data type"
-msgstr "Tipo de dato."
+msgstr "Tipo de dato"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1503
 msgid "Default value"
-msgstr "Valor por defecto"
+msgstr "Valor predeterminado"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
-msgstr "Descripción."
+msgstr "Descripción"
 
 #: ../gui/wxpython/gmodeler/frame.py:1451
 msgid "Add new variable"
@@ -777,26 +762,26 @@ msgstr "Añadir nueva variable"
 
 #: ../gui/wxpython/gmodeler/frame.py:1455
 msgid "integer"
-msgstr "integer"
+msgstr "entero"
 
 #: ../gui/wxpython/gmodeler/frame.py:1456
 msgid "float"
-msgstr "float"
+msgstr "flotante"
 
 #: ../gui/wxpython/gmodeler/frame.py:1457
 msgid "string"
 msgstr "string"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
-msgstr "Raster."
+msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
-msgstr "Vector."
+msgstr "vector"
 
 #: ../gui/wxpython/gmodeler/frame.py:1460
 msgid "region"
@@ -804,16 +789,16 @@ msgstr "región"
 
 #: ../gui/wxpython/gmodeler/frame.py:1461
 msgid "mapset"
-msgstr "Directorio de mapas (mapset)"
+msgstr "directorio de mapas (mapset)"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "archivo"
 
 #: ../gui/wxpython/gmodeler/frame.py:1463
 msgid "dir"
-msgstr ""
+msgstr "dir"
 
 #: ../gui/wxpython/gmodeler/frame.py:1470
 msgid "Add new variable to the model"
@@ -828,9 +813,8 @@ msgid "In loop"
 msgstr "En bucle (loop)"
 
 #: ../gui/wxpython/gmodeler/frame.py:1593
-#, fuzzy
 msgid "Parameterized"
-msgstr "Parámetros."
+msgstr "Parametrizado"
 
 #: ../gui/wxpython/gmodeler/frame.py:1646
 #, fuzzy
@@ -878,9 +862,7 @@ msgid "Save file"
 msgstr "Guardar archivo"
 
 #: ../gui/wxpython/gmodeler/frame.py:1806
-msgid ""
-"Python script is locally modificated. Refresh will discard all changes. Do "
-"you really want to continue?"
+msgid "Python script is locally modificated. Refresh will discard all changes. Do you really want to continue?"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1809
@@ -941,7 +923,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Seleccionar mapa raster:"
 
@@ -959,7 +941,7 @@ msgstr "El grupo seleccionado debe estar en el directorio de mapas actual"
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -990,8 +972,8 @@ msgstr "Etiqueta del eje Y:"
 msgid "Label font size (pts):"
 msgstr "Tamaño del tipo de letra de la etiqueta (puntos):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1024,11 +1006,8 @@ msgstr "Aplicar cambios para la sesión actual y cerrar diálogo"
 #: ../gui/wxpython/vnet/dialogs.py:1200 ../gui/wxpython/iscatt/dialogs.py:359
 #: ../gui/wxpython/gcp/manager.py:2409
 #: ../gui/wxpython/gui_core/preferences.py:93
-msgid ""
-"Apply and save changes to user settings file (default for next sessions)"
-msgstr ""
-"Aplicar y guardar los cambios en el archivo de configuración del usuario "
-"(predeterminado para las próximas sesiones)."
+msgid "Apply and save changes to user settings file (default for next sessions)"
+msgstr "Aplicar y guardar los cambios en el archivo de configuración del usuario (predeterminado para las próximas sesiones)."
 
 #: ../gui/wxpython/wxplot/dialogs.py:743
 #, fuzzy, python-format
@@ -1040,9 +1019,9 @@ msgstr "La configuración ha sido guardada en el archivo '%s'."
 msgid "No map or image group selected to plot."
 msgstr "No se ha seleccionado alguna capa de mapas."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Aviso"
 
@@ -1068,8 +1047,8 @@ msgstr "Color de linea."
 msgid "Line width"
 msgstr "Anchura de línea"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Estilo de linea."
 
@@ -1083,18 +1062,18 @@ msgid "Transect segment marker settings"
 msgstr "Configuración de los marcadores del segmento de transecto."
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Tamaño."
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr "Llenar"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Estilo."
 
@@ -1119,8 +1098,7 @@ msgid "Scale"
 msgstr "Escala"
 
 #: ../gui/wxpython/wxplot/dialogs.py:1033
-msgid ""
-"Automatic axis scaling, custom max and min, or scale matches data range (min)"
+msgid "Automatic axis scaling, custom max and min, or scale matches data range (min)"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:1038
@@ -1209,16 +1187,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/wxplot/profile.py:34 ../gui/wxpython/nviz/wxnviz.py:32
-msgid ""
-"This module requires the NumPy module, which could not be imported. It "
-"probably is not installed (it's not part of the standard Python "
-"distribution). See the Numeric Python site (http://numpy.scipy.org) for "
-"information on downloading source or binaries."
-msgstr ""
-"Este módulo requiere el módulo NumP, que no pudo ser importado. "
-"Probablemente no está instalado (no es parte de la distibución estándar de "
-"Python). Ver el site Numérico de Python (http://numpy.scipy.org) para más "
-"información sobre la fuente de descarga o binarios."
+msgid "This module requires the NumPy module, which could not be imported. It probably is not installed (it's not part of the standard Python distribution). See the Numeric Python site (http://numpy.scipy.org) for information on downloading source or binaries."
+msgstr "Este módulo requiere el módulo NumP, que no pudo ser importado. Probablemente no está instalado (no es parte de la distibución estándar de Python). Ver el site Numérico de Python (http://numpy.scipy.org) para más información sobre la fuente de descarga o binarios."
 
 #: ../gui/wxpython/wxplot/profile.py:61
 msgid "GRASS Profile Analysis Tool"
@@ -1251,9 +1221,7 @@ msgstr "Valores del raster."
 
 #: ../gui/wxpython/wxplot/profile.py:279
 msgid "You must draw a transect to profile in the map display window."
-msgstr ""
-"Para crear el perfil, debe dibujar un transecto en la ventana de "
-"presentación de los mapas ."
+msgstr "Para crear el perfil, debe dibujar un transecto en la ventana de presentación de los mapas ."
 
 #: ../gui/wxpython/wxplot/profile.py:280
 msgid "Nothing to profile"
@@ -1302,9 +1270,7 @@ msgstr "Dibujar / redibujar gráfica"
 
 #: ../gui/wxpython/wxplot/base.py:41
 msgid "Draw transect in map display window to profile"
-msgstr ""
-"Para procesar el trazo del perfil, dibuje el transecto en la ventana de "
-"despliegue del mapa."
+msgstr "Para procesar el trazo del perfil, dibuje el transecto en la ventana de despliegue del mapa."
 
 #: ../gui/wxpython/wxplot/base.py:43
 msgid "Plot options"
@@ -1335,19 +1301,19 @@ msgid "Under Construction"
 msgstr "En construcción"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Configuración de página."
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Vista previa de impresión."
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1389,7 +1355,7 @@ msgstr "Valores de celdas ráster %s"
 
 #: ../gui/wxpython/wxplot/histogram.py:149
 msgid "Percent of total cells"
-msgstr ""
+msgstr "Porcetaje del total de celdas"
 
 #: ../gui/wxpython/wxplot/histogram.py:150
 msgid "Area"
@@ -1400,9 +1366,9 @@ msgid "Statistics for Map(s) Histogrammed"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/histogram.py:237
-#, fuzzy, python-format
+#, python-format
 msgid "Statistics for raster map <%s>"
-msgstr "Informa estadísticas para capas de mapas raster."
+msgstr "Estadísticas para mapa raster <%s>"
 
 #: ../gui/wxpython/vnet/dialogs.py:67
 msgid "GRASS GIS Vector Network Analysis Tool"
@@ -1414,14 +1380,12 @@ msgid "Point list toolbar"
 msgstr "Barra de herramientas de visualización de GCP"
 
 #: ../gui/wxpython/vnet/dialogs.py:172
-#, fuzzy
 msgid "Analysis toolbar"
-msgstr "Barra de herramientas de visualización de GCP"
+msgstr "Barra de herramientas de análisis"
 
 #: ../gui/wxpython/vnet/dialogs.py:205
-#, fuzzy
 msgid "Points for analysis:"
-msgstr "Análisis de redes."
+msgstr "Puntos para el análisis:"
 
 #: ../gui/wxpython/vnet/dialogs.py:208
 msgid "Analysis settings:"
@@ -1445,14 +1409,13 @@ msgid "Output"
 msgstr "Salida."
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parámetros."
 
 #: ../gui/wxpython/vnet/dialogs.py:352
-#, fuzzy
 msgid "Add vector map into layer tree"
-msgstr "Añadir el mapa creado al árbol de capas"
+msgstr "Añadir el mapa vectorial creado al árbol de capas"
 
 #: ../gui/wxpython/vnet/dialogs.py:467
 msgid "Input tables"
@@ -1480,8 +1443,7 @@ msgid "Analysing..."
 msgstr "Analizando..."
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Configuración, ajustes."
@@ -1491,14 +1453,12 @@ msgid "Computing nodes..."
 msgstr "Calculando nodos..."
 
 #: ../gui/wxpython/vnet/dialogs.py:1127
-#, fuzzy
 msgid "Other settings"
-msgstr "Configuración de mapa de bits (raster)."
+msgstr "Otras configuraciones"
 
 #: ../gui/wxpython/vnet/dialogs.py:1130
-#, fuzzy
 msgid "Point style:"
-msgstr "Estilo de linea."
+msgstr "Estilo de punto:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1133
 msgid "Analysis result style:"
@@ -1519,9 +1479,8 @@ msgid "Line color:"
 msgstr "Color de linea:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1160
-#, fuzzy
 msgid "Color for unused point:"
-msgstr "Color para los GCPs no utilizados:"
+msgstr "Color para los puntos no utilizados:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1161
 msgid "Color for Start/From/Source/Used point:"
@@ -1532,25 +1491,22 @@ msgid "Color for End/To/Sink point:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1163
-#, fuzzy
 msgid "Color for selected point:"
-msgstr "Color para el GCP seleccionado"
+msgstr "Color para los puntos seleccionados:"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
 msgstr "Anchura de línea:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1177
-#, fuzzy
 msgid "Point size:"
-msgstr "Tamaño de fuente:"
+msgstr "Tamaño del punto:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1178
-#, fuzzy
 msgid "Point width:"
-msgstr "Anchura de línea:"
+msgstr "Anchura del punto:"
 
 #: ../gui/wxpython/vnet/dialogs.py:1179 ../gui/wxpython/iscatt/dialogs.py:338
 #, fuzzy
@@ -1562,10 +1518,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Cerrar diálogo."
 
@@ -1576,7 +1533,7 @@ msgstr "Se ha creado el nuevo mapa vectorial <%s>"
 
 #: ../gui/wxpython/vnet/dialogs.py:1467
 msgid "Save analysis result"
-msgstr ""
+msgstr "Guardar resultados del análisis"
 
 #: ../gui/wxpython/vnet/dialogs.py:1578
 msgid "Edit intersection turns costs"
@@ -1586,272 +1543,255 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_core.py:107
 msgid "Unable to perform analysis."
-msgstr "Análisis de redes."
+msgstr "No se puede realizar el análisis."
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
-"Temporary map '%s' with result was changed outside vector network analysis "
-"tool.\n"
+"Temporary map '%s' with result was changed outside vector network analysis tool.\n"
 "Showed result may not correspond original analysis result."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_core.py:254
 msgid "Map can be created only in current mapset"
-msgstr "mapas %d eliminados del actual directorio de mapas"
+msgstr "El mapa puede ser creado solo en el directorio de mapas actual"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
-#, fuzzy, python-format
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
+#, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
-msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
+msgstr "El mapa vectorial %s ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 msgid "Overwrite vector map"
-msgstr "¿Sobreescribir?"
+msgstr "Sobreescribir mapa vectorial"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "La Georrectificación del mapa vectorial <%s>  ha fallado."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
-"Input map '%s' for analysis was changed outside vector network analysis "
-"tool.\n"
+"Input map '%s' for analysis was changed outside vector network analysis tool.\n"
 "Topology column may not correspond to changed situation."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 msgid "Unable to use ctypes. \n"
-msgstr "Imposible de establecer."
+msgstr "No es posible usar ctypes . \n"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 msgid "Overwrite map"
-msgstr "¿Sobreescribir?"
+msgstr "Sobreescribir mapa"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
-#, fuzzy, python-format
+#: ../gui/wxpython/vnet/vnet_data.py:152
+#, python-format
 msgid "Vector map '%s' does not exist."
-msgstr "Mapa vectorial <%s> no encontrado"
+msgstr "Mapa vectorial '%s' no existe."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Mapa vectorial <%s> no encontrado"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_data.py:163
 msgid "arc layer"
-msgstr "Capas de mapas"
+msgstr "capa arc"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_data.py:164
 msgid "node layer"
-msgstr "Añadir una capa."
+msgstr "capa de  nodos"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Administrar capas."
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Gestionar o informar sobre categorías."
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
-#, fuzzy, python-format
+#: ../gui/wxpython/vnet/vnet_data.py:175
+#, python-format
 msgid "Choose existing %s.\n"
-msgstr "Seleccionar %s"
+msgstr "Seleccionar %s existente. \n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
-#, fuzzy, python-format
-msgid ""
-"Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
-"map '%s'.\n"
-msgstr "Elimina la tabla de atributos existente de un mapa vectorial."
+#: ../gui/wxpython/vnet/vnet_data.py:185
+#, python-format
+msgid "Chosen column '%s' does not exist in attribute table of layer '%s' of vector map '%s'.\n"
+msgstr "La columna '%s' seleccionada no existe en la tabla de atributos de la capa '%s' del mapa vectorial '%s'.\n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "utilizar"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 msgid "type"
-msgstr "Tipo de dato."
+msgstr "tipo"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
-msgstr "Reconstruir topología"
+msgstr "topología"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 msgid "Start point"
-msgstr "punto"
+msgstr "Punto de inicio"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_data.py:240
 msgid "End Point"
-msgstr "punto"
+msgstr "Punto final"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 msgid "new point"
-msgstr "Izquierda: nuevo punto"
+msgstr "nuevo punto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
-msgstr ""
+msgstr "arco"
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Columna numérica:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr "nodo"
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
-#, fuzzy, python-format
+#: ../gui/wxpython/vnet/vnet_data.py:698
+#, python-format
 msgid "Shortest path %s"
-msgstr "Camino mas corto."
+msgstr "Camino más corto %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
-#, fuzzy
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
-msgstr "punto"
+msgstr "Punto final"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
-#, fuzzy, python-format
+#: ../gui/wxpython/vnet/vnet_data.py:718
+#, python-format
 msgid "Traveling salesman %s"
-msgstr "Análisis del representante de comercio."
+msgstr "Análisis del representante de comercio %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
-#, fuzzy, python-format
+#: ../gui/wxpython/vnet/vnet_data.py:734
+#, python-format
 msgid "Maximum flow %s"
-msgstr "Flujo máximo"
+msgstr "Flujo máximo %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Tipo de fuente"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Mostrar puntos."
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, fuzzy, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "Crea un árbol de Steiner para la red y terminales dadas."
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Remover la capa de mapa."
@@ -1862,9 +1802,8 @@ msgid "Invalid value inserted. Operation canceled."
 msgstr "Valor de coordenada no válido. Operación cancelada."
 
 #: ../gui/wxpython/vnet/widgets.py:528
-#, fuzzy
 msgid "Edit point"
-msgstr "punto"
+msgstr "Editar punto"
 
 #: ../gui/wxpython/vnet/toolbars.py:50
 #, fuzzy
@@ -1884,19 +1823,16 @@ msgid "Activate mode for global turns editing"
 msgstr ""
 
 #: ../gui/wxpython/vnet/toolbars.py:58
-#, fuzzy
 msgid "Add new point"
-msgstr "Añadir punto de control"
+msgstr "Añadir nuevo punto"
 
 #: ../gui/wxpython/vnet/toolbars.py:60
-#, fuzzy
 msgid "Delete selected point"
-msgstr "Borrar la locación seleccionada."
+msgstr "Borrar punto seleccionado"
 
 #: ../gui/wxpython/vnet/toolbars.py:110
-#, fuzzy
 msgid "Execute analysis"
-msgstr "Análisis del terreno."
+msgstr "Ejecutar el análisis"
 
 #: ../gui/wxpython/vnet/toolbars.py:112
 msgid "Go to previous analysis result"
@@ -1907,18 +1843,16 @@ msgid "Go to next analysis result"
 msgstr ""
 
 #: ../gui/wxpython/vnet/toolbars.py:116
-#, fuzzy
 msgid "Show analysis result"
-msgstr "Mostrar líneas."
+msgstr "Mostrar resultados del análisis"
 
 #: ../gui/wxpython/vnet/toolbars.py:118
 msgid "Save temporary result"
-msgstr ""
+msgstr "Guardar resultado temporal"
 
 #: ../gui/wxpython/vnet/toolbars.py:119
-#, fuzzy
 msgid "Vector network analysis settings"
-msgstr "Configuraciones de mapa vectorial"
+msgstr "Configuraciones del análisis vectorial de redes"
 
 #: ../gui/wxpython/vnet/toolbars.py:121 ../gui/wxpython/iscatt/toolbars.py:46
 #: ../gui/wxpython/gui_core/toolbars.py:71
@@ -1926,9 +1860,8 @@ msgid "Show manual"
 msgstr "Mostrar manual"
 
 #: ../gui/wxpython/vnet/toolbars.py:184
-#, fuzzy
 msgid "Availiable analyses"
-msgstr "Análisis del representante de comercio."
+msgstr "Análisis disponibles"
 
 #: ../gui/wxpython/location_wizard/dialogs.py:36
 msgid "Set default region extent and resolution"
@@ -2035,305 +1968,293 @@ msgstr "Seleccionar transformación del datum."
 msgid "Select from list of datum transformations"
 msgstr "Seleccione de la lista de transformaciones de datum."
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Definir base de datos de GRASS y nombre de locación."
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Explorar"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Directorio de datos de SIG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Locación del proyecto."
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Seleccionar Dicrectorio de Datos SIG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "Nombre de la Localización"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for location. Please use only ASCII "
-"characters excluding %(chars)s and space."
+msgid "Name <%(name)s> is not a valid name for location. Please use only ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
-#, fuzzy
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
-msgstr "Se ha seleccionado una locación no válida."
+msgstr "Nombre de la localización inválido"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Seleccionar directorio de datos de GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "La localización ya existe en la base de datos de GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "No se puede crear la locación."
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
-msgid ""
-"Title of the location is limited only to one line and 256 characters. The "
-"rest of the text will be ignored."
-msgstr ""
-"El título de la localización está limitado a una línea y 256 caracteres. El "
-"resto del texto será ignorado."
+#: ../gui/wxpython/location_wizard/wizard.py:210
+msgid "Title of the location is limited only to one line and 256 characters. The rest of the text will be ignored."
+msgstr "El título de la localización está limitado a una línea y 256 caracteres. El resto del texto será ignorado."
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Seleccione el método para crear una nueva locación."
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "Seleccione el código EPSG del sistema de referencia espacial."
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
-msgstr ""
-"Leer la configuración de proyección y datum de un archivo de datos "
-"georreferenciado."
+msgstr "Leer la configuración de proyección y datum de un archivo de datos georreferenciado."
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 #, fuzzy
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr "Leer la configuración de proyección y datum de un archivo WKT o PRJ."
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "Seleccione de una lista, los parámetros del sistema de coordenadas."
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
-msgstr ""
-"Especifique la configuración de proyección y datum utilizando parámetros "
-"PROJ.4 personalizados."
+msgstr "Especifique la configuración de proyección y datum utilizando parámetros PROJ.4 personalizados."
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
-#, fuzzy
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
-msgstr "Crear un sistema de coordenadas, arbitrario (XY) no terrestre."
+msgstr "Crear un sistema de coordenadas cartesiano genérico (XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Seleccionar la proyección."
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Código."
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Código de la proyección:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Buscar en la descripción:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "No se puede leer la lista: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Seleccionar parámetros de proyección."
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Seleccionar datum o elipsoide (página siguiente)."
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Seleccionar datum con elipsoide asociado."
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Solamente Elipsoide."
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "Tienes que entrar un valor para %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Introducir parámetros para la proyección %s:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Especificar datum geodésico."
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Elipsoide."
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Código del datum:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Especificar elipsoide:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "Base de datos."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
-msgstr ""
+msgstr "Cuerpos planetarios"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Código del elipsoide:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Seleccionar archivo georreferenciado."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Archivo georreferenciado:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
-msgstr ""
+msgstr "Seleccionar archivo Well Known Text (WKT) .prj"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
-#, fuzzy
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 msgid "WKT .prj file:"
-msgstr "Archivo WKT:"
+msgstr "Archivo WKT .prj:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Seleccionar código EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Ruta al archivo de códigos EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Código EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Seleccionar archivo de códigos EPSG."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "No se pueden leer los códigos EPSG: %s ."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
-msgstr ""
-"Seleccionar método para especificar los parámetros de georreferenciación."
+msgstr "Seleccionar método para especificar los parámetros de georreferenciación."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Introducir cadena de parámetros PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Se requiere una transformación del datum."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Resumen."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "Base de datos de GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Nombre de la localización:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Título de la Localización"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Proyección:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
-msgstr "Definición PROJ.4:"
+msgstr ""
+"Definición PROJ.4:\n"
+"(non-definitive)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "personalizar"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "¿Quiere crear la locación de GRASS <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "¿Crear nueva locación?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Definir nueva localización de GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2344,44 +2265,37 @@ msgstr ""
 "\n"
 "Detalles: %(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
-msgstr ""
-"Se ha cancelado el asistente de locaciones. La locación no ha sido creada."
+msgstr "Se ha cancelado el asistente de locaciones. La locación no ha sido creada."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "No se puede crear la nueva locación."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
-msgid ""
-"Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
-"need to change the default GIS data directory in the GRASS startup screen."
-msgstr ""
-"La localización <%(loc)s> se creará en el directorio de datos SIG <%(dir)s>. "
-"Necesitará cambiar el directorio de datos SIG predeterminado en la pantalla "
-"de inicio de GRASS. "
+msgid "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will need to change the default GIS data directory in the GRASS startup screen."
+msgstr "La localización <%(loc)s> se creará en el directorio de datos SIG <%(dir)s>. Necesitará cambiar el directorio de datos SIG predeterminado en la pantalla de inicio de GRASS. "
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "Nuevo directorio de datos de SIG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Falta el código EPSG."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr "Archivo <%s> no encontrado."
 
 #: ../gui/wxpython/iscatt/iscatt_core.py:107
 #: ../gui/wxpython/iscatt/iscatt_core.py:157
-#, fuzzy
 msgid "Select category for editing."
-msgstr "Seleccione un mapa raster. Mapa 3 (opcional):"
+msgstr "Seleccione categoría para editar."
 
 #: ../gui/wxpython/iscatt/iscatt_core.py:148
 #, fuzzy
@@ -2398,6 +2312,8 @@ msgid ""
 "v.build failed:\n"
 "%s"
 msgstr ""
+"Falló v.build:\n"
+"%s"
 
 #: ../gui/wxpython/iscatt/iscatt_core.py:327
 #, python-format
@@ -2405,11 +2321,12 @@ msgid ""
 "v.to.rast failed:\n"
 "%s"
 msgstr ""
+"Falló v.to.rast:\n"
+"%s"
 
 #: ../gui/wxpython/iscatt/dialogs.py:38
-#, fuzzy
 msgid "Add scatter plots"
-msgstr "Añadir mapa raster"
+msgstr "Añadir gráficas de dispersión"
 
 #: ../gui/wxpython/iscatt/dialogs.py:56
 msgid "x axis:"
@@ -2424,48 +2341,42 @@ msgid "Bands of scatter plots to be added (x y):"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/dialogs.py:135
-#, fuzzy
 msgid "No scatter plots selected."
-msgstr "No hay ningún mapa raster seleciconado!"
+msgstr "No hay gráficas de dispersión seleccionadas."
 
 #: ../gui/wxpython/iscatt/dialogs.py:183
 msgid "Select both x and y bands."
-msgstr ""
+msgstr "Seleccionar ambas bandas x e y"
 
 #: ../gui/wxpython/iscatt/dialogs.py:186
-#, fuzzy
 msgid "Selected bands must be different."
-msgstr "mapas %d eliminados del actual directorio de mapas"
+msgstr "Bandas seleccionadas deben ser diferentes."
 
 #: ../gui/wxpython/iscatt/dialogs.py:191
-msgid ""
-"Scatter plot with same bands combination (regardless x y order) has been "
-"already added into the list."
+msgid "Scatter plot with same bands combination (regardless x y order) has been already added into the list."
 msgstr ""
 
 #: ../gui/wxpython/iscatt/dialogs.py:253 ../gui/wxpython/iclass/dialogs.py:710
-#, fuzzy
 msgid "Enter name of new vector map:"
-msgstr "Nombre para el nuevo mapa vectorial:"
+msgstr "Introduzca el nombre del nuevo mapa vectorial:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:292
-#, fuzzy, python-format
+#, python-format
 msgid "Raster map <%s> already exists. Do you want to overwrite it?"
-msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
+msgstr "Mapa raster <%s> ya existe. ¿Quiere sobrescribirlo?"
 
 #: ../gui/wxpython/iscatt/dialogs.py:294
-#, fuzzy, python-format
+#, python-format
 msgid "Raster <%s> exists"
-msgstr "Mapa vectorial <%s> añadido"
+msgstr "Raster <%s> existe"
 
 #: ../gui/wxpython/iscatt/dialogs.py:317
 msgid "Show confidence ellipses"
-msgstr ""
+msgstr "Mostrar elipses de confianza"
 
 #: ../gui/wxpython/iscatt/dialogs.py:323
-#, fuzzy
 msgid "Selection polygon color:"
-msgstr "Seleccionar color."
+msgstr "Seleccionar color de polígono:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:324
 #, fuzzy
@@ -2473,24 +2384,20 @@ msgid "Color of selection polygon vertex:"
 msgstr "Color para el GCP seleccionado"
 
 #: ../gui/wxpython/iscatt/dialogs.py:325
-#, fuzzy
 msgid "Selected area color:"
-msgstr "Seleccionar color."
+msgstr "Color de área seleccionada:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:339
-#, fuzzy
 msgid "Selected area opacity:"
-msgstr "Seleccionar mapa de salida a visualizar:"
+msgstr "Seleccionar opacidad de área:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:371
-#, fuzzy
 msgid "Selection style:"
-msgstr "Seleccionar mediante recuadro."
+msgstr "Seleccionar estilo:"
 
 #: ../gui/wxpython/iscatt/dialogs.py:393
-#, fuzzy
 msgid "Ellipses settings:"
-msgstr "Configuración de ejes."
+msgstr "Configuración de elipses:"
 
 #: ../gui/wxpython/iscatt/controllers.py:138 ../gui/wxpython/dbmgr/base.py:147
 msgid "Loading data..."
@@ -2505,8 +2412,7 @@ msgstr "No se ha seleccionado ningún mapa!"
 #, python-format
 msgid ""
 "Interactive Scatter Plot Tool can not be used.\n"
-"Number of cells (rows*cols) <%d> in current regionis higher than maximum "
-"limit <%d>.\n"
+"Number of cells (rows*cols) <%d> in current regionis higher than maximum limit <%d>.\n"
 "\n"
 "You can reduce number of cells in current region using <g.region> command."
 msgstr ""
@@ -2514,46 +2420,38 @@ msgstr ""
 #: ../gui/wxpython/iscatt/controllers.py:228
 #, python-format
 msgid ""
-"Number of cells (rows*cols) <%d> in current region is higher than "
-"recommended threshold <%d>.\n"
-"It is strongly advised to reduce number of cells in current region below "
-"recommend threshold.\n"
+"Number of cells (rows*cols) <%d> in current region is higher than recommended threshold <%d>.\n"
+"It is strongly advised to reduce number of cells in current region below recommend threshold.\n"
 " It can be done by <g.region> command.\n"
 "\n"
 "Do you want to continue using Interactive Scatter Plot Tool with this region?"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:284
-msgid ""
-"Scatter plot with same band combination (regardless x y order) is already "
-"displayed."
+msgid "Scatter plot with same band combination (regardless x y order) is already displayed."
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:297
 #, python-format
 msgid "Band <%s> is not CELL (integer) type.\n"
-msgstr ""
+msgstr "Banda <%s> no es de tipo CELL (entero).\n"
 
 #: ../gui/wxpython/iscatt/controllers.py:300
-#, fuzzy
 msgid "Scatter plot cannot be added.\n"
-msgstr "No hay ningún mapa raster seleciconado!"
+msgstr "No se puede añadir gráfica de dispersión.\n"
 
 #: ../gui/wxpython/iscatt/controllers.py:306
 #, python-format
 msgid ""
 "Scatter plot cannot be added.\n"
-"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than maximum limit <"
-"%d>.\n"
+"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than maximum limit <%d>.\n"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:314
 #, python-format
 msgid ""
-"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than recommended "
-"limit <%d>.\n"
-"It is strongly advised to reduce range extend of bands(e. g. using r."
-"rescale) below recommended threshold.\n"
+"Multiple of bands ranges <%s:%d * %s:%d = %d> is higher than recommended limit <%d>.\n"
+"It is strongly advised to reduce range extend of bands(e. g. using r.rescale) below recommended threshold.\n"
 "\n"
 "Do you really want to add this scatter plot?"
 msgstr ""
@@ -2566,9 +2464,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/iscatt/controllers.py:403 ../gui/wxpython/iclass/digit.py:70
-#, fuzzy
 msgid "No class selected"
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr "No se ha seleccionado ninguna clase"
 
 #: ../gui/wxpython/iscatt/controllers.py:433
 #, python-format
@@ -2616,40 +2513,35 @@ msgstr "Acercamiento a la extensión de la región guardada (zoom to saved...)"
 
 #: ../gui/wxpython/iscatt/frame.py:129 ../gui/wxpython/iclass/dialogs.py:276
 msgid "Classes"
-msgstr ""
+msgstr "Clases"
 
 #: ../gui/wxpython/iscatt/frame.py:146
-#, fuzzy
 msgid "GRASS GIS Interactive Scatter Plot Tool"
-msgstr "Barra de herramientas de Georectificación"
+msgstr "Herramienta de GRASS GIS para gráfica de dispersión interactiva"
 
 #: ../gui/wxpython/iscatt/frame.py:361
-#, fuzzy
 msgid "scatter plot"
-msgstr "Puntos vectoriales."
+msgstr "gráfica de dispersión"
 
 #: ../gui/wxpython/iscatt/frame.py:375 ../gui/wxpython/iclass/dialogs.py:357
-#, fuzzy
 msgid "Class name"
-msgstr "Clasificar imagen."
+msgstr "Nombre de la clase"
 
 #: ../gui/wxpython/iscatt/frame.py:412 ../gui/wxpython/iclass/dialogs.py:390
 msgid "Please use only ASCII characters."
-msgstr ""
+msgstr "Por favor use solo caracteres ASCII"
 
 #: ../gui/wxpython/iscatt/frame.py:437
 msgid "Maximum limit of categories number was reached."
 msgstr ""
 
 #: ../gui/wxpython/iscatt/frame.py:532
-#, fuzzy
 msgid "Rename class"
-msgstr "Cambiar nombre de columna."
+msgstr "Renombrar clase"
 
 #: ../gui/wxpython/iscatt/frame.py:536
-#, fuzzy
 msgid "Set color"
-msgstr "Seleccionar color."
+msgstr "Elegir color"
 
 #: ../gui/wxpython/iscatt/frame.py:540 ../gui/wxpython/lmgr/layertree.py:443
 msgid "Change opacity level"
@@ -2660,27 +2552,24 @@ msgid "Hide"
 msgstr "Ocultar"
 
 #: ../gui/wxpython/iscatt/frame.py:546
-#, fuzzy
 msgid "Show"
-msgstr "Mostrar la rejilla."
+msgstr "Mostrar"
 
 #: ../gui/wxpython/iscatt/frame.py:557
 msgid "Move to top"
-msgstr ""
+msgstr "Mover hasta arriba"
 
 #: ../gui/wxpython/iscatt/frame.py:563
 msgid "Move to bottom"
-msgstr ""
+msgstr "Mover hasta abajo"
 
 #: ../gui/wxpython/iscatt/frame.py:571
-#, fuzzy
 msgid "Move category up"
-msgstr "Sin categoría."
+msgstr "Mover categoría arriba"
 
 #: ../gui/wxpython/iscatt/frame.py:577
-#, fuzzy
 msgid "Move category down"
-msgstr "Sin categoría."
+msgstr "Mover categoría abajo"
 
 #: ../gui/wxpython/iscatt/frame.py:585
 #, fuzzy
@@ -2688,24 +2577,22 @@ msgid "Export class raster"
 msgstr "Exportar mapa raster."
 
 #: ../gui/wxpython/iscatt/frame.py:657
-#, fuzzy, python-format
+#, python-format
 msgid "Change opacity of class <%s>"
-msgstr "Define la opacidad <%s>."
+msgstr "Cambiar opacidad de la clase <%s>"
 
 #: ../gui/wxpython/iscatt/frame.py:679
 msgid "Empty name was inserted."
-msgstr ""
+msgstr "Nombre vacío insertado."
 
 #: ../gui/wxpython/iscatt/toolbars.py:43 ../gui/wxpython/iclass/dialogs.py:42
 #: ../gui/wxpython/iclass/toolbars.py:37
-#, fuzzy
 msgid "Select imagery group"
-msgstr "Seleccionar grupo:"
+msgstr "Seleccionar grupo de imágenes"
 
 #: ../gui/wxpython/iscatt/toolbars.py:48
-#, fuzzy
 msgid "Add scatter plot"
-msgstr "Añadir mapa raster"
+msgstr "Añadir gráfica de dispersión"
 
 #: ../gui/wxpython/iscatt/toolbars.py:50
 #, fuzzy
@@ -2722,15 +2609,12 @@ msgid "Zoom mode for scatter plots (left mouse button, wheel)"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:56
-msgid ""
-"Zoom to scatter plot data extend mode (click on scatter plot for zooming to "
-"extend)"
+msgid "Zoom to scatter plot data extend mode (click on scatter plot for zooming to extend)"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:58
-#, fuzzy
 msgid "Show/hide class manager"
-msgstr "Clasificar imagen."
+msgstr "Mostrar/ocultar manejador de clases"
 
 #: ../gui/wxpython/iscatt/toolbars.py:162
 #: ../gui/wxpython/iscatt/toolbars.py:163
@@ -2742,8 +2626,7 @@ msgstr "Consultar mapa(s) seleccionado(s) Raster / vectorial."
 #: ../gui/wxpython/iscatt/toolbars.py:166
 #, fuzzy
 msgid "Exclude selected area from class"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
 
 #: ../gui/wxpython/iscatt/toolbars.py:168
 msgid "Add new vertex"
@@ -2754,9 +2637,8 @@ msgid "Add new vertex to polygon boundary scatter plot"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:171
-#, fuzzy
 msgid "Create selection polygon"
-msgstr "Selección de datos"
+msgstr "Crear polígono de selección"
 
 #: ../gui/wxpython/iscatt/toolbars.py:172
 msgid "Add new vertex between last and first points of the boundary"
@@ -2767,34 +2649,38 @@ msgid "Move vertex"
 msgstr "Mover vértice."
 
 #: ../gui/wxpython/iscatt/toolbars.py:175
-#, fuzzy
 msgid "Move boundary vertex"
-msgstr "Mover vértice."
+msgstr "Mover vértice de borde"
 
 #: ../gui/wxpython/iscatt/toolbars.py:177
 msgid "Remove vertex"
 msgstr "Eliminar vértice."
 
 #: ../gui/wxpython/iscatt/toolbars.py:178
-#, fuzzy
 msgid "Remove boundary vertex"
-msgstr "Eliminar vértice."
+msgstr "Eliminar vértice de borde"
 
 #: ../gui/wxpython/iscatt/toolbars.py:180
 msgid "Remove polygon (click on scatter plot for removing it's polygon)"
 msgstr ""
 
 #: ../gui/wxpython/iscatt/toolbars.py:257
-#, fuzzy
 msgid "Add class"
-msgstr "Añadir etiquetas."
+msgstr "Añadir clase"
 
 #: ../gui/wxpython/iscatt/toolbars.py:259
-#, fuzzy
 msgid "Remove selected class"
-msgstr "Renombrar el directorio de mapas de usuario (mapset)."
+msgstr "Remover clase seleccionada"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid "WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2805,145 +2691,131 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: tipo de capa <%(type)s> no soportado"
 
-#: ../gui/wxpython/core/render.py:167
-#, fuzzy, python-format
+#: ../gui/wxpython/core/render.py:164
+#, python-format
 msgid "Command '%s' failed\n"
-msgstr "Comando finalizado."
+msgstr "Comando '%s' fracasó\n"
 
-#: ../gui/wxpython/core/render.py:169
-#, fuzzy, python-format
+#: ../gui/wxpython/core/render.py:165
+#, python-format
 msgid "Details: %s\n"
-msgstr "Detalles."
+msgstr "Detalles: %s\n"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Tipo de capa de mapa no soportada '%s'."
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "ERROR: Falló el renderizado"
+
+#: ../gui/wxpython/core/render.py:584
 #, fuzzy
+msgid "Rendering aborted"
+msgstr "Renderizar"
+
+#: ../gui/wxpython/core/render.py:615
+msgid "Downloading data "
+msgstr "Descargando datos"
+
+#: ../gui/wxpython/core/render.py:625
+msgid "Rendering & "
+msgstr "Renderizando &"
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr "Renderizando..."
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
-msgstr "Acercamiento a la región predeterminada (zoom)."
+msgstr "Tratando de recuperar de la región predeterminada..."
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
-msgstr ""
-"Módulo GRASS '%s' no encontrado. No es posible abrir la ventana de "
-"visualización del mapa."
+msgstr "Módulo GRASS '%s' no encontrado. No es posible abrir la ventana de visualización del mapa."
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr "Error: No se puede abrir '%(file)s'. Razón: %(ret)s. wxGUI salió.\n"
 
-#: ../gui/wxpython/core/render.py:491
-#, fuzzy, python-format
+#: ../gui/wxpython/core/render.py:730
+#, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
-msgstr "Falló la lectura del archivo %s."
+msgstr ""
+"\n"
+"ERROR: No se puede leer archivo WIND: %s\n"
 
-#: ../gui/wxpython/core/render.py:588
-#, fuzzy, python-format
+#: ../gui/wxpython/core/render.py:827
+#, python-format
 msgid "Invalid map size %d,%d\n"
-msgstr "Valor no válido: %s"
+msgstr "Tamaño de mapa no válido %d,%d\n"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "No es posible realizar un zoom al mapa raster <%s>."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Detalles."
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "No se puede realizar un zoom al mapa vectorial <%s>."
 
-#: ../gui/wxpython/core/render.py:673
-#, fuzzy, python-format
-msgid "Unable to zoom to 3d raster map <%s>."
-msgstr "No es posible realizar un zoom al mapa raster <%s>."
-
-#: ../gui/wxpython/core/render.py:676
-#, fuzzy
-msgid ""
-"Unable to get current geographic extent. Force quiting wxGUI. Please "
-"manually run g.region to fix the problem."
-msgstr ""
-"No ha sido posible obtener la extensión geográfica actual. se forza el "
-"abandono de la interfaz wxGUI. Por favor ejecute manualmente g.region para "
-"solucionar el problema."
-
-#: ../gui/wxpython/core/render.py:987
-#, fuzzy, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "ERROR: Falló el renderizado"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "No se ha podido realizar la presentación de la capa de mapa <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
+#: ../gui/wxpython/core/render.py:912
 #, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "No se ha podido realizar la presentación de la superposicion <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Cargando datos."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Renderizar"
+msgid "Unable to zoom to 3d raster map <%s>."
+msgstr "No es posible realizar un zoom al mapa raster 3d <%s>."
 
-#: ../gui/wxpython/core/render.py:1388
+#: ../gui/wxpython/core/render.py:915
 #, fuzzy
-msgid "Rendering..."
-msgstr "Renderizar"
+msgid "Unable to get current geographic extent. Force quiting wxGUI. Please manually run g.region to fix the problem."
+msgstr "No ha sido posible obtener la extensión geográfica actual. se forza el abandono de la interfaz wxGUI. Por favor ejecute manualmente g.region para solucionar el problema."
 
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Razón"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Mensaje"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "La ejecución ha fallado."
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Error:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "No se puede ejecutar el comando: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Error en %s ."
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "No es posible abrir el archivo <%s> para su lectura."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2951,18 +2823,17 @@ msgid ""
 "\n"
 "Number of skipped lines: %(line)d"
 msgstr ""
-"Algunas líneas se han omitido cuando se leía la configuración desde el "
-"archivo <%(file)s>\n"
+"Algunas líneas se han omitido cuando se leía la configuración desde el archivo <%(file)s>\n"
 "Véase la \"ventana de salida de comandos\" para más detalles.\n"
 "\n"
 "Número de línea(s) omitida(s): %(line) d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr "Fila %d."
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2971,32 +2842,34 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Archivo <%s> no encontrado."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d segundos"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
-msgid ""
-"Please note that the data are left in inconsistent state and may be corrupted"
-msgstr ""
-"Por favor note que los datos se han dejado en un estado inconsistente y "
-"podrían encontrarse corruptos"
+#: ../gui/wxpython/core/gconsole.py:642
+msgid "Please note that the data are left in inconsistent state and may be corrupted"
+msgstr "Por favor note que los datos se han dejado en un estado inconsistente y podrían encontrarse corruptos"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Comando abortado."
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Comando finalizado."
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3151,8 +3024,7 @@ msgid ""
 "\t\tDetails: %(detail)s\n"
 "\t\tLine: '%(line)s'\n"
 msgstr ""
-"Error:La lectura de la configuración desde el archivo <%(file)s> ha "
-"fallado.\n"
+"Error:La lectura de la configuración desde el archivo <%(file)s> ha fallado.\n"
 "\t\tDetalles: %(detail)s\n"
 "\t\tLinea: '%(line)s'\n"
 
@@ -3191,41 +3063,41 @@ msgstr "Error de sintaxis: %s"
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Mapa vectorial <%s> añadido"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "falló al abrir '%s'"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr ""
 "No es posible abrir el archivo\n"
 "%s"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Falló la lectura del archivo %s."
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Seleccionar color."
 
@@ -3295,11 +3167,11 @@ msgstr ""
 "del papel"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr "Fuente:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Tamaño de fuente:"
@@ -3313,27 +3185,24 @@ msgid "Close dialog and apply changes"
 msgstr "Cerrar el diálogo y aplicar los cambios"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Aplicar los cambios."
 
 #: ../gui/wxpython/psmap/dialogs.py:384
-#, fuzzy
 msgid "Units"
-msgstr "Unidades:"
+msgstr "Unidades"
 
 #: ../gui/wxpython/psmap/dialogs.py:384
 #: ../gui/wxpython/animation/dialogs.py:759
-#, fuzzy
 msgid "Format"
-msgstr "Formato:"
+msgstr "Formato"
 
 #: ../gui/wxpython/psmap/dialogs.py:384
-#, fuzzy
 msgid "Orientation"
-msgstr "Rotación"
+msgstr "Orientación"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr "Anchura"
 
@@ -3343,35 +3212,31 @@ msgstr "Altura."
 
 #: ../gui/wxpython/psmap/dialogs.py:385
 msgid "Left"
-msgstr ""
+msgstr "Izquierda"
 
 #: ../gui/wxpython/psmap/dialogs.py:385
-#, fuzzy
 msgid "Right"
-msgstr "Altura."
+msgstr "Derecha"
 
 #: ../gui/wxpython/psmap/dialogs.py:440
 msgid "Literal is not allowed!"
 msgstr "No se permite literal!"
 
 #: ../gui/wxpython/psmap/dialogs.py:449
-#, fuzzy
 msgid "Page size"
-msgstr "Tamaño de imagen"
+msgstr "Tamaño de página"
 
 #: ../gui/wxpython/psmap/dialogs.py:451
 msgid "Margins"
 msgstr "Márgenes"
 
 #: ../gui/wxpython/psmap/dialogs.py:455
-#, fuzzy
 msgid "Portrait"
-msgstr "Punto."
+msgstr "Portada"
 
 #: ../gui/wxpython/psmap/dialogs.py:455
-#, fuzzy
 msgid "Landscape"
-msgstr "Analizar el paisaje."
+msgstr "Paisaje"
 
 #: ../gui/wxpython/psmap/dialogs.py:557
 msgid "Map settings"
@@ -3382,7 +3247,7 @@ msgid "Map frame settings"
 msgstr "Configuraciones del marco del mapa"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr "Marco del mapa"
 
@@ -3410,7 +3275,7 @@ msgstr "escala fija y centro del mapa"
 msgid "Map selection"
 msgstr "Selección de mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "Mapa:"
 
@@ -3434,7 +3299,7 @@ msgstr "E:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr "Escala:"
 
@@ -3448,7 +3313,7 @@ msgstr "Resolución máxima del mapa (dpi):"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "Borde"
 
@@ -3484,164 +3349,164 @@ msgstr "No se ha seleccionado ningún mapa!"
 msgid "No region selected!"
 msgstr "No se ha seleccionado ninguna región!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr "Escala o centro del mapa incorrectos!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Mapa raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr "Escoger mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr "no hay mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr "raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "Por favor, crear primero el marco del mapa."
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr "Añadir mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr "puntos"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr "líneas"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "áreas"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr "Tipo de datos"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Añadir."
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr "Administrar mapas vectoriales"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr "El mapa vectorial superior se superpone a los otros"
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "Arriba"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr "Abajo"
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Borrar."
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr "Propiedades..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr "Configuraciones de mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr "Configuraciones de mapa vectorial"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
-#, fuzzy, python-format
+#: ../gui/wxpython/psmap/dialogs.py:1584
+#, python-format
 msgid "%s properties"
-msgstr "propiedades"
+msgstr "%s propiedades"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr "Selección de datos"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr "Tipo de elemento"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr "centroides"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr "contornos"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr "Selección de capa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
-msgstr ""
-"La conexión a la base de datos no se encuentra definida en el archivo de BD."
+msgstr "La conexión a la base de datos no se encuentra definida en el archivo de BD."
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr "Seleccionar capa:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr "lista de categorías (por ejemplo 1,3,5-7)"
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Máscara."
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr "Utilizar máscara actual"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr "Colores"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr "Contorno"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr "dibujar línea externa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr "Anchura (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3649,221 +3514,220 @@ msgstr "Anchura (pts):"
 msgid "Color:"
 msgstr "Color:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr "rellenar color"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr "escoger color:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr "color de la columna de la tabla del mapa:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr "No hay efecto de color de relleno de la columna de la tabla"
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr "Color de las líneas:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr "Tamaño y estilo"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Simbología"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr "símbolo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr "archivo eps:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr "Escribir el nombre de archivo o clicar navegar para escoger archivo"
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr "Escoger archivo"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr "tamaño:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr "tamaño de la columna de la tabla del mapa:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr "escala:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr "Rotación"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr "girar símbolos:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr "sentido antihorario en grados:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr "de la columna de la tabla del mapa:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr "Establecer anchura (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr "multiplicar anchura por el valor de la categoría"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr "Escoger estilo de línea:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr "Seleccionar extremo de línea:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr "Patrón:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr "utilizar patrón:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr "Selección archivo patrón:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr "patrón de ancho de línea (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr "patrón de factor de escala:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr "Leyenda raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr "Mostrar leyenda raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr "Fuente raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr "raster actual"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr "seleccionar raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
-#, fuzzy, python-format
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
+#, python-format
 msgid "%(rast)s: type %(type)s"
-msgstr "%s: tipo %s"
+msgstr "%(rast)s: tipo %(type)s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr "Tipo de leyenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr "leyenda discreta (mapas categóricos)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr "gradiente de color de la leyenda contínuo (mapa de coma flotante)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr "Configuraciones avanzada de leyenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr "dibujar caja  \"sin datos\""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr "dibujar marcas a lo largo de la tabla de colores"
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "intervalo"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr "Leyenda vectorial"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr "Mostrar leyenda vectorial"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr "Fuente de mapas vectoriales"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr "Escoger mapas vectoriales y su orden en la leyenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Mapa vectorial"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "Editar etiqueta"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "dibujar borde alrededor de la leyenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr "Tamaño y posición"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Posición."
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
-msgstr ""
-"Dejar vacío el campo de edición, para utilizar los valores por defecto."
+msgstr "Dejar vacío el campo de edición, para utilizar los valores por defecto."
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
@@ -3871,15 +3735,15 @@ msgstr ""
 "Ancho del símbolo de color (para líneas)\n"
 "delante del texto de la leyenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr "Columnas:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr "extensión de la columna:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
@@ -3887,36 +3751,35 @@ msgstr ""
 "Distancia de separación de columna entre los bordes izquierdos\n"
 "de dos columnas en un leyenda multicolumna"
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr "Editar etiqueta de leyenda:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr "No hay ningún mapa raster seleciconado!"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr "No raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
-msgstr "Configuraciones del mapa"
+msgstr "Configuraciones Mapinfo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr "Configuraciones de color"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr "utilizar color de borde:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr "utilizar color de fondo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
@@ -3924,258 +3787,241 @@ msgstr ""
 "No se soportan las unidades de la proyección actual,\n"
 "se utilizarán metros!"
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr "Unidades no soportadas"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr "Longitud:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr "La longitud de la barra de escala se facilita en las unidades del mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr "La altura de la barra de escala es la altura real en el papel"
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
-msgstr "Preseleccionado."
+msgstr "predeterminado"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr "Tipo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr "Número de segmentos:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr "Etiquetar cada"
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr "segmentos"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr "fondo del texto transparente"
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr "La longitud de la barra de escala no está definida"
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "Texto"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Introducir texto:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr "Efectos del texto"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr "texto de fondo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr "destacar"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "borde del texto"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr "Offset"
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr "horizontal (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr "vertical (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr "Punto de referencia"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr "Rotación del texto"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr "girar texto (sentido antihorario)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr "No se ha entrado ningún texto!"
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
-#, fuzzy
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
-msgstr "&Imágenes"
+msgstr "Imágen"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
-msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
+msgstr "Seleccionar un directorio:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
-msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
+msgstr "Seleccionar un directorio con imágenes:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
-msgstr "Escala y flecha de Norte."
+msgstr "Escala y rotación"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
-msgstr "Rotación:"
+msgstr "Ángulo de rotación (grados):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
-msgstr "sentido antihorario en grados:"
+msgstr "Rotación en el sentido contrario al de las manecillas del reloj en grados"
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
-msgstr "Emisión."
+msgstr ""
+"PIL\n"
+"faltante"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
-#, fuzzy, python-format
+#: ../gui/wxpython/psmap/dialogs.py:4314
+#, python-format
 msgid "Unable to read file %s"
-msgstr "Falló la lectura del archivo %s."
+msgstr "No se puede leer el archivo %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr "No se ha seleccionado ninguna imágen."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
-msgstr "Escala y flecha de Norte."
+msgstr "Flecha de Norte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
-msgstr "Mostrar configuración."
+msgstr "Configuración de la flecha de Norte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr "Calcular convergencia"
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Punto."
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
-msgstr "símbolo"
+msgstr "Símbolo"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
-msgstr "Seleccionar mediante recuadro."
+msgstr "Símbolo seleccionado:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "Color de linea."
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "Transparente."
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "rellenar color"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
-msgstr "Tamaño y posición"
+msgstr "Tamaño y rotación"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
-msgstr "Tamaño:"
+msgstr "Tamaño (pt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
-msgstr "Tamaño del símbolo:"
+msgstr "Tamaño del símbolo en puntos:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
-msgstr "Cambiar configuración."
+msgstr "Configuración del rectángulo"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
-msgstr "Cambiar configuración."
+msgstr "Configuración de línea"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "Línea"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
-#, fuzzy
+#: ../gui/wxpython/psmap/dialogs.py:4972
 msgid "Vector labels"
-msgstr "Etiquetas de vectores."
+msgstr "Etiquetas de vectoriales"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4194,9 +4040,7 @@ msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:238
 msgid "Program ps2pdf is not available. Please install it first to create PDF."
-msgstr ""
-"El programa ps2pdf no está disponible. Por favor instálelo primero para "
-"crear PDF."
+msgstr "El programa ps2pdf no está disponible. Por favor instálelo primero para crear PDF."
 
 #: ../gui/wxpython/psmap/frame.py:282
 msgid "Generating PDF..."
@@ -4221,9 +4065,8 @@ msgid "%(prg)s exited with return code %(code)s"
 msgstr "ps2pdf salió con código de retorno %s"
 
 #: ../gui/wxpython/psmap/frame.py:329
-#, fuzzy
 msgid "PDF generated"
-msgstr "Vista previa generada"
+msgstr "PDF generado"
 
 #: ../gui/wxpython/psmap/frame.py:332
 #, python-format
@@ -4237,24 +4080,19 @@ msgstr ""
 " %s"
 
 #: ../gui/wxpython/psmap/frame.py:335
-#, fuzzy
 msgid "PostScript file generated"
-msgstr "Vista previa generada"
+msgstr "Archivo PostScript generado"
 
 #: ../gui/wxpython/psmap/frame.py:341
-#, fuzzy
 msgid "Generating preview, wait please"
-msgstr "Generando vista previa..."
+msgstr "Generando vista previa, por favor espere"
 
 #: ../gui/wxpython/psmap/frame.py:355
-#, fuzzy
 msgid "Preview not available"
-msgstr "Modo de vista 3D no disponible"
+msgstr "Vista previa no disponible"
 
 #: ../gui/wxpython/psmap/frame.py:356
-msgid ""
-"Preview is not available probably because Ghostscript is not installed or "
-"not on PATH."
+msgid "Preview is not available probably because Ghostscript is not installed or not on PATH."
 msgstr ""
 
 #: ../gui/wxpython/psmap/frame.py:358
@@ -4320,11 +4158,10 @@ msgid "Click and drag to resize object"
 msgstr "Clicar y arrastrar para cambiar el tamaño del objeto"
 
 #: ../gui/wxpython/psmap/frame.py:2171
-#, fuzzy
 msgid "labels: "
-msgstr "Añadir etiquetas."
+msgstr "etiquetas:"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
@@ -4333,12 +4170,12 @@ msgstr ""
 "No es posible abrir el archivo\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr "El archivo de instrucciones se cargará con la siguiente región: %s\n"
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
@@ -4347,23 +4184,23 @@ msgstr ""
 "La región no se puede establecer\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr "No se pudo leer la instrucción %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, fuzzy, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
@@ -4372,7 +4209,7 @@ msgstr ""
 "La escala ha cambiado, valor antiguo: %s\n"
 "nuevo valor: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
@@ -4381,7 +4218,7 @@ msgstr ""
 "No se pudo leer instrucción %s.\n"
 "Use la notación 1:25000."
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, fuzzy, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
@@ -4390,7 +4227,7 @@ msgstr ""
 "La posición del marco del mapa ha cambiado, valor antiguo: %s %s\n"
 "valor nuevo: %s %s"
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, fuzzy, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
@@ -4399,7 +4236,7 @@ msgstr ""
 "El tamaño del marco ha cambiado, valor antiguo: %s %s\n"
 "valor nuevo: %s %s"
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
@@ -4408,27 +4245,23 @@ msgstr ""
 "No se pudo leer instrucción %s.\n"
 "Formato desconocido %s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr "No se pudo leer la instrucción %s."
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
-msgid ""
-"Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
-"which is required by module ps.map."
+msgid "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
-msgid ""
-"Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
-"required by module ps.map."
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
+msgid "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4444,34 +4277,28 @@ msgid "point"
 msgstr "punto"
 
 #: ../gui/wxpython/psmap/utils.py:95
-#, fuzzy
 msgid "centimeter"
-msgstr "perímetro"
+msgstr "centímetro"
 
 #: ../gui/wxpython/psmap/utils.py:96
-#, fuzzy
 msgid "millimeter"
-msgstr "perímetro"
+msgstr "milímetro"
 
 #: ../gui/wxpython/psmap/utils.py:97
-#, fuzzy
 msgid "meters"
-msgstr "Parámetros."
+msgstr "metros"
 
 #: ../gui/wxpython/psmap/utils.py:98
-#, fuzzy
 msgid "kilometers"
-msgstr "perímetro"
+msgstr "kilómetros"
 
 #: ../gui/wxpython/psmap/utils.py:99
-#, fuzzy
 msgid "feet"
-msgstr "Reiniciar."
+msgstr "pies"
 
 #: ../gui/wxpython/psmap/utils.py:100
-#, fuzzy
 msgid "miles"
-msgstr "Archivo"
+msgstr "millas"
 
 #: ../gui/wxpython/psmap/utils.py:101 ../gui/wxpython/psmap/utils.py:105
 msgid "nautical miles"
@@ -4479,39 +4306,37 @@ msgstr ""
 
 #: ../gui/wxpython/psmap/utils.py:103
 msgid "pixel"
-msgstr ""
+msgstr "pixel"
 
 #: ../gui/wxpython/psmap/utils.py:104
-#, fuzzy
 msgid "meter"
-msgstr "perímetro"
+msgstr "metros"
 
 #: ../gui/wxpython/psmap/utils.py:106
-#, fuzzy
 msgid "degree"
-msgstr "Arbol d"
+msgstr "grados"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr "No es posible ejecutar `ps.map -b`"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr "Generar archivo de texto con las intrucciones de cartografía"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr "Cargar archivo de texto con instrucciones de cartografía"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr "Generar PostScript de salida"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "Generar PDF de salida"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "Especificar tamaño de papel, márgenes y orientación"
 
@@ -4527,7 +4352,7 @@ msgstr "Zoom a toda la extensión"
 msgid "Click and drag to place map frame"
 msgstr "Clicar y arrastrar para situar el marco del mapa"
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr "Eliminar objeto seleccionado"
 
@@ -4540,16 +4365,14 @@ msgstr "Mostrar vista previa"
 msgid "Quit Cartographic Composer"
 msgstr "Salir del Modelador Gráfico"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
-#, fuzzy
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
-msgstr "Añadir información al mapa"
+msgstr "información del mapa"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
-#, fuzzy
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
-msgstr "Añadir barra de escala"
+msgstr "Barra de escala"
 
 #: ../gui/wxpython/psmap/toolbars.py:102
 #: ../gui/wxpython/vdigit/preferences.py:539
@@ -4560,12 +4383,10 @@ msgstr "Línea."
 #: ../gui/wxpython/rlisetup/wizard.py:1105
 #: ../gui/wxpython/rlisetup/wizard.py:1267
 #: ../gui/wxpython/rlisetup/wizard.py:1356
-#, fuzzy
 msgid "Rectangle"
-msgstr "Seleccionar dangles"
+msgstr "Rectángulo"
 
 #: ../gui/wxpython/psmap/toolbars.py:106
-#, fuzzy
 msgid "Add overlays"
 msgstr "Añadir superposiciones"
 
@@ -4601,22 +4422,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Unidades no soportadas"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "No se pueden leer los códigos EPSG: %s ."
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "Iniciar nueva visualización de mapa"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Falló la lectura del archivo %s."
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Iniciar nueva visualización de mapa"
@@ -4652,30 +4478,30 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "Visualización de mapas - SIG GRASS."
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "Ingrese sesión de GRASS."
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
-msgid ""
-"GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
+msgid "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "Vista 2D."
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4686,11 +4512,11 @@ msgstr ""
 "\n"
 "Detalles: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr "Barra de herramientas del Digitalizador vectorial"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4705,231 +4531,217 @@ msgstr ""
 "\n"
 "Detalles: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Iniciando modo de vista 3D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Por favor espere, cargando datos..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "Por favor espere, cargando datos..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 #, fuzzy
 msgid "Switching back to 2D view mode..."
 msgstr "Volver al modo de vista 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Barra de herramientas de mapa."
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Digitalizar"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Falló el digitalizador vectorial"
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
+
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Nada a renderizar (mapa vacío). Operación cancelada."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "No hay un mapa vectorial abierto para realizar edición."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
-msgstr ""
-"No se ha seleccionado ningún mapa raster o vectorial para ser consultado."
+msgstr "No se ha seleccionado ningún mapa raster o vectorial para ser consultado."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
-msgid ""
-"Failed to query vector map(s) <{maps}>. Check database settings and topology."
+msgid "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Añadir capa de texto."
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Acercamiento a la región predeterminada (zoom)."
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Acercamiento a una región guardada (zoom)."
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Establece la región de cálculo desde la pantalla."
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Acercamiento a la región de cálculo (definida mediante g.region)."
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Establece la región de cálculo desde la pantalla."
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Guardar la geometría de la visualización a la región nombrada."
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Establece la región de cálculo desde la pantalla."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Barra de herramientas del Digitalizador vectorial"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Renderizar"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Activar/desactivar renderizado automático"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Mostrar la región de cómputo."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Mostrar la extensión de cálculo:"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
-msgid ""
-"Show/hide computational region extent (set with g.region). Display region "
-"drawn as a blue box inside the computational region, computational region "
-"inside a display region as a red box)."
-msgstr ""
-"Mostrar / ocultar la extensión de la región de cálculo (definida mediante g."
-"region). La región de visualización se muestra como un cuadro de color azul "
-"dentro de la región de cálculo, el área de cálculo se muestra como un cuadro "
-"rojo."
+#: ../gui/wxpython/mapdisp/statusbar.py:451
+msgid "Show/hide computational region extent (set with g.region). Display region drawn as a blue box inside the computational region, computational region inside a display region as a red box)."
+msgstr "Mostrar / ocultar la extensión de la región de cálculo (definida mediante g.region). La región de visualización se muestra como un cuadro de color azul dentro de la región de cálculo, el área de cálculo se muestra como un cuadro rojo."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Modo de visualización."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
-msgid ""
-"Align region extent based on display size from center point. Default value "
-"for new map displays can be set up in 'User GUI settings' dialog."
-msgstr ""
-"Restringir la resolución de pantalla a la configuración de la región de "
-"cálculo. El valor predeterminado para mostrar el nuevo mapa, se puede "
-"configurar en el diálogo 'Configuración de la interfaz gráfica de usuario'."
+msgid "Align region extent based on display size from center point. Default value for new map displays can be set up in 'User GUI settings' dialog."
+msgstr "Restringir la resolución de pantalla a la configuración de la región de cálculo. El valor predeterminado para mostrar el nuevo mapa, se puede configurar en el diálogo 'Configuración de la interfaz gráfica de usuario'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "Mostrar región."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
-msgstr ""
-"Restringir la resolución de pantalla a la configuración de cálculo "
-"seleccionada."
+msgstr "Restringir la resolución de pantalla a la configuración de cálculo seleccionada."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
-msgid ""
-"Constrain display resolution to computational region settings. Default value "
-"for new map displays can be set up in 'User GUI settings' dialog."
-msgstr ""
-"Restringir la resolución de pantalla a la configuración de la región de "
-"cálculo. El valor predeterminado para mostrar el nuevo mapa, se puede "
-"configurar en el diálogo 'Configuración de la interfaz gráfica de usuario'."
+#: ../gui/wxpython/mapdisp/statusbar.py:546
+msgid "Constrain display resolution to computational region settings. Default value for new map displays can be set up in 'User GUI settings' dialog."
+msgstr "Restringir la resolución de pantalla a la configuración de la región de cálculo. El valor predeterminado para mostrar el nuevo mapa, se puede configurar en el diálogo 'Configuración de la interfaz gráfica de usuario'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Escala de mapa."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
-msgid ""
-"As everyone's monitors and resolutions are set differently these values are "
-"not true map scales, but should get you into the right neighborhood."
+#: ../gui/wxpython/mapdisp/statusbar.py:597
+msgid "As everyone's monitors and resolutions are set differently these values are not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Ir a"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "Proyección no definida (comprobar la configuración)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "Error en la proyección (comprobar configuraciones)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Proyección"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "Utilizar proyección definida"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 #, fuzzy
-msgid ""
-"Reproject coordinates displayed in the statusbar. Projection can be defined "
-"in GUI preferences dialog (tab 'Projection')"
-msgstr ""
-"Reproyectar las coordenadas mostradas en la barra de estado. La proyección "
-"se puede definir en el diálogo de preferencias de la GUI (tab 'Display')"
+msgid "Reproject coordinates displayed in the statusbar. Projection can be defined in GUI preferences dialog (tab 'Projection')"
+msgstr "Reproyectar las coordenadas mostradas en la barra de estado. La proyección se puede definir en el diálogo de preferencias de la GUI (tab 'Display')"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "Máscara."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Mostrar geometría."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Coordenadas."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Extensión."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Acercamiento a la región de cálculo (definida mediante g.region)."
@@ -4946,113 +4758,119 @@ msgstr "Consultar mapa(s) seleccionado(s) Raster / vectorial."
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Seleccione los objetos espaciales vectoriales."
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Georrectifica mapas raster y vectoriales."
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Mostrar / ocultar escala y flecha de Norte."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Mostrar / ocultar leyenda."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Mostrar / ocultar escala y flecha de Norte."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analizar mapa."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "Midiendo, realizando perfiles, realizando histogramas,..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Medir distancia."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
-#, fuzzy
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 msgid "Measure area"
-msgstr "Medir distancia."
+msgstr "Medir área"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Mapa de perfil de superficie."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Crear histograma de imagen o archivo raster."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "Crear histograma de imagen o archivo raster."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Análisis de redes."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr "Rotar escena 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Arrastrar con el ratón para desplazar la visualización (mouse to pan)."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
-msgid ""
-"Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
+#: ../gui/wxpython/mapdisp/toolbars.py:65
+msgid "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "Arrastrar o pulsar con el ratón para hacer zoom."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "Arrastrar o pulsar con el ratón para alejar (zom out)."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "Vista 3D."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "Modo de vista 3D no disponible"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Razón: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "Digitalizador vectorial no disponible"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
-msgid ""
-"Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
-"will be fixed soon). Please keep an eye out for updated versions of GRASS. "
-"In the meantime you can use \"v.digit\" from the Develop Vector menu."
-msgstr ""
-"Tenga en cuenta que el digitalizador vectorial wxGUI's se encuentra "
-"actualmente deshabilitado (se espera que se solucione pronto). Por favor "
-"esté alerta a versiones actualizadas de GRASS. De mientras puede utilizar "
-"\"v.digit\" del menú Develop Vector"
+#: ../gui/wxpython/mapdisp/toolbars.py:113
+msgid "Note that the wxGUI's vector digitizer is currently disabled (hopefully this will be fixed soon). Please keep an eye out for updated versions of GRASS. In the meantime you can use \"v.digit\" from the Develop Vector menu."
+msgstr "Tenga en cuenta que el digitalizador vectorial wxGUI's se encuentra actualmente deshabilitado (se espera que se solucione pronto). Por favor esté alerta a versiones actualizadas de GRASS. De mientras puede utilizar \"v.digit\" del menú Develop Vector"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Salir del digitalizador"
 
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
@@ -5072,8 +4890,7 @@ msgstr "¿Crear nueva locación?"
 #: ../gui/wxpython/rlisetup/wizard.py:130
 #, fuzzy
 msgid "r.li.setup wizard canceled. Configuration file not created."
-msgstr ""
-"Se ha cancelado el asistente de locaciones. La locación no ha sido creada."
+msgstr "Se ha cancelado el asistente de locaciones. La locación no ha sido creada."
 
 #: ../gui/wxpython/rlisetup/wizard.py:429
 #, fuzzy
@@ -5169,9 +4986,8 @@ msgid "Insert sampling areas"
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/rlisetup/wizard.py:810
-#, fuzzy
 msgid "Regions"
-msgstr "Región."
+msgstr "Regiones"
 
 #: ../gui/wxpython/rlisetup/wizard.py:811
 #, fuzzy
@@ -5191,9 +5007,8 @@ msgid ""
 msgstr "Georrectifica mapas raster y vectoriales."
 
 #: ../gui/wxpython/rlisetup/wizard.py:822
-#, fuzzy
 msgid "Choose a method"
-msgstr "Escoger archivo"
+msgstr "Escoger un método"
 
 #: ../gui/wxpython/rlisetup/wizard.py:823
 msgid "Use keyboard to enter sampling area"
@@ -5208,9 +5023,8 @@ msgid "This option is not supported yet"
 msgstr "Esta opción todavía no está soportada"
 
 #: ../gui/wxpython/rlisetup/wizard.py:840
-#, fuzzy
 msgid "Number of regions to draw:"
-msgstr "Número de segmentos:"
+msgstr "Número de regiones a dibujar:"
 
 #: ../gui/wxpython/rlisetup/wizard.py:854
 #, fuzzy
@@ -5232,14 +5046,12 @@ msgid "All the features will be used"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/wizard.py:878
-#, fuzzy
 msgid "Analysing all vector features..."
-msgstr "Seleccione los objetos espaciales vectoriales."
+msgstr "Analizando todos los objetos vectoriales"
 
 #: ../gui/wxpython/rlisetup/wizard.py:975
-#, fuzzy
 msgid "Analysing vector"
-msgstr "Barra de herramientas de visualización de GCP"
+msgstr "Analizando vector"
 
 #: ../gui/wxpython/rlisetup/wizard.py:991
 msgid "All feature are been analyzed."
@@ -5250,56 +5062,48 @@ msgid "An error occurred"
 msgstr "Sucedió un error"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1026
-#, fuzzy
 msgid "Draw sampling regions"
-msgstr "Importar datos raster"
+msgstr "Dibuje regiones de muestreo"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1043
-#, fuzzy
 msgid "Draw sample region "
-msgstr "Importar datos raster"
+msgstr "Dibuje la región de muestreo"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1051
 #: ../gui/wxpython/rlisetup/wizard.py:1396
-#, fuzzy
 msgid "Draw moving windows region"
-msgstr "Moviendo la ventana."
+msgstr "Dibujar región para ventanas móviles"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1053
 #: ../gui/wxpython/rlisetup/wizard.py:1402
 #: ../gui/wxpython/rlisetup/sampling_frame.py:391
-#, fuzzy
 msgid "Draw sampling region"
-msgstr "Importar datos raster"
+msgstr "Dibujar unidades de muestreo"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1090
-#, fuzzy
 msgid "Select sample units from keyboard"
-msgstr "La capa del mapa seleccionado no es vectorial."
+msgstr "Seleccioe unidades de muestreo desde el teclado"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1104
 #: ../gui/wxpython/rlisetup/wizard.py:1266
 #: ../gui/wxpython/rlisetup/wizard.py:1355
-#, fuzzy
 msgid "Select type of shape"
-msgstr "Seleccionar un mapa vectorial."
+msgstr "Seleccionar tipo de forma"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1105
 #: ../gui/wxpython/rlisetup/wizard.py:1267
 #: ../gui/wxpython/rlisetup/wizard.py:1356
 msgid "Circle"
-msgstr ""
+msgstr "Círculo"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1127
 #: ../gui/wxpython/rlisetup/wizard.py:1278
 #: ../gui/wxpython/rlisetup/wizard.py:1293
-#, fuzzy
 msgid "Width size (in cells)?"
-msgstr "¿Qué tamaño de radio (en metros)?"
+msgstr "¿Qué ancho (en celdas)?"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1128
 #: ../gui/wxpython/rlisetup/wizard.py:1294
-#, fuzzy
 msgid "What radius size (in meters)?"
 msgstr "¿Qué tamaño de radio (en metros)?"
 
@@ -5347,13 +5151,12 @@ msgid "What number of Sampling Units to use?"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/wizard.py:1221
-#, fuzzy
 msgid "Insert number of row strates"
-msgstr "Número de segmentos:"
+msgstr "Número de estratos en filas"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1222
 msgid "Insert number of column strates"
-msgstr ""
+msgstr "Inserte el número de estratos de columnas"
 
 #: ../gui/wxpython/rlisetup/wizard.py:1228
 msgid "Insert distance between units"
@@ -5402,9 +5205,7 @@ msgstr "Seleccionar color."
 #: ../gui/wxpython/rlisetup/wizard.py:1578
 #: ../gui/wxpython/rlisetup/functions.py:138
 #, python-format
-msgid ""
-"The raster map <%s> already exists. Please remove or rename the maps with "
-"the prefix '%s' or select the option to overwrite existing maps"
+msgid "The raster map <%s> already exists. Please remove or rename the maps with the prefix '%s' or select the option to overwrite existing maps"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/wizard.py:1618
@@ -5618,9 +5419,7 @@ msgstr ""
 
 #: ../gui/wxpython/rlisetup/frame.py:241
 #, python-format
-msgid ""
-"Set the new name for %s \"                                            "
-"\"configuration file"
+msgid "Set the new name for %s \"                                            \"configuration file"
 msgstr ""
 
 #: ../gui/wxpython/rlisetup/frame.py:243
@@ -5837,9 +5636,7 @@ msgstr "El número máximo de animaciones es %d."
 
 #: ../gui/wxpython/animation/dialogs.py:727
 #: ../gui/wxpython/animation/controller.py:245
-msgid ""
-"More animations are using one window. Please select different window for "
-"each animation."
+msgid "More animations are using one window. Please select different window for each animation."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:742
@@ -5849,13 +5646,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "Cuantificación."
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "Descripción."
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "Exportar"
@@ -5865,12 +5662,12 @@ msgstr "Exportar"
 msgid "Add time stamp"
 msgstr "Marca de tiempo."
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Añadir mapa"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr "Añadir texto"
 
@@ -5893,7 +5690,7 @@ msgid "Sample text"
 msgstr "Muestrear transectos."
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5910,7 +5707,7 @@ msgid "Choose image file"
 msgstr "Escoger archivo"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Texto"
@@ -5942,7 +5739,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Exportar"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -5951,14 +5748,14 @@ msgstr ""
 msgid "animation_"
 msgstr "Cuantificación."
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "Formato:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Directorio:"
 
@@ -6006,9 +5803,7 @@ msgid "Additional options:"
 msgstr "Establecer opciones."
 
 #: ../gui/wxpython/animation/dialogs.py:998
-msgid ""
-"Consider adding '-sameq' or '-qscale 1' if not satisfied with video quality. "
-"Options depend on ffmpeg version."
+msgid "Consider adding '-sameq' or '-qscale 1' if not satisfied with video quality. Options depend on ffmpeg version."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1020
@@ -6101,7 +5896,7 @@ msgstr "Por favor, crear primero el marco del mapa."
 msgid "Animation Tool settings"
 msgstr "Cuantificación."
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6134,9 +5929,7 @@ msgid "Absolute time format:"
 msgstr "Formato de coordenadas"
 
 #: ../gui/wxpython/animation/dialogs.py:1577
-msgid ""
-"Click and then press key up or down to preview different date and time "
-"formats. Type custom format string."
+msgid "Click and then press key up or down to preview different date and time formats. Type custom format string."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1586
@@ -6148,9 +5941,7 @@ msgid "Display instances with no data"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1596
-msgid ""
-"When animating instant-based data which have irregular timestamps you can "
-"display 'no data frame' (checked option) or keep last frame."
+msgid "When animating instant-based data which have irregular timestamps you can display 'no data frame' (checked option) or keep last frame."
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:1618
@@ -6158,22 +5949,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "No válido:"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Remover la capa de mapa."
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Remover la capa de mapa."
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Mapa vectorial <%s> no encontrado"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6213,7 +6004,7 @@ msgstr "Barra de herramientas de mapa."
 msgid "Animation Toolbar"
 msgstr "Barra de herramientas de mapa."
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Barra de herramientas Misc"
@@ -6240,9 +6031,7 @@ msgid "to %(to)s"
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:105
-msgid ""
-"It is not allowed to display data with different temporal types (absolute "
-"and relative)."
+msgid "It is not allowed to display data with different temporal types (absolute and relative)."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:119
@@ -6251,15 +6040,12 @@ msgid "It is not allowed to display data with different units (%s)."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:130
-msgid ""
-"You are going to display data with different temporal types of maps "
-"(interval and point). It is recommended to use data of one temporal type to "
-"avoid confusion."
+msgid "You are going to display data with different temporal types of maps (interval and point). It is recommended to use data of one temporal type to avoid confusion."
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "No se encontro la configuración llamada '%s' "
@@ -6303,7 +6089,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Rectificando imágenes, por favor espere..."
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6327,40 +6113,34 @@ msgstr "Añadir capas de mapa seleccionadas al árbol de capas"
 msgid "No map series nor space-time dataset is added."
 msgstr "Selecciona datos de una tabla."
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "No se ha encontrado el mapa <%s> ."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
-msgid ""
-"The temporal type (absolute/relative) of space-time datasets has to be the "
-"same."
+#: ../gui/wxpython/animation/utils.py:184
+msgid "The temporal type (absolute/relative) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
-msgid ""
-"The map type (point/interval) of space-time datasets has to be the same."
+#: ../gui/wxpython/animation/utils.py:188
+msgid "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
-msgid ""
-"The temporal extents of maps in space-time datasets have to be the same."
+#: ../gui/wxpython/animation/utils.py:192
+msgid "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
-msgid ""
-"The number of maps to animate has to be the same as the number of maps in "
-"temporal dataset."
+#: ../gui/wxpython/animation/utils.py:204
+msgid "The number of maps to animate has to be the same as the number of maps in temporal dataset."
 msgstr ""
 
 #: ../gui/wxpython/animation/toolbars.py:28
@@ -6376,12 +6156,12 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 #, fuzzy
 msgid "Stop"
 msgstr "Superior."
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr "Pausa"
 
@@ -6408,9 +6188,7 @@ msgid "Add space-time dataset or series of map layers for animation"
 msgstr ""
 
 #: ../gui/wxpython/timeline/frame.py:38
-msgid ""
-"The Timeline Tool needs the \"matplotlib\" (python-matplotlib) package to be "
-"installed."
+msgid "The Timeline Tool needs the \"matplotlib\" (python-matplotlib) package to be installed."
 msgstr ""
 
 #: ../gui/wxpython/timeline/frame.py:70
@@ -6418,14 +6196,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Histograma SIG GRASS de imagen o mapa raster"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Dibujar."
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Ayuda."
 
@@ -6442,21 +6220,19 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Seleccionar directorio de origen de mapas:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Mapa vectorial <%s> no encontrado"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
-msgid ""
-"Datasets have different temporal type (absolute x relative), which is not "
-"allowed."
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
+msgid "Datasets have different temporal type (absolute x relative), which is not allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6485,615 +6261,604 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Marca de tiempo."
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Importar datos raster"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Importar datos vectoriales"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Importar datos raster"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Directorio de mapas:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Marco del mapa"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr "Tiempo de inicio: %s"
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Marca de tiempo."
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Reconstruir topología"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Visualización."
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Presentación"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "Analizar."
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "Cuantificación."
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr "Control de Vista"
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Perspectiva:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
-msgid ""
-"Adjusts the viewing height above the surface (angle of view automatically "
-"adjusts to maintain the same center of view)"
+#: ../gui/wxpython/nviz/tools.py:272
+msgid "Adjusts the viewing height above the surface (angle of view automatically adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Exageración Z:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 #, fuzzy
 msgid "Look:"
 msgstr "Mirar hacia:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "Esfera."
 
-#: ../gui/wxpython/nviz/tools.py:309
-msgid ""
-"Allows you to select a point on the surface that becomes the new center of "
-"view. Click on the button and then on the surface."
+#: ../gui/wxpython/nviz/tools.py:310
+msgid "Allows you to select a point on the surface that becomes the new center of view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "Centro:"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "Superior."
 
-#: ../gui/wxpython/nviz/tools.py:325
-msgid ""
-"Sets the viewer directly over the scene's center position. This top view "
-"orients approximately north south."
+#: ../gui/wxpython/nviz/tools.py:326
+msgid "Sets the viewer directly over the scene's center position. This top view orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "Reiniciar."
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Reiniciar a la visualización predeterminada."
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr "Presentación de la Imagen"
 
-#: ../gui/wxpython/nviz/tools.py:392
-msgid ""
-"Press 'Record' button and start changing the view. It is recommended to use "
-"fly-through mode (Map Display toolbar) to achieve smooth motion."
+#: ../gui/wxpython/nviz/tools.py:393
+msgid "Press 'Record' button and start changing the view. It is recommended to use fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Recodificar"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "Número de segmentos:"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 #, fuzzy
 msgid "Save image sequence"
 msgstr "Establecer tamaño de imagen"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
 
-#: ../gui/wxpython/nviz/tools.py:490
-msgid ""
-"Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
+#: ../gui/wxpython/nviz/tools.py:491
+msgid "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Superficie."
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "Superficies de coste."
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vector."
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "raster 3D:"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Iluminación"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr "Margen"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Modo:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "Grueso."
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "Fino."
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "Ambos."
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Sombreado:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "Plano:"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "Gourard."
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "Seleccionar todo"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Utilizar ajustes de dibujo para todas las superficies cargadas."
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "Grueso:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "Resolución."
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "estilo"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "Alambre."
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "Superficie."
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "color del alambre"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "Fino:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Atributos de superficie."
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Transparencia."
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Brillantez."
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "Mapa."
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "Desestablecer."
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "Constante."
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Reiniciar."
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "Reiniciar a la visualización predeterminada."
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "color"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "Por color."
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr "sombreado"
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 #, fuzzy
 msgid "Horizontal X:"
 msgstr "horizontal (pts):"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 #, fuzzy
 msgid "Horizontal Y:"
 msgstr "horizontal (pts):"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
-msgid ""
-"Sets the Z coordinate of the current cutting plane (only meaningful when "
-"tilt is not 0)"
+#: ../gui/wxpython/nviz/tools.py:1046
+msgid "Sets the Z coordinate of the current cutting plane (only meaningful when tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Nuevo."
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "Resolución."
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "Valores."
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "Transparencia."
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Mostrar líneas vectoriales."
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Lineas vectoriales."
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Línea:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 #, fuzzy
 msgid "width:"
 msgstr "ancho"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 #, fuzzy
 msgid "color:"
 msgstr "color"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 #, fuzzy
 msgid "use color for thematic mapping"
 msgstr "Clasifica los datos de atributo, por ejemplo para cartografía temática"
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 #, fuzzy
 msgid "use width for thematic mapping"
 msgstr "Clasifica los datos de atributo, por ejemplo para cartografía temática"
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Establecer opciones."
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Mostrar."
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "En superficie."
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr "en 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Altura sobre la superficie."
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Mostrar puntos vectoriales."
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Puntos vectoriales."
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Ícono:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 #, fuzzy
 msgid "use size for thematic mapping"
 msgstr "Clasifica los datos de atributo, por ejemplo para cartografía temática"
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "Mapa raster 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "Isosuperficies."
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Resolución."
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Lista de isosuperficies."
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr "Mostrar modelo de luz"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr "Posición de la fuente de luz"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "Color e intensidad"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "Brillo:"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr "Ambiente:"
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr "Bordes con margen"
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "N && W"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "N && E"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "S && W"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "S && E"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr "Elevación del margen desde abajo"
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 #, fuzzy
 msgid "Arrow length (in map units):"
 msgstr "La longitud de la barra de escala se facilita en las unidades del mapa"
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "Color de borde:"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 #, fuzzy
 msgid "Scale bar length (in map units):"
 msgstr "La longitud de la barra de escala se facilita en las unidades del mapa"
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "utilizar color de borde:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Añadir barra de escala"
@@ -7294,9 +7059,7 @@ msgid "Adjusts the distance and direction of the image viewpoint"
 msgstr "Ajusta la distancia y dirección del punto de vista de la imagen"
 
 #: ../gui/wxpython/nviz/tools.py:5177
-msgid ""
-"Adjusts the light direction. Click and drag the puck to change the light "
-"direction."
+msgid "Adjusts the light direction. Click and drag the puck to change the light direction."
 msgstr ""
 
 #: ../gui/wxpython/nviz/preferences.py:32
@@ -7379,16 +7142,12 @@ msgid "3D view settings saved to file <%s>."
 msgstr "Las configuraciones de la vista 3D se han guardado en el archivo <%s>."
 
 #: ../gui/wxpython/nviz/mapwindow.py:224
-msgid ""
-"Opening 3D view was not successful. Please try to change the value of depth "
-"buffer in GUI Settings dialog > tab Map Display > Advanced and restart GUI."
+msgid "Opening 3D view was not successful. Please try to change the value of depth buffer in GUI Settings dialog > tab Map Display > Advanced and restart GUI."
 msgstr ""
 
 #: ../gui/wxpython/nviz/mapwindow.py:559
 #, python-format
-msgid ""
-"Image is too large, your OpenGL implementation supports maximum texture size "
-"%d px."
+msgid "Image is too large, your OpenGL implementation supports maximum texture size %d px."
 msgstr ""
 
 #: ../gui/wxpython/nviz/mapwindow.py:1057
@@ -7482,8 +7241,7 @@ msgstr "No ha sido posible descargar el mapa vectorial<%(name)s> (%(type)s)."
 #: ../gui/wxpython/nviz/mapwindow.py:1806
 #, python-format
 msgid "Vector map <%(name)s> (%(type)s) unloaded successfully"
-msgstr ""
-"El mapa vectorial <%(name)s> (%(type)s) ha sido exitosamente descargado."
+msgstr "El mapa vectorial <%(name)s> (%(type)s) ha sido exitosamente descargado."
 
 #: ../gui/wxpython/nviz/mapwindow.py:2163
 #, python-format
@@ -7493,8 +7251,7 @@ msgstr "No se ha encontrado la capa de puntos vectoriales (id = %d)"
 #: ../gui/wxpython/nviz/mapwindow.py:2165
 #, python-format
 msgid "Unable to set data layer properties (id = %d)"
-msgstr ""
-"No es posible establecer las propiedades de los datos de la capa (id=%d)"
+msgstr "No es posible establecer las propiedades de los datos de la capa (id=%d)"
 
 #: ../gui/wxpython/nviz/mapwindow.py:2168
 #, python-format
@@ -7509,15 +7266,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr "Mapa raster <%s> no encontrado"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr "Mapa vectorial <%s> no encontrado"
@@ -7528,12 +7285,14 @@ msgid "3d raster map <%s> not found"
 msgstr "mapa raster 3d <%s> no encontrado"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "Enlazar datos raster externos"
 
@@ -7549,12 +7308,14 @@ msgid "Set raster output format"
 msgstr "Seleccionar fuente de salida"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "Enlazar datos vectoriales externos"
 
@@ -7577,7 +7338,7 @@ msgstr "Importar datos de servidor WMS"
 msgid "Add command layer"
 msgstr "Añadir capa de comandos."
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Salir."
@@ -7641,9 +7402,7 @@ msgstr "Añadir capa de mapa raster 3D"
 
 #: ../gui/wxpython/lmgr/layertree.py:105
 msgid "Note that 3D raster data are rendered only in 3D view mode"
-msgstr ""
-"Tenga en cuenta que los datos raster 3D solo son renderizados en el modo de "
-"visualización 3D"
+msgstr "Tenga en cuenta que los datos raster 3D solo son renderizados en el modo de visualización 3D"
 
 #: ../gui/wxpython/lmgr/layertree.py:107
 #, fuzzy
@@ -7674,8 +7433,7 @@ msgstr "Acercamiento al mapa o mapas seleccionados."
 
 #: ../gui/wxpython/lmgr/layertree.py:463
 msgid "Set computational region from selected map(s)"
-msgstr ""
-"Establece la región de cálculo a partir del (los) mapa(s) seleccionado(s)."
+msgstr "Establece la región de cálculo a partir del (los) mapa(s) seleccionado(s)."
 
 #: ../gui/wxpython/lmgr/layertree.py:477
 #, fuzzy
@@ -7687,206 +7445,203 @@ msgstr "Exportar mapa vectorial."
 msgid "Export PostGIS"
 msgstr "Exportar modelo a script Python"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Crear la tabla de atributos."
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Crear RGB."
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "mapas %d eliminados del actual directorio de mapas"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Establece la tabla de color."
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Muestra los datos del atributo."
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Comienza la edición."
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Termina la edición."
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "Reconstruir topología"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
-msgstr ""
-"Acercamiento al (los) mapa(s) seleccionado(s) (se ignoraran los valores "
-"nulos)."
+msgstr "Acercamiento al (los) mapa(s) seleccionado(s) (se ignoraran los valores nulos)."
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "o introducir los valores interactivamente"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histograma."
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Estadísticas univariantes de raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Informes y estadísticas."
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Perfil."
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "Borrar la capa seleccionada."
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "No se puede crear el perfil del mapa raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "Entrada no válida"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Tipo de capa de mapa no soportada '%s'."
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
-msgstr ""
-"Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
+msgstr "Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Define la opacidad <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
-msgid ""
-"%s <%s> already exists in the current mapset. Do you want to overwrite it?"
-msgstr ""
-"El archivo vectorial <%s> ya existe en el directorio de mapas de usuario "
-"actual (Mapset) ¿Quiere sobrescribirlo?"
+msgid "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
+msgstr "El archivo vectorial <%s> ya existe en el directorio de mapas de usuario actual (Mapset) ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "¿Sobreescribir?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "No se puede abrir mapa vectorial <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Mapa vectorial <%s> no encontrado"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "No es posible mostrar el histograma del mapa raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Define la opacidad <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Grupo de capas:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Pulse aquí para editar la configuración de la capa."
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(Haga doble clic para establecer las propiedades)."
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Por favor espere, actualizando datos..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "opacidad:"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "Administrador de capas SIG GRASS."
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "Barra de herramientas del entorno de trabajo"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "Barra de herramientas de datos"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "Barra de herramientas "
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "Barra de herramientas del Digitalizador vectorial"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Barra de herramientas de la Vista 3D"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "Visualización del Mapa"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Capas de mapas"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Consola de comandos"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "Buscar módulo"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Selección de datos"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Consola de comandos Python"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7894,12 +7649,12 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "¿Crear nueva locación?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7908,269 +7663,238 @@ msgstr ""
 "La actual localización es <%(loc)s>.\n"
 "El actual directorio de mapas es <%(mapset)s>. "
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
-msgstr ""
-"¿Quiere establecer la extensión y resolución de la región predeterminada "
-"ahora?"
+msgstr "¿Quiere establecer la extensión y resolución de la región predeterminada ahora?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "¡Se ha creado la locación <%s>!"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Seleccionar modelo a ejecutar"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "¿Desea guardar los cambios en el entorno de trabajo?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
-msgstr ""
-"¿Desea guardar los ajustes actuales en un archivo de entorno de trabajo?"
+msgstr "¿Desea guardar los ajustes actuales en un archivo de entorno de trabajo?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "Cerrar ventana de visualización del mapa % d ."
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
-msgid ""
-"Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
-"layer instead."
-msgstr ""
-"El comando '%s' no está implementado todavía en WxGUI. Intentar añadirlo "
-"como capa de comando."
+msgid "Command '%s' not yet implemented in the WxGUI. Try adding it as a command layer instead."
+msgstr "El comando '%s' no está implementado todavía en WxGUI. Intentar añadirlo como capa de comando."
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "La capa del mapa seleccionado no es vectorial."
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
-msgstr ""
-"Solo se permiten editar mapas vectoriales del actual directorio de mapas."
+msgstr "Solo se permiten editar mapas vectoriales del actual directorio de mapas."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "Seleccionar archivo script a ejecutar"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Script Python  (*.py)|*.py|Script Bash (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
-msgid ""
-"Due to the limitations of your operating system, the script path cannot "
-"contain certain non-ascii characters. Please rename the script or move it to "
-"a different location."
+#: ../gui/wxpython/lmgr/frame.py:859
+msgid "Due to the limitations of your operating system, the script path cannot contain certain non-ascii characters. Please rename the script or move it to a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "El archivo script '%s' no existe. Operación cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
-msgid ""
-"Script <%s> is not executable. Do you want to set the permissions that "
-"allows you to run this script (note that you must be the owner of the file)?"
+msgid "Script <%s> is not executable. Do you want to set the permissions that allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "Establecer región."
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "No es posible ejecutar la consulta SQL '%s'. Operación cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
-msgid ""
-"Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
-"directory to GRASS_ADDON_PATH?"
+msgid "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr "¿Actualizar ruta de Addons?"
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Lanzando script '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
-msgstr ""
-"Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
+msgstr "Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Crear un nuevo directorio de mapas de usuario (mapset)."
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "El directorio de mapas actual es <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Cambiar entorno de trabajo."
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
-msgid ""
-"If ~ (tilde) is present as the first directory on the path, it is replaced "
-"by user's home directory."
+#: ../gui/wxpython/lmgr/frame.py:1009
+msgid "If ~ (tilde) is present as the first directory on the path, it is replaced by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "Ingrese sesión de GRASS."
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "Valor desconocido."
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "Revisión de Librería SIG:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "Constructor SQL."
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
-msgid ""
-"Current workspace is not empty. Do you want to store current settings to "
-"workspace file?"
-msgstr ""
-"El área de trabajo actual no está vacía. ¿Desea guardar los ajustes actuales "
-"en un archivo de espacio de trabajo?"
+#: ../gui/wxpython/lmgr/frame.py:1169
+msgid "Current workspace is not empty. Do you want to store current settings to workspace file?"
+msgstr "El área de trabajo actual no está vacía. ¿Desea guardar los ajustes actuales en un archivo de espacio de trabajo?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "¿Crear un nuevo entorno de trabajo?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Seleccione el espacio de trabajo."
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "Archivo de Entorno de Trabajo GRASS  (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
-msgstr ""
-"Por favor espere, cargando el archivo que contiene los parámetros de "
-"configuración del espacio de trabajo (.GRC)."
+msgstr "Por favor espere, cargando el archivo que contiene los parámetros de configuración del espacio de trabajo (.GRC)."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
-msgstr ""
-"Seleccione el archivo que contiene los parámetros de configuración del "
-"espacio de trabajo (.GRC) a cargar."
+msgstr "Seleccione el archivo que contiene los parámetros de configuración del espacio de trabajo (.GRC) a cargar."
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Antiguo Archivo de Entorno de Trabajo de GRASS (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
-msgstr ""
-"Seleccione el archivo donde guardar la configuración del espacio de trabajo "
-"actual."
+msgstr "Seleccione el archivo donde guardar la configuración del espacio de trabajo actual."
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
-msgstr ""
-"El archivo de entorno de trabajo <%s> ya existe. ¿Quiere sobrescribirlo?"
+msgstr "El archivo de entorno de trabajo <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Guardar entorno de trabajo."
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
-msgstr ""
-"La escritura de las configuraciones actuales al archivo del entorno de "
-"trabajo ha fallado."
+msgstr "La escritura de las configuraciones actuales al archivo del entorno de trabajo ha fallado."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
-msgstr ""
-"Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
+msgstr "Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "Visualización de Mapa GRASS SIG : %(id)d  - Localización: %(loc)s"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, fuzzy, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8178,32 +7902,30 @@ msgid ""
 "Reason: %s"
 msgstr "No se puede cargar el tema de iconos. Razón: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "No es posible insertar un nuevo registro."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "No es posible insertar un nuevo registro."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr "Añadir capas de mapa seleccionadas al árbol de capas"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Tipo de capa de mapa no soportada '%s'."
 
-#: ../gui/wxpython/lmgr/frame.py:2062
-msgid ""
-"Note that cell values can only be displayed for regions of less than 10,000 "
-"cells."
+#: ../gui/wxpython/lmgr/frame.py:2076
+msgid "Note that cell values can only be displayed for regions of less than 10,000 cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8214,70 +7936,61 @@ msgstr ""
 "%s\n"
 " del árbol de capas?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Remover la capa de mapa."
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Cerrar la Interfaz gráfica de usuario GRASS."
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Ingrese sesión de GRASS."
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
-msgid ""
-"Display resolution is currently not constrained to computational settings. "
-"It's suggested to constrain map to region geometry. Do you want to constrain "
-"the resolution?"
+#: ../gui/wxpython/lmgr/frame.py:2298
+msgid "Display resolution is currently not constrained to computational settings. It's suggested to constrain map to region geometry. Do you want to constrain the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr "Bienvenido a la Consola de comandos Interactiva de Python wxGUI %s"
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr "Escribir %s para más información relacionada con el scripting de GRASS"
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr "Tipo %s para añadir vectorial o raster al árbol de capas."
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr "Eliminar todo el texto de la consola de comandos UNIX"
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Mapa raster o vectorial <%s> no encontrado "
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "Mapa raster <%s> añadido"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "Mapa vectorial <%s> añadido"
@@ -8337,8 +8050,7 @@ msgstr "Añadir superposiciones"
 #: ../gui/wxpython/lmgr/toolbars.py:95
 #, fuzzy
 msgid "Remove selected map layer(s) from layer tree"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
 
 #: ../gui/wxpython/lmgr/toolbars.py:136
 msgid "Import/link raster or vector data"
@@ -8348,7 +8060,7 @@ msgstr "Importar/enlazar datos raster o vectoriales"
 msgid "Raster Map Calculator"
 msgstr "Calculadora de mapas raster"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "Modelador Gráfico"
 
@@ -8385,9 +8097,7 @@ msgstr "Editar el registro seleccionado."
 #: ../gui/wxpython/lmgr/toolbars.py:208
 #, fuzzy
 msgid "Show attribute data for selected vector map"
-msgstr ""
-"Volver a cargar los datos del atributo (únicamente para las capas "
-"seleccionadas)."
+msgstr "Volver a cargar los datos del atributo (únicamente para las capas seleccionadas)."
 
 #: ../gui/wxpython/lmgr/toolbars.py:237
 #, fuzzy
@@ -8414,13 +8124,11 @@ msgid "Show 3D view mode manual"
 msgstr "Mostrar/ocultar diálogo de configuración de vista en modo 3D"
 
 #: ../gui/wxpython/lmgr/menudata.py:42
-msgid ""
-"Unable to parse user toolboxes XML files. Default main menu will be loaded."
+msgid "Unable to parse user toolboxes XML files. Default main menu will be loaded."
 msgstr ""
 
 #: ../gui/wxpython/lmgr/menudata.py:64
-msgid ""
-"Unable to parse user toolboxes XML files. Default module tree will be loaded."
+msgid "Unable to parse user toolboxes XML files. Default module tree will be loaded."
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:76
@@ -8450,7 +8158,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignorar los cambios y cerrar el cuadro de diálogo."
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Aplicar los cambios y cerrar el cuadro de diálogo."
 
@@ -8465,8 +8173,7 @@ msgid ""
 "Layer and category number must be integer.\n"
 "Layer number must be greater than zero."
 msgstr ""
-"No ha sido posible añadir una nueva capa / categoría <%(layer)s/"
-"%(category)s>.\n"
+"No ha sido posible añadir una nueva capa / categoría <%(layer)s/%(category)s>.\n"
 "El número de capa y categoría debe ser un entero.\n"
 "El número de capa debe ser mayor que cero."
 
@@ -8514,9 +8221,7 @@ msgstr "Aplicar cambios para esta sesión."
 
 #: ../gui/wxpython/vdigit/preferences.py:60
 msgid "Close dialog and save changes to user settings file"
-msgstr ""
-"Cerrar el diálogo y guardar los cambios al archivo de configuraciones de "
-"usuario."
+msgstr "Cerrar el diálogo y guardar los cambios al archivo de configuraciones de usuario."
 
 #: ../gui/wxpython/vdigit/preferences.py:154
 msgid "Snapping"
@@ -8556,16 +8261,11 @@ msgstr "Seleccione umbral."
 
 #: ../gui/wxpython/vdigit/preferences.py:224
 msgid "Select only features inside of selection bounding box"
-msgstr ""
-"Seleccione únicamente, los objetos espaciales localizados dentro del "
-"recuadro frontera."
+msgstr "Seleccione únicamente, los objetos espaciales localizados dentro del recuadro frontera."
 
 #: ../gui/wxpython/vdigit/preferences.py:226
-msgid ""
-"By default are selected all features overlapping selection bounding box "
-msgstr ""
-"De forma predeterminada, se han seleccionan todos los objetos espaciales que "
-"se superponen al cuadro delimitador de selección."
+msgid "By default are selected all features overlapping selection bounding box "
+msgstr "De forma predeterminada, se han seleccionan todos los objetos espaciales que se superponen al cuadro delimitador de selección."
 
 #: ../gui/wxpython/vdigit/preferences.py:229
 msgid "Check for duplicates"
@@ -8696,12 +8396,8 @@ msgid "perimeter"
 msgstr "perímetro"
 
 #: ../gui/wxpython/vdigit/preferences.py:505
-msgid ""
-"Note: These settings are stored in the workspace not in the vector digitizer "
-"preferences."
-msgstr ""
-"Nota: Estas configuraciones se guardan en el entorno de trabajo no en las "
-"prefencias del digitalizador vectorial."
+msgid "Note: These settings are stored in the workspace not in the vector digitizer preferences."
+msgstr "Nota: Estas configuraciones se guardan en el entorno de trabajo no en las prefencias del digitalizador vectorial."
 
 #: ../gui/wxpython/vdigit/preferences.py:534
 #, fuzzy
@@ -8772,14 +8468,12 @@ msgstr "Ajuste deshabilitado."
 #: ../gui/wxpython/vdigit/preferences.py:620
 #, python-format
 msgid "Snapping threshold is %(value).1f %(units)s (based on comp. resolution)"
-msgstr ""
-"El umbral de ajuste es %(value).1f %(units)s (basado en la resolución comp.)."
+msgstr "El umbral de ajuste es %(value).1f %(units)s (basado en la resolución comp.)."
 
 #: ../gui/wxpython/vdigit/preferences.py:676
 #, python-format
 msgid "Vector digitizer settings saved to file <%s>."
-msgstr ""
-"Los ajustes del digitalizador de vectores se han guardado en el archivo <%s>."
+msgstr "Los ajustes del digitalizador de vectores se han guardado en el archivo <%s>."
 
 #: ../gui/wxpython/vdigit/mapwindow.py:400
 msgid "Update categories"
@@ -8798,43 +8492,35 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr "Dialogo de etiquetado de bloque Z."
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Digitalizador vectorial"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Digitalizador vectorial no disponible"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
-msgid ""
-"Vector map <%s> not found in current mapset. New vector map can be created "
-"by providing '-c' flag."
+msgid "Vector map <%s> not found in current mapset. New vector map can be created by providing '-c' flag."
 msgstr "Mapa vectorial <%s> no encontrado"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Se ha creado el nuevo mapa vectorial <%s>"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
 #: ../gui/wxpython/vdigit/wxdisplay.py:948
 #, python-format
-msgid ""
-"Topology for vector map <%s> is not available. Topology is required by "
-"digitizer. Do you want to rebuild topology (takes some time) and open the "
-"vector map for editing?"
-msgstr ""
-"La topología para el mapa vectorial <%s> no está disponible. La topología es "
-"requerida por el digitalizador. Quiere reconstruir la topología (tarda un "
-"tiempo) y abrir el mapa vectorial para editar?"
+msgid "Topology for vector map <%s> is not available. Topology is required by digitizer. Do you want to rebuild topology (takes some time) and open the vector map for editing?"
+msgstr "La topología para el mapa vectorial <%s> no está disponible. La topología es requerida por el digitalizador. Quiere reconstruir la topología (tarda un tiempo) y abrir el mapa vectorial para editar?"
 
 #: ../gui/wxpython/vdigit/wxdisplay.py:952
 msgid "Topology missing"
@@ -8879,17 +8565,12 @@ msgstr "Enlace a la base de datos %d no disponible. Operación cancelada."
 #: ../gui/wxpython/vdigit/wxdigit.py:94
 #, fuzzy, python-format
 msgid "Unable to start database driver <%s>. Operation canceled."
-msgstr ""
-"No es posible iniciar el controlador <%s> de la base de datos. Operación "
-"cancelada."
+msgstr "No es posible iniciar el controlador <%s> de la base de datos. Operación cancelada."
 
 #: ../gui/wxpython/vdigit/wxdigit.py:102
 #, fuzzy, python-format
-msgid ""
-"Unable to open database <%(db)s> by driver <%(driver)s>. Operation canceled."
-msgstr ""
-"El driver <%(driver)s> no puede abrir la base de datos <%(db)s>. Operación "
-"cancelada."
+msgid "Unable to open database <%(db)s> by driver <%(driver)s>. Operation canceled."
+msgstr "El driver <%(driver)s> no puede abrir la base de datos <%(db)s>. Operación cancelada."
 
 #: ../gui/wxpython/vdigit/wxdigit.py:110
 #, fuzzy, python-format
@@ -8937,9 +8618,7 @@ msgstr "Digitalizar nueva línea."
 #: ../gui/wxpython/vdigit/toolbars.py:130
 #: ../gui/wxpython/vdigit/toolbars.py:154
 msgid "Left: new point; Ctrl+Left: undo last point; Right: close line"
-msgstr ""
-"Izquierda: nuevo punto; Ctrl+Izquierda: deshacer último punto; Derecha: "
-"cerrar la línea"
+msgstr "Izquierda: nuevo punto; Ctrl+Izquierda: deshacer último punto; Derecha: cerrar la línea"
 
 #: ../gui/wxpython/vdigit/toolbars.py:129
 msgid "Digitize new boundary"
@@ -8952,9 +8631,7 @@ msgstr "Digitalizar nuevo centroide."
 #: ../gui/wxpython/vdigit/toolbars.py:135
 #, fuzzy
 msgid "Digitize new area (boundary without category)"
-msgstr ""
-"Digitalizar nueva área (composición de los contornos sin categoría y un "
-"centroide con categoría)"
+msgstr "Digitalizar nueva área (composición de los contornos sin categoría y un centroide con categoría)"
 
 #: ../gui/wxpython/vdigit/toolbars.py:138
 #, fuzzy
@@ -8969,8 +8646,7 @@ msgstr "Construye polilíneas a partir de líneas o contornos."
 #: ../gui/wxpython/vdigit/toolbars.py:163
 #: ../gui/wxpython/vdigit/toolbars.py:172
 msgid "Left: Select; Ctrl+Left: Unselect; Right: Confirm"
-msgstr ""
-"Izquierda: Seleccionar;  Ctrl+Izquierda: Deseleccionar; Derecha: Confirmar"
+msgstr "Izquierda: Seleccionar;  Ctrl+Izquierda: Deseleccionar; Derecha: Confirmar"
 
 #: ../gui/wxpython/vdigit/toolbars.py:141
 #, fuzzy
@@ -9037,7 +8713,7 @@ msgstr "Falló el digitalizador vectorial"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Herramientas adicionales (copiar, invertir, conectar, etc.)."
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Deshacer."
 
@@ -9115,21 +8791,16 @@ msgstr "El mapa de vectores no es tridimensional (3D). Operación cancelada."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Seleccionar un mapa vectorial."
 
 #: ../gui/wxpython/vdigit/toolbars.py:848
 #, fuzzy, python-format
 msgid ""
-"Topology for vector map <%s> is not available. Topology is required by "
-"digitizer.\n"
-"Do you want to rebuild topology (takes some time) and open the vector map "
-"for editing?"
-msgstr ""
-"La topología para el mapa vectorial <%s> no está disponible. La topología es "
-"requerida por el digitalizador. Quiere reconstruir la topología (tarda un "
-"tiempo) y abrir el mapa vectorial para editar?"
+"Topology for vector map <%s> is not available. Topology is required by digitizer.\n"
+"Do you want to rebuild topology (takes some time) and open the vector map for editing?"
+msgstr "La topología para el mapa vectorial <%s> no está disponible. La topología es requerida por el digitalizador. Quiere reconstruir la topología (tarda un tiempo) y abrir el mapa vectorial para editar?"
 
 #: ../gui/wxpython/vdigit/toolbars.py:852
 #, fuzzy
@@ -9139,20 +8810,13 @@ msgstr "Error del digitalizador de vectores."
 #: ../gui/wxpython/vdigit/toolbars.py:872
 #, python-format
 msgid "Please wait, opening vector map <%s> for editing..."
-msgstr ""
-"Por favor, espere, abriendo el mapa vectorial <% s> para su edición ..."
+msgstr "Por favor, espere, abriendo el mapa vectorial <% s> para su edición ..."
 
 #: ../gui/wxpython/vdigit/toolbars.py:904
 #, fuzzy, python-format
-msgid ""
-"Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
+msgid "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Tipo de elemento %d no soportado. Operación cancelada."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Falló el digitalizador vectorial"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9165,9 +8829,7 @@ msgstr "¿Guardar los cambios?"
 #: ../gui/wxpython/vdigit/toolbars.py:974
 #, python-format
 msgid "Please wait, closing and rebuilding topology of vector map <%s>..."
-msgstr ""
-"Por favor espere, cerrando y reconstruyendo la topología del mapa vectorial <"
-"% s> ..."
+msgstr "Por favor espere, cerrando y reconstruyendo la topología del mapa vectorial <% s> ..."
 
 #: ../gui/wxpython/vdigit/toolbars.py:988
 #, python-format
@@ -9179,186 +8841,184 @@ msgstr "La edición del mapa vectorial <%s> ha finalizado correctamente"
 msgid "New vector map"
 msgstr "Nuevo mapa vectorial."
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr "Configuraciones del servidor"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Servidor:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Conectar"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Conectar al servidor"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Configuraciones avanzada de leyenda"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Configuraciones avanzada de leyenda"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Ajustes del administrador de Capas."
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Nombre del mapa vectorial de salida (editable)"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Cambiar el nombre."
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr "Contraseña:"
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 #, fuzzy
 msgid "No data source defined, settings are not saved."
 msgstr "Nombre no facilitado, no se han guardado las configuraciones."
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr "Conectando a <%s>..."
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, fuzzy, python-format
 msgid "Connected to <%s>"
 msgstr "Modelo exportado a <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "No se puede abrir mapa vectorial <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Añadir capa de cuadrícula."
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Añadir capa."
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Añadir capas de mapa seleccionadas al árbol de capas"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Propiedades de capa."
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr "&OK"
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Nombre para el nuevo mapa raster de salida:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Establecer región."
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Vista del mapa"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Cargar encuadre de región:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
-msgstr ""
-"Restringir la resolución de pantalla a la configuración de cálculo "
-"seleccionada."
+msgstr "Restringir la resolución de pantalla a la configuración de cálculo seleccionada."
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Establece la región de cálculo desde la pantalla."
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Insertar mapa raster existente"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Cargar encuadre de región:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "&Eliminar capa"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Borrar la capa seleccionada."
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "mapas %d eliminados del actual directorio de mapas"
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "El archivo ya existe"
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Mapa vectorial <%s> añadido"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Cargando datos."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Imposible de establecer."
@@ -9473,7 +9133,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Nombre de capa."
 
@@ -9488,8 +9149,8 @@ msgstr "estilo"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Añadir bucle"
+msgid "Add default"
+msgstr "Preseleccionado."
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9498,177 +9159,171 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "Seleccionar directorio de datos de GRASS:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Seleccionar directorio de mapas en localización GRASS"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "Seleccionar localización GRASS y directorio de mapas"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
-msgid ""
-"All data in one Location is in the same  coordinate reference system "
-"(projection). One Location can be one project. Location contains Mapsets."
+#: ../gui/wxpython/gis_set.py:137
+msgid "All data in one Location is in the same  coordinate reference system (projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
-msgid ""
-"Mapset contains GIS data related to one project, task within one project, "
-"subregion or user."
+#: ../gui/wxpython/gis_set.py:145
+msgid "Mapset contains GIS data related to one project, task within one project, subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Ingrese sesión de GRASS."
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "&Explorar"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
-msgstr ""
-"Crear un nuevo directorio de mapas de usuario en la locación seleccionada."
+msgstr "Crear un nuevo directorio de mapas de usuario en la locación seleccionada."
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
-msgid ""
-"Create a new location using location wizard. After location is created "
-"successfully, GRASS session is started."
+#: ../gui/wxpython/gis_set.py:175
+msgid "Create a new location using location wizard. After location is created successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Cambiar nombre de la locación seleccionada."
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Borrar."
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Borrar la locación seleccionada."
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "Cambia&r nombre"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Renombrar el directorio de mapas de usuario (mapset)."
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Borrar."
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Borrar el directorio de mapas de usuario seleccionado (mapset)."
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Administrador de capas SIG GRASS."
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Ingrese sesión de GRASS."
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
-msgstr ""
-"No se puede establecer la base de datos de GRASS. Revise la configuración "
-"local."
+msgstr "No se puede establecer la base de datos de GRASS. Revise la configuración local."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "ERROR: No se encuentra la locación <%s>."
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
-msgstr ""
-"ERROR: No se encuentra el directorio de mapas de usuario (mapset) <%s>."
+msgstr "ERROR: No se encuentra el directorio de mapas de usuario (mapset) <%s>."
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Error:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Importar datos raster"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "¿Quiere crear la locación de GRASS <%s>?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "La Georrectificación del mapa vectorial <%s>  ha fallado."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
-msgid ""
-"Data file <%(name)s> imported successfully. The location's default region "
-"was set from this imported map."
+msgid "Data file <%(name)s> imported successfully. The location's default region was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
-"Se requiere el directorio de mapas <PERMANENT> para localización válida de "
-"GRASS.\n"
+"Se requiere el directorio de mapas <PERMANENT> para localización válida de GRASS.\n"
 "\n"
 "Este directorio de mapas no puede ser renombrado."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9679,7 +9334,7 @@ msgstr ""
 "\n"
 "Introduzca un nombre nuevo:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9690,7 +9345,7 @@ msgstr ""
 "\n"
 "El directorio de mapas <%s> ya existe en la Localización."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9701,7 +9356,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9712,7 +9367,7 @@ msgstr ""
 "\n"
 "La localización <%s> ya existe in la base de datos de GRASS."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9723,36 +9378,32 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
-"Se requiere el directorio de mapas <PERMANENT> para localización válida de "
-"GRASS.\n"
+"Se requiere el directorio de mapas <PERMANENT> para localización válida de GRASS.\n"
 "\n"
 "Este directorio de mapas no puede ser eliminado."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
-"Do you want to continue with deleting mapset <%(mapset)s> from location <"
-"%(location)s>?\n"
+"Do you want to continue with deleting mapset <%(mapset)s> from location <%(location)s>?\n"
 "\n"
 "ALL MAPS included in this mapset will be PERMANENTLY DELETED!"
 msgstr ""
-"¿Desea continuar con la eliminación del directorio de mapas de usuario "
-"(mapset) <%(mapset)s> perteneciente a la locación <%(location)s>?\n"
+"¿Desea continuar con la eliminación del directorio de mapas de usuario (mapset) <%(mapset)s> perteneciente a la locación <%(location)s>?\n"
 "\n"
-"¡TODOS LOS MAPAS incluidos en este directorio de mapas de usuario (mapset) "
-"serán PERMENENTEMENTE ELIMINADOS!"
+"¡TODOS LOS MAPAS incluidos en este directorio de mapas de usuario (mapset) serán PERMENENTEMENTE ELIMINADOS!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "No es posible eliminar el directorio de mapas de usuario (mapset)."
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9763,53 +9414,48 @@ msgstr ""
 "\n"
 "¡TODOS LOS MAPAS incluidos en esta locación serán SUPRIMIDOS DEFINITIVAMENTE!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "No se puede eliminar la ubicación (Location)."
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
-msgid ""
-"No GRASS Location found in '%s'. Create a new Location or choose different "
-"GRASS database directory."
+msgid "No GRASS Location found in '%s'. Create a new Location or choose different GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "Ruta '%s' no existe."
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Seleccionar Dicrectorio de Datos SIG"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, fuzzy, python-format
 msgid "Mapset <%s> already exists."
 msgstr "El archivo ya existe"
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
-"Mapset <%s> is reserved for direct read access to OGR layers. Please "
-"consider to use another name for your mapset.\n"
+"Mapset <%s> is reserved for direct read access to OGR layers. Please consider to use another name for your mapset.\n"
 "\n"
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Renombrar el directorio de mapas de usuario (mapset)."
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
-msgstr ""
-"No ha sido posible crear el nuevo directorio de mapas de usuario (Mapset): "
-"%s."
+msgstr "No ha sido posible crear el nuevo directorio de mapas de usuario (Mapset): %s."
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9817,23 +9463,21 @@ msgid ""
 "\n"
 "Concurrent use not allowed.\n"
 "\n"
-"Do you want to try to remove .gislock (note that you need permission for "
-"this operation) and continue?"
+"Do you want to try to remove .gislock (note that you need permission for this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
-"If you really are running another GRASS session doing this could corrupt "
-"your data. Have another look in the processor manager just to be sure..."
+"If you really are running another GRASS session doing this could corrupt your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9841,26 +9485,145 @@ msgid ""
 "Details: %(reason)s"
 msgstr "No es posible realizar un acercamiento (zoom) al mapa vectorial <%s>."
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for location or mapset. Please use only "
-"ASCII characters excluding %(chars)s and space."
+msgid "Name <%(name)s> is not a valid name for location or mapset. Please use only ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
 #, fuzzy
-msgid ""
-"GRASS needs a directory (GRASS database) in which to store its data. Create "
-"one now if you have not already done so. A popular choice is \"grassdata\", "
-"located in your home directory. Press Browse button to select the directory."
+msgid "Invalid name"
+msgstr "Entrada no válida"
+
+#: ../gui/wxpython/gis_set.py:1101
+#, fuzzy
+msgid "GRASS needs a directory (GRASS database) in which to store its data. Create one now if you have not already done so. A popular choice is \"grassdata\", located in your home directory. Press Browse button to select the directory."
+msgstr "GRASS necesita un directorio donde almacenar los datos. Por favor cree uno si todavía no lo ha hecho. Una elección común es \"grassdata\", ubicado en su directorio home."
+
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Crear nuevo mapa vectorial."
+
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Mapa del mapa raster:"
+
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Seleccionar un mapa vectorial."
+
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Mapa del mapa raster:"
+
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Calcula el índice de forma en un mapa raster."
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid "Raster map <%s> already exists in the current mapset. Do you want to overwrite it?"
+msgstr "El archivo vectorial <%s> ya existe en el directorio de mapas de usuario actual (Mapset) ¿Quiere sobrescribirlo?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Por favor, crear primero el marco del mapa."
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Desea guardar los cambios en el modelo?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Guardar los cambios."
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "No se puede crear el perfil del mapa raster."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "No se puede crear el mapa vectorial <%s>."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Renderizar"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Crear nueva tabla de colores para el mapa raster usando reglas de color."
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Digitalizar"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Digitalizar nueva línea."
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Digitalizar nuevo punto."
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Une mapas raster (patch)."
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Salir del digitalizador"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Seleccionar mapa raster:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Valores de celda."
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid "Width of currently digitized line or diameter of a digitized point in map units."
 msgstr ""
-"GRASS necesita un directorio donde almacenar los datos. Por favor cree uno "
-"si todavía no lo ha hecho. Una elección común es \"grassdata\", ubicado en "
-"su directorio home."
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "no hay mapa raster"
 
 #: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
+#: ../gui/wxpython/menustrings.py:1980
 msgid "&File"
 msgstr "&Archivo"
 
@@ -9881,7 +9644,7 @@ msgid "Load workspace from file"
 msgstr "Cargar archivo de trabajo desde el archivo."
 
 #: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/modules/colorrules.py:419
 msgid "Save"
 msgstr "Guardar cambios"
 
@@ -9969,9 +9732,7 @@ msgstr "Exportar mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:36 ../gui/wxpython/menustrings.py:1023
 #, fuzzy
-msgid ""
-"Imports raster data into a GRASS raster map using GDAL library and "
-"reprojects on the fly."
+msgid "Imports raster data into a GRASS raster map using GDAL library and reprojects on the fly."
 msgstr "Importar datos raster en una capa de mapa GRASS utilizando GDAL."
 
 #: ../gui/wxpython/menustrings.py:37 ../gui/wxpython/menustrings.py:1024
@@ -9980,12 +9741,8 @@ msgstr "Importación y cuadriculado de puntos x,y,z ASCII"
 
 #: ../gui/wxpython/menustrings.py:38 ../gui/wxpython/menustrings.py:1025
 #, fuzzy
-msgid ""
-"Creates a raster map from an assemblage of many coordinates using univariate "
-"statistics."
-msgstr ""
-"Crear un mapa raster a partir de un ensamblaje de muchas coordenadas usando "
-"estadísticas univariantes."
+msgid "Creates a raster map from an assemblage of many coordinates using univariate statistics."
+msgstr "Crear un mapa raster a partir de un ensamblaje de muchas coordenadas usando estadísticas univariantes."
 
 #: ../gui/wxpython/menustrings.py:39 ../gui/wxpython/menustrings.py:1026
 msgid "ASCII grid import"
@@ -10003,9 +9760,7 @@ msgstr "Importar polígonos y líneas ASCII."
 
 #: ../gui/wxpython/menustrings.py:42 ../gui/wxpython/menustrings.py:1029
 msgid "Creates raster maps from ASCII polygon/line/point data files."
-msgstr ""
-"Crea mapas raster a partir de archivos de datos de polígonos / líneas / "
-"puntos ASCII."
+msgstr "Crea mapas raster a partir de archivos de datos de polígonos / líneas / puntos ASCII."
 
 #: ../gui/wxpython/menustrings.py:43 ../gui/wxpython/menustrings.py:1030
 #, fuzzy
@@ -10067,12 +9822,8 @@ msgstr "Importar Terra ASTER HDF."
 
 #: ../gui/wxpython/menustrings.py:56 ../gui/wxpython/menustrings.py:1043
 #, fuzzy
-msgid ""
-"Georeference, rectify, and import Terra-ASTER imagery and relative DEMs "
-"using gdalwarp."
-msgstr ""
-"Georreferenciar, rectificar e importar imaginería Terra ASTER y MDT "
-"relativos usando gdalwarp."
+msgid "Georeference, rectify, and import Terra-ASTER imagery and relative DEMs using gdalwarp."
+msgstr "Georreferenciar, rectificar e importar imaginería Terra ASTER y MDT relativos usando gdalwarp."
 
 #: ../gui/wxpython/menustrings.py:57 ../gui/wxpython/menustrings.py:82
 #: ../gui/wxpython/menustrings.py:1044 ../gui/wxpython/menustrings.py:1069
@@ -10083,14 +9834,11 @@ msgstr "Exportar puntos x,y,z ASCII"
 #: ../gui/wxpython/menustrings.py:58 ../gui/wxpython/menustrings.py:1045
 #, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
-msgstr ""
-"Crear un mapa raster a partir de un ensamblaje de muchas coordenadas usando "
-"estadísticas univariantes."
+msgstr "Crear un mapa raster a partir de un ensamblaje de muchas coordenadas usando estadísticas univariantes."
 
 #: ../gui/wxpython/menustrings.py:60 ../gui/wxpython/menustrings.py:1047
 #, fuzzy
-msgid ""
-"Imports a raster map as GRASS GIS specific archive file (packed with r.pack)"
+msgid "Imports a raster map as GRASS GIS specific archive file (packed with r.pack)"
 msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/menustrings.py:61 ../gui/wxpython/menustrings.py:282
@@ -10117,9 +9865,7 @@ msgstr "Convierte capas vectoriales a un mapa vectorial GRASS utilizando OGR. "
 
 #: ../gui/wxpython/menustrings.py:67 ../gui/wxpython/menustrings.py:1054
 #, fuzzy
-msgid ""
-"Imports vector data into a GRASS vector map using OGR library and reprojects "
-"on the fly."
+msgid "Imports vector data into a GRASS vector map using OGR library and reprojects on the fly."
 msgstr "Convierte capas vectoriales a un mapa vectorial GRASS utilizando OGR. "
 
 #: ../gui/wxpython/menustrings.py:68 ../gui/wxpython/menustrings.py:1055
@@ -10130,9 +9876,7 @@ msgstr "Importación vectorial de puntos ASCII / GRASS ASCII."
 #: ../gui/wxpython/menustrings.py:69 ../gui/wxpython/menustrings.py:1056
 #, fuzzy
 msgid "Creates a vector map from an ASCII points file or ASCII vector file."
-msgstr ""
-"Crea un mapa vectorial a partir de archivo de puntos ASCII o archivo ASCII "
-"vectorial."
+msgstr "Crea un mapa vectorial a partir de archivo de puntos ASCII o archivo ASCII vectorial."
 
 #: ../gui/wxpython/menustrings.py:70 ../gui/wxpython/menustrings.py:1057
 msgid "ASCII points as a vector lines"
@@ -10149,8 +9893,7 @@ msgstr "Importar DXF."
 
 #: ../gui/wxpython/menustrings.py:73 ../gui/wxpython/menustrings.py:1060
 msgid "Converts files in DXF format to GRASS vector map format."
-msgstr ""
-"Convierte archivos en formato DXF a formato de mapa vectorial de GRASS."
+msgstr "Convierte archivos en formato DXF a formato de mapa vectorial de GRASS."
 
 #: ../gui/wxpython/menustrings.py:74 ../gui/wxpython/menustrings.py:1061
 msgid "WFS"
@@ -10177,9 +9920,7 @@ msgstr "Importar GEOnet"
 #: ../gui/wxpython/menustrings.py:79 ../gui/wxpython/menustrings.py:1066
 #, fuzzy
 msgid "Imports geonames.org country files into a vector points map."
-msgstr ""
-"Importa archivos de país del Servidor de Nombres Geonet (GNS) US-NGA a un "
-"mapa vectorial de puntos de GRASS."
+msgstr "Importa archivos de país del Servidor de Nombres Geonet (GNS) US-NGA a un mapa vectorial de puntos de GRASS."
 
 #: ../gui/wxpython/menustrings.py:80 ../gui/wxpython/menustrings.py:1067
 msgid "Matlab array or Mapgen format import"
@@ -10196,22 +9937,19 @@ msgstr "Convierte capas vectoriales a un mapa vectorial GRASS utilizando OGR. "
 
 #: ../gui/wxpython/menustrings.py:85 ../gui/wxpython/menustrings.py:1072
 #, fuzzy
-msgid ""
-"Imports a vector map as GRASS GIS specific archive file (packed with v.pack)"
+msgid "Imports a vector map as GRASS GIS specific archive file (packed with v.pack)"
 msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/menustrings.py:86 ../gui/wxpython/menustrings.py:562
 #: ../gui/wxpython/menustrings.py:1073 ../gui/wxpython/menustrings.py:1469
 #, fuzzy
 msgid "Reproject vector map from different GRASS location"
-msgstr ""
-"Reproyecta un mapa vectorial desde una localización a la localización actual."
+msgstr "Reproyecta un mapa vectorial desde una localización a la localización actual."
 
 #: ../gui/wxpython/menustrings.py:87 ../gui/wxpython/menustrings.py:563
 #: ../gui/wxpython/menustrings.py:1074 ../gui/wxpython/menustrings.py:1470
 msgid "Re-projects a vector map from one location to the current location."
-msgstr ""
-"Reproyecta un mapa vectorial desde una localización a la localización actual."
+msgstr "Reproyecta un mapa vectorial desde una localización a la localización actual."
 
 #: ../gui/wxpython/menustrings.py:88 ../gui/wxpython/menustrings.py:1075
 msgid "Import 3D raster data"
@@ -10224,9 +9962,7 @@ msgstr "Importar ASCII 3D."
 #: ../gui/wxpython/menustrings.py:90 ../gui/wxpython/menustrings.py:1077
 #, fuzzy
 msgid "Converts a 3D ASCII raster text file into a (binary) 3D raster map."
-msgstr ""
-"Convertir un archivo de texto raster ASCII 3D en una capa de mapa raster 3D "
-"(binaria)"
+msgstr "Convertir un archivo de texto raster ASCII 3D en una capa de mapa raster 3D (binaria)"
 
 #: ../gui/wxpython/menustrings.py:91 ../gui/wxpython/menustrings.py:1078
 #, fuzzy
@@ -10284,11 +10020,8 @@ msgstr "Exportar puntos x,y,z ASCII"
 
 #: ../gui/wxpython/menustrings.py:104 ../gui/wxpython/menustrings.py:1091
 #, fuzzy
-msgid ""
-"Exports a raster map to a text file as x,y,z values based on cell centers."
-msgstr ""
-"Exportar un mapa raster a un archivo de texto como valores X, Y, Z basados "
-"en los centros de las celdas."
+msgid "Exports a raster map to a text file as x,y,z values based on cell centers."
+msgstr "Exportar un mapa raster a un archivo de texto como valores X, Y, Z basados en los centros de las celdas."
 
 #: ../gui/wxpython/menustrings.py:105 ../gui/wxpython/menustrings.py:1092
 msgid "GRIDATB.FOR export"
@@ -10332,8 +10065,7 @@ msgstr "Exportar a PNG."
 #: ../gui/wxpython/menustrings.py:114 ../gui/wxpython/menustrings.py:1101
 #, fuzzy
 msgid "Export a GRASS raster map as a non-georeferenced PNG image."
-msgstr ""
-"Exportar raster de GRASS como formato de imágen PNG no georreferenciada."
+msgstr "Exportar raster de GRASS como formato de imágen PNG no georreferenciada."
 
 #: ../gui/wxpython/menustrings.py:115 ../gui/wxpython/menustrings.py:1102
 msgid "PPM export"
@@ -10351,9 +10083,7 @@ msgstr "Exportar a PPM a partir de RGB."
 #: ../gui/wxpython/menustrings.py:118 ../gui/wxpython/menustrings.py:1105
 #, fuzzy
 msgid "Converts 3 GRASS raster layers (R,G,B) to a PPM image file."
-msgstr ""
-"Convierte 3 capas raster de GRASS (R,G,B) a un archivo de imagen PPM a la "
-"resolución de píxel de la REGIÓN DEFINIDA ACTUALMENTE."
+msgstr "Convierte 3 capas raster de GRASS (R,G,B) a un archivo de imagen PPM a la resolución de píxel de la REGIÓN DEFINIDA ACTUALMENTE."
 
 #: ../gui/wxpython/menustrings.py:119 ../gui/wxpython/menustrings.py:136
 #: ../gui/wxpython/menustrings.py:1106 ../gui/wxpython/menustrings.py:1123
@@ -10363,8 +10093,7 @@ msgstr "Exportar a POV-Ray."
 #: ../gui/wxpython/menustrings.py:120 ../gui/wxpython/menustrings.py:1107
 #, fuzzy
 msgid "Converts a raster map layer into a height-field file for POV-Ray."
-msgstr ""
-"Convierte una capa de mapa raster en un archivo de altura de campo POVRAY."
+msgstr "Convierte una capa de mapa raster en un archivo de altura de campo POVRAY."
 
 #: ../gui/wxpython/menustrings.py:121 ../gui/wxpython/menustrings.py:1108
 msgid "VRML export"
@@ -10373,8 +10102,7 @@ msgstr "Exportar a VRML."
 #: ../gui/wxpython/menustrings.py:122 ../gui/wxpython/menustrings.py:1109
 #, fuzzy
 msgid "Exports a raster map to the Virtual Reality Modeling Language (VRML)."
-msgstr ""
-"Exportar un mapa raster al Lenguaje de Modelado de Realidad Virtual (VRML)."
+msgstr "Exportar un mapa raster al Lenguaje de Modelado de Realidad Virtual (VRML)."
 
 #: ../gui/wxpython/menustrings.py:123 ../gui/wxpython/menustrings.py:140
 #: ../gui/wxpython/menustrings.py:151 ../gui/wxpython/menustrings.py:1110
@@ -10403,9 +10131,7 @@ msgstr "Exportar mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:129 ../gui/wxpython/menustrings.py:1116
 #, fuzzy
-msgid ""
-"Exports a vector map layer to any of the supported OGR vector formats. By "
-"default a vector map layer is exported to Esri Shapefile format."
+msgid "Exports a vector map layer to any of the supported OGR vector formats. By default a vector map layer is exported to Esri Shapefile format."
 msgstr "Convierte a uno de los formatos vectoriales OGR soportados."
 
 #: ../gui/wxpython/menustrings.py:130 ../gui/wxpython/menustrings.py:1117
@@ -10414,9 +10140,7 @@ msgid "ASCII points or GRASS ASCII vector export"
 msgstr "Exportar puntos ASCII / ASCII de GRASS a vectorial."
 
 #: ../gui/wxpython/menustrings.py:131 ../gui/wxpython/menustrings.py:1118
-msgid ""
-"Exports a vector map to a GRASS ASCII vector representation. By default only "
-"features with category are exported. To export all features use 'layer=-1'."
+msgid "Exports a vector map to a GRASS ASCII vector representation. By default only features with category are exported. To export all features use 'layer=-1'."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:132 ../gui/wxpython/menustrings.py:1119
@@ -10519,15 +10243,11 @@ msgstr "Enlazar datos raster externos"
 
 #: ../gui/wxpython/menustrings.py:158 ../gui/wxpython/menustrings.py:1145
 msgid "Link GDAL supported raster data as a pseudo GRASS raster map layer."
-msgstr ""
-"El enlace GDAL ha soportado los datos como una pseudo-capa de mapa raster "
-"GRASS."
+msgstr "El enlace GDAL ha soportado los datos como una pseudo-capa de mapa raster GRASS."
 
 #: ../gui/wxpython/menustrings.py:160 ../gui/wxpython/menustrings.py:1147
 msgid "Creates a new pseudo-vector map as a link to an OGR-supported layer."
-msgstr ""
-"Crea un nuevo mapa pseudo-vectorial como un enlace a una capa soportada por "
-"OGR."
+msgstr "Crea un nuevo mapa pseudo-vectorial como un enlace a una capa soportada por OGR."
 
 #: ../gui/wxpython/menustrings.py:161 ../gui/wxpython/menustrings.py:1148
 #, fuzzy
@@ -10558,13 +10278,8 @@ msgstr "Copiar."
 
 #: ../gui/wxpython/menustrings.py:167 ../gui/wxpython/menustrings.py:1154
 #, fuzzy
-msgid ""
-"Copies available data files in the current mapset search path to the user's "
-"current mapset."
-msgstr ""
-"Copia los archivos de datos disponibles en la ruta de búsqueda de locaciones "
-"y directorio de mapas del usuario actual a los directorios apropiados de "
-"elementos en el directorio de mapas del usuario actual (current mapset)."
+msgid "Copies available data files in the current mapset search path to the user's current mapset."
+msgstr "Copia los archivos de datos disponibles en la ruta de búsqueda de locaciones y directorio de mapas del usuario actual a los directorios apropiados de elementos en el directorio de mapas del usuario actual (current mapset)."
 
 #: ../gui/wxpython/menustrings.py:168 ../gui/wxpython/menustrings.py:929
 #: ../gui/wxpython/menustrings.py:1155 ../gui/wxpython/menustrings.py:1836
@@ -10573,27 +10288,17 @@ msgstr "Enlistar."
 
 #: ../gui/wxpython/menustrings.py:169 ../gui/wxpython/menustrings.py:1156
 #, fuzzy
-msgid ""
-"Lists available GRASS data base files of the user-specified data type "
-"optionally using the search pattern."
-msgstr ""
-"Enlista a la salida estándar, los archivos de base de datos de GRASS "
-"disponibles a partir del tipo de datos especificado por el usuario."
+msgid "Lists available GRASS data base files of the user-specified data type optionally using the search pattern."
+msgstr "Enlista a la salida estándar, los archivos de base de datos de GRASS disponibles a partir del tipo de datos especificado por el usuario."
 
 #: ../gui/wxpython/menustrings.py:171 ../gui/wxpython/menustrings.py:1158
 msgid "Renames data base element files in the user's current mapset."
-msgstr ""
-"Cambia el nombre archivos de elementos de base de datos en el directorio de "
-"mapas actual del usuario."
+msgstr "Cambia el nombre archivos de elementos de base de datos en el directorio de mapas actual del usuario."
 
 #: ../gui/wxpython/menustrings.py:173 ../gui/wxpython/menustrings.py:1160
 #, fuzzy
-msgid ""
-"Removes data base element files from the user's current mapset using the "
-"search pattern."
-msgstr ""
-"Elimina archivos de elementos de bases de datos del directorio de mapas "
-"actual del usuario."
+msgid "Removes data base element files from the user's current mapset using the search pattern."
+msgstr "Elimina archivos de elementos de bases de datos del directorio de mapas actual del usuario."
 
 #: ../gui/wxpython/menustrings.py:174 ../gui/wxpython/menustrings.py:306
 #: ../gui/wxpython/menustrings.py:600 ../gui/wxpython/menustrings.py:832
@@ -10622,9 +10327,7 @@ msgstr "Series raster a volumen."
 #: ../gui/wxpython/menustrings.py:178 ../gui/wxpython/menustrings.py:310
 #: ../gui/wxpython/menustrings.py:1217
 msgid "Converts 2D raster map slices to one 3D raster volume map."
-msgstr ""
-"Convierte secciones de corte 2D de un mapa raster a un mapa raster de "
-"volumen en 3D."
+msgstr "Convierte secciones de corte 2D de un mapa raster a un mapa raster de volumen en 3D."
 
 #: ../gui/wxpython/menustrings.py:179 ../gui/wxpython/menustrings.py:311
 #: ../gui/wxpython/menustrings.py:1218
@@ -10635,8 +10338,7 @@ msgstr "Raster 2.5D a volumen."
 #: ../gui/wxpython/menustrings.py:180 ../gui/wxpython/menustrings.py:312
 #: ../gui/wxpython/menustrings.py:1219
 msgid "Creates a 3D volume map based on 2D elevation and value raster maps."
-msgstr ""
-"Crea un mapa de volumen 3D basado en mapas raster de elevación y valor 2D."
+msgstr "Crea un mapa de volumen 3D basado en mapas raster de elevación y valor 2D."
 
 #: ../gui/wxpython/menustrings.py:181 ../gui/wxpython/menustrings.py:601
 #: ../gui/wxpython/menustrings.py:1508
@@ -10658,9 +10360,7 @@ msgstr "Vectorial a raster."
 #: ../gui/wxpython/menustrings.py:1511
 #, fuzzy
 msgid "Converts a vector map (only points) into a 3D raster map."
-msgstr ""
-"Convierte un mapa vectorial binario de GRASS (sólo puntos) en una capa de "
-"mapa raster 3D de GRASS."
+msgstr "Convierte un mapa vectorial binario de GRASS (sólo puntos) en una capa de mapa raster 3D de GRASS."
 
 #: ../gui/wxpython/menustrings.py:185 ../gui/wxpython/menustrings.py:605
 #: ../gui/wxpython/menustrings.py:1512
@@ -10688,8 +10388,7 @@ msgstr "Georrectificar."
 
 #: ../gui/wxpython/menustrings.py:190 ../gui/wxpython/menustrings.py:1919
 msgid "Manage Ground Control Points for Georectification"
-msgstr ""
-"Administra los Puntos de Control sobre el Terreno para Georectificación"
+msgstr "Administra los Puntos de Control sobre el Terreno para Georectificación"
 
 #: ../gui/wxpython/menustrings.py:191 ../gui/wxpython/menustrings.py:1920
 msgid "Graphical modeler"
@@ -10699,7 +10398,7 @@ msgstr "Modelador gráfico"
 msgid "Launch Graphical modeler"
 msgstr "Lanzar modelador gráfico"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Ejecutar modelo"
 
@@ -10713,9 +10412,7 @@ msgid "3D image rendering"
 msgstr "Habilitar auto representación."
 
 #: ../gui/wxpython/menustrings.py:196
-msgid ""
-"Creates a 3D rendering of GIS data. Renders surfaces (raster data), 2D/3D "
-"vector data, and volumes (3D raster data) in 3D."
+msgid "Creates a 3D rendering of GIS data. Renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster data) in 3D."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:197 ../gui/wxpython/menustrings.py:1001
@@ -10735,12 +10432,8 @@ msgstr "Rumbo / distancia a coordenadas."
 
 #: ../gui/wxpython/menustrings.py:200
 #, fuzzy
-msgid ""
-"A simple utility for converting bearing and distance measurements to "
-"coordinates and vice versa. It assumes a cartesian coordinate system"
-msgstr ""
-"Una utilería simple para convertir medidas de rumbo y distancia a "
-"coordenadas y viceversa."
+msgid "A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system"
+msgstr "Una utilería simple para convertir medidas de rumbo y distancia a coordenadas y viceversa."
 
 #: ../gui/wxpython/menustrings.py:202 ../gui/wxpython/menustrings.py:1927
 #, fuzzy
@@ -10765,7 +10458,7 @@ msgstr "Lanzar script"
 msgid "Launches script file."
 msgstr "Lanza un archivo script."
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Cerrar."
@@ -10775,8 +10468,8 @@ msgstr "Cerrar."
 msgid "Quit wxGUI session."
 msgstr "Salir de la sesión wxGUI "
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Cerrar la Interfaz gráfica de usuario GRASS."
@@ -10799,8 +10492,7 @@ msgstr "Mostrar región."
 
 #: ../gui/wxpython/menustrings.py:214 ../gui/wxpython/menustrings.py:216
 msgid "Manages the boundary definitions for the geographic region."
-msgstr ""
-"Administra las definiciones de los contornos para la región geográfica."
+msgstr "Administra las definiciones de los contornos para la región geográfica."
 
 #: ../gui/wxpython/menustrings.py:215
 msgid "Set region"
@@ -10816,9 +10508,7 @@ msgstr "Acceso a directorio de mapas."
 
 #: ../gui/wxpython/menustrings.py:219
 msgid "Set/unset access to other mapsets in current location"
-msgstr ""
-"Establecer / desestablecer el acceso a otros directorios de mapas en la "
-"locación actual."
+msgstr "Establecer / desestablecer el acceso a otros directorios de mapas en la locación actual."
 
 #: ../gui/wxpython/menustrings.py:220
 msgid "User access"
@@ -10826,21 +10516,15 @@ msgstr "Acceso de usuario."
 
 #: ../gui/wxpython/menustrings.py:221
 #, fuzzy
-msgid ""
-"Controls access to the current mapset for other users on the system. If no "
-"option given, prints current status."
-msgstr ""
-"Controla el acceso al directorio de mapas actual para otros usuarios del "
-"sistema."
+msgid "Controls access to the current mapset for other users on the system. If no option given, prints current status."
+msgstr "Controla el acceso al directorio de mapas actual para otros usuarios del sistema."
 
 #: ../gui/wxpython/menustrings.py:222
 msgid "Change working environment"
 msgstr "Cambiar entorno de trabajo."
 
 #: ../gui/wxpython/menustrings.py:223
-msgid ""
-"Changes/reports current mapset. Optionally create new mapset or list "
-"available mapsets in given location."
+msgid "Changes/reports current mapset. Optionally create new mapset or list available mapsets in given location."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:224
@@ -10870,9 +10554,7 @@ msgstr "Mostrar configuración."
 
 #: ../gui/wxpython/menustrings.py:231
 msgid "Outputs and modifies the user's current GRASS variable settings."
-msgstr ""
-"Muestra y permite modificar las variables actuales de configuración del "
-"usuario de GRASS."
+msgstr "Muestra y permite modificar las variables actuales de configuración del usuario de GRASS."
 
 #: ../gui/wxpython/menustrings.py:232
 msgid "Change settings"
@@ -10880,12 +10562,8 @@ msgstr "Cambiar configuración."
 
 #: ../gui/wxpython/menustrings.py:233
 #, fuzzy
-msgid ""
-"Outputs and modifies the user's current GRASS variable settings. Prints all "
-"defined GRASS variables if no option is given."
-msgstr ""
-"Muestra y permite modificar las variables actuales de configuración del "
-"usuario de GRASS."
+msgid "Outputs and modifies the user's current GRASS variable settings. Prints all defined GRASS variables if no option is given."
+msgstr "Muestra y permite modificar las variables actuales de configuración del usuario de GRASS."
 
 #: ../gui/wxpython/menustrings.py:234
 #, fuzzy
@@ -10920,12 +10598,8 @@ msgid "Display map projection"
 msgstr "Mostrar proyección del mapa"
 
 #: ../gui/wxpython/menustrings.py:242
-msgid ""
-"Converts co-ordinate system descriptions (i.e. projection information) "
-"between various formats (including GRASS format)."
-msgstr ""
-"Convierte descripciones de sistemas de coordenadas (por ejemplo información "
-"de proyección) entre varios formatos (incluido el formato GRASS)."
+msgid "Converts co-ordinate system descriptions (i.e. projection information) between various formats (including GRASS format)."
+msgstr "Convierte descripciones de sistemas de coordenadas (por ejemplo información de proyección) entre varios formatos (incluido el formato GRASS)."
 
 #: ../gui/wxpython/menustrings.py:243
 msgid "Manage projections"
@@ -10933,14 +10607,8 @@ msgstr "Administrar proyecciones."
 
 #: ../gui/wxpython/menustrings.py:244
 #, fuzzy
-msgid ""
-"Prints or modifies GRASS projection information files (in various co-"
-"ordinate system descriptions). Can also be used to create new GRASS "
-"locations."
-msgstr ""
-"Convierte descripciones de sistemas de coordenadas (o sea, información de "
-"proyección) entre varios formatos (incluido el formato GRASS). También puede "
-"usarse para crear locaciones de GRASS."
+msgid "Prints or modifies GRASS projection information files (in various co-ordinate system descriptions). Can also be used to create new GRASS locations."
+msgstr "Convierte descripciones de sistemas de coordenadas (o sea, información de proyección) entre varios formatos (incluido el formato GRASS). También puede usarse para crear locaciones de GRASS."
 
 #: ../gui/wxpython/menustrings.py:245
 msgid "Convert coordinates"
@@ -10964,8 +10632,7 @@ msgstr "Instalar extensión de los complementos"
 #: ../gui/wxpython/menustrings.py:249
 #, fuzzy
 msgid "Installs new extension from GRASS AddOns SVN repository."
-msgstr ""
-"Instalar nueva extensión de los complementos del repositorio SVN de GRASS"
+msgstr "Instalar nueva extensión de los complementos del repositorio SVN de GRASS"
 
 #: ../gui/wxpython/menustrings.py:250
 #, fuzzy
@@ -10983,9 +10650,7 @@ msgstr "Preferencias."
 
 #: ../gui/wxpython/menustrings.py:253
 msgid "User GUI preferences (display font, commands, digitizer, etc.)"
-msgstr ""
-"Preferencias del usuario para la interfaz gráfica de usuario (GUI) (tipo de "
-"letra para la visualización, órdenes, digitalizador, etc.)"
+msgstr "Preferencias del usuario para la interfaz gráfica de usuario (GUI) (tipo de letra para la visualización, órdenes, digitalizador, etc.)"
 
 #: ../gui/wxpython/menustrings.py:254 ../gui/wxpython/menustrings.py:1161
 msgid "&Raster"
@@ -11033,11 +10698,8 @@ msgstr "Marca de tiempo."
 
 #: ../gui/wxpython/menustrings.py:265 ../gui/wxpython/menustrings.py:1172
 #, fuzzy
-msgid ""
-"Modifies a timestamp for a raster map. Print/add/remove a timestamp for a "
-"raster map."
-msgstr ""
-"Imprimir / añadir / eliminar una marca de tiempo para un mapa raster 3D."
+msgid "Modifies a timestamp for a raster map. Print/add/remove a timestamp for a raster map."
+msgstr "Imprimir / añadir / eliminar una marca de tiempo para un mapa raster 3D."
 
 #: ../gui/wxpython/menustrings.py:266 ../gui/wxpython/menustrings.py:1173
 msgid "Resample using aggregate statistics"
@@ -11069,14 +10731,8 @@ msgid "Resample using spline tension"
 msgstr "Volver a muestrear usando tensión de spline."
 
 #: ../gui/wxpython/menustrings.py:273 ../gui/wxpython/menustrings.py:1180
-msgid ""
-"Reinterpolates and optionally computes topographic analysis from input "
-"raster map to a new raster map (possibly with different resolution) using "
-"regularized spline with tension and smoothing."
-msgstr ""
-"Reinterpola y opcionalmente procesa, análisis topográficos a partir del mapa "
-"raster de entrada a un nuevo mapa raster (posiblemente con distinta "
-"resolución) usando splines regularizadas con tensión y suavizado."
+msgid "Reinterpolates and optionally computes topographic analysis from input raster map to a new raster map (possibly with different resolution) using regularized spline with tension and smoothing."
+msgstr "Reinterpola y opcionalmente procesa, análisis topográficos a partir del mapa raster de entrada a un nuevo mapa raster (posiblemente con distinta resolución) usando splines regularizadas con tensión y suavizado."
 
 #: ../gui/wxpython/menustrings.py:274 ../gui/wxpython/menustrings.py:1181
 #, fuzzy
@@ -11085,11 +10741,8 @@ msgstr "Volver a muestrear usando tensión de spline."
 
 #: ../gui/wxpython/menustrings.py:275 ../gui/wxpython/menustrings.py:1182
 #, fuzzy
-msgid ""
-"Performs bilinear or bicubic spline interpolation with Tykhonov "
-"regularization."
-msgstr ""
-"Interpolación de spline bicúbica o bilineal con regularización Tykhonov."
+msgid "Performs bilinear or bicubic spline interpolation with Tykhonov regularization."
+msgstr "Interpolación de spline bicúbica o bilineal con regularización Tykhonov."
 
 #: ../gui/wxpython/menustrings.py:276 ../gui/wxpython/menustrings.py:1183
 #, fuzzy
@@ -11108,9 +10761,7 @@ msgstr "Mantenimiento de archivos de soporte."
 
 #: ../gui/wxpython/menustrings.py:279 ../gui/wxpython/menustrings.py:1186
 msgid "Allows creation and/or modification of raster map layer support files."
-msgstr ""
-"Permite la creación y/o modificación de archivos de soporte de capas de "
-"mapas raster."
+msgstr "Permite la creación y/o modificación de archivos de soporte de capas de mapas raster."
 
 #: ../gui/wxpython/menustrings.py:280 ../gui/wxpython/menustrings.py:1187
 msgid "Update map statistics"
@@ -11125,12 +10776,8 @@ msgid "Tiling"
 msgstr "Realizar mosaico."
 
 #: ../gui/wxpython/menustrings.py:285 ../gui/wxpython/menustrings.py:1192
-msgid ""
-"Produces tilings of the source projection for use in the destination region "
-"and projection."
-msgstr ""
-"Produce mosaicos de la proyección de origen para su uso en la región y "
-"proyección de destino."
+msgid "Produces tilings of the source projection for use in the destination region and projection."
+msgstr "Produce mosaicos de la proyección de origen para su uso en la región y proyección de destino."
 
 #: ../gui/wxpython/menustrings.py:286 ../gui/wxpython/menustrings.py:583
 #: ../gui/wxpython/menustrings.py:1193 ../gui/wxpython/menustrings.py:1490
@@ -11145,8 +10792,7 @@ msgstr "Tablas de color."
 #: ../gui/wxpython/menustrings.py:288 ../gui/wxpython/menustrings.py:1195
 #, fuzzy
 msgid "Creates/modifies the color table associated with a raster map."
-msgstr ""
-"Crea / modifica la tabla de colores asociada a una capa de mapa raster."
+msgstr "Crea / modifica la tabla de colores asociada a una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:289 ../gui/wxpython/menustrings.py:1196
 msgid "Color tables (stddev)"
@@ -11155,9 +10801,7 @@ msgstr "Tablas de color (stddev)."
 #: ../gui/wxpython/menustrings.py:290 ../gui/wxpython/menustrings.py:1197
 #, fuzzy
 msgid "Sets color rules based on stddev from a raster map's mean value."
-msgstr ""
-"Establecer reglas de color basándose en la desviación estándar, a partir del "
-"valor promedio de un mapa."
+msgstr "Establecer reglas de color basándose en la desviación estándar, a partir del valor promedio de un mapa."
 
 #: ../gui/wxpython/menustrings.py:291 ../gui/wxpython/menustrings.py:586
 #: ../gui/wxpython/menustrings.py:1198 ../gui/wxpython/menustrings.py:1493
@@ -11185,19 +10829,15 @@ msgstr "Mezclar 2 raster en color."
 
 #: ../gui/wxpython/menustrings.py:296 ../gui/wxpython/menustrings.py:1203
 msgid "Blends color components of two raster maps by a given ratio."
-msgstr ""
-"Mezcla los componentes de color de dos mapas raster en la proporción "
-"indicada."
+msgstr "Mezcla los componentes de color de dos mapas raster en la proporción indicada."
 
 #: ../gui/wxpython/menustrings.py:297 ../gui/wxpython/menustrings.py:1204
 msgid "Create RGB"
 msgstr "Crear RGB."
 
 #: ../gui/wxpython/menustrings.py:298 ../gui/wxpython/menustrings.py:1205
-msgid ""
-"Combines red, green and blue raster maps into a single composite raster map."
-msgstr ""
-"Combina capas de mapa roja, verde y azul en una sola capa de mapa compuesto."
+msgid "Combines red, green and blue raster maps into a single composite raster map."
+msgstr "Combina capas de mapa roja, verde y azul en una sola capa de mapa compuesto."
 
 #: ../gui/wxpython/menustrings.py:299 ../gui/wxpython/menustrings.py:739
 #: ../gui/wxpython/menustrings.py:1206 ../gui/wxpython/menustrings.py:1646
@@ -11206,14 +10846,8 @@ msgstr "Rojo, verde y azul (RGB) a matiz, intensidad y saturación (HIS)."
 
 #: ../gui/wxpython/menustrings.py:300 ../gui/wxpython/menustrings.py:1207
 #, fuzzy
-msgid ""
-"Generates red, green and blue (RGB) raster map layers combining hue, "
-"intensity and saturation (HIS) values from user-specified input raster map "
-"layers."
-msgstr ""
-"Genera capas de mapa raster roja, verde y azul combinando valores de matiz, "
-"intensidad y saturación (HIS) a partir de capas de mapa raster de entrada "
-"especificadas por el usuario."
+msgid "Generates red, green and blue (RGB) raster map layers combining hue, intensity and saturation (HIS) values from user-specified input raster map layers."
+msgstr "Genera capas de mapa raster roja, verde y azul combinando valores de matiz, intensidad y saturación (HIS) a partir de capas de mapa raster de entrada especificadas por el usuario."
 
 #: ../gui/wxpython/menustrings.py:301 ../gui/wxpython/menustrings.py:1208
 msgid "Query raster maps"
@@ -11226,8 +10860,7 @@ msgstr "Consultar valores por coordenadas"
 #: ../gui/wxpython/menustrings.py:303 ../gui/wxpython/menustrings.py:1210
 #, fuzzy
 msgid "Queries raster maps on their category values and category labels."
-msgstr ""
-"Consulta capas de mapa raster por sus valores y etiquetas de categoría."
+msgstr "Consulta capas de mapa raster por sus valores y etiquetas de categoría."
 
 #: ../gui/wxpython/menustrings.py:304 ../gui/wxpython/menustrings.py:1211
 msgid "Query colors by value"
@@ -11248,12 +10881,8 @@ msgstr "Crear zonas (Buffer) raster."
 
 #: ../gui/wxpython/menustrings.py:315 ../gui/wxpython/menustrings.py:1222
 #, fuzzy
-msgid ""
-"Creates a raster map showing buffer zones surrounding cells that contain non-"
-"NULL category values."
-msgstr ""
-"Crea una capa de mapa raster que muestra zonas de buffer que rodean celdas "
-"que contienen valores de categoría no NULOS."
+msgid "Creates a raster map showing buffer zones surrounding cells that contain non-NULL category values."
+msgstr "Crea una capa de mapa raster que muestra zonas de buffer que rodean celdas que contienen valores de categoría no NULOS."
 
 #: ../gui/wxpython/menustrings.py:316 ../gui/wxpython/menustrings.py:1223
 msgid "Concentric circles"
@@ -11261,9 +10890,7 @@ msgstr "Círculos concéntricos."
 
 #: ../gui/wxpython/menustrings.py:317 ../gui/wxpython/menustrings.py:1224
 msgid "Creates a raster map containing concentric rings around a given point."
-msgstr ""
-"Crea un mapa raster que contiene anillos concéntricos alrededor de un punto "
-"dado."
+msgstr "Crea un mapa raster que contiene anillos concéntricos alrededor de un punto dado."
 
 #: ../gui/wxpython/menustrings.py:318 ../gui/wxpython/menustrings.py:1225
 msgid "Closest points"
@@ -11280,9 +10907,7 @@ msgstr ""
 #: ../gui/wxpython/menustrings.py:321 ../gui/wxpython/menustrings.py:384
 #: ../gui/wxpython/menustrings.py:1228 ../gui/wxpython/menustrings.py:1291
 msgid "Generates a raster map layer with contiguous areas grown by one cell."
-msgstr ""
-"Genera una capa de mapa raster con áreas contiguas incrementadas en una "
-"celda."
+msgstr "Genera una capa de mapa raster con áreas contiguas incrementadas en una celda."
 
 #: ../gui/wxpython/menustrings.py:322 ../gui/wxpython/menustrings.py:376
 #: ../gui/wxpython/menustrings.py:1229 ../gui/wxpython/menustrings.py:1283
@@ -11293,9 +10918,7 @@ msgstr "Distancia a elementos más próximos."
 #: ../gui/wxpython/menustrings.py:1230 ../gui/wxpython/menustrings.py:1284
 #, fuzzy
 msgid "Generates a raster map containing distances to nearest raster features."
-msgstr ""
-"Genera una capa de mapa raster de la distancia a elementos ubicados en una "
-"capa de entrada."
+msgstr "Genera una capa de mapa raster de la distancia a elementos ubicados en una capa de entrada."
 
 #: ../gui/wxpython/menustrings.py:325 ../gui/wxpython/menustrings.py:1232
 msgid "Creates a MASK for limiting raster operation."
@@ -11311,14 +10934,8 @@ msgid "Neighborhood analysis"
 msgstr "Análisis del vecino más próximo."
 
 #: ../gui/wxpython/menustrings.py:330 ../gui/wxpython/menustrings.py:1237
-msgid ""
-"Makes each cell category value a function of the category values assigned to "
-"the cells around it, and stores new cell values in an output raster map "
-"layer."
-msgstr ""
-"Hace de cada valor de categoría de celda una función de los valores de "
-"categoría asignados a las celdas a su alrededor y guarda los nuevos valores "
-"de celda en una capa de mapa raster de salida."
+msgid "Makes each cell category value a function of the category values assigned to the cells around it, and stores new cell values in an output raster map layer."
+msgstr "Hace de cada valor de categoría de celda una función de los valores de categoría asignados a las celdas a su alrededor y guarda los nuevos valores de celda en una capa de mapa raster de salida."
 
 #: ../gui/wxpython/menustrings.py:331 ../gui/wxpython/menustrings.py:1238
 msgid "Neighborhood points"
@@ -11326,14 +10943,8 @@ msgstr "Puntos de vecindario"
 
 #: ../gui/wxpython/menustrings.py:332 ../gui/wxpython/menustrings.py:1239
 #, fuzzy
-msgid ""
-"Neighborhood analysis tool for vector point maps. Makes each cell value a "
-"function of the attribute values assigned to the vector points or centroids "
-"around it, and stores new cell values in an output raster map."
-msgstr ""
-"Hace que el valor de cada celda sea una función de los valores de los "
-"atributos asignados a los puntos vectoriales o centroides a su alrededor y "
-"guarda los nuevos valores de celda en una capa de mapa raster de salida."
+msgid "Neighborhood analysis tool for vector point maps. Makes each cell value a function of the attribute values assigned to the vector points or centroids around it, and stores new cell values in an output raster map."
+msgstr "Hace que el valor de cada celda sea una función de los valores de los atributos asignados a los puntos vectoriales o centroides a su alrededor y guarda los nuevos valores de celda en una capa de mapa raster de salida."
 
 #: ../gui/wxpython/menustrings.py:333 ../gui/wxpython/menustrings.py:1240
 msgid "Overlay rasters"
@@ -11344,25 +10955,16 @@ msgid "Cross product"
 msgstr "Producto cruzado."
 
 #: ../gui/wxpython/menustrings.py:335 ../gui/wxpython/menustrings.py:1242
-msgid ""
-"Creates a cross product of the category values from multiple raster map "
-"layers."
-msgstr ""
-"Crea un producto cruzado de los valores de categoría a partir de múltiples "
-"capas de mapa raster."
+msgid "Creates a cross product of the category values from multiple raster map layers."
+msgstr "Crea un producto cruzado de los valores de categoría a partir de múltiples capas de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:336 ../gui/wxpython/menustrings.py:1243
 msgid "Patch raster maps"
 msgstr "Une mapas raster (patch)."
 
 #: ../gui/wxpython/menustrings.py:337 ../gui/wxpython/menustrings.py:1244
-msgid ""
-"Creates a composite raster map layer by using known category values from one "
-"(or more) map layer(s) to fill in areas of \"no data\" in another map layer."
-msgstr ""
-"Crea una capa de mapa raster compuesta usando valores de categoría conocidos "
-"de una (o más) capa(s) de mapa para rellenar áreas \"sin datos\" en otra "
-"capa de mapa."
+msgid "Creates a composite raster map layer by using known category values from one (or more) map layer(s) to fill in areas of \"no data\" in another map layer."
+msgstr "Crea una capa de mapa raster compuesta usando valores de categoría conocidos de una (o más) capa(s) de mapa para rellenar áreas \"sin datos\" en otra capa de mapa."
 
 #: ../gui/wxpython/menustrings.py:338 ../gui/wxpython/menustrings.py:1245
 #, fuzzy
@@ -11370,13 +10972,8 @@ msgid "Raster series aggregation"
 msgstr "Series de raster."
 
 #: ../gui/wxpython/menustrings.py:339 ../gui/wxpython/menustrings.py:1246
-msgid ""
-"Makes each output cell value a function of the values assigned to the "
-"corresponding cells in the input raster map layers."
-msgstr ""
-"Hace que cada valor de celda de salida sea una función de los valores "
-"asignados a las celdas correspondientes en las capas de mapa raster de "
-"entrada."
+msgid "Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers."
+msgstr "Hace que cada valor de celda de salida sea una función de los valores asignados a las celdas correspondientes en las capas de mapa raster de entrada."
 
 #: ../gui/wxpython/menustrings.py:340 ../gui/wxpython/menustrings.py:1247
 #, fuzzy
@@ -11385,13 +10982,8 @@ msgstr "Calculadora de mapas raster"
 
 #: ../gui/wxpython/menustrings.py:341 ../gui/wxpython/menustrings.py:1248
 #, fuzzy
-msgid ""
-"Makes each output cell value a accumulationfunction of the values assigned "
-"to the corresponding cells in the input raster map layers."
-msgstr ""
-"Hace que cada valor de celda de salida sea una función de los valores "
-"asignados a las celdas correspondientes en las capas de mapa raster de "
-"entrada."
+msgid "Makes each output cell value a accumulationfunction of the values assigned to the corresponding cells in the input raster map layers."
+msgstr "Hace que cada valor de celda de salida sea una función de los valores asignados a las celdas correspondientes en las capas de mapa raster de entrada."
 
 #: ../gui/wxpython/menustrings.py:342 ../gui/wxpython/menustrings.py:1249
 msgid "Statistical overlay"
@@ -11399,9 +10991,7 @@ msgstr "Superposición estadística."
 
 #: ../gui/wxpython/menustrings.py:343 ../gui/wxpython/menustrings.py:1250
 #, fuzzy
-msgid ""
-"Calculates category or object oriented statistics (accumulator-based "
-"statistics)."
+msgid "Calculates category or object oriented statistics (accumulator-based statistics)."
 msgstr "Calcula estadísticas orientadas a categorías u objetos."
 
 #: ../gui/wxpython/menustrings.py:344 ../gui/wxpython/menustrings.py:1251
@@ -11433,23 +11023,8 @@ msgstr "Irradiación solar e irradiación."
 
 #: ../gui/wxpython/menustrings.py:350 ../gui/wxpython/menustrings.py:1257
 #, fuzzy
-msgid ""
-"Solar irradiance and irradiation model. Computes direct (beam), diffuse and "
-"reflected solar irradiation raster maps for given day, latitude, surface and "
-"atmospheric conditions. Solar parameters (e.g. sunrise, sunset times, "
-"declination, extraterrestrial irradiance, daylight length) are saved in the "
-"map history file. Alternatively, a local time can be specified to compute "
-"solar incidence angle and/or irradiance raster maps. The shadowing effect of "
-"the topography is optionally incorporated."
-msgstr ""
-"Procesa mapas ráster de irradiación solar directa (rayo), difusa y reflejada "
-"para un día, latitud, superficie y condiciones atmosféricas dados. Los "
-"parámetros solares (ej. horas de salida y puesta del sol, declinación, "
-"irradiancia extraterrestre, duración del día) se guardan en el archivo "
-"histórico del mapa. De forma alternativa, se puede especificar una hora "
-"local para procesar el ángulo de incidencia solar y/o mapas ráster de "
-"irradiancia. El efecto de sombreo de la topografía se puede incorporar "
-"opcionalmente."
+msgid "Solar irradiance and irradiation model. Computes direct (beam), diffuse and reflected solar irradiation raster maps for given day, latitude, surface and atmospheric conditions. Solar parameters (e.g. sunrise, sunset times, declination, extraterrestrial irradiance, daylight length) are saved in the map history file. Alternatively, a local time can be specified to compute solar incidence angle and/or irradiance raster maps. The shadowing effect of the topography is optionally incorp [...]
+msgstr "Procesa mapas ráster de irradiación solar directa (rayo), difusa y reflejada para un día, latitud, superficie y condiciones atmosféricas dados. Los parámetros solares (ej. horas de salida y puesta del sol, declinación, irradiancia extraterrestre, duración del día) se guardan en el archivo histórico del mapa. De forma alternativa, se puede especificar una hora local para procesar el ángulo de incidencia solar y/o mapas ráster de irradiancia. El efecto de sombreo de la topografía s [...]
 
 #: ../gui/wxpython/menustrings.py:351 ../gui/wxpython/menustrings.py:1258
 msgid "Shadows map"
@@ -11457,15 +11032,8 @@ msgstr "Mapa de sombras."
 
 #: ../gui/wxpython/menustrings.py:352 ../gui/wxpython/menustrings.py:1259
 #, fuzzy
-msgid ""
-"Calculates cast shadow areas from sun position and elevation raster map. "
-"Either exact sun position (A) is specified, or date/time to calculate the "
-"sun position (B) by r.sunmask itself."
-msgstr ""
-"Calcula áreas en las que se produce sombra a partir de la posición del sol "
-"un modelo de elevación digital (DEM). Puede especificarse, A: Cualquier "
-"posición exacta del sol o B: Fecha / hora para calcular la posición del sol "
-"mediante el mismo r.sunmask."
+msgid "Calculates cast shadow areas from sun position and elevation raster map. Either exact sun position (A) is specified, or date/time to calculate the sun position (B) by r.sunmask itself."
+msgstr "Calcula áreas en las que se produce sombra a partir de la posición del sol un modelo de elevación digital (DEM). Puede especificarse, A: Cualquier posición exacta del sol o B: Fecha / hora para calcular la posición del sol mediante el mismo r.sunmask."
 
 #: ../gui/wxpython/menustrings.py:353 ../gui/wxpython/menustrings.py:1260
 #, fuzzy
@@ -11473,11 +11041,7 @@ msgid "Sunshine hours and solar angles"
 msgstr "Crear nuevo mapa vectorial"
 
 #: ../gui/wxpython/menustrings.py:354 ../gui/wxpython/menustrings.py:1261
-msgid ""
-"Calculates solar elevation, solar azimuth, and sun hours. Solar elevation: "
-"the angle between the direction of the geometric center of the sun's "
-"apparent disk and the (idealized) horizon. Solar azimuth: the angle from due "
-"north in clockwise direction."
+msgid "Calculates solar elevation, solar azimuth, and sun hours. Solar elevation: the angle between the direction of the geometric center of the sun's apparent disk and the (idealized) horizon. Solar azimuth: the angle from due north in clockwise direction."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:355 ../gui/wxpython/menustrings.py:1262
@@ -11490,23 +11054,15 @@ msgstr "Genera líneas de contorno."
 
 #: ../gui/wxpython/menustrings.py:357 ../gui/wxpython/menustrings.py:1264
 msgid "Produces a vector map of specified contours from a raster map."
-msgstr ""
-"Produce una capa de mapa vectorial de contornos especificados a partir de "
-"una capa de mapa raster."
+msgstr "Produce una capa de mapa vectorial de contornos especificados a partir de una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:358 ../gui/wxpython/menustrings.py:1265
 msgid "Cost surface"
 msgstr "Superficies de coste."
 
 #: ../gui/wxpython/menustrings.py:359 ../gui/wxpython/menustrings.py:1266
-msgid ""
-"Creates a raster map showing the cumulative cost of moving between different "
-"geographic locations on an input raster map whose cell category values "
-"represent cost."
-msgstr ""
-"Produce una capa de mapa raster que muestra el coste acumulado de moverse "
-"entre diferentes locaciones geográficas ubicadas en una capa de mapa raster "
-"de entrada cuyos valores de categoría de celdas representan un coste."
+msgid "Creates a raster map showing the cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost."
+msgstr "Produce una capa de mapa raster que muestra el coste acumulado de moverse entre diferentes locaciones geográficas ubicadas en una capa de mapa raster de entrada cuyos valores de categoría de celdas representan un coste."
 
 #: ../gui/wxpython/menustrings.py:360 ../gui/wxpython/menustrings.py:1267
 msgid "Cumulative movement costs"
@@ -11514,14 +11070,8 @@ msgstr "Costo de movimientos acumulados."
 
 #: ../gui/wxpython/menustrings.py:361 ../gui/wxpython/menustrings.py:1268
 #, fuzzy
-msgid ""
-"Creates a raster map showing the anisotropic cumulative cost of moving "
-"between different geographic locations on an input raster map whose cell "
-"category values represent cost."
-msgstr ""
-"Produce una capa de mapa raster que muestra el coste acumulado de moverse "
-"entre diferentes locaciones geográficas ubicadas en una capa de mapa raster "
-"de entrada cuyos valores de categoría de celdas representan un coste."
+msgid "Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost."
+msgstr "Produce una capa de mapa raster que muestra el coste acumulado de moverse entre diferentes locaciones geográficas ubicadas en una capa de mapa raster de entrada cuyos valores de categoría de celdas representan un coste."
 
 #: ../gui/wxpython/menustrings.py:362 ../gui/wxpython/menustrings.py:1269
 msgid "Least cost route or flow"
@@ -11529,10 +11079,8 @@ msgstr "Ruta o corriente de costes mínimos."
 
 #: ../gui/wxpython/menustrings.py:363 ../gui/wxpython/menustrings.py:1270
 #, fuzzy
-msgid ""
-"Traces a flow through an elevation model or cost surface on a raster map."
-msgstr ""
-"Traza un flujo mediante un modelo de elevación sobre una capa de mapa raster."
+msgid "Traces a flow through an elevation model or cost surface on a raster map."
+msgstr "Traza un flujo mediante un modelo de elevación sobre una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:364 ../gui/wxpython/menustrings.py:1271
 #, fuzzy
@@ -11542,8 +11090,7 @@ msgstr "Relieve sombreado."
 #: ../gui/wxpython/menustrings.py:365 ../gui/wxpython/menustrings.py:1272
 #, fuzzy
 msgid "Creates shaded relief map from an elevation map (DEM). "
-msgstr ""
-"Crea un mapa de sombreado de relieve a partir de uno de elevaciones (MDE)."
+msgstr "Crea un mapa de sombreado de relieve a partir de uno de elevaciones (MDE)."
 
 #: ../gui/wxpython/menustrings.py:366 ../gui/wxpython/menustrings.py:1273
 #, fuzzy
@@ -11560,15 +11107,8 @@ msgstr "Pendiente y aspecto (orientación)."
 
 #: ../gui/wxpython/menustrings.py:369 ../gui/wxpython/menustrings.py:1276
 #, fuzzy
-msgid ""
-"Generates raster maps of slope, aspect, curvatures and partial derivatives "
-"from an elevation raster map. Aspect is calculated counterclockwise from "
-"east."
-msgstr ""
-"Genera capas de mapa raster de pendiente, orientación, curvaturas y "
-"derivadas parciales a partir de una capa de mapa raster de valores reales de "
-"elevación. El aspecto (orientación) se calcula en sentido horario desde el "
-"Este."
+msgid "Generates raster maps of slope, aspect, curvatures and partial derivatives from an elevation raster map. Aspect is calculated counterclockwise from east."
+msgstr "Genera capas de mapa raster de pendiente, orientación, curvaturas y derivadas parciales a partir de una capa de mapa raster de valores reales de elevación. El aspecto (orientación) se calcula en sentido horario desde el Este."
 
 #: ../gui/wxpython/menustrings.py:370 ../gui/wxpython/menustrings.py:1277
 msgid "Terrain parameters"
@@ -11576,12 +11116,8 @@ msgstr "Parámetros del terreno."
 
 #: ../gui/wxpython/menustrings.py:371 ../gui/wxpython/menustrings.py:1278
 #, fuzzy
-msgid ""
-"Extracts terrain parameters from a DEM. Uses a multi-scale approach by "
-"taking fitting quadratic parameters to any size window (via least squares)."
-msgstr ""
-"Utiliza una aproximación multiescala tomando parámetros cuadráticos que se "
-"ajusten a cualquier tamaño de ventana (vía las menores esquinas)."
+msgid "Extracts terrain parameters from a DEM. Uses a multi-scale approach by taking fitting quadratic parameters to any size window (via least squares)."
+msgstr "Utiliza una aproximación multiescala tomando parámetros cuadráticos que se ajusten a cualquier tamaño de ventana (vía las menores esquinas)."
 
 #: ../gui/wxpython/menustrings.py:372 ../gui/wxpython/menustrings.py:1279
 msgid "Textural features"
@@ -11589,8 +11125,7 @@ msgstr "Objetos espaciales de textura."
 
 #: ../gui/wxpython/menustrings.py:373 ../gui/wxpython/menustrings.py:1280
 msgid "Generate images with textural features from a raster map."
-msgstr ""
-"Genera imágenes con objetos espaciales de textura a partir de un mapa raster."
+msgstr "Genera imágenes con objetos espaciales de textura a partir de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:374 ../gui/wxpython/menustrings.py:1281
 msgid "Visibility"
@@ -11598,26 +11133,15 @@ msgstr "Visibilidad."
 
 #: ../gui/wxpython/menustrings.py:375 ../gui/wxpython/menustrings.py:1282
 #, fuzzy
-msgid ""
-"Computes the viewshed of a point on an elevation raster map. Default format: "
-"NULL (invisible), vertical angle wrt viewpoint (visible)."
-msgstr ""
-"Calcula el índice de áreas de sombra a partir de la posición solar y del "
-"mapa raster de elevaciones."
+msgid "Computes the viewshed of a point on an elevation raster map. Default format: NULL (invisible), vertical angle wrt viewpoint (visible)."
+msgstr "Calcula el índice de áreas de sombra a partir de la posición solar y del mapa raster de elevaciones."
 
 #: ../gui/wxpython/menustrings.py:378 ../gui/wxpython/menustrings.py:1285
 msgid "Horizon angle"
 msgstr "Ángulo del horizonte."
 
 #: ../gui/wxpython/menustrings.py:379 ../gui/wxpython/menustrings.py:1286
-msgid ""
-"Computes horizon angle height from a digital elevation model. The module has "
-"two different modes of operation: 1. Computes the entire horizon around a "
-"single point whose coordinates are given with the 'coord' option. The "
-"horizon height (in radians). 2. Computes one or more raster maps of the "
-"horizon height in a single direction. The input for this is the angle (in "
-"degrees), which is measured counterclockwise with east=0, north=90 etc. The "
-"output is the horizon height in radians."
+msgid "Computes horizon angle height from a digital elevation model. The module has two different modes of operation: 1. Computes the entire horizon around a single point whose coordinates are given with the 'coord' option. The horizon height (in radians). 2. Computes one or more raster maps of the horizon height in a single direction. The input for this is the angle (in degrees), which is measured counterclockwise with east=0, north=90 etc. The output is the horizon height in radians."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:380 ../gui/wxpython/menustrings.py:1287
@@ -11629,12 +11153,8 @@ msgid "Clump"
 msgstr "Agrupar."
 
 #: ../gui/wxpython/menustrings.py:382 ../gui/wxpython/menustrings.py:1289
-msgid ""
-"Recategorizes data in a raster map by grouping cells that form physically "
-"discrete areas into unique categories."
-msgstr ""
-"Recategoriza datos en una capa de mapa raster, agrupando celdas que forman "
-"áreas físicamente discretas, en categorías únicas."
+msgid "Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories."
+msgstr "Recategoriza datos en una capa de mapa raster, agrupando celdas que forman áreas físicamente discretas, en categorías únicas."
 
 #: ../gui/wxpython/menustrings.py:383 ../gui/wxpython/menustrings.py:1290
 msgid "Grow"
@@ -11647,9 +11167,7 @@ msgstr "Adelgazar, afinar."
 #: ../gui/wxpython/menustrings.py:386 ../gui/wxpython/menustrings.py:1293
 #, fuzzy
 msgid "Thins non-null cells that denote linear features in a raster map layer."
-msgstr ""
-"Adelgaza o afina en una capa de mapa raster, celdas que denotan objetos "
-"espaciales lineales distintos a cero."
+msgstr "Adelgaza o afina en una capa de mapa raster, celdas que denotan objetos espaciales lineales distintos a cero."
 
 #: ../gui/wxpython/menustrings.py:387 ../gui/wxpython/menustrings.py:1294
 msgid "Hydrologic modeling"
@@ -11661,12 +11179,8 @@ msgstr "Esculpir canales formados por corrientes."
 
 #: ../gui/wxpython/menustrings.py:389 ../gui/wxpython/menustrings.py:1296
 #, fuzzy
-msgid ""
-"Generates stream channels. Takes vector stream data, transforms it to raster "
-"and subtracts depth from the output DEM."
-msgstr ""
-"Toma los datos vectoriales que señalan una corriente, los transforma a "
-"raster y resta la profundidad al MDE de salida."
+msgid "Generates stream channels. Takes vector stream data, transforms it to raster and subtracts depth from the output DEM."
+msgstr "Toma los datos vectoriales que señalan una corriente, los transforma a raster y resta la profundidad al MDE de salida."
 
 #: ../gui/wxpython/menustrings.py:390 ../gui/wxpython/menustrings.py:1297
 msgid "Fill lake"
@@ -11675,21 +11189,15 @@ msgstr "Rellenar lago."
 #: ../gui/wxpython/menustrings.py:391 ../gui/wxpython/menustrings.py:1298
 #, fuzzy
 msgid "Fills lake at given point to given level."
-msgstr ""
-"Rellenar un lago a partir de un punto de origen (seed) que se encuentra en "
-"un nivel dado."
+msgstr "Rellenar un lago a partir de un punto de origen (seed) que se encuentra en un nivel dado."
 
 #: ../gui/wxpython/menustrings.py:392 ../gui/wxpython/menustrings.py:1299
 msgid "Depressionless map and flowlines"
 msgstr "Mapa sin depresiones y líneas de flujo."
 
 #: ../gui/wxpython/menustrings.py:393 ../gui/wxpython/menustrings.py:1300
-msgid ""
-"Filters and generates a depressionless elevation map and a flow direction "
-"map from a given elevation raster map."
-msgstr ""
-"Filtra y genera un mapa de elevación sin depresiones y un mapa de dirección "
-"de flujo a partir de un mapa raster de elevaciones."
+msgid "Filters and generates a depressionless elevation map and a flow direction map from a given elevation raster map."
+msgstr "Filtra y genera un mapa de elevación sin depresiones y un mapa de dirección de flujo a partir de un mapa raster de elevaciones."
 
 #: ../gui/wxpython/menustrings.py:394 ../gui/wxpython/menustrings.py:1301
 msgid "Flow accumulation"
@@ -11706,13 +11214,8 @@ msgstr "Líneas de flujo."
 
 #: ../gui/wxpython/menustrings.py:397 ../gui/wxpython/menustrings.py:1304
 #, fuzzy
-msgid ""
-"Constructs flowlines. Computes flowlines, flowpath lengths, and "
-"flowaccumulation (contributing areas) from a elevation raster map."
-msgstr ""
-"Construcción de curvas de pendiente (líneas de flujo), longitudes de ruta de "
-"flujo y densidades de líneas de flujo (áreas pendiente arriba) a partir de "
-"un modelo raster de elevación digital (DEM)."
+msgid "Constructs flowlines. Computes flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a elevation raster map."
+msgstr "Construcción de curvas de pendiente (líneas de flujo), longitudes de ruta de flujo y densidades de líneas de flujo (áreas pendiente arriba) a partir de un modelo raster de elevación digital (DEM)."
 
 #: ../gui/wxpython/menustrings.py:398 ../gui/wxpython/menustrings.py:1305
 msgid "Watershed analysis"
@@ -11754,21 +11257,15 @@ msgstr "Modelado de flujo superficial SIMWE."
 
 #: ../gui/wxpython/menustrings.py:407 ../gui/wxpython/menustrings.py:1314
 msgid "Overland flow hydrologic simulation using path sampling method (SIMWE)."
-msgstr ""
-"Simulación de flujo hidrológico superficial utilizando un método de muestreo "
-"de ruta (SIMWE)."
+msgstr "Simulación de flujo hidrológico superficial utilizando un método de muestreo de ruta (SIMWE)."
 
 #: ../gui/wxpython/menustrings.py:408 ../gui/wxpython/menustrings.py:1315
 msgid "SIMWE Sediment flux modeling"
 msgstr "Modelado de flujos de sedimento SIMWE."
 
 #: ../gui/wxpython/menustrings.py:409 ../gui/wxpython/menustrings.py:1316
-msgid ""
-"Sediment transport and erosion/deposition simulation using path sampling "
-"method (SIMWE)."
-msgstr ""
-"Simulación de transporte de sedimento y erosión/deposición utilizando el "
-"método de muestreo de rutas (SIMWE)."
+msgid "Sediment transport and erosion/deposition simulation using path sampling method (SIMWE)."
+msgstr "Simulación de transporte de sedimento y erosión/deposición utilizando el método de muestreo de rutas (SIMWE)."
 
 #: ../gui/wxpython/menustrings.py:410 ../gui/wxpython/menustrings.py:1317
 msgid "Topographic index map"
@@ -11776,11 +11273,8 @@ msgstr "Mapa de índice topográfico."
 
 #: ../gui/wxpython/menustrings.py:411 ../gui/wxpython/menustrings.py:1318
 #, fuzzy
-msgid ""
-"Creates a topographic index (wetness index) raster map from an elevation "
-"raster map."
-msgstr ""
-"Crea mapa de índices topográficos a partir de un mapa raster de elevación."
+msgid "Creates a topographic index (wetness index) raster map from an elevation raster map."
+msgstr "Crea mapa de índices topográficos a partir de un mapa raster de elevación."
 
 #: ../gui/wxpython/menustrings.py:412 ../gui/wxpython/menustrings.py:1319
 msgid "TOPMODEL simulation"
@@ -11816,21 +11310,15 @@ msgid "Groundwater flow"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:420 ../gui/wxpython/menustrings.py:1327
-msgid ""
-"Numerical calculation program for transient, confined and unconfined "
-"groundwater flow in two dimensions."
-msgstr ""
-"Programa de cálculo numérico para flujo de aguas subterráneas temporales, "
-"confinadas i no confinadas  en dos dimensiones"
+msgid "Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions."
+msgstr "Programa de cálculo numérico para flujo de aguas subterráneas temporales, confinadas i no confinadas  en dos dimensiones"
 
 #: ../gui/wxpython/menustrings.py:421 ../gui/wxpython/menustrings.py:1328
 msgid "Groundwater solute transport"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:422 ../gui/wxpython/menustrings.py:1329
-msgid ""
-"Numerical calculation program for transient, confined and unconfined solute "
-"transport in two dimensions"
+msgid "Numerical calculation program for transient, confined and unconfined solute transport in two dimensions"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:423 ../gui/wxpython/menustrings.py:1330
@@ -11850,11 +11338,8 @@ msgid "Edge density"
 msgstr "Densidad de borde."
 
 #: ../gui/wxpython/menustrings.py:427 ../gui/wxpython/menustrings.py:1334
-msgid ""
-"Calculates edge density index on a raster map, using a 4 neighbour algorithm"
-msgstr ""
-"Calcula el índice de densidad de borde en un mapa raster usando un algoritmo "
-"de 4 bordes vecinos."
+msgid "Calculates edge density index on a raster map, using a 4 neighbour algorithm"
+msgstr "Calcula el índice de densidad de borde en un mapa raster usando un algoritmo de 4 bordes vecinos."
 
 #: ../gui/wxpython/menustrings.py:428 ../gui/wxpython/menustrings.py:1335
 msgid "Contrast weighted edge density"
@@ -11862,21 +11347,15 @@ msgstr "Contraste ponderado de densidad de borde."
 
 #: ../gui/wxpython/menustrings.py:429 ../gui/wxpython/menustrings.py:1336
 msgid "Calculates contrast weighted edge density index on a raster map"
-msgstr ""
-"Calcula el índice ponderado de contraste de densidad de bordes, en un mapa "
-"raster."
+msgstr "Calcula el índice ponderado de contraste de densidad de bordes, en un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:430 ../gui/wxpython/menustrings.py:1337
 msgid "Patch area mean"
 msgstr "Promedio de área de parcela."
 
 #: ../gui/wxpython/menustrings.py:431 ../gui/wxpython/menustrings.py:1338
-msgid ""
-"Calculates mean patch size index on a raster map, using a 4 neighbour "
-"algorithm"
-msgstr ""
-"Calcula el índice de tamaño medio de parcela en un mapa raster usando un "
-"algoritmo de 4 parcelas vecinas."
+msgid "Calculates mean patch size index on a raster map, using a 4 neighbour algorithm"
+msgstr "Calcula el índice de tamaño medio de parcela en un mapa raster usando un algoritmo de 4 parcelas vecinas."
 
 #: ../gui/wxpython/menustrings.py:432 ../gui/wxpython/menustrings.py:1339
 msgid "Patch area range"
@@ -11900,30 +11379,23 @@ msgstr "Coeficiente de varianza de superficie de parcela."
 
 #: ../gui/wxpython/menustrings.py:437 ../gui/wxpython/menustrings.py:1344
 msgid "Calculates coefficient of variation of patch area on a raster map"
-msgstr ""
-"Calcula el coeficiente de varianza del área de parcela en un mapa raster."
+msgstr "Calcula el coeficiente de varianza del área de parcela en un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:438 ../gui/wxpython/menustrings.py:1345
 msgid "Patch density"
 msgstr "Densidad de parcela."
 
 #: ../gui/wxpython/menustrings.py:439 ../gui/wxpython/menustrings.py:1346
-msgid ""
-"Calculates patch density index on a raster map, using a 4 neighbour algorithm"
-msgstr ""
-"Calcula el índice de densidad de parcela sobre un mapa raster, usando un "
-"algoritmo de 4 parcelas vecinas"
+msgid "Calculates patch density index on a raster map, using a 4 neighbour algorithm"
+msgstr "Calcula el índice de densidad de parcela sobre un mapa raster, usando un algoritmo de 4 parcelas vecinas"
 
 #: ../gui/wxpython/menustrings.py:440 ../gui/wxpython/menustrings.py:1347
 msgid "Patch number"
 msgstr "Número de parcela."
 
 #: ../gui/wxpython/menustrings.py:441 ../gui/wxpython/menustrings.py:1348
-msgid ""
-"Calculates patch number index on a raster map, using a 4 neighbour algorithm."
-msgstr ""
-"Calcula el número de índice de parcela en un mapa raster usando un algoritmo "
-"de 4 parcelas vecinas."
+msgid "Calculates patch number index on a raster map, using a 4 neighbour algorithm."
+msgstr "Calcula el número de índice de parcela en un mapa raster usando un algoritmo de 4 parcelas vecinas."
 
 #: ../gui/wxpython/menustrings.py:442 ../gui/wxpython/menustrings.py:1349
 msgid "Dominance's diversity"
@@ -11976,28 +11448,16 @@ msgstr "Relación de propagación."
 
 #: ../gui/wxpython/menustrings.py:454 ../gui/wxpython/menustrings.py:1361
 #, fuzzy
-msgid ""
-"Generates rate of spread raster maps. Generates three, or four raster map "
-"layers showing the base (perpendicular) rate of spread (ROS), the maximum "
-"(forward) ROS, the direction of the maximum ROS, and optionally the maximum "
-"potential spotting distance for fire spread simulation."
-msgstr ""
-"Genera tres o cuatro capas de mapa raster mostrando 1) la tasa de "
-"propagación (ROS) básica (perpendicular), 2) la ROS máxima (hacia delante), "
-"3) la dirección de la máxima ROS y (opcionalmente) 4) la distancia potencial "
-"máxima de detección."
+msgid "Generates rate of spread raster maps. Generates three, or four raster map layers showing the base (perpendicular) rate of spread (ROS), the maximum (forward) ROS, the direction of the maximum ROS, and optionally the maximum potential spotting distance for fire spread simulation."
+msgstr "Genera tres o cuatro capas de mapa raster mostrando 1) la tasa de propagación (ROS) básica (perpendicular), 2) la ROS máxima (hacia delante), 3) la dirección de la máxima ROS y (opcionalmente) 4) la distancia potencial máxima de detección."
 
 #: ../gui/wxpython/menustrings.py:455 ../gui/wxpython/menustrings.py:1362
 msgid "Least-cost spread paths"
 msgstr "Rutas de propagación de menor coste."
 
 #: ../gui/wxpython/menustrings.py:456 ../gui/wxpython/menustrings.py:1363
-msgid ""
-"Recursively traces the least cost path backwards to cells from which the "
-"cumulative cost was determined."
-msgstr ""
-"Traza de forma recursiva la ruta de menor coste de vuelta hacia las celdas "
-"desde las que se determinó el coste acumulado."
+msgid "Recursively traces the least cost path backwards to cells from which the cumulative cost was determined."
+msgstr "Traza de forma recursiva la ruta de menor coste de vuelta hacia las celdas desde las que se determinó el coste acumulado."
 
 #: ../gui/wxpython/menustrings.py:457 ../gui/wxpython/menustrings.py:1364
 msgid "Anisotropic spread simulation"
@@ -12005,17 +11465,8 @@ msgstr "Simulación de propagación anisotrópica."
 
 #: ../gui/wxpython/menustrings.py:458 ../gui/wxpython/menustrings.py:1365
 #, fuzzy
-msgid ""
-"Simulates elliptically anisotropic spread. Generates a raster map of the "
-"cumulative time of spread, given raster maps containing the rates of spread "
-"(ROS), the ROS directions and the spread origins. It optionally produces "
-"raster maps to contain backlink UTM coordinates for tracing spread paths. "
-"Usable for fire spread simulations."
-msgstr ""
-"Simula una propagación ansiotrópica elíptica en una ventana gráfica y genera "
-"un mapa raster del tiempo acumulativo de dispersión, a partir de mapas "
-"raster dados que contengan las tasas de propagación(ROS), las direcciones de "
-"ROS y los orígenes de propagación."
+msgid "Simulates elliptically anisotropic spread. Generates a raster map of the cumulative time of spread, given raster maps containing the rates of spread (ROS), the ROS directions and the spread origins. It optionally produces raster maps to contain backlink UTM coordinates for tracing spread paths. Usable for fire spread simulations."
+msgstr "Simula una propagación ansiotrópica elíptica en una ventana gráfica y genera un mapa raster del tiempo acumulativo de dispersión, a partir de mapas raster dados que contengan las tasas de propagación(ROS), las direcciones de ROS y los orígenes de propagación."
 
 #: ../gui/wxpython/menustrings.py:459 ../gui/wxpython/menustrings.py:1366
 msgid "Change category values and labels"
@@ -12028,12 +11479,8 @@ msgstr "Administrar información de categoría."
 
 #: ../gui/wxpython/menustrings.py:461 ../gui/wxpython/menustrings.py:513
 #: ../gui/wxpython/menustrings.py:1368 ../gui/wxpython/menustrings.py:1420
-msgid ""
-"Manages category values and labels associated with user-specified raster map "
-"layers."
-msgstr ""
-"Administra valores de categoría y etiquetas asociados con las capas de mapa "
-"raster especificadas por el usuario."
+msgid "Manages category values and labels associated with user-specified raster map layers."
+msgstr "Administra valores de categoría y etiquetas asociados con las capas de mapa raster especificadas por el usuario."
 
 #: ../gui/wxpython/menustrings.py:462 ../gui/wxpython/menustrings.py:1369
 msgid "Interactively edit category values"
@@ -12049,12 +11496,8 @@ msgid "Reclassify by size"
 msgstr "Reclasificar por tamaño."
 
 #: ../gui/wxpython/menustrings.py:465 ../gui/wxpython/menustrings.py:1372
-msgid ""
-"Reclasses a raster map greater or less than user specified area size (in "
-"hectares)."
-msgstr ""
-"Reclasifica un mapa raster mayor o menor que la superficie indicada por el "
-"usuario (en hectáreas)."
+msgid "Reclasses a raster map greater or less than user specified area size (in hectares)."
+msgstr "Reclasifica un mapa raster mayor o menor que la superficie indicada por el usuario (en hectáreas)."
 
 #: ../gui/wxpython/menustrings.py:466 ../gui/wxpython/menustrings.py:672
 #: ../gui/wxpython/menustrings.py:1373 ../gui/wxpython/menustrings.py:1579
@@ -12063,13 +11506,8 @@ msgstr "Reclasificar"
 
 #: ../gui/wxpython/menustrings.py:467 ../gui/wxpython/menustrings.py:1374
 #, fuzzy
-msgid ""
-"Reclassify raster map based on category values. Creates a new raster map "
-"whose category values are based upon a reclassification of the categories in "
-"an existing raster map."
-msgstr ""
-"Crea una nueva capa de mapa cuyos valores de categorías están basados en una "
-"reclasificación de las categorías de una capa de mapa raster existente."
+msgid "Reclassify raster map based on category values. Creates a new raster map whose category values are based upon a reclassification of the categories in an existing raster map."
+msgstr "Crea una nueva capa de mapa cuyos valores de categorías están basados en una reclasificación de las categorías de una capa de mapa raster existente."
 
 #: ../gui/wxpython/menustrings.py:468 ../gui/wxpython/menustrings.py:1375
 msgid "Recode"
@@ -12092,9 +11530,7 @@ msgid "Rescale with histogram"
 msgstr "Rescalar con histograma."
 
 #: ../gui/wxpython/menustrings.py:473 ../gui/wxpython/menustrings.py:1380
-msgid ""
-"Rescales histogram equalized the range of category values in a raster map "
-"layer."
+msgid "Rescales histogram equalized the range of category values in a raster map layer."
 msgstr "Rescala el histograma raster."
 
 #: ../gui/wxpython/menustrings.py:474 ../gui/wxpython/menustrings.py:1381
@@ -12114,12 +11550,8 @@ msgid "Random cells and vector points"
 msgstr "Celdas aleatorias y puntos vectoriales."
 
 #: ../gui/wxpython/menustrings.py:478 ../gui/wxpython/menustrings.py:1385
-msgid ""
-"Creates a raster map layer and vector point map containing randomly located "
-"points."
-msgstr ""
-"Crea una capa de mapa raster y un mapa vectorial de puntos que contiene "
-"lugares (puntos) situados de forma aleatoria."
+msgid "Creates a raster map layer and vector point map containing randomly located points."
+msgstr "Crea una capa de mapa raster y un mapa vectorial de puntos que contiene lugares (puntos) situados de forma aleatoria."
 
 #: ../gui/wxpython/menustrings.py:479 ../gui/wxpython/menustrings.py:1386
 msgid "Generate surfaces"
@@ -12139,14 +11571,8 @@ msgstr "Superficie de densidad de núcleo gausiano."
 
 #: ../gui/wxpython/menustrings.py:483 ../gui/wxpython/menustrings.py:1390
 #, fuzzy
-msgid ""
-"Generates a raster density map from vector points map. Density is computed "
-"using a moving kernel. Optionally generates a vector density map on a vector "
-"network."
-msgstr ""
-"Genera un mapa raster de densidad a partir de datos de puntos vectoriales "
-"usando un moving kernel u opcionalmente genera un mapa vectorial de densidad "
-"en una red vectorial."
+msgid "Generates a raster density map from vector points map. Density is computed using a moving kernel. Optionally generates a vector density map on a vector network."
+msgstr "Genera un mapa raster de densidad a partir de datos de puntos vectoriales usando un moving kernel u opcionalmente genera un mapa vectorial de densidad en una red vectorial."
 
 #: ../gui/wxpython/menustrings.py:484 ../gui/wxpython/menustrings.py:1391
 msgid "Gaussian deviates surface"
@@ -12154,20 +11580,12 @@ msgstr "Superficie gaussiana derivada."
 
 #: ../gui/wxpython/menustrings.py:485 ../gui/wxpython/menustrings.py:1392
 #, fuzzy
-msgid ""
-"Generates a raster map using gaussian random number generator. Mean and "
-"standard deviation of gaussian deviates can be expressed by the user."
-msgstr ""
-"Genera una capa de mapa raster de la distancia a elementos ubicados en una "
-"capa de entrada."
+msgid "Generates a raster map using gaussian random number generator. Mean and standard deviation of gaussian deviates can be expressed by the user."
+msgstr "Genera una capa de mapa raster de la distancia a elementos ubicados en una capa de entrada."
 
 #: ../gui/wxpython/menustrings.py:487 ../gui/wxpython/menustrings.py:1394
-msgid ""
-"Creates raster plane map given dip (inclination), aspect (azimuth) and one "
-"point."
-msgstr ""
-"Crea un mapa raster plano dando pendiente (inclinación), orientación "
-"(azimut) y un punto."
+msgid "Creates raster plane map given dip (inclination), aspect (azimuth) and one point."
+msgstr "Crea un mapa raster plano dando pendiente (inclinación), orientación (azimut) y un punto."
 
 #: ../gui/wxpython/menustrings.py:488 ../gui/wxpython/menustrings.py:1395
 msgid "Random deviates surface"
@@ -12175,11 +11593,8 @@ msgstr "Superficie derivada aleatoria."
 
 #: ../gui/wxpython/menustrings.py:489 ../gui/wxpython/menustrings.py:1396
 #, fuzzy
-msgid ""
-"Produces a raster surface map of uniform random deviates with defined range."
-msgstr ""
-"Realiza un mapa raster de desviaciones aleatorias uniformes cuyo intervalo "
-"puede ser expresado por el usuario."
+msgid "Produces a raster surface map of uniform random deviates with defined range."
+msgstr "Realiza un mapa raster de desviaciones aleatorias uniformes cuyo intervalo puede ser expresado por el usuario."
 
 #: ../gui/wxpython/menustrings.py:490 ../gui/wxpython/menustrings.py:1397
 msgid "Random surface with spatial dependence"
@@ -12199,11 +11614,8 @@ msgstr "Bilineal y bicúbica a partir de puntos vectoriales."
 
 #: ../gui/wxpython/menustrings.py:494 ../gui/wxpython/menustrings.py:1401
 #, fuzzy
-msgid ""
-"Performs bicubic or bilinear spline interpolation with Tykhonov "
-"regularization."
-msgstr ""
-"Interpolación de spline bicúbica o bilineal con regularización Tykhonov."
+msgid "Performs bicubic or bilinear spline interpolation with Tykhonov regularization."
+msgstr "Interpolación de spline bicúbica o bilineal con regularización Tykhonov."
 
 #: ../gui/wxpython/menustrings.py:495 ../gui/wxpython/menustrings.py:1402
 msgid "IDW from raster points"
@@ -12211,12 +11623,8 @@ msgstr "IDW a partir de puntos raster."
 
 #: ../gui/wxpython/menustrings.py:496 ../gui/wxpython/menustrings.py:1403
 #, fuzzy
-msgid ""
-"Provides surface interpolation from raster point data by Inverse Distance "
-"Squared Weighting."
-msgstr ""
-"Interpolación de superficies a partir de datos de puntos vectoriales "
-"mediante la ponderación inversa del cuadrado de la distancia."
+msgid "Provides surface interpolation from raster point data by Inverse Distance Squared Weighting."
+msgstr "Interpolación de superficies a partir de datos de puntos vectoriales mediante la ponderación inversa del cuadrado de la distancia."
 
 #: ../gui/wxpython/menustrings.py:497 ../gui/wxpython/menustrings.py:1404
 msgid "IDW from vector points"
@@ -12224,12 +11632,8 @@ msgstr "IDW a partir de puntos vectoriales."
 
 #: ../gui/wxpython/menustrings.py:498 ../gui/wxpython/menustrings.py:1405
 #, fuzzy
-msgid ""
-"Provides surface interpolation from vector point data by Inverse Distance "
-"Squared Weighting."
-msgstr ""
-"Interpolación de superficies a partir de datos de puntos vectoriales "
-"mediante la ponderación inversa del cuadrado de la distancia."
+msgid "Provides surface interpolation from vector point data by Inverse Distance Squared Weighting."
+msgstr "Interpolación de superficies a partir de datos de puntos vectoriales mediante la ponderación inversa del cuadrado de la distancia."
 
 #: ../gui/wxpython/menustrings.py:499 ../gui/wxpython/menustrings.py:1406
 msgid "Raster contours"
@@ -12238,8 +11642,7 @@ msgstr "Contornos raster."
 #: ../gui/wxpython/menustrings.py:500 ../gui/wxpython/menustrings.py:1407
 #, fuzzy
 msgid "Generates surface raster map from rasterized contours."
-msgstr ""
-"Programa de generación de superficies a partir de contornos rasterizados."
+msgstr "Programa de generación de superficies a partir de contornos rasterizados."
 
 #: ../gui/wxpython/menustrings.py:501 ../gui/wxpython/menustrings.py:1408
 msgid "Regularized spline tension"
@@ -12247,15 +11650,8 @@ msgstr "Tensión spline regularizada."
 
 #: ../gui/wxpython/menustrings.py:502 ../gui/wxpython/menustrings.py:1409
 #, fuzzy
-msgid ""
-"Performs surface interpolation from vector points map by splines. Spatial "
-"approximation and topographic analysis from given point or isoline data in "
-"vector format to floating point raster format using regularized spline with "
-"tension."
-msgstr ""
-"Aproximación espacial y análisis topográfico a partir de datos de puntos o "
-"isolíneas dados en formato vectorial a formato raster de coma flotante "
-"usando spline regularizada con tensión."
+msgid "Performs surface interpolation from vector points map by splines. Spatial approximation and topographic analysis from given point or isoline data in vector format to floating point raster format using regularized spline with tension."
+msgstr "Aproximación espacial y análisis topográfico a partir de datos de puntos o isolíneas dados en formato vectorial a formato raster de coma flotante usando spline regularizada con tensión."
 
 #: ../gui/wxpython/menustrings.py:503 ../gui/wxpython/menustrings.py:1410
 #, fuzzy
@@ -12263,9 +11659,7 @@ msgid "Raster series interpolation"
 msgstr "Regresión lineal."
 
 #: ../gui/wxpython/menustrings.py:504 ../gui/wxpython/menustrings.py:1411
-msgid ""
-"Interpolates raster maps located (temporal or spatial) in between input "
-"raster maps at specific sampling positions."
+msgid "Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:505 ../gui/wxpython/menustrings.py:1412
@@ -12283,9 +11677,7 @@ msgstr "Rellenas celdas NULAS."
 #: ../gui/wxpython/menustrings.py:508 ../gui/wxpython/menustrings.py:1415
 #, fuzzy
 msgid "Fills no-data areas in raster maps using spline interpolation."
-msgstr ""
-"Rellenar áreas sin datos de mapas raster, usando la interpolación de splines "
-"de v.sufr.rst"
+msgstr "Rellenar áreas sin datos de mapas raster, usando la interpolación de splines de v.sufr.rst"
 
 #: ../gui/wxpython/menustrings.py:509 ../gui/wxpython/menustrings.py:711
 #: ../gui/wxpython/menustrings.py:821 ../gui/wxpython/menustrings.py:989
@@ -12326,9 +11718,7 @@ msgstr "Intervalo de valores de categoría."
 
 #: ../gui/wxpython/menustrings.py:519 ../gui/wxpython/menustrings.py:1426
 msgid "Prints terse list of category values found in a raster map layer."
-msgstr ""
-"Imprime lista concisa de los valores de categoría que se encuentran en una "
-"capa de un mapa raster."
+msgstr "Imprime lista concisa de los valores de categoría que se encuentran en una capa de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:520 ../gui/wxpython/menustrings.py:1427
 msgid "Sum area by raster map and category"
@@ -12345,13 +11735,8 @@ msgstr "Estadísticas de celdas agrupadas."
 
 #: ../gui/wxpython/menustrings.py:523 ../gui/wxpython/menustrings.py:1430
 #, fuzzy
-msgid ""
-"Calculates the volume of data \"clumps\". Optionally produces a GRASS vector "
-"points map containing the calculated centroids of these clumps."
-msgstr ""
-"Calcula el volumen de datos de \"masas\", y (opcionalmente) produce un mapa "
-"de GRASS de puntos vectoriales que contiene los centroides calculados a "
-"partir de estos grupos."
+msgid "Calculates the volume of data \"clumps\". Optionally produces a GRASS vector points map containing the calculated centroids of these clumps."
+msgstr "Calcula el volumen de datos de \"masas\", y (opcionalmente) produce un mapa de GRASS de puntos vectoriales que contiene los centroides calculados a partir de estos grupos."
 
 #: ../gui/wxpython/menustrings.py:524 ../gui/wxpython/menustrings.py:1431
 msgid "Total corrected area"
@@ -12363,11 +11748,7 @@ msgid "Prints estimation of surface area for raster map."
 msgstr "Calcula la desviación estándar del área de parcela en un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:527 ../gui/wxpython/menustrings.py:1434
-msgid ""
-"Calculates univariate statistics from the non-null cells of a raster map. "
-"Statistics include number of cells counted, minimum and maximum cell values, "
-"range, arithmetic mean, population variance, standard deviation, coefficient "
-"of variation, and sum."
+msgid "Calculates univariate statistics from the non-null cells of a raster map. Statistics include number of cells counted, minimum and maximum cell values, range, arithmetic mean, population variance, standard deviation, coefficient of variation, and sum."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:528 ../gui/wxpython/menustrings.py:1435
@@ -12376,32 +11757,23 @@ msgstr "Muestrear transectos."
 
 #: ../gui/wxpython/menustrings.py:529 ../gui/wxpython/menustrings.py:1436
 msgid "Outputs the raster map layer values lying on user-defined line(s)."
-msgstr ""
-"Presenta los valores de una capa de mapa raster basándose en lineamiento(s) "
-"definido(s) por el usuario."
+msgstr "Presenta los valores de una capa de mapa raster basándose en lineamiento(s) definido(s) por el usuario."
 
 #: ../gui/wxpython/menustrings.py:530 ../gui/wxpython/menustrings.py:1437
 msgid "Sample transects (bearing/distance)"
 msgstr "Muestrear transectos (rumbo / distancia)."
 
 #: ../gui/wxpython/menustrings.py:531 ../gui/wxpython/menustrings.py:1438
-msgid ""
-"Outputs raster map layer values lying along user defined transect line(s)."
-msgstr ""
-"Produce valores de capa de mapa raster que caen a lo largo de línea(s) de "
-"transecto definidas por el usuario."
+msgid "Outputs raster map layer values lying along user defined transect line(s)."
+msgstr "Produce valores de capa de mapa raster que caen a lo largo de línea(s) de transecto definidas por el usuario."
 
 #: ../gui/wxpython/menustrings.py:532 ../gui/wxpython/menustrings.py:1439
 msgid "Covariance/correlation"
 msgstr "Covarianza / correlación."
 
 #: ../gui/wxpython/menustrings.py:533 ../gui/wxpython/menustrings.py:1440
-msgid ""
-"Outputs a covariance/correlation matrix for user-specified raster map "
-"layer(s)."
-msgstr ""
-"Produce una matriz de covarianza / correlación para la(s) capa(s) de mapa "
-"raster especificada por el usuario."
+msgid "Outputs a covariance/correlation matrix for user-specified raster map layer(s)."
+msgstr "Produce una matriz de covarianza / correlación para la(s) capa(s) de mapa raster especificada por el usuario."
 
 #: ../gui/wxpython/menustrings.py:534 ../gui/wxpython/menustrings.py:1441
 msgid "Linear regression"
@@ -12427,12 +11799,8 @@ msgid "Mutual category occurrences"
 msgstr "Acontecimientos mutuos de categoría."
 
 #: ../gui/wxpython/menustrings.py:539 ../gui/wxpython/menustrings.py:1446
-msgid ""
-"Tabulates the mutual occurrence (coincidence) of categories for two raster "
-"map layers."
-msgstr ""
-"Tabula la ocurrencia mutua (coincidencia) de categorías para dos capas de "
-"mapa raster."
+msgid "Tabulates the mutual occurrence (coincidence) of categories for two raster map layers."
+msgstr "Tabula la ocurrencia mutua (coincidencia) de categorías para dos capas de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:540 ../gui/wxpython/menustrings.py:1447
 msgid "&Vector"
@@ -12443,8 +11811,8 @@ msgid "Develop vector map"
 msgstr "Elaborar mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Crear nuevo mapa vectorial."
 
@@ -12457,12 +11825,8 @@ msgid "Edit vector map (non-interactively)"
 msgstr "Editar un mapa vectorial (en forma no interactiva)."
 
 #: ../gui/wxpython/menustrings.py:545 ../gui/wxpython/menustrings.py:1452
-msgid ""
-"Edits a vector map, allows adding, deleting and modifying selected vector "
-"features."
-msgstr ""
-"Edita un mapa vectorial, permite añadir, eliminar y modificar "
-"características seleccionadas de un vector."
+msgid "Edits a vector map, allows adding, deleting and modifying selected vector features."
+msgstr "Edita un mapa vectorial, permite añadir, eliminar y modificar características seleccionadas de un vector."
 
 #: ../gui/wxpython/menustrings.py:546 ../gui/wxpython/menustrings.py:1453
 msgid "Convert object types"
@@ -12486,12 +11850,8 @@ msgid "Dissolve boundaries"
 msgstr "Disolver contornos."
 
 #: ../gui/wxpython/menustrings.py:551 ../gui/wxpython/menustrings.py:1458
-msgid ""
-"Dissolves boundaries between adjacent areas sharing a common category number "
-"or attribute."
-msgstr ""
-"Disuelve contornos entre áreas adyacentes que comparten un número de "
-"categoría o atributo común."
+msgid "Dissolves boundaries between adjacent areas sharing a common category number or attribute."
+msgstr "Disuelve contornos entre áreas adyacentes que comparten un número de categoría o atributo común."
 
 #: ../gui/wxpython/menustrings.py:552 ../gui/wxpython/menustrings.py:1459
 msgid "Create 3D vector over raster"
@@ -12507,9 +11867,7 @@ msgid "Extrude 3D vector map"
 msgstr "Extruir mapa vectorial 3D."
 
 #: ../gui/wxpython/menustrings.py:555 ../gui/wxpython/menustrings.py:1462
-msgid ""
-"Extrudes flat vector features to 3D vector features with defined height. "
-"Optionally the height can be derived from sampling of elevation raster map."
+msgid "Extrudes flat vector features to 3D vector features with defined height. Optionally the height can be derived from sampling of elevation raster map."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:556 ../gui/wxpython/menustrings.py:1463
@@ -12518,9 +11876,7 @@ msgstr "Crear etiquetas."
 
 #: ../gui/wxpython/menustrings.py:557 ../gui/wxpython/menustrings.py:1464
 msgid "Creates paint labels for a vector map from attached attributes."
-msgstr ""
-"Crea etiquetas de pintura para un mapa vectorial a partir de atributos "
-"asociados."
+msgstr "Crea etiquetas de pintura para un mapa vectorial a partir de atributos asociados."
 
 #: ../gui/wxpython/menustrings.py:558 ../gui/wxpython/menustrings.py:1465
 msgid "Reposition vector map"
@@ -12528,11 +11884,8 @@ msgstr "Reposicionar mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:559 ../gui/wxpython/menustrings.py:1466
 #, fuzzy
-msgid ""
-"Performs an affine transformation (shift, scale and rotate) on vector map."
-msgstr ""
-"Realiza una transformación afín (Dezplazamiento, escalado y rotación o "
-"mediante puntos de control sobre el terreno GPCs) sobre un mapa vectorial."
+msgid "Performs an affine transformation (shift, scale and rotate) on vector map."
+msgstr "Realiza una transformación afín (Dezplazamiento, escalado y rotación o mediante puntos de control sobre el terreno GPCs) sobre un mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:560 ../gui/wxpython/menustrings.py:1467
 #, fuzzy
@@ -12541,12 +11894,8 @@ msgstr "Seleccionar un mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:561 ../gui/wxpython/menustrings.py:1468
 #, fuzzy
-msgid ""
-"Rectifies a vector by computing a coordinate transformation for each object "
-"in the vector based on the control points."
-msgstr ""
-"Rectifica una imagen calculando una transformación de coordenadas para cada "
-"píxel de la imagen basada en los puntos de control."
+msgid "Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points."
+msgstr "Rectifica una imagen calculando una transformación de coordenadas para cada píxel de la imagen basada en los puntos de control."
 
 #: ../gui/wxpython/menustrings.py:565 ../gui/wxpython/menustrings.py:1472
 msgid "Updates vector map metadata."
@@ -12562,9 +11911,7 @@ msgid "Create or rebuild topology"
 msgstr "Crear o reconstruir topología."
 
 #: ../gui/wxpython/menustrings.py:568 ../gui/wxpython/menustrings.py:1475
-msgid ""
-"Creates topology for vector map. Optionally also checks for topological "
-"errors."
+msgid "Creates topology for vector map. Optionally also checks for topological errors."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:569 ../gui/wxpython/menustrings.py:1476
@@ -12573,9 +11920,7 @@ msgstr "Reconstruir topología en todos los mapas vectoriales"
 
 #: ../gui/wxpython/menustrings.py:570 ../gui/wxpython/menustrings.py:1477
 msgid "Rebuilds topology on all vector maps in the current mapset."
-msgstr ""
-"Reconstruye la topología en todos los mapas vectoriales del actual "
-"directorio de mapas."
+msgstr "Reconstruye la topología en todos los mapas vectoriales del actual directorio de mapas."
 
 #: ../gui/wxpython/menustrings.py:571 ../gui/wxpython/menustrings.py:1478
 msgid "Build polylines"
@@ -12629,8 +11974,7 @@ msgstr "Añade los centroides faltantes a contornos cerrados."
 #: ../gui/wxpython/menustrings.py:585 ../gui/wxpython/menustrings.py:1492
 #, fuzzy
 msgid "Creates/modifies the color table associated with a vector map."
-msgstr ""
-"Crea / modifica la tabla de colores asociada a una capa de mapa raster."
+msgstr "Crea / modifica la tabla de colores asociada a una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:587 ../gui/wxpython/menustrings.py:1494
 msgid "Interactive management of vector color tables."
@@ -12676,12 +12020,8 @@ msgstr "Duplicar atributos"
 
 #: ../gui/wxpython/menustrings.py:597 ../gui/wxpython/menustrings.py:1504
 #, fuzzy
-msgid ""
-"Selects vector features from an existing vector map and creates a new vector "
-"map containing only the selected features."
-msgstr ""
-"Selecciona objetos vectoriales de un mapa vectorial existente y crea un "
-"nuevo mapa que contiene sólo los objetos seleccionados."
+msgid "Selects vector features from an existing vector map and creates a new vector map containing only the selected features."
+msgstr "Selecciona objetos vectoriales de un mapa vectorial existente y crea un nuevo mapa que contiene sólo los objetos seleccionados."
 
 #: ../gui/wxpython/menustrings.py:598 ../gui/wxpython/menustrings.py:1505
 #, fuzzy
@@ -12689,11 +12029,8 @@ msgid "Select by another map"
 msgstr "Seleccionar mapa raster:"
 
 #: ../gui/wxpython/menustrings.py:599 ../gui/wxpython/menustrings.py:1506
-msgid ""
-"Selects features from vector map (A) by features from other vector map (B)."
-msgstr ""
-"Seleccionar elementos del mapa vectorial (A), mediante elementos de otro "
-"mapa vectorial (B)."
+msgid "Selects features from vector map (A) by features from other vector map (B)."
+msgstr "Seleccionar elementos del mapa vectorial (A), mediante elementos de otro mapa vectorial (B)."
 
 #: ../gui/wxpython/menustrings.py:607 ../gui/wxpython/menustrings.py:1514
 msgid "Buffer vectors"
@@ -12702,9 +12039,7 @@ msgstr "Crear áreas de influencia a partir de vectoriales."
 #: ../gui/wxpython/menustrings.py:608 ../gui/wxpython/menustrings.py:1515
 #, fuzzy
 msgid "Creates a buffer around vector features of given type."
-msgstr ""
-"Crear un buffer alrededor de los elementos de tipo dado (las áreas deben "
-"contener centroide)."
+msgstr "Crear un buffer alrededor de los elementos de tipo dado (las áreas deben contener centroide)."
 
 #: ../gui/wxpython/menustrings.py:609 ../gui/wxpython/menustrings.py:1516
 msgid "Lidar analysis"
@@ -12725,20 +12060,15 @@ msgstr "Detectar bordes."
 
 #: ../gui/wxpython/menustrings.py:613 ../gui/wxpython/menustrings.py:1520
 msgid "Detects the object's edges from a LIDAR data set."
-msgstr ""
-"Detecta los bordes de un objeto a partir de un conjunto de datos LIDAR."
+msgstr "Detecta los bordes de un objeto a partir de un conjunto de datos LIDAR."
 
 #: ../gui/wxpython/menustrings.py:614 ../gui/wxpython/menustrings.py:1521
 msgid "Detect interiors"
 msgstr "Detectar interiores."
 
 #: ../gui/wxpython/menustrings.py:615 ../gui/wxpython/menustrings.py:1522
-msgid ""
-"Building contour determination and Region Growing algorithm for determining "
-"the building inside"
-msgstr ""
-"Construcción de la determinación de curvas de nivel y algoritmo de "
-"crecimiento de región para determinar la construcción interior."
+msgid "Building contour determination and Region Growing algorithm for determining the building inside"
+msgstr "Construcción de la determinación de curvas de nivel y algoritmo de crecimiento de región para determinar la construcción interior."
 
 #: ../gui/wxpython/menustrings.py:616 ../gui/wxpython/menustrings.py:1523
 msgid "Correct and reclassify objects"
@@ -12746,12 +12076,8 @@ msgstr "Corregir y reclasificar objetos."
 
 #: ../gui/wxpython/menustrings.py:617 ../gui/wxpython/menustrings.py:1524
 #, fuzzy
-msgid ""
-"Corrects the v.lidar.growing output. It is the last of the three algorithms "
-"for LIDAR filtering."
-msgstr ""
-"Corrección de la salida de v.lidar.growing. Es el último de los tres "
-"algoritmos para el filtrado de LIDAR."
+msgid "Corrects the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering."
+msgstr "Corrección de la salida de v.lidar.growing. Es el último de los tres algoritmos para el filtrado de LIDAR."
 
 #: ../gui/wxpython/menustrings.py:618 ../gui/wxpython/menustrings.py:1525
 msgid "Linear referencing"
@@ -12773,44 +12099,31 @@ msgstr "Crear estaciones."
 #: ../gui/wxpython/menustrings.py:622 ../gui/wxpython/menustrings.py:1529
 #, fuzzy
 msgid "Creates stationing from input lines, and linear reference system."
-msgstr ""
-"Crear estaciones de las líneas de entrada y sistema de referencia lineal."
+msgstr "Crear estaciones de las líneas de entrada y sistema de referencia lineal."
 
 #: ../gui/wxpython/menustrings.py:623 ../gui/wxpython/menustrings.py:1530
 msgid "Create points/segments"
 msgstr "Crear puntos / segmentos."
 
 #: ../gui/wxpython/menustrings.py:624 ../gui/wxpython/menustrings.py:1531
-msgid ""
-"Creates points/segments from input lines, linear reference system and "
-"positions read from stdin or a file."
-msgstr ""
-"Crea puntos / segmentos a partir de las líneas de entrada, sistema de "
-"referencia lineal y posiciones leídas de la entrada estándar o un archivo."
+msgid "Creates points/segments from input lines, linear reference system and positions read from stdin or a file."
+msgstr "Crea puntos / segmentos a partir de las líneas de entrada, sistema de referencia lineal y posiciones leídas de la entrada estándar o un archivo."
 
 #: ../gui/wxpython/menustrings.py:625 ../gui/wxpython/menustrings.py:1532
 msgid "Find line id and offset"
 msgstr "Buscar ID de la línea y compensar."
 
 #: ../gui/wxpython/menustrings.py:626 ../gui/wxpython/menustrings.py:1533
-msgid ""
-"Finds line id and real km+offset for given points in vector map using linear "
-"reference system."
-msgstr ""
-"Hallar una id de línea y km reales + compensación para puntos especificados "
-"en un mapa vectorial empleando un sistema de referencia lineal."
+msgid "Finds line id and real km+offset for given points in vector map using linear reference system."
+msgstr "Hallar una id de línea y km reales + compensación para puntos especificados en un mapa vectorial empleando un sistema de referencia lineal."
 
 #: ../gui/wxpython/menustrings.py:627 ../gui/wxpython/menustrings.py:1534
 msgid "Nearest features"
 msgstr "Elementos más próximos."
 
 #: ../gui/wxpython/menustrings.py:628 ../gui/wxpython/menustrings.py:1535
-msgid ""
-"Finds the nearest element in vector map 'to' for elements in vector map "
-"'from'."
-msgstr ""
-"Encuentra el elemento más cercano en el mapa vectorial \"hacia\" para los "
-"elementos en el mapa vectorial \"desde\"."
+msgid "Finds the nearest element in vector map 'to' for elements in vector map 'from'."
+msgstr "Encuentra el elemento más cercano en el mapa vectorial \"hacia\" para los elementos en el mapa vectorial \"desde\"."
 
 #: ../gui/wxpython/menustrings.py:629 ../gui/wxpython/menustrings.py:1536
 msgid "Network analysis"
@@ -12835,13 +12148,8 @@ msgstr "Asignar subredes."
 
 #: ../gui/wxpython/menustrings.py:635 ../gui/wxpython/menustrings.py:1542
 #, fuzzy
-msgid ""
-"Allocates subnets for nearest centers (direction from center). center node "
-"must be opened (costs >= 0). Costs of center node are used in calculation"
-msgstr ""
-"Divide la red en bandas entre isolíneas de coste (dirección desde el "
-"centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo "
-"central se usan en el cálculo."
+msgid "Allocates subnets for nearest centers (direction from center). center node must be opened (costs >= 0). Costs of center node are used in calculation"
+msgstr "Divide la red en bandas entre isolíneas de coste (dirección desde el centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo central se usan en el cálculo."
 
 #: ../gui/wxpython/menustrings.py:636 ../gui/wxpython/menustrings.py:1543
 msgid "Split net"
@@ -12849,14 +12157,8 @@ msgstr "Dividir red."
 
 #: ../gui/wxpython/menustrings.py:637 ../gui/wxpython/menustrings.py:1544
 #, fuzzy
-msgid ""
-"Splits net by cost isolines. Splits net to bands between cost isolines "
-"(direction from center). Center node must be opened (costs >= 0). Costs of "
-"center node are used in calculation."
-msgstr ""
-"Divide la red en bandas entre isolíneas de coste (dirección desde el "
-"centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo "
-"central se usan en el cálculo."
+msgid "Splits net by cost isolines. Splits net to bands between cost isolines (direction from center). Center node must be opened (costs >= 0). Costs of center node are used in calculation."
+msgstr "Divide la red en bandas entre isolíneas de coste (dirección desde el centro). El nodo central debe estar abierto (coste >= 0). Los costes de nodo central se usan en el cálculo."
 
 #: ../gui/wxpython/menustrings.py:638 ../gui/wxpython/menustrings.py:1545
 msgid "Shortest path"
@@ -12871,11 +12173,7 @@ msgid "Shortest path for sets of features"
 msgstr "Ruta más corta para conjuntos de elementos"
 
 #: ../gui/wxpython/menustrings.py:641 ../gui/wxpython/menustrings.py:1548
-msgid ""
-"Computes shortest distance via the network between the given sets of "
-"features. Finds the shortest paths from each 'from' point to the nearest "
-"'to' feature and various information about this relation are uploaded to the "
-"attribute table."
+msgid "Computes shortest distance via the network between the given sets of features. Finds the shortest paths from each 'from' point to the nearest 'to' feature and various information about this relation are uploaded to the attribute table."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:642 ../gui/wxpython/menustrings.py:1549
@@ -12925,8 +12223,7 @@ msgstr "Conectividad de vértices"
 
 #: ../gui/wxpython/menustrings.py:653 ../gui/wxpython/menustrings.py:1560
 msgid "Computes vertex connectivity between two sets of nodes in the network."
-msgstr ""
-"Calcula la conectividad de vértices entre dos conjuntos de nodos en la red."
+msgstr "Calcula la conectividad de vértices entre dos conjuntos de nodos en la red."
 
 #: ../gui/wxpython/menustrings.py:654 ../gui/wxpython/menustrings.py:1561
 msgid "Components"
@@ -12941,12 +12238,8 @@ msgid "Centrality"
 msgstr "Centralidad"
 
 #: ../gui/wxpython/menustrings.py:657 ../gui/wxpython/menustrings.py:1564
-msgid ""
-"Computes degree, centrality, betweeness, closeness and eigenvector "
-"centrality measures in the network."
-msgstr ""
-"Cálcula grado, medidas de centralidad, intermediación, proximidad, y "
-"centralidad del eigenvector en la red."
+msgid "Computes degree, centrality, betweeness, closeness and eigenvector centrality measures in the network."
+msgstr "Cálcula grado, medidas de centralidad, intermediación, proximidad, y centralidad del eigenvector en la red."
 
 #: ../gui/wxpython/menustrings.py:658 ../gui/wxpython/menustrings.py:1565
 msgid "Steiner tree"
@@ -12954,10 +12247,7 @@ msgstr "Árbol de Steiner."
 
 #: ../gui/wxpython/menustrings.py:659 ../gui/wxpython/menustrings.py:1566
 #, fuzzy
-msgid ""
-"Creates Steiner tree for the network and given terminals. Note that 'Minimum "
-"Steiner Tree' problem is NP-hard and heuristic algorithm is used in this "
-"module so the result may be sub optimal."
+msgid "Creates Steiner tree for the network and given terminals. Note that 'Minimum Steiner Tree' problem is NP-hard and heuristic algorithm is used in this module so the result may be sub optimal."
 msgstr "Tenga en cuenta que el PVV es"
 
 #: ../gui/wxpython/menustrings.py:660 ../gui/wxpython/menustrings.py:1567
@@ -12974,10 +12264,7 @@ msgstr "Análisis del representante de comercio."
 
 #: ../gui/wxpython/menustrings.py:663 ../gui/wxpython/menustrings.py:1570
 #, fuzzy
-msgid ""
-"Creates a cycle connecting given nodes (Traveling salesman problem). Note "
-"that TSP is NP-hard, heuristic algorithm is used by this module and created "
-"cycle may be sub optimal"
+msgid "Creates a cycle connecting given nodes (Traveling salesman problem). Note that TSP is NP-hard, heuristic algorithm is used by this module and created cycle may be sub optimal"
 msgstr "Tenga en cuenta que el PVV es"
 
 #: ../gui/wxpython/menustrings.py:664 ../gui/wxpython/menustrings.py:665
@@ -12996,9 +12283,7 @@ msgstr "Unir mapas vectoriales."
 #: ../gui/wxpython/menustrings.py:668 ../gui/wxpython/menustrings.py:1575
 #, fuzzy
 msgid "Creates a new vector map by combining other vector maps."
-msgstr ""
-"Crear una capa de mapa vectorial nueva combinando otras capas de mapas "
-"vectoriales."
+msgstr "Crear una capa de mapa vectorial nueva combinando otras capas de mapas vectoriales."
 
 #: ../gui/wxpython/menustrings.py:669 ../gui/wxpython/menustrings.py:1576
 #, fuzzy
@@ -13013,18 +12298,11 @@ msgstr "Gestionar o informar sobre categorías."
 #: ../gui/wxpython/menustrings.py:671 ../gui/wxpython/menustrings.py:1578
 #, fuzzy
 msgid "Attaches, deletes or reports vector categories to map geometry."
-msgstr ""
-"Adjuntar, borrar o reportar categorías del mapa vectorial a la geometría del "
-"mapa."
+msgstr "Adjuntar, borrar o reportar categorías del mapa vectorial a la geometría del mapa."
 
 #: ../gui/wxpython/menustrings.py:673 ../gui/wxpython/menustrings.py:1580
-msgid ""
-"Changes vector category values for an existing vector map according to "
-"results of SQL queries or a value in attribute table column."
-msgstr ""
-"Cambia los valores de categoría de un vector perteneciente a un mapa "
-"vectorial de acuerdo a los resultados de las consultas SQL o un valor en la "
-"columna atributo de la tabla."
+msgid "Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column."
+msgstr "Cambia los valores de categoría de un vector perteneciente a un mapa vectorial de acuerdo a los resultados de las consultas SQL o un valor en la columna atributo de la tabla."
 
 #: ../gui/wxpython/menustrings.py:674 ../gui/wxpython/menustrings.py:1581
 #: ../gui/wxpython/dbmgr/dialogs.py:115
@@ -13037,13 +12315,8 @@ msgstr "Actualizar atributos de área a partir de un raster."
 
 #: ../gui/wxpython/menustrings.py:676 ../gui/wxpython/menustrings.py:1583
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from a raster map based on a vector map and "
-"uploads statistics to new attribute columns."
-msgstr ""
-"Calcular estadísticas univariantes a partir de un mapa raster de GRASS "
-"basadas en polígonos vectoriales y carga las estadísticas en nuevas columnas "
-"de atributos."
+msgid "Calculates univariate statistics from a raster map based on a vector map and uploads statistics to new attribute columns."
+msgstr "Calcular estadísticas univariantes a partir de un mapa raster de GRASS basadas en polígonos vectoriales y carga las estadísticas en nuevas columnas de atributos."
 
 #: ../gui/wxpython/menustrings.py:677 ../gui/wxpython/menustrings.py:1584
 #, fuzzy
@@ -13053,9 +12326,7 @@ msgstr "Actualizar atributos de área a partir de un raster."
 #: ../gui/wxpython/menustrings.py:678 ../gui/wxpython/menustrings.py:1585
 #, fuzzy
 msgid "Count points in areas, calculate statistics from point attributes."
-msgstr ""
-"Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
-"raster."
+msgstr "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:679 ../gui/wxpython/menustrings.py:1586
 msgid "Update point attributes from areas"
@@ -13063,8 +12334,7 @@ msgstr "Actualizar atributos de puntos a partir de áreas."
 
 #: ../gui/wxpython/menustrings.py:680 ../gui/wxpython/menustrings.py:1587
 msgid "Uploads vector values at positions of vector points to the table."
-msgstr ""
-"Carga valores vectoriales en las posiciones de puntos vectoriales a la tabla."
+msgstr "Carga valores vectoriales en las posiciones de puntos vectoriales a la tabla."
 
 #: ../gui/wxpython/menustrings.py:681 ../gui/wxpython/menustrings.py:1588
 #, fuzzy
@@ -13082,8 +12352,7 @@ msgstr "Muestrea mapas raster en las ubicaciones puntuales."
 
 #: ../gui/wxpython/menustrings.py:684 ../gui/wxpython/menustrings.py:1591
 msgid "Uploads raster values at positions of vector points to the table."
-msgstr ""
-"Carga valores raster en las posiciones de puntos vectoriales a la tabla."
+msgstr "Carga valores raster en las posiciones de puntos vectoriales a la tabla."
 
 #: ../gui/wxpython/menustrings.py:685 ../gui/wxpython/menustrings.py:1592
 msgid "Sample raster neighborhood around points"
@@ -13120,12 +12389,8 @@ msgid "Delaunay triangles"
 msgstr "Triángulos de Delaunay."
 
 #: ../gui/wxpython/menustrings.py:693 ../gui/wxpython/menustrings.py:1600
-msgid ""
-"Creates a Delaunay triangulation from an input vector map containing points "
-"or centroids."
-msgstr ""
-"Crea una triangulación de Delaunay a partir de un mapa vectorial de entrada "
-"que contiene puntos o centroides."
+msgid "Creates a Delaunay triangulation from an input vector map containing points or centroids."
+msgstr "Crea una triangulación de Delaunay a partir de un mapa vectorial de entrada que contiene puntos o centroides."
 
 #: ../gui/wxpython/menustrings.py:694 ../gui/wxpython/menustrings.py:1601
 msgid "Voronoi diagram/Thiessen polygons"
@@ -13133,12 +12398,8 @@ msgstr "Diagrama de Voronoi / polígonos de Thiessen."
 
 #: ../gui/wxpython/menustrings.py:695 ../gui/wxpython/menustrings.py:1602
 #, fuzzy
-msgid ""
-"Creates a Voronoi diagram in current region from an input vector map "
-"containing points or centroids."
-msgstr ""
-"Crea un diagrama de Voronoi a partir de un mapa vectorial de entrada que "
-"contiene puntos o centroides."
+msgid "Creates a Voronoi diagram in current region from an input vector map containing points or centroids."
+msgstr "Crea un diagrama de Voronoi a partir de un mapa vectorial de entrada que contiene puntos o centroides."
 
 #: ../gui/wxpython/menustrings.py:696 ../gui/wxpython/menustrings.py:1603
 msgid "Generate grid"
@@ -13147,9 +12408,7 @@ msgstr "Generar cuadrícula."
 #: ../gui/wxpython/menustrings.py:697 ../gui/wxpython/menustrings.py:1604
 #, fuzzy
 msgid "Creates a vector map of a user-defined grid."
-msgstr ""
-"Crea un mapa vectorial de GRASS a partir de una cuadrícula definida por el "
-"usuario."
+msgstr "Crea un mapa vectorial de GRASS a partir de una cuadrícula definida por el usuario."
 
 #: ../gui/wxpython/menustrings.py:698 ../gui/wxpython/menustrings.py:1605
 msgid "Generate points"
@@ -13160,11 +12419,8 @@ msgid "Generate from database"
 msgstr "Generar de la base de datos."
 
 #: ../gui/wxpython/menustrings.py:700 ../gui/wxpython/menustrings.py:1607
-msgid ""
-"Creates new vector (points) map from database table containing coordinates."
-msgstr ""
-"Crea un nuevo mapa vectorial (de puntos) a partir de una tabla de la base de "
-"datos que contiene coordenadas."
+msgid "Creates new vector (points) map from database table containing coordinates."
+msgstr "Crea un nuevo mapa vectorial (de puntos) a partir de una tabla de la base de datos que contiene coordenadas."
 
 #: ../gui/wxpython/menustrings.py:701 ../gui/wxpython/menustrings.py:1608
 msgid "Generate points along lines"
@@ -13173,9 +12429,7 @@ msgstr "Generar puntos a lo largo de líneas."
 #: ../gui/wxpython/menustrings.py:702 ../gui/wxpython/menustrings.py:1609
 #, fuzzy
 msgid "Creates points along input lines in new vector map with 2 layers."
-msgstr ""
-"Crea puntos a lo largo de líneas de entrada en un nuevo vectorial con 2 "
-"capas."
+msgstr "Crea puntos a lo largo de líneas de entrada en un nuevo vectorial con 2 capas."
 
 #: ../gui/wxpython/menustrings.py:703 ../gui/wxpython/menustrings.py:1610
 msgid "Generate random points"
@@ -13184,8 +12438,7 @@ msgstr "Generar puntos aleatorios."
 #: ../gui/wxpython/menustrings.py:704 ../gui/wxpython/menustrings.py:1611
 #, fuzzy
 msgid "Generates random 2D/3D vector points."
-msgstr ""
-"Genera un mapa de de GRASS que contiene puntos vectoriales aleatorios 2D/3D."
+msgstr "Genera un mapa de de GRASS que contiene puntos vectoriales aleatorios 2D/3D."
 
 #: ../gui/wxpython/menustrings.py:705 ../gui/wxpython/menustrings.py:1612
 msgid "Perturb points"
@@ -13194,8 +12447,7 @@ msgstr "Perturbar puntos."
 #: ../gui/wxpython/menustrings.py:706 ../gui/wxpython/menustrings.py:1613
 #, fuzzy
 msgid "Random location perturbations of vector points."
-msgstr ""
-"Perturbaciones aleatorias de la ubicación de los puntos vectoriales de GRASS."
+msgstr "Perturbaciones aleatorias de la ubicación de los puntos vectoriales de GRASS."
 
 #: ../gui/wxpython/menustrings.py:707 ../gui/wxpython/menustrings.py:1614
 msgid "Remove outliers in point sets"
@@ -13241,24 +12493,16 @@ msgstr "Estadísticas univariantes de atributos para puntos"
 
 #: ../gui/wxpython/menustrings.py:719 ../gui/wxpython/menustrings.py:1626
 #, fuzzy
-msgid ""
-"Calculates univariate statistics of vector map features. Variance and "
-"standard deviation is calculated only for points if specified."
-msgstr ""
-"Calcula estadísticas univariantes para atributos. La varianza y desviación "
-"estándar sólo se calculan para puntos si así se especifica."
+msgid "Calculates univariate statistics of vector map features. Variance and standard deviation is calculated only for points if specified."
+msgstr "Calcula estadísticas univariantes para atributos. La varianza y desviación estándar sólo se calculan para puntos si así se especifica."
 
 #: ../gui/wxpython/menustrings.py:720 ../gui/wxpython/menustrings.py:1627
 msgid "Univariate statistics for attribute columns"
 msgstr "Estadísticas univariantes para columnas de atributo"
 
 #: ../gui/wxpython/menustrings.py:721 ../gui/wxpython/menustrings.py:1628
-msgid ""
-"Calculates univariate statistics on selected table column for a GRASS vector "
-"map."
-msgstr ""
-"Calcula estadísticas univariante de la columna de la tabla seleccionada para "
-"un mapa vectorial GRASS."
+msgid "Calculates univariate statistics on selected table column for a GRASS vector map."
+msgstr "Calcula estadísticas univariante de la columna de la tabla seleccionada para un mapa vectorial GRASS."
 
 #: ../gui/wxpython/menustrings.py:722 ../gui/wxpython/menustrings.py:1629
 msgid "Quadrat indices"
@@ -13267,8 +12511,7 @@ msgstr "Índices cuadráticos."
 #: ../gui/wxpython/menustrings.py:723 ../gui/wxpython/menustrings.py:1630
 #, fuzzy
 msgid "Indices for quadrat counts of vector point lists."
-msgstr ""
-"Índices correspondientes a los conteos de listas de sitios en los cuadrantes."
+msgstr "Índices correspondientes a los conteos de listas de sitios en los cuadrantes."
 
 #: ../gui/wxpython/menustrings.py:724 ../gui/wxpython/menustrings.py:1631
 msgid "Test normality"
@@ -13311,8 +12554,7 @@ msgstr "Hacer mosaico de imágenes."
 #: ../gui/wxpython/menustrings.py:733 ../gui/wxpython/menustrings.py:1640
 #, fuzzy
 msgid "Mosaics several images and extends colormap."
-msgstr ""
-"Hace mosaicos de hasta 4 imágenes y extiende colormap; crea mapas *.mosaico"
+msgstr "Hace mosaicos de hasta 4 imágenes y extiende colormap; crea mapas *.mosaico"
 
 #: ../gui/wxpython/menustrings.py:734 ../gui/wxpython/menustrings.py:1641
 msgid "Manage image colors"
@@ -13332,32 +12574,20 @@ msgid "HIS to RGB"
 msgstr "Matiz, intensidad y saturación (HIS) a Rojo, verde y azul (RGB)."
 
 #: ../gui/wxpython/menustrings.py:738 ../gui/wxpython/menustrings.py:1645
-msgid ""
-"Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to "
-"RGB (Red-Green-Blue) color space."
-msgstr ""
-"Transforma mapas raster a partir del espacio de color HIS (Tono - Saturación "
-"- intensidad) al espacio de color RGB (Rojo - Verde - Azul)."
+msgid "Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space."
+msgstr "Transforma mapas raster a partir del espacio de color HIS (Tono - Saturación - intensidad) al espacio de color RGB (Rojo - Verde - Azul)."
 
 #: ../gui/wxpython/menustrings.py:740 ../gui/wxpython/menustrings.py:1647
-msgid ""
-"Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-"
-"Intensity-Saturation) color space."
-msgstr ""
-"Transforma mapas raster a partir del espacio de color  RGB (Rojo - Verde - "
-"Azul) al espacio de color HIS (Tono - Saturación - intensidad)."
+msgid "Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space."
+msgstr "Transforma mapas raster a partir del espacio de color  RGB (Rojo - Verde - Azul) al espacio de color HIS (Tono - Saturación - intensidad)."
 
 #: ../gui/wxpython/menustrings.py:741 ../gui/wxpython/menustrings.py:1648
 msgid "Rectify image or raster"
 msgstr "Rectificar o imagen de mapa de bits."
 
 #: ../gui/wxpython/menustrings.py:742 ../gui/wxpython/menustrings.py:1649
-msgid ""
-"Rectifies an image by computing a coordinate transformation for each pixel "
-"in the image based on the control points."
-msgstr ""
-"Rectifica una imagen calculando una transformación de coordenadas para cada "
-"píxel de la imagen basada en los puntos de control."
+msgid "Rectifies an image by computing a coordinate transformation for each pixel in the image based on the control points."
+msgstr "Rectifica una imagen calculando una transformación de coordenadas para cada píxel de la imagen basada en los puntos de control."
 
 #: ../gui/wxpython/menustrings.py:744 ../gui/wxpython/menustrings.py:1651
 msgid "Generate histogram of image"
@@ -13368,11 +12598,8 @@ msgid "Spectral response"
 msgstr "Respuesta espectral."
 
 #: ../gui/wxpython/menustrings.py:746 ../gui/wxpython/menustrings.py:1653
-msgid ""
-"Displays spectral response at user specified locations in group or images."
-msgstr ""
-"Muestra la respuesta espectral en localizaciones especificadas por el "
-"usuario en grupo o imágenes."
+msgid "Displays spectral response at user specified locations in group or images."
+msgstr "Muestra la respuesta espectral en localizaciones especificadas por el usuario en grupo o imágenes."
 
 #: ../gui/wxpython/menustrings.py:747 ../gui/wxpython/menustrings.py:1654
 #, fuzzy
@@ -13381,12 +12608,8 @@ msgstr "Incremento de contraste / resolución Brovey."
 
 #: ../gui/wxpython/menustrings.py:748 ../gui/wxpython/menustrings.py:1655
 #, fuzzy
-msgid ""
-"Image fusion algorithms to sharpen multispectral with high-res panchromatic "
-"channels"
-msgstr ""
-"Transformación de Brovey para fundir canales multiespectrales y "
-"pancromáticos de alta resolución"
+msgid "Image fusion algorithms to sharpen multispectral with high-res panchromatic channels"
+msgstr "Transformación de Brovey para fundir canales multiespectrales y pancromáticos de alta resolución"
 
 #: ../gui/wxpython/menustrings.py:749 ../gui/wxpython/menustrings.py:1656
 msgid "Classify image"
@@ -13398,13 +12621,8 @@ msgstr "Entrada de agrupaciones para clasificación no supervisada."
 
 #: ../gui/wxpython/menustrings.py:751 ../gui/wxpython/menustrings.py:1658
 #, fuzzy
-msgid ""
-"Generates spectral signatures for land cover types in an image using a "
-"clustering algorithm. The resulting signature file is used as input for i."
-"maxlik, to generate an unsupervised image classification."
-msgstr ""
-"El archivo de firma resultante se usa como entrada para i.maxlik, para "
-"generar una clasificación de imágenes sin supervisión."
+msgid "Generates spectral signatures for land cover types in an image using a clustering algorithm. The resulting signature file is used as input for i.maxlik, to generate an unsupervised image classification."
+msgstr "El archivo de firma resultante se usa como entrada para i.maxlik, para generar una clasificación de imágenes sin supervisión."
 
 #: ../gui/wxpython/menustrings.py:752 ../gui/wxpython/menustrings.py:1659
 msgid "Input for supervised MLC"
@@ -13420,13 +12638,8 @@ msgstr "Clasificación de máxima verosimilitud (MLC)."
 
 #: ../gui/wxpython/menustrings.py:755 ../gui/wxpython/menustrings.py:1662
 #, fuzzy
-msgid ""
-"Classifies the cell spectral reflectances in imagery data. Classification is "
-"based on the spectral signature information generated by either i.cluster, g."
-"gui.iclass, or i.gensig."
-msgstr ""
-"Las clasificaciones están basadas en la información de firma espectral "
-"generada por i.cluster, i.class o i.gensig."
+msgid "Classifies the cell spectral reflectances in imagery data. Classification is based on the spectral signature information generated by either i.cluster, g.gui.iclass, or i.gensig."
+msgstr "Las clasificaciones están basadas en la información de firma espectral generada por i.cluster, i.class o i.gensig."
 
 #: ../gui/wxpython/menustrings.py:756 ../gui/wxpython/menustrings.py:1663
 #: ../gui/wxpython/menustrings.py:1922
@@ -13436,11 +12649,8 @@ msgstr "Clasificación supervisada de entrada interactiva"
 #: ../gui/wxpython/menustrings.py:757 ../gui/wxpython/menustrings.py:1664
 #: ../gui/wxpython/menustrings.py:1923
 #, fuzzy
-msgid ""
-"Generates spectral signatures by allowing the user to outline training areas."
-msgstr ""
-"Genera firmas espectrales para una imagen lo cual permite al usuario "
-"delinear las regiones de interés."
+msgid "Generates spectral signatures by allowing the user to outline training areas."
+msgstr "Genera firmas espectrales para una imagen lo cual permite al usuario delinear las regiones de interés."
 
 #: ../gui/wxpython/menustrings.py:758 ../gui/wxpython/menustrings.py:1665
 msgid "Input for supervised SMAP"
@@ -13455,12 +12665,8 @@ msgid "Sequential maximum a posteriori classification (SMAP)"
 msgstr "Clasificación secuencial máxima a posteriori (SMAP)."
 
 #: ../gui/wxpython/menustrings.py:761 ../gui/wxpython/menustrings.py:1668
-msgid ""
-"Performs contextual image classification using sequential maximum a "
-"posteriori (SMAP) estimation."
-msgstr ""
-"Realiza una clasificación contextual de imágenes utilizando una estimación "
-"secuencial máxima a posteriori (SMAP)."
+msgid "Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation."
+msgstr "Realiza una clasificación contextual de imágenes utilizando una estimación secuencial máxima a posteriori (SMAP)."
 
 #: ../gui/wxpython/menustrings.py:762 ../gui/wxpython/menustrings.py:1669
 #, fuzzy
@@ -13481,9 +12687,7 @@ msgstr "Detección de bordes, frontera."
 
 #: ../gui/wxpython/menustrings.py:766 ../gui/wxpython/menustrings.py:1673
 msgid "Zero-crossing \"edge detection\" raster function for image processing."
-msgstr ""
-"Función raster \"detección de bordes\" de cruce de ceros para procesamiento "
-"de imágenes."
+msgstr "Función raster \"detección de bordes\" de cruce de ceros para procesamiento de imágenes."
 
 #: ../gui/wxpython/menustrings.py:767 ../gui/wxpython/menustrings.py:1674
 msgid "Matrix/convolving filter"
@@ -13504,9 +12708,7 @@ msgstr "Correlación canónica."
 #: ../gui/wxpython/menustrings.py:771 ../gui/wxpython/menustrings.py:1678
 #, fuzzy
 msgid "Canonical components analysis (CCA) program for image processing."
-msgstr ""
-"Programa de análisis de componentes canónicos (cca) para procesamiento de "
-"imágenes."
+msgstr "Programa de análisis de componentes canónicos (cca) para procesamiento de imágenes."
 
 #: ../gui/wxpython/menustrings.py:772 ../gui/wxpython/menustrings.py:1679
 msgid "Principal components"
@@ -13514,8 +12716,7 @@ msgstr "Componentes principales."
 
 #: ../gui/wxpython/menustrings.py:773 ../gui/wxpython/menustrings.py:1680
 msgid "Principal components analysis (PCA) for image processing."
-msgstr ""
-"Análisis de componentes principales (PCA) para procesamiento de imágenes."
+msgstr "Análisis de componentes principales (PCA) para procesamiento de imágenes."
 
 #: ../gui/wxpython/menustrings.py:774 ../gui/wxpython/menustrings.py:1681
 msgid "Fast Fourier"
@@ -13531,8 +12732,7 @@ msgstr "Transformación inversa rápida de Fourier (FFT)."
 
 #: ../gui/wxpython/menustrings.py:777 ../gui/wxpython/menustrings.py:1684
 msgid "Inverse Fast Fourier Transform (IFFT) for image processing."
-msgstr ""
-"Transformación Inversa rápida de Fourier (ifft) para procesado de imágenes."
+msgstr "Transformación Inversa rápida de Fourier (ifft) para procesado de imágenes."
 
 #: ../gui/wxpython/menustrings.py:778 ../gui/wxpython/menustrings.py:1685
 #, fuzzy
@@ -13544,9 +12744,7 @@ msgid "Aster DN to radiance/reflectance"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:780 ../gui/wxpython/menustrings.py:1687
-msgid ""
-"Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature "
-"from ASTER DN."
+msgid "Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:781 ../gui/wxpython/menustrings.py:1688
@@ -13554,9 +12752,7 @@ msgid "Landsat DN to radiance/reflectance"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:782 ../gui/wxpython/menustrings.py:1689
-msgid ""
-"Calculates top-of-atmosphere radiance or reflectance and temperature for "
-"Landsat MSS/TM/ETM+/OLI"
+msgid "Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:783 ../gui/wxpython/menustrings.py:1690
@@ -13582,9 +12778,7 @@ msgstr "Corrección atmosférica (Correlación canónica)."
 
 #: ../gui/wxpython/menustrings.py:788 ../gui/wxpython/menustrings.py:1695
 #, fuzzy
-msgid ""
-"Performs atmospheric correction using the 6S algorithm. 6S - Second "
-"Simulation of Satellite Signal in the Solar Spectrum."
+msgid "Performs atmospheric correction using the 6S algorithm. 6S - Second Simulation of Satellite Signal in the Solar Spectrum."
 msgstr "Realiza la corrección atmosférica utilizando el algoritmo 6S."
 
 #: ../gui/wxpython/menustrings.py:789 ../gui/wxpython/menustrings.py:1696
@@ -13607,9 +12801,7 @@ msgid "Vegetation indices"
 msgstr "Contornos de región"
 
 #: ../gui/wxpython/menustrings.py:793 ../gui/wxpython/menustrings.py:1700
-msgid ""
-"Calculates different types of vegetation indices. Uses red and nir bands "
-"mostly, and some indices require additional bands."
+msgid "Calculates different types of vegetation indices. Uses red and nir bands mostly, and some indices require additional bands."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:794 ../gui/wxpython/menustrings.py:1701
@@ -13679,9 +12871,7 @@ msgid "Evaporative fraction"
 msgstr "Fracción evapotranpirativa"
 
 #: ../gui/wxpython/menustrings.py:810 ../gui/wxpython/menustrings.py:1717
-msgid ""
-"Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil "
-"moisture (Makin, Molden and Bastiaanssen, 2001)."
+msgid "Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001)."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:811 ../gui/wxpython/menustrings.py:1718
@@ -13697,9 +12887,7 @@ msgid "Temporal integration of ETa"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:814 ../gui/wxpython/menustrings.py:1721
-msgid ""
-"Computes temporal integration of satellite ET actual (ETa) following the "
-"daily ET reference (ETo) from meteorological station(s)."
+msgid "Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s)."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:815 ../gui/wxpython/menustrings.py:1722
@@ -13707,9 +12895,7 @@ msgid "Hargreaves methods Evapotranspiration"
 msgstr "Métodos de evapotraspiración de Hargreaves"
 
 #: ../gui/wxpython/menustrings.py:816 ../gui/wxpython/menustrings.py:1723
-msgid ""
-"Computes evapotranspiration calculation modified or original Hargreaves "
-"formulation, 2001."
+msgid "Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:817 ../gui/wxpython/menustrings.py:1724
@@ -13717,9 +12903,7 @@ msgid "Penman-Monteith Evapotranspiration"
 msgstr "Evapotranspiración Penman-Monteith"
 
 #: ../gui/wxpython/menustrings.py:818 ../gui/wxpython/menustrings.py:1725
-msgid ""
-"Computes potential evapotranspiration calculation with hourly Penman-"
-"Monteith."
+msgid "Computes potential evapotranspiration calculation with hourly Penman-Monteith."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:819 ../gui/wxpython/menustrings.py:1726
@@ -13727,9 +12911,7 @@ msgid "Priestley-Taylor Evapotranspiration"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:820 ../gui/wxpython/menustrings.py:1727
-msgid ""
-"Computes evapotranspiration calculation Priestley and Taylor formulation, "
-"1972."
+msgid "Computes evapotranspiration calculation Priestley and Taylor formulation, 1972."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:822 ../gui/wxpython/menustrings.py:1729
@@ -13738,12 +12920,8 @@ msgstr "Análisis Kappa."
 
 #: ../gui/wxpython/menustrings.py:823 ../gui/wxpython/menustrings.py:1730
 #, fuzzy
-msgid ""
-"Calculates error matrix and kappa parameter for accuracy assessment of "
-"classification result."
-msgstr ""
-"Calcular matriz de error y el parámetro kappa para ensayo de precisión del "
-"resultado de clasificación."
+msgid "Calculates error matrix and kappa parameter for accuracy assessment of classification result."
+msgstr "Calcular matriz de error y el parámetro kappa para ensayo de precisión del resultado de clasificación."
 
 #: ../gui/wxpython/menustrings.py:824 ../gui/wxpython/menustrings.py:1731
 msgid "OIF for LandSat TM"
@@ -13778,8 +12956,7 @@ msgstr "Administrar la marca de tiempo."
 
 #: ../gui/wxpython/menustrings.py:831 ../gui/wxpython/menustrings.py:1738
 msgid "Print/add/remove a timestamp for a 3D raster map"
-msgstr ""
-"Imprimir / añadir / eliminar una marca de tiempo para un mapa raster 3D."
+msgstr "Imprimir / añadir / eliminar una marca de tiempo para un mapa raster 3D."
 
 #: ../gui/wxpython/menustrings.py:833 ../gui/wxpython/menustrings.py:1740
 #, fuzzy
@@ -13794,8 +12971,7 @@ msgstr "Tablas de color."
 #: ../gui/wxpython/menustrings.py:836 ../gui/wxpython/menustrings.py:1743
 #, fuzzy
 msgid "Creates/modifies the color table associated with a 3D raster map."
-msgstr ""
-"Crea / modifica la tabla de colores asociada a una capa de mapa raster."
+msgstr "Crea / modifica la tabla de colores asociada a una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:837 ../gui/wxpython/menustrings.py:1744
 #, fuzzy
@@ -13827,21 +13003,13 @@ msgstr "Sección transversal."
 
 #: ../gui/wxpython/menustrings.py:844 ../gui/wxpython/menustrings.py:1751
 #, fuzzy
-msgid ""
-"Creates cross section 2D raster map from 3D raster map based on 2D elevation "
-"map"
-msgstr ""
-"Crea un mapa raster 2D de sección cruzada a partir de un mapa raster 3D "
-"basado en mapa 2D de elevación."
+msgid "Creates cross section 2D raster map from 3D raster map based on 2D elevation map"
+msgstr "Crea un mapa raster 2D de sección cruzada a partir de un mapa raster 3D basado en mapa 2D de elevación."
 
 #: ../gui/wxpython/menustrings.py:846 ../gui/wxpython/menustrings.py:1753
 #, fuzzy
-msgid ""
-"Numerical calculation program for transient, confined groundwater flow in "
-"three dimensions."
-msgstr ""
-"Programa de cálculo numérico para flujo de aguas subterráneas temporales, "
-"confinadas,  en tres dimensiones"
+msgid "Numerical calculation program for transient, confined groundwater flow in three dimensions."
+msgstr "Programa de cálculo numérico para flujo de aguas subterráneas temporales, confinadas,  en tres dimensiones"
 
 #: ../gui/wxpython/menustrings.py:847 ../gui/wxpython/menustrings.py:1754
 #, fuzzy
@@ -13849,12 +13017,8 @@ msgid "Interpolate 3D raster from points"
 msgstr "Interpolar un volumen a partir de puntos."
 
 #: ../gui/wxpython/menustrings.py:848 ../gui/wxpython/menustrings.py:1755
-msgid ""
-"Interpolates point data to a 3D raster map using regularized spline with "
-"tension (RST) algorithm."
-msgstr ""
-"Interpola datos de puntos a volumen de cuadrícula G3D usando una spline "
-"regularizada con el algoritmo de tensión (RST)."
+msgid "Interpolates point data to a 3D raster map using regularized spline with tension (RST) algorithm."
+msgstr "Interpola datos de puntos a volumen de cuadrícula G3D usando una spline regularizada con el algoritmo de tensión (RST)."
 
 #: ../gui/wxpython/menustrings.py:849 ../gui/wxpython/menustrings.py:1756
 #, fuzzy
@@ -13868,9 +13032,7 @@ msgstr "Metadatos básicos del raster."
 
 #: ../gui/wxpython/menustrings.py:851 ../gui/wxpython/menustrings.py:1758
 msgid "Outputs basic information about a user-specified 3D raster map layer."
-msgstr ""
-"Muestra información básica de una capa de mapa raster 3D especificada por el "
-"usuario."
+msgstr "Muestra información básica de una capa de mapa raster 3D especificada por el usuario."
 
 #: ../gui/wxpython/menustrings.py:852 ../gui/wxpython/menustrings.py:1759
 #, fuzzy
@@ -13888,11 +13050,7 @@ msgid "Univariate statistics for 3D rasters"
 msgstr "Estadísticas univariante para volúmenes"
 
 #: ../gui/wxpython/menustrings.py:855 ../gui/wxpython/menustrings.py:1762
-msgid ""
-"Calculates univariate statistics from the non-null cells of a 3D raster map. "
-"Statistics include number of cells counted, minimum and maximum cell values, "
-"range, arithmetic mean, population variance, standard deviation, coefficient "
-"of variation, and sum."
+msgid "Calculates univariate statistics from the non-null cells of a 3D raster map. Statistics include number of cells counted, minimum and maximum cell values, range, arithmetic mean, population variance, standard deviation, coefficient of variation, and sum."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:856 ../gui/wxpython/menustrings.py:1763
@@ -13957,9 +13115,7 @@ msgstr "Conectar."
 #: ../gui/wxpython/menustrings.py:870 ../gui/wxpython/menustrings.py:1777
 #, fuzzy
 msgid "Prints/sets general DB connection for current mapset."
-msgstr ""
-"Imprime / establece la conexión general a la base de datos para el "
-"directorio de mapas actual y termina."
+msgstr "Imprime / establece la conexión general a la base de datos para el directorio de mapas actual y termina."
 
 #: ../gui/wxpython/menustrings.py:871 ../gui/wxpython/menustrings.py:1778
 msgid "Login"
@@ -14004,12 +13160,8 @@ msgstr "Copiar tabla."
 
 #: ../gui/wxpython/menustrings.py:880 ../gui/wxpython/menustrings.py:1787
 #, fuzzy
-msgid ""
-"Copy a table. Either 'from_table' (optionally with 'where') can be used or "
-"'select' option, but not 'from_table' and 'select' at the same time."
-msgstr ""
-"Copiar una tabla. Se puede usar tanto la opción 'from_table' (opcionalmente "
-"con 'where') como 'select', pero no ambas al mismo tiempo."
+msgid "Copy a table. Either 'from_table' (optionally with 'where') can be used or 'select' option, but not 'from_table' and 'select' at the same time."
+msgstr "Copiar una tabla. Se puede usar tanto la opción 'from_table' (opcionalmente con 'where') como 'select', pero no ambas al mismo tiempo."
 
 #: ../gui/wxpython/menustrings.py:881 ../gui/wxpython/menustrings.py:901
 #: ../gui/wxpython/menustrings.py:1788 ../gui/wxpython/menustrings.py:1808
@@ -14027,9 +13179,7 @@ msgstr "Prueba."
 
 #: ../gui/wxpython/menustrings.py:884 ../gui/wxpython/menustrings.py:1791
 msgid "Test database driver, database must exist and set by db.connect."
-msgstr ""
-"Probar el controlador de base de datos. La base de datos debe existir y "
-"estar conectada mediante db. connect."
+msgstr "Probar el controlador de base de datos. La base de datos debe existir y estar conectada mediante db. connect."
 
 #: ../gui/wxpython/menustrings.py:885 ../gui/wxpython/menustrings.py:1792
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:105
@@ -14043,9 +13193,7 @@ msgstr "Consultar cualquier tabla."
 #: ../gui/wxpython/menustrings.py:887 ../gui/wxpython/menustrings.py:1794
 #, fuzzy
 msgid "Selects data from attribute table. Performs SQL query statement(s)."
-msgstr ""
-"Selecciona datos de una taula de atributos (realiza sentencia(s) de consulta "
-"SQL)."
+msgstr "Selecciona datos de una taula de atributos (realiza sentencia(s) de consulta SQL)."
 
 #: ../gui/wxpython/menustrings.py:890 ../gui/wxpython/menustrings.py:1797
 msgid "SQL statement"
@@ -14064,12 +13212,8 @@ msgid "New table"
 msgstr "Tabla Nueva."
 
 #: ../gui/wxpython/menustrings.py:894 ../gui/wxpython/menustrings.py:1801
-msgid ""
-"Creates and connects a new attribute table to a given layer of an existing "
-"vector map."
-msgstr ""
-"Crea y conecta una nueva tabla de atributos a una capa dada de un mapa "
-"vectorial existente. "
+msgid "Creates and connects a new attribute table to a given layer of an existing vector map."
+msgstr "Crea y conecta una nueva tabla de atributos a una capa dada de un mapa vectorial existente. "
 
 #: ../gui/wxpython/menustrings.py:895 ../gui/wxpython/menustrings.py:1802
 msgid "Remove table"
@@ -14093,19 +13237,12 @@ msgid "Add columns"
 msgstr "Añadir columnas."
 
 #: ../gui/wxpython/menustrings.py:900 ../gui/wxpython/menustrings.py:1807
-msgid ""
-"Adds one or more columns to the attribute table connected to a given vector "
-"map."
-msgstr ""
-"Añade una o más columnas a la tabla de atributos conectada a un mapa "
-"vectorial dado."
+msgid "Adds one or more columns to the attribute table connected to a given vector map."
+msgstr "Añade una o más columnas a la tabla de atributos conectada a un mapa vectorial dado."
 
 #: ../gui/wxpython/menustrings.py:902 ../gui/wxpython/menustrings.py:1809
-msgid ""
-"Drops a column from the attribute table connected to a given vector map."
-msgstr ""
-"Elimina una columna de la tabla de atributos conectada a un mapa vectorial "
-"dado."
+msgid "Drops a column from the attribute table connected to a given vector map."
+msgstr "Elimina una columna de la tabla de atributos conectada a un mapa vectorial dado."
 
 #: ../gui/wxpython/menustrings.py:903 ../gui/wxpython/menustrings.py:1810
 #: ../gui/wxpython/dbmgr/base.py:2139
@@ -14113,11 +13250,8 @@ msgid "Rename column"
 msgstr "Cambiar nombre de columna."
 
 #: ../gui/wxpython/menustrings.py:904 ../gui/wxpython/menustrings.py:1811
-msgid ""
-"Renames a column in the attribute table connected to a given vector map."
-msgstr ""
-"Cambia el nombre de una columna en la tabla de atributos conectada a un mapa "
-"vectorial dado."
+msgid "Renames a column in the attribute table connected to a given vector map."
+msgstr "Cambia el nombre de una columna en la tabla de atributos conectada a un mapa vectorial dado."
 
 #: ../gui/wxpython/menustrings.py:905 ../gui/wxpython/menustrings.py:1812
 msgid "Change values"
@@ -14126,9 +13260,7 @@ msgstr "Cambiar valores."
 #: ../gui/wxpython/menustrings.py:906 ../gui/wxpython/menustrings.py:1813
 #, fuzzy
 msgid "Updates a column in the attribute table connected to a vector map."
-msgstr ""
-"Permite actualizar una columna en la tabla de atributos conectada a un mapa "
-"vectorial."
+msgstr "Permite actualizar una columna en la tabla de atributos conectada a un mapa vectorial."
 
 #: ../gui/wxpython/menustrings.py:907 ../gui/wxpython/menustrings.py:1814
 msgid "Drop row"
@@ -14137,9 +13269,7 @@ msgstr "Eliminar fila"
 #: ../gui/wxpython/menustrings.py:908 ../gui/wxpython/menustrings.py:1815
 #, fuzzy
 msgid "Removes a vector feature from a vector map through attribute selection."
-msgstr ""
-"Establece las reglas de color para los objetos espaciales de un vectorial "
-"utilizando una columna de atributos numéricos."
+msgstr "Establece las reglas de color para los objetos espaciales de un vectorial utilizando una columna de atributos numéricos."
 
 #: ../gui/wxpython/menustrings.py:909 ../gui/wxpython/menustrings.py:1816
 msgid "Reconnect vectors to database"
@@ -14147,11 +13277,8 @@ msgstr "Volver a conectar vectoriales a la a base de datos."
 
 #: ../gui/wxpython/menustrings.py:910 ../gui/wxpython/menustrings.py:1817
 #, fuzzy
-msgid ""
-"Reconnects attribute tables for all vector maps from the current mapset to a "
-"new database."
-msgstr ""
-"Solo se permiten editar mapas vectoriales del actual directorio de mapas."
+msgid "Reconnects attribute tables for all vector maps from the current mapset to a new database."
+msgstr "Solo se permiten editar mapas vectoriales del actual directorio de mapas."
 
 #: ../gui/wxpython/menustrings.py:911 ../gui/wxpython/menustrings.py:1818
 msgid "Set vector map - database connection"
@@ -14159,9 +13286,7 @@ msgstr "Establecer Conexión entre mapas vectoriales y bases de datos."
 
 #: ../gui/wxpython/menustrings.py:912 ../gui/wxpython/menustrings.py:1819
 msgid "Prints/sets DB connection for a vector map to attribute table."
-msgstr ""
-"Imprime / establece la conexión a la base de datos desde un mapa vectorial "
-"hacia la tabla de atributos."
+msgstr "Imprime / establece la conexión a la base de datos desde un mapa vectorial hacia la tabla de atributos."
 
 #: ../gui/wxpython/menustrings.py:913 ../gui/wxpython/menustrings.py:1820
 #, fuzzy
@@ -14251,9 +13376,7 @@ msgid "Unregister maps from datasets"
 msgstr "Generar de la base de datos."
 
 #: ../gui/wxpython/menustrings.py:935 ../gui/wxpython/menustrings.py:1842
-msgid ""
-"Unregisters raster, vector and raster3d maps from the temporal database or a "
-"specific space time dataset."
+msgid "Unregisters raster, vector and raster3d maps from the temporal database or a specific space time dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:936 ../gui/wxpython/menustrings.py:1843
@@ -14308,8 +13431,7 @@ msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/menustrings.py:946 ../gui/wxpython/menustrings.py:1853
 #, fuzzy
-msgid ""
-"Imports a space time vector dataset from a GRASS GIS specific archive file."
+msgid "Imports a space time vector dataset from a GRASS GIS specific archive file."
 msgstr "Importar datos vectoriales"
 
 #: ../gui/wxpython/menustrings.py:948 ../gui/wxpython/menustrings.py:1855
@@ -14393,10 +13515,8 @@ msgstr "Consultar datos de objetos espaciales vectoriales."
 
 #: ../gui/wxpython/menustrings.py:964 ../gui/wxpython/menustrings.py:1871
 #, fuzzy
-msgid ""
-"Prints attributes of vector maps registered in a space time vector dataset."
-msgstr ""
-"Solo se permiten editar mapas vectoriales del actual directorio de mapas."
+msgid "Prints attributes of vector maps registered in a space time vector dataset."
+msgstr "Solo se permiten editar mapas vectoriales del actual directorio de mapas."
 
 #: ../gui/wxpython/menustrings.py:965 ../gui/wxpython/menustrings.py:1872
 #, fuzzy
@@ -14405,11 +13525,8 @@ msgstr "Establece la tabla de color."
 
 #: ../gui/wxpython/menustrings.py:966 ../gui/wxpython/menustrings.py:1873
 #, fuzzy
-msgid ""
-"Creates/modifies the color table associated with each raster map of the "
-"space time raster dataset."
-msgstr ""
-"Crea / modifica la tabla de colores asociada a una capa de mapa raster."
+msgid "Creates/modifies the color table associated with each raster map of the space time raster dataset."
+msgstr "Crea / modifica la tabla de colores asociada a una capa de mapa raster."
 
 #: ../gui/wxpython/menustrings.py:967 ../gui/wxpython/menustrings.py:1874
 #, fuzzy
@@ -14418,9 +13535,7 @@ msgstr "Calculadora de mapas raster"
 
 #: ../gui/wxpython/menustrings.py:968 ../gui/wxpython/menustrings.py:1875
 #, fuzzy
-msgid ""
-"Performs spatio-temporal mapcalc expressions on temporally sampled maps of "
-"space time raster datasets."
+msgid "Performs spatio-temporal mapcalc expressions on temporally sampled maps of space time raster datasets."
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:969 ../gui/wxpython/menustrings.py:1876
@@ -14430,9 +13545,7 @@ msgstr "Calculadora de mapas raster"
 
 #: ../gui/wxpython/menustrings.py:970 ../gui/wxpython/menustrings.py:1877
 #, fuzzy
-msgid ""
-"Performs r3.mapcalc expressions on maps of sampled space time 3D raster "
-"datasets."
+msgid "Performs r3.mapcalc expressions on maps of sampled space time 3D raster datasets."
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:971 ../gui/wxpython/menustrings.py:1878
@@ -14442,8 +13555,7 @@ msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:972 ../gui/wxpython/menustrings.py:1879
 #, fuzzy
-msgid ""
-"Replaces gaps in a space time raster dataset with interpolated raster maps."
+msgid "Replaces gaps in a space time raster dataset with interpolated raster maps."
 msgstr "Convierte (rasteriza) un mapa vectorial a un mapa raster. "
 
 #: ../gui/wxpython/menustrings.py:973 ../gui/wxpython/menustrings.py:1880
@@ -14457,8 +13569,7 @@ msgid "Neighborhood analysis in raster dataset"
 msgstr "Análisis del vecino más próximo."
 
 #: ../gui/wxpython/menustrings.py:975 ../gui/wxpython/menustrings.py:1882
-msgid ""
-"Performs a neighborhood analysis for each map in a space time raster dataset."
+msgid "Performs a neighborhood analysis for each map in a space time raster dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:976 ../gui/wxpython/menustrings.py:1883
@@ -14467,9 +13578,7 @@ msgid "Aggregation in raster datasets"
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:977 ../gui/wxpython/menustrings.py:1884
-msgid ""
-"Performs different aggregation algorithms from r.series on all or a subset "
-"of raster maps in a space time raster dataset."
+msgid "Performs different aggregation algorithms from r.series on all or a subset of raster maps in a space time raster dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:978 ../gui/wxpython/menustrings.py:1885
@@ -14479,9 +13588,7 @@ msgstr "Modo de categoría."
 
 #: ../gui/wxpython/menustrings.py:979 ../gui/wxpython/menustrings.py:1886
 #, fuzzy
-msgid ""
-"Aggregates temporally the maps of a space time raster dataset by a user "
-"defined granularity."
+msgid "Aggregates temporally the maps of a space time raster dataset by a user defined granularity."
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/menustrings.py:980 ../gui/wxpython/menustrings.py:1887
@@ -14489,9 +13596,7 @@ msgid "Temporal aggregation by dataset"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:981 ../gui/wxpython/menustrings.py:1888
-msgid ""
-"Aggregates data of an existing space time raster dataset using the time "
-"intervals of a second space time dataset."
+msgid "Aggregates data of an existing space time raster dataset using the time intervals of a second space time dataset."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:982 ../gui/wxpython/menustrings.py:1889
@@ -14505,9 +13610,7 @@ msgid "Temporal sampling"
 msgstr "Modo de categoría."
 
 #: ../gui/wxpython/menustrings.py:984 ../gui/wxpython/menustrings.py:1891
-msgid ""
-"Samples the input space time dataset(s) with a sample space time dataset and "
-"print the result to stdout."
+msgid "Samples the input space time dataset(s) with a sample space time dataset and print the result to stdout."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:985 ../gui/wxpython/menustrings.py:1892
@@ -14517,20 +13620,15 @@ msgstr "Muestrear un mapa raster en localizaciones de puntos vectoriales."
 
 #: ../gui/wxpython/menustrings.py:986 ../gui/wxpython/menustrings.py:1893
 #, fuzzy
-msgid ""
-"Stores raster map values at spatial and temporal positions of vector points "
-"as vector attributes."
-msgstr ""
-"Carga valores raster en las posiciones de puntos vectoriales a la tabla."
+msgid "Stores raster map values at spatial and temporal positions of vector points as vector attributes."
+msgstr "Carga valores raster en las posiciones de puntos vectoriales a la tabla."
 
 #: ../gui/wxpython/menustrings.py:987 ../gui/wxpython/menustrings.py:1894
 msgid "Observe specific locations in raster dataset"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:988 ../gui/wxpython/menustrings.py:1895
-msgid ""
-"Observes specific locations in a space time raster dataset over a period of "
-"time using vector points."
+msgid "Observes specific locations in a space time raster dataset over a period of time using vector points."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:990 ../gui/wxpython/menustrings.py:1897
@@ -14550,12 +13648,8 @@ msgstr "Estadísticas univariantes de raster."
 
 #: ../gui/wxpython/menustrings.py:993 ../gui/wxpython/menustrings.py:1900
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells for each registered "
-"raster map of a space time raster dataset."
-msgstr ""
-"Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
-"raster."
+msgid "Calculates univariate statistics from the non-null cells for each registered raster map of a space time raster dataset."
+msgstr "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:994 ../gui/wxpython/menustrings.py:1901
 #, fuzzy
@@ -14564,12 +13658,8 @@ msgstr "Estadísticas univariantes de raster."
 
 #: ../gui/wxpython/menustrings.py:995 ../gui/wxpython/menustrings.py:1902
 #, fuzzy
-msgid ""
-"Calculates univariate statistics of attributes for each registered vector "
-"map of a space time vector dataset"
-msgstr ""
-"Calcula estadísticas univariante de la columna de la tabla seleccionada para "
-"un mapa vectorial GRASS."
+msgid "Calculates univariate statistics of attributes for each registered vector map of a space time vector dataset"
+msgstr "Calcula estadísticas univariante de la columna de la tabla seleccionada para un mapa vectorial GRASS."
 
 #: ../gui/wxpython/menustrings.py:996 ../gui/wxpython/menustrings.py:1903
 #, fuzzy
@@ -14578,12 +13668,8 @@ msgstr "Estadísticas univariantes de raster."
 
 #: ../gui/wxpython/menustrings.py:997 ../gui/wxpython/menustrings.py:1904
 #, fuzzy
-msgid ""
-"Calculates univariate statistics from the non-null cells for each registered "
-"3D raster map of a space time 3D raster dataset."
-msgstr ""
-"Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
-"raster."
+msgid "Calculates univariate statistics from the non-null cells for each registered 3D raster map of a space time 3D raster dataset."
+msgstr "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa raster."
 
 #: ../gui/wxpython/menustrings.py:998 ../gui/wxpython/menustrings.py:1905
 #, fuzzy
@@ -14620,8 +13706,8 @@ msgstr "Modo de categoría."
 msgid "Plot temporal values."
 msgstr "Mostrar la extensión de cálculo:"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "&Ayuda"
 
@@ -14742,163 +13828,167 @@ msgstr "Añadir bucle"
 msgid "Adds loop (series) to model"
 msgstr "Añade bucle (para) al modelo"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "Añadir condición"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Añade condición (if/else) para modelar"
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Añade condición (if/else) para modelar"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "Eliminar ítem"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "Eliminar acción/datos del modelo"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Características del modelo (nombre, propósito, etc.)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "Borrar datos intermedios"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "Eliminar datos intermedios definidos en el modelo"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Ejecutar todo el modelo"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Validar modelo"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Validar el modelo entero"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Mostrar las páginas man HTML del Modelador gráfico"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "Sobre el Modelador Gráfico"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "Mostrar información del Modelador gráfico"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "No se pudo leer la instrucción %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Exportar a imagen"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Exportar modelo a script Python"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "Exportar"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Lanzar script"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Salir del Modelador Gráfico"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 #, fuzzy
 msgid "&Insert"
 msgstr "&Instalar"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "dibujar borde alrededor del marco del mapa"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Añadir mapa raster"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "Añadir mapa vectorial"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Añadir leyenda."
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Importar mapa raster."
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Añadir información al mapa"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Añadir barra de escala"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Añadir barra de escala e indicador de Norte."
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Mostrar las páginas man HTML del Modelador gráfico"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Salir del Modelador Gráfico"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Mostrar información del Modelador gráfico"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
-msgid ""
-"With stvds it is not possible to use 'coordinates' and 'cats' options "
-"together"
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
+msgid "With stvds it is not possible to use 'coordinates' and 'cats' options together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:42
-msgid ""
-"The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package "
-"to be installed."
+msgid "The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package to be installed."
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:95
@@ -14906,124 +13996,118 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Histograma SIG GRASS de imagen o mapa raster"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
 msgstr "Configuraciones de mapa raster"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
-msgid ""
-"Coordinates can be obtained for example by right-clicking on Map Display."
+#: ../gui/wxpython/tplot/frame.py:194
+msgid "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Columna de atributo:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
 msgstr "Seleccione un mapa raster. Mapa 3 (opcional):"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
-msgid ""
-"Both coordinates and categories are set, coordinates will be used. The use "
-"categories remove text from coordinate form"
+#: ../gui/wxpython/tplot/frame.py:386
+msgid "Both coordinates and categories are set, coordinates will be used. The use categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
-msgid ""
-"Difference number of vector layers and maps in the vector temporal dataset"
+#: ../gui/wxpython/tplot/frame.py:441
+msgid "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
-msgid ""
-"Problem getting data from raster temporal dataset. Empty list of values."
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
+msgid "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Modo de categoría."
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
-msgstr ""
+msgstr "Formato de coordenadas incorrecto, debería ser: x,y"
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Entrada no válida"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Entrada no válida"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Entrada no válida"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Entrada no válida"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
-msgstr ""
+msgstr "Valor para {date} es {val}"
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
-msgstr ""
+msgstr "Presionar Del para desechar"
 
 #: ../gui/wxpython/dbmgr/dialogs.py:74
 #, python-format
 msgid ""
 "No attribute table found.\n"
 "\n"
-"Do you want to create a new attribute table and defined a link to vector map "
-"<%s>?"
+"Do you want to create a new attribute table and defined a link to vector map <%s>?"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/dialogs.py:77
@@ -15077,8 +14161,7 @@ msgstr "Longitud:"
 
 #: ../gui/wxpython/dbmgr/vinfo.py:101
 #, python-brace-format
-msgid ""
-"Failed to query vector map <{map}>. Check database settings and topology."
+msgid "Failed to query vector map <{map}>. Check database settings and topology."
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:93 ../gui/wxpython/dbmgr/base.py:2065
@@ -15121,7 +14204,7 @@ msgstr "Obtener una muestra."
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:215
 msgid "Get first 256 unique values as sample"
-msgstr ""
+msgstr "Obtener los primeros 256 valores únicos como muestra"
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:231
 #, fuzzy
@@ -15151,7 +14234,7 @@ msgstr ""
 #: ../gui/wxpython/dbmgr/base.py:1121
 #, python-format
 msgid "Example: %s"
-msgstr ""
+msgstr "Ejemplo: %s"
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:420
 msgid "Verify"
@@ -15209,9 +14292,9 @@ msgstr "La instrucción SQL es válida."
 
 #: ../gui/wxpython/dbmgr/sqlbuilder.py:671
 msgid "Dbf driver does not support usage of SQL functions."
-msgstr ""
+msgstr "El controlador Dbf no soporta el uso de funciones de SQL."
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -15219,7 +14302,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Manejador de atributos de tabla SIG Grass."
 
@@ -15230,17 +14313,12 @@ msgstr "Manejador de atributos de tabla SIG Grass."
 
 #: ../gui/wxpython/dbmgr/manager.py:72
 msgid "READONLY - "
-msgstr ""
+msgstr "SOLO LECTURA-"
 
 #: ../gui/wxpython/dbmgr/manager.py:85
 #, python-format
-msgid ""
-"Database connection for vector map <%s> is not defined in DB file. You can "
-"define new connection in 'Manage layers' tab."
-msgstr ""
-"No se ha definido en el archivo DB, la conexión a la base de datos para el "
-"mapa vectorial <%s>. Puede definir una nueva conexión en la pestaña "
-"\"Administración de capas\"."
+msgid "Database connection for vector map <%s> is not defined in DB file. You can define new connection in 'Manage layers' tab."
+msgstr "No se ha definido en el archivo DB, la conexión a la base de datos para el mapa vectorial <%s>. Puede definir una nueva conexión en la pestaña \"Administración de capas\"."
 
 #: ../gui/wxpython/dbmgr/manager.py:90
 msgid "Please wait, loading attribute data..."
@@ -15270,9 +14348,7 @@ msgstr "Borrar el directorio de mapas de usuario seleccionado (mapset)."
 #: ../gui/wxpython/dbmgr/manager.py:125
 #, fuzzy
 msgid "Reload all attribute data (drop current selection)"
-msgstr ""
-"Volver a cargar los datos del atributo (únicamente para las capas "
-"seleccionadas)."
+msgstr "Volver a cargar los datos del atributo (únicamente para las capas seleccionadas)."
 
 #: ../gui/wxpython/dbmgr/manager.py:198 ../gui/wxpython/dbmgr/base.py:291
 #: ../gui/wxpython/dbmgr/base.py:837 ../gui/wxpython/dbmgr/base.py:996
@@ -15283,12 +14359,8 @@ msgstr "Número de registros cargados: %d."
 
 #: ../gui/wxpython/dbmgr/base.py:154
 #, python-format
-msgid ""
-"Attribute table <%s> not found. For creating the table switch to 'Manage "
-"layers' tab."
-msgstr ""
-"Tabla de atributos <% s> no ha sido encontrada. Para crear la tabla cambie a "
-"la pestaña \"Administrar capas\"."
+msgid "Attribute table <%s> not found. For creating the table switch to 'Manage layers' tab."
+msgstr "Tabla de atributos <% s> no ha sido encontrada. Para crear la tabla cambie a la pestaña \"Administrar capas\"."
 
 #: ../gui/wxpython/dbmgr/base.py:165
 #, python-format
@@ -15315,21 +14387,16 @@ msgstr "Valor desconocido."
 
 #: ../gui/wxpython/dbmgr/base.py:321
 msgid "Unable to decode value. Set encoding in GUI preferences ('Attributes')."
-msgstr ""
-"No se puede decodificar el valor. Determine la codificación en las "
-"preferencias ( 'Atributos') de la interfaz gráfica de usuario GUI."
+msgstr "No se puede decodificar el valor. Determine la codificación en las preferencias ( 'Atributos') de la interfaz gráfica de usuario GUI."
 
 #: ../gui/wxpython/dbmgr/base.py:330
 #, python-format
 msgid ""
-"Error loading attribute data. Record number: %(rec)d. Unable to convert "
-"value '%(val)s' in key column (%(key)s) to integer.\n"
+"Error loading attribute data. Record number: %(rec)d. Unable to convert value '%(val)s' in key column (%(key)s) to integer.\n"
 "\n"
 "Details: %(detail)s"
 msgstr ""
-"Error al cargar los datos del atributo. en el registro número: %(rec)d. "
-"Incapaz de convertir a entero el valor '%(val)s' en la columna clave "
-"(%(key)s).\n"
+"Error al cargar los datos del atributo. en el registro número: %(rec)d. Incapaz de convertir a entero el valor '%(val)s' en la columna clave (%(key)s).\n"
 "\n"
 "Detalles: %(detail)s"
 
@@ -15351,7 +14418,7 @@ msgid "Field calculator"
 msgstr "Calculadora de mapas."
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "Añadir columnas."
@@ -15399,9 +14466,7 @@ msgstr "Añadir columnas."
 
 #: ../gui/wxpython/dbmgr/base.py:937
 msgid "Unable to add column to the table. No column name defined."
-msgstr ""
-"No es posible añadir la columna a la tabla. No se ha definido el nombre de "
-"la columna."
+msgstr "No es posible añadir la columna a la tabla. No se ha definido el nombre de la columna."
 
 #: ../gui/wxpython/dbmgr/base.py:950
 #, python-format
@@ -15410,9 +14475,7 @@ msgstr "La columna <%(column)s> ya existe en la tabla <%(table)s>."
 
 #: ../gui/wxpython/dbmgr/base.py:1026
 msgid "Attribute data - right-click to edit/manage records"
-msgstr ""
-"Datos del atributo - haga click derecho para editar / administrar los "
-"registros."
+msgstr "Datos del atributo - haga click derecho para editar / administrar los registros."
 
 #: ../gui/wxpython/dbmgr/base.py:1041 ../gui/wxpython/dbmgr/base.py:2049
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2773
@@ -15422,7 +14485,7 @@ msgstr "Tabla."
 
 #: ../gui/wxpython/dbmgr/base.py:1043 ../gui/wxpython/dbmgr/base.py:2051
 msgid " (readonly)"
-msgstr ""
+msgstr "(solo lectura)"
 
 #: ../gui/wxpython/dbmgr/base.py:1057
 msgid "SQL Query"
@@ -15457,15 +14520,15 @@ msgstr "Borrar registro(s) seleccionado(s)."
 msgid "Delete all records"
 msgstr "Borrar todos los registros."
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Seleccionar todo."
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Deseleccionar todo."
 
@@ -15476,8 +14539,7 @@ msgstr "Resaltar los objeto(s) espacial(es) seleccionados."
 
 #: ../gui/wxpython/dbmgr/base.py:1281
 msgid "Highlight selected features and zoom"
-msgstr ""
-"Resaltar el(los) objeto(s) espacial(es) seleccionados y acercar (zoom)."
+msgstr "Resaltar el(los) objeto(s) espacial(es) seleccionados y acercar (zoom)."
 
 #: ../gui/wxpython/dbmgr/base.py:1285 ../gui/wxpython/dbmgr/base.py:1765
 msgid "Extract selected features"
@@ -15522,12 +14584,8 @@ msgstr "No es posible insertar un nuevo registro."
 
 #: ../gui/wxpython/dbmgr/base.py:1540
 #, python-format
-msgid ""
-"Selected data records (%d) will be permanently deleted from table. Do you "
-"want to delete them?"
-msgstr ""
-"Los registros seleccionados (%d) serán borrados permanentemente de la tabla. "
-"¿Desea eliminarlos?"
+msgid "Selected data records (%d) will be permanently deleted from table. Do you want to delete them?"
+msgstr "Los registros seleccionados (%d) serán borrados permanentemente de la tabla. ¿Desea eliminarlos?"
 
 #: ../gui/wxpython/dbmgr/base.py:1543 ../gui/wxpython/dbmgr/base.py:1589
 msgid "Delete records"
@@ -15535,12 +14593,8 @@ msgstr "Borrar todos los registros."
 
 #: ../gui/wxpython/dbmgr/base.py:1586
 #, python-format
-msgid ""
-"All data records (%d) will be permanently deleted from table. Do you want to "
-"delete them?"
-msgstr ""
-"Todos los registros (%d) serán borrados de la tabla permanentemente. ¿Desea "
-"eliminarlos?"
+msgid "All data records (%d) will be permanently deleted from table. Do you want to delete them?"
+msgstr "Todos los registros (%d) serán borrados de la tabla permanentemente. ¿Desea eliminarlos?"
 
 #: ../gui/wxpython/dbmgr/base.py:1761
 msgid "Nothing to extract."
@@ -15581,26 +14635,17 @@ msgstr "Tabla <%s> - haga clic derecho para eliminar la(s) columnas."
 
 #: ../gui/wxpython/dbmgr/base.py:2259
 msgid "Unable to rename column. No column name defined."
-msgstr ""
-"No es posible renombrar la columna. No se ha definido un nombre de columna."
+msgstr "No es posible renombrar la columna. No se ha definido un nombre de columna."
 
 #: ../gui/wxpython/dbmgr/base.py:2267
 #, python-format
-msgid ""
-"Unable to rename column <%(column)s> to <%(columnTo)s>. Column already "
-"exists in the table <%(table)s>."
-msgstr ""
-"No es posible renombrar la columna  <%(column)s> como <%(columnTo)s>. por "
-"que la columna ya existe en la tabla <%(table)s>."
+msgid "Unable to rename column <%(column)s> to <%(columnTo)s>. Column already exists in the table <%(table)s>."
+msgstr "No es posible renombrar la columna  <%(column)s> como <%(columnTo)s>. por que la columna ya existe en la tabla <%(table)s>."
 
 #: ../gui/wxpython/dbmgr/base.py:2283
 #, python-format
-msgid ""
-"Unable to rename column. Column <%(column)s> doesn't exist in the table <"
-"%(table)s>."
-msgstr ""
-"No es posible renombrar la columna  <%(column)s> , por que la columna no "
-"existe en la tabla <%(table)s>."
+msgid "Unable to rename column. Column <%(column)s> doesn't exist in the table <%(table)s>."
+msgstr "No es posible renombrar la columna  <%(column)s> , por que la columna no existe en la tabla <%(table)s>."
 
 #: ../gui/wxpython/dbmgr/base.py:2310
 msgid "Drop selected column"
@@ -15612,12 +14657,8 @@ msgstr "columnas"
 
 #: ../gui/wxpython/dbmgr/base.py:2342
 #, fuzzy, python-format
-msgid ""
-"Selected %s will PERMANENTLY removed from table. Do you want to drop the "
-"column?"
-msgstr ""
-"La columna seleccionada '%s' sera eliminada PERMANENTEMENTE de la tabla. "
-"Quiere eliminarla?"
+msgid "Selected %s will PERMANENTLY removed from table. Do you want to drop the column?"
+msgstr "La columna seleccionada '%s' sera eliminada PERMANENTEMENTE de la tabla. Quiere eliminarla?"
 
 #: ../gui/wxpython/dbmgr/base.py:2345 ../gui/wxpython/dbmgr/base.py:2382
 msgid "Drop column(s)"
@@ -15658,7 +14699,7 @@ msgid "Driver"
 msgstr "Manejador."
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Base de datos."
 
@@ -15729,30 +14770,21 @@ msgid ""
 "Please use db.connect to set database parameters."
 msgstr ""
 "No es posible obtener una lista de las tablas.\n"
-"Por favor utilice db.connect para establecer los parámetros de la conexión a "
-"la base de datos."
+"Por favor utilice db.connect para establecer los parámetros de la conexión a la base de datos."
 
 #: ../gui/wxpython/dbmgr/base.py:3220
 msgid "Unable to create new table. Table name or key column name is missing."
-msgstr ""
-"No ha sido posible crear la nueva tabla. Faltan el nombre de la tabla o el "
-"nombre de la columna clave."
+msgstr "No ha sido posible crear la nueva tabla. Faltan el nombre de la tabla o el nombre de la columna clave."
 
 #: ../gui/wxpython/dbmgr/base.py:3226
 #, python-format
 msgid "Unable to create new table. Table <%s> already exists in the database."
-msgstr ""
-"No ha sido posible crear la nueva tabla <%s> por que esta ya existe en la "
-"base de datos."
+msgstr "No ha sido posible crear la nueva tabla <%s> por que esta ya existe en la base de datos."
 
 #: ../gui/wxpython/dbmgr/base.py:3264
 #, python-format
-msgid ""
-"Unable to add new layer to vector map <%(vector)s>. Layer %(layer)d already "
-"exists."
-msgstr ""
-"No ha sido posible añadir la nueva capa al mapa vectorial <%(vector)s>. la "
-"capa %(layer)d ya existe."
+msgid "Unable to add new layer to vector map <%(vector)s>. Layer %(layer)d already exists."
+msgstr "No ha sido posible añadir la nueva capa al mapa vectorial <%(vector)s>. la capa %(layer)d ya existe."
 
 #: ../gui/wxpython/dbmgr/base.py:3429
 #, fuzzy
@@ -15775,8 +14807,7 @@ msgstr "No es posible guardar configuraciones"
 
 #: ../gui/wxpython/dbmgr/base.py:3534
 #, python-format
-msgid ""
-"Unable to calculte statistics. Invalid number of lines %d (should be %d)."
+msgid "Unable to calculte statistics. Invalid number of lines %d (should be %d)."
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:3552
@@ -15789,284 +14820,264 @@ msgstr "No se puede crear la nueva locación."
 msgid "Field statistics <%s>"
 msgstr "Estadísticas vóxel"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "Cerrar todo"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "Cerrar todo"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "Consultar datos de objetos espaciales vectoriales."
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Seleccionar mapa vectorial:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "Exportar tabla de colores"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
-msgstr ""
-"Seleccione el archivo que contiene los parámetros de configuración del "
-"espacio de trabajo (.GRC) a cargar."
+msgstr "Seleccione el archivo que contiene los parámetros de configuración del espacio de trabajo (.GRC) a cargar."
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 #, fuzzy
 msgid "Load"
 msgstr "&Cargar"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 #, fuzzy
 msgid "Type filename or click to choose file and load color table"
 msgstr "Escribir el nombre de archivo o clicar navegar para escoger archivo"
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "Escoger archivo a guardar"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 #, fuzzy
 msgid "Type filename or click to choose file and save color table"
 msgstr "Escribir el nombre de archivo o clicar navegar para escoger archivo"
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "&Configuraciones"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Guardar tabla de colores al archivo"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "Guardar tabla de colores al archivo"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "Guardar tabla de colores al archivo"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "Reiniciar a la visualización predeterminada."
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Vista previa de impresión."
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr "Nada que guardar."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Escala o centro del mapa incorrectos!"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
-msgstr ""
-"Valor de la regla no correcto '%s'. No es posible aplicar la tabla de "
-"colores."
+msgstr "Valor de la regla no correcto '%s'. No es posible aplicar la tabla de colores."
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
-msgstr ""
-"Crear nueva tabla de colores para el mapa raster usando reglas de color."
+msgstr "Crear nueva tabla de colores para el mapa raster usando reglas de color."
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr "Entrar los valores de la categoría raster o porcentajes"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr "intervalo fp"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
-msgstr ""
-"Entrar valores de categoría raster o porcentajes (%(range)s = %(min)d-"
-"%(max)d)"
+msgstr "Entrar valores de categoría raster o porcentajes (%(range)s = %(min)d-%(max)d)"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
-msgstr ""
-"Crear nueva tabla de colores para el mapa de vectores usando reglas de color."
+msgstr "Crear nueva tabla de colores para el mapa de vectores usando reglas de color."
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
-msgstr ""
-"Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
+msgstr "Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "Consultar datos de objetos espaciales vectoriales."
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "Seleccionar un mapa vectorial."
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Capa:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Columna de atributo:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "color de la columna de la tabla del mapa:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "Columna de color RGB:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "tamaño de la columna de la tabla del mapa:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "Series raster a volumen."
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "Cargar modelo del archivo"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Elimina una columna de la tabla de atributos seleccionada"
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "Exportar tabla de colores"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
-msgid ""
-"Database connection for vector map <%s> is not defined in DB file.  Do you "
-"want to create and connect new attribute table?"
-msgstr ""
-"No se ha definido en el archivo DB, la conexión a la base de datos para el "
-"mapa vectorial <%s>. Puede definir una nueva conexión en la pestaña "
-"\"Administración de capas\"."
+msgid "Database connection for vector map <%s> is not defined in DB file.  Do you want to create and connect new attribute table?"
+msgstr "No se ha definido en el archivo DB, la conexión a la base de datos para el mapa vectorial <%s>. Puede definir una nueva conexión en la pestaña \"Administración de capas\"."
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "Conexiones entre vectoriales y bases de datos."
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
-msgid ""
-"Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
-"table cannot be edited."
+msgid "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, fuzzy, python-format
 msgid "%s column already exists."
 msgstr "El archivo ya existe"
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "Por favor espere, cargando datos del atributo."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
-msgid ""
-"Number of loaded records reached %d, displaying all the records will be time-"
-"consuming and may lead to computer freezing, do you still want to continue?"
+msgid "Number of loaded records reached %d, displaying all the records will be time-consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr "Demasiados registros"
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
-msgstr ""
-"Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
+msgstr "Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
-msgstr ""
-"Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
+msgstr "Ingrese valores o rangos para los atributos vectoriales (n or n1 to n2)."
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "Por favor selecciona una herramienta de limpieza a bajar"
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -16118,23 +15129,23 @@ msgstr "Trazar/actualizar variograma"
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "Técnicas Kriging"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Tamaño del bloque:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "Ajuste automático de variograma"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Modelo:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Trabajo realizándose! No se facilita funcionalidad."
 
@@ -16288,7 +15299,7 @@ msgstr "Nombre para el nuevo mapa vectorial:"
 #: ../gui/wxpython/modules/vclean.py:455
 #: ../gui/wxpython/mapswipe/toolbars.py:26
 msgid "Tools"
-msgstr ""
+msgstr "Herramientas"
 
 #: ../gui/wxpython/modules/vclean.py:456
 #, fuzzy
@@ -16345,7 +15356,7 @@ msgid "Save expression to file"
 msgstr "Guardar expresión a archivo"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "&Cargar"
 
@@ -16354,7 +15365,7 @@ msgid "Load expression from file"
 msgstr "Cargar expresión del archivo"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Copiar la cadena del comando actual al portapapeles."
 
@@ -16519,107 +15530,263 @@ msgstr "Seleccione un nombre de archivo para cargar la expresión"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' copiado al portapapeles."
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr "Buscar & instalar extensión de Complementos GRASS"
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Repositorio"
-
-#: ../gui/wxpython/modules/extensions.py:53
-#, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Lista deítems -derecha-click para eliminar"
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Importación múltiple."
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
-msgid "Options"
-msgstr "Opciones"
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr "Lista de capas raster"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr "&Buscar"
+#: ../gui/wxpython/modules/import_export.py:62
+msgid "List of vector layers"
+msgstr "Lista de capas vectoriales"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
-"Buscar lista de módulos disponibles en los complementos del repositorio SVN "
-"de GRASS"
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr "Lista de %s capas"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr "&Instalar"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr "click derecho para (des)seleccionar todo"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr "Instalar los complementos seleccionados en el módulo de GRASS"
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "Id de capa"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:70
+msgid "Name for output GRASS map (editable)"
+msgstr "Nombre del mapa GRASS de salida (editable)"
 
-#: ../gui/wxpython/modules/extensions.py:168
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
 #, fuzzy
-msgid "Extension not defined"
-msgstr "Condición: no definida"
-
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
-"Obteniendo lista de módulos de complementos SVN de GRASS (sea paciente)..."
+msgid "Projection match"
+msgstr "Proyección"
 
-#: ../gui/wxpython/modules/extensions.py:213
-#, fuzzy
-msgid "Install"
-msgstr "&Instalar"
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Cerrar el diálogo al finalizar."
 
-#: ../gui/wxpython/modules/extensions.py:216
-#, fuzzy
-msgid "Show manual page"
-msgstr "Mostrar manual"
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Importar."
 
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "No es posible guardar configuraciones"
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Importar las capas seleccionadas."
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Administrar extensiones de complementos"
+msgid "Source settings"
+msgstr "Configuración del entorno de trabajo"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "Lista de extensiones"
+msgid "Import settings"
+msgstr "Configuración de tipo de letra."
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Uninstall"
-msgstr "&Instalar"
+msgid "Add linked layers into layer tree"
+msgstr "Añadir las capas importadas al árbol de capas."
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Añadir las capas importadas al árbol de capas."
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Liga."
+
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Ligar las capas seleccionadas."
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr "No se han seleccionado capas. Operación cancelada."
+
+#: ../gui/wxpython/modules/import_export.py:397
+msgid "Unable to determine number of raster bands"
+msgstr "No se puede determinar el número de bandas raster"
+
+#: ../gui/wxpython/modules/import_export.py:591
+msgid "Define output format for vector data"
+msgstr "Definir formato de salida para datos vectoriales"
+
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
+msgstr "Definir formato de salida para datos raster"
+
+#: ../gui/wxpython/modules/import_export.py:601
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
+msgid "Set external format and close dialog"
+msgstr "Ignorar los cambios y cerrar el cuadro de diálogo."
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "No se ha seleccionado ningún mapa!"
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Importar capas de mapas DXF."
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Seleccionar archivo DXF a importar:"
+
+#: ../gui/wxpython/modules/import_export.py:695
+msgid "No layers selected."
+msgstr "No hay capas seleccionadas."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Proyección"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Nombre del mapa GRASS."
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid "Projection of following layers do not match with projection of current location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Capa a eliminar"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importar las capas seleccionadas."
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr "Buscar & instalar extensión de Complementos GRASS"
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Lista deítems -derecha-click para eliminar"
+
+#: ../gui/wxpython/modules/extensions.py:71
+msgid "Options"
+msgstr "Opciones"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr "&Buscar"
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr "Buscar lista de módulos disponibles en los complementos del repositorio SVN de GRASS"
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr "&Instalar"
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr "Instalar los complementos seleccionados en el módulo de GRASS"
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr "Mostrar página de manual de g.extension"
+
+#: ../gui/wxpython/modules/extensions.py:168
+#, fuzzy
+msgid "Extension not defined"
+msgstr "Condición: no definida"
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr "Obteniendo lista de módulos de complementos SVN de GRASS (sea paciente)..."
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Lista de extensiones"
+
+#: ../gui/wxpython/modules/extensions.py:214
+#, fuzzy
+msgid "Install"
+msgstr "&Instalar"
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Mostrar manual"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "No es posible guardar configuraciones"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
 msgstr "Administrar extensiones de complementos"
 
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "Lista de extensiones"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "&Instalar"
+
 #: ../gui/wxpython/modules/extensions.py:372
 #, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Administrar extensiones de complementos"
+
+#: ../gui/wxpython/modules/extensions.py:373
+#, fuzzy
 msgid "Reinstall"
 msgstr "&Instalar"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/extensions.py:374
 #, fuzzy
 msgid "Reinstall selected Addons extensions"
 msgstr "Administrar extensiones de complementos"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/extensions.py:411
 #, fuzzy
 msgid "No extension selected. Operation canceled."
 msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -16628,18 +15795,18 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 #, fuzzy
 msgid "Remove extension"
 msgstr "Eliminar vértice."
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "Expresión"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr "Por favor espere, exportando imagen..."
 
@@ -16675,7 +15842,7 @@ msgstr "Volver al modo de vista 2D"
 
 #: ../gui/wxpython/mapswipe/dialogs.py:157
 msgid "Cancel"
-msgstr ""
+msgstr "Cancelar"
 
 #: ../gui/wxpython/mapswipe/dialogs.py:161
 #, fuzzy
@@ -16724,7 +15891,7 @@ msgstr "No se ha encontrado el mapa <%s> ."
 
 #: ../gui/wxpython/mapswipe/toolbars.py:27
 msgid "Quit Map Swipe"
-msgstr ""
+msgstr "Quitar Map Swipe"
 
 #: ../gui/wxpython/mapswipe/toolbars.py:111
 #, fuzzy
@@ -16766,12 +15933,12 @@ msgstr "Seleccionar grupo:"
 
 #: ../gui/wxpython/iclass/dialogs.py:171
 msgid "Please choose a subgroup."
-msgstr ""
+msgstr "Por favor seleccione un subgrupo."
 
 #: ../gui/wxpython/iclass/dialogs.py:174
 #, python-format
 msgid "Subgroup <%s> not found in group <%s>"
-msgstr ""
+msgstr "El subgrupo <%s> no fue encontrado en el grupo <%s>"
 
 #: ../gui/wxpython/iclass/dialogs.py:180
 #, fuzzy, python-format
@@ -16788,7 +15955,7 @@ msgid ""
 msgstr "No se puede crear el mapa vectorial <%s>.\n"
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "No se ha encontrado el mapa <%s> ."
@@ -16816,8 +15983,7 @@ msgstr "Guardar expresión a archivo"
 #: ../gui/wxpython/iclass/dialogs.py:615
 #, fuzzy
 msgid "Enter name of signature file:"
-msgstr ""
-"Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
+msgstr "Escriba el nombre para el nuevo directorio de mapas de usuario (mapset):"
 
 #: ../gui/wxpython/iclass/dialogs.py:624
 #, fuzzy
@@ -16829,11 +15995,6 @@ msgstr "Importar un archivo binario."
 msgid "Export training areas"
 msgstr "Exportar a imagen"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Crear la tabla de atributos."
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16850,9 +16011,7 @@ msgid "Vector <%s> exists"
 msgstr "Mapa vectorial <%s> añadido"
 
 #: ../gui/wxpython/iclass/digit.py:57
-msgid ""
-"You are trying to create a training area outside the computational region. "
-"Please, use g.region to set the appropriate region first."
+msgid "You are trying to create a training area outside the computational region. Please, use g.region to set the appropriate region first."
 msgstr ""
 
 #: ../gui/wxpython/iclass/digit.py:66
@@ -16862,22 +16021,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "No se ha seleccionado ningún mapa!"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "No se ha encontrado el mapa <%s> ."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Cargando mapa raster."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Cargando mapa raster."
@@ -16897,7 +16056,7 @@ msgstr "Histograma."
 
 #: ../gui/wxpython/iclass/plots.py:67
 msgid "Coincident plots"
-msgstr ""
+msgstr "Gráficas de coincidencia"
 
 #: ../gui/wxpython/iclass/plots.py:68
 #, fuzzy
@@ -16928,169 +16087,164 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Barra de herramientas de Georectificación"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Barra de herramientas "
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Barra de herramientas Misc"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Error de Digitalización"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
-msgstr ""
+msgstr "Gráficas"
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Imprimir visualización."
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Mostrar Destino"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 #, fuzzy
 msgid "Adjust Training Area Display to Preview Display"
 msgstr "Ajustar vista de salida a vista de entrada"
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 #, fuzzy
 msgid "Adjust Preview display to Training Area Display"
 msgstr "Ajustar vista de entrada a vista de salida"
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Mostrar región."
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Mostrar región."
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Importar mapa vectorial."
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "No se puede abrir mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "No se puede abrir mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "No hay algo para extraer."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Analizar."
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
-msgstr ""
+msgstr "resultados"
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "No se ha seleccionado alguna capa de mapas."
 
-#: ../gui/wxpython/iclass/frame.py:994
-msgid ""
-"Due to recent changes in classes, signatures can be outdated and should be "
-"recalculated. Do you still want to continue?"
+#: ../gui/wxpython/iclass/frame.py:995
+msgid "Due to recent changes in classes, signatures can be outdated and should be recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
-msgid ""
-"Group <%(group)s> does not have enough files (it has %(files)d files). "
-"Operation canceled."
+msgid "Group <%(group)s> does not have enough files (it has %(files)d files). Operation canceled."
 msgstr "La lectura del elemento id %d falló. Operación cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "El elemento id %d está marcado como fallecido. Operación cancelada."
 
 #: ../gui/wxpython/iclass/toolbars.py:33
-#, fuzzy
 msgid "Set opacity level"
-msgstr "Cambiar el nivel de opacidad."
+msgstr "Definir el nivel de opacidad."
 
 #: ../gui/wxpython/iclass/toolbars.py:39
 msgid "Run analysis, update histogram and coincidence plots"
-msgstr ""
+msgstr "Correr el análisis, actualizar el histograma y las gráficas de coincidencia"
 
 #: ../gui/wxpython/iclass/toolbars.py:41
 #, fuzzy
@@ -17113,18 +16267,16 @@ msgid "Import training areas from vector map"
 msgstr "Importar datos raster"
 
 #: ../gui/wxpython/iclass/toolbars.py:66
-#, fuzzy
 msgid "Training"
-msgstr "Aviso"
+msgstr "Entrenamiento"
 
 #: ../gui/wxpython/iclass/toolbars.py:70
 msgid "Set map canvas for "
 msgstr "Establecer lienzo del mapa para"
 
 #: ../gui/wxpython/iclass/toolbars.py:72
-#, fuzzy
 msgid "/ Zoom to map"
-msgstr " / Zoom al mapa"
+msgstr " / Acercar al mapa"
 
 #: ../gui/wxpython/iclass/toolbars.py:244
 #: ../gui/wxpython/iclass/toolbars.py:249
@@ -17197,9 +16349,7 @@ msgstr "Debe seleccionar una locación válida antes que un directorio de mapas.
 
 #: ../gui/wxpython/gcp/manager.py:412
 msgid "You must select a valid location and mapset in order to continue"
-msgstr ""
-"Debe seleccionar una locación y un directorio de mapas válidos para "
-"continuar."
+msgstr "Debe seleccionar una locación y un directorio de mapas válidos para continuar."
 
 #: ../gui/wxpython/gcp/manager.py:431
 msgid "Select image/map group to georectify"
@@ -17231,9 +16381,7 @@ msgstr "Debe introducir una extensión del nombre del mapa para continuar."
 
 #: ../gui/wxpython/gcp/manager.py:610
 msgid "Select maps to display for ground control point (GCP) creation"
-msgstr ""
-"Seleccionar mapas a visualizar para crear los puntos de control sobre el "
-"terreno (GCP)"
+msgstr "Seleccionar mapas a visualizar para crear los puntos de control sobre el terreno (GCP)"
 
 #: ../gui/wxpython/gcp/manager.py:618 ../gui/wxpython/gcp/manager.py:2602
 msgid "Select source map to display:"
@@ -17320,14 +16468,12 @@ msgstr "Falló la lectura del archivo de PUNTOS."
 #: ../gui/wxpython/gcp/manager.py:1382
 #, fuzzy, python-format
 msgid ""
-"Insufficient points defined and active (checked) for selected rectification "
-"method (order: %d).\n"
+"Insufficient points defined and active (checked) for selected rectification method (order: %d).\n"
 "3+ points needed for 1st order,\n"
 "6+ points for 2nd order, and\n"
 "10+ points for 3rd order."
 msgstr ""
-"Los puntos definidos y activos (marcados) son insuficientes para aplicar el "
-"método de rectificación seleccionado.\n"
+"Los puntos definidos y activos (marcados) son insuficientes para aplicar el método de rectificación seleccionado.\n"
 "Se necesitan 3 o mas puntos para ejecutar la rectificación de primer orden,\n"
 "6 o mas puntos para la rectificación de segundo orden y\n"
 "10 o mas puntos para las rectificación de tercer orden."
@@ -17342,9 +16488,9 @@ msgid "Transforming <%s>..."
 msgstr "Transformando <%s>..."
 
 #: ../gui/wxpython/gcp/manager.py:1453
-#, fuzzy, python-format
+#, python-format
 msgid "Rectifying vector map <%s>, please wait..."
-msgstr "Rectificando imágenes, por favor espere..."
+msgstr "Rectificando mapa vectorial <%s>, por favor espere..."
 
 #: ../gui/wxpython/gcp/manager.py:1486
 #, python-format
@@ -17414,7 +16560,6 @@ msgid "Backward error"
 msgstr "Error hacia atrás."
 
 #: ../gui/wxpython/gcp/manager.py:2106
-#, fuzzy
 msgid "Invalid coordinate value. Operation canceled."
 msgstr "Valor de coordenada no válido. Operación cancelada."
 
@@ -17519,8 +16664,7 @@ msgstr "Seleccionar método de interpolación:"
 
 #: ../gui/wxpython/gcp/manager.py:2660
 msgid "clip to computational region in target location"
-msgstr ""
-"Recorta la visualización a la región de cálculo en la locación de destino."
+msgstr "Recorta la visualización a la región de cálculo en la locación de destino."
 
 #: ../gui/wxpython/gcp/manager.py:2700
 msgid "RMS threshold factor must be > 0"
@@ -17556,19 +16700,142 @@ msgstr "Error RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "Adelante: %(forw)s, Hacia atrás:%(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "Calculadora de Mapas Raster SIG GRASS 3D"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "No se pudo leer la instrucción %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "No se pudo leer la instrucción %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Cambiar el nombre."
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Cambiar nombre del directorio de mapas seleccionado (Mapset)."
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Validando modelo..."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Redibujando modelo..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Falló la lectura del archivo %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Copiar tabla."
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Calculando nodos..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "¿Quiere crear la locación de GRASS <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Borrar el directorio de mapas seleccionado (Mapset)."
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Borrar."
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Mostrar."
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Copiar."
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "&Raster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Mostrar mapa"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
+"Por favor instale Python Imaging Library (PIL)\n"
+"para un mejor control de leyendas y otras decoraciones."
 
-#: ../gui/wxpython/mapwin/decorations.py:329
-#, fuzzy
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
-msgstr "Mostrar la región de cómputo."
+msgstr "Mostrar objeto de texto"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17576,72 +16843,82 @@ msgstr ""
 "Arrastrar texto con el ratón en modo puntero a la posición.\n"
 "Doble pulsación para cambiar las opciones."
 
-#: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "legend"
-msgstr "Leyenda."
+msgstr "leyenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "scale bar"
-msgstr "Añadir barra de escala"
+msgstr "barra de escala"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
-#, fuzzy
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "north arrow"
-msgstr "Añadir barra de escala e indicador de Norte."
+msgstr "flecha al norte"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
-#, fuzzy
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
+msgstr "Copiar coordenadas al portapapeles"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Barra de herramientas de visualización de GCP"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
 msgstr "'%s' copiado al portapapeles."
 
-#: ../gui/wxpython/mapwin/buffered.py:243
-#, fuzzy, python-brace-format
-msgid "Hide {overlay}"
-msgstr "Añadir superposiciones"
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:246
 #, fuzzy
+msgid "Show statusbar"
+msgstr "Mostrar configuración."
+
+#: ../gui/wxpython/mapwin/buffered.py:260
+#, python-brace-format
+msgid "Hide {overlay}"
+msgstr "Esconder {overlay}"
+
+#: ../gui/wxpython/mapwin/buffered.py:267
 msgid "Resize legend"
-msgstr "Leyenda raster"
+msgstr "Redimensionar la leyenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Acercamiento a la extensión de la región guardada (zoom to saved...)"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
-#, fuzzy
+#: ../gui/wxpython/mapwin/buffered.py:1921
 msgid "Set compulational region from named region"
-msgstr "Establece la región de cálculo desde la pantalla."
+msgstr "Definir región computacional desde la región nombrada"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Región <%s> no encontrada. Operación cancelada."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
-msgstr ""
-"Guardar la extensión de la visualización a un archivo de configuración de "
-"región."
+msgstr "Guardar la extensión de la visualización a un archivo de configuración de región."
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
-#, fuzzy
+#: ../gui/wxpython/mapwin/buffered.py:1964
 msgid "Save computational region to region file"
-msgstr "Establece la región de cálculo desde la pantalla."
+msgstr "Guardar región computacional a un archivo de región"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr "La propiedad no existe: %s"
@@ -17674,19 +16951,14 @@ msgstr ""
 
 #: ../gui/wxpython/mapwin/analysis.py:218
 #: ../gui/wxpython/mapwin/analysis.py:332
-#, fuzzy
 msgid "Measuring finished"
-msgstr "Midiendo distancia."
+msgstr "Medición terminada"
 
 #: ../gui/wxpython/mapwin/analysis.py:233
 #: ../gui/wxpython/mapwin/analysis.py:342
 #, python-format
-msgid ""
-"Click and drag with left mouse button to measure.%sDouble click with left "
-"button to clear."
-msgstr ""
-"Pulse y arrastre con el botón izquierdo del ratón para medir. %s . Haga "
-"doble clic izquierdo para limpiar."
+msgid "Click and drag with left mouse button to measure.%sDouble click with left button to clear."
+msgstr "Pulse y arrastre con el botón izquierdo del ratón para medir. %s . Haga doble clic izquierdo para limpiar."
 
 #: ../gui/wxpython/mapwin/analysis.py:239
 msgid "Measuring distance"
@@ -17697,12 +16969,12 @@ msgid "Measuring distance:"
 msgstr "Midiendo distancia:"
 
 #: ../gui/wxpython/mapwin/analysis.py:250
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Geodesic distance calculation is not available.\n"
 "Reason: %s"
 msgstr ""
-"La distancia geodésica no es soportada por esta herramienta.\n"
+"La distancia geodésica no está disponible.\n"
 "Razón: %s"
 
 #: ../gui/wxpython/mapwin/analysis.py:286
@@ -17718,20 +16990,19 @@ msgstr "distancia total"
 #: ../gui/wxpython/mapwin/analysis.py:288
 #, fuzzy
 msgid "bearing"
-msgstr "Aviso"
+msgstr "aviso"
 
 #: ../gui/wxpython/mapwin/analysis.py:288
 msgid "degrees (clockwise from grid-north)"
-msgstr ""
+msgstr "grados (a favor de las manecillas del reloj partiendo del norte)"
 
 #: ../gui/wxpython/mapwin/analysis.py:346
-#, fuzzy
 msgid "Measuring area:"
 msgstr "Midiendo distancia:"
 
 #: ../gui/wxpython/mapwin/analysis.py:359
 msgid "Units not recognized, measurement failed."
-msgstr ""
+msgstr "No se reconocieron las medidas, falló la medición."
 
 #: ../gui/wxpython/mapwin/analysis.py:364
 #: ../gui/wxpython/mapwin/analysis.py:366
@@ -17739,576 +17010,439 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr "Área: {area} {unit}\n"
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "Seleccionar localización GRASS y directorio de mapas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:110
 msgid "Location or mapset is not defined."
-msgstr "La longitud de la barra de escala no está definida"
+msgstr "No se ha definido la localización o el directorio de mapas."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "Nombre de la localización GRASS:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "Nombre del directorio de mapas:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "Seleccionar directorio de mapas en localización GRASS"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
-msgstr "Nombre del directorio de mapas:"
+msgstr "Falta el nombre del Nombre del directorio de mapas."
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:197
 msgid "Name of vector map is missing."
-msgstr "Nombre para el nuevo mapa vectorial:"
+msgstr "Falta el nombre del mapa vectorial."
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Crear la tabla de atributos."
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Añadir el mapa creado al árbol de capas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Columna clave:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
-msgid ""
-"Vector map <%s> already exists in the current mapset. Do you want to "
-"overwrite it?"
-msgstr ""
-"El archivo vectorial <%s> ya existe en el directorio de mapas de usuario "
-"actual (Mapset) ¿Quiere sobrescribirlo?"
+msgid "Vector map <%s> already exists in the current mapset. Do you want to overwrite it?"
+msgstr "El archivo vectorial <%s> ya existe en el directorio de mapas de usuario actual (Mapset) ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Cargar encuadre de región:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Guardar región:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
-msgid ""
-"Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
-"'@', ',', '=', '*', and all other non-alphanumeric characters."
+#: ../gui/wxpython/gui_core/dialogs.py:536
+msgid "Name cannot begin with '.' and must not contain space, quotes, '/', ''', '@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "Crear / editar grupo."
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "Aplicar los cambios y cerrar el cuadro de diálogo."
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "Aplicar cambios para esta sesión."
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
-msgstr "Cerrar el dialogo al aplicar."
+msgstr "Cerrar el dialogo, cambios no aplicados."
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
-msgid ""
-"Put here a regular expression. Characters '.*' stand for anything, character "
-"'^' stands for the beginning and '$' for the end."
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
+msgid "Put here a regular expression. Characters '.*' stand for anything, character '^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr "Editar/crear subgrupo"
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr "Patrón:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Lista de mapas:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 #, fuzzy
 msgid "Select map layers and add them to the list."
 msgstr "La capa del mapa seleccionado no es vectorial."
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "Remover de la lista las capa(s) seleccionadas."
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
-msgstr "Añadir capas de mapa seleccionadas al árbol de capas"
+msgstr "Añadir mapa seleccionado al grupo"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
-msgstr ""
+msgstr "El grupo <%s> no fue cambiado, ¿quiere aplicar los cambios?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
-msgstr "Aplicar los cambios."
+msgstr "Cambios no aplicados"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
-msgstr ""
+msgstr "El subgrupo <%s> no fue cambiado, ¿quiere aplicar los cambios?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 msgid "No raster maps selected."
-msgstr "No hay ningún mapa raster seleciconado!"
+msgstr "No hay ningún mapa raster seleccionado."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
-msgstr ""
+msgstr "No hay cambios que aplicar al grupo <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
-msgstr ""
+msgstr "El grupo <%s> fue creado exitosamente."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
-msgstr ""
+msgstr "El grupo <%s> fue cambiado exitosamente."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
-#, fuzzy, python-format
+#: ../gui/wxpython/gui_core/dialogs.py:1154
+#, python-format
 msgid "Creating of new group <%s> failed."
-msgstr "La Georrectificación del mapa vectorial <%s>  ha fallado."
+msgstr "Crear grupo nuevo <%s> ha fallado."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
-msgstr ""
+msgstr "Falló el cambio de grupo <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr "No se ha seleccionado ningún grupo."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 msgid "No subgroup selected."
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr "No se ha seleccionado ningún subgrupo."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
-msgstr "Tipo de capa de mapa:"
+msgstr "Tipo de mapa:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr "Seleccionar palanca"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Directorio de mapas:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Invertir selección"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr "Series dinámicas (%s)"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Importación múltiple."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Lista de capas."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Lista de capas."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "Lista de capas %s ."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "Capa."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Nombre del mapa GRASS."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Proyección"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Cerrar el diálogo al finalizar."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Importar."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Importar las capas seleccionadas."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Añadir las capas importadas al árbol de capas."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Añadir las capas importadas al árbol de capas."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Liga."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Ligar las capas seleccionadas."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "No se puede crear el perfil del mapa raster."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Importar mapa vectorial."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Importar mapa raster."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Ignorar los cambios y cerrar el cuadro de diálogo."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "No se ha seleccionado ningún mapa!"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Importar capas de mapas DXF."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Seleccionar archivo DXF a importar:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "No se ha seleccionado alguna capa de mapas."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Establecer opacidad de la capa de mapa."
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "Opaco."
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "Establecer tamaño de imagen"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "Tamaño de imagen"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "Plantilla:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
-msgstr "Visualización de mapas - SIG GRASS."
+msgstr "Utilidad de GRASS GIS para Sentencia SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
-msgstr "Sentencia SQL."
+msgstr "Sentencia SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
-msgstr "símbolo"
+msgstr "Símbolos"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
-msgstr "Tamaño del símbolo:"
+msgstr "Directorio del símbolo:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
-#, fuzzy
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
-msgstr "Tamaño del símbolo:"
+msgstr "Nombre del símbolo:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
-msgstr ""
+msgstr "¿Quiere quitar GRASS incluyendo la linea de comandos o solo cerrar la GUI?"
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
+"No se puede importar pyGRASS: %s\n"
+"Algunas funcionalidades no serán accesibles"
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr "Elemento no seleccionable"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Directorio de mapas de usuario (mapset)."
 
-#: ../gui/wxpython/gui_core/gselect.py:504
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:507
 msgid "Type: "
 msgstr "Tipo:"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr "GSelect: item no válido: %s"
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "Configuraciones del mapa"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "Configuración del entorno de trabajo"
+msgid "Source input"
+msgstr "Tipo de fuente"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr "Nativo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Archivo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Directorio"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
-msgstr "Salida."
+msgstr "Tipo de salida"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Tipo de fuente"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "todos los archivos"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1368
 msgid "ZIP files"
-msgstr "todos los archivos"
+msgstr "Archivos ZIP"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1369
 msgid "GZIP files"
-msgstr "todos los archivos"
+msgstr "Archivos GZIP"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1370
 msgid "TAR files"
-msgstr "todos los archivos"
+msgstr "Archivos TAR"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1372
 msgid "TARGZ files"
-msgstr "todos los archivos"
+msgstr "Archivos TARGZ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Archivo:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "Seleccionar archivo a importar"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Seleccionar directorio de entrada de datos hacia GRASS:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
-msgstr "Expresión"
+msgstr "Extensión:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Escoger archivo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
-msgstr "Tipo de elemento"
+msgstr "Tipo de elemento:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "simple features"
-msgstr "Consultar atributos."
+msgstr "elementos simples"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
-#, fuzzy
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "topological"
-msgstr "Reconstruir topología"
+msgstr "topológico"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "Establecer opciones."
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Formato:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Protocolo:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Modo de vista 3D no disponible"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Iluminación"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
-msgstr ""
+msgstr "Polígono"
+
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "No se ha seleccionado ninguna capa de mapa. Operación cancelada."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Mapa vectorial de entrada no existe."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid "Input vector map <%s> and selected map <%s> in layer manager are different. Operation canceled."
+msgstr "El mapa de vectores no es tridimensional (3D). Operación cancelada."
 
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
@@ -18355,9 +17489,7 @@ msgstr "Preguntar cuando se remueve una capa de mapas del árbol de capas."
 
 #: ../gui/wxpython/gui_core/preferences.py:272
 msgid "Ask when quiting wxGUI or closing display"
-msgstr ""
-"Preguntar cuando se abandona la interfaz gráfica de usuario wx o se cierre "
-"la ventana."
+msgstr "Preguntar cuando se abandona la interfaz gráfica de usuario wx o se cierre la ventana."
 
 #: ../gui/wxpython/gui_core/preferences.py:282
 #: ../gui/wxpython/gui_core/preferences.py:292
@@ -18371,9 +17503,7 @@ msgstr "Buscar módulo"
 
 #: ../gui/wxpython/gui_core/preferences.py:305
 msgid "Automatically copy selected text to clipboard (in Command console)"
-msgstr ""
-"Copiar automáticamente el texto seleccionado en el portapapeles (en la "
-"consola de Comandos)"
+msgstr "Copiar automáticamente el texto seleccionado en el portapapeles (en la consola de Comandos)"
 
 #: ../gui/wxpython/gui_core/preferences.py:320
 msgid "Workspace settings"
@@ -18381,8 +17511,7 @@ msgstr "Configuración del entorno de trabajo"
 
 #: ../gui/wxpython/gui_core/preferences.py:327
 msgid "Suppress positioning Map Display Window(s)"
-msgstr ""
-"Suprimir el posicionamiento de la(s) ventana(s) de visualización de mapas."
+msgstr "Suprimir el posicionamiento de la(s) ventana(s) de visualización de mapas."
 
 #: ../gui/wxpython/gui_core/preferences.py:339
 msgid "Suppress positioning Layer Manager window"
@@ -18390,18 +17519,11 @@ msgstr "Suprimir el posicionamiento de la ventana del administrador de capas."
 
 #: ../gui/wxpython/gui_core/preferences.py:350
 msgid "Save current window layout as default"
-msgstr ""
-"Guardar parámetros de visualización de la ventana actual como "
-"predeterminados."
+msgstr "Guardar parámetros de visualización de la ventana actual como predeterminados."
 
 #: ../gui/wxpython/gui_core/preferences.py:353
-msgid ""
-"Save current position and size of Layer Manager window and opened Map "
-"Display window(s) and use as default for next sessions."
-msgstr ""
-"Guardar la posición y tamaño actuales, tanto de la ventana del Administrador "
-"de capas, como de la(s) de visualización de mapas abiertas y utilizar como "
-"ajustes predeterminados para próximas sesiones."
+msgid "Save current position and size of Layer Manager window and opened Map Display window(s) and use as default for next sessions."
+msgstr "Guardar la posición y tamaño actuales, tanto de la ventana del Administrador de capas, como de la(s) de visualización de mapas abiertas y utilizar como ajustes predeterminados para próximas sesiones."
 
 #: ../gui/wxpython/gui_core/preferences.py:389
 msgid "Font for command output:"
@@ -18414,7 +17536,7 @@ msgstr "Cambiar configuración."
 
 #: ../gui/wxpython/gui_core/preferences.py:412
 msgid "Choose language (requires to save and GRASS restart):"
-msgstr ""
+msgstr "Escoger idioma (es necesario salvar y reiniciar GRASS):"
 
 #: ../gui/wxpython/gui_core/preferences.py:437
 msgid "Appearance settings"
@@ -18444,6 +17566,7 @@ msgid "Module dialog style:"
 msgstr "Diálogo de comandos"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "Visualización del Mapa"
 
@@ -18473,7 +17596,7 @@ msgstr "Permitir zoom automático a la capa de mapa seleccionada"
 
 #: ../gui/wxpython/gui_core/preferences.py:723
 msgid "Mouse wheel action:"
-msgstr ""
+msgstr "Acción de la rueda del ratón:"
 
 #: ../gui/wxpython/gui_core/preferences.py:738
 msgid "Mouse scrolling direction:"
@@ -18489,9 +17612,8 @@ msgid "3D view depth buffer (possible values are 16, 24, 32):"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:802
-#, fuzzy
 msgid "Modules"
-msgstr "Código."
+msgstr "Módulos"
 
 #: ../gui/wxpython/gui_core/preferences.py:805
 #, fuzzy
@@ -18516,47 +17638,42 @@ msgid "Layers"
 msgstr "Capas"
 
 #: ../gui/wxpython/gui_core/preferences.py:888
-#, fuzzy
 msgid "Default raster settings"
-msgstr "Ajustes predeterminados de pantalla."
+msgstr "Configuraciones predeterminadas para rasters"
 
 #: ../gui/wxpython/gui_core/preferences.py:898
 msgid "Make null cells opaque"
-msgstr ""
+msgstr "Hacer opacas las celdas nulas"
 
 #: ../gui/wxpython/gui_core/preferences.py:909
 msgid "Default color table"
 msgstr "Tabla de colores predeterminada"
 
 #: ../gui/wxpython/gui_core/preferences.py:936
-#, fuzzy
 msgid "Default vector settings"
-msgstr "Configuración de vector."
+msgstr "Configuraciones predeterminadas para vectoriales"
 
 #: ../gui/wxpython/gui_core/preferences.py:942
 msgid "Display:"
 msgstr "Presentación:"
 
 #: ../gui/wxpython/gui_core/preferences.py:961
-#, fuzzy
 msgid "Feature color:"
-msgstr "color del alambre"
+msgstr "Color del objeto:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Transparente."
 
 #: ../gui/wxpython/gui_core/preferences.py:983
-#, fuzzy
 msgid "Area fill color:"
-msgstr "rellenar color"
+msgstr "Color de relleno para el área:"
 
 #: ../gui/wxpython/gui_core/preferences.py:1026
-#, fuzzy
 msgid "Symbol:"
-msgstr "símbolo:"
+msgstr "Símbolo:"
 
 #: ../gui/wxpython/gui_core/preferences.py:1079
 msgid "Line width (in pixels):"
@@ -18565,8 +17682,7 @@ msgstr "Ancho de Línea (en píxeles):"
 #: ../gui/wxpython/gui_core/preferences.py:1089
 #, fuzzy
 msgid "Automatically hightlight selected features in map display"
-msgstr ""
-"Resaltar el(los) objeto(s) espacial(es) seleccionados y acercar (zoom)."
+msgstr "Resaltar el(los) objeto(s) espacial(es) seleccionados y acercar (zoom)."
 
 #: ../gui/wxpython/gui_core/preferences.py:1109
 msgid "Data browser"
@@ -18595,12 +17711,9 @@ msgstr "Configuración de la barra de estado de las proyecciones"
 #: ../gui/wxpython/gui_core/preferences.py:1207
 msgid ""
 "\n"
-"Note: This only controls the coordinates displayed in the lower-left of the "
-"Map Display\n"
-"window's status bar. It is purely cosmetic and does not affect the working "
-"location's\n"
-"projection in any way. You will need to enable the Projection check box in "
-"the drop-down\n"
+"Note: This only controls the coordinates displayed in the lower-left of the Map Display\n"
+"window's status bar. It is purely cosmetic and does not affect the working location's\n"
+"projection in any way. You will need to enable the Projection check box in the drop-down\n"
 "menu located at the bottom of the Map Display window.\n"
 msgstr ""
 
@@ -18613,12 +17726,8 @@ msgid "EPSG file:"
 msgstr "archivo EPSG:"
 
 #: ../gui/wxpython/gui_core/preferences.py:1270
-msgid ""
-"Load EPSG codes (be patient), enter EPSG code or insert Proj.4 string "
-"directly."
-msgstr ""
-"Cargar códigos EPSG (sea paciente), entrar código EPSG o insertar Proj.4 "
-"string directamente."
+msgid "Load EPSG codes (be patient), enter EPSG code or insert Proj.4 string directly."
+msgstr "Cargar códigos EPSG (sea paciente), entrar código EPSG o insertar Proj.4 string directamente."
 
 #: ../gui/wxpython/gui_core/preferences.py:1278
 msgid "&Load EPSG codes"
@@ -18629,9 +17738,8 @@ msgid "Coordinates format"
 msgstr "Formato de coordenadas"
 
 #: ../gui/wxpython/gui_core/preferences.py:1298
-#, fuzzy
 msgid "Lat/long projections"
-msgstr "Administrar proyecciones."
+msgstr "Proyecciones Lat/long"
 
 #: ../gui/wxpython/gui_core/preferences.py:1317
 msgid "Precision:"
@@ -18677,8 +17785,7 @@ msgid ""
 "    - You may only write to the current mapset.\n"
 "    - You may only write to mapsets which you own."
 msgstr ""
-"Marque el directorio de mapas para hacerlo accesible, desmárquelo para "
-"ocultarlo.\n"
+"Marque el directorio de mapas para hacerlo accesible, desmárquelo para ocultarlo.\n"
 "Notas:\n"
 "   -El directorio de mapas actual siempre es accesible.\n"
 "   -Solo tendrías que escribir en el actual directorio de mapas.\n"
@@ -18697,19 +17804,16 @@ msgid "Click here to hide search module engine"
 msgstr "Pulse aquí para ocultar el módulo del motor de búsqueda"
 
 #: ../gui/wxpython/gui_core/goutput.py:130
-#, fuzzy
 msgid "Command prompt"
-msgstr "Salida de la orden."
+msgstr "Linea de comandos"
 
 #: ../gui/wxpython/gui_core/goutput.py:132
-#, fuzzy
 msgid "Output window"
-msgstr "Salida."
+msgstr "Ventana de salida"
 
 #: ../gui/wxpython/gui_core/goutput.py:139
-#, fuzzy
 msgid "Clear output window content"
-msgstr "&Limpiar salida"
+msgstr "Limpiar contenido de la ventana de salida"
 
 #: ../gui/wxpython/gui_core/goutput.py:141
 msgid "Clear command prompt content"
@@ -18720,9 +17824,8 @@ msgid "Save output window content to the file"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/goutput.py:145
-#, fuzzy
 msgid "Abort running command"
-msgstr "Abortar la orden que se está ejecutando."
+msgstr "Abortar la orden que se está ejecutando"
 
 #: ../gui/wxpython/gui_core/goutput.py:147
 #, fuzzy
@@ -18730,9 +17833,7 @@ msgid "&Log file"
 msgstr "Rescalar"
 
 #: ../gui/wxpython/gui_core/goutput.py:149
-msgid ""
-"Toggle to save list of executed commands into a file; content saved when "
-"switching off."
+msgid "Toggle to save list of executed commands into a file; content saved when switching off."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/goutput.py:374
@@ -18744,27 +17845,28 @@ msgstr "Guardar archivo como..."
 #: ../gui/wxpython/gui_core/goutput.py:463
 #, python-format
 msgid "%(txt)s (*.txt)|*.txt|%(files)s (*)|*"
-msgstr ""
+msgstr "%(txt)s (*.txt)|*.txt|%(files)s (*)|*"
 
 #: ../gui/wxpython/gui_core/goutput.py:377
 #: ../gui/wxpython/gui_core/goutput.py:464
-#, fuzzy
 msgid "Text files"
-msgstr "Efectos del texto"
+msgstr "Archivos de texto"
 
 #: ../gui/wxpython/gui_core/goutput.py:377
 #: ../gui/wxpython/gui_core/goutput.py:464
-#, fuzzy
 msgid "Files"
-msgstr "Archivo"
+msgstr "Archivos"
 
 #: ../gui/wxpython/gui_core/goutput.py:389
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Unable to write file '%(path)s'.\n"
 "\n"
 "Details: %(error)s"
-msgstr "No es posible realizar un acercamiento (zoom) al mapa vectorial <%s>."
+msgstr ""
+"No es posible escribir el archivo '%(path)s'.\n"
+"\n"
+"Detalles: %(error)s"
 
 #: ../gui/wxpython/gui_core/goutput.py:392
 #, fuzzy, python-format
@@ -18777,72 +17879,105 @@ msgid "Command log saved to '%s'"
 msgstr "Salida de la orden."
 
 #: ../gui/wxpython/gui_core/query.py:29
-#, fuzzy
 msgid "Query results"
-msgstr "Consultar mapas raster"
+msgstr "Resultados de la consulta"
 
 #: ../gui/wxpython/gui_core/query.py:41
 msgid "Right click to copy selected values to clipboard."
-msgstr ""
+msgstr "Click derecho para copiar valores seleccionados al portapapeles."
 
 #: ../gui/wxpython/gui_core/query.py:45
-#, fuzzy
 msgid "Feature"
-msgstr "Identificador de Objeto espacial."
+msgstr "Objeto"
 
 #: ../gui/wxpython/gui_core/query.py:45
-#, fuzzy
 msgid "Value"
-msgstr "Valores."
+msgstr "Valor"
 
 #: ../gui/wxpython/gui_core/query.py:61
-#, fuzzy
 msgid "Copy all to clipboard"
-msgstr "'%s' copiado al portapapeles."
+msgstr "Copiar todo al portapapeles"
 
 #: ../gui/wxpython/gui_core/query.py:64
-#, fuzzy
 msgid "Redirect to console"
-msgstr "Seleccionar un mapa vectorial."
+msgstr "Redireccionar a consola"
 
 #: ../gui/wxpython/gui_core/query.py:112 ../gui/wxpython/gui_core/query.py:113
-#, fuzzy, python-format
+#, python-format
 msgid "Copy from '%s' column"
-msgstr "tamaño de la columna de la tabla del mapa:"
+msgstr "Copiar desde la columna '%s'"
 
 #: ../gui/wxpython/gui_core/query.py:114
-#, fuzzy
 msgid "Copy selected lines"
-msgstr "Eliminar las columnas seleccionadas"
+msgstr "Copiar lineas seleccionadas"
 
 #: ../gui/wxpython/gui_core/query.py:117 ../gui/wxpython/gui_core/query.py:120
-#, fuzzy, python-format
+#, python-format
 msgid "Copy '%s'"
-msgstr "Copiar."
+msgstr "Copiar '%s'"
 
 #: ../gui/wxpython/gui_core/query.py:121
-#, fuzzy
 msgid "Copy line"
-msgstr "Copiar tabla."
+msgstr "Copiar línea"
 
 #: ../gui/wxpython/gui_core/query.py:143
-#, fuzzy
 msgid "Query results:"
-msgstr "Consultar mapas raster"
+msgstr "Resultados de la consulta:"
 
 #: ../gui/wxpython/gui_core/query.py:146
 msgid " "
-msgstr ""
+msgstr " "
 
 #: ../gui/wxpython/gui_core/query.py:230
-#, fuzzy
 msgid "east, north"
-msgstr "Probar normalidad."
+msgstr "este, norte"
 
 #: ../gui/wxpython/gui_core/query.py:241
-#, fuzzy
 msgid "Nothing found"
-msgstr "No hay algo para eliminar."
+msgstr "No se ha encontrado nada"
+
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Categoría"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Seleccione los objetos espaciales vectoriales."
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Crear un nuevo directorio de mapas de usuario (mapset)."
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "El mapa de vectores no es tridimensional (3D). Operación cancelada."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "No se puede abrir mapa vectorial <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "No se ha seleccionado ningún mapa!"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Se ha creado el nuevo mapa vectorial <%s>"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "No se puede crear el mapa vectorial <%s>."
 
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
@@ -18865,27 +18000,28 @@ msgid "Contributors"
 msgstr "Contribuyentes"
 
 #: ../gui/wxpython/gui_core/ghelp.py:63
-#, fuzzy
 msgid "Extra contributors"
-msgstr "Contribuyentes"
+msgstr "Contribuyentes extra"
 
 #: ../gui/wxpython/gui_core/ghelp.py:64
 msgid "Translators"
 msgstr "Traductores"
 
 #: ../gui/wxpython/gui_core/ghelp.py:65
-#, fuzzy
 msgid "Translation status"
-msgstr "Traductores"
+msgstr "Estatus de la traducción"
 
 #: ../gui/wxpython/gui_core/ghelp.py:130
 msgid "Official GRASS site:"
 msgstr "Sitio oficial de GRASS:"
 
 #: ../gui/wxpython/gui_core/ghelp.py:141
-#, fuzzy
 msgid "Code Revision"
-msgstr "Revisión de Librería SIG:"
+msgstr "Revisión de código"
+
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
 
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
@@ -18921,34 +18057,33 @@ msgid "OSGeo_ID"
 msgstr "OSGeo_ID"
 
 #: ../gui/wxpython/gui_core/ghelp.py:420
-#, fuzzy
 msgid "Nation"
-msgstr "Rotación"
+msgstr "Nación"
 
 #: ../gui/wxpython/gui_core/ghelp.py:454
 #, python-format
 msgid "   %d translated"
-msgstr ""
+msgstr "   %d traducido"
 
 #: ../gui/wxpython/gui_core/ghelp.py:458 ../gui/wxpython/gui_core/ghelp.py:484
 #, python-format
 msgid "   %d fuzzy"
-msgstr ""
+msgstr "   %d fuzzy"
 
 #: ../gui/wxpython/gui_core/ghelp.py:462 ../gui/wxpython/gui_core/ghelp.py:493
 #, python-format
 msgid "   %d untranslated"
-msgstr ""
+msgstr "   %d no traducido"
 
 #: ../gui/wxpython/gui_core/ghelp.py:475
 #, python-format
 msgid "%d translated"
-msgstr ""
+msgstr "%d traducido"
 
 #: ../gui/wxpython/gui_core/ghelp.py:546
-#, fuzzy, python-format
+#, python-format
 msgid "File <%s> not found"
-msgstr "Archivo <%s> no encontrado."
+msgstr "Archivo <%s> no encontrado"
 
 #: ../gui/wxpython/gui_core/ghelp.py:701
 msgid "&Next"
@@ -18958,261 +18093,247 @@ msgstr "&Siguiente"
 msgid "&Previous"
 msgstr "&Previo"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Introducir parámetros para '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Cerrar esta ventana sin ejecutar el comando (Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "Ejecutar el comando (Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Mostrar página del manual que describe el comando (Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "Añadir el mapa(s) creado al árbol de capas"
 
-#: ../gui/wxpython/gui_core/forms.py:586
-msgid ""
-"Close dialog when command is successfully finished. Change this settings in "
-"Preferences dialog ('Command' tab)."
-msgstr ""
-"Cerrar el diálogo cuando la comanda haya finalizado exitosamente. Cambiar "
-"esta configuración en el diálogo Preferencias ('Command' tab)."
+#: ../gui/wxpython/gui_core/forms.py:590
+msgid "Close dialog when command is successfully finished. Change this settings in Preferences dialog ('Command' tab)."
+msgstr "Cerrar el diálogo cuando la comanda haya finalizado exitosamente. Cambiar esta configuración en el diálogo Preferencias ('Command' tab)."
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' copiado al portapapeles."
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Requerido."
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Opcional."
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr "Parametrizado en el modelo"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr "Esta opción es requerida"
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[múltiple]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "intervalo válido"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Seleccionar %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Cambiar nombre de la localización seleccionada."
 
-#: ../gui/wxpython/gui_core/forms.py:1554
-#, fuzzy
+#: ../gui/wxpython/gui_core/forms.py:1572
 msgid "&Save as"
-msgstr "Guardar como."
+msgstr "& Guardar cómo"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
-#, fuzzy
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
-msgstr "o introducir los valores interactivamente"
+msgstr "o introducir los valores directamente:"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
-msgid ""
-"Enter file content directly instead of specifying a file. Temporary file "
-"will be automatically created."
+#: ../gui/wxpython/gui_core/forms.py:1580
+msgid "Enter file content directly instead of specifying a file. Temporary file will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Manual."
 
-#: ../gui/wxpython/gui_core/forms.py:1880
-#, fuzzy
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
-msgstr "Nada que guardar."
+msgstr "Nada que cargar."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
-#, fuzzy, python-format
+#: ../gui/wxpython/gui_core/forms.py:1966
+#, python-format
 msgid ""
 "Unable to load file.\n"
 "\n"
 "Reason: %s"
-msgstr "No se puede cargar el tema de iconos. Razón: %s"
+msgstr ""
+"No se puede cargar archivo.\n"
+"\n"
+"Razón: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
-#, fuzzy
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
-msgstr "Guardar archivo como..."
+msgstr "Guardar entrada como..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
-#, fuzzy
+#: ../gui/wxpython/gui_core/forms.py:2315
 msgid "No dataset given."
-msgstr "No se ha seleccionado ningún mapa!"
+msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr "No se puede parsear la comanda '%s'"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "%(cmd)s: parámetro '%(key)s' no disponible"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:97
-#, fuzzy
 msgid "Toolbar"
-msgstr "Barra de herramientas de mapa."
+msgstr "Barra de herramientas"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:133
-#, fuzzy
 msgid "Copy map names to clipboard (top to bottom)"
-msgstr "'%s' copiado al portapapeles."
+msgstr "Copiar nombres de mapas al portapapeles (de arriba hacia abajo)"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:134
-#, fuzzy
 msgid "Copy map names to clipboard (bottom to top)"
-msgstr "'%s' copiado al portapapeles."
+msgstr "Copiar nombres de mapas al portapapeles (de abajo hacia arriba)"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:439
-#, fuzzy
 msgid "Remove selected map(s) from list"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "Remover mapa(s) seleccionados de la lista"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:441
-#, fuzzy
 msgid "Layer up"
-msgstr "Grupo de capas:"
+msgstr "Subir capa"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:442
-#, fuzzy
 msgid "Move selected layer(s) up"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "Mover capa(s) seleccionadas hacia arriba"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:444
-#, fuzzy
 msgid "Layer down"
-msgstr "Capa."
+msgstr "Bajar capa"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:445
-#, fuzzy
 msgid "Move selected layer(s) down"
-msgstr ""
-"¿Desea remover la(s) capa(s) de mapa seleccionada(s) del árbol de capas?"
+msgstr "Mover capa(s) seleccionadas hacia abajo"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:447
 #: ../gui/wxpython/gui_core/simplelmgr.py:448
-#, fuzzy
 msgid "Edit layer properties"
-msgstr "Propiedades de capa."
+msgstr "Editar propiedades de la capa"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:450
-#, fuzzy
 msgid "Change opacity"
-msgstr "Cambiar el nivel de opacidad."
+msgstr "Cambiar la opacidad"
 
 #: ../gui/wxpython/gui_core/simplelmgr.py:451
-#, fuzzy
 msgid "Change layer opacity"
-msgstr "Cambiar el nivel de opacidad."
+msgstr "Cambiar opacidad de la capa"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr " (...)"
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid "Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 #, fuzzy
 msgid "Fulltext search"
 msgstr "Extensión completa"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
-msgstr ""
+msgstr "Escriba para buscar en todos los módulos. Presione Enter para la siguiente opción encontrada."
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
-msgstr ""
+msgstr "Buscando, por favor ingrese más letras."
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr "%d módulos corresponden"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
 #, fuzzy
+msgid "Profiles"
+msgstr "Perfil."
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
-msgstr "Guardar?"
+msgstr "Guardar configuración actual"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "Borrar el directorio de mapas de usuario seleccionado (mapset)."
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr "Cargar configuraciones:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+#, fuzzy
+msgid "Load:"
+msgstr "&Cargar"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "No se encontro la configuración llamada '%s' "
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "Guardar configuraciones"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr "Nombre no facilitado, no se han guardado las configuraciones."
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "El archivo <%s> ya existe. Quiere sobrescribir este archivo?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
-#, fuzzy
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
-msgstr "La lectura del elemento id %d falló. Operación cancelada."
+msgstr "No hay configuraciones definidas. Operación cancelada."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
-#, fuzzy
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr "No es posible guardar configuraciones"
 
@@ -19278,9 +18399,8 @@ msgid "Zoom to selected map layer(s)"
 msgstr "Zoom a la capa de mapa(s) seleccionada(s)"
 
 #: ../gui/wxpython/gui_core/toolbars.py:60
-#, fuzzy
 msgid "Zoom to computational region extent"
-msgstr "Acercamiento a la región de cálculo (definida mediante g.region)."
+msgstr "Acercamiento a la región de cálculo"
 
 #: ../gui/wxpython/gui_core/toolbars.py:62
 msgid "Pan"
@@ -19291,9 +18411,8 @@ msgid "Drag with mouse to pan"
 msgstr "Arrastrar con el ratón para desplazar la visualización (mouse to pan)."
 
 #: ../gui/wxpython/gui_core/toolbars.py:65
-#, fuzzy
 msgid "Save display to file"
-msgstr "Guardar visualización en archivo gráfico."
+msgstr "Guardar visualización en archivo"
 
 #: ../gui/wxpython/gui_core/toolbars.py:69
 msgid "Select font"
@@ -19308,26 +18427,84 @@ msgid "Overlay elements like scale and legend onto map"
 msgstr "Sobreponer elementos como escala y leyenda al mapa."
 
 #: ../gui/wxpython/gui_core/toolbars.py:82
-#, fuzzy
 msgid "Create histogram with d.histogram"
-msgstr "Crear histograma de imagen o archivo raster."
+msgstr "Crear histograma con d.histogram"
 
 #: ../gui/wxpython/gui_core/toolbars.py:256
 #, fuzzy
 msgid "Select graphics tool"
 msgstr "Seleccionar la fuente predeterminada para la pantalla."
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 #, fuzzy
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "Árbol del menú (hacer doble clic para ejecutar comanda)"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Ejecutar comando seleccionado"
 
 #, fuzzy
+msgid "Invalid input data"
+msgstr "Entrada no válida"
+
+#, fuzzy
+msgid "No mapsets readable"
+msgstr "Modo de vista 3D no disponible"
+
+#, fuzzy
+msgid "Editing"
+msgstr "Validando modelo..."
+
+#, fuzzy
+msgid "Renaming"
+msgstr "Cambiar el nombre."
+
+#, fuzzy
+msgid "Copying"
+msgstr "Copiar tabla."
+
+#, fuzzy
+msgid "Launches graphical attribute table manager."
+msgstr "Administrador de atributos de tabla."
+
+#, fuzzy
+msgid "Select space time raster dataset(s):"
+msgstr "Seleccionar directorio de origen de mapas:"
+
+#, fuzzy
+msgid "Develop 3D rasters"
+msgstr "Desarrollar mapa raster."
+
+msgid "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS vector points map."
+msgstr "Importa archivos de país del Servidor de Nombres Geonet (GNS) US-NGA a un mapa vectorial de puntos de GRASS."
+
+#, fuzzy
+msgid "Outputs a raster map showing the anisotropic cumulative cost. Computes anisotropic cumulative cost of moving between different geographic locations on an input elevation raster map whose cell category values represent elevation combined with an input raster map layer whose cell values represent friction cost."
+msgstr "Produce una capa de mapa raster que muestra el coste anisotrópico acumulado de moverse entre diferentes locaciones geográficas en una capa de mapa raster de elevación de entrada cuyos valores de categoría de celda representan elevación, combinando esto con una capa de mapa raster de entrada cuyos valores de celda representan el coste de fricción."
+
+msgid "Surface interpolation utility for raster map."
+msgstr "Utilidad de interpolación de superficie para capas de mapa raster."
+
+msgid "Surface generation program."
+msgstr "Programa de creación de superficies."
+
+msgid "Indices for quadrat counts of sites lists."
+msgstr "Índices correspondientes a los conteos de listas de sitios en los cuadrantes."
+
+msgid "Compares bit patterns with a raster map."
+msgstr "Compara patrones de bits con un mapa raster."
+
+#, fuzzy
+msgid "Converts a space time raster dataset into a raster3d map."
+msgstr "Convierte (rasteriza) un mapa vectorial a un mapa raster. "
+
+#, fuzzy
+msgid "Calculates univariate statistics from the non-null cells for each registered raster3d map of a space time raster3d dataset."
+msgstr "Calcula estadísticas univariante a partir de celdas no nulas 3d de un mapa raster3d."
+
+#, fuzzy
 #~ msgid "Temporary map '%s' with result "
 #~ msgstr "El archivo ya existe"
 
@@ -19362,19 +18539,33 @@ msgstr "Ejecutar comando seleccionado"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "Estadísticas univariantes de raster."
 
-#~ msgid "Add condition"
-#~ msgstr "Añadir condición"
+#~ msgid "Repository"
+#~ msgstr "Repositorio"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Añade condición (if/else) para modelar"
+#~ msgid "Load settings:"
+#~ msgstr "Cargar configuraciones:"
 
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Añadir las capas ligadas al árbol de capas."
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "No se ha podido realizar la presentación de la capa de mapa <%s>."
+
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "No se ha podido realizar la presentación de la superposicion <%s>."
+
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Histórico de GRASS de importación de vectoriales"
+
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Histórico de GRASS de importación de vectoriales (todos los mapas)"
+
+#~ msgid "Converts all older versions of GRASS vector maps in current mapset to current format."
+#~ msgstr "Convierte todas las versiones antiguas de mapas vectoriales de GRASS del directorio de mapas actual al formato actual."
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Añadir las capas importadas al árbol de capas."
+#~ msgid "GPS data import"
+#~ msgstr "Importar GPS desde GPSBabel."
+
+#~ msgid "GEOnet import"
+#~ msgstr "Importar GEOnet."
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -19387,44 +18578,14 @@ msgstr "Ejecutar comando seleccionado"
 #~ msgstr "Múltiples formatos de exportación usando GPSBabel."
 
 #, fuzzy
-#~ msgid ""
-#~ "Exports a vector map to a GPS receiver or file format supported by "
-#~ "GPSBabel."
-#~ msgstr ""
-#~ "Exporta un mapa vectorial a un receptor GPS o a un formato de archivo "
-#~ "soportado por GpsBabel."
+#~ msgid "Exports a vector map to a GPS receiver or file format supported by GPSBabel."
+#~ msgstr "Exporta un mapa vectorial a un receptor GPS o a un formato de archivo soportado por GpsBabel."
 
 #~ msgid "Common export formats using OGR"
 #~ msgstr "Formatos de exportación comunes utilizando OGR"
 
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Establece la región de cálculo a partir del (los) mapa(s) seleccionado "
-#~ "(s) (se ignoraran los valores nulos)."
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Histórico de GRASS de importación de vectoriales"
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Histórico de GRASS de importación de vectoriales (todos los mapas)"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Convierte todas las versiones antiguas de mapas vectoriales de GRASS del "
-#~ "directorio de mapas actual al formato actual."
-
-#, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "Importar GPS desde GPSBabel."
-
-#~ msgid "GEOnet import"
-#~ msgstr "Importar GEOnet."
-
 #~ msgid "IDW from raster points (alternate method for sparse points)"
-#~ msgstr ""
-#~ "IDW de puntos raster (método alternativo al método de puntos dispersos) "
+#~ msgstr "IDW de puntos raster (método alternativo al método de puntos dispersos) "
 
 #~ msgid "Create optimally placed labels"
 #~ msgstr "Crear etiquetas óptimamente colocadas"
@@ -19432,18 +18593,19 @@ msgstr "Ejecutar comando seleccionado"
 #~ msgid "Bit pattern comparison "
 #~ msgstr "Comparación de patrón de bits."
 
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr "Establece la región de cálculo a partir del (los) mapa(s) seleccionado (s) (se ignoraran los valores nulos)."
+
 #, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
-#~ msgstr ""
-#~ "El mapa vectorial <%(name)s> (%(type)s) ha sido exitosamente descargado."
+#~ msgstr "El mapa vectorial <%(name)s> (%(type)s) ha sido exitosamente descargado."
 
-#~ msgid "Volume"
-#~ msgstr "Volumen"
+#, fuzzy
+#~ msgid "Add default servers"
+#~ msgstr "Añadir bucle"
 
 #~ msgid "Choose project location and mapset"
-#~ msgstr ""
-#~ "Seleccione la locación y el directorio de mapas de usuario (mapset) del "
-#~ "proyecto."
+#~ msgstr "Seleccione la locación y el directorio de mapas de usuario (mapset) del proyecto."
 
 #~ msgid "Manage"
 #~ msgstr "Administrar."
@@ -19522,9 +18684,23 @@ msgstr "Ejecutar comando seleccionado"
 #~ msgid "Starting GRASS for the first time"
 #~ msgstr "Iniciando GRASS por primera vez."
 
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Añadir las capas ligadas al árbol de capas."
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Añadir las capas importadas al árbol de capas."
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importa mapas vectoriales de versiones anteriores de GRASS."
+
 #~ msgid "Vector to volume"
 #~ msgstr "Vectorial a volumen."
 
+#~ msgid "Sites to vector"
+#~ msgstr "Transforma puntos ('sites' de GRASS 5.x) a vectorial."
+
 #, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "Calculadora tridimensional (3D) de mapas raster."
@@ -19547,8 +18723,18 @@ msgstr "Ejecutar comando seleccionado"
 #~ msgid "Voxel statistics"
 #~ msgstr "Estadísticas vóxel"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importa mapas vectoriales de versiones anteriores de GRASS."
+#~ msgid "Volume"
+#~ msgstr "Volumen"
 
-#~ msgid "Sites to vector"
-#~ msgstr "Transforma puntos ('sites' de GRASS 5.x) a vectorial."
+#~ msgid "Digitize"
+#~ msgstr "Digitalizar"
+
+#~ msgid "ERROR: Rendering failed. Details: %s"
+#~ msgstr "ERROR: Falló el renderizado. Detalles: %s"
+
+#, fuzzy
+#~ msgid "GRASS SVN Revision"
+#~ msgstr "Revisión de Librería SIG:"
+
+#~ msgid "Encoding"
+#~ msgstr "Codificación"
diff --git a/locale/po/grasswxpy_fi.po b/locale/po/grasswxpy_fi.po
index ae26304..a43be31 100644
--- a/locale/po/grasswxpy_fi.po
+++ b/locale/po/grasswxpy_fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_fi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-08-17 22:18+0300\n"
 "Last-Translator: Kari Salovaara <kari.salovaara at pp1.inet.fi>\n"
 "Language-Team: Finnish <grass-translations at lists.osgeo.org>\n"
@@ -27,7 +27,7 @@ msgid "Name of raster map:"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr ""
 
@@ -130,7 +130,7 @@ msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr ""
 
@@ -198,14 +198,14 @@ msgid "Reload"
 msgstr "Lataa uudelleen"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -234,8 +234,8 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Väri"
@@ -265,9 +265,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr ""
 
@@ -275,14 +276,14 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr ""
 
@@ -313,13 +314,13 @@ msgid "Comment"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr ""
 
@@ -330,7 +331,7 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr ""
@@ -350,10 +351,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr ""
 
@@ -414,12 +415,12 @@ msgstr ""
 msgid "3D raster maps"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr ""
@@ -448,23 +449,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr ""
 
@@ -485,7 +486,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr ""
 
@@ -546,7 +547,7 @@ msgid "Choose model file"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr ""
 
@@ -573,7 +574,7 @@ msgstr ""
 msgid "Choose file to save current model"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -593,7 +594,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -604,7 +605,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 msgid "Add comment"
 msgstr ""
 
@@ -633,7 +634,7 @@ msgstr ""
 msgid "Writing current settings to model file failed."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr ""
@@ -642,15 +643,15 @@ msgstr ""
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -725,10 +726,10 @@ msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr ""
 
@@ -749,13 +750,13 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "rasteri"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vektori"
 
@@ -768,7 +769,7 @@ msgid "mapset"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr ""
 
@@ -895,7 +896,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr ""
 
@@ -913,7 +914,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -944,8 +945,8 @@ msgstr ""
 msgid "Label font size (pts):"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -991,9 +992,9 @@ msgstr ""
 msgid "No map or image group selected to plot."
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Varoitus"
 
@@ -1019,8 +1020,8 @@ msgstr ""
 msgid "Line width"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr ""
 
@@ -1034,18 +1035,18 @@ msgid "Transect segment marker settings"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr ""
 
@@ -1274,19 +1275,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1380,7 +1381,7 @@ msgid "Output"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr ""
 
@@ -1413,8 +1414,7 @@ msgid "Analysing..."
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr ""
@@ -1465,7 +1465,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1488,10 +1488,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr ""
 
@@ -1511,11 +1512,11 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 msgid "Unable to perform analysis."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1523,45 +1524,45 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 msgid "Map can be created only in current mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
-#, python-format
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
+#, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
-msgstr ""
+msgstr "Paikka <%s> luotu"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 msgid "Overwrite vector map"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 msgid "Creation of turntable failed."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1569,194 +1570,194 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 msgid "Unable to use ctypes. \n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 msgid "Overwrite map"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, python-format
 msgid "Vector map '%s' does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 msgid "Vector map was not chosen."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 msgid "arc layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 msgid "node layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 msgid "turntable layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 msgid "unique categories layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, python-format
 msgid "Choose existing %s.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "käytä"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 msgid "type"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 msgid "Start point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 msgid "End Point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 msgid "new point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 msgid "Node cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, python-format
 msgid "Shortest path %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 msgid "Source point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 msgid "Sink point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 msgid "Overwrite map layer"
 msgstr ""
 
@@ -1930,291 +1931,291 @@ msgstr ""
 msgid "Select from list of datum transformations"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 msgid "Name of location directory in GIS Data Directory"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 msgid "Earth based"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 msgid "WKT .prj file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "GRASS Tietokanta:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Paikan Nimi:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Paikan Otsikko:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Projektio:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Luo uusi Paikka?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Määrittele uusi GRASS Paikka"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2222,31 +2223,31 @@ msgid ""
 "Details: %(err)s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr ""
@@ -2626,7 +2627,16 @@ msgstr ""
 msgid "Remove selected class"
 msgstr ""
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2637,135 +2647,129 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, python-format
+msgid "Rendering failed: %s"
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:584
+msgid "Rendering aborted"
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:615
+msgid "Downloading data "
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:625
+msgid "Rendering & "
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1376
-msgid "Downloading data "
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1386
-msgid "Rendering & "
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr ""
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Viesti"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2774,12 +2778,12 @@ msgid ""
 "Number of skipped lines: %(line)d"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2788,30 +2792,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "VIRHE: Karttajoukkoa <%s> ei löydy\n"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -2992,39 +3001,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr ""
 
@@ -3087,11 +3096,11 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr ""
@@ -3105,7 +3114,7 @@ msgid "Close dialog and apply changes"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr ""
 
@@ -3122,7 +3131,7 @@ msgstr ""
 msgid "Orientation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr ""
 
@@ -3167,7 +3176,7 @@ msgid "Map frame settings"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr ""
 
@@ -3195,7 +3204,7 @@ msgstr ""
 msgid "Map selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr ""
 
@@ -3219,7 +3228,7 @@ msgstr ""
 msgid "N:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr ""
 
@@ -3233,7 +3242,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr ""
 
@@ -3267,163 +3276,164 @@ msgstr ""
 msgid "No region selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3431,503 +3441,503 @@ msgstr ""
 msgid "Color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Piste"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 msgid "Vector labels"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4062,97 +4072,97 @@ msgstr ""
 msgid "labels: "
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4205,27 +4215,27 @@ msgstr ""
 msgid "degree"
 msgstr ""
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4241,7 +4251,7 @@ msgstr ""
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr ""
 
@@ -4253,12 +4263,12 @@ msgstr ""
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr ""
 
@@ -4310,22 +4320,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, python-format
 msgid "Unsupported command %s."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, python-format
+msgid "Unable to create file <%s>"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr ""
@@ -4359,40 +4374,41 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 msgid "Unable to get GRASS version\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4402,207 +4418,217 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+msgid "Vector digitizer"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 msgid "Set computational region extent from display"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 msgid "Set computational region extent interactively"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 msgid "Set computational region from named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 msgid "Save computational region to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+msgid "Raster Digitizer Toolbar"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 msgid "Computational region"
 msgstr ""
 
@@ -4617,102 +4643,114 @@ msgid "Query selected raster/vector map(s)"
 msgstr ""
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
+msgid "Select vector feature(s)"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+msgid "Select features interactively from vector map"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
 msgid "Show/hide scale bar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 msgid "Show/hide north arrow"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 msgid "Measure area"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 msgid "Create bivariate scatterplot of raster maps"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 msgid "Vector network analysis tool"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+msgid "Raster digitizer"
+msgstr ""
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 msgid "Create new configuration file for r.li modules"
 msgstr ""
@@ -5419,12 +5457,12 @@ msgstr ""
 msgid "Export animation"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr ""
@@ -5433,11 +5471,11 @@ msgstr ""
 msgid "Add time stamp"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 msgid "Add image"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr ""
 
@@ -5458,7 +5496,7 @@ msgid "Sample text"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5473,7 +5511,7 @@ msgid "Choose image file"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr ""
 
@@ -5501,7 +5539,7 @@ msgstr ""
 msgid "Export to:"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -5509,13 +5547,13 @@ msgstr ""
 msgid "animation_"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr ""
 
@@ -5638,7 +5676,7 @@ msgstr ""
 msgid "Animation Tool settings"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -5690,20 +5728,20 @@ msgstr ""
 msgid "Invalid"
 msgstr ""
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 msgid "Rendering map layers"
 msgstr ""
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 msgid "Overlaying map layers"
 msgstr ""
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, python-brace-format
 msgid "Directory {t} not removed."
 msgstr ""
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -5738,7 +5776,7 @@ msgstr ""
 msgid "Animation Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr ""
@@ -5782,8 +5820,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, python-format
 msgid "Space time dataset <%s> not found."
 msgstr ""
@@ -5823,7 +5861,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr ""
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -5843,37 +5881,37 @@ msgstr ""
 msgid "No map series nor space-time dataset is added."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -5891,11 +5929,11 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -5930,14 +5968,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr ""
 
@@ -5953,21 +5991,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -5994,578 +6032,578 @@ msgstr "X"
 msgid "Y"
 msgstr "Y"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, python-format
 msgid "Time [%s]"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, python-format
 msgid "Space time raster dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, python-format
 msgid "Space time vector dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, python-format
 msgid "Mapset: %s"
 msgstr "Karttajoukko: %s"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, python-format
 msgid "Map name: %s"
 msgstr "Kartan nimi: %s"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, python-format
 msgid "End time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 msgid "WARNING: invalid topology"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 msgid "Change wire color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Uusi"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr "Arvo:"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr "Läpinäkyvyys:"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Näytä vektoriviivat"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Vektoriviivat"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Viiva:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "leveys:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "väri:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 msgid "Set options..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr "kuin 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Ikoni:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 msgid "Place new scale bar"
 msgstr ""
 
@@ -6947,15 +6985,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr ""
@@ -6966,12 +7004,14 @@ msgid "3d raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr ""
 
@@ -6985,12 +7025,14 @@ msgid "Set raster output format"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr ""
 
@@ -7011,7 +7053,7 @@ msgstr ""
 msgid "Add command layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr ""
@@ -7111,191 +7153,192 @@ msgstr ""
 msgid "Export PostGIS"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+msgid "Export attribute table"
+msgstr ""
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 msgid "Create pack"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 msgid "Make a copy in the current mapset"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+msgid "Set color table interactively"
+msgstr ""
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 msgid "Report raster statistics"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, python-format
 msgid "Unsupported map type <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, python-format
 msgid "Unable to make copy of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 msgid "3D view Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+msgid "Data catalog"
+msgstr ""
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7303,250 +7346,250 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
 "Current mapset is <%(mapset)s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Paikka <%s> luotu"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Luo uusi karttajoukko"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 msgid "Changes current working directory for this GUI."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 msgid "Usage: cd [directory]"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 msgid "Choose a working directory"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+msgid "GRASS SVN revision"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+msgid "Build date"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -7554,30 +7597,30 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 msgid "Unable to start Timeline Tool."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 msgid "Unable to start Temporal Plot Tool."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -7585,67 +7628,63 @@ msgid ""
 "from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr ""
@@ -7710,7 +7749,7 @@ msgstr ""
 msgid "Raster Map Calculator"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr ""
 
@@ -7800,7 +7839,7 @@ msgid "Ignore changes and close dialog"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr ""
 
@@ -8130,28 +8169,28 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 msgid "GRASS GIS Vector Digitizer"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, python-format
 msgid "Vector digitizer not available. %s"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr ""
@@ -8345,7 +8384,7 @@ msgstr ""
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr ""
 
@@ -8420,7 +8459,7 @@ msgstr ""
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr ""
 
@@ -8448,10 +8487,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-msgid "Vector digitizer"
-msgstr ""
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -8476,164 +8511,164 @@ msgstr ""
 msgid "New vector map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Palvelin:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Yhdistä palvelimeen"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 msgid "Show advanced connection settings"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 msgid "Hide advanced connection settings"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 msgid " Layer Manager Settings "
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 msgid "Output layer name:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 msgid "Username:"
 msgstr "Käyttäjänimi:"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr "Salasana:"
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr "Yhdistetään <%s> ..."
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr "Yhdistetty <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, python-format
 msgid "Unable to connect to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 msgid "Add web service layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 msgid "Web service layer properties"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr "&OK"
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 msgid "Name for output raster map:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 msgid "Export region"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Karttanäyttö"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 msgid "Named region"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 msgid "Extent and resolution are based on computational region."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 msgid "Extent and resolution are based on named region."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 msgid "Overwrite existing raster map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 msgid "Choose named region:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 msgid "&Save layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 msgid "Save web service layer as raster map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 msgid "Output map can be added only to current mapset."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, python-format
 msgid "Region <%s> does not exist."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 msgid "Downloading data..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 msgid "Unable to fetch data.\n"
 msgstr ""
 
@@ -8732,7 +8767,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr ""
 
@@ -8745,7 +8781,7 @@ msgid "style"
 msgstr "tyyli"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
-msgid "Add default servers"
+msgid "Add default"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:1105
@@ -8755,23 +8791,23 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr "1. Valitse GRASS GIS tietokannan hakemisto"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr "2. Valitse GRASS Paikka"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr "3. Valitse GRASS Karttajoukko"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr "GRASS GIS tietokanta hakemisto sisältää Paikat."
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
@@ -8780,7 +8816,7 @@ msgstr ""
 "(projektiossa). Yksi Paikka voi olla yksi projekti. Paikka sisältää "
 "Karttajoukot."
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
@@ -8788,132 +8824,139 @@ msgstr ""
 "Karttajoukko sisältää GIS tiedot jotka liittyvät yhteen projektiin. "
 "tehtävään yhdessä projektissa, seutuun tai käyttäjään."
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 msgid "Start &GRASS session"
 msgstr "Käynnistä &GRASS istunto"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 msgid "Create a new Mapset in selected Location"
 msgstr "Luo uusi Karttajoukko valittuun Paikkaan"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Nimeä uudelleen valittu paikka"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 msgid "De&lete"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Poista valittu paikka"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Nimeä uudelleen valittu karttajoukko"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Poista valittu karttajoukko"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Anna GRASS istunto"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "VIRHE: Paikkaa <%s> ei löydy\n"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "VIRHE: Karttajoukkoa <%s> ei löydy\n"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, python-brace-format
 msgid "Error: {text}"
 msgstr "Virhe: {text}"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 msgid "Import data?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr "Haluatko luoda uuden karttajoukon?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -8924,7 +8967,7 @@ msgstr ""
 "\n"
 "Anna uusi nimi:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -8932,7 +8975,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -8940,7 +8983,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -8948,7 +8991,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -8956,14 +8999,14 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -8972,11 +9015,11 @@ msgid ""
 "ALL MAPS included in this mapset will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -8984,32 +9027,32 @@ msgid ""
 "ALL MAPS included in this location will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9018,16 +9061,16 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 msgid "Reserved mapset name"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9039,11 +9082,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9051,7 +9094,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9059,62 +9102,179 @@ msgid ""
 "Details: %(reason)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr ""
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "&Tiedosto"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Luo uusi karttajoukko"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Työtila"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+msgid "Name for new raster map:"
+msgstr ""
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Luo uusi työtila"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+msgid "Optionally select background raster map:"
+msgstr ""
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Avaa"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+msgid "New raster map type:"
+msgstr ""
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "Lataa työtila tiedostosta"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+msgid "Please specify name for a new raster map"
+msgstr ""
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
-msgstr "Tallenna"
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
 
-#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
-msgid "Save as"
-msgstr "Tallenna nimellä"
+#: ../gui/wxpython/rdigit/controller.py:116
+msgid "Please select first the raster map"
+msgstr ""
 
-#: ../gui/wxpython/menustrings.py:12
-msgid "Save workspace to file"
-msgstr "Tallenna työtila tiedostoon"
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
 
-#: ../gui/wxpython/menustrings.py:13 ../gui/wxpython/menustrings.py:1939
-#: ../gui/wxpython/mapswipe/dialogs.py:162
-msgid "Close"
-msgstr "Sulje"
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
 
-#: ../gui/wxpython/menustrings.py:14
-msgid "Close workspace file"
-msgstr "Sulje työtilan tiedosto"
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Haluatko luoda uuden karttajoukon?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+msgid "Save raster map changes"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:346
+msgid "Failed to create backup copy of edited raster map."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Vektorikarttaa ei voida päivittää."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+msgid "Rasterizing..."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:494
+msgid "Failed to set default color table for edited raster map"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+msgid "Digitize area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+msgid "Digitize line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+msgid "Digitize point"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Tallenna nimellä"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+msgid "Quit raster digitizer"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Poista valittu karttajoukko"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Aseta arvo"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "rasteri"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "&Tiedosto"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Työtila"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Luo uusi työtila"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Avaa"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "Lataa työtila tiedostosta"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr "Tallenna"
+
+#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
+msgid "Save as"
+msgstr "Tallenna nimellä"
+
+#: ../gui/wxpython/menustrings.py:12
+msgid "Save workspace to file"
+msgstr "Tallenna työtila tiedostoon"
+
+#: ../gui/wxpython/menustrings.py:13 ../gui/wxpython/menustrings.py:1939
+#: ../gui/wxpython/mapswipe/dialogs.py:162
+msgid "Close"
+msgstr "Sulje"
+
+#: ../gui/wxpython/menustrings.py:14
+msgid "Close workspace file"
+msgstr "Sulje työtilan tiedosto"
 
 #: ../gui/wxpython/menustrings.py:15
 msgid "Load GRC file (Tcl/Tk GUI)"
@@ -9794,7 +9954,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr ""
 
@@ -9852,7 +10012,7 @@ msgstr ""
 msgid "Launches script file."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Sulje"
@@ -9861,8 +10021,8 @@ msgstr "Sulje"
 msgid "Quit wxGUI session."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 msgid "Quit GRASS GIS"
 msgstr ""
 
@@ -11275,8 +11435,8 @@ msgid "Develop vector map"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr ""
 
@@ -13142,8 +13302,8 @@ msgstr ""
 msgid "Plot temporal values."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr ""
 
@@ -13256,137 +13416,145 @@ msgstr ""
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr ""
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 msgid "Adds comment to model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 msgid "Load instruction file"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 msgid "Export instruction file"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 msgid "Export to PostScript"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 msgid "Export to PDF"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 msgid "Close Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 msgid "Add or edit map frame"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 msgid "Add or edit raster map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 msgid "Add or edit vector map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 msgid "Map legend"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 msgid "Add or edit raster and vector legend"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 msgid "Add or edit map info"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 msgid "About Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 msgid "Display information about Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -13400,107 +13568,107 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 msgid "Raster temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 msgid "Select attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 msgid "Select category of vector(s)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, python-format
 msgid "Temporal resolution: %s"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 msgid "Invalid input coordinates"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 msgid "Invalid input raster dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 msgid "Invalid input vector dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 msgid "Invalid input temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -13686,12 +13854,12 @@ msgstr ""
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr ""
 
@@ -13804,7 +13972,7 @@ msgid "Field calculator"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr ""
 
@@ -13904,15 +14072,15 @@ msgstr ""
 msgid "Delete all records"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr ""
 
@@ -14083,7 +14251,7 @@ msgid "Driver"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr ""
 
@@ -14201,240 +14369,240 @@ msgstr ""
 msgid "Field statistics <%s>"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 msgid "Choose file to load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Lataa"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 msgid "&Set"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 msgid "Load color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 msgid "Invalid color table format"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Taso:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -14486,23 +14654,23 @@ msgstr ""
 msgid ":"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -14710,7 +14878,7 @@ msgid "Save expression to file"
 msgstr "Tallenna lauseke tiedostoon"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr ""
 
@@ -14719,7 +14887,7 @@ msgid "Load expression from file"
 msgstr "Lataa lauseke tiedostosta"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr ""
 
@@ -14881,20 +15049,168 @@ msgstr ""
 msgid "'{cmd}' copied to clipboard"
 msgstr ""
 
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:62
+msgid "List of vector layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:70
+msgid "Name for output GRASS map (editable)"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+msgid "Projection match"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:127
+msgid "Import settings"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
+msgid "Add linked layers into layer tree"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:397
+msgid "Unable to determine number of raster bands"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:591
+msgid "Define output format for vector data"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:654
+msgid "No data source selected."
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:695
+msgid "No layers selected."
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Projektio:"
+
+#: ../gui/wxpython/modules/import_export.py:785
+msgid "Name for output GRASS map"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+msgid "Layers to be reprojected"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Nimeä uudelleen valittu karttajoukko"
+
 #: ../gui/wxpython/modules/extensions.py:40
 msgid "Fetch & install extension from GRASS Addons"
 msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Etäkirjasto"
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:53
 msgid "List of extensions - double-click to install"
 msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
 msgid "Options"
 msgstr ""
 
@@ -14926,48 +15242,53 @@ msgstr ""
 msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/extensions.py:202
+#, python-format
+msgid "%d extensions loaded"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:214
 msgid "Install"
 msgstr "Asenna"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/extensions.py:217
 msgid "Show manual page"
 msgstr "Näytä käsikirjan sivu"
 
-#: ../gui/wxpython/modules/extensions.py:315
+#: ../gui/wxpython/modules/extensions.py:316
 #, python-format
 msgid "Unable to load extensions. %s"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/extensions.py:357
 msgid "Manage installed GRASS Addons extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/extensions.py:366
 msgid "List of installed extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/extensions.py:371
 msgid "Uninstall"
 msgstr "Poista asennus"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/extensions.py:372
 msgid "Uninstall selected Addons extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/extensions.py:373
 msgid "Reinstall"
 msgstr "Asenna uudelleen"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/extensions.py:374
 msgid "Reinstall selected Addons extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/extensions.py:411
 msgid "No extension selected. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -14976,16 +15297,16 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr ""
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr ""
 
@@ -15116,7 +15437,7 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, python-format
 msgid "Group <%s> not found"
 msgstr ""
@@ -15149,10 +15470,6 @@ msgstr ""
 msgid "Export training areas"
 msgstr ""
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-msgid "Export attribute table"
-msgstr ""
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 msgid "Export attribute table containing computed statistical data"
 msgstr ""
@@ -15180,21 +15497,21 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 msgid "Name of subgroup required"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, python-format
 msgid "Subgroup <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, python-format
 msgid "Loading raster map <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, python-format
 msgid "Loading training map <%s>..."
 msgstr ""
@@ -15235,141 +15552,141 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 msgid "IClass Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 msgid "IClass Misc Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 msgid "Digitization Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 msgid "Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 msgid "Training Areas Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 msgid "Display synchronization ON"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 msgid "Display synchronization OFF"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, python-format
 msgid "Unable to open vector map <%s>"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 msgid "Unable to open temporary vector map"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 msgid "Failed to create temporary vector map."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr "tulokset"
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 msgid "No imagery group selected."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 msgid "No imagery group selected. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 msgid "No areas given. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
 
@@ -15809,80 +16126,213 @@ msgstr ""
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+msgid "Close GRASS GIS Data Catalog"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "New name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Nimeä luokka uudelleen"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, python-brace-format
+msgid "Editing {name}"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, python-brace-format
+msgid "Renaming {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "Copy map"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Haluatko luoda uuden karttajoukon?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Poista kaikki"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, python-brace-format
+msgid "Deleting {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, python-brace-format
+msgid "Displaying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+msgid "&Copy"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "rasteri"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+msgid "&Display layer"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "legend"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "scale bar"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "north arrow"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+msgid "Hide toolbars"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "Näytä vektoriviivat"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Show statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, python-brace-format
 msgid "Hide {overlay}"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 msgid "Resize legend"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 msgid "Set compulational region from named region"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 msgid "Save computational region to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -15973,524 +16423,434 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 msgid "Location or mapset is not defined."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 msgid "Name of vector map is missing."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 msgid "Name of new vector map is missing."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 msgid "No raster maps selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 msgid "No subgroup selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-msgid "List of raster layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-msgid "List of vector layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, python-format
-msgid "List of %s layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-msgid "Name for output GRASS map (editable)"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-msgid "Projection match"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-msgid "Add linked layers into layer tree"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-msgid "Unable to determine number of raster bands"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-msgid "Define output format for vector data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-msgid "Define output format for raster data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-msgid "No data source selected."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-msgid "No layers selected."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 msgid "Type: "
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
+#: ../gui/wxpython/gui_core/gselect.py:1290
+msgid "Source input"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Tiedosto"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "Kaikki tiedostot"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 msgid "ZIP files"
 msgstr "ZIP tiedostot"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 msgid "GZIP files"
 msgstr "GZIP tiedostot"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 msgid "TAR files"
 msgstr "TAR tiedostot"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 msgid "TARGZ files"
 msgstr "TARGZ tiedostot"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Tiedosto:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "simple features"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "topological"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 msgid "No settings available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+msgid "Input vector map is not selected"
+msgstr ""
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr ""
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr ""
@@ -16608,6 +16968,7 @@ msgid "Module dialog style:"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr ""
 
@@ -16701,7 +17062,7 @@ msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr ""
 
@@ -16971,6 +17332,49 @@ msgstr ""
 msgid "Nothing found"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Luokka"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Valitse viivat"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Luo uusi karttajoukko"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Vektorikarttaa ei voida päivittää."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Poista valitut"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Paikka <%s> luotu"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Vektorikarttaa ei voida päivittää."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr ""
@@ -17011,6 +17415,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -17081,102 +17489,102 @@ msgstr ""
 msgid "&Previous"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 msgid "Load and edit content of a file"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 msgid "&Save as"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, python-format
 msgid ""
 "Unable to load file.\n"
@@ -17184,26 +17592,26 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 msgid "No dataset given."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -17252,63 +17660,76 @@ msgstr ""
 msgid "Change layer opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "ZIP tiedostot"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr ""
+#: ../gui/wxpython/gui_core/widgets.py:1190
+#, fuzzy
+msgid "Load:"
+msgstr "Lataa"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr ""
 
@@ -17408,10 +17829,13 @@ msgstr ""
 msgid "Select graphics tool"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 msgid "Run selected module from the tree"
 msgstr ""
+
+#~ msgid "Repository"
+#~ msgstr "Etäkirjasto"
diff --git a/locale/po/grasswxpy_fr.po b/locale/po/grasswxpy_fr.po
index ab876f2..1b351ce 100644
--- a/locale/po/grasswxpy_fr.po
+++ b/locale/po/grasswxpy_fr.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-12-13 20:04+0100\n"
 "Last-Translator: Sylvain Maillard <sylvain.maillard at gmail.com>\n"
 "Language-Team: français <grass-translations at lists.osgeo.org>\n"
@@ -29,7 +29,7 @@ msgid "Name of raster map:"
 msgstr "Nom de la carte raster :"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Nom de la carte vecteur :"
 
@@ -144,7 +144,7 @@ msgstr "Contition"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr "Étiquette"
 
@@ -212,14 +212,14 @@ msgid "Reload"
 msgstr "Recharger"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "Non"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Oui"
 
@@ -248,8 +248,8 @@ msgstr "Désactivé :"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Couleur"
@@ -279,9 +279,10 @@ msgstr "Taille de la forme"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Largeur :"
 
@@ -289,14 +290,14 @@ msgstr "Largeur :"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Hauteur :"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Données"
 
@@ -327,13 +328,13 @@ msgid "Comment"
 msgstr "Commentaire"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "Propriétés du modèle"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Métadonnée"
 
@@ -344,7 +345,7 @@ msgstr "Commandes"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Permettre au fichier de sortie d'écraser les fichiers existants"
@@ -364,10 +365,10 @@ msgstr "Fermer la boîte de dialogue et ignorer les changements"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Nom :"
 
@@ -431,12 +432,12 @@ msgstr "Cartes raster"
 msgid "3D raster maps"
 msgstr "Cartes raster 3D"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "Carte vectorielle"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "inconnu"
@@ -466,23 +467,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "Paramètres du modèle"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr "Supprimer les données intermédiaires"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "Exécute&r"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Variables"
 
@@ -503,7 +504,7 @@ msgid "Python editor"
 msgstr "Éditeur Python"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Messages de la commande"
 
@@ -567,7 +568,7 @@ msgid "Choose model file"
 msgstr "Choisir le fichier de modèle"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "Ficher modèle GRASS (*.gxm)|*.gxm"
 
@@ -595,7 +596,7 @@ msgstr "Fichier <%s> enregistré"
 msgid "Choose file to save current model"
 msgstr "Choisir le fichier où enregistrer le modèle courant"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Le fichier existe déjà"
 
@@ -618,7 +619,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "Le modèle est valide."
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -631,7 +632,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr "Modèle exporté vers <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 msgid "Add comment"
 msgstr "Ajouter un commentaire"
 
@@ -664,7 +665,7 @@ msgstr "Merci de patienter, modèle en cours de chargement ..."
 msgid "Writing current settings to model file failed."
 msgstr "Échec de l'écriture des paramètres courant dans le fichier de modèle."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Impossible d'ouvrir le fichier <%s> en écriture."
@@ -673,15 +674,15 @@ msgstr "Impossible d'ouvrir le fichier <%s> en écriture."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -756,10 +757,10 @@ msgstr "Valeur par défaut"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Description"
 
@@ -780,13 +781,13 @@ msgid "string"
 msgstr "chaîne de caractères"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vecteur"
 
@@ -799,7 +800,7 @@ msgid "mapset"
 msgstr "jeu de cartes"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "fichier"
 
@@ -931,7 +932,7 @@ msgid "Histogram imagery group"
 msgstr "Histogramme du groupe d'images"
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Sélectionner une carte raster :"
 
@@ -949,7 +950,7 @@ msgstr "Le groupe sélectionné doit être dans le jeu de cartes courant"
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -980,8 +981,8 @@ msgstr "Étiquette de l'axe d'ordonnée :"
 msgid "Label font size (pts):"
 msgstr "Taille de caractère d'étiquette (pts) :"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1032,9 +1033,9 @@ msgstr "Tailles de texte du graphique enregistrées dans le fichier '%s'."
 msgid "No map or image group selected to plot."
 msgstr "Pas de carte ou d'image sélectionné pour le graphique."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Attention"
 
@@ -1060,8 +1061,8 @@ msgstr "Couleur de ligne"
 msgid "Line width"
 msgstr "Épaisseur de ligne"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Style de ligne"
 
@@ -1075,18 +1076,18 @@ msgid "Transect segment marker settings"
 msgstr "Paramètre de marqueur de segment du profil"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Taille"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr "Remplir"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Style"
 
@@ -1328,19 +1329,19 @@ msgid "Under Construction"
 msgstr "En construction"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Mise en page"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Aperçu avant impression"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1434,7 +1435,7 @@ msgid "Output"
 msgstr "Sortie"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Paramètres"
 
@@ -1467,8 +1468,7 @@ msgid "Analysing..."
 msgstr "Analyse en cours ..."
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Paramètres"
@@ -1520,7 +1520,7 @@ msgstr "Couleurs des points de Fin/Vers/Destination :"
 msgid "Color for selected point:"
 msgstr "Couleur pour les points sélectionnés :"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1543,10 +1543,11 @@ msgid "Maximum number of results in history:"
 msgstr "Nombre maximal de résulats dans l'historique :"
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Fermer la boîte de dialogue"
 
@@ -1566,11 +1567,11 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 msgid "Unable to perform analysis."
 msgstr "Impossible d'effectuer l'analyse."
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1581,45 +1582,45 @@ msgstr ""
 "l'outil d'analyse de réseau vectoriel.\n"
 "Les résultats affichés peuvent ne pas correspondre aux résultats d'origine."
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr "Résultat modifié manuellement"
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 msgid "Map can be created only in current mapset"
 msgstr "Une carte ne peut être crée que dans le jeu de cartes courant"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Le carte vectorielle <%s> existe déjà. Voulez-vous l'écraser ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 msgid "Overwrite vector map"
 msgstr "Écraser la carte vecteur"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 msgid "Creation of turntable failed."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr "La carte vecteur avec le résultat d'analyse n'existe pas."
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr "La carte ne peut être enregistrée que dans le jeux de cartes courant"
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr "Merci de choisir les points '%s' et '%s'."
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr "Merci de choisir au moins deux points."
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1630,11 +1631,11 @@ msgstr ""
 "d'analyse de réseau vectoriel.\n"
 "La colonne de topologie peut ne pas correspondre à la situation modifiée."
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr "Entrée modifiée manuellement"
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
@@ -1643,20 +1644,20 @@ msgstr ""
 "La carte temporaire %s existe déja.\n"
 "Voulez-vous continuer l'analyse et l'écraser ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 msgid "Unable to use ctypes. \n"
 msgstr "Impossible d'utiliser ctypes. \n"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr "Le magnétisme ne peut pas être activé."
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr "Voulez-vous vraiment activer le magnétisme et l'écraser ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
@@ -1666,51 +1667,51 @@ msgstr ""
 "vectorielle.\n"
 "Voulez-vous vraiment activer le magnétisme et l'écraser ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 msgid "Overwrite map"
 msgstr "Écraser la carte ?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "La carte vectorielle '%s' n'existe pas."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 msgid "Vector map was not chosen."
 msgstr "Carte vectorielle non sélectionnée."
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 msgid "arc layer"
 msgstr "couche d'arc"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 msgid "node layer"
 msgstr "couche de noeud"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 msgid "turntable layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 msgid "unique categories layer"
 msgstr "couche de catégories uniques"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr "La %s '%s' choisie n'existe pas dans la carte vecteur '%s'.\n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, python-format
 msgid "Choose existing %s.\n"
 msgstr "Choisir %s. \n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
@@ -1719,114 +1720,114 @@ msgstr ""
 "La colonne choisie '%s' n'existe pas dans la table d'attributs de la couche "
 "'%s' de la carte vectorielle '%s'.\n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "utiliser"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 msgid "type"
 msgstr "type"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr "topologie"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 msgid "Start point"
 msgstr "Point de départ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 msgid "End Point"
 msgstr "Point d'arrivée"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 msgid "new point"
 msgstr "nouveau point"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr "arc"
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 msgid "Node cost column:"
 msgstr "Colonne de coût des noeuds : "
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr "noeud"
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, python-format
 msgid "Shortest path %s"
 msgstr "Plus court chemin %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
 msgstr "Point d'arrivée"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr "Analyse de type \"représentant commercial\" %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr "Écoulement maximal %s"
 
 # "source" au sens de la source d'une rivière
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 msgid "Source point"
 msgstr "Point de source"
 
 # "Perte" = "disparition" d'une rivière dans le sous-sol
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 msgid "Sink point"
 msgstr "Point de perte"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr "Sous-réseau pour le centre le plus proche %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "Créer l'arbre de Steiner pour le réseau et les points terminaux %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr "Plus courte distance via le réseau %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr "Isoligne de coût %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 msgid "Overwrite map layer"
 msgstr "Écraser la carte"
 
@@ -2000,54 +2001,54 @@ msgstr "Sélectionner le datum de transformation"
 msgid "Select from list of datum transformations"
 msgstr "Sélectionner parmi une liste de datums de transformation"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Définir la base de données de GRASS et le nom du secteur"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Parcourir"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Répertoire des données SIG :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Secteur du projet"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Nom du répertoire du secteur dans le dossier GIS DATA"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "Titre du secteur"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr "Titre de secteur optionnel, vous pouvez laisser ce champ vide."
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
@@ -2057,24 +2058,24 @@ msgstr ""
 "n'utiliser que des caractères ASCII à l'exclusion de %(chars)s et des "
 "espaces."
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr "Non de secteur invalide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Choisir le répertoire des données de GRASS :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Le secteur existe déjà dans la base de données GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Impossible de créer le secteur"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
@@ -2082,190 +2083,190 @@ msgstr ""
 "Le titre du secteur est limité à une ligne et 256 caractères. Le reste du "
 "texte sera ignoré."
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Définir le nouveau système de coordonnées"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "Sélectionner le code EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr "Lire depuis un fichier géoréférencé"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr "Lire depuis un fichier WKT .prj"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "Sélectionner les paramètres depuis une liste"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr "Paramètres PROJ.4 personnalisés"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Système de coordonnées cartésiennes (XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Choisir la projection"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Code"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Code de la projection "
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Rechercher dans la description :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Impossible de lire la liste : %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Choisir les paramètres de projection"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Sélectionner le datum ou l'ellipsoïde (page suivante)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Datum et ellipsoïde associé"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Ellipsoïde uniquement"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "Vous devez entrer une valeur pour %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Entrez les paramètres pour la projection %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Spécifier les données géodésiques"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Ellipsoïde"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Code des données :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Spécifier l'ellipsoïde"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 msgid "Earth based"
 msgstr "Coordonnées terrestres"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr "Corps planétaire"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Code de l'ellipsoïde : "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Sélectionner un fichier géo-référencé"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Fichier géo-référencé : "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr "Sélectionner le fichier Well Known Text (WKT) .prj"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 msgid "WKT .prj file:"
 msgstr "Fichier WKT .prj :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Choisir le code EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Chemin vers le fichier de codes EPSG : "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Code EPSG : "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Choisir un fichier de codes EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Impossible de lire les codes EPSG : %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Choisir la méthode pour définir les paramètres de géo-référencement"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Entrer la chaîne de paramètres PROJ.4 :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Transformation par datum requise."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Résumé"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "Base de données GRASS :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Nom du secteur : "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Titre du secteur :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Projection :"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
@@ -2273,25 +2274,25 @@ msgstr ""
 "Définition PROJ.4 :\n"
 " (temporaire)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "Personnalisé"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Voulez-vous créer le secteur GRASS <%s> ?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Créer un nouveau secteur ?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Définir un nouveau secteur GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2302,15 +2303,15 @@ msgstr ""
 "\n"
 "Détails: %(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Assistant de création de secteur interrompu. Secteur non créé."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Impossible de créer le nouveau secteur"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2320,16 +2321,16 @@ msgstr ""
 "faudra changer le répertoire SIG par défaut dans l'écran de démarrage de "
 "GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "Nouveau répertoire de données SIG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Code EPSG manquant."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr "Fichier <%s> non trouvé."
@@ -2758,7 +2759,16 @@ msgstr "Ajouter une classe"
 msgid "Remove selected class"
 msgstr "Supprimer la classe sélectionnée"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 #, fuzzy
 msgid ""
 "Unable to load GDAL Python bindings.\n"
@@ -2772,41 +2782,64 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: le type de couche <%(type)s> n'est pas pris en charge"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr "La commande '%s' a échoué\n"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr "Détails : %s\n"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Type de couche '%s' non pris en charge"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, python-format
+msgid "Rendering failed: %s"
+msgstr "Le rendu a échoué : %s"
+
+#: ../gui/wxpython/core/render.py:584
+msgid "Rendering aborted"
+msgstr "Annulation du rendu"
+
+#: ../gui/wxpython/core/render.py:615
+msgid "Downloading data "
+msgstr "Téléchargement des données ..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Générer (l'affichage)"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Générer (l'affichage)"
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
 msgstr "Essai de récupération depuis la région par défaut ..."
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 "Module GRASS '%s' introuvable. Impossible de démarrer la fenêtre d'affichage "
 "des cartes."
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 "Erreur : impossible d'ouvrir '%(file)s'. Raison : %(ret)s. Sortie de wxGUI.\n"
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, python-format
 msgid ""
 "\n"
@@ -2815,32 +2848,32 @@ msgstr ""
 "\n"
 "ERREUR : Impossible de lire le fichier WIND : %s\n"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Taille non valide %d,%d\n"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Impossible de zoomer sur la carte raster : %s"
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Détails :"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Impossible de zoomer sur la carte vecteur <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Impossible de zoomer sur la carte raster 3d <%s>."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
@@ -2848,68 +2881,39 @@ msgstr ""
 "Impossible d'obtenir l’extension géographique courante. Sortie forcée de "
 "wxGUI. Merci d'exécuter manuellement g.region pour résoudre ce problème."
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "ERREUR : le rendu a échoué. Détails : %s"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Impossible de générer l'aperçu de la carte <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Impossible de générer l'aperçu de la superposition <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-msgid "Downloading data "
-msgstr "Téléchargement des données ..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Générer (l'affichage)"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Générer (l'affichage)"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Raison"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Message"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "L'exécution a échoué :"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Erreur :"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Impossible d'exécuter la commande : '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Erreur dans %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Impossible d'ouvrir le fichier <%s> en lecture."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2923,12 +2927,12 @@ msgstr ""
 "\n"
 "Nombre de lignes sautées : %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr "ligne %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2942,32 +2946,37 @@ msgstr ""
 "Option <%(opt)s> : la lecture depuis l'entrée standard n'est pas prise en "
 "charge par wxGUI"
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Fichier <%s> non trouvé."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d sec"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr "%(min)d min %(sec)d sec"
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 "Veuillez noter que les données sont laissées dans un état inconsitant et "
 "peuvent être corrompues"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "La commande s'est interrompue"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "La commande s'est terminée"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3158,22 +3167,22 @@ msgstr "erreur de syntaxe : %s"
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Carte vectorielle <%(map)s> : %(msg)s\n"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "Échec à l'ouverture de '%s'"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr "ERREUR : impossible de déterminer la version de GRASS. Détails : %s"
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Impossible d'ouvrir le fichier '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
@@ -3182,17 +3191,17 @@ msgstr ""
 "%s : ligne sautée - impossible de lire '%s'\n"
 "Raison : %s\n"
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Paramètre en double : %s\n"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Impossible de créer le fichier '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Choisir la couleur"
 
@@ -3262,11 +3271,11 @@ msgstr ""
 "supérieure gauche du papier"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr "Police :"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Taille du texte :"
@@ -3280,7 +3289,7 @@ msgid "Close dialog and apply changes"
 msgstr "Appliquer les changements et fermer la boite de dialogue"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Appliquer les changements"
 
@@ -3297,7 +3306,7 @@ msgstr "Format"
 msgid "Orientation"
 msgstr "Orientation"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr "Largeur"
 
@@ -3342,7 +3351,7 @@ msgid "Map frame settings"
 msgstr "Paramètres du cadre de carte"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr "Fenêtre de cartes"
 
@@ -3370,7 +3379,7 @@ msgstr "échelle fixe et center de la carte"
 msgid "Map selection"
 msgstr "Sélection de la carte"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "Carte :"
 
@@ -3394,7 +3403,7 @@ msgstr "E :"
 msgid "N:"
 msgstr "N :"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr "Échelle"
 
@@ -3409,7 +3418,7 @@ msgstr "Résolution max de carte (dpi)"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "Bordure"
 
@@ -3445,164 +3454,165 @@ msgstr "Pas de carte sélectionnée !"
 msgid "No region selected!"
 msgstr "Pas de région sélectionnée !"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr "Échelle ou centre de carte non valide !"
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Carte raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr "Choisir une carte raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr "pas de carte raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr "carte raster :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "Merci de créer d'abord le cadre de carte."
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr "Ajouter une carte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr "points"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr "lignes"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "surfaces"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr "Type de données"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Ajouter"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr "Gérer les cartes vecteur"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr "La carte la plus haute recouvre les autres"
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "Haut"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr "Bas"
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Supprimer"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr " Propriétés ..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr "Paramètres de carte raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr "Paramètres de carte vecteur"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr "Propriétés de %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr "Sélection des données"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr "Type d'entité"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr "centroïdes"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr "contours"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr "Sélectionner la couche"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr ""
 "La connexion à la base de données n'est pas définie dans le fichier DB."
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr "Sélectionner la couche :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr "liste de catégories (par ex. 1,3,5-7)"
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Masque"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr "Utiliser le masque courant"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr "Couleurs"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr "Contour"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr "dessiner le contour"
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr "Largeur (pts) :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3610,222 +3620,222 @@ msgstr "Largeur (pts) :"
 msgid "Color:"
 msgstr "Couleur :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr "remplir par la couleur"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr "choisir la couleur :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr "couleur depuis la colonne :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr "Pas d'effet de remplissage de couleur depuis la colonne"
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr "Couleur des lignes :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr "Taille et style"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Symbologie"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr "symbole :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr "fichier eps :"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 "Taper un nom de fichier ou cliquer sur Parcourir pour choisir un fichier"
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr "Choisir un fichier"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr "taille :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr "taille depuis la colonne :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr "échelle :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr "Rotation"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr "rotation des symboles :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr "sens anti-horaire en degrés :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr "depuis un champ attributaire de la carte :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr "Définir la largeur (pts) :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr "modifier la largeur depuis une valeur de catégorie"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr "Choisir le style de ligne :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr "Choisir les chapeaux de ligne :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr "Modèle"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr "utiliser le motif :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr "Choisir un fichier de motif :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr "épaisseur de ligne du motif (pts) :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr "facteur d'échelle du motif :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr "Légende de la carte raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr "Afficher la légende de la carte raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr "Carte raster source"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr "carte raster actuelle"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr "sélectionner la carte raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr "%(rast)s : type %(type)s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr "Type de légende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr "légende discrète (carte avec catégories)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr "légende en gradient de couleurs continues (carte en nombre flottants)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr "Paramètres avancés de légende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr "afficher la boite \"pas de données\""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr "afficher l'échelle de la table de couleur"
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "plage"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr "Légende du vecteur"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr "Afficher la légende des vecteurs"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr "Carte vectorielle source"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr "Choisir les cartes vecteur et leur ordre dans la légende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Carte vectorielle"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "Modifier les étiquettes"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "dessiner une bordure autour de la légende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr "Taille et position"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Position"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 "Laisser vide le champ d'édition afin d'utiliser les valeurs par défaut."
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
@@ -3833,50 +3843,50 @@ msgstr ""
 "Largeur du symbole de couleur (pour les lignes)\n"
 "en face du texte de la légende"
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr "Colonnes :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr "largeur de colonne :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr "Espacement de colonne entre le limite"
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr "Éditer l'étiquette de légende :"
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr "Pas de carte raster sélectionnée !"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr "pas de carte raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "Paramètres des informations de carte"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr "Paramètres de couleur"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr "utiliser la couleur de bordure :"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr "utiliser la couleur d'arrière-plan :"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
@@ -3884,138 +3894,138 @@ msgstr ""
 "Les unités de la projection courante ne sont pas prises en charge,\n"
 "le mètre sera utilisé !"
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr "Unités non prises en charge"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr "Longueur :"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr "La longueur de barre d'échelle est donnée en unités de cartes"
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr "La hauteur de barre d'échelle est la hauteur réelle sur le papier"
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr "défaut"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr "Type :"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr "Nombre de segments :"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr "Étiqueter tout"
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr "segments"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr "arrière-plan de texte transparent"
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr "La longueur de barre d'échelle n'est pas définie"
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "Texte"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Entrez le texte :"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr "Effets de texte"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr "arrière-plan de texte"
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr "surligner"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "bordure du texte"
 
 # Je pense que l'anglicisme "offset" est une forme concise et explicite qui convient.
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr "Offset"
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr "horizontal (pts) :"
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr "vertical (pts) :"
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr " Point de référence"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr "Rotation du texte"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr "pivoter le texte (sens anti-horaire)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr "Pas de texte saisi !"
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr "Image"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr "Choisir un répertoire :"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr "Choisir un répertoire avec des images"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr "Note : seul le format EPS est supporté"
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr "Échelle et rotation"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr "Angle de rotation (deg) :"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr "Rotation anti-horaire en degrés"
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
@@ -4023,48 +4033,48 @@ msgstr ""
 "PIL\n"
 "manquant"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr "Impossible de lire le fichier %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr "taille : %(width)s x %(height)s pts"
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
 msgstr "Pas d'image sélectionnée."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr "Flèche du Nord"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr "Paramètres de la flèche nord"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr "Calculer la convergence"
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Point"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr "symbole"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr "Sélectionner le symbole :"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
@@ -4072,53 +4082,53 @@ msgstr ""
 "Note : le symbol sélectionné n'est pas affiché\n"
 "en mode brouillon (seulement en mode aperçu"
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr "Couleur de mise en valeur:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "transparent"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr "Remplir par la couleur"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr "Taille et rotation"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr "Taille (pt) :"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr "Taille de symbole en points"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr "Paramètres du rectangle"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr "Paramètres de ligne"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr "Épaisseur de ligne en points :"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 msgid "Vector labels"
 msgstr "Étiquettes vecteur"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr "Fichier d'étiquettes créé auparavant par le module v.label"
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr "Vous pouvez sélectionner plusieurs fichiers d'étiquettes."
 
@@ -4264,7 +4274,7 @@ msgstr "Cliquez-déposez pour redimensionner l'objet"
 msgid "labels: "
 msgstr "étiquettes :"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
@@ -4273,12 +4283,12 @@ msgstr ""
 "Impossible d'ouvrir le fichier\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr "Le fichier d'instruction sera chargé avec la région suivante : %s\n"
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
@@ -4287,23 +4297,23 @@ msgstr ""
 "La région ne peut pas être fixée\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr "Impossible de lire les instructions %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
@@ -4312,7 +4322,7 @@ msgstr ""
 "L'échelle a changé, ancienne valeur : %(old)s\n"
 "nouvelle valeur : %(new)s"
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
@@ -4321,7 +4331,7 @@ msgstr ""
 "Échec à la lecture de l'instruction %s.\n"
 "Utiliser la notation 1:25000."
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
@@ -4330,7 +4340,7 @@ msgstr ""
 "La position du cadre de carte a changé, ancienne valeur : %(old1)s %(old2)s\n"
 "nouvelle valeur : %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
@@ -4339,7 +4349,7 @@ msgstr ""
 "La taille du cadre de carte a changé, ancienne valeur : %(old1)s %(old2)s\n"
 "nouvelle valeur : %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
@@ -4348,13 +4358,13 @@ msgstr ""
 "Impossible de lire les instructions %(file)s.\n"
 "Format %(for)s inconnu"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr "Impossible de lire les instructions %s."
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
@@ -4363,8 +4373,8 @@ msgstr ""
 "Les caractères en position %s ne sont pas pris en charge par l'encodage "
 "ISO-8859-1 (Latin 1) requis pour le module ps.map."
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
@@ -4372,7 +4382,7 @@ msgstr ""
 "Tous les caractères ne sont pas supportés par l'encodage ISO-8859-1 (Latin "
 "1) requis pour le module ps.map."
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4426,27 +4436,27 @@ msgstr "mètre"
 msgid "degree"
 msgstr "degré"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr "Impossible d'exécuter `ps.map -b`"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr "Générer un fichier texte comportant des instructions de cartographie"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr "Charger un fichier texte comportant des instructions de cartographie"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr "Générer une sortie PostScript"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "Générer une sortie PDF"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "Spécifier format du papier, marges et orientation"
 
@@ -4462,7 +4472,7 @@ msgstr "Zoomer sur l'emprise complète"
 msgid "Click and drag to place map frame"
 msgstr "Cliquer déposer pour positionner le cadre de carte"
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr "Supprimer l'objet sélectionné"
 
@@ -4474,12 +4484,12 @@ msgstr "Afficher l'aperçu"
 msgid "Quit Cartographic Composer"
 msgstr "Quitter le Composeur de cartes"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr "Informations sur la carte"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr "Barre d'échelle"
 
@@ -4539,23 +4549,28 @@ msgstr ""
 "Problème lors de l'impression.\n"
 "Peut-être que votre imprimante n'est pas configurée correctement ?"
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, python-format
 msgid "Unsupported command %s."
 msgstr "Commande %s non prise en charge."
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
 "Impossible de lire le fichier de commandes '%(cmd)s'. Détails : %(det)s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr "Lancement d'un nouvel affichage <%s>..."
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, python-format
+msgid "Unable to create file <%s>"
+msgstr "Impossible de créer le fichier <%s>"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Arrêt de l'affichage <%s>..."
@@ -4589,17 +4604,17 @@ msgstr "Cadre test pour la fenêtre de carte rlisetup"
 msgid "Unknown value %s of test parameter."
 msgstr "Valeur %s inconnue pour le paramètre test."
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "SIG GRASS - Moniteur d'affichage des cartes"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 msgid "Unable to get GRASS version\n"
 msgstr "Impossible de déterminer la version de GRASS\n"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
@@ -4607,13 +4622,14 @@ msgstr ""
 "SIG GRASS %(version)s - Fenêtre de cartes : %(id)s - Secteur : %(loc)s@"
 "%(mapset)s"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "Vue 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4622,11 +4638,11 @@ msgstr ""
 "Impossible de démarrer l'outil wxGUI de numérisation de vecteur.\n"
 "Détails: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr "Barre d'outils de numérisation de vecteur"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4641,59 +4657,65 @@ msgstr ""
 "\n"
 "Détails : %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Démarrage du mode vue 3D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Patientez, chargement des données ..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr "Patientez, dé-chargement des données ..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr "Retour à la vue 2D ..."
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Barre d'outils pour les cartes"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Numériser"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+msgid "Vector digitizer"
+msgstr "Numérisation de vecteur"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
+msgstr "Aucune ccouche sélectionnée. Opération annulée."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr "d.to.rast ne peut être utilisé qu'en mode 2D."
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr "La lancement de d.to.rast a échoué :\n"
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Rien à afficher (carte vide). Opération annulée."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Carte vectorielle <%s> ouverte pour édition - sautée."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 "Pas de carte rater ou couche de carte vecteur sélectionnée pour "
 "interrogation."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
@@ -4701,55 +4723,59 @@ msgstr ""
 "L'interrogation de la carte vecteur <{maps}> a échoué. Vérifier les "
 "paramètres de base de données et de topologie."
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Ajouter une couche de texte"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Zoom sur la région par défaut"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Zoom sur la région enregistrée"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 msgid "Set computational region extent from display"
 msgstr "Définir la région calculée à partir de celle de l'écran"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 msgid "Set computational region extent interactively"
 msgstr "Définir l'emprise de la région de calcul de manière interactive"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 msgid "Set computational region from named region"
 msgstr "Définir la région calculée depuis un nom de région"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Enregistrer la géométrie de l'écran dans un nom de région"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 msgid "Save computational region to named region"
 msgstr "Enregistrer la région calculée vers un nom de région"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+msgid "Raster Digitizer Toolbar"
+msgstr "Barre d'outils de numérisation de raster"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Générer (l'affichage)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Activer/désactiver le rendu automatique"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Afficher l'étendue"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Afficher les limites de calculs"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4760,16 +4786,16 @@ msgstr ""
 "région de calcul, région de calcul comme rectangle rouge à l'intérieur de la "
 "région de l'affichage."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Mode d'affichage"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr "Aligner l'étendue de la région sur la taille de l'affichage"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4778,16 +4804,16 @@ msgstr ""
 "central. La valeur par défaut pour les nouveaux affichages peut être définie "
 "dans la boîte de dialogue 'Paramètres de l'interface utilisateur'"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr "Résolution de l'affichage"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Contraindre la résolution d'affichage aux paramètres de calculs"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4796,11 +4822,11 @@ msgstr ""
 "La valeur par défaut pour les nouveaux affichages de cartes peut être "
 "définie dans la boîte de dialogue 'Paramètres de l'interface utilisateur'"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Échelle de la carte"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
@@ -4809,33 +4835,33 @@ msgstr ""
 "différemment, ces valeurs ne sont pas des échelles réelles mais restent "
 "proches de la réalité."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Aller à"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "Projection non définie (vérifiez les paramètres)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "Erreur dans la projection (vérifiez les paramètres)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Projection"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "Utiliser une projection définie"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
@@ -4844,24 +4870,24 @@ msgstr ""
 "peut être définie dans les préférences de l'interface utilisateur (onglet "
 "'Affichage de la carte')"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MASK"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Afficher la géométrie"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Coordonnées"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Etendue"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 msgid "Computational region"
 msgstr "Région calculée"
 
@@ -4876,98 +4902,110 @@ msgid "Query selected raster/vector map(s)"
 msgstr "Interroge la (les) carte(s) 'raster' ou vectorielle(s) sélectionnées"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
+#, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Sélectionner des objets vectoriels"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr ""
+"Sélectionner des zones depuis\n"
+"la carte vecteur superposée"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
 msgid "Show/hide scale bar"
 msgstr "Afficher/cacher l'échelle"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Afficher/cacher la légende"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 msgid "Show/hide north arrow"
 msgstr "Afficher/cacher la direction du nord"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analyser une carte"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "Mesures, profilage, histogrammes, ..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Mesurer une distance"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 msgid "Measure area"
 msgstr "Mesurer une surface"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Profiler la carte de surface"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Créer un nuage de points bivarié de la carte raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr "Créer un histogramme de carte raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 msgid "Vector network analysis tool"
 msgstr "Outil d'analyse de réseau vecteur"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr "Faire pivoter la scène 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Déplacer avec la souris pour faire pivoter la scène 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr "Mode survol"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 "Déplacer avec la souris, appuyer sur Ctrl pour les différents modes, ou Maj "
 "pour accélérer"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr "Cliquez pour zoomer"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr "Cliquez pour dé-zoomer"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "Vue 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "Vue 3D non disponible"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Raison : %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "La numérisation de vector n'est pas disponible"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
@@ -4978,6 +5016,10 @@ msgstr ""
 "les mises à jour de GRASS. En attendant, vous pouvez utiliser le module \"v."
 "digit\", accessible depuis le menu Vecteur."
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+msgid "Raster digitizer"
+msgstr "Numérisation de raster"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 msgid "Create new configuration file for r.li modules"
 msgstr "Créer une nouveau fichier de configuration pour les modules r.li"
@@ -5712,12 +5754,12 @@ msgstr ""
 msgid "Export animation"
 msgstr "Exporter l'animation"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr "Décorations"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "Exporter"
@@ -5727,11 +5769,11 @@ msgstr "Exporter"
 msgid "Add time stamp"
 msgstr "Date et heure"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 msgid "Add image"
 msgstr "Ajouter une image"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr "Ajouter du texte"
 
@@ -5752,7 +5794,7 @@ msgid "Sample text"
 msgstr "Échantillon de texte"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5767,7 +5809,7 @@ msgid "Choose image file"
 msgstr "Choisir un fichier image"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr "Texte :"
 
@@ -5797,7 +5839,7 @@ msgstr "AVI"
 msgid "Export to:"
 msgstr "Exporter vers :"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr "Préfix :"
 
@@ -5805,13 +5847,13 @@ msgstr "Préfix :"
 msgid "animation_"
 msgstr "animation_"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr "Format de fichier :"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Répertoire :"
 
@@ -5940,7 +5982,7 @@ msgstr "Merci de commencer par sélectionner des cartes ou un jeu de données."
 msgid "Animation Tool settings"
 msgstr "Paramètres de l'outil d'animation"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6002,22 +6044,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Invalide"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Rendu des couches"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Superposition des couches"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Répertoire {t} non supprimé."
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr "%s=, %s=, %s= et %s= sont mutuellement exclusifs."
@@ -6053,7 +6095,7 @@ msgstr "Barre d'outils principale"
 msgid "Animation Toolbar"
 msgstr "Barre d'outils d'animation"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Barre d'outils divers"
@@ -6103,8 +6145,8 @@ msgstr ""
 "d'utiliser un seul tye temporel pour éviter la confusion."
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Jeu de données temporel <%s> non trouvé."
@@ -6144,7 +6186,7 @@ msgstr "%(start)s %(unit)s"
 msgid "Exporting animation, please wait..."
 msgstr "Export de l'animation, merci de patienter ..."
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6167,17 +6209,17 @@ msgstr "Merci de n'ajouter qu'une seule couche dans la liste."
 msgid "No map series nor space-time dataset is added."
 msgstr "Pas de séries de carte ou de jeux de données temporels ajoutés."
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Carte <%s> non trouvée."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr "Le nombre de cartes des jeux de données temporels doiit être le même."
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
@@ -6185,26 +6227,26 @@ msgstr ""
 "Le type temporel (absolut/relatif) des jeux de données temporels doit être "
 "le même."
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 "Le type de carte (ponctuel/intervalle) des jeux de donénes temporels doit "
 "être le même."
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 "L'étendue temporelle des cartes des jeux de données temporels doit être la "
 "même."
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 "Le nombre de cartes à animer doit être le même pour chaque série de cartes."
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6225,11 +6267,11 @@ msgstr "Avancer"
 msgid "Play back"
 msgstr "Lecture"
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr "Stop"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr "Pause"
 
@@ -6268,14 +6310,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "SIG GRASS Outil temporel"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Dessiner"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Aide"
 
@@ -6293,14 +6335,14 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Choisir le jeux de données temporel :"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Jeux de données <%s> non trouvé dans la base temporelle"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
@@ -6308,8 +6350,8 @@ msgstr ""
 "Les jeux de données ont des types temporels (absolut x relatif) différents, "
 "ce qui n'ets pas permis. "
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 "Les jeux de données ont des unités de temps différentes, ce qui n'est pas "
@@ -6338,61 +6380,61 @@ msgstr "X"
 msgid "Y"
 msgstr "Y"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Date [%s]"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr "Merci d'indiquer le jeu de donnée temporel <%s>."
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr "Nom de jeu de données ambigü"
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Jeux de données raster temporel : %s"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Jeux de données vecteur temporel : %s"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Jeux de données raster 3D temporel : %s"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, python-format
 msgid "Mapset: %s"
 msgstr "Jeu de données : %s"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, python-format
 msgid "Map name: %s"
 msgstr "Nom de la carte : %s"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr "Temps de départ : %s"
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, python-format
 msgid "End time: %s"
 msgstr "Heure de fin : %s"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 msgid "WARNING: invalid topology"
 msgstr "ATTENTION : topologie invalide"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
@@ -6400,45 +6442,45 @@ msgstr ""
 "\n"
 "Appuyer sur Suppr pour annuler."
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Vue"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Apparence"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr "Analyses"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr "Animation"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr "Contrôles de la vue"
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 "Ajuster la distance et l'angle de perspective de l'image au point de vue"
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Perspective :"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr "Penche la surface par rapport à l'horizontale"
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr "Inclinaison :"
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
@@ -6446,23 +6488,23 @@ msgstr ""
 "Ajuster la hauteur de vue (l'angle de vue s'ajuste automatiquement pour "
 "garder le même centre de la vue)"
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr "Ajuster la hauteur relative des entités au dessus de la surface"
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Exagération verticale :"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr "Orienter vers :"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr "curseur"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
@@ -6470,19 +6512,19 @@ msgstr ""
 "Permet de sélectionner un point sur la surface qui deviendra le nouveau "
 "centre de la vue. Cliquer sur le bouton puis sur la surface."
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr "centre"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr "Rétablir le centre de la vue par défaut"
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "nord"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
@@ -6490,19 +6532,19 @@ msgstr ""
 "Définir la vue directement au dessus du centre de la scène. Cette vue du "
 "haut est orientée approximativement nord-sud."
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr "par défaut"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Revenir à la vue par défaut"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr "Apparence de l'image"
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
@@ -6511,228 +6553,228 @@ msgstr ""
 "recommandé d'utiliser le mode survol (barre d'outils d'affichage) pour "
 "obtenir un déplacement fluide."
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr "Enregistrer"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr "Lecture"
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr "Nombre total d'images :"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr "Taux de rafraichissement (FPS) :"
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr "Les images sont enregistrées à la fréquence donnée (FPS)."
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr "Enregistrer la séquence d'image"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr "Choisir un répertoire pour les images"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 "Les noms de fichiers générés ressembleront à ceci : prefix_1.ppm, prefix_2."
 "ppm, ..."
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Surface"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr "Surface constante"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vecteur"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "Carte raster 3D"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Éclairage"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr "Frange"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr "Plans de coupe"
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Mode :"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "grossier"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "fin"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "les deux"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Ombrage :"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "plat"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "gouraud"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "Définir pour tous"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Utiliser les paramètres de rendu pour toutes les surfaces chargées"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr "Mode grossier :"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr "résolution :"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr "style :"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "fil de fer"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "surface"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 msgid "Change wire color"
 msgstr "Couleur du fil"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr "Mode fin :"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Attributs pour les surfaces"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Transparence"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Luminosité"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "carte"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "non défini"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "constante"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr "Modifier les positions x, y et z de la surface actuelle"
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Remise à zéro"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr "Revenir à la position par défaut"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr "Activer les plans de coupe :"
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr "effacer"
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr "couleur du dessus"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr "couleur du fond"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr "hachures"
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr "ombré"
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr "H horizontal :"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr "Définir la coordonnée X du plan de coupe"
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr "Y horizontal :"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr "Définir la coordonnée Y du plan de coupe"
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Rotation :"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr "Effectue une rotation sur l'axe vertical du plan de coupe"
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr "Effectue une rotation sur l'axe horizontal du plan de coupe"
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
@@ -6740,193 +6782,193 @@ msgstr ""
 "Définit la coordonnée Z du plan de coupe actuel (n'a de sens que si "
 "l'inclinaison n'est pas à 0)"
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Nouveau"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr "Résolution fine :"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr "Valeur :"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr "Transparence :"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Montrer les lignes vectorielles"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Lignes vectorielles"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Ligne :"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "largeur :"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "couleur :"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr "utiliser la couleur pour la carte thématique"
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr "utiliser la largeur pour la carte thématique"
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 msgid "Set options..."
 msgstr "Définir les options ..."
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Affichage"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr "sur la surface :"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr "en 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Hauteur au-dessus de la surface :"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Afficher les points vectoriels"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Points vectoriels"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Icône :"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr "utiiser la taille pour la carte thématique"
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "Carte raster 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "iso-surfaces"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr "tranche"
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Résolution :"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 #, fuzzy
 msgid "Draw wire box"
 msgstr "Dessiner la boite en fil de fer"
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Liste des iso-surfaces"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr "Montrer le modèle d'illumination"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr "Position de la source de lumière"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr "Ajuster la hauteur de la source de lumière"
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "Couleur et intensité de la lumière"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "Luminosité :"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr "Ajuster la luminosité de la lumière"
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr "Ambiante :"
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr "Ajuster la lumière ambiante"
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr "Bordures avec frange"
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "N && O"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "N && E"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "S && O"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "S && E"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr "Altitude de la frange depuis le fond :"
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr "Longueur de la flèche (en unité de carte) :"
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr "Couleur de la flèche :"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr "Positionner la flèche"
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr "Longueur de la barre d'échelle (en unités de carte) : "
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr "Couleur de la barre d'échelle :"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 msgid "Place new scale bar"
 msgstr "Positionner une nouvelle barre d'échelle"
 
@@ -7326,15 +7368,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr "Carte raster <%s> non trouvée"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr "Carte vectorielle <%s> non trouvée"
@@ -7345,12 +7387,14 @@ msgid "3d raster map <%s> not found"
 msgstr "carte raster 3d <%s> non trouvée"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Importer une carte raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "Lier une carte raster externe"
 
@@ -7364,12 +7408,14 @@ msgid "Set raster output format"
 msgstr "Sélectionner le format de sortie raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Importer des données vectorielles"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "Lier des données vectorielles externes"
 
@@ -7390,7 +7436,7 @@ msgstr "Importer des données depuis un serveur WMS"
 msgid "Add command layer"
 msgstr "Ajouter une couche de commande"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Quitter"
@@ -7491,200 +7537,199 @@ msgstr "Exporter vers des formats standards"
 msgid "Export PostGIS"
 msgstr "Exporter vers PostGIS"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+msgid "Export attribute table"
+msgstr "Exporter la table d'attributs"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 msgid "Create pack"
 msgstr "Créer un pack"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 msgid "Make a copy in the current mapset"
 msgstr "Faire une copie dans le jeu de cartes courant"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Définir une table de couleur"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Montrer les attributs"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Commencer l'édition"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Arrêter l'édition"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "Reconstruire la topologie"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Zoomer sur la(les) carte(s) sélectionnée(s) (ignore les valeurs NULL)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Gérer les règles de couleur de manière interactive"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogramme"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Statistiques raster univariées"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Compte-rendu de statistiques raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Profil"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr "Enregistrer la couche web service"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Impossible de créer le profil de carte raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-"Le nom <%(name)s> n'est pas un nom valide pour une carte GRASS. Merci de "
-"n'utiliser que des caractères ASCII à l'exclusion de %(chars)s et des "
-"espaces."
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr "Nom invalide"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Type de couche <%s> non pris en charge"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Entrer le nom pour le nouveau %s dans le jeux de cartes courant :"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Faire une copie de %s <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr ""
 "%s <%s> existe déjà dans le jeu de cartes courant. Voulez-vous l'écraser ?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Écraser ?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Impossible de faire une copie de <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr ""
 "Impossible de faire une copie de <%s>. Le jeu de cartes <%s> n'est pas le "
 "jeu de cartes courant."
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 "Impossible d'afficher l'histogramme de carte raster. Pas de nom de carte "
 "définit."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Régler l'opacité de <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Groupe de couches :"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Cliquer pour modifier les paramètres de couche"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(double clic pour régler les propriétés)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Merci d'attendre, mise à jour des données..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "opacité :"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS GIS %s - Gestionnaire des couches"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "Barre d'outils de l'espace de travail"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "Barre d'outils des données"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "Barre d'outils des outils"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr "Barre d'outils des vecteurs"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 msgid "3D view Toolbar"
 msgstr "Barre d'outils de vue 3D"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr "Renommer la fenêtre de carte"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Couches"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Console de commande"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr "Rechercher un module"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+msgid "Data catalog"
+msgstr "Catalogue de données"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Console Python"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7695,11 +7740,11 @@ msgstr ""
 "\n"
 "Voulez-vous entrer dans le nouveau secteur ?"
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr "Changer pour le nouveau secteur ?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7708,35 +7753,35 @@ msgstr ""
 "Le secteur courant est <%(loc)s>.\n"
 "Le jeu de cartes courant est <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 "Voulez-vous définir les limites et la résolution la région par défaut "
 "maintenant ?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Secteur <%s> créé"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Choisir un modèle à exécuter"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Voulez-vous enregistrer les modfications de l'espace de travail ?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Voulez-vous enregistrer les paramètres actuels dans un fichier ?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr "Fermer la fenêtre de carte %s"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
@@ -7745,25 +7790,25 @@ msgstr ""
 "La commande '%s' n'est pas encore implantée dans wxGUI. Essayez plutôt de "
 "l'ajouter en tant que couche de commande."
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "La couche sélectionnée n'est pas un vecteur."
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 "L'édition n'est permise que pour des cartes vectorielles du jeux de cartes "
 "actuel."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "Choisir un script à exécuter"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Script Python (*.py)|*.py|Bash script (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
@@ -7773,12 +7818,12 @@ msgstr ""
 "contenir certains caractères non-ascii. Merci de renommer le script ou de le "
 "déplacer dans un endroit différent."
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Le fichier de script '%s' n'existe pas. Opération annulée."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
@@ -7787,15 +7832,15 @@ msgstr ""
 "Le script <%s> n'est pas exécutable. Voulez-vous définir les permissions "
 "d'exécution du script (vous devez être l'utilisateur propriétaire) ?"
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr "Définir les permissions ?"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr "Impossible de définir les permissions. Opération annulée."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
@@ -7804,38 +7849,38 @@ msgstr ""
 "Le dossier '%s' n'est pas définit dans GRASS_ADDON_PATH. Voulez-vous ajouter "
 "ce dossier à GRASS_ADDON_PATH ?"
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr "Mettre à jour le chemin des extentions ?"
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Lancement du script '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Aucun secteur/jeux de carte sélectionné. Opération annulée."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Entrer le nom du nouveau jeu de cartes :"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Créer un nouveau jeu de cartes"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr "Aucun jeux de carte sélectionné. Opération annulée."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "Le jeux de cartes actuel est <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
@@ -7844,19 +7889,19 @@ msgstr ""
 "Dossier d travail modifié pour :\n"
 "\"%s\""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 msgid "Changes current working directory for this GUI."
 msgstr "Modifier le dossier de travail pour cette Interface Graphique."
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 msgid "Usage: cd [directory]"
 msgstr "Utilisation : cd [dossier]"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr "Sans paramètre, ouvre une boiite de dialogue."
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
@@ -7864,44 +7909,43 @@ msgstr ""
 "Si ~ (tilde) est présent comme premier dossier du chemin, il sera remplacé "
 "par le dossier utilisateur."
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr "PLus d'un paramètre fourni."
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 msgid "Choose a working directory"
 msgstr "Choisir un dossier de travail"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr "Information système"
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr "Version de GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr "version inconnue"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
-msgstr "Version SVN :"
+#: ../gui/wxpython/lmgr/frame.py:1104
+msgid "GRASS SVN revision"
+msgstr "Version SVN:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+msgid "Build date"
 msgstr "Date de compilation"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-#, fuzzy
-msgid "Build Platform"
-msgstr "Plateforme"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
+msgstr "Plateforme de compilation"
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr "Plateforme"
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -7909,59 +7953,59 @@ msgstr ""
 "L'espace de travail n'est pas vide. Voulez-vous enregistrer les paramètres "
 "actuels dans un fichier ?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "Créer un nouvel espace de travail ?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Choisir un fichier d'environnement de travail"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "Fichier d'espace de travail GRASS (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Patientez, chargement de l'environnement de travail ..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Choisir un fichier GRC à charger"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Ancien fichier d'espace de travail GRASS (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Choisir le fichier où enregistrer l'environnement de travail courant"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "Le fichier d'environnement <%s> existe déjà. Voulez-vous écraser ce fichier ?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Enregistrer l'espace de travail"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr "Échec d'écriture des paramètres de l'espace de travail courant."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr "Entrer le nouveau nom :"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS {version} - Fenêtre de carte : {name} - Secteur : {loc}"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -7972,26 +8016,26 @@ msgstr ""
 "\n"
 "Raison : %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Impossible de démarrer l'outil Temporel"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Impossible de démarrer l'outil d'affichage temporel"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr "Ajouter les cartes sélectionnées dans l'arborescence des couches"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Type de couche <%s> non pris en charge"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
@@ -7999,7 +8043,7 @@ msgstr ""
 "A noter que les valeurs des cellules ne peuvent être affichées que pour les "
 "régions de moins de 10 000 cellules."
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8010,30 +8054,26 @@ msgstr ""
 "%s\n"
 "de l'arborescence des couches ?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 "Voulez-vous retirer la(les) carte(s) sélectionnée(s) de l'arborescence des "
 "couches ?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Enlever la carte"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Quitter l'interface graphique GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Impossible de déterminer la version de GRASS\n"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr "Aucune ccouche sélectionnée. Opération annulée."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
@@ -8043,40 +8083,40 @@ msgstr ""
 "la région de calculs. Il est suggéré de contraindre les cartes aux limites "
 "de la région. Voulez-vous contraindre la résolution ?"
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr "Restreindre la carte aux limites de la région ?"
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr "Bienvenue dans la console Python interactive wxGUI %s"
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr "Taper %s pour plus d'informations relatives aux scripts GRASS."
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr "Taper %s pour ajouter des cartes raster ou vecteur à l'arborescence."
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr "Effacer tout le texte de la console"
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Carte raster ou vecteur <%s> non trouvée"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "Carte raster <%s> ajoutée"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "Carte vectorielle <%s> ajoutée"
@@ -8143,7 +8183,7 @@ msgstr "Importer/Lier des données raster ou vecteur"
 msgid "Raster Map Calculator"
 msgstr "Calculatrice raster"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "Modeleur graphique"
 
@@ -8238,7 +8278,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignorer les modifications et fermer la boîte de dialogue"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Appliquer les modifications et fermer la boîte de dialogue"
 
@@ -8581,16 +8621,16 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr "Boîte de dialogue étiquetage en masse d'altitude"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 msgid "GRASS GIS Vector Digitizer"
 msgstr "SIG GRASS Numérisation de vecteur"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "La numérisation de vecteur n'est pas disponible. %s"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
@@ -8599,12 +8639,12 @@ msgstr ""
 "Carte vectorielle <%s> non trouvée dans le jeux de données courant. Un "
 "nouvelle carte vectorielle peut être crée en fournissant le paramètre '-c'."
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Nouvelle carte vecteur <%s> créée"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Impossible de créer la nouvelle carte vecteur <%s>"
@@ -8812,7 +8852,7 @@ msgstr "Afficher le manuel de la numérisation vectorielle"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Outils additionnels (copier, retourner, connecter, ...)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Annuler"
 
@@ -8888,7 +8928,7 @@ msgstr "La carte vecteur n'est pas 3D. Opération annulée."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Sélectionner une carte vecteur"
 
@@ -8922,10 +8962,6 @@ msgstr ""
 "Type d'entité '%(type)s' non prise en charge. Impossible de modifier la "
 "couche OGR <%(layer)s>."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-msgid "Vector digitizer"
-msgstr "Numérisation de vecteur"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -8952,168 +8988,168 @@ msgstr "Édition de la carte vecteur <%s> terminée avec succès"
 msgid "New vector map"
 msgstr "Nouvelle carte vecteur"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr "Paramètres du serveur "
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Serveur :"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Connecter"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Se connecter au serveur"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 msgid "Show advanced connection settings"
 msgstr "Afficher les paramètres avancés de connexion"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 msgid "Hide advanced connection settings"
 msgstr "Cacher les paramètres avancés de connexion"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 msgid " Layer Manager Settings "
 msgstr "Paramètres du gestionnaire de couches "
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 msgid "Output layer name:"
 msgstr "Nom de la couche en sortie :"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 msgid "Username:"
 msgstr "Nom d'utilisateur :"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr "Mot de passe:"
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 "Pas de source de données définie, les paramètres ne sont pas enregistrés."
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr "Connexion à <%s> ..."
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr "Services web disponibles"
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr "Connecté à <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Impossible de se connecter à <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 msgid "Add web service layer"
 msgstr "Ajouter une couche web service"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Ajouter une couche"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr ""
 "Ajouter les couches web service sélectionnées dans l'arborescence des couches"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 msgid "Web service layer properties"
 msgstr " Propriétés de la couche web service"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr "&Appliquer"
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr "&OK"
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 msgid "Name for output raster map:"
 msgstr "Nom pour la carte raster en sortie : "
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 msgid "Export region"
 msgstr "Exporter une région"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Affichage des cartes"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 msgid "Named region"
 msgstr "Région nommée :"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 "L'emprise et la résolution sont basés sur la géométrie de l'écran "
 "d'affichage."
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 msgid "Extent and resolution are based on computational region."
 msgstr "L'emprise et la résolution sont basées sur la région de calcul."
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 msgid "Extent and resolution are based on named region."
 msgstr "L'emprise et la résolution sont basées sur la région enregistrée."
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 msgid "Overwrite existing raster map"
 msgstr "Écraser la carte raster existante"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 msgid "Choose named region:"
 msgstr "Choisir une région :"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 msgid "&Save layer"
 msgstr "Enregi&strer la couche"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 msgid "Save web service layer as raster map"
 msgstr "Enregistrer la couche web service comme carte raster"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr "Raster de sortie manquant."
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 msgid "Output map can be added only to current mapset."
 msgstr "La carte ne peut être ajoutée qu'au jeu de cartes courant."
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr "La carte <%s> existe déjà."
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, python-format
 msgid "Region <%s> does not exist."
 msgstr "La région <%s> n'existe pas."
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 msgid "Downloading data..."
 msgstr "Téléchargement des données ..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 msgid "Unable to fetch data.\n"
 msgstr "Impossible de récupérer les données.\n"
 
@@ -9217,7 +9253,8 @@ msgid "Choose output layer name.\n"
 msgstr "Choisir le nom de la couche de sorte.\n"
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Nom de la couche"
 
@@ -9230,8 +9267,9 @@ msgid "style"
 msgstr "style"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
-msgid "Add default servers"
-msgstr "Ajouter les serveurs par défaut"
+#, fuzzy
+msgid "Add default"
+msgstr "défaut"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9243,23 +9281,23 @@ msgstr ""
 "serveur par défaut <%s>.\n"
 "On garde le serveur défini par l'utilisateur."
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr "1. Choisir le répertoire des données de GRASS GIS"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr "2. Choisir un Secteur"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr "3. Choisir un jeu de cartes"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr "La base de donnée GRASS contient les secteurs."
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
@@ -9268,7 +9306,7 @@ msgstr ""
 "coordonnées (projection). Un Secteur peut être un projet. Le Secteur "
 "contient des Jeux de données."
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
@@ -9276,27 +9314,29 @@ msgstr ""
 "Les jeux de cartescontiennent les données SIG relatives au projet, tâche "
 "dans un projet, sous-région ou utilisateur."
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 msgid "Start &GRASS session"
 msgstr "Démarrer GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "Parcourir"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr "&Nouveau"
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 msgid "Create a new Mapset in selected Location"
 msgstr "Créer un nouveau jeu de cartes dans le secteur choisi"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr "N&ouveau"
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
@@ -9304,87 +9344,92 @@ msgstr ""
 "Créer un nouveau secteur à l'aide de l'assistant. Une fois qu'un secteur est "
 "créé, la session GRASS sera lancée."
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr "Ren&ommer"
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Renommer le secteur sélectionné"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 msgid "De&lete"
 msgstr "Effacer"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Effacer le secteur sélectionné"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Renommer"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Renommer le jeu de cartes sélectionné"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr "&Effacer"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Effacer le jeu de cartes sélectionné"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "SIG GRASS %s démarrage %s"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Démarrer une session GRASS"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 "Impossible de définir la base de données GRASS. Vérifiez vos paramètres de "
 "langue."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "ERREUR : Secteur <%s> non trouvé\n"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "ERREUR : Jeu de cartes <%s> non trouvé\n"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr "Ligne invalide dans le fichier GISRC (%s) : %s\n"
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, python-brace-format
 msgid "Error: {text}"
 msgstr "Erreur : {text}"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr "Voulez-vous importer <%(name)s> dans le nouveau secteur ?"
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 msgid "Import data?"
 msgstr "Importer les données ?"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr "Voulez-vous créer un nouveau jeux de données ?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
@@ -9393,7 +9438,7 @@ msgstr ""
 "L'import de <%(name)s> a échoué.\n"
 "Raison : %(msg)s"
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
@@ -9402,7 +9447,7 @@ msgstr ""
 "Fichier de données <%(name)s> correctement importé. La région par défaut a "
 "été définie à partir de la carte importée."
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9413,7 +9458,7 @@ msgstr ""
 "\n"
 "Ce jeu de cartes ne peut être renommé."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9424,7 +9469,7 @@ msgstr ""
 "\n"
 "Entrer le nouveau nom :"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9435,7 +9480,7 @@ msgstr ""
 "\n"
 "Le jeu de cartes <%s> existe déjà dans ce secteur."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9446,7 +9491,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9457,7 +9502,7 @@ msgstr ""
 "\n"
 "Le secteur <%s> existe déjà dans la base de données GRASS."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9468,7 +9513,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9479,7 +9524,7 @@ msgstr ""
 "\n"
 "Ce jeu de cartes ne peut être supprimé."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9493,11 +9538,11 @@ msgstr ""
 "TOUTES LES CARTES incluses dans ce jeu de cartes seront DÉFINITIVEMENT "
 "SUPPRIMÉES !"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Impossible d'effacer le jeu de cartes"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9508,11 +9553,11 @@ msgstr ""
 "\n"
 "TOUTES LES CARTES incluses dans ce secteur seront DÉFINITIVEMENT SUPPRIMÉES !"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Impossible d'effacer le secteur"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
@@ -9521,21 +9566,21 @@ msgstr ""
 "Pas de Secteur GRASS trouvé dans '%s'. Créez un nouveau Secteur ou "
 "choisissez un autre dossier de base de données GRASS."
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "Le chemin %s n'existe pas."
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Choisir le répertoire de données SIG"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr "Le jeux de cartes <%s> existe déjà."
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9548,16 +9593,16 @@ msgstr ""
 "\n"
 "Êtes-vous sûr de vouloir créer ce jeu de cartes ?"
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 msgid "Reserved mapset name"
 msgstr "Nom de jeu de cartes réservé"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Impossible de créer le nouveau jeu de cartes : %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9576,11 +9621,11 @@ msgstr ""
 "Souhaitez-vous essayer de supprimer .gislock (notez qu'il vous faut disposer "
 "de droits pour cette opération) et continuer ?"
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr "Ficher de verrouillage détecté"
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9592,7 +9637,7 @@ msgstr ""
 "Si vous avez une autre session GRASS en cours, vous risquez de corrompre vos "
 "données. Vérifiez dans votre gestionnaire de tâches pour en être sûr ..."
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9603,7 +9648,7 @@ msgstr ""
 "\n"
 "Détails : %(reason)s"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
@@ -9613,7 +9658,11 @@ msgstr ""
 "cartes. Merci de n'utiliser que des caractères ASCII sans %(chars)s ni "
 "espaces."
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr "Nom invalide"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
@@ -9624,8 +9673,123 @@ msgstr ""
 "votre dossier personnel. Cliquez sur le bouton Parcourir pour sélectionner "
 "le dossier."
 
+#: ../gui/wxpython/rdigit/dialogs.py:33
+msgid "Create new raster map"
+msgstr "Créer un nouvelle carte raster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:52
+msgid "Name for new raster map:"
+msgstr "Nom de la nouvelle carte raster :"
+
+#: ../gui/wxpython/rdigit/dialogs.py:55
+msgid "Optionally select background raster map:"
+msgstr "Sélectionner une carte raster de fond (optionnel) :"
+
+#: ../gui/wxpython/rdigit/dialogs.py:58
+msgid "New raster map type:"
+msgstr "Type de la nouvelle carte raster :"
+
+#: ../gui/wxpython/rdigit/dialogs.py:87
+msgid "Please specify name for a new raster map"
+msgstr "Merci d'indiquer un nom pour la nouvelle carte raster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"La carte raster <%s> existe déjà dans le jeu de cartes courant.  Voulez-vous "
+"l'écraser ?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+msgid "Please select first the raster map"
+msgstr "Merci de commencer par sélectionner la carte raster"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr "Clic droit pour terminer la surface"
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr "Clic droit pour terminer la ligne"
+
+#: ../gui/wxpython/rdigit/controller.py:280
+msgid "Do you want to save changes?"
+msgstr "Voulez-vous enregistrer les modifications ?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+msgid "Save raster map changes"
+msgstr "Enregistrer les modifications de la carte raster"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+msgid "Failed to create backup copy of edited raster map."
+msgstr ""
+"Échec de création de la copie de sauvegarde de la carte raster en "
+"modification."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+msgid "Failed to create new raster map."
+msgstr "Échec de création de la nouvelle carte raster."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Générer (l'affichage)"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+msgid "Failed to set default color table for edited raster map"
+msgstr ""
+"Échec de définition de la table de couleur par défaut pour la carte raster "
+"modifiée"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+msgid "Digitize area"
+msgstr "Numériser une surface"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+msgid "Digitize line"
+msgstr "Numériser une ligne"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+msgid "Digitize point"
+msgstr "Numériser un point"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+msgid "Save raster map"
+msgstr "Enregistrer la carte raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+msgid "Quit raster digitizer"
+msgstr "Quitter l'outil d'édition raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+msgid "Select raster map"
+msgstr "Sélectionner une carte raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr "Définir la couleur de dessin (pas la couleur des cellules du raster)"
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+msgid "Cell value:"
+msgstr "Valeurs de cellule :"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+"Largeur de la ligne en cours de numérisation ou diamètre d'un point en "
+"unités de carte."
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+msgid "New raster map"
+msgstr "Nouvelle carte raster"
+
 #: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
+#: ../gui/wxpython/menustrings.py:1980
 msgid "&File"
 msgstr "&Fichier"
 
@@ -9646,7 +9810,7 @@ msgid "Load workspace from file"
 msgstr "Charger un espace de travail depuis un fichier"
 
 #: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/modules/colorrules.py:419
 msgid "Save"
 msgstr "Enregistrer"
 
@@ -10394,7 +10558,7 @@ msgstr "Modeleur graphique"
 msgid "Launch Graphical modeler"
 msgstr "Lancer le modeleur graphique"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Exécuter un modèle"
 
@@ -10459,7 +10623,7 @@ msgstr "Lancer un script"
 msgid "Launches script file."
 msgstr "Lancer un fichier de script."
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Fermer"
@@ -10469,8 +10633,8 @@ msgstr "Fermer"
 msgid "Quit wxGUI session."
 msgstr "Quitter la session wxGUI."
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Quitter l'interface graphique GRASS"
@@ -12096,8 +12260,8 @@ msgid "Develop vector map"
 msgstr "Travailler sur une carte vecteur"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Créer un nouvelle carte vecteur"
 
@@ -14215,8 +14379,8 @@ msgstr "Outil d'affichage temporel"
 msgid "Plot temporal values."
 msgstr "Afficher les valeurs temporelles."
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "&Aide"
 
@@ -14330,262 +14494,266 @@ msgstr "Ajouter une boucle / série"
 msgid "Adds loop (series) to model"
 msgstr "Ajouter une boucle (série) au modèle"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "Ajouter une condition"
+
 #: ../gui/wxpython/menustrings.py:1960
-msgid "Adds comment to model"
+msgid "Adds condition (if/else) to model"
+msgstr "Ajouter une condition (if/else) au modèle"
+
+#: ../gui/wxpython/menustrings.py:1962
+msgid "Adds comment to model"
 msgstr "Ajouter un commentaire au modèle"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "Supprimer un objet"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "Supprimer une action/donnée du modèle"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Propriétés du modèle (name, objectif, etc.)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "Supprimer les données intermédiaires"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "Supprimer les données intermédiaires définies dans le modèle"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Exécuter le modèle complet"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Valider le modèle"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Valider le modèle complet"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Afficher les pages HTML du manuel du modeleur graphique"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "À propos du Modeleur Graphique"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "Afficher les informations concernant le Modeleur Graphique"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 msgid "Load instruction file"
 msgstr "Charger un fichier d'instructions"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 msgid "Export instruction file"
 msgstr "Exporter un fichier d'instructions"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 msgid "Export to PostScript"
 msgstr "Exporter en PostScript"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 msgid "Export to PDF"
 msgstr "Exporter en PDF"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr "Lancer la boite de dialogue ps.map"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 msgid "Close Cartographic Composer"
 msgstr "Fermer le Composeur de cartes"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr "&Insérer"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Ajouter ou modifier une trame de carte"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 msgid "Add or edit raster map"
 msgstr "Ajouter ou modifier une carte raster"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 msgid "Add or edit vector map"
 msgstr "Ajouter ou modifier une carte vecteur"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 msgid "Map legend"
 msgstr "Légende de la carte"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 msgid "Add or edit raster and vector legend"
 msgstr "Ajouter ou modifier la légende du raster ou vecteur"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 msgid "Add or edit map info"
 msgstr "Ajouter ou modifier les informations sur la carte"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr "Ajouter ou modifier une barre d'échelle"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr "Ajouter une flèche nord"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Afficher les pages HTML du manuel du Composeur de cartes"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 msgid "About Cartographic Composer"
 msgstr "À propos du Composeur de cartes"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 msgid "Display information about Cartographic Composer"
 msgstr "Afficher les informations concernant le Composeur de cartes"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:42
-#, fuzzy
 msgid ""
 "The Temporal Plot Tool needs the \"matplotlib\" (python-matplotlib) package "
 "to be installed."
 msgstr ""
-"L'outil temporel nécessite que le paquet \"matplotlib\" (python-matplotlib) "
-"soit installé."
 
 #: ../gui/wxpython/tplot/frame.py:95
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Outil d'affichage "
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
 msgstr "Jeux de données temporel en entrée non valide"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr "coordonnées X et Y séparées par des virgules :"
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 "Les coordonnées peuvent être obtenues par exemple par un clic-droit dans la "
 "fenêtre de cartes."
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
-#, fuzzy
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
-msgstr "Jeux de données temporel en entrée non valide"
+msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 msgid "Select attribute column"
 msgstr "Sélectionner la colonne d'attribut"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
 msgstr "Sélectionner la catégorie du vecteur"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr "Pas de connexion entre la carte vecteur {vmap} et la couche {la}"
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, python-format
 msgid "Temporal resolution: %s"
 msgstr "Résolution temporelle : %s"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 #, fuzzy
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr "Format de coordonnées incorrect , devrait être : x,y"
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 msgid "Invalid input coordinates"
 msgstr "Coordonnées en entrée non valides"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 msgid "Invalid input raster dataset"
 msgstr "Jeux de données raster en entrée non valide"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 msgid "Invalid input vector dataset"
 msgstr "Jeux de données vecteur en entrée non valide"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Jeux de données temporel en entrée non valide"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr "Les jeux de données ont des nombres de valeurs différents"
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr "La valeur pour {date} est {val}"
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr "Appuyer sur Suppr pour annuler."
 
@@ -14782,12 +14950,12 @@ msgstr "L'expression SQL a été appliquée"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr "Le driver Dbf ne supporte pas l'usage de fonctions SQL."
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr "chargement des données attributaires <%s> ..."
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Gestionnaire des tables d'attributs GRASS"
 
@@ -14914,7 +15082,7 @@ msgid "Field calculator"
 msgstr "Calculatrice de champs"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr "Ajouter une colonne"
 
@@ -15015,15 +15183,15 @@ msgstr "Supprimer l'(les) enregistrement(s) sélectionné(s)"
 msgid "Delete all records"
 msgstr "Supprimer tous les enregistrements"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Tout sélectionner"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Tout dé-sélectionner"
 
@@ -15220,7 +15388,7 @@ msgid "Driver"
 msgstr "Pilote"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Base de données"
 
@@ -15348,194 +15516,194 @@ msgstr "Impossible de calculer l'écart-type."
 msgid "Field statistics <%s>"
 msgstr "Statistiques de champs <%s>"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr "(Dé)cocher tout"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr "Effacer tout"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr "Entrer les valeurs d'attributs"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr "Mauvais format de couleur. Utiliser le format '0:0:0'"
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Sélectionner une carte vecteur :"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr "Importer ou exporter la table de couleurs :"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 msgid "Choose file to load color table"
 msgstr "Choisir le fichier de table de couleur à charger"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Charger"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 "Entrer un nom de fichier ou cliquer sur Parcourir pour charger une table de "
 "couleur"
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr "Choisir le fichier à enregistrer"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 "Entrer un nom de fichier ou cliquer sur Parcourir pour enregistrer une table "
 "de couleur"
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "Définir"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 msgid "Load color table:"
 msgstr "Charger la table de couleur :"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr "Charger la table de couleur depuis un fichier :"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr "Enregistrer la table de couleur dans le fichier :"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr "Recharger la table par défaut"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Aperçu"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 "Affiche un aperçu de la carte (l'étendue de la fenêtre de cartes actuelle "
 "sera utilisée)."
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr "Pas de règle de couleur valide."
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Le fichier région <%s> existe déjà. Voulez-vous l'écraser ?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr "Rien à enregistrer."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 msgid "Invalid color table format"
 msgstr "Format de table de couleur invalide"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 "Valeur '%s' de règle non valide. Impossible d'appliquer la table de couleur."
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "Créer une nouvelle table de couleur pour une carte raster"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr "Entrer les valeurs de catégories ou les pourcentages"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr "Plage de nombres flottants"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 "Saisir les valeurs de catégorie ou le pourcentage (%(range)s = %(min)d-"
 "%(max)d)"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr "Créer une nouvelle règle de couleur pour une carte vecteur"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr "Entrer les valeurs d'attributs ou les pourcentages :"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr "Entrer les valeurs d'attributs :"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr "Sélectionner les colonnes"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Couche :"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Colonne d'attribut :"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr "Charger les couleurs depuis la colonne :"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr "Enregistrer les couleurs dans la colonne :"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr "Charger la taille depuis la colonne :"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr "Entregistrer la taille dans la colonne :"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr "Charger l'épaisseur depuis la colonne :"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr "Enregistrer l'épaisseur dans la colonne :"
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr "Utiliser la colonne de couleur à la place de la table de couleur :"
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Ajouter la colonne GRASSRGV à la table d'attributs."
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr "Importer ou exporter la table de couleurs"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -15545,11 +15713,11 @@ msgstr ""
 "définie dans le fichier DB. Voulez-vous créer et connecter une nouvelle "
 "table d'attributs ?"
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr "Pas de connexion à une base de données définie"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
@@ -15558,16 +15726,16 @@ msgstr ""
 "La carte sélectionnée <%(map)s> n'est pas dans le jeux de cartes courant <"
 "%(mapset)s>. La table d'attributs ne peut pas être modifiée."
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr "La colonne %s existe déjà."
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr "Patientez, chargement des données attributaires .."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
@@ -15577,29 +15745,29 @@ msgstr ""
 "serait très long et peut provoquer un gel de l'ordinateur. Voulez-vous "
 "continuer ?"
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr "Trop d'enregistrements"
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Saisir les valeurs d'attributs ou les pourcentages %s :"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Saisir les valeurs d'attributs %s :"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr "Sélectionner la colonne où enregistrer les valeurs."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr "Pas de colonne de couleur définie. Opération annulée"
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr "Carte thématique pour la carte vecteur dans la vue 3D"
 
@@ -15651,23 +15819,23 @@ msgstr "Dessiner/rafraîchir le variogramme"
 msgid ":"
 msgstr " : "
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "techniques de krigeage"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Taille de block : "
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "Ajustement automatique du variogramme"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Modèle : "
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Travail en cours ! aucune fonction disponible."
 
@@ -15879,7 +16047,7 @@ msgid "Save expression to file"
 msgstr "Enregistrer l'expression dans un fichier"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "Charger"
 
@@ -15888,7 +16056,7 @@ msgid "Load expression from file"
 msgstr "Charger une expression depuis un fichier"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Copier la chaîne de commande dans le presse-papier"
 
@@ -16050,20 +16218,171 @@ msgstr "Choisir un fichier pour charger une formule"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'{cmd}' copiée dans le presse-papier"
 
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Import multiple"
+
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr "Liste des couches raster"
+
+#: ../gui/wxpython/modules/import_export.py:62
+msgid "List of vector layers"
+msgstr "Liste des couches vecteurs"
+
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr "Liste des couches %s"
+
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr "ckic droit pour (dé)sélectionenr tout"
+
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "Identifiant de couche"
+
+#: ../gui/wxpython/modules/import_export.py:70
+msgid "Name for output GRASS map (editable)"
+msgstr "Nom de la sortie de carte GRASS (mode édition)"
+
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+msgid "Projection match"
+msgstr "Concordance des projections"
+
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Fermer la boîte de dialogue après exécution"
+
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Importer"
+
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Importer les couches sélectionnées"
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr "Paramètres de la source"
+
+#: ../gui/wxpython/modules/import_export.py:127
+#, fuzzy
+msgid "Import settings"
+msgstr "Paramètres de police"
+
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
+msgid "Add linked layers into layer tree"
+msgstr "Ajouter les couches liées dans l'arborescence des couches"
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Ajouter les couches importées dans l'arborescence des couches"
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Lien"
+
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Lier les couches sélectionnées"
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr "Aucune couche sélectionnée. Opération annulée."
+
+#: ../gui/wxpython/modules/import_export.py:397
+msgid "Unable to determine number of raster bands"
+msgstr "Impossible de déterminer le nombre de bandes du raster"
+
+#: ../gui/wxpython/modules/import_export.py:591
+msgid "Define output format for vector data"
+msgstr "Définir le format de sortie pour la carte vectorielle"
+
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
+msgstr "Définir le format de sortie pour les données raster"
+
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
+msgstr "Définir un format externe et fermer la boite de dialogue"
+
+#: ../gui/wxpython/modules/import_export.py:654
+msgid "No data source selected."
+msgstr "Pas de source de données sélectionnée."
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Importer des couches DXF"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Choisir le fichier DXF à importer"
+
+#: ../gui/wxpython/modules/import_export.py:695
+msgid "No layers selected."
+msgstr "Pas de couches sélectionnées."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Projection"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Nom de la sortie de carte GRASS (mode édition)"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Couche à supprimer"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importer les couches sélectionnées"
+
 #: ../gui/wxpython/modules/extensions.py:40
 msgid "Fetch & install extension from GRASS Addons"
 msgstr "Récupérer et installer des extension depuis le dépôt GRASS AddOns"
 
 #: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Dépôt"
+msgid "Repository (leave empty to use the official one)"
+msgstr "Dépôt (laisser vide pour utiliser l'officiel)"
 
 #: ../gui/wxpython/modules/extensions.py:53
 msgid "List of extensions - double-click to install"
 msgstr "Liste des extensions - double-clic pour installer"
 
 #: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
 msgid "Options"
 msgstr "Options"
 
@@ -16099,48 +16418,53 @@ msgstr ""
 "Récupération de la liste des modules à partir du svn GRASS AddOns (soyez "
 "patient)..."
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/extensions.py:202
+#, python-format
+msgid "%d extensions loaded"
+msgstr "%d extentions chargées"
+
+#: ../gui/wxpython/modules/extensions.py:214
 msgid "Install"
 msgstr "Installer"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/extensions.py:217
 msgid "Show manual page"
 msgstr "Afficher le manuel"
 
-#: ../gui/wxpython/modules/extensions.py:315
+#: ../gui/wxpython/modules/extensions.py:316
 #, python-format
 msgid "Unable to load extensions. %s"
 msgstr "Impossible de charger les extensions. %s"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/extensions.py:357
 msgid "Manage installed GRASS Addons extensions"
 msgstr "Gérer les extensions GRASS Addons installées"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/extensions.py:366
 msgid "List of installed extensions"
 msgstr "Liste des extensions installées"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/extensions.py:371
 msgid "Uninstall"
 msgstr "Désinstaller"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/extensions.py:372
 msgid "Uninstall selected Addons extensions"
 msgstr "Désinstaller les extensions sélectionnées"
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/extensions.py:373
 msgid "Reinstall"
 msgstr "Réinstaller"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/extensions.py:374
 msgid "Reinstall selected Addons extensions"
 msgstr "Résinstaller les extensions sélectionnées"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/extensions.py:411
 msgid "No extension selected. Operation canceled."
 msgstr "Pas d'extension sélectionnée. Opération annulée."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -16153,16 +16477,16 @@ msgstr ""
 "\n"
 "Souhaitez-vous vraiment supprimer les extensions <%(ext)s> ?"
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr "Supprimer une extenion"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr "Extension"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr "Merci de patienter, export de l'image en cours ..."
 
@@ -16299,7 +16623,7 @@ msgstr ""
 "."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, python-format
 msgid "Group <%s> not found"
 msgstr "Groupe <%s> non trouvé"
@@ -16332,10 +16656,6 @@ msgstr "Chemin du fichier de signatures :"
 msgid "Export training areas"
 msgstr "Exporter les zones d'entrainement"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-msgid "Export attribute table"
-msgstr "Exporter la table d'attributs"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 msgid "Export attribute table containing computed statistical data"
 msgstr "Exporter la table d'attributs contenant les données de statistiques"
@@ -16370,21 +16690,21 @@ msgstr ""
 "\n"
 "Il n'y a pas encore de classes, voulez-vous en créer une ?"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 msgid "Name of subgroup required"
 msgstr "Nom du sous-groupe requis"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Sous-groupe <%s> non trouvé"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Chargement de la carte raster <%s> ..."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, python-format
 msgid "Loading training map <%s>..."
 msgstr "Chargement de la carte d'entrainement <%s> ..."
@@ -16433,112 +16753,112 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "SIG GRASS Outil de classification supervisée"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 msgid "IClass Toolbar"
 msgstr "Barre d'outils IClass"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 msgid "IClass Misc Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 msgid "Digitization Toolbar"
 msgstr "Outil de numérisation"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 msgid "Preview Display"
 msgstr "Fenêre d'aperçu"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 msgid "Training Areas Display"
 msgstr "Affichage des zones d'entrainement"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr "Ajuster la fenêtre de zones d'entrainement à la fenêtre d'aperçu"
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr "Ajuster la fenêtre d'aperçu à la fenêtre de zones d'entrainement"
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 msgid "Display synchronization ON"
 msgstr "Synchronisation de l'affichage ON"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 msgid "Display synchronization OFF"
 msgstr "Synchronisation de l'affichage OFF"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr "Toutes les modifications seront perdues. Voulez-vous continuer ?"
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Importer une carte vecteur"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Pas de surfaces dans la carte vecteur <%s>.\n"
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 "La carte vecteur <%s> contient des points ou des lignes, ces entités seront "
 "ignorés."
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Impossible d'ouvrir la carte vecteur <%s>"
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Impossible de copier l'entité vectorielle depuis <%s>"
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 msgid "Unable to open temporary vector map"
 msgstr "Impossible d'ouvrir la carte vecteur temporaire."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr "Pas de zones d'entrainement à exporter."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 "%d zones d'entrainement (%d classes) exportées vers la carte vecteur <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 msgid "Failed to create temporary vector map."
 msgstr "Échec de création de la carte vecteurtemporaire."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr "Pas de zones dans la catégorie %s. Catégorie sautée."
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr "Échec de l'analyse."
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr "résultats"
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 msgid "No imagery group selected."
 msgstr "Pas de groupe d'images sélectionné."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
@@ -16546,11 +16866,11 @@ msgstr ""
 "Suite à un changement récent dans les classes, les signatures peuvent être "
 "obsolètes et doivent être recalculées. Voulez-vous continuer ?"
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr "Signatures obsolètes"
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, python-format
 msgid ""
 "A signature file named %s already exists.\n"
@@ -16559,11 +16879,11 @@ msgstr ""
 "Un fichier de signature appelé <%s> existe déjà.\n"
 "Voulez-vous l'écraser ?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 msgid "No imagery group selected. Operation canceled."
 msgstr "Pas de groupe d'images sélectionné. Opération annulée."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
@@ -16572,11 +16892,11 @@ msgstr ""
 "Le groupe <%(group)s> ne contien pas suffisament de fichiers (il y a "
 "%(files)d fichiers). Opération annulée."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 msgid "No areas given. Operation canceled."
 msgstr "Pas de zones données. Opération annulée."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
 "Les entités vectorielles sont en dehors de la couche raster. Opération "
@@ -17048,8 +17368,132 @@ msgstr "Erreur RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "Prograde : %(forw)s, Rétrograde: %(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+#, fuzzy
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr "SIG GRASS - Catalogue de données (expérimental)"
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "Fermer le catalogue de données du SIG GRASS"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Impossible de lire les jeux de cartes du secteur {l}."
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Impossible de lire les cartes du secteur {l}."
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+"Couche {layer} copiée dans le presse-papier; Vous pouvez la coller dans le "
+"jeux de cartes sélectionné."
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "New name"
+msgstr "Nouveau nom"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+msgid "Rename map"
+msgstr "Renommer la carte"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, python-brace-format
+msgid "Editing {name}"
+msgstr "Édition de {name}"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Renommage de {name} ..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Échec de copie de la couche : type invalide."
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "Copy map"
+msgstr "Copier la carte"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr "Couche non copiée : la nouvelle couche a le même nom"
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr "Copie de {name} ..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+"Échec de copie de la couche : cette action est autorisée uniquement dans le "
+"même secteur."
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Voulez-vous vraiment supprimer la carte <{m}> ?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+msgid "Delete map"
+msgstr "Supprimer la carte"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Suppression de {name} ..."
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Affichage de {name} ..."
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+"Échec d'affichage de la couche : pas dans le jeu de données courant ou "
+"couche invalide"
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+msgid "&Copy"
+msgstr "&Copier"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "&Coller"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Afficher la carte"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
@@ -17057,11 +17501,11 @@ msgstr ""
 "Merci d'installer la librairie Pyhton Imaging Library (PIL)\n"
 "pour un meilleur contrôle de la légende et des décorations."
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr "Montrer l'objet texte"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17069,63 +17513,79 @@ msgstr ""
 "Glisser le texte avec la souris en mode pointeur.\n"
 "Double-clic pour modifier les options."
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "legend"
 msgstr "légende"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "scale bar"
 msgstr "barre d'échelle"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "north arrow"
 msgstr "flèche nord"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr "'Copier les coordonnées dans le presse-papier"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+msgid "Hide toolbars"
+msgstr "Cacher les barres d'outils"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+msgid "Show toolbars"
+msgstr "Afficher les barres d'outils"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr "Cacher la barre de status"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Show statusbar"
+msgstr "Afficher la barre de status"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Cacher {overlay}"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 msgid "Resize legend"
 msgstr "Redimensionner la légende"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Zoomer sur les limites de la région enregistrée"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 msgid "Set compulational region from named region"
 msgstr "Définir la région de calcul à partir d'une région enregistrée"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Région <%s> non trouvée. Opération annulée."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr "Enregistrer les limites d'affichage dans un fichier de région"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 msgid "Save computational region to region file"
 msgstr "Enregistrer la région de calcul vers un fichier de région"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Le fichier région <%s> existe déjà. Voulez-vous l'écraser ?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr "La propriété n'existe pas : %s"
@@ -17220,67 +17680,67 @@ msgstr "Unité non reconnue, la mesure a échoué."
 msgid "Area: {area} {unit}\n"
 msgstr "Surface : {area} {unit}\n"
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr "L'objet requis n'est pas défini."
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "Choisir un secteur GRASS et un jeu de cartes"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 msgid "Location or mapset is not defined."
 msgstr "Le secteur ou le jeux de donnée ne sont pas définis."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "Nom du secteur GRASS :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "Nom du jeu de cartes :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "Choisir le jeu de cartes dans le secteur GRASS"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr "Nom du jeu de cartes manquant."
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 msgid "Name of vector map is missing."
 msgstr "Nom de la carte vectorielle manquant."
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Créer la table d'attributs"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Ajouter la carte créée dans l'arborescence des couches"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 msgid "Name of new vector map is missing."
 msgstr "Nom de la nouvelle carte vectorielle manquant."
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Nom pour la nouvelle carte vecteur :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Colonne clé :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Impossible de créer la carte vecteur <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
@@ -17289,7 +17749,7 @@ msgstr ""
 "Colonne clé non valide ou vide.\n"
 "Impossible de créer la carte vecteur <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
@@ -17298,15 +17758,15 @@ msgstr ""
 "La carte vecteur <%s> existe déjà dans le jeu de cartes courant. Voulez-vous "
 "l'écraser ?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Charger une région :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Enregistrer une région :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
@@ -17315,25 +17775,25 @@ msgstr ""
 "guillemets, '/', ''', '@', ',', '=', '*', ou tout autre caractère non alpha-"
 "numérique."
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr "Créer/éditer un groupe d'images"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr "Appliquer les modifications et fermer la boîte de dialogue"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr "Appliquer les modifications"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr ""
 "Fermer la boîte de dialogue, les modifications ne seront pas appliquées"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
@@ -17341,278 +17801,173 @@ msgstr ""
 "Mettez ici une expression régulière. Le caratère '.*' correspond à n'importe "
 "quoi, le caractère '^' correspond au début et '$' à la fin."
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr "Sélectionner un groupe existant ou entrez le nom d'un nouveau groupe :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr "Modifier/créer un sous-groupe"
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 "Sélectionner un sous-groupe existant ou entrez le nom d'un nouveau sous-"
 "groupe :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr "Modèle :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Liste des cartes :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr "Sélectionner la couche et l'ajouter à la liste"
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr "Suprimer la(les) couche(s) sélectionnée(s) de la liste."
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr "Vérifier les cartes du groupe à inclure dans le sous-groupe."
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr "Ajouter les couches sélectionnées dans le groupe"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 "Le groupe <%s> a été modifié, voulez-vous enregistrer les modifications ?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr "Modifications non appliquées"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 "Le sous-groupe <%s> a été modifié, voulez-vous enregistrer les "
 "modifications ?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 msgid "No raster maps selected."
 msgstr "Pas de cartes raster sélectionnées."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr "Pas de modifications à appliquer au groupe <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr "Le groupe <%s> a été créé."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr "Le groupe <%s> a été modifié."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "La création du nouveau groupe <%s> a échoué."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr "La modification du groupe <%s> a échoué."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr "Pas de groupe sélectionné."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 msgid "No subgroup selected."
 msgstr "Pas de sous-groupe sélectionné."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr "Utilisez un nom de carte complet"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr "Type de carte :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr "Interrupteur de sélection"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Jeu de cartes :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Inverser la sélection"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr "Série dynamique (%s)"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Import multiple"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-msgid "List of raster layers"
-msgstr "Liste des couches raster"
+#: ../gui/wxpython/gui_core/dialogs.py:1596
+msgid "Set Map Layer Opacity"
+msgstr "Ajuster la transparence de la carte"
 
 #: ../gui/wxpython/gui_core/dialogs.py:1624
-msgid "List of vector layers"
-msgstr "Liste des couches vecteurs"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, python-format
-msgid "List of %s layers"
-msgstr "Liste des couches %s"
+msgid "opaque"
+msgstr "opaque"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr "ckic droit pour (dé)sélectionenr tout"
+#: ../gui/wxpython/gui_core/dialogs.py:1720
+msgid "Set image size"
+msgstr "Fixer la taille de l'image"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "Identifiant de couche"
+#: ../gui/wxpython/gui_core/dialogs.py:1729
+msgid "Image size"
+msgstr "Taille de l'image"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-msgid "Name for output GRASS map (editable)"
-msgstr "Nom de la sortie de carte GRASS (mode édition)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-msgid "Projection match"
-msgstr "Concordance des projections"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr "Encodage"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Fermer la boîte de dialogue après exécution"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Importer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Importer les couches sélectionnées"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-msgid "Add linked layers into layer tree"
-msgstr "Ajouter les couches liées dans l'arborescence des couches"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Ajouter les couches importées dans l'arborescence des couches"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Lien"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Lier les couches sélectionnées"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr "Aucune couche sélectionnée. Opération annulée."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-msgid "Unable to determine number of raster bands"
-msgstr "Impossible de déterminer le nombre de bandes du raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-msgid "Define output format for vector data"
-msgstr "Définir le format de sortie pour la carte vectorielle"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-msgid "Define output format for raster data"
-msgstr "Définir le format de sortie pour les données raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr "Définir un format externe et fermer la boite de dialogue"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-msgid "No data source selected."
-msgstr "Pas de source de données sélectionnée."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Importer des couches DXF"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Choisir le fichier DXF à importer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-msgid "No layers selected."
-msgstr "Pas de couches sélectionnées."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
-msgid "Set Map Layer Opacity"
-msgstr "Ajuster la transparence de la carte"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2314
-msgid "opaque"
-msgstr "opaque"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2410
-msgid "Set image size"
-msgstr "Fixer la taille de l'image"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2419
-msgid "Image size"
-msgstr "Taille de l'image"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "Gabarit :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr "Utilitaire de requêtes SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr " Clause SQL "
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "Symboles"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr "Répertoire des symboles :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr "Nom du symbole :"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
@@ -17621,140 +17976,161 @@ msgstr ""
 "Impossible d'importer pyGRASS : %s\n"
 "Certaines fonctionnalités ne seront pas accessibles"
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr "Pas d'élément sélectionnable"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Jeu de cartes"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 msgid "Type: "
 msgstr "Type : "
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr "GSelect : objet %s invalide"
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr "Paramètres de sortie"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
-msgstr "Paramètres de la source"
+# "source" au sens de la source d'une rivière
+#: ../gui/wxpython/gui_core/gselect.py:1290
+#, fuzzy
+msgid "Source input"
+msgstr "Point de source"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr "Natif"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Fichier"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Répertoire"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protocole"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr "Type de la sortie"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Type de la source"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "Tous les fichiers"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 msgid "ZIP files"
 msgstr "Fichier ZIP"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 msgid "GZIP files"
 msgstr "Fichiers GZIP"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 msgid "TAR files"
 msgstr "Fichiers TAR"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 msgid "TARGZ files"
 msgstr "Fichiers TARGZ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Fichier :"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "Choisir un fichier à importer"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Choisir le répertoire d'entrée"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr "Extension :"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Choisir un fichier"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr "Type d'entité :"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "simple features"
 msgstr "entités simples"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "topological"
 msgstr "topologiques"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr "Options de création :"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Format :"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Protocole :"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 msgid "No settings available"
 msgstr "Pas de paramètres disponibles"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr "Ligne"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr "Polygone"
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr ""
+"Pas de carte vecteur sélectionnée dans le gestionnaire de couches. Opération "
+"annulée."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+msgid "Input vector map is not selected"
+msgstr "La couche vecteur en entrée n'est pas sélectionnée"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr ""
+"La carte vecteur <%s> en entrée et la carte <%s> sélectionnée dans le "
+"gestionnaire de couches sont différentes . Opération annulée."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "Paramètres utilisateur"
@@ -17880,6 +18256,7 @@ msgid "Module dialog style:"
 msgstr "Style des boîtes de dialogue des modules"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "Fenêtre de carte"
 
@@ -17973,7 +18350,7 @@ msgstr "Couleur de l'entité :"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Transparent"
 
@@ -18267,6 +18644,49 @@ msgstr "est, nord"
 msgid "Nothing found"
 msgstr "Aucun résultat"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+msgid "category"
+msgstr "catégorie"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+msgid "Select features"
+msgstr "Sélectionner des objets"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+msgid "Create a new map"
+msgstr "Créer une nouvelle carte"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr ""
+"L'affichage de la carte sélectionnée <%s> a été désactivé. Opération annulée."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Échec d'interrogation de la carte vecteur <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+msgid "No features selected"
+msgstr "Pas d'objets sélectionnée."
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, python-format
+msgid "Vector map <%s> was created"
+msgstr "La carte vecteur <%s> a créée"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr ""
+"Impossible de créer la nouvelle carte vecteur.\n"
+"\n"
+"Raison: %s"
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Info"
@@ -18307,6 +18727,10 @@ msgstr "Site officiel de GRASS :"
 msgid "Code Revision"
 msgstr "Version du code"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr "Date de compilation"
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "Langue"
@@ -18377,27 +18801,27 @@ msgstr "&Suivant"
 msgid "&Previous"
 msgstr "&Précédent"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Entrer les paramètres pour '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Fermer la fenêtre sans exécuter la commande (Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "Exécuter la commande (Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Afficher la page de manuel pour la commande (Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "Ajouter la carte créée dans l'arborescence des couches"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
@@ -18405,64 +18829,64 @@ msgstr ""
 "Fermer la fenêtre de dialogue quand la commande se termine avec succès. "
 "Modifier ce paramètre dans les Préférences (onglet 'Commande')."
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' copié dans le presse-papier"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Requis"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Optionnel"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr "Paramètré dans le modèle"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr "Cette option est requise"
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[multiple]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "plage de validité"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 "Afficher une représentation graphique de l'emprise temporelle du jeu de "
 "données."
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Choisir %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 msgid "Load and edit content of a file"
 msgstr "Charger et modifier un fichier"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 msgid "&Save as"
 msgstr "Enregi&strer sous"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr "Enregistrer le contenue dans un fichier pour une utilisation future."
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
 msgstr "ou entrer les valeurs manuellement :"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
@@ -18470,15 +18894,15 @@ msgstr ""
 "Entrez le contenu directement au lieu de spécifier un fichier. Un fichier "
 "temporaire sera créé automatiquement."
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Manuel"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr "Rien à charger."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18489,26 +18913,26 @@ msgstr ""
 "\n"
 "Raison : %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr "Enregistrer le fichier sous ..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 msgid "No dataset given."
 msgstr "Pas de jeu de données précisé"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Impossible d'interpréter la commande '%s'"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "%(cmd)s : paramètre '%(key)s' non disponible"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr "Essayez de définir les variables GRASS_ADDON_PATH ou GRASS_ADDON_BASE."
 
@@ -18557,65 +18981,80 @@ msgstr "Modifier l'opacité"
 msgid "Change layer opacity"
 msgstr "Modifier l'opacité de la couche"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr " (...)"
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+"Le nom <%(name)s> n'est pas un nom valide pour une carte GRASS. Merci de "
+"n'utiliser que des caractères ASCII à l'exclusion de %(chars)s et des "
+"espaces."
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr "Recherche plein texte"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 "Taper pour rechercher dans tous les modules. Appuyer sur Entrer pour la "
 "prochaine concordance."
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr "Recherche, merci de taper plus de caractères."
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr "%d modules correspondent"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Profil"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr "Enregistrer les paramètres courants"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr "Supprimer les paramètres actuellement sélectionnés"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr "Charger les paramètres :"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+msgid "Load:"
+msgstr "Charger :"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr "Paramètres <%s> non trouvés"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "Enregistrer les paramètres"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr "Pas de nom fourni, paramètres non enregistrés."
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "Les paramètres <%s> existent déjà. Voulez-vous les écraser ?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr "Pas de paramètres définis. Opération annulée."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr "Impossible d'enregistrer les paramètres"
 
@@ -18717,14 +19156,17 @@ msgstr "Créer un histogramme avec d.histogram"
 msgid "Select graphics tool"
 msgstr "Sélectionner l'outil de graphiques"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "Double-clic ou Ctrl+Entrée pour exécuter le module sélectionné"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 msgid "Run selected module from the tree"
 msgstr "Exécuter le module sélectionné depuis l'arborescence"
 
+#~ msgid "Encoding"
+#~ msgstr "Encodage"
+
 #, fuzzy
 #~ msgid "Temporary map '%s' with result "
 #~ msgstr "La carte <%s> existe déjà."
@@ -18748,14 +19190,24 @@ msgstr "Exécuter le module sélectionné depuis l'arborescence"
 #~ msgid "Exit GUI"
 #~ msgstr "Quitter l'interface graphique"
 
-#~ msgid "Creates a topographic index raster map from an elevation raster map."
-#~ msgstr ""
-#~ "Créer une carte d'index topographique à partir d'une carte raster "
-#~ "d'altitudes."
+#~ msgid "Invalid input data"
+#~ msgstr "Données d'entrée non valides"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Pas de jeux de cartes accessible"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Modification"
 
 #, fuzzy
-#~ msgid "Extract subset of raster3D dataset"
-#~ msgstr "Extraire une partie du jeu de données raster3D"
+#~ msgid "Renaming"
+#~ msgstr "Renommer"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Copie"
 
 #~ msgid "Raster3D calculations"
 #~ msgstr "Calculatrice raster 3D"
@@ -18763,73 +19215,50 @@ msgstr "Exécuter le module sélectionné depuis l'arborescence"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "Statistiques univariées raster3D"
 
-#~ msgid "Add condition"
-#~ msgstr "Ajouter une condition"
-
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Ajouter une condition (if/else) au modèle"
+#~ msgid ""
+#~ "WARNING: Some addons failed when loading. Please consider to update your "
+#~ "addons by running 'g.extension.all -f'.\n"
+#~ msgstr ""
+#~ "ATTENTION : le chargement de certaines extensions à échoué. Merci de "
+#~ "mettre à jour vos extensions en lançant 'g.extension.all -f'.\n"
 
-#~ msgid "Invalid input data"
-#~ msgstr "Données d'entrée non valides"
+#~ msgid "Repository"
+#~ msgstr "Dépôt"
 
-#~ msgid "Hide all toolbars"
-#~ msgstr "Cacher toutes les barres d'outils"
+#~ msgid "Load settings:"
+#~ msgstr "Charger les paramètres :"
 
-#~ msgid "Show all toolbars"
-#~ msgstr "Afficher toutes les barres d'outils"
+#~ msgid "1:"
+#~ msgstr "1:"
 
-#~ msgid "Deleting"
-#~ msgstr "Supprimer"
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Impossible de générer l'aperçu de la carte <%s>."
 
-#, fuzzy
-#~ msgid "Displaying"
-#~ msgstr "Affichage"
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Impossible de générer l'aperçu de la superposition <%s>."
 
-#~ msgid "Reload attribute data (selected layer only)"
-#~ msgstr ""
-#~ "Recharger les données attributaires (couche sélectionnée seulement) "
+#~ msgid "Unpacks a raster map packed with r.pack."
+#~ msgstr "Dépaqueter une carte raster empaquetée avec r.pack."
 
-#~ msgid "Preview is not available probably due to missing Ghostscript."
-#~ msgstr ""
-#~ "L'aperçu n'est pas disponible, probablement parce qu'il manque "
-#~ "Ghostscript."
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Importer une carte vecteur d'une ancienne version de GRASS"
 
-#~ msgid ""
-#~ "Thins non-zero cells that denote linear features in a raster map layer."
+#~ msgid "Historical GRASS vector import (all maps)"
 #~ msgstr ""
-#~ "Réduit les cellules non vides qui définissent une entité linéaire dans "
-#~ "une couche raster."
-
-#~ msgid "Flow computation for massive grids (float version)."
-#~ msgstr "Calcul des flux pour une grille massive (version nombre flottants)."
-
-#~ msgid "Incorrect format of coordinates, should be: x,y"
-#~ msgstr "Format de coordonnées incorrect , devrait être : x,y"
-
-#~ msgid "Datasets have different number ofvalues"
-#~ msgstr "Les jeux de données ont des nombres de valeurs différents"
+#~ "Import de cartes vecteurs ancienne version de GRASS (toutes les cartes)"
 
 #~ msgid ""
-#~ "WARNING: Some addons failed when loading. Please consider to update your "
-#~ "addons by running 'g.extension.all -f'.\n"
-#~ msgstr ""
-#~ "ATTENTION : le chargement de certaines extensions à échoué. Merci de "
-#~ "mettre à jour vos extensions en lançant 'g.extension.all -f'.\n"
-
-#~ msgid "this might not work for multiple bands"
-#~ msgstr "Ceci peut ne pas fonctionner pour des bandes multiples"
-
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
 #~ msgstr ""
-#~ "Ajouter les couches liées dans l'arborescence des couches ({mightNotWork})"
+#~ "Convertir toutes les cartes vectorielles en ancien format GRASS du jeux "
+#~ "de cartes courant vers le nouveau format."
 
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr ""
-#~ "Ajouter les couches importées dans l'arborescence des couches "
-#~ "({mightNotWork})"
+#~ msgid "GPS data import"
+#~ msgstr "Importer des données GPS"
 
-#~ msgid "Unpacks a raster map packed with r.pack."
-#~ msgstr "Dépaqueter une carte raster empaquetée avec r.pack."
+#~ msgid "GEOnet import"
+#~ msgstr "Importer depuis GEOnet"
 
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Dépaqueter une carte vecteur empaquetée avec v.pack."
@@ -18857,31 +19286,6 @@ msgstr "Exécuter le module sélectionné depuis l'arborescence"
 #~ msgid "Common export formats using OGR"
 #~ msgstr "Exporter vers des formats communs avec OGR"
 
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Définir la région de calcul à partir de la(des) carte(s) sélectionnée(s) "
-#~ "(ignore les NULLs)"
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Importer une carte vecteur d'une ancienne version de GRASS"
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr ""
-#~ "Import de cartes vecteurs ancienne version de GRASS (toutes les cartes)"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Convertir toutes les cartes vectorielles en ancien format GRASS du jeux "
-#~ "de cartes courant vers le nouveau format."
-
-#~ msgid "GPS data import"
-#~ msgstr "Importer des données GPS"
-
-#~ msgid "GEOnet import"
-#~ msgstr "Importer depuis GEOnet"
-
 #~ msgid "IDW from raster points (alternate method for sparse points)"
 #~ msgstr ""
 #~ "IDW depuis des points raster (méthode alternative pour points clairsemés)"
@@ -18892,206 +19296,20 @@ msgstr "Exécuter le module sélectionné depuis l'arborescence"
 #~ msgid "Bit pattern comparison "
 #~ msgstr "Comparaison bit à bit"
 
-#~ msgid "Data file <%(name)s> imported successfully."
-#~ msgstr "L'import du fichier <%(name)s> a réussit."
-
-#~ msgid "category"
-#~ msgstr "catégorie"
-
-#~ msgid "Select features"
-#~ msgstr "Sélectionner des objets"
-
-#~ msgid "Create a new map"
-#~ msgstr "Créer une nouvelle carte"
-
-#~ msgid ""
-#~ "Selected map <%s> has been disabled for rendering. Operation canceled."
-#~ msgstr ""
-#~ "L'affichage de la carte sélectionnée <%s> a été désactivé. Opération "
-#~ "annulée."
-
-#, fuzzy
-#~ msgid "Failed to query vector map(s) <%s>."
-#~ msgstr "Échec d'interrogation de la carte vecteur <%s>."
-
-#~ msgid "No features selected"
-#~ msgstr "Pas d'objets sélectionnée."
-
-#~ msgid "Vector map <%s> was created"
-#~ msgstr "La carte vecteur <%s> a créée"
-
-#~ msgid ""
-#~ "Unable to create a new vector map.\n"
-#~ "\n"
-#~ "Reason: %s"
-#~ msgstr ""
-#~ "Impossible de créer la nouvelle carte vecteur.\n"
-#~ "\n"
-#~ "Raison: %s"
-
-#~ msgid "1:"
-#~ msgstr "1:"
-
 #~ msgid "Launches graphical attribute table manager."
 #~ msgstr "Lances le gestionnaire graphique de table attributaire"
 
-#~ msgid "Show statusbar"
-#~ msgstr "Afficher la barre de status"
-
-#, fuzzy
-#~ msgid "Select vector feature(s)"
-#~ msgstr "Sélectionner des objets vectoriels"
-
-#, fuzzy
-#~ msgid "Select features interactively from vector map"
-#~ msgstr ""
-#~ "Sélectionner des zones depuis\n"
-#~ "la carte vecteur superposée"
-
-#~ msgid "Raster digitizer"
-#~ msgstr "Numérisation de raster"
-
-#~ msgid "Unable to create file <%s>"
-#~ msgstr "Impossible de créer le fichier <%s>"
-
-#~ msgid "Raster Digitizer Toolbar"
-#~ msgstr "Barre d'outils de numérisation de raster"
-
 #~ msgid "Total number of frames:"
 #~ msgstr "Nombre total d'images:"
 
-#~ msgid "Please select first the raster map"
-#~ msgstr "Merci de commencer par sélectionner la carte raster"
-
-#~ msgid "Do you want to save changes?"
-#~ msgstr "Voulez-vous enregistrer les modifications ?"
-
-#~ msgid "Save raster map changes"
-#~ msgstr "Enregistrer les modifications de la carte raster"
-
-#~ msgid "Failed to create backup copy of edited raster map."
-#~ msgstr ""
-#~ "Échec de création de la copie de sauvegarde de la carte raster en "
-#~ "modification."
-
-#~ msgid "Failed to create new raster map."
-#~ msgstr "Échec de création de la nouvelle carte raster."
-
-#, fuzzy
-#~ msgid "Rasterizing..."
-#~ msgstr "Générer (l'affichage)"
-
-#~ msgid "Failed to set default color table for edited raster map"
-#~ msgstr ""
-#~ "Échec de définition de la table de couleur par défaut pour la carte "
-#~ "raster modifiée"
-
-#~ msgid "Digitize area"
-#~ msgstr "Numériser une surface"
-
-#~ msgid "Digitize line"
-#~ msgstr "Numériser une ligne"
-
-#~ msgid "Digitize point"
-#~ msgstr "Numériser un point"
-
-#~ msgid "Save raster map"
-#~ msgstr "Enregistrer la carte raster"
-
-#~ msgid "Quit raster digitizer"
-#~ msgstr "Quitter l'outil d'édition raster"
-
-#~ msgid "Select raster map"
-#~ msgstr "Sélectionner une carte raster"
-
-#~ msgid "Cell value:"
-#~ msgstr "Valeurs de cellule :"
-
-#~ msgid "New raster map"
-#~ msgstr "Nouvelle carte raster"
-
-#~ msgid "Create new raster map"
-#~ msgstr "Créer un nouvelle carte raster"
-
-#~ msgid "Name for new raster map:"
-#~ msgstr "Nom de la nouvelle carte raster :"
-
-#~ msgid "Optionally select background raster map:"
-#~ msgstr "Sélectionner une carte raster de fond (optionnel) :"
-
-#~ msgid "New raster map type:"
-#~ msgstr "Type de la nouvelle carte raster :"
-
-#~ msgid "Please specify name for a new raster map"
-#~ msgstr "Merci d'indiquer un nom pour la nouvelle carte raster"
-
-#~ msgid ""
-#~ "Raster map <%s> already exists in the current mapset. Do you want to "
-#~ "overwrite it?"
-#~ msgstr ""
-#~ "La carte raster <%s> existe déjà dans le jeu de cartes courant.  Voulez-"
-#~ "vous l'écraser ?"
-
 #, fuzzy
 #~ msgid "Select space time raster dataset(s):"
 #~ msgstr "Choisir le jeu de données temporel :"
 
-#~ msgid "Data catalog"
-#~ msgstr "Catalogue de données"
-
-#~ msgid "GRASS SVN revision"
-#~ msgstr "Version SVN:"
-
-#~ msgid "Build date"
-#~ msgstr "Date de compilation"
-
-#~ msgid "Build platform"
-#~ msgstr "Plateforme de compilation"
-
-#, fuzzy
-#~ msgid "No mapsets readable"
-#~ msgstr "Pas de jeux de cartes accessible"
-
-#~ msgid "New name"
-#~ msgstr "Nouveau nom"
-
-#~ msgid "Rename map"
-#~ msgstr "Renommer la carte"
-
-#, fuzzy
-#~ msgid "Editing"
-#~ msgstr "Modification"
-
-#, fuzzy
-#~ msgid "Renaming"
-#~ msgstr "Renommer"
-
-#~ msgid "Failed to copy layer: invalid type."
-#~ msgstr "Échec de copie de la couche : type invalide."
-
-#~ msgid "Copy map"
-#~ msgstr "Copier la carte"
-
-#, fuzzy
-#~ msgid "Copying"
-#~ msgstr "Copie"
-
-#~ msgid "Do you really want to delete map <{m}>?"
-#~ msgstr "Voulez-vous vraiment supprimer la carte <{m}> ?"
-
-#~ msgid "Delete map"
-#~ msgstr "Supprimer la carte"
-
-#~ msgid "&Copy"
-#~ msgstr "&Copier"
-
-#, fuzzy
-#~ msgid "&Paste"
-#~ msgstr "&Coller"
-
-#, fuzzy
-#~ msgid "&Display layer"
-#~ msgstr "Afficher la carte"
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr ""
+#~ "Définir la région de calcul à partir de la(des) carte(s) sélectionnée(s) "
+#~ "(ignore les NULLs)"
 
 #~ msgid ""
 #~ "Do you want to import <%(name)s> to the newly created location? The "
@@ -19100,114 +19318,33 @@ msgstr "Exécuter le module sélectionné depuis l'arborescence"
 #~ "Voulez-vous importer <%(name)s> dans le nouveau secteur ? La région par "
 #~ "défaut sera alignée sur la carte importée."
 
-#~ msgid "Row lenght of sampling frame"
-#~ msgstr "Nombre de lignes du cadre d'échantillonage"
-
-#~ msgid "Hide statusbar"
-#~ msgstr "Cacher la barre de status"
-
-#~ msgid "Right click to finish area"
-#~ msgstr "Clic droit pour terminer la surface"
-
-#~ msgid "Right click to finish line"
-#~ msgstr "Clic droit pour terminer la ligne"
-
-#~ msgid "Set drawing color (not raster cell color)"
-#~ msgstr ""
-#~ "Définir la couleur de dessin (pas la couleur des cellules du raster)"
-
-#~ msgid "Layer was not copied: new layer has the same name"
-#~ msgstr "Couche non copiée : la nouvelle couche a le même nom"
-
-#~ msgid ""
-#~ "Failed to copy layer: action is allowed only within the same location."
-#~ msgstr ""
-#~ "Échec de copie de la couche : cette action est autorisée uniquement dans "
-#~ "le même secteur."
-
-#~ msgid "Failed to display layer: not in current mapset or invalid layer"
-#~ msgstr ""
-#~ "Échec d'affichage de la couche : pas dans le jeu de données courant ou "
-#~ "couche invalide"
-
-#~ msgid "Hide toolbars"
-#~ msgstr "Cacher les barres d'outils"
-
-#~ msgid "Show toolbars"
-#~ msgstr "Afficher les barres d'outils"
-
-#~ msgid "Failed to read mapsets from location {l}."
-#~ msgstr "Impossible de lire les jeux de cartes du secteur {l}."
-
-#~ msgid "Failed to read maps from location {l}."
-#~ msgstr "Impossible de lire les cartes du secteur {l}."
-
-#~ msgid ""
-#~ "Layer {layer} copied to clipboard.You can paste it to selected mapset."
-#~ msgstr ""
-#~ "Couche {layer} copiée dans le presse-papier; Vous pouvez la coller dans "
-#~ "le jeux de cartes sélectionné."
-
-#~ msgid "Editing {name}"
-#~ msgstr "Édition de {name}"
-
-#~ msgid "Renaming {name}..."
-#~ msgstr "Renommage de {name} ..."
-
-#~ msgid "Copying {name}..."
-#~ msgstr "Copie de {name} ..."
-
-#~ msgid "Deleting {name}..."
-#~ msgstr "Suppression de {name} ..."
-
-#~ msgid "Displaying {name}..."
-#~ msgstr "Affichage de {name} ..."
+#~ msgid "Data file <%(name)s> imported successfully."
+#~ msgstr "L'import du fichier <%(name)s> a réussit."
 
-#, fuzzy
-#~ msgid "GRASS GIS Data Catalog (experimetal)"
-#~ msgstr "SIG GRASS - Catalogue de données (expérimental)"
+#~ msgid "Add default servers"
+#~ msgstr "Ajouter les serveurs par défaut"
 
-#, fuzzy
-#~ msgid "Close GRASS GIS Data Catalog"
-#~ msgstr "Fermer le catalogue de données du SIG GRASS"
+#~ msgid "this might not work for multiple bands"
+#~ msgstr "Ceci peut ne pas fonctionner pour des bandes multiples"
 
-#~ msgid ""
-#~ "Width of currently digitized line or diameter of a digitized point in map "
-#~ "units."
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
 #~ msgstr ""
-#~ "Largeur de la ligne en cours de numérisation ou diamètre d'un point en "
-#~ "unités de carte."
-
-#~ msgid "Load:"
-#~ msgstr "Charger :"
+#~ "Ajouter les couches liées dans l'arborescence des couches ({mightNotWork})"
 
-#~ msgid "No vector map selected in layer manager. Operation canceled."
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
 #~ msgstr ""
-#~ "Pas de carte vecteur sélectionnée dans le gestionnaire de couches. "
-#~ "Opération annulée."
+#~ "Ajouter les couches importées dans l'arborescence des couches "
+#~ "({mightNotWork})"
 
-#~ msgid "Input vector map is not selected"
-#~ msgstr "La couche vecteur en entrée n'est pas sélectionnée"
+#~ msgid "Digitize"
+#~ msgstr "Numériser"
 
-#~ msgid ""
-#~ "Input vector map <%s> and selected map <%s> in layer manager are "
-#~ "different. Operation canceled."
-#~ msgstr ""
-#~ "La carte vecteur <%s> en entrée et la carte <%s> sélectionnée dans le "
-#~ "gestionnaire de couches sont différentes . Opération annulée."
+#~ msgid "GRASS SVN Revision"
+#~ msgstr "Version SVN :"
 
 #, fuzzy
-#~ msgid "Add default"
-#~ msgstr "défaut"
+#~ msgid "Build Platform"
+#~ msgstr "Plateforme"
 
-#~ msgid "Repository (leave empty to use the official one)"
-#~ msgstr "Dépôt (laisser vide pour utiliser l'officiel)"
-
-#~ msgid "%d extensions loaded"
-#~ msgstr "%d extentions chargées"
-
-#~ msgid "Rendering failed: %s"
-#~ msgstr "Le rendu a échoué : %s"
-
-#~ msgid "Rendering aborted"
-#~ msgstr "Annulation du rendu"
+#~ msgid "Row lenght of sampling frame"
+#~ msgstr "Nombre de lignes du cadre d'échantillonage"
diff --git a/locale/po/grasswxpy_id.po b/locale/po/grasswxpy_id.po
index afe1096..c2b7e44 100644
--- a/locale/po/grasswxpy_id.po
+++ b/locale/po/grasswxpy_id.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_id\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2009-04-10 21:13+0700\n"
 "Last-Translator: Firman Hadi <jalmiburung at gmail.com>\n"
 "Language-Team: deutsch <grass-translations at lists.osgeo.org>\n"
@@ -31,7 +31,7 @@ msgid "Name of raster map:"
 msgstr "Peta raster hasil kode-ulang:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 #, fuzzy
 msgid "Name of vector map:"
 msgstr "Nama untuk peta vektor baru:"
@@ -143,7 +143,7 @@ msgstr "Opsional"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "Layer"
@@ -219,15 +219,15 @@ msgid "Reload"
 msgstr "Muat-ulang"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 #, fuzzy
 msgid "No"
 msgstr "N:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -259,8 +259,8 @@ msgstr "Daftar tabel"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Warna"
@@ -292,9 +292,10 @@ msgstr "Indeks bentuk "
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Lebar:"
 
@@ -302,15 +303,15 @@ msgstr "Lebar:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 #, fuzzy
 msgid "Height:"
 msgstr "Berat:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 #, fuzzy
 msgid "Data"
 msgstr "Basisdata"
@@ -346,14 +347,14 @@ msgid "Comment"
 msgstr "Perintah"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 #, fuzzy
 msgid "Model properties"
 msgstr "Karakteristik"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadata"
 
@@ -365,7 +366,7 @@ msgstr "Perintah"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Ijinkan berkas output untuk menimpa berkas yang ada"
@@ -386,10 +387,10 @@ msgstr "Tutup dialog dan abaikan perubahan"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 #, fuzzy
 msgid "Name:"
 msgstr "Ubah nama "
@@ -457,13 +458,13 @@ msgstr "Peta raster:"
 msgid "3D raster maps"
 msgstr "Peta raster:"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 #, fuzzy
 msgid "Vector maps"
 msgstr "Titik perturbasi"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "tidak diketahui"
@@ -493,25 +494,25 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 #, fuzzy
 msgid "Model parameters"
 msgstr "Parameter medan"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "Hapus yang tersaring"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Jalankan"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 #, fuzzy
 msgid "Variables"
 msgstr "Volume"
@@ -535,7 +536,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Output perintah"
 
@@ -609,7 +610,7 @@ msgid "Choose model file"
 msgstr "Pilih berkas kode EPSG"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr ""
 
@@ -638,7 +639,7 @@ msgstr "Berkas POINTS <%s> berhasil disimpan"
 msgid "Choose file to save current model"
 msgstr "Pilih berkas untuk menyimpan workspace saat ini"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -658,7 +659,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -669,7 +670,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Tambahkan layer perintah"
@@ -703,7 +704,7 @@ msgstr "Silakan tunggu, sedang menampilkan data atribut ..."
 msgid "Writing current settings to model file failed."
 msgstr "Penulisan pengaturan saat ini ke berkas workspace gagal (%s)."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, fuzzy, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Tidak mampu membuka berkas <%s> untuk dibaca."
@@ -712,15 +713,15 @@ msgstr "Tidak mampu membuka berkas <%s> untuk dibaca."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -804,10 +805,10 @@ msgstr "Tetapkan nilai"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Deskripsi"
 
@@ -831,13 +832,13 @@ msgid "string"
 msgstr "Tiling "
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vektor "
 
@@ -852,7 +853,7 @@ msgid "mapset"
 msgstr "Mapset"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "Profil"
@@ -997,7 +998,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 #, fuzzy
 msgid "Select raster map:"
 msgstr "Peta raster hasil kode-ulang:"
@@ -1019,7 +1020,7 @@ msgstr "Hapus berkas elemen basis data dari mapset saat ini milik pengguna."
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 #, fuzzy
@@ -1052,8 +1053,8 @@ msgstr "Label Y-axis:"
 msgid "Label font size (pts):"
 msgstr "Ukuran huruf label (points):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1103,9 +1104,9 @@ msgstr "Pengaturan profil disimpan ke dalam berkas '%s'."
 msgid "No map or image group selected to plot."
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Peringatan"
 
@@ -1133,8 +1134,8 @@ msgstr "Warna garis"
 msgid "Line width"
 msgstr "Lebar garis"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Bentuk garis"
 
@@ -1148,19 +1149,19 @@ msgid "Transect segment marker settings"
 msgstr "Pengaturan penanda segmen transek"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Ukuran"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "Berkas"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Gaya"
 
@@ -1405,19 +1406,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Pengaturan halaman"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Tampilan cetak"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1523,7 +1524,7 @@ msgid "Output"
 msgstr "Output "
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parameter"
 
@@ -1563,8 +1564,7 @@ msgid "Analysing..."
 msgstr "Analisis LIDAR"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Pengaturan"
@@ -1620,7 +1620,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Bersihkan GCP terpilih"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 #, fuzzy
@@ -1647,10 +1647,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 #, fuzzy
 msgid "Close dialog"
 msgstr "Tutup dialog di akhir perintah"
@@ -1672,12 +1673,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Analisis jaringan"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1685,48 +1686,48 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "Hapus berkas elemen basis data dari mapset saat ini milik pengguna."
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Tumpang-susun peta raster"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "Penambahan fitur baru untuk peta vektor <%s> gagal."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1734,89 +1735,89 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Tidak mampu mengeset"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Tumpang-susun peta raster"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Layer peta"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Tambahkan layer"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Kelola layer"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Kelola atau laporkan kategori"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Pilih %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
@@ -1825,121 +1826,121 @@ msgstr ""
 "Ubah nama sebuah kolom dari tabel atribut yang terhubung ke satu peta vektor "
 "tertentu."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Tipe data"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "Buat/bangun-ulang topologi"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "Titik "
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "Titik "
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Klik kiri: titik baru"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Kolom kunci"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "Jalur terdekat"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "Titik "
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "Analisis traveling salesman"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Nama kolom"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Perlihatkan pengaturan "
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Hapus layer peta"
@@ -2125,306 +2126,306 @@ msgstr "Pilih transformasi datum"
 msgid "Select from list of datum transformations"
 msgstr "Daftar transformasi datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Definisikan basisdata GRASS dan Nama Location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Jelajah "
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Direktori Data GIS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Project Location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Pilih Direktori Data SIG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "Nama Location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "Location yang dipilih tidak valid."
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Pilih direktori data GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Location sudah ada dalam basisdata GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Tidak bisa membuat location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Silakan pilih metoda untuk membuat sebuah location baru"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 #, fuzzy
 msgid "Select EPSG code of spatial reference system"
 msgstr "Pilih kode EPSG dari sistem koordinat"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 #, fuzzy
 msgid "Select coordinate system parameters from a list"
 msgstr "Pilih sistem koordinat"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Gunakan sistem koordinat XY"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Pilih proyeksi"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Kode"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Kode proyeksi:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Cari dalam deskripsi:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 #, fuzzy
 msgid "Choose projection parameters"
 msgstr "Pilih proyeksi"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 #, fuzzy
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Pilih datum dengan ellipsoid terkait"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 #, fuzzy
 msgid "Datum with associated ellipsoid"
 msgstr "Pilih datum dengan ellipsoid terkait"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 #, fuzzy
 msgid "Ellipsoid only"
 msgstr "Ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, fuzzy, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Masukkan parameter untuk"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Tentukan datum geodetik"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Kode datum:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Tentukan ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "Basisdata"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Kode ellipsoid:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Pilih berkas georeferensi"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Berkas georeferensi:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "Berkas WKT:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Pilih Kode EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Path ke berkas kode EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Kode EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Pilih berkas kode EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Tidak dapat membaca kode EPSG: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Pilih metoda untuk menentukan parameter georeferensi"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Masukkan karakter parameter PROJ.4"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Transformasi datum dibutuhkan."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Ringkasan"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "Basisdata GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Nama Location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 #, fuzzy
 msgid "Location Title:"
 msgstr "Nama Location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Proyeksi:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "Definisi PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 #, fuzzy
 msgid "custom"
 msgstr "Bebas min."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Apakah Anda hendak membuat GRASS location <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Buat location baru?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Definisikan GRASS Location baru"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, fuzzy, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2433,32 +2434,32 @@ msgid ""
 msgstr ""
 "Tidak mampu membuat location baru. Location <%s> tidak berhasil dibuat."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Location wizard dibatalkan. Location tidak dibuat."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Tidak mampu membuat location baru"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 #, fuzzy
 msgid "New GIS data directory"
 msgstr "Direktori Data GIS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Kode EPSG tidak ada."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "berkas tidak ditemukan"
@@ -2879,7 +2880,16 @@ msgstr "Tambahkan label"
 msgid "Remove selected class"
 msgstr "Ubah nama mapset terpilih"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2890,141 +2900,136 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: type layer<%(type)s> belum didukung."
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "Perintah berhasil dijalankan (%d detik)"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "Deil:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, fuzzy, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Tidak dapat melakukan render layer peta <%s>."
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "Hapus layer peta"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Menampilkan data..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Perbesaran sesuai dengan region standar"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Nilai tidak valid: %s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Tidak dapat memperbesar ke peta raster <%s>"
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Deil:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Tidak dapat memperbesar ke peta raster <%s>"
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Tidak dapat melakukan render layer peta <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Tidak dapat merender overlay <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Menampilkan data..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Render"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Render"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 #, fuzzy
 msgid "Reason"
 msgstr "Region "
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Pesan"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Eksekusi gagal:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 #, fuzzy
 msgid "Error: "
 msgstr "Kesalahan "
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, fuzzy, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Tidak dapat menganalisis kesalahan perintah %s"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, fuzzy, python-format
 msgid "Error in %s"
 msgstr "Kesalahan "
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Tidak mampu membuka berkas <%s> untuk dibaca."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, fuzzy, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -3037,12 +3042,12 @@ msgstr ""
 "\n"
 "Jumlah baris yang diabaikan: %d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr " baris %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -3051,17 +3056,22 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "berkas tidak ditemukan"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 #, fuzzy
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
@@ -3069,16 +3079,16 @@ msgstr ""
 "Harap dicatat bahwa data dibiarkan dalam tahap inkonsisten dan bisa menjadi "
 "rusak"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Perintah dibatalkan"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 #, fuzzy
 msgid "Command finished"
 msgstr "Perintah berhasil dijalankan (%d detik)"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3274,39 +3284,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Peta vektor baru"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, fuzzy, python-format
 msgid "failed to open '%s'"
 msgstr "Tidak dapat membuka berkas"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Tidak mampu membuka berkas <%s> untuk dibaca."
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Perbaharui atribut"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Pilih warna"
 
@@ -3376,12 +3386,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "Tema ikon:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 #, fuzzy
 msgid "Font size:"
@@ -3398,7 +3408,7 @@ msgid "Close dialog and apply changes"
 msgstr "Tutup dialog dan abaikan perubahan"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 #, fuzzy
 msgid "Apply changes"
 msgstr "Simpan perubahan"
@@ -3417,7 +3427,7 @@ msgstr ""
 msgid "Orientation"
 msgstr "Rotasi:"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "Lebar:"
@@ -3470,7 +3480,7 @@ msgid "Map frame settings"
 msgstr "Pengaturan raster"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 #, fuzzy
 msgid "Map frame"
 msgstr "Skala peta"
@@ -3504,7 +3514,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "Pengaturan proyeksi"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "Mapset:"
@@ -3534,7 +3544,7 @@ msgstr "X:"
 msgid "N:"
 msgstr "X:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "Gaya:"
@@ -3549,7 +3559,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "Orde 1 "
@@ -3589,186 +3599,187 @@ msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 msgid "No region selected!"
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 #, fuzzy
 msgid "Raster map"
 msgstr "Peta raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "Peta raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "Peta raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "Tambahkan grup layer"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "Titik "
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "Garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 #, fuzzy
 msgid "areas"
 msgstr "Simpan perubahan"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "Tipe data"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "Bersihkan peta vektor"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Hapus "
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "Karakteristik"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "Pengaturan raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "Pengaturan teks"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "Karakteristik"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "Potongan melintang"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 #, fuzzy
 msgid "Feature type"
 msgstr "ID Fitur"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "centroids"
 msgstr "Tambahkan centroid"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "Edit garis/batas "
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "Potongan melintang"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "Koneksi basisdata tidak didefinisikan dalam berkas DB"
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "Pilih garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Mask"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "Tutup workspace saat ini"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "Warna"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 #, fuzzy
 msgid "Outline"
 msgstr "Garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 #, fuzzy
 msgid "Width (pts):"
 msgstr "Lebar:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3776,574 +3787,574 @@ msgstr "Lebar:"
 msgid "Color:"
 msgstr "Warna: "
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "Warna garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "Tutup dialog di akhir perintah"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "Aturan warna "
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "Bentuk garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Simbolisasi"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "Simbolisasi"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "Berkas WKT:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "Ukuran"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 #, fuzzy
 msgid "size from map table column:"
 msgstr "Hapus semua kolom"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "Skala-ulang "
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "Rotasi:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "Hapus semua kolom"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 #, fuzzy
 msgid "Set width (pts):"
 msgstr "Lebar garis (dalam piksel)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 #, fuzzy
 msgid "multiply width by category value"
 msgstr "Mengubah nilai kategori secara interaktif "
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 #, fuzzy
 msgid "pattern line width (pts):"
 msgstr "Lebar garis (dalam piksel)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "Seri raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "Tampilkan legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "Nama kolom"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "Vektor ke raster "
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "Peta raster hasil kode-ulang:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "Tampilkan legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "Pengaturan lebih lanjut"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "Garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "Pilih garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 #, fuzzy
 msgid "Show vector legend"
 msgstr "Pilih garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "Tumpang-susun peta vektor"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 #, fuzzy
 msgid "Vector map"
 msgstr "Peta vektor baru"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr "Tambahkan label"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 #, fuzzy
 msgid "Position"
 msgstr "Deskripsi"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "Volume"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "Tambah kolom"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "Pengaturan umum"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "Pengaturan umum"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "Background peta vektor"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "panjang"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 #, fuzzy
 msgid "default"
 msgstr "&Tentukan standar"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "Tipe"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "Ubah nama mapset"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "Legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 #, fuzzy
 msgid "Text"
 msgstr "Tes"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Masukkan teks:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "Pengaturan teks"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "Menyorot"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 #, fuzzy
 msgid "text border"
 msgstr "Orde 1 "
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "Klik kiri: titik baru"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "Pengaturan teks"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "Citra"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "Pilih direktori data GRASS:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "Pilih direktori data GRASS:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "Skala dan arah Utara"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "Rotasi:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 #, fuzzy
 msgid "North Arrow"
 msgstr "Skala dan arah Utara"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "Perlihatkan pengaturan "
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Titik "
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "Simbolisasi"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "Pilih dengan kotak"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "Warna garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 #, fuzzy
 msgid "transparent"
 msgstr "Transparans"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "Warna garis"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "Skala dan arah Utara"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "Ukuran"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "Pengaturan simbol"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "Ubah pengaturan "
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "Ubah pengaturan "
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "Lebar garis (dalam piksel)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "label vektor"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4488,97 +4499,97 @@ msgstr ""
 msgid "labels: "
 msgstr "Tambahkan label"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "Tidak mampu membuka berkas <%s> untuk dibaca."
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "Tidak dapat membaca daftar: %s"
@@ -4640,30 +4651,30 @@ msgstr "Render"
 msgid "degree"
 msgstr "Vertex"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "Tidak berhasil memperbaharui peta vektor."
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 #, fuzzy
 msgid "Generate PostScript output"
 msgstr "Utilitas output peta dalam bentuk cetak PostScript"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 #, fuzzy
 msgid "Generate PDF output"
 msgstr "Hasilkan titik"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4680,7 +4691,7 @@ msgstr "Perbesaran sesuai dengan region standar"
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "Hapus location terpilih"
@@ -4695,13 +4706,13 @@ msgstr "Tampilkan grid"
 msgid "Quit Cartographic Composer"
 msgstr "Bantuan GRASS GIS GUI"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "Tambahkan legenda"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "Tambahkan layer"
@@ -4756,22 +4767,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Tidak dapat melakukan render layer peta <%s>."
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "Tidak dapat membaca kode EPSG: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "Mulai tampilan baru"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Tidak dapat membaca daftar: %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Mulai tampilan baru"
@@ -4807,42 +4823,43 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Map display"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "Masuk ke sesi GRASS"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS Map Display: "
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr "Tidak dapat memasukkan rekap baru"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "Toolbar digitasi vektor"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4852,122 +4869,134 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 #, fuzzy
 msgid "Starting 3D view mode..."
 msgstr "Rentang yang valid"
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 #, fuzzy
 msgid "Please wait, loading data..."
 msgstr "Silakan tunggu, sedang menampilkan data atribut ..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "Silakan tunggu, sedang menampilkan data atribut ..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 #, fuzzy
 msgid "Switching back to 2D view mode..."
 msgstr "Rentang yang valid"
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Map Toolbar"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
 #, fuzzy
-msgid "Digitize"
-msgstr "Digitasi garis baru "
+msgid "Vector digitizer"
+msgstr "Toolbar digitasi vektor"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 #, fuzzy
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Tidak ada peta vektor yang dipilih untuk diubah."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 #, fuzzy
 msgid "No raster or vector map layer selected for querying."
 msgstr "Tidak ada peta vektor terpilih untuk kueri."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Tambahkan layer teks"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Perbesaran sesuai dengan region standar"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Perbesaran sesuai dengan region tersimpan"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Set region komputasi berdasarkan tampilan"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Perbesaran ke computational region (g.region)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Set region komputasi berdasarkan tampilan"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Simpan geometri tampilan ke region tertentu"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Set region komputasi berdasarkan tampilan"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Toolbar digitasi vektor"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Render"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Hidupkan/matikan render otomatis"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Tampilkan batas luar komputasi"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Tampilkan batas komputasi"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4978,16 +5007,16 @@ msgstr ""
 "komputasi, region komputasi di dalam region display sebagai sebuah kotak "
 "merah)."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Mode tampilan"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
 msgid ""
 "Align region extent based on display size from center point. Default value "
@@ -4996,17 +5025,17 @@ msgstr ""
 "Batas resolusi display sesuai pengaturan region komputasi. Nilai standar "
 "untuk tampilan peta baru dapat diatur di dalam dialog 'User GUI setting'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "Tampilan region"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Batas resolusi display sesuai pengaturan komputasi"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -5014,68 +5043,68 @@ msgstr ""
 "Batas resolusi display sesuai pengaturan region komputasi. Nilai standar "
 "untuk tampilan peta baru dapat diatur di dalam dialog 'User GUI setting'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Skala peta"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 #, fuzzy
 msgid "Projection"
 msgstr "Proyeksi:"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 #, fuzzy
 msgid "Use defined projection"
 msgstr "Pilih proyeksi"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Geometri tampilan"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Koordinat"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Batas luar"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Perbesaran ke computational region (g.region)"
@@ -5093,111 +5122,126 @@ msgstr "Kueri peta vektor/raster terpilih"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Pilih fitur vektor"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Tampilkan/sembunyikan skala dan arah Utara"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Tampilkan/sembunyikan legenda"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Tampilkan/sembunyikan skala dan arah Utara"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analisa peta"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Pengukuran jarak"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Pengukuran jarak"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Profil peta permukaan"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Buat tabel warna baru menggunakan color rules"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "Buat histogram dari berkas citra atau raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Analisis jaringan"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Tarik dengan tetikus untuk menggeser "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "Tarik atau klik tetikus untuk memperbesar "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "Tarik atau klik tetikus untuk memperkecil "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, fuzzy, python-format
 msgid "Reason: %s"
 msgstr "Region "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 #, fuzzy
 msgid "Vector digitizer not available"
 msgstr "Toolbar digitasi vektor"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Toolbar digitasi vektor"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5989,13 +6033,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "Kuantisasi "
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "Deskripsi"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 #, fuzzy
 msgid "Export"
@@ -6006,12 +6050,12 @@ msgstr "Ekspor MPEG-1"
 msgid "Add time stamp"
 msgstr "Catatan waktu"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Tambahkan grup layer"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "Tambahkan layer teks"
@@ -6035,7 +6079,7 @@ msgid "Sample text"
 msgstr "Transek cuplikan"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -6052,7 +6096,7 @@ msgid "Choose image file"
 msgstr "Pilih berkas workspace"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Tes"
@@ -6083,7 +6127,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Ekspor MPEG-1"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -6092,14 +6136,14 @@ msgstr ""
 msgid "animation_"
 msgstr "Kuantisasi "
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "Koordinat"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "Arah"
@@ -6243,7 +6287,7 @@ msgstr "Tool untuk membersihkan topologi peta vektor."
 msgid "Animation Tool settings"
 msgstr "Kuantisasi "
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6301,22 +6345,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Nilai tidak valid: %s"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Hapus layer peta"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Hapus layer peta"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6356,7 +6400,7 @@ msgstr "Map Toolbar"
 msgid "Animation Toolbar"
 msgstr "Map Toolbar"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 #, fuzzy
 msgid "Misc Toolbar"
@@ -6402,8 +6446,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "ERROR: Mapset <%s> tidak ada"
@@ -6447,7 +6491,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Rektifikasi citra atau raster"
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, fuzzy, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6471,37 +6515,37 @@ msgstr "Tampilkan layer peta ke dalam layer tree"
 msgid "No map series nor space-time dataset is added."
 msgstr "Hasilkan dari basisdata"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, fuzzy, python-format
 msgid "Map <%s> not found."
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6520,11 +6564,11 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6561,14 +6605,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Buat histogram dari berkas citra atau raster"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 #, fuzzy
 msgid "Help"
 msgstr "Bantuan"
@@ -6586,21 +6630,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Pilih sumber mapset:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6629,635 +6673,635 @@ msgstr "X:"
 msgid "Y"
 msgstr "X:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Catatan waktu"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Impor peta raster "
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Impor peta vektor "
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Impor peta raster "
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Skala peta"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Catatan waktu"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Buat/bangun-ulang topologi"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "Analisis LIDAR"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "Kuantisasi "
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 #, fuzzy
 msgid "Perspective:"
 msgstr "Karakteristik"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "Vertex"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "Render"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 #, fuzzy
 msgid "top"
 msgstr "Atas"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "Barat"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 #, fuzzy
 msgid "Reset to default view"
 msgstr "Kembalikan aturan ke standar"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Render"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "Ubah nama mapset"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "Pilih direktori data GRASS:"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 #, fuzzy
 msgid "Surface"
 msgstr "Cost surface"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "Cost surface"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 #, fuzzy
 msgid "Vector"
 msgstr "Vektor"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "raster"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 #, fuzzy
 msgid "Lighting"
 msgstr "Penyorotan"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 #, fuzzy
 msgid "Fringe"
 msgstr "Garis"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 #, fuzzy
 msgid "Mode:"
 msgstr "Mode"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 #, fuzzy
 msgid "fine"
 msgstr "Garis"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 #, fuzzy
 msgid "both"
 msgstr "Utara"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 #, fuzzy
 msgid "Shading:"
 msgstr "Snapping"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 #, fuzzy
 msgid "Set to all"
 msgstr "Kembalikan aturan ke standar"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "Bentuk garis"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "Resolusi Atas-Bawah"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "Gaya"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 #, fuzzy
 msgid "surface"
 msgstr "Cost surface"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "Warna garis"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "Garis"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 #, fuzzy
 msgid "Surface attributes"
 msgstr "Ubah atribut"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 #, fuzzy
 msgid "Transparency"
 msgstr "Transparans"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 #, fuzzy
 msgid "Reset"
 msgstr "Barat"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "Kembalikan aturan ke standar"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "Y coord"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "Y coord"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Rotasi:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "Resolusi Atas-Bawah"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "Volume"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "Transparans"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 #, fuzzy
 msgid "Show vector lines"
 msgstr "Pilih garis"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 #, fuzzy
 msgid "Vector lines"
 msgstr "Pilih garis"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 #, fuzzy
 msgid "Line:"
 msgstr "Garis"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 #, fuzzy
 msgid "width:"
 msgstr "Lebar:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 #, fuzzy
 msgid "color:"
 msgstr "Warna: "
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Pilihan pengaturan"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Tampilan"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "Cost surface"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 #, fuzzy
 msgid "Show vector points"
 msgstr "IDW dari peta vektor"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 #, fuzzy
 msgid "Vector points"
 msgstr "Titik perturbasi"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 #, fuzzy
 msgid "Icon:"
 msgstr "Tema ikon:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 #, fuzzy
 msgid "3D raster map"
 msgstr "Peta raster:"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 #, fuzzy
 msgid "isosurfaces"
 msgstr "Cost surface"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 #, fuzzy
 msgid "Resolution:"
 msgstr "Resolusi Atas-Bawah"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 #, fuzzy
 msgid "List of isosurfaces"
 msgstr "Daftar layer"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 #, fuzzy
 msgid "Show light model"
 msgstr "Garis aliran "
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 #, fuzzy
 msgid "Light source position"
 msgstr "Pilih sumber location:"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 #, fuzzy
 msgid "Brightness:"
 msgstr "Keragaman"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "Warna garis"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "Kelola warna citra"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Tambahkan layer"
@@ -7687,15 +7731,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, fuzzy, python-format
 msgid "Raster map <%s> not found"
 msgstr "ERROR: Mapset <%s> tidak ada"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "ERROR: Mapset <%s> tidak ada"
@@ -7706,13 +7750,15 @@ msgid "3d raster map <%s> not found"
 msgstr "ERROR: Mapset <%s> tidak ada"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 #, fuzzy
 msgid "Import raster data"
 msgstr "Impor peta raster "
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 #, fuzzy
 msgid "Link external raster data"
 msgstr "Tidak berhasil memperbaharui peta vektor."
@@ -7729,13 +7775,15 @@ msgid "Set raster output format"
 msgstr "Pilih jenis huruf"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 #, fuzzy
 msgid "Import vector data"
 msgstr "Impor peta vektor "
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 #, fuzzy
 msgid "Link external vector data"
 msgstr "Tidak berhasil memperbaharui peta vektor."
@@ -7760,7 +7808,7 @@ msgstr "Unduh dan impor data dari server WMS."
 msgid "Add command layer"
 msgstr "Tambahkan layer perintah"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Keluar "
@@ -7874,209 +7922,212 @@ msgstr "Ekspor peta vektor "
 msgid "Export PostGIS"
 msgstr "Ekspor peta vektor "
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Perlihatkan tabel atribut"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Buat RGB "
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "Hapus berkas elemen basis data dari mapset saat ini milik pengguna."
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 #, fuzzy
 msgid "Set color table"
 msgstr "Tabel warna "
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Perlihatkan data atribut"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Mulai edit"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Stop edit"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 #, fuzzy
 msgid "Rebuild topology"
 msgstr "Buat/bangun-ulang topologi"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 #, fuzzy
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Perbesar ke peta terpilih (abaikan NULL)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Pengkodean-ulang secara interaktif "
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogram"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Statistik raster univariat"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Laporan dan statistik."
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Profil"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Tidak mampu membuat profil dari peta raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "Region tidak valid"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Tidak dapat melakukan render layer peta <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Masukkan nama untuk mapset baru:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "Tidak mampu menampilkan histogram dari peta raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Grup layer:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 #, fuzzy
 msgid "Click to edit layer settings"
 msgstr "Klik di sini untuk menyembunyikan pengaturan 3D"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(klik ganda untuk menentuk karakteristik)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 #, fuzzy
 msgid "Please wait, updating data..."
 msgstr "Silakan tunggu, sedang menampilkan data atribut ..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS GIS Attribute Table Manager"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 #, fuzzy
 msgid "Workspace Toolbar"
 msgstr "Workspace "
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 #, fuzzy
 msgid "Data Toolbar"
 msgstr "Map Toolbar"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 #, fuzzy
 msgid "Tools Toolbar"
 msgstr "Map Toolbar"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "Toolbar digitasi vektor"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Map Toolbar"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "Tampilan"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 #, fuzzy
 msgid "Map layers"
 msgstr "Layer peta"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 #, fuzzy
 msgid "Command console"
 msgstr "Perintah berhasil dijalankan (%d detik)"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Potongan melintang"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -8084,211 +8135,212 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "Buat location baru?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
 "Current mapset is <%(mapset)s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 "Apakah Anda hendak menset batas dan resolusi dari region standar sekarang?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Location <%s> telah dibuat"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 #, fuzzy
 msgid "Choose model to run"
 msgstr "Tutup dialog di akhir perintah"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 #, fuzzy
 msgid "Do you want to save changes in the workspace?"
 msgstr "Apakah Anda ingin menyimpan perubahan dalam peta vektor <%s>?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 #, fuzzy
 msgid "Do you want to store current settings to workspace file?"
 msgstr ""
 "Workspace tidak kosong. Apakah Anda hendak menyimpan pengaturan saat ini ke "
 "berkas workspace?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "GRASS GIS Map Display: "
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 #, fuzzy
 msgid "Choose script file to run"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "Set region"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "Nilai koordinat tidak valid. Operasi dibatalkan."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Masukkan nama untuk mapset baru:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Buat mapset baru"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, fuzzy, python-format
 msgid "Current mapset is <%s>."
 msgstr "Ubah mapset saat ini."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Ubah lingkungan kerja "
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Pilih direktori data GRASS:"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Pilih direktori data GRASS:"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "Masuk ke sesi GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "tidak diketahui"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "Proyeksi:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "Pembuat SQL"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 #, fuzzy
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
@@ -8297,61 +8349,61 @@ msgstr ""
 "Workspace tidak kosong. Apakah Anda hendak menyimpan pengaturan saat ini ke "
 "berkas workspace?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 #, fuzzy
 msgid "Create new workspace?"
 msgstr "Buat sebuah berkas workspace baru"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Silakan tunggu, sedang memuat workspace ..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Pilih berkas GRC untuk dimuat"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Pilih berkas untuk menyimpan workspace saat ini"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr "Berkas Workspace <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Simpan workspace"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 #, fuzzy
 msgid "Writing current settings to workspace file failed."
 msgstr "Penulisan pengaturan saat ini ke berkas workspace gagal (%s)."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "Masukkan nama untuk mapset baru:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS Map Display: "
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8359,33 +8411,33 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Tidak dapat memasukkan rekap baru"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Tidak dapat memasukkan rekap baru"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "Tampilkan layer peta ke dalam layer tree"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Tidak dapat melakukan render layer peta <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, fuzzy, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8393,71 +8445,66 @@ msgid ""
 "from layer tree?"
 msgstr "Apakah Anda hendak menghapus layer peta <%s> dari layer tree?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 #, fuzzy
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr "Apakah Anda hendak menghapus layer peta terpilih dari layer tree?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Hapus layer peta"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 #, fuzzy
 msgid "Quit GRASS GUI"
 msgstr "Tentang GRASS GIS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Masuk ke sesi GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "Peta vektor baru"
@@ -8536,7 +8583,7 @@ msgstr "Impor peta raster "
 msgid "Raster Map Calculator"
 msgstr "Kalkulator peta raster 3D"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 #, fuzzy
 msgid "Graphical Modeler"
 msgstr "Bantuan GRASS GIS GUI"
@@ -8639,7 +8686,7 @@ msgid "Ignore changes and close dialog"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 #, fuzzy
 msgid "Apply changes and close dialog"
 msgstr "Terapkan perubahan untuk sesi ini"
@@ -8983,29 +9030,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr "Dialog pelabelan Z"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Toolbar digitasi vektor"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Toolbar digitasi vektor"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, fuzzy, python-format
 msgid "New vector map <%s> created"
 msgstr "Peta vektor baru"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
@@ -9218,7 +9265,7 @@ msgstr "Toolbar digitasi vektor"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Perkakas tambahan (salin, putar, hubungkan, dsb.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Gagalkan"
 
@@ -9298,7 +9345,7 @@ msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Pilih peta vektor"
 
@@ -9327,11 +9374,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Nilai koordinat tidak valid. Operasi dibatalkan."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Toolbar digitasi vektor"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9356,187 +9398,187 @@ msgstr "Tutup dialog di akhir perintah"
 msgid "New vector map"
 msgstr "Peta vektor baru"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 #, fuzzy
 msgid " Server settings "
 msgstr "Pengaturan umum"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 #, fuzzy
 msgid "Server:"
 msgstr "Driver"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 #, fuzzy
 msgid "&Connect"
 msgstr "Koneksikan"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Pengaturan lebih lanjut"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Pengaturan lebih lanjut"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Pengaturan Layer Maager"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Nama tabel"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Ubah nama "
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Tambahkan layer grid"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Tambahkan layer"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Tampilkan layer peta ke dalam layer tree"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Karakteristik"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Nama untuk peta vektor baru:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Set region"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 #, fuzzy
 msgid "Map display"
 msgstr "Tampilan"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Muat region:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Batas resolusi display sesuai pengaturan komputasi"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Set region komputasi berdasarkan tampilan"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "timpa berkas yang ada"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Muat region:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "Hapus layer peta"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Tambahkan layer grid"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "Hapus berkas elemen basis data dari mapset saat ini milik pengguna."
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Peta vektor baru"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Menampilkan data..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Tidak mampu mengeset"
@@ -9651,7 +9693,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 #, fuzzy
 msgid "Layer name"
 msgstr "Nama tabel"
@@ -9668,8 +9711,8 @@ msgstr "Gaya"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Tambahkan grup layer"
+msgid "Add default"
+msgstr "&Tentukan standar"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9678,172 +9721,179 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "Pilih direktori data GRASS:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Pilih tipe peta dan location/mapset"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "Pilih location dan mapset proyek"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Masuk ke sesi GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 #, fuzzy
 msgid "&Browse"
 msgstr "Jelajah "
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 "Buat mapset baru\n"
 "dalam location terpilih"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Ubah nama location terpilih"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Hapus "
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Hapus location terpilih"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Ubah nama"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Ubah nama mapset terpilih"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Hapus "
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Hapus mapset terpilih"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "GRASS GIS Attribute Table Manager"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Masuk ke sesi GRASS"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "ERROR: Location <%s> tidak ada"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Kesalahan "
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Impor peta raster "
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "Apakah Anda hendak membuat GRASS location <%s>?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "Penambahan fitur baru untuk peta vektor <%s> gagal."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, fuzzy, python-format
 msgid ""
 "Current name: %s\n"
@@ -9853,7 +9903,7 @@ msgstr ""
 "Nama saat ini: %s\n"
 "Masukkan nama baru:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9863,7 +9913,7 @@ msgstr ""
 "Tidak dapat membuat sebuah tabel baru. Nama tabel atau nama kolom kunci "
 "tidak dapat ditemukan "
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9871,7 +9921,7 @@ msgid ""
 "%s"
 msgstr "Tidak dapat merubah nama mapset"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9881,7 +9931,7 @@ msgstr ""
 "Tidak dapat membuat sebuah tabel baru. Nama tabel atau nama kolom kunci "
 "tidak dapat ditemukan "
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9889,14 +9939,14 @@ msgid ""
 "%s"
 msgstr "Tidak dapat merubah nama location"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9909,11 +9959,11 @@ msgstr ""
 "\n"
 "SEMUA PETA termasuk yang ada di dalam mapset akan DIHAPUS SECARA PERMANEN!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Tidak dapat menghapus mapset"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9925,33 +9975,33 @@ msgstr ""
 "SEMUA PETA termasuk yang ada di dalam location ini akan DIHAPUS SECARA "
 "PERMANEN!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Tidak dapat menghapus location"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "Pilih Direktori Data SIG:"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9960,17 +10010,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Ubah nama mapset terpilih"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Tidak mampu membuat mapset baru: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9982,12 +10032,12 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 #, fuzzy
 msgid "Lock file found"
 msgstr "berkas tidak ditemukan"
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9995,7 +10045,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -10003,48 +10053,179 @@ msgid ""
 "Details: %(reason)s"
 msgstr "Tidak dapat melakukan perbesar peta vektor <%s>."
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "Region tidak valid"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
+#: ../gui/wxpython/rdigit/dialogs.py:33
 #, fuzzy
-msgid "&File"
-msgstr "Berkas"
-
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Workspace "
+msgid "Create new raster map"
+msgstr "Buat peta vektor baru"
 
-#: ../gui/wxpython/menustrings.py:6
+#: ../gui/wxpython/rdigit/dialogs.py:52
 #, fuzzy
-msgid "Create new workspace"
-msgstr "Buat sebuah berkas workspace baru"
+msgid "Name for new raster map:"
+msgstr "Peta raster hasil kode-ulang:"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr ""
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Pilih peta vektor"
 
-#: ../gui/wxpython/menustrings.py:8
+#: ../gui/wxpython/rdigit/dialogs.py:58
 #, fuzzy
-msgid "Load workspace from file"
-msgstr "Pilih berkas workspace"
+msgid "New raster map type:"
+msgstr "Peta raster hasil kode-ulang:"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/rdigit/dialogs.py:87
 #, fuzzy
-msgid "Save"
+msgid "Please specify name for a new raster map"
+msgstr "Menghitung indeks bentuk pada sebuah peta raster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Tool untuk membersihkan topologi peta vektor."
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Apakah Anda ingin menyimpan perubahan dalam peta vektor <%s>?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Simpan perubahan"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Tidak mampu membuat profil dari peta raster."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Render"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Buat tabel warna baru menggunakan color rules"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Digitasi garis baru "
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Digitasi garis baru "
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Digitasi titik baru "
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Gabungkan peta raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Toolbar digitasi vektor"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Peta raster hasil kode-ulang:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Nilai sel"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "Peta raster:"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+#, fuzzy
+msgid "&File"
+msgstr "Berkas"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Workspace "
+
+#: ../gui/wxpython/menustrings.py:6
+#, fuzzy
+msgid "Create new workspace"
+msgstr "Buat sebuah berkas workspace baru"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:8
+#, fuzzy
+msgid "Load workspace from file"
+msgstr "Pilih berkas workspace"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+#, fuzzy
+msgid "Save"
 msgstr "Simpan perubahan"
 
 #: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
@@ -10881,7 +11062,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr ""
 
@@ -10945,7 +11126,7 @@ msgstr "Deskripsi layer"
 msgid "Launches script file."
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Kode"
@@ -10955,8 +11136,8 @@ msgstr "Kode"
 msgid "Quit wxGUI session."
 msgstr "Keluar GUI"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Tentang GRASS GIS"
@@ -12585,8 +12766,8 @@ msgid "Develop vector map"
 msgstr "Pembangunan peta vektor"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Buat peta vektor baru"
 
@@ -14708,15 +14889,15 @@ msgstr "Tampilkan batas komputasi"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "Mode kategori"
+msgstr "Buat histogram dari berkas citra atau raster"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Tampilkan batas komputasi"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
 msgid "&Help"
 msgstr "Bantuan"
@@ -14848,160 +15029,169 @@ msgstr "Tambahkan grup layer"
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+#, fuzzy
+msgid "Add condition"
+msgstr "Tambah kolom"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Tambahkan layer perintah"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 #, fuzzy
 msgid "Remove item"
 msgstr "Hapus tabel"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 #, fuzzy
 msgid "Remove action/data from model"
 msgstr "Hasilkan dari basisdata"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 #, fuzzy
 msgid "Delete intermediate data"
 msgstr "Hapus yang tersaring"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 #, fuzzy
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Tampilkan halaman manual HTML dari GRASS"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 #, fuzzy
 msgid "Display information about Graphical Modeler"
 msgstr "Hasilkan informasi dasar tentang sebuah layer peta raster."
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Ekspor peta vektor "
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Ekspor peta vektor "
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "Ekspor MPEG-1"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Deskripsi layer"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Bantuan GRASS GIS GUI"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Tambahkan layer peta raster"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Peta raster:"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "Ekspor peta vektor "
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Tambahkan legenda"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Tampilkan layer peta ke dalam layer tree"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Tambah kolom"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Tambahkan layer"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Tambahkan skala garis dan arah utara"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Tampilkan halaman manual HTML dari GRASS"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Bantuan GRASS GIS GUI"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Hasilkan informasi dasar tentang sebuah layer peta raster."
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -15016,114 +15206,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Buat histogram dari berkas citra atau raster"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "Pengaturan raster"
+msgstr "Region tidak valid"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Atribut"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Pilih peta raster 3 (opsional):"
+msgstr "Pilih fitur vektor"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Mode kategori"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Region tidak valid"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Region tidak valid"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Region tidak valid"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Region tidak valid"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -15333,7 +15523,7 @@ msgstr "Pernyataan SQL"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -15341,7 +15531,7 @@ msgstr ""
 "\n"
 "'%s'"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "GRASS GIS Attribute Table Manager"
 
@@ -15468,7 +15658,7 @@ msgid "Field calculator"
 msgstr "Kalkulator peta "
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "Tambah kolom"
@@ -15575,15 +15765,15 @@ msgstr "Hapus rekap terpilih"
 msgid "Delete all records"
 msgstr "Hapus semua rekap"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Pilih semua"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Tidak-pilih semua"
 
@@ -15777,7 +15967,7 @@ msgid "Driver"
 msgstr "Driver"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Basisdata"
 
@@ -15909,216 +16099,216 @@ msgstr "Tidak mampu membuat location baru"
 msgid "Field statistics <%s>"
 msgstr "Statistik umum"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "Tutup dialog di akhir perintah"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "Tutup dialog di akhir perintah"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "Kueri data atribut vektor"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 #, fuzzy
 msgid "Select vector map:"
 msgstr "Pilih peta vektor"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "Tabel warna "
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "Pilih berkas GRC untuk dimuat"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 #, fuzzy
 msgid "Load"
 msgstr "Memuat"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "Pilih berkas GRC untuk dimuat"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "Pengaturan"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Simpan workspace ke dalam berkas"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "Simpan workspace ke dalam berkas"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "Simpan workspace ke dalam berkas"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "Kembalikan aturan ke standar"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 #, fuzzy
 msgid "Preview"
 msgstr "Tampilan cetak"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 #, fuzzy
 msgid "Nothing to save."
 msgstr "Tidak ada yang dapat diekstrak."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Tabel warna "
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 #, fuzzy
 msgid "Create new color table for raster map"
 msgstr "Buat tabel warna baru menggunakan color rules"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 #, fuzzy
 msgid "Enter raster category values or percents"
 msgstr "Mengubah nilai kategori secara interaktif "
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 #, fuzzy
 msgid "fp range"
 msgstr "Rentang yang valid"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "Buat tabel warna baru menggunakan color rules"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "Mengubah nilai kategori secara interaktif "
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "Kueri data atribut vektor"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "Pilih peta vektor"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 #, fuzzy
 msgid "Layer:"
 msgstr "Layer"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 #, fuzzy
 msgid "Attribute column:"
 msgstr "Atribut"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "Simpan workspace ke dalam berkas"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "Hapus semua kolom"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "Serangkaian raster ke dalam volume"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Hapus juga tabel atribut terpaut (%s)"
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "Tabel warna "
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -16127,60 +16317,60 @@ msgstr ""
 "Koneksi basisdata ke peta vektor <%s> tidak didefinisikan dalam berkas DB. "
 "Anda dapat mendefinisikan sebuah koneksi baru dalam tab 'Kelola layer'."
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "Koneksi vektor basisdata"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "Silakan tunggu, sedang menampilkan data atribut ..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Mengubah nilai kategori secara interaktif "
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Kueri data atribut vektor"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "Tool untuk membersihkan topologi peta vektor."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -16238,25 +16428,25 @@ msgstr ""
 msgid ":"
 msgstr "X:"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 #, fuzzy
 msgid "Block size:"
 msgstr "Tema ikon:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 #, fuzzy
 msgid "Model: "
 msgstr "Mode"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -16491,7 +16681,7 @@ msgid "Save expression to file"
 msgstr "Simpan workspace ke dalam berkas"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 #, fuzzy
 msgid "&Load"
 msgstr "Memuat"
@@ -16502,7 +16692,7 @@ msgid "Load expression from file"
 msgstr "Pilih berkas workspace"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 #, fuzzy
 msgid "Copy the current command string to the clipboard"
 msgstr "Salin perintah saat ini ke clipboard"
@@ -16684,122 +16874,298 @@ msgstr "Pilih berkas GRC untuk dimuat"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' berhasil disalin ke clipboard"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:43
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Tabel %s - klik-kanan untuk menghapus rekaman"
+msgid "Multiple import"
+msgstr "Impor WMS"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
+#: ../gui/wxpython/modules/import_export.py:60
 #, fuzzy
-msgid "Options"
-msgstr "Opsional"
+msgid "List of raster layers"
+msgstr "Daftar layer"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:62
+#, fuzzy
+msgid "List of vector layers"
+msgstr "Daftar layer"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "Daftar layer"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+#, fuzzy
+msgid "Layer id"
+msgstr "Layer"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "Nama untuk peta vektor baru:"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "Proyeksi:"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Tutup dialog di akhir perintah"
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
 #, fuzzy
-msgid "Show manual page"
-msgstr "Peta bayangan "
-
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "Tidak mampu mengeset"
+msgid "Import selected layers"
+msgstr "Hapus layer terpilih"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Pengaturan proyeksi"
+msgid "Source settings"
+msgstr "Pengaturan raster"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "Daftar kategori"
+msgid "Import settings"
+msgstr "Jenis huruf"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Uninstall"
-msgstr "Daftar kategori"
+msgid "Add linked layers into layer tree"
+msgstr "Tampilkan layer peta ke dalam layer tree"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Pengaturan proyeksi"
+msgid "Add imported layers into layer tree"
+msgstr "Tampilkan layer peta ke dalam layer tree"
 
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+#, fuzzy
+msgid "&Link"
+msgstr "Garis"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Pengaturan proyeksi"
+msgid "Link selected layers"
+msgstr "Modifikasi layer terpilih"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "No layers selected. Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/modules/extensions.py:427
-#, python-format
-msgid ""
-"List of files to be removed:\n"
-"%(files)s\n"
-"\n"
+#: ../gui/wxpython/modules/import_export.py:397
+#, fuzzy
+msgid "Unable to determine number of raster bands"
+msgstr "Tidak mampu membuat profil dari peta raster."
+
+#: ../gui/wxpython/modules/import_export.py:591
+#, fuzzy
+msgid "Define output format for vector data"
+msgstr "Impor peta vektor "
+
+#: ../gui/wxpython/modules/import_export.py:593
+#, fuzzy
+msgid "Define output format for raster data"
+msgstr "Impor peta vektor "
+
+#: ../gui/wxpython/modules/import_export.py:601
+#, fuzzy
+msgid "Set external format and close dialog"
+msgstr "Terapkan perubahan untuk sesi ini"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Tidak ada layer peta yang dipilih untuk kueri."
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:671
+#, fuzzy
+msgid "Choose DXF file to import"
+msgstr "Pilih berkas GRC untuk dimuat"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Tidak ada layer peta yang dipilih untuk kueri."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Proyeksi:"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Nama untuk peta vektor baru:"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Layer yang akan dihapus"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Hapus layer terpilih"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Tabel %s - klik-kanan untuk menghapus rekaman"
+
+#: ../gui/wxpython/modules/extensions.py:71
+#, fuzzy
+msgid "Options"
+msgstr "Opsional"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Daftar kategori"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Peta bayangan "
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "Tidak mampu mengeset"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Pengaturan proyeksi"
+
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "Daftar kategori"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "Daftar kategori"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Pengaturan proyeksi"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Pengaturan proyeksi"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
+
+#: ../gui/wxpython/modules/extensions.py:428
+#, python-format
+msgid ""
+"List of files to be removed:\n"
+"%(files)s\n"
+"\n"
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 #, fuzzy
 msgid "Remove extension"
 msgstr "Hapus vertex "
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "Proyeksi:"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 #, fuzzy
 msgid "Please wait, exporting image..."
 msgstr "Silakan tunggu, sedang menampilkan data atribut ..."
@@ -16949,7 +17315,7 @@ msgid ""
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "ERROR: Mapset <%s> tidak ada"
@@ -16989,11 +17355,6 @@ msgstr "Simpan berkas sebagai ..."
 msgid "Export training areas"
 msgstr "Ekspor peta vektor "
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Perlihatkan tabel atribut"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -17022,22 +17383,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Peta raster hasil kode-ulang:"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Peta raster hasil kode-ulang:"
@@ -17088,156 +17449,156 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Toolbar Georektifikasi"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Map Toolbar"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Map Toolbar"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Pengaturan digitasi"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Cetak tampilan"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Hapus tampilan"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Tampilan region"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Tampilan region"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 #, fuzzy
 msgid "Import vector map"
 msgstr "Ekspor peta vektor "
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Tidak ada yang dapat diekstrak."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Analisis LIDAR"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Nilai koordinat tidak valid. Operasi dibatalkan."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "Paling tidak dibutuhkan %d GCP. Operasi dibatalkan."
@@ -17733,19 +18094,141 @@ msgstr "Kesalahan RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "Kalkulator Peta GRASS %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Tidak dapat membaca daftar: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Tidak dapat membaca daftar: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Ubah nama "
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Ubah nama mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Rentang yang valid"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Rentang yang valid"
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Tidak dapat membaca daftar: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Salin tabel"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Apakah Anda hendak membuat GRASS location <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Hapus mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Hapus "
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Tampilan"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Salin "
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "Raster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Tampilkan peta"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 #, fuzzy
 msgid "Show text object"
 msgstr "Tampilkan batas luar komputasi"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17753,71 +18236,90 @@ msgstr ""
 "Tarik teks dengan tetikus dalam mode pointer ke dalam posisi.\n"
 "Klik-ganda untuk merubah pilihan"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Legenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Tambahkan layer"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Tambahkan skala garis dan arah utara"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s' berhasil disalin ke clipboard"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Tampilkan peta"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' berhasil disalin ke clipboard"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Perlihatkan pengaturan "
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Tambahkan overlay label grid atau vektor"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Seri raster"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Tampilan ke batas region tersimpan"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Set region komputasi berdasarkan tampilan"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, fuzzy, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Paling tidak dibutuhkan %d GCP. Operasi dibatalkan."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 #, fuzzy
 msgid "Save display extents to region file"
 msgstr "Simpan geometri tampilan ke region tertentu"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Set region komputasi berdasarkan tampilan"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -17915,599 +18417,492 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 #, fuzzy
 msgid "Select GRASS location and mapset"
 msgstr "Pilih location dan mapset proyek"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Komputasi aliran untuk grid masif (versi float)."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 #, fuzzy
 msgid "Name of GRASS location:"
 msgstr "Definisikan GRASS Location baru"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 #, fuzzy
 msgid "Name of mapset:"
 msgstr "Ubah nama mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 #, fuzzy
 msgid "Select mapset in GRASS location"
 msgstr "Pilih tipe peta dan location/mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "Ubah nama mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Nama untuk peta vektor baru:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 #, fuzzy
 msgid "Create attribute table"
 msgstr "Perlihatkan tabel atribut"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 #, fuzzy
 msgid "Add created map into layer tree"
 msgstr "Tampilkan layer peta ke dalam layer tree"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Nama untuk peta vektor baru:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Nama untuk peta vektor baru:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 #, fuzzy
 msgid "Key column:"
 msgstr "Kolom kunci"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr "Berkas region <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Muat region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Simpan region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "Buat/edit grup"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "Terapkan perubahan untuk sesi ini"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "Terapkan perubahan untuk sesi ini"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 #, fuzzy
 msgid "Close dialog, changes are not applied"
 msgstr "Kembalikan pengaturan ke standar dan terapkan perubahan"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "raster"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Daftar peta:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr "Apakah Anda hendak menghapus layer peta terpilih dari layer tree?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "Tampilkan layer peta ke dalam layer tree"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "Simpan perubahan"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, fuzzy, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "Penambahan fitur baru untuk peta vektor <%s> gagal."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "Tipe layer peta:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "Pilih dangle"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
 msgid "Invert selection"
 msgstr "Potongan melintang"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-#, fuzzy
-msgid "Multiple import"
-msgstr "Impor WMS"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Daftar layer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Daftar layer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "Daftar layer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "Layer"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Nama untuk peta vektor baru:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Proyeksi:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Tutup dialog di akhir perintah"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-#, fuzzy
-msgid "Import selected layers"
-msgstr "Hapus layer terpilih"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Tampilkan layer peta ke dalam layer tree"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-#, fuzzy
-msgid "Add imported layers into layer tree"
-msgstr "Tampilkan layer peta ke dalam layer tree"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-#, fuzzy
-msgid "&Link"
-msgstr "Garis"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-#, fuzzy
-msgid "Link selected layers"
-msgstr "Modifikasi layer terpilih"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Tidak mampu membuat profil dari peta raster."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Impor peta vektor "
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Impor peta vektor "
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Terapkan perubahan untuk sesi ini"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Tidak ada layer peta yang dipilih untuk kueri."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-#, fuzzy
-msgid "Choose DXF file to import"
-msgstr "Pilih berkas GRC untuk dimuat"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Tidak ada layer peta yang dipilih untuk kueri."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 #, fuzzy
 msgid "Set Map Layer Opacity"
 msgstr "Tipe layer peta:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 #, fuzzy
 msgid "Image size"
 msgstr "Pengaturan halaman"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS - Map display"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "Pernyataan SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "Simbolisasi"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "Pengaturan simbol"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "Pengaturan simbol"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 #, fuzzy
 msgid "Not selectable element"
 msgstr "Hapus kolom terpilih"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Mapset"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Tipe"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "Pengaturan umum"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "Pengaturan raster"
+msgid "Source input"
+msgstr "Nama kolom"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "Simpan perubahan"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Berkas"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 #, fuzzy
 msgid "Directory"
 msgstr "Arah"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "Output "
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 #, fuzzy
 msgid "All files"
 msgstr "Nilai sel"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Nilai sel"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Nilai sel"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Nilai sel"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Nilai sel"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 #, fuzzy
 msgid "File:"
 msgstr "Berkas"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "Pilih berkas GRC untuk dimuat"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 #, fuzzy
 msgid "Choose input directory"
 msgstr "Pilih direktori data GRASS:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 #, fuzzy
 msgid "Extension:"
 msgstr "Proyeksi:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 #, fuzzy
 msgid "Choose file"
 msgstr "Pilih berkas workspace"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "ID Fitur"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Fitur terdekat"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Buat/bangun-ulang topologi"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "Pilihan pengaturan"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 #, fuzzy
 msgid "Protocol:"
 msgstr "Kode proyeksi:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Toolbar digitasi vektor"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Penyorotan"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "ERROR: Mapset <%s> tidak ada"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -18637,6 +19032,7 @@ msgid "Module dialog style:"
 msgstr "Pengaturan dialog perintah"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 #, fuzzy
 msgid "Map Display"
 msgstr "Tampilan"
@@ -18743,7 +19139,7 @@ msgstr "Warna garis"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Transparans"
 
@@ -19050,6 +19446,49 @@ msgstr "Tes kenormalan"
 msgid "Nothing found"
 msgstr "Tidak ada yang dapat diekstrak."
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Kategori"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Pilih fitur vektor"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Buat mapset baru"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Tidak ada layer peta yang dipilih untuk kueri."
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Peta vektor baru"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Tidak bisa membuat sebuah peta vektor baru <%s>."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr ""
@@ -19097,6 +19536,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr "Proyeksi:"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 #, fuzzy
 msgid "Language"
@@ -19172,112 +19615,112 @@ msgstr "&Keluar"
 msgid "&Previous"
 msgstr "Tampilan cetak"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 #, fuzzy
 msgid "Enter parameters for '"
 msgstr "Masukkan parameter untuk"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 #, fuzzy
 msgid "Run the command (Ctrl+R)"
 msgstr "Jalankan perintah"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 #, fuzzy
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Tampilkan halaman manual dari perintah"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 #, fuzzy
 msgid "Add created map(s) into layer tree"
 msgstr "Tampilkan layer peta ke dalam layer tree"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' berhasil disalin ke clipboard"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Dibutuhkan"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Opsional"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 #, fuzzy
 msgid "Parameterized in model"
 msgstr "Parameter tidak ditemukan: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[berganda]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 #, fuzzy
 msgid "valid range"
 msgstr "Rentang yang valid"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Pilih %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Ubah nama location"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Simpan perubahan"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "Pengkodean-ulang secara interaktif "
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Manual"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "Tidak ada yang dapat diekstrak."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -19285,28 +19728,28 @@ msgid ""
 "Reason: %s"
 msgstr "Tidak dapat membaca daftar: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "Simpan berkas sebagai ..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Tidak ada layer peta yang dipilih untuk kueri."
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Tidak dapat menganalisis kesalahan perintah %s"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -19366,68 +19809,80 @@ msgstr "Ubah tingkat opasitas"
 msgid "Change layer opacity"
 msgstr "Ubah tingkat opasitas"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Profil"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "Pengaturan umum"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "Hapus mapset terpilih"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
+#: ../gui/wxpython/gui_core/widgets.py:1190
 #, fuzzy
-msgid "Load settings:"
-msgstr "Perlihatkan pengaturan "
+msgid "Load:"
+msgstr "Memuat"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "ERROR: Mapset <%s> tidak ada"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "Pengaturan umum"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "Berkas Workspace <%s> sudah ada. Anda ingin menimpanya?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "Tidak ada layer peta terpilih. Operasi digagalkan."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "Tidak mampu mengeset"
@@ -19539,11 +19994,11 @@ msgstr "Skala-ulang dengan histogram"
 msgid "Select graphics tool"
 msgstr "Pilih jenis huruf tampilan standar"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Jalankan perintah"
@@ -19561,6 +20016,26 @@ msgstr "Jalankan perintah"
 #~ msgstr "Keluar GUI"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Region tidak valid"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Toolbar digitasi vektor"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Rentang yang valid"
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "Ubah nama "
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Salin tabel"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Daftar layer"
 
@@ -19577,16 +20052,35 @@ msgstr "Jalankan perintah"
 #~ msgstr "Statistik raster univariat"
 
 #, fuzzy
-#~ msgid "Add condition"
-#~ msgstr "Tambah kolom"
+#~ msgid "Load settings:"
+#~ msgstr "Perlihatkan pengaturan "
+
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Tidak dapat melakukan render layer peta <%s>."
+
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Tidak dapat merender overlay <%s>."
 
 #, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Tampilkan layer peta ke dalam layer tree"
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Impor vektor GRASS versi lama"
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Tampilkan layer peta ke dalam layer tree"
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Impor vektor GRASS versi lama"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "Impor peta vektor GRASS versi lama."
+
+#, fuzzy
+#~ msgid "GPS data import"
+#~ msgstr "Impor GPSBabel GPS"
+
+#~ msgid "GEOnet import"
+#~ msgstr "Impor GEOnet"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -19610,40 +20104,27 @@ msgstr "Jalankan perintah"
 #~ msgstr "Ekspor beragam format dengan OGR"
 
 #, fuzzy
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr "Tentukan region komputasi dari peta terpilih (abaikan NULL)"
-
-#, fuzzy
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Impor vektor GRASS versi lama"
+#~ msgid "Create optimally placed labels"
+#~ msgstr "Buat label"
 
-#, fuzzy
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Impor vektor GRASS versi lama"
+#~ msgid "Bit pattern comparison "
+#~ msgstr "Perbandingan pola bit "
 
 #, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Impor peta vektor GRASS versi lama."
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Attribute Table Manager"
 
 #, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "Impor GPSBabel GPS"
-
-#~ msgid "GEOnet import"
-#~ msgstr "Impor GEOnet"
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Pilih sumber mapset:"
 
 #, fuzzy
-#~ msgid "Create optimally placed labels"
-#~ msgstr "Buat label"
-
-#~ msgid "Bit pattern comparison "
-#~ msgstr "Perbandingan pola bit "
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr "Tentukan region komputasi dari peta terpilih (abaikan NULL)"
 
 #, fuzzy
-#~ msgid "Volume"
-#~ msgstr "Volume"
+#~ msgid "Add default servers"
+#~ msgstr "Tambahkan grup layer"
 
 #~ msgid "Choose project location and mapset"
 #~ msgstr "Pilih location dan mapset proyek"
@@ -19725,9 +20206,27 @@ msgstr "Jalankan perintah"
 #~ msgid "No GRASS location found in '%s'."
 #~ msgstr "Pilih location dan mapset proyek"
 
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "Bangun peta raster"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Tampilkan layer peta ke dalam layer tree"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Tampilkan layer peta ke dalam layer tree"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Impor peta vektor GRASS versi lama."
+
 #~ msgid "Vector to volume"
 #~ msgstr "Vektor ke volume "
 
+#~ msgid "Sites to vector"
+#~ msgstr "Titik ke vektor "
+
 #, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "Kalkulator peta raster 3D"
@@ -19753,11 +20252,9 @@ msgstr "Jalankan perintah"
 #~ msgid "Voxel statistics"
 #~ msgstr "Statistik umum"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Impor peta vektor GRASS versi lama."
-
-#~ msgid "Sites to vector"
-#~ msgstr "Titik ke vektor "
+#, fuzzy
+#~ msgid "Volume"
+#~ msgstr "Volume"
 
 #~ msgid ""
 #~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
@@ -19800,5 +20297,5 @@ msgstr "Jalankan perintah"
 #~ "null."
 
 #, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Attribute Table Manager"
+#~ msgid "Digitize"
+#~ msgstr "Digitasi garis baru "
diff --git a/locale/po/grasswxpy_it.po b/locale/po/grasswxpy_it.po
index 020a34f..d538077 100644
--- a/locale/po/grasswxpy_it.po
+++ b/locale/po/grasswxpy_it.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_it\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2015-03-29 10:08+0100\n"
 "Last-Translator: Luca Delucchi <lucadeluge at gmail.com>\n"
 "Language-Team: Italian <grass-translations at lists.osgeo.org>\n"
@@ -28,7 +28,7 @@ msgid "Name of raster map:"
 msgstr "Nome del raster:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Nome del vettoriale:"
 
@@ -143,7 +143,7 @@ msgstr "Condizione"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr "Etichetta"
 
@@ -212,14 +212,14 @@ msgid "Reload"
 msgstr "Ricarica"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "No"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Si"
 
@@ -248,8 +248,8 @@ msgstr "Disabilitato:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Colore"
@@ -279,9 +279,10 @@ msgstr "Dimensione dello shape"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Larghezza:"
 
@@ -289,14 +290,14 @@ msgstr "Larghezza:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Altezza:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Dati"
 
@@ -327,13 +328,13 @@ msgid "Comment"
 msgstr "Nota"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "Proprietà del modello"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadati"
 
@@ -344,7 +345,7 @@ msgstr "Comandi"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Permetti al file di output di sovrascrivere file esistenti"
@@ -364,10 +365,10 @@ msgstr "Chiudi e ignora i cambiamenti"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Nome:"
 
@@ -431,12 +432,12 @@ msgstr "Mappe raster"
 msgid "3D raster maps"
 msgstr "Mappe raster 3D"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "Mappe Vettoriali"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "sconosciuto"
@@ -465,23 +466,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "Parametri del modello"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr "Elimina dati intermediari quando finito"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Esegui"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Variabile"
 
@@ -502,7 +503,7 @@ msgid "Python editor"
 msgstr "Editor Python"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "output del comando"
 
@@ -565,7 +566,7 @@ msgid "Choose model file"
 msgstr "Scegli file del modello"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "FIle del modello di GRASS (*.gxm)|*.gxm"
 
@@ -592,7 +593,7 @@ msgstr "File <%s> salvato"
 msgid "Choose file to save current model"
 msgstr "Scegli il file dove salvare il modello attuale"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Il file esiste già"
 
@@ -615,7 +616,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "Il modello è valido"
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -628,7 +629,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr "Il modello esportato a <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 msgid "Add comment"
 msgstr "Aggiungi nota"
 
@@ -661,7 +662,7 @@ msgstr "Per favore aspettare, caricamento modello..."
 msgid "Writing current settings to model file failed."
 msgstr "Scrittura delle impostazioni correnti nel file del modello fallita."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Impossibile aprile il file <%s> per scriverlo."
@@ -670,15 +671,15 @@ msgstr "Impossibile aprile il file <%s> per scriverlo."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -753,10 +754,10 @@ msgstr "Valore di default"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Descrizione"
 
@@ -777,13 +778,13 @@ msgid "string"
 msgstr "stringa"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vettoriale"
 
@@ -796,7 +797,7 @@ msgid "mapset"
 msgstr "mapset"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "file"
 
@@ -928,7 +929,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Seleziona raster:"
 
@@ -946,7 +947,7 @@ msgstr "Il gruppo selezionato dev'essere nel mapset attuale"
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -977,8 +978,8 @@ msgstr "label dell'asse Y:"
 msgid "Label font size (pts):"
 msgstr "Dimensione del font delle etichette (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1024,9 +1025,9 @@ msgstr ""
 msgid "No map or image group selected to plot."
 msgstr "Nessuna mappa o gruppi di immagini selezionate da disegnare."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Attenzione"
 
@@ -1052,8 +1053,8 @@ msgstr "Colore della linea"
 msgid "Line width"
 msgstr "Grandezza linea"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Stile della linea"
 
@@ -1067,18 +1068,18 @@ msgid "Transect segment marker settings"
 msgstr "Opzioni di evidenziazione del segmento del transetto"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Dimensione"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr "Riempimento"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Stile"
 
@@ -1316,19 +1317,19 @@ msgid "Under Construction"
 msgstr "In costruzione"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Impostazione della pagina"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Anteprima di stampa"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1422,7 +1423,7 @@ msgid "Output"
 msgstr "Uscita"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parametri"
 
@@ -1455,8 +1456,7 @@ msgid "Analysing..."
 msgstr "Analizzando..."
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Impostazioni"
@@ -1507,7 +1507,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Colore per punti selezionati:"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1530,10 +1530,11 @@ msgid "Maximum number of results in history:"
 msgstr "Numero massimo di risultati nella cronologia"
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Chiudi dialogo"
 
@@ -1553,11 +1554,11 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 msgid "Unable to perform analysis."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1567,45 +1568,45 @@ msgstr ""
 "La mappa temporanea %s esiste già.\n"
 "Si vuole continuare e  sovrascriverla?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 msgid "Map can be created only in current mapset"
 msgstr "Le mappe possono essere create solo nel mapset corrente"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Il vettoriale %s esiste già. Si vuole sovrascriverlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 msgid "Overwrite vector map"
 msgstr "Sovrascrivere vettoriale"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 msgid "Creation of turntable failed."
 msgstr "Creazione della tabella delle svolte fallita."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr "Scegliere il punto '%s' e '%s'."
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr "Scegliere almeno due punti"
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1615,11 +1616,11 @@ msgstr ""
 "La mappa temporanea %s esiste già.\n"
 "Si vuole continuare e  sovrascriverla?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
@@ -1628,20 +1629,20 @@ msgstr ""
 "La mappa temporanea %s esiste già.\n"
 "Si vuole continuare e  sovrascriverla?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 msgid "Unable to use ctypes. \n"
 msgstr "Impossibile usare ctypes. \n"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
@@ -1650,51 +1651,51 @@ msgstr ""
 "La mappa temporanea %s esiste già.\n"
 "Si vuole continuare e  sovrascriverla?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 msgid "Overwrite map"
 msgstr "Sovrascrivi mappa"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Il vettoriale '%s' non esiste."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 msgid "Vector map was not chosen."
 msgstr "Vettoriale non è stato scelto."
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 msgid "arc layer"
 msgstr "Layer degli archi"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 msgid "node layer"
 msgstr "Layer dei nodi"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 msgid "turntable layer"
 msgstr "Layer con la tabella delle svolte"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 msgid "unique categories layer"
 msgstr "Layer delle categorie uniche"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, python-format
 msgid "Choose existing %s.\n"
 msgstr "Scegli l'esistente %s.\n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
@@ -1703,112 +1704,112 @@ msgstr ""
 "La colonna scelta %s non esiste nella tabella degli attributi del layer '%s' "
 "del vettoriale '%s'.\n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "usare"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 msgid "type"
 msgstr "tipologia"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr "topologia"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 msgid "Start point"
 msgstr "Punto iniziale"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 msgid "End Point"
 msgstr "Punto finale"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 msgid "new point"
 msgstr "nuovo punto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr "arco"
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 msgid "Node cost column:"
 msgstr "Colonna dei costi per i nodi:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr "nodo"
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, python-format
 msgid "Shortest path %s"
 msgstr "Percorso più breve %s "
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
 msgstr "Punto finale"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr "Commesso viaggiatore %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr "Portata massima %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 msgid "Source point"
 msgstr "Punto di partenza"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 msgid "Sink point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "Crea albero di Streiner per la rete e i punti scelti %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 msgid "Overwrite map layer"
 msgstr "Sovrascrivere layer"
 
@@ -1982,54 +1983,54 @@ msgstr "Seleziona trasformazione datum"
 msgid "Select from list of datum transformations"
 msgstr "Seleziona dalla lista dei datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Definisci il nome del GRASS Database e della Location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Naviga"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Cartella del Database GIS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Location del progetto"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Nome della location nella directory GIS Data"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "Nome della Location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr "Titolo della location opzionale, si può lasciare questo campo bianco."
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
@@ -2038,24 +2039,24 @@ msgstr ""
 "Il nome <%(name)s> non è un nome valido per la location. Si prega di usare "
 "solo caratteri ASCII %(chars)s and spazi."
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr "Nome della location non valido"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Scegli la cartella dei dati GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "La location esiste già nel Database GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Impossibile creare la location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
@@ -2063,190 +2064,190 @@ msgstr ""
 "Il titolo della location è limitato ad una sola linea e 256 caratteri. Il "
 "resto del testo sarà ignorato"
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Scegli il metodo per creare una nuova location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "Seleziona il codice EPSG del sistema di coordinate"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr "Leggi proiezioni e datum da un file georiferito"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr "Leggi proiezione e datum da un Well Known Text (WKT) .prj file"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "Seleziona il sistema di coordinate da una lista"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr "Specifica proiezione e datum utilizzando parametri PROJ.4"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Crea un sistema di coordinate cartesiane generico (XY) "
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Scegli la proiezione"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Codice"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Codice della proiezione:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Cerca nella descrizione:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Impossibile leggere la lista: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Scegli i parametri della proiezione"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Seleziona datum con elissoide associato (prossima pagina)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Datum con elissoide associato"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Solo Elissoide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "È necessario inserire un valore per %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Inserisci parametro per la proiezione %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Specifica il datum geodetico"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Elissoide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Codice del datum:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Specifica l'elissoide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 msgid "Earth based"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Codice dell'elissoide:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Seleziona file georeferenziato"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "File georeferenziato:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr "Seleziona il file .prj Well Known Text (WKT)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 msgid "WKT .prj file:"
 msgstr "File WTK .prj:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Scegli codice EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Percorso al file dei codici EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "codice EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Scegli file dei codici EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Impossibile leggere i codici EPSG: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Scegli metodo per specificare i parametri di georeferenziazione"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Inserisci la stringa dei parametri PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Trasformazione del datum richiesta."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Sommario"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "Database di GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Nome della Location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Nome della Location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Proiezione:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
@@ -2254,25 +2255,25 @@ msgstr ""
 "Definizione PROJ.4:\n"
 " (non-definitivo)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "personalizzato"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Vuoi creare la GRASS location <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Crea nuova location?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Definisci la nuova GRASS location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2283,15 +2284,15 @@ msgstr ""
 "\n"
 "Dettagli: %(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Location wizard cancellato. Location non creato"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Impossibile creare nuova location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2300,16 +2301,16 @@ msgstr ""
 "Location <%(loc)s> sarà creata nella cartella dei dati GIS <%(dir)s>. Dovrai "
 "cambiare la cartella dei dati GIS nella schermata di avvio di GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "Nuova cartella del Database GIS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Codice EPSG mancante."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr "File <%s> non trovato."
@@ -2724,7 +2725,16 @@ msgstr "Aggiungi classe"
 msgid "Remove selected class"
 msgstr "Rimuove la classe selezionata"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2737,42 +2747,64 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: la tipologia di layer <%(type)s> non è supportata"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr "Comando '%s' fallito\n"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr "Dettagli: %s\n"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Layer '%s' non supportato"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "ERRORE: Rendering fallito. Dettagli: %s"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Visualizzazione &"
+
+#: ../gui/wxpython/core/render.py:615
+msgid "Downloading data "
+msgstr "Scaricamento dati"
+
+#: ../gui/wxpython/core/render.py:625
+msgid "Rendering & "
+msgstr "Visualizzazione &"
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr "Visualizzazione..."
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 "Comando di GRASS %s non trovato. Impossibile avviare la finestra per "
 "visualizzare mappe"
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 "Errore: Impossibile aprire '%(file)s'. Motivazione: %(ret)s. Usciti da "
 "wxGUI.\n"
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, python-format
 msgid ""
 "\n"
@@ -2781,32 +2813,32 @@ msgstr ""
 "\n"
 "ERRORE: Impossibile leggere il file WIND: %s\n"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Dimensione mappa non valida: %d,%d\n"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Impossibile zoomare al raster <%s>."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Dettagli:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Impossibile zoomare al vettoriale <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Impossibile fare zoom al raster 3d <%s>."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
@@ -2814,66 +2846,39 @@ msgstr ""
 "Impossibile ottenere l'estensione geografica attuale. Uscita forzata da "
 "wxGUI. Per favore eseguire manualmente g.region per risolvere il problema"
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "ERRORE: Rendering fallito. Dettagli: %s"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Impossibile visualizzare layer <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Impossibile visualizzare <%s> sovrapposto"
-
-#: ../gui/wxpython/core/render.py:1376
-msgid "Downloading data "
-msgstr "Scaricamento dati"
-
-#: ../gui/wxpython/core/render.py:1386
-msgid "Rendering & "
-msgstr "Visualizzazione &"
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr "Visualizzazione..."
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Motivo"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Messaggio"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Esecuzione fallita:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Errore:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Impossibile eseguire il comando '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Errore in %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Impossibile aprile il file <%s> per leggerlo"
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2887,12 +2892,12 @@ msgstr ""
 "\n"
 "Numero delle linee saltate: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr "riga %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2905,31 +2910,36 @@ msgstr ""
 "\n"
 "Opzioni <%(opt)s>: la lettura dallo standard input non è supportata da wxGUI"
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "File <%s> non trovato."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d sec"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr "%(min)d min %(sec)d sec"
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 "Attenzione notare che i dati sono inconistenti e possono essere corrotti"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Comando interrotto"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Comando terminato"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3118,22 +3128,22 @@ msgstr "Errore di sintassi: %s"
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Vettoriale <%(map)s>:%(msg)s\n"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "Impossibile aprire '%s'"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr "ERRORE: Impossibile determinare la versione di GRASS. Dettagli: %s"
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Impossibile aprile il file '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
@@ -3142,17 +3152,17 @@ msgstr ""
 "%s: linea saltata - impossibile leggere '%s'\n"
 "Ragione: %s\n"
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Chiave duplicata: %s\n"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Impossibile creare il file '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Seleziona colore"
 
@@ -3219,11 +3229,11 @@ msgstr ""
 "del foglio"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr "Font:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Dimensione del font:"
@@ -3237,7 +3247,7 @@ msgid "Close dialog and apply changes"
 msgstr "Chiudi finestra e applica i cambiamenti"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Applica cambiamenti"
 
@@ -3254,7 +3264,7 @@ msgstr "Formato"
 msgid "Orientation"
 msgstr "Orientamento"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr "Larghezza"
 
@@ -3299,7 +3309,7 @@ msgid "Map frame settings"
 msgstr "Impostazioni della cornice della mappa"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr "Cornice della mappa"
 
@@ -3327,7 +3337,7 @@ msgstr "Scala e centro della mappa fissi"
 msgid "Map selection"
 msgstr "Seleziona la mappa"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "Mappa:"
 
@@ -3351,7 +3361,7 @@ msgstr "E:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr "Scala:"
 
@@ -3365,7 +3375,7 @@ msgstr "Risoluzione massima della mappa (dpi):"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "Bordo"
 
@@ -3401,165 +3411,166 @@ msgstr "Nessuno mappa selezionata!"
 msgid "No region selected!"
 msgstr "Nessuna regione selezionato"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr "Scala o centro della mappa invalido!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Mappa Raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr "Scegli mappa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr "nessuna mappa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr "raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "Creare prima la cornice della mappa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr "Aggiungi mappa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr "punti"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr "linee"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "aree"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr "Tipo dei dati"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Aggiungi"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr "Gestisci vettoriali"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 "La mappa vettoriale più in alto nella lista delle mappe si sovrappone alle "
 "altre"
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "Su"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr "Giù"
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Elimina"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr "Proprietà..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr "Impostazioni raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr "Impostazioni vettoriali"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr "%s proprietà"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr "Selezione dati"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr "Tipologia delle feature"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr "centroidi"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr "confini"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr "Selezione del layer"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "La connessione al database non è definito nel DB file"
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr "Seleziona layer:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr "lista di categorie (esempio 1,3,5-7)"
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Mask"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr "Usa la maschera corrente"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr "Colori"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr "Contorno"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr "disegna linee esterna"
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr "Larghezza (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3567,221 +3578,221 @@ msgstr "Larghezza (pts):"
 msgid "Color:"
 msgstr "Colore:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr "Colore del riempimento"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr "Scegli colore:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr "colore dalla colonna della tabella della mappa:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 "Nessun modifica per il colore di riempimento dalla colonna della tabella"
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr "Colore delle linee:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr "Dimensione e stile"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Simbologia"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr "simbolo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr "eps file:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr "Scrivi il nome del file o clicca su naviga per scegliere un file"
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr "Scegli un file"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr "dimensione:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr "dimensione per la colonna della tabella della mappa:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr "scala:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr "Rotazione"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr "simboli ruotati:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr "senso orario in gradi:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr "dalla colonna della tabella della mappa:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr "Imposta larghezza (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr "Multiple larghezza dal valore della categoria"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr "Scegli stile della linea:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr "Scegli fine della linea:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr "Stile"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr "usa stile:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr "Scegli file dello stile:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr "dimensione della linea dello stile (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr "fattore di scala dello stile:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr "Legenda dei raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr "Mostra legenda raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr "Sorgente raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr "raster corrente"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr "seleziona raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr "%(rast)s: tipologia %(type)s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr "Tipologia della legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr "Legenda discreta (mappe categoriali)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr "Legenda con gradiente colori continui (mappe decimali)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr "Impostazioni avanzate della legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr "disegna rettangolo \"no data\""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr "spuntare all'interno della tabella"
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "intervallo"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr "Legenda dei vettoriali"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr "Mostra legenda vettoriale"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr "Sorgente vettoriale"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr "Scegli vettoriali e ordinali nella legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Mappa vettoriale"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "Modifica etichetta"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "disegna bordo intorno alla legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr "Dimensione e posizione"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Posizione"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr "Lascia il campo editato vuoto, usare i valori di default."
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
@@ -3789,15 +3800,15 @@ msgstr ""
 "Larghezza del simbolo colorato (per le linee)\n"
 "davanti al testo della legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr "Colonne:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr "ampiezza colonne:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
@@ -3805,35 +3816,35 @@ msgstr ""
 "La distanza che separa la colonna tra l'angolo sinistro\n"
 "di due colonne in una legenda multicolonna"
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr "Edita l'etichetta della legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr "Nessuno raster selezionato!"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr "Nessun raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
 msgstr "Impostazioni delle informazioni della mappa"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr "Impostazioni del colore"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr "usa colore del bordo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr "usa colore dello sfondo: "
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
@@ -3841,137 +3852,137 @@ msgstr ""
 "Le unità dell'attuale proiezione non sono supportate,\n"
 " saranno usati i metri"
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr "Unità non supportate"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr "Lunghezza:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr "La lunghezza della barra della scale è impostata in unità della mappa"
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr "L'altezza della barra della scale è la reale altezza nel foglio"
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr "default"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr "Tipologia:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr "Numero dei segmenti:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr "Aggiungi a tutto le etichette"
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr "segmenti"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr "testo di sfondo trasparente"
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr "La lunghezza della barra della scale non è definita"
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "Testo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Inserisci testo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr "Effetti del testo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr "testo di sfondo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr "evidenziato"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "bordo del testo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr "Offset"
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr "orizzontale (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr "verticale (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr "Punto di riferimento"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr "Rotazione del testo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr "ruota testo (senso orario)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr "Nessun testo inserito!"
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr "Immagine"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr "Scegli una directory:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr "Scegli una directory con immagini"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr "Scala e ruota"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr "Angolo di rotazione (gradi):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr "Rotazione senso antiorario in gradi"
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
@@ -3979,100 +3990,100 @@ msgstr ""
 "PIL\n"
 "mancante"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr "Impossibile leggere il file %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr "dimensione: %(width)s x %(height)s pts"
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
 msgstr "Nessuna immagine selezionata."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr "Freccia del nord"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr "Impostazioni Freccia del Nord"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr "Calcola convergenza"
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Punto"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr "Simbolo"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr "Seleziona simbolo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "trasparenza"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr "Colore riempimento:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr "Dimensione e rotazione"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr "Dimensione (pt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr "Dimensione del simbolo in punti"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr "Impostazioni rettangolo"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr "Impostazioni linea"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr "Larghezza linea in punti"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 msgid "Vector labels"
 msgstr "Etichette vettoriali"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4215,7 +4226,7 @@ msgstr "Clicca e trascina per ridimensionare l'oggetto"
 msgid "labels: "
 msgstr "etichette:"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
@@ -4224,12 +4235,12 @@ msgstr ""
 "Impossibile aprile il file\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr "File delle istruzione sarà caricato con la seguente regione: %s\n"
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
@@ -4238,23 +4249,23 @@ msgstr ""
 "La regione non può essere impostata\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr "Impossibile leggere l'istruzione %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
@@ -4263,7 +4274,7 @@ msgstr ""
 "La scala è stata cambiata, vecchio valore: %(old)s\n"
 "nuovo valore: %(new)s"
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
@@ -4272,7 +4283,7 @@ msgstr ""
 "Lettura delle istruzioni fallita %s.\n"
 "Usare 1:25000."
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
@@ -4282,7 +4293,7 @@ msgstr ""
 "%(old2)s\n"
 "nuovi valori: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
@@ -4292,7 +4303,7 @@ msgstr ""
 "%(old1)s %(old2)s\n"
 "nuovi valori: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
@@ -4301,13 +4312,13 @@ msgstr ""
 "Impossibile leggere l'istruzione %(file)s.\n"
 "Formato sconosciuto %(for)s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr "Impossibile leggere l'istruzione %s"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
@@ -4316,8 +4327,8 @@ msgstr ""
 "Caratteri alla posizione %s non sono supportate dalla codifica ISO-8859-1 "
 "(Latin 1) che è richiesta dal modulo ps.map."
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
@@ -4325,7 +4336,7 @@ msgstr ""
 "Non tutti i caratteri sono supportati dalla codifica ISO-8859-1 (Latin 1) "
 "che è richiesto dal modulo ps.map."
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4379,27 +4390,27 @@ msgstr "metro"
 msgid "degree"
 msgstr "grado"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr "Impossibile eseguire `ps.map -b`"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr "Genera file di testo con le istruzione per la stampa"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr "Carica file di testo con le istruzione per la stampa"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr "Genera output PostScript"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "Genera output PDF"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "Specifica dimensione del foglio, margini e orientazione"
 
@@ -4415,7 +4426,7 @@ msgstr "Zoom all'estensione massima"
 msgid "Click and drag to place map frame"
 msgstr "Clicca e muovi per posizionare il "
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr "Deselezionare oggetto"
 
@@ -4427,12 +4438,12 @@ msgstr "Mostre preview"
 msgid "Quit Cartographic Composer"
 msgstr "Esci dal Compositore Cartografico"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr "Informazioni mappa"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr "Barra della scala"
 
@@ -4487,22 +4498,27 @@ msgstr ""
 "C'è un problema di stampa.\n"
 "La stampante è impostata correttamente?"
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, python-format
 msgid "Unsupported command %s."
 msgstr "Comando non supportato %s."
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr "Avvia nuovo map display <%s>..."
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Impossibile creare il file '%s'\n"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Ferma map display <%s>..."
@@ -4536,30 +4552,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Map display"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 msgid "Unable to get GRASS version\n"
 msgstr "Impossibile ottenere la versione di GRASS\n"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "Vista 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4568,11 +4585,11 @@ msgstr ""
 "Impossibile avviare il digitalizzatore vettoriale wxGUI.\n"
 "Motivazione: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr "Barra degli strumenti per il digitalizzatore vettoriale"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4587,112 +4604,122 @@ msgstr ""
 "\n"
 "Dettagli: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Avviando la visualizzazione 3D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Per favore aspettare, caricamento dei dati..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr "Per favore aspettare, scaricamento dei dati..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr "Ritorna alla modalità di visualizzazione 2D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Barra degli strumenti della mappa"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Digitalizza"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+msgid "Vector digitizer"
+msgstr "Digitalizzatore vettoriale"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
+msgstr "Nessun layer selezionato. Operazione cancellata."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr "d.to.rast può essere usato solo in modalità 2D."
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr "Impossibile eseguire d.to.rast:\n"
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Niente da visualizzare (mappa vuota). Operazione cancellata"
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Vettoriale <%s> aperto per l'editing - saltato."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 "Nessun raster o mappa vettoriale selezionata per interrogazione del layer."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Aggiungi livello testo"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Zoom alla region di default"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Zoom alla region salvata"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 msgid "Set computational region extent from display"
 msgstr "Imposta la regione computazionale dall'estensione del display"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 msgid "Set computational region extent interactively"
 msgstr "Imposta la region computazionale interattivamente"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 msgid "Set computational region from named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Salva le geometrie del display alla regione denominata"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 msgid "Save computational region to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+msgid "Raster Digitizer Toolbar"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Visualizza"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Abilita/disabilita auto-visualizzazione"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Mostra regione computazionale"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Mostra l'estensione computazionale"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4702,33 +4729,33 @@ msgstr ""
 "region). Visualizza in blu la regione interna alla regione computazionale, "
 "in rosso la regione esterna)."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Modalità di visualizzazione"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr "Allinea l'estensione della regione basata sulla dimensione del display"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr "Risoluzione del display"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr ""
 "Forza la risoluzione del display all'impostazione della regione "
 "computazionale"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4737,43 +4764,43 @@ msgstr ""
 "computazionale. Il valore di default della nuova mappa visualizzata può "
 "essere impostato nella finestra  di dialogo 'Impostazioni GUI utente'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Scala mappa"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Vai a"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "Proiezione non definita (controlla le impostazioni)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "Errore nella proiezione (controlla le impostazioni)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Proiezione"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "Usa proiezione definita"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
@@ -4781,24 +4808,24 @@ msgstr ""
 "Riproietta le coordinate visualizzate nella barra di stato. La proiezione "
 "può essere definita nella GUI preferenze (tab 'Proiezione')"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MASK"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Visualizza geometrie"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Coordinate"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Estensione"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 msgid "Computational region"
 msgstr "Regione computazionale"
 
@@ -4813,98 +4840,108 @@ msgid "Query selected raster/vector map(s)"
 msgstr "Interroga raster/vettoriale selezionate"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
+#, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Selezione elemento vettoriale"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Seleziona mappe raster/vettoriali:"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
 msgid "Show/hide scale bar"
 msgstr "Mostra/nascondi barra della scala"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Mostra/nascondi legenda"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 msgid "Show/hide north arrow"
 msgstr "Mostra/nascondi freccia del nord"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analizza mappa"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "Misurazione, profili, istogrammi, ..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Misura distanza"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 msgid "Measure area"
 msgstr "Misura area"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Profilo della mappa della superfice"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 msgid "Create bivariate scatterplot of raster maps"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr "Crea istogramma di raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 msgid "Vector network analysis tool"
 msgstr "Strumento per l'analisi di reti vettoriali"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr "Ruota la scena 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Trascina col mouse per ruotare la scena 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 "Trascina col mouse, tieni pigiato Ctrl per modi differenti o Shift per "
 "accelerare"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr "Clicca col mouse per effetuare zoom"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr "Clicca col mouse per diminuire lo zoom"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "Vista 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "Visualizzazione 3D non disponibile"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Motivazione: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "Digitalizzatore vettoriale non disponibile"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
@@ -4914,6 +4951,10 @@ msgstr ""
 "aggiustato). Controllare per le versioni di GRASS più aggiornate. Comunque "
 "si può usera \"v.digit\" dal menu Sviluppo Vettoriale."
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+msgid "Raster digitizer"
+msgstr "Digitalizzatore raster"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 msgid "Create new configuration file for r.li modules"
 msgstr "Crea un nuovo file di configurazione per i moduli r.li"
@@ -5627,12 +5668,12 @@ msgstr ""
 msgid "Export animation"
 msgstr "Esporta animazione"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr "Decorazioni"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "Esporta"
@@ -5641,11 +5682,11 @@ msgstr "Esporta"
 msgid "Add time stamp"
 msgstr "Aggiunge timestamp"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 msgid "Add image"
 msgstr "Aggiungi immagine"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr "Aggiungi testo"
 
@@ -5666,7 +5707,7 @@ msgid "Sample text"
 msgstr "Testo di esempio"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5681,7 +5722,7 @@ msgid "Choose image file"
 msgstr "Scegli un file d'immagine"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr "Testo:"
 
@@ -5709,7 +5750,7 @@ msgstr "AVI"
 msgid "Export to:"
 msgstr "Esporta a:"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr "Prefisso del file:"
 
@@ -5717,13 +5758,13 @@ msgstr "Prefisso del file:"
 msgid "animation_"
 msgstr "animazione_"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr "Formato del file:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Cartella:"
 
@@ -5849,7 +5890,7 @@ msgstr "Prima selezionare mappe o dataset."
 msgid "Animation Tool settings"
 msgstr "Impostazioni strumento animazione"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -5903,20 +5944,20 @@ msgstr ""
 msgid "Invalid"
 msgstr "Invalido"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 msgid "Rendering map layers"
 msgstr "Visualizzando i layers"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 msgid "Overlaying map layers"
 msgstr ""
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Directory {t} non rimossa."
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -5951,7 +5992,7 @@ msgstr "Barra degli strumenti principale"
 msgid "Animation Toolbar"
 msgstr "Barra degli strumenti per l'animazione"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Barra degli strumenti generale"
@@ -5995,8 +6036,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Dataset spazio temporale <%s> non trovato."
@@ -6036,7 +6077,7 @@ msgstr "%(start)s %(unit)s"
 msgid "Exporting animation, please wait..."
 msgstr "Esportando l'animazione, attendere..."
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6059,37 +6100,37 @@ msgid "No map series nor space-time dataset is added."
 msgstr ""
 "Non è stato aggiunta nessuna serie di mappe o dataset spazio temporali."
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Mappa <%s> non trovata."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6107,11 +6148,11 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr "Ferma"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr "Pausa"
 
@@ -6147,14 +6188,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "GRASS GIS Strumento Timeline"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Disegna"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Aiuto"
 
@@ -6170,21 +6211,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Dataset <%s> non trovato nel database temporale."
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6211,61 +6252,61 @@ msgstr "X"
 msgid "Y"
 msgstr "Y"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, python-format
 msgid "Time [%s]"
 msgstr "Tempo [%s]"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Dataset spazio temporale raster: %s"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Dataset spazio temporale vettoriale: %s"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Dataset spazio temporale raster 3D: %s"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, python-format
 msgid "Mapset: %s"
 msgstr "Mapset: %s"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, python-format
 msgid "Map name: %s"
 msgstr "Nome della mappa: %s"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr "Tempo inizio: %s"
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, python-format
 msgid "End time: %s"
 msgstr "Tempo fine: %s"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 msgid "WARNING: invalid topology"
 msgstr "ATTENZIONE: topologia non valida"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
@@ -6273,44 +6314,44 @@ msgstr ""
 "\n"
 "Premere Del per cancellare."
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Vista"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Aspetto"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr "Analisi"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr "Animazione"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr "Vista di controllo"
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr "Regola la distanza e la prospettiva angolare del punto di vista"
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Prospettiva:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr "Ruota il piano della superficie dall'orizzontale"
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr "Rotazione:"
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
@@ -6318,23 +6359,23 @@ msgstr ""
 "Regola l'altezza della vista dalla superficie (l'angolo di visione è "
 "regolato automaticamente per mantenere lo stesso centro della vista)"
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "esagerazione verticale"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr "Vista:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr "qui"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
@@ -6342,262 +6383,262 @@ msgstr ""
 "Permette di selezionare un punto sulla superficie che diventa il nuovo "
 "centro della vista. Clicca sul bottone e poi sulla superficie."
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr "centro"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr "Reimposta la vista all'impostazione di default del centro della vista."
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "sopra"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr "resetta"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Resetta alla visualizzazione di default"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr "Aspetto dell'Immagine"
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr "Registra"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr "Esegui"
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr "Numero totali di frame :"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr "Salva sequenza di immagini"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr "Scegli una directory per le immagini"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr "I file generati saranno chiamati come: prefix_1.ppm, prefix_2.ppm, ..."
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Superficie"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr "Superficie costante"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vettoriale"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "Raster 3D"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Evidenziazione"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr "Bordo"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr "Piani di taglio"
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Tipologia:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "scabro"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "liscio"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "entrambi"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Ombreggiatura:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "piano"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "Imposta a tutti"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Usa impostazioni di disegno per tutte le superfici caricate"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr "Modalità grezza:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr "risoluzione:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr "stile:"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "linea"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "superficie"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 msgid "Change wire color"
 msgstr "Cambia colore della linea"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr "Modalità fine:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Attributi della superficie"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Trasparenza"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Luminosità"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "mappa"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "deseleziona"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "costante"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr "Cambia la posizione x, y e z delle superficie corrente"
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Resetta"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr "Resetta alla posizione di default"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr "Piano di taglio attivo:"
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr "cancella"
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr "ombreggiato"
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr "X orizzontale:"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr "Imposta la coordinata X del corrente piano di taglio"
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr "Y orizzontale:"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr "Imposta la coordinata Y del corrente piano di taglio"
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Rotazione:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
@@ -6605,192 +6646,192 @@ msgstr ""
 "Imposta la coordinata Z del corrente piano di taglio (significativo solo se "
 "l'inclinazione non è 0)"
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Nuovo"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr "Valore:"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr "Trasparenza:"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Mostra le linee vettoriale"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Linee vettoriali"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Linea:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "larghezza:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "colore:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr "usa colore per mappe tematiche"
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr "usa la larghezza per mappe tematiche"
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 msgid "Set options..."
 msgstr "Imposta opzioni..."
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Visualizza"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr "sulla superficie:"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr "come 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Altezza sulla superficie:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Mostra punti vettoriali"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Punti vettoriale"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Icona:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr "usa la dimensione per "
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "Raster 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "isosuperfici"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Risoluzione:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Lista delle isosuperfici"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr "Mostra il modello leggero"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr "Posizione della luce"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr "Regola l'altezza della luce"
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "Colore e intensità della luce"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "Luminosità:"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr "Regola la luminosità"
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr "Ambiente:"
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr "Regola la luce ambiente"
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr "Vertici con bordo"
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "N && O"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "N && E"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "S && O"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "S && E"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr "Altezza del bordo dalla base:"
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr "La lunghezza della freccia (in unità della mappa):"
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr "Colore della freccia:"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr "Posiziona freccia"
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr "Lunghezza della barra della scala (in unità della mappa): "
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr "Colore della barra della scala:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 msgid "Place new scale bar"
 msgstr "Aggiungi nuova barra della scala"
 
@@ -7180,15 +7221,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr "Raster <%s> non trovato"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr "Vettoriale <%s> non trovato."
@@ -7199,12 +7240,14 @@ msgid "3d raster map <%s> not found"
 msgstr "Raster 3D <%s> non trovato"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Importa mappa raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "Collega a un raster esterno"
 
@@ -7218,12 +7261,14 @@ msgid "Set raster output format"
 msgstr "Imposta il formato di output per i raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Importa mappa vettoriale"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "Collega a un vettoriale esterno"
 
@@ -7244,7 +7289,7 @@ msgstr "Importa dati da un server WMS"
 msgid "Add command layer"
 msgstr "Aggiungi livello comando"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Esci"
@@ -7344,195 +7389,195 @@ msgstr "Esporta formati comuni"
 msgid "Export PostGIS"
 msgstr "Esporta PostGIS"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+msgid "Export attribute table"
+msgstr "Esporta tabella degli attributi"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 msgid "Create pack"
 msgstr "Crea pacchetto"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 msgid "Make a copy in the current mapset"
 msgstr "Fare una copia nel mapset attuale"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Imposta la tabella di colore"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Mostra gli attributi dei dati"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Incomincia l'editing"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Ferma l'editing"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "Ricrea topologia"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Zoom alla/e mappa/e selezionata/e (ignore i NULLS)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Gestisci interattivamente le regole di colore"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Istogramma"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Statistiche univariate raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 msgid "Report raster statistics"
 msgstr "Statistiche del raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Profilo"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Impossibile creare profilo del raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-"Il nome <%(name)s> non è un nome valido per mappa di GRASS. Utilizzare solo "
-"carattere ASCII escludendo %(chars)s e spazi"
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr "Nome invalido"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Tipologia della mappa <%s> non supportata"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Inserisci il nome per il nuovo %s nell'attuale mapset:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Copiare %s <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "%s <%s> esiste già nel corrente mapset. Si vuole sovrascriverlo?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Sovrascrivi?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Impossibile copiare <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Impossibile copiare <%s>. Mapset <%s> non mapset corrente."
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 "Impossibile visualizzare l'istogramma del raster. Nessun nome della mappa "
 "definito."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Imposta opacità <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Gruppo di layer:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Clicca per editare le impostazione del layer"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(doppio click per impostare le propriet?)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Per favore aspettare, aggiornamento dei dati..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "opacità:"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS GIS %s Layer Manager"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "Barra degli strumenti dello spazio di lavoro"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "Barra degli strumenti dei dati"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "Barra degli strumenti degli strumenti"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr "Barra degli  strumenti vettoriale"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 msgid "3D view Toolbar"
 msgstr "Barra degli strumenti di visualizzazione 3D"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr "Rinomina Map Display"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Layer"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Console dei programmi"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr "Cerca moduli"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+msgid "Data catalog"
+msgstr "Catalogo dei dati"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Console python"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7543,11 +7588,11 @@ msgstr ""
 "\n"
 "Volete spostarvi nella nuova location?"
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr "Spostarsi nella nuova location?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7556,34 +7601,34 @@ msgstr ""
 "Location corrente è <%(loc)s>.\n"
 "Mapset corrente è <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 "Vuoi impostare l'estensione e la risoluzione della region di default ora?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Location <%s> creata!"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Scegli il modello da eseguire"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Vuoi salvare i cambiamenti nell'ambiente di lavoro?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Vuoi salvare le impostazioni correnti in un file d'ambiente di lavoro?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr "Chiudi map display %s"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
@@ -7592,35 +7637,35 @@ msgstr ""
 "Comando '%s' non è ancora implementato nella WxGUI. Piuttosto prova "
 "utilizzando la barra dei comandi.  "
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "La mappa selezionata non è vettoriale"
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "Le modifiche sono permesse solo per i vettoriali nell'attuale mapset."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "Scegli file script da eseguire"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Il file di script '%s' non esiste. Operazione cancellata."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
@@ -7629,15 +7674,15 @@ msgstr ""
 "Lo script <%s> non è eseguibile. Volete impostare i permessi per permettervi "
 "di eseguire questo script (dovete essere i proprietari del file)?"
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr "Imposta permesso?"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr "Impossibile impostare i permessi. Operazione cancellata."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
@@ -7646,38 +7691,38 @@ msgstr ""
 "La directory '%s' non è definita nel GRASS_ADDON_PATH. Volete aggiungere "
 "questa directory al GRASS_ADDON_PATH?"
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr "Aggiornare il percorso degli Addons?"
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Si sta lanciando lo script '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Nessuna location/mapset forniro. Operazione cancellata"
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Inserisci il nome per il nuovo mapset:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Crea un nuovo mapset"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr "Nessun mapset fornito. Operazione cancellata"
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "Mapset corrente è <%s>"
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
@@ -7686,61 +7731,63 @@ msgstr ""
 "La directory di lavoro cambiata a:\n"
 "\"%s\""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 msgid "Changes current working directory for this GUI."
 msgstr "Cambia ambiente di lavoro per questa GUI."
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 msgid "Usage: cd [directory]"
 msgstr "Utilizzo: cd [directory]"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr "Senza parametri apre una finestra."
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 msgid "Choose a working directory"
 msgstr "Scegli una directory di lavoro"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr "Informazioni di sistema"
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr "Versione di GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr "Versione sconosciuta"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+#, fuzzy
+msgid "GRASS SVN revision"
 msgstr "Revisione SVN GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+msgid "Build date"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1106
+#, fuzzy
+msgid "Build platform"
+msgstr "Piattaforma"
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr "Piattaforma"
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -7748,62 +7795,62 @@ msgstr ""
 "L'ambiente di lavoro corrente non è vuoto. Vuoi salvare le impostazioni "
 "correnti in un file d'ambiente di lavoro?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "Creare nuovo ambiente di lavoro?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Scegli il file dell'ambiente di lavoro"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "FIle ambiente di lavoro di GRASS (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Attendere, sto caricando l'ambiente di lavoro..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Scegli il file GRC da caricare"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Vecchi file d'ambiente di lavoro di GRASS (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Scegli il file dove salvare il corrente ambiente di lavoro"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "Il file dell'ambiente di lavoro <%s> esiste già. Vuoi sovrascrivvere questo "
 "file?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Salva ambiente di lavoro"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 "Scrittura delle impostazioni correnti nel file dell'ambiente di lavoro "
 "fallita."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr "Inserisci nuovo nome:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS {version} Map Display: {name}  - Location: {loc}"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -7814,25 +7861,25 @@ msgstr ""
 "\n"
 "Motivo: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 msgid "Unable to start Timeline Tool."
 msgstr "Impossibile avviare lo strumento Timeline."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Impossibile avviare lo strumento Timeline."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr "Aggiungi layers selezionato nel layer tree"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Tipologia della mappa <%s> non supportata."
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
@@ -7840,7 +7887,7 @@ msgstr ""
 "I valori della cella possono essere visualizzati solo per regioni da meno di "
 "10000 celle. "
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -7848,68 +7895,64 @@ msgid ""
 "from layer tree?"
 msgstr "Vuoi rimuovere i layer %s dal layer tree"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr "Vuoi rimuove i layer selezionati dal layer tree"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Rimuovi layer"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Esci dalla GUI di GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Impossibile ottenere la versione di GRASS\n"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr "Nessun layer selezionato. Operazione cancellata."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr "Benvenuto nella shell interattiva Python wxGUI %s"
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr "Digita %s per maggiori informazioni sullo scripting di GRASS."
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr "Digita %s per aggiungere raster o vettoriali all'albero dei layer"
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr "Elimina tutto il testo dalla shell"
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Raster o vettoriale <%s> non trovato"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "Raster <%s> aggiunto"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "Vettoriale <%s> aggiunto"
@@ -7974,7 +8017,7 @@ msgstr "Importa/connetti dati raster/vettoriali"
 msgid "Raster Map Calculator"
 msgstr "Calcolatore per raster map algebra"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "Modellizzatore Grafico"
 
@@ -8064,7 +8107,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignora cambiamenti e chiudi dialogo"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Applica cambiamenti e chiudi dialogo"
 
@@ -8406,16 +8449,16 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 msgid "GRASS GIS Vector Digitizer"
 msgstr "GRASS GIS Digitalizzatore vettoriale"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Digitalizzatore vettoriale non disponibile. %s"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
@@ -8424,12 +8467,12 @@ msgstr ""
 "Vettoriale <%s> non trovato nel mapset corrente. Un nuovo vettoriale può "
 "essere creato utilizzando l'opzione '-c'"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Nuova mappa vettoriale <%s> creata"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Impossibile creare mappa vettoriale <%s>"
@@ -8634,7 +8677,7 @@ msgstr "Visualizza il manuale del Digitalizzatore Vettoriale"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Strumenti addizionali (copia, flip, connessione, ecc.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Indietro"
 
@@ -8709,7 +8752,7 @@ msgstr "La mappa vettoriale non è 3D. Operazione cancellata."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Seleziona mappa vettoriale"
 
@@ -8745,10 +8788,6 @@ msgstr ""
 "Tipologia dell'elemento '%(type)s' non supportata. Impossibile modificare il "
 "layer OGR <%(layer)s>."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-msgid "Vector digitizer"
-msgstr "Digitalizzatore vettoriale"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -8775,166 +8814,166 @@ msgstr "Editing del vettoriale <%s> è finito correttamente"
 msgid "New vector map"
 msgstr "Nuova mappa vettoriale"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr "Impostazioni server"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Server:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Connetti"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Connetti al server"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 msgid "Show advanced connection settings"
 msgstr "Mostra impostazioni avanzate della connessione"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 msgid "Hide advanced connection settings"
 msgstr "Nasconde le impostazioni avanzare della connessione"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 msgid " Layer Manager Settings "
 msgstr "Impostazioni del Layer Manager"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 msgid "Output layer name:"
 msgstr "Nome del layer di output:"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 msgid "Username:"
 msgstr "Nome utente:"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr "Password:"
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr "Nessuna sorgente dei dati definita, impostazioni non salvate."
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr "Connettendo a <%s>..."
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr "Servizi web disponibili"
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr "Connesso a <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Impossibile connettersi a <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 msgid "Add web service layer"
 msgstr "Aggiungi layer da servizi web"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Aggiungi layer"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr ""
 "Aggiunge il layer selezionato del servizio web con layer nell'albero dei "
 "layer"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 msgid "Web service layer properties"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr "&Applica"
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr "&OK"
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 msgid "Name for output raster map:"
 msgstr "Nome per la mappa raster di output:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 msgid "Export region"
 msgstr "Esporta region"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Visualizzatore delle mappe"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 msgid "Named region"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 msgid "Extent and resolution are based on computational region."
 msgstr "Estensione e risoluzione sono basate sulla regione computazionale"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 msgid "Extent and resolution are based on named region."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 msgid "Overwrite existing raster map"
 msgstr "Sovrascrive il raster esistente"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 msgid "Choose named region:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 msgid "&Save layer"
 msgstr "&Save layer"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 msgid "Save web service layer as raster map"
 msgstr "Salva il layer del servizio web come raster"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr "Raster di output mancante."
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 msgid "Output map can be added only to current mapset."
 msgstr "La mappa di output può essere aggiunta solo al mapset corrente."
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr "La mappa di output <%s> esiste già."
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, python-format
 msgid "Region <%s> does not exist."
 msgstr "La regione <%s> non esiste."
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 msgid "Downloading data..."
 msgstr "Scaricamento dati..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 msgid "Unable to fetch data.\n"
 msgstr "Impossibile ottenere i dati.\n"
 
@@ -9035,7 +9074,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Layer name"
 
@@ -9048,8 +9088,9 @@ msgid "style"
 msgstr "Stile"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
-msgid "Add default servers"
-msgstr "Aggiungi server di default"
+#, fuzzy
+msgid "Add default"
+msgstr "default"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9058,23 +9099,23 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr "1. Scegli la cartella dei dati GRASS GIS"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr "2. Seleziona GRASS location"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr "3. Seleziona mapset di GRASS"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr "La directory del database di GRASS GIS contiene Location.  "
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
@@ -9083,7 +9124,7 @@ msgstr ""
 "(proiezione). Una Location può essere un progetto. Location contiene i "
 "Mapset."
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
@@ -9091,27 +9132,29 @@ msgstr ""
 "Il Mapset contiene i dati GIS relativi a un progetto, attività divisi per "
 "progetto, sottoregione o utente."
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 msgid "Start &GRASS session"
 msgstr "Avvia sessione di GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "&Naviga"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr "&Nuovo"
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 msgid "Create a new Mapset in selected Location"
 msgstr "Crea un nuovo Mapset nella Location selezionata"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr "N&uovo"
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
@@ -9119,87 +9162,92 @@ msgstr ""
 "Crea un nuova Location utilizzando il Location wizard. Dopo che la Location "
 "sarà creata correttamente, la sessione di GRASS sarà avviata."
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr "Ri&nomina"
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Rinomina la location selezionata"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 msgid "De&lete"
 msgstr "E&limina"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Elimina la location selezionata"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Rinomina"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Rinomina il mapset selezionato"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr "&Elimina"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Elimina il mapset selezionato"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Avvio%s di GRASS GIS %s"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Entra nella sessione di GRASS"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 "Impossibile impostare il database di GRASS. Controlla le tue impostazioni "
 "locali."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "ERROR: Location <%s> non trovata\n"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "ERROR: Mapset <%s> non trovato\n"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr "Linea non valida nel file GISRC (%s): %s\n"
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, python-brace-format
 msgid "Error: {text}"
 msgstr "Errore: {text}"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr "Vuoi importare <%(name)s> nella nuova location creata?"
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 msgid "Import data?"
 msgstr "Importare dati?"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr "Si vuole creare un nuovo mapset?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
@@ -9208,7 +9256,7 @@ msgstr ""
 "Importazione di <%(name)s> fallita.\n"
 "Motivazione: %(msg)s"
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
@@ -9217,7 +9265,7 @@ msgstr ""
 "Il file dei dati <%(name)s> è stato importato correttamente. La regione di "
 "default della location è stata impostata dalla mappa importata."
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9227,7 +9275,7 @@ msgstr ""
 "\n"
 "Questo mapset non può essere rinominato."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9238,7 +9286,7 @@ msgstr ""
 "\n"
 "Inserisci il nuovo nome:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9249,7 +9297,7 @@ msgstr ""
 "\n"
 "Il mapset <%s> esiste già nella location."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9260,7 +9308,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9271,7 +9319,7 @@ msgstr ""
 "\n"
 "La location <%s> esiste già nel database di GRASS"
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9282,7 +9330,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9292,7 +9340,7 @@ msgstr ""
 "\n"
 "Questo mapset non può essere cancellato."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9305,11 +9353,11 @@ msgstr ""
 "\n"
 "TUTTE LE MAPPE incluse in questo mapset saranno ELIMINATE DEFINITIVAMENTE!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Impossibile eliminare il mapset"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9320,11 +9368,11 @@ msgstr ""
 "\n"
 "TUTTE LE MAPPE incluse in questo mapset saranno ELIMINATE DEFINITIVAMENTE!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Impossibile eliminare la location"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
@@ -9333,21 +9381,21 @@ msgstr ""
 "Nessuna Location di GRASS trovata in '%s'. Creare una nuova Location o "
 "scegliere una differente directory del database di GRASS "
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "La directory '%s' non esiste."
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Selezionare cartella del database GIS"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr "Il Mapset <%s> esiste già."
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9360,16 +9408,16 @@ msgstr ""
 "\n"
 "Siete realmente sicuri che volete creare questo mapset? "
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 msgid "Reserved mapset name"
 msgstr "Nome del mapset riservato"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Impossibile creare il nuovo mapset: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9388,11 +9436,11 @@ msgstr ""
 "Vuoi rimuovere .gislock (bisogna avere il permesso per questa operazione) e "
 "continuare?"
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr "Lock file trovato"
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9404,7 +9452,7 @@ msgstr ""
 "Se si sta eseguendo un'altra sessione di GRASS si potrebbero corrompere i "
 "vostri dati. Controllate il gestore dei processi per essere sicuri..."
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9415,7 +9463,7 @@ msgstr ""
 "\n"
 "Dettagli: %(reason)s"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
@@ -9424,7 +9472,11 @@ msgstr ""
 "Il nome <%(name)s> non è un nome valido per Location o Mapset. Utilizzare "
 "solo carattere ASCII escludendo %(chars)s e spazi"
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr "Nome invalido"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
@@ -9435,8 +9487,115 @@ msgstr ""
 "situata nella tua directory home. Premese il bottone Naviga per selezionare "
 "la directory."
 
+#: ../gui/wxpython/rdigit/dialogs.py:33
+msgid "Create new raster map"
+msgstr "Crea nuovo raster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:52
+msgid "Name for new raster map:"
+msgstr "Nome del nuovo raster:"
+
+#: ../gui/wxpython/rdigit/dialogs.py:55
+msgid "Optionally select background raster map:"
+msgstr "Eventualmente seleziona lo sfondo del raster:"
+
+#: ../gui/wxpython/rdigit/dialogs.py:58
+msgid "New raster map type:"
+msgstr "Tipologia del nuovo raster:"
+
+#: ../gui/wxpython/rdigit/dialogs.py:87
+msgid "Please specify name for a new raster map"
+msgstr "Specificare il nome del nuovo raster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"Il raster <%s> esiste già nel corrente mapset. Si vuole sovrascriverlo?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+msgid "Please select first the raster map"
+msgstr "Selezionare prima il raster"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+msgid "Do you want to save changes?"
+msgstr "Si vuole salvare i cambiamenti?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+msgid "Save raster map changes"
+msgstr "Salva cambiamenti del raster"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+msgid "Failed to create backup copy of edited raster map."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:364
+msgid "Failed to create new raster map."
+msgstr "Impossibile creare nuovo raster."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+msgid "Rasterizing..."
+msgstr "Rasterizzando..."
+
+#: ../gui/wxpython/rdigit/controller.py:494
+msgid "Failed to set default color table for edited raster map"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+msgid "Digitize area"
+msgstr "Digitalizza area"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+msgid "Digitize line"
+msgstr "Digitalizza linea"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+msgid "Digitize point"
+msgstr "Digitalizza punto"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+msgid "Save raster map"
+msgstr "Salva raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+msgid "Quit raster digitizer"
+msgstr "Esci dal digitalizzatore raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+msgid "Select raster map"
+msgstr "Seleziona raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+msgid "Cell value:"
+msgstr "Valori della cella:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+msgid "New raster map"
+msgstr "Nuovo raster"
+
 #: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
+#: ../gui/wxpython/menustrings.py:1980
 msgid "&File"
 msgstr "&File"
 
@@ -9457,7 +9616,7 @@ msgid "Load workspace from file"
 msgstr "Carica l'area di lavoro dal file"
 
 #: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/modules/colorrules.py:419
 msgid "Save"
 msgstr "Salva"
 
@@ -9642,11 +9801,8 @@ msgid "LAS LiDAR points import"
 msgstr "Importa punti LAS LiDAR"
 
 #: ../gui/wxpython/menustrings.py:58 ../gui/wxpython/menustrings.py:1045
-#, fuzzy
 msgid "Creates a raster map from LAS LiDAR points using univariate statistics."
-msgstr ""
-"Crea un raster da un assemblaggio di molte coordinate usando statistiche "
-"univariate."
+msgstr "Crea un raster da punti LAS LiDAR usando statistiche univariate"
 
 #: ../gui/wxpython/menustrings.py:60 ../gui/wxpython/menustrings.py:1047
 #, fuzzy
@@ -9741,9 +9897,9 @@ msgid "Imports Mapgen or Matlab-ASCII vector maps into GRASS."
 msgstr "Importa vettoriali Mapgen o Matlab-ASCII in GRASS."
 
 #: ../gui/wxpython/menustrings.py:83 ../gui/wxpython/menustrings.py:1070
-#, fuzzy
 msgid "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS."
-msgstr "Converte layer vettoriali in vettori GRASS usando OGR."
+msgstr ""
+"Converte nuvole di punti LAS LiDAR in un vettoriale GRASS usando libLAS."
 
 #: ../gui/wxpython/menustrings.py:85 ../gui/wxpython/menustrings.py:1072
 #, fuzzy
@@ -10190,7 +10346,7 @@ msgstr "Modellizzatore Grafico"
 msgid "Launch Graphical modeler"
 msgstr "Avvia Modellizzatore Grafico"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Esegui modello"
 
@@ -10251,7 +10407,7 @@ msgstr "Lancia script"
 msgid "Launches script file."
 msgstr "Lancia script"
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Chiudi"
@@ -10261,8 +10417,8 @@ msgstr "Chiudi"
 msgid "Quit wxGUI session."
 msgstr "Esci dalle sessione di GRASS wxGUI."
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Esci dalla GUI di GRASS"
@@ -11786,8 +11942,8 @@ msgid "Develop vector map"
 msgstr "Sviluppa vettoriale"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Crea nuova mappa vettoriale"
 
@@ -13789,10 +13945,10 @@ msgstr "Campionamento temporale"
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
-msgstr "Disegna l'estensione temporale."
+msgstr "Disegna i valori temporali"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "&Aiuto"
 
@@ -13905,137 +14061,145 @@ msgstr "Aggiungi ciclo / serie"
 msgid "Adds loop (series) to model"
 msgstr "Aggiungi ciclo (serie) al modello"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "Aggiungi condizione"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Aggiungi condizione (if/else) al modello"
+
+#: ../gui/wxpython/menustrings.py:1962
 msgid "Adds comment to model"
 msgstr "Aggiungi commento al modello"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "Rimuovi elemento"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "Elimina azione/dati dal modello"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Proprietà del modello (nome, scopo, ecc.)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "Elimina dati intermediari"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "Elimina i dati intermedi definiti nel modello"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Esegui il modello per intero"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Valida modello"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Valida il modello per intero"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Visualizza le pagine HTML del manuale del Modellizzatore Grafico"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "Informazione sul Modellizzatore Grafico"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "Visualizza informazioni sul Modellizzatore Grafico"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 msgid "Load instruction file"
 msgstr "Carica file delle istruzioni"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 msgid "Export instruction file"
 msgstr "Esporta file delle istruzioni"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 msgid "Export to PostScript"
 msgstr "Esporta in PostScript"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 msgid "Export to PDF"
 msgstr "Esporta in PDF"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr "Avvia la finestra di ps.map"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 msgid "Close Cartographic Composer"
 msgstr "Chiudi il Compositore Cartografico"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr "&Inserisci"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 msgid "Add or edit map frame"
 msgstr "Aggiungi o modifica la cornice della mappa"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 msgid "Add or edit raster map"
 msgstr "Aggiungi o modifica raster"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 msgid "Add or edit vector map"
 msgstr "Aggiungi o modifica vettoriale"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 msgid "Map legend"
 msgstr "Legenda"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 msgid "Add or edit raster and vector legend"
 msgstr "Aggiungi o modifica legenda raster e vettoriale"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 msgid "Add or edit map info"
 msgstr "Aggiungi o modifica informazioni della mappa"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr "Aggiungi o modifica barra della scala"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr "Aggiungi freccia del nord"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Visualizza le pagine HTML del manuale del Compositore Cartografico"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 msgid "About Cartographic Composer"
 msgstr "Informazioni sul Compositore Cartografico"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 msgid "Display information about Cartographic Composer"
 msgstr "Visualizza informazioni sul Compositore Cartografico"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14046,123 +14210,117 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/tplot/frame.py:95
-#, fuzzy
 msgid "GRASS GIS Temporal Plot Tool"
-msgstr "GRASS GIS Strumento Timeline"
+msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
 msgstr "Registra mappe in un dataset"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Colonna degli attributi:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Seleziona la categoria per l'editing"
+msgstr "Selezione elemento vettoriale"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
-#, fuzzy, python-format
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
+#, python-format
 msgid "Temporal resolution: %s"
-msgstr "Aggregazione temporale"
+msgstr "Risoluzione temporale: %s"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
-#, fuzzy
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 msgid "Invalid input coordinates"
-msgstr "Dati di input invalido"
+msgstr "Coordinati di input invalido"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Dati di input invalido"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
-msgstr "Dati di input invalido"
+msgstr "Coordinati di input invalido"
 
-#: ../gui/wxpython/tplot/frame.py:811
-#, fuzzy
+#: ../gui/wxpython/tplot/frame.py:812
 msgid "Invalid input temporal dataset"
-msgstr "Dati di input invalido"
+msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
-#, fuzzy
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
-"\n"
-"Premere Del per cancellare."
 
 #: ../gui/wxpython/dbmgr/dialogs.py:74
 #, python-format
@@ -14355,12 +14513,12 @@ msgstr "Istruzione SQL applicata"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr "Il driver DBF non supporta l'utilizzo di funzioni SQL."
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr "Caricando gli attributi per il vettoriale <%s> ..."
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "GRASS GIS Gestore Tabella degli Attributi"
 
@@ -14484,7 +14642,7 @@ msgid "Field calculator"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr "Aggiungi colonna"
 
@@ -14586,15 +14744,15 @@ msgstr "Elimina i record selezionati"
 msgid "Delete all records"
 msgstr "Elimina tutti i record"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Seleziona tutto"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Deseleziona tutto"
 
@@ -14789,7 +14947,7 @@ msgid "Driver"
 msgstr "Driver"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Database"
 
@@ -14916,192 +15074,192 @@ msgstr "Impossibile calcolare la deviazione standard."
 msgid "Field statistics <%s>"
 msgstr "Statistiche del campo <%s>"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr "Controlla tutto"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr "Pulisci tutto"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr "Inserisci valori degli attributi per il vettoriale"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr "Formato colore errato. Usa il formato  '0:0:0'"
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Seleziona mappa vettoriale:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr "Importa o esporta tabella dei colori:"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 msgid "Choose file to load color table"
 msgstr "Scegli il file dal quale caricare la tabella dei colori"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Carica"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 "Scrivi il nome del file o clicca per scegliere un file e carica la tabella "
 "dei colori"
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr "Scegli il file in cui salvare la tabella dei colori"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 "Scrivi il nome del file o clicca per scegliere un file e salvare la tabella "
 "dei colori"
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 msgid "&Set"
 msgstr "&Impostazioni"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 msgid "Load color table:"
 msgstr "Carica tabella dei colori:"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr "Carica tabella dei colori dal file:"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr "Salva tabella dei colori nel file:"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr "Ricarica la tabella di default"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Anteprima"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Il file della regione <%s> esiste gi?. Vuoi sovrascriverlo?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr "Niente da salvare."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 msgid "Invalid color table format"
 msgstr "Formato della tabella dei colori invalido"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 "Valore della regola '%s' invalido. Impossibile applicare la tabella dei "
 "colori."
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "Crea nuova tavola dei colori per raster"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr "Inserisci valore o percentuale nella categoria del raster"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr "intervallo fp"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 "Inserisci valore o percentuale nella categoria del raster (%(range)s = "
 "%(min)d-%(max)d)"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr "Crea nuove regole per i colori del vettoriale"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr "Inserisci valori dell'attributo del vettoriale o percentuali:"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr "Inserisci valori degli attributi del vettoriale:"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr "Seleziona colonne del vettoriale"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Livello:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Colonna degli attributi:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr "Carica colore dalla colonna:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr "Salva colore alla colonna:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr "Carica dimensione dalla colonna:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr "Salva dimensione alla colonna:"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr "Carica larghezza dalla colonna:"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr "Salva larghezza nella colonna:"
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr "Usa una colonna dei colori invece della tabella dei colori:"
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Aggiungi colonna GRASSRGB alla tabella degli attributi attuale."
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr "Importa o esporta tabella dei colori"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -15110,56 +15268,56 @@ msgstr ""
 "La connessione al databse per il vettoriale <%s> non è definito nel DB file. "
 "Vuoi creare e connettere una nuova tabella degli attributi?"
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr "Nessuna connessione al database definita"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr "La colonna %s esiste già."
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr "Attendere, caricamento dei dati dalla tabella degli attributi..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr "Troppi record"
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Inserisci il valore o la percentuale dell'attributo del vettore %s:"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Inserisci il valore dell'attributo del vettore %s:"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr "Selezionare la colonna dove salvare i valori."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr "Nessuna colonna dei colori definita. Operazione cancellata"
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15211,23 +15369,23 @@ msgstr "Traccia/aggiorna variogramma"
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "Tecniche di Kriging"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Dimensione del blocco:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "Auto ottimizzazione del variogramma"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Modello:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Lavori in corso! Non esiste ancora la funzione."
 
@@ -15438,7 +15596,7 @@ msgid "Save expression to file"
 msgstr "Salva espressione in un file"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "&Carica"
 
@@ -15447,7 +15605,7 @@ msgid "Load expression from file"
 msgstr "Carica espressione dal file"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Copia la seguente stringa di comando negli appunti"
 
@@ -15609,20 +15767,173 @@ msgstr "Scegliere il nome di un file per caricare l'espressione"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'{cmd}' copiato negli appunti"
 
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Importazione multiplo"
+
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr "Lista dei layer raster"
+
+#: ../gui/wxpython/modules/import_export.py:62
+msgid "List of vector layers"
+msgstr "Lista dei layer vettoriali"
+
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr "Lista dei layers %s"
+
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr "tasto destro per (de)selezionare tutto"
+
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "Layer id"
+
+#: ../gui/wxpython/modules/import_export.py:70
+msgid "Name for output GRASS map (editable)"
+msgstr "Nome per la mappa GRASS di output (editabile)"
+
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+msgid "Projection match"
+msgstr "La proiezione corrisponde"
+
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Chiudi dialogo alla fine"
+
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Importa"
+
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Importa layer selezionati"
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr "Impostazioni delle sorgenti"
+
+#: ../gui/wxpython/modules/import_export.py:127
+#, fuzzy
+msgid "Import settings"
+msgstr "Impostazioni del font"
+
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
+#, fuzzy
+msgid "Add linked layers into layer tree"
+msgstr "Aggiungi i layer importati nel layer tree"
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Aggiungi i layer importati nel layer tree"
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Link"
+
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Link layer selezionato"
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr "Nessun layer selezionato. Operazione cancellata."
+
+#: ../gui/wxpython/modules/import_export.py:397
+#, fuzzy
+msgid "Unable to determine number of raster bands"
+msgstr "Impossibile creare profilo del raster"
+
+#: ../gui/wxpython/modules/import_export.py:591
+msgid "Define output format for vector data"
+msgstr "Definire il formato di output per i vettoriali"
+
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
+msgstr "Definire il formato di output per i raster"
+
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
+msgstr "Imposta il formato esterno e chiudi dialogo"
+
+#: ../gui/wxpython/modules/import_export.py:654
+msgid "No data source selected."
+msgstr "Nessuna sorgente di dati selezionata."
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Importa layers DXF"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Scegli file DXF da importare"
+
+#: ../gui/wxpython/modules/import_export.py:695
+msgid "No layers selected."
+msgstr "Nessuno layer selezionato."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Proiezione"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Nome per la mappa GRASS di output (editabile)"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Layer da eliminare"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importa layer selezionati"
+
 #: ../gui/wxpython/modules/extensions.py:40
 msgid "Fetch & install extension from GRASS Addons"
 msgstr "Trova e installa estensione dai GRASS Addons"
 
 #: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Repository"
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:53
 msgid "List of extensions - double-click to install"
 msgstr "Lista delle estensioni - doppio click per installare"
 
 #: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
 msgid "Options"
 msgstr "Opzioni"
 
@@ -15654,48 +15965,53 @@ msgstr "Estensione non definito"
 msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
 msgstr "Controllando la lista dei moduli dal SVN GRASS-Addons (attendere)..."
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Estensioni (addons) aggiuntive"
+
+#: ../gui/wxpython/modules/extensions.py:214
 msgid "Install"
 msgstr "Installa"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/extensions.py:217
 msgid "Show manual page"
 msgstr "Mostra pagina del manuale"
 
-#: ../gui/wxpython/modules/extensions.py:315
+#: ../gui/wxpython/modules/extensions.py:316
 #, python-format
 msgid "Unable to load extensions. %s"
 msgstr "Impossibile caricare l'estensione. %s"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/extensions.py:357
 msgid "Manage installed GRASS Addons extensions"
 msgstr "Gestisce le estensioni degli GRASS Addons installate"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/extensions.py:366
 msgid "List of installed extensions"
 msgstr "Lista delle estensioni installate"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/extensions.py:371
 msgid "Uninstall"
 msgstr "Disinstalla"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/extensions.py:372
 msgid "Uninstall selected Addons extensions"
 msgstr "Disinstalla l'estensioni selezionata"
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/extensions.py:373
 msgid "Reinstall"
 msgstr "Reinstalla"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/extensions.py:374
 msgid "Reinstall selected Addons extensions"
 msgstr "Reisinstalla l'estensioni selezionata"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/extensions.py:411
 msgid "No extension selected. Operation canceled."
 msgstr "Nessuna estensione selezionata. Operazione cancellata"
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -15708,16 +16024,16 @@ msgstr ""
 "\n"
 "Si vuole realmente rimuove l'estensione <%(ext)s>?"
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr "Rimuovi estensione"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr "Estensione"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr "Per favore aspettare, esportando immagine..."
 
@@ -15852,7 +16168,7 @@ msgstr ""
 "."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, python-format
 msgid "Group <%s> not found"
 msgstr "Gruppo <%s> non trovato"
@@ -15885,10 +16201,6 @@ msgstr ""
 msgid "Export training areas"
 msgstr ""
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-msgid "Export attribute table"
-msgstr "Esporta tabella degli attributi"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 msgid "Export attribute table containing computed statistical data"
 msgstr ""
@@ -15917,21 +16229,21 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 msgid "Name of subgroup required"
 msgstr "Nome del sotto gruppo richiesto"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Sotto gruppo <%s> non trovato"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Caricando raster <%s>..."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, python-format
 msgid "Loading training map <%s>..."
 msgstr ""
@@ -15974,119 +16286,119 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 msgid "IClass Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 msgid "IClass Misc Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 msgid "Digitization Toolbar"
 msgstr "Barra degli strumenti della digitalizzazione"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 msgid "Preview Display"
 msgstr "Anteprima display"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 msgid "Training Areas Display"
 msgstr "Visualizza aree di training"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 msgid "Display synchronization ON"
 msgstr "Sincronizzazione del display ON"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 msgid "Display synchronization OFF"
 msgstr "Sincronizzazione del display OFF"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr "Tutti i cambiamenti saranno persi. Si vuole continuare?"
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Importa mappa vettoriale"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Nessuna area nel vettoriale <%s>.\n"
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Impossibile aprire vettoriale <%s>"
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Impossibile copiare gli elementi del vettoriale da<%s>"
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 msgid "Unable to open temporary vector map"
 msgstr "Impossibile aprire il vettoriale temporaneo"
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr "Nessuna area di training da esportare."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 msgid "Failed to create temporary vector map."
 msgstr "Creazione del vettoriale temporaneo fallito."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr "Analisi fallita"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr "risultati"
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 msgid "No imagery group selected."
 msgstr "Nessuno gruppo di immagini selezionato."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, python-format
 msgid ""
 "A signature file named %s already exists.\n"
@@ -16095,22 +16407,22 @@ msgstr ""
 "Il file della signature denomito %s esiste già.\n"
 "Si vuole sovrascrivere?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 msgid "No imagery group selected. Operation canceled."
 msgstr "Nessun gruppo di immagini selezionato. Operazione cancellata."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 msgid "No areas given. Operation canceled."
 msgstr "Nessun'area selezionata. Operazione cancellata."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
 "Gli elementi del vettoriale sono al di fuori del raster. Operazione "
@@ -16575,8 +16887,123 @@ msgstr "Errore RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "Successivo: %(forw)s, Precedente: %(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "GRASS GIS Calcolatore per Raster 3D Map Algebra"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Impossibile leggere l'istruzione %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Impossibile leggere l'istruzione %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "New name"
+msgstr "Nuovo nome"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+msgid "Rename map"
+msgstr "Rinomina mappa"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Modalità di editing"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Si sta ridisegnando il modello...."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Impossibile copiare il layer: tipologia non valida."
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "Copy map"
+msgstr "Copia mappa"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Elaborando i nodi..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Vuoi eliminare la mappa < {m} >?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+msgid "Delete map"
+msgstr "Elimina mappa"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Eliminando"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Visualizzando"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+msgid "&Copy"
+msgstr "&Copia"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+msgid "&Paste"
+msgstr "&Incolla"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+msgid "&Display layer"
+msgstr "&Visualizza layer"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
@@ -16584,11 +17011,11 @@ msgstr ""
 "Installare Python Imaging Library (PIL)\n"
 "per un miglior controllo della legenda e altre decorazioni."
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr "Mostra oggetto testuale"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -16596,63 +17023,81 @@ msgstr ""
 "Trascina il testo con il mouse in modalità puntatore per posizionarlo.\n"
 "Dai un doppio clic per modificare le opzioni."
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "legend"
 msgstr "legenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "scale bar"
 msgstr "barra della scala"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "north arrow"
 msgstr "freccia del nord"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr "Coordinate copiate negli appunti"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Nascondi tutte le barre degli strumenti"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "Visualizza tutte le barre degli strumenti"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr "Nascondi barra dello stato"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Show statusbar"
+msgstr "Mostra barra dello stato"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Nascondi {overlay}"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 msgid "Resize legend"
 msgstr "Ridimensiona legenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Zoom all'estensione della regione salvata"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 msgid "Set compulational region from named region"
 msgstr "Imposta la regione computazionale dalla regione salvata"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Region <%s> non trovata. Operazione cancellata"
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr "Salva l'estensione del display in un file"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 msgid "Save computational region to region file"
 msgstr "Salva la ragione computazionale in un file"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Il file della regione <%s> esiste gi?. Vuoi sovrascriverlo?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -16747,67 +17192,67 @@ msgstr "Unità non riconosciute, misurazione fallita."
 msgid "Area: {area} {unit}\n"
 msgstr "Area: {area} {unit}\n"
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr "L'oggetto richiesto non è impostato."
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "Seleziona location e mapset di GRASS"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 msgid "Location or mapset is not defined."
 msgstr "Location o mapset non definito."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "Nome della GRASS location"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "Nome del mapset:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "Seleziona mapset nella GRASS location"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr "Manca il nome del mapset."
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 msgid "Name of vector map is missing."
 msgstr "Manca il nome della mappa vettoriale."
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Crea tabella degli attributi"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Aggiungi la mappa creata nel layer tree"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 msgid "Name of new vector map is missing."
 msgstr "Manca il nome per la nuova mappa vettoriale."
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Nome per la nuova mappa vettoriale:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Chiave della colonna:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Impossibile creare mappa vettoriale <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
@@ -16816,7 +17261,7 @@ msgstr ""
 "Chiave della colonna vuota o invalida.\n"
 "Impossibile creare mappa vettoriale <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
@@ -16824,15 +17269,15 @@ msgid ""
 msgstr ""
 "La mappa vettoriale <%s> esiste già nel corrente mapset. Vuoi sovrascriverlo?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Carica region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Salva region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
@@ -16840,24 +17285,24 @@ msgstr ""
 "Il nome non può iniziare con '.' e non deve contenere spazi, virgole, '/', "
 "''', '@', ',', '=', '*', e tutti i caratteri non alfanumerici."
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr "Crea o modifica gruppi di immagini"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr "Applica cambiamenti al gruppo selezionato e chiudi finestra"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr "Applica cambiamenti al gruppo selezionato"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr "Chiudi finestra, cambiamenti non saranno applicati"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
@@ -16865,278 +17310,171 @@ msgstr ""
 "Inserire qui un'espressione regolare. I caratteri '.*' stanno per tutto, il "
 "carattere '^' sta per inizio e '$' per fine."
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 "Seleziona il gruppo che vuoi editare o inserisci il nome del nuovo gruppo:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr "Modica/crea sottogruppo"
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 "Seleziona il sotto gruppo che vuoi editare o inserisci il nome del nuovo "
 "sotto gruppo:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Lista delle mappe:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr "Seleziona layers della mappa e aggiungili alla lista."
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr "Rimuove i layer selezionati dalla lista."
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr "Controlla le mappe del gruppo da essere incluse nel sottogruppo."
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr "Aggiungi i layer selezionati nel gruppo"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr "Il gruppo <%s> è cambiato, vuoi applicare le modifiche?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr "Non applicare i cambi"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr "Il sotto gruppo <%s> è cambiato, vuoi applicare le modifiche?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 msgid "No raster maps selected."
 msgstr "Nessuno raster selezionato."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr "Nessun cambiamento da applicare al gruppo <%s>"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr "Gruppo <%s> è stato creato con successo."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr "Gruppo <%s> è stato cambiato con successo."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "Creazione del nuovo gruppo <%s> fallita."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr "La modifica del gruppo <%s> è fallita."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr "Nessuno gruppo selezionato."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 msgid "No subgroup selected."
 msgstr "Nessuno sotto gruppo selezionato."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr "Tipologia della mappa:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr "Seleziona interuttore"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Inverti selezione"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr "Serie dinamiche (%s)"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Importazione multiplo"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-msgid "List of raster layers"
-msgstr "Lista dei layer raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-msgid "List of vector layers"
-msgstr "Lista dei layer vettoriali"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, python-format
-msgid "List of %s layers"
-msgstr "Lista dei layers %s"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr "tasto destro per (de)selezionare tutto"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "Layer id"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-msgid "Name for output GRASS map (editable)"
-msgstr "Nome per la mappa GRASS di output (editabile)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-msgid "Projection match"
-msgstr "La proiezione corrisponde"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Chiudi dialogo alla fine"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Importa"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Importa layer selezionati"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Aggiungi i layer importati nel layer tree"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Aggiungi i layer importati nel layer tree"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Link"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Link layer selezionato"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr "Nessun layer selezionato. Operazione cancellata."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Impossibile creare profilo del raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-msgid "Define output format for vector data"
-msgstr "Definire il formato di output per i vettoriali"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-msgid "Define output format for raster data"
-msgstr "Definire il formato di output per i raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr "Imposta il formato esterno e chiudi dialogo"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-msgid "No data source selected."
-msgstr "Nessuna sorgente di dati selezionata."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Importa layers DXF"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Scegli file DXF da importare"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-msgid "No layers selected."
-msgstr "Nessuno layer selezionato."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Imposta l'opacità del layer"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "opaco"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "Imposta dimensione dell'immagine"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "Dimensione dell'immagine"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "Template:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr " Istruzione SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "Simboli"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr "Directory del simbolo:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr "Nome del simbolo:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
@@ -17145,140 +17483,158 @@ msgstr ""
 "Impossibile importare pyGRASS: %s\n"
 "Alcune funzionalità non sarà accessibile"
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr "Elemento non selezionabile"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Mapset"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 msgid "Type: "
 msgstr "Tipologia:"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr "GSelect: elemento invalido: %s"
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr "Impostazioni degli output"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
-msgstr "Impostazioni delle sorgenti"
+#: ../gui/wxpython/gui_core/gselect.py:1290
+#, fuzzy
+msgid "Source input"
+msgstr "Punto di partenza"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr "Nativo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "File"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Cartella"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protocollo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr "Tipologia di output"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Tipo di sorgente"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "Tutti i file"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 msgid "ZIP files"
 msgstr "Files ZIP"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 msgid "GZIP files"
 msgstr "Files GZIP"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 msgid "TAR files"
 msgstr "Files TAR"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 msgid "TARGZ files"
 msgstr "Files TARGZ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "File:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "Scegli file da importare"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Scegli cartella di input"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr "Estensione:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Scegli file:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr "Tipologia delle feature:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "simple features"
 msgstr "features semplici"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "topological"
 msgstr "topologico"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr "Creazione delle opzioni:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Formato:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Protocollo:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 msgid "No settings available"
 msgstr "Nessuna impostazione disponibile"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr "LineString"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr "Poligono"
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Nessun layer selezionato. Operazione cancellata."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Il vettoriale di input non esiste."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "La mappa vettoriale non è 3D. Operazione cancellata."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "Impostazioni dell'utente"
@@ -17401,6 +17757,7 @@ msgid "Module dialog style:"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "Visualizzatore di mappe"
 
@@ -17494,7 +17851,7 @@ msgstr "Colore dell'elemento:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Trasparente"
 
@@ -17777,6 +18134,49 @@ msgstr "est, nord"
 msgid "Nothing found"
 msgstr "Non è stato trovato nulla"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Categoria"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Selezione elemento vettoriale"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Crea un nuovo mapset"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "La mappa vettoriale non è 3D. Operazione cancellata."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Impossibile aprire vettoriale <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Nessuna sorgente di dati selezionata."
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Nuova mappa vettoriale <%s> creata"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Impossibile creare mappa vettoriale <%s>"
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Info"
@@ -17817,6 +18217,10 @@ msgstr "Sito ufficiale di GRASS"
 msgid "Code Revision"
 msgstr "Revisione del codice"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "Linguaggio"
@@ -17887,27 +18291,27 @@ msgstr "&Prosegui"
 msgid "&Previous"
 msgstr "&Precedente"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Inserisci parametro per '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Chiudi finestra senza eseguire il comando (Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "Esegui il commando (Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Mostra la pagine del manuale del comando (Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "Aggiungi la mappa(e) creata nel layer tree"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
@@ -17915,64 +18319,64 @@ msgstr ""
 "Chiudi la finestra quando il comando è finito correttamente. Cambia questa "
 "impostazione nella finestra Preferenze (colonna 'Comandi')"
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' copiato negli appunti"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Richiesto"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Opzionale"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr "Parametrizzato nel modello"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr "Questa opzione è richiesta"
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[multiplo]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "Range valido"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 "Mostra la rappresentazione grafica dell'estensione temporale di uno o più "
 "dataset. "
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Scegli %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 msgid "Load and edit content of a file"
 msgstr "Carica e modifica contenuto di un file"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 msgid "&Save as"
 msgstr "&Salva come"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr "Salva il contenuto in un file per ulteriori utilizzi"
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
 msgstr "o inserisci interattivamente i valori:"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
@@ -17980,15 +18384,15 @@ msgstr ""
 "Inserire direttamente il contenuto del file invece di specificare un file. "
 "Un file temporaneo sarà automaticamente creato. "
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Manuale"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr "Niente da caricare."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, python-format
 msgid ""
 "Unable to load file.\n"
@@ -17999,26 +18403,26 @@ msgstr ""
 "\n"
 "Ragione: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr "Salva input come..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 msgid "No dataset given."
 msgstr "Nessuna dataset selezionata."
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Impossibile analizzare il comando '%s'"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "%(cmd)s: parametro '%(key)s' non disponibile"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr "Prova di impostare la variabile GRASS_ADDON_PATH o GRASS_ADDON_BASE"
 
@@ -18067,63 +18471,78 @@ msgstr "Cambia opacità"
 msgid "Change layer opacity"
 msgstr "Cambia opacità del layer"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr " (...)"
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+"Il nome <%(name)s> non è un nome valido per mappa di GRASS. Utilizzare solo "
+"carattere ASCII escludendo %(chars)s e spazi"
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr "Ricerca testo completo"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr "Digita per cercare in tutti i moduli. Premere Enter per il prossimo."
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr "Cercando, si prega di digitare più caratteri."
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr "%d moduli che combaciano"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Profilo"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr "Salva le impostazioni attuali"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr "Elimina le impostazioni selezionate attualmente"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr "Impostazioni locali:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+#, fuzzy
+msgid "Load:"
+msgstr "Carica"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr "Impostazioni <%s> non trovato"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "Salva impostazioni"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr "Nome non inserito, impostazioni non salvate"
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "Impostazioni <%s> esiste già. Vuoi sovrascrivvere le impostazioni?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr "Nessuna impostazione è definita. Operazione cancellata."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr "Impossibile salvare le impostazioni"
 
@@ -18224,11 +18643,11 @@ msgstr "Crea istogramma con d.histogram"
 msgid "Select graphics tool"
 msgstr "Seleziona strumento grafico"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "Doppio click o Ctrl-Enter per eseguire il modulo selezionato"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 msgid "Run selected module from the tree"
 msgstr "Esegui il modulo selezionato dall'albero dei comandi"
 
@@ -18251,6 +18670,22 @@ msgstr "Esegui il modulo selezionato dall'albero dei comandi"
 #~ msgid "Exit GUI"
 #~ msgstr "Esci dalla GUI"
 
+#~ msgid "Invalid input data"
+#~ msgstr "Dati di input invalido"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Nessuna impostazione disponibile"
+
+#~ msgid "Editing"
+#~ msgstr "Modificando"
+
+#~ msgid "Renaming"
+#~ msgstr "Rinominando"
+
+#~ msgid "Copying"
+#~ msgstr "Copiando"
+
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Mostra mappe di un dataset raster 3D"
 
@@ -18263,48 +18698,21 @@ msgstr "Esegui il modulo selezionato dall'albero dei comandi"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "Statistiche univariate del dataset raster 3D"
 
-#~ msgid "Add condition"
-#~ msgstr "Aggiungi condizione"
+#~ msgid "Repository"
+#~ msgstr "Repository"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Aggiungi condizione (if/else) al modello"
-
-#~ msgid "this might not work for multiple bands"
-#~ msgstr "questo potrebbe non funzionare per più bande"
+#~ msgid "Load settings:"
+#~ msgstr "Impostazioni locali:"
 
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Aggiungi layers linkato nel layer tree ({mightNotWork})"
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Impossibile visualizzare layer <%s>."
 
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Aggiungi i layer importati nel layer tree ({mightNotWork})"
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Impossibile visualizzare <%s> sovrapposto"
 
 #~ msgid "Unpacks a raster map packed with r.pack."
 #~ msgstr "Estrai un raster compresso con r.pack"
 
-#~ msgid "Unpacks a vector map packed with v.pack."
-#~ msgstr "Estrai un vettoriale impacchettato con v.pack."
-
-#~ msgid "Multiple import formats using OGR"
-#~ msgstr "Importa diversi formati utilizzando OGR"
-
-#~ msgid "Multiple GPS export formats using GPSBabel"
-#~ msgstr "Esporta in diversi formati GPS usando GPSBabel"
-
-#~ msgid ""
-#~ "Exports a vector map to a GPS receiver or file format supported by "
-#~ "GPSBabel."
-#~ msgstr ""
-#~ "Esporta un vettoriale in un GPS o un file con un formato supportato da "
-#~ "GPSBabel."
-
-#~ msgid "Common export formats using OGR"
-#~ msgstr "Esporta diversi formati usando OGR"
-
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Imposta la regione computazionale dalla/e mappa/e selezionata/e (ignora "
-#~ "nulli)"
-
 #~ msgid "Historical GRASS vector import"
 #~ msgstr "Import vecchi GRASS vector"
 
@@ -18324,6 +18732,25 @@ msgstr "Esegui il modulo selezionato dall'albero dei comandi"
 #~ msgid "GEOnet import"
 #~ msgstr "Importa GEONET"
 
+#~ msgid "Unpacks a vector map packed with v.pack."
+#~ msgstr "Estrai un vettoriale impacchettato con v.pack."
+
+#~ msgid "Multiple import formats using OGR"
+#~ msgstr "Importa diversi formati utilizzando OGR"
+
+#~ msgid "Multiple GPS export formats using GPSBabel"
+#~ msgstr "Esporta in diversi formati GPS usando GPSBabel"
+
+#~ msgid ""
+#~ "Exports a vector map to a GPS receiver or file format supported by "
+#~ "GPSBabel."
+#~ msgstr ""
+#~ "Esporta un vettoriale in un GPS o un file con un formato supportato da "
+#~ "GPSBabel."
+
+#~ msgid "Common export formats using OGR"
+#~ msgstr "Esporta diversi formati usando OGR"
+
 #~ msgid "IDW from raster points (alternate method for sparse points)"
 #~ msgstr "IDW per punti raster (metodo alternativo per punti sparsi)"
 
@@ -18333,5 +18760,32 @@ msgstr "Esegui il modulo selezionato dall'albero dei comandi"
 #~ msgid "Bit pattern comparison "
 #~ msgstr "Controllo dei bit pattern"
 
+#, fuzzy
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Gestore Tabella degli Attributi"
+
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr ""
+#~ "Imposta la regione computazionale dalla/e mappa/e selezionata/e (ignora "
+#~ "nulli)"
+
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "File dei dati <%(name)s> importato con successo."
+
+#~ msgid "Add default servers"
+#~ msgstr "Aggiungi server di default"
+
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Aggiungi layers linkato nel layer tree ({mightNotWork})"
+
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Aggiungi i layer importati nel layer tree ({mightNotWork})"
+
+#~ msgid "Digitize"
+#~ msgstr "Digitalizza"
+
+#~ msgid "GRASS SVN Revision"
+#~ msgstr "Revisione SVN GRASS"
+
+#~ msgid "this might not work for multiple bands"
+#~ msgstr "questo potrebbe non funzionare per più bande"
diff --git a/locale/po/grasswxpy_ja.po b/locale/po/grasswxpy_ja.po
index c534bd3..71dbda5 100644
--- a/locale/po/grasswxpy_ja.po
+++ b/locale/po/grasswxpy_ja.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_ja\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2012-03-08 17:45+0900\n"
 "Last-Translator: taniguchi <taniguti at apptec.co.jp>\n"
 "Language-Team: Japanese <grass-translations at lists.osgeo.org>\n"
@@ -32,7 +32,7 @@ msgid "Name of raster map:"
 msgstr "ラスターマップ名:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "ベクトルマップ名:"
 
@@ -150,7 +150,7 @@ msgstr "条件"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr "ラベル "
 
@@ -218,14 +218,14 @@ msgid "Reload"
 msgstr "リロード"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "いいえ"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "はい"
 
@@ -254,8 +254,8 @@ msgstr "不可:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "カラー"
@@ -285,9 +285,10 @@ msgstr "形状サイズ"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "幅:"
 
@@ -295,14 +296,14 @@ msgstr "幅:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "高さ:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "データ"
 
@@ -334,13 +335,13 @@ msgid "Comment"
 msgstr "コマンド"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "モデルプロパティ"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "メタデータ"
 
@@ -351,7 +352,7 @@ msgstr "コマンド"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "既存のファイルに上書きする"
@@ -371,10 +372,10 @@ msgstr "変更を行わずにダイアログを閉じる"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "名前:"
 
@@ -439,12 +440,12 @@ msgstr "ラスターマップ"
 msgid "3D raster maps"
 msgstr "3Dラスターマップ"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "ベクトルマップ"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "不明"
@@ -473,24 +474,24 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "モデルパラメータ "
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "中間データ削除"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "実行(&R)"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "変数"
 
@@ -513,7 +514,7 @@ msgid "Python editor"
 msgstr "Pythonシェル"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "コマンド出力 "
 
@@ -577,7 +578,7 @@ msgid "Choose model file"
 msgstr "モデルファイル選択"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "GRASS モデル ファイル (*.gxm)|*.gxm"
 
@@ -605,7 +606,7 @@ msgstr "ファイル <%s> が保存されました"
 msgid "Choose file to save current model"
 msgstr "現在のモデルを保存するファイルを選択"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "ファイルはすでに存在します"
 
@@ -628,7 +629,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "モデルは有効です"
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -639,7 +640,7 @@ msgstr "保存するイメージのファイル名選択(拡張子を追加す
 msgid "Model exported to <%s>"
 msgstr "モデルのエクスポート <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "コマンドレイヤー追加 "
@@ -671,7 +672,7 @@ msgstr "しばらくお待ちください,モデルロード中..."
 msgid "Writing current settings to model file failed."
 msgstr "現在の設定をモデルファイルへの出力に失敗しました"
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "書き込み用ファイル <%s> がオープン出来ません"
@@ -680,15 +681,15 @@ msgstr "書き込み用ファイル <%s> がオープン出来ません"
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -765,10 +766,10 @@ msgstr "デフォルト値"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "説明 "
 
@@ -789,13 +790,13 @@ msgid "string"
 msgstr "文字列"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "ラスター"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "ベクトル"
 
@@ -810,7 +811,7 @@ msgid "mapset"
 msgstr "マップセット"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "プロファイル"
@@ -952,7 +953,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "ラスターマップの選択:"
 
@@ -973,7 +974,7 @@ msgstr "現在のマップセットから %d 個のデータを削除"
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -1004,8 +1005,8 @@ msgstr "Y-軸ラベル:"
 msgid "Label font size (pts):"
 msgstr "ラベルフォントサイズ (ポイント):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1053,9 +1054,9 @@ msgstr "断面図設定をファイルに保存 '%s'."
 msgid "No map or image group selected to plot."
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "警告"
 
@@ -1083,8 +1084,8 @@ msgstr "ライン色"
 msgid "Line width"
 msgstr "線幅"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "ラインスタイル"
 
@@ -1098,18 +1099,18 @@ msgid "Transect segment marker settings"
 msgstr "横断面定義マーク設定"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "サイズ"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr "ファイル "
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "スタイル"
 
@@ -1357,19 +1358,19 @@ msgid "Under Construction"
 msgstr "工事中"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "ページセットアップ "
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "印刷プレビュー "
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1475,7 +1476,7 @@ msgid "Output"
 msgstr "出力 "
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "パラメータ"
 
@@ -1515,8 +1516,7 @@ msgid "Analysing..."
 msgstr "分析 "
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "設定 "
@@ -1573,7 +1573,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "選択されたGCPの色:"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1599,10 +1599,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "ダイアログを閉じる"
 
@@ -1623,12 +1624,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "ネットワーク解析 "
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1636,48 +1637,48 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "領域<%s>がすでに存在します。上書きしてよろしいですか? "
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "現在のマップセットから %d 個のデータを削除"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "領域<%s>がすでに存在します。上書きしてよろしいですか? "
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "上書きしますか?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "ベクトルマップ<%s> の幾何補正に失敗しました"
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1685,210 +1686,210 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "領域<%s>がすでに存在します。上書きしてよろしいですか? "
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "領域<%s>がすでに存在します。上書きしてよろしいですか? "
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "設定できません"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "領域<%s>がすでに存在します。上書きしてよろしいですか? "
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "上書きしますか?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "ベクトルマップ <%s> が見つかりません"
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "ベクトルマップ <%s> が見つかりません"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "マップレイヤー"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "レイヤー追加"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "レイヤー管理"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "カテゴリーの管理と出力"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "選択 %s "
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr "ベクトルマップ属性テーブルを消去"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "使用"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "データタイプ "
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "トポロジーの再ビルド"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "ポイント"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "ポイント"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "左: 新規ポイント "
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "数値列:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "最短経路"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "ポイント"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "巡回セールスマン問題 "
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, fuzzy, python-format
 msgid "Maximum flow %s"
 msgstr "最大流量"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "ソースタイプ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "ポイントを表示"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, fuzzy, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "定義されたポイントとネットワークからシュタイナーツリーを作成"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "マップレイヤーの削除 "
@@ -2072,81 +2073,81 @@ msgstr "データム変換方法の選択"
 msgid "Select from list of datum transformations"
 msgstr "データム変換方法を一覧表から選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "データベースとロケーション名の設定 "
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "参照 "
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "GISデータディレクトリ:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "プロジェクトロケーション "
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "GISデータディレクトリの選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "ロケーションタイトル:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "ロケーションの選択が間違っています"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "GRASSデータディレクトリの選択:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "データベースにロケーションはすでに存在しています "
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "ロケーションを作成できません"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
@@ -2154,219 +2155,219 @@ msgstr ""
 "ロケーションのタイトルは1ラインと256文字に制限されています. あとのテキストは"
 "無視されます"
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "新しいロケーションの作成方法を選択 "
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "EPSGコードを指定"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr "地理参照ファイルを選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 #, fuzzy
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr "WKTまたはPRJファイルを選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "パラメータをリストから選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr "PRJ.4パラメータ入力"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "XY平面空間指定"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "投影法の選択 "
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "コード "
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "投影コード: "
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "説明文を検索: "
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "リストが読ません: %s "
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "投影パラメータを選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "データムまたは楕円体の選択 (次のページ) "
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "楕円体に関連づけられたデータム "
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "楕円体のみ "
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "%s の値を入力してください"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "投影法 %s のパラメータを入力 "
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "測地系データムの定義 "
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "楕円体"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "データムコード:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "楕円体定義"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "データベース "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "楕円体コード:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "地理参照ファイルの選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "地理参照ファイル:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "WKTファイル:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "EPSGコードの選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "EPSGコードファイルのパス:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "EPSGコード:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "EPSGコードファイルの選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr " EPGSコードが読めません: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "地理参照パラメータの定義方法の選択"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "PROJ.4パラメータの入力:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "データムの変換が必要です."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "要約"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "GRASSデータベース:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "ロケーション名:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "ロケーションタイトル:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "投影法:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "PROJ.4 定義:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "慣例"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "GRASS ロケーションを作成しますか <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "新しいロケーションを作成しますか?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "新しいロケーション定義"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2377,16 +2378,16 @@ msgstr ""
 "\n"
 "詳細: %(err)s "
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr ""
 "ロケーションウイザードはキャンセルされました。ロケーションは作成されません"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "新しいロケーションは作成できません"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2395,16 +2396,16 @@ msgstr ""
 "ロケーション <%(loc)s> がディレクトリ<%(dir)s>に作成されます 必要ならばGRASS"
 "のスタートアップ画面でデフォルトディレクトリを変更してください"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "新しいGISデータディレクトリ"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "EPSGコードがありません"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr "ファイル <%s> が見つかりません"
@@ -2825,7 +2826,16 @@ msgstr "ラベル追加 "
 msgid "Remove selected class"
 msgstr "選択したマップセット名を変更する "
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2836,73 +2846,98 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>:レイヤータイプ <%(type)s>はサポートされていません"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "コマンド終了"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "詳細:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "未サポートレイヤータイプ '%s'"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "マップレイヤーの削除 "
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "レンダリング "
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "データ ロード中... "
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "レンダリング "
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "レンダリング "
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "デフォルト領域でズーム"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 "GRASS モジュール '%s'が見つかりません. マップディスプレイモードをスタートでき"
 "ません."
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr "エラー: オープンできません '%(file)s'. 理由: %(ret)s. wxGUI 終了.\n"
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr " EPGSコードが読めません: %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "間違った値: %s "
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "ラスターマップ <%s> をズーム出来ません"
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "詳細:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "ベクトルマップを作れません <%s>"
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "ラスターマップ <%s> をズーム出来ません"
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
@@ -2910,69 +2945,39 @@ msgstr ""
 "現在の地理的範囲を取得することができません。wxGUIを強制終了します。手動でg."
 "regionを実行し問題を解決してください"
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "マップレイヤー <%s> をレンダリング出来ません"
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "<%s> をレンダーオーバーレイできません"
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "データ ロード中... "
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "レンダリング "
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "レンダリング "
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "理由"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "メッセージ "
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "実行失敗:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "エラー:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "コマンドが実行できません: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "%s でエラー "
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "ファイル <%s> がオープン出来ません"
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2985,12 +2990,12 @@ msgstr ""
 "\n"
 "スキップされた行数: %(line)d  "
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr " 行 %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -3003,30 +3008,35 @@ msgstr ""
 "\n"
 "オプション <%(opt)s>: wxGUIでは標準入力からの読込はサポートされていません"
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "ファイル <%s> が見つかりません"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr "データが矛盾した状態か破損して残っていますので注意してください"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "コマンド中止"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "コマンド終了"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3222,39 +3232,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "ベクトルマップ <%(map)s>: %(msg)s\n"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "%s' がオープンできません"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr "エラー: GRASSバージョンを決定できません. 詳細Details: %s"
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "ファイル <%s> がオープン出来ません"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "重複する属性"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr " EPGSコードが読めません: %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "カラー選択 "
 
@@ -3324,11 +3334,11 @@ msgstr ""
 "用紙の端"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr "フォント:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "フォントサイズ:"
@@ -3342,7 +3352,7 @@ msgid "Close dialog and apply changes"
 msgstr "変更を行わずにダイアログを閉じる"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "変更を保存する"
 
@@ -3359,7 +3369,7 @@ msgstr "フォーマット"
 msgid "Orientation"
 msgstr "回転:"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr "幅"
 
@@ -3404,7 +3414,7 @@ msgid "Map frame settings"
 msgstr "ラスター設定"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr "縮尺"
 
@@ -3432,7 +3442,7 @@ msgstr "固定スケールとマップ中心"
 msgid "Map selection"
 msgstr "投影法の管理 "
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "マップセット:"
 
@@ -3456,7 +3466,7 @@ msgstr "E:  "
 msgid "N:"
 msgstr "N: "
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr "スタイル:"
 
@@ -3470,7 +3480,7 @@ msgstr "マップ最大解像度 (dpi):"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "第1選択"
 
@@ -3506,163 +3516,164 @@ msgstr "マップレイヤーが選択されていません "
 msgid "No region selected!"
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr "無効なスケールまたはマップ中心!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "ラスターマップ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr "ラスターマップ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr "ラスターマップ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr "ラスター:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "先にマップフレームを作成してください"
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr "レイヤーグループ追加 "
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr "ポイント"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr "ライン"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "エリア"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr "データタイプ "
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "加算"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr "ベクトルマップの消去"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr "一番上のベクトルマップはその他と重なります"
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "上"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr "下"
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "削除 "
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr "プロパティ "
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr "ラスター設定"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr "ベクトル設定"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr "%s プロパティ "
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr "断面図"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr "フィーチャタイプ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr "セントロイド"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr "境界"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr "断面図"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "DBファイルに接続設定が定義されていません"
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr "レイヤー削除"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr "カテゴリのリスト(例、1,3,5-7)"
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "マスク "
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr "現在のマップセット以外を除去"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr "カラー"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr "航程線 "
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr "輪郭を描く"
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr "幅:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3670,220 +3681,220 @@ msgstr "幅:"
 msgid "Color:"
 msgstr "カラー:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr "ワイヤー色:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr "ディレクトリ選択:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr "マップテーブル列からのカラー:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr "テーブル列からの塗りつぶしカラーに対する効果はありません"
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr "カラールール"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr "ラインスタイル"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "シンボロジー"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr "シンボル:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr "WKTファイル:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr "ファイル名を入力またはブラウザをクリックしてファイルを選択"
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr "DXFファイル選択:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr "サイズ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr "全列を消去"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr "再スケール"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr "回転:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr "シンボルを回転:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr "度で反時計回りに"
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr "全列を消去"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr "線幅(ピクセル):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr "対話形式でカテゴリー値を編集"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr "粗密型:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr "DXFファイル選択:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr "アスター"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr "パターン使用:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr "入力ディレクトリ選択 "
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr "線幅(ピクセル):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr "パターンスケールファクター"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr "ラスターシリーズ "
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr "凡例表示"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr "列名"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr "ベクトル → ラスター "
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr "ラスターマップの選択:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr "%(rast)s: タイプ %(type)s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr "凡例表示"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr "離散凡例(カテゴリマップ)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr "連続カラーグラデーション凡例(浮動小数点マップ)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr "詳細設定"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr "\"no data\" ボックスを描く"
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr "カラーテーブル全体にチェックマークを描く"
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "範囲"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr "ベクトルライン"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr "ベクトルライン表示"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr "ベクトルマップの重ね合せ "
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr "ベクトルマップと凡例での順序を選択"
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "ベクトルマップ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "ラベル追加 "
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "凡例の周りに罫線を引く"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr "サイズと位置"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "位置 "
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr "編集フィールドを空にしてデフォルト値を使用"
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
@@ -3891,15 +3902,15 @@ msgstr ""
 "カラーシンボル(ライン用)の幅\n"
 "凡例テキストの前"
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr "列"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr "列"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
@@ -3907,36 +3918,36 @@ msgstr ""
 "左端の間での列分離距離\n"
 "複数列凡例の2列の"
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr "凡例ラベルを編集:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr "ラスター"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "一般設定"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr "一般設定"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr "使用| X 座標 "
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr "背景色:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
@@ -3944,256 +3955,256 @@ msgstr ""
 "現在の投影の単位はサポートされていません,\n"
 " メートルが使用されます!"
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr "サポートしていないレイヤーのタイプ '%s'"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr "長さ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr "縮尺バーの長さはマップの単位で指定されています"
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr "用紙上の縮尺バーの高さは実際の高ささす"
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr "デフォルト"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr "タイプ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr "マップセット名変更"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr "すべてにラベルを付ける"
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr "凡例"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr "透明なテキスト背景"
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr "スケールバーの長さは定義されていません"
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "テキスト "
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "テキスト入力:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr "テキスト設定"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr "テキスト背景"
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr "ハイライト"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "第1選択"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr "オフセット"
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr "水平な(pts)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr "垂直な(pts)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr "左: 新規ポイント "
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr "テキスト設定"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr "テキスト回転(反時計回り)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr "テキストは入力されていません!"
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "画像 "
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "入力ディレクトリ選択 "
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "入力ディレクトリ選択 "
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "スケールと方位"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "回転:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 #, fuzzy
 msgid ""
 "PIL\n"
 "missing"
 msgstr "発光度"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr " EPGSコードが読めません: %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 #, fuzzy
 msgid "North Arrow"
 msgstr "スケールと方位"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "設定情報 "
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "ポイント"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "シンボル"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "矩形で選択"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "ライン色"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "透過 "
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "ワイヤー色:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "サイズと位置"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "サイズ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "シンボルサイズ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "設定変更 "
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "設定変更 "
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "線幅(ピクセル):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "ベクトルラベル"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4339,42 +4350,42 @@ msgstr "クリックそれからドラッグをしてオブジェクトのサイ
 msgid "labels: "
 msgstr "ラベル追加 "
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "ファイル <%s> がオープン出来ません"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr "命令ファイルは次の領域で読み込まれます: %s\n"
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr "領域をセットできません%s"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr "リストが読ません: %s "
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
@@ -4383,7 +4394,7 @@ msgstr ""
 "スケールは変更しました, old value: %(old)s\n"
 "new value: %(new)s"
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
@@ -4392,7 +4403,7 @@ msgstr ""
 "命令の読み込みに失敗しました %s.\n"
 "1:25000 表記を使用."
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
@@ -4401,7 +4412,7 @@ msgstr ""
 "マップフレームの位置は変更しました, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
@@ -4410,7 +4421,7 @@ msgstr ""
 "マップフレームのサイズは変更しました, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
@@ -4419,13 +4430,13 @@ msgstr ""
 "%(file)s の指示が読み込めませんでした\n"
 "不明なフォーマット %(for)s "
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr "リストが読ません: %s "
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
@@ -4434,8 +4445,8 @@ msgstr ""
 "位置%sの文字はモジュールps.mapに必要なISO-8859-1(Latin 1)エンコーディングに"
 "よってサポートされていません."
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
@@ -4443,7 +4454,7 @@ msgstr ""
 "モジュールps.mapに必要なISO-8859-1(Latin 1)エンコーディングによってサポート"
 "されていない文字もあります."
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "リストが読ません: %s "
@@ -4496,27 +4507,27 @@ msgstr "パラメータ"
 msgid "degree"
 msgstr "Dツリー"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr "ラスターマップをアンロード出来ません"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr "マッピング命令を含むテキストファイルを作成"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr "マッピング命令を含むテキストファイルの読み込み"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr "ポストスクリプト出力ユーティリティ "
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "ポイントの作成"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "用紙のサイズ、余白、方向を指定"
 
@@ -4532,7 +4543,7 @@ msgstr "デフォルト領域でズーム"
 msgid "Click and drag to place map frame"
 msgstr "マップフレームを配置する場所へクリックしてドラッグする"
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr "選択ロケーションを削除する"
 
@@ -4544,13 +4555,13 @@ msgstr "グリッド表示"
 msgid "Quit Cartographic Composer"
 msgstr "カートグラフィックコンポーザーを終了する"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "マップエレメント追加 "
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "レイヤー追加"
@@ -4605,22 +4616,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "サポートしていないレイヤーのタイプ '%s'"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr " EPGSコードが読めません: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "新規マップ表示開始 "
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr " EPGSコードが読めません: %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "新規マップ表示開始 "
@@ -4656,30 +4672,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - マップ ディスプレイ "
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "エラー: GRASSバージョンを決定できません. 詳細Details: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS マップ表示: %(id)d  - ロケーション: %(loc)s"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "2Dビュー "
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4690,11 +4707,11 @@ msgstr ""
 "\n"
 "詳細: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr "ベクトルデジタイザーツールバー "
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4709,117 +4726,130 @@ msgstr ""
 "\n"
 "詳細: %s "
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "3D ビューモード スタート..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "しばらくお待ちください ロード中... "
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "しばらくお待ちください ロード中... "
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 #, fuzzy
 msgid "Switching back to 2D view mode..."
 msgstr "2Dビューモードへ戻る"
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "マップツールバー "
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "デジタイズ"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "ベクトルデジタイザエラー"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "表示するものがありません (マップは空です). 処理はキャンセルされました."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "更新するためのベクトルマップ <%s> が選択されていません"
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr "検索のためのラスターまたはベクトルマップレイヤーが選択されていません"
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "テキストレイヤー追加 "
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "デフォルト領域でズーム"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "保存領域でズーム"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "表示域からの解析領域を設定"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "解析領域でズーム (g.regionで設定)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "表示域からの解析領域を設定"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "ジオメトリを領域名を付けて保存"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "表示域からの解析領域を設定"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "ベクトルデジタイザーツールバー "
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "レンダリング "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "オートレンダリング 許可/禁止 "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "編集範囲表示"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "計算範囲表示"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4828,16 +4858,16 @@ msgstr ""
 "(g.regionで設定された)解析領域境界の表示/非表示 解析領域は青で表示、表示領域"
 "は赤で表示 "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "表示モード"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
 msgid ""
 "Align region extent based on display size from center point. Default value "
@@ -4846,17 +4876,17 @@ msgstr ""
 "計算を行うための表示解像度を設定 デフォルト値は 「ユーザーGUI設定」 ダイアロ"
 "グでセットできます "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "領域表示"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "計算を行うための表示解像度を設定 "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4864,66 +4894,66 @@ msgstr ""
 "計算を行うための表示解像度を設定 デフォルト値は 「ユーザーGUI設定」 ダイアロ"
 "グでセットできます "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "縮尺"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "進む"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "投影法が定義されていません(設定をチェック)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "投影法エラー(設定をチェック)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "投影法"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "定義された投影法を使用"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "マスク "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "ジオメトリ表示"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "座標"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "範囲"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "解析領域でズーム (g.regionで設定)"
@@ -4940,103 +4970,113 @@ msgstr "選択したラスター/ベクトルマップの検索"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "ベクトルフィーチャ選択"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "ラスターマップとベクトルマップの幾何補正 "
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "スケールと方位 表示/非表示"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "凡例 表示/非表示"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "スケールと方位 表示/非表示"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "マップの分析 "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "計測, プロファイル, ヒストグラム, ..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "距離の測定 "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "距離の測定 "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "横断表層マップ"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "画像/ラスタ-ファイルのヒストグラム作成 "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr "画像/ラスタ-ファイルのヒストグラム作成 "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "ネットワーク解析 "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "マウスのドラッグでパン "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "マウスのドラッグで拡大表示 "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "マウスのドラッグで縮小表示 "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "3D表示"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "3Dビューモードは使用できません"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "理由: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "ベクトルデジタイザは利用できません"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
@@ -5046,6 +5086,11 @@ msgstr ""
 "う). GRASSのアップデートされたバージョンに注意してください. それまではベクト"
 "ル作成メニューから\"v.digit\"を使用できます"
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "デジタイザー終了"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5843,13 +5888,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "量子化 "
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "説明 "
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "エクスポート "
@@ -5859,12 +5904,12 @@ msgstr "エクスポート "
 msgid "Add time stamp"
 msgstr "タイムスタンプ "
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "レイヤーグループ追加 "
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr "テキストレイヤー追加 "
 
@@ -5887,7 +5932,7 @@ msgid "Sample text"
 msgstr "サンプル横断面"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5904,7 +5949,7 @@ msgid "Choose image file"
 msgstr "DXFファイル選択:"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "テキスト "
@@ -5936,7 +5981,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "エクスポート "
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -5945,14 +5990,14 @@ msgstr ""
 msgid "animation_"
 msgstr "量子化 "
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "フォーマット:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "ディレクトリ:"
 
@@ -6095,7 +6140,7 @@ msgstr "先にマップフレームを作成してください"
 msgid "Animation Tool settings"
 msgstr "量子化 "
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6152,22 +6197,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "無効:"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "マップレイヤーの削除 "
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "マップレイヤーの削除 "
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "ベクトルマップ <%s> が見つかりません"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6207,7 +6252,7 @@ msgstr "マップツールバー "
 msgid "Animation Toolbar"
 msgstr "マップツールバー "
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "マップツールバー "
@@ -6252,8 +6297,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "マップ <%s> が見つかりません "
@@ -6297,7 +6342,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "画像補正中, しばらくお待ちください..."
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6321,37 +6366,37 @@ msgstr "レイヤーツリーにレイヤーを追加 "
 msgid "No map series nor space-time dataset is added."
 msgstr "ベクトル."
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "マップ <%s> が見つかりません "
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6370,12 +6415,12 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 #, fuzzy
 msgid "Stop"
 msgstr "ストップ(&S)"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6412,14 +6457,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "画像/ラスタ-ファイルのヒストグラム作成 "
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "描画"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "ヘルプ "
 
@@ -6436,21 +6481,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "元のマップセットの選択:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "ベクトルマップ <%s> が見つかりません"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6479,611 +6524,611 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "タイムスタンプ "
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "ラスターデータのインポート "
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "ベクトルデータのインポート "
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "ラスターデータのインポート "
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "マップセット:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "縮尺"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "タイムスタンプ "
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "トポロジーの再ビルド"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "ビュー"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "外観"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "分析 "
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "量子化 "
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr "コントロールビュー"
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "視角:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Z-鉛直:  "
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 #, fuzzy
 msgid "Look:"
 msgstr "視線: "
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "球"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "レンダリング "
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "上"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "リセット"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "デフォルトビューのリセット"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr "外観イメージ"
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "記録"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "マップセット名変更"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 #, fuzzy
 msgid "Save image sequence"
 msgstr "イメージサイズの設定"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "入力ディレクトリ選択 "
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "曲面"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "表層断面図 "
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "ベクトル"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "3Dラスター:"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "照明"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr "フリンジ"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "モード:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "粗い "
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "細かい"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "両方"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "シェーディング: "
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "フラット "
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "グロー "
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "全てにセット"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "ロードされた全曲面に描画設定を適用"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "粗い:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "解像度:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "スタイル"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "ワイヤー "
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "曲面"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "ワイヤー色"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "見つかったモジュール"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "曲面属性 "
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "透明度"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "光沢度"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "マップ"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "解除"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "定数"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "リセット"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "デフォルトビューのリセット"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "カラー"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "カラーで"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 #, fuzzy
 msgid "Horizontal X:"
 msgstr "水平角度 "
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 #, fuzzy
 msgid "Horizontal Y:"
 msgstr "水平角度 "
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "回転:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "新規 "
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "解像度:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "値"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "透明度"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "ベクトルライン表示"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "ベクトルライン"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "ライン:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "幅:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "カラー:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 #, fuzzy
 msgid "use color for thematic mapping"
 msgstr "主題図作成等の属性データの分類"
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 #, fuzzy
 msgid "use width for thematic mapping"
 msgstr "主題図作成等の属性データの分類"
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "オプションのセット "
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "表示"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "表層"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "表層からの高さ:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "ベクトルポイント表示"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "ベクトルポイント"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "アイコン:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 #, fuzzy
 msgid "use size for thematic mapping"
 msgstr "主題図作成等の属性データの分類"
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "3Dラスターマップ"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "等位面"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "解像度:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "等位面リスト "
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr "光モデル表示"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr "光源位置"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "光の色と強調"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "明るさ:"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr "周囲:"
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr "フリンジ付きエッジ"
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "北 && 西"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "北 && 東"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "南 && 西"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "南 && 東"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr "底部からフリンジの標高:"
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "境界色:"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "使用| X 座標 "
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "レイヤー追加"
@@ -7496,15 +7541,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr "ラスターマップ <%s> が見つかりません"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr "ベクトルマップ <%s> が見つかりません"
@@ -7515,12 +7560,14 @@ msgid "3d raster map <%s> not found"
 msgstr "3Dラスターマップ <%s> が見つかりません"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "ラスターデータのインポート "
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "外部ラスターデータへのリンク"
 
@@ -7536,12 +7583,14 @@ msgid "Set raster output format"
 msgstr "出力フォントの選択 "
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "ベクトルデータのインポート "
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "外部ベクトルデータへのリンク"
 
@@ -7564,7 +7613,7 @@ msgstr "WMSサーバーからデータをインポート "
 msgid "Add command layer"
 msgstr "コマンドレイヤー追加 "
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "終了 "
@@ -7669,200 +7718,203 @@ msgstr "ベクトルマップのエクスポート "
 msgid "Export PostGIS"
 msgstr "Pythonスクリプトでモデルを出力"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "属性テーブル作成"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "RGB 作成 "
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "現在のマップセットから %d 個のデータを削除"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "カラーテーブルのセット"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "属性データを表示 "
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "編集開始 "
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "編集終了 "
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "トポロジーの再ビルド"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "選択したマップのズーム (未選択は不可) "
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "または対話的に値を入力します"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "ヒストグラム"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "単変量ラスター統計"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "レポートと統計"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "プロファイル"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "選択レイヤーの削除 "
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "ラスターマップの断面を作成できません "
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "間違った領域"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "未サポートレイヤータイプ '%s'"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "新しいマップセット名:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "不透明度のセット <%s> "
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "ベクトルマップ <%s> は既に存在します。上書きしますか?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "上書きしますか?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "ベクトルマップがオープンできません <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "ベクトルマップ <%s> が見つかりません"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "ラスターマップのヒストグラムを表示できません "
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "不透明度のセット <%s> "
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "レイヤーグループ: "
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "クリックでレイヤー設定の編集 "
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(ダブルクリックでプロパティの設定) "
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "データの更新中 しばらくお待ちください... "
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "不透明度:"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS GIS レイヤーマネージャー "
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "ワークスペース ツールバー"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "データツールバー "
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "マップツールバー "
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr "ベクトルツールバー "
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "3Dビューツールバー"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "マップディスプレイ"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "マップレイヤー"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "コマンドコンソール"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "検索モジュール"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "断面図"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Pythonシェル"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7870,12 +7922,12 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "新しいロケーションを作成しますか?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7884,33 +7936,33 @@ msgstr ""
 "現在のロケーションは <%(loc)s>.\n"
 "現在のマップセットは <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr "デフォルト領域と解像度をセットしますか?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "ロケーション <%s> が作成されました"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "実行するモデルの選択"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "ワークスペースの変更を保存しますか? "
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "ワークスペースファイルの設定を保存しますか?  "
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "マップ画面を閉じる %d  "
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
@@ -7919,159 +7971,160 @@ msgstr ""
 "コマンド '%s' はまだGUIで実装されていません. コマンドラインより実行してくださ"
 "い."
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "選択した地図はベクトルではありません."
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "編集は、現在のマップセットからベクトルマップにのみ許可されています"
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "実行するスクリプトファイルの選択"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Python スクリプト (*.py)|*.py|Bash スクリプト (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "スクリプトファイル '%s' は存在しません. 処理はキャンセルされました."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "領域設定"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "SQLクエリ '%s' が実行できません 処理がキャンセルされました"
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "スクリプト実行 '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "新しいマップセット名:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "新しいマップセットの作成 "
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "現在のマップセットは <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "作業環境を変更する "
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "入力ディレクトリ選択 "
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "入力ディレクトリ選択 "
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "GRASSを実行する"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "不明な値"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "GIS ライブラリ  "
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "SQLビルダー"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -8079,60 +8132,60 @@ msgstr ""
 "現在のワークスペースは空ではありません.ワークスペースに現在の設定を適用しま"
 "すか?  "
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "新しいワークスペースを作成? "
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "ワークスペースファイルの選択 "
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "GRASS ワークスペースファイル (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "しばらくお待ちください.ワークスペースロード中... "
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "ロードする GRC ファイルの選択 "
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "旧 GRASS ワークスペースファイル (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "現在のワークスペースをファイルに保存 "
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "ワークスペースファイル <%s> は既に存在します.上書きしてよろしいですか?  "
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "ワークスペース保存 "
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr "現在のワークスペースの設定を書きこむことができませんでした."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "新しいマップセット名:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS マップ表示: %(id)d  - ロケーション: %(loc)s"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, fuzzy, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8140,32 +8193,32 @@ msgid ""
 "Reason: %s"
 msgstr "アイコンテーマがロード出来ません 理由: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "新しいレコードを挿入出来ません"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "新しいレコードを挿入出来ません"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr "レイヤーツリーにレイヤーを追加 "
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "未サポートレイヤータイプ '%s'"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8176,69 +8229,64 @@ msgstr ""
 "%s\n"
 " レイヤーツリーから削除しますか?  "
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr "レイヤーツリーから選択したマップレイヤーを削除しますか?  "
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "マップレイヤーの削除 "
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "GRASS GUI 終了 "
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "エラー: GRASSバージョンを決定できません. 詳細Details: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr "wxGUI対話式Pythonシェル%sへようこそ"
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr "%sを入力してGRASSスクリプト関連のさらに詳しい情報を得る"
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr "%sを入力してラスターまたはベクトルをレイヤーツリーに追加する"
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr "シェルから全てのテキストを削除する"
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "マップ <%s> が見つかりません "
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "マップ <%s> が見つかりません "
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "新しいベクトルマップ <%s> が作成されました"
@@ -8305,7 +8353,7 @@ msgstr "ラスターマップのインポート "
 msgid "Raster Map Calculator"
 msgstr "ラスターマップカリキュレータ"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "描画モデラー"
 
@@ -8405,7 +8453,7 @@ msgid "Ignore changes and close dialog"
 msgstr "変更を行わずにダイアログを閉じる"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "変更してダイアログを閉じる "
 
@@ -8746,29 +8794,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr "Z軸ラベル設定ダイアログ "
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "ベクトルデジタイザエラー"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "ベクトルデジタイザは利用できません"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "ベクトルマップ <%s> が見つかりません"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "新しいベクトルマップ <%s> が作成されました"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "ベクトルマップを作れません <%s>"
@@ -8981,7 +9029,7 @@ msgstr "ベクトルデジタイザエラー"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "追加ツール(コピー、フリップ、コネクト、etc.) "
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "取り消し "
 
@@ -9058,7 +9106,7 @@ msgstr "ベクトルマップは3Dではありません 処理はキャンセル
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "ベクトルマップの選択"
 
@@ -9090,11 +9138,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "座標系が間違っています 処理がキャンセルされました"
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "ベクトルデジタイザエラー"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9121,184 +9164,184 @@ msgstr "ベクトルマップ <%s> の修正は成城に終了しました"
 msgid "New vector map"
 msgstr "新しいベクトルマップ"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr "サーバー設定"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "サーバー:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "接続(&C)"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "サーバーに接続"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "詳細設定"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "詳細設定"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "レイヤーマネージャー設定"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "ベクトル"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "名前変更 "
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 #, fuzzy
 msgid "No data source defined, settings are not saved."
 msgstr "名前が指定されていません, 設定は保存されません."
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, fuzzy, python-format
 msgid "Connected to <%s>"
 msgstr "モデルのエクスポート <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "ベクトルマップがオープンできません <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "グリッドレイヤー追加 "
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "レイヤー追加(&A)"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "レイヤーツリーにレイヤーを追加 "
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "レイヤープロパティ"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr "適用(&A)"
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "出力するラスターマップ名:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "領域設定"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "マップディスプレイ"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "ロードする領域: "
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "計算を行うための表示解像度を設定 "
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "表示域からの解析領域を設定"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "挿入する既存ラスターマップ名"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "ロードする領域: "
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "レイヤー削除(&R)"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "選択レイヤーの削除 "
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "現在のマップセットから %d 個のデータを削除"
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "ファイルはすでに存在します"
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "新しいベクトルマップ <%s> が作成されました"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "データ ロード中... "
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "設定できません"
@@ -9413,7 +9456,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "レイヤー名"
 
@@ -9428,8 +9472,8 @@ msgstr "スタイル"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "ループ追加 "
+msgid "Add default"
+msgstr "デフォルト"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9438,164 +9482,171 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "GRASSデータディレクトリの選択:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "GRASSロケーションからマップセット選択"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "GRASSのロケーションとマップセットを選択"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "GRASSを実行する"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "参照(&B)"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 "マップセットの新規作成\n"
 "(選択したロケーション内)"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "選択したロケーション名を変更する "
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "削除 "
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "選択ロケーションを削除する"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "名前変更(&R)"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "選択したマップセット名を変更する "
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "削除 "
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "マップセットを削除"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "GRASS GIS レイヤーマネージャー "
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "GRASSを実行する"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr "GRASSデータベースをセット出来ません 設定をチェックして下さい"
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "エラー: ロケーション <%s> がありません "
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "エラー: マップセット <%s> がありません "
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "エラー:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "ラスターデータのインポート "
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "GRASS ロケーションを作成しますか <%s>?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "ベクトルマップ<%s> の幾何補正に失敗しました"
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9605,7 +9656,7 @@ msgstr ""
 "\n"
 "このマップセットの名前は変更できません."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9616,7 +9667,7 @@ msgstr ""
 "\n"
 "新しい名前:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9627,7 +9678,7 @@ msgstr ""
 "\n"
 "マップセット <%s> はすでにロケーション内に存在します."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9638,7 +9689,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9649,7 +9700,7 @@ msgstr ""
 "\n"
 "ロケーション <%s> はすでにGRASSデータベース内に存在します."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9660,7 +9711,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9670,7 +9721,7 @@ msgstr ""
 "\n"
 "このマップセットの名前は削除できません."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9682,11 +9733,11 @@ msgstr ""
 "\n"
 "マップセットに含まれるマップは全て削除されます!  "
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "マップセットを削除できません "
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9697,32 +9748,32 @@ msgstr ""
 "\n"
 "このロケーションに含まれるすべてのマップが削除されます"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "ロケーションを作成できません"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "GISデータディレクトリの選択"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, fuzzy, python-format
 msgid "Mapset <%s> already exists."
 msgstr "ファイルはすでに存在します"
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9731,17 +9782,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "選択したマップセット名を変更する "
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "マップセットの作成ができません: %s "
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9759,11 +9810,11 @@ msgstr ""
 "\n"
 " .gislock ファイルを削除して継続を試みますか (この操作には権限が必要です)?"
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr "ロックファイルが見つかりました"
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9775,7 +9826,7 @@ msgstr ""
 "他にGRASSのセッションが動作中であれば、データを破損する可能性があります。タス"
 "クマネージャにて再度確認してください..."
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9786,14 +9837,19 @@ msgstr ""
 "\n"
 "詳細: %(reason)s"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "間違った領域"
+
+#: ../gui/wxpython/gis_set.py:1101
 #, fuzzy
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
@@ -9803,29 +9859,155 @@ msgstr ""
 "GRASSをスタートさせるためにはデータを格納するディレクトリが必要ですので、作成"
 "してください。一般には \"grassdata\"が使用されます。"
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "ファイル(&F)"
-
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "ワークスペース "
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "新しいベクトルマップ "
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "ワークスペース新規作成 "
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "ラスターマップ名:"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "開く"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "ベクトルマップの選択"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "ファイルからワークスペースをロード "
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "ラスターマップ名:"
+
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "ラスターマップで形状係数を解析"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "ベクトルマップ <%s> は既に存在します。上書きしますか?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "先にマップフレームを作成してください"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "モデルの変更を保存しますか? "
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "変更を保存"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "ラスターマップの断面を作成できません "
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "ベクトルマップを作れません <%s>"
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "レンダリング "
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "ラスターマップ用カラーテーブルを作成"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "フィーチャをデジタイズ"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "ラインをデジタイズ "
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "ポイントをデジタイズ "
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "ラスターマップの重ね合せ "
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "デジタイザー終了"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "ラスターマップの選択:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "セル値"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "ラスターマップ"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "ファイル(&F)"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "ワークスペース "
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "ワークスペース新規作成 "
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "開く"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "ファイルからワークスペースをロード "
 
 #: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/modules/colorrules.py:419
 msgid "Save"
 msgstr "保存 "
 
@@ -10601,7 +10783,7 @@ msgstr "描画モデラー"
 msgid "Launch Graphical modeler"
 msgstr "描画モデラー起動"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "モデル実行"
 
@@ -10663,7 +10845,7 @@ msgstr "スクリプト実行"
 msgid "Launches script file."
 msgstr "スクリプトファイル起動."
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "閉じる "
@@ -10673,8 +10855,8 @@ msgstr "閉じる "
 msgid "Quit wxGUI session."
 msgstr "wxGUIセッション終了"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "GRASS GUI 終了 "
@@ -12202,8 +12384,8 @@ msgid "Develop vector map"
 msgstr "ベクトルマップの作成 "
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "新しいベクトルマップ "
 
@@ -14250,15 +14432,15 @@ msgstr "計算範囲表示"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "カテゴリーモード"
+msgstr "画像/ラスタ-ファイルのヒストグラム作成 "
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "計算範囲表示"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "ヘルプ(&H)"
 
@@ -14379,156 +14561,164 @@ msgstr "ループ追加 "
 msgid "Adds loop (series) to model"
 msgstr "モデルに(for)ループ追加"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "条件追加"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "モデルに(if/else)条件追加"
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "モデルに(if/else)条件追加"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "アイテム削除"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "モデルからアクション/データ消去"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "モデルプロパティ(名前,目的,etc.)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "中間データ削除"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "モデル内に定義された中間データ削除"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "全体モデル実行"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "モデル検証"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "全体モデル検証"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "画像モデラーのHTMLマニュアルを表示"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "描画モデラーについて"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "画像モデラーに関する情報表示"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "リストが読ません: %s "
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "イメージにエキスポート"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Pythonスクリプトでモデルを出力"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "エクスポート "
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "スクリプト実行"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "カートグラフィックコンポーザー"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 #, fuzzy
 msgid "&Insert"
 msgstr "インストール(&I)"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "マップフレームの周囲に境界線を描きます"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "3Dラスターマップ追加 "
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "ベクトル"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "凡例追加 "
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "ラスターマップのインポート "
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "マップエレメント追加 "
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "レイヤー追加"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "縮尺と方位を追加 "
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "画像モデラーのHTMLマニュアルを表示"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "カートグラフィックコンポーザーを終了する"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "画像モデラーに関する情報表示"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14543,114 +14733,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "画像/ラスタ-ファイルのヒストグラム作成 "
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "ラスター設定"
+msgstr "間違った領域"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "属性列:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "ラスターマップ3 選択(オプション):"
+msgstr "ベクトルフィーチャ選択"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "カテゴリーモード"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "間違った領域"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "間違った領域"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "間違った領域"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "間違った領域"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -14846,7 +15036,7 @@ msgstr "SQL文は有効です"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -14854,7 +15044,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "GRASS GIS 属性テーブルマネージャー "
 
@@ -14982,7 +15172,7 @@ msgid "Field calculator"
 msgstr "マップカリキュレータ"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr "列追加"
 
@@ -15083,15 +15273,15 @@ msgstr "選択レコードの削除"
 msgid "Delete all records"
 msgstr "全レコード削除"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "すべて選択"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "全選択解除"
 
@@ -15282,7 +15472,7 @@ msgid "Driver"
 msgstr "ドライバ"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "データベース "
 
@@ -15410,207 +15600,207 @@ msgstr "新しいロケーションは作成できません"
 msgid "Field statistics <%s>"
 msgstr "3Dグリッド統計"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "ダイアログを閉じる"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "ダイアログを閉じる"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "ベクトル属性データの検索"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "ベクトルマップの選択:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "カラーテーブルのセット"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "ロードする GRC ファイルの選択 "
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "ロード"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "ロードする GRC ファイルの選択 "
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "設定(&S)"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "現在のワークスペースを保存 "
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "現在のワークスペースを保存 "
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "現在のワークスペースを保存 "
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "デフォルトビューのリセット"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "プレビュー "
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "領域<%s>がすでに存在します。上書きしてよろしいですか? "
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr "保存するものがありません"
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "カラーテーブルのセット"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr "ルールの値が違います '%s'. カラーテーブルに適用できません."
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "ラスターマップ用カラーテーブルを作成"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr "ラスターカテゴリー値またはパーセントの入力 "
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr "有効範囲 "
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr "ラスターカテゴリー値または範囲の入力 (%(range)s = %(min)d-%(max)d)"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "ベクトルマップ用カラーテーブルを作成"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "ベクトルの属性値または範囲(NまたはN1~N2)を入力"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "ベクトル属性データの検索"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "ベクトルマップの選択"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "レイヤー:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "属性列:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "RGB色の列:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "RGB色の列:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "全列を消去"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "ラスターシリーズ → ボリューム"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "ファイルからワークスペースをロード "
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "属性テーブルの削除"
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "カラーテーブルのセット"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -15619,60 +15809,60 @@ msgstr ""
 "ベクトルマップ <%s> はDB接続の定義がされていません 接続の設定は レイヤー管"
 "理' タブで行ってください"
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "データベース接続"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, fuzzy, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr "ベクトルマップ <%s> は既に存在します。上書きしますか?"
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "しばらくお待ちください 属性データをロード中... "
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "ベクトルの属性値または範囲(NまたはN1~N2)を入力"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "ベクトルの属性値または範囲(NまたはN1~N2)を入力"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "ベクトルマップのトポロジーの編集ツールキット"
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15724,23 +15914,23 @@ msgstr "バリオグラムによる表示/再表示"
 msgid ":"
 msgstr ":  "
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "クリギング技法"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "ブロックサイズ:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "バリオグラムによる自動配分"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "モデル:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "作業中です! 他の機能は動作しません."
 
@@ -15951,7 +16141,7 @@ msgid "Save expression to file"
 msgstr "式をファイルに保存"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "ロード(&L)"
 
@@ -15960,7 +16150,7 @@ msgid "Load expression from file"
 msgstr "式をファイルからロード"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "クリップボードに現在のコマンド文をコピー"
 
@@ -16126,105 +16316,274 @@ msgstr "ロードする式のファイル名を選択"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' クリップボードにコピーしました"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr "GRASSアドオンからエクステンションを取得&インストール"
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "複数インポート"
 
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "リポジトリ"
+#: ../gui/wxpython/modules/import_export.py:60
+#, fuzzy
+msgid "List of raster layers"
+msgstr "レイヤ一覧  "
 
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:62
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "項目リスト - 右クリックで削除"
+msgid "List of vector layers"
+msgstr "レイヤ一覧  "
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
-msgid "Options"
-msgstr "オプション"
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "%s レイヤ一覧"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr "取得(&F)"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr "GRASSのアドオンSVNリポジトリから利用可能なモジュールの参照リスト"
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "レイヤーID"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr "インストール(&I)"
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "マップ名"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr "選択されたアドオンGRASSモジュールのインストール"
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "投影法"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "終了時にダイアログを閉じる"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
-msgstr "拡張子は定義されていません"
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "インポート(&I)"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
-"GRASSアドオンのSVN(患者が)からモジュールのリストを取得中(お待ちください)..."
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "選択レイヤーをインポート"
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Install"
-msgstr "インストール(&I)"
+msgid "Source settings"
+msgstr "ラスター設定"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "Show manual page"
-msgstr "陰影図 "
-
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "コマンドを解析することができません %s"
+msgid "Import settings"
+msgstr "フォント設定 "
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "GRASS アドオンGRASSモジュールのアンインストール"
+msgid "Add linked layers into layer tree"
+msgstr "レイヤーツリーにインポートレイヤーを追加 "
 
-#: ../gui/wxpython/modules/extensions.py:365
-msgid "List of installed extensions"
-msgstr "インストールされたアドオンGRASSモジュールの一覧"
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "レイヤーツリーにインポートレイヤーを追加 "
 
-#: ../gui/wxpython/modules/extensions.py:370
-#, fuzzy
-msgid "Uninstall"
-msgstr "アンインストール(&U)"
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "リンク(&L)"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "選択レイヤーのリンク"
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "選択されたアドオンGRASSモジュールのアンインストール"
+msgid "No layers selected. Operation canceled."
+msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "Reinstall"
-msgstr "インストール(&I)"
+msgid "Unable to determine number of raster bands"
+msgstr "ラスターマップの断面を作成できません "
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:591
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "選択されたアドオンGRASSモジュールのアンインストール"
+msgid "Define output format for vector data"
+msgstr "ベクトルマップのインポート "
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:593
 #, fuzzy
-msgid "No extension selected. Operation canceled."
-msgstr ""
-"削除するアドオンGRASSモジュールが選択されていません 処理はキャンセルされまし"
-"た "
+msgid "Define output format for raster data"
+msgstr "ラスターマップのインポート "
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/import_export.py:601
+#, fuzzy
+msgid "Set external format and close dialog"
+msgstr "変更を行わずにダイアログを閉じる"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "マップレイヤーが選択されていません "
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "DXFレイヤーのインポート "
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "インポートするDXFファイルを選択"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "マップレイヤーが選択されていません "
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "投影法"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "マップ名"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "消去するレイヤー"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "選択レイヤーをインポート"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr "GRASSアドオンからエクステンションを取得&インストール"
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "項目リスト - 右クリックで削除"
+
+#: ../gui/wxpython/modules/extensions.py:71
+msgid "Options"
+msgstr "オプション"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr "取得(&F)"
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr "GRASSのアドオンSVNリポジトリから利用可能なモジュールの参照リスト"
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr "インストール(&I)"
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr "選択されたアドオンGRASSモジュールのインストール"
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr "拡張子は定義されていません"
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+"GRASSアドオンのSVN(患者が)からモジュールのリストを取得中(お待ちください)..."
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "拡張子リスト"
+
+#: ../gui/wxpython/modules/extensions.py:214
+#, fuzzy
+msgid "Install"
+msgstr "インストール(&I)"
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "陰影図 "
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "コマンドを解析することができません %s"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "GRASS アドオンGRASSモジュールのアンインストール"
+
+#: ../gui/wxpython/modules/extensions.py:366
+msgid "List of installed extensions"
+msgstr "インストールされたアドオンGRASSモジュールの一覧"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "アンインストール(&U)"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "選択されたアドオンGRASSモジュールのアンインストール"
+
+#: ../gui/wxpython/modules/extensions.py:373
+#, fuzzy
+msgid "Reinstall"
+msgstr "インストール(&I)"
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "選択されたアドオンGRASSモジュールのアンインストール"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr ""
+"削除するアドオンGRASSモジュールが選択されていません 処理はキャンセルされまし"
+"た "
+
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -16237,16 +16596,16 @@ msgstr ""
 "\n"
 "これらの拡張機能 <%(ext)s> を本当に削除しますか?"
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr "拡張機能の削除 "
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr "拡張機能"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr "しばらくお待ちください, イメージエクスポート中..."
 
@@ -16395,7 +16754,7 @@ msgid ""
 msgstr "ベクトルマップを作れません <%s>"
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "マップ <%s> が見つかりません "
@@ -16435,11 +16794,6 @@ msgstr "バイナリーファイルのインポート "
 msgid "Export training areas"
 msgstr "イメージにエキスポート"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "属性テーブル作成"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16468,22 +16822,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "マップ <%s> が見つかりません "
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "ラスターマップをロード"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "ラスターマップをロード"
@@ -16534,157 +16888,157 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "幾何補正ツールバー "
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "マップツールバー "
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "マップツールバー "
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "デジタイザーエラー"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "画面を出力 "
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "ターゲット表示"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 #, fuzzy
 msgid "Adjust Training Area Display to Preview Display"
 msgstr "ターゲットからソースへの表示を調整する"
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 #, fuzzy
 msgid "Adjust Preview display to Training Area Display"
 msgstr "ソースからターゲットへの表示を調整する"
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "領域表示"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "領域表示"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "ベクトルマップのインポート "
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "ベクトルマップを作れません <%s>"
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "ベクトルマップがオープンできません <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "ベクトルマップがオープンできません <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "ベクトルマップを作れません <%s>"
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "抽出するものがありません"
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "ベクトルマップを作れません <%s>"
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "分析 "
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "領域<%s>がすでに存在します。上書きしてよろしいですか? "
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "フィーチャーID %d 読み込みエラー 処理がキャンセルされました"
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "フィーチャーID %d は利用不可です 処理がキャンセルされました"
@@ -17153,18 +17507,140 @@ msgstr "RMSエラー"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "前進: %(forw)s, 後退: %(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "GRASS GIS 3Dラスターマップカリキュレータ"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "リストが読ません: %s "
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "リストが読ません: %s "
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "名前変更 "
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "マップセット名変更"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "検証モデル..."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "モデル再描画..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr " EPGSコードが読めません: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "テーブルコピー"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "モデル実行中..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "GRASS ロケーションを作成しますか <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "マップセットを削除"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "削除 "
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "表示"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "コピー "
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "ラスター(&R)"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "マップ表示 "
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr "編集範囲表示"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17172,70 +17648,89 @@ msgstr ""
 "テキストの位置をマウスでドラッグ\n"
 "ダブルクリックでオプション変更 "
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "凡例"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "レイヤー追加"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "縮尺と方位を追加 "
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "%s' クリップボードにコピーしました"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "GCP表示ツールバー"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "%s' クリップボードにコピーしました"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "設定情報 "
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "ベクターマップレイヤーの追加 "
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "ラスターシリーズ "
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "保存領域をズーム"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "表示域からの解析領域を設定"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "領域 <%s> が見つかりません.処理はキャンセルされました."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr "表示範囲を領域ファイルに保存"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "表示域からの解析領域を設定"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "領域<%s>がすでに存在します。上書きしてよろしいですか? "
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -17330,71 +17825,71 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "GRASSのロケーションとマップセットを選択"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "スケールバーの長さは定義されていません"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "GRASSロケーショ名:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "マップセット名:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "GRASSロケーションからマップセット選択"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "マップセット名:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "新しいベクトルマップ名:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "属性テーブル作成"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "レイヤーツリーに作成したマップを追加"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "新しいベクトルマップ名:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "新しいベクトルマップ名:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "キー列:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "ベクトルマップを作れません <%s>"
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
@@ -17403,502 +17898,402 @@ msgstr ""
 "不正もしくは空のキー項目\n"
 "ベクトルマップを作れません <%s>"
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr "ベクトルマップ <%s> は既に存在します。上書きしますか?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "ロードする領域: "
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "領域保存:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "グループの作成/修正"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "変更してダイアログを閉じる "
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "現在のセッションに変更を適用する"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 #, fuzzy
 msgid "Close dialog, changes are not applied"
 msgstr "実行してダイアログを閉じる"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "アスター"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "マップ一覧:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 #, fuzzy
 msgid "Select map layers and add them to the list."
 msgstr "選択した地図はベクトルではありません."
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr "レイヤーツリーから選択したマップレイヤーを削除しますか?  "
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "レイヤーツリーにレイヤーを追加 "
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "変更を保存する"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, fuzzy, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "ベクトルマップ<%s> の幾何補正に失敗しました"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "マップレイヤータイプ:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr "トグル選択"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "マップセット:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "選択の反転"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "複数インポート"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "レイヤ一覧  "
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "レイヤ一覧  "
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "%s レイヤ一覧"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "レイヤーID"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "マップ名"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "投影法"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "終了時にダイアログを閉じる"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "インポート(&I)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "選択レイヤーをインポート"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "レイヤーツリーにインポートレイヤーを追加 "
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "レイヤーツリーにインポートレイヤーを追加 "
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "リンク(&L)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "選択レイヤーのリンク"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "ラスターマップの断面を作成できません "
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "ベクトルマップのインポート "
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "ラスターマップのインポート "
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "変更を行わずにダイアログを閉じる"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "マップレイヤーが選択されていません "
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "DXFレイヤーのインポート "
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "インポートするDXFファイルを選択"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "マップレイヤーが選択されていません "
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "レイヤーの透過度設定"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "不透明"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "イメージサイズの設定"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "イメージサイズ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "テンプレート:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS - マップ ディスプレイ "
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "SQL文"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "シンボル"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "シンボルサイズ:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "シンボルサイズ:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr "選択可能な要素ではない"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "マップセット"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "タイプ"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr "GSelect: 無効な項目: %s"
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "一般設定"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "ラスター設定"
+msgid "Source input"
+msgstr "ソースタイプ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "保存 "
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "ファイル "
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "ディレクトリ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "プロトコル"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "出力 "
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "ソースタイプ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "全ファイル"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "全ファイル"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "全ファイル"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "全ファイル"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "全ファイル"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "ファイル:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "インポートするファイルを選択"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "入力ディレクトリ選択 "
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr "発光度"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "ファイルを選択"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "フィーチャID:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "フィーチャの検索"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "トポロジーの再ビルド"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "オプションのセット "
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "フォーマット:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "プロトコル:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "3Dビューモードは使用できません"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "強調表示"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "ベクトルマップ <%s> が見つかりません"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "ベクトルマップは3Dではありません 処理はキャンセルされました"
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "ユーザー設定"
@@ -18024,6 +18419,7 @@ msgid "Module dialog style:"
 msgstr "コマンドダイアログ"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "マップディスプレイ"
 
@@ -18125,7 +18521,7 @@ msgstr "ワイヤー色"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "透過 "
 
@@ -18422,6 +18818,49 @@ msgstr "正規性検定"
 msgid "Nothing found"
 msgstr "削除するものがありません"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "カテゴリー"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "ベクトルフィーチャ選択"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "新しいマップセットの作成 "
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "ベクトルマップは3Dではありません 処理はキャンセルされました"
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "ベクトルマップがオープンできません <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "マップレイヤーが選択されていません "
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "新しいベクトルマップ <%s> が作成されました"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "ベクトルマップを作れません <%s>"
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "情報 "
@@ -18464,6 +18903,10 @@ msgstr "公式 GRASS サイト:"
 msgid "Code Revision"
 msgstr "GIS ライブラリ  "
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "言語"
@@ -18535,27 +18978,27 @@ msgstr "次(&N)"
 msgid "&Previous"
 msgstr "前(&P)"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "パラメータを入力してください '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "コマンドを実行せずに画面を閉じる (Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "コマンド実行 (Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "コマンドのマニュアルページを表示 (Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "レイヤーツリーに作成したマップを追加"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
@@ -18563,80 +19006,80 @@ msgstr ""
 "コマンドが成功した場合はダイアログを閉じます. ダイアログ('コマンド'タブ)で"
 "この設定を変更します."
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' クリップボードにコピーしました"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "必須"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "オプション"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr "モデルのパラメータ化"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[複数] "
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "有効範囲 "
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "選択 %s "
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "ロケーション名の変更"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "別名で保存 "
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "または対話的に値を入力します"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "マニュアル "
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "保存するものがありません"
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18644,28 +19087,28 @@ msgid ""
 "Reason: %s"
 msgstr "アイコンテーマがロード出来ません 理由: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "名前を付けて保存する..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "マップレイヤーが選択されていません "
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr "コマンドを解析することができません '%s'"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "%(cmd)s: パラメーター '%(key)s' は利用できません"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -18725,67 +19168,80 @@ msgstr "不透明度レベルの変更 "
 msgid "Change layer opacity"
 msgstr "不透明度レベルの変更 "
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 #, fuzzy
 msgid "Fulltext search"
 msgstr "全範囲"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr "%d 個のモジュールが一致しました"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "プロファイル"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "設定保存"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "マップセットを削除"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr "ロードする設定:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+#, fuzzy
+msgid "Load:"
+msgstr "ロード"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "マップ <%s> が見つかりません "
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "設定保存"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr "名前が指定されていません, 設定は保存されません."
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "ファイル <%s> は既に存在します.上書きしてよろしいですか?  "
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "マップレイヤーが選択されていません 処理はキャンセルされました "
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr "コマンドを解析することができません %s"
 
@@ -18890,12 +19346,12 @@ msgstr "画像/ラスタ-ファイルのヒストグラム作成 "
 msgid "Select graphics tool"
 msgstr "デフォルトディスプレイフォントの選択"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 #, fuzzy
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "メニュー (ダブルクリックでコマンド実行)"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "選択コマンド実行"
@@ -18920,6 +19376,26 @@ msgstr "選択コマンド実行"
 #~ msgstr "GUI 終了 "
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "間違った領域"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "3Dビューモードは使用できません"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "検証モデル..."
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "名前変更 "
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "テーブルコピー"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "レイヤ一覧  "
 
@@ -18935,19 +19411,35 @@ msgstr "選択コマンド実行"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "単変量ラスター統計"
 
-#~ msgid "Add condition"
-#~ msgstr "条件追加"
+#~ msgid "Repository"
+#~ msgstr "リポジトリ"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "モデルに(if/else)条件追加"
+#~ msgid "Load settings:"
+#~ msgstr "ロードする設定:"
 
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "レイヤーツリーにレイヤーを追加 "
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "マップレイヤー <%s> をレンダリング出来ません"
+
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "<%s> をレンダーオーバーレイできません"
+
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "旧GRASSベクトルのインポート "
+
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "旧GRASSベクトルのインポート(全てのマップ)"
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "旧GRASSフォーマットベクトルマップインポート "
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "レイヤーツリーにインポートレイヤーを追加 "
+#~ msgid "GPS data import"
+#~ msgstr "GPSBabelのインポート "
+
+#~ msgid "GEOnet import"
+#~ msgstr "GEOnetのインポート "
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -18969,27 +19461,6 @@ msgstr "選択コマンド実行"
 #~ msgid "Common export formats using OGR"
 #~ msgstr "OGRを使用した一般的エクスポートフォーマット"
 
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr "選択したマップから計算領域をセット (未選択は不可) "
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "旧GRASSベクトルのインポート "
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "旧GRASSベクトルのインポート(全てのマップ)"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "旧GRASSフォーマットベクトルマップインポート "
-
-#, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "GPSBabelのインポート "
-
-#~ msgid "GEOnet import"
-#~ msgstr "GEOnetのインポート "
-
 #~ msgid "IDW from raster points (alternate method for sparse points)"
 #~ msgstr "ラスターポイントの加重平均補間 (まばらなポイントの代替方法)  "
 
@@ -19000,11 +19471,23 @@ msgstr "選択コマンド実行"
 #~ msgstr "ビットパタ-ン比較"
 
 #, fuzzy
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "属性テーブルマネージャー"
+
+#, fuzzy
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "元のマップセットの選択:"
+
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr "選択したマップから計算領域をセット (未選択は不可) "
+
+#, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "ベクトルマップ <%(name)s> (%(type)s) がアンロードされました"
 
-#~ msgid "Volume"
-#~ msgstr "ボリューム"
+#, fuzzy
+#~ msgid "Add default servers"
+#~ msgstr "ループ追加 "
 
 #~ msgid "Choose project location and mapset"
 #~ msgstr "プロジェクトのロケーションとマップセットを選択"
@@ -19086,9 +19569,27 @@ msgstr "選択コマンド実行"
 #~ msgid "Starting GRASS for the first time"
 #~ msgstr "GRASSの初回実行"
 
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "ラスターマップの作成"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "レイヤーツリーにレイヤーを追加 "
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "レイヤーツリーにインポートレイヤーを追加 "
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "旧GRASSフォーマットベクトルマップインポート "
+
 #~ msgid "Vector to volume"
 #~ msgstr "ベクトル → ボリューム "
 
+#~ msgid "Sites to vector"
+#~ msgstr "サイト → ベクトル "
+
 #, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "3Dラスターマップカリキュレータ"
@@ -19111,11 +19612,8 @@ msgstr "選択コマンド実行"
 #~ msgid "Voxel statistics"
 #~ msgstr "3Dグリッド統計"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "旧GRASSフォーマットベクトルマップインポート "
-
-#~ msgid "Sites to vector"
-#~ msgstr "サイト → ベクトル "
+#~ msgid "Volume"
+#~ msgstr "ボリューム"
 
 #~ msgid ""
 #~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
@@ -19151,6 +19649,5 @@ msgstr "選択コマンド実行"
 #~ "registered raster3d map of a space time raster3d dataset."
 #~ msgstr "3Dラスターマップの非-NULLセルから単変量統計解析を行う"
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "属性テーブルマネージャー"
+#~ msgid "Digitize"
+#~ msgstr "デジタイズ"
diff --git a/locale/po/grasswxpy_ko.po b/locale/po/grasswxpy_ko.po
index 06f7628..057a58e 100644
--- a/locale/po/grasswxpy_ko.po
+++ b/locale/po/grasswxpy_ko.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_ko\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2014-05-03 16:44-0400\n"
 "Last-Translator: Huidae Cho <grass4u at gmail.com>\n"
 "Language-Team: Korean <grass-translations at lists.osgeo.org>\n"
@@ -26,7 +26,7 @@ msgid "Name of raster map:"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr ""
 
@@ -129,7 +129,7 @@ msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr ""
 
@@ -197,14 +197,14 @@ msgid "Reload"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -233,8 +233,8 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr ""
@@ -264,9 +264,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr ""
 
@@ -274,14 +275,14 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr ""
 
@@ -312,13 +313,13 @@ msgid "Comment"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr ""
 
@@ -329,7 +330,7 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr ""
@@ -349,10 +350,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr ""
 
@@ -413,12 +414,12 @@ msgstr ""
 msgid "3D raster maps"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr ""
@@ -447,23 +448,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr ""
 
@@ -484,7 +485,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr ""
 
@@ -545,7 +546,7 @@ msgid "Choose model file"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr ""
 
@@ -572,7 +573,7 @@ msgstr ""
 msgid "Choose file to save current model"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -592,7 +593,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -603,7 +604,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 msgid "Add comment"
 msgstr ""
 
@@ -632,7 +633,7 @@ msgstr ""
 msgid "Writing current settings to model file failed."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr ""
@@ -641,15 +642,15 @@ msgstr ""
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -724,10 +725,10 @@ msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr ""
 
@@ -748,13 +749,13 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr ""
 
@@ -767,7 +768,7 @@ msgid "mapset"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr ""
 
@@ -894,7 +895,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr ""
 
@@ -912,7 +913,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -943,8 +944,8 @@ msgstr ""
 msgid "Label font size (pts):"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -990,9 +991,9 @@ msgstr ""
 msgid "No map or image group selected to plot."
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr ""
 
@@ -1018,8 +1019,8 @@ msgstr ""
 msgid "Line width"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr ""
 
@@ -1033,18 +1034,18 @@ msgid "Transect segment marker settings"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr ""
 
@@ -1273,19 +1274,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1379,7 +1380,7 @@ msgid "Output"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr ""
 
@@ -1412,8 +1413,7 @@ msgid "Analysing..."
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr ""
@@ -1464,7 +1464,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1487,10 +1487,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr ""
 
@@ -1510,11 +1511,11 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 msgid "Unable to perform analysis."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1522,45 +1523,45 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 msgid "Map can be created only in current mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 msgid "Overwrite vector map"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 msgid "Creation of turntable failed."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1568,194 +1569,194 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 msgid "Unable to use ctypes. \n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 msgid "Overwrite map"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, python-format
 msgid "Vector map '%s' does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 msgid "Vector map was not chosen."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 msgid "arc layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 msgid "node layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 msgid "turntable layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 msgid "unique categories layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, python-format
 msgid "Choose existing %s.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 msgid "type"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 msgid "Start point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 msgid "End Point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 msgid "new point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 msgid "Node cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, python-format
 msgid "Shortest path %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 msgid "Source point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 msgid "Sink point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 msgid "Overwrite map layer"
 msgstr ""
 
@@ -1929,291 +1930,291 @@ msgstr ""
 msgid "Select from list of datum transformations"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 msgid "Name of location directory in GIS Data Directory"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 msgid "Earth based"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 msgid "WKT .prj file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2221,31 +2222,31 @@ msgid ""
 "Details: %(err)s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr ""
@@ -2625,7 +2626,16 @@ msgstr ""
 msgid "Remove selected class"
 msgstr ""
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2636,135 +2646,129 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, python-format
+msgid "Rendering failed: %s"
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:584
+msgid "Rendering aborted"
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:615
+msgid "Downloading data "
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:625
+msgid "Rendering & "
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1376
-msgid "Downloading data "
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1386
-msgid "Rendering & "
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr ""
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2773,12 +2777,12 @@ msgid ""
 "Number of skipped lines: %(line)d"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2787,30 +2791,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, python-format
+msgid "Module <%s> not found."
+msgstr ""
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -2991,39 +3000,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr ""
 
@@ -3086,11 +3095,11 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr ""
@@ -3104,7 +3113,7 @@ msgid "Close dialog and apply changes"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr ""
 
@@ -3121,7 +3130,7 @@ msgstr ""
 msgid "Orientation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr ""
 
@@ -3166,7 +3175,7 @@ msgid "Map frame settings"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr ""
 
@@ -3194,7 +3203,7 @@ msgstr ""
 msgid "Map selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr ""
 
@@ -3218,7 +3227,7 @@ msgstr ""
 msgid "N:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr ""
 
@@ -3232,7 +3241,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr ""
 
@@ -3266,163 +3275,164 @@ msgstr ""
 msgid "No region selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3430,503 +3440,503 @@ msgstr ""
 msgid "Color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 msgid "Vector labels"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4061,97 +4071,97 @@ msgstr ""
 msgid "labels: "
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4204,27 +4214,27 @@ msgstr ""
 msgid "degree"
 msgstr ""
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4240,7 +4250,7 @@ msgstr ""
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr ""
 
@@ -4252,12 +4262,12 @@ msgstr ""
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr ""
 
@@ -4309,22 +4319,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, python-format
 msgid "Unsupported command %s."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, python-format
+msgid "Unable to create file <%s>"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr ""
@@ -4358,40 +4373,41 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 msgid "Unable to get GRASS version\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4401,207 +4417,217 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+msgid "Vector digitizer"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 msgid "Set computational region extent from display"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 msgid "Set computational region extent interactively"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 msgid "Set computational region from named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 msgid "Save computational region to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+msgid "Raster Digitizer Toolbar"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 msgid "Computational region"
 msgstr ""
 
@@ -4616,102 +4642,114 @@ msgid "Query selected raster/vector map(s)"
 msgstr ""
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
+msgid "Select vector feature(s)"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+msgid "Select features interactively from vector map"
+msgstr ""
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
 msgid "Show/hide scale bar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 msgid "Show/hide north arrow"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 msgid "Measure area"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 msgid "Create bivariate scatterplot of raster maps"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 msgid "Vector network analysis tool"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+msgid "Raster digitizer"
+msgstr ""
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 msgid "Create new configuration file for r.li modules"
 msgstr ""
@@ -5418,12 +5456,12 @@ msgstr ""
 msgid "Export animation"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr ""
@@ -5432,11 +5470,11 @@ msgstr ""
 msgid "Add time stamp"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 msgid "Add image"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr ""
 
@@ -5457,7 +5495,7 @@ msgid "Sample text"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5472,7 +5510,7 @@ msgid "Choose image file"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr ""
 
@@ -5500,7 +5538,7 @@ msgstr ""
 msgid "Export to:"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -5508,13 +5546,13 @@ msgstr ""
 msgid "animation_"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr ""
 
@@ -5637,7 +5675,7 @@ msgstr ""
 msgid "Animation Tool settings"
 msgstr ""
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -5689,20 +5727,20 @@ msgstr ""
 msgid "Invalid"
 msgstr ""
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 msgid "Rendering map layers"
 msgstr ""
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 msgid "Overlaying map layers"
 msgstr ""
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, python-brace-format
 msgid "Directory {t} not removed."
 msgstr ""
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -5737,7 +5775,7 @@ msgstr ""
 msgid "Animation Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr ""
@@ -5781,8 +5819,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, python-format
 msgid "Space time dataset <%s> not found."
 msgstr ""
@@ -5822,7 +5860,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr ""
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -5842,37 +5880,37 @@ msgstr ""
 msgid "No map series nor space-time dataset is added."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -5890,11 +5928,11 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -5929,14 +5967,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr ""
 
@@ -5952,21 +5990,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -5993,578 +6031,578 @@ msgstr ""
 msgid "Y"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, python-format
 msgid "Time [%s]"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, python-format
 msgid "Space time raster dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, python-format
 msgid "Space time vector dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, python-format
 msgid "Mapset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, python-format
 msgid "Map name: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, python-format
 msgid "End time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 msgid "WARNING: invalid topology"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 msgid "Change wire color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 msgid "Set options..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 msgid "Place new scale bar"
 msgstr ""
 
@@ -6946,15 +6984,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr ""
@@ -6965,12 +7003,14 @@ msgid "3d raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr ""
 
@@ -6984,12 +7024,14 @@ msgid "Set raster output format"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr ""
 
@@ -7010,7 +7052,7 @@ msgstr ""
 msgid "Add command layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr ""
@@ -7110,191 +7152,192 @@ msgstr ""
 msgid "Export PostGIS"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+msgid "Export attribute table"
+msgstr ""
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 msgid "Create pack"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 msgid "Make a copy in the current mapset"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+msgid "Set color table interactively"
+msgstr ""
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 msgid "Report raster statistics"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, python-format
 msgid "Unsupported map type <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, python-format
 msgid "Unable to make copy of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 msgid "3D view Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+msgid "Data catalog"
+msgstr ""
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7302,250 +7345,250 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
 "Current mapset is <%(mapset)s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 msgid "Changes current working directory for this GUI."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 msgid "Usage: cd [directory]"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 msgid "Choose a working directory"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+msgid "GRASS SVN revision"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+msgid "Build date"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -7553,30 +7596,30 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 msgid "Unable to start Timeline Tool."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 msgid "Unable to start Temporal Plot Tool."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -7584,67 +7627,63 @@ msgid ""
 "from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr ""
@@ -7709,7 +7748,7 @@ msgstr ""
 msgid "Raster Map Calculator"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr ""
 
@@ -7799,7 +7838,7 @@ msgid "Ignore changes and close dialog"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr ""
 
@@ -8129,28 +8168,28 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 msgid "GRASS GIS Vector Digitizer"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, python-format
 msgid "Vector digitizer not available. %s"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr ""
@@ -8344,7 +8383,7 @@ msgstr ""
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr ""
 
@@ -8419,7 +8458,7 @@ msgstr ""
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr ""
 
@@ -8447,10 +8486,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-msgid "Vector digitizer"
-msgstr ""
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -8475,164 +8510,164 @@ msgstr ""
 msgid "New vector map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 msgid "Show advanced connection settings"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 msgid "Hide advanced connection settings"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 msgid " Layer Manager Settings "
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 msgid "Output layer name:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 msgid "Username:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, python-format
 msgid "Unable to connect to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 msgid "Add web service layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 msgid "Web service layer properties"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 msgid "Name for output raster map:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 msgid "Export region"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 msgid "Named region"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 msgid "Extent and resolution are based on computational region."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 msgid "Extent and resolution are based on named region."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 msgid "Overwrite existing raster map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 msgid "Choose named region:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 msgid "&Save layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 msgid "Save web service layer as raster map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 msgid "Output map can be added only to current mapset."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, python-format
 msgid "Region <%s> does not exist."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 msgid "Downloading data..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 msgid "Unable to fetch data.\n"
 msgstr ""
 
@@ -8731,7 +8766,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr ""
 
@@ -8744,7 +8780,7 @@ msgid "style"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:1088
-msgid "Add default servers"
+msgid "Add default"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:1105
@@ -8754,160 +8790,167 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 msgid "Start &GRASS session"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 msgid "De&lete"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, python-brace-format
 msgid "Error: {text}"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 msgid "Import data?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -8915,7 +8958,7 @@ msgid ""
 "Enter new name:"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -8923,7 +8966,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -8931,7 +8974,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -8939,7 +8982,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -8947,14 +8990,14 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -8963,11 +9006,11 @@ msgid ""
 "ALL MAPS included in this mapset will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -8975,32 +9018,32 @@ msgid ""
 "ALL MAPS included in this location will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9009,16 +9052,16 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 msgid "Reserved mapset name"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9030,11 +9073,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9042,7 +9085,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9050,109 +9093,219 @@ msgid ""
 "Details: %(reason)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr ""
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+msgid "Create new raster map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+msgid "Name for new raster map:"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+msgid "Optionally select background raster map:"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+msgid "New raster map type:"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+msgid "Please specify name for a new raster map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
-msgid "Save as"
+#: ../gui/wxpython/rdigit/controller.py:116
+msgid "Please select first the raster map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:12
-msgid "Save workspace to file"
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:13 ../gui/wxpython/menustrings.py:1939
-#: ../gui/wxpython/mapswipe/dialogs.py:162
-msgid "Close"
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:14
-msgid "Close workspace file"
+#: ../gui/wxpython/rdigit/controller.py:280
+msgid "Do you want to save changes?"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:15
-msgid "Load GRC file (Tcl/Tk GUI)"
+#: ../gui/wxpython/rdigit/controller.py:281
+msgid "Save raster map changes"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:16
-msgid "Load map layers from GRC file to layer tree"
+#: ../gui/wxpython/rdigit/controller.py:346
+msgid "Failed to create backup copy of edited raster map."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:18
-msgid "Add raster"
+#: ../gui/wxpython/rdigit/controller.py:364
+msgid "Failed to create new raster map."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:19
-msgid "Add raster map layer to current display"
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+msgid "Rasterizing..."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:20
-msgid "Add vector"
+#: ../gui/wxpython/rdigit/controller.py:494
+msgid "Failed to set default color table for edited raster map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:21
-msgid "Add vector map layer to current display"
+#: ../gui/wxpython/rdigit/toolbars.py:27
+msgid "Digitize area"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:22
-msgid "Add multiple rasters or vectors"
+#: ../gui/wxpython/rdigit/toolbars.py:29
+msgid "Digitize line"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:23
-msgid "Add multiple raster or vector map layers to current display"
+#: ../gui/wxpython/rdigit/toolbars.py:31
+msgid "Digitize point"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:26
-msgid "New map display window"
+#: ../gui/wxpython/rdigit/toolbars.py:32
+msgid "Save raster map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:27
-msgid "Open new map display window"
+#: ../gui/wxpython/rdigit/toolbars.py:34
+msgid "Quit raster digitizer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:28 ../gui/wxpython/menustrings.py:29
-msgid "Close current map display window"
+#: ../gui/wxpython/rdigit/toolbars.py:49
+msgid "Select raster map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:30 ../gui/wxpython/menustrings.py:31
-msgid "Close all open map display windows"
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+msgid "Cell value:"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+msgid "New raster map"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
+msgid "Save as"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:12
+msgid "Save workspace to file"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:13 ../gui/wxpython/menustrings.py:1939
+#: ../gui/wxpython/mapswipe/dialogs.py:162
+msgid "Close"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:14
+msgid "Close workspace file"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:15
+msgid "Load GRC file (Tcl/Tk GUI)"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:16
+msgid "Load map layers from GRC file to layer tree"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:18
+msgid "Add raster"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:19
+msgid "Add raster map layer to current display"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:20
+msgid "Add vector"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:21
+msgid "Add vector map layer to current display"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:22
+msgid "Add multiple rasters or vectors"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:23
+msgid "Add multiple raster or vector map layers to current display"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:26
+msgid "New map display window"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:27
+msgid "Open new map display window"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:28 ../gui/wxpython/menustrings.py:29
+msgid "Close current map display window"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:30 ../gui/wxpython/menustrings.py:31
+msgid "Close all open map display windows"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:33 ../gui/wxpython/menustrings.py:1020
@@ -9785,7 +9938,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr ""
 
@@ -9843,7 +9996,7 @@ msgstr ""
 msgid "Launches script file."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 msgid "Close GUI"
 msgstr ""
 
@@ -9851,8 +10004,8 @@ msgstr ""
 msgid "Quit wxGUI session."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 msgid "Quit GRASS GIS"
 msgstr ""
 
@@ -11265,8 +11418,8 @@ msgid "Develop vector map"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr ""
 
@@ -13132,8 +13285,8 @@ msgstr ""
 msgid "Plot temporal values."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr ""
 
@@ -13246,137 +13399,145 @@ msgstr ""
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr ""
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 msgid "Adds comment to model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 msgid "Load instruction file"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 msgid "Export instruction file"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 msgid "Export to PostScript"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 msgid "Export to PDF"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 msgid "Close Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 msgid "Add or edit map frame"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 msgid "Add or edit raster map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 msgid "Add or edit vector map"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 msgid "Map legend"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 msgid "Add or edit raster and vector legend"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 msgid "Add or edit map info"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 msgid "About Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 msgid "Display information about Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -13390,107 +13551,107 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 msgid "Raster temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 msgid "Select attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 msgid "Select category of vector(s)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, python-format
 msgid "Temporal resolution: %s"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 msgid "Invalid input coordinates"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 msgid "Invalid input raster dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 msgid "Invalid input vector dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 msgid "Invalid input temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -13676,12 +13837,12 @@ msgstr ""
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr ""
 
@@ -13794,7 +13955,7 @@ msgid "Field calculator"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr ""
 
@@ -13894,15 +14055,15 @@ msgstr ""
 msgid "Delete all records"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr ""
 
@@ -14073,7 +14234,7 @@ msgid "Driver"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr ""
 
@@ -14191,240 +14352,240 @@ msgstr ""
 msgid "Field statistics <%s>"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 msgid "Choose file to load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 msgid "&Set"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 msgid "Load color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 msgid "Invalid color table format"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -14476,23 +14637,23 @@ msgstr ""
 msgid ":"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -14700,7 +14861,7 @@ msgid "Save expression to file"
 msgstr ""
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr ""
 
@@ -14709,7 +14870,7 @@ msgid "Load expression from file"
 msgstr ""
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr ""
 
@@ -14871,12 +15032,159 @@ msgstr ""
 msgid "'{cmd}' copied to clipboard"
 msgstr ""
 
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:62
+msgid "List of vector layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:70
+msgid "Name for output GRASS map (editable)"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+msgid "Projection match"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:127
+msgid "Import settings"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
+msgid "Add linked layers into layer tree"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:397
+msgid "Unable to determine number of raster bands"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:591
+msgid "Define output format for vector data"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:654
+msgid "No data source selected."
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:695
+msgid "No layers selected."
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:772
+msgid "Reprojection"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:785
+msgid "Name for output GRASS map"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+msgid "Layers to be reprojected"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+msgid "Reproject selected layers"
+msgstr ""
+
 #: ../gui/wxpython/modules/extensions.py:40
 msgid "Fetch & install extension from GRASS Addons"
 msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
+msgid "Repository (leave empty to use the official one)"
 msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:53
@@ -14884,7 +15192,6 @@ msgid "List of extensions - double-click to install"
 msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
 msgid "Options"
 msgstr ""
 
@@ -14916,48 +15223,53 @@ msgstr ""
 msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/extensions.py:202
+#, python-format
+msgid "%d extensions loaded"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:214
 msgid "Install"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/extensions.py:217
 msgid "Show manual page"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:315
+#: ../gui/wxpython/modules/extensions.py:316
 #, python-format
 msgid "Unable to load extensions. %s"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/extensions.py:357
 msgid "Manage installed GRASS Addons extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/extensions.py:366
 msgid "List of installed extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/extensions.py:371
 msgid "Uninstall"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/extensions.py:372
 msgid "Uninstall selected Addons extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/extensions.py:373
 msgid "Reinstall"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/extensions.py:374
 msgid "Reinstall selected Addons extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/extensions.py:411
 msgid "No extension selected. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -14966,16 +15278,16 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr ""
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr ""
 
@@ -15106,7 +15418,7 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, python-format
 msgid "Group <%s> not found"
 msgstr ""
@@ -15139,10 +15451,6 @@ msgstr ""
 msgid "Export training areas"
 msgstr ""
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-msgid "Export attribute table"
-msgstr ""
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 msgid "Export attribute table containing computed statistical data"
 msgstr ""
@@ -15170,21 +15478,21 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 msgid "Name of subgroup required"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, python-format
 msgid "Subgroup <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, python-format
 msgid "Loading raster map <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, python-format
 msgid "Loading training map <%s>..."
 msgstr ""
@@ -15225,141 +15533,141 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 msgid "IClass Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 msgid "IClass Misc Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 msgid "Digitization Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 msgid "Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 msgid "Training Areas Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 msgid "Display synchronization ON"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 msgid "Display synchronization OFF"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, python-format
 msgid "Unable to open vector map <%s>"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 msgid "Unable to open temporary vector map"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 msgid "Failed to create temporary vector map."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 msgid "No imagery group selected."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 msgid "No imagery group selected. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 msgid "No areas given. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
 
@@ -15799,80 +16107,209 @@ msgstr ""
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+msgid "Close GRASS GIS Data Catalog"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "New name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+msgid "Rename map"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, python-brace-format
+msgid "Editing {name}"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, python-brace-format
+msgid "Renaming {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "Copy map"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+msgid "Delete map"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, python-brace-format
+msgid "Deleting {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, python-brace-format
+msgid "Displaying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+msgid "&Copy"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+msgid "&Paste"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+msgid "&Display layer"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "legend"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "scale bar"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "north arrow"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+msgid "Hide toolbars"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+msgid "Show toolbars"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Show statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, python-brace-format
 msgid "Hide {overlay}"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 msgid "Resize legend"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 msgid "Set compulational region from named region"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 msgid "Save computational region to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -15963,524 +16400,434 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 msgid "Location or mapset is not defined."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 msgid "Name of vector map is missing."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 msgid "Name of new vector map is missing."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 msgid "No raster maps selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 msgid "No subgroup selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-msgid "List of raster layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-msgid "List of vector layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, python-format
-msgid "List of %s layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-msgid "Name for output GRASS map (editable)"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-msgid "Projection match"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-msgid "Add linked layers into layer tree"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-msgid "Unable to determine number of raster bands"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-msgid "Define output format for vector data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-msgid "Define output format for raster data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-msgid "No data source selected."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-msgid "No layers selected."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 msgid "Type: "
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
+#: ../gui/wxpython/gui_core/gselect.py:1290
+msgid "Source input"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 msgid "ZIP files"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 msgid "GZIP files"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 msgid "TAR files"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 msgid "TARGZ files"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "simple features"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "topological"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 msgid "No settings available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+msgid "Input vector map is not selected"
+msgstr ""
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr ""
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr ""
@@ -16598,6 +16945,7 @@ msgid "Module dialog style:"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr ""
 
@@ -16691,7 +17039,7 @@ msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr ""
 
@@ -16961,6 +17309,45 @@ msgstr ""
 msgid "Nothing found"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+msgid "category"
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+msgid "Select features"
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+msgid "Create a new map"
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+msgid "No features selected"
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, python-format
+msgid "Vector map <%s> was created"
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr ""
@@ -17001,6 +17388,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -17071,102 +17462,102 @@ msgstr ""
 msgid "&Previous"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 msgid "Load and edit content of a file"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 msgid "&Save as"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, python-format
 msgid ""
 "Unable to load file.\n"
@@ -17174,26 +17565,26 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 msgid "No dataset given."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -17242,63 +17633,74 @@ msgstr ""
 msgid "Change layer opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+msgid "Profiles"
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+msgid "Load:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr ""
 
@@ -17398,10 +17800,10 @@ msgstr ""
 msgid "Select graphics tool"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 msgid "Run selected module from the tree"
 msgstr ""
diff --git a/locale/po/grasswxpy_lv.po b/locale/po/grasswxpy_lv.po
index 467ab40..c7dc00f 100644
--- a/locale/po/grasswxpy_lv.po
+++ b/locale/po/grasswxpy_lv.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_lv\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2016-01-24 11:27+0200\n"
 "Last-Translator: Maris Nartiss <maris.kde at gmail.com>\n"
 "Language-Team: Latvian <grass-translations at lists.osgeo.org>\n"
@@ -29,7 +29,7 @@ msgid "Name of raster map:"
 msgstr "Rastra kartes nosaukums:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Vektordatu kartes nosaukums:"
 
@@ -133,7 +133,7 @@ msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr "Birka"
 
@@ -201,14 +201,14 @@ msgid "Reload"
 msgstr "Pārlādēt"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "Nē"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Jā"
 
@@ -237,8 +237,8 @@ msgstr "Atslēgts:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr ""
@@ -268,9 +268,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Platums:"
 
@@ -278,14 +279,14 @@ msgstr "Platums:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Augstums:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Dati"
 
@@ -316,13 +317,13 @@ msgid "Comment"
 msgstr "Komentārs"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "Modeļa īpašības"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadati"
 
@@ -333,7 +334,7 @@ msgstr "Komandas"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr ""
@@ -353,10 +354,10 @@ msgstr "Ignorēt izmaiņas un aizvērt dialogu"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Nosaukums:"
 
@@ -417,12 +418,12 @@ msgstr "Rastra kartes"
 msgid "3D raster maps"
 msgstr "3D rastra kartes"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "nezināms"
@@ -451,23 +452,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Darbināt"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Mainīgie"
 
@@ -488,7 +489,7 @@ msgid "Python editor"
 msgstr "Python redaktors"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Komandas izvade"
 
@@ -549,7 +550,7 @@ msgid "Choose model file"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr ""
 
@@ -576,7 +577,7 @@ msgstr ""
 msgid "Choose file to save current model"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Fails jau eksistē"
 
@@ -596,7 +597,7 @@ msgstr "Modelis nav korekts. %s"
 msgid "Model is valid."
 msgstr "Modelis ir korekts."
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -607,7 +608,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 msgid "Add comment"
 msgstr "Pievienot komentāru"
 
@@ -636,7 +637,7 @@ msgstr ""
 msgid "Writing current settings to model file failed."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr ""
@@ -645,15 +646,15 @@ msgstr ""
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -728,10 +729,10 @@ msgstr "Noklusējuma vērtība"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Apraksts"
 
@@ -752,13 +753,13 @@ msgid "string"
 msgstr "teksts"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "rastrs"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vektors"
 
@@ -771,7 +772,7 @@ msgid "mapset"
 msgstr "karšu kopa"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "fails"
 
@@ -901,7 +902,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr ""
 
@@ -919,7 +920,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -950,8 +951,8 @@ msgstr "Y ass nosaukums:"
 msgid "Label font size (pts):"
 msgstr "Uzrakstu fonta izmērs (punktos):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -997,9 +998,9 @@ msgstr ""
 msgid "No map or image group selected to plot."
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Brīdinājums"
 
@@ -1026,8 +1027,8 @@ msgstr "Līnijas krāsa"
 msgid "Line width"
 msgstr "Līnijas platums"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Līnijas stils"
 
@@ -1041,18 +1042,18 @@ msgid "Transect segment marker settings"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr ""
 
@@ -1282,19 +1283,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Drukas priekšskatījums"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1390,7 +1391,7 @@ msgid "Output"
 msgstr "Izvade"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parametri"
 
@@ -1430,8 +1431,7 @@ msgid "Analysing..."
 msgstr "Analīze"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Iestatījumi"
@@ -1486,7 +1486,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Tuvināt līdz izvēlētajām kartēm"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1512,10 +1512,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Aizvērt dialogu"
 
@@ -1536,11 +1537,11 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 msgid "Unable to perform analysis."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1548,46 +1549,46 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 msgid "Map can be created only in current mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Karšu kopa <%s> jau eksistē."
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Jauna vektoru karte"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 msgid "Creation of turntable failed."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1595,201 +1596,201 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Karšu kopa <%s> jau eksistē."
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Nav iespējams dzēst karšu kopu"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Pārrakstīt?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, python-format
 msgid "Vector map '%s' does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 msgid "Vector map was not chosen."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Kartes slāņi"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Pievienot slāni"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Pārvaldīt slāņus"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 msgid "unique categories layer"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, python-format
 msgid "Choose existing %s.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "izmantot"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 msgid "type"
 msgstr "tips"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr "topoloģija"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 msgid "Start point"
 msgstr "Sākuma punkts"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 msgid "End Point"
 msgstr "Beigu punkts"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 msgid "new point"
 msgstr "jauns punkts"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Skaitliska kolona:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr "mezgls"
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, python-format
 msgid "Shortest path %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
 msgstr "Beigu punkts"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Vektoru punktus"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 msgid "Sink point"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Pievienot rastra karti"
@@ -1966,292 +1967,292 @@ msgstr ""
 msgid "Select from list of datum transformations"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Pārlūkot"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "GIS datu mape:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Projekta novietojums"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Izvēlieties ĢIS datu mapi"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "Novietojuma virsraksts"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr "Nederīgs novietojuma nosaukums"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Kods"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Projekcijas kods:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Meklēt pēc apraksta:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Elipsoīds"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 msgid "Earth based"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Elipsoīda kods:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Ģeoreferencēts fails:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 msgid "WKT .prj file:"
 msgstr "WKT .prj fails:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "EPSG kods:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Kopsavilkums"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "GRASS datubāze:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Novietojuma nosaukums:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Novietojuma virsraksts:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Projekcija:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "pielāgots"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Izveidot jaunu novietojumu?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2259,31 +2260,31 @@ msgid ""
 "Details: %(err)s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr "Fails <%s> nav atrasts."
@@ -2682,7 +2683,16 @@ msgstr "Pievienot slāni"
 msgid "Remove selected class"
 msgstr "Pārsaukt izvēlēto karšu kopu"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2693,138 +2703,133 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "Pārzīmēt visus kartes slāņus"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Zīmēt"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Datu ielāde..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Zīmēt"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Zīmēt"
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Nederīgs kartes izmērs %d,%d\n"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Detaļas:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, fuzzy, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Nav iespējams atvērt vektordatu karti <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, fuzzy, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Nav iespējams atvērt vektordatu karti <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Datu ielāde..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Zīmēt"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Zīmēt"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Iemesls"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Paziņojums"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Izpilde nesekmīga:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Kļūda: "
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Nebija iespējams izpildīt komandu: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Kļūda iekš %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2833,12 +2838,12 @@ msgid ""
 "Number of skipped lines: %(line)d"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2847,30 +2852,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, python-format
+msgid "Module <%s> not found."
+msgstr "Modulis <%s> nav atrasts."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d sek"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Komanda pārtraukta"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Komanda izpildīta"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3053,39 +3063,39 @@ msgstr "Sākuma laiks: %s"
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Nav iespējams atvērt failu '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Nav iespējams izveidot failu '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Izvēlieties krāsu"
 
@@ -3148,11 +3158,11 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr "Fonts:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Fonta izmērs:"
@@ -3166,7 +3176,7 @@ msgid "Close dialog and apply changes"
 msgstr "Pielietot izmaiņas un aizvērt dialogu"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Pielietot izmaiņas"
 
@@ -3183,7 +3193,7 @@ msgstr "Formāts"
 msgid "Orientation"
 msgstr "Orientācija"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr "Platums"
 
@@ -3228,7 +3238,7 @@ msgid "Map frame settings"
 msgstr "Kartes rāmja iestatījumi"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr ""
 
@@ -3256,7 +3266,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "Kartes izvēle"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "Karte:"
 
@@ -3280,7 +3290,7 @@ msgstr "E:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr "Mērogs:"
 
@@ -3294,7 +3304,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "Rāmis"
 
@@ -3328,163 +3338,164 @@ msgstr ""
 msgid "No region selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Pievienot"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "Pārsaukt kartes skatu"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Dzēst"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr "Īpašības..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3492,506 +3503,506 @@ msgstr ""
 msgid "Color:"
 msgstr "Krāsa:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Simboloģija"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr "Rastra leģenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr "Rādīt rastra leģendu"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr "Leģendas tips"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "diapazons"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr "Vektoru leģenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Vektoru karte"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "Rediģēt birku"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "zīmēt rāmi apkārt leģendai"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 #, fuzzy
 msgid "Size and position"
 msgstr "Novietojums un izmērs"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Novietojums"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr "Kolonas:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr "lietot rāmja krāsu:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "Teksts"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr "3D skata īpašības"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "teksta rāmis"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr "Teksta rotēšana"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr "Attēls"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "Kategorijas numurs"
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr "Ziemeļu bulta"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr "Ziemeļu bultas iestatījumi"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Punkts"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "caurspīdīgs"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "Vektoru karte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4127,7 +4138,7 @@ msgstr ""
 msgid "labels: "
 msgstr "Birka"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
@@ -4136,90 +4147,90 @@ msgstr ""
 "Nevar atvērt failu\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4272,27 +4283,27 @@ msgstr "metrs"
 msgid "degree"
 msgstr ""
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4308,7 +4319,7 @@ msgstr ""
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr ""
 
@@ -4320,12 +4331,12 @@ msgstr ""
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr "Kartes informācija"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr "Mērogjosla"
 
@@ -4378,22 +4389,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, python-format
 msgid "Unsupported command %s."
 msgstr "Neatbalstīta komanda %s."
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, python-format
+msgid "Unable to create file <%s>"
+msgstr "Nebija iespējams izveidot failu <%s>"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr ""
@@ -4428,40 +4444,41 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - kartes skats"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 msgid "Unable to get GRASS version\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "2D skats"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4471,212 +4488,222 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Startē 3D skata režīmu..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Datu ielāde. Lūdzu uzgaidiet...."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Kartes rīkjosla"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-#, fuzzy
-msgid "Digitize"
-msgstr "Digitizēt jaunu līniju"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+msgid "Vector digitizer"
+msgstr "Vektoru digitizēšana"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
+msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, fuzzy, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr "Neizdevās izpildīt vaicājumu vektordatu kartei <%s>."
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Pievienot teksta slāni"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Digitizēt jaunu punktu"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Zīmēt"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Ekrāna režīms"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Kartes mērogs"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Iet uz"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Projekcija"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MASKA"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Koordinātes"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Apjoms"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Tuvināt līdz aprēķinu reģionam"
@@ -4693,103 +4720,117 @@ msgstr "Vaicājums izvēlētajai rastra/vektoru kartei"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Vaicājums izvēlētajai rastra/vektoru kartei"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Vaicājums izvēlētajai rastra/vektoru kartei"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Ziemeļu bulta"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Ziemeļu bulta"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analizēt karti"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "Mērīšana, profilēšana, histogrammu veidošana..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Mērīt attālumu"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 msgid "Measure area"
 msgstr "Mērīt platību"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Profilēt rastra karti"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 msgid "Create bivariate scatterplot of raster maps"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr "Izveidot rastra kartes histogrammu"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 msgid "Vector network analysis tool"
 msgstr "Vektordatu tīkla analīzes rīks"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr "Rotēt 3D scēnu"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "3D skats"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+msgid "Raster digitizer"
+msgstr "Rastra digitizēšana"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 msgid "Create new configuration file for r.li modules"
 msgstr ""
@@ -5543,12 +5584,12 @@ msgstr ""
 msgid "Export animation"
 msgstr "Animācija"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr "Dekorācijas"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "Eksportēt"
@@ -5557,11 +5598,11 @@ msgstr "Eksportēt"
 msgid "Add time stamp"
 msgstr "Pievienot laika zīmogu"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 msgid "Add image"
 msgstr "Pievienot attēlu"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr "Pievienot tekstu"
 
@@ -5582,7 +5623,7 @@ msgid "Sample text"
 msgstr "Parauga teksts"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5597,7 +5638,7 @@ msgid "Choose image file"
 msgstr "Izvēlies attēla failu"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr "Teksts:"
 
@@ -5626,7 +5667,7 @@ msgstr "AVI"
 msgid "Export to:"
 msgstr "Eksportēt uz:"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr "Faila prefikss:"
 
@@ -5634,13 +5675,13 @@ msgstr "Faila prefikss:"
 msgid "animation_"
 msgstr "animacija_"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr "Faila formāts:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Mape:"
 
@@ -5777,7 +5818,7 @@ msgstr ""
 msgid "Animation Tool settings"
 msgstr "Asu iestatījumi"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -5831,20 +5872,20 @@ msgstr ""
 msgid "Invalid"
 msgstr "Nederīgs"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 msgid "Rendering map layers"
 msgstr "Zīmē kartes slāņus"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 msgid "Overlaying map layers"
 msgstr "Pārklāj kartes slāņus"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Mape {t} nav dzēsta."
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -5880,7 +5921,7 @@ msgstr "Galvenā rīkjosla"
 msgid "Animation Toolbar"
 msgstr "Animācijas rīkjosla"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Dažādu rīku rīkjosla"
@@ -5924,8 +5965,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, python-format
 msgid "Space time dataset <%s> not found."
 msgstr ""
@@ -5965,7 +6006,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr ""
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -5985,37 +6026,37 @@ msgstr ""
 msgid "No map series nor space-time dataset is added."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Karte <%s> nav atrasta."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6034,11 +6075,11 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6074,14 +6115,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "GRASS GIS histogrammu veidošanas rīks"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Zīmēt"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Palīdzība"
 
@@ -6097,21 +6138,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6138,579 +6179,579 @@ msgstr "X"
 msgid "Y"
 msgstr "Y"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, python-format
 msgid "Time [%s]"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, python-format
 msgid "Space time raster dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, python-format
 msgid "Space time vector dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, python-format
 msgid "Mapset: %s"
 msgstr "Karšu kopa: %s"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, python-format
 msgid "Map name: %s"
 msgstr "Kartes nosaukums: %s"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr "Sākuma laiks: %s"
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, python-format
 msgid "End time: %s"
 msgstr "Beigu laiks: %s"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 msgid "WARNING: invalid topology"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Skats"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Izskats"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr "Analīze"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr "Animācija"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Perspektīva:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Virsma"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vektors"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "3D rastrs"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Apgaismojums"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Režīms:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "rupjš"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "smalks"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "abi"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 msgid "Change wire color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Jauns"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 msgid "Set options..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Rādīt"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Vektoru punktus"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Ikona:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "3D rastra karte"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Izšķirtspēja:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 #, fuzzy
 msgid "Ambient:"
 msgstr "Komanda:"
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 msgid "Place new scale bar"
 msgstr ""
 
@@ -7094,15 +7135,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr ""
@@ -7113,12 +7154,14 @@ msgid "3d raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Importēt rastra datus"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr ""
 
@@ -7132,12 +7175,14 @@ msgid "Set raster output format"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Importēt vektordatus"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr ""
 
@@ -7159,7 +7204,7 @@ msgstr ""
 msgid "Add command layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Iziet"
@@ -7263,194 +7308,196 @@ msgstr "Eksportēt vektrodatus"
 msgid "Export PostGIS"
 msgstr "Eksportēt"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+msgid "Export attribute table"
+msgstr "Eksportēt atribūtu tabulu"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Izveidot tabulu?"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 msgid "Make a copy in the current mapset"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Rādīt atribūtu datus"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Sākt rediģēt"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Tuvināt līdz aprēķinu reģionam"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogramma"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Atskaites un statistika"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Profilēt"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr "Nederīgs nosaukums"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, python-format
 msgid "Unsupported map type <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Pārrakstīt?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, python-format
 msgid "Unable to make copy of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Slāņu grupa:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS GIS slāņu pārvaldnieks"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Rīki"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Kartes slāņi"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Komandu konsole"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr "Meklēt moduļus"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+msgid "Data catalog"
+msgstr "Datu katalogs"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Python čaula"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7458,251 +7505,253 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
 "Current mapset is <%(mapset)s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Novietojums <%s> ir izveidots"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr "Aizvērt kartes skatu %s"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Izveidot jaunu karšu kopu"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 msgid "Changes current working directory for this GUI."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 msgid "Usage: cd [directory]"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 msgid "Choose a working directory"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr "GRASS versija"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr "nezināma versija"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "SVN revīzija:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr "Būvējuma datums"
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "SQL veidotājs"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1106
+#, fuzzy
+msgid "Build platform"
+msgstr "SQL veidotājs"
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Saglabāt darbtelpu"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr "Ievadiet jauno nosaukumu:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, fuzzy, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -7710,31 +7759,31 @@ msgid ""
 "Reason: %s"
 msgstr "Nav iespējams izveidot jaunu karšu kopu: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 msgid "Unable to start Timeline Tool."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "GRASS GIS histogrammu veidošanas rīks"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -7742,68 +7791,64 @@ msgid ""
 "from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Iziet no GRASS GUI"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Sākt GRASS sesiju"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr ""
@@ -7869,7 +7914,7 @@ msgstr ""
 msgid "Raster Map Calculator"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr ""
 
@@ -7962,7 +8007,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignorēt izmaiņas un aizvērt dialogu"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Pielietot izmaiņas un aizvērt dialogu"
 
@@ -8292,28 +8337,28 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 msgid "GRASS GIS Vector Digitizer"
 msgstr "GRASS GIS vektoru digitizētājs"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "GRASS GIS slāņu pārvaldnieks"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Nav iespējams izveidot jaunu karšu kopu: %s"
@@ -8511,7 +8556,7 @@ msgstr ""
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Atdarīt"
 
@@ -8587,7 +8632,7 @@ msgstr ""
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Izvēlieties vektordatu karti"
 
@@ -8615,10 +8660,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-msgid "Vector digitizer"
-msgstr "Vektoru digitizēšana"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -8643,179 +8684,179 @@ msgstr ""
 msgid "New vector map"
 msgstr "Jauna vektoru karte"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr " Servera iestatījumi "
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Serveris:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Pieslēgties"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Saglabāt pašreizējos iestatījumus"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Tīkla un leģendas iestatījumi"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Slāņu pārvaldnieka iestatījumi"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Slāņa nosaukums"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 msgid "Username:"
 msgstr "Lietotājvārds:"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr "Parole:"
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Nav iespējams izveidot jaunu karšu kopu: %s"
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Pievienot rastra karti"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Pievienot slāni"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Pievienot izveidoto rastra karti projekta slāņu sarakstam"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 msgid "Web service layer properties"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr "&Pielietot"
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr "&Labi"
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Rastra kartes nosaukums:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Iestatīt reģionu"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Kartes skats"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Ielādēt reģionu:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 #, fuzzy
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Ievietot eksistējošu rastra karti"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Ielādēt reģionu:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 msgid "&Save layer"
 msgstr "&Saglabāt slāni"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 msgid "Save web service layer as raster map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 msgid "Output map can be added only to current mapset."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "Karšu kopa <%s> jau eksistē."
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Īpašība %s neeksistē"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Datu ielāde..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Nav iespējams dzēst karšu kopu"
@@ -8924,7 +8965,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Slāņa nosaukums"
 
@@ -8938,7 +8980,7 @@ msgstr "stils"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
+msgid "Add default"
 msgstr "Pievienot datus"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
@@ -8948,23 +8990,23 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr "1. Izvēlieties GRASS GIS datubāzes mapi"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr "2. Izvēlieties GRASS novietojumu"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr "3. Izvēlieties GRASS karšu kopu"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr "GRASS GIS datubāze satur novietojumus"
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
@@ -8972,7 +9014,7 @@ msgstr ""
 "Visi dati vienā novietojumā ir vienā koordinātu sistēmā (projekcijā). Viens "
 "novietojums var būt viens projekts. Novietojums satur ir karšu kopas."
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
@@ -8980,27 +9022,29 @@ msgstr ""
 "Karšu kopa satur ĢIS datus, kas ir saistīti ar vienu projektu vai ar vienu "
 "projekta uzdevumu, apakšreģionu vai lietotāju."
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 msgid "Start &GRASS session"
 msgstr "Sākt &GRASS sesiju"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "&Pārlūkot"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr "&Jauna"
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 msgid "Create a new Mapset in selected Location"
 msgstr "Izveidot jaunu karšu kopu izvēlētajā novietojumā"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr "Ja&uns"
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
@@ -9008,108 +9052,113 @@ msgstr ""
 "Palaist novietojuma vedni. Pēc novietojuma izveides, ir iespējams sākt GRASS "
 "darba sesiju."
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr "Pārs&aukt"
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Pārsaukt izvēlēto novietojumu"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 msgid "De&lete"
 msgstr "&Dzēs&t"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Dzēst izvēlēto novietojumu"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Pārsaukt"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Pārsaukt izvēlēto karšu kopu"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr "&Dzēst"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Dzēst izvēlēto karšu kopu"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "GRASS GIS %s palaišana %s"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Sākt GRASS sesiju"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 "Nav iespējams iestatīt GRASS datubāzi. Pārbaudiet lokāles iestatījumus."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "KĻŪDA: Novietojums <%s> nav atrasts\n"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "KĻŪDA: Karšu kopa <%s> nav atrasta\n"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr "Nederīga rinda GISRC failā (%s): %s\n"
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, python-brace-format
 msgid "Error: {text}"
 msgstr "Kļūda: {text}"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, fuzzy, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 "Nav iespējams iestatīt GRASS datubāzi. Pārbaudiet lokāles iestatījumus."
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 msgid "Import data?"
 msgstr "Importēt datus?"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9120,7 +9169,7 @@ msgstr ""
 "\n"
 "Jaunais nosaukums:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9128,7 +9177,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9136,7 +9185,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9144,7 +9193,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9152,14 +9201,14 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9168,11 +9217,11 @@ msgid ""
 "ALL MAPS included in this mapset will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Nav iespējams dzēst karšu kopu"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9180,32 +9229,32 @@ msgid ""
 "ALL MAPS included in this location will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Nav iespējams dzēst novietojumu"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "Ceļš '%s' neeksistē."
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Izvēlieties ĢIS datu mapi"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr "Karšu kopa <%s> jau eksistē."
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9214,16 +9263,16 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 msgid "Reserved mapset name"
 msgstr "Rezervēts karšu kopas nosaukums"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Nav iespējams izveidot jaunu karšu kopu: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9235,11 +9284,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9247,7 +9296,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9255,45 +9304,174 @@ msgid ""
 "Details: %(reason)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr "Nederīgs nosaukums"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "&Fails"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Izveidot jaunu vektordatu karti"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Darbtelpa"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Rastra kartes nosaukums:"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Izveidot jaunu darbtelpu"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Izveidot jaunu vektordatu karti"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Atvērt"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Rastra kartes nosaukums:"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "Ielādēt darbtelpu no faila"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Jaunveidojamās rastra kartes nosaukums"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
-msgstr "Saglabāt"
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"Pašreizējā karšu kopā rastra karte <%s> jau eksistē. Vai vēlies to "
+"pārrakstīt?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "3D rastra kartes"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr "Labais klikšķis, lai pabeigtu poligonu"
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr "Labais klikšķis, lai pabeigtu līniju"
+
+#: ../gui/wxpython/rdigit/controller.py:280
+msgid "Do you want to save changes?"
+msgstr "Vai vēlies saglabāt izmaiņas?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Saglabāt izmaiņas"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Nebija iespējams izveidot jaunu rastra karti."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+msgid "Failed to create new raster map."
+msgstr "Nebija iespējams izveidot jaunu rastra karti."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Zīmēt"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Nebija iespējams izveidot jaunu rastra karti."
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Digitizēt jaunu līniju"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Digitizēt jaunu līniju"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Digitizēt jaunu punktu"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Sapakot rastra karti"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Iziet no modelētāja"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "3D rastra kartes"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+msgid "Cell value:"
+msgstr "Šūnu vērtība:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "3D rastra karte"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "&Fails"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Darbtelpa"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Izveidot jaunu darbtelpu"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Atvērt"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "Ielādēt darbtelpu no faila"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr "Saglabāt"
 
 #: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
 msgid "Save as"
@@ -9997,7 +10175,7 @@ msgstr "Grafiskais modelētājs"
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Darbināt modeli"
 
@@ -10055,7 +10233,7 @@ msgstr "Darbināt skriptu"
 msgid "Launches script file."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 msgid "Close GUI"
 msgstr "Aizvērt grafisko vidi"
 
@@ -10064,8 +10242,8 @@ msgstr "Aizvērt grafisko vidi"
 msgid "Quit wxGUI session."
 msgstr "Iziet no wxGUI sesijas."
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 msgid "Quit GRASS GIS"
 msgstr "Iziet no GRASS GIS"
 
@@ -11488,8 +11666,8 @@ msgid "Develop vector map"
 msgstr "Izveidot vektordatu karti"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Izveidot jaunu vektordatu karti"
 
@@ -13392,8 +13570,8 @@ msgstr "GRASS GIS histogrammu veidošanas rīks"
 msgid "Plot temporal values."
 msgstr "Saņemt visas vērtības"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "&Palīdzība"
 
@@ -13508,143 +13686,151 @@ msgstr ""
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr ""
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 msgid "Adds comment to model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Validēt modeli"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Novietojuma nosaukums"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Eksportēt atribūtu tabulu"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 msgid "Export to PostScript"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 msgid "Export to PDF"
 msgstr "Eksportēt kā PDF"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 msgid "Close Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr "&Ievietot"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Pievienot rastra karti"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Eksportēt rastra karti"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "Jauna vektoru karte"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 msgid "Map legend"
 msgstr "Kartes leģenda"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Pievienot izveidoto rastra karti projekta slāņu sarakstam"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 msgid "Add or edit map info"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr "Pievienot ziemeļu bultu"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 msgid "About Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 msgid "Display information about Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -13659,115 +13845,115 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "GRASS GIS histogrammu veidošanas rīks"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
 msgstr "Nederīga ievade"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 #, fuzzy
 msgid "Vector temporal dataset (strds)"
 msgstr "Nederīga ievade"
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Objekta krāsa:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
 msgstr "Vaicājums izvēlētajai rastra/vektoru kartei"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, python-format
 msgid "Temporal resolution: %s"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Nederīga ievade"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Nederīga ievade"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Nederīga ievade"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Nederīga ievade"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -13963,12 +14149,12 @@ msgstr "SQL izteiksme ir derīga"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "GRASS GIS atribūtu tabulas pārvaldnieks"
 
@@ -14082,7 +14268,7 @@ msgid "Field calculator"
 msgstr "Lauka kalkulators"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr "Pievienot kolonu"
 
@@ -14183,15 +14369,15 @@ msgstr ""
 msgid "Delete all records"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Izvēlēties visu"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr ""
 
@@ -14362,7 +14548,7 @@ msgid "Driver"
 msgstr "Dzinējs"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Datubāze"
 
@@ -14484,243 +14670,243 @@ msgstr "Nav iespējams dzēst novietojumu"
 msgid "Field statistics <%s>"
 msgstr "Lauka statistika <%s>"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 msgid "Choose file to load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Ielādēt"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "Ie&statījumi"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Krāsu tabulas"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Priekšskatījums"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Karšu kopa <%s> jau eksistē."
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 msgid "Invalid color table format"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Slānis:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "Krāsu tabulas"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr "Pārāk daudz ierakstu"
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -14772,23 +14958,23 @@ msgstr ""
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Bloka izmērs:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Modelis: "
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -14997,7 +15183,7 @@ msgid "Save expression to file"
 msgstr "Saglabāt izteiksmi failā"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "Ie&lādēt"
 
@@ -15006,7 +15192,7 @@ msgid "Load expression from file"
 msgstr "Ielādēt izteiksmi no faila"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr ""
 
@@ -15168,20 +15354,175 @@ msgstr ""
 msgid "'{cmd}' copied to clipboard"
 msgstr "Kopēt koordinātas uz starpliktuvi"
 
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Importēt vairākus"
+
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr "Rastra slāņu saraksts"
+
+#: ../gui/wxpython/modules/import_export.py:62
+#, fuzzy
+msgid "List of vector layers"
+msgstr "Slāņu saraksts"
+
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr "%s slāņu saraksts"
+
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "Slāņa id"
+
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "GRASS kartes nosaukums (rediģējams)"
+
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "Projekcija"
+
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Aizvērt dialogu, kad darbs ir pabeigts"
+
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Importēt"
+
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr "Avota iestatījumi"
+
+#: ../gui/wxpython/modules/import_export.py:127
+#, fuzzy
+msgid "Import settings"
+msgstr "Fontu iestatījumi"
+
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
+#, fuzzy
+msgid "Add linked layers into layer tree"
+msgstr "Pievienot izveidoto karti slāņu sarakstam"
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Saite"
+
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Saitēt izvēlētos slāņus"
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:397
+msgid "Unable to determine number of raster bands"
+msgstr "Nebija iespējams noteikt rastra kanālu skaitu"
+
+#: ../gui/wxpython/modules/import_export.py:591
+msgid "Define output format for vector data"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:654
+msgid "No data source selected."
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Importēt DXF slāņus"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:695
+msgid "No layers selected."
+msgstr "Nav izvēlēti slāņi."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Projekcija"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "GRASS kartes nosaukums (rediģējams)"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Noņemamais slānis"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Pārsaukt izvēlēto karšu kopu"
+
 #: ../gui/wxpython/modules/extensions.py:40
 msgid "Fetch & install extension from GRASS Addons"
 msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Repozitorijs"
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:53
 msgid "List of extensions - double-click to install"
 msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
 msgid "Options"
 msgstr "Opcijas"
 
@@ -15213,55 +15554,60 @@ msgstr ""
 msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/extensions.py:202
+#, python-format
+msgid "%d extensions loaded"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:214
 #, fuzzy
 msgid "Install"
 msgstr "&Instalēt"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/extensions.py:217
 #, fuzzy
 msgid "Show manual page"
 msgstr "Rādīt pamācību"
 
-#: ../gui/wxpython/modules/extensions.py:315
+#: ../gui/wxpython/modules/extensions.py:316
 #, python-format
 msgid "Unable to load extensions. %s"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/extensions.py:357
 msgid "Manage installed GRASS Addons extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/extensions.py:366
 msgid "List of installed extensions"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/extensions.py:371
 #, fuzzy
 msgid "Uninstall"
 msgstr "&Instalēt"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/extensions.py:372
 #, fuzzy
 msgid "Uninstall selected Addons extensions"
 msgstr "Pārsaukt izvēlēto novietojumu"
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/extensions.py:373
 #, fuzzy
 msgid "Reinstall"
 msgstr "&Instalēt"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/extensions.py:374
 #, fuzzy
 msgid "Reinstall selected Addons extensions"
 msgstr "Pārsaukt izvēlēto novietojumu"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/extensions.py:411
 #, fuzzy
 msgid "No extension selected. Operation canceled."
 msgstr "Darbība ir atcelta."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -15270,16 +15616,16 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr "Paplašinājums"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr ""
 
@@ -15419,7 +15765,7 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Karte <%s> nav atrasta."
@@ -15453,10 +15799,6 @@ msgstr ""
 msgid "Export training areas"
 msgstr ""
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-msgid "Export attribute table"
-msgstr "Eksportēt atribūtu tabulu"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 msgid "Export attribute table containing computed statistical data"
 msgstr ""
@@ -15484,21 +15826,21 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 msgid "Name of subgroup required"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Karte <%s> nav atrasta."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "<%s> rastra kartes leģenda"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Datu ielāde..."
@@ -15539,143 +15881,143 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 msgid "IClass Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 msgid "IClass Misc Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 msgid "Digitization Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 msgid "Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 msgid "Training Areas Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Attēlot reģionu"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 msgid "Display synchronization OFF"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Importēt vektrdatu karti"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nav iespējams dzēst karšu kopu"
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Jaunās vektoru kartes nosaukums:"
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 msgid "Failed to create temporary vector map."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 msgid "No imagery group selected."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 msgid "No imagery group selected. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 msgid "No areas given. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
 
@@ -16119,83 +16461,218 @@ msgstr ""
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
-msgid ""
-"Please install Python Imaging Library (PIL)\n"
-"for better control of legend and other decorations."
-msgstr ""
+#: ../gui/wxpython/datacatalog/frame.py:28
+#, fuzzy
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr "GRASS GIS 3D rastra kalkulators"
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "GRASS GIS 3D rastra kalkulators"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "New name"
+msgstr "Jauns nosaukums"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+msgid "Rename map"
+msgstr "Pārsaukt karti"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, python-brace-format
+msgid "Editing {name}"
+msgstr "Rediģē {name}"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Pārsauc {name}..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr "-- pabeigts"
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "Copy map"
+msgstr "Kopēt karti"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr "Kopē {name}..."
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Nav iespējams izveidot jaunu karšu kopu: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+msgid "Delete map"
+msgstr "Dzēst karti"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Dzēš {name}..."
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Attēlo {name}..."
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+msgid "&Copy"
+msgstr "&Kopēt"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+msgid "&Paste"
+msgstr "&Ielīmēt"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+msgid "&Display layer"
+msgstr "&Attēlot slāni"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
+msgid ""
+"Please install Python Imaging Library (PIL)\n"
+"for better control of legend and other decorations."
+msgstr ""
+
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr "Rādīt teksta objektu"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "legend"
 msgstr "leģenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "scale bar"
 msgstr "mērogjosla"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "north arrow"
 msgstr "ziemeļu bulta"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr "Kopēt koordinātas uz starpliktuvi"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Analīze"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "Kopēt koordinātas uz starpliktuvi"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Hide statusbar"
+msgstr "Rādīt iestatījumus"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Rādīt iestatījumus"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, python-brace-format
 msgid "Hide {overlay}"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Rastra leģenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Tuvināt līdz aprēķinu reģionam"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr "Īpašība %s neeksistē"
@@ -16289,537 +16766,446 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Nosacījums: nav definēts"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "GRASS novietojuma nosaukums:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "Karšu kopas nosaukums:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "Karšu kopas nosaukums:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Vektoru kartes nosaukums:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Izveidot atribūtu tabulu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Pievienot izveidoto karti slāņu sarakstam"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Jaunās vektoru kartes nosaukums:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Jaunās vektoru kartes nosaukums:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Atslēgas kolona:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Ielādēt reģionu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Saglabāt reģionu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr "Šablons:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Karšu saraksts:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Pievienot rastra karti"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 msgid "No subgroup selected."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr "Kartes tips:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr "Pielipšana"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Karšu kopa:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Pretēja izvēle"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr "Dinamiskās sērijas (%s)"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Importēt vairākus"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-msgid "List of raster layers"
-msgstr "Rastra slāņu saraksts"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Slāņu saraksts"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, python-format
-msgid "List of %s layers"
-msgstr "%s slāņu saraksts"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "Slāņa id"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "GRASS kartes nosaukums (rediģējams)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Projekcija"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Aizvērt dialogu, kad darbs ir pabeigts"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Importēt"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Pievienot izveidoto karti slāņu sarakstam"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Saite"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Saitēt izvēlētos slāņus"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-msgid "Unable to determine number of raster bands"
-msgstr "Nebija iespējams noteikt rastra kanālu skaitu"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-msgid "Define output format for vector data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-msgid "Define output format for raster data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-msgid "No data source selected."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Importēt DXF slāņus"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-msgid "No layers selected."
-msgstr "Nav izvēlēti slāņi."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Iestatīt kartes slāņa caurspīdīgumu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "necaurspīdīgs"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "Iestatīt attēla izmēru"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "Attēla izmērs"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "Šablons:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS SQL vaicājumu utilīta"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr " SQL izteikums "
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "Simboli"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr "Simbola mape:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr "Simbola nosaukums:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 "Vai tiešām vēlaties iziet no GRASS GIS (ieskaitot komandrindu) vai arī tikai "
 "aizvērt grafisko vidi?"
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Karšu kopa"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 msgid "Type: "
 msgstr "Tips: "
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr "Izvades iestatījumi"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
-msgstr "Avota iestatījumi"
+#: ../gui/wxpython/gui_core/gselect.py:1290
+#, fuzzy
+msgid "Source input"
+msgstr "Vektoru punktus"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Fails"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Mape"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protokols"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr "Izvades tips"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Avota tips"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "Visi faili"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 msgid "ZIP files"
 msgstr "ZIP faili"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 msgid "GZIP files"
 msgstr "GZIP faili"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 msgid "TAR files"
 msgstr "TAR faili"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 msgid "TARGZ files"
 msgstr "TARGZ faili"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Fails:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "Izvēlieties importējamo  failu"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Izvēlieties ievades mapi"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr "Paplašinājums:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Izvēlieties failu"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr "Objekta tips:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Dzēst objektu"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "loģiskais VAI"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr "Izveides parametri:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Formāts:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Protokols:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 msgid "No settings available"
 msgstr "Iestatījumi nav pieejami"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr "Poligons"
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Darbība ir atcelta."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Īpašība %s neeksistē"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Darbība ir atcelta."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "Lietotāja iestatījumi"
@@ -16939,6 +17325,7 @@ msgid "Module dialog style:"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "Kartes skats"
 
@@ -17035,7 +17422,7 @@ msgstr "Objekta krāsa:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Caurspīdīgs"
 
@@ -17306,6 +17693,48 @@ msgstr ""
 msgid "Nothing found"
 msgstr "Nekas nav atrasts"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+msgid "category"
+msgstr "kategorija"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Vaicājums izvēlētajai rastra/vektoru kartei"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Izveidot jaunu karšu kopu"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Neizdevās izpildīt vaicājumu vektordatu kartei <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Kategorijas numurs"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, python-format
+msgid "Vector map <%s> was created"
+msgstr "Vektordatu karte <%s> ir izveidota"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Nebija iespējams izveidot jaunu vektordatu karti. Iemesls: %s"
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Informācija"
@@ -17346,6 +17775,10 @@ msgstr "Oficiālā GRASS GIS lapa:"
 msgid "Code Revision"
 msgstr "Koda revīzija"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr "Būvējuma datums"
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "Valoda"
@@ -17416,103 +17849,103 @@ msgstr "&Nākamais"
 msgid "&Previous"
 msgstr "&Iepriekšējais"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Obligāti"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Izvēles"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[daudzvērtību]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "derīgs diapazons"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Izvēlieties %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Pārsaukt novietojumu"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 msgid "&Save as"
 msgstr "&Saglabāt kā"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Rokasgrāmata"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, python-format
 msgid ""
 "Unable to load file.\n"
@@ -17520,26 +17953,26 @@ msgid ""
 "Reason: %s"
 msgstr "Nav iespējams ielādēt failu. Iemesls: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr "Saglabāt ievadi kā..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 msgid "No dataset given."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -17598,64 +18031,76 @@ msgstr "Mainīt karšu kopu"
 msgid "Change layer opacity"
 msgstr "Pārvaldīt slāņus"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Profilēt"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr "Saglabāt pašreizējos iestatījumus"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
+#: ../gui/wxpython/gui_core/widgets.py:1190
 #, fuzzy
-msgid "Load settings:"
-msgstr "Fonta iestatījumi:"
+msgid "Load:"
+msgstr "Ielādēt"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "Saglabāt iestatījumus"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr ""
 
@@ -17758,243 +18203,29 @@ msgstr ""
 msgid "Select graphics tool"
 msgstr "Izvēlēties visu"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 msgid "Run selected module from the tree"
 msgstr ""
 
-#~ msgid "Exit GUI"
-#~ msgstr "Iziet no GUI"
-
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Pievienot izveidoto karti slāņu sarakstam"
-
-#, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Pievienot izveidoto karti slāņu sarakstam"
-
-#~ msgid "GPS data import"
-#~ msgstr "GPS datu imports"
-
-#~ msgid "Volume"
-#~ msgstr "Tilpums"
-
-#~ msgid "Choose project location and mapset"
-#~ msgstr "Izvēlieties projekta novietojumu un karšu kopu"
-
-#~ msgid "Manage"
-#~ msgstr "Pārvaldīt"
-
-#, fuzzy
-#~ msgid ""
-#~ "Welcome to GRASS GIS %s%s\n"
-#~ "The world's leading open source GIS"
-#~ msgstr ""
-#~ "Laipni lūdzam GRASS GIS %s\n"
-#~ "Pasaules vadošajā brīvajā ĢIS"
-
-#~ msgid ""
-#~ "Select an existing project location and mapset\n"
-#~ "or define a new location"
-#~ msgstr ""
-#~ "Izvēlieties eksistējošu novietojumu un karšu kopu\n"
-#~ "vai arī definējiet jaunu novietojumu"
-
-#~ msgid ""
-#~ "Project location\n"
-#~ "(projection/coordinate system)"
-#~ msgstr ""
-#~ "Projekta novietojums\n"
-#~ "(projekcija/koordinātu sistēma)"
-
-#~ msgid ""
-#~ "Accessible mapsets\n"
-#~ "(directories of GIS files)"
-#~ msgstr ""
-#~ "Pieejamās karšu kopas\n"
-#~ "(mapes ar ĢIS failiem)"
-
-#~ msgid "Define new location"
-#~ msgstr "Definēt jaunu novietojumu"
-
-#~ msgid ""
-#~ "Rename/delete selected\n"
-#~ "mapset or location"
-#~ msgstr ""
-#~ "Pārsaukt vai dzēst izvēlēto\n"
-#~ "novietojumu vai karšu kopu"
-
-#~ msgid "Start &GRASS"
-#~ msgstr "Startēt &GRASS"
-
-#~ msgid "&Create mapset"
-#~ msgstr "Izveidot &karšu kopu"
-
-#~ msgid "&Location wizard"
-#~ msgstr "&Novietojuma vednis"
-
-#~ msgid "Rename mapset"
-#~ msgstr "Pārsaukt karšu kopu"
-
-#~ msgid "Rename location"
-#~ msgstr "Pārsaukt novietojumu"
-
-#~ msgid "Delete mapset"
-#~ msgstr "Dzēst karšu kopu"
-
-#~ msgid "Delete location"
-#~ msgstr "Dzēst novietojumu"
-
-#~ msgid "Welcome to GRASS GIS"
-#~ msgstr "Laipni lūdzam GRASS GIS"
-
-#, fuzzy
-#~ msgid "Warning: "
-#~ msgstr "Brīdinājums"
-
-#, fuzzy
-#~ msgid "No GRASS location found in '%s'."
-#~ msgstr "GRASS novietojuma nosaukums:"
-
-#~ msgid "V&olumes"
-#~ msgstr "&Tilpumi"
-
-#~ msgid "3D Mask"
-#~ msgstr "3D maska"
-
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Atribūtu tabulas pārvaldnieks"
-
-#, fuzzy
-#~ msgid "Hide all toolbars"
-#~ msgstr "Analīze"
-
-#, fuzzy
-#~ msgid "Show all toolbars"
-#~ msgstr "Kopēt koordinātas uz starpliktuvi"
-
-#, fuzzy
-#~ msgid "ESRI ASCII grid import"
-#~ msgstr "ASCII tīkla imports"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts an ESRI ARC/INFO ascii raster file (GRID) into a GRASS raster "
-#~ "map."
-#~ msgstr "Rastra datu importēšana"
-
-#, fuzzy
-#~ msgid "ESRI ASCII grid export"
-#~ msgstr "ASCII tīkla imports"
-
-#, fuzzy
-#~ msgid "TIFF export"
-#~ msgstr "DXF eksports"
-
-#, fuzzy
-#~ msgid "List filtered"
-#~ msgstr "Slāņu saraksts"
-
-#, fuzzy
-#~ msgid "Delete filtered"
-#~ msgstr "Dzēst ierakstus"
-
-#, fuzzy
-#~ msgid "Vector to volume"
-#~ msgstr "Vektori:"
-
 #, fuzzy
-#~ msgid "Sites to vector"
-#~ msgstr "Izvēlieties vektordatu karti"
-
-#, fuzzy
-#~ msgid "Converts a GRASS site_lists file into a vector map."
+#~ msgid "Select space time raster dataset(s):"
 #~ msgstr "Rastra datu importēšana"
 
 #, fuzzy
-#~ msgid "Raster map calculator."
-#~ msgstr "GRASS GIS 3D rastra kalkulators"
-
-#, fuzzy
-#~ msgid "Raster series"
-#~ msgstr "Rastra karte <%s> jau eksistē"
-
-#, fuzzy
-#~ msgid "Visibility [DEPRECATED]"
-#~ msgstr "Redzamība"
-
-#, fuzzy
-#~ msgid "Horton's statistics"
-#~ msgstr "Atskaites un statistika"
-
-#, fuzzy
-#~ msgid "Analyze landscape"
-#~ msgstr "Analizēt karti"
-
-#, fuzzy
-#~ msgid "Analyze patches"
-#~ msgstr "Analizēt karti"
-
-#, fuzzy
-#~ msgid "Surface interpolation utility for raster map."
-#~ msgstr "Ievietot eksistējošu 3D rastra karti"
-
-#, fuzzy
-#~ msgid "Compares bit patterns with a raster map."
-#~ msgstr "Izveidot rastra kartes histogrammu"
-
-#, fuzzy
-#~ msgid "Develop volumes"
-#~ msgstr "Izveidot vektordatu karti"
-
-#, fuzzy
-#~ msgid "Volume calculator"
-#~ msgstr "Lauka kalkulators"
-
-#, fuzzy
-#~ msgid "Basic volume metadata"
-#~ msgstr "Rastra pamata metadati"
-
-#, fuzzy
-#~ msgid "Voxel statistics"
-#~ msgstr "Vispārēja statistika"
-
-#, fuzzy
-#~ msgid "Width size (in cells) ?"
-#~ msgstr "Platums:"
-
-#, fuzzy
-#~ msgid "Height size (in cells) ?"
-#~ msgstr "Platums:"
-
-#, fuzzy
-#~ msgid "What radius size (in meters) ?"
-#~ msgstr "Platums:"
-
-#, fuzzy
-#~ msgid "Develop 3D rasters"
-#~ msgstr "Veidot rastra karti"
-
-#, fuzzy
-#~ msgid "Temporary map '%s' with result "
-#~ msgstr "Karšu kopa <%s> jau eksistē."
-
-#, fuzzy
-#~ msgid "Vector map %s already exists. "
-#~ msgstr "Karšu kopa <%s> jau eksistē."
+#~ msgid "Invalid input data"
+#~ msgstr "Nederīga ievade"
 
 #, fuzzy
-#~ msgid "Temporary map %s  already exists.\n"
-#~ msgstr "Karšu kopa <%s> jau eksistē."
+#~ msgid "Multiple import formats using OGR"
+#~ msgstr "Importēt vairākus"
 
 #, fuzzy
-#~ msgid "Temporary map '%s' was changed outside "
-#~ msgstr "Karšu kopa <%s> jau eksistē."
+#~ msgid "Common export formats using OGR"
+#~ msgstr "Biežāk lietotie formāti"
 
 #, fuzzy
 #~ msgid "List raster3D dataset maps"
@@ -18005,12 +18236,8 @@ msgstr ""
 #~ msgstr "Rastra aprēķini"
 
 #, fuzzy
-#~ msgid "Invalid input data"
-#~ msgstr "Nederīga ievade"
-
-#, fuzzy
-#~ msgid "Select space time raster dataset(s):"
-#~ msgstr "Rastra datu importēšana"
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr "Tuvināt līdz aprēķinu reģionam"
 
 #, fuzzy
 #~ msgid "No mapsets readable"
@@ -18036,296 +18263,34 @@ msgstr ""
 #~ msgid "Displaying"
 #~ msgstr "Rādīt"
 
-#~ msgid "Data catalog"
-#~ msgstr "Datu katalogs"
-
-#, fuzzy
-#~ msgid "GRASS SVN revision"
-#~ msgstr "SVN revīzija:"
-
-#, fuzzy
-#~ msgid "Build date"
-#~ msgstr "SQL veidotājs"
-
-#, fuzzy
-#~ msgid "Build platform"
-#~ msgstr "SQL veidotājs"
-
-#~ msgid "New name"
-#~ msgstr "Jauns nosaukums"
-
-#~ msgid "Rename map"
-#~ msgstr "Pārsaukt karti"
-
-#~ msgid "Copy map"
-#~ msgstr "Kopēt karti"
-
-#, fuzzy
-#~ msgid "Do you really want to delete map <{m}>?"
-#~ msgstr "Nav iespējams izveidot jaunu karšu kopu: %s"
-
-#~ msgid "Delete map"
-#~ msgstr "Dzēst karti"
-
-#~ msgid "&Copy"
-#~ msgstr "&Kopēt"
-
-#~ msgid "&Paste"
-#~ msgstr "&Ielīmēt"
-
-#~ msgid "&Display layer"
-#~ msgstr "&Attēlot slāni"
-
-#~ msgid "category"
-#~ msgstr "kategorija"
-
-#, fuzzy
-#~ msgid "Select features"
-#~ msgstr "Vaicājums izvēlētajai rastra/vektoru kartei"
-
-#, fuzzy
-#~ msgid "Create a new map"
-#~ msgstr "Izveidot jaunu karšu kopu"
-
-#~ msgid "Failed to query vector map(s) <%s>."
-#~ msgstr "Neizdevās izpildīt vaicājumu vektordatu kartei <%s>."
-
-#, fuzzy
-#~ msgid "No features selected"
-#~ msgstr "Kategorijas numurs"
-
-#~ msgid "Vector map <%s> was created"
-#~ msgstr "Vektordatu karte <%s> ir izveidota"
-
-#~ msgid ""
-#~ "Unable to create a new vector map.\n"
-#~ "\n"
-#~ "Reason: %s"
-#~ msgstr "Nebija iespējams izveidot jaunu vektordatu karti. Iemesls: %s"
-
-#, fuzzy
-#~ msgid "Hide statusbar"
-#~ msgstr "Rādīt iestatījumus"
-
-#, fuzzy
-#~ msgid "Show statusbar"
-#~ msgstr "Rādīt iestatījumus"
-
-#, fuzzy
-#~ msgid "Digitize area"
-#~ msgstr "Digitizēt jaunu līniju"
-
-#, fuzzy
-#~ msgid "Digitize line"
-#~ msgstr "Digitizēt jaunu līniju"
-
-#, fuzzy
-#~ msgid "Digitize point"
-#~ msgstr "Digitizēt jaunu punktu"
-
-#, fuzzy
-#~ msgid "Save raster map"
-#~ msgstr "Sapakot rastra karti"
-
-#, fuzzy
-#~ msgid "Quit raster digitizer"
-#~ msgstr "Iziet no modelētāja"
-
-#, fuzzy
-#~ msgid "Select raster map"
-#~ msgstr "3D rastra kartes"
-
-#~ msgid "Cell value:"
-#~ msgstr "Šūnu vērtība:"
-
-#, fuzzy
-#~ msgid "New raster map"
-#~ msgstr "3D rastra karte"
-
-#, fuzzy
-#~ msgid "Create new raster map"
-#~ msgstr "Izveidot jaunu vektordatu karti"
-
-#, fuzzy
-#~ msgid "Name for new raster map:"
-#~ msgstr "Rastra kartes nosaukums:"
-
-#, fuzzy
-#~ msgid "Optionally select background raster map:"
-#~ msgstr "Izveidot jaunu vektordatu karti"
-
-#, fuzzy
-#~ msgid "New raster map type:"
-#~ msgstr "Rastra kartes nosaukums:"
-
-#, fuzzy
-#~ msgid "Please specify name for a new raster map"
-#~ msgstr "Jaunveidojamās rastra kartes nosaukums"
-
-#~ msgid ""
-#~ "Raster map <%s> already exists in the current mapset. Do you want to "
-#~ "overwrite it?"
-#~ msgstr ""
-#~ "Pašreizējā karšu kopā rastra karte <%s> jau eksistē. Vai vēlies to "
-#~ "pārrakstīt?"
-
-#, fuzzy
-#~ msgid "Please select first the raster map"
-#~ msgstr "3D rastra kartes"
-
-#~ msgid "Right click to finish area"
-#~ msgstr "Labais klikšķis, lai pabeigtu poligonu"
-
-#~ msgid "Right click to finish line"
-#~ msgstr "Labais klikšķis, lai pabeigtu līniju"
-
-#~ msgid "Do you want to save changes?"
-#~ msgstr "Vai vēlies saglabāt izmaiņas?"
-
-#, fuzzy
-#~ msgid "Save raster map changes"
-#~ msgstr "Saglabāt izmaiņas"
-
-#, fuzzy
-#~ msgid "Failed to create backup copy of edited raster map."
-#~ msgstr "Nebija iespējams izveidot jaunu rastra karti."
-
-#~ msgid "Failed to create new raster map."
-#~ msgstr "Nebija iespējams izveidot jaunu rastra karti."
-
-#, fuzzy
-#~ msgid "Rasterizing..."
-#~ msgstr "Zīmēt"
-
-#, fuzzy
-#~ msgid "Failed to set default color table for edited raster map"
-#~ msgstr "Nebija iespējams izveidot jaunu rastra karti."
-
-#, fuzzy
-#~ msgid "Select features interactively from vector map"
-#~ msgstr "Vaicājums izvēlētajai rastra/vektoru kartei"
-
-#~ msgid "Raster digitizer"
-#~ msgstr "Rastra digitizēšana"
-
-#~ msgid "Unable to create file <%s>"
-#~ msgstr "Nebija iespējams izveidot failu <%s>"
-
-#, fuzzy
-#~ msgid "Raster Digitizer Toolbar"
-#~ msgstr "Digitizēt jaunu punktu"
-
-#~ msgid "Module <%s> not found."
-#~ msgstr "Modulis <%s> nav atrasts."
-
-#, fuzzy
-#~ msgid "Rendering failed: %s"
-#~ msgstr "Pārzīmēt visus kartes slāņus"
-
-#, fuzzy
-#~ msgid "Rendering aborted"
-#~ msgstr "Zīmēt"
-
-#, fuzzy
-#~ msgid "No vector map selected in layer manager. Operation canceled."
-#~ msgstr "Darbība ir atcelta."
-
-#, fuzzy
-#~ msgid "Input vector map is not selected"
-#~ msgstr "Īpašība %s neeksistē"
-
-#, fuzzy
-#~ msgid "Load:"
-#~ msgstr "Ielādēt"
-
-#, fuzzy
-#~ msgid "Set color table interactively"
-#~ msgstr "Tuvināt līdz aprēķinu reģionam"
-
-#, fuzzy
-#~ msgid "Select vector feature(s)"
-#~ msgstr "Vaicājums izvēlētajai rastra/vektoru kartei"
-
-#, fuzzy
-#~ msgid "Hide toolbars"
-#~ msgstr "Analīze"
-
-#, fuzzy
-#~ msgid "Show toolbars"
-#~ msgstr "Kopēt koordinātas uz starpliktuvi"
-
-#, fuzzy
-#~ msgid "Reprojection"
-#~ msgstr "Projekcija"
-
-#, fuzzy
-#~ msgid "Name for output GRASS map"
-#~ msgstr "GRASS kartes nosaukums (rediģējams)"
-
 #, fuzzy
-#~ msgid "Reproject selected layers"
-#~ msgstr "Pārsaukt izvēlēto karšu kopu"
-
-#, fuzzy
-#~ msgid "Add default"
+#~ msgid "Add default servers"
 #~ msgstr "Pievienot datus"
 
 #, fuzzy
-#~ msgid "Close GRASS GIS Data Catalog"
-#~ msgstr "GRASS GIS 3D rastra kalkulators"
-
-#~ msgid "Editing {name}"
-#~ msgstr "Rediģē {name}"
-
-#~ msgid "Renaming {name}..."
-#~ msgstr "Pārsauc {name}..."
-
-#~ msgid " -- completed"
-#~ msgstr "-- pabeigts"
-
-#~ msgid "Copying {name}..."
-#~ msgstr "Kopē {name}..."
-
-#~ msgid "Deleting {name}..."
-#~ msgstr "Dzēš {name}..."
-
-#~ msgid "Displaying {name}..."
-#~ msgstr "Attēlo {name}..."
-
-#, fuzzy
-#~ msgid "Import settings"
-#~ msgstr "Fontu iestatījumi"
-
-#, fuzzy
-#~ msgid "Layers to be reprojected"
-#~ msgstr "Noņemamais slānis"
-
-#, fuzzy
-#~ msgid "GRASS GIS Data Catalog (experimetal)"
-#~ msgstr "GRASS GIS 3D rastra kalkulators"
+#~ msgid "Load settings:"
+#~ msgstr "Fonta iestatījumi:"
 
 #, fuzzy
-#~ msgid "Source input"
-#~ msgstr "Vektoru punktus"
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Nav iespējams atvērt vektordatu karti <%s>."
 
 #, fuzzy
-#~ msgid ""
-#~ "Input vector map <%s> and selected map <%s> in layer manager are "
-#~ "different. Operation canceled."
-#~ msgstr "Darbība ir atcelta."
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Nav iespējams atvērt vektordatu karti <%s>."
 
 #, fuzzy
-#~ msgid "Profiles"
-#~ msgstr "Profilēt"
+#~ msgid "Temporary map '%s' with result "
+#~ msgstr "Karšu kopa <%s> jau eksistē."
 
 #, fuzzy
-#~ msgid "Multiple import formats using OGR"
-#~ msgstr "Importēt vairākus"
+#~ msgid "Vector map %s already exists. "
+#~ msgstr "Karšu kopa <%s> jau eksistē."
 
 #, fuzzy
-#~ msgid "Common export formats using OGR"
-#~ msgstr "Biežāk lietotie formāti"
+#~ msgid "Temporary map %s  already exists.\n"
+#~ msgstr "Karšu kopa <%s> jau eksistē."
 
 #, fuzzy
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr "Tuvināt līdz aprēķinu reģionam"
+#~ msgid "Temporary map '%s' was changed outside "
+#~ msgstr "Karšu kopa <%s> jau eksistē."
diff --git a/locale/po/grasswxpy_ml.po b/locale/po/grasswxpy_ml.po
index 314cdb1..484655e 100644
--- a/locale/po/grasswxpy_ml.po
+++ b/locale/po/grasswxpy_ml.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_ml\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Mohammed Rashad <rashadkm at gmail.com>\n"
 "Language-Team: Malayalam <grass-translations at lists.osgeo.org>\n"
@@ -28,7 +28,7 @@ msgid "Name of raster map:"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 #, fuzzy
 msgid "Name of vector map:"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
@@ -141,7 +141,7 @@ msgstr "ഐച്ഛിക"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr ""
 
@@ -212,14 +212,14 @@ msgid "Reload"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -250,8 +250,8 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr ""
@@ -282,9 +282,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr ""
 
@@ -292,14 +293,14 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr ""
 
@@ -332,13 +333,13 @@ msgid "Comment"
 msgstr "ആജ്ഞയുടെ ഉത്പന്നം"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr ""
 
@@ -350,7 +351,7 @@ msgstr "ആജ്ഞയുടെ ഉത്പന്നം"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr ""
@@ -370,10 +371,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr ""
 
@@ -440,13 +441,13 @@ msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 msgid "3D raster maps"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 #, fuzzy
 msgid "Vector maps"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr ""
@@ -476,24 +477,24 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "തിരഞ്ഞെടുത്ത മാപ്പ്സെറ്റ് എടുത്തുകളയുക"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "ഓടുക"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr ""
 
@@ -516,7 +517,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "ആജ്ഞയുടെ ഉത്പന്നം"
 
@@ -586,7 +587,7 @@ msgid "Choose model file"
 msgstr "ഫയൽ തിരഞ്ഞെടുക്കുക"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "ഗ്രാസ്സ് മൊഡൽ ഫയൽ (*.gxm)|*.gxm"
 
@@ -615,7 +616,7 @@ msgstr ""
 msgid "Choose file to save current model"
 msgstr "നിലവിലുള്ള വർക്സ്പേസ് സംഭരിച്ചുവെക്കുകുവനുള്ള ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -635,7 +636,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -646,7 +647,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "കമ്മാൺട് ലെയെർ ചേർക്കുക"
@@ -681,7 +682,7 @@ msgstr "ദയവായി കാത്ത് നിൽക്കുക. മാ
 msgid "Writing current settings to model file failed."
 msgstr "വർക്സ്പേസിലെ രംഗസജ്ജീകരണം മറ്റുനതിൽ പിശക് (%s)"
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, fuzzy, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "വർക്സ്പേസ് ഫയൽ തുറക്കാൻ പറ്റുനില്ല <%s>"
@@ -690,15 +691,15 @@ msgstr "വർക്സ്പേസ് ഫയൽ തുറക്കാൻ പറ
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -776,10 +777,10 @@ msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr ""
 
@@ -801,13 +802,13 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr ""
 
@@ -822,7 +823,7 @@ msgid "mapset"
 msgstr "മാപ്പ്സെറ്റ്"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
@@ -959,7 +960,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr ""
 
@@ -979,7 +980,7 @@ msgstr "മാപ്പ്സെറ്റിന്റ്റെ ഉറവിട
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -1010,8 +1011,8 @@ msgstr ""
 msgid "Label font size (pts):"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1058,9 +1059,9 @@ msgstr "ജിയൊരെക്റ്റിഫയരിന്റ് സജ്
 msgid "No map or image group selected to plot."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr ""
 
@@ -1088,8 +1089,8 @@ msgstr ""
 msgid "Line width"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr ""
 
@@ -1103,19 +1104,19 @@ msgid "Transect segment marker settings"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "വലുപ്പം"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "ഫയൽ"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr ""
 
@@ -1353,19 +1354,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1466,7 +1467,7 @@ msgid "Output"
 msgstr "ഉത്പന്നം"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr ""
 
@@ -1504,8 +1505,7 @@ msgid "Analysing..."
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "സജ്ജീകരണം"
@@ -1560,7 +1560,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1584,10 +1584,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr ""
 
@@ -1608,12 +1609,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1621,47 +1622,47 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "രസറ്ററൊ വെക്റ്ററൊ മപ്പുകളുടെ വിവരങ്ങള്‍ക്കായി ഒരു ഡേറ്റാബേസില്‍ അന്വേഷണം നടത്തുന്നത് "
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 msgid "Creation of turntable failed."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1669,208 +1670,208 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 msgid "Overwrite map"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "മാപ്പ് ലയെർ കളയുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "മാപ്പ് ലയെർ കളയുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "കാറ്റഗറിയുടെ പതിപ്പ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "തിരഞ്ഞെടുക്കുക %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "എടത്: പുതിയ ബിന്ദു"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, python-format
 msgid "Shortest path %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "മാപ്പ് ലയെർ കളയുക"
@@ -2053,295 +2054,295 @@ msgstr ""
 msgid "Select from list of datum transformations"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "പ്രൊജെക്റ്റ് ഇരിക്കുന്ന സ്ഥലം"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 msgid "Earth based"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "ഫയൽ:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2349,31 +2350,31 @@ msgid ""
 "Details: %(err)s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
@@ -2786,7 +2787,16 @@ msgstr ""
 msgid "Remove selected class"
 msgstr "തിരഞ്ഞെടുത്ത മാപ്പ്സെറ്റ് പേർ മാറ്റുക"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2797,136 +2807,131 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "ആജ്നയുടെ ഉത്തരം വരുന്ന സ്ഥലം"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "വിശദ വിവരങ്ങൾ:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "മാപ്പ് ലയെർ കളയുക"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "മാപ്പ് വീണ്ടും പ്രദർശിപിക്കുക"
+
+#: ../gui/wxpython/core/render.py:615
+msgid "Downloading data "
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "മാപ്പ് വീണ്ടും പ്രദർശിപിക്കുക"
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "വിശദ വിവരങ്ങൾ:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1376
-msgid "Downloading data "
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "മാപ്പ് വീണ്ടും പ്രദർശിപിക്കുക"
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr ""
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "സന്ദേശം"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "തെറ്റ്:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "തെറ്റ് %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2935,12 +2940,12 @@ msgid ""
 "Number of skipped lines: %(line)d"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2949,30 +2954,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "മാപ്പ് <%s> കണ്മനില്ല"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3157,39 +3167,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "വർക്സ്പേസ് ഫയൽ തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "നിറം തിരഞ്ഞെടുക്കുക"
 
@@ -3254,12 +3264,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 #, fuzzy
 msgid "Font size:"
@@ -3275,7 +3285,7 @@ msgid "Close dialog and apply changes"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr ""
 
@@ -3293,7 +3303,7 @@ msgstr ""
 msgid "Orientation"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr ""
 
@@ -3342,7 +3352,7 @@ msgid "Map frame settings"
 msgstr "ഉപയോഗിക്കുന്ന ആളുടെ സജ്ജീകരണം"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 #, fuzzy
 msgid "Map frame"
 msgstr "മാപ്പ് ലയെറുകൾ"
@@ -3374,7 +3384,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "മാപ്പ്സെറ്റ്:"
@@ -3399,7 +3409,7 @@ msgstr ""
 msgid "N:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
@@ -3414,7 +3424,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr ""
 
@@ -3450,179 +3460,180 @@ msgstr ""
 msgid "No region selected!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "ലെയെർ ഗ്രൂപ്പ് ചേർക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "മാത്രിക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "ചേർക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "പ്രൊജക്റ്റിന്റെ ലൊക്കെഷനും മാപ്പ്സെറ്റും തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "GUI സജ്ജീകരണം"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "ലൈനൊ/അതിർത്തിയൊ മാറ്റം വരുത്തുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "നിറം തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "പ്രൊജക്റ്റിന്റെ ലൊക്കെഷനും മാപ്പ്സെറ്റും തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "നിറം:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3630,553 +3641,553 @@ msgstr ""
 msgid "Color:"
 msgstr "നിറം:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "ഗ്രിഡിന്റെ നിറം"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "തുടാങ്ങാനുള്ള മാത്രിക തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "ഫയൽ തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "വലുപ്പം"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "ഫയൽ തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "ഫയൽ തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "മാപ്പുകൾ മറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "പുരാവ്രിത്തം ചേർക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "3D റസ്റ്റർ മാപ്പ് ചേർക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "പുരാവ്രിത്തിന്റെയും ഗ്രിഡിന്റെയും സജ്ജീകരണം"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "നടത്തിപ്പ് "
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 #, fuzzy
 msgid "Show vector legend"
 msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "രസറ്ററൊ വെക്റ്ററൊ മപ്പുകളുടെ വിവരങ്ങള്‍ക്കായി ഒരു ഡേറ്റാബേസില്‍ അന്വേഷണം നടത്തുന്നത് "
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 #, fuzzy
 msgid "Vector map"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr ""
 "ഒരു പ്രവൃത്തിയെയോ ഒരു പ്രസ്താവനയെയോ സൂചിപ്പിക്കാന്‍ ഉപയോഗിക്കുന്ന വാക്കോ ചിഹ്നങ്ങളോ ചേർക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "ആജ്ഞയുടെ ഉത്പന്നം"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "3D റസ്റ്റർ മാപ്പ് ചേർക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "പൊതുവായ സജ്ജീകരണം"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "മാത്രിക"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "മാപ്പ്സെറ്റിന്റെ പേർ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "പുരാവ്രിത്തം"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "എടത്: പുതിയ ബിന്ദു"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "ലൊക്കെഷൻ എടുത്തുകളയുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "നിറം തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "ഗ്രിഡിന്റെ നിറം"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "പ്രസന്നമായ "
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "ഗ്രിഡിന്റെ നിറം"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "വലുപ്പം"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "സജ്ജീകരണം മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "സജ്ജീകരണം മാറ്റുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "എടത്: പുതിയ ബിന്ദു"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4319,97 +4330,97 @@ msgid "labels: "
 msgstr ""
 "ഒരു പ്രവൃത്തിയെയോ ഒരു പ്രസ്താവനയെയോ സൂചിപ്പിക്കാന്‍ ഉപയോഗിക്കുന്ന വാക്കോ ചിഹ്നങ്ങളോ ചേർക്കുക"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "വർക്സ്പേസ് ഫയൽ തുറക്കാൻ പറ്റുനില്ല <%s>"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
@@ -4464,28 +4475,28 @@ msgstr ""
 msgid "degree"
 msgstr ""
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4501,7 +4512,7 @@ msgstr ""
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "തിരഞ്ഞെടുത്ത ലൊക്കെഷൻ എടുത്തുകളയുക"
@@ -4515,13 +4526,13 @@ msgstr "ഗ്രിഡ് കാണിക്കുക"
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "മാപ്പിലെക്ക് കാര്യങൾ ചെർക്കുക"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "ജിയൊഡെസിക്ക് ലൈൻ ലയെർ ചേർക്കുക"
@@ -4576,22 +4587,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "പുതിയ പ്രദർശന സ്ഥലം ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "പുതിയ പ്രദർശന സ്ഥലം ഉണ്ടാക്കുക"
@@ -4627,30 +4643,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "ഗ്രാസ്സിലെക്കു കയറുക"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4660,11 +4677,11 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4674,216 +4691,229 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 #, fuzzy
 msgid "Starting 3D view mode..."
 msgstr "മാത്രിക പരിശൊദിക്കുന്നു.."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "ദയവായി കാത്ത് നിൽക്കുക. മാത്രിക തുടങ്ങുന്നു..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 #, fuzzy
 msgid "Switching back to 2D view mode..."
 msgstr "മാത്രിക പരിശൊദിക്കുന്നു.."
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr ""
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "ഡിജിറ്റൈസേഷനിൽ നിന്നും പുറത്ത് വരിക"
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
+
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 #, fuzzy
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "റ്റെക്സ്റ്റ് ലയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 msgid "Save computational region to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "മാപ്പ് ലയെറുകൾ"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "പൊകുക"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 #, fuzzy
 msgid "Projection"
 msgstr "അപഗ്രഥനത്തിൻമേലുള്ള വഴികൾ"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "വിപുലത"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 msgid "Computational region"
 msgstr ""
 
@@ -4900,110 +4930,125 @@ msgstr ""
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "മാപ്പ്സെറ്റിന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "ജിയൊഡെസിക്ക് ലൈൻ ലയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 #, fuzzy
 msgid "Show/hide legend"
 msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "റസ്റ്റർ ഫ്ലോ ആരൊകൾ ചേർക്കുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "മാപ്പ് അപഗ്രഥിക്കുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "ദൂരം അളക്കുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "ദൂരം അളക്കുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "ഉപരിത്തില മാപ്പ് അപഗ്രഥനം ചെയ്യുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 msgid "Vector network analysis tool"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "മറ്റുവാൻ വേണ്ടി മൗസിന്‍റെ ഒരു ബട്ടണ്‍ അമര്‍ത്തിപ്പിടിച്ചുകൊണ്ട് ചലിപ്പിക്കുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "വലുതക്കുവാൻ വേണ്ടി മൗസിന്‍റെ ഒരു ബട്ടണ്‍ അമര്‍ത്തിപ്പിടിച്ചുകൊണ്ട് ചലിപ്പിക്കുക "
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "ചെറുതാക്കുവാൻ വേണ്ടി മൗസിന്‍റെ ഒരു ബട്ടണ്‍ അമര്‍ത്തിപ്പിടിച്ചുകൊണ്ട് ചലിപ്പിക്കുക"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "ഡിജിറ്റൈസേഷനിൽ നിന്നും പുറത്ത് വരിക"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 msgid "Create new configuration file for r.li modules"
 msgstr ""
@@ -5779,13 +5824,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "ഐച്ഛിക"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr ""
@@ -5795,12 +5840,12 @@ msgstr ""
 msgid "Add time stamp"
 msgstr "ലെയെർ ഗ്രൂപ്പ് ചേർക്കുക"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "ലെയെർ ഗ്രൂപ്പ് ചേർക്കുക"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "റ്റെക്സ്റ്റ് ലയെർ ചേർക്കുക"
@@ -5823,7 +5868,7 @@ msgid "Sample text"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5840,7 +5885,7 @@ msgid "Choose image file"
 msgstr "ഫയൽ തിരഞ്ഞെടുക്കുക"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr ""
 
@@ -5870,7 +5915,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -5879,13 +5924,13 @@ msgstr ""
 msgid "animation_"
 msgstr "ഐച്ഛിക"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
@@ -6026,7 +6071,7 @@ msgstr ""
 msgid "Animation Tool settings"
 msgstr "ഐച്ഛിക"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6082,22 +6127,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "മാപ്പ് ലയെർ കളയുക"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "മാപ്പ് ലയെർ കളയുക"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6137,7 +6182,7 @@ msgstr "മാപ്പ് ലയെറുകൾ"
 msgid "Animation Toolbar"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 #, fuzzy
 msgid "Misc Toolbar"
@@ -6183,8 +6228,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
@@ -6225,7 +6270,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr ""
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, fuzzy, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6251,37 +6296,37 @@ msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു
 msgid "No map series nor space-time dataset is added."
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6300,11 +6345,11 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6341,14 +6386,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "സഹായം"
 
@@ -6365,21 +6410,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "മാപ്പ്സെറ്റിന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6406,598 +6451,598 @@ msgstr ""
 msgid "Y"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, python-format
 msgid "Time [%s]"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "മാപ്പ്സെറ്റ്:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "ലെയെർ ഗ്രൂപ്പ് ചേർക്കുക"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 msgid "WARNING: invalid topology"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "ഐച്ഛിക"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "മാപ്പ്സെറ്റിന്റെ പേർ:"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "വർക്സ്പേസ് ഫയൽ അടയ്ക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "ഗ്രിഡിന്റെ നിറം"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "മാത്രിക തുടങ്ങുക"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "ലൊക്കെഷന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "നിറം:"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "തുടാങ്ങാനുള്ള മാത്രിക തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "പുതിയത്"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "പുതിയ ലൊക്കെഷൻ എഴുതുക"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "പ്രസന്നമായ "
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 #, fuzzy
 msgid "color:"
 msgstr "നിറം:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "സജ്ജീകരണം"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 #, fuzzy
 msgid "3D raster map"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 #, fuzzy
 msgid "Show light model"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 #, fuzzy
 msgid "Light source position"
 msgstr "ലൊക്കെഷന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "ഗ്രിഡിന്റെ നിറം"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "നിറം തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "ജിയൊഡെസിക്ക് ലൈൻ ലയെർ ചേർക്കുക"
@@ -7392,15 +7437,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, fuzzy, python-format
 msgid "Raster map <%s> not found"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
@@ -7411,12 +7456,14 @@ msgid "3d raster map <%s> not found"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 #, fuzzy
 msgid "Link external raster data"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
@@ -7433,12 +7480,14 @@ msgid "Set raster output format"
 msgstr "അക്ഷരം തിരഞ്ഞെടുക്കുക"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 #, fuzzy
 msgid "Link external vector data"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
@@ -7462,7 +7511,7 @@ msgstr ""
 msgid "Add command layer"
 msgstr "കമ്മാൺട് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "പുറത്തു കടക്കുക"
@@ -7574,203 +7623,206 @@ msgstr "തുറക്കെണ്ട GRC ഫയൽ തിരഞെടുക്
 msgid "Export PostGIS"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "ആട്രിബൂട്ട് പട്ടിക കാണിക്കുക"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "തിരഞ്ഞെടുത്ത ലെയെർ എടുത്തു കളയുക"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "പുതിയ മാപ്പ്സെറ്റിൻടേ പേർ എഴുതുക"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "ലയെർ നടത്തിപ്പുകാരൻ"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 #, fuzzy
 msgid "Workspace Toolbar"
 msgstr "വർക്സ്പേസ്"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 #, fuzzy
 msgid "Data Toolbar"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "മാപ്പ് മായിച്ചു കളയുക"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 #, fuzzy
 msgid "Map layers"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "ആജ്നയുടെ ഉത്തരം വരുന്ന സ്ഥലം"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "മൊട്യൂൾ തിരയുക"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "ലൊക്കെഷൻ പേർ മാറ്റുക"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7778,12 +7830,12 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "പുതിയ ലൊക്കെഷൻ എഴുതുക"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7792,190 +7844,191 @@ msgstr ""
 "എപ്പൊളത്തെ ലൊക്കെഷൻ <%(loc)s.\n"
 " എപ്പൊളത്തെ മാപ്പ്സെറ്റ് <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "തുടാങ്ങാനുള്ള മാത്രിക തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "വർക്സ്പേസിലെ വിവരങ്ങൾ സംഭരിച്ചുവെക്കുക വെക്കണമൊ ?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "വർക്സ്പേസിലെ രംഗസജ്ജീകരണം ഫയലിൽ സംഭരിച്ചുവെക്കുക വെക്കണമൊ ?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "മാപ്പ് പ്രദർശിപിച്ചിരിക്കുന്ന സ്ഥലം അടയ്ക്കുക %d"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 #, fuzzy
 msgid "Choose script file to run"
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ '%s' കണ്മാനില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ തുടങ്ങുന്നു '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "പുതിയ മാപ്പ്സെറ്റിൻടേ പേർ എഴുതുക"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "നിലവിലുള്ള മാപ്പ്സെറ്റാൺ <%s>"
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "ഗ്രിഡിന്റെ നിറം"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "ഗ്രാസ്സിലെക്കു കയറുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1104
+#, fuzzy
+msgid "GRASS SVN revision"
+msgstr "ഗ്രാസ്സിലെക്കു കയറുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+msgid "Build date"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -7983,61 +8036,61 @@ msgstr ""
 "നിലവിലുള്ള വർക്സ്പേസിൽ ഒന്നുമില്ല. വർക്സ്പേസിലെ രംഗസജ്ജീകരണം മറ്റൊരു ഫയലിൽ സംഭരിച്ചുവെക്കുക "
 "വെക്കണമൊ?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "പുതിയ വർക്സ്പേസ് ഉണ്ടാക്കണമൊ?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "വർക്സ്പേസ് തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 #, fuzzy
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "പഴയ ഗ്രാസ്സ് വർക്ക്സ്പെസ് ഫയൽ (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "ദയവായി ക്ഷമിക്കുക. വർക്സ്പേസ് തുടങ്ങുന്നു..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "തുറക്കെണ്ട GRC ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "പഴയ ഗ്രാസ്സ് വർക്ക്സ്പെസ് ഫയൽ (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "നിലവിലുള്ള വർക്സ്പേസ് സംഭരിച്ചുവെക്കുകുവനുള്ള ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 #, fuzzy
 msgid "Writing current settings to workspace file failed."
 msgstr "വർക്സ്പേസിലെ രംഗസജ്ജീകരണം മറ്റുനതിൽ പിശക് (%s)"
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "പുതിയ മാപ്പ്സെറ്റിൻടേ പേർ എഴുതുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8045,7 +8098,7 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr ""
@@ -8053,7 +8106,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr ""
@@ -8061,23 +8114,23 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8088,69 +8141,64 @@ msgstr ""
 "%s \n"
 "മാപ്പ് ട്രീയിൽ നിന്നും മാറ്റണമൊ?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട മാപ്പ് ലയെറുകൾ കളയണമൊ?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "മാപ്പ് ലയെർ കളയുക"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "പുറത്ത് കടക്കുക"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "ഗ്രാസ്സിലെക്കു കയറുക"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
@@ -8226,7 +8274,7 @@ msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറ
 msgid "Raster Map Calculator"
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 #, fuzzy
 msgid "Graphical Modeler"
 msgstr "പുറത്ത് കടക്കുക"
@@ -8326,7 +8374,7 @@ msgid "Ignore changes and close dialog"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr ""
 
@@ -8660,29 +8708,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
@@ -8886,7 +8934,7 @@ msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "കൂടുതൽ ഉള്ള വഴികൾ (പകർത്തുക,ഞൊട്ടുക,യോജിപ്പിക്കുക,മുതലായവ.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "പഴയ അവസ്ഥയിലേക്ക് വരിക"
 
@@ -8964,7 +9012,7 @@ msgstr ""
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr ""
 
@@ -8993,11 +9041,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "ഡിജിറ്റൈസേഷനിൽ നിന്നും പുറത്ത് വരിക"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9022,183 +9065,183 @@ msgstr ""
 msgid "New vector map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 #, fuzzy
 msgid " Server settings "
 msgstr "പൊതുവായ സജ്ജീകരണം"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "പുരാവ്രിത്തിന്റെയും ഗ്രിഡിന്റെയും സജ്ജീകരണം"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "പുരാവ്രിത്തിന്റെയും ഗ്രിഡിന്റെയും സജ്ജീകരണം"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "സജ്ജീകരണം മാറ്റുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "ലെയറിന്റെ പേർ"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "ലെയറിന്റെ പേർ"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "ഗ്രിഡ് ലയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 #, fuzzy
 msgid "Map display"
 msgstr "മാപ്പ് മായിച്ചു കളയുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 msgid "Extent and resolution are based on computational region."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "ഉപയോഗിക്കുന്ന ആളുടെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "മാപ്പ് ലയെർ കളയുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "തിരഞ്ഞെടുത്ത ലെയെർ എടുത്തു കളയുക"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 msgid "Output map can be added only to current mapset."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "ദയവായി കാത്ത് നിൽക്കുക. മാത്രിക തുടങ്ങുന്നു..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "മാപ്പ്സെറ്റ് എടുത്തുകളയാൻ പറ്റുനില്ല"
@@ -9310,7 +9353,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "ലെയറിന്റെ പേർ"
 
@@ -9325,7 +9369,7 @@ msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
+msgid "Add default"
 msgstr "ലെയെർ ഗ്രൂപ്പ് ചേർക്കുക"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
@@ -9335,161 +9379,168 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "ലൊക്കെഷന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "പ്രൊജക്റ്റിന്റെ ലൊക്കെഷനും മാപ്പ്സെറ്റും തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "ഗ്രാസ്സിലെക്കു കയറുക"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr "തിരഞ്ഞെടുത്ത ലെക്കെഷനിൽ പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റുക"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "മാപ്പ്സെറ്റ് എടുത്തുകളയുക"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "തിരഞ്ഞെടുത്ത ലൊക്കെഷൻ എടുത്തുകളയുക"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "നാമം മാറ്റുക"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "തിരഞ്ഞെടുത്ത മാപ്പ്സെറ്റ് പേർ മാറ്റുക"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "മാപ്പ്സെറ്റ് എടുത്തുകളയുക"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "തിരഞ്ഞെടുത്ത മാപ്പ്സെറ്റ് എടുത്തുകളയുക"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "ലയെർ നടത്തിപ്പുകാരൻ"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "ഗ്രാസ്സിലെക്കു കയറുക"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr "ഗ്രാസ്സ് ഡേറ്റബേസ് നോക്കുന്നതിൽ പിശക്. നിങ്ങളുടെ സജ്ജീകരണം പരിശോഡിക്കുക."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "തെറ്റ്: ലൊക്കെഷൻ <%s> കണ്മാനില്ല"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "തെറ്റ്: മാപ്പ്സെറ്റ് <%s> കണ്മാനില്ല"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "തെറ്റ്:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9499,7 +9550,7 @@ msgstr ""
 "\n"
 "ഈ മപ്സെറ്റിന്റെ പേർ മാറ്റാനും പറ്റില്ല"
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9510,7 +9561,7 @@ msgstr ""
 "\n"
 "പുതിയ പേർ:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9521,7 +9572,7 @@ msgstr ""
 "\n"
 "മാപ്പ്സെറ്റ് <%s> ലൊക്കെഷനിൽ ഉണ്ട്"
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9532,7 +9583,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9543,7 +9594,7 @@ msgstr ""
 "\n"
 "ലൊക്കെഷൻ <%s> ഗ്രാസ്സിൽ ഉണ്ട്"
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9554,7 +9605,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9564,7 +9615,7 @@ msgstr ""
 "\n"
 "ഈ മാപ്പ്സെറ്റ് കളയാൻ പറ്റില്ല"
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9577,11 +9628,11 @@ msgstr ""
 "\n"
 "എല്ലാ മാപ്പുകളും സ്തിരമയി എടുത്തുകളയുന്നതാണ്!!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "മാപ്പ്സെറ്റ് എടുത്തുകളയാൻ പറ്റുനില്ല"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9592,33 +9643,33 @@ msgstr ""
 "\n"
 "എല്ലാ മാപ്പുകളും സ്തിരമയി എടുത്തുകളയുന്നതാണ്!!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "ലൊക്കെഷൻ എടുത്തുകളയാൻ പറ്റുനില്ല"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "ജിസ് ഡാറ്റാ അടങ്ങിയിരിക്കുന്ന സ്ഥലം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9627,17 +9678,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "തിരഞ്ഞെടുത്ത മാപ്പ്സെറ്റ് പേർ മാറ്റുക"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9649,11 +9700,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9661,7 +9712,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9669,14 +9720,19 @@ msgid ""
 "Details: %(reason)s"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
+
+#: ../gui/wxpython/gis_set.py:1101
 #, fuzzy
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
@@ -9684,30 +9740,154 @@ msgid ""
 "located in your home directory. Press Browse button to select the directory."
 msgstr "ഗ്രാസ്സിനു ഡാറ്റ ശെഖരിക്കാൻ ഒരു സ്ഥലം ആവശ്യമാണ്. ദയവയി ഒരു ഡയറക്ട്ടറി ഉണ്ടാക്കുക."
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "ഫയൽ"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "വർക്സ്പേസ്"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "പുതിയ വർക്സ്പേസ് ഉണ്ടാക്കുക"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "മാപ്പ്സെറ്റിന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "തുറക്കുക"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr ""
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "തിരഞ്ഞെടുത്ത ലെയെർ എടുത്തു കളയുക"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "വർക്സ്പേസിലെ വിവരങ്ങൾ സംഭരിച്ചുവെക്കുക വെക്കണമൊ ?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+msgid "Rasterizing..."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:494
+msgid "Failed to set default color table for edited raster map"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "പുതിയ വര ഡിജിറ്റൈസ് ചെയ്യുക"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "പുതിയ വര ഡിജിറ്റൈസ് ചെയ്യുക"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "പുതിയ ബിന്ധു ഡിജിറ്റൈസ് ചെയ്യുക"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "ഡിജിറ്റൈസേഷനിൽ നിന്നും പുറത്ത് വരിക"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "ഒരുഭാഗം മാത്രം ചെറുതാക്കുക"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "ഫയൽ"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "വർക്സ്പേസ്"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "പുതിയ വർക്സ്പേസ് ഉണ്ടാക്കുക"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "തുറക്കുക"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
 
 #: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
@@ -10445,7 +10625,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "മാത്രിക തുടങ്ങുക"
 
@@ -10508,7 +10688,7 @@ msgstr "സ്ക്രിപ്റ്റ് ഫയൽ തുടങ്ങുന
 msgid "Launches script file."
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "അടയ്ക്കുക"
@@ -10518,8 +10698,8 @@ msgstr "അടയ്ക്കുക"
 msgid "Quit wxGUI session."
 msgstr "ഗ്രാസ്സിലെക്കു കയറുക"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "പുറത്ത് കടക്കുക"
@@ -11958,8 +12138,8 @@ msgid "Develop vector map"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr ""
 
@@ -13893,15 +14073,16 @@ msgid "Plot temporal extents."
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
+#, fuzzy
 msgid "Temporal plot tool"
-msgstr ""
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 msgid "Plot temporal values."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
 msgid "&Help"
 msgstr "സഹായം"
@@ -14029,159 +14210,168 @@ msgstr "ലെയെർ ഗ്രൂപ്പ് ചേർക്കുക"
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+#, fuzzy
+msgid "Add condition"
+msgstr "ഐച്ഛിക"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "കമ്മാൺട് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 #, fuzzy
 msgid "Remove item"
 msgstr "അഗ്രം എടുത്തു കളയുക"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 #, fuzzy
 msgid "Delete intermediate data"
 msgstr "തിരഞ്ഞെടുത്ത മാപ്പ്സെറ്റ് എടുത്തുകളയുക"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 #, fuzzy
 msgid "Run entire model"
 msgstr "മാത്രിക തുടങ്ങുക"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 #, fuzzy
 msgid "Validate model"
 msgstr "മാത്രിക പരിശൊദിക്കുന്നു.."
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 #, fuzzy
 msgid "Validate entire model"
 msgstr "മാത്രിക പരിശൊദിക്കുന്നു.."
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ തുടങ്ങുന്നു '%s'..."
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "പുറത്ത് കടക്കുക"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "3D റസ്റ്റർ മാപ്പ് ചേർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "വെക്റ്റർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "പുരാവ്രിത്തം ചേർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "മാപ്പിലെക്ക് കാര്യങൾ ചെർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "ജിയൊഡെസിക്ക് ലൈൻ ലയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "റസ്റ്റർ ഫ്ലോ ആരൊകൾ ചേർക്കുക"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "പുറത്ത് കടക്കുക"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14196,114 +14386,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "GUI സജ്ജീകരണം"
+msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "ഫീച്ചറുകൾ കാണിക്കുകയൊ/മാറ്റം വരുത്തുകയൊ ചെയ്യുക"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "പുതിയ പ്രദർശന സ്ഥലം ഉണ്ടാക്കുക"
+msgstr "മാപ്പ്സെറ്റിന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "പുതിയ ലൊക്കെഷൻ എഴുതുക"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -14496,12 +14686,12 @@ msgstr ""
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr ""
 
@@ -14617,7 +14807,7 @@ msgid "Field calculator"
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "ലെയെർ ഗ്രൂപ്പ് ചേർക്കുക"
@@ -14718,15 +14908,15 @@ msgstr ""
 msgid "Delete all records"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr ""
 
@@ -14900,7 +15090,7 @@ msgid "Driver"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr ""
 
@@ -15024,258 +15214,258 @@ msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാള
 msgid "Field statistics <%s>"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "അടയ്ക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "അടയ്ക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "ആട്രിബൂട്ട് പട്ടിക കാണിക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "തുറക്കെണ്ട GRC ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "തുറക്കെണ്ട GRC ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "സജ്ജീകരണം"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 #, fuzzy
 msgid "fp range"
 msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "ആട്രിബൂട്ട് പട്ടിക കാണിക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "മാപ്പ്സെറ്റിന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "ദയവായി കാത്ത് നിൽക്കുക."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15329,24 +15519,24 @@ msgstr ""
 msgid ":"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 #, fuzzy
 msgid "Block size:"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "മാത്രിക:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -15572,7 +15762,7 @@ msgid "Save expression to file"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr ""
 
@@ -15581,7 +15771,7 @@ msgid "Load expression from file"
 msgstr ""
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr ""
 
@@ -15754,101 +15944,270 @@ msgstr "തുറക്കെണ്ട GRC ഫയൽ തിരഞെടുക്
 msgid "'{cmd}' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:60
+#, fuzzy
+msgid "List of raster layers"
+msgstr "ലെയറുകളുടെ പട്ടിക"
 
-#: ../gui/wxpython/modules/extensions.py:53
-msgid "List of extensions - double-click to install"
+#: ../gui/wxpython/modules/import_export.py:62
+#, fuzzy
+msgid "List of vector layers"
+msgstr "ലെയറുകളുടെ പട്ടിക"
+
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "ലെയറുകളുടെ %s പട്ടിക"
+
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
 #, fuzzy
-msgid "Options"
-msgstr "ഐച്ഛിക"
+msgid "Layer id"
+msgstr "ലയെറുകൾ"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "അപഗ്രഥനത്തിൻമേലുള്ള വഴികൾ"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
+#: ../gui/wxpython/modules/import_export.py:110
+#, fuzzy
+msgid "Source settings"
+msgstr "ഉപയോഗിക്കുന്ന ആളുടെ സജ്ജീകരണം"
+
+#: ../gui/wxpython/modules/import_export.py:127
+#, fuzzy
+msgid "Import settings"
+msgstr "സജ്ജീകരണം കാണിക്കുക"
+
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
+#, fuzzy
+msgid "Add linked layers into layer tree"
+msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "Show manual page"
-msgstr "സജ്ജീകരണം കാണിക്കുക"
-
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
+msgid "No layers selected. Operation canceled."
+msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "ലെയറുകളുടെ പട്ടിക"
+msgid "Unable to determine number of raster bands"
+msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:591
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "ലെയറുകളുടെ പട്ടിക"
+msgid "Define output format for vector data"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:593
 #, fuzzy
-msgid "Uninstall"
-msgstr "ലെയറുകളുടെ പട്ടിക"
+msgid "Define output format for raster data"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:654
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "ലെയറുകളുടെ പട്ടിക"
+msgid "No data source selected."
+msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:695
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "ലെയറുകളുടെ പട്ടിക"
+msgid "No layers selected."
+msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:772
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "Reprojection"
+msgstr "അപഗ്രഥനത്തിൻമേലുള്ള വഴികൾ"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "ലെയറിന്റെ പേർ"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "തിരഞ്ഞെടുക്കപെട്ട ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+msgid "List of extensions - double-click to install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:71
+#, fuzzy
+msgid "Options"
+msgstr "ഐച്ഛിക"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "ലെയറുകളുടെ പട്ടിക"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "സജ്ജീകരണം കാണിക്കുക"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "ലെയറുകളുടെ പട്ടിക"
+
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "ലെയറുകളുടെ പട്ടിക"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "ലെയറുകളുടെ പട്ടിക"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "ലെയറുകളുടെ പട്ടിക"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "ലെയറുകളുടെ പട്ടിക"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -15857,18 +16216,18 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 #, fuzzy
 msgid "Remove extension"
 msgstr "അഗ്രം എടുത്തു കളയുക"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "വിപുലത"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 #, fuzzy
 msgid "Please wait, exporting image..."
 msgstr "ദയവായി കാത്ത് നിൽക്കുക. മാത്രിക തുടങ്ങുന്നു..."
@@ -16016,7 +16375,7 @@ msgid ""
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
@@ -16054,11 +16413,6 @@ msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹ
 msgid "Export training areas"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "ആട്രിബൂട്ട് പട്ടിക കാണിക്കുക"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 msgid "Export attribute table containing computed statistical data"
 msgstr ""
@@ -16086,22 +16440,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "ഉപയോഗിക്കുന്ന ആളുടെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "പുതിയ പ്രദർശന സ്ഥലം ഉണ്ടാക്കുക"
@@ -16145,154 +16499,154 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "ലൊക്കെഷന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr " പ്രദർശന സ്ഥലം കടലാസിലേക്ക് അച്ചടിക്കുക"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "മാപ്പ് മായിച്ചു കളയുക"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 #, fuzzy
 msgid "Import vector map"
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 msgid "Analysis failed."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ '%s' കണ്മാനില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ '%s' കണ്മാനില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
@@ -16752,86 +17106,226 @@ msgstr "RMS തെറ്റ്"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "ഗ്രാസ്സ് മാപ്പ് ഗണനയന്ത്രം"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "ലെയറിന്റെ പേർ"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "മാപ്പ്സെറ്റ് പേർ മാറ്റാൻ മാറ്റുക"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "മാത്രിക പരിശൊദിക്കുന്നു.."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "ഓടുന്ന മാത്രിക..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "ഓടുന്ന മാത്രിക..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "മാപ്പ്സെറ്റ് എടുത്തുകളയുക"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "സജ്ജീകരണം"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+msgid "&Copy"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "പുരാവ്രിത്തം"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "ജിയൊഡെസിക്ക് ലൈൻ ലയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "റസ്റ്റർ ഫ്ലോ ആരൊകൾ ചേർക്കുക"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "മാപ്പ് അവതരിപിച്ചിരിക്കുന്ന സ്ഥലം"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "സജ്ജീകരണം കാണിക്കുക"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "ഗ്രിഡ് അല്ലെങ്കിൽ മേലെ വയ്ക്കുന്ന വെക്റ്റർ ലേബെൽ ചേർക്കുക"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "പുരാവ്രിത്തം ചേർക്കുക"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, fuzzy, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "സ്ക്രിപ്റ്റ് ഫയൽ '%s' കണ്മാനില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "വർക്സ്പേസ് സംഭരിച്ചു വെക്കുക"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -16926,571 +17420,471 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 #, fuzzy
 msgid "Select GRASS location and mapset"
 msgstr "പ്രൊജക്റ്റിന്റെ ലൊക്കെഷനും മാപ്പ്സെറ്റും തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 #, fuzzy
 msgid "Name of GRASS location:"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "മാപ്പ്സെറ്റിന്റെ പേർ:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 #, fuzzy
 msgid "Select mapset in GRASS location"
 msgstr "ലൊക്കെഷന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "മാപ്പ്സെറ്റിന്റെ പേർ:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "ഗ്രൂപ്പ് ഉണ്ടാക്കുകയൊ/ മിരുത്തുകയൊ ചെയ്യുക..."
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "മാപ്പുകൾ മറ്റുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "മാപ്പിന്റെ പട്ടിക:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr "തിരഞ്ഞെടുക്കപെട്ട മാപ്പ് ലയെറുകൾ കളയണമൊ?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "മാപ്പ് ലയെറുകൾ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "നിറം തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "മാപ്പ്സെറ്റ്:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
 msgid "Invert selection"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റുക"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "ലെയറുകളുടെ പട്ടിക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "ലെയറുകളുടെ പട്ടിക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "ലെയറുകളുടെ %s പട്ടിക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "ലയെറുകൾ"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "അപഗ്രഥനത്തിൻമേലുള്ള വഴികൾ"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "തിരഞ്ഞെടുക്കപെട്ട ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "അതാര്യമായ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "അടയാളത്തിന്റ്റെ സജ്ജീകരണം"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "മാപ്പ്സെറ്റ്"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "മാത്രിക"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "പൊതുവായ സജ്ജീകരണം"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "ഉപയോഗിക്കുന്ന ആളുടെ സജ്ജീകരണം"
+msgid "Source input"
+msgstr "സജ്ജീകരണം കാണിക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "ഫയൽ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "ഉത്പന്നം"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "ഫയൽ:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "തുറക്കെണ്ട GRC ഫയൽ തിരഞെടുക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 #, fuzzy
 msgid "Extension:"
 msgstr "വിപുലത"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "ഫയൽ തിരഞ്ഞെടുക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "ഫീച്ചറുകൾ കളയുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "topological"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "പുതിയ ലൊക്കെഷൻ എഴുതുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "പുരാവ്രിത്തം കാണിക്കുക"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "മാപ്പ് <%s> കണ്മനില്ല"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -17617,6 +18011,7 @@ msgid "Module dialog style:"
 msgstr "ആജ്നയുടെ ഉത്തരം വരുന്ന സ്ഥലം"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 #, fuzzy
 msgid "Map Display"
 msgstr "മാപ്പ് മായിച്ചു കളയുക"
@@ -17718,7 +18113,7 @@ msgstr "ഗ്രിഡിന്റെ നിറം"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "പ്രസന്നമായ "
 
@@ -18003,6 +18398,49 @@ msgstr ""
 msgid "Nothing found"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "കാറ്റഗറിയുടെ പതിപ്പ് ഉണ്ടാക്കുക"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "ഫീച്ചറുകൾ കളയുക"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "മാപ്പ് <%s> കണ്മനില്ല"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "മാപ്പ്സെറ്റിലെക്ക് മാറാൻ കഴിയുനില്ല <%s>."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "അറിയിപ്പ്"
@@ -18045,6 +18483,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -18116,107 +18558,107 @@ msgstr ""
 msgid "&Previous"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "ആജ്ന നടപക്കുക(Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 #, fuzzy
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "ആജ്ന നടപക്കുക(Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 #, fuzzy
 msgid "Add created map(s) into layer tree"
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "ആവശ്യമായത്"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "ഐച്ഛിക"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[അനേകം]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 #, fuzzy
 msgid "valid range"
 msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "തിരഞ്ഞെടുക്കുക %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "മാപ്പ് ലയെർ കളയുക"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 msgid "or enter values directly:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "ഹസ്തവിഷയകമായ"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18224,28 +18666,28 @@ msgid ""
 "Reason: %s"
 msgstr "പുതിയ മാപ്പ്സെറ്റ് ഉണ്ടാക്കാൻ പറ്റുനില്ല: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -18303,68 +18745,79 @@ msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 msgid "Change layer opacity"
 msgstr "മാപ്പ്സെറ്റ് ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "തന്നിരിക്കുന്ന വിവരങ്ങൾ ഹാര്‍ഡ് ഡിസ്കിൽ രേഖപ്പെടുത്തി സംഭരിച്ചുവെക്കുക"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "പൊതുവായ സജ്ജീകരണം"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "തിരഞ്ഞെടുത്ത മാപ്പ്സെറ്റ് എടുത്തുകളയുക"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-#, fuzzy
-msgid "Load settings:"
-msgstr "സജ്ജീകരണം കാണിക്കുക"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+msgid "Load:"
+msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "മാപ്പ് <%s> കണ്മനില്ല"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "പൊതുവായ സജ്ജീകരണം"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "ഈ പേരിലുള്ള വർക്സ്പേസ്<%s> നിലവുണ്ട്. നിങ്ങൾക്ക് ഇതിൽ തന്നെ സംഭരിച്ചു വെക്കണമൊ?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "മപ്പ് ലയരുകളൊന്നും തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല. ആജ്ഞ തിരസ്കരിക്കപെട്ടു."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "ആജ്ഞ നടപ്പാക്കുന്നതിൽ പാളിച: '%s'"
@@ -18473,11 +18926,11 @@ msgstr "തിരഞ്ഞെടുക്കപെട്ട raster ലയെറ
 msgid "Select graphics tool"
 msgstr "പുതിയ പ്രദർശന സ്ഥലം ഉണ്ടാക്കുക"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "ആജ്ന നടപക്കുക(Ctrl+R)"
@@ -18494,6 +18947,26 @@ msgstr "ആജ്ന നടപക്കുക(Ctrl+R)"
 #~ msgstr "പുറത്തു കടക്കുക"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "ധര്‍മ്മ്യമായ അണിയണിയായി നിറുത്തുക"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "പുരാവ്രിത്തം കാണിക്കുക"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "മാത്രിക പരിശൊദിക്കുന്നു.."
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "നാമം മാറ്റുക"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "സജ്ജീകരണം കാണിക്കുക"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "ലെയറുകളുടെ പട്ടിക"
 
@@ -18506,20 +18979,20 @@ msgstr "ആജ്ന നടപക്കുക(Ctrl+R)"
 #~ msgstr "രാസ്റ്റെർ മാപ്പ് ലെയെർ ചേർക്കുക"
 
 #, fuzzy
-#~ msgid "Add condition"
-#~ msgstr "ഐച്ഛിക"
+#~ msgid "Load settings:"
+#~ msgstr "സജ്ജീകരണം കാണിക്കുക"
 
 #, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
+#~ msgid "Common export formats using OGR"
+#~ msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "ലയെർ നടത്തിപ്പുകാരൻ"
 
 #, fuzzy
-#~ msgid "Common export formats using OGR"
-#~ msgstr "തിരഞ്ഞെടുക്കപെട്ട vector ലയെറുകളെ ഇറക്കുമതി ചെയ്യുക"
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "മാപ്പ്സെറ്റിന്റ്റെ ഉറവിടം തിരഞെടുക്കുക"
 
 #~ msgid "Choose project location and mapset"
 #~ msgstr "പ്രൊജക്റ്റിന്റെ ലൊക്കെഷനും മാപ്പ്സെറ്റും തിരഞ്ഞെടുക്കുക"
@@ -18576,6 +19049,9 @@ msgstr "ആജ്ന നടപക്കുക(Ctrl+R)"
 #~ msgid "Rename location"
 #~ msgstr "ലൊക്കെഷൻ പേർ മാറ്റാൻ മാറ്റുക"
 
+#~ msgid "Delete mapset"
+#~ msgstr "മാപ്പ്സെറ്റ് എടുത്തുകളയുക"
+
 #~ msgid "Delete location"
 #~ msgstr "ലൊക്കെഷൻ എടുത്തുകളയുക"
 
@@ -18590,5 +19066,9 @@ msgstr "ആജ്ന നടപക്കുക(Ctrl+R)"
 #~ msgstr "ഗ്രാസ്സ് ആദ്യമായി തുടങ്ങുക"
 
 #, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "ലയെർ നടത്തിപ്പുകാരൻ"
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "ലയറുകൾ ലയെർ മാനെജരിലെക്കു വരുത്തുക"
diff --git a/locale/po/grasswxpy_pl.po b/locale/po/grasswxpy_pl.po
index b92cf8b..79d6249 100644
--- a/locale/po/grasswxpy_pl.po
+++ b/locale/po/grasswxpy_pl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_pl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2014-12-22 14:52+0100\n"
 "Last-Translator: Milena Nowotarska <do.milenki * gmail.com>\n"
 "Language-Team: Polish <grass-translations at lists.osgeo.org>\n"
@@ -29,7 +29,7 @@ msgid "Name of raster map:"
 msgstr "Nazwa mapy rastrowej:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Nazwa mapy wektorowej:"
 
@@ -146,7 +146,7 @@ msgstr "Warunek"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr "Etykieta"
 
@@ -215,14 +215,14 @@ msgid "Reload"
 msgstr "Przeładuj"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "Nie"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Tak"
 
@@ -251,8 +251,8 @@ msgstr "Wyłączony:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Kolor"
@@ -282,9 +282,10 @@ msgstr "Rozmiar kształtu"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Szerokość:"
 
@@ -292,14 +293,14 @@ msgstr "Szerokość:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Wysokość:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Dane"
 
@@ -331,13 +332,13 @@ msgid "Comment"
 msgstr "Polecenie"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "Właściwości modelu"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadane"
 
@@ -348,7 +349,7 @@ msgstr "Polecenia"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Pozwól na nadpisanie istniejących plików przez pliki wyjściowe"
@@ -368,10 +369,10 @@ msgstr "Zamknij okno bez zapisywania zmian"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Nazwa:"
 
@@ -435,12 +436,12 @@ msgstr "Mapy rastrowe"
 msgid "3D raster maps"
 msgstr "Mapy rastrowe 3D"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "Mapy wektorowe"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "nieznany"
@@ -469,23 +470,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "Parametry modelu"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr "Usuń dane przejściowe na zakończeniu"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Uruchom"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Zmienne"
 
@@ -506,7 +507,7 @@ msgid "Python editor"
 msgstr "Konsola Pythona"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Wynik polecenia"
 
@@ -570,7 +571,7 @@ msgid "Choose model file"
 msgstr "Wybierz plik modelu"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "Plik modelu GRASS (*.gxm)|*.gxm"
 
@@ -597,7 +598,7 @@ msgstr "Zbiór <%s> został zapisany"
 msgid "Choose file to save current model"
 msgstr "Wybierz plik, w którym zapisać bieżący model"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Plik już istnieje"
 
@@ -620,7 +621,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "Model jest poprawny."
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -632,7 +633,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr "Wyeksportowano model do <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Dodaj polecenie"
@@ -664,7 +665,7 @@ msgstr "Proszę czekać, wczytywanie modelu..."
 msgid "Writing current settings to model file failed."
 msgstr "Zapis bieżących ustawień do pliku modelu  nie powiódł się."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Nie można otworzyć piku<%s> do zapisu."
@@ -673,15 +674,15 @@ msgstr "Nie można otworzyć piku<%s> do zapisu."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -758,10 +759,10 @@ msgstr "Wartość domyślna"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Opis"
 
@@ -782,13 +783,13 @@ msgid "string"
 msgstr "tekstowe"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "wektor"
 
@@ -801,7 +802,7 @@ msgid "mapset"
 msgstr "mapset"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "plik"
 
@@ -939,7 +940,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Wybierz mapę rastrową:"
 
@@ -957,7 +958,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -988,8 +989,8 @@ msgstr "Etykieta osi Y:"
 msgid "Label font size (pts):"
 msgstr "Wielkość czcionki etykiety (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1038,9 +1039,9 @@ msgstr "Ustawienia profilu zapisano w pliku '%s'."
 msgid "No map or image group selected to plot."
 msgstr "Nie wybrano warstwy mapy"
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Uwaga"
 
@@ -1066,8 +1067,8 @@ msgstr "Kolor linii"
 msgid "Line width"
 msgstr "Szerokość linii"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Styl linii"
 
@@ -1081,18 +1082,18 @@ msgid "Transect segment marker settings"
 msgstr "Ustawienia markerów przecięcia segmentu"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Wielkość"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr "Wypełnienie"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Styl"
 
@@ -1329,19 +1330,19 @@ msgid "Under Construction"
 msgstr "W fazie tworzenia"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Ustawienia strony"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Podgląd wydruku"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1443,7 +1444,7 @@ msgid "Output"
 msgstr "Wyjście"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parametry"
 
@@ -1483,8 +1484,7 @@ msgid "Analysing..."
 msgstr "Analiza"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Ustawienia"
@@ -1538,7 +1538,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Kolor wybranego punktu:"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1564,10 +1564,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Zamknij okno dialogu"
 
@@ -1588,12 +1589,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Analizy sieciowe"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1601,49 +1602,49 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "Mapa wektorowa <%s> już istnieje. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "%d map usunięto z bieżącego mapsetu"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Mapa wektorowa <%s> już istnieje. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Nadpisać?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "Tworzenie nowej grupy <%s> nie powiodło się."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 #, fuzzy
 msgid "Vector map with analysis result does not exist."
 msgstr "Katalog %s nie istnieje."
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1651,203 +1652,203 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "Mapa wektorowa <%s> już istnieje. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Mapa wektorowa <%s> już istnieje. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Nie można ustawić"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "Mapa wektorowa <%s> już istnieje. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Nadpisać?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Katalog %s nie istnieje."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Mapa wektorowa <%s> nie odnaleziona"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Warstwy mapy"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Dodaj warstwę"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Menadżer warstw"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Zarządzaj lub twórz raport kategorii"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Wybierz %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr "Usuwa kolumnę w tabeli atrybutów mapy wektorowej."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "użyj"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 msgid "type"
 msgstr "typ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr "topologia"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 msgid "Start point"
 msgstr "Punkt początkowy"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 msgid "End Point"
 msgstr "Punkt końcowy"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 msgid "new point"
 msgstr "nowy punkt"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Kolumna numeryczna:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr "węzeł"
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, python-format
 msgid "Shortest path %s"
 msgstr "Najkrótsza trasa %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 msgid "End point"
 msgstr "Punkt końcowy"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr "Analizy komiwojażera %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr "Maksymalny przepływ %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 msgid "Source point"
 msgstr "Punkt źródła"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Pokaż punkty"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 msgid "Overwrite map layer"
 msgstr "Nadpisz warstwę mapy"
 
@@ -2029,55 +2030,55 @@ msgstr "Wybierz transformację odwzorowania"
 msgid "Select from list of datum transformations"
 msgstr "Wybierz transformację odwzorowania z listy"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Zdefiniuj bazę danych GRASS-a i nazwę lokacji"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Przeglądaj"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Katalog danych GIS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Lokacja projektu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Wybierz katalog danych GIS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "Nazwa lokacji"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr "Opcjonalna nazwa lokacji, możesz zostawić to pole puste."
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
@@ -2086,24 +2087,24 @@ msgstr ""
 "Nazwa <%(name)s> nie jest poprawną nazwą dla lokacji. Użyj wyłącznie znaków "
 "ASCII łącznie z %(chars)s i spacją."
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr "Niewłaściwa nazwa lokacji"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Wybierz katalog danych GRASS-a:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Lokacja już istnieje w bazie danych GRASS-a."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Nie można utworzyć lokacji"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
@@ -2111,192 +2112,192 @@ msgstr ""
 "Nazwa lokacji może składać się z jednej linii i 256 znaków. Reszta tekstu "
 "będzie zignorowana."
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Wybierz metodę utworzenia nowej lokacji"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "Wybierz kod EPSG układu współrzędnych"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr "Czytaj odwzorowanie i datum z pliku danych georeferencyjnych"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 #, fuzzy
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr "Czytaj odwzorowanie i datum z pliku WKT lub PRJ"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "Wybierz parametry układu współrzędnych z listy"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr "Określ odwzorowanie i datum na podstawie parametrów w PROJ.4"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Utwórz kartezjański układ współrzędnych użytkownika (XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Wybierz odwzorowanie"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Kod"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Kod odwzorowania:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Szukaj w opisach:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Nie można przeczytać listy: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Podaj parametry odwzorowania"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Wybierz datum lub elipsoidę (następna strona)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Datum z przypisaną elipsoidą"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Tylko elipsoida"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "Musisz wprowadzić wartość dla %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Podaj parametry odwzorowania %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Określ datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Elipsoida"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Kod datum:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Zdefiniuj elipsoidę"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 msgid "Earth based"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Kod elipsoidy:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Wskaż plik z georeferencjami"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Plik z georeferencjami:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr "Wybierz plik Well Known Text (WKT) .prj"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 msgid "WKT .prj file:"
 msgstr "Plik WKT .prj:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Wybierz kod EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Ścieżka do pliku z kodami EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Kod EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Wybierz plik z kodami EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Nie można przeczytać kodów EPSG: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Wybierz metodę oznaczenia parametrów georeferencji"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Wprowadź parametry PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Wymagana jest transformacja odwzorowania."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Podsumowanie"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "Baza danych GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Nazwa lokacji:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Tytuł lokacji:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Odwzorowanie:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
@@ -2304,25 +2305,25 @@ msgstr ""
 "Definicja PROJ.4:\n"
 " (nie ostateczna)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "użytkownika"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Czy chcesz utworzyć lokację GRASS-a <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Utworzyć nową lokację?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Zdefiniuj nową lokację GRASS-a"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2333,15 +2334,15 @@ msgstr ""
 "\n"
 "Szczegóły: %(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Anulowano pracę kreatora lokacji. Lokacja nie została utworzona."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Nie udało się utworzyć nowej lokacji"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2350,16 +2351,16 @@ msgstr ""
 "Lokacja <%(loc)s> zostanie utworzona w katalogu z danymi GIS <%(dir)s>. "
 "Zmień domyślny katalog do danych GIS w trakcie uruchamiania programu. "
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "Nowy katalog danych GIS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Brak kodu EPSG."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr "Nie znaleziono pliku <%s>"
@@ -2772,7 +2773,16 @@ msgstr "Dodaj klasę"
 msgid "Remove selected class"
 msgstr "Usuń wybraną klasę"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2783,139 +2793,134 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: warstwa typu <%(type)s> nie jest jeszcze obsługiwany."
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr "Błąd polecenia '%s'\n"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr "Szczegóły: %s\n"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Nieobsługiwany typ warstwy '%s'"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "BŁĄD: Renderowanie nie powiodło się. Szczegóły: %s"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Renderowanie &"
+
+#: ../gui/wxpython/core/render.py:615
+msgid "Downloading data "
+msgstr "Wczytywanie danych"
+
+#: ../gui/wxpython/core/render.py:625
+msgid "Rendering & "
+msgstr "Renderowanie &"
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr "Renderowanie..."
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Powiększ do domyślnego regionu"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 "Nie znaleziono modułu '%s'. Nie można uruchomić okna wyświetlania mapy."
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 "Błąd: Nie można otworzyć '%(file)s'. Powód: %(ret)s. wxGUI zostało "
 "zamknięte.\n"
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Nie można przeczytać pliku %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Nieprawidłowa wartość: %s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Nie można powiększyć do mapy rastrowej <%s>."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Szczegóły:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Nie można powiększyć do mapy wektorowej <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Nie można powiększyć do mapy rastrowej <%s>."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "BŁĄD: Renderowanie nie powiodło się. Szczegóły: %s"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Nie można wyświetlić warstwy mapy <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Nie można wyświetlić nakładki <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-msgid "Downloading data "
-msgstr "Wczytywanie danych"
-
-#: ../gui/wxpython/core/render.py:1386
-msgid "Rendering & "
-msgstr "Renderowanie &"
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr "Renderowanie..."
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Powód"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Wiadomość"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Wykonanie nie powiodło się:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Błąd:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Nie można wykonać polecenia: %s"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Błąd w %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Nie można otworzyć piku<%s> do odczytu."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2928,12 +2933,12 @@ msgstr ""
 "\n"
 "Liczba pominiętych linii: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr " wiersz: %d"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2942,31 +2947,36 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Nie znaleziono pliku <%s>"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d sec"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr "%(min)d min %(sec)d sec"
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 "Zauważ, że dane są pozostawione w niespójnym stanie i mogą być uszkodzone"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Polecenie przerwane"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Polecenie zakończone"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3160,39 +3170,39 @@ msgstr "Błąd składni: %s"
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Nowa mapa wektorowa <%(map)s>: %(msg)s\n"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "nie można otworzyć '%s'"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr "BŁĄD: Nie można ustalić wersji GRASS. Szczegóły: %s"
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Nie można otworzyć pliku'%s'\n"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Zduplikowany klucz: %s\n"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Nie można utworzyć pliku '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Ustaw kolor"
 
@@ -3259,11 +3269,11 @@ msgstr ""
 "krawędzi papieru"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr "Czcionka:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Rozmiar czcionki:"
@@ -3277,7 +3287,7 @@ msgid "Close dialog and apply changes"
 msgstr "Zastosuj zmiany i zamknij okno"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Zastosuj zmiany"
 
@@ -3294,7 +3304,7 @@ msgstr "Format"
 msgid "Orientation"
 msgstr "Orientacja"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr "Szerokość"
 
@@ -3339,7 +3349,7 @@ msgid "Map frame settings"
 msgstr "Ustawienia ramki mapy"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr "Ramka mapy"
 
@@ -3367,7 +3377,7 @@ msgstr "ustalona skala i środek mapy"
 msgid "Map selection"
 msgstr "Wybór map"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "Mapa:"
 
@@ -3391,7 +3401,7 @@ msgstr "E:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr "Skala:"
 
@@ -3405,7 +3415,7 @@ msgstr "Maksymalna rozdzielczość mapy (dpi):"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "Obramowanie"
 
@@ -3439,163 +3449,164 @@ msgstr "Nie wybrano mapy!"
 msgid "No region selected!"
 msgstr "Nie wybrano regionu!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr "Niewłaściwa skala lub środek mapy!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Mapa rastrowa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr "Wybierz mapę rastrową"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr "brak mapy rastrowej"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr "raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "Utwórz najpierw ramkę mapy."
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr "Dodaj mapę"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr "punkty"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr "linie"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "obszary"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr "Typ danych"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Dodaj"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr "Zarządzanie mapami wektorowymi"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr "Mapa wektorowa leżąca najwyżej przesłania pozostałe"
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "W górę"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr "W dół"
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Usuń"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr "Właściwości..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr "Ustawienia mapy rastrowej"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr "Ustawienia mapy wektorowej"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr "%s właściwości"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr "Wybór danych"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr "Typ obiektu"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr "centroidy"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr "granice"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr "Wybór warstw"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "Połączenie z bazą danych nie zostało zdefiniowane w pliku bazy."
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr "Wybierz warstwę:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Maska"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr "Użyj bieżącej maski"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr "Kolory"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr "Obramowanie"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr "rysuj obrys"
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr "Szerokość (pkt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3603,268 +3614,268 @@ msgstr "Szerokość (pkt):"
 msgid "Color:"
 msgstr "Kolor:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr "kolor wypełnienia"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr "wybierz kolor:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr "kolor z kolumny tabeli mapy:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr "Brak efektu wypełnienia kolorem z kolumny tabeli"
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr "Kolor linii:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr "Rozmiar i styl"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Sposób wyświetlania"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr "symbol:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr "plik eps:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr "Wpisz nazwę pliku lub wybierz plik z dysku"
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr "Wybierz plik"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr "rozmiar:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr "rozmiar z kolumny tabeli mapy:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr "skala:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr "Obrót"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr "obróć symbole:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr "zgodnie ze wskazówkami zegara w stopniach"
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr "z kolumny tabeli mapy:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr "Ustaw szerokość (w punktach):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr "pomnóż szerokość przez wartości kategorii"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr "Wybierz styl linii:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr "Wybierz zalończenie linii:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr "Deseń"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr "zastosuj deseń:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr "Wybierz plik desenia:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr "szerokość linii desenia (w punktach):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr "współczynnik skali desenia:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr "Legenda rastra"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr "Pokaż legendę rastra"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr "Raster źródłowy"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr "bieżący raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr "wybierz raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr "%(rast)s: typ %(type)s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr "Rodzaj legendy"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr "legenda dyskretna (mapy kategorii)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr "legenda z ciągłym gradientem koloru (mapy zmiennopozycyjne)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr "Zaawansowane ustawienia legendy"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr "uwzględnij \"no data\" "
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr "rysuj znaczniki w tabeli kolorów"
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "zakres"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr "Legenda wektorowa"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr "Pokaż legendę warstw wektorowych"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr "Źródłowe mapy wektorowe"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr "Wybierz mapy wektorowe i ich kolejność w legendzie"
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Mapa wektorowa"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "Edytuj etykietę"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "rysuj ramkę wokół legendy"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr "Rozmiar i pozycja"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Pozycja"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr "Aby użyć wartości domyślnych, pozostaw puste pole edycji."
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr "Kolumny:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr "odstęp kolumn:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr "Edytuj etykietę legendy:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr "Nie wybrano mapy rastrowej!"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr "Brak rastra"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
 msgstr "Ustawienia Mapinfo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr "Ustawienia kolorów"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr "użyj koloru obramowania:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr "użyj koloru tła:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
@@ -3872,185 +3883,185 @@ msgstr ""
 "Jednostki bieżącej projekcji nie są obsługiwane,\n"
 " zostaną użyte metry!"
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr "Nieobsługiwane jednostki"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr "Długość:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr "Długość podziałki jest podana w jednostkach mapy"
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr "Wysokość podziałki jest jej realną wysokością na papierze"
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr "domyślny"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr "Typ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr "Liczba segmentów:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr "Etykietuj wszystko"
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr "segmenty"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr "przezroczyste tło tekstu"
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr "Długość podziałki nie jest zdefiniowana"
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "Tekst"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Wpisz tekst:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr "Efekty tekstu"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr "tło tekstu"
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr "uwydatnienie"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "obramowanie tekstu"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr "Przesunięcie"
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr "poziome (pkt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr "pionowe (pkt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr "Punkt referencyjny"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr "Rotacja tekstu"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr "obróć tekst (odwrotnie do wskazówek zegara)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr "Nie wprowadzono tekstu!"
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr "Zobrazowanie"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr "Wybierz ścieżkę:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr "Wybierz katalog ze zobrazowaniami"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr "Uwaga: Tylko format EPS jest obsługiwany"
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr "Skala i Obrót"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr "Kąt obrotu (w stopniach):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr "Rotacja w stopniach przeciwnie do ruchu wskazówek zegara"
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 #, fuzzy
 msgid ""
 "PIL\n"
 "missing"
 msgstr "Emisja"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr "Nie można przeczytać pliku %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr "rozmiar: %(width)s x %(height)s pkt"
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
 msgstr "Nie wybrano zobrazowania."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr "Strzałka północy"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr "Ustawienia strzałki północy"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Punkt"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr "Symbol"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr "Wybierz symbol:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
@@ -4058,53 +4069,53 @@ msgstr ""
 "Uwaga: Wybrany symbol nie jest wyświetlany\n"
 "w trybie rysunku (tylko w tyrybie podglądu)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr "Kolor obrysu:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "przezroczysty"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr "Kolor wypełnienia:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr "Rozmiar i obrót"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr "Rozmiar (w punktach):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr "Rozmiar symbolu w punktach"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr "Ustawienia prostokąta"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr "Ustawienia linii"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr "Szerokość linii w punktach"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 msgid "Vector labels"
 msgstr "Wektorowe etykiety"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4245,7 +4256,7 @@ msgstr "Kliknij i przeciągnij aby zmienić rozmiar obiektu"
 msgid "labels: "
 msgstr "etykiety:"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
@@ -4254,12 +4265,12 @@ msgstr ""
 "Nie można otworzyć pliku\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr "Plik instrukcji zostanie wczytany z regionem: %s\n"
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
@@ -4268,23 +4279,23 @@ msgstr ""
 "Region nie może zostać ustawiony\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr "Nie można przeczytać instrukcji %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
@@ -4293,14 +4304,14 @@ msgstr ""
 "Zmieniła się skala, poprzednia wartość: %(old)s\n"
 "nowa wartość: %(new)s"
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
@@ -4309,7 +4320,7 @@ msgstr ""
 "Zmieniła się pozycja ramki mapy, poprzednia wartość: %(old1)s %(old2)s\n"
 "nowa wartość: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
@@ -4318,7 +4329,7 @@ msgstr ""
 "Zmienił się rozmiar ramki mapy, poprzednia wartość: %(old1)s %(old2)s\n"
 "nowa wartość: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
@@ -4327,13 +4338,13 @@ msgstr ""
 "Nie można przeczytać  instrukcji %(file)s.\n"
 "Nieznany format %(for)s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr "Nie można przeczytać instrukcji %s."
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
@@ -4342,8 +4353,8 @@ msgstr ""
 "Znaki w pozycji %s nie są obsługiwanie przez kodowanie ISO-8859-1 (Latin 1), "
 "które jest wymagane w module ps.map."
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
@@ -4351,7 +4362,7 @@ msgstr ""
 "Nie wszystkie znaki są obsługiwane przez kodowanie ISO-8859-1 (Latin 1), "
 "które jest wymagane w module ps.map."
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4406,27 +4417,27 @@ msgstr "metr"
 msgid "degree"
 msgstr "stopień"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr "Nie można uruchomić `ps.map -b`"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr "Utwórz plik tekstowy z instrukcjami mapy"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr "Wczytaj plik tekstowy z instrukcjami mapy"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr "Utwórz plik PostScript"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "Utwórz PDF"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "Ustaw rozmiar i orientację papieru, marginesy"
 
@@ -4442,7 +4453,7 @@ msgstr "Powiększ do pełnego zasięgu"
 msgid "Click and drag to place map frame"
 msgstr "Kliknij i przeciągnij aby umieścić ramkę mapy"
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr "Usuń wybrany obiekt"
 
@@ -4454,12 +4465,12 @@ msgstr "&Pokaż podgląd"
 msgid "Quit Cartographic Composer"
 msgstr "Wyjdź z kompozytora wydruków"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr "Informacje o mapie"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr "Podziałka liniowa"
 
@@ -4512,22 +4523,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Nieobsługiwane jednostki"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr "Otwieranie okna mapy <%s>..."
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Nie można utworzyć pliku '%s'\n"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Zamykanie okna mapy <%s>..."
@@ -4563,30 +4579,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Okno mapy"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "BŁĄD: Nie można ustalić wersji GRASS. Szczegóły: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "Okno Mapy GRASS GIS:  %(id)d  - lokacja: %(loc)s"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "widok 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4595,11 +4612,11 @@ msgstr ""
 "Nie można wprowadzić nowego rekordu.\n"
 "%s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr "Narzędzia wektoryzacji"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4614,210 +4631,222 @@ msgstr ""
 "\n"
 "Szczegóły: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Uruchamianie trybu 3D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Proszę czekać, ładuję dane..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr "Proszę czekać, odłączanie danych..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr "Przełączanie do trybu 2D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Lista narzędzi mapy"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Wektoryzuj"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Podręcznik digitizera"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
+msgstr "Nie została wybrana żadna warstwa mapy. Operacja przerwana."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Nie ma nic do przerysowania (mapa jest pusta). Operacja przerwana"
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Żadna mapa wektorowa nie została wybrana do edycji."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr "Nie wybrano warstwy rastrowej ani wektorowej do zapytania."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Dodaj warstwę tekstową"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Powiększ do domyślnego regionu"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Powiększ do zapisanego regionu"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 msgid "Set computational region extent from display"
 msgstr "Ustaw zasięg wyświetlonej mapy jako region obliczeniowy"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Przybliż do regionu obliczeniowego (ustawionego przez g.region)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Ustaw zasięg wyświetlonej mapy jako region obliczeniowy"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Zapisz geometrię bieżącego wyświetlania jako region"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Ustaw zasięg wyświetlonej mapy jako region obliczeniowy"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Narzędzia wektoryzacji"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Renderuj"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Włącz/wyłącz automatyczne odświeżanie"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Pokaż bieżący region"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Pokaż zakres regionu obliczeniowego"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Tryb wyświetlania"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr "Rozdzielczość wyświetlania"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Ogranicz rozdzielczość wyświetlania do ustawień regionu obliczeniowego"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Skala mapy"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Idź do"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "Nie zdefiniowano układu współrzędnych (sprawdź ustawienia)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "Błąd w projekcji (sprawdź ustawienia)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Odwzorowanie"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "Wybierz zdefiniowane odwzorowanie"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MASKA"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Geometria wyświetlania"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Współrzędne"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Zakres"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Przybliż do regionu obliczeniowego (ustawionego przez g.region)"
@@ -4834,101 +4863,111 @@ msgstr "Odpytaj wybrane mapy rastrowe/wektorowe"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Wybierz obiekty wektorowe"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Nie można utworzyć mapy wektorowej."
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Podziałka liniowa"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 #, fuzzy
 msgid "Show/hide legend"
 msgstr "Pokaż legendę"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Dodaj strzałkę północy"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analiza mapy"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "Pomiary, profile, histogramy, ..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Pomiar odległości"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Pomiar odległości"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Profil terenu"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Utwórz histogram obrazu lub pliku rastrowego"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr "Utwórz histogram obrazu lub pliku rastrowego"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Narzędzie wektorowych analiz sieciowych"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Przeciągnij myszą by obracać sceną 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr "Tryb nalotu"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr "Kliknij myszą by powiększyć"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr "Kliknij myszą by pomniejszyć"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "widok 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "Tryb 3D nie jest dostępny"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Powód: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "Narzędzia digitalizacji nie jest dostępne"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
@@ -4938,6 +4977,11 @@ msgstr ""
 "się go naprawić). Śledź aktualizacje GRASS-a. Do tego czasu można używać \"v."
 "digit\" z menu Wektor > Tworzenie mapy wektorowej."
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Wyjdź z digitizera"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5711,12 +5755,12 @@ msgstr ""
 msgid "Export animation"
 msgstr "Eksportuj animację"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr "Dekoracje"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "Eksportuj"
@@ -5726,11 +5770,11 @@ msgstr "Eksportuj"
 msgid "Add time stamp"
 msgstr "Znacznik czasu"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 msgid "Add image"
 msgstr "Dodaj obraz"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr "Dodaj tekst"
 
@@ -5752,7 +5796,7 @@ msgid "Sample text"
 msgstr "Próbkuj wartości wzdłuż przecięć"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5769,7 +5813,7 @@ msgid "Choose image file"
 msgstr "Wybierz plik"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 msgid "Text:"
 msgstr "Tekst:"
 
@@ -5799,7 +5843,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Eksportuj do:"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -5807,13 +5851,13 @@ msgstr ""
 msgid "animation_"
 msgstr "animacja_"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr "Format pliku:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Katalog:"
 
@@ -5952,7 +5996,7 @@ msgstr "Utwórz najpierw ramkę mapy."
 msgid "Animation Tool settings"
 msgstr "Animacja"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6007,22 +6051,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Niewłaściwy"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Usuń warstwę mapy"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Usuń warstwę mapy"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Mapa wektorowa <%s> nie odnaleziona"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr "%s=, %s=, %s= i %s=wzajemnie się wykluczają"
@@ -6060,7 +6104,7 @@ msgstr "Główny pasek narzędzi"
 msgid "Animation Toolbar"
 msgstr "Pasek narzędzi animacji"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Narzędzia różne"
@@ -6104,8 +6148,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Ustawienia <%s> nie odnalezione"
@@ -6149,7 +6193,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Rektyfikacja rastra, poczekaj..."
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6173,37 +6217,37 @@ msgstr "Dodaj wybrane warstwy do listy warstw"
 msgid "No map series nor space-time dataset is added."
 msgstr "Tworzy pustą bazę danych."
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Mapa <%s> nie odnaleziona."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6222,11 +6266,11 @@ msgstr "Odtwórz"
 msgid "Play back"
 msgstr "Odtwórz wstecz"
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr "Stop"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr "Pauza"
 
@@ -6263,14 +6307,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Histogram GRASS GIS (d.histogram)"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Rysowanie"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Pomoc"
 
@@ -6287,21 +6331,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Wybierz źródłowy mapset:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Mapa wektorowa <%s> nie odnaleziona"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6328,106 +6372,106 @@ msgstr "X"
 msgid "Y"
 msgstr "Y"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Czas"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Import danych rastrowych"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Import danych wektorowych"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Import danych rastrowych"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, python-format
 msgid "Mapset: %s"
 msgstr "Mapset: %s"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Ramka mapy"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Znacznik czasu"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Przebuduj topologię"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Widok"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Wygląd"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr "Analiza"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr "Animacja"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr "Kontrola widoku"
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 #, fuzzy
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr "Dostosowuje odległość i perspektywę z punktu widoczności"
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Perspektywa:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr "Nachylenie:"
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
@@ -6435,23 +6479,23 @@ msgstr ""
 "Dostosowuje wysokość punktu obserwacji nad powierzchnią (kąt widoku "
 "dopasowuje się automatycznie utrzymując ten sam środek  widoku)"
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Przewyższenie:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr "Wygląd:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr "tutaj"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
@@ -6459,453 +6503,453 @@ msgstr ""
 "Pozwala na wskazanie nowego środka widoku na powierzchni. Kliknij przycisk, "
 "a następnie wskaż punkt na powierzchni."
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr "środek"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr "Przywraca widok do orginalnego środka widoku"
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "górę"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr "reset"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Reset do widoku domyślnego"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr "Nagraj"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr "Odtwórz"
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr "Ogólna liczba klatek :"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr "Zapisz sekwencję obrazów"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr "Wybierz katalog dla obrazów"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Powierzchnia"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr "Stała powierzchnia"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Wektor"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "Raster 3D"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Podświetlenie"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr "Obramowanie"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Tryb:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "niskiej jakości"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "wysokiej jakości"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "oba"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Cieniowanie:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "płaski"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "Gouraud"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "Ustaw dla wszystkich"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Zastosuj dla wszystkich powierzchni"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr "Niskiej jakości:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr "rozdzielczość:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr "styl:"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "sieć"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "powierzchnia"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 msgid "Change wire color"
 msgstr "Zmień kolor sieci"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr "Wysokiej jakości:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Własności powierzchni"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Przezroczystość"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Jasność"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "mapa"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "Brak wartości"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "stała"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Reset"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr "Reset do widoku domyślnego"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr "wyczyść"
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr "górny kolor"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr "dolny kolor"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr "zmieszaj"
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr "cieniowany"
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr "Poziomy X:"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr "Poziomy Y:"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Rotacja:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Nowy"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr "Wysoka rozdzielczość:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr "Wartość:"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr "Przezroczystość:"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Pokaż linie wektorowe"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Linie wektorowe"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Linia:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "szerokość:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "kolor:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 msgid "Set options..."
 msgstr "Ustaw opcje..."
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Ekran"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr "na powierzchni(ach):"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Wysokość nad powierzchnią:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Pokaż punkty wektorowe"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Punkty wektorowe"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Ikona:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "Mapa rastrowa 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "izopowierzchnie"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr "plastry"
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Rozdzielczość:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Lista izopowierzchni"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr "Pokaż model oświetlenia"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr "Pozycja źródła światła"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr "Ustawia wysokość źródła światła"
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "Kolor i intensywność oświetlenia"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "Jasność:"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr "Ustawia jasność światła"
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr "Otaczające:"
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr "Ustawia oświetlenie otoczenia"
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr "Granice obramowania"
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "N && W"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "N && E"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "S && W"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "S && E"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr "Długość strzałki (w jednostkach mapy):"
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr "Kolor strzałki:"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr "Umieść strzałkę"
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr "Długość podziałki (w jednostkach mapy):"
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr "Kolor podziałki:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 msgid "Place new scale bar"
 msgstr "Dodaj pasek skali"
 
@@ -7302,15 +7346,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr "Mapa rastrowa <%s> nie odnaleziona"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr "Mapa wektorowa <%s> nie odnaleziona"
@@ -7321,12 +7365,14 @@ msgid "3d raster map <%s> not found"
 msgstr "Mapa rastrowa 3D <%s> nie odnaleziona"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Import danych rastrowych"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "rastrów"
 
@@ -7340,12 +7386,14 @@ msgid "Set raster output format"
 msgstr "Wybierz wyjściowy format rastra"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Import danych wektorowych"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "wektorów"
 
@@ -7367,7 +7415,7 @@ msgstr "Import danych z serwerów WMS"
 msgid "Add command layer"
 msgstr "Dodaj warstwę komendy"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Wyjdź"
@@ -7471,199 +7519,201 @@ msgstr "do popularnych formatów   /GDAL/"
 msgid "Export PostGIS"
 msgstr "PostGIS eksport"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Utwórz tabelę atrybutów"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Utwórz"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "%d map usunięto z bieżącego mapsetu"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Ustaw tabelę kolorów"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Pokaż tabelę atrybutów"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Zacznij edycję"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Zakończ edycję"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "Przebuduj topologię"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Przybliż do wybranej mapy (ignoruj wartości NULL)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "lub wprowadź wartości interaktywnie"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogram"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Statystyki mapy rastrowej"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Raporty i statystyki"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Profil"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr "Zapisz warstwę usługi sieciowej"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Nie można utworzyć profilu dla mapy rastrowej."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, fuzzy, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-"Nazwa <%(name)s> nie jest poprawną nazwą dla lokacji. Użyj wyłącznie znaków "
-"ASCII łącznie z %(chars)s i spacją."
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr "Nieprawidłowa nazwa"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Nieobsługiwany typ warstwy <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Wpisz nazwę nowego mapsetu:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Ustaw przezroczystość<%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr ""
 "Mapa wektorowa <%s> już istnieje w bieżącym mapsecie. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Nadpisać?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Nie można otworzyć mapy wektorowej <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Mapa wektorowa <%s> nie odnaleziona"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "Nie można wyświetlić histogramu mapy rastrowej."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Ustaw przezroczystość<%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Grupa warstw:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Kliknij by edytować ustawienia warstwy"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(kliknij dwukrotnie by ustawić właściwości)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Proszę czekać, aktualizacja danych..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "nieprzezroczystość:"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "Menadżer warstw GRASS GIS"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "Pasek narzędzi projektu"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "Pasek narzędzi danych"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "Pasek narzędzi"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr "Narzędzia wektoryzacji"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 msgid "3D view Toolbar"
 msgstr "Narzędzia widoku 3D"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr "Zmień nazwę Okna Mapy"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Warstwy mapy"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Wiersz poleceń"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "Znajdź moduł"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Wybór danych"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Konsola Pythona"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7674,11 +7724,11 @@ msgstr ""
 "\n"
 "Czy chcesz przełączyć do nowej lokacji?"
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr "Czy przełączyć na nową lokację?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7687,86 +7737,86 @@ msgstr ""
 "Bieżąca lokacja to <%(loc)s>.\n"
 "Bieżący mapset to <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr "Czy chcesz teraz zdefiniować zakres i rozdzielczość regionu?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Lokacja <%s> została utworzona"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Wybierz model do uruchomienia"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Czy chcesz zapisać zmiany w pliku projektu?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Czy chcesz zapisać bieżące ustawienia w pliku projektu?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr "Zamknij Okno Mapy %s"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "Wybrana warstwa mapy nie jest wektorową."
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 #, fuzzy
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 "Przebudowuje topologię dla wszystkich map wektorowych w bieżącym mapsecie."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "Wybierz plik ze skryptem do wykonania"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Skrypt pythona(*.py)|*.py|Skrypt bash (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Plik skryptu '%s' nie istnieje. Operacja przerwana."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr "Czy ustawić pozwolenie?"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "Niewłaściwa wartość współrzędnych. Operacja przerwana."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
@@ -7775,107 +7825,108 @@ msgstr ""
 "Ścieżka '%s' nie jest zdefiniowana w GRASS_ADDON_PATH. Czy chcesz dodać tę "
 "ścieżkę do GRASS_ADDON_PATH?"
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr "Czy odświeżyć ścieżkę do rozszerzeń?"
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Uruchamianie skryptu '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Nie została wybrana żadna warstwa mapy. Operacja przerwana"
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Wpisz nazwę nowego mapsetu:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Utwórz nowy mapset"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "Nie została wybrana żadna warstwa mapy. Operacja przerwana"
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "Bieżący mapset to <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Zmień mapset"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Wybierz ścieżkę:"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Wybierz katalog wejściowy"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr "System Info"
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr "Wersja GRASS-a"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "Nieznana wartość"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+#, fuzzy
+msgid "GRASS SVN revision"
 msgstr "Rewizja SVN"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
+#: ../gui/wxpython/lmgr/frame.py:1105
 #, fuzzy
-msgid "Build Date"
+msgid "Build date"
 msgstr "Data "
 
-#: ../gui/wxpython/lmgr/frame.py:1097
+#: ../gui/wxpython/lmgr/frame.py:1106
 #, fuzzy
-msgid "Build Platform"
+msgid "Build platform"
 msgstr "Platforma"
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr "Platforma"
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -7883,58 +7934,58 @@ msgstr ""
 "Aktualny plik projektu nie jest pusty. Czy chcesz zapisać aktualne "
 "ustawienia do pliku projektu?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "Utworzyć nowy projekt?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Wybierz plik projektu"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "Plik projektu GRASS (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Proszę czekać, wczytywanie pliku projektu..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Wybierz plik GRC"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Stary plik projektu GRASS (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Wybierz plik, w którym zapisać bieżący projekt"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr "Plik projektu <%s> już istnieje. Chcesz go nadpisać?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Zapisz plik projektu"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr "Zapis bieżących ustawień do pliku projektu nie powiódł się."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr "Wprowadź nową nazwę:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "Okno Mapy GRASS GIS:  %(name)s  - Lokacja: %(loc)s"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, fuzzy, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -7942,30 +7993,30 @@ msgid ""
 "Reason: %s"
 msgstr "Wystąpił problem z wczytaniem motywu ikon. Powód: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr ""
 "Nie można wprowadzić nowego rekordu.\n"
 "%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr ""
 "Nie można wprowadzić nowego rekordu.\n"
 "%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr "Dodaj wybrane warstwy do listy warstw"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Nieobsługiwany typ warstwy <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
@@ -7973,7 +8024,7 @@ msgstr ""
 "Wartości komórek mogą być wyświetlane dla regionów mniejszych niż 10,000 "
 "komórek."
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -7984,69 +8035,65 @@ msgstr ""
 "%s\n"
 " z listy warstw?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr "Czy chcesz usunąć wybraną warstwę mapy z listy warstw?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Usuń warstwę mapy"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Wyjdź z GRASS GIS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "BŁĄD: Nie można ustalić wersji GRASS. Szczegóły: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr "Nie została wybrana żadna warstwa mapy. Operacja przerwana."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr "Ograniczyć mapę do geometrii regionu?"
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr "Witaj w Interaktywnej Konsoli Shell %s wxGUI"
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 "Wpisz %s aby uzyskać więcej informacji na temat skryptowania w GRASS-ie"
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr "Wpisz %s aby dodać raster lub wektor do listy warstw."
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr "Wyczyść cały tekst z shella"
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Mapa rastrowa lub wektorowa <%s> nie została odnaleziona"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "Mapa rastrowa <%s> została dodana"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "Mapa wektorowa <%s> została dodana"
@@ -8112,7 +8159,7 @@ msgstr "Import/linkowanie danych rastrowych lub wektorowych"
 msgid "Raster Map Calculator"
 msgstr "Kalkulator map rastrowych"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "Graficzny modeler"
 
@@ -8204,7 +8251,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignoruj zmiany i zamknij dialog"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Zastosuj zmiany i zamknij okno"
 
@@ -8537,29 +8584,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Digitizer"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Narzędzia digitalizacji nie są dostępne. %s"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "Mapa wektorowa <%s> nie odnaleziona"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Nowa mapa wektorowa <%s> została utworzona"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Nie można utworzyć mapy wektorowej <%s>"
@@ -8767,7 +8814,7 @@ msgstr "Pokaż podręcznik digitizera"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Narzędzia dodatkowe (kopiuj, przerzuć, połącz itp.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Cofnij"
 
@@ -8844,7 +8891,7 @@ msgstr "Mapa wektorowa nie jest mapą 3D. Operacja przerwana."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Wybierz mapę wektorową"
 
@@ -8873,11 +8920,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Podręcznik digitizera"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -8902,173 +8944,173 @@ msgstr "Edycja mapy wektorowej <%s> zakończona powodzeniem"
 msgid "New vector map"
 msgstr "Nowa mapa wektorowa"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr " Ustawienia serwera "
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Serwer:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Połącz"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Połącz z serwerem"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Zaawansowane ustawienia legendy"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Zaawansowane ustawienia legendy"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 msgid " Layer Manager Settings "
 msgstr "Ustawienia menadżera warstw"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 msgid "Output layer name:"
 msgstr "Nazwa warstwy wyjściowej:"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 msgid "Username:"
 msgstr "Użytkownik:"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr "Hasło:"
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr "Nie zdefiniowano źródła danych, ustawienia nie zostały zapisane."
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr "Dostępne usługi sieciowe"
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr "Połączono z <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Nie można połączyć z <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 msgid "Add web service layer"
 msgstr "Dodaj warstwę usługi sieciowej"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Dodaj warstwę"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Dodaj wybrane warstwy usług sieciowych do listy warstw"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 msgid "Web service layer properties"
 msgstr "Właściwości warstwy usługi sieciowej"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr "&Zastosuj"
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr "&OK"
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 msgid "Name for output raster map:"
 msgstr "Nazwa dla wynikowej mapy rastrowej:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Ustaw"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Wyświetl mapę"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Wybierz region:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Ogranicz rozdzielczość wyświetlania do ustawień regionu obliczeniowego"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Ustaw zasięg wyświetlonej mapy jako region obliczeniowy"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Wprowadź istniejącą mapę rastrową"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Wybierz region:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 msgid "&Save layer"
 msgstr "&Zapisz warstwę"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Usuń zaznaczoną warstwę"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 msgid "Output map can be added only to current mapset."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "Plik <%s> już istnieje."
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Katalog %s nie istnieje."
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 msgid "Downloading data..."
 msgstr "Wczytywanie danych..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Nie można ustawić"
@@ -9175,7 +9217,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Nazwa warstwy"
 
@@ -9189,8 +9232,8 @@ msgstr "styl"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Dodaj pętlę / serie"
+msgid "Add default"
+msgstr "domyślny"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9199,62 +9242,64 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "Wybierz katalog danych GRASS-a:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Wybierz mapset w lokacji GRASS"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "Wybierz lokację i mapset GRASS"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Rozpocznij sesję GRASS-a"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "&Przeglądaj"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 "Utwórz nowy mapset\n"
 "w wybranej lokacji"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 #, fuzzy
 msgid ""
 "Create a new location using location wizard. After location is created "
@@ -9262,102 +9307,107 @@ msgid ""
 msgstr ""
 "Włącz kreatora Lokacji. Po utworzeniu Lokacji, rozpocznie się sesja GRASS."
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Zmień nazwę wybranej lokacji"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Usuń"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Usuń wybraną lokację"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Zmień nazwę"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Zmień nazwę wybranego mapsetu"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr "&Usuń"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Usuń wybrany mapset"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Menadżer warstw GRASS GIS"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Rozpocznij sesję GRASS-a"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr "Nie można ustawić bazy danych GRASS. Sprawdź ustawienia locale."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "BŁĄD: Lokacja <%s> nie została znaleziona\n"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "BŁĄD: Mapset <%s> nie został znaleziony\n"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr "Niepoprawna linia w pliku GISRC(%s):%s\n"
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Błąd:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Import danych"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "Czy chcesz utworzyć lokację GRASS-a <%s>?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "Import mapy wektorowej <%(name)s> nie powiódł się."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9366,7 +9416,7 @@ msgstr ""
 "Mapset <PERMANENT> jest potrzebny do utworzenia prawidłowej lokacji GRASS."
 "\\n \\n Nazwy tego mapsetu to nie można zmienić."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9376,7 +9426,7 @@ msgstr ""
 "Bieżąca nazwa: %s\n"
 "Wprowadź nową nazwę:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9387,7 +9437,7 @@ msgstr ""
 "\n"
 "Mapset <%s> już istnieje w lokacji."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9398,7 +9448,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9409,7 +9459,7 @@ msgstr ""
 "\n"
 "Lokacja <%s> już istnieje w bazie danych GRASS."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9420,7 +9470,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9430,7 +9480,7 @@ msgstr ""
 " \n"
 " Tego mapsetu nie można usunąć."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9442,11 +9492,11 @@ msgstr ""
 "\n"
 "WSZYSTKIE MAPY zawarte w tym mapsecie będą NIEODWRACALNIE USUNIĘTE!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Nie można usunąć mapsetu"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9457,32 +9507,32 @@ msgstr ""
 "\n"
 "WSZYSTKIE MAPY zawarte w tej lokacji będą NIEODWRACALNIE USUNIĘTE!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Nie można usunąć lokacji"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, fuzzy, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "Katalog %s nie istnieje."
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Wybierz katalog danych GIS"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr "Plik <%s> już istnieje."
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9491,17 +9541,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Zmień nazwę wybranego mapset"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Nie można utworzyć nowego mapsetu: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9513,11 +9563,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr "Znaleziono plik blokady"
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9525,7 +9575,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9536,7 +9586,7 @@ msgstr ""
 "\n"
 "Szczegóły: %(reason)s"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
@@ -9545,7 +9595,11 @@ msgstr ""
 "Nazwa <%(name)s> jest nieprawidłowa dla lokacji lub mapsetu. Użyj tylko "
 "znaków ASCII, bez %(chars)s i spacji."
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr "Nieprawidłowa nazwa"
+
+#: ../gui/wxpython/gis_set.py:1101
 #, fuzzy
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
@@ -9556,33 +9610,160 @@ msgstr ""
 "nie zostało to zrobione. Zwykle jest to \"grassdata\", znajdujący się w "
 "katalogu domowym."
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "&Plik"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Utwórz nową mapę wektorową"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Projekt"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Nazwa mapy rastrowej:"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Tworzy nowy projekt"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Wybierz mapę wektorową"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Otwórz"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Nazwa mapy rastrowej:"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "Otwiera plik projektu"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Oblicza wskaźnik kształtu z mapy rastrowej"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
-msgstr "Zapisz"
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"Mapa wektorowa <%s> już istnieje w bieżącym mapsecie. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Utwórz najpierw ramkę mapy."
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Czy chcesz zapisać zmiany w modelu?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Zapisz zmiany"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Nie można utworzyć profilu dla mapy rastrowej."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Nie można utworzyć mapy wektorowej."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Renderowanie"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Utwórz nową tabelę kolorów dla mapy rastrowej"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Wektoryzuj nowy obszar"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Wektoryzuj nową linię"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Wektoryzuj nowy punkt"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Spakuj mapę rastrową"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Wyjdź z digitizera"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Wybierz mapę rastrową:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Wartości komórki"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "brak mapy rastrowej"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "&Plik"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Projekt"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Tworzy nowy projekt"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Otwórz"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "Otwiera plik projektu"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr "Zapisz"
+
+#: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
 msgid "Save as"
 msgstr "Zapisz jako"
 
@@ -10350,7 +10531,7 @@ msgstr "Modeler graficzny"
 msgid "Launch Graphical modeler"
 msgstr "Uruchom modeler graficzny"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Uruchom model"
 
@@ -10411,7 +10592,7 @@ msgstr "Uruchom skrypt"
 msgid "Launches script file."
 msgstr "Uruchamia plik ze skryptem."
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Zamknij"
@@ -10423,8 +10604,8 @@ msgstr ""
 "Kończy sesję graficznego interfejsu. Aby zamknąć GRASS wpisz exit w oknie "
 "terminala."
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Wyjdź z GRASS GIS"
@@ -11952,8 +12133,8 @@ msgid "Develop vector map"
 msgstr "Tworzenie mapy wektorowej"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Utwórz nową mapę wektorową"
 
@@ -13975,8 +14156,8 @@ msgstr "Histogram GRASS GIS (d.histogram)"
 msgid "Plot temporal values."
 msgstr "Pokaż zakres regionu obliczeniowego"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "Pomoc"
 
@@ -14093,141 +14274,149 @@ msgstr "Dodaj pętlę / serie"
 msgid "Adds loop (series) to model"
 msgstr "Dodaje pętlę (serie) do modelu"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "Dodaj warunek"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Dodaje warunek (if/else) do modelu"
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Dodaje warunek (if/else) do modelu"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "Usuń obiekt"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "Usuwa akcję/dane z modelu"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Wyświetla właściwości modelu (nazwę, opis, etc.)."
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "Usuń dane tymczasowe"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Uruchamianie modelu"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Sprawdź model"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Sprawdzanie modelu"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Wyświetla podręcznik modelera w HTML."
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "O graficznym modelerze"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "Wyświetla informacje na temat graficznego modelera."
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Nie można przeczytać instrukcji %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 msgid "Export instruction file"
 msgstr "Eksportuj plik instrukcji"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 msgid "Export to PostScript"
 msgstr "Eksportuj do PostScript"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 msgid "Export to PDF"
 msgstr "Eksportuj do PDF"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr "Uruchom dialog ps.map"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 msgid "Close Cartographic Composer"
 msgstr "Zamknij kompozytor wydruków"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr "&Wprowadź"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 msgid "Add or edit map frame"
 msgstr "Dodaj lub zmień ramkę mapy"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 msgid "Add or edit raster map"
 msgstr "Dodaj lub edytuj mapę rastrową"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 msgid "Add or edit vector map"
 msgstr "Dodaj lub edytuj mapę wektorową"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 msgid "Map legend"
 msgstr "Legenda mapy"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Import danych rastrowych"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 msgid "Add or edit map info"
 msgstr "Dodaj lub edytuj informację o mapie"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr "Dodaj lub edytuj pasek skali"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr "Dodaj strzałkę północy"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Wyświetl podręcznik HTML kompozytora wydruków"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 msgid "About Cartographic Composer"
 msgstr "O kompozytorze wydruków"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Wyświetla informacje na temat graficznego modelera."
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14242,114 +14431,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Histogram GRASS GIS (d.histogram)"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
 msgstr "Niewłaściwe dane wejściowe"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Kolumna atrybutów:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Wybierz 3. mapę rastrową (opcjonalnie):"
+msgstr "Wybierz obiekty wektorowe"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Tryb kategorii"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Niewłaściwe dane wejściowe"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Niewłaściwe dane wejściowe"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Niewłaściwe dane wejściowe"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Niewłaściwe dane wejściowe"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -14541,7 +14730,7 @@ msgstr "Poprawne zapytanie SQL"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -14549,7 +14738,7 @@ msgstr ""
 "\n"
 "'%s'"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Menadżer Tabeli Atrybutów GRASS GIS"
 
@@ -14674,7 +14863,7 @@ msgid "Field calculator"
 msgstr "Kalkulator pól"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr "Dodaj kolumnę"
 
@@ -14776,15 +14965,15 @@ msgstr "Usuń wybrane rekordy"
 msgid "Delete all records"
 msgstr "Usuń wszystkie rekordy"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Wybierz wszystkie"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Usuń selekcję"
 
@@ -14979,7 +15168,7 @@ msgid "Driver"
 msgstr "Sterownik"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Baza danych"
 
@@ -15108,200 +15297,200 @@ msgstr "Nie udało się utworzyć nowej lokacji"
 msgid "Field statistics <%s>"
 msgstr "Statystyki 3D"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr "Sprawdź wszystko"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr "Wyczyść wszystko"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr "Wprowadź wartości atrybutów"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr "Niewłaściwy format koloru. Użyj '0:0:0'"
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Wybierz mapę wektorową:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr "Importuj/eksportuj tabelę kolorów"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "Wybierz plik GRC"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Wczytaj"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 #, fuzzy
 msgid "Type filename or click to choose file and load color table"
 msgstr "Wybierz plik GRC"
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr "Wybierz plik do zapisania tabeli kolorów"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 #, fuzzy
 msgid "Type filename or click to choose file and save color table"
 msgstr "Wybierz plik do zapisania"
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 msgid "&Set"
 msgstr "&Ustawienia"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 msgid "Load color table:"
 msgstr "Wczytaj tabelę kolorów:"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr "Wczytaj tabelę kolorów z pliku:"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr "Zapisz tabelę kolorów w pliku:"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr "Przeładuj domyślną tabelę"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Podgląd"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Plik regionu <%s> już istnieje.Chcesz go nadpisać?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr "Nie wskazano nic do zapisu."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Domyślna tabela kolorów"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "Utwórz nową tabelę kolorów dla mapy rastrowej"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr "Wprowadź wartości kategorii rastra"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr "fp zakres"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr "Utwórz nowe reguły kolorów dla mapy wektorowej"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "Odpytaj tabelę mapy wektorowej"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr "Wprowadź wartości atrybutów warstwy wektorowej:"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr "Wybierz kolumny  warstwy wektorowej"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Warstwa:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Kolumna atrybutów:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr "Wczytaj kolor z kolumny:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr "Zapisz kolor w kolumnie:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr "Wczytaj rozmiar z kolumny:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr "Zapisz rozmiar w kolumnie:"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr "Wczytaj szerokość z kolumny:"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Dodaje kolumnę GRASSRGB do bieżącej tabeli atrybutów."
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr "Eksportuj/eksportuj tabelę kolorów"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr "Nie zdefiniowano połączenia z bazą danych"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, fuzzy, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
@@ -15309,45 +15498,45 @@ msgid ""
 msgstr ""
 "Mapa wektorowa <%s> już istnieje w bieżącym mapsecie. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr "%s kolumna już istnieje."
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr "Proszę czekać, trwa wczytywanie danych atrybutowych..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Odpytaj tabelę mapy wektorowej"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Wprowadź wartości atrybutów %s:"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr "Nie zdefiniowano kolumny koloru. Operacja przerwana."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15399,23 +15588,23 @@ msgstr "Rysuj/odśwież wariogram"
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "Techniki krigingu"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Rozmiar bloku:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Model: "
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -15627,7 +15816,7 @@ msgid "Save expression to file"
 msgstr "Zapisz rozszerzenie w pliku"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "&Wczytaj"
 
@@ -15636,7 +15825,7 @@ msgid "Load expression from file"
 msgstr "Wczytuje wyrażenie z pliku"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Kopiuj bieżącą komendę do schowka"
 
@@ -15801,13 +15990,170 @@ msgstr "Wybierz nazwę pliku aby wczytać wyrażenie"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' skopiowano do schowka"
 
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Import wielu warstw"
+
+#: ../gui/wxpython/modules/import_export.py:60
+msgid "List of raster layers"
+msgstr "Lista warstw rastrowych"
+
+#: ../gui/wxpython/modules/import_export.py:62
+msgid "List of vector layers"
+msgstr "Lista warstw wektorowych"
+
+#: ../gui/wxpython/modules/import_export.py:64
+#, python-format
+msgid "List of %s layers"
+msgstr "Lista  %s warstw"
+
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr "kliknij prawym aby wybrać/odznaczyć wszystko"
+
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "Id warstwy"
+
+#: ../gui/wxpython/modules/import_export.py:70
+msgid "Name for output GRASS map (editable)"
+msgstr "Nazwa wyjściowej mapy GRASS (edytowalnej)"
+
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+msgid "Projection match"
+msgstr "Zgodność odwzorowania"
+
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Zamknij okno po zakończeniu"
+
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Import"
+
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Importuj wybrane warstwy"
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr "Ustawienia źródła"
+
+#: ../gui/wxpython/modules/import_export.py:127
+#, fuzzy
+msgid "Import settings"
+msgstr "Ustawienia czcionki"
+
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
+#, fuzzy
+msgid "Add linked layers into layer tree"
+msgstr "Dodaj importowane warstwy do listy warstw"
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Dodaj importowane warstwy do listy warstw"
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Link"
+
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Linkuj wybrane warstwy"
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr "Nie została wybrana żadna warstwa. Operacja przerwana."
+
+#: ../gui/wxpython/modules/import_export.py:397
+#, fuzzy
+msgid "Unable to determine number of raster bands"
+msgstr "Nie można utworzyć profilu dla mapy rastrowej."
+
+#: ../gui/wxpython/modules/import_export.py:591
+msgid "Define output format for vector data"
+msgstr "Zdefiniuj format wyjściowy dla danych wektorowych"
+
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
+msgstr "Zdefiniuj format wyjściowy dla danych rastrowych"
+
+#: ../gui/wxpython/modules/import_export.py:601
+#, fuzzy
+msgid "Set external format and close dialog"
+msgstr "Ignoruj zmiany i zamknij dialog"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Nie wybrano mapy!"
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Import warstw DXF"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Wybierz plik DXF do importu"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Nie wybrano mapy!"
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Odwzorowanie"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Nazwa wyjściowej mapy GRASS (edytowalnej)"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Warstwa do usunięcia"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importuj wybrane warstwy"
+
 #: ../gui/wxpython/modules/extensions.py:40
 msgid "Fetch & install extension from GRASS Addons"
 msgstr "Pobierz i zainstaluj wtyczki z GRASS AddOns"
 
 #: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Repozytorium"
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
 
 #: ../gui/wxpython/modules/extensions.py:53
 #, fuzzy
@@ -15815,7 +16161,6 @@ msgid "List of extensions - double-click to install"
 msgstr "Lista obiektów - kliknij prawym by usunąć"
 
 #: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
 msgid "Options"
 msgstr "Opcje"
 
@@ -15847,54 +16192,59 @@ msgstr "Rozszerzenie jest niezdefiniowane"
 msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Wtyczki"
+
+#: ../gui/wxpython/modules/extensions.py:214
 msgid "Install"
 msgstr "Zainstaluj"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/extensions.py:217
 #, fuzzy
 msgid "Show manual page"
 msgstr "Pokaż podręcznik"
 
-#: ../gui/wxpython/modules/extensions.py:315
+#: ../gui/wxpython/modules/extensions.py:316
 #, fuzzy, python-format
 msgid "Unable to load extensions. %s"
 msgstr "Nie można zapisać ustawień"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/extensions.py:357
 #, fuzzy
 msgid "Manage installed GRASS Addons extensions"
 msgstr "Odinstaluj wtyczki"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/extensions.py:366
 msgid "List of installed extensions"
 msgstr "Lista zainstalowanych wtyczek"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/extensions.py:371
 msgid "Uninstall"
 msgstr "Odinstaluj"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/extensions.py:372
 #, fuzzy
 msgid "Uninstall selected Addons extensions"
 msgstr "Odinstaluj wybraną wtyczkę"
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/extensions.py:373
 #, fuzzy
 msgid "Reinstall"
 msgstr "&Zainstaluj"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/extensions.py:374
 #, fuzzy
 msgid "Reinstall selected Addons extensions"
 msgstr "Odinstaluj wybraną wtyczkę"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/extensions.py:411
 #, fuzzy
 msgid "No extension selected. Operation canceled."
 msgstr "Nie zostało wybrane żadne rozszerzenie. Operacja przerwana."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -15903,16 +16253,16 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr "Usuń wtyczkę"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr "Rozszerzenie"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr "Proszę czekać, trwa eksportowanie obrazu..."
 
@@ -16059,7 +16409,7 @@ msgid ""
 msgstr "Brak zmian w grupie <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Mapa <%s> nie odnaleziona."
@@ -16095,12 +16445,7 @@ msgstr ""
 msgid "Export training areas"
 msgstr ""
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Utwórz tabelę atrybutów"
-
-#: ../gui/wxpython/iclass/dialogs.py:722
+#: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
 msgstr "Eksportuje tabele atrybutów w różnych formatach."
@@ -16128,22 +16473,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Nie wybrano grupy."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Mapa <%s> nie odnaleziona."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Wczytywanie mapy rastrowej <%s>..."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Ładuje mapę rastrową"
@@ -16189,132 +16534,132 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Wystąpił problem z wczytaniem motywu ikon. Powód: %s"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Pasek narzędzi"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Narzędzia różne"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 msgid "Digitization Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Drukuj zawartość okna"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Ekran docelowy"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 #, fuzzy
 msgid "Adjust Training Area Display to Preview Display"
 msgstr "Dopasuj docelowe wyświetlanie do źródłowego"
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 #, fuzzy
 msgid "Adjust Preview display to Training Area Display"
 msgstr "Dopasuj źródłowe wyświetlanie do docelowego"
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Rozdzielczość obrazu"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Rozdzielczość obrazu"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Nie można utworzyć mapy wektorowej <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nie można otworzyć mapy wektorowej <%s>"
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Nie można otworzyć mapy wektorowej <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Nie można utworzyć mapy wektorowej."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Nic do wyodrębnienia."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "Nie można utworzyć mapy wektorowej."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Analiza nie powiodła się."
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Nie wybrano warstwy mapy"
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, python-format
 msgid ""
 "A signature file named %s already exists.\n"
@@ -16323,24 +16668,24 @@ msgstr ""
 "Plik sygnatury <%s> już istnieje. \n"
 "Chcesz go nadpisać?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Nie została wybrana żadna warstwa mapy. Operacja przerwana"
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Odczytanie id obiektu id%d nie powiodło się. Operacja przerwana."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Nie została wybrana żadna warstwa mapy. Operacja przerwana"
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
 
@@ -16795,18 +17140,133 @@ msgstr "Błąd RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "Do przodu: %(forw)s, Do tyłu: %(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "Kalkulator map rastrowych 3D GRASS GIS"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Nie można przeczytać instrukcji %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Nie można przeczytać instrukcji %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "New name"
+msgstr "Nowa nazwa"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+msgid "Rename map"
+msgstr "Zmień nazwę mapy"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Sprawdzanie modelu..."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Przerysowywanie modelu..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Nie można przeczytać pliku %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+msgid "Copy map"
+msgstr "Kopiuj mapę"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Model jest wykonywany..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Czy chcesz utworzyć lokację GRASS-a <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+msgid "Delete map"
+msgstr "Usuń mapę"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Usuwanie"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Wyświetlanie"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+msgid "&Copy"
+msgstr "&Kopiuj"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+msgid "&Paste"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+msgid "&Display layer"
+msgstr "&Wyświetl warstwę"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr "Pokaż obiekt tekstowy"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -16814,66 +17274,85 @@ msgstr ""
 "Przeciągnij tekst myszą (tryb wskaźnika) do nowego położenia.\n"
 "Dwuklik dla zmiany opcji."
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "legend"
 msgstr "legenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "scale bar"
 msgstr "podziałka liniowa"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "north arrow"
 msgstr "strzałka północy"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Pasek narzędzi"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' skopiowano do schowka"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Pokaż ustawienia"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Dodaj warstwę tematyczną"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Legenda rastra"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Przybliż do zapisanego regionu"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Ustaw zasięg wyświetlonej mapy jako region obliczeniowy"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Nie znaleziono regionu <%s>. Operacja przerwana."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr "Zapisz zakres widoku jako region"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Ustaw zasięg wyświetlonej mapy jako region obliczeniowy"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Plik regionu <%s> już istnieje.Chcesz go nadpisać?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -16967,68 +17446,68 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr "Wymagany obiekt nie jest zdefiniowany."
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "Wybierz lokację i mapset GRASS"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Brakuje lokacji lub mapsetu."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "Nazwa lokacji GRASS:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "Nazwa mapsetu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "Wybierz mapset w lokacji GRASS"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr "Brakuje nazwy mapsetu."
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 msgid "Name of vector map is missing."
 msgstr "Brakuje nazwy mapy wektorowej."
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Utwórz tabelę atrybutów"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Dodaj utworzoną mapę do listy warstw"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 msgid "Name of new vector map is missing."
 msgstr "Brak nazwy nowej mapy wektorowej."
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Nazwa nowej mapy wektorowej:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Kolumna z kluczem:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Nie można utworzyć mapy wektorowej <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
@@ -17037,7 +17516,7 @@ msgstr ""
 "Niewłaściwa lub pusta kolumna klucza.\n"
 "Nie można utworzyć mapy wektorowej <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
@@ -17045,38 +17524,38 @@ msgid ""
 msgstr ""
 "Mapa wektorowa <%s> już istnieje w bieżącym mapsecie. Chcesz ją nadpisać?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Wybierz region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Zapisz region:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr "Utwórz/edytuj grupę"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr "Zastosuj zmiany i zamknij okno"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr "Zastosuj zmiany dla wybranej grupy"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr "Zamknij okno bez zastosowania zmian"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
@@ -17084,427 +17563,335 @@ msgstr ""
 "Wpisz tu wyrażenie regularne. Znak '.*' oznacza jakikolwiek ciąg, znak '^' "
 "oznacza początek a '$' koniec."
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 #, fuzzy
 msgid "Select existing group or enter name of new group:"
 msgstr "Wybierz grupę do edycji lub wprowadź nazwę nowej grupy:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 #, fuzzy
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr "Wybierz grupę do edycji lub wprowadź nazwę nowej grupy:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr "Deseń:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Lista map:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr "Wybierz warstwy mapy i dodaj je do listy."
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr "Usuń wybrane warstwy z listy warstw."
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr "Dodaj wybrane warstwy mapy do grupy"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr "Grupa <%s> została zmieniona, czy chcesz zatwierdzić zmiany?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr "Niezatwierdzone zmiany"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, fuzzy, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr "Grupa <%s> została zmieniona, czy chcesz zatwierdzić zmiany?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 msgid "No raster maps selected."
 msgstr "Nie wybrano mapy rastrowej."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr "Brak zmian w grupie <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr "Grupa <%s> została pomyślnie utworzona."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr "Grupa <%s> została pomyślnie zmieniona."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "Tworzenie nowej grupy <%s> nie powiodło się."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr "Zmiana grypy <%s> nie powiodła się."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr "Nie wybrano grupy."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Nie wybrano grupy."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr "Użyj poprawnych nazw map"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr "Typ mapy:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "Wybierz "
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Odwróć wybór"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr "Dynamiczne serie (%s)"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Import wielu warstw"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-msgid "List of raster layers"
-msgstr "Lista warstw rastrowych"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-msgid "List of vector layers"
-msgstr "Lista warstw wektorowych"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, python-format
-msgid "List of %s layers"
-msgstr "Lista  %s warstw"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr "kliknij prawym aby wybrać/odznaczyć wszystko"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "Id warstwy"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-msgid "Name for output GRASS map (editable)"
-msgstr "Nazwa wyjściowej mapy GRASS (edytowalnej)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-msgid "Projection match"
-msgstr "Zgodność odwzorowania"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Zamknij okno po zakończeniu"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Import"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Importuj wybrane warstwy"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Dodaj importowane warstwy do listy warstw"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Dodaj importowane warstwy do listy warstw"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Link"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Linkuj wybrane warstwy"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr "Nie została wybrana żadna warstwa. Operacja przerwana."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Nie można utworzyć profilu dla mapy rastrowej."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-msgid "Define output format for vector data"
-msgstr "Zdefiniuj format wyjściowy dla danych wektorowych"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-msgid "Define output format for raster data"
-msgstr "Zdefiniuj format wyjściowy dla danych rastrowych"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Ignoruj zmiany i zamknij dialog"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Nie wybrano mapy!"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Import warstw DXF"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Wybierz plik DXF do importu"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Nie wybrano mapy!"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Ustawienia przezroczystości warstwy"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "nieprzezroczysty"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "Ustaw rozmiar obrazu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "Rozmiar obrazu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "Szablon:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS - Okno mapy"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 msgid " SQL statement "
 msgstr "Polecenie SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "Symbole"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr "Ścieżka do symboli:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr "Nazwa symbolu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr "Element nie jest wybieralny"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Mapset"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 msgid "Type: "
 msgstr "Typ:"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr "GSelect: niewłaściwy obiekt: %s"
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr "Ustawienia wyjścia"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
-msgstr "Ustawienia źródła"
+#: ../gui/wxpython/gui_core/gselect.py:1290
+#, fuzzy
+msgid "Source input"
+msgstr "Punkt źródła"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr "Natywny"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Plik"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Katalog"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protokół"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr "Typ wyjściowy"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Rodzaj źródła"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "Wszystkie pliki"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 msgid "ZIP files"
 msgstr "Pliki ZIP"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 msgid "GZIP files"
 msgstr "Pliki GZIP"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 msgid "TAR files"
 msgstr "Pliki TAR"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 msgid "TARGZ files"
 msgstr "Pliki TARGZ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Plik:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "Wybierz plik do importu"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Wybierz katalog wejściowy"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr "Rozszerzenie:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Wybierz plik"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 msgid "Feature type:"
 msgstr "Typ obiektu:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Odpytaj obiekty"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Przebuduj topologię"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr "Opcje tworzenia:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Format:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Protokół:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Podgląd niedostępny"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Podświetlenie"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr "Poligon"
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Nie została wybrana żadna warstwa. Operacja przerwana."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Katalog %s nie istnieje."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Mapa wektorowa nie jest mapą 3D. Operacja przerwana."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "Ustawienia użytkownika"
@@ -17628,6 +18015,7 @@ msgid "Module dialog style:"
 msgstr "Okno poleceń"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "Okno Mapy"
 
@@ -17725,7 +18113,7 @@ msgstr "Kolor obiektu:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Przezroczysty"
 
@@ -18005,6 +18393,49 @@ msgstr "północ"
 msgid "Nothing found"
 msgstr "Nic nie znaleziono"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Kategoria"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Wybierz obiekty wektorowe"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Utwórz nowy mapset"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Mapa wektorowa nie jest mapą 3D. Operacja przerwana."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Nie można otworzyć mapy wektorowej <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Nie wybrano mapy!"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Nowa mapa wektorowa <%s> została utworzona"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Nie można utworzyć mapy wektorowej <%s>"
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Informacje"
@@ -18045,6 +18476,11 @@ msgstr "Oficjalna strona GRASS GIS:"
 msgid "Code Revision"
 msgstr "Rewizja kodu"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+#, fuzzy
+msgid "Build Date"
+msgstr "Data "
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "Język"
@@ -18115,27 +18551,27 @@ msgstr "&Następny"
 msgid "&Previous"
 msgstr "&Poprzedni"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Wpisz parametry dla '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Zamknij okno bez wykonywania polecenia (Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "Uruchom polecenie (Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Wyświetl pomoc dla tego polecenia (Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "Dodaj utworzoną mapę do listy warstw"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
@@ -18143,79 +18579,79 @@ msgstr ""
 "Zamknij okno po pomyślnym zakończeniu polecenia. Zmień ustawienia w oknie "
 "dialogowym Preferencje ('Command' tab)."
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' skopiowano do schowka"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Podstawa"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Opcje"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 #, fuzzy
 msgid "Parameterized in model"
 msgstr "Nie znaleziono paramentru: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[wiele]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "poprawny zakres"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Wybierz %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Zmień nazwę pliku konfiguracji"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 msgid "&Save as"
 msgstr "Zapisz jako"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "lub wprowadź wartości interaktywnie"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Przewodnik"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr "Nie wskazano nic do wczytania."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18223,27 +18659,27 @@ msgid ""
 "Reason: %s"
 msgstr "Nie można przeczytać pliku %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr "Zapisz wejście jako..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Nie wybrano mapy!"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Nie można przetworzyć polecenia '%s'"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "%(cmd)s: parametr '%(key)s' jest niedostępny"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr "Spróbuj ustawić zmienną GRASS_ADDON_PATH lub GRASS_ADDON_BASE."
 
@@ -18301,65 +18737,80 @@ msgstr "Zmień poziom przezroczystości"
 msgid "Change layer opacity"
 msgstr "Zmień poziom przezroczystości"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr "(...)"
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, fuzzy, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+"Nazwa <%(name)s> nie jest poprawną nazwą dla lokacji. Użyj wyłącznie znaków "
+"ASCII łącznie z %(chars)s i spacją."
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 #, fuzzy
 msgid "Fulltext search"
 msgstr "Pełen zasięg"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 #, fuzzy
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr "Znajdź moduł - (wciśnij Enter aby przejść do następnego)"
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr "%d modułów pasuje"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Profil"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr "Zapisz bieżące ustawienia"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr "Usuń wybrane ustawienia"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr "Wczytaj ustawienia:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+#, fuzzy
+msgid "Load:"
+msgstr "Wczytaj"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr "Ustawienia <%s> nie odnalezione"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "Zapisz ustawienia"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr "Nie podano nazwy, ustawienia nie zostały zapisane."
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "Ustawienia <%s> już istnieją. Czy chcesz je nadpisać?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr "Nie zdefiniowano ustawień. Operacja przerwana."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr "Nie można zapisać ustawień"
 
@@ -18463,12 +18914,12 @@ msgstr "Utwórz histogram (d.histogram)"
 msgid "Select graphics tool"
 msgstr "Wybierz mapy do wyświetlania"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 #, fuzzy
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "Drzewo menu (podwójnie kliknij by uruchomić polecenie)"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Uruchom polecenie"
@@ -18493,6 +18944,23 @@ msgstr "Uruchom polecenie"
 #~ msgstr "Zamknij GUI"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Niewłaściwe dane wejściowe"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Podgląd niedostępny"
+
+#~ msgid "Editing"
+#~ msgstr "Edycja"
+
+#~ msgid "Renaming"
+#~ msgstr "Zmień nazwę"
+
+#~ msgid "Copying"
+#~ msgstr "Kopiowanie"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Lista warstw rastrowych"
 
@@ -18508,23 +18976,36 @@ msgstr "Uruchom polecenie"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "Statystyki mapy rastrowej"
 
-#~ msgid "Add condition"
-#~ msgstr "Dodaj warunek"
+#~ msgid "Repository"
+#~ msgstr "Repozytorium"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Dodaje warunek (if/else) do modelu"
+#~ msgid "Load settings:"
+#~ msgstr "Wczytaj ustawienia:"
 
-#, fuzzy
-#~ msgid "Invalid input data"
-#~ msgstr "Niewłaściwe dane wejściowe"
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Nie można wyświetlić warstwy mapy <%s>."
 
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Dodaj zlinkowane warstwy do listy warstw"
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Nie można wyświetlić nakładki <%s>."
 
-#, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Dodaj importowane warstwy do listy warstw"
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Stary wektorowy format GRASS"
+
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Stary wektorowy format GRASS"
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Konwertuje starsze wersje wektorowych map GRASS-a w bieżącym mapsecie do "
+#~ "bieżącego formatu."
+
+#~ msgid "GPS data import"
+#~ msgstr "Import danych GPS"
+
+#~ msgid "GEOnet import"
+#~ msgstr "GEOnet"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -18546,29 +19027,6 @@ msgstr "Uruchom polecenie"
 #~ msgid "Common export formats using OGR"
 #~ msgstr "do popularnych formatów   /GDAL/"
 
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Ustaw zasięg bieżącej mapy jako region obliczeniowy (ignoruj wartość NULL)"
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Stary wektorowy format GRASS"
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Stary wektorowy format GRASS"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Konwertuje starsze wersje wektorowych map GRASS-a w bieżącym mapsecie do "
-#~ "bieżącego formatu."
-
-#~ msgid "GPS data import"
-#~ msgstr "Import danych GPS"
-
-#~ msgid "GEOnet import"
-#~ msgstr "GEOnet"
-
 #~ msgid "Create optimally placed labels"
 #~ msgstr "Utwórz optymalnie rozmieszczone etykiety"
 
@@ -18576,11 +19034,24 @@ msgstr "Uruchom polecenie"
 #~ msgstr "Porównanie wypełnień bitowych"
 
 #, fuzzy
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Zamknij Menadżera Tabeli Atrybutów"
+
+#, fuzzy
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Wybierz źródłowy mapset:"
+
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr ""
+#~ "Ustaw zasięg bieżącej mapy jako region obliczeniowy (ignoruj wartość NULL)"
+
+#, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "Zaimportowano mapę wektorową <%(name)s>."
 
-#~ msgid "Volume"
-#~ msgstr "Raster 3D"
+#, fuzzy
+#~ msgid "Add default servers"
+#~ msgstr "Dodaj pętlę / serie"
 
 #~ msgid "Choose project location and mapset"
 #~ msgstr "Wybierz lokację i mapset projektu"
@@ -18660,9 +19131,27 @@ msgstr "Uruchom polecenie"
 #~ msgid "Starting GRASS for the first time"
 #~ msgstr "Uruchamianie GRASS GIS po raz pierwszy"
 
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "Tworzenie mapy rastrowej"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Dodaj zlinkowane warstwy do listy warstw"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Dodaj importowane warstwy do listy warstw"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importuje starsze wersje wektorowych map GRASS-a."
+
 #~ msgid "Vector to volume"
 #~ msgstr "Wektor do bryły rastrowej 3D"
 
+#~ msgid "Sites to vector"
+#~ msgstr "Punkty do wektora"
+
 #~ msgid "Raster map calculator."
 #~ msgstr "Kalkulator map rastrowych."
 
@@ -18684,11 +19173,8 @@ msgstr "Uruchom polecenie"
 #~ msgid "Voxel statistics"
 #~ msgstr "Statystyki 3D"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importuje starsze wersje wektorowych map GRASS-a."
-
-#~ msgid "Sites to vector"
-#~ msgstr "Punkty do wektora"
+#~ msgid "Volume"
+#~ msgstr "Raster 3D"
 
 #, fuzzy
 #~ msgid ""
@@ -18717,9 +19203,8 @@ msgstr "Uruchom polecenie"
 #~ "registered raster3d map of a space time raster3d dataset."
 #~ msgstr "Oblicza statystyki z niezerowych komurek 3D mapy rastrowej 3D."
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Zamknij Menadżera Tabeli Atrybutów"
+#~ msgid "Digitize"
+#~ msgstr "Wektoryzuj"
 
 #~ msgid "Revert settings to default and apply changes"
 #~ msgstr "Przywróć domyślne ustawienia i zatwierdź zmianę"
@@ -18738,52 +19223,3 @@ msgstr "Uruchom polecenie"
 #, fuzzy
 #~ msgid "Converts a space time raster dataset into a raster3d map."
 #~ msgstr "Konwertje (rasteryzuje) mapę wektorową na mapę rastrową."
-
-#, fuzzy
-#~ msgid "Select space time raster dataset(s):"
-#~ msgstr "Wybierz źródłowy mapset:"
-
-#, fuzzy
-#~ msgid "Data catalog"
-#~ msgstr "Wybór danych"
-
-#~ msgid "New name"
-#~ msgstr "Nowa nazwa"
-
-#~ msgid "Rename map"
-#~ msgstr "Zmień nazwę mapy"
-
-#~ msgid "Editing"
-#~ msgstr "Edycja"
-
-#~ msgid "Renaming"
-#~ msgstr "Zmień nazwę"
-
-#, fuzzy
-#~ msgid "Failed to copy layer: invalid type."
-#~ msgstr "Nie można przeczytać pliku %s."
-
-#~ msgid "Copy map"
-#~ msgstr "Kopiuj mapę"
-
-#~ msgid "Copying"
-#~ msgstr "Kopiowanie"
-
-#, fuzzy
-#~ msgid "Do you really want to delete map <{m}>?"
-#~ msgstr "Czy chcesz utworzyć lokację GRASS-a <%s>?"
-
-#~ msgid "Delete map"
-#~ msgstr "Usuń mapę"
-
-#~ msgid "Deleting"
-#~ msgstr "Usuwanie"
-
-#~ msgid "Displaying"
-#~ msgstr "Wyświetlanie"
-
-#~ msgid "&Copy"
-#~ msgstr "&Kopiuj"
-
-#~ msgid "&Display layer"
-#~ msgstr "&Wyświetl warstwę"
diff --git a/locale/po/grasswxpy_pt.po b/locale/po/grasswxpy_pt.po
index 346b373..03c02bb 100644
--- a/locale/po/grasswxpy_pt.po
+++ b/locale/po/grasswxpy_pt.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_pt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2009-11-23 14:10-0000\n"
 "Last-Translator: \n"
 "Language-Team: Português <grass-translations at lists.osgeo.org>\n"
@@ -32,7 +32,7 @@ msgid "Name of raster map:"
 msgstr "Mapa raster recodificado:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 #, fuzzy
 msgid "Name of vector map:"
 msgstr "Nombre para el nuevo mapa vectorial:"
@@ -143,7 +143,7 @@ msgstr "Opcional"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "Camada"
@@ -220,15 +220,15 @@ msgid "Reload"
 msgstr "Recarregar"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 #, fuzzy
 msgid "No"
 msgstr "N"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -260,8 +260,8 @@ msgstr "Listar tabelas"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Cor"
@@ -294,9 +294,10 @@ msgstr "Índice de formas"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Largura:"
 
@@ -304,14 +305,14 @@ msgstr "Largura:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Altura:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 #, fuzzy
 msgid "Data"
 msgstr "Base de dados"
@@ -347,14 +348,14 @@ msgid "Comment"
 msgstr "Comando"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 #, fuzzy
 msgid "Model properties"
 msgstr "Propriedades das camadas"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadados"
 
@@ -366,7 +367,7 @@ msgstr "Comando"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Permitir que os arquivos de saída sobescrevam os arquivos existentes"
@@ -387,10 +388,10 @@ msgstr "Encerrar janelas e ignorar as alterações"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr ""
 
@@ -455,13 +456,13 @@ msgstr "Mapa raster"
 msgid "3D raster maps"
 msgstr "3º mapa raster"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 #, fuzzy
 msgid "Vector maps"
 msgstr "%d raster%s, %d vetor%s\n"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "desconhecido"
@@ -491,25 +492,25 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 #, fuzzy
 msgid "Model parameters"
 msgstr "Parámetros del terreno"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "Apagar filtrado"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Executar"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 #, fuzzy
 msgid "Variables"
 msgstr "Listar tabelas"
@@ -533,7 +534,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Saída de comando"
 
@@ -603,7 +604,7 @@ msgid "Choose model file"
 msgstr "Seleccionar archivo DXF:"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr ""
 
@@ -633,7 +634,7 @@ msgstr "Ficheiro de PONTOS <%s> guardado"
 msgid "Choose file to save current model"
 msgstr "Escolher ficheiro para gravar workspace actual"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -653,7 +654,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -664,7 +665,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Adicionar camada de comandos"
@@ -698,7 +699,7 @@ msgstr "Por favor espere, cargando datos..."
 msgid "Writing current settings to model file failed."
 msgstr "Falha ao obter nome do soquete para o monitor <%s>."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, fuzzy, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Não foi possível abrir o ficheiro <%s>."
@@ -707,15 +708,15 @@ msgstr "Não foi possível abrir o ficheiro <%s>."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -798,10 +799,10 @@ msgstr "Valor da categoria"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Descrição"
 
@@ -824,13 +825,13 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vectorial"
 
@@ -845,7 +846,7 @@ msgid "mapset"
 msgstr "Mapset"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "Perfil"
@@ -992,7 +993,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Seleccionar mapa raster:"
 
@@ -1015,7 +1016,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 #, fuzzy
@@ -1048,8 +1049,8 @@ msgstr "Etiqueta do eixo do Y"
 msgid "Label font size (pts):"
 msgstr "Tamanho do tipo de letra da etiqueta (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1099,9 +1100,9 @@ msgstr "Definições do perfil gravadas no ficheiro  '%s'."
 msgid "No map or image group selected to plot."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Aviso"
 
@@ -1129,8 +1130,8 @@ msgstr "Cor da linha"
 msgid "Line width"
 msgstr "Anchura de línea"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Estilo da linha"
 
@@ -1144,19 +1145,19 @@ msgid "Transect segment marker settings"
 msgstr "Definições do marcadordo de segmento"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Dimensão"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "Arquivo"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Estilo"
 
@@ -1403,19 +1404,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Configuração de página"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Vista previa de impressão"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1521,7 +1522,7 @@ msgid "Output"
 msgstr "Saida"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parâmetros"
 
@@ -1561,8 +1562,7 @@ msgid "Analysing..."
 msgstr "Analisar"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Configuração"
@@ -1618,7 +1618,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Limpar o GCP seleccionado"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 #, fuzzy
@@ -1645,10 +1645,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 #, fuzzy
 msgid "Close dialog"
 msgstr "Cerrar diálogo"
@@ -1670,12 +1671,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Análise de rede"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1683,50 +1684,50 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr ""
 "Elimina archivos de elementos de bases de datos del directorio de mapas "
 "actual del usuario."
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Sobrepor ficheiro?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "vectorial."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1734,89 +1735,89 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "não está inicializado"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Sobrepor ficheiro?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Camadas do mapa"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Adicionar camada"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Gerir camadas"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Gerir ou reportar categorias"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Seleccionar %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
@@ -1825,122 +1826,122 @@ msgstr ""
 "Cambia el nombre de una columna en la tabla de atributos conectada a un mapa "
 "vectorial dado."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 #, fuzzy
 msgid "use"
 msgstr "Não-definido"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Tipo de datos"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "Criar/reconstruir topologia"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "Ponto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "Ponto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Esquerda: novo ponto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Cambiar nombre de columna"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "Caminho mais curto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "Ponto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "Análise do caixeiro-viajante"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Nome da coluna"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Mostrar pontos"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Remover camada do mapa"
@@ -2128,311 +2129,311 @@ msgstr "Seleccionar transformación del datum"
 msgid "Select from list of datum transformations"
 msgstr "Lista de transformaciones del datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 #, fuzzy
 msgid "Define GRASS Database and Location Name"
 msgstr "Definir base de datos de GRASS y nombre de localización"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Explorar"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Directorio de dados de SIG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Localização de projecto"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Escolher directoria para dados GIS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "Nome da location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "Location seleccionada inválida"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Seleccione a directoria de dados GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 #, fuzzy
 msgid "Location already exists in GRASS Database."
 msgstr "La localización ya existe en la base de datos de GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Não é possível criar a location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 #, fuzzy
 msgid "Choose method for creating a new location"
 msgstr "Seleccione el método para crear una nueva localización"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 #, fuzzy
 msgid "Select EPSG code of spatial reference system"
 msgstr "Seleccionar código EPSG do sistema de coordenadas"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 #, fuzzy
 msgid "Select coordinate system parameters from a list"
 msgstr "Seleccione o sistema de coordenadas"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Escolha apenas um sistema de coordenadas para posicionamento"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Seleccionar projecção"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Código"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Código de projecção:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Procurar em descrição:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 #, fuzzy
 msgid "Choose projection parameters"
 msgstr "Seleccionar projecção"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 #, fuzzy
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Seleccionar datum com elipsóide associada"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 #, fuzzy
 msgid "Datum with associated ellipsoid"
 msgstr "Seleccionar datum com elipsóide associada"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 #, fuzzy
 msgid "Ellipsoid only"
 msgstr "Elipsóide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, fuzzy, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Introduzir parâmetro para "
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Especificar datum geodésico"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Elipsóide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Código do datum:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Especificar elipsoide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "Base de dados"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Código da elipsoide:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Seleccionar ficheiro georreferenciado"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Ficheiro georreferenciado:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "Ficheiro WKT:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Seleccionar código EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Caminho para o ficheiro de códigos EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Código EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Seleccionar ficheiro de códigos EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 "Seleccionar método para especificar los parámetros de georreferenciación"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 #, fuzzy
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Introducir cadena de parámetros PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "É necessário uma transformação do datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Resumo"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "Base de dados GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Nome da location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 #, fuzzy
 msgid "Location Title:"
 msgstr "Nome da location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Projecção:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "Definição PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 #, fuzzy
 msgid "custom"
 msgstr "Mínimo Personalizado"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Pretende criar uma GRASS location <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Criar nova location?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Definir nova location de GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, fuzzy, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2440,33 +2441,33 @@ msgid ""
 "Details: %(err)s"
 msgstr "Não é possível criar nova location. Location <%s> não foi criada"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Foi cancelado o assistente de location. Location não foi criado."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 #, fuzzy
 msgid "Unable to create new location"
 msgstr "No se puede crear la nueva localización"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 #, fuzzy
 msgid "New GIS data directory"
 msgstr "Directorio de datos de SIG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Código EPSG em falta."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "Ficheiro não encontrado"
@@ -2887,7 +2888,16 @@ msgstr "Adicionar etiquetas"
 msgid "Remove selected class"
 msgstr "Cambiar nombre del directorio de mapas seleccionado"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2898,139 +2908,134 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "Tipo da coluna suave (datetime) não é suportado"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "Comando terminado"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "Detalhes:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Tipo de camada de mapa não suportado '%s'"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "ERRO: Falha no rendering"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Carregando dados..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Zoom à região pré-definida"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Valor não válido: %s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Mapa raster a ser pesquisado"
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Detalhes:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Mapa raster a ser pesquisado"
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, fuzzy, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "ERRO: Falha no rendering"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Carregando dados..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Render"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Render"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Mensagem"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Falha na execução:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Erro:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, fuzzy, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Impossível executar o comando: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Erro no %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Não foi possível abrir o ficheiro <%s>."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -3044,12 +3049,12 @@ msgstr ""
 "\n"
 "Número de linhas ignoradas: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr "linha %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -3058,17 +3063,22 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Ficheiro não encontrado"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 #, fuzzy
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
@@ -3076,15 +3086,15 @@ msgstr ""
 "Por favor, tenha em atenção que os dados serão deixados num estado "
 "inconsistente e que poderão ser corrompidos/danificados"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Comando cancelado"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Comando terminado"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3278,39 +3288,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Novo mapa vazio foi criado."
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, fuzzy, python-format
 msgid "failed to open '%s'"
 msgstr "Não é possível abirr o ficheiro"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Não foi possível abrir o ficheiro <%s>."
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Duplicar atributos"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Seleccionar cor"
 
@@ -3378,12 +3388,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "Tamanho do ícone"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 #, fuzzy
 msgid "Font size:"
@@ -3400,7 +3410,7 @@ msgid "Close dialog and apply changes"
 msgstr "Encerrar janelas e ignorar as alterações"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 #, fuzzy
 msgid "Apply changes"
 msgstr "Guardar cambios"
@@ -3419,7 +3429,7 @@ msgstr ""
 msgid "Orientation"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "Largura:"
@@ -3471,7 +3481,7 @@ msgid "Map frame settings"
 msgstr "Definições raster"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 #, fuzzy
 msgid "Map frame"
 msgstr "Escala do mapa"
@@ -3504,7 +3514,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "Gestão de projecções"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "Directorio de mapas:"
@@ -3532,7 +3542,7 @@ msgstr "E:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "Estilo:"
@@ -3547,7 +3557,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "Primeira ordem"
@@ -3587,186 +3597,187 @@ msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 msgid "No region selected!"
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "Mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "Mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "Adicionar grupo de camadas"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "Ponto"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "rhumbline"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 #, fuzzy
 msgid "areas"
 msgstr "Gravar como"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "Tipo de datos"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Adicionar"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "Limpar mapa vectorial"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Apagar"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "Propriedades"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "Definições raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "Definições de vectores"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "Propriedades"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "Cambiar nombre de la localización seleccionada"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 #, fuzzy
 msgid "Feature type"
 msgstr "ID de característica:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "centroids"
 msgstr "Adicionar centroides"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "Editar linha/ contorno/fronteira"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "Cambiar nombre de la localización seleccionada"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 #, fuzzy
 msgid "Database connection is not defined in DB file."
 msgstr "O formato requisitado não foi compilado nesta versão"
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "Apagar camada"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Máscara"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "Fechar área de trabalho actual"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "Cor"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 #, fuzzy
 msgid "Outline"
 msgstr "rhumbline"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 #, fuzzy
 msgid "Width (pts):"
 msgstr "Largura:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3774,577 +3785,577 @@ msgstr "Largura:"
 msgid "Color:"
 msgstr "Cor:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "Seleccionar directorio de datos de GRASS:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "Regras de cor"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "Estilo da linha"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 #, fuzzy
 msgid "Symbology"
 msgstr "Simbología"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "Símbolo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "Ficheiro WKT:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "Seleccionar archivo DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "Dimensão:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 #, fuzzy
 msgid "size from map table column:"
 msgstr "Salva todos os quadros"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "Rescalar"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "Salva todos os quadros"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 #, fuzzy
 msgid "Set width (pts):"
 msgstr "Línea"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 #, fuzzy
 msgid "multiply width by category value"
 msgstr "Editar valores de categoría de forma interactiva"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "Seleccionar archivo DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "Seleccionar archivo DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "ASTER"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 #, fuzzy
 msgid "pattern line width (pts):"
 msgstr "Línea"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "Séries de raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "Mostrar legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "Nome da coluna"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "Vectorial para raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "Seleccionar mapa raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "Mostrar legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "Configuração avançada"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "Gerir"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "Linhas vectoriais"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 #, fuzzy
 msgid "Show vector legend"
 msgstr "Tipo de vetor desconhecido"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "Sobrepor mapas vectoriais"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 #, fuzzy
 msgid "Vector map"
 msgstr "Novo mapa vectorial"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr "Adicionar etiquetas"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Posição"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "Volumes"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "Adicionar colunas"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "ráster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "Configurações gerais"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 #, fuzzy
 msgid "use border color:"
 msgstr "usar| coordenada X"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "Cor de fundo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 #, fuzzy
 msgid "Unsupported units"
 msgstr "Tipod e camada '%s' não suportado"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "Comprimento: %f\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 #, fuzzy
 msgid "default"
 msgstr "Padrão"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "Tipo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "Renomear mapset"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "Legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 #, fuzzy
 msgid "Text"
 msgstr "Teste"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 #, fuzzy
 msgid "Enter text:"
 msgstr "Introducir texto:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "Configuração do tipo de letra"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "Destacar"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 #, fuzzy
 msgid "text border"
 msgstr "Primeira ordem"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "Esquerda: novo ponto"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "Configuração do tipo de letra"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "Imagens"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "Escala e Direcção Norte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 #, fuzzy
 msgid ""
 "PIL\n"
 "missing"
 msgstr "Emissão"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 #, fuzzy
 msgid "North Arrow"
 msgstr "Escala e Direcção Norte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "Mostrar configuração"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Ponto"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "Símbolo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "Selecionar trajeto interativamente"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "Cor da linha"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "transparente"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "Escala e Direcção Norte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "Dimensão:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "Configuração de símbolos"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "Alterar configurações"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "Alterar configurações"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "Largura de linha (em pixels)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "etiquetas vectoriais"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4489,97 +4500,97 @@ msgstr ""
 msgid "labels: "
 msgstr "Adicionar etiquetas"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "Não foi possível abrir o ficheiro <%s>."
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, fuzzy, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr "Resolução:"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "No é possível ler a lista: %s"
@@ -4641,30 +4652,30 @@ msgstr "Parâmetros"
 msgid "degree"
 msgstr "dtree"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "Não é possível carregar mapa raster"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 #, fuzzy
 msgid "Generate PostScript output"
 msgstr "Utilidad de salida de mapas PostScript Hardcopy."
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 #, fuzzy
 msgid "Generate PDF output"
 msgstr "Gerar pontos"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4681,7 +4692,7 @@ msgstr "Zoom à região pré-definida"
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "Apagar location seleccionada"
@@ -4695,13 +4706,13 @@ msgstr "Mostrar grelha"
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "Adicionar legenda"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "Adicionar camada"
@@ -4757,22 +4768,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Tipod e camada '%s' não suportado"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "Iniciar nova visualização"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Não é possível ler os códigos EPSG: %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Iniciar nova visualização"
@@ -4808,42 +4824,43 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Visualización de mapas"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS Visualização de mapas:"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "Visualizar em 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr "Não é possível inserir novo registo."
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, fuzzy, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4857,118 +4874,131 @@ msgstr ""
 "\n"
 "Detalles: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Por favor espere, cargando datos..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "Por favor espere, cargando datos..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Barra de ferramentas do mapa"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Digitalizar"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Barra de herramientas del digitalizador vectorial"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 #, fuzzy
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Nenhum mapa vectorial foi seleccionado para edição."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 #, fuzzy
 msgid "No raster or vector map layer selected for querying."
 msgstr "Não foi seleccionado nenhum mapa vectorial para consulta."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Adicionar camada de texto"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Zoom à região pré-definida"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Zoom à região guardada"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Zoom para a região computacional (definido com g.region)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Guardar a geometria de visualização para a região designada"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Barra de ferramentas do digitalizador vectorial"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Render"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Activar/desactivar render automático"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Mostrar comp. extent"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Exibir extensão computacional"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4977,16 +5007,16 @@ msgstr ""
 "Mostrar/ocultar extensão da região (definido com g.region). Mostrar desenhos "
 "da região como quadrado azul dentro da região computada. "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Modo de exibição"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
 msgid ""
 "Align region extent based on display size from center point. Default value "
@@ -4996,17 +5026,17 @@ msgstr ""
 "padrão para visualização de novo mapa podem ser definidas no 'Definições do "
 "do utilizador de GUI'"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "Mostrar região"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Restringir a resolução para as definições da máquina"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -5015,69 +5045,69 @@ msgstr ""
 "padrão para visualização de novo mapa podem ser definidas no 'Definições do "
 "do utilizador de GUI'"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Escala do mapa"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 #, fuzzy
 msgid "Projection"
 msgstr "Projecção:"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 #, fuzzy
 msgid "Use defined projection"
 msgstr "Seleccionar projecção"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 #, fuzzy
 msgid "Display geometry"
 msgstr "%d %s sem geometria"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Coordenadas"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Dimensão/amplitude"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Zoom para a região computacional (definido com g.region)"
@@ -5096,111 +5126,126 @@ msgstr "Consultar mapa(s) ráster/vectorial seleccionado"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Importanto feições do mapa %d..."
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Georrectifica rasters e mapas vectoriais"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Mostrar/ocultar escala e direcção Norte"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Mostrar/ocultar legenda"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Mostrar/ocultar escala e direcção Norte"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analizar mapa"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Medir distância"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Medir distância"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Mapa de perfil da superfície"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Criar histograma de imagem ou ficheiro raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "Criar histograma de imagem ou ficheiro raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Análise de rede"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Arrastar com o rato para vista panorâmica"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "Arrastar e clicar com o rato para zoom"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "Arrastar e clicar com o rato para unzoom"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "Visualização 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 #, fuzzy
 msgid "Vector digitizer not available"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Erro na digitalização de vector"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5995,13 +6040,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "Quantização"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "Descrição"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 #, fuzzy
 msgid "Export"
@@ -6012,12 +6057,12 @@ msgstr "Exportar MPEG-1"
 msgid "Add time stamp"
 msgstr "Marca de tempo (timestamp)"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Adicionar grupo de camadas"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "Adicionar camada de texto"
@@ -6041,7 +6086,7 @@ msgid "Sample text"
 msgstr "Transectos de amostra"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -6058,7 +6103,7 @@ msgid "Choose image file"
 msgstr "Seleccionar archivo DXF:"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Teste"
@@ -6090,7 +6135,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Exportar MPEG-1"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -6099,14 +6144,14 @@ msgstr ""
 msgid "animation_"
 msgstr "Quantização"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "Coordenadas"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "Descripción"
@@ -6250,7 +6295,7 @@ msgstr "Ferramentas para limpar a topologia de mapas vectoriais."
 msgid "Animation Tool settings"
 msgstr "Quantização"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6307,22 +6352,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Valor não válido: %s"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Remover camada do mapa"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Remover camada do mapa"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6362,7 +6407,7 @@ msgstr "Barra de ferramentas do mapa"
 msgid "Animation Toolbar"
 msgstr "Barra de ferramentas do mapa"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 #, fuzzy
 msgid "Misc Toolbar"
@@ -6408,8 +6453,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Mapa <%s> não encontrado"
@@ -6453,7 +6498,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "rectificar imagem ou raster"
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, fuzzy, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6477,37 +6522,37 @@ msgstr "Añadir las capas importadas al árbol de capas"
 msgid "No map series nor space-time dataset is added."
 msgstr "Gerar da base de dados"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6526,12 +6571,12 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 #, fuzzy
 msgid "Stop"
 msgstr "Superior"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6568,14 +6613,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Criar histograma de imagem ou ficheiro raster"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Desenhar"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Ajuda"
 
@@ -6592,21 +6637,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Seleccionar directorio de mapas de origen:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6635,620 +6680,620 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Marca de tempo (timestamp)"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Importar mapa raster"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Importar mapa vectorial"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Importar mapa raster"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Directorio de mapas:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Escala do mapa"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Marca de tempo (timestamp)"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Criar/reconstruir topologia"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Visualizar"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "Analisar"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "Quantização"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 #, fuzzy
 msgid "Perspective:"
 msgstr "Proyección:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Z-exag:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 #, fuzzy
 msgid "Look:"
 msgstr "Visualizar:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "esfera"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "Render"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "Superior"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "Restabelecer"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Regressar a visualização padrão"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Código"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "Renomear mapset"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Superfície"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "Superficies de custo"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vector"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "3d raster"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 #, fuzzy
 msgid "Lighting"
 msgstr "Destacar"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Modo:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "ambos"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Sombreamento:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "plano"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "gouraud"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 #, fuzzy
 msgid "Set to all"
 msgstr "Seleccionar todo"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 #, fuzzy
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Transforma todos os valores de z para base=0"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "Anchura de línea"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "Resolução:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "Estilo"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "arame"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "Superfície"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "Fino:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 #, fuzzy
 msgid "Surface attributes"
 msgstr "Cambiar atributos"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Transparência"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "mapa"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "Não-definido"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "constante"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Restabelecer"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "Regressar a visualização padrão"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "Cor:"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 #, fuzzy
 msgid "Rotation:"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Novo"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "Resolução:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "Volumes"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "Transparência"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 #, fuzzy
 msgid "Show vector lines"
 msgstr "Tipo de vetor desconhecido"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Linhas vectoriais"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 #, fuzzy
 msgid "Line:"
 msgstr "linha %d: <%s>"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "Largura:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "Cor:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Establecer opciones"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Mostrar"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "Sobre a superfície"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Altura sobre superfície:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 #, fuzzy
 msgid "Show vector points"
 msgstr "%d pontos além do limite"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 #, fuzzy
 msgid "Vector points"
 msgstr "%d raster%s, %d vetor%s\n"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 #, fuzzy
 msgid "Icon:"
 msgstr "Tamanho do ícone"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 #, fuzzy
 msgid "3D raster map"
 msgstr "3º mapa raster"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "Isosuperfícies"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Resolução:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Lista de isosuperfícies"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 #, fuzzy
 msgid "Show light model"
 msgstr "Mostrar linhas"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 #, fuzzy
 msgid "Light source position"
 msgstr "Seleccionar localización de origen:"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 #, fuzzy
 msgid "Brightness:"
 msgstr "Riqueza"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Adicionar camada"
@@ -7670,15 +7715,15 @@ msgstr "Falha abrindo arquivo dig de entrada."
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, fuzzy, python-format
 msgid "Raster map <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "Mapa <%s> não encontrado"
@@ -7689,13 +7734,15 @@ msgid "3d raster map <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 #, fuzzy
 msgid "Import raster data"
 msgstr "Importar mapa raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 #, fuzzy
 msgid "Link external raster data"
 msgstr "Carregando mapas raster"
@@ -7712,13 +7759,15 @@ msgid "Set raster output format"
 msgstr "Seleccionar tipo de letra"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 #, fuzzy
 msgid "Import vector data"
 msgstr "Importar mapa vectorial"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 #, fuzzy
 msgid "Link external vector data"
 msgstr "Informação base da Metadata vectorial"
@@ -7743,7 +7792,7 @@ msgstr "Descarga e importa datos de servidores WMS."
 msgid "Add command layer"
 msgstr "Adicionar camada de comandos"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Sair"
@@ -7856,210 +7905,213 @@ msgstr "Exportar mapa vectorial"
 msgid "Export PostGIS"
 msgstr "Exportar mapa vectorial"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Não consegui criar a tabela %s"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Criar RGB"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr ""
 "Elimina archivos de elementos de bases de datos del directorio de mapas "
 "actual del usuario."
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Definir tabela de cores"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Mostrar dados de atributos"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Iniciar a edição"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Parar a edição"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 #, fuzzy
 msgid "Rebuild topology"
 msgstr "Criar/reconstruir topologia"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 #, fuzzy
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Zum"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Recodificar de forma interactiva"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histograma"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Estatística Univariada de raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Relatório e estatística"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Perfil"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "Apagar camada seleccionada"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Não é possivel criar um perfil dos mapas raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "Região inválida"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Tipo de camada de mapa não suportado '%s'"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Insira nome para novo mapset:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Definir opacidade <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Sobrepor ficheiro?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "Não é possível disponibilizar o histograma do mapa raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Definir opacidade <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Grupo de camadas"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Clicar para editar as definições da camada"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "Duplo click para definir propriedades"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Por favor aguarde, a actualizar dados..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "Tabla"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 #, fuzzy
 msgid "Workspace Toolbar"
 msgstr "Workspace (Área de trabalho)"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 #, fuzzy
 msgid "Data Toolbar"
 msgstr "Barra de ferramentas do mapa"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 #, fuzzy
 msgid "Tools Toolbar"
 msgstr "Barra de ferramentas do mapa"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Barra de ferramentas de Nviz"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "Mostrar"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 #, fuzzy
 msgid "Map layers"
 msgstr "Camadas do mapa"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 #, fuzzy
 msgid "Command console"
 msgstr "Comando terminado"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "uso: %s arquivo de elementos locação mapset."
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Cambiar nombre de la localización seleccionada"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -8067,274 +8119,275 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "Criar nova location?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
 "Current mapset is <%(mapset)s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 #, fuzzy
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 "¿Quiere establecer la extensión y resolución de la región predeterminada "
 "ahora?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Location <%s> criada"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 #, fuzzy
 msgid "Choose model to run"
 msgstr "Seleccionar projecção"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 #, fuzzy
 msgid "Do you want to save changes in the workspace?"
 msgstr "vectorial?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 #, fuzzy
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Entorno de trabajo?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "Borrar visualización"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 #, fuzzy
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "Criar topologia para mapa vectorial de GRASS."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 #, fuzzy
 msgid "Choose script file to run"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Se necesitan al menos %d GCP. Operación cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "Definir Região"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "Valor de coordenada inválido. Operação cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Insira nome para novo mapset:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Criar novo mapset:"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, fuzzy, python-format
 msgid "Current mapset is <%s>."
 msgstr "Mudar mapset actual."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Alterar ambiente de trabalho"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "desconocido"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "Projecção:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "Construtor SQL"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 #, fuzzy
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
 msgstr "Entorno de trabajo?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 #, fuzzy
 msgid "Create new workspace?"
 msgstr "Crear nuevo archivo de entorno de trabajo"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Escolhar o ficheiro de workspace "
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Por favor aguarde, a carregar workspace..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Escolha o ficheiro GRC para carregar"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Escolher ficheiro para gravar workspace actual"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "El archivo de entorno de trabajo <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Guardar entorno de trabajo"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 #, fuzzy
 msgid "Writing current settings to workspace file failed."
 msgstr "Falha ao obter nome do soquete para o monitor <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "Insira nome para novo mapset:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS Visualização de mapas:"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8342,33 +8395,33 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Não é possível inserir novo registo."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Não é possível inserir novo registo."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "Añadir las capas importadas al árbol de capas"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Tipo de camada de mapa não suportado '%s'"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8378,71 +8431,66 @@ msgstr ""
 "Pretende remover as camada(s) de mapa(s)%s\n"
 "da árvore de camadas?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 "Pretende remover as camada(s) de mapa seleccionadas da árvore de camadas?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Remover camada do mapa"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 #, fuzzy
 msgid "Quit GRASS GUI"
 msgstr "Acerca de la GUI wxPython de GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "Novo mapa vazio foi criado."
@@ -8522,7 +8570,7 @@ msgstr "Importar mapa raster"
 msgid "Raster Map Calculator"
 msgstr "Calculador de mapa raster 3D"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 #, fuzzy
 msgid "Graphical Modeler"
 msgstr "Ajuda GRASS GIS"
@@ -8626,7 +8674,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignorar erros SQL e continuar"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 #, fuzzy
 msgid "Apply changes and close dialog"
 msgstr "Impossível fechar mapa de entrada"
@@ -9008,29 +9056,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Erro na digitalização de vector"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, fuzzy, python-format
 msgid "New vector map <%s> created"
 msgstr "Novo mapa vazio foi criado."
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
@@ -9243,7 +9291,7 @@ msgstr "Barra de herramientas del digitalizador vectorial"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Não há um soquete para conectar ao monitor <%s>."
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Desfazer"
 
@@ -9329,7 +9377,7 @@ msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Seleccionar mapa vectorial"
 
@@ -9358,11 +9406,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Valor de coordenada inválido. Operação cancelada."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Barra de herramientas del digitalizador vectorial"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9387,188 +9430,188 @@ msgstr "Encerrar o diálogo/janela quando finalizar"
 msgid "New vector map"
 msgstr "Novo mapa vectorial"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 #, fuzzy
 msgid " Server settings "
 msgstr "ráster"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 #, fuzzy
 msgid "&Connect"
 msgstr "Ligar"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Configuração avançada"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Configuração avançada"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Definições do gestor de camadas"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Alterar nome"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Adicionar camada de grelha"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Adicionar camada"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Añadir las capas importadas al árbol de capas"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Propriedades das camadas"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Definir Região"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 #, fuzzy
 msgid "Map display"
 msgstr "Mostrar"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Cargar región:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Restringir a resolução para as definições da máquina"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Sobrescrever o ficheiro existente"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Cargar región:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "Remover camada do mapa"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Apagar camada seleccionada"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr ""
 "Elimina archivos de elementos de bases de datos del directorio de mapas "
 "actual del usuario."
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Novo mapa vazio foi criado."
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Carregando dados..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "não está inicializado"
@@ -9683,7 +9726,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 #, fuzzy
 msgid "Layer name"
 msgstr "Nombre de capa"
@@ -9700,8 +9744,8 @@ msgstr "Estilo"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Adicionar grupo de camadas"
+msgid "Add default"
+msgstr "Padrão"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9710,170 +9754,177 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "Seleccione a directoria de dados GRASS:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Seleccionar tipo de mapa y localización/direcctorio de mapas"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "uso: %s arquivo de elementos locação mapset."
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 #, fuzzy
 msgid "&Browse"
 msgstr "Explorar"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr "Nome da nova locação a criar"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Renomear location seleccionada"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Apagar"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Apagar location seleccionada"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Renomear"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Cambiar nombre del directorio de mapas seleccionado"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Apagar"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Apagar mapset seleccionado"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Tabla"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "Vetor de entrada '%s' não encontrado"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "Vetor de entrada '%s' não encontrado"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Erro:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Importar mapa raster"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "Pretende criar uma GRASS location <%s>?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "vectorial."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, fuzzy, python-format
 msgid ""
 "Current name: %s\n"
@@ -9883,7 +9934,7 @@ msgstr ""
 "Nome actual: %s\n"
 "Insira novo nome:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9891,7 +9942,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr "Foi impossível criar <%s> tabela de interpolação na base de dados"
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9899,7 +9950,7 @@ msgid ""
 "%s"
 msgstr "Não é possível renomear mapset"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9907,7 +9958,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr "Foi impossível criar <%s> tabela de interpolação na base de dados"
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9915,14 +9966,14 @@ msgid ""
 "%s"
 msgstr "Não é possível renomear location"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9935,11 +9986,11 @@ msgstr ""
 "\n"
 "TODOS os MAPAS incluidos neste MAPSET serão APAGADOS DEFINITIVAMENTE!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Não é possível apagar mapset"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9950,33 +10001,33 @@ msgstr ""
 "\n"
 "TODOS os MAPAS incluidos neste lcoation serão APAGADOS!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Não é possível apagar location"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "Escolher directoria para dados GIS:"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9985,17 +10036,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Cambiar nombre del directorio de mapas seleccionado"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Não é possível criar novo mapset: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -10007,11 +10058,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -10019,7 +10070,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -10027,44 +10078,175 @@ msgid ""
 "Details: %(reason)s"
 msgstr "Mapa vetorial para armazenas diferenças"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "Região inválida"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
+#: ../gui/wxpython/rdigit/dialogs.py:33
 #, fuzzy
-msgid "&File"
-msgstr "Arquivo"
+msgid "Create new raster map"
+msgstr "Crear nuevo mapa vectorial"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Workspace (Área de trabalho)"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Mapa raster recodificado:"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Criar novo workspace"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Seleccionar mapa vectorial"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Abrir"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Mapa raster recodificado:"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Calcula el índice de forma en un mapa ráster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Ferramentas para limpar a topologia de mapas vectoriais."
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "vectorial?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Guardar cambios"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Não é possivel criar um perfil dos mapas raster"
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "No se puede crear el mapa vectorial <%s>."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Render"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Utilitário de interpolação bilinear para camadas de mapas raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Digitalizar"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Digitalizar nova linha"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Digitalizar novo ponto"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Nome do mapa raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Erro na digitalização de vector"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Seleccionar mapa raster:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Valores de célula"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "Mapa raster"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+#, fuzzy
+msgid "&File"
+msgstr "Arquivo"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Workspace (Área de trabalho)"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Criar novo workspace"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Abrir"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
 msgstr "Carregar workspace de ficheiro"
 
 #: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/modules/colorrules.py:419
 msgid "Save"
 msgstr "Gravar"
 
@@ -10918,7 +11100,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr ""
 
@@ -10981,7 +11163,7 @@ msgstr "Descrição de camada"
 msgid "Launches script file."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Fechar"
@@ -10991,8 +11173,8 @@ msgstr "Fechar"
 msgid "Quit wxGUI session."
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Acerca de la GUI wxPython de GRASS"
@@ -12745,8 +12927,8 @@ msgid "Develop vector map"
 msgstr "Título do mapa vetorial"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 #, fuzzy
 msgid "Create new vector map"
 msgstr "Crear nuevo mapa vectorial"
@@ -14953,15 +15135,15 @@ msgstr "Exibir extensão computacional"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "Modo portátil"
+msgstr "Criar histograma de imagem ou ficheiro raster"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Exibir extensão computacional"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
 msgid "&Help"
 msgstr "Ajuda"
@@ -15092,159 +15274,168 @@ msgstr "Adicionar grupo de camadas"
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+#, fuzzy
+msgid "Add condition"
+msgstr "Opcional"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Adicionar camada de comandos"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 #, fuzzy
 msgid "Remove item"
 msgstr "Eliminar tabela"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 #, fuzzy
 msgid "Delete intermediate data"
 msgstr "Apagar filtrado"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 #, fuzzy
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Mostrar as páginas de manual GRASS em HTML"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 #, fuzzy
 msgid "Display information about Graphical Modeler"
 msgstr "Muestra información básica sobre una capa de mapa ráster."
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Exportar mapa vectorial"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Exportar mapa vectorial"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "Exportar MPEG-1"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Descrição de camada"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Ajuda GRASS GIS"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Adicionar mapa raster"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Adicionar mapa raster 3D"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "vectorial"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Adicionar legenda"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Adicionar mapa criado à árvore de camadas"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Adicionar legenda"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Adicionar camada"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Añadir barra de escala y flecha de Norte"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Mostrar as páginas de manual GRASS em HTML"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Ajuda GRASS GIS"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Muestra información básica sobre una capa de mapa ráster."
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -15259,114 +15450,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Criar histograma de imagem ou ficheiro raster"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "Definições raster"
+msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Coluna de atributo:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Seleccionar mapa raster 3 (opcional):"
+msgstr "Importanto feições do mapa %d..."
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Modo portátil"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -15576,12 +15767,12 @@ msgstr "Declaração SQL"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr "EmbedGivenNulls: tipo errado de dados!"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Gestor das tabelas de atributos do GRASS GIS"
 
@@ -15705,7 +15896,7 @@ msgid "Field calculator"
 msgstr "Calculadora de mapas"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "Adicionar colunas"
@@ -15811,15 +16002,15 @@ msgstr "Apagar registro(s) seleccionado(s)"
 msgid "Delete all records"
 msgstr "Apagar todos os registos"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Seleccionar todo"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Desceleccionar todo"
 
@@ -16004,7 +16195,7 @@ msgid "Driver"
 msgstr "Driver"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Base de dados"
 
@@ -16138,275 +16329,275 @@ msgstr "No se puede crear la nueva localización"
 msgid "Field statistics <%s>"
 msgstr "Estatísticas gerais"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "Cerrar diálogo"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "Cerrar diálogo"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "Consultar datos de vectorial"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Seleccionar mapa vectorial:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "Definir tabela de cores"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "Escolha o ficheiro GRC para carregar"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 #, fuzzy
 msgid "Load"
 msgstr "Cargar"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "Escolha o ficheiro GRC para carregar"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "Configuração"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Gravar workspace para ficheiro"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "Gravar workspace para ficheiro"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "Gravar workspace para ficheiro"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "Regressar a visualização padrão"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Vista prévia"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 #, fuzzy
 msgid "Nothing to save."
 msgstr "Nada para apagar"
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Definir tabela de cores"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 #, fuzzy
 msgid "Create new color table for raster map"
 msgstr "Utilitário de interpolação bilinear para camadas de mapas raster"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 #, fuzzy
 msgid "Enter raster category values or percents"
 msgstr "Mapa 3dcell com valores de referência"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 #, fuzzy
 msgid "fp range"
 msgstr "Intervalo válido"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, fuzzy, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr "Mapa 3dcell com valores de referência"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "suporte da categoria para arquivo de vetores [%s] no mapset [%s] %s"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr ""
 "Coluna da tabela de atributos com valores para interpolar (se camada > 0)"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "Consultar datos de vectorial"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "Seleccionar mapa vectorial"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Camada:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Coluna de atributo:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "Coluna de cor RGB:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "Coluna de cor RGB:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "Salva todos os quadros"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "Series raster para volume"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "Carregar workspace de ficheiro"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Carregando dados da tabela de atributos ... "
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "Definir tabela de cores"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr "vectorial."
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "<%s> criados na base de dados."
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, fuzzy, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "Por favor aguarde, carregando dados de atributo..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr ""
 "Coluna da tabela de atributos com valores para interpolar (se camada > 0)"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr ""
 "Coluna da tabela de atributos com valores para interpolar (se camada > 0)"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "Ferramentas para limpar a topologia de mapas vectoriais."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -16462,25 +16653,25 @@ msgstr ""
 msgid ":"
 msgstr "X:"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 #, fuzzy
 msgid "Block size:"
 msgstr "Tamanho do ícone"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 #, fuzzy
 msgid "Model: "
 msgstr "Modo:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -16717,7 +16908,7 @@ msgid "Save expression to file"
 msgstr "Gravar workspace para ficheiro"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 #, fuzzy
 msgid "&Load"
 msgstr "Cargar"
@@ -16728,7 +16919,7 @@ msgid "Load expression from file"
 msgstr "Carregar workspace de ficheiro"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Copiar o texto do comando actual para a área de trabalho (clipboard)"
 
@@ -16910,122 +17101,298 @@ msgstr "Escolha o ficheiro GRC para carregar"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' copiado para a área de trabalho (clipboard)"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:43
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Permitir aos arquivos de saída a sobrescrever arquivos existentes"
+msgid "Multiple import"
+msgstr "Importación de DXF múltiple"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
+#: ../gui/wxpython/modules/import_export.py:60
 #, fuzzy
-msgid "Options"
-msgstr "Opcional"
+msgid "List of raster layers"
+msgstr "Lista de camadas"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:62
+#, fuzzy
+msgid "List of vector layers"
+msgstr "Lista de camadas"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "uma lista longa"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+#, fuzzy
+msgid "Layer id"
+msgstr "Camada"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "Projecção:"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Encerrar o diálogo/janela quando finalizar"
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Importar"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
 #, fuzzy
-msgid "Show manual page"
-msgstr "Mapa de sombras"
-
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "No se puede analizar la orden %s"
+msgid "Import selected layers"
+msgstr "Importar las capas seleccionadas"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Gestão de projecções"
+msgid "Source settings"
+msgstr "Definições raster"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "Lista de categorías"
+msgid "Import settings"
+msgstr "Configuração do tipo de letra"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Uninstall"
-msgstr "Lista de categorías"
+msgid "Add linked layers into layer tree"
+msgstr "Añadir las capas importadas al árbol de capas"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Gestão de projecções"
+msgid "Add imported layers into layer tree"
+msgstr "Añadir las capas importadas al árbol de capas"
 
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+#, fuzzy
+msgid "&Link"
+msgstr "linha %d: <%s>"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Gestão de projecções"
+msgid "Link selected layers"
+msgstr "Modificar camaad seleccionada"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "No layers selected. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/modules/extensions.py:427
-#, python-format
-msgid ""
-"List of files to be removed:\n"
-"%(files)s\n"
-"\n"
-"Do you want really to remove <%(ext)s> extension?"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "Remove extension"
+msgid "Unable to determine number of raster bands"
+msgstr "Não é possivel criar um perfil dos mapas raster"
+
+#: ../gui/wxpython/modules/import_export.py:591
+#, fuzzy
+msgid "Define output format for vector data"
+msgstr "Importar mapa vectorial"
+
+#: ../gui/wxpython/modules/import_export.py:593
+#, fuzzy
+msgid "Define output format for raster data"
+msgstr "Importar mapa raster"
+
+#: ../gui/wxpython/modules/import_export.py:601
+#, fuzzy
+msgid "Set external format and close dialog"
+msgstr "Ignorar erros SQL e continuar"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Importar camadas DXF"
+
+#: ../gui/wxpython/modules/import_export.py:671
+#, fuzzy
+msgid "Choose DXF file to import"
+msgstr "Seleccionar archivo DXF a importar"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Projecção:"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Nombre para el nuevo mapa vectorial:"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Camada a apagar"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importar las capas seleccionadas"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Permitir aos arquivos de saída a sobrescrever arquivos existentes"
+
+#: ../gui/wxpython/modules/extensions.py:71
+#, fuzzy
+msgid "Options"
+msgstr "Opcional"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Lista de categorías"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Mapa de sombras"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "No se puede analizar la orden %s"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Gestão de projecções"
+
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "Lista de categorías"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "Lista de categorías"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Gestão de projecções"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Gestão de projecções"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
+
+#: ../gui/wxpython/modules/extensions.py:428
+#, python-format
+msgid ""
+"List of files to be removed:\n"
+"%(files)s\n"
+"\n"
+"Do you want really to remove <%(ext)s> extension?"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:431
+#, fuzzy
+msgid "Remove extension"
 msgstr "Eliminar vértice"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "Emissão"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 #, fuzzy
 msgid "Please wait, exporting image..."
 msgstr "Por favor aguarde, a actualizar dados..."
@@ -17176,7 +17543,7 @@ msgid ""
 msgstr "No se puede crear el mapa vectorial <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Mapa <%s> não encontrado"
@@ -17216,11 +17583,6 @@ msgstr "Guardar ficheiro como..."
 msgid "Export training areas"
 msgstr "Exportar mapa vectorial"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Não consegui criar a tabela %s"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -17249,22 +17611,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Carregando mapas raster"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Carregando mapas raster"
@@ -17309,155 +17671,155 @@ msgstr "EmbedGivenNulls: tipo errado de dados!"
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Barra de ferramentas de georrectificação"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Barra de ferramentas do mapa"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Barra de ferramentas do mapa"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Definições da digitalização"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Imprimir visualização"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Mostrar"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Mostrar região"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Mostrar região"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Importar mapa vectorial"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Nada para extrair."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Analisar"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Valor de coordenada inválido. Operação cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "Se necesitan al menos %d GCP. Operación cancelada."
@@ -17971,19 +18333,141 @@ msgstr "Erro RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "CAlculador de mapas GRASS %s "
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "No é possível ler a lista: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "No é possível ler a lista: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Alterar nome"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Renomear mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Intervalo válido"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Alterar nome"
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Não é possível ler os códigos EPSG: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Copiar tabla"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Pretende criar uma GRASS location <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Apagar mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Apagar"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Mostrar"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Copiar"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "Raster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Mostrar mapa"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 #, fuzzy
 msgid "Show text object"
 msgstr "Mostrar comp. extent"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 #, fuzzy
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
@@ -17992,71 +18476,90 @@ msgstr ""
 "Arrastrar texto con el ratón en modo puntero a la posición.\n"
 "Doble pulsación para cambiar las opciones."
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Legenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Adicionar camada"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Añadir barra de escala y flecha de Norte"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s' copiado para a área de trabalho (clipboard)"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Mostrar mapa"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' copiado para a área de trabalho (clipboard)"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Mostrar configuração"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Añadir sobreposições"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Séries de raster"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Zoom para a extensão da região guardada"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, fuzzy, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 #, fuzzy
 msgid "Save display extents to region file"
 msgstr "Guardar a geometria de visualização para a região designada"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, fuzzy, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -18154,603 +18657,496 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 #, fuzzy
 msgid "Select GRASS location and mapset"
 msgstr "uso: %s arquivo de elementos locação mapset."
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Computação de fluxos para grelha massiva (float version)."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 #, fuzzy
 msgid "Name of GRASS location:"
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 #, fuzzy
 msgid "Name of mapset:"
 msgstr "Renomear mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 #, fuzzy
 msgid "Select mapset in GRASS location"
 msgstr "Seleccionar tipo de mapa y localización/direcctorio de mapas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "Renomear mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 #, fuzzy
 msgid "Create attribute table"
 msgstr "Não consegui criar a tabela %s"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Adicionar mapa criado à árvore de camadas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 #, fuzzy
 msgid "Name for new vector map:"
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 #, fuzzy
 msgid "Key column:"
 msgstr "Cambiar nombre de columna"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, fuzzy, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 #, fuzzy
 msgid "Load region:"
 msgstr "Cargar región:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 #, fuzzy
 msgid "Save region:"
 msgstr "Guardar región:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "Criar/editar grupo"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "Impossível fechar mapa de entrada"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "ask_transform_coord():  Encerrando sessão.. \n"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 #, fuzzy
 msgid "Close dialog, changes are not applied"
 msgstr "Habilitar relatório de cache"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "ASTER"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Lista de mapas:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr ""
 "Pretende remover as camada(s) de mapa seleccionadas da árvore de camadas?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "Añadir las capas importadas al árbol de capas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "Guardar cambios"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, fuzzy, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "vectorial."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "Tipo de capa de mapa:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "Seleccionar color"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 #, fuzzy
 msgid "Mapset:"
 msgstr "Directorio de mapas:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
 msgid "Invert selection"
 msgstr "Cambiar nombre de la localización seleccionada"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-#, fuzzy
-msgid "Multiple import"
-msgstr "Importación de DXF múltiple"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Lista de camadas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Lista de camadas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "uma lista longa"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "Camada"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Nombre para el nuevo mapa vectorial:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Projecção:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Encerrar o diálogo/janela quando finalizar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Importar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-#, fuzzy
-msgid "Import selected layers"
-msgstr "Importar las capas seleccionadas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Añadir las capas importadas al árbol de capas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-#, fuzzy
-msgid "Add imported layers into layer tree"
-msgstr "Añadir las capas importadas al árbol de capas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-#, fuzzy
-msgid "&Link"
-msgstr "linha %d: <%s>"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-#, fuzzy
-msgid "Link selected layers"
-msgstr "Modificar camaad seleccionada"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Não é possivel criar um perfil dos mapas raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Importar mapa vectorial"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Importar mapa raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Ignorar erros SQL e continuar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Importar camadas DXF"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-#, fuzzy
-msgid "Choose DXF file to import"
-msgstr "Seleccionar archivo DXF a importar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 #, fuzzy
 msgid "Set Map Layer Opacity"
 msgstr "Establecer opacidad de la capa de mapa"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "opaco"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 #, fuzzy
 msgid "Image size"
 msgstr "Tamanho do ícone"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS - Visualización de mapas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "Declaração SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "Símbolo:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "Configuração de símbolos"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "Configuração de símbolos"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 #, fuzzy
 msgid "Not selectable element"
 msgstr "Nome da coluna de atributos"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Mapset"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Tipo"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "ráster"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "Definições raster"
+msgid "Source input"
+msgstr "Nome da coluna"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "Gravar"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Arquivo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 #, fuzzy
 msgid "Directory"
 msgstr "Descripción"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "Saida"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 #, fuzzy
 msgid "All files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 #, fuzzy
 msgid "File:"
 msgstr "Arquivo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "Seleccionar archivo DXF a importar"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 #, fuzzy
 msgid "Choose input directory"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 #, fuzzy
 msgid "Extension:"
 msgstr "Emissão"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 #, fuzzy
 msgid "Choose file"
 msgstr "Seleccionar archivo DXF:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "ID de característica:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Consulta às características"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Criar/reconstruir topologia"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "Establecer opciones"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 #, fuzzy
 msgid "Protocol:"
 msgstr "Código de projecção:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Destacar"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Mapa <%s> não encontrado"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -18884,6 +19280,7 @@ msgid "Module dialog style:"
 msgstr "Definições da janela de comandos"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 #, fuzzy
 msgid "Map Display"
 msgstr "Mostrar"
@@ -18991,7 +19388,7 @@ msgstr "    3:  Onda de cores variadas\n"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Transparente"
 
@@ -19293,6 +19690,49 @@ msgstr "Teste de normalidade"
 msgid "Nothing found"
 msgstr "Nada para apagar"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Categoria"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Importanto feições do mapa %d..."
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Criar novo mapset:"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "No se puede crear el mapa vectorial <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Novo mapa vazio foi criado."
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "No se puede crear el mapa vectorial <%s>."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr ""
@@ -19340,6 +19780,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr "Projecção:"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -19413,113 +19857,113 @@ msgstr ""
 msgid "&Previous"
 msgstr "Vista prévia"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 #, fuzzy
 msgid "Enter parameters for '"
 msgstr "Introduzir parâmetro para "
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 #, fuzzy
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Cláusula WHERE do comando SQL sem palavra-chave 'where'"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 #, fuzzy
 msgid "Run the command (Ctrl+R)"
 msgstr "Executar o comando"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 #, fuzzy
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Mostrar página do manual relativa ao comando"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 #, fuzzy
 msgid "Add created map(s) into layer tree"
 msgstr "Adicionar mapa criado à árvore de camadas"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' copiado para a área de trabalho (clipboard)"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Parâmetros Obrigatórios"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Opcional"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 #, fuzzy
 msgid "Parameterized in model"
 msgstr "Parâmetro não encontrado: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[múltiplo]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 #, fuzzy
 msgid "valid range"
 msgstr "Intervalo válido"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Seleccionar %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Renomear location"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Gravar como"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "Recodificar de forma interactiva"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Manual"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "Nada para apagar"
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -19527,28 +19971,28 @@ msgid ""
 "Reason: %s"
 msgstr "G_spawn: não é possível bloquear o sinal %d"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "Guardar ficheiro como..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "No se puede analizar la orden %s"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -19611,69 +20055,81 @@ msgstr "Alterar nível de opacidade"
 msgid "Change layer opacity"
 msgstr "Alterar nível de opacidade"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Perfil"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "Gravar configurações actuais?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "Apagar mapset seleccionado"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
+#: ../gui/wxpython/gui_core/widgets.py:1190
 #, fuzzy
-msgid "Load settings:"
-msgstr "Mostrar configuração"
+msgid "Load:"
+msgstr "Cargar"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "ráster"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 "El archivo de entorno de trabajo <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "No se puede analizar la orden %s"
@@ -19786,11 +20242,11 @@ msgstr "Criar histograma de imagem ou ficheiro raster"
 msgid "Select graphics tool"
 msgstr "Seleccionar tipo de letra padrão"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Executar o comando"
@@ -19807,6 +20263,22 @@ msgstr "Executar o comando"
 #~ msgstr "Sair do GUI"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Região inválida"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Barra de ferramentas do digitalizador vectorial"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Intervalo válido"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Copiar tabla"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Lista de camadas"
 
@@ -19823,16 +20295,29 @@ msgstr "Executar o comando"
 #~ msgstr "Estatística Univariada de raster"
 
 #, fuzzy
-#~ msgid "Add condition"
-#~ msgstr "Opcional"
+#~ msgid "Load settings:"
+#~ msgstr "Mostrar configuração"
 
 #, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Añadir las capas importadas al árbol de capas"
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Importação de vectores do antigo GRASS"
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Añadir las capas importadas al árbol de capas"
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Importação de vectores do antigo GRASS"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "Importa mapas vectoriales de versiones anteriores de GRASS."
+
+#, fuzzy
+#~ msgid "GPS data import"
+#~ msgstr "Importação de GPS de GPSBabel"
+
+#~ msgid "GEOnet import"
+#~ msgstr "Importação de GEOnet"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -19857,44 +20342,31 @@ msgstr "Executar o comando"
 #~ msgstr "Converter coordenadas"
 
 #, fuzzy
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr "mostrar"
-
-#, fuzzy
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Importação de vectores do antigo GRASS"
+#~ msgid "Create optimally placed labels"
+#~ msgstr "Criar etiquetas"
 
-#, fuzzy
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Importação de vectores do antigo GRASS"
+#~ msgid "Bit pattern comparison "
+#~ msgstr "Comparação de padrões de bits"
 
 #, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Importa mapas vectoriales de versiones anteriores de GRASS."
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Gestor de tabela de atributos"
 
 #, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "Importação de GPS de GPSBabel"
-
-#~ msgid "GEOnet import"
-#~ msgstr "Importação de GEOnet"
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Seleccionar directorio de mapas de origen:"
 
 #, fuzzy
-#~ msgid "Create optimally placed labels"
-#~ msgstr "Criar etiquetas"
-
-#~ msgid "Bit pattern comparison "
-#~ msgstr "Comparação de padrões de bits"
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr "mostrar"
 
 #, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "Nome da coluna (tipo deve ser numérico)"
 
 #, fuzzy
-#~ msgid "Volume"
-#~ msgstr "Volumes"
+#~ msgid "Add default servers"
+#~ msgstr "Adicionar grupo de camadas"
 
 #, fuzzy
 #~ msgid "Choose project location and mapset"
@@ -19974,9 +20446,27 @@ msgstr "Executar o comando"
 #~ msgid "No GRASS location found in '%s'."
 #~ msgstr "uso: %s arquivo de elementos locação mapset."
 
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "Desenvolver mapa raster"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Añadir las capas importadas al árbol de capas"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Añadir las capas importadas al árbol de capas"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importa mapas vectoriales de versiones anteriores de GRASS."
+
 #~ msgid "Vector to volume"
 #~ msgstr "Vectorial para volume"
 
+#~ msgid "Sites to vector"
+#~ msgstr "Pontos ('sites' ) para vectorial"
+
 #, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "Calculador de mapa raster 3D"
@@ -20003,11 +20493,9 @@ msgstr "Executar o comando"
 #~ msgid "Voxel statistics"
 #~ msgstr "Estatísticas gerais"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importa mapas vectoriales de versiones anteriores de GRASS."
-
-#~ msgid "Sites to vector"
-#~ msgstr "Pontos ('sites' ) para vectorial"
+#, fuzzy
+#~ msgid "Volume"
+#~ msgstr "Volumes"
 
 #, fuzzy
 #~ msgid ""
@@ -20052,6 +20540,5 @@ msgstr "Executar o comando"
 #~ "Calcula estadísticas univariantes a partir de celdas no nulas de un mapa "
 #~ "ráster."
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Gestor de tabela de atributos"
+#~ msgid "Digitize"
+#~ msgstr "Digitalizar"
diff --git a/locale/po/grasswxpy_pt_br.po b/locale/po/grasswxpy_pt_br.po
index 1cde2d3..d1ec0a3 100644
--- a/locale/po/grasswxpy_pt_br.po
+++ b/locale/po/grasswxpy_pt_br.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_pt_br\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2011-08-12 16:32-0300\n"
 "Last-Translator: \n"
 "Language-Team: Português do Brasil <grass-translations at lists.osgeo.org>\n"
@@ -31,7 +31,7 @@ msgid "Name of raster map:"
 msgstr "Mapa raster recodificado:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 #, fuzzy
 msgid "Name of vector map:"
 msgstr "Nombre para el nuevo mapa vectorial:"
@@ -145,7 +145,7 @@ msgstr "Opcional"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "Camada"
@@ -223,15 +223,15 @@ msgid "Reload"
 msgstr "Recarregar"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 #, fuzzy
 msgid "No"
 msgstr "N"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -264,8 +264,8 @@ msgstr "Listar tabelas"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 #, fuzzy
 msgid "Color"
@@ -299,9 +299,10 @@ msgstr "Índice de formas"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 #, fuzzy
 msgid "Width:"
 msgstr "Largura:"
@@ -310,15 +311,15 @@ msgstr "Largura:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 #, fuzzy
 msgid "Height:"
 msgstr "Altura:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 #, fuzzy
 msgid "Data"
 msgstr "Base de dados"
@@ -355,14 +356,14 @@ msgid "Comment"
 msgstr "Comando"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 #, fuzzy
 msgid "Model properties"
 msgstr "Propriedades das camadas"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 #, fuzzy
 msgid "Metadata"
 msgstr "Metadados"
@@ -375,7 +376,7 @@ msgstr "Comando"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Permitir que os arquivos de saída sobescrevam os arquivos existentes"
@@ -397,10 +398,10 @@ msgstr "Encerrar janelas e ignorar as alterações"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr ""
 
@@ -468,13 +469,13 @@ msgstr "Mapa raster"
 msgid "3D raster maps"
 msgstr "3º mapa raster"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 #, fuzzy
 msgid "Vector maps"
 msgstr "%d raster%s, %d vetor%s\n"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 #, fuzzy
 msgid "unknown"
@@ -505,25 +506,25 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 #, fuzzy
 msgid "Model parameters"
 msgstr "Parámetros del terreno"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "Apagar filtrado"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Executar"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 #, fuzzy
 msgid "Variables"
 msgstr "Listar tabelas"
@@ -548,7 +549,7 @@ msgid "Python editor"
 msgstr "shell python"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Saída de comando"
 
@@ -618,7 +619,7 @@ msgid "Choose model file"
 msgstr "Seleccionar archivo DXF:"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "Arquivo de modelo GRASS (*.gxm)|*.gxm"
 
@@ -648,7 +649,7 @@ msgstr "Arquivo de PONTOS <%s> guardado"
 msgid "Choose file to save current model"
 msgstr "Escolher arquivo para gravar área de trabalho actual"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -668,7 +669,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -681,7 +682,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Adicionar camada de comandos"
@@ -715,7 +716,7 @@ msgstr "Por favor espere, cargando datos..."
 msgid "Writing current settings to model file failed."
 msgstr "Falha ao obter nome do soquete para o monitor <%s>."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Não consegui abrir o arquivo <%s> para escrita."
@@ -724,15 +725,15 @@ msgstr "Não consegui abrir o arquivo <%s> para escrita."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -818,10 +819,10 @@ msgstr "Valor da categoria"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 #, fuzzy
 msgid "Description"
 msgstr "Descrição"
@@ -845,14 +846,14 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 #, fuzzy
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "vector"
 msgstr "vectorial"
@@ -868,7 +869,7 @@ msgid "mapset"
 msgstr "Mapset"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "Perfil"
@@ -1015,7 +1016,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 #, fuzzy
 msgid "Select raster map:"
 msgstr "Seleccionar mapa raster:"
@@ -1039,7 +1040,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 #, fuzzy
@@ -1077,8 +1078,8 @@ msgstr "Etiqueta do eixo do Y"
 msgid "Label font size (pts):"
 msgstr "Tamanho do tipo de letra da etiqueta (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1134,9 +1135,9 @@ msgstr "Definições do perfil gravadas no arquivo  '%s'."
 msgid "No map or image group selected to plot."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 #, fuzzy
 msgid "Warning"
 msgstr "Aviso"
@@ -1167,8 +1168,8 @@ msgstr "Cor da linha"
 msgid "Line width"
 msgstr "Anchura de línea"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 #, fuzzy
 msgid "Line style"
 msgstr "Estilo da linha"
@@ -1185,20 +1186,20 @@ msgid "Transect segment marker settings"
 msgstr "Definições do marcadordo de segmento"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 #, fuzzy
 msgid "Size"
 msgstr "Dimensão"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "Arquivo"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 #, fuzzy
 msgid "Style"
 msgstr "Estilo"
@@ -1461,20 +1462,20 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Configuração de página"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 #, fuzzy
 msgid "Print preview"
 msgstr "Vista previa de impressão"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1580,7 +1581,7 @@ msgid "Output"
 msgstr "Saída"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 #, fuzzy
 msgid "Parameters"
 msgstr "Parâmetros"
@@ -1621,8 +1622,7 @@ msgid "Analysing..."
 msgstr "Analisar"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Configurações"
@@ -1679,7 +1679,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Limpar o GCP seleccionado"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 #, fuzzy
@@ -1706,10 +1706,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 #, fuzzy
 msgid "Close dialog"
 msgstr "Cerrar diálogo"
@@ -1731,12 +1732,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Análise de rede"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1744,50 +1745,50 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr ""
 "Elimina archivos de elementos de bases de datos del directorio de mapas "
 "actual del usuario."
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Sobrepor arquivo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "vectorial."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1795,89 +1796,89 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "não está inicializado"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Sobrepor arquivo?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Camadas do mapa"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Adicionar camada"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Gerir camadas"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Gerir ou reportar categorias"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Seleccionar %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
@@ -1886,122 +1887,122 @@ msgstr ""
 "Cambia el nombre de una columna en la tabla de atributos conectada a un mapa "
 "vectorial dado."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 #, fuzzy
 msgid "use"
 msgstr "Não-definido"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Tipo de datos"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "Criar/reconstruir topologia"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "Ponto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "Ponto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Esquerda: novo ponto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Coluna numérica:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "Caminho mais curto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "Ponto"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "Análise do caixeiro-viajante"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, fuzzy, python-format
 msgid "Maximum flow %s"
 msgstr "Fluxo máximo"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Nome da coluna"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Mostrar pontos"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, fuzzy, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "Cria uma árvore de Steiner para a rede e terminais dados"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Remover camada do mapa"
@@ -2202,339 +2203,339 @@ msgstr "Seleccionar transformación del datum"
 msgid "Select from list of datum transformations"
 msgstr "Lista de transformaciones del datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 #, fuzzy
 msgid "Define GRASS Database and Location Name"
 msgstr "Definir base de datos de GRASS y nombre de localización"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 #, fuzzy
 msgid "Browse"
 msgstr "Explorar"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 #, fuzzy
 msgid "GIS Data Directory:"
 msgstr "Directorio de dados de SIG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 #, fuzzy
 msgid "Project Location"
 msgstr "Localização de projecto"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Escolher directoria para dados GIS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "Nome da location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "Location seleccionada inválida"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 #, fuzzy
 msgid "Choose GRASS data directory:"
 msgstr "Seleccione a directoria de dados GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 #, fuzzy
 msgid "Location already exists in GRASS Database."
 msgstr "La localización ya existe en la base de datos de GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 #, fuzzy
 msgid "Unable to create location"
 msgstr "Não é possível criar a location"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 #, fuzzy
 msgid "Choose method for creating a new location"
 msgstr "Seleccione el método para crear una nueva localización"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 #, fuzzy
 msgid "Select EPSG code of spatial reference system"
 msgstr "Seleccionar código EPSG do sistema de coordenadas"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 #, fuzzy
 msgid "Select coordinate system parameters from a list"
 msgstr "Seleccione o sistema de coordenadas"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Escolha apenas um sistema de coordenadas para posicionamento"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 #, fuzzy
 msgid "Choose projection"
 msgstr "Seleccionar projecção"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 #, fuzzy
 msgid "Code"
 msgstr "Código"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 #, fuzzy
 msgid "Projection code:"
 msgstr "Código de projecção:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 #, fuzzy
 msgid "Search in description:"
 msgstr "Procurar em descrição:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, fuzzy, python-format
 msgid "Unable to read list: %s"
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 #, fuzzy
 msgid "Choose projection parameters"
 msgstr "Seleccionar projecção"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 #, fuzzy
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Seleccionar datum com elipsóide associada"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 #, fuzzy
 msgid "Datum with associated ellipsoid"
 msgstr "Seleccionar datum com elipsóide associada"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 #, fuzzy
 msgid "Ellipsoid only"
 msgstr "Elipsóide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, fuzzy, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Introduzir parâmetro para "
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 #, fuzzy
 msgid "Specify geodetic datum"
 msgstr "Especificar datum geodésico"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 #, fuzzy
 msgid "Ellipsoid"
 msgstr "Elipsóide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 #, fuzzy
 msgid "Datum code:"
 msgstr "Código do datum:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 #, fuzzy
 msgid "Specify ellipsoid"
 msgstr "Especificar elipsoide"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "Base de dados"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 #, fuzzy
 msgid "Ellipsoid code:"
 msgstr "Código da elipsoide:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 #, fuzzy
 msgid "Select georeferenced file"
 msgstr "Seleccionar arquivo georreferenciado"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 #, fuzzy
 msgid "Georeferenced file:"
 msgstr "Arquivo georreferenciado:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "Arquivo WKT:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 #, fuzzy
 msgid "Choose EPSG Code"
 msgstr "Seleccionar código EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 #, fuzzy
 msgid "Path to the EPSG-codes file:"
 msgstr "Caminho para o arquivo de códigos EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 #, fuzzy
 msgid "EPSG code:"
 msgstr "Código EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 #, fuzzy
 msgid "Choose EPSG codes file"
 msgstr "Seleccionar arquivo de códigos EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, fuzzy, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 #, fuzzy
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 "Seleccionar método para especificar los parámetros de georreferenciación"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 #, fuzzy
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Introducir cadena de parámetros PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 #, fuzzy
 msgid "Datum transform is required."
 msgstr "É necessário uma transformação do datum"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 #, fuzzy
 msgid "Summary"
 msgstr "Resumo"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 #, fuzzy
 msgid "GRASS Database:"
 msgstr "Base de dados GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 #, fuzzy
 msgid "Location Name:"
 msgstr "Nome da location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 #, fuzzy
 msgid "Location Title:"
 msgstr "Nome da location:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 #, fuzzy
 msgid "Projection:"
 msgstr "Projecção:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "Definição PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 #, fuzzy
 msgid "custom"
 msgstr "Mínimo Personalizado"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, fuzzy, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Pretende criar uma GRASS location <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 #, fuzzy
 msgid "Create new location?"
 msgstr "Criar nova location?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 #, fuzzy
 msgid "Define new GRASS Location"
 msgstr "Definir nova location de GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, fuzzy, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2542,35 +2543,35 @@ msgid ""
 "Details: %(err)s"
 msgstr "Não é possível criar nova location. Location <%s> não foi criada"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 #, fuzzy
 msgid "Location wizard canceled. Location not created."
 msgstr "Foi cancelado o assistente de location. Location não foi criado."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 #, fuzzy
 msgid "Unable to create new location"
 msgstr "No se puede crear la nueva localización"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 #, fuzzy
 msgid "New GIS data directory"
 msgstr "Directorio de datos de SIG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 #, fuzzy
 msgid "EPSG code missing."
 msgstr "Código EPSG em falta."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "Arquivo não encontrado"
@@ -2993,7 +2994,16 @@ msgstr "Adicionar etiquetas"
 msgid "Remove selected class"
 msgstr "Cambiar nombre del directorio de mapas seleccionado"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -3004,142 +3014,137 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "Tipo da coluna suave (datetime) não é suportado"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "Comando terminado"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "Detalhes:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, fuzzy, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Tipo de camada de mapa não suportado '%s'"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "ERRO: Falha no rendering"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Carregando dados..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Zoom à região pré-definida"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Valor não válido: %s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Mapa raster a ser pesquisado"
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 #, fuzzy
 msgid "Details:"
 msgstr "Detalhes:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Mapa raster a ser pesquisado"
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, fuzzy, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "ERRO: Falha no rendering"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Carregando dados..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Render"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Render"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Mensagem"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 #, fuzzy
 msgid "Execution failed:"
 msgstr "Falha na execução:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 #, fuzzy
 msgid "Error: "
 msgstr "Erro:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, fuzzy, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Impossível executar o comando: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, fuzzy, python-format
 msgid "Error in %s"
 msgstr "Erro no %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, fuzzy, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Não foi possível abrir o arquivo <%s>."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, fuzzy, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -3153,12 +3158,12 @@ msgstr ""
 "\n"
 "Número de linhas ignoradas: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, fuzzy, python-format
 msgid " row %d:"
 msgstr "linha %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -3167,17 +3172,22 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Arquivo não encontrado"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 #, fuzzy
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
@@ -3185,17 +3195,17 @@ msgstr ""
 "Por favor, tenha em atenção que os dados serão deixados num estado "
 "inconsistente e que poderão ser corrompidos/danificados"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 #, fuzzy
 msgid "Command aborted"
 msgstr "Comando cancelado"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 #, fuzzy
 msgid "Command finished"
 msgstr "Comando terminado"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3390,39 +3400,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Novo mapa vazio foi criado."
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, fuzzy, python-format
 msgid "failed to open '%s'"
 msgstr "Não é possível abirr o arquivo"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Não foi possível abrir o arquivo <%s>."
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Duplicar atributos"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 #, fuzzy
 msgid "Select Color"
 msgstr "Seleccionar cor"
@@ -3493,12 +3503,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "Tamanho do ícone"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 #, fuzzy
 msgid "Font size:"
@@ -3515,7 +3525,7 @@ msgid "Close dialog and apply changes"
 msgstr "Encerrar janelas e ignorar as alterações"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 #, fuzzy
 msgid "Apply changes"
 msgstr "Guardar cambios"
@@ -3534,7 +3544,7 @@ msgstr ""
 msgid "Orientation"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "Largura:"
@@ -3584,7 +3594,7 @@ msgid "Map frame settings"
 msgstr "Definições da moldura do mapa"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr "Moldura do mapa"
 
@@ -3612,7 +3622,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "Seleção de mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "Directorio de mapas:"
@@ -3642,7 +3652,7 @@ msgstr "E:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "Estilo:"
@@ -3657,7 +3667,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "Primeira ordem"
@@ -3697,189 +3707,190 @@ msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 msgid "No region selected!"
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "Mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "Mapa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "favor criar a moldura do mapa primeiro."
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "Adicionar grupo de camadas"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "Ponto"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "rhumbline"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 #, fuzzy
 msgid "areas"
 msgstr "Gravar como"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "Tipo de datos"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 #, fuzzy
 msgid "Add"
 msgstr "Adicionar"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "Limpar mapa vectorial"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 #, fuzzy
 msgid "Delete"
 msgstr "Apagar"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "Propriedades"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "Definições raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "Definições de vectores"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "Propriedades"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "Cambiar nombre de la localización seleccionada"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 #, fuzzy
 msgid "Feature type"
 msgstr "ID de característica:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "centroids"
 msgstr "Adicionar centroides"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "Editar linha/ contorno/fronteira"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "Cambiar nombre de la localización seleccionada"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 #, fuzzy
 msgid "Database connection is not defined in DB file."
 msgstr "O formato requisitado não foi compilado nesta versão"
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "Apagar camada"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 #, fuzzy
 msgid "Mask"
 msgstr "Máscara"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "Fechar área de trabalho actual"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "Cor"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 #, fuzzy
 msgid "Outline"
 msgstr "rhumbline"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 #, fuzzy
 msgid "Width (pts):"
 msgstr "Largura:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3888,579 +3899,579 @@ msgstr "Largura:"
 msgid "Color:"
 msgstr "Cor:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "Seleccionar directorio de datos de GRASS:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "Regras de cor"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "Estilo da linha"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 #, fuzzy
 msgid "Symbology"
 msgstr "Simbología"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "Símbolo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "Arquivo WKT:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "Seleccionar archivo DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "Dimensão:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 #, fuzzy
 msgid "size from map table column:"
 msgstr "Salva todos os quadros"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "Rescalar"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "Salva todos os quadros"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 #, fuzzy
 msgid "Set width (pts):"
 msgstr "Línea"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 #, fuzzy
 msgid "multiply width by category value"
 msgstr "Editar valores de categoría de forma interactiva"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "Seleccionar archivo DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "Seleccionar archivo DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "ASTER"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 #, fuzzy
 msgid "pattern line width (pts):"
 msgstr "Línea"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "Séries de raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "Mostrar legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "Nome da coluna"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "Vectorial para raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "Seleccionar mapa raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "Mostrar legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "Configuração avançada"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "Gerir"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "Linhas vectoriais"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 #, fuzzy
 msgid "Show vector legend"
 msgstr "Tipo de vetor desconhecido"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "Sobrepor mapas vectoriais"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Mapa vetorial"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr "Adicionar etiquetas"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 #, fuzzy
 msgid "Position"
 msgstr "Posição"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "Volumes"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "Adicionar colunas"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "Definições do mapa"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "Configurações gerais"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 #, fuzzy
 msgid "use border color:"
 msgstr "usar| coordenada X"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "Cor de fundo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 #, fuzzy
 msgid "Unsupported units"
 msgstr "Tipod e camada '%s' não suportado"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "Comprimento: %f\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 #, fuzzy
 msgid "default"
 msgstr "Padrão"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "Tipo"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "Renomear mapset"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "Legenda"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 #, fuzzy
 msgid "Text"
 msgstr "Teste"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 #, fuzzy
 msgid "Enter text:"
 msgstr "Introducir texto:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "Configuração do tipo de letra"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "Destacar"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 #, fuzzy
 msgid "text border"
 msgstr "Primeira ordem"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "Esquerda: novo ponto"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "Configuração do tipo de letra"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "&Imagens"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "Escala e Direcção Norte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 #, fuzzy
 msgid ""
 "PIL\n"
 "missing"
 msgstr "Emissão"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 #, fuzzy
 msgid "North Arrow"
 msgstr "Escala e Direcção Norte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "Mostrar configuração"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "Point"
 msgstr "Ponto"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "Símbolo:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "Selecionar trajeto interativamente"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "Cor da linha"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 #, fuzzy
 msgid "transparent"
 msgstr "transparente"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "Escala e Direcção Norte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "Dimensão:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "Configuração de símbolos"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "Alterar configurações"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "Alterar configurações"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "Largura de linha (em pixels)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "etiquetas vectoriais"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4605,42 +4616,42 @@ msgstr ""
 msgid "labels: "
 msgstr "Adicionar etiquetas"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "Não foi possível abrir o arquivo <%s>."
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, fuzzy, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr "Resolução:"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, fuzzy, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
@@ -4649,14 +4660,14 @@ msgstr ""
 "Tamanho da moldura do mapa mudou, valor antigo: %s %s\n"
 "novo valor: %s %s"
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, fuzzy, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
@@ -4665,7 +4676,7 @@ msgstr ""
 "Posição da moldura do mapa mudou, valor antigo: %s %s\n"
 "novo valor: %s %s"
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, fuzzy, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
@@ -4674,34 +4685,34 @@ msgstr ""
 "Tamanho da moldura do mapa mudou, valor antigo: %s %s\n"
 "novo valor: %s %s"
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "No é possível ler a lista: %s"
@@ -4763,30 +4774,30 @@ msgstr "Parâmetros"
 msgid "degree"
 msgstr "dtree"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "Não é possível carregar mapa raster"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 #, fuzzy
 msgid "Generate text file with mapping instructions"
 msgstr "Gerar arquivo texto com instruções de mapping"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 #, fuzzy
 msgid "Load text file with mapping instructions"
 msgstr "Carregar arquivo texto com instruções de mapping"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr "Gera saída PostScript"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "Gerar saída PDF"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "Especificar tamanho do papel, margens e orientação"
 
@@ -4802,7 +4813,7 @@ msgstr "Zoom para extensão total"
 msgid "Click and drag to place map frame"
 msgstr "Clique e arraste para posicionar a moldura do mapa"
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr "Apagar objeto selecionado"
 
@@ -4815,13 +4826,13 @@ msgstr "Mostrar prévia"
 msgid "Quit Cartographic Composer"
 msgstr "Sair do modelador gráfico"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "Adicionar info do mapa"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "Adicionar barra de escala"
@@ -4877,22 +4888,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Tipod e camada '%s' não suportado"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "Não é possível ler os códigos EPSG: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "Iniciar novo display de mapa"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Não é possível ler os códigos EPSG: %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Iniciar novo display de mapa"
@@ -4928,44 +4944,45 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 #, fuzzy
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Visualización de mapas"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS Visualização de mapas:"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 #, fuzzy
 msgid "2D view"
 msgstr "Visualizar em 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr "Mapa vetorial para armazenas diferenças"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, fuzzy, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4979,129 +4996,141 @@ msgstr ""
 "\n"
 "Detalles: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Iniciando modo de visualização 3D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 #, fuzzy
 msgid "Please wait, loading data..."
 msgstr "Por favor espere, cargando datos..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "Por favor espere, cargando datos..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 #, fuzzy
 msgid "Switching back to 2D view mode..."
 msgstr "Alternar de volta para o modo de visualização 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 #, fuzzy
 msgid "Map Toolbar"
 msgstr "Barra de ferramentas do mapa"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Barra de herramientas del digitalizador vectorial"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
 #, fuzzy
-msgid "Digitize"
-msgstr "Digitalizar"
+msgid "No map layer selected. Operation canceled."
+msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 #, fuzzy
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Nenhum mapa vectorial foi seleccionado para edição."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 #, fuzzy
 msgid "No raster or vector map layer selected for querying."
 msgstr "Não foi seleccionado nenhum mapa vectorial para consulta."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Adicionar camada de texto"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 #, fuzzy
 msgid "Zoom to default region"
 msgstr "Zoom à região pré-definida"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 #, fuzzy
 msgid "Zoom to saved region"
 msgstr "Zoom à região guardada"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Zoom para a região computacional (definido com g.region)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 #, fuzzy
 msgid "Save display geometry to named region"
 msgstr "Guardar a geometria de visualização para a região designada"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Barra de ferramentas do digitalizador vectorial"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 #, fuzzy
 msgid "Render"
 msgstr "Render"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 #, fuzzy
 msgid "Enable/disable auto-rendering"
 msgstr "Activar/desactivar render automático"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 #, fuzzy
 msgid "Show comp. extent"
 msgstr "Mostrar comp. extent"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 #, fuzzy
 msgid "Show computational extent"
 msgstr "Exibir extensão computacional"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 #, fuzzy
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
@@ -5111,17 +5140,17 @@ msgstr ""
 "Mostrar/ocultar extensão da região (definido com g.region). Mostrar desenhos "
 "da região como quadrado azul dentro da região computada. "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 #, fuzzy
 msgid "Display mode"
 msgstr "Modo de exibição"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
 msgid ""
 "Align region extent based on display size from center point. Default value "
@@ -5131,18 +5160,18 @@ msgstr ""
 "padrão para visualização de novo mapa podem ser definidas no 'Definições do "
 "do utilizador de GUI'"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "Mostrar região"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 #, fuzzy
 msgid "Constrain display resolution to computational settings"
 msgstr "Restringir a resolução para as definições da máquina"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 #, fuzzy
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
@@ -5152,46 +5181,46 @@ msgstr ""
 "padrão para visualização de novo mapa podem ser definidas no 'Definições do "
 "do utilizador de GUI'"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 #, fuzzy
 msgid "Map scale"
 msgstr "Escala do mapa"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "Projeção indefinida (verifique as configurações)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "Erro na projeção (verifique as configurações)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 #, fuzzy
 msgid "Projection"
 msgstr "Projecção:"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 #, fuzzy
 msgid "Use defined projection"
 msgstr "Seleccionar projecção"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 #, fuzzy
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
@@ -5200,27 +5229,27 @@ msgstr ""
 "Reprojetar coordenadas mostradas na barra de status. Projeção pode ser "
 "definida no diálogo de preferências da interface gráfica (aba 'Display')"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 #, fuzzy
 msgid "Display geometry"
 msgstr "%d %s sem geometria"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 #, fuzzy
 msgid "Coordinates"
 msgstr "Coordenadas"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 #, fuzzy
 msgid "Extent"
 msgstr "Dimensão/amplitude"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Zoom para a região computacional (definido com g.region)"
@@ -5237,112 +5266,127 @@ msgstr "Consultar mapa(s) raster/vetorial selecionados"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Importanto feições do mapa %d..."
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Georrectifica rasters e mapas vectoriais"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Mostrar/ocultar escala e direcção Norte"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 #, fuzzy
 msgid "Show/hide legend"
 msgstr "Mostrar/ocultar legenda"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Mostrar/ocultar escala e direcção Norte"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analizar mapa"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "Medindo, perfilando, histogramando, ..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Medir distância"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Medir distância"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Mapa de perfil da superfície"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Criar histograma de imagem ou arquivo raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "Criar histograma de imagem ou arquivo raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Análise de rede"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Arrastar com o rato para pan"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "Arrastar e clicar com o rato para aproximar"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "Arrastar e clicar com o rato para afastar"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "Visualização 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 #, fuzzy
 msgid "Vector digitizer not available"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Sair da digitalização"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -6140,13 +6184,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "Quantização"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "Descrição"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 #, fuzzy
 msgid "Export"
@@ -6157,12 +6201,12 @@ msgstr "Exportar MPEG-1"
 msgid "Add time stamp"
 msgstr "Marca de tempo (timestamp)"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Adicionar grupo de camadas"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 msgid "Add text"
 msgstr "Adicionar texto"
 
@@ -6185,7 +6229,7 @@ msgid "Sample text"
 msgstr "Transectos de amostra"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 #, fuzzy
@@ -6203,7 +6247,7 @@ msgid "Choose image file"
 msgstr "Seleccionar archivo DXF:"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Teste"
@@ -6235,7 +6279,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Exportar MPEG-1"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -6244,14 +6288,14 @@ msgstr ""
 msgid "animation_"
 msgstr "Quantização"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "Coordenadas"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "Descripción"
@@ -6395,7 +6439,7 @@ msgstr "favor criar a moldura do mapa primeiro."
 msgid "Animation Tool settings"
 msgstr "Quantização"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6453,22 +6497,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Valor não válido: %s"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Remover camada do mapa"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Remover camada do mapa"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6508,7 +6552,7 @@ msgstr "Barra de ferramentas do mapa"
 msgid "Animation Toolbar"
 msgstr "Barra de ferramentas do mapa"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Barra de Ferramentas Diversos"
@@ -6553,8 +6597,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Mapa <%s> não encontrado"
@@ -6598,7 +6642,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "rectificar imagem ou raster"
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6622,37 +6666,37 @@ msgstr "Adicionar camadas selecionadas na árvore de camadas"
 msgid "No map series nor space-time dataset is added."
 msgstr "Criar novo mapa vectorial vazio"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, fuzzy, python-format
 msgid "Map <%s> not found."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6671,12 +6715,12 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 #, fuzzy
 msgid "Stop"
 msgstr "Superior"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6713,15 +6757,15 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Criar histograma de imagem ou arquivo raster"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 #, fuzzy
 msgid "Draw"
 msgstr "Desenhar"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 #, fuzzy
 msgid "Help"
 msgstr "Ajuda"
@@ -6739,21 +6783,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Seleccionar directorio de mapas de origen:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6782,651 +6826,651 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Marca de tempo (timestamp)"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Importar dados raster"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Importar dados vetoriais"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Importar dados raster"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Directorio de mapas:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Moldura do mapa"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Marca de tempo (timestamp)"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Criar/reconstruir topologia"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 #, fuzzy
 msgid "View"
 msgstr "Visualizar"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "Analisar"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "Quantização"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 #, fuzzy
 msgid "Perspective:"
 msgstr "Proyección:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 #, fuzzy
 msgid "Z-exag:"
 msgstr "Z-exag:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 #, fuzzy
 msgid "Look:"
 msgstr "Visualizar:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "esfera"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "Render"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 #, fuzzy
 msgid "top"
 msgstr "Superior"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "Restabelecer"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 #, fuzzy
 msgid "Reset to default view"
 msgstr "Regressar a visualização padrão"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Código"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "Renomear mapset"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 #, fuzzy
 msgid "Surface"
 msgstr "Superfície"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "Superficies de custo"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 #, fuzzy
 msgid "Vector"
 msgstr "Vector"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "3d raster"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 #, fuzzy
 msgid "Lighting"
 msgstr "Destacar"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 #, fuzzy
 msgid "Mode:"
 msgstr "Modo:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 #, fuzzy
 msgid "both"
 msgstr "ambos"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 #, fuzzy
 msgid "Shading:"
 msgstr "Sombreamento:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 #, fuzzy
 msgid "flat"
 msgstr "plano"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 #, fuzzy
 msgid "gouraud"
 msgstr "gouraud"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 #, fuzzy
 msgid "Set to all"
 msgstr "Seleccionar todo"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 #, fuzzy
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Transforma todos os valores de z para base=0"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "Anchura de línea"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "Resolução:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "Estilo"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 #, fuzzy
 msgid "wire"
 msgstr "arame"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 #, fuzzy
 msgid "surface"
 msgstr "Superfície"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "Fino:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 #, fuzzy
 msgid "Surface attributes"
 msgstr "Cambiar atributos"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 #, fuzzy
 msgid "Transparency"
 msgstr "Transparência"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 #, fuzzy
 msgid "map"
 msgstr "mapa"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 #, fuzzy
 msgid "unset"
 msgstr "Não-definido"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 #, fuzzy
 msgid "constant"
 msgstr "constante"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 #, fuzzy
 msgid "Reset"
 msgstr "Restabelecer"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "Regressar a visualização padrão"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "Cor:"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 #, fuzzy
 msgid "Horizontal X:"
 msgstr "Ângulo do horizonte"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 #, fuzzy
 msgid "Horizontal Y:"
 msgstr "Ângulo do horizonte"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 #, fuzzy
 msgid "Rotation:"
 msgstr "Rotación:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Novo"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "Resolução:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "Volumes"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "Transparência"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 #, fuzzy
 msgid "Show vector lines"
 msgstr "Tipo de vetor desconhecido"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 #, fuzzy
 msgid "Vector lines"
 msgstr "Linhas vectoriais"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 #, fuzzy
 msgid "Line:"
 msgstr "linha %d: <%s>"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 #, fuzzy
 msgid "width:"
 msgstr "Largura:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 #, fuzzy
 msgid "color:"
 msgstr "Cor:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 #, fuzzy
 msgid "use color for thematic mapping"
 msgstr "Classifica dados de atributos, e.g. para \"mapping\" temático"
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 #, fuzzy
 msgid "use width for thematic mapping"
 msgstr "Classifica dados de atributos, e.g. para \"mapping\" temático"
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Estabelecer opções"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 #, fuzzy
 msgid "Display"
 msgstr "Mostrar"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "Sobre a superfície"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 #, fuzzy
 msgid "Height above surface:"
 msgstr "Altura sobre superfície:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 #, fuzzy
 msgid "Show vector points"
 msgstr "%d pontos além do limite"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 #, fuzzy
 msgid "Vector points"
 msgstr "%d raster%s, %d vetor%s\n"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 #, fuzzy
 msgid "Icon:"
 msgstr "Tamanho do ícone"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 #, fuzzy
 msgid "use size for thematic mapping"
 msgstr "Classifica dados de atributos, e.g. para \"mapping\" temático"
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 #, fuzzy
 msgid "3D raster map"
 msgstr "3º mapa raster"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 #, fuzzy
 msgid "isosurfaces"
 msgstr "Isosuperfícies"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 #, fuzzy
 msgid "Resolution:"
 msgstr "Resolução:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 #, fuzzy
 msgid "List of isosurfaces"
 msgstr "Lista de isosuperfícies"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 #, fuzzy
 msgid "Show light model"
 msgstr "Mostrar linhas"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 #, fuzzy
 msgid "Light source position"
 msgstr "Seleccionar localización de origen:"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 #, fuzzy
 msgid "Brightness:"
 msgstr "Riqueza"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "    3:  Onda de cores variadas\n"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "usar| coordenada X"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Adicionar barra de escala"
@@ -7863,15 +7907,15 @@ msgstr "Falha abrindo arquivo dig de entrada."
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, fuzzy, python-format
 msgid "Raster map <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "Mapa <%s> não encontrado"
@@ -7882,12 +7926,14 @@ msgid "3d raster map <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Importar dados raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "Fazer link com dados raster externos"
 
@@ -7903,12 +7949,14 @@ msgid "Set raster output format"
 msgstr "Seleccionar tipo de letra"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Importar dados vetoriais"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "Fazer link com dados vetoriais externos"
 
@@ -7932,7 +7980,7 @@ msgstr "Descarga e importa datos de servidores WMS."
 msgid "Add command layer"
 msgstr "Adicionar camada de comandos"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Sair"
@@ -8045,217 +8093,220 @@ msgstr "Exportar mapa vectorial"
 msgid "Export PostGIS"
 msgstr "Exportar modelo para script Python"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Não consegui criar a tabela %s"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Criar RGB"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr ""
 "Elimina archivos de elementos de bases de datos del directorio de mapas "
 "actual del usuario."
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 #, fuzzy
 msgid "Set color table"
 msgstr "Definir tabela de cores"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 #, fuzzy
 msgid "Show attribute data"
 msgstr "Mostrar dados de atributos"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 #, fuzzy
 msgid "Start editing"
 msgstr "Iniciar a edição"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 #, fuzzy
 msgid "Stop editing"
 msgstr "Parar a edição"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 #, fuzzy
 msgid "Rebuild topology"
 msgstr "Criar/reconstruir topologia"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 #, fuzzy
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Zum"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Recodificar de forma interactiva"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 #, fuzzy
 msgid "Histogram"
 msgstr "Histograma"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 #, fuzzy
 msgid "Univariate raster statistics"
 msgstr "Estatística Univariada de raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Relatório e estatística"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 #, fuzzy
 msgid "Profile"
 msgstr "Perfil"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 #, fuzzy
 msgid "Unable to create profile of raster map."
 msgstr "Não é possivel criar um perfil dos mapas raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "Região inválida"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Tipo de camada de mapa não suportado '%s'"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Insira nome para novo mapset:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Definir opacidade <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 #, fuzzy
 msgid "Overwrite?"
 msgstr "Sobrepor arquivo?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "Não é possível disponibilizar o histograma do mapa raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, fuzzy, python-format
 msgid "Set opacity of <%s>"
 msgstr "Definir opacidade <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 #, fuzzy
 msgid "Layer group:"
 msgstr "Grupo de camadas"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 #, fuzzy
 msgid "Click to edit layer settings"
 msgstr "Clicar para editar as definições da camada"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 #, fuzzy
 msgid "(double click to set properties)"
 msgstr "Duplo click para definir propriedades"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 #, fuzzy
 msgid "Please wait, updating data..."
 msgstr "Por favor aguarde, a actualizar dados..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "Gestor de camadas do SIG GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "Barra de Ferramentas Área de trabalho (Workspace)"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "Barra de Ferramentas Dados"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "Barra de ferramentas Ferramentas"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Barra de ferramentas de Nviz"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "Mostrar"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Camadas do mapa"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Console de comandos"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "Buscar módulo"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Cambiar nombre de la localización seleccionada"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "shell python"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -8263,12 +8314,12 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "Criar nova location?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -8277,197 +8328,198 @@ msgstr ""
 "Locação atual é <%(loc)s>.\n"
 "Mapset atual é <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 #, fuzzy
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 "¿Quiere establecer la extensión y resolución de la región predeterminada "
 "ahora?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, fuzzy, python-format
 msgid "Location <%s> created"
 msgstr "Location <%s> criada"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Escolha o modelo para rodar"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Quer gravar as mudanças no espaço de trabalho?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Quer armazenar as configurações atuais no arquivo de área de trabalho?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "Fechar Display de Mapa %d"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "Camada de mapa selecionada não é vetorial."
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 "Edição permitida apenas para mapas vetoriais do conjunto de mapas (mapset) "
 "atual."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "Escolha o arquivo de script para rodar"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Script Python (*.py)|*.py|Script Bash (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Arquivo de script '%s' não existe. Operação cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "Definir Região"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "Valor de coordenada inválido. Operação cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Lançando script '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Insira nome para novo mapset:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Criar novo mapset:"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "Mapset atual é <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Alterar ambiente de trabalho"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "desconocido"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "Projecção:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "Construtor SQL"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -8475,61 +8527,61 @@ msgstr ""
 "Área de trabalho atual não vazia. Quer gravar configurações atuais no "
 "arquivo de área de trabalho?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "Criar nova área de trabalho?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Escolha o arquivo de área de trabalho"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "Arquivo de área de trabalho GRASS (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Favor aguarde, carregando área de trabalho..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Escolha o arquivo GRC para carregar"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Arquivo de área de trabalho antigo do GRASS (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Escolher arquivo para gravar área de trabalho atual"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "Arquivo de área de trabalho <%s> já existe. ¿Quer sobreescrever este arquivo?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Gravar área de trabalho"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 "Escrita das configurações atuais no arquivo de área de trabalho falhou."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "Insira nome para novo mapset:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS Visualização de mapas:"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, fuzzy, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8537,32 +8589,32 @@ msgid ""
 "Reason: %s"
 msgstr "Não consegui carregar o tema de ícones. Motivo: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Não é possível inserir novo registo."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Não é possível inserir novo registo."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr "Adicionar camadas selecionadas na árvore de camadas"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Tipo de camada de mapa não suportado '%s'"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8573,70 +8625,65 @@ msgstr ""
 "%s\n"
 "da árvore de camadas?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 "Pretende remover a(s) camada(s) de mapa selecionadas da árvore de camadas?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Remover camada do mapa"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Sair da interface gráfica do GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr "Bem vindo ao shell Python Interativo do wxGUI %s"
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr "Digite %s para mais informações relacionadas a scripts GRASS."
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr "Digite %s para adicionar vetores ou rasters à árvore de camadas"
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr "Apague todo o texto do shell"
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "Novo mapa vazio foi criado."
@@ -8707,7 +8754,7 @@ msgstr "Importar/ligar dados raster ou vetoriais"
 msgid "Raster Map Calculator"
 msgstr "Calculadora de mapa raster"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "Modelador Gráfico"
 
@@ -8812,7 +8859,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignorar erros SQL e continuar"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 #, fuzzy
 msgid "Apply changes and close dialog"
 msgstr "Impossível fechar mapa de entrada"
@@ -9208,29 +9255,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Erro na digitalização de vector"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, fuzzy, python-format
 msgid "New vector map <%s> created"
 msgstr "Novo mapa vazio foi criado."
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
@@ -9442,7 +9489,7 @@ msgstr "Barra de herramientas del digitalizador vectorial"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Ferramentas adicionais (copiar, espelhar, conectar, etc)."
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Desfazer"
 
@@ -9530,7 +9577,7 @@ msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 #, fuzzy
 msgid "Select vector map"
 msgstr "Seleccionar mapa vectorial"
@@ -9560,11 +9607,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Valor de coordenada inválido. Operação cancelada."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Barra de herramientas del digitalizador vectorial"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, fuzzy, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9591,188 +9633,188 @@ msgstr "Encerrar o diálogo/janela quando finalizar"
 msgid "New vector map"
 msgstr "Novo mapa vectorial"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 #, fuzzy
 msgid " Server settings "
 msgstr "ráster"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 #, fuzzy
 msgid "&Connect"
 msgstr "Ligar"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Configuração avançada"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Configuração avançada"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Definições do gestor de camadas"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Nome do mapa vetor de entrada"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Alterar nome"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Adicionar camada de grelha"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 #, fuzzy
 msgid "&Add layer"
 msgstr "&Adicionar camada"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Adicionar camadas selecionadas na árvore de camadas"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Propriedades Nviz"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Nome para o mapa raster de saída:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Definir Região"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Mostrar mapa"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Cargar región:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Restringir a resolução para as definições da máquina"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Sobrescrever o arquivo existente"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Cargar región:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "Remover camada do mapa"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Adicionar camada de grelha"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr ""
 "Elimina archivos de elementos de bases de datos del directorio de mapas "
 "actual del usuario."
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Novo mapa vazio foi criado."
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Carregando dados..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "não está inicializado"
@@ -9887,7 +9929,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 #, fuzzy
 msgid "Layer name"
 msgstr "Nombre de capa"
@@ -9904,8 +9947,8 @@ msgstr "Estilo"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Adicionar grupo de camadas"
+msgid "Add default"
+msgstr "Padrão"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9914,171 +9957,178 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "Seleccione a directoria de dados GRASS:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Seleccionar tipo de mapa y localización/direcctorio de mapas"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "uso: %s arquivo de elementos locação mapset."
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 #, fuzzy
 msgid "&Browse"
 msgstr "Explorar"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr "Nome da nova locação a criar"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Renomear location seleccionada"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Apagar"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Apagar location seleccionada"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 #, fuzzy
 msgid "&Rename"
 msgstr "&Renomear"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Cambiar nombre del directorio de mapas seleccionado"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Apagar"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Apagar mapset seleccionado"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Gestor de camadas do SIG GRASS"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Entre na sessão GRASS"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "Vetor de entrada '%s' não encontrado"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "Vetor de entrada '%s' não encontrado"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Erro:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Importar dados raster"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "Pretende criar uma GRASS location <%s>?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "vectorial."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, fuzzy, python-format
 msgid ""
 "Current name: %s\n"
@@ -10088,7 +10138,7 @@ msgstr ""
 "Nome actual: %s\n"
 "Insira novo nome:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -10096,7 +10146,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr "Foi impossível criar <%s> tabela de interpolação na base de dados"
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -10104,7 +10154,7 @@ msgid ""
 "%s"
 msgstr "Não é possível renomear mapset"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -10112,7 +10162,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr "Foi impossível criar <%s> tabela de interpolação na base de dados"
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -10120,14 +10170,14 @@ msgid ""
 "%s"
 msgstr "Não é possível renomear location"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -10140,11 +10190,11 @@ msgstr ""
 "\n"
 "TODOS os MAPAS incluidos neste MAPSET serão APAGADOS DEFINITIVAMENTE!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Não é possível apagar mapset"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -10155,33 +10205,33 @@ msgstr ""
 "\n"
 "TODOS os MAPAS incluidos neste lcoation serão APAGADOS!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Não é possível apagar location"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "Escolher directoria para dados GIS:"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -10190,17 +10240,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Cambiar nombre del directorio de mapas seleccionado"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Não é possível criar novo mapset: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -10212,11 +10262,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -10224,7 +10274,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -10232,43 +10282,174 @@ msgid ""
 "Details: %(reason)s"
 msgstr "Mapa vetorial para armazenas diferenças"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "Região inválida"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "&Arquivo"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Crear nuevo mapa vectorial"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Área de trabalho (workspace)"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Mapa raster recodificado:"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Criar nova área de trabalho"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Seleccionar mapa vectorial"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Abrir"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Mapa raster recodificado:"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Calcula el índice de forma en un mapa ráster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "favor criar a moldura do mapa primeiro."
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "vectorial?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Guardar cambios"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Não é possivel criar um perfil dos mapas raster"
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "No se puede crear el mapa vectorial <%s>."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Render"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Utilitário de interpolação bilinear para camadas de mapas raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Digitalizar"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Digitalizar nova linha"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Digitalizar novo ponto"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Nome do mapa raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Sair da digitalização"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Seleccionar mapa raster:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Valores de célula"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "Mapa raster"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "&Arquivo"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Área de trabalho (workspace)"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Criar nova área de trabalho"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Abrir"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
 msgstr "Carregar área de trabalho de arquivo"
 
 #: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/modules/colorrules.py:419
 msgid "Save"
 msgstr "Gravar"
 
@@ -11118,7 +11299,7 @@ msgstr "Modelador gráfico"
 msgid "Launch Graphical modeler"
 msgstr "Lançar modelador gráfico"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Executar modelo"
 
@@ -11185,7 +11366,7 @@ msgstr "Descrição de camada"
 msgid "Launches script file."
 msgstr "Lança arquivo de script."
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Fechar"
@@ -11195,8 +11376,8 @@ msgstr "Fechar"
 msgid "Quit wxGUI session."
 msgstr "Sai de sessão wxGUI"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Sair da interface gráfica do GRASS"
@@ -13045,8 +13226,8 @@ msgid "Develop vector map"
 msgstr "Título do mapa vetorial"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 #, fuzzy
 msgid "Create new vector map"
 msgstr "Crear nuevo mapa vectorial"
@@ -15386,15 +15567,15 @@ msgstr "Exibir extensão computacional"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "Modo portátil"
+msgstr "Criar histograma de imagem ou arquivo raster"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Exibir extensão computacional"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
 msgid "&Help"
 msgstr "Ajuda"
@@ -15527,159 +15708,168 @@ msgstr "Adicionar grupo de camadas"
 msgid "Adds loop (series) to model"
 msgstr "Adicionar loop (for) ao modelo"
 
+#: ../gui/wxpython/menustrings.py:1959
+#, fuzzy
+msgid "Add condition"
+msgstr "Opcional"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Adiciona condicional (se/então) ao modelo"
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Adiciona condicional (se/então) ao modelo"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 #, fuzzy
 msgid "Remove item"
 msgstr "Eliminar tabela"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "Remove ação/dado do modelo"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Propriedades do modelo (nome, objetivo, etc.)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 #, fuzzy
 msgid "Delete intermediate data"
 msgstr "Apagar filtrado"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "Apaga dados intermediários definidos no modelo"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Rodar o modelo inteiro"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Validar modelo"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Validar o modelo inteiro"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 #, fuzzy
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Mostrar as páginas de manual GRASS em HTML"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "Sobre o Modelador Gráfico"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 #, fuzzy
 msgid "Display information about Graphical Modeler"
 msgstr "Muestra información básica sobre una capa de mapa ráster."
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "No é possível ler a lista: %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Exportar mapa vectorial"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Exportar modelo para script Python"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "Exportar MPEG-1"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Descrição de camada"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Sair do modelador gráfico"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "desenhar borda ao redor da moldura do mapa"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Adicionar mapa raster"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "Adicionar mapa vetorial"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Adicionar legenda"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Importar mapa raster"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Adicionar info do mapa"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Adicionar barra de escala"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Adicionar barra de escala e seta de norte"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Mostrar as páginas de manual GRASS em HTML"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Sair do modelador gráfico"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Muestra información básica sobre una capa de mapa ráster."
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -15694,114 +15884,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Criar histograma de imagem ou arquivo raster"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "Definições raster"
+msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Coluna de atributo:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Seleccionar mapa raster 3 (opcional):"
+msgstr "Importanto feições do mapa %d..."
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Modo portátil"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Região inválida"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -16016,12 +16206,12 @@ msgstr "Declaração SQL"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr "EmbedGivenNulls: tipo errado de dados!"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 #, fuzzy
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Gestor das tabelas de atributos do GRASS GIS"
@@ -16151,7 +16341,7 @@ msgid "Field calculator"
 msgstr "Calculadora de mapas"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "Adicionar colunas"
@@ -16266,16 +16456,16 @@ msgstr "Apagar registro(s) seleccionado(s)"
 msgid "Delete all records"
 msgstr "Apagar todos os registos"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 #, fuzzy
 msgid "Select all"
 msgstr "Seleccionar todo"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 #, fuzzy
 msgid "Deselect all"
 msgstr "Desceleccionar todo"
@@ -16471,7 +16661,7 @@ msgid "Driver"
 msgstr "Driver"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 #, fuzzy
 msgid "Database"
 msgstr "Base de dados"
@@ -16619,279 +16809,279 @@ msgstr "No se puede crear la nueva localización"
 msgid "Field statistics <%s>"
 msgstr "Estatísticas gerais"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "Fechar tudo"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "Fechar tudo"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "Consultar datos de vectorial"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 #, fuzzy
 msgid "Select vector map:"
 msgstr "Seleccionar mapa vectorial:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "Definir tabela de cores"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "Escolha o arquivo GRC para carregar"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 #, fuzzy
 msgid "Load"
 msgstr "Carregar"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "Escolha o arquivo GRC para carregar"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "Configuração"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Gravar workspace para arquivo"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "Gravar workspace para arquivo"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "Gravar workspace para arquivo"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "Regressar a visualização padrão"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 #, fuzzy
 msgid "Preview"
 msgstr "Vista prévia"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 #, fuzzy
 msgid "Nothing to save."
 msgstr "Nada para apagar"
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Definir tabela de cores"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr "Valor de regra '%s' inválido. Não posso aplicar tabela de cores."
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 #, fuzzy
 msgid "Create new color table for raster map"
 msgstr "Utilitário de interpolação bilinear para camadas de mapas raster"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 #, fuzzy
 msgid "Enter raster category values or percents"
 msgstr "Mapa 3dcell com valores de referência"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 #, fuzzy
 msgid "fp range"
 msgstr "Intervalo válido"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, fuzzy, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr "Mapa 3dcell com valores de referência"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "suporte da categoria para arquivo de vetores [%s] no mapset [%s] %s"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr ""
 "Coluna da tabela de atributos com valores para interpolar (se camada > 0)"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "Consultar datos de vectorial"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "Seleccionar mapa vectorial"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 #, fuzzy
 msgid "Layer:"
 msgstr "Camada:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 #, fuzzy
 msgid "Attribute column:"
 msgstr "Coluna de atributo:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "Coluna de cor RGB:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "Coluna de cor RGB:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "Salva todos os quadros"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "Series raster para volume"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "Carregar workspace de arquivo"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Carregando dados da tabela de atributos ... "
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "Definir tabela de cores"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr "vectorial."
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "<%s> criados na base de dados."
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, fuzzy, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "Por favor aguarde, carregando dados de atributo..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr ""
 "Coluna da tabela de atributos com valores para interpolar (se camada > 0)"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr ""
 "Coluna da tabela de atributos com valores para interpolar (se camada > 0)"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "Ferramentas para limpar a topologia de mapas vectoriais."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -16943,23 +17133,23 @@ msgstr "Plotar/recarregar variograma"
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "Técnicas de krigagem"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Tamanho do bloco:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Modelo:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Em construção! Funcionalidade não fornecida."
 
@@ -17195,7 +17385,7 @@ msgid "Save expression to file"
 msgstr "Gravar workspace para arquivo"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 #, fuzzy
 msgid "&Load"
 msgstr "Carregar"
@@ -17206,7 +17396,7 @@ msgid "Load expression from file"
 msgstr "Carregar workspace de arquivo"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 #, fuzzy
 msgid "Copy the current command string to the clipboard"
 msgstr "Copiar o texto do comando actual para a área de trabalho (clipboard)"
@@ -17388,123 +17578,302 @@ msgstr "Escolha o arquivo GRC para carregar"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' copiado para a área de trabalho (clipboard)"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:43
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Permitir aos arquivos de saída a sobrescrever arquivos existentes"
+msgid "Multiple import"
+msgstr "Importación de DXF múltiple"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
+#: ../gui/wxpython/modules/import_export.py:60
 #, fuzzy
-msgid "Options"
-msgstr "Opcional"
-
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr ""
+msgid "List of raster layers"
+msgstr "Lista de camadas"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:62
+#, fuzzy
+msgid "List of vector layers"
+msgstr "Lista de camadas"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "uma lista longa"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+#, fuzzy
+msgid "Layer id"
+msgstr "Camada"
 
-#: ../gui/wxpython/modules/extensions.py:168
+#: ../gui/wxpython/modules/import_export.py:70
 #, fuzzy
-msgid "Extension not defined"
-msgstr "destino mapwin não definido"
+msgid "Name for output GRASS map (editable)"
+msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "Projecção:"
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+#, fuzzy
+msgid "Close dialog on finish"
+msgstr "Encerrar o diálogo/janela quando finalizar"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
 #, fuzzy
-msgid "Show manual page"
-msgstr "Mostrar manual"
+msgid "&Import"
+msgstr "&Importar"
 
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "No se puede analizar la orden %s"
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+#, fuzzy
+msgid "Import selected layers"
+msgstr "Importar las capas seleccionadas"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Gestão de projecções"
+msgid "Source settings"
+msgstr "ráster"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "Lista de categorías"
+msgid "Import settings"
+msgstr "Configuração do tipo de letra"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Uninstall"
-msgstr "Lista de categorías"
+msgid "Add linked layers into layer tree"
+msgstr "Añadir las capas importadas al árbol de capas"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Gestão de projecções"
+msgid "Add imported layers into layer tree"
+msgstr "Añadir las capas importadas al árbol de capas"
 
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+#, fuzzy
+msgid "&Link"
+msgstr "linha %d: <%s>"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Gestão de projecções"
+msgid "Link selected layers"
+msgstr "Modificar camaad seleccionada"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "No layers selected. Operation canceled."
 msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
 
-#: ../gui/wxpython/modules/extensions.py:427
-#, python-format
-msgid ""
-"List of files to be removed:\n"
-"%(files)s\n"
-"\n"
-"Do you want really to remove <%(ext)s> extension?"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "Remove extension"
+msgid "Unable to determine number of raster bands"
+msgstr "Não é possivel criar um perfil dos mapas raster"
+
+#: ../gui/wxpython/modules/import_export.py:591
+#, fuzzy
+msgid "Define output format for vector data"
+msgstr "Importar mapa vectorial"
+
+#: ../gui/wxpython/modules/import_export.py:593
+#, fuzzy
+msgid "Define output format for raster data"
+msgstr "Importar mapa raster"
+
+#: ../gui/wxpython/modules/import_export.py:601
+#, fuzzy
+msgid "Set external format and close dialog"
+msgstr "Ignorar erros SQL e continuar"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
+
+#: ../gui/wxpython/modules/import_export.py:667
+#, fuzzy
+msgid "Import DXF layers"
+msgstr "Importar camadas DXF"
+
+#: ../gui/wxpython/modules/import_export.py:671
+#, fuzzy
+msgid "Choose DXF file to import"
+msgstr "Seleccionar archivo DXF a importar"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Projecção:"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Nombre para el nuevo mapa vectorial:"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Camada a apagar"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importar las capas seleccionadas"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Permitir aos arquivos de saída a sobrescrever arquivos existentes"
+
+#: ../gui/wxpython/modules/extensions.py:71
+#, fuzzy
+msgid "Options"
+msgstr "Opcional"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+#, fuzzy
+msgid "Extension not defined"
+msgstr "destino mapwin não definido"
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Lista de categorías"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Mostrar manual"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "No se puede analizar la orden %s"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Gestão de projecções"
+
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "Lista de categorías"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "Lista de categorías"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Gestão de projecções"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Gestão de projecções"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
+
+#: ../gui/wxpython/modules/extensions.py:428
+#, python-format
+msgid ""
+"List of files to be removed:\n"
+"%(files)s\n"
+"\n"
+"Do you want really to remove <%(ext)s> extension?"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:431
+#, fuzzy
+msgid "Remove extension"
 msgstr "Eliminar vértice"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "Emissão"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 #, fuzzy
 msgid "Please wait, exporting image..."
 msgstr "Por favor aguarde, a actualizar dados..."
@@ -17655,7 +18024,7 @@ msgid ""
 msgstr "No se puede crear el mapa vectorial <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Mapa <%s> não encontrado"
@@ -17695,11 +18064,6 @@ msgstr "Importación de archivo binario"
 msgid "Export training areas"
 msgstr "Exportar mapa vectorial"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Não consegui criar a tabela %s"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -17728,22 +18092,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Carregando mapas raster"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Carregando mapas raster"
@@ -17788,158 +18152,158 @@ msgstr "EmbedGivenNulls: tipo errado de dados!"
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Barra de ferramentas de georrectificação"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Barra de ferramentas Ferramentas"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Barra de Ferramentas Diversos"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Definições da digitalização"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Imprimir display"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Mostrar"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 #, fuzzy
 msgid "Adjust Training Area Display to Preview Display"
 msgstr "Ajustar display destino para display origem"
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 #, fuzzy
 msgid "Adjust Preview display to Training Area Display"
 msgstr "Ajustar display origem para display destino"
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Mostrar região"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Mostrar região"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 #, fuzzy
 msgid "Import vector map"
 msgstr "Exportar mapa vectorial"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Nada para extrair."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Analisar"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Valor de coordenada inválido. Operação cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "Se necesitan al menos %d GCP. Operación cancelada."
@@ -18466,19 +18830,141 @@ msgstr "Erro RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "CAlculador de mapas GRASS %s "
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "No é possível ler a lista: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "No é possível ler a lista: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Alterar nome"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Renomear mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Validando o modelo..."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Rodando modelo..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Não é possível ler os códigos EPSG: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Copiar tabela"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Rodando modelo..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Pretende criar uma GRASS location <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Apagar mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Apagar"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Mostrar"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Copiar"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "Raster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Mostrar mapa"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 #, fuzzy
 msgid "Show text object"
 msgstr "Mostrar comp. extent"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 #, fuzzy
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
@@ -18487,72 +18973,91 @@ msgstr ""
 "Arrastrar texto con el ratón en modo puntero a la posición.\n"
 "Doble pulsación para cambiar las opciones."
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Legenda"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Adicionar barra de escala"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Adicionar barra de escala e seta de norte"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s' copiado para a área de trabalho (clipboard)"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Mostrar mapa"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' copiado para a área de trabalho (clipboard)"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Mostrar configuração"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Añadir sobreposições"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Séries de raster"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 #, fuzzy
 msgid "Zoom to saved region extents"
 msgstr "Zoom para a extensão da região guardada"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, fuzzy, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 #, fuzzy
 msgid "Save display extents to region file"
 msgstr "Guardar a geometria de visualização para a região designada"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Definir região a partir da região exibida"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, fuzzy, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -18652,611 +19157,501 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 #, fuzzy
 msgid "Select GRASS location and mapset"
 msgstr "uso: %s arquivo de elementos locação mapset."
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "origem mapwin não definida"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 #, fuzzy
 msgid "Name of GRASS location:"
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 #, fuzzy
 msgid "Name of mapset:"
 msgstr "Renomear mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 #, fuzzy
 msgid "Select mapset in GRASS location"
 msgstr "Seleccionar tipo de mapa y localización/direcctorio de mapas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "Renomear mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 #, fuzzy
 msgid "Create attribute table"
 msgstr "Não consegui criar a tabela %s"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 #, fuzzy
 msgid "Add created map into layer tree"
 msgstr "Adicionar mapa criado à árvore de camadas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 #, fuzzy
 msgid "Name for new vector map:"
 msgstr "Nombre para el nuevo mapa vectorial:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 #, fuzzy
 msgid "Key column:"
 msgstr "Cambiar nombre de columna"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, fuzzy, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "No se puede crear el mapa vectorial <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr "El archivo de región <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 #, fuzzy
 msgid "Load region:"
 msgstr "Cargar región:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 #, fuzzy
 msgid "Save region:"
 msgstr "Guardar región:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "Criar/editar grupo"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "Impossível fechar mapa de entrada"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "ask_transform_coord():  Encerrando sessão.. \n"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 #, fuzzy
 msgid "Close dialog, changes are not applied"
 msgstr "Habilitar relatório de cache"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "ASTER"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 #, fuzzy
 msgid "List of maps:"
 msgstr "Lista de mapas:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 #, fuzzy
 msgid "Select map layers and add them to the list."
 msgstr "Camada de mapa selecionada não é vetorial."
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr ""
 "Pretende remover a(s) camada(s) de mapa selecionadas da árvore de camadas?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "Adicionar camadas selecionadas na árvore de camadas"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "Guardar cambios"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, fuzzy, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "vectorial."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "Tipo de capa de mapa:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "Seleccionar color"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 #, fuzzy
 msgid "Mapset:"
 msgstr "Directorio de mapas:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
 msgid "Invert selection"
 msgstr "Cambiar nombre de la localización seleccionada"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-#, fuzzy
-msgid "Multiple import"
-msgstr "Importación de DXF múltiple"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Lista de camadas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Lista de camadas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "uma lista longa"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "Camada"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Nombre para el nuevo mapa vectorial:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Projecção:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-#, fuzzy
-msgid "Close dialog on finish"
-msgstr "Encerrar o diálogo/janela quando finalizar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-#, fuzzy
-msgid "&Import"
-msgstr "&Importar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-#, fuzzy
-msgid "Import selected layers"
-msgstr "Importar las capas seleccionadas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Añadir las capas importadas al árbol de capas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-#, fuzzy
-msgid "Add imported layers into layer tree"
-msgstr "Añadir las capas importadas al árbol de capas"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-#, fuzzy
-msgid "&Link"
-msgstr "linha %d: <%s>"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-#, fuzzy
-msgid "Link selected layers"
-msgstr "Modificar camaad seleccionada"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Não é possivel criar um perfil dos mapas raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Importar mapa vectorial"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Importar mapa raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Ignorar erros SQL e continuar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-#, fuzzy
-msgid "Import DXF layers"
-msgstr "Importar camadas DXF"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-#, fuzzy
-msgid "Choose DXF file to import"
-msgstr "Seleccionar archivo DXF a importar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 #, fuzzy
 msgid "Set Map Layer Opacity"
 msgstr "Establecer opacidad de la capa de mapa"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 #, fuzzy
 msgid "opaque"
 msgstr "opaco"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 #, fuzzy
 msgid "Image size"
 msgstr "Tamanho do ícone"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "Utilidad de salida de mapas PostScript Hardcopy."
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "Declaração SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "Símbolo:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "Configuração de símbolos"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "Configuração de símbolos"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 #, fuzzy
 msgid "Not selectable element"
 msgstr "Nome da coluna de atributos"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Mapset"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Tipo"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "Definições do mapa"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "ráster"
+msgid "Source input"
+msgstr "Nome da coluna"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "Gravar"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 #, fuzzy
 msgid "File"
 msgstr "Arquivo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 #, fuzzy
 msgid "Directory"
 msgstr "Descripción"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "Saída"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 #, fuzzy
 msgid "All files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Valores de célula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 #, fuzzy
 msgid "File:"
 msgstr "Arquivo"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "Seleccionar archivo DXF a importar"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 #, fuzzy
 msgid "Choose input directory"
 msgstr "Erro no formato de entrada"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 #, fuzzy
 msgid "Extension:"
 msgstr "Emissão"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 #, fuzzy
 msgid "Choose file"
 msgstr "Seleccionar archivo DXF:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "ID de característica:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Consulta às características"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Criar/reconstruir topologia"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "Estabelecer opções"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 #, fuzzy
 msgid "Protocol:"
 msgstr "Código de projecção:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Barra de ferramentas do digitalizador vectorial"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Destacar"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Mapa <%s> não encontrado"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -19391,6 +19786,7 @@ msgid "Module dialog style:"
 msgstr "Definições da janela de comandos"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 #, fuzzy
 msgid "Map Display"
 msgstr "Mostrar"
@@ -19498,7 +19894,7 @@ msgstr "    3:  Onda de cores variadas\n"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 #, fuzzy
 msgid "Transparent"
 msgstr "Transparente"
@@ -19802,6 +20198,49 @@ msgstr "Teste de normalidade"
 msgid "Nothing found"
 msgstr "Nada para apagar"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Categoria"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Importanto feições do mapa %d..."
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Criar novo mapset:"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Nenhuma camada do mapa foi seleccionada. Operação cancelada."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "No se puede crear el mapa vectorial <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Novo mapa vazio foi criado."
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "No se puede crear el mapa vectorial <%s>."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Info"
@@ -19849,6 +20288,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr "Projecção:"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -19922,117 +20365,117 @@ msgstr ""
 msgid "&Previous"
 msgstr "Vista prévia"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 #, fuzzy
 msgid "Enter parameters for '"
 msgstr "Introduzir parâmetro para "
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 #, fuzzy
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Cláusula WHERE do comando SQL sem palavra-chave 'where'"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 #, fuzzy
 msgid "Run the command (Ctrl+R)"
 msgstr "Executar o comando"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 #, fuzzy
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Mostrar página do manual relativa ao comando"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 #, fuzzy
 msgid "Add created map(s) into layer tree"
 msgstr "Adicionar mapa criado à árvore de camadas"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, fuzzy, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' copiado para a área de trabalho (clipboard)"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 #, fuzzy
 msgid "Required"
 msgstr "Parâmetros Obrigatórios"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 #, fuzzy
 msgid "Optional"
 msgstr "Opcional"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 #, fuzzy
 msgid "Parameterized in model"
 msgstr "Parâmetro não encontrado: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 #, fuzzy
 msgid "[multiple]"
 msgstr "[múltiplo]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 #, fuzzy
 msgid "valid range"
 msgstr "Intervalo válido"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, fuzzy, python-format
 msgid "Choose %s"
 msgstr "Seleccionar %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Renomear location"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Gravar como"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "Recodificar de forma interactiva"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 #, fuzzy
 msgid "Manual"
 msgstr "Manual"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "Nada para apagar"
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -20040,28 +20483,28 @@ msgid ""
 "Reason: %s"
 msgstr "Não consegui carregar o tema de ícones. Motivo: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "Guardar arquivo como..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Não foi seleccionada nenhuma camada de mapa para consulta."
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "No se puede analizar la orden %s"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -20124,70 +20567,82 @@ msgstr "Alterar nível de opacidade"
 msgid "Change layer opacity"
 msgstr "Alterar nível de opacidade"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 #, fuzzy
 msgid "Fulltext search"
 msgstr "Extensão total"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Perfil"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "Gravar configurações actuais?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "Apagar mapset seleccionado"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
+#: ../gui/wxpython/gui_core/widgets.py:1190
 #, fuzzy
-msgid "Load settings:"
-msgstr "Mostrar configuração"
+msgid "Load:"
+msgstr "Carregar"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "Mapa <%s> não encontrado"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "ráster"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 "El archivo de entorno de trabajo <%s> ya existe. ¿Quiere sobrescribirlo?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "Nenhuma camada de mapa foi selecionada. Operação cancelada."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "No se puede analizar la orden %s"
@@ -20293,11 +20748,11 @@ msgstr "Criar histograma de imagem ou arquivo raster"
 msgid "Select graphics tool"
 msgstr "Seleccionar tipo de letra padrão"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Executar o comando"
@@ -20315,6 +20770,26 @@ msgstr "Executar o comando"
 #~ msgstr "Sair do GUI"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Região inválida"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Barra de ferramentas do digitalizador vectorial"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Validando o modelo..."
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "Alterar nome"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Copiar tabela"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Lista de camadas"
 
@@ -20331,19 +20806,28 @@ msgstr "Executar o comando"
 #~ msgstr "Estatística Univariada de raster"
 
 #, fuzzy
-#~ msgid "Add condition"
-#~ msgstr "Opcional"
+#~ msgid "Load settings:"
+#~ msgstr "Mostrar configuração"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Adiciona condicional (se/então) ao modelo"
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Importação de vectores do antigo GRASS"
 
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Añadir las capas importadas al árbol de capas"
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Importação de vectores do antigo GRASS (todos os mapas)"
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Importa todas as versões antigas de mapas vetoriais do GRASS no mapset "
+#~ "atual para o formato atual."
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Añadir las capas importadas al árbol de capas"
+#~ msgid "GPS data import"
+#~ msgstr "Importação de GPS de GPSBabel"
+
+#~ msgid "GEOnet import"
+#~ msgstr "Importação de GEOnet"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -20368,30 +20852,6 @@ msgstr "Executar o comando"
 #~ msgid "Common export formats using OGR"
 #~ msgstr "Converter coordenadas"
 
-#, fuzzy
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr "mostrar"
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Importação de vectores do antigo GRASS"
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Importação de vectores do antigo GRASS (todos os mapas)"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Importa todas as versões antigas de mapas vetoriais do GRASS no mapset "
-#~ "atual para o formato atual."
-
-#, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "Importação de GPS de GPSBabel"
-
-#~ msgid "GEOnet import"
-#~ msgstr "Importação de GEOnet"
-
 #~ msgid "IDW from raster points (alternate method for sparse points)"
 #~ msgstr "IDW para pontos raster (método alternativo para pontos esparsos)"
 
@@ -20404,12 +20864,24 @@ msgstr "Executar o comando"
 #~ msgstr "Comparação de padrões de bits"
 
 #, fuzzy
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Gestor de tabela de atributos"
+
+#, fuzzy
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Seleccionar directorio de mapas de origen:"
+
+#, fuzzy
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr "mostrar"
+
+#, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "Nome da coluna (tipo deve ser numérico)"
 
 #, fuzzy
-#~ msgid "Volume"
-#~ msgstr "Volumes"
+#~ msgid "Add default servers"
+#~ msgstr "Adicionar grupo de camadas"
 
 #, fuzzy
 #~ msgid "Choose project location and mapset"
@@ -20490,10 +20962,29 @@ msgstr "Executar o comando"
 #~ msgstr "uso: %s arquivo de elementos locação mapset."
 
 #, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "Desenvolver mapa raster"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Añadir las capas importadas al árbol de capas"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Añadir las capas importadas al árbol de capas"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importa versões antigas de mapas vetoriais do GRASS."
+
+#, fuzzy
 #~ msgid "Vector to volume"
 #~ msgstr "Vectorial para volume"
 
 #, fuzzy
+#~ msgid "Sites to vector"
+#~ msgstr "Pontos ('sites' ) para vectorial"
+
+#, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "Calculador de mapa raster 3D"
 
@@ -20521,12 +21012,9 @@ msgstr "Executar o comando"
 #~ msgid "Voxel statistics"
 #~ msgstr "Estatísticas gerais"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importa versões antigas de mapas vetoriais do GRASS."
-
 #, fuzzy
-#~ msgid "Sites to vector"
-#~ msgstr "Pontos ('sites' ) para vectorial"
+#~ msgid "Volume"
+#~ msgstr "Volumes"
 
 #~ msgid ""
 #~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
@@ -20571,5 +21059,5 @@ msgstr "Executar o comando"
 #~ "ráster."
 
 #, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Gestor de tabela de atributos"
+#~ msgid "Digitize"
+#~ msgstr "Digitalizar"
diff --git a/locale/po/grasswxpy_ro.po b/locale/po/grasswxpy_ro.po
index 63edc43..30437ee 100644
--- a/locale/po/grasswxpy_ro.po
+++ b/locale/po/grasswxpy_ro.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_ro\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2013-07-17 21:26+0200\n"
 "Last-Translator: Andreea Marin <andreea.marin09 yahoo.com>\n"
 "Language-Team: GRASS Translation Team <grass-translations at lists.osgeo.org>\n"
@@ -26,7 +26,7 @@ msgid "Name of raster map:"
 msgstr "Numele hărții raster:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "Numele hărții vectoriale:"
 
@@ -144,7 +144,7 @@ msgstr "Condiție"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 msgid "Label"
 msgstr "Etichetă"
 
@@ -212,14 +212,14 @@ msgid "Reload"
 msgstr "Reîncarcă"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "Nu"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Da"
 
@@ -248,8 +248,8 @@ msgstr "Dezactivat:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Culoare"
@@ -279,9 +279,10 @@ msgstr "Dimensiunea formei"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Lățime:"
 
@@ -289,14 +290,14 @@ msgstr "Lățime:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Înălțime:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Data"
 
@@ -328,13 +329,13 @@ msgid "Comment"
 msgstr "Comandă"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr "Proprietățile modelului"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Metadata"
 
@@ -345,7 +346,7 @@ msgstr "Comenzi"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Permiteți fișierele de ieșire pentru a suprascrie fișierele existente"
@@ -365,10 +366,10 @@ msgstr "Închideți caseta de dialog și ignorați modificările"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "Nume:"
 
@@ -432,12 +433,12 @@ msgstr "Hărți raster"
 msgid "3D raster maps"
 msgstr "hărți raster 3D"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "Hărți vectoriale"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "necunoscut"
@@ -466,23 +467,23 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 msgid "Model parameters"
 msgstr "Parametrii modelului"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 msgid "Delete intermediate data when finish"
 msgstr "Șterge datele intermediare când termină"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Rulează"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 msgid "Variables"
 msgstr "Variabile"
 
@@ -504,7 +505,7 @@ msgid "Python editor"
 msgstr "Editor Python"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Comanda de ieșire"
 
@@ -566,7 +567,7 @@ msgid "Choose model file"
 msgstr "Alegeți fișierul model"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "Fișier Model GRASS (*.gxm)|*.gxm"
 
@@ -593,7 +594,7 @@ msgstr "Fișier <%s> salvat"
 msgid "Choose file to save current model"
 msgstr "Alege fișierul pentru a salca modelul curent"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Fișierul există deja"
 
@@ -616,7 +617,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "Modelul este valid."
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -629,7 +630,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr "Model exportat ca <%s>"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Adaugă comandă"
@@ -661,7 +662,7 @@ msgstr "Vă rugăm să așteptați, încărcare model..."
 msgid "Writing current settings to model file failed."
 msgstr "Scrierea setărilor curente pentru fișierul model a eșuat."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Nu s-a putut deschide fișierul <%s> pentru scriere."
@@ -670,15 +671,15 @@ msgstr "Nu s-a putut deschide fișierul <%s> pentru scriere."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -755,10 +756,10 @@ msgstr "Valoare implicită"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Descriere"
 
@@ -779,13 +780,13 @@ msgid "string"
 msgstr "șir de caractere"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vector"
 
@@ -799,7 +800,7 @@ msgid "mapset"
 msgstr "mapset"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 msgid "file"
 msgstr "fișier"
 
@@ -938,7 +939,7 @@ msgid "Histogram imagery group"
 msgstr "Crează sau editează grupurile de imagini"
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Selectează hartă raster:"
 
@@ -959,7 +960,7 @@ msgstr "%d hărți șterse din mapset-ul curent"
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -990,8 +991,8 @@ msgstr "Eticheta axei Y:"
 msgid "Label font size (pts):"
 msgstr "Dimensiunea fontului pentru etichetă (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1040,9 +1041,9 @@ msgid "No map or image group selected to plot."
 msgstr ""
 "Nici o hartă sau grup de imagine selectat(ă) pentru reprezentare grafică."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Atenție"
 
@@ -1068,8 +1069,8 @@ msgstr "Culoarea liniei"
 msgid "Line width"
 msgstr "Lățimea liniei"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Stilul liniei"
 
@@ -1083,18 +1084,18 @@ msgid "Transect segment marker settings"
 msgstr "Setările segmentului transect"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Dimensiune"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 msgid "Fill"
 msgstr "Umple"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Stil"
 
@@ -1341,19 +1342,19 @@ msgid "Under Construction"
 msgstr "În construcție"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Pagina de configurare"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Printează previzualizare"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1460,7 +1461,7 @@ msgid "Output"
 msgstr "Rezultat"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parametrii"
 
@@ -1500,8 +1501,7 @@ msgid "Analysing..."
 msgstr "Analiză"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Setări"
@@ -1558,7 +1558,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Culoare pentru GCP selectate:"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1584,10 +1584,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Închide caseta de dialog"
 
@@ -1608,12 +1609,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Nu s-a putut reda suprapunerea <%s>."
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1621,49 +1622,49 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "Fișierul regiunii <%s> există deja. Doriți să-l suprascrieți?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "%d hărți șterse din mapset-ul curent"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Fișierul regiunii <%s> există deja. Doriți să-l suprascrieți?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Suprapunerea hărții vectoriale"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "Crearea grupului nou  <%s> a eșuat."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 #, fuzzy
 msgid "Vector map with analysis result does not exist."
 msgstr "Directorul %s nu există."
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1671,210 +1672,210 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "Fișierul regiunii <%s> există deja. Doriți să-l suprascrieți?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Fișierul regiunii <%s> există deja. Doriți să-l suprascrieți?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Nu s-a putut seta"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "Fișierul regiunii <%s> există deja. Doriți să-l suprascrieți?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Suprascrieți?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Directorul %s nu există."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Harta vectorială <%s> nu a fost găsită"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Straturile tematice ale hărții"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Adaugă strat"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Gestionează straturi"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Actualizează categorii"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Alege %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr "Elimină tabela de atribute existentă a hărții vectoriale."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "utilizează"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Tipul hărții:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "Reconstruiește topologia"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "puncte vectoriale"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "Punct"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Stânga: punct nou"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Coloană numerică:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "Calea cea mai scurtă"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "punct"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "Analiză de tip 'vânzător călător'"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, fuzzy, python-format
 msgid "Maximum flow %s"
 msgstr "Fluxul maxim"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Tipul sursei:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "punct"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, fuzzy, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "Creaze un arbore Steiner pentru rețea și anumite terminale"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Suprascrieți fișierul?"
@@ -2057,54 +2058,54 @@ msgstr "Selectați transformare datum"
 msgid "Select from list of datum transformations"
 msgstr "Selectați din lista transformărilor de referință"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Definiță baza de date GRASS și numele locației"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Caută"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Directorul de date GIS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Proiecția locației"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Numele directorului de locație în directorul de date GIS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "Titlul locației"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr "Titlul locației opționa, puteți lăsa câmpul necompletat."
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
@@ -2113,24 +2114,24 @@ msgstr ""
 "Nume <%(name)s> nu este un nume valid pentru locație. Vă rugăm utilizați "
 "doar caractere ASCII excluzând %(chars)s și spații."
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr "Nume locație invalid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Alegeți directorul de date GIS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Locația există deja în baza de date GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Nu s-a putut crea locația"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
@@ -2138,222 +2139,222 @@ msgstr ""
 "Titlul locației este limitat doar la o singură linie și 256 caractere. "
 "Restul textului va fi ignorat."
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Alegeți metoda pentru crearea unei locații noi"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "Selectați codul EPSG a sistemului de referință spațial"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 "Citiți proiecția și termenii de referință dintr-un fișier de date "
 "georeferențiate"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 #, fuzzy
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr "Citiți proiecția și termenii de referință dintr-un fișier WKT sau PRJ"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "Selectați parametrii sistemului de coordonate dintr-o listă"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 "Specificați proiecția și termenii de referință folosind parametrii PROJ.4"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Creați un sistem generic de coordonate carteziene (XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Alege proiecție"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Cod"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Codul proiecției:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Caută în descriere:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Nu s-a putut citi lista: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Alegeți parametrii proiecției"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Selectați datum sau elipsoid (pagina următoare)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Datum asociat cu elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Doar elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "Trebuie să introduceți o valoare pentru  %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Introduceți parametrii pentru %s proiecție"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Specifică datum geodezic"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Cod datum:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Specifică elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "Bază de date"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Cod elipsoid:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Selectați fișierul georeferențiat"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Fișier georeferențiat:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 #, fuzzy
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr "Selectați fișier de tip Well Known Text (WKT) .prj"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "Fișier WKT sau PRJ:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Alegeți codul EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Calea către EPSG- fișier coduri:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Codul EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Alegeți fișier EPSG coduri"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Nu s-a putut citi codurile EPGS: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Alegeți metoda de specificare a parametrilor de georefențiere"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Introduceți parametrii șirului PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Transformarea datumului este necesară."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Rezumat"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "Baza de date GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Numele locației:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 msgid "Location Title:"
 msgstr "Titlul locației:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Proiecția:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "Definirea PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "obicei"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Doriți să creați locația GRASS <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Creați locație nouă?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Definirea unei locații noi GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2364,15 +2365,15 @@ msgstr ""
 "\n"
 "Detalii:%(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Locație wizard anulată. Locația nu a fost creată. "
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Nu s-a putut crea locație nouă"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2382,16 +2383,16 @@ msgstr ""
 "nevoie să schimbați directorul de date GIS implicit în fereastra de pornire "
 "GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "Director de date GIS nou"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Codul EPSG lipsește."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, python-format
 msgid "File <%s> not found."
 msgstr "Fișierul <%s> nu este găsit."
@@ -2811,7 +2812,16 @@ msgstr "Adaugă etichete"
 msgid "Remove selected class"
 msgstr "Redenumește mapsetul selectat"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2822,73 +2832,98 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: tipul stratului <%(type)s> nu este acceptat"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr "Comandă '%s' eșuată\n"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr "Detalii: %s\n"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Tipul stratutului neacceptat '%s'"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "EROARE: Redarea a eșuat. Detalii: %s"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Redare"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Încarca data..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Redare"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Redare"
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Mărește la regiunea implicită"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 "Modulul GRASS '%s' nu a fost găsit. Nu poate porni fereastra de vizualizare."
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 "Eroare: Nu s-a putut deschide '%(file)s'. Motiv: %(ret)s. wxGUI închisă.\n"
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Nu s-a putut citi fișierul %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Valoare invalidă: %s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Nu s-a putut da zoom la harta raster<%s>."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Detalii:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Nu s-a putut da zoom la harta vectorială<%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Nu s-a putut da zoom la harta raster<%s>."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
@@ -2896,69 +2931,39 @@ msgstr ""
 "Nu s-a putut obține extinderea geografică curentă. Forțați închiderea wxGUI. "
 "Vă rugăm rulați manual g.region pentru a rezolva problema."
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "EROARE: Redarea a eșuat. Detalii: %s"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Nu s-a putut reda stratul <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Nu s-a putut reda suprapunerea <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Încarca data..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Redare"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Redare"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr "Motiv"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Mesaj"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Execuție eșuată:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Eroare:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Nu s-a putut executa comanda: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Eroare în %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Nu s-a putut deschide fișierul <%s> pentru citire."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2971,12 +2976,12 @@ msgstr ""
 "\n"
 "Număr de linii omise: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr " rând %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2989,32 +2994,37 @@ msgstr ""
 "\n"
 "Opțiune <%(opt)s>: citirea de la intrarea standard nu este acceptată de wxGUI"
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Fișierul <%s> nu este găsit."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d sec"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr "%(min)d min %(sec)d sec"
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 "Vă rugăm să rețineți că datele sunt lăsate în stare de inconsistență și pot "
 "fi corupte"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Comandă eșuată"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Comandă finalizată"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3207,39 +3217,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Harta vectorială <%(map)s>: %(msg)s\n"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "eșec în deschiderea '%s'"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr "EROARE: Nu s-a putut determina versiunea GRASS. Detalii: %s"
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Nu s-a putut deschide fișierul '%s'\n"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, fuzzy, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr "%(env)s: linii omise - nu s-a putut analiza Motivul: %(e)s\n"
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Cheie duplicată: %s\n"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Nu s-a putut crea fișierul'%s'\n"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Selectează Culoare"
 
@@ -3309,11 +3319,11 @@ msgstr ""
 "marginea paginii"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 msgid "Font:"
 msgstr "Font:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "Dimensiune font:"
@@ -3327,7 +3337,7 @@ msgid "Close dialog and apply changes"
 msgstr "Închide caseta de dialog și aplică modificările"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Aplică modificările"
 
@@ -3344,7 +3354,7 @@ msgstr "Format"
 msgid "Orientation"
 msgstr "Orientare"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 msgid "Width"
 msgstr "Lățime"
 
@@ -3389,7 +3399,7 @@ msgid "Map frame settings"
 msgstr "Setările cadrului hărții"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr "Cadrul hărții"
 
@@ -3417,7 +3427,7 @@ msgstr "fixează scara și centrul hărții"
 msgid "Map selection"
 msgstr "Selecția hărții"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "Harta:"
 
@@ -3441,7 +3451,7 @@ msgstr "E:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 msgid "Scale:"
 msgstr "Scara:"
 
@@ -3455,7 +3465,7 @@ msgstr "Rezoluția maximă a hărții  (dpi):"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 msgid "Border"
 msgstr "Chenar"
 
@@ -3491,163 +3501,164 @@ msgstr "Nici o hartă selectată!"
 msgid "No region selected!"
 msgstr "Nici o regiune selectată!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr "Scară sau centrul hărții invalid(ă)!"
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Harta raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 msgid "Choose raster map"
 msgstr "Alege harta raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 msgid "no raster map"
 msgstr "nici o hartă raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 msgid "raster:"
 msgstr "raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "Vă rugăm să creați prima data cadrul hărții."
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 msgid "Add map"
 msgstr "Adaugă harta"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 msgid "points"
 msgstr "puncte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 msgid "lines"
 msgstr "linii"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr "areale"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 msgid "Data Type"
 msgstr "Tipul datei"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Adaugă"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 msgid "Manage vector maps"
 msgstr "Gestionează hărțile vectoriale"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr "Cea mai de sus hartă vectorială se suprapune peste celelalte"
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "Sus"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr "Jos"
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Șterge"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 msgid "Properties..."
 msgstr "Proprietăți..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 msgid "Raster map settings"
 msgstr "Setările hărții raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 msgid "Vector maps settings"
 msgstr "Setările hărților vectoriale"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, python-format
 msgid "%s properties"
 msgstr "%s proprietăți"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 msgid "Data selection"
 msgstr "Selectarea datei"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 msgid "Feature type"
 msgstr "Tipul trăsăturii"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 msgid "centroids"
 msgstr "centroizi"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 msgid "boundaries"
 msgstr "limitele"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 msgid "Layer selection"
 msgstr "Selectarea stratului"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "Conexiunea bazei de date nu este definită în fișierul DB."
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 msgid "Select layer:"
 msgstr "Selectează strat:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr "lista categoriilor (e.g. 1,3,5-7)"
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Mască"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr "Folosește masca curentă"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 msgid "Colors"
 msgstr "Culori"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr "Contur"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr "desenați contur"
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr "Lățime (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3655,222 +3666,222 @@ msgstr "Lățime (pts):"
 msgid "Color:"
 msgstr "Culoare:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 msgid "fill color"
 msgstr "culoare de umplere"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 msgid "choose color:"
 msgstr "alege culoare:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr "culoare din coloana tabelului hărții:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr "Nici un efect pentru culoarea de umplere din coloana tabelului"
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 msgid "Color of lines:"
 msgstr "Culoarea liniilor:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 msgid "Size and style"
 msgstr "Dimensiune și stil"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Simbologie"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 msgid "symbol:"
 msgstr "simbol:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 msgid "eps file:"
 msgstr "fișier eps:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 "Tastați un nume de fișier sau faceți click pe navigator pentru a alege "
 "fișierul"
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 msgid "Choose a file"
 msgstr "Alege un fișier"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 msgid "size:"
 msgstr "dimensiune:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr "dimensiune din coloana tabelului hărții:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 msgid "scale:"
 msgstr "scara:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 msgid "Rotation"
 msgstr "Rotația"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr "rotește simboluri:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr "invers acelor de ceasornic, în grade:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 msgid "from map table column:"
 msgstr "din coloana tabelului:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr "Setează lățime (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr "modifică lățimea în funcție de valoarea de categorie"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr "Alege stilul liniei:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr "Alege tipul de capăt pentru linie:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 msgid "Pattern"
 msgstr "Model"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr "utilizează model:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 msgid "Choose pattern file:"
 msgstr "Alege fișierul model:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr "lățimea liniei de model (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr "factorul de scară al modelului:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 msgid "Raster legend"
 msgstr "Legendă raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr "Arată legendă raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 msgid "Source raster"
 msgstr "Sursa raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 msgid "current raster"
 msgstr "rasterul curent"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 msgid "select raster"
 msgstr "selectează raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr "%(rast)s: tip %(type)s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr "Tipul de legendă"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr "legendă discretă (categorii de hărți)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr "gradiant de culoare continuu pentru legendă (hartă cu numere reale)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 msgid "Advanced legend settings"
 msgstr "Setările avansate ale legendei "
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr "desenează \"fără date\" casetă"
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr "arată amploarea tabelului de culoare"
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 msgid "range"
 msgstr "interval"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 msgid "Vector legend"
 msgstr "Legendă vector"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr "Arată legendă vector"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 msgid "Source vector maps"
 msgstr "Sursa hărților vectoriale"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr "Alege hărțile vectoriale și ordinea lor în legendă"
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Harta vectorială"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "Editează eticheta"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "desenează chenar în jurul legendei"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr "Dimensiune și poziție"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Poziție"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr "Lăsați câmpul editabil gol, pentru a folosi valorile implicite."
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
@@ -3878,15 +3889,15 @@ msgstr ""
 "Lățimea simbolului de culoare (pentru linii)\n"
 " în fața textului legendei"
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 msgid "Columns:"
 msgstr "Coloane:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 msgid "column span:"
 msgstr "lățimea coloanei:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
@@ -3894,35 +3905,35 @@ msgstr ""
 "Distanța de separare dintre marginile din stânga\n"
 "a două coloane în cadrul legendei"
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr "Editează eticheta legendei:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 msgid "No raster map selected!"
 msgstr "Nici o hartă raster selectată!"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 msgid "No raster"
 msgstr "Nici un raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 msgid "Mapinfo settings"
 msgstr "Parametrii hărții"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 msgid "Color settings"
 msgstr "Setări culoare"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr "utilizează culoare pentru margine:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 msgid "use background color:"
 msgstr "utilizează culoare de fundal:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
@@ -3930,137 +3941,137 @@ msgstr ""
 "Unitățile proiecției curente nu sunt acceptate,\n"
 " va fi utilizat metrul!"
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr "Unități neacceptate"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 msgid "Length:"
 msgstr "Lungime:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr "Lungimea scării este dată în unități de hartă"
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr "Înălțimea scării este înălțimea reală pe hârtie"
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr "implicit"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 msgid "Type:"
 msgstr "Tip:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 msgid "Number of segments:"
 msgstr "Număr de segmente:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr "Etichetați fiecare"
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 msgid "segments"
 msgstr "segmente"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr "fundal transparent pentru text"
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr "Lungimea barei de scară nu este definit"
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "Text"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Introduceți textul:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 msgid "Text effects"
 msgstr "Effecte pentru text"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr "fundal pentru text"
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 msgid "highlight"
 msgstr "evidențiere"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "marginea pentru text"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr "Echilibru"
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr "orizontal (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr "vertical (pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 msgid " Reference point"
 msgstr "Punct de referință"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 msgid "Text rotation"
 msgstr "Rotație text"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr "rotește textul (invers acelor de ceasornic)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr "Nici un text introdus!"
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr "Imagine"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 msgid "Choose a directory:"
 msgstr "Alege un director:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 msgid "Choose a directory with images"
 msgstr "Alege un director cu imagini"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr "Notă: este acceptat doar format EPS"
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 msgid "Scale And Rotation"
 msgstr "Scară și rotație"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr "Unghiul de rotație (grade):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr "Rotație inversă acelor de ceasornic, în grade"
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
@@ -4068,48 +4079,48 @@ msgstr ""
 "PIL\n"
 "lipsă"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, python-format
 msgid "Unable to read file %s"
 msgstr "Nu s-a putut citi fișierul %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr "dimesiune: %(width)s x %(height)s pts"
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 msgid "No image selected."
 msgstr "Nici o imagine selectată."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr "Săgeata Nord"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 msgid "North Arrow settings"
 msgstr "Setările săgeții Nord"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr "Calculează convergență"
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Punct"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 msgid "Symbol"
 msgstr "Simbol"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 msgid "Select symbol:"
 msgstr "Selectați simbol:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
@@ -4117,54 +4128,54 @@ msgstr ""
 "Notă: Simbolul selectat nu este afișat\n"
 "în modul draft (doar în modul de previzualizare)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 msgid "Outline color:"
 msgstr "Culoarea conturului:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "transparent"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 msgid "Fill color:"
 msgstr "Culoarea de umplere:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 msgid "Size and Rotation"
 msgstr "Dimensiune și rotație"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr "Dimensiune (pt):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 msgid "Symbol size in points"
 msgstr "Dimensiunea simbolului în puncte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 msgid "Rectangle settings"
 msgstr "Setările dreptunghiului"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 msgid "Line settings"
 msgstr "Setările liniei:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr "Lățimea liniei în puncte"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "etichete vector"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4313,7 +4324,7 @@ msgstr "Click și trage-ți pentru a redimensiona obiectul"
 msgid "labels: "
 msgstr "Adaugă etichete"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, python-format
 msgid ""
 "Unable to open file\n"
@@ -4322,12 +4333,12 @@ msgstr ""
 "Nu se poate deschide fișierul\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr "Fișierul de instrucțiune va fi încărcat cu următoare regiune: %s\n"
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
@@ -4336,23 +4347,23 @@ msgstr ""
 "Regiunea nu poate fi stabilită\n"
 "%s"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr "A eșuat citirea instrucțiunilor %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
@@ -4361,7 +4372,7 @@ msgstr ""
 "Scara a fost schimbată, valoare veche: %(old)s\n"
 "valoare nouă: %(new)s"
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
@@ -4370,7 +4381,7 @@ msgstr ""
 "Citirea instrucțiunilor a eșuat %s.\n"
 "Utilizare 1:25000 notație."
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
@@ -4379,7 +4390,7 @@ msgstr ""
 "Poziția cadrului hărții a fost schimbată, valoare veche: %(old1)s %(old2)s\n"
 "valoare nouă: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
@@ -4389,7 +4400,7 @@ msgstr ""
 "%(old2)s\n"
 "valoare nouă: %(new1)s %(new2)s"
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
@@ -4398,13 +4409,13 @@ msgstr ""
 "Citirea instrucțiunilor a eșuat %(file)s.\n"
 "Format necunoscut %(for)s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, python-format
 msgid "Failed to read instruction %s."
 msgstr "Citirea instrucțiunilor a eșuat %s."
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
@@ -4413,8 +4424,8 @@ msgstr ""
 "Caracterele de pe poziția %s nu sunt acceptate de codificarea  ISO-8859-1 "
 "(Latin 1) care sunt necesare pentru modulul ps.map."
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
@@ -4422,7 +4433,7 @@ msgstr ""
 "Nu toate caracterele sunt acceptate de codificarea  ISO-8859-1 (Latin 1) "
 "care sunt necesare pentru modulul ps.map."
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr ""
@@ -4476,27 +4487,27 @@ msgstr "metru"
 msgid "degree"
 msgstr "grade"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr "Nu se poate rula `ps.map -b`"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr "Generează fișierul text cu instrucțiunile de cartografiere"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr "Încarcă fișierul text cu instrucțiunile de cartografiere"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr "Generează ca ieșire PostScript"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "Generează ca ieșire PDF"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "Specifică formatul paginii, marginile și orientarea"
 
@@ -4512,7 +4523,7 @@ msgstr "Mărește la extinderea maximă"
 msgid "Click and drag to place map frame"
 msgstr "Click și trage pentru a plasa cadrul hărții"
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 msgid "Delete selected object"
 msgstr "Șterge obiectele selectate"
 
@@ -4524,12 +4535,12 @@ msgstr "Arată previzualizare"
 msgid "Quit Cartographic Composer"
 msgstr "Închide Compoziție Cartografică"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 msgid "Map info"
 msgstr "Informații hartă"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 msgid "Scale bar"
 msgstr "Scara"
 
@@ -4587,12 +4598,12 @@ msgstr ""
 "A fost o problemă de printare.\n"
 "Probabil imprimanta nu este setată corect?"
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Unități neacceptate"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
@@ -4600,12 +4611,17 @@ msgstr ""
 "\n"
 "Detalii: %(error)s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr "Pornește afișarea hărții <%s>..."
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Nu s-a putut crea fișierul'%s'\n"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Oprește afișarea hărții <%s>..."
@@ -4641,30 +4657,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Fereastra de vizualizare"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "EROARE: Nu s-a putut determina versiunea GRASS. Detalii: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "Fereastra de vizualizare GRASS GIS: %(id)d  - Locația: %(loc)s"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "Vizualizare 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4675,11 +4692,11 @@ msgstr ""
 "\n"
 "Detalii: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 msgid "Vector Digitizer Toolbar"
 msgstr "Bara de instrumente pentru vectorizare"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4694,115 +4711,127 @@ msgstr ""
 "\n"
 "Detalii: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr "Pornirea modului de vizualizare 3D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Vă rugăm să așteptați, încărcarea datelor..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 msgid "Please wait, unloading data..."
 msgstr "Vă rugăm să așteptați, descărcarea datelor..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr "Revenirea la modul de vizualizare 2D..."
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Bara de instrumente pentru hartă"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Digitizează"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Manual pentru vectorizare"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+msgid "No map layer selected. Operation canceled."
+msgstr "Nici un strat selectat. Operațiune anulată."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Nimic de redat (hartă goală). Operațiune anulată."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Harta vectorială <%s> deschisă pentru editare - sărită."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr "Nici un raster sau vector selectat pentru interogare."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Adaugă text stratului"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Mărește la regiunea implicită"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Mărește la regiunea salvată"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Setează regiunea de calcul de la ecran"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Mărește la regiunea de calcul (stabilește cu g.region)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Setează regiunea de calcul de la ecran"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Salvează geometria afișării la regiunea numită"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Setează regiunea de calcul de la ecran"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Bara de instrumente pentru vectorizare"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Redare"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Activează/dezactivează auto-redarea"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Afișează gama"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Afișează extinderea regiunii de calcul"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4813,16 +4842,16 @@ msgstr ""
 "de calcul, iar regiunea de calcul desenat ca un dreptunchi roșu în centrul "
 "ecranului)."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Modul de afișare"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr "Alinierea extinderii regiunii la dimensiunea de afișare"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4831,16 +4860,16 @@ msgstr ""
 "central. Valoarea implicită pentru afișarea unei hărți noi poate fi "
 "stabilită în caseta  'Setări GUI '. "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr "Rezoluția de afișare"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Constrânge rezoluția de afișare la setările de calcul"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4849,11 +4878,11 @@ msgstr ""
 "implicită pentru afișarea unei hărți noi poate fi stabilită în caseta  "
 "'Setări GUI '. "
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Scara hărții"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
@@ -4861,33 +4890,33 @@ msgstr ""
 "Pentru că toate monitoarele și rezoluțiile sunt setate diferit, aceste "
 "valori nu sunt reale, dar rămân apropiate."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "Du-te la"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "Proiecția nu este definită (verifică setările)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr "Eroare la proiecție  (verifică setările)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "Proiecție"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 msgid "Use defined projection"
 msgstr "Utilizează o proiecție definită"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
@@ -4895,24 +4924,24 @@ msgstr ""
 "Reproiectează coordonatele afișate în bara de stare. Proiecția poate fi "
 "definită în caseta de preferințe GUI (tab 'Proiecție')"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MASCĂ"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Geometria afișării"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Coordonate"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Extindere"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Regiune de calcul"
@@ -4929,102 +4958,112 @@ msgstr "Interoghează rasterul/vectorul selectat"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Selectează trăsăturile vectoriale"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Selectează hartă raster:"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Scara"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 #, fuzzy
 msgid "Show/hide legend"
 msgstr "Afișează legendă"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Adaugă scara și săgeata nord"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Analizează harta"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "Măsurare, profile, histogramă,...."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Măsoară distanța"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Măsoară distanța"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Profilul suprafeței"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Crează punctele de dispersie bivariată a hărții raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 msgid "Create histogram of raster map"
 msgstr "Crează histograma hărții raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Analiza rețelei"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr "Rotește scena 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Trage cu mouse-ul pentru a roti scena 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr "Mod de zbor"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 "Trage cu mouse-ul, ține apăsat Ctrl down pentru un mod diferit sau Shift "
 "pentru a accelera"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 msgid "Click mouse to zoom"
 msgstr "Click pe mouse pentru a mări"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 msgid "Click mouse to unzoom"
 msgstr "Click pe mouse pentru a micșora"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "Vizualizare 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "Modul de vizualizare 3D nu este disponibil"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Motiv: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "Vectorizarea nu este disponibilă"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
@@ -5035,6 +5074,11 @@ msgstr ""
 "actualizarea versiunilor de GRASS. Între timp puteți utiliza \"v.digit\" din "
 "meniul Dezvoltă vector."
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Închide vectorizarea"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5829,12 +5873,12 @@ msgstr ""
 msgid "Export animation"
 msgstr "animație"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 msgid "Decorations"
 msgstr "Cadrul extern"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "Exportă"
@@ -5844,12 +5888,12 @@ msgstr "Exportă"
 msgid "Add time stamp"
 msgstr "Timestamp"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Adaugă harta"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "Adaugă text stratului"
@@ -5873,7 +5917,7 @@ msgid "Sample text"
 msgstr "Exemple de transects"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5890,7 +5934,7 @@ msgid "Choose image file"
 msgstr "Alege un fișier"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Text"
@@ -5922,7 +5966,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Exportă"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr "Prefix fișier:"
 
@@ -5931,13 +5975,13 @@ msgstr "Prefix fișier:"
 msgid "animation_"
 msgstr "animație"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 msgid "File format:"
 msgstr "Format fișier:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "Director"
@@ -6081,7 +6125,7 @@ msgstr "Vă rugăm să creați prima data cadrul hărții."
 msgid "Animation Tool settings"
 msgstr "Animație"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6138,22 +6182,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Invalid:"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Elimină strat"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Suprascrieți fișierul?"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Harta vectorială <%s> nu a fost găsită"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6193,7 +6237,7 @@ msgstr "Bara de instrumente pentru hartă"
 msgid "Animation Toolbar"
 msgstr "Animație"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr "Bara de instrumente diverse"
@@ -6238,8 +6282,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Setările <%s> nu au fost găsite"
@@ -6284,7 +6328,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Rectificarea imaginii, vă rugăm să așteptați..."
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6308,37 +6352,37 @@ msgstr "Adaugă straturile selectate la arborele de strat"
 msgid "No map series nor space-time dataset is added."
 msgstr "Crează o hartă vectorială goală"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Harta <%s> nu a fost găsită."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6358,11 +6402,11 @@ msgstr ""
 msgid "Play back"
 msgstr "Rulează"
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr "Oprește"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr "Pauză"
 
@@ -6399,14 +6443,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Intrument GRASS GIS pentru histogramă (d.histogram)"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Desenează"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Ajutor"
 
@@ -6423,21 +6467,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Selectează mapsetul sursă:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Harta vectorială <%s> nu a fost găsită"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6466,105 +6510,105 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Timestamp"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Import date de tip raster"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Import date vectoriale"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Import date de tip raster"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Cadrul hărții"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Timestamp"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Reconstruiește topologia"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Vizualizare"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Aspect"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 msgid "Analysis"
 msgstr "Analiză"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 msgid "Animation"
 msgstr "Animație"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr "Vizualizare de control"
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr "Reglează distanța și perspectiva unghiulară de vedere a imaginii"
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Perspectivă:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr "Înclinarea planului de suprafață față de orizontală"
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr "Înclinarea:"
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
@@ -6572,23 +6616,23 @@ msgstr ""
 "Reglează înălțimea de vizualizare deasupra suprafeței (unghiul de vedere se "
 "reglează automat pentru a menține același centru de vedere)"
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr "Reglează înălțimea relativă a trăsăturilor peste planul suprafeței"
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Exagerarea Z:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr "Aspect:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr "aici"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
@@ -6596,19 +6640,19 @@ msgstr ""
 "Permite selectarea unui punct de pe suprafață, care devine noul centru al "
 "vizualizării. Click pe buton si după aceea pe suprafață."
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 msgid "center"
 msgstr "centru"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr "Resetează vizualizare la centrul de vizualizare inițial implicit"
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "de sus"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
@@ -6616,19 +6660,19 @@ msgstr ""
 "Setează privitorul direct pe poziția centrală a scenei.  Acest punct de "
 "vizualizare de sus orientezaă aproximativ nord - sud."
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr "resetează"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Resetează vizualizare implicită"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr "Aspectul Imaginii"
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
@@ -6637,232 +6681,232 @@ msgstr ""
 "recomandă să utilizați modul zboară prin (bara de instrumente din fereastra "
 "de vizualizare) pentru a realiza o mișcare fluidă."
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr "Înregistrează"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr "Rulează"
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 msgid "Total number of frames :"
 msgstr "Număr total de cadre:"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr "Rata de cadru (FPS):"
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr "Cadrele sunt înregistrate cu o frecvență dată (FPS)."
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr "Salvează secvență de imagini"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 msgid "Choose a directory for images"
 msgstr "Alege un director pentru imagini"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 "Numele fișierelor generate va arăta astfel: prefix_1.ppm, prefix_2.ppm, ..."
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Suprafață"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 msgid "Constant surface"
 msgstr "Suprafață constantă"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vector"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "3D raster"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "Iluminare"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 #, fuzzy
 msgid "Fringe"
 msgstr "Franjuri"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr "Planuri de tăiere"
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Mod:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "grosier"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "fin"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "ambele"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Umbrire:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "plat"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "gouraud"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "Setează tot"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Folosește parametrii de desenat pentru încărcarea tuturor suprafețelor"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr "Mod grosier:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 msgid "resolution:"
 msgstr "rezoluție:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 msgid "style:"
 msgstr "stil:"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 #, fuzzy
 msgid "wire"
 msgstr "fir"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "suprafață"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "Schimbă culoarea firului"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr "Mod fin:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Atributele suprafeței"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Transparență"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Luminozitate"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "hartă"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "dezactivat"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "constantă"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr "Modifică pozițiile x,y și z ale suprafeței curente"
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Restabilește"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 msgid "Reset to default position"
 msgstr "Restabiliște poziția default"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr "Plan de tăiere activ:"
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr "curăță"
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 msgid "top color"
 msgstr "culoarea de sus"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 msgid "bottom color"
 msgstr "butonul culoare"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr "amestec"
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr "umbrit"
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr "Orizontal X:"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr "Setează coordonata X a planului de tăiere curent"
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr "Orizontal Y:"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr "Setează coordonata Y a planului de tăiere curent"
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Rotația:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 "Efectuează o rotație în jurul axei verticale a planului de tăiere curent"
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 "Efectuează o rotație în jurul axei orizontale a planului de tăiere curent"
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
@@ -6870,199 +6914,199 @@ msgstr ""
 "Setează coordonata Z a planului de tăiere curent (semnificativ doar când "
 "tilt nu este 0)"
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Nou"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 msgid "Fine resolution:"
 msgstr "Rezoluție fină:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr "Valoare:"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 msgid "Transparency:"
 msgstr "Transparență:"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Arată linii vectoriale"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Linii vectoriale"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Linie:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "lățime:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "culoare:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 #, fuzzy
 msgid "use color for thematic mapping"
 msgstr "Clasifică datele de atribut, de ex. pentru cartografierea tematică"
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 #, fuzzy
 msgid "use width for thematic mapping"
 msgstr "Clasifică datele de atribut, de ex. pentru cartografierea tematică"
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Setează opțiunile"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Afișare"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "on surface(s):"
 msgstr "pe suprafață:"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Înălțimea deasupra suprafeței:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Arată puncte vectoriale"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "puncte vectoriale"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Pictogramă:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 #, fuzzy
 msgid "use size for thematic mapping"
 msgstr "Clasifică datele de atribut, de ex. pentru cartografierea tematică"
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "3D raster"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "izosuprafață"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 #, fuzzy
 msgid "slices"
 msgstr "felii"
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Rezoluție:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Lista izosuprafețelor"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr "Arată modelul de iluminare"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr "Poziția sursei de lumină"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr "Ajustează înălțimea luminii"
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "Culoarea luminii și intensitatea"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "Luminozitate:"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr "Ajustează luminozitatea luminii"
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr "Ambient:"
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr "Ajustează lumina ambientului"
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 #, fuzzy
 msgid "Edges with fringe"
 msgstr "Margini cu franjuri"
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "N && V"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "N && E"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "S && V"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "S && E"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 #, fuzzy
 msgid "Elevation of fringe from bottom:"
 msgstr "Altitudinea franjului din partea de jos:"
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr "Lungimea săgeții (în unități de hartă):"
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 msgid "Arrow color:"
 msgstr "Culoarea săgeții:"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr "Poziționează săgeată "
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr "Lungimea barei de scară (în unități de hartă):"
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 msgid "Scale bar color:"
 msgstr "Culoarea barei de scară:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Poziționează bara de scară"
@@ -7459,15 +7503,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr "Harta raster <%s> nu este găsită"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, python-format
 msgid "Vector map <%s> not found"
 msgstr "Harta vectorială <%s> nu a fost găsită"
@@ -7478,12 +7522,14 @@ msgid "3d raster map <%s> not found"
 msgstr "harta raster 3D <%s> nu a fost găsită"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Import date de tip raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "Leagă date raster externe"
 
@@ -7497,12 +7543,14 @@ msgid "Set raster output format"
 msgstr "Setează formatul de ieșire al rasterului"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Import date vectoriale"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "Leagă date vectoriale externe"
 
@@ -7524,7 +7572,7 @@ msgstr "Importă date prin serviciu WMS"
 msgid "Add command layer"
 msgstr "Adaugă comandă"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Închide"
@@ -7629,97 +7677,94 @@ msgstr "Exportă hartă vectorială"
 msgid "Export PostGIS"
 msgstr "Exportă modelul ca script Python"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Crează tabela de atribute"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Crează RBG"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "%d hărți șterse din mapset-ul curent"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Setează tabela de culoare"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Arată datele de atribut"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Începe editarea"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Închide editarea"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "Reconstruiește topologia"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Zoom la harta selectată (ignoră valorile nule)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "sau introduceți valorile interactiv"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogramă"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Statistici univariate pentru raster"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Raport și statistici"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Profil"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Nu se poate crea profil pe harta raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, fuzzy, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-"Nume <%(name)s> nu este un nume valid pentru locație. Vă rugăm utilizați "
-"doar caractere ASCII excluzând %(chars)s și spații."
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-msgid "Invalid name"
-msgstr "Nume invalid"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Tip de strat neacceptat <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Introduceți nume pentru mapset nou:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Setează opacitatea la <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
@@ -7727,103 +7772,108 @@ msgstr ""
 "Harta vectorială <%s> există deja în mapset-ul curent. Doriți să "
 "suprascrieți?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Suprascrieți?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Nu s-a putut deschide harta vectorială <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Harta vectorială <%s> nu a fost găsită"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 "Nu se poate afișa histograma harții raster. Nici un nume de hartă nu este "
 "definit."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Setează opacitatea la <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Grup de straturi:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Click pentru a edita setările stratului"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(dublu clik pentru setarea proprietăților)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Vă rugăm să așteptați, actualizarea datelor..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr "opacitate:"
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS GIS Gestionare Strat"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "Bara de instrumente a spațiului de lucru"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "Bara de instrumente a datelor"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr "Bara de instrumente a instrumentelor"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 msgid "Vector Toolbar"
 msgstr "Bara de instrumente pentru vector"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 msgid "3D view Toolbar"
 msgstr "Bara de instrumente pentru vizualizarea 3D"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 msgid "Rename Map Display"
 msgstr "Afișează harta redenumită"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "Straturile tematice ale hărții"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "Consola de comandă"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "Caută modul"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Selectarea datei"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Consola Python"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7834,11 +7884,11 @@ msgstr ""
 "\n"
 "Doriți să comutați la noua locație?"
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr "Comutați la noua locație?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -7847,33 +7897,33 @@ msgstr ""
 "Locația curentă este <%(loc)s>.\n"
 "Mapset-ul curent este<%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr "Doriți să setați extinderea regiunii și rezoluția acum?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Locația <%s> creată"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "Alege model pentru a rula"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Doriți să salvați modificările din spațiul de lucru?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Doriți să stocați setările curente în fișierul spațiului de lucru?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, python-format
 msgid "Close Map Display %s"
 msgstr "Închide fereastra de vizualizare %s"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
@@ -7882,36 +7932,36 @@ msgstr ""
 "Comanda '%s' nu a fost încă implementată în WxGUI. Încercați să-l adăugați "
 "ca un strat de control."
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr "Stratul selectat nu este un vector."
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr ""
 "Editarea este permisă doar pentru hărțile vectoriale din mapset-ul curent."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr "Alege scriptul pentru a rula"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Script Python (*.py)|*.py|Bash script (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Scriptul '%s' nu există. Operațiune anulată."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
@@ -7921,15 +7971,15 @@ msgstr ""
 "posibilitatea de a rula acest script (notă: trebuie să fiți administratorul "
 "fișierului)"
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr "Setați permisiune?"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr "Nu s-a putut seta permisiunea. Operațiune anulată."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
@@ -7938,104 +7988,106 @@ msgstr ""
 "Directorul '%s' nu este definit în  GRASS_ADDON_PATH. Doriți să adăugați "
 "acest director la GRASS_ADDON_PATH?"
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr "Actualizați calea pentru addon-uri?"
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Lansarea scriptului '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Nici un o locație/nici un mapset selectat(ă). Operațiune anulată."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Introduceți nume pentru mapset nou:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Crează mapset nou"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr "Nici un mapset selectat. Operațiune anulată."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "Mapset-ul curent este <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Schimbă mediul de lucru"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Alege un director:"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Alege un director:"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr "Informații Sistem"
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr "Versiunea GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "Valoare necunoscută"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+#, fuzzy
+msgid "GRASS SVN revision"
 msgstr "Revizia GRASS SVN"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "Construcție SQL"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
+#: ../gui/wxpython/lmgr/frame.py:1106
 #, fuzzy
-msgid "Build Platform"
+msgid "Build platform"
 msgstr "Platformă"
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr "Platformă"
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -8043,60 +8095,60 @@ msgstr ""
 "Spațiul de lucru curent nu este gol. Doriți să stocați setările curente "
 "pentru fișierul din spațiul de lucru?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "Creați spațiu de lucru nou?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Alege fișierul spațiului de lucru"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "Fișierul spațiului de lucru GRASS (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Vă rugăm să așteptați, încărcarea spațiului de lucru..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Alege fișier GRC pentru încărcare"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Fișier mai vechi al spațiului de lucru GRASS (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Alege fișier pentru a salva spațiul de lucru curent"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "Fișierul spațiului de lucru <%s> există deja. Doriți să suprascrieți acest "
 "fișier?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Salvează spațiu de lucru"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr "Scrierea setărilor curente la fișierul spațiului de lucru a eșuat."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr "Introduceți nume nou:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "Fereastra de vizualizare GRASS GIS: %(name)s  - Locație: %(loc)s"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, fuzzy, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8104,30 +8156,30 @@ msgid ""
 "Reason: %s"
 msgstr "Nu s-a putut încărca tema imaginii. Motivul: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr ""
 "Nu s-a putut insera o înregistrare nouă.\n"
 "%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr ""
 "Nu s-a putut insera o înregistrare nouă.\n"
 "%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 msgid "Add selected map layers into layer tree"
 msgstr "Adaugă straturile selectate la arborele de strat"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Tip de strat neacceptat <%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
@@ -8135,7 +8187,7 @@ msgstr ""
 "Reține faptul că valorile celulelor pot fi afișate numai pentru regiunile cu "
 "mai puțin de 10,000 celule."
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8146,31 +8198,27 @@ msgstr ""
 "%s\n"
 "din arborele de strat?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 "Doriți să eliminați stratul(urile) selectat(e)\n"
 "%s\n"
 "din arborele de strat?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Elimină strat"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Închide GRASS GUI"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "EROARE: Nu s-a putut determina versiunea GRASS. Detalii: %s"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-msgid "No map layer selected. Operation canceled."
-msgstr "Nici un strat selectat. Operațiune anulată."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
@@ -8180,40 +8228,40 @@ msgstr ""
 "recomandat să limitați harta la geometria regiunii. Doriți să limitați "
 "rezoluția?"
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr "Limitați harta la geometria regiunii?"
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr "Bine ați venit în consola interactivă Python wxGUI %s"
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr "Tip %s pentru mai multe informații relative de scripting GRASS."
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr "Tip %s pentru adăugarea de raster sau vector la arborele de strat."
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr "Șterge tot textul din consolă"
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Harta raster sau vectorială  <%s> nu a fost găsită"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, python-format
 msgid "Raster map <%s> added"
 msgstr "Harta raster <%s> adăugată"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, python-format
 msgid "Vector map <%s> added"
 msgstr "Harta vectorială <%s> adăugată"
@@ -8279,7 +8327,7 @@ msgstr "Importă/leago date raster sau vector"
 msgid "Raster Map Calculator"
 msgstr "Calculator pentru raster"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "Modelare Grafică"
 
@@ -8372,7 +8420,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Ignoră modificările și închide caseta de dialog"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Aplică modificările și închide caseta de dialog"
 
@@ -8718,29 +8766,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr "Caseta de dialog pentru etichetarea altitudinii"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Afișează manual pentru vectorizare"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Vectorizarea nu este disponibilă"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "Harta vectorială <%s> nu a fost găsită"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Noua hartă vectorială <%s> a fost creată"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Nu se poate crea harta vectorială <%s>."
@@ -8951,7 +8999,7 @@ msgstr "Afișează manual pentru vectorizare"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Instrumente suplimentare (copiază, întoarce, conectează, etc.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Înapoi"
 
@@ -9029,7 +9077,7 @@ msgstr "Harta vectorială nu este 3D. Operațiune anulată."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Selectează harta vectorială"
 
@@ -9062,11 +9110,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Tip de trăsătură nesuportat '%d'. Operațiunea este anulată."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Manual pentru vectorizare"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9093,184 +9136,184 @@ msgstr "Editarea hărții vectoriale <%s> a fost finalizată cu succes"
 msgid "New vector map"
 msgstr "Harta vectorială nouă"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr "Setările server-ului"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Server:"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Conectează"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Conectează la server"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Setările avansate ale legendei "
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Setările avansate ale legendei "
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Setările pentru gestionarea de straturi"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Strat nume"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Redenumește"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 #, fuzzy
 msgid "No data source defined, settings are not saved."
 msgstr "Nici o sursă data definită, setările nu sunt salvate."
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, fuzzy, python-format
 msgid "Connected to <%s>"
 msgstr "Model exportat ca <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Nu s-a putut deschide harta vectorială <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Adaugă grid stratului"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Adaugă strat"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Adaugă straturile selectate la arborele de strat"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Proprietăți vizualizare 3D"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Nume pentru harta raster rezultată:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Setați regiunea"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "Afișare hartă"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Încarcă regiunea:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Constrânge rezoluția de afișare la setările de calcul"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Setează regiunea de calcul de la ecran"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Inserează o hartă raster existentă"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Încarcă regiunea:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "&Elimină strat"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Adaugă grid stratului"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "%d hărți șterse din mapset-ul curent"
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "Mapset <%s> există deja."
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Directorul %s nu există."
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Încarca data..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Nu s-a putut seta"
@@ -9385,7 +9428,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Strat nume"
 
@@ -9401,8 +9445,8 @@ msgstr "stil:"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Adaugă buclă / serii"
+msgid "Add default"
+msgstr "implicit"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9411,62 +9455,64 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "Alegeți directorul de date GIS:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Selectează mapset în locația GRASS"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "Selectează locație și mapset"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Introduceți sesiunea GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "&Navigator"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 "Crează mapset nou\n"
 "în locația selectată"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 #, fuzzy
 msgid ""
 "Create a new location using location wizard. After location is created "
@@ -9475,98 +9521,103 @@ msgstr ""
 "Pornește locație wizard. După ce locația va fi creată cu succes, sesiunea "
 "GRASS va porni."
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Redenumește locația selectată"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Șterge"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Șterge locație selectată"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Redenumește"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Redenumește mapsetul selectat"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Șterge"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Șterge mapset selectat"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "GRASS GIS Gestionare Strat"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Introduceți sesiunea GRASS"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 "Nu se poate stabili baza de date GRASS. Verificați setările de localizare."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "EROARE: Locația <%s> nu a fost găsită"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "EROARE: Mapset <%s> nu a fost găsit"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, fuzzy, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr "Linie invalidă în fișierul GISRC (%(e)s):%(l)s\n"
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Eroare:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, fuzzy, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 "Doriți să importați sursa datei<%(name)s> pentru crearea locației? Regiunea "
 "va fi setată implicit pentru a se potrivi cu harta importată."
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Importă data"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr "Doriți să creați un mapset nou?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "Importul datelor vectoriale <%(name)s> a eșuat."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, fuzzy, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
@@ -9575,7 +9626,7 @@ msgstr ""
 "Doriți să importați sursa datei<%(name)s> pentru crearea locației? Regiunea "
 "va fi setată implicit pentru a se potrivi cu harta importată."
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9585,7 +9636,7 @@ msgstr ""
 "\n"
 "Acest mapset nu poate fi redenumit."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9596,7 +9647,7 @@ msgstr ""
 "\n"
 "Introduceți un nume nou:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9607,7 +9658,7 @@ msgstr ""
 "\n"
 "Mapset-ul <%s> există deja în locație."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9618,7 +9669,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9629,7 +9680,7 @@ msgstr ""
 "\n"
 "Locația <%s> există deja în baza de date GRASS."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9640,7 +9691,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9650,7 +9701,7 @@ msgstr ""
 "\n"
 "Acest mapset nu poate fi șters."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9663,11 +9714,11 @@ msgstr ""
 "\n"
 "TOATE HĂRȚILE incluse în acest mapset vor fi ȘTERSE DEFINITIV!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Nu s-a putut șterge mapset"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9678,32 +9729,32 @@ msgstr ""
 "\n"
 " TOATE HĂRȚILE incluse în acestă locație vor fi ȘTERSE DEFINITIV!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Nu s-a putut șterge locația"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, fuzzy, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "Directorul %s nu există."
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 msgid "Choose GIS Data Directory"
 msgstr "Alege directorul de lucru:"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr "Mapset <%s> există deja."
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9712,17 +9763,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Redenumește mapsetul selectat"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Nu s-a putut crea mapset nou: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9741,11 +9792,11 @@ msgstr ""
 "Doriți să încercați să eliminați .gislock (notă: pentru această operațiune "
 "aveți nevoie de permisiune) și să continuați?"
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr "Blocare fișier găsit"
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9757,7 +9808,7 @@ msgstr ""
 "Dacă rulați o altă sesiune de GRASS, aceasta vă poate afecta datele. Uitați-"
 "vă în gestionează procesor pentru a fi siguri..."
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9768,7 +9819,7 @@ msgstr ""
 "\n"
 "Detalii: %(reason)s"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
@@ -9777,7 +9828,11 @@ msgstr ""
 "Nume <%(name)s> nu este un nume valid pentru locație și mapset. Vă rugăm să "
 "folosiți doar caractere ASCII fără %(chars)s și spații."
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+msgid "Invalid name"
+msgstr "Nume invalid"
+
+#: ../gui/wxpython/gis_set.py:1101
 #, fuzzy
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
@@ -9788,29 +9843,157 @@ msgstr ""
 "acum, în cazul în care nu ai făcut deja acest lucru. Alegerea cea mai "
 "întâlnită este \"grassdata\", aflată în directorul acasă."
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "&Fișier"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "Crează o nouă hartă vectorială"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Spațiu de lucru"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Numele hărții raster:"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Crează spațiu de lucru nou"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Selectează harta vectorială"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Deschide"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Numele hărții raster:"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "Încarcă spațiu de lucru din fișierul"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Calculează indicele de formă pe o hartă raster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"Harta vectorială <%s> există deja în mapset-ul curent. Doriți să "
+"suprascrieți?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Vă rugăm să creați prima data cadrul hărții."
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Doriți să salvați modificările din model?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Salvează modificările"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Nu se poate crea profil pe harta raster."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Nu se poate crea harta vectorială <%s>."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Redare"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Crează tabel nou de culoare pentru harta raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Digitizează"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Vectorizează linie nouă"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Vectorizează punct nou"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Impachetează hartă raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Închide vectorizarea"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Selectează hartă raster:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Valorile celulei"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "nici o hartă raster"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "&Fișier"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Spațiu de lucru"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Crează spațiu de lucru nou"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Deschide"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "Încarcă spațiu de lucru din fișierul"
 
 #: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/modules/colorrules.py:419
 msgid "Save"
 msgstr "Salvează"
 
@@ -10603,7 +10786,7 @@ msgstr "Modelare grafică"
 msgid "Launch Graphical modeler"
 msgstr "Lansează Modelare grafică"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Rulează model"
 
@@ -10667,7 +10850,7 @@ msgstr "Lansare script"
 msgid "Launches script file."
 msgstr "Lansează fișier sript."
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Închide"
@@ -10677,8 +10860,8 @@ msgstr "Închide"
 msgid "Quit wxGUI session."
 msgstr "Închide sesiunea GRASS wxGUI."
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Închide GRASS GUI"
@@ -12283,8 +12466,8 @@ msgid "Develop vector map"
 msgstr "Dezvoltă hartă vectorială"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Crează o nouă hartă vectorială"
 
@@ -14418,15 +14601,15 @@ msgstr "Afișează extinderea regiunii de calcul"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "Mod de categorie"
+msgstr "Intrument GRASS GIS pentru histogramă (d.histogram)"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Afișează extinderea regiunii de calcul"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "&Ajutor"
 
@@ -14542,154 +14725,162 @@ msgstr "Adaugă buclă / serii"
 msgid "Adds loop (series) to model"
 msgstr "Adaugă buclă (serii) la model"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "Adaugă condiție"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Adaugă condiție (daca/altfel) la model"
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Adaugă condiție (daca/altfel) la model"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "Elimină element"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "Elimină acțiune/date din model"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Proprietățile modelului (nume, scop, etc.)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "Șterge datele intermediare"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "Șterge datele intermediare definite în model"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Rulează întregul model"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Validează model"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Validează întregul model"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Afișează principala pagină HTML a aplicației de modelare grafică"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "Despre Modelare Grafică"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "Afișează informații despre Modelare Grafică"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "A eșuat citirea instrucțiunilor %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Exportă ca imagine"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Exportă modelul ca script Python"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "Exportă ca Python"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Compoziție Cartografică"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 #, fuzzy
 msgid "&Insert"
 msgstr "&Instalează"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "desenează chenar în jurul cadrului hărții"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Exportă harta raster"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "Editare hărți vectoriale"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Adaugă legenda"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Adaugă harta raster creată într-un arbore de straturi"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Adaugă condiție"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Adaugă scara și săgeata nord"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Afișează principala pagină HTML a aplicației de modelare grafică"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Închide Compoziție Cartografică"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Afișează informații despre Modelare Grafică"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14704,114 +14895,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Intrument GRASS GIS pentru histogramă (d.histogram)"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "Setările hărții raster"
+msgstr "Intrare invalidă"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Coloana atribut:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Selectează hărți raster la profil"
+msgstr "Selectează trăsăturile vectoriale"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Mod de categorie"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Intrare invalidă"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Intrare invalidă"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Intrare invalidă"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Intrare invalidă"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -15010,7 +15201,7 @@ msgstr "Declarația SQL este validă"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -15018,7 +15209,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Gestionare tabelă de atribute GRASS"
 
@@ -15146,7 +15337,7 @@ msgid "Field calculator"
 msgstr "Calculator pentru volume"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 msgid "Add column"
 msgstr "Adaugă coloană"
 
@@ -15248,15 +15439,15 @@ msgstr "Șterge înregistrarea selectată"
 msgid "Delete all records"
 msgstr "Șterge toate înregistrările"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Selectează tot"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Deselectează tot"
 
@@ -15451,7 +15642,7 @@ msgid "Driver"
 msgstr "Driver"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Bază de date"
 
@@ -15580,194 +15771,194 @@ msgstr "Nu s-a putut crea locație nouă"
 msgid "Field statistics <%s>"
 msgstr "Statistici pentru voxel"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 msgid "Check all"
 msgstr "Verifică toate"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr "Curăță tot"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 msgid "Enter vector attribute values"
 msgstr "Introduceți valori atributelor vectoriale"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr "Format de culoare greșit. Folosește formatul de culoare '0:0:0'"
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Selectează hartă vectorială:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 msgid "Import or export color table:"
 msgstr "Importă sau exportă tabela de culoare:"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 msgid "Choose file to load color table"
 msgstr "Alege fișier pentru a încărca tabela de culoare"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Încarcă"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 "Introduceți un nume de fișier și click pentru a alege fișierul și pentru a "
 "încărca tabela de culoare"
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 msgid "Choose file to save color table"
 msgstr "Alege fișier pentru a salva tabela de culoare"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 "Introduceți un nume de fișier și click pentru a alege fișierul și pentru a "
 "salva tabela de culoare"
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "&Setări"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Încarcă tabela de culoare din fișier:"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 msgid "Load color table from file:"
 msgstr "Încarcă tabela de culoare din fișier:"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 msgid "Save color table to file:"
 msgstr "Salvează tabela de culoare ca fișier:"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 msgid "Reload default table"
 msgstr "Reîncarcă tabelul implicit"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Previzualizare"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 "Afișează harta previzualizată (extinderea curentă a fereastrei de "
 "vizualizare este utilizată)."
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr "Nici o regulă de culoare validă."
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Fișierul regiunii <%s> există deja. Doriți să-l suprascrieți?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr "Nimic de salvat."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 msgid "Invalid color table format"
 msgstr "Format nevalid al tabelului de culoare"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr "Valoare nevalidă %s'. Nu a putut fi aplicată tabelului de culoare."
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "Crează tabel nou de culoare pentru harta raster"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 msgid "Enter raster category values or percents"
 msgstr "Introduceți valorile de categorie raster sau procente"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr "gama"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 "Introduceți valorile de categorie raster sau procente (%(range)s = %(min)d-"
 "%(max)d)"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 msgid "Create new color rules for vector map"
 msgstr "Crează reguli noi de culori pentru harta vectorială"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 msgid "Enter vector attribute values or percents:"
 msgstr "Introduceți valorile atributelor vectorului sau procentele:"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 msgid "Enter vector attribute values:"
 msgstr "Introduceți valorile atributelor vectorului:"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 msgid "Select vector columns"
 msgstr "Selectează coloanele vectorului"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Strat:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Coloana atribut:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr "Încarcă culoare din coloana:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Save color to column:"
 msgstr "Salvează culoare la coloana:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr "Încarcă dimensiunea din coloana:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Save size to column:"
 msgstr "Salvează dimensiunea la coloana:"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr "Încarcă lățimea din coloana:"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr "Salvează lățimea la coloana:"
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr "Folosiți coloana de culoare in loc de tabelul de culoare:"
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Adaugă coloana GRASSRGB la tabela de atribute curentă."
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 msgid "Import or export color table"
 msgstr "Importă sau exportă tabela de culoare"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -15776,11 +15967,11 @@ msgstr ""
 "Conexiunea bazei de date pentru harta vectorială <%s> nu este definită în "
 "fișierul BD.  Doriți să creați și să conectați noua tabelă de atribute?"
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr "Nici o conexiune a bazei de date nu este definită"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
@@ -15789,16 +15980,16 @@ msgstr ""
 "Harta selectată <%(map)s>nu este în mapset-ul curent <%(mapset)s>. Tabela de "
 "atribute nu poate fi editată."
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr "%s coloana există deja"
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr "Vă rugăm să așteptați, încărcarea datelor din tabela de atribute..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
@@ -15808,29 +15999,29 @@ msgstr ""
 "va fi consumatoare de timp și poate duce la blocarea calculatorului, doriți "
 "să continuați?"
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr "Prea multe înregistrări"
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Introduceți valorile atributelor vectorului sau procentele %s:"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Introduceți valorile atributelor vectorului %s:"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 msgid "Please select column to save values to."
 msgstr "Selectează coloana pentru a salva valorile ca."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr "Nici o coloană definită. Operațiune anulată."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15882,23 +16073,23 @@ msgstr "Desenează/Recrează variograma"
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "Tehnici Kriging"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "Dimensiunea blocului:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "Ajustarea automată a variogramei"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "Model:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Lucru în progres! Nici o funcționalitatea nu este furnizată."
 
@@ -16109,7 +16300,7 @@ msgid "Save expression to file"
 msgstr "Salvează expresia ca fișier"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr "&Încarcă"
 
@@ -16118,7 +16309,7 @@ msgid "Load expression from file"
 msgstr "Încarcă expresia din fișier"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 #, fuzzy
 msgid "Copy the current command string to the clipboard"
 msgstr "Copiază comanda curentă în clipboard (Ctrl+C)"
@@ -16282,102 +16473,268 @@ msgstr "Alege un nume de fișier pentru a încărca expresia"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' copiat în clipboard"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr "Obține & Instalează extensie de la GRASS Addons"
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Importare multiple"
 
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Depozit"
+#: ../gui/wxpython/modules/import_export.py:60
+#, fuzzy
+msgid "List of raster layers"
+msgstr "Lista %s layere"
 
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:62
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Lista elementelor - click dreapta pentru a șterge"
+msgid "List of vector layers"
+msgstr "Lista straturilor"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
-msgid "Options"
-msgstr "Opțiuni"
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "Lista %s layere"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr "&Obține"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
+msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr "Obțina lista modulelor disponibile de la GRASS Addons SVN"
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+msgid "Layer id"
+msgstr "Strat id"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr "&Instalează"
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "Nume pentru harta GRASS (editabilă)"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr "Instalează addon-urile modulului GRASS selectat"
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "Proiecție"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Închide caseta de dialog la final"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
-msgstr "Extensia nu este definită"
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Import"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr "Obține lista de module de la GRASS-Addons SVN (fi răbdător)..."
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Importă straturile selectate"
+
+#: ../gui/wxpython/modules/import_export.py:110
+msgid "Source settings"
+msgstr "Setările sursei"
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "Install"
-msgstr "&Instalează"
+msgid "Import settings"
+msgstr "Setările fontului"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Show manual page"
-msgstr "Arată manual"
+msgid "Add linked layers into layer tree"
+msgstr "Adaugă straturile importate în arborele de straturi"
 
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "Nu se pot salva setările"
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Adaugă straturile importate în arborele de straturi"
 
-#: ../gui/wxpython/modules/extensions.py:356
-#, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Dezinstalează extensiile Addon-urilor GRASS"
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Link"
 
-#: ../gui/wxpython/modules/extensions.py:365
-msgid "List of installed extensions"
-msgstr "Lista extensiilor instalate"
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Leagă straturile selectate"
 
-#: ../gui/wxpython/modules/extensions.py:370
-#, fuzzy
-msgid "Uninstall"
-msgstr "&Dezinstalează"
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
+msgid "No layers selected. Operation canceled."
+msgstr "Nici un layer selectat. Operațiune anulată."
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Dezinstalează extensiile Addon-urilor GRASS selectate"
+msgid "Unable to determine number of raster bands"
+msgstr "Nu se poate crea profil pe harta raster."
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/import_export.py:591
 #, fuzzy
-msgid "Reinstall"
-msgstr "&Instalează"
+msgid "Define output format for vector data"
+msgstr "Importă/leago date raster sau vector"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:593
+msgid "Define output format for raster data"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:601
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Dezinstalează extensiile Addon-urilor GRASS selectate"
+msgid "Set external format and close dialog"
+msgstr "Ignoră modificările și închide caseta de dialog"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Nici o imagine selectată."
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Import DXF layers"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Alege fișier DXF pentru import"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Nici o hartă selectată!"
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Proiecție"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Nume pentru harta GRASS (editabilă)"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Strat pentru eliminare"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Importă straturile selectate"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr "Obține & Instalează extensie de la GRASS Addons"
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Lista elementelor - click dreapta pentru a șterge"
+
+#: ../gui/wxpython/modules/extensions.py:71
+msgid "Options"
+msgstr "Opțiuni"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr "&Obține"
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr "Obțina lista modulelor disponibile de la GRASS Addons SVN"
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr "&Instalează"
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr "Instalează addon-urile modulului GRASS selectat"
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr "Extensia nu este definită"
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr "Obține lista de module de la GRASS-Addons SVN (fi răbdător)..."
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Extensiile addon-urilor"
+
+#: ../gui/wxpython/modules/extensions.py:214
+#, fuzzy
+msgid "Install"
+msgstr "&Instalează"
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Arată manual"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "Nu se pot salva setările"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Dezinstalează extensiile Addon-urilor GRASS"
+
+#: ../gui/wxpython/modules/extensions.py:366
+msgid "List of installed extensions"
+msgstr "Lista extensiilor instalate"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "&Dezinstalează"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Dezinstalează extensiile Addon-urilor GRASS selectate"
+
+#: ../gui/wxpython/modules/extensions.py:373
+#, fuzzy
+msgid "Reinstall"
+msgstr "&Instalează"
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Dezinstalează extensiile Addon-urilor GRASS selectate"
+
+#: ../gui/wxpython/modules/extensions.py:411
 #, fuzzy
 msgid "No extension selected. Operation canceled."
 msgstr "Nici o extensie selectată pentru eliminare. Operațiune anulată."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -16390,16 +16747,16 @@ msgstr ""
 "\n"
 "Doriți să eliminați <%(ext)s> extensia?"
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 msgid "Remove extension"
 msgstr "Elimină extensie"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 msgid "Extension"
 msgstr "Extensie"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr "Vă rugăm să așteptați, exportarea imaginii..."
 
@@ -16547,7 +16904,7 @@ msgid ""
 msgstr "Nici o modificare nu a fost aplicată în grup <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Harta <%s> nu a fost găsită."
@@ -16587,11 +16944,6 @@ msgstr "Importă fișier binar"
 msgid "Export training areas"
 msgstr "Exportă ca imagine"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Crează tabela de atribute"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16620,22 +16972,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Nici un grup selectat."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Harta <%s> nu a fost găsită."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Încărcarea hărții raster"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Încărcarea hărții raster"
@@ -16685,158 +17037,158 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Bara de instrumente a instrumentelor"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Bara de instrumente diverse"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Eroare vectorizare"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Printează afișarea"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Afișează ținta"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 #, fuzzy
 msgid "Adjust Training Area Display to Preview Display"
 msgstr "Reglați destinația de afișare la afișarea sursă"
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 #, fuzzy
 msgid "Adjust Preview display to Training Area Display"
 msgstr "Reglați sursa de afișare la afișarea destinației"
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Rezoluția de afișare"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Rezoluția de afișare"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 #, fuzzy
 msgid "Import vector map"
 msgstr "Exportă hartă vectorială"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Nu se poate crea harta vectorială <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Nu s-a putut deschide harta vectorială <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Nu s-a putut deschide harta vectorială <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Nu se poate crea harta vectorială <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Nimic de extras."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "Nu se poate crea harta vectorială <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Analiză"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Nici un grup selectat."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "Fișierul regiunii <%s> există deja. Doriți să-l suprascrieți?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Nici un layer selectat. Operațiune anulată."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Nici un layer selectat. Operațiune anulată."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "Citirea id-ului trăsăturii %d a eșuat. Operațiune anulată."
@@ -17309,18 +17661,140 @@ msgstr "Eroare RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "Înainte: %(forw)s, Înapoi: %(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "Calculator GRASS GIS pentru harta raster 3D"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Citirea instrucțiunilor a eșuat %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Citirea instrucțiunilor a eșuat %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Redenumește"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Redenumește mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Validarea modelului..."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Redesenarea modelului..."
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Citirea fișierului a eșuat %s."
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Copiază tabel"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Rularea modelului..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Doriți să creați un mapset nou?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Șterge mapset"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Șterge"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Afișare"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Copiază"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "&Raster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Afișează harta"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr "Afișează obiectul text"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17328,70 +17802,89 @@ msgstr ""
 "Deplasați textul cu mouse-ul.\n"
 "Dublu click pentru a schimba opțiunile"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Legendă"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Scara"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Adaugă scara și săgeata nord"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s' copiat în clipboard"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Afișează bara de instrumente pentru punctele de control"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' copiat în clipboard"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Afișează setările"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Adaugă strat"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Legendă raster"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Zoom pentru a salva extinderea regiunii"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Setează regiunea de calcul de la ecran"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Regiunea <%s> nu a fost găsită. Operațiune anulată."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr "Salvează extinderea afișării în fișierul regiunii"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Setează regiunea de calcul de la ecran"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Fișierul regiunii <%s> există deja. Doriți să-l suprascrieți?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, fuzzy, python-format
 msgid "Property does not exist: %s"
 msgstr "Directorul %s nu există."
@@ -17488,71 +17981,71 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "Selectează locație și mapset"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Lungimea barei de scară nu este definit"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "Numele locației:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "Numele mapset-ului"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "Selectează mapset în locația GRASS"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "Numele mapset-ului"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Nume pentru noua hartă vectorială:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Crează tabela de atribute"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Adaugă harta creată în arborele de straturi"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Nume pentru noua hartă vectorială:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Nume pentru noua hartă vectorială:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Coloana primară:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Nu se poate crea harta vectorială <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, python-format
 msgid ""
 "Invalid or empty key column.\n"
@@ -17561,7 +18054,7 @@ msgstr ""
 "Coloană primară nevalidă sau goală.\n"
 " Nu se poate crea harta vectorială <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
@@ -17570,480 +18063,383 @@ msgstr ""
 "Harta vectorială <%s> există deja în mapset-ul curent. Doriți să "
 "suprascrieți?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Încarcă regiunea:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Salvează regiunea:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 msgid "Create or edit imagery groups"
 msgstr "Crează sau editează grupurile de imagini"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr "Aplică modificările pentru grupul selectat și închide caseta de dialog"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr "Aplică modificările pentru grupul selectat"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr "Închide caseta de dialog,  modificările nu sunt aplicate"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 #, fuzzy
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 "Selectează grupul pe care doriți să-l editați sau introduceți un nume pentru "
 "noul grup:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 #, fuzzy
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 "Selectează grupul pe care doriți să-l editați sau introduceți un nume pentru "
 "noul grup:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 msgid "Pattern:"
 msgstr "Model:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Lista hărților"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr "Selectează straturile hărții și le adaugă la listă."
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr "Elimină straturile selectate din listă."
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 msgid "Add selected map layers into group"
 msgstr "Adaugă straturile selectate în grup"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr "Grupul  <%s> a fost modificat, doriți să fie aplicate schimbările?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr "Modificări neaplicate"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, fuzzy, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr "Grupul  <%s> a fost modificat, doriți să fie aplicate schimbările?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Nici o hartă raster selectată!"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr "Nici o modificare nu a fost aplicată în grup <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr "Grupul <%s> a fost creat cu succes."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr "Grupul <%s> a fost modificat cu succes."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "Crearea grupului nou  <%s> a eșuat."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr "Modificarea grupului <%s> a eșuat."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 msgid "No group selected."
 msgstr "Nici un grup selectat."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Nici un grup selectat."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr "Utilizarea numelui complet a hărții"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 msgid "Map type:"
 msgstr "Tipul hărții:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 msgid "Select toggle"
 msgstr "Selectează declanșator"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Mapset:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 msgid "Invert selection"
 msgstr "Selecție inversă"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr "Serii dinamice (%s)"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Importare multiple"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Lista %s layere"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Lista straturilor"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "Lista %s layere"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-msgid "Layer id"
-msgstr "Strat id"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Nume pentru harta GRASS (editabilă)"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Proiecție"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Închide caseta de dialog la final"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Import"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Importă straturile selectate"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Adaugă straturile importate în arborele de straturi"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Adaugă straturile importate în arborele de straturi"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Link"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Leagă straturile selectate"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-msgid "No layers selected. Operation canceled."
-msgstr "Nici un layer selectat. Operațiune anulată."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Nu se poate crea profil pe harta raster."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Importă/leago date raster sau vector"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-msgid "Define output format for raster data"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Ignoră modificările și închide caseta de dialog"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Nici o imagine selectată."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Import DXF layers"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Alege fișier DXF pentru import"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Nici o hartă selectată!"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Setează opacitatea "
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "opac"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "Setează dimensiunea imaginii"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr "Dimensiunea imaginii"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr "Șablon:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS - Fereastra de vizualizare"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "Declarație SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "Simboluri"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr "Directorul simbolului:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr "Simbol nume:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr "Nici un element selectat"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Mapset"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Tip:"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr "GSelectează: element nevalid: %s"
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 msgid "Output settings"
 msgstr "Setările de ieșire"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
-msgid "Source settings"
-msgstr "Setările sursei"
+#: ../gui/wxpython/gui_core/gselect.py:1290
+#, fuzzy
+msgid "Source input"
+msgstr "Tipul sursei:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 msgid "Native"
 msgstr "Nativ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Fișier"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Director"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protocol"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 msgid "Output type"
 msgstr "Tipul de ieșire"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Tipul sursei:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr "Toate fișierele"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Toate fișierele"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Toate fișierele"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Toate fișierele"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Toate fișierele"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Fișier:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr "Alege fișierul pentru import"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Alege directorul de intrare"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr "Extensie:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Alege  fișier"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "Tipul trăsăturii"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Interoghează trăsăturile"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Reconstruiește topologia"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 msgid "Creation options:"
 msgstr "Crearea opțiunilor:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Format:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Protocol:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Previzualizarea nu este disponibilă"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Setările liniei:"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Nici un layer selectat. Operațiune anulată."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Directorul %s nu există."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Harta vectorială nu este 3D. Operațiune anulată."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 msgid "User settings"
 msgstr "Setările utilizatorului"
@@ -18168,6 +18564,7 @@ msgid "Module dialog style:"
 msgstr "Caseta de comandă"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "Afișare hartă"
 
@@ -18268,7 +18665,7 @@ msgstr "culoare fir:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Transparent"
 
@@ -18574,6 +18971,49 @@ msgstr "Test de normalitate"
 msgid "Nothing found"
 msgstr "Nimic găsit."
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Categorie"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Selectează trăsăturile vectoriale"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Crează mapset nou"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Harta vectorială nu este 3D. Operațiune anulată."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Nu s-a putut deschide harta vectorială <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Nici o imagine selectată."
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Noua hartă vectorială <%s> a fost creată"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Nu se poate crea harta vectorială <%s>."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Info"
@@ -18616,6 +19056,10 @@ msgstr "Site-ul oficial GRASS:"
 msgid "Code Revision"
 msgstr "Revizuire SVN"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr "Limba"
@@ -18687,27 +19131,27 @@ msgstr "&Următorul"
 msgid "&Previous"
 msgstr "&Precedentul"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Introduceți paramatrii pentru'"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Închideți această fereastră fără executarea comenzii (Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "Rulează comanda (Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Afișează pagina de manual a comenzii (Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "Adaugă harta creată la arborele de straturi"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
@@ -18715,79 +19159,79 @@ msgstr ""
 "Închide caseta de dialog când comanda a fost finalizată cu succes. Schimbă "
 "setările în caseta Preferences ('Command' tab)."
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' copiat în clipboard"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Necesar"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Opțional"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr "Parametrizare în model"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[multiple]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr "interval valid"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Alege %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Redenumește locația"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Salvează ca "
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "sau introduceți valorile interactiv"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Manual"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr "Nimic de încărcat."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18795,27 +19239,27 @@ msgid ""
 "Reason: %s"
 msgstr "Nu s-a putut încărca tema imaginii. Motivul: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 msgid "Save input as..."
 msgstr "Salvează datele de intrare ca..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Nici o imagine selectată."
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Nu poate fi analizată comanda '%s'"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "%(cmd)s: parametrul '%(key)s' nu este disponibil"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -18875,64 +19319,79 @@ msgstr "Modifică nivelul opacității"
 msgid "Change layer opacity"
 msgstr "Modifică nivelul opacității"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, fuzzy, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+"Nume <%(name)s> nu este un nume valid pentru locație. Vă rugăm utilizați "
+"doar caractere ASCII excluzând %(chars)s și spații."
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 #, fuzzy
 msgid "Fulltext search"
 msgstr "Extindere maximă"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr "%d module potrivite"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Profil"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 msgid "Save current settings"
 msgstr "Salvează setările curente"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 msgid "Delete currently selected settings"
 msgstr "Șterge setările curente selectate"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-msgid "Load settings:"
-msgstr "Încarcă setările:"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+#, fuzzy
+msgid "Load:"
+msgstr "Încarcă"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, python-format
 msgid "Settings <%s> not found"
 msgstr "Setările <%s> nu au fost găsite"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 msgid "Save settings"
 msgstr "Salvează setările"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr "Numele nu a fost introdus, setările nu sunt salvate."
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "Setările <%s> există deja. Doriți să suprascrieți setări?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 msgid "No settings is defined. Operation canceled."
 msgstr "Nici o setare nu este definită. Operațiune anulată."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 msgid "Unable to save settings"
 msgstr "Nu se pot salva setările"
 
@@ -19036,12 +19495,12 @@ msgstr "Crează histograma cu d.histrogram"
 msgid "Select graphics tool"
 msgstr "Selectează hărți raster la profil"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 #, fuzzy
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "Arborele de meniu (dublu click pentru a rula comanda)"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Rulează comanda selectată"
@@ -19066,6 +19525,26 @@ msgstr "Rulează comanda selectată"
 #~ msgstr "Închide GUI"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Intrare invalidă"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Previzualizarea nu este disponibilă"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Validarea modelului..."
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "Redenumește"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Copiază tabel"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Lista %s layere"
 
@@ -19081,23 +19560,42 @@ msgstr "Rulează comanda selectată"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "Statistici univariate pentru raster"
 
-#~ msgid "Add condition"
-#~ msgstr "Adaugă condiție"
+#~ msgid "Repository"
+#~ msgstr "Depozit"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Adaugă condiție (daca/altfel) la model"
+#~ msgid "Load settings:"
+#~ msgstr "Încarcă setările:"
 
-#, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Adaugă straturile de legătură în arborele de straturi"
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Nu s-a putut reda stratul <%s>."
 
-#, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Adaugă straturile importate în arborele de straturi"
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Nu s-a putut reda suprapunerea <%s>."
 
 #~ msgid "Unpacks a raster map packed with r.pack."
 #~ msgstr "Despachetează o hartă raster, care a fost împachetatp cu r.pack."
 
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Importă vector realizat într-o versiune mai veche de GRASS"
+
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr ""
+#~ "Importă vector realizat într-o versiune mai veche de GRASS (toate hărțile)"
+
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr ""
+#~ "Convertește toate hărțile vectoriale din versiunile vechi de GRASS din "
+#~ "mapset-ul curent în formatul actual."
+
+#, fuzzy
+#~ msgid "GPS data import"
+#~ msgstr "Importă GPSBabel GPS"
+
+#~ msgid "GEOnet import"
+#~ msgstr "Importă GEOnet"
+
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "Despachetează o hartă raster, care a fost împachetatp cu r.pack."
@@ -19126,31 +19624,6 @@ msgstr "Rulează comanda selectată"
 #~ msgid "Common export formats using OGR"
 #~ msgstr "Exportă formate comune folosind OGR"
 
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Setează regiunea de calcul pentru harta selectată (ignoră valorile nule)"
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Importă vector realizat într-o versiune mai veche de GRASS"
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr ""
-#~ "Importă vector realizat într-o versiune mai veche de GRASS (toate hărțile)"
-
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr ""
-#~ "Convertește toate hărțile vectoriale din versiunile vechi de GRASS din "
-#~ "mapset-ul curent în formatul actual."
-
-#, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "Importă GPSBabel GPS"
-
-#~ msgid "GEOnet import"
-#~ msgstr "Importă GEOnet"
-
 #~ msgid "IDW from raster points (alternate method for sparse points)"
 #~ msgstr "IDW din puncte raster (metodă alternativă pentru puncte rare)"
 
@@ -19161,11 +19634,24 @@ msgstr "Rulează comanda selectată"
 #~ msgstr "Comparația model 'parte cu parte'"
 
 #, fuzzy
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Închide gestionarea tabelei de atribute"
+
+#, fuzzy
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Selectează mapsetul sursă:"
+
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr ""
+#~ "Setează regiunea de calcul pentru harta selectată (ignoră valorile nule)"
+
+#, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "Datele vectoriale <%(name)s> au fost importate cu succes."
 
-#~ msgid "Volume"
-#~ msgstr "Volume"
+#, fuzzy
+#~ msgid "Add default servers"
+#~ msgstr "Adaugă buclă / serii"
 
 #~ msgid "Choose project location and mapset"
 #~ msgstr "Alege proiecția locației și mapset-ului"
@@ -19247,9 +19733,27 @@ msgstr "Rulează comanda selectată"
 #~ msgid "Starting GRASS for the first time"
 #~ msgstr "Pornește GRASS pentru prima dată"
 
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "Dezvoltă harta raster"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Adaugă straturile de legătură în arborele de straturi"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Adaugă straturile importate în arborele de straturi"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Importă hărți vectoriale realizate în versiuni mai vechi de GRASS."
+
 #~ msgid "Vector to volume"
 #~ msgstr "Vector în volume"
 
+#~ msgid "Sites to vector"
+#~ msgstr "Situri în vector"
+
 #, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "Calculator raster"
@@ -19272,11 +19776,8 @@ msgstr "Rulează comanda selectată"
 #~ msgid "Voxel statistics"
 #~ msgstr "Statistici pentru voxel"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Importă hărți vectoriale realizate în versiuni mai vechi de GRASS."
-
-#~ msgid "Sites to vector"
-#~ msgstr "Situri în vector"
+#~ msgid "Volume"
+#~ msgstr "Volume"
 
 #~ msgid ""
 #~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
@@ -19316,6 +19817,5 @@ msgstr "Rulează comanda selectată"
 #~ "Calculează statistici univariate din celulele 3D nenule ale hărții "
 #~ "raster3d."
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Închide gestionarea tabelei de atribute"
+#~ msgid "Digitize"
+#~ msgstr "Digitizează"
diff --git a/locale/po/grasswxpy_ru.po b/locale/po/grasswxpy_ru.po
index 541e0a6..aecfe2c 100644
--- a/locale/po/grasswxpy_ru.po
+++ b/locale/po/grasswxpy_ru.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_ru\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2008-10-10 19:44-0600\n"
 "Last-Translator: Maxim Dubinin <sim at gis-lab.info>\n"
 "Language-Team: Russian <grass-translations at lists.osgeo.org>\n"
@@ -27,7 +27,7 @@ msgid "Name of raster map:"
 msgstr "Перекодированная растровый слой:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 #, fuzzy
 msgid "Name of vector map:"
 msgstr "Имя для нового векторного слоя"
@@ -138,7 +138,7 @@ msgstr "Опционный"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "Слой"
@@ -212,15 +212,15 @@ msgid "Reload"
 msgstr "Загрузить заново"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 #, fuzzy
 msgid "No"
 msgstr "С:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -252,8 +252,8 @@ msgstr "Список таблиц"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Цвет"
@@ -286,9 +286,10 @@ msgstr "Индекс формы"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Ширина:"
 
@@ -296,14 +297,14 @@ msgstr "Ширина:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Высота:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 #, fuzzy
 msgid "Data"
 msgstr "База данных"
@@ -339,14 +340,14 @@ msgid "Comment"
 msgstr "Команда"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 #, fuzzy
 msgid "Model properties"
 msgstr "Свойства слоя"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Метаданные"
 
@@ -358,7 +359,7 @@ msgstr "Команда"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Разрешить перезаписывать файлы поверх уже созданных"
@@ -379,10 +380,10 @@ msgstr "Закрыть диалоговое окно и игнорировать
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr ""
 
@@ -447,13 +448,13 @@ msgstr "Растровый слой"
 msgid "3D raster maps"
 msgstr "3d растровый слой"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 #, fuzzy
 msgid "Vector maps"
 msgstr "Векторные точки"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "неизвестно"
@@ -483,25 +484,25 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 #, fuzzy
 msgid "Model parameters"
 msgstr "Параметры рельефа"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "Удалить результат фильтрации"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Выполнить"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 #, fuzzy
 msgid "Variables"
 msgstr "Список таблиц"
@@ -525,7 +526,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Результат команды"
 
@@ -593,7 +594,7 @@ msgid "Choose model file"
 msgstr "Выбрать файл DXF:"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr ""
 
@@ -622,7 +623,7 @@ msgstr "файл POINTS <%s> сохранен"
 msgid "Choose file to save current model"
 msgstr "Выберите файл для сохранения текущего проекта"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -642,7 +643,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -653,7 +654,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Добавить командный слой"
@@ -687,7 +688,7 @@ msgstr "Ждите, загружаются данные..."
 msgid "Writing current settings to model file failed."
 msgstr "Сохранение текущих настроек в файл проекта не удалось (%s)."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, fuzzy, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Невозможно открыть файл <%s> для чтения."
@@ -696,15 +697,15 @@ msgstr "Невозможно открыть файл <%s> для чтения."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -787,10 +788,10 @@ msgstr "Установить значение"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Описание"
 
@@ -813,13 +814,13 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "растр"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "вектор"
 
@@ -834,7 +835,7 @@ msgid "mapset"
 msgstr "Набор"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "Профиль"
@@ -979,7 +980,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 #, fuzzy
 msgid "Select raster map:"
 msgstr "Перекодированная растровый слой:"
@@ -1001,7 +1002,7 @@ msgstr "Удалить файлы элементов базы данных из
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 #, fuzzy
@@ -1034,8 +1035,8 @@ msgstr "подпись оси Y:"
 msgid "Label font size (pts):"
 msgstr "Размер шрифта подписи (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1085,9 +1086,9 @@ msgstr "Настройки профиля сохранены в файл '%s'."
 msgid "No map or image group selected to plot."
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Предупреждение"
 
@@ -1115,8 +1116,8 @@ msgstr "Цвет линии"
 msgid "Line width"
 msgstr "Ширина линии"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Стиль линии"
 
@@ -1130,19 +1131,19 @@ msgid "Transect segment marker settings"
 msgstr "Настройки маркера сегмента трансекты"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Размер"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "Файл"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Стиль"
 
@@ -1387,19 +1388,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Параметры страницы"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Предварительный просмотр"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1505,7 +1506,7 @@ msgid "Output"
 msgstr "Вывод"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Параметры"
 
@@ -1545,8 +1546,7 @@ msgid "Analysing..."
 msgstr "Проанализировать"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Установки"
@@ -1602,7 +1602,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Очистить выделенные GCP"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 #, fuzzy
@@ -1629,10 +1629,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Закрыть диалог"
 
@@ -1653,12 +1654,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Сетевой анализ"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1666,48 +1667,48 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "Файл региона <%s> уже существует. Перезаписать?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "Удалить файлы элементов базы данных из текущего набора пользователя."
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Файл региона <%s> уже существует. Перезаписать?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Перезаписать?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "Добавление нового объекта к векторному слою <%s> не выполнено."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1715,89 +1716,89 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "Файл региона <%s> уже существует. Перезаписать?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Файл региона <%s> уже существует. Перезаписать?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Невозможно установить"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "Файл региона <%s> уже существует. Перезаписать?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Перезаписать?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Слои карты"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Добавить слой"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Управление слоями"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Управлять или вывести категории"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Выбрать %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
@@ -1806,122 +1807,122 @@ msgstr ""
 "Переименовать поле в атрибутивной таблице, связанной с данным векторным "
 "слоем."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 #, fuzzy
 msgid "use"
 msgstr "снять"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Тип данных"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "Создать/построить топологию"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "Точка"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "Точка"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Слева: новая точка"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Ключевое поле"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "Кратчайший путь"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "Точка"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "Анализ коммивояжера"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Имя поля"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Показать точки"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Удалить слой"
@@ -2107,306 +2108,306 @@ msgstr "Выбрать трансформацию датума"
 msgid "Select from list of datum transformations"
 msgstr "Список трансформаций датума"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Укажите базу данных GRASS и название области"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Просмотр"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Каталог с ГИС-данными:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Расположение проекта"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Выберите каталог с ГИС-данными:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "Имя области:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "Указана неправильная область."
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Выберите каталог с данными GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Область уже существует в базе данных GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Невозможно создать область"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Выберите метод для создания новой области"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 #, fuzzy
 msgid "Select EPSG code of spatial reference system"
 msgstr "Выберите EPSG-код системы координат"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 #, fuzzy
 msgid "Select coordinate system parameters from a list"
 msgstr "Выберите систему координат"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Использовать произвольную систему координат (XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Выберите проекцию"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Код"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Код проекции:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Искать в описании:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Невозможно прочитать список: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 #, fuzzy
 msgid "Choose projection parameters"
 msgstr "Выберите проекцию"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 #, fuzzy
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Выберите датум с соответствующим эллипсоидом"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 #, fuzzy
 msgid "Datum with associated ellipsoid"
 msgstr "Выберите датум с соответствующим эллипсоидом"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 #, fuzzy
 msgid "Ellipsoid only"
 msgstr "Эллипсоид"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, fuzzy, python-format
 msgid " Enter parameters for %s projection "
 msgstr "Ввести параметры для"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Укажите геодезический датум"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Эллипсоид"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Код датума:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Укажите эллипсоид"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "База данных"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Код эллипсоида:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Выберите привязанный файл"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Привязанный файл:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "WKT файл:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Укажите код EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Путь к файлу кодов EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "код EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Выбрать файл кодов EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Невозможно прочитать коды EPSG: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Выберите метод определения параметров привязки"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Введите строку параметров PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Необходима трансформация датума."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Основная информация"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "База данных GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Имя области:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 #, fuzzy
 msgid "Location Title:"
 msgstr "Имя области:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Проекция:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "Определение PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 #, fuzzy
 msgid "custom"
 msgstr "Заданный минимум"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Вы хотите создать новую область GRASS <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Создать новую область?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Определить новую область GRASS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, fuzzy, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2414,32 +2415,32 @@ msgid ""
 "Details: %(err)s"
 msgstr "Невозможно создать новую область. Область <%s> не создана."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Работа мастера создания области прервана. Область не создана."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Невозможно создать новую область"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 #, fuzzy
 msgid "New GIS data directory"
 msgstr "Каталог с ГИС-данными:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Отсутствует код EPSG."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "файл не найден"
@@ -2860,7 +2861,16 @@ msgstr "Добавить подписи"
 msgid "Remove selected class"
 msgstr "Переименовать выбранный набор"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2871,139 +2881,134 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: тип слоя <%(type)s> пока не поддерживается."
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "Операция завершена"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "Подробности:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Тип слоя '%s' не поддерживается"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "Удалить слой"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Отрисовать"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Загрузка данных..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Отрисовать"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Отрисовать"
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Масштабировать до региона по умолчанию"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Невозможно прочитать коды EPSG: %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Неправильное значение: %s "
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Невозможно масштабировать растровый слой <%s>."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Подробности:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Невозможно масштабировать растровый слой <%s>."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Невозможно перерисовать слой <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Невозможно перерисовать оверлей <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Загрузка данных..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Отрисовать"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Отрисовать"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Сообщение"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Выполнение прервано с ошибкой:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Ошибка: "
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Невозможно выполнить команду: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Ошибка в %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Невозможно открыть файл <%s> для чтения."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -3016,12 +3021,12 @@ msgstr ""
 "\n"
 "Количество пропущенных строк: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr " строка  %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -3030,17 +3035,22 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "файл не найден"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 #, fuzzy
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
@@ -3048,15 +3058,15 @@ msgstr ""
 "Обратите внимание, что данные оставлены в неправильном состоянии и возможно "
 "повреждены"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Операция прервана"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Операция завершена"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3250,39 +3260,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Создан новый векторный слой <%s>"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, fuzzy, python-format
 msgid "failed to open '%s'"
 msgstr "Невозможно открыть файл"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Невозможно открыть файл <%s> для чтения."
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Дуплицировать атрибуты"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Невозможно прочитать коды EPSG: %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Выбрать цвет"
 
@@ -3350,12 +3360,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "Размер иконки:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 #, fuzzy
 msgid "Font size:"
@@ -3372,7 +3382,7 @@ msgid "Close dialog and apply changes"
 msgstr "Закрыть диалоговое окно и игнорировать изменения"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Применить изменения"
 
@@ -3390,7 +3400,7 @@ msgstr ""
 msgid "Orientation"
 msgstr "Поворот:"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "Ширина:"
@@ -3442,7 +3452,7 @@ msgid "Map frame settings"
 msgstr "Настройки растра"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 #, fuzzy
 msgid "Map frame"
 msgstr "Масштаб карты"
@@ -3475,7 +3485,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "Управление проекциями"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "Набор:"
@@ -3503,7 +3513,7 @@ msgstr "E:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "Стиль:"
@@ -3518,7 +3528,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "1-ый уровень"
@@ -3558,185 +3568,186 @@ msgstr "Слои для выборки не выбраны."
 msgid "No region selected!"
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Растровый слой"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "Растровый слой"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "Растровый слой"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "растр"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "Добавить группу слоев"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "Точка"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "линия румба"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 #, fuzzy
 msgid "areas"
 msgstr "Сохранить изменения"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "Тип данных"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Добавить"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "Очистить векторный слой"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Удалить"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "Свойства"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "Настройки растра"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "Настройки вектора"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "Свойства"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "Сечение"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 #, fuzzy
 msgid "Feature type"
 msgstr "ID объекта:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "centroids"
 msgstr "Добавить центроиды"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "Редактировать линию/границу"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "Сечение"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "Соединение с базой данных не определено в файле DB."
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "&Удалить слой"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Маскировать"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "Закрыть текущий файл проекта"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "Цвет"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 #, fuzzy
 msgid "Outline"
 msgstr "линия румба"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 #, fuzzy
 msgid "Width (pts):"
 msgstr "Ширина:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3744,575 +3755,575 @@ msgstr "Ширина:"
 msgid "Color:"
 msgstr "Цвет:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "Цвет каркаса:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "Выберите папку:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "Цветовые правила"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "Стиль линии"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Символизация"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "символ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "WKT файл:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "Выбрать файл DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "Размер:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 #, fuzzy
 msgid "size from map table column:"
 msgstr "Удалить все поля"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "Изменить масштаб"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "Поворот:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "Удалить все поля"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 #, fuzzy
 msgid "Set width (pts):"
 msgstr "Ширина линии (в пикселях)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 #, fuzzy
 msgid "multiply width by category value"
 msgstr "Интерактивное редактирование значений категорий"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "Выбрать файл DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "Выбрать файл DXF:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "aster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "Выберите исходную папку"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 #, fuzzy
 msgid "pattern line width (pts):"
 msgstr "Ширина линии (в пикселях)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "Серии растров"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "Показать легенду"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "Имя поля"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "Вектор в растр"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "Перекодированная растровый слой:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "Показать легенду"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "Расширенные настройки"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "Управлять"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "Векторные линии"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 #, fuzzy
 msgid "Show vector legend"
 msgstr "Показать векторные линии"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "Наложить векторные слои"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 #, fuzzy
 msgid "Vector map"
 msgstr "Новый векторный слой"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr "Добавить подписи"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Положение"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "Объемы"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "Добавить поле"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "растр"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "Общие настройки"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "Общие настройки"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 #, fuzzy
 msgid "use border color:"
 msgstr "использовать| координата X"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "Цвет фона:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 #, fuzzy
 msgid "Unsupported units"
 msgstr "Тип слоя не поддерживается '%s'"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "длина"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 #, fuzzy
 msgid "default"
 msgstr "По умолчанию"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "Тип"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "Переименовать набор"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "Легенда"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 #, fuzzy
 msgid "Text"
 msgstr "Тест"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Введите текст:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "Настройки текста"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "Подсветка"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 #, fuzzy
 msgid "text border"
 msgstr "1-ый уровень"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "Слева: новая точка"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "Настройки текста"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "Изображения"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "Выберите исходную папку"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "Выберите исходную папку"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "Масштаб и стрелка на север"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "Поворот:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 #, fuzzy
 msgid ""
 "PIL\n"
 "missing"
 msgstr "Выброс"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "Невозможно прочитать коды EPSG: %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 #, fuzzy
 msgid "North Arrow"
 msgstr "Масштаб и стрелка на север"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "Показать настройки"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Точка"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "символ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "Выбрать прямоугольником"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "Цвет линии"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "прозрачный"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "Цвет каркаса:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "Масштаб и стрелка на север"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "Размер:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "Настройки символа"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "Изменить настройки"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "Изменить настройки"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "Ширина линии (в пикселях)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "подписи вектора"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4457,97 +4468,97 @@ msgstr ""
 msgid "labels: "
 msgstr "Добавить подписи"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "Невозможно открыть файл <%s> для чтения."
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, fuzzy, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr "Разрешение:"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "Невозможно прочитать список: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "Невозможно прочитать список: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "Невозможно прочитать список: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "Невозможно прочитать список: %s"
@@ -4609,30 +4620,30 @@ msgstr "Параметры"
 msgid "degree"
 msgstr "dtree"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "Невозможно выгрузить растровый слой"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 #, fuzzy
 msgid "Generate PostScript output"
 msgstr "Программа экспорта карты в PostScript."
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 #, fuzzy
 msgid "Generate PDF output"
 msgstr "Создать точки"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4649,7 +4660,7 @@ msgstr "Масштабировать до региона по умолчанию
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "Удалить выбранную область"
@@ -4663,13 +4674,13 @@ msgstr "Показать сетку"
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "Добавить легенду"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "Добавить слой"
@@ -4724,22 +4735,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Тип слоя не поддерживается '%s'"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "Невозможно прочитать коды EPSG: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "Создать новый дисплей"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Невозможно прочитать коды EPSG: %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Создать новый дисплей"
@@ -4775,42 +4791,43 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Окно слоя"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "Вход в сессию GRASS"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS дисплей слоя: "
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr "Невозможно вставить новую запись."
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "Панель инструментов векторизации"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, fuzzy, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4824,119 +4841,132 @@ msgstr ""
 "\n"
 "Подробности: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Ждите, загружаются данные..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "Ждите, загружаются данные..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Панель инструментов карты"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Оцифровать"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Ошибка векторизации"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 #, fuzzy
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Векторный слой не выбран для редактирования."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 #, fuzzy
 msgid "No raster or vector map layer selected for querying."
 msgstr "Векторные слои для выборки не выбраны."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Добавить текстовый слой"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Масштабировать до региона по умолчанию"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Масштабировать до сохраненного региона"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Установить расчетный регион равный дисплею"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr ""
 "Масштабировать до расчетного региона (устанавливается с помощью g.region)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Установить расчетный регион равный дисплею"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Сохранить геометрию дисплея в регион с названием"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Установить расчетный регион равный дисплею"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Панель инструментов векторизации"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Отрисовать"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Включить/выключить авто-перерисовку"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Показать расчетный охват"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Показать расчетный охват"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4946,16 +4976,16 @@ msgstr ""
 "region). Показать регион внутри расчетного региона синим прямоугольником, "
 "расчетный регион внутри текущего региона красным прямоугольником."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Режим отображения"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
 msgid ""
 "Align region extent based on display size from center point. Default value "
@@ -4965,17 +4995,17 @@ msgstr ""
 "умолчанию для новых дисплеев может быть установлено с помощью "
 "'Пользовательских настроек интерфейса'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "Показать регион"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Привести разрешение дисплея к настройкам расчета"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -4984,68 +5014,68 @@ msgstr ""
 "умолчанию для новых дисплеев может быть установлено с помощью "
 "'Пользовательских настроек интерфейса'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Масштаб карты"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 #, fuzzy
 msgid "Projection"
 msgstr "Проекция:"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 #, fuzzy
 msgid "Use defined projection"
 msgstr "Выберите проекцию"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Показать геометрию"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Координаты"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Охват"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr ""
@@ -5063,112 +5093,127 @@ msgstr "Запрос к выбранному растровому или век
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Выбрать векторные объекты"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Привязать растровые и векторные слои"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Добавить слой"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 #, fuzzy
 msgid "Show/hide legend"
 msgstr "Показать легенду"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Добавить масштабную линейку и указатель на север"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Проанализировать карту"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Измерить расстояние"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Измерить расстояние"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Профиль поверхности"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Создать гистограмму изображения или растрового файла"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "Создать гистограмму изображения или растрового файла"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Сетевой анализ"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Перетащите, чтобы сдвинуть"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "Масштабирование щелчком мыши или перетаскиванием"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "Уменьшите карту щелчком мыши"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 #, fuzzy
 msgid "Vector digitizer not available"
 msgstr "Панель инструментов векторизации"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Ошибка векторизации"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5961,13 +6006,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "Квантование"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "Описание"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 #, fuzzy
 msgid "Export"
@@ -5978,12 +6023,12 @@ msgstr "Экспорт MPEG-1"
 msgid "Add time stamp"
 msgstr "Временная метка"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Добавить группу слоев"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "Добавить текстовый слой"
@@ -6007,7 +6052,7 @@ msgid "Sample text"
 msgstr "Получить значения с трансект"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -6024,7 +6069,7 @@ msgid "Choose image file"
 msgstr "Выбрать файл DXF:"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Тест"
@@ -6056,7 +6101,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Экспорт MPEG-1"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -6065,14 +6110,14 @@ msgstr ""
 msgid "animation_"
 msgstr "Квантование"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "Координаты"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "Направление"
@@ -6216,7 +6261,7 @@ msgstr "Набор инструментов для правки топологи
 msgid "Animation Tool settings"
 msgstr "Квантование"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6273,22 +6318,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Неправильное значение: %s "
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Удалить слой"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Удалить слой"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6328,7 +6373,7 @@ msgstr "Панель инструментов карты"
 msgid "Animation Toolbar"
 msgstr "Панель инструментов карты"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 #, fuzzy
 msgid "Misc Toolbar"
@@ -6374,8 +6419,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Слой <%s> не найден."
@@ -6419,7 +6464,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Ректифицировать изображение или растр"
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, fuzzy, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6443,37 +6488,37 @@ msgstr "Добавить импортированные слои в содерж
 msgid "No map series nor space-time dataset is added."
 msgstr "Создать из базы данных"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6492,12 +6537,12 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 #, fuzzy
 msgid "Stop"
 msgstr "верх"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6534,14 +6579,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Создать гистограмму изображения или растрового файла"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Рисовать"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Помощь"
 
@@ -6558,21 +6603,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Выбрать исходный набор:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6601,615 +6646,615 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Временная метка"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Импортировать растровый слой"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Импорт векторного слоя"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Импортировать растровый слой"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Набор:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Масштаб карты"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Временная метка"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Создать/построить топологию"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Вид"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "Проанализировать"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "Квантование"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Перспектива:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "коэффициент масштабирования Z:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 #, fuzzy
 msgid "Look:"
 msgstr "Обзор:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "сфера"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "Отрисовать"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "верх"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "Сбросить"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Вернуться к виду по умолчанию"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Загрузить заново"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "Переименовать набор"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "Выберите исходную папку"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Поверхность"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "Стоимостная поверхность"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Вектор"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "3d растр"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 #, fuzzy
 msgid "Lighting"
 msgstr "Подсветка"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Режим:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "грубо"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "точный"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "оба"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Тени:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "плоский"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "gouraud"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 #, fuzzy
 msgid "Set to all"
 msgstr "Установить по умолчанию"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 #, fuzzy
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Использовать для всех загруженных поверхностей"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "грубо:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "Разрешение:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "Стиль"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "каркас"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "поверхность"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "Цвет каркаса:"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "точно:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Параметры поверхности"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Прозрачность"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Яркость"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "слой"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "снять"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "постоянная"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Сбросить"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "Вернуться к виду по умолчанию"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "цвет:"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "по цвету"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Поворот:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "Разрешение:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "Объемы"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "Прозрачность"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Показать векторные линии"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Векторные линии"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 #, fuzzy
 msgid "Line:"
 msgstr "Линия"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "ширина:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "цвет:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Установить настройки"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Дисплей"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "на поверхности"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 #, fuzzy
 msgid "Height above surface:"
 msgstr "Высота над поверхностью:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Показать векторные точки"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Векторные точки"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 #, fuzzy
 msgid "Icon:"
 msgstr "Размер иконки:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 #, fuzzy
 msgid "3D raster map"
 msgstr "3d растровый слой"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "изоповерхность"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Разрешение:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "список изоповерхностей"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 #, fuzzy
 msgid "Show light model"
 msgstr "Показать линии"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 #, fuzzy
 msgid "Light source position"
 msgstr "Выбрать исходную область:"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 #, fuzzy
 msgid "Brightness:"
 msgstr "Богатство"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "Цвет каркаса:"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "Цвет каркаса:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Добавить слой"
@@ -7632,15 +7677,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, fuzzy, python-format
 msgid "Raster map <%s> not found"
 msgstr "Слой <%s> не найден."
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "Слой <%s> не найден."
@@ -7651,13 +7696,15 @@ msgid "3d raster map <%s> not found"
 msgstr "Слой <%s> не найден."
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 #, fuzzy
 msgid "Import raster data"
 msgstr "Импортировать растровый слой"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 #, fuzzy
 msgid "Link external raster data"
 msgstr "Загрузка растрового слоя"
@@ -7674,13 +7721,15 @@ msgid "Set raster output format"
 msgstr "Выбрать шрифт"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 #, fuzzy
 msgid "Import vector data"
 msgstr "Импорт векторного слоя"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 #, fuzzy
 msgid "Link external vector data"
 msgstr "Основные векторные метаданные"
@@ -7705,7 +7754,7 @@ msgstr "Загрузить и импортировать данные с сер
 msgid "Add command layer"
 msgstr "Добавить командный слой"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Выход"
@@ -7817,208 +7866,211 @@ msgstr "Экспорт векторного слоя"
 msgid "Export PostGIS"
 msgstr "Экспорт векторного слоя"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Создать атрибутивную таблицу"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Создать RGB"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "Удалить файлы элементов базы данных из текущего набора пользователя."
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 #, fuzzy
 msgid "Set color table"
 msgstr "Цветовые таблицы"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Показать атрибутивные данные"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Начать редактирование"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Завершить редактирование"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 #, fuzzy
 msgid "Rebuild topology"
 msgstr "Создать/построить топологию"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 #, fuzzy
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Масштабировать до выбранного слоя (игнорировать NULL)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Интерактивная перекодировка"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Гистограмма"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Одномерная статистика растра"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Отчеты и статистика"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Профиль"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "Удалить выбранный слой"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Невозможно создать профиль растрового слоя."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "Неправильный регион"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Тип слоя '%s' не поддерживается"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Введите имя для нового набора:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Установить непрозрачность <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "Векторный слой <%s> в текущем наборе уже существует. Перезаписать?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Перезаписать?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "Невозможно отобразить гистограмму растрового слоя."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Установить непрозрачность <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Группа слоев:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Нажмите, чтобы отредактировать настройки слоя"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(используйте двойной щелчок мыши для установки свойств)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Загрузка обновление данных, пожалуйста подождите ..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "Менеджер атрибутивных таблиц GRASS GIS"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 #, fuzzy
 msgid "Workspace Toolbar"
 msgstr "Проект"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 #, fuzzy
 msgid "Data Toolbar"
 msgstr "Панель инструментов карты"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 #, fuzzy
 msgid "Tools Toolbar"
 msgstr "Панель инструментов карты"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "Панель инструментов векторизации"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Панель инструментов Nviz"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "Дисплей"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 #, fuzzy
 msgid "Map layers"
 msgstr "Слои карты"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 #, fuzzy
 msgid "Command console"
 msgstr "Операция завершена"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Сечение"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -8026,271 +8078,272 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "Создать новую область?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
 "Current mapset is <%(mapset)s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr "Вы хотите установить охват и разрешение региона сейчас?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Область <%s> создана"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 #, fuzzy
 msgid "Choose model to run"
 msgstr "Выберите проекцию"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 #, fuzzy
 msgid "Do you want to save changes in the workspace?"
 msgstr "Сохранить изменения в векторном слое <%s>?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 #, fuzzy
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Проект не пуст. Сохранить текущие настройки в файл проекта?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "GRASS GIS дисплей слоя: "
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 #, fuzzy
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "Создать топологию для векторного слоя GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 #, fuzzy
 msgid "Choose script file to run"
 msgstr "Выберите исходную папку"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr ""
 "Необходимо как минимум %d точек привязки. Операция не может быть выполнена."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "Установить регион"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "Некорректное значение координаты. Операция отменена."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Введите имя для нового набора:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Создать новый набор"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, fuzzy, python-format
 msgid "Current mapset is <%s>."
 msgstr "Изменить текущий набор."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Изменить рабочую среду"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Выберите исходную папку"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Выберите исходную папку"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "Вход в сессию GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "Неизвестно"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "Проекция:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "Конструктор SQL"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 #, fuzzy
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
 msgstr "Проект не пуст. Сохранить текущие настройки в файл проекта?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 #, fuzzy
 msgid "Create new workspace?"
 msgstr "Создать файл рабочей области"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Выберите файл проекта"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Загрузка проекта, пожалуйста подождите ..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Выберите загружаемый файл GRC"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Выберите файл для сохранения текущего проекта"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr "Файл проекта <%s> уже существует. Перезаписать этот файл?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Сохранить проект"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 #, fuzzy
 msgid "Writing current settings to workspace file failed."
 msgstr "Сохранение текущих настроек в файл проекта не удалось (%s)."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "Введите имя для нового набора:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS GIS дисплей слоя: "
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8298,33 +8351,33 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Невозможно вставить новую запись."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Невозможно вставить новую запись."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "Добавить импортированные слои в содержание"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Тип слоя '%s' не поддерживается"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, fuzzy, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8332,71 +8385,66 @@ msgid ""
 "from layer tree?"
 msgstr "Удалить слой %s из дерева слоев?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 #, fuzzy
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr "Удалить выбранный слой из содержания?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Удалить слой"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 #, fuzzy
 msgid "Quit GRASS GUI"
 msgstr "О ГИС GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Вход в сессию GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "Не выбран слой. Операция прервана."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "Создан новый векторный слой <%s>"
@@ -8475,7 +8523,7 @@ msgstr "Импортировать растровый слой"
 msgid "Raster Map Calculator"
 msgstr "3D растровый калькулятор"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 #, fuzzy
 msgid "Graphical Modeler"
 msgstr "Помощь ГИС GRASS"
@@ -8576,7 +8624,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Игнорировать изменения и закрыть диалог"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Применить изменения и закрыть диалог"
 
@@ -8917,29 +8965,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr "диалог массовой подписи Z"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Ошибка векторизации"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Панель инструментов векторизации"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Создан новый векторный слой <%s>"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Не могу создать новый векторный слой <%s>."
@@ -9153,7 +9201,7 @@ msgstr "Ошибка векторизации"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Дополнительные инструменты (копировать, повернуть, подключить, и др.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Отменить действие"
 
@@ -9232,7 +9280,7 @@ msgstr "Не выбран слой. Операция прервана."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Выберите векторный слой"
 
@@ -9262,11 +9310,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Некорректное значение координаты. Операция отменена."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Ошибка векторизации"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9293,187 +9336,187 @@ msgstr "Закрыть диалоговое окно после окончани
 msgid "New vector map"
 msgstr "Новый векторный слой"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 #, fuzzy
 msgid " Server settings "
 msgstr "Общие настройки"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 #, fuzzy
 msgid "&Connect"
 msgstr "Связь"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Расширенные настройки"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Расширенные настройки"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Настройки Менеджера слоев"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Имя выходного векторного слоя"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Переименовать"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 #, fuzzy
 msgid "Available web services"
 msgstr "Все доступные наборы"
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Добавить слой грида"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Добавить слой"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Добавить импортированные слои в содержание"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Свойства слоя"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Имя для нового векторного слоя"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Установить регион"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 #, fuzzy
 msgid "Map display"
 msgstr "Дисплей"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Загрузить регион:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Привести разрешение дисплея к настройкам расчета"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Установить расчетный регион равный дисплею"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "перезаписать существующий файл"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Загрузить регион:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "Удалить слой"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Удалить выбранный слой"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "Удалить файлы элементов базы данных из текущего набора пользователя."
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Создан новый векторный слой <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Загрузка данных..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Невозможно установить"
@@ -9588,7 +9631,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Имя слоя"
 
@@ -9604,8 +9648,8 @@ msgstr "Стиль"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Добавить группу слоев"
+msgid "Add default"
+msgstr "По умолчанию"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9614,172 +9658,179 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "Выберите каталог с данными GRASS"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Выбрать тип слоя и область/набор"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "Выбирите область проекта и набор"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Вход в сессию GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 #, fuzzy
 msgid "&Browse"
 msgstr "Просмотр"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 "Создать новый набор\n"
 "в выбранной области"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Переименовать выбранную область"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Удалить"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Удалить выбранную область"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "&Переименовать"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Переименовать выбранный набор"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Удалить"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Удалить выбранный набор"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Менеджер атрибутивных таблиц GRASS GIS"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Вход в сессию GRASS"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "ОШИБКА: Область <%s> не найдена"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "ОШИБКА: Набор <%s> не найден"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Ошибка: "
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Импортировать растровый слой"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "Вы хотите создать новую область GRASS <%s>?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "Добавление нового объекта к векторному слою <%s> не выполнено."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, fuzzy, python-format
 msgid ""
 "Current name: %s\n"
@@ -9789,7 +9840,7 @@ msgstr ""
 "Текущее имя: %s\n"
 "Введите новое имя:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9797,7 +9848,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr "Невозможно создать новую таблицу. Таблица <%s> уже есть в базе данных."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9805,7 +9856,7 @@ msgid ""
 "%s"
 msgstr "Невозможно переименовать набор"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9813,7 +9864,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr "Невозможно создать новую таблицу. Таблица <%s> уже есть в базе данных."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9821,14 +9872,14 @@ msgid ""
 "%s"
 msgstr "Невозможно переименовать область"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9840,11 +9891,11 @@ msgstr ""
 "\n"
 "ВСЕ СЛОИ входящие в состав набора будут УДАЛЕНЫ!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Невозможно удалить набор"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9855,33 +9906,33 @@ msgstr ""
 "\n"
 "ВСЕ СЛОИ входящие в состав области будут УДАЛЕНЫ!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Невозможно удалить область"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "Выберите каталог с ГИС-данными:"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9890,17 +9941,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Переименовать выбранный набор"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Невозможно создать новый набор: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9912,11 +9963,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9924,7 +9975,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9932,49 +9983,180 @@ msgid ""
 "Details: %(reason)s"
 msgstr "Невозможно масштабировать векторный слой <%s>."
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "Неправильный регион"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
+#: ../gui/wxpython/rdigit/dialogs.py:33
 #, fuzzy
-msgid "&File"
-msgstr "Файл"
-
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Проект"
+msgid "Create new raster map"
+msgstr "Создать новый векторный слой"
 
-#: ../gui/wxpython/menustrings.py:6
+#: ../gui/wxpython/rdigit/dialogs.py:52
 #, fuzzy
-msgid "Create new workspace"
-msgstr "Создать файл рабочей области"
-
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr ""
+msgid "Name for new raster map:"
+msgstr "Перекодированная растровый слой:"
 
-#: ../gui/wxpython/menustrings.py:8
+#: ../gui/wxpython/rdigit/dialogs.py:55
 #, fuzzy
-msgid "Load workspace from file"
-msgstr "Выберите файл проекта"
+msgid "Optionally select background raster map:"
+msgstr "Выберите векторный слой"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/rdigit/dialogs.py:58
 #, fuzzy
-msgid "Save"
-msgstr "Сохранить изменения"
+msgid "New raster map type:"
+msgstr "Перекодированная растровый слой:"
+
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Рассчитать индекс формы для растрового слоя"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "Векторный слой <%s> в текущем наборе уже существует. Перезаписать?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Набор инструментов для правки топологии векторного слоя."
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Сохранить изменения в векторном слое <%s>?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Сохранить изменения"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Невозможно создать профиль растрового слоя."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Не могу создать новый векторный слой <%s>."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Отрисовать"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Создать новую таблицу цветов используя цветовые правила"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Создать новый объект"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Создать новую линию"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Создать новую точку"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Залатать растровые слои"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Ошибка векторизации"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Перекодированная растровый слой:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Значения ячеек"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "Растровый слой"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+#, fuzzy
+msgid "&File"
+msgstr "Файл"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Проект"
+
+#: ../gui/wxpython/menustrings.py:6
+#, fuzzy
+msgid "Create new workspace"
+msgstr "Создать файл рабочей области"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:8
+#, fuzzy
+msgid "Load workspace from file"
+msgstr "Выберите файл проекта"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+#, fuzzy
+msgid "Save"
+msgstr "Сохранить изменения"
 
 #: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
 #, fuzzy
@@ -10789,7 +10971,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr ""
 
@@ -10852,7 +11034,7 @@ msgstr "Описание слоя"
 msgid "Launches script file."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Код"
@@ -10862,8 +11044,8 @@ msgstr "Код"
 msgid "Quit wxGUI session."
 msgstr "Вход в сессию GRASS"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "О ГИС GRASS"
@@ -12495,8 +12677,8 @@ msgid "Develop vector map"
 msgstr "Создать векторный слой"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Создать новый векторный слой"
 
@@ -14624,15 +14806,15 @@ msgstr "Показать расчетный охват"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "Режим категорий"
+msgstr "Создать гистограмму изображения или растрового файла"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Показать расчетный охват"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
 msgid "&Help"
 msgstr "Помощь"
@@ -14763,159 +14945,168 @@ msgstr "Добавить группу слоев"
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+#, fuzzy
+msgid "Add condition"
+msgstr "Опционный"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Добавить командный слой"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 #, fuzzy
 msgid "Remove item"
 msgstr "Удалить таблицу"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 #, fuzzy
 msgid "Delete intermediate data"
 msgstr "Удалить результат фильтрации"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 #, fuzzy
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Показать HTML-страницы помощи GRASS"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 #, fuzzy
 msgid "Display information about Graphical Modeler"
 msgstr "Основная выходная информация о растровом слое."
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Невозможно прочитать список: %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Экспорт векторного слоя"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Экспорт векторного слоя"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "Экспорт MPEG-1"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Описание слоя"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Помощь ГИС GRASS"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Добавить растровый слой"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Добавить 3D растровый слой"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "вектор"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Добавить легенду"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Добавить созданный слой в содержание"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Добавить легенду"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Добавить слой"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Добавить масштабную линейку и указатель на север"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Показать HTML-страницы помощи GRASS"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Помощь ГИС GRASS"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Основная выходная информация о растровом слое."
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14930,114 +15121,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Создать гистограмму изображения или растрового файла"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "Настройки растра"
+msgstr "Неправильный регион"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Атрибуты"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Выбрать растровый слой 3 (опция):"
+msgstr "Выбрать векторные объекты"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Режим категорий"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Неправильный регион"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Неправильный регион"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Неправильный регион"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Неправильный регион"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -15245,7 +15436,7 @@ msgstr "Оператор SQL"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -15253,7 +15444,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Менеджер атрибутивных таблиц GRASS GIS"
 
@@ -15378,7 +15569,7 @@ msgid "Field calculator"
 msgstr "Растровый калькулятор"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "Добавить поле"
@@ -15485,15 +15676,15 @@ msgstr "Удалить выбранные записи"
 msgid "Delete all records"
 msgstr "Удалить все записи"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Выбрать все"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Снять выделение со всего"
 
@@ -15689,7 +15880,7 @@ msgid "Driver"
 msgstr "Драйвер"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "База данных"
 
@@ -15819,214 +16010,214 @@ msgstr "Невозможно создать новую область"
 msgid "Field statistics <%s>"
 msgstr "Общая статистика"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "Закрыть диалог"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "Закрыть диалог"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "Сделать запрос к векторным атрибутивным данным"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 #, fuzzy
 msgid "Select vector map:"
 msgstr "Выберите векторный слой"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "Цветовые таблицы"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "Выберите загружаемый файл GRC"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Загрузить"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "Выберите загружаемый файл GRC"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "Установки"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Сохранить текущую рабочую область в файл"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "Сохранить текущую рабочую область в файл"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "Сохранить текущую рабочую область в файл"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "Вернуться к виду по умолчанию"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Предпросмотр"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Файл региона <%s> уже существует. Перезаписать?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 #, fuzzy
 msgid "Nothing to save."
 msgstr "Нечего не выбрано."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Цветовые таблицы"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 #, fuzzy
 msgid "Create new color table for raster map"
 msgstr "Создать новую таблицу цветов используя цветовые правила"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 #, fuzzy
 msgid "Enter raster category values or percents"
 msgstr "Интерактивное редактирование значений категорий"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 #, fuzzy
 msgid "fp range"
 msgstr "Правильный диапазон"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "Создать новую таблицу цветов используя цветовые правила"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "Интерактивное редактирование значений категорий"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "Сделать запрос к векторным атрибутивным данным"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "Выберите векторный слой"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 #, fuzzy
 msgid "Layer:"
 msgstr "Слой"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 #, fuzzy
 msgid "Attribute column:"
 msgstr "Атрибуты"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "Выберите файл проекта"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "Сохранить текущую рабочую область в файл"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "Удалить все поля"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "Серия растров в объем"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "Выберите файл проекта"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Удалить атрибутивную таблицу."
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "Цветовые таблицы"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -16035,60 +16226,60 @@ msgstr ""
 "Соединение с базой данных для векторного слоя <%s> не определено в файле DB. "
 "Вы можете создать новое соединение в закладке 'Управление слоями'."
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "Связи векторных баз данных"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, fuzzy, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr "Векторный слой <%s> в текущем наборе уже существует. Перезаписать?"
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "Загрузка атрибутивных данных, пожалуйста подождите..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Интерактивное редактирование значений категорий"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Сделать запрос к векторным атрибутивным данным"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "Набор инструментов для правки топологии векторного слоя."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -16144,25 +16335,25 @@ msgstr ""
 msgid ":"
 msgstr "X:"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 #, fuzzy
 msgid "Block size:"
 msgstr "Размер иконки:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 #, fuzzy
 msgid "Model: "
 msgstr "Режим:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -16397,7 +16588,7 @@ msgid "Save expression to file"
 msgstr "Сохранить текущую рабочую область в файл"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 #, fuzzy
 msgid "&Load"
 msgstr "Загрузить"
@@ -16408,7 +16599,7 @@ msgid "Load expression from file"
 msgstr "Выберите файл проекта"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Копировать текущую командную строку в буфер обмена"
 
@@ -16589,103 +16780,275 @@ msgstr "Выберите загружаемый файл GRC"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' скопировано в буфер обмена"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Импорт нескольких слоев"
 
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:60
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Список категорий - нажмите правую кнопку для удаления"
+msgid "List of raster layers"
+msgstr "Список слоев"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
+#: ../gui/wxpython/modules/import_export.py:62
 #, fuzzy
-msgid "Options"
-msgstr "Опционный"
+msgid "List of vector layers"
+msgstr "Список слоев"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "Список слоев %s"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+#, fuzzy
+msgid "Layer id"
+msgstr "Слой"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "Имя для нового векторного слоя"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "Проекция:"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Закрыть диалоговое окно после окончания операции"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Импорт"
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Импортировать выбранные слои"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Show manual page"
-msgstr "Слой теней"
-
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "Невозможно обработать команду %s"
+msgid "Source settings"
+msgstr "Настройки растра"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Управление проекциями"
+msgid "Import settings"
+msgstr "Настройки шрифта"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "Список категорий"
+msgid "Add linked layers into layer tree"
+msgstr "Добавить импортированные слои в содержание"
 
-#: ../gui/wxpython/modules/extensions.py:370
-#, fuzzy
-msgid "Uninstall"
-msgstr "Список категорий"
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Добавить импортированные слои в содержание"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Управление проекциями"
-
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
-msgstr ""
+msgid "&Link"
+msgstr "Линия"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Управление проекциями"
+msgid "Link selected layers"
+msgstr "Изменить выбранный слой"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "No layers selected. Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/modules/extensions.py:427
-#, python-format
+#: ../gui/wxpython/modules/import_export.py:397
+#, fuzzy
+msgid "Unable to determine number of raster bands"
+msgstr "Невозможно создать профиль растрового слоя."
+
+#: ../gui/wxpython/modules/import_export.py:591
+#, fuzzy
+msgid "Define output format for vector data"
+msgstr "Импорт векторного слоя"
+
+#: ../gui/wxpython/modules/import_export.py:593
+#, fuzzy
+msgid "Define output format for raster data"
+msgstr "Импортировать растровый слой"
+
+#: ../gui/wxpython/modules/import_export.py:601
+#, fuzzy
+msgid "Set external format and close dialog"
+msgstr "Игнорировать изменения и закрыть диалог"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Слои для выборки не выбраны."
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Импорт слоев DXF"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Выберите импортируемый файл DXF"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Слои для выборки не выбраны."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Проекция:"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Имя для нового векторного слоя"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Слой для удаления"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Импортировать выбранные слои"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Список категорий - нажмите правую кнопку для удаления"
+
+#: ../gui/wxpython/modules/extensions.py:71
+#, fuzzy
+msgid "Options"
+msgstr "Опционный"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Список категорий"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Слой теней"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "Невозможно обработать команду %s"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Управление проекциями"
+
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "Список категорий"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "Список категорий"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Управление проекциями"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Управление проекциями"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr "Не выбран слой. Операция прервана."
+
+#: ../gui/wxpython/modules/extensions.py:428
+#, python-format
 msgid ""
 "List of files to be removed:\n"
 "%(files)s\n"
@@ -16693,18 +17056,18 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 #, fuzzy
 msgid "Remove extension"
 msgstr "Удалить узел"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "Выброс"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 #, fuzzy
 msgid "Please wait, exporting image..."
 msgstr "Загрузка обновление данных, пожалуйста подождите ..."
@@ -16854,7 +17217,7 @@ msgid ""
 msgstr "Не могу создать новый векторный слой <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Слой <%s> не найден."
@@ -16894,11 +17257,6 @@ msgstr "Сохранить файл как..."
 msgid "Export training areas"
 msgstr "Экспорт векторного слоя"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Создать атрибутивную таблицу"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16927,22 +17285,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Загрузка растрового слоя"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Загрузка растрового слоя"
@@ -16993,155 +17351,155 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Панель инструментов привязки"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Панель инструментов карты"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Панель инструментов карты"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "настройки векторизации"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Распечатать дисплей"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Дисплей"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Показать регион"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Показать регион"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Импорт векторного слоя"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Нечего не выбрано."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Проанализировать"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "Файл региона <%s> уже существует. Перезаписать?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Некорректное значение координаты. Операция отменена."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
@@ -17639,19 +17997,141 @@ msgstr "ошибка RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "GRASS %s Калькулятор слоев"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Невозможно прочитать список: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Невозможно прочитать список: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Переименовать"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Переименовать набор"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Правильный диапазон"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Переименовать"
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Невозможно прочитать коды EPSG: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Копировать таблицу"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Вы хотите создать новую область GRASS <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Удалить набор"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Удалить"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Дисплей"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Копировать"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "Растр"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Отобразить слой"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 #, fuzzy
 msgid "Show text object"
 msgstr "Показать расчетный охват"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17659,71 +18139,90 @@ msgstr ""
 "Перетащите текст (в режиме указателя) в нужное место.\n"
 "Для изменения параметров используйте двойной клик мышкой"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Легенда"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Добавить слой"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Добавить масштабную линейку и указатель на север"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s' скопировано в буфер обмена"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Отобразить слой"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' скопировано в буфер обмена"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Показать настройки"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Добавить оверлей"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Серии растров"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Масштабировать до охвата сохраненных регионов"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Установить расчетный регион равный дисплею"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, fuzzy, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 #, fuzzy
 msgid "Save display extents to region file"
 msgstr "Сохранить геометрию дисплея в регион с названием"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Установить расчетный регион равный дисплею"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Файл региона <%s> уже существует. Перезаписать?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -17821,591 +18320,488 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 #, fuzzy
 msgid "Select GRASS location and mapset"
 msgstr "Выбирите область проекта и набор"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Расчет потока для массивных гридов (версия с плавающей запятой)"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 #, fuzzy
 msgid "Name of GRASS location:"
 msgstr "Имя для нового векторного слоя"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 #, fuzzy
 msgid "Name of mapset:"
 msgstr "Переименовать набор"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 #, fuzzy
 msgid "Select mapset in GRASS location"
 msgstr "Выбрать тип слоя и область/набор"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "Переименовать набор"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Имя для нового векторного слоя"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Создать атрибутивную таблицу"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Добавить созданный слой в содержание"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Имя для нового векторного слоя"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Имя для нового векторного слоя"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 #, fuzzy
 msgid "Key column:"
 msgstr "Ключевое поле"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "Не могу создать новый векторный слой <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr "Векторный слой <%s> в текущем наборе уже существует. Перезаписать?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Загрузить регион:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Сохранить регион:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "Создать/редактировать группу"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "Применить изменения и закрыть диалог"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "Применить изменения для этой сессии"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 #, fuzzy
 msgid "Close dialog, changes are not applied"
 msgstr "Закрыть окно после отправки."
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "aster"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Список карт:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr "Удалить выбранный слой из содержания?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "Добавить импортированные слои в содержание"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "Применить изменения"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, fuzzy, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "Добавление нового объекта к векторному слою <%s> не выполнено."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "Тип слоя:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "Выбрать висящие узлы"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Набор:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
 msgid "Invert selection"
 msgstr "Сечение"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Импорт нескольких слоев"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Список слоев"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Список слоев"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "Список слоев %s"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "Слой"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Имя для нового векторного слоя"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Проекция:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Закрыть диалоговое окно после окончания операции"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Импорт"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Импортировать выбранные слои"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Добавить импортированные слои в содержание"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Добавить импортированные слои в содержание"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-#, fuzzy
-msgid "&Link"
-msgstr "Линия"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-#, fuzzy
-msgid "Link selected layers"
-msgstr "Изменить выбранный слой"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "Не выбран слой. Операция прервана."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Невозможно создать профиль растрового слоя."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Импорт векторного слоя"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Импортировать растровый слой"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Игнорировать изменения и закрыть диалог"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Слои для выборки не выбраны."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Импорт слоев DXF"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Выберите импортируемый файл DXF"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Слои для выборки не выбраны."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Установить непрозрачность слоя"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "непрозрачный"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 #, fuzzy
 msgid "Image size"
 msgstr "Размер иконки:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS - Окно слоя"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "Оператор SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "символ:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "Настройки символа"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "Настройки символа"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 #, fuzzy
 msgid "Not selectable element"
 msgstr "Удалить выбранное поле"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Набор"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Тип"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "Общие настройки"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "Настройки растра"
+msgid "Source input"
+msgstr "Имя поля"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "Сохранить изменения"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Файл"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 #, fuzzy
 msgid "Directory"
 msgstr "Направление"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "Вывод"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 #, fuzzy
 msgid "All files"
 msgstr "Значения ячеек"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Значения ячеек"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Значения ячеек"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Значения ячеек"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Значения ячеек"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 #, fuzzy
 msgid "File:"
 msgstr "Файл"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "Выберите импортируемый файл DXF"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Выберите исходную папку"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 #, fuzzy
 msgid "Extension:"
 msgstr "Выброс"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 #, fuzzy
 msgid "Choose file"
 msgstr "Выбрать файл DXF:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "ID объекта:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Запрос по объектам"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Создать/построить топологию"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "Установить настройки"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 #, fuzzy
 msgid "Protocol:"
 msgstr "Код проекции:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Панель инструментов векторизации"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Подсветка"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Не выбран слой. Операция прервана."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Слой <%s> не найден."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Не выбран слой. Операция прервана."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -18536,6 +18932,7 @@ msgid "Module dialog style:"
 msgstr "Настройки диалога команды"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 #, fuzzy
 msgid "Map Display"
 msgstr "Дисплей"
@@ -18641,7 +19038,7 @@ msgstr "Цвет каркаса:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Прозрачный"
 
@@ -18945,6 +19342,49 @@ msgstr "Тест нормальности"
 msgid "Nothing found"
 msgstr "Нечего не выбрано."
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Категория"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Выбрать векторные объекты"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Создать новый набор"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Не выбран слой. Операция прервана."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Не могу создать новый векторный слой <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Слои для выборки не выбраны."
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Создан новый векторный слой <%s>"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Не могу создать новый векторный слой <%s>."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr ""
@@ -18992,6 +19432,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr "Проекция:"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -19065,112 +19509,112 @@ msgstr ""
 msgid "&Previous"
 msgstr "Предпросмотр"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 #, fuzzy
 msgid "Enter parameters for '"
 msgstr "Ввести параметры для"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 #, fuzzy
 msgid "Run the command (Ctrl+R)"
 msgstr "Исполнить команду"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 #, fuzzy
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Показать описание для команды"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 #, fuzzy
 msgid "Add created map(s) into layer tree"
 msgstr "Добавить созданный слой в содержание"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' скопировано в буфер обмена"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Необходимо"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Опционный"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 #, fuzzy
 msgid "Parameterized in model"
 msgstr "Параметр не найден: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[множественный]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 #, fuzzy
 msgid "valid range"
 msgstr "Правильный диапазон"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Выбрать %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Переименовать область"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Сохранить изменения"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "Интерактивная перекодировка"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Вручную"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "Нечего не выбрано."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -19178,28 +19622,28 @@ msgid ""
 "Reason: %s"
 msgstr "Невозможно прочитать коды EPSG: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "Сохранить файл как..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Слои для выборки не выбраны."
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Невозможно обработать команду %s"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -19259,68 +19703,80 @@ msgstr "Изменить уровень непрозрачности"
 msgid "Change layer opacity"
 msgstr "Изменить уровень непрозрачности"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Профиль"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "Сохранить текущие настройки?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "Удалить выбранный набор"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
+#: ../gui/wxpython/gui_core/widgets.py:1190
 #, fuzzy
-msgid "Load settings:"
-msgstr "Показать настройки"
+msgid "Load:"
+msgstr "Загрузить"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "Слой <%s> не найден."
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "Общие настройки"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "Файл проекта <%s> уже существует. Перезаписать этот файл?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "Не выбран слой. Операция прервана."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "Невозможно обработать команду %s"
@@ -19434,11 +19890,11 @@ msgstr "Создать гистограмму изображения или ра
 msgid "Select graphics tool"
 msgstr "Выбрать шрифт дисплея по умолчанию"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Исполнить команду"
@@ -19455,6 +19911,22 @@ msgstr "Исполнить команду"
 #~ msgstr "Выйти из интерфейса"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Неправильный регион"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Панель инструментов векторизации"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Правильный диапазон"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Копировать таблицу"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Список слоев"
 
@@ -19471,16 +19943,35 @@ msgstr "Исполнить команду"
 #~ msgstr "Одномерная статистика растра"
 
 #, fuzzy
-#~ msgid "Add condition"
-#~ msgstr "Опционный"
+#~ msgid "Load settings:"
+#~ msgstr "Показать настройки"
+
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Невозможно перерисовать слой <%s>."
+
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Невозможно перерисовать оверлей <%s>."
 
 #, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Добавить импортированные слои в содержание"
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Импорт старого вектора GRASS "
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Добавить импортированные слои в содержание"
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Импорт старого вектора GRASS "
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "Импорт старых версий векторных слоев GRASS."
+
+#, fuzzy
+#~ msgid "GPS data import"
+#~ msgstr "Импорт GPSBabel GPS"
+
+#~ msgid "GEOnet import"
+#~ msgstr "Импорт GEOnet"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -19504,45 +19995,32 @@ msgstr "Исполнить команду"
 #~ msgstr "Конвертировать координаты"
 
 #, fuzzy
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Установить расчетный регион равный выбранному слою (игнорировать NULL)"
-
-#, fuzzy
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Импорт старого вектора GRASS "
+#~ msgid "Create optimally placed labels"
+#~ msgstr "Создать подписи"
 
-#, fuzzy
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Импорт старого вектора GRASS "
+#~ msgid "Bit pattern comparison "
+#~ msgstr "Битовое сравнение шаблонов"
 
 #, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Импорт старых версий векторных слоев GRASS."
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Менеджер атрибутивной таблицы"
 
 #, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "Импорт GPSBabel GPS"
-
-#~ msgid "GEOnet import"
-#~ msgstr "Импорт GEOnet"
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Выбрать исходный набор:"
 
 #, fuzzy
-#~ msgid "Create optimally placed labels"
-#~ msgstr "Создать подписи"
-
-#~ msgid "Bit pattern comparison "
-#~ msgstr "Битовое сравнение шаблонов"
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr ""
+#~ "Установить расчетный регион равный выбранному слою (игнорировать NULL)"
 
 #, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "Векторный слой <%(name)s> (%(type)s) успешно выгружен"
 
 #, fuzzy
-#~ msgid "Volume"
-#~ msgstr "Объемы"
+#~ msgid "Add default servers"
+#~ msgstr "Добавить группу слоев"
 
 #~ msgid "Choose project location and mapset"
 #~ msgstr "Выбирите область проекта и набор"
@@ -19624,9 +20102,27 @@ msgstr "Исполнить команду"
 #~ msgid "No GRASS location found in '%s'."
 #~ msgstr "Выбирите область проекта и набор"
 
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "Обработать растровый слой"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Добавить импортированные слои в содержание"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Добавить импортированные слои в содержание"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Импорт старых версий векторных слоев GRASS."
+
 #~ msgid "Vector to volume"
 #~ msgstr "Вектор в объем"
 
+#~ msgid "Sites to vector"
+#~ msgstr "Сайты в вектор"
+
 #, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "3D растровый калькулятор"
@@ -19652,11 +20148,9 @@ msgstr "Исполнить команду"
 #~ msgid "Voxel statistics"
 #~ msgstr "Общая статистика"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Импорт старых версий векторных слоев GRASS."
-
-#~ msgid "Sites to vector"
-#~ msgstr "Сайты в вектор"
+#, fuzzy
+#~ msgid "Volume"
+#~ msgstr "Объемы"
 
 #, fuzzy
 #~ msgid ""
@@ -19689,6 +20183,5 @@ msgstr "Исполнить команду"
 #~ msgstr ""
 #~ "Рассчитать одномерную статистику для ненулевых ячеек растрового слоя."
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Менеджер атрибутивной таблицы"
+#~ msgid "Digitize"
+#~ msgstr "Оцифровать"
diff --git a/locale/po/grasswxpy_th.po b/locale/po/grasswxpy_th.po
index b7251a4..31999c8 100644
--- a/locale/po/grasswxpy_th.po
+++ b/locale/po/grasswxpy_th.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_th\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2008-01-05 15:19+0700\n"
 "Last-Translator: \n"
 "Language-Team: Thai <grass-translations at lists.osgeo.org>\n"
@@ -29,7 +29,7 @@ msgid "Name of raster map:"
 msgstr "ส่งออกแผนที่แรสเตอร์"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 #, fuzzy
 msgid "Name of vector map:"
 msgstr "ส่งออกแผนที่เวคเตอร์"
@@ -140,7 +140,7 @@ msgstr "ตำแหน่ง"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "ชั้นข้อมูล"
@@ -210,14 +210,14 @@ msgid "Reload"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -249,8 +249,8 @@ msgstr "ลิสต์ตาราง"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "สี"
@@ -281,9 +281,10 @@ msgstr "ดัชนี Shape"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr ""
 
@@ -291,14 +292,14 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 #, fuzzy
 msgid "Data"
 msgstr "ชนิดข้อมูล"
@@ -334,13 +335,13 @@ msgid "Comment"
 msgstr "Columns"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 msgid "Model properties"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr ""
 
@@ -351,7 +352,7 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "ยอมให้เขียนทับไฟล์ที่มีอยู่แล้ว"
@@ -371,10 +372,10 @@ msgstr ""
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr ""
 
@@ -438,13 +439,13 @@ msgstr "แผนที่แรสเตอร์"
 msgid "3D raster maps"
 msgstr "แผนที่แรสเตอร์"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 #, fuzzy
 msgid "Vector maps"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr ""
@@ -474,25 +475,25 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 #, fuzzy
 msgid "Model parameters"
 msgstr "ตัวแปร Terrain"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "ลบ filtered"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 #, fuzzy
 msgid "Variables"
 msgstr "ลิสต์ตาราง"
@@ -515,7 +516,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr ""
 
@@ -579,7 +580,7 @@ msgid "Choose model file"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr ""
 
@@ -606,7 +607,7 @@ msgstr ""
 msgid "Choose file to save current model"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -626,7 +627,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -637,7 +638,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "เพิ่มชั้นข้อมูลคำสั่ง"
@@ -667,7 +668,7 @@ msgstr ""
 msgid "Writing current settings to model file failed."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr ""
@@ -676,15 +677,15 @@ msgstr ""
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -765,10 +766,10 @@ msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr ""
 
@@ -790,13 +791,13 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "แผนที่เชิงภาพ"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "เวคเตอร์"
 
@@ -811,7 +812,7 @@ msgid "mapset"
 msgstr "ชุดแผนที่:"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "บันทึก"
@@ -946,7 +947,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr ""
 
@@ -967,7 +968,7 @@ msgstr "เอาไฟล์ชิ้นส่วนข้อมูลฐาน
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 msgid "Invalid input"
@@ -998,8 +999,8 @@ msgstr ""
 msgid "Label font size (pts):"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1046,9 +1047,9 @@ msgstr ""
 msgid "No map or image group selected to plot."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr ""
 
@@ -1076,8 +1077,8 @@ msgstr "สีเส้น"
 msgid "Line width"
 msgstr "เส้นกว้าง"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr ""
 
@@ -1091,19 +1092,19 @@ msgid "Transect segment marker settings"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "Fill lake"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr ""
 
@@ -1341,19 +1342,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr ""
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1456,7 +1457,7 @@ msgid "Output"
 msgstr "ส่งออก"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "ตัวแปร"
 
@@ -1496,8 +1497,7 @@ msgid "Analysing..."
 msgstr "การวิเคราะห์ Lidar"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "ตั้งค่า"
@@ -1553,7 +1553,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "กฎของสี"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 #, fuzzy
@@ -1579,10 +1579,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr ""
 
@@ -1603,12 +1604,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "วเคราะหโครงขาย"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1616,47 +1617,47 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "เอาไฟล์ชิ้นส่วนข้อมูลฐานออกจาก ชุดแผนที่ของผู้ใช้"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 msgid "Creation of turntable failed."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1664,208 +1665,208 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 msgid "Overwrite map"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "ลบชั้นข้อมูล"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "เอาตารางออก"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "เอาตารางออก"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "จัดการ หรือ รายงาน หมวดหมู่"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, python-format
 msgid "Choose existing %s.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr "เอาตารางรายละเอียดของแผนที่เชิงเส้นออก"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "ชนิดข้อมูล"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 msgid "topology"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "จุด"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "จุด"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "จุด"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "ช่องหลัก"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "หา shortest path บน vector network."
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "จุด"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "การวิเคราะห์การเดินทางของ Salesman"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "ชนิดของแหล่งข้อมูล"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "จุด"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, fuzzy, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "สร้าง Steiner tree สำหรับ network และ  terminal ที่กำหนด"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
@@ -2049,296 +2050,296 @@ msgstr ""
 msgid "Select from list of datum transformations"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "แสดง"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "Location %s ถูกสร้าง!"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 msgid "Invalid location name"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "ฐานข้อมูล:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "บันทึก"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 #, fuzzy
 msgid "Location Title:"
 msgstr "Location %s ถูกสร้าง!"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2346,31 +2347,31 @@ msgid ""
 "Details: %(err)s"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
 "need to change the default GIS data directory in the GRASS startup screen."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
@@ -2784,7 +2785,16 @@ msgstr "เพิ่มตาราง"
 msgid "Remove selected class"
 msgstr "คัดลอกหมวดหมู่"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2795,138 +2805,133 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, python-format
 msgid "Command '%s' failed\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, python-format
 msgid "Details: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "แผนที่แรสเตอร์"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "แผนที่แรสเตอร์"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "กำลังอ่านข้อมูล ..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "แผนที่แรสเตอร์"
+
+#: ../gui/wxpython/core/render.py:627
+msgid "Rendering..."
+msgstr ""
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "กำลังอ่านข้อมูล ..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "แผนที่แรสเตอร์"
-
-#: ../gui/wxpython/core/render.py:1388
-msgid "Rendering..."
-msgstr ""
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 msgid "Reason"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -2935,12 +2940,12 @@ msgid ""
 "Number of skipped lines: %(line)d"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -2949,30 +2954,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3158,39 +3168,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, python-format
 msgid "Duplicated key: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr ""
 
@@ -3257,12 +3267,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "จุด"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr ""
@@ -3277,7 +3287,7 @@ msgid "Close dialog and apply changes"
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr ""
 
@@ -3295,7 +3305,7 @@ msgstr ""
 msgid "Orientation"
 msgstr "ตำแหน่ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "กว้าง:"
@@ -3347,7 +3357,7 @@ msgid "Map frame settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 msgid "Map frame"
 msgstr ""
 
@@ -3378,7 +3388,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "ค้นหาขอบมุม"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "ชุดแผนที่:"
@@ -3404,7 +3414,7 @@ msgstr "X:"
 msgid "N:"
 msgstr "N:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "Rescale"
@@ -3419,7 +3429,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "ลำดับที่ 1"
@@ -3458,182 +3468,183 @@ msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 msgid "No region selected!"
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "แผนที่แรสเตอร์"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "แผนที่แรสเตอร์"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "แผนที่แรสเตอร์"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "เพิ่มตาราง"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "จุด"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "Flow lines"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 msgid "areas"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "ชนิดข้อมูล"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "เปลี่ยนชุดแผนที่"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "ลบ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "จัดการ projections"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "จัดการ projections"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "ค้นหาขอบมุม"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 #, fuzzy
 msgid "Feature type"
 msgstr "ลักษณะข้อมูล"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "centroids"
 msgstr "เพิ่มจุดศูนย์ถ่วง"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "แก้ไข เส้น/ขอบเขต"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "ค้นหาขอบมุม"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "ลบชั้นข้อมูล"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "เปลี่ยนชุดแผนที่"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "สี"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 msgid "Outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3641,559 +3652,559 @@ msgstr ""
 msgid "Color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "สีเส้น"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "สีเส้น"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "กฎของสี"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "Slope และ aspect"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "สัญลักษณ์"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "สัญลักษณ์"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "บันทึก"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "เปิดพื้นที่ทำงานที่มีอยู่"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "เส้น"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "Rescale"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "ตำแหน่ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "ลบคอลัมน์"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 msgid "Set width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 #, fuzzy
 msgid "multiply width by category value"
 msgstr "แก้ไขค่าหมวดหมู่ แบบโต้ตอบ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 msgid "Choose line style:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 msgid "Choose linecap:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "เปิดพื้นที่ทำงานที่มีอยู่"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "เพิ่ม legend"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 msgid "Show raster legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "ชนิดของแหล่งข้อมูล"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "จากเวคเตอร์เป็นแรสเตอร์"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "จากเวคเตอร์เป็นแรสเตอร์"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 msgid "Type of legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "ระนาบ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 #, fuzzy
 msgid "Vector map"
 msgstr "แผนที่เชิงเส้น"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr "สร้าง แถบข้อความ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "ตำแหน่ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "Columns"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "columns"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "สร้างข้อกำหนด"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "สร้างข้อกำหนด"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 msgid "use border color:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "สีพื้นหลัง:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 msgid "Unsupported units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "เส้นกว้าง"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 msgid "default"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "ชนิด"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "สร้างชุดแผนที่"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "ข้อความ SQL"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 #, fuzzy
 msgid "Text"
 msgstr "ทดสอบ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "ข้อมูล Textural"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "เน้น"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 #, fuzzy
 msgid "text border"
 msgstr "ลำดับที่ 1"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "สร้างจุด"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "สร้าง Stationing"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 msgid "Image"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "ตำแหน่ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 msgid "Rotation angle (deg):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "แสดงค่าติดตั้ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "จุด"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "สัญลักษณ์"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "สัญลักษณ์"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "สีเส้น"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "สีเส้น"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "ตำแหน่ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 msgid "Size (pt):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "Slope และ aspect"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "เส้นกว้าง"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4334,97 +4345,97 @@ msgstr ""
 msgid "labels: "
 msgstr "ชั้นข้อมูล"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, python-format
 msgid "Failed to read instruction %s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "Visibility graph construction."
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "Visibility graph construction."
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "Visibility graph construction."
@@ -4485,29 +4496,29 @@ msgstr "ตัวแปร"
 msgid "degree"
 msgstr ""
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 msgid "Unable to run `ps.map -b`"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 #, fuzzy
 msgid "Generate PostScript output"
 msgstr "เครื่องมือสร้างแผนที่ ผลลัพธ์ แบบ Hardcopy PostScript"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 #, fuzzy
 msgid "Generate PDF output"
 msgstr "สร้างจุด"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4524,7 +4535,7 @@ msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "ลบข้อมูลที่เลือก"
@@ -4538,13 +4549,13 @@ msgstr "แสดง กริด"
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "เพิ่มตาราง"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "แผนที่เชิงภาพ"
@@ -4598,22 +4609,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, python-format
 msgid "Unsupported command %s."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, python-format
 msgid "Starting map display <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, python-format
 msgid "Stopping map display <%s>..."
 msgstr ""
@@ -4648,42 +4664,43 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4693,215 +4710,228 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "กำลังอ่านข้อมูล ..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "ดิจิไทซ์"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "แผนที่เชืงเส้น 3มิติ"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตที่บันทึกไว้"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "แผนที่เชืงเส้น 3มิติ"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "ความละเอียดแนว เหนือ-ใต้"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 #, fuzzy
 msgid "Projection"
 msgstr "ตำแหน่ง"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 #, fuzzy
 msgid "Use defined projection"
 msgstr "จัดการ projections"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MASK"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "ค่าพิกัด"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
@@ -4918,109 +4948,124 @@ msgstr ""
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "ส่งออกแผนที่เวคเตอร์"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Visibility graph construction."
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 #, fuzzy
 msgid "Show/hide legend"
 msgstr "เพิ่ม legend"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 msgid "Show/hide north arrow"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 msgid "Measure area"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "สร้าง 3D เวคเตอร์บนแรสเตอร์"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "สร้าง 3D เวคเตอร์บนแรสเตอร์"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "วเคราะหโครงขาย"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "ลาก เม้าส์ เพิ่อเลื่อน"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "ลาก หรือ กด เม้าส์ เพิ่อขยาย"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "ลาก หรือ กด เม้าส์ เพิ่อไม่ขยาย"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "แผนที่เชืงเส้น 3มิติ"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5801,13 +5846,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "Quantization"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "ตำแหน่ง"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr ""
@@ -5817,12 +5862,12 @@ msgstr ""
 msgid "Add time stamp"
 msgstr "เพิ่มตาราง"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "เพิ่มตาราง"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
@@ -5846,7 +5891,7 @@ msgid "Sample text"
 msgstr "Sample transects"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -5863,7 +5908,7 @@ msgid "Choose image file"
 msgstr "เปิดพื้นที่ทำงานที่มีอยู่"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "ทดสอบ"
@@ -5894,7 +5939,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -5903,14 +5948,14 @@ msgstr ""
 msgid "animation_"
 msgstr "Quantization"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "ค่าพิกัด"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "แผนที่เชิงเส้น"
@@ -6052,7 +6097,7 @@ msgstr "ชุดเครื่องมือ สำหรับ  cleaning top
 msgid "Animation Tool settings"
 msgstr "Quantization"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6108,22 +6153,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "ชื่อตาราง"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "แผนที่แรสเตอร์"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6163,7 +6208,7 @@ msgstr "เลือกวิธี rectification สำหรับแผนท
 msgid "Animation Toolbar"
 msgstr "เลือกวิธี rectification สำหรับแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 msgid "Misc Toolbar"
 msgstr ""
@@ -6208,8 +6253,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
@@ -6249,7 +6294,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr ""
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6271,37 +6316,37 @@ msgstr "เพิ่มชั้นข้อมูลข้อความ"
 msgid "No map series nor space-time dataset is added."
 msgstr "ปรับปรุง statistic ของแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6320,11 +6365,11 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6360,14 +6405,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "ส่งออกแผนที่แรสเตอร์"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "ช่วยเหลือ"
 
@@ -6384,21 +6429,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "ปรับปรุง statistic ของแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6427,605 +6472,605 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, python-format
 msgid "Time [%s]"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "ปรับปรุง statistic ของแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "ปรับปรุง statistic ของแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "ชุดแผนที่:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "เพิ่มตาราง"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 msgid "WARNING: invalid topology"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "การวิเคราะห์ Lidar"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "Quantization"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "ตัวแปร"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "ล้างค่า"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Rescale"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "สร้างชุดแผนที่"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 #, fuzzy
 msgid "Surface"
 msgstr "Cost surface"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "Cost surface"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 #, fuzzy
 msgid "Vector"
 msgstr "แผนที่เชิงเส้น"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "วิธี:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 msgid "Coarse mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "ความละเอียดแนว เหนือ-ใต้"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "Steiner tree"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "สีเส้น"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 msgid "Fine mode:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "แผนที่"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "ล้างค่า"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "สี"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "สีเส้น"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "ใหม่"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "ความละเอียดแนว เหนือ-ใต้"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "โปร่งแสง"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 #, fuzzy
 msgid "Vector lines"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 #, fuzzy
 msgid "Line:"
 msgstr "เส้น"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "กว้าง:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 #, fuzzy
 msgid "color:"
 msgstr "สี"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "ตั้งค่า"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "แสดง"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "Cost surface"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 #, fuzzy
 msgid "Vector points"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 msgid "Light source position"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "สีเส้น"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "สีพื้นหลัง:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "แผนที่เชิงภาพ"
@@ -7433,15 +7478,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, python-format
 msgid "Raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
@@ -7452,12 +7497,14 @@ msgid "3d raster map <%s> not found"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr ""
 
@@ -7473,12 +7520,14 @@ msgid "Set raster output format"
 msgstr "เลือกแบบอักษร"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr ""
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr ""
 
@@ -7502,7 +7551,7 @@ msgstr "ดาวน์โหลด และนำเข้า ข้อมู
 msgid "Add command layer"
 msgstr "เพิ่มชั้นข้อมูลคำสั่ง"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "ออก"
@@ -7611,199 +7660,202 @@ msgstr "ส่งออกแผนที่เวคเตอร์"
 msgid "Export PostGIS"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "คัดลอก ตารางรายละเอียดด้วย"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "สร้าง RGB"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr "เอาไฟล์ชิ้นส่วนข้อมูลฐานออกจาก ชุดแผนที่ของผู้ใช้"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "หยุดการแก้ไข"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Recode แบบโต้ตอบ"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogram"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "รายงานและสถต"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "ชื่อตาราง"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, python-format
 msgid "Unsupported map type <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 #, fuzzy
 msgid "Workspace Toolbar"
 msgstr "พื้นที่ทำงาน"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 msgid "Tools Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "แสดง"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "ค้นหาขอบมุม"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -7811,254 +7863,254 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 msgid "Switch to new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
 "Current mapset is <%(mapset)s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, fuzzy, python-format
 msgid "Location <%s> created"
 msgstr "Location %s ถูกสร้าง!"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "แสดง"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 #, fuzzy
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "สร้าง topology สำหรับ แผนที่เชิงเส้น GRASS."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 msgid "Choose script file to run"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 msgid "Set permission?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 msgid "Unable to set permission. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 msgid "No location/mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "สร้าง mapset ใหม่"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 msgid "No mapset provided. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, fuzzy, python-format
 msgid "Current mapset is <%s>."
 msgstr "เปลี่ยนชุดแผนที่"
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "เปลี่ยน สภาวะแวดล้อม การทำงาน"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 msgid "GRASS version"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1095
-msgid "GRASS SVN Revision"
+#: ../gui/wxpython/lmgr/frame.py:1104
+msgid "GRASS SVN revision"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+msgid "Build date"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 msgid "Enter new name:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8066,33 +8118,33 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8100,69 +8152,64 @@ msgid ""
 "from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "แผนที่แรสเตอร์"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
@@ -8236,7 +8283,7 @@ msgstr ""
 msgid "Raster Map Calculator"
 msgstr "ตัวคำนวนแผนที่"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr ""
 
@@ -8334,7 +8381,7 @@ msgid "Ignore changes and close dialog"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr ""
 
@@ -8672,29 +8719,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
@@ -8898,7 +8945,7 @@ msgstr "แผนที่เชืงเส้น 3มิติ"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr ""
 
@@ -8975,7 +9022,7 @@ msgstr ""
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr ""
 
@@ -9004,11 +9051,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr ""
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "แผนที่เชืงเส้น 3มิติ"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9033,183 +9075,183 @@ msgstr ""
 msgid "New vector map"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 #, fuzzy
 msgid " Server settings "
 msgstr "สร้างข้อกำหนด"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "ส่งออก"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "เปลี่ยนชื่อ"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 msgid "Web service layer properties"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 #, fuzzy
 msgid "Map display"
 msgstr "แสดง"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 msgid "Extent and resolution are based on computational region."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "ส่งออกแผนที่แรสเตอร์"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "เอาตารางออก"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "เอาไฟล์ชิ้นส่วนข้อมูลฐานออกจาก ชุดแผนที่ของผู้ใช้"
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "กำลังอ่านข้อมูล ..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
@@ -9320,7 +9362,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr ""
 
@@ -9336,7 +9379,7 @@ msgstr "Steiner tree"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
+msgid "Add default"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
@@ -9346,170 +9389,177 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "กลุ่มภาพเป้าหมาย ตำแหน่ง และ ชุดแผนที่  ของ GRASS"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "กลุ่มภาพเป้าหมาย ตำแหน่ง และ ชุดแผนที่  ของ GRASS"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "จุด"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 #, fuzzy
 msgid "&Browse"
 msgstr "แสดง"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr "สร้าง mapset ใหม่"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "ลบ"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "ลบ"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, python-brace-format
 msgid "Error: {text}"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "สร้าง mapset ใหม่"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9517,7 +9567,7 @@ msgid ""
 "Enter new name:"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9525,7 +9575,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9533,7 +9583,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9541,7 +9591,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9549,14 +9599,14 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be deleted."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9565,11 +9615,11 @@ msgid ""
 "ALL MAPS included in this mapset will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9577,33 +9627,33 @@ msgid ""
 "ALL MAPS included in this location will be PERMANENTLY DELETED!"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "ไดเรคโทรี GIS Data ใหม่ "
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9612,17 +9662,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9634,11 +9684,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9646,7 +9696,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9654,45 +9704,176 @@ msgid ""
 "Details: %(reason)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "ชื่อตาราง"
+
+#: ../gui/wxpython/gis_set.py:1101
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
 "one now if you have not already done so. A popular choice is \"grassdata\", "
 "located in your home directory. Press Browse button to select the directory."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr ""
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "สร้าง mapset ใหม่"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "พื้นที่ทำงาน"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "ส่งออกแผนที่แรสเตอร์"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr ""
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "เปิด"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "ส่งออกแผนที่แรสเตอร์"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr ""
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "คำนวน ดัชนี shape บนแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
-msgstr "บันทึก"
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "ชุดเครื่องมือ สำหรับ  cleaning topology ของแผนที่เชิงเส้น"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "สร้าง mapset ใหม่"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "ส่งออกแผนที่แรสเตอร์"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Visibility graph construction."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Visibility graph construction."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "การวิเคราะห์ Lidar"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "สร้าง/ปรับปรุง ตารางสี ที่เกี่ยวข้องกับ ชั้นข้อมูลแผนที่เชิงภาพ"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "ดิจิไทซ์เส้นใหม่"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "ดิจิไทซ์เส้นใหม่"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "ดิจิไทซ์จุดใหม่"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "แผนที่แรสเตอร์"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "แผนที่เชืงเส้น 3มิติ"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "ส่งออกแผนที่แรสเตอร์"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "เปลี่ยนค่า"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "แผนที่แรสเตอร์"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "พื้นที่ทำงาน"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "เปิด"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr "บันทึก"
 
 #: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
 msgid "Save as"
@@ -10454,7 +10635,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr ""
 
@@ -10515,7 +10696,7 @@ msgstr ""
 msgid "Launches script file."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "ปิด"
@@ -10524,8 +10705,8 @@ msgstr "ปิด"
 msgid "Quit wxGUI session."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "ยินดีต้อนรับสู่ GRASS GIS"
@@ -12076,8 +12257,8 @@ msgid "Develop vector map"
 msgstr ""
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr ""
 
@@ -13317,7 +13498,7 @@ msgstr "แผนที่เชิงภาพ"
 #: ../gui/wxpython/menustrings.py:827 ../gui/wxpython/menustrings.py:1734
 #, fuzzy
 msgid "Develop 3D raster map"
-msgstr "แผนที่แรสเตอร์"
+msgstr "แผนที่เชิงภาพ"
 
 #: ../gui/wxpython/menustrings.py:828 ../gui/wxpython/menustrings.py:1735
 msgid "Manage 3D NULL values"
@@ -14123,16 +14304,17 @@ msgid "Plot temporal extents."
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
+#, fuzzy
 msgid "Temporal plot tool"
-msgstr ""
+msgstr "ส่งออกแผนที่แรสเตอร์"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
 msgid "&Help"
 msgstr "ช่วยเหลือ"
@@ -14256,155 +14438,164 @@ msgstr ""
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+#, fuzzy
+msgid "Add condition"
+msgstr "เพิ่มจุดศูนย์ถ่วง"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "เพิ่มชั้นข้อมูลคำสั่ง"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 #, fuzzy
 msgid "Remove item"
 msgstr "เอาตารางออก"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 #, fuzzy
 msgid "Delete intermediate data"
 msgstr "ลบ filtered"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 #, fuzzy
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "แสดงคู่มือ GRASS แบบ HTML"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 #, fuzzy
 msgid "Display information about Graphical Modeler"
 msgstr "แสดง ข้อมูลพื้นฐานของ ชั้นข้อมูลแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Visibility graph construction."
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 msgid "Close Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "เวคเตอร์"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "เพิ่ม legend"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "เพิ่มตาราง"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "แสดงคู่มือ GRASS แบบ HTML"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 msgid "About Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "แสดง ข้อมูลพื้นฐานของ ชั้นข้อมูลแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14419,114 +14610,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "ส่งออกแผนที่แรสเตอร์"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "เปลี่ยนค่าติดตั้ง"
+msgstr "ชื่อตาราง"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "เปลี่ยนข้อมูลลักษณะ"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "ส่งออกแผนที่แรสเตอร์"
+msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "ชื่อตาราง"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "ชื่อตาราง"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "ชื่อตาราง"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "ชื่อตาราง"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -14721,12 +14912,12 @@ msgstr "ข้อความ SQL"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr "เอาตารางรายละเอียดของแผนที่เชิงเส้นออก"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr ""
 
@@ -14841,7 +15032,7 @@ msgid "Field calculator"
 msgstr "Flow accumulation"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "เพิ่มตาราง"
@@ -14944,15 +15135,15 @@ msgstr ""
 msgid "Delete all records"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "เลือกทั้งหมด"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr ""
 
@@ -15123,7 +15314,7 @@ msgid "Driver"
 msgstr "รูปแบบ"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr ""
 
@@ -15246,262 +15437,262 @@ msgstr "เปลี่ยนค่าติดตั้ง"
 msgid "Field statistics <%s>"
 msgstr "สถิติทั่วไป"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "หุบทั้หมด"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "หุบทั้หมด"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "แสดง รายละเอียด ของแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "ตารางสี"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "ตารางสี"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "ตารางสี"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "ตั้งค่า"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "บันทึก GCPs เป็นแฟ้มข้อมูลจุด"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "บันทึก GCPs เป็นแฟ้มข้อมูลจุด"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "บันทึก GCPs เป็นแฟ้มข้อมูลจุด"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "เอาตารางออก"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "แสดงตัวอย่าง"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 msgid "Nothing to save."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "ตารางสี"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 #, fuzzy
 msgid "Enter raster category values or percents"
 msgstr "แก้ไขค่าหมวดหมู่ แบบโต้ตอบ"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 msgid "fp range"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "สร้าง topology สำหรับ แผนที่เชิงเส้น GRASS."
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "แก้ไขค่าหมวดหมู่ แบบโต้ตอบ"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "แสดง รายละเอียด ของแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "ชั้นข้อมูล:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 msgid "Load color from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "บันทึก GCPs เป็นแฟ้มข้อมูลจุด"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 msgid "Load size from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "แผนที่เชิงภาพ  Series ไปเป็น ปริมาตร"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Load width from column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "คัดลอก ตารางรายละเอียดด้วย"
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "ตารางสี"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 msgid "No database connection defined"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 msgid "Please wait, loading data from attribute table..."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "แก้ไขค่าหมวดหมู่ แบบโต้ตอบ"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "แสดง รายละเอียด ของแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "ชุดเครื่องมือ สำหรับ  cleaning topology ของแผนที่เชิงเส้น"
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 msgid "No color column defined. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15556,24 +15747,24 @@ msgstr ""
 msgid ":"
 msgstr "X:"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 #, fuzzy
 msgid "Model: "
 msgstr "วิธี:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -15796,7 +15987,7 @@ msgid "Save expression to file"
 msgstr "บันทึก GCPs เป็นแฟ้มข้อมูลจุด"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr ""
 
@@ -15805,7 +15996,7 @@ msgid "Load expression from file"
 msgstr ""
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr ""
 
@@ -15974,118 +16165,286 @@ msgstr ""
 msgid "'{cmd}' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:53
-msgid "List of extensions - double-click to install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:60
+#, fuzzy
+msgid "List of raster layers"
+msgstr "ลิสต์ filtered"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
-msgid "Options"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:62
+#, fuzzy
+msgid "List of vector layers"
+msgstr "ลิสต์ filtered"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "ลิสต์ filtered"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+#, fuzzy
+msgid "Layer id"
+msgstr "ชั้นข้อมูล"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "ตำแหน่ง"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Show manual page"
-msgstr "แผนที่ Shadow"
-
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
+msgid "Source settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "จัดการ projections"
-
-#: ../gui/wxpython/modules/extensions.py:365
-msgid "List of installed extensions"
-msgstr ""
+msgid "Import settings"
+msgstr "สร้างข้อกำหนด"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Uninstall"
-msgstr "จัดการ projections"
+msgid "Add linked layers into layer tree"
+msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/modules/extensions.py:371
-#, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "จัดการ projections"
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:373
-#, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "จัดการ projections"
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "No layers selected. Operation canceled."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/modules/extensions.py:427
-#, python-format
-msgid ""
-"List of files to be removed:\n"
-"%(files)s\n"
-"\n"
-"Do you want really to remove <%(ext)s> extension?"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:397
+#, fuzzy
+msgid "Unable to determine number of raster bands"
+msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/import_export.py:591
 #, fuzzy
-msgid "Remove extension"
-msgstr "ลบ vertex"
+msgid "Define output format for vector data"
+msgstr "แสดง ข้อมูลพื้นฐานของ ชั้นข้อมูลแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/modules/extensions.py:461
-msgid "Extension"
+#: ../gui/wxpython/modules/import_export.py:593
+#, fuzzy
+msgid "Define output format for raster data"
+msgstr "แสดง ข้อมูลพื้นฐานของ ชั้นข้อมูลแผนที่เชิงภาพ"
+
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "ตำแหน่ง"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "ส่งออกแผนที่เวคเตอร์"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+msgid "Layers to be reprojected"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "ลบข้อมูลที่เลือก"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+msgid "List of extensions - double-click to install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:71
+msgid "Options"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "จัดการ projections"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "แผนที่ Shadow"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "เปลี่ยนค่าติดตั้ง"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "จัดการ projections"
+
+#: ../gui/wxpython/modules/extensions.py:366
+msgid "List of installed extensions"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "จัดการ projections"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "จัดการ projections"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "จัดการ projections"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
+
+#: ../gui/wxpython/modules/extensions.py:428
+#, python-format
+msgid ""
+"List of files to be removed:\n"
+"%(files)s\n"
+"\n"
+"Do you want really to remove <%(ext)s> extension?"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:431
+#, fuzzy
+msgid "Remove extension"
+msgstr "ลบ vertex"
+
+#: ../gui/wxpython/modules/extensions.py:462
+msgid "Extension"
 msgstr ""
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr ""
 
@@ -16227,7 +16586,7 @@ msgid ""
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
@@ -16265,11 +16624,6 @@ msgstr "บันทึก"
 msgid "Export training areas"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "คัดลอก ตารางรายละเอียดด้วย"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16298,22 +16652,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "กำลังอ่านข้อมูล ..."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "กำลังอ่านข้อมูล ..."
@@ -16357,152 +16711,152 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "เลือกวิธี rectification สำหรับแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 msgid "IClass Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 msgid "IClass Misc Toolbar"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "เลือกวิธี rectification สำหรับแผนที่เชิงภาพ"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "แสดง"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "แสดง"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "ความละเอียดแนว เหนือ-ใต้"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "ความละเอียดแนว เหนือ-ใต้"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 #, fuzzy
 msgid "Import vector map"
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Visibility graph construction."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "Visibility graph construction."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "การวิเคราะห์ Lidar"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 msgid "No areas given. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr ""
 
@@ -16964,85 +17318,225 @@ msgstr ""
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "ไดเรคโทรี GIS Data ใหม่ "
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Visibility graph construction."
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Visibility graph construction."
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "เปลี่ยนชื่อ"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "แผนที่แรสเตอร์"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "จุด"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "เปลี่ยนชื่อ"
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "คัดลอกตาราง"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "สร้าง mapset ใหม่"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "ลบทั้งหมด"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "ลบ"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "แสดง"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "คัดลอก"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "แผนที่เชิงภาพ"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "แสดง"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "เพิ่ม legend"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 msgid "north arrow"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 msgid "Copy coordinates to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "เลือกวิธี rectification สำหรับแผนที่เชิงภาพ"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "เลือกวิธี rectification สำหรับแผนที่เชิงภาพ"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "แสดงค่าติดตั้ง"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "เพิ่ม legend"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "ย่อ/ขยาย ไปที่ขอบเขตหลัก"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -17134,568 +17628,468 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 #, fuzzy
 msgid "Select GRASS location and mapset"
 msgstr "กลุ่มภาพเป้าหมาย ตำแหน่ง และ ชุดแผนที่  ของ GRASS"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 #, fuzzy
 msgid "Name of mapset:"
 msgstr "สร้างชุดแผนที่"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "สร้างชุดแผนที่"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "ส่งออกแผนที่เวคเตอร์"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "สร้าง/แก้ไข กลุ่ม"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "แผนที่เชิงภาพ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 msgid "Remove selected layer(s) from list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 msgid "Unapplied changes"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, python-format
 msgid "Creating of new group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "ชนิดข้อมูล"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "เลือกทั้งหมด"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "ชุดแผนที่:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
 msgid "Invert selection"
 msgstr "ค้นหาขอบมุม"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "ลิสต์ filtered"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "ลิสต์ filtered"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "ลิสต์ filtered"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "ชั้นข้อมูล"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "ส่งออกแผนที่เวคเตอร์"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "ตำแหน่ง"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "เพิ่มชั้นข้อมูลข้อความ"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "แสดง ข้อมูลพื้นฐานของ ชั้นข้อมูลแผนที่เชิงภาพ"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "แสดง ข้อมูลพื้นฐานของ ชั้นข้อมูลแผนที่เชิงภาพ"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 msgid "Image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "ข้อความ SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "สัญลักษณ์"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "สัญลักษณ์"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "ชื่อตาราง"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 msgid "Not selectable element"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "ชนิด"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "สร้างข้อกำหนด"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "เปลี่ยนค่าติดตั้ง"
+msgid "Source input"
+msgstr "ชนิดของแหล่งข้อมูล"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "บันทึก"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "ระเบียบการ"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "ส่งออก"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "ชนิดของแหล่งข้อมูล"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "ข้อมูล Textural"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "ข้อมูล Textural"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "ข้อมูล Textural"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "ข้อมูล Textural"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 msgid "Choose file to import"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "ลักษณะข้อมูล"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "ขอมล Transform"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 msgid "topological"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "สร้าง mapset ใหม่"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "แผนที่เชืงเส้น 3มิติ"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -17820,6 +18214,7 @@ msgid "Module dialog style:"
 msgstr ""
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 #, fuzzy
 msgid "Map Display"
 msgstr "แสดง"
@@ -17923,7 +18318,7 @@ msgstr "สีเส้น"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "โปร่งแสง"
 
@@ -18210,6 +18605,49 @@ msgstr "ทดสอบ"
 msgid "Nothing found"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "หมวด"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "ข้อมูลที่ใกล้ที่สุด"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "สร้าง mapset ใหม่"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr ""
@@ -18254,6 +18692,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -18327,106 +18769,106 @@ msgstr ""
 msgid "&Previous"
 msgstr "แสดงตัวอย่าง"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 #, fuzzy
 msgid "Required"
 msgstr "ต้องการ"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 msgid "Parameterized in model"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 msgid "valid range"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "สร้าง mapset ใหม่"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "เอาตารางออก"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "Recode แบบโต้ตอบ"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 msgid "Nothing to load."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18434,28 +18876,28 @@ msgid ""
 "Reason: %s"
 msgstr "ซ้อนทับ แผนที่เชิงเส้น 2 แผนที่"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "บันทึก"
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, python-format
 msgid "Unable to parse command '%s'"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -18513,68 +18955,79 @@ msgstr "สร้างชุดแผนที่"
 msgid "Change layer opacity"
 msgstr "สร้างชุดแผนที่"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "ข้อมูล Textural"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "สร้างข้อกำหนด"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "ลบข้อมูลที่เลือก"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
-#, fuzzy
-msgid "Load settings:"
-msgstr "แสดงค่าติดตั้ง"
+#: ../gui/wxpython/gui_core/widgets.py:1190
+msgid "Load:"
+msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "สร้างข้อกำหนด"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "ไม่มีชั้นข้อมูลถูกเลือก"
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "เปลี่ยนค่าติดตั้ง"
@@ -18681,11 +19134,11 @@ msgstr "สร้าง 3D เวคเตอร์บนแรสเตอร
 msgid "Select graphics tool"
 msgstr "ส่งออกแผนที่แรสเตอร์"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "เพิ่มชั้นข้อมูลข้อความ"
@@ -18699,6 +19152,18 @@ msgstr "เพิ่มชั้นข้อมูลข้อความ"
 #~ msgstr "แผนที่เชิงภาพไม่ใช่ 3มิติ"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "ชื่อตาราง"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "แผนที่เชืงเส้น 3มิติ"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "คัดลอกตาราง"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "ลิสต์ filtered"
 
@@ -18715,16 +19180,18 @@ msgstr "เพิ่มชั้นข้อมูลข้อความ"
 #~ msgstr "ปรับปรุง statistic ของแผนที่เชิงภาพ"
 
 #, fuzzy
-#~ msgid "Add condition"
-#~ msgstr "เพิ่มจุดศูนย์ถ่วง"
+#~ msgid "Load settings:"
+#~ msgstr "แสดงค่าติดตั้ง"
 
 #, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "เพิ่มชั้นข้อมูลข้อความ"
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "ส่งออก แผนที่เชิงเส้น GRASS เป็น SVG."
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "เพิ่มชั้นข้อมูลข้อความ"
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "นำเข้า แผนที่เชิงเส้น รุ่นเก่า ของ GRASS"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -18741,18 +19208,12 @@ msgstr "เพิ่มชั้นข้อมูลข้อความ"
 #~ msgstr "ค่าพิกัด"
 
 #, fuzzy
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "ส่งออก แผนที่เชิงเส้น GRASS เป็น SVG."
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "นำเข้า แผนที่เชิงเส้น รุ่นเก่า ของ GRASS"
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "คัดลอกรายละเอียด"
 
 #, fuzzy
-#~ msgid "Volume"
-#~ msgstr "columns"
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "ปรับปรุง statistic ของแผนที่เชิงภาพ"
 
 #, fuzzy
 #~ msgid "&Create mapset"
@@ -18762,19 +19223,31 @@ msgstr "เพิ่มชั้นข้อมูลข้อความ"
 #~ msgid "No GRASS location found in '%s'."
 #~ msgstr "กลุ่มภาพเป้าหมาย ตำแหน่ง และ ชุดแผนที่  ของ GRASS"
 
-#~ msgid "Vector to volume"
-#~ msgstr "แผนที่เชิงเส้น ไปเป็น ปริมาตร"
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
 #, fuzzy
-#~ msgid "V&olumes"
-#~ msgstr "columns"
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "เพิ่มชั้นข้อมูลข้อความ"
 
 #~ msgid "Imports older versions of GRASS vector maps."
 #~ msgstr "นำเข้า แผนที่เชิงเส้น รุ่นเก่า ของ GRASS"
 
+#~ msgid "Vector to volume"
+#~ msgstr "แผนที่เชิงเส้น ไปเป็น ปริมาตร"
+
 #~ msgid "Sites to vector"
 #~ msgstr "Sites ไปเป็น แผนที่เชิงเส้น"
 
+#, fuzzy
+#~ msgid "V&olumes"
+#~ msgstr "columns"
+
+#, fuzzy
+#~ msgid "Volume"
+#~ msgstr "columns"
+
 #~ msgid ""
 #~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
 #~ "vector points map."
@@ -18810,6 +19283,5 @@ msgstr "เพิ่มชั้นข้อมูลข้อความ"
 #~ "registered raster3d map of a space time raster3d dataset."
 #~ msgstr "คำนวน univariate statistics จาก non-null 3d cells ของแผนที่เชิงภาพ3d"
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "คัดลอกรายละเอียด"
+#~ msgid "Digitize"
+#~ msgstr "ดิจิไทซ์"
diff --git a/locale/po/grasswxpy_tr.po b/locale/po/grasswxpy_tr.po
index 5cc774f..121182d 100644
--- a/locale/po/grasswxpy_tr.po
+++ b/locale/po/grasswxpy_tr.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_tr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2010-12-01 03:06+0200\n"
 "Last-Translator: Fatih <bounfat at gmail.com>\n"
 "Language-Team: Türkçe <grass-translations at lists.osgeo.org>\n"
@@ -31,7 +31,7 @@ msgid "Name of raster map:"
 msgstr "Yeniden kodlanan raster harita:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 #, fuzzy
 msgid "Name of vector map:"
 msgstr "Yeni vektör harita için ad:"
@@ -154,7 +154,7 @@ msgstr "Seçimlik"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "Katman"
@@ -228,15 +228,15 @@ msgid "Reload"
 msgstr "Yeniden yükle"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 #, fuzzy
 msgid "No"
 msgstr "K"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "Evet"
 
@@ -268,8 +268,8 @@ msgstr "Tabloları listele"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Renk"
@@ -301,9 +301,10 @@ msgstr "Şekil indeksi"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Genişlik:"
 
@@ -311,14 +312,14 @@ msgstr "Genişlik:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Yükseklik:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 msgid "Data"
 msgstr "Veri"
 
@@ -353,14 +354,14 @@ msgid "Comment"
 msgstr "Komut"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 #, fuzzy
 msgid "Model properties"
 msgstr "Katman özellikleri"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Meta veri                                    "
 
@@ -372,7 +373,7 @@ msgstr "Komut"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Çıktı dosyaları mevcut dosyalar üzerine yaz"
@@ -393,10 +394,10 @@ msgstr "Diyaloğu kapat ve değişiklikleri yok say"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 #, fuzzy
 msgid "Name:"
 msgstr "Değişiklikleri kaydet"
@@ -468,13 +469,13 @@ msgstr "Raster harita"
 msgid "3D raster maps"
 msgstr "3b raster harita"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 #, fuzzy
 msgid "Vector maps"
 msgstr "Vektör noktalar"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "bilinmeyen"
@@ -504,25 +505,25 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 #, fuzzy
 msgid "Model parameters"
 msgstr "Arazi parametreleri"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "Süzgeçleneni sil"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "Çalıştı&r"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 #, fuzzy
 msgid "Variables"
 msgstr "Hacimler"
@@ -546,7 +547,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Komut Çıktısı"
 
@@ -622,7 +623,7 @@ msgid "Choose model file"
 msgstr "EPSG-Kodları dosyasını Seç"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "GRASS Örnek Dosya (*.gxm)|*.gxm"
 
@@ -653,7 +654,7 @@ msgstr "<%s> NOKTA dosyası kaydedildi"
 msgid "Choose file to save current model"
 msgstr "Geçerli çalışma alanının kaydedileceği dosyayı seç"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr "Dosya zaten var"
 
@@ -676,7 +677,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr "Model geçerlidir."
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -688,7 +689,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Komut katmanı ekle"
@@ -722,7 +723,7 @@ msgstr "Lütfen bekleyin, veri yükleniyor..."
 msgid "Writing current settings to model file failed."
 msgstr "Geçerli ayarların çalışma alanı dosyasına kaydında hata (%s)."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, fuzzy, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "<%s> dosyası okuma için açılamıyor."
@@ -731,15 +732,15 @@ msgstr "<%s> dosyası okuma için açılamıyor."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -823,10 +824,10 @@ msgstr "Değeri ayarla"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Açıklama"
 
@@ -851,13 +852,13 @@ msgid "string"
 msgstr "Uyarı"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "vektör"
 
@@ -872,7 +873,7 @@ msgid "mapset"
 msgstr "Harita takımı"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "Kesit"
@@ -1020,7 +1021,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Raster haritayı seç:"
 
@@ -1043,7 +1044,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 #, fuzzy
@@ -1076,8 +1077,8 @@ msgstr "Y-Ekseni etiketi:"
 msgid "Label font size (pts):"
 msgstr "Etiket yazı tipi büyüklüğü(punto):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1127,9 +1128,9 @@ msgstr "Kesit ayarları '%s' dosyasına kaydedildi."
 msgid "No map or image group selected to plot."
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Uyarı"
 
@@ -1157,8 +1158,8 @@ msgstr "Çizgi renkleri"
 msgid "Line width"
 msgstr "Çizgi genişliği"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Çizgi stili"
 
@@ -1172,19 +1173,19 @@ msgid "Transect segment marker settings"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Boyut"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "Dosya"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Stil"
 
@@ -1429,19 +1430,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Sayfa ayarı"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Yazdırma önizleme"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1547,7 +1548,7 @@ msgid "Output"
 msgstr "Çıktı"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Parametreler"
 
@@ -1587,8 +1588,7 @@ msgid "Analysing..."
 msgstr "Analiz"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Ayarlar"
@@ -1645,7 +1645,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Seçileni YKN temizle"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 #, fuzzy
@@ -1672,10 +1672,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Pencereyi kapat"
 
@@ -1696,12 +1697,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Ağ(şebeke) analizi"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1709,50 +1710,50 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "<%s> bölge dosyası zaten var. Üzerine yazılmasını istermisin?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr ""
 "Kullanıcının geçerli harita takımındaki veritabanı elemanı dosyalarını "
 "yeniden adlandırır."
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "<%s> bölge dosyası zaten var. Üzerine yazılmasını istermisin?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Üzerine yaz?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "<%s> vektör haritasına yeni obje eklemede hata."
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1760,89 +1761,89 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "<%s> bölge dosyası zaten var. Üzerine yazılmasını istermisin?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "<%s> bölge dosyası zaten var. Üzerine yazılmasını istermisin?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Ayarlanamıyor"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "<%s> bölge dosyası zaten var. Üzerine yazılmasını istermisin?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Üzerine yaz?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Harita katmanları"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Katman ekle"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Katmanları yönet"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Kategorileri yönet veya raporla"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Seç %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
@@ -1851,121 +1852,121 @@ msgstr ""
 "Verilen vektör haritaya bağlı öznitelik tablosundaki sütunu yeniden "
 "adlandırır."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "kullan"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Veri tipi"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "Topoloji oluştur/yeniden kur"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "nokta"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "nokta"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Sol: yeni nokta"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Anahtar sütun"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "En kısa yol"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "nokta"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Kaynak tipi"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Noktaları göster"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Harita katmanını kaldır"
@@ -2151,305 +2152,305 @@ msgstr "Datum dönüşümünü seçin"
 msgid "Select from list of datum transformations"
 msgstr "Datum dönüşümleri listesi"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "GRASS Veritabanı ve Konum Adını Belirle"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Göz at"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "CBS Veri Dizini:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Proje Konumu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "CBS Veri Dizinini seç:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "Mevki Adı:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "Geçersiz mevki seçildi."
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "GRASS veri dizinini seç:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Mevki Grass Veritabanında zaten mevcut."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Mevki oluşturulamıyor"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Yeni Konum Oluşturma Yöntemini Seçin"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 #, fuzzy
 msgid "Select EPSG code of spatial reference system"
 msgstr "Koordinat Sistemi EPSG kodunu Seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 #, fuzzy
 msgid "Select coordinate system parameters from a list"
 msgstr "Koordinat Sistemini Seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Kartezyen koordinat sisteminde olduğu varsayılır"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Projeksiyonu Seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Kod"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Projeksiyon kodu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Açıklamada ara:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Liste okunamıyor: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 #, fuzzy
 msgid "Choose projection parameters"
 msgstr "Projeksiyonu Seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 #, fuzzy
 msgid "Select datum or ellipsoid (next page)"
 msgstr "İlgili elipsoid için Datum'u seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 #, fuzzy
 msgid "Datum with associated ellipsoid"
 msgstr "İlgili elipsoid için Datum'u seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 #, fuzzy
 msgid "Ellipsoid only"
 msgstr "Elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr " %s için bir değer girmelisin."
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, fuzzy, python-format
 msgid " Enter parameters for %s projection "
 msgstr "için parametreleri gir"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Geodetic Datumu belirle"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Elipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Datum kodu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Elipsoidi belirle"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "Veritabanı"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Elipsoid kodu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Coğrafi referanslı dosyayı seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Coğrafi referanslı dosya:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "WKT dosyası:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "EPSG Kodunu Seç:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "EPSG-kodları dosyası yolu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "EPSG Kodu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "EPSG-Kodları dosyasını Seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "EPSG Kodları okunamıyor: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Coğrafi referans parametrelerini belirleme yöntemini seç"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "PROJ.4 parametreleri girin:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Datum dönüşümü gerekli."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Özet"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "GRASS Veritabanı:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Mevki Adı:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 #, fuzzy
 msgid "Location Title:"
 msgstr "Mevki Adı:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Projeksiyon:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "PROJ.4 Tanımı:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "<%s> GRASS mevkisini oluşturmak istiyormusun?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Yeni Mevki oluşturayım mı?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Yeni GRASS konumu belirle"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, fuzzy, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2457,15 +2458,15 @@ msgid ""
 "Details: %(err)s"
 msgstr "Yeni mevki oluşturulamıyor. <%s> mevkisi oluşturulamadı."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Konum sihirbazı iptal edildi. Konum oluşturulamadı."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Yeni mevki oluşturulamıyor"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, fuzzy, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2474,17 +2475,17 @@ msgstr ""
 "Konum <%(loc)s> GIS veri dizininde<%(dir)s> yaratılacak. GIS başlangıç "
 "ekranında varsayılan GIS veri dizinini değiştirmek zorunda kalacaksınız."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 #, fuzzy
 msgid "New GIS data directory"
 msgstr "CBS Veri Dizini:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "EPSG kodu kayıp."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "dosya bulunamadı"
@@ -2907,7 +2908,16 @@ msgstr "Etiket ekle"
 msgid "Remove selected class"
 msgstr "Seçilmiş harita takımını yeniden adlandır"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2918,140 +2928,135 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "Komut tamamlandı"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "Ayrıntılar:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "Harita katmanını kaldır"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Veri yükleniyor..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Render"
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Varsayılan bölgeyi yakınlaştır"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "EPSG Kodları okunamıyor: %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Geçersiz Değer: %s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "<%s> raster haritası büyütülemiyor."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Ayrıntılar:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "<%s> raster haritası büyütülemiyor."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Veri yükleniyor..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Render"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Render"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 #, fuzzy
 msgid "Reason"
 msgstr "Bölge"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "İleti"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Çalıştırmada hata:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Hata:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "'%s' komutu çalıştırılamıyor"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Hata %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "<%s> dosyası okuma için açılamıyor."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -3060,12 +3065,12 @@ msgid ""
 "Number of skipped lines: %(line)d"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr " satır %d"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -3074,30 +3079,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "dosya bulunamadı"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Komuttan vazgeçildi"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Komut tamamlandı"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3288,39 +3298,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "<%s> yeni vektör haritası oluşturuldu "
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, fuzzy, python-format
 msgid "failed to open '%s'"
 msgstr "Dosya açılamıyor"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "<%s> dosyası okuma için açılamıyor."
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Tekrarlanmış öznitelikler"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "EPSG Kodları okunamıyor: %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Renk Seç"
 
@@ -3387,12 +3397,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "Format:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 #, fuzzy
 msgid "Font size:"
@@ -3409,7 +3419,7 @@ msgid "Close dialog and apply changes"
 msgstr "Diyaloğu kapat ve değişiklikleri yok say"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Değişiklikleri uygula"
 
@@ -3428,7 +3438,7 @@ msgstr "Format:"
 msgid "Orientation"
 msgstr "Döndürme:"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "Genişlik:"
@@ -3480,7 +3490,7 @@ msgid "Map frame settings"
 msgstr "Raster ayarları"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 #, fuzzy
 msgid "Map frame"
 msgstr "Harita ölçeği"
@@ -3513,7 +3523,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "Projeksiyonları yönet"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "Harita takımı:"
@@ -3541,7 +3551,7 @@ msgstr "D:"
 msgid "N:"
 msgstr "K:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "Stil:"
@@ -3556,7 +3566,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "1. derece"
@@ -3596,185 +3606,186 @@ msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 msgid "No region selected!"
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Raster harita"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "Raster harita"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "Raster harita"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "Veri ekle"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "nokta"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "hassas"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 #, fuzzy
 msgid "areas"
 msgstr "alan"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "Veri tipi"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Ekle"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "Vektör haritayı temizle"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Sil"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "Özellikler"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "Raster ayarları"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "Vektör ayarları"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "Özellikler"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "Yeni kayıt gir"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 #, fuzzy
 msgid "Feature type"
 msgstr "Obje numarası:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "centroids"
 msgstr "Alan merkezi ekle"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "Çizgi/sınır düzenle"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "Yeni kayıt gir"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "DB dosyasında veritabanı bağlantısı belirlenmedi."
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "&Katman sil"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Maske"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "Geçerli çalışma alanı dosyasını kapat"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "Renk"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 #, fuzzy
 msgid "Outline"
 msgstr "hassas"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 #, fuzzy
 msgid "Width (pts):"
 msgstr "Genişlik:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3782,573 +3793,573 @@ msgstr "Genişlik:"
 msgid "Color:"
 msgstr "Renk:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "Çizgi renkleri"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "Dizini seç:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "Renk kuralları"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "Çizgi stili"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Semboloji"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "sembol:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "WKT dosyası:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "DXF dosyasını Seç:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "Boyut"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 #, fuzzy
 msgid "size from map table column:"
 msgstr "Tüm sütunları kaldır"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "Yeniden ölçekle"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "Döndürme:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "Tüm sütunları kaldır"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 #, fuzzy
 msgid "Set width (pts):"
 msgstr "Çizgi kalınlığı (piksel olarak)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 #, fuzzy
 msgid "multiply width by category value"
 msgstr "Kategori değerlerini etkileşimli olarak düzenle"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "DXF dosyasını Seç:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "DXF dosyasını Seç:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "aster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "Girdi dizinini seç"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 #, fuzzy
 msgid "pattern line width (pts):"
 msgstr "Çizgi kalınlığı (piksel olarak)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 msgid "pattern scale factor:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "Raster serisi"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "Açıklamaları göster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "Kaynak adı"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "Vektörden raster'e"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "Raster haritayı seç:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "Açıklamaları göster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "Gelişmiş ayarlar"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "Yönet"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "Vektör çizgiler"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 #, fuzzy
 msgid "Show vector legend"
 msgstr "Vektör çizgileri göster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "Vektör haritaları çakıştır."
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "Vektör harita"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr "Etiket ekle"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Konum"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "Hacimler"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "Sütun ekle"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "Sunucu ayarları"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "Genel Ayarlar"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 #, fuzzy
 msgid "use border color:"
 msgstr "kullan| X koordinatı"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "Arkaplan rengi:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 #, fuzzy
 msgid "Unsupported units"
 msgstr "Desteklenmeyen katman tipi '%s'"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "uzunluk"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 #, fuzzy
 msgid "default"
 msgstr "Varsayılan"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "Tip"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "Harita takımını yeniden adlandır"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "Açıklama"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 #, fuzzy
 msgid "Text"
 msgstr "Sınama"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Metin gir:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "Metin ayarları"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "Vurgula"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 #, fuzzy
 msgid "text border"
 msgstr "1. derece"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "Sol: yeni nokta"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "Metin ayarları"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "Görüntü"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "Girdi dizinini seç"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "Girdi dizinini seç"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "Ölçek ve Kuzey oku"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "Döndürme:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "EPSG Kodları okunamıyor: %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 #, fuzzy
 msgid "North Arrow"
 msgstr "Ölçek ve Kuzey oku"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "Ayarları göster"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Nokta"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "sembol:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "Kutuyla seç"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "Çizgi renkleri"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "şeffaf"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "Çizgi renkleri"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "Ölçek ve Kuzey oku"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "Boyut:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "Sembol ayarları"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "Ayarları değiştir"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "Ayarları değiştir"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "Çizgi kalınlığı (piksel olarak)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "Vektör etiketler"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4494,97 +4505,97 @@ msgstr ""
 msgid "labels: "
 msgstr "Etiket ekle"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "<%s> dosyası okuma için açılamıyor."
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, fuzzy, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr "Çözünürlük:"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "Liste okunamıyor: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "Liste okunamıyor: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "Liste okunamıyor: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "Liste okunamıyor: %s"
@@ -4645,29 +4656,29 @@ msgstr "Parametreler"
 msgid "degree"
 msgstr "dtree"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "Raster harita kaldırılamıyor"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 msgid "Generate PostScript output"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 #, fuzzy
 msgid "Generate PDF output"
 msgstr "Nokta üret"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4684,7 +4695,7 @@ msgstr "Varsayılan bölgeyi yakınlaştır"
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "Seçilen mevkiyi sil"
@@ -4699,13 +4710,13 @@ msgstr "Gridi göster"
 msgid "Quit Cartographic Composer"
 msgstr "GRASS CBS Arayüz yardımı"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "Lejand ekle"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "Katman ekle"
@@ -4759,22 +4770,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Desteklenmeyen katman tipi '%s'"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "EPSG Kodları okunamıyor: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "Yeni görüntüleyici başlat"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "EPSG Kodları okunamıyor: %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Yeni görüntüleyici başlat"
@@ -4810,42 +4826,43 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS CBS - Harita Görüntüsü"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "GRASS oturumu başlat"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS CBS Harita Görüntüsü: "
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "2B Görünüm"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr "Yeni kayıt eklemiyor."
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "Vektör sayısallaştırma aracı"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4855,136 +4872,149 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 #, fuzzy
 msgid "Starting 3D view mode..."
 msgstr "Geçerli aralık"
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Lütfen bekleyin, veri yükleniyor..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "Lütfen bekleyin, veri yükleniyor..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 #, fuzzy
 msgid "Switching back to 2D view mode..."
 msgstr "2B görünüm moduna geçiş yap"
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Harita Araçları"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Sayısallaştırma"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Vektör sayısallaştırma hatası"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 #, fuzzy
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Düzenleme için hiçbir vektör harita seçilmedi."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 #, fuzzy
 msgid "No raster or vector map layer selected for querying."
 msgstr "Sorgulama için hiçbir vektör harita seçilmedi."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Metin katmanı ekle"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Varsayılan bölgeyi yakınlaştır"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Kaydedilmiş bölgeyi yakınlaştır"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Hesaplama bölgesini seçilen haritadan ayarla (BOŞ DEĞER'leri görme)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Varsayılan bölgeyi yakınlaştır"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Hesaplama bölgesini seçilen haritadan ayarla (BOŞ DEĞER'leri görme)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Görünüş geometrisini isimlendirilmiş bölge olarak kaydet"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Hesaplama bölgesini seçilen haritadan ayarla (BOŞ DEĞER'leri görme)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Vektör sayısallaştırma aracı"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Render"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Otomatik render etkinleştirme/pasifleştirme"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Görüntü modu"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
 msgid ""
 "Align region extent based on display size from center point. Default value "
@@ -4994,17 +5024,17 @@ msgstr ""
 "harita görüntüsü için varsayılan değer 'Kullanıcı Arayüzü Ayarları' "
 "penceresinden ayarlanabilir."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "Bölgeyi göster"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Görüntü çözünürlüğünü hesaplama ayarlarına göre sınırlandır"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -5013,68 +5043,68 @@ msgstr ""
 "harita görüntüsü için varsayılan değer 'Kullanıcı Arayüzü Ayarları' "
 "penceresinden ayarlanabilir."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Harita ölçeği"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 #, fuzzy
 msgid "Projection"
 msgstr "Projeksiyon:"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 #, fuzzy
 msgid "Use defined projection"
 msgstr "Projeksiyonu Seç"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Geometriyi göster"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Koordinatlar"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Boyut"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Varsayılan bölgeyi yakınlaştır"
@@ -5091,111 +5121,126 @@ msgstr "Seçilen raster/vektör harita(lar) sorgula"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Vektör elemanları seç"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Raster ve vektör haritaları coğrafi referanslama"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Ölçek ve Kuzey okunu göster/gizle"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Açıklamayı göster/gizle"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Ölçek ve Kuzey okunu göster/gizle"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Haritayı analizi"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Mesafe Ölçümü"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Mesafe Ölçümü"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Yüzey haritası kesiti"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Görüntü veya raster dosyanın histogramını oluştur"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "Görüntü veya raster dosyanın histogramını oluştur"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Ağ(şebeke) analizi"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Kaydırma için fare ile sürükle"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "Büyültmek için fareyi sürükleyin veya tıklayın"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "Küçültmek için fareyi sürükleyin veya tıklayın"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "3B görünüm"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "3B görünüm moduna ulaşılamaz"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Sebep: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 #, fuzzy
 msgid "Vector digitizer not available"
 msgstr "Vektör sayısallaştırma aracı"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Vektör sayısallaştırma hatası"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5987,13 +6032,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "***********           Kuantumlama"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "Açıklama"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 #, fuzzy
 msgid "Export"
@@ -6004,12 +6049,12 @@ msgstr "MPEG-1 dışa aktar"
 msgid "Add time stamp"
 msgstr "tarih damgası"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Veri ekle"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "Metin katmanı ekle"
@@ -6032,7 +6077,7 @@ msgid "Sample text"
 msgstr ""
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -6049,7 +6094,7 @@ msgid "Choose image file"
 msgstr "DXF dosyasını Seç:"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Sınama"
@@ -6081,7 +6126,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "MPEG-1 dışa aktar"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -6090,14 +6135,14 @@ msgstr ""
 msgid "animation_"
 msgstr "***********           Kuantumlama"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "Format:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Dizin"
 
@@ -6240,7 +6285,7 @@ msgstr "Lütfen aşağı taşımak için bir temizleme aracı seçiniz"
 msgid "Animation Tool settings"
 msgstr "***********           Kuantumlama"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6297,22 +6342,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Geçersiz Değer: %s"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Harita katmanını kaldır"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Harita katmanını kaldır"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6352,7 +6397,7 @@ msgstr "Harita Araçları"
 msgid "Animation Toolbar"
 msgstr "Harita Araçları"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 #, fuzzy
 msgid "Misc Toolbar"
@@ -6398,8 +6443,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "<%s>haritası bulunamadı."
@@ -6443,7 +6488,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Görüntü veya raster koordinatlandırma"
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6467,37 +6512,37 @@ msgstr "İçeri aktarılan katmanları katman ağacına yükle"
 msgid "No map series nor space-time dataset is added."
 msgstr "Veritabanından üret"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6516,12 +6561,12 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 #, fuzzy
 msgid "Stop"
 msgstr "üst"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6558,14 +6603,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Görüntü veya raster dosyanın histogramını oluştur"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Çiz"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Yardım"
 
@@ -6582,21 +6627,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Kaynak harita takımını seç:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6625,615 +6670,615 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "tarih damgası"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Raster haritayı içe aktar"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Vektör haritayı içe aktar"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Raster haritayı içe aktar"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Harita takımı:"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Harita ölçeği"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "tarih damgası"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Topoloji oluştur/yeniden kur"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Pencere"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "Görünüm"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "Analiz"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "***********           Kuantumlama"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Bakış açısı:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 #, fuzzy
 msgid "Look:"
 msgstr "Bak:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "küre"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "Render"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "üst"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "Sıfırla"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Varsayılan görünüme sıfırla"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr "Resim görünümü"
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Yeniden yükle"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "Harita takımını yeniden adlandır"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 #, fuzzy
 msgid "Save image sequence"
 msgstr "Görüntü büyüklüğünü ayarla"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "Girdi dizinini seç"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Yüzey"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "yüzeyde"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vektör"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "3b raster"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 #, fuzzy
 msgid "Lighting"
 msgstr "Giriş"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 #, fuzzy
 msgid "Fringe"
 msgstr "hassas:"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Mod:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "hassas"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "her ikisi"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Gölgeleme:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "düz"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 #, fuzzy
 msgid "Set to all"
 msgstr "Varsayılanı kaydet"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "Kod"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "Çözünürlük:"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "Stil"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "tel"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "yüzey"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "Çizgi renkleri"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "Modül bul"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Yüzey öznitelikleri"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Şeffaflık"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "harita"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "sabit"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Sıfırla"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "Varsayılan görünüme sıfırla"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "renk"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "renge göre"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 #, fuzzy
 msgid "Horizontal X:"
 msgstr "Yatay açı"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 #, fuzzy
 msgid "Horizontal Y:"
 msgstr "Yatay açı"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Döndürme:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Yeni"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "Çözünürlük:"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "Hacimler"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "Şeffaflık"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Vektör çizgileri göster"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Vektör çizgiler"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 msgid "Line:"
 msgstr "Çizgi:"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "genişlik:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "renk:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Seçenekleri ayarla"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Görüntü"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "yüzeyde"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 #, fuzzy
 msgid "Height above surface:"
 msgstr "Yüzeyden olan yükseklik:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Vektör noktaları göster"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Vektör noktalar"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr "Simge:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 #, fuzzy
 msgid "3D raster map"
 msgstr "3b raster harita"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "??????????????"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Çözünürlük:"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "??????????????"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 #, fuzzy
 msgid "Show light model"
 msgstr "Çizgileri göster"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 #, fuzzy
 msgid "Light source position"
 msgstr "Kaynak mevkiyi seç:"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr "**********             Açık renk ve yoğunluk"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr "Parlaklık:"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr "K && B"
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr "K && D"
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr "G && B"
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr "G && D"
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "Çizgi renkleri"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "kullan| X koordinatı"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Katman ekle"
@@ -7652,15 +7697,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, fuzzy, python-format
 msgid "Raster map <%s> not found"
 msgstr "<%s>haritası bulunamadı."
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "<%s>haritası bulunamadı."
@@ -7671,13 +7716,15 @@ msgid "3d raster map <%s> not found"
 msgstr "<%s>haritası bulunamadı."
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 #, fuzzy
 msgid "Import raster data"
 msgstr "Raster haritayı içe aktar"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 #, fuzzy
 msgid "Link external raster data"
 msgstr "Raster harita yükleniyor"
@@ -7694,13 +7741,15 @@ msgid "Set raster output format"
 msgstr "Yazıtipini seç"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 #, fuzzy
 msgid "Import vector data"
 msgstr "Vektör haritayı içe aktar"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 #, fuzzy
 msgid "Link external vector data"
 msgstr "Temel vektör değişim verisi"
@@ -7725,7 +7774,7 @@ msgstr "WMS sunucularından veriyi indirir ve içe aktarır."
 msgid "Add command layer"
 msgstr "Komut katmanı ekle"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Çık"
@@ -7838,102 +7887,100 @@ msgstr "Vektör haritayı dışa aktar"
 msgid "Export PostGIS"
 msgstr "Modeli Python kodu olarak dışa aktar"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Öznitelik tablosu oluştur "
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "KYM oluştur"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr ""
 "Kullanıcının geçerli harita takımındaki veritabanı elemanı dosyalarını "
 "yeniden adlandırır."
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 #, fuzzy
 msgid "Set color table"
 msgstr "Renk tabloları"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Öznitelik verisini göster"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Düzeltmeyi başlat"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Düzeltmeyi durdur"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 #, fuzzy
 msgid "Rebuild topology"
 msgstr "Topoloji oluştur/yeniden kur"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 #, fuzzy
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Seçilen haritaya göre göster (BOŞ DEĞER'leri görme)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Etkileşimli olarak yeniden kodla"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Histogram"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Tek değişkenli raster istatistikleri "
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Rapor ve istatistikler"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Kesit"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "Seçileni katmanı sil"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Raster haritanın kesiti oluşturulamıyor."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "Geçersiz bölge"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Desteklenmeyen katman tipi '%s'"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Yeni harita takımı için ad gir:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
@@ -7941,110 +7988,115 @@ msgstr ""
 "<%s> vektör harita geçerli harita takımında zaten var. Üzerine yazmak "
 "istermisin?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Üzerine yaz?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "Tabloya sütun eklenemiyor. Hiçbir sütun adı belirlenmedi."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Katman grubu:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Katman ayarlarını düzenlemek için tıklayın"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(özellikleri ayarlamak için çift tıklayın)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Lütfen bekleyin, veri güncelleniyor..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS CBS Öznitelik Tablo Yöneticisi"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 #, fuzzy
 msgid "Workspace Toolbar"
 msgstr "Çalışma alanı"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 #, fuzzy
 msgid "Data Toolbar"
 msgstr "Harita Araçları"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 #, fuzzy
 msgid "Tools Toolbar"
 msgstr "Harita Araçları"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "Vektör sayısallaştırma aracı"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Nviz araç çubuğu"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "Görüntü"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 #, fuzzy
 msgid "Map layers"
 msgstr "Harita katmanları"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 #, fuzzy
 msgid "Command console"
 msgstr "Komut tamamlandı"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "Arama modülü"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Yeni kayıt gir"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -8052,12 +8104,12 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "Yeni Mevki oluşturayım mı?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -8066,200 +8118,201 @@ msgstr ""
 "Güncel konumu <%(loc)s>.\n"
 "Güncel harita takımı <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 "Varsayılan bölge sınırları ve çözünürlüğünü şimdi ayarlamak istermisin?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "<%s> Konumu oluşturuldu"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 #, fuzzy
 msgid "Choose model to run"
 msgstr "Sunduğunda iletişimi kapat"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 #, fuzzy
 msgid "Do you want to save changes in the workspace?"
 msgstr "<%s> vektör haritasındaki değişiklikleri kaydetmek istiyor musun?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 #, fuzzy
 msgid "Do you want to store current settings to workspace file?"
 msgstr ""
 "Çalışma alanı boş değil. Geçerli ayarlarınçalışma alanı dosyasına "
 "saklanmasını istermisin?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "GRASS CBS Harita Görüntüsü: "
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 #, fuzzy
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "GRASS vektör haritası için topoloji oluşturur."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 #, fuzzy
 msgid "Choose script file to run"
 msgstr "Girdi dizinini seç"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Python kodu (*.py)|*.py|Bash kodu (*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "Bölge Ayarla"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "Geçersiz koordinat değerleri. İşlem iptal edildi."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "Kod başlatılıyor '%s'..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Yeni harita takımı için ad gir:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Yeni harita takımı oluştur"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, fuzzy, python-format
 msgid "Current mapset is <%s>."
 msgstr "Geçerli harita takımını değiştir"
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Çalışma ortamı ayarlarını değiştir"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Girdi dizinini seç"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Girdi dizinini seç"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "GRASS oturumu başlat"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "Bilinmeyen"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "Projeksiyon:"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "SQL Oluşturucu"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 #, fuzzy
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
@@ -8268,63 +8321,63 @@ msgstr ""
 "Çalışma alanı boş değil. Geçerli ayarlarınçalışma alanı dosyasına "
 "saklanmasını istermisin?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 #, fuzzy
 msgid "Create new workspace?"
 msgstr "Yeni çalışma alanı dosyası oluştur"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Çalışma alanı dosyasını seç"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "GRASS Çalışma Alanı dosyası (*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Lütfen bekleyin, çalışma alanı yükleniyor..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Yüklenecek GRC dosyasını seçin"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "Eski GRASS Çalışma Alanı Dosyası (*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Geçerli çalışma alanının kaydedileceği dosyayı seç"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "<%s> çalışma alanı dosyası zaten var? Bu dosyanın üzerine yazılımasını ister "
 "misin?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Çalışma alanını kaydet"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 #, fuzzy
 msgid "Writing current settings to workspace file failed."
 msgstr "Geçerli ayarların çalışma alanı dosyasına kaydında hata (%s)."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "Yeni harita takımı için ad gir:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "GRASS CBS Harita Görüntüsü: "
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8332,33 +8385,33 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Yeni kayıt eklemiyor."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Yeni kayıt eklemiyor."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "İçeri aktarılan katmanları katman ağacına yükle"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Desteklenmeyen katman tipi '%s'"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, fuzzy, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8366,71 +8419,66 @@ msgid ""
 "from layer tree?"
 msgstr "%s harita katmanını katman ağacından kaldırmak istiyormusun?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 #, fuzzy
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr "Seçilen harita katmanını katman ağacından kaldırmak istiyormusun?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Harita katmanını kaldır"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 #, fuzzy
 msgid "Quit GRASS GUI"
 msgstr "GRASS CBS Hakkında"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "GRASS oturumu başlat"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "<%s> yeni vektör haritası oluşturuldu "
@@ -8509,7 +8557,7 @@ msgstr "Raster haritayı içe aktar"
 msgid "Raster Map Calculator"
 msgstr "3B raster harita Hesaplayıcı"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 #, fuzzy
 msgid "Graphical Modeler"
 msgstr "Grafik modelci"
@@ -8610,7 +8658,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Değişiklikleri görmezden gel ve pencereyi kapat"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Değişiklikleri uygula ve pencereyi kapat"
 
@@ -8947,29 +8995,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Vektör sayısallaştırma hatası"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Vektör sayısallaştırma aracı"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "<%s> yeni vektör haritası oluşturuldu "
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "<%s> vektör haritası oluşturulamıyor."
@@ -9178,7 +9226,7 @@ msgstr "Vektör sayısallaştırma hatası"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Ek araçlar (kopyala, döndür, bağlan, v.d.)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Geri al"
 
@@ -9257,7 +9305,7 @@ msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Vektör haritayı seç"
 
@@ -9286,11 +9334,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Geçersiz koordinat değerleri. İşlem iptal edildi."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Vektör sayısallaştırma hatası"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9317,187 +9360,187 @@ msgstr "Bittiğinde diyaloğu kapat"
 msgid "New vector map"
 msgstr "Yeni vektör harita"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 msgid " Server settings "
 msgstr "Sunucu ayarları"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr "Sunucu"
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 msgid "&Connect"
 msgstr "&Bağlan"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr "Sunucuya bağlan "
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Gelişmiş ayarlar"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Gelişmiş ayarlar"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Katman Yönetici ayarları"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Çıktı vektör harita adı"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Yeniden adlandır"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 #, fuzzy
 msgid "Available web services"
 msgstr "Varolan tüm harita takımları"
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, fuzzy, python-format
 msgid "Connected to <%s>"
 msgstr "Sunucuya bağlan "
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Izgara katmanı ekle"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "&Katman ekle"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "İçeri aktarılan katmanları katman ağacına yükle"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Katman özellikleri"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Yeni vektör harita için ad:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Bölge Ayarla"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 #, fuzzy
 msgid "Map display"
 msgstr "Görüntü"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Bölge yükle:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Görüntü çözünürlüğünü hesaplama ayarlarına göre sınırlandır"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Hesaplama bölgesini seçilen haritadan ayarla (BOŞ DEĞER'leri görme)"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "varolan dosyanın üstüne yaz"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Bölge yükle:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "Harita katmanını kaldır"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Seçileni katmanı sil"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr ""
 "Kullanıcının geçerli harita takımındaki veritabanı elemanı dosyalarını "
 "yeniden adlandırır."
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "Dosya zaten var"
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "<%s> yeni vektör haritası oluşturuldu "
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Veri yükleniyor..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Ayarlanamıyor"
@@ -9612,7 +9655,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Katman adı"
 
@@ -9628,8 +9672,8 @@ msgstr "Stil"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Katman grubu ekle"
+msgid "Add default"
+msgstr "Varsayılan"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9638,165 +9682,172 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "GRASS veri dizinini seç:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Kaynak mevkiyi seç:"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "Proje mevkisi ve harita takımını seç"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "GRASS oturumu başlat"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 #, fuzzy
 msgid "&Browse"
 msgstr "Göz at"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 "Seçilen mevkide\n"
 "yeni harita takımı oluştur"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Seçilmiş yeri yeniden adlandır"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Sil"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Seçilen mevkiyi sil"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "Yeniden adlandır&"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Seçilmiş harita takımını yeniden adlandır"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Sil"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Seçilen harita takımını sil"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "GRASS CBS Öznitelik Tablo Yöneticisi"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "GRASS oturumu başlat"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr "GRASS veritabanı oluşturulamıyor. Yerel ayarlarını kontrol et."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "HATA: <%s> mevkisi bulunamadı"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "HATA: <%s>harita takımı bulunamadı"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Hata:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Raster haritayı içe aktar"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "<%s> GRASS mevkisini oluşturmak istiyormusun?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "<%s> vektör haritasına yeni obje eklemede hata."
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9806,7 +9857,7 @@ msgstr ""
 "\n"
 "Bu harita takımı yeniden isimlendirilemez."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, fuzzy, python-format
 msgid ""
 "Current name: %s\n"
@@ -9816,7 +9867,7 @@ msgstr ""
 "Geçerli ad:%s\n"
 "Yeni ad gir:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9827,7 +9878,7 @@ msgstr ""
 "\n"
 "Harita takımı zaten <%s> konumunda var."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9835,7 +9886,7 @@ msgid ""
 "%s"
 msgstr "Harita takımı yeniden adlandırılamıyor"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9843,7 +9894,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr "Mevki Grass Veritabanında zaten mevcut."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9851,7 +9902,7 @@ msgid ""
 "%s"
 msgstr "Mevki yeniden adlandırılamıyor"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9861,7 +9912,7 @@ msgstr ""
 "\n"
 "Bu harita takımı silinemez."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9874,11 +9925,11 @@ msgstr ""
 "\n"
 "Bu harita takımındaki TÜM HARİTALAR KALICI OLARAK silinecektir!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Harita takımı silinemiyor"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9889,33 +9940,33 @@ msgstr ""
 "\n"
 "Bu mevkideki TÜM HARİTALAR KALICI OLARAK silinecektir!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Mevki silinemiyor"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "CBS Veri Dizinini seç:"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, fuzzy, python-format
 msgid "Mapset <%s> already exists."
 msgstr "Dosya zaten var"
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9924,17 +9975,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Seçilmiş harita takımını yeniden adlandır"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Yeni harita takımı oluşturulamıyor: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9946,11 +9997,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9958,7 +10009,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9966,14 +10017,19 @@ msgid ""
 "Details: %(reason)s"
 msgstr "<%s> vektör haritası büyütülemiyor."
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "Geçersiz bölge"
+
+#: ../gui/wxpython/gis_set.py:1101
 #, fuzzy
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
@@ -9984,32 +10040,160 @@ msgstr ""
 "böyle bir dizin yoksa şimdi oluştur. Uygun seçim \"grassdata\" , ana "
 "dizininde yerleşmiştir."
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
+#: ../gui/wxpython/rdigit/dialogs.py:33
 #, fuzzy
-msgid "&File"
-msgstr "Dosya"
-
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Çalışma alanı"
+msgid "Create new raster map"
+msgstr "Yeni vektör harita oluştur"
 
-#: ../gui/wxpython/menustrings.py:6
+#: ../gui/wxpython/rdigit/dialogs.py:52
 #, fuzzy
-msgid "Create new workspace"
-msgstr "Yeni çalışma alanı dosyası oluştur"
+msgid "Name for new raster map:"
+msgstr "Yeniden kodlanan raster harita:"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Aç"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Vektör haritayı seç"
 
-#: ../gui/wxpython/menustrings.py:8
+#: ../gui/wxpython/rdigit/dialogs.py:58
 #, fuzzy
-msgid "Load workspace from file"
-msgstr "çalışma alanı dosyasını seç"
+msgid "New raster map type:"
+msgstr "Yeniden kodlanan raster harita:"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Raster haritada şekil indeksini hesaplar"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"<%s> vektör harita geçerli harita takımında zaten var. Üzerine yazmak "
+"istermisin?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Lütfen aşağı taşımak için bir temizleme aracı seçiniz"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "<%s> vektör haritasındaki değişiklikleri kaydetmek istiyor musun?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Değişiklikleri kaydet"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Raster haritanın kesiti oluşturulamıyor."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "<%s> vektör haritası oluşturulamıyor."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Render"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Raster harita için yeni renk tablosu oluştur"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Yeni obje sayısallaştır"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Yeni çizgi sayısallaştır"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Yeni nokta sayısallaştır"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Raster haritaları kümele"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Vektör sayısallaştırma hatası"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Raster haritayı seç:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Hücre değerleri"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "Raster harita"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+#, fuzzy
+msgid "&File"
+msgstr "Dosya"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Çalışma alanı"
+
+#: ../gui/wxpython/menustrings.py:6
+#, fuzzy
+msgid "Create new workspace"
+msgstr "Yeni çalışma alanı dosyası oluştur"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Aç"
+
+#: ../gui/wxpython/menustrings.py:8
+#, fuzzy
+msgid "Load workspace from file"
+msgstr "çalışma alanı dosyasını seç"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
 #, fuzzy
 msgid "Save"
 msgstr "Değişiklikleri kaydet"
@@ -10854,7 +11038,7 @@ msgstr "Grafik modelci"
 msgid "Launch Graphical modeler"
 msgstr "Grafik modelci'yi başlat"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "Modeli çalıştır"
 
@@ -10919,7 +11103,7 @@ msgstr "Katman açıklaması"
 msgid "Launches script file."
 msgstr "çalışma alanı dosyasını seç"
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Kod"
@@ -10929,8 +11113,8 @@ msgstr "Kod"
 msgid "Quit wxGUI session."
 msgstr "Arayüzden Çık"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "GRASS CBS Hakkında"
@@ -12457,8 +12641,8 @@ msgid "Develop vector map"
 msgstr "Vektör harita geliştir"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Yeni vektör harita oluştur"
 
@@ -14549,15 +14733,15 @@ msgstr "Varsayılan bölgeyi yakınlaştır"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "Kategori modu"
+msgstr "Görüntü veya raster dosyanın histogramını oluştur"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Varsayılan bölgeyi yakınlaştır"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
 msgid "&Help"
 msgstr "Yardım"
@@ -14691,161 +14875,170 @@ msgstr "Katman grubu ekle"
 msgid "Adds loop (series) to model"
 msgstr "Modele döngü ekle (for)"
 
+#: ../gui/wxpython/menustrings.py:1959
+#, fuzzy
+msgid "Add condition"
+msgstr "Sütun ekle"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "Modele koşul ekle (if/else) "
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Modele koşul ekle (if/else) "
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 #, fuzzy
 msgid "Remove item"
 msgstr "Tabloyu kaldır"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 #, fuzzy
 msgid "Remove action/data from model"
 msgstr "Veritabanından üret"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "Model özellikleri (isim, amaç vs.) "
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 #, fuzzy
 msgid "Delete intermediate data"
 msgstr "Süzgeçleneni sil"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "Tüm modeli çalıştır"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "Modeli onayla"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "Tüm modeli doğrula"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 #, fuzzy
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "GRASS HTML kılavuz sayfalarını göster"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "Grafik Modelci Hakkında"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 #, fuzzy
 msgid "Display information about Graphical Modeler"
 msgstr "Raster harita katmanı temel bilgi çıktısı"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Liste okunamıyor: %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Vektör haritayı dışa aktar"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Modeli Python kodu olarak dışa aktar"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "MPEG-1 dışa aktar"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Katman açıklaması"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "GRASS CBS Arayüz yardımı"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 #, fuzzy
 msgid "&Insert"
 msgstr "&Kur"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Raster harita katmanı ekle"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "3B raster harita ekle"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "vektör"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Lejand ekle"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Oluşturulan haritaları katman ağacına yükle"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Lejand ekle"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Katman ekle"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Ölçek çubuğu ve kuzey oku ekle"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "GRASS HTML kılavuz sayfalarını göster"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "GRASS CBS Arayüz yardımı"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Raster harita katmanı temel bilgi çıktısı"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14860,114 +15053,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Görüntü veya raster dosyanın histogramını oluştur"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "Raster ayarları"
+msgstr "Geçersiz bölge"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Öznitelik sütunu:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "3. raster haritayı seç (istenirse):"
+msgstr "Vektör elemanları seç"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Kategori modu"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "Geçersiz bölge"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "Geçersiz bölge"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "Geçersiz bölge"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "Geçersiz bölge"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -15178,7 +15371,7 @@ msgstr "SQL tümcesi"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -15186,7 +15379,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "GRASS CBS Öznitelik Tablo Yöneticisi"
 
@@ -15309,7 +15502,7 @@ msgid "Field calculator"
 msgstr "Harita hesaplayıcı"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "Sütun ekle"
@@ -15414,15 +15607,15 @@ msgstr "Seçileni kayıtları sil"
 msgid "Delete all records"
 msgstr "Tüm kayıtları sil"
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Tümünü seç"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Tümünden seçimi kaldır"
 
@@ -15609,7 +15802,7 @@ msgid "Driver"
 msgstr "Sürücü"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "Veritabanı"
 
@@ -15735,210 +15928,210 @@ msgstr "Yeni mevki oluşturulamıyor"
 msgid "Field statistics <%s>"
 msgstr "Genel istatistikler"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "Pencereyi kapat"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "Pencereyi kapat"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "Vektör öznitelik verisini sorgula"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Vektör haritayı seç:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "Renk tabloları"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "Yüklenecek GRC dosyasını seçin"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Yükle"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "İçeri aktarılacak DXF dosyasını seç"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "Ayarlar"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Geçerli çalışma alanını dosyaya kaydet"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "Geçerli çalışma alanını dosyaya kaydet"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "Geçerli çalışma alanını dosyaya kaydet"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "Varsayılan görünüme sıfırla"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Önizleme"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "<%s> bölge dosyası zaten var. Üzerine yazılmasını istermisin?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 #, fuzzy
 msgid "Nothing to save."
 msgstr "Hiçbirşey çıkarılmadı."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Renk tabloları"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "Raster harita için yeni renk tablosu oluştur"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 #, fuzzy
 msgid "Enter raster category values or percents"
 msgstr "Raster categori değerleri veya yüzdeleri gir"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 #, fuzzy
 msgid "fp range"
 msgstr "Geçerli aralık"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, fuzzy, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr "Raster categori değerleri veya yüzdeleri gir (aralık = %d-%d)"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "Vektör harita için yeni renk tablosu oluştur"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "Raster categori değerleri veya yüzdeleri gir"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "Vektör öznitelik verisini sorgula"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "Vektör haritayı seç"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Katman:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Öznitelik sütunu:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "KYM renk sütunu:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "KYM renk sütunu:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "Tüm sütunları kaldır"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "Raster seriden hacime"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "çalışma alanı dosyasını seç"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Öznitelik tablosunu kaldırır."
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "Renk tabloları"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -15947,12 +16140,12 @@ msgstr ""
 "VT dosyasında <%s> vektör haritası için veritabanı bağlantısı belirlenemedi. "
 "Katmanları yönetme sekmesinde yeni bir bağlantı belirleyebilirsiniz."
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "Vektör veritabanı bağlantıları"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, fuzzy, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
@@ -15961,48 +16154,48 @@ msgstr ""
 "<%s> vektör harita geçerli harita takımında zaten var. Üzerine yazmak "
 "istermisin?"
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, fuzzy, python-format
 msgid "%s column already exists."
 msgstr "Dosya zaten var"
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "Lütfen bekleyin, öznitelik verisi yükleniyor..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Vektör öznitelik değerleri veya aralığını gir (n veya n1 den n2 ye)"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Vektör öznitelik değerleri veya aralığını gir (n veya n1 den n2 ye)"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "Lütfen aşağı taşımak için bir temizleme aracı seçiniz"
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -16059,25 +16252,25 @@ msgstr "Arsa/yenileme variogram"
 msgid ":"
 msgstr "X:"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "Kriging teknikleri"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 #, fuzzy
 msgid "Block size:"
 msgstr "Simge boyutu:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "Otomatik sığdırma variogramı"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 #, fuzzy
 msgid "Model: "
 msgstr "Mod:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "Devam eden iş! Hiçbir işlevselliği sağlanamadı."
 
@@ -16310,7 +16503,7 @@ msgid "Save expression to file"
 msgstr "Geçerli çalışma alanını dosyaya kaydet"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 #, fuzzy
 msgid "&Load"
 msgstr "Yükle"
@@ -16321,7 +16514,7 @@ msgid "Load expression from file"
 msgstr "çalışma alanı dosyasını seç"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Geçerli komut dizesini panoya kopyala"
 
@@ -16498,126 +16691,298 @@ msgstr ""
 msgid "'{cmd}' copied to clipboard"
 msgstr "%s i panoya kopyalandı"
 
-#: ../gui/wxpython/modules/extensions.py:40
-#, fuzzy
-msgid "Fetch & install extension from GRASS Addons"
-msgstr "***********         Eklentilerden yeni uzantı yükle  "
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "Depo               *************"
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Çoklu içe aktar"
 
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:60
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Kategori listesi - silmek için sağ tuşa tıklayın"
+msgid "List of raster layers"
+msgstr "Katman listesi"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
+#: ../gui/wxpython/modules/import_export.py:62
 #, fuzzy
-msgid "Options"
-msgstr "Seçimlik"
-
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr "&Getir"
-
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr "&Kur"
+msgid "List of vector layers"
+msgstr "Katman listesi"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "%s katmanların listesi"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:168
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
 #, fuzzy
-msgid "Extension not defined"
-msgstr "Durum: tanımlanmadı"
-
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
+msgid "Layer id"
+msgstr "Katman"
 
-#: ../gui/wxpython/modules/extensions.py:213
+#: ../gui/wxpython/modules/import_export.py:70
 #, fuzzy
-msgid "Install"
-msgstr "&Kur"
+msgid "Name for output GRASS map (editable)"
+msgstr "Yeni vektör harita için ad:"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
 #, fuzzy
-msgid "Show manual page"
-msgstr "Gölgelenme haritası"
+msgid "Projection match"
+msgstr "Projeksiyon:"
 
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "%s komutu ayrıştırılamıyor"
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Bittiğinde diyaloğu kapat"
 
-#: ../gui/wxpython/modules/extensions.py:356
-#, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Projeksiyonları yönet"
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&İçe Aktar"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Seçileni katmanları içe aktar"
+
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "Kategori listesi"
+msgid "Source settings"
+msgstr "Raster ayarları"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "Uninstall"
-msgstr "&Kur"
+msgid "Import settings"
+msgstr "Yazı tipi ayarları"
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Projeksiyonları yönet"
+msgid "Add linked layers into layer tree"
+msgstr "İçeri aktarılan katmanları katman ağacına ekle"
 
-#: ../gui/wxpython/modules/extensions.py:372
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "İçeri aktarılan katmanları katman ağacına ekle"
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
 #, fuzzy
-msgid "Reinstall"
-msgstr "&Kur"
+msgid "&Link"
+msgstr "Çizgi"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Projeksiyonları yönet"
+msgid "Link selected layers"
+msgstr "Seçilen katmanı değiştir"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "No layers selected. Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/modules/extensions.py:427
-#, python-format
-msgid ""
+#: ../gui/wxpython/modules/import_export.py:397
+#, fuzzy
+msgid "Unable to determine number of raster bands"
+msgstr "Raster haritanın kesiti oluşturulamıyor."
+
+#: ../gui/wxpython/modules/import_export.py:591
+#, fuzzy
+msgid "Define output format for vector data"
+msgstr "Vektör haritayı içe aktar"
+
+#: ../gui/wxpython/modules/import_export.py:593
+#, fuzzy
+msgid "Define output format for raster data"
+msgstr "Raster haritayı içe aktar"
+
+#: ../gui/wxpython/modules/import_export.py:601
+#, fuzzy
+msgid "Set external format and close dialog"
+msgstr "Değişiklikleri görmezden gel ve pencereyi kapat"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "DXF katmanları içe aktar"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "İçeri aktarılacak DXF dosyasını seç"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Projeksiyon:"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Yeni vektör harita için ad:"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Silinecek katman"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Seçileni katmanları içe aktar"
+
+#: ../gui/wxpython/modules/extensions.py:40
+#, fuzzy
+msgid "Fetch & install extension from GRASS Addons"
+msgstr "***********         Eklentilerden yeni uzantı yükle  "
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Kategori listesi - silmek için sağ tuşa tıklayın"
+
+#: ../gui/wxpython/modules/extensions.py:71
+#, fuzzy
+msgid "Options"
+msgstr "Seçimlik"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr "&Getir"
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr "&Kur"
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+#, fuzzy
+msgid "Extension not defined"
+msgstr "Durum: tanımlanmadı"
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Kategori listesi"
+
+#: ../gui/wxpython/modules/extensions.py:214
+#, fuzzy
+msgid "Install"
+msgstr "&Kur"
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Gölgelenme haritası"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "%s komutu ayrıştırılamıyor"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Projeksiyonları yönet"
+
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "Kategori listesi"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "&Kur"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Projeksiyonları yönet"
+
+#: ../gui/wxpython/modules/extensions.py:373
+#, fuzzy
+msgid "Reinstall"
+msgstr "&Kur"
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Projeksiyonları yönet"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
+
+#: ../gui/wxpython/modules/extensions.py:428
+#, python-format
+msgid ""
 "List of files to be removed:\n"
 "%(files)s\n"
 "\n"
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 #, fuzzy
 msgid "Remove extension"
 msgstr "Kırıklık noktası kaldır"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "İfade"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 #, fuzzy
 msgid "Please wait, exporting image..."
 msgstr "Lütfen bekleyin, veri güncelleniyor..."
@@ -16767,7 +17132,7 @@ msgid ""
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "<%s>haritası bulunamadı."
@@ -16807,11 +17172,6 @@ msgstr "Farklı Kaydet..."
 msgid "Export training areas"
 msgstr "Vektör haritayı dışa aktar"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Öznitelik tablosu oluştur "
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16840,22 +17200,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Raster harita yükleniyor"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Raster harita yükleniyor"
@@ -16906,155 +17266,155 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Konum düzeltme aracı"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Harita Araçları"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Harita Araçları"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Sayısallaştırma arayüzü:"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Görüntüyü yazdır"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Görüntüyü sil"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Bölgeyi göster"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Bölgeyi göster"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Vektör haritayı içe aktar"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Hiçbirşey çıkarılmadı."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Analiz"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "<%s> bölge dosyası zaten var. Üzerine yazılmasını istermisin?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Geçersiz koordinat değerleri. İşlem iptal edildi."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "En azından %d YKN gerekli. İşlem iptal edildi."
@@ -17538,88 +17898,229 @@ msgstr "Nviz hatası"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "GRASS %s Harita Hesaplayıcı"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Liste okunamıyor: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Liste okunamıyor: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Yeniden adlandır"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Harita takımını yeniden adlandır"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Geçerli aralık"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Geçerli aralık"
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "EPSG Kodları okunamıyor: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Tabloyu kopyala"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "Model çalışıyor..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "<%s> GRASS mevkisini oluşturmak istiyormusun?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Harita takımını sil"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Sil"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Görüntü"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Kopyala"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "Raster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Harita görüntüle"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 msgid "Show text object"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Açıklama"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Katman ekle"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Ölçek çubuğu ve kuzey oku ekle"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "%s i panoya kopyalandı"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Harita görüntüle"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "%s i panoya kopyalandı"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Ayarları göster"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Vektör harita katmanı ekle"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Raster serisi"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Kaydedilmiş bölge boyutlarına göre yakınlaştır"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Hesaplama bölgesini seçilen haritadan ayarla (BOŞ DEĞER'leri görme)"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, fuzzy, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "En azından %d YKN gerekli. İşlem iptal edildi."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 #, fuzzy
 msgid "Save display extents to region file"
 msgstr "Görünüş geometrisini isimlendirilmiş bölge olarak kaydet"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Hesaplama bölgesini seçilen haritadan ayarla (BOŞ DEĞER'leri görme)"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "<%s> bölge dosyası zaten var. Üzerine yazılmasını istermisin?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -17717,83 +18218,83 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 #, fuzzy
 msgid "Select GRASS location and mapset"
 msgstr "Proje mevkisi ve harita takımını seç"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "***********                Büyük gridler için akış hesaplama"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 #, fuzzy
 msgid "Name of GRASS location:"
 msgstr "Yeni GRASS Mevkisi belirle"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 #, fuzzy
 msgid "Name of mapset:"
 msgstr "Harita takımını yeniden adlandır"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 #, fuzzy
 msgid "Select mapset in GRASS location"
 msgstr "Kaynak mevkiyi seç:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "Harita takımını yeniden adlandır"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Yeni vektör harita için ad:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Öznitelik tablosu oluştur "
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Oluşturulan haritaları katman ağacına ekle"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Yeni vektör harita için ad:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Yeni vektör harita için ad:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 #, fuzzy
 msgid "Key column:"
 msgstr "Anahtar sütun"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "<%s> vektör haritası oluşturulamıyor."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
@@ -17802,507 +18303,404 @@ msgstr ""
 "<%s> vektör harita geçerli harita takımında zaten var. Üzerine yazmak "
 "istermisin?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Bölge yükle:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Bölgeyi Kaydet:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "Grup oluştur/düzenle"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "Değişiklikleri uygula ve pencereyi kapat"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "Bu oturum için değişiklikleri uygula"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 #, fuzzy
 msgid "Close dialog, changes are not applied"
 msgstr "Sunduğunda iletişimi kapat"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "aster"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Harita listesi:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr "Seçilen harita katmanını katman ağacından kaldırmak istiyormusun?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "İçeri aktarılan katmanları katman ağacına yükle"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "Değişiklikleri uygula"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, fuzzy, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "<%s> vektör haritasına yeni obje eklemede hata."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "Harita katman tipi:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "Renk Seç"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Harita takımı:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
 msgid "Invert selection"
 msgstr "Yeni kayıt gir"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Çoklu içe aktar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Katman listesi"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Katman listesi"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "%s katmanların listesi"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "Katman"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Yeni vektör harita için ad:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Projeksiyon:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Bittiğinde diyaloğu kapat"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&İçe Aktar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Seçileni katmanları içe aktar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "İçeri aktarılan katmanları katman ağacına ekle"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "İçeri aktarılan katmanları katman ağacına ekle"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-#, fuzzy
-msgid "&Link"
-msgstr "Çizgi"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-#, fuzzy
-msgid "Link selected layers"
-msgstr "Seçilen katmanı değiştir"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Raster haritanın kesiti oluşturulamıyor."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Vektör haritayı içe aktar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Raster haritayı içe aktar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Değişiklikleri görmezden gel ve pencereyi kapat"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "DXF katmanları içe aktar"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "İçeri aktarılacak DXF dosyasını seç"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Harita Katmanının Şeffaflığını Ayarla"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "mat"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr "Görüntü büyüklüğünü ayarla"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 #, fuzzy
 msgid "Image size"
 msgstr "Sayfa ayarı"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS CBS - Harita Görüntüsü"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "SQL ifadesi"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "sembol:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "Sembol ayarları"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "Sembol ayarları"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 #, fuzzy
 msgid "Not selectable element"
 msgstr "Seçilen sütunu sil"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Harita takımı"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Tip"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "Sunucu ayarları"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "Raster ayarları"
+msgid "Source input"
+msgstr "Kaynak tipi"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "Değişiklikleri kaydet"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Dosya"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 #, fuzzy
 msgid "Directory"
 msgstr "Yön"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Protokol"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "Çıktı"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Kaynak tipi"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 #, fuzzy
 msgid "All files"
 msgstr "Hücre değerleri"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Hücre değerleri"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Hücre değerleri"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Hücre değerleri"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Hücre değerleri"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Dosya"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "İçeri aktarılacak DXF dosyasını seç"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Girdi dizinini seç"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 #, fuzzy
 msgid "Extension:"
 msgstr "İfade"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 #, fuzzy
 msgid "Choose file"
 msgstr "DXF dosyasını Seç:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "Obje numarası:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Elemanları sorgula"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Topoloji oluştur/yeniden kur"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "Seçenekleri ayarla"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Format:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 #, fuzzy
 msgid "Protocol:"
 msgstr "Projeksiyon kodu:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "3B görünüm moduna ulaşılamaz"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Giriş"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "<%s>haritası bulunamadı."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -18431,6 +18829,7 @@ msgid "Module dialog style:"
 msgstr "Komut diyalog ayarları"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 #, fuzzy
 msgid "Map Display"
 msgstr "Görüntü"
@@ -18536,7 +18935,7 @@ msgstr "Çizgi renkleri"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Geçirgen"
 
@@ -18838,6 +19237,49 @@ msgstr "Normalliği sına"
 msgid "Nothing found"
 msgstr "Hiçbirşey çıkarılmadı."
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Kategori"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Vektör elemanları seç"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Yeni harita takımı oluştur"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "<%s> vektör haritası oluşturulamıyor."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "<%s> yeni vektör haritası oluşturuldu "
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "<%s> vektör haritası oluşturulamıyor."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "Bilgi"
@@ -18884,6 +19326,10 @@ msgstr "Resmi GRASS sitesi:"
 msgid "Code Revision"
 msgstr "Projeksiyon:"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 #, fuzzy
 msgid "Language"
@@ -18959,113 +19405,113 @@ msgstr "Çı&k"
 msgid "&Previous"
 msgstr "Önizleme"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 #, fuzzy
 msgid "Enter parameters for '"
 msgstr "için parametreleri gir"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 #, fuzzy
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Komutu çalıştırmadan bu pencereyi kapat"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 #, fuzzy
 msgid "Run the command (Ctrl+R)"
 msgstr "Komutu çalıştır"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 #, fuzzy
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Komut kılavuz sayfasını göster"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 #, fuzzy
 msgid "Add created map(s) into layer tree"
 msgstr "Oluşturulan haritaları katman ağacına yükle"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "%s i panoya kopyalandı"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Gerekli"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Seçimlik"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 #, fuzzy
 msgid "Parameterized in model"
 msgstr "Parametre bulunmadı: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[çoklu]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 #, fuzzy
 msgid "valid range"
 msgstr "Geçerli aralık"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Seç %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Mevkiyi yeniden adlandır"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Değişiklikleri farklı kaydet"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "Etkileşimli olarak yeniden kodla"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Kılavuz"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "Hiçbirşey çıkarılmadı."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -19073,28 +19519,28 @@ msgid ""
 "Reason: %s"
 msgstr "Simge teması yüklenemiyor, varsayılan simge teması kullanılıyor..."
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "Farklı Kaydet..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Sorgulama için hiçbir harita katmanı seçilmedi."
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "%s komutu ayrıştırılamıyor"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -19154,70 +19600,82 @@ msgstr "Matlık seviyesini değiştir"
 msgid "Change layer opacity"
 msgstr "Matlık seviyesini değiştir"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Kesit"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "Geçerli ayarları kaydet?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "Seçilen harita takımını sil"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
+#: ../gui/wxpython/gui_core/widgets.py:1190
 #, fuzzy
-msgid "Load settings:"
-msgstr "Ayarları göster"
+msgid "Load:"
+msgstr "Yükle"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "<%s>haritası bulunamadı."
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "Sunucu ayarları"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 "<%s> çalışma alanı dosyası zaten var? Bu dosyanın üzerine yazılımasını ister "
 "misin?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "Hiç harita katmanı seçilmedi. İşlem iptal edildi."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "%s komutu ayrıştırılamıyor"
@@ -19328,12 +19786,12 @@ msgstr "Görüntü veya raster dosyanın histogramını oluştur"
 msgid "Select graphics tool"
 msgstr "Varsayılan görüntü yazıtipini seç"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 #, fuzzy
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr "Ağaç menü (komutu çalıştırmak için çift tıkla)"
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Seçili komutu çalıştır"
@@ -19358,6 +19816,26 @@ msgstr "Seçili komutu çalıştır"
 #~ msgstr "Arayüzden Çık"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "Geçersiz bölge"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "3B görünüm moduna ulaşılamaz"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Geçerli aralık"
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "Yeniden adlandır"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Tabloyu kopyala"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Katman listesi"
 
@@ -19373,20 +19851,33 @@ msgstr "Seçili komutu çalıştır"
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "Tek değişkenli raster istatistikleri "
 
+#~ msgid "Repository"
+#~ msgstr "Depo               *************"
+
 #, fuzzy
-#~ msgid "Add condition"
-#~ msgstr "Sütun ekle"
+#~ msgid "Load settings:"
+#~ msgstr "Ayarları göster"
 
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "Modele koşul ekle (if/else) "
+#, fuzzy
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Eski GRASS vektör haritasını içe aktar"
 
 #, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "İçeri aktarılan katmanları katman ağacına yükle"
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Eski GRASS vektör haritasını içe aktar"
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "İçeri aktarılan katmanları katman ağacına ekle"
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "Eski GRASS vektör haritasını içe aktarır."
+
+#, fuzzy
+#~ msgid "GPS data import"
+#~ msgstr "GEOnet içe aktar"
+
+#~ msgid "GEOnet import"
+#~ msgstr "GEOnet içe aktar"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -19412,37 +19903,24 @@ msgstr "Seçili komutu çalıştır"
 #~ msgstr "OGR kullanan çeşitli dışa aktarma biçimleri"
 
 #, fuzzy
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr "Hesaplama bölgesini seçilen haritadan ayarla (BOŞ DEĞER'leri görme)"
-
-#, fuzzy
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Eski GRASS vektör haritasını içe aktar"
+#~ msgid "Create optimally placed labels"
+#~ msgstr "Etiketleri oluştur"
 
 #, fuzzy
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Eski GRASS vektör haritasını içe aktar"
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Öznitelik Tablo Yöneticisi"
 
 #, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Eski GRASS vektör haritasını içe aktarır."
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Kaynak harita takımını seç:"
 
 #, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "GEOnet içe aktar"
-
-#~ msgid "GEOnet import"
-#~ msgstr "GEOnet içe aktar"
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr "Hesaplama bölgesini seçilen haritadan ayarla (BOŞ DEĞER'leri görme)"
 
 #, fuzzy
-#~ msgid "Create optimally placed labels"
-#~ msgstr "Etiketleri oluştur"
-
-#, fuzzy
-#~ msgid "Volume"
-#~ msgstr "Hacimler"
+#~ msgid "Add default servers"
+#~ msgstr "Katman grubu ekle"
 
 #~ msgid "Choose project location and mapset"
 #~ msgstr "Proje mevkisi ve harita takımını seç"
@@ -19527,9 +20005,27 @@ msgstr "Seçili komutu çalıştır"
 #~ msgid "Starting GRASS for the first time"
 #~ msgstr "GRASS ilk kez başlatılıyor"
 
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "Raster harita geliştir"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "İçeri aktarılan katmanları katman ağacına yükle"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "İçeri aktarılan katmanları katman ağacına ekle"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Eski GRASS vektör haritasını içe aktarır."
+
 #~ msgid "Vector to volume"
 #~ msgstr "Vektörden hacime"
 
+#~ msgid "Sites to vector"
+#~ msgstr "Noktadan vektöre"
+
 #, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "3B raster harita Hesaplayıcı"
@@ -19557,11 +20053,9 @@ msgstr "Seçili komutu çalıştır"
 #~ msgid "Voxel statistics"
 #~ msgstr "Genel istatistikler"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Eski GRASS vektör haritasını içe aktarır."
-
-#~ msgid "Sites to vector"
-#~ msgstr "Noktadan vektöre"
+#, fuzzy
+#~ msgid "Volume"
+#~ msgstr "Hacimler"
 
 #~ msgid ""
 #~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
@@ -19586,6 +20080,5 @@ msgstr "Seçili komutu çalıştır"
 #~ "Raster haritanın boş değer içermeyen hücrelerinden tek değişkenli "
 #~ "istatistikler hesaplar."
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Öznitelik Tablo Yöneticisi"
+#~ msgid "Digitize"
+#~ msgstr "Sayısallaştırma"
diff --git a/locale/po/grasswxpy_vi.po b/locale/po/grasswxpy_vi.po
index 67a7c8d..f1fc24d 100644
--- a/locale/po/grasswxpy_vi.po
+++ b/locale/po/grasswxpy_vi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: grasswxpy_vi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: 2010-08-27 16:40+0700\n"
 "Last-Translator: \n"
 "Language-Team: American English <kde-i18n-doc at kde.org>\n"
@@ -30,7 +30,7 @@ msgid "Name of raster map:"
 msgstr "Bản đồ raster đã được mã hóa lại:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 #, fuzzy
 msgid "Name of vector map:"
 msgstr "Tên cho bản đồ véc tơ mới"
@@ -141,7 +141,7 @@ msgstr "điều kiện"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "Lớp"
@@ -216,15 +216,15 @@ msgid "Reload"
 msgstr "Nạp lại"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 #, fuzzy
 msgid "No"
 msgstr "B"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr ""
 
@@ -256,8 +256,8 @@ msgstr "Liệt kê các bảng"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "Màu"
@@ -290,9 +290,10 @@ msgstr "Chỉ mục hình dạng"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "Rộng"
 
@@ -300,14 +301,14 @@ msgstr "Rộng"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "Cao:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 #, fuzzy
 msgid "Data"
 msgstr "CSDL"
@@ -343,14 +344,14 @@ msgid "Comment"
 msgstr "Lệnh"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 #, fuzzy
 msgid "Model properties"
 msgstr "Các thuộc tính của lớp"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "Đặc tả dữ liệu"
 
@@ -362,7 +363,7 @@ msgstr "Lệnh"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "Cho phép các tập tin đầu ra ghi đè lên các tập tin đã có"
@@ -383,10 +384,10 @@ msgstr "Đóng hộp thoại và bỏ qua các thay đổi"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr ""
 
@@ -452,13 +453,13 @@ msgstr "Bản đồ raster"
 msgid "3D raster maps"
 msgstr "Bản đồ raster 3D"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 #, fuzzy
 msgid "Vector maps"
 msgstr "Các điểm véc tơ"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "không biết"
@@ -488,25 +489,25 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 #, fuzzy
 msgid "Model parameters"
 msgstr "Các tham số địa hình"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "Xoá phần đã được lọc"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "&Chạy"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 #, fuzzy
 msgid "Variables"
 msgstr "Liệt kê các bảng"
@@ -530,7 +531,7 @@ msgid "Python editor"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "Đầu ra của lệnh"
 
@@ -605,7 +606,7 @@ msgid "Choose model file"
 msgstr "Chọn tập tin"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr ""
 
@@ -636,7 +637,7 @@ msgstr "Tập tin POINTS <%s> đã được lưu"
 msgid "Choose file to save current model"
 msgstr "Chọn tập tin để lưu không gian làm việc hiện tại"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 msgid "File already exists"
 msgstr ""
 
@@ -659,7 +660,7 @@ msgstr ""
 msgid "Model is valid."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -670,7 +671,7 @@ msgstr ""
 msgid "Model exported to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "Thêm lớp lệnh"
@@ -706,7 +707,7 @@ msgstr ""
 "Thất bại khi đang ghi thiết lập hiện tại vào tập tin không gian làm việc "
 "(%s)."
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, fuzzy, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "Không thể mở tập tin <%s> để đọc."
@@ -715,15 +716,15 @@ msgstr "Không thể mở tập tin <%s> để đọc."
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -806,10 +807,10 @@ msgstr "Thiết lập giá trị"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "Mô tả"
 
@@ -832,13 +833,13 @@ msgid "string"
 msgstr ""
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "raster"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "véc tơ"
 
@@ -853,7 +854,7 @@ msgid "mapset"
 msgstr "Tập bản đồ"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "Mặt cắt"
@@ -1001,7 +1002,7 @@ msgid "Histogram imagery group"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "Chọn bản đồ raster:"
 
@@ -1024,7 +1025,7 @@ msgstr ""
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 #, fuzzy
@@ -1057,8 +1058,8 @@ msgstr "Nhãn trục Y"
 msgid "Label font size (pts):"
 msgstr "Cỡ phông của nhãn (pts):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1107,9 +1108,9 @@ msgstr "Các thiết lập mặt cắt được lưu vào tập tin '%s'."
 msgid "No map or image group selected to plot."
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "Cảnh báo"
 
@@ -1137,8 +1138,8 @@ msgstr "Màu đường"
 msgid "Line width"
 msgstr "Độ rộng đường"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "Kiểu đường"
 
@@ -1152,19 +1153,19 @@ msgid "Transect segment marker settings"
 msgstr "Các thiết lập chỉ dấu đoạn của tuyến"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "Cỡ"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "Tập tin"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "Kiểu"
 
@@ -1409,19 +1410,19 @@ msgid "Under Construction"
 msgstr ""
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "Thiết lập trang"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "Xem trước khi in"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1527,7 +1528,7 @@ msgid "Output"
 msgstr "Đầu ra"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "Các thông số"
 
@@ -1567,8 +1568,7 @@ msgid "Analysing..."
 msgstr "Phân tích"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "Các thiết lập"
@@ -1624,7 +1624,7 @@ msgstr ""
 msgid "Color for selected point:"
 msgstr "Khử chọn GCP đã chọn"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 #, fuzzy
@@ -1651,10 +1651,11 @@ msgid "Maximum number of results in history:"
 msgstr ""
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "Đóng hộp thoại"
 
@@ -1675,12 +1676,12 @@ msgstr ""
 msgid "Define Global Turn Costs"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "Phân tích mạng"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1688,50 +1689,50 @@ msgid ""
 "Showed result may not correspond original analysis result."
 msgstr "Tập tin vùng <%s> đã có. Bạn có muốn ghi đè không?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr ""
 "Loại bỏ các tập tin thành phần CSDL ra khỏi bộ bản đồ hiện tại của người "
 "dùng."
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "Tập tin vùng <%s> đã có. Bạn có muốn ghi đè không?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "Ghi đè?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "Nắn chỉnh địa lý bản đồ véc-tơ <%s> thất bại"
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 msgid "Vector map with analysis result does not exist."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 msgid "Please choose at least two points."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, fuzzy, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1739,211 +1740,211 @@ msgid ""
 "Topology column may not correspond to changed situation."
 msgstr "Tập tin vùng <%s> đã có. Bạn có muốn ghi đè không?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "Tập tin vùng <%s> đã có. Bạn có muốn ghi đè không?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "Không thể đặt "
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, fuzzy, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
 "Do you really want to activate snapping and overwrite it? "
 msgstr "Tập tin vùng <%s> đã có. Bạn có muốn ghi đè không?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "Ghi đè?"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "Các Lớp Bản Đồ"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr "Thêm lớp"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "Quản lý lớp"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "Quản lý hoặc báo cáo các phạm trù"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "Chọn %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr "Loại bỏ bảng thuộc tính hiện có của một bản đồ véc-tơ."
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 #, fuzzy
 msgid "use"
 msgstr "khử thiết lập"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "Kiểu dữ liệu"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "Tạo hoặc dựng lại tôpô"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "Điểm"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "Điểm"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "Trái: điểm mới"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "Cột khóa:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "Đường ngắn nhất"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "Điểm"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, fuzzy, python-format
 msgid "Traveling salesman %s"
 msgstr "Phân tích đường đi của người bán hàng"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "Kiểu nguồn"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "Hiện các điểm"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, fuzzy, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "Tạo cây Steiner cho mạng lưới và các đầu cuối cho trước"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, python-format
 msgid "Shortest distance via the network %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, python-format
 msgid "Cost isolines %s"
 msgstr ""
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "Gỡ bỏ lớp bản đồ"
@@ -2128,307 +2129,307 @@ msgstr "Chọn phép chuyển đổi mốc tọa độ chuẩn"
 msgid "Select from list of datum transformations"
 msgstr "Chọn từ danh sách các phép chuyển đổi mốc tọa độ chuẩn"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "Xác định CSDL GRASS và Tên Vị trí"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "Duyệt"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "Thư mục dữ liệu GIS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "Vị trí của Dự án"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "Chọn Thư mục Dữ liệu GIS"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 #, fuzzy
 msgid "Location Title"
 msgstr "Tên vị trí:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "Vị trí được chọn không hợp lệ."
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "Chọn thư mục dữ liệu GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "Vị trí này đã có trong CSDL GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "Không thể tạo vị trí"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "Chọn phương thức để tạo vị trí mới"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "Chọn mã EPSG của hệ tham chiếu không gian"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr ""
 "Đọc các thông số của phép chiếu và mốc toạ độ chuẩn từ một tập tin dữ liệu "
 "có tham chiếu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 #, fuzzy
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr ""
 "Đọc các thông số của phép chiếu và mốc toạ độ chuẩn từ một tập tin WKT hoặc "
 "PRJ"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "Chọn các tham số hệ tọa độ từ danh sách"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr ""
 "Chỉ định các thông số phép chiếu và mốc toạ độ chuẩn bằng cách dùng các tham "
 "số tuỳ chỉnh PROJ.4"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 #, fuzzy
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "Tạo hệ tọa độ phi-quả-đất tùy ý (XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "Chọn phép chiếu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "Mã"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "Mã phép chiếu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "Tìm theo mô tả:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "Không thể đọc danh sách: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "Chọn các tham số phép chiếu"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "Chọn mốc tọa độ chuẩn hoặc ellipsoid (trang tiếp)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "Mốc tọa độ chuẩn với ellipsoid liên quan"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "Chỉ ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, python-format
 msgid "You must enter a value for %s"
 msgstr "Bạn phải nhập một giá trị cho %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr " Nhập các tham số cho phép chiếu %s "
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "Chỉ định mốc tọa độ chuẩn trắc địa"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "Ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "Mã mốc tọa độ chuẩn:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "Chỉ định ellipsoid"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "CSDL"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "Mã ellipsoid:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "Chọn tập tin tham chiếu địa lý"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "Tập tin tham chiếu địa lý:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr ""
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "Tập tin WKT:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "Chọn mã EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "Đường dẫn tới tập tin mã-EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "Mã EPSG:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "Chọn tập tin mã EPSG"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "Không thể đọc các mã EPSG: %s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "Chọn phương thức chỉ định các tham số tham chiếu địa lý"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "Nhập chuỗi các thông số PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 msgid "Datum transform is required."
 msgstr "Cần phải chuyển đổi mốc tọa độ chuẩn."
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "Tóm tắt"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "CSDL GRASS:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "Tên vị trí:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 #, fuzzy
 msgid "Location Title:"
 msgstr "Tên vị trí:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "Phép chiếu:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "Định nghĩa PROJ.4:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 #, fuzzy
 msgid "custom"
 msgstr "Trị nhỏ nhất tùy chọn"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "Bạn có muốn tạo vị trí GRASS <%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "Tạo vị trí mới?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "Định nghĩa vị trí GRASS mới"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2439,15 +2440,15 @@ msgstr ""
 "\n"
 "Chi tiết: %(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "Hướng dẫn tạo Vị Trí bị hủy. Vị trí không được tạo."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "Không thể tạo vị trí mới"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, fuzzy, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2457,16 +2458,16 @@ msgstr ""
 "cần phải thay đổi thư mục dữ liệu GIS mặc định trong màn hình khởi động "
 "GRASS."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "Thư mục dữ liệu GIS mới"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "Thiếu mã EPSG."
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "Không tìm thấy tập tin."
@@ -2890,7 +2891,16 @@ msgstr "Thêm nhãn"
 msgid "Remove selected class"
 msgstr "Đổi tên tập bản đồ đã chọn"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2901,71 +2911,96 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: kiểu lớp <%(type)s> chưa được hỗ trợ."
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "Lệnh đã kết thúc"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "Chi tiết:"
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "Kiểu lớp bản đồ '%s' chưa được hỗ trợ"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "Gỡ bỏ lớp bản đồ"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "Vẽ"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "Đang nạp dữ liệu..."
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "Vẽ"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "Vẽ"
+
+#: ../gui/wxpython/core/render.py:663
 #, fuzzy
 msgid "Trying to recover from default region..."
 msgstr "Phóng đến vùng mặc định"
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr ""
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "Không thể đọc tập tin EPSG: '%s'"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "Giá trị không hợp lệ: %s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "Không thể phóng đến bản đồ raster <%s>."
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "Chi tiết:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "Không thể phóng đến bản đồ raster <%s>."
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 #, fuzzy
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
@@ -2974,70 +3009,40 @@ msgstr ""
 "Không thể lấy phạm vi địa lý hiện tại. Buộc phải thoát wxGUI. Vui lòng chạy "
 "thủ công lệnh g.region để khắc phục lỗi này."
 
-#: ../gui/wxpython/core/render.py:987
-#, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr ""
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "Không thể vẽ lớp bản đồ <%s>."
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "Không thể vẽ chồng <%s>."
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "Đang nạp dữ liệu..."
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "Vẽ"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "Vẽ"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 #, fuzzy
 msgid "Reason"
 msgstr "Lý do: %s"
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "Thông điệp"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "Thực thi lệnh thất bại:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "Lỗi:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "Không thể thực thi lệnh: '%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "Lỗi trong %s"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "Không thể mở tập tin <%s> để đọc."
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -3050,12 +3055,12 @@ msgstr ""
 "
\n"
 "
Số dòng bị bỏ qua: %(line)d"
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr "hàng %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -3064,32 +3069,37 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "Không tìm thấy tập tin."
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 #, fuzzy
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr ""
 "Lưu ý rằng dữ liệu bị để ở trình trạng không nhất quán và có thể bị hỏng"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "Lệnh bị hủy"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "Lệnh đã kết thúc"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3282,39 +3292,39 @@ msgstr ""
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "Đã tạo xong bản đồ véc tơ mới <%s>"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, fuzzy, python-format
 msgid "failed to open '%s'"
 msgstr "Không thể mở tập tin"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "Không thể mở tập tin <%s> để đọc."
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
 "Reason: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "Nhân bản các thuộc tính"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "Không thể đọc tập tin EPSG: '%s'"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "Chọn Màu"
 
@@ -3382,12 +3392,12 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "Định dạng:"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 #, fuzzy
 msgid "Font size:"
@@ -3404,7 +3414,7 @@ msgid "Close dialog and apply changes"
 msgstr "Đóng hộp thoại và bỏ qua các thay đổi"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "Áp dụng các thay đổi"
 
@@ -3423,7 +3433,7 @@ msgstr "Định dạng:"
 msgid "Orientation"
 msgstr "Xoay:"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "Rộng"
@@ -3475,7 +3485,7 @@ msgid "Map frame settings"
 msgstr "Thiết lập raster"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 #, fuzzy
 msgid "Map frame"
 msgstr "Tỉ lệ bản đồ"
@@ -3508,7 +3518,7 @@ msgstr ""
 msgid "Map selection"
 msgstr "Quản lý các phép chiếu"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 #, fuzzy
 msgid "Map:"
 msgstr "Tập bản đồ"
@@ -3536,7 +3546,7 @@ msgstr "Đ:"
 msgid "N:"
 msgstr "B:"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "Kiểu:"
@@ -3551,7 +3561,7 @@ msgstr ""
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "Bậc 1"
@@ -3591,185 +3601,186 @@ msgstr "Không có lớp bản đồ nào được chọn"
 msgid "No region selected!"
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 msgid "Invalid scale or map center!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "Bản đồ raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "bản đồ raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "bản đồ raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "Thêm nhóm lớp"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "Điểm"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "đường rhumb"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 #, fuzzy
 msgid "areas"
 msgstr "Lưu thành..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "Kiểu dữ liệu"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "Thêm"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "Làm sạch bản đồ véc tơ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 msgid "The topmost vector map overlaps the others"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 msgid "Down"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "Xóa"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "Các thuộc tính"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "Thiết lập raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "Thiết lập véc tơ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "Các thuộc tính"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "Mặt cắt"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 #, fuzzy
 msgid "Feature type"
 msgstr "Chỉ số nhận diện đối tượng:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "centroids"
 msgstr "Thêm trọng tâm"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "Chỉnh sửa đường/ranh giới"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "Mặt cắt"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "Trong tệp DB không có định nghĩa kết nối CSDL"
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "Xóa lớp"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "Mặt nạ"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 #, fuzzy
 msgid "Use current mask"
 msgstr "Thu nhỏ tất cả trừ phần hiện tại"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "Màu"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 #, fuzzy
 msgid "Outline"
 msgstr "đường rhumb"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 #, fuzzy
 msgid "Width (pts):"
 msgstr "Rộng"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3777,576 +3788,576 @@ msgstr "Rộng"
 msgid "Color:"
 msgstr "Màu:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr "Màu lưới:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr "Chọn thư mục:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "Quy tắc màu"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "Kiểu đường"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "Biểu tượng học"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "ký hiệu:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "Tập tin WKT:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "Chọn tập tin"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "Cỡ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 #, fuzzy
 msgid "size from map table column:"
 msgstr "Bỏ tất cả cột"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "Thay đổi tỉ lệ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "Xoay:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "Bỏ tất cả cột"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 #, fuzzy
 msgid "Set width (pts):"
 msgstr "Độ dày đường (theo điểm ảnh):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 #, fuzzy
 msgid "multiply width by category value"
 msgstr "Chỉnh sửa tương tác các giá trị phạm trù"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "Kiểu thô:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "Chọn tập tin"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "hình sao"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "Chọn tập tin đầu vào"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 #, fuzzy
 msgid "pattern line width (pts):"
 msgstr "Độ dày đường (theo điểm ảnh):"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 #, fuzzy
 msgid "pattern scale factor:"
 msgstr "Trình tính toán raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "Các chuỗi raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "Hiển thị chú giải"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "Tên nguồn"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "Vector thành raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "Chọn bản đồ raster:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "Hiển thị chú giải"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 msgid "continuous color gradient legend (floating point map)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "Thiết lập nâng cao"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "Quản lý"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "Các đường véc tơ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 #, fuzzy
 msgid "Show vector legend"
 msgstr "Hiện các đường véc tơ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "Chồng các bản đồ véc tơ"
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 msgid "Choose vector maps and their order in legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 #, fuzzy
 msgid "Vector map"
 msgstr "Bản đồ véc tơ mới"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 #, fuzzy
 msgid "Edit label"
 msgstr "Thêm nhãn"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 msgid "Size and position"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 msgid "Position"
 msgstr "Vị trí"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "cột"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "cột"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "raster"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "Các thiết lập tổng quát"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "Các thiết lập tổng quát"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 #, fuzzy
 msgid "use border color:"
 msgstr "Dùng | Tọa độ X"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "Màu nền:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 #, fuzzy
 msgid "Unsupported units"
 msgstr "Kiểu lớp '%s' không được hỗ trợ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "dài"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 msgid "Scalebar length is given in map units"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 #, fuzzy
 msgid "default"
 msgstr "Mặc định"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "Loại"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "Đổi tên tập bản đồ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "Chú giải"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 msgid "transparent text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 msgid "Length of scale bar is not defined"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 #, fuzzy
 msgid "Text"
 msgstr "Kiểm tra"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "Nhập văn bản:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "Thiết lập chữ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 msgid "text background"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "Đánh dấu khi chọn"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 #, fuzzy
 msgid "text border"
 msgstr "Bậc 1"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 msgid "vertical (pts):"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "Trái: điểm mới"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "Thiết lập chữ"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 msgid "rotate text (counterclockwise)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "Ảnh"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "Chọn thư mục đầu vào"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "Chọn thư mục đầu vào"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 msgid "Note: only EPS format supported"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "Thước tỉ lệ và mũi tên chỉ hướng Bắc"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "Xoay:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 #, fuzzy
 msgid ""
 "PIL\n"
 "missing"
 msgstr "Độ phát ra"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "Không thể đọc tập tin EPSG: '%s'"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 #, fuzzy
 msgid "North Arrow"
 msgstr "Thước tỉ lệ và mũi tên chỉ hướng Bắc"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "Hiện các thiết lập"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "Điểm"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "ký hiệu:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "Chọn theo khung"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr "Màu đường"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "trong suốt"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr "Màu lưới:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "Thước tỉ lệ và mũi tên chỉ hướng Bắc"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "Cỡ:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "Thiết lập về ký hiệu"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "Thay đổi các thiết lập"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "Thay đổi các thiết lập"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 #, fuzzy
 msgid "Line width in points"
 msgstr "Độ dày đường (theo điểm ảnh):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "nhãn vec-tơ"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 msgid "Vector label files created beforehand by v.label module"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4491,97 +4502,97 @@ msgstr ""
 msgid "labels: "
 msgstr "Thêm nhãn"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "Không thể mở tập tin <%s> để đọc."
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, fuzzy, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr "Độ phân giải không thể là 0"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "Không thể đọc danh sách: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "Không thể đọc danh sách: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "Không thể đọc danh sách: %s"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "Không thể đọc danh sách: %s"
@@ -4642,30 +4653,30 @@ msgstr "Các thông số"
 msgid "degree"
 msgstr ""
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "Không thể đóng bản đồ raster"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 #, fuzzy
 msgid "Generate PostScript output"
 msgstr "Tiện ích xuất ra bản đồ PostScript để in."
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 #, fuzzy
 msgid "Generate PDF output"
 msgstr "Tạo điểm"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr ""
 
@@ -4682,7 +4693,7 @@ msgstr "Phóng đến vùng mặc định"
 msgid "Click and drag to place map frame"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "Xóa vị trí đã chọn"
@@ -4696,13 +4707,13 @@ msgstr "Hiển thị lưới"
 msgid "Quit Cartographic Composer"
 msgstr ""
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "Thêm thành phần bản đồ"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "Thêm lớp"
@@ -4757,22 +4768,27 @@ msgid ""
 "Perhaps your current printer is not set correctly?"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "Kiểu lớp '%s' không được hỗ trợ"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "Không thể đọc các mã EPSG: %s"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "Khởi động trình bày mới"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "Không thể đọc tập tin EPSG: '%s'"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "Khởi động trình bày mới"
@@ -4808,30 +4824,31 @@ msgstr ""
 msgid "Unknown value %s of test parameter."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - Trình bày bản đồ"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "Vào phiên làm việc của GRASS"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, fuzzy, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "Màn Hình Bản Đồ GRASS GIS:"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "Xem 2D"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
@@ -4842,12 +4859,12 @@ msgstr ""
 "\n"
 "Chi tiết: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "Thanh công cụ của trình số hoá bản đồ"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4862,117 +4879,130 @@ msgstr ""
 "\n"
 "Chi tiết: %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 msgid "Starting 3D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "Xin hãy chờ, đang nạp dữ liệu..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "Xin hãy chờ, đang nạp dữ liệu..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 msgid "Switching back to 2D view mode..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "Thanh công cụ Bản đồ"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "Số hóa"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "Trình số hóa vec-tơ thất bại"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 #, fuzzy
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "Không có bản đồ vec-tơ nào được chọn để biên tập."
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr "Không có bản đồ raster hoặc véc-tơ nào được chọn để truy vấn."
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "Thêm lớp văn bản"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "Phóng đến vùng mặc định"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "Phóng đến vùng đã lưu"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "Thiết lập vùng tính toán theo phần trình bày"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "Phóng đến vùng tính toán (thiết lập bằng g.region)"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "Thiết lập vùng tính toán theo phần trình bày"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "Lưu hình học trình bày vào vùng có đặt tên"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "Thiết lập vùng tính toán theo phần trình bày"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "Thanh công cụ của trình số hoá bản đồ"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "Vẽ"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "Bật/tắt chế độ vẽ tự động"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "Hiển thị phạm vi tính toán"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "Hiển thị phạm vi tính toán"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
@@ -4982,16 +5012,16 @@ msgstr ""
 "được vẽ bằng một khung màu xanh ở trong vùng tính toán, vùng tính toán ở "
 "trong vùng trình bày thì ở dạng khung màu đỏ)."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "Chế độ trình bày"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 #, fuzzy
 msgid ""
 "Align region extent based on display size from center point. Default value "
@@ -5001,17 +5031,17 @@ msgstr ""
 "mặc định cho việc trình bày bản đồ mới có thể được thiết lập trong hộp thoại "
 "'Các thiết lập GUI của người dùng'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 #, fuzzy
 msgid "Display resolution"
 msgstr "Hiển thị vùng"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "Giới hạn độ phân giải trình bày theo các thiết lập tính toán"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
@@ -5020,68 +5050,68 @@ msgstr ""
 "mặc định cho việc trình bày bản đồ mới có thể được thiết lập trong hộp thoại "
 "'Các thiết lập GUI của người dùng'."
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "Tỉ lệ bản đồ"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 msgid "Error in projection (check the settings)"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 #, fuzzy
 msgid "Projection"
 msgstr "Phép chiếu:"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 #, fuzzy
 msgid "Use defined projection"
 msgstr "Chọn phép chiếu"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "MẶT NẠ"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "Dạng hình học hiển thị"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "Tọa độ"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "Phạm vi"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 #, fuzzy
 msgid "Computational region"
 msgstr "Phóng đến vùng tính toán (thiết lập bằng g.region)"
@@ -5098,110 +5128,125 @@ msgstr "Truy vấn (các) bản đồ raster/véc tơ đã chọn"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "Chọn các đối tượng vec-tơ"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "Nắn chỉnh địa lý các bản đồ raster và véc tơ"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "Hiện/giấu thước tỉ lệ và mũi tên hướng Bắc"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 msgid "Show/hide legend"
 msgstr "Hiện/giấu chú giải"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "Hiện/giấu thước tỉ lệ và mũi tên hướng Bắc"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "Phân tích bản đồ"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "Đo khoảng cách"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "Đo khoảng cách"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "Mặt cắt bản đồ bề mặt"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "Tạo biểu đồ tần số của ảnh hoặc tập tin raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "Tạo biểu đồ tần số của ảnh hoặc tập tin raster"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "Phân tích mạng"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "Kéo chuột để di chuyển"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "Kéo hoặc bấm chuột để phóng"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "Kéo hoặc bấm chuột để hủy lệnh phóng"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "Xem 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 msgid "3D view mode not available"
 msgstr "Không có chế độ xem 3D"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, python-format
 msgid "Reason: %s"
 msgstr "Lý do: %s"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 msgid "Vector digitizer not available"
 msgstr "Không có trình số hoá véc-tơ"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
 "In the meantime you can use \"v.digit\" from the Develop Vector menu."
 msgstr ""
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "Lỗi trình số hóa vec-tơ"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5995,13 +6040,13 @@ msgstr ""
 msgid "Export animation"
 msgstr "Lượng hóa"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "Mô tả"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 #, fuzzy
 msgid "Export"
@@ -6012,12 +6057,12 @@ msgstr "Xuất ra MPEG-1"
 msgid "Add time stamp"
 msgstr "Đánh dấu thời gian"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "Thêm nhóm lớp"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "Thêm lớp văn bản"
@@ -6041,7 +6086,7 @@ msgid "Sample text"
 msgstr "Lấy mẫu các tuyến"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -6058,7 +6103,7 @@ msgid "Choose image file"
 msgstr "Chọn tập tin"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "Kiểm tra"
@@ -6090,7 +6135,7 @@ msgstr ""
 msgid "Export to:"
 msgstr "Xuất ra MPEG-1"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 msgid "File prefix:"
 msgstr ""
 
@@ -6099,14 +6144,14 @@ msgstr ""
 msgid "animation_"
 msgstr "Lượng hóa"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "Định dạng:"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 msgid "Directory:"
 msgstr "Thư mục:"
 
@@ -6249,7 +6294,7 @@ msgstr "Bộ công cụ để dọn tôpô cho bản đồ véc tơ."
 msgid "Animation Tool settings"
 msgstr "Lượng hóa"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6306,22 +6351,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "Giá trị không hợp lệ: %s"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "Gỡ bỏ lớp bản đồ"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "Gỡ bỏ lớp bản đồ"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr ""
@@ -6361,7 +6406,7 @@ msgstr "Thanh công cụ Bản đồ"
 msgid "Animation Toolbar"
 msgstr "Thanh công cụ Bản đồ"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 #, fuzzy
 msgid "Misc Toolbar"
@@ -6407,8 +6452,8 @@ msgid ""
 msgstr ""
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "Không tìm thấy bản đồ <%s>."
@@ -6452,7 +6497,7 @@ msgstr ""
 msgid "Exporting animation, please wait..."
 msgstr "Nắn chỉnh ảnh hoặc raster"
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, fuzzy, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6476,37 +6521,37 @@ msgstr "Thêm các lớp được liên kết vào sơ đồ lớp hình cây"
 msgid "No map series nor space-time dataset is added."
 msgstr "Tạo từ CSDL"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr ""
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6525,12 +6570,12 @@ msgstr ""
 msgid "Play back"
 msgstr ""
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 #, fuzzy
 msgid "Stop"
 msgstr "đỉnh"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr ""
 
@@ -6567,14 +6612,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "Tạo biểu đồ tần số GRASS GIS của ảnh hoặc bản đồ raster"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "Vẽ"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "Trợ giúp"
 
@@ -6591,21 +6636,21 @@ msgstr ""
 msgid "Select space time dataset(s):"
 msgstr "Chọn tập bản đồ nguồn:"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6634,616 +6679,616 @@ msgstr "X:"
 msgid "Y"
 msgstr "Y:"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, fuzzy, python-format
 msgid "Time [%s]"
 msgstr "Đánh dấu thời gian"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "Nhập dữ liệu raster"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "Nhập dữ liệu véc-tơ"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "Nhập dữ liệu raster"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, fuzzy, python-format
 msgid "Mapset: %s"
 msgstr "Tập bản đồ"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "Tỉ lệ bản đồ"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "Đánh dấu thời gian"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "Tạo hoặc dựng lại tôpô"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "Xem"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "Phân tích"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "Lượng hóa"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "Phối cảnh:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "Độ phóng đại Z:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 #, fuzzy
 msgid "Look:"
 msgstr "Xem tại:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 #, fuzzy
 msgid "here"
 msgstr "cầu"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "Vẽ"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "đỉnh"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 #, fuzzy
 msgid "reset"
 msgstr "Đặt lại"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "Đặt lại về chế độ xem mặc định"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 #, fuzzy
 msgid "Record"
 msgstr "Nạp lại"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "Đổi tên tập bản đồ"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 msgid "Save image sequence"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "Chọn thư mục đầu vào"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 msgid "Surface"
 msgstr "Bề mặt"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "Bề mặt chi phí"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "Vec-tơ"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 #, fuzzy
 msgid "3D raster"
 msgstr "raster 3D"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 #, fuzzy
 msgid "Lighting"
 msgstr "Làm nổi bật"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 msgid "Cutting planes"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "Chế độ:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "thô"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "mịn"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "cả hai"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "Đổ bóng:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "phẳng"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "gouraud"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "Đặt cho tất cả"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "Dùng các thiết lập vẽ cho tất cả các bề mặt đã nạp"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "thô:"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "Độ phân giải"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "Kiểu"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "lưới"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "bề mặt"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr "Màu lưới:"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "mịn:"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "Các thuộc tính bề mặt"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "Độ trong suốt"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "Độ bóng"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "bản đồ"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "khử thiết lập"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "hằng số"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "Đặt lại"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "Đặt lại về chế độ xem mặc định"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 msgid "clear"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "màu:"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "theo màu"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 #, fuzzy
 msgid "Horizontal X:"
 msgstr "Góc ngang"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 #, fuzzy
 msgid "Horizontal Y:"
 msgstr "Góc ngang"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "Xoay:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "Mới"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "Độ phân giải"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 #, fuzzy
 msgid "Value:"
 msgstr "giá trị"
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "Độ trong suốt"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr "Hiện các đường véc tơ"
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 msgid "Vector lines"
 msgstr "Các đường véc tơ"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 #, fuzzy
 msgid "Line:"
 msgstr "Đường"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 msgid "width:"
 msgstr "rộng:"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 msgid "color:"
 msgstr "màu:"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 #, fuzzy
 msgid "use color for thematic mapping"
 msgstr "Phân loại dữ liệu thuộc tính, ví dụ để tạo bản đồ chủ đề"
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 #, fuzzy
 msgid "use width for thematic mapping"
 msgstr "Phân loại dữ liệu thuộc tính, ví dụ để tạo bản đồ chủ đề"
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "Thiết lập lựa chọn"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr "Trình bày"
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "trên bề mặt"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr "Độ cao trên bề mặt:"
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr "Hiện các điểm véc tơ"
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 msgid "Vector points"
 msgstr "Các điểm véc tơ"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 #, fuzzy
 msgid "Icon:"
 msgstr "Kích thước biểu tượng:"
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 #, fuzzy
 msgid "use size for thematic mapping"
 msgstr "Phân loại dữ liệu thuộc tính, ví dụ để tạo bản đồ chủ đề"
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 msgid "3D raster map"
 msgstr "Bản đồ raster 3D"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr "các mặt đồng giá trị"
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr "Độ phân giải"
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr "Danh sách các bề mặt đồng giá trị"
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 #, fuzzy
 msgid "Show light model"
 msgstr "Hiện các đường"
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 #, fuzzy
 msgid "Light source position"
 msgstr "Chọn vị trí nguồn:"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 msgid "Light color and intensity"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 #, fuzzy
 msgid "Brightness:"
 msgstr "Độ giàu"
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 msgid "Arrow length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "Màu lưới:"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 msgid "Scale bar length (in map units):"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "Màu lưới:"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "Thêm lớp"
@@ -7665,15 +7710,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, fuzzy, python-format
 msgid "Raster map <%s> not found"
 msgstr "Không tìm thấy bản đồ <%s>."
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "Không tìm thấy bản đồ <%s>."
@@ -7684,12 +7729,14 @@ msgid "3d raster map <%s> not found"
 msgstr "Không tìm thấy bản đồ <%s>."
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "Nhập dữ liệu raster"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 #, fuzzy
 msgid "Link external raster data"
 msgstr "Liên kết dữ liệu raster"
@@ -7706,12 +7753,14 @@ msgid "Set raster output format"
 msgstr "Chọn phông"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "Nhập dữ liệu véc-tơ"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 #, fuzzy
 msgid "Link external vector data"
 msgstr "Liên kết dữ liệu vec-tơ"
@@ -7736,7 +7785,7 @@ msgstr "Tải xuống và nhập dữ liệu từ các máy chủ WMS."
 msgid "Add command layer"
 msgstr "Thêm lớp lệnh"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "Thoát"
@@ -7846,100 +7895,98 @@ msgstr "Xuất bản đồ véc tơ"
 msgid "Export PostGIS"
 msgstr "Xuất bản đồ véc tơ"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "Tạo bảng thuộc tính"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 #, fuzzy
 msgid "Create pack"
 msgstr "Tạo RGB"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 #, fuzzy
 msgid "Make a copy in the current mapset"
 msgstr ""
 "Loại bỏ các tập tin thành phần CSDL ra khỏi bộ bản đồ hiện tại của người "
 "dùng."
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "Đặt bảng màu"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "Hiện dữ liệu thuộc tính"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "Bắt đầu biên tập"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "Ngừng biên tập"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 #, fuzzy
 msgid "Rebuild topology"
 msgstr "Tạo hoặc dựng lại tôpô"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "Phóng đến (các) bản đồ đã chọn (bỏ qua các giá trị RỖNG)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "Mã hoá lại tương tác"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "Biểu đồ tần số"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "Thống kế raster một biến"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "Báo cáo và thống kê"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr "Mặt cắt"
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 #, fuzzy
 msgid "Save web service layer"
 msgstr "Xóa lớp đã chọn"
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr "Không thể tạo mặt cắt của bản đồ raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "vùng không hợp lệ"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "Kiểu lớp bản đồ '%s' chưa được hỗ trợ"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "Nhập tên cho tập bản đồ mới:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, fuzzy, python-format
 msgid "Make a copy of %s <%s>"
 msgstr "Đặt độ mờ <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
@@ -7947,110 +7994,115 @@ msgstr ""
 "Bản đồ véc tơ <%s> đã có trong tập bản đồ hiện tại. Bạn có muốn ghi đè lên "
 "không?"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr "Ghi đè?"
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 #, fuzzy
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr "Không thể hiển thị biểu đồ tần số của bản đồ raster."
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "Đặt độ mờ <%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr "Nhóm lớp:"
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr "Nhắp chuột để chỉnh sửa các thiết lập lớp"
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr "(bấm đúp để thiết lập các tính chất)"
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr "Xin chờ, đang cập nhật dữ liệu..."
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "Bộ Quản lý Lớp của GRASS GIS"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 #, fuzzy
 msgid "Workspace Toolbar"
 msgstr "Không gian làm việc"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 #, fuzzy
 msgid "Data Toolbar"
 msgstr "Thanh công cụ Bản đồ"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 #, fuzzy
 msgid "Tools Toolbar"
 msgstr "Thanh công cụ Bản đồ"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "Thanh công cụ của trình số hoá bản đồ"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "Thanh công cụ Nviz"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "Trình bày"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 #, fuzzy
 msgid "Map layers"
 msgstr "Các Lớp Bản Đồ"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 #, fuzzy
 msgid "Command console"
 msgstr "Lệnh đã kết thúc"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 #, fuzzy
 msgid "Search modules"
 msgstr "Chọn vị trí dự án và tập bản đồ"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "Mặt cắt"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -8058,47 +8110,47 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "Tạo vị trí mới?"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
 "Current mapset is <%(mapset)s>."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr ""
 "Bạn có muốn thiết lập phạm vi vùng và độ phân giải mặc định bây giờ không?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, python-format
 msgid "Location <%s> created"
 msgstr "Đã tạo vị trí <%s>"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 #, fuzzy
 msgid "Choose model to run"
 msgstr "Chọn phép chiếu"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "Bạn có muốn lưu các thay đổi trong không gian làm việc?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "Bạn có muốn lưu thiết lập hiện tại vào tệp không gian làm việc?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "Đóng trình bày màn hình %d"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, fuzzy, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
@@ -8107,161 +8159,162 @@ msgstr ""
 "Lệnh '%s' chưa được thực thi trong GDĐH. Hãy thử thêm nó vào dưới dạng một "
 "lớp lệnh."
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 msgid "Selected map layer is not vector."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 #, fuzzy
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "Tạo tôpô cho bản đồ véc tơ của GRASS."
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 #, fuzzy
 msgid "Choose script file to run"
 msgstr "Chọn tập tin đầu vào"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "Cần ít nhất %d GCP. Đã hủy thao tác."
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "Đặt vùng"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "Giá trị tọa độ không hợp lệ. Thao tác bị hủy."
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "Nhập tên cho tập bản đồ mới:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "Tạo tập bản đồ mới"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, fuzzy, python-format
 msgid "Current mapset is <%s>."
 msgstr "Thay đổi bộ bản đồ hiện tại."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "Thay đổi môi trường làm việc"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "Chọn thư mục đầu vào"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "Chọn thư mục đầu vào"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "Vào phiên làm việc của GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 #, fuzzy
 msgid "unknown version"
 msgstr "Giá trị không biết"
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "Thư viện GIS"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
-msgstr ""
+#: ../gui/wxpython/lmgr/frame.py:1105
+#, fuzzy
+msgid "Build date"
+msgstr "Trình xây dựng câu lệnh SQL"
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
@@ -8269,64 +8322,64 @@ msgstr ""
 "Không gian làm việc hiện tại chưa trống. Bạn có muốn lưu thiết lập hiện tại "
 "vào tệp không gian làm việc?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "Tạo không gian làm việc mới"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "Chọn tập tin không gian làm việc"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "Xin chờ, đang nạp không gian làm việc..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "Chọn tập tin GRC để nạp"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "Chọn tập tin để lưu không gian làm việc hiện tại"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr ""
 "Tập tin không gian làm việc <%s> đã tồn tại. Bạn có muốn ghi đè tập tin này "
 "không?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "Lưu không gian làm việc"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 #, fuzzy
 msgid "Writing current settings to workspace file failed."
 msgstr ""
 "Thất bại khi đang ghi thiết lập hiện tại vào tập tin không gian làm việc "
 "(%s)."
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "Nhập tên cho tập bản đồ mới:"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, fuzzy, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr "Màn Hình Bản Đồ GRASS GIS:"
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8334,33 +8387,33 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "Không thể chèn bản ghi mới."
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "Không thể chèn bản ghi mới."
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "Thêm các lớp được liên kết vào sơ đồ lớp hình cây"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "Kiểu lớp bản đồ '%s' chưa được hỗ trợ"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8370,70 +8423,65 @@ msgstr ""
 "Bạn có muốn loại bỏ (các) lớp bản đồ %s \n"
 "
khỏi sơ đồ lớp hình cây không?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 "Bạn muốn loại bỏ (các) lớp bản đồ được chọn khỏi sơ đồ lớp hình cây không?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "Gỡ bỏ lớp bản đồ"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "Thoát giao diện đồ họa GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "Vào phiên làm việc của GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 msgid "Constrain map to region geometry?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "Đã tạo xong bản đồ véc tơ mới <%s>"
@@ -8513,7 +8561,7 @@ msgstr "Nhập dữ liệu raster"
 msgid "Raster Map Calculator"
 msgstr "Trình tính toán cho bản đồ raster 3 chiều"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 #, fuzzy
 msgid "Graphical Modeler"
 msgstr "Trợ giúp GRASS GIS"
@@ -8614,7 +8662,7 @@ msgid "Ignore changes and close dialog"
 msgstr "Bỏ qua thay đổi và đóng hộp thoại lại"
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr "Áp dụng thay đổi và đóng hộp thoại"
 
@@ -8955,29 +9003,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr "Hộp thoại Z bulk-labeling"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "Lỗi trình số hóa vec-tơ"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "Không có trình số hoá véc-tơ"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr "Đã tạo xong bản đồ véc tơ mới <%s>"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
@@ -9188,7 +9236,7 @@ msgstr "Trình số hóa vec-tơ thất bại"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "Các công cụ bổ sung (sao chép, lật, kết nối, v.v..)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "Hủy thao tác cuối"
 
@@ -9266,7 +9314,7 @@ msgstr "Bản đồ véc-tơ không phải loại 3D. Thao tác bị hủy."
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr "Chọn bản đồ véc tơ"
 
@@ -9295,11 +9343,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "Giá trị tọa độ không hợp lệ. Thao tác bị hủy."
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "Trình số hóa vec-tơ thất bại"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9324,188 +9367,188 @@ msgstr "Đóng hộp thoại khi kết thúc"
 msgid "New vector map"
 msgstr "Bản đồ véc tơ mới"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 #, fuzzy
 msgid " Server settings "
 msgstr "Các thiết lập tổng quát"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 #, fuzzy
 msgid "&Connect"
 msgstr "Kết nối"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 msgid "Connect to the server"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "Thiết lập nâng cao"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "Thiết lập nâng cao"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "Thiết lập cho Bộ Quản Lý Lớp"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "Tên bản đồ véc tơ đầu ra"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 #, fuzzy
 msgid "Username:"
 msgstr "Đổi tên"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, python-format
 msgid "Connecting to <%s>..."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 msgid "Available web services"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, python-format
 msgid "Connected to <%s>"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 #, fuzzy
 msgid "Add web service layer"
 msgstr "Thêm lớp lưới"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr "Thê&m lớp"
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "Thêm các lớp được liên kết vào sơ đồ lớp hình cây"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "Các thuộc tính của lớp"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "Tên cho bản đồ véc tơ mới"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "Đặt vùng"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 #, fuzzy
 msgid "Map display"
 msgstr "Trình bày"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "Nạp vùng:"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "Giới hạn độ phân giải trình bày theo các thiết lập tính toán"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "Thiết lập vùng tính toán theo phần trình bày"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "Chèn %s hiện có"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "Nạp vùng:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "Gỡ bỏ lớp bản đồ"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "Xóa lớp đã chọn"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 msgid "Missing output raster."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr ""
 "Loại bỏ các tập tin thành phần CSDL ra khỏi bộ bản đồ hiện tại của người "
 "dùng."
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, python-format
 msgid "Output map <%s> already exists"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "Đã tạo xong bản đồ véc tơ mới <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "Đang nạp dữ liệu..."
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "Không thể đặt "
@@ -9620,7 +9663,8 @@ msgid "Choose output layer name.\n"
 msgstr ""
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr "Tên lớp"
 
@@ -9636,8 +9680,8 @@ msgstr "Kiểu"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "Thêm nhóm lớp"
+msgid "Add default"
+msgstr "Mặc định"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9646,166 +9690,173 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 #, fuzzy
 msgid "1. Select GRASS GIS database directory"
 msgstr "Chọn thư mục dữ liệu GRASS:"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 #, fuzzy
 msgid "2. Select GRASS Location"
 msgstr "Chọn kiểu bản đồ và vị trí/tập bản đồ"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 #, fuzzy
 msgid "3. Select GRASS Mapset"
 msgstr "Chọn vị trí dự án và tập bản đồ"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 #, fuzzy
 msgid "Start &GRASS session"
 msgstr "Vào phiên làm việc của GRASS"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 #, fuzzy
 msgid "&Browse"
 msgstr "Duyệt"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 #, fuzzy
 msgid "Create a new Mapset in selected Location"
 msgstr ""
 "Tạo tập bản đồ mới\n"
 "trong vị trí đã chọn"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "Đổi tên vị trí đã chọn"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 #, fuzzy
 msgid "De&lete"
 msgstr "Xóa"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "Xóa vị trí đã chọn"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "Đổ&i tên"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "Đổi tên tập bản đồ đã chọn"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 #, fuzzy
 msgid "&Delete"
 msgstr "Xóa"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "Xóa tập bản đồ đã chọn"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, fuzzy, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "Bộ Quản lý Lớp của GRASS GIS"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "Vào phiên làm việc của GRASS"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr ""
 "Không thể thiết lập CSDL GRASS. Kiểm tra các thiết lập bản địa của bạn."
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, fuzzy, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "LỖI: Không tìm thấy vị trí <%s>"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, fuzzy, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "LỖI: Không tìm thấy tập bản đồ <%s>"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, fuzzy, python-brace-format
 msgid "Error: {text}"
 msgstr "Lỗi:"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 #, fuzzy
 msgid "Import data?"
 msgstr "Nhập dữ liệu raster"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 #, fuzzy
 msgid "Do you want to create new mapset?"
 msgstr "Bạn có muốn tạo vị trí GRASS <%s>?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, fuzzy, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr "Nắn chỉnh địa lý bản đồ véc-tơ <%s> thất bại"
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9815,7 +9866,7 @@ msgstr ""
 "\n"
 "Không thể đổi tên bộ bản đồ này."
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9826,7 +9877,7 @@ msgstr ""
 "\n"
 "Nhập tên mới:"
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9837,7 +9888,7 @@ msgstr ""
 "\n"
 "Bộ bản đồ <%s> đã có trong location."
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9848,7 +9899,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9859,7 +9910,7 @@ msgstr ""
 "\n"
 "Location <%s> đã có trong CSDL GRASS."
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9870,7 +9921,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9880,7 +9931,7 @@ msgstr ""
 "\n"
 "Không thể đổi tên bộ bản đồ này."
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9893,11 +9944,11 @@ msgstr ""
 "\n"
 "TẤT CẢ BẢN ĐỒ trong đó sẽ bị XÓA VĨNH VIỄN!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "Không thể xóa tập bản đồ"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9908,33 +9959,33 @@ msgstr ""
 "\n"
 "TẤT CẢ BẢN ĐỒ có trong vị trí đó sẽ bị XÓA VĨNH VIỄN!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "Không thể xóa vị trí"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, python-format
 msgid "Path '%s' doesn't exist."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "Chọn Thư mục Dữ liệu GIS"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, python-format
 msgid "Mapset <%s> already exists."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9943,17 +9994,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "Đổi tên tập bản đồ đã chọn"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "Không thể tạo tập bản đồ mới: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9965,11 +10016,11 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 msgid "Lock file found"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9977,7 +10028,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9985,14 +10036,19 @@ msgid ""
 "Details: %(reason)s"
 msgstr "Không thể phóng đến bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "vùng không hợp lệ"
+
+#: ../gui/wxpython/gis_set.py:1101
 #, fuzzy
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
@@ -10003,30 +10059,158 @@ msgstr ""
 "bạn chưa làm. Tên thư mục thường được dùng là \"grassdata\", nằm trong thư "
 "mục nhà của bạn."
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
+#: ../gui/wxpython/rdigit/dialogs.py:33
 #, fuzzy
-msgid "&File"
-msgstr "Tập tin"
+msgid "Create new raster map"
+msgstr "Tạo bản đồ véc tơ mới"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "Không gian làm việc"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "Bản đồ raster đã được mã hóa lại:"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "Tạo không gian làm việc mới"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "Chọn bản đồ véc tơ"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "Mở"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "Bản đồ raster đã được mã hóa lại:"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "Nạp không gian làm việc từ tập tin"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "Tính chỉ mục hình dạng trên một bản đồ raster"
+
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr ""
+"Bản đồ véc tơ <%s> đã có trong tập bản đồ hiện tại. Bạn có muốn ghi đè lên "
+"không?"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "Bộ công cụ để dọn tôpô cho bản đồ véc tơ."
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "Bạn có muốn lưu các thay đổi trong không gian làm việc?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "Lưu các thay đổi"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "Không thể tạo mặt cắt của bản đồ raster."
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "Không thể tạo bản đồ véc tơ <%s>."
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "Vẽ"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "Tạo bảng màu mới cho bản đồ raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "Số hóa đối tượng mới"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "Số hóa đường mới"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "Số hóa điểm mới"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "Vá các bản đồ raster"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "Lỗi trình số hóa vec-tơ"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "Chọn bản đồ raster:"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "Giá trị ô"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "bản đồ raster"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+#, fuzzy
+msgid "&File"
+msgstr "Tập tin"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "Không gian làm việc"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "Tạo không gian làm việc mới"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "Mở"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "Nạp không gian làm việc từ tập tin"
 
 #: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
+#: ../gui/wxpython/modules/colorrules.py:419
 msgid "Save"
 msgstr "Lưu"
 
@@ -10860,7 +11044,7 @@ msgstr ""
 msgid "Launch Graphical modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr ""
 
@@ -10926,7 +11110,7 @@ msgstr "Mô tả lớp"
 msgid "Launches script file."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "Đóng"
@@ -10936,8 +11120,8 @@ msgstr "Đóng"
 msgid "Quit wxGUI session."
 msgstr "Vào phiên làm việc của GRASS"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "Thoát giao diện đồ họa GRASS"
@@ -12598,8 +12782,8 @@ msgid "Develop vector map"
 msgstr "Phát triển bản đồ véc tơ"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "Tạo bản đồ véc tơ mới"
 
@@ -14736,15 +14920,15 @@ msgstr "Hiển thị phạm vi tính toán"
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "Chế độ phạm trù"
+msgstr "Tạo biểu đồ tần số GRASS GIS của ảnh hoặc bản đồ raster"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 #, fuzzy
 msgid "Plot temporal values."
 msgstr "Hiển thị phạm vi tính toán"
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 #, fuzzy
 msgid "&Help"
 msgstr "Trợ giúp"
@@ -14875,159 +15059,168 @@ msgstr "Thêm nhóm lớp"
 msgid "Adds loop (series) to model"
 msgstr ""
 
+#: ../gui/wxpython/menustrings.py:1959
+#, fuzzy
+msgid "Add condition"
+msgstr "điều kiện"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr ""
+
+#: ../gui/wxpython/menustrings.py:1962
 #, fuzzy
 msgid "Adds comment to model"
 msgstr "Thêm lớp lệnh"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 #, fuzzy
 msgid "Remove item"
 msgstr "Loại bỏ bảng"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 #, fuzzy
 msgid "Delete intermediate data"
 msgstr "Xoá phần đã được lọc"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 #, fuzzy
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "Hiển thị các trang web trợ giúp của GRASS"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 #, fuzzy
 msgid "Display information about Graphical Modeler"
 msgstr "Xuất ra thông tin cơ bản về một lớp bản đồ raster."
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 #, fuzzy
 msgid "Load instruction file"
 msgstr "Không thể đọc danh sách: %s"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 #, fuzzy
 msgid "Export instruction file"
 msgstr "Xuất bản đồ véc tơ"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 #, fuzzy
 msgid "Export to PostScript"
 msgstr "Xuất bản đồ véc tơ"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 #, fuzzy
 msgid "Export to PDF"
 msgstr "Xuất ra MPEG-1"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 #, fuzzy
 msgid "Launch ps.map dialog"
 msgstr "Mô tả lớp"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 #, fuzzy
 msgid "Close Cartographic Composer"
 msgstr "Trợ giúp GRASS GIS"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 #, fuzzy
 msgid "Add or edit map frame"
 msgstr "Thêm lớp bản đồ raster"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 #, fuzzy
 msgid "Add or edit raster map"
 msgstr "Thêm bản đồ raster 3D"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 #, fuzzy
 msgid "Add or edit vector map"
 msgstr "véc tơ"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 #, fuzzy
 msgid "Map legend"
 msgstr "Thêm chú giải"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 #, fuzzy
 msgid "Add or edit raster and vector legend"
 msgstr "Thêm bản đồ đã tạo vào sơ đồ lớp hình cây"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 #, fuzzy
 msgid "Add or edit map info"
 msgstr "Thêm thành phần bản đồ"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 #, fuzzy
 msgid "Add or edit scale bar"
 msgstr "Thêm lớp"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 #, fuzzy
 msgid "Add north arrow"
 msgstr "Thêm thước tỷ lệ và mũi tên chỉ hướng bắc"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 #, fuzzy
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "Hiển thị các trang web trợ giúp của GRASS"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 #, fuzzy
 msgid "About Cartographic Composer"
 msgstr "Trợ giúp GRASS GIS"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 #, fuzzy
 msgid "Display information about Cartographic Composer"
 msgstr "Xuất ra thông tin cơ bản về một lớp bản đồ raster."
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -15042,114 +15235,114 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "Tạo biểu đồ tần số GRASS GIS của ảnh hoặc bản đồ raster"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "Thiết lập raster"
+msgstr "vùng không hợp lệ"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "Cột thuộc tính:"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "Chọn bản đồ raster 3 (tùy chọn):"
+msgstr "Chọn các đối tượng vec-tơ"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
 msgstr "Chế độ phạm trù"
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "vùng không hợp lệ"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "vùng không hợp lệ"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "vùng không hợp lệ"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "vùng không hợp lệ"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
 
@@ -15348,7 +15541,7 @@ msgstr "Câu lệnh SQL hợp lệ"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr ""
@@ -15356,7 +15549,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr "Bộ Quản Lý Bảng Thuộc Tính của GRASS GIS"
 
@@ -15484,7 +15677,7 @@ msgid "Field calculator"
 msgstr "Trình toán toán bản đồ"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "Thêm cột"
@@ -15589,15 +15782,15 @@ msgstr "Xóa (các) bản ghi đã chọn"
 msgid "Delete all records"
 msgstr "Xóa tất cả bản ghi "
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr "Chọn hết"
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr "Hủy chọn tất cả"
 
@@ -15787,7 +15980,7 @@ msgid "Driver"
 msgstr "Trình điều khiển"
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr "CSDL"
 
@@ -15915,211 +16108,211 @@ msgstr "Không thể tạo vị trí mới"
 msgid "Field statistics <%s>"
 msgstr "Thống kê voxel"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "Đóng hộp thoại"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 #, fuzzy
 msgid "Clear all"
 msgstr "Đóng hộp thoại"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "Truy vấn dữ liệu thuộc tính véc tơ"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr "Chọn bản đồ véc tơ:"
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "Đặt bảng màu"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "Chọn tập tin GRC để nạp"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 msgid "Load"
 msgstr "Nạp"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "Chọn tập tin GRC để nạp"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "Các thiết lập"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "Lưu không gian làm việc vào tập tin"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "Lưu không gian làm việc vào tập tin"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "Lưu không gian làm việc vào tập tin"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "Đặt lại về chế độ xem mặc định"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr "Xem trước"
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 msgid "No valid color rules given."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "Tập tin vùng <%s> đã có. Bạn có muốn ghi đè không?"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 #, fuzzy
 msgid "Nothing to save."
 msgstr "Không có gì để xóa."
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "Đặt bảng màu"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr "Tạo bảng màu mới cho bản đồ raster"
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 #, fuzzy
 msgid "Enter raster category values or percents"
 msgstr "Nhập các giá trị phạm trù hoặc giá trị phần trăm raster"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 #, fuzzy
 msgid "fp range"
 msgstr "Miền hợp lệ"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, fuzzy, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 "Nhập các giá trị phạm trù hoặc phần trăm raster (khoảng = %(min)d-%(max)d)"
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "Tạo bảng màu mới cho bản đồ véc tơ"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "Nhập các giá trị hoặc khoảng cho thuộc tính véc tơ (n hoặc n1 tới n2)"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "Truy vấn dữ liệu thuộc tính véc tơ"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "Chọn bản đồ véc tơ"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "Lớp:"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr "Cột thuộc tính:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "Cột màu RGB:"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "Cột màu RGB:"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "Bỏ tất cả cột"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "Chuỗi bản đồ raster sang thể tích"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "Nạp không gian làm việc từ tập tin"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 msgid "Save width to column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 msgid "Use color column instead of color table:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "Bỏ một bảng thuộc tính"
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "Đặt bảng màu"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
@@ -16128,12 +16321,12 @@ msgstr ""
 "Kết nối CSDL cho bản đồ véc tơ <%s> không được định nghĩa trong tệp DB. Bạn "
 "có thể định nghĩa kết nối mới trong thẻ 'Quản lý lớp'."
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "Các kết nối CSDL véc tơ"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, fuzzy, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
@@ -16142,48 +16335,48 @@ msgstr ""
 "Bản đồ véc tơ <%s> đã có trong tập bản đồ hiện tại. Bạn có muốn ghi đè lên "
 "không?"
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, python-format
 msgid "%s column already exists."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "Xin hãy chờ, đang nạp dữ liệu về thuộc tính..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 msgid "Too many records"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "Nhập các giá trị hoặc khoảng cho thuộc tính véc tơ (n hoặc n1 tới n2)"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "Nhập các giá trị hoặc khoảng cho thuộc tính véc tơ (n hoặc n1 tới n2)"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "Bộ công cụ để dọn tôpô cho bản đồ véc tơ."
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -16239,25 +16432,25 @@ msgstr ""
 msgid ":"
 msgstr "X:"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 #, fuzzy
 msgid "Block size:"
 msgstr "Kích thước biểu tượng:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr ""
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 #, fuzzy
 msgid "Model: "
 msgstr "Chế độ:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr ""
 
@@ -16490,7 +16683,7 @@ msgid "Save expression to file"
 msgstr "Lưu không gian làm việc vào tập tin"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 #, fuzzy
 msgid "&Load"
 msgstr "Nạp"
@@ -16501,7 +16694,7 @@ msgid "Load expression from file"
 msgstr "Nạp không gian làm việc từ tập tin"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 msgid "Copy the current command string to the clipboard"
 msgstr "Chép chuỗi lệnh hiện tại vào bộ nhớ"
 
@@ -16674,102 +16867,272 @@ msgstr "Chọn tập tin GRC để nạp"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s' được chép vào bộ nhớ"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
+msgstr "Nhập nhiều lần"
 
-#: ../gui/wxpython/modules/extensions.py:53
+#: ../gui/wxpython/modules/import_export.py:60
 #, fuzzy
-msgid "List of extensions - double-click to install"
-msgstr "Danh sách các phạm trù - bấm chuột phải để xóa"
+msgid "List of raster layers"
+msgstr "Danh sách lớp"
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
+#: ../gui/wxpython/modules/import_export.py:62
 #, fuzzy
-msgid "Options"
-msgstr "Tùy chọn"
+msgid "List of vector layers"
+msgstr "Danh sách lớp"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "Danh sách của %s lớp"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+#, fuzzy
+msgid "Layer id"
+msgstr "Lớp"
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "Tên cho bản đồ GRASS"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
+#, fuzzy
+msgid "Projection match"
+msgstr "Phép chiếu:"
 
-#: ../gui/wxpython/modules/extensions.py:168
-msgid "Extension not defined"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
+msgstr "Đóng hộp thoại khi kết thúc"
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
+msgstr "&Nhập"
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
+msgstr "Nhập các lớp đã chọn"
 
-#: ../gui/wxpython/modules/extensions.py:216
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Show manual page"
-msgstr "Bản đồ bóng"
-
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "Không thể phân giải lệnh %s"
+msgid "Source settings"
+msgstr "Thiết lập raster"
 
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "Quản lý các phép chiếu"
+msgid "Import settings"
+msgstr "Thiết lập phông"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "Chọn phần mở rộng của tệp:"
+msgid "Add linked layers into layer tree"
+msgstr "Thêm các lớp đã nhập vào sơ đồ lớp hình cây"
+
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr "Thêm các lớp đã nhập vào sơ đồ lớp hình cây"
+
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
+msgstr "&Liên kết"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr "Liên kết các lớp đã chọn"
+
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "Uninstall"
-msgstr "Chọn phần mở rộng của tệp:"
+msgid "No layers selected. Operation canceled."
+msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/modules/extensions.py:371
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "Quản lý các phép chiếu"
+msgid "Unable to determine number of raster bands"
+msgstr "Không thể tạo mặt cắt của bản đồ raster."
 
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:591
+#, fuzzy
+msgid "Define output format for vector data"
+msgstr "Nhập một lúc nhiều dữ liệu véc-tơ"
 
-#: ../gui/wxpython/modules/extensions.py:373
+#: ../gui/wxpython/modules/import_export.py:593
 #, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "Quản lý các phép chiếu"
+msgid "Define output format for raster data"
+msgstr "Nhập một lúc nhiều dữ liệu raster"
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:601
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "Set external format and close dialog"
+msgstr "Bỏ qua thay đổi và đóng hộp thoại lại"
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "Không có lớp bản đồ nào được chọn"
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr "Nhập các lớp DXF"
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr "Chọn tệp DXF để nhập"
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "Không có lớp bản đồ nào được chọn"
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "Phép chiếu:"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "Tên cho bản đồ GRASS"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "Lớp cần xóa"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "Nhập các lớp đã chọn"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+#, fuzzy
+msgid "List of extensions - double-click to install"
+msgstr "Danh sách các phạm trù - bấm chuột phải để xóa"
+
+#: ../gui/wxpython/modules/extensions.py:71
+#, fuzzy
+msgid "Options"
+msgstr "Tùy chọn"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+msgid "Extension not defined"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "Chọn phần mở rộng của tệp:"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+#, fuzzy
+msgid "Show manual page"
+msgstr "Bản đồ bóng"
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "Không thể phân giải lệnh %s"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "Quản lý các phép chiếu"
+
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "Chọn phần mở rộng của tệp:"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "Chọn phần mở rộng của tệp:"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "Quản lý các phép chiếu"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "Quản lý các phép chiếu"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
 msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/modules/extensions.py:427
+#: ../gui/wxpython/modules/extensions.py:428
 #, python-format
 msgid ""
 "List of files to be removed:\n"
@@ -16778,18 +17141,18 @@ msgid ""
 "Do you want really to remove <%(ext)s> extension?"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/extensions.py:431
 #, fuzzy
 msgid "Remove extension"
 msgstr "Loại bỏ đỉnh"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/extensions.py:462
 #, fuzzy
 msgid "Extension"
 msgstr "Biểu thức"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 #, fuzzy
 msgid "Please wait, exporting image..."
 msgstr "Xin chờ, đang cập nhật dữ liệu..."
@@ -16939,7 +17302,7 @@ msgid ""
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "Không tìm thấy bản đồ <%s>."
@@ -16979,11 +17342,6 @@ msgstr "Lưu tập tin thành..."
 msgid "Export training areas"
 msgstr "Xuất bản đồ véc tơ"
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "Tạo bảng thuộc tính"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -17012,22 +17370,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "Đang nạp bản đồ raster"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "Đang nạp bản đồ raster"
@@ -17078,155 +17436,155 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "Thanh công cụ nắn chỉnh địa lý"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "Thanh công cụ Bản đồ"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "Thanh công cụ Bản đồ"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "Các thiết lập số hóa"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "Trình bày in ấn"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "Trình bày"
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "Hiển thị vùng"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "Hiển thị vùng"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 msgid "Import vector map"
 msgstr "Nhập bản đồ véc tơ"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 #, fuzzy
 msgid "No training areas to export."
 msgstr "Không có gì để trích ra."
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, python-format
 msgid "No area in category %s. Category skipped."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "Phân tích"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "Tập tin vùng <%s> đã có. Bạn có muốn ghi đè không?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "Giá trị tọa độ không hợp lệ. Thao tác bị hủy."
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "Cần ít nhất %d GCP. Đã hủy thao tác."
@@ -17713,19 +18071,141 @@ msgstr "Lỗi RMS"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "Trình tính toán Bản đồ %s của GRASS"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "Không thể đọc danh sách: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "Không thể đọc danh sách: %s"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "Đổi tên"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "Đổi tên tập bản đồ"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "Miền hợp lệ"
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "Đổi tên"
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "Không thể đọc tập tin EPSG: '%s'"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "Chép bảng"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, python-brace-format
+msgid "Copying {name}..."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "Bạn có muốn tạo vị trí GRASS <%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "Xóa tập bản đồ"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "Xóa"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "Trình bày"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "Sao chép"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "Raster"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "Trình bày bản đồ"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 #, fuzzy
 msgid "Show text object"
 msgstr "Hiển thị phạm vi tính toán"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
@@ -17733,70 +18213,89 @@ msgstr ""
 "Kéo chữ bằng chuột trong chế độ con trỏ đến vị trí mong muốn.\n"
 "
Nhắp đúp để thay đổi các tùy chọn"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "Chú giải"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "Thêm lớp"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "Thêm thước tỷ lệ và mũi tên chỉ hướng bắc"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s' được chép vào bộ nhớ"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "Trình bày bản đồ"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s' được chép vào bộ nhớ"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "Hiện các thiết lập"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "Thêm lớp chồng"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "Các chuỗi raster"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr "Phóng đến phạm vi vùng đã lưu"
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "Thiết lập vùng tính toán theo phần trình bày"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, fuzzy, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "Bản đồ véc-tơ không phải loại 3D. Thao tác bị hủy."
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr "Lưu phạm vi trình bày vào tập tin vùng"
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "Thiết lập vùng tính toán theo phần trình bày"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr "Tập tin vùng <%s> đã có. Bạn có muốn ghi đè không?"
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, python-format
 msgid "Property does not exist: %s"
 msgstr ""
@@ -17894,82 +18393,82 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 msgid "Required item is not set."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 #, fuzzy
 msgid "Select GRASS location and mapset"
 msgstr "Chọn vị trí dự án và tập bản đồ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "Tính toán dòng chảy của các lưới lớn (phiên bản Float)."
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 #, fuzzy
 msgid "Name of GRASS location:"
 msgstr "Tên cho bản đồ GRASS"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 #, fuzzy
 msgid "Name of mapset:"
 msgstr "Đổi tên tập bản đồ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 #, fuzzy
 msgid "Select mapset in GRASS location"
 msgstr "Chọn kiểu bản đồ và vị trí/tập bản đồ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 #, fuzzy
 msgid "Name of mapset is missing."
 msgstr "Đổi tên tập bản đồ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 #, fuzzy
 msgid "Name of vector map is missing."
 msgstr "Tên cho bản đồ véc tơ mới"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr "Tạo bảng thuộc tính"
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "Thêm bản đồ đã tạo vào sơ đồ lớp hình cây"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "Tên cho bản đồ véc tơ mới"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr "Tên cho bản đồ véc tơ mới"
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "Cột khóa:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "Không thể tạo bản đồ véc tơ <%s>."
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
@@ -17978,503 +18477,402 @@ msgstr ""
 "Bản đồ véc tơ <%s> đã có trong tập bản đồ hiện tại. Bạn có muốn ghi đè lên "
 "không?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr "Nạp vùng:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr "Lưu vùng:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "Tạo/biên soạn nhóm"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 #, fuzzy
 msgid "Apply changes to selected group and close dialog"
 msgstr "Áp dụng thay đổi và đóng hộp thoại"
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 #, fuzzy
 msgid "Apply changes to selected group"
 msgstr "Áp dụng các thay đổi cho phiên này"
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 #, fuzzy
 msgid "Close dialog, changes are not applied"
 msgstr "Đóng hộp thoại khi áp dụng"
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "hình sao"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr "Danh sách bản đồ:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 msgid "Select map layers and add them to the list."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr ""
 "Bạn muốn loại bỏ (các) lớp bản đồ được chọn khỏi sơ đồ lớp hình cây không?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "Thêm các lớp được liên kết vào sơ đồ lớp hình cây"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "Áp dụng các thay đổi"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, python-format
 msgid "No changes to apply in group <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
+#: ../gui/wxpython/gui_core/dialogs.py:1149
 #, python-format
 msgid "Group <%s> was successfully created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1160
+#: ../gui/wxpython/gui_core/dialogs.py:1151
 #, python-format
 msgid "Group <%s> was successfully changed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1163
+#: ../gui/wxpython/gui_core/dialogs.py:1154
 #, fuzzy, python-format
 msgid "Creating of new group <%s> failed."
 msgstr "Nắn chỉnh địa lý bản đồ véc-tơ <%s> thất bại"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1165
+#: ../gui/wxpython/gui_core/dialogs.py:1156
 #, python-format
 msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1203
+#: ../gui/wxpython/gui_core/dialogs.py:1194
 #, fuzzy
 msgid "No group selected."
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1209
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
 msgid "No subgroup selected."
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1312
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 msgid "Use fully-qualified map names"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1338
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
 msgid "Map type:"
 msgstr "Kiểu lớp bản đồ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1353
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
 msgid "Select toggle"
 msgstr "Chọn các đoạn thừa"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1360
+#: ../gui/wxpython/gui_core/dialogs.py:1351
 msgid "Mapset:"
 msgstr "Tập bản đồ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1446
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
 msgid "Invert selection"
 msgstr "Mặt cắt"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1580
+#: ../gui/wxpython/gui_core/dialogs.py:1571
 #, python-format
 msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr "Nhập nhiều lần"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "Danh sách lớp"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "Danh sách lớp"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "Danh sách của %s lớp"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "Lớp"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "Tên cho bản đồ GRASS"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "Phép chiếu:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr "Đóng hộp thoại khi kết thúc"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr "&Nhập"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr "Nhập các lớp đã chọn"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "Thêm các lớp đã nhập vào sơ đồ lớp hình cây"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr "Thêm các lớp đã nhập vào sơ đồ lớp hình cây"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
-msgstr "&Liên kết"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr "Liên kết các lớp đã chọn"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1912
-#, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
-
-#: ../gui/wxpython/gui_core/dialogs.py:1966
-#, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "Không thể tạo mặt cắt của bản đồ raster."
-
-#: ../gui/wxpython/gui_core/dialogs.py:2046
-#, fuzzy
-msgid "Define output format for vector data"
-msgstr "Nhập một lúc nhiều dữ liệu véc-tơ"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2048
-#, fuzzy
-msgid "Define output format for raster data"
-msgstr "Nhập một lúc nhiều dữ liệu raster"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-#, fuzzy
-msgid "Set external format and close dialog"
-msgstr "Bỏ qua thay đổi và đóng hộp thoại lại"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2108
-#, fuzzy
-msgid "No data source selected."
-msgstr "Không có lớp bản đồ nào được chọn"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr "Nhập các lớp DXF"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
-msgstr "Chọn tệp DXF để nhập"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "Không có lớp bản đồ nào được chọn"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr "Thiết lập Độ đục của lớp bản đồ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "đục"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 msgid "Set image size"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 #, fuzzy
 msgid "Image size"
 msgstr "Kích thước biểu tượng:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 #, fuzzy
 msgid "GRASS GIS SQL Query Utility"
 msgstr "GRASS GIS - Trình bày bản đồ"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "Câu lệnh SQL"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 #, fuzzy
 msgid "Symbols"
 msgstr "ký hiệu:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 #, fuzzy
 msgid "Symbol directory:"
 msgstr "Thiết lập về ký hiệu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 #, fuzzy
 msgid "Symbol name:"
 msgstr "Thiết lập về ký hiệu"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 #, fuzzy
 msgid "Not selectable element"
 msgstr "Bỏ cột đã chọn"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "Tập bản đồ"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "Loại"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, python-format
 msgid "GSelect: invalid item: %s"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "Các thiết lập tổng quát"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "Thiết lập raster"
+msgid "Source input"
+msgstr "Kiểu nguồn"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "Lưu"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "Tập tin"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "Thư mục"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr "Giao thức"
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "Đầu ra"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 msgid "Source type"
 msgstr "Kiểu nguồn"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 #, fuzzy
 msgid "All files"
 msgstr "Giá trị ô"
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "Giá trị ô"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "Giá trị ô"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "Giá trị ô"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "Giá trị ô"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 msgid "File:"
 msgstr "Tập tin:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "Chọn tệp DXF để nhập"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr "Chọn thư mục đầu vào"
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 #, fuzzy
 msgid "Extension:"
 msgstr "Biểu thức"
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 msgid "Choose file"
 msgstr "Chọn tập tin"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "Chỉ số nhận diện đối tượng:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "Truy vấn các đối tượng"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "Tạo hoặc dựng lại tôpô"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "Thiết lập lựa chọn"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 msgid "Format:"
 msgstr "Định dạng:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr "Giao thức:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "Không có chế độ xem 3D"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 #, fuzzy
 msgid "LineString"
 msgstr "Làm nổi bật"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "Không tìm thấy bản đồ <%s>."
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "Bản đồ véc-tơ không phải loại 3D. Thao tác bị hủy."
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -18604,6 +19002,7 @@ msgid "Module dialog style:"
 msgstr "Thiết lập cho hộp thoại lệnh"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 #, fuzzy
 msgid "Map Display"
 msgstr "Trình bày"
@@ -18710,7 +19109,7 @@ msgstr "Màu lưới:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "Trong suốt"
 
@@ -19012,6 +19411,49 @@ msgstr "Kiểm tra tính chuẩn tắc"
 msgid "Nothing found"
 msgstr "Không có gì để xóa."
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "Phạm trù"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "Chọn các đối tượng vec-tơ"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "Tạo tập bản đồ mới"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "Bản đồ véc-tơ không phải loại 3D. Thao tác bị hủy."
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "Không thể tạo bản đồ véc tơ <%s>."
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "Không có lớp bản đồ nào được chọn"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "Đã tạo xong bản đồ véc tơ mới <%s>"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "Không thể tạo bản đồ véc tơ <%s>."
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "T.tin"
@@ -19058,6 +19500,10 @@ msgstr "Địa chỉ chính thức của GRASS: http://grass.osgeo.org"
 msgid "Code Revision"
 msgstr "Thư viện GIS"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -19131,112 +19577,112 @@ msgstr ""
 msgid "&Previous"
 msgstr "Xem trước"
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr "Nhập các tham số cho '"
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 #, fuzzy
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "Đóng cửa sổ này mà không thi hành lệnh"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 #, fuzzy
 msgid "Run the command (Ctrl+R)"
 msgstr "Chạy lệnh"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 #, fuzzy
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "Hiện trang hướng dẫn về lệnh"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 #, fuzzy
 msgid "Add created map(s) into layer tree"
 msgstr "Thêm bản đồ đã tạo vào sơ đồ lớp hình cây"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s' được chép vào bộ nhớ"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "Bắt buộc"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "Tùy chọn"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 #, fuzzy
 msgid "Parameterized in model"
 msgstr "Không thấy tham số: %s"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 msgid "This option is required"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[nhiều]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 #, fuzzy
 msgid "valid range"
 msgstr "Miền hợp lệ"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "Chọn %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "Đổi tên vị trí"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "Lưu thành..."
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "Mã hoá lại tương tác"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "Sổ tay tra cứu"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "Không có gì để xóa."
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -19244,28 +19690,28 @@ msgid ""
 "Reason: %s"
 msgstr "Không thể nạp sắc thái biểu tượng..."
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "Lưu tập tin thành..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "Không có lớp bản đồ nào được chọn"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "Không thể phân giải lệnh %s"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -19328,70 +19774,82 @@ msgstr "Đổi mức độ đục"
 msgid "Change layer opacity"
 msgstr "Đổi mức độ đục"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, python-format
 msgid "%d modules match"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "Mặt cắt"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "Các thiết lập tổng quát"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "Xóa tập bản đồ đã chọn"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
+#: ../gui/wxpython/gui_core/widgets.py:1190
 #, fuzzy
-msgid "Load settings:"
-msgstr "Hiện các thiết lập"
+msgid "Load:"
+msgstr "Nạp"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "Không tìm thấy bản đồ <%s>."
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "Các thiết lập tổng quát"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr ""
 "Tập tin không gian làm việc <%s> đã tồn tại. Bạn có muốn ghi đè tập tin này "
 "không?"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "Không có lớp bản đồ nào được chọn. Thao tác bị hủy."
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "Không thể phân giải lệnh %s"
@@ -19502,11 +19960,11 @@ msgstr "Tạo biểu đồ tần số của ảnh hoặc tập tin raster"
 msgid "Select graphics tool"
 msgstr "Chọn phông hiển thị mặc định"
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr "Chạy lệnh"
@@ -19523,6 +19981,22 @@ msgstr "Chạy lệnh"
 #~ msgstr "Thoát khỏi giao diện đồ họa"
 
 #, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "vùng không hợp lệ"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "Không có chế độ xem 3D"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "Miền hợp lệ"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "Chép bảng"
+
+#, fuzzy
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "Danh sách lớp"
 
@@ -19539,16 +20013,35 @@ msgstr "Chạy lệnh"
 #~ msgstr "Thống kế raster một biến"
 
 #, fuzzy
-#~ msgid "Add condition"
-#~ msgstr "điều kiện"
+#~ msgid "Load settings:"
+#~ msgstr "Hiện các thiết lập"
+
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "Không thể vẽ lớp bản đồ <%s>."
+
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "Không thể vẽ chồng <%s>."
+
+#, fuzzy
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "Nhập dữ liệu vec-tơ GRASS kiểu cũ"
 
 #, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "Thêm các lớp được liên kết vào sơ đồ lớp hình cây"
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "Nhập dữ liệu vec-tơ GRASS kiểu cũ"
 
 #, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "Thêm các lớp đã nhập vào sơ đồ lớp hình cây"
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "Nhập bản đồ véc tơ phiên bản cũ của GRASS"
+
+#, fuzzy
+#~ msgid "GPS data import"
+#~ msgstr "Nhập Dữ liệu GPS của GPSBabel"
+
+#~ msgid "GEOnet import"
+#~ msgstr "Nhập dữ liệu GEOnet"
 
 #, fuzzy
 #~ msgid "Unpacks a vector map packed with v.pack."
@@ -19571,32 +20064,6 @@ msgstr "Chạy lệnh"
 #~ msgid "Common export formats using OGR"
 #~ msgstr "Các định dạng xuất phổ biến"
 
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr ""
-#~ "Thiết lập vùng tính toán theo (các) bản đồ được chọn (bỏ qua các giá trị "
-#~ "RỖNG)"
-
-#, fuzzy
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "Nhập dữ liệu vec-tơ GRASS kiểu cũ"
-
-#, fuzzy
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "Nhập dữ liệu vec-tơ GRASS kiểu cũ"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "Nhập bản đồ véc tơ phiên bản cũ của GRASS"
-
-#, fuzzy
-#~ msgid "GPS data import"
-#~ msgstr "Nhập Dữ liệu GPS của GPSBabel"
-
-#~ msgid "GEOnet import"
-#~ msgstr "Nhập dữ liệu GEOnet"
-
 #~ msgid "IDW from raster points (alternate method for sparse points)"
 #~ msgstr ""
 #~ "Tính IDW (trọng số nghịch đảo theo khoảng cách) từ các điểm raster "
@@ -19609,12 +20076,25 @@ msgstr "Chạy lệnh"
 #~ msgstr "So sánh kiểu bit "
 
 #, fuzzy
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "Bộ Quản Lý Bảng Thuộc Tính"
+
+#, fuzzy
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "Chọn tập bản đồ nguồn:"
+
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr ""
+#~ "Thiết lập vùng tính toán theo (các) bản đồ được chọn (bỏ qua các giá trị "
+#~ "RỖNG)"
+
+#, fuzzy
 #~ msgid "Data file <%(name)s> imported successfully."
 #~ msgstr "Đóng thành công bản đồ véc tơ  <%(name)s> (%(type)s) "
 
 #, fuzzy
-#~ msgid "Volume"
-#~ msgstr "Thể tích"
+#~ msgid "Add default servers"
+#~ msgstr "Thêm nhóm lớp"
 
 #~ msgid "Choose project location and mapset"
 #~ msgstr "Chọn vị trí dự án và tập bản đồ"
@@ -19699,9 +20179,27 @@ msgstr "Chạy lệnh"
 #~ msgid "Starting GRASS for the first time"
 #~ msgstr "Khởi động GRASS lần đầu tiên"
 
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "Phát triển bản đồ raster"
+
+#, fuzzy
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "Thêm các lớp được liên kết vào sơ đồ lớp hình cây"
+
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "Thêm các lớp đã nhập vào sơ đồ lớp hình cây"
+
+#~ msgid "Imports older versions of GRASS vector maps."
+#~ msgstr "Nhập bản đồ véc tơ phiên bản cũ của GRASS"
+
 #~ msgid "Vector to volume"
 #~ msgstr "Vec-tơ thành thể tích"
 
+#~ msgid "Sites to vector"
+#~ msgstr "Đia điểm thành vec-tơ"
+
 #, fuzzy
 #~ msgid "Raster map calculator."
 #~ msgstr "Trình tính toán cho bản đồ raster 3 chiều"
@@ -19725,11 +20223,9 @@ msgstr "Chạy lệnh"
 #~ msgid "Voxel statistics"
 #~ msgstr "Thống kê voxel"
 
-#~ msgid "Imports older versions of GRASS vector maps."
-#~ msgstr "Nhập bản đồ véc tơ phiên bản cũ của GRASS"
-
-#~ msgid "Sites to vector"
-#~ msgstr "Đia điểm thành vec-tơ"
+#, fuzzy
+#~ msgid "Volume"
+#~ msgstr "Thể tích"
 
 #~ msgid ""
 #~ "Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS "
@@ -19767,6 +20263,5 @@ msgstr "Chạy lệnh"
 #~ msgstr ""
 #~ "Tính toán thống kê một biến từ các ô không rỗng của một bản đồ raster3d."
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "Bộ Quản Lý Bảng Thuộc Tính"
+#~ msgid "Digitize"
+#~ msgstr "Số hóa"
diff --git a/locale/po/grasswxpy_zh.po b/locale/po/grasswxpy_zh.po
index ad2172b..69909a2 100644
--- a/locale/po/grasswxpy_zh.po
+++ b/locale/po/grasswxpy_zh.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GRASS\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-24 21:19+0100\n"
+"POT-Creation-Date: 2016-01-24 20:46+0100\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Shulin Yang <shulin.yang.9 at gmail.com>\n"
 "Language-Team: Simplified Chinese <grass-translations at lists.osgeo.org>\n"
@@ -22,7 +22,7 @@ msgid "Name of raster map:"
 msgstr "栅格地图名称:"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:78 ../gui/wxpython/iclass/dialogs.py:241
-#: ../gui/wxpython/gui_core/dialogs.py:212
+#: ../gui/wxpython/gui_core/dialogs.py:203
 msgid "Name of vector map:"
 msgstr "矢量地图名称:"
 
@@ -143,7 +143,7 @@ msgstr "可选项"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:437
 #: ../gui/wxpython/gmodeler/dialogs.py:540
-#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2619
+#: ../gui/wxpython/gmodeler/frame.py:1593 ../gui/wxpython/psmap/dialogs.py:2612
 #, fuzzy
 msgid "Label"
 msgstr "图层 %d"
@@ -214,14 +214,14 @@ msgid "Reload"
 msgstr "刷新"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:838
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1930
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1938
 msgid "No"
 msgstr "否"
 
 #: ../gui/wxpython/gmodeler/dialogs.py:840
-#: ../gui/wxpython/location_wizard/wizard.py:779
-#: ../gui/wxpython/gui_core/gselect.py:1932
+#: ../gui/wxpython/location_wizard/wizard.py:780
+#: ../gui/wxpython/gui_core/gselect.py:1940
 msgid "Yes"
 msgstr "是"
 
@@ -252,8 +252,8 @@ msgstr "禁用:"
 #: ../gui/wxpython/gmodeler/preferences.py:328
 #: ../gui/wxpython/gmodeler/preferences.py:413
 #: ../gui/wxpython/wxplot/dialogs.py:917 ../gui/wxpython/wxplot/dialogs.py:967
-#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4854
-#: ../gui/wxpython/nviz/tools.py:788 ../gui/wxpython/nviz/tools.py:2404
+#: ../gui/wxpython/psmap/dialogs.py:4592 ../gui/wxpython/psmap/dialogs.py:4847
+#: ../gui/wxpython/nviz/tools.py:789 ../gui/wxpython/nviz/tools.py:2404
 #: ../gui/wxpython/iclass/dialogs.py:358
 msgid "Color"
 msgstr "颜色"
@@ -285,9 +285,10 @@ msgstr "形状的大小"
 #: ../gui/wxpython/gmodeler/preferences.py:278
 #: ../gui/wxpython/gmodeler/preferences.py:363
 #: ../gui/wxpython/gmodeler/preferences.py:448
-#: ../gui/wxpython/psmap/dialogs.py:2725
+#: ../gui/wxpython/psmap/dialogs.py:2718
 #: ../gui/wxpython/nviz/preferences.py:476
-#: ../gui/wxpython/gui_core/dialogs.py:2458
+#: ../gui/wxpython/rdigit/toolbars.py:84
+#: ../gui/wxpython/gui_core/dialogs.py:1768
 msgid "Width:"
 msgstr "宽度:"
 
@@ -295,14 +296,14 @@ msgstr "宽度:"
 #: ../gui/wxpython/gmodeler/preferences.py:296
 #: ../gui/wxpython/gmodeler/preferences.py:381
 #: ../gui/wxpython/gmodeler/preferences.py:466
-#: ../gui/wxpython/psmap/dialogs.py:2737 ../gui/wxpython/psmap/dialogs.py:2875
-#: ../gui/wxpython/psmap/dialogs.py:3478 ../gui/wxpython/nviz/tools.py:284
-#: ../gui/wxpython/nviz/tools.py:1043 ../gui/wxpython/nviz/tools.py:1772
-#: ../gui/wxpython/gui_core/dialogs.py:2462
+#: ../gui/wxpython/psmap/dialogs.py:2730 ../gui/wxpython/psmap/dialogs.py:2868
+#: ../gui/wxpython/psmap/dialogs.py:3471 ../gui/wxpython/nviz/tools.py:285
+#: ../gui/wxpython/nviz/tools.py:1044 ../gui/wxpython/nviz/tools.py:1773
+#: ../gui/wxpython/gui_core/dialogs.py:1772
 msgid "Height:"
 msgstr "高度:"
 
-#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:92
+#: ../gui/wxpython/gmodeler/preferences.py:204 ../gui/wxpython/nviz/tools.py:93
 #, fuzzy
 msgid "Data"
 msgstr "要素类型"
@@ -336,14 +337,14 @@ msgid "Comment"
 msgstr "添加命令"
 
 #: ../gui/wxpython/gmodeler/preferences.py:508
-#: ../gui/wxpython/menustrings.py:1963
+#: ../gui/wxpython/menustrings.py:1965
 #, fuzzy
 msgid "Model properties"
 msgstr "要素类型"
 
 #: ../gui/wxpython/gmodeler/preferences.py:515
-#: ../gui/wxpython/lmgr/layertree.py:570 ../gui/wxpython/lmgr/layertree.py:628
-#: ../gui/wxpython/lmgr/layertree.py:644
+#: ../gui/wxpython/lmgr/layertree.py:577 ../gui/wxpython/lmgr/layertree.py:637
+#: ../gui/wxpython/lmgr/layertree.py:653
 msgid "Metadata"
 msgstr "元数据"
 
@@ -355,7 +356,7 @@ msgstr "添加命令"
 #: ../gui/wxpython/gmodeler/preferences.py:529
 #: ../gui/wxpython/modules/vkrige.py:137 ../gui/wxpython/modules/vclean.py:137
 #: ../gui/wxpython/modules/mcalc_builder.py:232
-#: ../gui/wxpython/gui_core/dialogs.py:1677
+#: ../gui/wxpython/modules/import_export.py:81
 #: ../gui/wxpython/gui_core/preferences.py:816
 msgid "Allow output files to overwrite existing files"
 msgstr "允许输出文件覆盖已存文件"
@@ -376,10 +377,10 @@ msgstr "仅关闭对话框,不保存改动"
 #: ../gui/wxpython/gmodeler/preferences.py:549
 #: ../gui/wxpython/vnet/dialogs.py:1481
 #: ../gui/wxpython/animation/dialogs.py:331
-#: ../gui/wxpython/gui_core/gselect.py:1439
-#: ../gui/wxpython/gui_core/gselect.py:1449
-#: ../gui/wxpython/gui_core/gselect.py:1450
-#: ../gui/wxpython/gui_core/widgets.py:1081
+#: ../gui/wxpython/gui_core/gselect.py:1432
+#: ../gui/wxpython/gui_core/gselect.py:1444
+#: ../gui/wxpython/gui_core/gselect.py:1445
+#: ../gui/wxpython/gui_core/widgets.py:1218
 msgid "Name:"
 msgstr "名称:"
 
@@ -445,12 +446,12 @@ msgstr "栅格地图"
 msgid "3D raster maps"
 msgstr "基础栅格图"
 
-#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1272
+#: ../gui/wxpython/gmodeler/model.py:749 ../gui/wxpython/psmap/dialogs.py:1265
 msgid "Vector maps"
 msgstr "矢量地图"
 
 #: ../gui/wxpython/gmodeler/model.py:1062
-#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:616
+#: ../gui/wxpython/gmodeler/model.py:1159 ../gui/wxpython/core/gconsole.py:638
 #: ../gui/wxpython/gui_core/ghelp.py:212
 msgid "unknown"
 msgstr "未知"
@@ -482,25 +483,25 @@ msgstr ""
 msgid "Details: unsupported tag name '{}'."
 msgstr ""
 
-#: ../gui/wxpython/gmodeler/model.py:2541
+#: ../gui/wxpython/gmodeler/model.py:2543
 #, fuzzy
 msgid "Model parameters"
 msgstr "地形参数"
 
-#: ../gui/wxpython/gmodeler/model.py:2559
+#: ../gui/wxpython/gmodeler/model.py:2561
 #, fuzzy
 msgid "Delete intermediate data when finish"
 msgstr "点模式下不创建表"
 
-#: ../gui/wxpython/gmodeler/model.py:2567
+#: ../gui/wxpython/gmodeler/model.py:2569
 #: ../gui/wxpython/gmodeler/frame.py:1683 ../gui/wxpython/modules/vkrige.py:151
 #: ../gui/wxpython/modules/vclean.py:158
 #: ../gui/wxpython/modules/mcalc_builder.py:136
-#: ../gui/wxpython/gui_core/forms.py:515 ../gui/wxpython/gui_core/menu.py:158
+#: ../gui/wxpython/gui_core/forms.py:519 ../gui/wxpython/gui_core/menu.py:159
 msgid "&Run"
 msgstr "运行(&R)"
 
-#: ../gui/wxpython/gmodeler/model.py:2611 ../gui/wxpython/gmodeler/frame.py:130
+#: ../gui/wxpython/gmodeler/model.py:2613 ../gui/wxpython/gmodeler/frame.py:130
 #, fuzzy
 msgid "Variables"
 msgstr "变化"
@@ -522,7 +523,7 @@ msgid "Python editor"
 msgstr "Python编辑器"
 
 #: ../gui/wxpython/gmodeler/frame.py:132 ../gui/wxpython/modules/vkrige.py:102
-#: ../gui/wxpython/gui_core/forms.py:1830
+#: ../gui/wxpython/gui_core/forms.py:1908
 msgid "Command output"
 msgstr "命令运行结果输出"
 
@@ -587,7 +588,7 @@ msgid "Choose model file"
 msgstr "选择模型文件"
 
 #: ../gui/wxpython/gmodeler/frame.py:398 ../gui/wxpython/gmodeler/frame.py:442
-#: ../gui/wxpython/lmgr/frame.py:505
+#: ../gui/wxpython/lmgr/frame.py:512
 msgid "GRASS Model File (*.gxm)|*.gxm"
 msgstr "GRASS模型文件(*.gxm)|*.gxm"
 
@@ -615,7 +616,7 @@ msgstr "文件<%s>已保存"
 msgid "Choose file to save current model"
 msgstr "使用当前的区域"
 
-#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1015
+#: ../gui/wxpython/gmodeler/frame.py:460 ../gui/wxpython/iclass/frame.py:1016
 #, fuzzy
 msgid "File already exists"
 msgstr "dig_att文件不存在。"
@@ -636,7 +637,7 @@ msgstr "[%s] 的类别文件无效"
 msgid "Model is valid."
 msgstr "模型验证通过"
 
-#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:587
+#: ../gui/wxpython/gmodeler/frame.py:579 ../gui/wxpython/mapdisp/frame.py:617
 #: ../gui/wxpython/modules/histogram.py:423
 #: ../gui/wxpython/mapswipe/frame.py:524 ../gui/wxpython/gcp/mapdisplay.py:383
 msgid "Choose a file name to save the image (no need to add extension)"
@@ -647,7 +648,7 @@ msgstr "选择要保存图像的文件名(无需指定文件扩展名)"
 msgid "Model exported to <%s>"
 msgstr "无法创建文件 [%s]"
 
-#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1959
+#: ../gui/wxpython/gmodeler/frame.py:745 ../gui/wxpython/menustrings.py:1961
 #, fuzzy
 msgid "Add comment"
 msgstr "添加命令层"
@@ -679,7 +680,7 @@ msgstr "模型装载中,请稍候..."
 msgid "Writing current settings to model file failed."
 msgstr "将当前设置保存到模型文件时操作不成功。"
 
-#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1452
+#: ../gui/wxpython/gmodeler/frame.py:963 ../gui/wxpython/lmgr/frame.py:1466
 #, python-format
 msgid "Unable to open file <%s> for writing."
 msgstr "无法打开文件<%s>。"
@@ -688,15 +689,15 @@ msgstr "无法打开文件<%s>。"
 #: ../gui/wxpython/location_wizard/dialogs.py:114
 #: ../gui/wxpython/location_wizard/dialogs.py:131
 #: ../gui/wxpython/location_wizard/dialogs.py:439
-#: ../gui/wxpython/location_wizard/wizard.py:542
-#: ../gui/wxpython/location_wizard/wizard.py:726
-#: ../gui/wxpython/location_wizard/wizard.py:1504
-#: ../gui/wxpython/location_wizard/wizard.py:1570
-#: ../gui/wxpython/core/gcmd.py:115 ../gui/wxpython/core/workspace.py:1334
-#: ../gui/wxpython/psmap/dialogs.py:3953 ../gui/wxpython/lmgr/layertree.py:758
+#: ../gui/wxpython/location_wizard/wizard.py:543
+#: ../gui/wxpython/location_wizard/wizard.py:727
+#: ../gui/wxpython/location_wizard/wizard.py:1505
+#: ../gui/wxpython/location_wizard/wizard.py:1571
+#: ../gui/wxpython/core/gcmd.py:106 ../gui/wxpython/core/workspace.py:1337
+#: ../gui/wxpython/psmap/dialogs.py:3946 ../gui/wxpython/lmgr/layertree.py:767
 #: ../gui/wxpython/vdigit/dialogs.py:244 ../gui/wxpython/vdigit/dialogs.py:436
-#: ../gui/wxpython/gis_set.py:251 ../gui/wxpython/gis_set.py:624
-#: ../gui/wxpython/gis_set.py:661 ../gui/wxpython/gui_core/preferences.py:212
+#: ../gui/wxpython/gis_set.py:261 ../gui/wxpython/gis_set.py:634
+#: ../gui/wxpython/gis_set.py:671 ../gui/wxpython/gui_core/preferences.py:212
 #: ../gui/wxpython/gui_core/preferences.py:1383
 #: ../gui/wxpython/gui_core/preferences.py:1412
 #: ../gui/wxpython/gui_core/preferences.py:1421
@@ -778,10 +779,10 @@ msgstr "默认值:"
 
 #: ../gui/wxpython/gmodeler/frame.py:1446
 #: ../gui/wxpython/gmodeler/frame.py:1510
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Description"
 msgstr "描述"
 
@@ -803,13 +804,13 @@ msgid "string"
 msgstr "字串"
 
 #: ../gui/wxpython/gmodeler/frame.py:1458 ../gui/wxpython/psmap/dialogs.py:696
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
-#: ../gui/wxpython/gui_core/dialogs.py:1559
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
+#: ../gui/wxpython/gui_core/dialogs.py:1550
 msgid "raster"
 msgstr "栅格"
 
 #: ../gui/wxpython/gmodeler/frame.py:1459 ../gui/wxpython/psmap/dialogs.py:697
-#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/gcp/manager.py:329 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "vector"
 msgstr "矢量"
 
@@ -824,7 +825,7 @@ msgid "mapset"
 msgstr "切换地图集"
 
 #: ../gui/wxpython/gmodeler/frame.py:1462
-#: ../gui/wxpython/gui_core/forms.py:1523
+#: ../gui/wxpython/gui_core/forms.py:1541
 #, fuzzy
 msgid "file"
 msgstr "保存组文件"
@@ -966,7 +967,7 @@ msgid "Histogram imagery group"
 msgstr "柱形图图像组"
 
 #: ../gui/wxpython/wxplot/dialogs.py:370
-#: ../gui/wxpython/modules/colorrules.py:383
+#: ../gui/wxpython/modules/colorrules.py:384
 msgid "Select raster map:"
 msgstr "选择栅格地图:"
 
@@ -987,7 +988,7 @@ msgstr "无法创建栅格地图 %s"
 
 #: ../gui/wxpython/wxplot/dialogs.py:495 ../gui/wxpython/psmap/dialogs.py:440
 #: ../gui/wxpython/psmap/dialogs.py:1036 ../gui/wxpython/psmap/dialogs.py:1058
-#: ../gui/wxpython/psmap/dialogs.py:1108 ../gui/wxpython/psmap/dialogs.py:3639
+#: ../gui/wxpython/psmap/dialogs.py:1101 ../gui/wxpython/psmap/dialogs.py:3632
 #: ../gui/wxpython/animation/dialogs.py:599
 #: ../gui/wxpython/animation/controller.py:277
 #, fuzzy
@@ -1019,8 +1020,8 @@ msgstr "Y轴标签:"
 msgid "Label font size (pts):"
 msgstr "标签字号(磅):"
 
-#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2790
-#: ../gui/wxpython/psmap/dialogs.py:3267 ../gui/wxpython/psmap/dialogs.py:3723
+#: ../gui/wxpython/wxplot/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:2783
+#: ../gui/wxpython/psmap/dialogs.py:3260 ../gui/wxpython/psmap/dialogs.py:3716
 #: ../gui/wxpython/gui_core/preferences.py:376
 #: ../gui/wxpython/gui_core/preferences.py:574
 #: ../gui/wxpython/gui_core/preferences.py:1543
@@ -1067,9 +1068,9 @@ msgstr "已有的MAT-File(v4)的名称"
 msgid "No map or image group selected to plot."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:140
-#: ../gui/wxpython/core/workspace.py:1350
-#: ../gui/wxpython/mapwin/buffered.py:1936
+#: ../gui/wxpython/wxplot/dialogs.py:802 ../gui/wxpython/core/gcmd.py:131
+#: ../gui/wxpython/core/workspace.py:1353
+#: ../gui/wxpython/mapwin/buffered.py:1976
 msgid "Warning"
 msgstr "警告"
 
@@ -1097,8 +1098,8 @@ msgstr "线条颜色"
 msgid "Line width"
 msgstr "线条宽度"
 
-#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2116
-#: ../gui/wxpython/psmap/dialogs.py:4899
+#: ../gui/wxpython/wxplot/dialogs.py:888 ../gui/wxpython/psmap/dialogs.py:2109
+#: ../gui/wxpython/psmap/dialogs.py:4892
 msgid "Line style"
 msgstr "线条样式"
 
@@ -1112,19 +1113,19 @@ msgid "Transect segment marker settings"
 msgstr "截面分段标记设置"
 
 #: ../gui/wxpython/wxplot/dialogs.py:923 ../gui/wxpython/wxplot/dialogs.py:973
-#: ../gui/wxpython/psmap/dialogs.py:1997 ../gui/wxpython/psmap/dialogs.py:2709
-#: ../gui/wxpython/psmap/dialogs.py:3473
+#: ../gui/wxpython/psmap/dialogs.py:1990 ../gui/wxpython/psmap/dialogs.py:2702
+#: ../gui/wxpython/psmap/dialogs.py:3466
 msgid "Size"
 msgstr "字号"
 
 #: ../gui/wxpython/wxplot/dialogs.py:932 ../gui/wxpython/wxplot/dialogs.py:982
-#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1901
+#: ../gui/wxpython/psmap/dialogs.py:1790 ../gui/wxpython/psmap/dialogs.py:1894
 #, fuzzy
 msgid "Fill"
 msgstr "文件(&F)"
 
 #: ../gui/wxpython/wxplot/dialogs.py:947 ../gui/wxpython/wxplot/dialogs.py:997
-#: ../gui/wxpython/psmap/dialogs.py:3526
+#: ../gui/wxpython/psmap/dialogs.py:3519
 msgid "Style"
 msgstr "样式"
 
@@ -1374,19 +1375,19 @@ msgid "Under Construction"
 msgstr "无法创建表:%s"
 
 #: ../gui/wxpython/wxplot/base.py:558 ../gui/wxpython/psmap/toolbars.py:73
-#: ../gui/wxpython/mapdisp/frame.py:745 ../gui/wxpython/menustrings.py:1979
+#: ../gui/wxpython/mapdisp/frame.py:775 ../gui/wxpython/menustrings.py:1981
 #: ../gui/wxpython/modules/histogram.py:452
 #: ../gui/wxpython/gcp/mapdisplay.py:412
 msgid "Page setup"
 msgstr "页面设置"
 
-#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:749
+#: ../gui/wxpython/wxplot/base.py:559 ../gui/wxpython/mapdisp/frame.py:779
 #: ../gui/wxpython/modules/histogram.py:456
 #: ../gui/wxpython/gcp/mapdisplay.py:416
 msgid "Print preview"
 msgstr "打印预览"
 
-#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:753
+#: ../gui/wxpython/wxplot/base.py:560 ../gui/wxpython/mapdisp/frame.py:783
 #: ../gui/wxpython/modules/histogram.py:460
 #: ../gui/wxpython/gcp/mapdisplay.py:420
 #: ../gui/wxpython/gui_core/toolbars.py:67
@@ -1490,7 +1491,7 @@ msgid "Output"
 msgstr "输出"
 
 #: ../gui/wxpython/vnet/dialogs.py:317
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Parameters"
 msgstr "参数:"
 
@@ -1530,8 +1531,7 @@ msgid "Analysing..."
 msgstr "分析"
 
 #: ../gui/wxpython/vnet/dialogs.py:870 ../gui/wxpython/iscatt/toolbars.py:44
-#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1897
-#: ../gui/wxpython/gui_core/widgets.py:1024
+#: ../gui/wxpython/iscatt/toolbars.py:135 ../gui/wxpython/nviz/tools.py:1898
 #: ../gui/wxpython/gui_core/toolbars.py:84
 msgid "Settings"
 msgstr "设置"
@@ -1588,7 +1588,7 @@ msgstr "选择终点/目的点/交汇点颜色:"
 msgid "Color for selected point:"
 msgstr "%d 条记录被更新"
 
-#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4902
+#: ../gui/wxpython/vnet/dialogs.py:1176 ../gui/wxpython/psmap/dialogs.py:4895
 #: ../gui/wxpython/mapswipe/dialogs.py:270 ../gui/wxpython/gcp/manager.py:2564
 #: ../gui/wxpython/gui_core/preferences.py:1004
 msgid "Line width:"
@@ -1615,10 +1615,11 @@ msgid "Maximum number of results in history:"
 msgstr "一个片断最多所能包含的点数"
 
 #: ../gui/wxpython/vnet/dialogs.py:1202 ../gui/wxpython/iscatt/dialogs.py:361
-#: ../gui/wxpython/web_services/dialogs.py:132
-#: ../gui/wxpython/web_services/dialogs.py:827
-#: ../gui/wxpython/gcp/manager.py:2411 ../gui/wxpython/gui_core/dialogs.py:1690
-#: ../gui/wxpython/gui_core/dialogs.py:2054
+#: ../gui/wxpython/web_services/dialogs.py:134
+#: ../gui/wxpython/web_services/dialogs.py:845
+#: ../gui/wxpython/modules/import_export.py:94
+#: ../gui/wxpython/modules/import_export.py:599
+#: ../gui/wxpython/gcp/manager.py:2411
 msgid "Close dialog"
 msgstr "关闭对话框"
 
@@ -1640,12 +1641,12 @@ msgstr "编辑:交叉口转弯成本"
 msgid "Define Global Turn Costs"
 msgstr "定义全局转弯成本"
 
-#: ../gui/wxpython/vnet/vnet_core.py:106
+#: ../gui/wxpython/vnet/vnet_core.py:107
 #, fuzzy
 msgid "Unable to perform analysis."
 msgstr "无法解析命令:%s"
 
-#: ../gui/wxpython/vnet/vnet_core.py:211
+#: ../gui/wxpython/vnet/vnet_core.py:212
 #, python-format
 msgid ""
 "Temporary map '%s' with result was changed outside vector network analysis "
@@ -1655,50 +1656,50 @@ msgstr ""
 "含有在矢量网络分析工具以外改动过的结果的临时地图'%s'.\n"
 "所显示的结果可能与原来的分析结果不一致."
 
-#: ../gui/wxpython/vnet/vnet_core.py:216
+#: ../gui/wxpython/vnet/vnet_core.py:217
 msgid "Result changed outside"
 msgstr "结果含有外部改动."
 
-#: ../gui/wxpython/vnet/vnet_core.py:253
+#: ../gui/wxpython/vnet/vnet_core.py:254
 #, fuzzy
 msgid "Map can be created only in current mapset"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/vnet/vnet_core.py:260 ../gui/wxpython/vnet/vnet_core.py:337
+#: ../gui/wxpython/vnet/vnet_core.py:261 ../gui/wxpython/vnet/vnet_core.py:338
 #, fuzzy, python-format
 msgid "Vector map %s already exists. Do you want to overwrite it?"
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
-#: ../gui/wxpython/vnet/vnet_core.py:263 ../gui/wxpython/vnet/vnet_core.py:340
+#: ../gui/wxpython/vnet/vnet_core.py:264 ../gui/wxpython/vnet/vnet_core.py:341
 #, fuzzy
 msgid "Overwrite vector map"
 msgstr "叠加栅格图"
 
-#: ../gui/wxpython/vnet/vnet_core.py:289
+#: ../gui/wxpython/vnet/vnet_core.py:290
 #, fuzzy
 msgid "Creation of turntable failed."
 msgstr "创建新组文件"
 
-#: ../gui/wxpython/vnet/vnet_core.py:309
+#: ../gui/wxpython/vnet/vnet_core.py:310
 #, fuzzy
 msgid "Vector map with analysis result does not exist."
 msgstr "栅格地图 [%s] 未发现"
 
-#: ../gui/wxpython/vnet/vnet_core.py:330
+#: ../gui/wxpython/vnet/vnet_core.py:331
 msgid "Map can be saved only to currently set mapset"
 msgstr "地图只能保存于当前地图集"
 
-#: ../gui/wxpython/vnet/vnet_core.py:409 ../gui/wxpython/vnet/vnet_core.py:609
+#: ../gui/wxpython/vnet/vnet_core.py:410 ../gui/wxpython/vnet/vnet_core.py:610
 #, python-format
 msgid "Please choose '%s' and '%s' point."
 msgstr "请选择点'%s'和'%s'."
 
-#: ../gui/wxpython/vnet/vnet_core.py:616
+#: ../gui/wxpython/vnet/vnet_core.py:617
 #, fuzzy
 msgid "Please choose at least two points."
 msgstr "至少需要输入%d个点。"
 
-#: ../gui/wxpython/vnet/vnet_core.py:895
+#: ../gui/wxpython/vnet/vnet_core.py:896
 #, python-format
 msgid ""
 "Input map '%s' for analysis was changed outside vector network analysis "
@@ -1708,32 +1709,32 @@ msgstr ""
 "输入地图'%s'在矢量网络分析工具外部有改动.\n"
 "拓扑列可能与之前不一致."
 
-#: ../gui/wxpython/vnet/vnet_core.py:900
+#: ../gui/wxpython/vnet/vnet_core.py:901
 msgid "Input changed outside"
 msgstr "输入在外部有改动."
 
-#: ../gui/wxpython/vnet/vnet_core.py:975
+#: ../gui/wxpython/vnet/vnet_core.py:976
 #, fuzzy, python-format
 msgid ""
 "Temporary map %s  already exists.\n"
 "Do you want to continue in analysis and overwrite it?"
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1001
+#: ../gui/wxpython/vnet/vnet_core.py:1002
 #, fuzzy
 msgid "Unable to use ctypes. \n"
 msgstr "无法打开输出文件 <%s>"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1002
-#: ../gui/wxpython/vnet/vnet_core.py:1024
+#: ../gui/wxpython/vnet/vnet_core.py:1003
+#: ../gui/wxpython/vnet/vnet_core.py:1025
 msgid "Snapping mode can not be activated."
 msgstr "快照模式不能激活."
 
-#: ../gui/wxpython/vnet/vnet_core.py:1033
+#: ../gui/wxpython/vnet/vnet_core.py:1034
 msgid "Do you really want to activate snapping and overwrite it?"
 msgstr "确定激活快照模式并覆盖吗?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1040
+#: ../gui/wxpython/vnet/vnet_core.py:1041
 #, python-format
 msgid ""
 "Temporary map '%s' was changed outside vector analysis tool.\n"
@@ -1742,178 +1743,178 @@ msgstr ""
 "临时地图'%s'已被从矢量分析工具之外改动.\n"
 "确定激活快照模式并进行覆盖操作?"
 
-#: ../gui/wxpython/vnet/vnet_core.py:1045
+#: ../gui/wxpython/vnet/vnet_core.py:1046
 #, fuzzy
 msgid "Overwrite map"
 msgstr "叠加栅格图"
 
-#: ../gui/wxpython/vnet/vnet_data.py:145
+#: ../gui/wxpython/vnet/vnet_data.py:146
 #, python-format
 msgid "Module <%s> does not support turns costs."
 msgstr "模块<%s>不支持转弯成本."
 
-#: ../gui/wxpython/vnet/vnet_data.py:151
+#: ../gui/wxpython/vnet/vnet_data.py:152
 #, fuzzy, python-format
 msgid "Vector map '%s' does not exist."
 msgstr "栅格地图 [%s] 未发现"
 
-#: ../gui/wxpython/vnet/vnet_data.py:153
+#: ../gui/wxpython/vnet/vnet_data.py:154
 #, fuzzy
 msgid "Vector map was not chosen."
 msgstr "未发现矢量地图<%s>"
 
-#: ../gui/wxpython/vnet/vnet_data.py:162
+#: ../gui/wxpython/vnet/vnet_data.py:163
 #, fuzzy
 msgid "arc layer"
 msgstr "地图层"
 
-#: ../gui/wxpython/vnet/vnet_data.py:163
+#: ../gui/wxpython/vnet/vnet_data.py:164
 #, fuzzy
 msgid "node layer"
 msgstr " nv color\n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:164
+#: ../gui/wxpython/vnet/vnet_data.py:165
 #, fuzzy
 msgid "turntable layer"
 msgstr "输出的表名称"
 
-#: ../gui/wxpython/vnet/vnet_data.py:165
+#: ../gui/wxpython/vnet/vnet_data.py:166
 #, fuzzy
 msgid "unique categories layer"
 msgstr "没有起始点"
 
-#: ../gui/wxpython/vnet/vnet_data.py:171
+#: ../gui/wxpython/vnet/vnet_data.py:172
 #, fuzzy, python-format
 msgid "Chosen %s '%s' does not exist in vector map '%s'.\n"
 msgstr "无法找到输入的矢量地图 %s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:174
+#: ../gui/wxpython/vnet/vnet_data.py:175
 #, fuzzy, python-format
 msgid "Choose existing %s.\n"
 msgstr "写入 %s ... "
 
-#: ../gui/wxpython/vnet/vnet_data.py:184
+#: ../gui/wxpython/vnet/vnet_data.py:185
 #, fuzzy, python-format
 msgid ""
 "Chosen column '%s' does not exist in attribute table of layer '%s' of vector "
 "map '%s'.\n"
 msgstr "已有输入栅格文件大的名称"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238 ../gui/wxpython/vnet/widgets.py:85
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/widgets.py:85
 #: ../gui/wxpython/gcp/manager.py:1948 ../gui/wxpython/gcp/manager.py:1965
 msgid "use"
 msgstr "使用"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/gui_core/vselect.py:43
 #, fuzzy
 msgid "type"
 msgstr "未知的类型"
 
-#: ../gui/wxpython/vnet/vnet_data.py:238
+#: ../gui/wxpython/vnet/vnet_data.py:239
 #, fuzzy
 msgid "topology"
 msgstr "矢量文件读取错误"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239 ../gui/wxpython/vnet/vnet_data.py:702
+#: ../gui/wxpython/vnet/vnet_data.py:240 ../gui/wxpython/vnet/vnet_data.py:701
 #, fuzzy
 msgid "Start point"
 msgstr "没有起始点"
 
-#: ../gui/wxpython/vnet/vnet_data.py:239
+#: ../gui/wxpython/vnet/vnet_data.py:240
 #, fuzzy
 msgid "End Point"
 msgstr "点"
 
-#: ../gui/wxpython/vnet/vnet_data.py:508 ../gui/wxpython/vnet/vnet_data.py:517
-#: ../gui/wxpython/vnet/vnet_data.py:520
+#: ../gui/wxpython/vnet/vnet_data.py:507 ../gui/wxpython/vnet/vnet_data.py:516
+#: ../gui/wxpython/vnet/vnet_data.py:519
 #, fuzzy
 msgid "new point"
 msgstr "左:创建新点"
 
-#: ../gui/wxpython/vnet/vnet_data.py:679
+#: ../gui/wxpython/vnet/vnet_data.py:678
 msgid "Arc forward/both direction(s) cost column:"
 msgstr "Arc前进/双向成本字段:"
 
-#: ../gui/wxpython/vnet/vnet_data.py:680
+#: ../gui/wxpython/vnet/vnet_data.py:679
 msgid "arc forward/both"
 msgstr "Arc前进/双向"
 
-#: ../gui/wxpython/vnet/vnet_data.py:683
+#: ../gui/wxpython/vnet/vnet_data.py:682
 msgid "Arc backward direction cost column:"
 msgstr "Arc后向成本字段"
 
-#: ../gui/wxpython/vnet/vnet_data.py:684
+#: ../gui/wxpython/vnet/vnet_data.py:683
 msgid "arc backward"
 msgstr "Arc后向"
 
-#: ../gui/wxpython/vnet/vnet_data.py:687
+#: ../gui/wxpython/vnet/vnet_data.py:686
 msgid "Arcs' cost column (for both directions):"
 msgstr "Arc成本字段(双向):"
 
-#: ../gui/wxpython/vnet/vnet_data.py:688
+#: ../gui/wxpython/vnet/vnet_data.py:687
 msgid "arc"
 msgstr "弧"
 
-#: ../gui/wxpython/vnet/vnet_data.py:692
+#: ../gui/wxpython/vnet/vnet_data.py:691
 #, fuzzy
 msgid "Node cost column:"
 msgstr "列数"
 
-#: ../gui/wxpython/vnet/vnet_data.py:693
+#: ../gui/wxpython/vnet/vnet_data.py:692
 msgid "node"
 msgstr "节点"
 
-#: ../gui/wxpython/vnet/vnet_data.py:699
+#: ../gui/wxpython/vnet/vnet_data.py:698
 #, fuzzy, python-format
 msgid "Shortest path %s"
 msgstr "平滑转角"
 
-#: ../gui/wxpython/vnet/vnet_data.py:703
+#: ../gui/wxpython/vnet/vnet_data.py:702
 #, fuzzy
 msgid "End point"
 msgstr "点"
 
-#: ../gui/wxpython/vnet/vnet_data.py:719
+#: ../gui/wxpython/vnet/vnet_data.py:718
 #, python-format
 msgid "Traveling salesman %s"
 msgstr "旅游销售员%s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:735
+#: ../gui/wxpython/vnet/vnet_data.py:734
 #, python-format
 msgid "Maximum flow %s"
 msgstr "最大流量%s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:738
+#: ../gui/wxpython/vnet/vnet_data.py:737
 #, fuzzy
 msgid "Source point"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/vnet/vnet_data.py:739
+#: ../gui/wxpython/vnet/vnet_data.py:738
 #, fuzzy
 msgid "Sink point"
 msgstr "点"
 
-#: ../gui/wxpython/vnet/vnet_data.py:754
+#: ../gui/wxpython/vnet/vnet_data.py:753
 #, python-format
 msgid "Subnets for nearest centers %s"
 msgstr "最近中心点%s的子网"
 
-#: ../gui/wxpython/vnet/vnet_data.py:770
+#: ../gui/wxpython/vnet/vnet_data.py:769
 #, python-format
 msgid "Steiner tree for the network and given terminals %s"
 msgstr "网络中的斯坦纳(Steiner)树及指定终端%s"
 
-#: ../gui/wxpython/vnet/vnet_data.py:784
+#: ../gui/wxpython/vnet/vnet_data.py:783
 #, fuzzy, python-format
 msgid "Shortest distance via the network %s"
 msgstr "点到网络的最小距离"
 
-#: ../gui/wxpython/vnet/vnet_data.py:803
+#: ../gui/wxpython/vnet/vnet_data.py:802
 #, fuzzy, python-format
 msgid "Cost isolines %s"
 msgstr "无法打开像元文件 [%s]"
 
-#: ../gui/wxpython/vnet/vnet_data.py:889
+#: ../gui/wxpython/vnet/vnet_data.py:888
 #, fuzzy
 msgid "Overwrite map layer"
 msgstr "覆盖已有的输出地图文件"
@@ -2097,298 +2098,298 @@ msgstr "选择基准面转换"
 msgid "Select from list of datum transformations"
 msgstr "从基准面转换列表选择"
 
-#: ../gui/wxpython/location_wizard/wizard.py:97
+#: ../gui/wxpython/location_wizard/wizard.py:98
 msgid "Define GRASS Database and Location Name"
 msgstr "定义GRASS数据库及地点名称"
 
-#: ../gui/wxpython/location_wizard/wizard.py:104
-#: ../gui/wxpython/location_wizard/wizard.py:1171
-#: ../gui/wxpython/location_wizard/wizard.py:1245
-#: ../gui/wxpython/location_wizard/wizard.py:1331
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
-#: ../gui/wxpython/psmap/dialogs.py:4123
+#: ../gui/wxpython/location_wizard/wizard.py:105
+#: ../gui/wxpython/location_wizard/wizard.py:1172
+#: ../gui/wxpython/location_wizard/wizard.py:1246
+#: ../gui/wxpython/location_wizard/wizard.py:1332
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
+#: ../gui/wxpython/psmap/dialogs.py:4116
 #: ../gui/wxpython/animation/dialogs.py:398
 #: ../gui/wxpython/animation/dialogs.py:858
 #: ../gui/wxpython/animation/dialogs.py:929
 #: ../gui/wxpython/animation/dialogs.py:952
 #: ../gui/wxpython/animation/dialogs.py:969
-#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:483
-#: ../gui/wxpython/gui_core/dialogs.py:2126
-#: ../gui/wxpython/gui_core/gselect.py:1077
-#: ../gui/wxpython/gui_core/gselect.py:1389
-#: ../gui/wxpython/gui_core/gselect.py:1402
-#: ../gui/wxpython/gui_core/gselect.py:1441
-#: ../gui/wxpython/gui_core/gselect.py:1464
-#: ../gui/wxpython/gui_core/forms.py:1524
-#: ../gui/wxpython/gui_core/forms.py:1588
+#: ../gui/wxpython/animation/dialogs.py:992 ../gui/wxpython/nviz/tools.py:484
+#: ../gui/wxpython/modules/import_export.py:672
+#: ../gui/wxpython/gui_core/gselect.py:1080
+#: ../gui/wxpython/gui_core/gselect.py:1380
+#: ../gui/wxpython/gui_core/gselect.py:1394
+#: ../gui/wxpython/gui_core/gselect.py:1434
+#: ../gui/wxpython/gui_core/gselect.py:1459
+#: ../gui/wxpython/gui_core/forms.py:1542
+#: ../gui/wxpython/gui_core/forms.py:1606
 msgid "Browse"
 msgstr "浏览"
 
-#: ../gui/wxpython/location_wizard/wizard.py:114
+#: ../gui/wxpython/location_wizard/wizard.py:115
 msgid "GIS Data Directory:"
 msgstr "GIS数据目录:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:130
+#: ../gui/wxpython/location_wizard/wizard.py:131
 msgid "Project Location"
 msgstr "投影地点"
 
-#: ../gui/wxpython/location_wizard/wizard.py:131
+#: ../gui/wxpython/location_wizard/wizard.py:132
 #, fuzzy
 msgid "Name of location directory in GIS Data Directory"
 msgstr "新GIS数据目录"
 
-#: ../gui/wxpython/location_wizard/wizard.py:142
+#: ../gui/wxpython/location_wizard/wizard.py:143
 msgid "Location Title"
 msgstr "地点名称:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:143
+#: ../gui/wxpython/location_wizard/wizard.py:144
 msgid "Optional location title, you can leave this field blank."
 msgstr "地点标签为选填项,可以为空."
 
-#: ../gui/wxpython/location_wizard/wizard.py:163
+#: ../gui/wxpython/location_wizard/wizard.py:164
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location. Please use only ASCII "
 "characters excluding %(chars)s and space."
 msgstr "地点名称<%(name)s>无效.请使用除(%(chars)s)之外的ASCII字及防空格命名."
 
-#: ../gui/wxpython/location_wizard/wizard.py:166
+#: ../gui/wxpython/location_wizard/wizard.py:167
 #, fuzzy
 msgid "Invalid location name"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:181
+#: ../gui/wxpython/location_wizard/wizard.py:182
 msgid "Choose GRASS data directory:"
 msgstr "选择GRASS数据目录:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:192
-#: ../gui/wxpython/location_wizard/wizard.py:2062
+#: ../gui/wxpython/location_wizard/wizard.py:193
+#: ../gui/wxpython/location_wizard/wizard.py:2063
 msgid "Location already exists in GRASS Database."
 msgstr "该地点已存在于GRASS数据库中."
 
-#: ../gui/wxpython/location_wizard/wizard.py:196
+#: ../gui/wxpython/location_wizard/wizard.py:197
 msgid "Unable to create location"
 msgstr "无法创建地点"
 
-#: ../gui/wxpython/location_wizard/wizard.py:209
+#: ../gui/wxpython/location_wizard/wizard.py:210
 msgid ""
 "Title of the location is limited only to one line and 256 characters. The "
 "rest of the text will be ignored."
 msgstr "地点标签长度限制1行256个字符串。多出部分将被忽略。"
 
-#: ../gui/wxpython/location_wizard/wizard.py:216
+#: ../gui/wxpython/location_wizard/wizard.py:217
 msgid "Choose method for creating a new location"
 msgstr "选择创建地点的方式"
 
-#: ../gui/wxpython/location_wizard/wizard.py:223
+#: ../gui/wxpython/location_wizard/wizard.py:224
 msgid "Select EPSG code of spatial reference system"
 msgstr "选择空间参考系统EPSG代码"
 
-#: ../gui/wxpython/location_wizard/wizard.py:226
+#: ../gui/wxpython/location_wizard/wizard.py:227
 msgid "Read projection and datum terms from a georeferenced data file"
 msgstr "从地理配准数据文件读取投影和基准面条件"
 
-#: ../gui/wxpython/location_wizard/wizard.py:229
+#: ../gui/wxpython/location_wizard/wizard.py:230
 msgid "Read projection and datum terms from a Well Known Text (WKT) .prj file"
 msgstr "从WKT .prj文件读取投影和基准面条件"
 
-#: ../gui/wxpython/location_wizard/wizard.py:232
+#: ../gui/wxpython/location_wizard/wizard.py:233
 msgid "Select coordinate system parameters from a list"
 msgstr "从列表中选择坐标系统参数"
 
-#: ../gui/wxpython/location_wizard/wizard.py:234
+#: ../gui/wxpython/location_wizard/wizard.py:235
 msgid "Specify projection and datum terms using custom PROJ.4 parameters"
 msgstr "使用自定义PROJ. 4参数指定投影和基准面条件"
 
-#: ../gui/wxpython/location_wizard/wizard.py:237
+#: ../gui/wxpython/location_wizard/wizard.py:238
 msgid "Create a generic Cartesian coordinate system (XY)"
 msgstr "创建通用笛卡尔坐标系统(XY)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:338
+#: ../gui/wxpython/location_wizard/wizard.py:339
 msgid "Choose projection"
 msgstr "选择投影"
 
-#: ../gui/wxpython/location_wizard/wizard.py:354
-#: ../gui/wxpython/location_wizard/wizard.py:855
-#: ../gui/wxpython/location_wizard/wizard.py:1027
-#: ../gui/wxpython/location_wizard/wizard.py:1338
+#: ../gui/wxpython/location_wizard/wizard.py:355
+#: ../gui/wxpython/location_wizard/wizard.py:856
+#: ../gui/wxpython/location_wizard/wizard.py:1028
+#: ../gui/wxpython/location_wizard/wizard.py:1339
 msgid "Code"
 msgstr "代码"
 
-#: ../gui/wxpython/location_wizard/wizard.py:358
+#: ../gui/wxpython/location_wizard/wizard.py:359
 msgid "Projection code:"
 msgstr "投影代码:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:366
-#: ../gui/wxpython/location_wizard/wizard.py:868
-#: ../gui/wxpython/location_wizard/wizard.py:1044
+#: ../gui/wxpython/location_wizard/wizard.py:367
+#: ../gui/wxpython/location_wizard/wizard.py:869
+#: ../gui/wxpython/location_wizard/wizard.py:1045
 msgid "Search in description:"
 msgstr "在描述中搜索:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:541
+#: ../gui/wxpython/location_wizard/wizard.py:542
 #, python-format
 msgid "Unable to read list: %s"
 msgstr "无法读取列表:%s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:644
+#: ../gui/wxpython/location_wizard/wizard.py:645
 msgid "Choose projection parameters"
 msgstr "选择投影参数"
 
-#: ../gui/wxpython/location_wizard/wizard.py:658
+#: ../gui/wxpython/location_wizard/wizard.py:659
 msgid "Select datum or ellipsoid (next page)"
 msgstr "指定基准面或椭球体(下一页)"
 
-#: ../gui/wxpython/location_wizard/wizard.py:665
+#: ../gui/wxpython/location_wizard/wizard.py:666
 msgid "Datum with associated ellipsoid"
 msgstr "基准面及相关椭球体"
 
-#: ../gui/wxpython/location_wizard/wizard.py:668
+#: ../gui/wxpython/location_wizard/wizard.py:669
 msgid "Ellipsoid only"
 msgstr "仅椭球体"
 
-#: ../gui/wxpython/location_wizard/wizard.py:725
+#: ../gui/wxpython/location_wizard/wizard.py:726
 #, fuzzy, python-format
 msgid "You must enter a value for %s"
 msgstr "您必须至少选择一个工具"
 
-#: ../gui/wxpython/location_wizard/wizard.py:737
-#: ../gui/wxpython/location_wizard/wizard.py:756
+#: ../gui/wxpython/location_wizard/wizard.py:738
+#: ../gui/wxpython/location_wizard/wizard.py:757
 #, python-format
 msgid " Enter parameters for %s projection "
 msgstr "输入投影%s的参数"
 
-#: ../gui/wxpython/location_wizard/wizard.py:833
+#: ../gui/wxpython/location_wizard/wizard.py:834
 msgid "Specify geodetic datum"
 msgstr "选择大地测量基准面"
 
-#: ../gui/wxpython/location_wizard/wizard.py:855
+#: ../gui/wxpython/location_wizard/wizard.py:856
 msgid "Ellipsoid"
 msgstr "椭球体"
 
-#: ../gui/wxpython/location_wizard/wizard.py:859
+#: ../gui/wxpython/location_wizard/wizard.py:860
 msgid "Datum code:"
 msgstr "基准面代码:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:998
+#: ../gui/wxpython/location_wizard/wizard.py:999
 msgid "Specify ellipsoid"
 msgstr "指定椭球体"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1015
+#: ../gui/wxpython/location_wizard/wizard.py:1016
 #, fuzzy
 msgid "Earth based"
 msgstr "数据库名称:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1018
+#: ../gui/wxpython/location_wizard/wizard.py:1019
 msgid "Planetary bodies"
 msgstr "行星体"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1032
+#: ../gui/wxpython/location_wizard/wizard.py:1033
 msgid "Ellipsoid code:"
 msgstr "椭球体代码"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1164
-#: ../gui/wxpython/location_wizard/wizard.py:1224
+#: ../gui/wxpython/location_wizard/wizard.py:1165
+#: ../gui/wxpython/location_wizard/wizard.py:1225
 msgid "Select georeferenced file"
 msgstr "选择地理配准文件"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1169
+#: ../gui/wxpython/location_wizard/wizard.py:1170
 msgid "Georeferenced file:"
 msgstr "地理配准文件:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1238
-#: ../gui/wxpython/location_wizard/wizard.py:1295
+#: ../gui/wxpython/location_wizard/wizard.py:1239
+#: ../gui/wxpython/location_wizard/wizard.py:1296
 msgid "Select Well Known Text (WKT) .prj file"
 msgstr "选择WKT .prj文件"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1243
+#: ../gui/wxpython/location_wizard/wizard.py:1244
 #, fuzzy
 msgid "WKT .prj file:"
 msgstr "DXF文件"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1312
+#: ../gui/wxpython/location_wizard/wizard.py:1313
 msgid "Choose EPSG Code"
 msgstr "选择EPSG代码"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1320
+#: ../gui/wxpython/location_wizard/wizard.py:1321
 msgid "Path to the EPSG-codes file:"
 msgstr "EPSG代码文件路径:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1322
+#: ../gui/wxpython/location_wizard/wizard.py:1323
 #: ../gui/wxpython/gui_core/preferences.py:1222
 msgid "EPSG code:"
 msgstr "EPSG代码:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1474
+#: ../gui/wxpython/location_wizard/wizard.py:1475
 msgid "Choose EPSG codes file"
 msgstr "选择EPSG代码文件"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1503
+#: ../gui/wxpython/location_wizard/wizard.py:1504
 #, python-format
 msgid "Unable to read EPGS codes: %s"
 msgstr "无法读取EPSG代码:%s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1521
+#: ../gui/wxpython/location_wizard/wizard.py:1522
 msgid "Choose method of specifying georeferencing parameters"
 msgstr "选择定义地理配准参数的方式"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1529
+#: ../gui/wxpython/location_wizard/wizard.py:1530
 msgid "Enter PROJ.4 parameters string:"
 msgstr "输入PROJ.4参数字符串"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1585
-#: ../gui/wxpython/location_wizard/wizard.py:1589
+#: ../gui/wxpython/location_wizard/wizard.py:1586
+#: ../gui/wxpython/location_wizard/wizard.py:1590
 #, fuzzy
 msgid "Datum transform is required."
 msgstr "输出栅格文件的标题"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1624
+#: ../gui/wxpython/location_wizard/wizard.py:1625
 #: ../gui/wxpython/rlisetup/wizard.py:1643
 msgid "Summary"
 msgstr "总结"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1665
+#: ../gui/wxpython/location_wizard/wizard.py:1666
 msgid "GRASS Database:"
 msgstr "GRASS数据库:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1671
+#: ../gui/wxpython/location_wizard/wizard.py:1672
 msgid "Location Name:"
 msgstr "地点名称:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1677
+#: ../gui/wxpython/location_wizard/wizard.py:1678
 #, fuzzy
 msgid "Location Title:"
 msgstr "地点名称:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1683
+#: ../gui/wxpython/location_wizard/wizard.py:1684
 msgid "Projection:"
 msgstr "投影:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1689
+#: ../gui/wxpython/location_wizard/wizard.py:1690
 #, fuzzy
 msgid ""
 "PROJ.4 definition:\n"
 " (non-definitive)"
 msgstr "PROJ.4设置:"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1783
+#: ../gui/wxpython/location_wizard/wizard.py:1784
 #: ../gui/wxpython/psmap/dialogs.py:507 ../gui/wxpython/psmap/dialogs.py:528
 msgid "custom"
 msgstr "自定义"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1792
+#: ../gui/wxpython/location_wizard/wizard.py:1793
 #, python-format
 msgid "Do you want to create GRASS location <%s>?"
 msgstr "创建GRASS地点<%s>?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1793
+#: ../gui/wxpython/location_wizard/wizard.py:1794
 msgid "Create new location?"
 msgstr "创建新地点?"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1837
+#: ../gui/wxpython/location_wizard/wizard.py:1838
 msgid "Define new GRASS Location"
 msgstr "定义新GRASS地点"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1929
+#: ../gui/wxpython/location_wizard/wizard.py:1930
 #, python-format
 msgid ""
 "Unable to create new location. Location <%(loc)s> not created.\n"
@@ -2399,15 +2400,15 @@ msgstr ""
 "\n"
 "更多信息: %(err)s"
 
-#: ../gui/wxpython/location_wizard/wizard.py:1937
+#: ../gui/wxpython/location_wizard/wizard.py:1938
 msgid "Location wizard canceled. Location not created."
 msgstr "地点向导已取消,没有创建新地点。"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2060
+#: ../gui/wxpython/location_wizard/wizard.py:2061
 msgid "Unable to create new location"
 msgstr "无法创建新地点"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2079
+#: ../gui/wxpython/location_wizard/wizard.py:2080
 #, fuzzy, python-format
 msgid ""
 "Location <%(loc)s> will be created in GIS data directory <%(dir)s>. You will "
@@ -2416,16 +2417,16 @@ msgstr ""
 "将在目录<%(dir)s>下创建新地点<%(loc)s>。若需改变默认目录,请在GRASS启动时设"
 "置。"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2084
+#: ../gui/wxpython/location_wizard/wizard.py:2085
 msgid "New GIS data directory"
 msgstr "新GIS数据目录"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2115
+#: ../gui/wxpython/location_wizard/wizard.py:2116
 msgid "EPSG code missing."
 msgstr "没有EPSG代码。"
 
-#: ../gui/wxpython/location_wizard/wizard.py:2126
-#: ../gui/wxpython/location_wizard/wizard.py:2135
+#: ../gui/wxpython/location_wizard/wizard.py:2127
+#: ../gui/wxpython/location_wizard/wizard.py:2136
 #, fuzzy, python-format
 msgid "File <%s> not found."
 msgstr "未找到栅格图<%s>"
@@ -2866,7 +2867,16 @@ msgstr ""
 "%s\n"
 "从层列表中移除?"
 
-#: ../gui/wxpython/core/ws.py:49
+#: ../gui/wxpython/core/debug.py:45
+msgid "Wx debug level {}."
+msgstr ""
+
+#: ../gui/wxpython/core/debug.py:48
+msgid ""
+"WARNING: Ignoring unsupported wx debug level (must be >=0 and <=5). {}\n"
+msgstr ""
+
+#: ../gui/wxpython/core/ws.py:50
 msgid ""
 "Unable to load GDAL Python bindings.\n"
 "WMS layers can not be displayed without the bindings.\n"
@@ -2879,139 +2889,134 @@ msgstr ""
 msgid "<%(name)s>: layer type <%(type)s> is not supported"
 msgstr "<%(name)s>: 不支持图层类型 <%(type)s> 。"
 
-#: ../gui/wxpython/core/render.py:167
+#: ../gui/wxpython/core/render.py:164
 #, fuzzy, python-format
 msgid "Command '%s' failed\n"
 msgstr "命令控制台"
 
-#: ../gui/wxpython/core/render.py:169
+#: ../gui/wxpython/core/render.py:165
 #, fuzzy, python-format
 msgid "Details: %s\n"
 msgstr "读取 %s ..."
 
-#: ../gui/wxpython/core/render.py:274
+#: ../gui/wxpython/core/render.py:250
 #, python-format
 msgid "Unsupported map layer type '%s'"
 msgstr "不支持地图层类型'%s'"
 
-#: ../gui/wxpython/core/render.py:418
+#: ../gui/wxpython/core/render.py:563
+#, fuzzy, python-format
+msgid "Rendering failed: %s"
+msgstr "读取dig文件...\n"
+
+#: ../gui/wxpython/core/render.py:584
+#, fuzzy
+msgid "Rendering aborted"
+msgstr "重新渲染地图"
+
+#: ../gui/wxpython/core/render.py:615
+#, fuzzy
+msgid "Downloading data "
+msgstr "读取地图"
+
+#: ../gui/wxpython/core/render.py:625
+#, fuzzy
+msgid "Rendering & "
+msgstr "重新渲染地图"
+
+#: ../gui/wxpython/core/render.py:627
+#, fuzzy
+msgid "Rendering..."
+msgstr "读取地图"
+
+#: ../gui/wxpython/core/render.py:663
 msgid "Trying to recover from default region..."
 msgstr "正在尝试恢复默认区域..."
 
-#: ../gui/wxpython/core/render.py:449
+#: ../gui/wxpython/core/render.py:688
 #: ../gui/wxpython/mapdisp/test_mapdisp.py:88
-#: ../gui/wxpython/gui_core/mapdisp.py:114
+#: ../gui/wxpython/gui_core/mapdisp.py:117
 #, python-format
 msgid "GRASS module '%s' not found. Unable to start map display window."
 msgstr "没有找到GRASS模块'%s',无法启动地图显示窗口。"
 
-#: ../gui/wxpython/core/render.py:483
+#: ../gui/wxpython/core/render.py:722
 #, python-format
 msgid "Error: Unable to open '%(file)s'. Reason: %(ret)s. wxGUI exited.\n"
 msgstr "错误:无法打开'%(file)s'。原因:%(ret)s. 退出wxGUI。\n"
 
-#: ../gui/wxpython/core/render.py:491
+#: ../gui/wxpython/core/render.py:730
 #, fuzzy, python-format
 msgid ""
 "\n"
 "ERROR: Unable to read WIND file: %s\n"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/core/render.py:588
+#: ../gui/wxpython/core/render.py:827
 #, fuzzy, python-format
 msgid "Invalid map size %d,%d\n"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/core/render.py:667
+#: ../gui/wxpython/core/render.py:906
 #, fuzzy, python-format
 msgid "Unable to zoom to raster map <%s>."
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/core/render.py:668 ../gui/wxpython/core/render.py:671
-#: ../gui/wxpython/core/render.py:674 ../gui/wxpython/core/gcmd.py:395
+#: ../gui/wxpython/core/render.py:907 ../gui/wxpython/core/render.py:910
+#: ../gui/wxpython/core/render.py:913 ../gui/wxpython/core/gcmd.py:415
 msgid "Details:"
 msgstr "细节:"
 
-#: ../gui/wxpython/core/render.py:670
+#: ../gui/wxpython/core/render.py:909
 #, fuzzy, python-format
 msgid "Unable to zoom to vector map <%s>."
 msgstr "无法找到矢量地图 [%s]"
 
-#: ../gui/wxpython/core/render.py:673
+#: ../gui/wxpython/core/render.py:912
 #, fuzzy, python-format
 msgid "Unable to zoom to 3d raster map <%s>."
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/core/render.py:676
+#: ../gui/wxpython/core/render.py:915
 msgid ""
 "Unable to get current geographic extent. Force quiting wxGUI. Please "
 "manually run g.region to fix the problem."
 msgstr "无法获取当前地理范围。强制退出wxGUI。请手动运行g.region以解决该问题。"
 
-#: ../gui/wxpython/core/render.py:987
-#, fuzzy, python-format
-msgid "ERROR: Rendering failed. Details: %s"
-msgstr "读取dig文件...\n"
-
-#: ../gui/wxpython/core/render.py:1034 ../gui/wxpython/core/render.py:1129
-#, python-format
-msgid "Unable to render map layer <%s>."
-msgstr "无法渲染地图层<%s>。"
-
-#: ../gui/wxpython/core/render.py:1240 ../gui/wxpython/core/render.py:1279
-#, python-format
-msgid "Unable to render overlay <%s>."
-msgstr "无法渲染层<%s>。"
-
-#: ../gui/wxpython/core/render.py:1376
-#, fuzzy
-msgid "Downloading data "
-msgstr "读取地图"
-
-#: ../gui/wxpython/core/render.py:1386
-#, fuzzy
-msgid "Rendering & "
-msgstr "重新渲染地图"
-
-#: ../gui/wxpython/core/render.py:1388
-#, fuzzy
-msgid "Rendering..."
-msgstr "读取地图"
-
-#: ../gui/wxpython/core/gcmd.py:128
+#: ../gui/wxpython/core/gcmd.py:119
 #, fuzzy
 msgid "Reason"
 msgstr "读取 %s ..."
 
-#: ../gui/wxpython/core/gcmd.py:149 ../gui/wxpython/lmgr/frame.py:2275
-#: ../gui/wxpython/gis_set.py:612 ../gui/wxpython/gis_set.py:648
+#: ../gui/wxpython/core/gcmd.py:140 ../gui/wxpython/lmgr/frame.py:2289
+#: ../gui/wxpython/gis_set.py:622 ../gui/wxpython/gis_set.py:658
 msgid "Message"
 msgstr "消息"
 
-#: ../gui/wxpython/core/gcmd.py:392
+#: ../gui/wxpython/core/gcmd.py:412
 msgid "Execution failed:"
 msgstr "操作失败:"
 
-#: ../gui/wxpython/core/gcmd.py:397 ../gui/wxpython/core/gcmd.py:401
+#: ../gui/wxpython/core/gcmd.py:417 ../gui/wxpython/core/gcmd.py:421
 msgid "Error: "
 msgstr "错误:"
 
-#: ../gui/wxpython/core/gcmd.py:476
+#: ../gui/wxpython/core/gcmd.py:496
 #, python-format
 msgid "Unable to exectute command: '%s'"
 msgstr "无法执行命令:'%s'"
 
-#: ../gui/wxpython/core/gcmd.py:701 ../gui/wxpython/gui_core/forms.py:2270
+#: ../gui/wxpython/core/gcmd.py:718 ../gui/wxpython/gui_core/forms.py:2354
 #, python-format
 msgid "Error in %s"
 msgstr "%s出错"
 
-#: ../gui/wxpython/core/workspace.py:1333
+#: ../gui/wxpython/core/workspace.py:1336
 #, python-format
 msgid "Unable to open file <%s> for reading."
 msgstr "无法打开并读取文件<%s>。"
 
-#: ../gui/wxpython/core/workspace.py:1346
+#: ../gui/wxpython/core/workspace.py:1349
 #, python-format
 msgid ""
 "Some lines were skipped when reading settings from file <%(file)s>.\n"
@@ -3020,12 +3025,12 @@ msgid ""
 "Number of skipped lines: %(line)d"
 msgstr ""
 
-#: ../gui/wxpython/core/workspace.py:1564
+#: ../gui/wxpython/core/workspace.py:1567
 #, python-format
 msgid " row %d:"
 msgstr "行 %d:"
 
-#: ../gui/wxpython/core/gconsole.py:488
+#: ../gui/wxpython/core/gconsole.py:491
 #, python-format
 msgid ""
 "Unable to run command:\n"
@@ -3034,30 +3039,35 @@ msgid ""
 "Option <%(opt)s>: read from standard input is not supported by wxGUI"
 msgstr ""
 
-#: ../gui/wxpython/core/gconsole.py:609
+#: ../gui/wxpython/core/gconsole.py:509
+#, fuzzy, python-format
+msgid "Module <%s> not found."
+msgstr "未找到栅格图<%s>"
+
+#: ../gui/wxpython/core/gconsole.py:631
 #, python-format
 msgid "%d sec"
 msgstr "%d 秒"
 
-#: ../gui/wxpython/core/gconsole.py:612
+#: ../gui/wxpython/core/gconsole.py:634
 #, fuzzy, python-format
 msgid "%(min)d min %(sec)d sec"
 msgstr "%s在%s中: %s"
 
-#: ../gui/wxpython/core/gconsole.py:620
+#: ../gui/wxpython/core/gconsole.py:642
 msgid ""
 "Please note that the data are left in inconsistent state and may be corrupted"
 msgstr "当前数据状态不匹配,可能导致损坏"
 
-#: ../gui/wxpython/core/gconsole.py:622
+#: ../gui/wxpython/core/gconsole.py:644
 msgid "Command aborted"
 msgstr "终止命令"
 
-#: ../gui/wxpython/core/gconsole.py:624
+#: ../gui/wxpython/core/gconsole.py:646
 msgid "Command finished"
 msgstr "命令完成"
 
-#: ../gui/wxpython/core/gconsole.py:695 ../gui/wxpython/gui_core/goutput.py:442
+#: ../gui/wxpython/core/gconsole.py:717 ../gui/wxpython/gui_core/goutput.py:442
 #, fuzzy, python-format
 msgid ""
 "Unable to write file '%(filePath)s'.\n"
@@ -3241,22 +3251,22 @@ msgstr "语法错误:%s"
 msgid "Vector map <%(map)s>: %(msg)s\n"
 msgstr "dig_att文件不存在。"
 
-#: ../gui/wxpython/core/utils.py:558
+#: ../gui/wxpython/core/utils.py:507
 #, python-format
 msgid "failed to open '%s'"
 msgstr "无法打开'%s'"
 
-#: ../gui/wxpython/core/utils.py:853
+#: ../gui/wxpython/core/utils.py:802
 #, fuzzy, python-format
 msgid "ERROR: Unable to determine GRASS version. Details: %s"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/core/utils.py:888
+#: ../gui/wxpython/core/utils.py:837
 #, fuzzy, python-format
 msgid "Unable to open file '%s'\n"
 msgstr "无法打开输出文件 <%s>"
 
-#: ../gui/wxpython/core/utils.py:895
+#: ../gui/wxpython/core/utils.py:844
 #, python-format
 msgid ""
 "%s: line skipped - unable to parse '%s'\n"
@@ -3265,17 +3275,17 @@ msgstr ""
 "%s: 跳过行 - 无法解析 '%s'\n"
 "原因:%s \n"
 
-#: ../gui/wxpython/core/utils.py:900
+#: ../gui/wxpython/core/utils.py:849
 #, fuzzy, python-format
 msgid "Duplicated key: %s\n"
 msgstr "无法计算面的质心"
 
-#: ../gui/wxpython/core/utils.py:916
+#: ../gui/wxpython/core/utils.py:865
 #, fuzzy, python-format
 msgid "Unable to create file '%s'\n"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/core/utils.py:998 ../gui/wxpython/gui_core/forms.py:1457
+#: ../gui/wxpython/core/utils.py:947 ../gui/wxpython/gui_core/forms.py:1475
 msgid "Select Color"
 msgstr "选择颜色"
 
@@ -3348,12 +3358,12 @@ msgstr ""
 "纸张边缘"
 
 #: ../gui/wxpython/psmap/dialogs.py:291
-#: ../gui/wxpython/mapwin/decorations.py:366
+#: ../gui/wxpython/mapwin/decorations.py:369
 #, fuzzy
 msgid "Font:"
 msgstr "OGR 格式"
 
-#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3557
+#: ../gui/wxpython/psmap/dialogs.py:292 ../gui/wxpython/psmap/dialogs.py:3550
 #: ../gui/wxpython/gui_core/preferences.py:1591
 msgid "Font size:"
 msgstr "字号:"
@@ -3368,7 +3378,7 @@ msgid "Close dialog and apply changes"
 msgstr "关闭对话框并使改动生效"
 
 #: ../gui/wxpython/psmap/dialogs.py:359 ../gui/wxpython/vdigit/dialogs.py:144
-#: ../gui/wxpython/web_services/dialogs.py:627
+#: ../gui/wxpython/web_services/dialogs.py:645
 msgid "Apply changes"
 msgstr "使改动生效"
 
@@ -3387,7 +3397,7 @@ msgstr "OGR 格式"
 msgid "Orientation"
 msgstr "相关性"
 
-#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2086
+#: ../gui/wxpython/psmap/dialogs.py:384 ../gui/wxpython/psmap/dialogs.py:2079
 #, fuzzy
 msgid "Width"
 msgstr "% 宽度"
@@ -3440,7 +3450,7 @@ msgid "Map frame settings"
 msgstr "打开设置"
 
 #: ../gui/wxpython/psmap/dialogs.py:619 ../gui/wxpython/psmap/dialogs.py:674
-#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1994
+#: ../gui/wxpython/psmap/toolbars.py:79 ../gui/wxpython/menustrings.py:1996
 #, fuzzy
 msgid "Map frame"
 msgstr "地图层"
@@ -3474,7 +3484,7 @@ msgstr "固定的比例和地图中心位置"
 msgid "Map selection"
 msgstr "投影管理"
 
-#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1285
+#: ../gui/wxpython/psmap/dialogs.py:700 ../gui/wxpython/psmap/dialogs.py:1278
 msgid "Map:"
 msgstr "地图:"
 
@@ -3502,7 +3512,7 @@ msgstr ":"
 msgid "N:"
 msgstr ":"
 
-#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4168
+#: ../gui/wxpython/psmap/dialogs.py:729 ../gui/wxpython/psmap/dialogs.py:4161
 #, fuzzy
 msgid "Scale:"
 msgstr "保存"
@@ -3518,7 +3528,7 @@ msgstr "重采样(改变分辨率)"
 
 #. GTC Line around legend or map frame
 #. GTC  Line around legend or map frame
-#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2656
+#: ../gui/wxpython/psmap/dialogs.py:764 ../gui/wxpython/psmap/dialogs.py:2649
 #, fuzzy
 msgid "Border"
 msgstr "边框颜色"
@@ -3559,186 +3569,187 @@ msgstr "没有选中的图层"
 msgid "No region selected!"
 msgstr "没有选中的图层"
 
-#: ../gui/wxpython/psmap/dialogs.py:1107
+#: ../gui/wxpython/psmap/dialogs.py:1100
 #, fuzzy
 msgid "Invalid scale or map center!"
 msgstr "无效的空值 (仅用于整型)"
 
-#: ../gui/wxpython/psmap/dialogs.py:1145 ../gui/wxpython/nviz/tools.py:652
-#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:800
-#: ../gui/wxpython/menustrings.py:1996
+#: ../gui/wxpython/psmap/dialogs.py:1138 ../gui/wxpython/nviz/tools.py:653
+#: ../gui/wxpython/nviz/mapwindow.py:1676 ../gui/wxpython/lmgr/layertree.py:803
+#: ../gui/wxpython/menustrings.py:1998
 msgid "Raster map"
 msgstr "栅格地图"
 
-#: ../gui/wxpython/psmap/dialogs.py:1167
+#: ../gui/wxpython/psmap/dialogs.py:1160
 #, fuzzy
 msgid "Choose raster map"
 msgstr "叠加栅格图"
 
-#: ../gui/wxpython/psmap/dialogs.py:1171
+#: ../gui/wxpython/psmap/dialogs.py:1164
 #, fuzzy
 msgid "no raster map"
 msgstr "栅格地图"
 
-#: ../gui/wxpython/psmap/dialogs.py:1172
+#: ../gui/wxpython/psmap/dialogs.py:1165
 #, fuzzy
 msgid "raster:"
 msgstr "栅格值"
 
-#: ../gui/wxpython/psmap/dialogs.py:1212 ../gui/wxpython/psmap/frame.py:569
+#: ../gui/wxpython/psmap/dialogs.py:1205 ../gui/wxpython/psmap/frame.py:569
 #: ../gui/wxpython/psmap/frame.py:592
 msgid "Please, create map frame first."
 msgstr "请先创建地图框架"
 
-#: ../gui/wxpython/psmap/dialogs.py:1281
+#: ../gui/wxpython/psmap/dialogs.py:1274
 #, fuzzy
 msgid "Add map"
 msgstr "栅格图的名称"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "points"
 msgstr "点"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289 ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1282 ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "lines"
 msgstr "线"
 
-#: ../gui/wxpython/psmap/dialogs.py:1289
+#: ../gui/wxpython/psmap/dialogs.py:1282
 #, fuzzy
 msgid "areas"
 msgstr "面\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:1291
+#: ../gui/wxpython/psmap/dialogs.py:1284
 #, fuzzy
 msgid "Data Type"
 msgstr "要素类型"
 
-#: ../gui/wxpython/psmap/dialogs.py:1294
+#: ../gui/wxpython/psmap/dialogs.py:1287
 #: ../gui/wxpython/animation/dialogs.py:625 ../gui/wxpython/dbmgr/base.py:2130
 msgid "Add"
 msgstr "添加"
 
-#: ../gui/wxpython/psmap/dialogs.py:1306
+#: ../gui/wxpython/psmap/dialogs.py:1299
 #, fuzzy
 msgid "Manage vector maps"
 msgstr "新矢量地图"
 
-#: ../gui/wxpython/psmap/dialogs.py:1312
+#: ../gui/wxpython/psmap/dialogs.py:1305
 #, fuzzy
 msgid "The topmost vector map overlaps the others"
 msgstr "将 3D 栅格图转化为 2D 栅格图"
 
-#: ../gui/wxpython/psmap/dialogs.py:1314 ../gui/wxpython/psmap/dialogs.py:2636
+#: ../gui/wxpython/psmap/dialogs.py:1307 ../gui/wxpython/psmap/dialogs.py:2629
 #: ../gui/wxpython/web_services/widgets.py:225
 msgid "Up"
 msgstr "向上"
 
-#: ../gui/wxpython/psmap/dialogs.py:1315 ../gui/wxpython/psmap/dialogs.py:2637
+#: ../gui/wxpython/psmap/dialogs.py:1308 ../gui/wxpython/psmap/dialogs.py:2630
 #: ../gui/wxpython/web_services/widgets.py:226
 #, fuzzy
 msgid "Down"
 msgstr "完成\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:1316 ../gui/wxpython/nviz/tools.py:1101
-#: ../gui/wxpython/nviz/tools.py:1981 ../gui/wxpython/nviz/tools.py:2029
+#: ../gui/wxpython/psmap/dialogs.py:1309 ../gui/wxpython/nviz/tools.py:1102
+#: ../gui/wxpython/nviz/tools.py:1982 ../gui/wxpython/nviz/tools.py:2030
 #: ../gui/wxpython/menustrings.py:172 ../gui/wxpython/menustrings.py:1159
-#: ../gui/wxpython/menustrings.py:2012
+#: ../gui/wxpython/menustrings.py:2014
 msgid "Delete"
 msgstr "删除"
 
-#: ../gui/wxpython/psmap/dialogs.py:1317
+#: ../gui/wxpython/psmap/dialogs.py:1310
 #, fuzzy
 msgid "Properties..."
 msgstr "要素类型"
 
-#: ../gui/wxpython/psmap/dialogs.py:1519
+#: ../gui/wxpython/psmap/dialogs.py:1512
 #, fuzzy
 msgid "Raster map settings"
 msgstr "打开设置"
 
-#: ../gui/wxpython/psmap/dialogs.py:1556
+#: ../gui/wxpython/psmap/dialogs.py:1549
 #, fuzzy
 msgid "Vector maps settings"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/psmap/dialogs.py:1591
+#: ../gui/wxpython/psmap/dialogs.py:1584
 #, fuzzy, python-format
 msgid "%s properties"
 msgstr "要素类型"
 
-#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/psmap/dialogs.py:1635
 #, fuzzy
 msgid "Data selection"
 msgstr "反向清扫完成"
 
-#: ../gui/wxpython/psmap/dialogs.py:1649
-#: ../gui/wxpython/gui_core/dialogs.py:1634
+#: ../gui/wxpython/psmap/dialogs.py:1642
+#: ../gui/wxpython/modules/import_export.py:72
+#: ../gui/wxpython/gui_core/forms.py:1711
 #, fuzzy
 msgid "Feature type"
 msgstr "要素类型"
 
-#: ../gui/wxpython/psmap/dialogs.py:1653
+#: ../gui/wxpython/psmap/dialogs.py:1646
 #, fuzzy
 msgid "centroids"
 msgstr "读取%-5d个质心\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:1655
+#: ../gui/wxpython/psmap/dialogs.py:1648
 #, fuzzy
 msgid "boundaries"
 msgstr "无法更新边界"
 
-#: ../gui/wxpython/psmap/dialogs.py:1671
+#: ../gui/wxpython/psmap/dialogs.py:1664
 #, fuzzy
 msgid "Layer selection"
 msgstr "反向清扫完成"
 
-#: ../gui/wxpython/psmap/dialogs.py:1677
+#: ../gui/wxpython/psmap/dialogs.py:1670
 msgid "Database connection is not defined in DB file."
 msgstr "DB文件没有定义数据连接"
 
-#: ../gui/wxpython/psmap/dialogs.py:1678
+#: ../gui/wxpython/psmap/dialogs.py:1671
 #, fuzzy
 msgid "Select layer:"
 msgstr "选择颜色"
 
-#: ../gui/wxpython/psmap/dialogs.py:1701
+#: ../gui/wxpython/psmap/dialogs.py:1694
 msgid "list of categories (e.g. 1,3,5-7)"
 msgstr "类别列表(例如:1,3,5-7)"
 
-#: ../gui/wxpython/psmap/dialogs.py:1728 ../gui/wxpython/nviz/tools.py:789
+#: ../gui/wxpython/psmap/dialogs.py:1721 ../gui/wxpython/nviz/tools.py:790
 #: ../gui/wxpython/nviz/tools.py:2405 ../gui/wxpython/menustrings.py:324
 #: ../gui/wxpython/menustrings.py:1231
 msgid "Mask"
 msgstr "掩码"
 
-#: ../gui/wxpython/psmap/dialogs.py:1731
+#: ../gui/wxpython/psmap/dialogs.py:1724
 msgid "Use current mask"
 msgstr "使用当前掩码"
 
-#: ../gui/wxpython/psmap/dialogs.py:1748 ../gui/wxpython/psmap/dialogs.py:1847
+#: ../gui/wxpython/psmap/dialogs.py:1741 ../gui/wxpython/psmap/dialogs.py:1840
 #, fuzzy
 msgid "Colors"
 msgstr "颜色"
 
-#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1852
+#: ../gui/wxpython/psmap/dialogs.py:1746 ../gui/wxpython/psmap/dialogs.py:1845
 #, fuzzy
 msgid "Outline"
 msgstr "文本颜色"
 
-#: ../gui/wxpython/psmap/dialogs.py:1757 ../gui/wxpython/psmap/dialogs.py:1861
+#: ../gui/wxpython/psmap/dialogs.py:1750 ../gui/wxpython/psmap/dialogs.py:1854
 msgid "draw outline"
 msgstr "绘制轮廓"
 
-#: ../gui/wxpython/psmap/dialogs.py:1760 ../gui/wxpython/psmap/dialogs.py:1865
-#: ../gui/wxpython/psmap/dialogs.py:3752 ../gui/wxpython/psmap/dialogs.py:3757
+#: ../gui/wxpython/psmap/dialogs.py:1753 ../gui/wxpython/psmap/dialogs.py:1858
+#: ../gui/wxpython/psmap/dialogs.py:3745 ../gui/wxpython/psmap/dialogs.py:3750
 msgid "Width (pts):"
 msgstr "宽度(pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:1778 ../gui/wxpython/psmap/dialogs.py:1881
-#: ../gui/wxpython/nviz/tools.py:1150 ../gui/wxpython/nviz/tools.py:1794
-#: ../gui/wxpython/nviz/tools.py:1915 ../gui/wxpython/nviz/preferences.py:334
+#: ../gui/wxpython/psmap/dialogs.py:1771 ../gui/wxpython/psmap/dialogs.py:1874
+#: ../gui/wxpython/nviz/tools.py:1151 ../gui/wxpython/nviz/tools.py:1795
+#: ../gui/wxpython/nviz/tools.py:1916 ../gui/wxpython/nviz/preferences.py:334
 #: ../gui/wxpython/nviz/preferences.py:491
 #: ../gui/wxpython/nviz/preferences.py:545
 #: ../gui/wxpython/mapswipe/dialogs.py:242 ../gui/wxpython/gcp/manager.py:2473
@@ -3746,251 +3757,251 @@ msgstr "宽度(pts):"
 msgid "Color:"
 msgstr "颜色:"
 
-#: ../gui/wxpython/psmap/dialogs.py:1801
+#: ../gui/wxpython/psmap/dialogs.py:1794
 #, fuzzy
 msgid "fill color"
 msgstr " nv color\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:1804 ../gui/wxpython/psmap/dialogs.py:1907
+#: ../gui/wxpython/psmap/dialogs.py:1797 ../gui/wxpython/psmap/dialogs.py:1900
 #, fuzzy
 msgid "choose color:"
 msgstr " nv color\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:1816 ../gui/wxpython/psmap/dialogs.py:1920
+#: ../gui/wxpython/psmap/dialogs.py:1809 ../gui/wxpython/psmap/dialogs.py:1913
 msgid "color from map table column:"
 msgstr "从地图表格列选择颜色"
 
-#: ../gui/wxpython/psmap/dialogs.py:1863
+#: ../gui/wxpython/psmap/dialogs.py:1856
 msgid "No effect for fill color from table column"
 msgstr "地图表格列没有设置填充颜色效果"
 
-#: ../gui/wxpython/psmap/dialogs.py:1905
+#: ../gui/wxpython/psmap/dialogs.py:1898
 #, fuzzy
 msgid "Color of lines:"
 msgstr "比特模式的值"
 
-#: ../gui/wxpython/psmap/dialogs.py:1950 ../gui/wxpython/psmap/dialogs.py:2081
-#: ../gui/wxpython/psmap/dialogs.py:2150
+#: ../gui/wxpython/psmap/dialogs.py:1943 ../gui/wxpython/psmap/dialogs.py:2074
+#: ../gui/wxpython/psmap/dialogs.py:2143
 #, fuzzy
 msgid "Size and style"
 msgstr "坡度和方位"
 
-#: ../gui/wxpython/psmap/dialogs.py:1955
+#: ../gui/wxpython/psmap/dialogs.py:1948
 #: ../gui/wxpython/vdigit/preferences.py:86 ../gui/wxpython/gcp/manager.py:2433
 msgid "Symbology"
 msgstr "符号样式"
 
-#: ../gui/wxpython/psmap/dialogs.py:1959 ../gui/wxpython/nviz/tools.py:1422
+#: ../gui/wxpython/psmap/dialogs.py:1952 ../gui/wxpython/nviz/tools.py:1423
 #, fuzzy
 msgid "symbol:"
 msgstr "读取 %s ..."
 
-#: ../gui/wxpython/psmap/dialogs.py:1968
+#: ../gui/wxpython/psmap/dialogs.py:1961
 #, fuzzy
 msgid "eps file:"
 msgstr "保存组文件"
 
-#: ../gui/wxpython/psmap/dialogs.py:1972 ../gui/wxpython/psmap/dialogs.py:2161
+#: ../gui/wxpython/psmap/dialogs.py:1965 ../gui/wxpython/psmap/dialogs.py:2154
 msgid "Type filename or click browse to choose file"
 msgstr "输入或点击浏览选择文件名称"
 
-#: ../gui/wxpython/psmap/dialogs.py:1973 ../gui/wxpython/psmap/dialogs.py:2162
+#: ../gui/wxpython/psmap/dialogs.py:1966 ../gui/wxpython/psmap/dialogs.py:2155
 #, fuzzy
 msgid "Choose a file"
 msgstr "拷贝表失败"
 
-#: ../gui/wxpython/psmap/dialogs.py:2001 ../gui/wxpython/nviz/tools.py:1365
+#: ../gui/wxpython/psmap/dialogs.py:1994 ../gui/wxpython/nviz/tools.py:1366
 #, fuzzy
 msgid "size:"
 msgstr "块大小:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2003
+#: ../gui/wxpython/psmap/dialogs.py:1996
 msgid "size from map table column:"
 msgstr "地图表格列大小:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2005
+#: ../gui/wxpython/psmap/dialogs.py:1998
 #, fuzzy
 msgid "scale:"
 msgstr "表"
 
-#: ../gui/wxpython/psmap/dialogs.py:2038
+#: ../gui/wxpython/psmap/dialogs.py:2031
 #, fuzzy
 msgid "Rotation"
 msgstr "** 错误的颜色规范 **\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:2043
+#: ../gui/wxpython/psmap/dialogs.py:2036
 msgid "rotate symbols:"
 msgstr "旋转符号"
 
-#: ../gui/wxpython/psmap/dialogs.py:2044
+#: ../gui/wxpython/psmap/dialogs.py:2037
 msgid "counterclockwise in degrees:"
 msgstr "逆时针度数"
 
-#: ../gui/wxpython/psmap/dialogs.py:2046
+#: ../gui/wxpython/psmap/dialogs.py:2039
 #, fuzzy
 msgid "from map table column:"
 msgstr "列数"
 
-#: ../gui/wxpython/psmap/dialogs.py:2090
+#: ../gui/wxpython/psmap/dialogs.py:2083
 #, fuzzy
 msgid "Set width (pts):"
 msgstr "设定线宽(像素)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2099
+#: ../gui/wxpython/psmap/dialogs.py:2092
 msgid "multiply width by category value"
 msgstr "宽度乘以类别值"
 
-#: ../gui/wxpython/psmap/dialogs.py:2120
+#: ../gui/wxpython/psmap/dialogs.py:2113
 #, fuzzy
 msgid "Choose line style:"
 msgstr "拷贝表失败"
 
-#: ../gui/wxpython/psmap/dialogs.py:2130
+#: ../gui/wxpython/psmap/dialogs.py:2123
 #, fuzzy
 msgid "Choose linecap:"
 msgstr "拷贝表失败"
 
-#: ../gui/wxpython/psmap/dialogs.py:2155
+#: ../gui/wxpython/psmap/dialogs.py:2148
 #, fuzzy
 msgid "Pattern"
 msgstr "平移"
 
-#: ../gui/wxpython/psmap/dialogs.py:2159
+#: ../gui/wxpython/psmap/dialogs.py:2152
 msgid "use pattern:"
 msgstr "保用模式"
 
-#: ../gui/wxpython/psmap/dialogs.py:2160
+#: ../gui/wxpython/psmap/dialogs.py:2153
 #, fuzzy
 msgid "Choose pattern file:"
 msgstr "过滤器文件的名称"
 
-#: ../gui/wxpython/psmap/dialogs.py:2164
+#: ../gui/wxpython/psmap/dialogs.py:2157
 msgid "pattern line width (pts):"
 msgstr "模式线宽(像素)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2166
+#: ../gui/wxpython/psmap/dialogs.py:2159
 #, fuzzy
 msgid "pattern scale factor:"
 msgstr "垂直比例因子"
 
-#: ../gui/wxpython/psmap/dialogs.py:2483
+#: ../gui/wxpython/psmap/dialogs.py:2476
 #, fuzzy
 msgid "Raster legend"
 msgstr "栅格值"
 
-#: ../gui/wxpython/psmap/dialogs.py:2487
+#: ../gui/wxpython/psmap/dialogs.py:2480
 #: ../gui/wxpython/animation/dialogs.py:369
 #, fuzzy
 msgid "Show raster legend"
 msgstr "将要导入的二进制栅格文件"
 
-#: ../gui/wxpython/psmap/dialogs.py:2493
+#: ../gui/wxpython/psmap/dialogs.py:2486
 #, fuzzy
 msgid "Source raster"
 msgstr "数据库名称"
 
-#: ../gui/wxpython/psmap/dialogs.py:2497
+#: ../gui/wxpython/psmap/dialogs.py:2490
 #, fuzzy
 msgid "current raster"
 msgstr "从当前区域设置"
 
-#: ../gui/wxpython/psmap/dialogs.py:2498
+#: ../gui/wxpython/psmap/dialogs.py:2491
 #, fuzzy
 msgid "select raster"
 msgstr "矢量图转换为栅格图"
 
-#: ../gui/wxpython/psmap/dialogs.py:2505 ../gui/wxpython/psmap/dialogs.py:3192
+#: ../gui/wxpython/psmap/dialogs.py:2498 ../gui/wxpython/psmap/dialogs.py:3185
 #, fuzzy, python-format
 msgid "%(rast)s: type %(type)s"
 msgstr "无法打开%s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2525
+#: ../gui/wxpython/psmap/dialogs.py:2518
 #, fuzzy
 msgid "Type of legend"
 msgstr "输入图层的名称"
 
-#: ../gui/wxpython/psmap/dialogs.py:2529
+#: ../gui/wxpython/psmap/dialogs.py:2522
 msgid "discrete legend (categorical maps)"
 msgstr "离散图例(类别地图)"
 
-#: ../gui/wxpython/psmap/dialogs.py:2531
+#: ../gui/wxpython/psmap/dialogs.py:2524
 #, fuzzy
 msgid "continuous color gradient legend (floating point map)"
 msgstr "浮点型地图需要 vals 变量!"
 
-#: ../gui/wxpython/psmap/dialogs.py:2542
+#: ../gui/wxpython/psmap/dialogs.py:2535
 #, fuzzy
 msgid "Advanced legend settings"
 msgstr "改变光线设置"
 
-#: ../gui/wxpython/psmap/dialogs.py:2546
+#: ../gui/wxpython/psmap/dialogs.py:2539
 msgid "draw \"no data\" box"
 msgstr "绘制\"no data\"框"
 
-#: ../gui/wxpython/psmap/dialogs.py:2552
+#: ../gui/wxpython/psmap/dialogs.py:2545
 msgid "draw ticks across color table"
 msgstr "在颜色表上绘制刻度"
 
-#: ../gui/wxpython/psmap/dialogs.py:2563
-#: ../gui/wxpython/modules/colorrules.py:887
-#: ../gui/wxpython/modules/colorrules.py:1509
-#: ../gui/wxpython/modules/colorrules.py:1512
+#: ../gui/wxpython/psmap/dialogs.py:2556
+#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1519
 #, fuzzy
 msgid "range"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/psmap/dialogs.py:2600
+#: ../gui/wxpython/psmap/dialogs.py:2593
 #, fuzzy
 msgid "Vector legend"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/psmap/dialogs.py:2604
+#: ../gui/wxpython/psmap/dialogs.py:2597
 msgid "Show vector legend"
 msgstr "显示矢量图例"
 
-#: ../gui/wxpython/psmap/dialogs.py:2610
+#: ../gui/wxpython/psmap/dialogs.py:2603
 #, fuzzy
 msgid "Source vector maps"
 msgstr "写入 %s ... "
 
-#: ../gui/wxpython/psmap/dialogs.py:2614
+#: ../gui/wxpython/psmap/dialogs.py:2607
 #, fuzzy
 msgid "Choose vector maps and their order in legend"
 msgstr "无法打开矢量文件<%s>在<%s>中"
 
-#: ../gui/wxpython/psmap/dialogs.py:2618 ../gui/wxpython/nviz/tools.py:1180
-#: ../gui/wxpython/lmgr/layertree.py:804 ../gui/wxpython/menustrings.py:1998
+#: ../gui/wxpython/psmap/dialogs.py:2611 ../gui/wxpython/nviz/tools.py:1181
+#: ../gui/wxpython/lmgr/layertree.py:807 ../gui/wxpython/menustrings.py:2000
 msgid "Vector map"
 msgstr "矢量地图"
 
-#: ../gui/wxpython/psmap/dialogs.py:2638 ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2631 ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit label"
 msgstr "编辑标注"
 
-#: ../gui/wxpython/psmap/dialogs.py:2660
+#: ../gui/wxpython/psmap/dialogs.py:2653
 msgid "draw border around legend"
 msgstr "绘制图例边框"
 
-#: ../gui/wxpython/psmap/dialogs.py:2697
+#: ../gui/wxpython/psmap/dialogs.py:2690
 #, fuzzy
 msgid "Size and position"
 msgstr "保存并关闭"
 
-#: ../gui/wxpython/psmap/dialogs.py:2707 ../gui/wxpython/psmap/dialogs.py:3248
-#: ../gui/wxpython/psmap/dialogs.py:3443 ../gui/wxpython/psmap/dialogs.py:3817
-#: ../gui/wxpython/psmap/dialogs.py:3821 ../gui/wxpython/psmap/dialogs.py:4223
-#: ../gui/wxpython/psmap/dialogs.py:4228 ../gui/wxpython/psmap/dialogs.py:4681
-#: ../gui/wxpython/psmap/dialogs.py:4686 ../gui/wxpython/nviz/tools.py:860
-#: ../gui/wxpython/nviz/tools.py:1681
+#: ../gui/wxpython/psmap/dialogs.py:2700 ../gui/wxpython/psmap/dialogs.py:3241
+#: ../gui/wxpython/psmap/dialogs.py:3436 ../gui/wxpython/psmap/dialogs.py:3810
+#: ../gui/wxpython/psmap/dialogs.py:3814 ../gui/wxpython/psmap/dialogs.py:4216
+#: ../gui/wxpython/psmap/dialogs.py:4221 ../gui/wxpython/psmap/dialogs.py:4674
+#: ../gui/wxpython/psmap/dialogs.py:4679 ../gui/wxpython/nviz/tools.py:861
+#: ../gui/wxpython/nviz/tools.py:1682
 #, fuzzy
 msgid "Position"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:2731
+#: ../gui/wxpython/psmap/dialogs.py:2724
 msgid "Leave the edit field empty, to use default values."
 msgstr "不填写编辑字段,系统将使用默认值。"
 
-#: ../gui/wxpython/psmap/dialogs.py:2753
+#: ../gui/wxpython/psmap/dialogs.py:2746
 msgid ""
 "Width of the color symbol (for lines)\n"
 "in front of the legend text"
@@ -3998,17 +4009,17 @@ msgstr ""
 "线条颜色符号宽度 \n"
 "显示于图例文字前"
 
-#: ../gui/wxpython/psmap/dialogs.py:2759 ../gui/wxpython/psmap/dialogs.py:2864
+#: ../gui/wxpython/psmap/dialogs.py:2752 ../gui/wxpython/psmap/dialogs.py:2857
 #, fuzzy
 msgid "Columns:"
 msgstr "列名"
 
-#: ../gui/wxpython/psmap/dialogs.py:2763
+#: ../gui/wxpython/psmap/dialogs.py:2756
 #, fuzzy
 msgid "column span:"
 msgstr "x 字段的名称"
 
-#: ../gui/wxpython/psmap/dialogs.py:2765
+#: ../gui/wxpython/psmap/dialogs.py:2758
 msgid ""
 "Column separation distance between the left edges\n"
 "of two columns in a multicolumn legend"
@@ -4016,41 +4027,41 @@ msgstr ""
 "列间距(左边缘到左边缘)\n"
 "多列图例中的两个列"
 
-#: ../gui/wxpython/psmap/dialogs.py:2947
+#: ../gui/wxpython/psmap/dialogs.py:2940
 msgid "Edit legend label:"
 msgstr "编辑图例标签:"
 
-#: ../gui/wxpython/psmap/dialogs.py:2988
+#: ../gui/wxpython/psmap/dialogs.py:2981
 #, fuzzy
 msgid "No raster map selected!"
 msgstr "没有指定数据地图"
 
-#: ../gui/wxpython/psmap/dialogs.py:2989
+#: ../gui/wxpython/psmap/dialogs.py:2982
 #, fuzzy
 msgid "No raster"
 msgstr "基础栅格图"
 
-#: ../gui/wxpython/psmap/dialogs.py:3223
+#: ../gui/wxpython/psmap/dialogs.py:3216
 #, fuzzy
 msgid "Mapinfo settings"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:3285
+#: ../gui/wxpython/psmap/dialogs.py:3278
 #, fuzzy
 msgid "Color settings"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:3290
+#: ../gui/wxpython/psmap/dialogs.py:3283
 #, fuzzy
 msgid "use border color:"
 msgstr "边框颜色"
 
-#: ../gui/wxpython/psmap/dialogs.py:3291
+#: ../gui/wxpython/psmap/dialogs.py:3284
 #, fuzzy
 msgid "use background color:"
 msgstr "\t背景颜色"
 
-#: ../gui/wxpython/psmap/dialogs.py:3432
+#: ../gui/wxpython/psmap/dialogs.py:3425
 msgid ""
 "Units of current projection are not supported,\n"
 " meters will be used!"
@@ -4058,159 +4069,159 @@ msgstr ""
 "当前投影不支持该单位,\n"
 "将使用米作为单位!"
 
-#: ../gui/wxpython/psmap/dialogs.py:3433
+#: ../gui/wxpython/psmap/dialogs.py:3426
 #, fuzzy
 msgid "Unsupported units"
 msgstr "未知的类型"
 
-#: ../gui/wxpython/psmap/dialogs.py:3477
+#: ../gui/wxpython/psmap/dialogs.py:3470
 #, fuzzy
 msgid "Length:"
 msgstr "长度:%f\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:3481
+#: ../gui/wxpython/psmap/dialogs.py:3474
 #, fuzzy
 msgid "Scalebar length is given in map units"
 msgstr "离散化错误 (地图单位)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3484
+#: ../gui/wxpython/psmap/dialogs.py:3477
 msgid "Scalebar height is real height on paper"
 msgstr "比例尺高度即为纸张上的实际高度"
 
-#: ../gui/wxpython/psmap/dialogs.py:3486
+#: ../gui/wxpython/psmap/dialogs.py:3479
 #, fuzzy
 msgid "default"
 msgstr " 默认颜色\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:3531
+#: ../gui/wxpython/psmap/dialogs.py:3524
 #, fuzzy
 msgid "Type:"
 msgstr "类型"
 
-#: ../gui/wxpython/psmap/dialogs.py:3547
+#: ../gui/wxpython/psmap/dialogs.py:3540
 #, fuzzy
 msgid "Number of segments:"
 msgstr "输入图层的名称"
 
-#: ../gui/wxpython/psmap/dialogs.py:3551
+#: ../gui/wxpython/psmap/dialogs.py:3544
 msgid "Label every "
 msgstr "标签间隔"
 
-#: ../gui/wxpython/psmap/dialogs.py:3552
+#: ../gui/wxpython/psmap/dialogs.py:3545
 #, fuzzy
 msgid "segments"
 msgstr "SQL状态"
 
-#: ../gui/wxpython/psmap/dialogs.py:3561
+#: ../gui/wxpython/psmap/dialogs.py:3554
 #, fuzzy
 msgid "transparent text background"
 msgstr "背景透明"
 
-#: ../gui/wxpython/psmap/dialogs.py:3638
+#: ../gui/wxpython/psmap/dialogs.py:3631
 #, fuzzy
 msgid "Length of scale bar is not defined"
 msgstr "%s - 未发现"
 
-#: ../gui/wxpython/psmap/dialogs.py:3707 ../gui/wxpython/psmap/dialogs.py:3712
+#: ../gui/wxpython/psmap/dialogs.py:3700 ../gui/wxpython/psmap/dialogs.py:3705
 #: ../gui/wxpython/psmap/toolbars.py:88
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2006
+#: ../gui/wxpython/menustrings.py:2008
 msgid "Text"
 msgstr "文本"
 
-#: ../gui/wxpython/psmap/dialogs.py:3715
+#: ../gui/wxpython/psmap/dialogs.py:3708
 msgid "Enter text:"
 msgstr "输入文字:"
 
-#: ../gui/wxpython/psmap/dialogs.py:3741
+#: ../gui/wxpython/psmap/dialogs.py:3734
 #, fuzzy
 msgid "Text effects"
 msgstr "纹理特征"
 
-#: ../gui/wxpython/psmap/dialogs.py:3746
+#: ../gui/wxpython/psmap/dialogs.py:3739
 #, fuzzy
 msgid "text background"
 msgstr "  背景"
 
-#: ../gui/wxpython/psmap/dialogs.py:3749
+#: ../gui/wxpython/psmap/dialogs.py:3742
 #, fuzzy
 msgid "highlight"
 msgstr "高亮"
 
-#: ../gui/wxpython/psmap/dialogs.py:3754
+#: ../gui/wxpython/psmap/dialogs.py:3747
 msgid "text border"
 msgstr "文字边缘"
 
-#: ../gui/wxpython/psmap/dialogs.py:3829
+#: ../gui/wxpython/psmap/dialogs.py:3822
 msgid "Offset"
 msgstr "偏移量"
 
-#: ../gui/wxpython/psmap/dialogs.py:3832
+#: ../gui/wxpython/psmap/dialogs.py:3825
 msgid "horizontal (pts):"
 msgstr "水平(pts):"
 
-#: ../gui/wxpython/psmap/dialogs.py:3833
+#: ../gui/wxpython/psmap/dialogs.py:3826
 #, fuzzy
 msgid "vertical (pts):"
 msgstr "垂直比例"
 
-#: ../gui/wxpython/psmap/dialogs.py:3846
+#: ../gui/wxpython/psmap/dialogs.py:3839
 #, fuzzy
 msgid " Reference point"
 msgstr "左:创建新点"
 
-#: ../gui/wxpython/psmap/dialogs.py:3874
+#: ../gui/wxpython/psmap/dialogs.py:3867
 #, fuzzy
 msgid "Text rotation"
 msgstr "选项设置"
 
-#: ../gui/wxpython/psmap/dialogs.py:3877
+#: ../gui/wxpython/psmap/dialogs.py:3870
 #, fuzzy
 msgid "rotate text (counterclockwise)"
 msgstr "各向异性角度 (度,从东开始逆时针方向计算)"
 
-#: ../gui/wxpython/psmap/dialogs.py:3953
+#: ../gui/wxpython/psmap/dialogs.py:3946
 msgid "No text entered!"
 msgstr "尚未输入文字!"
 
-#: ../gui/wxpython/psmap/dialogs.py:4063 ../gui/wxpython/psmap/dialogs.py:4111
+#: ../gui/wxpython/psmap/dialogs.py:4056 ../gui/wxpython/psmap/dialogs.py:4104
 #: ../gui/wxpython/psmap/toolbars.py:96
 #: ../gui/wxpython/animation/dialogs.py:1194
-#: ../gui/wxpython/menustrings.py:2008
+#: ../gui/wxpython/menustrings.py:2010
 #, fuzzy
 msgid "Image"
 msgstr "输入文件"
 
-#: ../gui/wxpython/psmap/dialogs.py:4121 ../gui/wxpython/nviz/tools.py:481
+#: ../gui/wxpython/psmap/dialogs.py:4114 ../gui/wxpython/nviz/tools.py:482
 #, fuzzy
 msgid "Choose a directory:"
 msgstr "选择GIS数据目录:"
 
-#: ../gui/wxpython/psmap/dialogs.py:4122
+#: ../gui/wxpython/psmap/dialogs.py:4115
 #, fuzzy
 msgid "Choose a directory with images"
 msgstr "新GIS数据目录"
 
-#: ../gui/wxpython/psmap/dialogs.py:4154
+#: ../gui/wxpython/psmap/dialogs.py:4147
 #, fuzzy
 msgid "Note: only EPS format supported"
 msgstr "列的类型不支持"
 
-#: ../gui/wxpython/psmap/dialogs.py:4163
+#: ../gui/wxpython/psmap/dialogs.py:4156
 #, fuzzy
 msgid "Scale And Rotation"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:4194 ../gui/wxpython/psmap/dialogs.py:4656
+#: ../gui/wxpython/psmap/dialogs.py:4187 ../gui/wxpython/psmap/dialogs.py:4649
 #, fuzzy
 msgid "Rotation angle (deg):"
 msgstr "各向异性角度(单位:度)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4203 ../gui/wxpython/psmap/dialogs.py:4665
+#: ../gui/wxpython/psmap/dialogs.py:4196 ../gui/wxpython/psmap/dialogs.py:4658
 msgid "Counterclockwise rotation in degrees"
 msgstr "逆时针旋转度数"
 
-#: ../gui/wxpython/psmap/dialogs.py:4301
+#: ../gui/wxpython/psmap/dialogs.py:4294
 msgid ""
 "PIL\n"
 "missing"
@@ -4218,113 +4229,113 @@ msgstr ""
 "PIL\n"
 "没有找到"
 
-#: ../gui/wxpython/psmap/dialogs.py:4321
+#: ../gui/wxpython/psmap/dialogs.py:4314
 #, fuzzy, python-format
 msgid "Unable to read file %s"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:4380
+#: ../gui/wxpython/psmap/dialogs.py:4373
 #, python-format
 msgid "size: %(width)s x %(height)s pts"
 msgstr "大小:%(width)s x %(height)s pts"
 
-#: ../gui/wxpython/psmap/dialogs.py:4402
+#: ../gui/wxpython/psmap/dialogs.py:4395
 #, fuzzy
 msgid "No image selected."
 msgstr "没有选中的图层"
 
-#: ../gui/wxpython/psmap/dialogs.py:4496 ../gui/wxpython/psmap/toolbars.py:98
-#: ../gui/wxpython/nviz/tools.py:1951 ../gui/wxpython/menustrings.py:2010
+#: ../gui/wxpython/psmap/dialogs.py:4489 ../gui/wxpython/psmap/toolbars.py:98
+#: ../gui/wxpython/nviz/tools.py:1952 ../gui/wxpython/menustrings.py:2012
 msgid "North Arrow"
 msgstr "指北针"
 
-#: ../gui/wxpython/psmap/dialogs.py:4499
+#: ../gui/wxpython/psmap/dialogs.py:4492
 #, fuzzy
 msgid "North Arrow settings"
 msgstr "显示设置"
 
-#: ../gui/wxpython/psmap/dialogs.py:4510
+#: ../gui/wxpython/psmap/dialogs.py:4503
 msgid "Compute convergence"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4528 ../gui/wxpython/psmap/toolbars.py:100
+#: ../gui/wxpython/psmap/dialogs.py:4521 ../gui/wxpython/psmap/toolbars.py:100
 #: ../gui/wxpython/vdigit/preferences.py:538
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Point"
 msgstr "点"
 
-#: ../gui/wxpython/psmap/dialogs.py:4566
+#: ../gui/wxpython/psmap/dialogs.py:4559
 #, fuzzy
 msgid "Symbol"
 msgstr "读取 %s ..."
 
-#: ../gui/wxpython/psmap/dialogs.py:4571
+#: ../gui/wxpython/psmap/dialogs.py:4564
 #, fuzzy
 msgid "Select symbol:"
 msgstr "选择颜色"
 
-#: ../gui/wxpython/psmap/dialogs.py:4585
+#: ../gui/wxpython/psmap/dialogs.py:4578
 msgid ""
 "Note: Selected symbol is not displayed\n"
 "in draft mode (only in preview mode)"
 msgstr ""
 
-#: ../gui/wxpython/psmap/dialogs.py:4604 ../gui/wxpython/psmap/dialogs.py:4858
+#: ../gui/wxpython/psmap/dialogs.py:4597 ../gui/wxpython/psmap/dialogs.py:4851
 #, fuzzy
 msgid "Outline color:"
 msgstr " nv color\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:4606 ../gui/wxpython/psmap/dialogs.py:4621
-#: ../gui/wxpython/psmap/dialogs.py:4860 ../gui/wxpython/psmap/dialogs.py:4881
-#: ../gui/wxpython/gui_core/dialogs.py:2311
+#: ../gui/wxpython/psmap/dialogs.py:4599 ../gui/wxpython/psmap/dialogs.py:4614
+#: ../gui/wxpython/psmap/dialogs.py:4853 ../gui/wxpython/psmap/dialogs.py:4874
+#: ../gui/wxpython/gui_core/dialogs.py:1621
 msgid "transparent"
 msgstr "透明"
 
-#: ../gui/wxpython/psmap/dialogs.py:4619 ../gui/wxpython/psmap/dialogs.py:4879
+#: ../gui/wxpython/psmap/dialogs.py:4612 ../gui/wxpython/psmap/dialogs.py:4872
 #, fuzzy
 msgid "Fill color:"
 msgstr " nv color\n"
 
-#: ../gui/wxpython/psmap/dialogs.py:4642
+#: ../gui/wxpython/psmap/dialogs.py:4635
 #, fuzzy
 msgid "Size and Rotation"
 msgstr "保存并关闭"
 
-#: ../gui/wxpython/psmap/dialogs.py:4647
+#: ../gui/wxpython/psmap/dialogs.py:4640
 #, fuzzy
 msgid "Size (pt):"
 msgstr "设定线宽(像素)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4649
+#: ../gui/wxpython/psmap/dialogs.py:4642
 #, fuzzy
 msgid "Symbol size in points"
 msgstr "标签大小 (点)"
 
-#: ../gui/wxpython/psmap/dialogs.py:4823
+#: ../gui/wxpython/psmap/dialogs.py:4816
 #, fuzzy
 msgid "Rectangle settings"
 msgstr "改变区域设置"
 
-#: ../gui/wxpython/psmap/dialogs.py:4825
+#: ../gui/wxpython/psmap/dialogs.py:4818
 #, fuzzy
 msgid "Line settings"
 msgstr "改变区域设置"
 
-#: ../gui/wxpython/psmap/dialogs.py:4911
+#: ../gui/wxpython/psmap/dialogs.py:4904
 msgid "Line width in points"
 msgstr "线条宽度(点数):"
 
-#: ../gui/wxpython/psmap/dialogs.py:4979
+#: ../gui/wxpython/psmap/dialogs.py:4972
 #, fuzzy
 msgid "Vector labels"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/psmap/dialogs.py:4998
+#: ../gui/wxpython/psmap/dialogs.py:4991
 #, fuzzy
 msgid "Vector label files created beforehand by v.label module"
 msgstr "无法创建 %s"
 
-#: ../gui/wxpython/psmap/dialogs.py:5006
+#: ../gui/wxpython/psmap/dialogs.py:4999
 msgid "You can select multiple label files."
 msgstr ""
 
@@ -4468,97 +4479,97 @@ msgstr "点击并拖动以改变大小"
 msgid "labels: "
 msgstr "标签:"
 
-#: ../gui/wxpython/psmap/instructions.py:133
+#: ../gui/wxpython/psmap/instructions.py:134
 #, fuzzy, python-format
 msgid ""
 "Unable to open file\n"
 "%s"
 msgstr "无法打开输出文件 <%s>"
 
-#: ../gui/wxpython/psmap/instructions.py:467
+#: ../gui/wxpython/psmap/instructions.py:468
 #, python-format
 msgid "Instruction file will be loaded with following region: %s\n"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:472
+#: ../gui/wxpython/psmap/instructions.py:473
 #, fuzzy, python-format
 msgid ""
 "Region cannot be set\n"
 "%s"
 msgstr "当前范围不能设置。"
 
-#: ../gui/wxpython/psmap/instructions.py:611
-#: ../gui/wxpython/psmap/instructions.py:761
-#: ../gui/wxpython/psmap/instructions.py:877
-#: ../gui/wxpython/psmap/instructions.py:935
-#: ../gui/wxpython/psmap/instructions.py:1076
-#: ../gui/wxpython/psmap/instructions.py:1131
-#: ../gui/wxpython/psmap/instructions.py:1190
-#: ../gui/wxpython/psmap/instructions.py:1259
-#: ../gui/wxpython/psmap/instructions.py:1365
-#: ../gui/wxpython/psmap/instructions.py:1490
-#: ../gui/wxpython/psmap/instructions.py:1541
-#: ../gui/wxpython/psmap/instructions.py:1850
+#: ../gui/wxpython/psmap/instructions.py:612
+#: ../gui/wxpython/psmap/instructions.py:762
+#: ../gui/wxpython/psmap/instructions.py:878
+#: ../gui/wxpython/psmap/instructions.py:936
+#: ../gui/wxpython/psmap/instructions.py:1077
+#: ../gui/wxpython/psmap/instructions.py:1132
+#: ../gui/wxpython/psmap/instructions.py:1191
+#: ../gui/wxpython/psmap/instructions.py:1260
+#: ../gui/wxpython/psmap/instructions.py:1366
+#: ../gui/wxpython/psmap/instructions.py:1491
+#: ../gui/wxpython/psmap/instructions.py:1542
+#: ../gui/wxpython/psmap/instructions.py:1851
 #, fuzzy, python-format
 msgid "Failed to read instruction %s"
 msgstr "无法读取行 %i\n"
 
-#: ../gui/wxpython/psmap/instructions.py:625
+#: ../gui/wxpython/psmap/instructions.py:626
 #, python-format
 msgid ""
 "Scale has changed, old value: %(old)s\n"
 "new value: %(new)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:628
+#: ../gui/wxpython/psmap/instructions.py:629
 #, python-format
 msgid ""
 "Failed to read instruction %s.\n"
 "Use 1:25000 notation."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:636
+#: ../gui/wxpython/psmap/instructions.py:637
 #, python-format
 msgid ""
 "Map frame position changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:644
+#: ../gui/wxpython/psmap/instructions.py:645
 #, python-format
 msgid ""
 "Map frame size changed, old value: %(old1)s %(old2)s\n"
 "new value: %(new1)s %(new2)s"
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:691
+#: ../gui/wxpython/psmap/instructions.py:692
 #, fuzzy, python-format
 msgid ""
 "Failed to read instruction %(file)s.\n"
 "Unknown format %(for)s"
 msgstr "无法读取行 %i\n"
 
-#: ../gui/wxpython/psmap/instructions.py:704
+#: ../gui/wxpython/psmap/instructions.py:705
 #, fuzzy, python-format
 msgid "Failed to read instruction %s."
 msgstr "无法读取行 %i\n"
 
-#: ../gui/wxpython/psmap/instructions.py:818
-#: ../gui/wxpython/psmap/instructions.py:1700
+#: ../gui/wxpython/psmap/instructions.py:819
+#: ../gui/wxpython/psmap/instructions.py:1701
 #, python-format
 msgid ""
 "Characters on position %s are not supported by ISO-8859-1 (Latin 1) encoding "
 "which is required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:822
-#: ../gui/wxpython/psmap/instructions.py:1704
+#: ../gui/wxpython/psmap/instructions.py:823
+#: ../gui/wxpython/psmap/instructions.py:1705
 msgid ""
 "Not all characters are supported by ISO-8859-1 (Latin 1) encoding which is "
 "required by module ps.map."
 msgstr ""
 
-#: ../gui/wxpython/psmap/instructions.py:938
+#: ../gui/wxpython/psmap/instructions.py:939
 #, fuzzy, python-format
 msgid "Failed to read instruction %(inst)s: file %(file)s not found."
 msgstr "无法读取行 %i\n"
@@ -4619,29 +4630,29 @@ msgstr "参数:"
 msgid "degree"
 msgstr "度数"
 
-#: ../gui/wxpython/psmap/utils.py:351
+#: ../gui/wxpython/psmap/utils.py:342
 #, fuzzy
 msgid "Unable to run `ps.map -b`"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1984
+#: ../gui/wxpython/psmap/toolbars.py:65 ../gui/wxpython/menustrings.py:1986
 msgid "Generate text file with mapping instructions"
 msgstr "使用地图绘制指令生成文本文件"
 
-#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1982
+#: ../gui/wxpython/psmap/toolbars.py:67 ../gui/wxpython/menustrings.py:1984
 msgid "Load text file with mapping instructions"
 msgstr "使用地图绘制指令载入文本文件"
 
-#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1986
+#: ../gui/wxpython/psmap/toolbars.py:69 ../gui/wxpython/menustrings.py:1988
 #, fuzzy
 msgid "Generate PostScript output"
 msgstr "PostScript 输出文件"
 
-#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1988
+#: ../gui/wxpython/psmap/toolbars.py:71 ../gui/wxpython/menustrings.py:1990
 msgid "Generate PDF output"
 msgstr "生成PDF输出"
 
-#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1980
+#: ../gui/wxpython/psmap/toolbars.py:74 ../gui/wxpython/menustrings.py:1982
 msgid "Specify paper size, margins and orientation"
 msgstr "设定纸张大小,边框和模式"
 
@@ -4658,7 +4669,7 @@ msgstr "缩放到全图范围"
 msgid "Click and drag to place map frame"
 msgstr "点击并拖动到合适位置放置地图框架"
 
-#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2013
+#: ../gui/wxpython/psmap/toolbars.py:82 ../gui/wxpython/menustrings.py:2015
 #, fuzzy
 msgid "Delete selected object"
 msgstr "删除选定地点"
@@ -4672,13 +4683,13 @@ msgstr "查看模型属性"
 msgid "Quit Cartographic Composer"
 msgstr "退出地图绘制"
 
-#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2002
+#: ../gui/wxpython/psmap/toolbars.py:90 ../gui/wxpython/menustrings.py:2004
 #, fuzzy
 msgid "Map info"
 msgstr "添加地图元素"
 
-#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1996
-#: ../gui/wxpython/menustrings.py:2004
+#: ../gui/wxpython/psmap/toolbars.py:94 ../gui/wxpython/nviz/tools.py:1997
+#: ../gui/wxpython/menustrings.py:2006
 #, fuzzy
 msgid "Scale bar"
 msgstr "添加格网值图层"
@@ -4735,22 +4746,27 @@ msgstr ""
 "打印时出现问题。\n"
 "可能是您的打印机设置不正确?"
 
-#: ../gui/wxpython/mapdisp/main.py:143
+#: ../gui/wxpython/mapdisp/main.py:163
 #, fuzzy, python-format
 msgid "Unsupported command %s."
 msgstr "未知的类型"
 
-#: ../gui/wxpython/mapdisp/main.py:205
+#: ../gui/wxpython/mapdisp/main.py:238
 #, fuzzy, python-format
 msgid "Unable to read cmdfile '%(cmd)s'. Details: %(det)s"
 msgstr "无法创建文件 [%s]"
 
-#: ../gui/wxpython/mapdisp/main.py:448
+#: ../gui/wxpython/mapdisp/main.py:526
 #, fuzzy, python-format
 msgid "Starting map display <%s>..."
 msgstr "创建新地图"
 
-#: ../gui/wxpython/mapdisp/main.py:459
+#: ../gui/wxpython/mapdisp/main.py:532
+#, fuzzy, python-format
+msgid "Unable to create file <%s>"
+msgstr "无法创建栅格地图 %s"
+
+#: ../gui/wxpython/mapdisp/main.py:548
 #, fuzzy, python-format
 msgid "Stopping map display <%s>..."
 msgstr "非法的输出文件名"
@@ -4786,42 +4802,43 @@ msgstr "地图窗口rli设置测试框架"
 msgid "Unknown value %s of test parameter."
 msgstr "测试参数%s的值未知。"
 
-#: ../gui/wxpython/mapdisp/frame.py:68
+#: ../gui/wxpython/mapdisp/frame.py:69
 msgid "GRASS GIS - Map display"
 msgstr "GRASS GIS - 地图显示"
 
-#: ../gui/wxpython/mapdisp/frame.py:249 ../gui/wxpython/lmgr/frame.py:95
-#: ../gui/wxpython/lmgr/frame.py:1070 ../gui/wxpython/gui_core/ghelp.py:100
+#: ../gui/wxpython/mapdisp/frame.py:259 ../gui/wxpython/lmgr/frame.py:96
+#: ../gui/wxpython/lmgr/frame.py:1079 ../gui/wxpython/gui_core/ghelp.py:100
 #: ../gui/wxpython/gui_core/ghelp.py:810
 #, fuzzy
 msgid "Unable to get GRASS version\n"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:253
+#: ../gui/wxpython/mapdisp/frame.py:263
 #, python-format
 msgid ""
 "GRASS GIS %(version)s Map Display: %(id)s  - Location: %(loc)s@%(mapset)s"
 msgstr "GRASS GIS %(version)s 地图显示: %(id)s  - 地图: %(loc)s@%(mapset)s"
 
-#: ../gui/wxpython/mapdisp/frame.py:270 ../gui/wxpython/mapdisp/frame.py:329
-#: ../gui/wxpython/mapdisp/frame.py:510 ../gui/wxpython/mapdisp/toolbars.py:82
-#: ../gui/wxpython/animation/data.py:44 ../gui/wxpython/lmgr/layertree.py:906
+#: ../gui/wxpython/mapdisp/frame.py:280 ../gui/wxpython/mapdisp/frame.py:340
+#: ../gui/wxpython/mapdisp/toolbars.py:86
+#: ../gui/wxpython/mapdisp/toolbars.py:289 ../gui/wxpython/animation/data.py:44
+#: ../gui/wxpython/lmgr/layertree.py:909
 msgid "2D view"
 msgstr "2D视图"
 
-#: ../gui/wxpython/mapdisp/frame.py:272 ../gui/wxpython/lmgr/layertree.py:908
+#: ../gui/wxpython/mapdisp/frame.py:282 ../gui/wxpython/lmgr/layertree.py:911
 #, fuzzy, python-format
 msgid ""
 "Unable to start wxGUI vector digitizer.\n"
 "Details: %s"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/mapdisp/frame.py:310
+#: ../gui/wxpython/mapdisp/frame.py:321
 #, fuzzy
 msgid "Vector Digitizer Toolbar"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/mapdisp/frame.py:331
+#: ../gui/wxpython/mapdisp/frame.py:342
 #, python-format
 msgid ""
 "Unable to switch to 3D display mode.\n"
@@ -4831,159 +4848,172 @@ msgid ""
 "Details: %s"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:357
+#: ../gui/wxpython/mapdisp/frame.py:367
 #, fuzzy
 msgid "Starting 3D view mode..."
 msgstr "写入新文件...\n"
 
-#: ../gui/wxpython/mapdisp/frame.py:358
+#: ../gui/wxpython/mapdisp/frame.py:368
 msgid "Please wait, loading data..."
 msgstr "数据装载中,请稍候..."
 
-#: ../gui/wxpython/mapdisp/frame.py:430
+#: ../gui/wxpython/mapdisp/frame.py:440
 #, fuzzy
 msgid "Please wait, unloading data..."
 msgstr "请稍候,属性数据加载中..."
 
-#: ../gui/wxpython/mapdisp/frame.py:432
+#: ../gui/wxpython/mapdisp/frame.py:442
 #, fuzzy
 msgid "Switching back to 2D view mode..."
 msgstr "切换到2D显示模式"
 
-#: ../gui/wxpython/mapdisp/frame.py:473
+#: ../gui/wxpython/mapdisp/frame.py:484
 #: ../gui/wxpython/rlisetup/sampling_frame.py:99
-#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:294
+#: ../gui/wxpython/mapswipe/frame.py:272 ../gui/wxpython/iclass/frame.py:295
 #: ../gui/wxpython/gcp/mapdisplay.py:248
 msgid "Map Toolbar"
 msgstr "地图工具栏"
 
-#: ../gui/wxpython/mapdisp/frame.py:482 ../gui/wxpython/mapdisp/toolbars.py:99
-msgid "Digitize"
-msgstr "数字化"
+#: ../gui/wxpython/mapdisp/frame.py:493 ../gui/wxpython/mapdisp/toolbars.py:105
+#: ../gui/wxpython/vdigit/toolbars.py:916
+#, fuzzy
+msgid "Vector digitizer"
+msgstr "矢量地图 %s - 未发现"
+
+#: ../gui/wxpython/mapdisp/frame.py:572 ../gui/wxpython/lmgr/frame.py:2288
+#: ../gui/wxpython/gui_core/vselect.py:260
+#, fuzzy
+msgid "No map layer selected. Operation canceled."
+msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/mapdisp/frame.py:658
+#: ../gui/wxpython/mapdisp/frame.py:688
 msgid "d.to.rast can be used only in 2D mode."
 msgstr "d.to.rast仅可在二维模式下使用。"
 
-#: ../gui/wxpython/mapdisp/frame.py:682 ../gui/wxpython/mapdisp/frame.py:690
-#: ../gui/wxpython/mapdisp/frame.py:701
+#: ../gui/wxpython/mapdisp/frame.py:712 ../gui/wxpython/mapdisp/frame.py:720
+#: ../gui/wxpython/mapdisp/frame.py:731
 msgid "Failed to run d.to.rast:\n"
 msgstr "运行d.to.rast失败:\n"
 
-#: ../gui/wxpython/mapdisp/frame.py:734 ../gui/wxpython/mapswipe/frame.py:518
+#: ../gui/wxpython/mapdisp/frame.py:764 ../gui/wxpython/mapswipe/frame.py:518
 #: ../gui/wxpython/gcp/mapdisplay.py:368
 msgid "Nothing to render (empty map). Operation canceled."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:817
+#: ../gui/wxpython/mapdisp/frame.py:849
 #, fuzzy, python-format
 msgid "Vector map <%s> opened for editing - skipped."
 msgstr "输入的 2D 矢量地图的名称"
 
-#: ../gui/wxpython/mapdisp/frame.py:823 ../gui/wxpython/mapswipe/frame.py:630
+#: ../gui/wxpython/mapdisp/frame.py:855 ../gui/wxpython/mapswipe/frame.py:630
 msgid "No raster or vector map layer selected for querying."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:878
+#: ../gui/wxpython/mapdisp/frame.py:910
 #, python-brace-format
 msgid ""
 "Failed to query vector map(s) <{maps}>. Check database settings and topology."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/frame.py:1253 ../gui/wxpython/mapdisp/toolbars.py:49
+#: ../gui/wxpython/mapdisp/frame.py:1294 ../gui/wxpython/mapdisp/toolbars.py:52
 msgid "Add text layer"
 msgstr "添加文本层"
 
-#: ../gui/wxpython/mapdisp/frame.py:1354 ../gui/wxpython/gcp/mapdisplay.py:463
+#: ../gui/wxpython/mapdisp/frame.py:1395 ../gui/wxpython/gcp/mapdisplay.py:463
 msgid "Zoom to default region"
 msgstr "缩放到默认区域"
 
-#: ../gui/wxpython/mapdisp/frame.py:1355 ../gui/wxpython/gcp/mapdisplay.py:467
+#: ../gui/wxpython/mapdisp/frame.py:1396 ../gui/wxpython/gcp/mapdisplay.py:467
 msgid "Zoom to saved region"
 msgstr "缩放到保存的区域"
 
-#: ../gui/wxpython/mapdisp/frame.py:1357
+#: ../gui/wxpython/mapdisp/frame.py:1398
 #, fuzzy
 msgid "Set computational region extent from display"
 msgstr "从指定的区域设置当前区域"
 
-#: ../gui/wxpython/mapdisp/frame.py:1358
+#: ../gui/wxpython/mapdisp/frame.py:1399
 #, fuzzy
 msgid "Set computational region extent interactively"
 msgstr "从指定的区域设置当前区域"
 
-#: ../gui/wxpython/mapdisp/frame.py:1359
+#: ../gui/wxpython/mapdisp/frame.py:1400
 #, fuzzy
 msgid "Set computational region from named region"
 msgstr "从指定的区域设置当前区域"
 
-#: ../gui/wxpython/mapdisp/frame.py:1361 ../gui/wxpython/gcp/mapdisplay.py:475
+#: ../gui/wxpython/mapdisp/frame.py:1402 ../gui/wxpython/gcp/mapdisplay.py:475
 msgid "Save display geometry to named region"
 msgstr "将显示范围保存到已命名的区域"
 
-#: ../gui/wxpython/mapdisp/frame.py:1362
+#: ../gui/wxpython/mapdisp/frame.py:1403
 #, fuzzy
 msgid "Save computational region to named region"
 msgstr "从指定的区域设置当前区域"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:402
+#: ../gui/wxpython/mapdisp/frame.py:1523
+#, fuzzy
+msgid "Raster Digitizer Toolbar"
+msgstr "矢量地图 %s - 未发现"
+
+#: ../gui/wxpython/mapdisp/statusbar.py:410
 msgid "Render"
 msgstr "渲染"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:406
+#: ../gui/wxpython/mapdisp/statusbar.py:414
 msgid "Enable/disable auto-rendering"
 msgstr "激活/禁用自动渲染"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:436
+#: ../gui/wxpython/mapdisp/statusbar.py:444
 msgid "Show comp. extent"
 msgstr "显示计算范围"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:440
+#: ../gui/wxpython/mapdisp/statusbar.py:448
 msgid "Show computational extent"
 msgstr "显示计算范围"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:443
+#: ../gui/wxpython/mapdisp/statusbar.py:451
 msgid ""
 "Show/hide computational region extent (set with g.region). Display region "
 "drawn as a blue box inside the computational region, computational region "
 "inside a display region as a red box)."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:492
+#: ../gui/wxpython/mapdisp/statusbar.py:500
 msgid "Display mode"
 msgstr "显示模式"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:496
+#: ../gui/wxpython/mapdisp/statusbar.py:504
 #: ../gui/wxpython/gui_core/preferences.py:671
 msgid "Align region extent based on display size"
 msgstr "根据显示区大小对齐区域范围"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:499
+#: ../gui/wxpython/mapdisp/statusbar.py:507
 msgid ""
 "Align region extent based on display size from center point. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:532
+#: ../gui/wxpython/mapdisp/statusbar.py:540
 msgid "Display resolution"
 msgstr "显示分辨率"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:535
+#: ../gui/wxpython/mapdisp/statusbar.py:543
 #: ../gui/wxpython/gui_core/preferences.py:684
 msgid "Constrain display resolution to computational settings"
 msgstr "根据计算性能设置显示分辨率"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:538
+#: ../gui/wxpython/mapdisp/statusbar.py:546
 msgid ""
 "Constrain display resolution to computational region settings. Default value "
 "for new map displays can be set up in 'User GUI settings' dialog."
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:575
+#: ../gui/wxpython/mapdisp/statusbar.py:583
 msgid "Map scale"
 msgstr "地图比例"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:589
+#: ../gui/wxpython/mapdisp/statusbar.py:597
 msgid ""
 "As everyone's monitors and resolutions are set differently these values are "
 "not true map scales, but should get you into the right neighborhood."
@@ -4991,58 +5021,58 @@ msgstr ""
 "由于不同显示器的分辨率有差异,这些值并非真实的地图比例,但该值应该能够显示合"
 "适的区域。"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:642
+#: ../gui/wxpython/mapdisp/statusbar.py:650
 msgid "Go to"
 msgstr "转到"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:663
-#: ../gui/wxpython/mapdisp/statusbar.py:727
-#: ../gui/wxpython/mapdisp/statusbar.py:934
-#: ../gui/wxpython/mapdisp/statusbar.py:1001
+#: ../gui/wxpython/mapdisp/statusbar.py:671
+#: ../gui/wxpython/mapdisp/statusbar.py:735
+#: ../gui/wxpython/mapdisp/statusbar.py:942
+#: ../gui/wxpython/mapdisp/statusbar.py:1009
 msgid "Projection not defined (check the settings)"
 msgstr "投影未定义(检查设置)"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:741
-#: ../gui/wxpython/mapdisp/statusbar.py:947
-#: ../gui/wxpython/mapdisp/statusbar.py:1031
+#: ../gui/wxpython/mapdisp/statusbar.py:749
+#: ../gui/wxpython/mapdisp/statusbar.py:955
+#: ../gui/wxpython/mapdisp/statusbar.py:1039
 #, fuzzy
 msgid "Error in projection (check the settings)"
 msgstr "为 [%s] 读取范围时发生错误"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:773
+#: ../gui/wxpython/mapdisp/statusbar.py:781
 #: ../gui/wxpython/gui_core/preferences.py:1192
 msgid "Projection"
 msgstr "投影"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:775
+#: ../gui/wxpython/mapdisp/statusbar.py:783
 #, fuzzy
 msgid "Use defined projection"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:787
+#: ../gui/wxpython/mapdisp/statusbar.py:795
 msgid ""
 "Reproject coordinates displayed in the statusbar. Projection can be defined "
 "in GUI preferences dialog (tab 'Projection')"
 msgstr ""
 
-#: ../gui/wxpython/mapdisp/statusbar.py:812
+#: ../gui/wxpython/mapdisp/statusbar.py:820
 msgid "MASK"
 msgstr "掩码"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:856
+#: ../gui/wxpython/mapdisp/statusbar.py:864
 msgid "Display geometry"
 msgstr "显示几何形状"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:878
+#: ../gui/wxpython/mapdisp/statusbar.py:886
 msgid "Coordinates"
 msgstr "坐标"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:959
+#: ../gui/wxpython/mapdisp/statusbar.py:967
 msgid "Extent"
 msgstr "范围"
 
-#: ../gui/wxpython/mapdisp/statusbar.py:1055
-#: ../gui/wxpython/web_services/dialogs.py:805
+#: ../gui/wxpython/mapdisp/statusbar.py:1063
+#: ../gui/wxpython/web_services/dialogs.py:823
 msgid "Computational region"
 msgstr "可计算区域"
 
@@ -5058,107 +5088,117 @@ msgstr "查询选中的网格/矢量地图"
 
 #: ../gui/wxpython/mapdisp/toolbars.py:32
 #, fuzzy
+msgid "Select vector feature(s)"
+msgstr "无法打开输入的dig文件。"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:33
+#, fuzzy
+msgid "Select features interactively from vector map"
+msgstr "无法插入新行:%s"
+
+#: ../gui/wxpython/mapdisp/toolbars.py:35
+#, fuzzy
 msgid "Show/hide scale bar"
 msgstr "添加格网值图层"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:34
+#: ../gui/wxpython/mapdisp/toolbars.py:37
 #, fuzzy
 msgid "Show/hide legend"
 msgstr "将要导入的二进制栅格文件"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:36
+#: ../gui/wxpython/mapdisp/toolbars.py:39
 #, fuzzy
 msgid "Show/hide north arrow"
 msgstr "添加比例尺和指北针"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:38
+#: ../gui/wxpython/mapdisp/toolbars.py:41
 msgid "Analyze map"
 msgstr "分析地图"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:39
+#: ../gui/wxpython/mapdisp/toolbars.py:42
 msgid "Measuring, profiling, histogramming, ..."
 msgstr "测量,概括,绘制直方图,..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:41
+#: ../gui/wxpython/mapdisp/toolbars.py:44
 msgid "Measure distance"
 msgstr "测量距离"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:43
+#: ../gui/wxpython/mapdisp/toolbars.py:46
 #, fuzzy
 msgid "Measure area"
 msgstr "测量距离"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:45
+#: ../gui/wxpython/mapdisp/toolbars.py:48
 msgid "Profile surface map"
 msgstr "表面图概括"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:47
+#: ../gui/wxpython/mapdisp/toolbars.py:50
 #, fuzzy
 msgid "Create bivariate scatterplot of raster maps"
 msgstr "创建图像或栅格文件的直方图"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:51
+#: ../gui/wxpython/mapdisp/toolbars.py:54
 #, fuzzy
 msgid "Create histogram of raster map"
 msgstr "创建图像或栅格文件的直方图"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:53 ../gui/wxpython/menustrings.py:630
+#: ../gui/wxpython/mapdisp/toolbars.py:56 ../gui/wxpython/menustrings.py:630
 #: ../gui/wxpython/menustrings.py:1537
 #, fuzzy
 msgid "Vector network analysis tool"
 msgstr "网络分析"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:58
+#: ../gui/wxpython/mapdisp/toolbars.py:61
 msgid "Rotate 3D scene"
 msgstr "旋转三维场景"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:59
+#: ../gui/wxpython/mapdisp/toolbars.py:62
 #, fuzzy
 msgid "Drag with mouse to rotate 3D scene"
 msgstr "用鼠标拖动平移"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:61
+#: ../gui/wxpython/mapdisp/toolbars.py:64
 #: ../gui/wxpython/nviz/preferences.py:209
 msgid "Fly-through mode"
 msgstr "飞越模式"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:62
+#: ../gui/wxpython/mapdisp/toolbars.py:65
 msgid ""
 "Drag with mouse, hold Ctrl down for different mode or Shift to accelerate"
 msgstr "使用鼠标绘制,按键盘Ctrl键可选择模式,Shift键可加速"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:64
+#: ../gui/wxpython/mapdisp/toolbars.py:67
 #, fuzzy
 msgid "Click mouse to zoom"
 msgstr "拖动或点击鼠标放大"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:65
+#: ../gui/wxpython/mapdisp/toolbars.py:68
 #, fuzzy
 msgid "Click mouse to unzoom"
 msgstr "拖动或点击鼠标缩小"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:88 ../gui/wxpython/animation/data.py:45
-#: ../gui/wxpython/lmgr/frame.py:359
+#: ../gui/wxpython/mapdisp/toolbars.py:93 ../gui/wxpython/animation/data.py:45
+#: ../gui/wxpython/lmgr/frame.py:366
 msgid "3D view"
 msgstr "3D视图"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:93
+#: ../gui/wxpython/mapdisp/toolbars.py:99
 #, fuzzy
 msgid "3D view mode not available"
 msgstr "[%s] 的类别文件无效"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:94
-#: ../gui/wxpython/mapdisp/toolbars.py:108
+#: ../gui/wxpython/mapdisp/toolbars.py:100
+#: ../gui/wxpython/mapdisp/toolbars.py:112
 #, fuzzy, python-format
 msgid "Reason: %s"
 msgstr "读取 %s ..."
 
-#: ../gui/wxpython/mapdisp/toolbars.py:107
+#: ../gui/wxpython/mapdisp/toolbars.py:111
 #, fuzzy
 msgid "Vector digitizer not available"
 msgstr "矢量文件 [%s] 不可用"
 
-#: ../gui/wxpython/mapdisp/toolbars.py:109
+#: ../gui/wxpython/mapdisp/toolbars.py:113
 msgid ""
 "Note that the wxGUI's vector digitizer is currently disabled (hopefully this "
 "will be fixed soon). Please keep an eye out for updated versions of GRASS. "
@@ -5167,6 +5207,11 @@ msgstr ""
 "wxGUI适量数字化暂不可用(希望能尽快恢复),请随时检查GRASS更新版本。目前您可以"
 "从建立矢量地图菜单下使用\"v.digit\" 。"
 
+#: ../gui/wxpython/mapdisp/toolbars.py:119
+#, fuzzy
+msgid "Raster digitizer"
+msgstr "矢量地图 %s - 未发现"
+
 #: ../gui/wxpython/rlisetup/wizard.py:52
 #, fuzzy
 msgid "Create new configuration file for r.li modules"
@@ -5963,13 +6008,13 @@ msgstr "多个动画使用同一个窗口。请为每个动画选择不同窗口
 msgid "Export animation"
 msgstr "MPEG-1动画"
 
-#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:610
+#: ../gui/wxpython/animation/dialogs.py:760 ../gui/wxpython/nviz/tools.py:611
 #, fuzzy
 msgid "Decorations"
 msgstr "无法获取栅格行\n"
 
 #: ../gui/wxpython/animation/dialogs.py:765
-#: ../gui/wxpython/lmgr/layertree.py:584 ../gui/wxpython/menustrings.py:947
+#: ../gui/wxpython/lmgr/layertree.py:591 ../gui/wxpython/menustrings.py:947
 #: ../gui/wxpython/menustrings.py:1854
 msgid "Export"
 msgstr "导出"
@@ -5979,12 +6024,12 @@ msgstr "导出"
 msgid "Add time stamp"
 msgstr "栅格图的名称"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2011
 #, fuzzy
 msgid "Add image"
 msgstr "栅格图的名称"
 
-#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2007
+#: ../gui/wxpython/animation/dialogs.py:811 ../gui/wxpython/menustrings.py:2009
 #, fuzzy
 msgid "Add text"
 msgstr "添加顶点"
@@ -6008,7 +6053,7 @@ msgid "Sample text"
 msgstr "完成率:"
 
 #: ../gui/wxpython/animation/dialogs.py:847
-#: ../gui/wxpython/mapwin/decorations.py:369
+#: ../gui/wxpython/mapwin/decorations.py:372
 #: ../gui/wxpython/gui_core/preferences.py:394
 #: ../gui/wxpython/gui_core/preferences.py:589
 msgid "Set font"
@@ -6025,7 +6070,7 @@ msgid "Choose image file"
 msgstr "拷贝表失败"
 
 #: ../gui/wxpython/animation/dialogs.py:865
-#: ../gui/wxpython/mapwin/decorations.py:338
+#: ../gui/wxpython/mapwin/decorations.py:341
 #, fuzzy
 msgid "Text:"
 msgstr "文本"
@@ -6057,7 +6102,7 @@ msgstr "AVI"
 msgid "Export to:"
 msgstr "导出"
 
-#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:486
+#: ../gui/wxpython/animation/dialogs.py:920 ../gui/wxpython/nviz/tools.py:487
 #, fuzzy
 msgid "File prefix:"
 msgstr "要素类型"
@@ -6067,14 +6112,14 @@ msgstr "要素类型"
 msgid "animation_"
 msgstr "MPEG-1动画"
 
-#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:491
+#: ../gui/wxpython/animation/dialogs.py:922 ../gui/wxpython/nviz/tools.py:492
 #, fuzzy
 msgid "File format:"
 msgstr "OGR 格式"
 
 #: ../gui/wxpython/animation/dialogs.py:927
-#: ../gui/wxpython/gui_core/gselect.py:1400
-#: ../gui/wxpython/gui_core/gselect.py:1462
+#: ../gui/wxpython/gui_core/gselect.py:1392
+#: ../gui/wxpython/gui_core/gselect.py:1457
 #, fuzzy
 msgid "Directory:"
 msgstr "GIS数据目录:"
@@ -6220,7 +6265,7 @@ msgstr "点模式下不建立拓扑"
 msgid "Animation Tool settings"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:354
+#: ../gui/wxpython/animation/dialogs.py:1497 ../gui/wxpython/nviz/tools.py:355
 #: ../gui/wxpython/nviz/preferences.py:178
 #: ../gui/wxpython/web_services/widgets.py:263
 #: ../gui/wxpython/gui_core/preferences.py:652
@@ -6278,22 +6323,22 @@ msgstr ""
 msgid "Invalid"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/animation/provider.py:362
+#: ../gui/wxpython/animation/provider.py:363
 #, fuzzy
 msgid "Rendering map layers"
 msgstr "移除图层"
 
-#: ../gui/wxpython/animation/provider.py:458
+#: ../gui/wxpython/animation/provider.py:459
 #, fuzzy
 msgid "Overlaying map layers"
 msgstr "覆盖已有的输出地图文件"
 
-#: ../gui/wxpython/animation/provider.py:676
+#: ../gui/wxpython/animation/provider.py:677
 #, fuzzy, python-brace-format
 msgid "Directory {t} not removed."
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/animation/g.gui.animation.py:88
+#: ../gui/wxpython/animation/g.gui.animation.py:92
 #, python-format
 msgid "%s=, %s=, %s= and %s= are mutually exclusive."
 msgstr "%s=, %s=, %s= 和 %s= 为互斥项。"
@@ -6333,7 +6378,7 @@ msgstr "地图工具栏"
 msgid "Animation Toolbar"
 msgstr "地图工具栏"
 
-#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:148
+#: ../gui/wxpython/animation/frame.py:167 ../gui/wxpython/lmgr/frame.py:149
 #: ../gui/wxpython/mapswipe/frame.py:296
 #, fuzzy
 msgid "Misc Toolbar"
@@ -6381,8 +6426,8 @@ msgstr ""
 "的数据以避免混乱。"
 
 #: ../gui/wxpython/animation/temporal_manager.py:228
-#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:75
-#: ../gui/wxpython/timeline/frame.py:401 ../gui/wxpython/tplot/frame.py:755
+#: ../gui/wxpython/animation/utils.py:69 ../gui/wxpython/animation/utils.py:77
+#: ../gui/wxpython/timeline/frame.py:405 ../gui/wxpython/tplot/frame.py:756
 #, fuzzy, python-format
 msgid "Space time dataset <%s> not found."
 msgstr "矢量地图 '%s' 未找到"
@@ -6426,7 +6471,7 @@ msgstr "%(start)s %(unit)s"
 msgid "Exporting animation, please wait..."
 msgstr "导入地图 %d 的要素..."
 
-#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1224
+#: ../gui/wxpython/animation/nviztask.py:42 ../gui/wxpython/lmgr/frame.py:1233
 #, python-format
 msgid ""
 "Reading workspace file <%s> failed.\n"
@@ -6450,37 +6495,37 @@ msgstr "加载地图层到层列表"
 msgid "No map series nor space-time dataset is added."
 msgstr "创建一个空数据库"
 
-#: ../gui/wxpython/animation/utils.py:93 ../gui/wxpython/animation/utils.py:101
-#: ../gui/wxpython/lmgr/layertree.py:1661 ../gui/wxpython/mapswipe/frame.py:399
+#: ../gui/wxpython/animation/utils.py:95 ../gui/wxpython/animation/utils.py:103
+#: ../gui/wxpython/lmgr/layertree.py:1670 ../gui/wxpython/mapswipe/frame.py:399
 #, python-format
 msgid "Map <%s> not found."
 msgstr "找不到地图<%s>。"
 
-#: ../gui/wxpython/animation/utils.py:178
+#: ../gui/wxpython/animation/utils.py:180
 msgid "The number of maps in space-time datasets has to be the same."
 msgstr "时空数据集中的必须使用相同的地图数字。"
 
-#: ../gui/wxpython/animation/utils.py:182
+#: ../gui/wxpython/animation/utils.py:184
 msgid ""
 "The temporal type (absolute/relative) of space-time datasets has to be the "
 "same."
 msgstr "时空数据集中的时间数据(绝对/相对)必须相同。"
 
-#: ../gui/wxpython/animation/utils.py:186
+#: ../gui/wxpython/animation/utils.py:188
 msgid ""
 "The map type (point/interval) of space-time datasets has to be the same."
 msgstr "时空数据集中的地图类型(时间点/时间间隔)必须相同。"
 
-#: ../gui/wxpython/animation/utils.py:190
+#: ../gui/wxpython/animation/utils.py:192
 msgid ""
 "The temporal extents of maps in space-time datasets have to be the same."
 msgstr "时空数据集中须使用相同的地图时间范畴。"
 
-#: ../gui/wxpython/animation/utils.py:198
+#: ../gui/wxpython/animation/utils.py:200
 msgid "The number of maps to animate has to be the same for each map series."
 msgstr "动画地图系列中须使用相同的地图数字。"
 
-#: ../gui/wxpython/animation/utils.py:202
+#: ../gui/wxpython/animation/utils.py:204
 msgid ""
 "The number of maps to animate has to be the same as the number of maps in "
 "temporal dataset."
@@ -6500,11 +6545,11 @@ msgstr "POV-Ray格式"
 msgid "Play back"
 msgstr "回放"
 
-#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:409
+#: ../gui/wxpython/animation/toolbars.py:31 ../gui/wxpython/nviz/tools.py:410
 msgid "Stop"
 msgstr "停止"
 
-#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:407
+#: ../gui/wxpython/animation/toolbars.py:32 ../gui/wxpython/nviz/tools.py:408
 msgid "Pause"
 msgstr "暂停"
 
@@ -6541,14 +6586,14 @@ msgstr ""
 msgid "GRASS GIS Timeline Tool"
 msgstr "栅格图的名称"
 
-#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:675
-#: ../gui/wxpython/nviz/tools.py:1557 ../gui/wxpython/nviz/preferences.py:368
-#: ../gui/wxpython/tplot/frame.py:264
+#: ../gui/wxpython/timeline/frame.py:126 ../gui/wxpython/nviz/tools.py:676
+#: ../gui/wxpython/nviz/tools.py:1558 ../gui/wxpython/nviz/preferences.py:368
+#: ../gui/wxpython/tplot/frame.py:265
 msgid "Draw"
 msgstr "绘制"
 
-#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1972
-#: ../gui/wxpython/menustrings.py:2015 ../gui/wxpython/tplot/frame.py:267
+#: ../gui/wxpython/timeline/frame.py:128 ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:2017 ../gui/wxpython/tplot/frame.py:268
 msgid "Help"
 msgstr "帮助"
 
@@ -6565,21 +6610,21 @@ msgstr "时空范围三维图形(matplotlib版本1.0.0及以上)"
 msgid "Select space time dataset(s):"
 msgstr "导入栅格数据"
 
-#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:292
-#: ../gui/wxpython/tplot/frame.py:400
+#: ../gui/wxpython/timeline/frame.py:162 ../gui/wxpython/tplot/frame.py:293
+#: ../gui/wxpython/tplot/frame.py:401
 #, fuzzy, python-format
 msgid "Dataset <%s> not found in temporal database"
 msgstr "未发现矢量地图<%s>"
 
-#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:309
-#: ../gui/wxpython/tplot/frame.py:418
+#: ../gui/wxpython/timeline/frame.py:174 ../gui/wxpython/tplot/frame.py:310
+#: ../gui/wxpython/tplot/frame.py:419
 msgid ""
 "Datasets have different temporal type (absolute x relative), which is not "
 "allowed."
 msgstr ""
 
-#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:324
-#: ../gui/wxpython/tplot/frame.py:427
+#: ../gui/wxpython/timeline/frame.py:189 ../gui/wxpython/tplot/frame.py:325
+#: ../gui/wxpython/tplot/frame.py:428
 msgid "Datasets have different time unit which is not allowed."
 msgstr ""
 
@@ -6608,62 +6653,62 @@ msgstr ":"
 msgid "Y"
 msgstr ":"
 
-#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:562
-#: ../gui/wxpython/tplot/frame.py:601 ../gui/wxpython/tplot/frame.py:638
+#: ../gui/wxpython/timeline/frame.py:326 ../gui/wxpython/tplot/frame.py:563
+#: ../gui/wxpython/tplot/frame.py:602 ../gui/wxpython/tplot/frame.py:639
 #, python-format
 msgid "Time [%s]"
 msgstr "时间 [%s]"
 
-#: ../gui/wxpython/timeline/frame.py:414 ../gui/wxpython/tplot/frame.py:768
+#: ../gui/wxpython/timeline/frame.py:418 ../gui/wxpython/tplot/frame.py:769
 #, python-format
 msgid "Please specify the space time dataset <%s>."
 msgstr "请指定时空数据集<%s>。"
 
-#: ../gui/wxpython/timeline/frame.py:415 ../gui/wxpython/tplot/frame.py:771
+#: ../gui/wxpython/timeline/frame.py:419 ../gui/wxpython/tplot/frame.py:772
 msgid "Ambiguous dataset name"
 msgstr "含糊的数据集名称"
 
-#: ../gui/wxpython/timeline/frame.py:493 ../gui/wxpython/tplot/frame.py:882
+#: ../gui/wxpython/timeline/frame.py:501 ../gui/wxpython/tplot/frame.py:883
 #, fuzzy, python-format
 msgid "Space time raster dataset: %s"
 msgstr "导入栅格数据"
 
-#: ../gui/wxpython/timeline/frame.py:495 ../gui/wxpython/tplot/frame.py:884
+#: ../gui/wxpython/timeline/frame.py:503 ../gui/wxpython/tplot/frame.py:885
 #, fuzzy, python-format
 msgid "Space time vector dataset: %s"
 msgstr "导入矢量数据"
 
-#: ../gui/wxpython/timeline/frame.py:497 ../gui/wxpython/tplot/frame.py:886
+#: ../gui/wxpython/timeline/frame.py:505 ../gui/wxpython/tplot/frame.py:887
 #, fuzzy, python-format
 msgid "Space time 3D raster dataset: %s"
 msgstr "导入栅格数据"
 
-#: ../gui/wxpython/timeline/frame.py:499
+#: ../gui/wxpython/timeline/frame.py:507
 #, python-format
 msgid "Mapset: %s"
 msgstr "地图集:%s"
 
-#: ../gui/wxpython/timeline/frame.py:500
+#: ../gui/wxpython/timeline/frame.py:508
 #, fuzzy, python-format
 msgid "Map name: %s"
 msgstr "地图层"
 
-#: ../gui/wxpython/timeline/frame.py:501
+#: ../gui/wxpython/timeline/frame.py:509
 #, python-format
 msgid "Start time: %s"
 msgstr "开始时间:%s"
 
-#: ../gui/wxpython/timeline/frame.py:502
+#: ../gui/wxpython/timeline/frame.py:510
 #, fuzzy, python-format
 msgid "End time: %s"
 msgstr "栅格图的名称"
 
-#: ../gui/wxpython/timeline/frame.py:505
+#: ../gui/wxpython/timeline/frame.py:513
 #, fuzzy
 msgid "WARNING: invalid topology"
 msgstr "矢量文件读取错误"
 
-#: ../gui/wxpython/timeline/frame.py:507
+#: ../gui/wxpython/timeline/frame.py:515
 msgid ""
 "\n"
 "Press Del to dismiss."
@@ -6671,555 +6716,555 @@ msgstr ""
 "\n"
 "按Del键解除。"
 
-#: ../gui/wxpython/nviz/tools.py:88 ../gui/wxpython/nviz/preferences.py:56
+#: ../gui/wxpython/nviz/tools.py:89 ../gui/wxpython/nviz/preferences.py:56
 #: ../gui/wxpython/nviz/preferences.py:61
 msgid "View"
 msgstr "察看"
 
-#: ../gui/wxpython/nviz/tools.py:96 ../gui/wxpython/gui_core/preferences.py:372
+#: ../gui/wxpython/nviz/tools.py:97 ../gui/wxpython/gui_core/preferences.py:372
 msgid "Appearance"
 msgstr "界面"
 
-#: ../gui/wxpython/nviz/tools.py:100
+#: ../gui/wxpython/nviz/tools.py:101
 #, fuzzy
 msgid "Analysis"
 msgstr "分析"
 
-#: ../gui/wxpython/nviz/tools.py:103 ../gui/wxpython/nviz/tools.py:385
+#: ../gui/wxpython/nviz/tools.py:104 ../gui/wxpython/nviz/tools.py:386
 #, fuzzy
 msgid "Animation"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/nviz/tools.py:226
+#: ../gui/wxpython/nviz/tools.py:227
 msgid "Control View"
 msgstr "控制视图"
 
-#: ../gui/wxpython/nviz/tools.py:247
+#: ../gui/wxpython/nviz/tools.py:248
 msgid "Adjusts the distance and angular perspective of the image viewpoint"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:252 ../gui/wxpython/nviz/preferences.py:69
+#: ../gui/wxpython/nviz/tools.py:253 ../gui/wxpython/nviz/preferences.py:69
 msgid "Perspective:"
 msgstr "方位:"
 
-#: ../gui/wxpython/nviz/tools.py:260
+#: ../gui/wxpython/nviz/tools.py:261
 #, fuzzy
 msgid "Tilts the plane of the surface from the horizontal"
 msgstr "A:太阳高度,单位:度"
 
-#: ../gui/wxpython/nviz/tools.py:264 ../gui/wxpython/nviz/tools.py:1027
+#: ../gui/wxpython/nviz/tools.py:265 ../gui/wxpython/nviz/tools.py:1028
 msgid "Tilt:"
 msgstr "倾斜:"
 
-#: ../gui/wxpython/nviz/tools.py:271
+#: ../gui/wxpython/nviz/tools.py:272
 msgid ""
 "Adjusts the viewing height above the surface (angle of view automatically "
 "adjusts to maintain the same center of view)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:276
+#: ../gui/wxpython/nviz/tools.py:277
 msgid "Adjusts the relative height of features above the plane of the surface"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:290 ../gui/wxpython/nviz/preferences.py:150
+#: ../gui/wxpython/nviz/tools.py:291 ../gui/wxpython/nviz/preferences.py:150
 msgid "Z-exag:"
 msgstr "X-exag:"
 
-#: ../gui/wxpython/nviz/tools.py:303
+#: ../gui/wxpython/nviz/tools.py:304
 msgid "Look:"
 msgstr "看:"
 
-#: ../gui/wxpython/nviz/tools.py:306
+#: ../gui/wxpython/nviz/tools.py:307
 msgid "here"
 msgstr "此处"
 
-#: ../gui/wxpython/nviz/tools.py:309
+#: ../gui/wxpython/nviz/tools.py:310
 msgid ""
 "Allows you to select a point on the surface that becomes the new center of "
 "view. Click on the button and then on the surface."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:315
+#: ../gui/wxpython/nviz/tools.py:316
 #, fuzzy
 msgid "center"
 msgstr "参数:"
 
-#: ../gui/wxpython/nviz/tools.py:318
+#: ../gui/wxpython/nviz/tools.py:319
 msgid "Resets the view to the original default center of view"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:322
+#: ../gui/wxpython/nviz/tools.py:323
 msgid "top"
 msgstr "顶部"
 
-#: ../gui/wxpython/nviz/tools.py:325
+#: ../gui/wxpython/nviz/tools.py:326
 msgid ""
 "Sets the viewer directly over the scene's center position. This top view "
 "orients approximately north south."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:329
+#: ../gui/wxpython/nviz/tools.py:330
 msgid "reset"
 msgstr "重置"
 
-#: ../gui/wxpython/nviz/tools.py:330
+#: ../gui/wxpython/nviz/tools.py:331
 msgid "Reset to default view"
 msgstr "重置为默认视图"
 
-#: ../gui/wxpython/nviz/tools.py:347 ../gui/wxpython/nviz/preferences.py:172
+#: ../gui/wxpython/nviz/tools.py:348 ../gui/wxpython/nviz/preferences.py:172
 msgid "Image Appearance"
 msgstr "图像外观"
 
-#: ../gui/wxpython/nviz/tools.py:392
+#: ../gui/wxpython/nviz/tools.py:393
 msgid ""
 "Press 'Record' button and start changing the view. It is recommended to use "
 "fly-through mode (Map Display toolbar) to achieve smooth motion."
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:403
+#: ../gui/wxpython/nviz/tools.py:404
 msgid "Record"
 msgstr "录制"
 
-#: ../gui/wxpython/nviz/tools.py:405
+#: ../gui/wxpython/nviz/tools.py:406
 msgid "Play"
 msgstr "播放"
 
-#: ../gui/wxpython/nviz/tools.py:421
+#: ../gui/wxpython/nviz/tools.py:422
 #, fuzzy
 msgid "Total number of frames :"
 msgstr "面:%d  岛的数量:%d\n"
 
-#: ../gui/wxpython/nviz/tools.py:425
+#: ../gui/wxpython/nviz/tools.py:426
 msgid "Frame rate (FPS):"
 msgstr "帧率(FPS):"
 
-#: ../gui/wxpython/nviz/tools.py:431
+#: ../gui/wxpython/nviz/tools.py:432
 msgid "Frames are recorded with given frequency (FPS). "
 msgstr "使用认定的频率(FPS)录制。"
 
-#: ../gui/wxpython/nviz/tools.py:474
+#: ../gui/wxpython/nviz/tools.py:475
 #, fuzzy
 msgid "Save image sequence"
 msgstr "保存当前显示为图片文件"
 
-#: ../gui/wxpython/nviz/tools.py:482
+#: ../gui/wxpython/nviz/tools.py:483
 #, fuzzy
 msgid "Choose a directory for images"
 msgstr "类别 %d 没有相关的记录"
 
-#: ../gui/wxpython/nviz/tools.py:490
+#: ../gui/wxpython/nviz/tools.py:491
 msgid ""
 "Generated files names will look like this: prefix_1.ppm, prefix_2.ppm, ..."
 msgstr "生成如下形式的文件:前缀_1.ppm, 前缀_2.ppm, ..."
 
-#: ../gui/wxpython/nviz/tools.py:546 ../gui/wxpython/nviz/tools.py:1864
+#: ../gui/wxpython/nviz/tools.py:547 ../gui/wxpython/nviz/tools.py:1865
 #: ../gui/wxpython/nviz/preferences.py:361
 #, fuzzy
 msgid "Surface"
 msgstr "变化的总和"
 
-#: ../gui/wxpython/nviz/tools.py:552 ../gui/wxpython/nviz/tools.py:1086
+#: ../gui/wxpython/nviz/tools.py:553 ../gui/wxpython/nviz/tools.py:1087
 #, fuzzy
 msgid "Constant surface"
 msgstr "指定点的数量"
 
-#: ../gui/wxpython/nviz/tools.py:557 ../gui/wxpython/nviz/preferences.py:463
+#: ../gui/wxpython/nviz/tools.py:558 ../gui/wxpython/nviz/preferences.py:463
 msgid "Vector"
 msgstr "矢量"
 
-#: ../gui/wxpython/nviz/tools.py:563 ../gui/wxpython/gui_core/dialogs.py:1328
+#: ../gui/wxpython/nviz/tools.py:564 ../gui/wxpython/gui_core/dialogs.py:1319
 msgid "3D raster"
 msgstr "三维栅格"
 
-#: ../gui/wxpython/nviz/tools.py:598 ../gui/wxpython/nviz/preferences.py:253
+#: ../gui/wxpython/nviz/tools.py:599 ../gui/wxpython/nviz/preferences.py:253
 msgid "Lighting"
 msgstr "照明"
 
-#: ../gui/wxpython/nviz/tools.py:603
+#: ../gui/wxpython/nviz/tools.py:604
 msgid "Fringe"
 msgstr "边缘"
 
-#: ../gui/wxpython/nviz/tools.py:630 ../gui/wxpython/nviz/tools.py:944
+#: ../gui/wxpython/nviz/tools.py:631 ../gui/wxpython/nviz/tools.py:945
 #, fuzzy
 msgid "Cutting planes"
 msgstr "拷贝表失败"
 
-#: ../gui/wxpython/nviz/tools.py:681 ../gui/wxpython/nviz/tools.py:1564
+#: ../gui/wxpython/nviz/tools.py:682 ../gui/wxpython/nviz/tools.py:1565
 #: ../gui/wxpython/nviz/preferences.py:374
 msgid "Mode:"
 msgstr "模式:"
 
-#: ../gui/wxpython/nviz/tools.py:684 ../gui/wxpython/nviz/preferences.py:377
+#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:377
 msgid "coarse"
 msgstr "粗糙"
 
-#: ../gui/wxpython/nviz/tools.py:685 ../gui/wxpython/nviz/preferences.py:378
+#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:378
 msgid "fine"
 msgstr "精细"
 
-#: ../gui/wxpython/nviz/tools.py:686 ../gui/wxpython/nviz/preferences.py:379
+#: ../gui/wxpython/nviz/tools.py:687 ../gui/wxpython/nviz/preferences.py:379
 msgid "both"
 msgstr "兼备"
 
-#: ../gui/wxpython/nviz/tools.py:695 ../gui/wxpython/nviz/tools.py:960
-#: ../gui/wxpython/nviz/tools.py:1578
+#: ../gui/wxpython/nviz/tools.py:696 ../gui/wxpython/nviz/tools.py:961
+#: ../gui/wxpython/nviz/tools.py:1579
 msgid "Shading:"
 msgstr "暗影:"
 
-#: ../gui/wxpython/nviz/tools.py:698 ../gui/wxpython/nviz/tools.py:1581
+#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
 msgid "flat"
 msgstr "无特效直出"
 
-#: ../gui/wxpython/nviz/tools.py:699 ../gui/wxpython/nviz/tools.py:1582
+#: ../gui/wxpython/nviz/tools.py:700 ../gui/wxpython/nviz/tools.py:1583
 msgid "gouraud"
 msgstr "高洛德明暗绘制"
 
-#: ../gui/wxpython/nviz/tools.py:707
+#: ../gui/wxpython/nviz/tools.py:708
 msgid "Set to all"
 msgstr "选中所有"
 
-#: ../gui/wxpython/nviz/tools.py:708
+#: ../gui/wxpython/nviz/tools.py:709
 msgid "Use draw settings for all loaded surfaces"
 msgstr "绘制设置用于所有已装载的面"
 
-#: ../gui/wxpython/nviz/tools.py:716 ../gui/wxpython/nviz/preferences.py:406
+#: ../gui/wxpython/nviz/tools.py:717 ../gui/wxpython/nviz/preferences.py:406
 #, fuzzy
 msgid "Coarse mode:"
 msgstr "详细模式"
 
-#: ../gui/wxpython/nviz/tools.py:719 ../gui/wxpython/nviz/tools.py:759
+#: ../gui/wxpython/nviz/tools.py:720 ../gui/wxpython/nviz/tools.py:760
 #: ../gui/wxpython/nviz/preferences.py:393
 #: ../gui/wxpython/nviz/preferences.py:410
 #, fuzzy
 msgid "resolution:"
 msgstr "非法的输出文件名"
 
-#: ../gui/wxpython/nviz/tools.py:732 ../gui/wxpython/nviz/preferences.py:422
+#: ../gui/wxpython/nviz/tools.py:733 ../gui/wxpython/nviz/preferences.py:422
 #, fuzzy
 msgid "style:"
 msgstr "要素类型"
 
-#: ../gui/wxpython/nviz/tools.py:735 ../gui/wxpython/nviz/preferences.py:425
+#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:425
 msgid "wire"
 msgstr "线"
 
-#: ../gui/wxpython/nviz/tools.py:736 ../gui/wxpython/nviz/preferences.py:426
+#: ../gui/wxpython/nviz/tools.py:737 ../gui/wxpython/nviz/preferences.py:426
 msgid "surface"
 msgstr "面"
 
-#: ../gui/wxpython/nviz/tools.py:748
+#: ../gui/wxpython/nviz/tools.py:749
 #, fuzzy
 msgid "Change wire color"
 msgstr " nv color\n"
 
-#: ../gui/wxpython/nviz/tools.py:755 ../gui/wxpython/nviz/preferences.py:389
+#: ../gui/wxpython/nviz/tools.py:756 ../gui/wxpython/nviz/preferences.py:389
 #, fuzzy
 msgid "Fine mode:"
 msgstr "安静模式"
 
-#: ../gui/wxpython/nviz/tools.py:781
+#: ../gui/wxpython/nviz/tools.py:782
 msgid "Surface attributes"
 msgstr "表面特征"
 
-#: ../gui/wxpython/nviz/tools.py:790 ../gui/wxpython/nviz/tools.py:2406
+#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2406
 msgid "Transparency"
 msgstr "透明"
 
-#: ../gui/wxpython/nviz/tools.py:791 ../gui/wxpython/nviz/tools.py:2407
+#: ../gui/wxpython/nviz/tools.py:792 ../gui/wxpython/nviz/tools.py:2407
 msgid "Shininess"
 msgstr "闪亮"
 
-#: ../gui/wxpython/nviz/tools.py:797 ../gui/wxpython/nviz/tools.py:2418
+#: ../gui/wxpython/nviz/tools.py:798 ../gui/wxpython/nviz/tools.py:2418
 msgid "map"
 msgstr "地图"
 
-#: ../gui/wxpython/nviz/tools.py:800 ../gui/wxpython/nviz/tools.py:2423
+#: ../gui/wxpython/nviz/tools.py:801 ../gui/wxpython/nviz/tools.py:2423
 msgid "unset"
 msgstr "取消设置"
 
-#: ../gui/wxpython/nviz/tools.py:805 ../gui/wxpython/nviz/tools.py:2428
+#: ../gui/wxpython/nviz/tools.py:806 ../gui/wxpython/nviz/tools.py:2428
 msgid "constant"
 msgstr "恒定"
 
-#: ../gui/wxpython/nviz/tools.py:865
+#: ../gui/wxpython/nviz/tools.py:866
 msgid "Changes the x, y, and z position of the current surface"
 msgstr "改动当前面的x, y和z的位置"
 
-#: ../gui/wxpython/nviz/tools.py:875 ../gui/wxpython/nviz/tools.py:1062
-#: ../gui/wxpython/nviz/tools.py:1695 ../gui/wxpython/nviz/tools.py:2591
+#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1063
+#: ../gui/wxpython/nviz/tools.py:1696 ../gui/wxpython/nviz/tools.py:2591
 msgid "Reset"
 msgstr "重置"
 
-#: ../gui/wxpython/nviz/tools.py:876 ../gui/wxpython/nviz/tools.py:1696
+#: ../gui/wxpython/nviz/tools.py:877 ../gui/wxpython/nviz/tools.py:1697
 #, fuzzy
 msgid "Reset to default position"
 msgstr "从默认区域设置"
 
-#: ../gui/wxpython/nviz/tools.py:950
+#: ../gui/wxpython/nviz/tools.py:951
 msgid "Active cutting plane:"
 msgstr "激活的切割平面:"
 
-#: ../gui/wxpython/nviz/tools.py:962
+#: ../gui/wxpython/nviz/tools.py:963
 #, fuzzy
 msgid "clear"
 msgstr "清除"
 
-#: ../gui/wxpython/nviz/tools.py:963
+#: ../gui/wxpython/nviz/tools.py:964
 #, fuzzy
 msgid "top color"
 msgstr "文本颜色"
 
-#: ../gui/wxpython/nviz/tools.py:964
+#: ../gui/wxpython/nviz/tools.py:965
 #, fuzzy
 msgid "bottom color"
 msgstr "选择要运行的模型"
 
-#: ../gui/wxpython/nviz/tools.py:965
+#: ../gui/wxpython/nviz/tools.py:966
 msgid "blend"
 msgstr "混合"
 
-#: ../gui/wxpython/nviz/tools.py:966
+#: ../gui/wxpython/nviz/tools.py:967
 msgid "shaded"
 msgstr "阴影效果"
 
-#: ../gui/wxpython/nviz/tools.py:978
+#: ../gui/wxpython/nviz/tools.py:979
 msgid "Horizontal X:"
 msgstr "水平X:"
 
-#: ../gui/wxpython/nviz/tools.py:980
+#: ../gui/wxpython/nviz/tools.py:981
 #, fuzzy
 msgid "Sets the X coordinate of the current cutting plane"
 msgstr "一行一个坐标对。"
 
-#: ../gui/wxpython/nviz/tools.py:994
+#: ../gui/wxpython/nviz/tools.py:995
 msgid "Horizontal Y:"
 msgstr "水平Y:"
 
-#: ../gui/wxpython/nviz/tools.py:996
+#: ../gui/wxpython/nviz/tools.py:997
 #, fuzzy
 msgid "Sets the Y coordinate of the current cutting plane"
 msgstr "一行一个坐标对。"
 
-#: ../gui/wxpython/nviz/tools.py:1011 ../gui/wxpython/mapwin/decorations.py:354
+#: ../gui/wxpython/nviz/tools.py:1012 ../gui/wxpython/mapwin/decorations.py:357
 msgid "Rotation:"
 msgstr "旋转:"
 
-#: ../gui/wxpython/nviz/tools.py:1013
+#: ../gui/wxpython/nviz/tools.py:1014
 msgid "Rotates the current cutting plane about vertical axis"
 msgstr "围绕垂直轴旋转当前切面"
 
-#: ../gui/wxpython/nviz/tools.py:1029
+#: ../gui/wxpython/nviz/tools.py:1030
 msgid "Rotates the current cutting plane about horizontal axis"
 msgstr "围绕水平轴旋转当前切面"
 
-#: ../gui/wxpython/nviz/tools.py:1045
+#: ../gui/wxpython/nviz/tools.py:1046
 msgid ""
 "Sets the Z coordinate of the current cutting plane (only meaningful when "
 "tilt is not 0)"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1097 ../gui/wxpython/menustrings.py:5
+#: ../gui/wxpython/nviz/tools.py:1098 ../gui/wxpython/menustrings.py:5
 #: ../gui/wxpython/menustrings.py:1931
 msgid "New"
 msgstr "新建"
 
-#: ../gui/wxpython/nviz/tools.py:1114
+#: ../gui/wxpython/nviz/tools.py:1115
 #, fuzzy
 msgid "Fine resolution:"
 msgstr "非法的输出文件名"
 
-#: ../gui/wxpython/nviz/tools.py:1126
+#: ../gui/wxpython/nviz/tools.py:1127
 msgid "Value:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1138 ../gui/wxpython/nviz/tools.py:2580
+#: ../gui/wxpython/nviz/tools.py:1139 ../gui/wxpython/nviz/tools.py:2580
 #, fuzzy
 msgid "Transparency:"
 msgstr "地形参数"
 
-#: ../gui/wxpython/nviz/tools.py:1204
+#: ../gui/wxpython/nviz/tools.py:1205
 msgid "Show vector lines"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1214 ../gui/wxpython/nviz/preferences.py:469
+#: ../gui/wxpython/nviz/tools.py:1215 ../gui/wxpython/nviz/preferences.py:469
 #, fuzzy
 msgid "Vector lines"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/nviz/tools.py:1220
+#: ../gui/wxpython/nviz/tools.py:1221
 #, fuzzy
 msgid "Line:"
 msgstr "线"
 
-#: ../gui/wxpython/nviz/tools.py:1223
+#: ../gui/wxpython/nviz/tools.py:1224
 #, fuzzy
 msgid "width:"
 msgstr "% 宽度"
 
-#: ../gui/wxpython/nviz/tools.py:1239 ../gui/wxpython/nviz/tools.py:1390
+#: ../gui/wxpython/nviz/tools.py:1240 ../gui/wxpython/nviz/tools.py:1391
 #, fuzzy
 msgid "color:"
 msgstr "颜色"
 
-#: ../gui/wxpython/nviz/tools.py:1255 ../gui/wxpython/nviz/tools.py:1435
+#: ../gui/wxpython/nviz/tools.py:1256 ../gui/wxpython/nviz/tools.py:1436
 msgid "use color for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1257
+#: ../gui/wxpython/nviz/tools.py:1258
 msgid "use width for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1270 ../gui/wxpython/nviz/tools.py:1282
-#: ../gui/wxpython/nviz/tools.py:1448 ../gui/wxpython/nviz/tools.py:1457
+#: ../gui/wxpython/nviz/tools.py:1271 ../gui/wxpython/nviz/tools.py:1283
+#: ../gui/wxpython/nviz/tools.py:1449 ../gui/wxpython/nviz/tools.py:1458
 #, fuzzy
 msgid "Set options..."
 msgstr "选项设置"
 
-#: ../gui/wxpython/nviz/tools.py:1295 ../gui/wxpython/nviz/tools.py:1469
+#: ../gui/wxpython/nviz/tools.py:1296 ../gui/wxpython/nviz/tools.py:1470
 #: ../gui/wxpython/vdigit/preferences.py:131
 msgid "Display"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1300 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 #, fuzzy
 msgid "on surface(s):"
 msgstr "指定点的数量"
 
-#: ../gui/wxpython/nviz/tools.py:1301 ../gui/wxpython/nviz/tools.py:4808
+#: ../gui/wxpython/nviz/tools.py:1302 ../gui/wxpython/nviz/tools.py:4808
 #: ../gui/wxpython/nviz/tools.py:4861
 msgid "as 3D"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1310 ../gui/wxpython/nviz/tools.py:1477
+#: ../gui/wxpython/nviz/tools.py:1311 ../gui/wxpython/nviz/tools.py:1478
 msgid "Height above surface:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1346
+#: ../gui/wxpython/nviz/tools.py:1347
 msgid "Show vector points"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1355 ../gui/wxpython/nviz/preferences.py:509
+#: ../gui/wxpython/nviz/tools.py:1356 ../gui/wxpython/nviz/preferences.py:509
 #, fuzzy
 msgid "Vector points"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/nviz/tools.py:1362
+#: ../gui/wxpython/nviz/tools.py:1363
 msgid "Icon:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1437
+#: ../gui/wxpython/nviz/tools.py:1438
 msgid "use size for thematic mapping"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1534 ../gui/wxpython/lmgr/layertree.py:808
+#: ../gui/wxpython/nviz/tools.py:1535 ../gui/wxpython/lmgr/layertree.py:811
 #, fuzzy
 msgid "3D raster map"
 msgstr "基础栅格图"
 
-#: ../gui/wxpython/nviz/tools.py:1567
+#: ../gui/wxpython/nviz/tools.py:1568
 msgid "isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1568
+#: ../gui/wxpython/nviz/tools.py:1569
 msgid "slices"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1591
+#: ../gui/wxpython/nviz/tools.py:1592
 msgid "Resolution:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1605
+#: ../gui/wxpython/nviz/tools.py:1606
 msgid "Draw wire box"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1621 ../gui/wxpython/nviz/tools.py:3762
+#: ../gui/wxpython/nviz/tools.py:1622 ../gui/wxpython/nviz/tools.py:3762
 msgid "List of isosurfaces"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1737
+#: ../gui/wxpython/nviz/tools.py:1738
 msgid "Show light model"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1750
+#: ../gui/wxpython/nviz/tools.py:1751
 #, fuzzy
 msgid "Light source position"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/nviz/tools.py:1766
+#: ../gui/wxpython/nviz/tools.py:1767
 msgid "Adjusts the light height"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1790
+#: ../gui/wxpython/nviz/tools.py:1791
 #, fuzzy
 msgid "Light color and intensity"
 msgstr "文本高亮显示的颜色 (仅用于 ps.map 输出)"
 
-#: ../gui/wxpython/nviz/tools.py:1804 ../gui/wxpython/nviz/preferences.py:307
+#: ../gui/wxpython/nviz/tools.py:1805 ../gui/wxpython/nviz/preferences.py:307
 msgid "Brightness:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1806
+#: ../gui/wxpython/nviz/tools.py:1807
 msgid "Adjusts the brightness of the light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1815 ../gui/wxpython/nviz/preferences.py:321
+#: ../gui/wxpython/nviz/tools.py:1816 ../gui/wxpython/nviz/preferences.py:321
 msgid "Ambient:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1817
+#: ../gui/wxpython/nviz/tools.py:1818
 msgid "Adjusts the ambient light"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1878
+#: ../gui/wxpython/nviz/tools.py:1879
 msgid "Edges with fringe"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1880
+#: ../gui/wxpython/nviz/tools.py:1881
 msgid "N && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1881
+#: ../gui/wxpython/nviz/tools.py:1882
 msgid "N && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1882
+#: ../gui/wxpython/nviz/tools.py:1883
 msgid "S && W"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1883
+#: ../gui/wxpython/nviz/tools.py:1884
 msgid "S && E"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1903
+#: ../gui/wxpython/nviz/tools.py:1904
 msgid "Elevation of fringe from bottom:"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:1956
+#: ../gui/wxpython/nviz/tools.py:1957
 #, fuzzy
 msgid "Arrow length (in map units):"
 msgstr "离散化错误 (地图单位)"
 
-#: ../gui/wxpython/nviz/tools.py:1966
+#: ../gui/wxpython/nviz/tools.py:1967
 #, fuzzy
 msgid "Arrow color:"
 msgstr "边框颜色"
 
-#: ../gui/wxpython/nviz/tools.py:1975
+#: ../gui/wxpython/nviz/tools.py:1976
 msgid "Place arrow"
 msgstr ""
 
-#: ../gui/wxpython/nviz/tools.py:2001
+#: ../gui/wxpython/nviz/tools.py:2002
 #, fuzzy
 msgid "Scale bar length (in map units):"
 msgstr "离散化错误 (地图单位)"
 
-#: ../gui/wxpython/nviz/tools.py:2011
+#: ../gui/wxpython/nviz/tools.py:2012
 #, fuzzy
 msgid "Scale bar color:"
 msgstr "边框颜色"
 
-#: ../gui/wxpython/nviz/tools.py:2020
+#: ../gui/wxpython/nviz/tools.py:2021
 #, fuzzy
 msgid "Place new scale bar"
 msgstr "添加格网值图层"
@@ -7631,15 +7676,15 @@ msgstr ""
 
 #: ../gui/wxpython/nviz/wxnviz.py:329 ../gui/wxpython/nviz/wxnviz.py:340
 #: ../gui/wxpython/modules/histogram.py:352
-#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:75
-#: ../gui/wxpython/iclass/g.gui.iclass.py:87
+#: ../gui/wxpython/mapswipe/g.gui.mapswipe.py:79
+#: ../gui/wxpython/iclass/g.gui.iclass.py:91
 #, fuzzy, python-format
 msgid "Raster map <%s> not found"
 msgstr "未找到栅格图<%s>"
 
 #: ../gui/wxpython/nviz/wxnviz.py:417 ../gui/wxpython/dbmgr/sqlbuilder.py:59
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:44
-#: ../gui/wxpython/iclass/g.gui.iclass.py:93
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:48
+#: ../gui/wxpython/iclass/g.gui.iclass.py:97
 #, fuzzy, python-format
 msgid "Vector map <%s> not found"
 msgstr "未发现矢量地图<%s>"
@@ -7650,12 +7695,14 @@ msgid "3d raster map <%s> not found"
 msgstr "未找到3D栅格图<%s>"
 
 #: ../gui/wxpython/lmgr/layertree.py:56 ../gui/wxpython/menustrings.py:32
-#: ../gui/wxpython/menustrings.py:1019 ../gui/wxpython/gui_core/dialogs.py:1885
+#: ../gui/wxpython/menustrings.py:1019
+#: ../gui/wxpython/modules/import_export.py:332
 msgid "Import raster data"
 msgstr "导入栅格数据"
 
 #: ../gui/wxpython/lmgr/layertree.py:58 ../gui/wxpython/menustrings.py:157
-#: ../gui/wxpython/menustrings.py:1144 ../gui/wxpython/gui_core/dialogs.py:1883
+#: ../gui/wxpython/menustrings.py:1144
+#: ../gui/wxpython/modules/import_export.py:330
 msgid "Link external raster data"
 msgstr "链接到外部栅格数据"
 
@@ -7670,12 +7717,14 @@ msgid "Set raster output format"
 msgstr "无法创建输出地图"
 
 #: ../gui/wxpython/lmgr/layertree.py:64 ../gui/wxpython/menustrings.py:63
-#: ../gui/wxpython/menustrings.py:1050 ../gui/wxpython/gui_core/dialogs.py:1879
+#: ../gui/wxpython/menustrings.py:1050
+#: ../gui/wxpython/modules/import_export.py:460
 msgid "Import vector data"
 msgstr "导入矢量数据"
 
 #: ../gui/wxpython/lmgr/layertree.py:66 ../gui/wxpython/menustrings.py:159
-#: ../gui/wxpython/menustrings.py:1146 ../gui/wxpython/gui_core/dialogs.py:1877
+#: ../gui/wxpython/menustrings.py:1146
+#: ../gui/wxpython/modules/import_export.py:458
 msgid "Link external vector data"
 msgstr "链接到外部矢量数据"
 
@@ -7698,7 +7747,7 @@ msgstr "使用的插值方法"
 msgid "Add command layer"
 msgstr "添加命令层"
 
-#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1991
+#: ../gui/wxpython/lmgr/layertree.py:76 ../gui/wxpython/menustrings.py:1993
 #: ../gui/wxpython/gui_core/toolbars.py:73
 msgid "Quit"
 msgstr "退出"
@@ -7805,197 +7854,200 @@ msgstr "常见格式导出"
 msgid "Export PostGIS"
 msgstr "导出到PostGIS"
 
-#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/lmgr/layertree.py:591
+#: ../gui/wxpython/lmgr/layertree.py:493 ../gui/wxpython/iclass/dialogs.py:720
+#, fuzzy
+msgid "Export attribute table"
+msgstr "打开属性表"
+
+#: ../gui/wxpython/lmgr/layertree.py:500 ../gui/wxpython/lmgr/layertree.py:598
 msgid "Create pack"
 msgstr "创建图层包"
 
-#: ../gui/wxpython/lmgr/layertree.py:501 ../gui/wxpython/lmgr/layertree.py:599
+#: ../gui/wxpython/lmgr/layertree.py:508 ../gui/wxpython/lmgr/layertree.py:606
 msgid "Make a copy in the current mapset"
 msgstr "创建当前地图集的副本"
 
-#: ../gui/wxpython/lmgr/layertree.py:506 ../gui/wxpython/lmgr/layertree.py:604
-#: ../gui/wxpython/lmgr/layertree.py:636
+#: ../gui/wxpython/lmgr/layertree.py:513 ../gui/wxpython/lmgr/layertree.py:611
+#: ../gui/wxpython/lmgr/layertree.py:645
 msgid "Set color table"
 msgstr "设置颜色表"
 
-#: ../gui/wxpython/lmgr/layertree.py:509
+#: ../gui/wxpython/lmgr/layertree.py:516
 msgid "Show attribute data"
 msgstr "显示属性表"
 
-#: ../gui/wxpython/lmgr/layertree.py:521
+#: ../gui/wxpython/lmgr/layertree.py:528
 msgid "Start editing"
 msgstr "启动编辑"
 
-#: ../gui/wxpython/lmgr/layertree.py:524
+#: ../gui/wxpython/lmgr/layertree.py:531
 msgid "Stop editing"
 msgstr "停止编辑"
 
-#: ../gui/wxpython/lmgr/layertree.py:540
+#: ../gui/wxpython/lmgr/layertree.py:547
 msgid "Rebuild topology"
 msgstr "重建拓扑"
 
-#: ../gui/wxpython/lmgr/layertree.py:578
+#: ../gui/wxpython/lmgr/layertree.py:585
 msgid "Zoom to selected map(s) (ignore NULLs)"
 msgstr "缩放到选中图层(忽略NULL值)"
 
-#: ../gui/wxpython/lmgr/layertree.py:607 ../gui/wxpython/menustrings.py:743
+#: ../gui/wxpython/lmgr/layertree.py:613
+#, fuzzy
+msgid "Set color table interactively"
+msgstr "交互式设置色彩"
+
+#: ../gui/wxpython/lmgr/layertree.py:616 ../gui/wxpython/menustrings.py:743
 #: ../gui/wxpython/menustrings.py:1650
 msgid "Histogram"
 msgstr "直方图"
 
-#: ../gui/wxpython/lmgr/layertree.py:612 ../gui/wxpython/lmgr/layertree.py:639
+#: ../gui/wxpython/lmgr/layertree.py:621 ../gui/wxpython/lmgr/layertree.py:648
 #: ../gui/wxpython/menustrings.py:526 ../gui/wxpython/menustrings.py:1433
 msgid "Univariate raster statistics"
 msgstr "一元变量栅格统计量"
 
-#: ../gui/wxpython/lmgr/layertree.py:617
+#: ../gui/wxpython/lmgr/layertree.py:626
 #, fuzzy
 msgid "Report raster statistics"
 msgstr "包含结果的栅格图的名称"
 
-#: ../gui/wxpython/lmgr/layertree.py:623
+#: ../gui/wxpython/lmgr/layertree.py:632
 msgid "Profile"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:651
+#: ../gui/wxpython/lmgr/layertree.py:660
 msgid "Save web service layer"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:756
+#: ../gui/wxpython/lmgr/layertree.py:765
 msgid "Unable to create profile of raster map."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:786
-#, python-format
-msgid ""
-"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
-"characters excluding %(chars)s and space."
-msgstr ""
-
-#: ../gui/wxpython/lmgr/layertree.py:789 ../gui/wxpython/gis_set.py:1023
-#, fuzzy
-msgid "Invalid name"
-msgstr "无效的区域:%s"
-
-#: ../gui/wxpython/lmgr/layertree.py:810
+#: ../gui/wxpython/lmgr/layertree.py:813
 #, fuzzy, python-format
 msgid "Unsupported map type <%s>"
 msgstr "无法读取 [%s] 的文件头"
 
-#: ../gui/wxpython/lmgr/layertree.py:815
+#: ../gui/wxpython/lmgr/layertree.py:818
 #, fuzzy, python-format
 msgid "Enter name for the new %s in the current mapset:"
 msgstr "输入要创建的新地图集名称:"
 
-#: ../gui/wxpython/lmgr/layertree.py:816
+#: ../gui/wxpython/lmgr/layertree.py:819
 #, python-format
 msgid "Make a copy of %s <%s>"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:830
+#: ../gui/wxpython/lmgr/layertree.py:833
 #, fuzzy, python-format
 msgid ""
 "%s <%s> already exists in the current mapset. Do you want to overwrite it?"
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
-#: ../gui/wxpython/lmgr/layertree.py:833
-#: ../gui/wxpython/modules/colorrules.py:608
-#: ../gui/wxpython/gui_core/dialogs.py:424
+#: ../gui/wxpython/lmgr/layertree.py:836 ../gui/wxpython/rdigit/dialogs.py:95
+#: ../gui/wxpython/modules/colorrules.py:609
+#: ../gui/wxpython/gui_core/dialogs.py:415
 msgid "Overwrite?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:840
+#: ../gui/wxpython/lmgr/layertree.py:843
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>"
 msgstr "无法创建文件 [%s]"
 
-#: ../gui/wxpython/lmgr/layertree.py:847
+#: ../gui/wxpython/lmgr/layertree.py:850
 #, fuzzy, python-format
 msgid "Unable to make copy of <%s>. Mapset <%s> is not current mapset."
 msgstr "未发现矢量地图<%s>"
 
-#: ../gui/wxpython/lmgr/layertree.py:864
+#: ../gui/wxpython/lmgr/layertree.py:867
 msgid "Unable to display histogram of raster map. No map name defined."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:965
+#: ../gui/wxpython/lmgr/layertree.py:968
 #: ../gui/wxpython/gui_core/simplelmgr.py:270
 #, python-format
 msgid "Set opacity of <%s>"
 msgstr "设置<%s>的透明度"
 
-#: ../gui/wxpython/lmgr/layertree.py:1070
+#: ../gui/wxpython/lmgr/layertree.py:1073
 msgid "Layer group:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1075
-#: ../gui/wxpython/lmgr/layertree.py:1568
+#: ../gui/wxpython/lmgr/layertree.py:1078
+#: ../gui/wxpython/lmgr/layertree.py:1577
 msgid "Click to edit layer settings"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1127
+#: ../gui/wxpython/lmgr/layertree.py:1132
 msgid "(double click to set properties)"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1368
+#: ../gui/wxpython/lmgr/layertree.py:1367
 msgid "Please wait, updating data..."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/layertree.py:1643 ../gui/wxpython/lmgr/frame.py:2136
+#: ../gui/wxpython/lmgr/layertree.py:1652 ../gui/wxpython/lmgr/frame.py:2150
 msgid "opacity:"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:97
+#: ../gui/wxpython/lmgr/frame.py:98
 #, fuzzy, python-format
 msgid "GRASS GIS %s Layer Manager"
 msgstr "GRASS GIS层管理器"
 
-#: ../gui/wxpython/lmgr/frame.py:142
+#: ../gui/wxpython/lmgr/frame.py:143
 msgid "Workspace Toolbar"
 msgstr "工作区工具栏"
 
-#: ../gui/wxpython/lmgr/frame.py:145
+#: ../gui/wxpython/lmgr/frame.py:146
 msgid "Data Toolbar"
 msgstr "数据工具栏"
 
-#: ../gui/wxpython/lmgr/frame.py:151
+#: ../gui/wxpython/lmgr/frame.py:152
 #, fuzzy
 msgid "Tools Toolbar"
 msgstr "地图工具栏"
 
-#: ../gui/wxpython/lmgr/frame.py:154
+#: ../gui/wxpython/lmgr/frame.py:155
 #, fuzzy
 msgid "Vector Toolbar"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/lmgr/frame.py:157
+#: ../gui/wxpython/lmgr/frame.py:158
 #, fuzzy
 msgid "3D view Toolbar"
 msgstr "地图工具栏"
 
-#: ../gui/wxpython/lmgr/frame.py:262 ../gui/wxpython/lmgr/frame.py:1489
+#: ../gui/wxpython/lmgr/frame.py:263 ../gui/wxpython/lmgr/frame.py:1503
 #, fuzzy
 msgid "Rename Map Display"
 msgstr "显示文本"
 
-#: ../gui/wxpython/lmgr/frame.py:290
+#: ../gui/wxpython/lmgr/frame.py:291
 msgid "Map layers"
 msgstr "地图层"
 
-#: ../gui/wxpython/lmgr/frame.py:301
+#: ../gui/wxpython/lmgr/frame.py:302
 msgid "Command console"
 msgstr "命令控制台"
 
-#: ../gui/wxpython/lmgr/frame.py:318
+#: ../gui/wxpython/lmgr/frame.py:320
 msgid "Search modules"
 msgstr "查找模块"
 
-#: ../gui/wxpython/lmgr/frame.py:325
+#: ../gui/wxpython/lmgr/frame.py:327 ../gui/wxpython/datacatalog/catalog.py:28
+#, fuzzy
+msgid "Data catalog"
+msgstr "反向清扫完成"
+
+#: ../gui/wxpython/lmgr/frame.py:332
 #: ../gui/wxpython/gui_core/preferences.py:292
 msgid "Python shell"
 msgstr "Python壳"
 
-#: ../gui/wxpython/lmgr/frame.py:398
+#: ../gui/wxpython/lmgr/frame.py:405
 #, python-format
 msgid ""
 "Location <%s> created.\n"
@@ -8003,12 +8055,12 @@ msgid ""
 "Do you want to switch to the new location?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:401
+#: ../gui/wxpython/lmgr/frame.py:408
 #, fuzzy
 msgid "Switch to new location?"
 msgstr "结果矢量文件的名称"
 
-#: ../gui/wxpython/lmgr/frame.py:417 ../gui/wxpython/lmgr/frame.py:922
+#: ../gui/wxpython/lmgr/frame.py:424 ../gui/wxpython/lmgr/frame.py:931
 #, python-format
 msgid ""
 "Current location is <%(loc)s>.\n"
@@ -8017,252 +8069,252 @@ msgstr ""
 "当前地点为 <%(loc)s>.\n"
 "当前地图集为 <%(mapset)s>."
 
-#: ../gui/wxpython/lmgr/frame.py:423 ../gui/wxpython/gis_set.py:539
+#: ../gui/wxpython/lmgr/frame.py:430 ../gui/wxpython/gis_set.py:549
 msgid "Do you want to set the default region extents and resolution now?"
 msgstr "现在设置地域范围和分辨率?"
 
-#: ../gui/wxpython/lmgr/frame.py:425 ../gui/wxpython/gis_set.py:538
+#: ../gui/wxpython/lmgr/frame.py:432 ../gui/wxpython/gis_set.py:548
 #, fuzzy, python-format
 msgid "Location <%s> created"
 msgstr "位置名称"
 
-#: ../gui/wxpython/lmgr/frame.py:503
+#: ../gui/wxpython/lmgr/frame.py:510
 msgid "Choose model to run"
 msgstr "选择要运行的模型"
 
-#: ../gui/wxpython/lmgr/frame.py:561 ../gui/wxpython/lmgr/frame.py:2224
+#: ../gui/wxpython/lmgr/frame.py:570 ../gui/wxpython/lmgr/frame.py:2238
 msgid "Do you want to save changes in the workspace?"
 msgstr "是否保存您对工作区的改动?"
 
-#: ../gui/wxpython/lmgr/frame.py:563 ../gui/wxpython/lmgr/frame.py:2226
+#: ../gui/wxpython/lmgr/frame.py:572 ../gui/wxpython/lmgr/frame.py:2240
 msgid "Do you want to store current settings to workspace file?"
 msgstr "是否保存当前设置到工作区文件?"
 
-#: ../gui/wxpython/lmgr/frame.py:571
+#: ../gui/wxpython/lmgr/frame.py:580
 #, fuzzy, python-format
 msgid "Close Map Display %s"
 msgstr "关闭地图显示%d"
 
-#: ../gui/wxpython/lmgr/frame.py:646
+#: ../gui/wxpython/lmgr/frame.py:655
 #, python-format
 msgid ""
 "Command '%s' not yet implemented in the WxGUI. Try adding it as a command "
 "layer instead."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:807 ../gui/wxpython/lmgr/frame.py:1742
+#: ../gui/wxpython/lmgr/frame.py:816 ../gui/wxpython/lmgr/frame.py:1756
 #, fuzzy
 msgid "Selected map layer is not vector."
 msgstr "栅格地图 [%s] 未发现"
 
-#: ../gui/wxpython/lmgr/frame.py:812
+#: ../gui/wxpython/lmgr/frame.py:821
 #, fuzzy
 msgid "Editing is allowed only for vector maps from the current mapset."
 msgstr "未找到矢量文件 %s"
 
-#: ../gui/wxpython/lmgr/frame.py:836
+#: ../gui/wxpython/lmgr/frame.py:845
 #, fuzzy
 msgid "Choose script file to run"
 msgstr "选择脚本文件"
 
-#: ../gui/wxpython/lmgr/frame.py:838
+#: ../gui/wxpython/lmgr/frame.py:847
 msgid "Python script (*.py)|*.py|Bash script (*.sh)|*.sh"
 msgstr "Python脚本(*.py)|*.py|Bash脚本(*.sh)|*.sh"
 
-#: ../gui/wxpython/lmgr/frame.py:850
+#: ../gui/wxpython/lmgr/frame.py:859
 msgid ""
 "Due to the limitations of your operating system, the script path cannot "
 "contain certain non-ascii characters. Please rename the script or move it to "
 "a different location."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:857
+#: ../gui/wxpython/lmgr/frame.py:866
 #, fuzzy, python-format
 msgid "Script file '%s' doesn't exist. Operation canceled."
 msgstr "脚本'%s'不存在,操作已取消。"
 
-#: ../gui/wxpython/lmgr/frame.py:864
+#: ../gui/wxpython/lmgr/frame.py:873
 #, python-format
 msgid ""
 "Script <%s> is not executable. Do you want to set the permissions that "
 "allows you to run this script (note that you must be the owner of the file)?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:869
+#: ../gui/wxpython/lmgr/frame.py:878
 #, fuzzy
 msgid "Set permission?"
 msgstr "设置地区"
 
-#: ../gui/wxpython/lmgr/frame.py:878
+#: ../gui/wxpython/lmgr/frame.py:887
 #, fuzzy
 msgid "Unable to set permission. Operation canceled."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/lmgr/frame.py:889
+#: ../gui/wxpython/lmgr/frame.py:898
 #, python-format
 msgid ""
 "Directory '%s' is not defined in GRASS_ADDON_PATH. Do you want add this "
 "directory to GRASS_ADDON_PATH?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:892
+#: ../gui/wxpython/lmgr/frame.py:901
 msgid "Update Addons path?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:898
+#: ../gui/wxpython/lmgr/frame.py:907
 #, python-format
 msgid "Launching script '%s'..."
 msgstr "启动脚本 '%s' ..."
 
-#: ../gui/wxpython/lmgr/frame.py:910
+#: ../gui/wxpython/lmgr/frame.py:919
 #, fuzzy
 msgid "No location/mapset provided. Operation canceled."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/lmgr/frame.py:929 ../gui/wxpython/gis_set.py:885
+#: ../gui/wxpython/lmgr/frame.py:938 ../gui/wxpython/gis_set.py:895
 msgid "Enter name for new mapset:"
 msgstr "输入要创建的新地图集名称:"
 
-#: ../gui/wxpython/lmgr/frame.py:930 ../gui/wxpython/gis_set.py:526
-#: ../gui/wxpython/gis_set.py:886 ../gui/wxpython/menustrings.py:236
+#: ../gui/wxpython/lmgr/frame.py:939 ../gui/wxpython/gis_set.py:536
+#: ../gui/wxpython/gis_set.py:896 ../gui/wxpython/menustrings.py:236
 msgid "Create new mapset"
 msgstr "创建新数据集"
 
-#: ../gui/wxpython/lmgr/frame.py:936 ../gui/wxpython/lmgr/frame.py:957
+#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:966
 #, fuzzy
 msgid "No mapset provided. Operation canceled."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/lmgr/frame.py:945 ../gui/wxpython/lmgr/frame.py:964
+#: ../gui/wxpython/lmgr/frame.py:954 ../gui/wxpython/lmgr/frame.py:973
 #, python-format
 msgid "Current mapset is <%s>."
 msgstr "当前地图集为<%s>."
 
-#: ../gui/wxpython/lmgr/frame.py:986
+#: ../gui/wxpython/lmgr/frame.py:995
 #, python-format
 msgid ""
 "Working directory changed to:\n"
 "\"%s\""
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:993
+#: ../gui/wxpython/lmgr/frame.py:1002
 #, fuzzy
 msgid "Changes current working directory for this GUI."
 msgstr "改变工作环境"
 
-#: ../gui/wxpython/lmgr/frame.py:995
+#: ../gui/wxpython/lmgr/frame.py:1004
 #, fuzzy
 msgid "Usage: cd [directory]"
 msgstr "选择GIS数据目录:"
 
-#: ../gui/wxpython/lmgr/frame.py:996
+#: ../gui/wxpython/lmgr/frame.py:1005
 msgid "Without parameters it opens a dialog."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1000
+#: ../gui/wxpython/lmgr/frame.py:1009
 msgid ""
 "If ~ (tilde) is present as the first directory on the path, it is replaced "
 "by user's home directory."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1014
+#: ../gui/wxpython/lmgr/frame.py:1023
 msgid "More than one parameter provided."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1034
+#: ../gui/wxpython/lmgr/frame.py:1043
 #, fuzzy
 msgid "Choose a working directory"
 msgstr "新GIS数据目录"
 
-#: ../gui/wxpython/lmgr/frame.py:1079
+#: ../gui/wxpython/lmgr/frame.py:1088
 msgid "System Info"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1094
+#: ../gui/wxpython/lmgr/frame.py:1103
 #, fuzzy
 msgid "GRASS version"
 msgstr "显示当前GRASS版本"
 
-#: ../gui/wxpython/lmgr/frame.py:1094 ../gui/wxpython/gui_core/ghelp.py:114
+#: ../gui/wxpython/lmgr/frame.py:1103 ../gui/wxpython/gui_core/ghelp.py:114
 msgid "unknown version"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1095
+#: ../gui/wxpython/lmgr/frame.py:1104
 #, fuzzy
-msgid "GRASS SVN Revision"
+msgid "GRASS SVN revision"
 msgstr "区域"
 
-#: ../gui/wxpython/lmgr/frame.py:1096 ../gui/wxpython/gui_core/ghelp.py:152
-msgid "Build Date"
+#: ../gui/wxpython/lmgr/frame.py:1105
+msgid "Build date"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1097
-msgid "Build Platform"
+#: ../gui/wxpython/lmgr/frame.py:1106
+msgid "Build platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1102
+#: ../gui/wxpython/lmgr/frame.py:1111
 msgid "Platform"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1160
+#: ../gui/wxpython/lmgr/frame.py:1169
 msgid ""
 "Current workspace is not empty. Do you want to store current settings to "
 "workspace file?"
 msgstr "当前工作区非空,是否将当前设置保存到工作区文件?"
 
-#: ../gui/wxpython/lmgr/frame.py:1163
+#: ../gui/wxpython/lmgr/frame.py:1172
 msgid "Create new workspace?"
 msgstr "是否创建新工作区?"
 
-#: ../gui/wxpython/lmgr/frame.py:1189
+#: ../gui/wxpython/lmgr/frame.py:1198
 msgid "Choose workspace file"
 msgstr "选择工作区文件"
 
-#: ../gui/wxpython/lmgr/frame.py:1190 ../gui/wxpython/lmgr/frame.py:1387
+#: ../gui/wxpython/lmgr/frame.py:1199 ../gui/wxpython/lmgr/frame.py:1401
 msgid "GRASS Workspace File (*.gxw)|*.gxw"
 msgstr "GRASS工作区文件(*.gxw)|*.gxw"
 
-#: ../gui/wxpython/lmgr/frame.py:1228 ../gui/wxpython/lmgr/frame.py:1364
+#: ../gui/wxpython/lmgr/frame.py:1237 ../gui/wxpython/lmgr/frame.py:1378
 msgid "Please wait, loading workspace..."
 msgstr "请稍候,工作区加载中..."
 
-#: ../gui/wxpython/lmgr/frame.py:1348
+#: ../gui/wxpython/lmgr/frame.py:1362
 msgid "Choose GRC file to load"
 msgstr "选择要加载的GRC文件"
 
-#: ../gui/wxpython/lmgr/frame.py:1349
+#: ../gui/wxpython/lmgr/frame.py:1363
 msgid "Old GRASS Workspace File (*.grc)|*.grc"
 msgstr "旧版本工作区文件(*.grc)|*.grc"
 
-#: ../gui/wxpython/lmgr/frame.py:1386
+#: ../gui/wxpython/lmgr/frame.py:1400
 msgid "Choose file to save current workspace"
 msgstr "选择用来保存当前工作区的文件"
 
-#: ../gui/wxpython/lmgr/frame.py:1401 ../gui/wxpython/lmgr/frame.py:1417
+#: ../gui/wxpython/lmgr/frame.py:1415 ../gui/wxpython/lmgr/frame.py:1431
 #, python-format
 msgid "Workspace file <%s> already exists. Do you want to overwrite this file?"
 msgstr "工作区文件<%s>已经存在,是否覆盖?"
 
-#: ../gui/wxpython/lmgr/frame.py:1403 ../gui/wxpython/lmgr/frame.py:1420
+#: ../gui/wxpython/lmgr/frame.py:1417 ../gui/wxpython/lmgr/frame.py:1434
 #: ../gui/wxpython/menustrings.py:10
 msgid "Save workspace"
 msgstr "保存工作区"
 
-#: ../gui/wxpython/lmgr/frame.py:1441
+#: ../gui/wxpython/lmgr/frame.py:1455
 msgid "Writing current settings to workspace file failed."
 msgstr "保存当前设置到工作区文件失败。"
 
-#: ../gui/wxpython/lmgr/frame.py:1488
+#: ../gui/wxpython/lmgr/frame.py:1502
 #, fuzzy
 msgid "Enter new name:"
 msgstr "输出的表名称"
 
-#: ../gui/wxpython/lmgr/frame.py:1494
+#: ../gui/wxpython/lmgr/frame.py:1508
 #, python-brace-format
 msgid "GRASS GIS {version} Map Display: {name} - Location: {loc}"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1574
+#: ../gui/wxpython/lmgr/frame.py:1588
 #, python-format
 msgid ""
 "Unable to launch \"Supervised Classification Tool\".\n"
@@ -8270,33 +8322,33 @@ msgid ""
 "Reason: %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:1614
+#: ../gui/wxpython/lmgr/frame.py:1628
 #, fuzzy
 msgid "Unable to start Timeline Tool."
 msgstr "无法插入新行:%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1624
+#: ../gui/wxpython/lmgr/frame.py:1638
 #, fuzzy
 msgid "Unable to start Temporal Plot Tool."
 msgstr "无法插入新行:%s"
 
-#: ../gui/wxpython/lmgr/frame.py:1852
+#: ../gui/wxpython/lmgr/frame.py:1866
 #, fuzzy
 msgid "Add selected map layers into layer tree"
 msgstr "加载地图层到层列表"
 
-#: ../gui/wxpython/lmgr/frame.py:1886 ../gui/wxpython/lmgr/frame.py:1933
+#: ../gui/wxpython/lmgr/frame.py:1900 ../gui/wxpython/lmgr/frame.py:1947
 #, fuzzy, python-format
 msgid "Unsupported map layer type <%s>."
 msgstr "无法读取 [%s] 的文件头"
 
-#: ../gui/wxpython/lmgr/frame.py:2062
+#: ../gui/wxpython/lmgr/frame.py:2076
 msgid ""
 "Note that cell values can only be displayed for regions of less than 10,000 "
 "cells."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2144
+#: ../gui/wxpython/lmgr/frame.py:2158
 #, python-format
 msgid ""
 "Do you want to remove map layer(s)\n"
@@ -8307,73 +8359,68 @@ msgstr ""
 "%s\n"
 "从层列表中移除?"
 
-#: ../gui/wxpython/lmgr/frame.py:2147
+#: ../gui/wxpython/lmgr/frame.py:2161
 msgid "Do you want to remove selected map layer(s) from layer tree?"
 msgstr ""
 "是否将选中的图层\n"
 "%s\n"
 "从层列表中移除?"
 
-#: ../gui/wxpython/lmgr/frame.py:2151
+#: ../gui/wxpython/lmgr/frame.py:2165
 msgid "Remove map layer"
 msgstr "移除图层"
 
-#: ../gui/wxpython/lmgr/frame.py:2233
+#: ../gui/wxpython/lmgr/frame.py:2247
 msgid "Quit GRASS GUI"
 msgstr "退出GRASS"
 
-#: ../gui/wxpython/lmgr/frame.py:2264
+#: ../gui/wxpython/lmgr/frame.py:2278
 #, fuzzy
 msgid "Unable to exit GRASS shell: unknown PID"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/lmgr/frame.py:2274
-#, fuzzy
-msgid "No map layer selected. Operation canceled."
-msgstr "没有选择图层,操作已取消。"
-
-#: ../gui/wxpython/lmgr/frame.py:2284
+#: ../gui/wxpython/lmgr/frame.py:2298
 msgid ""
 "Display resolution is currently not constrained to computational settings. "
 "It's suggested to constrain map to region geometry. Do you want to constrain "
 "the resolution?"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/frame.py:2293
+#: ../gui/wxpython/lmgr/frame.py:2307
 #, fuzzy
 msgid "Constrain map to region geometry?"
 msgstr "只打印栅格图的区域"
 
-#: ../gui/wxpython/lmgr/pyshell.py:37
+#: ../gui/wxpython/lmgr/pyshell.py:38
 #, python-format
 msgid "Welcome to wxGUI Interactive Python Shell %s"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:38
+#: ../gui/wxpython/lmgr/pyshell.py:39
 #, python-format
 msgid "Type %s for more GRASS scripting related information."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:39
+#: ../gui/wxpython/lmgr/pyshell.py:40
 #, python-format
 msgid "Type %s to add raster or vector to the layer tree."
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:49
+#: ../gui/wxpython/lmgr/pyshell.py:50
 msgid "Delete all text from the shell"
 msgstr ""
 
-#: ../gui/wxpython/lmgr/pyshell.py:99
+#: ../gui/wxpython/lmgr/pyshell.py:100
 #, fuzzy, python-format
 msgid "Raster or vector map <%s> not found"
 msgstr "未发现矢量地图<%s>"
 
-#: ../gui/wxpython/lmgr/pyshell.py:106
+#: ../gui/wxpython/lmgr/pyshell.py:107
 #, fuzzy, python-format
 msgid "Raster map <%s> added"
 msgstr "dig_att文件不存在。"
 
-#: ../gui/wxpython/lmgr/pyshell.py:108
+#: ../gui/wxpython/lmgr/pyshell.py:109
 #, fuzzy, python-format
 msgid "Vector map <%s> added"
 msgstr "dig_att文件不存在。"
@@ -8439,7 +8486,7 @@ msgstr "导入/链接栅格或矢量数据"
 msgid "Raster Map Calculator"
 msgstr "栅格地图计算器"
 
-#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1201
+#: ../gui/wxpython/lmgr/toolbars.py:140 ../gui/wxpython/gui_core/forms.py:1212
 msgid "Graphical Modeler"
 msgstr "建模器图形界面"
 
@@ -8533,7 +8580,7 @@ msgid "Ignore changes and close dialog"
 msgstr ""
 
 #: ../gui/wxpython/vdigit/dialogs.py:148
-#: ../gui/wxpython/web_services/dialogs.py:632
+#: ../gui/wxpython/web_services/dialogs.py:650
 msgid "Apply changes and close dialog"
 msgstr ""
 
@@ -8873,29 +8920,29 @@ msgstr ""
 msgid "Z bulk-labeling dialog"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:64
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:68
 #, fuzzy
 msgid "GRASS GIS Vector Digitizer"
 msgstr "矢量地图 %s - 未发现"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:80
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:84
 #, fuzzy, python-format
 msgid "Vector digitizer not available. %s"
 msgstr "矢量文件 [%s] 不可用"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:85
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:89
 #, fuzzy, python-format
 msgid ""
 "Vector map <%s> not found in current mapset. New vector map can be created "
 "by providing '-c' flag."
 msgstr "未发现矢量地图<%s>"
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:88
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
 #, python-format
 msgid "New vector map <%s> created"
 msgstr ""
 
-#: ../gui/wxpython/vdigit/g.gui.vdigit.py:92
+#: ../gui/wxpython/vdigit/g.gui.vdigit.py:96
 #, fuzzy, python-format
 msgid "Unable to create new vector map <%s>"
 msgstr "无法找到矢量地图 [%s]"
@@ -9106,7 +9153,7 @@ msgstr "矢量地图 %s - 未发现"
 msgid "Additional tools (copy, flip, connect, etc.)"
 msgstr "更多工具(复制,翻转,连接等)"
 
-#: ../gui/wxpython/vdigit/toolbars.py:174
+#: ../gui/wxpython/vdigit/toolbars.py:174 ../gui/wxpython/rdigit/toolbars.py:33
 msgid "Undo"
 msgstr "撤消"
 
@@ -9184,7 +9231,7 @@ msgstr "非三维矢量地图,操作已取消。"
 #: ../gui/wxpython/vdigit/toolbars.py:819
 #: ../gui/wxpython/vdigit/toolbars.py:957
 #: ../gui/wxpython/vdigit/toolbars.py:1045
-#: ../gui/wxpython/gui_core/dialogs.py:190
+#: ../gui/wxpython/gui_core/dialogs.py:181
 msgid "Select vector map"
 msgstr ""
 
@@ -9213,11 +9260,6 @@ msgid ""
 "Unsupported feature type '%(type)s'. Unable to edit OGR layer <%(layer)s>."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/vdigit/toolbars.py:916
-#, fuzzy
-msgid "Vector digitizer"
-msgstr "矢量地图 %s - 未发现"
-
 #: ../gui/wxpython/vdigit/toolbars.py:965
 #, python-format
 msgid "Do you want to save changes in vector map <%s>?"
@@ -9242,186 +9284,186 @@ msgstr ""
 msgid "New vector map"
 msgstr "新矢量地图"
 
-#: ../gui/wxpython/web_services/dialogs.py:90
+#: ../gui/wxpython/web_services/dialogs.py:91
 #, fuzzy
 msgid " Server settings "
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/web_services/dialogs.py:93
+#: ../gui/wxpython/web_services/dialogs.py:94
 msgid "Server:"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:97
+#: ../gui/wxpython/web_services/dialogs.py:98
 #, fuzzy
 msgid "&Connect"
 msgstr "相关性"
 
-#: ../gui/wxpython/web_services/dialogs.py:98
+#: ../gui/wxpython/web_services/dialogs.py:99
 #, fuzzy
 msgid "Connect to the server"
 msgstr "通过DBMI连接到数据库。"
 
-#: ../gui/wxpython/web_services/dialogs.py:102
+#: ../gui/wxpython/web_services/dialogs.py:103
 #, fuzzy
 msgid "Show advanced connection settings"
 msgstr "改变光线设置"
 
-#: ../gui/wxpython/web_services/dialogs.py:103
+#: ../gui/wxpython/web_services/dialogs.py:104
 #, fuzzy
 msgid "Hide advanced connection settings"
 msgstr "改变光线设置"
 
-#: ../gui/wxpython/web_services/dialogs.py:118
+#: ../gui/wxpython/web_services/dialogs.py:119
 #, fuzzy
 msgid " Layer Manager Settings "
 msgstr "改变区域设置"
 
-#: ../gui/wxpython/web_services/dialogs.py:121
+#: ../gui/wxpython/web_services/dialogs.py:122
 #, fuzzy
 msgid "Output layer name:"
 msgstr "输出图层的名称"
 
-#: ../gui/wxpython/web_services/dialogs.py:236
+#: ../gui/wxpython/web_services/dialogs.py:243
 msgid "Username:"
 msgstr "用户名:"
 
-#: ../gui/wxpython/web_services/dialogs.py:240
+#: ../gui/wxpython/web_services/dialogs.py:247
 msgid "Password:"
 msgstr "密码:"
 
-#: ../gui/wxpython/web_services/dialogs.py:281
-#: ../gui/wxpython/gui_core/gselect.py:1796
+#: ../gui/wxpython/web_services/dialogs.py:288
+#: ../gui/wxpython/gui_core/gselect.py:1803
 msgid "No data source defined, settings are not saved."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:354
+#: ../gui/wxpython/web_services/dialogs.py:372
 #, fuzzy, python-format
 msgid "Connecting to <%s>..."
 msgstr "通过DEM计算阴影..."
 
-#: ../gui/wxpython/web_services/dialogs.py:420
+#: ../gui/wxpython/web_services/dialogs.py:438
 #, fuzzy
 msgid "Available web services"
 msgstr "列出可用的格式并退出"
 
-#: ../gui/wxpython/web_services/dialogs.py:428
+#: ../gui/wxpython/web_services/dialogs.py:446
 #, fuzzy, python-format
 msgid "Connected to <%s>"
 msgstr "无法写入 <%s>"
 
-#: ../gui/wxpython/web_services/dialogs.py:433
+#: ../gui/wxpython/web_services/dialogs.py:451
 #, fuzzy, python-format
 msgid "Unable to connect to <%s>"
 msgstr "无法创建文件 [%s]"
 
-#: ../gui/wxpython/web_services/dialogs.py:477
+#: ../gui/wxpython/web_services/dialogs.py:495
 #: ../gui/wxpython/menustrings.py:24 ../gui/wxpython/menustrings.py:25
 msgid "Add web service layer"
 msgstr "添加网络图层"
 
-#: ../gui/wxpython/web_services/dialogs.py:487
+#: ../gui/wxpython/web_services/dialogs.py:505
 #: ../gui/wxpython/dbmgr/base.py:2828
 msgid "&Add layer"
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:488
+#: ../gui/wxpython/web_services/dialogs.py:506
 #, fuzzy
 msgid "Add selected web service layers as map layer into layer tree"
 msgstr "加载地图层到层列表"
 
-#: ../gui/wxpython/web_services/dialogs.py:581
+#: ../gui/wxpython/web_services/dialogs.py:599
 #, fuzzy
 msgid "Web service layer properties"
 msgstr "要素类型"
 
-#: ../gui/wxpython/web_services/dialogs.py:626
+#: ../gui/wxpython/web_services/dialogs.py:644
 msgid "&Apply"
 msgstr "应用改动(&A)"
 
-#: ../gui/wxpython/web_services/dialogs.py:631
+#: ../gui/wxpython/web_services/dialogs.py:649
 msgid "&OK"
 msgstr "&OK"
 
-#: ../gui/wxpython/web_services/dialogs.py:793
+#: ../gui/wxpython/web_services/dialogs.py:811
 #, fuzzy
 msgid "Name for output raster map:"
 msgstr "输出的栅格地图名称:"
 
-#: ../gui/wxpython/web_services/dialogs.py:799
+#: ../gui/wxpython/web_services/dialogs.py:817
 #, fuzzy
 msgid "Export region"
 msgstr "设置地区"
 
-#: ../gui/wxpython/web_services/dialogs.py:803
+#: ../gui/wxpython/web_services/dialogs.py:821
 #: ../gui/wxpython/menustrings.py:17
 msgid "Map display"
 msgstr "地图显示"
 
-#: ../gui/wxpython/web_services/dialogs.py:806
+#: ../gui/wxpython/web_services/dialogs.py:824
 #, fuzzy
 msgid "Named region"
 msgstr "设置地区"
 
-#: ../gui/wxpython/web_services/dialogs.py:807
+#: ../gui/wxpython/web_services/dialogs.py:825
 msgid "Extent and resolution are based on Map Display geometry."
 msgstr ""
 
-#: ../gui/wxpython/web_services/dialogs.py:809
+#: ../gui/wxpython/web_services/dialogs.py:827
 #, fuzzy
 msgid "Extent and resolution are based on computational region."
 msgstr "不更新当前区域"
 
-#: ../gui/wxpython/web_services/dialogs.py:811
+#: ../gui/wxpython/web_services/dialogs.py:829
 #, fuzzy
 msgid "Extent and resolution are based on named region."
 msgstr "从指定的区域设置当前区域"
 
-#: ../gui/wxpython/web_services/dialogs.py:816
+#: ../gui/wxpython/web_services/dialogs.py:834
 #, fuzzy
 msgid "Overwrite existing raster map"
 msgstr "已有栅格文件的名称"
 
-#: ../gui/wxpython/web_services/dialogs.py:820
+#: ../gui/wxpython/web_services/dialogs.py:838
 #, fuzzy
 msgid "Choose named region:"
 msgstr "选择GIS数据目录:"
 
-#: ../gui/wxpython/web_services/dialogs.py:829
+#: ../gui/wxpython/web_services/dialogs.py:847
 #, fuzzy
 msgid "&Save layer"
 msgstr "移除图层"
 
-#: ../gui/wxpython/web_services/dialogs.py:830
+#: ../gui/wxpython/web_services/dialogs.py:848
 #, fuzzy
 msgid "Save web service layer as raster map"
 msgstr "添加网格层"
 
-#: ../gui/wxpython/web_services/dialogs.py:944
+#: ../gui/wxpython/web_services/dialogs.py:962
 #, fuzzy
 msgid "Missing output raster."
 msgstr "输出栅格地图 %s ... "
 
-#: ../gui/wxpython/web_services/dialogs.py:948
+#: ../gui/wxpython/web_services/dialogs.py:966
 #, fuzzy
 msgid "Output map can be added only to current mapset."
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/web_services/dialogs.py:952
+#: ../gui/wxpython/web_services/dialogs.py:970
 #, fuzzy, python-format
 msgid "Output map <%s> already exists"
 msgstr "dig_att文件不存在。"
 
-#: ../gui/wxpython/web_services/dialogs.py:972
+#: ../gui/wxpython/web_services/dialogs.py:990
 #, fuzzy, python-format
 msgid "Region <%s> does not exist."
 msgstr "栅格地图 [%s] 未发现"
 
-#: ../gui/wxpython/web_services/dialogs.py:1000
+#: ../gui/wxpython/web_services/dialogs.py:1018
 #, fuzzy
 msgid "Downloading data..."
 msgstr "读取地图"
 
-#: ../gui/wxpython/web_services/dialogs.py:1027
+#: ../gui/wxpython/web_services/dialogs.py:1045
 #, fuzzy
 msgid "Unable to fetch data.\n"
 msgstr "无法获取数据"
@@ -9540,7 +9582,8 @@ msgid "Choose output layer name.\n"
 msgstr "输出图层的名称"
 
 #: ../gui/wxpython/web_services/widgets.py:860
-#: ../gui/wxpython/gui_core/dialogs.py:1631
+#: ../gui/wxpython/modules/import_export.py:69
+#: ../gui/wxpython/gui_core/forms.py:1710
 msgid "Layer name"
 msgstr ""
 
@@ -9556,8 +9599,8 @@ msgstr "要素类型"
 
 #: ../gui/wxpython/web_services/widgets.py:1088
 #, fuzzy
-msgid "Add default servers"
-msgstr "添加网格层"
+msgid "Add default"
+msgstr " 默认颜色\n"
 
 #: ../gui/wxpython/web_services/widgets.py:1105
 #, python-format
@@ -9566,23 +9609,23 @@ msgid ""
 "Keeping user defined server"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:107
+#: ../gui/wxpython/gis_set.py:111
 msgid "1. Select GRASS GIS database directory"
 msgstr "1. 选择GRASS数据库目录"
 
-#: ../gui/wxpython/gis_set.py:109
+#: ../gui/wxpython/gis_set.py:113
 msgid "2. Select GRASS Location"
 msgstr "2. 选择GRASS地点"
 
-#: ../gui/wxpython/gis_set.py:111
+#: ../gui/wxpython/gis_set.py:115
 msgid "3. Select GRASS Mapset"
 msgstr "3. 选择GRASS地图集"
 
-#: ../gui/wxpython/gis_set.py:129
+#: ../gui/wxpython/gis_set.py:133
 msgid "GRASS GIS database directory contains Locations."
 msgstr "包含GRASS地点的GRASS GIS数据库目录。"
 
-#: ../gui/wxpython/gis_set.py:133
+#: ../gui/wxpython/gis_set.py:137
 msgid ""
 "All data in one Location is in the same  coordinate reference system "
 "(projection). One Location can be one project. Location contains Mapsets."
@@ -9590,138 +9633,145 @@ msgstr ""
 "一个地点下的所有数据具有相同的坐标参考系统(即投影)。可将地点定义为一个投影。"
 "地点下包含地图集。"
 
-#: ../gui/wxpython/gis_set.py:141
+#: ../gui/wxpython/gis_set.py:145
 msgid ""
 "Mapset contains GIS data related to one project, task within one project, "
 "subregion or user."
 msgstr "地图集包含某个投影、其相关操作、子区域或用户的GIS数据。"
 
-#: ../gui/wxpython/gis_set.py:156
+#: ../gui/wxpython/gis_set.py:160
 msgid "Start &GRASS session"
 msgstr "启动&GRASS会话"
 
-#: ../gui/wxpython/gis_set.py:162
+#: ../gui/wxpython/gis_set.py:166
 msgid "&Browse"
 msgstr "浏览(&B)"
 
-#: ../gui/wxpython/gis_set.py:164
+#. GTC New mapset
+#: ../gui/wxpython/gis_set.py:169
 msgid "&New"
 msgstr "新建(&N)"
 
-#: ../gui/wxpython/gis_set.py:166
+#: ../gui/wxpython/gis_set.py:171
 msgid "Create a new Mapset in selected Location"
 msgstr "在选定的地点创建新地图集"
 
-#: ../gui/wxpython/gis_set.py:168
+#. GTC New location
+#: ../gui/wxpython/gis_set.py:174
 msgid "N&ew"
 msgstr "新建(&e)"
 
-#: ../gui/wxpython/gis_set.py:169
+#: ../gui/wxpython/gis_set.py:175
 msgid ""
 "Create a new location using location wizard. After location is created "
 "successfully, GRASS session is started."
 msgstr "使用地点向导创建新地点。之后启动GRASS会话。"
 
-#: ../gui/wxpython/gis_set.py:173
+#. GTC Rename location
+#: ../gui/wxpython/gis_set.py:180
 msgid "Ren&ame"
 msgstr "重命名(&a)"
 
-#: ../gui/wxpython/gis_set.py:174 ../gui/wxpython/gis_set.py:637
+#: ../gui/wxpython/gis_set.py:181 ../gui/wxpython/gis_set.py:647
 msgid "Rename selected location"
 msgstr "重命名选中的地点"
 
-#: ../gui/wxpython/gis_set.py:176
+#. GTC Delete location
+#: ../gui/wxpython/gis_set.py:184
 msgid "De&lete"
 msgstr "删除(&l)"
 
-#: ../gui/wxpython/gis_set.py:177 ../gui/wxpython/gis_set.py:707
+#: ../gui/wxpython/gis_set.py:185 ../gui/wxpython/gis_set.py:717
 msgid "Delete selected location"
 msgstr "删除选定地点"
 
-#: ../gui/wxpython/gis_set.py:179 ../gui/wxpython/dbmgr/base.py:2166
+#. GTC Rename mapset
+#: ../gui/wxpython/gis_set.py:188 ../gui/wxpython/dbmgr/base.py:2166
+#: ../gui/wxpython/datacatalog/tree.py:535
 msgid "&Rename"
 msgstr "重命名(&R)"
 
-#: ../gui/wxpython/gis_set.py:180 ../gui/wxpython/gis_set.py:601
+#: ../gui/wxpython/gis_set.py:189 ../gui/wxpython/gis_set.py:611
 msgid "Rename selected mapset"
 msgstr "重命名选中的地图集"
 
-#: ../gui/wxpython/gis_set.py:182
+#. GTC Delete mapset
+#: ../gui/wxpython/gis_set.py:192 ../gui/wxpython/datacatalog/tree.py:529
 msgid "&Delete"
 msgstr "删除(&D)"
 
-#: ../gui/wxpython/gis_set.py:183 ../gui/wxpython/gis_set.py:683
+#: ../gui/wxpython/gis_set.py:193 ../gui/wxpython/gis_set.py:693
 msgid "Delete selected mapset"
 msgstr "删除选中的地图集"
 
-#: ../gui/wxpython/gis_set.py:227
+#: ../gui/wxpython/gis_set.py:237
 #, python-format
 msgid "GRASS GIS %s startup%s"
 msgstr "GRASS GIS %s 启动 %s"
 
-#: ../gui/wxpython/gis_set.py:232
+#: ../gui/wxpython/gis_set.py:242
 msgid "Enter GRASS session"
 msgstr "开始GRASS会话"
 
-#: ../gui/wxpython/gis_set.py:252 ../gui/wxpython/gis_set.py:728
+#: ../gui/wxpython/gis_set.py:262 ../gui/wxpython/gis_set.py:738
 msgid "Unable to set GRASS database. Check your locale settings."
 msgstr "无法设置GRASS数据库。请检查区域设置。"
 
-#: ../gui/wxpython/gis_set.py:270
+#: ../gui/wxpython/gis_set.py:280
 #, python-format
 msgid "ERROR: Location <%s> not found\n"
 msgstr "错误:无法找到地点<%s>\n"
 
-#: ../gui/wxpython/gis_set.py:287
+#: ../gui/wxpython/gis_set.py:297
 #, python-format
 msgid "ERROR: Mapset <%s> not found\n"
 msgstr "错误:无法找到地图集<%s>\n"
 
-#: ../gui/wxpython/gis_set.py:445
+#: ../gui/wxpython/gis_set.py:455
 #, python-format
 msgid "Invalid line in GISRC file (%s):%s\n"
 msgstr "GISRC文件(%s)含有无效行:%s\n"
 
-#: ../gui/wxpython/gis_set.py:477
+#: ../gui/wxpython/gis_set.py:487
 #, python-brace-format
 msgid "Error: {text}"
 msgstr "错误:{text}"
 
-#: ../gui/wxpython/gis_set.py:509
+#: ../gui/wxpython/gis_set.py:519
 #, python-format
 msgid "Do you want to import <%(name)s> to the newly created location?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:513
+#: ../gui/wxpython/gis_set.py:523
 msgid "Import data?"
 msgstr "导入数据?"
 
-#: ../gui/wxpython/gis_set.py:525
+#: ../gui/wxpython/gis_set.py:535
 msgid "Do you want to create new mapset?"
 msgstr "创建新地图集?"
 
-#: ../gui/wxpython/gis_set.py:579
+#: ../gui/wxpython/gis_set.py:589
 #, python-format
 msgid ""
 "Import of <%(name)s> failed.\n"
 "Reason: %(msg)s"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:582
+#: ../gui/wxpython/gis_set.py:592
 #, python-format
 msgid ""
 "Data file <%(name)s> imported successfully. The location's default region "
 "was set from this imported map."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:595
+#: ../gui/wxpython/gis_set.py:605
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
 "This mapset cannot be renamed."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:600 ../gui/wxpython/gis_set.py:636
+#: ../gui/wxpython/gis_set.py:610 ../gui/wxpython/gis_set.py:646
 #, python-format
 msgid ""
 "Current name: %s\n"
@@ -9729,7 +9779,7 @@ msgid ""
 "Enter new name:"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:613
+#: ../gui/wxpython/gis_set.py:623
 #, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9737,7 +9787,7 @@ msgid ""
 "Mapset <%s> already exists in location."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:625
+#: ../gui/wxpython/gis_set.py:635
 #, fuzzy, python-format
 msgid ""
 "Unable to rename mapset.\n"
@@ -9745,7 +9795,7 @@ msgid ""
 "%s"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/gis_set.py:649
+#: ../gui/wxpython/gis_set.py:659
 #, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9753,7 +9803,7 @@ msgid ""
 "Location <%s> already exists in GRASS database."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:662
+#: ../gui/wxpython/gis_set.py:672
 #, fuzzy, python-format
 msgid ""
 "Unable to rename location.\n"
@@ -9761,7 +9811,7 @@ msgid ""
 "%s"
 msgstr "无法创建表:%s"
 
-#: ../gui/wxpython/gis_set.py:674
+#: ../gui/wxpython/gis_set.py:684
 msgid ""
 "Mapset <PERMANENT> is required for valid GRASS location.\n"
 "\n"
@@ -9771,7 +9821,7 @@ msgstr ""
 "\n"
 "不能删除。"
 
-#: ../gui/wxpython/gis_set.py:678
+#: ../gui/wxpython/gis_set.py:688
 #, python-format
 msgid ""
 "Do you want to continue with deleting mapset <%(mapset)s> from location <"
@@ -9783,11 +9833,11 @@ msgstr ""
 "\n"
 "该地图集下的所有地图将会被永久删除!"
 
-#: ../gui/wxpython/gis_set.py:692
+#: ../gui/wxpython/gis_set.py:702
 msgid "Unable to delete mapset"
 msgstr "无法删除地图集"
 
-#: ../gui/wxpython/gis_set.py:703
+#: ../gui/wxpython/gis_set.py:713
 #, python-format
 msgid ""
 "Do you want to continue with deleting location <%s>?\n"
@@ -9798,33 +9848,33 @@ msgstr ""
 "\n"
 "所有该地点下的地图将会被永久删除!"
 
-#: ../gui/wxpython/gis_set.py:718
+#: ../gui/wxpython/gis_set.py:728
 msgid "Unable to delete location"
 msgstr "无法删除地点"
 
-#: ../gui/wxpython/gis_set.py:739
+#: ../gui/wxpython/gis_set.py:749
 #, python-format
 msgid ""
 "No GRASS Location found in '%s'. Create a new Location or choose different "
 "GRASS database directory."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:857
+#: ../gui/wxpython/gis_set.py:867
 #, fuzzy, python-format
 msgid "Path '%s' doesn't exist."
 msgstr "dig_att文件不存在。"
 
-#: ../gui/wxpython/gis_set.py:872 ../gui/wxpython/gui_core/gselect.py:1076
+#: ../gui/wxpython/gis_set.py:882 ../gui/wxpython/gui_core/gselect.py:1079
 #, fuzzy
 msgid "Choose GIS Data Directory"
 msgstr "新GIS数据目录"
 
-#: ../gui/wxpython/gis_set.py:898
+#: ../gui/wxpython/gis_set.py:908
 #, fuzzy, python-format
 msgid "Mapset <%s> already exists."
 msgstr "dig_att文件不存在。"
 
-#: ../gui/wxpython/gis_set.py:903
+#: ../gui/wxpython/gis_set.py:913
 #, python-format
 msgid ""
 "Mapset <%s> is reserved for direct read access to OGR layers. Please "
@@ -9833,17 +9883,17 @@ msgid ""
 "Are you really sure that you want to create this mapset?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:907
+#: ../gui/wxpython/gis_set.py:917
 #, fuzzy
 msgid "Reserved mapset name"
 msgstr "打开设置"
 
-#: ../gui/wxpython/gis_set.py:930
+#: ../gui/wxpython/gis_set.py:940
 #, python-format
 msgid "Unable to create new mapset: %s"
 msgstr "无法创建新地图集: %s"
 
-#: ../gui/wxpython/gis_set.py:943
+#: ../gui/wxpython/gis_set.py:953
 #, python-format
 msgid ""
 "GRASS is already running in selected mapset <%(mapset)s>\n"
@@ -9855,12 +9905,12 @@ msgid ""
 "this operation) and continue?"
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:949 ../gui/wxpython/gis_set.py:961
+#: ../gui/wxpython/gis_set.py:959 ../gui/wxpython/gis_set.py:971
 #, fuzzy
 msgid "Lock file found"
 msgstr "未找到任何记录。\n"
 
-#: ../gui/wxpython/gis_set.py:957
+#: ../gui/wxpython/gis_set.py:967
 msgid ""
 "ARE YOU REALLY SURE?\n"
 "\n"
@@ -9868,7 +9918,7 @@ msgid ""
 "your data. Have another look in the processor manager just to be sure..."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:972
+#: ../gui/wxpython/gis_set.py:982
 #, fuzzy, python-format
 msgid ""
 "Unable to remove '%(lock)s'.\n"
@@ -9876,14 +9926,19 @@ msgid ""
 "Details: %(reason)s"
 msgstr "无法找到矢量地图 [%s]"
 
-#: ../gui/wxpython/gis_set.py:1020
+#: ../gui/wxpython/gis_set.py:1030
 #, python-format
 msgid ""
 "Name <%(name)s> is not a valid name for location or mapset. Please use only "
 "ASCII characters excluding %(chars)s and space."
 msgstr ""
 
-#: ../gui/wxpython/gis_set.py:1091
+#: ../gui/wxpython/gis_set.py:1033 ../gui/wxpython/gui_core/widgets.py:807
+#, fuzzy
+msgid "Invalid name"
+msgstr "无效的区域:%s"
+
+#: ../gui/wxpython/gis_set.py:1101
 #, fuzzy
 msgid ""
 "GRASS needs a directory (GRASS database) in which to store its data. Create "
@@ -9893,31 +9948,157 @@ msgstr ""
 "需为GRASS设置数据存贮目录。若尚未设置,请新建一个目录。较常见的做法是在用户"
 "home目录新建目录\"grassdata\"。"
 
-#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
-#: ../gui/wxpython/menustrings.py:1978
-msgid "&File"
-msgstr "文件(&F)"
+#: ../gui/wxpython/rdigit/dialogs.py:33
+#, fuzzy
+msgid "Create new raster map"
+msgstr "创建新数据集"
 
-#: ../gui/wxpython/menustrings.py:4
-msgid "Workspace"
-msgstr "工作区"
+#: ../gui/wxpython/rdigit/dialogs.py:52
+#, fuzzy
+msgid "Name for new raster map:"
+msgstr "栅格图的名称"
 
-#: ../gui/wxpython/menustrings.py:6
-msgid "Create new workspace"
-msgstr "创建新工作区"
+#: ../gui/wxpython/rdigit/dialogs.py:55
+#, fuzzy
+msgid "Optionally select background raster map:"
+msgstr "输出矢量文件的名称"
 
-#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
-msgid "Open"
-msgstr "打开"
+#: ../gui/wxpython/rdigit/dialogs.py:58
+#, fuzzy
+msgid "New raster map type:"
+msgstr "栅格图的名称"
 
-#: ../gui/wxpython/menustrings.py:8
-msgid "Load workspace from file"
-msgstr "加载工作区文件"
+#: ../gui/wxpython/rdigit/dialogs.py:87
+#, fuzzy
+msgid "Please specify name for a new raster map"
+msgstr "无法关闭新的 g3d 地图"
 
-#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
-#: ../gui/wxpython/modules/colorrules.py:418
-msgid "Save"
-msgstr "保存"
+#: ../gui/wxpython/rdigit/dialogs.py:92
+#, fuzzy, python-format
+msgid ""
+"Raster map <%s> already exists in the current mapset. Do you want to "
+"overwrite it?"
+msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
+
+#: ../gui/wxpython/rdigit/controller.py:116
+#, fuzzy
+msgid "Please select first the raster map"
+msgstr "点模式下不建立拓扑"
+
+#: ../gui/wxpython/rdigit/controller.py:148
+msgid "Right click to finish area"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:153
+msgid "Right click to finish line"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/controller.py:280
+#, fuzzy
+msgid "Do you want to save changes?"
+msgstr "是否保存您对工作区的改动?"
+
+#: ../gui/wxpython/rdigit/controller.py:281
+#, fuzzy
+msgid "Save raster map changes"
+msgstr "导出栅格地图"
+
+#: ../gui/wxpython/rdigit/controller.py:346
+#, fuzzy
+msgid "Failed to create backup copy of edited raster map."
+msgstr "无法插入新行:%s"
+
+#: ../gui/wxpython/rdigit/controller.py:364
+#, fuzzy
+msgid "Failed to create new raster map."
+msgstr "无法插入新行:%s"
+
+#: ../gui/wxpython/rdigit/controller.py:444
+#: ../gui/wxpython/rdigit/controller.py:468
+#, fuzzy
+msgid "Rasterizing..."
+msgstr "读取地图"
+
+#: ../gui/wxpython/rdigit/controller.py:494
+#, fuzzy
+msgid "Failed to set default color table for edited raster map"
+msgstr "根据栅格图层创建/修改色彩表。"
+
+#: ../gui/wxpython/rdigit/toolbars.py:27
+#, fuzzy
+msgid "Digitize area"
+msgstr "矢量化新线"
+
+#: ../gui/wxpython/rdigit/toolbars.py:29
+#, fuzzy
+msgid "Digitize line"
+msgstr "矢量化新线"
+
+#: ../gui/wxpython/rdigit/toolbars.py:31
+#, fuzzy
+msgid "Digitize point"
+msgstr "矢量化新点"
+
+#: ../gui/wxpython/rdigit/toolbars.py:32
+#, fuzzy
+msgid "Save raster map"
+msgstr "栅格地图"
+
+#: ../gui/wxpython/rdigit/toolbars.py:34
+#, fuzzy
+msgid "Quit raster digitizer"
+msgstr "矢量地图 %s - 未发现"
+
+#: ../gui/wxpython/rdigit/toolbars.py:49
+#, fuzzy
+msgid "Select raster map"
+msgstr "导出栅格地图"
+
+#: ../gui/wxpython/rdigit/toolbars.py:60
+msgid "Set drawing color (not raster cell color)"
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:73
+#, fuzzy
+msgid "Cell value:"
+msgstr "比特模式的值"
+
+#: ../gui/wxpython/rdigit/toolbars.py:83
+msgid ""
+"Width of currently digitized line or diameter of a digitized point in map "
+"units."
+msgstr ""
+
+#: ../gui/wxpython/rdigit/toolbars.py:120
+#, fuzzy
+msgid "New raster map"
+msgstr "栅格地图"
+
+#: ../gui/wxpython/menustrings.py:3 ../gui/wxpython/menustrings.py:1930
+#: ../gui/wxpython/menustrings.py:1980
+msgid "&File"
+msgstr "文件(&F)"
+
+#: ../gui/wxpython/menustrings.py:4
+msgid "Workspace"
+msgstr "工作区"
+
+#: ../gui/wxpython/menustrings.py:6
+msgid "Create new workspace"
+msgstr "创建新工作区"
+
+#: ../gui/wxpython/menustrings.py:7 ../gui/wxpython/menustrings.py:1933
+msgid "Open"
+msgstr "打开"
+
+#: ../gui/wxpython/menustrings.py:8
+msgid "Load workspace from file"
+msgstr "加载工作区文件"
+
+#: ../gui/wxpython/menustrings.py:9 ../gui/wxpython/menustrings.py:1935
+#: ../gui/wxpython/modules/colorrules.py:419
+msgid "Save"
+msgstr "保存"
 
 #: ../gui/wxpython/menustrings.py:11 ../gui/wxpython/menustrings.py:1937
 msgid "Save as"
@@ -10636,7 +10817,7 @@ msgstr "建模器界面"
 msgid "Launch Graphical modeler"
 msgstr "启动建模器界面"
 
-#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1967
+#: ../gui/wxpython/menustrings.py:193 ../gui/wxpython/menustrings.py:1969
 msgid "Run model"
 msgstr "运行模型"
 
@@ -10697,7 +10878,7 @@ msgstr "运行脚本"
 msgid "Launches script file."
 msgstr "运行脚本文件"
 
-#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2810
+#: ../gui/wxpython/menustrings.py:207 ../gui/wxpython/gui_core/dialogs.py:2123
 #, fuzzy
 msgid "Close GUI"
 msgstr "关闭"
@@ -10707,8 +10888,8 @@ msgstr "关闭"
 msgid "Quit wxGUI session."
 msgstr "结束GRASS wxGUI对话"
 
-#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2795
-#: ../gui/wxpython/gui_core/dialogs.py:2812
+#: ../gui/wxpython/menustrings.py:209 ../gui/wxpython/gui_core/dialogs.py:2105
+#: ../gui/wxpython/gui_core/dialogs.py:2125
 #, fuzzy
 msgid "Quit GRASS GIS"
 msgstr "退出GRASS"
@@ -12175,8 +12356,8 @@ msgid "Develop vector map"
 msgstr "矢量地图开发"
 
 #: ../gui/wxpython/menustrings.py:542 ../gui/wxpython/menustrings.py:1449
-#: ../gui/wxpython/gui_core/dialogs.py:235
-#: ../gui/wxpython/gui_core/dialogs.py:355
+#: ../gui/wxpython/gui_core/dialogs.py:226
+#: ../gui/wxpython/gui_core/dialogs.py:346
 msgid "Create new vector map"
 msgstr "新建矢量地图"
 
@@ -14110,14 +14291,14 @@ msgstr ""
 #: ../gui/wxpython/menustrings.py:1005 ../gui/wxpython/menustrings.py:1912
 #, fuzzy
 msgid "Temporal plot tool"
-msgstr "时间位移"
+msgstr "栅格图的名称"
 
 #: ../gui/wxpython/menustrings.py:1006 ../gui/wxpython/menustrings.py:1913
 msgid "Plot temporal values."
 msgstr ""
 
-#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1971
-#: ../gui/wxpython/menustrings.py:2014
+#: ../gui/wxpython/menustrings.py:1007 ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:2016
 msgid "&Help"
 msgstr "帮助(&H)"
 
@@ -14231,137 +14412,145 @@ msgstr "添加循环/系列"
 msgid "Adds loop (series) to model"
 msgstr "添加循环/系列到模型"
 
+#: ../gui/wxpython/menustrings.py:1959
+msgid "Add condition"
+msgstr "添加条件"
+
 #: ../gui/wxpython/menustrings.py:1960
+msgid "Adds condition (if/else) to model"
+msgstr "添加模型条件(if/else)"
+
+#: ../gui/wxpython/menustrings.py:1962
 msgid "Adds comment to model"
 msgstr "添加模型注释"
 
-#: ../gui/wxpython/menustrings.py:1961
+#: ../gui/wxpython/menustrings.py:1963
 msgid "Remove item"
 msgstr "移除项目"
 
-#: ../gui/wxpython/menustrings.py:1962
+#: ../gui/wxpython/menustrings.py:1964
 msgid "Remove action/data from model"
 msgstr "从模型中删除动作/数据。"
 
-#: ../gui/wxpython/menustrings.py:1964
+#: ../gui/wxpython/menustrings.py:1966
 msgid "Model properties (name, purpose, etc.)"
 msgstr "模型属性(名称、目的等)"
 
-#: ../gui/wxpython/menustrings.py:1965
+#: ../gui/wxpython/menustrings.py:1967
 msgid "Delete intermediate data"
 msgstr "删除中间数据"
 
-#: ../gui/wxpython/menustrings.py:1966
+#: ../gui/wxpython/menustrings.py:1968
 msgid "Delete intermediate data defined in the model"
 msgstr "删除模型的中间数据"
 
-#: ../gui/wxpython/menustrings.py:1968
+#: ../gui/wxpython/menustrings.py:1970
 msgid "Run entire model"
 msgstr "运行整个模型"
 
-#: ../gui/wxpython/menustrings.py:1969
+#: ../gui/wxpython/menustrings.py:1971
 msgid "Validate model"
 msgstr "验证模型"
 
-#: ../gui/wxpython/menustrings.py:1970
+#: ../gui/wxpython/menustrings.py:1972
 msgid "Validate entire model"
 msgstr "验证整个模型"
 
-#: ../gui/wxpython/menustrings.py:1973
+#: ../gui/wxpython/menustrings.py:1975
 msgid "Display the HTML man pages of Graphical modeler"
 msgstr "显示图形建模器的HTML帮助文件"
 
-#: ../gui/wxpython/menustrings.py:1974
+#: ../gui/wxpython/menustrings.py:1976
 msgid "About Graphical Modeler"
 msgstr "关于图形建模器"
 
-#: ../gui/wxpython/menustrings.py:1975
+#: ../gui/wxpython/menustrings.py:1977
 msgid "Display information about Graphical Modeler"
 msgstr "显示图形建模器信息"
 
-#: ../gui/wxpython/menustrings.py:1981
+#: ../gui/wxpython/menustrings.py:1983
 msgid "Load instruction file"
 msgstr "载入示例文件"
 
-#: ../gui/wxpython/menustrings.py:1983
+#: ../gui/wxpython/menustrings.py:1985
 msgid "Export instruction file"
 msgstr "导出示例文件"
 
-#: ../gui/wxpython/menustrings.py:1985
+#: ../gui/wxpython/menustrings.py:1987
 msgid "Export to PostScript"
 msgstr "导出到PostScript"
 
-#: ../gui/wxpython/menustrings.py:1987
+#: ../gui/wxpython/menustrings.py:1989
 msgid "Export to PDF"
 msgstr "导出到PDF"
 
-#: ../gui/wxpython/menustrings.py:1989 ../gui/wxpython/menustrings.py:1990
+#: ../gui/wxpython/menustrings.py:1991 ../gui/wxpython/menustrings.py:1992
 msgid "Launch ps.map dialog"
 msgstr "启动ps.map对话框"
 
-#: ../gui/wxpython/menustrings.py:1992
+#: ../gui/wxpython/menustrings.py:1994
 msgid "Close Cartographic Composer"
 msgstr "启动地图绘制器"
 
-#: ../gui/wxpython/menustrings.py:1993
+#: ../gui/wxpython/menustrings.py:1995
 msgid "&Insert"
 msgstr "插入(&I)"
 
-#: ../gui/wxpython/menustrings.py:1995
+#: ../gui/wxpython/menustrings.py:1997
 msgid "Add or edit map frame"
 msgstr "添加或编辑地图框架"
 
-#: ../gui/wxpython/menustrings.py:1997
+#: ../gui/wxpython/menustrings.py:1999
 msgid "Add or edit raster map"
 msgstr "添加或编辑栅格图"
 
-#: ../gui/wxpython/menustrings.py:1999
+#: ../gui/wxpython/menustrings.py:2001
 msgid "Add or edit vector map"
 msgstr "添加或编辑矢量图"
 
-#: ../gui/wxpython/menustrings.py:2000
+#: ../gui/wxpython/menustrings.py:2002
 msgid "Map legend"
 msgstr "添加图例"
 
-#: ../gui/wxpython/menustrings.py:2001
+#: ../gui/wxpython/menustrings.py:2003
 msgid "Add or edit raster and vector legend"
 msgstr "添加或编辑图例"
 
-#: ../gui/wxpython/menustrings.py:2003
+#: ../gui/wxpython/menustrings.py:2005
 msgid "Add or edit map info"
 msgstr "添加或编辑地图信息"
 
-#: ../gui/wxpython/menustrings.py:2005
+#: ../gui/wxpython/menustrings.py:2007
 msgid "Add or edit scale bar"
 msgstr "添加或编辑比例尺"
 
-#: ../gui/wxpython/menustrings.py:2011
+#: ../gui/wxpython/menustrings.py:2013
 msgid "Add north arrow"
 msgstr "添加指北针"
 
-#: ../gui/wxpython/menustrings.py:2016
+#: ../gui/wxpython/menustrings.py:2018
 msgid "Display the HTML man pages of Cartographic Composer"
 msgstr "显示地图绘制器HTML帮助文件"
 
-#: ../gui/wxpython/menustrings.py:2017
+#: ../gui/wxpython/menustrings.py:2019
 msgid "About Cartographic Composer"
 msgstr "启动地图绘制"
 
-#: ../gui/wxpython/menustrings.py:2018
+#: ../gui/wxpython/menustrings.py:2020
 msgid "Display information about Cartographic Composer"
 msgstr "显示地图绘制窗口信息"
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:102
+#: ../gui/wxpython/tplot/g.gui.tplot.py:106
 msgid "With stvds you have to set 'attr' option"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:106
+#: ../gui/wxpython/tplot/g.gui.tplot.py:110
 msgid ""
 "With stvds it is not possible to use 'coordinates' and 'cats' options "
 "together"
 msgstr ""
 
-#: ../gui/wxpython/tplot/g.gui.tplot.py:109
+#: ../gui/wxpython/tplot/g.gui.tplot.py:113
 msgid "With stvds you have to use 'coordinates' or 'cats' option"
 msgstr ""
 
@@ -14376,119 +14565,116 @@ msgstr ""
 msgid "GRASS GIS Temporal Plot Tool"
 msgstr "栅格图的名称"
 
-#: ../gui/wxpython/tplot/frame.py:173
+#: ../gui/wxpython/tplot/frame.py:174
 #, fuzzy
 msgid "Raster temporal dataset (strds)"
-msgstr "注册地图到数据集"
+msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/tplot/frame.py:181
+#: ../gui/wxpython/tplot/frame.py:182
 msgid "X and Y coordinates separated by comma:"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:193
+#: ../gui/wxpython/tplot/frame.py:194
 msgid ""
 "Coordinates can be obtained for example by right-clicking on Map Display."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:208
+#: ../gui/wxpython/tplot/frame.py:209
 msgid "STRDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:215
+#: ../gui/wxpython/tplot/frame.py:216
 msgid "Vector temporal dataset (strds)"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:226
+#: ../gui/wxpython/tplot/frame.py:227
 #, fuzzy
 msgid "Select attribute column"
 msgstr "根据要素属性选择"
 
-#: ../gui/wxpython/tplot/frame.py:237
+#: ../gui/wxpython/tplot/frame.py:238
 #, fuzzy
 msgid "Select category of vector(s)"
-msgstr "栅格地图: "
+msgstr "无法打开输入的dig文件。"
 
-#: ../gui/wxpython/tplot/frame.py:255
+#: ../gui/wxpython/tplot/frame.py:256
 msgid "STVDS"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:366
+#: ../gui/wxpython/tplot/frame.py:367
 #, python-brace-format
 msgid "Category {ca} is not on vector map {ma} and it will be used"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:385
+#: ../gui/wxpython/tplot/frame.py:386
 msgid ""
 "Both coordinates and categories are set, coordinates will be used. The use "
 "categories remove text from coordinate form"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:390
+#: ../gui/wxpython/tplot/frame.py:391
 msgid "With Vector temporal dataset you have to select an attribute column"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:440
+#: ../gui/wxpython/tplot/frame.py:441
 msgid ""
 "Difference number of vector layers and maps in the vector temporal dataset"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:478
+#: ../gui/wxpython/tplot/frame.py:479
 #, python-brace-format
 msgid "No connection between vector map {vmap} and layer {la}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:549 ../gui/wxpython/tplot/frame.py:588
-#: ../gui/wxpython/tplot/frame.py:625
+#: ../gui/wxpython/tplot/frame.py:550 ../gui/wxpython/tplot/frame.py:589
+#: ../gui/wxpython/tplot/frame.py:626
 msgid ""
 "Problem getting data from raster temporal dataset. Empty list of values."
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:560 ../gui/wxpython/tplot/frame.py:599
-#: ../gui/wxpython/tplot/frame.py:636
+#: ../gui/wxpython/tplot/frame.py:561 ../gui/wxpython/tplot/frame.py:600
+#: ../gui/wxpython/tplot/frame.py:637
 #, fuzzy, python-format
 msgid "Temporal resolution: %s"
-msgstr "时间数据集合计"
+msgstr "导入地图 %d 的要素..."
 
-#: ../gui/wxpython/tplot/frame.py:671
+#: ../gui/wxpython/tplot/frame.py:672
 msgid "Incorrect coordinates format, should be: x,y"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:678 ../gui/wxpython/tplot/frame.py:682
-#: ../gui/wxpython/tplot/frame.py:697 ../gui/wxpython/tplot/frame.py:818
+#: ../gui/wxpython/tplot/frame.py:679 ../gui/wxpython/tplot/frame.py:683
+#: ../gui/wxpython/tplot/frame.py:698 ../gui/wxpython/tplot/frame.py:819
 #, fuzzy
 msgid "Invalid input coordinates"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/tplot/frame.py:693
+#: ../gui/wxpython/tplot/frame.py:694
 #, fuzzy
 msgid "Invalid input raster dataset"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/tplot/frame.py:710
+#: ../gui/wxpython/tplot/frame.py:711
 #, fuzzy
 msgid "Invalid input vector dataset"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/tplot/frame.py:811
+#: ../gui/wxpython/tplot/frame.py:812
 #, fuzzy
 msgid "Invalid input temporal dataset"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/tplot/frame.py:858
+#: ../gui/wxpython/tplot/frame.py:859
 msgid "Datasets have different number of values"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:888
+#: ../gui/wxpython/tplot/frame.py:889
 #, python-brace-format
 msgid "Value for {date} is {val}"
 msgstr ""
 
-#: ../gui/wxpython/tplot/frame.py:891
-#, fuzzy
+#: ../gui/wxpython/tplot/frame.py:892
 msgid "Press Del to dismiss."
 msgstr ""
-"\n"
-"按Del键解除。"
 
 #: ../gui/wxpython/dbmgr/dialogs.py:74
 #, python-format
@@ -14684,12 +14870,12 @@ msgstr "SQL状态"
 msgid "Dbf driver does not support usage of SQL functions."
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:47
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:51
 #, fuzzy, python-format
 msgid "Loading attribute data for vector map <%s>..."
 msgstr "矢量文件读取错误"
 
-#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:49
+#: ../gui/wxpython/dbmgr/g.gui.dbmgr.py:53
 msgid "GRASS GIS Attribute Table Manager"
 msgstr ""
 
@@ -14805,7 +14991,7 @@ msgid "Field calculator"
 msgstr "地图计算"
 
 #: ../gui/wxpython/dbmgr/base.py:435 ../gui/wxpython/dbmgr/base.py:2088
-#: ../gui/wxpython/modules/colorrules.py:1032
+#: ../gui/wxpython/modules/colorrules.py:1039
 #, fuzzy
 msgid "Add column"
 msgstr "添加命令"
@@ -14909,15 +15095,15 @@ msgstr ""
 msgid "Delete all records"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:685
-#: ../gui/wxpython/gui_core/dialogs.py:738
-#: ../gui/wxpython/gui_core/dialogs.py:1445
-#: ../gui/wxpython/gui_core/widgets.py:817
+#: ../gui/wxpython/dbmgr/base.py:1277 ../gui/wxpython/gui_core/dialogs.py:676
+#: ../gui/wxpython/gui_core/dialogs.py:729
+#: ../gui/wxpython/gui_core/dialogs.py:1436
+#: ../gui/wxpython/gui_core/widgets.py:910
 msgid "Select all"
 msgstr ""
 
-#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1447
-#: ../gui/wxpython/gui_core/widgets.py:818
+#: ../gui/wxpython/dbmgr/base.py:1278 ../gui/wxpython/gui_core/dialogs.py:1438
+#: ../gui/wxpython/gui_core/widgets.py:911
 msgid "Deselect all"
 msgstr ""
 
@@ -15089,7 +15275,7 @@ msgid "Driver"
 msgstr ""
 
 #: ../gui/wxpython/dbmgr/base.py:2642 ../gui/wxpython/dbmgr/base.py:2767
-#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1324
+#: ../gui/wxpython/dbmgr/base.py:3024 ../gui/wxpython/gui_core/gselect.py:1315
 msgid "Database"
 msgstr ""
 
@@ -15214,274 +15400,274 @@ msgstr "无法创建新地点"
 msgid "Field statistics <%s>"
 msgstr "包含结果的栅格图的名称"
 
-#: ../gui/wxpython/modules/colorrules.py:74
+#: ../gui/wxpython/modules/colorrules.py:75
 #, fuzzy
 msgid "Check all"
 msgstr "关闭"
 
-#: ../gui/wxpython/modules/colorrules.py:77
+#: ../gui/wxpython/modules/colorrules.py:78
 msgid "Clear all"
 msgstr "全部清除"
 
-#: ../gui/wxpython/modules/colorrules.py:135
+#: ../gui/wxpython/modules/colorrules.py:136
 #, fuzzy
 msgid "Enter vector attribute values"
 msgstr "查询矢量属性表"
 
-#: ../gui/wxpython/modules/colorrules.py:292
+#: ../gui/wxpython/modules/colorrules.py:293
 msgid "Bad color format. Use color format '0:0:0'"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:385
+#: ../gui/wxpython/modules/colorrules.py:386
 msgid "Select vector map:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:402
+#: ../gui/wxpython/modules/colorrules.py:403
 #, fuzzy
 msgid "Import or export color table:"
 msgstr "保留已有的色彩表"
 
-#: ../gui/wxpython/modules/colorrules.py:407
+#: ../gui/wxpython/modules/colorrules.py:408
 #, fuzzy
 msgid "Choose file to load color table"
 msgstr "选择要加载的GRC文件"
 
-#: ../gui/wxpython/modules/colorrules.py:408
+#: ../gui/wxpython/modules/colorrules.py:409
 #, fuzzy
 msgid "Load"
 msgstr "载入文件"
 
-#: ../gui/wxpython/modules/colorrules.py:409
+#: ../gui/wxpython/modules/colorrules.py:410
 msgid "Type filename or click to choose file and load color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:415
+#: ../gui/wxpython/modules/colorrules.py:416
 #, fuzzy
 msgid "Choose file to save color table"
 msgstr "拷贝表失败"
 
-#: ../gui/wxpython/modules/colorrules.py:416
+#: ../gui/wxpython/modules/colorrules.py:417
 msgid "Type filename or click to choose file and save color table"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:424
+#: ../gui/wxpython/modules/colorrules.py:425
 #, fuzzy
 msgid "&Set"
 msgstr "&设置"
 
-#: ../gui/wxpython/modules/colorrules.py:431
+#: ../gui/wxpython/modules/colorrules.py:432
 #, fuzzy
 msgid "Load color table:"
 msgstr "保存工作区到文件"
 
-#: ../gui/wxpython/modules/colorrules.py:435
+#: ../gui/wxpython/modules/colorrules.py:436
 #, fuzzy
 msgid "Load color table from file:"
 msgstr "保存工作区到文件"
 
-#: ../gui/wxpython/modules/colorrules.py:438
+#: ../gui/wxpython/modules/colorrules.py:439
 #, fuzzy
 msgid "Save color table to file:"
 msgstr "保存工作区到文件"
 
-#: ../gui/wxpython/modules/colorrules.py:467
+#: ../gui/wxpython/modules/colorrules.py:468
 #, fuzzy
 msgid "Reload default table"
 msgstr "栅格图的名称"
 
-#: ../gui/wxpython/modules/colorrules.py:523
+#: ../gui/wxpython/modules/colorrules.py:524
 #: ../gui/wxpython/iclass/toolbars.py:66
 msgid "Preview"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:527
+#: ../gui/wxpython/modules/colorrules.py:528
 msgid "Show preview of map (current Map Display extent is used)."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:560
-#: ../gui/wxpython/modules/colorrules.py:1726
+#: ../gui/wxpython/modules/colorrules.py:561
+#: ../gui/wxpython/modules/colorrules.py:1733
 #, fuzzy
 msgid "No valid color rules given."
 msgstr "没有指定数据地图"
 
-#: ../gui/wxpython/modules/colorrules.py:606
+#: ../gui/wxpython/modules/colorrules.py:607
 #, fuzzy, python-format
 msgid "File <%s> already already exists. Do you want to overwrite it?"
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
-#: ../gui/wxpython/modules/colorrules.py:619
-#: ../gui/wxpython/gui_core/forms.py:1914
+#: ../gui/wxpython/modules/colorrules.py:620
+#: ../gui/wxpython/gui_core/forms.py:1992
 #, fuzzy
 msgid "Nothing to save."
 msgstr "未找到任何记录。\n"
 
-#: ../gui/wxpython/modules/colorrules.py:652
+#: ../gui/wxpython/modules/colorrules.py:653
 #, fuzzy
 msgid "Invalid color table format"
 msgstr "无法为色彩条读取颜色"
 
-#: ../gui/wxpython/modules/colorrules.py:729
+#: ../gui/wxpython/modules/colorrules.py:730
 #, python-format
 msgid "Invalid rule value '%s'. Unable to apply color table."
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:807
+#: ../gui/wxpython/modules/colorrules.py:809
 msgid "Create new color table for raster map"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:883
+#: ../gui/wxpython/modules/colorrules.py:886
 #, fuzzy
 msgid "Enter raster category values or percents"
 msgstr "编辑 [%s] 的类别文件?"
 
-#: ../gui/wxpython/modules/colorrules.py:889
+#: ../gui/wxpython/modules/colorrules.py:892
 #, fuzzy
 msgid "fp range"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/modules/colorrules.py:890
+#: ../gui/wxpython/modules/colorrules.py:893
 #, python-format
 msgid "Enter raster category values or percents (%(range)s = %(min)d-%(max)d)"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:978
+#: ../gui/wxpython/modules/colorrules.py:985
 #, fuzzy
 msgid "Create new color rules for vector map"
 msgstr "为 GRASS 矢量文件和附加属性创建标签。"
 
-#: ../gui/wxpython/modules/colorrules.py:990
-#: ../gui/wxpython/modules/colorrules.py:1521
+#: ../gui/wxpython/modules/colorrules.py:997
+#: ../gui/wxpython/modules/colorrules.py:1528
 #, fuzzy
 msgid "Enter vector attribute values or percents:"
 msgstr "编辑 [%s] 的类别文件?"
 
-#: ../gui/wxpython/modules/colorrules.py:992
-#: ../gui/wxpython/modules/colorrules.py:1523
+#: ../gui/wxpython/modules/colorrules.py:999
+#: ../gui/wxpython/modules/colorrules.py:1530
 #, fuzzy
 msgid "Enter vector attribute values:"
 msgstr "查询矢量属性表"
 
-#: ../gui/wxpython/modules/colorrules.py:1003
+#: ../gui/wxpython/modules/colorrules.py:1010
 #, fuzzy
 msgid "Select vector columns"
 msgstr "无法打开输入的dig文件。"
 
-#: ../gui/wxpython/modules/colorrules.py:1005
+#: ../gui/wxpython/modules/colorrules.py:1012
 msgid "Layer:"
 msgstr "图层"
 
-#: ../gui/wxpython/modules/colorrules.py:1007
+#: ../gui/wxpython/modules/colorrules.py:1014
 msgid "Attribute column:"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Load color from column:"
 msgstr "地图东向和北向格网坐标的起点"
 
-#: ../gui/wxpython/modules/colorrules.py:1010
+#: ../gui/wxpython/modules/colorrules.py:1017
 #, fuzzy
 msgid "Save color to column:"
 msgstr "高程的比例因子"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Load size from column:"
 msgstr "列数"
 
-#: ../gui/wxpython/modules/colorrules.py:1012
+#: ../gui/wxpython/modules/colorrules.py:1019
 #, fuzzy
 msgid "Save size to column:"
 msgstr "列数"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Load width from column:"
 msgstr "无法创建属性表"
 
-#: ../gui/wxpython/modules/colorrules.py:1014
+#: ../gui/wxpython/modules/colorrules.py:1021
 #, fuzzy
 msgid "Save width to column:"
 msgstr "无法创建属性表"
 
-#: ../gui/wxpython/modules/colorrules.py:1018
+#: ../gui/wxpython/modules/colorrules.py:1025
 #, fuzzy
 msgid "Use color column instead of color table:"
 msgstr "设定颜色为预定义颜色表"
 
-#: ../gui/wxpython/modules/colorrules.py:1033
+#: ../gui/wxpython/modules/colorrules.py:1040
 #, fuzzy
 msgid "Add GRASSRGB column to current attribute table."
 msgstr "不能创建属性表。"
 
-#: ../gui/wxpython/modules/colorrules.py:1088
-#: ../gui/wxpython/modules/colorrules.py:1137
+#: ../gui/wxpython/modules/colorrules.py:1095
+#: ../gui/wxpython/modules/colorrules.py:1144
 #, fuzzy
 msgid "Import or export color table"
 msgstr "色彩表类型"
 
-#: ../gui/wxpython/modules/colorrules.py:1149
+#: ../gui/wxpython/modules/colorrules.py:1156
 #, fuzzy, python-format
 msgid ""
 "Database connection for vector map <%s> is not defined in DB file.  Do you "
 "want to create and connect new attribute table?"
 msgstr "数据库连接未定义"
 
-#: ../gui/wxpython/modules/colorrules.py:1152
+#: ../gui/wxpython/modules/colorrules.py:1159
 #, fuzzy
 msgid "No database connection defined"
 msgstr "数据库连接未定义"
 
-#: ../gui/wxpython/modules/colorrules.py:1224
+#: ../gui/wxpython/modules/colorrules.py:1231
 #, fuzzy, python-format
 msgid ""
 "Selected map <%(map)s> is not in current mapset <%(mapset)s>. Attribute "
 "table cannot be edited."
 msgstr "未发现矢量地图<%s>"
 
-#: ../gui/wxpython/modules/colorrules.py:1377
+#: ../gui/wxpython/modules/colorrules.py:1384
 #, fuzzy, python-format
 msgid "%s column already exists."
 msgstr "dig_att文件不存在。"
 
-#: ../gui/wxpython/modules/colorrules.py:1409
+#: ../gui/wxpython/modules/colorrules.py:1416
 #, fuzzy
 msgid "Please wait, loading data from attribute table..."
 msgstr "请稍候,属性数据加载中..."
 
-#: ../gui/wxpython/modules/colorrules.py:1470
+#: ../gui/wxpython/modules/colorrules.py:1477
 #, python-format
 msgid ""
 "Number of loaded records reached %d, displaying all the records will be time-"
 "consuming and may lead to computer freezing, do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/modules/colorrules.py:1474
+#: ../gui/wxpython/modules/colorrules.py:1481
 #, fuzzy
 msgid "Too many records"
 msgstr "没有起始点"
 
-#: ../gui/wxpython/modules/colorrules.py:1516
+#: ../gui/wxpython/modules/colorrules.py:1523
 #, fuzzy, python-format
 msgid "Enter vector attribute values or percents %s:"
 msgstr "编辑 [%s] 的类别文件?"
 
-#: ../gui/wxpython/modules/colorrules.py:1518
+#: ../gui/wxpython/modules/colorrules.py:1525
 #, fuzzy, python-format
 msgid "Enter vector attribute values %s:"
 msgstr "查询矢量属性表"
 
-#: ../gui/wxpython/modules/colorrules.py:1660
+#: ../gui/wxpython/modules/colorrules.py:1667
 #, fuzzy
 msgid "Please select column to save values to."
 msgstr "点模式下不建立拓扑"
 
-#: ../gui/wxpython/modules/colorrules.py:1696
+#: ../gui/wxpython/modules/colorrules.py:1703
 #, fuzzy
 msgid "No color column defined. Operation canceled."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/modules/colorrules.py:1711
+#: ../gui/wxpython/modules/colorrules.py:1718
 msgid "Thematic mapping for vector map in 3D view"
 msgstr ""
 
@@ -15533,23 +15719,23 @@ msgstr "绘制/刷新变异函数"
 msgid ":"
 msgstr ":"
 
-#: ../gui/wxpython/modules/vkrige.py:350
+#: ../gui/wxpython/modules/vkrige.py:359
 msgid "Kriging techniques"
 msgstr "克里金技巧"
 
-#: ../gui/wxpython/modules/vkrige.py:364
+#: ../gui/wxpython/modules/vkrige.py:373
 msgid "Block size:"
 msgstr "块大小:"
 
-#: ../gui/wxpython/modules/vkrige.py:397
+#: ../gui/wxpython/modules/vkrige.py:406
 msgid "Auto-fit variogram"
 msgstr "自动拟合变异函数"
 
-#: ../gui/wxpython/modules/vkrige.py:421
+#: ../gui/wxpython/modules/vkrige.py:432
 msgid "Model: "
 msgstr "  模型:"
 
-#: ../gui/wxpython/modules/vkrige.py:510
+#: ../gui/wxpython/modules/vkrige.py:542
 msgid "Work in progress! No functionality provided."
 msgstr "开发中!暂不可用。"
 
@@ -15780,7 +15966,7 @@ msgid "Save expression to file"
 msgstr "保存当前显示为图片文件"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:143
-#: ../gui/wxpython/gui_core/forms.py:1551
+#: ../gui/wxpython/gui_core/forms.py:1569
 msgid "&Load"
 msgstr ""
 
@@ -15790,7 +15976,7 @@ msgid "Load expression from file"
 msgstr "地图东向和北向格网坐标的起点"
 
 #: ../gui/wxpython/modules/mcalc_builder.py:146
-#: ../gui/wxpython/gui_core/forms.py:530
+#: ../gui/wxpython/gui_core/forms.py:534
 #, fuzzy
 msgid "Copy the current command string to the clipboard"
 msgstr "将当前区域对齐到输入的地图上"
@@ -15967,120 +16153,289 @@ msgstr "列名"
 msgid "'{cmd}' copied to clipboard"
 msgstr "'%s'已复制到剪贴板"
 
-#: ../gui/wxpython/modules/extensions.py:40
-msgid "Fetch & install extension from GRASS Addons"
-msgstr "从GRASS插件获取并安装扩展"
-
-#: ../gui/wxpython/modules/extensions.py:51
-msgid "Repository"
-msgstr "组件库"
-
-#: ../gui/wxpython/modules/extensions.py:53
-msgid "List of extensions - double-click to install"
+#: ../gui/wxpython/modules/import_export.py:43
+msgid "Multiple import"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:71
-#: ../gui/wxpython/gui_core/dialogs.py:1641
-msgid "Options"
-msgstr "选项"
+#: ../gui/wxpython/modules/import_export.py:60
+#, fuzzy
+msgid "List of raster layers"
+msgstr "将要导入的栅格文件"
 
-#: ../gui/wxpython/modules/extensions.py:95
-msgid "&Fetch"
-msgstr "获取(&F)"
+#: ../gui/wxpython/modules/import_export.py:62
+#, fuzzy
+msgid "List of vector layers"
+msgstr "将要导入的栅格文件"
 
-#: ../gui/wxpython/modules/extensions.py:96
-msgid "Fetch list of available modules from GRASS Addons SVN repository"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:64
+#, fuzzy, python-format
+msgid "List of %s layers"
+msgstr "将要导入的栅格文件"
 
-#: ../gui/wxpython/modules/extensions.py:100
-msgid "&Install"
+#: ../gui/wxpython/modules/import_export.py:65
+#: ../gui/wxpython/modules/import_export.py:804
+msgid "right click to (un)select all"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:101
-msgid "Install selected add-ons GRASS module"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:68
+#: ../gui/wxpython/modules/import_export.py:784
+#: ../gui/wxpython/gui_core/forms.py:1709
+#, fuzzy
+msgid "Layer id"
+msgstr "图层 %d"
 
-#: ../gui/wxpython/modules/extensions.py:104
-msgid "Show g.extension manual page"
-msgstr ""
+#: ../gui/wxpython/modules/import_export.py:70
+#, fuzzy
+msgid "Name for output GRASS map (editable)"
+msgstr "输出文件的名称"
 
-#: ../gui/wxpython/modules/extensions.py:168
+#: ../gui/wxpython/modules/import_export.py:73
+#: ../gui/wxpython/modules/import_export.py:75
+#: ../gui/wxpython/gui_core/forms.py:1712
 #, fuzzy
-msgid "Extension not defined"
-msgstr "数据库连接未定义\n"
+msgid "Projection match"
+msgstr "绘制 ... "
 
-#: ../gui/wxpython/modules/extensions.py:191
-msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+#: ../gui/wxpython/modules/import_export.py:86
+#: ../gui/wxpython/gui_core/forms.py:588
+msgid "Close dialog on finish"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:213
-msgid "Install"
+#: ../gui/wxpython/modules/import_export.py:97
+#: ../gui/wxpython/modules/import_export.py:350
+#: ../gui/wxpython/modules/import_export.py:478
+msgid "&Import"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:216
-msgid "Show manual page"
+#: ../gui/wxpython/modules/import_export.py:98
+#: ../gui/wxpython/modules/import_export.py:351
+#: ../gui/wxpython/modules/import_export.py:479
+msgid "Import selected layers"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:315
-#, fuzzy, python-format
-msgid "Unable to load extensions. %s"
-msgstr "无法插入新行:%s"
-
-#: ../gui/wxpython/modules/extensions.py:356
+#: ../gui/wxpython/modules/import_export.py:110
 #, fuzzy
-msgid "Manage installed GRASS Addons extensions"
-msgstr "投影管理"
+msgid "Source settings"
+msgstr "打开设置"
 
-#: ../gui/wxpython/modules/extensions.py:365
+#: ../gui/wxpython/modules/import_export.py:127
 #, fuzzy
-msgid "List of installed extensions"
-msgstr "等高线级数的列表"
+msgid "Import settings"
+msgstr "字体设置"
 
-#: ../gui/wxpython/modules/extensions.py:370
+#: ../gui/wxpython/modules/import_export.py:340
+#: ../gui/wxpython/modules/import_export.py:468
 #, fuzzy
-msgid "Uninstall"
-msgstr "等高线级数的列表"
+msgid "Add linked layers into layer tree"
+msgstr "加载地图层到层列表"
 
-#: ../gui/wxpython/modules/extensions.py:371
-#, fuzzy
-msgid "Uninstall selected Addons extensions"
-msgstr "投影管理"
+#: ../gui/wxpython/modules/import_export.py:342
+#: ../gui/wxpython/modules/import_export.py:470
+#: ../gui/wxpython/modules/import_export.py:677
+msgid "Add imported layers into layer tree"
+msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:372
-msgid "Reinstall"
+#: ../gui/wxpython/modules/import_export.py:347
+#: ../gui/wxpython/modules/import_export.py:475
+msgid "&Link"
 msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:373
-#, fuzzy
-msgid "Reinstall selected Addons extensions"
-msgstr "投影管理"
+#: ../gui/wxpython/modules/import_export.py:348
+#: ../gui/wxpython/modules/import_export.py:476
+msgid "Link selected layers"
+msgstr ""
 
-#: ../gui/wxpython/modules/extensions.py:410
+#: ../gui/wxpython/modules/import_export.py:371
+#: ../gui/wxpython/modules/import_export.py:500
 #, fuzzy
-msgid "No extension selected. Operation canceled."
+msgid "No layers selected. Operation canceled."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/modules/extensions.py:427
-#, python-format
-msgid ""
-"List of files to be removed:\n"
-"%(files)s\n"
-"\n"
-"Do you want really to remove <%(ext)s> extension?"
-msgstr ""
-
-#: ../gui/wxpython/modules/extensions.py:430
+#: ../gui/wxpython/modules/import_export.py:397
 #, fuzzy
-msgid "Remove extension"
-msgstr "删除顶点"
+msgid "Unable to determine number of raster bands"
+msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/modules/extensions.py:461
+#: ../gui/wxpython/modules/import_export.py:591
 #, fuzzy
-msgid "Extension"
-msgstr "数据库连接未定义\n"
+msgid "Define output format for vector data"
+msgstr "输出的栅格/矢量地图"
+
+#: ../gui/wxpython/modules/import_export.py:593
+#, fuzzy
+msgid "Define output format for raster data"
+msgstr "输出的流域栅格图"
+
+#: ../gui/wxpython/modules/import_export.py:601
+msgid "Set external format and close dialog"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:654
+#, fuzzy
+msgid "No data source selected."
+msgstr "没有选中的图层"
+
+#: ../gui/wxpython/modules/import_export.py:667
+msgid "Import DXF layers"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:671
+msgid "Choose DXF file to import"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:695
+#, fuzzy
+msgid "No layers selected."
+msgstr "基础栅格图"
+
+#: ../gui/wxpython/modules/import_export.py:772
+#, fuzzy
+msgid "Reprojection"
+msgstr "投影"
+
+#: ../gui/wxpython/modules/import_export.py:785
+#, fuzzy
+msgid "Name for output GRASS map"
+msgstr "输出文件的名称"
+
+#: ../gui/wxpython/modules/import_export.py:801
+msgid ""
+"Projection of following layers do not match with projection of current "
+"location. "
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:803
+#, fuzzy
+msgid "Layers to be reprojected"
+msgstr "将要导入的二进制栅格文件"
+
+#: ../gui/wxpython/modules/import_export.py:813
+msgid "&Import && reproject"
+msgstr ""
+
+#: ../gui/wxpython/modules/import_export.py:814
+#, fuzzy
+msgid "Reproject selected layers"
+msgstr "删除选中的图层"
+
+#: ../gui/wxpython/modules/extensions.py:40
+msgid "Fetch & install extension from GRASS Addons"
+msgstr "从GRASS插件获取并安装扩展"
+
+#: ../gui/wxpython/modules/extensions.py:51
+msgid "Repository (leave empty to use the official one)"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:53
+msgid "List of extensions - double-click to install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:71
+msgid "Options"
+msgstr "选项"
+
+#: ../gui/wxpython/modules/extensions.py:95
+msgid "&Fetch"
+msgstr "获取(&F)"
+
+#: ../gui/wxpython/modules/extensions.py:96
+msgid "Fetch list of available modules from GRASS Addons SVN repository"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:100
+msgid "&Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:101
+msgid "Install selected add-ons GRASS module"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:104
+msgid "Show g.extension manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:168
+#, fuzzy
+msgid "Extension not defined"
+msgstr "数据库连接未定义\n"
+
+#: ../gui/wxpython/modules/extensions.py:191
+msgid "Fetching list of modules from GRASS-Addons SVN (be patient)..."
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:202
+#, fuzzy, python-format
+msgid "%d extensions loaded"
+msgstr "组件扩展"
+
+#: ../gui/wxpython/modules/extensions.py:214
+msgid "Install"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:217
+msgid "Show manual page"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:316
+#, fuzzy, python-format
+msgid "Unable to load extensions. %s"
+msgstr "无法插入新行:%s"
+
+#: ../gui/wxpython/modules/extensions.py:357
+#, fuzzy
+msgid "Manage installed GRASS Addons extensions"
+msgstr "投影管理"
+
+#: ../gui/wxpython/modules/extensions.py:366
+#, fuzzy
+msgid "List of installed extensions"
+msgstr "等高线级数的列表"
+
+#: ../gui/wxpython/modules/extensions.py:371
+#, fuzzy
+msgid "Uninstall"
+msgstr "等高线级数的列表"
+
+#: ../gui/wxpython/modules/extensions.py:372
+#, fuzzy
+msgid "Uninstall selected Addons extensions"
+msgstr "投影管理"
+
+#: ../gui/wxpython/modules/extensions.py:373
+msgid "Reinstall"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:374
+#, fuzzy
+msgid "Reinstall selected Addons extensions"
+msgstr "投影管理"
+
+#: ../gui/wxpython/modules/extensions.py:411
+#, fuzzy
+msgid "No extension selected. Operation canceled."
+msgstr "没有选择图层,操作已取消。"
+
+#: ../gui/wxpython/modules/extensions.py:428
+#, python-format
+msgid ""
+"List of files to be removed:\n"
+"%(files)s\n"
+"\n"
+"Do you want really to remove <%(ext)s> extension?"
+msgstr ""
+
+#: ../gui/wxpython/modules/extensions.py:431
+#, fuzzy
+msgid "Remove extension"
+msgstr "删除顶点"
+
+#: ../gui/wxpython/modules/extensions.py:462
+#, fuzzy
+msgid "Extension"
+msgstr "数据库连接未定义\n"
 
 #: ../gui/wxpython/modules/histogram.py:179
-#: ../gui/wxpython/mapwin/buffered.py:605
+#: ../gui/wxpython/mapwin/buffered.py:633
 msgid "Please wait, exporting image..."
 msgstr ""
 
@@ -16234,7 +16589,7 @@ msgid ""
 msgstr "包含结果的栅格图的名称"
 
 #: ../gui/wxpython/iclass/dialogs.py:189
-#: ../gui/wxpython/iclass/g.gui.iclass.py:75
+#: ../gui/wxpython/iclass/g.gui.iclass.py:79
 #, fuzzy, python-format
 msgid "Group <%s> not found"
 msgstr "未发现区域<%s>"
@@ -16272,11 +16627,6 @@ msgstr "保存组文件"
 msgid "Export training areas"
 msgstr "写入 %s ... "
 
-#: ../gui/wxpython/iclass/dialogs.py:720
-#, fuzzy
-msgid "Export attribute table"
-msgstr "打开属性表"
-
 #: ../gui/wxpython/iclass/dialogs.py:722
 #, fuzzy
 msgid "Export attribute table containing computed statistical data"
@@ -16305,22 +16655,22 @@ msgid ""
 "There is no class yet, do you want to create one?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:71
+#: ../gui/wxpython/iclass/g.gui.iclass.py:75
 #, fuzzy
 msgid "Name of subgroup required"
 msgstr "没有选中的图层"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:80
+#: ../gui/wxpython/iclass/g.gui.iclass.py:84
 #, fuzzy, python-format
 msgid "Subgroup <%s> not found"
 msgstr "未发现区域<%s>"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:115
+#: ../gui/wxpython/iclass/g.gui.iclass.py:119
 #, fuzzy, python-format
 msgid "Loading raster map <%s>..."
 msgstr "读取栅格文件 [%s] 时发生错误。"
 
-#: ../gui/wxpython/iclass/g.gui.iclass.py:118
+#: ../gui/wxpython/iclass/g.gui.iclass.py:122
 #, fuzzy, python-format
 msgid "Loading training map <%s>..."
 msgstr "读取栅格文件 [%s] 时发生错误。"
@@ -16364,155 +16714,155 @@ msgstr ""
 msgid "GRASS GIS Supervised Classification Tool"
 msgstr "** 错误的颜色规范 **\n"
 
-#: ../gui/wxpython/iclass/frame.py:306
+#: ../gui/wxpython/iclass/frame.py:307
 #, fuzzy
 msgid "IClass Toolbar"
 msgstr "地图工具栏"
 
-#: ../gui/wxpython/iclass/frame.py:318
+#: ../gui/wxpython/iclass/frame.py:319
 #, fuzzy
 msgid "IClass Misc Toolbar"
 msgstr "地图工具栏"
 
-#: ../gui/wxpython/iclass/frame.py:335
+#: ../gui/wxpython/iclass/frame.py:336
 #, fuzzy
 msgid "Digitization Toolbar"
 msgstr "栅格数字化"
 
-#: ../gui/wxpython/iclass/frame.py:359
+#: ../gui/wxpython/iclass/frame.py:360
 msgid "Plots"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:379
+#: ../gui/wxpython/iclass/frame.py:380
 #, fuzzy
 msgid "Preview Display"
 msgstr "打印当前地图"
 
-#: ../gui/wxpython/iclass/frame.py:382
+#: ../gui/wxpython/iclass/frame.py:383
 #, fuzzy
 msgid "Training Areas Display"
 msgstr "要显示的文本: "
 
-#: ../gui/wxpython/iclass/frame.py:452
+#: ../gui/wxpython/iclass/frame.py:453
 msgid "Adjust Training Area Display to Preview Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:453
+#: ../gui/wxpython/iclass/frame.py:454
 msgid "Adjust Preview display to Training Area Display"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:454
+#: ../gui/wxpython/iclass/frame.py:455
 #, fuzzy
 msgid "Display synchronization ON"
 msgstr "显示地区"
 
-#: ../gui/wxpython/iclass/frame.py:455
+#: ../gui/wxpython/iclass/frame.py:456
 #, fuzzy
 msgid "Display synchronization OFF"
 msgstr "显示地区"
 
-#: ../gui/wxpython/iclass/frame.py:525
+#: ../gui/wxpython/iclass/frame.py:526
 msgid "All changes will be lost. Do you want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:533
+#: ../gui/wxpython/iclass/frame.py:534
 #, fuzzy
 msgid "Import vector map"
 msgstr "导出矢量图"
 
-#: ../gui/wxpython/iclass/frame.py:552
+#: ../gui/wxpython/iclass/frame.py:553
 #, fuzzy, python-format
 msgid "No areas in vector map <%s>.\n"
 msgstr "无法找到矢量地图 [%s]"
 
-#: ../gui/wxpython/iclass/frame.py:554
+#: ../gui/wxpython/iclass/frame.py:555
 #, fuzzy, python-format
 msgid "Vector map <%s> contains points or lines, these features are ignored."
 msgstr "起始矢量地图 %s 在当前范围之外"
 
-#: ../gui/wxpython/iclass/frame.py:579
+#: ../gui/wxpython/iclass/frame.py:580
 #, fuzzy, python-format
 msgid "Unable to open vector map <%s>"
 msgstr "无法找到矢量地图 [%s]"
 
-#: ../gui/wxpython/iclass/frame.py:586
+#: ../gui/wxpython/iclass/frame.py:587
 #, fuzzy, python-format
 msgid "Unable to copy vector features from <%s>"
 msgstr "无法找到矢量地图 [%s]"
 
-#: ../gui/wxpython/iclass/frame.py:596
+#: ../gui/wxpython/iclass/frame.py:597
 #, fuzzy
 msgid "Unable to open temporary vector map"
 msgstr "无法插入新行:%s"
 
-#: ../gui/wxpython/iclass/frame.py:686
+#: ../gui/wxpython/iclass/frame.py:687
 msgid "No training areas to export."
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:698
+#: ../gui/wxpython/iclass/frame.py:699
 #, fuzzy, python-format
 msgid "%d training areas (%d classes) exported to vector map <%s>."
 msgstr "%d 个点写入矢量文件"
 
-#: ../gui/wxpython/iclass/frame.py:897
+#: ../gui/wxpython/iclass/frame.py:898
 #, fuzzy
 msgid "Failed to create temporary vector map."
 msgstr "无法插入新行:%s"
 
-#: ../gui/wxpython/iclass/frame.py:973
+#: ../gui/wxpython/iclass/frame.py:974
 #, fuzzy, python-format
 msgid "No area in category %s. Category skipped."
 msgstr "跳过%-5d个坏线类别\n"
 
-#: ../gui/wxpython/iclass/frame.py:976
+#: ../gui/wxpython/iclass/frame.py:977
 #, fuzzy
 msgid "Analysis failed."
 msgstr "分析"
 
-#: ../gui/wxpython/iclass/frame.py:983
+#: ../gui/wxpython/iclass/frame.py:984
 msgid "results"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:989
+#: ../gui/wxpython/iclass/frame.py:990
 #, fuzzy
 msgid "No imagery group selected."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/iclass/frame.py:994
+#: ../gui/wxpython/iclass/frame.py:995
 msgid ""
 "Due to recent changes in classes, signatures can be outdated and should be "
 "recalculated. Do you still want to continue?"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:997
+#: ../gui/wxpython/iclass/frame.py:998
 msgid "Outdated signatures"
 msgstr ""
 
-#: ../gui/wxpython/iclass/frame.py:1013
+#: ../gui/wxpython/iclass/frame.py:1014
 #, fuzzy, python-format
 msgid ""
 "A signature file named %s already exists.\n"
 "Do you want to replace it?"
 msgstr "工作区文件<%s>已经存在,是否覆盖?"
 
-#: ../gui/wxpython/iclass/frame.py:1061
+#: ../gui/wxpython/iclass/frame.py:1062
 #, fuzzy
 msgid "No imagery group selected. Operation canceled."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/iclass/frame.py:1070
+#: ../gui/wxpython/iclass/frame.py:1071
 #, fuzzy, python-format
 msgid ""
 "Group <%(group)s> does not have enough files (it has %(files)d files). "
 "Operation canceled."
 msgstr "未发现区域<%s>"
 
-#: ../gui/wxpython/iclass/frame.py:1079
+#: ../gui/wxpython/iclass/frame.py:1080
 #, fuzzy
 msgid "No areas given. Operation canceled."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/iclass/frame.py:1094
+#: ../gui/wxpython/iclass/frame.py:1095
 #, fuzzy
 msgid "Vector features are outside raster layers. Operation canceled."
 msgstr "非三维矢量地图,操作已取消。"
@@ -16985,88 +17335,229 @@ msgstr "均方差错误"
 msgid "Forward: %(forw)s, Backward: %(back)s"
 msgstr "继续:%(forw)s,后退:%(back)s"
 
-#: ../gui/wxpython/mapwin/decorations.py:177
-#: ../gui/wxpython/mapwin/decorations.py:224
+#: ../gui/wxpython/datacatalog/frame.py:28
+msgid "GRASS GIS Data Catalog (experimetal)"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/frame.py:40
+#, fuzzy
+msgid "Close GRASS GIS Data Catalog"
+msgstr "地图计算"
+
+#: ../gui/wxpython/datacatalog/tree.py:64
+#, fuzzy, python-brace-format
+msgid "Failed to read mapsets from location <{l}>."
+msgstr "无法读取行 %i\n"
+
+#: ../gui/wxpython/datacatalog/tree.py:78
+#, fuzzy, python-brace-format
+msgid "Failed to read maps from location <{l}>."
+msgstr "无法读取行 %i\n"
+
+#: ../gui/wxpython/datacatalog/tree.py:311
+#, python-brace-format
+msgid "Layer {layer} copied to clipboard.You can paste it to selected mapset."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "New name"
+msgstr "重命名"
+
+#: ../gui/wxpython/datacatalog/tree.py:319
+#, fuzzy
+msgid "Rename map"
+msgstr "重新渲染地图"
+
+#: ../gui/wxpython/datacatalog/tree.py:326
+#, fuzzy, python-brace-format
+msgid "Editing {name}"
+msgstr "验证模型..."
+
+#: ../gui/wxpython/datacatalog/tree.py:345
+#, fuzzy, python-brace-format
+msgid "Renaming {name}..."
+msgstr "读取地图"
+
+#: ../gui/wxpython/datacatalog/tree.py:357
+#: ../gui/wxpython/datacatalog/tree.py:407
+#: ../gui/wxpython/datacatalog/tree.py:441
+msgid " -- completed"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:370
+#, fuzzy
+msgid "Failed to copy map: invalid map type ({} vs. {})."
+msgstr "无法创建文件 [%s]"
+
+#: ../gui/wxpython/datacatalog/tree.py:373
+#, fuzzy
+msgid "Copy map"
+msgstr "复制"
+
+#: ../gui/wxpython/datacatalog/tree.py:378
+msgid "Layer was not copied: new layer has the same name"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:383
+#, fuzzy, python-brace-format
+msgid "Copying {name}..."
+msgstr "导入地图 %d 的要素..."
+
+#: ../gui/wxpython/datacatalog/tree.py:411
+msgid "Failed to copy layer: action is allowed only within the same location."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:424
+#, fuzzy, python-brace-format
+msgid "Do you really want to delete map <{m}>?"
+msgstr "创建GRASS地点<%s>?"
+
+#: ../gui/wxpython/datacatalog/tree.py:425
+#, fuzzy
+msgid "Delete map"
+msgstr "删除"
+
+#: ../gui/wxpython/datacatalog/tree.py:426
+#, fuzzy, python-brace-format
+msgid "Deleting {name}..."
+msgstr "删除"
+
+#: ../gui/wxpython/datacatalog/tree.py:451
+#, fuzzy, python-brace-format
+msgid "Displaying {name}..."
+msgstr "显示地区"
+
+#: ../gui/wxpython/datacatalog/tree.py:454
+msgid " -- completed. Go to Map layers for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:461
+msgid " -- completed. Go to 'Map layers' for further operations."
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:465
+msgid "Failed to display layer: not in current mapset or invalid layer"
+msgstr ""
+
+#: ../gui/wxpython/datacatalog/tree.py:519
+#, fuzzy
+msgid "&Copy"
+msgstr "复制"
+
+#: ../gui/wxpython/datacatalog/tree.py:523
+#: ../gui/wxpython/datacatalog/tree.py:553
+#, fuzzy
+msgid "&Paste"
+msgstr "栅格(&r)"
+
+#: ../gui/wxpython/datacatalog/tree.py:542
+#, fuzzy
+msgid "&Display layer"
+msgstr "显示地图"
+
+#: ../gui/wxpython/mapwin/decorations.py:180
+#: ../gui/wxpython/mapwin/decorations.py:227
 msgid ""
 "Please install Python Imaging Library (PIL)\n"
 "for better control of legend and other decorations."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/decorations.py:329
+#: ../gui/wxpython/mapwin/decorations.py:332
 #, fuzzy
 msgid "Show text object"
 msgstr "最短路径"
 
-#: ../gui/wxpython/mapwin/decorations.py:382
+#: ../gui/wxpython/mapwin/decorations.py:385
 msgid ""
 "Drag text with mouse in pointer mode to position.\n"
 "Double-click to change options"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "legend"
 msgstr "添加图例"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "scale bar"
 msgstr "添加格网值图层"
 
-#: ../gui/wxpython/mapwin/buffered.py:154
+#: ../gui/wxpython/mapwin/buffered.py:157
 #, fuzzy
 msgid "north arrow"
 msgstr "添加比例尺和指北针"
 
-#: ../gui/wxpython/mapwin/buffered.py:233
+#: ../gui/wxpython/mapwin/buffered.py:237
 #, fuzzy
 msgid "Copy coordinates to clipboard"
 msgstr "'%s'已复制到剪贴板"
 
-#: ../gui/wxpython/mapwin/buffered.py:243
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Hide toolbars"
+msgstr "包含结果的栅格图的名称"
+
+#: ../gui/wxpython/mapwin/buffered.py:242
+#, fuzzy
+msgid "Show toolbars"
+msgstr "'%s'已复制到剪贴板"
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+msgid "Hide statusbar"
+msgstr ""
+
+#: ../gui/wxpython/mapwin/buffered.py:246
+#, fuzzy
+msgid "Show statusbar"
+msgstr "显示设置"
+
+#: ../gui/wxpython/mapwin/buffered.py:260
 #, fuzzy, python-brace-format
 msgid "Hide {overlay}"
 msgstr "添加直方图图层"
 
-#: ../gui/wxpython/mapwin/buffered.py:250
+#: ../gui/wxpython/mapwin/buffered.py:267
 #, fuzzy
 msgid "Resize legend"
 msgstr "栅格值"
 
-#: ../gui/wxpython/mapwin/buffered.py:886
+#: ../gui/wxpython/mapwin/buffered.py:915
 msgid "Unable to draw registered graphics. The graphics was unregistered."
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1879
+#: ../gui/wxpython/mapwin/buffered.py:1919
 msgid "Zoom to saved region extents"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1881
+#: ../gui/wxpython/mapwin/buffered.py:1921
 #, fuzzy
 msgid "Set compulational region from named region"
 msgstr "从指定的区域设置当前区域"
 
-#: ../gui/wxpython/mapwin/buffered.py:1893
+#: ../gui/wxpython/mapwin/buffered.py:1933
 #, fuzzy, python-format
 msgid "Region <%s> not found. Operation canceled."
 msgstr "未发现区域<%s>"
 
-#: ../gui/wxpython/mapwin/buffered.py:1922
+#: ../gui/wxpython/mapwin/buffered.py:1962
 msgid "Save display extents to region file"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/buffered.py:1924
+#: ../gui/wxpython/mapwin/buffered.py:1964
 #, fuzzy
 msgid "Save computational region to region file"
 msgstr "从指定的区域设置当前区域"
 
-#: ../gui/wxpython/mapwin/buffered.py:1934
+#: ../gui/wxpython/mapwin/buffered.py:1974
 #, python-format
 msgid "Region file <%s> already exists. Do you want to overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/mapwin/graphics.py:258
-#: ../gui/wxpython/mapwin/graphics.py:387
+#: ../gui/wxpython/mapwin/graphics.py:264
+#: ../gui/wxpython/mapwin/graphics.py:437
 #, fuzzy, python-format
 msgid "Property does not exist: %s"
 msgstr "栅格地图 [%s] 未发现"
@@ -17162,152 +17653,152 @@ msgstr ""
 msgid "Area: {area} {unit}\n"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:77
+#: ../gui/wxpython/gui_core/dialogs.py:68
 #, fuzzy
 msgid "Required item is not set."
 msgstr "需要的 g3d 文件未找到"
 
-#: ../gui/wxpython/gui_core/dialogs.py:107
+#: ../gui/wxpython/gui_core/dialogs.py:98
 msgid "Select GRASS location and mapset"
 msgstr "选择GRASS地点和地图集"
 
-#: ../gui/wxpython/gui_core/dialogs.py:119
+#: ../gui/wxpython/gui_core/dialogs.py:110
 #, fuzzy
 msgid "Location or mapset is not defined."
 msgstr "%s - 未发现"
 
-#: ../gui/wxpython/gui_core/dialogs.py:126
+#: ../gui/wxpython/gui_core/dialogs.py:117
 msgid "Name of GRASS location:"
 msgstr "GRASS地点名称:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:132
-#: ../gui/wxpython/gui_core/dialogs.py:179
+#: ../gui/wxpython/gui_core/dialogs.py:123
+#: ../gui/wxpython/gui_core/dialogs.py:170
 msgid "Name of mapset:"
 msgstr "地图集名称:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:157
+#: ../gui/wxpython/gui_core/dialogs.py:148
 msgid "Select mapset in GRASS location"
 msgstr "在GRASS地点中选择地图集"
 
-#: ../gui/wxpython/gui_core/dialogs.py:171
+#: ../gui/wxpython/gui_core/dialogs.py:162
 msgid "Name of mapset is missing."
 msgstr "缺少地图集名称。"
 
-#: ../gui/wxpython/gui_core/dialogs.py:206
+#: ../gui/wxpython/gui_core/dialogs.py:197
 msgid "Name of vector map is missing."
 msgstr "缺少矢量点图的名称。"
 
-#: ../gui/wxpython/gui_core/dialogs.py:257
+#: ../gui/wxpython/gui_core/dialogs.py:248
 msgid "Create attribute table"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:272
+#: ../gui/wxpython/gui_core/dialogs.py:263
 #: ../gui/wxpython/gui_core/preferences.py:836
 msgid "Add created map into layer tree"
 msgstr "将生成的地图添加到图层列表"
 
-#: ../gui/wxpython/gui_core/dialogs.py:281
+#: ../gui/wxpython/gui_core/dialogs.py:272
 #, fuzzy
 msgid "Name of new vector map is missing."
 msgstr "输出矢量点图的名称"
 
-#: ../gui/wxpython/gui_core/dialogs.py:290
+#: ../gui/wxpython/gui_core/dialogs.py:281
 msgid "Name for new vector map:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:304
+#: ../gui/wxpython/gui_core/dialogs.py:295
 #: ../gui/wxpython/gui_core/preferences.py:1165
 msgid "Key column:"
 msgstr "主键字段名称:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:388
+#: ../gui/wxpython/gui_core/dialogs.py:379
 #, python-format
 msgid "Unable to create vector map <%s>."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:393
+#: ../gui/wxpython/gui_core/dialogs.py:384
 #, fuzzy, python-format
 msgid ""
 "Invalid or empty key column.\n"
 "Unable to create vector map <%s>."
 msgstr "无法为色彩条读取颜色"
 
-#: ../gui/wxpython/gui_core/dialogs.py:421
+#: ../gui/wxpython/gui_core/dialogs.py:412
 #, python-format
 msgid ""
 "Vector map <%s> already exists in the current mapset. Do you want to "
 "overwrite it?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:504
+#: ../gui/wxpython/gui_core/dialogs.py:495
 msgid "Load region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:508
+#: ../gui/wxpython/gui_core/dialogs.py:499
 msgid "Save region:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:545
+#: ../gui/wxpython/gui_core/dialogs.py:536
 msgid ""
 "Name cannot begin with '.' and must not contain space, quotes, '/', ''', "
 "'@', ',', '=', '*', and all other non-alphanumeric characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:560
+#: ../gui/wxpython/gui_core/dialogs.py:551
 #, fuzzy
 msgid "Create or edit imagery groups"
 msgstr "矢量导入完成"
 
-#: ../gui/wxpython/gui_core/dialogs.py:593
+#: ../gui/wxpython/gui_core/dialogs.py:584
 msgid "Apply changes to selected group and close dialog"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:594
+#: ../gui/wxpython/gui_core/dialogs.py:585
 msgid "Apply changes to selected group"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:595
+#: ../gui/wxpython/gui_core/dialogs.py:586
 msgid "Close dialog, changes are not applied"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:636
-#: ../gui/wxpython/gui_core/dialogs.py:1383
+#: ../gui/wxpython/gui_core/dialogs.py:627
+#: ../gui/wxpython/gui_core/dialogs.py:1374
 msgid ""
 "Put here a regular expression. Characters '.*' stand for anything, character "
 "'^' stands for the beginning and '$' for the end."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:643
+#: ../gui/wxpython/gui_core/dialogs.py:634
 msgid "Select existing group or enter name of new group:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:654
+#: ../gui/wxpython/gui_core/dialogs.py:645
 msgid "Edit/create subgroup"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:663
+#: ../gui/wxpython/gui_core/dialogs.py:654
 msgid "Select existing subgroup or enter name of new subgroup:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:691
-#: ../gui/wxpython/gui_core/dialogs.py:744
-#: ../gui/wxpython/gui_core/dialogs.py:1370
+#: ../gui/wxpython/gui_core/dialogs.py:682
+#: ../gui/wxpython/gui_core/dialogs.py:735
+#: ../gui/wxpython/gui_core/dialogs.py:1361
 #, fuzzy
 msgid "Pattern:"
 msgstr "栅格值"
 
-#: ../gui/wxpython/gui_core/dialogs.py:706
-#: ../gui/wxpython/gui_core/dialogs.py:758
-#: ../gui/wxpython/gui_core/dialogs.py:1389
+#: ../gui/wxpython/gui_core/dialogs.py:697
+#: ../gui/wxpython/gui_core/dialogs.py:749
+#: ../gui/wxpython/gui_core/dialogs.py:1380
 msgid "List of maps:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:716
+#: ../gui/wxpython/gui_core/dialogs.py:707
 #, fuzzy
 msgid "Select map layers and add them to the list."
 msgstr "栅格地图 [%s] 未发现"
 
-#: ../gui/wxpython/gui_core/dialogs.py:720
+#: ../gui/wxpython/gui_core/dialogs.py:711
 #, fuzzy
 msgid "Remove selected layer(s) from list."
 msgstr ""
@@ -17315,425 +17806,325 @@ msgstr ""
 "%s\n"
 "从层列表中移除?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:763
+#: ../gui/wxpython/gui_core/dialogs.py:754
 msgid "Check maps from group to be included into subgroup."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:923
+#: ../gui/wxpython/gui_core/dialogs.py:914
 #, fuzzy
 msgid "Add selected map layers into group"
 msgstr "加载地图层到层列表"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1058
+#: ../gui/wxpython/gui_core/dialogs.py:1049
 #, python-format
 msgid "Group <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1060
-#: ../gui/wxpython/gui_core/dialogs.py:1072
+#: ../gui/wxpython/gui_core/dialogs.py:1051
+#: ../gui/wxpython/gui_core/dialogs.py:1063
 #, fuzzy
 msgid "Unapplied changes"
 msgstr "是否保存更改?"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1070
+#: ../gui/wxpython/gui_core/dialogs.py:1061
 #, python-format
 msgid "Subgroup <%s> was changed, do you want to apply changes?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1126
+#: ../gui/wxpython/gui_core/dialogs.py:1117
 #, fuzzy
 msgid "No raster maps selected."
 msgstr "没有指定数据地图"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1155
+#: ../gui/wxpython/gui_core/dialogs.py:1146
 #, fuzzy, python-format
 msgid "No changes to apply in group <%s>."
 msgstr "包含结果的栅格图的名称"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1158
-#, fuzzy, python-format
-msgid "Group <%s> was successfully created."
-msgstr "成功创建表"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1160
-#, fuzzy, python-format
-msgid "Group <%s> was successfully changed."
-msgstr "成功创建表"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1163
-#, fuzzy, python-format
-msgid "Creating of new group <%s> failed."
-msgstr "创建新组文件"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1165
-#, python-format
-msgid "Changing of group <%s> failed."
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1203
-#, fuzzy
-msgid "No group selected."
-msgstr "没有选中的图层"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1209
-#, fuzzy
-msgid "No subgroup selected."
-msgstr "没有选中的图层"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1312
-#, fuzzy
-msgid "Use fully-qualified map names"
-msgstr "%s - 非法的名称"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1338
-#, fuzzy
-msgid "Map type:"
-msgstr "要素类型"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1353
-#, fuzzy
-msgid "Select toggle"
-msgstr "无法获取栅格行\n"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1360
-msgid "Mapset:"
-msgstr "地图集:"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1446
-#, fuzzy
-msgid "Invert selection"
-msgstr "反向清扫完成"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1580
-#, python-format
-msgid "Dynamic series (%s)"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1605
-msgid "Multiple import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1622
-#, fuzzy
-msgid "List of raster layers"
-msgstr "将要导入的栅格文件"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1624
-#, fuzzy
-msgid "List of vector layers"
-msgstr "将要导入的栅格文件"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1626
-#, fuzzy, python-format
-msgid "List of %s layers"
-msgstr "将要导入的栅格文件"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1627
-msgid "right click to (un)select all"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1630
-#, fuzzy
-msgid "Layer id"
-msgstr "图层 %d"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1632
-#, fuzzy
-msgid "Name for output GRASS map (editable)"
-msgstr "输出文件的名称"
-
-#: ../gui/wxpython/gui_core/dialogs.py:1635
-#, fuzzy
-msgid "Projection match"
-msgstr "绘制 ... "
-
-#: ../gui/wxpython/gui_core/dialogs.py:1673
-msgid "Encoding"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1682
-#: ../gui/wxpython/gui_core/forms.py:584
-msgid "Close dialog on finish"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1693
-#: ../gui/wxpython/gui_core/dialogs.py:1902
-msgid "&Import"
-msgstr ""
-
-#: ../gui/wxpython/gui_core/dialogs.py:1694
-#: ../gui/wxpython/gui_core/dialogs.py:1903
-msgid "Import selected layers"
-msgstr ""
+#: ../gui/wxpython/gui_core/dialogs.py:1149
+#, fuzzy, python-format
+msgid "Group <%s> was successfully created."
+msgstr "成功创建表"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1892
-#, fuzzy
-msgid "Add linked layers into layer tree"
-msgstr "加载地图层到层列表"
+#: ../gui/wxpython/gui_core/dialogs.py:1151
+#, fuzzy, python-format
+msgid "Group <%s> was successfully changed."
+msgstr "成功创建表"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1894
-#: ../gui/wxpython/gui_core/dialogs.py:2131
-msgid "Add imported layers into layer tree"
-msgstr ""
+#: ../gui/wxpython/gui_core/dialogs.py:1154
+#, fuzzy, python-format
+msgid "Creating of new group <%s> failed."
+msgstr "创建新组文件"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1899
-msgid "&Link"
+#: ../gui/wxpython/gui_core/dialogs.py:1156
+#, python-format
+msgid "Changing of group <%s> failed."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:1900
-msgid "Link selected layers"
-msgstr ""
+#: ../gui/wxpython/gui_core/dialogs.py:1194
+#, fuzzy
+msgid "No group selected."
+msgstr "没有选中的图层"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1912
+#: ../gui/wxpython/gui_core/dialogs.py:1200
 #, fuzzy
-msgid "No layers selected. Operation canceled."
-msgstr "没有选择图层,操作已取消。"
+msgid "No subgroup selected."
+msgstr "没有选中的图层"
 
-#: ../gui/wxpython/gui_core/dialogs.py:1966
+#: ../gui/wxpython/gui_core/dialogs.py:1303
 #, fuzzy
-msgid "Unable to determine number of raster bands"
-msgstr "无法创建栅格地图 %s"
+msgid "Use fully-qualified map names"
+msgstr "%s - 非法的名称"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2046
+#: ../gui/wxpython/gui_core/dialogs.py:1329
 #, fuzzy
-msgid "Define output format for vector data"
-msgstr "输出的栅格/矢量地图"
+msgid "Map type:"
+msgstr "要素类型"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2048
+#: ../gui/wxpython/gui_core/dialogs.py:1344
 #, fuzzy
-msgid "Define output format for raster data"
-msgstr "输出的流域栅格图"
+msgid "Select toggle"
+msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2056
-msgid "Set external format and close dialog"
-msgstr ""
+#: ../gui/wxpython/gui_core/dialogs.py:1351
+msgid "Mapset:"
+msgstr "地图集:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2108
+#: ../gui/wxpython/gui_core/dialogs.py:1437
 #, fuzzy
-msgid "No data source selected."
-msgstr "没有选中的图层"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2121
-msgid "Import DXF layers"
-msgstr ""
+msgid "Invert selection"
+msgstr "反向清扫完成"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2125
-msgid "Choose DXF file to import"
+#: ../gui/wxpython/gui_core/dialogs.py:1571
+#, python-format
+msgid "Dynamic series (%s)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2145
-#, fuzzy
-msgid "No layers selected."
-msgstr "基础栅格图"
-
-#: ../gui/wxpython/gui_core/dialogs.py:2286
+#: ../gui/wxpython/gui_core/dialogs.py:1596
 msgid "Set Map Layer Opacity"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2314
+#: ../gui/wxpython/gui_core/dialogs.py:1624
 msgid "opaque"
 msgstr "不透明"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2410
+#: ../gui/wxpython/gui_core/dialogs.py:1720
 #, fuzzy
 msgid "Set image size"
 msgstr "保存当前显示为图片文件"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2419
+#: ../gui/wxpython/gui_core/dialogs.py:1729
 #, fuzzy
 msgid "Image size"
 msgstr "输入文件"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2466
+#: ../gui/wxpython/gui_core/dialogs.py:1776
 msgid "Template:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2504
+#: ../gui/wxpython/gui_core/dialogs.py:1814
 msgid "GRASS GIS SQL Query Utility"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/dialogs.py:2515
+#: ../gui/wxpython/gui_core/dialogs.py:1825
 #, fuzzy
 msgid " SQL statement "
 msgstr "SQL状态"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2560
+#: ../gui/wxpython/gui_core/dialogs.py:1870
 msgid "Symbols"
 msgstr "符号"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2587
+#: ../gui/wxpython/gui_core/dialogs.py:1897
 msgid "Symbol directory:"
 msgstr "符号目录:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2595
+#: ../gui/wxpython/gui_core/dialogs.py:1905
 msgid "Symbol name:"
 msgstr "符号名称:"
 
-#: ../gui/wxpython/gui_core/dialogs.py:2806
+#: ../gui/wxpython/gui_core/dialogs.py:2119
 msgid "Do you want to quit GRASS including shell prompt or just close the GUI?"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:59
+#: ../gui/wxpython/gui_core/gselect.py:61
 #, python-format
 msgid ""
 "Unable to import pyGRASS: %s\n"
 "Some functionality will be not accessible"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:458
+#: ../gui/wxpython/gui_core/gselect.py:461
 #, fuzzy
 msgid "Not selectable element"
 msgstr "SQL选择语句"
 
-#: ../gui/wxpython/gui_core/gselect.py:493
+#: ../gui/wxpython/gui_core/gselect.py:496
 #: ../gui/wxpython/gui_core/preferences.py:1772
 msgid "Mapset"
 msgstr "地图集"
 
-#: ../gui/wxpython/gui_core/gselect.py:504
+#: ../gui/wxpython/gui_core/gselect.py:507
 #, fuzzy
 msgid "Type: "
 msgstr "类型"
 
-#: ../gui/wxpython/gui_core/gselect.py:515
+#: ../gui/wxpython/gui_core/gselect.py:518
 #, fuzzy, python-format
 msgid "GSelect: invalid item: %s"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/gui_core/gselect.py:1297
+#: ../gui/wxpython/gui_core/gselect.py:1288
 #, fuzzy
 msgid "Output settings"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/gui_core/gselect.py:1299
+#: ../gui/wxpython/gui_core/gselect.py:1290
 #, fuzzy
-msgid "Source settings"
-msgstr "打开设置"
+msgid "Source input"
+msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/gui_core/gselect.py:1310
+#: ../gui/wxpython/gui_core/gselect.py:1301
 #, fuzzy
 msgid "Native"
 msgstr "保存"
 
-#: ../gui/wxpython/gui_core/gselect.py:1316
+#: ../gui/wxpython/gui_core/gselect.py:1307
 msgid "File"
 msgstr "文件"
 
-#: ../gui/wxpython/gui_core/gselect.py:1320
-#: ../gui/wxpython/gui_core/forms.py:1587
+#: ../gui/wxpython/gui_core/gselect.py:1311
+#: ../gui/wxpython/gui_core/forms.py:1605
 msgid "Directory"
 msgstr "目录"
 
-#: ../gui/wxpython/gui_core/gselect.py:1328
+#: ../gui/wxpython/gui_core/gselect.py:1319
 msgid "Protocol"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1339
+#: ../gui/wxpython/gui_core/gselect.py:1330
 #, fuzzy
 msgid "Output type"
 msgstr "输出图"
 
-#: ../gui/wxpython/gui_core/gselect.py:1341
+#: ../gui/wxpython/gui_core/gselect.py:1332
 #, fuzzy
 msgid "Source type"
 msgstr "要素类型"
 
-#: ../gui/wxpython/gui_core/gselect.py:1361
+#: ../gui/wxpython/gui_core/gselect.py:1352
 msgid "All files"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1377
+#: ../gui/wxpython/gui_core/gselect.py:1368
 #, fuzzy
 msgid "ZIP files"
 msgstr "纹理特征"
 
-#: ../gui/wxpython/gui_core/gselect.py:1378
+#: ../gui/wxpython/gui_core/gselect.py:1369
 #, fuzzy
 msgid "GZIP files"
 msgstr "纹理特征"
 
-#: ../gui/wxpython/gui_core/gselect.py:1379
+#: ../gui/wxpython/gui_core/gselect.py:1370
 #, fuzzy
 msgid "TAR files"
 msgstr "纹理特征"
 
-#: ../gui/wxpython/gui_core/gselect.py:1381
+#: ../gui/wxpython/gui_core/gselect.py:1372
 #, fuzzy
 msgid "TARGZ files"
 msgstr "纹理特征"
 
-#: ../gui/wxpython/gui_core/gselect.py:1387
+#: ../gui/wxpython/gui_core/gselect.py:1378
 #, fuzzy
 msgid "File:"
 msgstr "文件:"
 
-#: ../gui/wxpython/gui_core/gselect.py:1388
+#: ../gui/wxpython/gui_core/gselect.py:1379
 #, fuzzy
 msgid "Choose file to import"
 msgstr "拷贝表失败"
 
-#: ../gui/wxpython/gui_core/gselect.py:1401
-#: ../gui/wxpython/gui_core/gselect.py:1463
+#: ../gui/wxpython/gui_core/gselect.py:1393
+#: ../gui/wxpython/gui_core/gselect.py:1458
 msgid "Choose input directory"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1415
+#: ../gui/wxpython/gui_core/gselect.py:1408
 msgid "Extension:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1440
+#: ../gui/wxpython/gui_core/gselect.py:1433
 #, fuzzy
 msgid "Choose file"
 msgstr "拷贝表失败"
 
-#: ../gui/wxpython/gui_core/gselect.py:1452
-#: ../gui/wxpython/gui_core/gselect.py:2121
+#: ../gui/wxpython/gui_core/gselect.py:1447
+#: ../gui/wxpython/gui_core/gselect.py:2154
 #, fuzzy
 msgid "Feature type:"
 msgstr "要素类型"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "simple features"
 msgstr "删除要素"
 
-#: ../gui/wxpython/gui_core/gselect.py:1453
+#: ../gui/wxpython/gui_core/gselect.py:1448
 #, fuzzy
 msgid "topological"
 msgstr "矢量文件读取错误"
 
-#: ../gui/wxpython/gui_core/gselect.py:1559
-#: ../gui/wxpython/gui_core/gselect.py:1590
-#: ../gui/wxpython/gui_core/gselect.py:1641
-#: ../gui/wxpython/gui_core/gselect.py:1679
+#: ../gui/wxpython/gui_core/gselect.py:1554
+#: ../gui/wxpython/gui_core/gselect.py:1585
+#: ../gui/wxpython/gui_core/gselect.py:1636
+#: ../gui/wxpython/gui_core/gselect.py:1674
 #, fuzzy
 msgid "Creation options:"
 msgstr "选项设置"
 
-#: ../gui/wxpython/gui_core/gselect.py:1573
-#: ../gui/wxpython/gui_core/gselect.py:1612
-#: ../gui/wxpython/gui_core/gselect.py:1664
+#: ../gui/wxpython/gui_core/gselect.py:1568
+#: ../gui/wxpython/gui_core/gselect.py:1607
+#: ../gui/wxpython/gui_core/gselect.py:1659
 #, fuzzy
 msgid "Format:"
 msgstr "OGR 格式"
 
-#: ../gui/wxpython/gui_core/gselect.py:1671
+#: ../gui/wxpython/gui_core/gselect.py:1666
 msgid "Protocol:"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:1694
+#: ../gui/wxpython/gui_core/gselect.py:1689
 #, fuzzy
 msgid "No settings available"
 msgstr "[%s] 的类别文件无效"
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "LineString"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/gselect.py:2113
+#: ../gui/wxpython/gui_core/gselect.py:2146
 msgid "Polygon"
 msgstr ""
 
+#: ../gui/wxpython/gui_core/gselect.py:2351
+#, fuzzy
+msgid "No vector map selected in layer manager. Operation canceled."
+msgstr "没有选择图层,操作已取消。"
+
+#: ../gui/wxpython/gui_core/gselect.py:2364
+#, fuzzy
+msgid "Input vector map is not selected"
+msgstr "栅格地图 [%s] 未发现"
+
+#: ../gui/wxpython/gui_core/gselect.py:2366
+#, fuzzy, python-format
+msgid ""
+"Input vector map <%s> and selected map <%s> in layer manager are different. "
+"Operation canceled."
+msgstr "非三维矢量地图,操作已取消。"
+
 #: ../gui/wxpython/gui_core/preferences.py:57
 #, fuzzy
 msgid "User settings"
@@ -17854,6 +18245,7 @@ msgid "Module dialog style:"
 msgstr "模块对话框风格:"
 
 #: ../gui/wxpython/gui_core/preferences.py:570
+#: ../gui/wxpython/gui_core/forms.py:1217
 msgid "Map Display"
 msgstr "地图显示"
 
@@ -17947,7 +18339,7 @@ msgstr "要素颜色:"
 
 #: ../gui/wxpython/gui_core/preferences.py:973
 #: ../gui/wxpython/gui_core/preferences.py:995
-#: ../gui/wxpython/gui_core/forms.py:1493
+#: ../gui/wxpython/gui_core/forms.py:1511
 msgid "Transparent"
 msgstr "透明"
 
@@ -18239,6 +18631,49 @@ msgstr "未找到任何记录。\n"
 msgid "Nothing found"
 msgstr "未找到任何记录。\n"
 
+#: ../gui/wxpython/gui_core/vselect.py:42
+#, fuzzy
+msgid "category"
+msgstr "没有起始点"
+
+#: ../gui/wxpython/gui_core/vselect.py:65
+#, fuzzy
+msgid "Select features"
+msgstr "最近邻要素"
+
+#: ../gui/wxpython/gui_core/vselect.py:120
+#, fuzzy
+msgid "Create a new map"
+msgstr "创建新数据集"
+
+#: ../gui/wxpython/gui_core/vselect.py:248
+#, fuzzy, python-format
+msgid "Selected map <%s> has been disabled for rendering. Operation canceled."
+msgstr "非三维矢量地图,操作已取消。"
+
+#: ../gui/wxpython/gui_core/vselect.py:279
+#, fuzzy, python-format
+msgid "Failed to query vector map(s) <%s>."
+msgstr "无法找到矢量地图 [%s]"
+
+#: ../gui/wxpython/gui_core/vselect.py:303
+#, fuzzy
+msgid "No features selected"
+msgstr "没有选中的图层"
+
+#: ../gui/wxpython/gui_core/vselect.py:326
+#, fuzzy, python-format
+msgid "Vector map <%s> was created"
+msgstr "dig_att文件不存在。"
+
+#: ../gui/wxpython/gui_core/vselect.py:329
+#, fuzzy, python-format
+msgid ""
+"Unable to create a new vector map.\n"
+"\n"
+"Reason: %s"
+msgstr "无法找到矢量地图 [%s]"
+
 #: ../gui/wxpython/gui_core/ghelp.py:58
 msgid "Info"
 msgstr "消息"
@@ -18284,6 +18719,10 @@ msgstr ""
 msgid "Code Revision"
 msgstr "区域"
 
+#: ../gui/wxpython/gui_core/ghelp.py:152
+msgid "Build Date"
+msgstr ""
+
 #: ../gui/wxpython/gui_core/ghelp.py:204 ../gui/wxpython/gui_core/ghelp.py:416
 msgid "Language"
 msgstr ""
@@ -18356,109 +18795,109 @@ msgstr ""
 msgid "&Previous"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:479
+#: ../gui/wxpython/gui_core/forms.py:483
 msgid "Enter parameters for '"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:490
+#: ../gui/wxpython/gui_core/forms.py:494
 msgid "Close this window without executing the command (Ctrl+Q)"
 msgstr "不执行命令而关闭窗口(Ctrl+Q)"
 
-#: ../gui/wxpython/gui_core/forms.py:516
+#: ../gui/wxpython/gui_core/forms.py:520
 msgid "Run the command (Ctrl+R)"
 msgstr "运行命令(Ctrl+R)"
 
-#: ../gui/wxpython/gui_core/forms.py:538
+#: ../gui/wxpython/gui_core/forms.py:542
 msgid "Show manual page of the command (Ctrl+H)"
 msgstr "显示该命令帮助(Ctrl+H)"
 
-#: ../gui/wxpython/gui_core/forms.py:569
+#: ../gui/wxpython/gui_core/forms.py:573
 msgid "Add created map(s) into layer tree"
 msgstr "将创建的地图加入层列表"
 
-#: ../gui/wxpython/gui_core/forms.py:586
+#: ../gui/wxpython/gui_core/forms.py:590
 msgid ""
 "Close dialog when command is successfully finished. Change this settings in "
 "Preferences dialog ('Command' tab)."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:751
+#: ../gui/wxpython/gui_core/forms.py:755
 #, python-format
 msgid "'%s' copied to clipboard"
 msgstr "'%s'已复制到剪贴板"
 
-#: ../gui/wxpython/gui_core/forms.py:822 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:826 ../gui/wxpython/gui_core/forms.py:839
 msgid "Required"
 msgstr "必填参数"
 
-#: ../gui/wxpython/gui_core/forms.py:825 ../gui/wxpython/gui_core/forms.py:835
+#: ../gui/wxpython/gui_core/forms.py:829 ../gui/wxpython/gui_core/forms.py:839
 msgid "Optional"
 msgstr "可选参数"
 
-#: ../gui/wxpython/gui_core/forms.py:904 ../gui/wxpython/gui_core/forms.py:1653
+#: ../gui/wxpython/gui_core/forms.py:908 ../gui/wxpython/gui_core/forms.py:1731
 #, fuzzy
 msgid "Parameterized in model"
 msgstr "需要的 g3d 文件未找到"
 
-#: ../gui/wxpython/gui_core/forms.py:969
+#: ../gui/wxpython/gui_core/forms.py:973
 #, fuzzy
 msgid "This option is required"
 msgstr "字段类型不支持"
 
-#: ../gui/wxpython/gui_core/forms.py:986
+#: ../gui/wxpython/gui_core/forms.py:990
 msgid "[multiple]"
 msgstr "[多项]"
 
-#: ../gui/wxpython/gui_core/forms.py:1036
+#: ../gui/wxpython/gui_core/forms.py:1040
 #, fuzzy
 msgid "valid range"
 msgstr "无效的区域:%s"
 
-#: ../gui/wxpython/gui_core/forms.py:1297
+#: ../gui/wxpython/gui_core/forms.py:1315
 msgid "Show graphical representation of temporal extent of dataset(s) ."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1522
-#: ../gui/wxpython/gui_core/forms.py:1586
+#: ../gui/wxpython/gui_core/forms.py:1540
+#: ../gui/wxpython/gui_core/forms.py:1604
 #, python-format
 msgid "Choose %s"
 msgstr "选择%s"
 
-#: ../gui/wxpython/gui_core/forms.py:1552
+#: ../gui/wxpython/gui_core/forms.py:1570
 #, fuzzy
 msgid "Load and edit content of a file"
 msgstr "非法的输出文件名"
 
-#: ../gui/wxpython/gui_core/forms.py:1554
+#: ../gui/wxpython/gui_core/forms.py:1572
 #, fuzzy
 msgid "&Save as"
 msgstr "另存为"
 
-#: ../gui/wxpython/gui_core/forms.py:1555
+#: ../gui/wxpython/gui_core/forms.py:1573
 msgid "Save content to a file for further use"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1560
+#: ../gui/wxpython/gui_core/forms.py:1578
 #, fuzzy
 msgid "or enter values directly:"
 msgstr "或交互式输入数值"
 
-#: ../gui/wxpython/gui_core/forms.py:1562
+#: ../gui/wxpython/gui_core/forms.py:1580
 msgid ""
 "Enter file content directly instead of specifying a file. Temporary file "
 "will be automatically created."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/forms.py:1839
+#: ../gui/wxpython/gui_core/forms.py:1917
 msgid "Manual"
 msgstr "手册"
 
-#: ../gui/wxpython/gui_core/forms.py:1880
+#: ../gui/wxpython/gui_core/forms.py:1958
 #, fuzzy
 msgid "Nothing to load."
 msgstr "未找到任何记录。\n"
 
-#: ../gui/wxpython/gui_core/forms.py:1888
+#: ../gui/wxpython/gui_core/forms.py:1966
 #, fuzzy, python-format
 msgid ""
 "Unable to load file.\n"
@@ -18466,28 +18905,28 @@ msgid ""
 "Reason: %s"
 msgstr "无法创建栅格地图 %s"
 
-#: ../gui/wxpython/gui_core/forms.py:1918
+#: ../gui/wxpython/gui_core/forms.py:1996
 #, fuzzy
 msgid "Save input as..."
 msgstr "另存为..."
 
-#: ../gui/wxpython/gui_core/forms.py:2231
+#: ../gui/wxpython/gui_core/forms.py:2315
 #, fuzzy
 msgid "No dataset given."
 msgstr "没有选中的图层"
 
-#: ../gui/wxpython/gui_core/forms.py:2371
-#: ../gui/wxpython/gui_core/forms.py:2386
+#: ../gui/wxpython/gui_core/forms.py:2455
+#: ../gui/wxpython/gui_core/forms.py:2470
 #, fuzzy, python-format
 msgid "Unable to parse command '%s'"
 msgstr "无法解析命令:%s"
 
-#: ../gui/wxpython/gui_core/forms.py:2392
+#: ../gui/wxpython/gui_core/forms.py:2476
 #, fuzzy, python-format
 msgid "%(cmd)s: parameter '%(key)s' not available"
 msgstr "图层 '%s' 不可用"
 
-#: ../gui/wxpython/gui_core/forms.py:2484
+#: ../gui/wxpython/gui_core/forms.py:2568
 msgid "Try to set up GRASS_ADDON_PATH or GRASS_ADDON_BASE variable."
 msgstr ""
 
@@ -18556,68 +18995,80 @@ msgstr "切换地图集"
 msgid "Change layer opacity"
 msgstr "切换地图集"
 
-#: ../gui/wxpython/gui_core/widgets.py:84
+#: ../gui/wxpython/gui_core/widgets.py:100
 msgid " (...)"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:881
+#: ../gui/wxpython/gui_core/widgets.py:804
+#, python-format
+msgid ""
+"Name <%(name)s> is not a valid name for GRASS map. Please use only ASCII "
+"characters excluding %(chars)s and space."
+msgstr ""
+
+#: ../gui/wxpython/gui_core/widgets.py:1018
 msgid "Fulltext search"
 msgstr "全文搜索"
 
-#: ../gui/wxpython/gui_core/widgets.py:882
+#: ../gui/wxpython/gui_core/widgets.py:1019
 msgid "Type to search in all modules. Press Enter for next match."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:946
+#: ../gui/wxpython/gui_core/widgets.py:1083
 msgid "Searching, please type more characters."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:955
+#: ../gui/wxpython/gui_core/widgets.py:1092
 #, fuzzy, python-format
 msgid "%d modules match"
 msgstr "%d 个点写入矢量文件"
 
-#: ../gui/wxpython/gui_core/widgets.py:1030
+#: ../gui/wxpython/gui_core/widgets.py:1161
+#, fuzzy
+msgid "Profiles"
+msgstr "剖面"
+
+#: ../gui/wxpython/gui_core/widgets.py:1167
 #, fuzzy
 msgid "Save current settings"
 msgstr "请改正设置。"
 
-#: ../gui/wxpython/gui_core/widgets.py:1033
+#: ../gui/wxpython/gui_core/widgets.py:1170
 #, fuzzy
 msgid "Delete currently selected settings"
 msgstr "删除选中的地图集"
 
-#: ../gui/wxpython/gui_core/widgets.py:1053
+#: ../gui/wxpython/gui_core/widgets.py:1190
 #, fuzzy
-msgid "Load settings:"
-msgstr "无法获取栅格行\n"
+msgid "Load:"
+msgstr "载入文件"
 
-#: ../gui/wxpython/gui_core/widgets.py:1068
+#: ../gui/wxpython/gui_core/widgets.py:1205
 #, fuzzy, python-format
 msgid "Settings <%s> not found"
 msgstr "矢量地图 '%s' 未找到"
 
-#: ../gui/wxpython/gui_core/widgets.py:1082
-#: ../gui/wxpython/gui_core/widgets.py:1098
+#: ../gui/wxpython/gui_core/widgets.py:1219
+#: ../gui/wxpython/gui_core/widgets.py:1235
 #, fuzzy
 msgid "Save settings"
 msgstr "无法获取栅格行\n"
 
-#: ../gui/wxpython/gui_core/widgets.py:1087
+#: ../gui/wxpython/gui_core/widgets.py:1224
 msgid "Name not given, settings is not saved."
 msgstr ""
 
-#: ../gui/wxpython/gui_core/widgets.py:1096
+#: ../gui/wxpython/gui_core/widgets.py:1233
 #, fuzzy, python-format
 msgid "Settings <%s> already exists. Do you want to overwrite the settings?"
 msgstr "栅格地图 %i 文件名成: %s 已经存在。它将被覆盖!\n"
 
-#: ../gui/wxpython/gui_core/widgets.py:1146
+#: ../gui/wxpython/gui_core/widgets.py:1283
 #, fuzzy
 msgid "No settings is defined. Operation canceled."
 msgstr "没有选择图层,操作已取消。"
 
-#: ../gui/wxpython/gui_core/widgets.py:1180
+#: ../gui/wxpython/gui_core/widgets.py:1317
 #, fuzzy
 msgid "Unable to save settings"
 msgstr "无法插入新行:%s"
@@ -18726,11 +19177,11 @@ msgstr "创建图像或栅格文件的直方图"
 msgid "Select graphics tool"
 msgstr "要显示的文本: "
 
-#: ../gui/wxpython/gui_core/menu.py:141
+#: ../gui/wxpython/gui_core/menu.py:142
 msgid "Double-click or Ctrl-Enter to run selected module"
 msgstr ""
 
-#: ../gui/wxpython/gui_core/menu.py:159
+#: ../gui/wxpython/gui_core/menu.py:160
 #, fuzzy
 msgid "Run selected module from the tree"
 msgstr ""
@@ -18761,6 +19212,26 @@ msgstr ""
 #~ msgid "Exit GUI"
 #~ msgstr "退出图形界面"
 
+#, fuzzy
+#~ msgid "Invalid input data"
+#~ msgstr "无效的区域:%s"
+
+#, fuzzy
+#~ msgid "No mapsets readable"
+#~ msgstr "[%s] 的类别文件无效"
+
+#, fuzzy
+#~ msgid "Editing"
+#~ msgstr "验证模型..."
+
+#, fuzzy
+#~ msgid "Renaming"
+#~ msgstr "重命名"
+
+#, fuzzy
+#~ msgid "Copying"
+#~ msgstr "拷贝表失败"
+
 #~ msgid "List raster3D dataset maps"
 #~ msgstr "列举三维栅格数据集地图"
 
@@ -18773,23 +19244,40 @@ msgstr ""
 #~ msgid "Univariate raster3D dataset statistics"
 #~ msgstr "三维栅格数据集一元统计量"
 
-#~ msgid "Add condition"
-#~ msgstr "添加条件"
-
-#~ msgid "Adds condition (if/else) to model"
-#~ msgstr "添加模型条件(if/else)"
+#~ msgid "Repository"
+#~ msgstr "组件库"
 
 #, fuzzy
-#~ msgid "Add linked layers into layer tree ({mightNotWork})"
-#~ msgstr "加载地图层到层列表"
+#~ msgid "Load settings:"
+#~ msgstr "无法获取栅格行\n"
 
-#, fuzzy
-#~ msgid "Add imported layers into layer tree ({mightNotWork})"
-#~ msgstr "加载地图层到层列表"
+#~ msgid "Unable to render map layer <%s>."
+#~ msgstr "无法渲染地图层<%s>。"
+
+#~ msgid "Unable to render overlay <%s>."
+#~ msgstr "无法渲染层<%s>。"
 
 #~ msgid "Unpacks a raster map packed with r.pack."
 #~ msgstr "解开用r.pack打包的栅整地图"
 
+#~ msgid "Historical GRASS vector import"
+#~ msgstr "导入旧版GRASS矢量数据"
+
+#~ msgid "Historical GRASS vector import (all maps)"
+#~ msgstr "导入旧版GRASS矢量数据(所有地图)"
+
+#, fuzzy
+#~ msgid ""
+#~ "Converts all older versions of GRASS vector maps in current mapset to "
+#~ "current format."
+#~ msgstr "导入旧版GRASS矢量地图。"
+
+#~ msgid "GPS data import"
+#~ msgstr "导入GPS数据"
+
+#~ msgid "GEOnet import"
+#~ msgstr "导入GEOnet数据"
+
 #~ msgid "Unpacks a vector map packed with v.pack."
 #~ msgstr "解开用v.pack打包的矢量地图。"
 
@@ -18813,27 +19301,6 @@ msgstr ""
 #~ msgid "Common export formats using OGR"
 #~ msgstr "导出为常用OGR格式"
 
-#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
-#~ msgstr "设置选中图层的计算区域(忽略NULL值)"
-
-#~ msgid "Historical GRASS vector import"
-#~ msgstr "导入旧版GRASS矢量数据"
-
-#~ msgid "Historical GRASS vector import (all maps)"
-#~ msgstr "导入旧版GRASS矢量数据(所有地图)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Converts all older versions of GRASS vector maps in current mapset to "
-#~ "current format."
-#~ msgstr "导入旧版GRASS矢量地图。"
-
-#~ msgid "GPS data import"
-#~ msgstr "导入GPS数据"
-
-#~ msgid "GEOnet import"
-#~ msgstr "导入GEOnet数据"
-
 #~ msgid "IDW from raster points (alternate method for sparse points)"
 #~ msgstr "反距离加权(适用于稀疏点的另一种方法)"
 
@@ -18843,6 +19310,25 @@ msgstr ""
 #~ msgid "Bit pattern comparison "
 #~ msgstr "位模式比较"
 
+#, fuzzy
+#~ msgid "Launches graphical attribute table manager."
+#~ msgstr "GRASS GIS层管理器"
+
+#, fuzzy
+#~ msgid "Select space time raster dataset(s):"
+#~ msgstr "导入栅格数据"
+
+#~ msgid "Set computational region from selected map(s) (ignore NULLs)"
+#~ msgstr "设置选中图层的计算区域(忽略NULL值)"
+
+#, fuzzy
+#~ msgid "Add default servers"
+#~ msgstr "添加网格层"
+
+#, fuzzy
+#~ msgid "Develop 3D rasters"
+#~ msgstr "基础栅格图"
+
 #~ msgid "Width size (in cells) ?"
 #~ msgstr "宽度(像元数)?"
 
@@ -18852,10 +19338,6 @@ msgstr ""
 #~ msgid "What radius size (in meters) ?"
 #~ msgstr "半径(米)?"
 
-#, fuzzy
-#~ msgid "Volume"
-#~ msgstr "列名"
-
 #~ msgid "Choose project location and mapset"
 #~ msgstr "选择投影地点和数据集"
 
@@ -18930,30 +19412,16 @@ msgstr ""
 #~ msgid "Starting GRASS for the first time"
 #~ msgstr "第一次运行GRASS"
 
-#~ msgid "Vector to volume"
-#~ msgstr "矢量转换为三维"
-
-#~ msgid "Raster map calculator."
-#~ msgstr "栅格掩码计算器"
-
 #, fuzzy
-#~ msgid "V&olumes"
-#~ msgstr "三维栅格"
-
-#~ msgid "Develop volumes"
-#~ msgstr "三维栅格开发"
-
-#~ msgid "3D Mask"
-#~ msgstr "三维掩码"
-
-#~ msgid "Volume calculator"
-#~ msgstr "三维计算器"
+#~ msgid "Add linked layers into layer tree ({mightNotWork})"
+#~ msgstr "加载地图层到层列表"
 
-#~ msgid "Basic volume metadata"
-#~ msgstr "三维图基本元数据"
+#, fuzzy
+#~ msgid "Add imported layers into layer tree ({mightNotWork})"
+#~ msgstr "加载地图层到层列表"
 
-#~ msgid "Voxel statistics"
-#~ msgstr "三维栅格统计"
+#~ msgid "Digitize"
+#~ msgstr "数字化"
 
 #~ msgid "Width size (in cells)? "
 #~ msgstr "窗口大小(像元数)?"
@@ -18974,6 +19442,14 @@ msgstr ""
 #~ msgstr ""
 #~ "为设置文件%s \"                                            \" 设定新名称"
 
+#, fuzzy
+#~ msgid "Volume"
+#~ msgstr "列名"
+
+#, fuzzy
+#~ msgid "GRASS SVN Revision"
+#~ msgstr "区域"
+
 #~ msgid "Add various raster map layers (RGB, HIS, 晕渲...)"
 #~ msgstr "添加多种栅格地图层(RGB, HIS, shaded relief...)"
 
@@ -19006,18 +19482,43 @@ msgstr ""
 #~ msgid "Raster 2.5D to volume"
 #~ msgstr "2.5D栅格地图转换为体积"
 
+#~ msgid "Vector to volume"
+#~ msgstr "矢量转换为三维"
+
 #~ msgid "Sites to vector"
 #~ msgstr "样点转化为矢量"
 
 #~ msgid "Volume to raster series"
 #~ msgstr "体积转换为栅格系列"
 
+#~ msgid "Raster map calculator."
+#~ msgstr "栅格掩码计算器"
+
+#, fuzzy
+#~ msgid "V&olumes"
+#~ msgstr "三维栅格"
+
+#~ msgid "Develop volumes"
+#~ msgstr "三维栅格开发"
+
+#~ msgid "3D Mask"
+#~ msgstr "三维掩码"
+
+#~ msgid "Volume calculator"
+#~ msgstr "三维计算器"
+
 #~ msgid "3D raster map calculator."
 #~ msgstr "三维栅格地图计算器"
 
 #~ msgid "Interpolate volume from points"
 #~ msgstr "三维插值"
 
+#~ msgid "Basic volume metadata"
+#~ msgstr "三维图基本元数据"
+
+#~ msgid "Voxel statistics"
+#~ msgstr "三维栅格统计"
+
 #~ msgid "Univariate statistics for volumes"
 #~ msgstr "三维栅格一元统计量"
 
@@ -19055,10 +19556,6 @@ msgstr ""
 #~ "registered raster3d map of a space time raster3d dataset."
 #~ msgstr "计算栅格地图中非空像元的一元统计值"
 
-#, fuzzy
-#~ msgid "Launches graphical attribute table manager."
-#~ msgstr "GRASS GIS层管理器"
-
 #~ msgid "ESRI ASCII grid import"
 #~ msgstr "导入ESRI ASCII网格"
 
diff --git a/macosx/pkg/resources/ReadMe.rtf b/macosx/pkg/resources/ReadMe.rtf
index aa56e02..7ee04e1 100644
--- a/macosx/pkg/resources/ReadMe.rtf
+++ b/macosx/pkg/resources/ReadMe.rtf
@@ -40,7 +40,7 @@ Starting GRASS}{\cf1\ulnone\ulc0\b0\rtlch \ltrch\loch\fs28\loch\f5
 open -a "GRASS-}{\cf1\ulnone\ulc0\b0\rtlch \ltrch\loch\fs24\loch\f6
 7}{\cf1\ulnone\ulc0\b0\rtlch \ltrch\loch\fs24\loch\f6
 .}{\cf1\ulnone\ulc0\b0\rtlch \ltrch\loch\fs24\loch\f6
-0}{\cf1\ulnone\ulc0\b0\rtlch \ltrch\loch\fs24\loch\f6
+1}{\cf1\ulnone\ulc0\b0\rtlch \ltrch\loch\fs24\loch\f6
 .app" \{/path/to/db/location/mapset\}}
 \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af7\langfe2052\dbch\af8\afs24\alang1081\loch\f3\fs24\lang1033\ql\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\cf1\ulnone\ulc0\b0\rtlch \ltrch\loch\fs28\loch\f5
 
diff --git a/man/Makefile b/man/Makefile
index 513d2ec..253449c 100644
--- a/man/Makefile
+++ b/man/Makefile
@@ -7,7 +7,10 @@ MANPAGES := $(patsubst $(HTMLDIR)/%.html,$(MANDIR)/%.$(MANSECT),$(wildcard $(HTM
 DSTFILES := \
 	$(HTMLDIR)/grassdocs.css \
 	$(HTMLDIR)/grass_logo.png \
-	$(HTMLDIR)/grass_icon.png
+	$(HTMLDIR)/grass_icon.png \
+	$(HTMLDIR)/jquery.fixedheadertable.min.js \
+	$(HTMLDIR)/parser_standard_options.css \
+	$(HTMLDIR)/parser_standard_options.js
 
 categories = \
 	d:display \
@@ -23,7 +26,7 @@ categories = \
 
 IDXCATS := $(foreach cat,$(categories),$(lastword $(subst :, ,$(cat))))
 
-IDXSRC = full_index index topics keywords $(IDXCATS)
+IDXSRC = full_index index topics keywords graphical_index manual_gallery class_graphical parser_standard_options $(IDXCATS)
 
 INDICES := $(patsubst %,$(HTMLDIR)/%.html,$(IDXSRC))
 
@@ -67,6 +70,33 @@ GISBASE="$(RUN_GISBASE)" ARCH="$(ARCH)" ARCH_DISTDIR="$(ARCH_DISTDIR)" \
 	$(PYTHON) ./build_keywords.py $(HTMLDIR)
 endef
 
+define build_graphical_index
+GISBASE="$(RUN_GISBASE)" ARCH="$(ARCH)" ARCH_DISTDIR="$(ARCH_DISTDIR)" \
+	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) \
+	$(PYTHON) ./build_graphical_index.py $(HTMLDIR)
+endef
+
+define build_manual_gallery
+GISBASE="$(RUN_GISBASE)" ARCH="$(ARCH)" ARCH_DISTDIR="$(ARCH_DISTDIR)" \
+	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) \
+	$(PYTHON) ./build_manual_gallery.py $(HTMLDIR)
+endef
+
+define build_pso
+GISBASE="$(RUN_GISBASE)" ARCH="$(ARCH)" ARCH_DISTDIR="$(ARCH_DISTDIR)" \
+	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) \
+	$(PYTHON) ./parser_standard_options.py -t "$(GRASS_HOME)/lib/gis/parser_standard_options.c" \
+	-f "grass" -o "$(HTMLDIR)/parser_standard_options.html" -p 'id="opts_table" class="scroolTable"'
+endef
+
+$(HTMLDIR)/topics.html: $(ALL_HTML)
+
+define build_class_graphical
+GISBASE="$(RUN_GISBASE)" ARCH="$(ARCH)" ARCH_DISTDIR="$(ARCH_DISTDIR)" \
+	VERSION_NUMBER=$(GRASS_VERSION_NUMBER) VERSION_DATE=$(GRASS_VERSION_DATE) \
+	$(PYTHON) ./build_class_graphical.py $(HTMLDIR)
+endef
+
 $(HTMLDIR)/topics.html: $(ALL_HTML) build_topics.py
 	$(call build_topics)
 	touch $@
@@ -83,6 +113,23 @@ $(HTMLDIR)/keywords.html: $(ALL_HTML)
 	$(call build_keywords)
 	touch $@
 
+
+$(HTMLDIR)/graphical_index.html: $(ALL_HTML)
+	$(call build_graphical_index)
+	touch $@
+
+$(HTMLDIR)/manual_gallery.html: $(ALL_HTML)
+	$(call build_manual_gallery)
+
+$(HTMLDIR)/parser_standard_options.html: $(ALL_HTML)
+	$(call build_pso)
+	touch $@
+
+# TODO: this should be done in the same way as category_rule
+$(HTMLDIR)/class_graphical.html: $(ALL_HTML)
+	$(call build_class_graphical)
+	touch $@
+
 define category_rule
 $$(HTMLDIR)/$(2).html: $$(wildcard $$(HTMLDIR)/$(1).*.html) build_class.py build_html.py
 	$$(call build,class,$(1) $(2))
@@ -100,3 +147,11 @@ $(HTMLDIR)/grass_logo.png: grass_logo.png
 $(HTMLDIR)/grass_icon.png: grass_icon.png
 	$(INSTALL_DATA) $< $@
 
+$(HTMLDIR)/jquery.fixedheadertable.min.js: jquery.fixedheadertable.min.js
+	$(INSTALL_DATA) $< $@
+
+$(HTMLDIR)/parser_standard_options.js: parser_standard_options.js
+	$(INSTALL_DATA) $< $@
+
+$(HTMLDIR)/parser_standard_options.css: parser_standard_options.css
+	$(INSTALL_DATA) $< $@
diff --git a/man/build_class_graphical.py b/man/build_class_graphical.py
new file mode 100644
index 0000000..eefda11
--- /dev/null
+++ b/man/build_class_graphical.py
@@ -0,0 +1,238 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+############################################################################
+#
+# MODULE:    build_class_graphical
+# AUTHOR(S): Vaclav Petras <wenzeslaus gmail com>
+# PURPOSE:   Build page with modules per family/class/category with images
+# COPYRIGHT: (C) 2015 by Vaclav Petras and the GRASS Development Team
+#
+#        This program is free software under the GNU General Public
+#        License (>=v2). Read the file COPYING that comes with GRASS
+#        for details.
+#
+#############################################################################
+
+import sys
+import os
+import fnmatch
+
+#from build_html import *
+from build_html import (
+    default_year, header1_tmpl, grass_version,
+    modclass_intro_tmpl, to_title, html_files,
+    check_for_desc_override, get_desc, write_html_footer, replace_file,
+    )
+
+
+header_graphical_index_tmpl = """\
+<link rel="stylesheet" href="grassdocs.css" type="text/css">
+<style>
+.img-list {
+    margin: 0;
+    padding: 0;
+    list-style-type: none;
+}
+
+.img-list li {
+    padding: 5px;
+    overflow: auto;
+}
+
+.img-list li:hover {
+    background-color: #eee;
+}
+
+.img-list li a {
+    color: initial;
+    text-decoration: none;
+    display: block;
+}
+
+.img-list li img {
+    width: 10%;
+    float: left;
+    margin: 0 15px 0 0;
+    background: white;
+}
+
+.img-list li img.default-img {
+    width: 40px;
+    padding-left: 30px;
+    padding-right: 30px;
+}
+
+.img-list li .desc {
+    margin: 0px;
+}
+
+.img-list li .name {
+    margin: 5px;
+    display: block;
+    color: #409940;
+    font-weight: bold;
+    font-style: italic;
+}
+</style>
+</head>
+<body style="width: 99%">
+<div id="container">
+
+<a href="index.html"><img src="grass_logo.png" alt="GRASS logo"></a>
+<hr class="header">
+<h2>Graphical index of GRASS GIS modules</h2>
+"""
+
+
+def file_matches(filename, patterns):
+    for pattern in patterns:
+        if fnmatch.fnmatch(filename, pattern):
+            return True
+    return False
+
+
+def starts_with_module(string, module):
+    # not solving:
+    # module = module.replace('wxGUI.', 'g.gui.')
+    # TODO: matches g.mapsets images for g.mapset and d.rast.num for d.rast
+    if string.startswith(module.replace('.', '_')):
+        return True
+    if string.startswith(module.replace('.', '')):
+        return True
+    if string.startswith(module):
+        return True
+    return False
+
+
+def get_module_image(module, images):
+    candidates = []
+    for image in images:
+        if starts_with_module(image, module):
+            candidates.append(image)
+    if len(candidates) == 1:
+        # matches g.mapsets images for g.mapset and d.rast.num for d.rast
+        return candidates[0]
+    if not candidates:
+        return None
+    for image in candidates:
+        basename, unused = image.rsplit('.', 1)
+        if basename == module.replace('.', '_'):
+            return image
+        if basename == module.replace('.', ''):
+            return image
+        if basename == module:
+            return image
+    return sorted(candidates,
+                  lambda first, second: cmp(len(first), len(second)))[0]
+
+
+def generate_page_for_category(short_family, module_family, imgs, year,
+                               skip_no_image=False):
+    filename = module_family + "_graphical.html"
+
+    output = open(filename + ".tmp", 'wb')
+
+    output.write(header1_tmpl.substitute(
+        title="GRASS GIS %s Reference "
+              "Manual: Graphical index" % grass_version))
+    output.write(header_graphical_index_tmpl)
+
+    if module_family.lower() not in ['general', 'misc', 'postscript']:
+        if module_family == 'raster3d':
+            # covert keyword to nice form
+            module_family = '3D raster'
+        output.write(modclass_intro_tmpl.substitute(
+            modclass=module_family, modclass_lower=module_family.lower()))
+    if module_family == 'wxGUI':
+        output.write("<h3>wxGUI components:</h3>")
+    elif module_family == 'guimodules':
+        output.write("<h3>g.gui.* modules:</h3>")
+    else:
+        output.write("<h3>{} modules:</h3>".format(to_title(module_family)))
+    output.write('<ul class="img-list">')
+
+    #for all modules:
+    for cmd in html_files(short_family, ignore_gui=False):
+        basename = os.path.splitext(cmd)[0]
+        desc = check_for_desc_override(basename)
+        if desc is None:
+            desc = get_desc(cmd)
+        img = get_module_image(basename, imgs)
+        img_class = 'linkimg'
+        if skip_no_image and not img:
+            continue
+        elif not img:
+            img = 'grass_logo.png'
+            img_class = 'default-img'
+        if basename.startswith('wxGUI'):
+            basename = basename.replace('.', ' ')
+        output.write(
+            '<li>'
+            '<a href="{html}">'
+            '<img class="{img_class}" src="{img}">'
+            '<span class="name">{name}</span> '
+            '<span class="desc">{desc}</span>'
+            '</a>'
+            '</li>'
+            .format(html=cmd, img=img, name=basename,
+                    desc=desc, img_class=img_class))
+
+    output.write('</ul>')
+
+    write_html_footer(output, "index.html", year)
+
+    output.close()
+    replace_file(filename)
+
+
+# TODO: dependencies in makefile for this have to be fixed
+# TODO: there is a potential overlap with other scripts (-> refactoring)
+
+def main():
+    year = default_year
+    html_dir = sys.argv[1]
+    os.chdir(html_dir)
+
+    img_extensions = ['png', 'jpg', 'gif']
+    img_patterns = ['*.' + extension for extension in img_extensions]
+    imgs = []
+    for filename in os.listdir(html_dir):
+        if file_matches(filename, img_patterns):
+            imgs.append(filename)
+
+    # using term family
+    # category has its meaning in GRASS already
+    # class has its meaning in Python, plus it is a synonym for category
+    # TODO: what would be user friendly is unclear
+    families = [
+        ('d', 'display'),
+        ('db', 'database'),
+        ('g', 'general'),
+        ('i', 'imagery'),
+        ('m', 'misc'),
+        ('ps', 'postscript'),
+        ('r', 'raster'),
+        ('r3', 'raster3d'),
+        ('t', 'temporal'),
+        ('v', 'vector'),
+        ('wxGUI', 'wxGUI'),
+        ('g.gui', 'guimodules'),
+    ]
+
+    # partial compatibility with build_class.py
+    # first arg is dist html dir but the 3 other are like first 3 there
+    if len(sys.argv) > 2:
+        short_family = sys.argv[2]
+        module_family = sys.argv[3]
+        classes = [(short_family, module_family)]
+        if len(sys.argv) > 4:
+            year = sys.argv[4]
+
+    for short_family, module_family in families:
+        generate_page_for_category(short_family, module_family, imgs,
+                                   year=year, skip_no_image=True)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/man/build_graphical_index.py b/man/build_graphical_index.py
new file mode 100755
index 0000000..79539f0
--- /dev/null
+++ b/man/build_graphical_index.py
@@ -0,0 +1,133 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+############################################################################
+#
+# MODULE:    build_graphical_index
+# AUTHOR(S): Vaclav Petras <wenzeslaus gmail com>
+# PURPOSE:   Build graphical index
+# COPYRIGHT: (C) 2015 by Vaclav Petras and the GRASS Development Team
+#
+#        This program is free software under the GNU General Public
+#        License (>=v2). Read the file COPYING that comes with GRASS
+#        for details.
+#
+#############################################################################
+
+import os
+import sys
+import fnmatch
+import re
+
+from build_html import write_html_footer, grass_version, header1_tmpl
+
+
+output_name = 'graphical_index.html'
+
+year = os.getenv("VERSION_DATE")
+
+# other similar strings are in a different file
+# TODO: all HTML manual building needs refactoring (perhaps grass.tools?)
+header_graphical_index_tmpl = """\
+<link rel="stylesheet" href="grassdocs.css" type="text/css">
+<style>
+.img-list {
+    list-style-type: none;
+    margin: 0;
+    padding: 0;
+    text-align: center;
+}
+
+.img-list li {
+    display: inline-block;
+    position: relative;
+    width: 8em;
+    margin: 0;
+    padding: 0.5em;
+    margin-bottom: 1em;
+}
+
+.img-list li:hover {
+    background-color: #eee;
+}
+
+.img-list li img {
+    float: left;
+    max-width: 100%;
+    background: white;
+}
+
+.img-list li span {
+    text-align: center;
+}
+
+.img-list li a {
+    color: initial;
+    text-decoration: none;
+}
+
+.img-list li .name {
+    margin: 0.1em;
+    display: block;
+    color: #409940;
+    font-weight: bold;
+    font-style: normal;
+    font-size: 120%;
+}
+</style>
+</head>
+<body style="width: 99%">
+<div id="container">
+
+<a href="index.html"><img src="grass_logo.png" alt="GRASS logo"></a>
+<hr class="header">
+<h2>Graphical index of GRASS GIS modules</h2>
+"""
+
+
+def std_img_name(name):
+    return "gi_{}.jpg".format(name)
+
+
+index_items = [
+    ('raster_graphical.html', std_img_name('raster'), 'Raster'),
+    ('vector_graphical.html', std_img_name('vector'), 'Vector'),
+    ('database_graphical.html', std_img_name('database'), 'Database'),
+    ('general_graphical.html', std_img_name('general'), 'General'),
+    ('display_graphical.html', std_img_name('display'), 'Display'),
+    ('imagery_graphical.html', std_img_name('imagery'), 'Imagery'),
+    ('raster3d_graphical.html', std_img_name('raster3d'), '3D raster'),
+    ('temporal_graphical.html', std_img_name('temporal'), 'Temporal'),
+    ('misc_graphical.html', std_img_name('misc'), 'Miscellaneous'),
+    ('postscript_graphical.html', std_img_name('cartography'), 'Cartography'),
+    ('wxGUI_graphical.html', std_img_name('gui'), 'GUI'),
+    ('wxGUI.nviz.html', std_img_name('3dview'), '3D view'),
+    ('https://grass.osgeo.org/grass71/manuals/libpython/index.html', std_img_name('python'), 'Python'),
+    ('https://grass.osgeo.org/programming7/', std_img_name('c'), 'C library'),
+    ('manual_gallery.html', std_img_name('gallery'), 'Gallery'),
+]
+
+
+def main():
+    html_dir = sys.argv[1]
+
+    with open(os.path.join(html_dir, output_name), 'w') as output:
+        output.write(header1_tmpl.substitute(title="GRASS GIS %s Reference "
+                                               "Manual: Graphical index" % grass_version))
+        output.write(header_graphical_index_tmpl)
+        output.write('<ul class="img-list">\n')
+        for html_file, image, label in index_items:
+            output.write(
+                '<li>'
+                '<a href="{html}">'
+                '<img src="{img}">'
+                '<span class="name">{name}</span>'
+                '</a>'
+                '</li>\n'
+                .format(html=html_file, img=image, name=label))
+        output.write('</ul>')
+        write_html_footer(output, "index.html", year)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/man/build_html.py b/man/build_html.py
index dc86fcb..acb0692 100644
--- a/man/build_html.py
+++ b/man/build_html.py
@@ -191,6 +191,7 @@ r"""<hr class="header">
 <a href="${index_url}">Main index</a> |
 <a href="topics.html">Topics index</a> |
 <a href="keywords.html">Keywords index</a> |
+<a href="graphical_index.html">Graphical index</a> |
 <a href="full_index.html">Full index</a>
 </p>
 <p>
@@ -316,12 +317,29 @@ r"""
 <hr class="header">
 
 <h2>Topic: ${keyword}</h2>
-<i>Note: see also the corresponding keyword <a href="keywords.html#${keyword}">${keyword}</a> for additional references.</i>
-<p>
+
 <table>
 """)
 #"
 
+headerpso_tmpl = \
+r"""
+<link rel="stylesheet" href="grassdocs.css" type="text/css">
+<link rel="stylesheet" href="parser_standard_options.css" type="text/css">
+<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
+<script type="text/javascript" src="jquery.fixedheadertable.min.js"></script>
+<script type="text/javascript" src="parser_standard_options.js"></script>
+</head>
+<body style="width: 99%">
+<div id="container">
+
+<a href="index.html"><img src="grass_logo.png" alt="GRASS logo"></a>
+<hr class="header">
+<h2>Parser standard options</h2>
+<ul>
+"""
+#"
+
 ############################################################################
 
 def check_for_desc_override(basename):
@@ -358,14 +376,14 @@ def replace_file(name):
 def copy_file(src, dst):
     write_file(dst, read_file(src))
 
-def html_files(cls = None):
+def html_files(cls=None, ignore_gui=True):
     for cmd in sorted(os.listdir(html_dir)):
         if cmd.endswith(".html") and \
            (cls in [None, '*'] or cmd.startswith(cls + ".")) and \
            (cls != '*' or len(cmd.split('.')) >= 3) and \
            cmd not in ["full_index.html", "index.html"] and \
            cmd not in exclude_mods and \
-           not cmd.startswith("wxGUI."):
+           (ignore_gui and not cmd.startswith("wxGUI.") or not ignore_gui):
             yield cmd
 
 def write_html_header(f, title, ismain = False, body_width = "99%"):
diff --git a/man/build_manual_gallery.py b/man/build_manual_gallery.py
new file mode 100755
index 0000000..a982b90
--- /dev/null
+++ b/man/build_manual_gallery.py
@@ -0,0 +1,187 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+############################################################################
+#
+# MODULE:    build_graphical_index
+# AUTHOR(S): Vaclav Petras <wenzeslaus gmail com>
+# PURPOSE:   Build index gallery from images from all HTML files
+# COPYRIGHT: (C) 2015 by Vaclav Petras and the GRASS Development Team
+#
+#        This program is free software under the GNU General Public
+#        License (>=v2). Read the file COPYING that comes with GRASS
+#        for details.
+#
+#############################################################################
+
+import os
+import sys
+import fnmatch
+import re
+
+from build_html import write_html_footer, grass_version, header1_tmpl
+
+
+output_name = 'manual_gallery.html'
+
+img_extensions = ['png', 'jpg', 'gif']
+img_patterns = ['*.' + extension for extension in img_extensions]
+
+# we don't want some images to show up
+# logos
+img_blacklist = ['grass_logo.png', 'grass_icon.png']
+# circles with numbers from helptext.html (unfortunate we have to list it here)
+# perhaps some general name ending would be good, like *_noindex.png
+img_blacklist.extend(['circle_{}.png'.format(num) for num in range(1, 6)])
+
+year = os.getenv("VERSION_DATE")
+
+# other similar strings are in a different file
+# TODO: all HTML manual building needs refactoring (perhaps grass.tools?)
+header_graphical_index_tmpl = """\
+<link rel="stylesheet" href="grassdocs.css" type="text/css">
+<style>
+.img-list {
+    list-style-type: none;
+    margin: 0;
+    padding: 0;
+    text-align: center;
+}
+
+.img-list li {
+    display: inline-block;
+    position: relative;
+    width: 7em;
+    margin: 0;
+    padding: 0.5em;
+}
+
+.img-list li:hover {
+    background-color: #eee;
+}
+
+.img-list li img {
+    float: left;
+    max-width: 100%;
+    background: white;
+}
+
+.img-list li span {
+    text-align: center;
+}
+
+.img-list li a {
+    color: initial;
+    text-decoration: none;
+}
+
+.img-list li .name {
+    margin: 0.1em;
+    display: block;
+    color: #409940;
+    font-weight: normal;
+    font-style: italic;
+    font-size: 80%;
+}
+</style>
+</head>
+<body style="width: 99%">
+<div id="container">
+
+<a href="index.html"><img src="grass_logo.png" alt="GRASS logo"></a>
+<hr class="header">
+<h2>GRASS GIS manual gallery</h2>
+"""
+
+
+def img_in_html(filename, imagename):
+    # for some reason, calling search just once is much faster
+    # than calling it on every line (time is spent in _compile)
+    pattern = re.compile('<img .*src=.{}.*>'.format(imagename))
+    with open(filename) as file:
+        if re.search(pattern, file.read()):
+            return True
+    return False
+
+
+def file_matches(filename, patterns):
+    for pattern in patterns:
+        if fnmatch.fnmatch(filename, pattern):
+            return True
+    return False
+
+
+def get_files(directory, patterns, exclude_patterns):
+    files = []
+    for filename in os.listdir(directory):
+        if file_matches(filename, patterns):
+            if not file_matches(filename, exclude_patterns):
+                files.append(filename)
+    return files
+
+
+def remove_module_name(string, module):
+    string = string.replace(module.replace('wxGUI.', 'g.gui.'), '')
+    string = string.replace(module.replace('.', '_'), '')  # using _
+    string = string.replace(module.replace('.', ''), '')  # using nothing
+    string = string.replace(module, '')  # using original dots
+    return string
+
+
+def title_from_names(module_name, img_name):
+    # we ignore the possibility of having extension at the end of image
+    # so possibly r.out.png fails but image name should use _ anyway
+    # strictly speaking, it could be also, e.g., index name
+    for extension in img_extensions:
+        img_name = img_name.replace('.' + extension, '')
+    img_name = remove_module_name(img_name, module_name)
+    img_name = img_name.replace('_', ' ')
+    img_name = img_name.strip()
+    if img_name:
+        return "{name} ({desc})".format(name=module_name, desc=img_name)
+    else:
+        return "{name}".format(name=module_name)
+
+
+def get_module_name(filename):
+    return filename.replace('.html', '')
+
+
+def main():
+    html_dir = sys.argv[1]
+
+    html_files = get_files(html_dir, ['*.html'],
+                           exclude_patterns=[output_name, '*_graphical.html', 'graphical_index.html'])
+    img_html_files = {}
+
+    for filename in os.listdir(html_dir):
+        if filename in img_blacklist:
+            continue
+        if file_matches(filename, img_patterns):
+            for html_file in html_files:
+                if img_in_html(os.path.join(html_dir, html_file), filename):
+                    img_html_files[filename] = html_file
+                    # for now suppose one image per html
+
+    with open(os.path.join(html_dir, output_name), 'w') as output:
+        output.write(header1_tmpl.substitute(title="GRASS GIS %s Reference "
+                                               "Manual: Manual gallery" % grass_version))
+        output.write(header_graphical_index_tmpl)
+        output.write('<ul class="img-list">\n')
+        for image, html_file in img_html_files.iteritems():
+            name = get_module_name(html_file)
+            title = title_from_names(name, image)
+            output.write(
+                '<li>'
+                '<a href="{html}" title="{title}">'
+                '<img src="{img}">'
+                '<span class="name">{name}</span>'
+                '</a>'
+                '</li>\n'
+                .format(html=html_file, img=image, title=title, name=name))
+        output.write('</ul>')
+        write_html_footer(output, "index.html", year)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/man/build_topics.py b/man/build_topics.py
index 9a7e35f..251cfc6 100644
--- a/man/build_topics.py
+++ b/man/build_topics.py
@@ -62,6 +62,13 @@ for key, values in sorted(keywords.iteritems(), key=lambda s: s[0].lower()):
         topicsfile.writelines([moduletopics_tmpl.substitute(
             key=key, name=key.replace('_', ' '))])
     keyfile.write("</table>\n")
+    # link to the keywords index
+    # TODO: the labels in keywords index are with spaces and capitals
+    # this should be probably changed to lowercase with underscores
+    keyfile.write(
+        '<p><em>See also the corresponding keyword'
+        ' <a href="keywords.html#{key}">{key}</a>'
+        ' for additional references.</em>'.format(key=key.replace('_', ' ')))
     write_html_footer(keyfile, "index.html", year)
 topicsfile.write("</ul>\n")
 write_html_footer(topicsfile, "index.html", year)
diff --git a/man/jquery.fixedheadertable.min.js b/man/jquery.fixedheadertable.min.js
new file mode 100644
index 0000000..ec91f96
--- /dev/null
+++ b/man/jquery.fixedheadertable.min.js
@@ -0,0 +1,19 @@
+/*!
+ * jquery.fixedHeaderTable. The jQuery fixedHeaderTable plugin
+ *
+ * Copyright (c) 2013 Mark Malek
+ * http://fixedheadertable.com
+ *
+ * Licensed under MIT
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * http://docs.jquery.com/Plugins/Authoring
+ * jQuery authoring guidelines
+ *
+ * Launch  : October 2009
+ * Version : 1.3
+ * Released: May 9th, 2011
+ *
+ *
+ * all CSS sizing (width,height) is done in pixels (px)
+ */(function(c){c.fn.fixedHeaderTable=function(m){var u={width:"100%",height:"100%",themeClass:"fht-default",borderCollapse:!0,fixedColumns:0,fixedColumn:!1,sortable:!1,autoShow:!0,footer:!1,cloneHeadToFoot:!1,autoResize:!1,create:null},b={},n={init:function(a){b=c.extend({},u,a);return this.each(function(){var a=c(this);h._isTable(a)?(n.setup.apply(this,Array.prototype.slice.call(arguments,1)),c.isFunction(b.create)&&b.create.call(this)):c.error("Invalid table mark-up")})},setup:functio [...]
diff --git a/man/parser_standard_options.css b/man/parser_standard_options.css
new file mode 100644
index 0000000..783e2d0
--- /dev/null
+++ b/man/parser_standard_options.css
@@ -0,0 +1,172 @@
+/*!
+* jquery.fixedHeaderTable. The jQuery fixedHeaderTable plugin
+*
+* Copyright (c) 2011 Mark Malek
+* http://fixedheadertable.com
+*
+* Licensed under MIT
+* http://www.opensource.org/licenses/mit-license.php
+*
+* http://docs.jquery.com/Plugins/Authoring
+* jQuery authoring guidelines
+*
+* Launch  : October 2009
+* Version : 1.3
+* Released: May 9th, 2011
+*
+*
+* all CSS sizing (width,height) is done in pixels (px)
+*/
+
+/* @group Reset */
+
+.fht-table,
+.fht-table thead,
+.fht-table tfoot,
+.fht-table tbody,
+.fht-table tr,
+.fht-table th,
+.fht-table td {
+        /* position */
+    margin: 0;
+
+    /* size */
+        padding: 0;
+
+        /* text */
+        font-size: 100%;
+        font: inherit;
+        vertical-align: top;
+        }
+
+.fht-table {
+        /* appearance */
+    border-collapse: collapse;
+    border-spacing: 0;
+        }
+
+/* @end */
+
+/* @group Content */
+
+.fht-table-wrapper,
+.fht-table-wrapper .fht-thead,
+.fht-table-wrapper .fht-tfoot,
+.fht-table-wrapper .fht-fixed-column .fht-tbody,
+.fht-table-wrapper .fht-fixed-body .fht-tbody,
+.fht-table-wrapper .fht-tbody {
+        /* appearance */
+        overflow: hidden;
+
+        /* position */
+        position: relative;
+        }
+
+        .fht-table-wrapper .fht-fixed-body .fht-tbody,
+        .fht-table-wrapper .fht-tbody {
+                /* appearance */
+            overflow: auto;
+                }
+
+                .fht-table-wrapper .fht-table .fht-cell {
+                        /* appearance */
+                        overflow: hidden;
+
+                        /* size */
+                    height: 1px;
+                        }
+
+        .fht-table-wrapper .fht-fixed-column,
+        .fht-table-wrapper .fht-fixed-body {
+            /* position */
+            top: 0;
+            left: 0;
+            position: absolute;
+            }
+
+        .fht-table-wrapper .fht-fixed-column {
+            /* position */
+            z-index: 1;
+            }
+
+/* @end */
+
+.scroolTable td, .scroolTable th {
+        /* appearance */
+        border: 1px solid #778899;
+
+        /* size */
+        padding: 5px;
+        }
+
+.scroolTable {
+        /* text */
+        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+        }
+
+.scroolTable tbody tr td {
+        /* appearance */
+        background-color: rgb(100%, 100%, 100%);
+        background-image: -moz-linear-gradient(
+                top,
+                rgba(255,255,255,0.4) 0%,
+                rgba(255,255,255,0.2) 50%,
+                rgba(255,255,255,0.1) 51%,
+                rgba(255,255,255,0.0) 100%);
+
+        background-image: -webkit-gradient(
+                linear, left top, left bottom,
+                color-stop(0%,rgba(255,255,255,0.4)),
+                color-stop(50%,rgba(255,255,255,0.2)),
+                color-stop(51%,rgba(255,255,255,0.1)),
+                color-stop(100%,rgba(255,255,255,0.0)));
+
+        /* text */
+        color: #262c31;
+        font-size: 11px;
+        }
+
+.scroolTable tbody tr.odd td {
+        /* appearance */
+        background-color: #d6e0ef;
+        background-image: -moz-linear-gradient(
+                top,
+                rgba(255,255,255,0.4) 0%,
+                rgba(255,255,255,0.2) 50%,
+                rgba(255,255,255,0.1) 51%,
+                rgba(255,255,255,0.0) 100%);
+
+        background-image: -webkit-gradient(
+                linear, left top, left bottom,
+                color-stop(0%,rgba(255,255,255,0.4)),
+                color-stop(50%,rgba(255,255,255,0.2)),
+                color-stop(51%,rgba(255,255,255,0.1)),
+                color-stop(100%,rgba(255,255,255,0.0)));
+        }
+
+.scroolTable thead tr th,
+.scroolTable thead tr td,
+.scroolTable tfoot tr th,
+.scroolTable tfoot tr td {
+        /* appearance */
+        background-color: rgb(25%, 60%, 25%);
+        background-image: -moz-linear-gradient(
+                top,
+                rgba(255,255,255,0.4) 0%,
+                rgba(255,255,255,0.2) 50%,
+                rgba(255,255,255,0.1) 51%,
+                rgba(255,255,255,0.0) 100%);
+
+        background-image: -webkit-gradient(
+                linear, left top, left bottom,
+                color-stop(0%,rgba(255,255,255,0.4)),
+                color-stop(50%,rgba(255,255,255,0.2)),
+                color-stop(51%,rgba(255,255,255,0.1)),
+                color-stop(100%,rgba(255,255,255,0.0)));
+
+        /* text */
+        color: #121517;
+        font-size: 12px;
+        font-weight: bold;
+        text-shadow: 0 1px 1px #e8ebee;
+        }
diff --git a/man/parser_standard_options.js b/man/parser_standard_options.js
new file mode 100644
index 0000000..6cdab0b
--- /dev/null
+++ b/man/parser_standard_options.js
@@ -0,0 +1,4 @@
+$(document).ready(function() {
+  $('#opts_table').fixedHeaderTable({footer: false, cloneHeadToFoot: true,
+                                     fixedColumn: true});
+});
diff --git a/man/parser_standard_options.py b/man/parser_standard_options.py
new file mode 100644
index 0000000..37d5246
--- /dev/null
+++ b/man/parser_standard_options.py
@@ -0,0 +1,177 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Jun 26 19:10:58 2015
+
+ at author: pietro
+"""
+from __future__ import print_function
+import argparse
+import sys
+from urllib import urlopen
+from build_html import *
+
+def parse_options(lines, startswith='Opt'):
+    def split_in_groups(lines):
+        def count_par_diff(line):
+            open_par = line.count('(')
+            close_par = line.count(')')
+            return open_par - close_par
+        res = None
+        diff = 0
+        for line in lines:
+            if line.startswith('case'):
+                optname = line.split()[1][:-1]
+                res = []
+#                if optname == 'G_OPT_R_BASENAME_INPUT':
+#                    import ipdb; ipdb.set_trace()
+            elif line == 'break;':
+                diff = 0
+                yield optname, res
+            elif line.startswith('G_'):
+                diff = count_par_diff(line)
+            elif diff > 0:
+                diff -= count_par_diff(line)
+            else:
+                res.append(line) if res is not None else None
+
+    def split_opt_line(line):
+        index = line.index('=')
+        key = line[:index].strip()
+        default = line[index + 1:].strip()
+        if default.startswith('_('):
+            default = default[2:]
+        return key, default
+
+    def parse_glines(glines):
+        res = {}
+        key = None
+        for line in glines:
+            if line.startswith('/*'):
+                continue
+            if line.startswith(startswith) and line.endswith(';'):
+                key, default = [w.strip() for w in split_opt_line(line[5:])]
+                res[key] = default
+            elif line.startswith(startswith):
+                key, default = split_opt_line(line[5:])
+                res[key] = [default, ]
+            else:
+                if key is not None:
+                    if key not in res:
+                        res[key] = []
+                    start, end = 0, -1
+                    if line.startswith('_('):
+                        start = 2
+                    if line.endswith(');'):
+                        end = -3
+                    elif line.endswith(';'):
+                        end = -2
+                    res[key].append(line[start:end])
+        # pprint(glines)
+        # pprint(res)
+        return res
+
+    def clean_value(val):
+        if isinstance(val, list):
+            val = ' '.join(val)
+        return (val.replace('"', '').replace("\'", "'").strip().strip(';')
+                ).strip().strip('_(').strip().strip(')').strip()
+
+    # with open(optionfile, mode='r') as optfile:
+    lines = [line.strip() for line in lines]
+    result = []
+    for optname, glines in split_in_groups(lines):
+        if glines:
+            res = parse_glines(glines)
+            if res:
+                for key, val in res.items():
+                    res[key] = clean_value(val)
+                result.append((optname, res))
+    return result
+
+
+class OptTable(object):
+    """"""
+    def __init__(self, list_of_dict):
+        self.options = list_of_dict
+        self.columns = sorted(set([key for _, d in self.options
+                                   for key in d.keys()]))
+
+    def csv(self, delimiter=';', endline='\n'):
+        """Return a CSV string with the options"""
+        csv = []
+        csv.append(delimiter.join(self.columns))
+        for optname, options in self.options:
+            opts = [options.get(col, '') for col in self.columns]
+            csv.append(delimiter.join([optname, ] + opts))
+        return endline.join(csv)
+
+    def html(self, endline='\n', indent='  ', toptions='border=1'):
+        """Return a HTML table with the options"""
+        html = ['<table{}>'.format(' ' + toptions if toptions else '')]
+        # write headers
+        html.append(indent + "<thead>")
+        html.append(indent + "<tr>")
+        html.append(indent * 2 + "<th>{0}</th>".format('option'))
+        for col in self.columns:
+            html.append(indent * 2 + "<th>{0}</th>".format(col))
+        html.append(indent + "</tr>")
+        html.append(indent + "</thead>")
+        html.append(indent + "<tbody>")
+        for optname, options in self.options:
+            html.append(indent + "<tr>")
+            html.append(indent * 2 + "<td>{0}</td>".format(optname))
+            for col in self.columns:
+                html.append(indent * 2 +
+                            "<td>{0}</td>".format(options.get(col, '')))
+            html.append(indent + "</tr>")
+        html.append(indent + "</tbody>")
+        html.append("</table>")
+        return endline.join(html)
+
+    def _repr_html_(self):
+        """Method used by IPython notebook"""
+        return self.html()
+
+
+if __name__ == "__main__":
+    URL = ('https://trac.osgeo.org/grass/browser/grass/'
+           'trunk/lib/gis/parser_standard_options.c?format=txt')
+    parser = argparse.ArgumentParser(description='Extract GRASS default '
+                                                 'options from link.')
+    parser.add_argument('-f', '--format', default='html', dest='format',
+                        choices=['html', 'csv', 'grass'],
+                        help='Define the output format')
+    parser.add_argument('-l', '--link', default=URL, dest='url', type=str,
+                        help='Provide the url with the file to parse')
+    parser.add_argument('-t', '--text', dest='text',
+                        type=argparse.FileType('r'),
+                        help='Provide the file to parse')
+    parser.add_argument('-o', '--output', default=sys.stdout, dest='output',
+                        type=argparse.FileType('w'),
+                        help='Provide the url with the file to parse')
+    parser.add_argument('-s', '--starts-with', default='Opt',
+                        dest='startswith', type=str,
+                        help='Extract only the options that starts with this')
+    parser.add_argument('-p', '--html_params', default='border=1', type=str,
+                        dest='htmlparmas', help="Options for the HTML table")
+    args = parser.parse_args()
+
+    cfile = args.text if args.text else urlopen(args.url, proxies=None)
+
+    options = OptTable(parse_options(cfile.readlines(),
+                                     startswith=args.startswith))
+    outform = args.format
+    if outform in ['csv', 'html']:
+        print(getattr(options, outform)(), file=args.output)
+        args.output.close()
+    else:
+        year = os.getenv("VERSION_DATE")
+        name = args.output.name
+        args.output.close()
+        topicsfile = open(name, 'w')
+        topicsfile.write(header1_tmpl.substitute(title="GRASS GIS " \
+                        "%s Reference Manual: Parser standard options index" % grass_version))
+        topicsfile.write(headerpso_tmpl)
+        topicsfile.write(options.html(toptions=args.htmlparmas))
+        write_html_footer(topicsfile, "index.html", year)
+        topicsfile.close()
diff --git a/misc/m.cogo/m.cogo.html b/misc/m.cogo/m.cogo.html
index c04e764..7e3d5f9 100644
--- a/misc/m.cogo/m.cogo.html
+++ b/misc/m.cogo/m.cogo.html
@@ -157,4 +157,4 @@ Use <tt>tool=snap</tt> and <tt>thresh=0.0001</tt>, or some small value.
 Eric G. Miller
 
 <p>
-<i>Last changed: $Date: 2014-12-09 19:46:50 +0100 (Tue, 09 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-09 10:39:37 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/misc/m.measure/m.measure.html b/misc/m.measure/m.measure.html
index 5f1a28c..b94db39 100644
--- a/misc/m.measure/m.measure.html
+++ b/misc/m.measure/m.measure.html
@@ -13,4 +13,4 @@ Some updates by Martin Landa, CTU in Prague, Czech Republic
 Derived from d.measure by James Westervelt, Michael Shapiro, U.S. Army
 Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/misc/m.nviz.image/m.nviz.image.html b/misc/m.nviz.image/m.nviz.image.html
index cd0efac..4768686 100644
--- a/misc/m.nviz.image/m.nviz.image.html
+++ b/misc/m.nviz.image/m.nviz.image.html
@@ -31,4 +31,4 @@ Summer of Code 2010</a> (mentor: Helena Mitasova)<br>
 Anna Kratochvilova, <a href="http://grasswiki.osgeo.org/wiki/WxNviz_GSoC_2011">Google
 Summer of Code 2011</a> (mentor: Martin Landa)
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/misc/m.nviz.script/m.nviz.script.html b/misc/m.nviz.script/m.nviz.script.html
index 354c876..a14f6f6 100644
--- a/misc/m.nviz.script/m.nviz.script.html
+++ b/misc/m.nviz.script/m.nviz.script.html
@@ -139,4 +139,4 @@ and can then be edited there.
 <h2>AUTHOR</h2>
 
 <a href="mailto:bcovill at tekmap.ns.ca">Bob Covill</a>
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/misc/m.transform/m.transform.html b/misc/m.transform/m.transform.html
index 5cf7a75..fb48044 100644
--- a/misc/m.transform/m.transform.html
+++ b/misc/m.transform/m.transform.html
@@ -64,4 +64,4 @@ Brian J. Buckley<br>
 Glynn Clements<br>
 Hamish Bowman
 
-<p><i>Last changed: $Date: 2014-11-28 16:46:08 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-28 07:43:22 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/mswindows/GRASS-Installer.nsi.tmpl b/mswindows/GRASS-Installer.nsi.tmpl
index 9da94bc..5da611e 100644
--- a/mswindows/GRASS-Installer.nsi.tmpl
+++ b/mswindows/GRASS-Installer.nsi.tmpl
@@ -3,7 +3,7 @@
 ;GRASS GIS Installer for Windows
 ;Written by Marco Pasetti
 ;Updated for OSGeo4W by Colin Nielsen, Helmut Kudrnovsky, and Martin Landa
-;Last Update: $Id: GRASS-Installer.nsi.tmpl 67182 2015-12-16 17:38:32Z martinl $
+;Last Update: $Id: GRASS-Installer.nsi.tmpl 67181 2015-12-16 17:37:00Z martinl $
 ;Mail to: grass-dev at lists.osgeo.org 
 
 ;----------------------------------------------------------------------------------------------------------------------------
diff --git a/mswindows/GRASS-Packager.bat.tmpl b/mswindows/GRASS-Packager.bat.tmpl
index b8b9078..2b546a1 100644
--- a/mswindows/GRASS-Packager.bat.tmpl
+++ b/mswindows/GRASS-Packager.bat.tmpl
@@ -3,7 +3,7 @@ rem Self Contained GRASS Automated Packager
 rem -----------------------------------------------------------------------------------------------------------------------
 rem Edited by: Marco Pasetti
 rem Revised for OSGeo4W by: Colin Nielsen, Helmut Kudrnovsky, and Martin Landa
-rem Last Update: $Id: GRASS-Packager.bat.tmpl 67549 2016-01-11 12:41:54Z martinl $
+rem Last Update: $Id: GRASS-Packager.bat.tmpl 67543 2016-01-10 20:42:09Z martinl $
 rem -----------------------------------------------------------------------------------------------------------------------
 
 @echo off
diff --git a/mswindows/osgeo4w/env.bat.tmpl b/mswindows/osgeo4w/env.bat.tmpl
index 9da7d84..b77ca0a 100644
--- a/mswindows/osgeo4w/env.bat.tmpl
+++ b/mswindows/osgeo4w/env.bat.tmpl
@@ -4,6 +4,10 @@ REM
 
 set GISBASE=%OSGEO4W_ROOT%\apps\grass\grass- at VERSION@
 
+REM Uncomment if you want to use Bash instead of Cmd
+REM Note that msys package must be also installed
+REM set GRASS_SH=%OSGEO4W_ROOT%\apps\msys\bin\sh.exe
+
 set GRASS_PYTHON=%OSGEO4W_ROOT%\bin\python.exe
 set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python27
 
diff --git a/mswindows/osgeo4w/package.sh b/mswindows/osgeo4w/package.sh
index e5e44ed..8998b65 100755
--- a/mswindows/osgeo4w/package.sh
+++ b/mswindows/osgeo4w/package.sh
@@ -119,7 +119,7 @@ log dll.to.a
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/proj.dll        mswindows/osgeo4w/lib/libproj
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/zlib1.dll       mswindows/osgeo4w/lib/libz
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/iconv.dll       mswindows/osgeo4w/lib/libiconv
-dll_to_a $OSGEO4W_ROOT_MSYS/bin/gdal111.dll     mswindows/osgeo4w/lib/libgdal
+dll_to_a $OSGEO4W_ROOT_MSYS/bin/gdal200.dll     mswindows/osgeo4w/lib/libgdal
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/liblas_c.dll    mswindows/osgeo4w/lib/liblas_c
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/geos_c.dll      mswindows/osgeo4w/lib/libgeos_c
 dll_to_a $OSGEO4W_ROOT_MSYS/bin/libtiff.dll     mswindows/osgeo4w/lib/libtiff
@@ -184,7 +184,7 @@ if ! [ -f mswindows/osgeo4w/configure-stamp ]; then
 	        --with-cairo \
                 --with-postgres \
 	        --with-opengl=windows
-        
+	
 	touch mswindows/osgeo4w/configure-stamp
 fi
 
@@ -254,6 +254,7 @@ if [ -n "$PACKAGE_PATCH" ]; then
 	/mingw${MINGW_POSTFIX}/bin/libsystre-0.dll \
 	/mingw${MINGW_POSTFIX}/bin/libtre-5.dll \
         /mingw${MINGW_POSTFIX}/bin/zlib1.dll \
+        /mingw${MINGW_POSTFIX}/bin/libstdc++-6.dll \
 	apps/grass/grass-$VERSION/bin
     cp -uv /mingw${MINGW_POSTFIX}/etc/fonts/fonts.conf \
 	apps/grass/grass-$VERSION/etc
diff --git a/mswindows/osgeo4w/setup.hint b/mswindows/osgeo4w/setup.hint
index 65dae31..0d36236 100644
--- a/mswindows/osgeo4w/setup.hint
+++ b/mswindows/osgeo4w/setup.hint
@@ -1,7 +1,7 @@
-sdesc: "GRASS GIS - stable release"
-ldesc: "Geographic Resources Analysis Support System (GRASS GIS) - stable release"
+sdesc: "GRASS GIS - daily builds of development version"
+ldesc: "Geographic Resources Analysis Support System (GRASS GIS) - daily builds of SVN trunk"
 category: Desktop
 requires: liblas avce00 gpsbabel gs gdal-python matplotlib msvcrt iconv libtiff gdal proj freetype-mingw pdcurses zlib fftw libpng wxpython python-numpy python-pil pyopengl cairo psycopg2
 maintainer: MartinLanda
-curr: 7.0.3RC1-1
-prev: 7.0.2-1
+curr: 7.1.svn-1
+prev: 7.1.svn-1
diff --git a/ps/ps.map/ps.map.html b/ps/ps.map/ps.map.html
index 2a20c8f..edb6714 100644
--- a/ps/ps.map/ps.map.html
+++ b/ps/ps.map/ps.map.html
@@ -1611,4 +1611,4 @@ help site.
 
 Paul Carlson, USDA, SCS, NHQ-CGIS<br>
 Modifications: Radim Blazek, Glynn Clements, Bob Covill, Hamish Bowman
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.basins.fill/r.basins.fill.html b/raster/r.basins.fill/r.basins.fill.html
index d7e2833..5ee9b09 100644
--- a/raster/r.basins.fill/r.basins.fill.html
+++ b/raster/r.basins.fill/r.basins.fill.html
@@ -53,4 +53,4 @@ Pennsylvania State University
 <br>
 Larry Band, Dept. of Geography, University of Toronto, Canada 
 
-<p><i>Last changed: $Date: 2014-04-11 17:48:44 +0200 (Fri, 11 Apr 2014) $</i>
+<p><i>Last changed: $Date: 2014-04-11 08:46:13 -0700 (Fri, 11 Apr 2014) $</i>
diff --git a/raster/r.buffer/r.buffer.html b/raster/r.buffer/r.buffer.html
index e5c7aba..f7c85eb 100644
--- a/raster/r.buffer/r.buffer.html
+++ b/raster/r.buffer/r.buffer.html
@@ -129,4 +129,4 @@ James Westervelt, U.S. Army Construction Engineering
 Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2016-01-21 12:10:49 +0100 (Thu, 21 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-01-21 03:10:11 -0800 (Thu, 21 Jan 2016) $</i>
diff --git a/raster/r.carve/r.carve.html b/raster/r.carve/r.carve.html
index aee9438..5cd81ac 100644
--- a/raster/r.carve/r.carve.html
+++ b/raster/r.carve/r.carve.html
@@ -50,4 +50,4 @@ M.  Johnston, GMSL (Report for CERL 1999)
 Bill Brown (GMSL)<br>
 GRASS 6 update: Brad Douglas
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/raster/r.category/r.category.html b/raster/r.category/r.category.html
index b4364e1..b585ac3 100644
--- a/raster/r.category/r.category.html
+++ b/raster/r.category/r.category.html
@@ -90,7 +90,7 @@ string for category "num":
 <p>
 <tt>sprintf(buff,"Elevation: %.2f to %.2f feet", num*5.0+1000, num*5.0*1005)</tt>
 
-<p>Note: while both the format and coefficent lines must be present
+<p>Note: while both the format and coefficient lines must be present
       a blank line for the format string will effectively suppress
       automatic label generation.
 <!--
@@ -173,4 +173,4 @@ UNIX Manual entries for <i>awk</i> and <i>sort</i>
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory<br>
 Hamish Bowman, University of Otago, New Zealand (label creation options)
 
-<p><i>Last changed: $Date: 2015-12-27 21:55:06 +0100 (Sun, 27 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/raster/r.circle/r.circle.html b/raster/r.circle/r.circle.html
index 77ce2e0..db12b0f 100644
--- a/raster/r.circle/r.circle.html
+++ b/raster/r.circle/r.circle.html
@@ -50,4 +50,4 @@ r.circle -b output=circle coordinate=${EASTCENTER},${NORTHCENTER} min=500 max=10
 Bill Brown, U.S. Army Construction Engineering Research Laboratory<br>
 Additional flag/min/max parameter by Markus Neteler, University of Hannover
 
-<p><i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/raster/r.clump/main.c b/raster/r.clump/main.c
index 9328a41..4fa77c2 100644
--- a/raster/r.clump/main.c
+++ b/raster/r.clump/main.c
@@ -76,6 +76,9 @@ int main(int argc, char *argv[])
     flag_print->key = 'g';
     flag_print->label = _("Print only the number of clumps in shell script style");
 
+    G_option_exclusive(flag_print, opt_out, NULL);
+    G_option_required(flag_print, opt_out, NULL);
+
     /* parse options */
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
diff --git a/raster/r.clump/r.clump.html b/raster/r.clump/r.clump.html
index 8d17453..6e03445 100644
--- a/raster/r.clump/r.clump.html
+++ b/raster/r.clump/r.clump.html
@@ -73,4 +73,4 @@ Laboratory<br>
 Markus Metz (diagonal clump tracing)
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.coin/r.coin.html b/raster/r.coin/r.coin.html
index 5ed9097..b427490 100644
--- a/raster/r.coin/r.coin.html
+++ b/raster/r.coin/r.coin.html
@@ -203,4 +203,4 @@ Michael O'Shea,
 Michael Shapiro, <br>
 U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-28 16:45:01 +0100 (Sun, 28 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-28 07:42:58 -0800 (Sun, 28 Dec 2014) $</i>
diff --git a/raster/r.colors.out/r.colors.out.html b/raster/r.colors.out/r.colors.out.html
index 666d57e..1c4bac3 100644
--- a/raster/r.colors.out/r.colors.out.html
+++ b/raster/r.colors.out/r.colors.out.html
@@ -20,4 +20,4 @@ r.colors map=el_D783_6m rules=rules.txt
 <h2>AUTHOR</h2>
 Glynn Clements
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.colors.out/r3.colors.out.html b/raster/r.colors.out/r3.colors.out.html
index 396a7c2..b68b9e7 100644
--- a/raster/r.colors.out/r3.colors.out.html
+++ b/raster/r.colors.out/r3.colors.out.html
@@ -25,4 +25,4 @@ r3.colors map=volume_2 rules=rules.txt
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2014-12-09 19:46:50 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 10:39:37 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/raster/r.colors/.pgm b/raster/r.colors/.pgm
deleted file mode 100644
index b1d9570..0000000
--- a/raster/r.colors/.pgm
+++ /dev/null
@@ -1,4 +0,0 @@
-P5
-15 85
-255
-������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ [...]
\ No newline at end of file
diff --git a/raster/r.colors/r.colors.html b/raster/r.colors/r.colors.html
index fb123d8..c0288f7 100644
--- a/raster/r.colors/r.colors.html
+++ b/raster/r.colors/r.colors.html
@@ -310,4 +310,4 @@ help people select good color schemes for maps and other graphics.
 Michael Shapiro and David Johnson<br>
 Support for 3D rasters by Soeren Gebbert
 
-<p><i>Last changed: $Date: 2014-12-24 11:56:44 +0100 (Wed, 24 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-24 02:53:28 -0800 (Wed, 24 Dec 2014) $</i>
diff --git a/raster/r.colors/r3.colors.html b/raster/r.colors/r3.colors.html
index de82093..7c71447 100644
--- a/raster/r.colors/r3.colors.html
+++ b/raster/r.colors/r3.colors.html
@@ -33,4 +33,4 @@ Michael Shapiro and David Johnson
 <br>
 Support for 3D rasters by Soeren Gebbert
 
-<p><i>Last changed: $Date: 2014-12-09 19:46:50 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 10:39:37 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/raster/r.composite/r.composite.html b/raster/r.composite/r.composite.html
index 76e26a7..0761bd1 100644
--- a/raster/r.composite/r.composite.html
+++ b/raster/r.composite/r.composite.html
@@ -54,4 +54,4 @@ r.composite -d red=elevation.r green=elevation.g blue=elevation.b \
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2014-12-28 16:45:01 +0100 (Sun, 28 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-28 07:42:58 -0800 (Sun, 28 Dec 2014) $</i>
diff --git a/raster/r.compress/main.c b/raster/r.compress/main.c
index b43dc06..7ddd60e 100644
--- a/raster/r.compress/main.c
+++ b/raster/r.compress/main.c
@@ -22,7 +22,7 @@
  *
  * RLE:
  *  - Array of addresses pointing to the internal start of each row
- *    First byte of each row is the nuber of bytes per cell for that row
+ *    First byte of each row is the number of bytes per cell for that row
  *    Remainder of the row is a series of byte groups that describe the data:
  *        First byte: number of cells that contain the category given by second
  *        Next byte(s): category number. The number of bytes is determined
@@ -30,7 +30,7 @@
  *
  * The normal G_open_cell(), and Rast_put_row() do the compression
  * This program must only check that the file is not a reclass file and
- * is not already compressed.
+ * is not a GDAL-linked map.
  *
  * The only trick is to preserve the support files
  *
@@ -38,15 +38,15 @@
 
 #include <stdlib.h>
 #include <limits.h>
+#include <string.h>
 #include <sys/types.h>
 #include <unistd.h>
 #include <grass/gis.h>
 #include <grass/raster.h>
 #include <grass/glocale.h>
 
-static off_t newsize, oldsize;
 static int process(char *, int);
-static int pprint(char *, int);
+static int pprint(char *);
 static int doit(char *, int, RASTER_MAP_TYPE);
 
 int main(int argc, char *argv[])
@@ -85,16 +85,16 @@ int main(int argc, char *argv[])
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
-    if(pflag->answer) {
+    if (pflag->answer) {
         for (n = 0; (name = map->answers[n]); n++)
-            pprint(name, pflag->answer);
+            pprint(name);
         exit(EXIT_SUCCESS);
     }
 
-    stat = 0;
+    stat = EXIT_FAILURE;
     for (n = 0; (name = map->answers[n]); n++)
 	if (process(name, uncompress->answer))
-	    stat = 1;
+	    stat = EXIT_SUCCESS;
     exit(stat);
 }
 
@@ -108,13 +108,21 @@ static int process(char *name, int uncompress)
     int colr_ok;
     int hist_ok;
     int cats_ok;
-    int quant_ok=0;
-    off_t diff;
+    int quant_ok = 0;
+    off_t newsize, oldsize, diff;
     RASTER_MAP_TYPE map_type;
     char rname[GNAME_MAX], rmapset[GMAPSET_MAX];
+    const char *mapset;
+    int data_fd;
+    char *sizestr;
 
-    if (G_find_raster(name, G_mapset()) == NULL) {
-	G_warning(_("Raster map <%s> not found"), name);
+    mapset = G_find_raster(name, G_mapset());
+    if (mapset == NULL) {
+        G_warning(_("Raster map <%s> not found"), name);
+        return 1;
+    }
+    if (strcmp(mapset, G_mapset())) {
+	G_warning(_("Raster map <%s> is not in the current mapset"), name);
 	return 1;
     }
     if (Rast_is_reclass(name, G_mapset(), rname, rmapset) > 0) {
@@ -133,7 +141,6 @@ static int process(char *name, int uncompress)
 
     map_type = Rast_map_type(name, G_mapset());
 
-    G_suppress_warnings(1);
     colr_ok = Rast_read_colors(name, G_mapset(), &colr) > 0;
     hist_ok = Rast_read_history(name, G_mapset(), &hist) >= 0;
     cats_ok = Rast_read_cats(name, G_mapset(), &cats) >= 0;
@@ -142,7 +149,14 @@ static int process(char *name, int uncompress)
 	Rast_quant_init(&quant);
 	quant_ok = Rast_read_quant(name, G_mapset(), &quant);
 	G_suppress_warnings(0);
+
+	data_fd = G_open_old("fcell", name, G_mapset());
     }
+    else
+	data_fd = G_open_old("cell", name, G_mapset());
+
+    oldsize = lseek(data_fd, (off_t) 0, SEEK_END);
+    close(data_fd);
 
     if (doit(name, uncompress, map_type))
 	return 1;
@@ -161,6 +175,32 @@ static int process(char *name, int uncompress)
     if (map_type != CELL_TYPE && quant_ok)
 	Rast_write_quant(name, G_mapset(), &quant);
 
+    if (map_type != CELL_TYPE) {
+	data_fd = G_open_old("fcell", name, G_mapset());
+    }
+    else
+	data_fd = G_open_old("cell", name, G_mapset());
+
+    newsize = lseek(data_fd, (off_t) 0, SEEK_END);
+    close(data_fd);
+
+    sizestr = "bytes";
+    if (newsize > 100 * 1024 && oldsize > 100 * 1024) {
+	newsize /= 1024;
+	oldsize /= 1024;
+	sizestr = "KB";
+    }
+    if (newsize > 100 * 1024 && oldsize > 100 * 1024) {
+	newsize /= 1024;
+	oldsize /= 1024;
+	sizestr = "MB";
+    }
+    if (newsize > 100 * 1024 && oldsize > 100 * 1024) {
+	newsize /= 1024;
+	oldsize /= 1024;
+	sizestr = "GB";
+    }
+
     diff = newsize - oldsize;
     if (diff < 0)
 	diff = -diff;
@@ -169,16 +209,16 @@ static int process(char *name, int uncompress)
 
     if (newsize < oldsize)
 	G_message(uncompress
-		  ? _("DONE: uncompressed file is %lu bytes smaller")
-		  : _("DONE: compressed file is %lu bytes smaller"),
-		  (unsigned long)diff);
+		  ? _("DONE: uncompressed file is %lu %s (%.2f%) smaller")
+		  : _("DONE: compressed file is %lu %s (%.2f%) smaller"),
+		  (unsigned long)diff, sizestr, (double) 100.0 - 100.0 * newsize / oldsize);
     else if (newsize > oldsize)
 	G_message(uncompress
-		  ? _("DONE: uncompressed file is %lu bytes bigger")
-		  : _("DONE: compressed file is %lu bytes bigger"),
-		  (unsigned long)diff);
+		  ? _("DONE: uncompressed file is %lu %s (%.2f%) larger")
+		  : _("DONE: compressed file is %lu %s (%.2f%) larger"),
+		  (unsigned long)diff, sizestr, (double) 100.0 * newsize / oldsize - 100.0);
     else
-	G_message("same size");
+	G_message(_("same size"));
 
     return 0;
 }
@@ -192,17 +232,25 @@ static int doit(char *name, int uncompress, RASTER_MAP_TYPE map_type)
     Rast_get_cellhd(name, G_mapset(), &cellhd);
 
     /* check if already compressed/decompressed */
-    if (uncompress && cellhd.compressed == 0) {
-	G_warning(_("<%s> already uncompressed"), name);
-	return 1;
+    if (uncompress) {
+	if (cellhd.compressed == 0) {
+	    G_warning(_("<%s> already uncompressed"), name);
+	    return 1;
+	}
+	G_verbose_message(_("Uncompressing <%s>"), name);
     }
-    else if (!uncompress && cellhd.compressed > 0) {
-	G_warning(_("<%s> already compressed"), name);
-	return 1;
+    else /* uncompress == 0 */ {
+	if (cellhd.compressed > 0) {
+	    /*
+	    G_warning(_("[%s] already compressed"), name);
+	    return 1;
+	    */
+	    G_message(_("Re-compressing <%s>"), name);
+	}
+	else
+	    G_message(_("Compressing <%s>"), name);
     }
 
-    G_message(_("\n%sCOMPRESS <%s>"), uncompress ? "UN" : "", name);
-
     Rast_set_window(&cellhd);
 
     old = Rast_open_old(name, G_mapset());
@@ -223,8 +271,6 @@ static int doit(char *name, int uncompress, RASTER_MAP_TYPE map_type)
     nrows = Rast_window_rows();
     rast = Rast_allocate_buf(map_type);
 
-    oldsize = lseek(old, (off_t) 0, SEEK_END);
-
     /* the null file is written automatically */
     for (row = 0; row < nrows; row++) {
 	G_percent(row, nrows, 2);
@@ -238,60 +284,60 @@ static int doit(char *name, int uncompress, RASTER_MAP_TYPE map_type)
 	return 1;
     }
     Rast_close(new);
-    newsize = 0;
-    old = Rast_open_old(name, G_mapset());
-    newsize = lseek(old, (off_t) 0, SEEK_END);
-    Rast_close(old);
+
     return 0;
 }
 
 
-static int pprint(char *name, int printstyle)
+static int pprint(char *name)
 {
     struct Cell_head cellhd;
     char rname[GNAME_MAX], rmapset[GMAPSET_MAX];
-    int done;
+    const char *mapset;
     RASTER_MAP_TYPE map_type;
 
-    if (G_find_raster(name, G_mapset()) == NULL) {
+    mapset = G_find_raster(name, G_mapset());
+    if (mapset == NULL) {
         G_warning(_("Raster map <%s> not found"), name);
         return 1;
     }
+    if (strcmp(mapset, G_mapset())) {
+	G_warning(_("Raster map <%s> is not in the current mapset"), name);
+	return 1;
+    }
     if (G_find_file2_misc("cell_misc", "gdal", name, G_mapset())) {
         G_message(_("<%s> is a GDAL-linked map"), name);
         return 1;
     }
-
-    Rast_get_cellhd(name, G_mapset(), &cellhd);
-    map_type = Rast_map_type(name, G_mapset());
-
-    done = 0;
     if (Rast_is_reclass(name, G_mapset(), rname, rmapset) > 0) {
         G_message(_("<%s> is a reclass file of map <%s> in mapset <%s>"),
                   name, rname, rmapset);
-        done = 1;
+        return 1;
     }
 
-    if (G_find_file2_misc("cell_misc", "gdal", name, G_mapset())) {
-        G_message(_("<%s> is a GDAL-linked map"), name);
-        done = 1;
-    }
+    Rast_get_cellhd(name, G_mapset(), &cellhd);
+    map_type = Rast_map_type(name, G_mapset());
 
     /* Integer (CELL) compression:
      *    cellhd.compressed == 0: uncompressed
      *    cellhd.compressed == 1: RLE compressed
      *    cellhd.compressed == 2: DEFLATE compressed
      */
-    if (!done && cellhd.compressed == 0) {
-        G_message(_("<%s> is uncompressed (level %i: %s). Data type: <%s>"), name, cellhd.compressed,
+
+    /* No RLE compression for fp maps */
+    if (cellhd.compressed == 1 && map_type != CELL_TYPE)
+	cellhd.compressed = 2;
+
+    if (cellhd.compressed == 0) {
+        G_message(_("<%s> is uncompressed (method %i: %s). Data type: %s"), name, cellhd.compressed,
                     "NONE",
                      (map_type == CELL_TYPE ? "CELL" :
                        (map_type == DCELL_TYPE ? "DCELL" :
                          (map_type == FCELL_TYPE ? "FCELL" : "??"))));
     }
-    else if (!done && cellhd.compressed > 0) {
-        G_message(_("<%s> is compressed (level %i: %s). Data type: <%s>"), name, cellhd.compressed,
-                    cellhd.compressed == 1 ? "RLE" : "DEFLATE",
+    else if (cellhd.compressed > 0) {
+        G_message(_("<%s> is compressed (method %i: %s). Data type: %s"), name, cellhd.compressed,
+                    G_compressor_name(cellhd.compressed),
                      (map_type == CELL_TYPE ? "CELL" :
                        (map_type == DCELL_TYPE ? "DCELL" :
                          (map_type == FCELL_TYPE ? "FCELL" : "??"))));
diff --git a/raster/r.compress/r.compress.html b/raster/r.compress/r.compress.html
index 483bf87..8cbf11d 100644
--- a/raster/r.compress/r.compress.html
+++ b/raster/r.compress/r.compress.html
@@ -2,20 +2,18 @@
 
 <em>r.compress</em> can be used to compress and decompress
 raster map layers. Additionally, it prints information about the
-map compression and data type of the input raster map(s).
+compression method and data type of the input raster map(s).
 
 <p>
-During compression, this program reformats raster maps using a run-length-encoding
-(RLE) or ZLIB's "deflate" (LZ77-based) algorithm. Raster map
-layers which contain very little information (such as
-boundary, geology, soils and land use maps) can be greatly
-reduced in size. Some raster map layers are shrunk to
-roughly 1% of their original sizes.  Raster map layers
-containing complex images such as elevation and photo or
-satellite images may increase slightly in size.
-All newly generated raster maps are automatically stored in compressed 
-form (see FORMATS below).  Other modules can read both compressed 
-and regular (uncompressed) file formats.
+During (re-)compression, <em>r.compress</em> compresses raster maps 
+using the method spcified with the environment variable 
+<b>GRASS_COMPRESSOR</b>. The default is  ZLIB's "deflate" (LZ77-based) 
+algorithm. Raster map layers which contain very little information 
+(such as boundary, geology, soils and land use maps) can be greatly 
+reduced in size. Some raster map layers are shrunk to roughly 1% of 
+their original sizes. All newly generated raster maps are automatically 
+stored in compressed form (see FORMATS below). All GRASS modules can 
+read both compressed and uncompressed file formats.
 
 <p>
 As an example, the Spearfish data base raster map layer
@@ -24,12 +22,17 @@ it was RLE compressed, the raster map became only 1249 bytes
 (25351 bytes smaller).
 
 <p>
-Raster files may be decompressed manually to return them to their
-original format, using the <b>-u</b> flag of 
-<em>r.compress</em>. If <em>r.compress</em> is asked to
-compress a raster map which is already compressed (or to
-decompress an already decompressed raster map), it simply informs
-the user the map is already (de)compressed and exits.
+Raster maps that are already compressed are again compressed. This is 
+useful if either the compression method set with the environment 
+variable <b>GRASS_COMPRESSOR</b> (RLE, ZLIB, LZ4, BZIP2) is changed or 
+if the ZLIB compression level is manually changed by setting the 
+environment variable GRASS_ZLIB_LEVEL.
+
+<p>
+Raster files may be decompressed manually to return them to their 
+original format, using the <b>-u</b> flag of <em>r.compress</em>. If a 
+raster map is already decompressed, it simply informs the user the map 
+is already decompressed and exits.
 
 
 <h3>TERMINOLOGY</h3>
@@ -46,16 +49,54 @@ the user the map is already (de)compressed and exits.
 </ul>
 
 <h3>USED COMPRESSION ALGORITHMS</h3>
+<!-- keep in sync with raster/rasterintro.html -->
 
-Floating point (FCELL, DCELL) raster maps never use RLE compression;
-they are either compressed with ZLIB or uncompressed.
-<p>
-Integer (CELL) raster maps are by default ZLIB compressed or may remain
-uncompressed. If the environment variable <tt>GRASS_INT_ZLIB</tt>
-exists and has the value 0, newly generated compressed integer (CELL type)
-raster maps will be compressed using RLE compression instead of ZLIB.
+Raster maps are by default ZLIB compressed. If the environment variable 
+<tt>GRASS_INT_ZLIB</tt> exists and has the value 0, newly generated 
+compressed integer (CELL type) raster maps will be compressed using RLE 
+compression instead of ZLIB.
 <p>
-In the internal cellhd file, the value for "compressed" is 1 for RLE and 2 for ZLIB.
+Floating point (FCELL, DCELL) raster maps never use RLE compression;
+they are either compressed with ZLIB, LZ4, BZIP2 or are uncompressed.
+<p>
+The compression method for raster maps is by default ZLIB's deflate 
+algorithm. The compression method can be set with the environment 
+variable GRASS_COMPRESSOR which can be set to RLE, ZLIB, LZ4, or BZIP2.
+
+<dl>
+<dt><strong>RLE</strong></dt>
+<dd><b>DEPRECATED</b> Run-Length Encoding, poor compression ratio but 
+fast. Kept for backwards compatibility to read raster maps created with 
+GRASS 6. Only used for raster maps of type CELL. FCELL and DCELL maps 
+are never and have never been compressed with RLE.</dd>
+<dt><strong>ZLIB</strong></dt>
+<dd>ZLIB's deflate is the default compression method for all raster 
+maps. GRASS 7 uses by default 1 as ZLIB compression level which is the 
+best compromise betweeen speed and compression ratio, also when 
+compared to other available compression methods. Valid levels are in 
+the range [1, 9] and can be set with the environment variable 
+GRASS_ZLIB_LEVEL.</dd>
+<dt><strong>LZ4</strong></dt>
+<dd>LZ4 is a very fast compression method, about as fast as no 
+compression, decompression is also very fast. The compression ration is 
+generally higher than for RLE. LZ4 is recommended if disk space is not 
+a limiting factor, but some sving on disk space is welcomed without 
+increasing processing speed. The compression ratio of LZ4 is generally 
+better than for RLE but worse than for ZLIB.</dd>
+<dt><strong>BZIP2</strong></dt>
+<dd>BZIP2 can provide compression ratios much higher than for the other 
+methods, but only for large raster maps (> 10000 columns). For large 
+raster maps, disk space consumption can be reduced by 30 - 50% when 
+using BZIP2 instead of ZLIB's deflate. BZIP2 is the slowest compression 
+and decompression method. However, if reading from / writing to a 
+storage device is the limiting factor, BZIP2 compression can speed up 
+raster map processing. Be aware that for smaller raster maps, BZIP2 
+compression ratio can be worse than for other compression methods.</dd> 
+</dl>
+
+<p>
+In the internal cellhd file, the value for "compressed" is 1 for RLE, 2 
+for ZLIB, 3 for LZ4, and 4 for BZIP2.
 <p>
 Obviously, decompression is controlled by the raster map's compression,
 not the environment variable.
@@ -73,90 +114,22 @@ compress the named map(s).
 
 <h3>FORMATS</h3>
 
-Conceptually, a raster data file consists of rows of cells,
-with each row containing the same number of cells.  A cell
-consists of one or more bytes.  The number of bytes per
-cell depends on the category values stored in the cell.
-Category values in the range 0-255 require 1 byte per cell,
-while category values in the range 256-65535 require 2
-bytes, and category values in the range above 65535 require
-3 (or more) bytes per cell.
-
+Conceptually, a raster data file consists of rows of cells, with each 
+row containing the same number of cells. A cell consists of one or more 
+bytes. For CELL maps, the number of bytes per cell depends on the 
+category values stored in the cell. Category values in the range 0-255 
+require 1 byte per cell, while category values in the range 256-65535 
+require 2 bytes, and category values in the range above 65535 require 3 
+(or more) bytes per cell.
 <p>
-The <b>decompressed</b> raster map format matches the
-conceptual format.  For example, a raster map with 1 byte
-cells that is 100 rows with 200 cells per row, consists of
-20,000 bytes.  Running the UNIX command <em>ls -l</em> on
-this file will show a size of 20,000.  If the cells were 2
-byte cells, the file would require 40,000 bytes.  The map
-layer category values start with the upper left corner cell
-followed by the other cells along the northern boundary.
-The byte following the last byte of that first row is the
-first cell of the second row of category values (moving
-from left to right).  There are no end-of-row markers or
-other syncing codes in the raster map.  A cell header file
-(<em>cellhd</em>) is used to define how this string of bytes
-is broken up into rows of category values.
+FCELL maps always have 4 bytes per cell and DCELL maps have always 8 
+bytes per cell.
 
 <p>
-The <b>compressed</b> RLE format is not so simple, but is quite
-elegant in its design. It not only requires less disk space
-to store the raster data, but often can result in faster
-execution of graphic and analysis programs since there is
-less disk I/O. There are two compressed RLE formats: the
-pre-version 3.0 format (which GRASS programs can read but
-no longer produce), and the version 3.0 format (which is
-automatically used when new raster map layers are
-created).
-
-<h4>PRE-3.0 FORMAT:</h4> 
-
-First 3 bytes (chars) - These are a special code that identifies 
-the raster data as compressed. 
-
-<p>
-Address array (long) - array (size of the number of rows +
-1) of addresses pointing to the internal start of each row.
-Because each row may be a different size, this array is
-necessary to provide a mapping of the data.
-
-<p>
-Row by row, beginning at the northern edge of the data, a
-series of byte groups describes the data.  The number of
-bytes in each group is the number of bytes per cell plus
-one.  The first byte of each group gives a count (up to
-255) of the number of cells that contain the category
-values given by the remaining bytes of the group.
-
-<h4>POST-3.0 FORMAT:</h4> 
+Since GRASS GIS 7.0.0, the default compression method for 
+Integer (CELL) maps is ZLIB and not any more the RLE compression.
 
-The 3 byte code is not used. 
-Instead, a field in the cell header is used to indicate compressed format. 
-
-<p>
-The address array is the same. 
-
-<p>
-The RLE format is the same as the pre-3.0 RLE, except that
-each row of data is preceded by a single byte containing
-the number of bytes per cell for the row, and if
-run-length-encoding the row would not require less space
-than non-run-length-encoding, then the row is not encoded.
-
-<p>
-These improvements give better compression than the pre-3.0
-format in 99% of the raster data layers.  The kinds of
-raster data layers which get bigger are those in which each
-row would be larger if compressed (e.g., imagery band
-files).  But even in this case the raster data layer would
-only be larger by the size of the address array and the
-single byte preceding each row.
-
-<p>
-Since GRASS GIS 7.0.0, the default compression method for
- Integer (CELL) maps is deflate and not any more the RLE compression.
-
-<h4>DEFLATE compression level</h4>
+<h4>ZLIB compression level</h4>
 
 If the environment variable <tt>GRASS_ZLIB_LEVEL</tt> exists and
 its value can be parsed as an integer, it determines the compression
@@ -172,7 +145,7 @@ integer, zlib's default compression level will be used.
 Printing of current compression state:
 <div class="code"><pre>
 r.compress compressed_no -p
-  <compressed_no> (level 0: NONE). Data type: <CELL>
+  <compressed_no> (method 0: NONE). Data type: <CELL>
 </pre></div>
 
 <p>
@@ -184,23 +157,35 @@ g.copy raster=compressed_no,compressed_RLE
 export GRASS_INT_ZLIB=0 # RLE
 r.compress compressed_RLE 
 r.compress compressed_RLE -p 
-  <compressed_RLE> is compressed (level 1: RLE). Data type: <CELL>
+  <compressed_RLE> is compressed (method 1: RLE). Data type: <CELL>
 unset GRASS_INT_ZLIB
 </pre></div>
 
 <p>
-Applying DEFLATE (ZLIB) compression to a copy of the uncompressed map:
+Applying ZLIB compression to a copy of the uncompressed map:
 <div class="code"><pre>
-# compression of map using DEFLATE compression
-g.copy raster=compressed_no,compressed_DEFLATE
+# compression of map using ZLIB compression
+g.copy raster=compressed_no,compressed_ZLIB
 
-export GRASS_INT_ZLIB=1 # deflate
-r.compress compressed_DEFLATE
-r.compress compressed_DEFLATE -p
-  <compressed_DEFLATE> is compressed (level 2: DEFLATE). Data type: <CELL>
+export GRASS_INT_ZLIB=1 # ZLIB
+r.compress compressed_ZLIB
+r.compress compressed_ZLIB -p
+  <compressed_ZLIB> is compressed (method 2: ZLIB). Data type: <CELL>
 unset GRASS_INT_ZLIB
 </pre></div>
 
+<p>
+Applying BZIP2 compression to a copy of the ZLIB-compressed map:
+<div class="code"><pre>
+# compression of map using BZIP2 compression
+g.copy raster=compressed_ZLIB,compressed_BZIP2
+
+export GRASS_COMPRESSOR=BZIP2 # BZIP2
+r.compress compressed_BZIP2
+r.compress compressed_BZIP2 -p
+  <compressed_BZIP2> is compressed (method 4: BZIP2). Data type: <CELL>
+unset GRASS_COMPRESSOR
+</pre></div>
 
 <h2>SEE ALSO</h2>
 
@@ -213,6 +198,7 @@ unset GRASS_INT_ZLIB
 
 James Westervelt,<br>
 Michael Shapiro,<br> 
-U.S. Army Construction Engineering Research Laboratory
+U.S. Army Construction Engineering Research Laboratory<br>
+Markus Metz
 
-<p><i>Last changed: $Date: 2015-05-13 13:38:09 +0200 (Wed, 13 May 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-20 13:45:51 -0800 (Sat, 20 Feb 2016) $</i>
diff --git a/raster/r.contour/r.contour.html b/raster/r.contour/r.contour.html
index d3d7dd8..0b9fddb 100644
--- a/raster/r.contour/r.contour.html
+++ b/raster/r.contour/r.contour.html
@@ -50,5 +50,5 @@ Terry Baker, U.S. Army Construction Engineering Research Laboratory<br>
 3/2001: cut parameter and fixes by Andrea Aime (aaime at libero.it)
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
 
diff --git a/raster/r.cost/main.c b/raster/r.cost/main.c
index 0925d1a..a1ce2b4 100644
--- a/raster/r.cost/main.c
+++ b/raster/r.cost/main.c
@@ -678,7 +678,7 @@ int main(int argc, char *argv[])
 	    Rast_get_row(fd, cell2, row, data_type2);
 	    ptr2 = cell2;
 	    for (col = 0; col < ncols; col++) {
-		/* Did I understand that concept of cummulative cost map? - (pmx) 12 april 2000 */
+		/* Did I understand that concept of cumulative cost map? - (pmx) 12 april 2000 */
 		if (!Rast_is_null_value(ptr2, data_type2)) {
 		    double cellval;
 
diff --git a/raster/r.cost/r.cost.html b/raster/r.cost/r.cost.html
index 63e0a30..571ebc2 100644
--- a/raster/r.cost/r.cost.html
+++ b/raster/r.cost/r.cost.html
@@ -278,4 +278,4 @@ James Westervelt, U.S.Army Construction Engineering Research Laboratory<br>
 Updated for Grass 5 by Pierre de Mouveaux (pmx at audiovu.com) 
 
 <p>
-<i>Last changed: $Date: 2015-01-23 20:39:26 +0100 (Fri, 23 Jan 2015) $</i>
+<i>Last changed: $Date: 2015-01-23 11:38:50 -0800 (Fri, 23 Jan 2015) $</i>
diff --git a/raster/r.covar/r.covar.html b/raster/r.covar/r.covar.html
index a59a5ca..1f2607c 100644
--- a/raster/r.covar/r.covar.html
+++ b/raster/r.covar/r.covar.html
@@ -97,4 +97,4 @@ This can be done with <em><a href="r.rescale.html">r.rescale</a></em>.
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-28 16:45:01 +0100 (Sun, 28 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-28 07:42:58 -0800 (Sun, 28 Dec 2014) $</i>
diff --git a/raster/r.cross/r.cross.html b/raster/r.cross/r.cross.html
index a0dc538..650cf9c 100644
--- a/raster/r.cross/r.cross.html
+++ b/raster/r.cross/r.cross.html
@@ -86,12 +86,7 @@ In the above example, the category labels would be:
 
 A random color table is also generated for the <em>output</em> map layer. 
 
-<h2>NOTES</h2>
-
-When run non-interactively, <em>r.cross</em> will not protect existing 
-files in the user's mapset. If the user specifies an <em>output</em> 
-file name that already exists in his mapset, the existing file will 
-be overwritten by the new <em>r.cross</em> output. 
+<!-- TODO: add example -->
 
 <h2>SEE ALSO</h2>
 
@@ -102,4 +97,4 @@ be overwritten by the new <em>r.cross</em> output.
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/raster/r.describe/r.describe.html b/raster/r.describe/r.describe.html
index f6218c0..07b3ee7 100644
--- a/raster/r.describe/r.describe.html
+++ b/raster/r.describe/r.describe.html
@@ -95,4 +95,4 @@ r.describe -1 geology
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.distance/r.distance.html b/raster/r.distance/r.distance.html
index a6e6c3b..e952173 100644
--- a/raster/r.distance/r.distance.html
+++ b/raster/r.distance/r.distance.html
@@ -70,4 +70,4 @@ r.distance map=map1,map2 | \
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 08:22:17 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/raster/r.drain/r.drain.html b/raster/r.drain/r.drain.html
index adbfc8b..2b6de2b 100644
--- a/raster/r.drain/r.drain.html
+++ b/raster/r.drain/r.drain.html
@@ -220,4 +220,4 @@ Matteo Franchi (Liceo Leonardo Da Vinci, Trento) and
 Roberto Flor (ITC-irst, Trento, Italy)
 
 <p>
-<i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/raster/r.external.out/r.external.out.html b/raster/r.external.out/r.external.out.html
index aa5853e..cb454dd 100644
--- a/raster/r.external.out/r.external.out.html
+++ b/raster/r.external.out/r.external.out.html
@@ -54,4 +54,4 @@ GDAL Pages: <a href="http://www.gdal.org">http://www.gdal.org/</a><br>
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2015-10-27 16:46:21 +0100 (Tue, 27 Oct 2015) $</i>
+<i>Last changed: $Date: 2015-10-27 08:45:22 -0700 (Tue, 27 Oct 2015) $</i>
diff --git a/raster/r.external/list.c b/raster/r.external/list.c
index c307ffb..b300a12 100644
--- a/raster/r.external/list.c
+++ b/raster/r.external/list.c
@@ -1,6 +1,7 @@
 #include <stdio.h>
 
 #include <grass/gis.h>
+#include <grass/gprojects.h>
 #include <grass/glocale.h>
 
 #include <grass/gis.h>
@@ -43,3 +44,50 @@ void list_formats(void)
 		pszRWFlag, GDALGetDriverLongName(hDriver));
     }
 }
+
+void list_bands(struct Cell_head *cellhd, GDALDatasetH hDS)
+{
+    struct Cell_head loc_wind;
+    struct Key_Value *proj_info = NULL, *proj_units = NULL;
+    struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
+    int n_bands, i_band, proj_same;
+    GDALRasterBandH hBand;
+    GDALDataType gdal_type;
+
+    if (GPJ_wkt_to_grass(cellhd, &proj_info,
+                         &proj_units, GDALGetProjectionRef(hDS), 0) < 0) {
+        proj_same = 0;
+    }
+    else {
+
+        G_get_default_window(&loc_wind);
+        if (loc_wind.proj != PROJECTION_XY) {
+            loc_proj_info = G_get_projinfo();
+            loc_proj_units = G_get_projunits();
+        }
+
+
+        if (loc_wind.proj != cellhd->proj ||
+            (G_compare_projections
+             (loc_proj_info, loc_proj_units, proj_info, proj_units)) < 0) {
+            proj_same = 0;
+        }
+        else {
+            proj_same = 1;
+        }
+
+    }
+
+    n_bands = GDALGetRasterCount(hDS);
+
+    for (i_band = 1; i_band <= n_bands; i_band++) {
+
+        hBand = GDALGetRasterBand(hDS, i_band);
+        gdal_type = GDALGetRasterDataType(hBand);
+
+        fprintf(stdout, "%d,%s,%d\n", i_band, GDALGetDataTypeName(gdal_type),
+                proj_same);
+
+    }
+}
+
diff --git a/raster/r.external/main.c b/raster/r.external/main.c
index 7956382..ac4a19e 100644
--- a/raster/r.external/main.c
+++ b/raster/r.external/main.c
@@ -44,7 +44,7 @@ int main(int argc, char *argv[])
 	struct Option *input, *source, *output, *band, *title;
     } parm;
     struct {
-	struct Flag *o, *f, *e, *h, *v;
+	struct Flag *o, *f, *e, *h, *v, *t;
     } flag;
     int min_band, max_band, band;
     struct band_info info;
@@ -116,6 +116,14 @@ int main(int argc, char *argv[])
     flag.v->key = 'v';
     flag.v->description = _("Flip vertically");
 
+    flag.t = G_define_flag();
+    flag.t->key = 't';
+    flag.t->label =
+        _("List available bands including band type in dataset and exit");
+    flag.t->description = _("Format: band number,type,projection check");
+    flag.t->guisection = _("Print");
+    flag.t->suppress_required = YES;
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
@@ -171,6 +179,13 @@ int main(int argc, char *argv[])
 
     setup_window(&cellhd, hDS, &flip);
 
+    if (flag.t->answer) {
+        list_bands(&cellhd, hDS);
+        /* close the GDALDataset to avoid segfault in libgdal */
+        GDALClose(hDS);
+        exit(EXIT_SUCCESS);
+    }
+
     check_projection(&cellhd, hDS, flag.o->answer);
 
     Rast_set_window(&cellhd);
diff --git a/raster/r.external/proto.h b/raster/r.external/proto.h
index 16547b8..682a684 100644
--- a/raster/r.external/proto.h
+++ b/raster/r.external/proto.h
@@ -35,6 +35,7 @@ void create_map(const char *, int, const char *,
 /* list.c */
 void list_layers(FILE *, const char *);
 void list_formats(void);
+void list_bands(struct Cell_head *, GDALDatasetH);
 
 /* proj.c */
 void check_projection(struct Cell_head *, GDALDatasetH, int);
diff --git a/raster/r.external/r.external.html b/raster/r.external/r.external.html
index d2dcb40..ed1ec0c 100644
--- a/raster/r.external/r.external.html
+++ b/raster/r.external/r.external.html
@@ -83,4 +83,4 @@ GDAL Pages: <a href="http://www.gdal.org">http://www.gdal.org/</a><br>
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2016-01-13 10:20:46 +0100 (Wed, 13 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-01-13 01:18:55 -0800 (Wed, 13 Jan 2016) $</i>
diff --git a/raster/r.fill.dir/r.fill.dir.html b/raster/r.fill.dir/r.fill.dir.html
index 9770f6a..1c25cb2 100644
--- a/raster/r.fill.dir/r.fill.dir.html
+++ b/raster/r.fill.dir/r.fill.dir.html
@@ -97,4 +97,4 @@ Rewrite to C with enhancements:
 Roger S. Miller
 
 <p>
-<i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 08:22:17 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/raster/r.flow/r.flow.html b/raster/r.flow/r.flow.html
index d2b4ec6..3a0f1fa 100644
--- a/raster/r.flow/r.flow.html
+++ b/raster/r.flow/r.flow.html
@@ -236,4 +236,4 @@ at Urbana-Champaign with support from USA CERL.
 at Urbana-Champaign</a>
 
 <p>
-<i>Last changed: $Date: 2015-07-20 12:05:40 +0200 (Mon, 20 Jul 2015) $</i>
+<i>Last changed: $Date: 2015-07-20 03:04:18 -0700 (Mon, 20 Jul 2015) $</i>
diff --git a/raster/r.grow.distance/main.c b/raster/r.grow.distance/main.c
index ad43a32..8d6a977 100644
--- a/raster/r.grow.distance/main.c
+++ b/raster/r.grow.distance/main.c
@@ -128,7 +128,7 @@ int main(int argc, char **argv)
     } opt;
     struct
     {
-	struct Flag *m;
+	struct Flag *m, *n;
     } flag;
     const char *in_name;
     const char *dist_name;
@@ -144,6 +144,7 @@ int main(int argc, char **argv)
     DCELL min, max;
     DCELL *out_row;
     double scale = 1.0;
+    int invert;
 
     G_gisinit(argv[0]);
 
@@ -180,6 +181,10 @@ int main(int argc, char **argv)
     flag.m->key = 'm';
     flag.m->description = _("Output distances in meters instead of map units");
 
+    flag.n = G_define_flag();
+    flag.n->key = 'n';
+    flag.n->description = _("Calculate distance to nearest NULL cell");
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
@@ -187,6 +192,15 @@ int main(int argc, char **argv)
     dist_name = opt.dist->answer;
     val_name = opt.val->answer;
 
+    if ((invert = flag.n->answer)) {
+	if (!dist_name)
+	    G_fatal_error(_("Distance output is required for distance to NULL cells"));
+	if (val_name) {
+	    G_warning(_("Value output is meaningless for distance to NULL cells"));
+	    val_name = NULL;
+	}
+    }
+
     if (!dist_name && !val_name)
 	G_fatal_error(_("At least one of distance= and value= must be given"));
 
@@ -274,13 +288,14 @@ int main(int argc, char **argv)
 
 	Rast_get_d_row(in_fd, in_row, irow);
 
-	for (col = 0; col < ncols; col++)
-	    if (!Rast_is_d_null_value(&in_row[col])) {
+	for (col = 0; col < ncols; col++) {
+	    if (Rast_is_d_null_value(&in_row[col]) == invert) {
 		new_x_row[col] = 0;
 		new_y_row[col] = 0;
 		dist_row[col] = 0;
 		new_val_row[col] = in_row[col];
 	    }
+	}
 
 	for (col = 0; col < ncols; col++)
 	    check(irow, col, -1, 0);
diff --git a/raster/r.grow.distance/r.grow.distance.html b/raster/r.grow.distance/r.grow.distance.html
index 3fb70f0..b9dca74 100644
--- a/raster/r.grow.distance/r.grow.distance.html
+++ b/raster/r.grow.distance/r.grow.distance.html
@@ -6,6 +6,9 @@ value of the nearest non-null cell.
 
 <h2>NOTES</h2>
 
+The flag <b>-n</b> calculates the respective pixel distances to the
+nearest NULL cell.
+<p>
 The user has the option of specifying five different metrics which
 control the geometry in which grown cells are created, (controlled by
 the <b>metric</b> parameter): <i>Euclidean</i>, <i>Squared</i>,
@@ -119,4 +122,4 @@ r.grow.distance -m input=sea distance=dist_from_sea_geodetic metric=geodesic
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2016-01-21 12:46:54 +0100 (Thu, 21 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-01-21 05:23:39 -0800 (Thu, 21 Jan 2016) $</i>
diff --git a/raster/r.grow.distance/testsuite/r_grow_distance_test.py b/raster/r.grow.distance/testsuite/r_grow_distance_test.py
new file mode 100644
index 0000000..d7246f7
--- /dev/null
+++ b/raster/r.grow.distance/testsuite/r_grow_distance_test.py
@@ -0,0 +1,52 @@
+"""
+Name:      r_grow_distance_test
+Purpose:   This script is to demonstrate a unit test for r.grow.distance
+           module.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestGrowDistance(TestCase):
+    """Test case for grow distance module"""
+
+    # Setup variables to be used for outputs
+    distance = 'test_distance'
+    lakes = 'lakes'
+    elevation = 'elevation'
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and setup"""
+        # Always use the computational region of the raster elevation
+        cls.use_temp_region()
+        cls.runModule('g.region', raster=cls.elevation)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region"""
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created from the grow distance module
+
+        This is executed after each test run.
+        """
+        self.runModule('g.remove', flags='f', type='raster',
+                       name=self.distance)
+
+    def test_grow(self):
+        """Test to see if the outputs are created"""
+        # run the grow distance module
+        self.assertModule('r.grow.distance', input=self.lakes,
+                          distance=self.distance)
+        # check to see if distance output is in mapset
+        self.assertRasterExists(self.distance,
+                                msg='distance output was not created')
+        self.assertRasterMinMax(self.distance, 0, 5322,
+                                msg='distance output not in range')
+
+
+if __name__ == '__main__':
+    test()
diff --git a/raster/r.gwflow/r.gwflow.html b/raster/r.gwflow/r.gwflow.html
index ec2145a..643e37d 100644
--- a/raster/r.gwflow/r.gwflow.html
+++ b/raster/r.gwflow/r.gwflow.html
@@ -152,4 +152,4 @@ Sören Gebbert
 <a href="http://www.hydrogeologie.tu-berlin.de/fileadmin/fg66/_hydro/Diplomarbeiten/2007_Diplomarbeit_Soeren_Gebbert.pdf">here</a>
 at Technical University Berlin in Germany.
 
-<p><i>Last changed: $Date: 2013-06-16 05:00:25 +0200 (Sun, 16 Jun 2013) $</i>
+<p><i>Last changed: $Date: 2013-06-15 20:00:25 -0700 (Sat, 15 Jun 2013) $</i>
diff --git a/raster/r.his/r.his.html b/raster/r.his/r.his.html
index 929a727..268f087 100644
--- a/raster/r.his/r.his.html
+++ b/raster/r.his/r.his.html
@@ -105,7 +105,8 @@ Then convert from HIS model to RGB and show the result.
 <div class="code"><pre>
 r.mapcalc "elevation_shaded_relief_bright_50 = #elevation_shaded_relief * 1.5"
 r.colors elevation_shaded_relief_bright_50 color=grey255
-r.his hue=elevation intensity=elevation_shaded_relief_bright_50 red=shadedmap_r green=shadedmap_g blue=shadedmap_b
+r.his hue=elevation intensity=elevation_shaded_relief_bright_50 \
+      red=shadedmap_r green=shadedmap_g blue=shadedmap_b
 
 d.mon wx1
 d.rgb red=shadedmap_r green=shadedmap_g blue=shadedmap_b
@@ -131,4 +132,4 @@ d.rgb red=shadedmap_r green=shadedmap_g blue=shadedmap_b
 
 Glynn Clements (based upon <em><a href="d.his.html">d.his</a></em>)
 
-<p><i>Last changed: $Date: 2014-12-20 05:56:06 +0100 (Sat, 20 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-28 03:21:34 -0800 (Thu, 28 Jan 2016) $</i>
diff --git a/raster/r.horizon/main.c b/raster/r.horizon/main.c
index 70b63d1..da3f69b 100644
--- a/raster/r.horizon/main.c
+++ b/raster/r.horizon/main.c
@@ -8,7 +8,7 @@ by the user.
 2) For a given minimum angle it calculates one or more raster map giving the mazimum
 distance to a point on the horizon.  
 
-This program was written in 2006 by Tfomas Huld and Tomas Cebecauer, 
+This program was written in 2006 by Thomas Huld and Tomas Cebecauer, 
 Joint Research Centre of the European Commission, based on bits of the r.sun module by Jaro Hofierka
 
 *******************************************************************************/
@@ -472,7 +472,13 @@ int main(int argc, char *argv[])
 	if (sscanf(parm.maxdistance->answer, "%lf", &fixedMaxLength) != 1)
 	    G_fatal_error(_("Could not read maximum distance. Aborting."));
     }
+    G_debug(1,"Using maxdistance %f", fixedMaxLength); /* predefined as BIG */
 
+/* TODO: fixing BIG, there is a bug with distant mountains not being seen: attempt to contrain to current region
+    
+    fixedMaxLength = (fixedMaxLength < AMAX1(deltx, delty)) ? fixedMaxLength : AMAX1(deltx, delty);
+    G_debug(1,"Using maxdistance %f", fixedMaxLength);
+*/
 
     sscanf(parm.dist->answer, "%lf", &dist);
     if (dist < 0.5 || dist > 1.5 ) G_fatal_error(_("The distance value must be 0.5-1.5. Aborting."));
@@ -511,7 +517,7 @@ int main(int argc, char *argv[])
 
 	n /* n_cols */ = new_cellhd.cols;
 	m /* n_rows */ = new_cellhd.rows;
-	/* G_debug(3,"%lf %lf %lf %lf \n",ymax, ymin, xmin,xmax); */
+	G_debug(1,"%lf %lf %lf %lf \n",ymax, ymin, xmin,xmax);
 	n100 = ceil(n / 100.);
 	m100 = ceil(m / 100.);
 
@@ -547,7 +553,7 @@ int main(int argc, char *argv[])
 
 
     INPUT();
-    G_debug(3, "calculate() starts...");
+    G_debug(1, "calculate() starts...");
     calculate(xcoord, ycoord, (int)(ebufferZone / stepx),
 	      (int)(wbufferZone / stepx), (int)(sbufferZone / stepy),
 	      (int)(nbufferZone / stepy));
@@ -1114,8 +1120,8 @@ void calculate(double xcoord, double ycoord, int buffer_e, int buffer_w,
 	    coslatsq = coslat * coslat;
 	}
 
-	G_debug(3, "yindex: %d, xindex %d", yindex, xindex);
 	z_orig = zp = z[yindex][xindex];
+	G_debug(1, "yindex: %d, xindex %d, z_orig %.2f", yindex, xindex, z_orig);
 
 	calculate_shadow();
         fclose(fp);
@@ -1247,8 +1253,7 @@ void calculate(double xcoord, double ycoord, int buffer_e, int buffer_w,
 		    z_orig = zp = z[j][i];
 		    maxlength = (zmax - z_orig) / TANMINANGLE;
 		    maxlength =
-			(maxlength <
-			 fixedMaxLength) ? maxlength : fixedMaxLength;
+			(maxlength < fixedMaxLength) ? maxlength : fixedMaxLength;
 
 		    if (z_orig != UNDEFZ) {
 
@@ -1262,7 +1267,7 @@ void calculate(double xcoord, double ycoord, int buffer_e, int buffer_w,
 			/*
 			   if((j==1400)&&(i==1400))
 			   {
-			   G_debug(3, "coordinates=%f,%f, raster no. %d, horizon=%f\n",
+			   G_debug(1, "coordinates=%f,%f, raster no. %d, horizon=%f\n",
 			   xp, yp, k, shadow_angle);
 			   }
 			 */
@@ -1273,7 +1278,7 @@ void calculate(double xcoord, double ycoord, int buffer_e, int buffer_w,
 		}
 	    }
 
-        G_debug(3, "OUTGR() starts...");
+        G_debug(1, "OUTGR() starts...");
 	    OUTGR(cellhd.rows, cellhd.cols);
 
 	    /* empty array */
diff --git a/raster/r.horizon/r.horizon.html b/raster/r.horizon/r.horizon.html
index de8eea0..c8cfbb8 100644
--- a/raster/r.horizon/r.horizon.html
+++ b/raster/r.horizon/r.horizon.html
@@ -254,4 +254,4 @@ European Commission, Ispra, Italy
 <a href="mailto:Marcel.Suri at jrc.it">Marcel.Suri at jrc.it</a> 
 </ADDRESS>
 
-<p><i>Last changed: $Date: 2016-01-19 23:08:44 +0100 (Tue, 19 Jan 2016) $</i> 
+<p><i>Last changed: $Date: 2016-01-19 14:08:21 -0800 (Tue, 19 Jan 2016) $</i> 
diff --git a/raster/r.horizon/testsuite/test_r_horizon.py b/raster/r.horizon/testsuite/test_r_horizon.py
new file mode 100644
index 0000000..2776342
--- /dev/null
+++ b/raster/r.horizon/testsuite/test_r_horizon.py
@@ -0,0 +1,132 @@
+"""
+TEST:    test_r_horizon.py
+
+AUTHOR(S): Anna Petrasova <kratochanna at gmail>
+
+PURPOSE:   Test r.horizon
+
+COPYRIGHT: (C) 2015 Anna Petrasova
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import SimpleModule
+
+
+ref1 = """azimuth,horizon_height
+180.000000,0.023101
+"""
+
+ref2 = """azimuth,horizon_height
+180.000000,0.023101
+200.000000,0.034850
+220.000000,0.050549
+240.000000,0.048211
+260.000000,0.053101
+280.000000,0.039774
+300.000000,0.032360
+320.000000,0.014804
+340.000000,0.000000
+360.000000,0.004724
+20.000000,0.012612
+40.000000,0.015207
+60.000000,0.014344
+80.000000,0.011044
+100.000000,0.012192
+120.000000,0.007462
+140.000000,0.004071
+160.000000,0.015356
+"""
+
+ref3 = """azimuth,horizon_height
+180.000000,0.023101
+200.000000,0.034850
+220.000000,0.050549
+240.000000,0.048211
+260.000000,0.053101
+280.000000,0.039774
+300.000000,0.032360
+320.000000,0.014804
+340.000000,0.000000
+360.000000,0.004724
+20.000000,0.012612
+40.000000,0.015207
+60.000000,0.014344
+80.000000,0.011044
+100.000000,0.012192
+120.000000,0.007462
+140.000000,0.004071
+160.000000,0.015356
+"""
+
+
+class TestHorizon(TestCase):
+
+    horizon = 'test_horizon_from_elevation'
+    horizon_output = 'test_horizon_output_from_elevation'
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        cls.runModule('g.region', raster='elevation')
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove horizon map after each test method"""
+        self.runModule('g.remove', flags='f', type='raster',
+                       name=self.horizon)
+        self.runModule('g.remove', flags='f', type='raster',
+                       pattern=self.horizon_output + '*')
+
+    def test_point_mode_one_direction(self):
+        """Test mode with 1 point and 1 direction"""
+        module = SimpleModule('r.horizon', elevation='elevation',
+                              coordinates=(634720, 216180), output=self.horizon, direction=180, step=0)
+        self.assertModule(module)
+        stdout = module.outputs.stdout
+        self.assertMultiLineEqual(first=ref1, second=stdout)
+
+    def test_point_mode_multiple_direction(self):
+        """Test mode with 1 point and multiple directions"""
+        module = SimpleModule('r.horizon', elevation='elevation',
+                              coordinates=(634720, 216180), output=self.horizon, direction=180, step=20)
+        self.assertModule(module)
+        stdout = module.outputs.stdout
+        self.assertMultiLineEqual(first=ref2, second=stdout)
+
+    def test_raster_mode_one_direction(self):
+        """Test mode with 1 point and one direction"""
+        module = SimpleModule('r.horizon', elevation='elevation',
+                              output=self.horizon_output, direction=50)
+        self.assertModule(module)
+        ref = {'min': 0, 'max': 0.70678365230560, 'stddev': 0.0360724286360789}
+        self.assertRasterFitsUnivar(raster='test_horizon_output_from_elevation_050', reference=ref, precision=1e6)
+
+    def test_raster_mode_multiple_direction(self):
+        module = SimpleModule('r.horizon', elevation='elevation',
+                              output=self.horizon_output, start=10, end=50, step=15.512)
+        self.assertModule(module)
+        module_list = SimpleModule('g.list', type='raster', pattern=self.horizon_output + '*')
+        self.runModule(module_list)
+        stdout = module_list.outputs.stdout.strip()
+        self.assertMultiLineEqual(first="test_horizon_output_from_elevation_010_000\ntest_horizon_output_from_elevation_025_512", second=stdout)
+
+    def test_raster_mode_multiple_direction_offset(self):
+        module = SimpleModule('r.horizon', elevation='elevation',
+                              output=self.horizon_output, start=10, end=50, step=15.512, direction=80)
+        self.assertModule(module)
+        module_list = SimpleModule('g.list', type='raster', pattern=self.horizon_output + '*')
+        self.runModule(module_list)
+        stdout = module_list.outputs.stdout.strip()
+        self.assertMultiLineEqual(first="test_horizon_output_from_elevation_090_000\ntest_horizon_output_from_elevation_105_512", second=stdout)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/raster/r.in.ascii/r.in.ascii.html b/raster/r.in.ascii/r.in.ascii.html
index 73f795c..b0f8c77 100644
--- a/raster/r.in.ascii/r.in.ascii.html
+++ b/raster/r.in.ascii/r.in.ascii.html
@@ -109,4 +109,4 @@ null:                      -9999
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory<br>
 Surfer support by Roger Miller
 
-<p><i>Last changed: $Date: 2016-01-16 20:45:50 +0100 (Sat, 16 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-16 11:47:30 -0800 (Sat, 16 Jan 2016) $</i>
diff --git a/raster/r.in.bin/r.in.bin.html b/raster/r.in.bin/r.in.bin.html
index 427f097..8c370cc 100644
--- a/raster/r.in.bin/r.in.bin.html
+++ b/raster/r.in.bin/r.in.bin.html
@@ -136,4 +136,4 @@ Bob Covill, Canada (bcovill at tekmap.ns.ca)<br>
 Markus Metz<br>
 Man page: Zsolt Felker (felker at c160.pki.matav.hu)
 
-<p><i>Last changed: $Date: 2016-01-13 10:20:46 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-13 01:18:55 -0800 (Wed, 13 Jan 2016) $</i>
diff --git a/raster/r.in.gdal/main.c b/raster/r.in.gdal/main.c
index e735ed1..8301890 100644
--- a/raster/r.in.gdal/main.c
+++ b/raster/r.in.gdal/main.c
@@ -68,12 +68,15 @@ int main(int argc, char *argv[])
     int projcomp_error = 0;
     int overwrite;
     int offset = 0;
+    char *suffix;
+    int num_digits = 0;
 
     struct GModule *module;
     struct
     {
 	struct Option *input, *output, *target, *title, *outloc, *band,
-	              *memory, *offset, *rat;
+	              *memory, *offset, *num_digits, *map_names_file,
+	              *rat;
     } parm;
     struct Flag *flag_o, *flag_e, *flag_k, *flag_f, *flag_l, *flag_c, *flag_p,
         *flag_j;
@@ -137,7 +140,21 @@ int main(int argc, char *argv[])
     parm.offset->answer = "0";
     parm.offset->description = _("The offset will be added to the band number while output raster map name creation");
     parm.offset->guisection = _("Metadata");
-    
+
+    parm.num_digits = G_define_option();
+    parm.num_digits->key = "num_digits";
+    parm.num_digits->type = TYPE_INTEGER;
+    parm.num_digits->required = NO;
+    parm.num_digits->answer = "0";
+    parm.num_digits->description = _("Number of digits for the generated band number with leading 0's. If 0 the length will adjust to the band number.");
+    parm.num_digits->guisection = _("Metadata");
+
+    parm.map_names_file = G_define_standard_option(G_OPT_F_OUTPUT);
+    parm.map_names_file->key = "map_names_file";
+    parm.map_names_file->required = NO;
+    parm.map_names_file->description = _("Name of the output file that contains the imported map names");
+    parm.map_names_file->guisection = _("Metadata");
+
     parm.outloc = G_define_option();
     parm.outloc->key = "location";
     parm.outloc->type = TYPE_STRING;
@@ -155,8 +172,10 @@ int main(int argc, char *argv[])
 
     flag_o = G_define_flag();
     flag_o->key = 'o';
+    flag_o->label =
+	_("Override projection check (use current location's projection)");
     flag_o->description =
-	_("Override projection (use location's projection)");
+	_("Assume that the dataset has same projection as the current location");
 
     flag_j = G_define_flag();
     flag_j->key = 'j';
@@ -210,8 +229,10 @@ int main(int argc, char *argv[])
     input = parm.input->answer;
 
     output = parm.output->answer;
-    
+
     offset = atoi(parm.offset->answer);
+
+    num_digits = atoi(parm.num_digits->answer);
     
     if ((title = parm.title->answer))
 	G_strip(title);
@@ -231,6 +252,18 @@ int main(int argc, char *argv[])
     if (flag_l->answer && G_projection() != PROJECTION_LL)
 	G_fatal_error(_("The '-l' flag only works in Lat/Lon locations"));
 
+    if(num_digits < 0)
+        G_fatal_error(_("The number of digits for band numbering must be equal or greater than 0"));
+
+    /* Allocate the suffix string */
+    if(num_digits > 0) {
+        suffix = G_calloc( num_digits + 1, sizeof(char));
+    } else {
+        /* Band number length should not exceed 64 digits */
+        suffix = G_calloc(65, sizeof(char));
+    }
+
+
     /* -------------------------------------------------------------------- */
     /*      Fire up the engines.                                            */
     /* -------------------------------------------------------------------- */
@@ -532,7 +565,7 @@ int main(int argc, char *argv[])
                 else
                     msg_fn = G_verbose_message;            
                 msg_fn(_("Projection of input dataset and current location "
-                            "appear to match"));
+                         "appear to match"));
                 if (flag_j->answer)
                     exit(EXIT_SUCCESS);
 	    }
@@ -591,6 +624,14 @@ int main(int argc, char *argv[])
 	char szBandName[512];
 	int nBand = 0;
 	char colornamebuf[512], colornamebuf2[512];
+	FILE *map_names_file = NULL;
+
+	if(parm.map_names_file->answer) {
+	    map_names_file = fopen(parm.map_names_file->answer, "w");
+	    if(map_names_file == NULL) {
+	        G_fatal_error(_("Unable to open the map names output text file"));
+	    }
+	}
 
 	I_init_group_ref(&ref);
 
@@ -609,6 +650,13 @@ int main(int argc, char *argv[])
 		nBand++;
 	    }
 
+            /* Generate the suffix */
+            if(num_digits > 0) {
+                G_snprintf(suffix, num_digits + 1, "%0*d", num_digits, nBand + offset);
+            } else {
+                G_snprintf(suffix, 65, "%d", nBand + offset);
+            }
+
 	    G_debug(3, "Import raster band %d", nBand);
 	    hBand = GDALGetRasterBand(hDS, nBand);
 	    if (!hBand)
@@ -621,21 +669,21 @@ int main(int argc, char *argv[])
 
 		/* check: two channels with identical name ? */
 		if (strcmp(colornamebuf, colornamebuf2) == 0)
-		    sprintf(colornamebuf, "%d", nBand + offset);
+		    sprintf(colornamebuf, "%s", suffix);
 		else
 		    strcpy(colornamebuf2, colornamebuf);
 
 		/* avoid bad color names; in case of 'Gray' often all channels are named 'Gray' */
 		if (strcmp(colornamebuf, "Undefined") == 0 ||
 		    strcmp(colornamebuf, "Gray") == 0)
-		    sprintf(szBandName, "%s.%d", output, nBand + offset);
+		    sprintf(szBandName, "%s.%s", output, suffix);
 		else {
 		    G_tolcase(colornamebuf);
 		    sprintf(szBandName, "%s.%s", output, colornamebuf);
 		}
 	    }
 	    else
-		sprintf(szBandName, "%s.%d", output, nBand + offset);
+		sprintf(szBandName, "%s.%s", output, suffix);
 
             if (!parm.outloc->answer) {	/* Check if the map exists */
               if (G_find_raster2(szBandName, G_mapset())) {
@@ -649,10 +697,16 @@ int main(int argc, char *argv[])
 
 	    ImportBand(hBand, szBandName, &ref);
 
+	    if(map_names_file)
+	        fprintf(map_names_file, "%s\n", szBandName);
+
 	    if (title)
 		Rast_put_cell_title(szBandName, title);
 	}
 
+	if(map_names_file)
+	    fclose(map_names_file);
+
 	I_put_group_ref(output, &ref);
 	I_free_group_ref(&ref);
 
diff --git a/raster/r.in.gdal/r.in.gdal.html b/raster/r.in.gdal/r.in.gdal.html
index b98696b..19160fa 100644
--- a/raster/r.in.gdal/r.in.gdal.html
+++ b/raster/r.in.gdal/r.in.gdal.html
@@ -233,40 +233,45 @@ the what the map's bounds and resolution should be beforehand.
 <h3>ECAD Data</h3>
 
 The <a href="http://eca.knmi.nl/">European Climate Assessment and Dataset (ECAD) project</a> 
-provides climate data for europe ranging from 1950 - 2010. To import the different 
+provides climate data for Europe ranging from 1950 - 2010 or later. To import the different
 chunks of data provided by the project as netCDF files, the offset parameter can be used to get 
 daily numbered raster maps from 1. Jan. 1950 on. Make sure you are in a LatLong location.
+<p>
+Use the <em>num_digits</em> option to allow chronological numbering of the imported raster map layers,
+so that <em>g.list</em> list's them in the correct import order. Use <em>num_digits=5</em>
+to have a 5 digit suffix with leading zeros (00001 - 99999).
+</p>
 
 <div class="code"><pre>
 # Import precipitation data
-r.in.gdal -o input=rr_0.25deg_reg_1950-1964_v4.0.nc output=precipitation offset=0
-r.in.gdal -o input=rr_0.25deg_reg_1965-1979_v4.0.nc output=precipitation offset=5479
-r.in.gdal -o input=rr_0.25deg_reg_1980-1994_v4.0.nc output=precipitation offset=10957
-r.in.gdal -o input=rr_0.25deg_reg_1995-2010_v4.0.nc output=precipitation offset=16436
+r.in.gdal -o input=rr_0.25deg_reg_1950-1964_v4.0.nc output=precipitation num_digits=5 offset=0
+r.in.gdal -o input=rr_0.25deg_reg_1965-1979_v4.0.nc output=precipitation num_digits=5 offset=5479
+r.in.gdal -o input=rr_0.25deg_reg_1980-1994_v4.0.nc output=precipitation num_digits=5 offset=10957
+r.in.gdal -o input=rr_0.25deg_reg_1995-2010_v4.0.nc output=precipitation num_digits=5 offset=16436
 
 # Import air pressure data
-r.in.gdal -o input=pp_0.25deg_reg_1950-1964_v4.0.nc output=air_pressure offset=0
-r.in.gdal -o input=pp_0.25deg_reg_1965-1979_v4.0.nc output=air_pressure offset=5479
-r.in.gdal -o input=pp_0.25deg_reg_1980-1994_v4.0.nc output=air_pressure offset=10957
-r.in.gdal -o input=pp_0.25deg_reg_1995-2010_v4.0.nc output=air_pressure offset=16436
+r.in.gdal -o input=pp_0.25deg_reg_1950-1964_v4.0.nc output=air_pressure num_digits=5 offset=0
+r.in.gdal -o input=pp_0.25deg_reg_1965-1979_v4.0.nc output=air_pressure num_digits=5 offset=5479
+r.in.gdal -o input=pp_0.25deg_reg_1980-1994_v4.0.nc output=air_pressure num_digits=5 offset=10957
+r.in.gdal -o input=pp_0.25deg_reg_1995-2010_v4.0.nc output=air_pressure num_digits=5 offset=16436
 
 # Import min temperature data
-r.in.gdal -o input=tn_0.25deg_reg_1950-1964_v4.0.nc output=temperatur_min offset=0
-r.in.gdal -o input=tn_0.25deg_reg_1965-1979_v4.0.nc output=temperatur_min offset=5479
-r.in.gdal -o input=tn_0.25deg_reg_1980-1994_v4.0.nc output=temperatur_min offset=10957
-r.in.gdal -o input=tn_0.25deg_reg_1995-2010_v4.0.nc output=temperatur_min offset=16436
+r.in.gdal -o input=tn_0.25deg_reg_1950-1964_v4.0.nc output=temperatur_min num_digits=5 offset=0
+r.in.gdal -o input=tn_0.25deg_reg_1965-1979_v4.0.nc output=temperatur_min num_digits=5 offset=5479
+r.in.gdal -o input=tn_0.25deg_reg_1980-1994_v4.0.nc output=temperatur_min num_digits=5 offset=10957
+r.in.gdal -o input=tn_0.25deg_reg_1995-2010_v4.0.nc output=temperatur_min num_digits=5 offset=16436
 
 # Import max temperature data
-r.in.gdal -o input=tx_0.25deg_reg_1950-1964_v4.0.nc output=temperatur_max offset=0
-r.in.gdal -o input=tx_0.25deg_reg_1965-1979_v4.0.nc output=temperatur_max offset=5479
-r.in.gdal -o input=tx_0.25deg_reg_1980-1994_v4.0.nc output=temperatur_max offset=10957
-r.in.gdal -o input=tx_0.25deg_reg_1995-2010_v4.0.nc output=temperatur_max offset=16436
+r.in.gdal -o input=tx_0.25deg_reg_1950-1964_v4.0.nc output=temperatur_max num_digits=5 offset=0
+r.in.gdal -o input=tx_0.25deg_reg_1965-1979_v4.0.nc output=temperatur_max num_digits=5 offset=5479
+r.in.gdal -o input=tx_0.25deg_reg_1980-1994_v4.0.nc output=temperatur_max num_digits=5 offset=10957
+r.in.gdal -o input=tx_0.25deg_reg_1995-2010_v4.0.nc output=temperatur_max num_digits=5 offset=16436
 
 # Import mean temperature data
-r.in.gdal -o input=tg_0.25deg_reg_1950-1964_v4.0.nc output=temperatur_mean offset=0
-r.in.gdal -o input=tg_0.25deg_reg_1965-1979_v4.0.nc output=temperatur_mean offset=5479
-r.in.gdal -o input=tg_0.25deg_reg_1980-1994_v4.0.nc output=temperatur_mean offset=10957
-r.in.gdal -o input=tg_0.25deg_reg_1995-2010_v4.0.nc output=temperatur_mean offset=16436
+r.in.gdal -o input=tg_0.25deg_reg_1950-1964_v4.0.nc output=temperatur_mean num_digits=5 offset=0
+r.in.gdal -o input=tg_0.25deg_reg_1965-1979_v4.0.nc output=temperatur_mean num_digits=5 offset=5479
+r.in.gdal -o input=tg_0.25deg_reg_1980-1994_v4.0.nc output=temperatur_mean num_digits=5 offset=10957
+r.in.gdal -o input=tg_0.25deg_reg_1995-2010_v4.0.nc output=temperatur_mean num_digits=5 offset=16436
 </pre></div>
 
 
@@ -337,4 +342,4 @@ GDAL Pages: <a href="http://www.gdal.org">http://www.gdal.org/</a><br>
  (<a href="mailto:warmerdam AT pobox dot com">email</a>).
 
 <p>
-<i>Last changed: $Date: 2016-01-13 10:20:46 +0100 (Wed, 13 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-01-13 01:18:55 -0800 (Wed, 13 Jan 2016) $</i>
diff --git a/raster/r.in.gdal/testsuite/data/elevation.asc b/raster/r.in.gdal/testsuite/data/elevation.asc
new file mode 100644
index 0000000..cdf58f8
--- /dev/null
+++ b/raster/r.in.gdal/testsuite/data/elevation.asc
@@ -0,0 +1,140 @@
+ncols        150
+nrows        135
+xllcorner    630000.000000000000
+yllcorner    215000.000000000000
+cellsize     100.000000000000
+ 147.0630950927734375 152.12115478515625 147.2090301513671875 149.65704345703125 153.3755645751953125 148.8382568359375 142.92120361328125 137.28582763671875 131.2375335693359375 135.0667724609375 135.067169189453125 134.82135009765625 138.7494049072265625 129.339385986328125 127.7231597900390625 115.90633392333984375 127.56354522705078125 125.89801025390625 116.35941314697265625 113.82979583740234375 124.5316162109375 126.8661041259765625 124.2809295654296875 128.773712158203125 133.411 [...]
+ 139.369110107421875 146.6329345703125 149.074127197265625 148.1779327392578125 152.795440673828125 148.0280609130859375 139.7231597900390625 133.63165283203125 137.468353271484375 141.60107421875 136.475830078125 142.383544921875 142.94219970703125 140.2969970703125 127.43737030029296875 125.662750244140625 130.5152435302734375 126.6941986083984375 123.83542633056640625 113.99900054931640625 115.06160736083984375 118.69449615478515625 120.4935150146484375 123.323577880859375 129.9435882 [...]
+ 133.7091827392578125 137.4987030029296875 145.8946075439453125 150.9004974365234375 152.7673187255859375 148.5075531005859375 140.171142578125 140.9747161865234375 142.5267486572265625 145.008941650390625 140.4365997314453125 144.612548828125 146.81500244140625 140.987579345703125 129.2682952880859375 132.7298583984375 132.6204833984375 130.3763580322265625 123.3799591064453125 115.53179931640625 123.45423126220703125 120.117584228515625 120.64618682861328125 129.747772216796875 131.793 [...]
+ 135.737945556640625 137.934295654296875 145.576690673828125 151.6974639892578125 151.155303955078125 143.010101318359375 139.734405517578125 145.28936767578125 145.04302978515625 142.888336181640625 143.123138427734375 143.7969818115234375 144.9995269775390625 139.5050201416015625 130.9752197265625 134.6947784423828125 129.6082763671875 123.69264984130859375 116.620697021484375 120.43180084228515625 129.955810546875 128.7548065185546875 126.3118896484375 128.113250732421875 135.27049255 [...]
+ 141.1980438232421875 142.17279052734375 146.8488922119140625 145.9217681884765625 146.158233642578125 146.7086334228515625 143.875946044921875 143.0060272216796875 139.094635009765625 139.5990142822265625 139.9721221923828125 138.29132080078125 142.5258331298828125 139.371917724609375 135.5819549560546875 133.6104583740234375 127.4442901611328125 119.23975372314453125 121.6800689697265625 126.98398590087890625 133.0224761962890625 134.935699462890625 130.53228759765625 125.4720230102539 [...]
+ 139.421295166015625 146.4323577880859375 143.000091552734375 137.578125 141.131317138671875 146.304718017578125 149.024627685546875 139.64837646484375 135.953094482421875 133.3410491943359375 132.4214324951171875 133.0732269287109375 134.2940521240234375 137.630950927734375 134.701141357421875 132.2540283203125 124.64757537841796875 118.0184173583984375 128.0242767333984375 127.60546112060546875 139.05615234375 139.1453857421875 137.4026947021484375 136.688140869140625 130.9003143310546 [...]
+ 139.5461273193359375 140.4133758544921875 135.700592041015625 133.812744140625 135.8598785400390625 141.0911865234375 147.7211151123046875 142.687744140625 142.588134765625 138.02740478515625 131.35858154296875 127.88724517822265625 126.85865020751953125 129.521270751953125 130.431243896484375 127.94980621337890625 120.876678466796875 123.04190826416015625 132.9070892333984375 138.267425537109375 138.9341278076171875 141.490692138671875 140.47027587890625 136.1331634521484375 134.990325 [...]
+ 133.6780242919921875 130.8223114013671875 133.0596160888671875 139.1998291015625 143.852752685546875 145.9181365966796875 147.3009185791015625 145.277496337890625 146.381256103515625 144.8831939697265625 141.5192718505859375 138.9593048095703125 134.775726318359375 124.992462158203125 125.67513275146484375 121.2436370849609375 120.91756439208984375 125.6083221435546875 132.216766357421875 135.6631011962890625 142.466278076171875 144.7189788818359375 139.81451416015625 140.56997680664062 [...]
+ 123.3807830810546875 129.0315399169921875 135.38818359375 139.077484130859375 143.0005950927734375 147.476165771484375 144.8210296630859375 143.5684967041015625 145.2019805908203125 141.8232269287109375 138.9693603515625 133.531219482421875 126.7306976318359375 123.1263885498046875 122.028778076171875 121.83061981201171875 128.1142578125 131.4333038330078125 133.0813751220703125 134.5289154052734375 141.5283966064453125 145.7993927001953125 143.6972198486328125 146.32696533203125 147.27 [...]
+ 134.9927825927734375 132.4256134033203125 130.2545928955078125 136.8470916748046875 143.9631195068359375 145.177215576171875 147.86273193359375 144.8113250732421875 145.7834930419921875 137.548248291015625 131.05267333984375 126.7592315673828125 129.4942169189453125 133.89300537109375 128.5748291015625 122.44854736328125 126.7511138916015625 132.1304168701171875 137.1300506591796875 141.2825775146484375 145.4812774658203125 148.2704925537109375 144.019287109375 141.9427490234375 143.647 [...]
+ 140.076202392578125 142.359039306640625 141.1747589111328125 139.49969482421875 137.445648193359375 145.3968658447265625 149.348114013671875 146.165283203125 142.0843963623046875 136.8837127685546875 129.5036163330078125 134.902984619140625 139.992218017578125 136.2177734375 126.20070648193359375 128.8696746826171875 130.91522216796875 126.63188934326171875 134.21954345703125 141.4659423828125 145.53765869140625 146.700164794921875 143.7661285400390625 137.957672119140625 132.2734680175 [...]
+ 138.7584075927734375 140.6340789794921875 144.5179443359375 148.58197021484375 143.44061279296875 141.750579833984375 149.8781585693359375 146.3974456787109375 138.864532470703125 137.398651123046875 130.4633026123046875 138.9102020263671875 144.107177734375 136.235015869140625 127.89502716064453125 130.9814300537109375 135.1947784423828125 132.8258514404296875 128.5294189453125 133.4830780029296875 135.2445526123046875 138.8182220458984375 144.454437255859375 143.5221099853515625 132.3 [...]
+ 138.658172607421875 143.150634765625 145.3385467529296875 150.112213134765625 150.1318511962890625 151.849945068359375 150.6754913330078125 145.6955413818359375 148.4995269775390625 142.7800445556640625 133.705322265625 143.959136962890625 146.0471954345703125 139.4148712158203125 126.616973876953125 133.150970458984375 137.3023223876953125 141.4937286376953125 131.323760986328125 134.7677459716796875 144.332672119140625 148.283050537109375 146.606414794921875 136.8291473388671875 136.6 [...]
+ 136.6953277587890625 138.1971893310546875 145.8376617431640625 149.7340850830078125 148.1543121337890625 149.648956298828125 151.1035919189453125 149.3681793212890625 143.437774658203125 142.195281982421875 134.27130126953125 145.708526611328125 146.0153961181640625 135.2770538330078125 126.4555206298828125 135.3006744384765625 142.2508087158203125 145.783203125 142.024505615234375 138.3377838134765625 146.3483123779296875 151.6541900634765625 141.872344970703125 138.7046356201171875 14 [...]
+ 129.4226837158203125 133.5117645263671875 140.0296173095703125 143.4622650146484375 142.4554443359375 147.5742645263671875 150.667755126953125 147.91424560546875 143.2381134033203125 138.3577728271484375 138.1897735595703125 144.0892181396484375 140.369384765625 137.0963592529296875 136.884857177734375 137.3574676513671875 139.802703857421875 145.375091552734375 142.22906494140625 136.39013671875 145.3533172607421875 149.656097412109375 145.70904541015625 142.938323974609375 146.1348114 [...]
+ 139.2057037353515625 135.9355621337890625 136.2894744873046875 138.3431396484375 139.5531158447265625 145.5137481689453125 150.027618408203125 143.668670654296875 142.121337890625 141.2480316162109375 143.0847930908203125 141.9848480224609375 143.7325286865234375 141.85260009765625 130.091094970703125 138.9800872802734375 145.2055511474609375 148.018035888671875 149.156402587890625 146.80389404296875 144.9857635498046875 149.230560302734375 148.3544769287109375 147.2167816162109375 141. [...]
+ 144.0026397705078125 147.6641387939453125 147.0720672607421875 147.0747222900390625 146.9569549560546875 148.4623565673828125 151.0540618896484375 148.1483154296875 147.8220672607421875 147.8322601318359375 144.6734619140625 147.9318389892578125 149.687591552734375 142.4987945556640625 132.10748291015625 143.0980377197265625 149.379058837890625 152.8295135498046875 153.8564453125 148.789581298828125 149.15155029296875 149.753509521484375 148.8880462646484375 147.524169921875 139.9223937 [...]
+ 137.2118377685546875 143.8779144287109375 147.826385498046875 149.1351470947265625 148.1861419677734375 151.009613037109375 152.50152587890625 150.4476776123046875 152.3717041015625 151.8279571533203125 145.6611480712890625 144.2235565185546875 151.41046142578125 143.842987060546875 139.0353546142578125 137.286346435546875 146.53948974609375 148.43426513671875 149.652069091796875 155.083740234375 153.2807159423828125 151.888031005859375 150.4818115234375 145.1556549072265625 138.4151000 [...]
+ 142.6156768798828125 143.3248443603515625 142.9074859619140625 145.021240234375 147.4858551025390625 152.3035736083984375 152.524505615234375 149.6174468994140625 152.135955810546875 152.384063720703125 151.340728759765625 145.8332366943359375 151.36260986328125 144.466552734375 144.6443939208984375 144.677459716796875 148.408966064453125 144.84112548828125 150.40643310546875 153.6478271484375 151.534271240234375 148.005859375 147.7304840087890625 146.109893798828125 141.50750732421875  [...]
+ 146.4464874267578125 149.9470672607421875 149.851318359375 150.45892333984375 150.943389892578125 151.356353759765625 149.333160400390625 146.9367218017578125 148.457763671875 150.440765380859375 152.1422882080078125 151.2055511474609375 150.43304443359375 148.4557952880859375 150.0448455810546875 151.7680511474609375 149.8102569580078125 150.1890106201171875 150.921112060546875 152.8441619873046875 149.384033203125 145.890655517578125 146.08148193359375 147.6517791748046875 134.8669891 [...]
+ 149.229400634765625 149.5843505859375 151.0136566162109375 153.308837890625 151.8264007568359375 151.3973541259765625 148.2374420166015625 142.748443603515625 143.9563446044921875 146.1430206298828125 151.615692138671875 148.2039031982421875 150.601898193359375 146.01495361328125 148.2628173828125 152.1550445556640625 153.037445068359375 154.307403564453125 154.044464111328125 153.849609375 148.9234466552734375 147.418792724609375 148.2555389404296875 148.39056396484375 139.245483398437 [...]
+ 145.6008758544921875 146.5866546630859375 148.9673309326171875 150.96087646484375 147.15350341796875 149.929718017578125 148.4118804931640625 145.0728607177734375 141.4710540771484375 143.09857177734375 148.1376800537109375 144.818450927734375 145.95452880859375 143.4318389892578125 145.4749603271484375 153.556976318359375 147.44342041015625 149.3437042236328125 149.281494140625 152.1805419921875 153.038726806640625 150.0785675048828125 148.87255859375 148.77813720703125 140.57760620117 [...]
+ 144.610107421875 143.3088836669921875 146.5263214111328125 145.3155975341796875 143.4387969970703125 146.086029052734375 144.4864654541015625 143.167572021484375 139.3314056396484375 139.8380126953125 147.4680633544921875 146.2111663818359375 141.477813720703125 143.4721832275390625 142.04925537109375 146.6082000732421875 139.6665496826171875 145.5769500732421875 144.5732269287109375 147.6779937744140625 152.2714080810546875 146.7595062255859375 143.7660369873046875 142.5469970703125 13 [...]
+ 146.478515625 146.0313873291015625 139.70928955078125 139.153839111328125 138.721038818359375 137.6107177734375 138.5416107177734375 137.6981353759765625 135.7020263671875 137.1555328369140625 139.4978179931640625 142.367828369140625 139.2270050048828125 142.012176513671875 136.329986572265625 136.0659027099609375 142.74407958984375 149.071502685546875 150.068878173828125 149.6579132080078125 150.1019134521484375 145.9448699951171875 143.166351318359375 140.8715667724609375 146.33630371 [...]
+ 148.358123779296875 143.8025054931640625 138.5731964111328125 139.7958221435546875 137.3817901611328125 140.8617095947265625 134.361572265625 133.665283203125 133.665771484375 133.9311981201171875 133.2723541259765625 134.4519805908203125 135.928009033203125 136.934967041015625 132.52862548828125 140.266815185546875 145.611846923828125 151.79052734375 149.5266876220703125 143.7358551025390625 146.3134765625 149.832244873046875 144.5246734619140625 140.200164794921875 146.030975341796875 [...]
+ 143.39373779296875 138.4779052734375 140.41851806640625 143.7269744873046875 143.28118896484375 147.3324127197265625 144.314483642578125 140.9261627197265625 144.352447509765625 137.88165283203125 131.3669586181640625 131.7437744140625 131.69720458984375 132.8094482421875 131.650299072265625 140.4344329833984375 143.7306365966796875 148.1287994384765625 143.9407501220703125 140.2152099609375 148.3995513916015625 150.547027587890625 147.70111083984375 141.0160369873046875 140.12791442871 [...]
+ 140.3860015869140625 143.34564208984375 143.2276763916015625 146.9696044921875 149.668670654296875 149.9356536865234375 145.820220947265625 142.5973358154296875 143.699981689453125 139.1071624755859375 141.5953216552734375 135.5308990478515625 129.8209991455078125 129.6488189697265625 129.853515625 134.7656097412109375 139.6417236328125 142.156646728515625 140.0003662109375 138.328887939453125 147.182464599609375 146.5926361083984375 141.5390167236328125 146.077301025390625 144.29148864 [...]
+ 141.078216552734375 145.12255859375 148.300994873046875 149.9993743896484375 153.992523193359375 153.02825927734375 146.9098052978515625 147.2720794677734375 144.4818878173828125 142.26153564453125 149.3726043701171875 143.80938720703125 136.640472412109375 129.65887451171875 129.03277587890625 129.6991729736328125 133.888153076171875 137.2769775390625 133.84100341796875 139.0386199951171875 143.8101043701171875 143.5134735107421875 139.216796875 144.15399169921875 145.8907623291015625  [...]
+ 143.100616455078125 145.6425628662109375 149.9514617919921875 154.1868133544921875 155.3574066162109375 153.145477294921875 146.9533538818359375 148.162841796875 147.238616943359375 145.3052520751953125 150.871917724609375 150.2068634033203125 145.5019989013671875 142.405120849609375 137.1011810302734375 127.8035125732421875 127.89827728271484375 129.21368408203125 129.9725494384765625 136.49713134765625 140.646270751953125 138.4807281494140625 137.5640716552734375 142.37762451171875 14 [...]
+ 143.7816925048828125 148.1285247802734375 151.3486175537109375 154.4197540283203125 156.221710205078125 153.8486480712890625 147.3661956787109375 146.147613525390625 151.484649658203125 152.0695037841796875 152.9053192138671875 151.1960296630859375 149.8976898193359375 142.989044189453125 140.3633575439453125 133.15789794921875 126.725189208984375 127.26966094970703125 128.395782470703125 132.97076416015625 136.357696533203125 132.93792724609375 135.490142822265625 134.9169921875 140.74 [...]
+ 146.454193115234375 147.321380615234375 149.1821746826171875 149.6888275146484375 153.4170379638671875 153.44647216796875 147.766265869140625 146.03375244140625 151.1726531982421875 152.6468353271484375 151.219940185546875 148.7503509521484375 149.9815826416015625 146.1823272705078125 145.0864410400390625 142.4794769287109375 134.8667144775390625 125.8789520263671875 125.26758575439453125 129.743560791015625 128.1856231689453125 134.0999298095703125 133.802276611328125 134.4626159667968 [...]
+ 147.0452423095703125 146.196136474609375 147.0951690673828125 149.65814208984375 151.1097259521484375 153.781494140625 151.0351409912109375 144.4349212646484375 147.4030303955078125 150.69378662109375 151.36328125 145.5135345458984375 145.647491455078125 149.1414642333984375 147.0780181884765625 144.80694580078125 139.9447479248046875 138.2981414794921875 124.92035675048828125 125.3000640869140625 129.401123046875 135.793853759765625 138.1757354736328125 131.692901611328125 134.04408264 [...]
+ 149.8548583984375 147.2035369873046875 146.210357666015625 150.1793212890625 154.985382080078125 155.417724609375 151.5817718505859375 144.3494110107421875 143.4996337890625 146.74969482421875 147.8526458740234375 148.511260986328125 146.013427734375 143.604705810546875 144.742462158203125 141.98931884765625 139.8372650146484375 132.30694580078125 127.4012908935546875 123.9876708984375 127.7198638916015625 136.263671875 136.876068115234375 129.399658203125 127.6154632568359375 131.52189 [...]
+ 149.42547607421875 149.24737548828125 147.5106353759765625 147.214691162109375 149.7722625732421875 154.1632843017578125 149.0718536376953125 144.354522705078125 140.940826416015625 146.758758544921875 143.965667724609375 145.31365966796875 146.13232421875 138.6285552978515625 145.0863494873046875 144.360809326171875 141.89300537109375 141.75408935546875 137.6600341796875 130.2151641845703125 134.5472564697265625 132.500335693359375 132.692901611328125 128.0147552490234375 124.482681274 [...]
+ 147.4726104736328125 150.81866455078125 150.0279541015625 146.7676239013671875 149.9260711669921875 152.4222412109375 146.529998779296875 142.9050445556640625 139.693267822265625 145.2451019287109375 144.0098876953125 141.89239501953125 145.20404052734375 138.2698211669921875 139.5865936279296875 139.7916717529296875 137.5120697021484375 134.13397216796875 133.5379791259765625 122.93548583984375 123.906646728515625 124.61463165283203125 129.74951171875 126.89791107177734375 125.07440185 [...]
+ 149.8500518798828125 150.50823974609375 153.6005706787109375 148.7681121826171875 149.8945159912109375 149.7730712890625 148.2449798583984375 151.08538818359375 139.3945465087890625 142.212677001953125 140.2597198486328125 137.99658203125 136.4167633056640625 133.7644500732421875 133.981170654296875 132.6351318359375 131.6019134521484375 130.7250823974609375 124.14319610595703125 122.6008148193359375 121.924163818359375 122.82752227783203125 123.69445037841796875 124.944793701171875 124 [...]
+ 152.512359619140625 153.1404571533203125 152.8338470458984375 149.0073089599609375 148.699066162109375 147.8865814208984375 147.523773193359375 147.490325927734375 140.3529205322265625 135.1087493896484375 136.4930572509765625 135.414398193359375 133.61297607421875 133.68194580078125 130.709320068359375 128.3641815185546875 131.3696746826171875 128.60626220703125 133.1479644775390625 134.2789764404296875 124.04567718505859375 121.24761962890625 121.2339019775390625 120.90381622314453125 [...]
+ 146.7382659912109375 149.9534912109375 150.4296417236328125 144.54364013671875 147.79669189453125 145.54168701171875 145.4381256103515625 145.20587158203125 141.906768798828125 138.11883544921875 136.431365966796875 136.1527557373046875 139.3703460693359375 138.290802001953125 142.5928955078125 138.970001220703125 137.838134765625 139.11859130859375 138.4427032470703125 134.8520965576171875 130.5473785400390625 133.1809844970703125 125.79126739501953125 120.8803558349609375 118.76145935 [...]
+ 143.67413330078125 146.799285888671875 144.2581024169921875 141.445709228515625 147.4324493408203125 147.4847259521484375 145.8419952392578125 148.1535186767578125 145.15460205078125 144.0810089111328125 145.301422119140625 145.166534423828125 144.133697509765625 143.68475341796875 142.5915679931640625 142.253936767578125 141.594940185546875 144.609130859375 142.03607177734375 132.9160308837890625 132.4170379638671875 137.8823394775390625 138.2690277099609375 134.2705535888671875 130.12 [...]
+ 141.07421875 143.24566650390625 138.2341461181640625 145.8363800048828125 147.618133544921875 150.5208282470703125 147.0788726806640625 147.5430908203125 145.7558746337890625 145.43695068359375 146.607086181640625 146.4202117919921875 145.5345001220703125 143.8119354248046875 143.952117919921875 144.491729736328125 143.5471038818359375 146.915374755859375 139.6185150146484375 136.1346282958984375 133.81549072265625 135.3961181640625 137.3094940185546875 133.0479888916015625 129.85142517 [...]
+ 136.388397216796875 137.420623779296875 139.4173736572265625 144.00836181640625 143.436279296875 146.5018768310546875 149.8101806640625 149.5762786865234375 148.87432861328125 146.886810302734375 145.835296630859375 146.3538970947265625 146.307159423828125 144.690216064453125 143.8394927978515625 143.4831695556640625 145.6604766845703125 146.066375732421875 141.8505096435546875 141.137908935546875 134.103179931640625 129.1242828369140625 129.1933441162109375 125.4534912109375 120.309196 [...]
+ 134.31622314453125 135.3301849365234375 138.3215484619140625 142.590057373046875 137.85986328125 142.4929351806640625 149.6547698974609375 149.91790771484375 148.64501953125 147.8347930908203125 145.0321807861328125 144.5107879638671875 146.6013031005859375 145.625244140625 143.903656005859375 142.8988800048828125 146.3412322998046875 145.7271270751953125 138.5863800048828125 139.64892578125 129.8818817138671875 130.2429962158203125 126.1637725830078125 124.755035400390625 126.369697570 [...]
+ 131.0258941650390625 133.4357452392578125 136.6060333251953125 139.8017578125 138.2632904052734375 143.4972076416015625 146.4831695556640625 149.7229461669921875 145.93743896484375 147.5133819580078125 144.0481109619140625 143.126922607421875 144.11566162109375 144.1336669921875 143.007354736328125 147.46722412109375 146.33575439453125 143.98651123046875 137.5222320556640625 130.8992156982421875 132.4263763427734375 134.69439697265625 131.56060791015625 124.1989593505859375 135.18382263 [...]
+ 133.132080078125 129.2080841064453125 135.6617889404296875 135.582122802734375 136.7506866455078125 140.50689697265625 142.2636871337890625 141.889312744140625 146.1226043701171875 146.481689453125 142.8524322509765625 140.6006927490234375 142.066864013671875 142.326416015625 143.7673797607421875 144.683685302734375 140.1280059814453125 136.2891998291015625 132.861572265625 135.6340789794921875 138.3406982421875 137.034698486328125 135.43463134765625 127.06873321533203125 136.9693145751 [...]
+ 137.162078857421875 129.2805328369140625 131.2506866455078125 130.3432159423828125 136.6608123779296875 132.7736663818359375 135.8661346435546875 139.765655517578125 145.969268798828125 145.8376617431640625 142.0244140625 140.7583160400390625 139.29193115234375 142.3719024658203125 141.0747833251953125 138.3817291259765625 137.864501953125 137.3391571044921875 139.908538818359375 142.0657196044921875 145.730072021484375 140.06243896484375 140.0825653076171875 135.27410888671875 134.6638 [...]
+ 137.0872039794921875 130.377197265625 125.88219451904296875 132.8903961181640625 129.30950927734375 137.8672943115234375 143.227935791015625 148.5181884765625 146.9207916259765625 141.5014801025390625 141.4124908447265625 136.0098876953125 138.702239990234375 142.8248138427734375 145.4481964111328125 142.0312957763671875 142.304840087890625 141.588897705078125 143.907989501953125 143.874908447265625 147.369232177734375 139.199005126953125 144.0262451171875 140.8574066162109375 135.37104 [...]
+ 139.22705078125 138.784423828125 125.5641326904296875 127.11800384521484375 129.18280029296875 133.2437286376953125 142.8574676513671875 147.099639892578125 145.1548004150390625 140.529052734375 135.442779541015625 135.8952484130859375 135.469451904296875 138.2853851318359375 145.278961181640625 146.0285186767578125 145.2875823974609375 144.6165924072265625 144.57208251953125 146.052215576171875 147.7910003662109375 144.53009033203125 149.175872802734375 141.7142791748046875 135.2539520 [...]
+ 142.238525390625 137.6444244384765625 124.85475921630859375 128.8133392333984375 136.1479644775390625 139.33258056640625 141.586669921875 144.34161376953125 140.4786224365234375 139.171722412109375 133.3716583251953125 132.8542327880859375 135.0098724365234375 141.8283233642578125 146.2578125 148.44329833984375 148.7773284912109375 148.5148468017578125 149.235626220703125 146.7382659912109375 148.597320556640625 147.5360870361328125 149.283721923828125 140.373138427734375 140.0327453613 [...]
+ 137.1536712646484375 133.212738037109375 123.55434417724609375 127.3555145263671875 135.690216064453125 134.500396728515625 139.686065673828125 139.5676727294921875 135.5297393798828125 137.4039154052734375 133.98077392578125 129.639923095703125 135.9020233154296875 142.41314697265625 140.13629150390625 145.68280029296875 152.6353607177734375 151.122711181640625 149.74102783203125 150.376861572265625 150.0189361572265625 150.74066162109375 149.5147247314453125 147.158843994140625 145.63 [...]
+ 130.5011138916015625 130.0653533935546875 126.909881591796875 123.31378173828125 131.9155731201171875 131.5290069580078125 135.468902587890625 131.4384765625 129.501434326171875 137.4304962158203125 130.1631011962890625 129.7274932861328125 136.5179901123046875 136.31658935546875 140.6055908203125 148.0834197998046875 148.192108154296875 147.011444091796875 142.2003326416015625 148.3683624267578125 149.92022705078125 149.2904205322265625 150.7860260009765625 149.5284271240234375 147.926 [...]
+ 140.2483673095703125 137.23431396484375 127.99819183349609375 121.887542724609375 128.9037628173828125 133.1471710205078125 130.6681365966796875 128.7241973876953125 129.2733612060546875 133.8663787841796875 130.212432861328125 128.885528564453125 131.992401123046875 132.455780029296875 140.9739990234375 143.2407379150390625 141.655731201171875 139.8488922119140625 146.040130615234375 150.3853759765625 149.4295806884765625 146.353240966796875 147.79345703125 150.6153411865234375 151.987 [...]
+ 144.082550048828125 134.3506317138671875 133.3423919677734375 120.74398040771484375 124.84462738037109375 127.15887451171875 125.0593719482421875 128.1636962890625 134.0034332275390625 134.73004150390625 128.854217529296875 126.92111968994140625 133.5211029052734375 137.32135009765625 137.290435791015625 136.0577239990234375 137.06439208984375 138.5523223876953125 146.3978729248046875 147.7234039306640625 146.7308349609375 145.066192626953125 143.1044921875 148.0672607421875 149.5284423 [...]
+ 144.6318206787109375 141.5373687744140625 133.313720703125 128.937164306640625 120.0092010498046875 124.19998931884765625 127.0645751953125 130.805877685546875 131.104217529296875 133.6890106201171875 127.40734100341796875 127.30142974853515625 134.7174530029296875 134.735198974609375 129.977203369140625 130.8543853759765625 132.434478759765625 142.313323974609375 145.3399200439453125 138.56951904296875 144.9349212646484375 148.1447296142578125 140.624481201171875 142.1993560791015625 1 [...]
+ 144.4709930419921875 139.9132843017578125 131.9453582763671875 128.9992828369140625 119.9594268798828125 120.0596160888671875 127.317535400390625 126.29537200927734375 130.7899627685546875 133.5662384033203125 125.86753082275390625 126.72613525390625 130.182769775390625 127.2545928955078125 130.894012451171875 135.8419342041015625 141.1100006103515625 141.87554931640625 142.4949188232421875 137.8859405517578125 143.3615264892578125 143.2767181396484375 137.8639373779296875 137.955215454 [...]
+ 143.6918182373046875 142.6682586669921875 139.3832855224609375 137.6778717041015625 129.275665283203125 118.54053497314453125 121.88451385498046875 126.016082763671875 132.005462646484375 129.0300445556640625 121.8312225341796875 123.7677154541015625 124.5759124755859375 129.0514678955078125 136.5513458251953125 141.909515380859375 144.0971527099609375 138.5260162353515625 137.6914215087890625 134.2551727294921875 140.365570068359375 135.1271514892578125 136.9583587646484375 138.2694244 [...]
+ 139.9224395751953125 137.5917205810546875 135.912841796875 134.0670928955078125 130.51580810546875 117.67121124267578125 120.51700592041015625 125.71007537841796875 130.5230865478515625 128.42547607421875 120.1285858154296875 127.75780487060546875 131.548004150390625 133.8554840087890625 136.8188629150390625 141.486602783203125 142.48724365234375 139.3353424072265625 131.3099517822265625 134.4240875244140625 132.6273651123046875 134.3537750244140625 134.9155426025390625 143.546630859375 [...]
+ 133.6662750244140625 130.970947265625 128.0332489013671875 125.45342254638671875 127.69402313232421875 118.0000762939453125 116.5520477294921875 122.93448638916015625 128.8055267333984375 128.202850341796875 118.89884185791015625 128.844970703125 134.6186065673828125 136.858489990234375 136.8803253173828125 138.2613983154296875 139.485687255859375 136.7071990966796875 132.818511962890625 129.83489990234375 131.222808837890625 132.021636962890625 139.875732421875 142.9745025634765625 145 [...]
+ 140.4013214111328125 135.8564300537109375 133.842742919921875 130.0566253662109375 121.77561187744140625 116.36871337890625 117.77923583984375 123.8314666748046875 129.8030853271484375 129.6723175048828125 117.98908233642578125 123.5682830810546875 131.4443359375 134.910247802734375 133.20196533203125 134.3142242431640625 133.6341552734375 129.8984527587890625 128.9085540771484375 123.77742767333984375 128.04180908203125 132.019866943359375 138.3221435546875 145.3799591064453125 148.473 [...]
+ 140.5352325439453125 136.130828857421875 133.3301544189453125 130.5733184814453125 127.99831390380859375 122.3558349609375 115.61562347412109375 120.56719970703125 128.3167266845703125 129.1197052001953125 117.270416259765625 120.37105560302734375 126.2329864501953125 129.7483367919921875 132.4878997802734375 131.1613922119140625 126.762969970703125 126.47026824951171875 121.51456451416015625 125.632659912109375 132.6495208740234375 138.498291015625 143.143890380859375 148.127197265625  [...]
+ 138.4471435546875 135.8393402099609375 125.9966888427734375 124.12638092041015625 118.75670623779296875 115.34813690185546875 114.52130126953125 120.15252685546875 122.14081573486328125 129.748199462890625 116.76006317138671875 119.46343231201171875 126.98638916015625 132.5956878662109375 131.18658447265625 125.1077880859375 123.65149688720703125 120.9191436767578125 122.873687744140625 132.1357574462890625 131.1900634765625 136.3782196044921875 143.286102294921875 146.1417083740234375  [...]
+ 137.39288330078125 138.4335479736328125 132.7012786865234375 128.9994354248046875 128.0439453125 122.097808837890625 116.347808837890625 119.75392913818359375 127.42940521240234375 128.643951416015625 115.6584625244140625 117.66779327392578125 126.926116943359375 123.22479248046875 124.47388458251953125 120.3208160400390625 118.973236083984375 123.41641998291015625 128.69097900390625 127.612274169921875 138.50054931640625 137.3070526123046875 143.238494873046875 143.38385009765625 134.6 [...]
+ 137.43621826171875 140.4673614501953125 138.7571868896484375 134.3459320068359375 128.8752288818359375 124.50154876708984375 112.9344024658203125 118.190032958984375 126.7027740478515625 126.63054656982421875 116.872314453125 118.8446044921875 122.25864410400390625 124.24495697021484375 119.9729156494140625 116.85398101806640625 126.8017120361328125 130.722625732421875 137.3390350341796875 137.9708251953125 138.9445343017578125 143.67266845703125 141.433929443359375 137.783416748046875  [...]
+ 136.812591552734375 137.4344635009765625 134.427520751953125 135.8284912109375 130.587921142578125 124.47064208984375 112.06970977783203125 115.136077880859375 121.07228851318359375 124.63153076171875 119.4707183837890625 115.9036712646484375 118.8616180419921875 118.008941650390625 115.7239990234375 125.18087005615234375 127.0298309326171875 132.4425048828125 140.757293701171875 142.8883514404296875 144.047454833984375 143.4516448974609375 138.429779052734375 131.7594757080078125 130.1 [...]
+ 135.6642913818359375 129.670257568359375 128.9738616943359375 132.56060791015625 130.6150054931640625 126.1596221923828125 112.389251708984375 112.88712310791015625 117.36688995361328125 122.12563323974609375 126.21517181396484375 111.93201446533203125 112.78978729248046875 115.8617706298828125 120.65843963623046875 128.0344696044921875 135.9444122314453125 135.2452850341796875 135.7529144287109375 139.076629638671875 144.42242431640625 143.2642364501953125 140.803070068359375 131.07754 [...]
+ 134.4747161865234375 132.398681640625 123.99745941162109375 122.6306915283203125 123.2240753173828125 124.5695037841796875 113.701202392578125 115.59673309326171875 117.47223663330078125 120.9713134765625 123.13848876953125 111.35974884033203125 114.644744873046875 121.5380401611328125 125.6194000244140625 131.8370361328125 132.693450927734375 127.5439605712890625 130.1828460693359375 133.712005615234375 140.9945831298828125 138.2637176513671875 137.8300933837890625 130.717071533203125  [...]
+ 132.1120452880859375 134.7157745361328125 130.618408203125 122.37825775146484375 116.29592132568359375 120.99951934814453125 117.2734222412109375 110.09671783447265625 113.5811614990234375 118.38067626953125 120.767913818359375 110.07482147216796875 116.47502899169921875 124.002899169921875 128.07720947265625 127.08655548095703125 122.7725982666015625 126.06330108642578125 128.883087158203125 135.1742401123046875 140.2155914306640625 137.7320556640625 133.7209625244140625 127.9193954467 [...]
+ 129.6407318115234375 133.055908203125 127.11722564697265625 123.13824462890625 125.7418060302734375 122.33498382568359375 113.56006622314453125 110.36226654052734375 111.54888153076171875 114.4781036376953125 115.79567718505859375 108.96750640869140625 119.72353363037109375 122.89685821533203125 122.6382598876953125 119.013916015625 125.2107696533203125 127.717437744140625 134.5111083984375 137.8326416015625 137.9626007080078125 133.98590087890625 131.392974853515625 123.100090026855468 [...]
+ 132.295196533203125 135.0467376708984375 127.0996856689453125 132.1926727294921875 128.0685577392578125 118.5821075439453125 117.383575439453125 110.395416259765625 109.01621246337890625 112.17646026611328125 108.8506927490234375 113.31066131591796875 116.48639678955078125 114.67925262451171875 118.9358062744140625 123.4665679931640625 130.730224609375 135.16339111328125 135.7212371826171875 137.5746612548828125 132.1930084228515625 130.0169677734375 125.61969757080078125 123.0525817871 [...]
+ 126.098846435546875 129.830291748046875 135.5699005126953125 134.17608642578125 128.7869873046875 129.6141510009765625 126.73431396484375 117.19155120849609375 107.3729400634765625 108.5641937255859375 108.65187835693359375 114.7010040283203125 113.31356048583984375 121.03592681884765625 126.61493682861328125 123.55982208251953125 129.9496307373046875 136.108978271484375 138.3020477294921875 133.7476959228515625 131.3597564697265625 128.3137969970703125 122.64238739013671875 129.3862762 [...]
+ 132.28973388671875 133.623626708984375 131.9107818603515625 134.536285400390625 134.49346923828125 134.60186767578125 128.0091552734375 123.2059783935546875 106.89180755615234375 106.7613677978515625 107.01605224609375 109.3484649658203125 117.45926666259765625 124.496063232421875 130.632171630859375 131.9472503662109375 130.8498382568359375 136.256195068359375 137.1728668212890625 134.14849853515625 124.72425079345703125 123.78022003173828125 122.51911163330078125 131.425048828125 135. [...]
+ 130.0936737060546875 127.03249359130859375 130.0998992919921875 132.99090576171875 134.2086944580078125 132.7196044921875 123.9351959228515625 117.94452667236328125 115.14129638671875 105.7564239501953125 108.06974029541015625 114.01546478271484375 114.883636474609375 122.64234161376953125 127.38385772705078125 131.9467620849609375 134.487640380859375 137.431884765625 134.6024017333984375 134.0993499755859375 126.77203369140625 121.4040985107421875 123.38327789306640625 127.903411865234 [...]
+ 121.7080078125 123.4837799072265625 127.95078277587890625 132.344818115234375 130.1439361572265625 129.7321319580078125 128.6598968505859375 123.60796356201171875 115.00276947021484375 109.30773162841796875 109.511383056640625 112.56170654296875 117.2813262939453125 125.4180450439453125 129.35406494140625 132.152008056640625 131.8250274658203125 131.789398193359375 132.928192138671875 130.4698333740234375 126.39333343505859375 117.6726531982421875 123.81511688232421875 133.0339965820312 [...]
+ 117.98122406005859375 123.0048828125 127.85198974609375 128.3892822265625 128.9704437255859375 123.5386810302734375 129.609649658203125 123.08666229248046875 116.58679962158203125 105.42218780517578125 107.7723388671875 111.42650604248046875 116.67208099365234375 122.34839630126953125 122.171173095703125 121.3558807373046875 124.05893707275390625 132.0251312255859375 129.7551727294921875 128.2777252197265625 123.05157470703125 116.2853240966796875 122.28884124755859375 130.0123443603515 [...]
+ 116.8243560791015625 121.23270416259765625 126.7196044921875 122.01318359375 121.38185882568359375 120.02417755126953125 124.316986083984375 123.185272216796875 117.8061676025390625 106.02457427978515625 107.14521026611328125 106.745513916015625 110.09241485595703125 111.65813446044921875 117.20249176025390625 120.168243408203125 124.426544189453125 131.96417236328125 122.50934600830078125 123.10706329345703125 120.51865386962890625 116.72185516357421875 123.7750396728515625 130.5979919 [...]
+ 118.64798736572265625 123.09571075439453125 125.99176788330078125 118.75962066650390625 117.37595367431640625 115.34552001953125 117.44134521484375 118.24716949462890625 112.4441375732421875 103.67948150634765625 108.38745880126953125 112.13951873779296875 118.89351654052734375 122.27099609375 125.84825897216796875 128.310028076171875 130.84356689453125 128.943511962890625 130.0499420166015625 123.1808319091796875 113.92038726806640625 117.143310546875 124.6316986083984375 131.176956176 [...]
+ 116.61849212646484375 121.41487884521484375 122.20450592041015625 122.71314239501953125 120.370025634765625 112.9321441650390625 110.3443603515625 115.1115875244140625 111.966278076171875 103.50254058837890625 106.98955535888671875 114.8834991455078125 122.4476165771484375 121.61576080322265625 123.42545318603515625 130.5285797119140625 132.283538818359375 127.0641937255859375 127.4285125732421875 123.782501220703125 112.92919921875 118.33884429931640625 123.028228759765625 129.31938171 [...]
+ 112.67670440673828125 115.70191192626953125 126.3607025146484375 128.474639892578125 128.2648468017578125 121.70111083984375 116.96495819091796875 107.1300048828125 106.65180206298828125 102.12499237060546875 106.02677154541015625 108.36536407470703125 113.78290557861328125 120.7123260498046875 129.19183349609375 132.6297454833984375 132.533111572265625 122.85538482666015625 123.0667877197265625 116.48075103759765625 112.0604095458984375 122.76416778564453125 128.4766082763671875 131.57 [...]
+ 108.979827880859375 117.9922943115234375 123.79380035400390625 124.6200103759765625 130.4305419921875 126.739776611328125 120.08766937255859375 107.94751739501953125 103.6443939208984375 102.08454132080078125 108.38910675048828125 120.086883544921875 121.29607391357421875 120.89066314697265625 128.387664794921875 129.501983642578125 131.1485748291015625 126.51959228515625 120.349151611328125 112.58187103271484375 114.431793212890625 121.9650115966796875 127.98077392578125 129.8729248046 [...]
+ 109.12482452392578125 117.85773468017578125 119.2764892578125 124.7189178466796875 128.1548004150390625 122.64278411865234375 116.2888031005859375 107.799591064453125 102.08142852783203125 104.06644439697265625 108.54346466064453125 117.4570770263671875 123.27332305908203125 122.5699005126953125 122.79871368408203125 127.30054473876953125 129.639556884765625 126.3067474365234375 121.989532470703125 109.79723358154296875 113.922637939453125 121.080047607421875 123.9748992919921875 127.66 [...]
+ 107.7533721923828125 111.65068817138671875 113.63956451416015625 122.54160308837890625 124.35585784912109375 117.21715545654296875 114.62979888916015625 104.99652099609375 102.04828643798828125 103.94351959228515625 117.7122955322265625 116.968231201171875 115.4264678955078125 115.62790679931640625 119.362091064453125 125.7764434814453125 125.7841796875 123.79419708251953125 118.75508880615234375 114.71201324462890625 111.440948486328125 117.7713775634765625 122.67531585693359375 128.24 [...]
+ 107.81307220458984375 114.8634490966796875 118.35631561279296875 125.20477294921875 115.05770111083984375 110.15178680419921875 104.61840057373046875 102.0178070068359375 102.0178070068359375 102.245635986328125 107.6595611572265625 111.08040618896484375 115.0298004150390625 120.0572509765625 120.9146728515625 127.00643157958984375 121.4854736328125 122.62890625 115.90087127685546875 108.07540130615234375 115.2243499755859375 124.075531005859375 128.444854736328125 126.59859466552734375 [...]
+ 108.6503448486328125 116.05881500244140625 122.16213226318359375 126.19905853271484375 123.48857879638671875 120.5373687744140625 114.3941802978515625 101.99407958984375 102.0224456787109375 108.74913787841796875 115.6740264892578125 120.31343841552734375 121.325775146484375 126.1343231201171875 124.40029144287109375 125.693450927734375 118.615966796875 112.72734832763671875 111.46974945068359375 111.31084442138671875 121.05989837646484375 125.698516845703125 125.6165618896484375 121.50 [...]
+ 106.5276336669921875 113.10210418701171875 117.8045654296875 121.44821929931640625 125.52007293701171875 121.03887176513671875 104.89208984375 101.95684051513671875 102.119476318359375 110.44024658203125 115.6872711181640625 118.47800445556640625 120.63427734375 126.1632537841796875 127.88518524169921875 126.97664642333984375 121.66733551025390625 116.9298553466796875 105.5870819091796875 114.46048736572265625 122.9150390625 121.0921173095703125 116.26979827880859375 113.511619567871093 [...]
+ 103.6797027587890625 107.0944366455078125 110.86713409423828125 117.48871612548828125 123.7025299072265625 120.5233612060546875 104.814971923828125 101.93194580078125 103.00812530517578125 108.097686767578125 112.7468109130859375 120.169281005859375 122.04946136474609375 123.1888885498046875 122.4648284912109375 124.13481903076171875 114.5165863037109375 109.93511199951171875 104.6376190185546875 116.37204742431640625 119.42856597900390625 115.43987274169921875 109.7510528564453125 117. [...]
+ 102.66478729248046875 112.268280029296875 115.81304168701171875 122.6732330322265625 121.303741455078125 110.64995574951171875 101.86639404296875 101.922454833984375 101.90270233154296875 106.37117767333984375 111.3043670654296875 113.5153350830078125 114.343353271484375 116.2827606201171875 121.72801971435546875 119.07993316650390625 113.99988555908203125 104.16486358642578125 109.20897674560546875 115.967529296875 110.7865753173828125 108.128173828125 112.77768707275390625 116.0824356 [...]
+ 101.983428955078125 111.91909027099609375 116.5142364501953125 124.78466796875 125.8249359130859375 113.0055999755859375 102.535888671875 101.89588165283203125 101.89588165283203125 104.4175872802734375 111.242340087890625 117.49211883544921875 119.54508209228515625 123.92125701904296875 125.6191558837890625 124.41440582275390625 115.58333587646484375 103.22728729248046875 106.8532257080078125 109.41144561767578125 108.20682525634765625 115.01305389404296875 121.50299835205078125 126.07 [...]
+ 102.11679840087890625 109.23017120361328125 119.13315582275390625 124.29302215576171875 125.62351226806640625 120.702178955078125 107.967193603515625 101.8653411865234375 101.8633270263671875 106.34686279296875 111.59506988525390625 118.0806121826171875 122.6536865234375 125.02437591552734375 125.01087188720703125 122.75185394287109375 117.472869873046875 109.715301513671875 101.6972503662109375 104.32505035400390625 112.41403961181640625 119.37393951416015625 122.79438018798828125 124. [...]
+ 105.6492462158203125 115.53569793701171875 119.6066741943359375 122.53681182861328125 120.27553558349609375 120.25637054443359375 116.25379180908203125 101.83492279052734375 101.83483123779296875 101.97942352294921875 109.85219573974609375 117.08889007568359375 120.39864349365234375 123.130645751953125 121.9128570556640625 119.496063232421875 119.819091796875 116.29970550537109375 102.30931854248046875 107.7853851318359375 114.27394866943359375 116.924285888671875 116.686920166015625 12 [...]
+ 106.34334564208984375 114.30757904052734375 116.10546112060546875 117.9226531982421875 115.27126312255859375 115.16249847412109375 113.01151275634765625 101.80443572998046875 101.80443572998046875 101.85050201416015625 108.90943145751953125 114.99724578857421875 120.1730804443359375 122.93473052978515625 119.408477783203125 117.51563262939453125 117.07216644287109375 116.67718505859375 103.693084716796875 103.90924072265625 106.2334747314453125 108.663848876953125 119.75966644287109375  [...]
+ 108.428924560546875 112.8332366943359375 113.2501220703125 113.885772705078125 110.95215606689453125 110.06158447265625 107.200592041015625 102.584014892578125 101.77223968505859375 101.773956298828125 108.72592926025390625 114.47226715087890625 119.4448089599609375 121.413665771484375 120.51006317138671875 114.20824432373046875 112.34686279296875 114.20220184326171875 99.02361297607421875 105.7442474365234375 114.51845550537109375 119.59236907958984375 120.93042755126953125 120.2899627 [...]
+ 105.99932861328125 110.58469390869140625 107.533050537109375 109.4827117919921875 108.75981903076171875 108.68658447265625 106.238861083984375 104.6750946044921875 101.7900390625 101.78290557861328125 103.58563995361328125 111.7682647705078125 114.27523040771484375 115.8413238525390625 115.27005767822265625 108.66165924072265625 108.69342803955078125 109.8182220458984375 97.834716796875 106.5946502685546875 113.61948394775390625 117.73113250732421875 116.6786651611328125 116.48154449462 [...]
+ 100.4468994140625 99.7443695068359375 102.37100982666015625 104.1125335693359375 102.47925567626953125 103.43689727783203125 106.63278961181640625 99.7772369384765625 99.75022125244140625 99.76982879638671875 105.180206298828125 110.906402587890625 110.46620941162109375 110.1348876953125 107.54878997802734375 105.5117034912109375 106.300537109375 102.46518707275390625 97.56600189208984375 103.07042694091796875 109.20922088623046875 111.01880645751953125 111.8428497314453125 118.72497558 [...]
+ 95.83142852783203125 96.41802215576171875 97.11409759521484375 98.377044677734375 99.23792266845703125 100.45145416259765625 100.9786834716796875 103.53655242919921875 99.30220794677734375 99.45989227294921875 104.26523590087890625 107.3625030517578125 105.98925018310546875 104.018951416015625 107.6670989990234375 104.9168701171875 102.87541961669921875 102.75293731689453125 96.27727508544921875 98.84777069091796875 103.90984344482421875 112.50116729736328125 116.5254669189453125 116.70 [...]
+ 95.830078125 95.75226593017578125 95.37371063232421875 96.36122894287109375 96.83536529541015625 98.26573944091796875 98.2171783447265625 99.52927398681640625 95.10182952880859375 95.98036956787109375 100.3425140380859375 104.10614013671875 104.42391204833984375 101.42719268798828125 103.14910125732421875 103.99745941162109375 100.7295684814453125 100.6796417236328125 96.21083831787109375 99.86714935302734375 107.76436614990234375 111.50372314453125 113.89675140380859375 114.63330078125 [...]
+ 95.49999237060546875 95.785491943359375 95.59201812744140625 95.11251068115234375 94.69126129150390625 95.032867431640625 97.25428009033203125 97.5050811767578125 95.72426605224609375 95.0631866455078125 98.52449798583984375 102.4396209716796875 98.0775146484375 100.37636566162109375 100.966217041015625 102.34857177734375 99.1947174072265625 102.336883544921875 94.87862396240234375 100.5173187255859375 106.57495880126953125 108.376739501953125 109.74608612060546875 110.5877838134765625  [...]
+ 96.20619964599609375 96.35231781005859375 95.099517822265625 94.2712860107421875 94.73212432861328125 94.38292694091796875 95.0439453125 94.06488800048828125 96.1473541259765625 95.1239166259765625 95.63431549072265625 96.18480682373046875 95.23685455322265625 96.03469085693359375 95.7398223876953125 95.90320587158203125 97.0801544189453125 100.6519927978515625 94.06987762451171875 101.519287109375 104.4047088623046875 102.5739593505859375 106.93212890625 106.89839935302734375 106.89630 [...]
+ 114.8211822509765625 100.961273193359375 103.7197418212890625 94.86704254150390625 94.41963958740234375 94.368865966796875 93.2117919921875 95.117889404296875 94.320037841796875 94.05471038818359375 94.12625885009765625 94.569915771484375 94.73639678955078125 94.8470001220703125 94.52669525146484375 94.0880889892578125 94.426544189453125 93.3774261474609375 93.3438873291015625 99.87920379638671875 99.61824798583984375 100.110595703125 102.462921142578125 100.9293365478515625 103.2696456 [...]
+ 124.7664947509765625 110.75148773193359375 112.9425048828125 98.4692840576171875 94.31780242919921875 94.058624267578125 94.00513458251953125 93.35333251953125 92.1309967041015625 93.2491302490234375 94.4787139892578125 94.07756805419921875 94.01540374755859375 94.3256988525390625 93.74495697021484375 93.8000030517578125 92.5989990234375 93.3736724853515625 93.1732330322265625 98.4709930419921875 97.25115966796875 97.70014190673828125 97.93721771240234375 98.36241912841796875 103.438987 [...]
+ 130.082855224609375 127.66306304931640625 122.49729156494140625 122.991485595703125 118.61545562744140625 104.01709747314453125 92.6204986572265625 95.63718414306640625 93.2946624755859375 93.8089141845703125 93.375335693359375 92.1683502197265625 92.954071044921875 93.20484161376953125 94.963836669921875 93.9905548095703125 92.8085174560546875 92.18611907958984375 91.8643951416015625 91.3643646240234375 91.9477691650390625 94.1595001220703125 93.5845489501953125 96.98032379150390625 98 [...]
+ 130.053924560546875 134.5759429931640625 128.3421783447265625 118.8011932373046875 110.31671905517578125 102.30980682373046875 114.0401458740234375 118.1610260009765625 109.62512969970703125 94.1640167236328125 93.93939971923828125 91.319854736328125 92.07155609130859375 93.31491851806640625 95.90345001220703125 92.39910888671875 92.11231231689453125 91.90535736083984375 92.0383758544921875 90.6940765380859375 91.53079986572265625 91.06385040283203125 95.57920074462890625 94.48152923583 [...]
+ 127.427825927734375 133.705047607421875 127.261016845703125 119.062652587890625 103.68093109130859375 114.373291015625 109.90723419189453125 122.05023956298828125 112.49225616455078125 95.31560516357421875 94.1725311279296875 94.0188140869140625 92.0081634521484375 92.78934478759765625 92.934173583984375 92.65465545654296875 92.73059844970703125 91.10010528564453125 90.938262939453125 90.8342742919921875 90.6107025146484375 91.1977386474609375 91.3816070556640625 92.4686737060546875 93. [...]
+ 132.8655548095703125 130.9565887451171875 118.54593658447265625 110.874359130859375 116.2519073486328125 111.4656219482421875 121.05921173095703125 119.64870452880859375 110.35756683349609375 97.12010955810546875 98.4033355712890625 98.54842376708984375 110.67926788330078125 120.529266357421875 100.82309722900390625 94.52368927001953125 92.432769775390625 92.32635498046875 91.67084503173828125 92.1326751708984375 91.9688720703125 91.60781097412109375 91.36891937255859375 90.501098632812 [...]
+ 136.3496856689453125 129.178955078125 127.26792144775390625 127.5651702880859375 125.37686920166015625 113.463531494140625 119.7427215576171875 107.1798095703125 99.95391845703125 100.2819976806640625 112.3659515380859375 119.25054931640625 117.77275848388671875 123.27259063720703125 116.35211944580078125 123.99761962890625 106.94719696044921875 100.4630584716796875 94.739166259765625 93.64659881591796875 92.69141387939453125 91.4253997802734375 90.9349822998046875 90.7165069580078125 9 [...]
+ 135.0903472900390625 132.8905792236328125 134.312774658203125 130.4919281005859375 125.07225799560546875 122.21276092529296875 109.380828857421875 105.2165069580078125 113.8462371826171875 106.3072052001953125 112.44394683837890625 119.82448577880859375 128.5341949462890625 130.275360107421875 130.849334716796875 125.887298583984375 119.1988525390625 112.563201904296875 99.41729736328125 95.206298828125 93.35619354248046875 91.90765380859375 91.28668975830078125 90.89144134521484375 89. [...]
+ 135.4486846923828125 138.5984344482421875 131.2178802490234375 122.59809112548828125 119.07112884521484375 114.97231292724609375 118.18675994873046875 120.9064483642578125 124.0373382568359375 120.4480438232421875 105.21114349365234375 122.40833282470703125 128.9736175537109375 133.20013427734375 119.2871246337890625 107.78839874267578125 104.93846893310546875 101.877593994140625 99.127593994140625 99.00395965576171875 94.95526123046875 93.417022705078125 93.06539154052734375 92.8105087 [...]
+ 142.2846527099609375 143.1173248291015625 137.873382568359375 135.4098358154296875 127.7597808837890625 127.07933807373046875 117.64176177978515625 128.8155059814453125 127.47894287109375 115.9442901611328125 117.9736785888671875 116.4744110107421875 122.4976043701171875 132.619171142578125 128.1742095947265625 122.2711639404296875 115.59618377685546875 105.37705230712890625 117.41008758544921875 114.0988311767578125 96.8059234619140625 104.7799224853515625 111.01491546630859375 106.571 [...]
+ 141.7007598876953125 139.113739013671875 140.18450927734375 138.6341705322265625 134.0517578125 126.49054718017578125 123.93308258056640625 131.8383941650390625 123.95528411865234375 128.7540740966796875 127.16454315185546875 119.5765228271484375 124.2299041748046875 133.441680908203125 133.915802001953125 129.2591552734375 110.40618133544921875 119.783905029296875 119.66004180908203125 108.61602020263671875 98.47615814208984375 106.95369720458984375 118.15787506103515625 117.3522796630 [...]
+ 138.292572021484375 135.7084197998046875 138.60162353515625 134.8694610595703125 134.8898773193359375 132.0336456298828125 128.2016448974609375 135.2054443359375 135.6006927490234375 130.3778533935546875 124.47873687744140625 120.9388580322265625 128.9225616455078125 133.19183349609375 120.44561767578125 112.84929656982421875 120.7156219482421875 125.93665313720703125 117.461944580078125 102.22670745849609375 108.73688507080078125 113.5483551025390625 120.3365478515625 122.9998931884765 [...]
+ 135.08184814453125 133.700469970703125 138.0734405517578125 134.356781005859375 131.5060577392578125 132.33624267578125 128.152099609375 132.9718475341796875 135.484039306640625 136.0474090576171875 127.71910858154296875 133.4351959228515625 133.96173095703125 127.28572845458984375 119.2523345947265625 122.010955810546875 128.8910675048828125 113.7027587890625 111.0125579833984375 112.9824981689453125 120.8594207763671875 107.13330841064453125 120.18996429443359375 115.02227783203125 10 [...]
+ 129.1093292236328125 133.54052734375 137.3831024169921875 135.9885101318359375 131.89752197265625 129.91510009765625 129.21240234375 130.3203125 132.1102294921875 136.9936370849609375 136.798797607421875 137.4790496826171875 131.3461761474609375 121.45069122314453125 126.33789825439453125 125.22722625732421875 129.3465728759765625 126.43381500244140625 127.77138519287109375 116.62674713134765625 124.94484710693359375 111.323089599609375 122.26926422119140625 117.47858428955078125 123.65 [...]
+ 126.747650146484375 129.697662353515625 133.9808807373046875 132.3709869384765625 132.000640869140625 125.51090240478515625 125.1482391357421875 127.0964202880859375 130.1639251708984375 135.3621673583984375 134.02191162109375 134.1331024169921875 127.01030731201171875 132.783782958984375 136.737701416015625 135.0514678955078125 128.5502777099609375 133.1349334716796875 133.8657073974609375 123.17804718017578125 128.0096893310546875 116.4965362548828125 127.0688018798828125 127.00376129 [...]
+ 123.9901580810546875 124.8658599853515625 130.621185302734375 127.427581787109375 128.3437347412109375 128.856536865234375 123.84780120849609375 127.51166534423828125 131.3812103271484375 134.9035186767578125 132.398590087890625 130.866729736328125 129.93017578125 134.386993408203125 137.236328125 138.0766143798828125 134.7462921142578125 133.2103118896484375 133.1620025634765625 134.092071533203125 128.098114013671875 125.3753509521484375 129.958892822265625 128.8845977783203125 129.09 [...]
+ 121.19516754150390625 124.815093994140625 124.1371002197265625 124.603851318359375 128.7196197509765625 127.37702178955078125 121.49185943603515625 125.50119781494140625 131.7843170166015625 132.78399658203125 131.6146697998046875 126.7636871337890625 129.808746337890625 133.6927947998046875 136.026641845703125 137.161529541015625 134.792236328125 130.1536712646484375 128.2659454345703125 130.8152313232421875 132.133087158203125 130.6614227294921875 131.0341796875 126.07752227783203125  [...]
+ 119.907867431640625 119.30477142333984375 122.455810546875 126.24451446533203125 127.86762237548828125 122.20783233642578125 121.27455902099609375 128.519317626953125 131.2655792236328125 130.768463134765625 130.204254150390625 128.0130157470703125 125.29979705810546875 130.467193603515625 133.555694580078125 135.748291015625 132.9239959716796875 130.2368316650390625 126.5995635986328125 126.58824920654296875 130.434478759765625 131.843597412109375 128.249969482421875 124.67304992675781 [...]
+ 117.11313629150390625 114.64786529541015625 116.67401885986328125 120.44527435302734375 124.1228485107421875 119.2142486572265625 122.7993927001953125 127.43331146240234375 128.630645751953125 127.4747467041015625 126.3480377197265625 125.87067413330078125 123.02435302734375 128.4407196044921875 130.2665252685546875 132.328369140625 128.6322174072265625 125.98571014404296875 128.0974578857421875 123.16025543212890625 126.82045745849609375 129.20623779296875 128.6621551513671875 123.5558 [...]
+ 113.90717315673828125 114.32897186279296875 113.59139251708984375 115.82413482666015625 120.08042144775390625 116.45772552490234375 123.382781982421875 124.26682281494140625 125.19435882568359375 124.722686767578125 119.64311981201171875 122.169647216796875 121.06292724609375 125.4200439453125 127.4530487060546875 128.0616302490234375 126.959197998046875 123.2416229248046875 126.24725341796875 120.92108917236328125 121.54962158203125 123.98065948486328125 123.0251007080078125 121.610488 [...]
+ 125.58208465576171875 121.5009613037109375 111.7002716064453125 113.73860931396484375 117.0418701171875 114.64380645751953125 119.7098236083984375 118.9643707275390625 121.00576019287109375 117.6677093505859375 117.5770416259765625 121.27596282958984375 118.297271728515625 124.0821380615234375 125.8860321044921875 126.20842742919921875 125.246917724609375 121.45714569091796875 124.06827545166015625 117.83425140380859375 121.67014312744140625 123.6045684814453125 118.86734771728515625 11 [...]
+ 129.86334228515625 124.85401153564453125 111.96384429931640625 112.10657501220703125 113.8038787841796875 113.566650390625 116.31093597412109375 117.915679931640625 118.88426971435546875 116.46596527099609375 116.28365325927734375 116.1857452392578125 118.157745361328125 123.4911041259765625 121.921356201171875 123.0009613037109375 122.87652587890625 122.29657745361328125 121.72015380859375 116.74022674560546875 118.00522613525390625 122.7902374267578125 118.96912384033203125 118.386100 [...]
+ 130.9158782958984375 122.389312744140625 125.48952484130859375 110.8942413330078125 111.15216827392578125 112.98644256591796875 113.70012664794921875 117.2760162353515625 116.60050201416015625 115.25710296630859375 114.2274322509765625 113.6458892822265625 120.28382110595703125 122.0091094970703125 116.0455474853515625 119.43529510498046875 118.73302459716796875 121.85646820068359375 122.14553070068359375 119.4975738525390625 114.1049652099609375 116.69140625 115.58150482177734375 119.5 [...]
+ 132.519744873046875 131.54656982421875 128.7081451416015625 120.54825592041015625 110.22840118408203125 110.853759765625 111.34694671630859375 112.180267333984375 113.52492523193359375 116.60628509521484375 111.13196563720703125 112.615509033203125 117.5226593017578125 119.59712982177734375 113.712615966796875 116.1976776123046875 116.6925811767578125 119.44278717041015625 118.32802581787109375 118.76755523681640625 114.010284423828125 111.7158966064453125 113.20784759521484375 118.1183 [...]
+ 135.4275054931640625 137.8513031005859375 131.5162506103515625 128.8143463134765625 118.3727874755859375 109.47875213623046875 109.0540008544921875 108.6451873779296875 109.628509521484375 109.09365081787109375 108.701385498046875 111.276153564453125 111.82935333251953125 113.41704559326171875 112.1881103515625 113.3990478515625 114.87784576416015625 115.94086456298828125 112.46402740478515625 115.16851806640625 114.99256134033203125 111.3877716064453125 113.41741943359375 116.665115356 [...]
+ 137.083465576171875 134.6613616943359375 127.70966339111328125 119.7054901123046875 117.85860443115234375 109.99111175537109375 108.82796478271484375 108.23867034912109375 106.78859710693359375 107.13555908203125 106.967926025390625 106.98674774169921875 107.89719390869140625 111.19541168212890625 110.83708953857421875 111.25200653076171875 112.2169952392578125 112.51930999755859375 110.231719970703125 113.2361907958984375 112.49317169189453125 109.7885894775390625 108.68183135986328125 [...]
+ 138.904327392578125 138.935302734375 127.96826171875 115.95351409912109375 116.210174560546875 117.9048309326171875 111.57218170166015625 123.59746551513671875 121.11022186279296875 108.63411712646484375 106.40859222412109375 106.31861114501953125 106.1583099365234375 107.98523712158203125 109.720458984375 110.14806365966796875 110.79217529296875 110.60503387451171875 109.0517425537109375 109.64232635498046875 111.0879974365234375 111.45777130126953125 106.60890960693359375 108.95876312 [...]
+ 136.0551910400390625 129.0155792236328125 121.04308319091796875 128.0679473876953125 120.9245147705078125 125.34328460693359375 114.3264312744140625 129.17449951171875 123.8509063720703125 115.959259033203125 124.88286590576171875 117.97985076904296875 105.92295074462890625 105.220611572265625 106.70733642578125 106.6483154296875 108.652435302734375 108.16620635986328125 107.72351837158203125 107.54540252685546875 109.2845611572265625 109.04067230224609375 105.186492919921875 106.197494 [...]
+ 137.1124114990234375 130.2045440673828125 134.0711212158203125 125.452392578125 127.893707275390625 131.119537353515625 118.66658782958984375 129.9435577392578125 121.0579376220703125 119.94029998779296875 129.0186004638671875 119.145355224609375 117.21829986572265625 108.37624359130859375 104.58353424072265625 104.67620086669921875 105.02779388427734375 104.84456634521484375 105.5430145263671875 104.7290802001953125 106.8326568603515625 105.865814208984375 104.75302886962890625 103.862 [...]
+ 140.775787353515625 142.2751617431640625 139.2060699462890625 134.1814727783203125 134.92333984375 134.2548828125 120.071380615234375 132.1829071044921875 132.9547882080078125 126.31000518798828125 132.5486297607421875 125.450958251953125 123.55938720703125 125.7476806640625 110.0767669677734375 103.96714019775390625 103.51190948486328125 103.13817596435546875 103.071624755859375 102.33776092529296875 102.8082427978515625 103.4810028076171875 103.91571044921875 101.5659942626953125 101. [...]
+ 144.1992340087890625 144.1640472412109375 140.77789306640625 132.2435302734375 132.345703125 127.22296905517578125 125.87320709228515625 131.7558441162109375 131.5599822998046875 128.7175445556640625 131.4659423828125 126.84764862060546875 126.11846923828125 125.71488189697265625 122.281829833984375 120.60507965087890625 120.32421112060546875 102.596710205078125 101.76038360595703125 101.02490997314453125 100.2274932861328125 100.45124053955078125 100.20529937744140625 100.4767761230468 [...]
+ 140.9576568603515625 140.9232177734375 141.47900390625 137.4042510986328125 139.0755462646484375 139.429595947265625 133.3107452392578125 131.7722930908203125 126.32305145263671875 125.99939727783203125 120.22011566162109375 117.895111083984375 116.7205963134765625 114.52776336669921875 115.60236358642578125 111.90219879150390625 108.0675811767578125 105.75199127197265625 103.822113037109375 104.99285125732421875 102.71282958984375 101.67315673828125 100.5455169677734375 99.984870910644 [...]
+ 137.026580810546875 135.5069122314453125 136.110198974609375 138.8521728515625 141.011383056640625 141.717010498046875 137.6267547607421875 130.704986572265625 129.097198486328125 128.942901611328125 128.101409912109375 127.8238067626953125 127.339080810546875 127.6819305419921875 120.0684051513671875 127.27463531494140625 120.37653350830078125 120.607391357421875 107.25165557861328125 116.0498809814453125 111.54998779296875 104.24134063720703125 102.2566375732421875 102.530105590820312 [...]
+ 134.6531219482421875 129.3896331787109375 133.4991912841796875 138.04510498046875 138.2426910400390625 138.540740966796875 136.86614990234375 131.2526397705078125 135.547454833984375 136.6641998291015625 132.7601165771484375 130.589263916015625 132.9482879638671875 131.305999755859375 129.4203033447265625 133.770660400390625 128.749847412109375 119.08617401123046875 120.677215576171875 114.3908843994140625 119.58191680908203125 106.85541534423828125 117.31812286376953125 114.49531555175 [...]
+ 128.5970001220703125 123.386444091796875 128.3559722900390625 131.6408233642578125 133.7724761962890625 138.0798797607421875 139.017181396484375 136.4813232421875 137.1886138916015625 142.058685302734375 135.603118896484375 132.7125701904296875 136.9993438720703125 134.647674560546875 128.263397216796875 135.3497314453125 127.12064361572265625 118.8497314453125 125.926910400390625 126.4792938232421875 123.295135498046875 110.66751861572265625 120.37255096435546875 125.57366943359375 123 [...]
+ 120.82723236083984375 126.482330322265625 131.3605194091796875 134.7197113037109375 138.593994140625 141.036590576171875 141.2475128173828125 140.739044189453125 140.6124420166015625 141.84393310546875 138.6820526123046875 137.065155029296875 138.5654144287109375 136.952972412109375 136.204742431640625 136.879730224609375 128.197052001953125 128.56793212890625 128.249908447265625 132.109405517578125 122.9207000732421875 110.61820220947265625 123.985076904296875 126.3574981689453125 116. [...]
+ 121.1121826171875 129.046417236328125 131.914306640625 134.081878662109375 136.263671875 139.7578887939453125 137.2089080810546875 136.430816650390625 139.3782806396484375 139.1170654296875 135.8148345947265625 133.0280609130859375 134.236297607421875 139.849609375 138.617645263671875 130.45074462890625 126.76595306396484375 131.56329345703125 130.9305419921875 133.2145538330078125 125.1385040283203125 113.27347564697265625 125.85848236083984375 122.26827239990234375 116.788719177246093 [...]
+ 126.81766510009765625 127.80682373046875 129.9361114501953125 134.3807525634765625 136.4519500732421875 136.017364501953125 132.688568115234375 134.0315704345703125 140.3663330078125 138.4269866943359375 132.68994140625 135.3219146728515625 132.7650604248046875 137.6019744873046875 139.65234375 138.83154296875 133.2760467529296875 137.51904296875 136.703948974609375 136.6067657470703125 130.1389923095703125 116.23822021484375 123.8232574462890625 118.72121429443359375 122.98603057861328 [...]
+ 127.53765869140625 131.9288787841796875 133.655670166015625 133.8411865234375 130.9111785888671875 126.9639129638671875 132.0006103515625 133.1673126220703125 137.008026123046875 140.646697998046875 137.7298736572265625 132.3323822021484375 131.7333831787109375 136.7805023193359375 139.9254608154296875 141.5179443359375 135.16748046875 132.959381103515625 129.874542236328125 127.59461212158203125 118.7603607177734375 124.40563201904296875 123.68076324462890625 125.11180877685546875 126. [...]
diff --git a/raster/r.in.gdal/testsuite/data/elevation.nc b/raster/r.in.gdal/testsuite/data/elevation.nc
new file mode 100644
index 0000000..e114a6b
Binary files /dev/null and b/raster/r.in.gdal/testsuite/data/elevation.nc differ
diff --git a/raster/r.in.gdal/testsuite/data/elevation.prj b/raster/r.in.gdal/testsuite/data/elevation.prj
new file mode 100644
index 0000000..ab52af4
--- /dev/null
+++ b/raster/r.in.gdal/testsuite/data/elevation.prj
@@ -0,0 +1 @@
+PROJCS["Lambert_Conformal_Conic",GEOGCS["GCS_grs80",DATUM["D_North_American_1983",SPHEROID["Geodetic_Reference_System_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["standard_parallel_1",36.16666666666666],PARAMETER["standard_parallel_2",34.33333333333334],PARAMETER["latitude_of_origin",33.75],PARAMETER["central_meridian",-79],PARAMETER["false_easting",609601.22],PARAMETER["false_northing",0],UNIT[" [...]
\ No newline at end of file
diff --git a/raster/r.in.gdal/testsuite/data/elevation.tif b/raster/r.in.gdal/testsuite/data/elevation.tif
new file mode 100644
index 0000000..03ed8f4
Binary files /dev/null and b/raster/r.in.gdal/testsuite/data/elevation.tif differ
diff --git a/raster/r.in.gdal/testsuite/data/elevation.tiff b/raster/r.in.gdal/testsuite/data/elevation.tiff
new file mode 100644
index 0000000..03ed8f4
Binary files /dev/null and b/raster/r.in.gdal/testsuite/data/elevation.tiff differ
diff --git a/raster/r.in.gdal/testsuite/data/elevation3d.nc b/raster/r.in.gdal/testsuite/data/elevation3d.nc
new file mode 100644
index 0000000..64371e2
Binary files /dev/null and b/raster/r.in.gdal/testsuite/data/elevation3d.nc differ
diff --git a/raster/r.in.gdal/testsuite/data/generate_data.sh b/raster/r.in.gdal/testsuite/data/generate_data.sh
new file mode 100755
index 0000000..fb0307c
--- /dev/null
+++ b/raster/r.in.gdal/testsuite/data/generate_data.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# This script requires the graass7 North Caroline location
+
+export GRASS_OVERWRITE=1
+
+# 2D output
+g.region rast=elevation -p
+g.region res=100 -p
+
+r.out.gdal in=elevation out=elevation.tif format=GTiff
+r.out.gdal in=elevation out=elevation.tiff format=GTiff
+r.out.gdal in=elevation out=elevation.asc format=AAIGrid
+r.out.gdal in=elevation out=elevation.nc format=netCDF
+
+# 3D output
+g.region b=0 t=5 res3=100 tbres=1 -p3
+
+r.to.rast3 input=elevation output=elevation3d
+r3.out.netcdf input=elevation3d out=elevation3d.nc
+
diff --git a/raster/r.in.gdal/testsuite/test_r_in_gdal.py b/raster/r.in.gdal/testsuite/test_r_in_gdal.py
new file mode 100644
index 0000000..44f6f23
--- /dev/null
+++ b/raster/r.in.gdal/testsuite/test_r_in_gdal.py
@@ -0,0 +1,291 @@
+"""Test of r.in.gdal
+
+ at author Soeren Gebbert
+"""
+from grass.gunittest.case import TestCase
+
+class TestGdalImport(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Use temporary region settings"""
+        cls.use_temp_region()
+
+    @classmethod
+    def tearDownClass(cls):
+        """!Remove the temporary region
+        """
+        cls.del_temp_region()
+
+    def tearDown(self):
+        self.runModule("g.remove", type="raster", flags="f",
+                       pattern="test_gdal_import_map*")
+
+
+    def test_1(self):
+
+        self.assertModule("r.in.gdal", "Import GTiff Format",
+                          input="data/elevation.tif",
+                          output="test_gdal_import_map")
+
+        self.runModule("g.region", raster="test_gdal_import_map")
+
+        # Output of r.univar
+        univar_string="""n=20250
+                         null_cells=0
+                         cells=20250
+                         min=56.1364936828613
+                         max=156.221710205078
+                         range=100.085216522217
+                         mean=110.358078733845
+                         mean_of_abs=110.358078733845
+                         stddev=20.3247267738233
+                         variance=413.09451843057
+                         coeff_var=18.4170719597623
+                         sum=2234751.09436035"""
+
+        self.assertRasterFitsUnivar(raster="test_gdal_import_map",  reference=univar_string,
+                                    precision=3)
+
+    def test_2(self):
+
+        self.assertModule("r.in.gdal", "Import GTiff Format",
+                          input="data/elevation.tiff",
+                          output="test_gdal_import_map")
+
+        self.runModule("g.region", raster="test_gdal_import_map")
+
+        # Output of r.univar
+        univar_string="""n=20250
+                         null_cells=0
+                         cells=20250
+                         min=56.1364936828613
+                         max=156.221710205078
+                         range=100.085216522217
+                         mean=110.358078733845
+                         mean_of_abs=110.358078733845
+                         stddev=20.3247267738233
+                         variance=413.09451843057
+                         coeff_var=18.4170719597623
+                         sum=2234751.09436035"""
+
+        self.assertRasterFitsUnivar(raster="test_gdal_import_map",  reference=univar_string,
+                                    precision=3)
+
+    def test_3(self):
+
+        self.assertModule("r.in.gdal", "Import AAIGrid Format",
+                          input="data/elevation.asc",
+                          output="test_gdal_import_map")
+
+        self.runModule("g.region", raster="test_gdal_import_map")
+
+        # Output of r.univar
+        univar_string="""n=20250
+                         null_cells=0
+                         cells=20250
+                         min=56.1364936828613
+                         max=156.221710205078
+                         range=100.085216522217
+                         mean=110.358078733845
+                         mean_of_abs=110.358078733845
+                         stddev=20.3247267738233
+                         variance=413.09451843057
+                         coeff_var=18.4170719597623
+                         sum=2234751.09436035"""
+
+        self.assertRasterFitsUnivar(raster="test_gdal_import_map",  reference=univar_string,
+                                    precision=3)
+
+    def test_4(self):
+
+        self.assertModule("r.in.gdal", "Import netCDF Format",
+                          input="data/elevation.nc",
+                          output="test_gdal_import_map")
+
+        self.runModule("g.region", raster="test_gdal_import_map")
+
+        # Output of r.univar
+        univar_string="""n=20250
+                         null_cells=0
+                         cells=20250
+                         min=56.1364936828613
+                         max=156.221710205078
+                         range=100.085216522217
+                         mean=110.358078733845
+                         mean_of_abs=110.358078733845
+                         stddev=20.3247267738233
+                         variance=413.09451843057
+                         coeff_var=18.4170719597623
+                         sum=2234751.09436035"""
+
+        self.assertRasterFitsUnivar(raster="test_gdal_import_map",  reference=univar_string,
+                                    precision=3)
+
+    def test_netCDF_3d_1(self):
+
+        self.assertModule("r.in.gdal", "Import netCDF Format",
+                          input="data/elevation3d.nc",
+                          num_digits="3",
+                          flags="o",
+                          output="test_gdal_import_map")
+
+        # Output of r.info
+        info_string="""north=228500
+                       south=215000
+                       east=644640
+                       west=629640
+                       nsres=100
+                       ewres=100
+                       rows=135
+                       cols=150
+                       cells=20250
+                       datatype=FCELL
+                       ncats=0"""
+
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.001",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.002",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.003",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.004",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.005",  reference=info_string,
+                                    precision=3)
+
+    def test_netCDF_3d_2(self):
+
+        self.assertModule("r.in.gdal", "Import netCDF Format",
+                          input="data/elevation3d.nc",
+                          num_digits=0,
+                          offset=100,
+                          flags="o",
+                          output="test_gdal_import_map")
+
+        # Output of r.info
+        info_string="""north=228500
+                       south=215000
+                       east=644640
+                       west=629640
+                       nsres=100
+                       ewres=100
+                       rows=135
+                       cols=150
+                       cells=20250
+                       datatype=FCELL
+                       ncats=0"""
+
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.101",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.102",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.103",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.104",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.105",  reference=info_string,
+                                    precision=3)
+
+    def test_netCDF_3d_3(self):
+
+        self.assertModule("r.in.gdal", "Import netCDF Format",
+                          input="data/elevation3d.nc",
+                          num_digits=5,
+                          offset=100,
+                          flags="o",
+                          output="test_gdal_import_map")
+
+        # Output of r.info
+        info_string="""north=228500
+                       south=215000
+                       east=644640
+                       west=629640
+                       nsres=100
+                       ewres=100
+                       rows=135
+                       cols=150
+                       cells=20250
+                       datatype=FCELL
+                       ncats=0"""
+
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.00101",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.00102",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.00103",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.00104",  reference=info_string,
+                                    precision=3)
+        self.assertRasterFitsInfo(raster="test_gdal_import_map.00105",  reference=info_string,
+                                    precision=3)
+
+    def test_netCDF_3d_4(self):
+
+        self.assertModule("r.in.gdal", "Import netCDF Format",
+                          input="data/elevation3d.nc",
+                          num_digits="3",
+                          flags="o",
+                          band=2,
+                          output="test_gdal_import_map")
+
+        # Output of r.info
+        info_string="""north=228500
+                       south=215000
+                       east=644640
+                       west=629640
+                       nsres=100
+                       ewres=100
+                       rows=135
+                       cols=150
+                       cells=20250
+                       datatype=FCELL
+                       ncats=0"""
+
+        self.assertRasterFitsInfo(raster="test_gdal_import_map",  reference=info_string,
+                                    precision=3)
+
+    def test_netCDF_3d_5(self):
+        """Test the output map names file option"""
+
+        self.assertModule("r.in.gdal", "Import netCDF Format",
+                          input="data/elevation3d.nc",
+                          num_digits=10,
+                          offset=100,
+                          flags="o",
+                          map_names_file="map_names_file.txt",
+                          output="test_gdal_import_map")
+
+        map_list="""test_gdal_import_map.0000000101
+test_gdal_import_map.0000000102
+test_gdal_import_map.0000000103
+test_gdal_import_map.0000000104
+test_gdal_import_map.0000000105
+"""
+
+        text_from_file = open("map_names_file.txt", "r").read()
+
+        self.assertLooksLike(map_list, text_from_file)
+
+
+class TestGdalImportFails(TestCase):
+
+    def test_error_handling_1(self):
+        # Wrong number of digits
+        self.assertModuleFail("r.in.gdal",
+                              input="data/elevation.nc",
+                              num_digits="-1",
+                              output="test_gdal_import_map")
+
+    def test_error_handling_2(self):
+        # No location specified
+        self.assertModuleFail("r.in.gdal",
+                              input="data/elevation.nc",
+                              flags="c",
+                              output="test_gdal_import_map")
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
+
+
diff --git a/raster/r.in.gridatb/r.in.gridatb.html b/raster/r.in.gridatb/r.in.gridatb.html
index d95ef89..1d5dd55 100644
--- a/raster/r.in.gridatb/r.in.gridatb.html
+++ b/raster/r.in.gridatb/r.in.gridatb.html
@@ -12,4 +12,4 @@ raster map.
 
 Huidae Cho based on code from Keith Beven
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.in.lidar/Makefile b/raster/r.in.lidar/Makefile
index 0d471fd..638ba34 100644
--- a/raster/r.in.lidar/Makefile
+++ b/raster/r.in.lidar/Makefile
@@ -2,15 +2,14 @@ MODULE_TOPDIR = ../..
 
 PGM = r.in.lidar
 
-LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(GPROJLIB) $(LASLIBS)
-DEPENDENCIES = $(RASTERDEP) $(GISDEP)
+LIBES = $(RASTERLIB) $(GISLIB) $(MATHLIB) $(GPROJLIB) $(LASLIBS) $(SEGMENTLIB) $(VECTORLIB)
+DEPENDENCIES = $(RASTERDEP) $(GISDEP) $(SEGMENTDEP) $(VECTORDEP)
 
-EXTRA_INC = $(PROJINC) $(LASINC)
-EXTRA_CFLAGS = $(GDALCFLAGS)
+EXTRA_INC = $(LASINC) $(VECT_INC) $(PROJINC)
+EXTRA_CFLAGS = $(VECT_CFLAGS) $(GDALCFLAGS)
 
 include $(MODULE_TOPDIR)/include/Make/Module.make
 
 ifneq ($(USE_LIBLAS),)
 default: cmd
 endif
-
diff --git a/raster/r.in.lidar/filters.c b/raster/r.in.lidar/filters.c
new file mode 100644
index 0000000..a5551e0
--- /dev/null
+++ b/raster/r.in.lidar/filters.c
@@ -0,0 +1,70 @@
+/*
+ * r.in.lidar filtering functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to a separate files)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+
+#include "local_proto.h"
+#include "filters.h"
+
+#include <stdlib.h>
+#include <grass/gis.h>
+
+int return_filter_is_out(struct ReturnFilter *return_filter, int return_n,
+                         int n_returns)
+{
+    if (return_filter->filter == LAS_ALL)
+        return FALSE;
+    int skipme = 1;
+
+    switch (return_filter->filter) {
+    case LAS_FIRST:
+        if (return_n == 1)
+            skipme = 0;
+        break;
+    case LAS_MID:
+        if (return_n > 1 && return_n < n_returns)
+            skipme = 0;
+        break;
+    case LAS_LAST:
+        if (n_returns > 1 && return_n == n_returns)
+            skipme = 0;
+        break;
+    }
+    if (skipme)
+        return TRUE;
+    return FALSE;
+}
+
+void class_filter_create_from_strings(struct ClassFilter *class_filter,
+                                      char **classes)
+{
+    class_filter->str_classes = classes;
+}
+
+int class_filter_is_out(struct ClassFilter *class_filter, int class_n)
+{
+    if (!class_filter->str_classes)
+        return FALSE;
+    int i = 0;
+    int skipme = TRUE;
+
+    while (class_filter->str_classes[i]) {
+        if (class_n == atoi(class_filter->str_classes[i])) {
+            skipme = FALSE;
+            break;
+        }
+        i++;
+    }
+    if (skipme)
+        return TRUE;
+    return FALSE;
+}
diff --git a/raster/r.in.lidar/filters.h b/raster/r.in.lidar/filters.h
new file mode 100644
index 0000000..5848db6
--- /dev/null
+++ b/raster/r.in.lidar/filters.h
@@ -0,0 +1,35 @@
+/*
+ * r.in.lidar filtering functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to a separate files)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#ifndef __FILTERS_H__
+#define __FILTERS_H__
+
+struct ReturnFilter
+{
+    int filter;
+};
+
+struct ClassFilter
+{
+
+    /** NULL terminated list of class numbers represented as string */
+    char **str_classes;
+};
+
+int return_filter_is_out(struct ReturnFilter *return_filter, int return_n,
+                         int n_returns);
+void class_filter_create_from_strings(struct ClassFilter *class_filter,
+                                      char **classes);
+int class_filter_is_out(struct ClassFilter *class_filter, int class_n);
+
+#endif /* __FILTERS_H__ */
diff --git a/raster/r.in.lidar/info.c b/raster/r.in.lidar/info.c
new file mode 100644
index 0000000..8711970
--- /dev/null
+++ b/raster/r.in.lidar/info.c
@@ -0,0 +1,182 @@
+/*
+ * r.in.lidar projection-related functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move functions to a file)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#include <string.h>
+
+#include <grass/glocale.h>
+
+#include <liblas/capi/liblas.h>
+
+#include "local_proto.h"
+
+
+void print_lasinfo(LASHeaderH LAS_header, LASSRSH LAS_srs)
+{
+    char *las_srs_proj4 = LASSRS_GetProj4(LAS_srs);
+    int las_point_format = LASHeader_GetDataFormatId(LAS_header);
+
+    fprintf(stdout, "\nUsing LAS Library Version '%s'\n\n",
+            LAS_GetFullVersion());
+    fprintf(stdout, "LAS File Version:                  %d.%d\n",
+            LASHeader_GetVersionMajor(LAS_header),
+            LASHeader_GetVersionMinor(LAS_header));
+    fprintf(stdout, "System ID:                         '%s'\n",
+            LASHeader_GetSystemId(LAS_header));
+    fprintf(stdout, "Generating Software:               '%s'\n",
+            LASHeader_GetSoftwareId(LAS_header));
+    fprintf(stdout, "File Creation Day/Year:            %d/%d\n",
+            LASHeader_GetCreationDOY(LAS_header),
+            LASHeader_GetCreationYear(LAS_header));
+    fprintf(stdout, "Point Data Format:                 %d\n",
+            las_point_format);
+    fprintf(stdout, "Number of Point Records:           %d\n",
+            LASHeader_GetPointRecordsCount(LAS_header));
+    fprintf(stdout, "Number of Points by Return:        %d %d %d %d %d\n",
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 0),
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 1),
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 2),
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 3),
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 4));
+    fprintf(stdout, "Scale Factor X Y Z:                %g %g %g\n",
+            LASHeader_GetScaleX(LAS_header),
+            LASHeader_GetScaleY(LAS_header), LASHeader_GetScaleZ(LAS_header));
+    fprintf(stdout, "Offset X Y Z:                      %g %g %g\n",
+            LASHeader_GetOffsetX(LAS_header),
+            LASHeader_GetOffsetY(LAS_header),
+            LASHeader_GetOffsetZ(LAS_header));
+    fprintf(stdout, "Min X Y Z:                         %g %g %g\n",
+            LASHeader_GetMinX(LAS_header),
+            LASHeader_GetMinY(LAS_header), LASHeader_GetMinZ(LAS_header));
+    fprintf(stdout, "Max X Y Z:                         %g %g %g\n",
+            LASHeader_GetMaxX(LAS_header),
+            LASHeader_GetMaxY(LAS_header), LASHeader_GetMaxZ(LAS_header));
+    if (las_srs_proj4 && strlen(las_srs_proj4) > 0) {
+        fprintf(stdout, "Spatial Reference:\n");
+        fprintf(stdout, "%s\n", las_srs_proj4);
+    }
+    else {
+        fprintf(stdout, "Spatial Reference:                 None\n");
+    }
+
+    fprintf(stdout, "\nData Fields:\n");
+    fprintf(stdout,
+            "  'X'\n  'Y'\n  'Z'\n  'Intensity'\n  'Return Number'\n");
+    fprintf(stdout, "  'Number of Returns'\n  'Scan Direction'\n");
+    fprintf(stdout,
+            "  'Flighline Edge'\n  'Classification'\n  'Scan Angle Rank'\n");
+    fprintf(stdout, "  'User Data'\n  'Point Source ID'\n");
+    if (las_point_format == 1 || las_point_format == 3 ||
+        las_point_format == 4 || las_point_format == 5) {
+        fprintf(stdout, "  'GPS Time'\n");
+    }
+    if (las_point_format == 2 || las_point_format == 3 ||
+        las_point_format == 5) {
+        fprintf(stdout, "  'Red'\n  'Green'\n  'Blue'\n");
+    }
+    fprintf(stdout, "\n");
+    fflush(stdout);
+
+    return;
+}
+
+
+int scan_bounds(LASReaderH LAS_reader, int shell_style, int extents, int update,
+                double zscale, struct Cell_head *region)
+{
+    unsigned long line;
+    int first;
+    double min_x, max_x, min_y, max_y, min_z, max_z;
+    double x, y, z;
+    LASPointH LAS_point;
+
+    line = 0;
+    first = TRUE;
+
+    /* init to nan in case no points are found */
+    min_x = max_x = min_y = max_y = min_z = max_z = 0.0 / 0.0;
+
+    G_verbose_message(_("Scanning data ..."));
+
+    LASReader_Seek(LAS_reader, 0);
+
+    while ((LAS_point = LASReader_GetNextPoint(LAS_reader)) != NULL) {
+        line++;
+
+        if (!LASPoint_IsValid(LAS_point)) {
+            continue;
+        }
+
+        x = LASPoint_GetX(LAS_point);
+        y = LASPoint_GetY(LAS_point);
+        z = LASPoint_GetZ(LAS_point);
+
+        if (first) {
+            min_x = x;
+            max_x = x;
+            min_y = y;
+            max_y = y;
+            min_z = z;
+            max_z = z;
+            first = FALSE;
+        }
+        else {
+            if (x < min_x)
+                min_x = x;
+            if (x > max_x)
+                max_x = x;
+            if (y < min_y)
+                min_y = y;
+            if (y > max_y)
+                max_y = y;
+            if (z < min_z)
+                min_z = z;
+            if (z > max_z)
+                max_z = z;
+        }
+    }
+
+    if (!extents) {
+        if (!shell_style) {
+            fprintf(stderr, _("Range:     min         max\n"));
+            fprintf(stdout, "x: %11f %11f\n", min_x, max_x);
+            fprintf(stdout, "y: %11f %11f\n", min_y, max_y);
+            fprintf(stdout, "z: %11f %11f\n", min_z * zscale, max_z * zscale);
+        }
+        else
+            fprintf(stdout, "n=%f s=%f e=%f w=%f b=%f t=%f\n",
+                    max_y, min_y, max_x, min_x, min_z * zscale,
+                    max_z * zscale);
+
+        G_debug(1, "Processed %lu points.", line);
+        G_debug(1, "region template: g.region n=%f s=%f e=%f w=%f",
+                max_y, min_y, max_x, min_x);
+    }
+    else if (update) {
+        if (min_x < region->west)
+            region->west = min_x;
+        if (max_x > region->east)
+            region->east = max_x;
+        if (min_y < region->south)
+            region->south = min_y;
+        if (max_y > region->north)
+            region->north = max_y;
+    }
+    else {
+        region->east = max_x;
+        region->west = min_x;
+        region->north = max_y;
+        region->south = min_y;
+    }
+
+    return 0;
+}
diff --git a/raster/r.in.lidar/local_proto.h b/raster/r.in.lidar/local_proto.h
index 618e362..94fc8c0 100644
--- a/raster/r.in.lidar/local_proto.h
+++ b/raster/r.in.lidar/local_proto.h
@@ -21,11 +21,13 @@
 
 
 #include <grass/gis.h>
+#include <grass/raster.h>
 #include <liblas/capi/liblas.h>
 
 
 #define BUFFSIZE 256
 
+#define METHOD_NONE        0
 #define METHOD_N           1
 #define METHOD_MIN         2
 #define METHOD_MAX         3
@@ -40,9 +42,15 @@
 #define METHOD_SKEWNESS   12
 #define METHOD_TRIMMEAN   13
 
-/* main.c */
+#define LAS_ALL 0
+#define LAS_FIRST 1
+#define LAS_LAST 2
+#define LAS_MID 3
+
+
+/* info.c */
 void print_lasinfo(LASHeaderH, LASSRSH);
-int scan_bounds(LASReaderH, int, int, double, struct Cell_head *);
+int scan_bounds(LASReaderH, int, int, int, double, struct Cell_head *);
 
 /* support.c */
 int blank_array(void *, int, int, RASTER_MAP_TYPE, int);
@@ -52,5 +60,51 @@ int update_max(void *, int, int, int, RASTER_MAP_TYPE, double);
 int update_sum(void *, int, int, int, RASTER_MAP_TYPE, double);
 int update_sumsq(void *, int, int, int, RASTER_MAP_TYPE, double);
 
+/* projection.c */
+void projection_mismatch_report(struct Cell_head cellhd,
+                                struct Cell_head loc_wind,
+                                struct Key_Value *loc_proj_info,
+                                struct Key_Value *loc_proj_units,
+                                struct Key_Value *proj_info,
+                                struct Key_Value *proj_units,
+                                int err);
+void projection_check_wkt(struct Cell_head cellhd,
+                          struct Cell_head loc_wind,
+                          const char *projstr,
+                          int override,
+                          int verbose);
+/* raster reading */
+int row_array_get_value_row_col(void *array, int arr_row, int arr_col,
+                                int cols, RASTER_MAP_TYPE rtype, double *value);
+
+/* multiple files */
+
+struct StringList
+{
+    int num_items;
+    int max_items;
+    char **items;
+};
+
+void string_list_from_file(struct StringList *string_list, char *filename);
+void string_list_from_one_item(struct StringList *string_list, char *item);
+void string_list_free(struct StringList *string_list);
+
+/* forward declarations */
+struct Map_info;
+struct line_pnts;
+struct line_cats;
+
+struct VectorWriter
+{
+    struct Map_info *info;
+    struct line_pnts *points;
+    struct line_cats *cats;
+#ifdef HAVE_LONG_LONG_INT
+    unsigned long long count;
+#else
+    unsigned long count;
+#endif
+};
 
 #endif /* __LOCAL_PROTO_H__ */
diff --git a/raster/r.in.lidar/main.c b/raster/r.in.lidar/main.c
index 390f990..cf7212b 100644
--- a/raster/r.in.lidar/main.c
+++ b/raster/r.in.lidar/main.c
@@ -1,14 +1,15 @@
-/****************************************************************************
+ /****************************************************************************
  *
  * MODULE:       r.in.Lidar
  *               
  * AUTHOR(S):    Markus Metz
+ *               Vaclav Petras (base raster addition and refactoring)
  *               Based on r.in.xyz by Hamish Bowman, Volker Wichmann
  *
  * PURPOSE:      Imports LAS LiDAR point clouds to a raster map using 
  *               aggregate statistics.
  *
- * COPYRIGHT:    (C) 2011 Markus Metz and the The GRASS Development Team
+ * COPYRIGHT:    (C) 2011-2015 Markus Metz and the The GRASS Development Team
  *
  *               This program is free software under the GNU General Public
  *               License (>=v2). Read the file COPYING that comes with GRASS
@@ -24,131 +25,65 @@
 #include <sys/types.h>
 #include <grass/gis.h>
 #include <grass/raster.h>
+#include <grass/segment.h>
 #include <grass/gprojects.h>
 #include <grass/glocale.h>
+#include <grass/vector.h>
 #include <liblas/capi/liblas.h>
-#include "local_proto.h"
-
-struct node
-{
-    int next;
-    double z;
-};
-
-#define	SIZE_INCREMENT 10
-int num_nodes = 0;
-int max_nodes = 0;
-struct node *nodes;
-
-#define LAS_ALL 0
-#define LAS_FIRST 1
-#define LAS_LAST 2
-#define LAS_MID 3
-
-int new_node(void)
-{
-    int n = num_nodes++;
-
-    if (num_nodes >= max_nodes) {
-	max_nodes += SIZE_INCREMENT;
-	nodes = G_realloc(nodes, (size_t)max_nodes * sizeof(struct node));
-    }
 
-    return n;
-}
-
-
-/* add node to sorted, single linked list 
- * returns id if head has to be saved to index array, otherwise -1 */
-int add_node(int head, double z)
-{
-    int node_id, last_id, newnode_id, head_id;
-
-    head_id = head;
-    node_id = head_id;
-    last_id = head_id;
+#include "local_proto.h"
+#include "rast_segment.h"
+#include "point_binning.h"
+#include "filters.h"
 
-    while (node_id != -1 && nodes[node_id].z < z) {
-	last_id = node_id;
-	node_id = nodes[node_id].next;
-    }
-
-    /* end of list, simply append */
-    if (node_id == -1) {
-	newnode_id = new_node();
-	nodes[newnode_id].next = -1;
-	nodes[newnode_id].z = z;
-	nodes[last_id].next = newnode_id;
-	return -1;
-    }
-    else if (node_id == head_id) {	/* pole position, insert as head */
-	newnode_id = new_node();
-	nodes[newnode_id].next = head_id;
-	head_id = newnode_id;
-	nodes[newnode_id].z = z;
-	return (head_id);
-    }
-    else {			/* somewhere in the middle, insert */
-	newnode_id = new_node();
-	nodes[newnode_id].z = z;
-	nodes[newnode_id].next = node_id;
-	nodes[last_id].next = newnode_id;
-	return -1;
-    }
-}
 
 int main(int argc, char *argv[])
 {
-    int out_fd;
+    int out_fd, base_raster;
     char *infile, *outmap;
     int percent;
-    int method = -1;
-    int bin_n, bin_min, bin_max, bin_sum, bin_sumsq, bin_index;
     double zrange_min, zrange_max, d_tmp;
     unsigned long estimated_lines;
 
-    RASTER_MAP_TYPE rtype;
+    RASTER_MAP_TYPE rtype, base_raster_data_type;
     struct History history;
     char title[64];
-    void *n_array, *min_array, *max_array, *sum_array, *sumsq_array,
-	*index_array;
-    void *raster_row, *ptr;
+    SEGMENT base_segment;
+    struct PointBinning point_binning;
+    void *base_array;
+    void *raster_row;
     struct Cell_head region;
-    int rows, cols;		/* scan box size */
-    int row, col;		/* counters */
+    struct Cell_head input_region;
+    int rows, last_rows, row0, cols;		/* scan box size */
+    int row;		/* counters */
 
     int pass, npasses;
     unsigned long line, line_total;
     unsigned int counter;
     char buff[BUFFSIZE];
     double x, y, z;
-    double pass_north, pass_south;
     int arr_row, arr_col;
     unsigned long count, count_total;
-    int skipme, i;
     int point_class;
 
-    double min = 0.0 / 0.0;	/* init as nan */
-    double max = 0.0 / 0.0;	/* init as nan */
     double zscale = 1.0;
-    size_t offset, n_offset;
-    int n = 0;
-    double sum = 0.;
-    double sumsq = 0.;
-    double variance, mean, skew, sumdev;
-    int pth = 0;
-    double trim = 0.0;
     double res = 0.0;
 
-    int j, k;
-    int head_id, node_id;
-    int r_low, r_up;
+    struct BinIndex bin_index_nodes;
+    bin_index_nodes.num_nodes = 0;
+    bin_index_nodes.max_nodes = 0;
+    bin_index_nodes.nodes = 0;
 
     struct GModule *module;
     struct Option *input_opt, *output_opt, *percent_opt, *type_opt, *filter_opt, *class_opt;
-    struct Option *method_opt, *zrange_opt, *zscale_opt;
+    struct Option *method_opt, *base_raster_opt, *zrange_opt, *zscale_opt;
     struct Option *trim_opt, *pth_opt, *res_opt;
+    struct Option *file_list_opt;
+    struct Option *voutput_opt;
     struct Flag *print_flag, *scan_flag, *shell_style, *over_flag, *extents_flag, *intens_flag;
+    struct Flag *set_region_flag;
+    struct Flag *base_rast_res_flag;
+    struct Flag *notopo_flag;
 
     /* LAS */
     LASReaderH LAS_reader;
@@ -157,8 +92,6 @@ int main(int argc, char *argv[])
     LASPointH LAS_point;
     int return_filter;
 
-    struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
-    struct Key_Value *proj_info, *proj_units;
     const char *projstr;
     struct Cell_head cellhd, loc_wind;
 
@@ -173,11 +106,30 @@ int main(int argc, char *argv[])
     module->description =
 	_("Creates a raster map from LAS LiDAR points using univariate statistics.");
 
-    input_opt = G_define_standard_option(G_OPT_F_INPUT);
+    input_opt = G_define_standard_option(G_OPT_F_BIN_INPUT);
+    input_opt->required = NO;
     input_opt->label = _("LAS input file");
     input_opt->description = _("LiDAR input files in LAS format (*.las or *.laz)");
+    input_opt->guisection = _("Input");
 
     output_opt = G_define_standard_option(G_OPT_R_OUTPUT);
+    output_opt->required = NO;
+    output_opt->guisection = _("Output");
+
+    file_list_opt = G_define_standard_option(G_OPT_F_INPUT);
+    file_list_opt->key = "file";
+    file_list_opt->label = _("File containing names of LAS input files");
+    file_list_opt->description = _("LiDAR input files in LAS format (*.las or *.laz)");
+    file_list_opt->required = NO;
+    file_list_opt->guisection = _("Input");
+
+    voutput_opt = G_define_standard_option(G_OPT_V_OUTPUT);
+    voutput_opt->key = "vector_output";
+    voutput_opt->required = NO;
+    voutput_opt->label = _("Grid-decimated point cloud");
+    voutput_opt->description = _("Grid-decimated point cloud with"
+        " XYZ coordinates which are mean for all points in a raster cell");
+    voutput_opt->guisection = _("Output");
 
     method_opt = G_define_option();
     method_opt->key = "method";
@@ -197,12 +149,20 @@ int main(int argc, char *argv[])
     type_opt->answer = "FCELL";
     type_opt->description = _("Storage type for resultant raster map");
 
+    base_raster_opt = G_define_standard_option(G_OPT_R_INPUT);
+    base_raster_opt->key = "base_raster";
+    base_raster_opt->required = NO;
+    base_raster_opt->label = _("Subtract raster values from the z coordinates");
+    base_raster_opt->description = _("The scale for z is applied beforehand, the filter afterwards");
+    base_raster_opt->guisection = _("Transform");
+
     zrange_opt = G_define_option();
     zrange_opt->key = "zrange";
     zrange_opt->type = TYPE_DOUBLE;
     zrange_opt->required = NO;
     zrange_opt->key_desc = "min,max";
     zrange_opt->description = _("Filter range for z data (min,max)");
+    zrange_opt->guisection = _("Selection");
 
     zscale_opt = G_define_option();
     zscale_opt->key = "zscale";
@@ -210,6 +170,7 @@ int main(int argc, char *argv[])
     zscale_opt->required = NO;
     zscale_opt->answer = "1.0";
     zscale_opt->description = _("Scale to apply to z data");
+    zscale_opt->guisection = _("Transform");
 
     percent_opt = G_define_option();
     percent_opt->key = "percent";
@@ -234,6 +195,7 @@ int main(int argc, char *argv[])
     trim_opt->type = TYPE_DOUBLE;
     trim_opt->required = NO;
     trim_opt->options = "0-50";
+    trim_opt->label = _("Discard given percentage of the smallest and largest values");
     trim_opt->description =
 	_("Discard <trim> percent of the smallest and <trim> percent of the largest observations");
     trim_opt->guisection = _("Statistic");
@@ -244,6 +206,7 @@ int main(int argc, char *argv[])
     res_opt->required = NO;
     res_opt->description =
 	_("Output raster resolution");
+    res_opt->guisection = _("Output");
 
     filter_opt = G_define_option();
     filter_opt->key = "return_filter";
@@ -252,6 +215,7 @@ int main(int argc, char *argv[])
     filter_opt->label = _("Only import points of selected return type");
     filter_opt->description = _("If not specified, all points are imported");
     filter_opt->options = "first,last,mid";
+    filter_opt->guisection = _("Selection");
 
     class_opt = G_define_option();
     class_opt->key = "class_filter";
@@ -261,6 +225,7 @@ int main(int argc, char *argv[])
     class_opt->label = _("Only import points of selected class(es)");
     class_opt->description = _("Input is comma separated integers. "
                                "If not specified, all points are imported.");
+    class_opt->guisection = _("Selection");
 
     print_flag = G_define_flag();
     print_flag->key = 'p';
@@ -272,11 +237,23 @@ int main(int argc, char *argv[])
     extents_flag->key = 'e';
     extents_flag->description =
 	_("Extend region extents based on new dataset");
+    extents_flag->guisection = _("Output");
+
+    set_region_flag = G_define_flag();
+    set_region_flag->key = 'n';
+    set_region_flag->label =
+        _("Set computation region to match the new raster map");
+    set_region_flag->description =
+        _("Set computation region to match the 2D extent and resolution"
+          " of the newly created new raster map");
+    set_region_flag->guisection = _("Output");
 
     over_flag = G_define_flag();
     over_flag->key = 'o';
+    over_flag->label =
+	_("Override projection check (use current location's projection)");
     over_flag->description =
-	_("Override dataset projection (use location's projection)");
+	_("Assume that the dataset has same projection as the current location");
 
     scan_flag = G_define_flag();
     scan_flag->key = 's';
@@ -293,47 +270,115 @@ int main(int argc, char *argv[])
     intens_flag->description =
         _("Import intensity values rather than z values");
 
+    base_rast_res_flag = G_define_flag();
+    base_rast_res_flag->key = 'd';
+    base_rast_res_flag->description =
+        _("Use base raster actual resolution instead of computational region");
+
+    notopo_flag = G_define_standard_flag(G_FLG_V_TOPO);
+
+    G_option_required(output_opt, voutput_opt, NULL);
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
+    /* we could use rules but this gives more info and allows continuing */
+    if (set_region_flag->answer && !(extents_flag->answer || res_opt->answer)) {
+        G_warning(_("Flag %c makes sense only with %s option or -%c flag"),
+                  set_region_flag->key, res_opt->key, extents_flag->key);
+        /* avoid the call later on */
+        set_region_flag->answer = '\0';
+    }
+
+    struct StringList infiles;
+
+    if (file_list_opt->answer) {
+        if (access(file_list_opt->answer, F_OK) != 0)
+            G_fatal_error(_("File <%s> does not exist"), file_list_opt->answer);
+        string_list_from_file(&infiles, file_list_opt->answer);
+    }
+    else {
+        string_list_from_one_item(&infiles, input_opt->answer);
+    }
 
     /* parse input values */
-    infile = input_opt->answer;
-    outmap = output_opt->answer;
+    if (output_opt->answer)
+        outmap = output_opt->answer;
+    else
+        outmap = NULL;
 
     if (shell_style->answer && !scan_flag->answer) {
 	scan_flag->answer = 1; /* pointer not int, so set = shell_style->answer ? */
     }
 
-    /* Don't crash on cmd line if file not found */
-    if (access(infile, F_OK) != 0) {
-	G_fatal_error(_("Input file <%s> does not exist"), infile);
-    }
-    /* Open LAS file*/
-    LAS_reader = LASReader_Create(infile);
-    if (LAS_reader == NULL) {
-	G_fatal_error(_("Unable to open file <%s>"), infile);
-    }
-    
-    LAS_header = LASReader_GetHeader(LAS_reader);
-    if  (LAS_header == NULL) {
-	G_fatal_error(_("Input file <%s> is not a LAS LiDAR point cloud"),
-	                infile);
+    /* check zrange and extent relation */
+    if (scan_flag->answer || extents_flag->answer) {
+        if (zrange_opt->answer)
+            G_warning(_("zrange will not be taken into account during scan"));
     }
 
-    LAS_srs = LASHeader_GetSRS(LAS_header);
-
-    /* Print LAS header */
-    if (print_flag->answer) {
-	/* print... */
-	print_lasinfo(LAS_header, LAS_srs);
-
-	LASSRS_Destroy(LAS_srs);
-	LASHeader_Destroy(LAS_header);
-	LASReader_Destroy(LAS_reader);
-
-	exit(EXIT_SUCCESS);
-    }
+    Rast_get_window(&region);
+    /* G_get_window seems to be unreliable if the location has been changed */
+    G_get_set_window(&loc_wind);        /* TODO: v.in.lidar uses G_get_default_window() */
+
+    estimated_lines = 0;
+    int i;
+    for (i = 0; i < infiles.num_items; i++) {
+        infile = infiles.items[i];
+        /* don't if file not found */
+        if (access(infile, F_OK) != 0)
+            G_fatal_error(_("Input file <%s> does not exist"), infile);
+        /* Open LAS file*/
+        LAS_reader = LASReader_Create(infile);
+        if (LAS_reader == NULL)
+            G_fatal_error(_("Unable to open file <%s>"), infile);
+        LAS_header = LASReader_GetHeader(LAS_reader);
+        if  (LAS_header == NULL) {
+            G_fatal_error(_("Input file <%s> is not a LAS LiDAR point cloud"),
+                            infile);
+        }
+
+        LAS_srs = LASHeader_GetSRS(LAS_header);
+
+        /* print info or check projection if we are actually importing */
+        if (print_flag->answer) {
+            /* print filename when there is more than one file */
+            if (infiles.num_items > 1)
+                fprintf(stdout, "File: %s\n", infile);
+            /* Print LAS header */
+            print_lasinfo(LAS_header, LAS_srs);
+        }
+        else {
+            /* report that we are checking more files */
+            if (i == 1)
+                G_message(_("First file's projection checked,"
+                            " checking projection of the other files..."));
+            /* Fetch input map projection in GRASS form. */
+            projstr = LASSRS_GetWKT_CompoundOK(LAS_srs);
+            /* we are printing the non-warning messages only for first file */
+            projection_check_wkt(cellhd, loc_wind, projstr, over_flag->answer,
+                                 shell_style->answer || i);
+            /* if there is a problem in some other file, first OK message
+             * is printed but than a warning, this is not ideal but hopefully
+             * not so confusing when importing multiple files */
+        }
+        if (scan_flag->answer || extents_flag->answer) {
+            /* we assign to the first one (i==0) but update for the rest */
+            scan_bounds(LAS_reader, shell_style->answer, extents_flag->answer, i,
+                        zscale, &region);
+        }
+        /* number of estimated point across all files */
+        /* TODO: this should be ull which won't work with percent report */
+        estimated_lines += LASHeader_GetPointRecordsCount(LAS_header);
+        /* We are closing all again and we will be opening them later,
+         * so we don't have to worry about limit for open files. */
+        LASSRS_Destroy(LAS_srs);
+        LASHeader_Destroy(LAS_header);
+        LASReader_Destroy(LAS_reader);
+    }
+    /* if we are not importing, end */
+    if (print_flag->answer || scan_flag->answer)
+        exit(EXIT_SUCCESS);
 
     return_filter = LAS_ALL;
     if (filter_opt->answer) {
@@ -346,118 +391,10 @@ int main(int argc, char *argv[])
 	else
 	    G_fatal_error(_("Unknown filter option <%s>"), filter_opt->answer);
     }
-
-    /* Fetch input map projection in GRASS form. */
-    proj_info = NULL;
-    proj_units = NULL;
-    projstr = LASSRS_GetWKT_CompoundOK(LAS_srs);
-
-    if (TRUE) {
-	int err = 0;
-	char error_msg[8192];
-
-	/* Projection only required for checking so convert non-interactively */
-	if (GPJ_wkt_to_grass(&cellhd, &proj_info,
-			     &proj_units, projstr, 0) < 0)
-	    G_warning(_("Unable to convert input map projection information to "
-		       "GRASS format for checking"));
-	
-	/* Does the projection of the current location match the dataset? */
-	/* G_get_window seems to be unreliable if the location has been changed */
-	G_get_set_window(&loc_wind); /* TODO: v.in.lidar uses G_get_default_window() */
-	/* fetch LOCATION PROJ info */
-	if (loc_wind.proj != PROJECTION_XY) {
-	    loc_proj_info = G_get_projinfo();
-	    loc_proj_units = G_get_projunits();
-	}
-
-	if (over_flag->answer) {
-	    cellhd.proj = loc_wind.proj;
-	    cellhd.zone = loc_wind.zone;
-	    G_message(_("Over-riding projection check"));
-	}
-	else if (loc_wind.proj != cellhd.proj
-		 || (err =
-		     G_compare_projections(loc_proj_info, loc_proj_units,
-					   proj_info, proj_units)) != TRUE) {
-	    int i_value;
-
-	    strcpy(error_msg,
-		   _("Projection of dataset does not"
-		     " appear to match current location.\n\n"));
-
-	    /* TODO: output this info sorted by key: */
-	    if (loc_wind.proj != cellhd.proj || err != -2) {
-		if (loc_proj_info != NULL) {
-		    strcat(error_msg, _("GRASS LOCATION PROJ_INFO is:\n"));
-		    for (i_value = 0; i_value < loc_proj_info->nitems;
-			 i_value++)
-			sprintf(error_msg + strlen(error_msg), "%s: %s\n",
-				loc_proj_info->key[i_value],
-				loc_proj_info->value[i_value]);
-		    strcat(error_msg, "\n");
-		}
-
-		if (proj_info != NULL) {
-		    strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
-		    for (i_value = 0; i_value < proj_info->nitems; i_value++)
-			sprintf(error_msg + strlen(error_msg), "%s: %s\n",
-				proj_info->key[i_value],
-				proj_info->value[i_value]);
-		}
-		else {
-		    strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
-		    if (cellhd.proj == PROJECTION_XY)
-			sprintf(error_msg + strlen(error_msg),
-				"Dataset proj = %d (unreferenced/unknown)\n",
-				cellhd.proj);
-		    else if (cellhd.proj == PROJECTION_LL)
-			sprintf(error_msg + strlen(error_msg),
-				"Dataset proj = %d (lat/long)\n",
-				cellhd.proj);
-		    else if (cellhd.proj == PROJECTION_UTM)
-			sprintf(error_msg + strlen(error_msg),
-				"Dataset proj = %d (UTM), zone = %d\n",
-				cellhd.proj, cellhd.zone);
-		    else
-			sprintf(error_msg + strlen(error_msg),
-				"Dataset proj = %d (unknown), zone = %d\n",
-				cellhd.proj, cellhd.zone);
-		}
-	    }
-	    else {
-		if (loc_proj_units != NULL) {
-		    strcat(error_msg, "GRASS LOCATION PROJ_UNITS is:\n");
-		    for (i_value = 0; i_value < loc_proj_units->nitems;
-			 i_value++)
-			sprintf(error_msg + strlen(error_msg), "%s: %s\n",
-				loc_proj_units->key[i_value],
-				loc_proj_units->value[i_value]);
-		    strcat(error_msg, "\n");
-		}
-
-		if (proj_units != NULL) {
-		    strcat(error_msg, "Import dataset PROJ_UNITS is:\n");
-		    for (i_value = 0; i_value < proj_units->nitems; i_value++)
-			sprintf(error_msg + strlen(error_msg), "%s: %s\n",
-				proj_units->key[i_value],
-				proj_units->value[i_value]);
-		}
-	    }
-	    sprintf(error_msg + strlen(error_msg),
-		    _("\nIn case of no significant differences in the projection definitions,"
-		      " use the -o flag to ignore them and use"
-		      " current location definition.\n"));
-	    strcat(error_msg,
-		   _("Consider generating a new location with 'location' parameter"
-		    " from input data set.\n"));
-	    G_fatal_error("%s", error_msg);
-	}
-	else if (!shell_style->answer) {
-	    G_message(_("Projection of input dataset and current location "
-			"appear to match"));
-	}
-    }
+    struct ReturnFilter return_filter_struct;
+    return_filter_struct.filter = return_filter;
+    struct ClassFilter class_filter;
+    class_filter_create_from_strings(&class_filter, class_opt->answers);
 
     percent = atoi(percent_opt->answer);
     zscale = atof(zscale_opt->answer);
@@ -477,103 +414,10 @@ int main(int argc, char *argv[])
 	}
     }
 
-    /* figure out what maps we need in memory */
-    /*  n               n
-       min              min
-       max              max
-       range            min max         max - min
-       sum              sum
-       mean             sum n           sum/n
-       stddev           sum sumsq n     sqrt((sumsq - sum*sum/n)/n)
-       variance         sum sumsq n     (sumsq - sum*sum/n)/n
-       coeff_var        sum sumsq n     sqrt((sumsq - sum*sum/n)/n) / (sum/n)
-       median           n               array index to linked list
-       percentile       n               array index to linked list
-       skewness         n               array index to linked list
-       trimmean         n               array index to linked list
-     */
-    bin_n = FALSE;
-    bin_min = FALSE;
-    bin_max = FALSE;
-    bin_sum = FALSE;
-    bin_sumsq = FALSE;
-    bin_index = FALSE;
-
-    n_array = NULL;
-    min_array = NULL;
-    max_array = NULL;
-    sum_array = NULL;
-    sumsq_array = NULL;
-    index_array = NULL;
-    
-    if (strcmp(method_opt->answer, "n") == 0) {
-	method = METHOD_N;
-	bin_n = TRUE;
-    }
-    if (strcmp(method_opt->answer, "min") == 0) {
-	method = METHOD_MIN;
-	bin_min = TRUE;
-    }
-    if (strcmp(method_opt->answer, "max") == 0) {
-	method = METHOD_MAX;
-	bin_max = TRUE;
-    }
-    if (strcmp(method_opt->answer, "range") == 0) {
-	method = METHOD_RANGE;
-	bin_min = TRUE;
-	bin_max = TRUE;
-    }
-    if (strcmp(method_opt->answer, "sum") == 0) {
-	method = METHOD_SUM;
-	bin_sum = TRUE;
-    }
-    if (strcmp(method_opt->answer, "mean") == 0) {
-	method = METHOD_MEAN;
-	bin_sum = TRUE;
-	bin_n = TRUE;
-    }
-    if (strcmp(method_opt->answer, "stddev") == 0) {
-	method = METHOD_STDDEV;
-	bin_sum = TRUE;
-	bin_sumsq = TRUE;
-	bin_n = TRUE;
-    }
-    if (strcmp(method_opt->answer, "variance") == 0) {
-	method = METHOD_VARIANCE;
-	bin_sum = TRUE;
-	bin_sumsq = TRUE;
-	bin_n = TRUE;
-    }
-    if (strcmp(method_opt->answer, "coeff_var") == 0) {
-	method = METHOD_COEFF_VAR;
-	bin_sum = TRUE;
-	bin_sumsq = TRUE;
-	bin_n = TRUE;
-    }
-    if (strcmp(method_opt->answer, "median") == 0) {
-	method = METHOD_MEDIAN;
-	bin_index = TRUE;
-    }
-    if (strcmp(method_opt->answer, "percentile") == 0) {
-	if (pth_opt->answer != NULL)
-	    pth = atoi(pth_opt->answer);
-	else
-	    G_fatal_error(_("Unable to calculate percentile without the pth option specified!"));
-	method = METHOD_PERCENTILE;
-	bin_index = TRUE;
-    }
-    if (strcmp(method_opt->answer, "skewness") == 0) {
-	method = METHOD_SKEWNESS;
-	bin_index = TRUE;
-    }
-    if (strcmp(method_opt->answer, "trimmean") == 0) {
-	if (trim_opt->answer != NULL)
-	    trim = atof(trim_opt->answer) / 100.0;
-	else
-	    G_fatal_error(_("Unable to calculate trimmed mean without the trim option specified!"));
-	method = METHOD_TRIMMEAN;
-	bin_index = TRUE;
-    }
+    point_binning_set(&point_binning, method_opt->answer, pth_opt->answer,
+                      trim_opt->answer, voutput_opt->answer ? TRUE : FALSE);
+
+    base_array = NULL;
 
     if (strcmp("CELL", type_opt->answer) == 0)
 	rtype = CELL_TYPE;
@@ -582,28 +426,9 @@ int main(int argc, char *argv[])
     else
 	rtype = FCELL_TYPE;
 
-    if (method == METHOD_N)
+    if (point_binning.method == METHOD_N)
 	rtype = CELL_TYPE;
 
-
-    Rast_get_window(&region);
-
-
-    if (scan_flag->answer || extents_flag->answer) {
-	if (zrange_opt->answer)
-	    G_warning(_("zrange will not be taken into account during scan"));
-
-	scan_bounds(LAS_reader, shell_style->answer, extents_flag->answer,
-	            zscale, &region);
-
-	if (!extents_flag->answer) {
-	    LASHeader_Destroy(LAS_header);
-	    LASReader_Destroy(LAS_reader);
-
-	    exit(EXIT_SUCCESS);
-	}
-    }
-    
     if (res_opt->answer) {
 	/* align to resolution */
 	res = atof(res_opt->answer);
@@ -629,7 +454,18 @@ int main(int argc, char *argv[])
     }
     Rast_set_output_window(&region);
 
-    rows = (int)(region.rows * (percent / 100.0));
+    rows = last_rows = region.rows;
+    npasses = 1;
+    if (percent < 100) {
+	rows = (int)(region.rows * (percent / 100.0));
+	npasses = region.rows / rows;
+	last_rows = region.rows - npasses * rows;
+	if (last_rows)
+	    npasses++;
+	else
+	    last_rows = rows;
+
+    }
     cols = region.cols;
 
     G_debug(2, "region.n=%f  region.s=%f  region.ns_res=%f", region.north,
@@ -637,244 +473,186 @@ int main(int argc, char *argv[])
     G_debug(2, "region.rows=%d  [box_rows=%d]  region.cols=%d", region.rows,
 	    rows, region.cols);
 
-    npasses = (int)ceil(1.0 * region.rows / rows);
+    /* using row-based chunks (used for output) when input and output
+     * region matches and using segment library when they don't */
+    int use_segment = 0;
+    int use_base_raster_res = 0;
+    /* TODO: see if the input region extent is smaller than the raster
+     * if yes, the we need to load the whole base raster if the -e
+     * flag was defined (alternatively clip the regions) */
+    if (base_rast_res_flag->answer)
+        use_base_raster_res = 1;
+    if (base_raster_opt->answer && (res_opt->answer || use_base_raster_res
+                                    || extents_flag->answer))
+        use_segment = 1;
+    if (base_raster_opt->answer && !use_segment) {
+        /* TODO: do we need to test existence first? mapset? */
+        base_raster = Rast_open_old(base_raster_opt->answer, "");
+        base_raster_data_type = Rast_get_map_type(base_raster);
+        base_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(base_raster_data_type));
+    }
+    if (base_raster_opt->answer && use_segment) {
+        if (use_base_raster_res) {
+            /* read raster actual extent and resolution */
+            Rast_get_cellhd(base_raster_opt->answer, "", &input_region);
+            /* TODO: make it only as small as the output is or points are */
+            Rast_set_input_window(&input_region);  /* we have split window */
+        } else {
+            Rast_get_input_window(&input_region);
+        }
+        rast_segment_open(&base_segment, base_raster_opt->answer, &base_raster_data_type);
+    }
 
     if (!scan_flag->answer) {
-	/* check if rows * (cols + 1) go into a size_t */
-	if (sizeof(size_t) < 8) {
-	    double dsize = rows * (cols + 1);
-	    
-	    if (dsize != (size_t)rows * (cols + 1))
+        if (!check_rows_cols_fit_to_size_t(rows, cols))
 		G_fatal_error(_("Unable to process the hole map at once. "
-		                "Please set the %s option to some value lower than 100."),
+                        "Please set the '%s' option to some value lower than 100."),
 				percent_opt->key);
+        point_binning_memory_test(&point_binning, rows, cols, rtype);
 	}
-	/* allocate memory (test for enough before we start) */
-	if (bin_n)
-	    n_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(CELL_TYPE));
-	if (bin_min)
-	    min_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(rtype));
-	if (bin_max)
-	    max_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(rtype));
-	if (bin_sum)
-	    sum_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(rtype));
-	if (bin_sumsq)
-	    sumsq_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(rtype));
-	if (bin_index)
-	    index_array =
-		G_calloc((size_t)rows * (cols + 1), Rast_cell_size(CELL_TYPE));
-
-	/* and then free it again */
-	if (bin_n)
-	    G_free(n_array);
-	if (bin_min)
-	    G_free(min_array);
-	if (bin_max)
-	    G_free(max_array);
-	if (bin_sum)
-	    G_free(sum_array);
-	if (bin_sumsq)
-	    G_free(sumsq_array);
-	if (bin_index)
-	    G_free(index_array);
-
-	/** end memory test **/
-    }
-
 
     /* open output map */
-    out_fd = Rast_open_new(outmap, rtype);
-
-    estimated_lines = LASHeader_GetPointRecordsCount(LAS_header);
+    if (outmap)
+        out_fd = Rast_open_new(outmap, rtype);
+    else
+        out_fd = 0; /* TODO: is this correct? */
 
     /* allocate memory for a single row of output data */
     raster_row = Rast_allocate_output_buf(rtype);
 
+    struct Map_info voutput;
+    struct VectorWriter vector_writer;
+    if (voutput_opt->answer) {
+        if (Vect_open_new(&voutput, voutput_opt->answer, 1) < 0)
+            G_fatal_error(_("Unable to create vector map <%s>"), voutput_opt->answer);
+        vector_writer.info = &voutput;
+        vector_writer.points = Vect_new_line_struct();
+        vector_writer.cats = Vect_new_cats_struct();
+        vector_writer.count = 0;
+        Vect_hist_command(&voutput);
+    }
+
     G_message(_("Reading data ..."));
 
     count_total = line_total = 0;
 
-    /* init northern border */
-    pass_south = region.north;
-
     /* main binning loop(s) */
     for (pass = 1; pass <= npasses; pass++) {
-	LASError LAS_error;
 
 	if (npasses > 1)
 	    G_message(_("Pass #%d (of %d) ..."), pass, npasses);
 
-	LAS_error = LASReader_Seek(LAS_reader, 0);
-	
-	if (LAS_error != LE_None)
-	    G_fatal_error(_("Could not rewind input file"));
-
 	/* figure out segmentation */
-	pass_north = pass_south;  /* exact copy to avoid fp errors */
-	pass_south = region.north - pass * rows * region.ns_res;
+	row0 = (pass - 1) * rows;
 	if (pass == npasses) {
-	    rows = region.rows - (pass - 1) * rows;
-	    pass_south = region.south; /* exact copy to avoid fp errors */
+	    rows = last_rows;
 	}
 
-	G_debug(2, "pass=%d/%d  pass_n=%f  pass_s=%f  rows=%d",
-		pass, npasses, pass_north, pass_south, rows);
+        if (base_array) {
+            G_debug(2, "filling base raster array");
+            for (row = 0; row < rows; row++) {
+                Rast_get_row(base_raster, base_array + ((size_t) row * cols * Rast_cell_size(base_raster_data_type)), row, base_raster_data_type);
+            }
+        }
 
+	G_debug(2, "pass=%d/%d  rows=%d", pass, npasses, rows);
 
-	if (bin_n) {
-	    G_debug(2, "allocating n_array");
-	    n_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(CELL_TYPE));
-	    blank_array(n_array, rows, cols, CELL_TYPE, 0);
-	}
-	if (bin_min) {
-	    G_debug(2, "allocating min_array");
-	    min_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(rtype));
-	    blank_array(min_array, rows, cols, rtype, -1);	/* fill with NULLs */
-	}
-	if (bin_max) {
-	    G_debug(2, "allocating max_array");
-	    max_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(rtype));
-	    blank_array(max_array, rows, cols, rtype, -1);	/* fill with NULLs */
-	}
-	if (bin_sum) {
-	    G_debug(2, "allocating sum_array");
-	    sum_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(rtype));
-	    blank_array(sum_array, rows, cols, rtype, 0);
-	}
-	if (bin_sumsq) {
-	    G_debug(2, "allocating sumsq_array");
-	    sumsq_array = G_calloc((size_t)rows * (cols + 1), Rast_cell_size(rtype));
-	    blank_array(sumsq_array, rows, cols, rtype, 0);
-	}
-	if (bin_index) {
-	    G_debug(2, "allocating index_array");
-	    index_array =
-		G_calloc((size_t)rows * (cols + 1), Rast_cell_size(CELL_TYPE));
-	    blank_array(index_array, rows, cols, CELL_TYPE, -1);	/* fill with NULLs */
-	}
+    point_binning_allocate(&point_binning, rows, cols, rtype);
 
 	line = 0;
 	count = 0;
 	counter = 0;
 	G_percent_reset();
 
-	while ((LAS_point = LASReader_GetNextPoint(LAS_reader)) != NULL) {
-	    line++;
-	    counter++;
-
-	    if (counter == 100000) {	/* speed */
-		if (line < estimated_lines)
-		    G_percent(line, estimated_lines, 3);
-		counter = 0;
-	    }
-
-	    if (!LASPoint_IsValid(LAS_point)) {
-		continue;
-	    }
-
-	    x = LASPoint_GetX(LAS_point);
-	    y = LASPoint_GetY(LAS_point);
-	    if (intens_flag->answer)
-		/* use z variable here to allow for scaling of intensity below */
-		z = LASPoint_GetIntensity(LAS_point);
-	    else
-		z = LASPoint_GetZ(LAS_point);
-
-	if (return_filter != LAS_ALL) {
-	    int return_no = LASPoint_GetReturnNumber(LAS_point);
-	    int n_returns = LASPoint_GetNumberOfReturns(LAS_point);
-	    skipme = 1;
-
-	    switch (return_filter) {
-	    case LAS_FIRST:
-		if (return_no == 1)
-		    skipme = 0;
-		break;
-	    case LAS_MID:
-		if (return_no > 1 && return_no < n_returns)
-		    skipme = 0;
-		break;
-	    case LAS_LAST:
-		if (n_returns > 1 && return_no == n_returns)
-		    skipme = 0;
-		break;
-	    }
-
-	    if (skipme) {
-		n_filtered++;
-		continue;
-	    }
-	}
-	if (class_opt->answer) {
-	    point_class = (int) LASPoint_GetClassification(LAS_point);
-	    i = 0;
-	    skipme = TRUE;
-	    while (class_opt->answers[i]) {
-		if (point_class == atoi(class_opt->answers[i])) {
-		    skipme = FALSE;
-		    break;
-		}
-		i++;
-	    }
-	    if (skipme) {
-		continue;
-	    }
-	}
-
-	    if (y <= pass_south || y > pass_north) {
-		continue;
-	    }
-	    if (x < region.west || x >= region.east) {
-		continue;
-	    }
-
-	    z = z * zscale;
-
-	    if (zrange_opt->answer) {
-		if (z < zrange_min || z > zrange_max) {
+        /* loop of input files */
+        for (i = 0; i < infiles.num_items; i++) {
+            infile = infiles.items[i];
+            /* we already know file is there, so just do basic checks */
+            LAS_reader = LASReader_Create(infile);
+            if (LAS_reader == NULL)
+                G_fatal_error(_("Unable to open file <%s>"), infile);
+
+            while ((LAS_point = LASReader_GetNextPoint(LAS_reader)) != NULL) {
+                line++;
+                counter++;
+
+                if (counter == 100000) {        /* speed */
+                    if (line < estimated_lines)
+                        G_percent(line, estimated_lines, 3);
+                    counter = 0;
+                }
+
+                if (!LASPoint_IsValid(LAS_point)) {
+                    continue;
+                }
+
+                x = LASPoint_GetX(LAS_point);
+                y = LASPoint_GetY(LAS_point);
+                if (intens_flag->answer)
+                    /* use z variable here to allow for scaling of intensity below */
+                    z = LASPoint_GetIntensity(LAS_point);
+                else
+                    z = LASPoint_GetZ(LAS_point);
+
+                int return_n = LASPoint_GetReturnNumber(LAS_point);
+                int n_returns = LASPoint_GetNumberOfReturns(LAS_point);
+                if (return_filter_is_out(&return_filter_struct, return_n, n_returns)) {
+                    n_filtered++;
+                    continue;
+                }
+                point_class = (int) LASPoint_GetClassification(LAS_point);
+                if (class_filter_is_out(&class_filter, point_class))
+                    continue;
+
+                if (y <= region.south || y > region.north) {
+                    continue;
+                }
+                if (x < region.west || x >= region.east) {
+                    continue;
+                }
+
+                /* find the bin in the current array box */
+		arr_row = (int)((region.north - y) / region.ns_res) - row0;
+		if (arr_row < 0 || arr_row >= rows)
 		    continue;
-		}
-	    }
-
-	    count++;
-	    /*          G_debug(5, "x: %f, y: %f, z: %f", x, y, z); */
-
-	    /* find the bin in the current array box */
-	    arr_row = (int)((pass_north - y) / region.ns_res);
-	    arr_col = (int)((x - region.west) / region.ew_res);
-
-	    if (bin_n)
-		update_n(n_array, cols, arr_row, arr_col);
-	    if (bin_min)
-		update_min(min_array, cols, arr_row, arr_col, rtype, z);
-	    if (bin_max)
-		update_max(max_array, cols, arr_row, arr_col, rtype, z);
-	    if (bin_sum)
-		update_sum(sum_array, cols, arr_row, arr_col, rtype, z);
-	    if (bin_sumsq)
-		update_sumsq(sumsq_array, cols, arr_row, arr_col, rtype, z);
-	    if (bin_index) {
-		ptr = index_array;
-		ptr =
-		    G_incr_void_ptr(ptr,
-				    ((arr_row * cols) +
-				     arr_col) * Rast_cell_size(CELL_TYPE));
-
-		if (Rast_is_null_value(ptr, CELL_TYPE)) {	/* first node */
-		    head_id = new_node();
-		    nodes[head_id].next = -1;
-		    nodes[head_id].z = z;
-		    Rast_set_c_value(ptr, head_id, CELL_TYPE);	/* store index to head */
-		}
-		else {		/* head is already there */
-
-		    head_id = Rast_get_c_value(ptr, CELL_TYPE);	/* get index to head */
-		    head_id = add_node(head_id, z);
-		    if (head_id != -1)
-			Rast_set_c_value(ptr, head_id, CELL_TYPE);	/* store index to head */
-		}
-	    }
-	}			/* while !EOF */
+                arr_col = (int)((x - region.west) / region.ew_res);
+
+                z = z * zscale;
+
+                if (base_array) {
+                    double base_z;
+                    if (row_array_get_value_row_col(base_array, arr_row, arr_col,
+                                                    cols, base_raster_data_type,
+                                                    &base_z))
+                        z -= base_z;
+                    else
+                        continue;
+                }
+                else if (use_segment) {
+                    double base_z;
+                    if (rast_segment_get_value_xy(&base_segment, &input_region,
+                                                  base_raster_data_type, x, y,
+                                                  &base_z))
+                        z -= base_z;
+                    else
+                        continue;
+                }
+
+                if (zrange_opt->answer) {
+                    if (z < zrange_min || z > zrange_max) {
+                        continue;
+                    }
+                }
+
+                count++;
+                /*          G_debug(5, "x: %f, y: %f, z: %f", x, y, z); */
+
+                update_value(&point_binning, &bin_index_nodes, cols,
+                             arr_row, arr_col, rtype, x, y, z);
+            }                        /* while !EOF of one input file */
+            /* close input LAS file */
+            LASReader_Destroy(LAS_reader);
+        }           /* end of loop for all input files files */
 
 	G_percent(1, 1, 1);	/* flush */
 	G_debug(2, "pass %d finished, %lu coordinates in box", pass, count);
@@ -884,503 +662,70 @@ int main(int argc, char *argv[])
 	/* calc stats and output */
 	G_message(_("Writing to map ..."));
 	for (row = 0; row < rows; row++) {
-
-	    switch (method) {
-	    case METHOD_N:	/* n is a straight copy */
-		Rast_raster_cpy(raster_row,
-			     n_array +
-			     (row * cols * Rast_cell_size(CELL_TYPE)), cols,
-			     CELL_TYPE);
-		break;
-
-	    case METHOD_MIN:
-		Rast_raster_cpy(raster_row,
-			     min_array + (row * cols * Rast_cell_size(rtype)),
-			     cols, rtype);
-		break;
-
-	    case METHOD_MAX:
-		Rast_raster_cpy(raster_row,
-			     max_array + (row * cols * Rast_cell_size(rtype)),
-			     cols, rtype);
-		break;
-
-	    case METHOD_SUM:
-		Rast_raster_cpy(raster_row,
-			     sum_array + (row * cols * Rast_cell_size(rtype)),
-			     cols, rtype);
-		break;
-
-	    case METHOD_RANGE:	/* (max-min) */
-		ptr = raster_row;
-		for (col = 0; col < cols; col++) {
-		    offset = (row * cols + col) * Rast_cell_size(rtype);
-		    min = Rast_get_d_value(min_array + offset, rtype);
-		    max = Rast_get_d_value(max_array + offset, rtype);
-		    Rast_set_d_value(ptr, max - min, rtype);
-		    ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
-		}
-		break;
-
-	    case METHOD_MEAN:	/* (sum / n) */
-		ptr = raster_row;
-		for (col = 0; col < cols; col++) {
-		    offset = (row * cols + col) * Rast_cell_size(rtype);
-		    n_offset = (row * cols + col) * Rast_cell_size(CELL_TYPE);
-		    n = Rast_get_c_value(n_array + n_offset, CELL_TYPE);
-		    sum = Rast_get_d_value(sum_array + offset, rtype);
-
-		    if (n == 0)
-			Rast_set_null_value(ptr, 1, rtype);
-		    else
-			Rast_set_d_value(ptr, (sum / n), rtype);
-
-		    ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
-		}
-		break;
-
-	    case METHOD_STDDEV:	/*  sqrt(variance)        */
-	    case METHOD_VARIANCE:	/*  (sumsq - sum*sum/n)/n */
-	    case METHOD_COEFF_VAR:	/*  100 * stdev / mean    */
-		ptr = raster_row;
-		for (col = 0; col < cols; col++) {
-		    offset = (row * cols + col) * Rast_cell_size(rtype);
-		    n_offset = (row * cols + col) * Rast_cell_size(CELL_TYPE);
-		    n = Rast_get_c_value(n_array + n_offset, CELL_TYPE);
-		    sum = Rast_get_d_value(sum_array + offset, rtype);
-		    sumsq = Rast_get_d_value(sumsq_array + offset, rtype);
-
-		    if (n == 0)
-			Rast_set_null_value(ptr, 1, rtype);
-		    else if (n == 1)
-			Rast_set_d_value(ptr, 0.0, rtype);
-		    else {
-			variance = (sumsq - sum * sum / n) / n;
-			if (variance < GRASS_EPSILON)
-			    variance = 0.0;
-
-			/* nan test */
-			if (variance != variance)
-			    Rast_set_null_value(ptr, 1, rtype);
-			else {
-
-			    if (method == METHOD_STDDEV)
-				variance = sqrt(variance);
-
-			    else if (method == METHOD_COEFF_VAR)
-				variance = 100 * sqrt(variance) / (sum / n);
-
-			    /* nan test */
-			    if (variance != variance)
-				variance = 0.0; /* OK for n > 0 ?*/
-
-			    Rast_set_d_value(ptr, variance, rtype);
-			}
-
-		    }
-		    ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
-		}
-		break;
-	    case METHOD_MEDIAN:	/* median, if only one point in cell we will use that */
-		ptr = raster_row;
-		for (col = 0; col < cols; col++) {
-		    n_offset = (row * cols + col) * Rast_cell_size(CELL_TYPE);
-		    if (Rast_is_null_value(index_array + n_offset, CELL_TYPE))	/* no points in cell */
-			Rast_set_null_value(ptr, 1, rtype);
-		    else {	/* one or more points in cell */
-
-			head_id =
-			    Rast_get_c_value(index_array + n_offset,
-						 CELL_TYPE);
-			node_id = head_id;
-
-			n = 0;
-
-			while (node_id != -1) {	/* count number of points in cell */
-			    n++;
-			    node_id = nodes[node_id].next;
-			}
-
-			if (n == 1)	/* only one point, use that */
-			    Rast_set_d_value(ptr, nodes[head_id].z,
-						 rtype);
-			else if (n % 2 != 0) {	/* odd number of points: median_i = (n + 1) / 2 */
-			    n = (n + 1) / 2;
-			    node_id = head_id;
-			    for (j = 1; j < n; j++)	/* get "median element" */
-				node_id = nodes[node_id].next;
-
-			    Rast_set_d_value(ptr, nodes[node_id].z,
-						 rtype);
-			}
-			else {	/* even number of points: median = (val_below + val_above) / 2 */
-
-			    z = (n + 1) / 2.0;
-			    n = floor(z);
-			    node_id = head_id;
-			    for (j = 1; j < n; j++)	/* get element "below" */
-				node_id = nodes[node_id].next;
-
-			    z = (nodes[node_id].z +
-				 nodes[nodes[node_id].next].z) / 2;
-			    Rast_set_d_value(ptr, z, rtype);
-			}
-		    }
-		    ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
-		}
-		break;
-	    case METHOD_PERCENTILE:	/* rank = (pth*(n+1))/100; interpolate linearly */
-		ptr = raster_row;
-		for (col = 0; col < cols; col++) {
-		    n_offset = (row * cols + col) * Rast_cell_size(CELL_TYPE);
-		    if (Rast_is_null_value(index_array + n_offset, CELL_TYPE))	/* no points in cell */
-			Rast_set_null_value(ptr, 1, rtype);
-		    else {
-			head_id =
-			    Rast_get_c_value(index_array + n_offset,
-						 CELL_TYPE);
-			node_id = head_id;
-			n = 0;
-
-			while (node_id != -1) {	/* count number of points in cell */
-			    n++;
-			    node_id = nodes[node_id].next;
-			}
-
-			z = (pth * (n + 1)) / 100.0;
-			r_low = floor(z);	/* lower rank */
-			if (r_low < 1)
-			    r_low = 1;
-			else if (r_low > n)
-			    r_low = n;
-
-			r_up = ceil(z);	/* upper rank */
-			if (r_up > n)
-			    r_up = n;
-
-			node_id = head_id;
-			for (j = 1; j < r_low; j++)	/* search lower value */
-			    node_id = nodes[node_id].next;
-
-			z = nodes[node_id].z;	/* save lower value */
-			node_id = head_id;
-			for (j = 1; j < r_up; j++)	/* search upper value */
-			    node_id = nodes[node_id].next;
-
-			z = (z + nodes[node_id].z) / 2;
-			Rast_set_d_value(ptr, z, rtype);
-		    }
-		    ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
-		}
-		break;
-	    case METHOD_SKEWNESS:	/* skewness = sum(xi-mean)^3/(N-1)*s^3 */
-		ptr = raster_row;
-		for (col = 0; col < cols; col++) {
-		    n_offset = (row * cols + col) * Rast_cell_size(CELL_TYPE);
-		    if (Rast_is_null_value(index_array + n_offset, CELL_TYPE))	/* no points in cell */
-			Rast_set_null_value(ptr, 1, rtype);
-		    else {
-			head_id =
-			    Rast_get_c_value(index_array + n_offset,
-						 CELL_TYPE);
-			node_id = head_id;
-
-			n = 0;	/* count */
-			sum = 0.0;	/* sum */
-			sumsq = 0.0;	/* sum of squares */
-			sumdev = 0.0;	/* sum of (xi - mean)^3 */
-			skew = 0.0;	/* skewness */
-
-			while (node_id != -1) {
-			    z = nodes[node_id].z;
-			    n++;
-			    sum += z;
-			    sumsq += (z * z);
-			    node_id = nodes[node_id].next;
-			}
-
-			if (n > 1) {	/* if n == 1, skew is "0.0" */
-			    mean = sum / n;
-			    node_id = head_id;
-			    while (node_id != -1) {
-				z = nodes[node_id].z;
-				sumdev += pow((z - mean), 3);
-				node_id = nodes[node_id].next;
-			    }
-
-			    variance = (sumsq - sum * sum / n) / n;
-			    if (variance < GRASS_EPSILON)
-				skew = 0.0;
-			    else
-				skew =
-				    sumdev / ((n - 1) *
-					      pow(sqrt(variance), 3));
-			}
-			Rast_set_d_value(ptr, skew, rtype);
-		    }
-		    ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
-		}
-		break;
-	    case METHOD_TRIMMEAN:
-		ptr = raster_row;
-		for (col = 0; col < cols; col++) {
-		    n_offset = (row * cols + col) * Rast_cell_size(CELL_TYPE);
-		    if (Rast_is_null_value(index_array + n_offset, CELL_TYPE))	/* no points in cell */
-			Rast_set_null_value(ptr, 1, rtype);
-		    else {
-			head_id =
-			    Rast_get_c_value(index_array + n_offset,
-						 CELL_TYPE);
-
-			node_id = head_id;
-			n = 0;
-			while (node_id != -1) {	/* count number of points in cell */
-			    n++;
-			    node_id = nodes[node_id].next;
-			}
-
-			if (1 == n)
-			    mean = nodes[head_id].z;
-			else {
-			    k = floor(trim * n + 0.5);	/* number of ranks to discard on each tail */
-
-			    if (k > 0 && (n - 2 * k) > 0) {	/* enough elements to discard */
-				node_id = head_id;
-				for (j = 0; j < k; j++)	/* move to first rank to consider */
-				    node_id = nodes[node_id].next;
-
-				j = k + 1;
-				k = n - k;
-				n = 0;
-				sum = 0.0;
-
-				while (j <= k) {	/* get values in interval */
-				    n++;
-				    sum += nodes[node_id].z;
-				    node_id = nodes[node_id].next;
-				    j++;
-				}
-			    }
-			    else {
-				node_id = head_id;
-				n = 0;
-				sum = 0.0;
-				while (node_id != -1) {
-				    n++;
-				    sum += nodes[node_id].z;
-				    node_id = nodes[node_id].next;
-				}
-			    }
-			    mean = sum / n;
-			}
-			Rast_set_d_value(ptr, mean, rtype);
-		    }
-		    ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
-		}
-		break;
-
-	    default:
-		G_fatal_error("?");
-	    }
-
+        /* potentially vector writing can be independent on the binning */
+        write_values(&point_binning, &bin_index_nodes, raster_row, row,
+            cols, rtype, &vector_writer);
 	    /* write out line of raster data */
-	    Rast_put_row(out_fd, raster_row, rtype);
+        if (outmap)
+            Rast_put_row(out_fd, raster_row, rtype);
 	}
 
 	/* free memory */
-	if (bin_n)
-	    G_free(n_array);
-	if (bin_min)
-	    G_free(min_array);
-	if (bin_max)
-	    G_free(max_array);
-	if (bin_sum)
-	    G_free(sum_array);
-	if (bin_sumsq)
-	    G_free(sumsq_array);
-	if (bin_index) {
-	    G_free(index_array);
-	    G_free(nodes);
-	    num_nodes = 0;
-	    max_nodes = 0;
-	    nodes = NULL;
-	}
-
+	point_binning_free(&point_binning, &bin_index_nodes);
     }				/* passes loop */
+    if (base_array)
+        Rast_close(base_raster);
+    if (use_segment)
+        Segment_close(&base_segment);
 
     G_percent(1, 1, 1);		/* flush */
     G_free(raster_row);
 
-    /* close input LAS file */
-    LASHeader_Destroy(LAS_header);
-    LASReader_Destroy(LAS_reader);
-
     /* close raster file & write history */
-    Rast_close(out_fd);
-
-    sprintf(title, "Raw x,y,z data binned into a raster grid by cell %s",
-	    method_opt->answer);
-    Rast_put_cell_title(outmap, title);
-
-    Rast_short_history(outmap, "raster", &history);
-    Rast_command_history(&history);
-    Rast_set_history(&history, HIST_DATSRC_1, infile);
-    Rast_write_history(outmap, &history);
+    if (outmap)
+        Rast_close(out_fd);
 
+    if (outmap) {
+        sprintf(title, "Raw x,y,z data binned into a raster grid by cell %s",
+                method_opt->answer);
+        Rast_put_cell_title(outmap, title);
 
-    sprintf(buff, _("%lu points found in region."), count_total);
-    G_done_msg("%s", buff);
-    G_debug(1, "Processed %lu points.", line_total);
+        Rast_short_history(outmap, "raster", &history);
+        Rast_command_history(&history);
+        Rast_set_history(&history, HIST_DATSRC_1, infile);
+        Rast_write_history(outmap, &history);
+    }
 
-    exit(EXIT_SUCCESS);
+    /* close output vector map */
+    if (voutput_opt->answer) {
+        if (!notopo_flag->answer)
+            Vect_build(vector_writer.info);
+        Vect_close(vector_writer.info);
+        Vect_destroy_line_struct(vector_writer.points);
+        Vect_destroy_cats_struct(vector_writer.cats);
+    }
 
-}
+    /* set computation region to the new raster map */
+    /* TODO: should be in the done message */
+    if (set_region_flag->answer)
+        G_put_window(&region);
 
-void print_lasinfo(LASHeaderH LAS_header, LASSRSH LAS_srs)
-{
-    char *las_srs_proj4 = LASSRS_GetProj4(LAS_srs);
-    int las_point_format = LASHeader_GetDataFormatId(LAS_header);
-
-    fprintf(stdout, "\nUsing LAS Library Version '%s'\n\n",
-                    LAS_GetFullVersion());
-    fprintf(stdout, "LAS File Version:                  %d.%d\n",
-                    LASHeader_GetVersionMajor(LAS_header),
-                    LASHeader_GetVersionMinor(LAS_header));
-    fprintf(stdout, "System ID:                         '%s'\n",
-                    LASHeader_GetSystemId(LAS_header));
-    fprintf(stdout, "Generating Software:               '%s'\n",
-                    LASHeader_GetSoftwareId(LAS_header));
-    fprintf(stdout, "File Creation Day/Year:            %d/%d\n",
-                    LASHeader_GetCreationDOY(LAS_header),
-		    LASHeader_GetCreationYear(LAS_header));
-    fprintf(stdout, "Point Data Format:                 %d\n",
-                    las_point_format);
-    fprintf(stdout, "Number of Point Records:           %d\n",
-                    LASHeader_GetPointRecordsCount(LAS_header));
-    fprintf(stdout, "Number of Points by Return:        %d %d %d %d %d\n",
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 0),
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 1),
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 2),
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 3),
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 4));
-    fprintf(stdout, "Scale Factor X Y Z:                %g %g %g\n",
-                    LASHeader_GetScaleX(LAS_header),
-                    LASHeader_GetScaleY(LAS_header),
-                    LASHeader_GetScaleZ(LAS_header));
-    fprintf(stdout, "Offset X Y Z:                      %g %g %g\n",
-                    LASHeader_GetOffsetX(LAS_header),
-                    LASHeader_GetOffsetY(LAS_header),
-                    LASHeader_GetOffsetZ(LAS_header));
-    fprintf(stdout, "Min X Y Z:                         %g %g %g\n",
-                    LASHeader_GetMinX(LAS_header),
-                    LASHeader_GetMinY(LAS_header),
-                    LASHeader_GetMinZ(LAS_header));
-    fprintf(stdout, "Max X Y Z:                         %g %g %g\n",
-                    LASHeader_GetMaxX(LAS_header),
-                    LASHeader_GetMaxY(LAS_header),
-                    LASHeader_GetMaxZ(LAS_header));
-    if (las_srs_proj4 && strlen(las_srs_proj4) > 0) {
-	fprintf(stdout, "Spatial Reference:\n");
-	fprintf(stdout, "%s\n", las_srs_proj4);
+    if (infiles.num_items > 1) {
+        sprintf(buff, _("Raster map <%s> created."
+                        " %lu points from %d files found in region."),
+                outmap, count_total, infiles.num_items);
     }
     else {
-	fprintf(stdout, "Spatial Reference:                 None\n");
-    }
-    
-    fprintf(stdout, "\nData Fields:\n");
-    fprintf(stdout, "  'X'\n  'Y'\n  'Z'\n  'Intensity'\n  'Return Number'\n");
-    fprintf(stdout, "  'Number of Returns'\n  'Scan Direction'\n");
-    fprintf(stdout, "  'Flighline Edge'\n  'Classification'\n  'Scan Angle Rank'\n");
-    fprintf(stdout, "  'User Data'\n  'Point Source ID'\n");
-    if (las_point_format == 1 || las_point_format == 3 || las_point_format == 4 || las_point_format == 5) {
-	fprintf(stdout, "  'GPS Time'\n");
-    }
-    if (las_point_format == 2 || las_point_format == 3 || las_point_format == 5) {
-	fprintf(stdout, "  'Red'\n  'Green'\n  'Blue'\n");
+        sprintf(buff, _("Raster map <%s> created."
+                        " %lu points found in region."),
+                outmap, count_total);
     }
-    fprintf(stdout, "\n");
-    fflush(stdout);
-
-    return;
-}
 
+    G_done_msg("%s", buff);
+    G_debug(1, "Processed %lu points.", line_total);
 
-int scan_bounds(LASReaderH LAS_reader, int shell_style, int extents,
-		double zscale, struct Cell_head *region)
-{
-    unsigned long line;
-    int first;
-    double min_x, max_x, min_y, max_y, min_z, max_z;
-    double x, y, z;
-    LASPointH LAS_point;
-
-    line = 0;
-    first = TRUE;
-    
-    /* init to nan in case no points are found */
-    min_x = max_x = min_y = max_y = min_z = max_z = 0.0 / 0.0;
-
-    G_verbose_message(_("Scanning data ..."));
-    
-    LASReader_Seek(LAS_reader, 0);
-
-    while ((LAS_point = LASReader_GetNextPoint(LAS_reader)) != NULL) {
-	line++;
-
-	if (!LASPoint_IsValid(LAS_point)) {
-	    continue;
-	}
-
-	x = LASPoint_GetX(LAS_point);
-	y = LASPoint_GetY(LAS_point);
-	z = LASPoint_GetZ(LAS_point);
-
-	if (first) {
-	    min_x = x;
-	    max_x = x;
-	    min_y = y;
-	    max_y = y;
-	    min_z = z;
-	    max_z = z;
-	    first = FALSE;
-	}
-	else {
-	    if (x < min_x)
-		min_x = x;
-	    if (x > max_x)
-		max_x = x;
-	    if (y < min_y)
-		min_y = y;
-	    if (y > max_y)
-		max_y = y;
-	    if (z < min_z)
-		min_z = z;
-	    if (z > max_z)
-		max_z = z;
-	}
-    }
-
-    if (!extents) {
-	if (!shell_style) {
-	    fprintf(stderr, _("Range:     min         max\n"));
-	    fprintf(stdout, "x: %11f %11f\n", min_x, max_x);
-	    fprintf(stdout, "y: %11f %11f\n", min_y, max_y);
-	    fprintf(stdout, "z: %11f %11f\n", min_z * zscale, max_z * zscale);
-	}
-	else
-	    fprintf(stdout, "n=%f s=%f e=%f w=%f b=%f t=%f\n",
-		    max_y, min_y, max_x, min_x, min_z * zscale, max_z * zscale);
+    string_list_free(&infiles);
 
-	G_debug(1, "Processed %lu points.", line);
-	G_debug(1, "region template: g.region n=%f s=%f e=%f w=%f",
-		max_y, min_y, max_x, min_x);
-    }
-    else {
-	region->east = max_x;
-	region->west = min_x;
-	region->north = max_y;
-	region->south = min_y;
-    }
+    exit(EXIT_SUCCESS);
 
-    return 0;
 }
diff --git a/raster/r.in.lidar/point_binning.c b/raster/r.in.lidar/point_binning.c
new file mode 100644
index 0000000..be111bc
--- /dev/null
+++ b/raster/r.in.lidar/point_binning.c
@@ -0,0 +1,845 @@
+/*
+ * r.in.lidar projection-related functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to separate functions)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+#include <grass/raster.h>
+#include <grass/vector.h>
+
+#include "point_binning.h"
+#include "local_proto.h"
+
+#define SIZE_INCREMENT 10
+
+static int new_node(struct BinIndex *bin_index)
+{
+    int n = bin_index->num_nodes++;
+
+    if (bin_index->num_nodes >= bin_index->max_nodes) {
+        bin_index->max_nodes += SIZE_INCREMENT;
+        bin_index->nodes = G_realloc(bin_index->nodes,
+                                     (size_t) bin_index->max_nodes *
+                                     sizeof(struct node));
+    }
+
+    return n;
+}
+
+
+/* add node to sorted, single linked list 
+ * returns id if head has to be saved to index array, otherwise -1 */
+static int add_node(struct BinIndex *bin_index, int head, double z)
+{
+    int node_id, last_id, newnode_id, head_id;
+
+    head_id = head;
+    node_id = head_id;
+    last_id = head_id;
+
+    while (node_id != -1 && bin_index->nodes[node_id].z < z) {
+        last_id = node_id;
+        node_id = bin_index->nodes[node_id].next;
+    }
+
+    /* end of list, simply append */
+    if (node_id == -1) {
+        newnode_id = new_node(bin_index);
+        bin_index->nodes[newnode_id].next = -1;
+        bin_index->nodes[newnode_id].z = z;
+        bin_index->nodes[last_id].next = newnode_id;
+        return -1;
+    }
+    else if (node_id == head_id) {      /* pole position, insert as head */
+        newnode_id = new_node(bin_index);
+        bin_index->nodes[newnode_id].next = head_id;
+        head_id = newnode_id;
+        bin_index->nodes[newnode_id].z = z;
+        return (head_id);
+    }
+    else {                      /* somewhere in the middle, insert */
+        newnode_id = new_node(bin_index);
+        bin_index->nodes[newnode_id].z = z;
+        bin_index->nodes[newnode_id].next = node_id;
+        bin_index->nodes[last_id].next = newnode_id;
+        return -1;
+    }
+}
+
+
+int update_bin_index(struct BinIndex *bin_index, void *index_array,
+                     int cols, int row, int col,
+                     RASTER_MAP_TYPE map_type, double value)
+{
+    int head_id;
+    void *ptr = index_array;
+
+    ptr =
+        G_incr_void_ptr(ptr,
+                        (((size_t) row * cols) + col) * Rast_cell_size(CELL_TYPE));
+
+    /* first node */
+    if (Rast_is_null_value(ptr, CELL_TYPE)) {
+        head_id = new_node(bin_index);
+        bin_index->nodes[head_id].next = -1;
+        bin_index->nodes[head_id].z = value;
+        /* store index to head */
+        Rast_set_c_value(ptr, head_id, CELL_TYPE);
+    }
+    /* head is already there */
+    else {
+
+        /* get index to head */
+        head_id = Rast_get_c_value(ptr, CELL_TYPE);
+        head_id = add_node(bin_index, head_id, value);
+        /* if id valid, store index to head */
+        if (head_id != -1)
+            Rast_set_c_value(ptr, head_id, CELL_TYPE);
+    }
+    /* for consistency with functions from support.c */
+    return 0;
+}
+
+void point_binning_set(struct PointBinning *point_binning, char *method,
+                       char *percentile, char *trim, int bin_coordinates)
+{
+
+    /* figure out what maps we need in memory */
+    /*  n               n
+       min              min
+       max              max
+       range            min max         max - min
+       sum              sum
+       mean             sum n           sum/n
+       stddev           sum sumsq n     sqrt((sumsq - sum*sum/n)/n)
+       variance         sum sumsq n     (sumsq - sum*sum/n)/n
+       coeff_var        sum sumsq n     sqrt((sumsq - sum*sum/n)/n) / (sum/n)
+       median           n               array index to linked list
+       percentile       n               array index to linked list
+       skewness         n               array index to linked list
+       trimmean         n               array index to linked list
+     */
+    point_binning->method = METHOD_NONE;
+    point_binning->bin_n = FALSE;
+    point_binning->bin_min = FALSE;
+    point_binning->bin_max = FALSE;
+    point_binning->bin_sum = FALSE;
+    point_binning->bin_sumsq = FALSE;
+    point_binning->bin_index = FALSE;
+    point_binning->bin_coordinates = FALSE;
+
+    point_binning->n_array = NULL;
+    point_binning->min_array = NULL;
+    point_binning->max_array = NULL;
+    point_binning->sum_array = NULL;
+    point_binning->sumsq_array = NULL;
+    point_binning->index_array = NULL;
+    point_binning->x_array = NULL;
+    point_binning->y_array = NULL;
+
+    if (strcmp(method, "n") == 0) {
+        point_binning->method = METHOD_N;
+        point_binning->bin_n = TRUE;
+    }
+    if (strcmp(method, "min") == 0) {
+        point_binning->method = METHOD_MIN;
+        point_binning->bin_min = TRUE;
+    }
+    if (strcmp(method, "max") == 0) {
+        point_binning->method = METHOD_MAX;
+        point_binning->bin_max = TRUE;
+    }
+    if (strcmp(method, "range") == 0) {
+        point_binning->method = METHOD_RANGE;
+        point_binning->bin_min = TRUE;
+        point_binning->bin_max = TRUE;
+    }
+    if (strcmp(method, "sum") == 0) {
+        point_binning->method = METHOD_SUM;
+        point_binning->bin_sum = TRUE;
+    }
+    if (strcmp(method, "mean") == 0) {
+        point_binning->method = METHOD_MEAN;
+        point_binning->bin_sum = TRUE;
+        point_binning->bin_n = TRUE;
+    }
+    if (strcmp(method, "stddev") == 0) {
+        point_binning->method = METHOD_STDDEV;
+        point_binning->bin_sum = TRUE;
+        point_binning->bin_sumsq = TRUE;
+        point_binning->bin_n = TRUE;
+    }
+    if (strcmp(method, "variance") == 0) {
+        point_binning->method = METHOD_VARIANCE;
+        point_binning->bin_sum = TRUE;
+        point_binning->bin_sumsq = TRUE;
+        point_binning->bin_n = TRUE;
+    }
+    if (strcmp(method, "coeff_var") == 0) {
+        point_binning->method = METHOD_COEFF_VAR;
+        point_binning->bin_sum = TRUE;
+        point_binning->bin_sumsq = TRUE;
+        point_binning->bin_n = TRUE;
+    }
+    if (strcmp(method, "median") == 0) {
+        point_binning->method = METHOD_MEDIAN;
+        point_binning->bin_index = TRUE;
+    }
+    if (strcmp(method, "percentile") == 0) {
+        if (percentile != NULL)
+            point_binning->pth = atoi(percentile);
+        else
+            G_fatal_error(_("Unable to calculate percentile without the pth option specified!"));
+        point_binning->method = METHOD_PERCENTILE;
+        point_binning->bin_index = TRUE;
+    }
+    if (strcmp(method, "skewness") == 0) {
+        point_binning->method = METHOD_SKEWNESS;
+        point_binning->bin_index = TRUE;
+    }
+    if (strcmp(method, "trimmean") == 0) {
+        if (trim != NULL)
+            point_binning->trim = atof(trim) / 100.0;
+        else
+            G_fatal_error(_("Unable to calculate trimmed mean without the trim option specified!"));
+        point_binning->method = METHOD_TRIMMEAN;
+        point_binning->bin_index = TRUE;
+    }
+    if (bin_coordinates) {
+        /* x, y */
+        point_binning->bin_coordinates = TRUE;
+        /* z and n */
+        point_binning->bin_sum = TRUE;
+        point_binning->bin_n = TRUE;
+    }
+}
+
+
+/* check if rows * (cols + 1) go into a size_t */
+int check_rows_cols_fit_to_size_t(int rows, int cols)
+{
+    if (sizeof(size_t) < 8) {
+        double dsize = rows * (cols + 1);
+
+        /* TODO: the comparison with double may fail */
+        if (dsize != (size_t) rows * (cols + 1))
+            return FALSE;
+    }
+    return TRUE;
+}
+
+
+void point_binning_memory_test(struct PointBinning *point_binning, int rows,
+                               int cols, RASTER_MAP_TYPE rtype)
+{
+    /* allocate memory (test for enough before we start) */
+    if (point_binning->bin_n)
+        point_binning->n_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(CELL_TYPE));
+    if (point_binning->bin_min)
+        point_binning->min_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+    if (point_binning->bin_max)
+        point_binning->max_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+    if (point_binning->bin_sum)
+        point_binning->sum_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+    if (point_binning->bin_sumsq)
+        point_binning->sumsq_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+    if (point_binning->bin_index)
+        point_binning->index_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(CELL_TYPE));
+    if (point_binning->bin_coordinates) {
+        point_binning->x_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+        point_binning->y_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+    }
+    /* TODO: perhaps none of them needs to be freed */
+
+    /* and then free it again */
+    if (point_binning->bin_n)
+        G_free(point_binning->n_array);
+    if (point_binning->bin_min)
+        G_free(point_binning->min_array);
+    if (point_binning->bin_max)
+        G_free(point_binning->max_array);
+    if (point_binning->bin_sum)
+        G_free(point_binning->sum_array);
+    if (point_binning->bin_sumsq)
+        G_free(point_binning->sumsq_array);
+    if (point_binning->bin_index)
+        G_free(point_binning->index_array);
+    if (point_binning->bin_coordinates) {
+        G_free(point_binning->x_array);
+        G_free(point_binning->y_array);
+    }
+}
+
+
+void point_binning_allocate(struct PointBinning *point_binning, int rows,
+                            int cols, RASTER_MAP_TYPE rtype)
+{
+    if (point_binning->bin_n) {
+        G_debug(2, "allocating n_array");
+        point_binning->n_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(CELL_TYPE));
+        blank_array(point_binning->n_array, rows, cols, CELL_TYPE, 0);
+    }
+    if (point_binning->bin_min) {
+        G_debug(2, "allocating min_array");
+        point_binning->min_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+        blank_array(point_binning->min_array, rows, cols, rtype, -1);   /* fill with NULLs */
+    }
+    if (point_binning->bin_max) {
+        G_debug(2, "allocating max_array");
+        point_binning->max_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+        blank_array(point_binning->max_array, rows, cols, rtype, -1);   /* fill with NULLs */
+    }
+    if (point_binning->bin_sum) {
+        G_debug(2, "allocating sum_array");
+        point_binning->sum_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+        blank_array(point_binning->sum_array, rows, cols, rtype, 0);
+    }
+    if (point_binning->bin_sumsq) {
+        G_debug(2, "allocating sumsq_array");
+        point_binning->sumsq_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+        blank_array(point_binning->sumsq_array, rows, cols, rtype, 0);
+    }
+    if (point_binning->bin_index) {
+        G_debug(2, "allocating index_array");
+        point_binning->index_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(CELL_TYPE));
+        blank_array(point_binning->index_array, rows, cols, CELL_TYPE, -1);     /* fill with NULLs */
+    }
+    if (point_binning->bin_coordinates) {
+        G_debug(2, "allocating x_array and y_array");
+        point_binning->x_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+        blank_array(point_binning->x_array, rows, cols, rtype, 0);
+        point_binning->y_array =
+            G_calloc((size_t) rows * (cols + 1), Rast_cell_size(rtype));
+        blank_array(point_binning->y_array, rows, cols, rtype, 0);
+    }
+}
+
+void point_binning_free(struct PointBinning *point_binning,
+                        struct BinIndex *bin_index_nodes)
+{
+    if (point_binning->bin_n)
+        G_free(point_binning->n_array);
+    if (point_binning->bin_min)
+        G_free(point_binning->min_array);
+    if (point_binning->bin_max)
+        G_free(point_binning->max_array);
+    if (point_binning->bin_sum)
+        G_free(point_binning->sum_array);
+    if (point_binning->bin_sumsq)
+        G_free(point_binning->sumsq_array);
+    if (point_binning->bin_index) {
+        G_free(point_binning->index_array);
+        G_free(bin_index_nodes->nodes);
+        bin_index_nodes->num_nodes = 0;
+        bin_index_nodes->max_nodes = 0;
+        bin_index_nodes->nodes = NULL;
+    }
+    if (point_binning->bin_coordinates) {
+        G_free(point_binning->x_array);
+        G_free(point_binning->y_array);
+    }
+}
+
+void write_variance(void *raster_row, void *n_array, void *sum_array,
+                    void *sumsq_array, int row, int cols,
+                    RASTER_MAP_TYPE rtype, int method)
+{
+    size_t offset, n_offset;
+    int n = 0;
+    double variance;
+    double sum = 0.;
+    double sumsq = 0.;
+    int col;
+    void *ptr = raster_row;
+
+    for (col = 0; col < cols; col++) {
+        offset = ((size_t) row * cols + col) * Rast_cell_size(rtype);
+        n_offset = ((size_t) row * cols + col) * Rast_cell_size(CELL_TYPE);
+        n = Rast_get_c_value(n_array + n_offset, CELL_TYPE);
+        sum = Rast_get_d_value(sum_array + offset, rtype);
+        sumsq = Rast_get_d_value(sumsq_array + offset, rtype);
+
+        if (n == 0)
+            Rast_set_null_value(ptr, 1, rtype);
+        else if (n == 1)
+            Rast_set_d_value(ptr, 0.0, rtype);
+        else {
+            variance = (sumsq - sum * sum / n) / n;
+            if (variance < GRASS_EPSILON)
+                variance = 0.0;
+
+            /* nan test */
+            if (variance != variance)
+                Rast_set_null_value(ptr, 1, rtype);
+            else {
+
+                if (method == METHOD_STDDEV)
+                    variance = sqrt(variance);
+
+                else if (method == METHOD_COEFF_VAR)
+                    variance = 100 * sqrt(variance) / (sum / n);
+
+                /* nan test */
+                if (variance != variance)
+                    variance = 0.0;     /* OK for n > 0 ? */
+
+                Rast_set_d_value(ptr, variance, rtype);
+            }
+
+        }
+        ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
+    }
+}
+
+void write_median(struct BinIndex *bin_index, void *raster_row,
+                  void *index_array, int row, int cols, RASTER_MAP_TYPE rtype)
+{
+    size_t n_offset;
+    int n;
+    int j;
+    double z;
+    int col;
+    int node_id, head_id;
+    void *ptr = raster_row;
+
+    for (col = 0; col < cols; col++) {
+        n_offset = ((size_t) row * cols + col) * Rast_cell_size(CELL_TYPE);
+        if (Rast_is_null_value(index_array + n_offset, CELL_TYPE))      /* no points in cell */
+            Rast_set_null_value(ptr, 1, rtype);
+        else {                  /* one or more points in cell */
+
+            head_id = Rast_get_c_value(index_array + n_offset, CELL_TYPE);
+            node_id = head_id;
+
+            n = 0;
+
+            while (node_id != -1) {     /* count number of points in cell */
+                n++;
+                node_id = bin_index->nodes[node_id].next;
+            }
+
+            if (n == 1)         /* only one point, use that */
+                Rast_set_d_value(ptr, bin_index->nodes[head_id].z, rtype);
+            else if (n % 2 != 0) {      /* odd number of points: median_i = (n + 1) / 2 */
+                n = (n + 1) / 2;
+                node_id = head_id;
+                for (j = 1; j < n; j++) /* get "median element" */
+                    node_id = bin_index->nodes[node_id].next;
+
+                Rast_set_d_value(ptr, bin_index->nodes[node_id].z, rtype);
+            }
+            else {              /* even number of points: median = (val_below + val_above) / 2 */
+
+                z = (n + 1) / 2.0;
+                n = floor(z);
+                node_id = head_id;
+                for (j = 1; j < n; j++) /* get element "below" */
+                    node_id = bin_index->nodes[node_id].next;
+
+                z = (bin_index->nodes[node_id].z +
+                     bin_index->nodes[bin_index->nodes[node_id].next].z) / 2;
+                Rast_set_d_value(ptr, z, rtype);
+            }
+        }
+        ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
+    }
+}
+
+void write_percentile(struct BinIndex *bin_index, void *raster_row,
+                      void *index_array, int row, int cols,
+                      RASTER_MAP_TYPE rtype, int pth)
+{
+    size_t n_offset;
+    int n;
+    int j;
+    double z;
+    int col;
+    int node_id, head_id;
+    int r_low, r_up;
+    void *ptr = raster_row;
+
+    for (col = 0; col < cols; col++) {
+        n_offset = ((size_t) row * cols + col) * Rast_cell_size(CELL_TYPE);
+        if (Rast_is_null_value(index_array + n_offset, CELL_TYPE))      /* no points in cell */
+            Rast_set_null_value(ptr, 1, rtype);
+        else {
+            head_id = Rast_get_c_value(index_array + n_offset, CELL_TYPE);
+            node_id = head_id;
+            n = 0;
+
+            while (node_id != -1) {     /* count number of points in cell */
+                n++;
+                node_id = bin_index->nodes[node_id].next;
+            }
+
+            z = (pth * (n + 1)) / 100.0;
+            r_low = floor(z);   /* lower rank */
+            if (r_low < 1)
+                r_low = 1;
+            else if (r_low > n)
+                r_low = n;
+
+            r_up = ceil(z);     /* upper rank */
+            if (r_up > n)
+                r_up = n;
+
+            node_id = head_id;
+            for (j = 1; j < r_low; j++) /* search lower value */
+                node_id = bin_index->nodes[node_id].next;
+
+            z = bin_index->nodes[node_id].z;    /* save lower value */
+            node_id = head_id;
+            for (j = 1; j < r_up; j++)  /* search upper value */
+                node_id = bin_index->nodes[node_id].next;
+
+            z = (z + bin_index->nodes[node_id].z) / 2;
+            Rast_set_d_value(ptr, z, rtype);
+        }
+        ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
+    }
+}
+
+void write_skewness(struct BinIndex *bin_index, void *raster_row,
+                    void *index_array, int row, int cols,
+                    RASTER_MAP_TYPE rtype)
+{
+    size_t n_offset;
+    int n;
+    double z;
+    int col;
+    int node_id, head_id;
+    double variance, mean, skew, sumdev;
+    double sum = 0.;
+    double sumsq = 0.;
+    void *ptr = raster_row;
+
+    for (col = 0; col < cols; col++) {
+        n_offset = ((size_t) row * cols + col) * Rast_cell_size(CELL_TYPE);
+        if (Rast_is_null_value(index_array + n_offset, CELL_TYPE))      /* no points in cell */
+            Rast_set_null_value(ptr, 1, rtype);
+        else {
+            head_id = Rast_get_c_value(index_array + n_offset, CELL_TYPE);
+            node_id = head_id;
+
+            n = 0;              /* count */
+            sum = 0.0;          /* sum */
+            sumsq = 0.0;        /* sum of squares */
+            sumdev = 0.0;       /* sum of (xi - mean)^3 */
+            skew = 0.0;         /* skewness */
+
+            while (node_id != -1) {
+                z = bin_index->nodes[node_id].z;
+                n++;
+                sum += z;
+                sumsq += (z * z);
+                node_id = bin_index->nodes[node_id].next;
+            }
+
+            if (n > 1) {        /* if n == 1, skew is "0.0" */
+                mean = sum / n;
+                node_id = head_id;
+                while (node_id != -1) {
+                    z = bin_index->nodes[node_id].z;
+                    sumdev += pow((z - mean), 3);
+                    node_id = bin_index->nodes[node_id].next;
+                }
+
+                variance = (sumsq - sum * sum / n) / n;
+                if (variance < GRASS_EPSILON)
+                    skew = 0.0;
+                else
+                    skew = sumdev / ((n - 1) * pow(sqrt(variance), 3));
+            }
+            Rast_set_d_value(ptr, skew, rtype);
+        }
+        ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
+    }
+}
+
+void write_trimmean(struct BinIndex *bin_index, void *raster_row,
+                    void *index_array, int row, int cols,
+                    RASTER_MAP_TYPE rtype, double trim)
+{
+    size_t n_offset;
+    int n;
+    int j, k;
+    int col;
+    int node_id, head_id;
+    double mean;
+    double sum = 0.;
+    void *ptr = raster_row;
+
+    for (col = 0; col < cols; col++) {
+        n_offset = ((size_t) row * cols + col) * Rast_cell_size(CELL_TYPE);
+        if (Rast_is_null_value(index_array + n_offset, CELL_TYPE))      /* no points in cell */
+            Rast_set_null_value(ptr, 1, rtype);
+        else {
+            head_id = Rast_get_c_value(index_array + n_offset, CELL_TYPE);
+
+            node_id = head_id;
+            n = 0;
+            while (node_id != -1) {     /* count number of points in cell */
+                n++;
+                node_id = bin_index->nodes[node_id].next;
+            }
+
+            if (1 == n)
+                mean = bin_index->nodes[head_id].z;
+            else {
+                k = floor(trim * n + 0.5);      /* number of ranks to discard on each tail */
+
+                if (k > 0 && (n - 2 * k) > 0) { /* enough elements to discard */
+                    node_id = head_id;
+                    for (j = 0; j < k; j++)     /* move to first rank to consider */
+                        node_id = bin_index->nodes[node_id].next;
+
+                    j = k + 1;
+                    k = n - k;
+                    n = 0;
+                    sum = 0.0;
+
+                    while (j <= k) {    /* get values in interval */
+                        n++;
+                        sum += bin_index->nodes[node_id].z;
+                        node_id = bin_index->nodes[node_id].next;
+                        j++;
+                    }
+                }
+                else {
+                    node_id = head_id;
+                    n = 0;
+                    sum = 0.0;
+                    while (node_id != -1) {
+                        n++;
+                        sum += bin_index->nodes[node_id].z;
+                        node_id = bin_index->nodes[node_id].next;
+                    }
+                }
+                mean = sum / n;
+            }
+            Rast_set_d_value(ptr, mean, rtype);
+        }
+        ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
+    }
+}
+
+void write_values(struct PointBinning *point_binning,
+                  struct BinIndex *bin_index_nodes, void *raster_row, int row,
+                  int cols, RASTER_MAP_TYPE rtype,
+                  struct VectorWriter *vector_writer)
+{
+    void *ptr = NULL;
+    int col;
+
+    switch (point_binning->method) {
+    case METHOD_N:             /* n is a straight copy */
+        Rast_raster_cpy(raster_row,
+                        point_binning->n_array +
+                        ((size_t) row * cols * Rast_cell_size(CELL_TYPE)), cols,
+                        CELL_TYPE);
+        break;
+
+    case METHOD_MIN:
+        Rast_raster_cpy(raster_row,
+                        point_binning->min_array +
+                        ((size_t) row * cols * Rast_cell_size(rtype)), cols, rtype);
+        break;
+
+    case METHOD_MAX:
+        Rast_raster_cpy(raster_row,
+                        point_binning->max_array +
+                        ((size_t) row * cols * Rast_cell_size(rtype)), cols, rtype);
+        break;
+
+    case METHOD_SUM:
+        Rast_raster_cpy(raster_row,
+                        point_binning->sum_array +
+                        ((size_t) row * cols * Rast_cell_size(rtype)), cols, rtype);
+        break;
+
+    case METHOD_RANGE:         /* (max-min) */
+        ptr = raster_row;
+        for (col = 0; col < cols; col++) {
+            size_t offset = ((size_t) row * cols + col) * Rast_cell_size(rtype);
+            double min =
+                Rast_get_d_value(point_binning->min_array + offset, rtype);
+            double max =
+                Rast_get_d_value(point_binning->max_array + offset, rtype);
+            Rast_set_d_value(ptr, max - min, rtype);
+            ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
+        }
+        break;
+
+    case METHOD_MEAN:          /* (sum / n) */
+        ptr = raster_row;
+        for (col = 0; col < cols; col++) {
+            size_t offset = ((size_t) row * cols + col) * Rast_cell_size(rtype);
+            size_t n_offset = ((size_t) row * cols + col) * Rast_cell_size(CELL_TYPE);
+            int n = Rast_get_c_value(point_binning->n_array + n_offset,
+                                     CELL_TYPE);
+            double sum =
+                Rast_get_d_value(point_binning->sum_array + offset, rtype);
+
+            if (n == 0)
+                Rast_set_null_value(ptr, 1, rtype);
+            else
+                Rast_set_d_value(ptr, (sum / n), rtype);
+
+            ptr = G_incr_void_ptr(ptr, Rast_cell_size(rtype));
+        }
+        break;
+
+    case METHOD_STDDEV:        /*  sqrt(variance)        */
+    case METHOD_VARIANCE:      /*  (sumsq - sum*sum/n)/n */
+    case METHOD_COEFF_VAR:     /*  100 * stdev / mean    */
+        write_variance(raster_row, point_binning->n_array,
+                       point_binning->sum_array, point_binning->sumsq_array,
+                       row, cols, rtype, point_binning->method);
+        break;
+    case METHOD_MEDIAN:        /* median, if only one point in cell we will use that */
+        write_median(bin_index_nodes, raster_row, point_binning->index_array,
+                     row, cols, rtype);
+        break;
+    case METHOD_PERCENTILE:    /* rank = (pth*(n+1))/100; interpolate linearly */
+        write_percentile(bin_index_nodes, raster_row,
+                         point_binning->index_array, row, cols, rtype,
+                         point_binning->pth);
+        break;
+    case METHOD_SKEWNESS:      /* skewness = sum(xi-mean)^3/(N-1)*s^3 */
+        write_skewness(bin_index_nodes, raster_row,
+                       point_binning->index_array, row, cols, rtype);
+        break;
+    case METHOD_TRIMMEAN:
+        write_trimmean(bin_index_nodes, raster_row,
+                       point_binning->index_array, row, cols, rtype,
+                       point_binning->trim);
+        break;
+
+    default:
+        G_debug(2, "No method selected");
+    }
+    if (point_binning->bin_coordinates) {
+        for (col = 0; col < cols; col++) {
+            size_t offset = ((size_t) row * cols + col) * Rast_cell_size(rtype);
+            size_t n_offset = ((size_t) row * cols + col) * Rast_cell_size(CELL_TYPE);
+            int n = Rast_get_c_value(point_binning->n_array + n_offset,
+                                     CELL_TYPE);
+
+            if (n == 0)
+                continue;
+
+            double sum_x =
+                Rast_get_d_value(point_binning->x_array + offset, rtype);
+            double sum_y =
+                Rast_get_d_value(point_binning->y_array + offset, rtype);
+            /* TODO: we do this also in mean writing */
+            double sum_z =
+                Rast_get_d_value(point_binning->sum_array + offset, rtype);
+
+            /* We are not writing any categories. They are not needed
+             * and potentially it is too much trouble to do it and it is
+             * unclear what to write. Not writing them is also a little
+             * bit faster. */
+            Vect_append_point(vector_writer->points, sum_x, sum_y, sum_z / n);
+            Vect_write_line(vector_writer->info, GV_POINT,
+                            vector_writer->points, vector_writer->cats);
+            Vect_reset_line(vector_writer->points);
+            vector_writer->count++;
+        }
+    }
+}
+
+/* TODO: duplication with support.c, refactoring needed */
+static void *get_cell_ptr(void *array, int cols, int row, int col,
+                          RASTER_MAP_TYPE map_type)
+{
+    return G_incr_void_ptr(array,
+                           ((row * (size_t) cols) +
+                            col) * Rast_cell_size(map_type));
+}
+
+int update_val(void *array, int cols, int row, int col,
+               RASTER_MAP_TYPE map_type, double value)
+{
+    void *ptr = get_cell_ptr(array, cols, row, col, map_type);
+
+    Rast_set_d_value(ptr, value, map_type);
+    return 0;
+}
+
+int update_moving_mean(void *array, int cols, int row, int col,
+                       RASTER_MAP_TYPE rtype, double value, int n)
+{
+    /* for xy we do this check twice */
+    if (n != 0) {
+        double m_v;
+
+        row_array_get_value_row_col(array, row, col, cols, rtype, &m_v);
+        value = m_v + (value - m_v) / n;
+    }
+    /* else we just write the initial value */
+    return update_val(array, cols, row, col, rtype, value);;
+}
+
+void update_value(struct PointBinning *point_binning,
+                  struct BinIndex *bin_index_nodes, int cols, int arr_row,
+                  int arr_col, RASTER_MAP_TYPE rtype, double x, double y,
+                  double z)
+{
+    if (point_binning->bin_n)
+        update_n(point_binning->n_array, cols, arr_row, arr_col);
+    if (point_binning->bin_min)
+        update_min(point_binning->min_array, cols, arr_row, arr_col, rtype,
+                   z);
+    if (point_binning->bin_max)
+        update_max(point_binning->max_array, cols, arr_row, arr_col, rtype,
+                   z);
+    if (point_binning->bin_sum)
+        update_sum(point_binning->sum_array, cols, arr_row, arr_col, rtype,
+                   z);
+    if (point_binning->bin_sumsq)
+        update_sumsq(point_binning->sumsq_array, cols, arr_row, arr_col,
+                     rtype, z);
+    if (point_binning->bin_index)
+        update_bin_index(bin_index_nodes, point_binning->index_array, cols,
+                         arr_row, arr_col, rtype, z);
+    if (point_binning->bin_coordinates) {
+        /* this assumes that n is already computed for this xyz */
+        void *ptr = get_cell_ptr(point_binning->n_array, cols, arr_row,
+                                 arr_col, CELL_TYPE);
+        int n = Rast_get_c_value(ptr, CELL_TYPE);
+
+        update_moving_mean(point_binning->x_array, cols, arr_row, arr_col,
+                           rtype, x, n);
+        update_moving_mean(point_binning->y_array, cols, arr_row, arr_col,
+                           rtype, y, n);
+    }
+}
diff --git a/raster/r.in.lidar/point_binning.h b/raster/r.in.lidar/point_binning.h
new file mode 100644
index 0000000..64bec38
--- /dev/null
+++ b/raster/r.in.lidar/point_binning.h
@@ -0,0 +1,105 @@
+/*
+ * r.in.lidar projection-related functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to separate functions)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#ifndef __POINT_BINNING_H__
+#define __POINT_BINNING_H__
+
+
+#include <grass/raster.h>
+
+/* forward declaration */
+struct Map_info;
+
+struct node
+{
+    int next;
+    double z;
+};
+
+struct BinIndex
+{
+    int num_nodes;
+    int max_nodes;
+    struct node *nodes;
+};
+
+struct PointBinning
+{
+    int method;
+
+    int bin_n;
+    int bin_min;
+    int bin_max;
+    int bin_sum;
+    int bin_sumsq;
+    int bin_index;
+    int bin_coordinates;
+
+    void *n_array;
+    void *min_array;
+    void *max_array;
+    void *sum_array;
+    void *sumsq_array;
+    void *index_array;
+    void *x_array;
+    void *y_array;
+
+    int pth;
+    double trim;
+};
+
+int check_rows_cols_fit_to_size_t(int rows, int cols);
+void point_binning_memory_test(struct PointBinning *point_binning, int rows,
+                               int cols, RASTER_MAP_TYPE rtype);
+
+void point_binning_set(struct PointBinning *point_binning, char *method,
+                       char *percentile, char *trim, int coordinates);
+void point_binning_allocate(struct PointBinning *point_binning, int rows,
+                            int cols, RASTER_MAP_TYPE rtype);
+
+void point_binning_free(struct PointBinning *point_binning,
+                        struct BinIndex *bin_index_nodes);
+
+int update_bin_index(struct BinIndex *bin_index, void *index_array,
+                     int cols, int row, int col,
+                     RASTER_MAP_TYPE map_type, double value);
+void write_variance(void *raster_row, void *n_array, void *sum_array,
+                    void *sumsq_array, int row, int cols,
+                    RASTER_MAP_TYPE rtype, int method);
+void write_median(struct BinIndex *bin_index, void *raster_row,
+                  void *index_array, int row, int cols,
+                  RASTER_MAP_TYPE rtype);
+void write_percentile(struct BinIndex *bin_index, void *raster_row,
+                      void *index_array, int row, int cols,
+                      RASTER_MAP_TYPE rtype, int pth);
+void write_skewness(struct BinIndex *bin_index, void *raster_row,
+                    void *index_array, int row, int cols,
+                    RASTER_MAP_TYPE rtype);
+void write_trimmean(struct BinIndex *bin_index, void *raster_row,
+                    void *index_array, int row, int cols,
+                    RASTER_MAP_TYPE rtype, double trim);
+
+/* forward declaration */
+struct VectorWriter;
+
+void write_values(struct PointBinning *point_binning,
+                  struct BinIndex *bin_index_nodes, void *raster_row, int row,
+                  int cols, RASTER_MAP_TYPE rtype,
+                  struct VectorWriter *vector_writer);
+void update_value(struct PointBinning *point_binning,
+                  struct BinIndex *bin_index_nodes, int cols, int arr_row,
+                  int arr_col, RASTER_MAP_TYPE rtype, double x, double y,
+                  double z);
+
+
+#endif /* __POINT_BINNING_H__ */
diff --git a/raster/r.in.lidar/projection.c b/raster/r.in.lidar/projection.c
new file mode 100644
index 0000000..369eb54
--- /dev/null
+++ b/raster/r.in.lidar/projection.c
@@ -0,0 +1,142 @@
+/*
+ * r.in.lidar metadata-related functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to standalone functions)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#include <string.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+#include <grass/gprojects.h>
+
+#include "local_proto.h"
+
+
+void projection_mismatch_report(struct Cell_head cellhd,
+                                struct Cell_head loc_wind,
+                                struct Key_Value *loc_proj_info,
+                                struct Key_Value *loc_proj_units,
+                                struct Key_Value *proj_info,
+                                struct Key_Value *proj_units, int err)
+{
+    int i_value;
+    char error_msg[8192];
+
+    strcpy(error_msg,
+           _("Projection of dataset does not"
+             " appear to match current location.\n\n"));
+
+    /* TODO: output this info sorted by key: */
+    if (loc_wind.proj != cellhd.proj || err != -2) {
+        if (loc_proj_info != NULL) {
+            strcat(error_msg, _("GRASS LOCATION PROJ_INFO is:\n"));
+            for (i_value = 0; i_value < loc_proj_info->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        loc_proj_info->key[i_value],
+                        loc_proj_info->value[i_value]);
+            strcat(error_msg, "\n");
+        }
+
+        if (proj_info != NULL) {
+            strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
+            for (i_value = 0; i_value < proj_info->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        proj_info->key[i_value], proj_info->value[i_value]);
+        }
+        else {
+            strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
+            if (cellhd.proj == PROJECTION_XY)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (unreferenced/unknown)\n",
+                        cellhd.proj);
+            else if (cellhd.proj == PROJECTION_LL)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (lat/long)\n", cellhd.proj);
+            else if (cellhd.proj == PROJECTION_UTM)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (UTM), zone = %d\n",
+                        cellhd.proj, cellhd.zone);
+            else
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (unknown), zone = %d\n",
+                        cellhd.proj, cellhd.zone);
+        }
+    }
+    else {
+        if (loc_proj_units != NULL) {
+            strcat(error_msg, "GRASS LOCATION PROJ_UNITS is:\n");
+            for (i_value = 0; i_value < loc_proj_units->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        loc_proj_units->key[i_value],
+                        loc_proj_units->value[i_value]);
+            strcat(error_msg, "\n");
+        }
+
+        if (proj_units != NULL) {
+            strcat(error_msg, "Import dataset PROJ_UNITS is:\n");
+            for (i_value = 0; i_value < proj_units->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        proj_units->key[i_value], proj_units->value[i_value]);
+        }
+    }
+    sprintf(error_msg + strlen(error_msg),
+            _("\nIn case of no significant differences in the projection definitions,"
+             " use the -o flag to ignore them and use"
+             " current location definition.\n"));
+    strcat(error_msg,
+           _("Consider generating a new location with 'location' parameter"
+             " from input data set.\n"));
+    G_fatal_error("%s", error_msg);
+}
+
+void projection_check_wkt(struct Cell_head cellhd,
+                          struct Cell_head loc_wind,
+                          const char *projstr, int override, int verbose)
+{
+    struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
+    struct Key_Value *proj_info, *proj_units;
+    int err = 0;
+
+    proj_info = NULL;
+    proj_units = NULL;
+
+    /* Projection only required for checking so convert non-interactively */
+    if (GPJ_wkt_to_grass(&cellhd, &proj_info, &proj_units, projstr, 0) < 0)
+        G_warning(_("Unable to convert input map projection information to "
+                    "GRASS format for checking"));
+
+    /* Does the projection of the current location match the dataset? */
+
+    /* fetch LOCATION PROJ info */
+    if (loc_wind.proj != PROJECTION_XY) {
+        loc_proj_info = G_get_projinfo();
+        loc_proj_units = G_get_projunits();
+    }
+
+    if (override) {
+        cellhd.proj = loc_wind.proj;
+        cellhd.zone = loc_wind.zone;
+        if (verbose)
+            G_message(_("Over-riding projection check"));
+    }
+    else if (loc_wind.proj != cellhd.proj
+             || (err =
+                 G_compare_projections(loc_proj_info, loc_proj_units,
+                                       proj_info, proj_units)) != TRUE) {
+        projection_mismatch_report(cellhd, loc_wind, loc_proj_info,
+                                   loc_proj_units,
+                                   proj_info, proj_units, err);
+    }
+    else if (verbose) {
+        G_message(_("Projection of input dataset and current location "
+                    "appear to match"));
+    }
+}
diff --git a/raster/r.in.lidar/r.in.lidar.html b/raster/r.in.lidar/r.in.lidar.html
index b55faa3..ddcfba4 100644
--- a/raster/r.in.lidar/r.in.lidar.html
+++ b/raster/r.in.lidar/r.in.lidar.html
@@ -199,10 +199,16 @@ map. [In this example the user may want to include a lower bound filter in
 <em>r.mapcalc</em> to remove highly variable points (small <em>n</em>) or run
 <em>r.neighbors</em> to smooth the stddev map before further use.]
 
+<h2>NOTES</h2>
+
+The typical file extensions for the LAS format are .las and .laz (compressed). 
+The compressed LAS (.laz) format can be imported only if libLAS has been compiled 
+with laszip support. It is also recommended to compile libLAS with GDAL which is
+used to test if the LAS projection matches that of the GRASS location.
 
-<h2>EXAMPLE</h2>
+<h2>EXAMPLES</h2>
 
-Import of a LAS file into an existing location/mapset (metric):
+Import of a LAS file into an existing location/mapset (metric units):
 
 <div class="code"><pre>
 # set the computational region automatically, resol. for binning is 5m
@@ -211,13 +217,13 @@ g.region raster=lidar_dem_mean -p
 r.univar lidar_dem_mean
 </pre></div>
 
-<p>
-Serpent Mound dataset:
+<h3>Serpent Mound dataset</h3>
+
 This example is analogous to the example used in the GRASS wiki page for
 <a href="http://grasswiki.osgeo.org/wiki/LIDAR#Import_LAS_as_raster_DEM">importing LAS as raster DEM</a>.
 <p>The sample LAS data are in the file "Serpent Mound Model LAS Data.las", 
 available at 
-<a href="http://www.appliedimagery.com/downloads/sampledata/Serpent%20Mound%20Model%20LAS%20Data.las">appliedimagery.com</a>
+<a href="http://www.appliedimagery.com/downloads/sampledata/Serpent%20Mound%20Model%20LAS%20Data.las">appliedimagery.com</a>:
 
 <div class="code"><pre>
 # print LAS file info
@@ -240,11 +246,20 @@ r.in.lidar input="Serpent Mound Model LAS Data.las" \
            output=Serpent_Mound_Model_LAS_Data method=mean
 </pre></div>
 
-<h2>NOTES</h2>
-The typical file extensions for the LAS format are .las and .laz (compressed). 
-The compressed LAS (.laz) format can be imported only if libLAS has been compiled 
-with laszip support. It is also recommended to compile libLAS with GDAL, 
-needed to test for matching projections.
+<h3>Height above ground</h3>
+
+The mean height above ground of the points can be computed for each
+raster cell (the ground elevation is given by the raster map
+<tt>elevation</tt>):
+
+<div class="code"><pre>
+g.region raster=elevation -p
+r.in.lidar input=points.las output=height_above_ground base_raster=elevation
+</pre></div>
+
+In this type of computation, it might be advantageous to change the resolution
+to match the precision of the points rather than deriving it from the base raster.
+<!-- TODO: say how -->
 
 <h2>TODO</h2>
 
@@ -260,11 +275,6 @@ needed to test for matching projections.
 <h2>KNOWN ISSUES</h2>
 
 <ul>
-<li> <em>n</em> map <tt>percent=100</tt> and <tt>percent=xx</tt> maps
-  differ slightly (point will fall above/below the segmentation line)
-  <br>Investigate with "<tt>r.mapcalc diff = bin_n.100 - bin_n.33</tt>" etc.
-  <br>Cause unknown.
-
 <li> "<tt>nan</tt>" can leak into <em>coeff_var</em> maps.
   <br>Cause unknown. Possible work-around: "<tt>r.null setnull=nan</tt>"
 <!-- Another method:  r.mapcalc 'No_nan = if(map == map, map, null() )' -->
@@ -302,4 +312,4 @@ Markus Metz<br>
 based on r.in.xyz by Hamish Bowman and Volker Wichmann<br>
 
 <br>
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-23 13:22:40 -0800 (Tue, 23 Feb 2016) $</i>
diff --git a/raster/r.in.lidar/rast_segment.c b/raster/r.in.lidar/rast_segment.c
new file mode 100644
index 0000000..c9a1190
--- /dev/null
+++ b/raster/r.in.lidar/rast_segment.c
@@ -0,0 +1,86 @@
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+#include <grass/raster.h>
+#include <grass/segment.h>
+
+#include "rast_segment.h"
+
+static void rast_segment_load(SEGMENT * segment, int rowio,
+                              RASTER_MAP_TYPE map_type)
+{
+    void *raster_row = Rast_allocate_input_buf(map_type);
+    int row;
+
+    for (row = 0; row < Rast_input_window_rows(); row++) {
+        /* TODO: free mem */
+        Rast_get_row(rowio, raster_row, row, map_type);
+        Segment_put_row(segment, raster_row, row);
+    }
+}
+
+/* TODO: close function */
+
+void rast_segment_open(SEGMENT * segment, const char *name,
+                       RASTER_MAP_TYPE * map_type)
+{
+    /* TODO: check if not passing the mapset is OK */
+    int rowio = Rast_open_old(name, "");
+
+    *map_type = Rast_get_map_type(rowio);
+    int segment_rows = 64;
+
+    /* we use long segments because this is how the values a binned */
+    int segment_cols = Rast_input_window_cols();
+    int segments_in_memory = 4;
+
+    if (Segment_open(segment, G_tempfile(), Rast_input_window_rows(),
+                     Rast_input_window_cols(), segment_rows, segment_cols,
+                     Rast_cell_size(*map_type), segments_in_memory) != 1)
+        G_fatal_error(_("Cannot create temporary file with segments of a raster map"));
+    rast_segment_load(segment, rowio, *map_type);
+    Rast_close(rowio);          /* we won't need the raster again */
+}
+
+
+/* 0 on out of region or NULL, 1 on success */
+int rast_segment_get_value_xy(SEGMENT * base_segment,
+                              struct Cell_head *input_region,
+                              RASTER_MAP_TYPE rtype, double x, double y,
+                              double *value)
+{
+    /* Rast gives double, Segment needs off_t */
+    off_t base_row = Rast_northing_to_row(y, input_region);
+    off_t base_col = Rast_easting_to_col(x, input_region);
+
+    /* skip points which are outside the base raster
+     * (null propagation) */
+    if (base_row < 0 || base_col < 0 ||
+        base_row >= input_region->rows || base_col >= input_region->cols)
+        return 0;
+    if (rtype == DCELL_TYPE) {
+        DCELL tmp;
+
+        Segment_get(base_segment, &tmp, base_row, base_col);
+        if (Rast_is_d_null_value(&tmp))
+            return 0;
+        *value = (double)tmp;
+    }
+    else if (rtype == FCELL_TYPE) {
+        FCELL tmp;
+
+        Segment_get(base_segment, &tmp, base_row, base_col);
+        if (Rast_is_f_null_value(&tmp))
+            return 0;
+        *value = (double)tmp;
+    }
+    else {
+        CELL tmp;
+
+        Segment_get(base_segment, &tmp, base_row, base_col);
+        if (Rast_is_c_null_value(&tmp))
+            return 0;
+        *value = (double)tmp;
+    }
+    return 1;
+}
diff --git a/raster/r.in.lidar/rast_segment.h b/raster/r.in.lidar/rast_segment.h
new file mode 100644
index 0000000..7179d6b
--- /dev/null
+++ b/raster/r.in.lidar/rast_segment.h
@@ -0,0 +1,14 @@
+#ifndef GRASS_RAST_SEGMENT_H
+#define GRASS_RAST_SEGMENT_H
+
+#include <grass/raster.h>
+#include <grass/segment.h>
+
+void rast_segment_open(SEGMENT * segment, const char *name,
+                       RASTER_MAP_TYPE * map_type);
+int rast_segment_get_value_xy(SEGMENT * base_segment,
+                              struct Cell_head *input_region,
+                              RASTER_MAP_TYPE rtype, double x, double y,
+                              double *value);
+
+#endif /* GRASS_RAST_SEGMENT_H */
diff --git a/raster/r.in.lidar/string_list.c b/raster/r.in.lidar/string_list.c
new file mode 100644
index 0000000..d563f5c
--- /dev/null
+++ b/raster/r.in.lidar/string_list.c
@@ -0,0 +1,65 @@
+
+#include <stdio.h>
+#include <string.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+#include "local_proto.h"
+
+#define SIZE_INCREMENT 10
+
+static int string_list_add_item(struct StringList *string_list, char *item)
+{
+    int n = string_list->num_items++;
+
+    if (string_list->num_items >= string_list->max_items) {
+        string_list->max_items += SIZE_INCREMENT;
+        string_list->items = G_realloc(string_list->items,
+                                       (size_t) string_list->max_items *
+                                       sizeof(char *));
+    }
+    /* n contains the index */
+    string_list->items[n] = item;
+    return n;
+}
+
+void string_list_from_file(struct StringList *string_list, char *filename)
+{
+    string_list->num_items = 0;
+    string_list->max_items = 0;
+    string_list->items = NULL;
+    FILE *file = fopen(filename, "r");  /* should check the result */
+    if (!file)
+        G_fatal_error(_("Cannot open file %s for reading"), filename);
+    char *line = G_malloc(GPATH_MAX * sizeof(char));
+
+    while (G_getl2(line, GPATH_MAX * sizeof(char), file)) {
+        G_debug(5, "line content from file %s: %s\n", filename, line);
+        string_list_add_item(string_list, line);
+        line = G_malloc(GPATH_MAX);
+    }
+    /* last allocation was not necessary */
+    G_free(line);
+    fclose(file);
+}
+
+void string_list_from_one_item(struct StringList *string_list, char *item)
+{
+    string_list->num_items = 0;
+    string_list->max_items = 0;
+    string_list->items = NULL;
+    string_list_add_item(string_list, strdup(item));
+}
+
+void string_list_free(struct StringList *string_list)
+{
+    int i;
+
+    for (i = 0; i < string_list->num_items; i++)
+        G_free(string_list->items[i]);
+    G_free(string_list->items);
+    string_list->num_items = 0;
+    string_list->max_items = 0;
+    string_list->items = NULL;
+}
diff --git a/raster/r.in.lidar/support.c b/raster/r.in.lidar/support.c
index 95be62f..66977b4 100644
--- a/raster/r.in.lidar/support.c
+++ b/raster/r.in.lidar/support.c
@@ -128,3 +128,23 @@ int update_sumsq(void *array, int cols, int row, int col,
 
     return 0;
 }
+
+/* 0 on NULL, 1 on success */
+int row_array_get_value_row_col(void *array, int arr_row, int arr_col,
+                                int cols, RASTER_MAP_TYPE rtype, double *value)
+{
+    void *ptr = array;
+    ptr =
+        G_incr_void_ptr(ptr,
+                        (((size_t) arr_row * cols) +
+                         arr_col) * Rast_cell_size(rtype));
+    if (Rast_is_null_value(ptr, rtype))
+        return 0;
+    if (rtype == DCELL_TYPE)
+        *value = (double) *(DCELL *) ptr;
+    else if (rtype == FCELL_TYPE)
+        *value = (double) *(FCELL *) ptr;
+    else
+        *value = (double) *(CELL *) ptr;
+    return 1;
+}
diff --git a/raster/r.in.lidar/test/sample_test.sh b/raster/r.in.lidar/test/sample_test.sh
new file mode 100755
index 0000000..a7bce46
--- /dev/null
+++ b/raster/r.in.lidar/test/sample_test.sh
@@ -0,0 +1,11 @@
+# GNU GPL
+# Vaclav Petras
+# this is an idea for a test
+export GRASS_OVERWRITE=1
+r.in.lidar in=points.las out=test_pure
+r.in.lidar in=points.las out=test_hag base=elevation
+r.mapcalc "test_difference = (elevation + test_hag) - test_pure"
+r.univar test_difference
+
+
+g.region -p -a raster=test_difference at manual res=0.1 zoom=test_difference at manual
diff --git a/raster/r.in.lidar/testsuite/data/points.las b/raster/r.in.lidar/testsuite/data/points.las
new file mode 100644
index 0000000..5e55cef
Binary files /dev/null and b/raster/r.in.lidar/testsuite/data/points.las differ
diff --git a/raster/r.in.lidar/testsuite/data/points.txt b/raster/r.in.lidar/testsuite/data/points.txt
new file mode 100644
index 0000000..5421b92
--- /dev/null
+++ b/raster/r.in.lidar/testsuite/data/points.txt
@@ -0,0 +1,16 @@
+21,19,30,1,2
+21,16,30,1,2
+24,18,35,2,5
+26,19,35,2,5
+23,16,35,2,5
+27,17,35,2,5
+29,19,40,1,5
+28,14,40,1,5
+21,14,32,2,5
+24,13,37,1,5
+27,14,37,1,5
+29,16,40,2,5
+21,11,32,2,5
+24,11,32,3,3
+26,11,32,3,3
+29,11,40,2,5
diff --git a/raster/r.in.lidar/testsuite/test_base_resolution.sh b/raster/r.in.lidar/testsuite/test_base_resolution.sh
new file mode 100755
index 0000000..bb1f124
--- /dev/null
+++ b/raster/r.in.lidar/testsuite/test_base_resolution.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+
+set -e
+set -x
+
+basename="test_rinlidar_"
+
+g.region n=20 s=10 e=30 w=20 res=2.5
+r.in.xyz data/points.txt output=${basename}base x=1 y=2 z=3 separator=comma
+
+echo "With base raster resolution matching current region"
+
+r.in.lidar input=data/points.las output=${basename}with_region \
+    base_raster=${basename}base method=min -o
+echo "Almost all in the following r.univar output should be zero"
+r.univar ${basename}with_region
+echo "Automatic test if there are only allowed values..."
+r.univar ${basename}with_region -g \
+    | grep -ve "=0$" | grep -ve "=-nan$" | grep -e "=[^2-9][^12345789]$"
+
+echo "With base raster resolution different from current region"
+
+g.region res=5
+
+r.in.lidar input=data/points.las output=${basename}with_base \
+    base_raster=${basename}base method=min -o -d
+echo "Almost all in the following r.univar output should be zero"
+r.univar ${basename}with_base
+echo "Automatic test if there are only allowed values..."
+r.univar ${basename}with_base -g \
+    | grep -ve "=0$" | grep -ve "=-nan$" | grep -e "=[^12356789]$"
+
+echo "Test successful
+When running manually maps can be now removed with:
+  g.remove type=rast pattern='test_rinlidar_*' -f
+However, the region was changed to whatever the test needed."
diff --git a/raster/r.in.mat/r.in.mat.html b/raster/r.in.mat/r.in.mat.html
index e8d059b..44c3b28 100644
--- a/raster/r.in.mat/r.in.mat.html
+++ b/raster/r.in.mat/r.in.mat.html
@@ -134,4 +134,4 @@ University of Otago<br>
 New Zealand</i><br>
 
 <br>
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/raster/r.in.png/r.in.png.html b/raster/r.in.png/r.in.png.html
index 07662e4..a144ccf 100644
--- a/raster/r.in.png/r.in.png.html
+++ b/raster/r.in.png/r.in.png.html
@@ -17,4 +17,4 @@ Alex Shevlakov<br>
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2016-01-13 10:20:46 +0100 (Wed, 13 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-01-13 01:18:55 -0800 (Wed, 13 Jan 2016) $</i>
diff --git a/raster/r.in.poly/r.in.poly.html b/raster/r.in.poly/r.in.poly.html
index 8bc17d8..2e554d1 100644
--- a/raster/r.in.poly/r.in.poly.html
+++ b/raster/r.in.poly/r.in.poly.html
@@ -106,4 +106,4 @@ A
 
 Michael Shapiro, U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-11-01 11:11:04 +0100 (Sat, 01 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-01 03:07:51 -0700 (Sat, 01 Nov 2014) $</i>
diff --git a/raster/r.in.poly/testsuite/test_rinpoly.py b/raster/r.in.poly/testsuite/test_rinpoly.py
index a5870c9..d5f07b3 100644
--- a/raster/r.in.poly/testsuite/test_rinpoly.py
+++ b/raster/r.in.poly/testsuite/test_rinpoly.py
@@ -1,6 +1,7 @@
 import os
 import tempfile
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.script.core import read_command
 
 
@@ -24,7 +25,7 @@ L
 """
 
 
-class TestRInPoly(grass.gunittest.TestCase):
+class TestRInPoly(TestCase):
 
     rinpoly = 'test_rinpoly'
 
@@ -103,9 +104,9 @@ class TestRInPoly(grass.gunittest.TestCase):
         self.tmpFile.close()
         self.assertModule('r.in.poly', input=self.tmpFile.name, output=self.rinpoly, type='DCELL')
         category = read_command('r.category', map=self.rinpoly, values=[-8, 3, 10.01]).strip()
-        self.assertEqual(first="-8\t\n3\tlabel2\n10.01\tlabel1", second=category,
-                         msg="Labels do not match")
+        self.assertEqual(first="-8\t{newline}3\tlabel2{newline}10.01\tlabel1".format(newline=os.linesep),
+                         second=category, msg="Labels do not match")
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/raster/r.in.xyz/main.c b/raster/r.in.xyz/main.c
index 2580217..62e10ec 100644
--- a/raster/r.in.xyz/main.c
+++ b/raster/r.in.xyz/main.c
@@ -116,7 +116,7 @@ int main(int argc, char *argv[])
 	*index_array;
     void *raster_row, *ptr;
     struct Cell_head region;
-    int rows, cols;		/* scan box size */
+    int rows, last_rows, row0, cols;		/* scan box size */
     int row, col;		/* counters */
 
     int pass, npasses;
@@ -124,7 +124,6 @@ int main(int argc, char *argv[])
     double x, y, z;
     char **tokens;
     int ntokens;		/* number of tokens */
-    double pass_north, pass_south;
     int arr_row, arr_col;
     unsigned long count, count_total;
 
@@ -476,7 +475,17 @@ int main(int argc, char *argv[])
 
 
     G_get_window(&region);
-    rows = (int)(region.rows * (percent / 100.0));
+    rows = last_rows = region.rows;
+    npasses = 1;
+    if (percent < 100) {
+	rows = (int)(region.rows * (percent / 100.0));
+	npasses = region.rows / rows;
+	last_rows = region.rows - npasses * rows;
+	if (last_rows)
+	    npasses++;
+	else
+	    last_rows = rows;
+    }
     cols = region.cols;
 
     G_debug(2, "region.n=%f  region.s=%f  region.ns_res=%f", region.north,
@@ -484,8 +493,6 @@ int main(int argc, char *argv[])
     G_debug(2, "region.rows=%d  [box_rows=%d]  region.cols=%d", region.rows,
 	    rows, region.cols);
 
-    npasses = (int)ceil(1.0 * region.rows / rows);
-
     if (!scan_flag->answer) {
 	/* check if rows * (cols + 1) go into a size_t */
 	if (sizeof(size_t) < 8) {
@@ -614,14 +621,12 @@ int main(int argc, char *argv[])
 	}
 
 	/* figure out segmentation */
-	pass_north = region.north - (pass - 1) * rows * region.ns_res;
-	if (pass == npasses)
-	    rows = region.rows - (pass - 1) * rows;
-	pass_south = pass_north - rows * region.ns_res;
-
-	G_debug(2, "pass=%d/%d  pass_n=%f  pass_s=%f  rows=%d",
-		pass, npasses, pass_north, pass_south, rows);
+	row0 = (pass - 1) * rows;
+	if (pass == npasses) {
+	    rows = last_rows;
+	}
 
+	G_debug(2, "pass=%d/%d  rows=%d", pass, npasses, rows);
 
 	if (bin_n) {
 	    G_debug(2, "allocating n_array");
@@ -704,17 +709,28 @@ int main(int argc, char *argv[])
 	    if (1 != sscanf(tokens[ycol - 1], "%lf", &y))
 		G_fatal_error(_("Bad y-coordinate line %lu column %d. <%s>"),
 			      line, ycol, tokens[ycol - 1]);
-	    if (y <= pass_south || y > pass_north) {
+	    if (y <= region.south || y > region.north) {
 		G_free_tokens(tokens);
 		continue;
 	    }
 	    if (1 != sscanf(tokens[xcol - 1], "%lf", &x))
 		G_fatal_error(_("Bad x-coordinate line %lu column %d. <%s>"),
 			      line, xcol, tokens[xcol - 1]);
-	    if (x < region.west || x > region.east) {
+	    if (x < region.west || x >= region.east) {
+		G_free_tokens(tokens);
+		continue;
+	    }
+
+	    /* find the bin in the current array box */
+	    arr_row = (int)((region.north - y) / region.ns_res) - row0;
+	    if (arr_row < 0 || arr_row >= rows) {
 		G_free_tokens(tokens);
 		continue;
 	    }
+	    arr_col = (int)((x - region.west) / region.ew_res);
+
+	    /* G_debug(5, "arr_row: %d   arr_col: %d", arr_row, arr_col); */
+
 	    if (1 != sscanf(tokens[zcol - 1], "%lf", &z))
 		G_fatal_error(_("Bad z-coordinate line %lu column %d. <%s>"),
 			      line, zcol, tokens[zcol - 1]);
@@ -746,33 +762,6 @@ int main(int argc, char *argv[])
 	    /* G_debug(5, "x: %f, y: %f, z: %f", x, y, z); */
 	    G_free_tokens(tokens);
 
-	    /* find the bin in the current array box */
-	    arr_row = (int)((pass_north - y) / region.ns_res);
-	    arr_col = (int)((x - region.west) / region.ew_res);
-
-	    /* G_debug(5, "arr_row: %d   arr_col: %d", arr_row, arr_col); */
-
-	    /* The range should be [0,cols-1]. We use (int) to round down,
-	       but if the point exactly on eastern edge arr_col will be /just/
-	       on the max edge .0000000 and end up on the next row.
-	       We could make above bounds check "if(x>=region.east) continue;"
-	       But instead we go to all sorts of trouble so that not one single
-	       data point is lost. GE is too small to catch them all.
-	       We don't try to make y happy as percent segmenting will make some
-	       points happen twice that way; so instead we use the y<= test above.
-	     */
-	    if (arr_col >= cols) {
-		if (((x - region.west) / region.ew_res) - cols <
-		    10 * GRASS_EPSILON)
-		    arr_col--;
-		else {		/* oh well, we tried. */
-		    G_debug(3,
-			    "skipping extraneous data point [%.3f], column %d of %d",
-			    x, arr_col, cols);
-		    continue;
-		}
-	    }
-
 	    if (bin_n)
 		update_n(n_array, cols, arr_row, arr_col);
 	    if (bin_min)
diff --git a/raster/r.in.xyz/r.in.xyz.html b/raster/r.in.xyz/r.in.xyz.html
index f809fa1..d1b257f 100644
--- a/raster/r.in.xyz/r.in.xyz.html
+++ b/raster/r.in.xyz/r.in.xyz.html
@@ -260,15 +260,6 @@ r.colors lidar_min.rst_scaled rule=bcyr -n -e
 <h2>KNOWN ISSUES</h2>
 
 <ul>
-<li> <em>n</em> map sum can be ever-so-slightly more than `<tt>wc -l</tt>`
-  with e.g. <tt>percent=10</tt> or less.
-  <br>Cause unknown.
-
-<li> <em>n</em> map <tt>percent=100</tt> and <tt>percent=xx</tt> maps
-  differ slightly (point will fall above/below the segmentation line)
-  <br>Investigate with "<tt>r.mapcalc diff = bin_n.100 - bin_n.33</tt>" etc.
-  <br>Cause unknown.
-
 <li> "<tt>nan</tt>" can leak into <em>coeff_var</em> maps.
   <br>Cause unknown. Possible work-around: "<tt>r.null setnull=nan</tt>"
 <!-- Another method:  r.mapcalc 'No_nan = if(map == map, map, null() )' -->
@@ -319,4 +310,4 @@ Extended by Volker Wichmann to support the aggregate functions
 <i>median, percentile, skewness</i> and <i>trimmed mean</i>.
 
 <p>
-<i>Last changed: $Date: 2015-11-20 12:34:12 +0100 (Fri, 20 Nov 2015) $</i>
+<i>Last changed: $Date: 2016-02-24 01:25:09 -0800 (Wed, 24 Feb 2016) $</i>
diff --git a/raster/r.info/r.info.html b/raster/r.info/r.info.html
index 212ee6b..45325f0 100644
--- a/raster/r.info/r.info.html
+++ b/raster/r.info/r.info.html
@@ -143,4 +143,4 @@ Michael O'Shea,
 <a href="http://www.cecer.army.mil/">U.S. Army Construction Engineering Research Laboratory</a>
 
 <p>
-<i>Last changed: $Date: 2014-11-26 17:43:46 +0100 (Wed, 26 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-26 08:43:10 -0800 (Wed, 26 Nov 2014) $</i>
diff --git a/raster/r.kappa/r.kappa.html b/raster/r.kappa/r.kappa.html
index 0abc1b2..40f058b 100644
--- a/raster/r.kappa/r.kappa.html
+++ b/raster/r.kappa/r.kappa.html
@@ -48,6 +48,14 @@ information for each and every category.
 
 <H2>EXAMPLE</H2>
 
+Example for North Carolina sample dataset:
+
+<div class="code"><pre>
+g.region raster=landclass96 -p
+r.kappa -w classification=landuse96_28m reference=landclass96
+</pre></div>
+<p>
+
 Verification of classified LANDSAT scene against training areas:
 
 <div class="code"><pre>
@@ -69,4 +77,4 @@ r.kappa -w classification=lsat7_2002_classes reference=training
 Tao Wen, University of Illinois at Urbana-Champaign, Illinois
 
 <p>
-<i>Last changed: $Date: 2012-12-16 13:56:26 +0100 (Sun, 16 Dec 2012) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.lake/main.c b/raster/r.lake/main.c
index af70e6b..d6f4cd7 100644
--- a/raster/r.lake/main.c
+++ b/raster/r.lake/main.c
@@ -283,7 +283,7 @@ int main(int argc, char *argv[])
     else
 	out_fd = Rast_open_new(seedmap, 1);
 
-    /* More pases are renudant. Real pases count is controled by altered cell count. */
+    /* More pases are renudant. Real pases count is controlled by altered cell count. */
     pases = (int)(rows * cols) / 2;
 
     G_debug(1,
diff --git a/raster/r.lake/r.lake.html b/raster/r.lake/r.lake.html
index 086f5ec..6ca12c0 100644
--- a/raster/r.lake/r.lake.html
+++ b/raster/r.lake/r.lake.html
@@ -115,4 +115,4 @@ Small flooding along a street (<em>r.lake</em>, using Lidar 1m DEM)
 <h2>AUTHOR</h2>
 Maris Nartiss (maris.nartiss gmail.com)
 
-<p><i>Last changed: $Date: 2015-12-19 23:28:25 +0100 (Sat, 19 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-19 14:27:42 -0800 (Sat, 19 Dec 2015) $</i>
diff --git a/raster/r.latlong/r.latlong.html b/raster/r.latlong/r.latlong.html
index d956434..d92df5b 100644
--- a/raster/r.latlong/r.latlong.html
+++ b/raster/r.latlong/r.latlong.html
@@ -29,4 +29,4 @@ r.latlong input=elevation output=latitude
 
 Yann Chemin, International Rice Research Institute, The Philippines
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.cwed/r.li.cwed.html b/raster/r.li/r.li.cwed/r.li.cwed.html
index 37c2667..3bfeec3 100644
--- a/raster/r.li/r.li.cwed/r.li.cwed.html
+++ b/raster/r.li/r.li.cwed/r.li.cwed.html
@@ -74,4 +74,4 @@ Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)<br>
 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i></p>
+<i>Last changed: $Date: 2014-11-28 08:22:17 -0800 (Fri, 28 Nov 2014) $</i></p>
diff --git a/raster/r.li/r.li.daemon/r.li.daemon.html b/raster/r.li/r.li.daemon/r.li.daemon.html
index f2e8462..c3dbb46 100644
--- a/raster/r.li/r.li.daemon/r.li.daemon.html
+++ b/raster/r.li/r.li.daemon/r.li.daemon.html
@@ -96,4 +96,4 @@ This program is free software under the GPL (>=v2)
 Read the COPYING file that comes with GRASS for details.
 
 <p>
-<i>Last changed: $Date: 2015-04-09 17:19:11 +0200 (Thu, 09 Apr 2015) $</i>
+<i>Last changed: $Date: 2015-03-23 12:44:45 -0700 (Mon, 23 Mar 2015) $</i>
diff --git a/raster/r.li/r.li.dominance/r.li.dominance.html b/raster/r.li/r.li.dominance/r.li.dominance.html
index 7911903..be2b3d7 100644
--- a/raster/r.li/r.li.dominance/r.li.dominance.html
+++ b/raster/r.li/r.li.dominance/r.li.dominance.html
@@ -73,4 +73,4 @@ Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)<br>
 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2015-08-25 00:15:04 +0200 (Tue, 25 Aug 2015) $</i></p>
+<i>Last changed: $Date: 2015-08-23 20:56:52 -0700 (Sun, 23 Aug 2015) $</i></p>
diff --git a/raster/r.li/r.li.edgedensity/r.li.edgedensity.html b/raster/r.li/r.li.edgedensity/r.li.edgedensity.html
index cc2034d..6803c46 100644
--- a/raster/r.li/r.li.edgedensity/r.li.edgedensity.html
+++ b/raster/r.li/r.li.edgedensity/r.li.edgedensity.html
@@ -94,4 +94,4 @@ Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)<br>
 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2015-08-25 00:15:04 +0200 (Tue, 25 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-23 20:56:52 -0700 (Sun, 23 Aug 2015) $</i>
diff --git a/raster/r.li/r.li.html b/raster/r.li/r.li.html
index ee0c06d..cc72dba 100644
--- a/raster/r.li/r.li.html
+++ b/raster/r.li/r.li.html
@@ -25,6 +25,11 @@ single values as output (e.g. mean patch size in the sampling area),
 as well as measures that produce a distribution of values as output
 (e.g. frequency distribution of patch sizes in the sampling area). The
 results are stored as raster maps.
+<p>
+All modules require configuration file which can be created by the
+<em>g.gui.rlisetup</em> module which is a GUI tool providing a convenient
+way to set all necessary parameters. This file can be used repetitively
+saving user from the need to specify all parameters over and over again.
 
 <h2>NOTES</h2>
 
@@ -111,10 +116,9 @@ configuration file on a 200x200 raster map, then the sample area is
 
 <h2>SEE ALSO</h2>
 
-<b>Core modules</b>:
+<b>GUI tools</b>:
 <ul>
-  <li> <a href="r.li.daemon.html">r.li.daemon</a>: job launch daemon (not visible to the user)</li>
-  <li> <a href="g.gui.rlisetup.html">g.gui.rlisetup</a>: Configuration editor for r.li.'index'</li>
+  <li> <a href="g.gui.rlisetup.html">g.gui.rlisetup</a>: Configuration editor for the <tt>r.li.*</tt> module where <tt>*</tt> is name of the index</li>
 </ul>
 
 <b>Patch indices</b>:
@@ -161,6 +165,10 @@ configuration file on a 200x200 raster map, then the sample area is
   <li> <a href="r.li.simpson.html">r.li.simpson</a>: Calculates Simpson diversity index on a raster map</li>
 </ul>
 
+<b>Core library</b>:
+<ul>
+  <li> <a href="r.li.daemon.html">r.li.daemon</a>: library with common functionality (not visible to the user)</li>
+</ul>
 
 <h2>ADDING NEW INDICES</h2>
 
@@ -198,4 +206,4 @@ Commission from Faunalia Pontedera (PI)
 Partially rewritten by Markus Metz
 
 <p>
-<i>Last changed: $Date: 2015-04-09 17:19:11 +0200 (Thu, 09 Apr 2015) $</i>
+<i>Last changed: $Date: 2016-02-01 10:54:26 -0800 (Mon, 01 Feb 2016) $</i>
diff --git a/raster/r.li/r.li.mpa/mpa.c b/raster/r.li/r.li.mpa/mpa.c
index f5b4968..d711972 100644
--- a/raster/r.li/r.li.mpa/mpa.c
+++ b/raster/r.li/r.li.mpa/mpa.c
@@ -15,13 +15,14 @@
  *
  *****************************************************************************/
 
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/glocale.h>
+
 #include <stdlib.h>
 #include <fcntl.h>
 #include <math.h>
 
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include <grass/glocale.h>
 
 #include "../r.li.daemon/defs.h"
 #include "../r.li.daemon/daemon.h"
diff --git a/raster/r.li/r.li.mpa/r.li.mpa.html b/raster/r.li/r.li.mpa/r.li.mpa.html
index 5e48042..c8f3894 100644
--- a/raster/r.li/r.li.mpa/r.li.mpa.html
+++ b/raster/r.li/r.li.mpa/r.li.mpa.html
@@ -81,4 +81,4 @@ Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)<br>
 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.mps/r.li.mps.html b/raster/r.li/r.li.mps/r.li.mps.html
index 27d8c3f..10284f1 100644
--- a/raster/r.li/r.li.mps/r.li.mps.html
+++ b/raster/r.li/r.li.mps/r.li.mps.html
@@ -82,4 +82,4 @@ Michael Shapiro - CERL (patch identification)<br>
 Markus Metz (statistics)
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.padcv/r.li.padcv.html b/raster/r.li/r.li.padcv/r.li.padcv.html
index 5ce05d3..144162b 100644
--- a/raster/r.li/r.li.padcv/r.li.padcv.html
+++ b/raster/r.li/r.li.padcv/r.li.padcv.html
@@ -72,4 +72,4 @@ Michael Shapiro - CERL (patch identification)<br>
 Markus Metz (statistics)
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.padrange/r.li.padrange.html b/raster/r.li/r.li.padrange/r.li.padrange.html
index ca3d5ea..f23307e 100644
--- a/raster/r.li/r.li.padrange/r.li.padrange.html
+++ b/raster/r.li/r.li.padrange/r.li.padrange.html
@@ -74,4 +74,4 @@ Michael Shapiro - CERL (patch identification)<br>
 Markus Metz (statistics)
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i></p>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i></p>
diff --git a/raster/r.li/r.li.padsd/r.li.padsd.html b/raster/r.li/r.li.padsd/r.li.padsd.html
index 8059005..cbae180 100644
--- a/raster/r.li/r.li.padsd/r.li.padsd.html
+++ b/raster/r.li/r.li.padsd/r.li.padsd.html
@@ -74,4 +74,4 @@ Michael Shapiro - CERL (patch identification)<br>
 Markus Metz (statistics)
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.patchdensity/r.li.patchdensity.html b/raster/r.li/r.li.patchdensity/r.li.patchdensity.html
index 2103741..ca25ec7 100644
--- a/raster/r.li/r.li.patchdensity/r.li.patchdensity.html
+++ b/raster/r.li/r.li.patchdensity/r.li.patchdensity.html
@@ -85,4 +85,4 @@ Michael Shapiro - CERL (patch identification)<br>
 Markus Metz (statistics)
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.patchnum/r.li.patchnum.html b/raster/r.li/r.li.patchnum/r.li.patchnum.html
index 214f47a..d709359 100644
--- a/raster/r.li/r.li.patchnum/r.li.patchnum.html
+++ b/raster/r.li/r.li.patchnum/r.li.patchnum.html
@@ -68,4 +68,4 @@ Michael Shapiro - CERL (patch identification)<br>
 Markus Metz (statistics)
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.pielou/r.li.pielou.html b/raster/r.li/r.li.pielou/r.li.pielou.html
index 0e0d519..d73daa0 100644
--- a/raster/r.li/r.li.pielou/r.li.pielou.html
+++ b/raster/r.li/r.li.pielou/r.li.pielou.html
@@ -71,4 +71,4 @@ Luca Delucchi and Duccio Rocchini, Fondazione E. Mach (Italy), based on the <em>
 developed by Serena Pallecchi student of Computer Science University of Pisa (Italy).<br>
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.renyi/r.li.renyi.html b/raster/r.li/r.li.renyi/r.li.renyi.html
index 86d69d4..fb75fe6 100644
--- a/raster/r.li/r.li.renyi/r.li.renyi.html
+++ b/raster/r.li/r.li.renyi/r.li.renyi.html
@@ -75,4 +75,4 @@ the <em>r.li.shannon</em> code developed by Serena Pallecchi student of
 Computer Science University of Pisa (Italy).<br>
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.richness/r.li.richness.html b/raster/r.li/r.li.richness/r.li.richness.html
index 9fa1d24..e4e6578 100644
--- a/raster/r.li/r.li.richness/r.li.richness.html
+++ b/raster/r.li/r.li.richness/r.li.richness.html
@@ -76,4 +76,4 @@ Serena Pallecchi student of Computer Science University of Pisa (Italy).<br>
 Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)
 
 <p>
-<i>Last changed: $Date: 2015-08-25 00:15:04 +0200 (Tue, 25 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-23 20:56:52 -0700 (Sun, 23 Aug 2015) $</i>
diff --git a/raster/r.li/r.li.shannon/r.li.shannon.html b/raster/r.li/r.li.shannon/r.li.shannon.html
index c65eebd..27ce491 100644
--- a/raster/r.li/r.li.shannon/r.li.shannon.html
+++ b/raster/r.li/r.li.shannon/r.li.shannon.html
@@ -72,4 +72,4 @@ Serena Pallecchi student of Computer Science University of Pisa (Italy).<br>
 Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)
 
 <p>
-<i>Last changed: $Date: 2015-08-25 00:15:04 +0200 (Tue, 25 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-23 20:56:52 -0700 (Sun, 23 Aug 2015) $</i>
diff --git a/raster/r.li/r.li.shape/r.li.shape.html b/raster/r.li/r.li.shape/r.li.shape.html
index bbf3819..2286c74 100644
--- a/raster/r.li/r.li.shape/r.li.shape.html
+++ b/raster/r.li/r.li.shape/r.li.shape.html
@@ -74,4 +74,4 @@ University of Pisa (Italy).<br>
 Commission from Faunalia Pontedera (PI) (www.faunalia.it)<br>
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.li/r.li.simpson/r.li.simpson.html b/raster/r.li/r.li.simpson/r.li.simpson.html
index 1fabb1a..413e9c7 100644
--- a/raster/r.li/r.li.simpson/r.li.simpson.html
+++ b/raster/r.li/r.li.simpson/r.li.simpson.html
@@ -72,4 +72,4 @@ Serena Pallecchi student of Computer Science University of Pisa (Italy).<br>
 Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)
 
 <p>
-<i>Last changed: $Date: 2015-08-25 00:15:04 +0200 (Tue, 25 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-23 20:56:52 -0700 (Sun, 23 Aug 2015) $</i>
diff --git a/raster/r.mapcalc/Makefile b/raster/r.mapcalc/Makefile
index db1f642..e427ebf 100644
--- a/raster/r.mapcalc/Makefile
+++ b/raster/r.mapcalc/Makefile
@@ -12,8 +12,8 @@ r3_mapcalc_OBJS := $(filter-out map.o xcoor.o xres.o, $(AUTO_OBJS))
 include $(MODULE_TOPDIR)/include/Make/Multi.make
 
 EXTRA_CFLAGS = $(READLINEINCPATH) $(PTHREADINCPATH)
-LIBES2 =           $(GISLIB) $(RASTERLIB) $(BTREELIB) $(READLINELIBPATH) $(READLINELIB) $(HISTORYLIB) $(PTHREADLIBPATH) $(PTHREADLIB)
-LIBES3 = $(RASTER3DLIB) $(GISLIB) $(RASTERLIB) $(BTREELIB) $(READLINELIBPATH) $(READLINELIB) $(HISTORYLIB) $(PTHREADLIBPATH) $(PTHREADLIB)
+LIBES2 = $(CALCLIB) $(GISLIB) $(RASTERLIB) $(BTREELIB) $(READLINELIBPATH) $(READLINELIB) $(HISTORYLIB) $(PTHREADLIBPATH) $(PTHREADLIB)
+LIBES3 = $(CALCLIB) $(RASTER3DLIB) $(GISLIB) $(RASTERLIB) $(BTREELIB) $(READLINELIBPATH) $(READLINELIB) $(HISTORYLIB) $(PTHREADLIBPATH) $(PTHREADLIB)
 
 default: multi
 
diff --git a/raster/r.mapcalc/check.c b/raster/r.mapcalc/check.c
deleted file mode 100644
index c288e1b..0000000
--- a/raster/r.mapcalc/check.c
+++ /dev/null
@@ -1,160 +0,0 @@
-
-#include "mapcalc.h"
-#include "func_proto.h"
-
-int c_int0(int argc, int *argt)
-{
-    if (argc > 0)
-	return E_ARG_HI;
-
-    argt[0] = CELL_TYPE;
-
-    return 0;
-}
-
-int c_double0(int argc, int *argt)
-{
-    if (argc > 0)
-	return E_ARG_HI;
-
-    argt[0] = DCELL_TYPE;
-
-    return 0;
-}
-
-int c_double1(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    argt[0] = DCELL_TYPE;
-    argt[1] = DCELL_TYPE;
-
-    return 0;
-}
-
-int c_double12(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argc > 2)
-	return E_ARG_HI;
-
-    argt[0] = DCELL_TYPE;
-    argt[1] = DCELL_TYPE;
-    if (argc == 2)
-	argt[2] = DCELL_TYPE;
-
-    return 0;
-}
-
-int c_unop(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    argt[0] = argt[1];
-
-    return 0;
-}
-
-int c_binop(int argc, int *argt)
-{
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    argt[0] = CELL_TYPE;
-    if (argt[1] == FCELL_TYPE || argt[2] == FCELL_TYPE)
-	argt[0] = FCELL_TYPE;
-    if (argt[1] == DCELL_TYPE || argt[2] == DCELL_TYPE)
-	argt[0] = DCELL_TYPE;
-
-    argt[1] = argt[0];
-    argt[2] = argt[0];
-
-    return 0;
-}
-
-int c_varop(int argc, int *argt)
-{
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    argt[0] = CELL_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] == FCELL_TYPE)
-	    argt[0] = FCELL_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] == DCELL_TYPE)
-	    argt[0] = DCELL_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	argt[i] = argt[0];
-
-    return 0;
-}
-
-int c_cmpop(int argc, int *argt)
-{
-    int arg_type;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    argt[0] = CELL_TYPE;
-
-    arg_type = CELL_TYPE;
-    if (argt[1] == FCELL_TYPE || argt[2] == FCELL_TYPE)
-	arg_type = FCELL_TYPE;
-    if (argt[1] == DCELL_TYPE || argt[2] == DCELL_TYPE)
-	arg_type = DCELL_TYPE;
-
-    argt[1] = arg_type;
-    argt[2] = arg_type;
-
-    return 0;
-}
-
-int c_logop(int argc, int *argt)
-{
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != CELL_TYPE)
-	    return E_ARG_TYPE;
-
-    argt[0] = CELL_TYPE;
-
-    return 0;
-}
-
-int c_shiftop(int argc, int *argt)
-{
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[1] != CELL_TYPE || argt[2] != CELL_TYPE)
-	return E_ARG_TYPE;
-
-    argt[0] = CELL_TYPE;
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/evaluate.c b/raster/r.mapcalc/evaluate.c
index aad44ed..68c0aa6 100644
--- a/raster/r.mapcalc/evaluate.c
+++ b/raster/r.mapcalc/evaluate.c
@@ -13,7 +13,7 @@
 /****************************************************************************/
 
 int current_depth, current_row;
-int depths, rows, columns;
+int depths, rows;
 
 /****************************************************************************/
 
@@ -362,4 +362,34 @@ void execute(expr_list * ee)
     G_unset_error_routine();
 }
 
+void describe_maps(FILE *fp, expr_list *ee)
+{
+    expr_list *l;
+
+    fprintf(fp, "output=");
+
+    for (l = ee; l; l = l->next) {
+	expression *e = l->exp;
+	const char *var;
+
+	if (e->type != expr_type_binding && e->type != expr_type_function)
+	    G_fatal_error("internal error: execute: invalid type: %d",
+			  e->type);
+
+	initialize(e);
+
+	if (e->type != expr_type_binding)
+	    continue;
+
+	var = e->data.bind.var;
+        fprintf(fp, "%s%s", l != ee ? "," : "", var);
+    }
+
+    fprintf(fp, "\n");
+
+    fprintf(fp, "input=");
+    list_maps(fp, ",");
+    fprintf(fp, "\n");
+}
+
 /****************************************************************************/
diff --git a/raster/r.mapcalc/expression.c b/raster/r.mapcalc/expression.c
index a64338f..2592b90 100644
--- a/raster/r.mapcalc/expression.c
+++ b/raster/r.mapcalc/expression.c
@@ -19,9 +19,13 @@ static func_desc *find_func(const char *name)
 {
     int i;
 
-    for (i = 0; func_descs[i].name; i++) {
-	if (strcmp(name, func_descs[i].name) == 0)
-	    return &func_descs[i];
+    for (i = 0; local_func_descs[i].name; i++) {
+	if (strcmp(name, local_func_descs[i].name) == 0)
+	    return &local_func_descs[i];
+    }
+    for (i = 0; calc_func_descs[i].name; i++) {
+	if (strcmp(name, calc_func_descs[i].name) == 0)
+	    return &calc_func_descs[i];
     }
     return NULL;
 }
diff --git a/raster/r.mapcalc/expression.h b/raster/r.mapcalc/expression.h
index 63b27c7..441e2cb 100644
--- a/raster/r.mapcalc/expression.h
+++ b/raster/r.mapcalc/expression.h
@@ -2,18 +2,9 @@
 #ifndef __EXPRESSION_H_
 #define __EXPRESSION_H_
 
-struct expr_list;
-
-typedef int func_t(int argc, const int *argt, void **args);
-typedef int args_t(int argc, int *argt);
+#include <grass/calc.h>
 
-#define E_ARG_LO	1
-#define E_ARG_HI	2
-#define E_ARG_TYPE	3
-#define E_RES_TYPE	4
-#define E_INV_TYPE	5
-#define E_ARG_NUM	6
-#define E_WTF		99
+struct expr_list;
 
 typedef enum expr_t
 {
@@ -85,13 +76,6 @@ typedef struct expr_list
     struct expr_list *next;
 } expr_list;
 
-typedef struct func_desc
-{
-    const char *name;
-    args_t *check_args;
-    func_t *func;
-} func_desc;
-
 extern int list_length(expr_list * l);
 extern void define_variable(expression * e);
 extern char *composite(const char *name, const char *mapset);
@@ -110,14 +94,6 @@ extern expression *operator(const char *name, const char *oper, int prec,
 extern expression *function(const char *name, expr_list * args);
 extern expression *binding(const char *var, expression * val);
 
-extern func_desc func_descs[];
-
-#define IS_NULL_C(x) (Rast_is_c_null_value((x)))
-#define IS_NULL_F(x) (Rast_is_f_null_value((x)))
-#define IS_NULL_D(x) (Rast_is_d_null_value((x)))
-
-#define SET_NULL_C(x) (Rast_set_c_null_value((x),1))
-#define SET_NULL_F(x) (Rast_set_f_null_value((x),1))
-#define SET_NULL_D(x) (Rast_set_d_null_value((x),1))
+extern func_desc local_func_descs[];
 
 #endif /* __EXPRESSION_H_ */
diff --git a/raster/r.mapcalc/func_proto.h b/raster/r.mapcalc/func_proto.h
index 823adf7..631582d 100644
--- a/raster/r.mapcalc/func_proto.h
+++ b/raster/r.mapcalc/func_proto.h
@@ -1,104 +1,12 @@
 
 #include "expression.h"
 
-extern func_t f_add;
-extern func_t f_sub;
-extern func_t f_mul;
-extern func_t f_div;
-extern func_t f_mod;
-extern func_t f_pow;
-extern args_t c_binop;
-
-extern func_t f_neg;
-extern func_t f_abs;
-extern args_t c_unop;
-
-extern func_t f_gt;
-extern func_t f_ge;
-extern func_t f_lt;
-extern func_t f_le;
-extern func_t f_eq;
-extern func_t f_ne;
-extern args_t c_cmpop;
-
-extern func_t f_and;
-extern func_t f_or;
-extern func_t f_and2;
-extern func_t f_or2;
-extern func_t f_bitand;
-extern func_t f_bitor;
-extern func_t f_bitxor;
-extern args_t c_logop;
-
-extern func_t f_shiftl;
-extern func_t f_shiftr;
-extern func_t f_shiftru;
-extern args_t c_shiftop;
-
-extern func_t f_not;
-extern func_t f_bitnot;
-extern args_t c_not;
-
-extern func_t f_sqrt;
-extern func_t f_sin;
-extern func_t f_cos;
-extern func_t f_tan;
-extern func_t f_acos;
-extern func_t f_asin;
-extern args_t c_double1;
-
-extern func_t f_exp;
-extern func_t f_log;
-extern func_t f_atan;
-extern args_t c_double12;
-
-extern func_t f_int;
-extern args_t c_int;
-
-extern func_t f_float;
-extern args_t c_float;
-
-extern func_t f_double;
-extern args_t c_double;
-
-extern func_t f_round;
-extern args_t c_round;
-
-extern func_t f_eval;
-extern args_t c_eval;
-
-extern func_t f_if;
-extern args_t c_if;
-
-extern func_t f_isnull;
-extern args_t c_isnull;
-
-extern func_t f_graph;
-extern func_t f_graph2;
-extern args_t c_graph;
-
-extern func_t f_min;
-extern func_t f_max;
-extern func_t f_nmin;
-extern func_t f_nmax;
-extern args_t c_varop;
-
-extern func_t f_median;
-extern func_t f_nmedian;
-extern args_t c_median;
-
-extern func_t f_mode;
-extern func_t f_nmode;
-extern args_t c_mode;
-
-extern func_t f_rand;
-extern args_t c_binop;
-
-extern func_t f_null;
 extern func_t f_col;
 extern func_t f_row;
 extern func_t f_depth;
-extern args_t c_int0;
+extern func_t f_nrows;
+extern func_t f_ncols;
+extern func_t f_ndepths;
 
 extern func_t f_x;
 extern func_t f_y;
@@ -106,4 +14,3 @@ extern func_t f_z;
 extern func_t f_ewres;
 extern func_t f_nsres;
 extern func_t f_tbres;
-extern args_t c_double0;
diff --git a/raster/r.mapcalc/function.c b/raster/r.mapcalc/function.c
index eb321a5..7f2e7c4 100644
--- a/raster/r.mapcalc/function.c
+++ b/raster/r.mapcalc/function.c
@@ -7,89 +7,22 @@
 #include "expression.h"
 #include "func_proto.h"
 
-func_desc func_descs[] = {
-    {"add", c_varop, f_add},
-    {"sub", c_binop, f_sub},
-    {"mul", c_varop, f_mul},
-    {"div", c_binop, f_div},
-    {"mod", c_binop, f_mod},
-    {"pow", c_binop, f_pow},
-
-    {"neg", c_unop, f_neg},
-    {"abs", c_unop, f_abs},
-
-    {"gt", c_cmpop, f_gt},
-    {"ge", c_cmpop, f_ge},
-    {"lt", c_cmpop, f_lt},
-    {"le", c_cmpop, f_le},
-    {"eq", c_cmpop, f_eq},
-    {"ne", c_cmpop, f_ne},
-
-    {"and", c_logop, f_and},
-    {"or", c_logop, f_or},
-
-    {"and2", c_logop, f_and2},
-    {"or2", c_logop, f_or2},
-
-    {"not", c_not, f_not},
-
-    {"bitand", c_logop, f_bitand},
-    {"bitor", c_logop, f_bitor},
-    {"xor", c_logop, f_bitxor},
-
-    {"shiftl", c_shiftop, f_shiftl},
-    {"shiftr", c_shiftop, f_shiftr},
-    {"shiftru", c_shiftop, f_shiftru},
-
-    {"bitnot", c_not, f_bitnot},
-
-    {"sqrt", c_double1, f_sqrt},
-    {"sin", c_double1, f_sin},
-    {"cos", c_double1, f_cos},
-    {"tan", c_double1, f_tan},
-    {"acos", c_double1, f_acos},
-    {"asin", c_double1, f_asin},
-
-    {"exp", c_double12, f_exp},
-    {"log", c_double12, f_log},
-    {"atan", c_double12, f_atan},
-
-    {"int", c_int, f_int},
-    {"float", c_float, f_float},
-    {"double", c_double, f_double},
-    {"round", c_round, f_round},
-
-    {"eval", c_eval, f_eval},
-    {"if", c_if, f_if},
-    {"isnull", c_isnull, f_isnull},
-
-    {"max", c_varop, f_max},
-    {"min", c_varop, f_min},
-    {"median", c_varop, f_median},
-    {"mode", c_varop, f_mode},
-
-    {"nmax", c_varop, f_nmax},
-    {"nmin", c_varop, f_nmin},
-    {"nmedian", c_varop, f_nmedian},
-    {"nmode", c_varop, f_nmode},
-
-    {"graph", c_graph, f_graph},
-    {"graph2", c_graph, f_graph2},
-
-    {"rand", c_binop, f_rand},
-
-    {"null", c_int0, f_null},
-
+func_desc local_func_descs[] = {
     {"col", c_int0, f_col},
     {"row", c_int0, f_row},
     {"depth", c_int0, f_depth},
+    {"ncols", c_int0, f_ncols},
+    {"nrows", c_int0, f_nrows},
+    {"ndepths", c_int0, f_ndepths},
 
     {"x", c_double0, f_x},
     {"y", c_double0, f_y},
     {"z", c_double0, f_z},
+
     {"ewres", c_double0, f_ewres},
     {"nsres", c_double0, f_nsres},
     {"tbres", c_double0, f_tbres},
+
     {NULL, NULL, NULL}
 };
 
@@ -98,7 +31,9 @@ void print_function_names(void)
     int i;
 
     fprintf(stderr, _("Known functions:"));
-    for (i = 0; func_descs[i].name; i++)
-	fprintf(stderr, "%c%-10s", i % 7 ? ' ' : '\n', func_descs[i].name);
+    for (i = 0; calc_func_descs[i].name; i++)
+	fprintf(stderr, "%c%-10s", i % 7 ? ' ' : '\n', calc_func_descs[i].name);
+    for (i = 0; local_func_descs[i].name; i++)
+	fprintf(stderr, "%c%-10s", i % 7 ? ' ' : '\n', local_func_descs[i].name);
     fprintf(stderr, "\n");
 }
diff --git a/raster/r.mapcalc/globals.h b/raster/r.mapcalc/globals.h
index 575f18a..9db7b91 100644
--- a/raster/r.mapcalc/globals.h
+++ b/raster/r.mapcalc/globals.h
@@ -2,14 +2,11 @@
 #ifndef __GLOBALS_H_
 #define __GLOBALS_H_
 
-extern volatile int floating_point_exception;
-extern volatile int floating_point_exception_occurred;
-extern int overflow_occurred;
 extern int overwrite_flag;
 extern long seed_value;
 extern long seeded;
 
 extern int current_depth, current_row;
-extern int depths, rows, columns;
+extern int depths, rows;
 
 #endif /* __GLOBALS_H_ */
diff --git a/raster/r.mapcalc/main.c b/raster/r.mapcalc/main.c
index fbdb2f8..3b5235e 100644
--- a/raster/r.mapcalc/main.c
+++ b/raster/r.mapcalc/main.c
@@ -14,7 +14,6 @@
  *****************************************************************************/
 
 #include <unistd.h>
-#include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -25,12 +24,8 @@
 
 /****************************************************************************/
 
-int overflow_occurred;
 int overwrite_flag;
 
-volatile int floating_point_exception;
-volatile int floating_point_exception_occurred;
-
 long seed_value;
 long seeded;
 
@@ -40,47 +35,6 @@ static expr_list *result;
 
 /****************************************************************************/
 
-static RETSIGTYPE handle_fpe(int n)
-{
-    floating_point_exception = 1;
-    floating_point_exception_occurred = 1;
-}
-
-static void pre_exec(void)
-{
-#ifndef __MINGW32__
-#ifdef SIGFPE
-    struct sigaction act;
-
-    act.sa_handler = &handle_fpe;
-    act.sa_flags = 0;
-    sigemptyset(&act.sa_mask);
-
-    sigaction(SIGFPE, &act, NULL);
-#endif
-#endif
-
-    floating_point_exception_occurred = 0;
-    overflow_occurred = 0;
-}
-
-static void post_exec(void)
-{
-#ifndef __MINGW32__
-#ifdef SIGFPE
-    struct sigaction act;
-
-    act.sa_handler = SIG_DFL;
-    act.sa_flags = 0;
-    sigemptyset(&act.sa_mask);
-
-    sigaction(SIGFPE, &act, NULL);
-#endif
-#endif
-}
-
-/****************************************************************************/
-
 static expr_list *parse_file(const char *filename)
 {
     expr_list *res;
@@ -106,7 +60,7 @@ int main(int argc, char **argv)
 {
     struct GModule *module;
     struct Option *expr, *file, *seed;
-    struct Flag *random;
+    struct Flag *random, *describe;
     int all_ok;
 
     G_gisinit(argv[0]);
@@ -140,6 +94,10 @@ int main(int argc, char **argv)
     random->key = 's';
     random->description = _("Generate random seed (result is non-deterministic)");
 
+    describe = G_define_flag();
+    describe->key = 'l';
+    describe->description = _("List input and output maps");
+
     if (argc == 1)
     {
 	char **p = G_malloc(3 * sizeof(char *));
@@ -186,6 +144,11 @@ int main(int argc, char **argv)
 	G_debug(3, "Generated random seed (-s): %ld", seed_value);
     }
 
+    if (describe->answer) {
+        describe_maps(stdout, result);
+        return EXIT_SUCCESS;
+    }
+
     pre_exec();
     execute(result);
     post_exec();
@@ -197,11 +160,6 @@ int main(int argc, char **argv)
 	all_ok = 0;
     }
 
-    if (overflow_occurred) {
-	G_warning(_("Overflow occurred in the calculation"));
-	all_ok = 0;
-    }
-
     return all_ok ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
diff --git a/raster/r.mapcalc/map.c b/raster/r.mapcalc/map.c
index da669cd..08a04bd 100644
--- a/raster/r.mapcalc/map.c
+++ b/raster/r.mapcalc/map.c
@@ -14,6 +14,7 @@
 #include <grass/raster.h>
 #include <grass/btree.h>
 #include <grass/glocale.h>
+#include <grass/calc.h>
 
 #include "mapcalc.h"
 #include "globals.h"
@@ -29,6 +30,7 @@ void setup_region(void)
 
     rows = Rast_window_rows();
     columns = Rast_window_cols();
+    calc_init(columns);
     depths = 1;
 }
 
@@ -168,7 +170,7 @@ static void *cache_get_raw(struct row_cache *cache, int row, int data_type)
 
     if (i <= -cache->nrows || i >= cache->nrows * 2 - 1) {
 	memset(sub->valid, 0, cache->nrows);
-	sub->row = i;
+	sub->row = row;
 	read_row(cache->fd, sub->buf[0], row, data_type);
 	sub->valid[0] = 1;
 	return sub->buf[0];
@@ -307,7 +309,7 @@ static void translate_from_colors(struct map *m, DCELL *rast, CELL *cell,
  * to compute the key and the index
  *
  * This uses the BTREE library to manage the tree itself
- * btree structure must already be intialized
+ * btree structure must already be initialized
  * pcats structure must already contain category labels
  */
 
@@ -651,6 +653,16 @@ void close_maps(void)
 #endif
 }
 
+void list_maps(FILE *fp, const char *sep)
+{
+    int i;
+
+    for (i = 0; i < num_maps; i++) {
+        const struct map *m = &maps[i];
+        fprintf(fp, "%s%s@%s", i ? sep : "", m->name, m->mapset);
+    }
+}
+
 /****************************************************************************/
 
 int check_output_map(const char *name)
diff --git a/raster/r.mapcalc/map3.c b/raster/r.mapcalc/map3.c
index 4ca4b30..776948e 100644
--- a/raster/r.mapcalc/map3.c
+++ b/raster/r.mapcalc/map3.c
@@ -10,6 +10,7 @@
 #include <grass/raster3d.h>
 #include <grass/btree.h>
 #include <grass/glocale.h>
+#include <grass/calc.h>
 
 #include "mapcalc.h"
 #include "globals.h"
@@ -27,6 +28,7 @@ void setup_region(void)
     rows = current_region3.rows;
     columns = current_region3.cols;
     depths = current_region3.depths;
+    calc_init(columns);
 }
 
 /****************************************************************************/
@@ -255,7 +257,7 @@ static void translate_from_colors(map * m, DCELL * rast, CELL * cell,
  * to compute the key and the index
  *
  * This uses the BTREE library to manage the tree itself
- * btree structure must already be intialized
+ * btree structure must already be initialized
  * pcats structure must already contain category labels
  */
 
@@ -525,7 +527,7 @@ void setup_maps(void)
      * avoid that several threads access a single map for reading
      * at the same time. The raster3d library is not thread safe.
      * */
-    putenv("WORKERS=1");
+    putenv("WORKERS=0");
 
     for (i = 0; i < num_maps; i++)
 	setup_map(&maps[i]);
@@ -575,6 +577,16 @@ void close_maps(void)
     num_maps = 0;
 }
 
+void list_maps(FILE *fp, const char *sep)
+{
+    int i;
+
+    for (i = 0; i < num_maps; i++) {
+        const struct map *m = &maps[i];
+        fprintf(fp, "%s%s@%s", i ? sep : "", m->name, m->mapset);
+    }
+}
+
 /****************************************************************************/
 
 int check_output_map(const char *name)
diff --git a/raster/r.mapcalc/mapcalc.h b/raster/r.mapcalc/mapcalc.h
index e61fca6..7016f08 100644
--- a/raster/r.mapcalc/mapcalc.h
+++ b/raster/r.mapcalc/mapcalc.h
@@ -38,6 +38,7 @@ extern char *format_expression(const expression *);
 /* evaluate.c */
 
 extern void execute(expr_list *);
+extern void describe_maps(FILE *, expr_list *);
 
 /* map.c/map3.c */
 
@@ -49,6 +50,7 @@ extern void setup_maps(void);
 extern void get_map_row(int idx, int mod, int depth, int row, int col,
 			void *buf, int res_type);
 extern void close_maps(void);
+extern void list_maps(FILE *, const char *);
 
 extern int check_output_map(const char *name);
 extern int open_output_map(const char *name, int res_type);
diff --git a/raster/r.mapcalc/r.mapcalc.html b/raster/r.mapcalc/r.mapcalc.html
index bcc4b5d..0e27258 100644
--- a/raster/r.mapcalc/r.mapcalc.html
+++ b/raster/r.mapcalc/r.mapcalc.html
@@ -332,12 +332,14 @@ xor(x,y)                exclusive-or (XOR) of x and y                   I
 
 <div class="code"><pre>
 Internal variables:
- row()                  current row of moving window
- col()                  current col of moving window
- x()                    current x-coordinate of moving window
- y()                    current y-coordinate of moving window
- ewres()                current east-west resolution
- nsres()                current north-south resolution
+ row()                  current row of moving window                    I
+ col()                  current col of moving window                    I
+ nrows()                number of rows in computation region            I
+ ncols()                number of columns in computation region         I
+ x()                    current x-coordinate of moving window           F
+ y()                    current y-coordinate of moving window           F
+ ewres()                current east-west resolution                    F
+ nsres()                current north-south resolution                  F
  null()                 NULL value
 </pre></div>
 Note, that the row() and col() indexing starts with 1.
@@ -729,4 +731,4 @@ Research Laboratory
 <p>Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2015-10-25 11:02:36 +0100 (Sun, 25 Oct 2015) $</i>
+<i>Last changed: $Date: 2016-01-25 05:23:34 -0800 (Mon, 25 Jan 2016) $</i>
diff --git a/raster/r.mapcalc/r3.mapcalc.html b/raster/r.mapcalc/r3.mapcalc.html
index 86f4e02..57b5f31 100644
--- a/raster/r.mapcalc/r3.mapcalc.html
+++ b/raster/r.mapcalc/r3.mapcalc.html
@@ -166,6 +166,7 @@ result = x at PERMANENT / y at SOILS
 GRASS commands, not just <em>r3.mapcalc</em>.)
 <p>
 
+
 <h3>The neighborhood modifier</h3>
 
 3D grids are data base files stored in voxel format, i.e., three-dimensional
@@ -240,15 +241,18 @@ xor(x,y)                exclusive-or (XOR) of x and y                   I
 
 <div class="code"><pre>
 Internal variables:
- row()                  current row of moving window
- col()                  current col of moving window
- depth()                return current depth
- x()                    current x-coordinate of moving window
- y()                    current y-coordinate of moving window
- z()                    return current z value
- ewres()                current east-west resolution
- nsres()                current north-south resolution
- tbres()                current top-bottom resolution
+ row()                  current row of moving window                    I
+ col()                  current col of moving window                    I
+ depth()                return current depth                            I
+ nrows()                number of rows in computation region            I
+ ncols()                number of columns in computation region         I
+ ndepths()              number of depth levels in computation region    I
+ x()                    current x-coordinate of moving window           F
+ y()                    current y-coordinate of moving window           F
+ z()                    return current z value                          F
+ ewres()                current east-west resolution                    F
+ nsres()                current north-south resolution                  F
+ tbres()                current top-bottom resolution                   F
  null()                 NULL value
 </pre></div>
 Note, that the row(), col() and depth() indexing starts with 1. 
@@ -517,9 +521,9 @@ To mask 3D grid <em>b</em> by 3D grid <em>a</em>:
 <div class="code"><pre>
 result = if(a,b)
 </pre></div>
-To change all values below 5 to NULL:
+To change all values below 5 to NULL, keep otherwise:
 <div class="code"><pre>
-newmap = if(map<5, null(), 5)
+newmap = if(map < 5, null(), map)
 </pre></div>
 The graph() function allows users to specify a x-y conversion using 
 pairs of x,y coordinates.
@@ -600,4 +604,4 @@ Tomas Paudits & Jaro Hofierka, funded by GeoModel s.r.o., Slovakia
 <p>Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2015-10-25 11:02:36 +0100 (Sun, 25 Oct 2015) $</i>
+<i>Last changed: $Date: 2016-02-08 05:11:20 -0800 (Mon, 08 Feb 2016) $</i>
diff --git a/raster/r.mapcalc/testsuite/test_r3_mapcalc.py b/raster/r.mapcalc/testsuite/test_r3_mapcalc.py
index aa77c42..bd7a945 100644
--- a/raster/r.mapcalc/testsuite/test_r3_mapcalc.py
+++ b/raster/r.mapcalc/testsuite/test_r3_mapcalc.py
@@ -1,10 +1,11 @@
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
 
 # TODO: add more expressions
 # TODO: add tests with prepared data
 
-class TestBasicOperations(grass.gunittest.TestCase):
+class TestBasicOperations(TestCase):
 
     # TODO: replace by unified handing of maps
     to_remove = []
@@ -50,7 +51,15 @@ class TestBasicOperations(grass.gunittest.TestCase):
             expression='diff_e_e = 3 * x() * y() * z() - 3 * x() * y() * z()')
         self.to_remove.append('diff_e_e')
         self.assertRaster3dMinMax('diff_e_e', refmin=0, refmax=0)
+    
+    def test_nrows_ncols_ndepths_sum(self):
+        """Test if sum of nrows, ncols and ndepths matches one
+        expected from current region settigs"""
+        self.assertModule('r3.mapcalc',
+            expression='nrows_ncols_ndepths_sum = nrows() + ncols() + ndepths()')
+        self.to_remove.append('nrows_ncols_ndepths_sum')
+        self.assertRasterMinMax('nrows_ncols_ndepths_sum', refmin=2160, refmax=2160)
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/raster/r.mapcalc/testsuite/test_r_mapcalc.py b/raster/r.mapcalc/testsuite/test_r_mapcalc.py
index 9a1d940..53fa58d 100644
--- a/raster/r.mapcalc/testsuite/test_r_mapcalc.py
+++ b/raster/r.mapcalc/testsuite/test_r_mapcalc.py
@@ -1,4 +1,5 @@
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gmodules import SimpleModule
 
 cell_seed_500 = """\
@@ -8,16 +9,16 @@ east: 25
 west: 15
 rows: 10
 cols: 10
-2 12 183 135 117 176 138 117 182 40
-157 70 195 1 30 125 122 74 108 104
-163 146 82 164 67 63 60 3 147 193
-151 173 144 173 128 77 141 6 144 193
-180 56 14 121 124 107 46 107 90 60
-177 57 12 104 178 13 167 104 163 187
-55 133 27 114 195 60 78 35 49 11
-55 138 25 105 32 58 47 18 139 32
-24 74 36 71 131 124 87 161 160 154
-136 45 48 146 9 182 69 12 35 19
+121 12 183 55 37 96 138 117 182 40 
+157 70 115 1 149 125 42 193 108 24 
+83 66 82 84 186 182 179 122 67 113 
+151 93 144 173 128 196 61 125 64 193 
+180 175 14 41 44 27 165 27 90 60 
+97 57 12 104 98 13 87 24 83 107 
+174 133 146 114 115 60 78 154 49 130 
+55 138 144 25 32 58 47 137 139 32 
+143 193 155 190 131 124 87 81 160 154 
+56 45 48 66 9 182 69 12 154 19 
 """
 
 dcell_seed_600 = """\
@@ -59,7 +60,7 @@ cols: 10
 """
 
 
-class TestRandFunction(grass.gunittest.TestCase):
+class TestRandFunction(TestCase):
 
     # TODO: replace by unified handing of maps
     to_remove = []
@@ -164,7 +165,7 @@ class TestRandFunction(grass.gunittest.TestCase):
 # TODO: add more expressions
 # TODO: add tests with prepared data
 
-class TestBasicOperations(grass.gunittest.TestCase):
+class TestBasicOperations(TestCase):
 
     # TODO: replace by unified handing of maps
     to_remove = []
@@ -217,7 +218,15 @@ class TestBasicOperations(grass.gunittest.TestCase):
             expression='diff_e_e = 3 * x() * y() - 3 * x() * y()')
         self.to_remove.append('diff_e_e')
         self.assertRasterMinMax('diff_e_e', refmin=0, refmax=0)
+    
+    def test_nrows_ncols_sum(self):
+        """Test if sum of nrows and ncols matches one
+        expected from current region settigs"""
+        self.assertModule('r.mapcalc',
+            expression='nrows_ncols_sum = nrows() + ncols()')
+        self.to_remove.append('nrows_ncols_sum')
+        self.assertRasterMinMax('nrows_ncols_sum', refmin=20, refmax=20)
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/raster/r.mapcalc/xabs.c b/raster/r.mapcalc/xabs.c
deleted file mode 100644
index c2fa1f1..0000000
--- a/raster/r.mapcalc/xabs.c
+++ /dev/null
@@ -1,69 +0,0 @@
-
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-abs(x)
-
-   absolute value. if x is negative returns -x
-**********************************************************************/
-
-int f_abs(int argc, const int *argt, void **args)
-{
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != argt[1])
-	return E_RES_TYPE;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_C(&arg1[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] < 0 ? -arg1[i]
-			: arg1[i];
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_F(&arg1[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = (FCELL) fabs(arg1[i]);
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_D(&arg1[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = fabs(arg1[i]);
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xacos.c b/raster/r.mapcalc/xacos.c
deleted file mode 100644
index ec90aa2..0000000
--- a/raster/r.mapcalc/xacos.c
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#include <stdlib.h>
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-acos(x)  [0 and PI]
-
-  if floating point exception occurs during the evaluation of acos(x)
-  the result is NULL
-
-  note: result is in degrees
-**********************************************************************/
-
-#define RADIANS_TO_DEGREES (180.0 / M_PI)
-
-int f_acos(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]))
-	    SET_NULL_D(&res[i]);
-	else {
-	    floating_point_exception = 0;
-	    res[i] = RADIANS_TO_DEGREES * acos(arg1[i]);
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xadd.c b/raster/r.mapcalc/xadd.c
deleted file mode 100644
index a695a20..0000000
--- a/raster/r.mapcalc/xadd.c
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-add(a,b,c,...) = a + b + c + ...
-****************************************************************/
-
-int f_add(int argc, const int *argt, void **args)
-{
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argz = (CELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		res[i] = 0;
-		for (j = 1; j <= argc; j++) {
-		    if (IS_NULL_C(&argz[j][i])) {
-			SET_NULL_C(&res[i]);
-			break;
-		    }
-		    res[i] += argz[j][i];
-		}
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argz = (FCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		res[i] = 0;
-		for (j = 1; j <= argc; j++) {
-		    if (IS_NULL_F(&argz[j][i])) {
-			SET_NULL_F(&res[i]);
-			break;
-		    }
-		    res[i] += argz[j][i];
-		}
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argz = (DCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		res[i] = 0;
-		for (j = 1; j <= argc; j++) {
-		    if (IS_NULL_D(&argz[j][i])) {
-			SET_NULL_D(&res[i]);
-			break;
-		    }
-		    res[i] += argz[j][i];
-		}
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xand.c b/raster/r.mapcalc/xand.c
deleted file mode 100644
index 1bf1b17..0000000
--- a/raster/r.mapcalc/xand.c
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-and(a,b,c,...) = a && b && c && ...
-****************************************************************/
-
-int f_and(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL **argz = (CELL **) args;
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != CELL_TYPE)
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	res[i] = 1;
-	for (j = 1; j <= argc; j++) {
-	    if (IS_NULL_C(&argz[j][i])) {
-		SET_NULL_C(&res[i]);
-		break;
-	    }
-	    if (!argz[j][i])
-		res[i] = 0;
-	}
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xand2.c b/raster/r.mapcalc/xand2.c
deleted file mode 100644
index e2abff0..0000000
--- a/raster/r.mapcalc/xand2.c
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-and2(a,b,c,...) = a && b && c && ...
-
-Differs from and() in that the boolean axioms:
-
-	false && x == false
-	x && false == false
-
-hold even when x is null.
-****************************************************************/
-
-int f_and2(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL **argz = (CELL **) args;
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != CELL_TYPE)
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	res[i] = 1;
-	for (j = 1; j <= argc; j++) {
-	    if (!IS_NULL_C(&argz[j][i]) && !argz[j][i]) {
-		res[i] = 0;
-		break;
-	    }
-	    if (IS_NULL_C(&argz[j][i]))
-		SET_NULL_C(&res[i]);
-	}
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xasin.c b/raster/r.mapcalc/xasin.c
deleted file mode 100644
index 99ca212..0000000
--- a/raster/r.mapcalc/xasin.c
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#include <stdlib.h>
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-asin(x)  range [-90,90]
-
-  if floating point exception occurs during the evaluation of asin(x)
-  the result is NULL
-
-  note: result is in degrees
-**********************************************************************/
-
-#define RADIANS_TO_DEGREES (180.0 / M_PI)
-
-int f_asin(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]))
-	    SET_NULL_D(&res[i]);
-	else {
-	    floating_point_exception = 0;
-	    res[i] = RADIANS_TO_DEGREES * asin(arg1[i]);
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xatan.c b/raster/r.mapcalc/xatan.c
deleted file mode 100644
index ed99624..0000000
--- a/raster/r.mapcalc/xatan.c
+++ /dev/null
@@ -1,66 +0,0 @@
-
-#include <stdlib.h>
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-atan(x)     range [-90,90]
-atan(x,y) = atan(y/x) range[0,360]
-
-  if floating point exception occurs during the evaluation of atan(x)
-  the result is NULL
-
-  note: result is in degrees
-**********************************************************************/
-
-#define RADIANS_TO_DEGREES (180.0 / M_PI)
-
-int f_atan(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    DCELL *arg2;
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    if (argc > 1 && argt[2] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    arg2 = (argc > 1) ? args[2] : NULL;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]))
-	    SET_NULL_D(&res[i]);
-	else if (argc > 1 && IS_NULL_D(&arg2[i]))
-	    SET_NULL_D(&res[i]);
-
-	else {
-	    floating_point_exception = 0;
-	    if (argc == 1)
-		res[i] = RADIANS_TO_DEGREES * atan(arg1[i]);
-	    else {
-		res[i] = RADIANS_TO_DEGREES * atan2(arg2[i], arg1[i]);
-		if (res[i] < 0)
-		    res[i] += 360.0;
-	    }
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xbitand.c b/raster/r.mapcalc/xbitand.c
deleted file mode 100644
index f61845c..0000000
--- a/raster/r.mapcalc/xbitand.c
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-bitand(a,b,c,...) = a & b & c & ...
-****************************************************************/
-
-int f_bitand(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL **argz = (CELL **) args;
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != CELL_TYPE)
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	res[i] = ~0;
-	for (j = 1; j <= argc; j++) {
-	    if (IS_NULL_C(&argz[j][i])) {
-		SET_NULL_C(&res[i]);
-		break;
-	    }
-	    res[i] &= argz[j][i];
-	}
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xbitnot.c b/raster/r.mapcalc/xbitnot.c
deleted file mode 100644
index 551f74b..0000000
--- a/raster/r.mapcalc/xbitnot.c
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-bitnot(a) = ~a
-****************************************************************/
-
-int f_bitnot(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[1] != CELL_TYPE)
-	return E_ARG_TYPE;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	if (IS_NULL_C(&arg1[i]))
-	    SET_NULL_C(&res[i]);
-	else
-	    res[i] = ~arg1[i];
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xbitor.c b/raster/r.mapcalc/xbitor.c
deleted file mode 100644
index 61ee234..0000000
--- a/raster/r.mapcalc/xbitor.c
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-bitor(a,b,c,...) = a | b | c | ...
-****************************************************************/
-
-int f_bitor(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL **argz = (CELL **) args;
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != CELL_TYPE)
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	res[i] = 0;
-	for (j = 1; j <= argc; j++) {
-	    if (IS_NULL_C(&argz[j][i])) {
-		SET_NULL_C(&res[i]);
-		break;
-	    }
-	    res[i] |= argz[j][i];
-	}
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xbitxor.c b/raster/r.mapcalc/xbitxor.c
deleted file mode 100644
index 0bf33d8..0000000
--- a/raster/r.mapcalc/xbitxor.c
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-bitxor(a,b,c,...) = a ^ b ^ c ^ ...
-****************************************************************/
-
-int f_bitxor(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL **argz = (CELL **) args;
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != CELL_TYPE)
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	res[i] = 0;
-	for (j = 1; j <= argc; j++) {
-	    if (IS_NULL_C(&argz[j][i])) {
-		SET_NULL_C(&res[i]);
-		break;
-	    }
-	    res[i] ^= argz[j][i];
-	}
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xcos.c b/raster/r.mapcalc/xcos.c
deleted file mode 100644
index 938ee36..0000000
--- a/raster/r.mapcalc/xcos.c
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-cos(x) 
-
-  if floating point exception occurs during the evaluation of cos(x)
-  the result is NULL
-
-  note: x is in degrees.
-**********************************************************************/
-
-#define DEGREES_TO_RADIANS (M_PI / 180.0)
-
-int f_cos(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]))
-	    SET_NULL_D(&res[i]);
-	else {
-	    floating_point_exception = 0;
-	    res[i] = cos(arg1[i] * DEGREES_TO_RADIANS);
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xdiv.c b/raster/r.mapcalc/xdiv.c
deleted file mode 100644
index 02a9729..0000000
--- a/raster/r.mapcalc/xdiv.c
+++ /dev/null
@@ -1,81 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-div(a,b) = a / b
-****************************************************************/
-
-int f_div(int argc, const int *argt, void **args)
-{
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[1] != argt[0] || argt[2] != argt[0])
-	return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]) ||
-		    arg2[i] == 0)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] / arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]) ||
-		    arg2[i] == 0.0f)
-		    SET_NULL_F(&res[i]);
-		else {
-		    floating_point_exception = 0;
-		    res[i] = arg1[i] / arg2[i];
-		    if (floating_point_exception)
-			SET_NULL_F(&res[i]);
-		}
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]) ||
-		    arg2[i] == 0.0)
-		    SET_NULL_D(&res[i]);
-		else {
-		    floating_point_exception = 0;
-		    res[i] = arg1[i] / arg2[i];
-		    if (floating_point_exception)
-			SET_NULL_D(&res[i]);
-		}
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xdouble.c b/raster/r.mapcalc/xdouble.c
deleted file mode 100644
index 0b8cc62..0000000
--- a/raster/r.mapcalc/xdouble.c
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-double(x)
-  converts x to double
-**********************************************************************/
-
-int f_double(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_C(&arg1[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = (DCELL) arg1[i];
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_F(&arg1[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = (DCELL) arg1[i];
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_D(&arg1[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = (DCELL) arg1[i];
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
-
-int c_double(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    argt[0] = DCELL_TYPE;
-    /*      argt[1] = argt[1];      */
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xeq.c b/raster/r.mapcalc/xeq.c
deleted file mode 100644
index b344d50..0000000
--- a/raster/r.mapcalc/xeq.c
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-eq(a,b) = a == b
-****************************************************************/
-
-int f_eq(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 2; i <= argc; i++)
-	if (argt[i] != argt[1])
-	    return E_ARG_TYPE;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] == arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] == arg2[i];
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] == arg2[i];
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xeval.c b/raster/r.mapcalc/xeval.c
deleted file mode 100644
index 6ee1234..0000000
--- a/raster/r.mapcalc/xeval.c
+++ /dev/null
@@ -1,75 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-eval(..,..,..,x) = x
-
-   return last argument
-**********************************************************************/
-
-int f_eval(int argc, const int *argt, void **args)
-{
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argt[0] != argt[argc])
-	return E_RES_TYPE;
-
-    switch (argt[argc]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL *arg1 = args[argc];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_C(&arg1[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i];
-
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL *arg1 = args[argc];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_F(&arg1[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = arg1[i];
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL *arg1 = args[argc];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_D(&arg1[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = arg1[i];
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
-
-int c_eval(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-
-    argt[0] = argt[argc];
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xexp.c b/raster/r.mapcalc/xexp.c
deleted file mode 100644
index fb68333..0000000
--- a/raster/r.mapcalc/xexp.c
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-exp(x)   computes e raised to power x
-exp(x,y) computes x raised to power y
-
-  if floating point exception occurs during the evaluation of exp(x)
-  or exp(x,y) the result is NULL
-**********************************************************************/
-
-int f_exp(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    DCELL *arg2;
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    arg2 = (argc > 1) ? args[2] : NULL;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]))
-	    SET_NULL_D(&res[i]);
-	else if (argc > 1 && IS_NULL_D(&arg2[i]))
-	    SET_NULL_D(&res[i]);
-	else if (argc > 1 && arg1[i] < 0 && arg2[i] != ceil(arg2[i]))
-	    SET_NULL_D(&res[i]);
-	else {
-	    floating_point_exception = 0;
-	    res[i] = (argc > 1)
-		? pow(arg1[i], arg2[i])
-		: exp(arg1[i]);
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xfloat.c b/raster/r.mapcalc/xfloat.c
deleted file mode 100644
index c337d14..0000000
--- a/raster/r.mapcalc/xfloat.c
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-float(x)
-  converts x to float
-**********************************************************************/
-
-int f_float(int argc, const int *argt, void **args)
-{
-    FCELL *res = args[0];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != FCELL_TYPE)
-	return E_RES_TYPE;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_C(&arg1[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = (FCELL) arg1[i];
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_F(&arg1[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = (FCELL) arg1[i];
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_D(&arg1[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = (FCELL) arg1[i];
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
-
-int c_float(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    argt[0] = FCELL_TYPE;
-    /*      argt[1] = argt[1];      */
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xge.c b/raster/r.mapcalc/xge.c
deleted file mode 100644
index d0da97c..0000000
--- a/raster/r.mapcalc/xge.c
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-ge(a,b) = a >= b
-****************************************************************/
-
-int f_ge(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] >= arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] >= arg2[i];
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] >= arg2[i];
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xgraph.c b/raster/r.mapcalc/xgraph.c
deleted file mode 100644
index 22e5477..0000000
--- a/raster/r.mapcalc/xgraph.c
+++ /dev/null
@@ -1,180 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-graph(x, x1,y1, x2,y2, ... xn,yn)  returns y value based on graph
-described by the x,y pairs.
-****************************************************************/
-
-int c_graph(int argc, int *argt)
-{
-    int i;
-
-    if (argc < 3)
-	return E_ARG_LO;
-
-    if (argc % 2 == 0)
-	return E_ARG_NUM;
-
-    for (i = 0; i <= argc; i++)
-	argt[i] = DCELL_TYPE;
-
-    return 0;
-}
-
-int f_graph(int argc, const int *argt, void **args)
-{
-    DCELL **argz = (DCELL **) args;
-    DCELL *res = argz[0];
-    int n = (argc - 1) / 2;
-    int i, j;
-
-    if (argc < 3)
-	return E_ARG_LO;
-
-    if (argc % 2 == 0)
-	return E_ARG_NUM;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != DCELL_TYPE)
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-#define X(j) (argz[2 + 2 * (j) + 0][i])
-#define Y(j) (argz[2 + 2 * (j) + 1][i])
-#define x (argz[1][i])
-
-	if (IS_NULL_D(&x))
-	    goto null;
-
-	for (j = 0; j < n; j++)
-	    if (IS_NULL_D(&X(j)))
-		goto null;
-
-	for (j = 0; j < n - 1; j++)
-	    if (X(j + 1) <= X(j))
-		goto null;
-
-	if (x <= X(0)) {
-	    if (IS_NULL_D(&Y(0)))
-		goto null;
-	    res[i] = Y(0);
-	    continue;
-	}
-
-	if (x >= X(n - 1)) {
-	    if (IS_NULL_D(&Y(n - 1)))
-		goto null;
-	    res[i] = Y(n - 1);
-	    continue;
-	}
-
-	for (j = 0; j < n - 1; j++) {
-	    if (x > X(j + 1))
-		continue;
-
-	    if (IS_NULL_D(&Y(j)) || IS_NULL_D(&Y(j + 1)))
-		goto null;
-
-	    res[i] =
-		Y(j) + (x - X(j)) * (Y(j + 1) - Y(j)) / (X(j + 1) - X(j));
-
-	    break;
-	}
-#undef X
-#undef Y
-#undef x
-
-	continue;
-
-      null:
-	SET_NULL_D(&res[i]);
-    }
-
-    return 0;
-}
-
-int f_graph2(int argc, const int *argt, void **args)
-{
-    DCELL **argz = (DCELL **) args;
-    DCELL *res = argz[0];
-    int n = (argc - 1) / 2;
-    int i, j;
-
-    if (argc < 3)
-	return E_ARG_LO;
-
-    if (argc % 2 == 0)
-	return E_ARG_NUM;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != DCELL_TYPE)
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-#define X(j) (argz[2 + (j) + 0][i])
-#define Y(j) (argz[2 + (j) + n][i])
-#define x (argz[1][i])
-
-	if (IS_NULL_D(&x))
-	    goto null;
-
-	for (j = 0; j < n; j++)
-	    if (IS_NULL_D(&X(j)))
-		goto null;
-
-	for (j = 0; j < n - 1; j++)
-	    if (X(j + 1) <= X(j))
-		goto null;
-
-	if (x <= X(0)) {
-	    if (IS_NULL_D(&Y(0)))
-		goto null;
-	    res[i] = Y(0);
-	    continue;
-	}
-
-	if (x >= X(n - 1)) {
-	    if (IS_NULL_D(&Y(n - 1)))
-		goto null;
-	    res[i] = Y(n - 1);
-	    continue;
-	}
-
-	for (j = 0; j < n - 1; j++) {
-	    if (x > X(j + 1))
-		continue;
-
-	    if (IS_NULL_D(&Y(j)) || IS_NULL_D(&Y(j + 1)))
-		goto null;
-
-	    res[i] =
-		Y(j) + (x - X(j)) * (Y(j + 1) - Y(j)) / (X(j + 1) - X(j));
-
-	    break;
-	}
-#undef X
-#undef Y
-#undef x
-
-	continue;
-
-      null:
-	SET_NULL_D(&res[i]);
-    }
-
-    return 0;
-}
-
diff --git a/raster/r.mapcalc/xgt.c b/raster/r.mapcalc/xgt.c
deleted file mode 100644
index 6e2835c..0000000
--- a/raster/r.mapcalc/xgt.c
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-gt(a,b) = a > b
-****************************************************************/
-
-int f_gt(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] > arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] > arg2[i];
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] > arg2[i];
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xif.c b/raster/r.mapcalc/xif.c
deleted file mode 100644
index 8a380e3..0000000
--- a/raster/r.mapcalc/xif.c
+++ /dev/null
@@ -1,305 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/********************************************************************
- if(a)        1,0,1  1 if a is non zero, 0 otherwise
- if(a,b)      b,0,b  b if a is non zero, 0 otherwise
- if(a,b,c)    b,c,b  b if a is non zero, c otherwise
- if(a,b,c,d)  d,c,b  b if a is positive, c if a is zero, d if a is negative
-********************************************************************/
-
-static int f_if_i(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    DCELL *arg1 = args[1];
-    CELL *arg2 = (argc >= 2) ? args[2] : NULL;
-    CELL *arg3 = (argc >= 3) ? args[3] : NULL;
-    CELL *arg4 = (argc >= 4) ? args[4] : NULL;
-    int i;
-
-    switch (argc) {
-    case 0:
-	return E_ARG_LO;
-    case 1:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_C(&res[i]);
-	    else
-		res[i] = arg1[i] != 0.0 ? 1 : 0;
-	break;
-    case 2:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_C(&res[i]);
-	    else if (arg1[i] == 0.0)
-		res[i] = 0;
-	    else {
-		if (IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	break;
-    case 3:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_C(&res[i]);
-	    else if (arg1[i] == 0.0) {
-		if (IS_NULL_C(&arg3[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg3[i];
-	    }
-	    else {
-		if (IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	break;
-    case 4:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_C(&res[i]);
-	    else if (arg1[i] == 0.0) {
-		if (IS_NULL_C(&arg3[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg3[i];
-	    }
-	    else if (arg1[i] > 0.0) {
-		if (IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	    else {		/* (arg1[i] < 0.0) */
-
-		if (IS_NULL_C(&arg4[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg4[i];
-	    }
-	break;
-    default:
-	return E_ARG_HI;
-    }
-
-    return 0;
-}
-
-static int f_if_f(int argc, const int *argt, void **args)
-{
-    FCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    FCELL *arg2 = (argc >= 2) ? args[2] : NULL;
-    FCELL *arg3 = (argc >= 3) ? args[3] : NULL;
-    FCELL *arg4 = (argc >= 4) ? args[4] : NULL;
-    int i;
-
-    switch (argc) {
-    case 0:
-	return E_ARG_LO;
-    case 1:
-	return E_ARG_TYPE;
-    case 2:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_F(&res[i]);
-	    else if (arg1[i] == 0.0)
-		res[i] = 0.0;
-	    else {
-		if (IS_NULL_F(&arg2[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	break;
-    case 3:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_F(&res[i]);
-	    else if (arg1[i] == 0.0) {
-		if (IS_NULL_F(&arg3[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = arg3[i];
-	    }
-	    else {
-		if (IS_NULL_F(&arg2[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	break;
-    case 4:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_F(&res[i]);
-	    else if (arg1[i] == 0.0) {
-		if (IS_NULL_F(&arg3[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = arg3[i];
-	    }
-	    else if (arg1[i] > 0.0) {
-		if (IS_NULL_F(&arg2[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	    else {		/* (arg1[i] < 0.0) */
-
-		if (IS_NULL_F(&arg4[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = arg4[i];
-	    }
-	break;
-    default:
-	return E_ARG_HI;
-    }
-
-    return 0;
-}
-
-static int f_if_d(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    DCELL *arg2 = (argc >= 2) ? args[2] : NULL;
-    DCELL *arg3 = (argc >= 3) ? args[3] : NULL;
-    DCELL *arg4 = (argc >= 4) ? args[4] : NULL;
-    int i;
-
-    switch (argc) {
-    case 0:
-	return E_ARG_LO;
-    case 1:
-	return E_ARG_TYPE;
-    case 2:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_D(&res[i]);
-	    else if (arg1[i] == 0.0)
-		res[i] = 0.0;
-	    else {
-		if (IS_NULL_D(&arg2[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	break;
-    case 3:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_D(&res[i]);
-	    else if (arg1[i] == 0.0) {
-		if (IS_NULL_D(&arg3[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = arg3[i];
-	    }
-	    else {
-		if (IS_NULL_D(&arg2[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	break;
-    case 4:
-	for (i = 0; i < columns; i++)
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_D(&res[i]);
-	    else if (arg1[i] == 0.0) {
-		if (IS_NULL_D(&arg3[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = arg3[i];
-	    }
-	    else if (arg1[i] > 0.0) {
-		if (IS_NULL_D(&arg2[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = arg2[i];
-	    }
-	    else {		/* (arg1[i] < 0.0) */
-
-		if (IS_NULL_D(&arg4[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = arg4[i];
-	    }
-	break;
-    default:
-	return E_ARG_HI;
-    }
-
-    return 0;
-}
-
-int f_if(int argc, const int *argt, void **args)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 4)
-	return E_ARG_HI;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-    if (argc >= 2 && argt[2] != argt[0])
-	return E_ARG_TYPE;
-    if (argc >= 3 && argt[3] != argt[0])
-	return E_ARG_TYPE;
-    if (argc >= 4 && argt[4] != argt[0])
-	return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	return f_if_i(argc, argt, args);
-    case FCELL_TYPE:
-	return f_if_f(argc, argt, args);
-    case DCELL_TYPE:
-	return f_if_d(argc, argt, args);
-    default:
-	return E_INV_TYPE;
-    }
-}
-
-int c_if(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 4)
-	return E_ARG_HI;
-
-    argt[0] = CELL_TYPE;
-
-    if (argc >= 2 && argt[2] == FCELL_TYPE)
-	argt[0] = FCELL_TYPE;
-    if (argc >= 3 && argt[3] == FCELL_TYPE)
-	argt[0] = FCELL_TYPE;
-    if (argc >= 4 && argt[4] == FCELL_TYPE)
-	argt[0] = FCELL_TYPE;
-
-    if (argc >= 2 && argt[2] == DCELL_TYPE)
-	argt[0] = DCELL_TYPE;
-    if (argc >= 3 && argt[3] == DCELL_TYPE)
-	argt[0] = DCELL_TYPE;
-    if (argc >= 4 && argt[4] == DCELL_TYPE)
-	argt[0] = DCELL_TYPE;
-
-    argt[1] = DCELL_TYPE;
-    if (argc >= 2)
-	argt[2] = argt[0];
-    if (argc >= 3)
-	argt[3] = argt[0];
-    if (argc >= 4)
-	argt[4] = argt[0];
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xint.c b/raster/r.mapcalc/xint.c
deleted file mode 100644
index 112b2d0..0000000
--- a/raster/r.mapcalc/xint.c
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-int(x)
-  converts x to int
-**********************************************************************/
-
-int f_int(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_C(&arg1[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = (CELL) arg1[i];
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_F(&arg1[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = (CELL) arg1[i];
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_D(&arg1[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = (CELL) arg1[i];
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
-
-int c_int(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    argt[0] = CELL_TYPE;
-    /*      argt[1] = argt[1];      */
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xisnull.c b/raster/r.mapcalc/xisnull.c
deleted file mode 100644
index fe6b791..0000000
--- a/raster/r.mapcalc/xisnull.c
+++ /dev/null
@@ -1,66 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-isnull(x)
-  return 1 if x is null, 0 otherwise
-**********************************************************************/
-
-int f_isnull(int argc, const int *argt, void **args)
-{
-    int *res = args[0];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		res[i] = IS_NULL_C(&arg1[i]) ? 1 : 0;
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		res[i] = IS_NULL_F(&arg1[i]) ? 1 : 0;
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		res[i] = IS_NULL_D(&arg1[i]) ? 1 : 0;
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
-
-int c_isnull(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    argt[0] = CELL_TYPE;
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xle.c b/raster/r.mapcalc/xle.c
deleted file mode 100644
index 1710855..0000000
--- a/raster/r.mapcalc/xle.c
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-le(a,b) = a <= b
-****************************************************************/
-
-int f_le(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] <= arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] <= arg2[i];
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] <= arg2[i];
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xlog.c b/raster/r.mapcalc/xlog.c
deleted file mode 100644
index 6682709..0000000
--- a/raster/r.mapcalc/xlog.c
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-log(x) 
-log(x,b)
-
-  first form computes the natural log of x = ln(x)
-  second form computes log of x base b = ln(x)/ln(b)
-
-  if x is non-positive, or floating point exception occurs while
-  computing ln(x), the result is NULL
-
-  if b is non-positive, or 1.0, or floating point exception occurs while
-  computing ln(b), the result is NULL
-**********************************************************************/
-
-int f_log(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    DCELL *arg2 = (argc >= 2) ? args[2] : (DCELL *) 0;
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    if (argc > 1 && argt[2] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]) || (arg1[i] <= 0.0))
-	    SET_NULL_D(&res[i]);
-	else if (argc > 1 && (IS_NULL_D(&arg2[i]) || (arg2[i] <= 0.0)))
-	    SET_NULL_D(&res[i]);
-	else {
-	    floating_point_exception = 0;
-	    res[i] = (argc > 1)
-		? log(arg1[i]) / log(arg2[i])
-		: log(arg1[i]);
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xlt.c b/raster/r.mapcalc/xlt.c
deleted file mode 100644
index 94279e0..0000000
--- a/raster/r.mapcalc/xlt.c
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-lt(a,b) = a < b
-****************************************************************/
-
-int f_lt(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] < arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] < arg2[i];
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] < arg2[i];
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xmax.c b/raster/r.mapcalc/xmax.c
deleted file mode 100644
index ee92d67..0000000
--- a/raster/r.mapcalc/xmax.c
+++ /dev/null
@@ -1,100 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-max(x0,x1,...,xn) returns maximum value
-****************************************************************/
-
-int f_max(int argc, const int *argt, void **args)
-{
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argz = (CELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 0;
-		CELL max;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_C(&argz[j][i]))
-			nul = 1;
-		    else if (j == 1)
-			max = argz[j][i];
-		    else if (max < argz[j][i])
-			max = argz[j][i];
-		if (nul)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = max;
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argz = (FCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 0;
-		FCELL max;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_F(&argz[j][i]))
-			nul = 1;
-		    else if (j == 1)
-			max = argz[j][i];
-		    else if (max < argz[j][i])
-			max = argz[j][i];
-		if (nul)
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = max;
-	    }
-
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argz = (DCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 0;
-		DCELL max;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_D(&argz[j][i]))
-			nul = 1;
-		    else if (j == 1)
-			max = argz[j][i];
-		    else if (max < argz[j][i])
-			max = argz[j][i];
-		if (nul)
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = max;
-	    }
-
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xmedian.c b/raster/r.mapcalc/xmedian.c
deleted file mode 100644
index a0cf1c9..0000000
--- a/raster/r.mapcalc/xmedian.c
+++ /dev/null
@@ -1,155 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-median(x1,x2,..,xn)
-   return median of arguments
-**********************************************************************/
-
-static int icmp(const void *aa, const void *bb)
-{
-    const CELL *a = aa;
-    const CELL *b = bb;
-
-    return *a - *b;
-}
-
-static int fcmp(const void *aa, const void *bb)
-{
-    const FCELL *a = aa;
-    const FCELL *b = bb;
-
-    if (*a < *b)
-	return -1;
-    if (*a > *b)
-	return 1;
-    return 0;
-}
-
-static int dcmp(const void *aa, const void *bb)
-{
-    const DCELL *a = aa;
-    const DCELL *b = bb;
-
-    if (*a < *b)
-	return -1;
-    if (*a > *b)
-	return 1;
-    return 0;
-}
-
-int f_median(int argc, const int *argt, void **args)
-{
-    static void *array;
-    static int alloc;
-    int size = argc * Rast_cell_size(argt[0]);
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    if (size > alloc) {
-	alloc = size;
-	array = G_realloc(array, size);
-    }
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argv = (CELL **) &args[1];
-	    CELL *a = array;
-	    CELL *a1 = &a[(argc - 1) / 2];
-	    CELL *a2 = &a[argc / 2];
-
-	    for (i = 0; i < columns; i++) {
-		int nv = 0;
-
-		for (j = 0; j < argc && !nv; j++) {
-		    if (IS_NULL_C(&argv[j][i]))
-			nv = 1;
-		    else
-			a[j] = argv[j][i];
-		}
-
-		if (nv)
-		    SET_NULL_C(&res[i]);
-		else {
-		    qsort(a, argc, sizeof(CELL), icmp);
-		    res[i] = (*a1 + *a2) / 2;
-		}
-	    }
-
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argv = (FCELL **) &args[1];
-	    FCELL *a = array;
-	    FCELL *a1 = &a[(argc - 1) / 2];
-	    FCELL *a2 = &a[argc / 2];
-
-	    for (i = 0; i < columns; i++) {
-		int nv = 0;
-
-		for (j = 0; j < argc && !nv; j++) {
-		    if (IS_NULL_F(&argv[j][i]))
-			nv = 1;
-		    else
-			a[j] = argv[j][i];
-		}
-
-		if (nv)
-		    SET_NULL_F(&res[i]);
-		else {
-		    qsort(a, argc, sizeof(FCELL), fcmp);
-		    res[i] = (*a1 + *a2) / 2;
-		}
-	    }
-
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argv = (DCELL **) &args[1];
-	    DCELL *a = array;
-	    DCELL *a1 = &a[(argc - 1) / 2];
-	    DCELL *a2 = &a[argc / 2];
-
-	    for (i = 0; i < columns; i++) {
-		int nv = 0;
-
-		for (j = 0; j < argc && !nv; j++) {
-		    if (IS_NULL_D(&argv[j][i]))
-			nv = 1;
-		    else
-			a[j] = argv[j][i];
-		}
-
-		if (nv)
-		    SET_NULL_D(&res[i]);
-		else {
-		    qsort(a, argc, sizeof(DCELL), dcmp);
-		    res[i] = (*a1 + *a2) / 2;
-		}
-	    }
-
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xmin.c b/raster/r.mapcalc/xmin.c
deleted file mode 100644
index c3ed21b..0000000
--- a/raster/r.mapcalc/xmin.c
+++ /dev/null
@@ -1,100 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-min(x0,x1,...,xn) returns minimum value
-****************************************************************/
-
-int f_min(int argc, const int *argt, void **args)
-{
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argz = (CELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 0;
-		CELL min;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_C(&argz[j][i]))
-			nul = 1;
-		    else if (j == 1)
-			min = argz[j][i];
-		    else if (min > argz[j][i])
-			min = argz[j][i];
-		if (nul)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = min;
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argz = (FCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 0;
-		FCELL min;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_F(&argz[j][i]))
-			nul = 1;
-		    else if (j == 1)
-			min = argz[j][i];
-		    else if (min > argz[j][i])
-			min = argz[j][i];
-		if (nul)
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = min;
-	    }
-
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argz = (DCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 0;
-		DCELL min;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_D(&argz[j][i]))
-			nul = 1;
-		    else if (j == 1)
-			min = argz[j][i];
-		    else if (min > argz[j][i])
-			min = argz[j][i];
-		if (nul)
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = min;
-	    }
-
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xmod.c b/raster/r.mapcalc/xmod.c
deleted file mode 100644
index 8fc7a04..0000000
--- a/raster/r.mapcalc/xmod.c
+++ /dev/null
@@ -1,80 +0,0 @@
-
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-mod(a,b) = a % b
-****************************************************************/
-
-int f_mod(int argc, const int *argt, void **args)
-{
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[1] != argt[0] || argt[2] != argt[0])
-	return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] % arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_F(&res[i]);
-		else {
-		    floating_point_exception = 0;
-		    res[i] = (FCELL) fmod(arg1[i], arg2[i]);
-		    if (floating_point_exception)
-			SET_NULL_F(&res[i]);
-		}
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_D(&res[i]);
-		else {
-		    floating_point_exception = 0;
-		    res[i] = (DCELL) fmod(arg1[i], arg2[i]);
-		    if (floating_point_exception)
-			SET_NULL_D(&res[i]);
-		}
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xmode.c b/raster/r.mapcalc/xmode.c
deleted file mode 100644
index 3eff62f..0000000
--- a/raster/r.mapcalc/xmode.c
+++ /dev/null
@@ -1,144 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-mode(x1,x2,..,xn)
-   return mode of arguments
-**********************************************************************/
-
-static int dcmp(const void *aa, const void *bb)
-{
-    const double *a = aa;
-    const double *b = bb;
-
-    if (*a < *b)
-	return -1;
-    if (*a > *b)
-	return 1;
-    return 0;
-}
-
-static double mode(double *value, int argc)
-{
-    double mode_v;
-    int mode_n = 0;
-    int i;
-
-    qsort(value, argc, sizeof(double), dcmp);
-
-    for (i = 0; i < argc;) {
-	int n = 1;
-	double v = value[i];
-
-	for (i++; i < argc; i++) {
-	    if (value[i] != v)
-		break;
-	    n++;
-	}
-
-	if (n < mode_n)
-	    continue;
-
-	mode_v = v;
-	mode_n = n;
-    }
-
-    return mode_v;
-}
-
-int f_mode(int argc, const int *argt, void **args)
-{
-    static double *value;
-    static int value_size;
-    int size = argc * sizeof(double);
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    if (size > value_size) {
-	value_size = size;
-	value = G_realloc(value, value_size);
-    }
-
-    switch (argt[argc]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argv = (CELL **) & args[1];
-
-	    for (i = 0; i < columns; i++) {
-		int nv = 0;
-
-		for (j = 0; j < argc && !nv; j++) {
-		    if (IS_NULL_C(&argv[j][i]))
-			nv = 1;
-		    else
-			value[j] = (double)argv[j][i];
-		}
-
-		if (nv)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = (CELL) mode(value, argc);
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argv = (FCELL **) & args[1];
-
-	    for (i = 0; i < columns; i++) {
-		int nv = 0;
-
-		for (j = 0; j < argc && !nv; j++) {
-		    if (IS_NULL_F(&argv[j][i]))
-			nv = 1;
-		    else
-			value[j] = (double)argv[j][i];
-		}
-
-		if (nv)
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = (FCELL) mode(value, argc);
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argv = (DCELL **) & args[1];
-
-	    for (i = 0; i < columns; i++) {
-		int nv = 0;
-
-		for (j = 0; j < argc && !nv; j++) {
-		    if (IS_NULL_D(&argv[j][i]))
-			nv = 1;
-		    else
-			value[j] = (double)argv[j][i];
-		}
-
-		if (nv)
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = (DCELL) mode(value, argc);
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xmul.c b/raster/r.mapcalc/xmul.c
deleted file mode 100644
index 7e45f86..0000000
--- a/raster/r.mapcalc/xmul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-mul(a,b) = a * b
-****************************************************************/
-
-int f_mul(int argc, const int *argt, void **args)
-{
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argz = (CELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		res[i] = 1;
-		for (j = 1; j <= argc; j++) {
-		    if (IS_NULL_C(&argz[j][i])) {
-			SET_NULL_C(&res[i]);
-			break;
-		    }
-		    res[i] *= argz[j][i];
-		}
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argz = (FCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		res[i] = 1;
-		for (j = 1; j <= argc; j++) {
-		    if (IS_NULL_F(&argz[j][i])) {
-			SET_NULL_F(&res[i]);
-			break;
-		    }
-		    res[i] *= argz[j][i];
-		}
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argz = (DCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		res[i] = 1;
-		for (j = 1; j <= argc; j++) {
-		    if (IS_NULL_D(&argz[j][i])) {
-			SET_NULL_D(&res[i]);
-			break;
-		    }
-		    res[i] *= argz[j][i];
-		}
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xne.c b/raster/r.mapcalc/xne.c
deleted file mode 100644
index cf88c39..0000000
--- a/raster/r.mapcalc/xne.c
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-ne(a,b) = a != b
-****************************************************************/
-
-int f_ne(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] != arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] != arg2[i];
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] != arg2[i];
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xneg.c b/raster/r.mapcalc/xneg.c
deleted file mode 100644
index c08c36e..0000000
--- a/raster/r.mapcalc/xneg.c
+++ /dev/null
@@ -1,64 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-neg(x) = -x
-**********************************************************************/
-
-int f_neg(int argc, const int *argt, void **args)
-{
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != argt[1])
-	return E_RES_TYPE;
-
-    switch (argt[1]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_C(&arg1[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = -arg1[i];
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_F(&arg1[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = -arg1[i];
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL *arg1 = args[1];
-
-	    for (i = 0; i < columns; i++)
-		if (IS_NULL_D(&arg1[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = -arg1[i];
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xnmax.c b/raster/r.mapcalc/xnmax.c
deleted file mode 100644
index e1ea05f..0000000
--- a/raster/r.mapcalc/xnmax.c
+++ /dev/null
@@ -1,100 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-max(x0,x1,...,xn) returns maximum value
-****************************************************************/
-
-int f_nmax(int argc, const int *argt, void **args)
-{
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argz = (CELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 1;
-		CELL max;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_C(&argz[j][i]))
-			continue;
-		    else if (nul)
-			max = argz[j][i], nul = 0;
-		    else if (max < argz[j][i])
-			max = argz[j][i], nul = 0;
-		if (nul)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = max;
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argz = (FCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 1;
-		FCELL max;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_F(&argz[j][i]))
-			continue;
-		    else if (nul)
-			max = argz[j][i], nul = 0;
-		    else if (max < argz[j][i])
-			max = argz[j][i], nul = 0;
-		if (nul)
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = max;
-	    }
-
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argz = (DCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 1;
-		DCELL max;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_D(&argz[j][i]))
-			continue;
-		    else if (nul)
-			max = argz[j][i], nul = 0;
-		    else if (max < argz[j][i])
-			max = argz[j][i], nul = 0;
-		if (nul)
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = max;
-	    }
-
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xnmedian.c b/raster/r.mapcalc/xnmedian.c
deleted file mode 100644
index e4bafbf..0000000
--- a/raster/r.mapcalc/xnmedian.c
+++ /dev/null
@@ -1,152 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-median(x1,x2,..,xn)
-   return median of arguments
-**********************************************************************/
-
-static int icmp(const void *aa, const void *bb)
-{
-    const CELL *a = aa;
-    const CELL *b = bb;
-
-    return *a - *b;
-}
-
-static int fcmp(const void *aa, const void *bb)
-{
-    const FCELL *a = aa;
-    const FCELL *b = bb;
-
-    if (*a < *b)
-	return -1;
-    if (*a > *b)
-	return 1;
-    return 0;
-}
-
-static int dcmp(const void *aa, const void *bb)
-{
-    const DCELL *a = aa;
-    const DCELL *b = bb;
-
-    if (*a < *b)
-	return -1;
-    if (*a > *b)
-	return 1;
-    return 0;
-}
-
-int f_nmedian(int argc, const int *argt, void **args)
-{
-    static void *array;
-    static int alloc;
-    int size = argc * Rast_cell_size(argt[0]);
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    if (size > alloc) {
-	alloc = size;
-	array = G_realloc(array, size);
-    }
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argv = (CELL **) &args[1];
-	    CELL *a = array;
-	    CELL *a1 = &a[(argc - 1) / 2];
-	    CELL *a2 = &a[argc / 2];
-
-	    for (i = 0; i < columns; i++) {
-		int n = 0;
-
-		for (j = 0; j < argc; j++) {
-		    if (IS_NULL_C(&argv[j][i]))
-			continue;
-		    a[n++] = argv[j][i];
-		}
-
-		if (!n)
-		    SET_NULL_C(&res[i]);
-		else {
-		    qsort(a, n, sizeof(CELL), icmp);
-		    res[i] = (*a1 + *a2) / 2;
-		}
-	    }
-
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argv = (FCELL **) &args[1];
-	    FCELL *a = array;
-	    FCELL *a1 = &a[(argc - 1) / 2];
-	    FCELL *a2 = &a[argc / 2];
-
-	    for (i = 0; i < columns; i++) {
-		int n = 0;
-
-		for (j = 0; j < argc; j++) {
-		    if (IS_NULL_F(&argv[j][i]))
-			continue;
-		    a[n++] = argv[j][i];
-		}
-
-		if (!n)
-		    SET_NULL_F(&res[i]);
-		else {
-		    qsort(a, n, sizeof(FCELL), fcmp);
-		    res[i] = (*a1 + *a2) / 2;
-		}
-	    }
-
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argv = (DCELL **) &args[1];
-	    DCELL *a = array;
-	    DCELL *a1 = &a[(argc - 1) / 2];
-	    DCELL *a2 = &a[argc / 2];
-
-	    for (i = 0; i < columns; i++) {
-		int n = 0;
-
-		for (j = 0; j < argc; j++) {
-		    if (IS_NULL_D(&argv[j][i]))
-			continue;
-		    a[n++] = argv[j][i];
-		}
-
-		if (!n)
-		    SET_NULL_D(&res[i]);
-		else {
-		    qsort(a, n, sizeof(DCELL), dcmp);
-		    res[i] = (*a1 + *a2) / 2;
-		}
-	    }
-
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xnmin.c b/raster/r.mapcalc/xnmin.c
deleted file mode 100644
index 5396256..0000000
--- a/raster/r.mapcalc/xnmin.c
+++ /dev/null
@@ -1,100 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-min(x0,x1,...,xn) returns minimum value
-****************************************************************/
-
-int f_nmin(int argc, const int *argt, void **args)
-{
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argz = (CELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 1;
-		CELL min;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_C(&argz[j][i]))
-			continue;
-		    else if (nul)
-			min = argz[j][i], nul = 0;
-		    else if (min > argz[j][i])
-			min = argz[j][i], nul = 0;
-		if (nul)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = min;
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argz = (FCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 1;
-		FCELL min;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_F(&argz[j][i]))
-			continue;
-		    else if (nul)
-			min = argz[j][i], nul = 0;
-		    else if (min > argz[j][i])
-			min = argz[j][i], nul = 0;
-		if (nul)
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = min;
-	    }
-
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argz = (DCELL **) args;
-
-	    for (i = 0; i < columns; i++) {
-		int nul = 1;
-		DCELL min;
-
-		for (j = 1; j <= argc; j++)
-		    if (IS_NULL_D(&argz[j][i]))
-			continue;
-		    else if (nul)
-			min = argz[j][i], nul = 0;
-		    else if (min > argz[j][i])
-			min = argz[j][i], nul = 0;
-		if (nul)
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = min;
-	    }
-
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xnmode.c b/raster/r.mapcalc/xnmode.c
deleted file mode 100644
index 7ac36cb..0000000
--- a/raster/r.mapcalc/xnmode.c
+++ /dev/null
@@ -1,141 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-mode(x1,x2,..,xn)
-   return mode of arguments
-**********************************************************************/
-
-static int dcmp(const void *aa, const void *bb)
-{
-    const double *a = aa;
-    const double *b = bb;
-
-    if (*a < *b)
-	return -1;
-    if (*a > *b)
-	return 1;
-    return 0;
-}
-
-static double mode(double *value, int argc)
-{
-    double mode_v;
-    int mode_n = 0;
-    int i;
-
-    qsort(value, argc, sizeof(double), dcmp);
-
-    for (i = 0; i < argc;) {
-	int n = 1;
-	double v = value[i];
-
-	for (i++; i < argc; i++) {
-	    if (value[i] != v)
-		break;
-	    n++;
-	}
-
-	if (n < mode_n)
-	    continue;
-
-	mode_v = v;
-	mode_n = n;
-    }
-
-    return mode_v;
-}
-
-int f_nmode(int argc, const int *argt, void **args)
-{
-    static double *value;
-    static int value_size;
-    int size = argc * sizeof(double);
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    if (size > value_size) {
-	value_size = size;
-	value = G_realloc(value, value_size);
-    }
-
-    switch (argt[argc]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL **argv = (CELL **) & args[1];
-
-	    for (i = 0; i < columns; i++) {
-		int n = 0;
-
-		for (j = 0; j < argc; j++) {
-		    if (IS_NULL_C(&argv[j][i]))
-			continue;
-		    value[n++] = (double)argv[j][i];
-		}
-
-		if (!n)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = (CELL) mode(value, n);
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL **argv = (FCELL **) & args[1];
-
-	    for (i = 0; i < columns; i++) {
-		int n = 0;
-
-		for (j = 0; j < argc; j++) {
-		    if (IS_NULL_F(&argv[j][i]))
-			continue;
-		    value[n++] = (double)argv[j][i];
-		}
-
-		if (!n)
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = (FCELL) mode(value, n);
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL **argv = (DCELL **) & args[1];
-
-	    for (i = 0; i < columns; i++) {
-		int n = 0;
-
-		for (j = 0; j < argc; j++) {
-		    if (IS_NULL_D(&argv[j][i]))
-			continue;
-		    value[n++] = (double)argv[j][i];
-		}
-
-		if (!n)
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = (DCELL) mode(value, n);
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xnot.c b/raster/r.mapcalc/xnot.c
deleted file mode 100644
index 31c6b1a..0000000
--- a/raster/r.mapcalc/xnot.c
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-not(a) = !a
-****************************************************************/
-
-int f_not(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[1] != CELL_TYPE)
-	return E_ARG_TYPE;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	if (IS_NULL_C(&arg1[i]))
-	    SET_NULL_C(&res[i]);
-	else
-	    res[i] = !arg1[i];
-    }
-
-    return 0;
-}
-
-int c_not(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[1] != CELL_TYPE)
-	return E_ARG_TYPE;
-
-    argt[0] = CELL_TYPE;
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xnull.c b/raster/r.mapcalc/xnull.c
deleted file mode 100644
index b01c95e..0000000
--- a/raster/r.mapcalc/xnull.c
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-null() null values
-****************************************************************/
-
-int f_null(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i;
-
-    if (argc > 0)
-	return E_ARG_HI;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 0; i < columns; i++)
-	SET_NULL_C(&res[i]);
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xor.c b/raster/r.mapcalc/xor.c
deleted file mode 100644
index aea8b8b..0000000
--- a/raster/r.mapcalc/xor.c
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-or(a,b,c,...) = a || b || c || ...
-****************************************************************/
-
-int f_or(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	res[i] = 0;
-	for (j = 1; j <= argc; j++) {
-	    CELL *arg = args[j];
-	    if (IS_NULL_C(&arg[i])) {
-		SET_NULL_C(&res[i]);
-		break;
-	    }
-	    if (arg[i])
-		res[i] = 1;
-	}
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xor2.c b/raster/r.mapcalc/xor2.c
deleted file mode 100644
index d6b0590..0000000
--- a/raster/r.mapcalc/xor2.c
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-or2(a,b,c,...) = a || b || c || ...
-
-Differs from or() in that the boolean axioms:
-
-	true || x == true
-	x || true == true
-
-hold even when x is null.
-****************************************************************/
-
-int f_or2(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    int i, j;
-
-    if (argc < 1)
-	return E_ARG_LO;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 1; i <= argc; i++)
-	if (argt[i] != argt[0])
-	    return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	res[i] = 0;
-	for (j = 1; j <= argc; j++) {
-	    CELL *arg = args[j];
-	    if (!IS_NULL_C(&arg[i]) && arg[i]) {
-		res[i] = 1;
-		break;
-	    }
-	    if (IS_NULL_C(&arg[i]))
-		SET_NULL_C(&res[i]);
-	}
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xpow.c b/raster/r.mapcalc/xpow.c
deleted file mode 100644
index c8ccebc..0000000
--- a/raster/r.mapcalc/xpow.c
+++ /dev/null
@@ -1,98 +0,0 @@
-
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-pow(a,b)
-   a raised to the power b
-****************************************************************/
-
-static int ipow(int x, int y)
-{
-    int res = 1;
-
-    while (y) {
-	if (y & 1)
-	    res *= x;
-	y >>= 1;
-	x *= x;
-    }
-    return res;
-}
-
-int f_pow(int argc, const int *argt, void **args)
-{
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[1] != argt[0] || argt[2] != argt[0])
-	return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]) || arg2[i] < 0)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = ipow(arg1[i], arg2[i]);
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_F(&res[i]);
-		else if (arg1[i] < 0 && arg2[i] != ceil(arg2[i]))
-		    SET_NULL_F(&res[i]);
-		else {
-		    floating_point_exception = 0;
-		    res[i] = pow(arg1[i], arg2[i]);
-		    if (floating_point_exception)
-			SET_NULL_F(&res[i]);
-		}
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_D(&res[i]);
-		else if (arg1[i] < 0 && arg2[i] != ceil(arg2[i]))
-		    SET_NULL_D(&res[i]);
-		else {
-		    floating_point_exception = 0;
-		    res[i] = pow(arg1[i], arg2[i]);
-		    if (floating_point_exception)
-			SET_NULL_D(&res[i]);
-		}
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xrand.c b/raster/r.mapcalc/xrand.c
deleted file mode 100644
index aa56f7d..0000000
--- a/raster/r.mapcalc/xrand.c
+++ /dev/null
@@ -1,91 +0,0 @@
-
-#include <stdlib.h>
-
-#include <grass/config.h>
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-rand(lo,hi) random values between a and b
-****************************************************************/
-
-int f_rand(int argc, const int *argt, void **args)
-{
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		unsigned int x = (unsigned int)G_mrand48();
-		int lo = arg1[i];
-		int hi = arg2[i];
-
-		if (lo > hi) {
-		    int tmp = lo;
-
-		    lo = hi;
-		    hi = tmp;
-		}
-		res[i] = (lo == hi) ? lo : lo + x % (unsigned int)(hi - lo);
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		double x = G_drand48();
-		FCELL lo = arg1[i];
-		FCELL hi = arg2[i];
-
-		if (lo > hi) {
-		    FCELL tmp = lo;
-
-		    lo = hi;
-		    hi = tmp;
-		}
-		res[i] = (FCELL) (lo + x * (hi - lo));
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		double x = G_drand48();
-		DCELL lo = arg1[i];
-		DCELL hi = arg2[i];
-
-		if (lo > hi) {
-		    DCELL tmp = lo;
-
-		    lo = hi;
-		    hi = tmp;
-		}
-		res[i] = lo + x * (hi - lo);
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xround.c b/raster/r.mapcalc/xround.c
deleted file mode 100644
index 8641b64..0000000
--- a/raster/r.mapcalc/xround.c
+++ /dev/null
@@ -1,205 +0,0 @@
-
-#include <limits.h>
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-round(x, step, start)
-
-  rounds x to nearest value in the sequence
-    y[i] = i * step + start
-
-**********************************************************************/
-
-/* i_round(x) rounds x to nearest value, handles negative correctly */
-
-static double i_round(double x, double step, double start)
-{
-    x -= start;
-    x /= step;
-    x = floor(x + 0.5);
-    x *= step;
-    x += start;
-    return x;
-}
-
-/**********************************************************************/
-
-int f_round(int argc, const int *argt, void **args)
-{
-    const DCELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 3)
-	return E_ARG_HI;
-
-    if (argc == 1 && argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-    if (argc > 1 && argt[2] != DCELL_TYPE)
-	return E_ARG_TYPE;
-    if (argc > 2 && argt[3] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    if (argc == 1) {
-	CELL *res = args[0];
-
-	for (i = 0; i < columns; i++) {
-	    if (IS_NULL_D(&arg1[i]))
-		SET_NULL_C(&res[i]);
-	    else {
-		DCELL x = i_round(arg1[i], 1.0, 0.0);
-		if (x > 2147483647.0 || x < -2147483647.0)
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = (CELL) x;
-	    }
-	}
-	return 0;
-    }
-    else if (argc == 2) {
-	const DCELL *arg2 = args[2];
-
-	switch (argt[0]) {
-        case CELL_TYPE:
-            {
-                CELL *res = args[0];
-    
-                for (i = 0; i < columns; i++) {
-                    if (IS_NULL_D(&arg1[i]))
-                        SET_NULL_C(&res[i]);
-                    else if (IS_NULL_D(&arg2[i]))
-                        SET_NULL_C(&res[i]);
-                    else {
-                        DCELL x = i_round(arg1[i], arg2[i], 0.0);
-                        if (x > 2147483647.0 || x < -2147483647.0)
-                            SET_NULL_C(&res[i]);
-                        else
-                            res[i] = (CELL) x;
-                    }
-                }
-                return 0;
-            }
-        case FCELL_TYPE:
-            {
-                FCELL *res = args[0];
-    
-                for (i = 0; i < columns; i++)
-                    if (IS_NULL_D(&arg1[i]))
-                        SET_NULL_F(&res[i]);
-                    else if (IS_NULL_D(&arg2[i]))
-                        SET_NULL_F(&res[i]);
-                    else
-                        res[i] = (FCELL) i_round(arg1[i], arg2[i], 0.0);
-                return 0;
-            }
-        case DCELL_TYPE:
-            {
-                DCELL *res = args[0];
-    
-                for (i = 0; i < columns; i++)
-                    if (IS_NULL_D(&arg1[i]))
-                        SET_NULL_D(&res[i]);
-                    else if (IS_NULL_D(&arg2[i]))
-                        SET_NULL_D(&res[i]);
-                    else
-                        res[i] = (DCELL) i_round(arg1[i], arg2[i], 0.0);
-                return 0;
-            }
-        default:
-            return E_INV_TYPE;
-        }
-    }
-    else if (argc == 3) {
-	const DCELL *arg2 = args[2];
-	const DCELL *arg3 = args[3];
-
-	switch (argt[0]) {
-        case CELL_TYPE:
-            {
-                CELL *res = args[0];
-    
-                for (i = 0; i < columns; i++) {
-                    if (IS_NULL_D(&arg1[i]))
-                        SET_NULL_C(&res[i]);
-                    else if (IS_NULL_D(&arg2[i]))
-                        SET_NULL_C(&res[i]);
-                    else if (IS_NULL_D(&arg3[i]))
-                        SET_NULL_C(&res[i]);
-                    else {
-                        DCELL x = i_round(arg1[i], arg2[i], arg3[i]);
-                        if (x > 2147483647.0 || x < -2147483647.0)
-                            SET_NULL_C(&res[i]);
-                        else
-                            res[i] = (CELL) x;
-                    }
-                }
-                return 0;
-            }
-        case FCELL_TYPE:
-            {
-                FCELL *res = args[0];
-    
-                for (i = 0; i < columns; i++)
-                    if (IS_NULL_D(&arg1[i]))
-                        SET_NULL_F(&res[i]);
-                    else if (IS_NULL_D(&arg2[i]))
-                        SET_NULL_F(&res[i]);
-                    else if (IS_NULL_D(&arg3[i]))
-                        SET_NULL_F(&res[i]);
-                    else
-                        res[i] = (FCELL) i_round(arg1[i], arg2[i], arg3[i]);
-                return 0;
-            }
-        case DCELL_TYPE:
-            {
-                DCELL *res = args[0];
-    
-                for (i = 0; i < columns; i++)
-                    if (IS_NULL_D(&arg1[i]))
-                        SET_NULL_D(&res[i]);
-                    else if (IS_NULL_D(&arg2[i]))
-                        SET_NULL_D(&res[i]);
-                    else if (IS_NULL_D(&arg3[i]))
-                        SET_NULL_D(&res[i]);
-                    else
-                        res[i] = (DCELL) i_round(arg1[i], arg2[i], arg3[i]);
-                return 0;
-            }
-        default:
-            return E_INV_TYPE;
-        }
-    }
-    else
-	return E_WTF;
-}
-
-int c_round(int argc, int *argt)
-{
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 3)
-	return E_ARG_HI;
-
-    argt[0] = CELL_TYPE;
-    if (argc > 1 && argt[0] < argt[2])
-	argt[0] = argt[2];
-    if (argc > 2 && argt[0] < argt[3])
-	argt[0] = argt[3];
-
-    argt[1] = DCELL_TYPE;
-    if (argc > 1)
-	argt[2] = DCELL_TYPE;
-    if (argc > 2)
-	argt[3] = DCELL_TYPE;
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xrowcol.c b/raster/r.mapcalc/xrowcol.c
index c81daa8..2ac8d0e 100644
--- a/raster/r.mapcalc/xrowcol.c
+++ b/raster/r.mapcalc/xrowcol.c
@@ -9,6 +9,9 @@
 col() column number
 row() row number
 depth() depth number
+ncols() number of columns
+nrows() number of rows
+ndepths() number of depths
 **********************************************************************/
 
 int f_col(int argc, const int *argt, void **args)
@@ -63,3 +66,54 @@ int f_depth(int argc, const int *argt, void **args)
 
     return 0;
 }
+
+int f_nrows(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc > 0)
+	return E_ARG_HI;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++)
+	res[i] = rows;
+
+    return 0;
+}
+
+int f_ncols(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc > 0)
+	return E_ARG_HI;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++)
+	res[i] = columns;
+
+    return 0;
+}
+
+int f_ndepths(int argc, const int *argt, void **args)
+{
+    CELL *res = args[0];
+    int i;
+
+    if (argc > 0)
+	return E_ARG_HI;
+
+    if (argt[0] != CELL_TYPE)
+	return E_RES_TYPE;
+
+    for (i = 0; i < columns; i++)
+	res[i] = depths;
+
+    return 0;
+}
diff --git a/raster/r.mapcalc/xshiftl.c b/raster/r.mapcalc/xshiftl.c
deleted file mode 100644
index 9d4a4f1..0000000
--- a/raster/r.mapcalc/xshiftl.c
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-shiftl(a,b) = a << b
-****************************************************************/
-
-int f_shiftl(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL *arg1 = args[1];
-    CELL *arg2 = args[2];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[1] != CELL_TYPE || argt[2] != CELL_TYPE)
-	return E_ARG_TYPE;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-	    SET_NULL_C(&res[i]);
-	else
-	    res[i] = arg1[i] << arg2[i];
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xshiftr.c b/raster/r.mapcalc/xshiftr.c
deleted file mode 100644
index 5aa62f4..0000000
--- a/raster/r.mapcalc/xshiftr.c
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-shiftr(a,b) = a >> b
-****************************************************************/
-
-int f_shiftr(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL *arg1 = args[1];
-    CELL *arg2 = args[2];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[1] != CELL_TYPE || argt[2] != CELL_TYPE)
-	return E_ARG_TYPE;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-	    SET_NULL_C(&res[i]);
-	else
-	    res[i] = arg1[i] >> arg2[i];
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xshiftru.c b/raster/r.mapcalc/xshiftru.c
deleted file mode 100644
index c12afbb..0000000
--- a/raster/r.mapcalc/xshiftru.c
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-shiftru(a,b) = (unsigned) a >> b
-****************************************************************/
-
-int f_shiftru(int argc, const int *argt, void **args)
-{
-    CELL *res = args[0];
-    CELL *arg1 = args[1];
-    CELL *arg2 = args[2];
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[1] != CELL_TYPE || argt[2] != CELL_TYPE)
-	return E_ARG_TYPE;
-
-    if (argt[0] != CELL_TYPE)
-	return E_RES_TYPE;
-
-    for (i = 0; i < columns; i++) {
-	if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-	    SET_NULL_C(&res[i]);
-	else
-	    res[i] = ((unsigned int)arg1[i]) >> arg2[i];
-    }
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xsin.c b/raster/r.mapcalc/xsin.c
deleted file mode 100644
index bfeee10..0000000
--- a/raster/r.mapcalc/xsin.c
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-sin(x) 
-
-  if floating point exception occurs during the evaluation of sin(x)
-  the result is NULL
-
-  note: x is in degrees.
-**********************************************************************/
-
-#define DEGREES_TO_RADIANS (M_PI / 180.0)
-
-int f_sin(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]))
-	    SET_NULL_D(&res[i]);
-	else {
-	    floating_point_exception = 0;
-	    res[i] = sin(arg1[i] * DEGREES_TO_RADIANS);
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xsqrt.c b/raster/r.mapcalc/xsqrt.c
deleted file mode 100644
index 5c2e20e..0000000
--- a/raster/r.mapcalc/xsqrt.c
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-sqrt(x) 
-
-  if floating point exception occurs during the evaluation of sqrt(x)
-  the result is NULL
-**********************************************************************/
-
-int f_sqrt(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]) || (arg1[i] < 0.0))
-	    SET_NULL_D(&res[i]);
-	else {
-	    floating_point_exception = 0;
-	    res[i] = sqrt(arg1[i]);
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mapcalc/xsub.c b/raster/r.mapcalc/xsub.c
deleted file mode 100644
index b704eff..0000000
--- a/raster/r.mapcalc/xsub.c
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/****************************************************************
-sub(a,b) = a - b
-****************************************************************/
-
-int f_sub(int argc, const int *argt, void **args)
-{
-    int i;
-
-    if (argc < 2)
-	return E_ARG_LO;
-    if (argc > 2)
-	return E_ARG_HI;
-
-    if (argt[1] != argt[0] || argt[2] != argt[0])
-	return E_ARG_TYPE;
-
-    switch (argt[0]) {
-    case CELL_TYPE:
-	{
-	    CELL *res = args[0];
-	    CELL *arg1 = args[1];
-	    CELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_C(&arg1[i]) || IS_NULL_C(&arg2[i]))
-		    SET_NULL_C(&res[i]);
-		else
-		    res[i] = arg1[i] - arg2[i];
-	    }
-	    return 0;
-	}
-    case FCELL_TYPE:
-	{
-	    FCELL *res = args[0];
-	    FCELL *arg1 = args[1];
-	    FCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_F(&arg1[i]) || IS_NULL_F(&arg2[i]))
-		    SET_NULL_F(&res[i]);
-		else
-		    res[i] = arg1[i] - arg2[i];
-	    }
-	    return 0;
-	}
-    case DCELL_TYPE:
-	{
-	    DCELL *res = args[0];
-	    DCELL *arg1 = args[1];
-	    DCELL *arg2 = args[2];
-
-	    for (i = 0; i < columns; i++) {
-		if (IS_NULL_D(&arg1[i]) || IS_NULL_D(&arg2[i]))
-		    SET_NULL_D(&res[i]);
-		else
-		    res[i] = arg1[i] - arg2[i];
-	    }
-	    return 0;
-	}
-    default:
-	return E_INV_TYPE;
-    }
-}
diff --git a/raster/r.mapcalc/xtan.c b/raster/r.mapcalc/xtan.c
deleted file mode 100644
index 6647c6f..0000000
--- a/raster/r.mapcalc/xtan.c
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#include <stdlib.h>
-#include <math.h>
-
-#include <grass/gis.h>
-#include <grass/raster.h>
-#include "globals.h"
-#include "expression.h"
-#include "func_proto.h"
-
-/**********************************************************************
-tan(x) 
-
-  if floating point exception occurs during the evaluation of tan(x)
-  the result is NULL
-
-  note: x is in degrees.
-**********************************************************************/
-
-#define DEGREES_TO_RADIANS (M_PI / 180.0)
-
-int f_tan(int argc, const int *argt, void **args)
-{
-    DCELL *res = args[0];
-    DCELL *arg1 = args[1];
-    int i;
-
-    if (argc < 1)
-	return E_ARG_LO;
-    if (argc > 1)
-	return E_ARG_HI;
-
-    if (argt[0] != DCELL_TYPE)
-	return E_RES_TYPE;
-
-    if (argt[1] != DCELL_TYPE)
-	return E_ARG_TYPE;
-
-    for (i = 0; i < columns; i++)
-	if (IS_NULL_D(&arg1[i]))
-	    SET_NULL_D(&res[i]);
-	else {
-	    floating_point_exception = 0;
-	    res[i] = tan(arg1[i] * DEGREES_TO_RADIANS);
-	    if (floating_point_exception)
-		SET_NULL_D(&res[i]);
-	}
-
-    return 0;
-}
diff --git a/raster/r.mfilter/r.mfilter.html b/raster/r.mfilter/r.mfilter.html
index e2730e7..ab3605e 100644
--- a/raster/r.mfilter/r.mfilter.html
+++ b/raster/r.mfilter/r.mfilter.html
@@ -146,4 +146,4 @@ Glynn Clements.
 Based upon r.mfilter, by Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/raster/r.mode/r.mode.html b/raster/r.mode/r.mode.html
index fb03e8f..bb9aee1 100644
--- a/raster/r.mode/r.mode.html
+++ b/raster/r.mode/r.mode.html
@@ -58,4 +58,4 @@ r.univar K.by.farm.mode
 Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.neighbors/main.c b/raster/r.neighbors/main.c
index f641b7d..1207029 100644
--- a/raster/r.neighbors/main.c
+++ b/raster/r.neighbors/main.c
@@ -56,7 +56,7 @@ enum out_type {
 static struct menu menu[] = {
     {c_ave, w_ave, NO_CATS, 1, 1, T_FLOAT, "average", "average value"},
     {c_median, w_median, NO_CATS, 1, 0, T_FLOAT, "median", "median value"},
-    {c_mode, w_mode, NO_CATS, 1, 0, T_COPY, "mode", "most frequently occuring value"},
+    {c_mode, w_mode, NO_CATS, 1, 0, T_COPY, "mode", "most frequently occurring value"},
     {c_min, NULL, NO_CATS, 1, 0, T_COPY, "minimum", "lowest value"},
     {c_max, NULL, NO_CATS, 1, 0, T_COPY, "maximum", "highest value"},
     {c_range, NULL, NO_CATS, 1, 0, T_COPY, "range", "range value"},
diff --git a/raster/r.neighbors/r.neighbors.html b/raster/r.neighbors/r.neighbors.html
index bc06f7d..bf9d41d 100644
--- a/raster/r.neighbors/r.neighbors.html
+++ b/raster/r.neighbors/r.neighbors.html
@@ -129,6 +129,9 @@ within the neighborhood (rounded to the nearest integer).
 
 <dd>The sum of values within the neighborhood.
 
+<dt><b>count</b>
+<dd>The count of filled (not NULL) cells.
+
 <dt><b>variance</b> 
 
 <dd>The statistical variance of values
@@ -153,6 +156,18 @@ In the above example, the interspersion is:
 
 The result is rounded to the nearest integer (in this case 64).
 
+<dt><b>quart1, quart3</b>
+
+<dd>The result will be the first or the third quartile (equal of 25th and 75th percentiles).
+
+<dt><b>perc90</b>
+
+<dd>The result will be the 90th percentile of neighborhood.
+
+<dt><b>quantile</b>
+
+<dd>Any quantile as specified by "quantile" input parameter.
+
 </dl>
 <p><br>
 
@@ -363,14 +378,32 @@ note 2 above), quantiles (without interpolation).</li>
 otherwise float: sum.</li> 
 </ol> 
 
-<!-- TODO
+
 <h2>EXAMPLES</h2>
 
+<h3>Measure occupancy of neighborhood</h3>
+
+Set up 10x10 computational region to aid visual inspection of results
+<div class="code"><pre>
+g.region rows=10 cols=10
+</pre></div>
+
+Fill 50% of computational region with randomly located cells.
+"distance=0" will allow to fill adjacent cells.
+<div class="code"><pre>
+r.random.cells output=random_cells distance=0 ncells=50
+</pre></div>
+
+Count non-empty (not NULL) cells in 3x3 neighborhood
+<div class="code"><pre>
+r.neighbors input=random_cells output=counts method=count
+</pre></div>
+
+Optionally - exclude centre cell from the count (= only look around)
 <div class="code"><pre>
-r.neighbors 
+r.mapcalc "cound_around = if( isnull(random_cells), counts, counts - 1)"
 </pre></div>
 
--->
 
 <h2>SEE ALSO</h2>
 
@@ -389,4 +422,4 @@ U.S.Army Construction Engineering Research Laboratory
 <br>
 Updates for GRASS GIS 7 by Glynn Clements and others
 
-<p><i>Last changed: $Date: 2015-07-11 16:04:13 +0200 (Sat, 11 Jul 2015) $</i>  
+<p><i>Last changed: $Date: 2016-03-19 00:51:10 -0700 (Sat, 19 Mar 2016) $</i>  
diff --git a/raster/r.null/main.c b/raster/r.null/main.c
index 84699da..f89d7d5 100644
--- a/raster/r.null/main.c
+++ b/raster/r.null/main.c
@@ -31,10 +31,10 @@ int main(int argc, char *argv[])
     const char *name, *mapset;
     char rname[GNAME_MAX], rmapset[GMAPSET_MAX];
     char path[GPATH_MAX];
-    int row, col, null_fd;
+    int row, col, fd;
     unsigned char *null_bits;
     RASTER_MAP_TYPE map_type;
-    int change_null = 0, create, remove, only_int, only_fp, only_null;
+    int change_null = 0, create, remove, only_int, only_fp, only_null, recreate;
     int is_reclass;
 
     struct GModule *module;
@@ -51,6 +51,7 @@ int main(int argc, char *argv[])
 	struct Flag *i;
 	struct Flag *c;
 	struct Flag *r;
+	struct Flag *z;
     } flags;
 
     G_gisinit(argv[0]);
@@ -106,6 +107,11 @@ int main(int argc, char *argv[])
     flags.r->description = _("Remove NULL-value bitmap file");
     flags.r->guisection = _("Remove");
 
+    flags.z = G_define_flag();
+    flags.z->key = 'z';
+    flags.z->description =
+	_("Re-create NULL-value bitmap file (to compress or uncompress)");
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
@@ -114,6 +120,7 @@ int main(int argc, char *argv[])
     only_null = flags.n->answer;
     create = flags.c->answer;
     remove = flags.r->answer;
+    recreate = flags.z->answer;
 
     name = parms.map->answer;
     mapset = G_find_raster2(name, "");
@@ -165,22 +172,50 @@ int main(int argc, char *argv[])
 
     if (create) {
 	/* write a file of no-nulls */
-	null_bits = (unsigned char *)Rast__allocate_null_bits(cellhd.cols);
+	null_bits = Rast__allocate_null_bits(cellhd.cols);
 	/* init all cells to 0's */
 	for (col = 0; col < Rast__null_bitstream_size(cellhd.cols); col++)
 	    null_bits[col] = 0;
 
-	null_fd = G_open_new_misc("cell_misc", "null", name);
+	Rast_set_window(&cellhd);
+	fd = Rast__open_null_write(name);
+
+	G_verbose_message(_("Writing new null file for raster map <%s>..."),
+			  name);
+
+	for (row = 0; row < cellhd.rows; row++) {
+	    G_percent(row, cellhd.rows, 1);
+	    Rast__write_null_bits(fd, null_bits);
+	}
+	G_percent(row, cellhd.rows, 1);
+	Rast__close_null(fd);
+
+	G_done_msg(_("Raster map <%s> modified."), name);
+
+	exit(EXIT_SUCCESS);
+    }
+
+    if (recreate) {
+	int in_fd;
+	/* write a file of no-nulls */
+	null_bits = Rast__allocate_null_bits(cellhd.cols);
+	Rast__init_null_bits(null_bits, cellhd.cols);
+
+	Rast_set_window(&cellhd);
+	in_fd = Rast_open_old(name, mapset);
+	fd = Rast__open_null_write(name);
 
 	G_verbose_message(_("Writing new null file for raster map <%s>..."),
 			  name);
 
 	for (row = 0; row < cellhd.rows; row++) {
 	    G_percent(row, cellhd.rows, 1);
-	    Rast__write_null_bits(null_fd, null_bits, row, cellhd.cols, 0);
+	    Rast__read_null_bits(in_fd, row, null_bits);
+	    Rast__write_null_bits(fd, null_bits);
 	}
 	G_percent(row, cellhd.rows, 1);
-	close(null_fd);
+	Rast__close_null(fd);
+	Rast_close(in_fd);
 
 	G_done_msg(_("Raster map <%s> modified."), name);
 
@@ -191,9 +226,10 @@ int main(int argc, char *argv[])
 	/* write a file of no-nulls */
 	G_verbose_message(_("Removing null file for raster map <%s>..."),
 			   name);
-	null_fd = G_open_new_misc("cell_misc", "null", name);
 	G_file_name_misc(path, "cell_misc", "null", name, mapset);
 	unlink(path);
+	G_file_name_misc(path, "cell_misc", "null2", name, mapset);
+	unlink(path);
 
 	G_done_msg(_("Raster map <%s> modified."), name);
 
diff --git a/raster/r.null/r.null.html b/raster/r.null/r.null.html
index adbb4d7..2c1f5a1 100644
--- a/raster/r.null/r.null.html
+++ b/raster/r.null/r.null.html
@@ -56,4 +56,4 @@ and
 
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2015-07-11 16:04:13 +0200 (Sat, 11 Jul 2015) $</i>
+<p><i>Last changed: $Date: 2015-07-11 07:01:46 -0700 (Sat, 11 Jul 2015) $</i>
diff --git a/raster/r.out.ascii/r.out.ascii.html b/raster/r.out.ascii/r.out.ascii.html
index 2229a0a..0ab353a 100644
--- a/raster/r.out.ascii/r.out.ascii.html
+++ b/raster/r.out.ascii/r.out.ascii.html
@@ -53,4 +53,4 @@ Michael Shapiro,
 U.S. Army Construction Engineering Research Laboratory
 <p>Surfer support by Markus Neteler
 
-<p><i>Last changed: $Date: 2014-11-01 20:59:34 +0100 (Sat, 01 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-01 12:57:37 -0700 (Sat, 01 Nov 2014) $</i>
diff --git a/raster/r.out.bin/r.out.bin.html b/raster/r.out.bin/r.out.bin.html
index cd25ed8..0d33f14 100644
--- a/raster/r.out.bin/r.out.bin.html
+++ b/raster/r.out.bin/r.out.bin.html
@@ -40,4 +40,4 @@ This program is derived from <em><a href="r.out.ascii.html">r.out.ascii</a></em>
 with a few modifications. <br>
 Author: <a href="mailto:bcovill at tekmap.ns.ca">Bob Covill</a>
 
-<p><i>Last changed: $Date: 2014-11-01 20:59:34 +0100 (Sat, 01 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-01 12:57:37 -0700 (Sat, 01 Nov 2014) $</i>
diff --git a/raster/r.out.gdal/r.out.gdal.html b/raster/r.out.gdal/r.out.gdal.html
index 0bae7fa..113a6ee 100644
--- a/raster/r.out.gdal/r.out.gdal.html
+++ b/raster/r.out.gdal/r.out.gdal.html
@@ -246,4 +246,4 @@ GDAL Pages: <a href="http://www.gdal.org">http://www.gdal.org</a>
 Vytautas Vebra (oliver4grass at gmail.com)<br>
 Markus Metz (improved nodata logic)
 
-<p><i>Last changed: $Date: 2015-12-31 09:19:51 +0100 (Thu, 31 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-31 00:19:29 -0800 (Thu, 31 Dec 2015) $</i>
diff --git a/raster/r.out.gridatb/r.out.gridatb.html b/raster/r.out.gridatb/r.out.gridatb.html
index 62b1dd1..07fbf39 100644
--- a/raster/r.out.gridatb/r.out.gridatb.html
+++ b/raster/r.out.gridatb/r.out.gridatb.html
@@ -12,4 +12,4 @@
 
 Huidae Cho based on code from Keith Beven
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.out.mat/r.out.mat.html b/raster/r.out.mat/r.out.mat.html
index f6b8e5b..6bbd667 100644
--- a/raster/r.out.mat/r.out.mat.html
+++ b/raster/r.out.mat/r.out.mat.html
@@ -96,4 +96,4 @@ University of Otago<br>
 New Zealand</i><br>
 
 <br>
-<p><i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/raster/r.out.mpeg/r.out.mpeg.html b/raster/r.out.mpeg/r.out.mpeg.html
index a202cfd..e486e89 100644
--- a/raster/r.out.mpeg/r.out.mpeg.html
+++ b/raster/r.out.mpeg/r.out.mpeg.html
@@ -99,4 +99,4 @@ the <b>stdout</b> option.
 Bill Brown,
 U.S. Army Construction Engineering Research Laboratories
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/raster/r.out.png/r.out.png.html b/raster/r.out.png/r.out.png.html
index c1048b3..daf3318 100644
--- a/raster/r.out.png/r.out.png.html
+++ b/raster/r.out.png/r.out.png.html
@@ -25,4 +25,4 @@ file will be called <tt>png_map.wld</tt>.
 Alex Shevlakov<br>
 Hamish Bowman
 
-<p><i>Last changed: $Date: 2014-11-01 20:59:34 +0100 (Sat, 01 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-01 12:57:37 -0700 (Sat, 01 Nov 2014) $</i>
diff --git a/raster/r.out.pov/r.out.pov.html b/raster/r.out.pov/r.out.pov.html
index 95fcbdd..e9dc1c7 100644
--- a/raster/r.out.pov/r.out.pov.html
+++ b/raster/r.out.pov/r.out.pov.html
@@ -60,4 +60,4 @@ height_field  {
 <h2>AUTHOR</h2>
 Klaus D. Meyer, GEUM.tec GbR, eMail: <i>GEUM.tec at geum.de</i>
 
-<p><i>Last changed: $Date: 2013-02-07 10:56:17 +0100 (Thu, 07 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-07 01:56:17 -0800 (Thu, 07 Feb 2013) $</i>
diff --git a/raster/r.out.ppm/r.out.ppm.html b/raster/r.out.ppm/r.out.ppm.html
index db4eb6c..3d8c32a 100644
--- a/raster/r.out.ppm/r.out.ppm.html
+++ b/raster/r.out.ppm/r.out.ppm.html
@@ -56,4 +56,4 @@ pnmtopng -transparent white raster.ppm > raster.png
 
 Bill Brown, UIUC
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.out.ppm3/r.out.ppm3.html b/raster/r.out.ppm3/r.out.ppm3.html
index 15891f6..cbebd4d 100644
--- a/raster/r.out.ppm3/r.out.ppm3.html
+++ b/raster/r.out.ppm3/r.out.ppm3.html
@@ -31,4 +31,4 @@ differ, the aspect ratio of the resulting image will be off.
 Glynn Clements<br>
 Based upon <em>r.out.ppm</em> and <em>d.rgb</em>.
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.out.vrml/r.out.vrml.html b/raster/r.out.vrml/r.out.vrml.html
index a8d4902..063bdfb 100644
--- a/raster/r.out.vrml/r.out.vrml.html
+++ b/raster/r.out.vrml/r.out.vrml.html
@@ -60,4 +60,4 @@ Other possible additions:
 <h2>AUTHOR</h2>
   Bill Brown, US Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.out.vtk/r.out.vtk.html b/raster/r.out.vtk/r.out.vtk.html
index 950eae3..806122c 100644
--- a/raster/r.out.vtk/r.out.vtk.html
+++ b/raster/r.out.vtk/r.out.vtk.html
@@ -129,4 +129,4 @@ To achieve proper RGB overlay:
 <h2>AUTHOR</h2>
 Soeren Gebbert
 
-<p><i>Last changed: $Date: 2014-11-28 15:27:47 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-28 06:27:38 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/raster/r.param.scale/feature.c b/raster/r.param.scale/feature.c
index 4e5b37c..bac79f1 100644
--- a/raster/r.param.scale/feature.c
+++ b/raster/r.param.scale/feature.c
@@ -6,7 +6,7 @@
 
 /***                              feature()                                ***/
 
-/***     Returns a terrain feature based on the 6 quadratic coefficents    ***/
+/***     Returns a terrain feature based on the 6 quadratic coefficients    ***/
 
 /***	 that define a local trend surface. 			    	   ***/
 
@@ -21,7 +21,7 @@
 
 
 DCELL feature(double *coeff)
-{				/* Set of six quadratic coefficents.      */
+{				/* Set of six quadratic coefficients.      */
 
     /* Quadratic function in the form of
 
diff --git a/raster/r.param.scale/param.c b/raster/r.param.scale/param.c
index f2ea169..30cda02 100644
--- a/raster/r.param.scale/param.c
+++ b/raster/r.param.scale/param.c
@@ -7,7 +7,7 @@
 /*****************************************************************************/
 /***                                                                       ***/
 /***                                param()                                ***/
-/***     Returns a terrain parameter based on the 6 quadratic coefficents  ***/
+/***     Returns a terrain parameter based on the 6 quadratic coefficients  ***/
 /***	 that define a local trend surface. 			    	   ***/
 /***     Jo Wood, Department of Geography, V2.0 15th December, 1994        ***/
 /***                                                                       ***/
@@ -19,7 +19,7 @@
 
 DCELL param(int ptype,		/* Type of terrain parameter to calculate */
 	    double *coeff)
-{				/* Set of six quadratic coefficents.        */
+{				/* Set of six quadratic coefficients.        */
 
     /* Quadratic function in the form of
 
diff --git a/raster/r.param.scale/param.h b/raster/r.param.scale/param.h
index e080811..840bdeb 100644
--- a/raster/r.param.scale/param.h
+++ b/raster/r.param.scale/param.h
@@ -71,7 +71,7 @@ void find_obs(DCELL * z,	/* Local window of elevs.       */
 	      double *obs,	/* Observed column vector.      */
 	      double *w);	/* Weighting matrix.            */
 void find_weight(double *weight_ptr);
-DCELL feature(double *coeff);	/* Set of six quadratic coefficents.    */
+DCELL feature(double *coeff);	/* Set of six quadratic coefficients.    */
 
 /* ------ Global variables ------ */
 
diff --git a/raster/r.param.scale/r.param.scale.html b/raster/r.param.scale/r.param.scale.html
index de8011f..1c8c179 100644
--- a/raster/r.param.scale/r.param.scale.html
+++ b/raster/r.param.scale/r.param.scale.html
@@ -117,4 +117,4 @@ that implements the same procedure
 <p>Update to FP 3/2002: L. Potrich, M. Neteler, S. Menegon (ITC-irst)
 
 <p>
-<i>Last changed: $Date: 2015-07-20 10:49:51 +0200 (Mon, 20 Jul 2015) $</i>
+<i>Last changed: $Date: 2015-07-20 01:45:41 -0700 (Mon, 20 Jul 2015) $</i>
diff --git a/raster/r.patch/main.c b/raster/r.patch/main.c
index 04a46ec..a15907d 100644
--- a/raster/r.patch/main.c
+++ b/raster/r.patch/main.c
@@ -2,12 +2,15 @@
 /****************************************************************************
  *
  * MODULE:       r.patch
- * AUTHOR(S):    Michael Shapiro, CERL (original contributor)
- *               Hamish Bowman <hamish_b yahoo.com>, Markus Neteler <neteler itc.it>
- *               Glynn Clements <glynn gclements.plus.com>, Jachym Cepicky <jachym les-ejk.cz>,
- *               Jan-Oliver Wagner <jan intevation.de>
+ * AUTHOR(S):    Michael Shapiro, CERL (original contributor),
+ *               Hamish Bowman <hamish_b yahoo.com>,
+ *               Markus Neteler <neteler itc.it>,
+ *               Glynn Clements <glynn gclements.plus.com>,
+ *               Jachym Cepicky <jachym les-ejk.cz>,
+ *               Jan-Oliver Wagner <jan intevation.de>,
+ *               Huidae Cho <grass4u gmail.com>
  * PURPOSE:      
- * COPYRIGHT:    (C) 1999-2006 by the GRASS Development Team
+ * COPYRIGHT:    (C) 1999-2014 by the GRASS Development Team
  *
  *               This program is free software under the GNU General Public
  *               License (>=v2). Read the file COPYING that comes with GRASS
diff --git a/raster/r.patch/r.patch.html b/raster/r.patch/r.patch.html
index 9afe418..e07b7c4 100644
--- a/raster/r.patch/r.patch.html
+++ b/raster/r.patch/r.patch.html
@@ -134,4 +134,4 @@ U.S. Army Construction Engineering Research Laboratory
 <br>
 -z flag and performance improvement by Huidae Cho
 
-<p><i>Last changed: $Date: 2015-10-09 18:55:34 +0200 (Fri, 09 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-09 09:45:29 -0700 (Fri, 09 Oct 2015) $</i>
diff --git a/raster/r.patch/testsuite/test_rpatch_artificial.py b/raster/r.patch/testsuite/test_rpatch_artificial.py
new file mode 100644
index 0000000..627e3b9
--- /dev/null
+++ b/raster/r.patch/testsuite/test_rpatch_artificial.py
@@ -0,0 +1,223 @@
+"""
+TEST:      r.patch
+
+AUTHOR(S): Vaclav Petras
+
+PURPOSE:   Test r.patch using artificial and small data
+
+COPYRIGHT: (C) 2015 Vaclav Petras, and by the GRASS Development Team
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+cell_1 = """\
+north: 20
+south: 10
+east: 25
+west: 15
+rows: 4
+cols: 4
+505 501 500 520
+506 501 550 520
+504 401 400 520
+502 520 540 520
+"""
+
+cell_2 = """\
+north: 30
+south: 20
+east: 25
+west: 15
+rows: 4
+cols: 4
+505 505 500 520
+406 409 550 520
+304 405 400 560
+302 520 540 520
+"""
+
+cell_patched_ref = """\
+north: 30
+south: 10
+east: 25
+west: 15
+rows: 8
+cols: 4
+505 505 500 520
+406 409 550 520
+304 405 400 560
+302 520 540 520
+505 501 500 520
+506 501 550 520
+504 401 400 520
+502 520 540 520
+"""
+
+# the following comes from the manual
+
+cell_overlap_a = """\
+north: 35
+south: 20
+east: 25
+west: 15
+rows: 6
+cols: 8
+1 1 1 0 2 2 0 0
+1 1 0 2 2 2 0 0
+3 3 3 3 2 2 0 0
+3 3 3 3 0 0 0 0
+3 3 3 0 0 0 0 0
+0 0 0 0 0 0 0 0
+"""
+
+cell_overlap_b = """\
+north: 35
+south: 20
+east: 25
+west: 15
+rows: 6
+cols: 8
+0 0 1 1 0 0 0 0
+0 0 1 1 0 0 0 0
+0 0 0 0 0 0 0 0
+4 4 4 4 4 4 4 4
+4 4 4 4 4 4 4 4
+4 4 4 4 4 4 4 4
+"""
+
+cell_overlap_ab = """\
+north: 35
+south: 20
+east: 25
+west: 15
+rows: 6
+cols: 8
+1 1 1 1 2 2 0 0
+1 1 1 2 2 2 0 0
+3 3 3 3 2 2 0 0
+3 3 3 3 4 4 4 4
+3 3 3 4 4 4 4 4
+4 4 4 4 4 4 4 4
+"""
+
+cell_overlap_ba = """\
+north: 35
+south: 20
+east: 25
+west: 15
+rows: 6
+cols: 8
+1 1 1 1 2 2 0 0
+1 1 1 1 2 2 0 0
+3 3 3 3 2 2 0 0
+4 4 4 4 4 4 4 4
+4 4 4 4 4 4 4 4
+4 4 4 4 4 4 4 4
+"""
+
+
+class TestSmallDataNoOverlap(TestCase):
+
+    # TODO: replace by unified handing of maps
+    to_remove = []
+    cell_1 = 'rpatch_small_test_cell_1'
+    cell_2 = 'rpatch_small_test_cell_2'
+    cell_patched = 'rpatch_small_test_cell_patched'
+    cell_patched_ref = 'rpatch_small_test_cell_patched_ref'
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        # 10 / 4 == 2.5 (size of raster / number of cells)
+        cls.runModule('g.region', n=30, s=10, e=25, w=15, res=2.5)
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.del_temp_region()
+        if cls.to_remove:
+            cls.runModule('g.remove', flags='f', type='raster',
+                          name=','.join(cls.to_remove), verbose=True)
+
+    def test_patching_cell(self):
+        """Test patching two neighboring CELL raster maps"""
+        self.runModule('r.in.ascii', input='-', stdin=cell_1,
+                       output=self.cell_1)
+        self.to_remove.append(self.cell_1)
+        self.runModule('r.in.ascii', input='-', stdin=cell_2,
+                       output=self.cell_2)
+        self.to_remove.append(self.cell_2)
+
+        self.assertModule('r.patch', input=(self.cell_1, self.cell_2),
+                          output=self.cell_patched)
+        self.to_remove.append(self.cell_patched)
+        self.runModule('r.in.ascii', input='-', stdin=cell_patched_ref,
+                       output=self.cell_patched_ref)
+        self.to_remove.append(self.cell_patched_ref)
+        self.assertRastersNoDifference(self.cell_patched,
+                                       self.cell_patched_ref, precision=0)
+
+
+class TestSmallDataOverlap(TestCase):
+
+    # TODO: replace by unified handing of maps
+    to_remove = []
+    cell_a = 'rpatch_small_test_cell_a'
+    cell_b = 'rpatch_small_test_cell_b'
+    cell_ab = 'rpatch_small_test_cell_ab_reference'
+    cell_ba = 'rpatch_small_test_cell_ba_reference'
+    cell_ab_result = 'rpatch_small_test_cell_ab_result'
+    cell_ba_result = 'rpatch_small_test_cell_ba_result'
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        # 15 / 6 == 2.5 ((n-s) / number of cells)
+        # 10 / 8 == 1.25 ((e-w) / number of cells)
+        cls.runModule('g.region', n=35, s=20, e=25, w=15,
+                      nsres=2.5, ewres=1.25)
+        cls.runModule('r.in.ascii', input='-', stdin=cell_overlap_a,
+                      output=cls.cell_a)
+        cls.to_remove.append(cls.cell_a)
+        cls.runModule('r.in.ascii', input='-', stdin=cell_overlap_b,
+                      output=cls.cell_b)
+        cls.to_remove.append(cls.cell_b)
+        cls.runModule('r.in.ascii', input='-', stdin=cell_overlap_ab,
+                      output=cls.cell_ab)
+        cls.to_remove.append(cls.cell_ab)
+        cls.runModule('r.in.ascii', input='-', stdin=cell_overlap_ba,
+                      output=cls.cell_ba)
+        cls.to_remove.append(cls.cell_ba)
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.del_temp_region()
+        if cls.to_remove:
+            cls.runModule('g.remove', flags='f', type='raster',
+                          name=','.join(cls.to_remove), verbose=True)
+
+    def test_patch_oder_ab_cell(self):
+        """Test patching two overlapping CELL raster maps (watching order)"""
+        self.assertModule('r.patch', input=(self.cell_a, self.cell_b),
+                          output=self.cell_ab_result, flags='z')
+        self.assertRasterExists(self.cell_ab_result)
+        self.to_remove.append(self.cell_ab_result)
+        self.assertRastersNoDifference(self.cell_ab_result,
+                                       self.cell_ab, precision=0)
+
+    def test_patch_oder_ba_cell(self):
+        """Test patching two overlapping CELL raster maps (watching order)"""
+        self.assertModule('r.patch', input=(self.cell_b, self.cell_a),
+                          output=self.cell_ba_result, flags='z')
+        self.assertRasterExists(self.cell_ba_result)
+        self.to_remove.append(self.cell_ba_result)
+        self.assertRastersNoDifference(self.cell_ba_result,
+                                       self.cell_ba, precision=0)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/raster/r.profile/r.profile.html b/raster/r.profile/r.profile.html
index e2d790a..319805b 100644
--- a/raster/r.profile/r.profile.html
+++ b/raster/r.profile/r.profile.html
@@ -166,4 +166,4 @@ Approx. transect length: 995.014070 [meters]
 <a href="mailto:bcovill at tekmap.ns.ca">Bob Covill</a>
 
 <p>
-<i>Last changed: $Date: 2015-06-07 20:57:04 +0200 (Sun, 07 Jun 2015) $</i>
+<i>Last changed: $Date: 2015-06-07 11:56:26 -0700 (Sun, 07 Jun 2015) $</i>
diff --git a/raster/r.profile/testsuite/test_profile_ncspm.py b/raster/r.profile/testsuite/test_profile_ncspm.py
index b86c828..762de34 100644
--- a/raster/r.profile/testsuite/test_profile_ncspm.py
+++ b/raster/r.profile/testsuite/test_profile_ncspm.py
@@ -1,4 +1,5 @@
-from grass.gunittest import TestCase, test
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gmodules import SimpleModule
 import grass.script.core as gcore
 
diff --git a/raster/r.proj/main.c b/raster/r.proj/main.c
index 74fdd82..93df04c 100644
--- a/raster/r.proj/main.c
+++ b/raster/r.proj/main.c
@@ -144,6 +144,7 @@ int main(int argc, char **argv)
     G_add_keyword(_("raster"));
     G_add_keyword(_("projection"));
     G_add_keyword(_("transformation"));
+    G_add_keyword(_("import"));
     module->description =
 	_("Re-projects a raster map from given location to the current location.");
 
diff --git a/raster/r.proj/r.proj.html b/raster/r.proj/r.proj.html
index 461effa..0152f49 100644
--- a/raster/r.proj/r.proj.html
+++ b/raster/r.proj/r.proj.html
@@ -316,6 +316,6 @@ The 'gdalwarp' and 'gdal_translate' utilities are available from the
 Martin Schroeder, University of Heidelberg, Germany<br>
 Man page text from S.J.D. Cox, AGCRC, CSIRO Exploration & Mining, Nedlands, WA<br>
 Updated by <a href="mailto:morten at untamo.net">Morten Hulden</a><br>
-Datum tranformation support and cleanup by Paul Kelly
+Datum transformation support and cleanup by Paul Kelly
 
-<p><i>Last changed: $Date: 2015-09-12 11:03:45 +0200 (Sat, 12 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2016-01-29 01:29:57 -0800 (Fri, 29 Jan 2016) $</i>
diff --git a/raster/r.quant/r.quant.html b/raster/r.quant/r.quant.html
index 102a87e..b0ace33 100644
--- a/raster/r.quant/r.quant.html
+++ b/raster/r.quant/r.quant.html
@@ -29,4 +29,4 @@ It is an error for both basemap and fprange to be specified.
 Michael Shapiro, Olga Waupotitsch,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster/r.quantile/r.quantile.html b/raster/r.quantile/r.quantile.html
index 7e03ad6..5583bda 100644
--- a/raster/r.quantile/r.quantile.html
+++ b/raster/r.quantile/r.quantile.html
@@ -40,4 +40,4 @@ r.quantile elevation quantiles=5 -r --quiet | r.recode elevation \
 
 Glynn Clements
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.random.cells/indep.c b/raster/r.random.cells/indep.c
index fbd0781..de4152a 100644
--- a/raster/r.random.cells/indep.c
+++ b/raster/r.random.cells/indep.c
@@ -21,6 +21,11 @@ void Indep(void)
 	G_debug(3, "(CellCount):%d", CellCount);
 	G_debug(3, "(Count):%d", Count);
 
+        if (Found >= MaxCellsNum) {
+            G_debug(1, "Hit maximum number of cells");
+            break;
+        }
+
 	DRow = DoNext[Count].R;
 	DCol = DoNext[Count++].C;
 
@@ -137,6 +142,8 @@ void Indep(void)
 	G_percent(R, Rs, 2);
 	for (C = 0; C < Cs; C++) {
 	    CellBuffer[C] = Out[R][C];
+	    if(CellBuffer[C] == 0)
+		Rast_set_null_value(&CellBuffer[C], 1, CELL_TYPE);
 	}
 	Rast_put_row(OutFD, CellBuffer, CELL_TYPE);
     }
diff --git a/raster/r.random.cells/init.c b/raster/r.random.cells/init.c
index 1cae8c7..6b533c1 100644
--- a/raster/r.random.cells/init.c
+++ b/raster/r.random.cells/init.c
@@ -65,6 +65,13 @@ void Init()
 	CellCount = Rs * Cs;
     }
 
+    /* cut down num of cells if requested */
+    if (MaxCells->answer)
+        sscanf(MaxCells->answer, "%d", &MaxCellsNum);
+    else
+        MaxCellsNum = CellCount;
+    G_debug(1, "(CellCount):%d", CellCount);
+
     sscanf(Distance->answer, "%lf", &MaxDist);
     if (MaxDist < 0.0)
 	G_fatal_error(_("Distance must be >= 0.0"));
diff --git a/raster/r.random.cells/main.c b/raster/r.random.cells/main.c
index 715d497..93a8149 100644
--- a/raster/r.random.cells/main.c
+++ b/raster/r.random.cells/main.c
@@ -30,10 +30,12 @@ FLAG *Cells;
 CELLSORTER *DoNext;
 CELL **Out, *CellBuffer;
 int Seed, OutFD;
+int MaxCellsNum;
 struct Flag *Verbose;
 struct Option *Distance;
 struct Option *Output;
 struct Option *SeedStuff;
+struct Option *MaxCells;
 
 int main(int argc, char *argv[])
 {
@@ -59,6 +61,14 @@ int main(int argc, char *argv[])
     Distance->description =
 	_("Maximum distance of spatial correlation (value >= 0.0)");
 
+    MaxCells = G_define_option();
+    MaxCells->key = "ncells";
+    MaxCells->type = TYPE_INTEGER;
+    MaxCells->required = NO;
+    MaxCells->options = "1-";
+    MaxCells->description =
+        _("Maximum number of cells to be created");
+
     SeedStuff = G_define_option();
     SeedStuff->key = "seed";
     SeedStuff->type = TYPE_INTEGER;
diff --git a/raster/r.random.cells/r.random.cells.html b/raster/r.random.cells/r.random.cells.html
index 7d87b3f..8264045 100644
--- a/raster/r.random.cells/r.random.cells.html
+++ b/raster/r.random.cells/r.random.cells.html
@@ -2,7 +2,7 @@
 
 <em>r.random.cells</em> generates a random sets of raster cells that are
 at least <b>distance</b> apart. The cells are numbered from 1 to the
-numbers of cells generated, all other cells are 0 (zero). Random
+numbers of cells generated, all other cells are NULL (no data). Random
 cells will not be generated in areas masked off.
 
 <h3>Detailed parameter description</h3>
@@ -40,16 +40,85 @@ number of non-masked cells in the study region. -->
 
 <h2>EXAMPLE</h2>
 
+<h3>Random cells in given distances</h3>
+
 North Carolina sample dataset example:
 
 <div class="code"><pre>
 g.region n=228500 s=215000 w=630000 e=645000 res=100 -p
 r.random.cells output=random_500m distance=500
+</pre></div>
+
+<h3>Limited number of random points</h3>
 
-# optionally set 0 to NULL (masked off areas)
-r.null random_500m setnull=0
+Here is another example where we will create given number of vector points
+with the given minimal distances.
+Let's star with setting the region (we use large cells here):
+
+<div class="code"><pre>
+g.region raster=elevation
+g.region rows=20 cols=20 -p
 </pre></div>
 
+Then we generate random cells and we limit their count to 20:
+
+<div class="code"><pre>
+r.random.cells output=random_cells distance=1500 ncells=20 seed=200
+</pre></div>
+
+Finally, we convert the raster cells to points using
+<em><a href="r.to.vect.html">r.to.vect</a></em> module:
+
+<div class="code"><pre>
+r.to.vect input=random_cells output=random_points type=point
+</pre></div>
+
+An example of the result is at the Figure below on the left
+in comparison with the result without the cell limit on the right.
+
+<p>
+Additionally, we can use <em><a href="v.perturb.html">v.perturb</a></em> module
+to add random spatial deviation to their position so that they are not
+perfectly aligned with the grid. We cannot perturb the points too much,
+otherwise we might seriously break the minimal distance we set earlier.
+
+<div class="code"><pre>
+v.perturb input=random_points output=random_points_moved parameters=50 seed=200
+</pre></div>
+
+In the above examples, we were using fixed seed. This is advantageous when
+we want to generate (pseudo) random data, but we want to get reproducible
+results at the same time.
+
+<center>
+<img src="r_random_cells.png" alt="Cells and points filling the space">
+<p><em>
+    Figure: Generated cells with limited number of cells (upper left),
+    derived vector points (lower left), cells without a count limit
+    (upper right) and corresponding vector points (lower right)
+</em></p>
+</center>
+
+<!--
+r.random.cells output=random_cells_all distance=1500 seed=200
+r.random.cells output=random_cells distance=1500 ncells=20 seed=200
+r.to.vect input=random_cells_all output=random_points_all type=point
+r.to.vect input=random_cells output=random_points type=point
+
+d.mon cairo out=r_random_cells.png
+d.frame frame=a at=50,100,0,50 -c
+d.rast random_cells
+d.frame frame=b at=50,100,50,100 -c
+d.rast random_cells_all
+d.frame frame=c at=0,50,0,50 -c
+d.vect random_points color=0:53:106 fill_color=30:144:255 width=1 icon=basic/point size=20
+d.frame frame=d at=0,50,50,100 -c
+d.vect random_points_all color=0:53:106 fill_color=30:144:255 width=1 icon=basic/point size=20
+d.mon stop=cairo
+mogrify -trim r_random_cells.png
+-->
+
+
 <h2>REFERENCES</h2>
 Random Field Software for GRASS GIS by Chuck Ehlschlaeger
 
@@ -90,12 +159,16 @@ Goodchild. Proceedings, GIS/LIS'94, pp. 246-253, Phoenix AZ,
 r.2Dcorrelogram, 
 r.2Dto1D, -->
 <a href="r.random.surface.html">r.random.surface</a>,
-<a href="r.random.html">r.random</a>
-</em> 
+<a href="r.random.html">r.random</a>,
+<a href="v.random.html">v.random</a>,
+<a href="r.to.vect.html">r.to.vect</a>,
+<a href="v.perturb.html">v.perturb</a>
+</em>
+
 
 <h2>AUTHOR</h2>
 
 Charles Ehlschlaeger; National Center for Geographic Information and
 Analysis, University of California, Santa Barbara.
 
-<p><i>Last changed: $Date: 2015-04-21 16:00:05 +0200 (Tue, 21 Apr 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-10 13:01:15 -0700 (Sat, 10 Oct 2015) $</i>
diff --git a/raster/r.random.cells/r_random_cells.png b/raster/r.random.cells/r_random_cells.png
new file mode 100644
index 0000000..fbed750
Binary files /dev/null and b/raster/r.random.cells/r_random_cells.png differ
diff --git a/raster/r.random.cells/ransurf.h b/raster/r.random.cells/ransurf.h
index 374ecc8..c30c2be 100644
--- a/raster/r.random.cells/ransurf.h
+++ b/raster/r.random.cells/ransurf.h
@@ -24,7 +24,9 @@ extern FLAG *Cells;
 extern CELLSORTER *DoNext;
 extern CELL **Out, *CellBuffer;
 extern int Seed, OutFD;
+extern int MaxCellsNum;
 extern struct Flag *Verbose;
 extern struct Option *Distance;
 extern struct Option *Output;
 extern struct Option *SeedStuff;
+extern struct Option *MaxCells;
diff --git a/raster/r.random.cells/testsuite/test_random_cells.py b/raster/r.random.cells/testsuite/test_random_cells.py
new file mode 100644
index 0000000..25ef1bc
--- /dev/null
+++ b/raster/r.random.cells/testsuite/test_random_cells.py
@@ -0,0 +1,77 @@
+"""
+TEST:      r.random.cells
+
+AUTHOR(S): Vaclav Petras
+
+PURPOSE:   Test r.random.cells
+
+COPYRIGHT: (C) 2015 Vaclav Petras, and by the GRASS Development Team
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+
+class TestCounts(TestCase):
+
+    # TODO: replace by unified handing of maps
+    to_remove = []
+    all_rast = "r_random_cells_all"
+    some_rast = "r_random_cells_some"
+    count_rast = "r_random_cells_count"
+    n_cells = 50
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        # (20-10) / 2 * (60-40) / 2 = 50 cells
+        cls.runModule('g.region', n=20, s=10, e=60, w=40, res=2)
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.del_temp_region()
+        if cls.to_remove:
+            cls.runModule('g.remove', flags='f', type='raster',
+                          name=','.join(cls.to_remove), verbose=True)
+
+    def test_fill_all(self):
+        self.assertModule('r.random.cells', output=self.all_rast,
+                          distance=0.01, seed=100)
+        self.to_remove.append(self.all_rast)
+        self.assertRasterFitsUnivar(
+            self.all_rast,
+            reference=dict(cells=self.n_cells, n=self.n_cells, null_cells=0,
+                           min=1, max=self.n_cells))
+
+    def test_fill_some(self):
+        self.assertModule('r.random.cells', output=self.some_rast,
+                          distance=2, seed=100)
+        self.to_remove.append(self.some_rast)
+        self.assertRasterFitsUnivar(
+            self.some_rast,
+            reference=dict(cells=self.n_cells, min=1))
+        # it is hard to say how much but it will be less than half
+        self.assertRasterMinMax(self.some_rast, 1, self.n_cells / 2)
+
+    def test_fill_count(self):
+        count = 12
+        self.assertModule('r.random.cells', output=self.count_rast,
+                          distance=2, seed=100, ncells=count)
+        self.to_remove.append(self.count_rast)
+        self.assertRasterFitsUnivar(
+            self.count_rast,
+            reference=dict(cells=self.n_cells, n=count,
+                           null_cells=self.n_cells - count,
+                           min=1, max=count))
+        # it is hard to say how much but it will be less than half
+        self.assertRasterMinMax(self.count_rast, 1, count)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/raster/r.random.surface/r.random.surface.html b/raster/r.random.surface/r.random.surface.html
index 2ca5bec..af78ae7 100644
--- a/raster/r.random.surface/r.random.surface.html
+++ b/raster/r.random.surface/r.random.surface.html
@@ -154,4 +154,4 @@ Charles Ehlschlaeger, Michael Goodchild, and Chih-chang Lin; National Center
 for Geographic Information and Analysis, University of California, Santa
 Barbara.
 
-<p><i>Last changed: $Date: 2014-09-17 08:41:45 +0200 (Wed, 17 Sep 2014) $</i>
+<p><i>Last changed: $Date: 2014-09-16 23:41:01 -0700 (Tue, 16 Sep 2014) $</i>
diff --git a/raster/r.random/r.random.html b/raster/r.random/r.random.html
index bf8ec3a..3f75326 100644
--- a/raster/r.random/r.random.html
+++ b/raster/r.random/r.random.html
@@ -119,4 +119,4 @@ Central Washington University
 <p>Modified for GRASS 5.0 by Eric G. Miller
 <p>Cover map support by Markus Neteler, 2007
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/raster/r.reclass/r.reclass.html b/raster/r.reclass/r.reclass.html
index 6b675f4..d45df78 100644
--- a/raster/r.reclass/r.reclass.html
+++ b/raster/r.reclass/r.reclass.html
@@ -202,4 +202,4 @@ James Westervelt,<br>
 Michael Shapiro<br>
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2015-10-03 09:31:46 +0200 (Sat, 03 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-02 11:27:30 -0700 (Fri, 02 Oct 2015) $</i>
diff --git a/raster/r.recode/main.c b/raster/r.recode/main.c
index 69d1d83..0c9b367 100644
--- a/raster/r.recode/main.c
+++ b/raster/r.recode/main.c
@@ -47,6 +47,7 @@ int main(int argc, char *argv[])
     module = G_define_module();
     G_add_keyword(_("raster"));
     G_add_keyword(_("recode categories"));
+    G_add_keyword(_("reclassification"));
     module->description = _("Recodes categorical raster maps.");
 
     parm.input = G_define_standard_option(G_OPT_R_INPUT);
diff --git a/raster/r.recode/r.recode.html b/raster/r.recode/r.recode.html
index 9751a90..b7a010c 100644
--- a/raster/r.recode/r.recode.html
+++ b/raster/r.recode/r.recode.html
@@ -77,4 +77,4 @@ EOF
 
 CERL
 
-<p><i>Last changed: $Date: 2014-02-25 20:29:46 +0100 (Tue, 25 Feb 2014) $</i>
+<p><i>Last changed: $Date: 2014-02-25 11:29:46 -0800 (Tue, 25 Feb 2014) $</i>
diff --git a/raster/r.recode/testsuite/test_rrecode_ncspm.py b/raster/r.recode/testsuite/test_rrecode_ncspm.py
index c5f3c7e..06a98d7 100644
--- a/raster/r.recode/testsuite/test_rrecode_ncspm.py
+++ b/raster/r.recode/testsuite/test_rrecode_ncspm.py
@@ -1,5 +1,6 @@
 # -*- coding: utf-8 -*-
-from grass.gunittest import TestCase, test
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gmodules import SimpleModule
 from grass.script.core import read_command
 
@@ -84,7 +85,7 @@ class TestNCMaps(TestCase):
                           "which suggests input map values were read as integers.")
 
     def test_formats_landcover(self):
-        recode = SimpleModule('r.recode', input='landuse96_28m at PERMANENT',
+        recode = SimpleModule('r.recode', input='landuse at PERMANENT',
                               output='recoded', rules='-', overwrite=True)
         recode.inputs.stdin = rules4
         self.assertModule(recode)
diff --git a/raster/r.region/r.region.html b/raster/r.region/r.region.html
index 65d5a2f..e383636 100644
--- a/raster/r.region/r.region.html
+++ b/raster/r.region/r.region.html
@@ -56,4 +56,4 @@ Glynn Clements
 <br>
 Based upon <em>g.region</em>
 
-<p><i>Last changed: $Date: 2015-12-27 19:29:24 +0100 (Sun, 27 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-08-06 20:24:55 -0700 (Thu, 06 Aug 2015) $</i>
diff --git a/raster/r.regression.line/r.regression.line.html b/raster/r.regression.line/r.regression.line.html
index 43d513c..8e01731 100644
--- a/raster/r.regression.line/r.regression.line.html
+++ b/raster/r.regression.line/r.regression.line.html
@@ -76,4 +76,4 @@ Updated to GRASS 5.7 Michael Barton, Arizona State University<br>
 Script style output Markus Neteler<br>
 Conversion to C module Markus Metz
 
-<p><i>Last changed: $Date: 2015-10-27 18:41:34 +0100 (Tue, 27 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-27 10:40:48 -0700 (Tue, 27 Oct 2015) $</i>
diff --git a/raster/r.regression.multi/r.regression.multi.html b/raster/r.regression.multi/r.regression.multi.html
index 34abd4d..f5c47a6 100644
--- a/raster/r.regression.multi/r.regression.multi.html
+++ b/raster/r.regression.multi/r.regression.multi.html
@@ -92,4 +92,4 @@ r.regression.multi mapx=elevation,aspect,slope mapy=soils_Kfactor \
 
 Markus Metz
 
-<p><i>Last changed: $Date: 2015-10-27 18:41:34 +0100 (Tue, 27 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-27 10:40:48 -0700 (Tue, 27 Oct 2015) $</i>
diff --git a/raster/r.relief/r.relief.html b/raster/r.relief/r.relief.html
index b7c0c41..9a964dc 100644
--- a/raster/r.relief/r.relief.html
+++ b/raster/r.relief/r.relief.html
@@ -142,4 +142,4 @@ Jim Westervelt, U.S. Army Construction Engineering Research Laboratory
 <br>
 Markus Metz: Enhanced fast C version of r.relief for GRASS GIS 7
 
-<p><i>Last changed: $Date: 2015-07-11 16:04:13 +0200 (Sat, 11 Jul 2015) $</i>
+<p><i>Last changed: $Date: 2015-07-11 07:01:46 -0700 (Sat, 11 Jul 2015) $</i>
diff --git a/raster/r.report/r.report.html b/raster/r.report/r.report.html
index 8293da8..79fc102 100644
--- a/raster/r.report/r.report.html
+++ b/raster/r.report/r.report.html
@@ -149,4 +149,4 @@ Michael Shapiro, U.S. Army Construction Engineering Research Laboratory<br>
 Sort option by Martin Landa, Czech Technical University in Prague, 2013
 
 <p>
-<i>Last changed: $Date: 2014-02-11 16:15:05 +0100 (Tue, 11 Feb 2014) $</i>
+<i>Last changed: $Date: 2014-02-11 07:15:05 -0800 (Tue, 11 Feb 2014) $</i>
diff --git a/raster/r.resamp.bspline/r.resamp.bspline.html b/raster/r.resamp.bspline/r.resamp.bspline.html
index cb647db..b42a318 100644
--- a/raster/r.resamp.bspline/r.resamp.bspline.html
+++ b/raster/r.resamp.bspline/r.resamp.bspline.html
@@ -107,7 +107,7 @@ d.histogram elev_srtm_30m_complete
 d.rast elev_srtm_30m_complete
 </pre></div>
 
-<h3>Estimation of <b>lambda</b> parameter with a cross validation proccess</h3>
+<h3>Estimation of <b>lambda</b> parameter with a cross validation process</h3>
 
 A random sample of points should be generated first with
 <em><a href="r.random.html">r.random</a></em>, and the current region should not
@@ -151,4 +151,4 @@ based on <em><a href="v.surf.bspline.html">v.surf.bspline</a></em> by
 Maria Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni, Mirko Reguzzoni, Roberto Antolin
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/raster/r.resamp.filter/r.resamp.filter.html b/raster/r.resamp.filter/r.resamp.filter.html
index e7305d4..22d77f9 100644
--- a/raster/r.resamp.filter/r.resamp.filter.html
+++ b/raster/r.resamp.filter/r.resamp.filter.html
@@ -91,4 +91,4 @@ interpolation method.
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2015-09-06 15:06:27 +0200 (Sun, 06 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-06 06:05:47 -0700 (Sun, 06 Sep 2015) $</i>
diff --git a/raster/r.resamp.interp/r.resamp.interp.html b/raster/r.resamp.interp/r.resamp.interp.html
index c82422a..841a6b7 100644
--- a/raster/r.resamp.interp/r.resamp.interp.html
+++ b/raster/r.resamp.interp/r.resamp.interp.html
@@ -72,4 +72,4 @@ Resampled (bilinear) 250m resolution elevation map
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2015-10-29 16:52:52 +0100 (Thu, 29 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-29 08:51:54 -0700 (Thu, 29 Oct 2015) $</i>
diff --git a/raster/r.resamp.rst/r.resamp.rst.html b/raster/r.resamp.rst/r.resamp.rst.html
index 3ff0cd4..a529b88 100644
--- a/raster/r.resamp.rst/r.resamp.rst.html
+++ b/raster/r.resamp.rst/r.resamp.rst.html
@@ -153,4 +153,4 @@ analysis, Mathematical Geology No.25 p.657-667.
 of data, Journal of Computational Physics , 23, pp 93-123.
 <p>Wahba, G., 1990. Spline models for observational data, CNMS-NSF Regional
 Conference series in applied mathematics, 59, SIAM, Philadelphia, Pennsylvania.
-<p><i>Last changed: $Date: 2015-09-10 16:55:17 +0200 (Thu, 10 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-10 07:54:46 -0700 (Thu, 10 Sep 2015) $</i>
diff --git a/raster/r.resamp.stats/main.c b/raster/r.resamp.stats/main.c
index 9261e22..207c16f 100644
--- a/raster/r.resamp.stats/main.c
+++ b/raster/r.resamp.stats/main.c
@@ -30,7 +30,7 @@ static const struct menu
 } menu[] = {
     {c_ave,    w_ave,    "average",  "average (mean) value"},
     {c_median, w_median, "median",   "median value"},
-    {c_mode,   w_mode,   "mode",     "most frequently occuring value"},
+    {c_mode,   w_mode,   "mode",     "most frequently occurring value"},
     {c_min,    w_min,    "minimum",  "lowest value"},
     {c_max,    w_max,    "maximum",  "highest value"},
     {c_quart1, w_quart1, "quart1",   "first quartile"},
diff --git a/raster/r.resamp.stats/r.resamp.stats.html b/raster/r.resamp.stats/r.resamp.stats.html
index cde367f..ebc24dd 100644
--- a/raster/r.resamp.stats/r.resamp.stats.html
+++ b/raster/r.resamp.stats/r.resamp.stats.html
@@ -56,4 +56,4 @@ r.resamp.stats -w input=el_D782_6m output=el_D782_20m
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2015-10-29 16:52:52 +0100 (Thu, 29 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-29 08:51:54 -0700 (Thu, 29 Oct 2015) $</i>
diff --git a/raster/r.resample/r.resample.html b/raster/r.resample/r.resample.html
index 63ad030..6a117cf 100644
--- a/raster/r.resample/r.resample.html
+++ b/raster/r.resample/r.resample.html
@@ -46,4 +46,4 @@ is created by <em>r.resample</em>.
 Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-01-23 04:58:47 +0100 (Thu, 23 Jan 2014) $</i>
+<p><i>Last changed: $Date: 2014-01-22 19:58:47 -0800 (Wed, 22 Jan 2014) $</i>
diff --git a/raster/r.rescale.eq/r.rescale.eq.html b/raster/r.rescale.eq/r.rescale.eq.html
index 0bee9ec..ebe1cbc 100644
--- a/raster/r.rescale.eq/r.rescale.eq.html
+++ b/raster/r.rescale.eq/r.rescale.eq.html
@@ -62,4 +62,4 @@ selected as the input range.
 Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-09 19:46:50 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 10:39:37 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/raster/r.rescale/r.rescale.html b/raster/r.rescale/r.rescale.html
index 6d467fc..171703b 100644
--- a/raster/r.rescale/r.rescale.html
+++ b/raster/r.rescale/r.rescale.html
@@ -61,4 +61,4 @@ selected as the input range.
 Michael Shapiro,
 U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2014-12-09 19:46:50 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 10:39:37 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/raster/r.ros/main.c b/raster/r.ros/main.c
index 8012ce1..a443b3e 100644
--- a/raster/r.ros/main.c
+++ b/raster/r.ros/main.c
@@ -159,8 +159,8 @@ int main(int argc, char *argv[])
       wn_live,			/*net live fuel (total) load */
       class_sum, moisture[4],	/*moistures of 1-h,10-h,100-h,live fuels */
       Mf_dead,			/*total moisture of dead fuels */
-      etaM_dead,		/*dead fuel misture damping coefficent */
-      etaM_live,		/*live fuel misture damping coefficent */
+      etaM_dead,		/*dead fuel misture damping coefficient */
+      etaM_live,		/*live fuel misture damping coefficient */
       xmext,			/*live fuel moisture of extinction */
       phi_ws,			/*wind and slope conbined coefficient */
       wmfd, fdmois, fined, finel;
diff --git a/raster/r.ros/r.ros.html b/raster/r.ros/r.ros.html
index 805c57a..55d35f4 100644
--- a/raster/r.ros/r.ros.html
+++ b/raster/r.ros/r.ros.html
@@ -146,4 +146,4 @@ Sample data download: <a href="http://grass.osgeo.org/download/sample-data/">fir
 
 Jianping Xu, Center for Remote Sensing and Spatial Analysis, Rutgers University.
 
-<p><em>Last changed: $Date: 2014-10-27 16:39:22 +0100 (Mon, 27 Oct 2014) $</em>
+<p><em>Last changed: $Date: 2014-10-27 08:35:33 -0700 (Mon, 27 Oct 2014) $</em>
diff --git a/raster/r.series.accumulate/r.series.accumulate.html b/raster/r.series.accumulate/r.series.accumulate.html
index 3087d9a..4b2174a 100644
--- a/raster/r.series.accumulate/r.series.accumulate.html
+++ b/raster/r.series.accumulate/r.series.accumulate.html
@@ -148,4 +148,4 @@ r.series.accumulate in=MOD11A1.Day,MOD11A1.Night,MYD11A1.Day,MYD11A1.Night out=M
 
 Markus Metz and Soeren Gebbert (based on r.series)
 
-<p><i>Last changed: $Date: 2014-10-08 21:56:35 +0200 (Wed, 08 Oct 2014) $</i>
+<p><i>Last changed: $Date: 2014-10-08 12:55:23 -0700 (Wed, 08 Oct 2014) $</i>
diff --git a/raster/r.series.interp/r.series.interp.html b/raster/r.series.interp/r.series.interp.html
index 1ad81e9..63ba0fb 100644
--- a/raster/r.series.interp/r.series.interp.html
+++ b/raster/r.series.interp/r.series.interp.html
@@ -62,4 +62,4 @@ The resulting maps will have the values 200, 300 and 400.
 
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2014-09-24 15:20:45 +0200 (Wed, 24 Sep 2014) $</i>
+<p><i>Last changed: $Date: 2014-09-24 06:16:23 -0700 (Wed, 24 Sep 2014) $</i>
diff --git a/raster/r.series/main.c b/raster/r.series/main.c
index 7aacff3..4f8df9a 100644
--- a/raster/r.series/main.c
+++ b/raster/r.series/main.c
@@ -25,34 +25,35 @@
 struct menu
 {
     stat_func *method;		/* routine to compute new value */
+    stat_func_w *method_w;	/* routine to compute new value (weighted) */
     int is_int;			/* result is an integer */
     char *name;			/* method name */
     char *text;			/* menu display - full description */
 } menu[] = {
-    {c_ave,    0, "average",    "average value"},
-    {c_count,  1, "count",      "count of non-NULL cells"},
-    {c_median, 0, "median",     "median value"},
-    {c_mode,   0, "mode",       "most frequently occuring value"},
-    {c_min,    0, "minimum",    "lowest value"},
-    {c_minx,   1, "min_raster", "raster with lowest value"},
-    {c_max,    0, "maximum",    "highest value"},
-    {c_maxx,   1, "max_raster", "raster with highest value"},
-    {c_stddev, 0, "stddev",     "standard deviation"},
-    {c_range,  0, "range",      "range of values"},
-    {c_sum,    0, "sum",        "sum of values"},
-    {c_var,    0, "variance",   "statistical variance"},
-    {c_divr,   1, "diversity",  "number of different values"},
-    {c_reg_m,  0, "slope",      "linear regression slope"},
-    {c_reg_c,  0, "offset",     "linear regression offset"},
-    {c_reg_r2, 0, "detcoeff",   "linear regression coefficient of determination"},
-    {c_reg_t,  0, "tvalue",     "linear regression t-value"},
-    {c_quart1, 0, "quart1",     "first quartile"},
-    {c_quart3, 0, "quart3",     "third quartile"},
-    {c_perc90, 0, "perc90",     "ninetieth percentile"},
-    {c_quant,  0, "quantile",   "arbitrary quantile"},
-    {c_skew,   0, "skewness",   "skewness"},
-    {c_kurt,   0, "kurtosis",   "kurtosis"},
-    {NULL,     0, NULL,         NULL}
+    {c_ave,    w_ave,    0, "average",    "average value"},
+    {c_count,  w_count,  1, "count",      "count of non-NULL cells"},
+    {c_median, w_median, 0, "median",     "median value"},
+    {c_mode,   w_mode,   0, "mode",       "most frequently occurring value"},
+    {c_min,    NULL,     0, "minimum",    "lowest value"},
+    {c_minx,   NULL,     1, "min_raster", "raster with lowest value"},
+    {c_max,    NULL,     0, "maximum",    "highest value"},
+    {c_maxx,   NULL,     1, "max_raster", "raster with highest value"},
+    {c_stddev, w_stddev, 0, "stddev",     "standard deviation"},
+    {c_range,  NULL,     0, "range",      "range of values"},
+    {c_sum,    w_sum,    0, "sum",        "sum of values"},
+    {c_var,    w_var,    0, "variance",   "statistical variance"},
+    {c_divr,   NULL,     1, "diversity",  "number of different values"},
+    {c_reg_m,  w_reg_m,  0, "slope",      "linear regression slope"},
+    {c_reg_c,  w_reg_c,  0, "offset",     "linear regression offset"},
+    {c_reg_r2, w_reg_r2, 0, "detcoeff",   "linear regression coefficient of determination"},
+    {c_reg_t,  w_reg_t,  0, "tvalue",     "linear regression t-value"},
+    {c_quart1, w_quart1, 0, "quart1",     "first quartile"},
+    {c_quart3, w_quart3, 0, "quart3",     "third quartile"},
+    {c_perc90, w_perc90, 0, "perc90",     "ninetieth percentile"},
+    {c_quant,  w_quant,  0, "quantile",   "arbitrary quantile"},
+    {c_skew,   w_skew,   0, "skewness",   "skewness"},
+    {c_kurt,   w_kurt,   0, "kurtosis",   "kurtosis"},
+    {NULL,     NULL,     0, NULL,         NULL}
 };
 
 struct input
@@ -69,6 +70,7 @@ struct output
     int fd;
     DCELL *buf;
     stat_func *method_fn;
+    stat_func_w *method_fn_w;
     double quantile;
 };
 
@@ -117,12 +119,14 @@ int main(int argc, char *argv[])
     } flag;
     int i;
     int num_inputs;
-    int num_weights;
     struct input *inputs = NULL;
     int num_outputs;
     struct output *outputs = NULL;
     struct History history;
     DCELL *values = NULL, *values_tmp = NULL;
+    DCELL(*values_w)[2];	/* list of values and weights */
+    DCELL(*values_w_tmp)[2];	/* list of values and weights */
+    int have_weights;
     int nrows, ncols;
     int row, col;
     double lo, hi;
@@ -189,6 +193,8 @@ int main(int argc, char *argv[])
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
+    lo = -1.0 / 0.0; /* -inf */
+    hi = 1.0 / 0.0; /* inf */
     if (parm.range->answer) {
 	lo = atof(parm.range->answers[0]);
 	hi = atof(parm.range->answers[1]);
@@ -202,6 +208,7 @@ int main(int argc, char *argv[])
         G_fatal_error(_("Please specify %s= or %s="),
 			parm.input->key, parm.file->key);
 
+    have_weights = 0;
 
     /* process the input maps from the file */
     if (parm.file->answer) {
@@ -235,11 +242,15 @@ int main(int argc, char *argv[])
             tokens = G_tokenize(tok_buf, "|");
             ntokens = G_number_of_tokens(tokens);
 
-            if(ntokens > 1) {
-	        name = G_chop(tokens[0]);
+	    name = G_chop(tokens[0]);
+            if (ntokens > 1) {
 	        weight = atof(G_chop(tokens[1]));
-            } else {
-	        name = G_chop(buf);
+
+		if (weight <= 0)
+		    G_fatal_error(_("Weights must be positive"));
+
+		if (weight != 1)
+		    have_weights = 1;
             }
 
 	    /* Ignore empty lines */
@@ -266,6 +277,8 @@ int main(int argc, char *argv[])
 	fclose(in);
     }
     else {
+	int num_weights;
+
     	for (i = 0; parm.input->answers[i]; i++)
 	    ;
     	num_inputs = i;
@@ -274,28 +287,33 @@ int main(int argc, char *argv[])
 	    G_fatal_error(_("Raster map not found"));
 
         /* count weights */
-        if(parm.weights->answers) {
+	num_weights = 0;
+        if (parm.weights->answers) {
             for (i = 0; parm.weights->answers[i]; i++)
                     ;
             num_weights = i;
-        } else {
-            num_weights = 0;
         }
     
         if (num_weights && num_weights != num_inputs)
                 G_fatal_error(_("input= and weights= must have the same number of values"));
-        
+
     	inputs = G_malloc(num_inputs * sizeof(struct input));
 
     	for (i = 0; i < num_inputs; i++) {
 	    struct input *p = &inputs[i];
 
 	    p->name = parm.input->answers[i];
+	    p->weight = 1.0;
 
-            if(num_weights)
+            if (num_weights) {
                 p->weight = (DCELL)atof(parm.weights->answers[i]);
-            else
-                p->weight = 1.0;
+
+		if (p->weight <= 0)
+		    G_fatal_error(_("Weights must be positive"));
+
+		if (p->weight != 1)
+		    have_weights = 1;
+            }
 
 	    G_verbose_message(_("Reading raster map <%s> using weight %f..."), p->name, p->weight);
 	    p->buf = Rast_allocate_d_buf();
@@ -323,7 +341,26 @@ int main(int argc, char *argv[])
 	int method = find_method(method_name);
 
 	out->name = output_name;
-	out->method_fn = menu[method].method;
+
+	if (have_weights) {
+	    if (menu[method].method_w) {
+		out->method_fn = NULL;
+		out->method_fn_w = menu[method].method_w;
+	    }
+	    else {
+		G_warning(_("Method %s not compatible with weights, using unweighed version instead"),
+			  method_name);
+
+		out->method_fn = menu[method].method;
+		out->method_fn_w = NULL;
+	    }
+	    menu[method].is_int = 0;
+	}
+	else {
+	    out->method_fn = menu[method].method;
+	    out->method_fn_w = NULL;
+	}
+
 	out->quantile = (parm.quantile->answer && parm.quantile->answers[i])
 	    ? atof(parm.quantile->answers[i])
 	    : 0;
@@ -335,6 +372,12 @@ int main(int argc, char *argv[])
     /* initialise variables */
     values = G_malloc(num_inputs * sizeof(DCELL));
     values_tmp = G_malloc(num_inputs * sizeof(DCELL));
+    values_w = NULL;
+    values_w_tmp = NULL;
+    if (have_weights) {
+	values_w = (DCELL(*)[2]) G_malloc(num_inputs * 2 * sizeof(DCELL));
+	values_w_tmp = (DCELL(*)[2]) G_malloc(num_inputs * 2 * sizeof(DCELL));
+    }
 
     nrows = Rast_window_rows();
     ncols = Rast_window_cols();
@@ -370,7 +413,11 @@ int main(int argc, char *argv[])
 		    Rast_set_d_null_value(&v, 1);
 		    null = 1;
 		}
-		values[i] = v * inputs[i].weight;
+		values[i] = v;
+		if (have_weights) {
+		    values_w[i][0] = v;
+		    values_w[i][1] = inputs[i].weight;
+		}
 	    }
 
 	    for (i = 0; i < num_outputs; i++) {
@@ -379,8 +426,14 @@ int main(int argc, char *argv[])
 		if (null && flag.nulls->answer)
 		    Rast_set_d_null_value(&out->buf[col], 1);
 		else {
-		    memcpy(values_tmp, values, num_inputs * sizeof(DCELL));
-		    (*out->method_fn)(&out->buf[col], values_tmp, num_inputs, &out->quantile);
+		    if (out->method_fn_w) {
+			memcpy(values_w_tmp, values_w, num_inputs * 2 * sizeof(DCELL));
+			(*out->method_fn_w)(&out->buf[col], values_w_tmp, num_inputs, &out->quantile);
+		    }
+		    else {
+			memcpy(values_tmp, values, num_inputs * sizeof(DCELL));
+			(*out->method_fn)(&out->buf[col], values_tmp, num_inputs, &out->quantile);
+		    }
 		}
 	    }
 	}
diff --git a/raster/r.series/r.series.html b/raster/r.series/r.series.html
index e08dc81..69c3998 100644
--- a/raster/r.series/r.series.html
+++ b/raster/r.series/r.series.html
@@ -9,7 +9,7 @@ Following methods are available:
  <li>average: average value
  <li>count: count of non-NULL cells
  <li>median: median value
- <li>mode: most frequently occuring value
+ <li>mode: most frequently occurring value
  <li>minimum: lowest value
  <li>maximum: highest value
  <li>range: range of values (max - min)
@@ -213,4 +213,4 @@ r.series file=mapnames.txt \
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2014-10-27 17:31:30 +0100 (Mon, 27 Oct 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-29 01:29:57 -0800 (Fri, 29 Jan 2016) $</i>
diff --git a/raster/r.sim/r.sim.sediment/r.sim.sediment.html b/raster/r.sim/r.sim.sediment/r.sim.sediment.html
index 71033c8..89f902f 100644
--- a/raster/r.sim/r.sim.sediment/r.sim.sediment.html
+++ b/raster/r.sim/r.sim.sediment/r.sim.sediment.html
@@ -30,7 +30,7 @@ transport capacity limited erosion/deposition raster map
 can be viewed while the simulation continues. Sediment flow rate raster map 
 <i>sediment_flux</i> [kg/ms], and net erosion/deposition raster map [kg/m<sup>2</sup>s]
 can take longer time depending on time step and simulation time. 
-Simulation time is controled by <i>niterations</i> [minutes] parameter. 
+Simulation time is controlled by <i>niterations</i> [minutes] parameter. 
 <!-- Output files can be saved during simulation using <i>outiter</i> parameter
 defining simulation time step for writing output files. This option requires
 time series flag <i>-t</i>. Files are saved with suffix   containing
@@ -96,5 +96,5 @@ Neteler, M. and Mitasova, H., 2008, Open Source GIS: A GRASS GIS Approach. Third
 The International Series in Engineering and Computer Science: Volume 773. Springer New York Inc, p. 406.
 <p>
 <p><br>
-Last changed: $Date: 2015-01-03 21:27:28 +0100 (Sat, 03 Jan 2015) $
+Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $
 
diff --git a/raster/r.sim/r.sim.water/r.sim.water.html b/raster/r.sim/r.sim.water/r.sim.water.html
index 6fc8b47..7e7e956 100644
--- a/raster/r.sim/r.sim.water/r.sim.water.html
+++ b/raster/r.sim/r.sim.water/r.sim.water.html
@@ -42,7 +42,7 @@ Optionally, user can provide an overland flow infiltration rate map
 <i>infil</i> or a single value <i>infil_value</i> in [mm/hr] that control the rate of
 infiltration for the already flowing water, effectively reducing the flow depth and 
 discharge.
-Overland flow can be further controled by permeable check dams or similar type of structures,
+Overland flow can be further controlled by permeable check dams or similar type of structures,
 the user can provide a map of these structures and their permeability ratio
 in the map <i>flow_control</i> that defines the probability of particles to pass
 through the structure (the values will be 0-1).
@@ -54,7 +54,7 @@ the <i>error</i> raster map (the resulting water depth is an average, and err is
 The output vector points map <i>output_walkers</i> can be used to analyze and visualize 
 spatial distribution of walkers at different simulation times (note that 
 the resulting water depth is based on the density of these walkers). 
-<!--Number of the output walkers is controled by the <i>density</i> parameter, which controls
+<!--Number of the output walkers is controlled by the <i>density</i> parameter, which controls
 how many walkers used in simulation should be written into the output. -->
 <!-- from
 http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Mitasova_Helena_2.pdf
@@ -64,7 +64,7 @@ analysed using the output error raster file [m]. This error is a function of the
 of particles used in the simulation and can be reduced by increasing the number of walkers
 given by parameter <i>nwalkers</i>.
 <!--(<font color="#ff0000"> toto treba upresnit/zmenit, lebo nwalk ide prec</font>). -->
-Duration of simulation is controled by the <i>niterations</i> parameter. The default value 
+Duration of simulation is controlled by the <i>niterations</i> parameter. The default value 
 is 10 minutes, reaching the steady-state may require much longer time, 
 depending on the time step, complexity of terrain, land cover and size of the area. 
 Output walker, water depth and discharge maps can be saved during simulation using 
@@ -225,9 +225,16 @@ using duality between particles and fields. Proceedings of the Open source GIS -
 GRASS users conference 2002 - Trento, Italy, 11-13 September 2002.
 <a href="http://www.ing.unitn.it/~grass/conferences/GRASS2002/proceedings/proceedings/pdfs/Mitasova_Helena_2.pdf">PDF</a>
 
+<li> Hofierka, J., Knutova, M., 2015,
+Simulating aspects of a flash flood using the Monte Carlo method and
+GRASS GIS: a case study of the Malá Svinka Basin (Slovakia),
+Open Geosciences. Volume 7, Issue 1, ISSN (Online) 2391-5447, DOI:
+<a href="http://dx.doi.org/10.1515/geo-2015-0013">10.1515/geo-2015-0013</a>,
+April 2015
+
 <li> Neteler, M. and Mitasova, H., 2008,
 <a href="http://www.grassbook.org">Open Source GIS: A GRASS GIS Approach. Third Edition.</a>
 The International Series in Engineering and Computer Science: Volume 773. Springer New York Inc, p. 406.
 </ul>
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/raster/r.sim/simlib/Makefile b/raster/r.sim/simlib/Makefile
index 1595440..fbc8599 100644
--- a/raster/r.sim/simlib/Makefile
+++ b/raster/r.sim/simlib/Makefile
@@ -10,6 +10,3 @@ LIB = SIM
 include $(MODULE_TOPDIR)/include/Make/Lib.make
 
 default: $(ARCH_INCDIR)/waterglobs.h lib
-
-$(ARCH_INCDIR)/waterglobs.h: waterglobs.h
-	cp waterglobs.h $(ARCH_INCDIR)/waterglobs.h
diff --git a/raster/r.slope.aspect/r.slope.aspect.html b/raster/r.slope.aspect/r.slope.aspect.html
index 9ba677d..c806a2d 100644
--- a/raster/r.slope.aspect/r.slope.aspect.html
+++ b/raster/r.slope.aspect/r.slope.aspect.html
@@ -271,4 +271,4 @@ Michael Shapiro, U.S.Army Construction Engineering Research Laboratory<br>
 Olga Waupotitsch, U.S.Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2015-08-12 11:48:51 +0200 (Wed, 12 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-12 02:45:29 -0700 (Wed, 12 Aug 2015) $</i>
diff --git a/raster/r.slope.aspect/testsuite/test_r_slope_aspect.py b/raster/r.slope.aspect/testsuite/test_r_slope_aspect.py
index d7b5a47..5a2611d 100644
--- a/raster/r.slope.aspect/testsuite/test_r_slope_aspect.py
+++ b/raster/r.slope.aspect/testsuite/test_r_slope_aspect.py
@@ -1,4 +1,5 @@
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gmodules import call_module
 
 SMALL_MAP = """\
@@ -16,7 +17,7 @@ cols:    5
 100.0 150.0 150.0 100.0 100.0
 """
 
-class TestSlopeAspect(grass.gunittest.TestCase):
+class TestSlopeAspect(TestCase):
 
     def test_limits(self):
         slope = 'limits_slope'
@@ -39,7 +40,7 @@ class TestSlopeAspect(grass.gunittest.TestCase):
                                 msg="Aspect in degrees must be between 0 and 360")
 
 
-class TestSlopeAspectAgainstReference(grass.gunittest.TestCase):
+class TestSlopeAspectAgainstReference(TestCase):
     """
 
     Data created using::
@@ -102,7 +103,7 @@ class TestSlopeAspectAgainstReference(grass.gunittest.TestCase):
                                        precision=self.precision)
 
 
-class TestSlopeAspectAgainstItself(grass.gunittest.TestCase):
+class TestSlopeAspectAgainstItself(TestCase):
 
     precision = 0.0000001
 
@@ -136,7 +137,7 @@ class TestSlopeAspectAgainstItself(grass.gunittest.TestCase):
 
 
 # TODO: implement this class
-class TestExtremes(grass.gunittest.TestCase):
+class TestExtremes(TestCase):
 
     def setUp(self):
         self.use_temp_region()
@@ -160,4 +161,4 @@ class TestExtremes(grass.gunittest.TestCase):
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/raster/r.solute.transport/r.solute.transport.html b/raster/r.solute.transport/r.solute.transport.html
index 30003d2..d0d25a2 100644
--- a/raster/r.solute.transport/r.solute.transport.html
+++ b/raster/r.solute.transport/r.solute.transport.html
@@ -154,4 +154,4 @@ Sören Gebbert
 at Technical University Berlin in Germany.
 
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-25 09:55:23 -0800 (Sun, 25 Jan 2015) $</i>
diff --git a/raster/r.spread/r.spread.html b/raster/r.spread/r.spread.html
index 8958966..573e6c7 100644
--- a/raster/r.spread/r.spread.html
+++ b/raster/r.spread/r.spread.html
@@ -138,4 +138,4 @@ Sample data download: <a href="http://grass.osgeo.org/download/sample-data/">fir
 Jianping Xu and Richard G. Lathrop, Jr., Center for Remote Sensing and
 Spatial Analysis, Rutgers University.
 
-<p><em>Last changed: $Date: 2014-10-27 16:39:22 +0100 (Mon, 27 Oct 2014) $</em>
+<p><em>Last changed: $Date: 2014-10-27 08:35:33 -0700 (Mon, 27 Oct 2014) $</em>
diff --git a/raster/r.spreadpath/r.spreadpath.html b/raster/r.spreadpath/r.spreadpath.html
index 23dd884..eaad21a 100644
--- a/raster/r.spreadpath/r.spreadpath.html
+++ b/raster/r.spreadpath/r.spreadpath.html
@@ -64,4 +64,4 @@ Sample data download: <a href="http://grass.osgeo.org/download/sample-data/">fir
 Jianping Xu and Richard G. Lathrop, Jr., Center for Remote Sensing and
 Spatial Analysis, Rutgers University.
 
-<p><em>Last changed: $Date: 2014-11-28 16:46:08 +0100 (Fri, 28 Nov 2014) $</em>
+<p><em>Last changed: $Date: 2014-11-28 07:43:22 -0800 (Fri, 28 Nov 2014) $</em>
diff --git a/raster/r.statistics/r.statistics.html b/raster/r.statistics/r.statistics.html
index bb50f98..1b66b32 100644
--- a/raster/r.statistics/r.statistics.html
+++ b/raster/r.statistics/r.statistics.html
@@ -64,4 +64,4 @@ r.univar fieldelev
 <h2>AUTHOR</h2>
 Martin Schroeder, Geographisches Institut Heidelberg, Germany
 
-<p><i>Last changed: $Date: 2015-12-31 09:19:51 +0100 (Thu, 31 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-31 00:19:29 -0800 (Thu, 31 Dec 2015) $</i>
diff --git a/raster/r.stats.quantile/r.stats.quantile.html b/raster/r.stats.quantile/r.stats.quantile.html
index 55a0a8e..f983467 100644
--- a/raster/r.stats.quantile/r.stats.quantile.html
+++ b/raster/r.stats.quantile/r.stats.quantile.html
@@ -20,4 +20,4 @@ which are absent from
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2014-10-08 21:56:35 +0200 (Wed, 08 Oct 2014) $</i>
+<i>Last changed: $Date: 2014-10-08 12:55:23 -0700 (Wed, 08 Oct 2014) $</i>
diff --git a/raster/r.stats.zonal/r.stats.zonal.html b/raster/r.stats.zonal/r.stats.zonal.html
index 4e64f5b..cb85894 100644
--- a/raster/r.stats.zonal/r.stats.zonal.html
+++ b/raster/r.stats.zonal/r.stats.zonal.html
@@ -15,4 +15,4 @@ for floating-point cover maps at the expense of not support quantiles.
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2014-10-08 21:56:35 +0200 (Wed, 08 Oct 2014) $</i>
+<i>Last changed: $Date: 2014-10-08 12:55:23 -0700 (Wed, 08 Oct 2014) $</i>
diff --git a/raster/r.stats/r.stats.html b/raster/r.stats/r.stats.html
index e08d571..5ebb6fd 100644
--- a/raster/r.stats/r.stats.html
+++ b/raster/r.stats/r.stats.html
@@ -170,4 +170,4 @@ Michael Shapiro, U.S. Army Construction Engineering Research Laboratory<br>
 Sort option by Martin Landa, Czech Technical University in Prague, 2013
 
 <p>
-<i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/raster/r.stream.extract/do_astar.c b/raster/r.stream.extract/do_astar.c
index f3a3dcc..bb5d374 100644
--- a/raster/r.stream.extract/do_astar.c
+++ b/raster/r.stream.extract/do_astar.c
@@ -4,8 +4,8 @@
 #include <grass/glocale.h>
 #include "local_proto.h"
 
-#define GET_PARENT(c) ((((c) - 2) >> 3) + 1)
-#define GET_CHILD(p) (((p) << 3) - 6)
+#define GET_PARENT(c) ((((GW_LARGE_INT)(c) - 2) >> 3) + 1)
+#define GET_CHILD(p) (((GW_LARGE_INT)(p) << 3) - 6)
 
 HEAP_PNT heap_drop(void);
 static double get_slope(CELL, CELL, double);
@@ -126,7 +126,7 @@ int do_astar(void)
 		else if (!is_worked) {
 		    if (FLAG_GET(af.flag, EDGEFLAG)) {
 			/* neighbour is edge in list, not yet worked */
-			if (af.asp < 0  && slope[ct_dir] > 0) {
+			if (af.asp < 0 && slope[ct_dir] > 0) {
 			    /* adjust flow direction for edge cell */
 			    af.asp = drain[r_nbr - r + 1][c_nbr - c + 1];
 			    seg_put(&aspflag, (char *)&af, r_nbr, c_nbr);
diff --git a/raster/r.stream.extract/r.stream.extract.html b/raster/r.stream.extract/r.stream.extract.html
index 6651177..2263539 100644
--- a/raster/r.stream.extract/r.stream.extract.html
+++ b/raster/r.stream.extract/r.stream.extract.html
@@ -25,7 +25,7 @@ recommended to use internally computed flow accumulation if a
 depression map is provided.
 
 <p>
-Option <b>threshold</b> defines the minumum (optionally modifed) flow
+Option <b>threshold</b> defines the minimum (optionally modified) flow
 accumulation value that will initiate a new stream. If Montgomery's
 method for channel initiation is used, the cell value of the
 accumulation input map is multiplied by <tt>(tan(local
@@ -248,7 +248,8 @@ also <a href="http://grasswiki.osgeo.org/wiki/R.stream.*_modules">r.streams.*
 modules</a> wiki page.
 
 <h2>AUTHOR</h2>
+
 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2014-12-24 12:03:47 +0100 (Wed, 24 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-03-28 14:23:39 -0700 (Mon, 28 Mar 2016) $</i>
diff --git a/raster/r.sun/main.c b/raster/r.sun/main.c
index 28ba29d..b7514f1 100644
--- a/raster/r.sun/main.c
+++ b/raster/r.sun/main.c
@@ -642,18 +642,35 @@ int main(int argc, char *argv[])
      *    G_fatal_error("If you want to use a time interval both the start and end times must be defined.\n");
      * }
      */
-    if (parm.linkein->answer == NULL)
+    if (parm.linkein->answer == NULL){
 	sscanf(parm.lin->answer, "%lf", &singleLinke);
-    if (parm.albedo->answer == NULL)
+        G_message(_("Using Linke constant: %lf"), singleLinke);
+    } else {
+        G_message(_("Using Linke map <%s>"), parm.linkein->answer);
+    }
+
+    if (parm.albedo->answer == NULL){
 	sscanf(parm.alb->answer, "%lf", &singleAlbedo);
+        G_message(_("Using albedo constant: %lf"), singleAlbedo);
+    } else {
+        G_message(_("Using albedo map <%s>"), parm.albedo->answer);
+    }
 
-    if (parm.slopein->answer == NULL)
+    if (parm.slopein->answer == NULL){
 	sscanf(parm.slope->answer, "%lf", &singleSlope);
-    singleSlope *= deg2rad;
+        G_message(_("Using slope constant: %lf"), singleSlope);
+        singleSlope *= deg2rad;
+    } else {
+        G_message(_("Using slope map <%s>"), parm.slopein->answer);
+    }
 
-    if (parm.aspin->answer == NULL)
+    if (parm.aspin->answer == NULL){
 	sscanf(parm.aspect->answer, "%lf", &singleAspect);
-    singleAspect *= deg2rad;
+        G_message(_("Using aspect constant: %lf"), singleAspect);
+        singleAspect *= deg2rad;
+    } else {
+        G_message(_("Using aspect map <%s>"), parm.aspin->answer);
+    }
 
     if (parm.coefbh->answer == NULL)
 	cbh = BSKY;
diff --git a/raster/r.sun/r.sun.html b/raster/r.sun/r.sun.html
index b407a8b..28c06a6 100644
--- a/raster/r.sun/r.sun.html
+++ b/raster/r.sun/r.sun.html
@@ -292,7 +292,7 @@ d.rast.leg b172
 d.rast.leg it172
 </pre></div>
 
-We can compute the day of year from a specific date in Python shell:
+We can compute the day of year from a specific date in Python:
 <div class="code"><pre>
 >>> import datetime
 >>> datetime.datetime(2014, 6, 21).timetuple().tm_yday
@@ -381,4 +381,4 @@ Thomas Huld, JRC, Italy <br>
 </address>
 
 <p>
-<i>Last changed: $Date: 2015-12-01 17:41:11 +0100 (Tue, 01 Dec 2015) $</i> 
+<i>Last changed: $Date: 2016-02-18 17:42:11 -0800 (Thu, 18 Feb 2016) $</i> 
diff --git a/raster/r.sunhours/r.sunhours.html b/raster/r.sunhours/r.sunhours.html
index 1318289..20f24b3 100644
--- a/raster/r.sunhours/r.sunhours.html
+++ b/raster/r.sunhours/r.sunhours.html
@@ -69,4 +69,4 @@ algorithm.
 
 Markus Metz
 
-<p><i>Last changed: $Date: 2014-12-23 15:09:20 +0100 (Tue, 23 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-23 06:08:07 -0800 (Tue, 23 Dec 2014) $</i>
diff --git a/raster/r.sunmask/r.sunmask.html b/raster/r.sunmask/r.sunmask.html
index 9748caf..413cb18 100644
--- a/raster/r.sunmask/r.sunmask.html
+++ b/raster/r.sunmask/r.sunmask.html
@@ -114,4 +114,4 @@ Janne Soimasuo, Finland 1994<br>
 update to FP by Huidae Cho 2001<br>
 added solpos algorithm feature by Markus Neteler 2001
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.support.stats/r.support.stats.html b/raster/r.support.stats/r.support.stats.html
index 4a901b3..42b1723 100644
--- a/raster/r.support.stats/r.support.stats.html
+++ b/raster/r.support.stats/r.support.stats.html
@@ -19,4 +19,4 @@ None
 Micharl Shapiro, CERL: Original author<br>
 <a href="MAILTO:rez at touchofmadness.com">Brad Douglas</a>: GRASS 6 Port<br>
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i> 
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i> 
diff --git a/raster/r.support/main.c b/raster/r.support/main.c
index 196a7b6..19b89ac 100644
--- a/raster/r.support/main.c
+++ b/raster/r.support/main.c
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
     title_opt->key_desc = "phrase";
     title_opt->type = TYPE_STRING;
     title_opt->required = NO;
-    title_opt->description = _("Text to use for map title");
+    title_opt->description = _("Title for resultant raster map");
 
     history_opt = G_define_option();
     history_opt->key = "history";
@@ -154,8 +154,10 @@ int main(int argc, char *argv[])
 	strncpy(title, title_opt->answer, MAX_TITLE_LEN);
 	title[MAX_TITLE_LEN - 1] = '\0';	/* strncpy doesn't null terminate oversized input */
 	G_strip(title);
-	G_debug(3, "map title= [%s]  (%d chars)", title, strlen(title));
-	Rast_put_cell_title(raster->answer, title);
+	G_debug(3, "map title= [%s]  (%li chars)", title, strlen(title));
+	Rast_read_history(raster->answer, "", &hist);
+	Rast_set_history(&hist, HIST_TITLE, title);
+	Rast_write_history(raster->answer, &hist);
     }
 
     if (save_opt->answer) {
@@ -271,7 +273,7 @@ int main(int argc, char *argv[])
     if (null_flag->answer) {
 	unsigned char *null_bits;
 	int row, col;
-	int null_fd;
+	int fd;
 
 	if (is_reclass)
 	    G_fatal_error(_("[%s] is a reclass of another map. Exiting."),
@@ -283,22 +285,22 @@ int main(int argc, char *argv[])
 	    null_bits[col] = 0;
 
 	/* Open null file for writing */
-	null_fd = G_open_new_misc("cell_misc", "null", raster->answer);
+	Rast_set_window(&cellhd);
+	fd = Rast__open_null_write(raster->answer);
 
 	G_message(_("Writing new null file for [%s]... "), raster->answer);
 	for (row = 0; row < cellhd.rows; row++) {
 	    G_percent(row, cellhd.rows, 1);
-	    Rast__write_null_bits(null_fd, null_bits, row, cellhd.cols, 0);
+	    Rast__write_null_bits(fd, null_bits);
 	}
 	G_percent(row, cellhd.rows, 1);
 
 	/* Cleanup */
-	close(null_fd);
+	Rast__close_null(fd);
 	G_free(null_bits);
     }
 
     if (del_flag->answer) {
-	int null_fd;
 	char path[GPATH_MAX];
 
 	if (is_reclass)
@@ -308,10 +310,10 @@ int main(int argc, char *argv[])
 	/* Write a file of no-nulls */
 	G_message(_("Removing null file for [%s]...\n"), raster->answer);
 
-	null_fd = G_open_new_misc("cell_misc", "null", raster->answer);
 	G_file_name_misc(path, "cell_misc", "null", raster->answer, G_mapset());
 	unlink(path);
-	close(null_fd);
+	G_file_name_misc(path, "cell_misc", "null2", raster->answer, G_mapset());
+	unlink(path);
 
 	G_done_msg(_("Done."));
     }
diff --git a/raster/r.support/r.support.html b/raster/r.support/r.support.html
index e1c4390..9472b05 100644
--- a/raster/r.support/r.support.html
+++ b/raster/r.support/r.support.html
@@ -36,5 +36,5 @@ Micharl Shapiro, CERL: Original author<br>
 M. Hamish Bowman: command line enhancements<br>
 Markus Neteler: category copy from other map
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
 
diff --git a/raster/r.surf.area/r.surf.area.html b/raster/r.surf.area/r.surf.area.html
index ccdd3b9..69b58ca 100644
--- a/raster/r.surf.area/r.surf.area.html
+++ b/raster/r.surf.area/r.surf.area.html
@@ -75,4 +75,4 @@ G. Miller (October 17, 2000)
 Updated for GRASS 7, and units option by Martin Landa, Czech Technical
 University in Prague, Czech Republic (October 2011)
 
-<p><i>Last changed: $Date: 2014-12-27 23:51:00 +0100 (Sat, 27 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-27 14:28:56 -0800 (Sat, 27 Dec 2014) $</i>
diff --git a/raster/r.surf.contour/r.surf.contour.html b/raster/r.surf.contour/r.surf.contour.html
index dd0f521..7411f19 100644
--- a/raster/r.surf.contour/r.surf.contour.html
+++ b/raster/r.surf.contour/r.surf.contour.html
@@ -111,4 +111,4 @@ r.univar diff
 
 Chuck Ehlschlaeger, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2015-05-25 21:03:44 +0200 (Mon, 25 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-25 12:04:19 -0700 (Mon, 25 May 2015) $</i>
diff --git a/raster/r.surf.fractal/r.surf.fractal.html b/raster/r.surf.fractal/r.surf.fractal.html
index c8ad2d6..c9f31cb 100644
--- a/raster/r.surf.fractal/r.surf.fractal.html
+++ b/raster/r.surf.fractal/r.surf.fractal.html
@@ -109,4 +109,4 @@ Midlands Regional Research Laboratory (ASSIST),
 University of Leicester
 
 <p>
-<i>Last changed: $Date: 2015-07-20 10:49:51 +0200 (Mon, 20 Jul 2015) $</i>
+<i>Last changed: $Date: 2015-07-20 01:45:41 -0700 (Mon, 20 Jul 2015) $</i>
diff --git a/raster/r.surf.gauss/r.surf.gauss.html b/raster/r.surf.gauss/r.surf.gauss.html
index dda91e2..d469db5 100644
--- a/raster/r.surf.gauss/r.surf.gauss.html
+++ b/raster/r.surf.gauss/r.surf.gauss.html
@@ -36,4 +36,4 @@ r.univar gauss
 Jo Wood, <a href="http://www.geog.le.ac.uk/assist/index.html">ASSIST's home</a>
 
 <p>
-<i>Last changed: $Date: 2014-12-27 23:51:00 +0100 (Sat, 27 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-27 14:28:56 -0800 (Sat, 27 Dec 2014) $</i>
diff --git a/raster/r.surf.idw/r.surf.idw.html b/raster/r.surf.idw/r.surf.idw.html
index 7f435c5..82d5969 100644
--- a/raster/r.surf.idw/r.surf.idw.html
+++ b/raster/r.surf.idw/r.surf.idw.html
@@ -78,6 +78,29 @@ the input raster map to analyze the distribution of interpolation error.
 This procedure may be helpful in choosing the number of nearest neighbors
 considered for surface generation.
 
+<!-- requires https://trac.osgeo.org/grass/ticket/2672 to be fixed:
+
+<h2>EXAMPLE</h2>
+
+Interpolation of raster surface from randomly sampled vector elevation
+points (North Carolina sample dataset region):
+
+<div class="code"><pre>
+g.region vector=elev_lid792_randpts res=1 -p
+# rasterize points
+v.to.rast input=elev_lid792_randpts use=attr attribute_column=value \
+          output=elev_lid792_randpts_1m
+# interpolation DEM
+r.surf.idw input=elev_lid792_randpts_1m output=elev_surf_1m_idw
+
+# validate: differences to original DEM
+r.mapcalc "elev_diff = elev_lid792_1m - elev_surf_1m_idw"
+r.colors map=elev_diff color=differences
+</pre></div>
+-->
+
+<h2>KNOWN ISSUES</h2>
+Module <em>r.surf.idw</em> works only for integer (CELL) raster maps.
 
 <h2>SEE ALSO</h2>
 
@@ -99,4 +122,4 @@ U.S. EPA Environmental Research Laboratory <br>
 Corvallis, OR 97333 
 
 <p>
-<i>Last changed: $Date: 2014-12-27 23:51:00 +0100 (Sat, 27 Dec 2014) $</i>
+<i>Last changed: $Date: 2015-05-17 10:24:47 -0700 (Sun, 17 May 2015) $</i>
diff --git a/raster/r.surf.random/r.surf.random.html b/raster/r.surf.random/r.surf.random.html
index 79eef96..e567fdd 100644
--- a/raster/r.surf.random/r.surf.random.html
+++ b/raster/r.surf.random/r.surf.random.html
@@ -45,4 +45,4 @@ University of Leicester<br>
 <br><a href="http://www.geog.le.ac.uk/assist/index.html">ASSIST's home</a>
 -->
 
-<p><i>Last changed: $Date: 2014-12-27 23:51:00 +0100 (Sat, 27 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-27 14:28:56 -0800 (Sat, 27 Dec 2014) $</i>
diff --git a/raster/r.terraflow/r.terraflow.html b/raster/r.terraflow/r.terraflow.html
index 6f8fcc8..7e3f0f6 100644
--- a/raster/r.terraflow/r.terraflow.html
+++ b/raster/r.terraflow/r.terraflow.html
@@ -256,4 +256,4 @@ r.terraflow elev=elevation.10m filled=elevation10m.filled \
        Systems</em>, 7(4):283-313, December 2003.
 </ol>
 
-<p><i>Last changed: $Date: 2015-01-14 09:26:47 +0100 (Wed, 14 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-14 00:26:25 -0800 (Wed, 14 Jan 2015) $</i>
diff --git a/raster/r.texture/r.texture.html b/raster/r.texture/r.texture.html
index 97353b5..97f8746 100644
--- a/raster/r.texture/r.texture.html
+++ b/raster/r.texture/r.texture.html
@@ -164,4 +164,4 @@ of <a href="http://netpbm.sourceforge.net/doc/pgmtexture.html">pgmtexture</a>.
 C. Basco -  RCOST (Research Centre on Software Technology - Viale Traiano - 82100 Benevento)<br>
 M. Ceccarelli - Facolta di Scienze, Universita del Sannio, Benevento
 
-<p><i>Last changed: $Date: 2015-12-03 17:34:44 +0100 (Thu, 03 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-03 08:34:13 -0800 (Thu, 03 Dec 2015) $</i>
diff --git a/raster/r.thin/r.thin.html b/raster/r.thin/r.thin.html
index 5e71eaf..5992404 100644
--- a/raster/r.thin/r.thin.html
+++ b/raster/r.thin/r.thin.html
@@ -127,4 +127,4 @@ Olga Waupotitsch, U.S.Army Construction Engineering Research Laboratory
 <p>The code for finding the bounding box as well as input/output code
 was written by Mike Baba (DBA Systems, 1990) and Jean Ezell (USACERL, 1988).
 
-<p><i>Last changed: $Date: 2015-04-20 16:09:08 +0200 (Mon, 20 Apr 2015) $</i>
+<p><i>Last changed: $Date: 2015-04-20 07:08:53 -0700 (Mon, 20 Apr 2015) $</i>
diff --git a/raster/r.thin/thin_lines.c b/raster/r.thin/thin_lines.c
index c41b81e..95010ec 100644
--- a/raster/r.thin/thin_lines.c
+++ b/raster/r.thin/thin_lines.c
@@ -26,7 +26,6 @@
 #define false 0
 #define DELETED_PIX   9999
 
-extern char *error_prefix;
 static char *work_file_name;
 static int n_rows, n_cols, pad_size;
 static int box_right, box_left, box_top, box_bottom;
diff --git a/raster/r.tile/r.tile.html b/raster/r.tile/r.tile.html
index 0e0eaef..a403880 100644
--- a/raster/r.tile/r.tile.html
+++ b/raster/r.tile/r.tile.html
@@ -39,4 +39,4 @@ elev_tile-000-000, elev_tile-000-001, elev_tile-001-000, ...).
 
 Glynn Clements
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.timestamp/r.timestamp.html b/raster/r.timestamp/r.timestamp.html
index 8d59890..324228b 100644
--- a/raster/r.timestamp/r.timestamp.html
+++ b/raster/r.timestamp/r.timestamp.html
@@ -131,4 +131,4 @@ Spaces in the timestamp value are required.
 
 Michael Shapiro, U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/raster/r.to.rast3/r.to.rast3.html b/raster/r.to.rast3/r.to.rast3.html
index 96795d1..ceb9cdb 100644
--- a/raster/r.to.rast3/r.to.rast3.html
+++ b/raster/r.to.rast3/r.to.rast3.html
@@ -58,4 +58,4 @@ r.to.rast3 input=prec_1,prec_2,prec_3 output=new_3dmap
 <h2>AUTHOR</h2>
 Soeren Gebbert
 
-<p><i>Last changed: $Date: 2015-03-20 21:25:58 +0100 (Fri, 20 Mar 2015) $</i>
+<p><i>Last changed: $Date: 2015-03-20 13:25:22 -0700 (Fri, 20 Mar 2015) $</i>
diff --git a/raster/r.to.rast3elev/r.to.rast3elev.html b/raster/r.to.rast3elev/r.to.rast3elev.html
index 6bdf2f3..6c5d100 100644
--- a/raster/r.to.rast3elev/r.to.rast3elev.html
+++ b/raster/r.to.rast3elev/r.to.rast3elev.html
@@ -83,4 +83,4 @@ paraview --data=/tmp/threelayer.vtk
 <h2>AUTHOR</h2>
 Soeren Gebbert
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.to.vect/r.to.vect.html b/raster/r.to.vect/r.to.vect.html
index 1b65316..ac2bde1 100644
--- a/raster/r.to.vect/r.to.vect.html
+++ b/raster/r.to.vect/r.to.vect.html
@@ -147,4 +147,4 @@ Updated 2001 by Andrea Aime, Modena, Italy<br>
 <b>Update</b><br>
 Original r.to.sites, r.line and r.poly merged and updated to 5.7 by Radim Blazek
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/raster/r.topidx/main.c b/raster/r.topidx/main.c
index 9673e3c..9f2b888 100644
--- a/raster/r.topidx/main.c
+++ b/raster/r.topidx/main.c
@@ -52,7 +52,7 @@ int main(int argc, char **argv)
 	exit(EXIT_FAILURE);
 
     /* Make sure that the current projection is not lat/long */
-    if ((G_projection() == PROJECTION_LL))
+    if (G_projection() == PROJECTION_LL)
 	G_fatal_error(_("Lat/Long location is not supported by %s. Please reproject map first."),
 		      G_program_name());
 
diff --git a/raster/r.topidx/r.topidx.html b/raster/r.topidx/r.topidx.html
index dccb133..5ed2048 100644
--- a/raster/r.topidx/r.topidx.html
+++ b/raster/r.topidx/r.topidx.html
@@ -42,4 +42,4 @@ Hydro Laboratory, Kyungpook National University, South Korea
 <p>
 Based on GRIDATB.FOR by Keith Beven.
 
-<p><i>Last changed: $Date: 2013-12-08 00:14:15 +0100 (Sun, 08 Dec 2013) $</i>
+<p><i>Last changed: $Date: 2013-12-07 15:14:15 -0800 (Sat, 07 Dec 2013) $</i>
diff --git a/raster/r.topidx/topidx.c b/raster/r.topidx/topidx.c
index 89ce631..d62d6f2 100644
--- a/raster/r.topidx/topidx.c
+++ b/raster/r.topidx/topidx.c
@@ -125,7 +125,8 @@ void calculate_atanb(void)
 			sum += route[0];
 			nroute++;
 		    }
-		    if (!is_cv_null(i - 1, j) && cv(i, j) - cv(i - 1, j) > ZERO) {
+		    if (!is_cv_null(i - 1, j) &&
+			cv(i, j) - cv(i - 1, j) > ZERO) {
 			tanB[1] = (cv(i, j) - cv(i - 1, j)) * dx1;
 			route[1] = 0.5 * dx * tanB[1];
 			sum += route[1];
@@ -148,7 +149,8 @@ void calculate_atanb(void)
 		    nroute++;
 		}
 		if (j + 1 < window.cols) {
-		    if (!is_cv_null(i, j + 1) && cv(i, j) - cv(i, j + 1) > ZERO) {
+		    if (!is_cv_null(i, j + 1) &&
+			cv(i, j) - cv(i, j + 1) > ZERO) {
 			tanB[5] = (cv(i, j) - cv(i, j + 1)) * dx1;
 			route[5] = 0.5 * dx * tanB[5];
 			sum += route[5];
@@ -164,7 +166,8 @@ void calculate_atanb(void)
 			sum += route[6];
 			nroute++;
 		    }
-		    if (!is_cv_null(i + 1, j) && cv(i, j) - cv(i + 1, j) > ZERO) {
+		    if (!is_cv_null(i + 1, j) &&
+			cv(i, j) - cv(i + 1, j) > ZERO) {
 			tanB[7] = (cv(i, j) - cv(i + 1, j)) * dx1;
 			route[7] = 0.5 * dx * tanB[7];
 			sum += route[7];
@@ -187,46 +190,38 @@ void calculate_atanb(void)
 		    nslp = 0;
 		    if (i > 0) {
 			if (j > 0 && !is_cv_null(i - 1, j - 1)) {
-			    sumtb += (cv(i - 1, j - 1)
-				      - cv(i, j)) * dx2;
+			    sumtb += (cv(i - 1, j - 1) - cv(i, j)) * dx2;
 			    nslp++;
 			}
 			if (!is_cv_null(i - 1, j)) {
-			    sumtb += (cv(i - 1, j)
-				      - cv(i, j)) * dx1;
+			    sumtb += (cv(i - 1, j) - cv(i, j)) * dx1;
 			    nslp++;
 			}
 			if (j + 1 < window.cols && !is_cv_null(i - 1, j + 1)) {
-			    sumtb += (cv(i - 1, j + 1)
-				      - cv(i, j)) * dx2;
+			    sumtb += (cv(i - 1, j + 1) - cv(i, j)) * dx2;
 			    nslp++;
 			}
 		    }
 
 		    if (j > 0 && !is_cv_null(i, j - 1)) {
-			sumtb += (cv(i, j - 1)
-				  - cv(i, j)) * dx1;
+			sumtb += (cv(i, j - 1) - cv(i, j)) * dx1;
 			nslp++;
 		    }
 		    if (j + 1 < window.cols && !is_cv_null(i, j + 1)) {
-			sumtb += (cv(i, j + 1)
-				  - cv(i, j)) * dx1;
+			sumtb += (cv(i, j + 1) - cv(i, j)) * dx1;
 			nslp++;
 		    }
 		    if (i + 1 < window.rows) {
 			if (j > 0 && !is_cv_null(i + 1, j - 1)) {
-			    sumtb += (cv(i + 1, j - 1)
-				      - cv(i, j)) * dx2;
+			    sumtb += (cv(i + 1, j - 1) - cv(i, j)) * dx2;
 			    nslp++;
 			}
 			if (!is_cv_null(i + 1, j)) {
-			    sumtb += (cv(i + 1, j)
-				      - cv(i, j)) * dx1;
+			    sumtb += (cv(i + 1, j) - cv(i, j)) * dx1;
 			    nslp++;
 			}
 			if (j + 1 < window.cols && !is_cv_null(i + 1, j + 1)) {
-			    sumtb += (cv(i + 1, j + 1)
-				      - cv(i, j)) * dx2;
+			    sumtb += (cv(i + 1, j + 1) - cv(i, j)) * dx2;
 			    nslp++;
 			}
 		    }
diff --git a/raster/r.topmodel/file_io.c b/raster/r.topmodel/file_io.c
index c858aa3..2afca02 100644
--- a/raster/r.topmodel/file_io.c
+++ b/raster/r.topmodel/file_io.c
@@ -23,31 +23,6 @@ void read_input(void)
     FILE *fp;
     int i;
 
-    /* Read topographic index statistics file */
-    if ((fp = fopen(file.topidxstats, "r")) == NULL)
-	G_fatal_error(_("Unable to open input file <%s>"), file.topidxstats);
-
-    topidxstats.atb = NULL;
-    topidxstats.Aatb_r = NULL;
-
-    for (i = 0; !feof(fp);) {
-	double atb;
-	double Aatb_r;
-
-	get_line(fp, buf);
-	if (sscanf(buf, "%lf %lf", &atb, &Aatb_r) == 2) {
-	    topidxstats.atb = (double *)G_realloc(topidxstats.atb,
-			    (i + 1) * sizeof(double));
-	    topidxstats.Aatb_r = (double *)G_realloc(topidxstats.Aatb_r,
-			    (i + 1) * sizeof(double));
-	    topidxstats.atb[i] = atb;
-	    topidxstats.Aatb_r[i++] = Aatb_r;
-	}
-    }
-
-    misc.ntopidxclasses = i;
-    fclose(fp);
-
     /* Read parameters file */
     if ((fp = fopen(file.params, "r")) == NULL)
 	G_fatal_error(_("Unable to open input file <%s>"), file.params);
@@ -137,7 +112,7 @@ void read_input(void)
     }
 
     params.d = NULL;
-    params.Ad_r = NULL;
+    params.Ad = NULL;
 
     for (i = 0; !feof(fp);) {
 	double d;
@@ -146,16 +121,41 @@ void read_input(void)
 	get_line(fp, buf);
 	if (sscanf(buf, "%lf %lf", &d, &Ad_r) == 2) {
 	    params.d = (double *)G_realloc(params.d, (i + 1) * sizeof(double));
-	    params.Ad_r = (double *)G_realloc(params.Ad_r,
+	    params.Ad = (double *)G_realloc(params.Ad,
 			    (i + 1) * sizeof(double));
 	    params.d[i] = d;
-	    params.Ad_r[i++] = Ad_r;
+	    params.Ad[i++] = Ad_r * params.A;
 	}
     }
 
     params.nch = i;
     fclose(fp);
 
+    /* Read topographic index statistics file */
+    if ((fp = fopen(file.topidxstats, "r")) == NULL)
+	G_fatal_error(_("Unable to open input file <%s>"), file.topidxstats);
+
+    topidxstats.atb = NULL;
+    topidxstats.Aatb_r = NULL;
+
+    for (i = 0; !feof(fp);) {
+	double atb;
+	double Aatb_r;
+
+	get_line(fp, buf);
+	if (sscanf(buf, "%lf %lf", &atb, &Aatb_r) == 2) {
+	    topidxstats.atb = (double *)G_realloc(topidxstats.atb,
+			    (i + 1) * sizeof(double));
+	    topidxstats.Aatb_r = (double *)G_realloc(topidxstats.Aatb_r,
+			    (i + 1) * sizeof(double));
+	    topidxstats.atb[i] = atb;
+	    topidxstats.Aatb_r[i++] = Aatb_r;
+	}
+    }
+
+    misc.ntopidxclasses = i;
+    fclose(fp);
+
     /* Read input file */
     if ((fp = fopen(file.input, "r")) == NULL)
 	G_fatal_error(_("Unable to open input file <%s>"), file.input);
diff --git a/raster/r.topmodel/global.h b/raster/r.topmodel/global.h
index f40ded2..7f7bea4 100644
--- a/raster/r.topmodel/global.h
+++ b/raster/r.topmodel/global.h
@@ -32,14 +32,6 @@ void run_topmodel(void);
 double calculate_infiltration(int timestep, double R);
 
 
-/* Topographic index statistics file */
-struct topidxstats
-{
-    /* misc.ntopidxclasses */
-    double *atb;
-    double *Aatb_r;
-};
-
 /* Parameters file */
 struct params
 {
@@ -60,7 +52,15 @@ struct params
     int nch;
     /* params.nch's */
     double *d;
-    double *Ad_r;
+    double *Ad;
+};
+
+/* Topographic index statistics file */
+struct topidxstats
+{
+    /* misc.ntopidxclasses */
+    double *atb;
+    double *Aatb_r;
 };
 
 /* Input file */
diff --git a/raster/r.topmodel/main.c b/raster/r.topmodel/main.c
index 374be33..9bf8ddd 100644
--- a/raster/r.topmodel/main.c
+++ b/raster/r.topmodel/main.c
@@ -57,16 +57,16 @@ int main(int argc, char **argv)
     /* Parameter definitions */
     params.params = G_define_standard_option(G_OPT_F_INPUT);
     params.params->key = "parameters";
-    params.params->description = _("Name of TOPMODEL parameters file");
+    params.params->description = _("Name of input TOPMODEL parameters file");
 
     params.topidxstats = G_define_standard_option(G_OPT_F_INPUT);
     params.topidxstats->key = "topidxstats";
     params.topidxstats->description =
-	_("Name of topographic index statistics file");
+	_("Name of input topographic index statistics file");
 
     params.input = G_define_standard_option(G_OPT_F_INPUT);
     params.input->description =
-	_("Name of rainfall and potential evapotranspiration data file");
+	_("Name of input rainfall and potential evapotranspiration data file");
 
     params.output = G_define_standard_option(G_OPT_F_OUTPUT);
     params.output->description = _("Name for output file");
@@ -141,7 +141,7 @@ int main(int argc, char **argv)
 	char *topidx;
 	int ntopidxclasses;
 	char *outtopidxstats;
-	
+
 	topidx = params.topidx->answer;
 	ntopidxclasses = atoi(params.ntopidxclasses->answer);
 	outtopidxstats = params.outtopidxstats->answer;
diff --git a/raster/r.topmodel/r.topmodel.html b/raster/r.topmodel/r.topmodel.html
index 3905c13..35509f7 100644
--- a/raster/r.topmodel/r.topmodel.html
+++ b/raster/r.topmodel/r.topmodel.html
@@ -1,9 +1,9 @@
 <h2>DESCRIPTION</h2>
 
-<b><em>r.topmodel</em></b> simulates TOPMODEL which is a physically based
+<em>r.topmodel</em> simulates TOPMODEL which is a physically based
 hydrologic model.
 
-<h3>Selected Parameters:</h3>
+<h3>Parameters description</h3>
 
 <dl>
 <dt><b>parameters</b></dt>
@@ -105,16 +105,16 @@ This file contains observed weather data.
 <dd>
 If a time step is specified, output will be generated for the specific time
 step in addition to the summary and total flows at the outlet. This parameter
-can be combined with topidxclass to specify a time step and topographic index
-class at the same time. If no topidxclass is given, output will be generated
+can be combined with <b>topidxclass</b> to specify a time step and topographic index
+class at the same time. If no <b>topidxclass</b> is given, output will be generated
 for all the topographic index classes.
 </dd>
 
 <dt><b>toptopidxclass</b></dt>
 <dd>
 If a topographic index class is specified, output will be generated for the
-given topographic index class. This parameter can be combined with timestep. If
-no timestep is given, output will be generated for all the time steps.
+given topographic index class. This parameter can be combined with <b>timestep</b>. If
+no <b>timestep</b> is given, output will be generated for all the time steps.
 </dd>
 
 <dt><b>topidx</b>, <b>ntoptopidxclasses</b>, <b>outtoptopidxstats</b></dt>
@@ -124,24 +124,25 @@ index statistics file. This map has to be already clipped to the catchment
 boundary. The entire range of topographic index values will be divided into
 <b>ntoptopidxclasses</b> and the area ratio of each class will be reported in the
 <b>outtoptopidxstats</b> file. These three parameters can be omitted unless a new
-topidxstats file needs to be created.
+<b>topidxstats</b> file needs to be created.
 </dd>
 </dl>
 
 
 <h2>REFERENCES</h2>
 
-Cho, H., 2000. GIS Hydrological Modeling System by Using Programming Interface
-of GRASS. Master's Thesis, Department of Civil Engineering, Kyungpook National
-University, Korea.
-<p>
-Beven K., R. Lamb, P. Quinn, R. Romanowicz, and J. Freer, 1995. TOPMODEL, in
-V.P. Singh (Ed.). Computer Models of Watershed Hydrology. Water Resources
-Publications.
-<p>
-Liaw, S.C., 1988. Streamflow Simulation Using a Physically Based Hydrologic
-Model in Humid Forested Watersheds. Dissertation, Colorado State University,
-CO. p163.
+<ul>
+  <li>Cho, H., 2000. GIS Hydrological Modeling System by Using Programming Interface
+    of GRASS. Master's Thesis, Department of Civil Engineering, Kyungpook National
+    University, Korea.
+  <li>Beven K., R. Lamb, P. Quinn, R. Romanowicz, and J. Freer, 1995. TOPMODEL, in
+    V.P. Singh (Ed.). Computer Models of Watershed Hydrology. Water Resources
+    Publications.
+  <li>
+    Liaw, S.C., 1988. Streamflow Simulation Using a Physically Based Hydrologic
+    Model in Humid Forested Watersheds. Dissertation, Colorado State University,
+    CO. p163.
+</ul>
 
 
 <h2>SEE ALSO</h2>
@@ -156,9 +157,10 @@ CO. p163.
 
 <h2>AUTHORS</h2>
 
-<a href="mailto:grass4u at gmail com">Huidae Cho</a><br>
+<a href="mailto:grass4u at gmail com">Huidae Cho</a>, 
 Hydro Laboratory, Kyungpook National University, South Korea
 <p>
 Based on TMOD9502.FOR by Keith Beven.
 
-<p><i>Last changed: $Date: 2015-12-09 21:39:05 +0100 (Wed, 09 Dec 2015) $</i>
+<p>
+<i>Last changed: $Date: 2016-03-25 09:22:24 -0700 (Fri, 25 Mar 2016) $</i>
diff --git a/raster/r.topmodel/topmodel.c b/raster/r.topmodel/topmodel.c
index 96ef293..44bf439 100644
--- a/raster/r.topmodel/topmodel.c
+++ b/raster/r.topmodel/topmodel.c
@@ -144,12 +144,12 @@ void initialize(void)
 
 	t = misc.delay + i + 1;
 	if (t > misc.tch[params.nch - 1])
-	    misc.Ad[i] = 1.0;
+	    misc.Ad[i] = params.A;
 	else {
 	    for (j = 1; j < params.nch; j++) {
 		if (t <= misc.tch[j]) {
-		    misc.Ad[i] = params.Ad_r[j - 1] +
-			(params.Ad_r[j] - params.Ad_r[j - 1]) *
+		    misc.Ad[i] = params.Ad[j - 1] +
+			(params.Ad[j] - params.Ad[j - 1]) *
 			(t - misc.tch[j - 1]) /
 			(misc.tch[j] - misc.tch[j - 1]);
 		    break;
@@ -160,10 +160,9 @@ void initialize(void)
 
     /* difference in the contribution area for each time step */
     A1 = misc.Ad[0];
-    misc.Ad[0] *= params.A;
     for (i = 1; i < misc.tcsub; i++) {
 	A2 = misc.Ad[i];
-	misc.Ad[i] = (A2 - A1) * params.A;
+	misc.Ad[i] = A2 - A1;
 	A1 = A2;
     }
 
diff --git a/raster/r.transect/main.c b/raster/r.transect/main.c
index 6f6222b..cec1835 100644
--- a/raster/r.transect/main.c
+++ b/raster/r.transect/main.c
@@ -47,10 +47,10 @@ static int profile(int coords, const char *map, const char *nulls, char **line)
 
     argv[argc++] = "output=-";
 
-    sprintf(buf, "null=%s", nulls);
+    sprintf(buf, "null_value=%s", nulls);
     argv[argc++] = G_store(buf);
 
-    strcpy(profile, "profile=");
+    strcpy(profile, "coordinates=");
     for (n = 0; line[n]; n += 4) {
 	int err = parse_line("line", &line[n], &e1, &n1, &e2, &n2, projection);
 
diff --git a/raster/r.transect/r.transect.html b/raster/r.transect/r.transect.html
index 3994885..7595eb7 100644
--- a/raster/r.transect/r.transect.html
+++ b/raster/r.transect/r.transect.html
@@ -40,4 +40,4 @@ There once were <b>width=</b> and <b>result=</b><em>raw|median|average</em>
 
 Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2012-11-25 11:59:42 +0100 (Sun, 25 Nov 2012) $</i>
+<p><i>Last changed: $Date: 2012-11-25 02:59:42 -0800 (Sun, 25 Nov 2012) $</i>
diff --git a/raster/r.univar/globals.h b/raster/r.univar/globals.h
index 23c0fce..01f5bcf 100644
--- a/raster/r.univar/globals.h
+++ b/raster/r.univar/globals.h
@@ -56,7 +56,7 @@ typedef struct
 typedef struct
 {
     struct Option *inputfile, *zonefile, *percentile, *output_file, *separator;
-    struct Flag *shell_style, *extended, *table;
+    struct Flag *shell_style, *extended, *table, *use_rast_region;
 } param_type;
 
 extern param_type param;
diff --git a/raster/r.univar/r.univar.html b/raster/r.univar/r.univar.html
index 62eb70d..af6160a 100644
--- a/raster/r.univar/r.univar.html
+++ b/raster/r.univar/r.univar.html
@@ -186,4 +186,4 @@ Extended statistics by Martin Landa<br>
 Multiple input map support by Ivan Shmakov<br>
 Zonal loop by Markus Metz
 
-<p><i>Last changed: $Date: 2015-09-02 13:27:57 +0200 (Wed, 02 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-02 04:26:35 -0700 (Wed, 02 Sep 2015) $</i>
diff --git a/raster/r.univar/r.univar_main.c b/raster/r.univar/r.univar_main.c
index 2f54665..25112a9 100644
--- a/raster/r.univar/r.univar_main.c
+++ b/raster/r.univar/r.univar_main.c
@@ -71,6 +71,10 @@ void set_params()
     param.table->description = _("Table output format instead of standard output format");
     param.table->guisection = _("Formatting");
 
+    param.use_rast_region = G_define_flag();
+    param.use_rast_region->key = 'r';
+    param.use_rast_region->description = _("Use the native resolution and extent of the raster map, instead of the current region");
+
     return;
 }
 
@@ -115,14 +119,16 @@ int main(int argc, char *argv[])
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
+    if (param.zonefile->answer && param.use_rast_region->answer) {
+    	G_fatal_error(_("zones option and region flag -r are mutually exclusive"));
+    }
+
     name = param.output_file->answer;
     if (name != NULL && strcmp(name, "-") != 0) {
 	if (NULL == freopen(name, "w", stdout)) {
 	    G_fatal_error(_("Unable to open file <%s> for writing"), name);
 	}
     }
-
-    G_get_window(&region);
     
     /* table field separator */
     zone_info.sep = G_option_to_separator(param.separator);
@@ -166,6 +172,18 @@ int main(int argc, char *argv[])
 	     : 0);
 
     for (p = param.inputfile->answers; *p; p++) {
+
+	/* Check if the native extent and resolution
+	   of the input map should be used */
+	if(param.use_rast_region->answer) {
+    	    mapset = G_find_raster2(*p, "");
+	    Rast_get_cellhd(*p, mapset, &region);
+	    /* Set the computational region */
+	    Rast_set_window(&region);
+        } else {
+    	    G_get_window(&region);
+        }
+
 	fd = open_raster(*p);
 
 	if (map_type != -1) {
@@ -255,7 +273,7 @@ process_raster(univar_stat * stats, int fd, int fdz, const struct Cell_head *reg
     const size_t value_sz = Rast_cell_size(map_type);
     unsigned int row;
     void *raster_row;
-    CELL *zoneraster_row;
+    CELL *zoneraster_row = NULL;
     int n_zones = zone_info.n_zones;
     
     raster_row = Rast_allocate_buf(map_type);
@@ -264,7 +282,7 @@ process_raster(univar_stat * stats, int fd, int fdz, const struct Cell_head *reg
 
     for (row = 0; row < rows; row++) {
 	void *ptr;
-	CELL *zptr;
+	CELL *zptr = NULL;
 	unsigned int col;
 
 	Rast_get_row(fd, raster_row, row, map_type);
diff --git a/raster/r.univar/r3.univar.html b/raster/r.univar/r3.univar.html
index 245fb5f..fe6826d 100644
--- a/raster/r.univar/r3.univar.html
+++ b/raster/r.univar/r3.univar.html
@@ -74,4 +74,4 @@ and Martin Landa<br>
 Zonal loop by Markus Metz
 
 
-<p><i>Last changed: $Date: 2014-10-14 04:57:21 +0200 (Tue, 14 Oct 2014) $</i>
+<p><i>Last changed: $Date: 2014-10-04 20:12:22 -0700 (Sat, 04 Oct 2014) $</i>
diff --git a/raster/r.univar/stats.c b/raster/r.univar/stats.c
index 56babaa..cf3fe8b 100644
--- a/raster/r.univar/stats.c
+++ b/raster/r.univar/stats.c
@@ -134,19 +134,22 @@ int print_stats(univar_stat * stats)
 	sprintf(sum_str, "%.15g", stats[z].sum);
 	G_trim_decimal(sum_str);
 
-	if (zone_info.n_zones) {
-	    int z_cat = z + zone_info.min;
-	    
-	    fprintf(stdout, "\nzone %d %s\n\n", z_cat, Rast_get_c_cat(&z_cat, &(zone_info.cats)));
-	}
 
 	if (!param.shell_style->answer) {
+	    if (zone_info.n_zones) {
+	    	int z_cat = z + zone_info.min;
+	    	fprintf(stdout, "\nzone %d %s\n\n", z_cat, Rast_get_c_cat(&z_cat, &(zone_info.cats)));
+	    }
 	    fprintf(stdout, "total null and non-null cells: %lu\n", stats[z].size);
 	    fprintf(stdout, "total null cells: %lu\n\n", stats[z].size - stats[z].n);
 	    fprintf(stdout, "Of the non-null cells:\n----------------------\n");
 	}
 
 	if (param.shell_style->answer) {
+	    if (zone_info.n_zones) {
+	    	int z_cat = z + zone_info.min;
+	    	fprintf(stdout, "zone=%d;%s\n", z_cat, Rast_get_c_cat(&z_cat, &(zone_info.cats)));
+	    }
 	    fprintf(stdout, "n=%lu\n", stats[z].n);
 	    fprintf(stdout, "null_cells=%lu\n", stats[z].size - stats[z].n);
 	    fprintf(stdout, "cells=%lu\n", stats->size);
diff --git a/raster/r.univar/testsuite/test_r_univar.py b/raster/r.univar/testsuite/test_r_univar.py
new file mode 100644
index 0000000..7b5bfa3
--- /dev/null
+++ b/raster/r.univar/testsuite/test_r_univar.py
@@ -0,0 +1,185 @@
+"""Test of r.univar
+
+ at author Soeren Gebbert
+"""
+from grass.gunittest.case import TestCase
+
+class TestRasterUnivar(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Use temporary region settings"""
+        cls.use_temp_region()
+
+    @classmethod
+    def tearDownClass(cls):
+        """!Remove the temporary region
+        """
+        cls.del_temp_region()
+
+    def tearDown(self):
+        self.runModule("g.remove", flags='f', type="raster", name="map_a")
+        self.runModule("g.remove", flags='f', type="raster", name="map_b")
+        self.runModule("g.remove", flags='f', type="raster", name="zone_map")
+
+    def setUp(self):
+        """Create input data
+        """
+        self.runModule("g.region", res=1, n=90, s=0, w=0, e=90)
+        self.runModule("r.mapcalc", expression="map_a = 100 + row() + col()",
+                       overwrite=True)
+        self.runModule("r.mapcalc", expression="map_b = 200 + row() + col()",
+                       overwrite=True)
+        self.runModule("r.mapcalc", expression="zone_map = if(row() < 20, 1,2)",
+                       overwrite=True)
+
+    def test_1(self):
+        # Output of r.univar
+        univar_string="""n=8100
+        null_cells=0
+        cells=8100
+        min=102
+        max=280
+        range=178
+        mean=191
+        mean_of_abs=191
+        sum=1547100"""
+
+        self.assertRasterFitsUnivar(raster="map_a",  reference=univar_string,
+                                    precision=3)
+
+    def test_2(self):
+        # Output of r.univar
+        univar_string="""n=81
+        null_cells=0
+        cells=81
+        min=112
+        max=272
+        range=160
+        mean=192
+        mean_of_abs=192
+        sum=15552"""
+
+        self.runModule("g.region", res=10)
+        self.assertRasterFitsUnivar(raster="map_a",  reference=univar_string,
+                                    precision=3)
+
+
+    def test_3(self):
+        """
+        Check the -r flag
+        :return:
+        """
+
+        univar_string="""n=8100
+        null_cells=0
+        cells=8100
+        min=102
+        max=280
+        range=178
+        mean=191
+        mean_of_abs=191
+        sum=1547100"""
+
+        self.runModule("g.region", res=10)
+        self.assertModuleKeyValue(module="r.univar", map="map_a", flags="rg",
+                                  reference=univar_string, precision=3, sep='=')
+
+    def test_multiple_1(self):
+        # Output of r.univar
+        univar_string="""n=16200
+        null_cells=0
+        cells=16200
+        min=102
+        max=380
+        range=278
+        mean=241
+        mean_of_abs=241
+        sum=3904200"""
+
+        self.assertModuleKeyValue(module="r.univar", map=["map_a","map_b"], flags="rg",
+                                  reference=univar_string, precision=3, sep='=')
+
+    def test_multiple_2(self):
+        # Output of r.univar
+        univar_string="""n=162
+        null_cells=0
+        cells=162
+        min=112
+        max=372
+        range=260
+        mean=241
+        mean_of_abs=241
+        sum=39204"""
+
+        self.runModule("g.region", res=10)
+        self.assertModuleKeyValue(module="r.univar", map=["map_a","map_b"], flags="g",
+                                  reference=univar_string, precision=3, sep='=')
+
+
+    def test_multiple_3(self):
+        """
+        Check the -r flag
+        :return:
+        """
+
+        # Output of r.univar
+        univar_string="""n=16200
+        null_cells=0
+        cells=16200
+        min=102
+        max=380
+        range=278
+        mean=241
+        mean_of_abs=241
+        sum=3904200"""
+
+        self.runModule("g.region", res=10)
+        self.assertModuleKeyValue(module="r.univar", map=["map_a","map_b"], flags="rg",
+                                  reference=univar_string, precision=3, sep='=')
+
+
+    def test_1_zone(self):
+        """
+        multiple maps and zone
+        :return:
+        """
+
+        # Output of r.univar
+        univar_string="""zone=1;
+                        n=1710
+                        null_cells=0
+                        cells=1710
+                        min=102
+                        max=209
+                        range=107
+                        mean=155.5
+                        mean_of_abs=155.5
+                        sum=265905
+                        zone=2;
+                        n=6390
+                        null_cells=0
+                        cells=1710
+                        min=121
+                        max=280
+                        range=159
+                        mean=200.5
+                        mean_of_abs=200.5
+                        sum=1281195"""
+
+        self.runModule("g.region", res=1)
+        self.assertModuleKeyValue(module="r.univar", map=["map_a"], 
+                                  zones="zone_map",flags="g",
+                                  reference=univar_string, precision=3, sep='=')
+
+class TestAccumulateFails(TestCase):
+
+    def test_error_handling(self):
+        # No vector map, no strds, no coordinates
+        self.assertModuleFail("r.univar",  flags="r", map="map_a", zones="map_b")
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
+
+
diff --git a/raster/r.uslek/r.uslek.html b/raster/r.uslek/r.uslek.html
index 6a0891e..e6acc5e 100644
--- a/raster/r.uslek/r.uslek.html
+++ b/raster/r.uslek/r.uslek.html
@@ -65,4 +65,4 @@ r.univar usle_k
 Yann Chemin, SIC-ISDC, Turkmenistan<br>
 
 
-<p><i>Last changed: $Date: 2014-11-24 18:16:14 +0100 (Mon, 24 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-24 09:15:23 -0800 (Mon, 24 Nov 2014) $</i>
diff --git a/raster/r.usler/r.usler.html b/raster/r.usler/r.usler.html
index 62fd232..25e0caa 100644
--- a/raster/r.usler/r.usler.html
+++ b/raster/r.usler/r.usler.html
@@ -23,4 +23,4 @@ TBD.
 Natialia Medvedeva, SIC-ISDC, Ashgabat, Turkmenistan<br>
 Yann Chemin, SIC-ISDC, Ashgabat, Turkmenistan
 
-<p><i>Last changed: $Date: 2014-11-24 18:22:17 +0100 (Mon, 24 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-24 09:22:45 -0800 (Mon, 24 Nov 2014) $</i>
diff --git a/raster/r.viewshed/main.cpp b/raster/r.viewshed/main.cpp
index 4b12a9f..c2e81d1 100644
--- a/raster/r.viewshed/main.cpp
+++ b/raster/r.viewshed/main.cpp
@@ -115,6 +115,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("raster"));
     G_add_keyword(_("viewshed"));
     G_add_keyword(_("line of sight"));
+    G_add_keyword(_("LOS"));
     module->label = _("Computes the viewshed of a point on an elevation raster map.");
     module->description = _("Default format: NULL (invisible), vertical angle wrt viewpoint (visible).");
 
diff --git a/raster/r.viewshed/r.viewshed.html b/raster/r.viewshed/r.viewshed.html
index 2145b37..b34d446 100644
--- a/raster/r.viewshed/r.viewshed.html
+++ b/raster/r.viewshed/r.viewshed.html
@@ -237,4 +237,4 @@ and Combinatorics (ALENEX/ANALCO 2007)</em>.</li>
 <p>Markus Metz
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.viewshed/testsuite/test_r_viewshed.py b/raster/r.viewshed/testsuite/test_r_viewshed.py
index 371f428..13f87ff 100644
--- a/raster/r.viewshed/testsuite/test_r_viewshed.py
+++ b/raster/r.viewshed/testsuite/test_r_viewshed.py
@@ -1,8 +1,9 @@
-import grass.gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gmodules import call_module
 
 
-class TestViewshed(grass.gunittest.TestCase):
+class TestViewshed(TestCase):
 
     viewshed = 'test_viewshed_from_elevation'
 
@@ -60,7 +61,7 @@ class TestViewshed(grass.gunittest.TestCase):
             msg="Viewing angle above the ground must be between 0 and 180 deg")
 
 
-class TestViewshedAgainstReference(grass.gunittest.TestCase):
+class TestViewshedAgainstReference(TestCase):
     """
 
     Data created using NC data set::
@@ -120,4 +121,4 @@ class TestViewshedAgainstReference(grass.gunittest.TestCase):
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
+    test()
diff --git a/raster/r.volume/r.volume.html b/raster/r.volume/r.volume.html
index 76d2d76..56e4c52 100644
--- a/raster/r.volume/r.volume.html
+++ b/raster/r.volume/r.volume.html
@@ -119,4 +119,4 @@ December 1988.<br>
 Updated to GRASS 7 by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.walk/main.c b/raster/r.walk/main.c
index bfe4854..75fadca 100644
--- a/raster/r.walk/main.c
+++ b/raster/r.walk/main.c
@@ -813,7 +813,7 @@ int main(int argc, char *argv[])
 	    Rast_get_row(fd, cell2, row, data_type2);
 	    ptr2 = cell2;
 	    for (col = 0; col < ncols; col++) {
-		/* Did I understand that concept of cummulative cost map? - (pmx) 12 april 2000 */
+		/* Did I understand that concept of cumulative cost map? - (pmx) 12 april 2000 */
 		if (!Rast_is_null_value(ptr2, data_type2)) {
 		    double cellval;
 
diff --git a/raster/r.walk/r.walk.html b/raster/r.walk/r.walk.html
index 806ab0a..495f3d0 100644
--- a/raster/r.walk/r.walk.html
+++ b/raster/r.walk/r.walk.html
@@ -196,4 +196,4 @@ Roberto Flor and Markus Neteler
 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2015-03-13 03:42:42 +0100 (Fri, 13 Mar 2015) $</i>
+<i>Last changed: $Date: 2015-03-12 19:40:53 -0700 (Thu, 12 Mar 2015) $</i>
diff --git a/raster/r.water.outlet/r.water.outlet.html b/raster/r.water.outlet/r.water.outlet.html
index ffae747..dbe77a8 100644
--- a/raster/r.water.outlet/r.water.outlet.html
+++ b/raster/r.water.outlet/r.water.outlet.html
@@ -67,4 +67,4 @@ d.his h=accum_5K i=basin_A30
 Charles Ehlschlaeger, U.S. Army Construction Engineering Research Laboratory
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/raster/r.watershed/front/main.c b/raster/r.watershed/front/main.c
index 53c48ad..0a04b2b 100644
--- a/raster/r.watershed/front/main.c
+++ b/raster/r.watershed/front/main.c
@@ -58,6 +58,7 @@ int main(int argc, char *argv[])
     struct Option *opt15;
     struct Option *opt16;
     struct Option *opt17;
+    struct Option *opt18;
     struct Flag *flag_sfd;
     struct Flag *flag_flow;
     struct Flag *flag_seg;
@@ -139,6 +140,13 @@ int main(int argc, char *argv[])
     opt17->required = NO;
     opt17->guisection = _("Outputs");
 
+    opt18 = G_define_standard_option(G_OPT_R_OUTPUT);
+    opt18->key = "spi";
+    opt18->label =
+	_("Stream power index a * tan(b)");
+    opt18->required = NO;
+    opt18->guisection = _("Outputs");
+
     opt9 = G_define_standard_option(G_OPT_R_OUTPUT);
     opt9->key = "drainage";
     opt9->description = _("Name for output drainage direction raster map");
@@ -302,6 +310,7 @@ int main(int argc, char *argv[])
     do_opt(opt7);
     do_opt(opt8);
     do_opt(opt17);
+    do_opt(opt18);
     do_opt(opt9);
     do_opt(opt10);
     do_opt(opt11);
@@ -314,7 +323,9 @@ int main(int argc, char *argv[])
     new_argv[new_argc++] = NULL;
 
     G_debug(1, "Mode: %s", flag_seg->answer ? "Segmented" : "All in RAM");
-
+/*    if (flag_seg->answer)
+       G_message(_("Using memory cache size: %.1f MB"), atof(opt16->answer));
+*/
     ret = G_vspawn_ex(new_argv[0], new_argv);
 
     if (ret != EXIT_SUCCESS)
@@ -329,6 +340,10 @@ int main(int argc, char *argv[])
 	write_hist(opt17->answer,
 		   "Watershed accumulation: topographic index ln(a / tan b)",
 		   opt1->answer, flag_seg->answer, flag_sfd->answer);
+    if (opt18->answer)
+	write_hist(opt18->answer,
+		   "Watershed accumulation: stream power index a * tan b",
+		   opt1->answer, flag_seg->answer, flag_sfd->answer);
     if (opt9->answer)
 	write_hist(opt9->answer,
 		   "Watershed drainage direction (CCW from East divided by 45deg)",
diff --git a/raster/r.watershed/front/r.watershed.html b/raster/r.watershed/front/r.watershed.html
index c48d87d..7971239 100644
--- a/raster/r.watershed/front/r.watershed.html
+++ b/raster/r.watershed/front/r.watershed.html
@@ -113,17 +113,29 @@ geographic region. Thus, any cells with negative values cannot have
 their surface runoff and sedimentation yields calculated accurately.
 
 <p>
-Output <b>tci</b> raster map contains topographic index TCI is
+Output <b>tci</b> raster map contains topographic index TCI,
 computed as
 <tt>ln(α / tan(β))</tt> where α is the cumulative
 upslope area draining through a point per unit contour length and
 <tt>tan(β)</tt> is the local slope angle. The TCI reflects the
 tendency of water to accumulate at any point in the catchment and the
-tendency for gravitaional forces to move that water downslope (Quinn
+tendency for gravitational forces to move that water downslope (Quinn
 et al. 1991).  This value will be negative if <tt>α /
 tan(β) < 1</tt>.
 
 <p>
+Output <b>spi</b> raster map contains stream power index SPI,
+computed as
+<tt>α * tan(β)</tt> where α is the cumulative
+upslope area draining through a point per unit contour length and
+<tt>tan(β)</tt> is the local slope angle. The SPI reflects the
+power of water flow at any point in the catchment and the
+tendency for gravitational forces to move that water downslope (Moore
+et al. 1991).  This value will be negative if <tt>α < 0</tt>, 
+i.e. for cells with possible surface runoff from outside of the current
+geographic region.
+
+<p>
 Output <b>drainage</b> raster map contains drainage direction.
 Provides the "aspect" for each cell measured CCW from East.
 Multiplying positive values by 45 will give the direction in degrees
@@ -138,7 +150,7 @@ flow.
 The output <b>basin</b> map contains unique label for each watershed
 basin. Each basin will be given a unique positive even integer.  Areas
 along edges may not be large enough to create an exterior watershed
-basin.  0 values indicate that the cell is not part of a complete
+basin.  NULL values indicate that the cell is not part of a complete
 watershed basin in the current geographic region.
 
 <p>
@@ -486,6 +498,12 @@ drainage networks from massive, radar-based elevation models with least
 cost path search</i>, <b>Hydrol. Earth Syst. Sci.</b> Vol 15, 667-678.<br>
 DOI: <a href="http://dx.doi.org/10.5194/hess-15-667-2011">10.5194/hess-15-667-2011</a>
 
+<li>
+Moore I.D., Grayson R.B., Ladson A.R. (1991). <i>Digital terrain 
+modelling: a review of hydrogical, geomorphological, and biological 
+applications</i>, <b>Hydrological Processes</b>, Vol 5(1), 3-30<br> 
+DOI: <a href="http://dx.doi.org/10.1002/hyp.3360050103">10.1002/hyp.3360050103</a>
+
 <li>Quinn P., K. Beven K., Chevallier P., Planchon O. (1991). <i>The 
 prediction of hillslope flow paths for distributed hydrological modelling 
 using Digital Elevation Models</i>, <b>Hydrological Processes</b> Vol 5(1), 
@@ -528,4 +546,4 @@ Faster sorting algorithm and MFD support:
 Markus Metz <markus.metz.giswork at gmail.com>
 
 <p>
-<i>Last changed: $Date: 2015-09-11 17:06:45 +0200 (Fri, 11 Sep 2015) $</i>
+<i>Last changed: $Date: 2016-02-22 02:13:50 -0800 (Mon, 22 Feb 2016) $</i>
diff --git a/raster/r.watershed/ram/Gwater.h b/raster/r.watershed/ram/Gwater.h
index 62918d4..6d5631e 100644
--- a/raster/r.watershed/ram/Gwater.h
+++ b/raster/r.watershed/ram/Gwater.h
@@ -60,7 +60,7 @@ extern RAMSEG r_h_seg, dep_seg;
 extern RAMSEG slp_seg, s_l_seg, s_g_seg, l_s_seg;
 extern int *astar_pts;
 extern CELL *dis, *alt, *asp, *bas, *haf, *r_h, *dep;
-extern DCELL *wat, *tci;
+extern DCELL *wat, *sca, *tanb;
 extern int ril_fd;
 extern double *s_l, *s_g, *l_s;
 extern CELL one, zero;
@@ -76,10 +76,10 @@ extern char ril_name[GNAME_MAX], dep_name[GNAME_MAX];
 extern const char *this_mapset;
 extern char seg_name[GNAME_MAX], bas_name[GNAME_MAX], haf_name[GNAME_MAX], thr_name[8];
 extern char ls_name[GNAME_MAX], st_name[GNAME_MAX], sl_name[GNAME_MAX], sg_name[GNAME_MAX];
-extern char wat_name[GNAME_MAX], asp_name[GNAME_MAX], tci_name[GNAME_MAX];
+extern char wat_name[GNAME_MAX], asp_name[GNAME_MAX], tci_name[GNAME_MAX], spi_name[GNAME_MAX];
 extern char arm_name[GNAME_MAX], dis_name[GNAME_MAX];
 extern char ele_flag, pit_flag, run_flag, dis_flag, ob_flag, flat_flag;
-extern char wat_flag, asp_flag, arm_flag, ril_flag, dep_flag, tci_flag;
+extern char wat_flag, asp_flag, arm_flag, ril_flag, dep_flag, tci_flag, spi_flag, atanb_flag;
 extern char bas_flag, seg_flag, haf_flag, er_flag;
 extern char st_flag, sb_flag, sg_flag, sl_flag, ls_flag;
 extern FILE *fp;
diff --git a/raster/r.watershed/ram/close_maps.c b/raster/r.watershed/ram/close_maps.c
index ce5f0bf..6344ec2 100644
--- a/raster/r.watershed/ram/close_maps.c
+++ b/raster/r.watershed/ram/close_maps.c
@@ -18,7 +18,7 @@ int close_maps(void)
 
     if (asp_flag || dis_flag)
 	buf = Rast_allocate_c_buf();
-    if (wat_flag || ls_flag || sl_flag || sg_flag || tci_flag)
+    if (wat_flag || ls_flag || sl_flag || sg_flag || atanb_flag)
 	dbuf = Rast_allocate_d_buf();
     G_free(alt);
     if (ls_flag || sg_flag)
@@ -28,8 +28,8 @@ int close_maps(void)
     if (wat_flag) {
 	fd = Rast_open_new(wat_name, DCELL_TYPE);
 	if (abs_acc) {
-	    G_warning("Writing out only positive flow accumulation values.");
-	    G_warning("Cells with a likely underestimate for flow accumulation can no longer be identified.");
+	    G_message("Writing out only positive flow accumulation values.");
+	    G_message("Cells with a likely underestimate for flow accumulation can no longer be identified.");
 	    for (r = 0; r < nrows; r++) {
 		Rast_set_d_null_value(dbuf, ncols);	/* reset row to all NULL */
 		for (c = 0; c < ncols; c++) {
@@ -131,7 +131,6 @@ int close_maps(void)
 
     /* TCI */
     if (tci_flag) {
-	DCELL watvalue;
 	double mean;
 
 	sum = sum_sqr = stddev = 0.0;
@@ -139,9 +138,9 @@ int close_maps(void)
 	for (r = 0; r < nrows; r++) {
 	    Rast_set_d_null_value(dbuf, ncols);	/* reset row to all NULL */
 	    for (c = 0; c < ncols; c++) {
-		dvalue = tci[SEG_INDEX(wat_seg, r, c)];
-		watvalue = wat[SEG_INDEX(wat_seg, r, c)];
-		if (!Rast_is_d_null_value(&watvalue)) {
+		if (!Rast_is_d_null_value(&tanb[SEG_INDEX(wat_seg, r, c)])) {
+		    dvalue = log(sca[SEG_INDEX(wat_seg, r, c)] / 
+		                 tanb[SEG_INDEX(wat_seg, r, c)]);
 		    dbuf[c] = dvalue;
 		    sum += dvalue;
 		    sum_sqr += dvalue * dvalue;
@@ -199,6 +198,78 @@ int close_maps(void)
 	Rast_write_colors(tci_name, this_mapset, &colors);
     }
 
+    /* SPI */
+    if (spi_flag) {
+	double mean;
+
+	sum = sum_sqr = stddev = 0.0;
+	fd = Rast_open_new(spi_name, DCELL_TYPE);
+	for (r = 0; r < nrows; r++) {
+	    Rast_set_d_null_value(dbuf, ncols);	/* reset row to all NULL */
+	    for (c = 0; c < ncols; c++) {
+		if (!Rast_is_d_null_value(&tanb[SEG_INDEX(wat_seg, r, c)])) {
+		    dvalue = sca[SEG_INDEX(wat_seg, r, c)] * tanb[SEG_INDEX(wat_seg, r, c)];
+		    dbuf[c] = dvalue;
+		    sum += dvalue;
+		    sum_sqr += dvalue * dvalue;
+		}
+	    }
+	    Rast_put_row(fd, dbuf, DCELL_TYPE);
+	}
+	Rast_close(fd);
+
+	mean = sum / do_points;
+	stddev =
+	    sqrt((sum_sqr - (sum + sum / do_points)) / (do_points - 1));
+	G_debug(1, "stddev: %f", stddev);
+
+	/* set nice color rules: yellow, green, cyan, blue, black */
+
+	lstddev = log(stddev);
+
+	Rast_read_fp_range(spi_name, this_mapset, &accRange);
+	min = max = 0;
+	Rast_get_fp_range_min_max(&accRange, &min, &max);
+
+	Rast_init_colors(&colors);
+
+	if (min - 1 < mean - 0.5 * stddev) {
+	    clr_min = min - 1;
+	    clr_max = mean - 0.5 * stddev;
+	    Rast_add_d_color_rule(&clr_min, 255, 255, 0, &clr_max, 255,
+					  255, 0, &colors);
+	}
+
+	clr_min = mean - 0.5 * stddev;
+	clr_max = mean - 0.2 * stddev;
+	Rast_add_d_color_rule(&clr_min, 255, 255, 0, &clr_max, 0,
+				  255, 0, &colors);
+	clr_min = clr_max;
+	clr_max = mean + 0.2 * stddev;
+	Rast_add_d_color_rule(&clr_min, 0, 255, 0, &clr_max, 0,
+				  255, 255, &colors);
+	clr_min = clr_max;
+	clr_max = mean + 0.6 * stddev;
+	Rast_add_d_color_rule(&clr_min, 0, 255, 255, &clr_max, 0,
+				  0, 255, &colors);
+	clr_min = clr_max;
+	clr_max = mean + 1. * stddev;
+	Rast_add_d_color_rule(&clr_min, 0, 0, 255, &clr_max, 0, 0,
+				  0, &colors);
+
+	if (max > 0 && max > clr_max) {
+	    clr_min = clr_max;
+	    clr_max = max + 1;
+	    Rast_add_d_color_rule(&clr_min, 0, 0, 0, &clr_max, 0, 0,
+				      0, &colors);
+	}
+	Rast_write_colors(spi_name, this_mapset, &colors);
+    }
+    if (atanb_flag) {
+	G_free(sca);
+	G_free(tanb);
+    }
+
     /* TODO: elevation == NULL -> drainage direction == NULL (wat == 0 where ele == NULL) */
     /* keep drainage direction == 0 for real depressions */
     if (asp_flag) {
diff --git a/raster/r.watershed/ram/close_maps2.c b/raster/r.watershed/ram/close_maps2.c
index b9623cf..8862710 100644
--- a/raster/r.watershed/ram/close_maps2.c
+++ b/raster/r.watershed/ram/close_maps2.c
@@ -71,7 +71,7 @@ int close_array_seg(void)
 	    }
 	    G_percent(r - 1, max, 3);	/* finish it */
 	}
-	else
+	else if (max >= 1000)
 	    G_debug(1,
 		    "Too many subbasins to reasonably check for color brightness");
 	/* using the existing stack of while/for/for/for/while loops ... */
diff --git a/raster/r.watershed/ram/do_cum.c b/raster/r.watershed/ram/do_cum.c
index a4430a3..97da05a 100644
--- a/raster/r.watershed/ram/do_cum.c
+++ b/raster/r.watershed/ram/do_cum.c
@@ -109,7 +109,7 @@ int do_cum(void)
     int asp_c[9] = { 0, 1, 0, -1, -1, -1, 0, 1, 1 };
     int this_index, down_index, nbr_index;
     double *dist_to_nbr, *contour;
-    double tci_div, cell_size;
+    double cell_size;
 
     G_message(_("SECTION 3: Accumulating Surface Flow with SFD."));
 
@@ -192,12 +192,14 @@ int do_cum(void)
 	    }
 	    wat[down_index] = valued;
 
-	    /* topographic wetness index ln(a / tan(beta)) */
-	    if (tci_flag) {
-		tci_div = contour[np_side] * 
-		       get_slope_tci(alt[this_index], alt[down_index],
-				     dist_to_nbr[np_side]);
-		tci[this_index] = log((fabs(wat[this_index]) * cell_size) / tci_div);
+	    /* topographic wetness index ln(a / tan(beta)) and
+	     * stream power index a * tan(beta) */
+	    if (atanb_flag) {
+		sca[this_index] = fabs(wat[this_index]) *
+		                  (cell_size / contour[np_side]);
+		tanb[this_index] = get_slope_tci(alt[this_index],
+		                                 alt[down_index],
+						 dist_to_nbr[np_side]);
 	    }
 
 	    is_swale = FLAG_GET(swale, r, c);
@@ -405,17 +407,17 @@ int do_cum_mfd(void)
 
 			    nbr_index = SEG_INDEX(wat_seg, r_nbr, c_nbr);
 
-			    if (tci_flag) {
+			    weight[ct_dir] = weight[ct_dir] / sum_weight;
+			    /* check everything adds up to 1.0 */
+			    prop += weight[ct_dir];
+
+			    if (atanb_flag) {
 				sum_contour += contour[ct_dir];
 				tci_div += get_slope_tci(ele, alt[nbr_index],
 				                         dist_to_nbr[ct_dir]) *
 					   weight[ct_dir];
 			    }
 
-			    weight[ct_dir] = weight[ct_dir] / sum_weight;
-			    /* check everything adds up to 1.0 */
-			    prop += weight[ct_dir];
-
 			    valued = wat[nbr_index];
 			    if (value > 0) {
 				if (valued > 0)
@@ -441,11 +443,9 @@ int do_cum_mfd(void)
 		    G_warning(_("MFD: cumulative proportion of flow distribution not 1.0 but %f"),
 			      prop);
 		}
-		if (tci_flag)
-		    tci_div /= sum_weight;
 	    }
-
-	    if (mfd_cells < 2) {
+	    /* SFD-like accumulation */
+	    else {
 		valued = wat[down_index];
 		if (value > 0) {
 		    if (valued > 0)
@@ -461,16 +461,18 @@ int do_cum_mfd(void)
 		}
 		wat[down_index] = valued;
 
-		if (tci_flag) {
+		if (atanb_flag) {
 		    sum_contour = contour[np_side];
 		    tci_div = get_slope_tci(ele, alt[down_index],
 				            dist_to_nbr[np_side]);
 		}
 	    }
-	    /* topographic wetness index ln(a / tan(beta)) */
-	    if (tci_flag) {
-		tci[this_index] = log((fabs(wat[this_index]) * cell_size) /
-		                      (sum_contour * tci_div));
+	    /* topographic wetness index ln(a / tan(beta)) and
+	     * stream power index a * tan(beta) */
+	    if (atanb_flag) {
+		sca[this_index] = fabs(wat[this_index]) *
+		                  (cell_size / sum_contour);
+		tanb[this_index] = tci_div;
 	    }
 	}
     }
diff --git a/raster/r.watershed/ram/do_flatarea.c b/raster/r.watershed/ram/do_flatarea.c
index fcfc1fe..d7de3dd 100644
--- a/raster/r.watershed/ram/do_flatarea.c
+++ b/raster/r.watershed/ram/do_flatarea.c
@@ -6,7 +6,7 @@
  * The assignment of drainage direction over flat surfaces in raster
  * digital elevation models. J. Hydrol 193, 204-213.
  *
- * the method is modifed for speed, only one pass is necessary to get
+ * the method is modified for speed, only one pass is necessary to get
  * the gradient away from higher terrain
  * 
  *********************************************************************/
diff --git a/raster/r.watershed/ram/init_vars.c b/raster/r.watershed/ram/init_vars.c
index 0f9ac88..79fbd86 100644
--- a/raster/r.watershed/ram/init_vars.c
+++ b/raster/r.watershed/ram/init_vars.c
@@ -22,7 +22,8 @@ int init_vars(int argc, char *argv[])
     /* input */
     ele_flag = pit_flag = run_flag = ril_flag = 0;
     /* output */
-    wat_flag = asp_flag = bas_flag = seg_flag = haf_flag = tci_flag = 0;
+    wat_flag = asp_flag = tci_flag = spi_flag = atanb_flag = 0;
+    bas_flag = seg_flag = haf_flag = 0;
     bas_thres = 0;
     /* shed, unused */
     arm_flag = dis_flag = 0;
@@ -50,6 +51,8 @@ int init_vars(int argc, char *argv[])
 	    wat_flag++;
 	else if (sscanf(argv[r], "tci=%s", tci_name) == 1)
 	    tci_flag++;
+	else if (sscanf(argv[r], "spi=%s", spi_name) == 1)
+	    spi_flag++;
 	else if (sscanf(argv[r], "drainage=%s", asp_name) == 1)
 	    asp_flag++;
 	else if (sscanf(argv[r], "depression=%s", pit_name) == 1)
@@ -147,11 +150,16 @@ int init_vars(int argc, char *argv[])
     wat =
 	(DCELL *) G_malloc(sizeof(DCELL) *
 			   size_array(&wat_seg, nrows, ncols));
-    if (tci_flag)
-	tci = (DCELL *) G_malloc(sizeof(DCELL) *
+    
+    sca = tanb = NULL;
+    atanb_flag = 0;
+    if (tci_flag || spi_flag) {
+	sca = (DCELL *) G_malloc(sizeof(DCELL) *
 			         size_array(&wat_seg, nrows, ncols));
-    else
-	tci = NULL;
+	tanb = (DCELL *) G_malloc(sizeof(DCELL) *
+			         size_array(&wat_seg, nrows, ncols));
+	atanb_flag = 1;
+    }
 
     asp =
 	(CELL *) G_malloc(size_array(&asp_seg, nrows, ncols) * sizeof(CELL));
@@ -178,7 +186,7 @@ int init_vars(int argc, char *argv[])
 	ele_scale = 10000;
 
     /* read elevation input and mark NULL/masked cells */
-    /* intialize accumulation and drainage direction */
+    /* initialize accumulation and drainage direction */
     MASK_flag = 0;
     do_points = nrows * ncols;
     for (r = 0; r < nrows; r++) {
@@ -223,6 +231,10 @@ int init_vars(int argc, char *argv[])
 	    if (er_flag) {
 		r_h[seg_idx] = alt_value;
 	    }
+	    if (atanb_flag) {
+		Rast_set_d_null_value(&sca[seg_idx], 1);
+		Rast_set_d_null_value(&tanb[seg_idx], 1);
+	    }
 	    ptr = G_incr_void_ptr(ptr, ele_size);
 	}
     }
diff --git a/raster/r.watershed/ram/main.c b/raster/r.watershed/ram/main.c
index 4b4fa69..a9d6dcb 100644
--- a/raster/r.watershed/ram/main.c
+++ b/raster/r.watershed/ram/main.c
@@ -39,7 +39,7 @@ RAMSEG r_h_seg, dep_seg;
 RAMSEG slp_seg, s_l_seg, s_g_seg, l_s_seg;
 int *astar_pts;
 CELL *dis, *alt, *asp, *bas, *haf, *r_h, *dep;
-DCELL *wat, *tci;
+DCELL *wat, *sca, *tanb;
 int ril_fd;
 double *s_l, *s_g, *l_s;
 CELL one, zero;
@@ -57,11 +57,11 @@ char seg_name[GNAME_MAX], bas_name[GNAME_MAX], haf_name[GNAME_MAX],
     thr_name[8];
 char ls_name[GNAME_MAX], st_name[GNAME_MAX], sl_name[GNAME_MAX],
     sg_name[GNAME_MAX];
-char wat_name[GNAME_MAX], asp_name[GNAME_MAX], tci_name[GNAME_MAX];
+char wat_name[GNAME_MAX], asp_name[GNAME_MAX], tci_name[GNAME_MAX], spi_name[GNAME_MAX];
 char arm_name[GNAME_MAX], dis_name[GNAME_MAX];
 char ele_flag, pit_flag, run_flag, dis_flag, ob_flag, flat_flag;
 char wat_flag, asp_flag, arm_flag, ril_flag, dep_flag;
-char bas_flag, seg_flag, haf_flag, er_flag, tci_flag;
+char bas_flag, seg_flag, haf_flag, er_flag, tci_flag, spi_flag, atanb_flag;
 char st_flag, sb_flag, sg_flag, sl_flag, ls_flag;
 FILE *fp;
 
diff --git a/raster/r.watershed/seg/Gwater.h b/raster/r.watershed/seg/Gwater.h
index 4a4095f..618f362 100644
--- a/raster/r.watershed/seg/Gwater.h
+++ b/raster/r.watershed/seg/Gwater.h
@@ -63,6 +63,12 @@ WAT_ALT {
    DCELL wat;
 };
 
+#define A_TANB    struct sca_tanb
+A_TANB {
+   DCELL sca;
+   DCELL tanb;
+};
+
 #define ASP_FLAG    struct aspect_flag
 ASP_FLAG {
    char asp;
@@ -90,7 +96,8 @@ extern SSEG astar_pts;
 extern BSEG s_b;
 extern CSEG dis, bas, haf, r_h, dep;
 extern SSEG watalt, aspflag;
-extern DSEG tci, slp, s_l, s_g, l_s, ril;
+extern DSEG slp, s_l, s_g, l_s, ril;
+extern SSEG atanb;
 extern double segs_mb;
 extern char zero, one;
 extern double ril_value, d_zero, d_one;
@@ -106,10 +113,11 @@ extern char ril_name[GNAME_MAX], dep_name[GNAME_MAX];
 extern const char *this_mapset;
 extern char seg_name[GNAME_MAX], bas_name[GNAME_MAX], haf_name[GNAME_MAX], thr_name[8];
 extern char ls_name[GNAME_MAX], st_name[GNAME_MAX], sl_name[GNAME_MAX], sg_name[GNAME_MAX];
-extern char wat_name[GNAME_MAX], asp_name[GNAME_MAX], tci_name[GNAME_MAX];
+extern char wat_name[GNAME_MAX], asp_name[GNAME_MAX];
+extern char tci_name[GNAME_MAX], spi_name[GNAME_MAX];
 extern char arm_name[GNAME_MAX], dis_name[GNAME_MAX];
 extern char ele_flag, pit_flag, run_flag, dis_flag, ob_flag;
-extern char wat_flag, asp_flag, arm_flag, ril_flag, dep_flag, tci_flag;
+extern char wat_flag, asp_flag, arm_flag, ril_flag, dep_flag, tci_flag, spi_flag, atanb_flag;
 extern char bas_flag, seg_flag, haf_flag, er_flag;
 extern char st_flag, sb_flag, sg_flag, sl_flag, ls_flag;
 extern FILE *fp;
diff --git a/raster/r.watershed/seg/close_maps.c b/raster/r.watershed/seg/close_maps.c
index 565f35a..b933ff8 100644
--- a/raster/r.watershed/seg/close_maps.c
+++ b/raster/r.watershed/seg/close_maps.c
@@ -23,8 +23,8 @@ int close_maps(void)
 	wabuf = G_malloc(ncols * sizeof(WAT_ALT));
 	seg_flush(&watalt);
 	if (abs_acc) {
-	    G_warning("Writing out only positive flow accumulation values.");
-	    G_warning("Cells with a likely underestimate for flow accumulation can no longer be identified.");
+	    G_message("Writing out only positive flow accumulation values.");
+	    G_message("Cells with a likely underestimate for flow accumulation can no longer be identified.");
 	}
 
 	fd = Rast_open_new(wat_name, DCELL_TYPE);
@@ -124,89 +124,175 @@ int close_maps(void)
 	Rast_write_colors(wat_name, this_mapset, &colors);
     }
 
-    /* TCI */
-    if (tci_flag) {
-	DCELL watvalue;
+    /* TCI, SPI */
+    if (atanb_flag) {
+	DCELL *dbuf2;
+	A_TANB sca_tanb;
 	double mean;
+	double sum2, sum_sqr2;
+	int fd2;
+
+	if (tci_flag && spi_flag)
+	    G_message(_("Closing TCI and SPI maps"));
+	else if (tci_flag && !spi_flag)
+	    G_message(_("Closing TCI map"));
+	else if (!tci_flag && spi_flag)
+	    G_message(_("Closing SPI map"));
 
-	G_message(_("Closing TCI map"));
 	sum = sum_sqr = stddev = 0.0;
-	dbuf = Rast_allocate_d_buf();
+	sum2 = sum_sqr2 = 0.0;
 	wabuf = G_malloc(ncols * sizeof(WAT_ALT));
-	dseg_flush(&tci);
+	seg_flush(&atanb);
 	if (!wat_flag)
 	    seg_flush(&watalt);
 
-	fd = Rast_open_new(tci_name, DCELL_TYPE);
+	fd = fd2 = -1;
+	dbuf = dbuf2 = NULL;
+	if (tci_flag) {
+	    fd = Rast_open_new(tci_name, DCELL_TYPE);
+	    dbuf = Rast_allocate_d_buf();
+	}
+	if (spi_flag) {
+	    fd2 = Rast_open_new(spi_name, DCELL_TYPE);
+	    dbuf2 = Rast_allocate_d_buf();
+	}
 
 	for (r = 0; r < nrows; r++) {
 	    G_percent(r, nrows, 1);
-	    Rast_set_d_null_value(dbuf, ncols);	/* reset row to all NULL */
-	    seg_get_row(&watalt, (char *)wabuf, r);
+	    if (tci_flag)
+		Rast_set_d_null_value(dbuf, ncols);	/* reset row to all NULL */
+	    if (spi_flag)
+		Rast_set_d_null_value(dbuf2, ncols);	/* reset row to all NULL */
 	    for (c = 0; c < ncols; c++) {
-		dseg_get(&tci, &dvalue, r, c);
-		watvalue = wabuf[c].wat;
-		if (!Rast_is_d_null_value(&watvalue)) {
-		    dbuf[c] = dvalue;
-		    sum += dvalue;
-		    sum_sqr += dvalue * dvalue;
+		seg_get(&atanb, (char *)&sca_tanb, r, c);
+		if (!Rast_is_d_null_value(&sca_tanb.tanb)) {
+		    
+		    if (tci_flag) {
+			dvalue = log(sca_tanb.sca / sca_tanb.tanb);
+			dbuf[c] = dvalue;
+			sum += dvalue;
+			sum_sqr += dvalue * dvalue;
+		    }
+		    if (spi_flag) {
+			dvalue = sca_tanb.sca * sca_tanb.tanb;
+			dbuf2[c] = dvalue;
+			sum2 += dvalue;
+			sum_sqr2 += dvalue * dvalue;
+		    }
 		}
 	    }
-	    Rast_put_row(fd, dbuf, DCELL_TYPE);
+	    if (tci_flag)
+		Rast_put_row(fd, dbuf, DCELL_TYPE);
+	    if (spi_flag)
+		Rast_put_row(fd2, dbuf2, DCELL_TYPE);
 	}
 	G_percent(r, nrows, 1);    /* finish it */
 
-	Rast_close(fd);
 	G_free(wabuf);
-	G_free(dbuf);
-	dseg_close(&tci);
+	seg_close(&atanb);
 
-	mean = sum / do_points;
-	stddev = sqrt((sum_sqr - (sum + sum / do_points)) / (do_points - 1));
-	G_debug(1, "stddev: %f", stddev);
+	if (tci_flag) {
+	    Rast_close(fd);
+	    G_free(dbuf);
 
-	/* set nice color rules: yellow, green, cyan, blue, black */
-	/* start with white to get more detail? NULL cells are white by default, may be confusing */
+	    mean = sum / do_points;
+	    stddev = sqrt((sum_sqr - (sum + sum / do_points)) / (do_points - 1));
+	    G_debug(1, "stddev: %f", stddev);
 
-	lstddev = log(stddev);
+	    /* set nice color rules: yellow, green, cyan, blue, black */
+	    /* start with white to get more detail? NULL cells are white by default, may be confusing */
 
-	Rast_read_fp_range(tci_name, this_mapset, &accRange);
-	min = max = 0;
-	Rast_get_fp_range_min_max(&accRange, &min, &max);
+	    lstddev = log(stddev);
 
-	Rast_init_colors(&colors);
+	    Rast_read_fp_range(tci_name, this_mapset, &accRange);
+	    min = max = 0;
+	    Rast_get_fp_range_min_max(&accRange, &min, &max);
+
+	    Rast_init_colors(&colors);
+
+	    if (min - 1 < mean - 0.5 * stddev) {
+		clr_min = min - 1;
+		clr_max = mean - 0.5 * stddev;
+		Rast_add_d_color_rule(&clr_min, 255, 255, 0, &clr_max, 255,
+					      255, 0, &colors);
+	    }
 
-	if (min - 1 < mean - 0.5 * stddev) {
-	    clr_min = min - 1;
-	    clr_max = mean - 0.5 * stddev;
-	    Rast_add_d_color_rule(&clr_min, 255, 255, 0, &clr_max, 255,
-					  255, 0, &colors);
+	    clr_min = mean - 0.5 * stddev;
+	    clr_max = mean - 0.2 * stddev;
+	    Rast_add_d_color_rule(&clr_min, 255, 255, 0, &clr_max, 0,
+				      255, 0, &colors);
+	    clr_min = clr_max;
+	    clr_max = mean + 0.2 * stddev;
+	    Rast_add_d_color_rule(&clr_min, 0, 255, 0, &clr_max, 0,
+				      255, 255, &colors);
+	    clr_min = clr_max;
+	    clr_max = mean + 0.6 * stddev;
+	    Rast_add_d_color_rule(&clr_min, 0, 255, 255, &clr_max, 0,
+				      0, 255, &colors);
+	    clr_min = clr_max;
+	    clr_max = mean + 1. * stddev;
+	    Rast_add_d_color_rule(&clr_min, 0, 0, 255, &clr_max, 0, 0,
+				      0, &colors);
+
+	    if (max > 0 && max > clr_max) {
+		clr_min = clr_max;
+		clr_max = max + 1;
+		Rast_add_d_color_rule(&clr_min, 0, 0, 0, &clr_max, 0, 0,
+					  0, &colors);
+	    }
+	    Rast_write_colors(tci_name, this_mapset, &colors);
 	}
+	if (spi_flag) {
+	    Rast_close(fd2);
+	    G_free(dbuf2);
 
-	clr_min = mean - 0.5 * stddev;
-	clr_max = mean - 0.2 * stddev;
-	Rast_add_d_color_rule(&clr_min, 255, 255, 0, &clr_max, 0,
-				  255, 0, &colors);
-	clr_min = clr_max;
-	clr_max = mean + 0.2 * stddev;
-	Rast_add_d_color_rule(&clr_min, 0, 255, 0, &clr_max, 0,
-				  255, 255, &colors);
-	clr_min = clr_max;
-	clr_max = mean + 0.6 * stddev;
-	Rast_add_d_color_rule(&clr_min, 0, 255, 255, &clr_max, 0,
-				  0, 255, &colors);
-	clr_min = clr_max;
-	clr_max = mean + 1. * stddev;
-	Rast_add_d_color_rule(&clr_min, 0, 0, 255, &clr_max, 0, 0,
-				  0, &colors);
+	    mean = sum2 / do_points;
+	    stddev = sqrt((sum_sqr2 - (sum2 + sum2 / do_points)) / (do_points - 1));
+	    G_debug(1, "stddev: %f", stddev);
+
+	    /* set nice color rules: yellow, green, cyan, blue, black */
+	    /* start with white to get more detail? NULL cells are white by default, may be confusing */
 
-	if (max > 0 && max > clr_max) {
+	    lstddev = log(stddev);
+
+	    Rast_read_fp_range(spi_name, this_mapset, &accRange);
+	    min = max = 0;
+	    Rast_get_fp_range_min_max(&accRange, &min, &max);
+
+	    Rast_init_colors(&colors);
+
+	    if (min - 1 < mean - 0.5 * stddev) {
+		clr_min = min - 1;
+		clr_max = mean - 0.5 * stddev;
+		Rast_add_d_color_rule(&clr_min, 255, 255, 0, &clr_max, 255,
+					      255, 0, &colors);
+	    }
+
+	    clr_min = mean - 0.5 * stddev;
+	    clr_max = mean - 0.2 * stddev;
+	    Rast_add_d_color_rule(&clr_min, 255, 255, 0, &clr_max, 0,
+				      255, 0, &colors);
 	    clr_min = clr_max;
-	    clr_max = max + 1;
-	    Rast_add_d_color_rule(&clr_min, 0, 0, 0, &clr_max, 0, 0,
+	    clr_max = mean + 0.2 * stddev;
+	    Rast_add_d_color_rule(&clr_min, 0, 255, 0, &clr_max, 0,
+				      255, 255, &colors);
+	    clr_min = clr_max;
+	    clr_max = mean + 0.6 * stddev;
+	    Rast_add_d_color_rule(&clr_min, 0, 255, 255, &clr_max, 0,
+				      0, 255, &colors);
+	    clr_min = clr_max;
+	    clr_max = mean + 1. * stddev;
+	    Rast_add_d_color_rule(&clr_min, 0, 0, 255, &clr_max, 0, 0,
 				      0, &colors);
+
+	    if (max > 0 && max > clr_max) {
+		clr_min = clr_max;
+		clr_max = max + 1;
+		Rast_add_d_color_rule(&clr_min, 0, 0, 0, &clr_max, 0, 0,
+					  0, &colors);
+	    }
+	    Rast_write_colors(spi_name, this_mapset, &colors);
 	}
-	Rast_write_colors(tci_name, this_mapset, &colors);
     }
 
     seg_close(&watalt);
diff --git a/raster/r.watershed/seg/do_cum.c b/raster/r.watershed/seg/do_cum.c
index 93f3c81..16888f3 100644
--- a/raster/r.watershed/seg/do_cum.c
+++ b/raster/r.watershed/seg/do_cum.c
@@ -112,8 +112,9 @@ int do_cum(void)
     int asp_c[9] = { 0, 1, 0, -1, -1, -1, 0, 1, 1 };
     WAT_ALT wa, wadown;
     ASP_FLAG af, afdown;
+    A_TANB sca_tanb;
     double *dist_to_nbr, *contour;
-    double tci_val, tci_div, cell_size;
+    double cell_size;
 
     G_message(_("SECTION 3: Accumulating Surface Flow with SFD."));
 
@@ -195,13 +196,15 @@ int do_cum(void)
 	    wadown.wat = valued;
 	    seg_put(&watalt, (char *)&wadown, dr, dc);
 
-	    /* topographic wetness index ln(a / tan(beta)) */
-	    if (tci_flag) {
-		tci_div = contour[np_side] * 
-		       get_slope_tci(wa.ele, wadown.ele,
-				     dist_to_nbr[np_side]);
-		tci_val = log((fabs(wa.wat) * cell_size) / tci_div);
-		dseg_put(&tci, &tci_val, r, c);
+	    /* topographic wetness index ln(a / tan(beta)) and
+	     * stream power index a * tan(beta) */
+	    if (atanb_flag) {
+		sca_tanb.sca = fabs(wa.wat) *
+		               (cell_size / contour[np_side]);
+
+		sca_tanb.tanb = get_slope_tci(wa.ele, wadown.ele,
+				              dist_to_nbr[np_side]);
+		seg_put(&atanb, (char *)&sca_tanb, r, c);
 	    }
 
 	    /* update asp for depression */
@@ -268,10 +271,11 @@ int do_cum_mfd(void)
 {
     int r, c, dr, dc;
     DCELL value, valued, *wat_nbr;
-    double tci_val, tci_div, sum_contour, cell_size;
+    double sum_contour, cell_size;
     POINT point;
     WAT_ALT wa;
     ASP_FLAG af, afdown;
+    A_TANB sca_tanb;
     GW_LARGE_INT killer;
     int threshold;
 
@@ -423,7 +427,7 @@ int do_cum_mfd(void)
 
 	    /* set flow accumulation for neighbours */
 	    max_val = -1;
-	    tci_div = sum_contour = 0.;
+	    sca_tanb.tanb = sum_contour = 0.;
 
 	    if (mfd_cells > 1) {
 		prop = 0.0;
@@ -437,17 +441,17 @@ int do_cum_mfd(void)
 
 			if (FLAG_GET(flag_nbr[ct_dir], WORKEDFLAG)) {
 
-			    if (tci_flag) {
-				sum_contour += contour[ct_dir];
-				tci_div += get_slope_tci(ele, ele_nbr[ct_dir],
-				                         dist_to_nbr[ct_dir]) *
-					   weight[ct_dir];
-			    }
-
 			    weight[ct_dir] = weight[ct_dir] / sum_weight;
 			    /* check everything adds up to 1.0 */
 			    prop += weight[ct_dir];
 
+			    if (atanb_flag) {
+				sum_contour += contour[ct_dir];
+				sca_tanb.tanb += get_slope_tci(ele, ele_nbr[ct_dir],
+				                         dist_to_nbr[ct_dir]) *
+					         weight[ct_dir];
+			    }
+
 			    if (value > 0) {
 				if (wat_nbr[ct_dir] > 0)
 				    wat_nbr[ct_dir] += value * weight[ct_dir];
@@ -483,8 +487,6 @@ int do_cum_mfd(void)
 		    G_warning(_("MFD: cumulative proportion of flow distribution not 1.0 but %f"),
 			      prop);
 		}
-		if (tci_flag)
-		    tci_div /= sum_weight;
 	    }
 	    /* SFD-like accumulation */
 	    else {
@@ -505,18 +507,18 @@ int do_cum_mfd(void)
 		wa.ele = ele_nbr[np_side];
 		seg_put(&watalt, (char *)&wa, dr, dc);
 
-		if (tci_flag) {
+		if (atanb_flag) {
 		    sum_contour = contour[np_side];
-		    tci_div = get_slope_tci(ele, ele_nbr[np_side],
-				            dist_to_nbr[np_side]);
+		    sca_tanb.tanb = get_slope_tci(ele, ele_nbr[np_side],
+				                  dist_to_nbr[np_side]);
 		}
 	    }
 
-	    /* topographic wetness index ln(a / tan(beta)) */
-	    if (tci_flag) {
-		tci_val = log((fabs(value) * cell_size) /
-		              (sum_contour * tci_div));
-		dseg_put(&tci, &tci_val, r, c);
+	    /* topographic wetness index ln(a / tan(beta)) and
+	     * stream power index a * tan(beta) */
+	    if (atanb_flag) {
+		sca_tanb.sca = fabs(value) * (cell_size / sum_contour);
+		seg_put(&atanb, (char *)&sca_tanb, r, c);
 	    }
 	}
 	seg_put(&aspflag, (char *)&af, r, c);
diff --git a/raster/r.watershed/seg/init_vars.c b/raster/r.watershed/seg/init_vars.c
index 77a3faf..95eac9c 100644
--- a/raster/r.watershed/seg/init_vars.c
+++ b/raster/r.watershed/seg/init_vars.c
@@ -22,6 +22,7 @@ int init_vars(int argc, char *argv[])
     DCELL dvalue;
     WAT_ALT wa, *wabuf;
     ASP_FLAG af, af_nbr, *afbuf;
+    A_TANB sca_tanb;
     char MASK_flag;
     void *elebuf, *ptr, *watbuf, *watptr;
     int ele_map_type, wat_map_type;
@@ -32,7 +33,8 @@ int init_vars(int argc, char *argv[])
     /* input */
     ele_flag = pit_flag = run_flag = ril_flag = 0;
     /* output */
-    wat_flag = asp_flag = bas_flag = seg_flag = haf_flag = tci_flag = 0;
+    wat_flag = asp_flag = tci_flag = spi_flag = atanb_flag = 0;
+    bas_flag = seg_flag = haf_flag = 0;
     bas_thres = 0;
     /* shed, unused */
     arm_flag = dis_flag = 0;
@@ -59,6 +61,8 @@ int init_vars(int argc, char *argv[])
 	    wat_flag++;
 	else if (sscanf(argv[r], "tci=%s", tci_name) == 1)
 	    tci_flag++;
+	else if (sscanf(argv[r], "spi=%s", spi_name) == 1)
+	    spi_flag++;
 	else if (sscanf(argv[r], "drainage=%s", asp_name) == 1)
 	    asp_flag++;
 	else if (sscanf(argv[r], "depression=%s", pit_name) == 1)
@@ -129,6 +133,9 @@ int init_vars(int argc, char *argv[])
     if (seg_flag || bas_flag || haf_flag)
 	tot_parts++;
 
+    if (tci_flag || spi_flag)
+	atanb_flag = 1;
+
     G_message(n_("SECTION 1 beginning: Initiating Variables. %d section total.", 
         "SECTION 1 beginning: Initiating Variables. %d sections total.", 
         tot_parts),
@@ -184,9 +191,9 @@ int init_vars(int argc, char *argv[])
     memory_divisor += sizeof(HEAP_PNT) / 4.;
     disk_space += sizeof(HEAP_PNT);
     /* TCI: as is */
-    if (tci_flag) {
-	memory_divisor += sizeof(double);
-	disk_space += sizeof(double);
+    if (atanb_flag) {
+	memory_divisor += sizeof(A_TANB);
+	disk_space += sizeof(A_TANB);
     }
     /* RUSLE */
     if (er_flag) {
@@ -258,8 +265,11 @@ int init_vars(int argc, char *argv[])
     seg_open(&watalt, nrows, ncols, seg_rows, seg_cols, num_open_segs * 2, sizeof(WAT_ALT));
     seg_open(&aspflag, nrows, ncols, seg_rows, seg_cols, num_open_segs * 4, sizeof(ASP_FLAG));
 
-    if (tci_flag)
-	dseg_open(&tci, seg_rows, seg_cols, num_open_segs);
+    if (atanb_flag) {
+	seg_open(&atanb, nrows, ncols, seg_rows, seg_cols, num_open_segs, sizeof(A_TANB));
+	Rast_set_d_null_value(&sca_tanb.sca, 1);
+	Rast_set_d_null_value(&sca_tanb.tanb, 1);
+    }
 
     /* open elevation input */
     ele_fd = Rast_open_old(ele_name, "");
@@ -355,6 +365,9 @@ int init_vars(int argc, char *argv[])
 	    wabuf[c].wat = wat_value;
 	    wabuf[c].ele = alt_value;
 	    alt_value_buf[c] = alt_value;
+	    if (atanb_flag) {
+		seg_put(&atanb, (char *)&sca_tanb, r, c);
+	    }
 	    ptr = G_incr_void_ptr(ptr, ele_size);
 	    if (run_flag) {
 		watptr = G_incr_void_ptr(watptr, wat_size);
diff --git a/raster/r.watershed/seg/main.c b/raster/r.watershed/seg/main.c
index 0b152c7..60bb90f 100644
--- a/raster/r.watershed/seg/main.c
+++ b/raster/r.watershed/seg/main.c
@@ -39,7 +39,8 @@ SSEG astar_pts;
 BSEG s_b;
 CSEG dis, alt, bas, haf, r_h, dep;
 SSEG watalt, aspflag;
-DSEG tci, slp, s_l, s_g, l_s, ril;
+DSEG slp, s_l, s_g, l_s, ril;
+SSEG atanb;
 double segs_mb;
 char zero, one;
 double ril_value, d_zero, d_one;
@@ -56,11 +57,12 @@ char seg_name[GNAME_MAX], bas_name[GNAME_MAX], haf_name[GNAME_MAX],
     thr_name[8];
 char ls_name[GNAME_MAX], st_name[GNAME_MAX], sl_name[GNAME_MAX],
     sg_name[GNAME_MAX];
-char wat_name[GNAME_MAX], asp_name[GNAME_MAX], tci_name[GNAME_MAX];
+char wat_name[GNAME_MAX], asp_name[GNAME_MAX];
+char tci_name[GNAME_MAX], spi_name[GNAME_MAX];
 char arm_name[GNAME_MAX], dis_name[GNAME_MAX];
 char ele_flag, pit_flag, run_flag, dis_flag, ob_flag;
 char wat_flag, asp_flag, arm_flag, ril_flag, dep_flag;
-char bas_flag, seg_flag, haf_flag, er_flag, tci_flag;
+char bas_flag, seg_flag, haf_flag, er_flag, tci_flag, spi_flag, atanb_flag;
 char st_flag, sb_flag, sg_flag, sl_flag, ls_flag;
 FILE *fp;
 
diff --git a/raster/r.watershed/testsuite/r_watershed_test.py b/raster/r.watershed/testsuite/r_watershed_test.py
new file mode 100644
index 0000000..a5f4041
--- /dev/null
+++ b/raster/r.watershed/testsuite/r_watershed_test.py
@@ -0,0 +1,154 @@
+"""
+Name:      r_watershed_test
+Purpose:   This script is to demonstrate a unit test for r.watershed
+           module (originally developed for GIS582 course at NCSU).
+
+Author:    Stephanie Wendel
+Copyright: (C) 205 by Stephanie Wendel and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestWatershed(TestCase):
+    """Test case for watershed module"""
+
+    # Setup variables to be used for outputs
+    accumulation = 'test_accumulation'
+    drainage = 'test_drainage'
+    basin = 'test_basin'
+    stream = 'test_stream'
+    halfbasin = 'test_halfbasin'
+    slopelength = 'test_slopelength'
+    slopesteepness = 'test_slopesteepness'
+    elevation = 'elevation'
+    lengthslope_2 = 'test_lengthslope_2'
+    stream_2 = 'test_stream_2'
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and setup"""
+        # Always use the computational region of the raster elevation
+        cls.use_temp_region()
+        cls.runModule('g.region', raster=cls.elevation)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region"""
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created from the watershed module
+
+        This is executed after each test run.
+        """
+        self.runModule('g.remove', flags='f', type='raster',
+                       name=[self.accumulation, self.drainage,
+                             self.basin, self.stream,
+                             self.halfbasin, self.slopelength,
+                             self.slopesteepness, self.lengthslope_2,
+                             self.stream_2])
+
+    def test_OutputCreated(self):
+        """Test to see if the outputs are created"""
+        # run the watershed module
+        self.assertModule('r.watershed', elevation=self.elevation,
+                          threshold='10000', accumulation=self.accumulation,
+                          drainage=self.drainage, basin=self.basin, stream=self.stream,
+                          half_basin=self.halfbasin, length_slope=self.slopelength,
+                          slope_steepness=self.slopesteepness)
+        # check to see if accumulation output is in mapset
+        self.assertRasterExists(self.accumulation,
+                                msg='accumulation output was not created')
+        # check to see if drainage output is in mapset
+        self.assertRasterExists(self.drainage,
+                                msg='drainage output was not created')
+        # check to see if basin output is in mapset
+        self.assertRasterExists(self.basin,
+                                msg='basin output was not created')
+        # check to see if stream output is in mapset
+        self.assertRasterExists(self.stream,
+                                msg='stream output was not created')
+        # check to see if half.basin output is in mapset
+        self.assertRasterExists(self.halfbasin,
+                                msg='half.basin output was not created')
+        # check to see if length.slope output is in mapset
+        self.assertRasterExists(self.slopelength,
+                                msg='length.slope output was not created')
+        # check to see if slope.steepness output is in mapset
+        self.assertRasterExists(self.slopesteepness,
+                                msg='slope.steepness output was not created')
+
+    def test_fourFlag(self):
+        """Test the -4 flag and the stream and slope lengths
+
+        Tests the -4 flag to see if the stream and slope lengths are
+        approximately the same as the outputs from the default
+        module run.
+        """
+        # Run module with default settings
+        self.assertModule('r.watershed', elevation=self.elevation,
+                          threshold='10000', stream=self.stream,
+                          length_slope=self.slopelength, overwrite=True)
+        # Run module with flag 4
+        self.assertModule('r.watershed', flags='4', elevation='elevation',
+                          threshold='10000', stream=self.stream_2,
+                          length_slope=self.lengthslope_2)
+        # Use the assertRastersNoDifference with precsion 100 to see if close
+        # Compare stream output
+        self.assertRastersNoDifference(self.stream_2, self.stream, 100)
+        # Compare length_slope output
+        self.assertRastersNoDifference(self.lengthslope_2,
+                                       self.slopelength, 10)
+
+    def test_watershedThreadholdfail(self):
+        """Test if threshold of 0 or a negative is accepted
+
+        The module should fail in this test, if it fails, test succeeds.
+        """
+        self.assertModuleFail('r.watershed', elevation=self.elevation,
+                              threshold='0', stream=self.stream, overwrite=True,
+                              msg='Threshold value of 0 considered valid.')
+        self.assertModuleFail('r.watershed', elevation=self.elevation,
+                              threshold='-1', stream=self.stream, overwrite=True,
+                              msg='Threshold value of 0 considered valid.')
+
+    def test_thresholdsize(self):
+        """Test the expected range of basin output values"""
+        self.assertModule('r.watershed', elevation=self.elevation,
+                          threshold='100000', basin=self.basin, overwrite=True)
+        # it is expected that 100k Threshold has a min=2 and max=12 for this
+        # data
+        self.assertRasterMinMax(self.basin, 2, 12)
+        # it is expected that 100k Threshold has a min=2 and max=256 for this
+        # data
+        self.assertModule('r.watershed', elevation=self.elevation,
+                          threshold='10000', basin=self.basin, overwrite=True)
+        self.assertRasterMinMax(self.basin, 2, 256)
+
+    def test_drainageDirection(self):
+        """Test if the drainage direction is between -8 and 8."""
+        self.assertModule('r.watershed', elevation=self.elevation,
+                          threshold='100000', drainage=self.drainage)
+        # Make sure the min/max is between -8 and 8
+        self.assertRasterMinMax(self.drainage, -8, 8,
+                                msg='Direction must be between -8 and 8')
+
+    def test_basinValue(self):
+        """Check to see if the basin value is 0 or greater"""
+        self.assertModule('r.watershed', elevation=self.elevation,
+                          threshold='10000', basin=self.basin)
+        # Make sure the minimum value is 0 for basin value representing unique
+        # positive integer.
+        # TODO: test just min, max is theoretically unlimited
+        # or set a lower value according to what is expected with this data
+        # TODO: add test which tests that 'max basin id' == 'num of basins'
+        self.assertRasterMinMax(self.basin, 0, 1000000,
+                                msg='A basin value is less than 0 or greater than 1000000')
+
+if __name__ == '__main__':
+    test()
diff --git a/raster/r.what/r.what.html b/raster/r.what/r.what.html
index 4eaf34f..f4b9709 100644
--- a/raster/r.what/r.what.html
+++ b/raster/r.what/r.what.html
@@ -42,7 +42,7 @@ r.what map=landuse96_28m,aspect coordinates=633614.08,224125.12,632972.36,225382
 
 <h3>Input coordinates given as a vector points map</h3>
 
-Coordinates can be read from exising vector points map by
+Coordinates can be read from existing vector points map by
 specifying <b>points</b> option. Other features than points or
 centroids are ignored. Example: query North Carolina county number for
 each community college:
@@ -59,7 +59,7 @@ r.what map=boundary_county_500m points=comm_colleges
 
 <h3>Input coordinates given as a vector points map, output into CSV file</h3>
 
-Coordinates can be read from exising vector points map by
+Coordinates can be read from existing vector points map by
 specifying <b>points</b> option. Other features than points or
 centroids are ignored. The output is stored in a CSV file including header
 row. Example: query North Carolina county number for each community college:
@@ -176,4 +176,4 @@ Michael Shapiro, U.S. Army Construction Engineering Research Laboratory<br>
 Vector point input added by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<i>Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/raster/rasterintro.html b/raster/rasterintro.html
index 3256c9e..9857998 100644
--- a/raster/rasterintro.html
+++ b/raster/rasterintro.html
@@ -144,9 +144,9 @@ cells whose centres fall within the bounds of the region cell.
 <br>
 With <b>-w</b>, the samples are weighted according to the proportion of the
 raster cell which falls within the bounds of the region cell, so the
-result is normally unaffected by rounding error (a miniscule difference 
+result is normally unaffected by rounding error (a minuscule difference 
 in the position of the boundary results in the addition or subtraction of
-a sample weighted by a miniscule factor; also, The min and max aggregates 
+a sample weighted by a minuscule factor; also, The min and max aggregates 
 can't use weights, so <b>-w</b> has no effect for those).</li>
 
 <li> <a href="r.fillnulls.html">r.fillnulls</a> for Regularized Spline with Tension (RST) 
@@ -261,6 +261,59 @@ The GRASS GIS raster format is architecture independent and portable between
 GRASS distinguishes NULL and zero. When working with NULL data, it is
 important to know that operations on NULL cells lead to NULL cells.
 
+<h3>Raster compression</h3>
+<!-- keep in sync with raster/r.compress/r.compress.html -->
+
+GRASS raster maps are by default ZLIB compressed. If the environment 
+variable <tt>GRASS_INT_ZLIB</tt> exists and has the value 0, newly 
+generated compressed integer (CELL type) raster maps will be compressed 
+using RLE compression instead of ZLIB.
+<p>
+Floating point (FCELL, DCELL) raster maps never use RLE compression;
+they are either compressed with ZLIB, LZ4, BZIP2 or are uncompressed.
+<p>
+The compression method for raster maps is by default ZLIB's deflate 
+algorithm. The compression method can be set with the environment 
+variable GRASS_COMPRESSOR which can be set to RLE, ZLIB, LZ4, or BZIP2.
+
+<dl>
+<dt><strong>RLE</strong></dt>
+<dd><b>DEPRECATED</b> Run-Length Encoding, poor compression ratio but 
+fast. Kept for backwards compatibility to read raster maps created with 
+GRASS 6. Only used for raster maps of type CELL. FCELL and DCELL maps 
+are never and have never been compressed with RLE.</dd>
+<dt><strong>ZLIB</strong></dt>
+<dd>ZLIB's deflate is the default compression method for all raster 
+maps. GRASS 7 uses by default 1 as ZLIB compression level which is the 
+best compromise betweeen speed and compression ratio, also when 
+compared to other available compression methods. Valid levels are in 
+the range [1, 9] and can be set with the environment variable 
+GRASS_ZLIB_LEVEL.</dd>
+<dt><strong>LZ4</strong></dt>
+<dd>LZ4 is a very fast compression method, about as fast as no 
+compression. The compression ration is generally higher than for RLE. 
+Decompression is also very fast. LZ4 is recommended if disk space is 
+not a limiting factor, but some sving on disk space is welcomed without 
+increasing processing speed. The compression ratio of LZ4 is generally 
+better than for RLE but worse than for ZLIB.</dd>
+<dt><strong>BZIP2</strong></dt>
+<dd>BZIP2 can provide compression ratios much higher than for the other 
+methods, but only for large raster maps (> 10000 columns). For large 
+raster maps, disk space consumption can be reduced by 30 - 50% when 
+using BZIP2 instead of ZLIB's deflate. BZIP2 is the slowest compression 
+and decompression method. However, if reading from / writing to a 
+storage device is the limiting factor, BZIP2 compression can speed up 
+raster map processing. Be aware that for smaller raster maps, BZIP2 
+compression ratio can be worse than for other compression methods.</dd> 
+</dl>
+
+<p>
+In the internal cellhd file, the value for "compressed" is 1 for RLE, 2 
+for ZLIB, 3 for LZ4, and 4 for BZIP2.
+<p>
+Obviously, decompression is controlled by the raster map's compression,
+not the environment variable.
+
 <h3>See also</h3>
 
 <ul>
diff --git a/raster3d/Makefile b/raster3d/Makefile
index 172697e..c605158 100644
--- a/raster3d/Makefile
+++ b/raster3d/Makefile
@@ -2,9 +2,12 @@ MODULE_TOPDIR = ..
 
 SUBDIRS = \
 	r3.cross.rast \
+	r3.flow \
+	r3.gradient \
 	r3.gwflow \
 	r3.in.ascii \
 	r3.in.bin \
+	r3.in.lidar \
 	r3.in.v5d \
 	r3.info \
 	r3.mask \
diff --git a/raster3d/r3.cross.rast/r3.cross.rast.html b/raster3d/r3.cross.rast/r3.cross.rast.html
index 5e7b664..18a3076 100644
--- a/raster3d/r3.cross.rast/r3.cross.rast.html
+++ b/raster3d/r3.cross.rast/r3.cross.rast.html
@@ -68,4 +68,4 @@ r3.cross.rast input=map3d elevation=cutplane output=crosssection
 <h2>AUTHOR</h2>
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2013-03-26 21:28:19 +0100 (Tue, 26 Mar 2013) $</i>
+<p><i>Last changed: $Date: 2013-03-26 13:28:19 -0700 (Tue, 26 Mar 2013) $</i>
diff --git a/raster3d/r3.flow/Makefile b/raster3d/r3.flow/Makefile
new file mode 100644
index 0000000..e0ccc1e
--- /dev/null
+++ b/raster3d/r3.flow/Makefile
@@ -0,0 +1,15 @@
+MODULE_TOPDIR = ../..
+
+PROGRAMS=r3.flow test.r3flow 
+
+LIBES = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB) $(VECTORLIB) $(DBMILIB)
+DEPENDENCIES = $(RASTER3DDEP) $(RASTERDEP) $(GISDEP) $(VECTORDEP) $(DBMIDEP)
+EXTRA_INC = $(VECT_INC)
+EXTRA_CFLAGS = $(VECT_CFLAGS)
+
+r3_flow_OBJS = main.o flowline.o integrate.o interpolate.o voxel_traversal.o
+test_r3flow_OBJS = test_main.o flowline.o integrate.o interpolate.o voxel_traversal.o
+
+include $(MODULE_TOPDIR)/include/Make/Multi.make
+
+default: multi
diff --git a/raster3d/r3.flow/flowline.c b/raster3d/r3.flow/flowline.c
new file mode 100644
index 0000000..4cd8458
--- /dev/null
+++ b/raster3d/r3.flow/flowline.c
@@ -0,0 +1,223 @@
+/*!
+   \file flowline.c
+
+   \brief Generates flowlines as vector lines
+
+   (C) 2014 by the GRASS Development Team
+
+   This program is free software under the GNU General Public
+   License (>=v2).  Read the file COPYING that comes with GRASS
+   for details.
+
+   \author Anna Petrasova
+ */
+#include <grass/raster3d.h>
+#include <grass/vector.h>
+#include <grass/glocale.h>
+#include <grass/dbmi.h>
+
+#include "r3flow_structs.h"
+#include "integrate.h"
+#include "flowline.h"
+#include "voxel_traversal.h"
+
+static void write_segment(struct Map_info *flowline_vec,
+			  struct line_pnts *points, struct line_cats *cats,
+			  const double *point, int *cat)
+{
+    Vect_append_point(points, point[0], point[1], point[2]);
+
+    Vect_cat_set(cats, 1, *cat);
+    (*cat)++;
+    Vect_write_line(flowline_vec, GV_LINE, points, cats);
+    Vect_reset_line(points);
+    Vect_reset_cats(cats);
+    Vect_append_point(points, point[0], point[1], point[2]);
+}
+
+static void write_segment_db(struct field_info *finfo, dbDriver * driver,
+			     dbString * sql, const double velocity,
+			     double scalar_value, double sampled_map_value,
+			     int write_scalar, int use_sampled_map,
+			     const int cat)
+{
+    char buf[200];
+
+    sprintf(buf, "insert into %s values (%d, %e", finfo->table, cat, velocity);
+    db_set_string(sql, buf);
+    if (write_scalar) {
+	sprintf(buf, ", %e", scalar_value);
+	db_append_string(sql, buf);
+    }
+    if (use_sampled_map) {
+        sprintf(buf, ", %e", sampled_map_value);
+        db_append_string(sql, buf);
+    }
+    db_append_string(sql, ")");
+
+
+    if (db_execute_immediate(driver, sql) != DB_OK) {
+	G_fatal_error(_("Unable to insert new record: '%s'"),
+		      db_get_string(sql));
+    }
+}
+
+static double get_map_value(RASTER3D_Region * region, RASTER3D_Map *map,
+			    double north, double east, double top)
+{
+    int col, row, depth;
+    double val;
+
+    Rast3d_location2coord(region, north, east, top, &col, &row, &depth);
+    Rast3d_get_value(map, col, row, depth, &val,
+		     DCELL_TYPE);
+
+    return val;
+}
+
+/*!
+   \brief Computes flowline by integrating velocity field.
+
+   \param region pointer to current 3D region
+   \param seed starting seed (point)
+   \param velocity_field pointer to array of 3 3D raster maps
+   \param integration pointer to integration struct
+   \param flowline_vec pointer to Map_info struct of flowline vector
+   \param cats pointer to line_cats struct of flowline vector
+   \param points pointer to line_pnts struct of flowline vector
+   \param[in,out] cat starting category of the newly created flow line
+   \param if_table TRUE if attribute table should be created and filled
+ */
+void compute_flowline(RASTER3D_Region * region, const struct Seed *seed,
+		      struct Gradient_info *gradient_info,
+		      RASTER3D_Map * flowacc, RASTER3D_Map * sampled_map,
+		      struct Integration *integration,
+		      struct Map_info *flowline_vec, struct line_cats *cats,
+		      struct line_pnts *points, int *cat, int if_table,
+		      struct field_info *finfo, dbDriver * driver)
+{
+    int i, j, count;
+    double delta_t;
+    double velocity_norm;
+    double point[3], new_point[3];
+    double vel_x, vel_y, vel_z;
+    double min_step, max_step;
+    int col, row, depth;
+    int last_col, last_row, last_depth;
+    int coor_diff;
+    DCELL scalar_value;
+    DCELL sampled_map_value;
+    FCELL value;
+    int *trav_coords;
+    int size, trav_count;
+    dbString sql;
+    double velocity;
+
+    point[0] = seed->x;
+    point[1] = seed->y;
+    point[2] = seed->z;
+
+    last_col = last_row = last_depth = -1;
+
+    size = 5;
+    value = 0;
+    trav_coords = G_malloc(3 * size * sizeof(int));
+
+    if (seed->flowline) {
+	/* append first point */
+	Vect_append_point(points, seed->x, seed->y, seed->z);
+	db_init_string(&sql);
+    }
+    count = 1;
+    while (count <= integration->limit) {
+	if (get_velocity(region, gradient_info, point[0], point[1], point[2],
+			 &vel_x, &vel_y, &vel_z) < 0)
+	    break;		/* outside region */
+	velocity_norm = norm(vel_x, vel_y, vel_z);
+
+	if (velocity_norm <= VELOCITY_EPSILON)
+	    break;		/* zero velocity means end of propagation */
+
+	/* convert to time */
+	delta_t = get_time_step(integration->unit, integration->step,
+				velocity_norm, integration->cell_size);
+
+	/* integrate */
+	min_step = get_time_step("cell", integration->min_step, velocity_norm,
+				 integration->cell_size);
+	max_step = get_time_step("cell", integration->max_step, velocity_norm,
+				 integration->cell_size);
+	delta_t *= (integration->actual_direction == FLOWDIR_UP ? 1 : -1);
+	if (rk45_integrate_next
+	    (region, gradient_info, point, new_point,
+	     &delta_t, &velocity, min_step, max_step,
+	     integration->max_error) < 0)
+	    break;
+
+	if (seed->flowline) {
+	    if (if_table) {
+		write_segment(flowline_vec, points, cats, new_point, cat);
+		if (gradient_info->compute_gradient)
+		    scalar_value = get_map_value(region, gradient_info->scalar_map,
+						 point[1], point[0], point[2]);
+		if (sampled_map)
+		    sampled_map_value = get_map_value(region, sampled_map,
+						      point[1], point[0], point[2]);
+		write_segment_db(finfo, driver, &sql, velocity, scalar_value,
+				 sampled_map_value, gradient_info->compute_gradient,
+				 sampled_map ? 1 : 0, *cat - 1);
+	    }
+	    else
+		Vect_append_point(points, point[0], point[1], point[2]);
+	}
+	if (seed->flowaccum) {
+	    Rast3d_location2coord(region, new_point[1], new_point[0],
+				  new_point[2], &col, &row, &depth);
+	    if (!(last_col == col && last_row == row && last_depth == depth)) {
+		value = Rast3d_get_float(flowacc, col, row, depth);
+		Rast3d_put_float(flowacc, col, row, depth, value + 1);
+		if (last_col >= 0) {
+		    coor_diff = (abs(last_col - col) + abs(last_row - row) +
+				 abs(last_depth - depth));
+		    /* if not run for the 1. time and previous and next point coordinates
+		       differ by more than 1 voxel coordinate */
+		    if (coor_diff > 1) {
+			traverse(region, point, new_point, &trav_coords, &size,
+				 &trav_count);
+			for (j = 0; j < trav_count; j++) {
+			    value =
+				Rast3d_get_float(flowacc,
+						 trav_coords[3 * j + 0],
+						 trav_coords[3 * j + 1],
+						 trav_coords[3 * j + 2]);
+			    Rast3d_put_float(flowacc, trav_coords[3 * j + 0],
+					     trav_coords[3 * j + 1],
+					     trav_coords[3 * j + 2],
+					     value + 1);
+			}
+		    }
+		}
+		last_col = col;
+		last_row = row;
+		last_depth = depth;
+	    }
+	}
+	for (i = 0; i < 3; i++) {
+	    point[i] = new_point[i];
+	}
+	count++;
+
+    }
+    if (seed->flowline) {
+	if (points->n_points > 1) {
+	    Vect_cat_set(cats, 1, *cat);
+	    (*cat)++;
+	    Vect_write_line(flowline_vec, GV_LINE, points, cats);
+	    G_debug(1, "Flowline ended after %d steps", count - 1);
+	}
+	Vect_reset_line(points);
+	Vect_reset_cats(cats);
+	db_free_string(&sql);
+    }
+    G_free(trav_coords);
+}
diff --git a/raster3d/r3.flow/flowline.h b/raster3d/r3.flow/flowline.h
new file mode 100644
index 0000000..b3e3c03
--- /dev/null
+++ b/raster3d/r3.flow/flowline.h
@@ -0,0 +1,18 @@
+#ifndef FLOWLINE_H
+#define FLOWLINE_H
+
+#include <grass/raster3d.h>
+#include <grass/vector.h>
+
+#include "r3flow_structs.h"
+
+static const double VELOCITY_EPSILON = 1e-8;
+
+void compute_flowline(RASTER3D_Region * region, const struct Seed *seed,
+		      struct Gradient_info *gradient_info,
+		      RASTER3D_Map * flowacc, RASTER3D_Map *sampled_map,
+		      struct Integration *integration,
+		      struct Map_info *flowline_vec, struct line_cats *cats,
+		      struct line_pnts *points, int *cat, int if_table,
+		      struct field_info *finfo, dbDriver *driver);
+#endif // FLOWLINE_H
diff --git a/raster3d/r3.flow/integrate.c b/raster3d/r3.flow/integrate.c
new file mode 100644
index 0000000..6a279d0
--- /dev/null
+++ b/raster3d/r3.flow/integrate.c
@@ -0,0 +1,227 @@
+/*!
+   \file integrate.c
+
+   \brief Flowline integration using Runge-Kutta 45 method
+   with adaptive step size control. Implementation based
+   on VTK class vtkRungeKutta45.
+
+   (C) 2014 by the GRASS Development Team
+
+   This program is free software under the GNU General Public
+   License (>=v2).  Read the file COPYING that comes with GRASS
+   for details.
+
+   \author Anna Petrasova
+ */
+
+#include <math.h>
+#include <float.h>
+#include <string.h>
+#include <grass/raster3d.h>
+
+#include "interpolate.h"
+#include "integrate.h"
+#include "r3flow_structs.h"
+
+/*!
+   \brief Computes vector norm.
+
+   \param x,y,z vector components
+
+   \return norm
+ */
+double norm(const double x, const double y, const double z)
+{
+    return sqrt(x * x + y * y + z * z);
+}
+
+/*!
+   \brief Converts integration step to time
+
+   \param unit type of unit
+   \param step step value
+   \param velocity velocity value
+   \param cell_size size of voxel diagonal
+
+   \return time step
+ */
+double get_time_step(const char *unit, const double step,
+		     const double velocity, const double cell_size)
+{
+    if (strcmp(unit, "time") == 0)
+	return step;
+    else if (strcmp(unit, "length") == 0)
+	return step / velocity;
+    else			/* cell */
+	return (step * cell_size) / velocity;
+}
+
+
+int get_velocity(RASTER3D_Region * region, struct Gradient_info *gradient_info,
+		 const double x, const double y, const double z,
+		 double *vel_x, double *vel_y, double *vel_z)
+{
+    if (gradient_info->compute_gradient)
+        return get_gradient(region, gradient_info, y, x, z, vel_x, vel_y, vel_z);
+
+    return interpolate_velocity(region, gradient_info->velocity_maps, y, x, z,
+				vel_x, vel_y, vel_z);
+}
+
+/*!
+   \brief Runge-Kutta45 (inner steps) 
+
+   \param region pointer to current 3D region
+   \param velocity_field pointer to array of 3 3D raster maps (velocity field)
+   \param point pointer to array of geographic coordinates of starting point
+   \param[out] next_point pointer to array of geographic coordinates of integrated point
+   \param delta_t integration time step
+   \param error pointer to array of error values
+
+   \return 0 success
+   \return -1 out of region or null values
+ */
+static int rk45_next(RASTER3D_Region * region, struct Gradient_info *gradient_info,
+		     const double *point, double *next_point,
+		     const double delta_t, double *velocity, double *error)
+{
+    double tmp1[6][3];		/* 3 is 3 dimensions, 6 is the number of k's */
+    double tmp_point[3];
+    double vel_x, vel_y, vel_z;
+    double sum_tmp;
+    int i, j, k;
+    double vel_sq;
+
+    if (get_velocity(region, gradient_info, point[0], point[1], point[2],
+		     &vel_x, &vel_y, &vel_z) < 0)
+	return -1;
+
+    tmp1[0][0] = vel_x;
+    tmp1[0][1] = vel_y;
+    tmp1[0][2] = vel_z;
+
+    /* compute k's */
+    for (i = 1; i < 6; i++) {
+	for (j = 0; j < 3; j++) {	/* for each coordinate */
+	    sum_tmp = 0;
+	    for (k = 0; k < i; k++) {	/* k1; k1, k2; ... */
+		sum_tmp += B[i - 1][k] * tmp1[k][j];
+	    }
+	    tmp_point[j] = point[j] + delta_t * sum_tmp;
+	}
+	if (get_velocity
+	    (region, gradient_info, tmp_point[0], tmp_point[1], tmp_point[2],
+	     &vel_x, &vel_y, &vel_z) < 0)
+	    return -1;
+
+	tmp1[i][0] = vel_x;
+	tmp1[i][1] = vel_y;
+	tmp1[i][2] = vel_z;
+    }
+
+    vel_sq = 0;
+    /* compute next point */
+    for (j = 0; j < 3; j++) {
+	sum_tmp = 0;
+	for (i = 0; i < 6; i++) {
+	    sum_tmp += C[i] * tmp1[i][j];
+	}
+	next_point[j] = point[j] + delta_t * sum_tmp;
+	vel_sq += sum_tmp * sum_tmp;
+    }
+    *velocity = sqrt(vel_sq);
+
+    if (!Rast3d_is_valid_location
+	(region, next_point[1], next_point[0], next_point[2]))
+	return -1;
+
+    /* compute error vector */
+    for (j = 0; j < 3; j++) {
+	sum_tmp = 0;
+	for (i = 0; i < 6; i++) {
+	    sum_tmp += DC[i] * tmp1[i][j];
+	}
+	error[j] = delta_t * sum_tmp;
+    }
+
+    return 0;
+}
+
+/*!
+   \brief Runge-Kutta45 with step size control 
+
+   \param region pointer to current 3D region
+   \param velocity_field pointer to array of 3 3D raster maps (velocity field)
+   \param point pointer to array of geographic coordinates of starting point
+   \param[out] next_point pointer to array of geographic coordinates of integrated point
+   \param[in,out] delta_t integration time step
+   \param min_step minimum time step
+   \param max_step maximum time step
+
+   \return 0 success
+   \return -1 out of region or null values
+ */
+int rk45_integrate_next(RASTER3D_Region * region,
+			struct Gradient_info *gradient_info, const double *point,
+			double *next_point, double *delta_t, double *velocity,
+			const double min_step, const double max_step,
+			const double max_error)
+{
+    double estimated_error;
+    double error_ratio;
+    double error[3];
+    double tmp, tmp2;
+    int do_break;
+
+    estimated_error = DBL_MAX;
+
+    /* check if min_step < delta_t < max_step */
+    if (fabs(*delta_t) < min_step)
+	*delta_t = min_step * (*delta_t > 0 ? 1 : -1);
+    else if (fabs(*delta_t) > max_step)
+	*delta_t = max_step * (*delta_t > 0 ? 1 : -1);
+
+    /* try to iteratively decrease error to less than max error */
+    while (estimated_error > max_error) {
+	/* compute next point and get estimated error */
+	if (rk45_next
+	    (region, gradient_info, point, next_point, *delta_t,
+	     velocity, error) == 0)
+	    estimated_error = norm(error[0], error[1], error[2]);
+	else
+	    return -1;
+
+	/* compute new step size (empirically) */
+	error_ratio = estimated_error / max_error;
+	if (error_ratio == 0.0)
+	    tmp = *delta_t > 0 ? min_step : -min_step;
+	else if (error_ratio > 1)
+	    tmp = 0.9 * *delta_t * pow(error_ratio, -0.25);
+	else
+	    tmp = 0.9 * *delta_t * pow(error_ratio, -0.2);
+	tmp2 = fabs(tmp);
+
+	do_break = FALSE;
+
+	/* adjust new step size to be within min max limits */
+	if (tmp2 > max_step) {
+	    *delta_t = max_step * (*delta_t > 0 ? 1 : -1);
+	    do_break = TRUE;
+	}
+	else if (tmp2 < min_step) {
+	    *delta_t = min_step * (*delta_t > 0 ? 1 : -1);
+	    do_break = TRUE;
+	}
+	else
+	    *delta_t = tmp;
+
+	/* break when the adjustment was needed (not sure why) */
+	if (do_break) {
+	    if (rk45_next(region, gradient_info, point, next_point,
+			  *delta_t, velocity, error) < 0)
+		return -1;
+	    break;
+	}
+    }
+    return 0;
+}
diff --git a/raster3d/r3.flow/integrate.h b/raster3d/r3.flow/integrate.h
new file mode 100644
index 0000000..9aad29e
--- /dev/null
+++ b/raster3d/r3.flow/integrate.h
@@ -0,0 +1,35 @@
+#ifndef INTEGRATE_H
+#define INTEGRATE_H
+
+#include <grass/raster3d.h>
+
+#include "r3flow_structs.h"
+
+/* Cash-Karp parameters */
+static const double B[5][5] = { {1. / 5, 0, 0, 0, 0},
+{3. / 40, 9. / 40, 0, 0, 0},
+{3. / 10, -9. / 10, 6. / 5, 0, 0},
+{-11. / 54, 5. / 2, -70. / 27, 35. / 27, 0},
+{1631. / 55296, 175. / 512, 575. / 13824,
+ 44275. / 110592, 253. / 4096}
+};
+static const double C[6] =
+    { 37. / 378, 0, 250. / 621, 125. / 594, 0, 512. / 1771 };
+static const double DC[6] = { 37. / 378 - 2825. / 27648, 0,
+    250. / 621 - 18575. / 48384, 125. / 594 - 13525. / 55296,
+    -277. / 14336, 512. / 1771 - 1. / 4
+};
+
+double norm(const double x, const double y, const double z);
+int get_velocity(RASTER3D_Region * region, struct Gradient_info *gradient_info,
+		 const double x, const double y, const double z,
+		 double *vel_x, double *vel_y, double *vel_z);
+double get_time_step(const char *unit, const double step,
+		     const double velocity, const double cell_size);
+int rk45_integrate_next(RASTER3D_Region * region,
+			struct Gradient_info *gradient_info, const double *point,
+			double *next_point, double *delta_t,
+			double *velocity, const double min_step,
+			const double max_step, const double max_error);
+
+#endif // INTEGRATE_H
diff --git a/raster3d/r3.flow/interpolate.c b/raster3d/r3.flow/interpolate.c
new file mode 100644
index 0000000..36a7a40
--- /dev/null
+++ b/raster3d/r3.flow/interpolate.c
@@ -0,0 +1,337 @@
+/*!
+   \file interpolate.c
+
+   \brief Trilinear interpolation
+
+   (C) 2014 by the GRASS Development Team
+
+   This program is free software under the GNU General Public
+   License (>=v2).  Read the file COPYING that comes with GRASS
+   for details.
+
+   \author Anna Petrasova
+ */
+
+#include <grass/gis.h>
+#include <grass/raster3d.h>
+
+#include "r3flow_structs.h"
+#include "interpolate.h"
+
+/*!
+   \brief Finds 8 nearest voxels from a point.
+
+   \param region pointer to current 3D region
+   \param north,east,top geographic coordinates
+   \param[out] x,y,z pointer to indices of neighbouring voxels
+ */
+static void find_nearest_voxels(RASTER3D_Region * region,
+				const double north, const double east,
+				const double top, int *x, int *y, int *z)
+{
+    double n_minus, e_minus, t_minus;
+    double n_plus, e_plus, t_plus;
+
+    n_minus = north - region->ns_res / 2;
+    n_plus = north + region->ns_res / 2;
+    e_minus = east - region->ew_res / 2;
+    e_plus = east + region->ew_res / 2;
+    t_minus = top - region->tb_res / 2;
+    t_plus = top + region->tb_res / 2;
+
+    Rast3d_location2coord(region, n_minus, e_minus, t_minus, x++, y++, z++);
+    Rast3d_location2coord(region, n_minus, e_plus, t_minus, x++, y++, z++);
+    Rast3d_location2coord(region, n_plus, e_minus, t_minus, x++, y++, z++);
+    Rast3d_location2coord(region, n_plus, e_plus, t_minus, x++, y++, z++);
+    Rast3d_location2coord(region, n_minus, e_minus, t_plus, x++, y++, z++);
+    Rast3d_location2coord(region, n_minus, e_plus, t_plus, x++, y++, z++);
+    Rast3d_location2coord(region, n_plus, e_minus, t_plus, x++, y++, z++);
+    Rast3d_location2coord(region, n_plus, e_plus, t_plus, x, y, z);
+}
+
+/*!
+   \brief Trilinear interpolation
+
+   Computation is based on the sum of values of nearest voxels
+   weighted by the relative distance of a point
+   to the center of the nearest voxels.
+
+   \param array_values pointer to values of 8 (neigboring) voxels
+   \param x,y,z relative coordinates (0 - 1)
+   \param[out] interpolated pointer to the array (of size 3) of interpolated values
+ */
+static void trilinear_interpolation(const double *array_values,
+				    const double x, const double y,
+				    const double z, double *interpolated)
+{
+    int i, j;
+    double rx, ry, rz, value;
+    double weights[8];
+
+    rx = 1 - x;
+    ry = 1 - y;
+    rz = 1 - z;
+    weights[0] = rx * ry * rz;
+    weights[1] = x * ry * rz;
+    weights[2] = rx * y * rz;
+    weights[3] = x * y * rz;
+    weights[4] = rx * ry * z;
+    weights[5] = x * ry * z;
+    weights[6] = rx * y * z;
+    weights[7] = x * y * z;
+
+
+    /* weighted sum of surrounding values */
+    for (i = 0; i < 3; i++) {
+	value = 0;
+	for (j = 0; j < 8; j++) {
+	    value += weights[j] * array_values[i * 8 + j];
+	}
+	interpolated[i] = value;
+    }
+}
+
+/*!
+   \brief Converts geographic to relative coordinates
+
+   Converts geographic to relative coordinates
+   which are needed for trilinear interpolation.
+
+
+   \param region pointer to current 3D region
+   \param north,east,top geographic coordinates
+   \param[out] x,y,z pointer to relative coordinates (0 - 1)
+ */
+static void get_relative_coords_for_interp(RASTER3D_Region * region,
+					   const double north,
+					   const double east,
+					   const double top, double *x,
+					   double *y, double *z)
+{
+    int col, row, depth;
+    double temp;
+
+    Rast3d_location2coord(region, north, east, top, &col, &row, &depth);
+
+    /* x */
+    temp = east - region->west - col * region->ew_res;
+    *x = (temp > region->ew_res / 2 ?
+	  temp - region->ew_res / 2 : temp + region->ew_res / 2)
+	/ region->ew_res;
+    /* y */
+    temp = north - region->south - (region->rows - row - 1) * region->ns_res;
+    *y = (temp > region->ns_res / 2 ?
+	  temp - region->ns_res / 2 : temp + region->ns_res / 2)
+	/ region->ns_res;
+    /* z */
+    temp = top - region->bottom - depth * region->tb_res;
+    *z = (temp > region->tb_res / 2 ?
+	  temp - region->tb_res / 2 : temp + region->tb_res / 2)
+	/ region->tb_res;
+}
+
+/*!
+   \brief Interpolates velocity at a given point.
+
+   \param region pointer to current 3D region
+   \param map pointer to array of 3 3D raster maps (velocity field)
+   \param north,east,top geographic coordinates
+   \param[out] vel_x,vel_y,vel_z interpolated velocity
+
+   \return 0 success
+   \return -1 out of region
+ */
+int interpolate_velocity(RASTER3D_Region * region, RASTER3D_Map ** map,
+			 const double north, const double east,
+			 const double top, double *vel_x, double *vel_y,
+			 double *vel_z)
+{
+    int i, j;
+    double values[24];		/* 3 x 8, 3 dimensions, 8 neighbors */
+    double value;
+    double interpolated[3];
+    int x[8], y[8], z[8];
+    double rel_x, rel_y, rel_z;
+    int type;
+
+    /* check if we are out of region, any array should work */
+    if (!Rast3d_is_valid_location(region, north, east, top))
+	return -1;
+
+    find_nearest_voxels(region, north, east, top, x, y, z);
+    /* get values of the nearest cells */
+    for (i = 0; i < 3; i++) {
+	type = Rast3d_tile_type_map(map[i]);
+	for (j = 0; j < 8; j++) {
+
+	    Rast3d_get_value_region(map[i], x[j], y[j], z[j], &value, type);
+	    if (Rast_is_null_value(&value, type))
+		values[i * 8 + j] = 0;
+	    else
+		values[i * 8 + j] = value;
+	}
+    }
+
+    /* compute weights */
+    get_relative_coords_for_interp(region, north, east, top,
+				   &rel_x, &rel_y, &rel_z);
+
+    trilinear_interpolation(values, rel_x, rel_y, rel_z, interpolated);
+    *vel_x = interpolated[0];
+    *vel_y = interpolated[1];
+    *vel_z = interpolated[2];
+
+    return 0;
+}
+/*!
+   \brief Computes gradient for a point.
+
+   \param region pointer to current 3D region
+   \param gradient_info struct which remembers values
+          related to gradient computation to avoid computation every time
+   \param north,east,top geographic coordinates
+   \param[out] vel_x,vel_y,vel_z interpolated gradient components
+
+   \return 0 success
+   \return -1 out of region
+ */
+int get_gradient(RASTER3D_Region * region,
+		 struct Gradient_info *gradient_info, const double north,
+		 const double east, const double top, double *vel_x, double *vel_y,
+		 double *vel_z)
+{
+
+    int i, d, r, c, count;
+    int near_x[8], near_y[8], near_z[8];
+    int minx, maxx, miny, maxy, minz, maxz;
+    int xshift, yshift, zshift;
+    double rel_x, rel_y, rel_z;
+    double scalar_map_array[64];
+    double grad_x_map_array[64], grad_y_map_array[64], grad_z_map_array[64];
+    RASTER3D_Array_double array;
+    RASTER3D_Array_double grad_x, grad_y, grad_z;
+    RASTER3D_Array_double *grad_xyz[3];
+    double step[3];
+    double interpolated[3];
+
+    step[0] = region->ew_res;
+    step[1] = region->ns_res;
+    step[2] = region->tb_res;
+
+    array.array = scalar_map_array;
+    array.sx = array.sy = array.sz = 4;
+    grad_x.array = grad_x_map_array;
+    grad_y.array = grad_y_map_array;
+    grad_z.array = grad_z_map_array;
+    grad_x.sx = grad_x.sy = grad_x.sz = 4;
+    grad_y.sx = grad_y.sy = grad_y.sz = 4;
+    grad_z.sx = grad_z.sy = grad_z.sz = 4;
+
+    find_nearest_voxels(region, north, east, top, near_x, near_y, near_z);
+    minx = near_x[0];
+    maxx = near_x[7];
+    miny = near_y[7];
+    maxy = near_y[0];
+    minz = near_z[0];
+    maxz = near_z[7];
+
+    /* position of x, y, z neighboring voxels */
+    if (!gradient_info->initialized ||
+	(gradient_info->neighbors_pos[0] != minx ||
+	 gradient_info->neighbors_pos[1] != miny ||
+	 gradient_info->neighbors_pos[2] != minz)) {
+
+	gradient_info->neighbors_pos[0] = minx;
+	gradient_info->neighbors_pos[1] = miny;
+	gradient_info->neighbors_pos[2] = minz;
+	gradient_info->initialized = TRUE;
+
+	/* just to be sure, we check that at least one voxel is inside */
+	if (maxx < 0 || minx >= region->cols ||
+	    maxy < 0 || miny >= region->rows ||
+	    maxz < 0 || minz >= region->depths)
+	    return -1;
+
+	/* these if's are here to handle edge cases
+	   min is changed to represent the min coords of the 4x4x4 array
+	   from which the gradient will be computed
+	   shift is relative position of the neighbors within this 4x4x4 array */
+	if (minx == 0 || minx == -1) {
+	    xshift = minx;
+	    minx = 0;
+	}
+	else if (maxx >= region->cols - 1) {
+	    minx = maxx < region->cols ? maxx - 3 : maxx - 4;
+	    xshift = maxx < region->cols ? 2 : 3;
+	}
+	else {
+	    minx -= 1;
+	    xshift = 1;
+	}
+
+	if (miny == 0 || miny == -1) {
+	    yshift = miny;
+	    miny = 0;
+	}
+	else if (maxy >= region->rows - 1) {
+	    miny = maxy < region->rows ? maxy - 3 : maxy - 4;
+	    yshift = maxy < region->rows ? 2 : 3;
+	}
+	else {
+	    miny -= 1;
+	    yshift = 1;
+	}
+
+	if (minz == 0 || minz == -1) {
+	    zshift = minz;
+	    minz = 0;
+	}
+	else if (maxz >= region->depths - 1) {
+	    minz = maxz < region->depths ? maxz - 3 : maxz - 4;
+	    zshift = maxz < region->depths ? 2 : 3;
+	}
+	else {
+	    minz -= 1;
+	    zshift = 1;
+	}
+
+	/* get the 4x4x4 block of the array */
+	Rast3d_get_block(gradient_info->scalar_map, minx, miny, minz,
+			 4, 4, 4, array.array, DCELL_TYPE);
+	Rast3d_gradient_double(&array, step, &grad_x, &grad_y, &grad_z);
+	grad_xyz[0] = &grad_x;
+	grad_xyz[1] = &grad_y;
+	grad_xyz[2] = &grad_z;
+	/* go through x, y, z and all 8 neighbors and store their value
+	   if the voxel is outside, add 0 (weight) */
+	for (i = 0; i < 3; i++) {
+	    count = 0;
+	    for (d = 0; d < 2; d++)
+		for (r = 1; r > -1; r--)
+		    for (c = 0; c < 2; c++) {
+			if (d + zshift < 0 || d + zshift > 3 ||
+			    r + yshift < 0 || r + yshift > 3 ||
+			    c + xshift < 0 || c + xshift > 3)
+			    gradient_info->neighbors_values[i * 8 + count] =
+				0;
+			else
+			    gradient_info->neighbors_values[i * 8 + count] =
+				RASTER3D_ARRAY_ACCESS(grad_xyz[i], c + xshift,
+						      r + yshift, d + zshift);
+			count++;
+		    }
+	}
+    }
+    get_relative_coords_for_interp(region, north, east, top, &rel_x, &rel_y, &rel_z);
+    trilinear_interpolation(gradient_info->neighbors_values,
+			    rel_x, rel_y, rel_z, interpolated);
+
+    *vel_x = interpolated[0];
+    *vel_y = interpolated[1];
+    *vel_z = interpolated[2];
+
+    return 0;
+
+
+
+}
diff --git a/raster3d/r3.flow/interpolate.h b/raster3d/r3.flow/interpolate.h
new file mode 100644
index 0000000..c9cfaab
--- /dev/null
+++ b/raster3d/r3.flow/interpolate.h
@@ -0,0 +1,16 @@
+#ifndef INTERPOLATE_H
+#define INTERPOLATE_H
+
+#include <grass/raster3d.h>
+
+#include "r3flow_structs.h"
+
+int interpolate_velocity(RASTER3D_Region * region, RASTER3D_Map ** map,
+			 const double north, const double east,
+			 const double top, double *vel_x, double *vel_y,
+			 double *vel_z);
+int get_gradient(RASTER3D_Region * region,
+		 struct Gradient_info *gradient_info, const double north,
+		 const double east, const double top, double *vel_x, double *vel_y,
+		 double *vel_z);
+#endif // INTERPOLATE_H
diff --git a/raster3d/r3.flow/main.c b/raster3d/r3.flow/main.c
new file mode 100644
index 0000000..a765fa2
--- /dev/null
+++ b/raster3d/r3.flow/main.c
@@ -0,0 +1,537 @@
+
+/****************************************************************************
+ * 
+ * MODULE:       r3.flow     
+ * AUTHOR(S):    Anna Petrasova kratochanna <at> gmail <dot> com
+ * PURPOSE:      Computes 3D flow lines and flow accumulation based on 3D raster map(s)
+ * COPYRIGHT:    (C) 2014 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the file COPYING that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <grass/raster3d.h>
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/vector.h>
+#include <grass/dbmi.h>
+#include <grass/glocale.h>
+
+#include "r3flow_structs.h"
+#include "flowline.h"
+
+static void create_table(struct Map_info *flowline_vec,
+			 struct field_info **f_info, dbDriver ** driver,
+			 int write_scalar, int use_sampled_map)
+{
+    dbString sql;
+    char buf[200];
+    dbDriver *drvr;
+    struct field_info *fi;
+
+    db_init_string(&sql);
+    fi = Vect_default_field_info(flowline_vec, 1, NULL, GV_1TABLE);
+    *f_info = fi;
+    Vect_map_add_dblink(flowline_vec, 1, NULL, fi->table, GV_KEY_COLUMN,
+			fi->database, fi->driver);
+    drvr = db_start_driver_open_database(fi->driver,
+					 Vect_subst_var(fi->database,
+							flowline_vec));
+    if (drvr == NULL) {
+	G_fatal_error(_("Unable to open database <%s> by driver <%s>"),
+		      Vect_subst_var(fi->database, flowline_vec), fi->driver);
+    }
+    db_set_error_handler_driver(drvr);
+
+    *driver = drvr;
+    sprintf(buf, "create table %s (cat integer, velocity double precision",
+	    fi->table);
+    db_set_string(&sql, buf);
+    if (write_scalar)
+	db_append_string(&sql, ", input double precision");
+    if (use_sampled_map)
+	db_append_string(&sql, ", sampled double precision");
+    db_append_string(&sql, ")");
+
+    db_begin_transaction(drvr);
+    /* Create table */
+    if (db_execute_immediate(drvr, &sql) != DB_OK) {
+	G_fatal_error(_("Unable to create table: %s"), db_get_string(&sql));
+    }
+    if (db_create_index2(drvr, fi->table, fi->key) != DB_OK)
+	G_warning(_("Unable to create index for table <%s>, key <%s>"),
+		  fi->table, fi->key);
+    /* Grant */
+    if (db_grant_on_table
+	(drvr, fi->table, DB_PRIV_SELECT, DB_GROUP | DB_PUBLIC) != DB_OK) {
+	G_fatal_error(_("Unable to grant privileges on table <%s>"),
+		      fi->table);
+    }
+}
+
+static void check_vector_input_maps(struct Option *vector_opt,
+				    struct Option *seed_opt)
+{
+    int i;
+
+    /* Check for velocity components maps. */
+    if (vector_opt->answers != NULL) {
+	for (i = 0; i < 3; i++) {
+	    if (vector_opt->answers[i] != NULL) {
+		if (NULL == G_find_raster3d(vector_opt->answers[i], ""))
+		    Rast3d_fatal_error(_("3D raster map <%s> not found"),
+				       vector_opt->answers[i]);
+	    }
+	    else {
+		Rast3d_fatal_error(_("Please provide three 3D raster maps"));
+	    }
+	}
+    }
+
+    if (seed_opt->answer != NULL) {
+	if (NULL == G_find_vector2(seed_opt->answer, ""))
+	    G_fatal_error(_("Vector seed map <%s> not found"),
+			  seed_opt->answer);
+    }
+
+}
+
+static void load_input_raster3d_maps(struct Option *scalar_opt,
+				     struct Option *vector_opt,
+				     struct Gradient_info *gradient_info,
+				     RASTER3D_Region * region)
+{
+    int i;
+
+    if (scalar_opt->answer) {
+	gradient_info->scalar_map =
+	    Rast3d_open_cell_old(scalar_opt->answer,
+				 G_find_raster3d(scalar_opt->answer, ""),
+				 region, RASTER3D_TILE_SAME_AS_FILE,
+				 RASTER3D_USE_CACHE_DEFAULT);
+	if (!gradient_info->scalar_map)
+	    Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),
+			       scalar_opt->answer);
+	gradient_info->compute_gradient = TRUE;
+    }
+    else {
+	for (i = 0; i < 3; i++) {
+	    gradient_info->velocity_maps[i] =
+		Rast3d_open_cell_old(vector_opt->answers[i],
+				     G_find_raster3d(vector_opt->answers[i],
+						     ""), region,
+				     RASTER3D_TILE_SAME_AS_FILE,
+				     RASTER3D_USE_CACHE_DEFAULT);
+
+	    if (!gradient_info->velocity_maps[i])
+		Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),
+				   vector_opt->answers[i]);
+	}
+	gradient_info->compute_gradient = FALSE;
+    }
+}
+
+static void init_flowaccum(RASTER3D_Region * region, RASTER3D_Map * flowacc)
+{
+    int c, r, d;
+
+    for (d = 0; d < region->depths; d++)
+	for (r = 0; r < region->rows; r++)
+	    for (c = 0; c < region->cols; c++)
+		if (Rast3d_put_float(flowacc, c, r, d, 0) != 1)
+		    Rast3d_fatal_error(_("init_flowaccum: error in Rast3d_put_float"));
+}
+
+int main(int argc, char *argv[])
+{
+    struct Option *vector_opt, *seed_opt, *flowlines_opt, *flowacc_opt, *sampled_opt,
+	*scalar_opt, *unit_opt, *step_opt, *limit_opt, *skip_opt, *dir_opt,
+	*error_opt;
+    struct Flag *table_fl;
+    struct GModule *module;
+    RASTER3D_Region region;
+    RASTER3D_Map *flowacc, *sampled;
+    struct Integration integration;
+    struct Seed seed;
+    struct Gradient_info gradient_info;
+    struct Map_info seed_Map;
+    struct line_pnts *seed_points;
+    struct line_cats *seed_cats;
+    struct Map_info fl_map;
+    struct line_cats *fl_cats;	/* for flowlines */
+    struct line_pnts *fl_points;	/* for flowlines */
+    struct field_info *finfo;
+    dbDriver *driver;
+    int cat;			/* cat of flowlines */
+    int if_table;
+    int i, r, c, d;
+    char *desc;
+    int n_seeds, seed_count, ltype;
+    int skip[3];
+
+    G_gisinit(argv[0]);
+    module = G_define_module();
+    G_add_keyword(_("raster3d"));
+    G_add_keyword(_("hydrology"));
+    G_add_keyword(_("voxel"));
+    module->description =
+	_("Computes 3D flow lines and 3D flow accumulation.");
+
+
+    scalar_opt = G_define_standard_option(G_OPT_R3_INPUT);
+    scalar_opt->required = NO;
+    scalar_opt->guisection = _("Input");
+
+    vector_opt = G_define_standard_option(G_OPT_R3_INPUTS);
+    vector_opt->key = "vector_field";
+    vector_opt->required = NO;
+    vector_opt->description = _("Names of three 3D raster maps describing "
+				"x, y, z components of vector field");
+    vector_opt->guisection = _("Input");
+
+    seed_opt = G_define_standard_option(G_OPT_V_INPUT);
+    seed_opt->required = NO;
+    seed_opt->key = "seed_points";
+    seed_opt->description = _("If no map is provided, "
+			      "flow lines are generated "
+			      "from each cell of the input 3D raster");
+    seed_opt->label = _("Name of vector map with points "
+			"from which flow lines are generated");
+    seed_opt->guisection = _("Input");
+
+    flowlines_opt = G_define_standard_option(G_OPT_V_OUTPUT);
+    flowlines_opt->key = "flowline";
+    flowlines_opt->required = NO;
+    flowlines_opt->description = _("Name for vector map of flow lines");
+    flowlines_opt->guisection = _("Output");
+
+    flowacc_opt = G_define_standard_option(G_OPT_R3_OUTPUT);
+    flowacc_opt->key = "flowaccumulation";
+    flowacc_opt->required = NO;
+    flowacc_opt->description =
+	_("Name for output flowaccumulation 3D raster");
+    flowacc_opt->guisection = _("Output");
+
+    sampled_opt = G_define_standard_option(G_OPT_R3_INPUT);
+    sampled_opt->key = "sampled";
+    sampled_opt->required = NO;
+    sampled_opt->label =
+            _("Name for 3D raster sampled by flowlines");
+    sampled_opt->description =
+            _("Values of this 3D raster will be stored "
+              "as attributes of flowlines segments");
+
+    unit_opt = G_define_option();
+    unit_opt->key = "unit";
+    unit_opt->type = TYPE_STRING;
+    unit_opt->required = NO;
+    unit_opt->answer = "cell";
+    unit_opt->options = "time,length,cell";
+    desc = NULL;
+    G_asprintf(&desc,
+	       "time;%s;"
+	       "length;%s;"
+	       "cell;%s",
+	       _("elapsed time"),
+	       _("length in map units"), _("length in cells (voxels)"));
+    unit_opt->descriptions = desc;
+    unit_opt->label = _("Unit of integration step");
+    unit_opt->description = _("Default unit is cell");
+    unit_opt->guisection = _("Integration");
+
+    step_opt = G_define_option();
+    step_opt->key = "step";
+    step_opt->type = TYPE_DOUBLE;
+    step_opt->required = NO;
+    step_opt->answer = "0.25";
+    step_opt->label = _("Integration step in selected unit");
+    step_opt->description = _("Default step is 0.25 cell");
+    step_opt->guisection = _("Integration");
+
+    limit_opt = G_define_option();
+    limit_opt->key = "limit";
+    limit_opt->type = TYPE_INTEGER;
+    limit_opt->required = NO;
+    limit_opt->answer = "2000";
+    limit_opt->description = _("Maximum number of steps");
+    limit_opt->guisection = _("Integration");
+
+    error_opt = G_define_option();
+    error_opt->key = "max_error";
+    error_opt->type = TYPE_DOUBLE;
+    error_opt->required = NO;
+    error_opt->answer = "1e-5";
+    error_opt->label = _("Maximum error of integration");
+    error_opt->description = _("Influences step, increase maximum error "
+			       "to allow bigger steps");
+    error_opt->guisection = _("Integration");
+
+    skip_opt = G_define_option();
+    skip_opt->key = "skip";
+    skip_opt->type = TYPE_INTEGER;
+    skip_opt->required = NO;
+    skip_opt->multiple = YES;
+    skip_opt->description =
+	_("Number of cells between flow lines in x, y and z direction");
+
+    dir_opt = G_define_option();
+    dir_opt->key = "direction";
+    dir_opt->type = TYPE_STRING;
+    dir_opt->required = NO;
+    dir_opt->multiple = NO;
+    dir_opt->options = "up,down,both";
+    dir_opt->answer = "down";
+    dir_opt->description = _("Compute flowlines upstream, "
+			     "downstream or in both direction.");
+
+    table_fl = G_define_flag();
+    table_fl->key = 'a';
+    table_fl->description = _("Create and fill attribute table");
+
+    G_option_required(scalar_opt, vector_opt, NULL);
+    G_option_exclusive(scalar_opt, vector_opt, NULL);
+    G_option_required(flowlines_opt, flowacc_opt, NULL);
+    G_option_requires(seed_opt, flowlines_opt, NULL);
+    G_option_requires(table_fl, flowlines_opt, NULL);
+    G_option_requires(sampled_opt, table_fl, NULL);
+
+    if (G_parser(argc, argv))
+	exit(EXIT_FAILURE);
+
+    driver = NULL;
+    finfo = NULL;
+
+    if_table = table_fl->answer ? TRUE : FALSE;
+
+    check_vector_input_maps(vector_opt, seed_opt);
+
+    Rast3d_init_defaults();
+    Rast3d_get_window(&region);
+
+    /* set up integration variables */
+    if (step_opt->answer) {
+	integration.step = atof(step_opt->answer);
+	integration.unit = unit_opt->answer;
+    }
+    else {
+	integration.unit = "cell";
+	integration.step = 0.25;
+    }
+    integration.max_error = atof(error_opt->answer);
+    integration.max_step = 5 * integration.step;
+    integration.min_step = integration.step / 5;
+    integration.limit = atof(limit_opt->answer);
+    if (strcmp(dir_opt->answer, "up") == 0)
+	integration.direction_type = FLOWDIR_UP;
+    else if (strcmp(dir_opt->answer, "down") == 0)
+	integration.direction_type = FLOWDIR_DOWN;
+    else
+	integration.direction_type = FLOWDIR_BOTH;
+
+
+    /* cell size is the diagonal */
+    integration.cell_size = sqrt(region.ns_res * region.ns_res +
+				 region.ew_res * region.ew_res +
+				 region.tb_res * region.tb_res);
+
+    /* set default skip if needed */
+    if (skip_opt->answers) {
+	for (i = 0; i < 3; i++) {
+	    if (skip_opt->answers[i] != NULL) {
+		skip[i] = atoi(skip_opt->answers[i]);
+	    }
+	    else {
+		G_fatal_error(_("Please provide 3 integer values for skip option."));
+	    }
+	}
+    }
+    else {
+	skip[0] = fmax(1, region.cols / 10);
+	skip[1] = fmax(1, region.rows / 10);
+	skip[2] = fmax(1, region.depths / 10);
+
+    }
+
+    /* open raster 3D maps of velocity components */
+    gradient_info.initialized = FALSE;
+    load_input_raster3d_maps(scalar_opt, vector_opt, &gradient_info, &region);
+
+
+    /* open new 3D raster map of flowacumulation */
+    if (flowacc_opt->answer) {
+	flowacc = Rast3d_open_new_opt_tile_size(flowacc_opt->answer,
+						RASTER3D_USE_CACHE_DEFAULT,
+						&region, FCELL_TYPE, 32);
+
+
+	if (!flowacc)
+	    Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),
+			       flowacc_opt->answer);
+	init_flowaccum(&region, flowacc);
+    }
+
+    /* open 3D raster map used for sampling */
+    if (sampled_opt->answer) {
+	sampled = Rast3d_open_cell_old(sampled_opt->answer,
+				       G_find_raster3d(sampled_opt->answer, ""),
+				       &region, RASTER3D_TILE_SAME_AS_FILE,
+				       RASTER3D_USE_CACHE_DEFAULT);
+	if (!sampled)
+	    Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),
+			       sampled_opt->answer);
+    }
+    else
+	sampled = NULL;
+
+    /* open new vector map of flowlines */
+    if (flowlines_opt->answer) {
+	fl_cats = Vect_new_cats_struct();
+	fl_points = Vect_new_line_struct();
+	if (Vect_open_new(&fl_map, flowlines_opt->answer, TRUE) < 0)
+	    G_fatal_error(_("Unable to create vector map <%s>"),
+			  flowlines_opt->answer);
+
+	Vect_hist_command(&fl_map);
+
+	if (if_table) {
+	    create_table(&fl_map, &finfo, &driver,
+			 gradient_info.compute_gradient, sampled ? 1 : 0);
+	}
+    }
+
+    n_seeds = 0;
+    /* open vector map of seeds */
+    if (seed_opt->answer) {
+	if (Vect_open_old2(&seed_Map, seed_opt->answer, "", "1") < 0)
+	    G_fatal_error(_("Unable to open vector map <%s>"),
+			  seed_opt->answer);
+	if (!Vect_is_3d(&seed_Map))
+	    G_fatal_error(_("Vector map <%s> is not 3D"), seed_opt->answer);
+
+	n_seeds = Vect_get_num_primitives(&seed_Map, GV_POINT);
+    }
+    if (flowacc_opt->answer || (!seed_opt->answer && flowlines_opt->answer)) {
+	if (flowacc_opt->answer)
+	    n_seeds += region.cols * region.rows * region.depths;
+	else {
+	    n_seeds += ceil(region.cols / (double)skip[0]) *
+		ceil(region.rows / (double)skip[1]) *
+		ceil(region.depths / (double)skip[2]);
+	}
+    }
+    G_debug(1, "Number of seeds is %d", n_seeds);
+
+    seed_count = 0;
+    cat = 1;
+    if (seed_opt->answer) {
+
+	seed_points = Vect_new_line_struct();
+	seed_cats = Vect_new_cats_struct();
+
+	/* compute flowlines from vector seed map */
+	while (TRUE) {
+	    ltype = Vect_read_next_line(&seed_Map, seed_points, seed_cats);
+	    if (ltype == -1) {
+		Vect_close(&seed_Map);
+		G_fatal_error(_("Error during reading seed vector map"));
+	    }
+	    else if (ltype == -2) {
+		break;
+	    }
+	    else if (ltype == GV_POINT) {
+		seed.x = seed_points->x[0];
+		seed.y = seed_points->y[0];
+		seed.z = seed_points->z[0];
+		seed.flowline = TRUE;
+		seed.flowaccum = FALSE;
+	    }
+	    G_percent(seed_count, n_seeds, 1);
+	    if (integration.direction_type == FLOWDIR_UP ||
+		integration.direction_type == FLOWDIR_BOTH) {
+		integration.actual_direction = FLOWDIR_UP;
+		compute_flowline(&region, &seed, &gradient_info, flowacc, sampled,
+				 &integration, &fl_map, fl_cats, fl_points,
+				 &cat, if_table, finfo, driver);
+	    }
+	    if (integration.direction_type == FLOWDIR_DOWN ||
+		integration.direction_type == FLOWDIR_BOTH) {
+		integration.actual_direction = FLOWDIR_DOWN;
+		compute_flowline(&region, &seed, &gradient_info, flowacc, sampled,
+				 &integration, &fl_map, fl_cats, fl_points,
+				 &cat, if_table, finfo, driver);
+	    }
+	    seed_count++;
+	}
+
+	Vect_destroy_line_struct(seed_points);
+	Vect_destroy_cats_struct(seed_cats);
+	Vect_close(&seed_Map);
+    }
+    if (flowacc_opt->answer || (!seed_opt->answer && flowlines_opt->answer)) {
+	/* compute flowlines from points on grid */
+	for (r = region.rows; r > 0; r--) {
+	    for (c = 0; c < region.cols; c++) {
+		for (d = 0; d < region.depths; d++) {
+		    seed.x =
+			region.west + c * region.ew_res + region.ew_res / 2;
+		    seed.y =
+			region.south + r * region.ns_res - region.ns_res / 2;
+		    seed.z =
+			region.bottom + d * region.tb_res + region.tb_res / 2;
+		    seed.flowline = FALSE;
+		    seed.flowaccum = FALSE;
+		    if (flowacc_opt->answer)
+			seed.flowaccum = TRUE;
+
+		    if (flowlines_opt->answer && !seed_opt->answer &&
+		       (c % skip[0] == 0) && (r % skip[1] == 0) && (d % skip[2] == 0))
+			seed.flowline = TRUE;
+
+		    if (seed.flowaccum || seed.flowline) {
+			G_percent(seed_count, n_seeds, 1);
+
+			if (integration.direction_type == FLOWDIR_UP ||
+			    integration.direction_type == FLOWDIR_BOTH) {
+			    integration.actual_direction = FLOWDIR_UP;
+			    compute_flowline(&region, &seed, &gradient_info,
+					     flowacc, sampled, &integration, &fl_map,
+					     fl_cats, fl_points, &cat,
+					     if_table, finfo, driver);
+			}
+			if (integration.direction_type == FLOWDIR_DOWN ||
+			    integration.direction_type == FLOWDIR_BOTH) {
+			    integration.actual_direction = FLOWDIR_DOWN;
+			    compute_flowline(&region, &seed, &gradient_info,
+					     flowacc, sampled, &integration, &fl_map,
+					     fl_cats, fl_points, &cat,
+					     if_table, finfo, driver);
+			}
+			seed_count++;
+		    }
+		}
+	    }
+	}
+    }
+    G_percent(1, 1, 1);
+    if (flowlines_opt->answer) {
+	if (if_table) {
+	    db_commit_transaction(driver);
+	    db_close_database_shutdown_driver(driver);
+	}
+	Vect_destroy_line_struct(fl_points);
+	Vect_destroy_cats_struct(fl_cats);
+	Vect_build(&fl_map);
+	Vect_close(&fl_map);
+    }
+
+    if (flowacc_opt->answer)
+	Rast3d_close(flowacc);
+
+
+    return EXIT_SUCCESS;
+}
diff --git a/raster3d/r3.flow/r3.flow.html b/raster3d/r3.flow/r3.flow.html
new file mode 100644
index 0000000..081d006
--- /dev/null
+++ b/raster3d/r3.flow/r3.flow.html
@@ -0,0 +1,100 @@
+<h2>DESCRIPTION</h2>
+
+Module <em>r3.flow</em> computes 3D flow lines and 3D flow accumulation.
+It accepts either three 3D raster maps representing the vector field or one 3D raster map.
+In case of one map, it computes on-the-fly gradient field.
+
+<h3>Flow lines</h3>
+
+Flow lines are computed either from points (seeds) provided in <b>seed_points</b> vector map,
+or if there are no seeds, it creates seeds in a regular grid in the center of voxels (3D raster cells).
+Parameter <b>skip</b> then controls the step between the regularly distributed seeds.
+If skip is not provided, r3.flow decides optimal skip for each dimension based on current 3D region
+as one tenth of the number of columns, rows, and depths.
+Flow lines can be computed in upstream direction (in the direction of gradient or vector field),
+in downstream direction or in both directions.
+
+<h3>Flow accumulation</h3>
+Flow accumulation is computed as the number of flow lines traversing each voxel.
+Since the flow lines are computed for each voxel, the flow accumulation computation
+can be more demanding.
+Parameter skip does not influence the flow accumulation computation, parameter direction does.
+
+<h3>Flow line integration</h3>
+Flow line integration can be influenced by several parameters.
+Option <b>step</b> controls the integration step and influences the precision and computational time.
+The unit of step can be defined either in terms of the size of the voxel (3D raster cell),
+length in map units, or as elapsed time. 
+Option <b>limit</b> specifies the maximum number of steps of each flow line.
+
+<h3>Attributes</h3>
+Without using flag <b>a</b>, no attribute table is created and each flow line
+is represented by one vector line with one category. With <b>a</b> flag, an attribute table is created
+and each category (record) represents one segment of a flowline, so that attributes
+specific for segments can be written. In case of <b>vector_field</b> input, only velocity is written,
+in case of <b>input</b> option, also values of the input 3D raster are written.
+Option <b>sampled</b> allows sampling (query) given 3D raster by flow lines (computed from different 3D raster) and
+write the values of the given 3D raster as attributes of the flow line segments.
+Note that using <b>a</b> flag results in longer computation time, so consider increasing
+<b>step</b> and <b>max_error</b> parameter.
+
+<h2>NOTES</h2>
+r3.flow uses Runge-Kutta with adaptive step size
+(<a href="http://en.wikipedia.org/wiki/Cash-Karp_method">Cash-Karp method</a>).
+
+<h2>EXAMPLES</h2>
+First we create input data using
+<a href="http://grass.osgeo.org/grass71/manuals/r3.gwflow.html#example-1">example 1</a> from
+<a href="http://grass.osgeo.org/grass71/manuals/r3.gwflow.html">r3.gwflow manual page</a>:
+
+<div class="code"><pre>
+# set the region accordingly
+g.region res=25 res3=25 t=100 b=0 n=1000 s=0 w=0 e=1000 -p3
+
+# now create the input raster maps for a confined aquifer
+r3.mapcalc expression="phead = if(row() == 1 && depth() == 4, 50, 40)"
+r3.mapcalc expression="status = if(row() == 1 && depth() == 4, 2, 1)"
+r3.mapcalc expression="well = if(row() == 20 && col() == 20 && depth() == 2, -0.25, 0)"
+r3.mapcalc expression="hydcond = 0.00025"
+r3.mapcalc expression="syield = 0.0001"
+r.mapcalc  expression="recharge = 0.0"
+
+r3.gwflow solver=cg phead=phead status=status hc_x=hydcond hc_y=hydcond  \
+   hc_z=hydcond q=well s=syield r=recharge output=gwresult dt=8640000 vx=vx vy=vy vz=vz budget=budget
+</pre></div>
+
+Then we compute flow lines in both directions and downstream flowaccumulation.
+
+<div class="code"><pre>
+r3.flow vector_field=vx,vy,vz flowline=gw_flowlines skip=5,5,2 direction=both
+r3.flow vector_field=vx,vy,vz flowaccumulation=gw_flowacc
+</pre></div>
+
+We can visualize the result in 3D view:
+<p>
+<img src="r3flow_flowlines.png">
+
+<p>
+We can store velocity values (and values of the input 3D raster map if we use option <b>input</b>) for each segment of flow line
+in an attribute table.
+<div class="code"><pre>
+r3.flow -a vector_field=vx,vy,vz flowline=gw_flowlines skip=5,5,2 direction=both
+v.colors map=flowlines_color at user1 use=attr column=velocity color=bcyr
+</pre></div>
+
+Again, we visualize the result in 3D view and we check 'use color for thematic rendering' on 3D view vector page.
+<p>
+<img src="r3flow_flowlines_color.png">
+
+<h2>SEE ALSO</h2>
+<em>
+<a href="http://grass.osgeo.org/grass71/manuals/r.flow.html">r.flow</a>,
+<a href="http://grass.osgeo.org/grass71/manuals/r3.gradient.html">r3.gradient</a>,
+<a href="http://grass.osgeo.org/grass71/manuals/r3.gwflow.html">r3.gwflow</a>
+</em>
+
+<h2>AUTHORS</h2>
+Anna Petrasova, <a href="http://geospatial.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>, developed during GSoC 2014.
+
+<p>
+<i>Last changed: $Date: 2015-07-11 07:01:46 -0700 (Sat, 11 Jul 2015) $</i>
diff --git a/raster3d/r3.flow/r3flow_flowlines.png b/raster3d/r3.flow/r3flow_flowlines.png
new file mode 100644
index 0000000..63e96c5
Binary files /dev/null and b/raster3d/r3.flow/r3flow_flowlines.png differ
diff --git a/raster3d/r3.flow/r3flow_flowlines_color.png b/raster3d/r3.flow/r3flow_flowlines_color.png
new file mode 100644
index 0000000..e618d89
Binary files /dev/null and b/raster3d/r3.flow/r3flow_flowlines_color.png differ
diff --git a/raster3d/r3.flow/r3flow_structs.h b/raster3d/r3.flow/r3flow_structs.h
new file mode 100644
index 0000000..07d457a
--- /dev/null
+++ b/raster3d/r3.flow/r3flow_structs.h
@@ -0,0 +1,40 @@
+#ifndef R3FLOW_STRUCTS_H
+#define R3FLOW_STRUCTS_H
+
+#include <grass/raster3d.h>
+
+struct Seed
+{
+    double x;
+    double y;
+    double z;
+    int flowline;
+    int flowaccum;
+};
+
+enum flowdir {FLOWDIR_UP, FLOWDIR_DOWN, FLOWDIR_BOTH};
+
+struct Integration
+{
+    enum flowdir direction_type;
+    enum flowdir actual_direction;
+    char *unit;
+    double step;
+    double cell_size;
+    int limit;
+    double max_error;
+    double max_step;
+    double min_step;
+};
+
+struct Gradient_info
+{
+    int compute_gradient;
+    RASTER3D_Map *velocity_maps[3];
+    RASTER3D_Map *scalar_map;
+    double neighbors_values[24];
+    int neighbors_pos[3];
+    int initialized;
+};
+
+#endif // R3FLOW_STRUCTS_H
diff --git a/raster3d/r3.flow/test.r3flow.html b/raster3d/r3.flow/test.r3flow.html
new file mode 100644
index 0000000..daed8b6
--- /dev/null
+++ b/raster3d/r3.flow/test.r3flow.html
@@ -0,0 +1,14 @@
+<h2>DESCRIPTION</h2>
+Testing module for <em>r3.flow</em>.
+
+
+<h2>AUTHORS</h2>
+Anna Petrasova
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="r3.flow.html">r3.flow</a>
+</em>
+
+<p><i>Last changed: $Date: 2014-08-14 08:34:43 -0700 (Thu, 14 Aug 2014) $</i>
diff --git a/raster3d/r3.flow/test_main.c b/raster3d/r3.flow/test_main.c
new file mode 100644
index 0000000..5cad97f
--- /dev/null
+++ b/raster3d/r3.flow/test_main.c
@@ -0,0 +1,105 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <grass/raster3d.h>
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/vector.h>
+#include <grass/glocale.h>
+
+#include "r3flow_structs.h"
+#include "flowline.h"
+#include "interpolate.h"
+
+static void test_interpolation(RASTER3D_Region * region,
+			       RASTER3D_Map ** input_maps, double north,
+			       double east, double top)
+{
+    double interpolated[3];
+
+    if (interpolate_velocity(region, input_maps, north, east, top,
+			     &interpolated[0], &interpolated[1],
+			     &interpolated[2]) < 0) {
+	fprintf(stdout, "return=-1\n");
+    }
+    else
+	fprintf(stdout, "return=0\nvalues=%.10f,%.10f,%.10f\n",
+		interpolated[0], interpolated[1], interpolated[2]);
+
+}
+
+int main(int argc, char *argv[])
+{
+    int i;
+    struct GModule *module;
+    struct Option *test_opt, *coordinates_opt, *input_opt;
+    RASTER3D_Region region;
+    RASTER3D_Map *input_3drasters[3];
+    double coordinates[3];
+
+    G_gisinit(argv[0]);
+    module = G_define_module();
+    G_add_keyword(_("raster3d"));
+    G_add_keyword(_("hydrology"));
+    G_add_keyword(_("voxel"));
+    module->description = _("Testing flow lines.");
+
+    test_opt = G_define_option();
+    test_opt->key = "test";
+    test_opt->required = YES;
+    test_opt->type = TYPE_STRING;
+    test_opt->options = "interpolation,gradient";
+    test_opt->description = "Select what is tested";
+
+    coordinates_opt = G_define_option();
+    coordinates_opt->key = "coordinates";
+    coordinates_opt->required = NO;
+    coordinates_opt->type = TYPE_DOUBLE;
+    coordinates_opt->multiple = YES;
+    coordinates_opt->description = "x,y,z coordinates";
+
+    input_opt = G_define_standard_option(G_OPT_R3_INPUTS);
+    input_opt->required = NO;
+
+    if (G_parser(argc, argv))
+	exit(EXIT_FAILURE);
+
+    Rast3d_init_defaults();
+    Rast3d_get_window(&region);
+
+    if (strcmp(test_opt->answer, "interpolation") == 0) {
+
+
+	if (input_opt->answers) {
+	    for (i = 0; i < 3; i++) {
+		input_3drasters[i] =
+		    Rast3d_open_cell_old(input_opt->answers[i],
+					 G_find_raster3d(input_opt->
+							 answers[i], ""),
+					 &region, RASTER3D_TILE_SAME_AS_FILE,
+					 RASTER3D_USE_CACHE_DEFAULT);
+		if (input_3drasters[i] == NULL)
+		    Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),
+				       input_opt->answers[i]);
+	    }
+	}
+	else
+	    G_fatal_error("No input map for interpolation test");
+	if (coordinates_opt->answers) {
+	    for (i = 0; i < 3; i++) {
+		if (coordinates_opt->answers[i]) {
+		    coordinates[i] = atof(coordinates_opt->answers[i]);
+		}
+		else
+		    G_fatal_error("Provide 3 coordinates");
+	    }
+	}
+	else
+	    G_fatal_error("No coordinates for interpolation test");
+	test_interpolation(&region, input_3drasters, coordinates[1],
+			   coordinates[0], coordinates[2]);
+    }
+
+    return EXIT_SUCCESS;
+}
diff --git a/raster3d/r3.flow/testsuite/data/flowline.ascii b/raster3d/r3.flow/testsuite/data/flowline.ascii
new file mode 100644
index 0000000..80509b8
--- /dev/null
+++ b/raster3d/r3.flow/testsuite/data/flowline.ascii
@@ -0,0 +1,220 @@
+ORGANIZATION: 
+DIGIT DATE:   
+DIGIT NAME:   anna
+MAP NAME:     
+MAP DATE:     Thu Aug  7 14:07:09 2014
+MAP SCALE:    1
+OTHER INFO:   
+ZONE:         0
+MAP THRESH:   0.000000
+VERTI:
+L  29 1
+ 84.806094    35.197336    39.43322    
+ 84.806094    35.197336    39.43322    
+ 81.397053    37.087846    37.746534   
+ 77.990596    38.976923    36.061127   
+ 74.586931    40.864452    34.377101   
+ 71.186292    42.750303    32.694572   
+ 67.78894     44.634331    31.013669   
+ 64.395174    46.516369    29.334541   
+ 61.005337    48.39623     27.657357   
+ 57.619819    50.273695    25.982309   
+ 54.239073    52.148514    24.309623   
+ 50.863626    54.020394    22.639558   
+ 47.494096    55.888993    20.972421   
+ 44.131215    57.753905    19.308574   
+ 40.775859    59.614643    17.64845    
+ 37.429084    61.470623    15.992571   
+ 34.092185    63.321127    14.341579   
+ 30.766765    65.165264    12.696266   
+ 27.454848    67.001913    11.057634   
+ 24.159033    68.829633    9.426969    
+ 20.882729    70.646532    7.805957    
+ 17.63053     72.450064    6.196872    
+ 16.2203      73.232118    5.499135    
+ 15.524693    73.617873    5.15497     
+ 14.844693    73.994972    4.816822    
+ 13.957167    74.487156    4.359276    
+ 13.294472    74.854659    4.003445    
+ 12.641464    75.219149    3.639976    
+ 10.056633    76.803483    2.055642    
+ 1     1         
+L  11 1
+ 14.429159    56.869515    22.42339    
+ 14.429159    56.869515    22.42339    
+ 12.601355    59.515898    19.843526   
+ 10.782742    62.148975    17.276635   
+ 8.975302     64.765875    14.725514   
+ 7.181717     67.362715    12.193949   
+ 5.405736     69.934067    9.687231    
+ 5.028815     70.479791    9.155225    
+ 4.652154     71.016388    8.632116    
+ 2.867253     73.302256    6.403706    
+ 2.265763     73.985122    5.738005    
+ 1     2         
+L  3 1
+ 29.06094     78.060291    39.317079   
+ 29.06094     78.060291    39.317079   
+ 26.687827    78.782477    36.229394   
+ 1     3         
+L  15 1
+ 64.955248    50.766146    12.023014   
+ 64.955248    50.766146    12.023014   
+ 61.256917    52.57599     11.123057   
+ 57.564137    54.383119    10.22445    
+ 53.877539    56.187221    9.327348    
+ 50.197872    57.987932    8.431932    
+ 46.526023    59.784817    7.538419    
+ 42.863063    61.577353    6.647069    
+ 39.210293    63.364901    5.758198    
+ 38.018565    63.948095    5.468202    
+ 36.824201    64.532578    5.177563    
+ 36.071128    64.901108    4.994309    
+ 32.597809    66.600839    4.110713    
+ 29.181582    68.272631    3.158125    
+ 25.83767     69.909033    2.128626    
+ 1     4         
+L  25 1
+ 75.476779    18.36009     29.362122   
+ 75.476779    18.36009     29.362122   
+ 72.370137    20.932588    28.035642   
+ 69.265932    23.503067    26.710203   
+ 66.164365    26.071363    25.38589    
+ 63.065658    28.63729     24.062799   
+ 59.970067    31.200637    22.741038   
+ 56.877879    33.761166    21.42073    
+ 53.789424    36.318604    20.102016   
+ 50.705085    38.872634    18.785059   
+ 47.625301    41.422891    17.470047   
+ 44.550588    43.96895     16.157201   
+ 41.481554    46.510306    14.846779   
+ 38.41892     49.046362    13.53909    
+ 35.363553    51.576401    12.234504   
+ 32.316507    54.09955     10.93347    
+ 29.279077    56.614736    9.636543    
+ 26.252882    59.120619    8.344413    
+ 23.23998     61.615494    7.057958    
+ 20.243039    64.097152    5.778319    
+ 19.425572    64.774067    5.429276    
+ 18.800082    65.292013    5.162202    
+ 18.176085    65.808722    4.89522     
+ 15.400616    68.106988    3.619661    
+ 12.732901    70.316026    2.218227    
+ 1     5         
+L  27 1
+ 88.842317    31.231087    34.335553   
+ 88.842317    31.231087    34.335553   
+ 85.377082    33.216565    32.883043   
+ 81.91433     35.200622    31.431573   
+ 78.454253    37.183145    29.981225   
+ 74.99707     39.16401     28.532089   
+ 71.543022    41.143079    27.084269   
+ 68.092387    43.120192    25.637878   
+ 64.645478    45.095171    24.193049   
+ 61.202652    47.067809    22.749932   
+ 57.764323    49.037872    21.3087     
+ 54.330967    51.005085    19.869552   
+ 50.903141    52.969129    18.432722   
+ 47.4815      54.92963     16.998485   
+ 44.06682     56.886142    15.567166   
+ 40.660031    58.838132    14.139154   
+ 37.262263    60.784955    12.714924   
+ 33.874899    62.725815    11.295054   
+ 30.499664    64.659727    9.880269    
+ 27.138741    66.585438    8.471483    
+ 23.794948    68.501334    7.069877    
+ 20.472006    70.405283    5.677011    
+ 19.348268    71.049152    5.205978    
+ 18.653231    71.447388    4.914227    
+ 15.59501     73.199659    3.529718    
+ 12.680501    74.869588    2.003854    
+ 12.040711    75.238889    1.635283    
+ 1     6         
+L  12 1
+ 41.138221    64.704133    25.85159    
+ 41.138221    64.704133    25.85159    
+ 37.878495    66.138062    23.671884   
+ 34.62772     67.568054    21.498164   
+ 31.387297    68.993493    19.331366   
+ 28.158978    70.413607    17.172662   
+ 24.94499     71.827417    15.023541   
+ 21.748226    73.23365     12.885936   
+ 18.572528    74.630617    10.762419   
+ 17.773874    74.981939    10.228377   
+ 16.750722    75.441692    9.544218    
+ 13.85757     76.869017    7.609633    
+ 1     7         
+L  10 1
+ 14.157683    45.265562    10.630492   
+ 14.157683    45.265562    10.630492   
+ 12.464634    48.777068    9.249157    
+ 10.77904     52.273115    7.873903    
+ 9.102396     55.750597    6.505953    
+ 7.436691     59.205391    5.146927    
+ 7.088389     59.927794    4.861766    
+ 5.550659     63.11716     3.501194    
+ 5.214971     63.813401    3.177855    
+ 4.881477     64.503578    2.846669    
+ 1     8         
+L  30 1
+ 69.363152    2.929942     39.636635   
+ 69.363152    2.929942     39.636635   
+ 68.798791    3.539399     39.297875   
+ 68.116225    4.282763     38.888164   
+ 67.559167    4.894601     38.553789   
+ 67.016431    5.493706     38.22801    
+ 64.370003    8.415368     36.639487   
+ 61.725453    11.334957    35.05209    
+ 59.082925    14.252313    33.465907   
+ 56.442583    17.167257    31.881036   
+ 53.80461     20.079585    30.297588   
+ 51.169212    22.989069    28.715685   
+ 48.536626    25.89545     27.13547    
+ 45.90712     28.798431    25.557103   
+ 43.281002    31.697671    23.98077    
+ 40.65863     34.592775    22.406686   
+ 38.040419    37.483285    20.8351     
+ 35.42686     40.36866     19.266306   
+ 32.818531    43.248261    17.700651   
+ 30.216125    46.121322    16.138551   
+ 27.620482    48.986918    14.580511   
+ 25.032628    51.843914    13.027147   
+ 22.453842    54.6909      11.479225   
+ 19.885737    57.526093    9.937715    
+ 17.33039     60.347202    8.403862    
+ 14.790534    63.151208    6.879309    
+ 12.269864    65.934034    5.366271    
+ 11.73894     66.520174    5.047583    
+ 11.214399    67.099269    4.729052    
+ 8.923633     69.62828     3.205931    
+ 1     9         
+L  28 1
+ 95.880286    0.802102     28.572064   
+ 95.880286    0.802102     28.572064   
+ 93.148886    2.998018     27.663079   
+ 92.408842    3.603505     27.416799   
+ 91.636987    4.239939     27.159932   
+ 90.785863    4.947655     26.876686   
+ 90.140973    5.486583     26.662072   
+ 75.332663    17.862527    21.733998   
+ 72.17706     20.499801    20.683841   
+ 69.024022    23.13493     19.634538   
+ 65.873765    25.767736    18.586161   
+ 62.726529    28.398017    17.538788   
+ 59.582587    31.025545    16.492512   
+ 56.442251    33.65006     15.447436   
+ 53.305878    36.271261    14.403679   
+ 50.173883    38.888805    13.361379   
+ 47.046745    41.502289    12.320695   
+ 43.925029    44.111242    11.281816   
+ 40.809402    46.715106    10.244963   
+ 37.70066     49.313216    9.210401    
+ 34.599764    51.904768    8.17845     
+ 31.507889    54.488782    7.149502    
+ 28.426489    57.064041    6.124039    
+ 25.357395    59.629015    5.102672    
+ 24.603013    60.259484    4.85051     
+ 21.709165    62.677998    3.821816    
+ 18.883632    65.039418    2.703682    
+ 16.147183    67.326387    1.486815    
+ 1     10        
diff --git a/raster3d/r3.flow/testsuite/r3flow_test.py b/raster3d/r3.flow/testsuite/r3flow_test.py
new file mode 100644
index 0000000..da72cca
--- /dev/null
+++ b/raster3d/r3.flow/testsuite/r3flow_test.py
@@ -0,0 +1,97 @@
+# -*- coding: utf-8 -*-
+"""
+Test of r3.flow
+
+ at author Anna Petrasova
+"""
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+seeds = """
+84.80609404|35.19733594|39.43321996
+14.42915927|56.86951467|22.42338987
+29.06094033|78.06029074|39.31707858
+64.95524796|50.76614609|12.02301418
+75.47677891|18.36008965|29.362122
+88.84231714|31.23108675|34.33555293
+41.13822083|64.70413255|25.85158957
+14.15768282|45.26556161|10.63049231
+69.36315244|2.92994235|39.63663467
+95.88028571|0.80210167|28.57206445
+"""
+
+flowaccum = """
+n=480
+null_cells=0
+cells=480
+min=0
+max=91
+range=91
+mean=6.38333333333333
+mean_of_abs=6.38333333333333
+stddev=11.3685848821312
+variance=129.244722222222
+coeff_var=178.097935490306
+sum=3064
+"""
+
+class FlowlineTest(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Use temporary region settings"""
+        cls.use_temp_region()
+        cls.runModule("g.region", res=10, res3=10, n=80, s=0, w=0, e=120, b=0, t=50)
+        cls.runModule("r3.mapcalc", expression="map_1 = 100")
+        cls.runModule("r3.mapcalc", expression="map_2 = -20")
+        cls.runModule("r3.mapcalc", expression="map_3 = 0.01")
+        cls.runModule("r3.mapcalc", expression="map_4 = col() + row() + depth()")
+        cls.runModule("r3.mapcalc", expression="map_5 = col() * col() + row() * row() + depth() * depth()")
+        cls.runModule('v.in.ascii', input='-', output='test_seeds', z=3, flags='zt',
+                      stdin=seeds)
+
+    @classmethod
+    def tearDownClass(cls):
+        """!Remove the temporary region"""
+        cls.del_temp_region()
+        cls.runModule('g.remove', flags='f', type='raster_3d', name=','.join(['map_1', 'map_2', 'map_3', 'map_4', 'map_5', 'test_flowaccum']))
+        cls.runModule('g.remove', flags='f', type='vector', name=','.join(['test_flowline', 'test_seeds']))
+        os.remove('./data/flowline_tmp.ascii')
+
+    def test_interpolation(self):
+        self.assertModuleKeyValue('test.r3flow', test='interpolation',
+                                  coordinates=[100, 55, 11], input=['map_1', 'map_2', 'map_3'],
+                                  reference={'return': 0, 'values': [100, -20, 0.01]},
+                                  precision=1e-10, sep='=')
+        self.assertModuleKeyValue('test.r3flow', test='interpolation',
+                                  coordinates=[5, 5, 5], input=['map_1', 'map_2', 'map_3'],
+                                  reference={'return': 0, 'values': [100, -20, 0.01]},
+                                  precision=1e-10, sep='=')
+        self.assertModuleKeyValue('test.r3flow', test='interpolation',
+                                  coordinates=[10, 10, 60], input=['map_1', 'map_2', 'map_3'],
+                                  reference={'return': -1},
+                                  precision=1e-10, sep='=')
+        self.assertModuleKeyValue('test.r3flow', test='interpolation',
+                                  coordinates=[25, 69, 17], input=['map_4', 'map_4', 'map_4'],
+                                  reference={'return': 0, 'values': [7.8, 7.8, 7.8]},
+                                  precision=1e-10, sep='=')
+        self.assertModuleKeyValue('test.r3flow', test='interpolation',
+                                  coordinates=[81, 30, 25], input=['map_4', 'map_4', 'map_4'],
+                                  reference={'return': 0, 'values': [18.1, 18.1, 18.1]},
+                                  precision=1e-10, sep='=')
+
+    def test_flowlines(self):
+        self.assertModule('r3.flow', input='map_5', flowline='test_flowline',
+                          seed_points='test_seeds', flowaccumulation='test_flowaccum',
+                          direction='down')
+        self.runModule('v.out.ascii', input='test_flowline',
+                       format='standard', output='./data/flowline_tmp.ascii',
+                       precision=6)
+        self.assertVectorAsciiEqualsVectorAscii(actual='./data/flowline_tmp.ascii',
+                                                reference='./data/flowline.ascii')
+        self.assertRaster3dFitsUnivar('test_flowaccum', reference=flowaccum, precision=1e-6)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/raster3d/r3.flow/voxel_traversal.c b/raster3d/r3.flow/voxel_traversal.c
new file mode 100644
index 0000000..7f7622d
--- /dev/null
+++ b/raster3d/r3.flow/voxel_traversal.c
@@ -0,0 +1,96 @@
+#include <math.h>
+#include <grass/raster3d.h>
+
+#include "voxel_traversal.h"
+
+void traverse(RASTER3D_Region * region, double *start, double *end,
+	      int **coordinates, int *size, int *coor_count)
+{
+    double dx, dy, dz;
+    int step_x, step_y, step_z;
+    int x, y, z;
+    int x_end, y_end, z_end;
+    double t_delta_x, t_delta_y, t_delta_z;
+    double t_max_x, t_max_y, t_max_z;
+    double xtmp, ytmp, ztmp;
+    int count;
+
+    /* initialize */
+    dx = end[0] - start[0];
+    dy = end[1] - start[1];
+    dz = end[2] - start[2];
+
+    step_x = start[0] < end[0] ? 1 : -1;
+    step_y = start[1] < end[1] ? 1 : -1;
+    step_z = start[2] < end[2] ? 1 : -1;
+
+    x = (int)floor((start[0] - region->west) / region->ew_res);
+    y = (int)floor((start[1] - region->south) / region->ns_res);
+    z = (int)floor((start[2] - region->bottom) / region->tb_res);
+    x_end = (int)floor((end[0] - region->west) / region->ew_res);
+    y_end = (int)floor((end[1] - region->south) / region->ns_res);
+    z_end = (int)floor((end[2] - region->bottom) / region->tb_res);
+
+    t_delta_x = fabs(region->ew_res / (dx != 0 ? dx : 1e6));
+    t_delta_y = fabs(region->ns_res / (dy != 0 ? dy : 1e6));
+    t_delta_z = fabs(region->tb_res / (dz != 0 ? dz : 1e6));
+
+    xtmp = (start[0] - region->west) / region->ew_res;
+    ytmp = (start[1] - region->south) / region->ns_res;
+    ztmp = (start[2] - region->bottom) / region->tb_res;
+
+    if (step_x > 0)
+	t_max_x = t_delta_x * (1.0 - (xtmp - floor(xtmp)));
+    else
+	t_max_x = t_delta_x * (xtmp - floor(xtmp));
+    if (step_y > 0)
+	t_max_y = t_delta_y * (1.0 - (ytmp - floor(ytmp)));
+    else
+	t_max_y = t_delta_y * (ytmp - floor(ytmp));
+    if (step_z > 0)
+	t_max_z = t_delta_z * (1.0 - (ztmp - floor(ztmp)));
+    else
+	t_max_z = t_delta_z * (ztmp - floor(ztmp));
+
+    count = 0;
+    while (TRUE) {
+	if (t_max_x < t_max_y) {
+	    if (t_max_x < t_max_z) {
+		t_max_x = t_max_x + t_delta_x;
+		x = x + step_x;
+	    }
+	    else {
+		t_max_z = t_max_z + t_delta_z;
+		z = z + step_z;
+	    }
+	}
+	else {
+	    if (t_max_y < t_max_z) {
+		t_max_y = t_max_y + t_delta_y;
+		y = y + step_y;
+	    }
+	    else {
+		t_max_z = t_max_z + t_delta_z;
+		z = z + step_z;
+	    }
+	}
+	if ((x == x_end && y == y_end && z == z_end) ||
+	    /* just to make sure it breaks */
+	    (step_x * (x - x_end) > 0 || step_y * (y - y_end) > 0 ||
+	     step_z * (z - z_end) > 0))
+
+	    break;
+
+	(*coordinates)[count * 3 + 0] = x;
+	(*coordinates)[count * 3 + 1] = region->rows - y - 1;
+	(*coordinates)[count * 3 + 2] = z;
+	count++;
+
+	/* reallocation for cases when the steps would be too big */
+	if (*size <= count) {
+	    *size = 2 * (*size);
+	    *coordinates = G_realloc(*coordinates, (*size) * 3 * sizeof(int));
+	}
+    }
+    *coor_count = count;
+}
diff --git a/raster3d/r3.flow/voxel_traversal.h b/raster3d/r3.flow/voxel_traversal.h
new file mode 100644
index 0000000..f870adc
--- /dev/null
+++ b/raster3d/r3.flow/voxel_traversal.h
@@ -0,0 +1,9 @@
+#ifndef VOXEL_TRAVERSAL_H
+#define VOXEL_TRAVERSAL_H
+
+#include <grass/raster3d.h>
+
+void traverse(RASTER3D_Region *region, double *start, double *end,
+              int **coordinates, int *size, int *coor_count);
+
+#endif // VOXEL_TRAVERSAL_H
diff --git a/raster3d/r3.gradient/Makefile b/raster3d/r3.gradient/Makefile
new file mode 100644
index 0000000..a6a4bad
--- /dev/null
+++ b/raster3d/r3.gradient/Makefile
@@ -0,0 +1,10 @@
+MODULE_TOPDIR = ../..
+
+PGM=r3.gradient
+
+LIBES = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB)
+DEPENDENCIES = $(RASTER3DDEP) $(RASTERDEP) $(GISDEP)
+
+include $(MODULE_TOPDIR)/include/Make/Module.make
+
+default: cmd
diff --git a/raster3d/r3.gradient/main.c b/raster3d/r3.gradient/main.c
new file mode 100644
index 0000000..77d08be
--- /dev/null
+++ b/raster3d/r3.gradient/main.c
@@ -0,0 +1,302 @@
+/****************************************************************************
+ * 
+ * MODULE:       r3.gradient     
+ * AUTHOR(S):    Anna Petrasova kratochanna <at> gmail <dot> com
+ * PURPOSE:      Computes gradient of a 3D raster map
+ * COPYRIGHT:    (C) 2014 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the file COPYING that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include <grass/raster3d.h>
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+#include "r3gradient_structs.h"
+
+int main(int argc, char *argv[])
+{
+    struct Option *input_opt, *output_opt, *block_opt;
+    struct GModule *module;
+    RASTER3D_Region region;
+    RASTER3D_Map *input;
+    RASTER3D_Map *output[3];
+    struct Gradient_block *blocks;
+    int block_x, block_y, block_z;
+    int index_x, index_y, index_z;
+    int n_x, n_y, n_z;
+    int start_x, start_y, start_z;
+    int i, max_i, k, j, N;
+    double step[3];
+    int *bl_indices;
+    int *bl_overlap;
+    int r, c, d;
+    DCELL value;
+
+    module = G_define_module();
+    G_add_keyword(_("raster3d"));
+    G_add_keyword(_("gradient"));
+    G_add_keyword(_("voxel"));
+    module->description =
+	_("Computes gradient of a 3D raster map "
+	  "and outputs gradient components as three 3D raster maps.");
+
+    input_opt = G_define_standard_option(G_OPT_R3_INPUT);
+
+    /* TODO: define G_OPT_R3_OUTPUTS or use separate options for each map? */
+    output_opt = G_define_standard_option(G_OPT_R3_OUTPUT);
+    output_opt->multiple = YES;
+    output_opt->key_desc = "grad_x,grad_y,grad_z";
+    output_opt->description = _("Name for output 3D raster map(s)");
+
+    block_opt = G_define_option();
+    block_opt->key = "blocksize";
+    block_opt->multiple = TRUE;
+    block_opt->answer = "30,30,20"; /* based on testing */
+    block_opt->key_desc = "size_x,size_y,size_z";
+    block_opt->description = _("Size of blocks");
+
+    /* disabled - was there for openMP
+    process_opt = G_define_option();
+    process_opt->key = "nprocs";
+    process_opt->type = TYPE_INTEGER;
+    process_opt->required = NO;
+    process_opt->description = _("Number of parallel processes");
+    process_opt->options = "1-100";
+    process_opt->answer = "1";
+    */
+
+    G_gisinit(argv[0]);
+    if (G_parser(argc, argv))
+	exit(EXIT_FAILURE);
+
+    N = 1;
+    /* disabled - was there for openMP
+    N = atoi(process_opt->answer);
+#if defined(_OPENMP)
+    omp_set_num_threads(N);
+#endif
+    */
+
+    Rast3d_init_defaults();
+    Rast3d_get_window(&region);
+
+    block_x = atoi(block_opt->answers[0]);
+    block_y = atoi(block_opt->answers[1]);
+    block_z = atoi(block_opt->answers[2]);
+
+    if (block_x < 3 || block_y < 3 || block_z < 3)
+	G_warning("block size too small, set to 3");
+
+    block_x = block_x < 3 ? 3 : block_x;
+    block_y = block_y < 3 ? 3 : block_y;
+    block_z = block_z < 3 ? 3 : block_z;
+    block_x = block_x > region.cols ? region.cols : block_x;
+    block_y = block_y > region.rows ? region.rows : block_y;
+    block_z = block_y > region.depths ? region.depths : block_z;
+
+    step[0] = region.ew_res;
+    step[1] = region.ns_res;
+    step[2] = region.tb_res;
+
+    input = Rast3d_open_cell_old(input_opt->answer,
+				 G_find_raster3d(input_opt->answer, ""),
+				 &region, RASTER3D_TILE_SAME_AS_FILE,
+				 RASTER3D_USE_CACHE_DEFAULT);
+    if (!input)
+	Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),
+			   input_opt->answer);
+
+    for (i = 0; i < 3; i++) {
+	output[i] =
+	    Rast3d_open_new_opt_tile_size(output_opt->answers[i],
+					  RASTER3D_USE_CACHE_DEFAULT,
+					  &region, DCELL_TYPE, 32);
+	if (!output[i]) {
+	    Rast3d_fatal_error(_("Unable to open 3D raster map <%s>"),
+			       output_opt->answers[i]);
+	}
+
+    }
+
+    blocks = G_calloc(N, sizeof(struct Gradient_block));
+    if (!blocks)
+	G_fatal_error(_("Failed to allocate memory for blocks"));
+    for (i = 0; i < N; i++) {
+	blocks[i].input.array = G_malloc(((block_x + 2) * (block_y + 2)
+					  * (block_z + 2)) * sizeof(DCELL));
+	blocks[i].dx.array = G_malloc(((block_x + 2) * (block_y + 2)
+				       * (block_z + 2)) * sizeof(DCELL));
+	blocks[i].dy.array = G_malloc(((block_x + 2) * (block_y + 2)
+				       * (block_z + 2)) * sizeof(DCELL));
+	blocks[i].dz.array = G_malloc(((block_x + 2) * (block_y + 2)
+				       * (block_z + 2)) * sizeof(DCELL));
+    }
+
+    bl_indices = G_calloc(N * 3, sizeof(int));
+    bl_overlap = G_calloc(N * 6, sizeof(int));
+
+    max_i = (int)ceil(region.cols / (float)block_x) *
+	(int)ceil(region.rows / (float)block_y) *
+	(int)ceil(region.depths / (float)block_z);
+    i = j = 0;
+    index_z = 0;
+
+    /* loop through the blocks */
+    while (index_z < region.depths) {
+	index_y = 0;
+	while (index_y < region.rows) {
+	    index_x = 0;
+	    while (index_x < region.cols) {
+		G_percent(i, max_i, 1);
+		/* generally overlap is 1 on both sides */
+		bl_overlap[j * 6 + 0] = bl_overlap[j * 6 + 2] =
+		    bl_overlap[j * 6 + 4] = 1;
+		bl_overlap[j * 6 + 1] = bl_overlap[j * 6 + 3] =
+		    bl_overlap[j * 6 + 5] = 1;
+
+		/* compute the starting index of the block and its size */
+		start_x = fmax(index_x - 1, 0);
+		n_x = fmin(index_x + block_x, region.cols - 1) - start_x + 1;
+		start_y = fmax(index_y - 1, 0);
+		n_y = fmin(index_y + block_y, region.rows - 1) - start_y + 1;
+		start_z = fmax(index_z - 1, 0);
+		n_z =
+		    fmin(index_z + block_z, region.depths - 1) - start_z + 1;
+
+		/* adjust offset on edges */
+		/* start offset */
+		if (index_x == 0)
+		    bl_overlap[j * 6 + 0] = 0;
+		if (index_y == 0)
+		    bl_overlap[j * 6 + 2] = 0;
+		if (index_z == 0)
+		    bl_overlap[j * 6 + 4] = 0;
+		/* end offset */
+		if (index_x + block_x >= region.cols)
+		    bl_overlap[j * 6 + 1] = 0;
+		if (index_y + block_y >= region.rows)
+		    bl_overlap[j * 6 + 3] = 0;
+		if (index_z + block_z >= region.depths)
+		    bl_overlap[j * 6 + 5] = 0;
+		/* adjust offset when the end block would be too small */
+		if (n_x <= 2) {
+		    start_x -= 1;
+		    n_x += 1;
+		    bl_overlap[j * 6 + 0] = 2;
+		}
+		if (n_y <= 2) {
+		    start_y -= 1;
+		    n_y += 1;
+		    bl_overlap[j * 6 + 2] = 2;
+		}
+		if (n_z <= 2) {
+		    start_z -= 1;
+		    n_z += 1;
+		    bl_overlap[j * 6 + 4] = 2;
+		}
+		/* store indices for later writing */
+		bl_indices[j * 3 + 0] = index_x;
+		bl_indices[j * 3 + 1] = index_y;
+		bl_indices[j * 3 + 2] = index_z;
+
+		blocks[j].input.sx = n_x;
+		blocks[j].input.sy = n_y;
+		blocks[j].input.sz = n_z;
+		blocks[j].dx.sx = blocks[j].dy.sx = blocks[j].dz.sx = n_x;
+		blocks[j].dx.sy = blocks[j].dy.sy = blocks[j].dz.sy = n_y;
+		blocks[j].dx.sz = blocks[j].dy.sz = blocks[j].dz.sz = n_z;
+
+		/* read */
+		Rast3d_get_block(input, start_x, start_y, start_z,
+				 n_x, n_y, n_z, blocks[j].input.array,
+				 DCELL_TYPE);
+		if ((j + 1) == N || i == max_i - 1) {
+
+		    /* compute gradient */
+		    /* disabled openMP #pragma omp parallel for schedule (static) private (k) */
+		    for (k = 0; k <= j; k++) {
+			Rast3d_gradient_double(&(blocks[k].input), step,
+					       &(blocks[k].dx), &(blocks[k].dy),
+					       &(blocks[k].dz));
+		    }
+
+		    /* write */
+		    for (k = 0; k <= j; k++) {
+			for (c = 0;c < blocks[k].input.sx - bl_overlap[k * 6 + 0] -
+			     bl_overlap[k * 6 + 1]; c++) {
+			    for (r = 0; r < blocks[k].input.sy - bl_overlap[k * 6 + 2] -
+				 bl_overlap[k * 6 + 3]; r++) {
+				for (d = 0; d < blocks[k].input.sz - bl_overlap[k * 6 + 4] -
+				     bl_overlap[k * 6 + 5]; d++) {
+				    value = RASTER3D_ARRAY_ACCESS(&(blocks[k].dx),
+					      c + bl_overlap[k * 6 + 0],
+					      r + bl_overlap[k * 6 + 2],
+					      d + bl_overlap[k * 6 + 4]);
+				    Rast3d_put_value(output[0],
+						     c + bl_indices[k * 3 + 0],
+						     r + bl_indices[k * 3 + 1],
+						     d + bl_indices[k * 3 + 2],
+						     &value, DCELL_TYPE);
+
+				    value = RASTER3D_ARRAY_ACCESS(&(blocks[k].dy),
+					     c + bl_overlap[k * 6 + 0],
+					     r + bl_overlap[k * 6 + 2],
+					     d + bl_overlap[k * 6 + 4]);
+				    Rast3d_put_value(output[1],
+						     c + bl_indices[k * 3 + 0],
+						     r + bl_indices[k * 3 + 1],
+						     d + bl_indices[k * 3 + 2],
+						     &value, DCELL_TYPE);
+
+				    value = RASTER3D_ARRAY_ACCESS(&(blocks[k].dz),
+					     c + bl_overlap[k * 6 + 0],
+					     r + bl_overlap[k * 6 + 2],
+					     d + bl_overlap[k * 6 + 4]);
+				    Rast3d_put_value(output[2],
+						     c + bl_indices[k * 3 + 0],
+						     r + bl_indices[k * 3 + 1],
+						     d + bl_indices[k * 3 + 2],
+						     &value, DCELL_TYPE);
+				}
+			    }
+			}
+		    }
+		    j = -1;
+		}
+		i++;
+		j++;
+		index_x += block_x;
+	    }
+	    index_y += block_y;
+	}
+	index_z += block_z;
+    }
+    G_percent(1, 1, 1);
+    for (i = 0; i < N; i++) {
+	G_free(blocks[i].input.array);
+	G_free(blocks[i].dx.array);
+	G_free(blocks[i].dy.array);
+	G_free(blocks[i].dz.array);
+    }
+    G_free(blocks);
+    G_free(bl_indices);
+    G_free(bl_overlap);
+
+    G_message(_("Writing gradient 3D raster maps..."));
+    G_percent(0, 3, 1);
+    Rast3d_close(output[0]);
+    G_percent(1, 3, 1);
+    Rast3d_close(output[1]);
+    G_percent(2, 3, 1);
+    Rast3d_close(output[2]);
+    G_percent(1, 1, 1);
+
+    exit(EXIT_SUCCESS);
+}
diff --git a/raster3d/r3.gradient/r3.gradient.html b/raster3d/r3.gradient/r3.gradient.html
new file mode 100644
index 0000000..c5e67a6
--- /dev/null
+++ b/raster3d/r3.gradient/r3.gradient.html
@@ -0,0 +1,31 @@
+<h2>DESCRIPTION</h2>
+
+Module <em>r3.gradient</em> computes gradient from a 3D raster map. 
+Results are three 3D raster maps describing the x, y, z components of 
+the computed gradient field.
+
+<h2>EXAMPLES</h2>
+
+<div class="code"><pre>
+# create a 3D raster
+g.region s=0 n=100 w=0 e=100 b=0 t=100 -p
+r3.mapcalc "test_gradient = sqrt(row()*row() +col()*col()+ depth()*depth())"
+
+# compute gradient
+r3.gradient input=test_gradient output=grad_x,grad_y,grad_z
+</pre></div>
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="r3.flow.html">r3.flow</a>,
+<a href="r.flow.html">r.flow</a>
+</em>
+
+<h2>AUTHORS</h2>
+
+Anna Petrasova, <a href="http://geospatial.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>,
+developed during GSoC 2014.
+
+<p>
+<i>Last changed: $Date: 2014-11-26 15:20:52 -0800 (Wed, 26 Nov 2014) $</i>
diff --git a/raster3d/r3.gradient/r3gradient_structs.h b/raster3d/r3.gradient/r3gradient_structs.h
new file mode 100644
index 0000000..afac271
--- /dev/null
+++ b/raster3d/r3.gradient/r3gradient_structs.h
@@ -0,0 +1,13 @@
+#ifndef R3GRADIENT_STRUCTS_H
+#define R3GRADIENT_STRUCTS_H
+
+#include <grass/raster3d.h>
+
+struct Gradient_block {
+    RASTER3D_Array_double input;
+    RASTER3D_Array_double dx;
+    RASTER3D_Array_double dy;
+    RASTER3D_Array_double dz;
+};
+
+#endif // R3GRADIENT_STRUCTS_H
diff --git a/raster3d/r3.gradient/testsuite/data/test_map_1 b/raster3d/r3.gradient/testsuite/data/test_map_1
new file mode 100644
index 0000000..c023656
--- /dev/null
+++ b/raster3d/r3.gradient/testsuite/data/test_map_1
@@ -0,0 +1,61 @@
+version: grass7
+order: nsbt
+north: 100.000000
+south: 0.000000
+east: 120.000000
+west: 0.000000
+top: 50.000000
+bottom: 0.000000
+rows: 10
+cols: 12
+levels: 5
+1.73205081 2.44948974 3.31662479 4.24264069 5.19615242 6.16441400 7.14142843 8.12403840 9.11043358 10.09950494 11.09053651 12.08304597 
+2.44948974 3.00000000 3.74165739 4.58257569 5.47722558 6.40312424 7.34846923 8.30662386 9.27361850 10.24695077 11.22497216 12.20655562 
+3.31662479 3.74165739 4.35889894 5.09901951 5.91607978 6.78232998 7.68114575 8.60232527 9.53939201 10.48808848 11.44552314 12.40967365 
+4.24264069 4.58257569 5.09901951 5.74456265 6.48074070 7.28010989 8.12403840 9.00000000 9.89949494 10.81665383 11.74734012 12.68857754 
+5.19615242 5.47722558 5.91607978 6.48074070 7.14142843 7.87400787 8.66025404 9.48683298 10.34408043 11.22497216 12.12435565 13.03840481 
+6.16441400 6.40312424 6.78232998 7.28010989 7.87400787 8.54400375 9.27361850 10.04987562 10.86278049 11.70469991 12.56980509 13.45362405 
+7.14142843 7.34846923 7.68114575 8.12403840 8.66025404 9.27361850 9.94987437 10.67707825 11.44552314 12.24744871 13.07669683 13.92838828 
+8.12403840 8.30662386 8.60232527 9.00000000 9.48683298 10.04987562 10.67707825 11.35781669 12.08304597 12.84523258 13.63818170 14.45683229 
+9.11043358 9.27361850 9.53939201 9.89949494 10.34408043 10.86278049 11.44552314 12.08304597 12.76714533 13.49073756 14.24780685 15.03329638 
+10.09950494 10.24695077 10.48808848 10.81665383 11.22497216 11.70469991 12.24744871 12.84523258 13.49073756 14.17744688 14.89966443 15.65247584 
+2.44948974 3.00000000 3.74165739 4.58257569 5.47722558 6.40312424 7.34846923 8.30662386 9.27361850 10.24695077 11.22497216 12.20655562 
+3.00000000 3.46410162 4.12310563 4.89897949 5.74456265 6.63324958 7.54983444 8.48528137 9.43398113 10.39230485 11.35781669 12.32882801 
+3.74165739 4.12310563 4.69041576 5.38516481 6.16441400 7.00000000 7.87400787 8.77496439 9.69535971 10.63014581 11.57583690 12.52996409 
+4.58257569 4.89897949 5.38516481 6.00000000 6.70820393 7.48331477 8.30662386 9.16515139 10.04987562 10.95445115 11.87434209 12.80624847 
+5.47722558 5.74456265 6.16441400 6.70820393 7.34846923 8.06225775 8.83176087 9.64365076 10.48808848 11.35781669 12.24744871 13.15294644 
+6.40312424 6.63324958 7.00000000 7.48331477 8.06225775 8.71779789 9.43398113 10.19803903 11.00000000 11.83215957 12.68857754 13.56465997 
+7.34846923 7.54983444 7.87400787 8.30662386 8.83176087 9.43398113 10.09950494 10.81665383 11.57583690 12.36931688 13.19090596 14.03566885 
+8.30662386 8.48528137 8.77496439 9.16515139 9.64365076 10.19803903 10.81665383 11.48912529 12.20655562 12.96148140 13.74772708 14.56021978 
+9.27361850 9.43398113 9.69535971 10.04987562 10.48808848 11.00000000 11.57583690 12.20655562 12.88409873 13.60147051 14.35270009 15.13274595 
+10.24695077 10.39230485 10.63014581 10.95445115 11.35781669 11.83215957 12.36931688 12.96148140 13.60147051 14.28285686 15.00000000 15.74801575 
+3.31662479 3.74165739 4.35889894 5.09901951 5.91607978 6.78232998 7.68114575 8.60232527 9.53939201 10.48808848 11.44552314 12.40967365 
+3.74165739 4.12310563 4.69041576 5.38516481 6.16441400 7.00000000 7.87400787 8.77496439 9.69535971 10.63014581 11.57583690 12.52996409 
+4.35889894 4.69041576 5.19615242 5.83095189 6.55743852 7.34846923 8.18535277 9.05538514 9.94987437 10.86278049 11.78982612 12.72792206 
+5.09901951 5.38516481 5.83095189 6.40312424 7.07106781 7.81024968 8.60232527 9.43398113 10.29563014 11.18033989 12.08304597 13.00000000 
+5.91607978 6.16441400 6.55743852 7.07106781 7.68114575 8.36660027 9.11043358 9.89949494 10.72380529 11.57583690 12.44989960 13.34166406 
+6.78232998 7.00000000 7.34846923 7.81024968 8.36660027 9.00000000 9.69535971 10.44030651 11.22497216 12.04159458 12.88409873 13.74772708 
+7.68114575 7.87400787 8.18535277 8.60232527 9.11043358 9.69535971 10.34408043 11.04536102 11.78982612 12.56980509 13.37908816 14.21267040 
+8.60232527 8.77496439 9.05538514 9.43398113 9.89949494 10.44030651 11.04536102 11.70469991 12.40967365 13.15294644 13.92838828 14.73091986 
+9.53939201 9.69535971 9.94987437 10.29563014 10.72380529 11.22497216 11.78982612 12.40967365 13.07669683 13.78404875 14.52583905 15.29705854 
+10.48808848 10.63014581 10.86278049 11.18033989 11.57583690 12.04159458 12.56980509 13.15294644 13.78404875 14.45683229 15.16575089 15.90597372 
+4.24264069 4.58257569 5.09901951 5.74456265 6.48074070 7.28010989 8.12403840 9.00000000 9.89949494 10.81665383 11.74734012 12.68857754 
+4.58257569 4.89897949 5.38516481 6.00000000 6.70820393 7.48331477 8.30662386 9.16515139 10.04987562 10.95445115 11.87434209 12.80624847 
+5.09901951 5.38516481 5.83095189 6.40312424 7.07106781 7.81024968 8.60232527 9.43398113 10.29563014 11.18033989 12.08304597 13.00000000 
+5.74456265 6.00000000 6.40312424 6.92820323 7.54983444 8.24621125 9.00000000 9.79795897 10.63014581 11.48912529 12.36931688 13.26649916 
+6.48074070 6.70820393 7.07106781 7.54983444 8.12403840 8.77496439 9.48683298 10.24695077 11.04536102 11.87434209 12.72792206 13.60147051 
+7.28010989 7.48331477 7.81024968 8.24621125 8.77496439 9.38083152 10.04987562 10.77032961 11.53256259 12.32882801 13.15294644 14.00000000 
+8.12403840 8.30662386 8.60232527 9.00000000 9.48683298 10.04987562 10.67707825 11.35781669 12.08304597 12.84523258 13.63818170 14.45683229 
+9.00000000 9.16515139 9.43398113 9.79795897 10.24695077 10.77032961 11.35781669 12.00000000 12.68857754 13.41640786 14.17744688 14.96662955 
+9.89949494 10.04987562 10.29563014 10.63014581 11.04536102 11.53256259 12.08304597 12.68857754 13.34166406 14.03566885 14.76482306 15.52417470 
+10.81665383 10.95445115 11.18033989 11.48912529 11.87434209 12.32882801 12.84523258 13.41640786 14.03566885 14.69693846 15.39480432 16.12451550 
+5.19615242 5.47722558 5.91607978 6.48074070 7.14142843 7.87400787 8.66025404 9.48683298 10.34408043 11.22497216 12.12435565 13.03840481 
+5.47722558 5.74456265 6.16441400 6.70820393 7.34846923 8.06225775 8.83176087 9.64365076 10.48808848 11.35781669 12.24744871 13.15294644 
+5.91607978 6.16441400 6.55743852 7.07106781 7.68114575 8.36660027 9.11043358 9.89949494 10.72380529 11.57583690 12.44989960 13.34166406 
+6.48074070 6.70820393 7.07106781 7.54983444 8.12403840 8.77496439 9.48683298 10.24695077 11.04536102 11.87434209 12.72792206 13.60147051 
+7.14142843 7.34846923 7.68114575 8.12403840 8.66025404 9.27361850 9.94987437 10.67707825 11.44552314 12.24744871 13.07669683 13.92838828 
+7.87400787 8.06225775 8.36660027 8.77496439 9.27361850 9.84885780 10.48808848 11.18033989 11.91637529 12.68857754 13.49073756 14.31782106 
+8.66025404 8.83176087 9.11043358 9.48683298 9.94987437 10.48808848 11.09053651 11.74734012 12.44989960 13.19090596 13.96424004 14.76482306 
+9.48683298 9.64365076 9.89949494 10.24695077 10.67707825 11.18033989 11.74734012 12.36931688 13.03840481 13.74772708 14.49137675 15.26433752 
+10.34408043 10.48808848 10.72380529 11.04536102 11.44552314 11.91637529 12.44989960 13.03840481 13.67479433 14.35270009 15.06651917 15.81138830 
+11.22497216 11.35781669 11.57583690 11.87434209 12.24744871 12.68857754 13.19090596 13.74772708 14.35270009 15.00000000 15.68438714 16.40121947 
diff --git a/raster3d/r3.gradient/testsuite/data/test_map_2 b/raster3d/r3.gradient/testsuite/data/test_map_2
new file mode 100644
index 0000000..588b842
--- /dev/null
+++ b/raster3d/r3.gradient/testsuite/data/test_map_2
@@ -0,0 +1,36 @@
+version: grass7
+order: nsbt
+north: 5.000000
+south: 0.000000
+east: 5.000000
+west: 0.000000
+top: 5.000000
+bottom: 0.000000
+rows: 5
+cols: 5
+levels: 5
+3.00000000 6.00000000 11.00000000 18.00000000 27.00000000 
+6.00000000 9.00000000 14.00000000 * 30.00000000 
+11.00000000 14.00000000 19.00000000 26.00000000 35.00000000 
+18.00000000 * 26.00000000 33.00000000 42.00000000 
+27.00000000 30.00000000 35.00000000 42.00000000 51.00000000 
+6.00000000 9.00000000 14.00000000 * 30.00000000 
+9.00000000 12.00000000 17.00000000 24.00000000 33.00000000 
+14.00000000 17.00000000 22.00000000 29.00000000 * 
+* 24.00000000 29.00000000 36.00000000 45.00000000 
+30.00000000 33.00000000 * 45.00000000 54.00000000 
+11.00000000 14.00000000 19.00000000 26.00000000 35.00000000 
+14.00000000 17.00000000 22.00000000 29.00000000 * 
+19.00000000 22.00000000 27.00000000 * 43.00000000 
+26.00000000 29.00000000 * 41.00000000 50.00000000 
+35.00000000 * 43.00000000 50.00000000 * 
+18.00000000 * 26.00000000 33.00000000 42.00000000 
+* 24.00000000 29.00000000 36.00000000 45.00000000 
+26.00000000 29.00000000 * 41.00000000 50.00000000 
+33.00000000 36.00000000 41.00000000 48.00000000 57.00000000 
+42.00000000 45.00000000 50.00000000 57.00000000 66.00000000 
+27.00000000 30.00000000 35.00000000 42.00000000 51.00000000 
+30.00000000 33.00000000 * 45.00000000 54.00000000 
+35.00000000 * 43.00000000 50.00000000 * 
+42.00000000 45.00000000 50.00000000 57.00000000 66.00000000 
+51.00000000 54.00000000 * 66.00000000 75.00000000 
diff --git a/raster3d/r3.gradient/testsuite/r3gradient_test.py b/raster3d/r3.gradient/testsuite/r3gradient_test.py
new file mode 100644
index 0000000..dcf80ee
--- /dev/null
+++ b/raster3d/r3.gradient/testsuite/r3gradient_test.py
@@ -0,0 +1,160 @@
+# -*- coding: utf-8 -*-
+"""
+Test of r3.gradient
+
+ at author Anna Petrasova
+"""
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+r3univar_test_grad_x = """
+n=600
+null_cells=0
+cells=600
+min=0.00902566899999995
+max=0.0993248405000001
+range=0.0902991715000001
+mean=0.0641879624599999
+mean_of_abs=0.0641879624599999
+stddev=0.0243482677445681
+variance=0.000592838142161176
+coeff_var=37.9327631091908
+sum=38.512777476
+"""
+
+
+r3univar_test_grad_y = """
+n=600
+null_cells=0
+cells=600
+min=-0.0990409449999998
+max=-0.00774536350000012
+range=0.0912955814999997
+mean=-0.0563959154616667
+mean_of_abs=0.0563959154616667
+stddev=0.0244377519801364
+variance=0.000597203721842658
+coeff_var=-43.3324856597942
+sum=-33.837549277"""
+
+
+r3univar_test_grad_z = """
+n=600
+null_cells=0
+cells=600
+min=0.00643308800000026
+max=0.0967259644999999
+range=0.0902928764999997
+mean=0.0336457494116667
+mean_of_abs=0.0336457494116667
+stddev=0.0186882020765464
+variance=0.000349248896853835
+coeff_var=55.5440208743464
+sum=20.187449647
+"""
+
+r3univar_test_nulls_grad_x = """
+n=107
+null_cells=18
+cells=125
+min=0
+max=10
+range=10
+mean=3.70093457943925
+mean_of_abs=3.70093457943925
+stddev=3.6357902977452
+variance=13.2189710891781
+coeff_var=98.2397883481656
+sum=396
+"""
+
+r3univar_test_nulls_grad_y = """
+n=107
+null_cells=18
+cells=125
+min=-10
+max=0
+range=10
+mean=-3.70093457943925
+mean_of_abs=3.70093457943925
+stddev=3.6357902977452
+variance=13.2189710891781
+coeff_var=-98.2397883481656
+sum=-396
+"""
+
+r3univar_test_nulls_grad_z = """
+n=107
+null_cells=18
+cells=125
+min=0
+max=10
+range=10
+mean=3.70093457943925
+mean_of_abs=3.70093457943925
+stddev=3.6357902977452
+variance=13.2189710891781
+coeff_var=98.2397883481656
+sum=396
+"""
+
+
+class GradientTest(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Use temporary region settings"""
+        cls.use_temp_region()
+        cls.runModule('g.region', res3=10, n=100, s=0, w=0, e=120, b=0, t=50)
+        cls.runModule('r3.in.ascii', input='data/test_map_1', output='test_map_1_ref')
+        cls.runModule('g.region', res3=1, n=5, s=0, w=0, e=5, b=0, t=5)
+        cls.runModule('r3.in.ascii', input='data/test_map_2', output='test_map_2_ref')
+
+    @classmethod
+    def tearDownClass(cls):
+        """!Remove the temporary region"""
+        cls.del_temp_region()
+        cls.runModule('g.remove', flags='f', type='raster_3d',
+                      name=','.join(['test_map_1_ref', 'test_map_2_ref',
+                                        'test_grad_x', 'test_grad_y',
+                                        'test_grad_z', 'test_null_grad_x',
+                                        'test_null_grad_y', 'test_null_grad_z']))
+
+    def test_gradient_runs(self):
+        self.runModule('g.region', res3=10, n=100, s=0, w=0, e=120, b=0, t=50)
+        self.assertModuleFail('r3.gradient', input='test_map_1_ref',
+                              output=['test_grad_x', 'test_grad_y'], overwrite=True)
+        self.assertModule('r3.gradient', input='test_map_1_ref',
+                          output=['test_grad_x', 'test_grad_y', 'test_grad_z'], overwrite=True)
+
+    def test_gradient(self):
+        self.runModule('g.region', res3=10, n=100, s=0, w=0, e=120, b=0, t=50)
+        self.runModule('r3.gradient', input='test_map_1_ref',
+                       output=['test_grad_x', 'test_grad_y', 'test_grad_z'], overwrite=True)
+        self.assertRaster3dFitsUnivar(raster='test_grad_x', reference=r3univar_test_grad_x, precision=1e-8)
+        self.assertRaster3dFitsUnivar(raster='test_grad_y', reference=r3univar_test_grad_y, precision=1e-8)
+        self.assertRaster3dFitsUnivar(raster='test_grad_z', reference=r3univar_test_grad_z, precision=1e-8)
+
+    def test_gradient_block(self):
+        self.runModule('g.region', res3=10, n=100, s=0, w=0, e=120, b=0, t=50)
+        self.assertModule('r3.gradient', input='test_map_1_ref', blocksize=[200, 2, 50],
+                          output=['test_grad_x', 'test_grad_y', 'test_grad_z'], overwrite=True)
+        self.assertRaster3dFitsUnivar(raster='test_grad_x', reference=r3univar_test_grad_x, precision=1e-8)
+        self.assertRaster3dFitsUnivar(raster='test_grad_y', reference=r3univar_test_grad_y, precision=1e-8)
+        self.assertRaster3dFitsUnivar(raster='test_grad_z', reference=r3univar_test_grad_z, precision=1e-8)
+
+    def test_gradient_nulls(self):
+        self.runModule('g.region', res3=1, n=5, s=0, w=0, e=5, b=0, t=5)
+        self.assertModule('r3.gradient', input='test_map_2_ref', blocksize=[200, 2, 50],
+                          output=['test_null_grad_x', 'test_null_grad_y', 'test_null_grad_z'])
+        self.assertRaster3dFitsUnivar(raster='test_null_grad_x',
+                                      reference=r3univar_test_nulls_grad_x, precision=1e-8)
+        self.assertRaster3dFitsUnivar(raster='test_null_grad_y',
+                                      reference=r3univar_test_nulls_grad_y, precision=1e-8)
+        self.assertRaster3dFitsUnivar(raster='test_null_grad_z',
+                                      reference=r3univar_test_nulls_grad_z, precision=1e-8)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/raster3d/r3.gwflow/r3.gwflow.html b/raster3d/r3.gwflow/r3.gwflow.html
index 83bb3af..a0b7d02 100644
--- a/raster3d/r3.gwflow/r3.gwflow.html
+++ b/raster3d/r3.gwflow/r3.gwflow.html
@@ -137,4 +137,4 @@ Sören Gebbert
 <a href="http://www.hydrogeologie.tu-berlin.de/fileadmin/fg66/_hydro/Diplomarbeiten/2007_Diplomarbeit_Sören_Gebbert.pdf">here</a>
 at Technical University Berlin, Germany.
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-25 09:55:23 -0800 (Sun, 25 Jan 2015) $</i>
diff --git a/raster3d/r3.in.ascii/r3.in.ascii.html b/raster3d/r3.in.ascii/r3.in.ascii.html
index 97b7787..c3efcec 100644
--- a/raster3d/r3.in.ascii/r3.in.ascii.html
+++ b/raster3d/r3.in.ascii/r3.in.ascii.html
@@ -46,7 +46,7 @@ The version and order option have been introduced in GRASS 7 in June 2011.
 The version option is self explaining. The order option specifies the row
 and depth order of the data in the input file.
 The supported row/depth ordering is documented in the <em>r3.out.ascii</em>
-manual page. The order of the data in the input file does not specifiy the
+manual page. The order of the data in the input file does not specify the
 data order in the generated output 3D raster map which is in any case 
 <em>north -> south, west -> east, bottom -> top</em> order.
 So dependent on the order information the data is automatically imported
@@ -106,4 +106,4 @@ Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka, Sören Gebbert
 <a href="g.region.html">g.region</a>
 </em>
 
-<p><i>Last changed: $Date: 2015-02-01 01:46:56 +0100 (Sun, 01 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2016-01-29 01:29:57 -0800 (Fri, 29 Jan 2016) $</i>
diff --git a/raster3d/r3.in.lidar/Makefile b/raster3d/r3.in.lidar/Makefile
new file mode 100644
index 0000000..0e136bb
--- /dev/null
+++ b/raster3d/r3.in.lidar/Makefile
@@ -0,0 +1,15 @@
+MODULE_TOPDIR = ../..
+
+PGM = r3.in.lidar
+
+LIBES = $(RASTERLIB) $(RASTER3DLIB) $(GISLIB) $(MATHLIB) $(GPROJLIB) $(LASLIBS) $(SEGMENTLIB) $(VECTORLIB)
+DEPENDENCIES = $(RASTERDEP) $(RASTER3DDEP) $(GISDEP) $(SEGMENTDEP) $(VECTORDEP)
+
+EXTRA_INC = $(LASINC) $(VECT_INC) $(PROJINC)
+EXTRA_CFLAGS = $(VECT_CFLAGS) $(GDALCFLAGS)
+
+include $(MODULE_TOPDIR)/include/Make/Module.make
+
+ifneq ($(USE_LIBLAS),)
+default: cmd
+endif
diff --git a/raster3d/r3.in.lidar/main.c b/raster3d/r3.in.lidar/main.c
new file mode 100644
index 0000000..b187497
--- /dev/null
+++ b/raster3d/r3.in.lidar/main.c
@@ -0,0 +1,264 @@
+/****************************************************************************
+*
+* MODULE:       r3.in.Lidar
+*
+* AUTHOR(S):    Vaclav Petras
+*
+* PURPOSE:      Imports LAS LiDAR point clouds to a 3D raster map using
+*               aggregate statistics.
+*
+* COPYRIGHT:    (C) 2016 Vaclav Petras and the The GRASS Development Team
+*
+*               This program is free software under the GNU General Public
+*               License (>=v2). Read the file COPYING that comes with GRASS
+*               for details.
+*
+*****************************************************************************/
+
+#include <stdlib.h>
+#include <grass/gis.h>
+#include <grass/raster3d.h>
+#include <grass/glocale.h>
+#include <liblas/capi/liblas.h>
+
+static void raster3d_set_value_float(RASTER3D_Map *raster, RASTER3D_Region *region, float value)
+{
+    int col, row, depth;
+
+    for (depth = 0; depth < region->depths; depth++)
+        for (row = 0; row < region->rows; row++)
+            for (col = 0; col < region->cols; col++)
+                Rast3d_put_float(raster, col, row, depth, value);
+}
+
+/* c = a / b */
+static void raster3d_divide(RASTER3D_Map *a, RASTER3D_Map *b, RASTER3D_Map *c, RASTER3D_Region *region)
+{
+    int col, row, depth;
+    double tmp;
+
+    for (depth = 0; depth < region->depths; depth++)
+        for (row = 0; row < region->rows; row++)
+            for (col = 0; col < region->cols; col++) {
+                tmp = Rast3d_get_double(b, col, row, 0);
+                /* TODO: compare to epsilon */
+                if (tmp > 0) {
+                    tmp = Rast3d_get_double(a, col, row, depth) / tmp;
+                    Rast3d_put_double(c, col, row, depth, tmp);
+                }
+                else {
+                    /* TODO: check this implementation */
+                    Rast3d_set_null_value(&tmp, 1, DCELL_TYPE);
+                    Rast3d_put_double(c, col, row, depth, tmp);
+                }
+            }
+}
+
+/* c = a / b where b has depth 1 */
+static void raster3d_divide_by_flat(RASTER3D_Map *a, RASTER3D_Map *b, RASTER3D_Map *c, RASTER3D_Region *region)
+{
+    int col, row, depth;
+    double tmp;
+
+    for (depth = 0; depth < region->depths; depth++)
+        for (row = 0; row < region->rows; row++)
+            for (col = 0; col < region->cols; col++) {
+                tmp = Rast3d_get_double(b, col, row, 0);
+                /* since it is count, using cast to integer to check
+                   againts zero, limits the value to max of CELL */
+                if (((CELL) tmp) > 0) {
+                    tmp = Rast3d_get_double(a, col, row, depth) / tmp;
+                    Rast3d_put_double(c, col, row, depth, tmp);
+                }
+                else {
+                    /* TODO: check this implementation */
+                    Rast3d_set_null_value(&tmp, 1, DCELL_TYPE);
+                    Rast3d_put_double(c, col, row, depth, tmp);
+                }
+            }
+}
+
+int main(int argc, char *argv[])
+{
+    struct GModule *module;
+    struct Option *input_opt;
+    struct Option *count_output_opt, *sum_output_opt, *mean_output_opt;
+    struct Option *prop_count_output_opt, *prop_sum_output_opt;
+
+    G_gisinit(argv[0]);
+    module = G_define_module();
+    G_add_keyword(_("3D raster"));
+    G_add_keyword(_("import"));
+    G_add_keyword(_("LIDAR"));
+    module->description =
+        _("Creates a 3D raster map from LAS LiDAR points");
+
+    input_opt = G_define_standard_option(G_OPT_F_BIN_INPUT);
+    input_opt->required = YES;
+    input_opt->label = _("LAS input file");
+    input_opt->description = _("LiDAR input file in LAS format (*.las or *.laz)");
+    input_opt->guisection = _("Input");
+
+    count_output_opt = G_define_standard_option(G_OPT_R3_OUTPUT);
+    count_output_opt->key = "n";
+    count_output_opt->required = YES;
+    count_output_opt->label = _("Count of points per cell");
+    count_output_opt->guisection = _("Output");
+
+    sum_output_opt = G_define_standard_option(G_OPT_R3_OUTPUT);
+    sum_output_opt->key = "sum";
+    sum_output_opt->required = YES;
+    sum_output_opt->label = _("Sum of values of point intensities per cell");
+    sum_output_opt->guisection = _("Output");
+
+    mean_output_opt = G_define_standard_option(G_OPT_R3_OUTPUT);
+    mean_output_opt->key = "mean";
+    mean_output_opt->required = YES;
+    mean_output_opt->label = _("Mean of point intensities per cell");
+    mean_output_opt->guisection = _("Output");
+
+    /* TODO: proportional versus relative in naming */
+    prop_count_output_opt = G_define_standard_option(G_OPT_R3_OUTPUT);
+    prop_count_output_opt->key = "proportional_n";
+    prop_count_output_opt->required = YES;
+    prop_count_output_opt->label =
+        _("3D raster map of proportional point count");
+    prop_count_output_opt->description =
+        _("Point count per 3D cell divided by point count per vertical"
+          " column");
+    prop_count_output_opt->guisection = _("Proportional output");
+
+    prop_sum_output_opt = G_define_standard_option(G_OPT_R3_OUTPUT);
+    prop_sum_output_opt->key = "proportional_sum";
+    prop_sum_output_opt->required = YES;
+    prop_sum_output_opt->label =
+        _("3D raster map of proportional sum of values");
+    prop_sum_output_opt->description =
+        _("Sum of values per 3D cell divided by sum of values per"
+          " vertical column");
+    prop_sum_output_opt->guisection = _("Proportional output");
+
+    if (G_parser(argc, argv))
+        exit(EXIT_FAILURE);
+
+    LASReaderH LAS_reader;
+    LAS_reader = LASReader_Create(input_opt->answer);
+    if (LAS_reader == NULL)
+        G_fatal_error(_("Unable to open file <%s>"), input_opt->answer);
+
+    Rast3d_init_defaults();
+    Rast3d_set_error_fun(Rast3d_fatal_error_noargs);
+
+    RASTER3D_Region region, flat_region;
+    RASTER3D_Map *count_raster, *sum_raster, *mean_raster;
+    RASTER3D_Map *count_flat_raster, *sum_flat_raster;
+    RASTER3D_Map *prop_count_raster, *prop_sum_raster;
+
+    Rast3d_get_window(&region);
+    Rast3d_get_window(&flat_region);
+    flat_region.depths = 1;
+    Rast3d_adjust_region(&flat_region);
+
+    count_raster = Rast3d_open_new_opt_tile_size(count_output_opt->answer,
+                                           RASTER3D_USE_CACHE_DEFAULT,
+                                           &region, FCELL_TYPE, 32);
+    if (!count_raster)
+        Rast3d_fatal_error(_("Unable to create 3D raster map <%s>"),
+                           count_output_opt->answer);
+    sum_raster = Rast3d_open_new_opt_tile_size(sum_output_opt->answer,
+                                           RASTER3D_USE_CACHE_DEFAULT,
+                                           &region, FCELL_TYPE, 32);
+    if (!sum_raster)
+        Rast3d_fatal_error(_("Unable to create 3D raster map <%s>"),
+                           sum_output_opt->answer);
+    mean_raster = Rast3d_open_new_opt_tile_size(mean_output_opt->answer,
+                                           RASTER3D_USE_CACHE_DEFAULT,
+                                           &region, FCELL_TYPE, 32);
+    if (!mean_raster)
+        Rast3d_fatal_error(_("Unable to create 3D raster map <%s>"),
+                           mean_output_opt->answer);
+    count_flat_raster = Rast3d_open_new_opt_tile_size("r3_in_lidar_tmp_sum_flat",
+                                           RASTER3D_USE_CACHE_DEFAULT,
+                                           &flat_region, FCELL_TYPE, 32);
+    if (!count_flat_raster)
+        Rast3d_fatal_error(_("Unable to create 3D raster map <%s>"),
+                           count_output_opt->answer);
+    sum_flat_raster = Rast3d_open_new_opt_tile_size("r3_in_lidar_tmp_count_flat",
+                                           RASTER3D_USE_CACHE_DEFAULT,
+                                           &flat_region, FCELL_TYPE, 32);
+    if (!sum_flat_raster)
+        Rast3d_fatal_error(_("Unable to create 3D raster map <%s>"),
+                           count_output_opt->answer);
+    prop_count_raster = Rast3d_open_new_opt_tile_size(prop_count_output_opt->answer,
+                                           RASTER3D_USE_CACHE_DEFAULT,
+                                           &region, FCELL_TYPE, 32);
+    if (!prop_count_raster)
+        Rast3d_fatal_error(_("Unable to create 3D raster map <%s>"),
+                           prop_count_output_opt->answer);
+    prop_sum_raster = Rast3d_open_new_opt_tile_size(prop_sum_output_opt->answer,
+                                           RASTER3D_USE_CACHE_DEFAULT,
+                                           &region, FCELL_TYPE, 32);
+    if (!prop_sum_raster)
+        Rast3d_fatal_error(_("Unable to create 3D raster map <%s>"),
+                           prop_sum_output_opt->answer);
+
+    raster3d_set_value_float(count_raster, &region, 0);
+    raster3d_set_value_float(sum_raster, &region, 0);
+    raster3d_set_value_float(count_flat_raster, &flat_region, 0);
+    raster3d_set_value_float(sum_flat_raster, &flat_region, 0);
+
+    LASPointH LAS_point;
+    double east, north, top;
+    int row, col, depth;
+    double value;
+    double tmp;
+
+    /* TODO: use long long */
+    long unsigned inside = 0;
+    long unsigned outside = 0;
+
+    while ((LAS_point = LASReader_GetNextPoint(LAS_reader)) != NULL) {
+        if (!LASPoint_IsValid(LAS_point))
+            continue;
+
+        east = LASPoint_GetX(LAS_point);
+        north = LASPoint_GetY(LAS_point);
+        top = LASPoint_GetZ(LAS_point);
+
+        if (!Rast3d_is_valid_location(&region, north, east, top)) {
+            outside += 1;
+            continue;
+        }
+        Rast3d_location2coord(&region, north, east, top, &col, &row, &depth);
+        value = LASPoint_GetIntensity(LAS_point);
+
+        tmp = Rast3d_get_double(count_raster, col, row, depth);
+        Rast3d_put_double(count_raster, col, row, depth, tmp + 1);
+        tmp = Rast3d_get_double(count_flat_raster, col, row, 0);
+        Rast3d_put_double(count_flat_raster, col, row, 0, tmp + 1);
+        tmp = Rast3d_get_double(sum_raster, col, row, depth);
+        Rast3d_put_double(sum_raster, col, row, depth, tmp + value);
+        tmp = Rast3d_get_double(sum_flat_raster, col, row, 0);
+        Rast3d_put_double(sum_flat_raster, col, row, 0, tmp + value);
+
+        inside += 1;
+    }
+
+    raster3d_divide_by_flat(count_raster, count_flat_raster, prop_count_raster, &region);
+    raster3d_divide_by_flat(sum_raster, sum_flat_raster, prop_sum_raster, &region);
+
+    raster3d_divide(sum_raster, count_raster, mean_raster, &region);
+
+    G_message("Number of point inside: %lu", inside);
+    G_message("Number of point outside: %lu", outside);
+
+    Rast3d_close(prop_sum_raster);
+    Rast3d_close(prop_count_raster);
+    Rast3d_close(sum_flat_raster);  /* TODO: delete */
+    Rast3d_close(count_flat_raster);  /* TODO: delete */
+    Rast3d_close(mean_raster);
+    Rast3d_close(sum_raster);
+    Rast3d_close(count_raster);
+
+    exit(EXIT_SUCCESS);
+}
diff --git a/raster3d/r3.in.lidar/r3.in.lidar.html b/raster3d/r3.in.lidar/r3.in.lidar.html
new file mode 100644
index 0000000..eb9a0ef
--- /dev/null
+++ b/raster3d/r3.in.lidar/r3.in.lidar.html
@@ -0,0 +1,74 @@
+<h2>DESCRIPTION</h2>
+
+<p>
+<img src="r3_in_lidar.png">
+<p>
+<em>
+    Figure: Proportional count of points per 3D cell. When 50% of all
+    points in a vertical column fall into a given 3D cell, the value
+    is 0.5. Here, the green color was assigned to 0.5, red to 1 and
+    yellow to 0. The figure shows vertical slices and green color
+    indicates high vegetation while red color indicates bare ground.
+</em>
+<!--
+0% 255:255:100
+50% green
+100% red
+-->
+
+
+<h2>NOTES</h2>
+
+<ul>
+    <li>
+        This module is highly experimental. Don't rely on its
+        functionality or interface. Please report issues on the mailing
+        list or in the bug tracker.
+    <li>
+        No projection check or reprojection is performed, make sure you
+        are using data in the right projection for your GRASS Location.
+    <li>
+        Selection of points according to return or class is not yet
+        supported.
+    <li>All outputs are currently mandatory.
+    <li>Some temporary maps are created but not cleaned up.
+    <li>
+        Expects points to have intensity (random result for related
+        outputs when they don't).
+</ul>
+
+
+<h2>EXAMPLES</h2>
+
+Set the region according to a 2D raster and adding 3D minimum
+(bottom), maximum (top) and vertical (top-bottom) resolution.
+
+<div class="code"><pre>
+g.region rast=secref b=80 t=160 tbres=5 -p3
+</pre></div>
+
+Now, <em>r3.in.lidar</em> will create the 3D raster of the size
+given by the computation region:
+
+<div class="code"><pre>
+r3.in.lidar input=points.las n=points_n sum=points_sum \
+    mean=points_mean proportional_n=points_n_prop \
+    proportional_sum=points_sum_prop
+</pre></div>
+
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="r3.in.xyz.html">r3.in.xyz</a>,
+<a href="r.in.lidar.html">r.in.lidar</a>,
+<a href="v.in.lidar.html">v.in.lidar</a>,
+<a href="r.to.rast3.html">r.to.rast3</a>,
+<a href="r3.mapcalc.html">r3.mapcalc</a>,
+<a href="g.region.html">g.region</a>
+</em>
+
+
+<h2>AUTHOR</h2>
+
+Vaclav Petras, <a href="http://geospatial.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>
diff --git a/raster3d/r3.in.lidar/r3_in_lidar.png b/raster3d/r3.in.lidar/r3_in_lidar.png
new file mode 100644
index 0000000..c7e9795
Binary files /dev/null and b/raster3d/r3.in.lidar/r3_in_lidar.png differ
diff --git a/raster3d/r3.in.v5d/r3.in.v5d.html b/raster3d/r3.in.v5d/r3.in.v5d.html
index 16a2a90..46665cb 100644
--- a/raster3d/r3.in.v5d/r3.in.v5d.html
+++ b/raster3d/r3.in.v5d/r3.in.v5d.html
@@ -21,4 +21,4 @@ support for interactive data analysis, etc.
 <h2>AUTHOR</h2>
 Jaro Hofierka, GeoModel s.r.o., Slovakia
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster3d/r3.info/main.c b/raster3d/r3.info/main.c
index fe9663c..cf4009f 100644
--- a/raster3d/r3.info/main.c
+++ b/raster3d/r3.info/main.c
@@ -458,7 +458,7 @@ int main(int argc, char *argv[])
 	        fprintf(out, "max=%f\n", dmax);
 	}
 	if (hflag->answer) {
-	    if (hist_ok) {
+	    if (hist_ok && !gflag->answer) {
 		fprintf(out, "Title:\n");
 		fprintf(out, "   %s\n", Rast_get_history(&hist, HIST_TITLE));
 		fprintf(out, "Data Source:\n");
@@ -472,6 +472,22 @@ int main(int argc, char *argv[])
 			fprintf(out, "   %s\n", Rast_history_line(&hist, i));
 		}
 	    }
+            else if (hist_ok && gflag->answer) {
+		fprintf(out, "title=");
+		fprintf(out, "\"%s\"\n", Rast_get_history(&hist, HIST_TITLE));
+		fprintf(out, "source1=");
+		fprintf(out, "\"%s\"\n", Rast_get_history(&hist, HIST_DATSRC_1));
+		fprintf(out, "source2=");
+		fprintf(out, "\"%s\"\n", Rast_get_history(&hist, HIST_DATSRC_2));
+		fprintf(out, "description=");
+		fprintf(out, "\"%s\"\n", Rast_get_history(&hist, HIST_KEYWRD));
+		if (Rast_history_length(&hist)) {
+                    fprintf(out, "comments=\"", i);
+		    for (i = 0; i < Rast_history_length(&hist); i++)
+			fprintf(out, "%s", Rast_history_line(&hist, i));
+                    fprintf(out, "\"\n");
+		}
+            }
 	    else {
 		G_fatal_error(_("Error while reading history file"));
 	    }
diff --git a/raster3d/r3.info/r3.info.html b/raster3d/r3.info/r3.info.html
index 08b94a0..71d954a 100644
--- a/raster3d/r3.info/r3.info.html
+++ b/raster3d/r3.info/r3.info.html
@@ -13,4 +13,4 @@ Roman Waupotitsch, Michael Shapiro,
 Helena Mitasova, Bill Brown, Lubos Mitas,
 Jaro Hofierka
 
-<p><i>Last changed: $Date: 2011-09-13 22:15:31 +0200 (Tue, 13 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-13 13:15:31 -0700 (Tue, 13 Sep 2011) $</i>
diff --git a/raster3d/r3.mask/r3.mask.html b/raster3d/r3.mask/r3.mask.html
index e895e5f..b80fbf1 100644
--- a/raster3d/r3.mask/r3.mask.html
+++ b/raster3d/r3.mask/r3.mask.html
@@ -17,4 +17,4 @@ Roman Waupotitsch, Michael Shapiro,
 Helena Mitasova, Bill Brown, Lubos Mitas,
 Jaro Hofierka
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster3d/r3.mkdspf/r3.mkdspf.html b/raster3d/r3.mkdspf/r3.mkdspf.html
index eee36c8..365cd1f 100644
--- a/raster3d/r3.mkdspf/r3.mkdspf.html
+++ b/raster3d/r3.mkdspf/r3.mkdspf.html
@@ -65,4 +65,4 @@ copy them to their mapset.
 <a href="mailto:brown at gis.uiuc.edu">bbrown at gis.uiuc.edu</a>
 
 
-<p><i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/raster3d/r3.neighbors/main.c b/raster3d/r3.neighbors/main.c
index e3123da..a337bfa 100644
--- a/raster3d/r3.neighbors/main.c
+++ b/raster3d/r3.neighbors/main.c
@@ -42,7 +42,7 @@ struct menu
     {
     c_ave, "average", "average value"}, {
     c_median, "median", "median value"}, {
-    c_mode, "mode", "most frequently occuring value"}, {
+    c_mode, "mode", "most frequently occurring value"}, {
     c_min, "minimum", "lowest value"}, {
     c_max, "maximum", "highest value"}, {
     c_range, "range", "range value"}, {
diff --git a/raster3d/r3.neighbors/r3.neighbors.html b/raster3d/r3.neighbors/r3.neighbors.html
index b302cd4..86223fb 100644
--- a/raster3d/r3.neighbors/r3.neighbors.html
+++ b/raster3d/r3.neighbors/r3.neighbors.html
@@ -113,4 +113,4 @@ aggregation over the non-NULL voxels in the neighborhood.
 Soeren Gebbert
 
 <p>
-<i>Last changed: $Date: 2013-07-01 09:35:50 +0200 (Mon, 01 Jul 2013) $</i>  
+<i>Last changed: $Date: 2013-07-01 00:35:50 -0700 (Mon, 01 Jul 2013) $</i>  
diff --git a/raster3d/r3.null/r3.null.html b/raster3d/r3.null/r3.null.html
index 41b0dbf..120867a 100644
--- a/raster3d/r3.null/r3.null.html
+++ b/raster3d/r3.null/r3.null.html
@@ -13,4 +13,4 @@ Roman Waupotitsch, Michael Shapiro,
 Helena Mitasova, Bill Brown, Lubos Mitas,
 Jaro Hofierka
 
-<p><i>Last changed: $Date: 2011-09-13 22:15:31 +0200 (Tue, 13 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-13 13:15:31 -0700 (Tue, 13 Sep 2011) $</i>
diff --git a/raster3d/r3.out.ascii/r3.out.ascii.html b/raster3d/r3.out.ascii/r3.out.ascii.html
index 0d7e3fe..ec4e20a 100644
--- a/raster3d/r3.out.ascii/r3.out.ascii.html
+++ b/raster3d/r3.out.ascii/r3.out.ascii.html
@@ -192,4 +192,4 @@ levels: 2
 Roman Waupotitsch, Michael Shapiro, 
 Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka, Sören Gebbert
 
-<p><i>Last changed: $Date: 2015-02-01 01:46:56 +0100 (Sun, 01 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-20 19:31:26 -0800 (Tue, 20 Jan 2015) $</i>
diff --git a/raster3d/r3.out.netcdf/r3.out.netcdf.html b/raster3d/r3.out.netcdf/r3.out.netcdf.html
index 00ce22a..249779d 100644
--- a/raster3d/r3.out.netcdf/r3.out.netcdf.html
+++ b/raster3d/r3.out.netcdf/r3.out.netcdf.html
@@ -262,4 +262,4 @@ data:
 <h2>AUTHORS</h2>
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2012-06-14 11:20:10 +0200 (Thu, 14 Jun 2012) $</i>
+<p><i>Last changed: $Date: 2012-06-14 02:20:10 -0700 (Thu, 14 Jun 2012) $</i>
diff --git a/raster3d/r3.out.v5d/r3.out.v5d.html b/raster3d/r3.out.v5d/r3.out.v5d.html
index 067a0ec..5870e67 100644
--- a/raster3d/r3.out.v5d/r3.out.v5d.html
+++ b/raster3d/r3.out.v5d/r3.out.v5d.html
@@ -23,4 +23,4 @@ support for interactive data analysis, etc.
 <h2>AUTHOR</h2>
 Jaro Hofierka, GeoModel s.r.o., Slovakia
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster3d/r3.out.vtk/r3.out.vtk.html b/raster3d/r3.out.vtk/r3.out.vtk.html
index d5a4db7..fa743a5 100644
--- a/raster3d/r3.out.vtk/r3.out.vtk.html
+++ b/raster3d/r3.out.vtk/r3.out.vtk.html
@@ -173,4 +173,4 @@ paraview --data=/tmp/slovakia3d.vtk
 <h2>AUTHOR</h2>
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2014-11-23 23:39:42 +0100 (Sun, 23 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-23 14:32:44 -0800 (Sun, 23 Nov 2014) $</i>
diff --git a/raster3d/r3.retile/r3.retile.html b/raster3d/r3.retile/r3.retile.html
index 95988da..b294fbf 100644
--- a/raster3d/r3.retile/r3.retile.html
+++ b/raster3d/r3.retile/r3.retile.html
@@ -17,4 +17,4 @@ the new retiled 3D raster map.
 <h2>AUTHOR</h2>
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2013-03-27 22:42:23 +0100 (Wed, 27 Mar 2013) $</i>
+<p><i>Last changed: $Date: 2013-03-27 14:42:23 -0700 (Wed, 27 Mar 2013) $</i>
diff --git a/raster3d/r3.showdspf/r3.showdspf.html b/raster3d/r3.showdspf/r3.showdspf.html
index ba2f1c1..b4a1294 100644
--- a/raster3d/r3.showdspf/r3.showdspf.html
+++ b/raster3d/r3.showdspf/r3.showdspf.html
@@ -145,4 +145,4 @@ p6</tt>
 <a href="mailto:brown at gis.uiuc.edu">brown at gis.uiuc.edu</a>
 </signature>
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/raster3d/r3.stats/r3.stats.html b/raster3d/r3.stats/r3.stats.html
index e6cb3d7..8413b74 100644
--- a/raster3d/r3.stats/r3.stats.html
+++ b/raster3d/r3.stats/r3.stats.html
@@ -98,4 +98,4 @@ Sum of all cells:
 <h2>AUTHOR</h2>
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2013-02-07 10:56:17 +0100 (Thu, 07 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-07 01:56:17 -0800 (Thu, 07 Feb 2013) $</i>
diff --git a/raster3d/r3.support/r3.support.html b/raster3d/r3.support/r3.support.html
index a4c477e..72bc227 100644
--- a/raster3d/r3.support/r3.support.html
+++ b/raster3d/r3.support/r3.support.html
@@ -22,5 +22,5 @@ Soeren Gebbert, vTI/AK, soerengebbert gmooglemail.com<br>
 Based on r.support written by Micharl Shapiro, CERL and others
 
 
-<p><i>Last changed: $Date: 2012-03-17 11:57:36 +0100 (Sat, 17 Mar 2012) $</i>
+<p><i>Last changed: $Date: 2012-03-17 03:57:36 -0700 (Sat, 17 Mar 2012) $</i>
 
diff --git a/raster3d/r3.timestamp/r3.timestamp.html b/raster3d/r3.timestamp/r3.timestamp.html
index f7deb2f..08aa115 100644
--- a/raster3d/r3.timestamp/r3.timestamp.html
+++ b/raster3d/r3.timestamp/r3.timestamp.html
@@ -91,4 +91,4 @@ Lockheed Martin Space Systems<br>
 based on r.timestamp by Michael Shapiro, <br>
 U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/raster3d/r3.to.rast/r3.to.rast.html b/raster3d/r3.to.rast/r3.to.rast.html
index c7da80c..42d96fb 100644
--- a/raster3d/r3.to.rast/r3.to.rast.html
+++ b/raster3d/r3.to.rast/r3.to.rast.html
@@ -34,4 +34,4 @@ The number of slices is equal to the number of depths.
 <h2>AUTHOR</h2>
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2013-03-26 21:28:19 +0100 (Tue, 26 Mar 2013) $</i>
+<p><i>Last changed: $Date: 2013-03-26 13:28:19 -0700 (Tue, 26 Mar 2013) $</i>
diff --git a/raster3d/raster3dintro.html b/raster3d/raster3dintro.html
index 4087380..0143e49 100644
--- a/raster3d/raster3dintro.html
+++ b/raster3d/raster3dintro.html
@@ -22,30 +22,36 @@ can be specified at import time with a given import module such as
 
 <div align="center" style="margin: 10px">
 <img src="raster3d_layout.png" border=0><br>
-<i>The 3D raster map coordinate system and tile layout of the RASTER3D library</i>
+<i>
+    The 3D raster map coordinate system and the internal tile layout of
+    the RASTER3D library
+</i>
 </div>
 
+
 <h3>Terminology and naming</h3>
 
-GRASS GIS uses terminology where continuous 3D data represented by regular grid
+In GRASS GIS terminology, continuous 3D data represented by regular grid
 or lattice is called <em>3D raster map</em>.
-3D raster map works in 3D in the same as (2D) raster map in 2D,
+3D raster map works in 3D in the same was as (2D) raster map in 2D,
 so it is called the same except for the additional 3D.
 Some literature or other software may use terms such as 3D grid, 3D lattice,
 3D matrix, 3D array, volume, voxel, voxel model, or voxel cube.
 Note that terms volume and volumetric often refer to measuring
 volume (amount) of some substance which may or may not be related to 3D rasters.
 
+<p>
 Note that GRASS GIS uses the term 3D raster map or just 3D raster for short,
 rather than 3D raster layer because term map emphasizes
 the mapping of positions to values which is the purpose of 3D raster map
-(in mathematics, map or mapping is close to a term function).
-While the term layer emphasizes overlaying or stacking up.
-The former is not the only only operation done with data
+(in mathematics, map or mapping is close to a term function)
+On the other hand, the term layer emphasizes overlaying or stacking up.
+The former is not the only operation done with data
 and the latter could be confusing in case of 3D raster data.
 
-3D raster map is divided into cells in the same as the (2D) raster map.
-A cell is a cuboid or cube depending on the resolution.
+<p>
+3D raster map is divided into cells in the same way as the (2D) raster map.
+A cell is a cube or a (rectangular) cuboid depending on the resolution.
 The resolution influences volume of one cell.
 Some literature or other software may use terms such as volume, volume unit,
 volumetric pixel, volume pixel, or voxel.
@@ -53,11 +59,14 @@ Note that voxel can be sometimes used to refer to a whole 3D raster
 and that for example in 3D computer graphics, voxel can denote object
 with some complicated shape.
 
+<p>
 Type of map and element name in GRASS GIS is called <code>raster_3d</code>.
 The module family prefix is <code>r3</code>.
-Occasionally, for example in Python, 3D raster related things can be
+Occasionally, 3D raster related things can be
 referred differently, for example according to a programming language standards.
+This might be the case of some functions or classes in Python.
 
+<p>
 In GRASS GIS 3D rasters as stored in tiles which are hidden from user most
 of the time. When analyzing or visualizing 3D rasters user can create
 slices or cross sections. Slices can be horizontal, vertical, or general
@@ -65,12 +74,17 @@ plains going through a 3D raster. Slices, especially the horizontal ones, may be
 called layers in some literature or some other software.
 Cross sections are general functions, e.g. defined by 2D raster, going through
 a 3D raster.
+Another often used term is an isosuface which has the same relation to
+3D raster as contour (isoline) to a 2D raster. An isosurface is
+a surface that represent places with a constant value.
 
+<p>
 When 3D raster is used in the way that vertical dimension represents time
 3D raster can be referred to as space time cubes (STC) or space time cube
 3D raster. Some literature may also use space time voxel cube,
 space time voxel model or some other combination.
 
+
 <h3>3D raster import</h3>
 
 The modules <a href="r3.in.ascii.html">r3.in.ascii</a> and
@@ -85,6 +99,13 @@ a 3D raster can be composed of several 2D raster maps.
 2D rasters are considered as slices in this case and
 merged into one 3D raster map (<a href="r.to.rast3.html">r.to.rast3</a>).
 
+<p>
+Import of 3D points and their statistics can be done using
+<a href="r3.in.lidar.html">r3.in.lidar</a> for LiDAR data and
+<a href="r3.in.xyz.html">r3.in.xyz</a> for CSV and other ASCII text
+formats.
+
+
 <h3>3D region settings and 3D MASK</h3>
 
 GRASS GIS 3D raster map processing is always performed in the current 3D region
@@ -133,6 +154,13 @@ NetCDF export of 3D raster maps can be performed using the module
 <a href="r3.out.netcdf.html">r3.out.netcdf</a>. It supports 3D raster maps
 with spatial dimensions and temporal (vertical) dimension.
 
+
+<h3>Working with 3D visualization software</h3>
+
+GRASS GIS can be used for visualization of 3D rasters, however
+it has also tools to easily export the data into other visualization
+packages.
+
 <p>
 GRASS GIS 3D raster maps can be exported to VTK
 using <a href="r3.out.vtk.html">r3.out.vtk</a>.
@@ -146,10 +174,10 @@ and GRASS GIS vector maps can be exported to VTK with
 <a href="v.out.vtk.html">v.out.vtk</a>.
 
 <p>
-Alternatively, GRASS 3D raster maps can be imported and exported from/to Vis5D
-(<a href="r3.in.v5d.html">r3.in.v5d</a>, <a href="r3.out.v5d.html">r3.out.v5d</a>).
-Note that Vis5D is limited in the number of supported volumes.
-<!-- it is not clear what 'volume' means here -->
+Alternatively, GRASS 3D raster maps can be imported and exported from/to
+<em><a href="http://vis5d.sourceforge.net/">Vis5D</a></em>
+(<a href="r3.in.v5d.html">r3.in.v5d</a>,
+<a href="r3.out.v5d.html">r3.out.v5d</a>).
 
 
 <h3>3D raster data types</h3>
diff --git a/scripts/Makefile b/scripts/Makefile
index d630187..97880d7 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -2,6 +2,7 @@ MODULE_TOPDIR = ..
 
 SUBDIRS = \
 	d.correlate \
+	d.frame \
 	d.out.file \
 	d.to.rast \
 	d.polar \
@@ -20,6 +21,7 @@ SUBDIRS = \
 	g.extension \
 	g.extension.all \
 	g.manual \
+	g.search.modules \
 	i.colors.enhance \
 	i.image.mosaic \
 	i.in.spotvgt \
@@ -33,7 +35,7 @@ SUBDIRS = \
 	r.colors.stddev \
 	r.fillnulls \
 	r.grow \
-	r.import \
+    r.import \
 	r.in.aster \
 	r.in.srtm \
 	r.in.wms \
diff --git a/scripts/d.correlate/d.correlate.html b/scripts/d.correlate/d.correlate.html
index 37b67d0..307348a 100644
--- a/scripts/d.correlate/d.correlate.html
+++ b/scripts/d.correlate/d.correlate.html
@@ -44,4 +44,4 @@ Michael Shapiro,
 <a href="http://www.cecer.army.mil/">U.S.Army Construction Engineering Research Laboratory</a>
 <p>Rewritten to GRASS 6 (from csh to sh) by Markus Neteler; from sh to Python by Glynn Clements
 
-<p><i>Last changed: $Date: 2015-10-27 18:41:34 +0100 (Tue, 27 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-27 10:40:48 -0700 (Tue, 27 Oct 2015) $</i>
diff --git a/scripts/d.frame/Makefile b/scripts/d.frame/Makefile
new file mode 100644
index 0000000..a730ddb
--- /dev/null
+++ b/scripts/d.frame/Makefile
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../..
+
+PGM = d.frame
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script
diff --git a/scripts/d.frame/d.frame.html b/scripts/d.frame/d.frame.html
new file mode 100644
index 0000000..7eb6627
--- /dev/null
+++ b/scripts/d.frame/d.frame.html
@@ -0,0 +1,95 @@
+<h2>DESCRIPTION</h2>
+
+<em>d.frame</em> manages display frames on the current user's graphics
+monitor. Graphics are displayed in rectangular frames on whatever
+graphics monitor the user is currently directing GRASS display output
+to (defined by <em><a href="d.mon.html">d.mon</a></em> module). These
+frames are created and managed with this module.
+
+<p>
+Note that GRASS frame contents <em>are not</em> retained when one
+frame covers another. You cannot shuffle frames from top to bottom and
+then back again. They simply define rectangular areas on the screen
+where subsequent drawing will occur.
+
+<h2>NOTES</h2>
+
+The coordinates for the <b>at</b> option are stated in the form
+<em>top,bottom,left,right</em> values are in percent. The upper-left
+corner of the graphics monitor always is at location 0,0 while the
+monitor's lower-right corner is always at 100,100.
+
+<p>
+If the user has created multiple display frames that overlap one another, 
+whatever the user displays in the active frame will overwrite 
+those portions of the underlying frame where these frames overlap. 
+
+<h2>EXAMPLE</h2>
+
+<div class="code"><pre>
+# start a new graphics monitor, the data will be rendered to
+# /tmp/map.png image output file of size 600x540px
+d.mon cairo out=/tmp/map.png width=600 height=540 --o
+
+# set up region
+g.region raster=elevation
+
+# remove all frames and erase the current graphics monitor
+d.frame -e
+
+# create a first frame and display 'landuse96_28m' raster map including text label
+d.frame -c frame=first at=0,50,0,50
+d.rast landuse96_28m
+d.text text='Landuse' bgcolor=220:220:220 color=black size=6
+
+# create a second frame and display 'streams' vector map
+d.frame -c frame=second at=0,50,50,100
+d.vect streams color=blue
+d.text text='Streams' bgcolor=220:220:220 color=black size=6
+
+# create a third frame and display 'elevation' raster map including text label and scale
+d.frame -c frame=third at=50,100,0,50
+d.rast elevation
+d.text text='Elevation' bgcolor=220:220:220 color=black size=6
+d.barscale at=0,10 style=line bgcolor=none
+
+# create a fourth frame and display RGB composition map including text label
+d.frame -c frame=fourth at=50,100,50,100
+d.rgb red=lsat7_2002_30 green=lsat7_2002_20 blue=lsat7_2002_10
+d.text text='RGB true colors' bgcolor=220:220:220 color=black size=6
+
+# release the current graphics monitor
+d.mon -r
+</pre></div>
+
+<center>
+  <img src="d_frame.png" alt="d.frame example"><br>
+  <em>Figure: d.frame example</em>
+</center>
+
+<h2>SEE ALSO</h2>
+
+<em>
+  <a href="d.erase.html">d.erase</a>,
+  <a href="d.info.html">d.info</a>,
+  <a href="d.mon.html">d.mon</a>,
+  <a href="d.redraw.html">d.redraw</a>
+</em>
+
+<p>
+  <a href="variables.html#list-of-selected-grass-environment-variables-for-rendering">GRASS environment variables for
+  rendering</a> (GRASS_RENDER_FRAME)
+  
+<h2>AUTHOR</h2>
+
+Martin Landa, Czech Technical University in Prague, Czech Republic
+
+<p>
+Based on <em>d.frame</em> from GRASS 6:<br>
+James Westervelt, U.S. Army Construction Engineering Research
+Laboratory<br>
+Michael Shapiro, U.S. Army Construction Engineering 
+Research Laboratory
+
+<p>
+<i>Last changed: $Date: 2015-02-03 08:55:49 -0800 (Tue, 03 Feb 2015) $</i>
diff --git a/scripts/d.frame/d.frame.py b/scripts/d.frame/d.frame.py
new file mode 100755
index 0000000..4eada58
--- /dev/null
+++ b/scripts/d.frame/d.frame.py
@@ -0,0 +1,256 @@
+#!/usr/bin/env python
+
+############################################################################
+#
+# MODULE:       d.frame
+# AUTHOR(S):    Martin Landa <landa.martin gmail.com>
+#               Based on d.frame from GRASS 6
+# PURPOSE:      Manages display frames on the user's graphics monitor
+# COPYRIGHT:    (C) 2014-2015 by Martin Landa, and the GRASS Development Team
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+############################################################################
+#%module
+#% description: Manages display frames on the user's graphics monitor.
+#% keyword: display
+#% keyword: graphics
+#% keyword: monitors
+#% keyword: frame
+#% overwrite: yes
+#%end
+#%flag
+#% key: c
+#% description: Create a new frame if doesn't exist and select
+#%end
+#%flag
+#% key: e
+#% description: Remove all frames, erase the screen and exit
+#% suppress_required: yes
+#%end
+#%flag
+#% key: p
+#% description: Print name of current frame and exit
+#% suppress_required: yes
+#%end
+#%flag
+#% key: a
+#% description: Print names of all frames including 'at' position and exit
+#% suppress_required: yes
+#%end
+#%option
+#% key: frame
+#% type: string
+#% required: yes
+#% multiple: no
+#% key_desc: name
+#% description: Frame to be selected or created (if -c flag is given)
+#%end
+#%option
+#% key: at
+#% type: double
+#% required: no
+#% multiple: no
+#% key_desc: bottom,top,left,right
+#% label: Screen coordinates in percent where to place the frame (0,0 is lower-left)
+#% options: 0-100
+#% description: Implies only when -c or --overwrite flag is given
+#%end
+
+import os
+import sys
+
+from grass.script.core import parser, read_command, fatal, debug, run_command, gisenv, warning, parse_command
+
+# check if monitor is running
+def check_monitor():
+    return read_command('d.mon', flags='p', quiet=True).strip()
+
+# read monitor file and return list of lines
+# TODO: replace by d.info (see #2577)
+def read_monitor_file(monitor, ftype='env'):
+    mfile = check_monitor_file(monitor, ftype)
+    try:
+        fd = open(mfile, 'r')
+    except IOError as e:
+        fatal(_("Unable to get monitor info. %s"), e)
+
+    lines = []
+    for line in fd.readlines():
+        lines.append(line)
+
+    fd.close()
+    
+    return lines
+
+# check if monitor file exists
+def check_monitor_file(monitor, ftype='env'):
+    mfile = parse_command('d.mon', flags='g').get(ftype, None)
+    if mfile is None or not os.path.isfile(mfile):
+        fatal(_("Unable to get monitor info (no %s found)") % var)
+    
+    return mfile
+
+# write new monitor file
+def write_monitor_file(monitor, lines, ftype='env'):
+    mfile = check_monitor_file(monitor, ftype)
+
+    try:
+        fd = open(mfile, 'w')
+    except IOError as e:
+        fatal(_("Unable to get monitor info. %s"), e)
+
+    fd.writelines(lines)
+    fd.close()
+
+# remove all frames and erase screen
+def erase(monitor):
+    # remove frames
+    lines = []
+    for line in read_monitor_file(monitor):
+        if 'FRAME' not in line:
+            lines.append(line)
+            
+    write_monitor_file(monitor, lines)
+    
+    # erase screen
+    run_command('d.erase')
+
+# find frame for given monitor
+def find_frame(monitor, frame):
+    for line in read_monitor_file(monitor):
+        if 'FRAME' in line:
+            if get_frame_name(line) == frame:
+                return True
+
+    return False
+
+# print frames name(s) to stdout
+def print_frames(monitor, current_only=False, full=False):
+    for line in read_monitor_file(monitor):
+        if 'FRAME' not in line:
+            continue
+        if current_only and line.startswith('#'):
+            continue
+        sys.stdout.write(get_frame_name(line))
+        if full:
+            sys.stdout.write(':' + line.split('=', 1)[1].rsplit('#', 1)[0])
+        sys.stdout.write('\n')
+
+# get frame name from line
+def get_frame_name(line):
+    return line.rstrip('\n').rsplit('#', 1)[1].strip(' ')
+
+# calculate position of the frame in percent
+def calculate_frame(frame, at, width, height):
+    try:
+        b, t, l, r = map(float, at.split(','))
+    except:
+        fatal(_("Invalid frame position: %s") % at)
+
+    top = height - (t / 100. * height)
+    bottom = height - (b / 100. * height)
+    left = l / 100. * width
+    right = r / 100. * width
+    
+    return 'GRASS_RENDER_FRAME=%d,%d,%d,%d # %s%s' % \
+        (top, bottom, left, right, frame, '\n')
+    
+# create new frame
+def create_frame(monitor, frame, at, overwrite=False):
+    lines = read_monitor_file(monitor)
+    # get width and height of the monitor
+    width = height = -1
+    for line in lines:
+        try:
+            if 'WIDTH' in line:
+                width = int(line.split('=', 1)[1].rsplit(' ', 1)[0])
+            elif 'HEIGHT' in line:
+                height = int(line.split('=', 1)[1].rsplit(' ', 1)[0])
+        except:
+            pass
+
+    if width < 0 or height < 0:
+        fatal(_("Invalid monitor size: %dx%d") % (width, height))
+    
+    if not overwrite:
+        lines.append(calculate_frame(frame, at, width, height))
+    else:
+        for idx in range(len(lines)):
+            line = lines[idx]
+            if 'FRAME' not in line:
+                continue
+            if get_frame_name(line) == frame:
+                lines[idx] = calculate_frame(frame, at, width, height)
+    
+    write_monitor_file(monitor, lines)
+
+# select existing frame
+def select_frame(monitor, frame):
+    lines = read_monitor_file(monitor)
+    for idx in range(len(lines)):
+        line = lines[idx]
+        if 'FRAME' not in line:
+            continue
+        if get_frame_name(line) == frame:
+            if line.startswith('#'):
+                lines[idx] = line.lstrip('# ') # un-comment line
+        elif not line.startswith('#'):
+            lines[idx] = '# ' + line # comment-line
+    
+    write_monitor_file(monitor, lines)
+    
+def main():
+    # get currently selected monitor
+    monitor = check_monitor()
+    if not monitor:
+        fatal(_("No graphics device selected. Use d.mon to select graphics device."))
+    
+    if flags['e']:
+        # remove frames and erase monitor and exit
+        erase(monitor)
+        return
+    
+    if flags['p']:
+        # print current frame and exit
+        print_frames(monitor, current_only=True)
+        return
+        
+    if flags['a']:
+        # print all frames including their position and exit
+        print_frames(monitor, current_only=False, full=True)
+        return
+
+    found = find_frame(monitor, options['frame'])
+    if not found:
+        if not flags['c']:
+            fatal(_("Frame <%s> doesn't exist, exiting. "
+                    "To create a new frame use '-c' flag.") % options['frame'])
+        else:
+            if not options['at']:
+                fatal(_("Required parameter <%s> not set") % "at")
+            # create new frame if not exists
+            create_frame(monitor, options['frame'], options['at'])
+    else:
+        if os.getenv('GRASS_OVERWRITE', '0') == '1':
+            warning(_("Frame <%s> already exists and will be overwritten") % options['frame'])
+            create_frame(monitor, options['frame'], options['at'], overwrite=True)
+        else:
+            if options['at']:
+                warning(_("Frame <%s> already found. An existing frame can be overwritten by '%s' flag.") % \
+                        (options['frame'], "--overwrite"))
+    
+    # select givenframe 
+    select_frame(monitor, options['frame'])
+            
+if __name__ == "__main__":
+    options, flags = parser()
+    sys.exit(main())
diff --git a/scripts/d.frame/d_frame.png b/scripts/d.frame/d_frame.png
new file mode 100644
index 0000000..8096f99
Binary files /dev/null and b/scripts/d.frame/d_frame.png differ
diff --git a/scripts/d.out.file/d.out.file.html b/scripts/d.out.file/d.out.file.html
index 869e45f..05770bd 100644
--- a/scripts/d.out.file/d.out.file.html
+++ b/scripts/d.out.file/d.out.file.html
@@ -3,7 +3,7 @@
 <em>d.out.file</em> saves the content of the currently selected
 monitor into graphic file. The active monitor can be selected
 with <em>d.mon</em>. <em>d.out.file</em> can be run from GUI
-command console, too.
+Console tab, too.
 
 <h2>SEE ALSO</h2>
  
@@ -19,4 +19,4 @@ command console, too.
 
 Anna Petrasova, <a href="http://gis.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>
 
-<p><i>Last changed: $Date: 2014-03-26 16:49:20 +0100 (Wed, 26 Mar 2014) $</i>
+<p><i>Last changed: $Date: 2016-02-18 17:42:11 -0800 (Thu, 18 Feb 2016) $</i>
diff --git a/scripts/d.out.file/d.out.file.py b/scripts/d.out.file/d.out.file.py
index 90ed59f..896ce6e 100644
--- a/scripts/d.out.file/d.out.file.py
+++ b/scripts/d.out.file/d.out.file.py
@@ -5,7 +5,7 @@
 # MODULE: d.out.file
 # AUTHOR(S): Anna Petrasova <kratochanna gmail.com>
 # PURPOSE:	Script for exporting content of monitor to graphic file
-# COPYRIGHT: (C) 2014 by the GRASS Development Team
+# COPYRIGHT: (C) 2014-2015 by the GRASS Development Team
 #
 #		This program is free software under the GNU General
 #		Public License (>=v2). Read the file COPYING that
@@ -45,7 +45,7 @@ def main():
     options, flags = gcore.parser()
     gisenv = gcore.gisenv()
     if 'MONITOR' in gisenv:
-        cmd_file = gisenv['MONITOR_{monitor}_CMDFILE'.format(monitor=gisenv['MONITOR'].upper())]
+        cmd_file = gcore.parse_command('d.mon', flags='g')['cmd']
         dout_cmd = 'd.out.file'
         for param, val in options.iteritems():
             if val:
diff --git a/scripts/d.polar/d.polar.html b/scripts/d.polar/d.polar.html
index d9d19a6..6132728 100644
--- a/scripts/d.polar/d.polar.html
+++ b/scripts/d.polar/d.polar.html
@@ -72,4 +72,4 @@ Markus Neteler, ITC-irst, Italy<br>
 Bruno Caprile, ITC-irst, Italy<br>
 Hamish Bowman, Otago University, New Zealand<br>
 
-<p><i>Last changed: $Date: 2015-09-05 17:56:17 +0200 (Sat, 05 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-05 08:57:08 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/scripts/d.rast.edit/d.rast.edit.html b/scripts/d.rast.edit/d.rast.edit.html
index 594291a..0871491 100644
--- a/scripts/d.rast.edit/d.rast.edit.html
+++ b/scripts/d.rast.edit/d.rast.edit.html
@@ -114,4 +114,4 @@ Replaces Xdriver version in C by Chris Rewerts,
 Agricultural Engineering,
 Purdue University
 
-<p><i>Last changed: $Date: 2012-08-13 17:31:56 +0200 (Mon, 13 Aug 2012) $</i>
+<p><i>Last changed: $Date: 2012-08-13 08:31:56 -0700 (Mon, 13 Aug 2012) $</i>
diff --git a/scripts/d.rast.leg/d.rast.leg.html b/scripts/d.rast.leg/d.rast.leg.html
index 5a94496..24d7be4 100644
--- a/scripts/d.rast.leg/d.rast.leg.html
+++ b/scripts/d.rast.leg/d.rast.leg.html
@@ -46,4 +46,4 @@ Jianping Xu, Scott Madry, Rutgers University<br>
 Markus Neteler
 
 <p>
-<i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 08:22:17 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/scripts/d.rast.leg/d.rast.leg.py b/scripts/d.rast.leg/d.rast.leg.py
index ab62689..10326cd 100755
--- a/scripts/d.rast.leg/d.rast.leg.py
+++ b/scripts/d.rast.leg/d.rast.leg.py
@@ -65,6 +65,7 @@ import sys
 import os
 import grass.script as grass
 
+
 def make_frame(f, b, t, l, r):
     (fl, fr, ft, fb) = f
 
diff --git a/scripts/d.redraw/d.redraw.html b/scripts/d.redraw/d.redraw.html
index 6de8bbf..f3b88cc 100644
--- a/scripts/d.redraw/d.redraw.html
+++ b/scripts/d.redraw/d.redraw.html
@@ -17,4 +17,4 @@ with <em>d.mon</em>.
 
 Martin Landa, Czech Republic
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/d.redraw/d.redraw.py b/scripts/d.redraw/d.redraw.py
index 38b3d1c..f56efc4 100755
--- a/scripts/d.redraw/d.redraw.py
+++ b/scripts/d.redraw/d.redraw.py
@@ -5,7 +5,7 @@
 # MODULE:	d.redraw
 # AUTHOR(S):	Martin Landa <landa.martin gmail.com>
 # PURPOSE:	Redraws the content of currently selected monitor
-# COPYRIGHT:	(C) 2011 by the GRASS Development Team
+# COPYRIGHT:	(C) 2011-2015 by the GRASS Development Team
 #
 #		This program is free software under the GNU General
 #		Public License (>=v2). Read the file COPYING that
@@ -20,29 +20,20 @@
 #% keyword: monitors
 #%end
 
+import os
 import sys
-import shlex
 
 from grass.script import core as grass
-
-def split(s):
-    """!Platform specific shlex.split"""
-    if sys.version_info >= (2, 6):
-        return shlex.split(s, posix = (sys.platform != "win32"))
-    elif sys.platform == "win32":
-        return shlex.split(s.replace('\\', r'\\'))
-    else:
-        return shlex.split(s)
+from grass.script.utils import split
 
 def main():
-    env = grass.gisenv()
-    mon = env.get('MONITOR', None)
+    mon = grass.gisenv().get('MONITOR', None)
     if not mon:
         grass.fatal(_("No graphics device selected. Use d.mon to select graphics device."))
-    
-    monCmd = env.get('MONITOR_%s_CMDFILE' % mon.upper())
-    if not monCmd:
-        grass.fatal(_("No cmd file found for monitor <%s>") % mon)
+
+    monCmd = grass.parse_command('d.mon', flags='g').get('cmd', None)
+    if not monCmd or not os.path.isfile(monCmd):
+        grass.fatal(_("Unable to open file '%s'") % monCmd)
 
     try:
         fd = open(monCmd, 'r')
diff --git a/scripts/d.shade/d.shade.html b/scripts/d.shade/d.shade.html
index b3caad4..e11683c 100644
--- a/scripts/d.shade/d.shade.html
+++ b/scripts/d.shade/d.shade.html
@@ -86,4 +86,4 @@ elevation raster map, for example using <tt>haxby</tt> color table.
 Unknown; updated to GRASS 5.7 by Michael Barton
 
 <p>
-<i>Last changed: $Date: 2015-02-13 16:16:22 +0100 (Fri, 13 Feb 2015) $</i>
+<i>Last changed: $Date: 2015-02-13 07:14:07 -0800 (Fri, 13 Feb 2015) $</i>
diff --git a/scripts/d.to.rast/d.to.rast.html b/scripts/d.to.rast/d.to.rast.html
index 6a09178..e485caf 100644
--- a/scripts/d.to.rast/d.to.rast.html
+++ b/scripts/d.to.rast/d.to.rast.html
@@ -3,7 +3,7 @@
 <em>d.to.rast</em> saves the content of the currently selected
 monitor into a raster map. The active monitor can be selected
 with <em>d.mon</em>. <em>d.to.rast</em> can be run from GUI
-command console, too. This module is not sensitive to computational region settings.
+Console tab, too. This module is not sensitive to computational region settings.
 
 <h2>EXAMPLE</h2>
 We combine different raster and vector map layers to create a composite layer
@@ -48,4 +48,4 @@ Figure: Raster map created by <em>d.to.rast</em> draped over digital elevation m
 
 Anna Petrasova, <a href="http://gis.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-02-18 17:42:11 -0800 (Thu, 18 Feb 2016) $</i>
diff --git a/scripts/d.to.rast/d.to.rast.py b/scripts/d.to.rast/d.to.rast.py
index e3b5f57..f978948 100644
--- a/scripts/d.to.rast/d.to.rast.py
+++ b/scripts/d.to.rast/d.to.rast.py
@@ -5,7 +5,7 @@
 # MODULE:    d.to.rast
 # AUTHOR(S): Anna Petrasova <kratochanna gmail.com>
 # PURPOSE:	 Script for exporting content of monitor to raster map
-# COPYRIGHT: (C) 2014 by the GRASS Development Team
+# COPYRIGHT: (C) 2014-2015 by the GRASS Development Team
 #
 #		This program is free software under the GNU General
 #		Public License (>=v2). Read the file COPYING that
@@ -30,7 +30,7 @@ def main():
     options, flags = gcore.parser()
     gisenv = gcore.gisenv()
     if 'MONITOR' in gisenv:
-        cmd_file = gisenv['MONITOR_{monitor}_CMDFILE'.format(monitor=gisenv['MONITOR'].upper())]
+        cmd_file = gcore.parse_command('d.mon', flags='g')['cmd']
         d_cmd = 'd.to.rast'
         for param, val in options.iteritems():
             if val:
diff --git a/scripts/d.what.rast/d.what.rast.html b/scripts/d.what.rast/d.what.rast.html
index 9d009eb..324bd70 100644
--- a/scripts/d.what.rast/d.what.rast.html
+++ b/scripts/d.what.rast/d.what.rast.html
@@ -19,4 +19,4 @@ The active monitor can be selected with <em>d.mon</em>.
 
 Anna Petrasova, <a href="http://gis.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>
 
-<p><i>Last changed: $Date: 2015-01-01 23:24:49 +0100 (Thu, 01 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-05 09:13:18 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/scripts/d.what.rast/d.what.rast.py b/scripts/d.what.rast/d.what.rast.py
index 94804b0..df53115 100644
--- a/scripts/d.what.rast/d.what.rast.py
+++ b/scripts/d.what.rast/d.what.rast.py
@@ -5,7 +5,7 @@
 # MODULE:    d.what.rast
 # AUTHOR(S): Anna Petrasova <kratochanna gmail.com>
 # PURPOSE:   Script for querying raster maps in d.mon
-# COPYRIGHT: (C) 2014 by the GRASS Development Team
+# COPYRIGHT: (C) 2014-2015 by the GRASS Development Team
 #
 #		This program is free software under the GNU General
 #		Public License (>=v2). Read the file COPYING that
@@ -30,7 +30,9 @@ def main():
     options, flags = gcore.parser()
     gisenv = gcore.gisenv()
     if 'MONITOR' in gisenv:
-        cmd_file = gisenv['MONITOR_{monitor}_CMDFILE'.format(monitor=gisenv['MONITOR'].upper())]
+        cmd_file = gcore.parse_command('d.mon', flags='g').get('cmd', None)
+        if not cmd_file:
+            gcore.fatal(_("Unable to open file '%s'") % cmd_file)
         dout_cmd = 'd.what.rast'
         for param, val in options.iteritems():
             if val:
diff --git a/scripts/d.what.vect/d.what.vect.html b/scripts/d.what.vect/d.what.vect.html
index e360e9f..62dc533 100644
--- a/scripts/d.what.vect/d.what.vect.html
+++ b/scripts/d.what.vect/d.what.vect.html
@@ -19,4 +19,4 @@ The active monitor can be selected with <em>d.mon</em>.
 
 Anna Petrasova, <a href="http://gis.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>
 
-<p><i>Last changed: $Date: 2015-01-01 23:24:49 +0100 (Thu, 01 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-05 09:13:18 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/scripts/d.what.vect/d.what.vect.py b/scripts/d.what.vect/d.what.vect.py
index fa6d5e0..64ca26f 100644
--- a/scripts/d.what.vect/d.what.vect.py
+++ b/scripts/d.what.vect/d.what.vect.py
@@ -30,7 +30,9 @@ def main():
     options, flags = gcore.parser()
     gisenv = gcore.gisenv()
     if 'MONITOR' in gisenv:
-        cmd_file = gisenv['MONITOR_{monitor}_CMDFILE'.format(monitor=gisenv['MONITOR'].upper())]
+        cmd_file = gcore.parse_command('d.mon', flags='g').get('cmd', None)
+        if not cmd_file:
+            gcore.fatal(_("Unable to open file '%s'") % cmd_file)
         dout_cmd = 'd.what.vect'
         for param, val in options.iteritems():
             if val:
diff --git a/scripts/db.dropcolumn/db.dropcolumn.html b/scripts/db.dropcolumn/db.dropcolumn.html
index 020ff79..826802d 100644
--- a/scripts/db.dropcolumn/db.dropcolumn.html
+++ b/scripts/db.dropcolumn/db.dropcolumn.html
@@ -41,4 +41,4 @@ db.describe -c myroads
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/db.droptable/db.droptable.html b/scripts/db.droptable/db.droptable.html
index cb94d0c..e337af8 100644
--- a/scripts/db.droptable/db.droptable.html
+++ b/scripts/db.droptable/db.droptable.html
@@ -62,4 +62,4 @@ Markus Neteler<br>
 Driver and database options added by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-02-13 16:16:22 +0100 (Fri, 13 Feb 2015) $</i>
+<i>Last changed: $Date: 2015-02-13 07:14:07 -0800 (Fri, 13 Feb 2015) $</i>
diff --git a/scripts/db.in.ogr/db.in.ogr.html b/scripts/db.in.ogr/db.in.ogr.html
index a141051..2014d0d 100644
--- a/scripts/db.in.ogr/db.in.ogr.html
+++ b/scripts/db.in.ogr/db.in.ogr.html
@@ -74,4 +74,4 @@ db.in.ogr input=address.xls db_table=address_data
 Markus Neteler
 
 <p>
-<i>Last changed: $Date: 2015-12-17 15:41:28 +0100 (Thu, 17 Dec 2015) $</i>
+<i>Last changed: $Date: 2015-12-17 06:38:13 -0800 (Thu, 17 Dec 2015) $</i>
diff --git a/scripts/db.in.ogr/db.in.ogr.py b/scripts/db.in.ogr/db.in.ogr.py
index d459e90..0825e28 100755
--- a/scripts/db.in.ogr/db.in.ogr.py
+++ b/scripts/db.in.ogr/db.in.ogr.py
@@ -4,9 +4,9 @@
 #
 # MODULE:       db.in.ogr
 # AUTHOR(S):   	Markus Neteler
-# PURPOSE:      imports attribute tables in various formats
+# PURPOSE:      Imports attribute tables in various formats
 #               Converted to Python by Glynn Clements
-# COPYRIGHT:    (C) 2007-2014 by Markus Neteler and the GRASS Development Team
+# COPYRIGHT:    (C) 2007-2016 by Markus Neteler and the GRASS Development Team
 #
 #               This program is free software under the GNU General Public
 #               License (>=v2). Read the file COPYING that comes with GRASS
@@ -19,6 +19,7 @@
 #% keyword: database
 #% keyword: import
 #% keyword: attribute table
+#% overwrite: yes
 #%End
 
 #%option G_OPT_F_BIN_INPUT
@@ -33,13 +34,12 @@
 #% required : no
 #%end
 
-#%option 
+#%option G_OPT_DB_TABLE
 #% key: output
-#% type: string
-#% key_desc : name
 #% description: Name for output table
 #% required : no
 #% guisection: Output
+#% gisprompt: new,dbtable,dbtable
 #%end
 
 #%option
diff --git a/scripts/db.out.ogr/db.out.ogr.html b/scripts/db.out.ogr/db.out.ogr.html
index 3dc35d9..8f77fa6 100644
--- a/scripts/db.out.ogr/db.out.ogr.html
+++ b/scripts/db.out.ogr/db.out.ogr.html
@@ -52,4 +52,4 @@ echo "SELECT * FROM precip_30ynormals" | psql meteo
 Markus Neteler<br>
 Converted to Python by Glynn Clements
 
-<p><i>Last changed: $Date: 2014-12-02 23:12:33 +0100 (Tue, 02 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-02 14:10:00 -0800 (Tue, 02 Dec 2014) $</i>
diff --git a/scripts/db.test/db.test.html b/scripts/db.test/db.test.html
index be7978a..2ae2daf 100644
--- a/scripts/db.test/db.test.html
+++ b/scripts/db.test/db.test.html
@@ -23,4 +23,4 @@ db.test test=test1
 
 <h2>AUTHOR</h2>
 Radim Blazek
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/db.univar/db.univar.html b/scripts/db.univar/db.univar.html
index ab3820e..e14ef2d 100644
--- a/scripts/db.univar/db.univar.html
+++ b/scripts/db.univar/db.univar.html
@@ -40,4 +40,4 @@ db.univar samples colum=heights
  Michael Barton, Arizona State University
 <p>and authors of <em>r.univar.sh</em>
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/g.extension.all/g.extension.all.html b/scripts/g.extension.all/g.extension.all.html
index db49fce..2c19147 100644
--- a/scripts/g.extension.all/g.extension.all.html
+++ b/scripts/g.extension.all/g.extension.all.html
@@ -36,4 +36,4 @@ See also <a href="http://grasswiki.osgeo.org/wiki/GRASS_AddOns">GRASS Addons</a>
 Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-09-09 11:06:50 +0200 (Tue, 09 Sep 2014) $</i>
+<i>Last changed: $Date: 2014-09-09 02:05:01 -0700 (Tue, 09 Sep 2014) $</i>
diff --git a/scripts/g.extension/g.extension.html b/scripts/g.extension/g.extension.html
index 04c2755..96ec55e 100644
--- a/scripts/g.extension/g.extension.html
+++ b/scripts/g.extension/g.extension.html
@@ -55,6 +55,58 @@ The place where the extensions are installed can be customized by
 the option <b>prefix</b>. Ensuring that these extensions will be accessible
 in GRASS GIS is then responsibility of the user.
 
+
+<h3>Source code sources and repositories</h3>
+
+By default, <em>g.extension</em> installs extensions from the official
+GRASS GIS Addons repository. However, different source can be specified
+using the <b>url</b> option.
+
+<p>
+New extension can be also installed from a source code placed
+in a local directory on disk. This is advantageous when developing
+a new module.
+To keep the directory clean, the directory content is copied
+to a temporary directory and the compilation happens there.
+
+<p>
+New extension can be also installed from a ZIP file
+or an archive file from the TAR family (e.g., <tt>.tar.gz</tt> or <tt>.bz2</tt>).
+The file can be a file on disk (specified a path), which was probably downloaded
+at some point, or a file on web (specified by an URL).
+
+<p>
+For well known general hosting services, namely GitHub, GitLab and Bitbucket,
+<em>g.extension</em> supports download of a repository as a ZIP file
+when user needs to provide only a basic URL to the repository web page
+(with or without the <tt>https://</tt> part).
+For GitLab and Bitbucket, the latest source code in the default branch is downloaded,
+for GitHub, the latest source code in the master branch is downloaded.
+Of course, user can still specify full URL of a ZIP file
+and install a specific branch or release in this way (ZIP file mechanism will be applied).
+
+<p>
+Individual extensions can be also installed by providing a URL to
+source code on OSGeo Trac. This, however, works only for certain directories
+where download of a downloads a ZIP file was enabled by project administrators.
+
+<p>
+When none of the above sources is identified, <em>g.extension</em> assumes
+that the source is a Subversion repository and uses <em>svn</em> command line tool
+to obtain the source code. The expected structure of the repository
+should be the same as the one of the official repository.
+
+<p>
+For the official repository, <em>g.extension</em> supports listing available
+extensions (addons) and few other metadata-related operations which
+depend on a specific infrastructure.
+For other sources and repositories, this is not supported because it is assumed
+that other sources contain only one extension, typically a module or group of modules.
+
+<p>
+Non-official sources are supported on all operating systems except for MS Windows.
+
+
 <h3>Compilation and installation</h3>
 
 On MS Windows systems, where compilation tools not readily available,
@@ -121,6 +173,49 @@ Removal of a locally installed extension:
 g.extension extension=r.stream.distance operation=remove
 </pre></div>
 
+<h3>Installing from various repositories online</h3>
+
+Simple URL to GitHub, GitLab, Bitbucket repositories:
+
+<div class="code"><pre>
+g.extension r.example url=github.com/johnsmith/r.example
+</pre></div>
+
+Simple URL to OSGeo Trac (downloads a ZIP file, requires download to be enabled in Trac):
+
+<div class="code"><pre>
+g.extension r.example url=trac.osgeo.org/.../r.example
+</pre></div>
+
+In general, when a ZIP file or other archive is provided, the full URL can be used:
+
+<div class="code"><pre>
+g.extension r.example url=http://example.com/.../r.example?format=zip
+</pre></div>
+
+Note that because of MS Windows operating system architecture,
+only official repository is supported on this platform.
+
+
+<h3>Installing when writing a module</h3>
+
+Having source code of a GRASS module in a directory on disk
+one can install it using:
+
+<div class="code"><pre>
+g.extension r.example url=/local/directory/r.example/
+</pre></div>
+
+
+<h2>KNOWN ISSUES</h2>
+
+Toolboxes in the official repository cannot be downloaded.
+<p>
+On MS Windows, only the official repository is working
+because there is no way of compiling the modules
+<!-- what does it mean? -->
+(a Python replacement for Python scripts should be implemented).
+
 <h2>TROUBLESHOOTING</h2>
 
 Since extensions have to be compiled on Unix based systems (Linux, Mac OSX etc.)
@@ -148,7 +243,8 @@ with the version number) must be installed.
 <h2>AUTHORS</h2>
 
 Markus Neteler (original shell script)<br>
-Martin Landa, Czech Technical University in Prague, Czech Republic (Python rewrite)
+Martin Landa, Czech Technical University in Prague, Czech Republic (Python rewrite)<br>
+Vaclav Petras, <a href="http://gis.ncsu.edu/osgeorel/">NCSU OSGeoREL</a> (support for general sources, partial refactoring)
 
 <p>
-<i>Last changed: $Date: 2015-11-20 12:34:12 +0100 (Fri, 20 Nov 2015) $</i>
+<i>Last changed: $Date: 2015-11-20 03:33:21 -0800 (Fri, 20 Nov 2015) $</i>
diff --git a/scripts/g.extension/g.extension.py b/scripts/g.extension/g.extension.py
index 793498f..ae0f20f 100644
--- a/scripts/g.extension/g.extension.py
+++ b/scripts/g.extension/g.extension.py
@@ -3,11 +3,10 @@
 ############################################################################
 #
 # MODULE:       g.extension
-# AUTHOR(S):    Markus Neteler
-#               Pythonized & upgraded for GRASS 7 by Martin Landa <landa.martin gmail.com>
-# PURPOSE:      Tool to download and install extensions from GRASS Addons SVN into
-#               local GRASS installation
-# COPYRIGHT:    (C) 2009-2014 by Markus Neteler, and the GRASS Development Team
+# AUTHOR(S):    Markus Neteler (original shell script)
+#               Martin Landa <landa.martin gmail com> (Pythonized & upgraded for GRASS 7)
+#               Vaclav Petras <wenzeslaus gmail com> (support for general sources)
+# PURPOSE:      Tool to download and install extensions into local installation
 #
 # COPYRIGHT:    (C) 2009-2016 by Markus Neteler, and the GRASS Development Team
 #
@@ -21,10 +20,12 @@
 
 #%module
 #% label: Maintains GRASS Addons extensions in local GRASS installation.
-#% description: Downloads, installs extensions from GRASS Addons SVN repository into local GRASS installation or removes installed extensions.
+#% description: Downloads and installs extensions from GRASS Addons repository or other source into the local GRASS installation or removes installed extensions.
 #% keyword: general
 #% keyword: installation
 #% keyword: extensions
+#% keyword: addons
+#% keyword: download
 #%end
 
 #%option
@@ -44,11 +45,11 @@
 #% answer: add
 #%end
 #%option
-#% key: svnurl
+#% key: url
 #% type: string
 #% key_desc: url
-#% description: SVN Addons repository URL
-#% answer: http://svn.osgeo.org/grass/grass-addons/grass7
+#% label: URL or directory to get the extension from (supported only on Linux and Mac)
+#% description: The official repository is used by default. User can specify a ZIP file, directory or a repository on common hosting services. If not identified, Subversion repository is assumed. See manual for all options.
 #%end
 #%option
 #% key: prefix
@@ -69,19 +70,19 @@
 
 #%flag
 #% key: l
-#% description: List available extensions in the GRASS Addons SVN repository
+#% description: List available extensions in the official GRASS GIS Addons repository
 #% guisection: Print
 #% suppress_required: yes
 #%end
 #%flag
 #% key: c
-#% description: List available extensions in the GRASS Addons SVN repository including module description
+#% description: List available extensions in the official GRASS GIS Addons repository including module description
 #% guisection: Print
 #% suppress_required: yes
 #%end
 #%flag
 #% key: g
-#% description: List available extensions in the GRASS Addons SVN repository (shell script style)
+#% description: List available extensions in the official GRASS GIS Addons repository (shell script style)
 #% guisection: Print
 #% suppress_required: yes
 #%end
@@ -119,10 +120,14 @@
 
 #%rules
 #% required: extension, -l, -c, -g, -a
-#% exclusive: extension, -l, -c, -g, -a
+#% exclusive: extension, -l, -c, -g
+#% exclusive: extension, -l, -c, -a
 #%end
 
+# TODO: solve addon-extension(-module) confusion
 
+
+from __future__ import print_function
 import os
 import sys
 import re
@@ -130,15 +135,29 @@ import atexit
 import shutil
 import zipfile
 import tempfile
+from distutils.dir_util import copy_tree
 
-from urllib2 import HTTPError
-from urllib import urlopen
+try:
+    from urllib2 import HTTPError, URLError
+    from urllib import urlopen, urlretrieve
+except ImportError:
+    # there is also HTTPException, perhaps change to list
+    from urllib.request import HTTPError, URLError, \
+        urlopen, urlretrieve  # pylint: disable=E0611
 
 try:
     import xml.etree.ElementTree as etree
 except ImportError:
-    import elementtree.ElementTree as etree # Python <= 2.4
-
+    import elementtree.ElementTree as etree  # Python <= 2.4
+# Get the XML parsing exceptions to catch. The behavior changed with Python 2.7
+# and ElementTree 1.3.
+from xml.parsers import expat  # TODO: works for any Python?
+if hasattr(etree, 'ParseError'):
+    ETREE_EXCEPTIONS = (etree.ParseError, expat.ExpatError)
+else:
+    ETREE_EXCEPTIONS = (expat.ExpatError)
+
+import grass.script as gscript
 from grass.script.utils import try_rmdir
 from grass.script import core as grass
 
@@ -146,149 +165,267 @@ from grass.script import core as grass
 REMOVE_TMPDIR = True
 PROXIES = {}
 
-# check requirements
+
+def etree_fromfile(filename):
+    """Create XML element tree from a given file name"""
+    with open(filename, 'r') as file_:
+        return etree.fromstring(file_.read())
+
+
+def etree_fromurl(url, proxies=None):
+    """Create XML element tree from a given URL"""
+    file_ = urlopen(url, proxies=proxies)
+    return etree.fromstring(file_.read())
+
+
 def check_progs():
-    for prog in ('svn', 'make', 'gcc'):
+    """Check if the necessary programs are available"""
+    # TODO: we need svn for the Subversion repo downloads
+    # also git would be tested once supported
+    for prog in ('make', 'gcc'):
         if not grass.find_program(prog, '--help'):
-            grass.fatal(_("'%s' required. Please install '%s' first.") % (prog, prog))
+            grass.fatal(_("'%s' required. Please install '%s' first.")
+                        % (prog, prog))
 
 # expand prefix to class name
-def expand_module_class_name(c):
-    name = { 'd'   : 'display',
-             'db'  : 'database',
-             'g'   : 'general',
-             'i'   : 'imagery',
-             'm'   : 'misc',
-             'ps'  : 'postscript',
-             'p'   : 'paint',
-             'r'   : 'raster',
-             'r3'  : 'raster3d',
-             's'   : 'sites',
-             'v'   : 'vector',
-             'wx'  : 'gui/wxpython'
-             }
-
-    return name.get(c, c)
-
-# list installed extensions
-def get_installed_extensions(force = False):
+
+
+def expand_module_class_name(class_letters):
+    """Convert module class (family) letter or letters to class (family) name
+
+    The letter or letters are used in module names, e.g. r.slope.aspect.
+    The names are used in directories in Addons but also in the source code.
+
+    >>> expand_module_class_name('r')
+    'raster'
+    >>> expand_module_class_name('v')
+    'vector'
+    """
+    name = {
+        'd': 'display',
+        'db': 'database',
+        'g': 'general',
+        'i': 'imagery',
+        'm': 'misc',
+        'ps': 'postscript',
+        'p': 'paint',
+        'r': 'raster',
+        'r3': 'raster3d',
+        's': 'sites',
+        'v': 'vector',
+        'wx': 'gui/wxpython'
+    }
+
+    return name.get(class_letters, class_letters)
+
+
+def get_module_class_name(module_name):
+    """Return class (family) name for a module
+
+    The names are used in directories in Addons but also in the source code.
+
+    >>> get_module_class_name('r.slope.aspect')
+    'raster'
+    >>> get_module_class_name('v.to.rast')
+    'vector'
+    """
+    classchar = module_name.split('.', 1)[0]
+    return expand_module_class_name(classchar)
+
+
+def get_installed_extensions(force=False):
+    """Get list of installed extensions or toolboxes (if -t is set)"""
     if flags['t']:
         return get_installed_toolboxes(force)
 
     return get_installed_modules(force)
 
 
-def get_installed_toolboxes(force = False):
-    fXML = os.path.join(options['prefix'], 'toolboxes.xml')
-    if not os.path.exists(fXML):
-        write_xml_toolboxes(fXML)
+def list_installed_extensions(toolboxes=False):
+    """List installed extensions"""
+    elist = get_installed_extensions()
+    if elist:
+        if toolboxes:
+            grass.message(_("List of installed extensions (toolboxes):"))
+        else:
+            grass.message(_("List of installed extensions (modules):"))
+        sys.stdout.write('\n'.join(elist))
+        sys.stdout.write('\n')
+    else:
+        if toolboxes:
+            grass.info(_("No extension (toolbox) installed"))
+        else:
+            grass.info(_("No extension (module) installed"))
+
+
+def get_installed_toolboxes(force=False):
+    """Get list of installed toolboxes
 
+    Writes toolboxes file if it does not exist.
+    Creates a new toolboxes file if it is not possible
+    to read the current one.
+    """
+    xml_file = os.path.join(options['prefix'], 'toolboxes.xml')
+    if not os.path.exists(xml_file):
+        write_xml_toolboxes(xml_file)
     # read XML file
-    fo = open(fXML, 'r')
     try:
-        tree = etree.fromstring(fo.read())
-    except:
-        os.remove(fXML)
-        write_xml_toolboxes(fXML)
+        tree = etree_fromfile(xml_file)
+    except ETREE_EXCEPTIONS + (OSError, IOError):
+        os.remove(xml_file)
+        write_xml_toolboxes(xml_file)
         return []
-    fo.close()
-
     ret = list()
     for tnode in tree.findall('toolbox'):
         ret.append(tnode.get('code'))
-
     return ret
 
 
-def get_installed_modules(force = False):
-    fXML = os.path.join(options['prefix'], 'modules.xml')
-    if not os.path.exists(fXML):
+def get_installed_modules(force=False):
+    """Get list of installed modules.
+
+    Writes modules file if it does not exist and *force* is set to ``True``.
+    Creates a new modules file if it is not possible
+    to read the current one.
+    """
+    xml_file = os.path.join(options['prefix'], 'modules.xml')
+    if not os.path.exists(xml_file):
         if force:
-            write_xml_modules(fXML)
+            write_xml_modules(xml_file)
         else:
             grass.debug(1, "No addons metadata file available")
         return []
-
     # read XML file
-    fo = open(fXML, 'r')
     try:
-        tree = etree.fromstring(fo.read())
-    except:
-        os.remove(fXML)
-        write_xml_modules(fXML)
+        tree = etree_fromfile(xml_file)
+    except ETREE_EXCEPTIONS + (OSError, IOError):
+        os.remove(xml_file)
+        write_xml_modules(xml_file)
         return []
-    fo.close()
-
     ret = list()
     for tnode in tree.findall('task'):
-        ret.append(tnode.get('name').strip())
-
+        if flags['g']:
+            desc, keyw = get_optional_params(tnode)
+            ret.append('name={}'.format(tnode.get('name').strip()))
+            ret.append('description={}'.format(desc))
+            ret.append('keywords={}'.format(keyw))
+            ret.append('executables={}'.format(','.join(
+                get_module_executables(tnode))
+            ))
+        else:
+            ret.append(tnode.get('name').strip())
+    
     return ret
 
 # list extensions (read XML file from grass.osgeo.org/addons)
+
+
 def list_available_extensions(url):
+    """List available extensions/modules or toolboxes (if -t is given)
+
+    For toolboxes it lists also all modules.
+    """
+    gscript.debug("list_available_extensions(url={})".format(url))
     if flags['t']:
         grass.message(_("List of available extensions (toolboxes):"))
-        tlist = list_available_toolboxes(url)
+        tlist = get_available_toolboxes(url)
         for toolbox_code, toolbox_data in tlist.iteritems():
             if flags['g']:
-                print 'toolbox_name=' + toolbox_data['name']
-                print 'toolbox_code=' + toolbox_code
+                print('toolbox_name=' + toolbox_data['name'])
+                print('toolbox_code=' + toolbox_code)
             else:
-                print '%s (%s)' % (toolbox_data['name'], toolbox_code)
+                print('%s (%s)' % (toolbox_data['name'], toolbox_code))
             if flags['c'] or flags['g']:
                 list_available_modules(url, toolbox_data['modules'])
             else:
                 if toolbox_data['modules']:
-                    print os.linesep.join(map(lambda x: '* ' + x, toolbox_data['modules']))
+                    print(os.linesep.join(map(lambda x: '* ' + x,
+                                              toolbox_data['modules'])))
     else:
         grass.message(_("List of available extensions (modules):"))
         list_available_modules(url)
 
 
-def list_available_toolboxes(url):
+def get_available_toolboxes(url):
+    """Return toolboxes available in the repository"""
     tdict = dict()
     url = url + "toolboxes.xml"
     try:
-        f = urlopen(url, proxies=PROXIES)
-        tree = etree.fromstring(f.read())
+        tree = etree_fromurl(url, proxies=PROXIES)
         for tnode in tree.findall('toolbox'):
             mlist = list()
             clist = list()
-            tdict[tnode.get('code')] = { 'name' : tnode.get('name'),
-                                         'correlate' : clist,
-                                         'modules' : mlist }
+            tdict[tnode.get('code')] = {'name': tnode.get('name'),
+                                        'correlate': clist,
+                                        'modules': mlist}
 
             for cnode in tnode.findall('correlate'):
                 clist.append(cnode.get('name'))
 
             for mnode in tnode.findall('task'):
                 mlist.append(mnode.get('name'))
-    except HTTPError:
+    except (HTTPError, IOError, OSError):
         grass.fatal(_("Unable to fetch addons metadata file"))
 
     return tdict
 
 
 def get_toolbox_modules(url, name):
+    """Get modules inside a toolbox in toolbox file at given URL
+
+    :param url: URL of the directory (file name will be attached)
+    :param name: toolbox name
+    """
     tlist = list()
 
     url = url + "toolboxes.xml"
 
     try:
-        f = urlopen(url, proxies=PROXIES)
-        tree = etree.fromstring(f.read())
+        tree = etree_fromurl(url, proxies=PROXIES)
         for tnode in tree.findall('toolbox'):
             if name == tnode.get('code'):
                 for mnode in tnode.findall('task'):
                     tlist.append(mnode.get('name'))
                 break
-    except HTTPError:
+    except (HTTPError, IOError, OSError):
         grass.fatal(_("Unable to fetch addons metadata file"))
 
     return tlist
 
+def get_module_files(mnode):
+    """Return list of module files
+
+    :param mnode: XML node for a module
+    """
+    flist = []
+    for file_node in mnode.find('binary').findall('file'):
+        filepath = file_node.text
+        flist.append(filepath)
+
+    return flist
+
+def get_module_executables(mnode):
+    """Return list of module executables
+
+    :param mnode: XML node for a module
+    """
+    flist = []
+    for filepath in get_module_files(mnode):
+        if filepath.startswith(options['prefix'] + os.path.sep + 'bin') or \
+           (sys.platform != 'win32' and \
+            filepath.startswith(options['prefix'] + os.path.sep + 'scripts')):
+            filename = os.path.basename(filepath)
+            if sys.platform == 'win32':
+                filename = os.path.splitext(filename)[0]
+            flist.append(filename)
+    
+    return flist
+
 def get_optional_params(mnode):
+    """Return description and keywords as a tuple
+
+    :param mnode: XML node for a module
+    """
     try:
         desc = mnode.find('description').text
     except AttributeError:
@@ -304,89 +441,123 @@ def get_optional_params(mnode):
 
     return desc, keyw
 
-def list_available_modules(url, mlist = None):
-    # try to download XML metadata file first
-    url = url + "modules.xml"
-    grass.debug("url=%s" % url, 1)
+
+def list_available_modules(url, mlist=None):
+    """List modules available in the repository
+
+    Tries to use XML metadata file first. Fallbacks to HTML page with a list.
+
+    :param url: URL of the directory (file name will be attached)
+    :param mlist: list only modules in this list
+    """
+    file_url = url + "modules.xml"
+    grass.debug("url=%s" % file_url, 1)
     try:
-        f = urlopen(url, proxies=PROXIES)
-        try:
-            tree = etree.fromstring(f.read())
-        except:
-            grass.warning(_("Unable to parse '%s'. Trying to scan SVN repository (may take some time)...") % url)
-            list_available_extensions_svn()
-            return
-
-        for mnode in tree.findall('task'):
-            name = mnode.get('name').strip()
-            if mlist and name not in mlist:
-                continue
-            if flags['c'] or flags['g']:
-                desc, keyw = get_optional_params(mnode)
+        tree = etree_fromurl(file_url, proxies=PROXIES)
+    except ETREE_EXCEPTIONS:
+        grass.warning(_("Unable to parse '%s'. Trying to scan"
+                        " SVN repository (may take some time)...") % file_url)
+        list_available_extensions_svn(url)
+        return
+    except (HTTPError, URLError, IOError, OSError):
+        list_available_extensions_svn(url)
+        return
 
-            if flags['g']:
-                print 'name=' + name
-                print 'description=' + desc
-                print 'keywords=' + keyw
-            elif flags['c']:
-                if mlist:
-                    print '*',
-                print name + ' - ' + desc
-            else:
-                print name
-    except HTTPError:
-        list_available_extensions_svn()
+    for mnode in tree.findall('task'):
+        name = mnode.get('name').strip()
+        if mlist and name not in mlist:
+            continue
+        if flags['c'] or flags['g']:
+            desc, keyw = get_optional_params(mnode)
+
+        if flags['g']:
+            print('name=' + name)
+            print('description=' + desc)
+            print('keywords=' + keyw)
+        elif flags['c']:
+            if mlist:
+                print('*', end='')
+            print(name + ' - ' + desc)
+        else:
+            print(name)
+
+
+# TODO: this is now broken/dead code, SVN is basically not used
+# fallback for Trac should parse Trac HTML page
+# this might be useful for potential SVN repos or anything
+# which would list the extensions/addons as list
+# TODO: fail when nothing is accessible
+def list_available_extensions_svn(url):
+    """List available extensions from HTML given by URL
+
+    Filename is generated based on the module class/family.
+    This works well for the structure which is in grass-addons repository.
 
-# list extensions (scan SVN repo)
-def list_available_extensions_svn():
-    grass.message(_('Fetching list of extensions from GRASS-Addons SVN repository (be patient)...'))
+    ``<li><a href=...`` is parsed to find module names.
+    This works well for HTML page generated by Subversion.
+
+    :param url: a directory URL (filename will be attached)
+    """
+    gscript.debug("list_available_extensions_svn(url=%s)" % url, 2)
+    grass.message(_('Fetching list of extensions from'
+                    ' GRASS-Addons SVN repository (be patient)...'))
     pattern = re.compile(r'(<li><a href=".+">)(.+)(</a></li>)', re.IGNORECASE)
 
     if flags['c']:
-        grass.warning(_("Flag 'c' ignored, addons metadata file not available"))
+        grass.warning(
+            _("Flag 'c' ignored, addons metadata file not available"))
     if flags['g']:
-        grass.warning(_("Flag 'g' ignored, addons metadata file not available"))
+        grass.warning(
+            _("Flag 'g' ignored, addons metadata file not available"))
 
-    prefix = ['d', 'db', 'g', 'i', 'm', 'ps',
-              'p', 'r', 'r3', 's', 'v']
-    for d in prefix:
-        modclass = expand_module_class_name(d)
+    prefixes = ['d', 'db', 'g', 'i', 'm', 'ps',
+                'p', 'r', 'r3', 's', 'v']
+    for prefix in prefixes:
+        modclass = expand_module_class_name(prefix)
         grass.verbose(_("Checking for '%s' modules...") % modclass)
 
-        url = '%s/%s' % (options['svnurl'], modclass)
-        grass.debug("url = %s" % url, debug = 2)
+        # construct a full URL of a file
+        file_url = '%s/%s' % (url, modclass)
+        grass.debug("url = %s" % file_url, debug=2)
         try:
-            f = urlopen(url, proxies=PROXIES)
-        except HTTPError:
-            grass.debug(_("Unable to fetch '%s'") % url, debug = 1)
+            file_ = urlopen(file_url, proxies=PROXIES)
+        except (HTTPError, IOError, OSError):
+            grass.debug(_("Unable to fetch '%s'") % file_url, debug=1)
             continue
 
-        for line in f.readlines():
+        for line in file_.readlines():
             # list extensions
             sline = pattern.search(line)
             if not sline:
                 continue
             name = sline.group(2).rstrip('/')
-            if name.split('.', 1)[0] == d:
-                print name
+            if name.split('.', 1)[0] == prefix:
+                print(name)
+
+    # get_wxgui_extensions(url)
+
 
-    # get_wxgui_extensions()
+# TODO: this is a dead code, not clear why not used, but seems not needed
+def get_wxgui_extensions(url):
+    """Return list of extensions/addons in wxGUI directory at given URL
 
-# list wxGUI extensions
-def get_wxgui_extensions():
+    :param url: a directory URL (filename will be attached)
+    """
     mlist = list()
-    grass.debug('Fetching list of wxGUI extensions from GRASS-Addons SVN repository (be patient)...')
+    grass.debug('Fetching list of wxGUI extensions from '
+                'GRASS-Addons SVN repository (be patient)...')
     pattern = re.compile(r'(<li><a href=".+">)(.+)(</a></li>)', re.IGNORECASE)
     grass.verbose(_("Checking for '%s' modules...") % 'gui/wxpython')
 
-    url = '%s/%s' % (options['svnurl'], 'gui/wxpython')
-    grass.debug("url = %s" % url, debug = 2)
-    f = urlopen(url, proxies=PROXIES)
-    if not f:
+    # construct a full URL of a file
+    url = '%s/%s' % (url, 'gui/wxpython')
+    grass.debug("url = %s" % url, debug=2)
+    file_ = urlopen(url, proxies=PROXIES)
+    if not file_:
         grass.warning(_("Unable to fetch '%s'") % url)
         return
 
-    for line in f.readlines():
+    for line in file.readlines():
         # list extensions
         sline = pattern.search(line)
         if not sline:
@@ -399,82 +570,101 @@ def get_wxgui_extensions():
 
 
 def cleanup():
+    """Cleanup after the downloads and copilation"""
     if REMOVE_TMPDIR:
         try_rmdir(TMPDIR)
     else:
         grass.message("\n%s\n" % _("Path to the source code:"))
         sys.stderr.write('%s\n' % os.path.join(TMPDIR, options['extension']))
 
-# write out meta-file
-def write_xml_modules(name, tree = None):
-    fo = open(name, 'w')
-    fo.write('<?xml version="1.0" encoding="UTF-8"?>\n')
-    fo.write('<!DOCTYPE task SYSTEM "grass-addons.dtd">\n')
-    fo.write('<addons version="%s">\n' % version[0])
 
-    libgisRev = grass.version()['libgis_revision']
+def write_xml_modules(name, tree=None):
+    """Write element tree as a modules matadata file
+
+    If the *tree* is not given, an empty file is created.
+
+    :param name: file name
+    :param tree: XML element tree
+    """
+    file_ = open(name, 'w')
+    file_.write('<?xml version="1.0" encoding="UTF-8"?>\n')
+    file_.write('<!DOCTYPE task SYSTEM "grass-addons.dtd">\n')
+    file_.write('<addons version="%s">\n' % version[0])
+
+    libgis_revison = grass.version()['libgis_revision']
     if tree is not None:
         for tnode in tree.findall('task'):
             indent = 4
-            fo.write('%s<task name="%s">\n' % (' ' * indent, tnode.get('name')))
+            file_.write('%s<task name="%s">\n' %
+                        (' ' * indent, tnode.get('name')))
             indent += 4
-            fo.write('%s<description>%s</description>\n' % \
-                         (' ' * indent, tnode.find('description').text))
-            fo.write('%s<keywords>%s</keywords>\n' % \
-                         (' ' * indent, tnode.find('keywords').text))
+            file_.write('%s<description>%s</description>\n' %
+                        (' ' * indent, tnode.find('description').text))
+            file_.write('%s<keywords>%s</keywords>\n' %
+                        (' ' * indent, tnode.find('keywords').text))
             bnode = tnode.find('binary')
             if bnode is not None:
-                fo.write('%s<binary>\n' % (' ' * indent))
+                file_.write('%s<binary>\n' % (' ' * indent))
                 indent += 4
                 for fnode in bnode.findall('file'):
-                    fo.write('%s<file>%s</file>\n' % \
-                                 (' ' * indent, os.path.join(options['prefix'], fnode.text)))
+                    file_.write('%s<file>%s</file>\n' %
+                                (' ' * indent, os.path.join(options['prefix'],
+                                                            fnode.text)))
                 indent -= 4
-                fo.write('%s</binary>\n' % (' ' * indent))
-            fo.write('%s<libgis revision="%s" />\n' % \
-                         (' ' * indent, libgisRev))
+                file_.write('%s</binary>\n' % (' ' * indent))
+            file_.write('%s<libgis revision="%s" />\n' %
+                        (' ' * indent, libgis_revison))
             indent -= 4
-            fo.write('%s</task>\n' % (' ' * indent))
+            file_.write('%s</task>\n' % (' ' * indent))
 
-    fo.write('</addons>\n')
-    fo.close()
+    file_.write('</addons>\n')
+    file_.close()
 
 
-def write_xml_toolboxes(name, tree = None):
-    fo = open(name, 'w')
-    fo.write('<?xml version="1.0" encoding="UTF-8"?>\n')
-    fo.write('<!DOCTYPE toolbox SYSTEM "grass-addons.dtd">\n')
-    fo.write('<addons version="%s">\n' % version[0])
+def write_xml_toolboxes(name, tree=None):
+    """Write element tree as a toolboxes matadata file
+
+    If the *tree* is not given, an empty file is created.
+
+    :param name: file name
+    :param tree: XML element tree
+    """
+    file_ = open(name, 'w')
+    file_.write('<?xml version="1.0" encoding="UTF-8"?>\n')
+    file_.write('<!DOCTYPE toolbox SYSTEM "grass-addons.dtd">\n')
+    file_.write('<addons version="%s">\n' % version[0])
     if tree is not None:
         for tnode in tree.findall('toolbox'):
             indent = 4
-            fo.write('%s<toolbox name="%s" code="%s">\n' % \
-                         (' ' * indent, tnode.get('name'), tnode.get('code')))
+            file_.write('%s<toolbox name="%s" code="%s">\n' %
+                        (' ' * indent, tnode.get('name'), tnode.get('code')))
             indent += 4
             for cnode in tnode.findall('correlate'):
-                fo.write('%s<correlate code="%s" />\n' % \
-                         (' ' * indent, tnode.get('code')))
+                file_.write('%s<correlate code="%s" />\n' %
+                            (' ' * indent, tnode.get('code')))
             for mnode in tnode.findall('task'):
-                fo.write('%s<task name="%s" />\n' % \
-                         (' ' * indent, mnode.get('name')))
+                file_.write('%s<task name="%s" />\n' %
+                            (' ' * indent, mnode.get('name')))
             indent -= 4
-            fo.write('%s</toolbox>\n' % (' ' * indent))
+            file_.write('%s</toolbox>\n' % (' ' * indent))
+
+    file_.write('</addons>\n')
+    file_.close()
 
-    fo.write('</addons>\n')
-    fo.close()
 
-# install extension - toolbox or module
-def install_extension(url):
+def install_extension(source, url, xmlurl):
+    """Install extension (e.g. one module) or a toolbox (list of modules)"""
     gisbase = os.getenv('GISBASE')
     if not gisbase:
         grass.fatal(_('$GISBASE not defined'))
 
-    if options['extension'] in get_installed_extensions(force = True):
-        grass.warning(_("Extension <%s> already installed. Re-installing...") % options['extension'])
+    if options['extension'] in get_installed_extensions(force=True):
+        grass.warning(_("Extension <%s> already installed. Re-installing...") %
+                      options['extension'])
 
     if flags['t']:
         grass.message(_("Installing toolbox <%s>...") % options['extension'])
-        mlist = get_toolbox_modules(url, options['extension'])
+        mlist = get_toolbox_modules(xmlurl, options['extension'])
     else:
         mlist = [options['extension']]
     if not mlist:
@@ -486,36 +676,48 @@ def install_extension(url):
         if sys.platform == "win32":
             ret += install_extension_win(module)
         else:
-            ret += install_extension_other(module)
+            ret += install_extension_std_platforms(module,
+                                                   source=source, url=url)
         if len(mlist) > 1:
-            print '-' * 60
+            print('-' * 60)
 
     if flags['d']:
         return
 
     if ret != 0:
-        grass.warning(_('Installation failed, sorry. Please check above error messages.'))
+        grass.warning(_('Installation failed, sorry.'
+                        ' Please check above error messages.'))
     else:
-        grass.message(_("Updating addons metadata file..."))
-        blist = install_extension_xml(url, mlist)
-        for module in blist:
+        # for now it is reasonable to assume that only official source
+        # will provide the metadata file
+        if source == 'official':
+            grass.message(_("Updating addons metadata file..."))
+            blist = install_extension_xml(xmlurl, mlist)
+        # the blist was used here, but it seems that it is the same as mlist
+        for module in mlist:
             update_manual_page(module)
 
-        grass.message(_("Installation of <%s> successfully finished") % options['extension'])
+        grass.message(_("Installation of <%s> successfully finished") %
+                      options['extension'])
 
     if not os.getenv('GRASS_ADDON_BASE'):
-        grass.warning(_('This add-on module will not function until you set the '
-                        'GRASS_ADDON_BASE environment variable (see "g.manual variables")'))
+        grass.warning(_('This add-on module will not function until'
+                        ' you set the GRASS_ADDON_BASE environment'
+                        ' variable (see "g.manual variables")'))
 
-# update local meta-file when installing new extension (toolbox / modules)
-def install_toolbox_xml(url, name):
-    # read metadata from remote server (toolboxes)
-    url = url + "toolboxes.xml"
 
+def get_toolboxes_metadata(url):
+    """Return metadata for all toolboxes from given URL
+
+    :param url: URL of a modules matadata file
+    :param mlist: list of modules to get metadata for
+    :returns: tuple where first item is dictionary with module names as keys
+        and dictionary with dest, keyw, files keys as value, the second item
+        is list of 'binary' files (installation files)
+    """
     data = dict()
     try:
-        f = urlopen(url, proxies=PROXIES)
-        tree = etree.fromstring(f.read())
+        tree = etree_fromurl(url, proxies=PROXIES)
         for tnode in tree.findall('toolbox'):
             clist = list()
             for cnode in tnode.findall('correlate'):
@@ -527,13 +729,21 @@ def install_toolbox_xml(url, name):
 
             code = tnode.get('code')
             data[code] = {
-                'name'      : tnode.get('name'),
-                'correlate' : clist,
-                'modules'   : mlist,
-                }
-    except HTTPError:
-        grass.error(_("Unable to read addons metadata file from the remote server"))
+                'name': tnode.get('name'),
+                'correlate': clist,
+                'modules': mlist,
+            }
+    except (HTTPError, IOError, OSError):
+        grass.error(_("Unable to read addons metadata file "
+                      "from the remote server"))
+    return data
 
+
+def install_toolbox_xml(url, name):
+    """Update local toolboxes metadata file"""
+    # read metadata from remote server (toolboxes)
+    url = url + "toolboxes.xml"
+    data = get_toolboxes_metadata(url)
     if not data:
         grass.warning(_("No addons metadata available"))
         return
@@ -541,15 +751,14 @@ def install_toolbox_xml(url, name):
         grass.warning(_("No addons metadata available for <%s>") % name)
         return
 
-    fXML = os.path.join(options['prefix'], 'toolboxes.xml')
+    xml_file = os.path.join(options['prefix'], 'toolboxes.xml')
     # create an empty file if not exists
-    if not os.path.exists(fXML):
-        write_xml_modules(fXML)
+    if not os.path.exists(xml_file):
+        write_xml_modules(xml_file)
 
     # read XML file
-    fo = open(fXML, 'r')
-    tree = etree.fromstring(fo.read())
-    fo.close()
+    with open(xml_file, 'r') as xml:
+        tree = etree.fromstring(xml.read())
 
     # update tree
     tnode = None
@@ -567,82 +776,94 @@ def install_toolbox_xml(url, name):
             tnode.remove(mnode)
     else:
         # create new node for task
-        tnode = etree.Element('toolbox', attrib = { 'name' : tdata['name'], 'code' : name })
+        tnode = etree.Element(
+            'toolbox', attrib={'name': tdata['name'], 'code': name})
         tree.append(tnode)
 
     for cname in tdata['correlate']:
-        cnode = etree.Element('correlate', attrib = { 'code' : cname })
+        cnode = etree.Element('correlate', attrib={'code': cname})
         tnode.append(cnode)
     for tname in tdata['modules']:
-        mnode = etree.Element('task', attrib = { 'name' : tname })
+        mnode = etree.Element('task', attrib={'name': tname})
         tnode.append(mnode)
 
-    write_xml_toolboxes(fXML, tree)
+    write_xml_toolboxes(xml_file, tree)
 
-# return list of executables for update_manual_page()
-def install_extension_xml(url, mlist):
-    if len(mlist) > 1:
-        # read metadata from remote server (toolboxes)
-        install_toolbox_xml(url, options['extension'])
 
-    # read metadata from remote server (modules)
-    url = url + "modules.xml"
+def get_addons_metadata(url, mlist):
+    """Return metadata for list of modules from given URL
 
+    :param url: URL of a modules matadata file
+    :param mlist: list of modules to get metadata for
+    :returns: tuple where first item is dictionary with module names as keys
+        and dictionary with dest, keyw, files keys as value, the second item
+        is list of 'binary' files (installation files)
+    """
     data = {}
-    bList = []
+    bin_list = []
     try:
-        f = urlopen(url, proxies=PROXIES)
-        try:
-            tree = etree.fromstring(f.read())
-        except:
-            grass.warning(_("Unable to parse '%s'. Addons metadata file not updated.") % url)
-            return bList
-
-        for mnode in tree.findall('task'):
-            name = mnode.get('name')
-            if name not in mlist:
-                continue
+        tree = etree_fromurl(url, proxies=PROXIES)
+    except (HTTPError, URLError, IOError, OSError) as error:
+        grass.error(_("Unable to read addons metadata file"
+                      " from the remote server: {}").format(error))
+        return data, bin_list
+    except ETREE_EXCEPTIONS as error:
+        grass.warning(_("Unable to parse '%s': {}").format(error) % url)
+        return data, bin_list
+    for mnode in tree.findall('task'):
+        name = mnode.get('name')
+        if name not in mlist:
+            continue
+        file_list = list()
+        bnode = mnode.find('binary')
+        windows = sys.platform == 'win32'
+        if bnode is not None:
+            for fnode in bnode.findall('file'):
+                path = fnode.text.split('/')
+                if path[0] == 'bin':
+                    bin_list.append(path[-1])
+                    if windows:
+                        path[-1] += '.exe'
+                elif path[0] == 'scripts':
+                    bin_list.append(path[-1])
+                    if windows:
+                        path[-1] += '.py'
+                file_list.append(os.path.sep.join(path))
+        desc, keyw = get_optional_params(mnode)
+        data[name] = {
+            'desc': desc,
+            'keyw': keyw,
+            'files': file_list,
+        }
+    return data, bin_list
 
-            fList = list()
-            bnode = mnode.find('binary')
-            windows = sys.platform == 'win32'
-            if bnode is not None:
-                for fnode in bnode.findall('file'):
-                    path = fnode.text.split('/')
-                    if path[0] == 'bin':
-                        bList.append(path[-1])
-                        if windows:
-                            path[-1] += '.exe'
-                    elif path[0] == 'scripts':
-                        bList.append(path[-1])
-                        if windows:
-                            path[-1] += '.py'
-                    fList.append(os.path.sep.join(path))
 
-            desc, keyw = get_optional_params(mnode)
+def install_extension_xml(url, mlist):
+    """Update XML files with metadata about installed modules and toolbox
 
-            data[name] = {
-                'desc'  : desc,
-                'keyw'  : keyw,
-                'files' : fList,
-                }
+    Uses the remote/repository XML files for modules to obtain the metadata.
 
-    except:
-        grass.error(_("Unable to read addons metadata file from the remote server"))
+    :returns: list of executables (useable for ``update_manual_page()``)
+    """
+    if len(mlist) > 1:
+        # read metadata from remote server (toolboxes)
+        install_toolbox_xml(url, options['extension'])
 
+    # read metadata from remote server (modules)
+    url = url + "modules.xml"
+    data, bin_list = get_addons_metadata(url, mlist)
     if not data:
-        grass.warning(_("No addons metadata available"))
+        grass.warning(_("No addons metadata available."
+                        " Addons metadata file not updated."))
         return []
 
-    fXML = os.path.join(options['prefix'], 'modules.xml')
+    xml_file = os.path.join(options['prefix'], 'modules.xml')
     # create an empty file if not exists
-    if not os.path.exists(fXML):
-        write_xml_modules(fXML)
+    if not os.path.exists(xml_file):
+        write_xml_modules(xml_file)
 
     # read XML file
-    fo = open(fXML, 'r')
-    tree = etree.fromstring(fo.read())
-    fo.close()
+    tree = etree_fromfile(xml_file)
 
     # update tree
     for name in mlist:
@@ -669,14 +890,14 @@ def install_extension_xml(url, mlist):
             if bnode is not None:
                 tnode.remove(bnode)
             bnode = etree.Element('binary')
-            for f in ndata['files']:
+            for file_name in ndata['files']:
                 fnode = etree.Element('file')
-                fnode.text = f
+                fnode.text = file_name
                 bnode.append(fnode)
             tnode.append(bnode)
         else:
             # create new node for task
-            tnode = etree.Element('task', attrib = { 'name' : name })
+            tnode = etree.Element('task', attrib={'name': name})
             dnode = etree.Element('description')
             dnode.text = ndata['desc']
             tnode.append(dnode)
@@ -684,127 +905,281 @@ def install_extension_xml(url, mlist):
             knode.text = ndata['keyw']
             tnode.append(knode)
             bnode = etree.Element('binary')
-            for f in ndata['files']:
+            for file_name in ndata['files']:
                 fnode = etree.Element('file')
-                fnode.text = f
+                fnode.text = file_name
                 bnode.append(fnode)
             tnode.append(bnode)
             tree.append(tnode)
 
-    write_xml_modules(fXML, tree)
+    write_xml_modules(xml_file, tree)
+
+    return bin_list
 
-    return bList
 
-# install extension on MS Windows
 def install_extension_win(name):
     """Install extension on MS Windows"""
-    # do not use hardcoded url -
-    # http://wingrass.fsv.cvut.cz/platform/grassXX/addonsX.X.X
     grass.message(_("Downloading precompiled GRASS Addons <%s>...") %
                   options['extension'])
+    
+    # build base URL
     if build_platform == 'x86_64':
         platform = build_platform
     else:
         platform = 'x86'
-    url = "http://wingrass.fsv.cvut.cz/" \
-          "grass%(major)s%(minor)s/%(platform)s/addons/" \
-          "grass-%(major)s.%(minor)s.%(patch)s/" % \
-          {'platform' : platform,
-           'major': version[0], 'minor': version[1],
-           'patch': version[2]}
+    base_url = "http://wingrass.fsv.cvut.cz/" \
+               "grass%(major)s%(minor)s/%(platform)s/addons/" \
+               "grass-%(major)s.%(minor)s.%(patch)s" % \
+               {'platform' : platform,
+                'major': version[0], 'minor': version[1],
+                'patch': version[2]}
+
+    # resolve ZIP URL
+    source, url = resolve_source_code(url='{}/{}.zip'.format(base_url, name))
+    
+    # to hide non-error messages from subprocesses
+    if grass.verbosity() <= 2:
+        outdev = open(os.devnull, 'w')
+    else:
+        outdev = sys.stdout
+    
+    # download Addons ZIP file
+    os.chdir(TMPDIR)  # this is just to not leave something behind
+    srcdir = os.path.join(TMPDIR, name)
+    download_source_code(source=source, url=url, name=name,
+                        outdev=outdev, directory=srcdir, tmpdir=TMPDIR)
     
-    grass.debug("url=%s" % url, 1)
+    # copy Addons copy tree to destination directory
+    move_extracted_files(extract_dir=srcdir, target_dir=options['prefix'],
+                         files=os.listdir(srcdir))
+    
+    return 0
 
-    try:
-        zfile = url + name + '.zip'
-        f = urlopen(zfile, proxies=PROXIES)
-
-        # create addons dir if not exists
-        if not os.path.exists(options['prefix']):
-            try:
-                os.mkdir(options['prefix'])
-            except OSError as e:
-                grass.fatal(_("Unable to create <{}>. {}").format(options['prefix'], e))
-        
-        # download data
-        fo = tempfile.TemporaryFile()
-        fo.write(f.read())
-        try:
-            zfobj = zipfile.ZipFile(fo)
-        except zipfile.BadZipfile as e:
-            grass.fatal('%s: %s' % (e, zfile))
-        
-        for name in zfobj.namelist():
-            if name.endswith('/'):
-                d = os.path.join(options['prefix'], name)
-                if not os.path.exists(d):
-                    os.mkdir(d)
-            else:
-                outfile = open(os.path.join(options['prefix'], name), 'wb')
-                outfile.write(zfobj.read(name))
-                outfile.close()
 
-        fo.close()
-    except HTTPError:
-        grass.fatal(_("GRASS Addons <%s> not found") % name)
+def download_source_code_svn(url, name, outdev, directory=None):
+    """Download source code from a Subversion reporsitory
 
-    return 0
+    .. note:
+        Stdout is passed to to *outdev* while stderr is will be just printed.
 
-# install extension on other plaforms
-def install_extension_other(name):
-    gisbase = os.getenv('GISBASE')
+    :param url: URL of the repository
+        (module class/family and name are attached)
+    :param name: module name
+    :param outdev: output devide for the standard output of the svn command
+    :param directory: directory where the source code will be downloaded
+        (default is the current directory with name attached)
+
+    :returns: full path to the directory with the source code
+        (useful when you not specify directory, if *directory* is specified
+        the return value is equal to it)
+    """
+    if not directory:
+        directory = os.path.join(os.getcwd, name)
     classchar = name.split('.', 1)[0]
     moduleclass = expand_module_class_name(classchar)
-    url = options['svnurl'] + '/' + moduleclass + '/' + name
-    
-    grass.message(_("Fetching <%s> from GRASS-Addons SVN repository (be patient)...") % name)
+    url = url + '/' + moduleclass + '/' + name
+    if grass.call(['svn', 'checkout',
+                   url, directory], stdout=outdev) != 0:
+        grass.fatal(_("GRASS Addons <%s> not found") % name)
+    return directory
+
+
+def move_extracted_files(extract_dir, target_dir, files):
+    """Fix state of extracted file by moving them to different diretcory
+
+    When extracting, it is not clear what will be the root directory
+    or if there will be one at all. So this function moves the files to
+    a different directory in the way that if there was one direcory extracted,
+    the contained files are moved.
+    """
+    gscript.debug("move_extracted_files({})".format(locals()))
+    if len(files) == 1:
+        shutil.copytree(os.path.join(extract_dir, files[0]), target_dir)
+    else:
+        if not os.path.exists(target_dir):
+            os.mkdir(target_dir)
+        for file_name in files:
+            actual_file = os.path.join(extract_dir, file_name)
+            if os.path.isdir(actual_file):
+                # shutil.copytree() replaced by copy_tree() because
+                # shutil's copytree() fails when subdirectory exists
+                copy_tree(actual_file,
+                          os.path.join(target_dir, file_name))
+            else:
+                shutil.copy(actual_file, os.path.join(target_dir, file_name))
+
+
+# Original copyright and license of the original version of the CRLF function
+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# Python Software Foundation; All Rights Reserved
+# Python Software Foundation License Version 2
+# http://svn.python.org/projects/python/trunk/Tools/scripts/crlf.py
+def fix_newlines(directory):
+    """Replace CRLF with LF in all files in the directory
+
+    Binary files are ignored. Recurses into subdirectories.
+    """
+    for root, unused, files in os.walk(directory):
+        for name in files:
+            filename = os.path.join(root, name)
+            data = open(filename, 'rb').read()
+            if '\0' in data:
+                continue  # ignore binary files
+            # we don't expect there would be CRLF file by purpose
+            # if we want to allow CRLF files we would have to whitelite .py etc
+            newdata = data.replace('\r\n', '\n')
+            if newdata != data:
+                newfile = open(filename, 'wb')
+                newfile.write(newdata)
+                newfile.close()
+
+
+def extract_zip(name, directory, tmpdir):
+    """Extract a ZIP file into a directory"""
+    gscript.debug("extract_zip(name={name}, directory={directory},"
+                  " tmpdir={tmpdir})".format(name=name, directory=directory,
+                                             tmpdir=tmpdir), 3)
+    try:
+        zip_file = zipfile.ZipFile(name, mode='r')
+        file_list = zip_file.namelist()
+        # we suppose we can write to parent of the given dir
+        # (supposing a tmp dir)
+        extract_dir = os.path.join(tmpdir, 'extract_dir')
+        os.mkdir(extract_dir)
+        for subfile in file_list:
+            # this should be safe in Python 2.7.4
+            zip_file.extract(subfile, extract_dir)
+        files = os.listdir(extract_dir)
+        move_extracted_files(extract_dir=extract_dir,
+                             target_dir=directory, files=files)
+    except zipfile.BadZipfile as error:
+        gscript.fatal(_("ZIP file is unreadable: {}").format(error))
+
+
+# TODO: solve the other related formats
+def extract_tar(name, directory, tmpdir):
+    """Extract a TAR or a similar file into a directory"""
+    gscript.debug("extract_tar(name={name}, directory={directory},"
+                  " tmpdir={tmpdir})".format(name=name, directory=directory,
+                                             tmpdir=tmpdir), 3)
+    try:
+        import tarfile  # we don't need it anywhere else
+        tar = tarfile.open(name)
+        extract_dir = os.path.join(tmpdir, 'extract_dir')
+        os.mkdir(extract_dir)
+        tar.extractall(path=extract_dir)
+        files = os.listdir(extract_dir)
+        move_extracted_files(extract_dir=extract_dir,
+                             target_dir=directory, files=files)
+    except tarfile.TarError as error:
+        gscript.fatal(_("Archive file is unreadable: {}").format(error))
+
+extract_tar.supported_formats = ['tar.gz', 'gz', 'bz2', 'tar', 'gzip', 'targz']
+
+
+def download_source_code(source, url, name, outdev,
+                         directory=None, tmpdir=None):
+    """Get source code to a local directory for compilation"""
+    gscript.verbose("Downloading source code for <{name}> from <{url}>"
+                    " which is identified as '{source}' type of source..."
+                    .format(source=source, url=url, name=name))
+    if source == 'svn':
+        download_source_code_svn(url, name, outdev, directory)
+    elif source in ['remote_zip', 'official']:
+        # we expect that the module.zip file is not by chance in the archive
+        zip_name = os.path.join(tmpdir, 'extension.zip')
+        f, h = urlretrieve(url, zip_name)
+        if h.get('content-type', '') != 'application/zip':
+            grass.fatal(_("Extension <%s> not found") % name)
+            
+        extract_zip(name=zip_name, directory=directory, tmpdir=tmpdir)
+        fix_newlines(directory)
+    elif source.startswith('remote_') and \
+            source.split('_')[1] in extract_tar.supported_formats:
+        # we expect that the module.tar.gz file is not by chance in the archive
+        archive_name = os.path.join(tmpdir,
+                                    'extension.' + source.split('_')[1])
+        urlretrieve(url, archive_name)
+        extract_tar(name=archive_name, directory=directory, tmpdir=tmpdir)
+        fix_newlines(directory)
+    elif source == 'zip':
+        extract_zip(name=url, directory=directory, tmpdir=tmpdir)
+        fix_newlines(directory)
+    elif source in extract_tar.supported_formats:
+        extract_tar(name=url, directory=directory, tmpdir=tmpdir)
+        fix_newlines(directory)
+    elif source == 'dir':
+        shutil.copytree(url, directory)
+        fix_newlines(directory)
+    else:
+        # probably programmer error
+        grass.fatal(_("Unknown extension (addon) source type '{}'."
+                      " Please report this to the grass-user mailing list.")
+                    .format(source))
+    assert os.path.isdir(directory)
 
-    os.chdir(TMPDIR)
+
+def install_extension_std_platforms(name, source, url):
+    """Install extension on standard plaforms"""
+    gisbase = os.getenv('GISBASE')
+    if source == 'official':
+        gscript.message(_("Fetching <%s> from "
+                          "GRASS GIS Addons repository (be patient)...") % name)
+    else:
+        gscript.message(_("Fetching <{name}> from "
+                          "<{url}> (be patient)...").format(name=name, url=url))
+
+    # to hide non-error messages from subprocesses
     if grass.verbosity() <= 2:
         outdev = open(os.devnull, 'w')
     else:
         outdev = sys.stdout
 
-    if grass.call(['svn', 'checkout',
-                   url], stdout = outdev) != 0:
-        grass.fatal(_("GRASS Addons <%s> not found") % name)
+    os.chdir(TMPDIR)  # this is just to not leave something behind
+    srcdir = os.path.join(TMPDIR, name)
+    download_source_code(source=source, url=url, name=name,
+                         outdev=outdev, directory=srcdir, tmpdir=TMPDIR)
+    os.chdir(srcdir)
+
+    dirs = {
+        'bin': os.path.join(TMPDIR, name, 'bin'),
+        'docs': os.path.join(TMPDIR, name, 'docs'),
+        'html': os.path.join(TMPDIR, name, 'docs', 'html'),
+        'rest': os.path.join(TMPDIR, name, 'docs', 'rest'),
+        'man': os.path.join(TMPDIR, name, 'docs', 'man'),
+        'script': os.path.join(TMPDIR, name, 'scripts'),
+        # TODO: handle locales also for addons
+        #             'string'  : os.path.join(TMPDIR, name, 'locale'),
+        'string': os.path.join(TMPDIR, name),
+        'etc': os.path.join(TMPDIR, name, 'etc'),
+    }
+
+    make_cmd = [
+        'make',
+        'MODULE_TOPDIR=%s' % gisbase.replace(' ', r'\ '),
+        'RUN_GISRC=%s' % os.environ['GISRC'],
+        'BIN=%s' % dirs['bin'],
+        'HTMLDIR=%s' % dirs['html'],
+        'RESTDIR=%s' % dirs['rest'],
+        'MANBASEDIR=%s' % dirs['man'],
+        'SCRIPTDIR=%s' % dirs['script'],
+        'STRINGDIR=%s' % dirs['string'],
+        'ETC=%s' % os.path.join(dirs['etc'])
+    ]
 
-    dirs = { 'bin'     : os.path.join(TMPDIR, name, 'bin'),
-             'docs'    : os.path.join(TMPDIR, name, 'docs'),
-             'html'    : os.path.join(TMPDIR, name, 'docs', 'html'),
-             'rest'    : os.path.join(TMPDIR, name, 'docs', 'rest'),
-             'man'     : os.path.join(TMPDIR, name, 'docs', 'man'),
-             'script'  : os.path.join(TMPDIR, name, 'scripts'),
-### TODO: handle locales also for addons
-#             'string'  : os.path.join(TMPDIR, name, 'locale'),
-             'string'  : os.path.join(TMPDIR, name),
-             'etc'     : os.path.join(TMPDIR, name, 'etc'),
-             }
-
-    makeCmd = ['make',
-               'MODULE_TOPDIR=%s' % gisbase.replace(' ', '\ '),
-               'RUN_GISRC=%s' % os.environ['GISRC'],
-               'BIN=%s' % dirs['bin'],
-               'HTMLDIR=%s' % dirs['html'],
-               'RESTDIR=%s' % dirs['rest'],
-               'MANBASEDIR=%s' % dirs['man'],
-               'SCRIPTDIR=%s' % dirs['script'],
-               'STRINGDIR=%s' % dirs['string'],
-               'ETC=%s' % os.path.join(dirs['etc'])
+    install_cmd = [
+        'make',
+        'MODULE_TOPDIR=%s' % gisbase,
+        'ARCH_DISTDIR=%s' % os.path.join(TMPDIR, name),
+        'INST_DIR=%s' % options['prefix'],
+        'install'
     ]
-    
-    installCmd = ['make',
-                  'MODULE_TOPDIR=%s' % gisbase,
-                  'ARCH_DISTDIR=%s' % os.path.join(TMPDIR, name),
-                  'INST_DIR=%s' % options['prefix'],
-                  'install'
-                  ]
 
     if flags['d']:
         grass.message("\n%s\n" % _("To compile run:"))
-        sys.stderr.write(' '.join(makeCmd) + '\n')
+        sys.stderr.write(' '.join(make_cmd) + '\n')
         grass.message("\n%s\n" % _("To install run:"))
-        sys.stderr.write(' '.join(installCmd) + '\n')
+        sys.stderr.write(' '.join(install_cmd) + '\n')
         return 0
 
     os.chdir(os.path.join(TMPDIR, name))
@@ -814,22 +1189,24 @@ def install_extension_other(name):
                                        'Make', 'Module.make')):
         grass.fatal(_("Please install GRASS development package"))
 
-    if 0 != grass.call(makeCmd,
-                       stdout = outdev):
-        grass.fatal(_('Compilation failed, sorry. Please check above error messages.'))
+    if 0 != grass.call(make_cmd,
+                       stdout=outdev):
+        grass.fatal(_('Compilation failed, sorry.'
+                      ' Please check above error messages.'))
 
     if flags['i']:
         return 0
 
     grass.message(_("Installing..."))
 
-    return grass.call(installCmd,
-                      stdout = outdev)
+    return grass.call(install_cmd,
+                      stdout=outdev)
+
 
-# remove existing extension - toolbox or module
-def remove_extension(force = False):
+def remove_extension(force=False):
+    """Remove existing extension (module or toolbox if -t is given)"""
     if flags['t']:
-        mlist = get_toolbox_modules(options['extension'])
+        mlist = get_toolbox_modules(options['prefix'], options['extension'])
     else:
         mlist = [options['extension']]
 
@@ -843,21 +1220,28 @@ def remove_extension(force = False):
     if force:
         grass.message(_("Updating addons metadata file..."))
         remove_extension_xml(mlist)
-        grass.message(_("Extension <%s> successfully uninstalled.") % options['extension'])
+        grass.message(_("Extension <%s> successfully uninstalled.") %
+                      options['extension'])
     else:
         grass.warning(_("Extension <%s> not removed. "
-                        "Re-run '%s' with '-f' flag to force removal") % (options['extension'], 'g.extension'))
+                        "Re-run '%s' with '-f' flag to force removal")
+                      % (options['extension'], 'g.extension'))
 
 # remove existing extension(s) (reading XML file)
-def remove_modules(mlist, force = False):
+
+
+def remove_modules(mlist, force=False):
+    """Remove extensions/modules specified in a list
+
+    Collects the file names from the file with metadata and fallbacks
+    to standard layout of files on prefix path on error.
+    """
     # try to read XML metadata file first
-    fXML = os.path.join(options['prefix'], 'modules.xml')
+    xml_file = os.path.join(options['prefix'], 'modules.xml')
     installed = get_installed_modules()
 
-    if os.path.exists(fXML):
-        f = open(fXML, 'r')
-        tree = etree.fromstring(f.read())
-        f.close()
+    if os.path.exists(xml_file):
+        tree = etree_fromfile(xml_file)
     else:
         tree = None
 
@@ -872,8 +1256,7 @@ def remove_modules(mlist, force = False):
             for task in tree.findall('task'):
                 if name == task.get('name') and \
                         task.find('binary') is not None:
-                    for f in task.find('binary').findall('file'):
-                        flist.append(f.text)
+                    flist = get_module_files(task)
                     break
 
             if flist:
@@ -886,77 +1269,81 @@ def remove_modules(mlist, force = False):
                             removed = True
                             os.remove(fpath)
                         else:
-                            print fpath
+                            print(fpath)
                     except OSError:
                         err.append((_("Unable to remove file '%s'") % fpath))
                 if force and not removed:
                     grass.fatal(_("Extension <%s> not found") % name)
 
                 if err:
-                    for e in err:
-                        grass.error(e)
+                    for error_line in err:
+                        grass.error(error_line)
             else:
                 remove_extension_std(name, force)
         else:
             remove_extension_std(name, force)
 
-# remove exising extension (using standard files layout)
-def remove_extension_std(name, force = False):
+
+def remove_extension_std(name, force=False):
+    """Remove extension/module expecting the standard layout"""
     for fpath in [os.path.join(options['prefix'], 'bin', name),
                   os.path.join(options['prefix'], 'scripts', name),
-                  os.path.join(options['prefix'], 'docs', 'html', name + '.html'),
-                  os.path.join(options['prefix'], 'docs', 'rest', name + '.txt'),
-                  os.path.join(options['prefix'], 'docs', 'man', 'man1', name + '.1')]:
+                  os.path.join(
+                      options['prefix'], 'docs', 'html', name + '.html'),
+                  os.path.join(
+                      options['prefix'], 'docs', 'rest', name + '.txt'),
+                  os.path.join(options['prefix'], 'docs', 'man', 'man1',
+                               name + '.1')]:
         if os.path.isfile(fpath):
             if force:
                 grass.verbose(fpath)
                 os.remove(fpath)
             else:
-                print fpath
+                print(fpath)
 
-# update local meta-file when removing existing extension
-def remove_toolbox_xml(name):
-    fXML = os.path.join(options['prefix'], 'toolboxes.xml')
-    if not os.path.exists(fXML):
-        return
 
+def remove_from_toolbox_xml(name):
+    """Update local meta-file when removing existing toolbox"""
+    xml_file = os.path.join(options['prefix'], 'toolboxes.xml')
+    if not os.path.exists(xml_file):
+        return
     # read XML file
-    fo = open(fXML, 'r')
-    tree = etree.fromstring(fo.read())
-    fo.close()
-
+    tree = etree_fromfile(xml_file)
     for node in tree.findall('toolbox'):
         if node.get('code') != name:
             continue
         tree.remove(node)
 
-    write_xml_toolboxes(fXML, tree)
+    write_xml_toolboxes(xml_file, tree)
+
 
 def remove_extension_xml(modules):
+    """Update local meta-file when removing existing extension"""
     if len(modules) > 1:
         # update also toolboxes metadata
-        remove_toolbox_xml(options['extension'])
-
-    fXML = os.path.join(options['prefix'], 'modules.xml')
-    if not os.path.exists(fXML):
+        remove_from_toolbox_xml(options['extension'])
+    xml_file = os.path.join(options['prefix'], 'modules.xml')
+    if not os.path.exists(xml_file):
         return
-
     # read XML file
-    fo = open(fXML, 'r')
-    tree = etree.fromstring(fo.read())
-    fo.close()
-
+    tree = etree_fromfile(xml_file)
     for name in modules:
         for node in tree.findall('task'):
             if node.get('name') != name:
                 continue
             tree.remove(node)
-
-    write_xml_modules(fXML, tree)
+    write_xml_modules(xml_file, tree)
 
 # check links in CSS
+
+
 def check_style_files(fil):
-    dist_file   = os.path.join(os.getenv('GISBASE'), 'docs', 'html', fil)
+    """Ensures that a specified HTML documentation support file exists
+
+    If the file, e.g. a CSS file does not exist, the file is copied from
+    the distribution.
+    """
+    dist_file = os.path.join(os.getenv('GISBASE'), 'docs', 'html', fil)
     addons_file = os.path.join(options['prefix'], 'docs', 'html', fil)
 
     if os.path.isfile(addons_file):
@@ -964,21 +1351,28 @@ def check_style_files(fil):
 
     try:
         shutil.copyfile(dist_file, addons_file)
-    except OSError as e:
-        grass.fatal(_("Unable to create '%s': %s") % (addons_file, e))
+    except OSError as error:
+        grass.fatal(_("Unable to create '%s': %s") % (addons_file, error))
+
 
 def create_dir(path):
+    """Creates the specified directory (with all dirs in between)
+
+    NOOP for existing directory.
+    """
     if os.path.isdir(path):
         return
 
     try:
         os.makedirs(path)
-    except OSError as e:
-        grass.fatal(_("Unable to create '%s': %s") % (path, e))
+    except OSError as error:
+        grass.fatal(_("Unable to create '%s': %s") % (path, error))
 
     grass.debug("'%s' created" % path)
 
+
 def check_dirs():
+    """Ensure that the necessary directories in prefix path exist"""
     create_dir(os.path.join(options['prefix'], 'bin'))
     create_dir(os.path.join(options['prefix'], 'docs', 'html'))
     create_dir(os.path.join(options['prefix'], 'docs', 'rest'))
@@ -989,31 +1383,35 @@ def check_dirs():
     create_dir(os.path.join(options['prefix'], 'scripts'))
 
 # fix file URI in manual page
+
+
 def update_manual_page(module):
+    """Fix manual page for addons which are at different directory then rest"""
     if module.split('.', 1)[0] == 'wx':
-        return # skip for GUI modules
+        return  # skip for GUI modules
 
     grass.verbose(_("Manual page for <%s> updated") % module)
     # read original html file
-    htmlfile = os.path.join(options['prefix'], 'docs', 'html', module + '.html')
+    htmlfile = os.path.join(
+        options['prefix'], 'docs', 'html', module + '.html')
     try:
-        f = open(htmlfile)
-        shtml = f.read()
-    except IOError as e:
-        grass.fatal(_("Unable to read manual page: %s") % e)
+        oldfile = open(htmlfile)
+        shtml = oldfile.read()
+    except IOError as error:
+        gscript.fatal(_("Unable to read manual page: %s") % error)
     else:
-        f.close()
+        oldfile.close()
 
     pos = []
-    
+
     # fix logo URL
     pattern = r'''<a href="([^"]+)"><img src="grass_logo.png"'''
     for match in re.finditer(pattern, shtml):
         pos.append(match.start(1))
-    
+
     # find URIs
     pattern = r'''<a href="([^"]+)">([^>]+)</a>'''
-    addons = get_installed_extensions(force = True)
+    addons = get_installed_extensions(force=True)
     for match in re.finditer(pattern, shtml):
         if match.group(1)[:4] == 'http':
             continue
@@ -1022,23 +1420,242 @@ def update_manual_page(module):
         pos.append(match.start(1))
 
     if not pos:
-        return # no match
+        return  # no match
 
     # replace file URIs
     prefix = 'file://' + '/'.join([os.getenv('GISBASE'), 'docs', 'html'])
     ohtml = shtml[:pos[0]]
     for i in range(1, len(pos)):
-        ohtml += prefix + '/' + shtml[pos[i-1]:pos[i]]
+        ohtml += prefix + '/' + shtml[pos[i - 1]:pos[i]]
     ohtml += prefix + '/' + shtml[pos[-1]:]
 
     # write updated html file
     try:
-        f = open(htmlfile, 'w')
-        f.write(ohtml)
-    except IOError as e:
-        grass.fatal(_("Unable for write manual page: %s") % e)
+        newfile = open(htmlfile, 'w')
+        newfile.write(ohtml)
+    except IOError as error:
+        gscript.fatal(_("Unable for write manual page: %s") % error)
     else:
-        f.close()
+        newfile.close()
+
+
+def resolve_install_prefix(path, to_system):
+    """Determine and check the path for installation"""
+    if to_system:
+        path = os.environ['GISBASE']
+    if path == '$GRASS_ADDON_BASE':
+        if not os.getenv('GRASS_ADDON_BASE'):
+            grass.warning(_("GRASS_ADDON_BASE is not defined, "
+                            "installing to ~/.grass%s/addons") % version[0])
+            path = os.path.join(
+                os.environ['HOME'], '.grass%s' % version[0], 'addons')
+        else:
+            path = os.environ['GRASS_ADDON_BASE']
+    if os.path.exists(path) and \
+       not os.access(path, os.W_OK):
+        grass.fatal(_("You don't have permission to install extension to <{}>."
+                      " Try to run {} with administrator rights"
+                      " (su or sudo).")
+                    .format(path, 'g.extension'))
+    # ensure dir sep at the end for cases where path is used as URL and pasted
+    # together with file names
+    if not path.endswith(os.path.sep):
+        path = path + os.path.sep
+    return os.path.abspath(path)  # make likes absolute paths
+
+
+def resolve_xmlurl_prefix(url, source=None):
+    """Determine and check the URL where the XML metadata files are stored
+
+    It ensures that there is a single slash at the end of URL, so we can attach
+     file name easily:
+
+    >>> resolve_xmlurl_prefix('http://grass.osgeo.org/addons')
+    'http://grass.osgeo.org/addons/'
+    >>> resolve_xmlurl_prefix('http://grass.osgeo.org/addons/')
+    'http://grass.osgeo.org/addons/'
+    """
+    gscript.debug("resolve_xmlurl_prefix(url={}, source={})".format(url, source))
+    if source == 'official':
+        # use pregenerated modules XML file
+        url = 'http://grass.osgeo.org/addons/grass%s/' % version[0]
+    # else try to get modules XMl from SVN repository (provided URL)
+    # the exact action depends on subsequent code (somewhere)
+
+    if not url.endswith('/'):
+        url = url + '/'
+    return url
+
+
+KNOWN_HOST_SERVICES_INFO = {
+    'OSGeo Trac': {
+        'domain': 'trac.osgeo.org',
+        'ignored_suffixes': ['format=zip'],
+        'possible_starts': ['', 'https://', 'http://'],
+        'url_start': 'https://',
+        'url_end': '?format=zip',
+    },
+    'GitHub': {
+        'domain': 'github.com',
+        'ignored_suffixes': ['.zip', '.tar.gz'],
+        'possible_starts': ['', 'https://', 'http://'],
+        'url_start': 'https://',
+        'url_end': '/archive/master.zip',
+    },
+    'GitLab': {
+        'domain': 'gitlab.com',
+        'ignored_suffixes': ['.zip', '.tar.gz', '.tar.bz2', '.tar'],
+        'possible_starts': ['', 'https://', 'http://'],
+        'url_start': 'https://',
+        'url_end': '/repository/archive.zip',
+    },
+    'Bitbucket': {
+        'domain': 'bitbucket.org',
+        'ignored_suffixes': ['.zip', '.tar.gz', '.gz', '.bz2'],
+        'possible_starts': ['', 'https://', 'http://'],
+        'url_start': 'https://',
+        'url_end': '/get/default.zip',
+    },
+}
+
+# TODO: support ZIP URLs which don't end with zip
+# https://gitlab.com/user/reponame/repository/archive.zip?ref=b%C3%A9po
+
+
+def resolve_known_host_service(url):
+    """Determine source type and full URL for known hosting service
+
+    If the service is not determined from the provided URL, tuple with
+    is two ``None`` values is returned.
+    """
+    match = None
+    actual_start = None
+    for key, value in KNOWN_HOST_SERVICES_INFO.iteritems():
+        for start in value['possible_starts']:
+            if url.startswith(start + value['domain']):
+                match = value
+                actual_start = start
+                gscript.verbose(_("Indentified {} as known hosting service")
+                                .format(key))
+                for suffix in value['ignored_suffixes']:
+                    if url.endswith(suffix):
+                        gscript.verbose(
+                            _("Not using {service} as known hosting service"
+                              " because the URL ends with '{suffix}'")
+                            .format(service=key, suffix=suffix))
+                        return None, None
+    if match:
+        if not actual_start:
+            actual_start = match['url_start']
+        else:
+            actual_start = ''
+        url = '{prefix}{base}{suffix}'.format(prefix=actual_start,
+                                              base=url.rstrip('/'),
+                                              suffix=match['url_end'])
+        gscript.verbose(_("Will use the following URL for download: {}")
+                        .format(url))
+        return 'remote_zip', url
+    else:
+        return None, None
+
+
+# TODO: add also option to enforce the source type
+def resolve_source_code(url=None, name=None):
+    """Return type and URL or path of the source code
+
+    Local paths are not presented as URLs to be usable in standard functions.
+    Path is identified as local path if the directory of file exists which
+    has the unfortunate consequence that the not existing files are evaluated
+    as remote URLs. When path is not evaluated, Subversion is assumed for
+    backwards compatibility. When GitHub repository is specified, ZIP file
+    link is returned. The ZIP is for master branch, not the default one because
+    GitHub does not provide the deafult branch in the URL (July 2015).
+
+    :returns: tuple with type of source and full URL or path
+
+    Official repository:
+
+    >>> resolve_source_code(name='g.example') # doctest: +SKIP
+    ('official', 'https://trac.osgeo.org/.../general/g.example')
+
+    Subversion:
+
+    >>> resolve_source_code('http://svn.osgeo.org/grass/grass-addons/grass7')
+    ('svn', 'http://svn.osgeo.org/grass/grass-addons/grass7')
+
+    ZIP files online:
+
+    >>> resolve_source_code('https://trac.osgeo.org/.../r.modis?format=zip')
+    ('remote_zip', 'https://trac.osgeo.org/.../r.modis?format=zip')
+
+    Local directories and ZIP files:
+
+    >>> resolve_source_code(os.path.expanduser("~")) # doctest: +ELLIPSIS
+    ('dir', '...')
+    >>> resolve_source_code('/local/directory/downloaded.zip') # doctest: +SKIP
+    ('zip', '/local/directory/downloaded.zip')
+
+    OSGeo Trac:
+
+    >>> resolve_source_code('trac.osgeo.org/.../r.agent.aco')
+    ('remote_zip', 'https://trac.osgeo.org/.../r.agent.aco?format=zip')
+    >>> resolve_source_code('https://trac.osgeo.org/.../r.agent.aco')
+    ('remote_zip', 'https://trac.osgeo.org/.../r.agent.aco?format=zip')
+
+    GitHub:
+
+    >>> resolve_source_code('github.com/user/g.example')
+    ('remote_zip', 'https://github.com/user/g.example/archive/master.zip')
+    >>> resolve_source_code('github.com/user/g.example/')
+    ('remote_zip', 'https://github.com/user/g.example/archive/master.zip')
+    >>> resolve_source_code('https://github.com/user/g.example')
+    ('remote_zip', 'https://github.com/user/g.example/archive/master.zip')
+    >>> resolve_source_code('https://github.com/user/g.example/')
+    ('remote_zip', 'https://github.com/user/g.example/archive/master.zip')
+
+    GitLab:
+
+    >>> resolve_source_code('gitlab.com/JoeUser/GrassModule')
+    ('remote_zip', 'https://gitlab.com/JoeUser/GrassModule/repository/archive.zip')
+    >>> resolve_source_code('https://gitlab.com/JoeUser/GrassModule')
+    ('remote_zip', 'https://gitlab.com/JoeUser/GrassModule/repository/archive.zip')
+
+    Bitbucket:
+
+    >>> resolve_source_code('bitbucket.org/joe-user/grass-module')
+    ('remote_zip', 'https://bitbucket.org/joe-user/grass-module/get/default.zip')
+    >>> resolve_source_code('https://bitbucket.org/joe-user/grass-module')
+    ('remote_zip', 'https://bitbucket.org/joe-user/grass-module/get/default.zip')
+    """
+    if not url and name:
+        module_class = get_module_class_name(name)
+        trac_url = 'https://trac.osgeo.org/grass/browser/grass-addons/' \
+                   'grass{version}/{module_class}/{module_name}?format=zip' \
+                   .format(version=version[0],
+                           module_class=module_class, module_name=name)
+        return 'official', trac_url
+    if os.path.isdir(url):
+        return 'dir', os.path.abspath(url)
+    elif os.path.exists(url):
+        if url.endswith('.zip'):
+            return 'zip', os.path.abspath(url)
+        for suffix in extract_tar.supported_formats:
+            if url.endswith('.' + suffix):
+                return suffix, os.path.abspath(url)
+    else:
+        source, resolved_url = resolve_known_host_service(url)
+        if source:
+            return source, resolved_url
+        # we allow URL to end with =zip or ?zip and not only .zip
+        # unfortunately format=zip&version=89612 would require something else
+        # special option to force the source type would solve it
+        if url.endswith('zip'):
+            return 'remote_zip', url
+        for suffix in extract_tar.supported_formats:
+            if url.endswith(suffix):
+                return 'remote_' + suffix, url
+        # fallback to the classic behavior
+        return 'svn', url
 
 
 def main():
@@ -1046,6 +1663,8 @@ def main():
     if not flags['a'] and sys.platform != "win32":
         check_progs()
 
+    original_url = options['url']
+
     # manage proxies
     global PROXIES
     if options['proxy']:
@@ -1054,72 +1673,48 @@ def main():
             PROXIES[ptype] = purl
 
     # define path
-    if flags['s']:
-        options['prefix'] = os.environ['GISBASE']
-    
-    if options['prefix'] == '$GRASS_ADDON_BASE':
-        if not os.getenv('GRASS_ADDON_BASE'):
-            grass.warning(_("GRASS_ADDON_BASE is not defined, "
-                            "installing to ~/.grass%s/addons") % version[0])
-            options['prefix'] = os.path.join(os.environ['HOME'], '.grass%s' % version[0], 'addons')
-        else:
-            options['prefix'] = os.environ['GRASS_ADDON_BASE']
-
-    if os.path.exists(options['prefix']) and \
-       not os.access(options['prefix'], os.W_OK):
-        grass.fatal(_("You don't have permission to install extension to <{}>. "
-                      "Try to run {} with administrator rights "
-                      "(su or sudo).").format(options['prefix'], 'g.extension'))
-
-    if 'svn.osgeo.org/grass/grass-addons/grass7' in options['svnurl']:
-        # use pregenerated modules XML file
-        xmlurl = "http://grass.osgeo.org/addons/grass%s" % version[0]
-    else:
-        # try to get modules XMl from SVN repository
-        xmlurl = options['svnurl']
-
-    if not xmlurl.endswith('/'):
-        xmlurl = xmlurl + "/"
+    options['prefix'] = resolve_install_prefix(path=options['prefix'],
+                                               to_system=flags['s'])
 
     # list available extensions
-    if flags['l'] or flags['c'] or flags['g']:
+    if flags['l'] or flags['c'] or (flags['g'] and not flags['a']):
+        # using dummy module, we don't need any module URL now,
+        # but will work only as long as the function does not check
+        # if the URL is actually valid or something
+        source, url = resolve_source_code(name='dummy',
+                                          url=original_url)
+        xmlurl = resolve_xmlurl_prefix(original_url, source=source)
         list_available_extensions(xmlurl)
         return 0
     elif flags['a']:
-        elist = get_installed_extensions()
-        if elist:
-            if flags['t']:
-                grass.message(_("List of installed extensions (toolboxes):"))
-            else:
-                grass.message(_("List of installed extensions (modules):"))
-            sys.stdout.write('\n'.join(elist))
-            sys.stdout.write('\n')
-        else:
-            if flags['t']:
-                grass.info(_("No extension (toolbox) installed"))
-            else:
-                grass.info(_("No extension (module) installed"))
+        list_installed_extensions(toolboxes=flags['t'])
         return 0
-    else:
-        if not options['extension']:
-            grass.fatal(_('You need to define an extension name or use -l/c/g/a'))
 
     if flags['d']:
         if options['operation'] != 'add':
-            grass.warning(_("Flag 'd' is relevant only to 'operation=add'. Ignoring this flag."))
+            grass.warning(_("Flag 'd' is relevant only to"
+                            " 'operation=add'. Ignoring this flag."))
         else:
             global REMOVE_TMPDIR
             REMOVE_TMPDIR = False
 
     if options['operation'] == 'add':
         check_dirs()
-        install_extension(xmlurl)
-    else: # remove
-        remove_extension(flags['f'])
+        source, url = resolve_source_code(name=options['extension'],
+                                          url=original_url)
+        xmlurl = resolve_xmlurl_prefix(original_url, source=source)
+        install_extension(source=source, url=url, xmlurl=xmlurl)
+    else:  # remove
+        remove_extension(force=flags['f'])
 
     return 0
 
+
 if __name__ == "__main__":
+    if len(sys.argv) == 2 and sys.argv[1] == '--doctest':
+        import doctest
+        _ = str  # doctest gettext workaround
+        sys.exit(doctest.testmod().failed)
     options, flags = grass.parser()
     global TMPDIR
     TMPDIR = tempfile.mkdtemp()
diff --git a/scripts/g.extension/testsuite/data/modules.xml b/scripts/g.extension/testsuite/data/modules.xml
new file mode 100644
index 0000000..f8a0fd2
--- /dev/null
+++ b/scripts/g.extension/testsuite/data/modules.xml
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE task SYSTEM "grass-addons.dtd">
+<addons version="7" revision="65616" date="2015-07-19 17:32:21.164032">
+    <task name="d.frame">
+        <description>Manages display frames on the user's graphics monitor.</description>
+        <keywords>display,graphics,monitors,frame</keywords>
+        <binary>
+            <file>scripts/d.frame</file>
+            <file>docs/man/man1/d.frame.1</file>
+            <file>docs/html/d.frame.html</file>
+            <file>docs/html/d_frame.png</file>
+        </binary>
+    </task>
+    <task name="d.mon2">
+        <description>Starts a graphics display monitor which can be controlled from the command line.</description>
+        <keywords>display,CLI</keywords>
+        <binary>
+            <file>scripts/d.mon2</file>
+            <file>docs/man/man1/d.mon2.1</file>
+            <file>docs/html/d.mon2.html</file>
+        </binary>
+    </task>
+    <task name="g.copyall">
+        <description>Copies all or a filtered subset of files of selected type from another mapset to the current working mapset</description>
+        <keywords>copy,general</keywords>
+        <binary>
+            <file>scripts/g.copyall</file>
+            <file>docs/man/man1/g.copyall.1</file>
+            <file>docs/html/g.copyall.html</file>
+        </binary>
+    </task>
+    <task name="g.isis3mt">
+        <description>Generates an ISIS3 map template file according to the current GRASS coordinate reference system</description>
+        <keywords>coordinates,projection</keywords>
+        <binary>
+            <file>scripts/g.isis3mt</file>
+            <file>docs/man/man1/g.isis3mt.1</file>
+            <file>docs/html/g.isis3mt.html</file>
+        </binary>
+    </task>
+    <task name="g.proj.all">
+        <description>Reprojects raster and vector maps from given location and mapset to current mapset.</description>
+        <keywords>general,projection,transformation</keywords>
+        <binary>
+            <file>scripts/g.proj.all</file>
+            <file>docs/man/man1/g.proj.all.1</file>
+            <file>docs/html/g.proj.all.html</file>
+        </binary>
+    </task>
+    <task name="r.gdd">
+        <description>Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers.</description>
+        <keywords>raster,series</keywords>
+        <binary>
+            <file>bin/r.gdd</file>
+            <file>docs/man/man1/r.gdd.1</file>
+            <file>docs/html/r.gdd.html</file>
+        </binary>
+    </task>
+    <task name="r.geomorphon">
+        <description>Calculate geomorphons (terrain forms)and associated geometry using machine vision approach</description>
+        <keywords>Geomorphons,Terrain patterns,Machine vision geomorphometry</keywords>
+        <binary>
+            <file>bin/r.geomorphon</file>
+            <file>docs/man/man1/r.geomorphon.1</file>
+            <file>docs/html/r.geomorphon.html</file>
+            <file>docs/html/geomorphon.png</file>
+            <file>docs/html/legend.png</file>
+        </binary>
+    </task>
+    <task name="r.le.patch">
+        <description></description>
+        <keywords></keywords>
+        <binary>
+        </binary>
+    </task>
+    <task name="r.le.pixel">
+        <description></description>
+        <keywords></keywords>
+        <binary>
+        </binary>
+    </task>
+    <task name="r.traveltime">
+        <description>Estimation of travel times/isochrones. Computes the travel time of surface runoff to an outlet</description>
+        <keywords>raster,hydrology</keywords>
+        <binary>
+            <file>bin/r.traveltime</file>
+            <file>docs/man/man1/r.traveltime.1</file>
+            <file>docs/html/r.traveltime.html</file>
+        </binary>
+    </task>
+    <task name="r.univar2">
+        <description>Calculates univariate statistics from the non-null cells of a raster map.</description>
+        <keywords>raster,statistics,univariate statistics,zonal statistics</keywords>
+        <binary>
+            <file>bin/r.univar2</file>
+            <file>docs/man/man1/r.univar2.1</file>
+            <file>docs/html/r.univar2.html</file>
+        </binary>
+    </task>
+    <task name="v.civil">
+        <description></description>
+        <keywords></keywords>
+        <binary>
+            <file>scripts/v.civil.tools</file>
+            <file>scripts/v.civil.road</file>
+            <file>scripts/v.civil.river</file>
+            <file>scripts/v.civil.topo</file>
+            <file>docs/man/man1/v.civil.road.1</file>
+            <file>docs/man/man1/v.civil.tools.1</file>
+            <file>docs/man/man1/v.civil.topo.1</file>
+            <file>docs/man/man1/v.civil.river.1</file>
+            <file>docs/html/v.civil.tools.html</file>
+            <file>docs/html/vcivilroad_4.png</file>
+            <file>docs/html/vcivilroad_11.png</file>
+            <file>docs/html/vcivilroad_6.png</file>
+            <file>docs/html/vcivilroad_7.png</file>
+            <file>docs/html/vcivilroad_1.png</file>
+            <file>docs/html/v.civil.topo.html</file>
+            <file>docs/html/vcivilroad_5.png</file>
+            <file>docs/html/vcivilroad_10.png</file>
+            <file>docs/html/vcivilroad_13.png</file>
+            <file>docs/html/vcivilroad_9.png</file>
+            <file>docs/html/vcivilroad_8.png</file>
+            <file>docs/html/v.civil.road.html</file>
+            <file>docs/html/v.civil.river.html</file>
+            <file>docs/html/vcivilroad_3.png</file>
+            <file>docs/html/vcivilroad_14.png</file>
+            <file>docs/html/vcivilroad_12.png</file>
+            <file>docs/html/vcivilroad_2.png</file>
+        </binary>
+    </task>
+    <task name="v.class.ml">
+        <description></description>
+        <keywords></keywords>
+        <binary>
+            <file>scripts/v.class.ml</file>
+            <file>etc/v.class.ml/ml_classifiers.py</file>
+            <file>etc/v.class.ml/ml_functions.py</file>
+            <file>etc/v.class.ml/ml_functions.pyc</file>
+            <file>etc/v.class.ml/features.py</file>
+            <file>etc/v.class.ml/ml_classifiers.pyc</file>
+            <file>etc/v.class.ml/sqlite2npy.pyc</file>
+            <file>etc/v.class.ml/sqlite2npy.py</file>
+            <file>etc/v.class.ml/training_extraction.py</file>
+            <file>etc/v.class.ml/npy2table.pyc</file>
+            <file>etc/v.class.ml/training_extraction.pyc</file>
+            <file>etc/v.class.ml/npy2table.py</file>
+            <file>etc/v.class.ml/features.pyc</file>
+        </binary>
+    </task>
+    <task name="v.class.mlpy">
+        <description></description>
+        <keywords></keywords>
+        <binary>
+            <file>scripts/v.class.mlpy</file>
+        </binary>
+    </task>
+    <task name="v.colors2">
+        <description>Sets color rules for features in a vector map using a numeric attribute column.</description>
+        <keywords>vector,color table</keywords>
+        <binary>
+            <file>scripts/v.colors2</file>
+            <file>docs/man/man1/v.colors2.1</file>
+            <file>docs/html/v.colors2.html</file>
+        </binary>
+    </task>
+    <task name="v.delaunay3d">
+        <description>Creates a 3D triangulation from an input vector map containing points or centroids.</description>
+        <keywords>vector,geometry,3D triangulation</keywords>
+        <binary>
+            <file>bin/v.delaunay3d</file>
+            <file>docs/man/man1/v.delaunay3d.1</file>
+            <file>docs/html/v.delaunay3d.html</file>
+        </binary>
+    </task>
+    <task name="v.ellipse">
+        <description>Computes the best-fitting ellipse for given vector data.</description>
+        <keywords>vector,geometry,best-fitting ellipse</keywords>
+        <binary>
+            <file>bin/v.ellipse</file>
+            <file>docs/man/man1/v.ellipse.1</file>
+            <file>docs/html/v.ellipse.html</file>
+            <file>docs/html/v_ellipse.png</file>
+        </binary>
+    </task>
+    <task name="v.in.proj">
+        <description>Import vector data using OGR library and reproject on the fly.</description>
+        <keywords>vector,import,projection</keywords>
+        <binary>
+            <file>scripts/v.in.proj</file>
+            <file>docs/man/man1/v.in.proj.1</file>
+            <file>docs/html/v.in.proj.html</file>
+        </binary>
+    </task>
+    <task name="v.in.redwg">
+        <description></description>
+        <keywords></keywords>
+        <binary>
+        </binary>
+    </task>
+    <task name="v.neighborhoodmatrix">
+        <description>Exports the neighborhood matrix of polygons in a vector map</description>
+        <keywords>vector,neighborhood matrix</keywords>
+        <binary>
+            <file>scripts/v.neighborhoodmatrix</file>
+            <file>docs/man/man1/v.neighborhoodmatrix.1</file>
+            <file>docs/html/v.neighborhoodmatrix.html</file>
+        </binary>
+    </task>
+    <task name="v.transects">
+        <description>Creates transect lines or quadrilateral areas at regular intervals perpendicular to a polyline.</description>
+        <keywords>vector,transect</keywords>
+        <binary>
+            <file>scripts/v.transects</file>
+            <file>docs/man/man1/v.transects.1</file>
+            <file>docs/html/v.transects.html</file>
+            <file>docs/html/vtransect_options2.jpg</file>
+            <file>docs/html/vtransect_options1.jpg</file>
+        </binary>
+    </task>
+    <task name="wx.metadata">
+        <description></description>
+        <keywords></keywords>
+        <binary>
+            <file>scripts/r.info.iso</file>
+            <file>scripts/v.info.iso</file>
+            <file>scripts/g.gui.metadata</file>
+            <file>etc/config/init_md</file>
+            <file>etc/config/keywordConcepts</file>
+            <file>etc/config/keywordThemes</file>
+            <file>etc/config/keywordGroups</file>
+            <file>etc/profiles/temporalProfile.xml</file>
+            <file>etc/profiles/inspireProfile.xml</file>
+            <file>etc/profiles/basicProfile.xml</file>
+            <file>etc/mdlib/editor.pyc</file>
+            <file>etc/mdlib/editor.py</file>
+            <file>etc/mdlib/jinjainfo.py</file>
+            <file>etc/mdlib/mdgrass.py</file>
+            <file>etc/mdlib/mdgrass.pyc</file>
+            <file>etc/mdlib/mdutil.pyc</file>
+            <file>etc/mdlib/mdutil.py</file>
+            <file>etc/mdlib/jinjainfo.pyc</file>
+            <file>etc/pdf/mdpdffactory.py</file>
+            <file>etc/pdf/mdpdftheme.py</file>
+            <file>etc/pdf/mdpdftheme.pyc</file>
+            <file>etc/pdf/mdpdffactory.pyc</file>
+            <file>docs/man/man1/r.info.iso.1</file>
+            <file>docs/man/man1/v.info.iso.1</file>
+            <file>docs/html/r.info.iso.html</file>
+            <file>docs/html/v.info.iso.html</file>
+        </binary>
+    </task>
+</addons>
diff --git a/scripts/g.extension/testsuite/data/sample_modules/r.plus.example.tar.gz b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example.tar.gz
new file mode 100644
index 0000000..8db1093
Binary files /dev/null and b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example.tar.gz differ
diff --git a/scripts/g.extension/testsuite/data/sample_modules/r.plus.example.zip b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example.zip
new file mode 100644
index 0000000..96b4577
Binary files /dev/null and b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example.zip differ
diff --git a/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/Makefile b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/Makefile
new file mode 100644
index 0000000..fc99026
--- /dev/null
+++ b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/Makefile
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../..
+
+PGM = r.plus.example
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script
diff --git a/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.html b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.html
new file mode 100644
index 0000000..7fda6b1
--- /dev/null
+++ b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.html
@@ -0,0 +1,25 @@
+<h2>DESCRIPTION</h2>
+
+<em>r.plus.example</em>
+
+<h2>NOTES</h2>
+
+<h2>EXAMPLES</h2>
+
+<div class="code"><pre>
+r.plus.example
+</pre></div>
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="g.region.html">g.region</a>
+</em>
+
+
+<h2>AUTHORS</h2>
+
+Vaclav Petras, NCSU OSGeoREL<br>
+
+<p>
+<i>Last changed: $Date: 2015-09-05 09:13:18 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.py b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.py
new file mode 100644
index 0000000..5afc0ea
--- /dev/null
+++ b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example/r.plus.example.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+#%module
+#% description: Adds the values of two rasters (A + B)
+#% keyword: raster
+#% keyword: algebra
+#% keyword: sum
+#%end
+#%option G_OPT_R_INPUT
+#% key: araster
+#% description: Name of input raster A in an expression A + B
+#%end
+#%option G_OPT_R_INPUT
+#% key: braster
+#% description: Name of input raster B in an expression A + B
+#%end
+#%option G_OPT_R_OUTPUT
+#%end
+
+
+import grass.script as gscript
+
+
+def main():
+    options, flags = gscript.parser()
+    araster = options['araster']
+    braster = options['braster']
+    output = options['output']
+
+    gscript.mapcalc('{r} = {a} + {b}'.format(r=output, a=araster, b=braster))
+
+    return 0
+
+
+if __name__ == "__main__":
+    main()
diff --git a/scripts/g.extension/testsuite/data/sample_modules/r.plus.example_sep.tar.gz b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example_sep.tar.gz
new file mode 100644
index 0000000..09ed7c1
Binary files /dev/null and b/scripts/g.extension/testsuite/data/sample_modules/r.plus.example_sep.tar.gz differ
diff --git a/scripts/g.extension/testsuite/data/toolboxes.xml b/scripts/g.extension/testsuite/data/toolboxes.xml
new file mode 100644
index 0000000..563166f
--- /dev/null
+++ b/scripts/g.extension/testsuite/data/toolboxes.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbox SYSTEM "grass-toolbox.dtd">
+<addons version="7">
+  <toolbox name="Hydrology" code="HY">
+    <correlate code="RA" />
+    <task name="r.stream.basins" />
+    <task name="r.stream.channel" />
+    <task name="r.stream.distance" />
+    <task name="r.stream.order" />
+    <task name="r.stream.segment" />
+    <task name="r.stream.slope" />
+    <task name="r.stream.snap" />
+    <task name="r.stream.stats" />
+  </toolbox>
+  <toolbox name="mcda" code="MC">
+    <correlate code="RA" />
+    <task name="r.mcda.ahp" />
+    <task name="r.mcda.roughset" />
+    <task name="r.mcda.input" />
+    <task name="r.mcda.output" />
+  </toolbox>
+</addons>
diff --git a/scripts/g.extension/testsuite/doctest.sh b/scripts/g.extension/testsuite/doctest.sh
new file mode 100755
index 0000000..4b57e9d
--- /dev/null
+++ b/scripts/g.extension/testsuite/doctest.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -e
+set -x
+
+g.extension --doctest
diff --git a/scripts/g.extension/testsuite/test_addons_modules.py b/scripts/g.extension/testsuite/test_addons_modules.py
new file mode 100644
index 0000000..0eb5a5f
--- /dev/null
+++ b/scripts/g.extension/testsuite/test_addons_modules.py
@@ -0,0 +1,125 @@
+"""
+TEST:      test_addons_modules.py
+
+AUTHOR(S): Vaclav Petras <wenzeslaus gmail com>
+
+PURPOSE:   Test for g.extension individual modules/extensions handling
+
+COPYRIGHT: (C) 2015 Vaclav Petras, and by the GRASS Development Team
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import SimpleModule
+from grass.gunittest.utils import silent_rmtree
+
+import os
+
+
+MODULES_OUTPUT = """\
+d.frame
+d.mon2
+g.copyall
+g.isis3mt
+g.proj.all
+r.gdd
+r.geomorphon
+r.le.patch
+r.le.pixel
+r.traveltime
+r.univar2
+v.civil
+v.class.ml
+v.class.mlpy
+v.colors2
+v.delaunay3d
+v.ellipse
+v.in.proj
+v.in.redwg
+v.neighborhoodmatrix
+v.transects
+wx.metadata
+""".replace('\n', os.linesep)
+
+
+class TestModulesMetadata(TestCase):
+
+    url = 'file://' + os.path.abspath('data')
+
+    def test_listing(self):
+        """List individual extensions/modules/addons"""
+        module = SimpleModule('g.extension', flags='l', url=self.url)
+        self.assertModule(module)
+        stdout = module.outputs.stdout
+        self.assertMultiLineEqual(stdout, MODULES_OUTPUT)
+
+
+class TestModulesFromDifferentSources(TestCase):
+
+    url = 'file://' + os.path.abspath('data/sample_modules')
+    path = os.path.join('data', 'sample_modules')
+    install_prefix = 'gextension_test_install_path'
+    # TODO: this is wrong for MS Win
+    files = [
+        os.path.join(install_prefix, 'scripts', 'r.plus.example'),
+        os.path.join(install_prefix, 'docs', 'html', 'r.plus.example.html'),
+    ]
+    # to create archives from the source, the following was used:
+    # zip r.plus.example.zip r.plus.example/*
+    # tar czvf r.plus.example.tar.gz r.plus.example
+    # cd r.plus.example/
+    # tar czvf ../r.plus.example_sep.tar.gz *
+
+    def setUp(self):
+        """Make sure we are not dealing with some old files"""
+        if os.path.exists(self.install_prefix):
+            files = os.listdir(self.install_prefix)
+            if files:
+                RuntimeError("Install prefix path '{}' contains files {}"
+                             .format(self.install_prefix, files))
+
+    def tearDown(self):
+        """Remove created files"""
+        silent_rmtree(self.install_prefix)
+
+    def test_directory_install(self):
+        """Test installing extension from directory"""
+        self.assertModule('g.extension', extension='r.plus.example',
+                          url=os.path.join(self.path, 'r.plus.example'),
+                          prefix=self.install_prefix)
+        # TODO: this is wrong for MS Win
+        for file in self.files:
+            self.assertFileExists(file)
+
+    def test_targz_install(self):
+        """Test installing extension from local .tar.gz"""
+        self.assertModule('g.extension', extension='r.plus.example',
+                          url=os.path.join(self.path,
+                                              'r.plus.example.tar.gz'),
+                          prefix=self.install_prefix)
+        for file in self.files:
+            self.assertFileExists(file)
+
+    def test_remote_targz_without_dir_install(self):
+        """Test installing extension from (remote) .tar.gz without main dir"""
+        self.assertModule('g.extension', extension='r.plus.example',
+                          url=self.url + '/' + 'r.plus.example_sep.tar.gz',
+                          prefix=self.install_prefix, verbose=True)
+        for file in self.files:
+            self.assertFileExists(file)
+
+    def test_remote_zip_install(self):
+        """Test installing extension from .zip specified by URL (local)"""
+        self.assertModule('g.extension', extension='r.plus.example',
+                          url=self.url + '/' + 'r.plus.example.zip',
+                          prefix=self.install_prefix)
+        for file in self.files:
+            self.assertFileExists(os.path.join(file))
+
+
+if __name__ == '__main__':
+    test()
diff --git a/scripts/g.extension/testsuite/test_addons_toolboxes.py b/scripts/g.extension/testsuite/test_addons_toolboxes.py
new file mode 100644
index 0000000..6036f85
--- /dev/null
+++ b/scripts/g.extension/testsuite/test_addons_toolboxes.py
@@ -0,0 +1,52 @@
+"""
+TEST:      test_addons_toolboxes.py
+
+AUTHOR(S): Vaclav Petras <wenzeslaus gmail com>
+
+PURPOSE:   Test for g.extension toolboxes handling
+
+COPYRIGHT: (C) 2015 Vaclav Petras, and by the GRASS Development Team
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import SimpleModule
+
+import os
+
+FULL_TOOLBOXES_OUTPUT = """\
+Hydrology (HY)
+* r.stream.basins
+* r.stream.channel
+* r.stream.distance
+* r.stream.order
+* r.stream.segment
+* r.stream.slope
+* r.stream.snap
+* r.stream.stats
+mcda (MC)
+* r.mcda.ahp
+* r.mcda.roughset
+* r.mcda.input
+* r.mcda.output
+"""
+
+
+class TestToolboxesMetadata(TestCase):
+
+    url = 'file://' + os.path.abspath('data')
+
+    def test_listing(self):
+        """List toolboxes and their content"""
+        module = SimpleModule('g.extension', flags='lt', url=self.url)
+        self.assertModule(module)
+        stdout = module.outputs.stdout
+        self.assertLooksLike(stdout, FULL_TOOLBOXES_OUTPUT)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/scripts/g.manual/g.manual.html b/scripts/g.manual/g.manual.html
index c79ded9..2cb76fa 100644
--- a/scripts/g.manual/g.manual.html
+++ b/scripts/g.manual/g.manual.html
@@ -34,4 +34,4 @@ g.manual -m d.vect
 Markus Neteler
 
 <p>
-<i>Last changed: $Date: 2013-01-06 16:32:45 +0100 (Sun, 06 Jan 2013) $</i>
+<i>Last changed: $Date: 2013-01-06 07:32:45 -0800 (Sun, 06 Jan 2013) $</i>
diff --git a/scripts/g.search.modules/Makefile b/scripts/g.search.modules/Makefile
new file mode 100644
index 0000000..db0c322
--- /dev/null
+++ b/scripts/g.search.modules/Makefile
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../..
+
+PGM = g.search.modules
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script
diff --git a/scripts/g.search.modules/g.search.modules.html b/scripts/g.search.modules/g.search.modules.html
new file mode 100644
index 0000000..8c56262
--- /dev/null
+++ b/scripts/g.search.modules/g.search.modules.html
@@ -0,0 +1,70 @@
+<h2>DESCRIPTION</h2>
+
+<em>r.search.module</em> searches for given keyword in GRASS modules name,
+description, keywords and optionally manpages too.
+
+<h2>NOTES</h2>
+
+There can be more keywords, <em>g.search.modules</em> will search for each of them
+
+<h2>EXAMPLE</h2>
+
+Search all modules, where keywords <em>buffer</em> OR <em>clip</em> can be found
+<div class="code"><pre>
+g.search.modules keyword=buffer,clip
+
+r.circle
+    keywords: raster,buffer,geometry,circle
+    description: Creates a raster map containing concentric rings around a
+                 given point.
+
+r.buffer.lowmem
+    keywords: raster,buffer
+    description: Creates a raster map showing buffer zones surrounding cells
+                 that contain non-NULL category values. This is the low-
+                 memory alternative to the classic r.buffer module.
+
+r.buffer
+    keywords: raster,buffer
+    description: Creates a raster map showing buffer zones surrounding cells
+                 that contain non-NULL category values.
+</pre></div>
+
+Search all modules, where keywords <em>overlay</em> AND <em>clip</em> can be
+found with some fancy terminal output
+<div class="code"><pre>
+g.search.modules keyword=clip,overlay -a -c
+
+v.overlay
+    keywords: vector,geometry,spatial query,intersection,union,clip
+    description: Overlays two vector maps.;
+</pre></div>
+
+Search in manual pages too 
+<div class="code"><pre>
+g.search.modules -m keyword=kapri
+
+db.execute
+    keywords: database,attribute table,SQL
+    description: Executes any SQL statement. For SELECT statements use
+                 'db.select'.
+
+db.select
+    keywords: database,attribute table,SQL
+    description: Selects data from attribute table. Performs SQL query
+                 statement(s).
+</pre></div>
+
+<h2>SEE ALSO</h2>
+
+<em>
+  <a href="g.manual.html">g.manual</a>
+  <!-- <a href="g.search.map.html">g.search.map</a>, -->
+</em>
+
+<h2>AUTHORS</h2>
+
+Jachym Cepicky, OpenGeoLabs s.r.o., Czech Republic
+
+<p>
+<i>Last changed: $Date: 2015-12-01 00:49:42 -0800 (Tue, 01 Dec 2015) $</i>
diff --git a/scripts/g.search.modules/g.search.modules.py b/scripts/g.search.modules/g.search.modules.py
new file mode 100755
index 0000000..18ee140
--- /dev/null
+++ b/scripts/g.search.modules/g.search.modules.py
@@ -0,0 +1,238 @@
+#!/usr/bin/env python
+############################################################################
+#
+# MODULE:	g.search.modules
+# AUTHOR(S):	Jachym Cepicky <jachym.cepicky gmail.com>
+# PURPOSE:	g.search.modules in grass modules using keywords
+# COPYRIGHT:	(C) 2015-2016 by the GRASS Development Team
+#
+#		This program is free software under the GNU General
+#		Public License (>=v2). Read the file COPYING that
+#		comes with GRASS for details.
+#
+#############################################################################
+
+#%module
+#% description: Search in GRASS modules using keywords
+#% keyword: general
+#% keyword: modules
+#% keyword: search
+#%end
+#%option
+#% key: keyword
+#% multiple: yes
+#% type: string
+#% description: Keyword to be searched
+#% required : yes
+#%end
+#%flag
+#% key: a
+#% description: Display only modules where all keywords are available (AND), default: OR
+#% guisection: Output
+#%end
+#%flag
+#% key: m
+#% description: Search in manual pages too (can be slow)
+#% guisection: Output
+#%end
+#%flag
+#% key: c
+#% description: Use colorized (more readable) output to terminal
+#% guisection: Output
+#%end
+#%flag
+#% key: g
+#% description: Shell script format
+#% guisection: Output
+#%end
+#%flag
+#% key: j
+#% description: JSON format
+#% guisection: Output
+#%end
+
+import os
+import sys
+
+from grass.script.utils import diff_files, try_rmdir
+from grass.script import core as grass
+
+try:
+    import xml.etree.ElementTree   as etree
+except ImportError:
+    import elementtree.ElementTree as etree # Python <= 2.4
+
+COLORIZE=False
+
+def main():
+    global COLORIZE
+    keywords = options['keyword'].lower().split(',')
+    AND = flags['a']
+    manpages = flags['m']
+    out_format = None
+    if flags['g']:
+        out_format = 'shell'
+    elif flags['j']:
+        out_format = 'json'
+    else:
+        COLORIZE = flags['c']
+
+    modules = _search_module(keywords, AND, manpages)
+
+    print_results(modules, out_format) 
+
+def print_results(data, out_format=None):
+    """
+    Print result of the searching method
+
+    each data item should have
+
+    {
+        'name': name of the item,
+        'attributes': {
+            # list of attributes to be shown too
+        }
+    }
+
+    :param list.<dict> data: input list of found data items
+    :param str out_format: output format 'shell', 'json', None
+    """
+
+    if not out_format:
+        _print_results(data)
+
+    elif out_format == 'shell':
+        _print_results_shell(data)
+
+    elif out_format == 'json':
+        _print_results_json(data)
+
+def _print_results_shell(data):
+    """Print just the name attribute"""
+
+    for item in data:
+        print item['name']
+
+def _print_results_json(data):
+    """Print JSON output"""
+
+    import json
+    print json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
+
+def _print_results(data):
+
+    import textwrap
+
+    for item in data:
+        print '\n{}'.format(colorize(item['name'], attrs=['bold']))
+        for attr in item['attributes']:
+            out = '{}: {}'.format(attr, item['attributes'][attr])
+            out = textwrap.wrap(out, width=79, initial_indent=4*' ',
+                    subsequent_indent=4*' '+len(attr)*' '+'  ')
+            for line in out:
+                print line
+
+def colorize(text, attrs=None, pattern=None):
+    """Colorize given text input
+
+    :param string text: input text to be colored
+    :param list.<string> attrs: list of attributes as defined in termcolor package
+    :param string pattern: text to be highlighted in input text
+    :return: colored string
+    """
+    
+
+    if COLORIZE:
+        try:
+            from termcolor import colored
+        except ImportError:
+            grass.fatal(_("Cannot colorize, python-termcolor is not installed"))
+    else:
+        def colored(pattern, attrs):
+            return pattern
+
+    if pattern:
+        return text.replace(pattern, colored(pattern, attrs=attrs))
+    else:
+        return colored(text, attrs=attrs)
+
+def _search_module(keywords, logical_and=False, manpages=False):
+    """Search modules by given keywords
+
+    :param list.<str> keywords: list of keywords
+    :param boolean logical_and: use AND (default OR)
+    :param boolean manpages: search in manpages too
+    :return dict: modules
+    """
+
+    WXGUIDIR = os.path.join(os.getenv("GISBASE"), "gui", "wxpython")
+    filename = os.path.join(WXGUIDIR, 'xml', 'module_items.xml')
+    menudata_file = open(filename, 'r')
+
+    menudata = etree.parse(menudata_file)
+    menudata_file.close()
+
+    items = menudata.findall('module-item')
+
+    found_modules = []
+    for item in items:
+        name = item.attrib['name']
+        description = item.find('description').text
+        module_keywords = item.find('keywords').text
+
+        found = [False]
+        if logical_and:
+            found = [False] * len(keywords)
+
+        for idx in range(len(keywords)):
+            keyword = keywords[idx]
+            keyword_found = False
+
+            keyword_found = _basic_search(keyword, name, description, module_keywords)
+
+            if not keyword_found and manpages:
+                keyword_found = _manpage_search(keyword, name)
+
+            if keyword_found:
+                if logical_and:
+                    found[idx] = True
+                else:
+                    found = [True]
+
+                description = colorize(description,
+                                        attrs=['underline'],
+                                        pattern=keyword)
+                module_keywords = colorize(module_keywords,
+                                            attrs=['underline'],
+                                            pattern=keyword)
+
+        if False not in found:
+            found_modules.append({
+                'name': name,
+                'attributes': {
+                    'keywords': module_keywords,
+                    'description': description
+                }
+            })
+
+    return found_modules
+
+def _basic_search(pattern, name, description, module_keywords):
+    
+    if name.lower().find(pattern) > -1 or\
+       description.lower().find(pattern) > -1 or\
+       module_keywords.lower().find(pattern) > -1:
+
+        return True
+    else:
+        return False
+
+def _manpage_search(pattern, name):
+
+    manpage = grass.read_command('g.manual', flags='m', entry=name)
+
+    return manpage.lower().find(pattern) > -1
+
+if __name__ == "__main__":
+    options, flags = grass.parser()
+    sys.exit(main())
diff --git a/scripts/g.search.modules/testsuite/test_g_search_modules.py b/scripts/g.search.modules/testsuite/test_g_search_modules.py
new file mode 100644
index 0000000..52eb871
--- /dev/null
+++ b/scripts/g.search.modules/testsuite/test_g_search_modules.py
@@ -0,0 +1,64 @@
+"""
+TEST:      test_g.search.modules.py
+
+AUTHOR(S): Jachym Cepicky <jachym.cepicky gmail com>
+
+PURPOSE:   Test g.search.modules script outputs
+
+COPYRIGHT: (C) 2015 Jachym Ceppicky, and by the GRASS Development Team
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import SimpleModule
+
+import termcolor
+
+import os
+
+
+class TestSearchModule(TestCase):
+
+    def test_terminal_output(self):
+        """ """
+        module = SimpleModule('g.search.modules', keyword="water")
+        self.assertModule(module)
+        stdout = module.outputs.stdout
+        self.assertEqual(stdout.split()[0], 'r.watershed')
+
+    def test_json_output(self):
+        import json
+        module = SimpleModule('g.search.modules', keyword="water", flags="j")
+        self.assertModule(module)
+        stdout = json.loads(module.outputs.stdout)
+        self.assertEqual(len(stdout), 6, 'Six modules found')
+        self.assertEqual(stdout[3]['name'], 'r.basins.fill', 'r.basins.fill')
+        self.assertTrue('keywords' in stdout[3]['attributes'])
+
+    def test_shell_outout(self):
+        module = SimpleModule('g.search.modules', keyword="water", flags="g")
+        self.assertModule(module)
+        stdout = module.outputs.stdout.split()
+        self.assertEqual(len(stdout), 6)
+        self.assertEqual(stdout[3], 'r.basins.fill')
+
+    def test_colored_terminal(self):
+        module = SimpleModule('g.search.modules', keyword="water", flags="c")
+        self.assertModule(module)
+        stdout = module.outputs.stdout.split()
+        self.assertEqual(stdout[0],
+                         termcolor.colored('r.watershed',
+                         attrs=['bold']))
+
+    def test_manual_pages(self):
+        module = SimpleModule('g.search.modules', keyword="kapri", flags="gm")
+        self.assertModule(module)
+        stdout = module.outputs.stdout.split()
+        self.assertEqual(len(stdout), 2)
+
+if __name__ == '__main__':
+    test()
diff --git a/scripts/i.colors.enhance/i.colors.enhance.html b/scripts/i.colors.enhance/i.colors.enhance.html
index f6129d4..4d2cfd3 100644
--- a/scripts/i.colors.enhance/i.colors.enhance.html
+++ b/scripts/i.colors.enhance/i.colors.enhance.html
@@ -72,4 +72,4 @@ The <b>strength</b> option requires further refinement.
 Markus Neteler, Trento, Italy<br>
 M. Hamish Bowman, Dept. Marine Science, Otago University, New Zealand
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/i.image.mosaic/i.image.mosaic.html b/scripts/i.image.mosaic/i.image.mosaic.html
index 04a41ee..cd79881 100644
--- a/scripts/i.image.mosaic/i.image.mosaic.html
+++ b/scripts/i.image.mosaic/i.image.mosaic.html
@@ -15,4 +15,4 @@ GRASS GIS map calculator, and extends the colormap to the range of all images.
 Markus Neteler, ITC-Irst, Trento, Italy
 Updated to GRASS 5.7 by Michael Barton, Arizona State University
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i>
diff --git a/scripts/i.in.spotvgt/i.in.spotvgt.html b/scripts/i.in.spotvgt/i.in.spotvgt.html
index 5e8756d..e93eded 100644
--- a/scripts/i.in.spotvgt/i.in.spotvgt.html
+++ b/scripts/i.in.spotvgt/i.in.spotvgt.html
@@ -48,4 +48,4 @@ r.out.gdal 0001_NDV format=GTiff out=spotndvi.tif
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2013-05-11 15:23:40 +0200 (Sat, 11 May 2013) $</i>
+<p><i>Last changed: $Date: 2013-05-11 06:23:40 -0700 (Sat, 11 May 2013) $</i>
diff --git a/scripts/i.oif/i.oif.html b/scripts/i.oif/i.oif.html
index 8e6f5d8..2f0449e 100644
--- a/scripts/i.oif/i.oif.html
+++ b/scripts/i.oif/i.oif.html
@@ -81,4 +81,4 @@ Markus Neteler, ITC-Irst, Trento, Italy<br>
 Updated to GRASS 5.7 by Michael Barton, Arizona State University
 
 <p>
-<i>Last changed: $Date: 2015-07-20 10:49:51 +0200 (Mon, 20 Jul 2015) $</i>
+<i>Last changed: $Date: 2015-07-20 01:45:41 -0700 (Mon, 20 Jul 2015) $</i>
diff --git a/scripts/i.pansharpen/i.pansharpen.html b/scripts/i.pansharpen/i.pansharpen.html
index 1161d65..6d87680 100644
--- a/scripts/i.pansharpen/i.pansharpen.html
+++ b/scripts/i.pansharpen/i.pansharpen.html
@@ -80,6 +80,8 @@ the 3 pan sharpening algorithms differ in terms of spectral response.
 
 <h2>EXAMPLES</h2>
 
+<h3>Pan sharpening comparison example</h3>
+
 Pan sharpening of a Landsat image from Boulder, Colorado, USA:
 
 <div class="code"><pre>
@@ -93,12 +95,14 @@ i.pansharpen red=p034r032_7dt20010924_z13_30 green=p034r032_7dt20010924_z13_20
     blue=p034r032_7dt20010924_z13_10 pan=p034r032_7dp20010924_z13_80 
     output=ihs321 method=ihs
 
+# ... likewise with method=brovey and method=pca
+
 # display at 15m
 g.region raster=ihs321_blue -p
 d.rgb b=ihs321_blue g=ihs321_green r=ihs321_red
 </pre></div>
 
-
+<p>
 <b><em>Results:</em></b>
 
 <p><center>
@@ -139,8 +143,9 @@ d.rgb b=ihs321_blue g=ihs321_green r=ihs321_red
 </center>
 <br>
 
+<h3>Pan sharpening of LANDSAT ETM+ (Landsat 7)</h3>
 
-Example: LANDSAT ETM+ (Landsat 7), North Carolina sample dataset:
+LANDSAT ETM+ (Landsat 7), North Carolina sample dataset:
 
 <div class="code"><pre>
 # original at 28m
@@ -218,4 +223,4 @@ Michael Barton (Arizona State University, USA)<br>
 with contributions from Markus Neteler (ITC-irst, Italy); Glynn Clements;
 Luca Delucchi (Fondazione E. Mach, Italy); Markus Metz; and Hamish Bowman. 
 
-<p><i>Last changed: $Date: 2015-10-18 11:39:41 +0200 (Sun, 18 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-09 08:51:03 -0800 (Tue, 09 Feb 2016) $</i>
diff --git a/scripts/i.pansharpen/i.pansharpen.py b/scripts/i.pansharpen/i.pansharpen.py
index 5d09f9e..60d95f5 100755
--- a/scripts/i.pansharpen/i.pansharpen.py
+++ b/scripts/i.pansharpen/i.pansharpen.py
@@ -316,7 +316,7 @@ def main():
     # equalized grey scales give best contrast
     for ch in ['red', 'green', 'blue']:
         grass.run_command('r.colors', quiet=True, map="%s_%s" % (out, ch),
-                          flags="e", col='grey')
+                          flags="e", color='grey')
 
     # Landsat too blue-ish because panchromatic band less sensitive to blue
     # light, so output blue channed can be modified
diff --git a/scripts/i.pansharpen/rgb_brovey321.jpg b/scripts/i.pansharpen/rgb_brovey321.jpg
index 75f878a..108d7bb 100644
Binary files a/scripts/i.pansharpen/rgb_brovey321.jpg and b/scripts/i.pansharpen/rgb_brovey321.jpg differ
diff --git a/scripts/i.pansharpen/rgb_ihs321.jpg b/scripts/i.pansharpen/rgb_ihs321.jpg
index 2f8c240..8ffafcc 100644
Binary files a/scripts/i.pansharpen/rgb_ihs321.jpg and b/scripts/i.pansharpen/rgb_ihs321.jpg differ
diff --git a/scripts/i.pansharpen/rgb_landsat321.jpg b/scripts/i.pansharpen/rgb_landsat321.jpg
index a43990b..1a494df 100644
Binary files a/scripts/i.pansharpen/rgb_landsat321.jpg and b/scripts/i.pansharpen/rgb_landsat321.jpg differ
diff --git a/scripts/i.pansharpen/rgb_pca321.jpg b/scripts/i.pansharpen/rgb_pca321.jpg
index da25922..f4e5e15 100644
Binary files a/scripts/i.pansharpen/rgb_pca321.jpg and b/scripts/i.pansharpen/rgb_pca321.jpg differ
diff --git a/scripts/i.spectral/i.spectral.html b/scripts/i.spectral/i.spectral.html
index 0ad43a1..13404a3 100644
--- a/scripts/i.spectral/i.spectral.html
+++ b/scripts/i.spectral/i.spectral.html
@@ -50,4 +50,4 @@ Markus Neteler<br>
 Francesco Pirotti
 
 <p>
-<i>Last changed: $Date: 2014-12-27 00:50:11 +0100 (Sat, 27 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-26 15:33:06 -0800 (Fri, 26 Dec 2014) $</i>
diff --git a/scripts/i.spectral/i.spectral.py b/scripts/i.spectral/i.spectral.py
index 662f896..301b373 100755
--- a/scripts/i.spectral/i.spectral.py
+++ b/scripts/i.spectral/i.spectral.py
@@ -48,7 +48,7 @@
 #%end
 #%option G_OPT_F_OUTPUT
 #% key: output
-#% description: Name for output image
+#% description: Name for output image (or text file for -t)
 #% guisection: Output
 #% required : no
 #%end
@@ -69,6 +69,10 @@
 #% key: g
 #% description: Use gnuplot for display
 #%end
+#% flag
+#% key: t
+#% description: output to text file
+#%end
 
 import os
 import atexit
@@ -79,6 +83,13 @@ from grass.script import core as grass
 def cleanup():
     try_rmdir(tmp_dir)
 
+def write2textf(what, output):
+    outf = open(output, 'w')
+    i=0
+    for row in enumerate(what):
+        i=i+1
+        outf.write("%d, %s\n" % (i,row))
+    outf.close()
 
 def draw_gnuplot(what, xlabels, output, img_format, coord_legend):
     xrange = 0
@@ -187,7 +198,8 @@ def main():
     img_fmt = options['format']
     coord_legend = flags['c']
     gnuplot = flags['g']
-    
+    textfile = flags['t']
+
     global tmp_dir
     tmp_dir = grass.tempdir()
     
@@ -197,6 +209,10 @@ def main():
     if group and raster:
         grass.fatal(_("group= and raster= are mutually exclusive"))
 
+    # -t needs an output filename
+    if textfile and not output:
+        grass.fatal(_("Writing to text file requires output=filename"))
+
     # check if gnuplot is present
     if gnuplot and not grass.find_program('gnuplot', '-V'):
         grass.fatal(_("gnuplot required, please install first"))
@@ -232,6 +248,8 @@ def main():
     # build data files
     if gnuplot:
         draw_gnuplot(what, xlabels, output, img_fmt, coord_legend)
+    elif textfile:
+        write2textf(what, output)
     else:
         draw_linegraph(what)
 
diff --git a/scripts/i.tasscap/i.tasscap.html b/scripts/i.tasscap/i.tasscap.html
index 90d500e..4c562f5 100644
--- a/scripts/i.tasscap/i.tasscap.html
+++ b/scripts/i.tasscap/i.tasscap.html
@@ -107,4 +107,4 @@ Results:
 <h2>AUTHOR</h2>
 
 Markus Neteler, ITC-irst, based on a script by Agustin Lobo
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/m.proj/m.proj.html b/scripts/m.proj/m.proj.html
index 01370f9..5d583d3 100644
--- a/scripts/m.proj/m.proj.html
+++ b/scripts/m.proj/m.proj.html
@@ -204,4 +204,4 @@ Functionality inspired by the <em>m.proj</em> and <em>m.proj2</em> modules for
 GRASS GIS 5.
 
 <p>
-<i>Last changed: $Date: 2014-07-24 01:22:57 +0200 (Thu, 24 Jul 2014) $</i>
+<i>Last changed: $Date: 2014-06-18 10:54:55 -0700 (Wed, 18 Jun 2014) $</i>
diff --git a/scripts/m.proj/m.proj.py b/scripts/m.proj/m.proj.py
index d2e778a..188f115 100755
--- a/scripts/m.proj/m.proj.py
+++ b/scripts/m.proj/m.proj.py
@@ -1,19 +1,20 @@
 #!/usr/bin/env python
 
-############################################################################
-#
-# MODULE:	m.proj
-# AUTHOR:	M. Hamish Bowman, Dept. Marine Science, Otago Univeristy,
-#		  New Zealand
-#               Converted to Python by Glynn Clements
-# PURPOSE:      cs2cs reprojection frontend for a list of coordinates.
-#		Replacement for m.proj2 from GRASS 5
-# COPYRIGHT:	(c) 2006-2014 Hamish Bowman, and the GRASS Development Team
-#		This program is free software under the GNU General Public
-#		License (>=v2). Read the file COPYING that comes with GRASS
-#		for details.
-#
-#############################################################################
+"""
+MODULE:    m.proj
+
+AUTHOR(S): M. Hamish Bowman, Dept. Marine Science, Otago Univeristy,
+           New Zealand
+           Converted to Python by Glynn Clements
+
+PURPOSE:   cs2cs reprojection frontend for a list of coordinates.
+           Replacement for m.proj2 from GRASS 5
+
+COPYRIGHT: (c) 2006-2014 Hamish Bowman, and the GRASS Development Team
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
 
 # notes:
 #  - cs2cs expects "x y" data so be sure to send it "lon lat" not "lat lon"
@@ -96,6 +97,7 @@ import threading
 from grass.script.utils import separator, parse_key_val
 from grass.script import core as grass
 
+
 class TrThread(threading.Thread):
     def __init__(self, ifs, inf, outf):
         threading.Thread.__init__(self)
@@ -114,6 +116,7 @@ class TrThread(threading.Thread):
 
         self.outf.close()
 
+
 def main():
     coords = options['coordinates']
     input = options['input']
@@ -127,84 +130,95 @@ def main():
     copy_input = flags['e']
     include_header = flags['c']
 
-    #### check for cs2cs
+    # check for cs2cs
     if not grass.find_program('cs2cs'):
-	grass.fatal(_("cs2cs program not found, install PROJ.4 first: http://proj.maptools.org"))
+        grass.fatal(_(
+            "cs2cs program not found, install PROJ.4 first: \
+            http://proj.maptools.org"))
 
-    #### check for overenthusiasm
+    # check for overenthusiasm
     if proj_in and ll_in:
-	grass.fatal(_("Choose only one input parameter method"))
+        grass.fatal(_("Choose only one input parameter method"))
 
     if proj_out and ll_out:
-	grass.fatal(_("Choose only one output parameter method")) 
+        grass.fatal(_("Choose only one output parameter method"))
 
     if ll_in and ll_out:
-	grass.fatal(_("Choise only one auto-projection parameter method"))
+        grass.fatal(_("Choise only one auto-projection parameter method"))
 
     if output and not grass.overwrite() and os.path.exists(output):
-	grass.fatal(_("Output file already exists")) 
+        grass.fatal(_("Output file already exists"))
 
     if not coords and not input:
         grass.fatal(_("One of <coordinates> and <input> must be given"))
     if coords and input:
-        grass.fatal(_("Options <coordinates> and <input> are mutually exclusive"))
+        grass.fatal(_(
+            "Options <coordinates> and <input> are mutually exclusive"))
 
-    #### parse field separator
+    # parse field separator
     # FIXME: input_x,y needs to split on multiple whitespace between them
     if fs == ',':
         ifs = ofs = ','
     else:
-	try:
-	    ifs, ofs = fs.split(',')
-	except ValueError:
-	    ifs = ofs = fs
+        try:
+            ifs, ofs = fs.split(',')
+        except ValueError:
+            ifs = ofs = fs
 
     ifs = separator(ifs)
     ofs = separator(ofs)
 
-    #### set up projection params
+    # set up projection params
     s = grass.read_command("g.proj", flags='j')
     kv = parse_key_val(s)
     if "XY location" in kv['+proj'] and (ll_in or ll_out):
-	grass.fatal(_("Unable to project to or from a XY location")) 
+        grass.fatal(_("Unable to project to or from a XY location"))
 
     in_proj = None
 
     if ll_in:
-	in_proj = "+proj=longlat +datum=WGS84"
-	grass.verbose("Assuming LL WGS84 as input, current projection as output ")
+        in_proj = "+proj=longlat +datum=WGS84"
+        grass.verbose(
+            "Assuming LL WGS84 as input, current projection as output ")
 
     if ll_out:
-	in_proj = grass.read_command('g.proj', flags = 'jf')
+        in_proj = grass.read_command('g.proj', flags='jf')
 
     if proj_in:
-	in_proj = proj_in
+        if '+' in proj_in:
+            in_proj = proj_in
+        else:
+            grass.fatal(_("Invalid PROJ.4 input specification"))
 
     if not in_proj:
-	grass.verbose("Assuming current location as input")
-        in_proj = grass.read_command('g.proj', flags = 'jf')
-    
+        grass.verbose("Assuming current location as input")
+        in_proj = grass.read_command('g.proj', flags='jf')
+
     in_proj = in_proj.strip()
     grass.verbose("Input parameters: '%s'" % in_proj)
 
     out_proj = None
 
     if ll_out:
-	out_proj = "+proj=longlat +datum=WGS84"
-	grass.verbose("Assuming current projection as input, LL WGS84 as output ")
+        out_proj = "+proj=longlat +datum=WGS84"
+        grass.verbose(
+            "Assuming current projection as input, LL WGS84 as output ")
 
     if ll_in:
-	out_proj = grass.read_command('g.proj', flags = 'jf')
+        out_proj = grass.read_command('g.proj', flags='jf')
 
     if proj_out:
-	out_proj = proj_out
+        if '+' in proj_out:
+            out_proj = proj_out
+        else:
+            grass.fatal(_("Invalid PROJ.4 output specification"))
 
     if not out_proj:
-	grass.fatal(_("Missing output projection parameters "))
+        grass.fatal(_("Missing output projection parameters "))
     out_proj = out_proj.strip()
     grass.verbose("Output parameters: '%s'" % out_proj)
 
-    #### set up input file
+    # set up input file
     if coords:
         x, y = coords.split(',')
         tmpfile = grass.tempfile()
@@ -222,63 +236,66 @@ def main():
                 grass.fatal(_("Unable to read input data"))
             inf = file(infile)
             grass.debug("input file=[%s]" % infile)
-    
-    #### set up output file
+
+    # set up output file
     if not output:
-	outfile = None
-	outf = sys.stdout
+        outfile = None
+        outf = sys.stdout
     else:
-	outfile = output
-	outf = open(outfile, 'w')
-	grass.debug("output file=[%s]" % outfile) 
+        outfile = output
+        outf = open(outfile, 'w')
+        grass.debug("output file=[%s]" % outfile)
 
-    #### set up output style
+    # set up output style
     if not decimal:
-	outfmt = ["-w5"]
+        outfmt = ["-w5"]
     else:
-	outfmt = ["-f", "%.8f"]
+        outfmt = ["-f", "%.8f"]
     if not copy_input:
-	copyinp = []
+        copyinp = []
     else:
-	copyinp = ["-E"]
+        copyinp = ["-E"]
 
-    #### do the conversion
+    # do the conversion
     # Convert cs2cs DMS format to GRASS DMS format:
     #   cs2cs | sed -e 's/d/:/g' -e "s/'/:/g"  -e 's/"//g'
 
-    cmd = ['cs2cs'] + copyinp + outfmt + in_proj.split() + ['+to'] + out_proj.split()
-    p = grass.Popen(cmd, stdin = grass.PIPE, stdout = grass.PIPE)
+    cmd = ['cs2cs'] + copyinp + outfmt + \
+        in_proj.split() + ['+to'] + out_proj.split()
+
+    p = grass.Popen(cmd, stdin=grass.PIPE, stdout=grass.PIPE)
 
     tr = TrThread(ifs, inf, p.stdin)
     tr.start()
 
     if not copy_input:
-	if include_header:
-	    outf.write("x%sy%sz\n" % (ofs, ofs))
-	for line in p.stdout:
+        if include_header:
+            outf.write("x%sy%sz\n" % (ofs, ofs))
+        for line in p.stdout:
             try:
                 xy, z = line.split(' ', 1)
                 x, y = xy.split('\t')
             except ValueError:
                 grass.fatal(line)
-            
-	    outf.write('%s%s%s%s%s\n' % \
+
+            outf.write('%s%s%s%s%s\n' %
                        (x.strip(), ofs, y.strip(), ofs, z.strip()))
     else:
-	if include_header:
-	    outf.write("input_x%sinput_y%sx%sy%sz\n" % (ofs, ofs, ofs, ofs))
-	for line in p.stdout:
+        if include_header:
+            outf.write("input_x%sinput_y%sx%sy%sz\n" % (ofs, ofs, ofs, ofs))
+        for line in p.stdout:
             inXYZ, x, rest = line.split('\t')
             inX, inY = inXYZ.split(' ')[:2]
-	    y, z = rest.split(' ', 1)
-	    outf.write('%s%s%s%s%s%s%s%s%s\n' % \
-                       (inX.strip(), ofs, inY.strip(), ofs, x.strip(), \
-		        ofs, y.strip(), ofs, z.strip()))
+            y, z = rest.split(' ', 1)
+            outf.write('%s%s%s%s%s%s%s%s%s\n' %
+                       (inX.strip(), ofs, inY.strip(), ofs, x.strip(),
+                        ofs, y.strip(), ofs, z.strip()))
 
     p.wait()
 
     if p.returncode != 0:
-	grass.warning(_("Projection transform probably failed, please investigate"))
+        grass.warning(_(
+            "Projection transform probably failed, please investigate"))
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/scripts/r.blend/r.blend.html b/scripts/r.blend/r.blend.html
index 23bbb42..abadf20 100644
--- a/scripts/r.blend/r.blend.html
+++ b/scripts/r.blend/r.blend.html
@@ -20,13 +20,14 @@ d.rgb blue=elev_shade_blend.b green=elev_shade_blend.g red=elev_shade_blend.r
 <h2>SEE ALSO</h2>
 
 <em>
+<a href="d.shade.html">d.shade</a>,
+<a href="g.region.html">g.region</a>,
 <a href="r.shade.html">r.shade</a>,
+<a href="r.colors.html">r.colors</a>,
 <a href="r.his.html">r.his</a>,
 <a href="r.mapcalc.html">r.mapcalc</a>,
-<a href="r.colors.html">r.colors</a>,
-<a href="r.support.html">r.support</a>,
-<a href="d.shade.html">d.shade</a>,
-<a href="g.region.html">g.region</a>
+<a href="r.rgb.html">r.rgb</a>,
+<a href="r.support.html">r.support</a>
 </em>
 
 
@@ -36,4 +37,4 @@ Unknown: probably CERL<br>
 Updated to GRASS 5.7 by Michael Barton, Arizona State University
 
 <p>
-<i>Last changed: $Date: 2014-12-20 05:56:06 +0100 (Sat, 20 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-03-18 07:09:00 -0700 (Fri, 18 Mar 2016) $</i>
diff --git a/scripts/r.buffer.lowmem/r.buffer.lowmem.html b/scripts/r.buffer.lowmem/r.buffer.lowmem.html
index 5a79974..da5f96f 100644
--- a/scripts/r.buffer.lowmem/r.buffer.lowmem.html
+++ b/scripts/r.buffer.lowmem/r.buffer.lowmem.html
@@ -62,4 +62,4 @@ Research Laboratory
 Low-memory Python version by Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2013-01-04 16:21:51 +0100 (Fri, 04 Jan 2013) $</i>
+<i>Last changed: $Date: 2013-01-04 07:21:51 -0800 (Fri, 04 Jan 2013) $</i>
diff --git a/scripts/r.colors.stddev/r.colors.stddev.html b/scripts/r.colors.stddev/r.colors.stddev.html
index 9625c40..a9febff 100644
--- a/scripts/r.colors.stddev/r.colors.stddev.html
+++ b/scripts/r.colors.stddev/r.colors.stddev.html
@@ -35,4 +35,4 @@ r.colors.stddev elevation
 
 Hamish Bowman, <i>Dunedin, New Zealand</i>
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/r.fillnulls/r.fillnulls.html b/scripts/r.fillnulls/r.fillnulls.html
index e637fe7..dfe9f40 100644
--- a/scripts/r.fillnulls/r.fillnulls.html
+++ b/scripts/r.fillnulls/r.fillnulls.html
@@ -115,4 +115,4 @@ Markus Neteler, University of Hannover  and Fondazione Edmund Mach<br>
 Improvement by Hamish Bowman, NZ
 
 <p>
-<i>Last changed: $Date: 2015-12-31 09:19:51 +0100 (Thu, 31 Dec 2015) $</i>
+<i>Last changed: $Date: 2015-12-31 00:19:29 -0800 (Thu, 31 Dec 2015) $</i>
diff --git a/scripts/r.grow/r.grow.html b/scripts/r.grow/r.grow.html
index 118b468..092c4d1 100644
--- a/scripts/r.grow/r.grow.html
+++ b/scripts/r.grow/r.grow.html
@@ -75,4 +75,4 @@ Marjorie Larson,
 U.S. Army Construction Engineering Research Laboratory
 <p>Glynn Clements
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/r.import/r.import.py b/scripts/r.import/r.import.py
index a151046..cb4d02a 100755
--- a/scripts/r.import/r.import.py
+++ b/scripts/r.import/r.import.py
@@ -8,7 +8,7 @@
 #
 # PURPOSE:      Import and reproject on the fly
 #
-# COPYRIGHT:    (C) 2015 GRASS development team
+# COPYRIGHT:    (C) 2015-2016 GRASS development team
 #
 #               This program is free software under the GNU General
 #               Public License (>=v2). Read the file COPYING that
@@ -89,6 +89,14 @@
 #% description: Resolution of output raster map (use with option resolution=value)
 #% guisection: Output
 #%end
+#%option
+#% key: title
+#% key_desc: phrase
+#% type: string
+#% required: no
+#% description: Title for resultant raster map
+#% guisection: Metadata
+#%end
 #%flag
 #% key: e
 #% description: Estimate resolution only
@@ -103,7 +111,11 @@
 #% key: l
 #% description: Force Lat/Lon maps to fit into geographic coordinates (90N,S; 180E,W)
 #%end
-
+#%flag
+#% key: o
+#% label: Override projection check (use current location's projection)
+#% description: Assume that the dataset has the same projection as the current location
+#%end
 
 import sys
 import os
@@ -141,6 +153,7 @@ def main():
     memory = options['memory']
     bands = options['band']
     tgtres = options['resolution']
+    title = options["title"]
     if options['resolution_value']:
         if tgtres != 'value':
             grass.fatal(_("To set custom resolution value, select 'value' in resolution option"))
@@ -171,7 +184,7 @@ def main():
     # create temp location from input without import
     grass.verbose(_("Creating temporary location for <%s>...") % GDALdatasource)
     parameters = dict(input=GDALdatasource, output=output,
-                      memory=memory, flags='c',
+                      memory=memory, flags='c', title=title,
                       location=TMPLOC, quiet=True)
     if bands:
         parameters['band'] = bands
@@ -188,8 +201,10 @@ def main():
 
     # try r.in.gdal directly first
     additional_flags = 'l' if flags['l'] else ''
-    if grass.run_command('r.in.gdal', input=GDALdatasource, flags='j',
-                         errors='status', quiet=True) == 0:
+    if flags['o']:
+        additional_flags += 'o'
+    if flags['o'] or grass.run_command('r.in.gdal', input=GDALdatasource, flags='j',
+                                       errors='status', quiet=True) == 0:
         parameters = dict(input=GDALdatasource, output=output,
                           memory=memory, flags='k' + additional_flags)
         if bands:
diff --git a/scripts/r.import/testsuite/data/data1.tif b/scripts/r.import/testsuite/data/data1.tif
new file mode 100644
index 0000000..06b08b1
Binary files /dev/null and b/scripts/r.import/testsuite/data/data1.tif differ
diff --git a/scripts/r.import/testsuite/data/data2.asc b/scripts/r.import/testsuite/data/data2.asc
new file mode 100644
index 0000000..06287dc
--- /dev/null
+++ b/scripts/r.import/testsuite/data/data2.asc
@@ -0,0 +1,9 @@
+ncols        4
+nrows        3
+xllcorner    1544385.000000000000
+yllcorner    1553655.000000000000
+cellsize     30.000000000000
+NODATA_value 255
+ 22 22 21 21
+ 22 22 22 21
+ 21 22 22 22
diff --git a/scripts/r.import/testsuite/data/data2.asc.aux.xml b/scripts/r.import/testsuite/data/data2.asc.aux.xml
new file mode 100644
index 0000000..5159e83
--- /dev/null
+++ b/scripts/r.import/testsuite/data/data2.asc.aux.xml
@@ -0,0 +1,274 @@
+<PAMDataset>
+  <Metadata>
+    <MDI key="AREA_OR_POINT">Area</MDI>
+    <MDI key="DataType">Thematic</MDI>
+  </Metadata>
+  <PAMRasterBand band="1">
+    <ColorInterp>Palette</ColorInterp>
+    <ColorTable>
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="249" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="71" c2="107" c3="160" c4="255" />
+      <Entry c1="209" c2="221" c3="249" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="221" c2="201" c3="201" c4="255" />
+      <Entry c1="216" c2="147" c3="130" c4="255" />
+      <Entry c1="237" c2="0" c3="0" c4="255" />
+      <Entry c1="170" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="178" c2="173" c3="163" c4="255" />
+      <Entry c1="249" c2="249" c3="249" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="104" c2="170" c3="99" c4="255" />
+      <Entry c1="28" c2="99" c3="48" c4="255" />
+      <Entry c1="181" c2="201" c3="142" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="165" c2="140" c3="48" c4="255" />
+      <Entry c1="204" c2="186" c3="124" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="226" c2="226" c3="193" c4="255" />
+      <Entry c1="201" c2="201" c3="119" c4="255" />
+      <Entry c1="153" c2="193" c3="71" c4="255" />
+      <Entry c1="119" c2="173" c3="147" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="219" c2="216" c3="60" c4="255" />
+      <Entry c1="170" c2="112" c3="40" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="186" c2="216" c3="234" c4="255" />
+      <Entry c1="181" c2="211" c3="229" c4="255" />
+      <Entry c1="181" c2="211" c3="229" c4="255" />
+      <Entry c1="181" c2="211" c3="229" c4="255" />
+      <Entry c1="181" c2="211" c3="229" c4="255" />
+      <Entry c1="112" c2="163" c3="186" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+      <Entry c1="0" c2="0" c3="0" c4="255" />
+    </ColorTable>
+    <Metadata>
+      <MDI key="RepresentationType">THEMATIC</MDI>
+      <MDI key="STATISTICS_MAXIMUM">22</MDI>
+      <MDI key="STATISTICS_MEAN">21.666666666667</MDI>
+      <MDI key="STATISTICS_MINIMUM">21</MDI>
+      <MDI key="STATISTICS_STDDEV">0.47140452079098</MDI>
+    </Metadata>
+  </PAMRasterBand>
+</PAMDataset>
diff --git a/scripts/r.import/testsuite/data/data2.prj b/scripts/r.import/testsuite/data/data2.prj
new file mode 100644
index 0000000..356542b
--- /dev/null
+++ b/scripts/r.import/testsuite/data/data2.prj
@@ -0,0 +1 @@
+PROJCS["Albers_Conical_Equal_Area",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers"],PARAMETER["standard_parallel_1",29.5],PARAMETER["standard_parallel_2",45.5],PARAMETER["latitude_of_origin",23],PARAMETER["central_meridian",-96],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]]
\ No newline at end of file
diff --git a/scripts/r.import/testsuite/test_r_import.py b/scripts/r.import/testsuite/test_r_import.py
new file mode 100644
index 0000000..545f709
--- /dev/null
+++ b/scripts/r.import/testsuite/test_r_import.py
@@ -0,0 +1,50 @@
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestRImportRegion(TestCase):
+
+    imported = 'test_r_import_imported'
+
+    @classmethod
+    def setUpClass(cls):
+        cls.runModule('g.region', raster='elevation')
+
+    def tearDown(cls):
+        """Remove imported map after each test method"""
+        cls.runModule('g.remove', flags='f', type='raster',
+                      name=cls.imported)
+
+    def test_import_estimate(self):
+        """Test e flag"""
+        self.assertModule('r.import', input='data/data2.asc', output=self.imported,
+                          resample='nearest', flags='e')
+        self.assertRasterDoesNotExist(name=self.imported)
+
+    def test_import_same_proj_tif(self):
+        """Import tif in same proj, default params"""
+        self.assertModule('r.import', input='data/data1.tif', output=self.imported,
+                          resample='bilinear')
+        reference = dict(north=223490, south=223390, east=636820, west=636710,
+                         nsres=10, ewres=10, datatype='FCELL')
+        self.assertRasterFitsInfo(raster=self.imported, reference=reference)
+
+    def test_import_asc_custom_res(self):
+        """Import ASC in different projection, with specified resolution"""
+        self.assertModule('r.import', input='data/data2.asc', output=self.imported,
+                          resample='nearest', resolution='value', resolution_value=30)
+        reference = dict(rows=3, cols=4,
+                         nsres=30, ewres=30, datatype='CELL')
+        self.assertRasterFitsInfo(raster=self.imported, reference=reference, precision=1.1)
+
+    def test_import_asc_region_extent(self):
+        """Import ASC in different projection in specified region"""
+        self.runModule('g.region', raster='elevation', n=223655, s=223600)
+        self.assertModule('r.import', input='data/data2.asc', output=self.imported,
+                          resample='nearest', extent='region', resolution='region')
+        reference = dict(north=223655, south=223600)
+        self.assertRasterFitsInfo(raster=self.imported, reference=reference, precision=1e-6)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/scripts/r.in.aster/r.in.aster.html b/scripts/r.in.aster/r.in.aster.html
index 6168e03..f7ea621 100644
--- a/scripts/r.in.aster/r.in.aster.html
+++ b/scripts/r.in.aster/r.in.aster.html
@@ -7,7 +7,7 @@ from g.proj. It can import Level 1A, Level 1B, and relative DEM products.
   line. In either case, the user must specify an <b>input</b> *.hdf file name, 
   the <b>type</b> of processing used, the image <b>band</b> to import, and an 
   <b>output</b> GRASS raster map name. 
-<p>The <b>type</b> paremeter can take values of L1A, L1B, or DEM. 
+<p>The <b>type</b> parameter can take values of L1A, L1B, or DEM. 
 <p>The <b>band</b> parameter can take values of 1, 2, 3n, 3b, 4-14
 
 
@@ -20,5 +20,5 @@ to be installed. The GDAL library must be compiled with hdf support.
 
 Michael Barton, Arizona State University and Paul Kelly 
 
-<p><i>Last changed: $Date: 2011-09-29 21:48:00 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2016-01-29 01:29:57 -0800 (Fri, 29 Jan 2016) $</i>
 
diff --git a/scripts/r.in.srtm/r.in.srtm.html b/scripts/r.in.srtm/r.in.srtm.html
index 97b6dee..a4d3b5d 100644
--- a/scripts/r.in.srtm/r.in.srtm.html
+++ b/scripts/r.in.srtm/r.in.srtm.html
@@ -44,4 +44,4 @@ Markus Neteler<br>
 Improved by W. Kyngesburye and H. Bowman<br>
 Update for SRTM V3 by Markus Metz
 
-<p><i>Last changed: $Date: 2014-01-25 14:50:45 +0100 (Sat, 25 Jan 2014) $</i>
+<p><i>Last changed: $Date: 2014-01-25 05:50:45 -0800 (Sat, 25 Jan 2014) $</i>
diff --git a/scripts/r.in.wms/r.in.wms.html b/scripts/r.in.wms/r.in.wms.html
index 4060834..d19ff2f 100644
--- a/scripts/r.in.wms/r.in.wms.html
+++ b/scripts/r.in.wms/r.in.wms.html
@@ -130,4 +130,4 @@ Stepan Turek, Czech Technical University in Prague, Czech Republic
 (bachelor's final project 2012, mentor: Martin Landa)
 
 <p>
-<i>Last changed: $Date: 2015-11-23 08:01:46 +0100 (Mon, 23 Nov 2015) $</i>
+<i>Last changed: $Date: 2015-11-22 23:01:17 -0800 (Sun, 22 Nov 2015) $</i>
diff --git a/scripts/r.mask/r.mask.html b/scripts/r.mask/r.mask.html
index fdd38a9..add8474 100644
--- a/scripts/r.mask/r.mask.html
+++ b/scripts/r.mask/r.mask.html
@@ -102,4 +102,4 @@ d.rast geology_30m
 Michael Barton, Arizona State University
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/r.out.xyz/r.out.xyz.html b/scripts/r.out.xyz/r.out.xyz.html
index f86a0e3..fc703da 100644
--- a/scripts/r.out.xyz/r.out.xyz.html
+++ b/scripts/r.out.xyz/r.out.xyz.html
@@ -67,4 +67,4 @@ M. Hamish Bowman<br>
 <i>Dept. Marine Science<br>
 Otago University, New Zealand</i>
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/r.pack/r.pack.html b/scripts/r.pack/r.pack.html
index 7a5d932..33ac492 100644
--- a/scripts/r.pack/r.pack.html
+++ b/scripts/r.pack/r.pack.html
@@ -46,4 +46,4 @@ Original Bash script written by Hamish Bowman, Otago University, New Zealand
 Converted to Python and updated for GRASS 7 by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-09-05 17:56:17 +0200 (Sat, 05 Sep 2015) $</i>
+<i>Last changed: $Date: 2015-09-05 08:57:08 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/scripts/r.plane/r.plane.html b/scripts/r.plane/r.plane.html
index a86cf30..bee1ca2 100644
--- a/scripts/r.plane/r.plane.html
+++ b/scripts/r.plane/r.plane.html
@@ -40,4 +40,4 @@ Updated to GRASS 5.7 by Michael Barton, Arizona State University<br>
 Full rewrite for GRASS 7 by Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2013-05-29 01:44:58 +0200 (Wed, 29 May 2013) $</i>
+<i>Last changed: $Date: 2013-05-28 16:44:58 -0700 (Tue, 28 May 2013) $</i>
diff --git a/scripts/r.reclass.area/r.reclass.area.html b/scripts/r.reclass.area/r.reclass.area.html
index d6e84e1..6abae4c 100644
--- a/scripts/r.reclass.area/r.reclass.area.html
+++ b/scripts/r.reclass.area/r.reclass.area.html
@@ -45,4 +45,4 @@ r.reclass.area input=zipcodes output=zipcodes_minor1000ha \
 NRCS,<br>
 Markus Neteler
 
-<p><i>Last changed: $Date: 2015-11-20 07:01:25 +0100 (Fri, 20 Nov 2015) $</i>
+<p><i>Last changed: $Date: 2015-11-19 22:00:52 -0800 (Thu, 19 Nov 2015) $</i>
diff --git a/scripts/r.rgb/r.rgb.html b/scripts/r.rgb/r.rgb.html
index 61484d0..51b2cb7 100644
--- a/scripts/r.rgb/r.rgb.html
+++ b/scripts/r.rgb/r.rgb.html
@@ -7,7 +7,7 @@ raster map and its associated color table (grey255).
 
 <div class="code"><pre>
 g.region raster=elevation -p
-r.rgb input=elevation
+r.rgb input=elevation red=elevation.r green=elevation.g blue=elevation.b
 </pre></div>
 
 <p>
@@ -54,4 +54,4 @@ echo " elevation.b" | d.text col=black
 Glynn Clements
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2016-03-18 07:09:00 -0700 (Fri, 18 Mar 2016) $</i>
diff --git a/scripts/r.rgb/r.rgb.py b/scripts/r.rgb/r.rgb.py
index ed82ede..f9a23de 100755
--- a/scripts/r.rgb/r.rgb.py
+++ b/scripts/r.rgb/r.rgb.py
@@ -17,6 +17,8 @@
 #% description: Splits a raster map into red, green and blue maps.
 #% keyword: raster
 #% keyword: RGB
+#% keyword: separate
+#% keyword: split
 #%end
 #%option G_OPT_R_INPUT
 #%end
@@ -35,6 +37,9 @@
 #% description: Blue channel raster map name
 #% required: no
 #%end
+#%rules
+#% required: red, green, blue
+#%end
 
 import grass.script as gscript
 
diff --git a/scripts/r.shade/r.shade.html b/scripts/r.shade/r.shade.html
index 03a27c9..41eedd6 100644
--- a/scripts/r.shade/r.shade.html
+++ b/scripts/r.shade/r.shade.html
@@ -106,4 +106,4 @@ Inspired by <em><a href="d.shade.html">d.shade</a></em> and
 manual for <em><a href="r.his.html">r.his</a></em>.
 
 <p>
-<i>Last changed: $Date: 2015-09-02 13:17:37 +0200 (Wed, 02 Sep 2015) $</i>
+<i>Last changed: $Date: 2015-09-02 04:01:34 -0700 (Wed, 02 Sep 2015) $</i>
diff --git a/scripts/r.tileset/r.tileset.html b/scripts/r.tileset/r.tileset.html
index 683b8a4..ed5c744 100644
--- a/scripts/r.tileset/r.tileset.html
+++ b/scripts/r.tileset/r.tileset.html
@@ -101,4 +101,4 @@ Cedric Shock<br>
 Updated for GRASS 7 by Martin Landa, CTU in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/scripts/r.unpack/r.unpack.html b/scripts/r.unpack/r.unpack.html
index 76c278e..d148417 100644
--- a/scripts/r.unpack/r.unpack.html
+++ b/scripts/r.unpack/r.unpack.html
@@ -37,4 +37,4 @@ Original Bash script written by Hamish Bowman, Otago University, New Zealand as
 <br>
 Converted to Python and updated for GRASS 7 by Martin Landa, CTU in Prague, Czech Republic
 
-<p><i>Last changed: $Date: 2015-09-05 17:56:17 +0200 (Sat, 05 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-05 08:57:08 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/scripts/r3.in.xyz/r3.in.xyz.html b/scripts/r3.in.xyz/r3.in.xyz.html
index a400727..b0e35f9 100644
--- a/scripts/r3.in.xyz/r3.in.xyz.html
+++ b/scripts/r3.in.xyz/r3.in.xyz.html
@@ -87,4 +87,4 @@ Hamish Bowman<br>
 <i>Dunedin, New Zealand</i>
 
 <p>
-<i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/scripts/v.build.all/v.build.all.html b/scripts/v.build.all/v.build.all.html
index 7df00d4..8d32f94 100644
--- a/scripts/v.build.all/v.build.all.html
+++ b/scripts/v.build.all/v.build.all.html
@@ -13,4 +13,4 @@ v.build.all
 <h2>AUTHOR</h2>
 Radim Blazek
 
-<p><i>Last changed: $Date: 2013-02-12 12:01:38 +0100 (Tue, 12 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-12 03:01:38 -0800 (Tue, 12 Feb 2013) $</i>
diff --git a/scripts/v.centroids/v.centroids.html b/scripts/v.centroids/v.centroids.html
index 21e24a3..3bbe176 100644
--- a/scripts/v.centroids/v.centroids.html
+++ b/scripts/v.centroids/v.centroids.html
@@ -28,4 +28,4 @@ module: M. Hamish Bowman, Dept. Marine Science, Otago University, New Zealand
 <br>
 help page: Trevor Wiens
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.db.addcolumn/v.db.addcolumn.html b/scripts/v.db.addcolumn/v.db.addcolumn.html
index 6e70f81..11cfc03 100644
--- a/scripts/v.db.addcolumn/v.db.addcolumn.html
+++ b/scripts/v.db.addcolumn/v.db.addcolumn.html
@@ -47,4 +47,4 @@ v.info -c myroads
 
 Moritz Lennert (mlennert at club.worldonline.be)
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.db.addtable/v.db.addtable.html b/scripts/v.db.addtable/v.db.addtable.html
index 6e4baf5..ecb8c4d 100644
--- a/scripts/v.db.addtable/v.db.addtable.html
+++ b/scripts/v.db.addtable/v.db.addtable.html
@@ -61,4 +61,4 @@ v.info -c myroads layer=2
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2013-05-11 15:23:40 +0200 (Sat, 11 May 2013) $</i>
+<p><i>Last changed: $Date: 2013-05-11 06:23:40 -0700 (Sat, 11 May 2013) $</i>
diff --git a/scripts/v.db.dropcolumn/v.db.dropcolumn.html b/scripts/v.db.dropcolumn/v.db.dropcolumn.html
index da2d962..7c244e7 100644
--- a/scripts/v.db.dropcolumn/v.db.dropcolumn.html
+++ b/scripts/v.db.dropcolumn/v.db.dropcolumn.html
@@ -38,4 +38,4 @@ v.info -c myroads
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.db.droprow/v.db.droprow.html b/scripts/v.db.droprow/v.db.droprow.html
index 532b290..b42a925 100644
--- a/scripts/v.db.droprow/v.db.droprow.html
+++ b/scripts/v.db.droprow/v.db.droprow.html
@@ -50,4 +50,4 @@ v.univar rand5k_elev_filt type=point column=elevation
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/v.db.droptable/v.db.droptable.html b/scripts/v.db.droptable/v.db.droptable.html
index 21e3f0f..28262a1 100644
--- a/scripts/v.db.droptable/v.db.droptable.html
+++ b/scripts/v.db.droptable/v.db.droptable.html
@@ -37,4 +37,4 @@ v.db.connect -p myroads
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2012-11-25 11:59:42 +0100 (Sun, 25 Nov 2012) $</i>
+<p><i>Last changed: $Date: 2012-11-25 02:59:42 -0800 (Sun, 25 Nov 2012) $</i>
diff --git a/scripts/v.db.join/v.db.join.html b/scripts/v.db.join/v.db.join.html
index 09fccc3..323f4c0 100644
--- a/scripts/v.db.join/v.db.join.html
+++ b/scripts/v.db.join/v.db.join.html
@@ -112,4 +112,4 @@ cat|label|id|shortname|longname
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2015-12-17 15:41:28 +0100 (Thu, 17 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-17 06:38:13 -0800 (Thu, 17 Dec 2015) $</i>
diff --git a/scripts/v.db.join/v.db.join.py b/scripts/v.db.join/v.db.join.py
index 9765483..02a3fa9 100755
--- a/scripts/v.db.join/v.db.join.py
+++ b/scripts/v.db.join/v.db.join.py
@@ -72,7 +72,7 @@ def main():
         scolumns = options['subset_columns'].split(',')
     else:
         scolumns = None
-    
+
     f = grass.vector_layer_db(map, layer)
 
     maptable = f['table']
@@ -80,21 +80,22 @@ def main():
     driver   = f['driver']
 
     if driver == 'dbf':
-	grass.fatal(_("JOIN is not supported for tables stored in DBF format"))
+        grass.fatal(_("JOIN is not supported for tables stored in DBF format"))
 
     if not maptable:
-	grass.fatal(_("There is no table connected to this map. Unable to join any column."))
+        grass.fatal(_("There is no table connected to this map. Unable to join any column."))
 
     # check if column is in map table
     if not grass.vector_columns(map, layer).has_key(column):
-	grass.fatal(_("Column <%s> not found in table <%s>") % (column, maptable))
+        grass.fatal(_("Column <%s> not found in table <%s>") % (column,
+                                                                maptable))
 
     # describe other table
-    all_cols_ot = grass.db_describe(otable, driver = driver, database = database)['cols']
+    all_cols_ot = grass.db_describe(otable, driver=driver, database=database)['cols']
 
     # check if ocolumn is on other table
     if ocolumn not in [ocol[0] for ocol in all_cols_ot]:
-	grass.fatal(_("Column <%s> not found in table <%s>") % (ocolumn, otable))
+        grass.fatal(_("Column <%s> not found in table <%s>") % (ocolumn, otable))
 
     # determine columns subset from other table
     if not scolumns:
@@ -102,8 +103,8 @@ def main():
         cols_to_add = all_cols_ot
     else:
         cols_to_add = []
-    	# check if scolumns exists in the other table
-    	for scol in scolumns:
+        # check if scolumns exists in the other table
+        for scol in scolumns:
             found = False
             for col_ot in all_cols_ot:
                 if scol == col_ot[0]:
@@ -111,21 +112,21 @@ def main():
                     cols_to_add.append(col_ot)
                     break
             if not found:
-                grass.warning(_("Column <%s> not found in table <%s>.") % (scol, otable))
-    
+                grass.warning(_("Column <%s> not found in table <%s>") % (scol, otable))
+
     all_cols_tt = grass.vector_columns(map, int(layer)).keys()
 
     select = "SELECT $colname FROM $otable WHERE $otable.$ocolumn=$table.$column"
     template = string.Template("UPDATE $table SET $colname=(%s);" % select)
 
     for col in cols_to_add:
-	# skip the vector column which is used for join
-	colname = col[0]
-	if colname == column:
-	    continue
-        
+        # skip the vector column which is used for join
+        colname = col[0]
+        if colname == column:
+            continue
+
         use_len = False
-	if len(col) > 2:
+        if len(col) > 2:
             use_len = True
             # Sqlite 3 does not support the precision number any more
             if driver == "sqlite":
@@ -133,25 +134,25 @@ def main():
             # MySQL - expect format DOUBLE PRECISION(M,D), see #2792
             elif driver == "mysql" and col[1] == 'DOUBLE PRECISION':
                 use_len = False
-        
+
         if use_len:
-	    coltype = "%s(%s)" % (col[1], col[2])
-	else:
-	    coltype = "%s" % col[1]
+            coltype = "%s(%s)" % (col[1], col[2])
+        else:
+            coltype = "%s" % col[1]
 
-	colspec = "%s %s" % (colname, coltype)
+        colspec = "%s %s" % (colname, coltype)
 
-	# add only the new column to the table
-	if colname not in all_cols_tt:
+        # add only the new column to the table
+        if colname not in all_cols_tt:
             try:
                 grass.run_command('v.db.addcolumn', map=map,
                                   columns=colspec, layer=layer)
             except CalledModuleError:
                 grass.fatal(_("Error creating column <%s>") % colname)
 
-	stmt = template.substitute(table = maptable, column = column,
-				   otable = otable, ocolumn = ocolumn,
-				   colname = colname)
+        stmt = template.substitute(table=maptable, column=column,
+                                   otable=otable, ocolumn=ocolumn,
+                                   colname=colname)
         grass.debug(stmt, 1)
         grass.verbose(_("Updating column <%s> of vector map <%s>...") % (colname, map))
         try:
diff --git a/scripts/v.db.reconnect.all/v.db.reconnect.all.html b/scripts/v.db.reconnect.all/v.db.reconnect.all.html
index 43b14ce..c8e083a 100644
--- a/scripts/v.db.reconnect.all/v.db.reconnect.all.html
+++ b/scripts/v.db.reconnect.all/v.db.reconnect.all.html
@@ -127,4 +127,4 @@ Radim Blazek<br>
 Major update by Martin Landa, Czech Technical University in Prague, Czech Republic
  
 <p>
-<i>Last changed: $Date: 2013-02-08 08:20:43 +0100 (Fri, 08 Feb 2013) $</i>
+<i>Last changed: $Date: 2013-02-07 23:20:43 -0800 (Thu, 07 Feb 2013) $</i>
diff --git a/scripts/v.db.renamecolumn/v.db.renamecolumn.html b/scripts/v.db.renamecolumn/v.db.renamecolumn.html
index ae9d072..96a8e43 100644
--- a/scripts/v.db.renamecolumn/v.db.renamecolumn.html
+++ b/scripts/v.db.renamecolumn/v.db.renamecolumn.html
@@ -46,4 +46,4 @@ v.info -c myroads
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.db.univar/v.db.univar.html b/scripts/v.db.univar/v.db.univar.html
index 72a488f..ea731c9 100644
--- a/scripts/v.db.univar/v.db.univar.html
+++ b/scripts/v.db.univar/v.db.univar.html
@@ -38,4 +38,4 @@ v.db.univar samples colum=heights
  Michael Barton, Arizona State University
 <p>and authors of <em>r.univar.sh</em>
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/v.db.update/v.db.update.html b/scripts/v.db.update/v.db.update.html
index f9c53c3..ce01ce4 100644
--- a/scripts/v.db.update/v.db.update.html
+++ b/scripts/v.db.update/v.db.update.html
@@ -60,6 +60,27 @@ v.db.update mygeodetic_pts col=zval qcol="CAST(z_value AS double precision)" \
             where="z_value <> 'N/A'"
 </pre></div>
 
+<h3>Updating of columns with on the fly calculation (SQLite extended functions)</h3>
+
+North Carolina data set example: adding new column, copying values from
+another table column with on the fly calculation:
+
+<div class="code"><pre>
+g.copy vect=precip_30ynormals,myprecip_30ynormals
+v.db.addcolumn myprecip_30ynormals column="logjuly double precision"
+v.db.update myprecip_30ynormals column="logjuly" query_column="log(jul)" \
+  sqliteextra=$HOME/sqlite_extensions/libsqlitefunctions.so
+
+v.db.select myprecip_30ynormals columns=jul,logjuly
+jul|logjuly
+132.842|4.88916045210132
+127|4.84418708645859
+124.206|4.82194147751127
+104.648|4.65060233738593
+98.298|4.58800368106618
+...
+</pre></div>
+
 
 <h2>SEE ALSO</h2>
 
@@ -80,4 +101,4 @@ v.db.update mygeodetic_pts col=zval qcol="CAST(z_value AS double precision)" \
 Moritz Lennert (mlennert at club.worldonline.be)
 
 <p>
-<i>Last changed: $Date: 2014-12-20 15:33:06 +0100 (Sat, 20 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/scripts/v.db.update/v.db.update.py b/scripts/v.db.update/v.db.update.py
index a12ef5e..0e25669 100755
--- a/scripts/v.db.update/v.db.update.py
+++ b/scripts/v.db.update/v.db.update.py
@@ -43,6 +43,12 @@
 #%end
 #%option G_OPT_DB_WHERE
 #%end
+#%option G_OPT_F_INPUT
+#% key: sqliteextra
+#% description: Name of SQLite extension file for extra functions (SQLite backend only)
+#% gisprompt: old,bin,file
+#% required: no
+#%end
 
 import sys
 import os
@@ -55,6 +61,7 @@ def main():
     value = options['value']
     qcolumn = options['query_column']
     where = options['where']
+    sqlitefile  = options['sqliteextra']
 
     mapset = grass.gisenv()['MAPSET']
 
@@ -71,6 +78,13 @@ def main():
     database = f['database']
     driver = f['driver']
 
+    # check for SQLite backend for extra functions
+    if sqlitefile and driver != "sqlite":
+        grass.fatal(_("Use of libsqlitefunctions only with SQLite backend"))
+    if driver == "sqlite" and sqlitefile:
+        if not os.access(sqlitefile, os.R_OK):
+            grass.fatal(_("File <%s> not found") % sqlitefile)
+
     # checking column types
     try:
         coltype = grass.vector_columns(vector, layer)[column]['type']
@@ -93,8 +107,12 @@ def main():
     if where:
         cmd += " WHERE " + where
 
-    grass.verbose("SQL: \"%s\"" % cmd)
+    # SQLite: preload extra functions from extension lib if provided by user
+    if sqlitefile:
+        sqliteload = "SELECT load_extension('%s');\n" % sqlitefile
+        cmd = sqliteload + cmd
 
+    grass.verbose("SQL: \"%s\"" % cmd)
     grass.write_command('db.execute', input = '-', database = database, driver = driver, stdin = cmd)
 
     # write cmd history:
diff --git a/scripts/v.dissolve/v.dissolve.html b/scripts/v.dissolve/v.dissolve.html
index 52f3276..8fd6b8c 100644
--- a/scripts/v.dissolve/v.dissolve.html
+++ b/scripts/v.dissolve/v.dissolve.html
@@ -76,4 +76,4 @@ module: M. Hamish Bowman, Dept. Marine Science, Otago University, New Zealand<br
 Markus Neteler for column support<br>
 help page: Trevor Wiens
 
-<p><i>Last changed: $Date: 2014-12-27 00:50:11 +0100 (Sat, 27 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-26 15:33:06 -0800 (Fri, 26 Dec 2014) $</i>
diff --git a/scripts/v.import/v.import.py b/scripts/v.import/v.import.py
index 1a53a2d..766b417 100755
--- a/scripts/v.import/v.import.py
+++ b/scripts/v.import/v.import.py
@@ -22,8 +22,12 @@
 #% keyword: import
 #% keyword: projection
 #%end
-#%option G_OPT_F_BIN_INPUT
+#%option
+#% key: input
+#% type: string
+#% required: yes
 #% description: Name of OGR datasource to be imported
+#% gisprompt: old,datasource,datasource
 #% guisection: Input
 #%end
 #%option
@@ -32,6 +36,7 @@
 #% multiple: yes
 #% description: OGR layer name. If not given, all available layers are imported
 #% guisection: Input
+#% gisprompt: old,datasource_layer,datasource_layer
 #%end
 #%option G_OPT_V_OUTPUT
 #% description: Name for output vector map (default: input)
@@ -86,7 +91,11 @@
 #% key: l
 #% description: List available OGR layers in data source and exit
 #%end
-
+#%flag
+#% key: o
+#% label: Override projection check (use current location's projection)
+#% description: Assume that the dataset has the same projection as the current location
+#%end
 
 import sys
 import os
@@ -111,6 +120,7 @@ def cleanup():
 
 def main():
     global TMPLOC, SRCGISRC, GISDBASE
+    overwrite = grass.overwrite()
 
     # list formats and exit
     if flags['f']:
@@ -129,9 +139,12 @@ def main():
     output = options['output']
     layers = options['layer']
 
-    vflags = None
+    vflags = ''
     if options['extent'] == 'region':
-        vflags = 'r'
+        vflags += 'r'
+    if flags['o']:
+        vflags += 'o'
+
     vopts = {}
     if options['encoding']:
         vopts['encoding'] = options['encoding']
@@ -171,7 +184,7 @@ def main():
     vopts['snap'] = options['snap']
     try:
         grass.run_command('v.in.ogr', input=OGRdatasource,
-                          location=TMPLOC, flags='i', quiet=True, **vopts)
+                          location=TMPLOC, flags='i', quiet=True, overwrite=overwrite, **vopts)
     except CalledModuleError:
         grass.fatal(_("Unable to create location from OGR datasource <%s>") % OGRdatasource)
 
@@ -188,11 +201,11 @@ def main():
     os.environ['GISRC'] = str(tgtgisrc)
 
     # try v.in.ogr directly
-    if grass.run_command('v.in.ogr', input=OGRdatasource, flags='j',
-                         errors='status', quiet=True) == 0:
+    if flags['o'] or grass.run_command('v.in.ogr', input=OGRdatasource, flags='j',
+                                       errors='status', quiet=True, overwrite=overwrite) == 0:
         try:
             grass.run_command('v.in.ogr', input=OGRdatasource,
-                              flags=vflags, **vopts)
+                              flags=vflags, overwrite=overwrite, **vopts)
             grass.message(_("Input <%s> successfully imported without reprojection") % OGRdatasource)
             return 0
         except CalledModuleError:
@@ -225,7 +238,7 @@ def main():
         os.environ['GISRC'] = str(SRCGISRC)
         try:
             grass.run_command('v.proj', input=vreg, output=vreg,
-                              location=tgtloc, mapset=tgtmapset, quiet=True)
+                              location=tgtloc, mapset=tgtmapset, quiet=True, overwrite=overwrite)
         except CalledModuleError:
             grass.fatal(_("Unable to reproject to source location"))
 
@@ -237,7 +250,7 @@ def main():
     grass.message(_("Importing <%s> ...") % OGRdatasource)
     try:
         grass.run_command('v.in.ogr', input=OGRdatasource,
-                          flags=vflags, **vopts)
+                          flags=vflags, overwrite=overwrite, **vopts)
     except CalledModuleError:
         grass.fatal(_("Unable to import OGR datasource <%s>") % OGRdatasource)
 
@@ -261,7 +274,7 @@ def main():
     grass.message(_("Reprojecting <%s>...") % output)
     try:
         grass.run_command('v.proj', location=TMPLOC,
-                          mapset='PERMANENT', input=output)
+                          mapset='PERMANENT', input=output, overwrite=overwrite)
     except CalledModuleError:
         grass.fatal(_("Unable to to reproject vector <%s>") % output)
 
diff --git a/scripts/v.in.e00/v.in.e00.html b/scripts/v.in.e00/v.in.e00.html
index 6b821c7..1358968 100644
--- a/scripts/v.in.e00/v.in.e00.html
+++ b/scripts/v.in.e00/v.in.e00.html
@@ -22,4 +22,4 @@ automatically detects the presence of such multiple files.
 
 Markus Neteler, Otto Dassau, <a href="http://www.gdf-hannover.de/">GDF Hannover bR</a>, Germany
 
-<p><i>Last changed: $Date: 2015-11-24 09:08:30 +0100 (Tue, 24 Nov 2015) $</i>
+<p><i>Last changed: $Date: 2015-11-24 00:07:58 -0800 (Tue, 24 Nov 2015) $</i>
diff --git a/scripts/v.in.geonames/v.in.geonames.html b/scripts/v.in.geonames/v.in.geonames.html
index 08c700b..409a515 100644
--- a/scripts/v.in.geonames/v.in.geonames.html
+++ b/scripts/v.in.geonames/v.in.geonames.html
@@ -81,4 +81,4 @@ v.in.geonames input=CZ.txt output=geonames_cz
 <a href="http://www.grassbook.org/">Markus Neteler</a>
 
 <p>
-<i>Last changed: $Date: 2012-12-30 18:23:10 +0100 (Sun, 30 Dec 2012) $</i>
+<i>Last changed: $Date: 2012-12-30 09:23:10 -0800 (Sun, 30 Dec 2012) $</i>
diff --git a/scripts/v.in.lines/v.in.lines.html b/scripts/v.in.lines/v.in.lines.html
index da4a028..69d9e4a 100644
--- a/scripts/v.in.lines/v.in.lines.html
+++ b/scripts/v.in.lines/v.in.lines.html
@@ -47,4 +47,4 @@ EOF
 Hamish Bowman<br>
 Dunedin, New Zealand
 
-<p><i>Last changed: $Date: 2012-09-09 21:11:23 +0200 (Sun, 09 Sep 2012) $</i>
+<p><i>Last changed: $Date: 2012-09-09 12:11:23 -0700 (Sun, 09 Sep 2012) $</i>
diff --git a/scripts/v.in.mapgen/v.in.mapgen.html b/scripts/v.in.mapgen/v.in.mapgen.html
index 6950fbc..634c221 100644
--- a/scripts/v.in.mapgen/v.in.mapgen.html
+++ b/scripts/v.in.mapgen/v.in.mapgen.html
@@ -27,4 +27,4 @@ using the <b>-z</b> flag.
 Based on <em>v.in.mapgen.sh</em> for GRASS 5.0 by Andreas Lange
 <br>Rewritten for GRASS 6 by Hamish Bowman
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.in.wfs/v.in.wfs.html b/scripts/v.in.wfs/v.in.wfs.html
index 3ce42b6..54fd22e 100644
--- a/scripts/v.in.wfs/v.in.wfs.html
+++ b/scripts/v.in.wfs/v.in.wfs.html
@@ -55,4 +55,4 @@ Parser support (for GML).
 Markus Neteler, Hamish Bowman
 
 <p>
-<i>Last changed: $Date: 2013-04-13 17:23:39 +0200 (Sat, 13 Apr 2013) $</i>
+<i>Last changed: $Date: 2013-04-13 08:23:39 -0700 (Sat, 13 Apr 2013) $</i>
diff --git a/scripts/v.krige/v.krige.html b/scripts/v.krige/v.krige.html
index 30fd2c7..7a1c12b 100644
--- a/scripts/v.krige/v.krige.html
+++ b/scripts/v.krige/v.krige.html
@@ -17,6 +17,9 @@ result. Good knowledge of the dataset is more valuable than hundreds
 of parameters or powerful hardware. See Isaaks and Srivastava's book,
 exhaustive and clear even if a bit outdated.
 
+<p>Auto-fit variogram option will update sill, nugget, range and kappa values
+with fitted ones. Enabling the values will pass them to auto-fit and thus
+preserve from modification and thus they might differ from fitted ones.
 
 <h3>Dependencies</h3>
 
@@ -192,4 +195,4 @@ Isaaks and Srivastava, 1989: "An Introduction to Applied Geostatistics"
 
 Anne Ghisla, Google Summer of Code 2009
 
-<p><i>Last changed: $Date: 2015-10-01 12:26:43 +0200 (Thu, 01 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-11-10 13:53:54 -0800 (Tue, 10 Nov 2015) $</i>
diff --git a/scripts/v.krige/v.krige.py b/scripts/v.krige/v.krige.py
index 9d2ef40..7cc845b 100644
--- a/scripts/v.krige/v.krige.py
+++ b/scripts/v.krige/v.krige.py
@@ -83,6 +83,13 @@ for details.
 #% description: Automatically fixed if not set
 #% required : no
 #%end
+#%option
+#% key: kappa
+#% type: double
+#% label: Kappa value
+#% description: Automatically fixed if not set
+#% required : no
+#%end
 #%option G_OPT_R_OUTPUT
 #% key: output_var
 #% label: Name for output variance raster map
@@ -190,7 +197,7 @@ class Controller:
         Formula = robjects.Formula(column + "~" + predictor)
         return Formula
     
-    def FitVariogram(self, formula, inputdata, sill, nugget, range, model = ''):
+    def FitVariogram(self, formula, inputdata, sill, nugget, range, kappa, model = ''):
         """ Fits variogram either automagically either specifying all parameters.
         Returns a list containing data and model variograms. """
         
@@ -202,7 +209,11 @@ class Controller:
             #print (nugget.r_repr(), sill, range)
             DottedParams['fix.values'] = robjects.r.c(nugget, range, sill)
             
-            VariogramModel = robjects.r.autofitVariogram(formula, inputdata, **DottedParams)
+            if not type(kappa) == float:
+                # autofit gives strange results if kappa is NA
+                VariogramModel = robjects.r.autofitVariogram(formula, inputdata, **DottedParams)
+            else:
+                VariogramModel = robjects.r.autofitVariogram(formula, inputdata, kappa=kappa, **DottedParams)
             #print robjects.r.warnings()
             Variograms['datavariogram'] = VariogramModel.rx('exp_var')[0]
             Variograms['variogrammodel'] = VariogramModel.rx('var_model')[0]
@@ -216,7 +227,8 @@ class Controller:
                                                          model = robjects.r.vgm(psill = sill,
                                                                                 model = model,
                                                                                 nugget = nugget,
-                                                                                range = range))
+                                                                                range = range,
+                                                                                kappa = kappa))
             Variograms['datavariogram'] = DataVariogram
             Variograms['variogrammodel'] = VariogramModel
             Variograms['model'] = model
@@ -242,7 +254,7 @@ class Controller:
                                       map = name,
                                       history = 'Model chosen by automatic fitting: ' + variograms['model'])
         
-    def Run(self, input, column, output, package, sill, nugget, range, logger, \
+    def Run(self, input, column, output, package, sill, nugget, range, kappa, logger, \
             overwrite, model, block, output_var, command, **kwargs):
         """ Wrapper for all functions above. """
 
@@ -270,7 +282,8 @@ class Controller:
                                           model = model,
                                           sill = sill,
                                           nugget = nugget,
-                                          range = range)
+                                          range = range,
+                                          kappa = kappa)
         logger.message(_("Variogram fitting complete."))
         
         logger.message(_("Kriging..."))
@@ -365,9 +378,12 @@ def main(argv = None):
         command = command.join("%s=%s " % (k, v) for k, v in notnulloptions.items())
         
         # re-cast integers from strings, as parser() cast everything to string.
-        for each in ("sill","nugget","range"):
+        for each in ("sill","nugget","range","kappa"):
             if options[each] is not '':
-                options[each] = int(options[each])
+                if each == "kappa":
+                    options[each] = float(options[each])
+                else:
+                    options[each] = int(options[each])
             else:
                 options[each] = robjects.r('''NA''')
         
@@ -382,6 +398,7 @@ def main(argv = None):
                        sill = options['sill'],
                        nugget = options['nugget'],
                        range = options['range'],
+                       kappa = options['kappa'],
                        output_var = options['output_var'],
                        command = command,
                        logger = grass)
diff --git a/scripts/v.pack/v.pack.html b/scripts/v.pack/v.pack.html
index a8f32c8..cd95839 100644
--- a/scripts/v.pack/v.pack.html
+++ b/scripts/v.pack/v.pack.html
@@ -43,4 +43,4 @@ v.unpack input=random_point.pack
 
 Luca Delucchi, Fondazione E. Mach (Italy), based on the <em>r.pack</em> code
 
-<p><i>Last changed: $Date: 2015-09-05 17:56:17 +0200 (Sat, 05 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-05 08:57:08 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/scripts/v.rast.stats/testsuite/test_v_rast_stats.py b/scripts/v.rast.stats/testsuite/test_v_rast_stats.py
new file mode 100644
index 0000000..5df852b
--- /dev/null
+++ b/scripts/v.rast.stats/testsuite/test_v_rast_stats.py
@@ -0,0 +1,72 @@
+"""Test of r.univar
+
+ at author Soeren Gebbert
+"""
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestRastStats(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Use temporary region settings"""
+        cls.use_temp_region()
+
+    @classmethod
+    def tearDownClass(cls):
+        """!Remove the temporary region
+        """
+        cls.del_temp_region()
+
+    def tearDown(self):
+        self.runModule("g.remove", flags='f', type="raster", name="map_a")
+        self.runModule("g.remove", flags='f', type="raster", name="map_b")
+        self.runModule("g.remove", flags='f', type="raster", name="zone_map")
+
+    def setUp(self):
+        """Create input data
+        """
+        self.runModule("g.region", res=1, n=90, s=0, w=0, e=90)
+        self.runModule("r.mapcalc", expression="map_a = 100 + row() + col()",
+                       overwrite=True)
+        self.runModule("r.mapcalc", expression="zone_map = if(row() < 20, 1,2)",
+                       overwrite=True)
+        self.runModule("r.to.vect", input="zone_map", output="zone_map",
+                       type="area", overwrite=True)
+
+    def test_1(self):
+        # Output of v.rast.stats
+        univar_string="""cat|value|label|a_minimum|a_maximum|a_sum
+1|1||102|209|265905
+2|2||121|280|1281195
+"""
+        
+        self.assertModule("v.rast.stats",  map="zone_map", raster="map_a",
+                          method=["minimum","maximum","sum"], flags="c",
+                          column_prefix="a")
+        v_db_select = SimpleModule("v.db.select", map="zone_map")
+        
+        self.runModule(v_db_select)        
+        self.assertLooksLike(univar_string, v_db_select.outputs.stdout)
+
+class TestRastStatsFails(TestCase):
+
+    def test_error_handling_a(self):
+        # No vector map
+        self.assertModuleFail("v.rast.stats", raster="map_a",
+                              column_prefix="a")
+
+    def test_error_handling_b(self):
+        # No raster map
+        self.assertModuleFail("v.rast.stats", map="zone_map",
+                              column_prefix="a")
+        
+    def test_error_handling_d(self):
+        # No column_prefix
+        self.assertModuleFail("v.rast.stats", map="zone_map", raster="map_b")
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
+
+
diff --git a/scripts/v.rast.stats/v.rast.stats.html b/scripts/v.rast.stats/v.rast.stats.html
index 514a3ac..608fd34 100644
--- a/scripts/v.rast.stats/v.rast.stats.html
+++ b/scripts/v.rast.stats/v.rast.stats.html
@@ -66,4 +66,4 @@ v.univar myzipcodes_wake column=elev_range type=centroid
 
 Markus Neteler, CEA (for the <a href="http://www.eden-fp6project.net/">EDEN EU/FP6 Project</a>)
 
-<p><i>Last changed: $Date: 2015-12-31 16:14:52 +0100 (Thu, 31 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-31 07:13:32 -0800 (Thu, 31 Dec 2015) $</i>
diff --git a/scripts/v.rast.stats/v.rast.stats.py b/scripts/v.rast.stats/v.rast.stats.py
index caa14eb..d401dbe 100644
--- a/scripts/v.rast.stats/v.rast.stats.py
+++ b/scripts/v.rast.stats/v.rast.stats.py
@@ -72,19 +72,12 @@ def cleanup():
     if rastertmp:
         grass.run_command('g.remove', flags='f', type='raster',
                           name=rastertmp, quiet=True)
-    grass.run_command('g.remove', flags='f', type='raster',
-                      name='MASK', quiet=True, stderr=nuldev)
-    if mask_found:
-        grass.message(_("Restoring previous MASK..."))
-        grass.run_command('g.rename', raster=(tmpname + "_origmask", 'MASK'),
-                          quiet=True)
 #    for f in [tmp, tmpname, sqltmp]:
 #        grass.try_remove(f)
 
 
 def main():
-    global tmp, sqltmp, tmpname, nuldev, vector, mask_found, rastertmp
-    mask_found = False
+    global tmp, sqltmp, tmpname, nuldev, vector, rastertmp
     rastertmp = False
     #### setup temporary files
     tmp = grass.tempfile()
@@ -123,13 +116,6 @@ def main():
     if not grass.find_file(raster, 'cell')['file']:
         grass.fatal(_("Raster map <%s> not found") % raster)
 
-    # check presence of raster MASK, put it aside
-    mask_found = bool(grass.find_file('MASK', 'cell', mapset)['file'])
-    if mask_found:
-        grass.message(_("Raster MASK found, temporarily disabled"))
-        grass.run_command('g.rename', raster=('MASK', tmpname + "_origmask"),
-                          quiet=True)
-
     # save current settings:
     grass.use_temp_region()
 
@@ -137,7 +123,6 @@ def main():
     # keep boundary settings
     grass.run_command('g.region', align=raster)
 
-    # prepare raster MASK
     grass.message(_("Preprocessing input data..."))
     try:
         grass.run_command('v.to.rast', input=vector, layer=layer, output=rastertmp,
@@ -246,7 +231,7 @@ def main():
     f = file(sqltmp, 'w')
 
     # do the stats
-    p = grass.pipe_command('r.univar', flags='t' + 'g' + extstat, map=raster,
+    p = grass.pipe_command('r.univar', flags='t' + extstat, map=raster,
                            zones=rastertmp, percentile=percentile, sep=';')
 
     first_line = 1
@@ -267,8 +252,9 @@ def main():
                 variable = variables_dbf[variable]
             i = variables[variable]
             value = vars[i]
-            # convert nan, +nan, -nan to NULL
-            if value.lower().endswith('nan'):
+            # convert nan, +nan, -nan, inf, +inf, -inf, Infinity, +Infinity,
+            # -Infinity to NULL
+            if value.lower().endswith('nan') or 'inf' in value.lower():
                 value = 'NULL'
             if not first_var:
                 f.write(" , ")
@@ -293,9 +279,6 @@ def main():
     except CalledModuleError:
         grass.warning(_("Failed to upload statistics to attribute table of vector map <%s>.") % vector)
         exitcode = 1
-    finally:
-         grass.run_command('g.remove', flags='f', type='raster',
-                           name='MASK', quiet=True, stderr=nuldev)
 
     sys.exit(exitcode)
 
diff --git a/scripts/v.report/v.report.html b/scripts/v.report/v.report.html
index d11a6e2..47f62b8 100644
--- a/scripts/v.report/v.report.html
+++ b/scripts/v.report/v.report.html
@@ -36,4 +36,4 @@ In the output, there is an extra column added containing the results.
 
 Markus Neteler, GDF Hannover
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/scripts/v.to.lines/v.to.lines.html b/scripts/v.to.lines/v.to.lines.html
index c558a48..8a59581 100644
--- a/scripts/v.to.lines/v.to.lines.html
+++ b/scripts/v.to.lines/v.to.lines.html
@@ -47,4 +47,4 @@ v.to.lines input=geodetic_pts output=geodetic_pts_lines
 Luca Delucchi, Fondazione Edmund Mach
 
 <p>
-<i>Last changed: $Date: 2015-01-07 21:53:11 +0100 (Wed, 07 Jan 2015) $</i>
+<i>Last changed: $Date: 2015-01-07 12:51:53 -0800 (Wed, 07 Jan 2015) $</i>
diff --git a/scripts/v.unpack/test_suite/test.v.unpack.sh b/scripts/v.unpack/testsuite/test.v.unpack.sh
similarity index 100%
rename from scripts/v.unpack/test_suite/test.v.unpack.sh
rename to scripts/v.unpack/testsuite/test.v.unpack.sh
diff --git a/scripts/v.unpack/v.unpack.html b/scripts/v.unpack/v.unpack.html
index df9515e..e83516a 100644
--- a/scripts/v.unpack/v.unpack.html
+++ b/scripts/v.unpack/v.unpack.html
@@ -34,4 +34,4 @@ v.unpack input=random_point.pack
 Luca Delucchi, Fondazione E. Mach (Italy), based on the <em>r.unpack</em> code
 
 <p>
-<i>Last changed: $Date: 2015-09-05 17:56:17 +0200 (Sat, 05 Sep 2015) $</i>
+<i>Last changed: $Date: 2015-09-05 08:57:08 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/scripts/v.unpack/v.unpack.py b/scripts/v.unpack/v.unpack.py
index d8d40a8..d0a67fe 100644
--- a/scripts/v.unpack/v.unpack.py
+++ b/scripts/v.unpack/v.unpack.py
@@ -35,7 +35,6 @@
 #% label: Override projection check (use current location's projection)
 #% description: Assume that the dataset has same projection as the current location
 #% guisection: Output settings
-#% guisection: Output settings
 #%end
 
 import os
@@ -106,7 +105,7 @@ def main():
         pass
     elif os.path.exists(os.path.join(data_name, 'cell')):
         grass.fatal(_("This GRASS GIS pack file contains raster data. Use "
-                      "v.unpack to unpack <%s>" % map_name))
+                      "r.unpack to unpack <%s>" % map_name))
     else:
         grass.fatal(_("Pack file unreadable"))
 
diff --git a/scripts/v.what.strds/v.what.strds.html b/scripts/v.what.strds/v.what.strds.html
index e716f8b..3a7a283 100644
--- a/scripts/v.what.strds/v.what.strds.html
+++ b/scripts/v.what.strds/v.what.strds.html
@@ -25,4 +25,4 @@ v.what.strds input=mypoints strds=mystrds output=newvector
 Luca Delucchi
 
 <p>
-<i>Last changed: $Date: 2014-03-27 17:21:58 +0100 (Thu, 27 Mar 2014) $</i>
+<i>Last changed: $Date: 2014-03-27 09:21:58 -0700 (Thu, 27 Mar 2014) $</i>
diff --git a/scripts/v.what.vect/v.what.vect.html b/scripts/v.what.vect/v.what.vect.html
index ac0be0d..69159e8 100644
--- a/scripts/v.what.vect/v.what.vect.html
+++ b/scripts/v.what.vect/v.what.vect.html
@@ -70,4 +70,4 @@ v.what.vect corine_code111_112_cities query_map=geonames_IT_cities column=gnamei
 
 Markus Neteler
 
-<p><i>Last changed: $Date: 2015-10-07 10:15:43 +0200 (Wed, 07 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-07 01:15:15 -0700 (Wed, 07 Oct 2015) $</i>
diff --git a/scripts/v.what.vect/v.what.vect.py b/scripts/v.what.vect/v.what.vect.py
index 5c1ac52..7e5ac33 100755
--- a/scripts/v.what.vect/v.what.vect.py
+++ b/scripts/v.what.vect/v.what.vect.py
@@ -25,8 +25,10 @@
 
 #%option G_OPT_V_MAP
 #% label: Name of vector points map for which to edit attributes
+#% guidependency: layer,column
 #%end
 #%option G_OPT_V_FIELD
+#% guidependency: column
 #%end
 #%option G_OPT_DB_COLUMN
 #% description: Name of attribute column to be updated with the query result
@@ -36,9 +38,11 @@
 #% key: query_map
 #% label: Name of vector map to be queried
 #% required : yes
+#% guidependency: query_layer,query_column
 #%end
 #%option G_OPT_V_FIELD
 #% key: query_layer
+#% guidependency: query_column
 #%end
 #%option G_OPT_DB_COLUMN
 #% key: query_column
diff --git a/scripts/wxpyimgview/wxpyimgview.html b/scripts/wxpyimgview/wxpyimgview.html
index e8d345f..640d451 100644
--- a/scripts/wxpyimgview/wxpyimgview.html
+++ b/scripts/wxpyimgview/wxpyimgview.html
@@ -22,4 +22,4 @@ a constant size, rather than being truncated whenever it is updated.
 <h2>AUTHOR</h2>
 Glynn Clements
 
-<p><i>Last changed: $Date: 2014-11-03 18:56:30 +0100 (Mon, 03 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-10-27 10:15:56 -0700 (Mon, 27 Oct 2014) $</i>
diff --git a/temporal/Makefile b/temporal/Makefile
index 5910aa4..7a4ff26 100644
--- a/temporal/Makefile
+++ b/temporal/Makefile
@@ -1,9 +1,5 @@
 MODULE_TOPDIR = ..
 
-#	t.rast.algebra \
-#	t.rast3d.algebra \
-#	t.vect.algebra \
-
 SUBDIRS = \
 	t.connect \
 	t.create \
@@ -21,10 +17,12 @@ SUBDIRS = \
 	t.rast.aggregate \
 	t.rast.aggregate.ds \
 	t.rast.colors \
+	t.rast.contour \
 	t.rast.to.rast3 \
 	t.rast.univar \
 	t.rast.list \
 	t.rast.mapcalc \
+	t.rast.algebra \
 	t.rast.neighbors \
 	t.rast.series \
 	t.rast.export \
@@ -32,9 +30,12 @@ SUBDIRS = \
 	t.rast.import \
 	t.rast.gapfill \
 	t.rast.extract \
+	t.rast.to.vect \
+	t.rast.what \
 	t.rast3d.list \
 	t.rast3d.extract \
 	t.rast3d.mapcalc \
+	t.rast3d.algebra \
 	t.rast3d.univar \
 	t.rename \
 	t.select \
@@ -44,6 +45,7 @@ SUBDIRS = \
 	t.vect.db.select \
 	t.vect.export \
 	t.vect.extract \
+	t.vect.algebra \
 	t.vect.import \
 	t.vect.what.strds \
 	t.vect.observe.strds \
diff --git a/temporal/t.connect/t.connect.html b/temporal/t.connect/t.connect.html
index 9eea778..9ac9fd6 100644
--- a/temporal/t.connect/t.connect.html
+++ b/temporal/t.connect/t.connect.html
@@ -60,4 +60,4 @@ t.info -s
 
 Soeren Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
diff --git a/temporal/t.connect/testsuite/test_distr_tgis_db_raster.py b/temporal/t.connect/testsuite/test_distr_tgis_db_raster.py
index 5fa3efe..4588893 100644
--- a/temporal/t.connect/testsuite/test_distr_tgis_db_raster.py
+++ b/temporal/t.connect/testsuite/test_distr_tgis_db_raster.py
@@ -8,156 +8,176 @@ for details.
 :authors: Soeren Gebbert
 """
 
-import grass.pygrass.modules as pymod
-import subprocess
 from grass.gunittest.case import TestCase
 from grass.gunittest.gmodules import SimpleModule
+from grass.gunittest.utils import silent_rmtree
 import os
-import grass.temporal as tgis
 
-mapset_count = 0
+
 class TestRasterExtraction(TestCase):
 
+    mapsets_to_remove = []
+    outfile = 'rastlist.txt'
+    gisenv = SimpleModule('g.gisenv', get='MAPSET')
+    TestCase.runModule(gisenv, expecting_stdout=True)
+    old_mapset = gisenv.outputs.stdout.strip()
+
     @classmethod
     def setUpClass(cls):
         os.putenv("GRASS_OVERWRITE", "1")
-        for i in range(1, 5): 
-            cls.runModule("g.mapset", flags="c", mapset="test%i"%i)
-            cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+        for i in range(1, 7):
+            mapset_name = "test%i" % i
+            cls.runModule("g.mapset", flags="c", mapset=mapset_name)
+            cls.mapsets_to_remove.append(mapset_name)
+            cls.runModule("g.region", s=0, n=80,
+                          w=0, e=120, b=0, t=50, res=10, res3=10)
+            cls.runModule("t.connect", flags="d")
             cls.runModule("t.info", flags="s")
             cls.runModule("r.mapcalc", expression="a1 = 100")
             cls.runModule("r.mapcalc", expression="a2 = 200")
             cls.runModule("r.mapcalc", expression="a3 = 300")
-            
-            cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
-                                         output="A",  title="A test",  description="A test")
-            cls.runModule("t.register",  flags="i",  type="raster",  input="A",  
-                                         maps="a1,a2,a3",  
-                                         start="2001-01-01", increment="%i months"%i)
-
-        # Here we reuse two mapset to share a temporal databse between mapsets
-        tgis.init()
-        ciface = tgis.get_tgis_c_library_interface()
-        cls.runModule("g.mapset", flags="c", mapset="test5")
-        driver = ciface.get_driver_name("test1")
-        database = ciface.get_database_name("test1")
-        cls.runModule("t.connect",  driver=driver,  database=database)
-        
-        cls.runModule("g.mapset", flags="c", mapset="test6")
-        driver = ciface.get_driver_name("test2")
-        database = ciface.get_database_name("test2")
-        cls.runModule("t.connect",  driver=driver,  database=database)
-
-        for i in range(5, 7): 
-            cls.runModule("g.mapset", mapset="test%i"%i)
-            cls.runModule("r.mapcalc", expression="a1 = 100")
-            cls.runModule("r.mapcalc", expression="a2 = 200")
-            cls.runModule("r.mapcalc", expression="a3 = 300")
-            
-            cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
-                                         output="A",  title="A test",  description="A test")
-            cls.runModule("t.register",  flags="i",  type="raster",  input="A",  
-                                         maps="a1,a2,a3",  
-                                         start="2001-01-01", increment="%i months"%i)
-
-    def test_tlist(self):      
+            cls.runModule("t.create", type="strds", temporaltype="absolute",
+                          output="A", title="A test", description="A test")
+            cls.runModule("t.register", flags="i", type="raster", input="A",
+                          maps="a1,a2,a3",
+                          start="2001-01-01", increment="%i months" % i)
+
+        # Add the new mapsets to the search path
+        for mapset in cls.mapsets_to_remove:
+            cls.runModule("g.mapset", mapset=mapset)
+            cls.runModule("g.mapsets", operation="add", mapset=','.join(cls.mapsets_to_remove))
+
+
+    @classmethod
+    def tearDownClass(cls):
+        gisenv = SimpleModule('g.gisenv', get='GISDBASE')
+        cls.runModule(gisenv, expecting_stdout=True)
+        gisdbase = gisenv.outputs.stdout.strip()
+        gisenv = SimpleModule('g.gisenv', get='LOCATION_NAME')
+        cls.runModule(gisenv, expecting_stdout=True)
+        location = gisenv.outputs.stdout.strip()
+        cls.runModule("g.mapset", mapset=cls.old_mapset)
+        for mapset_name in cls.mapsets_to_remove:
+            mapset_path = os.path.join(gisdbase, location, mapset_name)
+            silent_rmtree(mapset_path)
+
+    def test_tlist(self):
         self.runModule("g.mapset", mapset="test1")
-        
+
         list_string = """A|test1|2001-01-01 00:00:00|2001-04-01 00:00:00|3
                                 A|test2|2001-01-01 00:00:00|2001-07-01 00:00:00|3
                                 A|test3|2001-01-01 00:00:00|2001-10-01 00:00:00|3
                                 A|test4|2001-01-01 00:00:00|2002-01-01 00:00:00|3
                                 A|test5|2001-01-01 00:00:00|2002-04-01 00:00:00|3
                                 A|test6|2001-01-01 00:00:00|2002-07-01 00:00:00|3"""
-                                
-        entries = list_string.split("\n")
-        
-        t_list = SimpleModule("t.list", quiet=True, 
-                                            columns=["name","mapset,start_time","end_time","number_of_maps"],  
-                                            type="strds",  where='name = "A"')
+
+        t_list = SimpleModule(
+            "t.list", quiet=True,
+            columns=["name", "mapset,start_time", "end_time", "number_of_maps"],
+            type="strds", where='name = "A"')
         self.assertModule(t_list)
-        
+
         out = t_list.outputs["stdout"].value
-        
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
-        
-    def test_trast_list(self):      
+
+        t_list = SimpleModule(
+            "t.list", quiet=True,
+            columns=["name", "mapset,start_time", "end_time", "number_of_maps"],
+            type="strds", where='name = "A"', output=self.outfile)
+        self.assertModule(t_list)
+        self.assertFileExists(self.outfile)
+        with open(self.outfile, 'r') as f:
+            read_data = f.read()
+        for a, b in zip(list_string.split("\n"), read_data.split("\n")):
+            self.assertEqual(a.strip(), b.strip())
+        #self.assertLooksLike(reference=read_data, actual=list_string)
+        if os.path.isfile(self.outfile):
+            os.remove(self.outfile)
+
+    def test_trast_list(self):
         self.runModule("g.mapset", mapset="test1")
 
         list_string = """a1|test1|2001-01-01 00:00:00|2001-02-01 00:00:00
                                 a2|test1|2001-02-01 00:00:00|2001-03-01 00:00:00
                                 a3|test1|2001-03-01 00:00:00|2001-04-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast.list", quiet=True, flags="s",  input="A at test1")
+        trast_list = SimpleModule(
+            "t.rast.list", quiet=True, flags="s", input="A at test1")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|test2|2001-01-01 00:00:00|2001-03-01 00:00:00
                                 a2|test2|2001-03-01 00:00:00|2001-05-01 00:00:00
                                 a3|test2|2001-05-01 00:00:00|2001-07-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast.list", quiet=True, flags="s",  input="A at test2")
+        trast_list = SimpleModule(
+            "t.rast.list", quiet=True, flags="s", input="A at test2")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|test3|2001-01-01 00:00:00|2001-04-01 00:00:00
                                 a2|test3|2001-04-01 00:00:00|2001-07-01 00:00:00
                                 a3|test3|2001-07-01 00:00:00|2001-10-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast.list", quiet=True, flags="s",  input="A at test3")
+        trast_list = SimpleModule(
+            "t.rast.list", quiet=True, flags="s", input="A at test3")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|test4|2001-01-01 00:00:00|2001-05-01 00:00:00
                                 a2|test4|2001-05-01 00:00:00|2001-09-01 00:00:00
                                 a3|test4|2001-09-01 00:00:00|2002-01-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast.list", quiet=True, flags="s",  input="A at test4")
+        trast_list = SimpleModule(
+            "t.rast.list", quiet=True, flags="s", input="A at test4")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|test5|2001-01-01 00:00:00|2001-06-01 00:00:00
                                 a2|test5|2001-06-01 00:00:00|2001-11-01 00:00:00
                                 a3|test5|2001-11-01 00:00:00|2002-04-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast.list", quiet=True, flags="s",  input="A at test5")
+        trast_list = SimpleModule(
+            "t.rast.list", quiet=True, flags="s", input="A at test5")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
-    def test_strds_info(self):  
+        trast_list = SimpleModule("t.rast.list", quiet=True, flags="s",
+                                  input="A at test5", output=self.outfile)
+        self.assertModule(trast_list)
+        self.assertFileExists(self.outfile)
+        with open(self.outfile, 'r') as f:
+            read_data = f.read()
+        for a, b in zip(list_string.split("\n"), read_data.split("\n")):
+            self.assertEqual(a.strip(), b.strip())
+        if os.path.isfile(self.outfile):
+            os.remove(self.outfile)
+
+    def test_strds_info(self):
         self.runModule("g.mapset", mapset="test4")
-        tinfo_string="""id=A at test1
+        tinfo_string = """id=A at test1
                                     name=A
                                     mapset=test1
                                     start_time=2001-01-01 00:00:00
@@ -165,10 +185,11 @@ class TestRasterExtraction(TestCase):
                                     granularity=1 month"""
 
         info = SimpleModule("t.info", flags="g", input="A at test1")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="test3")
-        tinfo_string="""id=A at test2
+        tinfo_string = """id=A at test2
                                     name=A
                                     mapset=test2
                                     start_time=2001-01-01 00:00:00
@@ -176,10 +197,11 @@ class TestRasterExtraction(TestCase):
                                     granularity=2 months"""
 
         info = SimpleModule("t.info", flags="g", input="A at test2")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="test2")
-        tinfo_string="""id=A at test3
+        tinfo_string = """id=A at test3
                                     name=A
                                     mapset=test3
                                     start_time=2001-01-01 00:00:00
@@ -187,10 +209,11 @@ class TestRasterExtraction(TestCase):
                                     granularity=3 months"""
 
         info = SimpleModule("t.info", flags="g", input="A at test3")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="test1")
-        tinfo_string="""id=A at test4
+        tinfo_string = """id=A at test4
                                     name=A
                                     mapset=test4
                                     start_time=2001-01-01 00:00:00
@@ -198,9 +221,10 @@ class TestRasterExtraction(TestCase):
                                     granularity=4 months"""
 
         info = SimpleModule("t.info", flags="g", input="A at test4")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=A at test5
+        tinfo_string = """id=A at test5
                                     name=A
                                     mapset=test5
                                     start_time=2001-01-01 00:00:00
@@ -208,59 +232,69 @@ class TestRasterExtraction(TestCase):
                                     granularity=5 months"""
 
         info = SimpleModule("t.info", flags="g", input="A at test5")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-    def test_raster_info(self):  
+    def test_raster_info(self):
         self.runModule("g.mapset", mapset="test3")
-        tinfo_string="""id=a1 at test1
+        tinfo_string = """id=a1 at test1
                                 name=a1
                                 mapset=test1
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-02-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster",  input="a1 at test1")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster", input="a1 at test1")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at test2
+        tinfo_string = """id=a1 at test2
                                 name=a1
                                 mapset=test2
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-03-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster",  input="a1 at test2")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster", input="a1 at test2")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at test3
+        tinfo_string = """id=a1 at test3
                                 name=a1
                                 mapset=test3
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-04-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster",  input="a1 at test3")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster", input="a1 at test3")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at test4
+        tinfo_string = """id=a1 at test4
                                 name=a1
                                 mapset=test4
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-05-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster",  input="a1 at test4")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster", input="a1 at test4")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at test5
+        tinfo_string = """id=a1 at test5
                                 name=a1
                                 mapset=test5
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-06-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster",  input="a1 at test5")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster", input="a1 at test5")
+
 
 if __name__ == '__main__':
     from grass.gunittest.main import test
diff --git a/temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py b/temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py
index ed91c7a..d95c5a7 100644
--- a/temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py
+++ b/temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py
@@ -8,195 +8,262 @@ for details.
 :authors: Soeren Gebbert
 """
 
-import grass.pygrass.modules as pymod
 from grass.gunittest.case import TestCase
 from grass.gunittest.gmodules import SimpleModule
+from grass.gunittest.utils import silent_rmtree
 import os
 
+
 class testRaster3dExtraction(TestCase):
 
+    mapsets_to_remove = []
+    outfile = 'rast3dlist.txt'
+    gisenv = SimpleModule('g.gisenv', get='MAPSET')
+    TestCase.runModule(gisenv, expecting_stdout=True)
+    old_mapset = gisenv.outputs.stdout.strip()
+
     @classmethod
     def setUpClass(cls):
-       os.putenv("GRASS_OVERWRITE", "1")
-       for i in range(1, 5): 
-            cls.runModule("g.mapset", flags="c", mapset="test3d%i"%i)
-            cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+        os.putenv("GRASS_OVERWRITE", "1")
+        for i in range(1, 5):
+            mapset_name = "test3d%i" % i
+            cls.runModule("g.mapset", flags="c", mapset=mapset_name)
+            cls.mapsets_to_remove.append(mapset_name)
+            cls.runModule("g.region", s=0, n=80,
+                          w=0, e=120, b=0, t=50, res=10, res3=10)
             # Use always the current mapset as temporal database
             cls.runModule("r3.mapcalc", expression="a1 = 100")
             cls.runModule("r3.mapcalc", expression="a2 = 200")
             cls.runModule("r3.mapcalc", expression="a3 = 300")
-            
-            cls.runModule("t.create",  type="str3ds",  temporaltype="absolute",  
-                                         output="A",  title="A test3d",  description="A test3d")
-            cls.runModule("t.register",  flags="i",  type="raster_3d",  input="A",  
-                                         maps="a1,a2,a3",  
-                                         start="2001-01-01", increment="%i months"%i)
-
-    def test_tlist(self):      
+            # Create the temporal database
+            cls.runModule("t.connect", flags="d")
+            cls.runModule("t.info", flags="s")
+            cls.runModule("t.create", type="str3ds", temporaltype="absolute",
+                          output="A", title="A test3d", description="A test3d")
+            cls.runModule(
+                "t.register", flags="i", type="raster_3d", input="A",
+                maps="a1,a2,a3",
+                start="2001-01-01", increment="%i months" % i)
+
+        # Add the new mapsets to the search path
+        for mapset in cls.mapsets_to_remove:
+            cls.runModule("g.mapset", mapset=mapset)
+            cls.runModule("g.mapsets", operation="add", mapset=','.join(cls.mapsets_to_remove))
+
+    @classmethod
+    def tearDownClass(cls):
+        gisenv = SimpleModule('g.gisenv', get='GISDBASE')
+        cls.runModule(gisenv, expecting_stdout=True)
+        gisdbase = gisenv.outputs.stdout.strip()
+        gisenv = SimpleModule('g.gisenv', get='LOCATION_NAME')
+        cls.runModule(gisenv, expecting_stdout=True)
+        location = gisenv.outputs.stdout.strip()
+        cls.runModule("g.mapset", mapset=cls.old_mapset)
+        for mapset_name in cls.mapsets_to_remove:
+            mapset_path = os.path.join(gisdbase, location, mapset_name)
+            silent_rmtree(mapset_path)
+
+    def test_tlist(self):
         self.runModule("g.mapset", mapset="test3d1")
-        
+
         list_string = """A|test3d1|2001-01-01 00:00:00|2001-04-01 00:00:00|3
                                 A|test3d2|2001-01-01 00:00:00|2001-07-01 00:00:00|3
                                 A|test3d3|2001-01-01 00:00:00|2001-10-01 00:00:00|3
                                 A|test3d4|2001-01-01 00:00:00|2002-01-01 00:00:00|3"""
-                                
-        entries = list_string.split("\n")
-        
-        t_list = SimpleModule("t.list", quiet=True, 
-                                            columns=["name","mapset,start_time","end_time","number_of_maps"],  
-                                            type="str3ds",  where='name = "A"')
+
+        t_list = SimpleModule(
+            "t.list", quiet=True,
+            columns=["name", "mapset,start_time", "end_time", "number_of_maps"],
+            type="str3ds", where='name = "A"')
         self.assertModule(t_list)
-        
+
         out = t_list.outputs["stdout"].value
-        
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
+            self.assertEqual(a.strip(), b.strip())
+
+        t_list = SimpleModule(
+            "t.list", quiet=True,
+            columns=["name", "mapset,start_time", "end_time", "number_of_maps"],
+            type="str3ds", where='name = "A"', output=self.outfile)
+        self.assertModule(t_list)
+        self.assertFileExists(self.outfile)
+        with open(self.outfile, 'r') as f:
+            read_data = f.read()
+        for a, b in zip(list_string.split("\n"), read_data.split("\n")):
             self.assertEqual(a.strip(), b.strip())
-        
-    def test_trast_list(self):      
+        #self.assertLooksLike(reference=read_data, actual=list_string)
+        if os.path.isfile(self.outfile):
+            os.remove(self.outfile)
+
+    def test_trast_list(self):
         self.runModule("g.mapset", mapset="test3d1")
 
         list_string = """a1|test3d1|2001-01-01 00:00:00|2001-02-01 00:00:00
                                 a2|test3d1|2001-02-01 00:00:00|2001-03-01 00:00:00
                                 a3|test3d1|2001-03-01 00:00:00|2001-04-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast3d.list", quiet=True, flags="s",  input="A at test3d1")
+        trast_list = SimpleModule(
+            "t.rast3d.list", quiet=True, flags="s", input="A at test3d1")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|test3d2|2001-01-01 00:00:00|2001-03-01 00:00:00
                                 a2|test3d2|2001-03-01 00:00:00|2001-05-01 00:00:00
                                 a3|test3d2|2001-05-01 00:00:00|2001-07-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast3d.list", quiet=True, flags="s",  input="A at test3d2")
+        trast_list = SimpleModule(
+            "t.rast3d.list", quiet=True, flags="s", input="A at test3d2")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|test3d3|2001-01-01 00:00:00|2001-04-01 00:00:00
                                 a2|test3d3|2001-04-01 00:00:00|2001-07-01 00:00:00
                                 a3|test3d3|2001-07-01 00:00:00|2001-10-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast3d.list", quiet=True, flags="s",  input="A at test3d3")
+        trast_list = SimpleModule(
+            "t.rast3d.list", quiet=True, flags="s", input="A at test3d3")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|test3d4|2001-01-01 00:00:00|2001-05-01 00:00:00
                                 a2|test3d4|2001-05-01 00:00:00|2001-09-01 00:00:00
                                 a3|test3d4|2001-09-01 00:00:00|2002-01-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.rast3d.list", quiet=True, flags="s",  input="A at test3d4")
+        trast_list = SimpleModule(
+            "t.rast3d.list", quiet=True, flags="s", input="A at test3d4")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
-    def test_strds_info(self):  
+        trast_list = SimpleModule("t.rast3d.list", quiet=True, flags="s",
+                                  input="A at test3d4", output=self.outfile)
+        self.assertModule(trast_list)
+        self.assertFileExists(self.outfile)
+        with open(self.outfile, 'r') as f:
+            read_data = f.read()
+        for a, b in zip(list_string.split("\n"), read_data.split("\n")):
+            self.assertEqual(a.strip(), b.strip())
+        if os.path.isfile(self.outfile):
+            os.remove(self.outfile)
+
+    def test_strds_info(self):
         self.runModule("g.mapset", mapset="test3d4")
-        tinfo_string="""id=A at test3d1
+        tinfo_string = """id=A at test3d1
                                     name=A
                                     mapset=test3d1
                                     start_time=2001-01-01 00:00:00
                                     end_time=2001-04-01 00:00:00
                                     granularity=1 month"""
 
-        info = SimpleModule("t.info", flags="g", type="str3ds",  input="A at test3d1")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        info = SimpleModule(
+            "t.info", flags="g", type="str3ds", input="A at test3d1")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="test3d3")
-        tinfo_string="""id=A at test3d2
+        tinfo_string = """id=A at test3d2
                                     name=A
                                     mapset=test3d2
                                     start_time=2001-01-01 00:00:00
                                     end_time=2001-07-01 00:00:00
                                     granularity=2 months"""
 
-        info = SimpleModule("t.info", flags="g", type="str3ds", input="A at test3d2")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        info = SimpleModule(
+            "t.info", flags="g", type="str3ds", input="A at test3d2")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="test3d2")
-        tinfo_string="""id=A at test3d3
+        tinfo_string = """id=A at test3d3
                                     name=A
                                     mapset=test3d3
                                     start_time=2001-01-01 00:00:00
                                     end_time=2001-10-01 00:00:00
                                     granularity=3 months"""
 
-        info = SimpleModule("t.info", flags="g", type="str3ds", input="A at test3d3")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        info = SimpleModule(
+            "t.info", flags="g", type="str3ds", input="A at test3d3")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="test3d1")
-        tinfo_string="""id=A at test3d4
+        tinfo_string = """id=A at test3d4
                                     name=A
                                     mapset=test3d4
                                     start_time=2001-01-01 00:00:00
                                     end_time=2002-01-01 00:00:00
                                     granularity=4 months"""
 
-        info = SimpleModule("t.info", flags="g", type="str3ds", input="A at test3d4")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="str3ds", input="A at test3d4")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-    def test_raster_info(self):  
+    def test_raster_info(self):
         self.runModule("g.mapset", mapset="test3d3")
-        tinfo_string="""id=a1 at test3d1
+        tinfo_string = """id=a1 at test3d1
                                 name=a1
                                 mapset=test3d1
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-02-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster_3d",  input="a1 at test3d1")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster_3d", input="a1 at test3d1")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at test3d2
+        tinfo_string = """id=a1 at test3d2
                                 name=a1
                                 mapset=test3d2
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-03-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster_3d",  input="a1 at test3d2")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster_3d", input="a1 at test3d2")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at test3d3
+        tinfo_string = """id=a1 at test3d3
                                 name=a1
                                 mapset=test3d3
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-04-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster_3d",  input="a1 at test3d3")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster_3d", input="a1 at test3d3")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at test3d4
+        tinfo_string = """id=a1 at test3d4
                                 name=a1
                                 mapset=test3d4
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-05-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="raster_3d",  input="a1 at test3d4")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="raster_3d", input="a1 at test3d4")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
 if __name__ == '__main__':
     from grass.gunittest.main import test
diff --git a/temporal/t.connect/testsuite/test_distr_tgis_db_vector.py b/temporal/t.connect/testsuite/test_distr_tgis_db_vector.py
index b664554..7810523 100644
--- a/temporal/t.connect/testsuite/test_distr_tgis_db_vector.py
+++ b/temporal/t.connect/testsuite/test_distr_tgis_db_vector.py
@@ -8,205 +8,270 @@ for details.
 :authors: Soeren Gebbert
 """
 
-import grass.pygrass.modules as pymod
-import subprocess
 from grass.gunittest.case import TestCase
 from grass.gunittest.gmodules import SimpleModule
+from grass.gunittest.utils import silent_rmtree
 import os
 
-mapset_count = 0
+
 class TestRasterExtraction(TestCase):
 
+    mapsets_to_remove = []
+    outfile = 'vectlist.txt'
+    gisenv = SimpleModule('g.gisenv', get='MAPSET')
+    TestCase.runModule(gisenv, expecting_stdout=True)
+    old_mapset = gisenv.outputs.stdout.strip()
+
     @classmethod
     def setUpClass(cls):
-       os.putenv("GRASS_OVERWRITE", "1")
-       for i in range(1, 5): 
-            cls.runModule("g.mapset", flags="c", mapset="testvect%i"%i)
-            cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+        os.putenv("GRASS_OVERWRITE", "1")
+        for i in range(1, 5):
+            mapset_name = "testvect%i" % i
+            cls.runModule("g.mapset", flags="c", mapset=mapset_name)
+            cls.mapsets_to_remove.append(mapset_name)
+            cls.runModule("g.region", s=0, n=80,
+                          w=0, e=120, b=0, t=50, res=10, res3=10)
             # Use always the current mapset as temporal database
-            cls.runModule("v.random", output="a1",  npoints=20)
-            cls.runModule("v.random", output="a2",  npoints=20)
-            cls.runModule("v.random", output="a3",  npoints=20)
-            
-            cls.runModule("t.create",  type="stvds",  temporaltype="absolute",  
-                                         output="A",  title="A testvect",  description="A testvect")
-            cls.runModule("t.register",  flags="i",  type="vector",  input="A",  
-                                         maps="a1,a2,a3",  
-                                         start="2001-01-01", increment="%i months"%i)
-
-    def test_tlist(self):      
+            cls.runModule("v.random", output="a1", npoints=20)
+            cls.runModule("v.random", output="a2", npoints=20)
+            cls.runModule("v.random", output="a3", npoints=20)
+            # Create the temporal database
+            cls.runModule("t.connect", flags="d")
+            cls.runModule("t.info", flags="s")
+            cls.runModule("t.create", type="stvds", temporaltype="absolute",
+                          output="A", title="A testvect", description="A testvect")
+            cls.runModule("t.register", flags="i", type="vector", input="A",
+                          maps="a1,a2,a3",
+                          start="2001-01-01", increment="%i months" % i)
+
+        # Add the new mapsets to the search path
+        for mapset in cls.mapsets_to_remove:
+            cls.runModule("g.mapset", mapset=mapset)
+            cls.runModule("g.mapsets", operation="add", mapset=','.join(cls.mapsets_to_remove))
+
+    @classmethod
+    def tearDownClass(cls):
+        gisenv = SimpleModule('g.gisenv', get='GISDBASE')
+        cls.runModule(gisenv, expecting_stdout=True)
+        gisdbase = gisenv.outputs.stdout.strip()
+        gisenv = SimpleModule('g.gisenv', get='LOCATION_NAME')
+        cls.runModule(gisenv, expecting_stdout=True)
+        location = gisenv.outputs.stdout.strip()
+        cls.runModule("g.mapset", mapset=cls.old_mapset)
+        for mapset_name in cls.mapsets_to_remove:
+            mapset_path = os.path.join(gisdbase, location, mapset_name)
+            silent_rmtree(mapset_path)
+
+    def test_tlist(self):
         self.runModule("g.mapset", mapset="testvect1")
-        
+
         list_string = """A|testvect1|2001-01-01 00:00:00|2001-04-01 00:00:00|3
                                 A|testvect2|2001-01-01 00:00:00|2001-07-01 00:00:00|3
                                 A|testvect3|2001-01-01 00:00:00|2001-10-01 00:00:00|3
                                 A|testvect4|2001-01-01 00:00:00|2002-01-01 00:00:00|3"""
-                                
-        entries = list_string.split("\n")
-        
-        t_list = SimpleModule("t.list", quiet=True, 
-                                           columns=["name","mapset,start_time","end_time","number_of_maps"],  
-                                           type="stvds",  where='name = "A"')
+
+        t_list = SimpleModule(
+            "t.list", quiet=True,
+            columns=["name", "mapset,start_time", "end_time", "number_of_maps"],
+            type="stvds", where='name = "A"')
         self.assertModule(t_list)
-        
+
         out = t_list.outputs["stdout"].value
-        
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
+            self.assertEqual(a.strip(), b.strip())
+
+        t_list = SimpleModule(
+            "t.list", quiet=True,
+            columns=["name", "mapset,start_time", "end_time", "number_of_maps"],
+            type="stvds", where='name = "A"', output=self.outfile)
+        self.assertModule(t_list)
+        self.assertFileExists(self.outfile)
+        with open(self.outfile, 'r') as f:
+            read_data = f.read()
+        for a, b in zip(list_string.split("\n"), read_data.split("\n")):
             self.assertEqual(a.strip(), b.strip())
-        
-    def test_tvect_list(self):      
+        #self.assertLooksLike(reference=read_data, actual=list_string)
+        if os.path.isfile(self.outfile):
+            os.remove(self.outfile)
+
+    def test_tvect_list(self):
         self.runModule("g.mapset", mapset="testvect1")
 
         list_string = """a1|testvect1|2001-01-01 00:00:00|2001-02-01 00:00:00
                                 a2|testvect1|2001-02-01 00:00:00|2001-03-01 00:00:00
                                 a3|testvect1|2001-03-01 00:00:00|2001-04-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.vect.list", quiet=True, flags="s",  
-                                  columns=["name","mapset","start_time","end_time"] , 
+        trast_list = SimpleModule("t.vect.list", quiet=True, flags="s",
+                                  columns=[
+                                      "name", "mapset", "start_time", "end_time"],
                                   input="A at testvect1")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|testvect2|2001-01-01 00:00:00|2001-03-01 00:00:00
                                 a2|testvect2|2001-03-01 00:00:00|2001-05-01 00:00:00
                                 a3|testvect2|2001-05-01 00:00:00|2001-07-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.vect.list", quiet=True, flags="s", 
-                                  columns=["name","mapset","start_time","end_time"] , 
-                                  input="A at testvect2")
+        trast_list = SimpleModule(
+            "t.vect.list", quiet=True, flags="s",
+            columns=["name", "mapset", "start_time", "end_time"],
+            input="A at testvect2")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|testvect3|2001-01-01 00:00:00|2001-04-01 00:00:00
                                 a2|testvect3|2001-04-01 00:00:00|2001-07-01 00:00:00
                                 a3|testvect3|2001-07-01 00:00:00|2001-10-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.vect.list", quiet=True, flags="s", 
-                                  columns=["name","mapset","start_time","end_time"] , 
+        trast_list = SimpleModule("t.vect.list", quiet=True, flags="s",
+                                  columns=[
+                                      "name", "mapset", "start_time", "end_time"],
                                   input="A at testvect3")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
         list_string = """a1|testvect4|2001-01-01 00:00:00|2001-05-01 00:00:00
                                 a2|testvect4|2001-05-01 00:00:00|2001-09-01 00:00:00
                                 a3|testvect4|2001-09-01 00:00:00|2002-01-01 00:00:00"""
 
-        entries = list_string.split("\n")
-
-        trast_list = SimpleModule("t.vect.list", quiet=True, flags="s",
-                                  columns=["name","mapset","start_time","end_time"] , 
-                                  input="A at testvect4")
+        trast_list = SimpleModule(
+            "t.vect.list", quiet=True, flags="s",
+            columns=["name", "mapset", "start_time", "end_time"],
+            input="A at testvect4")
         self.assertModule(trast_list)
 
         out = trast_list.outputs["stdout"].value
 
-        for a,  b in zip(list_string.split("\n"),  out.split("\n")):
+        for a, b in zip(list_string.split("\n"), out.split("\n")):
             self.assertEqual(a.strip(), b.strip())
 
-    def test_stvds_info(self):  
+        trast_list = SimpleModule("t.vect.list", quiet=True, flags="s",
+                                  columns=["name", "mapset", "start_time", "end_time"],
+                                  input="A at testvect4", output=self.outfile)
+        self.assertModule(trast_list)
+        self.assertFileExists(self.outfile)
+        with open(self.outfile, 'r') as f:
+            read_data = f.read()
+        for a, b in zip(list_string.split("\n"), read_data.split("\n")):
+            self.assertEqual(a.strip(), b.strip())
+        if os.path.isfile(self.outfile):
+            os.remove(self.outfile)
+
+    def test_stvds_info(self):
         self.runModule("g.mapset", mapset="testvect4")
-        tinfo_string="""id=A at testvect1
+        tinfo_string = """id=A at testvect1
                                     name=A
                                     mapset=testvect1
                                     start_time=2001-01-01 00:00:00
                                     end_time=2001-04-01 00:00:00
                                     granularity=1 month"""
 
-        info = SimpleModule("t.info", flags="g", type="stvds", input="A at testvect1")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        info = SimpleModule(
+            "t.info", flags="g", type="stvds", input="A at testvect1")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="testvect3")
-        tinfo_string="""id=A at testvect2
+        tinfo_string = """id=A at testvect2
                                     name=A
                                     mapset=testvect2
                                     start_time=2001-01-01 00:00:00
                                     end_time=2001-07-01 00:00:00
                                     granularity=2 months"""
 
-        info = SimpleModule("t.info", flags="g", type="stvds",  input="A at testvect2")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        info = SimpleModule(
+            "t.info", flags="g", type="stvds", input="A at testvect2")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="testvect2")
-        tinfo_string="""id=A at testvect3
+        tinfo_string = """id=A at testvect3
                                     name=A
                                     mapset=testvect3
                                     start_time=2001-01-01 00:00:00
                                     end_time=2001-10-01 00:00:00
                                     granularity=3 months"""
 
-        info = SimpleModule("t.info", flags="g", type="stvds", input="A at testvect3")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
-  
+        info = SimpleModule(
+            "t.info", flags="g", type="stvds", input="A at testvect3")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
+
         self.runModule("g.mapset", mapset="testvect1")
-        tinfo_string="""id=A at testvect4
+        tinfo_string = """id=A at testvect4
                                     name=A
                                     mapset=testvect4
                                     start_time=2001-01-01 00:00:00
                                     end_time=2002-01-01 00:00:00
                                     granularity=4 months"""
 
-        info = SimpleModule("t.info", flags="g", type="stvds", input="A at testvect4")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="stvds", input="A at testvect4")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-    def testv_vector_info(self):  
+    def testv_vector_info(self):
         self.runModule("g.mapset", mapset="testvect3")
-        tinfo_string="""id=a1 at testvect1
+        tinfo_string = """id=a1 at testvect1
                                 name=a1
                                 mapset=testvect1
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-02-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="vector",  input="a1 at testvect1")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="vector", input="a1 at testvect1")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at testvect2
+        tinfo_string = """id=a1 at testvect2
                                 name=a1
                                 mapset=testvect2
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-03-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="vector",  input="a1 at testvect2")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="vector", input="a1 at testvect2")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at testvect3
+        tinfo_string = """id=a1 at testvect3
                                 name=a1
                                 mapset=testvect3
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-04-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="vector",  input="a1 at testvect3")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="vector", input="a1 at testvect3")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
-        tinfo_string="""id=a1 at testvect4
+        tinfo_string = """id=a1 at testvect4
                                 name=a1
                                 mapset=testvect4
                                 temporal_type=absolute
                                 start_time=2001-01-01 00:00:00
                                 end_time=2001-05-01 00:00:00 """
 
-        info = SimpleModule("t.info", flags="g", type="vector",  input="a1 at testvect4")
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+        info = SimpleModule(
+            "t.info", flags="g", type="vector", input="a1 at testvect4")
+        self.assertModuleKeyValue(
+            module=info, reference=tinfo_string, precision=2, sep="=")
 
 if __name__ == '__main__':
     from grass.gunittest.main import test
diff --git a/temporal/t.create/t.create.html b/temporal/t.create/t.create.html
index cf5560b..4fc1b58 100644
--- a/temporal/t.create/t.create.html
+++ b/temporal/t.create/t.create.html
@@ -52,5 +52,5 @@ t.create type=stvds temporaltype=relative \
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 14:05:02 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 05:04:47 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.info/t.info.html b/temporal/t.info/t.info.html
index 2cc6b7c..d7ebc64 100644
--- a/temporal/t.info/t.info.html
+++ b/temporal/t.info/t.info.html
@@ -152,5 +152,5 @@ t.info input=2009_01_tempmean type=raster
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 14:05:02 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 05:04:47 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.list/t.list.html b/temporal/t.list/t.list.html
index 435832e..b88cd69 100644
--- a/temporal/t.list/t.list.html
+++ b/temporal/t.list/t.list.html
@@ -63,5 +63,5 @@ Time stamped raster maps with absolute time available in mapset <climate_200
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 14:05:02 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 05:04:47 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.list/t.list.py b/temporal/t.list/t.list.py
index c53b0ec..214e00d 100755
--- a/temporal/t.list/t.list.py
+++ b/temporal/t.list/t.list.py
@@ -71,6 +71,10 @@
 #% guisection: Formatting
 #%end
 
+#%option G_OPT_F_OUTPUT
+#% required: no
+#%end
+
 #%flag
 #% key: c
 #% description: Print the column names as first row
@@ -93,15 +97,18 @@ def main():
     order = options["order"]
     where = options["where"]
     separator = gscript.separator(options["separator"])
+    outpath = options["output"]
     colhead = flags['c']
 
     # Make sure the temporal database exists
     tgis.init()
 
     sp = tgis.dataset_factory(type, None)
+    dbif = tgis.SQLDatabaseInterfaceConnection()
+    dbif.connect()
     first = True
-    
-    if  gscript.verbosity() > 0:
+
+    if  gscript.verbosity() > 0 and not outpath:
         sys.stderr.write("----------------------------------------------\n")
 
     for ttype in temporal_type.split(","):
@@ -110,19 +117,22 @@ def main():
         else:
             time = "relative time"
 
-        stds_list = tgis.get_dataset_list(type,  ttype,  columns,  where,  order)
+        stds_list = tgis.get_dataset_list(type,  ttype,  columns,  where,  order, dbif=dbif)
 
         # Use the correct order of the mapsets, hence first the current mapset, then
         # alphabetic ordering
         mapsets = tgis.get_tgis_c_library_interface().available_mapsets()
 
+        if outpath:
+            outfile = open(outpath, 'w')
+
         # Print for each mapset separately
         for key in mapsets:
             if key in stds_list.keys():
                 rows = stds_list[key]
 
                 if rows:
-                    if  gscript.verbosity() > 0:
+                    if  gscript.verbosity() > 0 and not outpath:
                         if issubclass(sp.__class__,  tgis.AbstractMapDataset):
                             sys.stderr.write(_("Time stamped %s maps with %s available in mapset <%s>:\n")%\
                                                      (sp.get_type(),  time,  key))
@@ -140,9 +150,12 @@ def main():
                             else:
                                 output += str(key)
                             count += 1
-                        print output
+                        if outpath:
+                            outfile.write("{st}\n".format(st=output))
+                        else:
+                            print output
                         first = False
-            
+
                     for row in rows:
                         output = ""
                         count = 0
@@ -152,8 +165,13 @@ def main():
                             else:
                                 output += str(col)
                             count += 1
-            
-                        print output
+                        if outpath:
+                            outfile.write("{st}\n".format(st=output))
+                        else:
+                            print output
+    if outpath:
+        outfile.close()
+    dbif.close()
 
 if __name__ == "__main__":
     options, flags = gscript.parser()
diff --git a/temporal/t.merge/t.merge.html b/temporal/t.merge/t.merge.html
index 08465ad..0e7c254 100644
--- a/temporal/t.merge/t.merge.html
+++ b/temporal/t.merge/t.merge.html
@@ -224,5 +224,5 @@ t.info precipitation_daily_3
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.merge/t.merge.py b/temporal/t.merge/t.merge.py
index 42d7d4c..5ea5839 100755
--- a/temporal/t.merge/t.merge.py
+++ b/temporal/t.merge/t.merge.py
@@ -17,6 +17,7 @@
 #%module
 #% description: Merges several space time datasets into a single space time dataset.
 #% keyword: temporal
+#% keyword: time management
 #% keyword: merge
 #% keyword: time
 #%end
diff --git a/temporal/t.merge/testsuite/test.t.merge.sh b/temporal/t.merge/testsuite/test.t.merge.sh
index b029b60..b6d0744 100755
--- a/temporal/t.merge/testsuite/test.t.merge.sh
+++ b/temporal/t.merge/testsuite/test.t.merge.sh
@@ -22,7 +22,7 @@ t.register -i --o maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 \
 # in several space time datasets
 t.create --o type=strds temporaltype=absolute output=precip_abs1 \
 	title="Test" descr="This is the 1 test strds" semantictype=sum
-t.register -i --o input=precip_abs1 maps=prec_1,prec_2,prec_3 
+t.register --o input=precip_abs1 maps=prec_1,prec_2,prec_3 
 
 t.create --o type=strds temporaltype=absolute output=precip_abs2 \
 	title="Test" descr="This is the 2 test strds" semantictype=sum
diff --git a/temporal/t.rast.accdetect/t.rast.accdetect.html b/temporal/t.rast.accdetect/t.rast.accdetect.html
index f3f06ae..2aaa870 100644
--- a/temporal/t.rast.accdetect/t.rast.accdetect.html
+++ b/temporal/t.rast.accdetect/t.rast.accdetect.html
@@ -80,4 +80,4 @@ Please have a look at the <a href="t.rast.accumulate.html">t.rast.accumulate</a>
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
 
-<p><i>Last changed: $Date: 2015-07-11 16:04:13 +0200 (Sat, 11 Jul 2015) $</i>
+<p><i>Last changed: $Date: 2015-07-11 07:01:46 -0700 (Sat, 11 Jul 2015) $</i>
diff --git a/temporal/t.rast.accdetect/t.rast.accdetect.py b/temporal/t.rast.accdetect/t.rast.accdetect.py
index 582d736..14f1145 100644
--- a/temporal/t.rast.accdetect/t.rast.accdetect.py
+++ b/temporal/t.rast.accdetect/t.rast.accdetect.py
@@ -92,6 +92,15 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'count' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: range
 #% type: double
 #% key_desc: min,max
@@ -144,6 +153,7 @@ def main():
     staend = options["staend"]
     register_null = flags["n"]
     reverse = flags["r"]
+    time_suffix = options["suffix"]
 
     grass.set_raise_on_error(True)
 
@@ -301,8 +311,9 @@ def main():
         grass.message(_("Processing cycle %s - %s"%(str(start), str(end))))
 
         count = compute_occurrence(occurrence_maps, input_strds, input_maps,
-                                   start, base, count, mapset, where, reverse,
-                                   range, minimum_strds, maximum_strds, dbif)
+                                   start, base, count, time_suffix, mapset,
+                                   where, reverse, range, minimum_strds,
+                                   maximum_strds, dbif)
 
         # Indicator computation is based on the occurrence so we need to start it after
         # the occurrence cycle
@@ -314,7 +325,15 @@ def main():
                 else:
                     map = input_maps[i]
 
-                indicator_map_name = "%s_indicator_%i" % (base, indi_count)
+                if input_strds.get_temporal_type() == 'absolute' and time_suffix == 'gran':
+                    suffix = tgis.create_suffix_from_datetime(map.temporal_extent.get_start_time(),
+                                                              input_strds.get_granularity())
+                    indicator_map_name = "{ba}_{su}".format(ba=base, su=suffix)
+                elif input_strds.get_temporal_type() == 'absolute' and time_suffix == 'time':
+                    suffix = tgis.create_time_suffix(map)
+                    indicator_map_name = "{ba}_{su}".format(ba=base, su=suffix)
+                else:
+                    indicator_map_name = tgis.create_numeric_suffic(base, indi_count, time_suffix)
                 indicator_map_id = dummy.build_id(indicator_map_name, mapset)
                 indicator_map = input_strds.get_new_map_instance(indicator_map_id)
 
@@ -464,8 +483,8 @@ def create_strds_register_maps(in_strds, out_strds, out_maps, register_null,
 ############################################################################
 
 def compute_occurrence(occurrence_maps, input_strds, input_maps, start, base,
-               count, mapset, where, reverse, range, minimum_strds,
-               maximum_strds, dbif):
+                       count, tsuffix, mapset, where, reverse, range,
+                       minimum_strds, maximum_strds, dbif):
 
     if minimum_strds:
         input_maps_minimum = input_strds.get_registered_maps_as_objects(where=where,
@@ -498,7 +517,16 @@ def compute_occurrence(occurrence_maps, input_strds, input_maps, start, base,
         else:
             days = td
 
-        occurrence_map_name = "%s_%i" % (base, count)
+        if input_strds.get_temporal_type() == 'absolute' and tsuffix == 'gran':
+            suffix = tgis.create_suffix_from_datetime(map.temporal_extent.get_start_time(),
+                                                      input_strds.get_granularity())
+            occurrence_map_name = "{ba}_{su}".format(ba=base, su=suffix)
+        elif input_strds.get_temporal_type() == 'absolute' and tsuffix == 'time':
+            suffix = tgis.create_time_suffix(map)
+            occurrence_map_name = "{ba}_{su}".format(ba=base, su=suffix)
+        else:
+            occurrence_map_name = tgis.create_numeric_suffic(base, count, tsuffix)
+
         occurrence_map_id = map.build_id(occurrence_map_name, mapset)
         occurrence_map = input_strds.get_new_map_instance(occurrence_map_id)
 
diff --git a/temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.reverse.sh b/temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.reverse.sh
index b1f2317..a820fbd 100755
--- a/temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.reverse.sh
+++ b/temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.reverse.sh
@@ -22,10 +22,10 @@ t.register -i type=raster input=temp_abs1 maps=temp_1,temp_2,temp_3,temp_4,temp_
 # The first @test
 
 t.rast.accumulate -r input=temp_abs1 output=temp_accumulation base=temp_acc \
-    limits=10,25 start="2001-01-01" gran="2 months" cycle="12 months"
+    limits=10,25 start="2001-01-01" gran="2 months" cycle="12 months" suffix="num%03"
 
 t.rast.accdetect -r input=temp_accumulation occurrence=temp_occ base=temp_occ \
-    range=20,80 start="2001-01-01" cycle="12 months" staend=1,2,3 indi=temp_indi
+    range=20,80 start="2001-01-01" cycle="12 months" staend=1,2,3 indi=temp_indi suffix="num%03"
 
 t.rast.list temp_accumulation col=name,start_time,min,max > data/test_2_temp_accumulation.txt
 t.rast.list temp_occ col=name,start_time,min,max  > data/test_2_temp_occ.txt
diff --git a/temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.sh b/temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.sh
index 558d3b9..308f7c0 100755
--- a/temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.sh
+++ b/temporal/t.rast.accdetect/testsuite/test.t.rast.accdetect.sh
@@ -22,10 +22,10 @@ t.register -i type=raster input=temp_abs1 maps=temp_1,temp_2,temp_3,temp_4,temp_
 # The first @test
 
 t.rast.accumulate input=temp_abs1 output=temp_accumulation base=temp_acc \
-    limits=10,25 start="2001-01-01" gran="2 months" cycle="12 months"
+    limits=10,25 start="2001-01-01" gran="2 months" cycle="12 months" suffix="num%03"
 
 t.rast.accdetect input=temp_accumulation occurrence=temp_occ base=temp_occ \
-    range=20,80 start="2001-01-01" cycle="12 months"
+    range=20,80 start="2001-01-01" cycle="12 months" suffix="num%03"
 
 # Check the registered maps metadata
 t.rast.list temp_accumulation col=name,start_time,min,max > data/test_1_temp_accumulation.txt
@@ -45,7 +45,7 @@ t.register -i type=raster input=maximum maps=maximum start="2001-01-01" incremen
 
 t.rast.accdetect input=temp_accumulation occurrence=temp_occ base=temp_occ \
     range=20,80 start="2001-01-01" cycle="12 months" min=minimum \
-    max=maximum staend=1,2,3 indi=temp_indi
+    max=maximum staend=1,2,3 indi=temp_indi suffix="num%03"
 
 # Check the registered maps metadata
 t.rast.list temp_occ col=name,start_time,min,max          > data/test_1_temp_occ_b.txt
diff --git a/temporal/t.rast.accdetect/testsuite/test_simple.py b/temporal/t.rast.accdetect/testsuite/test_simple.py
new file mode 100644
index 0000000..c3b09b5
--- /dev/null
+++ b/temporal/t.rast.accdetect/testsuite/test_simple.py
@@ -0,0 +1,96 @@
+"""test distributed temporal databases with stvds
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Luca Delucchi
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+import os
+
+
+class TestRasterExtraction(TestCase):
+    
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,
+                      t=50,  res=10,  res3=10)
+        for i in range(1,101):
+            cls.runModule("r.mapcalc", flags='s',  overwrite=True,
+                          expression="a_mapcalc{nu} = rand(1,10)".format(nu=i))
+
+        cls.runModule("t.create", type="strds", temporaltype="absolute",
+                      output="A", title="A test", description="A test",
+                      overwrite=True)
+        glist = SimpleModule('g.list', type='raster', pattern="a_mapcalc*",
+                             separator=',')
+        cls.runModule(glist, expecting_stdout=True)
+        maps = glist.outputs.stdout.strip()
+        cls.runModule("t.register", flags="i",  type="raster",  input="A",
+                      maps=maps.strip(), increment="1 month",
+                      start="2001-01-01 00:00:00", overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+
+    def tearDown(self):
+        """Remove generated data"""
+        self.runModule("t.remove", flags="rf", type="strds", inputs="B")
+        
+    def test_simple(self):
+        self.assertModule('t.rast.accdetect', input='A', occurrence='B',
+                          start="2001-01-01", cycle="12 months",
+                          basename='b_occu', range=(1,8))
+        tinfo_string="""semantic_type=mean
+        start_time=2001-01-01 00:00:00
+        end_time=2009-05-01 00:00:00
+        granularity=1 month
+        map_time=interval
+        number_of_maps=100"""
+        info = SimpleModule("t.info", flags="g", type="strds", input="B")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
+                                  precision=2, sep="=")
+
+    def test_stop(self):
+        self.assertModule('t.rast.accdetect', input='A', occurrence='B',
+                          start="2001-01-01", stop='2008-12-31',
+                          cycle="12 months", basename='b_occu', range=(1,8))
+        tinfo_string="""semantic_type=mean
+        start_time=2001-01-01 00:00:00
+        end_time=2009-01-01 00:00:00
+        granularity=1 month
+        map_time=interval
+        number_of_maps=96"""
+        info = SimpleModule("t.info", flags="g", type="strds", input="B")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
+                                  precision=2, sep="=")
+      
+    def test_time_suffix(self):
+        self.assertModule('t.rast.accdetect', input='A', occurrence='B',
+                          start="2001-01-01", cycle="12 months", suffix='time',
+                          basename='b_occu', range=(1,8))
+        self.assertRasterDoesNotExist('b_occu_2001_01')
+        self.assertRasterExists('b_occu_2001_01_01T00_00_00')
+
+    def test_num_suffix(self):
+        self.assertModule('t.rast.accdetect', input='A', occurrence='B',
+                          start="2001-01-01", cycle="12 months",
+                          suffix='count%03', basename='b_occu', range=(1,8))
+        self.assertRasterDoesNotExist('b_occu_2001_01')
+        self.assertRasterExists('b_occu_001')
+        self.assertRasterDoesNotExist('b_occu_00001')
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.rast.accumulate/t.rast.accumulate.html b/temporal/t.rast.accumulate/t.rast.accumulate.html
index 8ea73d5..ebb6ef6 100644
--- a/temporal/t.rast.accumulate/t.rast.accumulate.html
+++ b/temporal/t.rast.accumulate/t.rast.accumulate.html
@@ -66,7 +66,7 @@ wget http://www-pool.math.tu-berlin.de/~soeren/grass/temperature_mean_1990_2000_
 mkdir -p /tmp/grassdata/LL
 
 # Start GRASS and create a new location with PERMANENT mapset
-grass70 -c EPSG:4326 /tmp/grassdata/LL/PERMANENT
+grass71 -c EPSG:4326 /tmp/grassdata/LL/PERMANENT
 
 # Import the temperature data
 t.rast.import input=temperature_mean_1990_2000_daily_celsius.tar.gz \
@@ -297,4 +297,4 @@ g.gui.animation strds=leafhopper_monthly_indicator_c3_1990_2000
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
diff --git a/temporal/t.rast.accumulate/t.rast.accumulate.py b/temporal/t.rast.accumulate/t.rast.accumulate.py
index b987867..9d2029a 100644
--- a/temporal/t.rast.accumulate/t.rast.accumulate.py
+++ b/temporal/t.rast.accumulate/t.rast.accumulate.py
@@ -93,16 +93,25 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: limits
 #% type: double
 #% key_desc: lower,upper
-#% description: Use these limits in case lower and/or upper input  space time raster datasets are not defined
-#% required: no
+#% description: Use these limits in case lower and/or upper input  space time raster datasets are not defined or contain NULL values
+#% required: yes
 #% multiple: no
 #%end
 
 #%option
-#% key: shift
+#% key: scale
 #% type: double
 #% description: Scale factor for input space time raster dataset
 #% required: no
@@ -110,7 +119,7 @@
 #%end
 
 #%option
-#% key: scale
+#% key: shift
 #% type: double
 #% description: Shift factor for input space time raster dataset
 #% required: no
@@ -138,6 +147,7 @@
 #% description: Reverse time direction in cyclic accumulation
 #%end
 
+
 import grass.script as grass
 import grass.temporal as tgis
 from grass.pygrass.modules import Module
@@ -163,6 +173,7 @@ def main():
     granularity = options["granularity"]
     register_null = flags["n"]
     reverse = flags["r"]
+    time_suffix = options["suffix"]
 
     # Make sure the temporal database exists
     tgis.init()
@@ -369,7 +380,16 @@ def main():
                 continue
 
             # New output map
-            output_map_name = "%s_%i" % (base, count)
+            if input_strds.get_temporal_type() == 'absolute' and time_suffix == 'gran':
+                suffix = tgis.create_suffix_from_datetime(map.temporal_extent.get_start_time(),
+                                                          input_strds.get_granularity())
+                output_map_name = "{ba}_{su}".format(ba=base, su=suffix)
+            elif input_strds.get_temporal_type() == 'absolute' and time_suffix == 'time':
+                suffix = tgis.create_time_suffix(map)
+                output_map_name = "{ba}_{su}".format(ba=base, su=suffix)
+            else:
+                output_map_name = tgis.create_numeric_suffic(base, count, time_suffix)
+
             output_map_id = map.build_id(output_map_name, mapset)
             output_map = input_strds.get_new_map_instance(output_map_id)
 
diff --git a/temporal/t.rast.accumulate/testsuite/data/acc_1.ref b/temporal/t.rast.accumulate/testsuite/data/acc_1.ref
deleted file mode 100644
index 6686d8b..0000000
--- a/temporal/t.rast.accumulate/testsuite/data/acc_1.ref
+++ /dev/null
@@ -1,39 +0,0 @@
- +-------------------- Space Time Raster Dataset -----------------------------+
- |                                                                            |
- +-------------------- Basic information -------------------------------------+
- | Name: ...................... precip_abs2
- | Creator: ................... soeren
- | Temporal type: ............. absolute
- | Semantic type:.............. mean
- +-------------------- Absolute time -----------------------------------------+
- | Start time:................. 2001-01-01 00:00:00
- | End time:................... 2002-01-01 00:00:00
- | Granularity:................ 4 months
- | Temporal type of maps:...... interval
- +-------------------- Spatial extent ----------------------------------------+
- | North:...................... 80.0
- | South:...................... 0.0
- | East:.. .................... 120.0
- | West:....................... 0.0
- | Top:........................ 0.0
- | Bottom:..................... 0.0
- +-------------------- Metadata information ----------------------------------+
- | North-South resolution min:. 10.0
- | North-South resolution max:. 10.0
- | East-west resolution min:... 10.0
- | East-west resolution max:... 10.0
- | Minimum value min:.......... 0.0
- | Minimum value max:.......... 0.0
- | Maximum value min:.......... 21.5
- | Maximum value max:.......... 60.0
- |
- | Title:
- | A test
- | Description:
- | A test
- | Command history:
- | t.rast.accumulate input="precip_abs1"
- |     output="precip_abs2" base="prec_acc" limits="10,30" start="2001-01-01"
- |     gran="4 months" cycle="12 months"
- | 
- +----------------------------------------------------------------------------+
diff --git a/temporal/t.rast.accumulate/testsuite/data/acc_2.ref b/temporal/t.rast.accumulate/testsuite/data/acc_2.ref
deleted file mode 100644
index ced2040..0000000
--- a/temporal/t.rast.accumulate/testsuite/data/acc_2.ref
+++ /dev/null
@@ -1,39 +0,0 @@
- +-------------------- Space Time Raster Dataset -----------------------------+
- |                                                                            |
- +-------------------- Basic information -------------------------------------+
- | Name: ...................... precip_abs2
- | Creator: ................... soeren
- | Temporal type: ............. absolute
- | Semantic type:.............. mean
- +-------------------- Absolute time -----------------------------------------+
- | Start time:................. 2001-01-01 00:00:00
- | End time:................... 2001-09-01 00:00:00
- | Granularity:................ 4 months
- | Temporal type of maps:...... interval
- +-------------------- Spatial extent ----------------------------------------+
- | North:...................... 80.0
- | South:...................... 0.0
- | East:.. .................... 120.0
- | West:....................... 0.0
- | Top:........................ 0.0
- | Bottom:..................... 0.0
- +-------------------- Metadata information ----------------------------------+
- | North-South resolution min:. 10.0
- | North-South resolution max:. 10.0
- | East-west resolution min:... 10.0
- | East-west resolution max:... 10.0
- | Minimum value min:.......... 0.0
- | Minimum value max:.......... 0.0
- | Maximum value min:.......... 21.5
- | Maximum value max:.......... 39.5
- |
- | Title:
- | A test
- | Description:
- | A test
- | Command history:
- | t.rast.accumulate input="precip_abs1"
- |     output="precip_abs2" base="prec_acc" limits="10,30" start="2001-01-01"
- |     stop="2002-01-01" gran="4 months" cycle="7 months"
- | 
- +----------------------------------------------------------------------------+
diff --git a/temporal/t.rast.accumulate/testsuite/data/acc_3.ref b/temporal/t.rast.accumulate/testsuite/data/acc_3.ref
deleted file mode 100644
index dfae636..0000000
--- a/temporal/t.rast.accumulate/testsuite/data/acc_3.ref
+++ /dev/null
@@ -1,39 +0,0 @@
- +-------------------- Space Time Raster Dataset -----------------------------+
- |                                                                            |
- +-------------------- Basic information -------------------------------------+
- | Name: ...................... precip_abs2
- | Creator: ................... soeren
- | Temporal type: ............. absolute
- | Semantic type:.............. mean
- +-------------------- Absolute time -----------------------------------------+
- | Start time:................. 2001-01-01 00:00:00
- | End time:................... 2002-01-01 00:00:00
- | Granularity:................ 2 months
- | Temporal type of maps:...... interval
- +-------------------- Spatial extent ----------------------------------------+
- | North:...................... 80.0
- | South:...................... 0.0
- | East:.. .................... 120.0
- | West:....................... 0.0
- | Top:........................ 0.0
- | Bottom:..................... 0.0
- +-------------------- Metadata information ----------------------------------+
- | North-South resolution min:. 10.0
- | North-South resolution max:. 10.0
- | East-west resolution min:... 10.0
- | East-west resolution max:... 10.0
- | Minimum value min:.......... 0.0
- | Minimum value max:.......... 0.0
- | Maximum value min:.......... 24.0
- | Maximum value max:.......... 120.0
- |
- | Title:
- | A test
- | Description:
- | A test
- | Command history:
- | t.rast.accumulate input="precip_abs1"
- |     output="precip_abs2" base="prec_acc" limits="10,30" start="2001-01-01"
- |     gran="2 months" cycle="12 months"
- | 
- +----------------------------------------------------------------------------+
diff --git a/temporal/t.rast.accumulate/testsuite/data/acc_4.ref b/temporal/t.rast.accumulate/testsuite/data/acc_4.ref
deleted file mode 100644
index 2230f99..0000000
--- a/temporal/t.rast.accumulate/testsuite/data/acc_4.ref
+++ /dev/null
@@ -1,39 +0,0 @@
- +-------------------- Space Time Raster Dataset -----------------------------+
- |                                                                            |
- +-------------------- Basic information -------------------------------------+
- | Name: ...................... precip_abs2
- | Creator: ................... soeren
- | Temporal type: ............. absolute
- | Semantic type:.............. mean
- +-------------------- Absolute time -----------------------------------------+
- | Start time:................. 2001-01-01 00:00:00
- | End time:................... 2002-01-01 00:00:00
- | Granularity:................ 1 month
- | Temporal type of maps:...... interval
- +-------------------- Spatial extent ----------------------------------------+
- | North:...................... 80.0
- | South:...................... 0.0
- | East:.. .................... 120.0
- | West:....................... 0.0
- | Top:........................ 0.0
- | Bottom:..................... 0.0
- +-------------------- Metadata information ----------------------------------+
- | North-South resolution min:. 10.0
- | North-South resolution max:. 10.0
- | East-west resolution min:... 10.0
- | East-west resolution max:... 10.0
- | Minimum value min:.......... 0.0
- | Minimum value max:.......... 0.0
- | Maximum value min:.......... 24.0
- | Maximum value max:.......... 240.0
- |
- | Title:
- | A test
- | Description:
- | A test
- | Command history:
- | t.rast.accumulate input="precip_abs1"
- |     output="precip_abs2" base="prec_acc" limits="10,30" start="2001-01-01"
- |     stop="2002-01-01" gran="1 months" cycle="12 months"
- | 
- +----------------------------------------------------------------------------+
diff --git a/temporal/t.rast.accumulate/testsuite/data/acc_5.ref b/temporal/t.rast.accumulate/testsuite/data/acc_5.ref
deleted file mode 100644
index 556bf57..0000000
--- a/temporal/t.rast.accumulate/testsuite/data/acc_5.ref
+++ /dev/null
@@ -1,40 +0,0 @@
- +-------------------- Space Time Raster Dataset -----------------------------+
- |                                                                            |
- +-------------------- Basic information -------------------------------------+
- | Name: ...................... precip_abs2
- | Creator: ................... soeren
- | Temporal type: ............. absolute
- | Semantic type:.............. mean
- +-------------------- Absolute time -----------------------------------------+
- | Start time:................. 2001-01-01 00:00:00
- | End time:................... 2002-01-01 00:00:00
- | Granularity:................ 1 month
- | Temporal type of maps:...... interval
- +-------------------- Spatial extent ----------------------------------------+
- | North:...................... 80.0
- | South:...................... 0.0
- | East:.. .................... 120.0
- | West:....................... 0.0
- | Top:........................ 0.0
- | Bottom:..................... 0.0
- +-------------------- Metadata information ----------------------------------+
- | North-South resolution min:. 10.0
- | North-South resolution max:. 10.0
- | East-west resolution min:... 10.0
- | East-west resolution max:... 10.0
- | Minimum value min:.......... 0.0
- | Minimum value max:.......... 0.0
- | Maximum value min:.......... 24.0
- | Maximum value max:.......... 240.0
- |
- | Title:
- | A test
- | Description:
- | A test
- | Command history:
- | t.rast.accumulate input="precip_abs1"
- |     output="precip_abs2" base="prec_acc" limits="8,33" lower="lower"
- |     upper="upper" start="2001-01-01" stop="2002-01-01" gran="1 months"
- |     cycle="12 months"
- | 
- +----------------------------------------------------------------------------+
diff --git a/temporal/t.rast.accumulate/testsuite/test.t.rast.accumulate.sh b/temporal/t.rast.accumulate/testsuite/test.t.rast.accumulate.sh
deleted file mode 100755
index d8131df..0000000
--- a/temporal/t.rast.accumulate/testsuite/test.t.rast.accumulate.sh
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/sh -e
-# Space time raster dataset neighborhood operations
-# We need to set a specific region in the
-# @preprocess step of this test. 
-# The region setting should work for UTM and LL test locations
-g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 -p
-
-export GRASS_OVERWRITE=1
-
-# Generate data
-r.mapcalc expr="prec_1 = rand(0, 25)" -s
-r.mapcalc expr="prec_2 = rand(0, 24)" -s
-r.mapcalc expr="prec_3 = rand(0, 23)" -s
-r.mapcalc expr="prec_4 = rand(0, 25)" -s
-r.mapcalc expr="prec_5 = rand(0, 23)" -s
-r.mapcalc expr="prec_6 = rand(0, 26)" -s
-
-t.create type=strds temporaltype=absolute output=precip_abs1 title="A test" descr="A test"
-t.register -i type=raster input=precip_abs1 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 \
-    start="2001-01-01" increment="2 months"
-
-# The first @test
-
-t.rast.accumulate input=precip_abs1 output=precip_abs2 base=prec_acc \
-    limits=10,30 start="2001-01-01" gran="4 months" \
-    cycle="12 months"
-
-# We need to filter the identifier that may be different on different systems
-# like creation time and mapset 
-t.info input=precip_abs2 | grep -v \# | grep -v Creation | grep -v register | grep -v Id | grep -v Mapset > data/acc_1.txt
-
-t.rast.accumulate input=precip_abs1 output=precip_abs2 base=prec_acc \
-    limits=10,30 start="2001-01-01" stop="2002-01-01" gran="4 months" \
-    cycle="7 months"
-
-t.info input=precip_abs2 | grep -v \# | grep -v Creation | grep -v register | grep -v Id | grep -v Mapset > data/acc_2.txt
-
-t.rast.accumulate input=precip_abs1 output=precip_abs2 base=prec_acc \
-    limits=10,30 start="2001-01-01" gran="2 months" \
-    cycle="12 months"
-
-t.info input=precip_abs2 | grep -v \# | grep -v Creation | grep -v register | grep -v Id | grep -v Mapset > data/acc_3.txt
-
-t.rast.accumulate input=precip_abs1 output=precip_abs2 base=prec_acc \
-    limits=10,30 start="2001-01-01" stop="2002-01-01" gran="1 months" \
-    cycle="12 months"
-
-t.info input=precip_abs2 | grep -v \# | grep -v Creation | grep -v register | grep -v Id | grep -v Mapset > data/acc_4.txt
-
-# Second test
-
-r.mapcalc expr="lower = 10"
-r.mapcalc expr="upper = 35"
-
-t.create type=strds temporaltype=absolute output=lower title="lower limit" descr="lower limit"
-t.register -i type=raster input=lower maps=lower start="2001-01-01" increment="8 months"
-
-t.create type=strds temporaltype=absolute output=upper title="upper limit" descr="upper limit"
-t.register -i type=raster input=upper maps=upper start="2001-01-01" increment="10 months"
-
-t.rast.accumulate input=precip_abs1 output=precip_abs2 base=prec_acc \
-    limits=8,33 lower=lower upper=upper start="2001-01-01" stop="2002-01-01" gran="1 months" \
-    cycle="12 months"
-
-t.info input=precip_abs2 | grep -v \# | grep -v Creation | grep -v register | grep -v Id | grep -v Mapset > data/acc_5.txt
-
-t.remove -rf type=strds input=precip_abs1,precip_abs2,lower,upper
-
-cd data
-
-for i in `ls acc_*.txt` ; do
-    diff $i "`basename $i .txt`.ref" >> out.diff
-done
-
-CHAR_NUM=`cat out.diff | wc -c`
-
-# Return as exit status 0 in case no diffs are found
-exit $CHAR_NUM
-
-
diff --git a/temporal/t.rast.accumulate/testsuite/test_accumulation.py b/temporal/t.rast.accumulate/testsuite/test_accumulation.py
new file mode 100644
index 0000000..cf92375
--- /dev/null
+++ b/temporal/t.rast.accumulate/testsuite/test_accumulation.py
@@ -0,0 +1,240 @@
+"""Test t.rast.accumulate
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Soeren Gebbert
+"""
+
+import grass.temporal as tgis
+import datetime
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestAccumulate(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        tgis.init(True) # Raise on error instead of exit(1)
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+
+        cls.runModule("r.mapcalc", expression="a_1 = 5",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_2 = 10",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_3 = 20",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_4 = 35",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_5 = 20",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_6 = 10",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_7 = 5",  overwrite=True)
+
+
+        cls.runModule("r.mapcalc", expression="lower = 10",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="upper = 30",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",
+                                   output="A",  title="A test",
+                                   description="A test", overwrite=True)
+        cls.runModule("t.register",  flags="i",  type="raster",  input="A",
+                                     maps="a_1,a_2,a_3,a_4,a_5,a_6,a_7",
+                                     start="2001-01-01",
+                                     increment="1 day",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",
+                                   output="Lower",  title="Lower",
+                                   description="Lower", overwrite=True)
+        cls.runModule("t.register",  type="raster",  input="Lower",
+                                     maps="lower",
+                                     start="2001-01-01",
+                                     end="2001-01-10",
+                                     overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",
+                                   output="Upper",  title="Upper",
+                                   description="Upper", overwrite=True)
+        cls.runModule("t.register",  type="raster",  input="Upper",
+                                     maps="upper",
+                                     start="2001-01-01",
+                                     end="2001-01-10",
+                                     overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.runModule("t.remove",  flags="rf",  type="strds",
+                                   inputs="A")
+        cls.runModule("t.remove",  flags="rf",  type="strds",
+                                   inputs="Lower")
+        cls.runModule("t.remove",  flags="rf",  type="strds",
+                                   inputs="Upper")
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove generated data"""
+        self.runModule("t.remove", flags="rf", type="strds", inputs="B")
+
+    def test_1(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          limits=[0,40], method="gdd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b",
+                          overwrite=True,  verbose=True)
+
+        D = tgis.open_old_stds("B", type="strds")
+
+        self.assertEqual(D.metadata.get_number_of_maps(), 7)
+        self.assertEqual(D.metadata.get_min_min(), 5)
+        self.assertEqual(D.metadata.get_max_max(), 105)
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 8))
+        self.assertEqual( D.check_temporal_topology(),  True)
+        self.assertEqual(D.get_granularity(),  u'1 day')
+
+    def test_2(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          limits=[10,40], method="gdd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b",
+                          overwrite=True,  verbose=True)
+
+        D = tgis.open_old_stds("B", type="strds")
+
+        self.assertEqual(D.metadata.get_number_of_maps(), 7)
+        self.assertEqual(D.metadata.get_min_min(), 0.0)
+        self.assertEqual(D.metadata.get_max_max(), 45.0)
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 8))
+        self.assertEqual( D.check_temporal_topology(),  True)
+        self.assertEqual(D.get_granularity(),  u'1 day')
+
+    def test_3(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          limits=[10,30], method="bedd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b",
+                          overwrite=True,  verbose=True)
+
+        D = tgis.open_old_stds("B", type="strds")
+
+        self.assertEqual(D.metadata.get_number_of_maps(), 7)
+        self.assertEqual(D.metadata.get_min_min(), 0.0)
+        self.assertEqual(D.metadata.get_max_max(), 40.0)
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 8))
+        self.assertEqual( D.check_temporal_topology(),  True)
+        self.assertEqual(D.get_granularity(),  u'1 day')
+
+    def test_3_a(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          lower="Lower",
+                          upper="Upper",
+                          limits=[0,40],
+                          method="bedd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b",
+                          overwrite=True,  verbose=True)
+
+        D = tgis.open_old_stds("B", type="strds")
+
+        self.assertEqual(D.metadata.get_number_of_maps(), 7)
+        self.assertEqual(D.metadata.get_min_min(), 0.0)
+        self.assertEqual(D.metadata.get_max_max(), 40.0)
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 8))
+        self.assertEqual( D.check_temporal_topology(),  True)
+        self.assertEqual(D.get_granularity(),  u'1 day')
+
+    def test_4(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          limits=[10,30], method="bedd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b", granularity="2 days",
+                          overwrite=True,  verbose=True)
+
+        D = tgis.open_old_stds("B", type="strds")
+
+        self.assertEqual(D.metadata.get_number_of_maps(), 4)
+        self.assertEqual(D.metadata.get_min_min(), 0.0)
+        self.assertEqual(D.metadata.get_max_max(), 22.5)
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 9))
+        self.assertEqual( D.check_temporal_topology(),  True)
+        self.assertEqual(D.get_granularity(),  u'2 days')
+
+    def test_4_a(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          lower="Lower",
+                          upper="Upper",
+                          limits=[0,40],
+                          method="bedd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b", granularity="2 days",
+                          overwrite=True,  verbose=True)
+
+        D = tgis.open_old_stds("B", type="strds")
+
+        self.assertEqual(D.metadata.get_number_of_maps(), 4)
+        self.assertEqual(D.metadata.get_min_min(), 0.0)
+        self.assertEqual(D.metadata.get_max_max(), 22.5)
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 9))
+        self.assertEqual( D.check_temporal_topology(),  True)
+        self.assertEqual(D.get_granularity(),  u'2 days')
+
+    def test_5(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          limits=[0,40], method="gdd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b", stop="2001-01-05",
+                          overwrite=True,  verbose=True)
+
+        D = tgis.open_old_stds("B", type="strds")
+
+        self.assertEqual(D.metadata.get_number_of_maps(), 4)
+        self.assertEqual(D.metadata.get_min_min(), 5)
+        self.assertEqual(D.metadata.get_max_max(), 70)
+        start, end = D.get_absolute_time()
+        self.assertEqual(start, datetime.datetime(2001, 1, 1))
+        self.assertEqual(end, datetime.datetime(2001, 1, 5))
+        self.assertEqual( D.check_temporal_topology(),  True)
+        self.assertEqual(D.get_granularity(),  u'1 day')
+
+    def test_count_suffix(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          limits=[0,40], method="gdd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b", stop="2001-01-05", suffix="num",
+                          overwrite=True,  verbose=True)
+        self.assertRasterExists('b_00001')
+        self.assertRasterDoesNotExist('b_2001_01_07')
+
+    def test_count3_suffix(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          limits=[0,40], method="gdd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b", stop="2001-01-05", suffix="num%03",
+                          overwrite=True,  verbose=True)
+        self.assertRasterExists('b_001')
+        self.assertRasterDoesNotExist('b_2001_01_07')
+
+    def test_time_suffix(self):
+        self.assertModule("t.rast.accumulate",  input="A", output="B",
+                          limits=[0,40], method="gdd",
+                          start="2001-01-01", cycle="7 days",
+                          basename="b", stop="2001-01-05", suffix="time",
+                          overwrite=True,  verbose=True)
+        self.assertRasterExists('b_2001_01_01T00_00_00')
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html b/temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html
index 624c0a5..07d5436 100644
--- a/temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html
+++ b/temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.html
@@ -362,5 +362,5 @@ name|mapset|start_time|end_time
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2016-01-15 00:20:43 +0100 (Fri, 15 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-14 15:19:40 -0800 (Thu, 14 Jan 2016) $</i>
 
diff --git a/temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py b/temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py
index a09ec68..7e147a9 100755
--- a/temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py
+++ b/temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py
@@ -48,6 +48,15 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: method
 #% type: string
 #% description: Aggregate operation to be performed on the raster maps
@@ -88,11 +97,6 @@
 #% description: Register Null maps
 #%end
 
-#%flag
-#% key: s
-#% description: Use start time - truncated according to granularity - as suffix (overrides offset option)
-#%end
-
 import grass.script as gcore
 import grass.temporal as tgis
 
@@ -112,7 +116,7 @@ def main():
     sampling = options["sampling"]
     offset = options["offset"]
     nprocs = options["nprocs"]
-    time_suffix = flags["s"]
+    time_suffix = options["suffix"]
     type = options["type"]
     
     topo_list = sampling.split(",")
diff --git a/temporal/t.rast.aggregate.ds/testsuite/test.t.rast.aggregate.ds.sh b/temporal/t.rast.aggregate.ds/testsuite/test.t.rast.aggregate.ds.sh
index 57afd78..14b69a6 100755
--- a/temporal/t.rast.aggregate.ds/testsuite/test.t.rast.aggregate.ds.sh
+++ b/temporal/t.rast.aggregate.ds/testsuite/test.t.rast.aggregate.ds.sh
@@ -43,7 +43,7 @@ t.info type=strds input=precip_abs2
 t.rast.list input=precip_abs2 method=deltagap
 
 t.rast.aggregate.ds --v input=precip_abs1 output=precip_abs2 base=prec_sum \
-    type=stvds sample=soil_abs1 method=sum sampling=contains -ns
+    type=stvds sample=soil_abs1 method=sum sampling=contains -n
 t.info type=strds input=precip_abs2
 t.rast.list input=precip_abs2 method=deltagap
 
diff --git a/temporal/t.rast.aggregate/t.rast.aggregate.html b/temporal/t.rast.aggregate/t.rast.aggregate.html
index eb6b52a..9821d3f 100644
--- a/temporal/t.rast.aggregate/t.rast.aggregate.html
+++ b/temporal/t.rast.aggregate/t.rast.aggregate.html
@@ -211,4 +211,4 @@ yearly_avg_temp_2004|climate|2004-01-01 00:00:00|2005-01-01 00:00:00
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2016-01-13 00:30:14 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-12 15:22:31 -0800 (Tue, 12 Jan 2016) $</i>
diff --git a/temporal/t.rast.aggregate/t.rast.aggregate.py b/temporal/t.rast.aggregate/t.rast.aggregate.py
index 75f9f99..df44f7c 100755
--- a/temporal/t.rast.aggregate/t.rast.aggregate.py
+++ b/temporal/t.rast.aggregate/t.rast.aggregate.py
@@ -39,6 +39,15 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: granularity
 #% type: string
 #% description: Aggregation granularity, format absolute time "x years, x months, x weeks, x days, x hours, x minutes, x seconds" or an integer value for relative time
@@ -74,6 +83,15 @@
 #% answer: 1
 #%end
 
+#%option
+#% key: file_limit
+#% type: integer
+#% description: The maximum number of open files allowed for each r.series process
+#% required: no
+#% multiple: no
+#% answer: 1000
+#%end
+
 #%option G_OPT_T_SAMPLE
 #% options: equal,overlaps,overlapped,starts,started,finishes,finished,during,contains
 #% answer: contains
@@ -87,11 +105,6 @@
 #% description: Register Null maps
 #%end
 
-#%flag
-#% key: s
-#% description: Use start time - truncated according to granularity - as suffix (overrides offset option)
-#%end
-
 import grass.script as gcore
 import grass.temporal as tgis
 
@@ -110,7 +123,8 @@ def main():
     sampling = options["sampling"]
     offset = options["offset"]
     nprocs = options["nprocs"]
-    time_suffix = flags["s"]
+    file_limit = options["file_limit"]
+    time_suffix = options["suffix"]
 
     topo_list = sampling.split(",")
 
@@ -171,7 +185,7 @@ def main():
                                                                        map_list=map_list,
                                                                        topo_list=topo_list,  basename=base, time_suffix=time_suffix,
                                                                        offset=offset,  method=method,  nprocs=nprocs,  spatial=None,
-                                                                       overwrite=gcore.overwrite())
+                                                                       overwrite=gcore.overwrite(), file_limit=file_limit)
 
     if output_list:
         temporal_type, semantic_type, title, description = sp.get_initial_values()
diff --git a/temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py b/temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py
index 62e9dcf..6a016ff 100644
--- a/temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py
+++ b/temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py
@@ -22,42 +22,42 @@ class TestAggregationAbsolute(TestCase):
         os.putenv("GRASS_OVERWRITE",  "1")
         tgis.init()
         cls.use_temp_region()
-        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,
                       t=50,  res=10,  res3=10)
-        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
-        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
-        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
-        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
-        cls.runModule("r.mapcalc", expression="a5 = 500",  overwrite=True)
-        cls.runModule("r.mapcalc", expression="a6 = 600",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a1 = 100.0",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200.0",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300.0",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400.0",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a5 = 500.0",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a6 = 600.0",  overwrite=True)
         cls.runModule("r.mapcalc", expression="a7 = null()",  overwrite=True)
 
-        cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
-                                    output="A",  title="A test",  
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",
+                                    output="A",  title="A test",
                                     description="A test",  overwrite=True)
 
-        cls.runModule("t.register", flags="i",  type="raster",  input="A",  
+        cls.runModule("t.register", flags="i",  type="raster",  input="A",
                                      maps="a1,a2,a3,a4,a5,a6,a7",
-                                     start="2001-01-15 12:05:45", 
-                                     increment="14 days",  
+                                     start="2001-01-15 12:05:45",
+                                     increment="14 days",
                                      overwrite=True)
     @classmethod
     def tearDownClass(cls):
         """Remove the temporary region
         """
-        cls.del_temp_region()        
+        cls.del_temp_region()
         cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
 
     def tearDown(self):
-        """Remove generated data"""    
+        """Remove generated data"""
         self.runModule("t.remove", flags="rf", type="strds", inputs="B")
-        
+
     def test_disaggregation(self):
         """Disaggregation with empty maps"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
-                          basename="b", granularity="2 days", 
+                          basename="b", granularity="2 days",
                           method="average",
-                          sampling=["overlaps","overlapped","during"], 
+                          sampling=["overlaps","overlapped","during"],
                           nprocs=2, flags="n")
 
         tinfo_string="""start_time=2001-01-15 00:00:00
@@ -74,15 +74,15 @@ class TestAggregationAbsolute(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
     def test_aggregation_1month(self):
         """Aggregation one month"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
                           basename="b", granularity="1 months",
-                          method="maximum", sampling=["contains"], 
-                          nprocs=3, flags="s")
+                          method="maximum", sampling=["contains"],
+                          file_limit=0, nprocs=3)
 
         tinfo_string="""start_time=2001-01-01 00:00:00
                         end_time=2001-04-01 00:00:00
@@ -98,24 +98,32 @@ class TestAggregationAbsolute(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
         # Check the map names are correct
-        lister = SimpleModule("t.rast.list", input="B", columns="name", 
+        lister = SimpleModule("t.rast.list", input="B", columns="name",
                               flags="s")
         self.runModule(lister)
         #print lister.outputs.stdout
         maps="b_2001_01" + os.linesep + "b_2001_02" + os.linesep + \
              "b_2001_03" + os.linesep
         self.assertEqual(maps, lister.outputs.stdout)
-        
+
+    def test_aggregation_1month_time(self):
+        """Aggregation one month time suffix"""
+        self.assertModule("t.rast.aggregate", input="A", output="B",
+                          basename="b", granularity="1 months",
+                          method="maximum", sampling=["contains"],
+                          file_limit=0, nprocs=3, suffix='time')
+        self.assertRasterExists('b_2001_01_01T00_00_00')
+
     def test_aggregation_2months(self):
         """Aggregation two month"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
                           basename="b", granularity="2 months",
-                          method="minimum", sampling=["contains"], 
-                          nprocs=4, offset=10)
+                          method="minimum", sampling=["contains"],
+                          nprocs=4, offset=10, suffix='num%02')
 
         tinfo_string="""start_time=2001-01-01 00:00:00
                         end_time=2001-05-01 00:00:00
@@ -131,23 +139,24 @@ class TestAggregationAbsolute(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
         # Check the map names are correct
-        lister = SimpleModule("t.rast.list", input="B", columns="name", 
+        lister = SimpleModule("t.rast.list", input="B", columns="name",
                               flags="s")
         self.runModule(lister)
         #print lister.outputs.stdout
-        maps="b_11" + os.linesep + "b_12" + os.linesep 
+        maps="b_11" + os.linesep + "b_12" + os.linesep
         self.assertEqual(maps, lister.outputs.stdout)
 
     def test_aggregation_3months(self):
         """Aggregation three month"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
                           basename="b", granularity="3 months",
-                          method="sum", sampling=["contains"], 
-                          nprocs=9, offset=100)
+                          method="sum", sampling=["contains"],
+                          file_limit=0, nprocs=9, offset=100,
+                          suffix='num%03')
 
         tinfo_string="""start_time=2001-01-01 00:00:00
                         end_time=2001-04-01 00:00:00
@@ -163,15 +172,15 @@ class TestAggregationAbsolute(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
         # Check the map names are correct
-        lister = SimpleModule("t.rast.list", input="B", columns="name", 
+        lister = SimpleModule("t.rast.list", input="B", columns="name",
                               flags="s")
         self.runModule(lister)
         #print lister.outputs.stdout
-        maps="b_101" + os.linesep 
+        maps="b_101" + os.linesep
         self.assertEqual(maps, lister.outputs.stdout)
 
 if __name__ == '__main__':
diff --git a/temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py b/temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py
index b7326c6..e5a9c53 100644
--- a/temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py
+++ b/temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py
@@ -23,41 +23,41 @@ class TestAggregationAbsoluteParallel(TestCase):
         os.putenv("GRASS_OVERWRITE",  "1")
         tgis.init()
         cls.use_temp_region()
-        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,
                       t=50,  res=10,  res3=10)
-                      
+
         name_list =  []
         for i in range(540):
             cls.runModule("r.mapcalc", expression="a%i = %i"%(i + 1, i + 1),  overwrite=True)
             name_list.append("a%i"%(i + 1))
 
-        cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
-                                    output="A",  title="A test",  
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",
+                                    output="A",  title="A test",
                                     description="A test",  overwrite=True)
 
-        cls.runModule("t.register", flags="i",  type="raster",  input="A",  
+        cls.runModule("t.register", flags="i",  type="raster",  input="A",
                                      maps=name_list,
-                                     start="2001-01-01", 
-                                     increment="4 hours",  
+                                     start="2001-01-01",
+                                     increment="4 hours",
                                      overwrite=True)
 
     @classmethod
     def tearDownClass(cls):
         """Remove the temporary region
         """
-        cls.del_temp_region()        
+        cls.del_temp_region()
         cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
 
     def tearDown(self):
-        """Remove generated data"""    
+        """Remove generated data"""
         self.runModule("t.remove", flags="rf", type="strds", inputs="B")
 
     def test_aggregation_12hours(self):
         """Aggregation one month"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
                           basename="b", granularity="12 hours",
-                          method="sum", sampling=["contains"], 
-                          nprocs=9, flags="s")
+                          method="sum", sampling=["contains"],
+                          nprocs=9, file_limit=2)
 
         tinfo_string="""start_time=2001-01-01 00:00:00
                         end_time=2001-04-01 00:00:00
@@ -73,7 +73,7 @@ class TestAggregationAbsoluteParallel(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
     def test_aggregation_1day_4procs(self):
@@ -81,10 +81,10 @@ class TestAggregationAbsoluteParallel(TestCase):
         start = datetime.now()
         self.assertModule("t.rast.aggregate", input="A", output="B",
                           basename="b", granularity="1 day",
-                          method="sum", sampling=["contains"], 
-                          nprocs=4, flags="s")
+                          method="sum", sampling=["contains"],
+                          nprocs=4)
         end = datetime.now()
-        
+
         delta = end - start
         print "test_aggregation_1day_4procs:",  delta.total_seconds()
 
@@ -98,7 +98,7 @@ class TestAggregationAbsoluteParallel(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
     def test_aggregation_1day_3procs(self):
@@ -106,10 +106,10 @@ class TestAggregationAbsoluteParallel(TestCase):
         start = datetime.now()
         self.assertModule("t.rast.aggregate", input="A", output="B",
                           basename="b", granularity="1 day",
-                          method="sum", sampling=["contains"], 
-                          nprocs=3, flags="s")
+                          method="sum", sampling=["contains"],
+                          nprocs=3)
         end = datetime.now()
-        
+
         delta = end - start
         print "test_aggregation_1day_3procs:",  delta.total_seconds()
 
@@ -125,10 +125,10 @@ class TestAggregationAbsoluteParallel(TestCase):
                         max_min=21.0
                         max_max=3225.0"""
 
-        info = SimpleModule("t.info", flags="g", input="B")
+        info = SimpleModule("t.info", input="B", flags="g")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
     def test_aggregation_1day_2procs(self):
@@ -136,10 +136,10 @@ class TestAggregationAbsoluteParallel(TestCase):
         start = datetime.now()
         self.assertModule("t.rast.aggregate", input="A", output="B",
                           basename="b", granularity="1 day",
-                          method="sum", sampling=["contains"], 
-                          nprocs=2, flags="s")
+                          method="sum", sampling=["contains"],
+                          nprocs=2)
         end = datetime.now()
-        
+
         delta = end - start
         print "test_aggregation_1day_2procs:",  delta.total_seconds()
 
@@ -158,7 +158,7 @@ class TestAggregationAbsoluteParallel(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 if __name__ == '__main__':
     from grass.gunittest.main import test
diff --git a/temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py b/temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py
index b07366e..b681934 100644
--- a/temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py
+++ b/temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py
@@ -22,7 +22,7 @@ class TestAggregationRelative(TestCase):
         os.putenv("GRASS_OVERWRITE",  "1")
         tgis.init()
         cls.use_temp_region()
-        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,
                       t=50,  res=10,  res3=10)
         cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
         cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
@@ -32,32 +32,32 @@ class TestAggregationRelative(TestCase):
         cls.runModule("r.mapcalc", expression="a6 = 600",  overwrite=True)
         cls.runModule("r.mapcalc", expression="a7 = null()",  overwrite=True)
 
-        cls.runModule("t.create",  type="strds",  temporaltype="relative",  
-                                    output="A",  title="A test",  
+        cls.runModule("t.create",  type="strds",  temporaltype="relative",
+                                    output="A",  title="A test",
                                     description="A test",  overwrite=True)
 
-        cls.runModule("t.register", flags="i",  type="raster",  input="A",  
+        cls.runModule("t.register", flags="i",  type="raster",  input="A",
                                      maps="a1,a2,a3,a4,a5,a6,a7",
-                                     start=0, unit="days", increment=3, 
+                                     start=0, unit="days", increment=3,
                                      overwrite=True)
     @classmethod
     def tearDownClass(cls):
         """Remove the temporary region
         """
-        cls.del_temp_region()        
+        cls.del_temp_region()
         cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
 
     def tearDown(self):
-        """Remove generated data"""    
+        """Remove generated data"""
         self.runModule("t.remove", flags="rf", type="strds", inputs="B")
 
     def test_1(self):
         """Simple test"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
-                          basename="b", granularity=6, 
-                          method="average",
-                          sampling=["overlaps","overlapped","contains"], 
-                          nprocs=2)
+                          basename="b", granularity=6,
+                          method="average", file_limit=0,
+                          sampling=["overlaps","overlapped","contains"],
+                          nprocs=2, verbose=True)
 
         tinfo_string="""start_time=0
                         end_time=18
@@ -74,16 +74,16 @@ class TestAggregationRelative(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
     def test_2(self):
         """Simple test register null maps"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
-                          basename="b", granularity=9, 
+                          basename="b", granularity=9,
                           method="maximum",
-                          sampling=["contains"], 
-                          nprocs=4, flags="n")
+                          sampling=["contains"],
+                          nprocs=4, flags="n", verbose=True)
 
         tinfo_string="""semantic_type=mean
                         start_time=0
@@ -101,16 +101,16 @@ class TestAggregationRelative(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
     def test_3(self):
         """Simple test"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
-                          basename="b", granularity=9, 
+                          basename="b", granularity=9,
                           method="maximum",
-                          sampling=["contains"], 
-                          nprocs=4)
+                          sampling=["contains"],
+                          nprocs=4, verbose=True)
 
         tinfo_string="""semantic_type=mean
                         start_time=0
@@ -128,16 +128,16 @@ class TestAggregationRelative(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
     def test_4(self):
         """Simple test"""
         self.assertModule("t.rast.aggregate", input="A", output="B",
-                          basename="b", granularity=21, 
+                          basename="b", granularity=21,
                           method="average",
                           sampling=["contains"],
-                          nprocs=4)
+                          nprocs=4, verbose=True)
 
         tinfo_string="""semantic_type=mean
                         start_time=0
@@ -155,7 +155,7 @@ class TestAggregationRelative(TestCase):
         info = SimpleModule("t.info", flags="g", input="B")
         #info.run()
         #print info.outputs.stdout
-        self.assertModuleKeyValue(module=info, reference=tinfo_string, 
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
                                   precision=2, sep="=")
 
 if __name__ == '__main__':
diff --git a/temporal/t.rast.algebra/t.rast.algebra.html b/temporal/t.rast.algebra/t.rast.algebra.html
index 159d40e..87d33cf 100644
--- a/temporal/t.rast.algebra/t.rast.algebra.html
+++ b/temporal/t.rast.algebra/t.rast.algebra.html
@@ -484,5 +484,5 @@ C = if({equal}, B {#,contain} A > 1, (B {+,contain,l} A {-,equal,l} B) {equal,=/
 
 Thomas Leppelt, Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2016-01-13 00:30:14 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-12 15:28:48 -0800 (Tue, 12 Jan 2016) $</i>
 
diff --git a/temporal/t.rast.algebra/testsuite/test_raster_algebra.py b/temporal/t.rast.algebra/testsuite/test_raster_algebra.py
index d6533c5..ca6e020 100644
--- a/temporal/t.rast.algebra/testsuite/test_raster_algebra.py
+++ b/temporal/t.rast.algebra/testsuite/test_raster_algebra.py
@@ -9,11 +9,12 @@ for details.
 
 import datetime
 import os
-import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTRastAlgebra(gunittest.TestCase):
+
+class TestTRastAlgebra(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -56,7 +57,7 @@ class TestTRastAlgebra(gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="raster", name="D", maps="d1,d2,d3",
                                                  start="2001-01-03", increment="1 day", interval=True)                                                 
         tgis.register_maps_in_space_time_dataset(type="raster", name=None,  maps="singletmap", 
-                                                start="2001-01-03", end="2001-01-04", interval=True)
+                                                start="2001-01-03", end="2001-01-04")
         
     def tearDown(self):
         self.runModule("t.remove", flags="rf", inputs="R", quiet=True)
@@ -690,5 +691,6 @@ class TestTRastAlgebra(gunittest.TestCase):
         self.assertEqual( D.check_temporal_topology(),  True)
         self.assertEqual(D.get_granularity(),  u'1 day')
 
+
 if __name__ == '__main__':
-    gunittest.test()
+    test()
diff --git a/temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py b/temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py
index 0594082..9a1abd9 100644
--- a/temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py
+++ b/temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py
@@ -7,13 +7,11 @@ for details.
 :authors: Soeren Gebbert
 """
 
-import datetime
-import os
-import grass.script
-import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTRastAlgebraFails(gunittest.TestCase):
+
+class TestTRastAlgebraFails(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -40,5 +38,6 @@ class TestTRastAlgebraFails(gunittest.TestCase):
         # Catch temporal algebra expressions that are prohibited in the raster algebra
         self.assertModuleFail("t.rast.algebra",  expression="R = strds(A) + strds(B)", basename="r")
 
+
 if __name__ == '__main__':
-    gunittest.test()
+    test()
diff --git a/temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py b/temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py
index ec35a7d..aaf77fb 100644
--- a/temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py
+++ b/temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py
@@ -9,11 +9,12 @@ for details.
 
 import datetime
 import os
-import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTRastAlgebraGranularity(gunittest.TestCase):
+
+class TestTRastAlgebraGranularity(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -61,7 +62,7 @@ class TestTRastAlgebraGranularity(gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="raster", name="D", maps="d3",
                                                  start="2001-05-01", increment="5 days", interval=True)
         tgis.register_maps_in_space_time_dataset(type="raster", name=None,  maps="singletmap", 
-                                                start="2001-03-01", end="2001-04-01", interval=True)
+                                                start="2001-03-01", end="2001-04-01")
         
     def tearDown(self):
         self.runModule("t.remove", flags="rf", inputs="R", quiet=True)
@@ -223,5 +224,6 @@ class TestTRastAlgebraGranularity(gunittest.TestCase):
         self.assertEqual( D.check_temporal_topology(),  True)
         self.assertEqual(D.get_granularity(),  u'1 month')
 
+
 if __name__ == '__main__':
-    gunittest.test()
+    test()
diff --git a/temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py b/temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py
index c5ac8b6..9b23a25 100644
--- a/temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py
+++ b/temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py
@@ -7,13 +7,13 @@ for details.
 :authors: Soeren Gebbert and Thomas Leppelt
 """
 
-import datetime
 import os
-import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTRastAlgebraGranularityFails(gunittest.TestCase):
+
+class TestTRastAlgebraGranularityFails(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -33,9 +33,9 @@ class TestTRastAlgebraGranularityFails(gunittest.TestCase):
                                          title="A", descr="A", semantic="field", overwrite=True)
 
         tgis.register_maps_in_space_time_dataset(type="raster", name="A",  maps="a1", 
-                                                start="2001-02-01", end="2001-04-01", interval=True)
+                                                start="2001-02-01", end="2001-04-01")
         tgis.register_maps_in_space_time_dataset(type="raster", name="A",  maps="a2", 
-                                                start="2001-03-01", end="2001-05-01", interval=True)
+                                                start="2001-03-01", end="2001-05-01")
         
     @classmethod
     def tearDownClass(cls):
@@ -59,5 +59,6 @@ class TestTRastAlgebraGranularityFails(gunittest.TestCase):
         # Invalid temporal topology
         self.assertModuleFail("t.rast.algebra", flags="g",  expression="R = A + A", basename="r")
 
+
 if __name__ == '__main__':
-    gunittest.test()
+    test()
diff --git a/temporal/t.rast.colors/t.rast.colors.html b/temporal/t.rast.colors/t.rast.colors.html
index 3311c1f..2b9d781 100644
--- a/temporal/t.rast.colors/t.rast.colors.html
+++ b/temporal/t.rast.colors/t.rast.colors.html
@@ -66,5 +66,5 @@ default 255:255:255
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-25 09:55:23 -0800 (Sun, 25 Jan 2015) $</i>
 
diff --git a/temporal/t.rast.contour/Makefile b/temporal/t.rast.contour/Makefile
new file mode 100644
index 0000000..7089394
--- /dev/null
+++ b/temporal/t.rast.contour/Makefile
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../../
+
+PGM = t.rast.contour
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script $(TEST_DST)
diff --git a/temporal/t.rast.contour/t.rast.contour.html b/temporal/t.rast.contour/t.rast.contour.html
new file mode 100644
index 0000000..fa25579
--- /dev/null
+++ b/temporal/t.rast.contour/t.rast.contour.html
@@ -0,0 +1,43 @@
+<h2>DESCRIPTION</h2>
+
+<em>t.rast.contour</em> is designed to produce a space time vector dataset of 
+specified contours from a space time raster dataset. This module works as a front-end to
+<a href="r.contour.html">r.contour</a> and therefore supports all parameter
+of this module. Hence, all raster map layers in a space time raster dataset
+are successively passed to <a href="r.contour.html">r.contour</a> that computes 
+the contour lines. 
+Please refer to the <a href="r.contour.html">r.contour</a> documentation 
+for a detailed description.
+The new generated vector contour map
+layers will be registered in the output space time vector dataset, using 
+the same time stamps as their raster map layer origins.
+<p>
+This module supports the parallel processing of <a href="r.contour.html">r.contour</a>
+module instances. The number of parallel processes 
+can be set with the <em>nprocs</em> option. 
+However, this will only work in conjunction with the <em>-t</em>
+flag, that avoids the creation of attribute tables. 
+The parallel creation of attribute tables is not supported.
+<p>
+The <em>where</em> option allows selecting subsets of the input space time raster
+dataset.
+<p>
+The flag <em>-n</em> can be used to force the registration of empty 
+vector map layers. Empty vector maps may occur in case that empty 
+raster map layers should be converted into vector map layers, or in case the
+chosen steps or contour levels are not present in the raster map layers.
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="r.contour.html">r.contour</a>,
+<a href="t.vect.db.select.html">t.rast.db.select</a>,
+<a href="t.info.html">t.info</a>
+</em>
+
+
+<h2>AUTHOR</h2>
+
+Sören Gebbert, Geoinformatikbüro Dassau
+
+<p><i>Last changed: $Date: 2015-09-05 09:13:18 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/temporal/t.rast.contour/t.rast.contour.py b/temporal/t.rast.contour/t.rast.contour.py
new file mode 100755
index 0000000..3ca481e
--- /dev/null
+++ b/temporal/t.rast.contour/t.rast.contour.py
@@ -0,0 +1,284 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+############################################################################
+#
+# MODULE:       t.rast.contour
+# AUTHOR(S):    Soeren Gebbert
+#
+# PURPOSE:      Produces a space time vector dataset of specified contours from a space time raster dataset.
+#
+# COPYRIGHT:    (C) 2015 by the GRASS Development Team
+#
+#               This program is free software under the GNU General Public
+#               License (version 2). Read the file COPYING that comes with GRASS
+#               for details.
+#
+#############################################################################
+
+#%module
+#% description: Produces a space time vector dataset of specified contours from a space time raster dataset.
+#% keyword: temporal
+#% keyword: contour
+#% keyword: raster
+#% keyword: vector
+#% keyword: time
+#%end
+
+#%option G_OPT_STRDS_INPUT
+#%end
+
+#%option G_OPT_STVDS_OUTPUT
+#%end
+
+#%option G_OPT_T_WHERE
+#%end
+
+#%option
+#% key: basename
+#% type: string
+#% label: Basename of the new generated output maps
+#% description: A numerical suffix separated by an underscore will be attached to create a unique identifier
+#% required: yes
+#% multiple: no
+#%end
+
+#%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
+#% key: step
+#% type: double
+#% description: Increment between contour levels
+#% required: no
+#% multiple: no
+#%end
+
+#%option
+#% key: levels
+#% type: double
+#% description: List of contour levels
+#% required: no
+#% multiple: yes
+#%end
+
+#%option
+#% key: minlevel
+#% type:  double
+#% description: Minimum contour level
+#% required: no
+#% multiple: no
+#%end
+
+#%option
+#% key: maxlevel
+#% type: double
+#% description: Maximum contour level
+#% required: no
+#% multiple: no
+#%end
+
+#%option
+#% key: cut
+#% type: integer
+#% description: Minimum number of points for a contour line (0 -> no limit)
+#% required: no
+#% multiple: no
+#% answer: 0
+#%end
+
+#%option
+#% key: nprocs
+#% type: integer
+#% description: Number of r.contour processes to run in parallel, more than 1 process works only in conjunction with flag -t
+#% required: no
+#% multiple: no
+#% answer: 1
+#%end
+
+#%flag
+#% key: n
+#% description: Register empty vector maps
+#%end
+
+#%flag
+#% key: t
+#% description: Do not create attribute tables
+#%end
+
+import sys
+import copy
+import grass.script as gscript
+import grass.temporal as tgis
+import grass.pygrass.modules as pymod
+from grass.exceptions import FatalError
+
+
+############################################################################
+
+def main(options, flags):
+
+    # Get the options
+    input = options["input"]
+    output = options["output"]
+    where = options["where"]
+    base = options["basename"]
+    nprocs = int(options["nprocs"])
+    step = options["step"]
+    levels = options["levels"]
+    minlevel = options["minlevel"]
+    maxlevel = options["maxlevel"]
+    cut = options["cut"]
+    time_suffix = options["suffix"]
+
+    register_null = flags["n"]
+    t_flag = flags["t"]
+
+
+    # Make sure the temporal database exists
+    tgis.init()
+    # We need a database interface
+    dbif = tgis.SQLDatabaseInterfaceConnection()
+    dbif.connect()
+
+    overwrite = gscript.overwrite()
+
+    sp = tgis.open_old_stds(input, "strds", dbif)
+    maps = sp.get_registered_maps_as_objects(where=where, dbif=dbif)
+
+    if not maps:
+        dbif.close()
+        gscript.warning(_("Space time raster dataset <%s> is empty") % sp.get_id())
+        return
+
+    # Check the new stvds
+    new_sp = tgis.check_new_stds(output, "stvds", dbif=dbif,
+                                 overwrite=overwrite)
+
+    # Setup the flags
+    flags = ""
+    if t_flag is True:
+        flags += "t"
+
+    # Configure the r.to.vect module
+    contour_module = pymod.Module("r.contour", input="dummy",
+                                   output="dummy", run_=False,
+                                   finish_=False, flags=flags,
+                                   overwrite=overwrite,
+                                   quiet=True)
+
+    if step:
+        contour_module.inputs.step = float(step)
+    if minlevel:
+        contour_module.inputs.minlevel = float(minlevel)
+    if maxlevel:
+        contour_module.inputs.maxlevel = float(maxlevel)
+    if levels:
+        contour_module.inputs.levels = levels.split(",")
+    if cut:
+        contour_module.inputs.cut = int(cut)
+
+    # The module queue for parallel execution, except if attribute tables should
+    # be created. Then force single process use
+    if t_flag is False:
+        if nprocs > 1:
+            nprocs = 1
+            gscript.warning(_("The number of parellel r.contour processes was "\
+                              "reduced to 1 because of the table attribute "\
+                              "creation"))
+    process_queue = pymod.ParallelModuleQueue(int(nprocs))
+
+    count = 0
+    num_maps = len(maps)
+    new_maps = []
+
+    # run r.to.vect all selected maps
+    for map in maps:
+        count += 1
+
+        if sp.get_temporal_type() == 'absolute' and time_suffix == 'gran':
+            suffix = tgis.create_suffix_from_datetime(map.temporal_extent.get_start_time(),
+                                                      sp.get_granularity())
+            map_name = "{ba}_{su}".format(ba=base, su=suffix)
+        elif sp.get_temporal_type() == 'absolute' and time_suffix == 'time':
+            suffix = tgis.create_time_suffix(map)
+            map_name = "{ba}_{su}".format(ba=base, su=suffix)
+        else:
+            map_name = tgis.create_numeric_suffic(base, count, time_suffix)
+        new_map = tgis.open_new_map_dataset(map_name, None, type="vector",
+                                            temporal_extent=map.get_temporal_extent(),
+                                            overwrite=overwrite, dbif=dbif)
+        new_maps.append(new_map)
+
+        mod = copy.deepcopy(contour_module)
+        mod(input=map.get_id(), output=new_map.get_id())
+        sys.stderr.write(mod.get_bash() + "\n")
+        process_queue.put(mod)
+
+        if count%10 == 0:
+            gscript.percent(count, num_maps, 1)
+
+    # Wait for unfinished processes
+    process_queue.wait()
+
+    # Open the new space time vector dataset
+    ttype, stype, title, descr = sp.get_initial_values()
+    new_sp = tgis.open_new_stds(output, "stvds", ttype, title,
+                                descr, stype, dbif, overwrite)
+    # collect empty maps to remove them
+    num_maps = len(new_maps)
+    empty_maps = []
+
+    # Register the maps in the database
+    count = 0
+    for map in new_maps:
+        count += 1
+
+        if count%10 == 0:
+            gscript.percent(count, num_maps, 1)
+
+        # Do not register empty maps
+        try:
+            if map.load() is not True:
+                continue
+        except FatalError:
+            continue
+        if map.metadata.get_number_of_primitives() == 0:
+            if not register_null:
+                empty_maps.append(map)
+                continue
+
+        # Insert map in temporal database
+        map.insert(dbif)
+        new_sp.register_map(map, dbif)
+
+    # Update the spatio-temporal extent and the metadata table entries
+    new_sp.update_from_registered_maps(dbif)
+    gscript.percent(1, 1, 1)
+
+    # Remove empty maps
+    if len(empty_maps) > 0:
+        names = ""
+        count = 0
+        for map in empty_maps:
+            if count == 0:
+                count += 1
+                names += "%s" % (map.get_name())
+            else:
+                names += ",%s" % (map.get_name())
+
+        gscript.run_command("g.remove", flags='f', type='vector', name=names,
+                            quiet=True)
+
+    dbif.close()
+
+############################################################################
+
+if __name__ == "__main__":
+    options, flags = gscript.parser()
+    main(options, flags)
diff --git a/temporal/t.rast.contour/testsuite/test_convert.py b/temporal/t.rast.contour/testsuite/test_convert.py
new file mode 100644
index 0000000..08f6c8b
--- /dev/null
+++ b/temporal/t.rast.contour/testsuite/test_convert.py
@@ -0,0 +1,246 @@
+"""Test t.rast.contour
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Soeren Gebbert
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+
+class TestRasterContour(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        cls.use_temp_region()
+        cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0, t=50, res=10, res3=10)
+
+        cls.runModule("r.mapcalc", expression="a_1 = row()", overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_2 = col()", overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_3 = row()", overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_4 = col()", overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_5 = null()", overwrite=True)
+
+        cls.runModule("t.create", type="strds", temporaltype="absolute",
+                                 output="A", title="A test", description="A test",
+                                 overwrite=True)
+        cls.runModule("t.register",  flags="i", type="raster", input="A",
+                                     maps="a_1,a_2,a_3,a_4,a_5", start="2001-01-01",
+                                     increment="3 months", overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.runModule("t.remove", flags="rf", type="strds",
+                                   inputs="A")
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove generated data"""
+        self.runModule("t.remove", flags="rf", type="stvds",
+                                   inputs="result")
+
+    def test_register_empty_maps(self):
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          levels=(1,2,3,4,5,6,7,8), flags="n",
+                          basename="test",
+                          nprocs=1, overwrite=True, verbose=True)
+
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                        end_time=2002-04-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=5
+                        lines=28
+                        primitives=28
+                        nodes=56"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_simple(self):
+        """Do not register empty maps"""
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          levels=(1,2,3,4,5,6,7,8),
+                          basename="test",
+                          nprocs=1, overwrite=True, verbose=True)
+
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                        end_time=2002-01-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=4
+                        lines=28
+                        primitives=28
+                        nodes=56"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_where(self):
+        """Use where statement and do not register empty maps"""
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          levels=(1,2,3,4,5,6,7,8),
+                          basename="test",
+                          where="start_time > '2001-02-01'",
+                          nprocs=1, overwrite=True, verbose=True)
+
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+
+        tinfo_string="""start_time=2001-04-01 00:00:00
+                        end_time=2002-01-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=3
+                        lines=21
+                        primitives=21
+                        nodes=42"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_parallel(self):
+        """Run 4 contour processes do not create attribute tables"""
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          levels=(1,2,3,4,5,6,7,8),
+                          basename="test", flags="t",
+                          nprocs=4, overwrite=True, verbose=True)
+
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                        end_time=2002-01-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=4
+                        lines=28
+                        primitives=28
+                        nodes=56"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_parallel_cut(self):
+        """Do not register empty maps"""
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          levels=(1,2,3,4,5,6,7,8), cut=2,
+                          basename="test", flags="t",
+                          nprocs=4, overwrite=True, verbose=True)
+
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                        end_time=2002-01-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=4
+                        lines=28
+                        primitives=28
+                        nodes=56"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_where_step(self):
+        """Use where statement and do not register empty maps"""
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          step=1, minlevel=1, maxlevel=8,
+                          basename="test",
+                          where="start_time > '2001-02-01'",
+                          nprocs=1, overwrite=True, verbose=True)
+
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+
+        tinfo_string="""start_time=2001-04-01 00:00:00
+                        end_time=2002-01-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=3
+                        lines=21
+                        primitives=21
+                        nodes=42"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+
+    def test_suffix_num(self):
+        """Test the -s flag"""
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          step=1, minlevel=1, maxlevel=8,
+                          basename="time", suffix='num%03',
+                          where="start_time > '2001-02-01'",
+                          nprocs=1, overwrite=True, verbose=True)
+
+        self.assertVectorExists('time_001')
+        self.assertVectorDoesNotExist('time_00005')
+        self.assertVectorDoesNotExist('time_2001_07')
+
+    def test_suffix_time(self):
+        """Test the -s flag"""
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          step=1, minlevel=1, maxlevel=8,
+                          basename="time", suffix='time',
+                          where="start_time > '2001-02-01'",
+                          nprocs=1, overwrite=True, verbose=True)
+
+        self.assertVectorExists('time_2001_07_01T00_00_00')
+        self.assertVectorDoesNotExist('time_00005')
+        self.assertVectorDoesNotExist('time_2001_07')
+
+
+class TestRasterContourFails(TestCase):
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        cls.use_temp_region()
+        cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0, t=50, res=10, res3=10)
+
+        cls.runModule("r.mapcalc", expression="a_1 = 100", overwrite=True)
+
+        cls.runModule("t.create",  type="strds", temporaltype="absolute",
+                                 output="A", title="A test", description="A test",
+                                 overwrite=True)
+        cls.runModule("t.register",  flags="i", type="raster", input="A",
+                                     maps="a_1", start="2001-01-01",
+                                     increment="3 months", overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.runModule("t.remove", flags="rf", type="strds",
+                      inputs="A")
+        cls.del_temp_region()
+
+    def test_error_handling(self):
+        # No basename
+        self.assertModuleFail("t.rast.contour", input="A", output="result",
+                              step=1, minlevel=1, maxlevel=8,
+                              where="start_time > '2001-02-01'",
+                              nprocs=1, overwrite=True, verbose=True)
+
+
+    def test_empty_strds(self):
+        """Test for empty strds"""
+        self.assertModule("t.rast.contour", input="A", output="result",
+                          basename="test",
+                          step=1, minlevel=1, maxlevel=8,
+                          where="start_time > '2010-01-01'",
+                          nprocs=1, overwrite=True, verbose=True)
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.rast.export/t.rast.export.html b/temporal/t.rast.export/t.rast.export.html
index 5b695c4..dfb2b96 100644
--- a/temporal/t.rast.export/t.rast.export.html
+++ b/temporal/t.rast.export/t.rast.export.html
@@ -15,12 +15,22 @@ the space time raster dataset was exported from. The file "readme.txt"
 describes the file format. The output of <em>r.info</em> is stored in
 "metadata.txt".
 <p>
+
 The tar archive can be compressed using the <b>compress</b> option. Gzip
 and bzip2 (default) are available. A <b>where</b> option can be specified,
 to export only a subset of the space time dataset. Archives exported
 with <em>t.rast.export</em> can be imported with
 <em><a href="t.vect.import.html">t.rast.import</a></em>.
 
+<h2>NOTES</h2>
+The name of output file has to specify the suffix of the archive, the
+following suffix has to be added:
+<ul>
+<li><b>.tar</b> in the case of <b>compress=no</b></li>
+<li><b>.tar.bzip2</b> in the case of <b>compress=bzip2</b></li>
+<li><b>.tar.gzip</b> in the case of <b>compress=gzip</b></li>
+</ul> 
+
 <h2>EXAMPLE</h2>
 
 In this example, all the maps of 2012 of "tempmean_monthly" will be exported:
@@ -29,7 +39,7 @@ In this example, all the maps of 2012 of "tempmean_monthly" will be exported:
 t.rast.export input=tempmean_monthly output=tempmean_monthly.tar.bzip2 \
               where="start_time >= '2012-01-01' and start_time < '2013-01-01'"
 
-tar xvf precipitation_daily.tar
+tar xvjf precipitation_daily.tar.bzip2
 
 2012_01_tempmean.tif
 2012_01_tempmean.color
@@ -133,4 +143,4 @@ Files:
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-10-06 17:26:07 +0200 (Tue, 06 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-26 10:01:22 -0800 (Fri, 26 Feb 2016) $</i>
diff --git a/temporal/t.rast.export/t.rast.export.py b/temporal/t.rast.export/t.rast.export.py
index c92da7a..59670b0 100755
--- a/temporal/t.rast.export/t.rast.export.py
+++ b/temporal/t.rast.export/t.rast.export.py
@@ -57,6 +57,16 @@
 #% answer: GTiff
 #%end
 
+#%option
+#% key: type
+#% type: string
+#% label: Data type
+#% description: Supported only for GTiff
+#% required: no
+#% multiple: no
+#% options: Byte,Int16,UInt16,Int32,UInt32,Float32,Float64,CInt16,CInt32,CFloat32,CFloat64
+#%end
+
 #%option G_OPT_T_WHERE
 #%end
 
@@ -74,12 +84,15 @@ def main():
     directory = options["directory"]
     where = options["where"]
     _format = options["format"]
+    _type = options["type"]
 
+    if _type and _format in ["pack", "AAIGrid"]:
+        grass.warning(_("Type options is not working with pack format, it will be skipped"))
     # Make sure the temporal database exists
     tgis.init()
     # Export the space time raster dataset
-    tgis.export_stds(
-        _input, output, compression, directory, where, _format, "strds")
+    tgis.export_stds(_input, output, compression, directory, where, _format,
+                     "strds", _type)
 
 ############################################################################
 if __name__ == "__main__":
diff --git a/temporal/t.rast.export/testsuite/test_rast_export.py b/temporal/t.rast.export/testsuite/test_rast_export.py
new file mode 100644
index 0000000..5df814a
--- /dev/null
+++ b/temporal/t.rast.export/testsuite/test_rast_export.py
@@ -0,0 +1,74 @@
+"""
+Test t.rast.export
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author: lucadelu
+"""
+
+from grass.gunittest.case import TestCase
+import grass.script as gscript
+import os
+
+class TestRasterExport(TestCase):
+
+    tmp = gscript.tempdir()
+    float_ = os.path.join(tmp, "geotiffloat")
+    int_ = os.path.join(tmp, "geotifint")
+    grid = os.path.join(tmp, "grid")
+    pack = os.path.join(tmp, "pack")
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        cls.use_temp_region()
+        cls.runModule("g.gisenv", set="TGIS_USE_CURRENT_MAPSET=1")
+        cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0, t=50, res=10,
+                      res3=10)
+        maps = []
+        for i in range(10):
+            cls.runModule("r.mapcalc", expression="a_{id_} = rand(0.1,1.0)".format(id_=i),
+                          flags="s", overwrite=True)
+            maps.append("a_{id_}".format(id_=i))
+
+        cls.runModule("t.create", type="strds", temporaltype="absolute",  
+                      output="A", title="A test", description="A test",
+                      overwrite=True)
+        cls.runModule("t.register", flags="i", type="raster", input="A",  
+                      maps=maps, start="2001-01-01",
+                      increment="4 months", overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()
+        cls.runModule("t.remove", flags="rf", inputs="A")
+
+    def test_simple_geotif(self):
+        self.assertModule("t.rast.export", input="A", output=self.float_, 
+                          overwrite=True)
+        self.assertFileExists(self.float_)
+                          
+    def test_simple_geotif_int(self):
+        self.assertModule("t.rast.export", input="A", output=self.int_, 
+                          overwrite=True, type="Int16")
+        self.assertFileExists(self.int_)
+                          
+    def test_simple_grid(self):
+        self.assertModule("t.rast.export", input="A", output=self.grid, 
+                          overwrite=True, format="AAIGrid")
+        self.assertFileExists(self.grid)
+                          
+    def test_simple_pack(self):
+        self.assertModule("t.rast.export", input="A", output=self.pack, 
+                          overwrite=True, format="pack")
+        self.assertFileExists(self.pack)
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.rast.extract/t.rast.extract.html b/temporal/t.rast.extract/t.rast.extract.html
index 56776f5..ee741bd 100644
--- a/temporal/t.rast.extract/t.rast.extract.html
+++ b/temporal/t.rast.extract/t.rast.extract.html
@@ -65,5 +65,5 @@ name|mapset|start_time|end_time
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.rast.extract/t.rast.extract.py b/temporal/t.rast.extract/t.rast.extract.py
index adb5631..de21fb2 100755
--- a/temporal/t.rast.extract/t.rast.extract.py
+++ b/temporal/t.rast.extract/t.rast.extract.py
@@ -50,6 +50,15 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: nprocs
 #% type: integer
 #% description: Number of r.mapcalc processes to run in parallel
@@ -63,9 +72,9 @@
 #% description: Register Null maps
 #%end
 
+
 import grass.script as grass
 import grass.temporal as tgis
-from multiprocessing import Process
 
 ############################################################################
 
@@ -80,12 +89,13 @@ def main():
     base = options["basename"]
     nprocs = int(options["nprocs"])
     register_null = flags["n"]
+    time_suffix = options["suffix"]
 
     # Make sure the temporal database exists
     tgis.init()
 
     tgis.extract_dataset(input, output, "raster", where, expression,
-                         base, nprocs, register_null)
+                         base, time_suffix, nprocs, register_null)
 
 ###############################################################################
 
diff --git a/temporal/t.rast.extract/testsuite/test_extract.py b/temporal/t.rast.extract/testsuite/test_extract.py
index 584bb29..643067a 100644
--- a/temporal/t.rast.extract/testsuite/test_extract.py
+++ b/temporal/t.rast.extract/testsuite/test_extract.py
@@ -22,6 +22,19 @@ class TestRasterExtraction(TestCase):
         cls.use_temp_region()
         cls.runModule("g.gisenv",  set="TGIS_USE_CURRENT_MAPSET=1")
         cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="prec_1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="prec_2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="prec_3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="prec_4 = 400",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="prec_5 = 500",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="prec_6 = 600",  overwrite=True)
+
+        cls.runModule("t.create", type="strds", temporaltype="absolute",  
+                      output="precip_abs1", title="A test",
+                      description="A test", overwrite=True)
+        cls.runModule("t.register", flags="i", type="raster", input="precip_abs1",  
+                      maps="prec_1,prec_2,prec_3,prec_4,prec_5,prec_6", 
+                      start="2001-01-01", increment="3 months", overwrite=True)
 
     @classmethod
     def tearDownClass(cls):
@@ -49,7 +62,7 @@ class TestRasterExtraction(TestCase):
     def tearDown(self):
         """Remove generated data"""
         self.runModule("t.remove",  flags="rf",  type="strds",  
-                                   inputs="precip_abs1,precip_abs2")
+                                   inputs="precip_abs2")
 
     def test_selection(self):
         """Perform a simple selection by datetime"""
@@ -147,6 +160,27 @@ class TestRasterExtraction(TestCase):
         info = SimpleModule("t.info", flags="g", input="precip_abs2")
         self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
 
+        
+    def test_time_suffix_with_expression(self):
+        """Perform extract with time suffix support and test if maps exists"""
+        self.assertModule("t.rast.extract",  flags="n",  input="precip_abs1",
+                          output="precip_abs2", basename="new_prec",
+                          nprocs=2,  overwrite=True, suffix="time",
+                          expression="if(precip_abs1 > 400, precip_abs1, null())")
+        self.assertRasterExists('new_prec_2001_01_01T00_00_00')
+        self.assertRasterDoesNotExist('new_prec_2001_01')
+        
+    def test_num_suffix_with_expression(self):
+        """Perform extract with time suffix support and test if maps exists"""
+        self.assertModule("t.rast.extract",  flags="n",  input="precip_abs1",
+                          output="precip_abs2", basename="new_prec",
+                          nprocs=2,  overwrite=True, suffix='num%03',
+                          expression="if(precip_abs1 > 400, precip_abs1, null())")
+        self.assertRasterExists('new_prec_001')
+        self.assertRasterDoesNotExist('new_prec_00001')
+
+
+
 class TestRasterExtractionFails(TestCase):
 
     @classmethod
diff --git a/temporal/t.rast.gapfill/t.rast.gapfill.html b/temporal/t.rast.gapfill/t.rast.gapfill.html
index daf4ad6..4a9416e 100644
--- a/temporal/t.rast.gapfill/t.rast.gapfill.html
+++ b/temporal/t.rast.gapfill/t.rast.gapfill.html
@@ -10,14 +10,19 @@ map between them.
 This module uses <a href="r.series.interp.html">r.series.interp</a> to
 perform the interpolation for each gap independently. Hence several
 interpolation processes can be run in parallel.
+<p>
+Each gap is re-sampled by the space time raster dataset granularity. 
+Therefore several time stamped raster map layers will be interpolated 
+if the gap is larger than the STRDS granularity.
 
 <h2>Examples</h2>
 
 In this example we will create 3 raster maps and register them in the
 temporal database an then in the newly created space time raster dataset.
-There are gaps of one day size between the raster maps. The values of
+There are gaps of one and two day size between the raster maps. The values of
 the maps are chosen so that the interpolated values can be estimated.
-We expect two maps with values 2 and 4 after interpolation.
+We expect one map with a value of 2 for the first gap and
+two maps (values 3.666 and 4.333) for the second gap after interpolation.
 
 <div class="code"><pre>
 r.mapcalc expression="map1 = 1" 
@@ -26,7 +31,7 @@ r.mapcalc expression="map3 = 5"
 
 t.register type=raster maps=map1 start=2012-08-20 end=2012-08-21
 t.register type=raster maps=map2 start=2012-08-22 end=2012-08-23
-t.register type=raster maps=map3 start=2012-08-24 end=2012-08-25
+t.register type=raster maps=map3 start=2012-08-25 end=2012-08-26
 
 t.create type=strds temporaltype=absolute \
          output=precipitation_daily \
@@ -40,7 +45,7 @@ t.rast.list input=precipitation_daily columns=name,start_time,min,max
 name|start_time|min|max
 map1|2012-08-20 00:00:00|1.0|1.0
 map2|2012-08-22 00:00:00|3.0|3.0
-map3|2012-08-24 00:00:00|5.0|5.0
+map3|2012-08-25 00:00:00|5.0|5.0
 
 
 t.rast.list input=precipitation_daily method=deltagaps
@@ -58,10 +63,12 @@ t.rast.list input=precipitation_daily columns=name,start_time,min,max
 
 name|start_time|min|max
 map1|2012-08-20 00:00:00|1.0|1.0
-gap_6|2012-08-21 00:00:00|2.0|2.0
+gap_6_1|2012-08-21 00:00:00|2.0|2.0
 map2|2012-08-22 00:00:00|3.0|3.0
-gap_7|2012-08-23 00:00:00|4.0|4.0
-map3|2012-08-24 00:00:00|5.0|5.0
+gap_7_1|2012-08-23 00:00:00|3.666667|3.666667
+gap_7_2|2012-08-24 00:00:00|4.333333|4.333333
+map3|2012-08-25 00:00:00|5.0|5.0
+
 </pre></div>
 
 <h2>SEE ALSO</h2>
@@ -76,5 +83,5 @@ map3|2012-08-24 00:00:00|5.0|5.0
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.rast.gapfill/t.rast.gapfill.py b/temporal/t.rast.gapfill/t.rast.gapfill.py
index d63564a..b2d5c5e 100755
--- a/temporal/t.rast.gapfill/t.rast.gapfill.py
+++ b/temporal/t.rast.gapfill/t.rast.gapfill.py
@@ -39,6 +39,15 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: nprocs
 #% type: integer
 #% description: Number of interpolation processes to run in parallel
@@ -52,10 +61,15 @@
 #% description: Assign the space time raster dataset start and end time to the output map
 #%end
 
+import sys
+import copy
 from multiprocessing import Process
 import grass.script as grass
 import grass.temporal as tgis
 
+import grass.pygrass.modules as pymod
+from grass.exceptions import FatalError
+
 ############################################################################
 
 
@@ -66,6 +80,7 @@ def main():
     base = options["basename"]
     where = options["where"]
     nprocs = options["nprocs"]
+    tsuffix = options["suffix"]
 
     mapset = grass.gisenv()["MAPSET"]
 
@@ -82,6 +97,13 @@ def main():
 
     num = len(maps)
 
+    # Configure the r.to.vect module
+    gapfill_module = pymod.Module("r.series.interp",
+                             overwrite=grass.overwrite(), quiet=True, run_=False,
+                             finish_=False,)
+
+    process_queue = pymod.ParallelModuleQueue(int(nprocs))
+
     gap_list = []
     overwrite_flags = {}
 
@@ -90,17 +112,12 @@ def main():
     for _map in maps:
         if _map.get_id() is None:
             count += 1
-            _id = "%s_%d@%s" % (base, num + count, mapset)
+            if sp.get_temporal_type() == 'absolute' and tsuffix in ['gran', 'time']:
+                _id = "{ba}@{ma}".format(ba=base, ma=mapset)
+            else:
+                map_name = tgis.create_numeric_suffic(base, num + count, tsuffix)
+                _id = "{name}@{ma}".format(name=map_name, ma=mapset)
             _map.set_id(_id)
-            overwrite_flags[_id] = False
-            if _map.map_exists() or _map.is_in_db(dbif):
-                if not grass.overwrite:
-                        grass.fatal(_("Map with name <%s> already exists. "
-                                      "Please use another base name." % (_id)))
-                else:
-                    if _map.is_in_db(dbif):
-                        overwrite_flags[_id] = True
-
 
             gap_list.append(_map)
 
@@ -127,42 +144,70 @@ def main():
                             "Using the first found."))
 
     # Interpolate the maps using parallel processing
-    proc_list = []
-    proc_count = 0
-    num = len(gap_list)
+    result_list = []
 
     for _map in gap_list:
         predecessor = _map.get_follows()[0]
         successor = _map.get_precedes()[0]
 
-        # Build the module inputs strings
-        inputs = "%s,%s" % (predecessor.get_map_id(), successor.get_map_id())
-        dpos = "0,1"
-        output = "%s" % (_map.get_name())
-        outpos = "0.5"
-
-        # Start several processes in parallel
-        proc_list.append(Process(
-            target=run_interp, args=(inputs, dpos, output, outpos)))
-        proc_list[proc_count].start()
-        proc_count += 1
+        gran = sp.get_granularity()
+        tmpval,  start = predecessor.get_temporal_extent_as_tuple()
+        end,  tmpval = successor.get_temporal_extent_as_tuple()
+        
+        # Now resample the gap
+        map_matrix = tgis.AbstractSpaceTimeDataset.resample_maplist_by_granularity((_map, ),start, end,  gran)
+        
+        map_names = []
+        map_positions = []
+        
+        increment = 1.0/ (len(map_matrix) + 1.0)
+        position = increment
+        count = 0
+        for intp_list in map_matrix:
+            new_map = intp_list[0]
+            count += 1
+            if sp.get_temporal_type() == 'absolute' and tsuffix == 'gran':
+                suffix = tgis.create_suffix_from_datetime(new_map.temporal_extent.get_start_time(),
+                                                          sp.get_granularity())
+                new_id = "{ba}_{su}@{ma}".format(ba=new_map.get_name(),
+                                                 su=suffix, ma=mapset)
+            elif sp.get_temporal_type() == 'absolute' and tsuffix == 'time':
+                suffix = tgis.create_time_suffix(new_map)
+                new_id = "{ba}_{su}@{ma}".format(ba=new_map.get_name(),
+                                                 su=suffix, ma=mapset)
+            else:
+                map_name = tgis.create_numeric_suffic(new_map.get_name(),
+                                                      count, tsuffix)
+                new_id = "{name}@{ma}".format(name=map_name, ma=mapset)
+
+            new_map.set_id(new_id)
+            
+            overwrite_flags[new_id] = False
+            if new_map.map_exists() or new_map.is_in_db(dbif):
+                if not grass.overwrite:
+                        grass.fatal(_("Map with name <%s> already exists. "
+                                      "Please use another base name." % (_id)))
+                else:
+                    if new_map.is_in_db(dbif):
+                        overwrite_flags[new_id] = True
 
-        if proc_count == nprocs or proc_count == num:
-            proc_count = 0
-            exitcodes = 0
-            for proc in proc_list:
-                proc.join()
-                exitcodes += proc.exitcode
+            map_names.append(new_map.get_name())
+            map_positions.append(position)
+            position += increment
+            
+            result_list.append(new_map)
 
-            if exitcodes != 0:
-                dbif.close()
-                grass.fatal(_("Error while interpolation computation"))
+        mod = copy.deepcopy(gapfill_module)
+        mod(input=(predecessor.get_map_id(), successor.get_map_id()),
+                datapos=(0, 1), output=map_names,  samplingpos=map_positions)
+        sys.stderr.write(mod.get_bash() + "\n")
+        process_queue.put(mod)
 
-            # Empty process list
-            proc_list = []
+    # Wait for unfinished processes
+    process_queue.wait()
 
     # Insert new interpolated maps in temporal database and dataset
-    for _map in gap_list:
+    for _map in result_list:
         id = _map.get_id()
         if overwrite_flags[id] == True:
             if _map.is_time_absolute():
diff --git a/temporal/t.rast.gapfill/test.t.rast.gapfill.sh b/temporal/t.rast.gapfill/test.t.rast.gapfill.sh
deleted file mode 100755
index b0a9357..0000000
--- a/temporal/t.rast.gapfill/test.t.rast.gapfill.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-# Fill the gaps in a space time raster dataset
-# We need to set a specific region in the
-# @preprocess step of this test. 
-# The region setting should work for UTM and LL test locations
-
-export GRASS_OVERWRITE=1
-
-g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3
-
-r.mapcalc  expr="prec_1 = 100"
-r.mapcalc  expr="prec_2 = 300"
-r.mapcalc  expr="prec_3 = 500"
-
-n1=`g.tempfile pid=1 -d` 
-
-cat > "${n1}" << EOF
-prec_1|2001-01-01|2001-02-01
-prec_2|2001-03-01|2001-04-01
-prec_3|2001-05-01|2001-06-01
-EOF
-
-t.create --v  type=strds temporaltype=absolute output=precip_abs title="A test" descr="A test"
-t.register --v type=raster input=precip_abs file="${n1}"
-
-# @test
-t.rast.gapfill input=precip_abs base="prec" nprocs=2
-t.info precip_abs
-
-t.info type=raster input=prec_6
-t.info type=raster input=prec_7
-
-# @postprocess
-
-t.unregister --v type=raster maps=prec_1,prec_2,prec_3,prec_6,prec_7
-t.remove --v type=strds input=precip_abs
-g.remove -f type=raster name=prec_1,prec_2,prec_3,prec_6,prec_7
diff --git a/temporal/t.rast.gapfill/testsuite/test_gapfill.py b/temporal/t.rast.gapfill/testsuite/test_gapfill.py
new file mode 100644
index 0000000..a29376e
--- /dev/null
+++ b/temporal/t.rast.gapfill/testsuite/test_gapfill.py
@@ -0,0 +1,262 @@
+"""Test t.rast.to.vect
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Soeren Gebbert
+"""
+
+import subprocess
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestRasterToVector(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        cls.use_temp_region()
+        cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0, t=50, res=10, res3=10)
+
+    def setUp(self):
+        self.runModule("r.mapcalc", expression="a_1 = 100", overwrite=True)
+        self.runModule("r.mapcalc", expression="a_2 = 400", overwrite=True)
+        self.runModule("r.mapcalc", expression="a_3 = 1200", overwrite=True)
+
+        self.runModule("t.create", type="strds", temporaltype="absolute",  
+                                 output="A", title="A test", description="A test",  
+                                 overwrite=True)
+        self.runModule("t.register",  flags="i", type="raster", input="A",  
+                                     maps="a_1", start="2001-01-01", 
+                                     increment="1 month", overwrite=True)
+        self.runModule("t.register",  flags="i", type="raster", input="A",  
+                                     maps="a_2", start="2001-04-01", 
+                                     increment="1 months", overwrite=True)
+        self.runModule("t.register",  flags="i", type="raster", input="A",  
+                                     maps="a_3", start="2001-12-01", 
+                                     increment="1 months", overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()
+        
+    def tearDown(self):
+        """Remove generated data"""
+        self.runModule("t.remove", flags="rf", type="strds",  
+                                   inputs="A")
+
+    def test_simple_2procs(self):
+        self.assertModule("t.rast.gapfill", input="A", suffix="num%01",
+                          basename="test", nprocs=2, verbose=True)
+
+        #self.assertModule("t.info",  type="strds", flags="g",  input="A")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                                end_time=2002-01-01 00:00:00
+                                granularity=1 month
+                                map_time=interval
+                                number_of_maps=12
+                                min_min=100.0
+                                min_max=1200.0
+                                max_min=100.0
+                                max_max=1200.0"""
+
+        info = SimpleModule("t.info", flags="g", type="strds", input="A")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+        text="""name|start_time|end_time|min|max
+a_1|2001-01-01 00:00:00|2001-02-01 00:00:00|100.0|100.0
+test_6_1|2001-02-01 00:00:00|2001-03-01 00:00:00|200.0|200.0
+test_6_2|2001-03-01 00:00:00|2001-04-01 00:00:00|300.0|300.0
+a_2|2001-04-01 00:00:00|2001-05-01 00:00:00|400.0|400.0
+test_7_1|2001-05-01 00:00:00|2001-06-01 00:00:00|500.0|500.0
+test_7_2|2001-06-01 00:00:00|2001-07-01 00:00:00|600.0|600.0
+test_7_3|2001-07-01 00:00:00|2001-08-01 00:00:00|700.0|700.0
+test_7_4|2001-08-01 00:00:00|2001-09-01 00:00:00|800.0|800.0
+test_7_5|2001-09-01 00:00:00|2001-10-01 00:00:00|900.0|900.0
+test_7_6|2001-10-01 00:00:00|2001-11-01 00:00:00|1000.0|1000.0
+test_7_7|2001-11-01 00:00:00|2001-12-01 00:00:00|1100.0|1100.0
+a_3|2001-12-01 00:00:00|2002-01-01 00:00:00|1200.0|1200.0
+
+"""
+        rast_list = SimpleModule("t.rast.list", columns=("name","start_time","end_time","min,max"),  input="A")
+        self.assertModule(rast_list)
+        self.assertLooksLike(text,  rast_list.outputs.stdout)
+
+    def test_simple_where(self):
+        self.assertModule("t.rast.gapfill", input="A",  where="start_time >= '2001-03-01'", 
+                          basename="test", nprocs=1, verbose=True, suffix="num%01")
+
+        #self.assertModule("t.info",  type="strds", flags="g",  input="A")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                                end_time=2002-01-01 00:00:00
+                                granularity=1 month
+                                map_time=interval
+                                number_of_maps=10
+                                min_min=100.0
+                                min_max=1200.0
+                                max_min=100.0
+                                max_max=1200.0"""
+
+        info = SimpleModule("t.info", flags="g", type="strds", input="A")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+        text="""name|start_time|end_time|min|max
+a_1|2001-01-01 00:00:00|2001-02-01 00:00:00|100.0|100.0
+a_2|2001-04-01 00:00:00|2001-05-01 00:00:00|400.0|400.0
+test_4_1|2001-05-01 00:00:00|2001-06-01 00:00:00|500.0|500.0
+test_4_2|2001-06-01 00:00:00|2001-07-01 00:00:00|600.0|600.0
+test_4_3|2001-07-01 00:00:00|2001-08-01 00:00:00|700.0|700.0
+test_4_4|2001-08-01 00:00:00|2001-09-01 00:00:00|800.0|800.0
+test_4_5|2001-09-01 00:00:00|2001-10-01 00:00:00|900.0|900.0
+test_4_6|2001-10-01 00:00:00|2001-11-01 00:00:00|1000.0|1000.0
+test_4_7|2001-11-01 00:00:00|2001-12-01 00:00:00|1100.0|1100.0
+a_3|2001-12-01 00:00:00|2002-01-01 00:00:00|1200.0|1200.0
+"""
+        rast_list = SimpleModule("t.rast.list", columns=("name","start_time","end_time","min,max"),  input="A")
+        self.assertModule(rast_list)
+        self.assertLooksLike(text,  rast_list.outputs.stdout)
+
+    def test_simple_where_2(self):
+        self.assertModule("t.rast.gapfill", input="A",  where="start_time <= '2001-05-01'", 
+                          basename="test", nprocs=1, verbose=True, suffix="num%01")
+
+        #self.assertModule("t.info",  type="strds", flags="g",  input="A")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                                end_time=2002-01-01 00:00:00
+                                granularity=1 month
+                                map_time=interval
+                                number_of_maps=5
+                                min_min=100.0
+                                min_max=1200.0
+                                max_min=100.0
+                                max_max=1200.0"""
+
+        info = SimpleModule("t.info", flags="g", type="strds", input="A")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+        text="""name|start_time|end_time|min|max
+a_1|2001-01-01 00:00:00|2001-02-01 00:00:00|100.0|100.0
+test_4_1|2001-02-01 00:00:00|2001-03-01 00:00:00|200.0|200.0
+test_4_2|2001-03-01 00:00:00|2001-04-01 00:00:00|300.0|300.0
+a_2|2001-04-01 00:00:00|2001-05-01 00:00:00|400.0|400.0
+a_3|2001-12-01 00:00:00|2002-01-01 00:00:00|1200.0|1200.0
+"""
+        rast_list = SimpleModule("t.rast.list", columns=("name","start_time","end_time","min,max"),  input="A")
+        self.assertModule(rast_list)
+        self.assertLooksLike(text,  rast_list.outputs.stdout)
+
+    def test_simple_empty(self):
+        self.assertModule("t.rast.gapfill", input="A",  where="start_time >= '2001-10-01'", 
+                          basename="test", nprocs=1, verbose=True, suffix="num%01")
+
+        #self.assertModule("t.info",  type="strds", flags="g",  input="A")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                                end_time=2002-01-01 00:00:00
+                                granularity=1 month
+                                map_time=interval
+                                number_of_maps=3
+                                min_min=100.0
+                                min_max=1200.0
+                                max_min=100.0
+                                max_max=1200.0"""
+
+        info = SimpleModule("t.info", flags="g", type="strds", input="A")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+        text="""name|start_time|end_time|min|max
+a_1|2001-01-01 00:00:00|2001-02-01 00:00:00|100.0|100.0
+a_2|2001-04-01 00:00:00|2001-05-01 00:00:00|400.0|400.0
+a_3|2001-12-01 00:00:00|2002-01-01 00:00:00|1200.0|1200.0
+"""
+        rast_list = SimpleModule("t.rast.list", columns=("name","start_time","end_time","min,max"),  input="A")
+        self.assertModule(rast_list)
+        self.assertLooksLike(text,  rast_list.outputs.stdout)
+
+    def test_simple_gran(self):
+        self.assertModule("t.rast.gapfill", input="A",
+                          basename="test", nprocs=2, verbose=True)
+
+        #self.assertModule("t.info",  type="strds", flags="g",  input="A")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                                end_time=2002-01-01 00:00:00
+                                granularity=1 month
+                                map_time=interval
+                                number_of_maps=12
+                                min_min=100.0
+                                min_max=1200.0
+                                max_min=100.0
+                                max_max=1200.0"""
+
+        info = SimpleModule("t.info", flags="g", type="strds", input="A")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+        text="""name|start_time|end_time|min|max
+a_1|2001-01-01 00:00:00|2001-02-01 00:00:00|100.0|100.0
+test_2001_02|2001-02-01 00:00:00|2001-03-01 00:00:00|200.0|200.0
+test_2001_03|2001-03-01 00:00:00|2001-04-01 00:00:00|300.0|300.0
+a_2|2001-04-01 00:00:00|2001-05-01 00:00:00|400.0|400.0
+test_2001_05|2001-05-01 00:00:00|2001-06-01 00:00:00|500.0|500.0
+test_2001_06|2001-06-01 00:00:00|2001-07-01 00:00:00|600.0|600.0
+test_2001_07|2001-07-01 00:00:00|2001-08-01 00:00:00|700.0|700.0
+test_2001_08|2001-08-01 00:00:00|2001-09-01 00:00:00|800.0|800.0
+test_2001_09|2001-09-01 00:00:00|2001-10-01 00:00:00|900.0|900.0
+test_2001_10|2001-10-01 00:00:00|2001-11-01 00:00:00|1000.0|1000.0
+test_2001_11|2001-11-01 00:00:00|2001-12-01 00:00:00|1100.0|1100.0
+a_3|2001-12-01 00:00:00|2002-01-01 00:00:00|1200.0|1200.0
+
+"""
+        rast_list = SimpleModule("t.rast.list", columns=("name","start_time","end_time","min,max"),  input="A")
+        self.assertModule(rast_list)
+        self.assertLooksLike(text,  rast_list.outputs.stdout)
+
+    def test_simple_gran(self):
+        self.assertModule("t.rast.gapfill", input="A", suffix="time",
+                          basename="test", nprocs=2, verbose=True)
+
+        #self.assertModule("t.info",  type="strds", flags="g",  input="A")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                                end_time=2002-01-01 00:00:00
+                                granularity=1 month
+                                map_time=interval
+                                number_of_maps=12
+                                min_min=100.0
+                                min_max=1200.0
+                                max_min=100.0
+                                max_max=1200.0"""
+
+        info = SimpleModule("t.info", flags="g", type="strds", input="A")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+        text="""name|start_time|end_time|min|max
+a_1|2001-01-01 00:00:00|2001-02-01 00:00:00|100.0|100.0
+test_2001_02_01T00_00_00|2001-02-01 00:00:00|2001-03-01 00:00:00|200.0|200.0
+test_2001_03_01T00_00_00|2001-03-01 00:00:00|2001-04-01 00:00:00|300.0|300.0
+a_2|2001-04-01 00:00:00|2001-05-01 00:00:00|400.0|400.0
+test_2001_05_01T00_00_00|2001-05-01 00:00:00|2001-06-01 00:00:00|500.0|500.0
+test_2001_06_01T00_00_00|2001-06-01 00:00:00|2001-07-01 00:00:00|600.0|600.0
+test_2001_07_01T00_00_00|2001-07-01 00:00:00|2001-08-01 00:00:00|700.0|700.0
+test_2001_08_01T00_00_00|2001-08-01 00:00:00|2001-09-01 00:00:00|800.0|800.0
+test_2001_09_01T00_00_00|2001-09-01 00:00:00|2001-10-01 00:00:00|900.0|900.0
+test_2001_10_01T00_00_00|2001-10-01 00:00:00|2001-11-01 00:00:00|1000.0|1000.0
+test_2001_11_01T00_00_00|2001-11-01 00:00:00|2001-12-01 00:00:00|1100.0|1100.0
+a_3|2001-12-01 00:00:00|2002-01-01 00:00:00|1200.0|1200.0
+
+"""
+        rast_list = SimpleModule("t.rast.list", columns=("name","start_time","end_time","min,max"),  input="A")
+        self.assertModule(rast_list)
+        self.assertLooksLike(text,  rast_list.outputs.stdout)
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.rast.import/t.rast.import.html b/temporal/t.rast.import/t.rast.import.html
index b1ab7b4..6742230 100644
--- a/temporal/t.rast.import/t.rast.import.html
+++ b/temporal/t.rast.import/t.rast.import.html
@@ -39,4 +39,4 @@ t.rast.import input=lst_daily.tar.bzip2 output=lst_daily \
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-10-06 17:26:07 +0200 (Tue, 06 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-06 08:24:26 -0700 (Tue, 06 Oct 2015) $</i>
diff --git a/temporal/t.rast.import/t.rast.import.py b/temporal/t.rast.import/t.rast.import.py
index 1b9fc8c..58dd171 100755
--- a/temporal/t.rast.import/t.rast.import.py
+++ b/temporal/t.rast.import/t.rast.import.py
@@ -41,6 +41,7 @@
 #%option G_OPT_M_DIR
 #% key: directory
 #% description: Path to the extraction directory
+#% answer: /tmp
 #%end
 
 #%option
@@ -67,6 +68,16 @@
 #% multiple: no
 #%end
 
+#%option
+#% key: memory
+#% type: integer
+#% description: Cache size for raster rows
+#% label: Maximum memory to be used (in MB)
+#% options: 0-2047
+#% answer: 300
+#% multiple: no
+#%end
+
 #%flag
 #% key: r
 #% description: Set the current region from the last map that was imported
@@ -107,6 +118,7 @@ def main():
     descr = options["description"]
     location = options["location"]
     base = options["basename"]
+    memory = options["memory"]
     set_current_region = flags["r"]
     link = flags["l"]
     exp = flags["e"]
@@ -117,7 +129,7 @@ def main():
 
     tgis.import_stds(input, output, directory, title, descr, location,
                      link, exp, overr, create, "strds", base, 
-                     set_current_region)
+                     set_current_region, memory)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/temporal/t.rast.import/testsuite/data/precip_2000.tar.bzip2 b/temporal/t.rast.import/testsuite/data/precip_2000.tar.bzip2
new file mode 100644
index 0000000..60887ad
Binary files /dev/null and b/temporal/t.rast.import/testsuite/data/precip_2000.tar.bzip2 differ
diff --git a/temporal/t.rast.import/testsuite/test_temporal_rast_import.py b/temporal/t.rast.import/testsuite/test_temporal_rast_import.py
new file mode 100644
index 0000000..212c88c
--- /dev/null
+++ b/temporal/t.rast.import/testsuite/test_temporal_rast_import.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Feb 26 14:46:06 2016
+
+ at author: lucadelu
+"""
+
+"""
+Test t.rast.import
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author: lucadelu
+"""
+
+from grass.gunittest.case import TestCase
+import os
+
+class TestRasterImport(TestCase):
+    
+    input_ = os.path.join("data", "precip_2000.tar.bzip2")
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()
+        cls.runModule("t.remove", flags="rf", inputs="A")
+        
+    def test_import(self):
+        self.assertModule("t.rast.import", input=self.input_, output="A", 
+                          basename="a", overwrite=True)
+        tinfo = """start_time=2000-01-01 00:00:00
+                   end_time=2001-01-01 00:00:00
+                   granularity=1 month
+                   map_time=interval
+                   north=320000.0
+                   south=10000.0
+                   east=935000.0
+                   west=120000.0
+                """
+                
+        info = SimpleModule("t.info", flags="g", input="A")
+        self.assertModuleKeyValue(module=info, reference=tinfo,
+                                  precision=2, sep="=")
\ No newline at end of file
diff --git a/temporal/t.rast.list/t.rast.list.html b/temporal/t.rast.list/t.rast.list.html
index 11611c1..d52009e 100644
--- a/temporal/t.rast.list/t.rast.list.html
+++ b/temporal/t.rast.list/t.rast.list.html
@@ -202,5 +202,5 @@ vector dataset <a href="t.vect.list.html#using-method-option">t.vect.list</a>
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-10-06 17:26:07 +0200 (Tue, 06 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-06 08:24:26 -0700 (Tue, 06 Oct 2015) $</i>
 
diff --git a/temporal/t.rast.list/t.rast.list.py b/temporal/t.rast.list/t.rast.list.py
index afeab78..6d47f88 100755
--- a/temporal/t.rast.list/t.rast.list.py
+++ b/temporal/t.rast.list/t.rast.list.py
@@ -75,6 +75,10 @@
 #% guisection: Formatting
 #%end
 
+#%option G_OPT_F_OUTPUT
+#% required: no
+#%end
+
 #%flag
 #% key: s
 #% description: Suppress printing of column names
@@ -98,12 +102,13 @@ def main():
     method = options["method"]
     granule = options["granule"]
     header = flags["s"]
+    output = options["output"]
 
     # Make sure the temporal database exists
     tgis.init()
 
-    tgis.list_maps_of_stds(
-        "strds", input, columns, order, where, separator, method, header, granule)
+    tgis.list_maps_of_stds("strds", input, columns, order, where, separator,
+                           method, header, granule, outpath=output)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/temporal/t.rast.mapcalc/t.rast.mapcalc.html b/temporal/t.rast.mapcalc/t.rast.mapcalc.html
index 717d9cc..a474491 100644
--- a/temporal/t.rast.mapcalc/t.rast.mapcalc.html
+++ b/temporal/t.rast.mapcalc/t.rast.mapcalc.html
@@ -166,5 +166,5 @@ t.rast.list tempmean_monthly columns=name,start_time,min,max | grep 01-01
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.rast.neighbors/t.rast.neighbors.html b/temporal/t.rast.neighbors/t.rast.neighbors.html
index 202ec77..0b5c1e1 100644
--- a/temporal/t.rast.neighbors/t.rast.neighbors.html
+++ b/temporal/t.rast.neighbors/t.rast.neighbors.html
@@ -116,4 +116,4 @@ name|start_time|min|max
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2016-01-13 00:30:14 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-12 15:28:48 -0800 (Tue, 12 Jan 2016) $</i>
diff --git a/temporal/t.rast.neighbors/t.rast.neighbors.py b/temporal/t.rast.neighbors/t.rast.neighbors.py
index d13a971..66b6363 100755
--- a/temporal/t.rast.neighbors/t.rast.neighbors.py
+++ b/temporal/t.rast.neighbors/t.rast.neighbors.py
@@ -62,6 +62,15 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: nprocs
 #% type: integer
 #% description: Number of r.neighbor processes to run in parallel
@@ -94,6 +103,7 @@ def main():
     register_null = flags["n"]
     method = options["method"]
     nprocs = options["nprocs"]
+    time_suffix = options["suffix"]
 
     # Make sure the temporal database exists
     tgis.init()
@@ -130,7 +140,16 @@ def main():
     # run r.neighbors all selected maps
     for map in maps:
         count += 1
-        map_name = "%s_%i" % (base, count)
+        if sp.get_temporal_type() == 'absolute' and time_suffix == 'gran':
+            suffix = tgis.create_suffix_from_datetime(map.temporal_extent.get_start_time(),
+                                                      sp.get_granularity())
+            map_name = "{ba}_{su}".format(ba=base, su=suffix)
+        elif sp.get_temporal_type() == 'absolute' and time_suffix == 'time':
+            suffix = tgis.create_time_suffix(map)
+            map_name = "{ba}_{su}".format(ba=base, su=suffix)
+        else:
+            map_name = tgis.create_numeric_suffic(base, count, time_suffix)
+
         new_map = tgis.open_new_map_dataset(map_name, None, type="raster",
                                             temporal_extent=map.get_temporal_extent(),
                                             overwrite=overwrite, dbif=dbif)
diff --git a/temporal/t.rast.neighbors/testsuite/test_neighbors.py b/temporal/t.rast.neighbors/testsuite/test_neighbors.py
new file mode 100644
index 0000000..c73f436
--- /dev/null
+++ b/temporal/t.rast.neighbors/testsuite/test_neighbors.py
@@ -0,0 +1,86 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Feb 17 19:53:04 2016
+
+ at author: lucadelu
+"""
+
+import os
+import grass.temporal as tgis
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestAggregationAbsolute(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = rand(1,10)", flags=['s'],
+                      overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = rand(1,10)", flags=['s'],
+                      overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = rand(1,10)", flags=['s'],
+                      overwrite=True)
+
+        cls.runModule("t.create", type="strds", temporaltype="absolute",
+                      output="A", title="A test", description="A test",
+                      overwrite=True)
+
+        cls.runModule("t.register", flags="i",  type="raster",  input="A",
+                      maps="a1,a2,a3", start="2001-01-01 00:00:00",
+                      increment="1 month", overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+
+    def tearDown(self):
+        """Remove generated data"""
+        self.runModule("t.remove", flags="rf", type="strds", inputs="B")
+
+    def test_where(self):
+        """Test simple t.rast.neighbors"""
+        trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
+                                  output="B", basename='b', overwrite=True,
+                                  size="5", where="start_time <= '2001-02-01 00:00:00'")
+        self.assertModule(trast_list)
+        self.assertRasterExists('b_2001_01')
+        self.assertRasterMinMax('b_2001_02', 1, 10)
+        self.assertRasterDoesNotExist('b_2001_03')
+        
+    def test_simple(self):
+        """Test simple t.rast.neighbors"""
+        trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
+                                  output="B", size="5", basename='b',
+                                  overwrite=True)
+        self.assertModule(trast_list)
+        self.assertRasterMinMax('b_2001_01', 1, 10)
+        self.assertRasterMinMax('b_2001_02', 1, 10)
+
+    def test_time_suffix(self):
+        """Test simple t.rast.neighbors"""
+        trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
+                                  output="B", size="5", basename='b',
+                                  suffix="time", overwrite=True)
+        self.assertModule(trast_list)
+        self.assertRasterExists('b_2001_01_01T00_00_00')
+
+    def test_num_suffix(self):
+        """Test simple t.rast.neighbors"""
+        trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
+                                  output="B", size="5", basename='b',
+                                  suffix="num%03", overwrite=True)
+        self.assertModule(trast_list)
+        self.assertRasterExists('b_001')
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.rast.out.vtk/t.rast.out.vtk.html b/temporal/t.rast.out.vtk/t.rast.out.vtk.html
index f23134e..3be2d5a 100644
--- a/temporal/t.rast.out.vtk/t.rast.out.vtk.html
+++ b/temporal/t.rast.out.vtk/t.rast.out.vtk.html
@@ -44,5 +44,5 @@ ls -1 /tmp/export
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-12-26 23:44:16 +0100 (Fri, 26 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-03 11:39:26 -0800 (Wed, 03 Dec 2014) $</i>
 
diff --git a/temporal/t.rast.series/t.rast.series.html b/temporal/t.rast.series/t.rast.series.html
index 5be9241..15e4404 100644
--- a/temporal/t.rast.series/t.rast.series.html
+++ b/temporal/t.rast.series/t.rast.series.html
@@ -71,5 +71,5 @@ done
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2016-01-13 00:30:14 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-12 15:28:48 -0800 (Tue, 12 Jan 2016) $</i>
 
diff --git a/temporal/t.rast.series/t.rast.series.py b/temporal/t.rast.series/t.rast.series.py
index af1c49f..bd4a49b 100755
--- a/temporal/t.rast.series/t.rast.series.py
+++ b/temporal/t.rast.series/t.rast.series.py
@@ -18,6 +18,7 @@
 #%module
 #% description: Performs different aggregation algorithms from r.series on all or a subset of raster maps in a space time raster dataset.
 #% keyword: temporal
+#% keyword: aggregation
 #% keyword: series
 #% keyword: raster
 #% keyword: time
diff --git a/temporal/t.rast.series/testsuite/test_series.py b/temporal/t.rast.series/testsuite/test_series.py
new file mode 100644
index 0000000..2a81692
--- /dev/null
+++ b/temporal/t.rast.series/testsuite/test_series.py
@@ -0,0 +1,154 @@
+"""Test t.rast.series
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Soeren Gebbert
+"""
+import os
+import grass.pygrass.modules as pymod
+import grass.temporal as tgis
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+
+class TestSnapAbsoluteSTRDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-01", 
+                                     increment="1 month",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+        cls.runModule("g.remove", flags="f", type="raster", name="series_average")
+        cls.runModule("g.remove", flags="f", type="raster", name="series_maximum")
+        cls.runModule("g.remove", flags="f", type="raster", name="series_minimum")
+        cls.runModule("g.remove", flags="f", type="raster", name="series_minimum_2")
+        
+    def test_average(self):
+        self.assertModule("t.rast.series", input="A", method="average", 
+                          output="series_average")
+
+        self.assertRasterMinMax(map="series_average", refmin=250, refmax=250,
+                                msg="Average must be 250")
+
+    def test_maximum(self):
+        self.assertModule("t.rast.series", input="A", method="maximum", 
+                          output="series_maximum")
+
+        self.assertRasterMinMax(map="series_maximum", refmin=400, refmax=400,
+                                msg="Maximum must be 400")
+
+    def test_minimum(self):
+        self.assertModule("t.rast.series", input="A", method="minimum", 
+                          output="series_minimum")
+
+        self.assertRasterMinMax(map="series_minimum", refmin=100, refmax=100,
+                                msg="Minimum must be 100")
+
+    def test_minimum_where(self):
+        self.assertModule("t.rast.series", input="A", method="minimum", 
+                          output="series_minimum_2", 
+                          where="start_time >= '2001-03-01'")
+
+        self.assertRasterMinMax(map="series_minimum_2", refmin=300, refmax=300,
+                                msg="Minimum must be 300")
+
+
+
+class TestSnapRelativeSTRDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="relative",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="0", 
+                                     increment="14", unit="days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+        cls.runModule("g.remove", flags="f", type="raster", name="series_average")
+        cls.runModule("g.remove", flags="f", type="raster", name="series_maximum")
+        cls.runModule("g.remove", flags="f", type="raster", name="series_minimum")
+        cls.runModule("g.remove", flags="f", type="raster", name="series_minimum_2")
+        
+    def test_average(self):
+        self.assertModule("t.rast.series", input="A", method="average", 
+                          output="series_average")
+
+        self.assertRasterMinMax(map="series_average", refmin=250, refmax=250,
+                                msg="Average must be 250")
+
+    def test_maximum(self):
+        self.assertModule("t.rast.series", input="A", method="maximum", 
+                          output="series_maximum")
+
+        self.assertRasterMinMax(map="series_maximum", refmin=400, refmax=400,
+                                msg="Maximum must be 400")
+
+    def test_minimum(self):
+        self.assertModule("t.rast.series", input="A", method="minimum", 
+                          output="series_minimum")
+
+        self.assertRasterMinMax(map="series_minimum", refmin=100, refmax=100,
+                                msg="Minimum must be 100")
+
+    def test_minimum_where(self):
+        self.assertModule("t.rast.series", input="A", method="minimum", 
+                          output="series_minimum_2", 
+                          where="start_time >= 28")
+
+        self.assertRasterMinMax(map="series_minimum_2", refmin=300, refmax=300,
+                                msg="Minimum must be 300")
+
+
+ 
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
+
diff --git a/temporal/t.rast.to.rast3/t.rast.to.rast3.html b/temporal/t.rast.to.rast3/t.rast.to.rast3.html
index e328bdb..fe2df43 100644
--- a/temporal/t.rast.to.rast3/t.rast.to.rast3.html
+++ b/temporal/t.rast.to.rast3/t.rast.to.rast3.html
@@ -139,5 +139,5 @@ r3.info tempmean_monthly_2012
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py b/temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py
index 92a88a1..e33de58 100644
--- a/temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py
+++ b/temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py
@@ -15,10 +15,13 @@ from grass.gunittest.gmodules import SimpleModule
 
 class TestSTRDSToRast3(TestCase):
 
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+
     def setUp(self):
         """Create input data
         """
-        self.use_temp_region()
         self.runModule("g.gisenv",  set="TGIS_USE_CURRENT_MAPSET=1")
         self.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
 
@@ -66,35 +69,23 @@ class TestSTRDSToRast3(TestCase):
 
     def tearDown(self):
         """Remove generated data"""
-        #self.runModule("t.remove",  flags="rf",  type="strds",  
-        #                           inputs="precip_i,precip_f,precip_d")
-        #self.runModule('g.remove', type='raster', pattern='prec_*', flags='f')
-        self.del_temp_region()
+        self.runModule("t.remove",  flags="rf",  type="strds",
+                       inputs="precip_i,precip_f,precip_d")
+        self.runModule('g.remove', type='raster', pattern='prec_*', flags='f')
+        self.runModule('g.remove', type='raster_3d', pattern='precip_*', flags='f')
+
+    @classmethod
+    def tearDownClass(cls):
+        """Unset region"""
+        cls.del_temp_region()
 
-    def otest_3m(self):
+    def test_3m(self):
         """Convert STRDS into 3d raster map, granularity 3 months"""
 
         self.assertModule("t.rast.to.rast3",  input="precip_i",  output="precip_i")
         self.assertModule("t.rast.to.rast3",  input="precip_f",  output="precip_f")
         self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
 
-        univar_string="""n=576
-                        null_cells=0
-                        cells=576
-                        min=100
-                        max=600
-                        range=500
-                        mean=350
-                        mean_of_abs=350
-                        stddev=170.782512765993
-                        variance=29166.6666666667
-                        coeff_var=48.7950036474267
-                        sum=201600"""
-
-        self.assertRaster3dFitsUnivar(raster="precip_i", reference=univar_string, precision=2)
-        self.assertRaster3dFitsUnivar(raster="precip_f", reference=univar_string, precision=2)
-        self.assertRaster3dFitsUnivar(raster="precip_d", reference=univar_string, precision=2)
-
         tinfo_string="""north=80
                         south=0
                         east=120
@@ -161,22 +152,6 @@ class TestSTRDSToRast3(TestCase):
         self.assertModule("t.rast.to.rast3",  input="precip_f",  output="precip_f")
         self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
 
-        univar_string="""n=480
-                        null_cells=96
-                        cells=576
-                        min=100
-                        max=600
-                        range=500
-                        mean=360
-                        mean_of_abs=360
-                        stddev=185.472369909914
-                        variance=34400
-                        coeff_var=51.5201027527539
-                        sum=172800"""
-
-        univar = SimpleModule("r3.univar", flags="g", map="precip_i")
-        self.assertModuleKeyValue(module=univar, reference=univar_string, precision=2, sep="=")
-
         tinfo_string="""north=80
                         south=0
                         east=120
@@ -236,36 +211,42 @@ class TestSTRDSToRast3(TestCase):
 
 class TestSTRDSToRast3MultiGran(TestCase):
 
-    def setUp(self):
+    @classmethod
+    def setUpClass(cls):
         """Create input data
         """
-        self.use_temp_region()
-        self.runModule("g.gisenv",  set="TGIS_USE_CURRENT_MAPSET=1")
-        self.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+        cls.use_temp_region()
+        cls.runModule("g.gisenv",  set="TGIS_USE_CURRENT_MAPSET=1")
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
         
-        self.runModule("r.mapcalc", expression="prec_1d = 100.0")
-        self.runModule("r.mapcalc", expression="prec_2d = 200.0")
-        self.runModule("r.mapcalc", expression="prec_3d = 300.0")
-        self.runModule("r.mapcalc", expression="prec_4d = 400.0")
-        self.runModule("r.mapcalc", expression="prec_5d = 500.0")
-        self.runModule("r.mapcalc", expression="prec_6d = 600.0")
-
-        self.runModule("t.create", type="strds",  temporaltype="absolute",  
+        cls.runModule("r.mapcalc", expression="prec_1d = 100.0")
+        cls.runModule("r.mapcalc", expression="prec_2d = 200.0")
+        cls.runModule("r.mapcalc", expression="prec_3d = 300.0")
+        cls.runModule("r.mapcalc", expression="prec_4d = 400.0")
+        cls.runModule("r.mapcalc", expression="prec_5d = 500.0")
+        cls.runModule("r.mapcalc", expression="prec_6d = 600.0")
+
+        cls.runModule("t.create", type="strds",  temporaltype="absolute",
                        output="precip_d",  title="A test float",  
                        description="A test float values")
 
     def tearDown(self):
         """Remove generated data"""
-        #self.runModule("t.remove",  flags="rf",  type="strds", inputs="precip_d")
-        #self.runModule('g.remove', type='raster', pattern='prec_*', flags='f')
-        self.del_temp_region()
+        self.runModule('g.remove', type='raster_3d', pattern='precip_*', flags='f')
 
-    def otest_years(self):
+    @classmethod
+    def tearDownClass(cls):
+        """Remove generated data"""
+        cls.runModule("t.remove",  flags="rf",  type="strds", inputs="precip_d")
+        cls.runModule('g.remove', type='raster', pattern='prec_*', flags='f')
+        cls.del_temp_region()
+
+    def test_years(self):
         """Convert STRDS into 3d raster map, granularity5 years"""
 
         self.runModule("t.register", flags="i",  type="raster",  input="precip_d",  
                        maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
-                       start="2000-01-01", increment="5 years")
+                       start="2000-01-01", increment="5 years", overwrite=True)
 
         self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
 
@@ -288,12 +269,12 @@ class TestSTRDSToRast3MultiGran(TestCase):
 
         self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
 
-    def otest_months(self):
+    def test_months(self):
         """Convert STRDS into 3d raster map, granularity 6 months"""
 
         self.runModule("t.register", flags="i",  type="raster",  input="precip_d",  
                        maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
-                       start="2000-01-01", increment="6 months")
+                       start="2000-01-01", increment="6 months", overwrite=True)
 
         self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
 
@@ -316,12 +297,12 @@ class TestSTRDSToRast3MultiGran(TestCase):
 
         self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
 
-    def otest_days(self):
+    def test_days(self):
         """Convert STRDS into 3d raster map, granularity 7 days"""
 
         self.runModule("t.register", flags="i",  type="raster",  input="precip_d",  
                        maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
-                       start="2000-01-01", increment="7 days")
+                       start="2000-01-01", increment="7 days", overwrite=True)
 
         self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
         self.runModule("r3.info", map="precip_d")
@@ -345,12 +326,12 @@ class TestSTRDSToRast3MultiGran(TestCase):
 
         self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
 
-    def otest_hours(self):
-        """Convert STRDS into 3d raster map, granularity 7 days"""
+    def test_hours(self):
+        """Convert STRDS into 3d raster map, granularity 3 hours"""
 
         self.runModule("t.register", flags="i",  type="raster",  input="precip_d",  
                        maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
-                       start="2000-01-01", increment="3 hours")
+                       start="2000-01-01", increment="3 hours", overwrite=True)
 
         self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
         self.runModule("r3.info", map="precip_d")
@@ -374,12 +355,12 @@ class TestSTRDSToRast3MultiGran(TestCase):
 
         self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
 
-    def otest_minutes(self):
-        """Convert STRDS into 3d raster map, granularity 7 days"""
+    def test_minutes(self):
+        """Convert STRDS into 3d raster map, granularity 17 minutes"""
 
         self.runModule("t.register", flags="i",  type="raster",  input="precip_d",  
                        maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
-                       start="2000-01-01", increment="17 minutes")
+                       start="2000-01-01", increment="17 minutes", overwrite=True)
 
         self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
         self.runModule("r3.info", map="precip_d")
diff --git a/temporal/t.rast.to.vect/Makefile b/temporal/t.rast.to.vect/Makefile
new file mode 100644
index 0000000..600cdf7
--- /dev/null
+++ b/temporal/t.rast.to.vect/Makefile
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../../
+
+PGM = t.rast.to.vect
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script $(TEST_DST)
diff --git a/temporal/t.rast.to.vect/t.rast.to.vect.html b/temporal/t.rast.to.vect/t.rast.to.vect.html
new file mode 100644
index 0000000..7379286
--- /dev/null
+++ b/temporal/t.rast.to.vect/t.rast.to.vect.html
@@ -0,0 +1,42 @@
+<h2>DESCRIPTION</h2>
+
+<em>t.rast.to.vect</em> is designed to convert a space time raster dataset
+into a space time vector dataset. This module works as a front-end to
+<a href="r.to.vect.html">r.to.vect</a> and therefore supports all parameter
+of this module. Hence, all raster map layers in a space time raster dataset
+are passed to <a href="r.to.vect.html">r.to.vect</a> that converts them into
+vector map layers (using point,line or area as conversion criteria). 
+Please refer to the <a href="r.to.vect.html">r.to.vect</a> documentation 
+for a detailed description of the raster to vector conversion options.
+The new generated vector map
+layers will be registered in the output space time vector dataset, using 
+the same time stamps as their raster map layer origins.
+<p>
+This module supports the parallel processing of <a href="r.to.vect.html">r.to.vect</a>
+module instances. The number of parallel processes 
+can be set with the <em>nprocs</em> option. 
+However, this will only work in conjunction with the <em>-t</em>
+flag, that avoids the creation of attribute tables. 
+The parallel creation of attribute tables is not supported.
+<p>
+The <em>where</em> option allows selecting subsets of the input space time raster
+dataset.
+<p>
+The flag <em>-n</em> can be used to force the registration of empty 
+vector map layers. Empty vector maps may occur in case that empty 
+raster map layers should be converted into vector map layers.
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="r.to.vect.html">r.to.vect</a>,
+<a href="t.vect.db.select.html">t.rast.db.select</a>,
+<a href="t.info.html">t.info</a>
+</em>
+
+
+<h2>AUTHOR</h2>
+
+Sören Gebbert, Geoinformatikbüro Dassau
+
+<p><i>Last changed: $Date: 2015-09-05 09:13:18 -0700 (Sat, 05 Sep 2015) $</i>
diff --git a/temporal/t.rast.to.vect/t.rast.to.vect.py b/temporal/t.rast.to.vect/t.rast.to.vect.py
new file mode 100755
index 0000000..4fd7115
--- /dev/null
+++ b/temporal/t.rast.to.vect/t.rast.to.vect.py
@@ -0,0 +1,274 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+############################################################################
+#
+# MODULE:       t.rast.to.vect
+# AUTHOR(S):    Soeren Gebbert
+#
+# PURPOSE:      Converts a space time raster dataset into a space time vector dataset.
+#
+# COPYRIGHT:    (C) 2015 by the GRASS Development Team
+#
+#               This program is free software under the GNU General Public
+#               License (version 2). Read the file COPYING that comes with GRASS
+#               for details.
+#
+#############################################################################
+
+#%module
+#% description: Converts a space time raster dataset into a space time vector dataset
+#% keyword: temporal
+#% keyword: conversion
+#% keyword: raster
+#% keyword: vector
+#% keyword: time
+#%end
+
+#%option G_OPT_STRDS_INPUT
+#%end
+
+#%option G_OPT_STVDS_OUTPUT
+#%end
+
+#%option G_OPT_T_WHERE
+#%end
+
+#%option
+#% key: type
+#% type: string
+#% description: Output feature type
+#% required: yes
+#% multiple: no
+#% options: point,line,area
+#%end
+
+#%option
+#% key: basename
+#% type: string
+#% label: Basename of the new generated output maps
+#% description: A numerical suffix separated by an underscore will be attached to create a unique identifier
+#% required: yes
+#% multiple: no
+#%end
+
+#%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
+#% key: column
+#% type: string
+#% description: Name of attribute column to store value
+#% required: no
+#% multiple: no
+#% answer: value
+#%end
+
+#%option
+#% key: nprocs
+#% type: integer
+#% description: Number of r.to.vect processes to run in parallel, more than 1 process works only in conjunction with flag -t
+#% required: no
+#% multiple: no
+#% answer: 1
+#%end
+
+#%flag
+#% key: n
+#% description: Register empty vector maps
+#%end
+
+#%flag
+#% key: t
+#% description: Do not create attribute tables
+#%end
+
+#%flag
+#% key: s
+#% description: Smooth corners of area features
+#%end
+
+#%flag
+#% key: z
+#% label: Write raster values as z coordinate
+#% description: Table is not created. Currently supported only for points.
+#%end
+
+#%flag
+#% key: b
+#% label: Do not build vector topology
+#% description: Name must be SQL compliant
+#%end
+
+#%flag
+#% key: v
+#% description: Use raster values as categories instead of unique sequence (CELL only)
+#%end
+
+import sys
+import copy
+import grass.script as gscript
+import grass.temporal as tgis
+import grass.pygrass.modules as pymod
+
+
+############################################################################
+
+def main(options, flags):
+
+    # Get the options
+    input = options["input"]
+    output = options["output"]
+    where = options["where"]
+    base = options["basename"]
+    method = options["type"]
+    nprocs = int(options["nprocs"])
+    column = options["column"]
+    time_suffix = options["suffix"]
+
+    register_null = flags["n"]
+    t_flag = flags["t"]
+    s_flag = flags["s"]
+    v_flag = flags["v"]
+    b_flag = flags["b"]
+    z_flag = flags["z"]
+    
+    # Make sure the temporal database exists
+    tgis.init()
+    # We need a database interface
+    dbif = tgis.SQLDatabaseInterfaceConnection()
+    dbif.connect()
+
+    overwrite = gscript.overwrite()
+
+    sp = tgis.open_old_stds(input, "strds", dbif)
+    maps = sp.get_registered_maps_as_objects(where=where, dbif=dbif)
+
+    if not maps:
+        dbif.close()
+        gscript.warning(_("Space time raster dataset <%s> is empty") % sp.get_id())
+        return
+
+    # Check the new stvds
+    new_sp = tgis.check_new_stds(output, "stvds", dbif=dbif,
+                                 overwrite=overwrite)
+                                               
+    # Setup the flags
+    flags = ""
+    if t_flag is True:
+        flags += "t"
+    if s_flag is True:
+        flags += "s"
+    if v_flag is True:
+        flags += "v"
+    if b_flag is True:
+        flags += "b"
+    if z_flag is True:
+        flags += "z"
+    
+    # Configure the r.to.vect module
+    to_vector_module = pymod.Module("r.to.vect", input="dummy",
+                                   output="dummy", run_=False,
+                                   finish_=False, flags=flags,
+                                   type=method, overwrite=overwrite,
+                                   quiet=True)
+
+    # The module queue for parallel execution, except if attribute tables should
+    # be created. Then force single process use
+    if t_flag is False:
+        if nprocs > 1:
+            nprocs = 1
+            gscript.warning(_("The number of parellel r.to.vect processes was "\
+                               "reduced to 1 because of the table attribute "\
+                               "creation"))
+    process_queue = pymod.ParallelModuleQueue(int(nprocs))
+
+    count = 0
+    num_maps = len(maps)
+    new_maps = []
+
+    # run r.to.vect all selected maps
+    for map in maps:
+        count += 1
+        if sp.get_temporal_type() == 'absolute' and time_suffix == 'gran':
+            suffix = tgis.create_suffix_from_datetime(map.temporal_extent.get_start_time(),
+                                                      sp.get_granularity())
+            map_name = "{ba}_{su}".format(ba=base, su=suffix)
+        elif sp.get_temporal_type() == 'absolute' and time_suffix == 'time':
+            suffix = tgis.create_time_suffix(map)
+            map_name = "{ba}_{su}".format(ba=base, su=suffix)
+        else:
+            map_name = tgis.create_numeric_suffic(base, count, time_suffix)
+        new_map = tgis.open_new_map_dataset(map_name, None, type="vector",
+                                            temporal_extent=map.get_temporal_extent(),
+                                            overwrite=overwrite, dbif=dbif)
+        new_maps.append(new_map)
+
+        mod = copy.deepcopy(to_vector_module)
+        mod(input=map.get_id(), output=new_map.get_id())
+        sys.stderr.write(mod.get_bash() + "\n")
+        process_queue.put(mod)
+
+        if count%10 == 0:
+            gscript.percent(count, num_maps, 1)
+
+    # Wait for unfinished processes
+    process_queue.wait()
+
+    # Open the new space time vector dataset
+    ttype, stype, title, descr = sp.get_initial_values()
+    new_sp = tgis.open_new_stds(output, "stvds", ttype, title,
+                                descr, stype, dbif, overwrite)
+    # collect empty maps to remove them
+    num_maps = len(new_maps)
+    empty_maps = []
+
+    # Register the maps in the database
+    count = 0
+    for map in new_maps:
+        count += 1
+
+        if count%10 == 0:
+            gscript.percent(count, num_maps, 1)
+
+        # Do not register empty maps
+        map.load()
+        if map.metadata.get_number_of_primitives() == 0:
+            if not register_null:
+                empty_maps.append(map)
+                continue
+
+        # Insert map in temporal database
+        map.insert(dbif)
+        new_sp.register_map(map, dbif)
+
+    # Update the spatio-temporal extent and the metadata table entries
+    new_sp.update_from_registered_maps(dbif)
+    gscript.percent(1, 1, 1)
+
+    # Remove empty maps
+    if len(empty_maps) > 0:
+        names = ""
+        count = 0
+        for map in empty_maps:
+            if count == 0:
+                count += 1
+                names += "%s" % (map.get_name())
+            else:
+                names += ",%s" % (map.get_name())
+
+        gscript.run_command("g.remove", flags='f', type='vector', name=names, 
+                            quiet=True)
+
+    dbif.close()
+
+############################################################################
+
+if __name__ == "__main__":
+    options, flags = gscript.parser()
+    main(options, flags)
diff --git a/temporal/t.rast.to.vect/testsuite/test_to_vect.py b/temporal/t.rast.to.vect/testsuite/test_to_vect.py
new file mode 100644
index 0000000..23258cb
--- /dev/null
+++ b/temporal/t.rast.to.vect/testsuite/test_to_vect.py
@@ -0,0 +1,189 @@
+"""Test t.rast.to.vect
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Soeren Gebbert
+"""
+
+import subprocess
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestRasterToVector(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        cls.use_temp_region()
+        cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0, t=50, res=10, res3=10)
+
+        cls.runModule("r.mapcalc", expression="a_1 = 100", overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_2 = 200", overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_3 = 300", overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_4 = 400", overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_5 = null()", overwrite=True)
+
+        cls.runModule("t.create", type="strds", temporaltype="absolute",  
+                                 output="A", title="A test", description="A test",  
+                                 overwrite=True)
+        cls.runModule("t.register",  flags="i", type="raster", input="A",  
+                                     maps="a_1,a_2,a_3,a_4,a_5", start="2001-01-01", 
+                                     increment="3 months", overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.runModule("t.remove", flags="rf", type="strds",  
+                                   inputs="A")
+        cls.del_temp_region()
+        
+    def tearDown(self):
+        """Remove generated data"""
+        self.runModule("t.remove", flags="rf", type="stvds",  
+                                   inputs="result")
+
+    def test_simple_points(self):
+        self.assertModule("t.rast.to.vect", input="A", output="result", 
+                          type="point", flags="n", column="values",
+                          basename="test",
+                          nprocs=1, overwrite=True, verbose=True)
+
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                        end_time=2002-04-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=5
+                        points=384
+                        primitives=384"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_simple_area(self):
+        self.assertModule("t.rast.to.vect", input="A", output="result", 
+                          type="area", flags="n", column="values",
+                          basename="test",
+                          nprocs=1, overwrite=True, verbose=True)
+                          
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+        
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                        end_time=2002-04-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=5
+                        boundaries=4
+                        centroids=4
+                        primitives=8
+                        nodes=4
+                        areas=4
+                        islands=4"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_simple_area_smooth(self):
+        """Test areas with smooth corners"""
+        self.assertModule("t.rast.to.vect", input="A", output="result", 
+                          type="area", flags="s", column="values",
+                          basename="test",
+                          nprocs=1, overwrite=True, verbose=True)
+                          
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+        
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                        end_time=2002-01-01 00:00:00
+                        granularity=3 months
+                        map_time=interval
+                        number_of_maps=4
+                        boundaries=4
+                        centroids=4
+                        primitives=8
+                        nodes=4
+                        areas=4
+                        islands=4"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_parallel(self):
+        self.assertModule("t.rast.to.vect",  input="A", output="result", 
+                          type="point", flags="t", column="values",
+                          basename="test",
+                          nprocs=4, overwrite=True, verbose=True)
+
+        #self.assertModule("t.info",  type="stvds", flags="g",  input="result")
+
+        tinfo_string="""start_time=2001-01-01 00:00:00
+                        end_time=2002-01-01 00:00:00
+                        granularity=3 months
+                        number_of_maps=4
+                        points=384
+                        primitives=384"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="result")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
+
+    def test_num_suffix(self):
+        self.assertModule("t.rast.to.vect",  input="A", output="result", 
+                          type="point", flags="t", column="values",
+                          basename="test", suffix="num%03",
+                          nprocs=4, overwrite=True, verbose=True)
+        self.assertVectorExists("test_001")
+
+    def test_time_suffix(self):
+        self.assertModule("t.rast.to.vect",  input="A", output="result", 
+                          type="point", flags="t", column="values",
+                          basename="test", suffix="time",
+                          nprocs=4, overwrite=True, verbose=True)
+        self.assertVectorExists("test_2001_01_01T00_00_00")
+
+
+class TestRasterToVectorFails(TestCase):
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        cls.use_temp_region()
+        cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0, t=50, res=10, res3=10)
+
+        cls.runModule("r.mapcalc", expression="a_1 = 100", overwrite=True)
+
+        cls.runModule("t.create",  type="strds", temporaltype="absolute",  
+                                 output="A", title="A test", description="A test",  
+                                 overwrite=True)
+        cls.runModule("t.register",  flags="i", type="raster", input="A",  
+                                     maps="a_1", start="2001-01-01", 
+                                     increment="3 months", overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.runModule("t.remove", flags="rf", type="strds",
+                      inputs="A")
+        cls.del_temp_region()
+
+    def test_error_handling(self):
+        # No basename, no type
+        self.assertModuleFail("t.rast.to.vect", input="A", output="result")
+
+
+    def test_empty_strds(self):
+        """Test for empty strds"""
+        self.assertModule("t.rast.to.vect", input="A", output="result", 
+                          type="point", flags="n", column="values",
+                          basename="test",
+                          where="start_time > '2010-01-01'",
+                          nprocs=1, overwrite=True, verbose=True)
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.rast.univar/t.rast.univar.html b/temporal/t.rast.univar/t.rast.univar.html
index 4a109a8..bd83ada 100644
--- a/temporal/t.rast.univar/t.rast.univar.html
+++ b/temporal/t.rast.univar/t.rast.univar.html
@@ -38,5 +38,5 @@ id|start|end|mean|min|max|mean_of_abs|stddev|variance|coeff_var|sum|null_cells|c
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-12-29 09:56:42 +0100 (Mon, 29 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-29 00:56:22 -0800 (Mon, 29 Dec 2014) $</i>
 
diff --git a/temporal/t.rast.univar/testsuite/test_univar.py b/temporal/t.rast.univar/testsuite/test_univar.py
index df7e40e..3081138 100644
--- a/temporal/t.rast.univar/testsuite/test_univar.py
+++ b/temporal/t.rast.univar/testsuite/test_univar.py
@@ -54,7 +54,11 @@ a_2 at testing|2001-04-01 00:00:00|2001-07-01 00:00:00|200|200|200|200|0|0|0|192000
 a_3 at testing|2001-07-01 00:00:00|2001-10-01 00:00:00|300|300|300|300|0|0|0|2880000|0|9600
 a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|3840000|0|9600
 """
-        self.assertLooksLike(univar_text,  t_rast_univar.outputs.stdout)
+        for ref, res in zip(univar_text.split("\n"), t_rast_univar.outputs.stdout.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_2(self):
 
@@ -69,7 +73,11 @@ a_2 at testing|2001-04-01 00:00:00|2001-07-01 00:00:00|200|200|200|200|0|0|0|192000
 a_3 at testing|2001-07-01 00:00:00|2001-10-01 00:00:00|300|300|300|300|0|0|0|2880000|0|9600
 a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|3840000|0|9600
 """
-        self.assertLooksLike(univar_text,  t_rast_univar.outputs.stdout)
+        for ref, res in zip(univar_text.split("\n"), t_rast_univar.outputs.stdout.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_3(self):
 
@@ -84,7 +92,11 @@ a_2 at testing|2001-04-01 00:00:00|2001-07-01 00:00:00|200|200|200|200|0|0|0|19200|
 a_3 at testing|2001-07-01 00:00:00|2001-10-01 00:00:00|300|300|300|300|0|0|0|28800|0|96
 a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|38400|0|96
 """
-        self.assertLooksLike(univar_text,  t_rast_univar.outputs.stdout)
+        for ref, res in zip(univar_text.split("\n"), t_rast_univar.outputs.stdout.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_4(self):
 
@@ -101,7 +113,11 @@ a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|384000
 """
         univar_output = open("univar_output.txt", "r").read()
 
-        self.assertLooksLike(univar_text, univar_output)
+        for ref, res in zip(univar_text.split("\n"), univar_output.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_5(self):
 
@@ -117,7 +133,11 @@ a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|384000
 """
         univar_output = open("univar_output.txt", "r").read()
 
-        self.assertLooksLike(univar_text, univar_output)
+        for ref, res in zip(univar_text.split("\n"), univar_output.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_6_error_handling_empty_strds(self):
         # Empty strds
diff --git a/temporal/t.rast.what/Makefile b/temporal/t.rast.what/Makefile
new file mode 100644
index 0000000..036b47f
--- /dev/null
+++ b/temporal/t.rast.what/Makefile
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../../
+
+PGM = t.rast.what
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script $(TEST_DST)
diff --git a/temporal/t.rast.what/t.rast.what.html b/temporal/t.rast.what/t.rast.what.html
new file mode 100644
index 0000000..ab14771
--- /dev/null
+++ b/temporal/t.rast.what/t.rast.what.html
@@ -0,0 +1,138 @@
+<h2>DESCRIPTION</h2>
+
+<em>t.rast.what</em> is designed to sample space time raster datasets
+at specific point coordinates using <a href="r.what.html">r.what</a>
+internally. The output of <a href="r.what.html">r.what</a> is transformed
+to different output layouts.
+The output layouts can be specified using the <em>layout</em> option.
+<p>
+Three layouts can be specified:
+<ul>
+    <li><em>row</em> - Row order, one vector sample point value per row</li>
+    <li><em>col</em> - Column order, create a column for each vector sample
+     point of a single time step/raster layer</li>
+    <li><em>timerow</em> - Time order, create a column for each time step, 
+     this order is the original <em>r.what</em> output, except that the column
+     names are the timestamps</li>
+</ul>
+
+Please have a look at the example to see the supported layouts.
+<p>
+This module is designed to run several instances of <em>r.what</em> to sample
+subsets of a space time raster dataset in parallel. Several intermediate
+text files will be created that are merged into a single file at the
+end of the processing.
+<p>
+Coordinates can be provided as vector map using the <em>points</em> option
+or as comma separated coordinate list with the <em>coordinates </em>option.
+<p>
+An output file can be specified using the <em>output</em> option. 
+Stdout will be used if no output is specified or if the 
+<em>output</em> option is set to "-".
+    
+<h2>EXAMPLES</h2>
+
+<h3>Data preparation</h3>
+In the following examples we sample a space time raster dataset that contains
+4 raster map layers. First we create the STRDS that will be sampled with
+<em>t.rast.what</em>.
+
+<div class="code"><pre>
+g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10
+
+# Generate data
+r.mapcalc expression="a_1 = 1" -s
+r.mapcalc expression="a_2 = 2" -s
+r.mapcalc expression="a_3 = 3" -s
+r.mapcalc expression="a_4 = 4" -s
+
+t.create type=strds output=A title="A test" descr="A test"
+
+t.register -i type=raster input=A maps=a_1,a_2,a_3,a_4 \
+    start='1990-01-01' increment="1 month"
+</pre></div>
+
+<h3>Example 1</h3>
+
+The first approach uses text coordinates as input and stdout as output,
+the layout is one coordinate(point per column:
+
+
+<div class="code"><pre>
+t.rast.what strds=A coordinates="115,36,79,45" layout=col -n
+
+start|end|115.0000000000;36.0000000000|79.0000000000;45.0000000000
+1990-01-01 00:00:00|1990-02-01 00:00:00|1|1
+1990-02-01 00:00:00|1990-03-01 00:00:00|2|2
+1990-03-01 00:00:00|1990-04-01 00:00:00|3|3
+1990-04-01 00:00:00|1990-05-01 00:00:00|4|4
+</pre></div>
+
+<h3>Example 2</h3>
+
+A vector map layer can be used as input to sample the STRDS. All
+three available layouts are demonstrated using the vector map for sampling.
+
+<div class="code"><pre>
+# First create the vector map layer based on random points
+v.random output=points n=3 seed=1
+
+# Row layout using a text file as output
+t.rast.what strds=A points=points output=result.txt layout=row -n
+
+cat result.txt
+
+115.0043586274|36.3593955783|1990-01-01 00:00:00|1990-02-01 00:00:00|1
+115.0043586274|36.3593955783|1990-02-01 00:00:00|1990-03-01 00:00:00|2
+115.0043586274|36.3593955783|1990-03-01 00:00:00|1990-04-01 00:00:00|3
+115.0043586274|36.3593955783|1990-04-01 00:00:00|1990-05-01 00:00:00|4
+79.6816763826|45.2391522853|1990-01-01 00:00:00|1990-02-01 00:00:00|1
+79.6816763826|45.2391522853|1990-02-01 00:00:00|1990-03-01 00:00:00|2
+79.6816763826|45.2391522853|1990-03-01 00:00:00|1990-04-01 00:00:00|3
+79.6816763826|45.2391522853|1990-04-01 00:00:00|1990-05-01 00:00:00|4
+97.4892579600|79.2347263950|1990-01-01 00:00:00|1990-02-01 00:00:00|1
+97.4892579600|79.2347263950|1990-02-01 00:00:00|1990-03-01 00:00:00|2
+97.4892579600|79.2347263950|1990-03-01 00:00:00|1990-04-01 00:00:00|3
+97.4892579600|79.2347263950|1990-04-01 00:00:00|1990-05-01 00:00:00|4
+
+
+# Column layout order using stdout as output
+t.rast.what strds=A points=points layout=col -n
+
+start|end|115.0043586274;36.3593955783|79.6816763826;45.2391522853|97.4892579600;79.2347263950
+1990-01-01 00:00:00|1990-02-01 00:00:00|1|1|1
+1990-02-01 00:00:00|1990-03-01 00:00:00|2|2|2
+1990-03-01 00:00:00|1990-04-01 00:00:00|3|3|3
+1990-04-01 00:00:00|1990-05-01 00:00:00|4|4|4
+
+# Timerow layout, one time series per row 
+# using the where statement to select a subset of the STRDS
+# and stdout as output
+t.rast.what strds=A points=points \
+    where="start_time >= '1990-03-01'" layout=timerow -n
+
+x|y|1990-03-01 00:00:00;1990-04-01 00:00:00|1990-04-01 00:00:00;1990-05-01 00:00:00
+115.004358627375|36.3593955782903|3|4
+79.681676382576|45.2391522852909|3|4
+97.4892579600048|79.2347263950131|3|4
+</pre></div>
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="g.region.html">g.region</a>,
+<a href="r.mask.html">r.mask</a>
+<a href="r.neighbors.html">r.neighbors</a>,
+<a href="r.what.html">r.what</a>,
+<a href="t.info.html">t.info</a>,
+<a href="t.rast.aggregate.ds.html">t.rast.aggregate.ds</a>,
+<a href="t.rast.extract.html">t.rast.extract</a>,
+<a href="v.what.strds.html">v.what.strds</a>
+</em>
+
+
+<h2>AUTHOR</h2>
+
+Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
+
+<p><i>Last changed: $Date: 2015-09-25 04:07:25 -0700 (Fri, 25 Sep 2015) $</i>
diff --git a/temporal/t.rast.what/t.rast.what.py b/temporal/t.rast.what/t.rast.what.py
new file mode 100755
index 0000000..a516d9d
--- /dev/null
+++ b/temporal/t.rast.what/t.rast.what.py
@@ -0,0 +1,526 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+############################################################################
+#
+# MODULE:       t.rast.what
+# AUTHOR(S):    Soeren Gebbert
+#
+# PURPOSE:      Sample a space time raster dataset at specific vector point 
+#               coordinates and write the output to stdout using different 
+#               layouts
+#               
+# COPYRIGHT:    (C) 2015 by the GRASS Development Team
+#
+#               This program is free software under the GNU General Public
+#               License (version 2). Read the file COPYING that comes with GRASS
+#               for details.
+#
+#############################################################################
+
+#%module
+#% description: Sample a space time raster dataset at specific vector point coordinates and write the output to stdout using different layouts
+#% keyword: temporal
+#% keyword: sampling
+#% keyword: raster
+#% keyword: time
+#%end
+
+#%option G_OPT_V_INPUT
+#% key: points
+#% required: no
+#%end
+
+#%option G_OPT_M_COORDS
+#% required: no
+#% description: Comma separated list of coordinates
+#%end
+
+#%option G_OPT_STRDS_INPUT
+#% key: strds
+#%end
+
+#%option G_OPT_F_OUTPUT
+#% required: no
+#% description: Name for the output file or "-" in case stdout should be used
+#% answer: -
+#%end
+
+#%option G_OPT_T_WHERE
+#%end
+
+#%option G_OPT_M_NULL_VALUE
+#%end
+
+#%option G_OPT_F_SEP
+#%end
+
+#%option
+#% key: order
+#% type: string
+#% description: Sort the maps by category
+#% required: no
+#% multiple: yes
+#% options: id, name, creator, mapset, creation_time, modification_time, start_time, end_time, north, south, west, east, min, max
+#% answer: start_time
+#%end
+
+#%option
+#% key: layout
+#% type: string
+#% description: The layout of the output. One point per row (row), one point per column (col), all timsteps in one row (timerow)
+#% required: no
+#% multiple: no
+#% options: row, col, timerow
+#% answer: row
+#%end
+
+#%option
+#% key: nprocs
+#% type: integer
+#% description: Number of r.what processes to run in parallel
+#% required: no
+#% multiple: no
+#% answer: 1
+#%end
+
+#%flag
+#% key: n
+#% description: Output header row
+#%end
+
+#%flag
+#% key: i
+#% description: Use stdin as input and ignore coordinates and point option
+#%end
+
+## Temporary disabled the r.what flags due to test issues
+##%flag
+##% key: f
+##% description: Show the category labels of the grid cell(s)
+##%end
+
+##%flag
+##% key: r
+##% description: Output color values as RRR:GGG:BBB
+##%end
+
+##%flag
+##% key: i
+##% description: Output integer category values, not cell values
+##%end
+
+import sys
+import copy
+import grass.script as gscript
+import grass.temporal as tgis
+import grass.pygrass.modules as pymod
+
+
+############################################################################
+
+def main(options, flags):
+
+    # Get the options
+    points = options["points"]
+    coordinates = options["coordinates"] 
+    strds = options["strds"]
+    output = options["output"]
+    where = options["where"]
+    order = options["order"]
+    layout = options["layout"]
+    null_value = options["null_value"]
+    separator = options["separator"]
+    
+    nprocs = int(options["nprocs"])
+    write_header = flags["n"]
+    use_stdin = flags["i"]
+
+    #output_cat_label = flags["f"]
+    #output_color = flags["r"]
+    #output_cat = flags["i"]
+    
+    overwrite = gscript.overwrite()
+    
+    if coordinates and points: 
+        gscript.fatal(_("Options coordinates and points are mutually exclusive"))
+
+    if not coordinates and not points and not use_stdin: 
+        gscript.fatal(_("Please specify the coordinates, the points option or use the 's' option to pipe coordinate positions to t.rast.what from stdin, to provide the sampling coordinates"))
+
+    if use_stdin:
+        coordinates_stdin = str(sys.__stdin__.read())
+        # Check if coordinates are given with site names or IDs
+        stdin_length = len(coordinates_stdin.split('\n')[0].split())
+        if stdin_length <= 2:
+            site_input = False
+        elif stdin_length >= 3:
+            site_input = True
+    else:
+        site_input = False
+
+    # Make sure the temporal database exists
+    tgis.init()
+    # We need a database interface
+    dbif = tgis.SQLDatabaseInterfaceConnection()
+    dbif.connect()
+
+    sp = tgis.open_old_stds(strds, "strds", dbif)
+    maps = sp.get_registered_maps_as_objects(where=where, order=order, 
+                                             dbif=dbif)
+    dbif.close()
+
+    if not maps:
+        gscript.fatal(_("Space time raster dataset <%s> is empty") % sp.get_id())
+
+    # Setup separator
+    if separator == "pipe":
+        separator = "|"
+    if separator == "comma":
+        separator = ","
+    if separator == "space":
+        separator = " "
+    if separator == "tab":
+        separator = "\t"
+    if separator == "newline":
+        separator = "\n"
+
+    # Setup flags are disabled due to test issues
+    flags = ""
+    #if output_cat_label is True:
+    #    flags += "f"
+    #if output_color is True:
+    #    flags += "r"
+    #if output_cat is True:
+    #    flags += "i"
+
+    # Configure the r.what module
+    if points: 
+        r_what = pymod.Module("r.what", map="dummy", 
+                                        output="dummy", run_=False, 
+                                        separator=separator, points=points, 
+                                        overwrite=overwrite, flags=flags, 
+                                        quiet=True) 
+    elif coordinates: 
+        # Create a list of values
+        coord_list = coordinates.split(",")
+        r_what = pymod.Module("r.what", map="dummy", 
+                                        output="dummy", run_=False, 
+                                        separator=separator,  
+                                        coordinates=coord_list, 
+                                        overwrite=overwrite, flags=flags, 
+                                        quiet=True)
+    elif use_stdin:
+        r_what = pymod.Module("r.what", map="dummy", 
+                                        output="dummy", run_=False, 
+                                        separator=separator,  
+                                        stdin_=coordinates_stdin, 
+                                        overwrite=overwrite, flags=flags, 
+                                        quiet=True)
+    else: 
+        grass.error(_("Please specify points or coordinates"))
+
+    if len(maps) < nprocs:
+        nprocs = len(maps)
+
+    # The module queue for parallel execution
+    process_queue = pymod.ParallelModuleQueue(int(nprocs))
+    num_maps = len(maps)
+    
+    # 400 Maps is the absolute maximum in r.what
+    # We need to determie the number of maps that can be processed
+    # in parallel
+
+    # First estimate the number of maps per process. We use 400 maps
+    # simultaniously as maximum for a single process
+
+    num_loops = int(num_maps / (400 * nprocs))
+    remaining_maps = num_maps % (400 * nprocs)
+
+    if num_loops == 0:
+        num_loops = 1
+        remaining_maps = 0
+
+    # Compute the number of maps for each process
+    maps_per_loop = int((num_maps - remaining_maps) / num_loops)
+    maps_per_process = int(maps_per_loop / nprocs)
+    remaining_maps_per_loop = maps_per_loop % nprocs
+
+    # We put the output files in an ordered list
+    output_files = []
+    output_time_list = []
+
+    count = 0
+    for loop in range(num_loops):
+        file_name = gscript.tempfile() + "_%i"%(loop)
+        count = process_loop(nprocs, maps, file_name, count, maps_per_process, 
+                             remaining_maps_per_loop, output_files, 
+                             output_time_list, r_what, process_queue)
+    
+    process_queue.wait()
+    
+    gscript.verbose("Number of raster map layers remaining for sampling %i"%(remaining_maps))
+    if remaining_maps > 0:
+        # Use a single process if less then 100 maps
+        if remaining_maps <= 100:
+            mod = copy.deepcopy(r_what)
+            mod(map=map_names, output=file_name)
+            process_queue.put(mod)
+        else:
+            maps_per_process = int(remaining_maps / nprocs)
+            remaining_maps_per_loop = remaining_maps % nprocs
+            
+            file_name = "out_remain"
+            process_loop(nprocs, maps, file_name, count, maps_per_process, 
+                         remaining_maps_per_loop, output_files, 
+                         output_time_list, r_what, process_queue)
+
+    # Wait for unfinished processes
+    process_queue.wait()
+    
+    # Out the output files in the correct order together
+    if layout == "row":
+        one_point_per_row_output(separator, output_files, output_time_list,
+                                 output, write_header, site_input)
+    elif layout == "col":
+        one_point_per_col_output(separator, output_files, output_time_list,
+                                 output, write_header, site_input)
+    else:
+        one_point_per_timerow_output(separator, output_files, output_time_list,
+                                     output, write_header, site_input)
+
+############################################################################
+
+def one_point_per_row_output(separator, output_files, output_time_list,
+                             output, write_header, site_input):
+    """Write one point per row
+       output is of type: x,y,start,end,value
+    """
+    # open the output file for writing
+    out_file = open(output, 'w') if output != "-" else sys.stdout
+    
+    if write_header is True:
+        if site_input:
+            out_file.write("x%(sep)sy%(sep)ssite%(sep)sstart%(sep)send%(sep)svalue\n"\
+                       %({"sep":separator}))
+        else:
+            out_file.write("x%(sep)sy%(sep)sstart%(sep)send%(sep)svalue\n"\
+                       %({"sep":separator}))
+
+    for count in range(len(output_files)):
+        file_name = output_files[count]
+        gscript.verbose(_("Transforming r.what output file %s"%(file_name)))
+        map_list = output_time_list[count]
+        in_file = open(file_name, "r")
+        for line in in_file:
+            line = line.split(separator)
+            x = line[0]
+            y = line[1]
+            if site_input:
+                site = line[2]
+
+            # We ignore the site name
+            values = line[3:]
+            for i in range(len(values)):
+                start, end = map_list[i].get_temporal_extent_as_tuple()
+                if site_input:
+                    coor_string = "%(x)10.10f%(sep)s%(y)10.10f%(sep)s%(site_name)s%(sep)s"\
+                               %({"x":float(x),"y":float(y),"site_name":str(site),"sep":separator})
+                else:
+                    coor_string = "%(x)10.10f%(sep)s%(y)10.10f%(sep)s"\
+                               %({"x":float(x),"y":float(y),"sep":separator})
+                time_string = "%(start)s%(sep)s%(end)s%(sep)s%(val)s\n"\
+                               %({"start":str(start), "end":str(end),
+                                  "val":(values[i].strip()),"sep":separator})
+
+                out_file.write(coor_string + time_string)
+        
+        in_file.close()
+    
+    if out_file is not sys.stdout:
+        out_file.close()
+        
+############################################################################
+
+def one_point_per_col_output(separator, output_files, output_time_list,
+                             output, write_header, site_input):
+    """Write one point per col
+       output is of type: 
+       start,end,point_1 value,point_2 value,...,point_n value
+       
+       Each row represents a single raster map, hence a single time stamp
+    """
+    # open the output file for writing
+    out_file = open(output, 'w') if output != "-" else sys.stdout
+        
+    first = True
+    for count in range(len(output_files)):
+        file_name = output_files[count]
+        gscript.verbose(_("Transforming r.what output file %s"%(file_name)))
+        map_list = output_time_list[count]
+        in_file = open(file_name, "r")
+        lines = in_file.readlines()
+        
+        matrix = []
+        for line in lines:
+            matrix.append(line.split(separator))
+            
+        num_cols = len(matrix[0])
+        
+        if first is True:
+            if write_header is True:
+                out_file.write("start%(sep)send"%({"sep":separator}))
+                if site_input:
+                    for row in matrix:
+                        x = row[0]
+                        y = row[1]
+                        site = row[2]
+                        out_file.write("%(sep)s%(x)10.10f;%(y)10.10f;%(site_name)s"\
+                                   %({"sep":separator,
+                                      "x":float(x), 
+                                      "y":float(y),
+                                      "site_name":str(site)}))
+                else:
+                    for row in matrix:
+                        x = row[0]
+                        y = row[1]
+                        out_file.write("%(sep)s%(x)10.10f;%(y)10.10f"\
+                                   %({"sep":separator,
+                                      "x":float(x), 
+                                      "y":float(y)}))
+
+                out_file.write("\n")
+
+        first = False
+
+        for col in xrange(num_cols - 3):
+            start, end = output_time_list[count][col].get_temporal_extent_as_tuple()
+            time_string = "%(start)s%(sep)s%(end)s"\
+                               %({"start":str(start), "end":str(end),
+                                  "sep":separator})
+            out_file.write(time_string)
+            for row in xrange(len(matrix)):
+                value = matrix[row][col + 3]
+                out_file.write("%(sep)s%(value)s"\
+                                   %({"sep":separator,
+                                      "value":value.strip()}))
+            out_file.write("\n")
+
+        in_file.close()
+    if out_file is not sys.stdout:
+        out_file.close()
+
+############################################################################
+
+def one_point_per_timerow_output(separator, output_files, output_time_list,
+                             output, write_header, site_input):
+    """Use the original layout of the r.waht output and print instead of 
+       the raster names, the time stamps as header
+       
+       One point per line for all time stamps:
+        x|y|1991-01-01 00:00:00;1991-01-02 00:00:00|1991-01-02 00:00:00;1991-01-03 00:00:00|1991-01-03 00:00:00;1991-01-04 00:00:00|1991-01-04 00:00:00;1991-01-05 00:00:00
+        3730731.49590371|5642483.51236521|6|8|7|7
+        3581249.04638104|5634411.97526282|5|8|7|7
+    """
+    out_file = open(output, 'w') if output != "-" else sys.stdout
+
+    matrix = []
+    header = ""
+
+    first = True
+    for count in range(len(output_files)):
+        file_name = output_files[count]
+        gscript.verbose("Transforming r.what output file %s"%(file_name))
+        map_list = output_time_list[count]
+        in_file = open(file_name, "r")
+
+        if write_header:
+            if first is True:
+                if site_input:
+                    header = "x%(sep)sy%(sep)ssite"%({"sep":separator})
+                else:
+                    header = "x%(sep)sy"%({"sep":separator})
+            for map in map_list:
+                start, end = map.get_temporal_extent_as_tuple()
+                time_string = "%(sep)s%(start)s;%(end)s"\
+                              %({"start":str(start), "end":str(end),
+                                 "sep":separator})
+                header += time_string
+
+        lines = in_file.readlines()
+
+        for i in xrange(len(lines)):
+            cols = lines[i].split(separator)
+
+            if first is True:
+                if site_input:
+                    matrix.append(cols[:3])
+                else:
+                    matrix.append(cols[:2])
+
+            matrix[i] = matrix[i] + cols[3:]
+
+        first = False
+
+        in_file.close()
+
+    out_file.write(header + "\n")
+
+    gscript.verbose(_("Writing the output file <%s>"%(output)))
+    for row in matrix:
+        first = True
+        for col in row:
+            value = col.strip()
+            
+            if first is False:
+                out_file.write("%s"%(separator))
+            out_file.write(value)
+            
+            first = False
+
+        out_file.write("\n")
+    if out_file is not sys.stdout:
+        out_file.close()
+ 
+############################################################################
+
+def process_loop(nprocs, maps, file_name, count, maps_per_process, 
+                 remaining_maps_per_loop, output_files, 
+                 output_time_list, r_what, process_queue):
+    """Call r.what in parallel subprocesses"""
+    first = True
+    for process in range(nprocs):
+        num = maps_per_process
+        # Add the remaining maps to the first process
+        if first is True:
+            num += remaining_maps_per_loop
+        first = False
+
+        # Temporary output file
+        final_file_name = file_name + "_%i"%(process)
+        output_files.append(final_file_name)
+        
+        map_names = []
+        map_list = []
+        for i in range(num):
+            map = maps[count]
+            map_names.append(map.get_id())
+            map_list.append(map)
+            count += 1
+
+        output_time_list.append(map_list)
+
+        gscript.verbose(_("Process maps %(samp_start)i to %(samp_end)i (of %(total)i)"\
+                                  %({"samp_start":count-len(map_names)+1, 
+                                  "samp_end":count, "total":len(maps)})))
+        mod = copy.deepcopy(r_what)
+        mod(map=map_names, output=final_file_name)
+        #print(mod.get_bash())
+        process_queue.put(mod)
+
+    return count
+    
+############################################################################
+
+if __name__ == "__main__":
+    options, flags = gscript.parser()
+    main(options, flags)
diff --git a/temporal/t.rast.what/testsuite/test_what.py b/temporal/t.rast.what/testsuite/test_what.py
new file mode 100644
index 0000000..a05f170
--- /dev/null
+++ b/temporal/t.rast.what/testsuite/test_what.py
@@ -0,0 +1,173 @@
+"""Test t.rast.what
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Soeren Gebbert
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestRasterWhat(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+
+        cls.runModule("r.mapcalc", expression="a_1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a_4 = 400",  overwrite=True)
+        
+        cls.runModule("v.random", output="points", npoints=3, seed=1, overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
+                                 output="A",  title="A test",  description="A test",  
+                                 overwrite=True)
+        cls.runModule("t.register",  flags="i",  type="raster",  input="A",  
+                                     maps="a_1,a_2,a_3,a_4",  start="2001-01-01", 
+                                     increment="3 months",  overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.runModule("t.remove",  flags="rf",  type="strds",  
+                                   inputs="A")
+        cls.del_temp_region()
+
+    def test_row_output(self):
+        self.assertModule("t.rast.what",  strds="A",  output="out_row.txt", 
+                          points="points", flags="n",
+                          layout="row",
+                          nprocs=1,  overwrite=True,  verbose=True)
+
+        self.assertFileMd5("out_row.txt", "55209718566d70e1427bd1fecf844d53", text=True)
+
+
+    def test_row_output_coords(self):
+        self.assertModule("t.rast.what",  strds="A",  output="out_row_coords.txt", 
+                          coordinates=(30,30, 45, 45), flags="n",
+                          layout="row",
+                          nprocs=1,  overwrite=True,  verbose=True)
+
+        self.assertFileMd5("out_row_coords.txt", "cd917ac4848786f1b944512eed1da5bc", text=True)
+
+
+    def test_row_output_coords_stdin(self):
+        self.assertModule("t.rast.what",  strds="A",  output="out_row_coords.txt", 
+                          flags="ni",
+                          layout="row", stdin_="30 30\n45 45",
+                          nprocs=1,  overwrite=True,  verbose=True)
+
+        self.assertFileMd5("out_row_coords.txt", "cd917ac4848786f1b944512eed1da5bc", text=True)
+
+    def test_col_output(self):
+        self.assertModule("t.rast.what",  strds="A",  output="out_col.txt", 
+                          points="points", flags="n",
+                          layout="col",
+                          nprocs=1,  overwrite=True,  verbose=True)
+
+        self.assertFileMd5("out_col.txt", "8720cc237b46ddb18f11440469d0e13f", text=True)
+
+    def test_col_output_coords(self):
+        self.assertModule("t.rast.what",  strds="A",  output="out_col_coords.txt", 
+                          coordinates=(30,30, 45, 45), flags="n",
+                          layout="col",
+                          nprocs=1,  overwrite=True,  verbose=True)
+
+        self.assertFileMd5("out_col_coords.txt", "ac44ebc5aa040d4ce2a5787e95f208ec", text=True)
+
+    def test_timerow_output(self):
+        self.assertModule("t.rast.what",  strds="A",  output="out_timerow.txt", 
+                          points="points", flags="n",
+                          layout="timerow",
+                          nprocs=1,  overwrite=True,  verbose=True)
+
+        self.assertFileMd5("out_timerow.txt", "129fe0b63019e505232efa20ad42c03a", text=True)
+
+    def test_timerow_output_coords(self):
+        self.assertModule("t.rast.what",  strds="A",  output="out_timerow_coords.txt", 
+                          coordinates=(30,30, 45, 45), flags="n",
+                          layout="timerow",
+                          nprocs=1,  overwrite=True,  verbose=True)
+
+        self.assertFileMd5("out_timerow_coords.txt", "ca4ee0e7e4aaca170d6034e0d57d292d", text=True)
+
+    def test_row_stdout_where_parallel(self):
+        
+        t_rast_what = SimpleModule("t.rast.what",  strds="A",  output="-", 
+                                                      points="points", flags="n",
+                                                      where="start_time > '2001-03-01'",  
+                                                      nprocs=4,  overwrite=True,  verbose=True)
+        self.assertModule(t_rast_what)
+
+        text="""x|y|start|end|value
+115.0043586274|36.3593955783|2001-04-01 00:00:00|2001-07-01 00:00:00|200
+79.6816763826|45.2391522853|2001-04-01 00:00:00|2001-07-01 00:00:00|200
+97.4892579600|79.2347263950|2001-04-01 00:00:00|2001-07-01 00:00:00|200
+115.0043586274|36.3593955783|2001-07-01 00:00:00|2001-10-01 00:00:00|300
+79.6816763826|45.2391522853|2001-07-01 00:00:00|2001-10-01 00:00:00|300
+97.4892579600|79.2347263950|2001-07-01 00:00:00|2001-10-01 00:00:00|300
+115.0043586274|36.3593955783|2001-10-01 00:00:00|2002-01-01 00:00:00|400
+79.6816763826|45.2391522853|2001-10-01 00:00:00|2002-01-01 00:00:00|400
+97.4892579600|79.2347263950|2001-10-01 00:00:00|2002-01-01 00:00:00|400
+"""
+        self.assertLooksLike(text,  t_rast_what.outputs.stdout)
+
+    def test_row_stdout_where_parallel2(self):
+        """Here without output definition, the default is used then"""
+        
+        t_rast_what = SimpleModule("t.rast.what",  strds="A",  
+                                                      points="points", flags="n",
+                                                      where="start_time > '2001-03-01'",  
+                                                      nprocs=4,  overwrite=True,  verbose=True)
+        self.assertModule(t_rast_what)
+
+        text="""x|y|start|end|value
+115.0043586274|36.3593955783|2001-04-01 00:00:00|2001-07-01 00:00:00|200
+79.6816763826|45.2391522853|2001-04-01 00:00:00|2001-07-01 00:00:00|200
+97.4892579600|79.2347263950|2001-04-01 00:00:00|2001-07-01 00:00:00|200
+115.0043586274|36.3593955783|2001-07-01 00:00:00|2001-10-01 00:00:00|300
+79.6816763826|45.2391522853|2001-07-01 00:00:00|2001-10-01 00:00:00|300
+97.4892579600|79.2347263950|2001-07-01 00:00:00|2001-10-01 00:00:00|300
+115.0043586274|36.3593955783|2001-10-01 00:00:00|2002-01-01 00:00:00|400
+79.6816763826|45.2391522853|2001-10-01 00:00:00|2002-01-01 00:00:00|400
+97.4892579600|79.2347263950|2001-10-01 00:00:00|2002-01-01 00:00:00|400
+"""
+        self.assertLooksLike(text,  t_rast_what.outputs.stdout)
+
+    def test_row_output_where_parallel(self):
+        self.assertModule("t.rast.what",  strds="A",  output="out_where.txt", 
+                          points="points", flags="n",
+                          where="start_time > '2001-03-01'",  
+                          nprocs=4,  overwrite=True,  verbose=True)
+
+        self.assertFileMd5("out_where.txt", "af731bec01fedc262f4ac162fe420707", text=True)
+
+    def test_empty_strds(self):
+        self.assertModuleFail("t.rast.what",  strds="A",  output="out_error.txt", 
+                          points="points", flags="n",
+                          where="start_time > '2002-03-01'",  
+                          nprocs=4,  overwrite=True,  verbose=True)
+
+
+class TestRasterWhatFails(TestCase):
+
+    def test_error_handling(self):
+        # No vector map, no strds, no coordinates
+        self.assertModuleFail("t.rast.what",  output="out.txt")
+        # No vector map, no coordinates
+        self.assertModuleFail("t.rast.what",  strds="A",  output="out.txt")
+        # Points and coordinates are mutually exclusive
+        self.assertModuleFail("t.rast.what",  points="points", coordinates=(30, 30, 45, 45),  output="out.txt",  strds="A")
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.rast3d.algebra/t.rast3d.algebra.html b/temporal/t.rast3d.algebra/t.rast3d.algebra.html
index 210699f..b76e24f 100644
--- a/temporal/t.rast3d.algebra/t.rast3d.algebra.html
+++ b/temporal/t.rast3d.algebra/t.rast3d.algebra.html
@@ -33,5 +33,5 @@ indexing.
 
 Thomas Leppelt, Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-11-26 14:30:48 +0100 (Wed, 26 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-26 05:25:33 -0800 (Wed, 26 Nov 2014) $</i>
 
diff --git a/temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py b/temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py
index 7eb38a6..b29c12c 100644
--- a/temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py
+++ b/temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py
@@ -10,11 +10,13 @@ for details.
 
 import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 import datetime
 import os
 
-class TestTRast3dAlgebra(gunittest.TestCase):
+
+class TestTRast3dAlgebra(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -93,7 +95,7 @@ class TestTRast3dAlgebra(gunittest.TestCase):
         self.assertEqual(end, datetime.datetime(2001, 1, 4))
 
 
-class TestTRast3dAlgebraFails(gunittest.TestCase):
+class TestTRast3dAlgebraFails(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -121,7 +123,4 @@ class TestTRast3dAlgebraFails(gunittest.TestCase):
 
 
 if __name__ == '__main__':
-    grass.gunittest.test()
-
-
-
+    test()
diff --git a/temporal/t.rast3d.extract/t.rast3d.extract.html b/temporal/t.rast3d.extract/t.rast3d.extract.html
index adaaf2f..b6af418 100644
--- a/temporal/t.rast3d.extract/t.rast3d.extract.html
+++ b/temporal/t.rast3d.extract/t.rast3d.extract.html
@@ -21,5 +21,5 @@ documentation and examples.
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-11-26 14:30:48 +0100 (Wed, 26 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-26 05:25:33 -0800 (Wed, 26 Nov 2014) $</i>
 
diff --git a/temporal/t.rast3d.extract/t.rast3d.extract.py b/temporal/t.rast3d.extract/t.rast3d.extract.py
index baaadc7..51372e2 100755
--- a/temporal/t.rast3d.extract/t.rast3d.extract.py
+++ b/temporal/t.rast3d.extract/t.rast3d.extract.py
@@ -49,6 +49,15 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: nprocs
 #% type: integer
 #% description: Number of r3.mapcalc processes to run in parallel
@@ -78,12 +87,13 @@ def main():
     base = options["basename"]
     nprocs = int(options["nprocs"])
     register_null = flags["n"]
+    time_suffix = options["suffix"]
 
     # Make sure the temporal database exists
     tgis.init()
 
     tgis.extract_dataset(input, output, "raster3d", where, expression,
-                         base, nprocs, register_null)
+                         base, time_suffix, nprocs, register_null)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/temporal/t.rast3d.extract/testsuite/test_extract.py b/temporal/t.rast3d.extract/testsuite/test_extract.py
index fe2c89c..0387e8d 100644
--- a/temporal/t.rast3d.extract/testsuite/test_extract.py
+++ b/temporal/t.rast3d.extract/testsuite/test_extract.py
@@ -116,6 +116,23 @@ class TestRaster3dExtraction(TestCase):
         info = SimpleModule("t.info", flags="g", type="str3ds", input="B")
         self.assertModuleKeyValue(module=info, reference=tinfo_string, precision=2, sep="=")
 
+    def test_time_suffix_with_expression(self):
+        """Perform extract with time suffix support and test if maps exists"""
+        self.assertModule("t.rast3d.extract",  flags="n",  input="A", nprocs=2,
+                          output="B", basename="b", overwrite=True,
+                          suffix="time", expression="if(A > 400, A, null())")
+        self.assertRaster3dExists('b_2001_01_01T00_00_00')
+        self.assertRaster3dDoesNotExist('b_2001_01')
+
+    def test_num_suffix_with_expression(self):
+        """Perform extract with time suffix support and test if maps exists"""
+        self.assertModule("t.rast3d.extract",  flags="n",  input="A", nprocs=2,
+                          output="B", basename="b", overwrite=True,
+                          suffix='num%03', expression="if(A > 400, A, null())")
+        self.assertRaster3dExists('b_001')
+        self.assertRaster3dDoesNotExist('b_00001')
+
+
 class TestRaster3dExtractionFails(TestCase):
 
     @classmethod
diff --git a/temporal/t.rast3d.list/t.rast3d.list.html b/temporal/t.rast3d.list/t.rast3d.list.html
index 502d8da..afcaa86 100644
--- a/temporal/t.rast3d.list/t.rast3d.list.html
+++ b/temporal/t.rast3d.list/t.rast3d.list.html
@@ -20,5 +20,5 @@
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-11-26 14:30:48 +0100 (Wed, 26 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-26 05:25:33 -0800 (Wed, 26 Nov 2014) $</i>
 
diff --git a/temporal/t.rast3d.list/t.rast3d.list.py b/temporal/t.rast3d.list/t.rast3d.list.py
index 93971da..5792c3d 100755
--- a/temporal/t.rast3d.list/t.rast3d.list.py
+++ b/temporal/t.rast3d.list/t.rast3d.list.py
@@ -67,6 +67,10 @@
 #% guisection: Formatting
 #%end
 
+#%option G_OPT_F_OUTPUT
+#% required: no
+#%end
+
 #%flag
 #% key: s
 #% description: Suppress printing of column names
@@ -89,12 +93,13 @@ def main():
     separator = grass.separator(options["separator"])
     method = options["method"]
     header = flags["s"]
+    output = options["output"]
 
     # Make sure the temporal database exists
     tgis.init()
 
-    tgis.list_maps_of_stds(
-        "str3ds", input, columns, order, where, separator, method, header)
+    tgis.list_maps_of_stds("str3ds", input, columns, order, where, separator,
+                           method, header, outpath=output)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/temporal/t.rast3d.list/testsuite/test.t.rast3d.list.sh b/temporal/t.rast3d.list/testsuite/test.t.rast3d.list.sh
index 099df54..a315a9b 100755
--- a/temporal/t.rast3d.list/testsuite/test.t.rast3d.list.sh
+++ b/temporal/t.rast3d.list/testsuite/test.t.rast3d.list.sh
@@ -81,24 +81,24 @@ t.rast3d.list separator=" | " method=cols      input=volume_abs1
 t.rast3d.list separator=" | " method=delta     input=volume_abs1
 t.rast3d.list separator=" | " method=deltagaps input=volume_abs1
 
-t.register -i type=raster_3d input=volume_abs2 file="${n2}"
+t.register type=raster_3d input=volume_abs2 file="${n2}"
 t.rast3d.list    separator=" | " method=comma     input=volume_abs2
 t.rast3d.list input=volume_abs2
 t.rast3d.list separator=" | " method=cols      input=volume_abs2
 t.rast3d.list separator=" | " method=delta     input=volume_abs2
 t.rast3d.list separator=" | " method=deltagaps input=volume_abs2
 
-t.register -i type=raster_3d input=volume_abs3 file="${n3}"
+t.register type=raster_3d input=volume_abs3 file="${n3}"
 t.rast3d.list    separator=" | " method=comma     input=volume_abs3
 t.rast3d.list separator=" | " method=delta     input=volume_abs3
 t.rast3d.list separator=" | " method=deltagaps input=volume_abs3
 
-t.register -i type=raster_3d input=volume_abs4 file="${n4}"
+t.register type=raster_3d input=volume_abs4 file="${n4}"
 t.rast3d.list    separator=" | " method=comma     input=volume_abs4
 t.rast3d.list separator=" | " method=delta     input=volume_abs4
 t.rast3d.list separator=" | " method=deltagaps input=volume_abs4
 
-t.register -i type=raster_3d input=volume_abs5 file="${n5}"
+t.register type=raster_3d input=volume_abs5 file="${n5}"
 t.rast3d.list    separator=" | " method=comma     input=volume_abs5
 t.rast3d.list input=volume_abs5
 t.rast3d.list separator=" | " method=cols      input=volume_abs5
diff --git a/temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html b/temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html
index 5d55a78..27ef92f 100644
--- a/temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html
+++ b/temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.html
@@ -20,4 +20,4 @@ enhanced with temporal functions.
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-11-26 14:30:48 +0100 (Wed, 26 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-26 05:25:33 -0800 (Wed, 26 Nov 2014) $</i>
diff --git a/temporal/t.rast3d.univar/t.rast3d.univar.html b/temporal/t.rast3d.univar/t.rast3d.univar.html
index e3a92f9..dfcf2bb 100644
--- a/temporal/t.rast3d.univar/t.rast3d.univar.html
+++ b/temporal/t.rast3d.univar/t.rast3d.univar.html
@@ -17,5 +17,5 @@
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-11-26 14:30:48 +0100 (Wed, 26 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-11-26 05:25:33 -0800 (Wed, 26 Nov 2014) $</i>
 
diff --git a/temporal/t.rast3d.univar/testsuite/test_univar.py b/temporal/t.rast3d.univar/testsuite/test_univar.py
index 42747b6..877ef9b 100644
--- a/temporal/t.rast3d.univar/testsuite/test_univar.py
+++ b/temporal/t.rast3d.univar/testsuite/test_univar.py
@@ -11,6 +11,7 @@ for details.
 from grass.gunittest.case import TestCase
 from grass.gunittest.gmodules import SimpleModule
 
+
 class TestRasterUnivar(TestCase):
 
     @classmethod
@@ -53,7 +54,11 @@ a_2 at testing|2001-04-01 00:00:00|2001-07-01 00:00:00|200|200|200|200|0|0|0|960000
 a_3 at testing|2001-07-01 00:00:00|2001-10-01 00:00:00|300|300|300|300|0|0|0|144000000|0|480000
 a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|192000000|0|480000
 """
-        self.assertLooksLike(univar_text,  t_rast3d_univar.outputs.stdout)
+        for ref, res in zip(univar_text.split("\n"), t_rast3d_univar.outputs.stdout.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_2(self):
 
@@ -67,7 +72,11 @@ a_2 at testing|2001-04-01 00:00:00|2001-07-01 00:00:00|200|200|200|200|0|0|0|960000
 a_3 at testing|2001-07-01 00:00:00|2001-10-01 00:00:00|300|300|300|300|0|0|0|144000000|0|480000
 a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|192000000|0|480000
 """
-        self.assertLooksLike(univar_text,  t_rast3d_univar.outputs.stdout)
+        for ref, res in zip(univar_text.split("\n"), t_rast3d_univar.outputs.stdout.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_3(self):
 
@@ -83,7 +92,11 @@ a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|192000
 """
         univar_output = open("univar_output.txt", "r").read()
 
-        self.assertLooksLike(univar_text, univar_output)
+        for ref, res in zip(univar_text.split("\n"), univar_output.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_4(self):
 
@@ -98,7 +111,11 @@ a_4 at testing|2001-10-01 00:00:00|2002-01-01 00:00:00|400|400|400|400|0|0|0|192000
 """
         univar_output = open("univar_output.txt", "r").read()
 
-        self.assertLooksLike(univar_text, univar_output)
+        for ref, res in zip(univar_text.split("\n"), univar_output.split("\n")):
+            if ref and res:
+                ref_line = ref.split("|", 1)[1]
+                res_line = res.split("|", 1)[1]
+                self.assertLooksLike(ref_line,  res_line)
 
     def test_5_error_handling_empty_strds(self):
         # Empty str3ds
diff --git a/temporal/t.register/t.register.html b/temporal/t.register/t.register.html
index 1ab53cc..0c40040 100644
--- a/temporal/t.register/t.register.html
+++ b/temporal/t.register/t.register.html
@@ -182,6 +182,52 @@ prec_6|PERMANENT|2001-06-01 00:00:00|2001-07-01 00:00:00
 prec_7|PERMANENT|2001-07-01 00:00:00|2001-08-01 00:00:00
 </pre></div>
 
+<h3>Importing and registering ECA&D climatic data</h3>
+
+The European Climate Assessment & Dataset (ECA&D) project
+offers the E-OBS dataset which is a daily gridded observational
+dataset for precipitation, temperature and sea level pressure in
+Europe based on ECA&D information.
+
+Download and decompress mean temperature data from: 
+<a href="http://eca.knmi.nl/download/ensembles/data/Grid_0.25deg_reg/">here</a>
+by accepting their
+<a href="http://eca.knmi.nl/download/ensembles/ensembles.php">Terms of use</a>.
+
+<div class="code"><pre>
+# import E-OBS V12 into a lat-long location (alternatively, use r.external)
+r.in.gdal -oe input=tg_0.25deg_reg_1950-1964_v12.0.nc \
+  output=temperature_mean offset=0
+r.in.gdal -oe input=tg_0.25deg_reg_1965-1979_v12.0.nc \
+  output=temperature_mean offset=5479 --o
+r.in.gdal -oe input=tg_0.25deg_reg_1980-1994_v12.0.nc \
+  output=temperature_mean offset=10957 --o
+r.in.gdal -oe input=tg_0.25deg_reg_1995-2015_v12.0.nc \
+  output=temperature_mean offset=16436 --o
+
+# create STRDS
+t.create type=strds output=temperature_mean_1950_2015_daily \
+  temporaltype=absolute semantictype=mean \
+  title="European mean temperature 1950-2015" \
+  description="The European daily mean temperature from ECAD"
+
+# create text file with all temperature_mean rasters, one per line,
+# a) using a shell script
+for i in `seq 1 23922` ; do 
+    echo temperature_mean.$i >> map_list.txt
+done
+
+# b) using a Python script
+file = open("map_list.txt", "w")
+for i in range(23922):
+    file.write("temperature_mean.%i\n" % (i + 1))
+file.close()
+
+# register daily maps using the file created above
+t.register -i type=raster input=temperature_mean_1950_2015_daily \
+              file=map_list.txt start=1950-01-01 increment="1 days"
+</pre></div>
+
 <h2>SEE ALSO</h2>
 
 <em>
@@ -194,5 +240,5 @@ prec_7|PERMANENT|2001-07-01 00:00:00|2001-08-01 00:00:00
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2016-01-13 00:30:14 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-03-31 15:07:13 -0700 (Thu, 31 Mar 2016) $</i>
 
diff --git a/temporal/t.remove/t.remove.html b/temporal/t.remove/t.remove.html
index 63fafbe..4f396f8 100644
--- a/temporal/t.remove/t.remove.html
+++ b/temporal/t.remove/t.remove.html
@@ -57,5 +57,5 @@ t.remove type=strds input=precip_months_sum
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-27 13:11:04 +0200 (Sun, 27 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-27 04:10:53 -0700 (Sun, 27 Sep 2015) $</i>
 
diff --git a/temporal/t.rename/t.rename.html b/temporal/t.rename/t.rename.html
index 229f364..6f51374 100644
--- a/temporal/t.rename/t.rename.html
+++ b/temporal/t.rename/t.rename.html
@@ -34,5 +34,5 @@ t.remove input=newname type=stvds
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-12 11:38:58 +0200 (Sat, 12 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-12 02:38:35 -0700 (Sat, 12 Sep 2015) $</i>
 
diff --git a/temporal/t.sample/t.sample.html b/temporal/t.sample/t.sample.html
index 01e8392..cefac4b 100644
--- a/temporal/t.sample/t.sample.html
+++ b/temporal/t.sample/t.sample.html
@@ -175,5 +175,5 @@ pnts2 at PERMANENT|a4 at PERMANENT|2001-05-01 00:00:00|2001-07-01 00:00:00|61.0|120.0
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.select/t.select.html b/temporal/t.select/t.select.html
index 3ee866f..2f86b37 100644
--- a/temporal/t.select/t.select.html
+++ b/temporal/t.select/t.select.html
@@ -372,5 +372,5 @@ D = if(contains, td(buff_t(A, "1 days")) == 3, B, C)
 
 Thomas Leppelt, Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-25 09:55:23 -0800 (Sun, 25 Jan 2015) $</i>
 
diff --git a/temporal/t.shift/t.shift.html b/temporal/t.shift/t.shift.html
index 62dfa35..05d4ae2 100644
--- a/temporal/t.shift/t.shift.html
+++ b/temporal/t.shift/t.shift.html
@@ -196,5 +196,5 @@ prec_6|PERMANENT|2012-01-06 12:00:00|2012-01-07 12:00:00
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.shift/t.shift.py b/temporal/t.shift/t.shift.py
index 6345250..5a81a4d 100755
--- a/temporal/t.shift/t.shift.py
+++ b/temporal/t.shift/t.shift.py
@@ -17,6 +17,7 @@
 #%module
 #% description: Shifts temporally the maps of a space time dataset.
 #% keyword: temporal
+#% keyword: time management
 #% keyword: shift
 #% keyword: time
 #%end
diff --git a/temporal/t.shift/test.t.shift.absolue.sh b/temporal/t.shift/test.t.shift.absolue.sh
deleted file mode 100755
index 7f8fe43..0000000
--- a/temporal/t.shift/test.t.shift.absolue.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-# Space time raster dataset temporal shifting
-# We need to set a specific region in the
-# @preprocess step of this test. 
-# The region setting should work for UTM and LL test locations
-g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3
-
-# Generate data
-r.mapcalc --o expr="prec_1 = rand(0, 550)" -s
-r.mapcalc --o expr="prec_2 = rand(0, 450)" -s
-r.mapcalc --o expr="prec_3 = rand(0, 320)" -s
-r.mapcalc --o expr="prec_4 = rand(0, 510)" -s
-r.mapcalc --o expr="prec_5 = rand(0, 300)" -s
-r.mapcalc --o expr="prec_6 = rand(0, 650)" -s
-
-t.create --o type=strds temporaltype=absolute output=precip_abs title="A test" descr="A test"
-t.register -i --o type=raster input=precip_abs maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 \
-    start="2001-01-01 12:00:00" increment="14 days"
-
-t.rast.list input=precip_abs
-
-# The first @test
-t.shift --o input=precip_abs granularity="3 years"
-t.info type=strds input=precip_abs
-t.rast.list input=precip_abs
-t.shift --o input=precip_abs granularity="12 months"
-t.info type=strds input=precip_abs
-t.rast.list input=precip_abs
-t.shift --o input=precip_abs granularity="2 days"
-t.info type=strds input=precip_abs
-t.rast.list input=precip_abs
-t.shift --o input=precip_abs granularity="3 hours"
-t.info type=strds input=precip_abs
-t.rast.list input=precip_abs
-t.shift --o input=precip_abs granularity="30 minutes"
-t.info type=strds input=precip_abs
-t.rast.list input=precip_abs
-t.shift --o input=precip_abs granularity="5 seconds"
-t.info type=strds input=precip_abs
-t.rast.list input=precip_abs
-# This should give an error because of the monthly increment 
-# that will result in wrong number of days in the next month
-t.shift --o input=precip_abs granularity="1 month"
-
-t.unregister type=raster maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6
-t.remove type=strds input=precip_abs
diff --git a/temporal/t.shift/test.t.shift.relative.sh b/temporal/t.shift/test.t.shift.relative.sh
deleted file mode 100755
index 6a13686..0000000
--- a/temporal/t.shift/test.t.shift.relative.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-# Space time raster dataset temporal shifting with relative time
-# We need to set a specific region in the
-# @preprocess step of this test. 
-# The region setting should work for UTM and LL test locations
-g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3
-
-# Generate data
-r.mapcalc --o expr="prec_1 = rand(0, 550)" -s
-r.mapcalc --o expr="prec_2 = rand(0, 450)" -s
-r.mapcalc --o expr="prec_3 = rand(0, 320)" -s
-r.mapcalc --o expr="prec_4 = rand(0, 510)" -s
-r.mapcalc --o expr="prec_5 = rand(0, 300)" -s
-r.mapcalc --o expr="prec_6 = rand(0, 650)" -s
-
-t.create --o type=strds temporaltype=relative output=precip_rel title="A test" descr="A test"
-t.register -i --o type=raster unit=days input=precip_rel maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 \
-    start=0 increment=1
-
-t.info type=strds input=precip_rel
-t.rast.list input=precip_rel
-
-# The first @test
-t.shift --o input=precip_rel granularity=3
-t.info type=strds input=precip_rel
-t.rast.list input=precip_rel
-t.shift --o input=precip_rel granularity=10000
-t.info type=strds input=precip_rel
-t.rast.list input=precip_rel
-
-t.unregister type=raster maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6
-t.remove type=strds input=precip_rel
diff --git a/temporal/t.shift/testsuite/test_shift.py b/temporal/t.shift/testsuite/test_shift.py
new file mode 100644
index 0000000..807d1fa
--- /dev/null
+++ b/temporal/t.shift/testsuite/test_shift.py
@@ -0,0 +1,526 @@
+"""Test t.shift
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Soeren Gebbert
+"""
+import os
+import grass.pygrass.modules as pymod
+import grass.temporal as tgis
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+
+class TestShiftAbsoluteSTRDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-01", 
+                                     increment="14 days",  
+                                     overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+        
+    def test_1(self):
+        
+        A = tgis.open_old_stds("A", type="strds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point") 
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+        
+        self.assertModule("t.shift", input="A", 
+                          granularity="1 day", 
+                          type="strds")
+        
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 2)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-1 day",
+                          type="strds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-1 year",
+                          type="strds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="6 month",
+                          type="strds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 7)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="1 hour",
+                          type="strds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 7)
+        self.assertEqual(start.day, 1)
+        self.assertEqual(start.hour, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-3630 seconds",
+                          type="strds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 6)
+        self.assertEqual(start.day, 30)
+        self.assertEqual(start.hour, 23)
+        self.assertEqual(start.minute, 59)
+        self.assertEqual(start.second, 30)
+
+class TestShiftRelativeSTRDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="relative",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="0", 
+                                     increment="14", unit="days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+
+    def test_1(self):
+
+        A = tgis.open_old_stds("A", type="strds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point")
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start, 0)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="1",
+                          type="strds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start, 1)
+
+
+class TestShiftAbsoluteSTR3DS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r3.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="str3ds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster_3d",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-01", 
+                                     increment="14 days",  
+                                     overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="str3ds", inputs="A")
+
+    def test_1(self):
+
+        A = tgis.open_old_stds("A", type="str3ds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point")
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="1 day",
+                          type="str3ds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 2)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-1 day",
+                          type="str3ds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-1 year",
+                          type="str3ds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="6 month",
+                          type="str3ds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 7)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="1 hour",
+                          type="str3ds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 7)
+        self.assertEqual(start.day, 1)
+        self.assertEqual(start.hour, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-3630 seconds",
+                          type="str3ds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 6)
+        self.assertEqual(start.day, 30)
+        self.assertEqual(start.hour, 23)
+        self.assertEqual(start.minute, 59)
+        self.assertEqual(start.second, 30)
+
+
+class TestShiftRelativeSTR3DS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r3.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="str3ds",  temporaltype="relative",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster_3d",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="0", 
+                                     increment="14", unit="days",  
+                                     overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="str3ds", inputs="A")
+
+    def test_1(self):
+
+        A = tgis.open_old_stds("A", type="str3ds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point")
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start, 0)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="1",
+                          type="str3ds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start, 1)
+
+
+class TestShiftAbsoluteSTVDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a1')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a2')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a3')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a4')
+
+        cls.runModule("t.create",  type="stvds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="vector",  input="A",  
+                                     maps="a1,a2,a3,a4", flags="i",
+                                     start="2001-01-01", 
+                                     increment="14 days",  
+                                     overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="stvds", inputs="A")
+
+    def test_1(self):
+
+        A = tgis.open_old_stds("A", type="stvds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "interval")
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="1 day",
+                          type="stvds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 2)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-1 day",
+                          type="stvds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2001)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-1 year",
+                          type="stvds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 1)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="6 month",
+                          type="stvds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 7)
+        self.assertEqual(start.day, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="1 hour",
+                          type="stvds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 7)
+        self.assertEqual(start.day, 1)
+        self.assertEqual(start.hour, 1)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="-3630 seconds",
+                          type="stvds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start.year, 2000)
+        self.assertEqual(start.month, 6)
+        self.assertEqual(start.day, 30)
+        self.assertEqual(start.hour, 23)
+        self.assertEqual(start.minute, 59)
+        self.assertEqual(start.second, 30)
+
+
+class TestShiftRelativeSTVDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a1')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a2')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a3')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a4')
+
+        cls.runModule("t.create",  type="stvds",  temporaltype="relative",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="vector",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="0", flags="i",
+                                     increment="14", unit="days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="stvds", inputs="A")
+
+    def test_1(self):
+
+        A = tgis.open_old_stds("A", type="stvds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "interval")
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start, 0)
+
+        self.assertModule("t.shift", input="A",
+                          granularity="1",
+                          type="stvds")
+
+        A.select()
+        start, end = A.get_temporal_extent_as_tuple()
+        self.assertEqual(start, 1)
+
+
+class TestShiftAbsoluteError(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="relative",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="0", 
+                                     increment="14", unit="days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+       
+
+    def test_1(self):
+        pass
+        #self.assterModuleFail()
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
+
diff --git a/temporal/t.snap/t.snap.html b/temporal/t.snap/t.snap.html
index bb910cf..7358da7 100644
--- a/temporal/t.snap/t.snap.html
+++ b/temporal/t.snap/t.snap.html
@@ -197,5 +197,5 @@ t.rast.list input=precipitation_daily
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-08-24 18:27:10 +0200 (Mon, 24 Aug 2015) $</i>
+<p><i>Last changed: $Date: 2015-08-24 09:26:08 -0700 (Mon, 24 Aug 2015) $</i>
 
diff --git a/temporal/t.snap/t.snap.py b/temporal/t.snap/t.snap.py
index 634b60b..ec7883f 100755
--- a/temporal/t.snap/t.snap.py
+++ b/temporal/t.snap/t.snap.py
@@ -17,6 +17,7 @@
 #%module
 #% description: Snaps temporally the maps of a space time dataset.
 #% keyword: temporal
+#% keyword: time management
 #% keyword: snapping
 #% keyword: time
 #%end
diff --git a/temporal/t.snap/testsuite/test_snap.py b/temporal/t.snap/testsuite/test_snap.py
new file mode 100644
index 0000000..b7de92b
--- /dev/null
+++ b/temporal/t.snap/testsuite/test_snap.py
@@ -0,0 +1,291 @@
+"""Test t.snap
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Soeren Gebbert
+"""
+import os
+import grass.pygrass.modules as pymod
+import grass.temporal as tgis
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+
+class TestSnapAbsoluteSTRDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-01", 
+                                     increment="14 days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        A = tgis.open_old_stds("A", type="strds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point") 
+        
+        self.assertModule("t.snap", input="A", type="strds")
+        
+        A.select()
+        self.assertEqual(A.get_map_time(), "interval") 
+
+
+class TestSnapRelativeSTRDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="relative",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="0", 
+                                     increment="14", unit="days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        A = tgis.open_old_stds("A", type="strds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point") 
+        
+        self.assertModule("t.snap", input="A", type="strds")
+        
+        A.select()
+        self.assertEqual(A.get_map_time(), "interval") 
+ 
+
+class TestSnapAbsoluteSTR3DS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r3.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="str3ds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster_3d",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-01", 
+                                     increment="14 days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="str3ds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        A = tgis.open_old_stds("A", type="str3ds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point") 
+        
+        self.assertModule("t.snap", input="A", type="str3ds")
+        
+        A.select()
+        self.assertEqual(A.get_map_time(), "interval") 
+
+
+class TestSnapRelativeSTR3DS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r3.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="str3ds",  temporaltype="relative",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="raster_3d",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="0", 
+                                     increment="14", unit="days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="str3ds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        A = tgis.open_old_stds("A", type="str3ds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point") 
+        
+        self.assertModule("t.snap", input="A", type="str3ds")
+        
+        A.select()
+        self.assertEqual(A.get_map_time(), "interval") 
+ 
+
+
+class TestSnapAbsoluteSTVDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a1')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a2')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a3')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a4')
+
+        cls.runModule("t.create",  type="stvds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="vector",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-01", 
+                                     increment="14 days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="stvds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        A = tgis.open_old_stds("A", type="stvds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point") 
+        
+        self.assertModule("t.snap", input="A", type="stvds")
+        
+        A.select()
+        self.assertEqual(A.get_map_time(), "interval") 
+
+
+class TestSnapRelativeSTVDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a1')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a2')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a3')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a4')
+
+        cls.runModule("t.create",  type="stvds",  temporaltype="relative",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", type="vector",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="0", 
+                                     increment="14", unit="days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="stvds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        A = tgis.open_old_stds("A", type="stvds")
+        A.select()
+        self.assertEqual(A.get_map_time(), "point") 
+        
+        self.assertModule("t.snap", input="A", type="stvds")
+        
+        A.select()
+        self.assertEqual(A.get_map_time(), "interval") 
+ 
+ 
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
+
diff --git a/temporal/t.support/t.support.html b/temporal/t.support/t.support.html
index 7f62eae..9882b7b 100644
--- a/temporal/t.support/t.support.html
+++ b/temporal/t.support/t.support.html
@@ -41,5 +41,5 @@ t.support -m type=strds input=tempmean_monthly
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-02-13 16:16:22 +0100 (Fri, 13 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2015-02-13 07:14:07 -0800 (Fri, 13 Feb 2015) $</i>
 
diff --git a/temporal/t.support/t.support.py b/temporal/t.support/t.support.py
index 8219522..c699afd 100755
--- a/temporal/t.support/t.support.py
+++ b/temporal/t.support/t.support.py
@@ -55,6 +55,14 @@
 #% multiple: no
 #%end
 
+#%option
+#% key:  aggr_type
+#% type: string
+#% description: Aggregation type of the space time raster or 3D raster dataset
+#% required: no
+#% multiple: no
+#%end
+
 #%flag
 #% key: m
 #% label: Update the metadata information and spatial extent of registered maps from the GRASS spatial database
@@ -63,7 +71,7 @@
 
 #%flag
 #% key: u
-#% description: Update metadata information, temporal and spatial extent from registered maps
+#% description: Update metadata information, temporal and spatial extent from registered maps based on database entries.
 #%end
 
 
@@ -78,6 +86,7 @@ def main():
     name = options["input"]
     type = options["type"]
     title = options["title"]
+    aggr_type = options["aggr_type"]
     description = options["description"]
     semantic = options["semantictype"]
     update = flags["u"]
@@ -92,6 +101,12 @@ def main():
     stds = tgis.open_old_stds(name, type, dbif)
 
     update = False
+    if aggr_type and type == "stvds":
+        return()
+    
+    if aggr_type and type != "stvds":
+        stds.metadata.set_aggregation_type(aggregation_type=aggr_type)
+        update = True
     if title:
         stds.metadata.set_title(title=title)
         update = True
diff --git a/temporal/t.support/testsuite/test_support_str3ds.py b/temporal/t.support/testsuite/test_support_str3ds.py
new file mode 100644
index 0000000..8790bdc
--- /dev/null
+++ b/temporal/t.support/testsuite/test_support_str3ds.py
@@ -0,0 +1,105 @@
+"""Test t.support
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Soeren Gebbert
+"""
+import os
+import grass.pygrass.modules as pymod
+import grass.temporal as tgis
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestSupportAbsoluteSTR3DS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r3.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r3.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="str3ds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", flags="i",  type="raster_3d",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-15 12:05:45", 
+                                     increment="14 days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="str3ds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        title="A new title"
+        descr="A new description"
+        aggr_type="average"
+        semantic="sum"
+        
+        self.assertModule("t.support", type="str3ds", input="A",
+                          title=title,
+                          description=descr,
+                          semantictype=semantic,
+                          aggr_type=aggr_type)
+
+        A = tgis.open_old_stds("A", type="str3ds")
+        A.select()
+        self.assertEqual(A.metadata.get_title(), title)  
+        self.assertEqual(A.metadata.get_description(), descr)  
+        self.assertEqual(A.metadata.get_aggregation_type(), aggr_type)   
+        self.assertEqual(A.base.get_semantic_type(), semantic)        
+        
+    def test_2_update(self):
+        """Set title, description and aggregation"""
+        
+        self.runModule("r3.mapcalc", expression="a1 = 10",  overwrite=True)
+        self.runModule("r3.mapcalc", expression="a2 = 20",  overwrite=True)
+        self.runModule("r3.mapcalc", expression="a3 = 30",  overwrite=True)
+        self.runModule("r3.mapcalc", expression="a4 = 40",  overwrite=True)
+        
+        self.assertModule("t.support", type="str3ds", input="A", flags="m")
+
+        A = tgis.open_old_stds("A", type="str3ds")
+        A.select()
+        self.assertEqual(A.metadata.get_min_min(), 10) 
+        self.assertEqual(A.metadata.get_min_max(), 40)  
+        self.assertEqual(A.metadata.get_max_min(), 10) 
+        self.assertEqual(A.metadata.get_max_max(), 40) 
+        self.assertEqual(A.metadata.get_number_of_maps(), 4)      
+
+    def test_3_update(self):
+        """Set title, description and aggregation"""
+        
+        self.runModule("g.remove", type="raster_3d", name="a4", flags="f")
+        
+        self.assertModule("t.support", type="str3ds", input="A", flags="m")
+
+        A = tgis.open_old_stds("A", type="str3ds")
+        A.select()
+        self.assertEqual(A.metadata.get_min_min(), 10) 
+        self.assertEqual(A.metadata.get_min_max(), 30)  
+        self.assertEqual(A.metadata.get_max_min(), 10) 
+        self.assertEqual(A.metadata.get_max_max(), 30)  
+        self.assertEqual(A.metadata.get_number_of_maps(), 3)      
+
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.support/testsuite/test_support_strds.py b/temporal/t.support/testsuite/test_support_strds.py
new file mode 100644
index 0000000..c2be37d
--- /dev/null
+++ b/temporal/t.support/testsuite/test_support_strds.py
@@ -0,0 +1,105 @@
+"""Test t.support
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Soeren Gebbert
+"""
+import os
+import grass.pygrass.modules as pymod
+import grass.temporal as tgis
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestSupportAbsoluteSTRDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("r.mapcalc", expression="a1 = 100",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a2 = 200",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a3 = 300",  overwrite=True)
+        cls.runModule("r.mapcalc", expression="a4 = 400",  overwrite=True)
+
+        cls.runModule("t.create",  type="strds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", flags="i",  type="raster",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-15 12:05:45", 
+                                     increment="14 days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        title="A new title"
+        descr="A new description"
+        aggr_type="average"
+        semantic="sum"
+        
+        self.assertModule("t.support", input="A",
+                          title=title,
+                          description=descr,
+                          semantictype=semantic,
+                          aggr_type=aggr_type)
+
+        A = tgis.open_old_stds("A", type="strds")
+        A.select()
+        self.assertEqual(A.metadata.get_title(), title)  
+        self.assertEqual(A.metadata.get_description(), descr)  
+        self.assertEqual(A.metadata.get_aggregation_type(), aggr_type)   
+        self.assertEqual(A.base.get_semantic_type(), semantic)        
+        
+    def test_2_update(self):
+        """Set title, description and aggregation"""
+        
+        self.runModule("r.mapcalc", expression="a1 = 10",  overwrite=True)
+        self.runModule("r.mapcalc", expression="a2 = 20",  overwrite=True)
+        self.runModule("r.mapcalc", expression="a3 = 30",  overwrite=True)
+        self.runModule("r.mapcalc", expression="a4 = 40",  overwrite=True)
+        
+        self.assertModule("t.support", input="A", flags="m")
+
+        A = tgis.open_old_stds("A", type="strds")
+        A.select()
+        self.assertEqual(A.metadata.get_min_min(), 10) 
+        self.assertEqual(A.metadata.get_min_max(), 40)  
+        self.assertEqual(A.metadata.get_max_min(), 10) 
+        self.assertEqual(A.metadata.get_max_max(), 40) 
+        self.assertEqual(A.metadata.get_number_of_maps(), 4)      
+
+    def test_3_update(self):
+        """Set title, description and aggregation"""
+        
+        self.runModule("g.remove", type="raster", name="a4", flags="f")
+        
+        self.assertModule("t.support", input="A", flags="m")
+
+        A = tgis.open_old_stds("A", type="strds")
+        A.select()
+        self.assertEqual(A.metadata.get_min_min(), 10) 
+        self.assertEqual(A.metadata.get_min_max(), 30)  
+        self.assertEqual(A.metadata.get_max_min(), 10) 
+        self.assertEqual(A.metadata.get_max_max(), 30)  
+        self.assertEqual(A.metadata.get_number_of_maps(), 3)      
+
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.support/testsuite/test_support_stvds.py b/temporal/t.support/testsuite/test_support_stvds.py
new file mode 100644
index 0000000..2b20435
--- /dev/null
+++ b/temporal/t.support/testsuite/test_support_stvds.py
@@ -0,0 +1,96 @@
+"""Test t.support
+
+(C) 2015 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Soeren Gebbert
+"""
+import os
+import grass.pygrass.modules as pymod
+import grass.temporal as tgis
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestSupportAbsoluteSTVDS(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        os.putenv("GRASS_OVERWRITE",  "1")
+        tgis.init()
+        cls.use_temp_region()
+        cls.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  
+                      t=50,  res=10,  res3=10)
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a1')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a2')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a3')
+        cls.runModule("v.random", quiet=True, npoints=20, seed=1,  output='a4')
+
+        cls.runModule("t.create",  type="stvds",  temporaltype="absolute",  
+                                    output="A",  title="A test",  
+                                    description="A test",  overwrite=True)
+
+        cls.runModule("t.register", flags="i",  type="vector",  input="A",  
+                                     maps="a1,a2,a3,a4",
+                                     start="2001-01-15 12:05:45", 
+                                     increment="14 days",  
+                                     overwrite=True)
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()        
+        cls.runModule("t.remove", flags="rf", type="stvds", inputs="A")
+        
+    def test_1_metadata(self):
+        """Set title, description and aggregation"""
+        
+        title="A new title"
+        descr="A new description"
+        semantic="sum"
+        
+        self.assertModule("t.support", type="stvds", input="A",
+                          title=title,
+                          description=descr,
+                          semantictype=semantic)
+
+        A = tgis.open_old_stds("A", type="stvds")
+        A.select()
+        self.assertEqual(A.metadata.get_title(), title)  
+        self.assertEqual(A.metadata.get_description(), descr)  
+        self.assertEqual(A.base.get_semantic_type(), semantic)        
+        
+    def test_2_update(self):
+        """Set title, description and aggregation"""
+        
+        self.runModule("v.random", quiet=True, npoints=10, seed=1,  output='a1')
+        self.runModule("v.random", quiet=True, npoints=10, seed=1,  output='a2')
+        self.runModule("v.random", quiet=True, npoints=10, seed=1,  output='a3')
+        self.runModule("v.random", quiet=True, npoints=10, seed=1,  output='a4')
+        
+        self.assertModule("t.support", type="stvds", input="A", flags="m")
+
+        A = tgis.open_old_stds("A", type="stvds")
+        A.select()
+        self.assertEqual(A.metadata.get_number_of_points(), 40) 
+        self.assertEqual(A.metadata.get_number_of_maps(), 4)      
+
+    def test_3_update(self):
+        """Set title, description and aggregation"""
+        
+        self.runModule("g.remove", type="vector", name="a4", flags="f")
+        
+        self.assertModule("t.support", type="stvds", input="A", flags="m")
+
+        A = tgis.open_old_stds("A", type="stvds")
+        A.select()
+        self.assertEqual(A.metadata.get_number_of_points(), 30) 
+        self.assertEqual(A.metadata.get_number_of_maps(), 3)      
+
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.topology/t.topology.html b/temporal/t.topology/t.topology.html
index 09b014c..9cfb740 100644
--- a/temporal/t.topology/t.topology.html
+++ b/temporal/t.topology/t.topology.html
@@ -52,5 +52,5 @@ t.topology tempmean_monthly at climate_2009_2012
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-12-26 23:44:16 +0100 (Fri, 26 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-03 11:39:26 -0800 (Wed, 03 Dec 2014) $</i>
 
diff --git a/temporal/t.unregister/t.unregister.html b/temporal/t.unregister/t.unregister.html
index ad1c7c2..bbcf28e 100644
--- a/temporal/t.unregister/t.unregister.html
+++ b/temporal/t.unregister/t.unregister.html
@@ -61,4 +61,4 @@ t.unregister type=raster maps=2012_01_precip
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2014-12-27 00:50:11 +0100 (Sat, 27 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-26 15:33:06 -0800 (Fri, 26 Dec 2014) $</i>
diff --git a/temporal/t.unregister/testsuite/test_unregister.py b/temporal/t.unregister/testsuite/test_unregister.py
index 500f4b0..78d8b76 100644
--- a/temporal/t.unregister/testsuite/test_unregister.py
+++ b/temporal/t.unregister/testsuite/test_unregister.py
@@ -59,7 +59,7 @@ class TestUnregister(TestCase):
 
     def tearDown(self):
         """Remove generated data"""
-        self.runModule("g.remove", type="raster",  
+        self.runModule("g.remove", flags='f', type="raster",  
                                    name="a1,a2,a3,a4,a5,a6")
 
     def test_1(self):
@@ -117,7 +117,7 @@ class TestUnregister(TestCase):
         self.assertEqual(a456, lister.outputs.stdout)
 
 
-        # Remove STRDS A and B and chceck if maps a4, a5 and a6 are still in the temporal database
+        # Remove STRDS A and B and check if maps a4, a5 and a6 are still in the temporal database
         self.assertModule("t.remove",  type="strds", inputs="A,B")
 
         lister = SimpleModule("t.list", type="raster", columns="name", 
diff --git a/temporal/t.vect.algebra/t.vect.algebra.html b/temporal/t.vect.algebra/t.vect.algebra.html
index 27c91e5..acdc969 100644
--- a/temporal/t.vect.algebra/t.vect.algebra.html
+++ b/temporal/t.vect.algebra/t.vect.algebra.html
@@ -459,5 +459,5 @@ D = if(contains, td(buff_t(A, "1 days")) == 3, B, C)
 
 Thomas Leppelt, Soeren Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-01-25 18:56:33 +0100 (Sun, 25 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-25 09:55:23 -0800 (Sun, 25 Jan 2015) $</i>
 
diff --git a/temporal/t.vect.algebra/testsuite/test_vector_algebra.py b/temporal/t.vect.algebra/testsuite/test_vector_algebra.py
index 5707d91..d615dcc 100644
--- a/temporal/t.vect.algebra/testsuite/test_vector_algebra.py
+++ b/temporal/t.vect.algebra/testsuite/test_vector_algebra.py
@@ -9,11 +9,12 @@ for details.
 
 import datetime
 import os
-import grass.script
 import grass.temporal as tgis
-import grass.gunittest as gunittest
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 
-class TestTemporalVectorAlgebra(gunittest.TestCase):
+
+class TestTemporalVectorAlgebra(TestCase):
 
     @classmethod
     def setUpClass(cls):
@@ -56,7 +57,7 @@ class TestTemporalVectorAlgebra(gunittest.TestCase):
         tgis.register_maps_in_space_time_dataset(type="vector", name="D", maps="d1,d2,d3",
                                                  start="2001-01-03", increment="1 day", interval=True)
         tgis.register_maps_in_space_time_dataset(type="vector", name=None,  maps="singletmap", 
-                                                start="2001-01-03", end="2001-01-04", interval=True)
+                                                start="2001-01-03", end="2001-01-04")
     
     def tearDown(self):
         self.runModule("t.remove", type="stvds", inputs="R", quiet=True)
@@ -187,8 +188,6 @@ class TestTemporalVectorAlgebra(gunittest.TestCase):
         self.assertEqual( D.check_temporal_topology(),  True)
         self.assertEqual(D.get_granularity(),  u'1 day')
 
-if __name__ == '__main__':
-    gunittest.test()
-
-
 
+if __name__ == '__main__':
+    test()
diff --git a/temporal/t.vect.db.select/t.vect.db.select.html b/temporal/t.vect.db.select/t.vect.db.select.html
index 1d9d19d..c3b0e56 100644
--- a/temporal/t.vect.db.select/t.vect.db.select.html
+++ b/temporal/t.vect.db.select/t.vect.db.select.html
@@ -52,5 +52,5 @@ start_time|end_time|DATE|SOURCE
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.vect.export/t.vect.export.html b/temporal/t.vect.export/t.vect.export.html
index a786c5e..fc922ee 100644
--- a/temporal/t.vect.export/t.vect.export.html
+++ b/temporal/t.vect.export/t.vect.export.html
@@ -21,6 +21,16 @@ to export only a subset of the space time dataset. Archives exported
 with <em>t.vect.export</em> can be imported with
 <em><a href="t.vect.import.html">t.vect.import</a></em>.
 
+<h2>NOTES</h2>
+The name of output file has to specify the suffix of the archive, the
+following suffix has to be added:
+<ul>
+<li><b>.tar</b> in the case of <b>compress=no</b></li>
+<li><b>.tar.bzip2</b> in the case of <b>compress=bzip2</b></li>
+<li><b>.tar.gzip</b> in the case of <b>compress=gzip</b></li>
+</ul>
+
+
 <h2>EXAMPLE</h2>
 
 In this example, five vector maps are created and
@@ -29,9 +39,9 @@ Each vector map represents random locations
 within the boundary of the state taken at 1 month intervals.
 
 <div class="code"><pre>
-t.vect.export input=shoreline output=shoreline_nc
+t.vect.export input=shoreline output=shoreline_nc.tar.bzip2
 
-tar xvfj shoreline_nc
+tar xvfj shoreline_nc.tar.bzip2
 shoreline_1849_1873.xml
 shoreline_1849_1873.xsd
 shoreline_1925_1946.xml
@@ -121,4 +131,4 @@ Files:
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-10-06 17:26:07 +0200 (Tue, 06 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-26 10:01:22 -0800 (Fri, 26 Feb 2016) $</i>
diff --git a/temporal/t.vect.extract/t.vect.extract.html b/temporal/t.vect.extract/t.vect.extract.html
index 8b5fdd7..0cc0c96 100644
--- a/temporal/t.vect.extract/t.vect.extract.html
+++ b/temporal/t.vect.extract/t.vect.extract.html
@@ -87,5 +87,5 @@ shoreline_2009|None|shoreline|2009|None
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.vect.extract/t.vect.extract.py b/temporal/t.vect.extract/t.vect.extract.py
index 9c25bcf..fcc0d27 100755
--- a/temporal/t.vect.extract/t.vect.extract.py
+++ b/temporal/t.vect.extract/t.vect.extract.py
@@ -52,6 +52,15 @@
 #%end
 
 #%option
+#% key: suffix
+#% type: string
+#% description: Suffix to add at basename: set 'gran' for granularity, 'time' for the full time format, 'num' for numerical suffix with a specific number of digits (default %05)
+#% answer: gran
+#% required: no
+#% multiple: no
+#%end
+
+#%option
 #% key: nprocs
 #% type: integer
 #% description: The number of v.extract processes to run in parallel. Use only if database backend is used which supports concurrent writing
@@ -67,7 +76,6 @@
 
 import grass.script as grass
 import grass.temporal as tgis
-from multiprocessing import Process
 
 ############################################################################
 
@@ -84,12 +92,13 @@ def main():
     base = options["basename"]
     nprocs = int(options["nprocs"])
     register_null = flags["n"]
+    time_suffix = options["suffix"]
 
     # Make sure the temporal database exists
     tgis.init()
 
     tgis.extract_dataset(input, output, "vector", where, expression,
-                         base, nprocs, register_null, layer, type)
+                         base, time_suffix, nprocs, register_null, layer, type)
 
 ###############################################################################
 
diff --git a/temporal/t.vect.extract/testsuite/test_vect_extract.py b/temporal/t.vect.extract/testsuite/test_vect_extract.py
new file mode 100644
index 0000000..b54e147
--- /dev/null
+++ b/temporal/t.vect.extract/testsuite/test_vect_extract.py
@@ -0,0 +1,107 @@
+"""Test t.vector.extract
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+:authors: Luca Delucchi
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestVectorExtraction(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        """Initiate the temporal GIS and set the region
+        """
+        cls.use_temp_region()
+         
+        cls.runModule("g.region", s=0, n=80, w=0, e=120, res=10)
+        # Use always the current mapset as temporal database
+        for i in range(1, 11):
+            cls.runModule("v.random", output="a{c}".format(c=i), npoints=20,
+                          overwrite=True)
+            cls.runModule("v.db.addtable", map="a{c}".format(c=i),
+                          columns="value integer")
+            cls.runModule("v.db.update",  map="a{c}".format(c=i),
+                          column="value", value="'random()'")
+        # Create the temporal database
+        cls.runModule("t.connect", flags="d")
+        cls.runModule("t.info", flags="s")
+        cls.runModule("t.create", type="stvds", temporaltype="absolute",
+                      output="A", title="A testvect", description="A testvect",
+                      overwrite=True)
+        cls.runModule("t.register", flags="i", type="vector", input="A",
+                      maps="a1,a2,a3,a4,a5,a6,a7,a8,a9,a10", start="2001-01-01",
+                      increment="3 months", overwrite=True)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region
+        """
+        cls.del_temp_region()
+        cls.runModule("t.remove", flags="rf", type="stvds", inputs="A")
+        
+    def test_selection(self):
+        """Perform a simple selection by datetime"""
+        self.assertModule("t.vect.extract", input="A", output="B", 
+                          where="start_time > '2001-06-01'", overwrite=True)
+
+        tinfo_string="""start_time=2001-07-01 00:00:00
+        end_time=2003-07-01 00:00:00
+        granularity=3 months
+        map_time=interval
+        number_of_maps=8
+        primitives=160
+        points=160"""
+
+        info = SimpleModule("t.info", flags="g", type="stvds", input="B")
+        self.assertModuleKeyValue(module=info, reference=tinfo_string,
+                                  precision=2, sep="=")
+
+    def test_selection_no_suffix(self):
+        """Perform a simple selection by datetime"""
+        self.assertModule("t.vect.extract", input="A", output="B", 
+                          where="start_time > '2001-06-01'", basename="b",
+                          overwrite=True)
+        self.assertVectorDoesNotExist('b_2001_07')
+        self.runModule("t.remove", flags="rf", type="stvds", inputs="B")
+
+    def test_selection_suffix(self):
+        """Perform a simple selection by datetime"""
+        self.assertModule("t.vect.extract", input="A", output="B", 
+                          expression="value > 0", basename="b",
+                          overwrite=True)
+        self.assertVectorDoesNotExist('b_2001_07')
+        self.runModule("t.remove", flags="rf", type="stvds", inputs="B")
+
+    def test_selection_time_suffix(self):
+        """Perform a simple selection by datetime"""
+        self.assertModule("t.vect.extract", input="A", output="B", 
+                          expression="value > 0", basename="b", suffix="time",
+                          overwrite=True)
+        self.assertVectorExists('b_2001_01_01T00_00_00')
+        self.runModule("t.remove", flags="rf", type="stvds", inputs="B")
+
+    def test_selection_num_suffix(self):
+        """Perform a simple selection by datetime"""
+        self.assertModule("t.vect.extract", input="A", output="B", 
+                          expression="value > 0", basename="b", suffix="num",
+                          overwrite=True)
+        self.assertVectorExists('b_00001')
+        self.runModule("t.remove", flags="rf", type="stvds", inputs="B")
+
+    def test_selection_num3_suffix(self):
+        """Perform a simple selection by datetime"""
+        self.assertModule("t.vect.extract", input="A", output="B", 
+                          expression="value > 0", basename="b",
+                          suffix="num%03", overwrite=True)
+        self.assertVectorExists('b_001')
+        self.runModule("t.remove", flags="rf", type="stvds", inputs="B")
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
diff --git a/temporal/t.vect.import/t.vect.import.html b/temporal/t.vect.import/t.vect.import.html
index d158cc1..7ba4412 100644
--- a/temporal/t.vect.import/t.vect.import.html
+++ b/temporal/t.vect.import/t.vect.import.html
@@ -68,4 +68,4 @@ new_map_5 at user1|new_map_5|None|user1|2012-05-01 00:00:00|2012-06-01 00:00:00
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-10-06 17:26:07 +0200 (Tue, 06 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-06 08:24:26 -0700 (Tue, 06 Oct 2015) $</i>
diff --git a/temporal/t.vect.list/t.vect.list.html b/temporal/t.vect.list/t.vect.list.html
index f99c8f4..9063ff0 100644
--- a/temporal/t.vect.list/t.vect.list.html
+++ b/temporal/t.vect.list/t.vect.list.html
@@ -68,5 +68,5 @@ shoreline_2009 at shoreline|shoreline_2009|None|shoreline|2009|None|None|160
 
 Sören Gebbert
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.vect.list/t.vect.list.py b/temporal/t.vect.list/t.vect.list.py
index 08b8f68..e0751b0 100755
--- a/temporal/t.vect.list/t.vect.list.py
+++ b/temporal/t.vect.list/t.vect.list.py
@@ -67,6 +67,10 @@
 #% guisection: Formatting
 #%end
 
+#%option G_OPT_F_OUTPUT
+#% required: no
+#%end
+
 #%flag
 #% key: s
 #% description: Suppress printing of column names
@@ -89,12 +93,13 @@ def main():
     separator = grass.separator(options["separator"])
     method = options["method"]
     header = flags["s"]
+    output = options["output"]
 
     # Make sure the temporal database exists
     tgis.init()
 
-    tgis.list_maps_of_stds(
-        "stvds", input, columns, order, where, separator, method, header)
+    tgis.list_maps_of_stds("stvds", input, columns, order, where, separator,
+                           method, header, outpath=output)
 
 if __name__ == "__main__":
     options, flags = grass.parser()
diff --git a/temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh b/temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh
index 5fb0c56..321073c 100755
--- a/temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh
+++ b/temporal/t.vect.list/testsuite/test.t.vect.list.layer.sh
@@ -87,31 +87,31 @@ t.create type=stvds temporaltype=absolute output=soils_abs4 title="A test with i
 t.create type=stvds temporaltype=absolute output=soils_abs5 title="A test with input files" descr="A test with input files"
 
 # The first @test
-t.register type=vector   input=soils_abs1 file="${n1}" start="2001-01-01" increment="1 months"
+t.register type=vector input=soils_abs1 file="${n1}" start="2001-01-01" increment="1 months"
 t.vect.list    separator=" | " method=comma     input=soils_abs1
 t.vect.list input=soils_abs1
 t.vect.list separator=" | " method=cols      input=soils_abs1
 t.vect.list separator=" | " method=delta     input=soils_abs1
 t.vect.list separator=" | " method=deltagaps input=soils_abs1
 
-t.register type=vector -i input=soils_abs2 file="${n2}"
+t.register type=vector input=soils_abs2 file="${n2}"
 t.vect.list    separator=" | " method=comma     input=soils_abs2
 t.vect.list input=soils_abs2
 t.vect.list separator=" | " method=cols      input=soils_abs2
 t.vect.list separator=" | " method=delta     input=soils_abs2
 t.vect.list separator=" | " method=deltagaps input=soils_abs2
 
-t.register type=vector -i input=soils_abs3 file="${n3}"
+t.register type=vector input=soils_abs3 file="${n3}"
 t.vect.list    separator=" | " method=comma     input=soils_abs3
 t.vect.list separator=" | " method=delta     input=soils_abs3
 t.vect.list separator=" | " method=deltagaps input=soils_abs3
 
-t.register type=vector -i input=soils_abs4 file="${n4}"
+t.register type=vector input=soils_abs4 file="${n4}"
 t.vect.list    separator=" | " method=comma     input=soils_abs4
 t.vect.list separator=" | " method=delta     input=soils_abs4
 t.vect.list separator=" | " method=deltagaps input=soils_abs4
 
-t.register type=vector -i input=soils_abs5 file="${n5}"
+t.register type=vector input=soils_abs5 file="${n5}"
 t.vect.list    separator=" | " method=comma     input=soils_abs5
 t.vect.list input=soils_abs5
 t.vect.list separator=" | " method=cols      input=soils_abs5
diff --git a/temporal/t.vect.list/testsuite/test.t.vect.list.sh b/temporal/t.vect.list/testsuite/test.t.vect.list.sh
index 2d2eb5d..54c9f7d 100755
--- a/temporal/t.vect.list/testsuite/test.t.vect.list.sh
+++ b/temporal/t.vect.list/testsuite/test.t.vect.list.sh
@@ -73,31 +73,31 @@ t.create type=stvds temporaltype=absolute output=lidar_abs4 title="A test with i
 t.create type=stvds temporaltype=absolute output=lidar_abs5 title="A test with input files" descr="A test with input files"
 
 # The first @test
-t.register type=vector  input=lidar_abs1 file="${n1}" start="2001-01-01" increment="1 months"
+t.register type=vector input=lidar_abs1 file="${n1}" start="2001-01-01" increment="1 months"
 t.vect.list    separator=" | " method=comma     input=lidar_abs1
 t.vect.list input=lidar_abs1
 t.vect.list separator=" | " method=cols      input=lidar_abs1
 t.vect.list separator=" | " method=delta     input=lidar_abs1
 t.vect.list separator=" | " method=deltagaps input=lidar_abs1
 
-t.register type=vector -i input=lidar_abs2 file="${n2}"
+t.register type=vector input=lidar_abs2 file="${n2}"
 t.vect.list    separator=" | " method=comma     input=lidar_abs2
 t.vect.list input=lidar_abs2
 t.vect.list separator=" | " method=cols      input=lidar_abs2
 t.vect.list separator=" | " method=delta     input=lidar_abs2
 t.vect.list separator=" | " method=deltagaps input=lidar_abs2
 
-t.register type=vector -i input=lidar_abs3 file="${n3}"
+t.register type=vector input=lidar_abs3 file="${n3}"
 t.vect.list    separator=" | " method=comma     input=lidar_abs3
 t.vect.list separator=" | " method=delta     input=lidar_abs3
 t.vect.list separator=" | " method=deltagaps input=lidar_abs3
 
-t.register type=vector -i input=lidar_abs4 file="${n4}"
+t.register type=vector input=lidar_abs4 file="${n4}"
 t.vect.list    separator=" | " method=comma     input=lidar_abs4
 t.vect.list separator=" | " method=delta     input=lidar_abs4
 t.vect.list separator=" | " method=deltagaps input=lidar_abs4
 
-t.register type=vector -i input=lidar_abs5 file="${n5}"
+t.register type=vector input=lidar_abs5 file="${n5}"
 t.vect.list    separator=" | " method=comma     input=lidar_abs5
 t.vect.list input=lidar_abs5
 t.vect.list separator=" | " method=cols      input=lidar_abs5
diff --git a/temporal/t.vect.observe.strds/t.vect.observe.strds.html b/temporal/t.vect.observe.strds/t.vect.observe.strds.html
index a5437ef..d3043b4 100644
--- a/temporal/t.vect.observe.strds/t.vect.observe.strds.html
+++ b/temporal/t.vect.observe.strds/t.vect.observe.strds.html
@@ -8,9 +8,8 @@ The first input is a vector map layer with vector points. The second
 input is one or several space time raster datasets (STRDS) that should 
 be sampled over time at the vector point positions. The space time 
 raster dataset will be sampled over its whole temporal extent (from 
-start to end). The range can be adjusted using the temporal where 
-condition <em>t_where</em>. A column name must be specified for each 
-input space time raster dataset.
+start to end). A column name must be specified for each input space
+time raster dataset.
 <p>
 As results  a new space time vector dataset is generated that contains 
 a single (new) vector map that links to as many time stamped attribute 
@@ -142,4 +141,4 @@ v.info precip_stations_monthly
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2016-01-14 15:10:46 -0800 (Thu, 14 Jan 2016) $</i>
diff --git a/temporal/t.vect.observe.strds/t.vect.observe.strds.py b/temporal/t.vect.observe.strds/t.vect.observe.strds.py
index a46bda8..2f8856a 100755
--- a/temporal/t.vect.observe.strds/t.vect.observe.strds.py
+++ b/temporal/t.vect.observe.strds/t.vect.observe.strds.py
@@ -48,10 +48,6 @@
 #%option G_OPT_DB_WHERE
 #%end
 
-#%option G_OPT_T_WHERE
-#% key: t_where
-#%end
-
 import grass.script as grass
 import grass.temporal as tgis
 import grass.script.raster as raster
@@ -82,7 +78,6 @@ def main():
     strds = options["strds"]
     where = options["where"]
     columns = options["columns"]
-    tempwhere = options["t_where"]
 
     if where == "" or where == " " or where == "\n":
         where = None
@@ -113,7 +108,8 @@ def main():
     # Single space time raster dataset
     if len(strds_names) == 1:
         rows = first_strds.get_registered_maps(
-            "name,mapset,start_time,end_time", tempwhere, "start_time", dbif)
+            columns="name,mapset,start_time,end_time", 
+            order="start_time", dbif=dbif)
 
         if not rows:
             dbif.close()
diff --git a/temporal/t.vect.univar/t.vect.univar.html b/temporal/t.vect.univar/t.vect.univar.html
index 4d7ee35..dbbe0aa 100644
--- a/temporal/t.vect.univar/t.vect.univar.html
+++ b/temporal/t.vect.univar/t.vect.univar.html
@@ -32,5 +32,5 @@ precip_stations_monthly at climate_2009_2012|2012-12-01 00:00:00|2013-01-01 00:00:0
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-22 10:12:20 +0200 (Tue, 22 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-22 01:10:38 -0700 (Tue, 22 Sep 2015) $</i>
 
diff --git a/temporal/t.vect.what.strds/t.vect.what.strds.html b/temporal/t.vect.what.strds/t.vect.what.strds.html
index d001f73..e211f17 100644
--- a/temporal/t.vect.what.strds/t.vect.what.strds.html
+++ b/temporal/t.vect.what.strds/t.vect.what.strds.html
@@ -34,5 +34,5 @@ t.vect.what.strds input=precip_stations at climate_2009_2012 \
 
 Sören Gebbert, Thünen Institute of Climate-Smart Agriculture
 
-<p><i>Last changed: $Date: 2015-09-25 17:45:54 +0200 (Fri, 25 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-25 04:07:25 -0700 (Fri, 25 Sep 2015) $</i>
 
diff --git a/temporal/temporalintro.html b/temporal/temporalintro.html
index a7270fc..4ba488c 100644
--- a/temporal/temporalintro.html
+++ b/temporal/temporalintro.html
@@ -83,9 +83,7 @@ List of general management modules:
     <li><a href="g.gui.animation.html">g.gui.animation</a></li>
     <li><a href="g.gui.timeline.html">g.gui.timeline</a></li>
     <li><a href="g.gui.mapswipe.html">g.gui.mapswipe</a></li>
-<!--
     <li><a href="g.gui.tplot.html">g.gui.tplot</a></li>
--->
 </ul>
 
 <h3>Modules to process space time raster datasets</h3>
diff --git a/testsuite/raster/rmapcalc_test.sh b/testsuite/raster/rmapcalc_test.sh
deleted file mode 100755
index 21b0067..0000000
--- a/testsuite/raster/rmapcalc_test.sh
+++ /dev/null
@@ -1,177 +0,0 @@
-#!/bin/sh
-
-# Markus Neteler
-# Test cases for 2D raster data
-
-# Tests:
-#   - generate 3x3 map, value 1/1.1
-#   - calculate statistics
-#   - compare with known results
-
-#
-# TODO
-#   - how big EPSILON?
-
-if [ -z "$GISBASE" ] ; then
-    echo "You must be in GRASS GIS to run this program."
-    exit 1
-fi
-
-#### check if we have awk
-if [ ! -x "`which awk`" ] ; then
-    echo "$PROG: awk required, please install first" 1>&2
-    exit 1
-fi
-
-# setting environment, so that awk works properly in all languages
-unset LC_ALL
-export LC_NUMERIC=C
-
-eval `g.gisenv`
-: ${GISBASE?} ${GISDBASE?} ${LOCATION_NAME?} ${MAPSET?}
-LOCATION=$GISDBASE/$LOCATION_NAME/$MAPSET
-
-# some definitions
-PIXEL=3
-# how big EPSILON?
-#    epsilon for doubles in IEEE is 2.220446e-16
-EPSILON=22204460000000000
-PID=$$
-TMPNAME="`echo ${PID}_tmp_testmap | sed 's+\.+_+g'`"
-
-# some functions - keep order here
-cleanup()
-{
- echo "Removing temporary map"
- g.remove -f type=raster name=$TMPNAME > /dev/null
-}
-
-# check if a MASK is already present:
-MASKTMP=mask.$TMPNAME
-USERMASK=usermask_${MASKTMP}
-if test -f $LOCATION/cell/MASK
-then
- echo "A user raster mask (MASK) is present. Saving it..."
- g.rename MASK,$USERMASK > /dev/null
-fi
-
-finalcleanup()
-{
- echo "Restoring user region"
- g.region region=$TMPNAME
- g.remove -f type=region name=$TMPNAME > /dev/null
- #restore user mask if present:
- if test -f $LOCATION/cell/$USERMASK ; then
-  echo "Restoring user MASK"
-  g.remove -f type=raster name=MASK > /dev/null
-  g.rename $USERMASK,MASK > /dev/null
- fi
-}
-
-check_exit_status()
-{
- if [ $1 -ne 0 ] ; then
-  echo "An error occurred."
-  cleanup ; finalcleanup
-  exit 1
- fi
-}
-
-########## test function goes here
-compare_result()
-{
- EXPECTED=$1
- FOUND=$2
- VALUENAME=$3
-
- # test for NAN
- if [ "$FOUND" = "nan" ] ; then
-  echo "ERROR. $VALUENAME: Expected=$EXPECTED | FOUND=$FOUND"
-  cleanup ; finalcleanup
-  exit 1
- fi
-
- # check for difference + 1
- DIFF=`echo $EXPECTED $FOUND $EPSILON | awk '{printf "%16f", ($1 - $2) * $3 }'`
- #make absolute value
- DIFF=`echo $DIFF | awk '{printf("%f", sqrt($1 * $1))}'`
- #round to integer
- DIFF=`echo $DIFF | awk '{printf("%20d", int($1+0.5))}'`
-
- # check if difference > 0
- if [ $DIFF -gt 0 ] ; then
-  echo "ERROR. $VALUENAME: Expected=$EXPECTED | FOUND=$FOUND"
-  cleanup ; finalcleanup
-  exit 1
- fi
-}
-
-#check if a MASK is already present:
-MASKTMP=mask.$TMPNAME
-USERMASK=usermask_${MASKTMP}
-if test -f $LOCATION/cell/MASK
-then
- echo "A user raster mask (MASK) is present. Saving it..."
- g.rename MASK,$USERMASK > /dev/null
- check_exit_status $?
-fi
-
-echo "Saving current & setting test region."
-g.region save=$TMPNAME
-check_exit_status $?
-g.region s=0 n=$PIXEL w=0 e=$PIXEL res=1 tbres=1
-check_exit_status $?
-
-########### 2D raster INT tests ###########
-VALUE=1
-echo "INT/CELL test."
-r.mapcalc "$TMPNAME = 1"
-check_exit_status $?
-
-echo "Univariate statistics of INT/CELL test."
-eval `r.univar -g $TMPNAME`
-check_exit_status $?
-compare_result 9 $n n
-compare_result $VALUE $min min
-compare_result $VALUE $max max
-compare_result 0 $range range
-compare_result $VALUE $mean mean
-compare_result 0 $stddev stddev
-compare_result 0 $variance variance
-compare_result 0 $coeff_var coeff_var
-compare_result 9 $sum sum
-
-cleanup
-echo "INT/CELL univariate statistics test successful"
-echo "##################################"
-
-########### 2D raster FCELL tests ###########
-VALUE=1.1
-echo "FLOAT/FCELL test."
-r.mapcalc "$TMPNAME = $VALUE"
-check_exit_status $?
-
-echo "Univariate statistics of FLOAT/FCELL test."
-eval `r.univar -g $TMPNAME`
-check_exit_status $?
-compare_result 9 $n n
-compare_result $VALUE $min min
-compare_result $VALUE $max max
-compare_result 0 $range range
-compare_result $VALUE $mean mean
-compare_result 0 $stddev stddev
-compare_result 0 $variance variance
-compare_result 0 $coeff_var coeff_var
-compare_result 9.9 $sum sum
-
-cleanup
-echo "FLOAT/FCELL univariate statistics test successful"
-echo "##################################"
-
-###########
-# if we arrive here...
-
-finalcleanup
-echo "All tests successful. Congrats."
-exit 0
-
diff --git a/tools/g.html2man/g.html2man.py b/tools/g.html2man/g.html2man.py
index 01f5775..634c183 100755
--- a/tools/g.html2man/g.html2man.py
+++ b/tools/g.html2man/g.html2man.py
@@ -8,9 +8,11 @@ from StringIO import StringIO
 entities = {
     'nbsp': " ",
     'bull': "*"
-    }
+}
 
 # Remove ToC
+
+
 def fix(content):
     if isinstance(content, tuple):
         tag, attrs, body = content
@@ -26,20 +28,25 @@ def fix(content):
     else:
         return content
 
+
 def main():
     # parse HTML
     infile = sys.argv[1]
     inf = file(infile)
     p = HTMLParser(entities)
     for n, line in enumerate(inf):
-	try:
-	    p.feed(line)
-	except HTMLParseError as err:
-	    sys.stderr.write('%s:%d:%d: Parse error: %s\n' % (infile, err.lineno, err.offset, err.msg))
-	    sys.exit(1)
-	except Exception as err:
-	    sys.stderr.write('%s:%d:0: Error (%s): %s\n' % (infile, n + 1, repr(err), line))
-	    sys.exit(1)
+        try:
+            p.feed(line)
+        except HTMLParseError as err:
+            sys.stderr.write(
+                '%s:%d:%d: Parse error: %s\n' %
+                (infile, err.lineno, err.offset, err.msg))
+            sys.exit(1)
+        except Exception as err:
+            sys.stderr.write(
+                '%s:%d:0: Error (%s): %s\n' %
+                (infile, n + 1, repr(err), line))
+            sys.exit(1)
     p.close()
     inf.close()
 
diff --git a/tools/g.html2man/groff.py b/tools/g.html2man/groff.py
index fab7776..15e2a55 100644
--- a/tools/g.html2man/groff.py
+++ b/tools/g.html2man/groff.py
@@ -11,255 +11,261 @@ except:
     version = ""
 
 styles = {
-    'b':        "\\fB@\\fR",
-    'i':        "\\fI@\\fR",
-    'em':       "\\fI@\\fR",
-    'code':     "\\fC@\\fR",
-    'span':     "\\fC@\\fR",
-    'sup':      "\\u@\\d",
-    'hr':       ""
-    }
+    'b': "\\fB@\\fR",
+    'i': "\\fI@\\fR",
+    'em': "\\fI@\\fR",
+    'code': "\\fC@\\fR",
+    'span': "\\fC@\\fR",
+    'sup': "\\u@\\d",
+    'hr': ""
+}
 
 formats = {
-    'br':       "\n.br\n",
-    'h2':       "\n.SH @",
-    'h3':       "\n.SS @",
-    'h4':       "\n.SS @",
-    'dt':       ("\n.IP \"@\" 4m", 'no_nl'),
-    'dd':       "\n.br\n@",
-    'ul':       ("\n.RS 4n\n@\n.RE\n", 'in_ul'),
-    'menu':     ("\n.RS 4n\n@\n.RE\n", 'in_ul'),
-    'dir':      ("\n.RS 4n\n@\n.RE\n", 'in_ul'),
-    'ol':       ("\n.IP\n@\n.PP\n", 'index'),
-    'p':        "\n.PP\n@",
-    'pre':      ("\n.br\n.nf\n\\fC\n@\n\\fR\n.fi\n", 'preformat')
-    }
+    'br': "\n.br\n",
+    'h2': "\n.SH @",
+    'h3': "\n.SS @",
+    'h4': "\n.SS @",
+    'dt': ("\n.IP \"@\" 4m", 'no_nl'),
+    'dd': "\n.br\n@",
+    'ul': ("\n.RS 4n\n@\n.RE\n", 'in_ul'),
+    'menu': ("\n.RS 4n\n@\n.RE\n", 'in_ul'),
+    'dir': ("\n.RS 4n\n@\n.RE\n", 'in_ul'),
+    'ol': ("\n.IP\n@\n.PP\n", 'index'),
+    'p': "\n.PP\n@",
+    'pre': ("\n.br\n.nf\n\\fC\n@\n\\fR\n.fi\n", 'preformat')
+}
 
 formats.update(styles)
 
+
 def is_string(x):
     return isinstance(x, str)
 
+
 def is_tuple(x):
     return isinstance(x, tuple)
 
+
 def is_list(x):
     return isinstance(x, list)
 
+
 def is_blank(s):
     return is_string(s) and s.strip() == ""
 
+
 def clean(content):
     return [item for item in content if not is_blank(item)]
 
+
 class Formatter:
-    def __init__(self, filename, stream = sys.stdout):
-	self.stream = stream
-	self.style = dict(preformat = False,
-			  in_ul = False,
-			  no_nl = False,
-			  in_table = False,
-			  in_tr = False,
-			  index = [])
-	self.stack = []
-	self.strip_re = re.compile("^[ \t]+")
-	self.filename = filename
-	self.at_bol = True
+
+    def __init__(self, filename, stream=sys.stdout):
+        self.stream = stream
+        self.style = dict(preformat=False,
+                          in_ul=False,
+                          no_nl=False,
+                          in_table=False,
+                          in_tr=False,
+                          index=[])
+        self.stack = []
+        self.strip_re = re.compile("^[ \t]+")
+        self.filename = filename
+        self.at_bol = True
 
     def warning(self, msg):
-	sys.stderr.write(msg + '\n')
+        sys.stderr.write(msg + '\n')
 
     def set(self, var, val):
-	self.style[var] = val
+        self.style[var] = val
 
     def get(self, var):
-	return self.style[var]
+        return self.style[var]
 
     def push(self, **kwargs):
-	self.stack.append(self.style.copy())
-	self.style.update(**kwargs)
+        self.stack.append(self.style.copy())
+        self.style.update(**kwargs)
 
     def pop(self):
-	self.style = self.stack.pop()
+        self.style = self.stack.pop()
 
     def show(self, s):
-	self.stream.write(s)
-	if s != '':
-	    self.at_bol = s.endswith('\n')
+        self.stream.write(s)
+        if s != '':
+            self.at_bol = s.endswith('\n')
 
     def pp_with(self, content, var, val):
-	self.push()
-	self.set(var, val)
-	self.pp(content)
-	self.pop()
-
-    def fmt(self, format, content, var = None):
-	# String.partition is only in 2.5+
-	# (pre,sep,post) = format.partition("@")
-	if self.get('no_nl') and '\n' in format:
-	    self.warning("can't handle line breaks in <dt>...</dt>")
-	    format = "@"
-	f = format.split('@', 1)
-	pre = f[0]
-	if len(f) > 1:
-	    sep = '@'
-	    post = f[1]
-	else:
-	    sep = ''
-	    post = ''
-
-	if pre != "":
-	    self.show(pre)
-	if sep != "":
-	    if var:
-		if var == 'index':
-		    val = self.get('index') + [0]
-		else:
-		    val = True
-		self.pp_with(content, var, val)
-	    else:
-		self.pp(content)
-	if post != "":
-	    self.show(post)
+        self.push()
+        self.set(var, val)
+        self.pp(content)
+        self.pop()
+
+    def fmt(self, format, content, var=None):
+        # String.partition is only in 2.5+
+        # (pre,sep,post) = format.partition("@")
+        if self.get('no_nl') and '\n' in format:
+            self.warning("can't handle line breaks in <dt>...</dt>")
+            format = "@"
+        f = format.split('@', 1)
+        pre = f[0]
+        if len(f) > 1:
+            sep = '@'
+            post = f[1]
+        else:
+            sep = ''
+            post = ''
+
+        if pre != "":
+            self.show(pre)
+        if sep != "":
+            if var:
+                if var == 'index':
+                    val = self.get('index') + [0]
+                else:
+                    val = True
+                self.pp_with(content, var, val)
+            else:
+                self.pp(content)
+        if post != "":
+            self.show(post)
 
     def pp_li(self, content):
-	if self.get('in_ul'):
-	    self.fmt("\n.IP \(bu 4n\n@", content)
-	else:
-	    idx = self.get('index')
-	    idx[-1] += 1
-	    sec = ".".join(map(str,idx))
-	    self.show("\n.IP \\fB%s\\fR\n" % sec)
-	    self.set('index', idx)
-	    self.pp(content)
+        if self.get('in_ul'):
+            self.fmt("\n.IP \(bu 4n\n@", content)
+        else:
+            idx = self.get('index')
+            idx[-1] += 1
+            sec = ".".join(map(str, idx))
+            self.show("\n.IP \\fB%s\\fR\n" % sec)
+            self.set('index', idx)
+            self.pp(content)
 
     def pp_title(self):
-	self.show("\n.TH " +
-		  os.path.basename(self.filename).replace(".html","") +
-		  " 1 \"\" \"GRASS " +
-		  version +
-		  "\" \"Grass User's Manual\"")
+        self.show("\n.TH " +
+                  os.path.basename(self.filename).replace(".html", "") +
+                  " 1 \"\" \"GRASS " +
+                  version +
+                  "\" \"Grass User's Manual\"")
 
     def pp_tr(self, content):
-	content = clean(content)
-	self.push(in_tr = True)
-	col = 0
-	for item in content:
-	    if not is_tuple(item):
-		self.warning("invalid item in table row: %s" % str(item))
-		continue
-	    (tag, attrs, body) = item
-	    if tag not in ['td', 'th']:
-		self.warning("invalid tag in table row: %s" % tag)
-		continue
-	    if col > 0:
-		self.show("\t \t")
-	    self.show("T{\n")
-	    self.pp(body)
-	    self.show("\nT}")
-	    col += 1
-	self.show("\n")
-	self.pop()
+        content = clean(content)
+        self.push(in_tr=True)
+        col = 0
+        for item in content:
+            if not is_tuple(item):
+                self.warning("invalid item in table row: %s" % str(item))
+                continue
+            (tag, attrs, body) = item
+            if tag not in ['td', 'th']:
+                self.warning("invalid tag in table row: %s" % tag)
+                continue
+            if col > 0:
+                self.show("\t \t")
+            self.show("T{\n")
+            self.pp(body)
+            self.show("\nT}")
+            col += 1
+        self.show("\n")
+        self.pop()
 
     def pp_tbody(self, content):
-	for item in content:
-	    if is_tuple(item):
-		(tag, attrs, body) = item
-		if tag in ['thead', 'tbody', 'tfoot']:
-		    self.pp_tbody(body)
-		elif tag == 'tr':
-		    self.pp_tr(body)
-		    self.show(".sp 1\n")
+        for item in content:
+            if is_tuple(item):
+                (tag, attrs, body) = item
+                if tag in ['thead', 'tbody', 'tfoot']:
+                    self.pp_tbody(body)
+                elif tag == 'tr':
+                    self.pp_tr(body)
+                    self.show(".sp 1\n")
 
     def count_cols(self, content):
-	cols = 0
-	for item in content:
-	    n = 0
-	    if is_blank(item):
-		pass
-	    elif is_tuple(item):
-		(tag, attrs, body) = item
-		if tag in ['thead', 'tbody', 'tfoot']:
-		    n = self.count_cols(body)
-		elif tag == 'tr':
-		    n = len(clean(body))
-		cols = max(cols, n)
-	    else:
-		self.warning("invalid item in table: %s" % str(item))
-	return cols
+        cols = 0
+        for item in content:
+            n = 0
+            if is_blank(item):
+                pass
+            elif is_tuple(item):
+                (tag, attrs, body) = item
+                if tag in ['thead', 'tbody', 'tfoot']:
+                    n = self.count_cols(body)
+                elif tag == 'tr':
+                    n = len(clean(body))
+                cols = max(cols, n)
+            else:
+                self.warning("invalid item in table: %s" % str(item))
+        return cols
 
     def pp_table(self, content):
-	cols = self.count_cols(content)
-	if cols == 0:
-	    return
-	self.show("\n.TS\nexpand;\n")
-	self.show(" lw1 ".join(["lw60" for i in range(cols)]) + ".\n")
-	self.pp_tbody(content)
-	self.show("\n.TE\n")
+        cols = self.count_cols(content)
+        if cols == 0:
+            return
+        self.show("\n.TS\nexpand;\n")
+        self.show(" lw1 ".join(["lw60" for i in range(cols)]) + ".\n")
+        self.pp_tbody(content)
+        self.show("\n.TE\n")
 
     def pp_tag(self, tag, content):
-	if self.get('in_tr') and tag not in styles:
-	    self.pp(content)
-	elif tag in formats:
-	    spec = formats[tag]
-	    if is_string(spec):
-		self.fmt(spec, content)
-	    else:
-		(fmt, var) = spec
-		self.fmt(fmt, content, var)
-	elif tag == 'table':
-	    if self.get('in_table'):
-		self.warning("cannot handle nested tables")
-		return
-	    self.push(in_table = True)
-	    self.pp_table(content)
-	    self.pop()
-	elif tag == 'li':
-	    self.pp_li(content)
-	elif tag == 'title':
-	    self.pp_title()
-	else:
-	    self.pp(content)
+        if self.get('in_tr') and tag not in styles:
+            self.pp(content)
+        elif tag in formats:
+            spec = formats[tag]
+            if is_string(spec):
+                self.fmt(spec, content)
+            else:
+                (fmt, var) = spec
+                self.fmt(fmt, content, var)
+        elif tag == 'table':
+            if self.get('in_table'):
+                self.warning("cannot handle nested tables")
+                return
+            self.push(in_table=True)
+            self.pp_table(content)
+            self.pop()
+        elif tag == 'li':
+            self.pp_li(content)
+        elif tag == 'title':
+            self.pp_title()
+        else:
+            self.pp(content)
 
     def pp_string(self, content):
-	if content == "":
-	    return
-	s = content
-	if self.get('no_nl'):
-	    s = s.replace("\n"," ")
-	s = s.replace("\\", "\\(rs")
-	s = s.replace("'", "\\(cq")
-	s = s.replace("\"", "\\(dq")
-	s = s.replace("`", "\\(ga")
-	s = s.replace("-", "\\-")
-	if self.at_bol and s[0] in [".","'"]:
-	    s = "\\&" + s
-	self.show(s)
+        if content == "":
+            return
+        s = content
+        if self.get('no_nl'):
+            s = s.replace("\n", " ")
+        s = s.replace("\\", "\\(rs")
+        s = s.replace("'", "\\(cq")
+        s = s.replace("\"", "\\(dq")
+        s = s.replace("`", "\\(ga")
+        s = s.replace("-", "\\-")
+        if self.at_bol and s[0] in [".", "'"]:
+            s = "\\&" + s
+        self.show(s)
 
     def pp_text(self, content):
-	if content == "":
-	    return
-	lines = content.splitlines(True)
-	if len(lines) != 1:
-	    for line in lines:
-		self.pp_text(line)
-	    return
-	else:
-	    content = lines[0]
-	if self.at_bol and not self.get('preformat'):
-	    content = self.strip_re.sub('', content)
-	self.pp_string(content)
+        if content == "":
+            return
+        lines = content.splitlines(True)
+        if len(lines) != 1:
+            for line in lines:
+                self.pp_text(line)
+            return
+        else:
+            content = lines[0]
+        if self.at_bol and not self.get('preformat'):
+            content = self.strip_re.sub('', content)
+        self.pp_string(content)
 
     def pp_list(self, content):
-	for item in content:
-	    self.pp(item)
+        for item in content:
+            self.pp(item)
 
     def pp(self, content):
-	if is_list(content):
-	    self.pp_list(content)
-	elif is_tuple(content):
-	    (tag, attrs, body) = content
-	    self.pp_tag(tag, body)
-	elif is_string(content):
-	    self.pp_text(content)
-
+        if is_list(content):
+            self.pp_list(content)
+        elif is_tuple(content):
+            (tag, attrs, body) = content
+            self.pp_tag(tag, body)
+        elif is_string(content):
+            self.pp_text(content)
diff --git a/tools/g.html2man/html.py b/tools/g.html2man/html.py
index d76382a..fd75322 100644
--- a/tools/g.html2man/html.py
+++ b/tools/g.html2man/html.py
@@ -1,3 +1,5 @@
+from __future__ import (absolute_import, division, generators, nested_scopes,
+                        print_function, unicode_literals, with_statement)
 import sys
 import HTMLParser as base
 import htmlentitydefs
@@ -9,38 +11,40 @@ __all__ = ["HTMLParser", "HTMLParseError"]
 omit_start = ["body", "tbody", "head", "html"]
 
 single = ["area", "base", "basefont", "br", "col", "frame",
-	  "hr", "img", "input", "isindex", "link", "meta", "param"]
+          "hr", "img", "input", "isindex", "link", "meta", "param"]
 single = frozenset(single)
 
 heading = ["h1", "h2", "h3", "h4", "h5", "h6"]
 fontstyle = ["tt", "i", "b", "u", "s", "strike", "big", "small"]
-phrase = [ "em", "strong", "dfn", "code", "samp", "kbd", "var", "cite", "abbr",
-	   "acronym"]
-special = [ "a", "img", "applet", "object", "font", "basefont", "br", "script",
-	    "map", "q", "sub", "sup", "span", "bdo", "iframe"]
-formctrl = [ "input", "select", "textarea", "label", "button"]
-lists = [ "ul", "ol", " dir", "menu"]
-head_misc = [ "script", "style", "meta", "link", "object"]
-pre_exclusion = [ "img", "object", "applet", "big", "small", "sub", "sup",
-		  "font", "basefont"]
-block = [ "p", "pre", "dl", "div", "center", "noscript", "noframes",
-	  "blockquote", "form", "isindex", "hr", "table", "fieldset",
-	  "address"] + heading + lists
+phrase = ["em", "strong", "dfn", "code", "samp", "kbd", "var", "cite", "abbr",
+          "acronym"]
+special = ["a", "img", "applet", "object", "font", "basefont", "br", "script",
+           "map", "q", "sub", "sup", "span", "bdo", "iframe"]
+formctrl = ["input", "select", "textarea", "label", "button"]
+lists = ["ul", "ol", " dir", "menu"]
+head_misc = ["script", "style", "meta", "link", "object"]
+pre_exclusion = ["img", "object", "applet", "big", "small", "sub", "sup",
+                 "font", "basefont"]
+block = ["p", "pre", "dl", "div", "center", "noscript", "noframes",
+         "blockquote", "form", "isindex", "hr", "table", "fieldset",
+         "address"] + heading + lists
 inline = fontstyle + phrase + special + formctrl
 flow = block + inline
 html_content = ["head", "body"]
 head_content = ["title", "isindex", "base"]
 
+
 def setify(d):
     return dict([(key, frozenset(val)) for key, val in d.iteritems()])
 
+
 def omit(allowed, tags):
     result = {}
     for k, v in allowed.iteritems():
-	for t in tags:
-	    if t in v:
-		v = v.union(allowed[t])
-	result[k] = v
+        for t in tags:
+            if t in v:
+                v = v.union(allowed[t])
+        result[k] = v
     return result
 
 allowed = {
@@ -122,7 +126,7 @@ allowed = {
     "u": inline,
     "ul": ["li"],
     "var": inline
-    }
+}
 
 allowed = setify(allowed)
 allowed = omit(allowed, omit_start)
@@ -135,18 +139,20 @@ excluded = {
     "label": ["label"],
     "menu": block,
     "pre": pre_exclusion
-    }
+}
 
 excluded = setify(excluded)
 
+
 class HTMLParser(base.HTMLParser):
-    def __init__(self, entities = None):
-	base.HTMLParser.__init__(self)
-	self.tag_stack = []
-	self.excluded = frozenset()
-	self.excluded_stack = []
-	self.data = []
-	self.data_stack = []
+
+    def __init__(self, entities=None):
+        base.HTMLParser.__init__(self)
+        self.tag_stack = []
+        self.excluded = frozenset()
+        self.excluded_stack = []
+        self.data = []
+        self.data_stack = []
         self.decls = []
         if entities:
             self.entities = entities
@@ -154,61 +160,60 @@ class HTMLParser(base.HTMLParser):
             self.entities = {}
 
     def top(self):
-	if self.tag_stack == []:
-	    return None
-	else:
-	    return self.tag_stack[-1][0]
+        if self.tag_stack == []:
+            return None
+        else:
+            return self.tag_stack[-1][0]
 
     def pop(self):
-	self.excluded = self.excluded_stack.pop()
-	data = self.data
-	self.data = self.data_stack.pop()
-	(tag, attrs) = self.tag_stack.pop()
-	self.append((tag, attrs, data))
-	return tag
+        self.excluded = self.excluded_stack.pop()
+        data = self.data
+        self.data = self.data_stack.pop()
+        (tag, attrs) = self.tag_stack.pop()
+        self.append((tag, attrs, data))
+        return tag
 
     def push(self, tag, attrs):
-	self.tag_stack.append((tag, attrs))
-	self.excluded_stack.append(self.excluded)
-	if tag in excluded:
-	    self.excluded = self.excluded.union(excluded[tag])
-	self.data_stack.append(self.data)
-	self.data = []
+        self.tag_stack.append((tag, attrs))
+        self.excluded_stack.append(self.excluded)
+        if tag in excluded:
+            self.excluded = self.excluded.union(excluded[tag])
+        self.data_stack.append(self.data)
+        self.data = []
 
     def append(self, item):
-	self.data.append(item)
+        self.data.append(item)
 
     def is_allowed(self, tag):
-	return tag not in self.excluded and tag in allowed[self.top()]
+        return tag not in self.excluded and tag in allowed[self.top()]
 
     def handle_starttag(self, tag, attrs):
-	if self.tag_stack != []:
-	    while not self.is_allowed(tag):
-		self.pop()
-	if tag not in single:
-	    self.push(tag, attrs)
-	else:
-	    self.append((tag, attrs, None))
+        if self.tag_stack != []:
+            while not self.is_allowed(tag):
+                self.pop()
+        if tag not in single:
+            self.push(tag, attrs)
+        else:
+            self.append((tag, attrs, None))
 
     def handle_entityref(self, name):
-	if name in self.entities:
-	    self.handle_data(self.entities[name])
-	elif name in htmlentitydefs.entitydefs:
-	    self.handle_data(htmlentitydefs.entitydefs[name])
-	else:
-	    sys.stderr.write("unrecognized entity: %s\n" % name)
+        if name in self.entities:
+            self.handle_data(self.entities[name])
+        elif name in htmlentitydefs.entitydefs:
+            self.handle_data(htmlentitydefs.entitydefs[name])
+        else:
+            sys.stderr.write("unrecognized entity: %s\n" % name)
 
     def handle_charref(self, name):
-	sys.stderr.write('unsupported character reference <%s>' % name);
+        sys.stderr.write('unsupported character reference <%s>' % name)
 
     def handle_data(self, data):
-	self.append(data)
+        self.append(data)
 
     def handle_endtag(self, tag):
-	while True:
-	    if self.pop() == tag:
-		break
+        while True:
+            if self.pop() == tag:
+                break
 
     def handle_decl(self, decl):
         self.decls.append(decl)
-
diff --git a/tools/g.html2man/rest.py b/tools/g.html2man/rest.py
index 1364b90..d938905 100644
--- a/tools/g.html2man/rest.py
+++ b/tools/g.html2man/rest.py
@@ -1,5 +1,6 @@
 import sys
 
+
 def match(node, tag, attr=None, val=None):
     if not isinstance(node, tuple):
         return False
@@ -13,6 +14,7 @@ def match(node, tag, attr=None, val=None):
             return False
     return True
 
+
 def find(node, tag, attr=None, val=None):
     if isinstance(node, tuple):
         node = node[2]
@@ -23,22 +25,26 @@ def find(node, tag, attr=None, val=None):
             return child
     raise ValueError('child not found')
 
+
 def children(node):
     return node[2]
 
+
 def text(node):
     return children(node)[0]
 
+
 def _(s):
     return s        # TODO
 
-def rest(root, f = sys.stdout):
+
+def rest(root, f=sys.stdout):
     def write(text):
         f.write(text)
 
     def show(item, italic=False, bold=False):
         if isinstance(item, str):
-            spc = '' # if item[-1] == '\n' else ' '
+            spc = ''  # if item[-1] == '\n' else ' '
             fmt = '**' if bold else ('*' if italic else '')
             write('%s%s%s%s' % (fmt, item, fmt, spc))
         elif match(item, 'b'):
diff --git a/tools/mkhtml.py b/tools/mkhtml.py
index 0589284..3b1d571 100644
--- a/tools/mkhtml.py
+++ b/tools/mkhtml.py
@@ -22,12 +22,15 @@ import string
 import re
 from datetime import datetime
 from HTMLParser import HTMLParser
+import urlparse
 
 pgm = sys.argv[1]
 
 src_file = "%s.html" % pgm
 tmp_file = "%s.tmp.html" % pgm
 
+source_url = "https://trac.osgeo.org/grass/browser/grass/trunk/"
+
 header_base = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
@@ -53,13 +56,15 @@ header_pgm_desc = """<h2>NAME</h2>
 <em><b>${PGM}</b></em> - ${PGM_DESC}
 """
 
-footer_index = string.Template(\
+footer_index = string.Template(
 """<hr class="header">
 <p>
 <a href="index.html">Main index</a> |
 <a href="${INDEXNAME}.html">${INDEXNAMECAP} index</a> |
+<a href="${URL}">Source code</a> |
 <a href="topics.html">Topics index</a> |
 <a href="keywords.html">Keywords index</a> |
+<a href="graphical_index.html">Graphical index</a> |
 <a href="full_index.html">Full index</a>
 </p>
 <p>
@@ -73,12 +78,13 @@ GRASS GIS ${GRASS_VERSION} Reference Manual
 </html>
 """)
 
-footer_noindex = string.Template(\
+footer_noindex = string.Template(
 """<hr class="header">
 <p>
 <a href="index.html">Main index</a> |
 <a href="topics.html">Topics index</a> |
 <a href="keywords.html">Keywords index</a> |
+<a href="graphical_index.html">Graphical index</a> |
 <a href="full_index.html">Full index</a>
 </p>
 <p>
@@ -92,7 +98,6 @@ GRASS GIS ${GRASS_VERSION} Reference Manual
 </html>
 """)
 
-
 def read_file(name):
     try:
         f = open(name, 'rb')
@@ -129,9 +134,9 @@ def create_toc(src_data):
                 self.idx += 1
                 self.process_text = False
                 self.text = ''
-            
+
             self.tag_curr = self.tag_last
-                
+
         def handle_data(self, data):
             if not self.process_text:
                 return
@@ -139,11 +144,11 @@ def create_toc(src_data):
                 self.text += data
             else:
                 self.text += '<%s>%s</%s>' % (self.tag_curr, data, self.tag_curr)
-    
+
     # instantiate the parser and fed it some HTML
     parser = MyHTMLParser()
     parser.feed(src_data)
-    
+
     return parser.data
 
 def escape_href(label):
@@ -159,7 +164,7 @@ def escape_href(label):
 def write_toc(data):
     if not data:
         return
-    
+
     fd = sys.stdout
     fd.write('<div class="toc">\n')
     fd.write('<h4 class="toc">Table of contents</h4>\n')
@@ -175,18 +180,18 @@ def write_toc(data):
             in_h3 = True
         elif not first:
             fd.write('</li>\n')
-            
+
         if tag == 'h2':
             has_h2 = True
             if in_h3:
                 indent -= 4
                 fd.write('%s</ul></li>\n' % (' ' * indent))
                 in_h3 = False
-        
+
         fd.write('%s<li class="toc"><a href="#%s" class="toc">%s</a>' % \
                      (' ' * indent, escape_href(text), text))
         first = False
-    
+
     fd.write('</li>\n</ul>\n')
     fd.write('</div>\n')
 
@@ -258,6 +263,7 @@ index_names = {
     'v' : 'vector'
     }
 
+
 def to_title(name):
     """Convert name of command class/family to form suitable for title"""
     return name.capitalize()
@@ -287,10 +293,16 @@ year = os.getenv("VERSION_DATE")
 if not year:
     year = str(datetime.now().year)
 
+# check the names of scripts to assign the right folder
+topdir = os.path.abspath(os.getenv("MODULE_TOPDIR"))
+curdir = os.path.abspath(os.path.curdir)
+pgmdir = curdir.replace(topdir, '').lstrip('/')
+url = urlparse.urljoin(source_url, pgmdir)
+
 if index_name:
     sys.stdout.write(footer_index.substitute(INDEXNAME=index_name,
                                              INDEXNAMECAP=index_name_cap,
-                                             YEAR=year,
+                                             YEAR=year, URL=url,
                                              GRASS_VERSION=grass_version))
 else:
     sys.stdout.write(footer_noindex.substitute(YEAR=year,
diff --git a/tools/vagrant/clean.sh b/tools/vagrant/clean.sh
new file mode 100755
index 0000000..ae0d4bc
--- /dev/null
+++ b/tools/vagrant/clean.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# abort install if any errors occur and enable tracing
+set -o errexit
+set -o xtrace
+
+cd /vagrant
+
+if [ -f "include/Make/Platform.make" ] ; then
+    make cleandistdirs
+    make distclean
+fi
+
+exit 0
diff --git a/tools/vagrant/compile.sh b/tools/vagrant/compile.sh
new file mode 100755
index 0000000..ed40f3b
--- /dev/null
+++ b/tools/vagrant/compile.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+### inspired by https://svn.osgeo.org/gdal/trunk/gdal/scripts/vagrant/gdal.sh
+
+# abort install if any errors occur and enable tracing
+set -o errexit
+set -o xtrace
+
+NUMTHREADS=2
+if [[ -f /sys/devices/system/cpu/online ]]; then
+	# Calculates 1.5 times physical threads
+	NUMTHREADS=$(( ( $(cut -f 2 -d '-' /sys/devices/system/cpu/online) + 1 ) * 15 / 10  ))
+fi
+#NUMTHREADS=1 # disable MP
+export NUMTHREADS
+
+cd /vagrant
+
+if [ ! -f "include/Make/Platform.make" ] ; then
+    ./configure \
+        --bindir=/usr/bin \
+        --srcdir=/vagrant \
+        --prefix=/usr/lib \
+        --enable-socket \
+        --enable-shared \
+        --with-postgres \
+        --with-mysql \
+        --with-cxx \
+        --with-x \
+        --with-gdal \
+        --with-geos \
+        --with-freetype \
+        --with-motif \
+        --with-readline \
+        --with-nls \
+        --with-odbc \
+        --with-netcdf \
+        --with-blas \
+        --with-lapack \
+        --with-sqlite \
+        --enable-largefile \
+        --with-freetype-includes=/usr/include/freetype2 \
+        --with-postgres-includes=`pg_config --includedir` \
+        --with-mysql-includes=`mysql_config --include | sed -e 's/-I//'` \
+        --with-proj-share=/usr/share/proj \
+        --with-wxwidgets=/usr/bin/wx-config \
+        --with-python \
+        --with-cairo \
+        --with-liblas
+fi
+
+make -j $NUMTHREADS
+
+sudo make install
+sudo ldconfig
+
+exit 0
diff --git a/vector/Makefile b/vector/Makefile
index 4ea8806..c20e059 100644
--- a/vector/Makefile
+++ b/vector/Makefile
@@ -10,10 +10,12 @@ SUBDIRS = \
 	v.category \
 	v.class \
 	v.clean \
+	v.cluster \
 	v.colors \
 	v.colors.out \
 	v.db.connect \
 	v.db.select \
+	v.decimate \
 	v.delaunay \
 	v.distance \
 	v.drape \
@@ -26,6 +28,7 @@ SUBDIRS = \
 	v.in.ascii \
 	v.in.db \
 	v.in.dxf \
+	v.in.pdal \
 	v.in.region \
 	v.kcv \
 	v.kernel \
@@ -56,6 +59,7 @@ SUBDIRS = \
 	v.normal \
 	v.out.ascii \
 	v.out.dxf \
+	v.out.lidar \
 	v.out.postgis \
 	v.out.pov \
 	v.out.svg \
diff --git a/vector/v.buffer/main.c b/vector/v.buffer/main.c
index d85d56d..93d6710 100644
--- a/vector/v.buffer/main.c
+++ b/vector/v.buffer/main.c
@@ -297,7 +297,6 @@ int main(int argc, char *argv[])
     straight_flag->key = 's';
     straight_flag->description = _("Make outside corners straight");
 
-/* Superfluous flag: https://trac.osgeo.org/grass/ticket/2223 */
     nocaps_flag = G_define_flag();
     nocaps_flag->key = 'c';
     nocaps_flag->description = _("Do not make caps at the ends of polylines");
diff --git a/vector/v.buffer/v.buffer.html b/vector/v.buffer/v.buffer.html
index 287327b..bf59966 100644
--- a/vector/v.buffer/v.buffer.html
+++ b/vector/v.buffer/v.buffer.html
@@ -38,7 +38,7 @@ buggy for some input data).
 
 <h3>Corner settings</h3>
 
-The following corners (also called "cap") exist:
+The following vector line related corners (also called "cap") exist:
 <ul>
 <li>no cap:       <img src="v_buffer_no_cap.png" valign="middle" alt="line buffer: no cap"></li>
 <li>rounded cap: <img src="v_buffer_rounded_cap.png" valign="middle" alt="line buffer: rounded cap"></li>
@@ -148,4 +148,4 @@ Rewritten by Rosen Matev (with support through the
 Rewritten by Markus Metz (2011, 2012)
 
 <p>
-<i>Last changed: $Date: 2016-01-21 11:35:47 +0100 (Thu, 21 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-03-07 23:58:33 -0800 (Mon, 07 Mar 2016) $</i>
diff --git a/vector/v.build.polylines/main.c b/vector/v.build.polylines/main.c
index 65c01ad..47b6130 100644
--- a/vector/v.build.polylines/main.c
+++ b/vector/v.build.polylines/main.c
@@ -125,13 +125,14 @@ int main(int argc, char **argv)
     cats->key = "cats";
     cats->type = TYPE_STRING;
     cats->description = _("Category number mode");
-    cats->options = "no,first,multi";
+    cats->options = "no,first,multi,same";
     desc = NULL;
     G_asprintf(&desc,
-	       "no;%s;first;%s;multi;%s",
+	       "no;%s;first;%s;multi;%s;same;%s",
 	       _("Do not assign any category number to polyline"),
 	       _("Assign category number of first line to polyline"),
-	       _("Assign multiple category numbers to polyline"));
+	       _("Assign multiple category numbers to polyline"),
+	       _("Create polyline from lines with same categories"));
     cats->descriptions = desc;
     cats->answer = "no";
 
diff --git a/vector/v.build.polylines/v.build.polylines.html b/vector/v.build.polylines/v.build.polylines.html
index 3f7baaa..73590f2 100644
--- a/vector/v.build.polylines/v.build.polylines.html
+++ b/vector/v.build.polylines/v.build.polylines.html
@@ -49,6 +49,9 @@ a new polyline, i.e. lines and boundaries are kept separate.
   different category numbers then <em>v.build.polylines</em> will
   set the multiple category numbers to a polyline.  Also all linked
   attributes tables are copied to the output vector map.</li>
+  <li><b>cats=same</b> - Assigned lines to a polyline have
+  same category numbers in all layers. Linked
+  attributes tables are copied to the output vector map.</li>
 </ul>
 
 <em>v.build.polylines</em> correctly handles <b>input</b> vector maps
@@ -81,4 +84,4 @@ Major rewrite by Radim Blazek, October 2002<br>
 Category mode added by Martin Landa, FBK-irst, Trento, Italy, October 2007<br>
 Support for categories, attributes, and different line types by Markus Metz
 
-<p><i>Last changed: $Date: 2014-12-27 22:28:54 +0100 (Sat, 27 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-02-07 02:43:05 -0800 (Sun, 07 Feb 2016) $</i>
diff --git a/vector/v.build.polylines/walk.c b/vector/v.build.polylines/walk.c
index 4097590..e5a39e6 100644
--- a/vector/v.build.polylines/walk.c
+++ b/vector/v.build.polylines/walk.c
@@ -74,6 +74,51 @@ int walk_back(struct Map_info *map, int start_line, int type)
     return (line);
 }
 
+/* 
+   \brief Compare two line_cats structs.
+
+   \return 1 - structs have same categories in all fields
+   \return 0 - structs do not have same categories in all fields
+ */
+int cmp_cats(struct line_cats *Cats1, struct line_cats *Cats2)
+{
+    int cat_found, cat_idx, i, ret;
+    struct ilist *cats_list;
+
+    if (Cats1->n_cats != Cats2->n_cats) {
+	return 0;
+    }
+
+    cats_list = Vect_new_list();
+
+    for (cat_idx = 0; cat_idx < Cats1->n_cats; cat_idx++) {
+
+	ret = Vect_field_cat_get(Cats2, Cats1->field[cat_idx], cats_list);
+
+	if (ret == -1) {
+	    Vect_destroy_list(cats_list);
+	    return 0;
+	}
+
+	cat_found = 0;
+
+	for (i = 0; i < cats_list->n_values; i++) {
+	    if (Cats1->cat[cat_idx] == cats_list->value[i]) {
+		cat_found = 1;
+	    }
+
+	}
+
+	if (cat_found == 0) {
+	    Vect_destroy_list(cats_list);
+	    return 0;
+	}
+    }
+
+    Vect_destroy_list(cats_list);
+    return 1;
+}
+
 /* Start from the first node on a polyline and walk to the other end,
    collecting the coordinates of each node en route.  */
 int walk_forward_and_pick_up_coords(struct Map_info *map,
@@ -137,6 +182,14 @@ int walk_forward_and_pick_up_coords(struct Map_info *map,
 			     cats_tmp->cat[cat_idx]);
 	    }
 	}
+
+	if (cats_tmp && write_cats == SAME_CATS) {
+
+	    if (cmp_cats(Cats, cats_tmp) == 0) {
+		break;
+	    }
+	}
+
 	Vect_get_line_nodes(map, line, &n1, &n2);
 
 	if (node == n1) {
diff --git a/vector/v.build.polylines/walk.h b/vector/v.build.polylines/walk.h
index ef03595..7a74e4e 100644
--- a/vector/v.build.polylines/walk.h
+++ b/vector/v.build.polylines/walk.h
@@ -1,6 +1,8 @@
 #define NO_CATS     0
 #define ONE_CAT     1
 #define MULTI_CATS  2
+#define SAME_CATS   3
+
 
 int walk_back(struct Map_info *, int, int);
 int walk_forward_and_pick_up_coords(struct Map_info *, int, int,
diff --git a/vector/v.build/main.c b/vector/v.build/main.c
index ebc4669..7f60bb8 100644
--- a/vector/v.build/main.c
+++ b/vector/v.build/main.c
@@ -58,7 +58,7 @@ int main(int argc, char *argv[])
     opt->multiple = YES;
     opt->answer = "build";
     opt->description =
-	_("Build topology or dump topology or indeces to standard output");
+	_("Build topology or dump topology or indices to standard output");
     opt_desc = NULL;
     G_asprintf(&opt_desc,
 	       "build;%s;dump;%s;sdump;%s;cdump;%s;fdump;%s",
diff --git a/vector/v.build/v.build.html b/vector/v.build/v.build.html
index 929f159..9af64e0 100644
--- a/vector/v.build/v.build.html
+++ b/vector/v.build/v.build.html
@@ -47,7 +47,7 @@ includes:
 <h3>Build topology</h3>
 
 Note that <b>option=build</b> recreates also spatial and category
-indeces, not only topology. For linked OGR layers
+indices, not only topology. For linked OGR layers
 (see <em><a href="v.external.html">v.external</a></em>) also feature
 index is created.
 
@@ -89,4 +89,4 @@ Michael Higgins, U.S.Army Construction Engineering Research Laboratory,<br>
 Radim Blazek, ITC-irst, Trento, Italy
 
 <p>
-<i>Last changed: $Date: 2015-02-03 22:15:47 +0100 (Tue, 03 Feb 2015) $</i>
+<i>Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.category/testsuite/copy_multiple_cats.sh b/vector/v.category/testsuite/copy_multiple_cats.sh
new file mode 100755
index 0000000..ba92e30
--- /dev/null
+++ b/vector/v.category/testsuite/copy_multiple_cats.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+
+# this is test for #2618
+# v.category option=transfer does not copy multiple cat values
+# https://trac.osgeo.org/grass/ticket/2618
+
+set -e
+set -x
+
+echo "100|100|1" | v.in.ascii output=vcategory_test_1 input=-
+fid=$(v.edit --quiet layer=1 map=vcategory_test_1 tool=select cat=1)
+v.edit map=vcategory_test_1 layer=1 tool=catadd ids=${fid} cats=2
+v.category option=transfer layer=1,2 input=vcategory_test_1 output=vcategory_test_2
+
+expected="1/2"
+out=$(v.category option=print layer=1 input=vcategory_test_2)
+
+if [[ ${out} != ${expected} ]]; then
+    echo "FAIL: Expected '${expected}' not equals to output ${out}"
+    exit 1
+fi
+
+out=$(v.category option=print layer=2 input=vcategory_test_2)
+
+if [[ ${out} != ${expected} ]]; then
+    echo "FAIL: Expected '${expected}' not equals to output ${out}"
+    exit 1
+fi
+
+g.remove -f type=vector name=vcategory_test_1,vcategory_test_2
diff --git a/vector/v.category/v.category.html b/vector/v.category/v.category.html
index c59def1..a528fb4 100644
--- a/vector/v.category/v.category.html
+++ b/vector/v.category/v.category.html
@@ -140,4 +140,4 @@ Radim Blazek, ITC-irst, Trento, Italy<br>
 Modified (the id parameter) by Martin Landa,
   FBK-irst (formerly ITC-irst), Trento, Italy, 2008/02
 
-<p><i>Last changed: $Date: 2014-04-11 17:48:44 +0200 (Fri, 11 Apr 2014) $</i>
+<p><i>Last changed: $Date: 2014-04-11 08:46:13 -0700 (Fri, 11 Apr 2014) $</i>
diff --git a/vector/v.clean/test/description.html b/vector/v.clean/test/description.html
index 69be7a1..df7c5b3 100644
--- a/vector/v.clean/test/description.html
+++ b/vector/v.clean/test/description.html
@@ -11,4 +11,4 @@
 
 Radim Blazek
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i>
diff --git a/vector/v.clean/v.clean.html b/vector/v.clean/v.clean.html
index 8ec47f8..98010de 100644
--- a/vector/v.clean/v.clean.html
+++ b/vector/v.clean/v.clean.html
@@ -3,7 +3,7 @@
 <em>v.clean</em> allows the user to automatically fix topology of vector 
 maps. Several tools may be listed to be executed sequentially. In this
 case, also the threshold parameter requires several values to be listed
-accordingly. An error map is optionally written which stores the errorneous
+accordingly. An error map is optionally written which stores the erroneous
 geometries.
 
 <h3>Break lines/boundaries</h3>
@@ -295,4 +295,4 @@ David Gerdes, U.S. Army Construction Engineering Research Laboratory<br>
 Radim Blazek, ITC-irst, Trento, Italy<br>
 Martin Landa, FBK-irst (formerly ITC-irst), Trento, Italy
 
-<p><i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.cluster/Makefile b/vector/v.cluster/Makefile
new file mode 100644
index 0000000..d5ca4e0
--- /dev/null
+++ b/vector/v.cluster/Makefile
@@ -0,0 +1,12 @@
+MODULE_TOPDIR = ../..
+
+PGM = v.cluster
+
+LIBES = $(VECTORLIB) $(BTREE2LIB) $(GISLIB)
+DEPENDENCIES = $(VECTORDEP) $(BTREE2DEP) $(GISDEP)
+EXTRA_INC = $(VECT_INC)
+EXTRA_CFLAGS = $(VECT_CFLAGS)
+
+include $(MODULE_TOPDIR)/include/Make/Module.make
+
+default: cmd
diff --git a/vector/v.cluster/main.c b/vector/v.cluster/main.c
new file mode 100644
index 0000000..a2e40aa
--- /dev/null
+++ b/vector/v.cluster/main.c
@@ -0,0 +1,1285 @@
+
+/****************************************************************
+ *
+ * MODULE:     v.cluster
+ *
+ * AUTHOR(S):  Markus Metz
+ *
+ * PURPOSE:    Identifies clusters in a point cloud
+ *
+ * COPYRIGHT:  (C) 2015 by the GRASS Development Team
+ *
+ *             This program is free software under the
+ *             GNU General Public License (>=v2).
+ *             Read the file COPYING that comes with GRASS
+ *             for details.
+ *
+ ****************************************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <grass/gis.h>
+#include <grass/vector.h>
+#include <grass/glocale.h>
+#include <grass/kdtree.h>
+
+#ifdef MAX
+#undef MAX
+#endif
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+
+#define CL_DBSCAN	1
+#define CL_DBSCAN2	2
+#define CL_DENSE	3
+#define CL_OPTICS	4
+#define CL_OPTICS2	5
+
+#define GET_PARENT(p, c) ((p) = (int) (((c) - 2) / 3 + 1))
+#define GET_CHILD(c, p) ((c) = (int) (((p) * 3) - 1))
+
+
+struct cl_pnt
+{
+    int uid;
+    int prevpnt;
+    double cd;
+    double reach;
+    double c[3];
+};
+
+static struct cl_pnt *clp;
+
+static int *heapidx;
+static int heapsize;
+
+int add_pt(int idx);
+int drop_pt(void);
+
+int main(int argc, char *argv[])
+{
+    struct Map_info In, Out;
+    struct line_pnts *Points;
+    struct line_cats *Cats;
+    int i, j, type, cat, is3d;
+    struct GModule *module;
+    struct Option *input, *output, *lyr_opt;
+    struct Option *dist_opt, *min_opt, *method_opt;
+    struct Flag *flag_2d, *flag_topo, *flag_attr;
+    int clayer;
+    int npoints, nlines;
+    int *cid, *idx, *renumber, OLD, NEW;
+    int nclusters, noutliers;
+    struct kdtree *kdt;
+    struct kdtrav trav;
+    double c[3];
+    int uid;
+    double eps;
+    int ndims, minpnts;
+    int clmethod;
+    double *kddist;
+    int kdfound, *kduid;
+
+    /* initialize GIS environment */
+    /* reads grass env, stores program name to G_program_name() */
+    G_gisinit(argv[0]);
+
+    /* initialize module */
+    module = G_define_module();
+    G_add_keyword(_("vector"));
+    G_add_keyword(_("point cloud"));
+    G_add_keyword(_("cluster"));
+    G_add_keyword(_("clump"));
+    module->description = _("Performs cluster identification.");
+
+    /* Define the different options as defined in gis.h */
+    input = G_define_standard_option(G_OPT_V_INPUT);
+
+    output = G_define_standard_option(G_OPT_V_OUTPUT);
+
+    lyr_opt = G_define_standard_option(G_OPT_V_FIELD);
+    lyr_opt->label = _("Layer number or name for cluster ids");
+    lyr_opt->answer = "2";
+
+    dist_opt = G_define_option();
+    dist_opt->type = TYPE_DOUBLE;
+    dist_opt->key = "distance";
+    dist_opt->required = NO;
+    dist_opt->label = _("Maximum distance to neighbors");
+
+    min_opt = G_define_option();
+    min_opt->type = TYPE_INTEGER;
+    min_opt->key = "min";
+    min_opt->required = NO;
+    min_opt->label = _("Minimum number of points to create a cluster");
+
+    method_opt = G_define_option();
+    method_opt->type = TYPE_STRING;
+    method_opt->key = "method";
+    method_opt->options = "dbscan,dbscan2,density,optics,optics2";
+    method_opt->answer = "dbscan";
+    method_opt->required = NO;
+    method_opt->label = _("Clustering method");
+
+    flag_2d = G_define_flag();
+    flag_2d->key = '2';
+    flag_2d->label = _("Force 2D clustering");
+
+    flag_topo = G_define_standard_flag(G_FLG_V_TOPO);
+
+    flag_attr = G_define_standard_flag(G_FLG_V_TABLE);
+    
+
+    /* options and flags parser */
+    if (G_parser(argc, argv))
+	exit(EXIT_FAILURE);
+
+    Points = Vect_new_line_struct();
+    Cats = Vect_new_cats_struct();
+
+    Vect_check_input_output_name(input->answer, output->answer, G_FATAL_EXIT);
+
+    if (Vect_set_open_level(1))
+	G_fatal_error(_("Unable to set predetermined vector open level"));
+
+    if (1 > Vect_open_old(&In, input->answer, NULL))
+	G_fatal_error(_("Unable to open vector map <%s>"), input->answer);
+
+    /* Check if old vector is 3D. We should preserve 3D data. */
+    is3d = WITHOUT_Z;
+    ndims = 2;
+    if (Vect_is_3d(&In)) {
+	is3d = WITH_Z;
+	ndims = 3;
+    }
+
+    if (flag_2d->answer)
+	ndims = 2;
+
+    minpnts = ndims;
+
+    if (min_opt->answer) {
+	minpnts = atoi(min_opt->answer);
+	if (minpnts < 2) {
+	    G_warning(_("Minimum number of points must be at least 2"));
+	    minpnts = 2;
+	}
+	minpnts--;
+    }
+
+    clayer = atoi(lyr_opt->answer);
+    if (clayer < 1)
+	G_fatal_error(_("Option %s must be positive"), lyr_opt->key);
+
+    clmethod = CL_DBSCAN;
+    if (!strcmp(method_opt->answer, "dbscan2"))
+	clmethod = CL_DBSCAN2;
+    else if (!strcmp(method_opt->answer, "density"))
+	clmethod = CL_DENSE;
+    else if (!strcmp(method_opt->answer, "optics"))
+	clmethod = CL_OPTICS;
+    else if (!strcmp(method_opt->answer, "optic2"))
+	clmethod = CL_OPTICS2;
+
+    /* count points */
+    G_message(_("Counting input points ..."));
+    npoints = nlines = 0;
+    while ((type = Vect_read_next_line(&In, Points, Cats)) > 0) {
+	nlines++;
+	if (type == GV_POINT) {
+	    if (Vect_cat_get(Cats, clayer, &cat))
+		G_fatal_error(_("Layer %d is not empty, choose another layer"),
+		              clayer);
+	    npoints++;
+	}
+    }
+
+    if (npoints < minpnts + 1) {
+	G_warning(_("Not enough points in input, nothing to do"));
+	Vect_close(&In);
+	exit(EXIT_SUCCESS);
+    }
+
+    /* Open new vector for reading/writing */
+    if (0 > Vect_open_new(&Out, output->answer, is3d)) {
+	Vect_close(&In);
+	G_fatal_error(_("Unable to create vector map <%s>"), output->answer);
+    }
+
+    /* Copy header and history data from old to new map */
+    Vect_copy_head_data(&In, &Out);
+    Vect_hist_copy(&In, &Out);
+    Vect_hist_command(&Out);
+
+    /* create k-d tree */
+    G_message(_("Creating search index ..."));
+    kdt = kdtree_create(ndims, NULL);
+    cid = G_malloc((nlines + 1) * sizeof(int));
+    idx = G_malloc((nlines + 1) * sizeof(int));
+    Vect_rewind(&In);
+    i = 0;
+    cid[0] = 0;
+    idx[0] = 0;
+    while ((type = Vect_read_next_line(&In, Points, Cats)) > 0) {
+	G_percent(i++, nlines, 4);
+	cid[i] = 0;
+	if (type == GV_POINT) {
+	    
+	    c[0] = Points->x[0];
+	    c[1] = Points->y[0];
+	    c[2] = Points->z[0];
+
+	    kdtree_insert(kdt, c, i, 0);
+	}
+    }
+    G_percent(nlines, nlines, 4);
+
+    kdtree_optimize(kdt, 2);
+
+    noutliers = nclusters = 0;
+    if (clmethod == CL_DBSCAN) {
+	/* DBSCAN 
+	 * the neighbors of each point 
+	 * with at least minpnts neighbors within distance (epsilon)
+	 * are added to a cluster */
+
+	/* get epsilon */
+	if (dist_opt->answer) {
+	    eps = atof(dist_opt->answer);
+	    if (eps <= 0)
+		G_fatal_error(_("Option %s must be a positive number"), dist_opt->key);
+	}
+	else {
+	    int n;
+	    double dist, mean, min, max, sum, sumsq, sd;
+	    double *kd;
+	    int *ki;
+
+	    /* estimate epsilon */
+	    G_message(_("Estimating maximum distance ..."));
+	    kdtree_init_trav(&trav, kdt);
+	    c[2] = 0.0;
+	    n = 0;
+	    sum = sumsq = 0;
+	    min = 1.0 / 0.0;
+	    max = 0;
+	    kd = G_malloc(minpnts * sizeof(double));
+	    ki = G_malloc(minpnts * sizeof(int));
+	    i = 0;
+	    while (kdtree_traverse(&trav, c, &uid)) {
+		G_percent(i++, npoints, 4);
+
+		kdfound = kdtree_knn(kdt, c, ki, kd, minpnts, &uid);
+		if (kdfound) {
+		    dist = sqrt(kd[kdfound - 1]);
+		    sum += dist;
+		    sumsq += dist * dist;
+		    n++;
+		    if (min > dist)
+			min = dist;
+		    if (max < dist)
+			max = dist;
+		}
+	    }
+	    G_percent(npoints, npoints, 4);
+
+	    G_free(kd);
+	    G_free(ki);
+
+	    if (!n)
+		G_fatal_error(_("No neighbors found"));
+	    
+	    mean = sum / n;
+	    sd = sqrt(sumsq / n - mean * mean);
+	    eps = mean + 1.644854 * sd; /* 90% CI */
+	    eps = mean + 2.575829 * sd; /* 99% CI */
+	    
+	    if (eps > max)
+		eps = max;
+
+	    G_message(_("Distance to the %d nearest neighbor:"), minpnts);
+	    G_message(_("Min: %g, max: %g"), min, max);
+	    G_message(_("Mean: %g"), mean);
+	    G_message(_("Standard deviation: %g"), sd);
+
+	    G_message(_("Estimated maximum distance: %g"), eps);
+	}
+
+	/* create clusters */
+	G_message(_("Building clusters ..."));
+	nclusters = 0;
+	kdtree_init_trav(&trav, kdt);
+	c[2] = 0.0;
+	idx[0] = 0;
+	i = 0;
+	while (kdtree_traverse(&trav, c, &uid)) {
+	    G_percent(i++, npoints, 4);
+
+	    /* radius search */
+	    /* TODO: use knn search */
+	    kdfound = kdtree_dnn(kdt, c, &kduid, &kddist, eps, &uid);
+
+	    /* must have min neighbors within radius */
+	    if (kdfound >= minpnts) {
+
+		OLD = cid[uid];
+		NEW = idx[OLD];
+		while (OLD != NEW) {
+		    OLD = NEW;
+		    NEW = idx[OLD];
+		}
+		cat = NEW;
+
+		/* find latest cluster */
+		for (j = 0; j < kdfound; j++) {
+		    OLD = cid[kduid[j]];
+		    NEW = idx[OLD];
+		    while (OLD != NEW) {
+			OLD = NEW;
+			NEW = idx[OLD];
+		    }
+		    if (cat < NEW) {
+			cat = NEW;
+		    }
+		}
+
+		if (cat == 0) {
+		    /* start new cluster */
+		    nclusters++;
+		    cat = nclusters;
+		    if (nclusters > nlines)
+			G_fatal_error(_("nlines: %d, nclusters: %d"), nlines, nclusters);
+		    idx[nclusters] = nclusters;
+		    cid[uid] = nclusters;
+		}
+
+		/* set or update cluster ids */
+		if (cid[uid] != 0) {
+		    /* relabel */
+		    OLD = cid[uid];
+		    NEW = idx[OLD];
+		    while (OLD != NEW) {
+			OLD = NEW;
+			NEW = idx[OLD];
+		    }
+		    idx[NEW] = cat;
+		}
+		else {
+		    cid[uid] = cat;
+		}
+
+		for (j = 0; j < kdfound; j++) {
+		    if (cid[kduid[j]] != 0) {
+			/* relabel */
+			OLD = cid[kduid[j]];
+			NEW = idx[OLD];
+			while (OLD != NEW) {
+			    OLD = NEW;
+			    NEW = idx[OLD];
+			}
+			idx[NEW] = cat;
+		    }
+		    else {
+		       cid[kduid[j]] = cat;
+		    }
+		}
+	    }
+	    if (kdfound) {
+		G_free(kddist);
+		G_free(kduid);
+	    }
+	}
+	G_percent(npoints, npoints, 4);
+
+	if (nclusters == 0) {
+	    G_message(_("No clusters found, adjust option %s"), dist_opt->key);
+	    Vect_close(&In);
+	    Vect_close(&Out);
+	    Vect_delete(output->answer);
+	    exit(EXIT_SUCCESS);
+	}
+
+	/* generate a renumbering scheme */
+	G_message(_("Generating renumbering scheme..."));
+	G_debug(1, "%d initial clusters", nclusters);
+	/* allocate final clump ID */
+	renumber = (int *) G_malloc((nclusters + 1) * sizeof(int));
+	renumber[0] = 0;
+	cat = 1;
+	G_percent(0, nclusters, 1);
+	for (i = 1; i <= nclusters; i++) {
+	    G_percent(i, nclusters, 4);
+	    OLD = i;
+	    NEW = idx[i];
+	    if (OLD != NEW) {
+		renumber[i] = 0;
+		/* find valid clump ID */
+		while (OLD != NEW) {
+		    OLD = NEW;
+		    NEW = idx[OLD];
+		}
+		idx[i] = NEW;
+	    }
+	    else
+		/* set final clump id */
+		renumber[i] = cat++;
+	}
+
+	nclusters = cat - 1;
+
+	/* write cluster ids */
+	G_message(_("Write out cluster ids ..."));
+	Vect_rewind(&In);
+	i = 0;
+	noutliers = 0;
+	while ((type = Vect_read_next_line(&In, Points, Cats)) > 0) {
+	    G_percent(i++, nlines, 4);
+	    if (type == GV_POINT) {
+		cat = renumber[idx[cid[i]]];
+		if (!cat)
+		    noutliers++;
+		Vect_cat_set(Cats, clayer, cat);
+		Vect_write_line(&Out, GV_POINT, Points, Cats);
+	    }
+	}
+	G_percent(nlines, nlines, 4);
+    }
+    else if (clmethod == CL_DBSCAN2) {
+	/* DBSCAN, but cluster size must be at least minpnts + 1 */
+	int *clcnt;
+
+	/* get epsilon */
+	if (dist_opt->answer) {
+	    eps = atof(dist_opt->answer);
+	    if (eps <= 0)
+		G_fatal_error(_("Option %s must be a positive number"), dist_opt->key);
+	}
+	else {
+	    int n;
+	    double dist, mean, min, max, sum, sumsq, sd;
+	    double *kd;
+	    int *ki;
+
+	    /* estimate epsilon */
+	    G_message(_("Estimating maximum distance ..."));
+	    kdtree_init_trav(&trav, kdt);
+	    c[2] = 0.0;
+	    n = 0;
+	    sum = sumsq = 0;
+	    min = 1.0 / 0.0;
+	    max = 0;
+	    kd = G_malloc(minpnts * sizeof(double));
+	    ki = G_malloc(minpnts * sizeof(int));
+	    i = 0;
+	    while (kdtree_traverse(&trav, c, &uid)) {
+		G_percent(i++, npoints, 4);
+
+		kdfound = kdtree_knn(kdt, c, ki, kd, minpnts, &uid);
+		if (kdfound) {
+		    dist = sqrt(kd[kdfound - 1]);
+		    sum += dist;
+		    sumsq += dist * dist;
+		    n++;
+		    if (min > dist)
+			min = dist;
+		    if (max < dist)
+			max = dist;
+		}
+	    }
+	    G_percent(npoints, npoints, 4);
+
+	    G_free(kd);
+	    G_free(ki);
+
+	    if (!n)
+		G_fatal_error(_("No neighbors found"));
+	    
+	    mean = sum / n;
+	    sd = sqrt(sumsq / n - mean * mean);
+	    eps = mean + 1.644854 * sd; /* 90% CI */
+	    eps = mean + 2.575829 * sd; /* 99% CI */
+	    
+	    if (eps > max)
+		eps = max;
+
+	    G_message(_("Distance to the %d nearest neighbor:"), minpnts);
+	    G_message(_("Min: %g, max: %g"), min, max);
+	    G_message(_("Mean: %g"), mean);
+	    G_message(_("Standard deviation: %g"), sd);
+
+	    G_message(_("Estimated maximum distance: %g"), eps);
+	}
+
+	/* create clusters */
+	G_message(_("Building clusters ..."));
+	clcnt = G_malloc((nlines + 1) * sizeof(int));
+	for (i = 0; i <= nlines; i++)
+	    clcnt[i] = 0;
+	nclusters = 0;
+	kdtree_init_trav(&trav, kdt);
+	c[2] = 0.0;
+	idx[0] = 0;
+	i = 0;
+	while (kdtree_traverse(&trav, c, &uid)) {
+	    G_percent(i++, npoints, 4);
+
+	    /* radius search */
+	    /* TODO: use knn search */
+	    kdfound = kdtree_dnn(kdt, c, &kduid, &kddist, eps, &uid);
+	    
+	    /* any neighbor within radius */
+	    if (kdfound > 0) {
+
+		OLD = cid[uid];
+		NEW = idx[OLD];
+		while (OLD != NEW) {
+		    OLD = NEW;
+		    NEW = idx[OLD];
+		}
+		cat = NEW;
+
+		/* find latest cluster */
+		for (j = 0; j < kdfound; j++) {
+		    OLD = cid[kduid[j]];
+		    NEW = idx[OLD];
+		    while (OLD != NEW) {
+			OLD = NEW;
+			NEW = idx[OLD];
+		    }
+		    if (cat < NEW) {
+			cat = NEW;
+		    }
+		}
+
+		if (cat == 0) {
+		    /* start new cluster */
+		    nclusters++;
+		    cat = nclusters;
+		    if (nclusters > nlines)
+			G_fatal_error(_("nlines: %d, nclusters: %d"), nlines, nclusters);
+		    idx[nclusters] = nclusters;
+		    cid[uid] = nclusters;
+		    clcnt[cat] = 1;
+		}
+
+		/* set or update cluster ids */
+		if (cid[uid] != 0) {
+		    /* relabel */
+		    OLD = cid[uid];
+		    NEW = idx[OLD];
+		    while (OLD != NEW) {
+			OLD = NEW;
+			NEW = idx[OLD];
+		    }
+		    idx[NEW] = cat;
+		}
+		else {
+		    cid[uid] = cat;
+		    clcnt[cat]++;
+		}
+
+		for (j = 0; j < kdfound; j++) {
+		    if (cid[kduid[j]] != 0) {
+			OLD = cid[kduid[j]];
+			NEW = idx[OLD];
+			while (OLD != NEW) {
+			    OLD = NEW;
+			    NEW = idx[OLD];
+			}
+			/* relabel */
+			idx[NEW] = cat;
+		    }
+		    else {
+		        cid[kduid[j]] = cat;
+			clcnt[cat]++;
+		    }
+		}
+		G_free(kddist);
+		G_free(kduid);
+	    }
+	}
+	G_percent(npoints, npoints, 4);
+
+	if (nclusters == 0) {
+	    G_message(_("No clusters found, adjust option %s"), dist_opt->key);
+	    Vect_close(&In);
+	    Vect_close(&Out);
+	    Vect_delete(output->answer);
+	    exit(EXIT_SUCCESS);
+	}
+
+	/* generate a renumbering scheme */
+	G_message(_("Generating renumbering scheme..."));
+	G_debug(1, "%d initial clusters", nclusters);
+	/* allocate final clump ID */
+	renumber = (int *) G_malloc((nclusters + 1) * sizeof(int));
+	renumber[0] = 0;
+	cat = 1;
+	G_percent(0, nclusters, 1);
+	for (i = 1; i <= nclusters; i++) {
+	    G_percent(i, nclusters, 4);
+	    OLD = i;
+	    NEW = idx[i];
+	    if (OLD != NEW) {
+		/* find valid clump ID */
+		while (OLD != NEW) {
+		    OLD = NEW;
+		    NEW = idx[OLD];
+		}
+		idx[i] = NEW;
+		clcnt[NEW] += clcnt[i];
+	    }
+	}
+	for (i = 1; i <= nclusters; i++) {
+	    OLD = i;
+	    NEW = idx[i];
+	    renumber[i] = 0;
+	    if (OLD == NEW && clcnt[NEW] > minpnts) {
+		/* set final clump id */
+		renumber[i] = cat++;
+	    }
+	}
+
+	nclusters = cat - 1;
+
+	/* write cluster ids */
+	G_message(_("Write out cluster ids ..."));
+	Vect_rewind(&In);
+	i = 0;
+	noutliers = 0;
+	while ((type = Vect_read_next_line(&In, Points, Cats)) > 0) {
+	    G_percent(i++, nlines, 4);
+	    if (type == GV_POINT) {
+		cat = renumber[idx[cid[i]]];
+		if (!cat)
+		    noutliers++;
+		Vect_cat_set(Cats, clayer, cat);
+		Vect_write_line(&Out, GV_POINT, Points, Cats);
+	    }
+	}
+	G_percent(nlines, nlines, 4);
+    }
+    else if (clmethod == CL_OPTICS) {
+	/* OPTICS
+	 * each pair of points is either directly connected or 
+	 * connected by a chain of other points 
+	 * for each unprocessed point p
+	 * mark as processed, append to output list
+	 * core distance of p: distance to the k-th neighbor
+	 * q: neighbor of p
+	 * reachability of q: max(dist(p, q), coredist(p))
+	 * -> needs epsilon, otherwise always coredist(p)
+	 * for each unprocessed neighbor q
+	 * if q has not been reached yet, put q in min heap
+	 * if q's reachability can be reduced, put q with new reachability in min heap
+	 * proceed with point with smallest reachability
+	 * clusters:
+	 * plot x = position in output list, y = reachability
+	 * clusters = valleys of reachability in plot
+	 * hierarchical clusters: valleys in valleys
+	 */
+
+	double *kd;
+	int *ki;
+	int k, kdpnts;
+	int *clidx;
+	int *olist, nout;
+	double newrd;
+	int isout;
+
+	kd = G_malloc(minpnts * sizeof(double));
+	ki = G_malloc(minpnts * sizeof(int));
+
+	clp = G_malloc((npoints + 1) * sizeof(struct cl_pnt));
+	heapidx = G_malloc((npoints + 1) * sizeof(int));
+	olist = G_malloc((npoints + 1) * sizeof(int));
+	clidx = G_malloc((nlines + 1) * sizeof(int));
+	
+	heapsize = 0;
+
+	/* get epsilon */
+	eps = 0;
+	if (dist_opt->answer) {
+	    eps = atof(dist_opt->answer);
+	    if (eps <= 0)
+		G_fatal_error(_("Option %s must be a positive number"), dist_opt->key);
+	}
+
+	/* loading points */
+	G_message(_("Loading points ..."));
+	kdtree_init_trav(&trav, kdt);
+	c[2] = 0.0;
+	i = 0;
+	while (kdtree_traverse(&trav, c, &uid)) {
+	    G_percent(i, npoints, 4);
+	    
+	    clp[i].c[0] = c[0];
+	    clp[i].c[1] = c[1];
+	    clp[i].c[2] = c[2];
+	    clp[i].uid = uid;
+	    clp[i].cd = -1;
+	    clp[i].reach = -1;
+	    clp[i].prevpnt = -1;
+	    clidx[uid] = i;
+	    olist[i] = -1;
+	    
+	    i++;
+	}
+	G_percent(npoints, npoints, 4);
+	kdpnts = i;
+	G_debug(0, "%d points in k-d tree", kdpnts);
+
+	/* reachability network */
+	G_message(_("Reachability network ..."));
+	nout = 0;
+	for (i = 0; i < kdpnts; i++) {
+	    G_percent(i, kdpnts, 4);
+	    
+	    if (clp[i].cd > 0)
+		continue;
+
+	    /* knn search */
+	    uid = clp[i].uid;
+	    kdfound = kdtree_knn(kdt, clp[i].c, ki, kd, minpnts, &uid);
+	    if (kdfound < minpnts)
+		G_fatal_error(_("Not enough points found"));
+
+	    clp[i].cd = kd[minpnts - 1];
+	    /* no reachability for the seed point !!! */
+	    clp[i].reach = clp[i].cd; /* ok ? */
+	    olist[nout++] = i;
+	    
+	    /* initialize heap */
+	    newrd = clp[i].cd;
+	    for (j = 0; j < kdfound; j++) {
+		if (clp[clidx[ki[j]]].cd < 0) {
+		    /* deviation from OPTICS, 
+		     * creates nicer connectivity graph */
+		    newrd = kd[j];
+		    if (clp[clidx[ki[j]]].reach < 0 || clp[clidx[ki[j]]].reach > newrd) {
+			clp[clidx[ki[j]]].reach = newrd;
+			clp[clidx[ki[j]]].prevpnt = i;
+			add_pt(clidx[ki[j]]);
+		    }
+		}
+	    }
+
+	    while (heapsize) {
+		k = drop_pt();
+		if (k < 0 || k >= kdpnts)
+		    G_fatal_error("Invalid index");
+		if (clp[k].cd > 0)
+		    continue;
+
+		/* knn search */
+		uid = clp[k].uid;
+		kdfound = kdtree_knn(kdt, clp[k].c, ki, kd, minpnts, &uid);
+		if (kdfound < minpnts)
+		    G_fatal_error(_("Not enough points found"));
+
+		clp[k].cd = kd[minpnts - 1];
+		olist[nout++] = k;
+
+		newrd = clp[k].cd;
+		for (j = 0; j < kdfound; j++) {
+		    if (heapsize >= npoints)
+			G_fatal_error("Heap is too large");
+		    if (clp[clidx[ki[j]]].cd < 0) {
+			/* deviation from OPTICS, 
+			 * creates nicer connectivity graph */
+			newrd = kd[j];
+			if (clp[clidx[ki[j]]].reach < 0 || clp[clidx[ki[j]]].reach > newrd) {
+			    clp[clidx[ki[j]]].reach = newrd;
+			    clp[clidx[ki[j]]].prevpnt = k;
+			    add_pt(clidx[ki[j]]);
+			}
+		    }
+		}
+	    }
+	}
+	G_percent(kdpnts, kdpnts, 4);
+	G_debug(0, "nout: %d", nout);
+	if (nout != kdpnts)
+	    G_fatal_error("nout != kdpnts");
+
+	/* set cluster ids */
+	G_message(_("Set cluster ids ..."));
+	isout = 1;
+	nclusters = 0;
+	for (i = 0; i < kdpnts; i++) {
+	    G_percent(i, kdpnts, 4);
+
+	    if (eps > 0 && clp[olist[i]].reach > eps)
+		isout = 1;
+	    else {
+		if (isout || clp[olist[i]].prevpnt == -1) {
+		    isout = 0;
+		    nclusters++;
+		}
+		cid[clp[olist[i]].uid] = nclusters;
+	    }
+	}
+	G_percent(kdpnts, kdpnts, 4);
+
+	/* write cluster ids */
+	G_message(_("Write out cluster ids ..."));
+	Vect_rewind(&In);
+	i = 0;
+	noutliers = 0;
+	while ((type = Vect_read_next_line(&In, Points, Cats)) > 0) {
+	    G_percent(i++, nlines, 4);
+	    if (type == GV_POINT) {
+		cat = cid[i];
+		if (!cat)
+		    noutliers++;
+		Vect_cat_set(Cats, clayer, cat);
+		Vect_write_line(&Out, GV_POINT, Points, Cats);
+	    }
+	}
+	G_percent(nlines, nlines, 4);
+    }
+    else if (clmethod == CL_OPTICS2) {
+	/* OPTICS modified, create separated reachability networks
+	 * for each point p
+	 *   get p's core distance
+	 *   get p's neighbors
+	 *   for each neighbor q
+	 *     new reachability of q: dist(p, q) 
+	 *     if q has been processed
+	 *       new reachability of q: max(coredist(q), dist(p, q))
+	 *     set or reduce q's reachability 
+	 *     connect q to p if q's reachability can be updated
+	 */
+
+	double *coredist;
+	double *reachability;
+	int *nextpnt;
+	double *kd;
+	int *ki;
+	double newrd;
+
+	coredist = G_malloc((nlines + 1) * sizeof(double));
+	reachability = G_malloc((nlines + 1) * sizeof(double));
+	nextpnt = G_malloc((nlines + 1) * sizeof(int));
+
+	kd = G_malloc(minpnts * sizeof(double));
+	ki = G_malloc(minpnts * sizeof(int));
+
+	for (i = 0; i <= nlines; i++) {
+	    coredist[i] = -1;
+	    reachability[i] = -1;
+	    nextpnt[i] = -1;
+	    cid[i] = 0;
+	    idx[i] = 0;
+	}
+
+	/* reachability network */
+	G_message(_("Reachability network ..."));
+	kdtree_init_trav(&trav, kdt);
+	c[2] = 0.0;
+	i = 0;
+	while (kdtree_traverse(&trav, c, &uid)) {
+	    G_percent(i++, npoints, 4);
+
+	    /* knn search */
+	    kdfound = kdtree_knn(kdt, c, ki, kd, minpnts, &uid);
+	    if (kdfound < minpnts)
+		G_fatal_error(_("Not enough points found"));
+	    coredist[uid] = kd[minpnts - 1];
+
+	    for (j = 0; j < kdfound; j++) {
+		/* new reachability */
+		newrd = kd[j];
+		if (coredist[ki[j]] > kd[j]) {
+		    /* do not connect a point to its own cluster
+		     * because points in its own cluster
+		     * have already been connected to this point
+		     * or reconnected */
+		    newrd = coredist[ki[j]];
+		}
+
+		if (reachability[ki[j]] == -1 || reachability[ki[j]] > newrd) {
+		    reachability[ki[j]] = newrd;
+		    nextpnt[ki[j]] = uid;
+
+		    /* no link - back link */
+		    if (nextpnt[uid] == ki[j]) {
+			if (coredist[ki[j]] == -1) {
+			    G_fatal_error(_("Neighbor point's core dist is -1"));
+			}
+			if (coredist[ki[j]] < coredist[uid]) {
+			    nextpnt[ki[j]] = -1;
+			    reachability[ki[j]] = -1;
+			    nextpnt[uid] = ki[j];
+			}
+			else {
+			    nextpnt[uid] = -1;
+			    reachability[uid] = -1;
+			    reachability[uid] = -1;
+			}
+		    }
+		}
+	    }
+	}
+	G_percent(npoints, npoints, 4);
+
+	/* create clusters from reachability network */
+	G_message(_("Building clusters ..."));
+	G_percent(0, nlines, 4);
+	for (i = 1; i <= nlines; i++) {
+
+	    G_percent(i, nlines, 4);
+
+	    if (cid[i] > 0 || coredist[i] == -1 || nextpnt[i] == -1)
+		continue;
+
+	    if (cid[nextpnt[i]] > 0) {
+		cid[i] = idx[cid[nextpnt[i]]];
+	    }
+	    else {
+		/* start new cluster */
+		nclusters++;
+		cid[i] = nclusters;
+		idx[nclusters] = nclusters;
+		uid = nextpnt[i];
+
+		while (uid > 0) {
+		    if (cid[uid] == 0) {
+			cid[uid] = nclusters;
+
+			uid = nextpnt[uid];
+		    }
+		    else {
+			/* relabel */
+			OLD = cid[uid];
+			NEW = idx[OLD];
+			while (OLD != NEW) {
+			    OLD = NEW;
+			    NEW = idx[OLD];
+			}
+			idx[NEW] = nclusters;
+			uid = nextpnt[uid];
+			uid = -1;
+		    }
+		}
+	    }
+	}
+
+	/* generate a renumbering scheme */
+	G_message(_("Generating renumbering scheme..."));
+	G_debug(1, "%d initial clusters", nclusters);
+	/* allocate final clump ID */
+	renumber = (int *) G_malloc((nclusters + 1) * sizeof(int));
+	renumber[0] = 0;
+	cat = 1;
+	G_percent(0, nclusters, 1);
+	for (i = 1; i <= nclusters; i++) {
+	    G_percent(i, nclusters, 4);
+	    OLD = i;
+	    NEW = idx[i];
+	    if (OLD != NEW) {
+		renumber[i] = 0;
+		/* find valid clump ID */
+		while (OLD != NEW) {
+		    OLD = NEW;
+		    NEW = idx[OLD];
+		}
+		idx[i] = NEW;
+	    }
+	    else
+		/* set final clump id */
+		renumber[i] = cat++;
+	}
+
+	nclusters = cat - 1;
+
+	/* write cluster ids */
+	G_message(_("Write out cluster ids ..."));
+	Vect_rewind(&In);
+	i = 0;
+	noutliers = 0;
+	while ((type = Vect_read_next_line(&In, Points, Cats)) > 0) {
+	    G_percent(i++, nlines, 4);
+	    if (type == GV_POINT) {
+		cat = renumber[idx[cid[i]]];
+		if (!cat)
+		    noutliers++;
+		Vect_cat_set(Cats, clayer, cat);
+		Vect_write_line(&Out, GV_POINT, Points, Cats);
+	    }
+	}
+	G_percent(nlines, nlines, 4);
+    }
+    else if (clmethod == CL_DENSE) {
+	/* MATRUSKA 
+	 * clusters in clusters in clusters ...
+	 * calculate core density = distance to (minpnts - 1) for each point 
+	 * sort points ascending by core density
+	 * for each point in sorted list
+	 *   if point does not have a cluster id 
+	 *     start new cluster, cluster reachability is core density of this point
+	 *     connect all points within cluster reachability 
+	 *     add all connected points to list
+	 *     while list is not empty
+	 *       remove last point from list
+	 *       connect all points within cluster reachability 
+	 *       add all connected points to list
+	 *       */
+	int *clidx;
+	double *kd;
+	int *ki;
+	double cd;
+	int k, kdcount;
+	struct ilist *CList;
+
+	clp = G_malloc((nlines + 1) * sizeof(struct cl_pnt));
+	clidx = G_malloc((nlines + 1) * sizeof(int));
+
+	kd = G_malloc(minpnts * sizeof(double));
+	ki = G_malloc(minpnts * sizeof(int));
+
+	CList = G_new_ilist();
+
+	for (i = 0; i <= nlines; i++) {
+	    clp[i].c[0] = 0;
+	    clp[i].c[1] = 0;
+	    clp[i].c[2] = 0;
+	    clp[i].cd = -1;
+	    clp[i].uid = -1;
+	    clidx[i] = -1;
+	}
+
+	/* core density */
+	G_message(_("Core density ..."));
+	kdtree_init_trav(&trav, kdt);
+	c[2] = 0.0;
+	i = 0;
+	kdcount = 0;
+	uid = -1;
+	while (kdtree_traverse(&trav, c, &uid)) {
+	    G_percent(i++, npoints, 4);
+
+	    /* knn search */
+	    kdfound = kdtree_knn(kdt, c, ki, kd, minpnts, &uid);
+	    if (kdfound < minpnts)
+		G_fatal_error(_("Not enough points found"));
+
+	    cd = kd[minpnts - 1];
+
+	    /* list insert */
+	    for (j = kdcount; j > 0; j--) {
+		if (clp[j - 1].cd <= cd)
+		    break;
+		clp[j] = clp[j - 1];
+		clidx[clp[j].uid] = j;
+	    }
+	    clp[j].uid = uid;
+	    clp[j].c[0] = c[0];
+	    clp[j].c[1] = c[1];
+	    clp[j].c[2] = c[2];
+	    clp[j].cd = cd;
+	    clidx[clp[j].uid] = j;
+	    kdcount++;
+
+	}
+	G_percent(npoints, npoints, 4);
+
+	/* create clusters */
+	G_message(_("Building clusters ..."));
+	nclusters = 0;
+	for (i = 0; i < kdcount; i++) {
+	    G_percent(i, kdcount, 4);
+
+	    if (cid[clp[i].uid] > 0)
+		continue;
+
+	    /* knn search */
+	    kdfound = kdtree_knn(kdt, clp[i].c, ki, kd, minpnts, &clp[i].uid);
+	    if (kdfound < minpnts)
+		G_fatal_error(_("Not enough points found"));
+
+	    /* start a new cluster */
+	    uid = clp[i].uid;
+	    nclusters++;
+	    cat = nclusters;
+	    cid[uid] = cat;
+	    cd = clp[i].cd;
+	    CList->n_values = 0;
+	    for (j = 0; j < kdfound; j++) {
+		if (cid[ki[j]] == 0) {
+		    G_ilist_add(CList, clidx[ki[j]]);
+		    cid[ki[j]] = cat;
+		}
+	    }
+	    if (CList->n_values < minpnts) {
+		CList->n_values = 0;
+		nclusters--;
+		cid[uid] = 0;
+		for (j = 0; j < kdfound; j++) {
+		    if (cid[ki[j]] == cat) {
+			cid[ki[j]] = 0;
+		    }
+		}
+	    }
+
+	    while (CList->n_values) {
+		/* expand cluster */
+		CList->n_values--;
+		k = CList->value[CList->n_values];
+		if (k < 0)
+		    G_fatal_error("expand cluster: k < 0");
+		if (clp[k].uid < 1)
+		    G_fatal_error("expand cluster: clp[k].uid < 1");
+
+		kdfound = kdtree_knn(kdt, clp[k].c, ki, kd, minpnts, &clp[k].uid);
+		if (kdfound < minpnts)
+		    G_fatal_error(_("Not enough points found"));
+
+		for (j = 0; j < kdfound; j++) {
+		    if (kd[j] <= cd && cid[ki[j]] == 0) {
+			cid[ki[j]] = cat;
+			if (clidx[ki[j]] < 0)
+			    G_fatal_error("expand cluster ngbrs: clidx[ki[j]] < 0");
+			G_ilist_add(CList, clidx[ki[j]]);
+		    }
+		}
+	    }
+	}
+	G_percent(kdcount, kdcount, 4);
+
+	/* write cluster ids */
+	G_message(_("Write out cluster ids ..."));
+	Vect_rewind(&In);
+	i = 0;
+	noutliers = 0;
+	while ((type = Vect_read_next_line(&In, Points, Cats)) > 0) {
+	    G_percent(i++, nlines, 4);
+	    if (type == GV_POINT) {
+		cat = cid[i];
+		if (!cat)
+		    noutliers++;
+		Vect_cat_set(Cats, clayer, cat);
+		Vect_write_line(&Out, GV_POINT, Points, Cats);
+	    }
+	}
+	G_percent(nlines, nlines, 4);
+    }
+
+    if (!flag_attr->answer)
+	Vect_copy_tables(&In, &Out, 0);
+
+    /* Build topology for vector map and close them */
+    Vect_close(&In);
+    if (!flag_topo->answer)
+	Vect_build(&Out);
+    Vect_close(&Out);
+
+    G_message(_("%d clusters found"), nclusters);
+    G_message(_("%d outliers found"), noutliers);
+
+    exit(EXIT_SUCCESS);
+}
+
+/* min heap */
+
+/* compare heap points */
+int cmp_pnt(int a, int b)
+{
+    if (clp[a].reach < clp[b].reach)
+	return 1;
+    if (clp[a].reach > clp[b].reach)
+	return 0;
+    if (clp[a].uid < clp[b].uid)
+	return 1;
+    return 0;
+}
+
+/* standard sift-up routine for d-ary min heap */
+static int sift_up(int start)
+{
+    register int parent, child, child_added;
+
+    child = start;
+    child_added = heapidx[child];
+
+    while (child > 1) {
+	GET_PARENT(parent, child);
+
+	/* child smaller */
+	if (cmp_pnt(child_added, heapidx[parent])) {
+	    /* push parent point down */
+	    heapidx[child] = heapidx[parent];
+	    child = parent;
+	}
+	else
+	    /* no more sifting up, found new slot for child */
+	    break;
+    }
+
+    /* put point in new slot */
+    if (child < start) {
+	heapidx[child] = child_added;
+    }
+
+    return 0;
+}
+
+/* add point routine for min heap */
+int add_pt(int idx)
+{
+    /* add point to next free position */
+    heapsize++;
+
+    heapidx[heapsize] = idx;
+
+    /* sift up: move new point towards top of heap */
+    sift_up(heapsize);
+
+    return 0;
+}
+
+/* drop point routine for min heap */
+int drop_pt(void)
+{
+    register int child, childr, parent;
+    register int i, idx;
+
+    idx = heapidx[1];
+    if (heapsize == 1) {
+	heapidx[1] = -1;
+	heapsize = 0;
+	return idx;
+    }
+
+    /* start with root */
+    parent = 1;
+
+    /* sift down: move hole back towards bottom of heap */
+    while (GET_CHILD(child, parent) <= heapsize) {
+
+	i = child + 3;
+	for (childr = child + 1; childr <= heapsize && childr < i; childr++) {
+	    if (cmp_pnt(heapidx[childr], heapidx[child])) {
+		child = childr;
+	    }
+	}
+
+	/* move hole down */
+	heapidx[parent] = heapidx[child];
+	parent = child;
+    }
+
+    /* hole is in lowest layer, move to heap end */
+    if (parent < heapsize) {
+	heapidx[parent] = heapidx[heapsize];
+
+	/* sift up last swapped point, only necessary if hole moved to heap end */
+	sift_up(parent);
+    }
+
+    /* the actual drop */
+    heapsize--;
+
+    return idx;
+}
diff --git a/vector/v.cluster/v.cluster.html b/vector/v.cluster/v.cluster.html
new file mode 100644
index 0000000..4703f52
--- /dev/null
+++ b/vector/v.cluster/v.cluster.html
@@ -0,0 +1,207 @@
+<h2>DESCRIPTION</h2>
+
+<em>v.cluster</em> partitions a point cloud into clusters or clumps. 
+
+<p>
+If the minimum number of points is not specified with the <b>min</b> 
+option, the minimum number of points to constitute a cluster is 
+<i>number of dimensions + 1</i>, i.e. 3 for 2D points and 4 for 3D 
+points.
+
+<p>
+If the maximum distance is not specified with the <b>distance</b> 
+option, the maximum distance is estimated from the observed distances 
+to the neighbors using the upper 99% confidence interval.
+
+<p>
+<em>v.cluster</em> supports different methods for clustering. The 
+recommended methods are <b>method=dbscan</b> if all clusters should 
+have a density (maximum distance between points) not larger than 
+<b>distance</b> or <b>method=density</b> if clusters should be created 
+separately for each observed density (distance to the farthest neighbor).
+
+<h4>dbscan</h4>
+The <a href="http://en.wikipedia.org/wiki/DBSCAN">Density-Based Spatial 
+Clustering of Applications with Noise</a> is a commonly used clustering 
+algorithm. A new cluster is started for a point with at least 
+<i>min</i> - 1 neighbors within the maximum distance. These neighbors 
+are added to the cluster. The cluster is then expanded as long as at 
+least <i>min</i> - 1 neighbors are within the maximum distance for each 
+point already in the cluster.
+
+<h4>dbscan2</h4>
+Similar to <i>dbscan</i>, but here it is sufficient if the resultant 
+cluster consists of at least <b>min</b> points, even if no point in the 
+cluster has at least <i>min - 1</i> neighbors within <b>distance</b>.
+
+<h4>density</h4>
+This method creates clusters according to their point density. The 
+maximum distance is not used. Instead, the points are sorted ascending 
+by the distance to their farthest neighbor (core distance), inspecting 
+<i>min - 1</i> neighbors. The densest cluster is created first, using 
+as threshold the core distance of the seed point. The cluster is 
+expanded as for DBSCAN, with the difference that each cluster has its 
+own maximum distance. This method can identify clusters with different 
+densities and can create nested clusters.
+
+<h4>optics</h4>
+This method is <a 
+href="http://en.wikipedia.org/wiki/OPTICS_algorithm">Ordering Points to 
+Identify the Clustering Structure</a>. It is controlled by the number 
+of neighbor points (option <i>min</i> - 1). The core distance of a 
+point is the distance to the farthest neighbor. The reachability of a 
+point <i>q</i> is its distance from a point <i>p</i> (original optics: 
+max(core-distance(p), distance(p, q))). The aim of the <i>optics</i> 
+method is to reduce the reachability of each point. Each unprocessed 
+point is the seed for a new cluster. Its neighbors are added to a queue 
+sorted by smallest reachability if their reachability can be reduced. 
+The points in the queue are processed and their unprocessed neighbors 
+are added to a queue sorted by smallest reachability if their 
+reachability can be reduced.
+
+<p>
+The <i>optics</i> method does not create clusters itself, but produces 
+an ordered list of the points together with their reachability. The 
+output list is ordered according to the order of processing: the first 
+point processed is the first in the list, the last point processed is 
+the last in the list. Clusters can be extracted from this list by 
+identifying valleys in the points' reachability, e.g. by using a 
+threshold value. If a maximum distance is specified, this is used to 
+identify clusters, otherwise each separated network will constitute a 
+cluster.
+
+<p>
+The OPTICS algorithm uses each yet unprocessed point to start a new 
+cluster. The order of the input points is arbitrary and can thus 
+influence the resultant clusters.
+
+<h4>optics2</h4>
+<b>EXPERIMENTAL</b> This method is similar to OPTICS, minimizing the 
+reachability of each point. Points are reconnected if their 
+reachability can be reduced. Contrary to OPTICS, a cluster's seed is 
+not fixed but changed if possible. Each point is connected to another 
+point until the core of the cluster (seed point) is reached. 
+Effectively, the initial seed is updated in the process. Thus separated 
+networks of points are created, with each network representing a 
+cluster. The maximum distance is not used.
+
+<h2>EXAMPLE</h2>
+
+Analysis of random points for areas in areas of the vector 
+<i>urbanarea</i> (North Carolina sample dataset).
+
+<p>
+First generate 1000 random points within the areas the vector urbanarea
+and within the subregion, then do clustering and visualize the result:
+
+<div class="code"><pre>
+# pick a subregion of the vector urbanarea
+g.region -p n=272950 s=188330 w=574720 e=703090 res=10
+
+# create random points in areas
+v.random output=random_points npoints=1000 restrict=urbanarea
+
+# identify clusters
+v.cluster input=random_points output=clusters_optics method=optics
+
+# set random vector color table for the clusters
+v.colors map=clusters_optics layer=2 use=cat color=random
+
+# display in command line
+d.mon wx0
+
+# note the second layer and transparent (none) color of the circle border
+d.vect map=clusters_optics layer=2 icon=basic/point size=10 color=none
+</pre></div>
+
+
+<center>
+<img src="v_cluster_4_methods.png">
+<p><em>
+    Figure: Four different methods with default settings applied to
+    1000 random points generated in the same way as in the example.
+</em></p>
+</center>
+
+<!--
+g.region -p n=272950 s=188330 w=574720 e=703090 res=10
+v.random output=rand_clust npoints=1000 restrict=urbanarea
+
+v.cluster in=rand_clust out=rand_clusters_dbscan method=dbscan
+v.colors map=rand_clusters_dbscan layer=2 use=cat color=random
+
+v.cluster in=rand_clust out=rand_clusters_dbscan2 method=dbscan2
+v.colors map=rand_clusters_dbscan2 layer=2 use=cat color=random
+
+v.cluster in=rand_clust out=rand_clusters_density method=density
+v.colors map=rand_clusters_density layer=2 use=cat color=random
+
+v.cluster in=rand_clust out=rand_clusters_optics2 method=optics2
+v.colors map=rand_clusters_optics2 layer=2 use=cat color=random
+
+v.cluster in=rand_clust out=rand_clusters_optics method=optics
+v.colors map=rand_clusters_optics layer=2 use=cat color=random
+
+# seems we have to remove first to avoid drawing into an old image
+rm v_cluster_4_methods.png
+
+d.mon cairo out=v_cluster_4_methods.png
+
+# the font doesn't work
+d.font "LiberationSans-Regular"
+
+d.frame frame=dbscan at=50,100,0,50 -c
+d.vect map=rand_clusters_dbscan layer=2 icon=basic/point size=10 color=none
+d.text text="dbscan" at=5,5 size=10 bgcolor=white
+
+d.frame frame=optics at=50,100,50,100 -c
+d.vect map=rand_clusters_optics layer=2 icon=basic/point size=10 color=none
+d.text text="optics" at=5,5 size=10 bgcolor=white
+
+d.frame frame=density at=0,50,0,50 -c
+d.vect map=rand_clusters_density layer=2 icon=basic/point size=10 color=none
+d.text text="density" at=5,5 size=10 bgcolor=white
+
+d.frame frame=optics2 at=0,50,50,100 -c
+d.vect map=rand_clusters_optics2 layer=2 icon=basic/point size=10 color=none
+d.text text="optics2" at=5,5 size=10 bgcolor=white
+
+d.mon stop=cairo
+-->
+
+Generate random points for analysis (100 points per area), use different
+method for clustering and visualize using color stored the attribute table.
+<div class="code"><pre>
+# pick a subregion of the vector urbanarea
+g.region -p n=272950 s=188330 w=574720 e=703090 res=10
+
+# create clustered points
+v.random output=rand_clust npoints=100 restrict=urbanarea -a
+
+# identify clusters
+v.cluster in=rand_clust out=rand_clusters method=dbscan
+
+# create colors for clusters
+v.db.addtable map=rand_clusters layer=2 columns="cat integer,grassrgb varchar(11)"
+v.colors map=rand_clusters layer=2 use=cat color=random rgb_column=grassrgb
+
+# display with your preferred method
+# remember to use the second layer and RGB column
+# for example use
+d.vect map=rand_clusters layer=2 color=none rgb_column=grassrgb icon=basic/circle
+</pre></div>
+
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="r.clump.html">r.clump</a>,
+<a href="v.hull.html">v.hull</a>,
+<a href="v.distance.html">v.distance</a>
+</em>
+
+<h2>AUTHOR</h2>
+
+Markus Metz
+
+<p><i>Last changed: $Date: 2015-09-07 01:09:13 -0700 (Mon, 07 Sep 2015) $</i>
diff --git a/vector/v.cluster/v_cluster_4_methods.png b/vector/v.cluster/v_cluster_4_methods.png
new file mode 100644
index 0000000..e93b897
Binary files /dev/null and b/vector/v.cluster/v_cluster_4_methods.png differ
diff --git a/vector/v.colors.out/v.colors.out.html b/vector/v.colors.out/v.colors.out.html
index b3e3c06..c7bf334 100644
--- a/vector/v.colors.out/v.colors.out.html
+++ b/vector/v.colors.out/v.colors.out.html
@@ -25,4 +25,4 @@ v.colors map=soils_wake rules=rules.txt
 
 Martin Landa, Czech Technical University in Prague, Czech Republic
 
-<p><i>Last changed: $Date: 2014-12-09 19:46:50 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-09 10:39:37 -0800 (Tue, 09 Dec 2014) $</i>
diff --git a/vector/v.colors/v.colors.html b/vector/v.colors/v.colors.html
index 25c8e28..68cf0d6 100644
--- a/vector/v.colors/v.colors.html
+++ b/vector/v.colors/v.colors.html
@@ -134,4 +134,4 @@ help people select good color schemes for maps and other graphics.
 Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-02-13 16:16:22 +0100 (Fri, 13 Feb 2015) $</i>
+<i>Last changed: $Date: 2015-02-13 07:14:07 -0800 (Fri, 13 Feb 2015) $</i>
diff --git a/vector/v.db.connect/v.db.connect.html b/vector/v.db.connect/v.db.connect.html
index 1c65248..a9da471 100644
--- a/vector/v.db.connect/v.db.connect.html
+++ b/vector/v.db.connect/v.db.connect.html
@@ -208,4 +208,4 @@ v.db.connect map=mytable driver=pg database="host=localhost,dbname=meteo" \
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2015-10-01 23:15:07 +0200 (Thu, 01 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-10-01 14:06:38 -0700 (Thu, 01 Oct 2015) $</i>
diff --git a/vector/v.db.select/main.c b/vector/v.db.select/main.c
index f0cbdd2..5ed0d8f 100644
--- a/vector/v.db.select/main.c
+++ b/vector/v.db.select/main.c
@@ -2,13 +2,14 @@
 /***************************************************************
  *
  * MODULE:       v.db.select
- * 
+ *
  * AUTHOR(S):    Radim Blazek
  *               OGR support by Martin Landa <landa.martin gmail.com>
  *               -f flag by Huidae Cho <grass4u gmail.com>
- *               
+ *               group option by Luca Delucchi <lucadeluge gmail.com>
+ *
  * PURPOSE:      Print vector attributes
- *               
+ *
  * COPYRIGHT:    (C) 2005-2009, 2011-2014 by the GRASS Development Team
  *
  *               This program is free software under the GNU General
@@ -32,7 +33,7 @@ int main(int argc, char **argv)
 {
     struct GModule *module;
     struct Option *map_opt, *field_opt, *fs_opt, *vs_opt, *nv_opt, *col_opt,
-	*where_opt, *file_opt;
+	*where_opt, *file_opt, *group_opt;
     struct Flag *c_flag, *v_flag, *r_flag, *f_flag;
     dbDriver *driver;
     dbString sql, value_string;
@@ -57,18 +58,25 @@ int main(int argc, char **argv)
     module->description = _("Prints vector map attributes.");
 
     map_opt = G_define_standard_option(G_OPT_V_MAP);
+    map_opt->guisection = _("Main");
 
     field_opt = G_define_standard_option(G_OPT_V_FIELD);
     field_opt->guisection = _("Selection");
 
     col_opt = G_define_standard_option(G_OPT_DB_COLUMNS);
     col_opt->guisection = _("Selection");
-    
+
     where_opt = G_define_standard_option(G_OPT_DB_WHERE);
     where_opt->guisection = _("Selection");
-    
+
+    group_opt = G_define_option();
+    group_opt->key = "group";
+    group_opt->required = NO;
+    group_opt->description = _("GROUP BY conditions of SQL statement without 'group by' keyword");
+    group_opt->guisection = _("Selection");
+
     fs_opt = G_define_standard_option(G_OPT_F_SEP);
-    fs_opt->guisection = _("Format");
+    fs_opt->guisection = _("Main");
 
     vs_opt = G_define_standard_option(G_OPT_F_SEP);
     vs_opt->key = "vertical_separator";
@@ -79,12 +87,13 @@ int main(int argc, char **argv)
     nv_opt = G_define_standard_option(G_OPT_M_NULL_VALUE);
     nv_opt->guisection = _("Format");
 
-    file_opt = G_define_standard_option(G_OPT_F_OUTPUT); 
+    file_opt = G_define_standard_option(G_OPT_F_OUTPUT);
     file_opt->key = "file";
-    file_opt->required = NO; 
-    file_opt->description = 
-	_("Name for output file (if omitted or \"-\" output to stdout)"); 
-    
+    file_opt->required = NO;
+    file_opt->guisection = _("Main");
+    file_opt->description =
+	_("Name for output file (if omitted or \"-\" output to stdout)");
+
     r_flag = G_define_flag();
     r_flag->key = 'r';
     r_flag->description =
@@ -112,12 +121,12 @@ int main(int argc, char **argv)
 	exit(EXIT_FAILURE);
 
     /* set input vector map name and mapset */
-    if (file_opt->answer && strcmp(file_opt->answer, "-") != 0) { 
-	if (NULL == freopen(file_opt->answer, "w", stdout)) { 
-	    G_fatal_error(_("Unable to open file <%s> for writing"), file_opt->answer); 
-	} 
-    } 
-    
+    if (file_opt->answer && strcmp(file_opt->answer, "-") != 0) {
+	if (NULL == freopen(file_opt->answer, "w", stdout)) {
+	    G_fatal_error(_("Unable to open file <%s> for writing"), file_opt->answer);
+	}
+    }
+
     min_box = line_box = NULL;
     list_lines = NULL;
 
@@ -137,7 +146,7 @@ int main(int argc, char **argv)
         vs = G_option_to_separator(vs_opt);
     else
         vs = NULL;
-    
+
     db_init_string(&sql);
     db_init_string(&value_string);
 
@@ -186,6 +195,15 @@ int main(int argc, char **argv)
 	G_free(buf);
     }
 
+    if (group_opt->answer) {
+        char *buf = NULL;
+
+        buf = G_malloc((strlen(group_opt->answer) + 8));
+        sprintf(buf, " GROUP BY %s", group_opt->answer);
+        db_append_string(&sql, buf);
+        G_free(buf);
+    }
+
     if (db_open_select_cursor(driver, &sql, &cursor, DB_SEQUENTIAL) != DB_OK)
 	G_fatal_error(_("Unable to open select cursor"));
 
diff --git a/vector/v.db.select/testsuite/test_v_db_select.py b/vector/v.db.select/testsuite/test_v_db_select.py
new file mode 100644
index 0000000..8f205bc
--- /dev/null
+++ b/vector/v.db.select/testsuite/test_v_db_select.py
@@ -0,0 +1,218 @@
+"""
+Name:      vdbselect_test
+Purpose:   v.db.select decimation test
+
+Author:    Luca Delucchi
+Copyright: (C) 2015 by Luca Delucchi and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import SimpleModule
+
+out_group = """CZab
+CZam
+CZba
+CZbb
+CZbf
+CZbg
+CZbl
+CZc
+CZfg
+CZfv
+CZfv1
+CZfv2
+CZg
+CZgms
+CZig
+CZiv
+CZlg
+CZma
+CZma1
+CZma2
+CZmd
+CZmd1
+CZmd2
+CZmd3
+CZmg
+CZms
+CZmv
+CZmv1
+CZpg
+CZph
+CZq
+CZtp
+CZv
+CZve
+CZy
+Ccl
+Ccu
+Chg
+Cr
+Cs
+DOg
+DOgb
+DSc
+DSg
+DSs
+Dqd
+Dsc
+Jd
+Kb
+Kc
+Km
+Kp
+Mc
+OCg
+OCgm
+Org
+PPg
+PPgb
+PPmg
+PzZg
+PzZm
+PzZq
+PzZu
+Qp
+SOgg
+Sg
+TRc
+TRcc
+TRcp
+TRcs
+TRd
+TRdc
+TRdp
+TRds
+Tec
+Tecs
+Tob
+Tor
+Tp
+Tpa
+Tpy
+Tpyw
+Tt
+Ybam
+Ybgg
+Ybrg
+Yg
+Ygg
+Ymam
+Ymg
+Ytg
+ZYbA
+ZYba
+ZYbn
+Za
+Zaba
+Zabg
+Zabs
+Zata
+Zatb
+Zatm
+Zats
+Zatw
+Zb
+Zbg
+Zbt
+Zch
+Zchs
+Zco
+Zd
+Zf
+Zg
+Zgma
+Zgmf
+Zgmg
+Zgms
+Zgmu
+Zgmw
+Zgs
+Zhha
+Zlm
+Zm
+Zman
+Zmb
+Zmf
+Zml
+Znt
+Zrb
+Zs
+Zsl
+Zsp
+Zsr
+Zss
+Zsw
+Zwc
+Zwe
+bz
+"""
+
+out_where = """1076|366545504|324050.96875|1077|1076|Zwe|366545512.376|324050.97237
+1123|1288.555298|254.393951|1124|1123|Zwe|1288.546525|254.393964
+1290|63600420|109186.835938|1291|1290|Zwe|63600422.4739|109186.832069
+"""
+
+out_sep = """1076,366545504,324050.96875,1077,1076,Zwe,366545512.376,324050.97237
+1123,1288.555298,254.393951,1124,1123,Zwe,1288.546525,254.393964
+1290,63600420,109186.835938,1291,1290,Zwe,63600422.4739,109186.832069
+"""
+
+
+class SelectTest(TestCase):
+    """Test case for v.db.select"""
+
+    outfile = 'select.csv'
+    invect = 'geology'
+    col = 'GEO_NAME'
+    val = 'Zwe'
+
+    def testRun(self):
+        """Basic test of v.db.select"""
+        self.assertModule('v.db.select', map=self.invect)
+
+    def testFileExists(self):
+        """This function checks if the output file is written correctly"""
+        self.runModule('v.db.select', map=self.invect, file=self.outfile)
+        self.assertFileExists(self.outfile)
+        if os.path.isfile(self.outfile):
+            os.remove(self.outfile)
+
+    def testGroup(self):
+        """Testing v.db.select with group option"""
+        sel = SimpleModule('v.db.select', flags='c', map=self.invect,
+                           columns=self.col, group=self.col)
+        sel.run()
+        self.assertLooksLike(reference=out_group, actual=sel.outputs.stdout)
+
+    def testWhere(self):
+        """Testing v.db.select with where option"""
+        sel = SimpleModule('v.db.select', flags='c', map=self.invect,
+                           where="{col}='{val}'".format(col=self.col,
+                                                        val=self.val))
+        sel.run()
+        self.assertLooksLike(reference=out_where, actual=sel.outputs.stdout)
+
+    def testSeparator(self):
+        sel = SimpleModule('v.db.select', flags='c', map=self.invect,
+                           where="{col}='{val}'".format(col=self.col,
+                                                        val=self.val),
+                           separator='comma')
+        sel.run()
+        self.assertLooksLike(reference=out_sep, actual=sel.outputs.stdout)
+
+    def testComma(self):
+        sel = SimpleModule('v.db.select', flags='c', map=self.invect,
+                           where="{col}='{val}'".format(col=self.col,
+                                                        val=self.val),
+                           separator=',')
+        sel.run()
+        self.assertLooksLike(reference=out_sep, actual=sel.outputs.stdout)
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.db.select/v.db.select.html b/vector/v.db.select/v.db.select.html
index f832139..881fa8a 100644
--- a/vector/v.db.select/v.db.select.html
+++ b/vector/v.db.select/v.db.select.html
@@ -65,6 +65,67 @@ cat|GEONAMEID|NAME|ASCIINAME|ALTERNATEN|FEATURECLA|FEATURECOD|...
 ...
 </pre></div>
 
+<h3>Select features with distinct road names</h3>
+<div class="code"><pre>
+v.db.select map=roadsmajor columns=ROAD_NAME group=ROAD_NAME
+ROAD_NAME
+
+I-40
+I-440
+I-540
+NC-231
+NC-39
+NC-42
+...
+</pre></div>
+
+It is also possible to combine with <em>where</em> option
+<div class="code"><pre>
+v.db.select map=roadsmajor columns=ROAD_NAME,MULTILANE group=ROAD_NAME where='ROAD_NAME is not null'
+ROAD_NAME|MULTILANE
+I-40|yes
+I-440|yes
+I-540|yes
+NC-231|no
+NC-39|no
+NC-42|no
+NC-50|no
+NC-54|no
+NC-55|no
+NC-96|no
+NC-97|no
+NC-98|no
+US-1|
+US-401|no
+US-64|yes
+US-70|yes
+</pre></div>
+
+It can also use more columns in <em>group</em> option
+<div class="code"><pre>
+v.db.select map=roadsmajor columns=ROAD_NAME,MULTILANE group=ROAD_NAME,MULTILANE where='ROAD_NAME is not null'
+ROAD_NAME|MULTILANE
+I-40|yes
+I-440|yes
+I-540|yes
+NC-231|no
+NC-39|no
+NC-42|no
+NC-50|no
+NC-54|no
+NC-55|no
+NC-96|no
+NC-97|no
+NC-98|no
+US-1|
+US-1|yes
+US-401|no
+US-401|yes
+US-64|yes
+US-70|yes
+</pre></div>
+
+
 <h2>SEE ALSO</h2>
 
 <em>
@@ -75,6 +136,8 @@ cat|GEONAMEID|NAME|ASCIINAME|ALTERNATEN|FEATURECLA|FEATURECOD|...
 
 Radim Blazek, ITC-Irst, Trento, Italy<br>
 Minimal region extent added by Martin Landa,
-FBK-irst (formerly ITC-irst), Trento, Italy (2008/08)
+FBK-irst (formerly ITC-irst), Trento, Italy (2008/08)<br>
+Group option added by Luca Delucchi,
+Fondazione Edmund Mach, Trento, Italy (2015/12)
 
-<p><i>Last changed: $Date: 2014-11-28 15:41:54 +0100 (Fri, 28 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2015-12-02 07:47:13 -0800 (Wed, 02 Dec 2015) $</i>
diff --git a/vector/v.decimate/Makefile b/vector/v.decimate/Makefile
new file mode 100644
index 0000000..c686273
--- /dev/null
+++ b/vector/v.decimate/Makefile
@@ -0,0 +1,14 @@
+
+MODULE_TOPDIR = ../..
+
+PGM = v.decimate
+
+LIBES = $(VECTORLIB) $(DBMILIB) $(RASTERLIB) $(GISLIB) $(BTREE2LIB) $(SEGMENTLIB)
+DEPENDENCIES = $(VECTORDEP) $(DBMIDEP) $(RASTERDEP) $(GISDEP)  $(SEGMENTDEP)
+
+EXTRA_INC = $(VECT_INC)
+EXTRA_CFLAGS = $(VECT_CFLAGS)
+
+include $(MODULE_TOPDIR)/include/Make/Module.make
+
+default: cmd
diff --git a/vector/v.decimate/count_decimation.c b/vector/v.decimate/count_decimation.c
new file mode 100644
index 0000000..6c5fc36
--- /dev/null
+++ b/vector/v.decimate/count_decimation.c
@@ -0,0 +1,134 @@
+/****************************************************************************
+ *
+ * MODULE:       v.decimate
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      Reduce the number of points in a vector map
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+/* TODO: change int */
+/* TODO: revise names */
+
+#include "count_decimation.h"
+
+#include <grass/gis.h>
+
+#include <stdlib.h>
+
+
+void count_decimation_init(struct CountDecimationControl *control,
+                           int *skip, int *preserve,
+                           int *offset, int *limit)
+{
+    control->skip_every = 0;
+    control->preserve_every = 0;
+    /* counter used by both but that's ok, skip and preserve are exclusive */
+    control->every_counter = 0;
+    control->n_count_filtered = 0;
+    control->offset_n = 0;
+    control->offset_n_counter = 0;
+    control->limit_n = 0;
+    control->limit_n_counter = 0;
+    if (skip)
+        control->skip_every = *skip;
+    if (preserve)
+        control->preserve_every = *preserve;
+    if (offset)
+        control->offset_n = *offset;
+    if (limit)
+        control->limit_n = *limit;
+}
+
+
+int count_decimation_is_valid(struct CountDecimationControl *control)
+{
+    if (control->skip_every == 1)
+        return FALSE;
+    if (control->skip_every && control->preserve_every > 1)
+        return FALSE;
+    return TRUE;
+}
+
+
+int count_decimation_is_noop(struct CountDecimationControl *control)
+{
+    if (control->skip_every < 2 && control->preserve_every < 2
+            && !control->offset_n && !control->limit_n)
+        return TRUE;
+    return FALSE;
+}
+
+void count_decimation_init_from_str(struct CountDecimationControl *control,
+                                    const char *skip, const char *preserve,
+                                    const char *offset, const char *limit)
+{
+    control->skip_every = 0;
+    control->preserve_every = 0;
+    control->every_counter = 0;
+    control->n_count_filtered = 0;
+    control->offset_n = 0;
+    control->offset_n_counter = 0;
+    control->limit_n = 0;
+    control->limit_n_counter = 0;
+    /* TODO: atoi is probably not appropriate */
+    if (skip)
+        control->skip_every = atoi(skip);
+    if (preserve)
+        control->preserve_every = atoi(preserve);
+    if (offset)
+        control->offset_n = atoi(offset);
+    if (limit)
+        control->limit_n = atoi(limit);
+}
+
+
+/* TODO: eliminate noop cases */
+int count_decimation_is_out(struct CountDecimationControl *control)
+{
+    if (control->offset_n) {
+        if (control->offset_n_counter < control->offset_n) {
+            control->offset_n_counter++;
+            return TRUE;
+        }
+        else {
+            control->offset_n = 0;  /* disable offset check */
+        }
+    }
+    if (control->skip_every) {
+        control->every_counter++;
+        if (control->every_counter == control->skip_every) {
+            control->n_count_filtered++;
+            control->every_counter = 0;
+            return TRUE;
+        }
+    }
+    else if (control->preserve_every) {
+        control->every_counter++;
+        if (control->every_counter == control->preserve_every) {
+            control->every_counter = 0;
+        }
+        else {
+            control->n_count_filtered++;
+            return TRUE;
+        }
+    }
+    return FALSE;
+}
+
+
+int count_decimation_is_end(struct CountDecimationControl *control)
+{
+    if (control->limit_n) {
+        control->limit_n_counter++;
+        /* this matches the last successfully imported point */
+        if (control->limit_n_counter == control->limit_n)
+            return TRUE;
+    }
+    return FALSE;
+}
diff --git a/vector/v.decimate/count_decimation.h b/vector/v.decimate/count_decimation.h
new file mode 100644
index 0000000..12e9b0c
--- /dev/null
+++ b/vector/v.decimate/count_decimation.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+ *
+ * MODULE:       v.decimate
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      Reduce the number of points in a vector map
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef GRASS_COUNT_DECIMATION_H
+#define GRASS_COUNT_DECIMATION_H
+
+/* TODO: change int to ul/ull */
+/* TODO: revise names (now partially on some vars in v.in.lidar code) */
+
+struct CountDecimationControl {
+    int offset_n;
+    int offset_n_counter;
+    int skip_every;
+    int preserve_every;
+    int every_counter;
+    int n_count_filtered;
+    int limit_n;
+    int limit_n_counter;
+};
+
+void count_decimation_init(struct CountDecimationControl *control,
+                           int *skip, int *preserve,
+                           int *offset, int *limit);
+int count_decimation_is_valid(struct CountDecimationControl *control);
+int count_decimation_is_noop(struct CountDecimationControl *control);
+void count_decimation_init_from_str(struct CountDecimationControl *control,
+                                    const char *skip, const char *preserve,
+                                    const char *offset, const char *limit);
+int count_decimation_is_out(struct CountDecimationControl *control);
+int count_decimation_is_end(struct CountDecimationControl *control);
+
+#endif /* GRASS_COUNT_DECIMATION_H */
diff --git a/vector/v.decimate/grid_decimation.c b/vector/v.decimate/grid_decimation.c
new file mode 100644
index 0000000..b31dfa1
--- /dev/null
+++ b/vector/v.decimate/grid_decimation.c
@@ -0,0 +1,179 @@
+/****************************************************************************
+ *
+ * MODULE:       v.decimate
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      Reduce the number of points in a vector map
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#include "grid_decimation.h"
+
+#include <stdlib.h>
+
+
+/* max size: rows * cols < max of size_t (using 1D array) */
+void grid_decimation_create(struct GridDecimation *grid_decimation,
+                            size_t rows, size_t cols)
+{
+    grid_decimation->grid_points =
+        G_calloc(rows * cols, sizeof(struct DecimationPoint *));
+    grid_decimation->grid_sizes = G_calloc(rows * cols, sizeof(size_t));
+    grid_decimation->rows = rows;
+    grid_decimation->cols = cols;
+    grid_decimation->if_add_point = NULL;
+    grid_decimation->on_add_point = NULL;
+    grid_decimation->if_context = NULL;
+    grid_decimation->on_context = NULL;
+}
+
+
+void grid_decimation_destroy(struct GridDecimation *grid_decimation)
+{
+    /* TODO: we could also offer mode without dealloc (faster) */
+    int row, col;
+    size_t point, npoints;
+    for (row = 0; row < grid_decimation->rows; row++) {
+        for (col = 0; col < grid_decimation->cols; col++) {
+            /* TODO: make index function */
+            size_t index = row * grid_decimation->cols + col;
+            if ((npoints = grid_decimation->grid_sizes[index])) {
+                /* delete points in list */
+                for (point = 0; point < npoints; point++)
+                    G_free(grid_decimation->grid_points[index][point]);
+                /* delete list */
+                G_free(grid_decimation->grid_points[index]);
+            }
+        }
+    }
+    G_free(grid_decimation->grid_points);
+    G_free(grid_decimation->grid_sizes);
+}
+
+
+/* TODO: use Cell_head as storage? */
+void grid_decimation_create_from_region(struct GridDecimation
+                                        *grid_decimation,
+                                        struct Cell_head *region)
+{
+    grid_decimation_create(grid_decimation, region->rows, region->cols);
+    grid_decimation_set_region(grid_decimation, region->west, region->east,
+                               region->south, region->north, region->ew_res,
+                               region->ns_res);
+}
+
+
+/* TODO: change order of ns_res and ew_res to match xy */
+void grid_decimation_set_region(struct GridDecimation *grid_decimation,
+                                double minx, double maxx, double miny,
+                                double maxy, double ew_res, double ns_res)
+{
+    grid_decimation->minx = minx;
+    grid_decimation->maxx = maxx;
+    grid_decimation->miny = miny;
+    grid_decimation->maxy = maxy;
+    grid_decimation->ns_res = ns_res;
+    grid_decimation->ew_res = ew_res;
+}
+
+
+void grid_decimation_create_list_with_point(struct GridDecimation
+                                            *grid_decimation, size_t index,
+                                            struct DecimationPoint *point,
+                                            size_t npoints)
+{
+    struct DecimationPoint **point_list =
+        G_malloc(1 * sizeof(struct DecimationPoint *));
+    point_list[0] = point;
+    grid_decimation->grid_points[index] = point_list;
+    grid_decimation->grid_sizes[index] = 1;
+}
+
+
+void grid_decimation_add_point_to_list(struct GridDecimation *grid_decimation,
+                                       size_t index,
+                                       struct DecimationPoint *point,
+                                       size_t npoints)
+{
+    /* TODO: this might be too much reallocation */
+    /* TODO: line_ptns struct could be reused, it is not meant for this but it would work */
+    struct DecimationPoint **point_list =
+        G_realloc(grid_decimation->grid_points[index],
+                  (npoints + 1) * sizeof(struct DecimationPoint *));
+
+    point_list[npoints] = point;
+    grid_decimation->grid_points[index] = point_list;
+    grid_decimation->grid_sizes[index] = npoints + 1;
+}
+
+
+static size_t grid_decimation_xy_to_index(struct GridDecimation
+                                          *grid_decimation, double x,
+                                          double y)
+{
+    /* TODO: test x, y */
+    int row = (y - grid_decimation->miny) / grid_decimation->ns_res;
+    int col = (x - grid_decimation->minx) / grid_decimation->ew_res;
+
+    if (row < 0 || row > grid_decimation->rows || col < 0 ||
+        col > grid_decimation->cols) {
+        G_fatal_error
+            ("Row (%d) or column (%d) outside of range (0 - %d, 0 - %d)", row,
+             col, grid_decimation->rows, grid_decimation->cols);
+    }
+    size_t index = row * grid_decimation->cols + col;
+
+    /* TODO: are the tests really needed, especially the second one? */
+    if (row * grid_decimation->cols + col >
+        grid_decimation->rows * grid_decimation->cols) {
+        G_fatal_error("Index (%d) out of range (max: %d)",
+                      row * grid_decimation->cols + col,
+                      grid_decimation->rows * grid_decimation->cols);
+    }
+    return index;
+}
+
+
+void grid_decimation_try_add_point(struct GridDecimation *grid_decimation,
+                                   int cat, double x, double y, double z, void *point_data)
+{
+    size_t index = grid_decimation_xy_to_index(grid_decimation, x, y);
+    int npoints = grid_decimation->grid_sizes[index];
+
+    /* TODO: when max is 1, we don't have to store the point at all */
+    if (grid_decimation->max_points && grid_decimation->max_points == npoints)
+        return;
+
+    struct DecimationPoint *point = G_malloc(sizeof(struct DecimationPoint));
+
+    point->cat = cat;
+    point->x = x;
+    point->y = y;
+    point->z = z;
+
+    if (!npoints) {
+        grid_decimation_create_list_with_point(grid_decimation, index, point,
+                                               npoints);
+        if (grid_decimation->on_add_point)
+            grid_decimation->on_add_point(point, point_data, grid_decimation->on_context);
+    }
+    else {
+        if (grid_decimation->if_add_point
+            (point, point_data, grid_decimation->grid_points[index], npoints,
+             grid_decimation->if_context)) {
+            grid_decimation_add_point_to_list(grid_decimation, index, point,
+                                              npoints);
+            if (grid_decimation->on_add_point)
+                grid_decimation->on_add_point(point, point_data,
+                                              grid_decimation->on_context);
+        }
+        else {
+            G_free(point);
+        }
+    }
+}
diff --git a/vector/v.decimate/grid_decimation.h b/vector/v.decimate/grid_decimation.h
new file mode 100644
index 0000000..aaaaff5
--- /dev/null
+++ b/vector/v.decimate/grid_decimation.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+ *
+ * MODULE:       v.decimate
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      Reduce the number of points in a vector map
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef GRASS_GRID_DECIMATION_H
+#define GRASS_GRID_DECIMATION_H
+
+#include <grass/gis.h>
+
+struct DecimationPoint
+{
+    int cat;
+    double x;
+    double y;
+    double z;
+};
+
+
+struct GridDecimation
+{
+    struct DecimationPoint ***grid_points;
+    size_t *grid_sizes;
+    int rows;
+    int cols;
+    int max_points;
+    double minx;
+    double maxx;
+    double miny;
+    double maxy;
+    double ns_res;
+    double ew_res;
+    int (*if_add_point) (struct DecimationPoint * point, void *point_data,
+                         struct DecimationPoint ** point_list, size_t npoints,
+                         void *context);
+    void (*on_add_point) (struct DecimationPoint * point, void *point_data, void *context);
+    void *if_context;
+    void *on_context;
+};
+
+
+/* max size: rows * cols < max of size_t (using 1D array) */
+void grid_decimation_create(struct GridDecimation *grid_decimation,
+                            size_t rows, size_t cols);
+
+void grid_decimation_create_from_region(struct GridDecimation
+                                        *grid_decimation,
+                                        struct Cell_head *region);
+
+/* TODO: possible use (also?) Cell_head as input or storage */
+void grid_decimation_set_region(struct GridDecimation *grid_decimation,
+                                double minx, double maxx, double miny,
+                                double maxy, double ns_res, double ew_res);
+
+void grid_decimation_create_list_with_point(struct GridDecimation
+                                            *grid_decimation, size_t index,
+                                            struct DecimationPoint *point,
+                                            size_t npoints);
+
+void grid_decimation_add_point_to_list(struct GridDecimation *grid_decimation,
+                                       size_t index,
+                                       struct DecimationPoint *point,
+                                       size_t npoints);
+
+void grid_decimation_try_add_point(struct GridDecimation *grid_decimation,
+                                   int cat, double x, double y, double z, void *point_data);
+
+void grid_decimation_destroy(struct GridDecimation *grid_decimation);
+
+#endif /* GRASS_GRID_DECIMATION_H */
diff --git a/vector/v.decimate/main.c b/vector/v.decimate/main.c
new file mode 100644
index 0000000..7bdfc9a
--- /dev/null
+++ b/vector/v.decimate/main.c
@@ -0,0 +1,465 @@
+/*
+ ****************************************************************************
+ *
+ * MODULE:       v.decimate
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      Reduce the number of points in a vector map
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General
+ *               Public License (>=v2). Read the file COPYING that
+ *               comes with GRASS for details.
+ *
+ *****************************************************************************/
+
+
+/* using the most-specific-first order of includes */
+#include "count_decimation.h"
+#include "grid_decimation.h"
+
+#include <grass/gis.h>
+#include <grass/raster.h>
+#include <grass/vector.h>
+#include <grass/glocale.h>
+
+#include <stdlib.h>
+
+
+struct DecimationContext
+{
+    int use_z;                  /*!< TRUE or FALSE */
+    double zdiff;
+    int unique_cats;            /*!< TRUE or FALSE */
+};
+
+
+static int if_add_point(struct DecimationPoint *point, void *point_data,
+                        struct DecimationPoint **point_list, size_t npoints,
+                        void *context)
+{
+    /* according to cat (which could be cluster, return or class) */
+    struct DecimationContext *dc = context;
+    double zdiff = dc->zdiff;
+    int j;
+
+    /* TODO: use something like Vect_cat_in_cat_list? */
+    for (j = 0; j < npoints; j++) {
+        if (dc->use_z && fabs(point_list[j]->z - point->z) < zdiff)
+            return FALSE;
+        if (dc->unique_cats && point_list[j]->cat == point->cat)
+            return FALSE;
+    }
+    return TRUE;
+}
+
+
+struct WriteContext
+{
+    struct Map_info *voutput;
+    struct line_pnts *line;
+    struct line_cats *cats;
+    int write_cats;
+};
+
+
+static void write_point(struct WriteContext *context, int cat, double x,
+                        double y, double z, struct line_cats *cats)
+{
+    if (Vect_append_point(context->line, x, y, z) != 1)
+        G_fatal_error
+            ("Unable to create a point in vector map (probably out of memory)");
+    struct line_cats *cats_to_write = context->cats;
+    /* only when writing cats use the ones from parameter, otherwise
+     * use the default (which is assumed to be empty) */
+    if (context->write_cats && cats)
+        cats_to_write = cats;
+    Vect_write_line(context->voutput, GV_POINT, context->line, cats_to_write);
+    Vect_reset_line(context->line);
+}
+
+
+static void on_add_point(struct DecimationPoint *point, void *point_data, void *context)
+{
+    write_point((struct WriteContext *)context, point->cat, point->x, point->y,
+                point->z, (struct line_cats *)point_data);
+}
+
+/* TODO: these have overlap with vector lib, really needed? */
+static int point_in_region_2d(struct Cell_head *region, double x, double y)
+{
+    if (x > region->east || x < region->west || y < region->south ||
+        y > region->north)
+        return FALSE;
+    return TRUE;
+}
+
+
+static int point_in_region_3d(struct Cell_head *region, double x, double y,
+                              double z)
+{
+    if (x > region->east || x < region->west || y < region->south ||
+        y > region->north || z > region->top || z < region->bottom)
+        return FALSE;
+    return TRUE;
+}
+
+/* TODO: max tries per grid cell (useful?) */
+
+
+int main(int argc, char **argv)
+{
+    struct GModule *module;
+    struct Option *map_opt, *voutput_opt;
+    struct Option *field_opt, *cats_opt;
+    struct Option *skip_opt, *preserve_opt, *offset_opt, *limit_opt;
+    struct Option *zdiff_opt, *limit_per_cell_opt, *zrange_opt;
+    struct Flag *grid_decimation_flg, *first_point_flg, *cat_in_grid_flg;
+    struct Flag *use_z_flg, *nocats_flag, *notopo_flag;
+    struct Map_info vinput, voutput;
+
+    G_gisinit(argv[0]);
+
+    module = G_define_module();
+    G_add_keyword(_("vector"));
+    G_add_keyword(_("LIDAR"));
+    G_add_keyword(_("generalization"));
+    G_add_keyword(_("decimation"));
+    G_add_keyword(_("extract"));
+    G_add_keyword(_("select"));
+    G_add_keyword(_("points"));
+    module->label = _("Decimates a point cloud");
+    module->description = _("Copies points from one vector to another"
+                            " while applying different decimations");
+
+    map_opt = G_define_standard_option(G_OPT_V_INPUT);
+
+    field_opt = G_define_standard_option(G_OPT_V_FIELD_ALL);
+    field_opt->required = NO;
+
+    voutput_opt = G_define_standard_option(G_OPT_V_OUTPUT);
+
+    zrange_opt = G_define_option();
+    zrange_opt->key = "zrange";
+    zrange_opt->type = TYPE_DOUBLE;
+    zrange_opt->required = NO;
+    zrange_opt->key_desc = "min,max";
+    zrange_opt->description = _("Filter range for z data (min,max)");
+    zrange_opt->guisection = _("Selection");
+
+    cats_opt = G_define_standard_option(G_OPT_V_CATS);
+    cats_opt->guisection = _("Selection");
+
+    /* TODO: -r region only (now enforced for grid), spatial */
+
+    skip_opt = G_define_option();
+    skip_opt->key = "skip";
+    skip_opt->type = TYPE_INTEGER;
+    skip_opt->multiple = NO;
+    skip_opt->required = NO;
+    skip_opt->label = _("Throw away every n-th point");
+    skip_opt->description =
+        _("For example, 5 will import 80 percent of points. "
+          "If not specified, all points are copied");
+    skip_opt->guisection = _("Count");
+
+    preserve_opt = G_define_option();
+    preserve_opt->key = "preserve";
+    preserve_opt->type = TYPE_INTEGER;
+    preserve_opt->multiple = NO;
+    preserve_opt->required = NO;
+    preserve_opt->label = _("Preserve only every n-th point");
+    preserve_opt->description =
+        _("For example, 4 will import 25 percent of points. "
+          "If not specified, all points are copied");
+    preserve_opt->guisection = _("Count");
+
+    offset_opt = G_define_option();
+    offset_opt->key = "offset";
+    offset_opt->type = TYPE_INTEGER;
+    offset_opt->multiple = NO;
+    offset_opt->required = NO;
+    offset_opt->label = _("Skip first n points");
+    offset_opt->description =
+        _("Skips the given number of points at the beginning.");
+    offset_opt->guisection = _("Count");
+
+    limit_opt = G_define_option();
+    limit_opt->key = "limit";
+    limit_opt->type = TYPE_INTEGER;
+    limit_opt->multiple = NO;
+    limit_opt->required = NO;
+    limit_opt->label = _("Copy only n points");
+    limit_opt->description = _("Copies only the given number of points");
+    limit_opt->guisection = _("Count");
+
+    zdiff_opt = G_define_option();
+    zdiff_opt->key = "zdiff";
+    zdiff_opt->type = TYPE_DOUBLE;
+    zdiff_opt->required = NO;
+    zdiff_opt->label = _("Minimal difference of z values");
+    zdiff_opt->description =
+        _("Minimal difference between z values in grid-based decimation");
+    zdiff_opt->guisection = _("Grid");
+
+    limit_per_cell_opt = G_define_option();
+    limit_per_cell_opt->key = "cell_limit";
+    limit_per_cell_opt->type = TYPE_INTEGER;
+    limit_per_cell_opt->multiple = NO;
+    limit_per_cell_opt->required = NO;
+    limit_per_cell_opt->label = _("Preserve only n points per grid cell");
+    limit_per_cell_opt->description =
+        _("Preserves only the given number of points per grid cell in grid-based decimation");
+    limit_per_cell_opt->guisection = _("Grid");
+
+    grid_decimation_flg = G_define_flag();
+    grid_decimation_flg->key = 'g';
+    grid_decimation_flg->description = _("Apply grid-based decimation");
+    grid_decimation_flg->guisection = _("Grid");
+
+    first_point_flg = G_define_flag();
+    first_point_flg->key = 'f';
+    first_point_flg->description =
+        _("Use only first point in grid cell during grid-based decimation");
+    first_point_flg->guisection = _("Grid");
+
+    cat_in_grid_flg = G_define_flag();
+    cat_in_grid_flg->key = 'c';
+    cat_in_grid_flg->description = _("Only one point per cat in grid cell");
+    cat_in_grid_flg->guisection = _("Grid");
+
+    use_z_flg = G_define_flag();
+    use_z_flg->key = 'z';
+    use_z_flg->description = _("Use z in grid decimation");
+    use_z_flg->guisection = _("Grid");
+
+    nocats_flag = G_define_flag();
+    nocats_flag->key = 'x';
+    nocats_flag->label =
+        _("Store only the coordinates, throw away categories");
+    nocats_flag->description =
+        _("Do not story any categories even if they are present in input data");
+    nocats_flag->guisection = _("Speed");
+
+    notopo_flag = G_define_standard_flag(G_FLG_V_TOPO);
+    notopo_flag->guisection = _("Speed");
+
+    /* here we have different decimations but also selections/filters */
+    G_option_required(skip_opt, preserve_opt, offset_opt, limit_opt,
+                      grid_decimation_flg, zrange_opt, cats_opt, NULL);
+    /* this doesn't play well with GUI dialog unless we add defaults to options
+     * the default values would solve it but looks strange in the manual 
+     * this we use explicit check in the code */
+    /* G_option_exclusive(skip_opt, preserve_opt, NULL); */
+    G_option_requires(grid_decimation_flg, first_point_flg,
+                      limit_per_cell_opt, use_z_flg, zdiff_opt,
+                      cat_in_grid_flg, NULL);
+    G_option_requires(first_point_flg, grid_decimation_flg, NULL);
+    G_option_requires(limit_per_cell_opt, grid_decimation_flg, NULL);
+    G_option_requires(use_z_flg, grid_decimation_flg, NULL);
+    G_option_requires(zdiff_opt, grid_decimation_flg, NULL);
+    G_option_requires(cat_in_grid_flg, grid_decimation_flg, NULL);
+    G_option_exclusive(zdiff_opt, first_point_flg, limit_per_cell_opt, NULL);
+
+    if (G_parser(argc, argv))
+        exit(EXIT_FAILURE);
+
+    Vect_check_input_output_name(map_opt->answer, voutput_opt->answer,
+                                 G_FATAL_EXIT);
+
+    if (Vect_open_old2(&vinput, map_opt->answer, "", field_opt->answer) < 0)
+        G_fatal_error(_("Unable to open vector map <%s>"), map_opt->answer);
+    int layer = Vect_get_field_number(&vinput, field_opt->answer);
+
+    if (layer < 1 && (cats_opt->answer || cat_in_grid_flg->answer))
+        G_fatal_error(_("Input layer must be set to a particular layer"
+                        ", not <%s>, when using <%s> option or <-%c> flag"),
+                      field_opt->answer, cats_opt->key, cat_in_grid_flg->key);
+
+    struct cat_list *allowed_cats = NULL;
+
+    if (layer > 0)
+        allowed_cats = Vect_cats_set_constraint(&vinput, layer, NULL,
+                                                cats_opt->answer);
+
+    struct line_pnts *line = Vect_new_line_struct();
+    struct line_cats *cats = Vect_new_cats_struct();
+
+    double zrange_min, zrange_max;
+    int use_zrange = FALSE;
+
+    if (zrange_opt->answer != NULL) {
+        if (zrange_opt->answers[0] == NULL || zrange_opt->answers[1] == NULL)
+            G_fatal_error(_("Invalid zrange <%s>"), zrange_opt->answer);
+        sscanf(zrange_opt->answers[0], "%lf", &zrange_min);
+        sscanf(zrange_opt->answers[1], "%lf", &zrange_max);
+        /* for convenience, switch order to make valid input */
+        if (zrange_min > zrange_max) {
+            double tmp = zrange_max;
+
+            zrange_max = zrange_min;
+            zrange_min = tmp;
+        }
+        use_zrange = TRUE;
+    }
+
+    int use_z = FALSE;
+    double zdiff;
+
+    if (use_z_flg->answer) {
+        use_z = TRUE;
+        zdiff = atof(zdiff_opt->answer);
+    }
+
+    /* z input checks */
+    if (!Vect_is_3d(&vinput)) {
+        if (use_z)
+            G_fatal_error(_("Cannot use z for decimation, input is not 3D"));
+        if (use_zrange)
+            G_fatal_error(_("Cannot select by z range, input is not 3D"));
+    }
+
+    int do_grid_decimation = FALSE;
+
+    if (grid_decimation_flg->answer)
+        do_grid_decimation = TRUE;
+    int limit_per_cell = 0;
+
+    if (limit_per_cell_opt->answer)
+        limit_per_cell = atof(limit_per_cell_opt->answer);
+    if (first_point_flg->answer)
+        limit_per_cell = 1;
+
+    /* when user enters 1 or zero e.g. for skip, we accept it and use it
+     * but the is no advantage, however, we count it as an error when
+     * no other options are selected
+     */
+    struct CountDecimationControl count_decimation_control;
+
+    count_decimation_init_from_str(&count_decimation_control,
+                                   skip_opt->answer, preserve_opt->answer,
+                                   offset_opt->answer, limit_opt->answer);
+    if (!count_decimation_is_valid(&count_decimation_control))
+        G_fatal_error(_("Settings for count-based decimation are not valid"));
+    /* TODO: implement count_decimation_is_invalid_reason() */
+    /* the following must be in sync with required options */
+    if (count_decimation_is_noop(&count_decimation_control) &&
+        !grid_decimation_flg->answer && !zrange_opt->answer &&
+        !cats_opt->answer)
+        G_fatal_error(_("Settings for count-based decimation would cause it"
+                        " to do nothing and no other options has been set."));
+
+    struct Cell_head comp_region;
+    Rast_get_window(&comp_region);
+    if (use_zrange) {
+        comp_region.bottom = zrange_min;
+        comp_region.top = zrange_max;
+    }
+    struct GridDecimation grid_decimation;
+    struct DecimationContext decimation_context;
+    struct WriteContext write_context;
+
+    write_context.line = Vect_new_line_struct();
+    write_context.cats = Vect_new_cats_struct();
+    if (!nocats_flag->answer)
+        write_context.write_cats = TRUE;
+    else
+        write_context.write_cats = FALSE;
+    write_context.voutput = &voutput;
+    if (do_grid_decimation) {
+        grid_decimation_create_from_region(&grid_decimation, &comp_region);
+        grid_decimation.max_points = limit_per_cell;
+
+        if (cat_in_grid_flg->answer)
+            decimation_context.unique_cats = TRUE;
+        else
+            decimation_context.unique_cats = FALSE;
+        decimation_context.use_z = FALSE;
+        if (use_z) {
+            decimation_context.use_z = TRUE;
+            decimation_context.zdiff = zdiff;
+        }
+        grid_decimation.if_add_point = if_add_point;
+        grid_decimation.if_context = &decimation_context;
+
+        grid_decimation.on_add_point = on_add_point;
+        grid_decimation.on_context = &write_context;
+    }
+
+    if (Vect_open_new(&voutput, voutput_opt->answer, Vect_is_3d(&vinput)) < 0)
+        G_fatal_error(_("Unable to create vector map <%s>"),
+                      voutput_opt->answer);
+
+    /* some constraints can be set on the map */
+    Vect_set_constraint_type(&vinput, GV_POINT);
+    /* noop for layer=-1 and non-native format, skips lines without cat */
+    Vect_set_constraint_field(&vinput, layer);
+    /* TODO: replace region checks by Vect_set_constraint_region? */
+
+    int ltype;
+    int cat;
+
+    while (TRUE) {
+        ltype = Vect_read_next_line(&vinput, line, cats);
+        if (ltype == -1)
+            G_fatal_error(_("Unable to read vector map"));
+        if (ltype == -2)
+            break;              /* end of the map */
+
+        double x, y, z;
+        Vect_line_get_point(line, 0, &x, &y, &z);
+
+        /* selections/filters */
+        /* TODO: use region only when actually needed */
+        if (!use_zrange && !point_in_region_2d(&comp_region, x, y))
+            continue;
+        /* TODO: allow zrange to be used without region */
+        if (use_zrange && !point_in_region_3d(&comp_region, x, y, z))
+            continue;
+        if (allowed_cats &&
+            !Vect_cats_in_constraint(cats, layer, allowed_cats))
+            continue;
+
+        /* decimation */
+        if (count_decimation_is_out(&count_decimation_control))
+            continue;
+
+        /* TODO: test: skip points without category, unless layer=-1 */
+        /* Use cases:
+         * - all points have category (correct)
+         * - no categories for any point (correct, layer=-1 required)
+         * - some points miss category (not handled)
+         * Here we assume that only one cat has meaning for grid decimation.
+         * If no layer available, cat contains junk and shouldn't be used.
+         */
+        if (layer > 0)
+            Vect_cat_get(cats, layer, &cat);
+
+        /* using callback when using grid, direct call otherwise */
+        if (do_grid_decimation)
+            grid_decimation_try_add_point(&grid_decimation, cat, x, y, z,
+                                          cats);
+        else
+            write_point(&write_context, cat, x, y, z, cats);
+
+        if (count_decimation_is_end(&count_decimation_control))
+            break;
+    }
+
+    /* partially unnecessary as deallocated by the system */
+    Vect_destroy_line_struct(line);
+    Vect_destroy_cats_struct(cats);
+    Vect_destroy_line_struct(write_context.line);
+    Vect_destroy_cats_struct(write_context.cats);
+
+    Vect_hist_command(&voutput);
+
+    Vect_close(&vinput);
+    if (!notopo_flag->answer)
+        Vect_build(&voutput);
+    Vect_close(&voutput);
+
+    if (do_grid_decimation)
+        grid_decimation_destroy(&grid_decimation);
+
+    return EXIT_SUCCESS;
+}
diff --git a/vector/v.decimate/v.decimate.html b/vector/v.decimate/v.decimate.html
new file mode 100644
index 0000000..b1b8f23
--- /dev/null
+++ b/vector/v.decimate/v.decimate.html
@@ -0,0 +1,138 @@
+<h2>DESCRIPTION</h2>
+
+<em>v.decimate</em> reduces number of points in the input vector map
+and copies them over to the output vector map. Different point decimation
+techniques can be applied to reduce the number of points.
+
+<p>
+Two main decimation techniques are:
+<ul>
+<li>count-based decimation (<b>skip</b>, <b>preserve</b>, <b>offset</b>
+    and <b>limit</b> options)
+<li>grid-based decimation (<b>-g</b> flag)
+</ul>
+
+<p>
+The grid-based decimation will remove points based on:
+<ul>
+<li>similar z coordinates (<b>-z</b> flag and <b>zdiff</b> option)
+<li>same categories (<b>-c</b> flag)
+<li>count of points (<b>-f</b> flag and <b>cell_limit</b> option)
+</ul>
+
+<p>
+The grid-based decimation is currently using a 2D grid, so the points
+are placed and compared within this 2D grid. The comparison can happen
+using z coordinates or categories.
+Note that although the grid is only 2D, the module works with 3D points.
+
+<p>
+The grid-based decimation extent and resolution depend on the current
+computational region as set by <em><a href="g.region.html">g.region</a></em>.
+As a consequence, the output is limited only to computational region
+in this case.
+
+<p>
+TODO: Currently, any output is limited by the region.
+
+<p>
+The count-based decimation result highly depends on how the data are
+ordered in the input. This applies especially to <b>offset</b> and
+<b>limit</b> options where the resulting shape and densities can be
+surprising. The options <b>skip</b> and <b>preserve</b> are influenced
+by order of points in a similar way but they usually keep relative
+density of points (which may or may not be desired).
+On the other hand, the grid-based decimation will generally result in
+more even density of output points (see Figure 1).
+
+<p>
+Besides decimation, point count can be reduced by applying different
+selections or filters, these are:
+<ul>
+<li>selection by category (<b>cats</b> option)
+<li>selection by z values (<b>zrange</b> option)
+</ul>
+
+
+<h2>NOTES</h2>
+
+The grid-based decimation requires all points which will be saved in output
+to fit into the computer's memory (RAM).
+It is advantageous to have the region only in the area
+with the points, otherwise unnecessary memory is allocated.
+Higher (finer) resolutions and higher amount of preserved points
+per cell require more memory.
+The count-based decimation has no limitation regarding the available memory.
+
+<p>
+Significant speed up can be gained using <b>-b</b> flag which disables
+building of topology for the output vector map. This may limit the use
+of the vector map by some modules, but for example, this module works
+without topology as well.
+
+
+<h2>EXAMPLES</h2>
+
+Keep only every forth point, throw away the rest:
+
+<div class="code"><pre>
+v.decimate input=points_all output=points_decimated_every_4 preserve=4
+</pre></div>
+
+<p>
+Keep only points within a grid cell (given by the current computational
+region) which has unique categories (e.g. LIDAR classes):
+
+<div class="code"><pre>
+v.decimate input=points_all output=points_decimated_unique_cats layer=1 -g -c
+</pre></div>
+
+<center>
+    <img src="v_decimate_original.png">
+    <img src="v_decimate_count.png">
+    <img src="v_decimate_grid_cat.png">
+    <p><em>
+        Figure 1: Comparison of original points, decimation result
+        with every forth point preserved, and grid-based decimation
+        result with points with unique categories in each grid cell
+    </em></p>
+</center>
+
+<p>
+Keep only points with category 2 and keep only approximately 80% of the points:
+
+<div class="code"><pre>
+v.decimate input=points_all output=points_decimated_ skip=5 cats=2 layer=1
+</pre></div>
+
+<!--
+g.region map=elev_lid792_1m
+v.colors map=points_all use=cat rules=file.txt
+2 brown
+3:5 green
+6 red
+9 blue
+11 black
+13-14 gray
+d.vect map=points color=none width=1 icon=basic/point
+-->
+
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="v.extract.html">v.extract</a>,
+<a href="v.outlier.html">v.outlier</a>,
+<a href="v.select.html">v.select</a>,
+<a href="v.category.html">v.category</a>,
+<a href="v.build.html">v.build</a>,
+<a href="v.in.lidar.html">v.in.lidar</a>,
+<a href="g.region.html">g.region</a>
+</em>
+
+
+<h2>AUTHORS</h2>
+
+Vaclav Petras, <a href="http://geospatial.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>
+
+<p><i>Last changed: $Date: 2015-09-30 18:55:00 -0700 (Wed, 30 Sep 2015) $</i>
diff --git a/vector/v.decimate/v_decimate_count.png b/vector/v.decimate/v_decimate_count.png
new file mode 100644
index 0000000..37045cd
Binary files /dev/null and b/vector/v.decimate/v_decimate_count.png differ
diff --git a/vector/v.decimate/v_decimate_grid_cat.png b/vector/v.decimate/v_decimate_grid_cat.png
new file mode 100644
index 0000000..68a379f
Binary files /dev/null and b/vector/v.decimate/v_decimate_grid_cat.png differ
diff --git a/vector/v.decimate/v_decimate_original.png b/vector/v.decimate/v_decimate_original.png
new file mode 100644
index 0000000..1a164d5
Binary files /dev/null and b/vector/v.decimate/v_decimate_original.png differ
diff --git a/vector/v.delaunay/v.delaunay.html b/vector/v.delaunay/v.delaunay.html
index bc96079..2d37cdd 100644
--- a/vector/v.delaunay/v.delaunay.html
+++ b/vector/v.delaunay/v.delaunay.html
@@ -39,4 +39,4 @@ Paul Kelly, Mentor<br>
 Based on "dct" by Geoff Leach, Department of Computer Science, RMIT.<br>
 
 <p>
-<i>Last changed: $Date: 2014-01-07 00:15:11 +0100 (Tue, 07 Jan 2014) $</i>
+<i>Last changed: $Date: 2015-08-10 06:56:03 -0700 (Mon, 10 Aug 2015) $</i>
diff --git a/vector/v.distance/distance.c b/vector/v.distance/distance.c
index 0ccc0ac..73edfa8 100644
--- a/vector/v.distance/distance.c
+++ b/vector/v.distance/distance.c
@@ -289,9 +289,14 @@ int line2area(const struct Map_info *To,
     all_inside_outer = all_outside_outer = 1;
     all_outside_inner = 1;
 
+    int in_box;
     for (i = 0; i < Points->n_points; i++) {
-	if (Vect_point_in_box(Points->x[i], Points->y[i],
-			      Points->z[i], abox)) {
+        if (with_z)
+            in_box = Vect_point_in_box(Points->x[i], Points->y[i],
+                                       Points->z[i], abox);
+        else
+            in_box = Vect_point_in_box_2d(Points->x[i], Points->y[i], abox);
+        if (in_box) {
 
 	    int poly;
 	    
@@ -323,8 +328,13 @@ int line2area(const struct Map_info *To,
 		int inside_isle = 0;
 
 		for (j = 0; j < nisles; j++) {
-		    if (Vect_point_in_box(Points->x[i], Points->y[i], Points->z[i], 
-					  &ibox[j])) {
+                    if (with_z)
+                        in_box = Vect_point_in_box(Points->x[i], Points->y[i],
+                                                   Points->z[i], &ibox[j]);
+                    else
+                        in_box = Vect_point_in_box_2d(Points->x[i],
+                                                      Points->y[i], &ibox[j]);
+                    if (in_box) {
 
 			poly = Vect_point_in_poly(Points->x[i], Points->y[i], iPoints[j]);
 			
diff --git a/vector/v.distance/main.c b/vector/v.distance/main.c
index 4e55daa..c7f2718 100644
--- a/vector/v.distance/main.c
+++ b/vector/v.distance/main.c
@@ -13,7 +13,7 @@
  *               
  * PURPOSE:      Calculates distance from a point to nearest feature in vector layer. 
  *               
- * COPYRIGHT:    (C) 2002-2012 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2002-2015 by the GRASS Development Team
  *
  *               This program is free software under the 
  *               GNU General Public License (>=v2). 
diff --git a/vector/v.distance/testsuite/test_areas_points.py b/vector/v.distance/testsuite/test_areas_points.py
new file mode 100644
index 0000000..e90aadc
--- /dev/null
+++ b/vector/v.distance/testsuite/test_areas_points.py
@@ -0,0 +1,150 @@
+"""
+TEST:      v.distance
+
+AUTHOR(S): Vaclav Petras
+
+PURPOSE:   Test v.distance 2D and 3D points with areas
+
+COPYRIGHT: (C) 2015 Vaclav Petras, and by the GRASS Development Team
+
+           This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.gunittest.gmodules import call_module
+
+areas = """\
+VERTI:
+B  6
+ 11.6         29.55
+ 12.01        27.01
+ 15.25        26.68
+ 16.32        29.42
+ 13.49        31.06
+ 11.6         29.55
+C  1 1
+ 13.85        28.69
+ 1     1
+B  10
+ 18.49        34.1
+ 21.73        28.85
+ 28.24        33.28
+ 26.6         37.17
+ 23.9         34.92
+ 22.75        36.92
+ 18.86        37.17
+ 14.1         36.19
+ 14.19        32.54
+ 18.49        34.1
+C  1 1
+ 21.11        34.03
+ 1     2
+"""
+
+points = """\
+13.45|29.96
+14.64|27.5
+18.04|35.2
+21.56|34.22
+23.2|32.13
+26.48|35.98
+14.76|33.44
+21.85|29.38
+"""
+
+points_3d = """\
+13.45|29.96|200
+14.64|27.5|250
+18.04|35.2|893
+21.56|34.22|350
+23.2|32.13|296
+26.48|35.98|250
+14.76|33.44|258
+21.85|29.38|257
+"""
+
+table_ref = """\
+1|South-west area
+2|South-west area
+3|North-east area
+4|North-east area
+5|North-east area
+6|North-east area
+7|North-east area
+8|North-east area
+"""
+
+
+class TestPointsAndAreas(TestCase):
+    """Test how points get attributes from areas
+
+    Created for #2734 (3D point inside area is classified as outside)
+    https://trac.osgeo.org/grass/ticket/2734
+    """
+    # TODO: replace by unified handing of maps
+    to_remove = []
+    areas = "test_vdistance_areas"
+    points = "test_vdistance_points"
+    points_3d = "test_vdistance_points_3d"
+
+    @classmethod
+    def setUpClass(cls):
+        """Create vector maps (areas with attributes)"""
+        cls.runModule('v.in.ascii', input='-', output=cls.areas,
+                      format='standard', stdin=areas)
+        cls.to_remove.append(cls.areas)
+        cls.runModule('v.db.addtable', map=cls.areas,
+                      columns="number INTEGER, label VARCHAR(250)")
+        # TODO: this should be done in more effective way
+        cls.runModule('v.db.update', map=cls.areas, column='label',
+                      value="South-west area", where="cat=1")
+        cls.runModule('v.db.update', map=cls.areas, column='label',
+                      value="North-east area", where="cat=2")
+
+        cls.runModule('v.in.ascii', input='-', output=cls.points,
+                      format='point', separator='pipe', flags='t',
+                      stdin=points)
+        cls.to_remove.append(cls.points)
+        cls.runModule('v.db.addtable', map=cls.points,
+                      columns="area_label VARCHAR(250)")
+
+        cls.runModule('v.in.ascii', input='-', output=cls.points_3d,
+                      format='point', separator='pipe', flags='zt', z=3,
+                      stdin=points_3d)
+        cls.to_remove.append(cls.points_3d)
+        cls.runModule('v.db.addtable', map=cls.points_3d,
+                      columns="area_label VARCHAR(250)")
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove vector maps"""
+        if cls.to_remove:
+            cls.runModule('g.remove', flags='f', type='vector',
+                          name=','.join(cls.to_remove), verbose=True)
+
+    def test_area_attrs_to_2d_points(self):
+        """Check that values are uploaded to 2D points in areas (dmax=0)"""
+        # using call_module because PyGRASS doen't accept form_
+        call_module('v.distance', from_=self.points, to=self.areas,
+                    dmax=0, upload='to_attr',
+                    column='area_label', to_column='label')
+        # using call_module because it is easier
+        table = call_module('v.db.select', map=self.points,
+                            separator='pipe', flags='c')
+        self.assertMultiLineEqual(table, table_ref)
+
+    def test_area_attrs_to_3d_points(self):
+        """Check that values are uploaded to 3D points in areas (dmax=0)"""
+        call_module('v.distance', from_=self.points_3d, to=self.areas,
+                    dmax=0, upload='to_attr',
+                    column='area_label', to_column='label')
+        table = call_module('v.db.select', map=self.points_3d,
+                            separator='pipe', flags='c')
+        self.assertMultiLineEqual(table, table_ref)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.distance/v.distance.html b/vector/v.distance/v.distance.html
index 365c91b..7df0d07 100644
--- a/vector/v.distance/v.distance.html
+++ b/vector/v.distance/v.distance.html
@@ -223,4 +223,4 @@ Improved processing speed: Markus Metz<br>
 Distance from any feature to any feature: Markus Metz
 
 <p>
-<i>Last changed: $Date: 2015-10-07 10:15:43 +0200 (Wed, 07 Oct 2015) $</i>
+<i>Last changed: $Date: 2015-10-07 01:15:15 -0700 (Wed, 07 Oct 2015) $</i>
diff --git a/vector/v.drape/main.c b/vector/v.drape/main.c
index b627fb6..c98131f 100644
--- a/vector/v.drape/main.c
+++ b/vector/v.drape/main.c
@@ -57,6 +57,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("geometry"));
     G_add_keyword(_("sampling"));
     G_add_keyword(_("3D"));
+    G_add_keyword(_("surface information"));
     module->description =
 	_("Converts 2D vector features to 3D by sampling of elevation raster map.");
 
diff --git a/vector/v.drape/v.drape.html b/vector/v.drape/v.drape.html
index 8d4e514..f42ffc2 100644
--- a/vector/v.drape/v.drape.html
+++ b/vector/v.drape/v.drape.html
@@ -75,4 +75,4 @@ Updated for GRASS 7 by Martin Landa, Czech Technical University in
 Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 08:22:17 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/vector/v.edit/testsuite/select_all_flag.sh b/vector/v.edit/testsuite/select_all_flag.sh
new file mode 100755
index 0000000..16b0959
--- /dev/null
+++ b/vector/v.edit/testsuite/select_all_flag.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+
+# this is testtest for #2309
+# Add a select all flag to v.edit
+# https://trac.osgeo.org/grass/ticket/2309
+
+set -e
+set -x
+
+v.in.ascii input=- output=vedit_test separator=comma <<EOF
+913240.0,250614.0
+913250.0,250628.0
+EOF
+v.edit -r map=vedit_test tool=catadd layer=2 cats=10
+
+expected="10
+10"
+out=$(v.category option=print layer=2 input=vedit_test)
+
+if [[ ${out} != "${expected}" ]]; then
+    echo "FAIL: Expected '${expected}' not equals to output '${out}'"
+    exit 1
+fi
+
+# test also the original categories
+expected="1
+2"
+out=$(v.category option=print layer=1 input=vedit_test)
+
+if [[ ${out} != "${expected}" ]]; then
+    echo "FAIL: Expected '${expected}' not equals to output '${out}'"
+    exit 1
+fi
+
+g.remove -f type=vector name=vedit_test
diff --git a/vector/v.edit/v.edit.html b/vector/v.edit/v.edit.html
index 7ba37f4..9612add 100644
--- a/vector/v.edit/v.edit.html
+++ b/vector/v.edit/v.edit.html
@@ -436,4 +436,4 @@ Initial updates: Jachym Cepicky, Mendel University of Agriculture and Forestry i
 Major update by Martin Landa, FBK-irst (formerly ITC-irst), Trento, Italy
 
 <p>
-<i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 08:22:17 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/vector/v.external.out/v.external.out.html b/vector/v.external.out/v.external.out.html
index 473ea21..e884495 100644
--- a/vector/v.external.out/v.external.out.html
+++ b/vector/v.external.out/v.external.out.html
@@ -205,4 +205,4 @@ Martin Landa, Czech Technical University in Prague, Czech Republic
 (development supported by Fondazione Edmund Mach and Comune di Trento, Italy)
 
 <p>
-<i>Last changed: $Date: 2015-11-24 09:08:30 +0100 (Tue, 24 Nov 2015) $</i>
+<i>Last changed: $Date: 2015-11-24 00:07:58 -0800 (Tue, 24 Nov 2015) $</i>
diff --git a/vector/v.external/args.c b/vector/v.external/args.c
index a3568e8..b066fb9 100644
--- a/vector/v.external/args.c
+++ b/vector/v.external/args.c
@@ -17,7 +17,8 @@ void parse_args(int argc, char **argv,
 				  "\t\tMapInfo File: directory containing a mapinfo file\n"
 				  "\t\tPostGIS database: connection string, eg. 'PG:dbname=db user=grass'");
     options->dsn->required = YES;
-
+    options->dsn->gisprompt = "old,datasource,datasource";
+    
     options->layer = G_define_option();
     options->layer->key = "layer";
     options->layer->type = TYPE_STRING;
@@ -30,7 +31,8 @@ void parse_args(int argc, char **argv,
 				    "\t\tPostGIS database: table name");
     options->layer->required = YES;
     options->layer->key_desc = "name";
-    
+    options->layer->gisprompt = "old,datasource_layer,datasource_layer";
+        
     options->output = G_define_standard_option(G_OPT_V_OUTPUT);
     options->output->required = NO;
     options->output->description = _("Name for output GRASS vector map (default: input layer)");
diff --git a/vector/v.external/dsn.c b/vector/v.external/dsn.c
new file mode 100644
index 0000000..cf45c6a
--- /dev/null
+++ b/vector/v.external/dsn.c
@@ -0,0 +1,78 @@
+#include <string.h>
+
+#include <grass/gis.h>
+#include <grass/dbmi.h>
+#include <grass/glocale.h>
+
+char *get_datasource_name(const char *opt_dsn, int use_ogr)
+{
+    char *dsn;
+    
+    if (G_strncasecmp(opt_dsn, "PG:", 3) == 0) {
+        /* PostgreSQL/PostGIS */
+        size_t i;
+        char connect_str[DB_SQL_MAX], database[GNAME_MAX];
+        char *p, *pp;
+        const char *user, *passwd, *host, *port;
+
+        /* dbname is mandatory */
+        p = G_strcasestr(opt_dsn, "dbname");
+        if (!p) 
+            G_fatal_error(_("Invalid connection string (dbname missing)"));
+        
+        /* get dbname */
+        p += strlen("dbname=");
+        for (i = 0, pp = p; *pp != ' ' && *pp != '\0'; pp++, i++)
+            database[i] = *pp;
+        database[i] = '\0';
+        
+        /* build connection string */
+        sprintf(connect_str, "dbname=%s", database);
+        
+        /* add db.login settings (user, password, host, port) */
+        if (DB_OK == db_get_login2("pg", database, &user, &passwd, &host, &port)) {
+            if (user) {
+                if (!G_strcasestr(opt_dsn, "user=")) {
+                    strcat(connect_str, " user=");
+                    strcat(connect_str, user);
+                }
+                G_free((char *)user);
+            }
+            if (passwd) {
+                if (!G_strcasestr(opt_dsn, "password=")) {
+                    strcat(connect_str, " password=");
+                    strcat(connect_str, passwd);
+                }
+                G_free((char *)passwd);
+            }
+            if (host) {
+                if (!G_strcasestr(opt_dsn, "host=")) {
+                    strcat(connect_str, " host=");
+                    strcat(connect_str, host);
+                }
+                G_free((char *)host);
+            }
+            if (port) {
+                if (!G_strcasestr(opt_dsn, "port=")) {
+                    strcat(connect_str, " port=");
+                    strcat(connect_str, port);
+                }
+                G_free((char *)port);
+            }
+        }
+        
+        if (!use_ogr)
+            /* be friendly, ignored 'PG:' prefix for PostGIS links */
+            dsn = G_store(connect_str);
+        else
+            G_asprintf(&dsn, "PG:%s", connect_str);
+    }
+    else {
+        /* other datasources */
+        dsn = G_store(opt_dsn);
+    }
+
+    G_debug(1, "dsn: %s", dsn);
+
+    return dsn;
+}
diff --git a/vector/v.external/local_proto.h b/vector/v.external/local_proto.h
index b970443..acdd495 100644
--- a/vector/v.external/local_proto.h
+++ b/vector/v.external/local_proto.h
@@ -13,6 +13,9 @@ struct _flags {
 void parse_args(int, char **,
 		struct _options *, struct _flags*);
 
+/* dsn.c */
+char *get_datasource_name(const char *, int);
+
 /* list.c */
 void list_formats();
 int list_layers(FILE *, const char *, const char *, int, int);
diff --git a/vector/v.external/main.c b/vector/v.external/main.c
index 626294d..6a8f176 100644
--- a/vector/v.external/main.c
+++ b/vector/v.external/main.c
@@ -8,7 +8,7 @@
  *               
  * PURPOSE:      Create a new vector as a link to OGR layer
  *               
- * COPYRIGHT:    (C) 2003-2011 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2003-2016 by the GRASS Development Team
  *
  *               This program is free software under the GNU General
  *               Public License (>=v2). Read the file COPYING that
@@ -95,22 +95,9 @@ int main(int argc, char *argv[])
         exit(EXIT_SUCCESS);
     }
 
-    /* be friendly, ignored 'PG:' prefix for PostGIS links */
     dsn = NULL;
-    if (options.dsn->answer) {
-        if (!use_ogr) {
-            int i, length;
-            
-            length = strlen(options.dsn->answer);
-            dsn = (char *) G_malloc(length - 3);
-            for (i = 3; i < length; i++)
-                dsn[i-3] = options.dsn->answer[i];
-            dsn[length-3] = '\0';
-        }
-        else {
-            dsn = G_store(options.dsn->answer);
-        }
-    }
+    if (options.dsn->answer)
+        dsn = get_datasource_name(options.dsn->answer, use_ogr);
     
     if (flags.list->answer || flags.tlist->answer) {
         /* list layers */
diff --git a/vector/v.external/v.external.html b/vector/v.external/v.external.html
index f051e97..951aaeb 100644
--- a/vector/v.external/v.external.html
+++ b/vector/v.external/v.external.html
@@ -107,4 +107,4 @@ Radim Blazek, ITC-Irst, Trento, Italy
 PostGIS support by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2016-01-13 10:20:46 +0100 (Wed, 13 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-01-13 01:18:55 -0800 (Wed, 13 Jan 2016) $</i>
diff --git a/vector/v.extract/v.extract.html b/vector/v.extract/v.extract.html
index f5e56dd..648ec42 100644
--- a/vector/v.extract/v.extract.html
+++ b/vector/v.extract/v.extract.html
@@ -106,13 +106,6 @@ v.extract -d input=zipcodes_wake_recl_nam output=zipcodes_wake_regions
 This produces a new vector map with common boundaries dissolved where the reclassed
 attributes of adjacent (left/right) areas are identical.
 
-<h3>Remove islands from polygon map</h3>
-<div class="code"><pre>
-v.extract input=map_with_islands output=maps_without_islands cats=1-99999
-# and/or
-v.extract -d in=map_with_islands out=maps_without_islands
-</pre></div>
-
 <h3>Extract 3 random areas from geology map</h3>
 <p>
 <div class="code"><pre>
@@ -135,4 +128,4 @@ Note that there may be more than one feature with the same category.
 R.L. Glenn, USDA, SCS, NHQ-CGIS<br>
 GRASS 6 port by Radim Blazek
 
-<p><i>Last changed: $Date: 2013-12-27 17:53:51 +0100 (Fri, 27 Dec 2013) $</i>
+<p><i>Last changed: $Date: 2016-03-16 13:17:59 -0700 (Wed, 16 Mar 2016) $</i>
diff --git a/vector/v.extrude/v.extrude.html b/vector/v.extrude/v.extrude.html
index d96b601..a37813a 100644
--- a/vector/v.extrude/v.extrude.html
+++ b/vector/v.extrude/v.extrude.html
@@ -82,4 +82,4 @@ Updated for GRASS 7 by Martin Landa, FBK-irst,
 Italy and Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 08:22:17 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/vector/v.generalize/main.c b/vector/v.generalize/main.c
index 417735a..24fca71 100644
--- a/vector/v.generalize/main.c
+++ b/vector/v.generalize/main.c
@@ -334,12 +334,12 @@ int main(int argc, char *argv[])
 	G_fatal_error(_("Unable to create vector map <%s>"), map_out->answer);
     }
 
-    if(error_out->answer)
+    if (error_out->answer) {
         if (0 > Vect_open_new(&Error, error_out->answer, with_z)) {
 	    Vect_close(&In);
 	    G_fatal_error(_("Unable to create error vector map <%s>"), error_out->answer);
         }
-
+    }
 
 
     Vect_copy_head_data(&In, &Out);
@@ -391,12 +391,11 @@ int main(int argc, char *argv[])
 	int not_modified_boundaries = 0, n_oversimplified = 0;
 	struct line_pnts *APoints;  /* original Points */
 
+	set_topo_debug();
+
 	Vect_copy_map_lines(&In, &Out);
 	Vect_build_partial(&Out, GV_BUILD_CENTROIDS);
 
-	if ((mask_type & GV_AREA) && !(mask_type & GV_BOUNDARY))
-	    mask_type |= GV_BOUNDARY;
-
 	G_message("-----------------------------------------------------");
 	G_message(_("Generalization (%s)..."), method_opt->answer);
 	G_message(_("Using threshold: %g %s"), thresh, G_database_unit_name(1));
@@ -429,30 +428,19 @@ int main(int argc, char *argv[])
 			
 			/* check if any of the centroids is selected */
 			Vect_get_line_areas(&Out, i, &left, &right);
+			if (left < 0)
+			    left = Vect_get_isle_area(&Out, abs(left));
+			if (right < 0)
+			    right = Vect_get_isle_area(&Out, abs(right));
+
 			if (left > 0) {
 			    Vect_get_area_cats(&Out, left, Cats);
 			    do_line = Vect_cats_in_constraint(Cats, layer, cat_list);
 			}
-			else if (left < 0) {
-			    left = Vect_get_isle_area(&Out, abs(left));
-			    if (left > 0) {
-				Vect_get_area_cats(&Out, left, Cats);
-				do_line = Vect_cats_in_constraint(Cats, layer, cat_list);
-			    }
-			}
 			
-			if (!do_line) {
-			    if (right > 0) {
-				Vect_get_area_cats(&Out, right, Cats);
-				do_line = Vect_cats_in_constraint(Cats, layer, cat_list);
-			    }
-			    else if (right < 0) {
-				right = Vect_get_isle_area(&Out, abs(right));
-				if (right > 0) {
-				    Vect_get_area_cats(&Out, right, Cats);
-				    do_line = Vect_cats_in_constraint(Cats, layer, cat_list);
-				}
-			    }
+			if (!do_line && right > 0) {
+			    Vect_get_area_cats(&Out, right, Cats);
+			    do_line = Vect_cats_in_constraint(Cats, layer, cat_list);
 			}
 		    }
 		    if (!do_line)
diff --git a/vector/v.generalize/misc.c b/vector/v.generalize/misc.c
index 29a5386..a35d524 100644
--- a/vector/v.generalize/misc.c
+++ b/vector/v.generalize/misc.c
@@ -24,6 +24,16 @@
 #include <grass/glocale.h>
 #include "misc.h"
 
+static int topo_debug = 0;
+
+int set_topo_debug(void)
+{
+    if (getenv("GRASS_VECTOR_TOPO_DEBUG"))
+	topo_debug = 1;
+
+    return topo_debug;
+}
+
 int type_mask(struct Option *type_opt)
 {
     int res = 0;
@@ -38,7 +48,7 @@ int type_mask(struct Option *type_opt)
 	    res |= GV_BOUNDARY;
 	    break;
 	case 'a':
-	    res |= GV_AREA;
+	    res |= GV_BOUNDARY;
 	}
 
     return res;
@@ -187,23 +197,122 @@ int copy_tables_by_cats(struct Map_info *In, struct Map_info *Out)
     return 1;
 }
 
+static int cmp(const void *a, const void *b)
+{
+    int ai = *(int *)a;
+    int bi = *(int *)b;
+
+    return (ai - bi);
+}
+
 /* check topology corruption by boundary modification
  * return 0 on corruption, 1 if modification is ok */
 int check_topo(struct Map_info *Out, int line, struct line_pnts *APoints,
                struct line_pnts *Points, struct line_cats *Cats)
 {
-    int i, j, intersect, newline, left_old, right_old,
-	left_new, right_new;
-    struct bound_box box;
-    static struct line_pnts *BPoints = NULL;
-    static struct boxlist *List = NULL;
+    int i, j, k, intersect, newline;
+    struct bound_box box, abox, tbox;
+    struct bound_box lbox, rbox, areabox;
     struct line_pnts **AXLines, **BXLines;
     int naxlines, nbxlines;
-
-    if (!BPoints)
+    static struct line_pnts *BPoints = NULL;
+    static struct boxlist *List = NULL;
+    static struct line_pnts *BPoints2 = NULL;
+    static struct ilist *BList = NULL;
+    int area, isle, centr;
+    int left_o, left_n, right_o, right_n;
+    int node, node_n_lines;
+    float angle1, angle2;
+    off_t offset;
+    /* topology debugging */
+    int area_l_o, area_r_o, area_l_n, area_r_n;
+    int centr_l_o, centr_r_o, centr_l_n, centr_r_n;
+    int *isles_l_o, nisles_l_o, *isles_l_n, nisles_l_n;
+    int *isles_r_o, nisles_r_o, *isles_r_n, nisles_r_n;
+    int found;
+
+    if (!BPoints) {
 	BPoints = Vect_new_line_struct();
-    if (!List)
+	BPoints2 = Vect_new_line_struct();
 	List = Vect_new_boxlist(1);
+	BList = Vect_new_list();
+    }
+
+    if (APoints->n_points == Points->n_points) {
+	int same = 1;
+	
+	for (i = 0; i < APoints->n_points; i++) {
+	    if (APoints->x[i] != Points->x[i] || APoints->y[i] != Points->y[i]) {
+		same = 0;
+		break;
+	    }
+	}
+	if (same)
+	    return 1;
+    }
+
+    i = APoints->n_points - 1;
+    if (APoints->x[0] == APoints->x[i] && APoints->y[0] == APoints->y[i]) {
+	i = Points->n_points - 1;
+	if (Points->x[0] != Points->x[i] || Points->y[0] != Points->y[i]) {
+	    /* input line forms a loop, output not */
+	    return 0;
+	}
+    }
+
+    /* test node angles
+     * an area can be built only if there are no two lines with the same 
+     * angle at the same node */
+    /* line start */
+    angle1 = dig_calc_begin_angle(Points, 0);
+    if (angle1 == -9)
+	return 0;
+
+    node = dig_find_node(&(Out->plus), Points->x[0], Points->y[0], Points->z[0]);
+    if (node) {
+	/* if another line exists with the same angle at this node,
+	 * an area can not be constructed -> error */
+	node_n_lines = Vect_get_node_n_lines(Out, node);
+	for (i = 0; i < node_n_lines; i++) {
+
+	    if (abs(Vect_get_node_line(Out, node, i)) == line)
+		continue;
+
+	    if (angle1 == Vect_get_node_line_angle(Out, node, i))
+		return 0;
+	}
+    }
+    
+    /* line end */
+    angle2 = dig_calc_end_angle(Points, 0);
+    if (angle2 == -9)
+	return 0;
+
+    i = Points->n_points - 1;
+    if (Points->x[0] == Points->x[i] && Points->y[0] == Points->y[i]) {
+	if (angle1 == angle2) {
+	    /* same angle, same start and end coordinates,
+	     * an area can not be constructed -> error */
+	    return 0;
+	}
+    }
+    else {
+	node = dig_find_node(&(Out->plus), Points->x[i], Points->y[i], Points->z[i]);
+    }
+
+    if (node) {
+	/* if another line exists with the same angle at this node,
+	 * an area can not be constructed -> error */
+	node_n_lines = Vect_get_node_n_lines(Out, node);
+	for (i = 0; i < node_n_lines; i++) {
+
+	    if (abs(Vect_get_node_line(Out, node, i)) == line)
+		continue;
+
+	    if (angle2 == Vect_get_node_line_angle(Out, node, i))
+		return 0;
+	}
+    }
 
     Vect_line_box(Points, &box);
 
@@ -273,37 +382,476 @@ int check_topo(struct Map_info *Out, int line, struct line_pnts *APoints,
     if (intersect)
 	return 0;
 
-    /* Get centroids on the left and right side */
-    Vect_get_line_areas(Out, line, &left_old, &right_old);
-    if (left_old < 0)
-	left_old = Vect_get_isle_area(Out, abs(left_old));
-    if (left_old > 0)
-	left_old = Vect_get_area_centroid(Out, left_old);
-    if (right_old < 0)
-	right_old = Vect_get_isle_area(Out, abs(right_old));
-    if (right_old > 0)
-	right_old = Vect_get_area_centroid(Out, right_old);
+    /* test centroid attachment (point-in-poly) */
+    Vect_get_line_areas(Out, line, &left_o, &right_o);
+
+    Vect_line_box(APoints, &abox);
+
+    /* centroid on the left side */
+    isle = centr = 0;
+    area = left_o;
+    if (area < 0) {
+	isle = -area;
+	area = Vect_get_isle_area(Out, isle);
+    }
+    if (area > 0)
+	centr = Vect_get_area_centroid(Out, area);
+    centr_l_o = centr;
+    area_l_o = area;
+    lbox = box;
+
+    if (isle)
+	Vect_get_isle_boundaries(Out, isle, BList);
+    else
+	Vect_get_area_boundaries(Out, area, BList);
+
+    Vect_reset_line(BPoints2);
+    for (i = 0; i < BList->n_values; i++) {
+	int bline = BList->value[i];
+	int dir = bline > 0 ? GV_FORWARD : GV_BACKWARD;
+
+	if (abs(bline) != line) {
+	    Vect_read_line(Out, BPoints, NULL, abs(bline));
+	    Vect_line_box(BPoints, &tbox);
+	    Vect_box_extend(&lbox, &tbox);
+	    Vect_append_points(BPoints2, BPoints, dir);
+	}
+	else
+	    Vect_append_points(BPoints2, Points, dir);
+
+	BPoints2->n_points--;    /* skip last point, avoids duplicates */
+    }
+    BPoints2->n_points++;        /* close polygon */
+
+    if (centr > 0) {
+	int ret;
+	double cx, cy, cz;
+
+	Vect_read_line(Out, BPoints, NULL, centr);
+	cx = BPoints->x[0];
+	cy = BPoints->y[0];
+	cz = BPoints->z[0];
+
+	if (Vect_point_in_box(cx, cy, cz, &box) ||
+	    Vect_point_in_box(cx, cy, cz, &abox)) {
+
+	    ret = Vect_point_in_poly(cx, cy, BPoints2);
+	    if (!isle) {
+		/* area: centroid must be inside */
+		if (ret != 1)
+		    return 0;
+	    }
+	    else {
+		/* isle: centroid must be outside */
+		if (ret > 0)
+		    return 0;
+	    }
+	}
+    }
+
+    /* centroid on the right side */
+    isle = centr = 0;
+    area = right_o;
+    if (area < 0) {
+	isle = -area;
+	area = Vect_get_isle_area(Out, isle);
+    }
+    if (area > 0)
+	centr = Vect_get_area_centroid(Out, area);
+    centr_r_o = centr;
+    area_r_o = area;
+    rbox = box;
+
+    if (isle)
+	Vect_get_isle_boundaries(Out, isle, BList);
+    else
+	Vect_get_area_boundaries(Out, area, BList);
+
+    Vect_reset_line(BPoints2);
+    for (i = 0; i < BList->n_values; i++) {
+	int bline = BList->value[i];
+	int dir = bline > 0 ? GV_FORWARD : GV_BACKWARD;
+
+	if (abs(bline) != line) {
+	    Vect_read_line(Out, BPoints, NULL, abs(bline));
+	    Vect_line_box(BPoints, &tbox);
+	    Vect_box_extend(&rbox, &tbox);
+	    Vect_append_points(BPoints2, BPoints, dir);
+	}
+	else
+	    Vect_append_points(BPoints2, Points, dir);
+
+	BPoints2->n_points--;    /* skip last point, avoids duplicates */
+    }
+    BPoints2->n_points++;        /* close polygon */
+
+    if (centr > 0) {
+	int ret;
+	double cx, cy, cz;
+
+	Vect_read_line(Out, BPoints, NULL, centr);
+	cx = BPoints->x[0];
+	cy = BPoints->y[0];
+	cz = BPoints->z[0];
+
+	if (Vect_point_in_box(cx, cy, cz, &box) ||
+	    Vect_point_in_box(cx, cy, cz, &abox)) {
+
+	    ret = Vect_point_in_poly(cx, cy, BPoints2);
+	    if (!isle) {
+		/* area: centroid must be inside */
+		if (ret != 1)
+		    return 0;
+	    }
+	    else {
+		/* isle: centroid must be outside */
+		if (ret > 0)
+		    return 0;
+	    }
+	}
+    }
+
+    /* all fine:
+     * areas/isles can be built
+     * no intersection with another boundary, e.g. isle attachment will be preserved
+     * centroids are still on the correct side of the boundary */
+
+    if (!topo_debug) {
+	/* update only those parts of topology that actually get changed */
+	/* boundary:
+	 * node in case of loop support
+	 * node angles
+	 * bounding box */
+	
+	/* rewrite boundary on level 1 */
+	offset = Out->plus.Line[line]->offset;
+	Out->level = 1;
+	offset = Vect_rewrite_line(Out, offset, GV_BOUNDARY, Points, Cats);
+	Out->level = 2;
+	/* delete line from topo */
+	dig_del_line(&Out->plus, line, APoints->x[0], APoints->y[0], APoints->z[0]);
+	/* restore line in topo */
+	dig_restore_line(&Out->plus, line, GV_BOUNDARY, Points, &box, offset);
+
+	/* update area/isle box to the left */
+	if (left_o < 0) {
+	    dig_spidx_del_isle(&Out->plus, -left_o);
+	    dig_spidx_add_isle(&Out->plus, -left_o, &lbox);
+	}
+	else if (left_o > 0) {
+	    dig_spidx_del_area(&Out->plus, left_o);
+	    dig_spidx_add_area(&Out->plus, left_o, &lbox);
+	}
+	/* update area/isle box to the right */
+	if (right_o < 0) {
+	    dig_spidx_del_isle(&Out->plus, -right_o);
+	    dig_spidx_add_isle(&Out->plus, -right_o, &rbox);
+	}
+	else if (right_o > 0) {
+	    dig_spidx_del_area(&Out->plus, right_o);
+	    dig_spidx_add_area(&Out->plus, right_o, &rbox);
+	}
+	
+	/* done */
+	return 1;
+    }
+
+    /* debug topology */
+
+    /* record isles of the old areas to the left and right */
+    nisles_l_o = 0;
+    isles_l_o = NULL;
+    if (area_l_o) {
+	nisles_l_o = Out->plus.Area[area_l_o]->n_isles;
+	if (nisles_l_o) {
+	    isles_l_o = G_malloc(nisles_l_o * sizeof(int));
+	    for (i = 0; i < nisles_l_o; i++) {
+		isles_l_o[i] = Out->plus.Area[area_l_o]->isles[i];
+	    }
+	    qsort(isles_l_o, nisles_l_o, sizeof(int), cmp);
+	}
+    }
+    nisles_r_o = 0;
+    isles_r_o = NULL;
+    if (area_r_o) {
+	nisles_r_o = Out->plus.Area[area_r_o]->n_isles;
+	if (nisles_r_o) {
+	    isles_r_o = G_malloc(nisles_r_o * sizeof(int));
+	    for (i = 0; i < nisles_r_o; i++) {
+		isles_r_o[i] = Out->plus.Area[area_r_o]->isles[i];
+	    }
+	    qsort(isles_r_o, nisles_r_o, sizeof(int), cmp);
+	}
+    }
 
     /* OK, rewrite modified boundary */
     newline = Vect_rewrite_line(Out, line, GV_BOUNDARY, Points, Cats);
+    if (newline != line)
+	G_fatal_error("Vect_rewrite_line(): new line id %d != old line id %d",
+	              newline, line);
+
+    /* get new area and centroid ids to the left and right */
+    centr_l_n = centr_r_n = 0;
+    Vect_get_line_areas(Out, newline, &left_n, &right_n);
+    area = left_n;
+    if (area < 0)
+	area = Vect_get_isle_area(Out, -area);
+    if (area > 0)
+	centr_l_n = Vect_get_area_centroid(Out, area);
+    area_l_n = area;
+    
+    area = right_n;
+    if (area < 0)
+	area = Vect_get_isle_area(Out, -area);
+    if (area > 0)
+	centr_r_n = Vect_get_area_centroid(Out, area);
+    area_r_n = area;
+
+    /* record isles of the new areas to the left and right */
+    nisles_l_n = 0;
+    isles_l_n = NULL;
+    if (area_l_n) {
+	nisles_l_n = Out->plus.Area[area_l_n]->n_isles;
+	if (nisles_l_n) {
+	    isles_l_n = G_malloc(nisles_l_n * sizeof(int));
+	    for (i = 0; i < nisles_l_n; i++) {
+		isles_l_n[i] = Out->plus.Area[area_l_n]->isles[i];
+	    }
+	    qsort(isles_l_n, nisles_l_n, sizeof(int), cmp);
+	}
+    }
+    nisles_r_n = 0;
+    isles_r_n = NULL;
+    if (area_r_n) {
+	nisles_r_n = Out->plus.Area[area_r_n]->n_isles;
+	if (nisles_r_n) {
+	    isles_r_n = G_malloc(nisles_r_n * sizeof(int));
+	    for (i = 0; i < nisles_r_n; i++) {
+		isles_r_n[i] = Out->plus.Area[area_r_n]->isles[i];
+	    }
+	    qsort(isles_r_n, nisles_r_n, sizeof(int), cmp);
+	}
+    }
+
+    /* compare isle numbers and ids on the left and right */
+    /* left */
+    if (nisles_l_o != nisles_l_n)
+	G_fatal_error("Number of isles to the left differ: old %d, new %d",
+	              nisles_l_o, nisles_l_n);
+    found = 0;
+    k = 0;
+    for (i = 0; i < nisles_l_o; i++) {
+	if (isles_l_o[i] != isles_l_n[k]) {
+	    if (!found) {
+		found = 1;
+		k--;
+	    }
+	    else {
+		for (j = 0; j < nisles_l_o; j++) {
+		    G_message("old %d new %d", isles_l_o[j], isles_l_n[j]);
+		}
+		G_fatal_error("New isle to the left %d is wrong",
+			      isles_l_n[i]);
+	    }
+	}
+	k++;
+    }
+    /* right */
+    if (nisles_r_o != nisles_r_n)
+	G_fatal_error("Number of isles to the left differ: old %d, new %d",
+	              nisles_r_o, nisles_r_n);
+    found = 0;
+    k = 0;
+    for (i = 0; i < nisles_r_o; i++) {
+	if (isles_r_o[i] != isles_r_n[k]) {
+	    if (!found) {
+		found = 1;
+		k--;
+	    }
+	    else {
+		for (j = 0; j < nisles_r_o; j++) {
+		    G_message("old %d new %d", isles_r_o[j], isles_r_n[j]);
+		}
+		G_fatal_error("New isle to the right %d is wrong",
+			      isles_l_n[i]);
+	    }
+	}
+	k++;
+    }
 
     /* Check position of centroids */
-    Vect_get_line_areas(Out, newline, &left_new, &right_new);
-    if (left_new < 0)
-	left_new = Vect_get_isle_area(Out, abs(left_new));
-    if (left_new > 0)
-	left_new = Vect_get_area_centroid(Out, left_new);
-    if (right_new < 0)
-	right_new = Vect_get_isle_area(Out, abs(right_new));
-    if (right_new > 0)
-	right_new = Vect_get_area_centroid(Out, right_new);
-
-    if (left_new != left_old || right_new != right_old) {
-	G_debug(3,
-		"The modified boundary changes attachment of centroid -> not modified");
-	Vect_rewrite_line(Out, newline, GV_BOUNDARY, APoints, Cats);
+    if (centr_l_n != centr_l_o || centr_r_n != centr_r_o) {
+	/* should not happen if the above topo checks work as expected */
+	G_warning("The modified boundary changes attachment of centroid -> topo checks failed");
+
+	if (centr_l_n != centr_l_o) {
+	    G_warning("Left area/isle old: %d, new: %d", left_o, left_n);
+	    G_warning("Left centroid old: %d, new: %d", centr_l_o, centr_l_n);
+
+	    if (centr_l_o) {
+		int ret1, ret2, ret3;
+
+		Vect_read_line(Out, BPoints, NULL, centr_l_o);
+		Vect_get_area_box(Out, area_l_n, &abox);
+
+		ret1 = (BPoints->x[0] >= abox.W && BPoints->x[0] <= abox.E &&
+		       BPoints->y[0] >= abox.S && BPoints->y[0] <= abox.N);
+
+		ret2 = Vect_point_in_area_outer_ring(BPoints->x[0], BPoints->y[0], Out,
+		                                    area_l_n, &abox);
+
+		Vect_get_area_points(Out, area_l_n, BPoints2);
+		ret3 = Vect_point_in_poly(BPoints->x[0], BPoints->y[0], BPoints2);
+
+		if (ret2 != ret3) {
+		    G_warning("Left old centroid in new area box: %d", ret1);
+		    G_warning("Left old centroid in new area outer ring: %d", ret2);
+		    G_warning("Left old centroid in new area as poly: %d", ret3);
+		}
+	    }
+	}
+	if (centr_r_n != centr_r_o) {
+	    G_warning("Right area/isle old: %d, new: %d", right_o, right_n);
+	    G_warning("Right centroid old: %d, new: %d", centr_r_o, centr_r_n);
+
+	    if (centr_r_o) {
+		int ret1, ret2, ret3;
+
+		Vect_read_line(Out, BPoints, NULL, centr_r_o);
+		Vect_get_area_box(Out, area_r_n, &abox);
+
+		ret1 = (BPoints->x[0] >= abox.W && BPoints->x[0] <= abox.E &&
+		       BPoints->y[0] >= abox.S && BPoints->y[0] <= abox.N);
+
+		ret2 = Vect_point_in_area_outer_ring(BPoints->x[0], BPoints->y[0], Out,
+		                                    area_r_n, &abox);
+
+		Vect_get_area_points(Out, area_r_n, BPoints2);
+		ret3 = Vect_point_in_poly(BPoints->x[0], BPoints->y[0], BPoints2);
+
+		if (ret2 != ret3) {
+		    G_warning("Right old centroid in new area box: %d", ret1);
+		    G_warning("Right old centroid in new area outer ring: %d", ret2);
+		    G_warning("Right old centroid in new area as poly: %d", ret3);
+		}
+	    }
+	}
+
+	/* rewrite old line */
+	newline = Vect_rewrite_line(Out, newline, GV_BOUNDARY, APoints, Cats);
+
+	centr_l_n = centr_r_n = 0;
+	Vect_get_line_areas(Out, newline, &area_l_n, &area_r_n);
+	area = area_l_n;
+	if (area < 0)
+	    area = Vect_get_isle_area(Out, -area);
+	if (area > 0)
+	    centr_l_n = Vect_get_area_centroid(Out, area);
+	area_l_n = area;
+	
+	area = area_r_n;
+	if (area < 0)
+	    area = Vect_get_isle_area(Out, -area);
+	if (area > 0)
+	    centr_r_n = Vect_get_area_centroid(Out, area);
+	area_r_n = area;
+
+	if (centr_l_n != centr_l_o) {
+	    Vect_get_area_box(Out, area_l_n, &areabox);
+	    
+	    if (centr_l_n > 0) {
+		Vect_read_line(Out, BPoints, NULL, centr_l_n);
+		if (Vect_point_in_area(BPoints->x[0], BPoints->y[0], Out,
+		    area_l_n, &areabox)) {
+
+		    G_warning("New left centroid is in new left area %d", area_l_n);
+
+		    G_warning("New left centroid on outer ring: %d",
+		    Vect_point_in_area_outer_ring(BPoints->x[0], BPoints->y[0], Out,
+		    area_l_n, &areabox));
+
+		    G_warning("Best area for new left centroid: %d",
+			      Vect_find_area(Out, BPoints->x[0], BPoints->y[0]));
+		}
+		else
+		    G_warning("New left centroid is not in new left area");
+	    }
+
+	    if (centr_l_o > 0) {
+		Vect_read_line(Out, BPoints, NULL, centr_l_o);
+		if (Vect_point_in_area(BPoints->x[0], BPoints->y[0], Out,
+		    area_l_n, &areabox)) {
+
+		    G_warning("Old left centroid is in new left area %d", area_l_n);
+
+		    G_warning("Old left centroid on outer ring: %d",
+		    Vect_point_in_area_outer_ring(BPoints->x[0], BPoints->y[0], Out,
+		    area_l_n, &areabox));
+
+		    G_warning("Best area for old left centroid: %d",
+			      Vect_find_area(Out, BPoints->x[0], BPoints->y[0]));
+		}
+		else
+		    G_warning("Old left centroid is not in new left area");
+	    }
+
+	    G_fatal_error("Left centroid old %d, restored %d", centr_l_o, centr_l_n);
+	    return 0;
+	}
+	if (centr_r_n != centr_r_o) {
+	    Vect_get_area_box(Out, area_r_n, &areabox);
+
+	    if (centr_r_n > 0) {
+		Vect_read_line(Out, BPoints, NULL, centr_r_n);
+		if (Vect_point_in_area(BPoints->x[0], BPoints->y[0], Out,
+		    area_r_n, &areabox)) {
+
+		    G_warning("New right centroid is in new right area %d", area_r_n);
+
+		    G_warning("New right centroid on outer ring: %d",
+		    Vect_point_in_area_outer_ring(BPoints->x[0], BPoints->y[0], Out,
+		    area_r_n, &areabox));
+
+		    G_warning("Best area for new right centroid: %d",
+			      Vect_find_area(Out, BPoints->x[0], BPoints->y[0]));
+		}
+		else
+		    G_warning("New right centroid is not in new right area");
+	    }
+
+	    if (centr_r_o > 0) {
+		Vect_read_line(Out, BPoints, NULL, centr_r_o);
+		if (Vect_point_in_area(BPoints->x[0], BPoints->y[0], Out,
+		    area_r_n, &areabox)) {
+
+		    G_warning("Old right centroid is in new right area %d", area_r_n);
+
+		    G_warning("Old right centroid on outer ring: %d",
+		    Vect_point_in_area_outer_ring(BPoints->x[0], BPoints->y[0], Out,
+		    area_r_n, &areabox));
+
+		    G_warning("Best area for old right centroid: %d",
+			      Vect_find_area(Out, BPoints->x[0], BPoints->y[0]));
+		}
+		else
+		    G_warning("Old right centroid is not in new right area");
+	    }
+
+	    G_fatal_error("Right centroid old %d, restored %d", centr_r_o, centr_r_n);
+	    return 0;
+	}
+
+	G_fatal_error("Topology check failure");
 	return 0;
     }
+    if (isles_l_o)
+	G_free(isles_l_o);
+    if (isles_r_o)
+	G_free(isles_r_o);
+    if (isles_l_n)
+	G_free(isles_l_n);
+    if (isles_r_n)
+	G_free(isles_r_n);
     
     return 1;
 }
diff --git a/vector/v.generalize/misc.h b/vector/v.generalize/misc.h
index e975f14..fafcb15 100644
--- a/vector/v.generalize/misc.h
+++ b/vector/v.generalize/misc.h
@@ -6,22 +6,23 @@
 /* returns bitmask for all the types specified in type_opt
  * e.g GV_LINE | GV_BOUNDARY
  */
-extern int type_mask(struct Option *type_opt);
+int type_mask(struct Option *type_opt);
 
 /* returns the squared distance and the index of the point furthest
  * from the line segment Points[a], Points[b] such that the
  * index of this points is in [a,b]
  */
-extern int get_furthest(struct line_pnts *Points, int a, int b, int with_z,
+int get_furthest(struct line_pnts *Points, int a, int b, int with_z,
 			double *dist);
 
 /* copy attributes of In which appear in Out */
 /* returns 1 on success, 0 on failure */
-extern int copy_tables_by_cats(struct Map_info *In, struct Map_info *Out);
+int copy_tables_by_cats(struct Map_info *In, struct Map_info *Out);
 
 /* check topology corruption by boundary modification
  * return 0 on corruption, 1 if modification is ok */
 int check_topo(struct Map_info *, int, struct line_pnts *, 
                struct line_pnts *, struct line_cats *);
 
+int set_topo_debug(void);
 #endif
diff --git a/vector/v.generalize/v.generalize.html b/vector/v.generalize/v.generalize.html
index fb8ebef..9b2338d 100644
--- a/vector/v.generalize/v.generalize.html
+++ b/vector/v.generalize/v.generalize.html
@@ -4,11 +4,9 @@
 is a module for the generalization of GRASS vector maps. This module
 consists of algorithms for line simplification, line smoothing,
 network generalization and displacement (new methods may be added later).
-For more examples and nice pictures, see 
-<em><a href="http://users.ox.ac.uk/~orie1848/tutorial.html">tutorial</a><br></em> 
-<p>If <em>type=area</em> is selected, boundaries of selected areas will be 
-generalized, and the options <em>cats</em>, <em>where</em>, and 
-<em>layer</em> will be used to select areas. 
+<p>If <b>type=area</b> is selected, boundaries of selected areas will be 
+generalized, and the options <b>cats</b>, <b>where</b>, and 
+<b>layer</b> will be used to select areas. 
 
 <h2>NOTES</h2>
 (Line) simplification is a process of reducing the complexity of vector 
@@ -326,4 +324,4 @@ Daniel Bundala, Google Summer of Code 2007, Student<br>
 Wolf Bergenheim, Mentor<br>
 Partial rewrite: Markus Metz
 
-<p><i>Last changed: $Date: 2015-02-11 14:31:58 +0100 (Wed, 11 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2016-04-09 01:46:30 -0700 (Sat, 09 Apr 2016) $</i>
diff --git a/vector/v.hull/v.hull.html b/vector/v.hull/v.hull.html
index 8ffd9eb..9cca884 100644
--- a/vector/v.hull/v.hull.html
+++ b/vector/v.hull/v.hull.html
@@ -66,4 +66,4 @@ Markus Neteler, ITC-irst (update to 5.7)<br>
 Benjamin Ducke, CAU Kiel (3D hull support)<br>
 Martin Landa, CTU in Prague, Czech Republic (vector lines support)
 
-<p><i>Last changed: $Date: 2015-01-15 09:43:36 +0100 (Thu, 15 Jan 2015) $</i>
+<p><i>Last changed: $Date: 2015-01-15 00:42:19 -0800 (Thu, 15 Jan 2015) $</i>
diff --git a/vector/v.in.ascii/main.c b/vector/v.in.ascii/main.c
index 3c6256f..d58d176 100644
--- a/vector/v.in.ascii/main.c
+++ b/vector/v.in.ascii/main.c
@@ -99,7 +99,7 @@ int main(int argc, char *argv[])
     
     tdelim_opt = G_define_standard_option(G_OPT_F_SEP);
     tdelim_opt->key = "text";
-    tdelim_opt->label = "text delimiter";
+    tdelim_opt->label = "Text delimiter";
     tdelim_opt->answer = "doublequote";
     tdelim_opt->description = _("Special characters: doublequote, singlequote");
     tdelim_opt->guisection = _("Input format");
diff --git a/vector/v.in.ascii/testsuite/test_csv.py b/vector/v.in.ascii/testsuite/test_csv.py
new file mode 100644
index 0000000..638d18a
--- /dev/null
+++ b/vector/v.in.ascii/testsuite/test_csv.py
@@ -0,0 +1,182 @@
+"""Test v.in.ascii CSV capabilities
+
+:author: Vaclav Petras
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.script.core import read_command
+
+
+INPUT_NOQUOTES = """Id,POINT_X,POINT_Y,Category,ED field estimate
+100,437343.6704,4061363.41525,High Erosion,Low Deposition
+101,453643.127906,4050070.29852,High Erosion,Low Erosion
+102,454903.605427,4049480.80568,High Erosion,High Erosion
+105,437734.838807,4060493.98315,High Erosion,Low Erosion
+107,450833.019732,4048207.02664,High Erosion,Low Erosion
+"""
+
+INPUT_DOUBLEQUOTES = """Id,POINT_X,POINT_Y,Category,"ED field estimate"
+100,437343.6704,4061363.41525,"High Erosion","Low Deposition"
+101,453643.127906,4050070.29852,"High Erosion","Low Erosion"
+102,454903.605427,4049480.80568,"High Erosion","High Erosion"
+105,437734.838807,4060493.98315,"High Erosion","Low Erosion"
+107,450833.019732,4048207.02664,"High Erosion","Low Erosion"
+"""
+
+INPUT_TSV = """Id\tPOINT_X\tPOINT_Y\tCategory\t"ED field estimate"
+100\t437343.6704\t4061363.41525\t"High Erosion"\t"Low Deposition"
+101\t453643.127906\t4050070.29852\t"High Erosion"\t"Low Erosion"
+102\t454903.605427\t4049480.80568\t"High Erosion"\t"High Erosion"
+105\t437734.838807\t4060493.98315\t"High Erosion"\t"Low Erosion"
+107\t450833.019732\t4048207.02664\t"High Erosion"\t"Low Erosion"
+"""
+
+INPUT_UNCOMMON = """Id at POINT_X@POINT_Y at Category@^ED field estimate^
+100 at 437343.6704@4061363.41525@^High Erosion^@^Low Deposition^
+101 at 453643.127906@4050070.29852@^High Erosion^@^Low Erosion^
+102 at 454903.605427@4049480.80568@^High Erosion^@^High Erosion^
+105 at 437734.838807@4060493.98315@^High Erosion^@^Low Erosion^
+107 at 450833.019732@4048207.02664@^High Erosion^@^Low Erosion^
+"""
+
+TABLE_1 = """cat|x|y|ed_cat|field_estimate
+100|437343.6704|4061363.41525|High Erosion|Low Deposition
+101|453643.127906|4050070.29852|High Erosion|Low Erosion
+102|454903.605427|4049480.80568|High Erosion|High Erosion
+105|437734.838807|4060493.98315|High Erosion|Low Erosion
+107|450833.019732|4048207.02664|High Erosion|Low Erosion
+"""
+
+
+class SimpleCsvTestCase(TestCase):
+
+    xyvector = 'yxvetor_test'
+
+    def tearDown(self):
+        """Remove the vector map after each test method"""
+        self.runModule('g.remove', flags='f', type='vector',
+                       name=self.xyvector)
+
+    def test_no_text_delimeter(self):
+        """Test type of resulting map"""
+        self.assertModule(
+            'v.in.ascii', input='-', output=self.xyvector,
+            separator='comma', skip=1, x=2, y=3, cat=1,
+            columns="cat int, x double, y double,"
+                    " ed_cat varchar(20), field_estimate varchar(20)",
+            stdin_=INPUT_NOQUOTES)
+
+        category = read_command('v.db.select', map=self.xyvector,
+                                separator='pipe')
+        self.assertEqual(first=TABLE_1.replace('\n', os.linesep),
+                         second=category,
+                         msg="Attribute table has wrong entries")
+
+    def test_text_delimeter(self):
+        """Test loading CSV with text delimiter
+
+        Text delimiter added in r63581
+        """
+        self.assertModule(
+            'v.in.ascii', input='-', output=self.xyvector,
+            separator='comma', text='doublequote',
+            skip=1, x=2, y=3, cat=1,
+            columns="cat int, x double, y double,"
+                    " ed_cat varchar(20), field_estimate varchar(20)",
+            stdin_=INPUT_DOUBLEQUOTES)
+
+        category = read_command('v.db.select', map=self.xyvector,
+                                separator='pipe')
+        self.assertEqual(first=TABLE_1.replace('\n', os.linesep),
+                         second=category,
+                         msg="Attribute table has wrong entries")
+        # TODO: a general method to compare attribute tables? (might need to solve because of floats)
+        # TODO: standardize string strip? perhaps discourage, it messes up the diff
+        # TODO: use replace solution for newlines in lib (compare to current one)
+
+    def test_tsv(self):
+        """Test loading TSV (CSV with tab as delim)
+
+        Using double quote character for quote.
+        """
+        self.assertModule(
+            'v.in.ascii', input='-', output=self.xyvector,
+            separator='tab', text='"',
+            skip=1, x=2, y=3, cat=1,
+            columns="cat int, x double, y double,"
+                    " ed_cat varchar(20), field_estimate varchar(20)",
+            stdin_=INPUT_TSV)
+
+        category = read_command('v.db.select', map=self.xyvector,
+                                separator='pipe')
+        self.assertEqual(first=TABLE_1.replace('\n', os.linesep),
+                         second=category,
+                         msg="Attribute table has wrong entries")
+
+    def test_uncommon_delims(self):
+        """Test loading CSV with uncommon delimiters"""
+        self.assertModule(
+            'v.in.ascii', input='-', output=self.xyvector,
+            separator='@', text='^',
+            skip=1, x=2, y=3, cat=1,
+            columns="cat int, x double, y double,"
+                    " ed_cat varchar(20), field_estimate varchar(20)",
+            stdin_=INPUT_UNCOMMON)
+
+        category = read_command('v.db.select', map=self.xyvector,
+                                separator='pipe')
+        self.assertEqual(first=TABLE_1.replace('\n', os.linesep),
+                         second=category,
+                         msg="Attribute table has wrong entries")
+
+
+INPUT_DELIM_IN_TEXT = """Id,POINT_X,POINT_Y,Category,"ED field estimate"
+100,437343.6704,4061363.41525,"High Erosion, Low Canopy","Low Deposition, Low Canopy"
+101,453643.127906,4050070.29852,"High Erosion, High Canopy","Low Erosion, Low Canopy"
+102,454903.605427,4049480.80568,"High Erosion, High Canopy","High Erosion, Low Canopy"
+105,437734.838807,4060493.98315,"High Erosion, Low Canopy","Low Erosion, High Canopy"
+107,450833.019732,4048207.02664,"High Erosion, Low Canopy","Low Erosion, High Canopy"
+"""
+
+TABLE_2 = """cat|x|y|ed_cat|field_estimate
+100|437343.6704|4061363.41525|High Erosion, Low Canopy|Low Deposition, Low Canopy
+101|453643.127906|4050070.29852|High Erosion, High Canopy|Low Erosion, Low Canopy
+102|454903.605427|4049480.80568|High Erosion, High Canopy|High Erosion, Low Canopy
+105|437734.838807|4060493.98315|High Erosion, Low Canopy|Low Erosion, High Canopy
+107|450833.019732|4048207.02664|High Erosion, Low Canopy|Low Erosion, High Canopy
+"""
+
+
+class AdvancedCsvTestCase(TestCase):
+
+    xyvector = 'yxvetor_test'
+
+    def tearDown(self):
+        """Remove the vector map after each test method"""
+        self.runModule('g.remove', flags='f', type='vector',
+                       name=self.xyvector)
+
+    def test_delimeter_in_text(self):
+        """Test loading CSV with delimiter in text
+
+        Text delimiter added in r63581
+        """
+        self.assertModule(
+            'v.in.ascii', input='-', output=self.xyvector,
+            separator='comma', text='doublequote',
+            skip=1, x=2, y=3, cat=1,
+            columns="cat int, x double, y double,"
+                    " ed_cat varchar(40), field_estimate varchar(40)",
+            stdin_=INPUT_DELIM_IN_TEXT)
+
+        category = read_command('v.db.select', map=self.xyvector,
+                                separator='pipe')
+        self.assertEqual(first=TABLE_2.replace('\n', os.linesep),
+                         second=category,
+                         msg="Attribute table has wrong entries")
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.in.ascii/v.in.ascii.html b/vector/v.in.ascii/v.in.ascii.html
index 1eaefa0..c8ff5b6 100644
--- a/vector/v.in.ascii/v.in.ascii.html
+++ b/vector/v.in.ascii/v.in.ascii.html
@@ -231,7 +231,7 @@ The import works for 2D maps as well (no elev column and no '-z' flag).
 Generate a 3D points vector map 'points3d.dat' with attributes as ASCII file:
 <div class="code"><pre>
 593493.1|4914730.2|123.1|studna|well
-591950.2|4923000.5|222.3|kadibudka|closet
+591950.2|4923000.5|222.3|kadibudka|outhouse
 589860.5|4922000.0|232.3|hruska|pear
 590400.5|4922820.8|143.2|mysi dira|mouse hole
 593549.3|4925500.7|442.6|mineralni pramen|mineral spring
@@ -306,4 +306,4 @@ James Westervelt, U.S.Army Construction Engineering
 Research Laboratory<br>
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2016-01-13 10:20:46 +0100 (Wed, 13 Jan 2016) $</i>
+<p><i>Last changed: $Date: 2016-01-13 01:18:55 -0800 (Wed, 13 Jan 2016) $</i>
diff --git a/vector/v.in.db/v.in.db.html b/vector/v.in.db/v.in.db.html
index e5790a4..b42c3f5 100644
--- a/vector/v.in.db/v.in.db.html
+++ b/vector/v.in.db/v.in.db.html
@@ -149,4 +149,4 @@ Radim Blazek<br>
 Various updates for GRASS 7 by Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-10-01 12:24:08 +0200 (Thu, 01 Oct 2015) $</i>
+<i>Last changed: $Date: 2015-10-01 03:23:08 -0700 (Thu, 01 Oct 2015) $</i>
diff --git a/vector/v.in.dwg/v.in.dwg.html b/vector/v.in.dwg/v.in.dwg.html
index cd07c91..abda91d 100644
--- a/vector/v.in.dwg/v.in.dwg.html
+++ b/vector/v.in.dwg/v.in.dwg.html
@@ -31,4 +31,4 @@ Then you can compile this module.
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.in.dxf/v.in.dxf.html b/vector/v.in.dxf/v.in.dxf.html
index 0dc1e7c..9a3e225 100644
--- a/vector/v.in.dxf/v.in.dxf.html
+++ b/vector/v.in.dxf/v.in.dxf.html
@@ -69,4 +69,4 @@ US Army Construction Engineering Research Lab
 <p>Updated for GRASS 6 and 3D support. Huidae Cho, 3/2006<br>
 With minor additions by Benjamin Ducke (Oxford Archaeology), 4/2009
 
-<p><i>Last changed: $Date: 2013-02-15 23:08:41 +0100 (Fri, 15 Feb 2013) $</i>
+<p><i>Last changed: $Date: 2013-02-15 14:08:41 -0800 (Fri, 15 Feb 2013) $</i>
diff --git a/vector/v.in.lidar/attributes.c b/vector/v.in.lidar/attributes.c
new file mode 100644
index 0000000..ab67815
--- /dev/null
+++ b/vector/v.in.lidar/attributes.c
@@ -0,0 +1,242 @@
+/*
+ * attribute handling
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (v.in.lidar)
+ *  Vaclav Petras (move code to standalone functions)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#include <liblas/capi/liblas.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+#include <grass/vector.h>
+#include <grass/dbmi.h>
+
+#include "lidar.h"
+
+/*
+ * Caller must execute
+ * db_commit_transaction(driver);
+ * db_close_database_shutdown_driver(driver);
+ * when done.
+ */
+void create_table_for_lidar(struct Map_info *vector_map, const char *name,
+                            int layer, dbDriver ** db_driver,
+                            struct field_info **finfo, int have_time,
+                            int have_color)
+{
+    char buf[2000];
+    dbString sql;
+
+    db_init_string(&sql);
+
+    char *cat_col_name = GV_KEY_COLUMN;
+
+    struct field_info *Fi = Vect_default_field_info(vector_map, layer,
+                                                    NULL, GV_1TABLE);
+
+    Vect_map_add_dblink(vector_map, layer, name, Fi->table,
+                        cat_col_name, Fi->database, Fi->driver);
+
+    /* check available LAS info, depends on POINT DATA RECORD FORMAT [0-5] */
+    /* X (double),
+     * Y (double),
+     * Z (double),
+     * intensity (double),
+     * return number (int),
+     * number of returns (int),
+     * scan direction (int),
+     * flight line edge (int),
+     * classification type (char),
+     * class (char),
+     * time (double) (FORMAT 1, 3, 4, 5),
+     * scan angle rank (int),
+     * source ID (int),
+     * user data (char), ???
+     * red (int)  (FORMAT 2, 3, 5),
+     * green (int) (FORMAT 2, 3, 5),
+     * blue (int) (FORMAT 2, 3, 5)*/
+
+    /* Create table */
+    sprintf(buf, "create table %s (%s integer", Fi->table, cat_col_name);
+    db_set_string(&sql, buf);
+
+    /* x, y, z */
+    sprintf(buf, ", x_coord double precision");
+    db_append_string(&sql, buf);
+    sprintf(buf, ", y_coord double precision");
+    db_append_string(&sql, buf);
+    sprintf(buf, ", z_coord double precision");
+    db_append_string(&sql, buf);
+    /* intensity */
+    sprintf(buf, ", intensity integer");
+    db_append_string(&sql, buf);
+    /* return number */
+    sprintf(buf, ", return integer");
+    db_append_string(&sql, buf);
+    /* number of returns */
+    sprintf(buf, ", n_returns integer");
+    db_append_string(&sql, buf);
+    /* scan direction */
+    sprintf(buf, ", scan_dir integer");
+    db_append_string(&sql, buf);
+    /* flight line edge */
+    sprintf(buf, ", edge integer");
+    db_append_string(&sql, buf);
+    /* classification type */
+    sprintf(buf, ", cl_type varchar(20)");
+    db_append_string(&sql, buf);
+    /* classification class */
+    sprintf(buf, ", class varchar(40)");
+    db_append_string(&sql, buf);
+    /* GPS time */
+    if (have_time) {
+        sprintf(buf, ", gps_time double precision");
+        db_append_string(&sql, buf);
+    }
+    /* scan angle */
+    sprintf(buf, ", angle integer");
+    db_append_string(&sql, buf);
+    /* source id */
+    sprintf(buf, ", src_id integer");
+    db_append_string(&sql, buf);
+    /* user data */
+    sprintf(buf, ", usr_data integer");
+    db_append_string(&sql, buf);
+    /* colors */
+    if (have_color) {
+        sprintf(buf, ", red integer, green integer, blue integer");
+        db_append_string(&sql, buf);
+        sprintf(buf, ", GRASSRGB varchar(11)");
+        db_append_string(&sql, buf);
+    }
+
+    db_append_string(&sql, ")");
+    G_debug(3, "%s", db_get_string(&sql));
+
+    dbDriver *driver = db_start_driver_open_database(Fi->driver,
+                                                     Vect_subst_var
+                                                     (Fi->database,
+                                                      vector_map));
+
+    if (driver == NULL) {
+        G_fatal_error(_("Unable open database <%s> by driver <%s>"),
+                      Vect_subst_var(Fi->database, vector_map), Fi->driver);
+    }
+    db_set_error_handler_driver(driver);
+
+    if (db_execute_immediate(driver, &sql) != DB_OK) {
+        G_fatal_error(_("Unable to create table: '%s'"), db_get_string(&sql));
+    }
+
+    if (db_create_index2(driver, Fi->table, cat_col_name) != DB_OK)
+        G_warning(_("Unable to create index for table <%s>, key <%s>"),
+                  Fi->table, cat_col_name);
+
+    if (db_grant_on_table
+        (driver, Fi->table, DB_PRIV_SELECT, DB_GROUP | DB_PUBLIC) != DB_OK)
+        G_fatal_error(_("Unable to grant privileges on table <%s>"),
+                      Fi->table);
+
+    db_begin_transaction(driver);
+
+    *db_driver = driver;
+    *finfo = Fi;
+}
+
+
+void las_point_to_attributes(struct field_info *Fi, dbDriver * driver,
+                             int cat, LASPointH LAS_point, double x,
+                             double y, double z, int have_time,
+                             int have_color)
+{
+    static char buf[2000];
+    static dbString sql;
+
+    /* unfortunately we have to do allocation every time because
+     * we need to clean the string the first time
+     * if desired, we could rely on static variable being initialized
+     * to 0 (at least C99) which is what the function is currently doing */
+    db_init_string(&sql);
+
+    char class_flag;
+    int las_class_type, las_class;
+
+    /* use LASPoint_Validate (LASPointH hPoint) to check for
+     * return number, number of returns, scan direction, flight line edge,
+     * classification, scan angle rank */
+    sprintf(buf, "insert into %s values ( %d", Fi->table, cat);
+    db_set_string(&sql, buf);
+
+    /* x, y, z */
+    sprintf(buf, ", %f", x);
+    db_append_string(&sql, buf);
+    sprintf(buf, ", %f", y);
+    db_append_string(&sql, buf);
+    sprintf(buf, ", %f", z);
+    db_append_string(&sql, buf);
+    /* intensity */
+    sprintf(buf, ", %d", LASPoint_GetIntensity(LAS_point));
+    db_append_string(&sql, buf);
+    /* return number */
+    sprintf(buf, ", %d", LASPoint_GetReturnNumber(LAS_point));
+    db_append_string(&sql, buf);
+    /* number of returns */
+    sprintf(buf, ",  %d", LASPoint_GetNumberOfReturns(LAS_point));
+    db_append_string(&sql, buf);
+    /* scan direction */
+    sprintf(buf, ", %d", LASPoint_GetScanDirection(LAS_point));
+    db_append_string(&sql, buf);
+    /* flight line edge */
+    sprintf(buf, ",  %d", LASPoint_GetFlightLineEdge(LAS_point));
+    db_append_string(&sql, buf);
+    class_flag = LASPoint_GetClassification(LAS_point);
+    /* classification type int or char ? */
+    las_class_type = class_flag / 32;
+    sprintf(buf, ", \'%s\'", class_type[las_class_type].name);
+    db_append_string(&sql, buf);
+    /* classification class int or char ? */
+    las_class = class_flag % 32;
+    if (las_class > 13)
+        las_class = 13;
+    sprintf(buf, ", \'%s\'", class_val[las_class].name);
+    db_append_string(&sql, buf);
+    /* GPS time */
+    if (have_time) {
+        sprintf(buf, ", %f", LASPoint_GetTime(LAS_point));
+        db_append_string(&sql, buf);
+    }
+    /* scan angle */
+    sprintf(buf, ", %d", LASPoint_GetScanAngleRank(LAS_point));
+    db_append_string(&sql, buf);
+    /* source id */
+    sprintf(buf, ", %d", LASPoint_GetPointSourceId(LAS_point));
+    db_append_string(&sql, buf);
+    /* user data */
+    sprintf(buf, ", %d", LASPoint_GetUserData(LAS_point));
+    db_append_string(&sql, buf);
+    /* colors */
+    if (have_color) {
+        LASColorH LAS_color = LASPoint_GetColor(LAS_point);
+        int red = LASColor_GetRed(LAS_color);
+        int green = LASColor_GetGreen(LAS_color);
+        int blue = LASColor_GetBlue(LAS_color);
+
+        sprintf(buf, ", %d, %d, %d", red, green, blue);
+        db_append_string(&sql, buf);
+        sprintf(buf, ", \"%03d:%03d:%03d\"", red, green, blue);
+        db_append_string(&sql, buf);
+    }
+    db_append_string(&sql, " )");
+    G_debug(3, "%s", db_get_string(&sql));
+
+    if (db_execute_immediate(driver, &sql) != DB_OK) {
+        G_fatal_error(_("Cannot insert new row: %s"), db_get_string(&sql));
+    }
+}
diff --git a/vector/v.in.lidar/attributes.h b/vector/v.in.lidar/attributes.h
new file mode 100644
index 0000000..5c491c5
--- /dev/null
+++ b/vector/v.in.lidar/attributes.h
@@ -0,0 +1,32 @@
+
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      projection related functions
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef GRASS_LIDAR_TO_ATTRIBUTES_H
+#define GRASS_LIDAR_TO_ATTRIBUTES_H
+
+struct field_info;
+struct dbDriver;                /* TODO: is this correct forward declaration? */
+
+void create_table_for_lidar(struct Map_info *vector_map, const char *name,
+                            int layer, dbDriver ** db_driver,
+                            struct field_info **finfo, int have_time,
+                            int have_color);
+
+void las_point_to_attributes(struct field_info *Fi, dbDriver * driver,
+                             int cat, LASPointH LAS_point, double x,
+                             double y, double z, int have_time,
+                             int have_color);
+
+#endif /* GRASS_LIDAR_TO_ATTRIBUTES_H */
diff --git a/vector/v.in.lidar/count_decimation.c b/vector/v.in.lidar/count_decimation.c
new file mode 100644
index 0000000..6c5fc36
--- /dev/null
+++ b/vector/v.in.lidar/count_decimation.c
@@ -0,0 +1,134 @@
+/****************************************************************************
+ *
+ * MODULE:       v.decimate
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      Reduce the number of points in a vector map
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+/* TODO: change int */
+/* TODO: revise names */
+
+#include "count_decimation.h"
+
+#include <grass/gis.h>
+
+#include <stdlib.h>
+
+
+void count_decimation_init(struct CountDecimationControl *control,
+                           int *skip, int *preserve,
+                           int *offset, int *limit)
+{
+    control->skip_every = 0;
+    control->preserve_every = 0;
+    /* counter used by both but that's ok, skip and preserve are exclusive */
+    control->every_counter = 0;
+    control->n_count_filtered = 0;
+    control->offset_n = 0;
+    control->offset_n_counter = 0;
+    control->limit_n = 0;
+    control->limit_n_counter = 0;
+    if (skip)
+        control->skip_every = *skip;
+    if (preserve)
+        control->preserve_every = *preserve;
+    if (offset)
+        control->offset_n = *offset;
+    if (limit)
+        control->limit_n = *limit;
+}
+
+
+int count_decimation_is_valid(struct CountDecimationControl *control)
+{
+    if (control->skip_every == 1)
+        return FALSE;
+    if (control->skip_every && control->preserve_every > 1)
+        return FALSE;
+    return TRUE;
+}
+
+
+int count_decimation_is_noop(struct CountDecimationControl *control)
+{
+    if (control->skip_every < 2 && control->preserve_every < 2
+            && !control->offset_n && !control->limit_n)
+        return TRUE;
+    return FALSE;
+}
+
+void count_decimation_init_from_str(struct CountDecimationControl *control,
+                                    const char *skip, const char *preserve,
+                                    const char *offset, const char *limit)
+{
+    control->skip_every = 0;
+    control->preserve_every = 0;
+    control->every_counter = 0;
+    control->n_count_filtered = 0;
+    control->offset_n = 0;
+    control->offset_n_counter = 0;
+    control->limit_n = 0;
+    control->limit_n_counter = 0;
+    /* TODO: atoi is probably not appropriate */
+    if (skip)
+        control->skip_every = atoi(skip);
+    if (preserve)
+        control->preserve_every = atoi(preserve);
+    if (offset)
+        control->offset_n = atoi(offset);
+    if (limit)
+        control->limit_n = atoi(limit);
+}
+
+
+/* TODO: eliminate noop cases */
+int count_decimation_is_out(struct CountDecimationControl *control)
+{
+    if (control->offset_n) {
+        if (control->offset_n_counter < control->offset_n) {
+            control->offset_n_counter++;
+            return TRUE;
+        }
+        else {
+            control->offset_n = 0;  /* disable offset check */
+        }
+    }
+    if (control->skip_every) {
+        control->every_counter++;
+        if (control->every_counter == control->skip_every) {
+            control->n_count_filtered++;
+            control->every_counter = 0;
+            return TRUE;
+        }
+    }
+    else if (control->preserve_every) {
+        control->every_counter++;
+        if (control->every_counter == control->preserve_every) {
+            control->every_counter = 0;
+        }
+        else {
+            control->n_count_filtered++;
+            return TRUE;
+        }
+    }
+    return FALSE;
+}
+
+
+int count_decimation_is_end(struct CountDecimationControl *control)
+{
+    if (control->limit_n) {
+        control->limit_n_counter++;
+        /* this matches the last successfully imported point */
+        if (control->limit_n_counter == control->limit_n)
+            return TRUE;
+    }
+    return FALSE;
+}
diff --git a/vector/v.in.lidar/count_decimation.h b/vector/v.in.lidar/count_decimation.h
new file mode 100644
index 0000000..19e21c6
--- /dev/null
+++ b/vector/v.in.lidar/count_decimation.h
@@ -0,0 +1,54 @@
+/****************************************************************************
+ *
+ * MODULE:       v.decimate
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      Reduce the number of points in a vector map
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef GRASS_COUNT_DECIMATION_H
+#define GRASS_COUNT_DECIMATION_H
+
+/* TODO: change int to ul/ull */
+/* TODO: revise names (now partially on some vars in v.in.lidar code) */
+
+struct CountDecimationControl {
+#ifdef HAVE_LONG_LONG_INT
+    unsigned long long offset_n;
+    unsigned long long offset_n_counter;
+    unsigned long long skip_every;
+    unsigned long long preserve_every;
+    unsigned long long every_counter;
+    unsigned long long n_count_filtered;
+    unsigned long long limit_n;
+    unsigned long long limit_n_counter;
+#else
+    unsigned long offset_n;
+    unsigned long offset_n_counter;
+    unsigned long skip_every;
+    unsigned long preserve_every;
+    unsigned long every_counter;
+    unsigned long n_count_filtered;
+    unsigned long limit_n;
+    unsigned long limit_n_counter;
+#endif
+};
+
+void count_decimation_init(struct CountDecimationControl *control,
+                           int *skip, int *preserve,
+                           int *offset, int *limit);
+int count_decimation_is_valid(struct CountDecimationControl *control);
+int count_decimation_is_noop(struct CountDecimationControl *control);
+void count_decimation_init_from_str(struct CountDecimationControl *control,
+                                    const char *skip, const char *preserve,
+                                    const char *offset, const char *limit);
+int count_decimation_is_out(struct CountDecimationControl *control);
+int count_decimation_is_end(struct CountDecimationControl *control);
+
+#endif /* GRASS_COUNT_DECIMATION_H */
diff --git a/vector/v.in.lidar/filters.c b/vector/v.in.lidar/filters.c
new file mode 100644
index 0000000..12b84e3
--- /dev/null
+++ b/vector/v.in.lidar/filters.c
@@ -0,0 +1,89 @@
+/*
+ * v.in.lidar filtering functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to a separate files)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+
+#include "filters.h"
+
+#include "lidar.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+void return_filter_create_from_string(struct ReturnFilter *return_filter,
+                                      const char *name)
+{
+    return_filter->filter = LAS_ALL;
+    if (name) {
+        if (strcmp(name, "first") == 0)
+            return_filter->filter = LAS_FIRST;
+        else if (strcmp(name, "last") == 0)
+            return_filter->filter = LAS_LAST;
+        else if (strcmp(name, "mid") == 0)
+            return_filter->filter = LAS_MID;
+        else
+            G_fatal_error(_("Unknown return filter value <%s>"), name);
+    }
+}
+
+int return_filter_is_out(struct ReturnFilter *return_filter, int return_n,
+                         int n_returns)
+{
+    if (return_filter->filter == LAS_ALL)
+        return FALSE;
+    int skipme = 1;
+
+    switch (return_filter->filter) {
+    case LAS_FIRST:
+        if (return_n == 1)
+            skipme = 0;
+        break;
+    case LAS_MID:
+        if (return_n > 1 && return_n < n_returns)
+            skipme = 0;
+        break;
+    case LAS_LAST:
+        if (n_returns > 1 && return_n == n_returns)
+            skipme = 0;
+        break;
+    }
+    if (skipme)
+        return TRUE;
+    return FALSE;
+}
+
+void class_filter_create_from_strings(struct ClassFilter *class_filter,
+                                      char **classes)
+{
+    class_filter->str_classes = classes;
+}
+
+int class_filter_is_out(struct ClassFilter *class_filter, int class_n)
+{
+    if (!class_filter->str_classes)
+        return FALSE;
+    int i = 0;
+    int skipme = TRUE;
+
+    while (class_filter->str_classes[i]) {
+        if (class_n == atoi(class_filter->str_classes[i])) {
+            skipme = FALSE;
+            break;
+        }
+        i++;
+    }
+    if (skipme)
+        return TRUE;
+    return FALSE;
+}
diff --git a/vector/v.in.lidar/filters.h b/vector/v.in.lidar/filters.h
new file mode 100644
index 0000000..644cc29
--- /dev/null
+++ b/vector/v.in.lidar/filters.h
@@ -0,0 +1,37 @@
+/*
+ * v.in.lidar filtering functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to a separate files)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#ifndef __FILTERS_H__
+#define __FILTERS_H__
+
+struct ReturnFilter
+{
+    int filter;
+};
+
+struct ClassFilter
+{
+
+    /** NULL terminated list of class numbers represented as string */
+    char **str_classes;
+};
+
+void return_filter_create_from_string(struct ReturnFilter *return_filter,
+                                      const char *name);
+int return_filter_is_out(struct ReturnFilter *return_filter, int return_n,
+                         int n_returns);
+void class_filter_create_from_strings(struct ClassFilter *class_filter,
+                                      char **classes);
+int class_filter_is_out(struct ClassFilter *class_filter, int class_n);
+
+#endif /* __FILTERS_H__ */
diff --git a/vector/v.in.lidar/info.c b/vector/v.in.lidar/info.c
new file mode 100644
index 0000000..fff989d
--- /dev/null
+++ b/vector/v.in.lidar/info.c
@@ -0,0 +1,89 @@
+/*
+ * v.in.lidar projection-related functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (v.in.lidar)
+ *  Vaclav Petras (move functions to a file)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#include <string.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+#include <grass/gprojects.h>
+
+#include "info.h"
+
+void print_lasinfo(LASHeaderH LAS_header, LASSRSH LAS_srs)
+{
+    char *las_srs_proj4 = LASSRS_GetProj4(LAS_srs);
+    int las_point_format = LASHeader_GetDataFormatId(LAS_header);
+
+    fprintf(stdout, "\nUsing LAS Library Version '%s'\n\n",
+            LAS_GetFullVersion());
+    fprintf(stdout, "LAS File Version:                  %d.%d\n",
+            LASHeader_GetVersionMajor(LAS_header),
+            LASHeader_GetVersionMinor(LAS_header));
+    fprintf(stdout, "System ID:                         '%s'\n",
+            LASHeader_GetSystemId(LAS_header));
+    fprintf(stdout, "Generating Software:               '%s'\n",
+            LASHeader_GetSoftwareId(LAS_header));
+    fprintf(stdout, "File Creation Day/Year:            %d/%d\n",
+            LASHeader_GetCreationDOY(LAS_header),
+            LASHeader_GetCreationYear(LAS_header));
+    fprintf(stdout, "Point Data Format:                 %d\n",
+            las_point_format);
+    fprintf(stdout, "Number of Point Records:           %d\n",
+            LASHeader_GetPointRecordsCount(LAS_header));
+    fprintf(stdout, "Number of Points by Return:        %d %d %d %d %d\n",
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 0),
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 1),
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 2),
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 3),
+            LASHeader_GetPointRecordsByReturnCount(LAS_header, 4));
+    fprintf(stdout, "Scale Factor X Y Z:                %g %g %g\n",
+            LASHeader_GetScaleX(LAS_header),
+            LASHeader_GetScaleY(LAS_header), LASHeader_GetScaleZ(LAS_header));
+    fprintf(stdout, "Offset X Y Z:                      %g %g %g\n",
+            LASHeader_GetOffsetX(LAS_header),
+            LASHeader_GetOffsetY(LAS_header),
+            LASHeader_GetOffsetZ(LAS_header));
+    fprintf(stdout, "Min X Y Z:                         %g %g %g\n",
+            LASHeader_GetMinX(LAS_header),
+            LASHeader_GetMinY(LAS_header), LASHeader_GetMinZ(LAS_header));
+    fprintf(stdout, "Max X Y Z:                         %g %g %g\n",
+            LASHeader_GetMaxX(LAS_header),
+            LASHeader_GetMaxY(LAS_header), LASHeader_GetMaxZ(LAS_header));
+    if (las_srs_proj4 && strlen(las_srs_proj4) > 0) {
+        fprintf(stdout, "Spatial Reference:\n");
+        fprintf(stdout, "%s\n", las_srs_proj4);
+    }
+    else {
+        fprintf(stdout, "Spatial Reference:                 None\n");
+    }
+
+    fprintf(stdout, "\nData Fields:\n");
+    fprintf(stdout,
+            "  'X'\n  'Y'\n  'Z'\n  'Intensity'\n  'Return Number'\n");
+    fprintf(stdout, "  'Number of Returns'\n  'Scan Direction'\n");
+    fprintf(stdout,
+            "  'Flighline Edge'\n  'Classification'\n  'Scan Angle Rank'\n");
+    fprintf(stdout, "  'User Data'\n  'Point Source ID'\n");
+    if (las_point_format == 1 || las_point_format == 3 ||
+        las_point_format == 4 || las_point_format == 5) {
+        fprintf(stdout, "  'GPS Time'\n");
+    }
+    if (las_point_format == 2 || las_point_format == 3 ||
+        las_point_format == 5) {
+        fprintf(stdout, "  'Red'\n  'Green'\n  'Blue'\n");
+    }
+    fprintf(stdout, "\n");
+    fflush(stdout);
+
+    return;
+}
diff --git a/vector/v.in.lidar/info.h b/vector/v.in.lidar/info.h
new file mode 100644
index 0000000..0cdeeca
--- /dev/null
+++ b/vector/v.in.lidar/info.h
@@ -0,0 +1,21 @@
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      projection related functions
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+#include <liblas/capi/liblas.h>
+
+#ifndef LIDAR_INFO_H
+#define LIDAR_INFO_H
+
+void print_lasinfo(LASHeaderH LAS_header, LASSRSH LAS_srs);
+
+#endif /* LIDAR_INFO_H */
diff --git a/vector/v.in.lidar/lidar.c b/vector/v.in.lidar/lidar.c
new file mode 100644
index 0000000..711136e
--- /dev/null
+++ b/vector/v.in.lidar/lidar.c
@@ -0,0 +1,41 @@
+
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      common lidar-related definitions
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#include "lidar.h"
+
+struct class_table class_val[] = {
+    {0, "Created, never classified"},
+    {1, "Unclassified"},
+    {2, "Ground"},
+    {3, "Low Vegetation"},
+    {4, "Medium Vegetation"},
+    {5, "High Vegetation"},
+    {6, "Building"},
+    {7, "Low Point (noise)"},
+    {8, "Model Key-point (mass point)"},
+    {9, "Water"},
+    {10, "Reserved for ASPRS Definition"},
+    {11, "Reserved for ASPRS Definition"},
+    {12, "Overlap Points"},
+    {13 /* 13 - 31 */ , "Reserved for ASPRS Definition"},
+    {0, 0}
+};
+
+struct class_table class_type[] = {
+    {5, "Synthetic"},
+    {6, "Key-point"},
+    {7, "Withheld"},
+    {0, 0}
+};
diff --git a/vector/v.in.lidar/lidar.h b/vector/v.in.lidar/lidar.h
new file mode 100644
index 0000000..cfdd042
--- /dev/null
+++ b/vector/v.in.lidar/lidar.h
@@ -0,0 +1,69 @@
+
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      common lidar-related definitions
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef GRASS_LIDAR_H
+#define GRASS_LIDAR_H
+
+#define LAS_ALL 0
+#define LAS_FIRST 1
+#define LAS_LAST 2
+#define LAS_MID 3
+
+/*
+ * ASPRS Standard LIDAR Point Classes
+ * Classification Value (bits 0:4) : Meaning
+ *      0 : Created, never classified
+ *      1 : Unclassified
+ *      2 : Ground
+ *      3 : Low Vegetation
+ *      4 : Medium Vegetation
+ *      5 : High Vegetation
+ *      6 : Building
+ *      7 : Low Point (noise)
+ *      8 : Model Key-point (mass point)
+ *      9 : Water
+ *     10 : Reserved for ASPRS Definition
+ *     11 : Reserved for ASPRS Definition
+ *     12 : Overlap Points
+ *  13-31 : Reserved for ASPRS Definition
+ */
+
+/* Classification Bit Field Encoding
+ * Bits | Field Name     | Description
+ *  0-4 | Classification | Standard ASPRS classification as defined in the
+ *                         above classification table.
+ *    5 | Synthetic      | If set then this point was created by a technique
+ *                         other than LIDAR collection such as digitized from
+ *                         a photogrammetric stereo model or by traversing
+ *                         a waveform.
+ *    6 | Key-point      | If set, this point is considered to be a model
+ *                         key-point and thus generally should not be withheld
+ *                         in a thinning algorithm.
+ *    7 | Withheld       | If set, this point should not be included in
+ *                         processing (synonymous with Deleted).
+ */
+
+/* keep the comments above in sync with the .c file */
+
+struct class_table
+{
+    int code;
+    char *name;
+};
+
+extern struct class_table class_val[];
+extern struct class_table class_type[];
+
+#endif /* GRASS_LIDAR_H */
diff --git a/vector/v.in.lidar/main.c b/vector/v.in.lidar/main.c
index f4cd4cf..d7765ba 100644
--- a/vector/v.in.lidar/main.c
+++ b/vector/v.in.lidar/main.c
@@ -4,19 +4,17 @@
  * MODULE:       v.in.lidar
  *
  * AUTHOR(S):    Markus Metz
+ *               Vaclav Petras (decimation, cats, areas, zrange)
  *               based on v.in.ogr
  *
  * PURPOSE:      Import LiDAR LAS points
  *
- * COPYRIGHT:    (C) 2011-2014 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2011-2015 by the GRASS Development Team
  *
  *               This program is free software under the
  *               GNU General Public License (>=v2).
  *               Read the file COPYING that comes with GRASS
  *               for details.
- *
- * TODO: - make fixed field length of OFTIntegerList dynamic
- *       - several other TODOs below
 **************************************************************/
 
 #include <stdlib.h>
@@ -29,82 +27,19 @@
 #include <grass/glocale.h>
 #include <liblas/capi/liblas.h>
 
+#include "count_decimation.h"
+#include "projection.h"
+#include "lidar.h"
+#include "attributes.h"
+#include "info.h"
+#include "vector_mask.h"
+#include "filters.h"
+
 #ifndef MAX
 #  define MIN(a,b)      ((a<b) ? a : b)
 #  define MAX(a,b)      ((a>b) ? a : b)
 #endif
 
-#define LAS_ALL 0
-#define LAS_FIRST 1
-#define LAS_LAST 2
-#define LAS_MID 3
-
-/*
- * ASPRS Standard LIDAR Point Classes
- * Classification Value (bits 0:4) : Meaning
- *      0 : Created, never classified
- *      1 : Unclassified
- *      2 : Ground
- *      3 : Low Vegetation
- *      4 : Medium Vegetation
- *      5 : High Vegetation
- *      6 : Building
- *      7 : Low Point (noise)
- *      8 : Model Key-point (mass point)
- *      9 : Water
- *     10 : Reserved for ASPRS Definition
- *     11 : Reserved for ASPRS Definition
- *     12 : Overlap Points
- *  13-31 : Reserved for ASPRS Definition
- */
-
-/* Classification Bit Field Encoding
- * Bits | Field Name     | Description
- *  0-4 | Classification | Standard ASPRS classification as defined in the
- *                         above classification table.
- *    5 | Synthetic      | If set then this point was created by a technique
- *                         other than LIDAR collection such as digitized from
- *	                   a photogrammetric stereo model or by traversing
- *                         a waveform.
- *    6 | Key-point      | If set, this point is considered to be a model 
- *                         key-point and thus generally should not be withheld
- *                         in a thinning algorithm.
- *    7 | Withheld       | If set, this point should not be included in
- *                         processing (synonymous with Deleted).
-*/
-
-struct class_table
-{
-    int code;
-    char *name;
-};
-
-static struct class_table class_val[] = {
-    {0, "Created, never classified"},
-    {1, "Unclassified"},
-    {2, "Ground"},
-    {3, "Low Vegetation"},
-    {4, "Medium Vegetation"},
-    {5, "High Vegetation"},
-    {6, "Building"},
-    {7, "Low Point (noise)"},
-    {8, "Model Key-point (mass point)"},
-    {9, "Water"},
-    {10, "Reserved for ASPRS Definition"},
-    {11, "Reserved for ASPRS Definition"},
-    {12, "Overlap Points"},
-    {13 /* 13 - 31 */, "Reserved for ASPRS Definition"},
-    {0, 0}
-};
-
-static struct class_table class_type[] = {
-    {5, "Synthetic"},
-    {6, "Key-point"},
-    {7, "Withheld"},
-    {0, 0}
-};
-
-void print_lasinfo(LASHeaderH LAS_header, LASSRSH LAS_srs);
 
 int main(int argc, char *argv[])
 {
@@ -112,9 +47,17 @@ int main(int argc, char *argv[])
     float xmin = 0., ymin = 0., xmax = 0., ymax = 0.;
     struct GModule *module;
     struct Option *in_opt, *out_opt, *spat_opt, *filter_opt, *class_opt;
-    struct Option *outloc_opt;
+    struct Option *id_layer_opt, *return_layer_opt, *n_returns_layer_opt;
+    struct Option *class_layer_opt;
+    struct Option *red_layer_opt, *green_layer_opt, *blue_layer_opt;
+    struct Option *rgb_layer_opt;
+    struct Option *vector_mask_opt, *vector_mask_field_opt;
+    struct Option *skip_opt, *preserve_opt, *offset_opt, *limit_opt;
+    struct Option *outloc_opt, *zrange_opt;
     struct Flag *print_flag, *notab_flag, *region_flag, *notopo_flag;
+    struct Flag *nocats_flag;
     struct Flag *over_flag, *extend_flag, *no_import_flag;
+    struct Flag *invert_mask_flag;
     char buf[2000];
     struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
     struct Key_Value *proj_info, *proj_units;
@@ -129,7 +72,6 @@ int main(int argc, char *argv[])
     /* Attributes */
     struct field_info *Fi;
     dbDriver *driver;
-    dbString sql, strval;
     
     /* LAS */
     LASReaderH LAS_reader;
@@ -139,15 +81,25 @@ int main(int argc, char *argv[])
     double scale_x, scale_y, scale_z, offset_x, offset_y, offset_z;
     int las_point_format;
     int have_time, have_color;
-    int return_filter;
-    int skipme;
     int point_class;
-    unsigned int not_valid;	
 
     struct line_pnts *Points;
     struct line_cats *Cats;
 
-    unsigned int n_features, feature_count, n_outside, n_filtered, n_class_filtered;
+    int cat_max_reached = FALSE;
+
+#ifdef HAVE_LONG_LONG_INT
+    unsigned long long n_features; /* what libLAS reports as point count */
+    unsigned long long points_imported; /* counter how much we have imported */
+    unsigned long long feature_count, n_outside, zrange_filtered,
+        n_outside_mask, n_filtered, n_class_filtered, not_valid;
+#else
+    unsigned long n_features;
+    unsigned long points_imported;
+    unsigned long feature_count, n_outside, zrange_filtered,
+        n_outside_mask, n_filtered, n_class_filtered, not_valid;
+#endif
+
     int overwrite;
 
     G_gisinit(argv[0]);
@@ -163,7 +115,62 @@ int main(int argc, char *argv[])
     in_opt->description = _("LiDAR input files in LAS format (*.las or *.laz)");
 
     out_opt = G_define_standard_option(G_OPT_V_OUTPUT);
-    
+
+    id_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    id_layer_opt->key = "id_layer";
+    id_layer_opt->label = _("Layer number to store generated point ID as category");
+    id_layer_opt->answer = NULL;
+    id_layer_opt->guisection = _("Categories");
+
+    return_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    return_layer_opt->key = "return_layer";
+    return_layer_opt->label =
+        _("Layer number to store return number as category");
+    return_layer_opt->answer = NULL;
+    return_layer_opt->guisection = _("Categories");
+
+    n_returns_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    n_returns_layer_opt->key = "n_returns_layer";
+    n_returns_layer_opt->label =
+        _("Layer number to store number of returns as category");
+    n_returns_layer_opt->answer = NULL;
+    n_returns_layer_opt->guisection = _("Categories");
+
+    class_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    class_layer_opt->key = "class_layer";
+    class_layer_opt->label =
+        _("Layer number to store class number as category");
+    class_layer_opt->answer = NULL;
+    class_layer_opt->guisection = _("Categories");
+
+    rgb_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    rgb_layer_opt->key = "rgb_layer";
+    rgb_layer_opt->label =
+        _("Layer number where RBG colors is stored as category");
+    rgb_layer_opt->answer = NULL;
+    rgb_layer_opt->guisection = _("Categories");
+
+    red_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    red_layer_opt->key = "red_layer";
+    red_layer_opt->label =
+        _("Layer number where red color is stored as category");
+    red_layer_opt->answer = NULL;
+    red_layer_opt->guisection = _("Categories");
+
+    green_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    green_layer_opt->key = "green_layer";
+    green_layer_opt->label =
+        _("Layer number where red color is stored as category");
+    green_layer_opt->answer = NULL;
+    green_layer_opt->guisection = _("Categories");
+
+    blue_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    blue_layer_opt->key = "blue_layer";
+    blue_layer_opt->label =
+        _("Layer number where blue color is stored as category");
+    blue_layer_opt->answer = NULL;
+    blue_layer_opt->guisection = _("Categories");
+
     spat_opt = G_define_option();
     spat_opt->key = "spatial";
     spat_opt->type = TYPE_DOUBLE;
@@ -171,17 +178,18 @@ int main(int argc, char *argv[])
     spat_opt->required = NO;
     spat_opt->key_desc = "xmin,ymin,xmax,ymax";
     spat_opt->label = _("Import subregion only");
-    spat_opt->guisection = _("Subregion");
+    spat_opt->guisection = _("Selection");
     spat_opt->description =
 	_("Format: xmin,ymin,xmax,ymax - usually W,S,E,N");
 
-    outloc_opt = G_define_option();
-    outloc_opt->key = "location";
-    outloc_opt->type = TYPE_STRING;
-    outloc_opt->required = NO;
-    outloc_opt->description = _("Name for new location to create");
-    outloc_opt->key_desc = "name";
-    
+    zrange_opt = G_define_option();
+    zrange_opt->key = "zrange";
+    zrange_opt->type = TYPE_DOUBLE;
+    zrange_opt->required = NO;
+    zrange_opt->key_desc = "min,max";
+    zrange_opt->description = _("Filter range for z data (min,max)");
+    zrange_opt->guisection = _("Selection");
+
     filter_opt = G_define_option();
     filter_opt->key = "return_filter";
     filter_opt->type = TYPE_STRING;
@@ -189,6 +197,7 @@ int main(int argc, char *argv[])
     filter_opt->label = _("Only import points of selected return type");
     filter_opt->description = _("If not specified, all points are imported");
     filter_opt->options = "first,last,mid";
+    filter_opt->guisection = _("Selection");
 
     class_opt = G_define_option();
     class_opt->key = "class_filter";
@@ -198,30 +207,106 @@ int main(int argc, char *argv[])
     class_opt->label = _("Only import points of selected class(es)");
     class_opt->description = _("Input is comma separated integers. "
                                "If not specified, all points are imported.");
+    class_opt->guisection = _("Selection");
+
+    vector_mask_opt = G_define_standard_option(G_OPT_V_INPUT);
+    vector_mask_opt->key = "mask";
+    vector_mask_opt->required = NO;
+    vector_mask_opt->label = _("Areas where to import points");
+    vector_mask_opt->description = _("Name of vector map with areas where the points should be imported");
+    vector_mask_opt->guisection = _("Selection");
+
+    vector_mask_field_opt = G_define_standard_option(G_OPT_V_FIELD);
+    vector_mask_field_opt->key = "mask_layer";
+    vector_mask_field_opt->label = _("Layer number or name for mask option");
+    vector_mask_field_opt->guisection = _("Selection");
+
+    skip_opt = G_define_option();
+    skip_opt->key = "skip";
+    skip_opt->type = TYPE_INTEGER;
+    skip_opt->multiple = NO;
+    skip_opt->required = NO;
+    skip_opt->label = _("Do not import every n-th point");
+    skip_opt->description = _("For example, 5 will import 80 percent of points. "
+                              "If not specified, all points are imported");
+    skip_opt->guisection = _("Decimation");
+
+    preserve_opt = G_define_option();
+    preserve_opt->key = "preserve";
+    preserve_opt->type = TYPE_INTEGER;
+    preserve_opt->multiple = NO;
+    preserve_opt->required = NO;
+    preserve_opt->label = _("Import only every n-th point");
+    preserve_opt->description = _("For example, 4 will import 25 percent of points. "
+                                  "If not specified, all points are imported");
+    preserve_opt->guisection = _("Decimation");
+
+    offset_opt = G_define_option();
+    offset_opt->key = "offset";
+    offset_opt->type = TYPE_INTEGER;
+    offset_opt->multiple = NO;
+    offset_opt->required = NO;
+    offset_opt->label = _("Skip first n points");
+    offset_opt->description = _("Skips the given number of points at the beginning.");
+    offset_opt->guisection = _("Decimation");
+
+    limit_opt = G_define_option();
+    limit_opt->key = "limit";
+    limit_opt->type = TYPE_INTEGER;
+    limit_opt->multiple = NO;
+    limit_opt->required = NO;
+    limit_opt->label = _("Import only n points");
+    limit_opt->description = _("Imports only the given number of points");
+    limit_opt->guisection = _("Decimation");
+
+    outloc_opt = G_define_option();
+    outloc_opt->key = "location";
+    outloc_opt->type = TYPE_STRING;
+    outloc_opt->required = NO;
+    outloc_opt->description = _("Name for new location to create");
+    outloc_opt->key_desc = "name";
 
     print_flag = G_define_flag();
     print_flag->key = 'p';
     print_flag->description =
 	_("Print LAS file info and exit");
     print_flag->suppress_required = YES;
-    
-    notab_flag = G_define_standard_flag(G_FLG_V_TABLE);
-    notab_flag->guisection = _("Attributes");
-
-    over_flag = G_define_flag();
-    over_flag->key = 'o';
-    over_flag->description =
-	_("Override dataset projection (use location's projection)");
 
     region_flag = G_define_flag();
     region_flag->key = 'r';
-    region_flag->guisection = _("Subregion");
+    region_flag->guisection = _("Selection");
     region_flag->description = _("Limit import to the current region");
 
+    invert_mask_flag = G_define_flag();
+    invert_mask_flag->key = 'i';
+    invert_mask_flag->description = _("Invert mask when selecting points");
+    invert_mask_flag->guisection = _("Selection");
+
     extend_flag = G_define_flag();
     extend_flag->key = 'e';
     extend_flag->description =
-	_("Extend region extents based on new dataset");
+        _("Extend region extents based on new dataset");
+
+    notab_flag = G_define_standard_flag(G_FLG_V_TABLE);
+    notab_flag->guisection = _("Speed");
+
+    nocats_flag = G_define_flag();
+    nocats_flag->key = 'c';
+    nocats_flag->label =
+        _("Store only the coordinates");
+    nocats_flag->description =
+        _("Do not add categories to points and do not create attribute table");
+    nocats_flag->guisection = _("Speed");
+
+    notopo_flag = G_define_standard_flag(G_FLG_V_TOPO);
+    notopo_flag->guisection = _("Speed");
+
+    over_flag = G_define_flag();
+    over_flag->key = 'o';
+    over_flag->label =
+        _("Override projection check (use current location's projection)");
+    over_flag->description =
+        _("Assume that the dataset has same projection as the current location");
 
     no_import_flag = G_define_flag();
     no_import_flag->key = 'i';
@@ -230,7 +315,10 @@ int main(int argc, char *argv[])
           " Do not import the vector data.");
     no_import_flag->suppress_required = YES;
 
-    notopo_flag = G_define_standard_flag(G_FLG_V_TOPO);
+    G_option_exclusive(skip_opt, preserve_opt, NULL);
+    G_option_excludes(nocats_flag, id_layer_opt, return_layer_opt,
+        n_returns_layer_opt, class_layer_opt, rgb_layer_opt,
+        red_layer_opt, green_layer_opt, blue_layer_opt, NULL);
 
     /* The parser checks if the map already exists in current mapset, this is
      * wrong if location options is used, so we switch out the check and do it
@@ -240,6 +328,10 @@ int main(int argc, char *argv[])
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
+    /* no cats implies no table */
+    if (nocats_flag->answer)
+        notab_flag->answer = 1;
+
     /* Don't crash on cmd line if file not found */
     if (access(in_opt->answer, F_OK) != 0) {
 	G_fatal_error(_("Input file <%s> does not exist"), in_opt->answer);
@@ -280,16 +372,87 @@ int main(int argc, char *argv[])
 	exit(EXIT_SUCCESS);
     }
 
-    return_filter = LAS_ALL;
-    if (filter_opt->answer) {
-	if (strcmp(filter_opt->answer, "first") == 0)
-	    return_filter = LAS_FIRST;
-	else if (strcmp(filter_opt->answer, "last") == 0)
-	    return_filter = LAS_LAST;
-	else if (strcmp(filter_opt->answer, "mid") == 0)
-	    return_filter = LAS_MID;
-	else
-	    G_fatal_error(_("Unknown filter option <%s>"), filter_opt->answer);
+    struct ReturnFilter return_filter_struct;
+    return_filter_create_from_string(&return_filter_struct, filter_opt->answer);
+    struct ClassFilter class_filter;
+    class_filter_create_from_strings(&class_filter, class_opt->answers);
+
+    int id_layer = 0;
+    int return_layer = 0;
+    int n_returns_layer = 0;
+    int class_layer = 0;
+    int rgb_layer = 0;
+    int red_layer = 0;
+    int green_layer = 0;
+    int blue_layer = 0;
+    if (id_layer_opt->answer)
+        id_layer = atoi(id_layer_opt->answer);
+    if (return_layer_opt->answer)
+        return_layer = atoi(return_layer_opt->answer);
+    if (n_returns_layer_opt->answer)
+        n_returns_layer = atoi(n_returns_layer_opt->answer);
+    if (class_layer_opt->answer)
+        class_layer = atoi(class_layer_opt->answer);
+    if (rgb_layer_opt->answer)
+        rgb_layer = atoi(rgb_layer_opt->answer);
+    if (red_layer_opt->answer)
+        red_layer = atoi(red_layer_opt->answer);
+    if (green_layer_opt->answer)
+        green_layer = atoi(green_layer_opt->answer);
+    if (blue_layer_opt->answer)
+        blue_layer = atoi(blue_layer_opt->answer);
+    /* If no layer specified by user, force 1 to be used for ids.
+     * If id_layer not specified by the attributes table was, find a layer.
+     * nocats implies notab and we don't add any layers.
+     * Also when layers are set to zero by user, we consider it as if
+     * the nocats flag would be specified. We use !id_layer_opt->answer
+     * to see that user was the one not setting the id_layer which are
+     * are about to turn on.
+     * Later on, layer set to 0 is considered as no layer set.
+     */
+    if (!nocats_flag->answer && !id_layer_opt->answer && !return_layer
+        && !n_returns_layer && !class_layer && !rgb_layer && !red_layer
+        && !green_layer && !blue_layer) {
+        id_layer = 1;
+        G_message(_("Storing generated point IDs as categories in the layer %d"), id_layer);
+    }
+    /* no cats forces no table earlier */
+    if (!notab_flag->answer && !id_layer) {
+        /* get the maximum layer number used */
+        int max_used_layer;
+        max_used_layer = MAX(return_layer, n_returns_layer);
+        max_used_layer = MAX(max_used_layer, class_layer);
+        max_used_layer = MAX(max_used_layer, rgb_layer);
+        max_used_layer = MAX(max_used_layer, red_layer);
+        max_used_layer = MAX(max_used_layer, green_layer);
+        max_used_layer = MAX(max_used_layer, blue_layer);
+        /* get the first free layer number */
+        for (i = 1; i <= max_used_layer + 1; i++) {
+            if (i != return_layer && i != n_returns_layer
+                && i != class_layer && i != rgb_layer
+                && i != red_layer && i != green_layer && i != blue_layer)
+                break;
+        }
+        id_layer = i;
+        G_message(_("Storing generated point IDs as categories in the layer %d"), id_layer);
+    }
+
+    double zrange_min, zrange_max;
+    int use_zrange = FALSE;
+
+    if (zrange_opt->answer != NULL) {
+        if (zrange_opt->answers[0] == NULL || zrange_opt->answers[1] == NULL)
+            G_fatal_error(_("Invalid zrange <%s>"), zrange_opt->answer);
+        sscanf(zrange_opt->answers[0], "%lf", &zrange_min);
+        sscanf(zrange_opt->answers[1], "%lf", &zrange_max);
+        /* for convenience, switch order to make valid input */
+        if (zrange_min > zrange_max) {
+            double tmp = zrange_max;
+
+            zrange_max = zrange_min;
+            zrange_min = tmp;
+        }
+        use_zrange = TRUE;
     }
 
     if (region_flag->answer) {
@@ -374,115 +537,15 @@ int main(int argc, char *argv[])
 	    it should switch back with G_switch_env(). See r.in.gdal */
     }
     else {
-	int err = 0;
-
-	/* Projection only required for checking so convert non-interactively */
-	if (GPJ_wkt_to_grass(&cellhd, &proj_info,
-			     &proj_units, projstr, 0) < 0)
-	    G_warning(_("Unable to convert input map projection information to "
-		       "GRASS format for checking"));
-
 	/* Does the projection of the current location match the dataset? */
 	/* G_get_window seems to be unreliable if the location has been changed */
 	G_get_default_window(&loc_wind);
-	/* fetch LOCATION PROJ info */
-	if (loc_wind.proj != PROJECTION_XY) {
-	    loc_proj_info = G_get_projinfo();
-	    loc_proj_units = G_get_projunits();
-	}
-
-	if (over_flag->answer) {
-	    cellhd.proj = loc_wind.proj;
-	    cellhd.zone = loc_wind.zone;
-	    G_message(_("Over-riding projection check"));
-	}
-	else if (loc_wind.proj != cellhd.proj
-		 || (err =
-		     G_compare_projections(loc_proj_info, loc_proj_units,
-					   proj_info, proj_units)) != TRUE) {
-	    int i_value;
-
-	    strcpy(error_msg,
-		   _("Projection of dataset does not"
-		     " appear to match current location.\n\n"));
-
-	    /* TODO: output this info sorted by key: */
-	    if (loc_wind.proj != cellhd.proj || err != -2) {
-		if (loc_proj_info != NULL) {
-		    strcat(error_msg, _("GRASS LOCATION PROJ_INFO is:\n"));
-		    for (i_value = 0; i_value < loc_proj_info->nitems;
-			 i_value++)
-			sprintf(error_msg + strlen(error_msg), "%s: %s\n",
-				loc_proj_info->key[i_value],
-				loc_proj_info->value[i_value]);
-		    strcat(error_msg, "\n");
-		}
-
-		if (proj_info != NULL) {
-		    strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
-		    for (i_value = 0; i_value < proj_info->nitems; i_value++)
-			sprintf(error_msg + strlen(error_msg), "%s: %s\n",
-				proj_info->key[i_value],
-				proj_info->value[i_value]);
-		}
-		else {
-		    strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
-		    if (cellhd.proj == PROJECTION_XY)
-			sprintf(error_msg + strlen(error_msg),
-				"Dataset proj = %d (unreferenced/unknown)\n",
-				cellhd.proj);
-		    else if (cellhd.proj == PROJECTION_LL)
-			sprintf(error_msg + strlen(error_msg),
-				"Dataset proj = %d (lat/long)\n",
-				cellhd.proj);
-		    else if (cellhd.proj == PROJECTION_UTM)
-			sprintf(error_msg + strlen(error_msg),
-				"Dataset proj = %d (UTM), zone = %d\n",
-				cellhd.proj, cellhd.zone);
-		    else
-			sprintf(error_msg + strlen(error_msg),
-				"Dataset proj = %d (unknown), zone = %d\n",
-				cellhd.proj, cellhd.zone);
-		}
-	    }
-	    else {
-		if (loc_proj_units != NULL) {
-		    strcat(error_msg, "GRASS LOCATION PROJ_UNITS is:\n");
-		    for (i_value = 0; i_value < loc_proj_units->nitems;
-			 i_value++)
-			sprintf(error_msg + strlen(error_msg), "%s: %s\n",
-				loc_proj_units->key[i_value],
-				loc_proj_units->value[i_value]);
-		    strcat(error_msg, "\n");
-		}
-
-		if (proj_units != NULL) {
-		    strcat(error_msg, "Import dataset PROJ_UNITS is:\n");
-		    for (i_value = 0; i_value < proj_units->nitems; i_value++)
-			sprintf(error_msg + strlen(error_msg), "%s: %s\n",
-				proj_units->key[i_value],
-				proj_units->value[i_value]);
-		}
-	    }
-	    sprintf(error_msg + strlen(error_msg),
-		    _("\nIn case of no significant differences in the projection definitions,"
-		      " use the -o flag to ignore them and use"
-		      " current location definition.\n"),
-		    G_program_name());
-	    strcat(error_msg,
-		   _("Consider generating a new location with 'location' parameter"
-		    " from input data set.\n"));
-	    G_fatal_error("%s", error_msg);
-	}
-	else {
-	    G_verbose_message(_("Projection of input dataset and current "
-				"location appear to match"));
-	}
+    projstr = LASSRS_GetWKT_CompoundOK(LAS_srs);
+    /* we are printing the non-warning messages only for first file */
+    projection_check_wkt(cellhd, loc_wind, projstr, over_flag->answer,
+                         TRUE);
     }
 
-    db_init_string(&sql);
-    db_init_string(&strval);
-
     if (!outloc_opt->answer) {	/* Check if the map exists */
 	if (G_find_vector2(out_opt->answer, G_mapset())) {
 	    if (overwrite)
@@ -502,7 +565,12 @@ int main(int argc, char *argv[])
 	G_fatal_error(_("Unable to create vector map <%s>"), out_opt->answer);
 
     Vect_hist_command(&Map);
-    
+
+    /* libLAS uses uint32_t according to the source code
+     * or unsigned int according to the online doc,
+     * so just storing in long doesn't help.
+     * Thus, we use this just for the messages and percents.
+     */
     n_features = LASHeader_GetPointRecordsCount(LAS_header);
     las_point_format = LASHeader_GetDataFormatId(LAS_header);
 
@@ -514,130 +582,44 @@ int main(int argc, char *argv[])
 
     /* Add DB link */
     if (!notab_flag->answer) {
-	char *cat_col_name = GV_KEY_COLUMN;
-
-	Fi = Vect_default_field_info(&Map, 1, NULL, GV_1TABLE);
-
-	Vect_map_add_dblink(&Map, 1, out_opt->answer, Fi->table,
-			    cat_col_name, Fi->database, Fi->driver);
-
-	/* check available LAS info, depends on POINT DATA RECORD FORMAT [0-5] */
-	/* X (double),
-	 * Y (double), 
-	 * Z (double), 
-	 * intensity (double), 
-	 * return number (int), 
-	 * number of returns (int),
-	 * scan direction (int),
-	 * flight line edge (int),
-	 * classification type (char),
-	 * class (char),
-	 * time (double) (FORMAT 1, 3, 4, 5),
-	 * scan angle rank (int),
-	 * source ID (int),
-	 * user data (char), ???
-	 * red (int)  (FORMAT 2, 3, 5),
-	 * green (int) (FORMAT 2, 3, 5),
-	 * blue (int) (FORMAT 2, 3, 5)*/
-	 
-	/* Create table */
-	sprintf(buf, "create table %s (%s integer", Fi->table,
-		cat_col_name);
-	db_set_string(&sql, buf);
-	
-	/* x, y, z */
-	sprintf(buf, ", x_coord double precision");
-	db_append_string(&sql, buf);
-	sprintf(buf, ", y_coord double precision");
-	db_append_string(&sql, buf);
-	sprintf(buf, ", z_coord double precision");
-	db_append_string(&sql, buf);
-	/* intensity */
-	sprintf(buf, ", intensity integer");
-	db_append_string(&sql, buf);
-	/* return number */
-	sprintf(buf, ", return integer");
-	db_append_string(&sql, buf);
-	/* number of returns */
-	sprintf(buf, ", n_returns integer");
-	db_append_string(&sql, buf);
-	/* scan direction */
-	sprintf(buf, ", scan_dir integer");
-	db_append_string(&sql, buf);
-	/* flight line edge */
-	sprintf(buf, ", edge integer");
-	db_append_string(&sql, buf);
-	/* classification type */
-	sprintf(buf, ", cl_type varchar(20)");
-	db_append_string(&sql, buf);
-	/* classification class */
-	sprintf(buf, ", class varchar(40)");
-	db_append_string(&sql, buf);
-	/* GPS time */
-	if (have_time) {
-	    sprintf(buf, ", gps_time double precision");
-	    db_append_string(&sql, buf);
-	}
-	/* scan angle */
-	sprintf(buf, ", angle integer");
-	db_append_string(&sql, buf);
-	/* source id */
-	sprintf(buf, ", src_id integer");
-	db_append_string(&sql, buf);
-	/* user data */
-	sprintf(buf, ", usr_data integer");
-	db_append_string(&sql, buf);
-	/* colors */
-	if (have_color) {
-	    sprintf(buf, ", red integer, green integer, blue integer");
-	    db_append_string(&sql, buf);
-	    sprintf(buf, ", GRASSRGB varchar(11)");
-	    db_append_string(&sql, buf);
-	}
-
-	db_append_string(&sql, ")");
-	G_debug(3, "%s", db_get_string(&sql));
-
-	driver =
-	    db_start_driver_open_database(Fi->driver,
-					  Vect_subst_var(Fi->database,
-							 &Map));
-	if (driver == NULL) {
-	    G_fatal_error(_("Unable open database <%s> by driver <%s>"),
-			  Vect_subst_var(Fi->database, &Map), Fi->driver);
-	}
-        db_set_error_handler_driver(driver);
-
-	if (db_execute_immediate(driver, &sql) != DB_OK) {
-	    G_fatal_error(_("Unable to create table: '%s'"),
-			  db_get_string(&sql));
-	}
-
-	if (db_create_index2(driver, Fi->table, cat_col_name) != DB_OK)
-	    G_warning(_("Unable to create index for table <%s>, key <%s>"),
-		      Fi->table, cat_col_name);
-
-	if (db_grant_on_table
-	    (driver, Fi->table, DB_PRIV_SELECT,
-	     DB_GROUP | DB_PUBLIC) != DB_OK)
-	    G_fatal_error(_("Unable to grant privileges on table <%s>"),
-			  Fi->table);
+        create_table_for_lidar(&Map, out_opt->answer, id_layer, &driver,
+                               &Fi, have_time, have_color);
+    }
 
-	db_begin_transaction(driver);
+    struct VectorMask vector_mask;
+    if (vector_mask_opt->answer) {
+        VectorMask_init(&vector_mask, vector_mask_opt->answer,
+                        vector_mask_field_opt->answer, (int)invert_mask_flag->answer);
     }
 
     /* Import feature */
+    points_imported = 0;
     cat = 1;
     not_valid = 0;
     feature_count = 0;
     n_outside = 0;
     n_filtered = 0;
     n_class_filtered = 0;
+    n_outside_mask = 0;
+    zrange_filtered = 0;
 
     Points = Vect_new_line_struct();
     Cats = Vect_new_cats_struct();
-    
-    G_important_message(_("Scanning %d points..."), n_features);
+
+    struct CountDecimationControl count_decimation_control;
+
+    count_decimation_init_from_str(&count_decimation_control,
+                                   skip_opt->answer, preserve_opt->answer,
+                                   offset_opt->answer, limit_opt->answer);
+    if (!count_decimation_is_valid(&count_decimation_control))
+        G_fatal_error(_("Settings for count-based decimation are not valid"));
+    /* we don't check if the decimation is noop */
+
+#ifdef HAVE_LONG_LONG_INT
+    G_important_message(_("Scanning %llu points..."), n_features);
+#else
+    G_important_message(_("Scanning %lu points..."), n_features);
+#endif
     while ((LAS_point = LASReader_GetNextPoint(LAS_reader)) != NULL) {
 	double x, y, z;
 
@@ -661,132 +643,77 @@ int main(int argc, char *argv[])
 		continue;
 	    }
 	}
-	if (return_filter != LAS_ALL) {
-	    int return_no = LASPoint_GetReturnNumber(LAS_point);
-	    int n_returns = LASPoint_GetNumberOfReturns(LAS_point);
-	    skipme = 1;
-
-	    switch (return_filter) {
-	    case LAS_FIRST:
-		if (return_no == 1)
-		    skipme = 0;
-		break;
-	    case LAS_MID:
-		if (return_no > 1 && return_no < n_returns)
-		    skipme = 0;
-		break;
-	    case LAS_LAST:
-		if (n_returns > 1 && return_no == n_returns)
-		    skipme = 0;
-		break;
-	    }
-	    
-	    if (skipme) {
-		n_filtered++;
-		continue;
-	    }
-	}
-	if (class_opt->answer) {
-	    point_class = (int) LASPoint_GetClassification(LAS_point);
-	    i = 0;
-	    skipme = TRUE;
-	    while (class_opt->answers[i]) {
-		if (point_class == atoi(class_opt->answers[i])) {
-		    skipme = FALSE;
-		    break;
-		}
-		i++;
-	    }
-	    if (skipme) {
-		n_class_filtered++;
-		continue;
-	    }
-	}
+        if (use_zrange) {
+            if (z < zrange_min || z > zrange_max) {
+                zrange_filtered++;
+                continue;
+            }
+        }
+        int return_n = LASPoint_GetReturnNumber(LAS_point);
+        int n_returns = LASPoint_GetNumberOfReturns(LAS_point);
+        if (return_filter_is_out(&return_filter_struct, return_n, n_returns)) {
+            n_filtered++;
+            continue;
+        }
+        point_class = (int) LASPoint_GetClassification(LAS_point);
+        if (class_filter_is_out(&class_filter, point_class)) {
+            n_class_filtered++;
+            continue;
+        }
+        if (vector_mask_opt->answer) {
+            if (!VectorMask_point_in(&vector_mask, x, y)) {
+                n_outside_mask++;
+                continue;
+            }
+        }
+        if (count_decimation_is_out(&count_decimation_control))
+            continue;
 
 	Vect_append_point(Points, x, y, z);
-	Vect_cat_set(Cats, 1, cat);
+        if (id_layer)
+            Vect_cat_set(Cats, id_layer, cat);
+        if (return_layer)
+            Vect_cat_set(Cats, return_layer, LASPoint_GetReturnNumber(LAS_point));
+        if (n_returns_layer)
+            Vect_cat_set(Cats, n_returns_layer, LASPoint_GetNumberOfReturns(LAS_point));
+        if (class_layer)
+            Vect_cat_set(Cats, class_layer, LASPoint_GetClassification(LAS_point));
+        if (have_color && (rgb_layer || red_layer || green_layer || blue_layer)) {
+            /* TODO: if attr table, acquired again, performance difference? */
+            /* TODO: the getters are called too when separate layers are used */
+            LASColorH LAS_color = LASPoint_GetColor(LAS_point);
+            if (rgb_layer) {
+                int red = LASColor_GetRed(LAS_color);
+                int green = LASColor_GetGreen(LAS_color);
+                int blue = LASColor_GetBlue(LAS_color);
+                int rgb = red;
+                rgb = (rgb << 8) + green;
+                rgb = (rgb << 8) + blue;
+                Vect_cat_set(Cats, rgb_layer, rgb);
+            }
+            if (red_layer)
+                Vect_cat_set(Cats, red_layer, LASColor_GetRed(LAS_color));
+            if (green_layer)
+                Vect_cat_set(Cats, green_layer, LASColor_GetGreen(LAS_color));
+            if (blue_layer)
+                Vect_cat_set(Cats, blue_layer, LASColor_GetBlue(LAS_color));
+        }
 	Vect_write_line(&Map, GV_POINT, Points, Cats);
 
 	/* Attributes */
 	if (!notab_flag->answer) {
-	    char class_flag;
-	    int las_class_type, las_class;
-
-	     /* use LASPoint_Validate (LASPointH hPoint) to check for
-	      * return number, number of returns, scan direction, flight line edge,
-	      * classification, scan angle rank */
-	    sprintf(buf, "insert into %s values ( %d", Fi->table, cat);
-	    db_set_string(&sql, buf);
-
-	    /* x, y, z */
-	    sprintf(buf, ", %f", x);
-	    db_append_string(&sql, buf);
-	    sprintf(buf, ", %f", y);
-	    db_append_string(&sql, buf);
-	    sprintf(buf, ", %f", z);
-	    db_append_string(&sql, buf);
-	    /* intensity */
-	    sprintf(buf, ", %d", LASPoint_GetIntensity(LAS_point));
-	    db_append_string(&sql, buf);
-	    /* return number */
-	    sprintf(buf, ", %d", LASPoint_GetReturnNumber(LAS_point));
-	    db_append_string(&sql, buf);
-	    /* number of returns */
-	    sprintf(buf, ",  %d", LASPoint_GetNumberOfReturns(LAS_point));
-	    db_append_string(&sql, buf);
-	    /* scan direction */
-	    sprintf(buf, ", %d",  LASPoint_GetScanDirection(LAS_point));
-	    db_append_string(&sql, buf);
-	    /* flight line edge */
-	    sprintf(buf, ",  %d", LASPoint_GetFlightLineEdge(LAS_point));
-	    db_append_string(&sql, buf);
-	    class_flag = LASPoint_GetClassification(LAS_point);
-	    /* classification type int or char ? */
-	    las_class_type = class_flag / 32;
-	    sprintf(buf, ", \'%s\'", class_type[las_class_type].name);
-	    db_append_string(&sql, buf);
-	    /* classification class int or char ? */
-	    las_class = class_flag % 32;
-	    if (las_class > 13)
-		las_class = 13;
-	    sprintf(buf, ", \'%s\'", class_val[las_class].name);
-	    db_append_string(&sql, buf);
-	    /* GPS time */
-	    if (have_time) {
-		sprintf(buf, ", %f", LASPoint_GetTime(LAS_point));
-		db_append_string(&sql, buf);
-	    }
-	    /* scan angle */
-	    sprintf(buf, ", %d", LASPoint_GetScanAngleRank(LAS_point));
-	    db_append_string(&sql, buf);
-	    /* source id */
-	    sprintf(buf, ", %d", LASPoint_GetPointSourceId(LAS_point));
-	    db_append_string(&sql, buf);
-	    /* user data */
-	    sprintf(buf, ", %d", LASPoint_GetUserData(LAS_point));
-	    db_append_string(&sql, buf);
-	    /* colors */
-	    if (have_color) {
-		LASColorH LAS_color = LASPoint_GetColor(LAS_point);
-		int red = LASColor_GetRed(LAS_color);
-		int green = LASColor_GetGreen(LAS_color);
-		int blue = LASColor_GetBlue(LAS_color);
-
-		sprintf(buf, ", %d, %d, %d", red, green, blue);
-		db_append_string(&sql, buf);
-		sprintf(buf, ", \"%03d:%03d:%03d\"", red, green, blue);
-		db_append_string(&sql, buf);
-	    }
-	    db_append_string(&sql, " )");
-	    G_debug(3, "%s", db_get_string(&sql));
-
-	    if (db_execute_immediate(driver, &sql) != DB_OK) {
-		G_fatal_error(_("Cannot insert new row: %s"),
-			      db_get_string(&sql));
-	    }
+        las_point_to_attributes(Fi, driver, cat, LAS_point, x, y, z,
+                                have_time, have_color);
 	}
 
+        if (count_decimation_is_end(&count_decimation_control))
+            break;
+        if (id_layer && cat == GV_CAT_MAX) {
+            cat_max_reached = TRUE;
+            break;
+        }
 	cat++;
+        points_imported++;
     }
     G_percent(n_features, n_features, 1);	/* finish it */
 
@@ -795,6 +722,10 @@ int main(int argc, char *argv[])
 	db_close_database_shutdown_driver(driver);
     }
     
+    if (vector_mask_opt->answer) {
+        VectorMask_destroy(&vector_mask);
+    }
+    
     LASSRS_Destroy(LAS_srs);
     LASHeader_Destroy(LAS_header);
     LASReader_Destroy(LAS_reader);
@@ -803,17 +734,77 @@ int main(int argc, char *argv[])
     if (!notopo_flag->answer)
 	Vect_build(&Map);
     Vect_close(&Map);
-    
-    G_message(_("%d points imported"),
-              n_features - not_valid - n_outside - n_filtered - n_class_filtered);
+
+    /* can be easily determined only when iterated over all points */
+    if (!count_decimation_control.limit_n && !cat_max_reached
+            && points_imported != n_features
+            - not_valid - n_outside - n_filtered - n_class_filtered
+            - n_outside_mask - count_decimation_control.offset_n_counter
+            - count_decimation_control.n_count_filtered - zrange_filtered)
+        G_warning(_("The underlying libLAS library is at its limits."
+                    " Previously reported counts might have been distorted."
+                    " However, the import itself should be unaffected."));
+
+#ifdef HAVE_LONG_LONG_INT
+    if (count_decimation_control.limit_n) {
+        G_message(_("%llu points imported (limit was %llu)"),
+                  count_decimation_control.limit_n_counter,
+                  count_decimation_control.limit_n);
+    }
+    else {
+        G_message(_("%llu points imported"), points_imported);
+    }
+    if (not_valid)
+	G_message(_("%llu input points were not valid"), not_valid);
+    if (n_outside)
+	G_message(_("%llu input points were outside of the selected area"), n_outside);
+    if (n_outside_mask)
+        G_message(_("%llu input points were outside of the area specified by mask"), n_outside_mask);
+    if (n_filtered)
+	G_message(_("%llu input points were filtered out by return number"), n_filtered);
+    if (n_class_filtered)
+        G_message(_("%llu input points were filtered out by class number"), n_class_filtered);
+    if (zrange_filtered)
+        G_message(_("%llu input points were filtered outsite the range for z coordinate"), zrange_filtered);
+    if (count_decimation_control.offset_n_counter)
+        G_message(_("%llu input points were skipped at the begging using offset"),
+                  count_decimation_control.offset_n_counter);
+    if (count_decimation_control.n_count_filtered)
+        G_message(_("%llu input points were skipped by count-based decimation"),
+                  count_decimation_control.n_count_filtered);
+#else
+    if (count_decimation_control.limit_n)
+        G_message(_("%lu points imported (limit was %d)"),
+                  count_decimation_control.limit_n_counter,
+                  count_decimation_control.limit_n);
+    else
+        G_message(_("%lu points imported"), points_imported);
     if (not_valid)
-	G_message(_("%d input points were not valid"), not_valid);
+	G_message(_("%lu input points were not valid"), not_valid);
     if (n_outside)
-	G_message(_("%d input points were outside of the selected area"), n_outside);
+	G_message(_("%lu input points were outside of the selected area"), n_outside);
+    if (n_outside_mask)
+        G_message(_("%lu input points were outside of the area specified by mask"), n_outside_mask);
     if (n_filtered)
-	G_message(_("%d input points were filtered out by return number"), n_filtered);
+	G_message(_("%lu input points were filtered out by return number"), n_filtered);
     if (n_class_filtered)
-        G_message(_("%d input points were filtered out by class number"), n_class_filtered);
+        G_message(_("%lu input points were filtered out by class number"), n_class_filtered);
+    if (zrange_filtered)
+        G_message(_("%lu input points were filtered outsite the range for z coordinate"), zrange_filtered);
+    if (count_decimation_control.offset_n_counter)
+        G_message(_("%lu input points were skipped at the begging using offset"),
+                  count_decimation_control.offset_n_counter);
+    if (count_decimation_control.n_count_filtered)
+        G_message(_("%lu input points were skipped by count-based decimation"),
+                  count_decimation_control.n_count_filtered);
+    G_message(_("Accuracy of the printed point counts might be limited by your computer architecture."));
+#endif
+    if (count_decimation_control.limit_n)
+        G_message(_("The rest of points was ignored"));
+
+    if (cat_max_reached)
+        G_warning(_("Maximum number of categories reached (%d). Import ended prematurely."
+                    " Try to import without using category as an ID."), GV_CAT_MAX);
 
     /* -------------------------------------------------------------------- */
     /*      Extend current window based on dataset.                         */
@@ -839,71 +830,3 @@ int main(int argc, char *argv[])
 
     exit(EXIT_SUCCESS);
 }
-
-void print_lasinfo(LASHeaderH LAS_header, LASSRSH LAS_srs)
-{
-    char *las_srs_proj4 = LASSRS_GetProj4(LAS_srs);
-    int las_point_format = LASHeader_GetDataFormatId(LAS_header);
-
-    fprintf(stdout, "\nUsing LAS Library Version '%s'\n\n",
-                    LAS_GetFullVersion());
-    fprintf(stdout, "LAS File Version:                  %d.%d\n",
-                    LASHeader_GetVersionMajor(LAS_header),
-                    LASHeader_GetVersionMinor(LAS_header));
-    fprintf(stdout, "System ID:                         '%s'\n",
-                    LASHeader_GetSystemId(LAS_header));
-    fprintf(stdout, "Generating Software:               '%s'\n",
-                    LASHeader_GetSoftwareId(LAS_header));
-    fprintf(stdout, "File Creation Day/Year:            %d/%d\n",
-                    LASHeader_GetCreationDOY(LAS_header),
-		    LASHeader_GetCreationYear(LAS_header));
-    fprintf(stdout, "Point Data Format:                 %d\n",
-                    las_point_format);
-    fprintf(stdout, "Number of Point Records:           %d\n",
-                    LASHeader_GetPointRecordsCount(LAS_header));
-    fprintf(stdout, "Number of Points by Return:        %d %d %d %d %d\n",
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 0),
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 1),
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 2),
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 3),
-                    LASHeader_GetPointRecordsByReturnCount(LAS_header, 4));
-    fprintf(stdout, "Scale Factor X Y Z:                %g %g %g\n",
-                    LASHeader_GetScaleX(LAS_header),
-                    LASHeader_GetScaleY(LAS_header),
-                    LASHeader_GetScaleZ(LAS_header));
-    fprintf(stdout, "Offset X Y Z:                      %g %g %g\n",
-                    LASHeader_GetOffsetX(LAS_header),
-                    LASHeader_GetOffsetY(LAS_header),
-                    LASHeader_GetOffsetZ(LAS_header));
-    fprintf(stdout, "Min X Y Z:                         %g %g %g\n",
-                    LASHeader_GetMinX(LAS_header),
-                    LASHeader_GetMinY(LAS_header),
-                    LASHeader_GetMinZ(LAS_header));
-    fprintf(stdout, "Max X Y Z:                         %g %g %g\n",
-                    LASHeader_GetMaxX(LAS_header),
-                    LASHeader_GetMaxY(LAS_header),
-                    LASHeader_GetMaxZ(LAS_header));
-    if (las_srs_proj4 && strlen(las_srs_proj4) > 0) {
-	fprintf(stdout, "Spatial Reference:\n");
-	fprintf(stdout, "%s\n", las_srs_proj4);
-    }
-    else {
-	fprintf(stdout, "Spatial Reference:                 None\n");
-    }
-    
-    fprintf(stdout, "\nData Fields:\n");
-    fprintf(stdout, "  'X'\n  'Y'\n  'Z'\n  'Intensity'\n  'Return Number'\n");
-    fprintf(stdout, "  'Number of Returns'\n  'Scan Direction'\n");
-    fprintf(stdout, "  'Flighline Edge'\n  'Classification'\n  'Scan Angle Rank'\n");
-    fprintf(stdout, "  'User Data'\n  'Point Source ID'\n");
-    if (las_point_format == 1 || las_point_format == 3 || las_point_format == 4 || las_point_format == 5) {
-	fprintf(stdout, "  'GPS Time'\n");
-    }
-    if (las_point_format == 2 || las_point_format == 3 || las_point_format == 5) {
-	fprintf(stdout, "  'Red'\n  'Green'\n  'Blue'\n");
-    }
-    fprintf(stdout, "\n");
-    fflush(stdout);
-
-    return;
-}
diff --git a/vector/v.in.lidar/projection.c b/vector/v.in.lidar/projection.c
new file mode 100644
index 0000000..c62f0b7
--- /dev/null
+++ b/vector/v.in.lidar/projection.c
@@ -0,0 +1,140 @@
+/*
+ * projection checking
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (v.in.lidar)
+ *  Vaclav Petras (move code to standalone functions)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#include <string.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+#include <grass/gprojects.h>
+
+
+void projection_mismatch_report(struct Cell_head cellhd,
+                                struct Cell_head loc_wind,
+                                struct Key_Value *loc_proj_info,
+                                struct Key_Value *loc_proj_units,
+                                struct Key_Value *proj_info,
+                                struct Key_Value *proj_units, int err)
+{
+    int i_value;
+    char error_msg[8192];
+
+    strcpy(error_msg,
+           _("Projection of dataset does not"
+             " appear to match current location.\n\n"));
+
+    /* TODO: output this info sorted by key: */
+    if (loc_wind.proj != cellhd.proj || err != -2) {
+        if (loc_proj_info != NULL) {
+            strcat(error_msg, _("GRASS LOCATION PROJ_INFO is:\n"));
+            for (i_value = 0; i_value < loc_proj_info->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        loc_proj_info->key[i_value],
+                        loc_proj_info->value[i_value]);
+            strcat(error_msg, "\n");
+        }
+
+        if (proj_info != NULL) {
+            strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
+            for (i_value = 0; i_value < proj_info->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        proj_info->key[i_value], proj_info->value[i_value]);
+        }
+        else {
+            strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
+            if (cellhd.proj == PROJECTION_XY)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (unreferenced/unknown)\n",
+                        cellhd.proj);
+            else if (cellhd.proj == PROJECTION_LL)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (lat/long)\n", cellhd.proj);
+            else if (cellhd.proj == PROJECTION_UTM)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (UTM), zone = %d\n",
+                        cellhd.proj, cellhd.zone);
+            else
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (unknown), zone = %d\n",
+                        cellhd.proj, cellhd.zone);
+        }
+    }
+    else {
+        if (loc_proj_units != NULL) {
+            strcat(error_msg, "GRASS LOCATION PROJ_UNITS is:\n");
+            for (i_value = 0; i_value < loc_proj_units->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        loc_proj_units->key[i_value],
+                        loc_proj_units->value[i_value]);
+            strcat(error_msg, "\n");
+        }
+
+        if (proj_units != NULL) {
+            strcat(error_msg, "Import dataset PROJ_UNITS is:\n");
+            for (i_value = 0; i_value < proj_units->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        proj_units->key[i_value], proj_units->value[i_value]);
+        }
+    }
+    sprintf(error_msg + strlen(error_msg),
+            _("\nIn case of no significant differences in the projection definitions,"
+             " use the -o flag to ignore them and use"
+             " current location definition.\n"));
+    strcat(error_msg,
+           _("Consider generating a new location with 'location' parameter"
+             " from input data set.\n"));
+    G_fatal_error("%s", error_msg);
+}
+
+void projection_check_wkt(struct Cell_head cellhd,
+                          struct Cell_head loc_wind,
+                          const char *projstr, int override, int verbose)
+{
+    struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
+    struct Key_Value *proj_info, *proj_units;
+    int err = 0;
+
+    proj_info = NULL;
+    proj_units = NULL;
+
+    /* Projection only required for checking so convert non-interactively */
+    if (GPJ_wkt_to_grass(&cellhd, &proj_info, &proj_units, projstr, 0) < 0)
+        G_warning(_("Unable to convert input map projection information to "
+                    "GRASS format for checking"));
+
+    /* Does the projection of the current location match the dataset? */
+
+    /* fetch LOCATION PROJ info */
+    if (loc_wind.proj != PROJECTION_XY) {
+        loc_proj_info = G_get_projinfo();
+        loc_proj_units = G_get_projunits();
+    }
+
+    if (override) {
+        cellhd.proj = loc_wind.proj;
+        cellhd.zone = loc_wind.zone;
+        if (verbose)
+            G_message(_("Over-riding projection check"));
+    }
+    else if (loc_wind.proj != cellhd.proj
+             || (err =
+                 G_compare_projections(loc_proj_info, loc_proj_units,
+                                       proj_info, proj_units)) != TRUE) {
+        projection_mismatch_report(cellhd, loc_wind, loc_proj_info,
+                                   loc_proj_units,
+                                   proj_info, proj_units, err);
+    }
+    else if (verbose) {
+        G_message(_("Projection of input dataset and current location "
+                    "appear to match"));
+    }
+}
diff --git a/vector/v.in.lidar/projection.h b/vector/v.in.lidar/projection.h
new file mode 100644
index 0000000..a4f16d4
--- /dev/null
+++ b/vector/v.in.lidar/projection.h
@@ -0,0 +1,29 @@
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      projection related functions
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef PROJECTION_CHECKS_H
+#define PROJECTION_CHECKS_H
+
+void projection_mismatch_report(struct Cell_head cellhd,
+                                struct Cell_head loc_wind,
+                                struct Key_Value *loc_proj_info,
+                                struct Key_Value *loc_proj_units,
+                                struct Key_Value *proj_info,
+                                struct Key_Value *proj_units, int err);
+
+void projection_check_wkt(struct Cell_head cellhd,
+                          struct Cell_head loc_wind,
+                          const char *projstr, int override, int verbose);
+
+#endif /* PROJECTION_CHECKS_H */
diff --git a/vector/v.in.lidar/testsuite/basic_test.py b/vector/v.in.lidar/testsuite/basic_test.py
new file mode 100644
index 0000000..e4a3233
--- /dev/null
+++ b/vector/v.in.lidar/testsuite/basic_test.py
@@ -0,0 +1,68 @@
+"""
+Name:      decimation_test
+Purpose:   v.in.lidar decimation test
+
+Author:    Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class BasicTest(TestCase):
+    """Test case for watershed module
+
+    This tests expects v.random and v.out.lidar to work properly.
+    """
+
+    # Setup variables to be used for outputs
+    vector_points = 'vinlidar_basic_original'
+    imported_points = 'vinlidar_basic_imported'
+    las_file = 'vinlidar_basic_points.las'
+    npoints = 300
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and generated data"""
+        cls.use_temp_region()
+        cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+        cls.runModule('v.random', flags='zb', output=cls.vector_points,
+            npoints=cls.npoints, zmin=200, zmax=500, seed=100)
+        cls.runModule('v.out.lidar', input=cls.vector_points,
+            output=cls.las_file)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region and generated data"""
+        cls.runModule('g.remove', flags='f', type='vector',
+            name=cls.vector_points)
+        if os.path.isfile(cls.las_file):
+            os.remove(cls.las_file)
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created by the import
+
+        This is executed after each test run.
+        """
+        self.runModule('g.remove', flags='f', type='vector',
+            name=self.imported_points)
+
+    def test_output_identical(self):
+        """Test to see if the standard outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt')
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorEqualsVector(
+            actual=self.imported_points,
+            reference=self.vector_points,
+            digits=2, precision=.01)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.in.lidar/testsuite/decimation_test.py b/vector/v.in.lidar/testsuite/decimation_test.py
new file mode 100644
index 0000000..f2151de
--- /dev/null
+++ b/vector/v.in.lidar/testsuite/decimation_test.py
@@ -0,0 +1,161 @@
+"""
+Name:      decimation_test
+Purpose:   v.in.lidar decimation test
+
+Author:    Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestCountBasedDecimation(TestCase):
+    """Test case for watershed module
+
+    This tests expects v.random and v.out.lidar to work properly.
+    """
+
+    # Setup variables to be used for outputs
+    vector_points = 'vinlidar_decimation_original'
+    imported_points = 'vinlidar_decimation_imported'
+    las_file = 'vinlidar_decimation_points.las'
+    npoints = 300  # the values works well for 300 without rounding
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and generated data"""
+        cls.use_temp_region()
+        cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+        cls.runModule('v.random', flags='zb', output=cls.vector_points,
+            npoints=cls.npoints, zmin=200, zmax=500, seed=100)
+        cls.runModule('v.out.lidar', input=cls.vector_points,
+            output=cls.las_file)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region and generated data"""
+        cls.runModule('g.remove', flags='f', type='vector',
+            name=cls.vector_points)
+        if os.path.isfile(cls.las_file):
+            os.remove(cls.las_file)
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created by the import
+
+        This is executed after each test run.
+        """
+        self.runModule('g.remove', flags='f', type='vector',
+            name=self.imported_points)
+
+    def test_identical(self):
+        """Test to see if the standard outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt')
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=self.npoints))
+
+    def skip_number(self, number, expect):
+        """Test to see if the outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt', skip=number)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=expect))
+
+    def preserve_number(self, number, expect):
+        """Test to see if the outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt', preserve=number)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=expect))
+
+    def offset_number(self, number, expect):
+        """Test to see if the outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt', offset=number)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=expect))
+
+    def limit_number(self, number, expect):
+        """Test to see if the outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt', limit=number)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=expect))
+
+    def test_decimated_skip_2(self):
+        """Test to see if the outputs are created"""
+        self.skip_number(number=2, expect=self.npoints / 2)
+
+    def test_decimated_skip_4(self):
+        """Test to see if the outputs are created"""
+        self.skip_number(number=4, expect=0.75 * self.npoints)
+
+    def test_decimated_skip_10(self):
+        """Test to see if the outputs are created"""
+        self.skip_number(number=10, expect=0.9 * self.npoints)
+
+    def test_decimated_preserve_2(self):
+        """Test to see if the outputs are created"""
+        self.preserve_number(number=2, expect=self.npoints / 2)
+
+    def test_decimated_preserve_10(self):
+        """Test to see if the outputs are created"""
+        self.preserve_number(number=10, expect=self.npoints / 10)
+
+    def test_decimated_offset_105(self):
+        """Test to see if the outputs are created"""
+        self.offset_number(number=105, expect=self.npoints - 105)
+
+    def test_decimated_limit_105(self):
+        """Test to see if the outputs are created"""
+        self.limit_number(number=105, expect=105)
+
+    def test_offset_preserve(self):
+        """Test to see if the outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            offset=105, preserve=10)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=(self.npoints - 105) / 10))
+
+    def test_limit_skip(self):
+        """Test to see if the outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            limit=105, skip=10)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=105))
+
+    def test_offset_limit_skip(self):
+        """Test to see if the outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            offset=50, skip=5, limit=self.npoints - 1)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=0.8 * (self.npoints - 50)))
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.in.lidar/testsuite/filter_test.py b/vector/v.in.lidar/testsuite/filter_test.py
new file mode 100644
index 0000000..926471d
--- /dev/null
+++ b/vector/v.in.lidar/testsuite/filter_test.py
@@ -0,0 +1,208 @@
+"""
+Name:      decimation_test
+Purpose:   v.in.lidar decimation test
+
+Author:    Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+POINTS = """\
+17.46938776,18.67346939,143,1,1,2
+20.93877551,17.44897959,125,1,1,2
+18.89795918,14.18367347,130,1,1,3
+15.91836735,10.67346939,126,1,1,3
+21.26530612,11.04081633,128,1,2,3
+22.24489796,13.89795918,123,2,2,3
+23.79591837,17.12244898,151,1,2,3
+17.2244898,16.34693878,124,2,2,4
+17.14285714,14.10204082,134,1,3,4
+19.87755102,11.81632653,146,2,3,4
+18.48979592,11.48979592,140.6,2,3,4
+21.26530612,15.73469388,147,3,3,5
+21.18367347,19.32653061,138,1,3,5
+23.91836735,18.83673469,144,2,3,5
+23.51020408,13.65306122,143,3,3,5
+23.55102041,11.32653061,123,1,4,5
+18.41009273,14.51618034,140.4,2,4,5
+22.13996161,17.2278263,147,3,4,5
+21.41013052,11.05432488,132,4,4,5
+"""
+
+
+class FilterTest(TestCase):
+    """Test case for filter and selection options
+
+    This tests expects v.random and v.out.lidar to work properly.
+    """
+
+    # Setup variables to be used for outputs
+    vector_points = 'vinlidar_filters_original'
+    imported_points = 'vinlidar_filters_imported'
+    las_file = 'vinlidar_filters_points.las'
+    npoints = 300
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and generated data"""
+        cls.use_temp_region()
+        cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+        cls.runModule('v.in.ascii', input='-', stdin_=POINTS,
+                      flags='z', z=3, cat=0, separator='comma',
+                      output=cls.vector_points,
+                      columns="x double precision, y double precision,"
+                              " z double precision, return_n integer,"
+                              " n_returns integer, class_n integer")
+        cls.runModule('v.out.lidar',
+                      input=cls.vector_points, layer=1,
+                      output=cls.las_file,
+                      return_column='return_n',
+                      n_returns_column='n_returns',
+                      class_column='class_n')
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region and generated data"""
+        cls.runModule('g.remove', flags='f', type='vector',
+            name=cls.vector_points)
+        if os.path.isfile(cls.las_file):
+            os.remove(cls.las_file)
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created by the import
+
+        This is executed after each test run.
+        """
+        self.runModule('g.remove', flags='f', type='vector',
+            name=self.imported_points)
+
+    def test_no_filter(self):
+        """Test to see if the standard outputs are created
+
+        This shows if the inpute data are as expected.
+        """
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt')
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=19))
+
+    def return_filter(self, name, npoints):
+        """Mid return filter test"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            return_filter=name)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=npoints))
+
+    def test_first_return_filter(self):
+        """First return filter test"""
+        self.return_filter('first', 9)
+
+    def test_mid_return_filter(self):
+        """Mid return filter test"""
+        self.return_filter('mid', 5)
+
+    def test_last_return_filter(self):
+        """Last return filter test"""
+        self.return_filter('last', 5)
+
+    def class_filter(self, class_n, npoints):
+        """Actual code for testing class filter"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            class_filter=class_n)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=npoints))
+
+    def test_class_2_filter(self):
+        """Test to filter classes"""
+        self.class_filter(2, 2)
+
+    def test_class_3_filter(self):
+        """Test to filter classes"""
+        self.class_filter(3, 5)
+
+    def test_class_4_filter(self):
+        """Test to filter classes"""
+        self.class_filter(4, 4)
+
+    def test_class_5_filter(self):
+        """Test to filter classes"""
+        self.class_filter(5, 8)
+
+    def return_and_class_filter(self, return_name, class_n, npoints):
+        """Return and class filter combined test code"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            return_filter=return_name, class_filter=class_n)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=npoints))
+
+    def test_first_return_and_class_filter(self):
+        """Combined test for return and class"""
+        self.return_and_class_filter('first', 2, 2)
+
+    def test_last_return_and_class_filter(self):
+        """Combined test for return and class"""
+        self.return_and_class_filter('last', 5, 3)
+
+    def zrange_filter(self, zrange, npoints):
+        """Actual code for zrange option test"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            zrange=zrange)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=npoints))
+
+    def test_zrange_filter(self):
+        """Test zrange option"""
+        self.zrange_filter((130.1, 139.9), 3)
+
+    def test_non_int_zrange_filter(self):
+        """Test zrange option with float number
+
+        One test point has z right under and one other right above the min.
+        """
+        self.zrange_filter((140.5, 900), 8)
+
+    def test_zrange_and_class_filter(self):
+        """zrange and class_filter option combined test"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            zrange=(141, 900), class_filter=5)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=4))
+
+    def test_zrange_and_return_filter(self):
+        """zrange and class_filter option combined test"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            zrange=(141, 900), return_filter='last')
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=2))
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.in.lidar/testsuite/mask_test.py b/vector/v.in.lidar/testsuite/mask_test.py
new file mode 100644
index 0000000..635ca15
--- /dev/null
+++ b/vector/v.in.lidar/testsuite/mask_test.py
@@ -0,0 +1,157 @@
+"""
+Name:      decimation_test
+Purpose:   v.in.lidar decimation test
+
+Author:    Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+POINTS = """\
+17.46938776,18.67346939,1
+20.93877551,17.44897959,2
+18.89795918,14.18367347,3
+15.91836735,10.67346939,4
+21.26530612,11.04081633,5
+22.24489796,13.89795918,6
+23.79591837,17.12244898,7
+17.2244898,16.34693878,8
+17.14285714,14.10204082,9
+19.87755102,11.81632653,10
+18.48979592,11.48979592,11
+21.26530612,15.73469388,12
+21.18367347,19.32653061,13
+23.91836735,18.83673469,14
+23.51020408,13.65306122,15
+23.55102041,11.32653061,16
+18.41009273,14.51618034,17
+22.13996161,17.2278263,18
+21.41013052,11.05432488,19
+"""
+
+# the point with cat 4 is outside the bbox of the areas vector map
+# which is what we need for the tests
+
+AREAS = """\
+ORGANIZATION:
+DIGIT DATE:
+DIGIT NAME:   vpetras
+MAP NAME:
+MAP DATE:     Tue Dec 22 17:22:54 2015
+MAP SCALE:    1
+OTHER INFO:
+ZONE:         0
+MAP THRESH:   0.000000
+VERTI:
+B  6
+ 16.89795918  17.28571429
+ 19.75510204  15.12244898
+ 21.34693878  12.87755102
+ 17.3877551   12.67346939
+ 16           15.24489796
+ 16.89795918  17.28571429
+C  1 1
+ 18.41009273  14.51618034
+ 1     17
+B  6
+ 20.20408163  19.57142857
+ 21.14285714  14.63265306
+ 23.75510204  15.08163265
+ 24.36734694  17.57142857
+ 22.20408163  19.73469388
+ 20.20408163  19.57142857
+C  1 1
+ 22.13996161  17.2278263
+ 1     18
+B  5
+ 20.89795918  11.57142857
+ 22.40816327  11.04081633
+ 21.02040816  10.51020408
+ 20.57142857  11.24489796
+ 20.89795918  11.57142857
+C  1 1
+ 21.41013052  11.05432488
+ 1     19
+"""
+
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class VectorMaskTest(TestCase):
+    """Test case for watershed module
+
+    This tests expects v.random and v.out.lidar to work properly.
+    """
+
+    # Setup variables to be used for outputs
+    points = 'vinlidar_points'
+    areas = 'vinlidar_areas'
+    las_file = 'vinlidar_mask_points.las'
+    imported_points = 'vinlidar_imported_points'
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and generated data"""
+        cls.use_temp_region()
+        cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+        cls.runModule('v.in.ascii', input='-', output=cls.points,
+                      separator='comma', format='point', stdin_=POINTS)
+        cls.runModule('v.in.ascii', input='-', output=cls.areas,
+                      format='standard', stdin_=AREAS)
+        cls.runModule('v.out.lidar', input=cls.points,
+            output=cls.las_file)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region and generated data"""
+        cls.runModule('g.remove', flags='f', type='vector',
+            name=(cls.points, cls.areas))
+        if os.path.isfile(cls.las_file):
+            os.remove(cls.las_file)
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created by the import
+
+        This is executed after each test run.
+        """
+        self.runModule('g.remove', flags='f', type='vector',
+            name=self.imported_points)
+
+    def test_no_mask(self):
+        """Test to see if the standard outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt')
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=19))
+
+    def test_mask(self):
+        """Test to see if the standard outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt',
+            mask=self.areas)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=11))
+
+    def test_inverted_mask(self):
+        """Test to see if the standard outputs are created"""
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bti',
+            mask=self.areas)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=8))
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.in.lidar/v.in.lidar.html b/vector/v.in.lidar/v.in.lidar.html
index 395207c..f3c105c 100644
--- a/vector/v.in.lidar/v.in.lidar.html
+++ b/vector/v.in.lidar/v.in.lidar.html
@@ -27,6 +27,45 @@ class number 2 represents ground (for other classes see LAS format specification
 in references). The <b>class_filter</b> option allows selecting one or more 
 classes, as numbers (integers) separated by comma.
 
+<h3>Decimation</h3>
+
+Table with selected percentages of points to keep with corresponding
+decimation parameters:
+
+<table>
+<tr><td>0.1%</td><td>preserve=1000</td></tr>
+<tr><td>1%</td><td>preserve=100</td></tr>
+<tr><td>5%</td><td>preserve=20</td></tr>
+<tr><td>10%</td><td>preserve=10</td></tr>
+<tr><td>20%</td><td>preserve=5</td></tr>
+<tr><td>25%</td><td>preserve=4</td></tr>
+<tr><td>50%</td><td>skip=2</td></tr>
+<tr><td>75%</td><td>skip=4</td></tr>
+<tr><td>80%</td><td>skip=5</td></tr>
+<tr><td>90%</td><td>skip=10</td></tr>
+</table>
+
+Table with selected fractions of points to keep with corresponding
+decimation parameters:
+
+<table>
+<tr><td>1/3</td><td>preserve=3</td></tr>
+<tr><td>1/4</td><td>preserve=4</td></tr>
+<tr><td>1/5</td><td>preserve=5</td></tr>
+<tr><td>1/6</td><td>preserve=6</td></tr>
+</table>
+
+Table with selected fractions of points to throw away with corresponding
+decimation parameters:
+
+<table>
+<tr><td>1/3</td><td>skip=3</td></tr>
+<tr><td>1/4</td><td>skip=4</td></tr>
+<tr><td>1/5</td><td>skip=5</td></tr>
+<tr><td>1/6</td><td>skip=6</td></tr>
+</table>
+
+
 <h2>Location Creation</h2>
 
 <em>v.in.lidar</em> attempts to preserve projection information when importing
@@ -90,4 +129,4 @@ Markus Metz
 <br>
 based on v.in.ogr
 
-<p><i>Last changed: $Date: 2015-02-13 16:16:22 +0100 (Fri, 13 Feb 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-15 12:36:36 -0800 (Tue, 15 Dec 2015) $</i>
diff --git a/vector/v.in.lidar/vector_mask.c b/vector/v.in.lidar/vector_mask.c
new file mode 100644
index 0000000..5c7bcea
--- /dev/null
+++ b/vector/v.in.lidar/vector_mask.c
@@ -0,0 +1,70 @@
+/*
+ * v.in.lidar vector mask
+ *
+ * Copyright 2011-2015 by Vaclav Petras, and The GRASS Development Team
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#include <grass/vector.h>
+#include <grass/glocale.h>
+
+#include "vector_mask.h"
+
+void VectorMask_init(struct VectorMask *vector_mask, const char *name, const char *layer, int invert_mask)
+{
+    vector_mask->map_info = G_malloc(sizeof(struct Map_info));
+    if (Vect_open_old2(vector_mask->map_info, name, "", layer) < 2)
+        G_fatal_error(_("Failed to open vector <%s>"), name);
+    vector_mask->map_bbox = G_malloc(sizeof(struct bound_box));
+    Vect_get_map_box(vector_mask->map_info, vector_mask->map_bbox);
+    vector_mask->nareas = Vect_get_num_areas(vector_mask->map_info);
+    vector_mask->area_bboxes = G_malloc(vector_mask->nareas * sizeof(struct bound_box));
+    int i;
+    for (i = 1; i <= vector_mask->nareas; i++) {
+        Vect_get_area_box(vector_mask->map_info, i, &vector_mask->area_bboxes[i - 1]);
+    }
+    if (invert_mask)
+        vector_mask->inverted = 1;
+    else
+        vector_mask->inverted = 0;
+}
+
+void VectorMask_destroy(struct VectorMask *vector_mask)
+{
+    G_free(vector_mask->map_bbox);
+    G_free(vector_mask->area_bboxes);
+    Vect_close(vector_mask->map_info);
+    G_free(vector_mask->map_info);
+}
+
+int VectorMask_point_in(struct VectorMask *vector_mask, double x, double y)
+{
+    /* inv in res
+     *   F  T continue
+     *   F  F return F
+     *   T  T continue
+     *   T  F return T
+     */
+    if (!Vect_point_in_box_2d(x, y, vector_mask->map_bbox))
+        return vector_mask->inverted;
+    int is_out = TRUE;
+    int i;
+    for (i = 1; i <= vector_mask->nareas; i++) {
+        if (Vect_point_in_area(x, y, vector_mask->map_info, i, &vector_mask->area_bboxes[i - 1])) {
+            is_out = FALSE;
+            break;
+        }
+    }
+    /* inv out res
+     *  F   T   F
+     *  F   F   T
+     *  T   T   T
+     *  T   F   F
+     */
+    if (vector_mask->inverted ^ is_out)
+        return FALSE;
+    return TRUE;
+}
diff --git a/vector/v.in.lidar/vector_mask.h b/vector/v.in.lidar/vector_mask.h
new file mode 100644
index 0000000..908727d
--- /dev/null
+++ b/vector/v.in.lidar/vector_mask.h
@@ -0,0 +1,34 @@
+
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      vector mask
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef VECTOR_MASK_H
+#define VECTOR_MASK_H
+
+struct Map_info;
+struct bound_box;
+
+struct VectorMask {
+    struct Map_info *map_info;
+    struct bound_box *map_bbox;
+    struct bound_box *area_bboxes;
+    int nareas;
+    int inverted;
+};
+
+void VectorMask_init(struct VectorMask *vector_mask, const char *name, const char *layer, int invert_mask);
+void VectorMask_destroy(struct VectorMask *vector_mask);
+int VectorMask_point_in(struct VectorMask *vector_mask, double x, double y);
+
+#endif /* VECTOR_MASK_H */
diff --git a/vector/v.in.ogr/dsn.c b/vector/v.in.ogr/dsn.c
new file mode 100644
index 0000000..cf45c6a
--- /dev/null
+++ b/vector/v.in.ogr/dsn.c
@@ -0,0 +1,78 @@
+#include <string.h>
+
+#include <grass/gis.h>
+#include <grass/dbmi.h>
+#include <grass/glocale.h>
+
+char *get_datasource_name(const char *opt_dsn, int use_ogr)
+{
+    char *dsn;
+    
+    if (G_strncasecmp(opt_dsn, "PG:", 3) == 0) {
+        /* PostgreSQL/PostGIS */
+        size_t i;
+        char connect_str[DB_SQL_MAX], database[GNAME_MAX];
+        char *p, *pp;
+        const char *user, *passwd, *host, *port;
+
+        /* dbname is mandatory */
+        p = G_strcasestr(opt_dsn, "dbname");
+        if (!p) 
+            G_fatal_error(_("Invalid connection string (dbname missing)"));
+        
+        /* get dbname */
+        p += strlen("dbname=");
+        for (i = 0, pp = p; *pp != ' ' && *pp != '\0'; pp++, i++)
+            database[i] = *pp;
+        database[i] = '\0';
+        
+        /* build connection string */
+        sprintf(connect_str, "dbname=%s", database);
+        
+        /* add db.login settings (user, password, host, port) */
+        if (DB_OK == db_get_login2("pg", database, &user, &passwd, &host, &port)) {
+            if (user) {
+                if (!G_strcasestr(opt_dsn, "user=")) {
+                    strcat(connect_str, " user=");
+                    strcat(connect_str, user);
+                }
+                G_free((char *)user);
+            }
+            if (passwd) {
+                if (!G_strcasestr(opt_dsn, "password=")) {
+                    strcat(connect_str, " password=");
+                    strcat(connect_str, passwd);
+                }
+                G_free((char *)passwd);
+            }
+            if (host) {
+                if (!G_strcasestr(opt_dsn, "host=")) {
+                    strcat(connect_str, " host=");
+                    strcat(connect_str, host);
+                }
+                G_free((char *)host);
+            }
+            if (port) {
+                if (!G_strcasestr(opt_dsn, "port=")) {
+                    strcat(connect_str, " port=");
+                    strcat(connect_str, port);
+                }
+                G_free((char *)port);
+            }
+        }
+        
+        if (!use_ogr)
+            /* be friendly, ignored 'PG:' prefix for PostGIS links */
+            dsn = G_store(connect_str);
+        else
+            G_asprintf(&dsn, "PG:%s", connect_str);
+    }
+    else {
+        /* other datasources */
+        dsn = G_store(opt_dsn);
+    }
+
+    G_debug(1, "dsn: %s", dsn);
+
+    return dsn;
+}
diff --git a/vector/v.in.ogr/main.c b/vector/v.in.ogr/main.c
index 606994a..92b261b 100644
--- a/vector/v.in.ogr/main.c
+++ b/vector/v.in.ogr/main.c
@@ -9,7 +9,7 @@
  *
  * PURPOSE:      Import OGR vectors
  *
- * COPYRIGHT:    (C) 2003-2015 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2003-2016 by the GRASS Development Team
  *
  *               This program is free software under the GNU General
  *               Public License (>=v2).  Read the file COPYING that
@@ -46,6 +46,8 @@ int centroid(OGRGeometryH hGeom, CENTR * Centr, struct spatial_index * Sindex,
 	     int field, int cat, double min_area, int type);
 int poly_count(OGRGeometryH hGeom, int line2boundary);
 
+char *get_datasource_name(const char *, int);
+
 int main(int argc, char *argv[])
 {
     struct GModule *module;
@@ -139,10 +141,11 @@ int main(int argc, char *argv[])
     param.dsn->key = "input";
     param.dsn->type = TYPE_STRING;
     param.dsn->required =YES;
-    param.dsn->label = _("OGR datasource name");
+    param.dsn->label = _("Name of OGR datasource to be imported");
     param.dsn->description = _("Examples:\n"
 				   "\t\tESRI Shapefile: directory containing shapefiles\n"
 				   "\t\tMapInfo File: directory containing mapinfo files");
+    param.dsn->gisprompt = "old,datasource,datasource";
     
     param.layer = G_define_option();
     param.layer->key = "layer";
@@ -154,7 +157,8 @@ int main(int argc, char *argv[])
     param.layer->description =
 	_("Examples:\n" "\t\tESRI Shapefile: shapefile name\n"
 	  "\t\tMapInfo File: mapinfo file name");
-    param.layer->guisection = _("Selection");
+    param.layer->guisection = _("Input");
+    param.layer->gisprompt = "old,datasource_layer,datasource_layer";
 
     param.out = G_define_standard_option(G_OPT_V_OUTPUT);
     param.out->required = NO;
@@ -213,6 +217,7 @@ int main(int argc, char *argv[])
     param.outloc->required = NO;
     param.outloc->description = _("Name for new location to create");
     param.outloc->key_desc = "name";
+    param.outloc->guisection = _("Output");
     
     param.cnames = G_define_standard_option(G_OPT_DB_COLUMNS);
     param.cnames->description =
@@ -275,8 +280,10 @@ int main(int argc, char *argv[])
 
     flag.over = G_define_flag();
     flag.over->key = 'o';
+    flag.over->label =
+	_("Override projection check (use current location's projection)");
     flag.over->description =
-	_("Override dataset projection (use location's projection)");
+	_("Assume that the dataset has the same projection as the current location");
 
     flag.proj = G_define_flag();
     flag.proj->key = 'j';
@@ -308,6 +315,7 @@ int main(int argc, char *argv[])
     flag.no_import->description =
 	_("Create the location specified by the \"location\" parameter and exit."
           " Do not import the vector data.");
+    flag.no_import->guisection = _("Output");
     
     /* The parser checks if the map already exists in current mapset, this is
      * wrong if location options is used, so we switch out the check and do it
@@ -354,44 +362,9 @@ int main(int argc, char *argv[])
     else
 	datetime_type = "datetime";
 
-    /* dsn is 'PG:', check default connection settings */
     dsn = NULL;
-    if (driver_name && strcmp(driver_name, "pg") == 0 &&
-        G_strcasecmp(param.dsn->answer, "PG:") == 0) {
-        const char *dbname;
-        dbConnection conn;
-        
-        dbname = db_get_default_database_name();
-        if (!dbname)
-            G_fatal_error(_("Database not defined, please check default "
-                            " connection settings by db.connect"));
-
-        dsn = (char *) G_malloc(GPATH_MAX);
-        /* -> dbname */
-        sprintf(dsn, "PG:dbname=%s", dbname);
-        
-        /* -> user/passwd */
-        if (DB_OK == db_get_connection(&conn) &&
-            strcmp(conn.driverName, "pg") == 0 &&
-            strcmp(conn.databaseName, dbname) == 0) {
-            if (conn.user) {
-                strcat(dsn, " user=");
-                strcat(dsn, conn.user);
-            }
-            if (conn.password) {
-                strcat(dsn, " passwd=");
-                strcat(dsn, conn.password);
-            }
-            /* TODO: host/port... */
-        }
-        else {
-            G_debug(1, "unable to get connection");
-        }
-        G_debug(1, "Using dsn=%s", dsn);
-    }
-    else if (param.dsn->answer) {
-        dsn = G_store(param.dsn->answer);
-    }
+    if (param.dsn->answer)
+        dsn = get_datasource_name(param.dsn->answer, TRUE);
     
     min_area = atof(param.min_area->answer);
     snap = atof(param.snap->answer);
@@ -1000,8 +973,13 @@ int main(int argc, char *argv[])
                 /* check if the field is integer */
                 Ogr_field = OGR_FD_GetFieldDefn(Ogr_featuredefn, key_idx);
                 Ogr_ftype = OGR_Fld_GetType(Ogr_field);
-                if (Ogr_ftype != OFTInteger)
+                if (!(Ogr_ftype == OFTInteger
+#if GDAL_VERSION_NUM >= 2000000
+                      || Ogr_ftype == OFTInteger64
+#endif
+		      )) {
                     G_fatal_error(_("Key column '%s' is not integer"), param.key->answer);
+                }
                 key_column = G_store(OGR_Fld_GetNameRef(Ogr_field));
             }
         }
@@ -1081,11 +1059,30 @@ int main(int argc, char *argv[])
 		/**                                          OFTDate = 9           **/
 		/**                                          OFTTime = 10          **/
 		/**                                          OFTDateTime = 11      **/
+                /** GDAL 2.0+                                                      **/
+                /** Simple 64bit integer                     OFTInteger64 = 12     **/
+                /** List of 64bit integers                   OFTInteger64List = 13 **/
 
 		if (Ogr_ftype == OFTInteger) {
 		    sprintf(buf, ", %s integer", Ogr_fieldname);
 		}
-		else if (Ogr_ftype == OFTIntegerList) {
+#if GDAL_VERSION_NUM >= 2000000
+		else if (Ogr_ftype == OFTInteger64) {
+                    if (strcmp(Fi->driver, "pg") == 0) 
+                        sprintf(buf, ", %s bigint", Ogr_fieldname);
+                    else {
+                        sprintf(buf, ", %s integer", Ogr_fieldname);
+                        if (strcmp(Fi->driver, "sqlite") != 0) 
+                            G_warning(_("Writing column <%s> with integer 64 as integer 32"),
+                                      Ogr_fieldname);
+                    }
+                }
+#endif
+		else if (Ogr_ftype == OFTIntegerList
+#if GDAL_VERSION_NUM >= 2000000
+                         || Ogr_ftype == OFTInteger64List
+#endif
+                         ) {
 		    /* hack: treat as string */
 		    sprintf(buf, ", %s varchar ( %d )", Ogr_fieldname,
 			    OFTIntegerListlength);
@@ -1128,8 +1125,8 @@ int main(int argc, char *argv[])
 			      Ogr_fieldname, OFTIntegerListlength);
 		}
 		else {
-		    G_warning(_("Column type not supported (%s)"),
-			      Ogr_fieldname);
+		    G_warning(_("Column type (Ogr_ftype: %d) not supported (Ogr_fieldname: %s)"),
+			      Ogr_ftype, Ogr_fieldname);
 		    buf[0] = 0;
 		}
 		db_append_string(&sql, buf);
@@ -1213,7 +1210,11 @@ int main(int argc, char *argv[])
 		    Ogr_field = OGR_FD_GetFieldDefn(Ogr_featuredefn, i);
 		    Ogr_ftype = OGR_Fld_GetType(Ogr_field);
 		    if (OGR_F_IsFieldSet(Ogr_feature, i)) {
-			if (Ogr_ftype == OFTInteger || Ogr_ftype == OFTReal) {
+			if (Ogr_ftype == OFTInteger ||
+#if GDAL_VERSION_NUM >= 2000000
+                            Ogr_ftype == OFTInteger64 ||
+#endif
+                            Ogr_ftype == OFTReal) {
 			    sprintf(buf, ", %s",
 				    OGR_F_GetFieldAsString(Ogr_feature, i));
 			}
@@ -1234,7 +1235,11 @@ int main(int argc, char *argv[])
 #endif
 			else if (Ogr_ftype == OFTString ||
 			         Ogr_ftype == OFTStringList ||
-				 Ogr_ftype == OFTIntegerList) {
+				 Ogr_ftype == OFTIntegerList 
+#if GDAL_VERSION_NUM >= 2000000
+                                 || Ogr_ftype == OFTInteger64List
+#endif
+                                 ) {
 			    db_set_string(&strval, (char *)
 					  OGR_F_GetFieldAsString(Ogr_feature,
 								 i));
@@ -1248,20 +1253,28 @@ int main(int argc, char *argv[])
 		    }
 		    else {
 			/* G_warning (_("Column value not set" )); */
-			if (Ogr_ftype == OFTInteger || Ogr_ftype == OFTReal) {
+			if (Ogr_ftype == OFTInteger ||
+#if GDAL_VERSION_NUM >= 2000000
+                            Ogr_ftype == OFTInteger64 ||
+#endif
+                            Ogr_ftype == OFTReal) {
 			    sprintf(buf, ", NULL");
 			}
 #if GDAL_VERSION_NUM >= 1320
 			else if (Ogr_ftype == OFTDate ||
 				 Ogr_ftype == OFTTime || 
 				 Ogr_ftype == OFTDateTime) {
-			    sprintf(buf, ", ''");
+			    sprintf(buf, ", NULL");
 			}
 #endif
 			else if (Ogr_ftype == OFTString ||
 			         Ogr_ftype == OFTStringList ||
-				 Ogr_ftype == OFTIntegerList) {
-			    sprintf(buf, ", ''");
+				 Ogr_ftype == OFTIntegerList
+#if GDAL_VERSION_NUM >= 2000000
+                                 || Ogr_ftype == OFTInteger64List
+#endif
+                                 ) {
+			    sprintf(buf, ", NULL");
 			}
 			else {
 			    /* column type not supported */
@@ -1659,19 +1672,23 @@ int main(int argc, char *argv[])
         G_fatal_error(_("Import failed"));
 
     /* create index - may fail on non-unique categories */
-    if (db_create_index2(driver, Fi->table, key_column) != DB_OK)
-        G_warning(_("Unable to create index for table <%s>, key <%s>"),
-                  Fi->table, key_column);
+    if (!flag.notab->answer) {
+    	if (db_create_index2(driver, Fi->table, key_column) != DB_OK)
+        	G_warning(_("Unable to create index for table <%s>, key <%s>"),
+                	  Fi->table, key_column);
     
-    if (delete_table) {
-        sprintf(buf, "drop table %s", Fi->table);
-        db_set_string(&sql, buf);
-        if (db_execute_immediate(driver, &sql) != DB_OK) {
-            G_fatal_error(_("Unable to drop table: '%s'"),
-                          db_get_string(&sql));
-        }
+    
+	if (delete_table) {
+        	sprintf(buf, "drop table %s", Fi->table);
+	        db_set_string(&sql, buf);
+        	if (db_execute_immediate(driver, &sql) != DB_OK) {
+	            G_fatal_error(_("Unable to drop table: '%s'"),
+        	                  db_get_string(&sql));
+        	}
+    	}
+
+	db_close_database_shutdown_driver(driver);
     }
-    db_close_database_shutdown_driver(driver);
     
     /* -------------------------------------------------------------------- */
     /*      Extend current window based on dataset.                         */
diff --git a/vector/v.in.ogr/v.in.ogr.html b/vector/v.in.ogr/v.in.ogr.html
index ea59784..719a94f 100644
--- a/vector/v.in.ogr/v.in.ogr.html
+++ b/vector/v.in.ogr/v.in.ogr.html
@@ -230,51 +230,57 @@ type=boundary,centroid snap=-1
 
 <h3>PostGIS tables</h3>
 
-Area example:
+Import polygons as areas:
 
 <div class="code"><pre>
 v.in.ogr input="PG:host=localhost dbname=postgis user=postgres" layer=polymap \
 output=polygons type=boundary,centroid
 </pre></div>
 
-<h3>Oracle Spatial maps</h3>
+<h3>Default connection settings as datasource (PostgreSQL only)</h3>
 
-Note that you have to set the environment-variables <tt>ORACLE_BASE,
-ORACLE_SID, ORACLE_HOME</tt> and <tt>TNS_ADMIN</tt> accordingly.
-
-<div class="code"><pre>
-v.in.ogr dsn=OCI:username/password at database_instance output=grasslayer layer=roads_oci
-</pre></div>
-
-<!-- It doesn't work, see http://trac.osgeo.org/grass/changeset/59627
-
-<h3>Support of database schema</h3>
+If datasource (<b>input</b>) is specified as 'PG:' and the default DB
+driver is <a href="grass-pg.html">PostgreSQL</a> (<tt>pg</tt>) than
+the connection string is determined from the default DB settings, see
+examples below.
 
 <p>
 For schema support, first set a default schema with 
 <em><a href="db.connect.html">db.connect</a></em>. If schema support
-is used the schema name must be specified whenever a db.* module is
-called.
+is used the schema name must be specified whenever a <tt>db.*</tt>
+module is called. User and password for connection to the database can
+be specified by <em><a href="db.login.html">db.login</a></em>.
 
 <p>
-Example:
+Example (with schema):
 
 <div class="code"><pre>
-db.connect driver=pg database=test schema=user1 group=group1
-db.login driver=pg database=test user=user1 password=pwd1
-v.in.ogr dsn=./ layer=river output=river     # -> table user1.river
+db.connect driver=pg database=test schema=user1
+db.login user=user1 password=pwd1
+# -> input="PG:dbname=test user=user1 password=pwd1" layer="user1.river"
+v.in.ogr input=PG: layer=river output=river     
 db.select table=user1.river
 </pre></div>
 
+<p>
 The user can ignore schemas, if desired:
 
 <div class="code"><pre>
 db.connect driver=pg database=test
-db.login driver=pg database=test user=user1 password=pwd1
-v.in.ogr dsn=./ layer=river output=river     # -> table public.river
+db.login user=user1 password=pwd1
+# -> input="PG:dbname=test user=user1 password=pwd1"
+v.in.ogr input=PG: layer=river output=river 
 db.select table=river
 </pre></div>
--->
+
+<h3>Oracle Spatial</h3>
+
+Note that you have to set the environment-variables <tt>ORACLE_BASE,
+ORACLE_SID, ORACLE_HOME</tt> and <tt>TNS_ADMIN</tt> accordingly.
+
+<div class="code"><pre>
+v.in.ogr input=OCI:username/password at database_instance output=grasslayer layer=roads_oci
+</pre></div>
 
 <h3>Multiple geometry columns</h3>
 
@@ -372,4 +378,4 @@ Various improvements by Markus Metz
 Multiple geometry columns support by Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2016-01-13 10:20:46 +0100 (Wed, 13 Jan 2016) $</i>
+<i>Last changed: $Date: 2016-01-13 01:18:55 -0800 (Wed, 13 Jan 2016) $</i>
diff --git a/vector/v.in.pdal/Makefile b/vector/v.in.pdal/Makefile
new file mode 100644
index 0000000..6ce7189
--- /dev/null
+++ b/vector/v.in.pdal/Makefile
@@ -0,0 +1,19 @@
+MODULE_TOPDIR = ../..
+
+PGM=v.in.pdal
+
+LIBES = $(GPROJLIB) $(VECTORLIB) $(DBMILIB) $(GISLIB) $(MATHLIB) $(PDALLIBS)
+DEPENDENCIES = $(GPROJDEP) $(VECTORDEP) $(DBMIDEP) $(GISDEP)
+
+EXTRA_INC = $(VECT_INC) $(PROJINC) $(PDALINC)
+EXTRA_CFLAGS = $(VECT_CFLAGS) $(PDALCPPFLAGS)
+
+include $(MODULE_TOPDIR)/include/Make/Module.make
+
+LINK = $(CXX)
+
+ifneq ($(strip $(CXX)),)
+ifneq ($(USE_PDAL),)
+default: cmd
+endif
+endif
diff --git a/vector/v.in.pdal/filters.c b/vector/v.in.pdal/filters.c
new file mode 100644
index 0000000..ad09e5f
--- /dev/null
+++ b/vector/v.in.pdal/filters.c
@@ -0,0 +1,156 @@
+/*
+ * v.in.lidar filtering functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to a separate files)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+
+#include "filters.h"
+
+#include "lidar.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include <grass/gis.h>
+#include <grass/glocale.h>
+
+
+int spatial_filter_from_option(struct Option *option, double *xmin,
+                               double *ymin, double *xmax, double *ymax)
+{
+    if (option->answer)
+        return FALSE;
+    int arg_s_num = 0;
+    int i = 0;
+
+    while (option->answers[i]) {
+        if (i == 0)
+            *xmin = atof(option->answers[i]);
+        if (i == 1)
+            *ymin = atof(option->answers[i]);
+        if (i == 2)
+            *xmax = atof(option->answers[i]);
+        if (i == 3)
+            *ymax = atof(option->answers[i]);
+        arg_s_num++;
+        i++;
+    }
+    if (arg_s_num != 4)
+        G_fatal_error(_("4 values required for '%s' option"), option->key);
+    return TRUE;
+}
+
+int spatial_filter_from_current_region(double *xmin, double *ymin,
+                                       double *xmax, double *ymax)
+{
+    struct Cell_head region;
+
+    G_get_window(&region);
+    *xmin = region.west;
+    *xmax = region.east;
+    *ymin = region.south;
+    *ymax = region.north;
+    return TRUE;
+}
+
+int zrange_filter_from_option(struct Option *option, double *zmin,
+                              double *zmax)
+{
+    if (option->answer != NULL) {
+        if (option->answers[0] == NULL || option->answers[1] == NULL)
+            G_fatal_error(_("Invalid zrange <%s>"), option->answer);
+        sscanf(option->answers[0], "%lf", zmin);
+        sscanf(option->answers[1], "%lf", zmax);
+        /* for convenience, switch order to make valid input */
+        if (*zmin > *zmax) {
+            double tmp = *zmax;
+
+            *zmax = *zmin;
+            *zmin = tmp;
+        }
+        return TRUE;
+    }
+    return FALSE;
+}
+
+int return_filter_create_from_string(struct ReturnFilter *return_filter,
+                                     const char *name)
+{
+    return_filter->filter = LAS_ALL;
+    if (name) {
+        if (strcmp(name, "first") == 0)
+            return_filter->filter = LAS_FIRST;
+        else if (strcmp(name, "last") == 0)
+            return_filter->filter = LAS_LAST;
+        else if (strcmp(name, "mid") == 0)
+            return_filter->filter = LAS_MID;
+        else
+            G_fatal_error(_("Unknown return filter value <%s>"), name);
+    }
+    if (return_filter->filter == LAS_ALL)
+        return FALSE;
+    else
+        return TRUE;
+}
+
+int return_filter_is_out(struct ReturnFilter *return_filter, int return_n,
+                         int n_returns)
+{
+    if (return_filter->filter == LAS_ALL)
+        return FALSE;
+    int skipme = 1;
+
+    switch (return_filter->filter) {
+    case LAS_FIRST:
+        if (return_n == 1)
+            skipme = 0;
+        break;
+    case LAS_MID:
+        if (return_n > 1 && return_n < n_returns)
+            skipme = 0;
+        break;
+    case LAS_LAST:
+        if (n_returns > 1 && return_n == n_returns)
+            skipme = 0;
+        break;
+    }
+    if (skipme)
+        return TRUE;
+    return FALSE;
+}
+
+int class_filter_create_from_strings(struct ClassFilter *class_filter,
+                                     char **classes)
+{
+    class_filter->str_classes = classes;
+    if (classes)
+        return TRUE;
+    else
+        return FALSE;
+}
+
+int class_filter_is_out(struct ClassFilter *class_filter, int class_n)
+{
+    if (!class_filter->str_classes)
+        return FALSE;
+    int i = 0;
+    int skipme = TRUE;
+
+    while (class_filter->str_classes[i]) {
+        if (class_n == atoi(class_filter->str_classes[i])) {
+            skipme = FALSE;
+            break;
+        }
+        i++;
+    }
+    if (skipme)
+        return TRUE;
+    return FALSE;
+}
diff --git a/vector/v.in.pdal/filters.h b/vector/v.in.pdal/filters.h
new file mode 100644
index 0000000..1036efc
--- /dev/null
+++ b/vector/v.in.pdal/filters.h
@@ -0,0 +1,47 @@
+/*
+ * v.in.lidar filtering functions
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (r.in.lidar)
+ *  Vaclav Petras (move code to a separate files)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#ifndef __FILTERS_H__
+#define __FILTERS_H__
+
+struct ReturnFilter
+{
+    int filter;
+};
+
+struct ClassFilter
+{
+
+    /** NULL terminated list of class numbers represented as string */
+    char **str_classes;
+};
+
+struct Option;
+
+int spatial_filter_from_option(struct Option *option, double *xmin,
+                               double *ymin, double *xmax, double *ymax);
+int spatial_filter_from_current_region(double *xmin, double *ymin,
+                                       double *xmax, double *ymax);
+
+int zrange_filter_from_option(struct Option *option,
+                              double *zmin, double *zmax);
+
+int return_filter_create_from_string(struct ReturnFilter *return_filter,
+                                     const char *name);
+int return_filter_is_out(struct ReturnFilter *return_filter, int return_n,
+                         int n_returns);
+int class_filter_create_from_strings(struct ClassFilter *class_filter,
+                                     char **classes);
+int class_filter_is_out(struct ClassFilter *class_filter, int class_n);
+
+#endif /* __FILTERS_H__ */
diff --git a/vector/v.in.pdal/lidar.c b/vector/v.in.pdal/lidar.c
new file mode 100644
index 0000000..1448b4a
--- /dev/null
+++ b/vector/v.in.pdal/lidar.c
@@ -0,0 +1,77 @@
+
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      common lidar-related definitions
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#include "lidar.h"
+
+void GLidarLayers_set_default_layers(struct GLidarLayers *layers)
+{
+    layers->id_layer = 0;
+    layers->return_layer = G_RETURN_LAYER;
+    layers->n_returns_layer = G_NUM_RETURNS_LAYER;
+    layers->class_layer = G_CLASS_LAYER;
+    layers->rgb_layer = G_RGB_LAYER;
+    layers->red_layer = 0;
+    layers->green_layer = 0;
+    layers->blue_layer = 0;
+}
+
+void GLidarLayers_set_all_layers(struct GLidarLayers *layers)
+{
+    layers->id_layer = G_ID_LAYER;
+    layers->return_layer = G_RETURN_LAYER;
+    layers->n_returns_layer = G_NUM_RETURNS_LAYER;
+    layers->class_layer = G_CLASS_LAYER;
+    layers->rgb_layer = G_RGB_LAYER;
+    layers->red_layer = G_RED_LAYER;
+    layers->green_layer = G_GREEN_LAYER;
+    layers->blue_layer = G_BLUE_LAYER;
+}
+
+void GLidarLayers_set_no_layers(struct GLidarLayers *layers)
+{
+    layers->id_layer = 0;
+    layers->return_layer = 0;
+    layers->n_returns_layer = 0;
+    layers->class_layer = 0;
+    layers->rgb_layer = 0;
+    layers->red_layer = 0;
+    layers->green_layer = 0;
+    layers->blue_layer = 0;
+}
+
+struct class_table class_val[] = {
+    {0, "Created, never classified"},
+    {1, "Unclassified"},
+    {2, "Ground"},
+    {3, "Low Vegetation"},
+    {4, "Medium Vegetation"},
+    {5, "High Vegetation"},
+    {6, "Building"},
+    {7, "Low Point (noise)"},
+    {8, "Model Key-point (mass point)"},
+    {9, "Water"},
+    {10, "Reserved for ASPRS Definition"},
+    {11, "Reserved for ASPRS Definition"},
+    {12, "Overlap Points"},
+    {13 /* 13 - 31 */ , "Reserved for ASPRS Definition"},
+    {0, 0}
+};
+
+struct class_table class_type[] = {
+    {5, "Synthetic"},
+    {6, "Key-point"},
+    {7, "Withheld"},
+    {0, 0}
+};
diff --git a/vector/v.in.pdal/lidar.h b/vector/v.in.pdal/lidar.h
new file mode 100644
index 0000000..103189e
--- /dev/null
+++ b/vector/v.in.pdal/lidar.h
@@ -0,0 +1,94 @@
+
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      common lidar-related definitions
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef GRASS_LIDAR_H
+#define GRASS_LIDAR_H
+
+#define LAS_ALL 0
+#define LAS_FIRST 1
+#define LAS_LAST 2
+#define LAS_MID 3
+
+#define G_ID_LAYER 1
+#define G_RETURN_LAYER 2
+#define G_NUM_RETURNS_LAYER 3
+#define G_CLASS_LAYER 4
+#define G_RGB_LAYER 5
+#define G_RED_LAYER 6
+#define G_GREEN_LAYER 7
+#define G_BLUE_LAYER 8
+
+struct GLidarLayers
+{
+    int id_layer;
+    int return_layer;
+    int n_returns_layer;
+    int class_layer;
+    int rgb_layer;
+    int red_layer;
+    int green_layer;
+    int blue_layer;
+};
+
+void GLidarLayers_set_default_layers(struct GLidarLayers *layers);
+void GLidarLayers_set_all_layers(struct GLidarLayers *layers);
+void GLidarLayers_set_no_layers(struct GLidarLayers *layers);
+
+/*
+ * ASPRS Standard LIDAR Point Classes
+ * Classification Value (bits 0:4) : Meaning
+ *      0 : Created, never classified
+ *      1 : Unclassified
+ *      2 : Ground
+ *      3 : Low Vegetation
+ *      4 : Medium Vegetation
+ *      5 : High Vegetation
+ *      6 : Building
+ *      7 : Low Point (noise)
+ *      8 : Model Key-point (mass point)
+ *      9 : Water
+ *     10 : Reserved for ASPRS Definition
+ *     11 : Reserved for ASPRS Definition
+ *     12 : Overlap Points
+ *  13-31 : Reserved for ASPRS Definition
+ */
+
+/* Classification Bit Field Encoding
+ * Bits | Field Name     | Description
+ *  0-4 | Classification | Standard ASPRS classification as defined in the
+ *                         above classification table.
+ *    5 | Synthetic      | If set then this point was created by a technique
+ *                         other than LIDAR collection such as digitized from
+ *                         a photogrammetric stereo model or by traversing
+ *                         a waveform.
+ *    6 | Key-point      | If set, this point is considered to be a model
+ *                         key-point and thus generally should not be withheld
+ *                         in a thinning algorithm.
+ *    7 | Withheld       | If set, this point should not be included in
+ *                         processing (synonymous with Deleted).
+ */
+
+/* keep the comments above in sync with the .c file */
+
+struct class_table
+{
+    int code;
+    char *name;
+};
+
+extern struct class_table class_val[];
+extern struct class_table class_type[];
+
+#endif /* GRASS_LIDAR_H */
diff --git a/vector/v.in.pdal/main.cpp b/vector/v.in.pdal/main.cpp
new file mode 100644
index 0000000..b75786c
--- /dev/null
+++ b/vector/v.in.pdal/main.cpp
@@ -0,0 +1,547 @@
+#include <pdal/PointTable.hpp>
+#include <pdal/PointView.hpp>
+#include <pdal/StageFactory.hpp>
+#include <pdal/LasReader.hpp>
+#include <pdal/LasHeader.hpp>
+#include <pdal/Options.hpp>
+#include <pdal/ReprojectionFilter.hpp>
+
+extern "C"
+{
+#include <grass/gis.h>
+#include <grass/vector.h>
+#include <grass/gprojects.h>
+#include <grass/glocale.h>
+}
+
+extern "C"
+{
+#include "lidar.h"
+#include "projection.h"
+#include "filters.h"
+}
+
+#ifdef HAVE_LONG_LONG_INT
+typedef unsigned long long gpoint_count;
+#else
+typedef unsigned long gpoint_count;
+#endif
+
+
+void pdal_point_to_grass(struct Map_info *output_vector,
+                         struct line_pnts *points, struct line_cats *cats,
+                         pdal::PointViewPtr point_view, pdal::PointId idx,
+                         struct GLidarLayers *layers, int cat,
+                         pdal::Dimension::Id::Enum dim_to_use_as_z)
+{
+    Vect_reset_line(points);
+    Vect_reset_cats(cats);
+
+    using namespace pdal::Dimension::Id;
+    double x = point_view->getFieldAs<double>(X, idx);
+    double y = point_view->getFieldAs<double>(Y, idx);
+    double z = point_view->getFieldAs<double>(dim_to_use_as_z, idx);
+
+    if (layers->id_layer) {
+        Vect_cat_set(cats, layers->id_layer, cat);
+    }
+    if (layers->return_layer) {
+        Vect_cat_set(cats, layers->return_layer,
+                     point_view->getFieldAs<int>(ReturnNumber, idx));
+    }
+    if (layers->n_returns_layer) {
+        Vect_cat_set(cats, layers->n_returns_layer,
+                     point_view->getFieldAs<int>(NumberOfReturns, idx));
+    }
+    if (layers->class_layer) {
+        Vect_cat_set(cats, layers->class_layer,
+                     point_view->getFieldAs<int>(Classification, idx));
+    }
+    if (layers->rgb_layer) {
+        int red = point_view->getFieldAs<int>(Red, idx);
+        int green = point_view->getFieldAs<int>(Green, idx);
+        int blue = point_view->getFieldAs<int>(Blue, idx);
+        int rgb = red;
+        rgb = (rgb << 8) + green;
+        rgb = (rgb << 8) + blue;
+        Vect_cat_set(cats, layers->rgb_layer, rgb);
+    }
+    if (layers->red_layer) {
+        Vect_cat_set(cats, layers->red_layer,
+                     point_view->getFieldAs<int>(Red, idx));
+    }
+    if (layers->green_layer) {
+        Vect_cat_set(cats, layers->green_layer,
+                     point_view->getFieldAs<int>(Green, idx));
+    }
+    if (layers->blue_layer) {
+        Vect_cat_set(cats, layers->blue_layer,
+                     point_view->getFieldAs<int>(Blue, idx));
+    }
+
+    Vect_append_point(points, x, y, z);
+    Vect_write_line(output_vector, GV_POINT, points, cats);
+}
+
+
+int main(int argc, char *argv[])
+{
+    G_gisinit(argv[0]);
+
+    GModule *module = G_define_module();
+    G_add_keyword(_("vector"));
+    G_add_keyword(_("import"));
+    G_add_keyword(_("LIDAR"));
+    module->description =
+        _("Converts LAS LiDAR point clouds to a GRASS vector map with PDAL.");
+
+    Option *in_opt = G_define_standard_option(G_OPT_F_INPUT);
+    in_opt->label = _("LAS input file");
+    in_opt->description =
+        _("LiDAR input files in LAS format (*.las or *.laz)");
+
+    Option *out_opt = G_define_standard_option(G_OPT_V_OUTPUT);
+
+    Option *spatial_opt = G_define_option();
+    spatial_opt->key = "spatial";
+    spatial_opt->type = TYPE_DOUBLE;
+    spatial_opt->multiple = NO;
+    spatial_opt->required = NO;
+    // TODO: does this require multiple or not?
+    spatial_opt->key_desc = "xmin,ymin,xmax,ymax";
+    spatial_opt->label = _("Import subregion only");
+    spatial_opt->description =
+        _("Format: xmin,ymin,xmax,ymax - usually W,S,E,N");
+    spatial_opt->guisection = _("Selection");
+
+    Option *zrange_opt = G_define_option();
+    zrange_opt->key = "zrange";
+    zrange_opt->type = TYPE_DOUBLE;
+    zrange_opt->required = NO;
+    zrange_opt->key_desc = "min,max";
+    zrange_opt->description = _("Filter range for z data (min,max)");
+    zrange_opt->guisection = _("Selection");
+
+    Option *filter_opt = G_define_option();
+    filter_opt->key = "return_filter";
+    filter_opt->type = TYPE_STRING;
+    filter_opt->required = NO;
+    filter_opt->label = _("Only import points of selected return type");
+    filter_opt->description = _("If not specified, all points are imported");
+    filter_opt->options = "first,last,mid";
+    filter_opt->guisection = _("Selection");
+
+    Option *class_opt = G_define_option();
+    class_opt->key = "class_filter";
+    class_opt->type = TYPE_INTEGER;
+    class_opt->multiple = YES;
+    class_opt->required = NO;
+    class_opt->label = _("Only import points of selected class(es)");
+    class_opt->description = _("Input is comma separated integers. "
+                               "If not specified, all points are imported.");
+    class_opt->guisection = _("Selection");
+
+    Flag *reproject_flag = G_define_flag();
+    reproject_flag->key = 'w';
+    reproject_flag->label =
+        _("Reproject to location's coordinate system if needed");
+    reproject_flag->description =
+        _("Reprojects input dataset to the coordinate system of"
+          " the GRASS location (by default only datasets with the"
+          " matching cordinate system can be imported");
+    reproject_flag->guisection = _("Projection");
+
+    Flag *over_flag = G_define_flag();
+    over_flag->key = 'o';
+    over_flag->label =
+        _("Override projection check (use current location's projection)");
+    over_flag->description =
+        _("Assume that the dataset has same projection as the current location");
+    over_flag->guisection = _("Projection");
+
+    // TODO: from the API it seems that also prj file path and proj string will work
+    Option *input_srs_opt = G_define_option();
+    input_srs_opt->key = "input_srs";
+    input_srs_opt->type = TYPE_STRING;
+    input_srs_opt->required = NO;
+    input_srs_opt->label =
+            _("Input dataset projection (WKT or EPSG, e.g. EPSG:4326)");
+    input_srs_opt->description =
+            _("Override input dataset coordinate system using EPSG code"
+              " or WKT definition");
+    input_srs_opt->guisection = _("Projection");
+
+    Option *max_ground_window_opt = G_define_option();
+    max_ground_window_opt->key = "max_ground_window_size";
+    max_ground_window_opt->type = TYPE_DOUBLE;
+    max_ground_window_opt->required = NO;
+    max_ground_window_opt->answer = "33";
+    max_ground_window_opt->description =
+        _("Maximum window size for ground filter");
+    max_ground_window_opt->guisection = _("Ground filter");
+
+    Option *ground_slope_opt = G_define_option();
+    ground_slope_opt->key = "ground_slope";
+    ground_slope_opt->type = TYPE_DOUBLE;
+    ground_slope_opt->required = NO;
+    ground_slope_opt->answer = "1.0";
+    ground_slope_opt->description = _("Slope for ground filter");
+    ground_slope_opt->guisection = _("Ground filter");
+
+    Option *max_ground_distance_opt = G_define_option();
+    max_ground_distance_opt->key = "max_ground_distance";
+    max_ground_distance_opt->type = TYPE_DOUBLE;
+    max_ground_distance_opt->required = NO;
+    max_ground_distance_opt->answer = "2.5";
+    max_ground_distance_opt->description =
+        _("Maximum distance for ground filter");
+    max_ground_distance_opt->guisection = _("Ground filter");
+
+    Option *init_ground_distance_opt = G_define_option();
+    init_ground_distance_opt->key = "initial_ground_distance";
+    init_ground_distance_opt->type = TYPE_DOUBLE;
+    init_ground_distance_opt->required = NO;
+    init_ground_distance_opt->answer = "0.15";
+    init_ground_distance_opt->description =
+        _("Initial distance for ground filter");
+    init_ground_distance_opt->guisection = _("Ground filter");
+
+    Option *ground_cell_size_opt = G_define_option();
+    ground_cell_size_opt->key = "ground_cell_size";
+    ground_cell_size_opt->type = TYPE_DOUBLE;
+    ground_cell_size_opt->required = NO;
+    ground_cell_size_opt->answer = "1";
+    ground_cell_size_opt->description =
+        _("Initial distance for ground filter");
+    ground_cell_size_opt->guisection = _("Ground filter");
+
+    Flag *region_flag = G_define_flag();
+    region_flag->key = 'r';
+    region_flag->guisection = _("Selection");
+    region_flag->description = _("Limit import to the current region");
+
+    Flag *nocats_flag = G_define_flag();
+    nocats_flag->key = 'c';
+    nocats_flag->label =
+        _("Store only the coordinates");
+    nocats_flag->description =
+        _("Do not add any categories to points");
+    nocats_flag->guisection = _("Categories");
+
+    Flag *idcat_flag = G_define_flag();
+    idcat_flag->key = 'd';
+    idcat_flag->label =
+        _("Store generated unique ID for each point");
+    idcat_flag->guisection = _("Categories");
+
+    Flag *extract_ground_flag = G_define_flag();
+    extract_ground_flag->key = 'j';
+    extract_ground_flag->label =
+        _("Classify and extract ground points");
+    extract_ground_flag->description =
+        _("This assignes class 2 to the groud points");
+    extract_ground_flag->guisection = _("Ground filter");
+
+    // TODO: by inverting class filter and choosing 2 we can select non-groud points
+    // this can be done as a separate flag (generally useful?)
+    // or this flag can be changed (only ground is classified anyway)
+    // and it would Classify ground and extract non-ground
+    // probably better if only one step is required to get ground and non-ground
+    Flag *classify_ground_flag = G_define_flag();
+    classify_ground_flag->key = 'k';
+    classify_ground_flag->description = _("Classify ground points");
+    classify_ground_flag->guisection = _("Ground filter");
+
+    Flag *height_filter_flag = G_define_flag();
+    height_filter_flag->key = 'h';
+    height_filter_flag->label =
+        _("Compute height for points as a difference from ground");
+    height_filter_flag->description =
+        _("This requires points to have class 2");
+    height_filter_flag->guisection = _("Transform");
+
+    Flag *approx_ground_flag = G_define_flag();
+    approx_ground_flag->key = 'm';
+    approx_ground_flag->description =
+        _("Use approximate algorithm in ground filter");
+    approx_ground_flag->guisection = _("Ground filter");
+
+    G_option_exclusive(spatial_opt, region_flag, NULL);
+    G_option_exclusive(reproject_flag, over_flag, NULL);
+    G_option_exclusive(nocats_flag, idcat_flag, NULL);
+    G_option_exclusive(extract_ground_flag, classify_ground_flag, NULL);
+
+    if (G_parser(argc, argv))
+        return EXIT_FAILURE;
+
+    if (access(in_opt->answer, F_OK) != 0) {
+        G_fatal_error(_("Input file <%s> does not exist"), in_opt->answer);
+    }
+
+    // we use full qualification because the dim ns conatins too general names
+    pdal::Dimension::Id::Enum dim_to_use_as_z = pdal::Dimension::Id::Z;
+
+    double xmin = 0;
+    double ymin = 0;
+    double xmax = 0;
+    double ymax = 0;
+    bool use_spatial_filter = false;
+    if (spatial_opt->answer)
+        use_spatial_filter = spatial_filter_from_option(spatial_opt,
+                                                        &xmin, &ymin,
+                                                        &xmax, &ymax);
+    else if (region_flag->answer)
+        use_spatial_filter = spatial_filter_from_current_region(&xmin,
+                                                                &ymin,
+                                                                &xmax,
+                                                                &ymax);
+
+    double zrange_min, zrange_max;
+    bool use_zrange = zrange_filter_from_option(zrange_opt, &zrange_min,
+                                                &zrange_max);
+    struct ReturnFilter return_filter_struct;
+    bool use_return_filter =
+        return_filter_create_from_string(&return_filter_struct,
+                                         filter_opt->answer);
+    struct ClassFilter class_filter;
+    bool use_class_filter =
+        class_filter_create_from_strings(&class_filter, class_opt->answers);
+
+    pdal::StageFactory factory;
+    std::string pdal_read_driver = factory.inferReaderDriver(in_opt->answer);
+    if (pdal_read_driver.empty())
+        G_fatal_error("Cannot determine input file type of <%s>",
+                      in_opt->answer);
+
+    pdal::Option las_opt("filename", in_opt->answer);
+    pdal::Options las_opts;
+    las_opts.add(las_opt);
+    // TODO: free reader
+    // using plain pointer because we need to keep the last stage pointer
+    pdal::Stage * reader = factory.createStage(pdal_read_driver);
+    if (!reader)
+        G_fatal_error("PDAL reader creation failed, a wrong format of <%s>",
+                      in_opt->answer);
+    reader->setOptions(las_opts);
+
+    pdal::Stage * last_stage = reader;
+    pdal::ReprojectionFilter reprojection_filter;
+
+    // we reproject when requested regardless the input projection
+    if (reproject_flag->answer) {
+        G_message(_("Reprojecting the input to the location projection"));
+        char *proj_wkt = location_projection_as_wkt(false);
+        pdal::Options o4;
+        // TODO: try catch for user input error
+        if (input_srs_opt->answer)
+            o4.add<std::string>("in_srs", input_srs_opt->answer);
+        o4.add<std::string>("out_srs", proj_wkt);
+        reprojection_filter.setOptions(o4);
+        reprojection_filter.setInput(*reader);
+        last_stage = &reprojection_filter;
+    }
+
+    if (extract_ground_flag->answer || classify_ground_flag->answer) {
+        if (extract_ground_flag->answer)
+            G_message(_("Extracting ground points"));
+        if (classify_ground_flag->answer)
+            G_message(_("Classifying ground points"));
+        pdal::Options groundOptions;
+        groundOptions.add<double>("max_window_size",
+                                  atof(max_ground_window_opt->answer));
+        groundOptions.add<double>("slope",
+                                  atof(ground_slope_opt->answer));
+        groundOptions.add<double>("max_distance",
+                                  atof(max_ground_distance_opt->answer));
+        groundOptions.add<double>("initial_distance",
+                                  atof(init_ground_distance_opt->answer));
+        groundOptions.add<double>("cell_size",
+                                  atof(ground_cell_size_opt->answer));
+        groundOptions.add<bool>("classify",
+                                classify_ground_flag->answer);
+        groundOptions.add<bool>("extract",
+                                extract_ground_flag->answer);
+        groundOptions.add<bool>("approximate",
+                                approx_ground_flag->answer);
+        groundOptions.add<bool>("debug", false);
+        groundOptions.add<uint32_t>("verbose", 0);
+
+        // TODO: free this or change pointer type to shared
+        pdal::Stage * ground_stage(factory.createStage("filters.ground"));
+        if (!ground_stage)
+            G_fatal_error(_("Ground filter is not available"
+                            " (PDAL probably compiled without PCL)"));
+        ground_stage->setOptions(groundOptions);
+        ground_stage->setInput(*last_stage);
+        last_stage = ground_stage;
+    }
+
+    if (height_filter_flag->answer) {
+        // TODO: we should test with if (point_view->hasDim(Id::Classification))
+        // but we don't have the info yet
+        // TODO: free this or change pointer type to shared
+        pdal::Stage * height_stage(factory.createStage("filters.height"));
+        if (!height_stage)
+            G_fatal_error(_("Height above ground filter is not available"
+                            " (PDAL probably compiled without PCL)"));
+        height_stage->setInput(*last_stage);
+        last_stage = height_stage;
+    }
+
+    pdal::PointTable point_table;
+    last_stage->prepare(point_table);
+
+    // getting projection is possible only after prepare
+    if (over_flag->answer) {
+        G_important_message(_("Overriding projection check and assuming"
+                              " that the projection of input matches"
+                              " the location projection"));
+    }
+    else if (!reproject_flag->answer) {
+        pdal::SpatialReference spatial_reference = reader->getSpatialReference();
+        if (spatial_reference.empty())
+            G_fatal_error(_("The input dataset has undefined projection"));
+        std::string dataset_wkt =
+            spatial_reference.
+            getWKT(pdal::SpatialReference::eHorizontalOnly);
+        bool proj_match = is_wkt_projection_same_as_loc(dataset_wkt.c_str());
+        if (!proj_match)
+            wkt_projection_mismatch_report(dataset_wkt.c_str());
+    }
+
+    G_important_message(_("Running PDAL algorithms..."));
+    pdal::PointViewSet point_view_set = last_stage->execute(point_table);
+    pdal::PointViewPtr point_view = *point_view_set.begin();
+
+    // TODO: test also z
+    // TODO: the falses for filters should be perhaps fatal error
+    // (bad input) or warning if filter was requested by the user
+
+    struct GLidarLayers layers;
+    GLidarLayers_set_default_layers(&layers);
+
+    // update layers we are writting based on what is in the data
+    // update usage of our filters as well
+    if (point_view->hasDim(pdal::Dimension::Id::ReturnNumber) &&
+        point_view->hasDim(pdal::Dimension::Id::NumberOfReturns)) {
+        use_return_filter = true;
+    }
+    else {
+        layers.return_layer = 0;
+        layers.n_returns_layer = 0;
+        use_return_filter = false;
+    }
+
+    if (point_view->hasDim(pdal::Dimension::Id::Classification)) {
+        use_class_filter = true;
+    }
+    else {
+        layers.class_layer = 0;
+        use_class_filter = false;
+    }
+
+    if (!(point_view->hasDim(pdal::Dimension::Id::Red) &&
+            point_view->hasDim(pdal::Dimension::Id::Green) &&
+            point_view->hasDim(pdal::Dimension::Id::Blue) &&
+            (layers.rgb_layer || layers.red_layer
+             || layers.green_layer || layers.blue_layer))) {
+        layers.rgb_layer = 0;
+        layers.red_layer = 0;
+        layers.green_layer = 0;
+        layers.blue_layer = 0;
+    }
+    if (idcat_flag->answer)
+        layers.id_layer = G_ID_LAYER;
+
+    // we just force it without any checking (we rely on the options)
+    if (nocats_flag->answer) {
+        GLidarLayers_set_no_layers(&layers);
+    }
+
+    G_important_message(_("Scanning points..."));
+    struct Map_info output_vector;
+
+    // the overwrite warning comes quite late in the execution
+    // but that's good enough
+    if (Vect_open_new(&output_vector, out_opt->answer, 1) < 0)
+        G_fatal_error(_("Unable to create vector map <%s>"), out_opt->answer);
+    Vect_hist_command(&output_vector);
+
+    // height is stored as a new attribute
+    if (height_filter_flag->answer) {
+        dim_to_use_as_z = point_view->layout()->findDim("Height");
+        if (dim_to_use_as_z == pdal::Dimension::Id::Unknown)
+            G_fatal_error(_("Cannot indentify the height dimension"
+                            " (probably something changed in PDAL)"));
+    }
+
+    // this is just for sure, we test the individual dimensions before
+    // TODO: should we test Z explicitly as well?
+    if (!point_view->hasDim(dim_to_use_as_z))
+        G_fatal_error(_("Dataset doesn't have requested dimension '%s'"
+                        " with ID %d (possibly a programming error)"),
+                      pdal::Dimension::name(dim_to_use_as_z).c_str(),
+                      dim_to_use_as_z);
+
+    struct line_pnts *points = Vect_new_line_struct();
+    struct line_cats *cats = Vect_new_cats_struct();
+
+    gpoint_count n_outside = 0;
+    gpoint_count zrange_filtered = 0;
+    gpoint_count n_filtered = 0;
+    gpoint_count n_class_filtered = 0;
+
+    int cat = 1;
+    bool cat_max_reached = false;
+
+    for (pdal::PointId idx = 0; idx < point_view->size(); ++idx) {
+        // TODO: avoid duplication of reading the attributes here and when writing if needed
+        double x = point_view->getFieldAs<double>(pdal::Dimension::Id::X, idx);
+        double y = point_view->getFieldAs<double>(pdal::Dimension::Id::Y, idx);
+        double z = point_view->getFieldAs<double>(dim_to_use_as_z, idx);
+
+        if (use_spatial_filter) {
+            if (x < xmin || x > xmax || y < ymin || y > ymax) {
+                n_outside++;
+                continue;
+            }
+        }
+        if (use_zrange) {
+            if (z < zrange_min || z > zrange_max) {
+                zrange_filtered++;
+                continue;
+            }
+        }
+        if (use_return_filter) {
+            int return_n =
+                point_view->getFieldAs<int>(pdal::Dimension::Id::ReturnNumber, idx);
+            int n_returns =
+                point_view->getFieldAs<int>(pdal::Dimension::Id::NumberOfReturns, idx);
+            if (return_filter_is_out
+                (&return_filter_struct, return_n, n_returns)) {
+                n_filtered++;
+                continue;
+            }
+        }
+        if (use_class_filter) {
+            int point_class =
+                point_view->getFieldAs<int>(pdal::Dimension::Id::Classification, idx);
+            if (class_filter_is_out(&class_filter, point_class)) {
+                n_class_filtered++;
+                continue;
+            }
+        }
+        pdal_point_to_grass(&output_vector, points, cats, point_view,
+                            idx, &layers, cat, dim_to_use_as_z);
+        if (layers.id_layer) {
+            // TODO: perhaps it would be better to use the max cat afterwords
+            if (cat == GV_CAT_MAX) {
+                cat_max_reached = true;
+                break;
+            }
+            cat++;
+        }
+    }
+    // not building topology by default
+    Vect_close(&output_vector);
+}
diff --git a/vector/v.in.pdal/projection.c b/vector/v.in.pdal/projection.c
new file mode 100644
index 0000000..5f9895f
--- /dev/null
+++ b/vector/v.in.pdal/projection.c
@@ -0,0 +1,214 @@
+/*
+ * projection checking
+ *
+ * Copyright 2011-2015 by Markus Metz, and The GRASS Development Team
+ * Authors:
+ *  Markus Metz (v.in.lidar)
+ *  Vaclav Petras (move code to standalone functions)
+ *
+ * This program is free software licensed under the GPL (>=v2).
+ * Read the COPYING file that comes with GRASS for details.
+ *
+ */
+
+#include <string.h>
+
+#include <grass/gis.h>
+#include <grass/glocale.h>
+#include <grass/gprojects.h>
+
+void projection_mismatch_report(struct Cell_head cellhd,
+                                struct Cell_head loc_wind,
+                                struct Key_Value *loc_proj_info,
+                                struct Key_Value *loc_proj_units,
+                                struct Key_Value *proj_info,
+                                struct Key_Value *proj_units, int err)
+{
+    int i_value;
+    char error_msg[8192];
+
+    strcpy(error_msg,
+           _("Projection of dataset does not"
+             " appear to match current location.\n\n"));
+
+    /* TODO: output this info sorted by key: */
+    if (loc_wind.proj != cellhd.proj || err != -2) {
+        if (loc_proj_info != NULL) {
+            strcat(error_msg, _("GRASS LOCATION PROJ_INFO is:\n"));
+            for (i_value = 0; i_value < loc_proj_info->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        loc_proj_info->key[i_value],
+                        loc_proj_info->value[i_value]);
+            strcat(error_msg, "\n");
+        }
+
+        if (proj_info != NULL) {
+            strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
+            for (i_value = 0; i_value < proj_info->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        proj_info->key[i_value], proj_info->value[i_value]);
+        }
+        else {
+            strcat(error_msg, _("Import dataset PROJ_INFO is:\n"));
+            if (cellhd.proj == PROJECTION_XY)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (unreferenced/unknown)\n",
+                        cellhd.proj);
+            else if (cellhd.proj == PROJECTION_LL)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (lat/long)\n", cellhd.proj);
+            else if (cellhd.proj == PROJECTION_UTM)
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (UTM), zone = %d\n",
+                        cellhd.proj, cellhd.zone);
+            else
+                sprintf(error_msg + strlen(error_msg),
+                        "Dataset proj = %d (unknown), zone = %d\n",
+                        cellhd.proj, cellhd.zone);
+        }
+    }
+    else {
+        if (loc_proj_units != NULL) {
+            strcat(error_msg, "GRASS LOCATION PROJ_UNITS is:\n");
+            for (i_value = 0; i_value < loc_proj_units->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        loc_proj_units->key[i_value],
+                        loc_proj_units->value[i_value]);
+            strcat(error_msg, "\n");
+        }
+
+        if (proj_units != NULL) {
+            strcat(error_msg, "Import dataset PROJ_UNITS is:\n");
+            for (i_value = 0; i_value < proj_units->nitems; i_value++)
+                sprintf(error_msg + strlen(error_msg), "%s: %s\n",
+                        proj_units->key[i_value], proj_units->value[i_value]);
+        }
+    }
+    sprintf(error_msg + strlen(error_msg),
+            _("\nIn case of no significant differences in the projection definitions,"
+             " use the -o flag to ignore them and use"
+             " current location definition.\n"));
+    strcat(error_msg,
+           _("Consider generating a new location with 'location' parameter"
+             " from input data set.\n"));
+    G_fatal_error("%s", error_msg);
+}
+
+void projection_check_wkt(struct Cell_head cellhd,
+                          struct Cell_head loc_wind,
+                          const char *projstr, int override, int verbose)
+{
+    struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
+    struct Key_Value *proj_info, *proj_units;
+    int err = 0;
+
+    proj_info = NULL;
+    proj_units = NULL;
+
+    /* Projection only required for checking so convert non-interactively */
+    if (GPJ_wkt_to_grass(&cellhd, &proj_info, &proj_units, projstr, 0) < 0)
+        G_warning(_("Unable to convert input map projection information to "
+                    "GRASS format for checking"));
+
+    /* Does the projection of the current location match the dataset? */
+
+    /* fetch LOCATION PROJ info */
+    if (loc_wind.proj != PROJECTION_XY) {
+        loc_proj_info = G_get_projinfo();
+        loc_proj_units = G_get_projunits();
+    }
+
+    if (override) {
+        cellhd.proj = loc_wind.proj;
+        cellhd.zone = loc_wind.zone;
+        if (verbose)
+            G_message(_("Overriding projection check"));
+    }
+    else if (loc_wind.proj != cellhd.proj
+             || (err =
+                 G_compare_projections(loc_proj_info, loc_proj_units,
+                                       proj_info, proj_units)) != TRUE) {
+        projection_mismatch_report(cellhd, loc_wind, loc_proj_info,
+                                   loc_proj_units,
+                                   proj_info, proj_units, err);
+    }
+    else {
+        if (verbose) {
+            G_message(_("Projection of input dataset and current location "
+                        "appear to match"));
+        }
+    }
+}
+
+
+/* Does the projection of the current location match the dataset? */
+int is_wkt_projection_same_as_loc(const char *wkt)
+{
+    struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
+    struct Key_Value *proj_info = NULL, *proj_units = NULL;
+    struct Cell_head cellhd;
+    struct Cell_head loc_wind;
+
+    G_get_default_window(&loc_wind);
+
+    /* Projection only required for checking so convert non-interactively */
+    if (GPJ_wkt_to_grass(&cellhd, &proj_info, &proj_units, wkt, 0) < 0)
+        G_warning(_("Unable to convert input map projection information to "
+                    "GRASS format for checking"));
+
+    /* fetch LOCATION PROJ info */
+    if (loc_wind.proj != PROJECTION_XY) {
+        loc_proj_info = G_get_projinfo();
+        loc_proj_units = G_get_projunits();
+    }
+
+    if (loc_wind.proj != cellhd.proj) {
+        return FALSE;
+    }
+    else if (G_compare_projections(loc_proj_info, loc_proj_units,
+                                   proj_info, proj_units) != 1) {
+        return FALSE;
+    }
+    else {
+        return TRUE;
+    }
+}
+
+/* Does the projection of the current location match the dataset? */
+void wkt_projection_mismatch_report(const char *wkt)
+{
+    struct Key_Value *loc_proj_info = NULL, *loc_proj_units = NULL;
+    struct Key_Value *proj_info = NULL, *proj_units = NULL;
+    struct Cell_head cellhd;
+    struct Cell_head loc_wind;
+
+    G_get_default_window(&loc_wind);
+
+    /* Projection only required for checking so convert non-interactively */
+    if (GPJ_wkt_to_grass(&cellhd, &proj_info, &proj_units, wkt, 0) < 0)
+        G_warning(_("Unable to convert input map projection information to "
+                    "GRASS format for checking"));
+
+    /* fetch LOCATION PROJ info */
+    if (loc_wind.proj != PROJECTION_XY) {
+        loc_proj_info = G_get_projinfo();
+        loc_proj_units = G_get_projunits();
+    }
+    int err = G_compare_projections(loc_proj_info, loc_proj_units,
+                                    proj_info, proj_units);
+
+    projection_mismatch_report(cellhd, loc_wind, loc_proj_info,
+                               loc_proj_units, proj_info, proj_units, err);
+}
+
+/* caller should free the returned string */
+char *location_projection_as_wkt(int prettify)
+{
+    struct Key_Value *proj_info = G_get_projinfo();
+    struct Key_Value *proj_units = G_get_projunits();
+    char *proj_wkt = GPJ_grass_to_wkt(proj_info, proj_units, FALSE, prettify);
+
+    G_free_key_value(proj_info);
+    G_free_key_value(proj_units);
+    return proj_wkt;
+}
diff --git a/vector/v.in.pdal/projection.h b/vector/v.in.pdal/projection.h
new file mode 100644
index 0000000..5024383
--- /dev/null
+++ b/vector/v.in.pdal/projection.h
@@ -0,0 +1,35 @@
+
+/****************************************************************************
+ *
+ * MODULE:       v.in.lidar
+ * AUTHOR(S):    Vaclav Petras
+ * PURPOSE:      projection related functions
+ * COPYRIGHT:    (C) 2015 by the GRASS Development Team
+ *
+ *               This program is free software under the GNU General Public
+ *               License (>=v2). Read the COPYING file that comes with GRASS
+ *               for details.
+ *
+ *****************************************************************************/
+
+
+#ifndef PROJECTION_CHECKS_H
+#define PROJECTION_CHECKS_H
+
+void projection_mismatch_report(struct Cell_head cellhd,
+                                struct Cell_head loc_wind,
+                                struct Key_Value *loc_proj_info,
+                                struct Key_Value *loc_proj_units,
+                                struct Key_Value *proj_info,
+                                struct Key_Value *proj_units, int err);
+
+void projection_check_wkt(struct Cell_head cellhd,
+                          struct Cell_head loc_wind,
+                          const char *projstr, int override,
+                          int return_value, int verbose);
+
+int is_wkt_projection_same_as_loc(const char *wkt);
+void wkt_projection_mismatch_report(const char *wkt);
+char *location_projection_as_wkt(int prettify);
+
+#endif /* PROJECTION_CHECKS_H */
diff --git a/vector/v.in.pdal/testsuite/basic_test.py b/vector/v.in.pdal/testsuite/basic_test.py
new file mode 100644
index 0000000..0aa765a
--- /dev/null
+++ b/vector/v.in.pdal/testsuite/basic_test.py
@@ -0,0 +1,71 @@
+"""
+Name:      basic_test
+Purpose:   v.in.pdal basic functionality test
+
+Author:    Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class BasicTest(TestCase):
+    """Test case for watershed module
+
+    This tests expects v.random and v.out.lidar to work properly.
+    """
+
+    # Setup variables to be used for outputs
+    vector_generated = 'vinlidar_basic_generated'
+    vector_points = 'vinlidar_basic_original'
+    imported_points = 'vinlidar_basic_imported'
+    las_file = 'vinlidar_basic_points.las'
+    npoints = 300
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and generated data"""
+        cls.use_temp_region()
+        cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+        cls.runModule('v.random', flags='zb', output=cls.vector_generated,
+            npoints=cls.npoints, zmin=200, zmax=500, seed=100)
+        cls.runModule('v.category', input=cls.vector_generated,
+            output=cls.vector_points, option='del', cat=-1)
+        cls.runModule('v.out.lidar', input=cls.vector_points,
+            output=cls.las_file)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region and generated data"""
+        cls.runModule('g.remove', flags='f', type='vector',
+            name=(cls.vector_points, cls.vector_generated))
+        if os.path.isfile(cls.las_file):
+            os.remove(cls.las_file)
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created by the import
+
+        This is executed after each test run.
+        """
+        self.runModule('g.remove', flags='f', type='vector',
+            name=self.imported_points)
+
+    def test_same_data(self):
+        """Test to see if the standard outputs are created"""
+        self.assertModule('v.in.pdal', input=self.las_file, flags='c',
+            output=self.imported_points)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorEqualsVector(
+            actual=self.imported_points,
+            reference=self.vector_points,
+            digits=2, precision=.01)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.in.pdal/testsuite/filter_test.py b/vector/v.in.pdal/testsuite/filter_test.py
new file mode 100644
index 0000000..f47a3e8
--- /dev/null
+++ b/vector/v.in.pdal/testsuite/filter_test.py
@@ -0,0 +1,208 @@
+"""
+Name:      filter_test
+Purpose:   v.in.pdal test if various filters and selections
+
+Author:    Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+POINTS = """\
+17.46938776,18.67346939,143,1,1,2
+20.93877551,17.44897959,125,1,1,2
+18.89795918,14.18367347,130,1,1,3
+15.91836735,10.67346939,126,1,1,3
+21.26530612,11.04081633,128,1,2,3
+22.24489796,13.89795918,123,2,2,3
+23.79591837,17.12244898,151,1,2,3
+17.2244898,16.34693878,124,2,2,4
+17.14285714,14.10204082,134,1,3,4
+19.87755102,11.81632653,146,2,3,4
+18.48979592,11.48979592,140.6,2,3,4
+21.26530612,15.73469388,147,3,3,5
+21.18367347,19.32653061,138,1,3,5
+23.91836735,18.83673469,144,2,3,5
+23.51020408,13.65306122,143,3,3,5
+23.55102041,11.32653061,123,1,4,5
+18.41009273,14.51618034,140.4,2,4,5
+22.13996161,17.2278263,147,3,4,5
+21.41013052,11.05432488,132,4,4,5
+"""
+
+
+class FilterTest(TestCase):
+    """Test case for filter and selection options
+
+    This tests expects v.random and v.out.lidar to work properly.
+    """
+
+    # Setup variables to be used for outputs
+    vector_points = 'vinlidar_filters_original'
+    imported_points = 'vinlidar_filters_imported'
+    las_file = 'vinlidar_filters_points.las'
+    npoints = 300
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and generated data"""
+        cls.use_temp_region()
+        cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+        cls.runModule('v.in.ascii', input='-', stdin_=POINTS,
+                      flags='z', z=3, cat=0, separator='comma',
+                      output=cls.vector_points,
+                      columns="x double precision, y double precision,"
+                              " z double precision, return_n integer,"
+                              " n_returns integer, class_n integer")
+        cls.runModule('v.out.lidar',
+                      input=cls.vector_points, layer=1,
+                      output=cls.las_file,
+                      return_column='return_n',
+                      n_returns_column='n_returns',
+                      class_column='class_n')
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region and generated data"""
+        cls.runModule('g.remove', flags='f', type='vector',
+            name=cls.vector_points)
+        if os.path.isfile(cls.las_file):
+            os.remove(cls.las_file)
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created by the import
+
+        This is executed after each test run.
+        """
+        self.runModule('g.remove', flags='f', type='vector',
+            name=self.imported_points)
+
+    def test_no_filter(self):
+        """Test to see if the standard outputs are created
+
+        This shows if the inpute data are as expected.
+        """
+        self.assertModule('v.in.pdal', input=self.las_file,
+            output=self.imported_points)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=19))
+
+    def return_filter(self, name, npoints):
+        """Mid return filter test"""
+        self.assertModule('v.in.pdal', input=self.las_file,
+            output=self.imported_points,
+            return_filter=name)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=npoints))
+
+    def test_first_return_filter(self):
+        """First return filter test"""
+        self.return_filter('first', 9)
+
+    def test_mid_return_filter(self):
+        """Mid return filter test"""
+        self.return_filter('mid', 5)
+
+    def test_last_return_filter(self):
+        """Last return filter test"""
+        self.return_filter('last', 5)
+
+    def class_filter(self, class_n, npoints):
+        """Actual code for testing class filter"""
+        self.assertModule('v.in.pdal', input=self.las_file,
+            output=self.imported_points,
+            class_filter=class_n)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=npoints))
+
+    def test_class_2_filter(self):
+        """Test to filter classes"""
+        self.class_filter(2, 2)
+
+    def test_class_3_filter(self):
+        """Test to filter classes"""
+        self.class_filter(3, 5)
+
+    def test_class_4_filter(self):
+        """Test to filter classes"""
+        self.class_filter(4, 4)
+
+    def test_class_5_filter(self):
+        """Test to filter classes"""
+        self.class_filter(5, 8)
+
+    def return_and_class_filter(self, return_name, class_n, npoints):
+        """Return and class filter combined test code"""
+        self.assertModule('v.in.pdal', input=self.las_file,
+            output=self.imported_points,
+            return_filter=return_name, class_filter=class_n)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=npoints))
+
+    def test_first_return_and_class_filter(self):
+        """Combined test for return and class"""
+        self.return_and_class_filter('first', 2, 2)
+
+    def test_last_return_and_class_filter(self):
+        """Combined test for return and class"""
+        self.return_and_class_filter('last', 5, 3)
+
+    def zrange_filter(self, zrange, npoints):
+        """Actual code for zrange option test"""
+        self.assertModule('v.in.pdal', input=self.las_file,
+            output=self.imported_points,
+            zrange=zrange)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=npoints))
+
+    def test_zrange_filter(self):
+        """Test zrange option"""
+        self.zrange_filter((130.1, 139.9), 3)
+
+    def test_non_int_zrange_filter(self):
+        """Test zrange option with float number
+
+        One test point has z right under and one other right above the min.
+        """
+        self.zrange_filter((140.5, 900), 8)
+
+    def test_zrange_and_class_filter(self):
+        """zrange and class_filter option combined test"""
+        self.assertModule('v.in.pdal', input=self.las_file,
+            output=self.imported_points,
+            zrange=(141, 900), class_filter=5)
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=4))
+
+    def test_zrange_and_return_filter(self):
+        """zrange and class_filter option combined test"""
+        self.assertModule('v.in.pdal', input=self.las_file,
+            output=self.imported_points,
+            zrange=(141, 900), return_filter='last')
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorFitsTopoInfo(
+            vector=self.imported_points,
+            reference=dict(points=2))
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.in.pdal/v.in.pdal.html b/vector/v.in.pdal/v.in.pdal.html
new file mode 100644
index 0000000..aa25b6e
--- /dev/null
+++ b/vector/v.in.pdal/v.in.pdal.html
@@ -0,0 +1,39 @@
+<h2>DESCRIPTION</h2>
+
+<em>v.in.pdal</em> supports the following PDAL filters:
+
+<ul>
+<li>groud detection with Point Cloud Library (PCL) Progressive Morphological Filter (Zhang 2003)
+    (<a href="http://www.pdal.io/stages/filters.ground.html">filters.ground</a>)
+<li><a href="http://www.pdal.io/stages/filters.height.html">filters.height</a>
+    (requires PCL)
+</ul>
+
+<em>v.in.pdal</em> supports the following filters natively:
+
+<ul>
+<li>2D region filter
+<li>Z coordinates filter
+<li>return filter
+<li>class filter
+</ul>
+
+<h2>EXAMPLES</h2>
+
+Import only XYZ coordinates of points, limit the import to the current
+computational region and reproject to the Location projection during
+the import:
+<div class="code"><pre>
+v.in.pdal input=points.las output=points -c -r -w
+</pre></div>
+
+
+<h2>REFERENCES</h2>
+
+<ul>
+<li>Zhang, Keqi, et al.
+    <em>A progressive morphological filter for removing nonground
+    measurements from airborne LIDAR data.</em>
+    Geoscience and Remote Sensing,
+    IEEE Transactions on 41.4 (2003): 872-882.
+</ul>
diff --git a/vector/v.in.region/v.in.region.html b/vector/v.in.region/v.in.region.html
index 13c7561..a7bd6fa 100644
--- a/vector/v.in.region/v.in.region.html
+++ b/vector/v.in.region/v.in.region.html
@@ -22,4 +22,4 @@ region to the raster map to be reprojected with
 Radim Blazek
 
 <p>
-<i>Last changed: $Date: 2013-08-11 23:34:24 +0200 (Sun, 11 Aug 2013) $</i>
+<i>Last changed: $Date: 2013-08-11 14:34:24 -0700 (Sun, 11 Aug 2013) $</i>
diff --git a/vector/v.info/v.info.html b/vector/v.info/v.info.html
index 6a582c2..26a7fba 100644
--- a/vector/v.info/v.info.html
+++ b/vector/v.info/v.info.html
@@ -128,10 +128,10 @@ bottom=0.000000
 
 <h2>PYTHON</h2>
 
-See <em><a href="http://grass.osgeo.org/grass70/manuals/libpython/">Python
+See <em><a href="http://grass.osgeo.org/grass71/manuals/libpython/">Python
 Scripting Library</a></em> for more info.
 <p>
-Note: The Python shell in the <em>wxGUI</em> can be used for entering the
+Note: The Python tab in the <em>wxGUI</em> can be used for entering the
 following code:
 <p>
 <div class="code"><pre>
@@ -156,4 +156,4 @@ Updated to GRASS 6 by Radim Blazek, ITC-Irst, Trento, Italy<br>
 Level 1 support by Markus Metz<br>
 Updated to GRASS 7 by Martin Landa, CTU in Prague, Czech Republic
 
-<p><i>Last changed: $Date: 2014-12-09 18:31:29 +0100 (Tue, 09 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-02-18 17:42:11 -0800 (Thu, 18 Feb 2016) $</i>
diff --git a/vector/v.kcv/v.kcv.html b/vector/v.kcv/v.kcv.html
index faa87b9..e32d8e1 100644
--- a/vector/v.kcv/v.kcv.html
+++ b/vector/v.kcv/v.kcv.html
@@ -67,4 +67,4 @@ OGR support by Martin Landa (2009)<br>
 Speed-up by Jan Vandrol and Jan Ruzicka (2013)
 
 <p>
-<i>Last changed: $Date: 2014-11-28 17:25:40 +0100 (Fri, 28 Nov 2014) $</i>
+<i>Last changed: $Date: 2014-11-28 08:22:17 -0800 (Fri, 28 Nov 2014) $</i>
diff --git a/vector/v.kernel/main.c b/vector/v.kernel/main.c
index 15a858f..79497bf 100644
--- a/vector/v.kernel/main.c
+++ b/vector/v.kernel/main.c
@@ -736,7 +736,7 @@ double compute_all_net_distances(struct Map_info *In, struct Map_info *Net,
 		Vect_net_shortest_path_coor(Net, APoints->x[0], APoints->y[0],
 					    0.0, BPoints->x[0], BPoints->y[0],
 					    0.0, netmax, netmax, &dist, NULL,
-					    NULL, NULL, NULL, NULL, NULL);
+					    NULL, NULL, NULL, NULL, NULL, NULL);
 
 	    G_debug(3, "  SP: %f %f -> %f %f", APoints->x[0], APoints->y[0],
 		    BPoints->x[0], BPoints->y[0]);
@@ -821,9 +821,9 @@ void compute_net_distance(double x, double y, struct Map_info *In,
 	G_debug(3, "  SP: %f %f -> %f %f", x, y, PointsList->box[i].E, PointsList->box[i].N);
 	/*ret = Vect_net_shortest_path_coor(Net, x, y, 0.0, Points->x[0], */
 	/*Points->y[0], 0.0, netmax, netmax, */
-	/*&dist, NULL, NULL, NULL, NULL, NULL, */
+	/*&dist, NULL, NULL, NULL, NULL, NULL, NULL, */
 	/*NULL); */
-	ret = Vect_net_shortest_path_coor2(Net,
+	ret = Vect_net_shortest_path_coor(Net,
 					   PointsList->box[i].E,
 					   PointsList->box[i].N, 0.0,
 					   x, y, 0.0, netmax, 1.0,
diff --git a/vector/v.kernel/v.kernel.html b/vector/v.kernel/v.kernel.html
index ddd0068..c49eefe 100644
--- a/vector/v.kernel/v.kernel.html
+++ b/vector/v.kernel/v.kernel.html
@@ -52,4 +52,4 @@ Stefano Menegon, <a href="http://mpa.itc.it/">ITC-irst</a>, Trento, Italy<br>
 Radim Blazek (additional kernel density functions and network part)
 
 <p>
-<i>Last changed: $Date: 2015-08-13 18:32:08 +0200 (Thu, 13 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-13 09:28:06 -0700 (Thu, 13 Aug 2015) $</i>
diff --git a/vector/v.label.sa/v.label.sa.html b/vector/v.label.sa/v.label.sa.html
index 8a3fa61..09e5be0 100644
--- a/vector/v.label.sa/v.label.sa.html
+++ b/vector/v.label.sa/v.label.sa.html
@@ -47,5 +47,5 @@ The algorithm works by the principle of Simulated Annealing.
 <h2>AUTHOR</h2>
 Wolf Bergenheim
 <br>
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
 
diff --git a/vector/v.label/v.label.html b/vector/v.label/v.label.html
index 42acb06..62a7d62 100644
--- a/vector/v.label/v.label.html
+++ b/vector/v.label/v.label.html
@@ -221,4 +221,4 @@ Philip Verhagen (original s.label)<br>
 Radim Blazek (GRASS 6 port)<br>
 Hamish Bowman (enhancements)
 
-<p><i>Last changed: $Date: 2014-12-12 00:16:30 +0100 (Fri, 12 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-11 15:12:46 -0800 (Thu, 11 Dec 2014) $</i>
diff --git a/vector/v.lidar.correction/v.lidar.correction.html b/vector/v.lidar.correction/v.lidar.correction.html
index a7d4108..aaf98f0 100644
--- a/vector/v.lidar.correction/v.lidar.correction.html
+++ b/vector/v.lidar.correction/v.lidar.correction.html
@@ -112,5 +112,5 @@ Performances of the filter can be seen in the
 <a href="http://www.itc.nl/isprswgIII-3/filtertest/MainDoc.htm">ISPRS WG III/3 Comparison of Filters</a> 
 report by Sithole, G. and Vosselman, G., 2003. 
 
-<p><i>Last changed: $Date: 2015-10-09 20:18:18 +0200 (Fri, 09 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-07 19:45:01 -0700 (Mon, 07 Sep 2015) $</i>
 
diff --git a/vector/v.lidar.edgedetection/v.lidar.edgedetection.html b/vector/v.lidar.edgedetection/v.lidar.edgedetection.html
index 2f1679d..4c66f7d 100644
--- a/vector/v.lidar.edgedetection/v.lidar.edgedetection.html
+++ b/vector/v.lidar.edgedetection/v.lidar.edgedetection.html
@@ -162,4 +162,4 @@ Update for GRASS 6.X:
 Roberto Antolin and Gonzalo Moreno
 
 <p>
-<i>Last changed: $Date: 2015-10-09 20:24:22 +0200 (Fri, 09 Oct 2015) $</i>
+<i>Last changed: $Date: 2015-09-13 05:47:50 -0700 (Sun, 13 Sep 2015) $</i>
diff --git a/vector/v.lidar.growing/v.lidar.growing.html b/vector/v.lidar.growing/v.lidar.growing.html
index 227724d..179199d 100644
--- a/vector/v.lidar.growing/v.lidar.growing.html
+++ b/vector/v.lidar.growing/v.lidar.growing.html
@@ -92,5 +92,5 @@ Performances of the filter can be seen in the
 report by Sithole, G. and Vosselman, G., 2003. 
 <br>
 
-<p><i>Last changed: $Date: 2015-10-09 20:18:18 +0200 (Fri, 09 Oct 2015) $</i>
+<p><i>Last changed: $Date: 2015-09-07 19:45:01 -0700 (Mon, 07 Sep 2015) $</i>
 
diff --git a/vector/v.lrs/lrs.html b/vector/v.lrs/lrs.html
index 9caf7db..66f60ce 100644
--- a/vector/v.lrs/lrs.html
+++ b/vector/v.lrs/lrs.html
@@ -181,4 +181,4 @@ Radim Blazek, ITC-irst/MPA Solutions Trento<br>
 Documentation update (based on above journal article and available fragments): Markus Neteler
 
 <p>
-<i>Last changed: $Date: 2014-04-20 19:54:31 +0200 (Sun, 20 Apr 2014) $</i>
+<i>Last changed: $Date: 2014-04-20 03:47:59 -0700 (Sun, 20 Apr 2014) $</i>
diff --git a/vector/v.lrs/v.lrs.create/v.lrs.create.html b/vector/v.lrs/v.lrs.create/v.lrs.create.html
index aa72c7a..38f937c 100644
--- a/vector/v.lrs/v.lrs.create/v.lrs.create.html
+++ b/vector/v.lrs/v.lrs.create/v.lrs.create.html
@@ -154,4 +154,4 @@ d.vect route_lrs col=blue width=2
 Radim Blazek, ITC-irst/MPA Solutions<br>
 Documentation update (based on above journal article and available fragments): Markus Neteler
 
-<p><i>Last changed: $Date: 2015-12-17 15:41:28 +0100 (Thu, 17 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-17 06:38:13 -0800 (Thu, 17 Dec 2015) $</i>
diff --git a/vector/v.lrs/v.lrs.label/v.lrs.label.html b/vector/v.lrs/v.lrs.label/v.lrs.label.html
index 52e4a76..465a0f7 100644
--- a/vector/v.lrs/v.lrs.label/v.lrs.label.html
+++ b/vector/v.lrs/v.lrs.label/v.lrs.label.html
@@ -33,4 +33,4 @@ d.labels labels
 Radim Blazek, ITC-irst/MPA Solutions<br>
 Documentation update (based on above journal article and available fragments): Markus Neteler
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/vector/v.lrs/v.lrs.segment/v.lrs.segment.html b/vector/v.lrs/v.lrs.segment/v.lrs.segment.html
index 8910d93..61afb07 100644
--- a/vector/v.lrs/v.lrs.segment/v.lrs.segment.html
+++ b/vector/v.lrs/v.lrs.segment/v.lrs.segment.html
@@ -60,4 +60,4 @@ Figure out how to merge result into existing LRS map and table.
 Radim Blazek
 
 <p>
-<i>Last changed: $Date: 2015-12-17 15:41:28 +0100 (Thu, 17 Dec 2015) $</i>
+<i>Last changed: $Date: 2015-12-17 06:38:13 -0800 (Thu, 17 Dec 2015) $</i>
diff --git a/vector/v.lrs/v.lrs.where/v.lrs.where.html b/vector/v.lrs/v.lrs.where/v.lrs.where.html
index d40adf6..e61c1fa 100644
--- a/vector/v.lrs/v.lrs.where/v.lrs.where.html
+++ b/vector/v.lrs/v.lrs.where/v.lrs.where.html
@@ -47,4 +47,4 @@ d.vect newpoints col=red
 Radim Blazek, ITC-irst/MPA Solutions<br>
 Documentation update (based on above journal article and available fragments): Markus Neteler
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/vector/v.mkgrid/main.c b/vector/v.mkgrid/main.c
index db733fd..607679b 100644
--- a/vector/v.mkgrid/main.c
+++ b/vector/v.mkgrid/main.c
@@ -451,7 +451,7 @@ int main(int argc, char *argv[])
 		    }
 		    else {
 		        sprintf(buf, "( %d, %d, %d )",
-			        attCount + 1, i + 1, j + 1);
+			        attCount + 1, grid_info.num_rows - i, j + 1);
 		    }
 		    if (db_append_string(&sql, buf) != DB_OK)
 		        G_fatal_error(_("Unable to fill attribute table"));
diff --git a/vector/v.mkgrid/v.mkgrid.html b/vector/v.mkgrid/v.mkgrid.html
index e75cd99..5d3ec44 100644
--- a/vector/v.mkgrid/v.mkgrid.html
+++ b/vector/v.mkgrid/v.mkgrid.html
@@ -144,4 +144,4 @@ U.S.Army Construction Engineering
 Research Laboratory
 <p>Update for new vectors Radim Blazek 10/2004 
 
-<p><i>Last changed: $Date: 2014-12-28 00:21:19 +0100 (Sun, 28 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-27 15:20:49 -0800 (Sat, 27 Dec 2014) $</i>
diff --git a/vector/v.neighbors/v.neighbors.html b/vector/v.neighbors/v.neighbors.html
index 4b627ad..d076443 100644
--- a/vector/v.neighbors/v.neighbors.html
+++ b/vector/v.neighbors/v.neighbors.html
@@ -32,4 +32,4 @@ from the respective cell center.
 
 Radim Blazek
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/vector/v.net.alloc/Makefile b/vector/v.net.alloc/Makefile
index 3dfabef..c23c236 100644
--- a/vector/v.net.alloc/Makefile
+++ b/vector/v.net.alloc/Makefile
@@ -3,7 +3,7 @@ MODULE_TOPDIR = ../..
 
 PGM = v.net.alloc
 
-LIBES = $(VECTORLIB) $(GISLIB)
+LIBES = $(VECTORLIB) $(GISLIB) $(GRAPHLIB)
 DEPENDENCIES = $(VECTORDEP) $(GISDEP)
 EXTRA_INC = $(VECT_INC)
 EXTRA_CFLAGS = $(VECT_CFLAGS)
diff --git a/vector/v.net.alloc/alloc.c b/vector/v.net.alloc/alloc.c
new file mode 100644
index 0000000..a18fbd1
--- /dev/null
+++ b/vector/v.net.alloc/alloc.c
@@ -0,0 +1,266 @@
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <grass/gis.h>
+#include <grass/vector.h>
+#include <grass/dbmi.h>
+#include <grass/dgl/graph.h>
+#include <grass/glocale.h>
+#include "alloc.h"
+
+int alloc_from_centers_loop_tt(struct Map_info *Map, NODE *Nodes,
+                               CENTER *Centers, int ncenters,
+                               int tucfield)
+{
+    int center, line, nlines, i;
+    int node1;
+    int cat;
+    struct line_cats *Cats;
+    struct line_pnts *Points;
+    double cost, n1cost, n2cost;
+    int ret;
+
+    Cats = Vect_new_cats_struct();
+    Points = Vect_new_line_struct();
+    
+    nlines = Vect_get_num_lines(Map);
+
+    for (i = 2; i <= (nlines * 2 + 2); i++) {
+	Nodes[i].center = -1;/* NOTE: first two items of Nodes are not used */
+	Nodes[i].cost = -1;
+	Nodes[i].edge = 0;
+    }
+
+    for (center = 0; center < ncenters; center++) {
+	G_percent(center, ncenters, 1);
+	node1 = Centers[center].node;
+	Vect_net_get_node_cost(Map, node1, &n1cost);
+	G_debug(2, "center = %d node = %d cat = %d", center, node1,
+		Centers[center].cat);
+
+	for (line = 1; line <= nlines; line++) {
+	    G_debug(5, "  node1 = %d line = %d", node1, line);
+	    Vect_net_get_node_cost(Map, line, &n2cost);
+	    /* closed, left it as not attached */
+
+	    if (Vect_read_line(Map, Points, Cats, line) < 0)
+		continue;
+	    if (Vect_get_line_type(Map, line) != GV_LINE)
+		continue;
+	    if (!Vect_cat_get(Cats, tucfield, &cat))
+		continue;
+
+	    for (i = 0; i < 2; i++) {
+		if (i == 1)
+		    cat *= -1;
+
+		ret =
+		    Vect_net_ttb_shortest_path(Map, node1, 0, cat, 1,
+					       tucfield, NULL,
+					       &cost);
+		if (ret == -1) {
+		    continue;
+		}		/* node unreachable */
+
+		/* We must add center node costs (not calculated by Vect_net_shortest_path() ), but
+		 *  only if center and node are not identical, because at the end node cost is add later */
+		if (ret != 1)
+		    cost += n1cost;
+
+		G_debug(5,
+			"Arc nodes: %d %d cost: %f (x old cent: %d old cost %f",
+			node1, line, cost, Nodes[line * 2 + i].center,
+			Nodes[line * 2 + i].cost);
+		if (Nodes[line * 2 + i].center == -1 ||
+		    Nodes[line * 2 + i].cost > cost) {
+		    Nodes[line * 2 + i].cost = cost;
+		    Nodes[line * 2 + i].center = center;
+		}
+	    }
+	}
+    }
+    G_percent(1, 1, 1);
+
+    Vect_destroy_cats_struct(Cats);
+    Vect_destroy_line_struct(Points);
+
+    return 0;
+}
+
+int alloc_from_centers(dglGraph_s *graph, NODE *Nodes, CENTER *Centers, int ncenters)
+{
+    int i, nnodes;
+    dglHeap_s heap;
+    dglEdgesetTraverser_s et;
+    int have_node_costs;
+    dglInt32_t ncost;
+
+    nnodes = dglGet_NodeCount(graph);
+
+    /* initialize nodes */
+    for (i = 1; i <= nnodes; i++) {
+	Nodes[i].cost = -1;
+	Nodes[i].center = -1;
+	Nodes[i].edge = 0;
+    }
+
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
+    dglHeapInit(&heap);
+
+    for (i = 0; i < ncenters; i++) {
+	int v = Centers[i].node;
+
+	if (Nodes[v].cost == 0)
+	    continue;		/* ignore duplicates */
+	Nodes[v].cost = 0;		/* make sure all centers are processed first */
+	Nodes[v].center = i;
+	dglHeapData_u heap_data;
+
+	heap_data.ul = v;
+	dglHeapInsertMin(&heap, 0, ' ', heap_data);
+    }
+    while (1) {
+	dglInt32_t v, dist;
+	dglHeapNode_s heap_node;
+	dglHeapData_u heap_data;
+	dglInt32_t *edge;
+	dglInt32_t *node;
+
+	if (!dglHeapExtractMin(&heap, &heap_node))
+	    break;
+	v = heap_node.value.ul;
+	dist = heap_node.key;
+	if (Nodes[v].cost < dist)
+	    continue;
+
+	node = dglGetNode(graph, v);
+
+	if (have_node_costs && Nodes[v].edge) {
+	    memcpy(&ncost, dglNodeGet_Attr(graph, node),
+		   sizeof(ncost));
+	    if (ncost > 0)
+		dist += ncost;
+	    /* do not go through closed nodes */
+	    if (ncost < 0)
+		continue;
+	}
+
+	dglEdgeset_T_Initialize(&et, graph,
+				dglNodeGet_OutEdgeset(graph, node));
+
+	for (edge = dglEdgeset_T_First(&et); edge;
+	     edge = dglEdgeset_T_Next(&et)) {
+	    dglInt32_t *to = dglEdgeGet_Tail(graph, edge);
+	    dglInt32_t to_id = dglNodeGet_Id(graph, to);
+	    dglInt32_t d = dglEdgeGet_Cost(graph, edge);
+
+	    if (Nodes[to_id].cost < 0 || Nodes[to_id].cost > dist + d) {
+		Nodes[to_id].cost = dist + d;
+		Nodes[to_id].edge = dglEdgeGet_Id(graph, edge);
+		Nodes[to_id].center = Nodes[v].center;
+		heap_data.ul = to_id;
+		dglHeapInsertMin(&heap, dist + d, ' ', heap_data);
+	    }
+	}
+
+	dglEdgeset_T_Release(&et);
+    }
+
+    dglHeapFree(&heap, NULL);
+
+    return 0;
+}
+
+int alloc_to_centers(dglGraph_s *graph, NODE *Nodes, CENTER *Centers, int ncenters)
+{
+    int i, nnodes;
+    dglHeap_s heap;
+    dglEdgesetTraverser_s et;
+    int have_node_costs;
+    dglInt32_t ncost;
+
+    if (graph->Version < 2) {
+	G_warning("Directed graph must be version 2 or 3 for distances to centers");
+	return -1;
+    }
+
+    nnodes = dglGet_NodeCount(graph);
+
+    /* initialize nodes */
+    for (i = 1; i <= nnodes; i++) {
+	Nodes[i].cost = -1;
+	Nodes[i].center = -1;
+	Nodes[i].edge = 0;
+    }
+
+    ncost = 0;
+    have_node_costs = dglGet_NodeAttrSize(graph);
+
+    dglHeapInit(&heap);
+
+    for (i = 0; i < ncenters; i++) {
+	int v = Centers[i].node;
+
+	if (Nodes[v].cost == 0)
+	    continue;		/* ignore duplicates */
+	Nodes[v].cost = 0;		/* make sure all centers are processed first */
+	Nodes[v].center = i;
+	dglHeapData_u heap_data;
+
+	heap_data.ul = v;
+	dglHeapInsertMin(&heap, 0, ' ', heap_data);
+    }
+    while (1) {
+	dglInt32_t v, dist;
+	dglHeapNode_s heap_node;
+	dglHeapData_u heap_data;
+	dglInt32_t *edge;
+	dglInt32_t *node;
+
+	if (!dglHeapExtractMin(&heap, &heap_node))
+	    break;
+	v = heap_node.value.ul;
+	dist = heap_node.key;
+	if (Nodes[v].cost < dist)
+	    continue;
+
+	node = dglGetNode(graph, v);
+
+	if (have_node_costs && Nodes[v].edge) {
+	    memcpy(&ncost, dglNodeGet_Attr(graph, node),
+		   sizeof(ncost));
+	    if (ncost > 0)
+		dist += ncost;
+	    /* do not go through closed nodes */
+	    if (ncost < 0)
+		continue;
+	}
+
+	dglEdgeset_T_Initialize(&et, graph,
+				dglNodeGet_InEdgeset(graph, node));
+
+	for (edge = dglEdgeset_T_First(&et); edge;
+	     edge = dglEdgeset_T_Next(&et)) {
+	    dglInt32_t *from = dglEdgeGet_Head(graph, edge);
+	    dglInt32_t from_id = dglNodeGet_Id(graph, from);
+	    dglInt32_t d = dglEdgeGet_Cost(graph, edge);
+
+	    if (Nodes[from_id].cost < 0 || Nodes[from_id].cost > dist + d) {
+		Nodes[from_id].cost = dist + d;
+		Nodes[from_id].edge = dglEdgeGet_Id(graph, edge);
+		Nodes[from_id].center = Nodes[v].center;
+		heap_data.ul = from_id;
+		dglHeapInsertMin(&heap, dist + d, ' ', heap_data);
+	    }
+	}
+
+	dglEdgeset_T_Release(&et);
+    }
+
+    dglHeapFree(&heap, NULL);
+
+    return 0;
+}
+
diff --git a/vector/v.net.alloc/alloc.h b/vector/v.net.alloc/alloc.h
new file mode 100644
index 0000000..b4a4151
--- /dev/null
+++ b/vector/v.net.alloc/alloc.h
@@ -0,0 +1,20 @@
+
+typedef struct
+{
+    int cat;			/* category number */
+    int node;			/* node number */
+} CENTER;
+
+typedef struct
+{
+    int center;			/* neares center, initially -1 */
+    double cost;		/* costs from this center, initially not defined */
+    int edge;			/* edge to follow from this node */
+} NODE;
+
+int alloc_from_centers_loop_tt(struct Map_info *Map, NODE *Nodes,
+                               CENTER *Centers, int ncenters,
+                               int tucfield);
+
+int alloc_from_centers(dglGraph_s *graph, NODE *Nodes, CENTER *Centers, int ncenters);
+int alloc_to_centers(dglGraph_s *graph, NODE *Nodes, CENTER *Centers, int ncenters);
diff --git a/vector/v.net.alloc/main.c b/vector/v.net.alloc/main.c
index 71fa998..e9a4228 100644
--- a/vector/v.net.alloc/main.c
+++ b/vector/v.net.alloc/main.c
@@ -4,10 +4,12 @@
  * MODULE:       v.net.alloc
  *
  * AUTHOR(S):    Radim Blazek
+ *               Stepan Turek <stepan.turek seznam.cz> (turns support)
+ *               Markus Metz (costs from/to centers)
  *
  * PURPOSE:      Allocate subnets for nearest centers
  *               
- * COPYRIGHT:    (C) 2001, 2014 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2001, 2016 by the GRASS Development Team
  *
  *               This program is free software under the 
  *               GNU General Public License (>=v2). 
@@ -22,29 +24,20 @@
 #include <grass/vector.h>
 #include <grass/dbmi.h>
 #include <grass/glocale.h>
+#include "alloc.h"
 
-typedef struct
-{
-    int cat;			/* category number */
-    int node;			/* node number */
-} CENTER;
-
-typedef struct
-{
-    int center;			/* neares center, initially -1 */
-    double cost;		/* costs from this center, initially not undefined */
-} NODE;
 
 int main(int argc, char **argv)
 {
-    int i, ret, center, line, center1, center2;
-    int nlines, nnodes, type, ltype, afield, nfield, geo, cat;
+    int i, ret, line, center1, center2;
+    int nlines, nnodes, type, ltype, afield, nfield, geo, cat, tfield,
+	tucfield;
     int node1, node2;
-    double cost, e1cost, e2cost, n1cost, n2cost, s1cost, s2cost, l, l1, l2;
-    struct Option *map, *output;
+    double e1cost, e2cost, n1cost, n2cost, s1cost, s2cost, l, l1, l2;
+    struct Option *map, *output, *method_opt;
     struct Option *afield_opt, *nfield_opt, *afcol, *abcol, *ncol, *type_opt,
-	*term_opt;
-    struct Flag *geo_f;
+	*term_opt, *tfield_opt, *tucfield_opt;
+    struct Flag *geo_f, *turntable_f;
     struct GModule *module;
     struct Map_info Map, Out;
     struct cat_list *catlist;
@@ -53,6 +46,8 @@ int main(int argc, char **argv)
     NODE *Nodes;
     struct line_cats *Cats;
     struct line_pnts *Points, *SPoints;
+    int graph_version;
+    int from_centers;
 
     /* initialize GIS environment */
     G_gisinit(argv[0]);		/* reads grass env, stores program name to G_program_name() */
@@ -72,20 +67,40 @@ int main(int argc, char **argv)
     map = G_define_standard_option(G_OPT_V_INPUT);
     output = G_define_standard_option(G_OPT_V_OUTPUT);
 
+    method_opt = G_define_option();
+    method_opt->key = "method";
+    method_opt->type = TYPE_STRING;
+    method_opt->required = NO;
+    method_opt->options = "from,to";
+    method_opt->answer = "from";
+    method_opt->description = _("Use costs from centers or costs to centers");
+    method_opt->guisection = _("Cost");
+
+    term_opt = G_define_standard_option(G_OPT_V_CATS);
+    term_opt->key = "center_cats";
+    term_opt->required = YES;
+    term_opt->description =
+	_("Categories of centers (points on nodes) to which net "
+	  "will be allocated, "
+	  "layer for this categories is given by nlayer option");
+
     afield_opt = G_define_standard_option(G_OPT_V_FIELD);
     afield_opt->key = "arc_layer";
     afield_opt->answer = "1";
+    afield_opt->required = YES;
     afield_opt->label = _("Arc layer");
 
     type_opt = G_define_standard_option(G_OPT_V_TYPE);
     type_opt->key = "arc_type";
     type_opt->options = "line,boundary";
     type_opt->answer = "line,boundary";
-    type_opt->description = _("Arc type");
+    type_opt->required = YES;
+    type_opt->label = _("Arc type");
 
     nfield_opt = G_define_standard_option(G_OPT_V_FIELD);
     nfield_opt->key = "node_layer";
     nfield_opt->answer = "2";
+    nfield_opt->required = YES;
     nfield_opt->label = _("Node layer");
 
     afcol = G_define_option();
@@ -109,13 +124,26 @@ int main(int argc, char **argv)
     ncol->description = _("Node cost column (number)");
     ncol->guisection = _("Cost");
 
-    term_opt = G_define_standard_option(G_OPT_V_CATS);
-    term_opt->key = "center_cats";
-    term_opt->required = YES;
-    term_opt->description =
-	_("Categories of centers (points on nodes) to which net "
-	  "will be allocated, "
-	  "layer for this categories is given by nlayer option");
+    turntable_f = G_define_flag();
+    turntable_f->key = 't';
+    turntable_f->description = _("Use turntable");
+    turntable_f->guisection = _("Turntable");
+
+    tfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    tfield_opt->key = "turn_layer";
+    tfield_opt->answer = "3";
+    tfield_opt->label = _("Layer with turntable");
+    tfield_opt->description =
+	_("Relevant only with -t flag");
+    tfield_opt->guisection = _("Turntable");
+
+    tucfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    tucfield_opt->key = "turn_cat_layer";
+    tucfield_opt->answer = "4";
+    tucfield_opt->label = _("Layer with unique categories used in turntable");
+    tucfield_opt->description =
+	_("Relevant only with -t flag");
+    tucfield_opt->guisection = _("Turntable");
 
     geo_f = G_define_flag();
     geo_f->key = 'g';
@@ -147,10 +175,23 @@ int main(int argc, char **argv)
 
     afield = Vect_get_field_number(&Map, afield_opt->answer);
     nfield = Vect_get_field_number(&Map, nfield_opt->answer);
+    tfield = Vect_get_field_number(&Map, tfield_opt->answer);
+    tucfield = Vect_get_field_number(&Map, tucfield_opt->answer);
 
     /* Build graph */
-    Vect_net_build_graph(&Map, type, afield, nfield, afcol->answer,
-			 abcol->answer, ncol->answer, geo, 0);
+    graph_version = 1;
+    from_centers = 1;
+    if (method_opt->answer[0] == 't' && !turntable_f->answer) {
+	graph_version = 2;
+	from_centers = 0;
+    }
+    if (turntable_f->answer)
+	Vect_net_ttb_build_graph(&Map, type, afield, nfield, tfield, tucfield,
+				 afcol->answer, abcol->answer, ncol->answer,
+				 geo, 0);
+    else
+	Vect_net_build_graph(&Map, type, afield, nfield, afcol->answer,
+			     abcol->answer, ncol->answer, geo, graph_version);
 
     nnodes = Vect_get_num_nodes(&Map);
     nlines = Vect_get_num_lines(&Map);
@@ -158,13 +199,15 @@ int main(int argc, char **argv)
     /* Create list of centers based on list of categories */
     for (i = 1; i <= nlines; i++) {
 	int node;
-	
+
 	ltype = Vect_get_line_type(&Map, i);
 	if (!(ltype & GV_POINT))
 	    continue;
 
 	Vect_read_line(&Map, Points, Cats, i);
-	node = Vect_find_node(&Map, Points->x[0], Points->y[0], Points->z[0], 0, 0);
+	node =
+	    Vect_find_node(&Map, Points->x[0], Points->y[0], Points->z[0], 0,
+			   0);
 	if (!node) {
 	    G_warning(_("Point is not connected to the network"));
 	    continue;
@@ -198,50 +241,32 @@ int main(int argc, char **argv)
 	G_warning(_("Not enough centers for selected nlayer. "
 		    "Nothing will be allocated."));
 
-    /* alloc and reset space for all nodes */
-    Nodes = (NODE *) G_calloc((nnodes + 1), sizeof(NODE));
-    for (i = 1; i <= nnodes; i++) {
-	Nodes[i].center = -1;
+    /* alloc and reset space for all lines */
+    if (turntable_f->answer) {
+	/* if turntable is used we are looking for lines as destinations, not the intersections (nodes) */
+	Nodes = (NODE *) G_calloc((nlines * 2 + 2), sizeof(NODE));
+    }
+    else {
+	Nodes = (NODE *) G_calloc((nnodes + 1), sizeof(NODE));
     }
-
 
     /* Fill Nodes by nearest center and costs from that center */
-    G_message(_("Calculating costs from centers ..."));
-
-    for (center = 0; center < ncenters; center++) {
-	G_percent(center, ncenters, 1);
-	node1 = Centers[center].node;
-	Vect_net_get_node_cost(&Map, node1, &n1cost);
-	G_debug(2, "center = %d node = %d cat = %d", center, node1,
-		Centers[center].cat);
-	for (node2 = 1; node2 <= nnodes; node2++) {
-	    G_debug(5, "  node1 = %d node2 = %d", node1, node2);
-	    Vect_net_get_node_cost(&Map, node2, &n2cost);
-	    if (n2cost == -1) {
-		continue;
-	    }			/* closed, left it as not attached */
-
-	    ret = Vect_net_shortest_path(&Map, node1, node2, NULL, &cost);
-	    if (ret == -1) {
-		continue;
-	    }			/* node unreachable */
-
-	    /* We must add center node costs (not calculated by Vect_net_shortest_path() ), but
-	     *  only if center and node are not identical, because at the end node cost is add later */
-	    if (node1 != node2)
-		cost += n1cost;
-
-	    G_debug(5,
-		    "Arc nodes: %d %d cost: %f (x old cent: %d old cost %f",
-		    node1, node2, cost, Nodes[node2].center,
-		    Nodes[node2].cost);
-	    if (Nodes[node2].center == -1 || cost < Nodes[node2].cost) {
-		Nodes[node2].cost = cost;
-		Nodes[node2].center = center;
-	    }
+
+    if (turntable_f->answer) {
+	G_message(_("Calculating costs from centers ..."));
+	alloc_from_centers_loop_tt(&Map, Nodes, Centers, ncenters,
+				   tucfield);
+    }
+    else {
+	if (from_centers) {
+	    G_message(_("Calculating costs from centers ..."));
+	    alloc_from_centers(Vect_net_get_graph(&Map), Nodes, Centers, ncenters);
+	}
+	else {
+	    G_message(_("Calculating costs to centers ..."));
+	    alloc_to_centers(Vect_net_get_graph(&Map), Nodes, Centers, ncenters);
 	}
     }
-    G_percent(1, 1, 1);
 
     /* Write arcs to new map */
     if (Vect_open_new(&Out, output->answer, Vect_is_3d(&Map)) < 0)
@@ -255,21 +280,39 @@ int main(int argc, char **argv)
 	if (!(ltype & type)) {
 	    continue;
 	}
-	Vect_get_line_nodes(&Map, line, &node1, &node2);
-	center1 = Nodes[node1].center;
-	center2 = Nodes[node2].center;
-	s1cost = Nodes[node1].cost;
-	s2cost = Nodes[node2].cost;
+
+	if (turntable_f->answer) {
+	    center1 = Nodes[line * 2].center;
+	    center2 = Nodes[line * 2 + 1].center;
+	    s1cost = Nodes[line * 2].cost;
+	    s2cost = Nodes[line * 2 + 1].cost;
+	    n1cost = n2cost = 0;
+	}
+	else {
+	    Vect_get_line_nodes(&Map, line, &node1, &node2);
+	    center1 = Nodes[node1].center;
+	    center2 = Nodes[node2].center;
+	    s1cost = Nodes[node1].cost;
+	    s2cost = Nodes[node2].cost;
+
+	    Vect_net_get_node_cost(&Map, node1, &n1cost);
+	    Vect_net_get_node_cost(&Map, node2, &n2cost);
+	}
+
+	if (from_centers) {
+	    Vect_net_get_line_cost(&Map, line, GV_FORWARD, &e1cost);
+	    Vect_net_get_line_cost(&Map, line, GV_BACKWARD, &e2cost);
+	}
+	else {
+	    /* from node to center */
+	    Vect_net_get_line_cost(&Map, line, GV_FORWARD, &e2cost);
+	    Vect_net_get_line_cost(&Map, line, GV_BACKWARD, &e1cost);
+	}
+
 	G_debug(3, "Line %d:", line);
 	G_debug(3, "Arc centers: %d %d (nodes: %d %d)", center1, center2,
 		node1, node2);
 
-	Vect_net_get_node_cost(&Map, node1, &n1cost);
-	Vect_net_get_node_cost(&Map, node2, &n2cost);
-
-	Vect_net_get_line_cost(&Map, line, GV_FORWARD, &e1cost);
-	Vect_net_get_line_cost(&Map, line, GV_BACKWARD, &e2cost);
-
 	G_debug(3, "  s1cost = %f n1cost = %f e1cost = %f", s1cost, n1cost,
 		e1cost);
 	G_debug(3, "  s2cost = %f n2cost = %f e2cost = %f", s2cost, n2cost,
@@ -292,7 +335,7 @@ int main(int argc, char **argv)
 		Vect_write_line(&Out, ltype, Points, Cats);
 	    }
 	    else {		/* each node in different area */
-		/* Check if direction is reachable */
+		/* Check if line is reachable from center */
 		if (center1 == -1 || n1cost == -1 || e1cost == -1) {	/* closed from first node */
 		    G_debug(3,
 			    "    -> arc is not reachable from 1. node -> alloc to 2. node");
@@ -309,7 +352,6 @@ int main(int argc, char **argv)
 		    Vect_write_line(&Out, ltype, Points, Cats);
 		    continue;
 		}
-
 		/* Now we know that arc is reachable from both sides */
 
 		/* Add costs of node to starting costs */
@@ -348,7 +390,8 @@ int main(int argc, char **argv)
 		    /* First segment */
 		    ret = Vect_line_segment(Points, 0, l1, SPoints);
 		    if (ret == 0) {
-			G_warning(_("Cannot get line segment, segment out of line"));
+			G_warning(_
+				  ("Cannot get line segment, segment out of line"));
 		    }
 		    else {
 			cat = Centers[center1].cat;
@@ -359,7 +402,8 @@ int main(int argc, char **argv)
 		    /* Second segment */
 		    ret = Vect_line_segment(Points, l1, l, SPoints);
 		    if (ret == 0) {
-			G_warning(_("Cannot get line segment, segment out of line"));
+			G_warning(_
+				  ("Cannot get line segment, segment out of line"));
 		    }
 		    else {
 			Vect_reset_cats(Cats);
diff --git a/vector/v.net.alloc/v.net.alloc.html b/vector/v.net.alloc/v.net.alloc.html
index 1c52feb..ad0285f 100644
--- a/vector/v.net.alloc/v.net.alloc.html
+++ b/vector/v.net.alloc/v.net.alloc.html
@@ -1,8 +1,8 @@
 <h2>DESCRIPTION</h2>
 
-<em>v.net.alloc</em> allocates subnets for nearest centers 
-(direction from center). center nodes must be opened (costs >= 0).
-Costs of center nodes are used in the calculation. 
+<em>v.net.alloc</em> allocates subnets for nearest centers. Center 
+nodes must be opened (costs >= 0). Costs of center nodes are used in 
+the calculation. 
 <p>
 Costs may be either line lengths, or attributes saved in a 
 database table. These attribute values are taken as costs of whole 
@@ -18,6 +18,23 @@ For areas, costs will be calculated along boundary lines.
 <p>
 The input vector needs to be prepared with <em>v.net operation=connect</em> 
 in order to connect points representing center nodes to the network.
+<p>
+The nearest center can be determined using either costs from the 
+nearest center or costs to the nearest center with option 
+<b>method</b>. See example below.
+<p>
+Application of flag <b>-t</b> enables a turntable support. 
+This flag requires additional parameters <b>turn_layer</b> and <b>turn_cat_layer</b> 
+that are otherwise ignored.
+ The turntable allows 
+to model e.g. trafic code, where some turns may be prohibited. 
+This means that the input layer is expanded by 
+turntable with costs of every possible turn on any possible node 
+(intersection) in both directions. 
+ Turntable can be created by 
+ the <em><a href="v.net.html">v.net</a></em> module. 
+For more information about turns in the vector network analyses see
+<a href="http://grasswiki.osgeo.org/wiki/Turns_in_the_vector_network_analysis">wiki page</a>.
 
 <h2>NOTES</h2>
 
@@ -138,6 +155,44 @@ d.vect myroads_net_alloc_time cat=3 col=yellow layer=1
 d.vect myroads_net_time col=red icon=basic/triangle fcol=green size=12 type=point layer=2
 </pre></div>
 
+<p>Example 3: <em>Differences between costs from centers and costs to centers</em><br>
+
+Each lane of the two-lane road is a one-way road.
+<p>1. Subnetwork allocation from centers:
+<p><img src="v_net_alloc_from_centers.png" alt="v.net.alloc example from centers" border="1">
+<br>
+A center reaches any point following the one-way lanes.
+<p>2. Subnetwork allocation to centers:
+<p><img src="v_net_alloc_to_centers.png" alt="v.net.alloc example to centers" border="1">
+<br>
+Any node reaches reaches the nearest center following the one-way lanes.
+<p>
+In case of an accident, the ambulance should come from the nearest 
+'from' hospital and go to the nearest 'to' hospital.
+
+<div class="code"><pre>
+# North Carolina
+
+# center nodes are hospitals:
+# connect hospitals to streets as layer 2
+v.net input=streets_wake points=hospitals output=streets_hospitals operation=connect thresh=400 arc_layer=1 node_layer=2
+v.to.db map=streets_hospitals layer=1 type=line option=cat columns=cat
+
+# close oneway roads
+v.db.update map=streets_hospitals column=TF_COST value=-1 where="ONE_WAY = 'FT'"
+v.db.update map=streets_hospitals column=FT_COST value=-1 where="ONE_WAY = 'TF'"
+
+# add costs to newly created lines
+v.db.update map=streets_hospitals column=TF_COST value=0 where="cat > 49746"
+v.db.update map=streets_hospitals column=FT_COST value=0 where="cat > 49746"
+
+# from centers
+v.net.alloc in=streets_hospitals out=streets_hospitals_alloc_from center_cats=1-10000 arc_column=FT_COST arc_backward_column=TF_COST
+
+# to centers
+v.net.alloc in=streets_hospitals out=streets_hospitals_alloc_to method=to center_cats=1-10000 arc_column=FT_COST arc_backward_column=TF_COST
+</pre></div>
+
 <h2>SEE ALSO</h2>
 
 <em><a href="d.path.html">d.path</a></em>,
@@ -152,5 +207,13 @@ d.vect myroads_net_time col=red icon=basic/triangle fcol=green size=12 type=poin
 Radim Blazek, ITC-Irst, Trento, Italy<br>
 Documentation: Markus Neteler, Markus Metz
 
+<h3>TURNS SUPPORT</h3>
+
+The turns support was implemnented as part of GRASS GIS turns cost project at Czech Technical University in Prague, Czech Republic.  
+Eliska Kyzlikova, Stepan Turek, Lukas Bocan and Viera Bejdova participated at the project.
+
+Implementation: Stepan Turek 
+Documentation: Lukas Bocan
+Mentor: Martin Landa
 
-<p><i>Last changed: $Date: 2014-12-24 15:44:33 +0100 (Wed, 24 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-09 14:18:08 -0800 (Wed, 09 Mar 2016) $</i>
diff --git a/vector/v.net.alloc/v_net_alloc_from_centers.png b/vector/v.net.alloc/v_net_alloc_from_centers.png
new file mode 100644
index 0000000..b0a4f56
Binary files /dev/null and b/vector/v.net.alloc/v_net_alloc_from_centers.png differ
diff --git a/vector/v.net.alloc/v_net_alloc_to_centers.png b/vector/v.net.alloc/v_net_alloc_to_centers.png
new file mode 100644
index 0000000..89b68f4
Binary files /dev/null and b/vector/v.net.alloc/v_net_alloc_to_centers.png differ
diff --git a/vector/v.net.allpairs/v.net.allpairs.html b/vector/v.net.allpairs/v.net.allpairs.html
index d47c44c..c0a757f 100644
--- a/vector/v.net.allpairs/v.net.allpairs.html
+++ b/vector/v.net.allpairs/v.net.allpairs.html
@@ -61,4 +61,4 @@ Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor<br>
 Markus Metz
 
-<p><i>Last changed: $Date: 2014-12-24 15:44:33 +0100 (Wed, 24 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-24 06:11:14 -0800 (Wed, 24 Dec 2014) $</i>
diff --git a/vector/v.net.bridge/v.net.bridge.html b/vector/v.net.bridge/v.net.bridge.html
index f0e6c9e..a17572c 100644
--- a/vector/v.net.bridge/v.net.bridge.html
+++ b/vector/v.net.bridge/v.net.bridge.html
@@ -44,4 +44,4 @@ An articulation point in graph theory is an articulation
 Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor
 
-<p><i>Last changed: $Date: 2013-05-23 21:59:24 +0200 (Thu, 23 May 2013) $</i>
+<p><i>Last changed: $Date: 2013-05-23 12:59:24 -0700 (Thu, 23 May 2013) $</i>
diff --git a/vector/v.net.centrality/v.net.centrality.html b/vector/v.net.centrality/v.net.centrality.html
index dd40583..c9600e9 100644
--- a/vector/v.net.centrality/v.net.centrality.html
+++ b/vector/v.net.centrality/v.net.centrality.html
@@ -21,7 +21,7 @@ Betweenness measure is not normalised. In order to get the normalised
 values (between 0 and 1), each number needs to be divided by <em>N 
 choose 2=N*(N-1)/2</em> where N is the number of nodes in the 
 connected component. Computation of eigenvector measure terminates 
-if the given number of iterations is reached or the cummulative <em>
+if the given number of iterations is reached or the cumulative <em>
 squared</em> error between the successive iterations is less than <b>
 error</b>.
 
@@ -46,4 +46,4 @@ v.net.centrality input=roads output=roads_cent closeness=closeness \
 Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor
 
-<p><i>Last changed: $Date: 2013-05-23 21:59:24 +0200 (Thu, 23 May 2013) $</i>
+<p><i>Last changed: $Date: 2016-03-28 14:23:39 -0700 (Mon, 28 Mar 2016) $</i>
diff --git a/vector/v.net.components/main.c b/vector/v.net.components/main.c
index 9a1d6dd..bf39b38 100644
--- a/vector/v.net.components/main.c
+++ b/vector/v.net.components/main.c
@@ -4,6 +4,7 @@
  * MODULE:     v.net.components
  *
  * AUTHOR(S):  Daniel Bundala
+ *             Markus Metz
  *
  * PURPOSE:    Computes strongly and weakly connected components
  *
@@ -54,7 +55,7 @@ int main(int argc, char *argv[])
     int with_z;
     int afield, nfield, mask_type;
     dglGraph_s *graph;
-    int *component, nnodes, type, i, nlines, components, j, max_cat;
+    int *component, nnodes, type, i, nlines, components, max_cat;
     char buf[2000], *covered;
     char *desc;
 
@@ -158,7 +159,7 @@ int main(int argc, char *argv[])
     nfield = Vect_get_field_number(&In, nfield_opt->answer);
 
     if (0 != Vect_net_build_graph(&In, mask_type, afield, nfield, afcol->answer,
-                                  abcol->answer, ncol->answer, 0, 0))
+                                  abcol->answer, ncol->answer, 0, 2))
         G_fatal_error(_("Unable to build graph for vector map <%s>"), Vect_get_full_name(&In));
 
     graph = Vect_net_get_graph(&In);
@@ -198,21 +199,30 @@ int main(int argc, char *argv[])
 
     db_begin_transaction(driver);
 
-    if (method_opt->answer[0] == 'w')
+    if (method_opt->answer[0] == 'w') {
+	G_message(_("Computing weakly connected components..."));
 	components = NetA_weakly_connected_components(graph, component);
-    else
+    }
+    else {
+	G_message(_("Computing strongly connected components..."));
 	components = NetA_strongly_connected_components(graph, component);
+    }
 
     G_debug(3, "Components: %d", components);
 
+    G_message(_("Writing output..."));
+
     Vect_copy_head_data(&In, &Out);
     Vect_hist_copy(&In, &Out);
     Vect_hist_command(&Out);
 
     nlines = Vect_get_num_lines(&In);
+    max_cat = 1;
+    G_percent(0, nlines, 4);
     for (i = 1; i <= nlines; i++) {
 	int comp, cat;
 
+	G_percent(i, nlines, 4);
 	type = Vect_read_line(&In, Points, Cats, i);
 	if (!Vect_cat_get(Cats, afield, &cat))
 	    continue;
@@ -232,29 +242,23 @@ int main(int argc, char *argv[])
 
 	    /* Vect_get_line_nodes(&In, i, &node, NULL); */
 	    node = Vect_find_node(&In, Points->x[0], Points->y[0], Points->z[0], 0, 0);
+	    if (!node)
+		continue;
 	    comp = component[node];
 	    covered[node] = 1;
 	}
 	else
 	    continue;
+	
+	cat = max_cat++;
+	Vect_reset_cats(Cats);
+	Vect_cat_set(Cats, 1, cat);
 	Vect_write_line(&Out, type, Points, Cats);
 	insert_new_record(driver, Fi, &sql, cat, comp);
-	/*        for(j=0;j<Cats->n_cats;j++)
-	 * if(Cats->field[j] == layer)
-	 * insert_new_record(driver, Fi, &sql, Cats->cat[j], comp);
-	 */
-    };
+    }
+
     /*add points on nodes not covered by any point in the network */
-    /*find the maximum cat number */
     if (add_f->answer) {
-	max_cat = 0;
-	for (i = 1; i <= nlines; i++) {
-	    Vect_read_line(&In, NULL, Cats, i);
-	    for (j = 0; j < Cats->n_cats; j++)
-		if (Cats->cat[j] > max_cat)
-		    max_cat = Cats->cat[j];
-	}
-	max_cat++;
 	for (i = 1; i <= nnodes; i++)
 	    if (!covered[i]) {
 		Vect_reset_cats(Cats);
@@ -267,10 +271,12 @@ int main(int argc, char *argv[])
     db_commit_transaction(driver);
     db_close_database_shutdown_driver(driver);
 
-    Vect_build(&Out);
-
     Vect_close(&In);
+
+    Vect_build(&Out);
     Vect_close(&Out);
 
+    G_done_msg(_("Found %d components."), components);
+
     exit(EXIT_SUCCESS);
 }
diff --git a/vector/v.net.components/v.net.components.html b/vector/v.net.components/v.net.components.html
index c5a3743..7c9e423 100644
--- a/vector/v.net.components/v.net.components.html
+++ b/vector/v.net.components/v.net.components.html
@@ -4,22 +4,28 @@
 components in a network.
 
 <h2>NOTES</h2>
-Two nodes, <em>u</em> and <em>v</em> are in the same strongly 
-connected component if there are directed paths from <em>u</em> to 
-<em>v</em> and from <em>v</em> to <em>u</em>. The nodes are in the 
-same weakly connected component if, ignoring orientation of the 
-edges, there is a path between them.
-<br>
-
+Two nodes, <em>u</em> and <em>v</em> are in the same strongly connected 
+component if there are directed paths from <em>u</em> to <em>v</em> and 
+from <em>v</em> to <em>u</em>. The nodes are in the same weakly 
+connected component if, ignoring edge directions, there is a path 
+between them.
+<p>
 The type of components is specified by <b>method</b> parameter. 
-<em>v.net.components</em> creates a table and links it to the given <b>layer</b>.
-This table contains only two integer columns: <em>cat</em> and <em>comp
-</em>. If a point or both endpoints of a line belong to the same 
-component then the point/line is written to the output map and 
+<em>v.net.components</em> creates a table and links it to layer 1. This 
+table contains only two integer columns: <em>cat</em> and 
+<em>comp</em>. If a point or both endpoints of a line belong to the 
+same component then the point/line is written to the output map and 
 appropriate information is stored in the table. If <b>-a</b> flag is 
-set then new points are added on the nodes without points. These 
-points have category numbers larger than any category used in the 
-input map.
+set then new points are added on the nodes without points. These points 
+have category numbers larger than any category used in the input map.
+<p>
+One-way roads can be defined by assigning a cost of -1 to the 
+appropriate cost column (<b>arc_column</b> or 
+<b>arc_backward_column</b>. This affects only strongly connected 
+components. Network nodes can be closed by assigning a cost of -1 to 
+the node cost column. All nodes with a cost < 0 can not be traversed 
+and are end points, while all nodes with a cost ≥ 0 can be traversed. 
+This affects both weakly and strongly connected components.
 
 <h2>EXAMPLES</h2>
 
@@ -39,6 +45,7 @@ v.net.components input=roads output=roads_components method=strong
 <h2>AUTHORS</h2>
 
 Daniel Bundala, Google Summer of Code 2009, Student<br>
-Wolf Bergenheim, Mentor
+Wolf Bergenheim, Mentor<br>
+Markus Metz
 
-<p><i>Last changed: $Date: 2013-05-23 21:59:24 +0200 (Thu, 23 May 2013) $</i>
+<p><i>Last changed: $Date: 2016-03-05 14:25:33 -0800 (Sat, 05 Mar 2016) $</i>
diff --git a/vector/v.net.connectivity/v.net.connectivity.html b/vector/v.net.connectivity/v.net.connectivity.html
index 107170f..672a09d 100644
--- a/vector/v.net.connectivity/v.net.connectivity.html
+++ b/vector/v.net.connectivity/v.net.connectivity.html
@@ -41,4 +41,4 @@ v.net.connectivity input=airtraffic output=connectivity \
 Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor
 
-<p><i>Last changed: $Date: 2014-12-24 15:44:33 +0100 (Wed, 24 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-24 05:28:25 -0800 (Wed, 24 Dec 2014) $</i>
diff --git a/vector/v.net.distance/main.c b/vector/v.net.distance/main.c
index 0bd04ac..e16420a 100644
--- a/vector/v.net.distance/main.c
+++ b/vector/v.net.distance/main.c
@@ -29,26 +29,28 @@
 int main(int argc, char *argv[])
 {
     struct Map_info In, Out;
-    static struct line_pnts *Points;
+    static struct line_pnts *Points, *PPoints;
     struct line_cats *Cats, *TCats;
+    struct ilist *slist;
     struct GModule *module;	/* GRASS module for parsing arguments */
     struct Option *map_in, *map_out;
     struct Option *catf_opt, *fieldf_opt, *wheref_opt;
     struct Option *catt_opt, *fieldt_opt, *wheret_opt, *typet_opt;
     struct Option *afield_opt, *nfield_opt, *abcol, *afcol, *ncol, *atype_opt;
-    struct Flag *geo_f;
-    int with_z, geo;
+    struct Flag *geo_f, *segments_f;
+    int with_z, geo, segments;
     int atype, ttype;
     struct varray *varrayf, *varrayt;
     int flayer, tlayer;
     int afield, nfield;
     dglGraph_s *graph;
     struct ilist *nodest;
-    int i, nnodes, nlines;
+    int i, j, nnodes, nlines;
     int *dst, *nodes_to_features;
     int from_nr;			/* 'from' features not reachable */
-    dglInt32_t **prev;
+    dglInt32_t **nxt;
     struct line_cats **on_path;
+    char *segdir;
     char buf[2000];
 
     /* Attribute table */
@@ -156,6 +158,17 @@ int main(int argc, char *argv[])
     geo_f->description =
 	_("Use geodesic calculation for longitude-latitude locations");
 
+    segments_f = G_define_flag();
+#if 0
+    /* use this to sync with v.net.path */
+    segments_f->key = 's';
+    segments_f->description = _("Write output as original input segments, "
+				"not each path as one line.");
+#else
+    segments_f->key = 'l';
+    segments_f->description = _("Write each output path as one line, "
+				"not as original input segments.");
+#endif
 
     /* options and flags parser */
     if (G_parser(argc, argv))
@@ -165,8 +178,10 @@ int main(int argc, char *argv[])
     ttype = Vect_option_to_types(typet_opt);
 
     Points = Vect_new_line_struct();
+    PPoints = Vect_new_line_struct();
     Cats = Vect_new_cats_struct();
     TCats = Vect_new_cats_struct();
+    slist = G_new_ilist();
 
     Vect_check_input_output_name(map_in->answer, map_out->answer,
 				 G_FATAL_EXIT);
@@ -192,20 +207,30 @@ int main(int argc, char *argv[])
     else
 	geo = 0;
 
+#if 0
+    /* use this to sync with v.net.path */
+    segments = segments_f->answer;
+#else
+    segments = !segments_f->answer;
+#endif
 
     nnodes = Vect_get_num_nodes(&In);
     nlines = Vect_get_num_lines(&In);
 
     dst = (int *)G_calloc(nnodes + 1, sizeof(int));
-    prev = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
+    nxt = (dglInt32_t **) G_calloc(nnodes + 1, sizeof(dglInt32_t *));
     nodes_to_features = (int *)G_calloc(nnodes + 1, sizeof(int));
     on_path =
 	(struct line_cats **)G_calloc(nlines + 1, sizeof(struct line_cats *));
-    if (!dst || !prev || !nodes_to_features || !on_path)
+    segdir = (char *)G_calloc(nlines + 1, sizeof(char));
+
+    if (!dst || !nxt || !nodes_to_features || !on_path || !segdir)
 	G_fatal_error(_("Out of memory"));
 
-    for (i = 1; i <= nlines; i++)
+    for (i = 1; i <= nlines; i++) {
 	on_path[i] = Vect_new_cats_struct();
+	segdir[i] = 0;
+    }
 
     /*initialise varrays and nodes list appropriatelly */
     afield = Vect_get_field_number(&In, afield_opt->answer);
@@ -235,11 +260,14 @@ int main(int argc, char *argv[])
 	G_fatal_error(_("No 'to' features"));
     
     if (0 != Vect_net_build_graph(&In, atype, afield, nfield, afcol->answer, abcol->answer,
-                                   ncol->answer, geo, 0))
+                                   ncol->answer, geo, 2))
         G_fatal_error(_("Unable to build graph for vector map <%s>"), Vect_get_full_name(&In));
 
     graph = Vect_net_get_graph(&In);
-    NetA_distance_from_points(graph, nodest, dst, prev);
+
+    G_message(_("Distances to 'to' features ..."));
+
+    NetA_distance_to_points(graph, nodest, dst, nxt);
 
     /* Create table */
     Fi = Vect_default_field_info(&Out, 1, NULL, GV_1TABLE);
@@ -276,6 +304,7 @@ int main(int argc, char *argv[])
     Vect_hist_copy(&In, &Out);
     Vect_hist_command(&Out);
 
+    G_message(_("Tracing paths from 'from' features ..."));
     from_nr = 0;
     for (i = 1; i <= nlines; i++) {
 	if (varrayf->c[i]) {
@@ -303,11 +332,21 @@ int main(int argc, char *argv[])
 	    cost = dst[node] / (double)In.dgraph.cost_multip;
 	    vertex = dglGetNode(graph, node);
 	    vertex_id = node;
-	    while (prev[vertex_id] != NULL) {
-		Vect_cat_set(on_path
-			     [abs(dglEdgeGet_Id(graph, prev[vertex_id]))], 1,
-			     cat);
-		vertex = dglEdgeGet_Head(graph, prev[vertex_id]);
+	    slist->n_values = 0;
+	    while (nxt[vertex_id] != NULL) {
+		int edge_id;
+
+		edge_id = (int) dglEdgeGet_Id(graph, nxt[vertex_id]);
+		if (segments) {
+		    Vect_cat_set(on_path[abs(edge_id)], 1, cat);
+		    if (edge_id < 0) {
+			segdir[abs(edge_id)] = 1;
+		    }
+		}
+		else
+		    G_ilist_add(slist, edge_id);
+
+		vertex = dglEdgeGet_Tail(graph, nxt[vertex_id]);
 		vertex_id = dglNodeGet_Id(graph, vertex);
 	    }
 	    G_debug(3, "read line %d, vertex id %d", nodes_to_features[vertex_id], (int)vertex_id);
@@ -318,22 +357,51 @@ int main(int argc, char *argv[])
 	    Vect_write_line(&Out, type, Points, Cats);
 	    sprintf(buf, "insert into %s values (%d, %d, %f)", Fi->table, cat,
 		    tcat, cost);
-
 	    db_set_string(&sql, buf);
 	    G_debug(3, "%s", db_get_string(&sql));
 	    if (db_execute_immediate(driver, &sql) != DB_OK) {
 		G_fatal_error(_("Cannot insert new record: %s"),
 			      db_get_string(&sql));
 	    };
+
+	    if (!segments) {
+		Vect_reset_line(PPoints);
+		for (j = 0; j < slist->n_values; j++) {
+		    Vect_read_line(&In, Points, NULL, abs(slist->value[j]));
+		    if (slist->value[j] > 0)
+			Vect_append_points(PPoints, Points,
+					   GV_FORWARD);
+		    else
+			Vect_append_points(PPoints, Points,
+					   GV_BACKWARD);
+		    PPoints->n_points--;
+		}
+		PPoints->n_points++;
+		Vect_reset_cats(Cats);
+		Vect_cat_set(Cats, 1, cat);
+		Vect_write_line(&Out, GV_LINE, PPoints, Cats);
+	    }
+
 	}
     }
 
-    for (i = 1; i <= nlines; i++)
-	if (on_path[i]->n_cats > 0) {
-	    int type = Vect_read_line(&In, Points, NULL, i);
-
-	    Vect_write_line(&Out, type, Points, on_path[i]);
+    if (segments) {
+	for (i = 1; i <= nlines; i++) {
+	    if (on_path[i]->n_cats > 0) {
+		int type; 
+		
+		if (segdir[i]) {
+		    type = Vect_read_line(&In, PPoints, NULL, i);
+		    Vect_reset_line(Points);
+		    Vect_append_points(Points, PPoints, GV_BACKWARD);
+		}
+		else
+		    type = Vect_read_line(&In, Points, NULL, i);
+
+		Vect_write_line(&Out, type, Points, on_path[i]);
+	    }
 	}
+    }
 
     db_commit_transaction(driver);
     db_close_database_shutdown_driver(driver);
@@ -348,7 +416,8 @@ int main(int argc, char *argv[])
     G_free(on_path);
     G_free(nodes_to_features);
     G_free(dst);
-    G_free(prev);
+    G_free(nxt);
+    G_free(segdir);
 
     if (from_nr)
 	G_warning(n_("%d 'from' feature was not reachable",
diff --git a/vector/v.net.distance/v.net.distance.html b/vector/v.net.distance/v.net.distance.html
index b8d86d3..8917ca3 100644
--- a/vector/v.net.distance/v.net.distance.html
+++ b/vector/v.net.distance/v.net.distance.html
@@ -13,19 +13,22 @@ containing various information about the relation. More
 specifically, the table has three columns: <em>cat</em>, <em>tcat</em>
 and <em>dist</em> storing category of each <em>from</em> 
 feature, category of the nearest <em>to</em> feature and the 
-distance between them respectively. Furthemore, <b>output</b> map 
-contains the shorest path between each <em>cat</em>, <em>tcat</em> 
-pair. Each path consist of several lines. If a line is on the 
-shorest path from a point then the category of this point is 
-assigned to the line. Note that every line may contain more than one 
-category value since a single line may be on the shortest path for 
-more than one <em>from</em> feature. And so the shortest paths can 
-be easily obtained by querying lines with corresponding category 
-number.
-<br>
+distance between them respectively.
+<p>
+Furthemore, the <b>output</b> map contains the shortest path between 
+each <em>cat</em>, <em>tcat</em> pair. Each path consists of several 
+lines. If a line is on the shortest path from a point then the category 
+of this point is assigned to the line. Note that every line may contain 
+more than one category value since a single line may be on the shortest 
+path for more than one <em>from</em> feature. And so the shortest paths 
+can be easily obtained by querying lines with corresponding category 
+number. Alternatively, unique paths can be created with the <em>-l</em> 
+flag where each path will be a separate single line in the output.
+<p>
 The costs of arcs in forward and backward direction are specified by 
-<b>arc_column</b> and <b>arc_backward_column</b> columns respectively. If
-<b>arc_backward_column</b> is not given, the same cost is used in both directions.  
+<b>arc_column</b> and <b>arc_backward_column</b> columns respectively. 
+If <b>arc_backward_column</b> is not given, the same cost is used in 
+both directions.  
 <p>
 <em>v.net.distance</em> will not work if you are trying to find the 
 nearest neighbors within a group of nodes, i.e. where <em>to</em> 
@@ -62,7 +65,7 @@ v.net input=streets_net1 points=hospitals output=streets_net2 \
 v.category in=streets_net2 op=report
 
 # shortest paths from schools (points in layer 2) to nearest hospitals (points in layer 3)
-v.net.distance in=streets_net2 out=schools_to_hospitals flayer=2 turn_layer=3
+v.net.distance in=streets_net2 out=schools_to_hospitals flayer=2 to_layer=3
 </pre></div>
 
 <h3>Distance between point source of pollution and sample points along streams</h3>
@@ -157,4 +160,4 @@ Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor<br>
 Markus Metz
 
-<p><i>Last changed: $Date: 2015-12-14 13:56:17 +0100 (Mon, 14 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2016-03-03 12:44:45 -0800 (Thu, 03 Mar 2016) $</i>
diff --git a/vector/v.net.flow/v.net.flow.html b/vector/v.net.flow/v.net.flow.html
index 4d89208..7f005af 100644
--- a/vector/v.net.flow/v.net.flow.html
+++ b/vector/v.net.flow/v.net.flow.html
@@ -56,4 +56,4 @@ v.net.flow input=network output=flow cut=cut arc_column=ones \
 Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor
 
-<p><i>Last changed: $Date: 2014-12-24 15:44:33 +0100 (Wed, 24 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-24 06:11:14 -0800 (Wed, 24 Dec 2014) $</i>
diff --git a/vector/v.net.iso/main.c b/vector/v.net.iso/main.c
index 3b8c822..de2afda 100644
--- a/vector/v.net.iso/main.c
+++ b/vector/v.net.iso/main.c
@@ -4,6 +4,7 @@
  *  MODULE:       v.net.iso
  *  
  *  AUTHOR(S):    Radim Blazek
+ *                Stepan Turek <stepan.turek seznam.cz> (turns support)
  *                
  *  PURPOSE:      Split net to bands between isolines.
  *
@@ -43,14 +44,14 @@ typedef struct
 
 int main(int argc, char **argv)
 {
-    int i, ret, centre, line, centre1, centre2;
+    int i, j, ret, centre, line, centre1, centre2, tfield, tucfield;
     int nlines, nnodes, type, ltype, afield, nfield, geo, cat;
     int node, node1, node2;
     double cost, e1cost, e2cost, n1cost, n2cost, s1cost, s2cost, l, l1;
     struct Option *map, *output;
     struct Option *afield_opt, *nfield_opt, *afcol, *abcol, *ncol, *type_opt,
-	*term_opt, *cost_opt;
-    struct Flag *geo_f;
+	*term_opt, *cost_opt, *tfield_opt, *tucfield_opt;
+    struct Flag *geo_f, *turntable_f;
     struct GModule *module;
     struct Map_info Map, Out;
     struct cat_list *catlist;
@@ -81,19 +82,38 @@ int main(int argc, char **argv)
     map = G_define_standard_option(G_OPT_V_INPUT);
     output = G_define_standard_option(G_OPT_V_OUTPUT);
 
+    term_opt = G_define_standard_option(G_OPT_V_CATS);
+    term_opt->key = "center_cats";
+    term_opt->required = YES;
+    term_opt->description =
+	_("Categories of centers (points on nodes) to which net "
+	  "will be allocated, "
+	  "layer for this categories is given by nlayer option");
+
+    cost_opt = G_define_option();
+    cost_opt->key = "costs";
+    cost_opt->type = TYPE_INTEGER;
+    cost_opt->multiple = YES;
+    cost_opt->required = YES;
+    cost_opt->description = _("Costs for isolines");
+
     afield_opt = G_define_standard_option(G_OPT_V_FIELD);
     afield_opt->key = "arc_layer";
+    afield_opt->answer = "1";
+    afield_opt->required = YES;
     afield_opt->label = _("Arc layer");
 
     type_opt = G_define_standard_option(G_OPT_V_TYPE);
     type_opt->key = "arc_type";
     type_opt->options = "line,boundary";
     type_opt->answer = "line,boundary";
+    type_opt->required = YES;
     type_opt->label = _("Arc type");
 
     nfield_opt = G_define_standard_option(G_OPT_V_FIELD);
     nfield_opt->key = "node_layer";
     nfield_opt->answer = "2";
+    nfield_opt->required = YES;
     nfield_opt->label = _("Node layer");
 
     afcol = G_define_standard_option(G_OPT_DB_COLUMN);
@@ -112,20 +132,26 @@ int main(int argc, char **argv)
     ncol->description = _("Node cost column (number)");
     ncol->guisection = _("Cost");
 
-    term_opt = G_define_standard_option(G_OPT_V_CATS);
-    term_opt->key = "center_cats";
-    term_opt->required = YES;
-    term_opt->description =
-	_("Categories of centers (points on nodes) to which net "
-	  "will be allocated, "
-	  "layer for this categories is given by nlayer option");
-
-    cost_opt = G_define_option();
-    cost_opt->key = "costs";
-    cost_opt->type = TYPE_INTEGER;
-    cost_opt->multiple = YES;
-    cost_opt->required = YES;
-    cost_opt->description = _("Costs for isolines");
+    turntable_f = G_define_flag();
+    turntable_f->key = 't';
+    turntable_f->description = _("Use turntable");
+    turntable_f->guisection = _("Turntable");
+
+    tfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    tfield_opt->key = "turn_layer";
+    tfield_opt->answer = "3";
+    tfield_opt->label = _("Layer with turntable");
+    tfield_opt->description =
+	_("Relevant only with -t flag");
+    tfield_opt->guisection = _("Turntable");
+
+    tucfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    tucfield_opt->key = "turn_cat_layer";
+    tucfield_opt->answer = "4";
+    tucfield_opt->label = _("Layer with unique categories used in turntable");
+    tucfield_opt->description =
+	_("Relevant only with -t flag");
+    tucfield_opt->guisection = _("Turntable");
 
     geo_f = G_define_flag();
     geo_f->key = 'g';
@@ -142,8 +168,6 @@ int main(int argc, char **argv)
     SPoints = Vect_new_line_struct();
 
     type = Vect_option_to_types(type_opt);
-    afield = atoi(afield_opt->answer);
-    nfield = atoi(nfield_opt->answer);
 
     catlist = Vect_new_cat_list();
     Vect_str_to_cat_list(term_opt->answer, catlist);
@@ -174,7 +198,8 @@ int main(int argc, char **argv)
 
     /* Should not happen: */
     if (niso < 2)
-	G_warning(_("Not enough costs, everything reachable falls to first band"));
+	G_warning(_
+		  ("Not enough costs, everything reachable falls to first band"));
 
     if (geo_f->answer)
 	geo = 1;
@@ -182,13 +207,22 @@ int main(int argc, char **argv)
 	geo = 0;
 
     Vect_set_open_level(2);
-
     if (Vect_open_old(&Map, map->answer, "") < 0)
 	G_fatal_error(_("Unable to open vector map <%s>"), map->answer);
 
+    afield = Vect_get_field_number(&Map, afield_opt->answer);
+    nfield = Vect_get_field_number(&Map, nfield_opt->answer);
+    tfield = Vect_get_field_number(&Map, tfield_opt->answer);
+    tucfield = Vect_get_field_number(&Map, tucfield_opt->answer);
+
     /* Build graph */
-    Vect_net_build_graph(&Map, type, afield, nfield, afcol->answer,
-			 abcol->answer, ncol->answer, geo, 0);
+    if (turntable_f->answer)
+	Vect_net_ttb_build_graph(&Map, type, afield, nfield, tfield, tucfield,
+				 afcol->answer, abcol->answer, ncol->answer,
+				 geo, 0);
+    else
+	Vect_net_build_graph(&Map, type, afield, nfield, afcol->answer,
+			     abcol->answer, ncol->answer, geo, 0);
 
     nnodes = Vect_get_num_nodes(&Map);
     nlines = Vect_get_num_lines(&Map);
@@ -200,7 +234,9 @@ int main(int argc, char **argv)
 	    continue;
 
 	Vect_read_line(&Map, Points, Cats, i);
-	node = Vect_find_node(&Map, Points->x[0], Points->y[0], Points->z[0], 0, 0);
+	node =
+	    Vect_find_node(&Map, Points->x[0], Points->y[0], Points->z[0], 0,
+			   0);
 	if (!node) {
 	    G_warning(_("Point is not connected to the network"));
 	    continue;
@@ -231,12 +267,23 @@ int main(int argc, char **argv)
     G_message(_("Number of centres: %d (nlayer %d)"), ncentres, nfield);
 
     if (ncentres == 0)
-	G_warning(_("Not enough centres for selected nlayer. Nothing will be allocated."));
+	G_warning(_
+		  ("Not enough centres for selected nlayer. Nothing will be allocated."));
 
     /* alloc and reset space for all nodes */
-    Nodes = (NODE *) G_calloc((nnodes + 1), sizeof(NODE));
-    for (i = 1; i <= nnodes; i++) {
-	Nodes[i].centre = -1;
+    if (turntable_f->answer) {
+	/* if turntable is used we are looking for lines as destinations, instead of the intersections (nodes) */
+	Nodes = (NODE *) G_calloc((nlines * 2 + 2), sizeof(NODE));
+	for (i = 2; i <= (nlines * 2 + 2); i++) {
+	    Nodes[i].centre = -1;/* NOTE: first two items of Nodes are not used */
+	}
+
+    }
+    else {
+	Nodes = (NODE *) G_calloc((nnodes + 1), sizeof(NODE));
+	for (i = 1; i <= nnodes; i++) {
+	    Nodes[i].centre = -1;
+	}
     }
 
     apnts1 = 1;
@@ -252,32 +299,74 @@ int main(int argc, char **argv)
 	G_debug(2, "centre = %d node = %d cat = %d", centre, node1,
 		Centers[centre].cat);
 	G_message(_("Calculating costs from centre %d..."), centre + 1);
-	for (node2 = 1; node2 <= nnodes; node2++) {
-	    G_percent(node2, nnodes, 1);
-	    G_debug(5, "  node1 = %d node2 = %d", node1, node2);
-	    Vect_net_get_node_cost(&Map, node2, &n2cost);
-	    if (n2cost == -1) {
-		continue;
-	    }			/* closed, left it as not attached */
-
-	    ret = Vect_net_shortest_path(&Map, node1, node2, NULL, &cost);
-	    if (ret == -1) {
-		continue;
-	    }			/* node unreachable */
-
-	    /* We must add centre node costs (not calculated by Vect_net_shortest_path() ), but
-	     *  only if centre and node are not identical, because at the end node cost is add later */
-	    if (node1 != node2)
-		cost += n1cost;
-	    G_debug(5,
-		    "Arc nodes: %d %d cost: %f (x old cent: %d old cost %f",
-		    node1, node2, cost, Nodes[node2].centre,
-		    Nodes[node2].cost);
-	    if (Nodes[node2].centre == -1 || cost < Nodes[node2].cost) {
-		Nodes[node2].cost = cost;
-		Nodes[node2].centre = centre;
+	if (turntable_f->answer)
+	    for (line = 1; line <= nlines; line++) {
+		G_debug(5, "  node1 = %d line = %d", node1, line);
+		Vect_net_get_node_cost(&Map, line, &n2cost);
+		/* closed, left it as not attached */
+
+		if (Vect_read_line(&Map, Points, Cats, line) < 0)
+		    continue;
+		if (Vect_get_line_type(&Map, line) != GV_LINE)
+		    continue;
+		if (!Vect_cat_get(Cats, tucfield, &cat))
+		    continue;
+
+		for (j = 0; j < 2; j++) {
+		    if (j == 1)
+			cat *= -1;
+
+		    ret =
+			Vect_net_ttb_shortest_path(&Map, node1, 0, cat, 1,
+						   tucfield, NULL,
+						   &cost);
+		    if (ret == -1) {
+			continue;
+		    }		/* node unreachable */
+
+		    /* We must add centre node costs (not calculated by Vect_net_shortest_path() ), but
+	             *  only if centre and node are not identical, because at the end node cost is add later */
+		    if (ret != 1)
+			cost += n1cost;
+
+		    G_debug(5,
+			    "Arc nodes: %d %d cost: %f (x old cent: %d old cost %f",
+			    node1, line, cost, Nodes[line * 2 + j].centre,
+			    Nodes[line * 2 + j].cost);
+		    if (Nodes[line * 2 + j].centre == -1 ||
+			cost < Nodes[line * 2 + j].cost) {
+			Nodes[line * 2 + j].cost = cost;
+			Nodes[line * 2 + j].centre = centre;
+		    }
+		}
+	    }
+	else
+	    for (node2 = 1; node2 <= nnodes; node2++) {
+		G_percent(node2, nnodes, 1);
+		G_debug(5, "  node1 = %d node2 = %d", node1, node2);
+		Vect_net_get_node_cost(&Map, node2, &n2cost);
+		if (n2cost == -1) {
+		    continue;
+		}		/* closed, left it as not attached */
+
+		ret = Vect_net_shortest_path(&Map, node1, node2, NULL, &cost);
+		if (ret == -1) {
+		    continue;
+		}		/* node unreachable */
+
+		/* We must add centre node costs (not calculated by Vect_net_shortest_path() ), but
+		 *  only if centre and node are not identical, because at the end node cost is add later */
+		if (node1 != node2)
+		    cost += n1cost;
+		G_debug(5,
+			"Arc nodes: %d %d cost: %f (x old cent: %d old cost %f",
+			node1, node2, cost, Nodes[node2].centre,
+			Nodes[node2].cost);
+		if (Nodes[node2].centre == -1 || cost < Nodes[node2].cost) {
+		    Nodes[node2].cost = cost;
+		    Nodes[node2].centre = centre;
+		}
 	    }
-	}
     }
 
     /* Write arcs to new map */
@@ -290,31 +379,42 @@ int main(int argc, char **argv)
     nlines = Vect_get_num_lines(&Map);
     for (line = 1; line <= nlines; line++) {
 	G_percent(line, nlines, 2);
-	
+
 	ltype = Vect_read_line(&Map, Points, NULL, line);
 	if (!(ltype & type)) {
 	    continue;
 	}
-	Vect_get_line_nodes(&Map, line, &node1, &node2);
-	centre1 = Nodes[node1].centre;
-	centre2 = Nodes[node2].centre;
-	s1cost = Nodes[node1].cost;
-	s2cost = Nodes[node2].cost;
-	l = Vect_line_length(Points);
 
+	l = Vect_line_length(Points);
 	if (l == 0)
 	    continue;
 
-	G_debug(3, "Line %d : length = %f", line, l);
-	G_debug(3, "Arc centres: %d %d (nodes: %d %d)", centre1, centre2,
-		node1, node2);
+	if (turntable_f->answer) {
+	    centre1 = Nodes[line * 2].centre;
+	    centre2 = Nodes[line * 2 + 1].centre;
+	    s1cost = Nodes[line * 2].cost;
+	    s2cost = Nodes[line * 2 + 1].cost;
+	    n1cost = n2cost = 0;
+	}
+	else {
+	    Vect_get_line_nodes(&Map, line, &node1, &node2);
+	    centre1 = Nodes[node1].centre;
+	    centre2 = Nodes[node2].centre;
+	    s1cost = Nodes[node1].cost;
+	    s2cost = Nodes[node2].cost;
 
-	Vect_net_get_node_cost(&Map, node1, &n1cost);
-	Vect_net_get_node_cost(&Map, node2, &n2cost);
+	    Vect_net_get_node_cost(&Map, node1, &n1cost);
+	    Vect_net_get_node_cost(&Map, node2, &n2cost);
+
+	}
 
 	Vect_net_get_line_cost(&Map, line, GV_FORWARD, &e1cost);
 	Vect_net_get_line_cost(&Map, line, GV_BACKWARD, &e2cost);
 
+	G_debug(3, "Line %d : length = %f", line, l);
+	G_debug(3, "Arc centres: %d %d (nodes: %d %d)", centre1, centre2,
+		node1, node2);
+
 	G_debug(3, "  s1cost = %f n1cost = %f e1cost = %f", s1cost, n1cost,
 		e1cost);
 	G_debug(3, "  s2cost = %f n2cost = %f e2cost = %f", s2cost, n2cost,
@@ -514,7 +614,8 @@ int main(int argc, char **argv)
 		    Vect_line_segment(Points, pnts1[i - 1].distance,
 				      pnts1[i].distance, SPoints);
 		if (ret == 0) {
-		    G_warning(_("Cannot get line segment, segment out of line"));
+		    G_warning(_
+			      ("Cannot get line segment, segment out of line"));
 		}
 		else {
 		    Vect_reset_cats(Cats);
diff --git a/vector/v.net.iso/v.net.iso.html b/vector/v.net.iso/v.net.iso.html
index 2982ff6..6ae91af 100644
--- a/vector/v.net.iso/v.net.iso.html
+++ b/vector/v.net.iso/v.net.iso.html
@@ -15,8 +15,18 @@ Supported are cost assignments for both arcs and nodes,
 and also different costs for both directions of a vector line. 
 For areas, costs will be calculated along boundary lines.
 <p>
-The input vector needs to be prepared with <em>v.net operation=connect</em> 
-in order to connect points representing center nodes to the network.
+Application of flag <b>-t</b> enables a turntable support. 
+This flag requires additional parameters <b>turn_layer</b> and <b>turn_cat_layer</b> 
+that are otherwise ignored.
+ The turntable allows 
+to model e.g. trafic code, where some turns may be prohibited. 
+This means that the input layer is expanded by 
+turntable with costs of every possible turn on any possible node 
+(intersection) in both directions. 
+ Turntable can be created by 
+ the <em><a href="v.net.html">v.net</a></em> module. 
+For more information about turns in the vector network analyses see
+<a href="http://grasswiki.osgeo.org/wiki/Turns_in_the_vector_network_analysis">wiki page</a>.
 
 <h2>NOTES</h2>
 
@@ -172,4 +182,13 @@ d.vect myroads_net col=red icon=basic/triangle fcol=green size=12 layer=2
 Radim Blazek, ITC-Irst, Trento, Italy<br>
 Documentation: Markus Neteler, Markus Metz
 
-<p><i>Last changed: $Date: 2014-12-24 15:44:33 +0100 (Wed, 24 Dec 2014) $</i>
+<h3>TURNS SUPPORT</h3>
+
+The turns support was implemnented as part of GRASS GIS turns cost project at Czech Technical University in Prague, Czech Republic.  
+Eliska Kyzlikova, Stepan Turek, Lukas Bocan and Viera Bejdova participated at the project.
+
+Implementation: Stepan Turek 
+Documentation: Lukas Bocan
+Mentor: Martin Landa
+
+<p><i>Last changed: $Date: 2014-12-24 06:27:04 -0800 (Wed, 24 Dec 2014) $</i>
diff --git a/vector/v.net.path/main.c b/vector/v.net.path/main.c
index 4052eca..cdc563c 100644
--- a/vector/v.net.path/main.c
+++ b/vector/v.net.path/main.c
@@ -4,7 +4,8 @@
  * MODULE:       v.net.path
  * 
  * AUTHOR(S):    Radim Blazek
- *               
+ *               Stepan Turek <stepan.turek seznam.cz> (turns support)
+ *
  * PURPOSE:      Shortest path on vector network
  *               
  * COPYRIGHT:    (C) 2002, 2014 by the GRASS Development Team
@@ -20,17 +21,18 @@
 #include <grass/vector.h>
 #include <grass/glocale.h>
 
-int path(struct Map_info *, struct Map_info *, char *, int, double, int);
+int path(struct Map_info *, struct Map_info *, char *, int, double, int,
+	 int, int);
 
 int main(int argc, char **argv)
 {
-    struct Option *input_opt, *output_opt, *afield_opt, *nfield_opt, *afcol,
-	*abcol, *ncol, *type_opt;
+    struct Option *input_opt, *output_opt, *afield_opt, *nfield_opt,
+	*tfield_opt, *tucfield_opt, *afcol, *abcol, *ncol, *type_opt;
     struct Option *max_dist, *file_opt;
-    struct Flag *geo_f, *segments_f;
+    struct Flag *geo_f, *segments_f, *turntable_f;
     struct GModule *module;
     struct Map_info In, Out;
-    int type, afield, nfield, geo;
+    int type, afield, nfield, tfield, tucfield, geo;
     double maxdist;
 
     /* Initialize the GIS calls */
@@ -45,19 +47,23 @@ int main(int argc, char **argv)
     input_opt = G_define_standard_option(G_OPT_V_INPUT);
     output_opt = G_define_standard_option(G_OPT_V_OUTPUT);
 
-    type_opt = G_define_standard_option(G_OPT_V_TYPE);
-    type_opt->options = "line,boundary";
-    type_opt->answer = "line,boundary";
-    type_opt->label = _("Arc type");
-
     afield_opt = G_define_standard_option(G_OPT_V_FIELD);
     afield_opt->key = "arc_layer";
     afield_opt->answer = "1";
+    afield_opt->required = YES;
     afield_opt->label = _("Arc layer");
 
+    type_opt = G_define_standard_option(G_OPT_V_TYPE);
+    type_opt->key = "arc_type";
+    type_opt->options = "line,boundary";
+    type_opt->answer = "line,boundary";
+    type_opt->required = YES;
+    type_opt->label = _("Arc type");
+
     nfield_opt = G_define_standard_option(G_OPT_V_FIELD);
     nfield_opt->key = "node_layer";
     nfield_opt->answer = "2";
+    nfield_opt->required = YES;
     nfield_opt->label = _("Node layer");
 
     file_opt = G_define_standard_option(G_OPT_F_INPUT);
@@ -99,6 +105,27 @@ int main(int argc, char **argv)
 			      "and error message is printed. To speed up the process, keep this "
 			      "value as low as possible.");
 
+    turntable_f = G_define_flag();
+    turntable_f->key = 't';
+    turntable_f->description = _("Use turntable");
+    turntable_f->guisection = _("Turntable");
+
+    tfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    tfield_opt->key = "turn_layer";
+    tfield_opt->answer = "3";
+    tfield_opt->label = _("Layer with turntable");
+    tfield_opt->description =
+	_("Relevant only with -t flag");
+    tfield_opt->guisection = _("Turntable");
+
+    tucfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    tucfield_opt->key = "turn_cat_layer";
+    tucfield_opt->answer = "4";
+    tucfield_opt->label = _("Layer with unique categories used in turntable");
+    tucfield_opt->description =
+	_("Relevant only with -t flag");
+    tucfield_opt->guisection = _("Turntable");
+
     geo_f = G_define_flag();
     geo_f->key = 'g';
     geo_f->description =
@@ -113,8 +140,6 @@ int main(int argc, char **argv)
 	exit(EXIT_FAILURE);
 
     type = Vect_option_to_types(type_opt);
-    afield = atoi(afield_opt->answer);
-    nfield = atoi(nfield_opt->answer);
     maxdist = atof(max_dist->answer);
 
     if (geo_f->answer) {
@@ -132,6 +157,11 @@ int main(int argc, char **argv)
     if (Vect_open_old(&In, input_opt->answer, "") < 0)
 	G_fatal_error(_("Unable to open vector map <%s>"), input_opt->answer);
 
+    afield = Vect_get_field_number(&In, afield_opt->answer);
+    nfield = Vect_get_field_number(&In, nfield_opt->answer);
+    tfield = Vect_get_field_number(&In, tfield_opt->answer);
+    tucfield = Vect_get_field_number(&In, tucfield_opt->answer);
+
     if (1 > Vect_open_new(&Out, output_opt->answer, Vect_is_3d(&In))) {
 	Vect_close(&In);
 	G_fatal_error(_("Unable to create vector map <%s>"),
@@ -139,10 +169,16 @@ int main(int argc, char **argv)
     }
     Vect_hist_command(&Out);
 
-    Vect_net_build_graph(&In, type, afield, nfield, afcol->answer,
-			 abcol->answer, ncol->answer, geo, 0);
+    if (turntable_f->answer)
+	Vect_net_ttb_build_graph(&In, type, afield, nfield, tfield, tucfield,
+				 afcol->answer, abcol->answer, ncol->answer,
+				 geo, 0);
+    else
+	Vect_net_build_graph(&In, type, afield, nfield, afcol->answer,
+			     abcol->answer, ncol->answer, geo, 0);
 
-    path(&In, &Out, file_opt->answer, nfield, maxdist, segments_f->answer);
+    path(&In, &Out, file_opt->answer, nfield, maxdist, segments_f->answer,
+	 tucfield, turntable_f->answer);
 
     Vect_close(&In);
 
diff --git a/vector/v.net.path/path.c b/vector/v.net.path/path.c
index a45023c..d5a2625 100644
--- a/vector/v.net.path/path.c
+++ b/vector/v.net.path/path.c
@@ -24,7 +24,7 @@ typedef struct
 int cmp(const void *, const void *);
 
 int path(struct Map_info *In, struct Map_info *Out, char *filename,
-	 int nfield, double maxdist, int segments)
+	 int nfield, double maxdist, int segments, int tucfield, int use_ttb)
 {
     FILE *in_file = NULL;
     int i, nlines, line, npoints, type, cat, id, fcat, tcat, fline, tline,
@@ -174,7 +174,9 @@ int path(struct Map_info *In, struct Map_info *Out, char *filename,
 	    else {
 		fline = Citem->line;
 		type = Vect_read_line(In, Points, NULL, fline);
-		fnode = Vect_find_node(In, Points->x[0], Points->y[0], Points->z[0], 0, 0);
+		fnode =
+		    Vect_find_node(In, Points->x[0], Points->y[0],
+				   Points->z[0], 0, 0);
 		/* Vect_get_line_nodes(In, fline, &fnode, NULL); */
 	    }
 	    G_debug(3, "from: cat = %5d point(line) = %5d node = %5d", fcat,
@@ -194,14 +196,23 @@ int path(struct Map_info *In, struct Map_info *Out, char *filename,
 	    else {
 		tline = Citem->line;
 		type = Vect_read_line(In, Points, NULL, tline);
-		tnode = Vect_find_node(In, Points->x[0], Points->y[0], Points->z[0], 0, 0);
+		tnode =
+		    Vect_find_node(In, Points->x[0], Points->y[0],
+				   Points->z[0], 0, 0);
 		/* Vect_get_line_nodes(In, tline, &tnode, NULL); */
 	    }
 	    G_debug(3, "to  : cat = %5d point(line) = %5d node = %5d", tcat,
 		    tline, tnode);
 
 	    if (sp != SP_NOPOINT) {
-		ret = Vect_net_shortest_path(In, fnode, tnode, AList, &cost);
+		if (use_ttb)
+		    ret =
+			Vect_net_ttb_shortest_path(In, fnode, 0, tnode, 0,
+						   tucfield, AList, &cost);
+		else
+		    ret =
+			Vect_net_shortest_path(In, fnode, tnode, AList,
+					       &cost);
 
 		if (ret == -1) {
 		    sp = SP_UNREACHABLE;
@@ -245,8 +256,9 @@ int path(struct Map_info *In, struct Map_info *Out, char *filename,
 			    else
 				Vect_append_points(OPoints, Points,
 						   GV_BACKWARD);
+			    OPoints->n_points--;
 			}
-
+			OPoints->n_points++;
 			Vect_write_line(Out, GV_LINE, OPoints, Cats);
 		    }
 		}
@@ -254,11 +266,21 @@ int path(struct Map_info *In, struct Map_info *Out, char *filename,
 	}
 	else {			/* INPUT_MODE_COOR */
 	    fcat = tcat = 0;
-	    ret =
-		Vect_net_shortest_path_coor(In, fx, fy, 0.0, tx, ty, 0.0,
-					    maxdist, maxdist, &cost, OPoints,
-					    AList, FPoints, TPoints, &fdist,
-					    &tdist);
+
+	    if (use_ttb)
+		ret =
+		    Vect_net_ttb_shortest_path_coor(In, fx, fy, 0.0, tx, ty,
+						    0.0, maxdist, maxdist,
+						    tucfield, &cost,
+						    OPoints, AList, NULL,
+						    FPoints, TPoints, &fdist,
+						    &tdist);
+	    else
+		ret =
+		    Vect_net_shortest_path_coor(In, fx, fy, 0.0, tx, ty, 0.0,
+						maxdist, maxdist, &cost,
+						OPoints, AList, NULL, FPoints,
+						TPoints, &fdist, &tdist);
 
 	    if (ret == 0) {
 		sp = SP_UNREACHABLE;
diff --git a/vector/v.net.path/v.net.path.html b/vector/v.net.path/v.net.path.html
index 5792a54..9e67a12 100644
--- a/vector/v.net.path/v.net.path.html
+++ b/vector/v.net.path/v.net.path.html
@@ -67,6 +67,22 @@ The attribute table will contain the following attributes:
     <li><tt>tdist</tt> - the distance from the network to second point</li>
 </ul>
 
+<p>
+
+Application of flag <b>-t</b> enables a turntable support. 
+This flag requires additional parameters <b>turn_layer</b> and <b>turn_cat_layer</b> 
+that are otherwise ignored.
+ The turntable allows 
+to model e.g. trafic code, where some turns may be prohibited. 
+This means that the input layer is expanded by 
+turntable with costs of every possible turn on any possible node 
+(intersection) in both directions. 
+ Turntable can be created by 
+ the <em><a href="v.net.html">v.net</a></em> module. 
+For more information about turns in the vector network analyses see
+<a href="http://grasswiki.osgeo.org/wiki/Turns_in_the_vector_network_analysis">wiki page</a>.
+
+
 <h2>NOTES</h2>
 Nodes and arcs can be closed using <tt>cost = -1</tt>. 
 <p>If the cost columns <b>arc_column</b>, <b>arc_backward_column</b> and <b>node_column</b> are not
@@ -176,5 +192,14 @@ d.vect startend disp=cat type=point lsize=14 layer=2
 Radim Blazek, ITC-Irst, Trento, Italy<br>
 Documentation: Markus Neteler, Markus Metz
 
+<h3>TURNS SUPPORT</h3>
+
+The turns support was implemnented as part of GRASS GIS turns cost project at Czech Technical University in Prague, Czech Republic.
+
+<p>
+Implementation: Stepan Turek<br>
+Documentation: Lukas Bocan, Eliska Kyzlikova, Viera Bejdova<br>
+Mentor: Martin Landa
+
 <p>
-<i>Last changed: $Date: 2014-12-24 15:53:17 +0100 (Wed, 24 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-24 06:51:58 -0800 (Wed, 24 Dec 2014) $</i>
diff --git a/vector/v.net.salesman/main.c b/vector/v.net.salesman/main.c
index abef33c..593e072 100644
--- a/vector/v.net.salesman/main.c
+++ b/vector/v.net.salesman/main.c
@@ -4,7 +4,8 @@
  *  MODULE:       v.net.salesman
  *  
  *  AUTHOR(S):    Radim Blazek, Markus Metz
- *                
+ *                Stepan Turek <stepan.turek seznam.cz> (turns support)
+ *               
  *  PURPOSE:      Create a cycle connecting given nodes.
  *
  *  COPYRIGHT:    (C) 2001-2011,2014 by the GRASS Development Team
@@ -98,12 +99,12 @@ int tsp_list_append(struct ilist *list, int val)
 int main(int argc, char **argv)
 {
     int i, j, k, ret, city, city1;
-    int nlines, type, ltype, afield, tfield, geo, cat;
+    int nlines, type, ltype, afield, nfield, tfield, tucfield, geo, cat;
     int node, node1, node2, line;
-    double **cost_cache;			/* pointer to array of pointers to arrays of cached costs */
-    struct Option *map, *output, *afield_opt, *tfield_opt, *afcol, *abcol,
-	*seq, *type_opt, *term_opt;
-    struct Flag *geo_f;
+    double **cost_cache;	/* pointer to array of pointers to arrays of cached costs */
+    struct Option *map, *output, *afield_opt, *nfield_opt, *afcol, *abcol,
+	*seq, *type_opt, *term_opt, *tfield_opt, *tucfield_opt;
+    struct Flag *geo_f, *turntable_f;
     struct GModule *module;
     struct Map_info Map, Out;
     struct ilist *TList;	/* list of terminal nodes */
@@ -135,44 +136,71 @@ int main(int argc, char **argv)
     map = G_define_standard_option(G_OPT_V_INPUT);
     output = G_define_standard_option(G_OPT_V_OUTPUT);
 
+    term_opt = G_define_standard_option(G_OPT_V_CATS);
+    term_opt->key = "center_cats";
+    term_opt->required = YES;
+    term_opt->description = _("Categories of points ('cities') on nodes "
+			      "(layer is specified by nlayer)");
+
     afield_opt = G_define_standard_option(G_OPT_V_FIELD);
     afield_opt->key = "arc_layer";
+    afield_opt->answer = "1";
+    afield_opt->required = YES;
     afield_opt->label = _("Arc layer");
 
     type_opt = G_define_standard_option(G_OPT_V_TYPE);
     type_opt->key = "arc_type";
     type_opt->options = "line,boundary";
     type_opt->answer = "line,boundary";
-    type_opt->description = _("Arc type");
+    type_opt->required = YES;
+    type_opt->label = _("Arc type");
 
-    tfield_opt = G_define_standard_option(G_OPT_V_FIELD);
-    tfield_opt->key = "node_layer";
-    tfield_opt->answer = "2";
-    tfield_opt->label = _("Node layer (used for cities)");
+    nfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    nfield_opt->key = "node_layer";
+    nfield_opt->answer = "2";
+    nfield_opt->required = YES;
+    nfield_opt->label = _("Node layer (used for cities)");
 
     afcol = G_define_option();
     afcol->key = "arc_column";
     afcol->type = TYPE_STRING;
     afcol->required = NO;
     afcol->description = _("Arc forward/both direction(s) cost column (number)");
+    afcol->guisection = _("Cost");
 
     abcol = G_define_option();
     abcol->key = "arc_backward_column";
     abcol->type = TYPE_STRING;
+    abcol->required = NO; 
     abcol->required = NO;
     abcol->description = _("EXPERIMENTAL: Arc backward direction cost column (number)");
+    abcol->guisection = _("Cost");
+
+    turntable_f = G_define_flag();
+    turntable_f->key = 't';
+    turntable_f->description = _("Use turntable");
+    turntable_f->guisection = _("Turntable");
+
+    tfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    tfield_opt->key = "turn_layer";
+    tfield_opt->answer = "3";
+    tfield_opt->label = _("Layer with turntable");
+    tfield_opt->description = _("Relevant only with -t flag");
+    tfield_opt->guisection = _("Turntable");
+
+    tucfield_opt = G_define_standard_option(G_OPT_V_FIELD);
+    tucfield_opt->key = "turn_cat_layer";
+    tucfield_opt->answer = "4";
+    tucfield_opt->label = _("Layer with unique categories used in turntable");
+    tucfield_opt->description = _("Relevant only with -t flag");
+    tucfield_opt->guisection = _("Turntable");
 
     seq = G_define_standard_option(G_OPT_F_OUTPUT);
     seq->key = "sequence";
     seq->type = TYPE_STRING;
     seq->required = NO;
-    seq->description = _("Name for output file holding node sequence (\"-\" for stdout)");
-
-    term_opt = G_define_standard_option(G_OPT_V_CATS);
-    term_opt->key = "center_cats";
-    term_opt->required = YES;
-    term_opt->description = _("Categories of points ('cities') on nodes "
-			      "(layer is specified by nlayer)");
+    seq->description =
+	_("Name for output file holding node sequence (\"-\" for stdout)");
 
     geo_f = G_define_flag();
     geo_f->key = 'g';
@@ -186,7 +214,6 @@ int main(int argc, char **argv)
     Points = Vect_new_line_struct();
 
     type = Vect_option_to_types(type_opt);
-    afield = atoi(afield_opt->answer);
 
     TList = Vect_new_list();
     List = Vect_new_list();
@@ -194,7 +221,6 @@ int main(int argc, char **argv)
     StNodes = Vect_new_list();
 
     Clist = Vect_new_cat_list();
-    tfield = atoi(tfield_opt->answer);
     Vect_str_to_cat_list(term_opt->answer, Clist);
 
     dstr = G_getenv_nofatal("DEBUG");
@@ -223,6 +249,12 @@ int main(int argc, char **argv)
     if (Vect_open_old(&Map, map->answer, "") < 0)
 	G_fatal_error(_("Unable to open vector map <%s>"), map->answer);
 
+
+    afield = Vect_get_field_number(&Map, afield_opt->answer);
+    nfield = Vect_get_field_number(&Map, nfield_opt->answer);
+    tfield = Vect_get_field_number(&Map, tfield_opt->answer);
+    tucfield = Vect_get_field_number(&Map, tucfield_opt->answer);
+
     nnodes = Vect_get_num_nodes(&Map);
     nlines = Vect_get_num_lines(&Map);
 
@@ -234,16 +266,20 @@ int main(int argc, char **argv)
 	    continue;
 
 	Vect_read_line(&Map, Points, Cats, i);
-	if (!(Vect_cat_get(Cats, tfield, &cat)))
+
+	if (!(Vect_cat_get(Cats, nfield, &cat)))
 	    continue;
 	if (Vect_cat_in_cat_list(cat, Clist)) {
-	    node = Vect_find_node(&Map, Points->x[0], Points->y[0], Points->z[0], 0, 0);
+	    node =
+		Vect_find_node(&Map, Points->x[0], Points->y[0], Points->z[0],
+			       0, 0);
 	    if (!node) {
 		G_warning(_("Point is not connected to the network"));
 	    }
 	    else
 		tsp_list_append(TList, node);
 	}
+
     }
 
     ncities = TList->n_values;
@@ -264,9 +300,9 @@ int main(int argc, char **argv)
     for (i = 0; i < ncities; i++) {
 	costs[i] = (COST *) G_malloc(ncities * sizeof(COST));
     }
-    cost_cache = (double **) G_malloc(ncities * sizeof(double *));
+    cost_cache = (double **)G_malloc(ncities * sizeof(double *));
     for (i = 0; i < ncities; i++) {
-	cost_cache[i] = (double *) G_malloc(ncities * sizeof(double));
+	cost_cache[i] = (double *)G_malloc(ncities * sizeof(double));
     }
     if (abcol->answer) {
 	bcosts = (COST **) G_malloc(ncities * sizeof(COST *));
@@ -280,8 +316,12 @@ int main(int argc, char **argv)
     cycle = (int *)G_malloc((ncities + 1) * sizeof(int));	/* + 1 is for output cycle */
 
     /* Build graph */
-    Vect_net_build_graph(&Map, type, afield, 0, afcol->answer, abcol->answer, NULL,
-			 geo, 0);
+    if (turntable_f->answer)
+	Vect_net_ttb_build_graph(&Map, type, afield, 0, tfield, tucfield,
+				 afcol->answer, abcol->answer, NULL, geo, 0);
+    else
+	Vect_net_build_graph(&Map, type, afield, 0, afcol->answer,
+			     abcol->answer, NULL, geo, 0);
 
     /* Create sorted lists of costs */
     /* for a large number of cities this will become very slow, can not be fixed */
@@ -294,33 +334,46 @@ int main(int argc, char **argv)
 	    if (i == j)
 		continue;
 
-	    ret =
-		Vect_net_shortest_path(&Map, cities[i], cities[j], NULL,
-				       &cost);
+	    if (turntable_f->answer)
+		ret =
+		    Vect_net_ttb_shortest_path(&Map, cities[i], 0, cities[j],
+					       0, tucfield, NULL, &cost);
+	    else
+		ret =
+		    Vect_net_shortest_path(&Map, cities[i], cities[j], NULL,
+					   &cost);
 
 	    if (ret == -1) {
 		double coor_x, coor_y, coor_z;
 		int cat1, cat2;
-		
-		Vect_get_node_coor(&Map, cities[i], &coor_x, &coor_y, &coor_z);
-		line = Vect_find_line(&Map, coor_x, coor_y, coor_z, GV_POINT, 0, 0, 0);
-		
+
+		Vect_get_node_coor(&Map, cities[i], &coor_x, &coor_y,
+				   &coor_z);
+		line =
+		    Vect_find_line(&Map, coor_x, coor_y, coor_z, GV_POINT, 0,
+				   0, 0);
+
 		if (!line)
 		    G_fatal_error(_("No point at node %d"), cities[i]);
 
 		Vect_read_line(&Map, Points, Cats, line);
-		if (!(Vect_cat_get(Cats, tfield, &cat1)))
-		    G_fatal_error(_("No category for point at node %d"), cities[i]);
+		if (!(Vect_cat_get(Cats, nfield, &cat1)))
+		    G_fatal_error(_("No category for point at node %d"),
+				  cities[i]);
+
+		Vect_get_node_coor(&Map, cities[j], &coor_x, &coor_y,
+				   &coor_z);
+		line =
+		    Vect_find_line(&Map, coor_x, coor_y, coor_z, GV_POINT, 0,
+				   0, 0);
 
-		Vect_get_node_coor(&Map, cities[j], &coor_x, &coor_y, &coor_z);
-		line = Vect_find_line(&Map, coor_x, coor_y, coor_z, GV_POINT, 0, 0, 0);
-		
 		if (!line)
 		    G_fatal_error(_("No point at node %d"), cities[j]);
 
 		Vect_read_line(&Map, Points, Cats, line);
-		if (!(Vect_cat_get(Cats, tfield, &cat2)))
-		    G_fatal_error(_("No category for point at node %d"), cities[j]);
+		if (!(Vect_cat_get(Cats, nfield, &cat2)))
+		    G_fatal_error(_("No category for point at node %d"),
+				  cities[j]);
 
 		G_fatal_error(_("Destination node [cat %d] is unreachable "
 				"from node [cat %d]"), cat1, cat2);
@@ -336,7 +389,7 @@ int main(int argc, char **argv)
 	qsort((void *)costs[i], k, sizeof(COST), cmp);
     }
     G_percent(1, 1, 2);
-    
+
     if (bcosts) {
 	for (i = 0; i < ncities; i++) {
 	    /* this should be fast, no need for G_percent() */
@@ -344,7 +397,7 @@ int main(int argc, char **argv)
 	    for (j = 0; j < ncities; j++) {
 		if (i == j)
 		    continue;
-		    
+
 		bcosts[i][k].city = j;
 		bcosts[i][k].cost = cost_cache[j][i];
 
@@ -353,7 +406,7 @@ int main(int argc, char **argv)
 	    qsort((void *)bcosts[i], k, sizeof(COST), cmp);
 	}
     }
-    
+
     if (debug_level >= 2) {
 	/* debug: print sorted */
 	for (i = 0; i < ncities; i++) {
@@ -375,8 +428,7 @@ int main(int argc, char **argv)
 	    city = i;
 	}
     }
-    G_debug(2, "biggest costs %d - %d", city,
-	    costs[city][ncities - 2].city);
+    G_debug(2, "biggest costs %d - %d", city, costs[city][ncities - 2].city);
 
     /* add these 2 cities to array */
     add_city(city, -1);
@@ -411,7 +463,7 @@ int main(int argc, char **argv)
 			continue;	/* only used */
 		    /* directional costs k -> j */
 		    tmpcost += bcosts[j][k].cost;
-		    break;		/* first nearest */
+		    break;	/* first nearest */
 		}
 	    }
 
@@ -443,7 +495,7 @@ int main(int argc, char **argv)
 	    /* get cost from directional cost cache */
 	    tcost = cost_cache[city][cycle[j + 1]];
 	    tmpcost += tcost;
-	    
+
 	    /* tmpcost must always be > 0 */
 
 	    G_debug(2, "? %d - %d cost = %f x %f", node1, node2, tmpcost,
@@ -456,7 +508,7 @@ int main(int argc, char **argv)
 	}
 	add_city(city, city1);
     }
-    
+
     /* TODO: optimize tour (some Lin-Kernighan method) */
 
     if (debug_level >= 2) {
@@ -468,13 +520,20 @@ int main(int argc, char **argv)
     }
 
     /* Create list of arcs */
-    cycle[ncities] = cycle[0];  /* close the cycle */
+    cycle[ncities] = cycle[0];	/* close the cycle */
     cost = 0.0;
     for (i = 0; i < ncities; i++) {
 	node1 = cities[cycle[i]];
 	node2 = cities[cycle[i + 1]];
 	G_debug(2, " %d -> %d", node1, node2);
-	ret = Vect_net_shortest_path(&Map, node1, node2, List, NULL);
+
+	if (turntable_f->answer)
+	    ret =
+		Vect_net_ttb_shortest_path(&Map, node1, 0, node2, 0,
+					   tucfield, List, NULL);
+	else
+	    ret = Vect_net_shortest_path(&Map, node1, node2, List, NULL);
+
 	cost += cost_cache[cycle[i]][cycle[i + 1]];
 	for (j = 0; j < List->n_values; j++) {
 	    line = abs(List->value[j]);
@@ -504,7 +563,7 @@ int main(int argc, char **argv)
 	Vect_cat_get(Cats, afield, &cat);
 	G_debug(2, "%d. arc: cat %d", i + 1, cat);
     }
-    
+
     seq2stdout = 0;
     seqname = NULL;
     if (seq->answer) {
@@ -518,8 +577,7 @@ int main(int argc, char **argv)
 
 	fp = fopen(seqname, "w");
 	if (!fp)
-	    G_fatal_error(_("Unable to open file '%s' for writing"),
-			  seqname);
+	    G_fatal_error(_("Unable to open file '%s' for writing"), seqname);
 
 	fprintf(fp, "sequence;category;cost_to_next\n");
     }
@@ -528,27 +586,28 @@ int main(int argc, char **argv)
 
     k = 0;
     /* this writes out only user-selected nodes, not all visited nodes */
-    G_debug(2, "Nodes' categories (layer %d, %d nodes):", tfield,
-	    ncities);
+    G_debug(2, "Nodes' categories (layer %d, %d nodes):", nfield, ncities);
     for (i = 0; i < ncities; i++) {
 	double coor_x, coor_y, coor_z;
-	
+
 	node = cities[cycle[i]];
 	Vect_get_node_coor(&Map, node, &coor_x, &coor_y, &coor_z);
-	line = Vect_find_line(&Map, coor_x, coor_y, coor_z, GV_POINT, 0, 0, 0);
-	
+	line =
+	    Vect_find_line(&Map, coor_x, coor_y, coor_z, GV_POINT, 0, 0, 0);
+
 	if (!line)
 	    continue;
 
 	ltype = Vect_read_line(&Map, Points, Cats, line);
 	if (!(ltype & GV_POINT))
 	    continue;
-	if (!(Vect_cat_get(Cats, tfield, &cat)))
+	if (!(Vect_cat_get(Cats, nfield, &cat)))
 	    continue;
 	Vect_write_line(&Out, ltype, Points, Cats);
 	k++;
 	if (fp) {
-	    fprintf(fp, "%d;%d;%.3f\n", k, cat, cost_cache[cycle[i]][cycle[i + 1]]);
+	    fprintf(fp, "%d;%d;%.3f\n", k, cat,
+		    cost_cache[cycle[i]][cycle[i + 1]]);
 	}
 
 	G_debug(2, "%d. node: cat %d", k, cat);
diff --git a/vector/v.net.salesman/v.net.salesman.html b/vector/v.net.salesman/v.net.salesman.html
index c36c3be..6bb8b72 100644
--- a/vector/v.net.salesman/v.net.salesman.html
+++ b/vector/v.net.salesman/v.net.salesman.html
@@ -20,8 +20,22 @@ in order to connect points representing center nodes to the network.
 <p>Points specified by category must be exactly on network nodes, and the 
 input vector map needs to be prepared with <em>v.net operation=connect</em>.
 
+<p>Application of flag <b>-t</b> enables a turntable support. 
+This flag requires additional parameters <b>turn_layer</b> and <b>turn_cat_layer</b> 
+that are otherwise ignored.
+ The turntable allows 
+to model e.g. trafic code, where some turns may be prohibited. 
+This means that the input layer is expanded by 
+turntable with costs of every possible turn on any possible node 
+(intersection) in both directions. 
+ Turntable can be created by 
+ the <em><a href="v.net.html">v.net</a></em> module. 
+For more information about turns in the vector network analyses see
+<a href="http://grasswiki.osgeo.org/wiki/Turns_in_the_vector_network_analysis">wiki page</a>.
+
 <h2>NOTES</h2>
 Arcs can be closed using cost = -1. 
+Turns support: The costs of turns on visiting nodes are not taken in account.
 
 <h2>EXAMPLE</h2>
 
@@ -143,5 +157,13 @@ Radim Blazek, ITC-Irst, Trento, Italy<br>
 Markus Metz<br>
 Documentation: Markus Neteler, Markus Metz
 
+<h3>TURNS SUPPORT</h3>
+
+The turns support was implemnented as part of GRASS GIS turns cost project at Czech Technical University in Prague, Czech Republic.  
+Eliska Kyzlikova, Stepan Turek, Lukas Bocan and Viera Bejdova participated at the project.
+
+Implementation: Stepan Turek 
+Documentation: Lukas Bocan
+Mentor: Martin Landa
 
-<p><i>Last changed: $Date: 2014-12-24 15:44:33 +0100 (Wed, 24 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-24 06:27:04 -0800 (Wed, 24 Dec 2014) $</i>
diff --git a/vector/v.net.spanningtree/v.net.spanningtree.html b/vector/v.net.spanningtree/v.net.spanningtree.html
index 8fb377a..a2aabd0 100644
--- a/vector/v.net.spanningtree/v.net.spanningtree.html
+++ b/vector/v.net.spanningtree/v.net.spanningtree.html
@@ -4,15 +4,16 @@
 network. 
 
 <h2>NOTES</h2>
-A spanning tree is a minimum cost subnetwork connecting all nodes in a 
-network. Or, if a network is disconnected then the module computes 
-the minimum spanning tree for each (weakly) connected component. So, 
-strictly speaking, <em>v.net.spanningtree</em> does not compute spanning tree
-but a spanning forest. As the name suggests, a spanning tree is a tree. That 
-is, it contains no cycles and if a component has N nodes then the 
-tree has N-1 edges connecting all nodes. <b>Accol</b> is used to 
-specify the costs of the edges. The <b>output</b> consists of the 
-edges in the spanning tree.
+A spanning tree is a minimum cost subnetwork connecting all nodes in an 
+undirected network (same forward and backward costs). If a network is 
+disconnected then the module computes the minimum spanning tree for 
+each (weakly) connected component. So, strictly speaking, 
+<em>v.net.spanningtree</em> does not compute spanning tree but a 
+spanning forest. As the name suggests, a spanning tree is a tree. That 
+is, it contains no cycles and if a component has N nodes then the tree 
+has N-1 edges connecting all nodes. <b>Accol</b> is used to specify the 
+costs of the edges. The <b>output</b> consists of the edges in the 
+spanning tree.
 
 <h2>EXAMPLES</h2>
 
@@ -33,4 +34,4 @@ v.net.spanningtree input=projected_pipelines output=spanningtree accol=cost
 Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor
 
-<p><i>Last changed: $Date: 2013-05-23 21:59:24 +0200 (Thu, 23 May 2013) $</i>
+<p><i>Last changed: $Date: 2016-03-08 13:04:56 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.net.steiner/main.c b/vector/v.net.steiner/main.c
index 2e13dc4..68888b3 100644
--- a/vector/v.net.steiner/main.c
+++ b/vector/v.net.steiner/main.c
@@ -55,14 +55,14 @@ int init_node_costs(struct Map_info *Map, int from)
     int to, ret, row, col;
     double cost;
 
-    G_message(_("Init costs from node %d"), from);
+    G_verbose_message(_("Init costs from node %d"), from);
 
     for (to = 1; to <= nnodes; to++) {
 	if (from == to)
 	    continue;
 	ret = Vect_net_shortest_path(Map, from, to, NULL, &cost);
 	if (ret == -1) {
-	    /* G_warning ( "Destination node %d is unreachable from node %d\n", to, from); */
+	    G_debug(1, "Destination node %d is unreachable from node %d\n", to, from);
 	    cost = -2;
 	}
 
@@ -233,9 +233,10 @@ int mst(struct Map_info *Map, int *trms, int ntrms,	/* array of terminal, number
 	else {
 	    scpos = -1;
 	}
-	G_debug(3, "tcpos = %d, scpos = %d\n", tcpos, scpos);
-	G_debug(3, "tcost = %f, scost = %f\n", term_costs[tcpos].cost,
-		sp_costs[scpos].cost);
+	/* Do not access invalid items even for debugging */
+    if (tcpos != -1 && scpos != -1)
+        G_debug(3, "tcost = %f, scost = %f\n", term_costs[tcpos].cost,
+            sp_costs[scpos].cost);
 
 	/* Now we have positions set on lowest costs in each queue or -1 if no more/not used */
 	if (tcpos >= 0 && scpos >= 0) {
@@ -337,7 +338,7 @@ int main(int argc, char **argv)
     struct cat_list *Clist;
     struct line_cats *Cats;
     struct line_pnts *Points;
-
+    
     /* Initialize the GIS calls */
     G_gisinit(argv[0]);
 
@@ -440,23 +441,26 @@ int main(int argc, char **argv)
 	    continue;
 
 	Vect_read_line(&Map, Points, Cats, i);
+	if (!(Vect_cat_get(Cats, tfield, &cat)))
+	    continue;
 	node = Vect_find_node(&Map, Points->x[0], Points->y[0], Points->z[0], 0, 0);
 	if (!node) {
-	    G_warning(_("Point is not connected to the network"));
+	    G_warning(_("Point is not connected to the network (cat=%d)"), cat);
 	    continue;
 	}
-	if (!(Vect_cat_get(Cats, tfield, &cat)))
-	    continue;
 	if (Vect_cat_in_cat_list(cat, Clist)) {
-	    Vect_list_append(TList, i);
+	    Vect_list_append(TList, node);
 	}
     }
 
     nterms = TList->n_values;
-    fprintf(stdout, "Number of terminals: %d\n", nterms);
+    /* GTC Terminal refers to an Steiner tree endpoint */
+    G_message(_("Number of terminals: %d\n"), nterms);
 
-    if (nterms < 2)
-	G_fatal_error(_("Not enough terminals (< 2)"));
+    if (nterms < 2) {
+        /* GTC Terminal refers to an Steiner tree endpoint */
+        G_fatal_error(_("Not enough terminals (< 2)"));
+    }
 
     /* Number of steiner points */
     nsp = atoi(nsp_opt->answer);
@@ -468,18 +472,18 @@ int main(int argc, char **argv)
 	nsp = nterms - 2;
     }
 
-    fprintf(stdout, "Number of Steiner points set to %d\n", nsp);
+    G_message(_("Number of Steiner points set to %d\n"), nsp);
 
     testnode = (int *)G_malloc((nnodes + 1) * sizeof(int));
     for (i = 1; i <= nnodes; i++)
 	testnode[i] = 1;
 
     /* Alloc arrays of costs for nodes, first node at 1 (0 not used) */
-    nodes_costs = (double **)G_malloc((nnodes - 1) * sizeof(double *));
+    nodes_costs = (double **)G_malloc((nnodes) * sizeof(double *));
     for (i = 0; i < nnodes; i++) {
 	nodes_costs[i] =
-	    (double *)G_malloc((nnodes - i - 1) * sizeof(double));
-	for (j = 0; j < nnodes - i - 1; j++)
+	    (double *)G_malloc((nnodes - i) * sizeof(double));
+	for (j = 0; j < nnodes - i; j++)
 	    nodes_costs[i][j] = -1;	/* init, i.e. cost was not calculated yet */
     }
 
@@ -514,6 +518,7 @@ int main(int argc, char **argv)
     for (i = 1; i < nterms; i++) {
 	ret = get_node_costs(terms[0], terms[i], &cost);
 	if (ret == 0) {
+            /* GTC Terminal refers to an Steiner tree endpoint */
 	    G_fatal_error(_("Terminal at node [%d] cannot be connected "
 			    "to terminal at node [%d]"), terms[0], terms[i]);
 	}
@@ -525,7 +530,7 @@ int main(int argc, char **argv)
 	ret = get_node_costs(terms[0], i, &cost);
 	if (ret == 0) {
 	    testnode[i] = 0;
-	    /* fprintf (stderr, "node %d removed from list of Steiner point candidates\n", i ); */
+	    G_debug(2, "node %d removed from list of Steiner point candidates\n", i );
 	    j++;
 	}
     }
@@ -541,7 +546,7 @@ int main(int argc, char **argv)
     nspused = 0;
     for (j = 0; j < nsp; j++) {
 	sp = 0;
-	G_message(_("Search for [%d]. Steiner point"), j + 1);
+	G_verbose_message(_("Search for [%d]. Steiner point"), j + 1);
 
 	for (i = 1; i <= nnodes; i++) {
 	    G_percent(i, nnodes, 1);
@@ -579,8 +584,8 @@ int main(int argc, char **argv)
 	}
     }
 
-    fprintf(stdout, "\nNumber of added Steiner points: %d "
-	    "(theoretic max is %d).\n", nspused, nterms - 2);
+    G_message(_("Number of added Steiner points: %d "
+	    "(theoretic max is %d).\n"), nspused, nterms - 2);
 
     /* Build lists of arcs and nodes for final version */
     ret =
@@ -590,12 +595,12 @@ int main(int argc, char **argv)
     /* Calculate true costs, which may be lower than MST if steiner points were not used */
 
     if (nsp < nterms - 2) {
-	fprintf(stdout, "\nSpanning tree costs on complet graph = %f\n"
-		"(may be higher than resulting Steiner tree costs!!!)\n",
+        G_message(_("Spanning tree costs on complet graph = %f\n"
+            "(may be higher than resulting Steiner tree costs!!!)"),
 		cost);
     }
     else
-	fprintf(stdout, "\nSteiner tree costs = %f\n", cost);
+        G_message(_("Steiner tree costs = %f"), cost);
 
     /* Write arcs to new map */
     if (Vect_open_new(&Out, output->answer, Vect_is_3d(&Map)) < 0)
@@ -603,23 +608,19 @@ int main(int argc, char **argv)
 
     Vect_hist_command(&Out);
 
-    fprintf(stdout, "\nSteiner tree:\n");
-    fprintf(stdout, "Arcs' categories (layer %d, %d arcs):\n", afield,
+    G_debug(1, "Steiner tree:");
+    G_debug(1, "Arcs' categories (layer %d, %d arcs):", afield,
 	    StArcs->n_values);
-
+    
     for (i = 0; i < StArcs->n_values; i++) {
 	line = StArcs->value[i];
 	ltype = Vect_read_line(&Map, Points, Cats, line);
 	Vect_write_line(&Out, ltype, Points, Cats);
 	Vect_cat_get(Cats, afield, &cat);
-	if (i > 0)
-	    printf(",");
-	fprintf(stdout, "%d", cat);
+        G_debug(1, "arc cat = %d", cat);
     }
-
-    fprintf(stdout, "\n\n");
-
-    fprintf(stdout, "Nodes' categories (layer %d, %d nodes):\n", tfield,
+    
+    G_debug(1, "Nodes' categories (layer %d, %d nodes):", tfield,
 	    StNodes->n_values);
 
     k = 0;
@@ -645,17 +646,17 @@ int main(int argc, char **argv)
 	    if (!(Vect_cat_get(Cats, tfield, &cat)))
 		continue;
 	    Vect_write_line(&Out, ltype, Points, Cats);
-	    if (k > 0)
-		fprintf(stdout, ",");
-	    fprintf(stdout, "%d", cat);
+	    G_debug(1, "node cat = %d", cat);
 	    k++;
 	}
     }
 
-    fprintf(stdout, "\n\n");
-
     Vect_build(&Out);
 
+    G_message(n_("A Steiner tree with %d arc has been built",
+            "A Steiner tree with %d arcs has been built", StArcs->n_values),
+        StArcs->n_values);
+    
     /* Free, ... */
     Vect_destroy_list(StArcs);
     Vect_destroy_list(StNodes);
diff --git a/vector/v.net.steiner/v.net.steiner.html b/vector/v.net.steiner/v.net.steiner.html
index 39d1e57..5dfefc5 100644
--- a/vector/v.net.steiner/v.net.steiner.html
+++ b/vector/v.net.steiner/v.net.steiner.html
@@ -21,6 +21,11 @@ For areas, costs will be calculated along boundary lines.
 <p>Points representing nodes must be exactly on network nodes, and the 
 input vector map needs to be prepared with <em>v.net operation=connect</em>.
 
+<h2>NOTES</h2>
+
+Current implementation of obtaining Steiner tree is not memory efficient.
+An attempt to run module on a network with large number of intersections thus
+might result in failure to allocate memory or out of memory condition.
 
 <h2>EXAMPLE</h2>
 
@@ -125,4 +130,4 @@ Radim Blazek, ITC-Irst, Trento, Italy<br>
 Documentation: Markus Neteler, Markus Metz
 
 
-<p><i>Last changed: $Date: 2014-12-24 15:44:33 +0100 (Wed, 24 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-07 23:50:26 -0800 (Mon, 07 Mar 2016) $</i>
diff --git a/vector/v.net.timetable/v.net.timetable.html b/vector/v.net.timetable/v.net.timetable.html
index b838001..53b6da3 100644
--- a/vector/v.net.timetable/v.net.timetable.html
+++ b/vector/v.net.timetable/v.net.timetable.html
@@ -151,4 +151,4 @@ echo "47 10.31 54.31 90.21 28.21 0 1 5 0" | v.net.timetable \
 Daniel Bundala, Google Summer of Code 2009, Student<br>
 Wolf Bergenheim, Mentor
 
-<p><i>Last changed: $Date: 2013-05-23 21:59:24 +0200 (Thu, 23 May 2013) $</i>
+<p><i>Last changed: $Date: 2013-05-23 12:59:24 -0700 (Thu, 23 May 2013) $</i>
diff --git a/vector/v.net.visibility/v.net.visibility.html b/vector/v.net.visibility/v.net.visibility.html
index f11b340..5e7b50a 100644
--- a/vector/v.net.visibility/v.net.visibility.html
+++ b/vector/v.net.visibility/v.net.visibility.html
@@ -145,4 +145,4 @@ Maximilian Maldacker<br>
 Mentor: Wolf Bergenheim
 
 <p>
-<i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/vector/v.net/Makefile b/vector/v.net/Makefile
index 63d2105..b9097d9 100644
--- a/vector/v.net/Makefile
+++ b/vector/v.net/Makefile
@@ -3,8 +3,8 @@ MODULE_TOPDIR = ../..
 
 PGM=v.net
 
-LIBES = $(VECTORLIB) $(GISLIB)
-DEPENDENCIES = $(VECTORDEP) $(GISDEP)
+LIBES = $(VECTORLIB) $(GISLIB) $(DBMILIB)
+DEPENDENCIES = $(VECTORDEP) $(GISDEP) $(DBMIDEP)
 EXTRA_INC = $(VECT_INC)
 EXTRA_CFLAGS = $(VECT_CFLAGS)
  
diff --git a/vector/v.net/args.c b/vector/v.net/args.c
index 0dc02b6..1a0b2b5 100644
--- a/vector/v.net/args.c
+++ b/vector/v.net/args.c
@@ -32,11 +32,11 @@ void define_options(struct opt *opt)
     opt->action->type = TYPE_STRING;
     opt->action->required = YES;
     opt->action->multiple = NO;
-    opt->action->options = "nodes,connect,arcs,report,nreport";
+    opt->action->options = "nodes,connect,arcs,report,nreport,turntable";
     opt->action->description = _("Operation to be performed");
     desc = NULL;
     G_asprintf(&desc,
-	       "nodes;%s;connect;%s;arcs;%s;report;%s;nreport;%s",
+	       "nodes;%s;connect;%s;arcs;%s;report;%s;nreport;%s;turntable;%s;",
 	       _("new point is placed on each node (line end) "
 		 "if doesn't exist"),
 	       _("connect still unconnected points to vector network "
@@ -46,7 +46,8 @@ void define_options(struct opt *opt)
 	       _("print to standard output "
 		 "{line_category start_point_category end_point_category}"),
 	       _("print to standard output "
-		 "{point_category line_category[,line_category...]}"));
+		 "{point_category line_category[,line_category...]}"),
+         _("create turntable on vector network"));
     opt->action->descriptions = desc;
 
     opt->afield_opt = G_define_standard_option(G_OPT_V_FIELD);
@@ -55,6 +56,13 @@ void define_options(struct opt *opt)
     opt->afield_opt->label = _("Arc layer");
     opt->afield_opt->guisection = _("Arcs");
 
+    opt->type = G_define_standard_option(G_OPT_V_TYPE);
+    opt->type->key = "arc_type";
+    opt->type->options = "line,boundary";
+    opt->type->answer = "line,boundary";
+    opt->type->label = _("Arc type");
+    opt->type->guisection = _("Turntable");
+
     opt->nfield_opt = G_define_standard_option(G_OPT_V_FIELD);
     opt->nfield_opt->key = "node_layer";
     opt->nfield_opt->answer = "2";
@@ -91,6 +99,28 @@ void define_options(struct opt *opt)
 	_("For operation 'connect'. By default, a new line from the point to the network is created.");
     opt->snap_flag->guisection = _("Nodes");
 
+    opt->tfield = G_define_standard_option(G_OPT_V_FIELD);
+    opt->tfield->label = _("Turntable layer");
+    opt->tfield->description =
+    _
+    ("Layer where turntable will be attached. Format: layer number[/layer name]."
+     "Required for operation 'turntable'.");
+    opt->tfield->answer = "3";
+    opt->tfield->key = "turn_layer";
+    opt->tfield->required = NO;
+    opt->tfield->guisection = _("Turntable");
+
+    opt->tucfield = G_define_standard_option(G_OPT_V_FIELD);
+    opt->tucfield->label = _("Layer with unique categories used in turntable");
+    opt->tucfield->description =
+    _
+    ("Layer with unique categories for every line in arc_layer and point on every node. "
+     " The categories are used in turntable. Format: layer number[/layer name]. "
+     "Required for operation 'turntable'.");
+    opt->tucfield->answer = "4";
+    opt->tucfield->key = "turn_cat_layer";
+    opt->tucfield->required = NO;
+    opt->tucfield->guisection = _("Turntable");
 }
 
 void parse_arguments(const struct opt *opt,
@@ -110,17 +140,21 @@ void parse_arguments(const struct opt *opt,
 	*act = TOOL_NREPORT;
     else if (strcmp(opt->action->answer, "arcs") == 0)
 	*act = TOOL_ARCS;
+    else if (strcmp(opt->action->answer, "turntable") == 0)
+    *act = TOOL_TURNTABLE;
     else
 	G_fatal_error(_("Unknown operation"));
 
     if (*act == TOOL_NODES || *act == TOOL_CONNECT ||
-	*act == TOOL_REPORT || *act == TOOL_NREPORT) {
+	*act == TOOL_REPORT || *act == TOOL_NREPORT ||
+    *act == TOOL_TURNTABLE) {
 	if (opt->input->answer == NULL)
 	    G_fatal_error(_("Required parameter <%s> not set"),
 			  opt->input->key);
     }
 
-    if (*act == TOOL_NODES || *act == TOOL_CONNECT) {
+    if (*act == TOOL_NODES || *act == TOOL_CONNECT ||
+        *act == TOOL_TURNTABLE) {
 	if (opt->output->answer == NULL)
 	    G_fatal_error(_("Required parameter <%s> not set"),
 			  opt->output->key);
diff --git a/vector/v.net/main.c b/vector/v.net/main.c
index 12e0d39..73a4c25 100644
--- a/vector/v.net/main.c
+++ b/vector/v.net/main.c
@@ -5,10 +5,12 @@
  * 
  * AUTHOR(S):    Radim Blazek
  *               Martin Landa <landa.martin gmail.com> (connect/arcs)
+ *               Stepan Turek <stepan.turek seznam.cz> (turns support)
+ *
  *               
  * PURPOSE:      Network maintenance
  *               
- * COPYRIGHT:    (C) 2001-2009 by the GRASS Development Team
+ * COPYRIGHT:    (C) 2001-2009,2014,2016 by the GRASS Development Team
  *
  *               This program is free software under the 
  *               GNU General Public License (>=v2). 
@@ -37,7 +39,7 @@ int main(int argc, char **argv)
     double thresh;
 
     char message[4096];
-    
+
     /*  initialize the GIS calls */
     G_gisinit(argv[0]);
 
@@ -57,9 +59,9 @@ int main(int argc, char **argv)
     In = Points = Out = NULL;
     file_arcs = NULL;
     message[0] = '\0';
-    
+
     /* open input map */
-    if (act != TOOL_ARCS) {
+    if (act != TOOL_ARCS && act != TOOL_TURNTABLE) {
 	In = (struct Map_info *)G_malloc(sizeof(struct Map_info));
 	Vect_set_open_level(2);
 	if (Vect_open_old(In, opt.input->answer, "") == -1)
@@ -116,7 +118,8 @@ int main(int argc, char **argv)
 	if (Vect_open_new(Out, opt.output->answer, is3d) == -1) {
 	    if (In)
 		Vect_close(In);
-	    G_fatal_error(_("Unable to open vector map <%s> at topology level %d"),
+	    G_fatal_error(_
+			  ("Unable to open vector map <%s> at topology level %d"),
 			  opt.output->answer, 2);
 	}
 
@@ -130,28 +133,31 @@ int main(int argc, char **argv)
 	if (act == TOOL_NODES) {
 	    /* nodes */
 	    int nnodes;
+
 	    nnodes = nodes(In, Out, opt.cats_flag->answer, nfield);
 
-	    sprintf (message, _("%d new points (nodes) written to output."), nnodes);
+	    sprintf(message, _("%d new points (nodes) written to output."),
+		    nnodes);
 	}
 	else {			/* connect or arcs */
 	    int narcs;
 
 	    if (act == TOOL_CONNECT)
 		narcs = connect_arcs(In, Points, Out, afield, nfield,
-		                     thresh, opt.snap_flag->answer);
+				     thresh, opt.snap_flag->answer);
 	    else
 		narcs = create_arcs(file_arcs, Points, Out, afield, nfield);
 
-	    sprintf(message, _("%d lines (network arcs) written to output."), narcs);
+	    sprintf(message, _("%d lines (network arcs) written to output."),
+		    narcs);
 	}
 
 	if (In) {
-	  G_message (_("Copying attributes..."));
-	  if (Vect_copy_tables(In, Out, 0))
-	    G_warning(_("Failed to copy attribute table to output map"));
+	    G_message(_("Copying attributes..."));
+	    if (Vect_copy_tables(In, Out, 0))
+		G_warning(_("Failed to copy attribute table to output map"));
 	}
-	
+
 	/* support */
 	Vect_build_partial(Out, GV_BUILD_NONE);
 	Vect_build(Out);
@@ -161,6 +167,9 @@ int main(int argc, char **argv)
 	if (Out)
 	    Vect_close(Out);
     }
+    else if (act == TOOL_TURNTABLE) {
+	turntable(&opt);
+    }
     else {			/* report */
 	report(In, afield, nfield, act);
     }
diff --git a/vector/v.net/proto.h b/vector/v.net/proto.h
index fd2d4fb..947c4ab 100644
--- a/vector/v.net/proto.h
+++ b/vector/v.net/proto.h
@@ -3,13 +3,16 @@
 #define TOOL_REPORT  2
 #define TOOL_NREPORT 3
 #define TOOL_ARCS    4
+#define TOOL_TURNTABLE    5
+
 
 struct opt {
     struct Option *input, *points;
     struct Option *output;
     struct Option *action;
-    struct Option *afield_opt, *nfield_opt, *thresh_opt;
+    struct Option *afield_opt, *tfield, *tucfield, *nfield_opt, *thresh_opt;
     struct Option *file;
+    struct Option *type;
     struct Flag *cats_flag, *snap_flag;
 };
 
@@ -33,3 +36,5 @@ int nodes(struct Map_info *, struct Map_info *, int,
 /* report.c */
 int report(struct Map_info *, int, int,
 	   int);
+
+void turntable(struct opt *);
diff --git a/vector/v.net/testsuite/test_v_net.py b/vector/v.net/testsuite/test_v_net.py
new file mode 100644
index 0000000..d8ee2ec
--- /dev/null
+++ b/vector/v.net/testsuite/test_v_net.py
@@ -0,0 +1,50 @@
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+from grass.script.core import read_command
+
+
+class TestVNet(TestCase):
+
+    network = 'test_vnet'
+
+    def tearDown(cls):
+        """Remove viewshed map after each test method"""
+        # TODO: eventually, removing maps should be handled through testing framework fucntions
+        cls.runModule('g.remove', flags='f', type='vector',
+                      name=cls.network)
+
+    def test_nodes(self):
+        """Test"""
+        self.assertModule('v.net', input='streets', output=self.network, operation='nodes')
+        topology = dict(points=41813, nodes=41813, lines=49746)
+        self.assertVectorFitsTopoInfo(vector=self.network, reference=topology)
+        layers = read_command('v.category', input=self.network, option='layers').strip()
+        self.assertEqual(first="1", second=layers, msg="Layers do not match")
+
+    def test_nodes_layers(self):
+        """Test"""
+        self.assertModule('v.net', input='streets', output=self.network, operation='nodes', flags='c')
+        topology = dict(points=41813, nodes=41813, lines=49746)
+        self.assertVectorFitsTopoInfo(vector=self.network, reference=topology)
+        layers = read_command('v.category', input=self.network, option='layers').strip()
+        self.assertEqual(first="1\n2", second=layers, msg="Layers do not match")
+
+    def test_connect(self):
+        """Test"""
+        self.assertModule('v.net', input='streets', points='schools',
+                          output=self.network, operation='connect', threshold=1000)
+        topology = dict(points=167, nodes=42136, lines=50069)
+        self.assertVectorFitsTopoInfo(vector=self.network, reference=topology)
+        layers = read_command('v.category', input=self.network, option='layers').strip()
+        self.assertEqual(first="1\n2", second=layers, msg="Layers do not match")
+
+    def test_connect_snap(self):
+        """Test"""
+        self.assertModule('v.net', input='streets', points='schools', flags='s',
+                          output=self.network, operation='connect', threshold=1000)
+        topology = dict(points=167, nodes=41969, lines=49902)
+        self.assertVectorFitsTopoInfo(vector=self.network, reference=topology)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.net/turntable.c b/vector/v.net/turntable.c
new file mode 100644
index 0000000..d32816c
--- /dev/null
+++ b/vector/v.net/turntable.c
@@ -0,0 +1,744 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+#include <grass/gis.h>
+#include <grass/vector.h>
+#include <grass/dbmi.h>
+#include <grass/glocale.h>
+#include "proto.h"
+
+static double compute_line_nodes_angle(struct line_pnts *points)
+{
+    double x_start, y_start, z;
+    double x_end, y_end;
+    double x, y;
+    int n_points = Vect_get_num_line_points(points);
+
+    if (n_points < 2)
+	return (-9.0);
+
+    Vect_line_get_point(points, 0, &x_start, &y_start, &z);
+    Vect_line_get_point(points, n_points - 1, &x_end, &y_end, &z);
+
+    x = x_end - x_start;
+    y = y_end - y_start;
+
+    if (y == 0.0 && x == 0.0)
+	return (0.0);
+    else
+	return (atan2(y, x));
+}
+
+/*\brief Compute angle of two lines, which is defined by start and end point of the lines
+   regardless regardless line segments between the points.
+
+   Parameters from_dir, to_dir defines defines line direction to node for which is angle defined 
+   (negative - line goes from node / positive line goes into node).
+
+   Angle is zero when lines are straight. If line_pnts_to is on the left from line_pnts_from
+   the angle is negative.
+
+   \return lines angle
+   \return -9.0 if line is defined by one point or has same start and end point
+ */
+
+static double compute_lines_angle(struct line_pnts *line_pnts_from,
+				  int from_dir,
+				  struct line_pnts *line_pnts_to, int to_dir)
+{
+    double angle_from, angle_to;
+    double angle;
+
+    double x1, x2, y1, y2, z;
+
+    int n_points_from = Vect_get_num_line_points(line_pnts_from);
+    int n_points_to = Vect_get_num_line_points(line_pnts_to);
+
+
+    /* If one of the lines has same begining and end, the angle cannot be 
+       calculated, because the angle is computed between lines given by start and 
+       end point regardless line segments between the points. */
+    Vect_line_get_point(line_pnts_from, 0, &x1, &y1, &z);
+    Vect_line_get_point(line_pnts_from, n_points_from - 1, &x2, &y2, &z);
+
+    if (x1 == x2 && y1 == y2)
+	return -9.0;
+
+    Vect_line_get_point(line_pnts_to, 0, &x1, &y1, &z);
+    Vect_line_get_point(line_pnts_to, n_points_to - 1, &x2, &y2, &z);
+
+    if (x1 == x2 && y1 == y2)
+	return -9.0;
+
+    if (from_dir > 0)
+	Vect_line_reverse(line_pnts_from);
+
+    if (to_dir < 0)
+	Vect_line_reverse(line_pnts_to);
+
+    angle_from = compute_line_nodes_angle(line_pnts_from);
+    angle_to = compute_line_nodes_angle(line_pnts_to);
+
+    if (angle_from == -9.0)
+	angle = angle_from;
+    else if (angle_to == -9.0)
+	angle = angle_to;
+    else {
+	angle = angle_from - angle_to;
+
+	if (angle > M_PI)
+	    angle = -2 * M_PI + angle;
+
+	if (angle < -M_PI)
+	    angle = 2 * M_PI + angle;
+    }
+
+    /* reverse it back to original order */
+    if (from_dir > 0)
+	Vect_line_reverse(line_pnts_from);
+
+    if (to_dir < 0)
+	Vect_line_reverse(line_pnts_to);
+
+    return angle;
+}
+
+/*\brief Add line uturns into turntable.
+
+   Add two records into turntable because every line has two possible U-turns.
+ */
+static int add_uturn(dbDriver * driver, char *ttb_name, int *next_ttb_cat,
+		     int ln_cat, int isec_start_cat, int isec_end_cat)
+{
+    int i, isec;
+    dbString db_buf;
+    char buf[DB_SQL_MAX];
+
+    db_init_string(&db_buf);
+
+    ln_cat = abs(ln_cat);
+
+    isec = isec_end_cat;
+    for (i = 0; i < 2; ++i) {
+	if (i == 1) {
+	    ln_cat = -1 * ln_cat;
+	    isec = isec_start_cat;
+	}
+	/* cat, ln_from, ln_to, cost, isec, angle */
+	sprintf(buf,
+		"INSERT INTO %s values ( %d, %d, %d, %f, %d, %f);",
+		ttb_name, (*next_ttb_cat), ln_cat, ln_cat * -1, 0.0,
+		isec, M_PI);
+	db_set_string(&db_buf, buf);
+
+	G_debug(3, "Adding u-turn into turntable:\n%s",
+		db_get_string(&db_buf));
+
+	if (db_execute_immediate(driver, &db_buf) != DB_OK) {
+	    db_free_string(&db_buf);
+	    return -1;
+	}
+	++(*next_ttb_cat);
+    }
+
+    db_free_string(&db_buf);
+    return 1;
+}
+
+
+/*\brief Add turns for two lines into turntable.
+
+   Add two records into turntable because we can take the turn from two opposite directions.
+ */
+static int add_turns(dbDriver * driver, char *ttb_name, int *next_ttb_cat,
+		     int ln_i_cat, struct line_pnts *line_pnts_i,
+		     int ln_j_cat, struct line_pnts *line_pnts_j,
+		     int isec_cat)
+{
+    int i;
+    int ln_f, ln_t;
+    dbString db_buf;
+    char buf[DB_SQL_MAX];
+    double angle;
+
+    db_init_string(&db_buf);
+
+    int ln_j_dir, ln_i_dir;
+    int ln_to_cat, ln_from_cat;
+
+    ln_i_dir = ln_i_cat;
+    ln_j_dir = ln_j_cat;
+
+    ln_i_cat = abs(ln_i_cat);
+    ln_j_cat = abs(ln_j_cat);
+
+    ln_from_cat = ln_i_cat;
+    ln_to_cat = ln_j_cat;
+
+    /*Find right lines nodes (positive or negative), will be connected by the turn. */
+    if (ln_j_dir < 0 && ln_i_dir < 0)
+	ln_to_cat *= -1;
+
+    else if (ln_j_dir > 0 && ln_i_dir > 0)
+	ln_from_cat *= -1;
+
+    else if (ln_j_dir < 0) {
+	ln_to_cat = ln_i_cat;
+	ln_from_cat = ln_j_cat;
+    }
+
+    /* compute angle if the lines angle is computed from ln_from_cat to ln_to_cat */
+    if (ln_to_cat == ln_i_cat)
+	angle =
+	    compute_lines_angle(line_pnts_j, ln_j_dir, line_pnts_i, ln_i_dir);
+    else
+	angle =
+	    compute_lines_angle(line_pnts_i, ln_i_dir, line_pnts_j, ln_j_dir);
+
+    ln_f = ln_from_cat;
+    ln_t = ln_to_cat;
+
+    /*Create first turn from i to j, then create turn in the opposite direction. */
+    for (i = 0; i < 2; ++i) {
+
+	/* connect right nodes for opposite turn */
+	if (i == 1) {
+	    ln_f = ln_to_cat * -1;
+	    ln_t = ln_from_cat * -1;
+	}
+
+	/* cat, ln_from, ln_to, cost, isec, angle */
+	sprintf(buf,
+		"INSERT INTO %s values ( %d, %d, %d, %f, %d,",
+		ttb_name, (*next_ttb_cat), ln_f, ln_t, 0.0, isec_cat);
+	db_set_string(&db_buf, buf);
+
+	if (angle == -9.0)
+	    db_append_string(&db_buf, "NULL)");
+	else {
+	    /* the angle is on the other side in opposite turn (e. g. left -> right) */
+	    if (i == 1)
+		angle *= -1;
+
+	    sprintf(buf, "%f)", angle);
+	    db_append_string(&db_buf, buf);
+	}
+
+	G_debug(3, "Adding turn into turntable:\n%s", db_get_string(&db_buf));
+
+	if (db_execute_immediate(driver, &db_buf) != DB_OK) {
+	    db_free_string(&db_buf);
+	    return -1;
+	}
+	++(*next_ttb_cat);
+    }
+
+    db_free_string(&db_buf);
+    return 1;
+
+}
+
+
+void populate_turntable(dbDriver * driver, struct Map_info *InMap,
+			struct Map_info *OutMap, char *ttb_name,
+			int tfield, int tucfield, int a_field, int arc_type)
+{
+    struct ilist *list;
+
+    int *features_id;
+
+    int n_node_lns, n_features, i_line, j_line, next_ttb_cat, i_ucat, n_lines;
+    int n_nodes, pivot_node, outside_node, isec_start_ucat, isec_end_ucat,
+	node1, node2, found_pt_id;
+    int ln_i_id, ln_j_id, ln_i_ucat, ln_j_ucat;
+
+    int ltype_i, ltype_j;
+
+    struct line_pnts *line_pnts_i, *line_pnts_j;
+    struct line_cats *cats_i, *cats_j;
+
+    double x, y, z;
+
+    struct bound_box box;
+    struct boxlist *box_List;
+
+    line_pnts_i = Vect_new_line_struct();
+    line_pnts_j = Vect_new_line_struct();
+    cats_i = Vect_new_cats_struct();
+    cats_j = Vect_new_cats_struct();
+
+    n_lines = 0;
+    if (arc_type & GV_LINE)
+	n_lines += Vect_get_num_primitives(InMap, GV_LINE);
+    if (arc_type & GV_BOUNDARY)
+	n_lines += Vect_get_num_primitives(InMap, GV_BOUNDARY);
+
+    /*Converts feature input map id into current id in output map. 
+       When the feature is rewritten, it's original state still exists 
+       just marked as dead. The new feature is written to first possible 
+       position and that is the id (all dead + all alive features + 1).
+
+       If feature id is 0 the feature was not already written into
+       output map. */
+
+    n_features = Vect_get_num_lines(InMap);
+
+    G_debug(3, "Found %d line features in <%s> vector map", n_features,
+	    InMap->name);
+
+    features_id = G_malloc(sizeof(int) * n_features);
+    G_zero(features_id, sizeof(int) * n_features);
+
+    n_nodes = Vect_get_num_nodes(InMap);
+    G_debug(3, "Found %d nodes in <%s> vector map", n_nodes, InMap->name);
+
+    db_begin_transaction(driver);
+
+    /* Stores category for a next record/turn in turntable. */
+    next_ttb_cat = 1;
+
+    /* Stores number of category which will be assigned to a next feature added into tucfield. */
+    i_ucat = 1;
+
+    list = G_new_ilist();
+
+    /* Every node represents one intersection. */
+    for (pivot_node = 1; pivot_node <= n_nodes; pivot_node++) {
+	n_node_lns = Vect_get_node_n_lines(InMap, pivot_node);
+
+	G_debug(3, "Found %d lines connected to node with id %d",
+		n_node_lns, pivot_node);
+
+	/*Creates record in turntable for every possible turn 
+	   in intersection defined by node and lines which meets on the node.
+
+	   It also takes into account  U-turns. */
+
+	for (i_line = 0; i_line < n_node_lns; i_line++) {
+
+	    ln_i_id = Vect_get_node_line(InMap, pivot_node, i_line);
+
+	    /*Line was not written into output map. */
+	    if (features_id[abs(ln_i_id) - 1] < 1) {
+		ltype_i =
+		    Vect_read_line(InMap, line_pnts_i, cats_i, abs(ln_i_id));
+		if (ltype_i <= 0) {G_fatal_error(_("Unable to read line from <%s>."), Vect_get_full_name(InMap));}
+
+		/* If line does not belong into arc layer, skip it. */
+		if (Vect_field_cat_get(cats_i, a_field, list) < 0 ||
+		    !(ltype_i & arc_type))
+		    continue;
+
+		/* Delete categories in tfield and tucfield if they are defined in input map. */
+		Vect_field_cat_del(cats_i, tfield, -1);
+		Vect_field_cat_del(cats_i, tucfield, -1);
+	    }
+
+	    /*If i line has been already written into output map, 
+	       we need to take it's categories from the output map with categories 
+	       for tlayer and tuclayer. */
+	    else {
+		ln_i_id = Vect_get_node_line(InMap, pivot_node, i_line);
+
+		ltype_i = V1_read_line_nat(OutMap, line_pnts_i, cats_i,
+					 features_id[abs(ln_i_id) - 1]);
+		 if (ltype_i <= 0) {G_fatal_error(_("Unable to read line from <%s>."), Vect_get_full_name(OutMap));}
+
+		Vect_cat_get(cats_i, tucfield, &ln_i_ucat);
+
+		/* add line direction information to ucat */
+		if (ln_i_id < 0)
+		    ln_i_ucat *= -1;
+
+	    }
+
+	    for (j_line = i_line; j_line < n_node_lns; j_line++) {
+
+		ln_j_id = Vect_get_node_line(InMap, pivot_node, j_line);
+
+		/* write line, which has not been written into new map yet. */
+		if (features_id[abs(ln_j_id) - 1] < 1) {
+		    /* Get line from input map. */
+		    ltype_j =
+			Vect_read_line(InMap, line_pnts_j, cats_j,
+				       abs(ln_j_id));
+			if (ltype_j <= 0) {G_fatal_error(_("Unable to read line from <%s>."), Vect_get_full_name(InMap));}
+
+		    /* If line does not belong into arc layer, skip it. */
+		    if (Vect_field_cat_get(cats_j, a_field, list) < 0 ||
+			!(ltype_i & arc_type))
+			continue;
+
+		    /* Delete categories in tfield and tucfield if  definedthey are in input map. */
+		    Vect_field_cat_del(cats_j, tfield, -1);
+		    Vect_field_cat_del(cats_j, tucfield, -1);
+
+
+		    /* Assign unique category (assigned only when feature is written). */
+		    Vect_cat_set(cats_j, tucfield, i_ucat);
+		    ln_j_ucat = i_ucat;
+		    /* add line direction information to ucat */
+		    if (ln_j_id < 0)
+			ln_j_ucat *= -1;
+
+
+		    /* Assign turn category in turntable for the U-turn. */
+		    Vect_cat_set(cats_j, tfield, next_ttb_cat);
+		    Vect_cat_set(cats_j, tfield, next_ttb_cat + 1);
+
+
+		    /* We create two nodes in turntable for every line. These nodes have 
+		       positive and negative values, with their absolute values identical.
+
+		       Every node corresponds to opposite line direction. The positive node 
+		       matches the direction of line. The negative node matches the opposite direction.
+
+		       Imagine that you are standing on some road/line before a intersection wanting to cross it.
+		       If you are going to cross intersection, which is in line direction,
+		       you are standing on the POSITIVE NODE. If you would cross the intersection from any other line 
+		       to the line, you would come into the NEGATIVE NODE. 
+
+		       These two nodes are connected with U-turns, which are two for both direction. 
+		       Every U-turn direction belongs to the another intersection. U-turn from the POSITIVE NODE 
+		       to the NEGATIVE one belongs to the intersection we are going to cross. The other U-turn belongs 
+		       to a intersection in opposite end of the line.
+
+		       Turntable columns:
+
+		       cat - category in tfield (layer with turntable), which are hold by both ln_from and ln_to lines 
+		       ln_from - unique category in tucfield assigned to the line 
+		       ln_to - unique category in tucfield assigned to the line 
+		       cost - cost for turn from ln_from to ln_to
+		       isec - point category in tucfield, which represents the intersection, where the turn belongs
+		       angle - in radians, see comments in compute_lines_angle function, it is PI for U-turns
+		     */
+
+		    /* Find second node (outside_node) of the line. */
+		    Vect_get_line_nodes(InMap, abs(ln_j_id), &node1, &node2);
+
+		    if (node1 == pivot_node)
+			outside_node = node2;
+		    else
+			outside_node = node1;
+
+		    /* Decide intersection where U-turns belong. */
+		    if (ln_j_id < 0) {
+			isec_start_ucat = outside_node + n_lines;
+			isec_end_ucat = pivot_node + n_lines;
+		    }
+		    else {
+			isec_start_ucat = pivot_node + n_lines;
+			isec_end_ucat = outside_node + n_lines;
+		    }
+
+		    /* If i and j lines are identical, write these categories also into i line,
+		       otherwise they would be forgotten during rewriting of i line. */
+		    if (ln_j_id == ln_i_id) {
+			Vect_cat_set(cats_i, tfield, next_ttb_cat);
+			Vect_cat_set(cats_i, tfield, next_ttb_cat + 1);
+			Vect_cat_set(cats_i, tucfield, i_ucat);
+		    }
+
+		    if (add_uturn
+			(driver, ttb_name, &next_ttb_cat, abs(ln_j_ucat),
+			 isec_start_ucat, isec_end_ucat) < 0) {
+
+			G_fatal_error(_
+				      ("Unable to insert data into turntable."));
+		    }
+
+		    /* increment unique category number for next line, which will be written */
+		    ++i_ucat;
+
+		    /* If i line and j line are different, we also need to insert a turn which is defined
+		       by these two edges, therefore we need to add new category to j line, which is corresponding
+		       to the turn.  
+		     */
+		    if (abs(ln_j_id) != abs(ln_i_id)) {
+			Vect_cat_set(cats_j, tfield, next_ttb_cat);
+			Vect_cat_set(cats_j, tfield, next_ttb_cat + 1);
+		    }
+
+		    /* Write new line into output map and save it's id to be possible to find it and edit it later 
+		       (when we get to intersection, which is in other end of the line.) */
+		    features_id[abs(ln_j_id) - 1] =
+			V1_write_line_nat(OutMap, ltype_j, line_pnts_j, cats_j);
+
+		    /* i, j lines  are equal, it consists only U-turn
+		       Absolute values are there because in case of the lines which have same start and end point, we do not want 
+		       to create redundant lines between these points. This combination has been already done by uturn method.
+		     */
+		    if (abs(ln_j_id) == abs(ln_i_id)) {
+			/* remember unique category also for i line */
+			ln_i_ucat = ln_j_ucat;
+			continue;
+		    }
+		}
+		/* skip if i, j lines are same (U-turn was already written) */
+		else if (abs(ln_j_id) == abs(ln_i_id))
+		    continue;
+		/* write new turn combination for already written i, j lines into output map */
+		else {
+		    /* Get modified cats from out map also for j line, which was already written and 
+		       cats differ from the former cats in the line in input map. */
+		    ltype_j = V1_read_line_nat(OutMap, line_pnts_j, cats_j,
+					     features_id[abs(ln_j_id) - 1]);
+			if (ltype_j <= 0) {G_fatal_error(_("Unable to read line from <%s>."), Vect_get_full_name(OutMap));}
+
+		    /* set category in turntable for new turn, which will be written */
+		    Vect_cat_set(cats_j, tfield, next_ttb_cat);
+		    Vect_cat_set(cats_j, tfield, next_ttb_cat + 1);
+
+		    /* get already assigned unique category of the j line 
+		       (used for ln_from_cat or ln_to_cat in turntable) */
+		    Vect_cat_get(cats_j, tucfield, &ln_j_ucat);
+
+		    /* add line direction information to ucat */
+		    if (ln_j_id < 0)
+			ln_j_ucat *= -1;
+
+		    /* rewrite j line with the added new category for the turn */
+		    features_id[abs(ln_j_id) - 1] = V1_rewrite_line_nat(OutMap, features_id[abs(ln_j_id) - 1],
+				      ltype_j, line_pnts_j, cats_j);
+
+		}
+
+		/* We have to decide which nodes will be connected, which depends on lines directions.
+		   Line direction information is stored in ln_i_id/ln_j_id variables. It the variable is 
+		   negative, the line goes into the intersection. If it is positive the line goes from the 
+		   intersection. */
+
+
+		/* The turn belongs to same intersection regardless the direction. Only exception are the U-turns. */
+		isec_start_ucat = isec_end_ucat = pivot_node + n_lines;
+
+		Vect_cat_set(cats_i, tfield, next_ttb_cat);
+		Vect_cat_set(cats_i, tfield, next_ttb_cat + 1);
+
+		if (add_turns(driver, ttb_name, &next_ttb_cat,
+			      ln_i_ucat, line_pnts_i, ln_j_ucat, line_pnts_j,
+			      isec_start_ucat) < 0) {
+
+		    G_fatal_error(_("Unable to insert data into turntable."));
+		}
+
+	    }
+
+	    /* rewrite i line */
+	    features_id[abs(ln_i_id) - 1] = V1_rewrite_line_nat(OutMap, features_id[abs(ln_i_id) - 1],
+			      ltype_i, line_pnts_i, cats_i);
+
+		    
+	}
+
+    }
+
+    box_List = Vect_new_boxlist(0);
+
+    /* Update point on every node (assing tuclayer cat) */
+    for (pivot_node = 1; pivot_node <= n_nodes; pivot_node++) {
+	Vect_reset_line(line_pnts_i);
+	Vect_reset_cats(cats_i);
+
+	Vect_get_node_coor(InMap, pivot_node, &x, &y, &z);
+	box.E = box.W = x;
+	box.N = box.S = y;
+	box.T = box.B = z;
+	Vect_select_lines_by_box(InMap, &box, GV_POINT, box_List);
+
+	found_pt_id = -1;
+	for (i_line = 0; i_line < box_List->n_values; i_line++) {
+	    ln_i_id = box_List->id[i_line];
+	    ltype_i = Vect_read_line(InMap, line_pnts_i, cats_i, ln_i_id);
+	    if (ltype_i <= 0) {G_fatal_error(_("Unable to read line from <%s>."), Vect_get_full_name(InMap));}
+
+	    if (ltype_i & GV_POINT) {
+		found_pt_id = ln_i_id;
+		break;
+	    }
+	}
+
+	/* No point on the node -> new is created. */
+	/* TODO check for more points on the node Vect_new_list */
+	if (found_pt_id == -1) {
+	    Vect_reset_line(line_pnts_i);
+	    Vect_get_node_coor(InMap, pivot_node, &x, &y, &z);
+	    Vect_append_point(line_pnts_i, x, y, z);
+	    Vect_cat_set(cats_i, tucfield, i_ucat);
+	    Vect_write_line(OutMap, GV_POINT, line_pnts_i, cats_i);
+	}
+	/* Category is updated on existing point on node. */
+	else {
+	    Vect_field_cat_del(cats_i, tucfield, -1);
+	    Vect_field_cat_del(cats_i, tfield, -1);
+	    Vect_cat_set(cats_i, tucfield, i_ucat);
+	    Vect_write_line(OutMap, GV_POINT, line_pnts_i, cats_i);
+	}
+
+	i_ucat++;
+    }
+
+
+    /* copy rest of features, to output map */
+    while ((ltype_i = Vect_read_next_line(InMap, line_pnts_i, cats_i)) > 0) {
+	/* line features in alayer are already in output map */
+	if (ltype_i & arc_type &&
+	    Vect_field_cat_get(cats_i, a_field, list) != -1) {
+	    continue;
+	}
+
+	/* points with node were already written into map */
+	if (ltype_i == GV_POINT && line_pnts_i->n_points &&
+	    Vect_find_node(InMap, line_pnts_i->x[0], line_pnts_i->y[0],
+			   line_pnts_i->z[0], 0.0, WITHOUT_Z) > 0) {
+	    continue;
+	}
+
+	/* Delete categories in tfield and tucfield if they are in input map defined. */
+	Vect_field_cat_del(cats_i, tucfield, -1);
+	Vect_field_cat_del(cats_i, tfield, -1);
+
+	Vect_write_line(OutMap, ltype_i, line_pnts_i, cats_i);
+    }
+
+    G_free_ilist(list);
+    G_free(features_id);
+
+    Vect_destroy_line_struct(line_pnts_i);
+    Vect_destroy_line_struct(line_pnts_j);
+    Vect_destroy_cats_struct(cats_i);
+    Vect_destroy_cats_struct(cats_j);
+    Vect_destroy_boxlist(box_List);
+
+    db_commit_transaction(driver);
+    return;
+}
+
+void turntable(struct opt *opt)
+{
+    struct Map_info InMap, OutMap;
+    struct field_info *fi;
+
+    char *database_name, *driver_name;
+
+    int i_field_num, field_num, i_field, type;
+
+    char *ttb_name;
+    char *key_col;
+    int tfield, tucfield, afield;
+
+    char buf[DB_SQL_MAX];
+    dbDriver *driver;
+
+    dbString db_buf;
+
+    if (Vect_open_old(&InMap, opt->input->answer, "") < 2) {
+	G_fatal_error(_("Unable to open vector map <%s>."),
+		      opt->input->answer);
+    }
+
+    if (Vect_open_new(&OutMap, opt->output->answer, WITHOUT_Z) < 1) {
+	G_fatal_error(_("Unable to create vector map <%s>."),
+		      opt->output->answer);
+    }
+
+    Vect_set_error_handler_io(&InMap, &OutMap);
+
+    type = Vect_option_to_types(opt->type);
+
+    afield = Vect_get_field_number(&InMap, opt->afield_opt->answer);
+    tfield = Vect_get_field_number(&InMap, opt->tfield->answer);
+    tucfield = Vect_get_field_number(&InMap, opt->tucfield->answer);
+
+    if (!Vect_get_field(&InMap, afield))
+	G_fatal_error(_("Arc layer <%s> does not exist in map <%s>."),
+		      opt->afield_opt->answer, opt->output->answer);
+
+    if (Vect_get_field(&InMap, tfield))
+	G_warning(_
+		  ("Layer <%s> already exist in map <%s>.\nIt will be overwritten by tlayer data."),
+		  opt->tfield->answer, opt->output->answer);
+
+    if (Vect_get_field(&InMap, tucfield))
+	G_warning(_
+		  ("Layer <%s> already exist in map <%s>.\nIt will be overwritten by tuclayer data."),
+		  opt->tucfield->answer, opt->output->answer);
+
+    ttb_name = NULL;
+    G_asprintf(&ttb_name, "%s_turntable_t_%s_tuc_%s_a_%s",
+	       Vect_get_name(&OutMap), opt->tfield->answer,
+	       opt->tucfield->answer, opt->afield_opt->answer);
+
+    /*Use database and driver as layer with lowest number, 
+       if the layer is not present use def settings. */
+    field_num = -1;
+    for (i_field = 0; i_field < Vect_cidx_get_num_fields(&InMap); i_field++) {
+	i_field_num = Vect_cidx_get_field_number(&InMap, i_field);
+	if (Vect_map_check_dblink(&InMap, i_field_num, NULL) == 0)
+	    continue;
+
+	if (field_num == -1)
+	    field_num = i_field_num;
+
+	if (i_field_num != tfield && i_field_num != tucfield)
+	    Vect_copy_tables(&InMap, &OutMap, i_field_num);
+    }
+
+    if (field_num < 0) {
+	driver_name = (char *)db_get_default_driver_name();
+	database_name = (char *)db_get_default_database_name();
+    }
+    else {
+	fi = Vect_get_field(&InMap, field_num);
+	driver_name = fi->driver;
+	database_name = fi->database;
+    }
+
+    driver = db_start_driver_open_database(driver_name, database_name);
+    if (driver == NULL)
+	G_fatal_error(_("Unable to open database <%s> using driver <%s>"),
+		      database_name, driver_name);
+    db_set_error_handler_driver(driver);
+
+    key_col = "cat";
+    sprintf(buf,
+	    "CREATE TABLE %s (%s INTEGER, ln_from INTEGER, ln_to INTEGER, "
+	    "cost DOUBLE PRECISION, isec INTEGER, angle DOUBLE PRECISION)",
+	    ttb_name, key_col);
+
+    db_init_string(&db_buf);
+    db_set_string(&db_buf, buf);
+
+    if (db_execute_immediate(driver, &db_buf) != DB_OK) {
+	db_free_string(&db_buf);
+	G_fatal_error(_("Unable to create turntable <%s>."), ttb_name);
+    }
+    db_free_string(&db_buf);
+
+    if (Vect_map_add_dblink(&OutMap, tfield,
+			    NULL, ttb_name, key_col,
+			    database_name, driver_name) == -1) {
+	G_fatal_error(_("Unable to connect table <%s> to vector map <%s>."),
+		      ttb_name, opt->input->answer);
+    }
+
+    if (db_create_index2(driver, ttb_name, key_col) != DB_OK)
+	G_warning(_("Unable to create index for column <%s> in table <%s>."),
+		  key_col, ttb_name);
+
+    Vect_build_partial(&OutMap, GV_BUILD_BASE);	/* switch to topological level */
+
+    populate_turntable(driver, &InMap, &OutMap, ttb_name, tfield,
+		       tucfield, afield, type);
+    Vect_close(&InMap);
+
+    db_close_database_shutdown_driver(driver);
+
+    Vect_build_partial(&OutMap, GV_BUILD_NONE);	/*must be there in order to be topology build */
+    Vect_build(&OutMap);
+
+    Vect_close(&OutMap);
+
+    return;
+}
diff --git a/vector/v.net/v.net.html b/vector/v.net/v.net.html
index f38713e..6ea75f0 100644
--- a/vector/v.net/v.net.html
+++ b/vector/v.net/v.net.html
@@ -82,6 +82,29 @@ connect it to layer 2 with <em><a href="v.db.connect.html">v.db.connect</a></em>
 and update the new table with cat values with <em><a href="v.to.db.html">v.to.db</a></em>. 
 
 <p>
+The <em>turntable</em> operation creates a turntable  
+with the costs for every possible 
+turn on every possible node (intersection, crossroad) in given layer (arc_layer). 
+U-turns are taken in account too.
+Turntable is created in <b>turn_layer</b> and <b>turn_cat_layer</b>.
+Building the turntable allows you to model e.g. trafic code, where some turns 
+may be prohibited.
+If features in analyzed network are changed, the turntable must be created again
+(e.g. it includes v.net connect operation).
+Turntable name consists of output vector map name + "_turntable_" + "t" + "_" + turn_layer +
+ "_" + "tuc" + "_" + turn_cat_layer + "_" + "a" + "_" + arc_layer  e. g. roads_turntable_t_3_tuc_4_a_1
+
+<p>These modules are able to work with the turntable: 
+<em><a href="v.net.alloc.html">v.net.alloc</a></em>,
+<em><a href="v.net.iso.html">v.net.iso</a></em>,
+<em><a href="v.net.path.html">v.net.path</a></em>,
+<em><a href="v.net.salesman.html">v.net.salesman</a></em><!--,-->
+<!--<em><a href="v.net.steiner.html">v.net.steiner</a></em>.-->
+
+For more information about turns in the vector network analyses see 
+<a href="http://grasswiki.osgeo.org/wiki/Turns_in_the_vector_network_analysis">wiki page</a>.
+
+<p>
 Once a vector network has been created, it can be analyzed in a 
 number of powerful ways using the suite of <em>v.net</em>.* modules. 
 The shortest route between two nodes, following arcs, can be computed
@@ -178,6 +201,13 @@ EOF
 v.category geodetic_swwake_pts_net operation=report
 </pre></div>
 
+<h3>Generating network with turntable for vector point map</h3>
+
+Following example generates a vector map with turntable:
+<div class="code"><pre>
+v.net operation=turntable in=railroads out=railroads_ttb
+</pre></div>
+
 <h2>SEE ALSO</h2>
 
 <em>
@@ -212,5 +242,15 @@ Martin Landa, FBK-irst (formerly ITC-irst), Trento, Italy and CTU in
 Prague, Czech Republic (operation 'connect' and 'arcs')<br>
 
 Markus Metz: important fixes and improvements
+
+<h3>TURNS SUPPORT</h3>
+
+The turns support was implemnented as part of GRASS GIS turns cost project at Czech Technical University in Prague, Czech Republic.  
+Eliska Kyzlikova, Stepan Turek, Lukas Bocan and Viera Bejdova participated at the project.
+
+Implementation: Stepan Turek 
+Documentation: Lukas Bocan
+Mentor: Martin Landa
+
 <p>
-<i>Last changed: $Date: 2015-10-27 16:43:43 +0100 (Tue, 27 Oct 2015) $</i>
+<i>Last changed: $Date: 2015-10-27 08:39:45 -0700 (Tue, 27 Oct 2015) $</i>
diff --git a/vector/v.normal/v.normal.html b/vector/v.normal/v.normal.html
index c9c34eb..22cf6ff 100644
--- a/vector/v.normal/v.normal.html
+++ b/vector/v.normal/v.normal.html
@@ -61,4 +61,4 @@ v.normal random tests=1-3,14 column=elev
 <a href="https://engineering.purdue.edu/ABE/">Agricultural Engineering</a>
 <a href="http://www.purdue.edu/">Purdue University</a>
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/vector/v.out.ascii/v.out.ascii.html b/vector/v.out.ascii/v.out.ascii.html
index 4ac6e68..388087d 100644
--- a/vector/v.out.ascii/v.out.ascii.html
+++ b/vector/v.out.ascii/v.out.ascii.html
@@ -150,4 +150,4 @@ Attribute selection added by Martin Landa, Czech Technical University
 in Prague, Czech Republic (2008/12)
 
 <p>
-<i>Last changed: $Date: 2014-07-29 00:07:11 +0200 (Tue, 29 Jul 2014) $</i>
+<i>Last changed: $Date: 2014-05-13 08:16:33 -0700 (Tue, 13 May 2014) $</i>
diff --git a/vector/v.out.dxf/v.out.dxf.html b/vector/v.out.dxf/v.out.dxf.html
index 2946392..88249b2 100644
--- a/vector/v.out.dxf/v.out.dxf.html
+++ b/vector/v.out.dxf/v.out.dxf.html
@@ -26,4 +26,4 @@ wrote original <em>v.out.dxf</em> program in 4/89.
 <p>Update to GRASS 5.7 Radim Blazek, 10/2004
 
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.out.lidar/Makefile b/vector/v.out.lidar/Makefile
new file mode 100644
index 0000000..153c4b4
--- /dev/null
+++ b/vector/v.out.lidar/Makefile
@@ -0,0 +1,16 @@
+MODULE_TOPDIR = ../..
+
+PGM=v.out.lidar
+
+LIBES = $(GPROJLIB) $(VECTORLIB) $(DBMILIB) $(GISLIB) $(LASLIBS) $(MATHLIB) $(RASTERLIB)
+DEPENDENCIES = $(GPROJDEP) $(VECTORDEP) $(DBMIDEP) $(GISDEP) $(RASTERDEP)
+
+EXTRA_INC = $(VECT_INC) $(PROJINC) $(LASINC)
+EXTRA_CFLAGS = $(VECT_CFLAGS)
+
+include $(MODULE_TOPDIR)/include/Make/Module.make
+
+ifneq ($(USE_LIBLAS),)
+default: cmd
+endif
+
diff --git a/vector/v.out.lidar/main.c b/vector/v.out.lidar/main.c
new file mode 100644
index 0000000..ee67a64
--- /dev/null
+++ b/vector/v.out.lidar/main.c
@@ -0,0 +1,822 @@
+/***********************************************************************
+ *
+ * MODULE:       v.out.lidar
+ *
+ * AUTHOR(S):    Vaclav Petras
+ *
+ * PURPOSE:      Export LiDAR LAS points
+ *
+ * COPYRIGHT:    (C) 2015 by Vaclav Petras and the GRASS Development Team
+ *
+ *               This program is free software under the
+ *               GNU General Public License (>=v2).
+ *               Read the file COPYING that comes with GRASS
+ *               for details.
+ *
+***********************************************************************/
+
+#include <stdlib.h>
+
+#include <grass/gis.h>
+#include <grass/colors.h>
+#include <grass/raster.h>
+#include <grass/dbmi.h>
+#include <grass/vector.h>
+#include <grass/gprojects.h>
+#include <grass/glocale.h>
+
+#include <liblas/capi/liblas.h>
+
+
+struct WriteContext
+{
+    LASWriterH las_writer;
+    LASPointH las_point;
+    LASColorH las_color;
+    struct Colors *color_table;
+    int layer;
+    int return_layer;
+    int n_returns_layer;
+    int class_layer;
+    int rgb_layer;
+    int red_layer;
+    int green_layer;
+    int blue_layer;
+    dbCatValArray *return_column_values;
+    dbCatValArray *n_returns_column_values;
+    dbCatValArray *class_column_values;
+    dbCatValArray *grass_rgb_column_values;
+    dbCatValArray *red_column_values;
+    dbCatValArray *green_column_values;
+    dbCatValArray *blue_column_values;
+};
+
+
+struct LidarColumnNames
+{
+    const char *return_n;
+    const char *n_returns;
+    const char *class_n;
+    const char *grass_rgb;
+    const char *red;
+    const char *green;
+    const char *blue;
+};
+
+
+/*! Open database and store driver and field info
+ * 
+ * Use close_database() when you are finished with queries
+ */
+static void open_database(struct Map_info *vector, int field,
+                          dbDriver ** driver, struct field_info **f_info)
+{
+    struct field_info *f_info_tmp = Vect_get_field(vector, field);
+    if (f_info_tmp == NULL) {
+        /* not ideal message since we don't know the original name of
+         * the field in case of OGR */
+        G_fatal_error(_("Database connection not defined for layer <%d>"),
+                      field);
+    }
+
+    dbDriver *driver_tmp =
+        db_start_driver_open_database(f_info_tmp->driver,
+                                      f_info_tmp->database);
+    if (driver_tmp == NULL)
+        G_fatal_error("Unable to open database <%s> by driver <%s>",
+                      f_info_tmp->database, f_info_tmp->driver);
+    db_set_error_handler_driver(driver_tmp);
+    *f_info = f_info_tmp;
+    *driver = driver_tmp;
+}
+
+static void close_database(dbDriver * driver)
+{
+    db_close_database_shutdown_driver(driver);
+}
+
+/*! Get values in a column
+ *
+ * Checks the type of the column; fails with fatal for non-numeric columns
+ * and warns for floating point columns.
+ *
+ * Use db_CatValArray_free() and G_free() to deallocate the memory.
+ *
+ * \returns cat-value array with column values for each category
+ */
+static dbCatValArray *select_integers_from_database(dbDriver * driver,
+                                                    struct field_info *f_info,
+                                                    const char *column,
+                                                    const char *where)
+{
+    G_debug(1, "select_integers_from_database: column=%s", column);
+    dbCatValArray *column_values = G_malloc(sizeof(dbCatValArray));
+
+    /* check if column exists */
+    int ctype = db_column_Ctype(driver, f_info->table, column);
+
+    if (ctype == -1)
+        G_fatal_error(_("Column <%s> not found in table <%s>"),
+                      column, f_info->table);
+    if (ctype != DB_C_TYPE_INT && ctype != DB_C_TYPE_DOUBLE)
+        G_fatal_error(_("Only numeric column type is supported"));
+    if (ctype == DB_C_TYPE_DOUBLE)
+        G_warning(_("Double values will be converted to integers"));
+
+    db_CatValArray_init(column_values);
+    int nrec =
+        db_select_CatValArray(driver, f_info->table, f_info->key, column,
+                              where, column_values);
+
+    G_debug(2, "db_select_CatValArray() nrec = %d", nrec);
+    if (nrec < 0)
+        G_fatal_error(_("Unable to select data from table"));
+    return column_values;
+}
+
+/*! Get values in a column
+ *
+ * Checks the type of the column; fails with fatal for non-numeric columns
+ * and warns for floating point columns.
+ *
+ * \returns cat-value array with column values for each category
+ */
+static dbCatValArray *select_strings_from_database(dbDriver * driver,
+                                                   struct field_info *f_info,
+                                                   const char *column,
+                                                   const char *where)
+{
+    G_debug(1, "select_strings_from_database: column=%s", column);
+    dbCatValArray *column_values = G_malloc(sizeof(dbCatValArray));
+
+    /* check if column exists */
+    int ctype = db_column_Ctype(driver, f_info->table, column);
+
+    if (ctype == -1)
+        G_fatal_error(_("Column <%s> not found in table <%s>"),
+                      column, f_info->table);
+    if (ctype != DB_C_TYPE_STRING)
+        G_fatal_error(_("Only numeric column type is supported"));
+
+    db_CatValArray_init(column_values);
+    int nrec =
+        db_select_CatValArray(driver, f_info->table, f_info->key, column,
+                              where, column_values);
+
+    G_debug(2, "db_select_CatValArray() nrec = %d", nrec);
+    if (nrec < 0)
+        G_fatal_error(_("Unable to select data from table"));
+    return column_values;
+}
+
+/*! Get integer value in a column for a category
+ *
+ * Floating point numbers are casted to integers.
+ * If the column is not numerical, fatal error is issued.
+ *
+ * \returns The value of the column as an integer
+ */
+static int get_integer_column_value(dbCatValArray * column_values, int cat)
+{
+    int val;
+    dbCatVal *catval;
+
+    if (db_CatValArray_get_value(column_values, cat, &catval) != DB_OK) {
+        G_fatal_error(_("No record for cat = %d"), cat);
+    }
+    if (catval->isNull) {
+        G_fatal_error(_("NULL value for cat = %d"), cat);
+    }
+
+    if (column_values->ctype == DB_C_TYPE_INT) {
+        val = catval->val.i;
+    }
+    else if (column_values->ctype == DB_C_TYPE_DOUBLE) {
+        val = catval->val.d;
+    } else {
+        G_fatal_error(_("Column type is not numeric (type = %d, cat = %d"),
+            column_values->ctype, cat);
+    }
+    return val;
+}
+
+/*! Get RGB in a column for a category as three integers
+ *
+ * Expects the column to be a string.
+ */
+static void get_color_column_value(dbCatValArray * cvarr, int cat,
+                                   int *red, int *green, int *blue)
+{
+    char colorstring[12];       /* RRR:GGG:BBB */
+    dbCatVal *value = NULL;
+
+    /* read RGB colors from db for current area # */
+    if (cvarr && db_CatValArray_get_value(cvarr, cat, &value) == DB_OK) {
+        sprintf(colorstring, "%s", db_get_string(value->val.s));
+        if (*colorstring != '\0') {
+            G_debug(5, "element: colorstring: %s", colorstring);
+            if (G_str_to_color(colorstring, red, green, blue) == 1) {
+                G_debug(5, "element: cat %d r:%d g:%d b:%d",
+                        cat, *red, *green, *blue);
+                /* TODO: handle return code 2 for none? */
+            }
+            else {
+                G_debug(5, "Invalid color definition '%s' ignored",
+                        colorstring);
+            }
+        }
+        else {
+            G_debug(5, "Invalid color definition '%s' ignored", colorstring);
+        }
+    }
+}
+
+static void load_columns(struct WriteContext *write_context,
+                         dbDriver * db_driver, struct field_info *f_info,
+                         struct LidarColumnNames *columns, const char *where)
+{
+    if (columns->return_n) {
+        write_context->return_column_values =
+            select_integers_from_database(db_driver, f_info,
+                                          columns->return_n, where);
+    }
+    if (columns->n_returns) {
+        write_context->n_returns_column_values =
+            select_integers_from_database(db_driver, f_info,
+                                          columns->n_returns, where);
+    }
+    if (columns->class_n) {
+        write_context->class_column_values =
+            select_integers_from_database(db_driver, f_info,
+                                          columns->class_n, where);
+    }
+    if (columns->grass_rgb) {
+        write_context->grass_rgb_column_values =
+            select_strings_from_database(db_driver, f_info,
+                                         columns->grass_rgb, where);
+    }
+    if (columns->red) {
+        write_context->red_column_values =
+            select_integers_from_database(db_driver, f_info,
+                                          columns->red, where);
+    }
+    if (columns->green) {
+        write_context->green_column_values =
+            select_integers_from_database(db_driver, f_info,
+                                          columns->green, where);
+    }
+    if (columns->blue) {
+        write_context->blue_column_values =
+            select_integers_from_database(db_driver, f_info,
+                                          columns->blue, where);
+    }
+}
+
+/*! Deallocate the memory for cat-value arrays */
+static void free_columns(struct WriteContext *write_context)
+{
+    if (write_context->return_column_values) {
+        db_CatValArray_free(write_context->return_column_values);
+        G_free(write_context->return_column_values);
+    }
+    if (write_context->n_returns_column_values) {
+        db_CatValArray_free(write_context->n_returns_column_values);
+        G_free(write_context->n_returns_column_values);
+    }
+    if (write_context->class_column_values) {
+        db_CatValArray_free(write_context->class_column_values);
+        G_free(write_context->class_column_values);
+    }
+    if (write_context->grass_rgb_column_values) {
+        db_CatValArray_free(write_context->grass_rgb_column_values);
+        G_free(write_context->grass_rgb_column_values);
+    }
+    if (write_context->red_column_values) {
+        db_CatValArray_free(write_context->red_column_values);
+        G_free(write_context->red_column_values);
+    }
+    if (write_context->green_column_values) {
+        db_CatValArray_free(write_context->green_column_values);
+        G_free(write_context->green_column_values);
+    }
+    if (write_context->blue_column_values) {
+        db_CatValArray_free(write_context->blue_column_values);
+        G_free(write_context->blue_column_values);
+    }
+}
+
+/*! Set point attributes from the attribute table
+ *
+ * All tables are taken from the context structure. The point and color
+ * are also taken from there.
+ */
+static void set_point_attributes_from_table(struct WriteContext *context,
+                                            int cat)
+{
+    LASPointH las_point = context->las_point;
+
+    if (context->return_column_values) {
+        int return_n =
+            get_integer_column_value(context->return_column_values, cat);
+        LASPoint_SetReturnNumber(las_point, return_n);
+    }
+    if (context->n_returns_column_values) {
+        int val =
+            get_integer_column_value(context->n_returns_column_values, cat);
+        LASPoint_SetNumberOfReturns(las_point, val);
+    }
+    if (context->class_column_values) {
+        int val = get_integer_column_value(context->class_column_values, cat);
+
+        LASPoint_SetClassification(las_point, val);
+    }
+    if (context->grass_rgb_column_values || context->red_column_values ||
+        context->green_column_values || context->blue_column_values) {
+        LASColorH las_color = context->las_color;
+
+        if (context->grass_rgb_column_values) {
+            int red, green, blue;
+
+            get_color_column_value(context->grass_rgb_column_values, cat,
+                                   &red, &green, &blue);
+            LASColor_SetRed(las_color, red);
+            LASColor_SetGreen(las_color, green);
+            LASColor_SetBlue(las_color, blue);
+        }
+        if (context->red_column_values) {
+            int val =
+                get_integer_column_value(context->red_column_values, cat);
+            LASColor_SetRed(las_color, val);
+        }
+        if (context->green_column_values) {
+            int val =
+                get_integer_column_value(context->green_column_values, cat);
+            LASColor_SetGreen(las_color, val);
+        }
+        if (context->blue_column_values) {
+            int val =
+                get_integer_column_value(context->blue_column_values, cat);
+            LASColor_SetBlue(las_color, val);
+        }
+        LASPoint_SetColor(las_point, las_color);
+    }
+}
+
+static void write_point(struct WriteContext *context, int cat, double x,
+                        double y, double z, struct line_cats *cats)
+{
+    LASPointH las_point = context->las_point;
+
+    LASPoint_SetX(las_point, x);
+    LASPoint_SetY(las_point, y);
+    LASPoint_SetZ(las_point, z);
+
+    /* only call when we actually using the attributes */
+    if (context->layer > 0)
+        set_point_attributes_from_table(context, cat);
+    /* after this point cat is used as a short term variable
+     * to store category to retrieve attributes */
+    
+    /* read color table */
+    if (context->color_table) {
+        int red, green, blue;
+        LASColorH las_color = context->las_color;
+        if (Rast_get_c_color(&cat, &red, &green, &blue, context->color_table) == 1) {
+            LASColor_SetRed(las_color, red);
+            LASColor_SetGreen(las_color, green);
+            LASColor_SetBlue(las_color, blue);
+            LASPoint_SetColor(las_point, las_color);
+        }
+        /* TODO: what else, fail, skip or put some defaults? */
+    }
+
+    if (context->return_layer) {
+        if (!Vect_cat_get(cats, context->return_layer, &cat))
+            return;             /* TODO: is this an error? */
+        LASPoint_SetReturnNumber(las_point, cat);
+    }
+    if (context->n_returns_layer) {
+        if (!Vect_cat_get(cats, context->n_returns_layer, &cat))
+            return;             /* TODO: is this an error? */
+        LASPoint_SetNumberOfReturns(las_point, cat);
+    }
+    if (context->class_layer) {
+        if (!Vect_cat_get(cats, context->class_layer, &cat))
+            return;             /* TODO: is this an error? */
+        LASPoint_SetClassification(las_point, cat);
+    }
+    if (context->rgb_layer || context->red_layer || context->green_layer ||
+        context->blue_layer) {
+        LASColorH las_color = context->las_color;
+
+        /* TODO: defaults for the color are what? */
+        /* TODO: check the range for RGB? */
+        if (context->rgb_layer) {
+            if (!Vect_cat_get(cats, context->rgb_layer, &cat))
+                return;         /* TODO: is this an error? */
+            int red = (cat >> 16) & 0xFF;
+            int green = (cat >> 8) & 0xFF;
+            int blue = cat & 0xFF;
+
+            LASColor_SetRed(las_color, red);
+            LASColor_SetGreen(las_color, green);
+            LASColor_SetBlue(las_color, blue);
+        }                       /* TODO: else all the others? */
+        if (context->red_layer) {
+            if (!Vect_cat_get(cats, context->red_layer, &cat))
+                return;         /* TODO: is this an error? */
+            LASColor_SetRed(las_color, cat);
+        }                       /* TODO: else set 0, or by default? */
+        if (context->green_layer) {
+            if (!Vect_cat_get(cats, context->green_layer, &cat))
+                return;         /* TODO: is this an error? */
+            LASColor_SetGreen(las_color, cat);
+        }
+        if (context->blue_layer) {
+            if (!Vect_cat_get(cats, context->blue_layer, &cat))
+                return;         /* TODO: is this an error? */
+            LASColor_SetBlue(las_color, cat);
+        }
+        LASPoint_SetColor(las_point, las_color);
+    }
+
+    LASError error = LASWriter_WritePoint(context->las_writer, las_point);
+
+    if (error)
+        G_fatal_error("Failure when writing a point");
+}
+
+
+/* TODO: these have overlap with vector lib, really needed? */
+static int point_in_region_2d(struct Cell_head *region, double x, double y)
+{
+    if (x > region->east || x < region->west || y < region->south ||
+        y > region->north)
+        return FALSE;
+    return TRUE;
+}
+
+
+int main(int argc, char **argv)
+{
+    struct GModule *module;
+    struct Option *map_opt, *foutput_opt;
+    struct Option *field_opt, *cats_opt;
+    struct Option *id_layer_opt, *class_layer_opt;
+    struct Option *return_layer_opt, *n_returns_layer_opt;
+    struct Option *red_layer_opt, *green_layer_opt, *blue_layer_opt;
+    struct Option *rgb_layer_opt;
+    struct Option *return_column_opt, *n_returns_column_opt;
+    struct Option *class_column_opt;
+    struct Option *grass_rgb_column_opt;
+    struct Option *red_column_opt, *green_column_opt, *blue_column_opt;
+    struct Option *where_opt;
+    struct Option *las_xyscale_opt, *las_zscale_opt;
+    struct Flag *region_flag, *no_color_table_flag;
+    struct Map_info vinput;
+
+    G_gisinit(argv[0]);
+
+    module = G_define_module();
+    G_add_keyword(_("vector"));
+    G_add_keyword(_("export"));
+    G_add_keyword(_("LIDAR"));
+    G_add_keyword(_("points"));
+    module->label = _("Exports vector points as LAS point cloud");
+    module->description = _("Converts LAS LiDAR point clouds to a GRASS"
+                            " vector map with libLAS");
+
+    map_opt = G_define_standard_option(G_OPT_V_INPUT);
+
+    field_opt = G_define_standard_option(G_OPT_V_FIELD_ALL);
+    field_opt->required = NO;
+
+    foutput_opt = G_define_standard_option(G_OPT_F_OUTPUT);
+
+    cats_opt = G_define_standard_option(G_OPT_V_CATS);
+    cats_opt->guisection = _("Selection");
+
+    /* TODO: supported only when attributes are actually used */
+    where_opt = G_define_standard_option(G_OPT_DB_WHERE);
+    where_opt->guisection = _("Selection");
+
+    id_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    id_layer_opt->key = "id_layer";
+    id_layer_opt->label =
+        _("Layer number to store generated point ID as category");
+    id_layer_opt->answer = NULL;
+    id_layer_opt->guisection = _("Categories");
+
+    return_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    return_layer_opt->key = "return_layer";
+    return_layer_opt->label =
+        _("Layer number to store return number as category");
+    return_layer_opt->answer = NULL;
+    return_layer_opt->guisection = _("Categories");
+
+    n_returns_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    n_returns_layer_opt->key = "n_returns_layer";
+    n_returns_layer_opt->label =
+        _("Layer number to store return number as category");
+    n_returns_layer_opt->answer = NULL;
+    n_returns_layer_opt->guisection = _("Categories");
+
+    class_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    class_layer_opt->key = "class_layer";
+    class_layer_opt->label =
+        _("Layer number to store class number as category");
+    class_layer_opt->answer = NULL;
+    class_layer_opt->guisection = _("Categories");
+
+    rgb_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    rgb_layer_opt->key = "rgb_layer";
+    rgb_layer_opt->label =
+        _("Layer number where RGB color is stored as category");
+    rgb_layer_opt->answer = NULL;
+    rgb_layer_opt->guisection = _("Categories");
+
+    red_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    red_layer_opt->key = "red_layer";
+    red_layer_opt->label =
+        _("Layer number where red color is stored as category");
+    red_layer_opt->answer = NULL;
+    red_layer_opt->guisection = _("Categories");
+
+    green_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    green_layer_opt->key = "green_layer";
+    green_layer_opt->label =
+        _("Layer number where red color is stored as category");
+    green_layer_opt->answer = NULL;
+    green_layer_opt->guisection = _("Categories");
+
+    blue_layer_opt = G_define_standard_option(G_OPT_V_FIELD);
+    blue_layer_opt->key = "blue_layer";
+    blue_layer_opt->label =
+        _("Layer number where blue color is stored as category");
+    blue_layer_opt->answer = NULL;
+    blue_layer_opt->guisection = _("Categories");
+
+    /* TODO: probably replace the option by standardized/expected column names */
+
+    return_column_opt = G_define_standard_option(G_OPT_DB_COLUMN);
+    return_column_opt->key = "return_column";
+    return_column_opt->label = _("Column with return number");
+    return_column_opt->required = NO;
+    return_column_opt->guisection = _("Columns");
+
+    n_returns_column_opt = G_define_standard_option(G_OPT_DB_COLUMN);
+    n_returns_column_opt->key = "n_returns_column";
+    n_returns_column_opt->label = _("Column with return number");
+    n_returns_column_opt->required = NO;
+    n_returns_column_opt->guisection = _("Columns");
+
+    class_column_opt = G_define_standard_option(G_OPT_DB_COLUMN);
+    class_column_opt->key = "class_column";
+    class_column_opt->label = _("Column with return number");
+    class_column_opt->required = NO;
+    class_column_opt->guisection = _("Columns");
+
+    grass_rgb_column_opt = G_define_standard_option(G_OPT_DB_COLUMN);
+    grass_rgb_column_opt->key = "rgb_column";
+    grass_rgb_column_opt->label = _("RGB color definition column");
+    grass_rgb_column_opt->description = _("Color definition in R:G:B form");
+    grass_rgb_column_opt->required = NO;
+    grass_rgb_column_opt->guisection = _("Columns");
+
+    red_column_opt = G_define_standard_option(G_OPT_DB_COLUMN);
+    red_column_opt->key = "red_column";
+    red_column_opt->label = _("Column with red color");
+    red_column_opt->required = NO;
+    red_column_opt->guisection = _("Columns");
+
+    green_column_opt = G_define_standard_option(G_OPT_DB_COLUMN);
+    green_column_opt->key = "green_column";
+    green_column_opt->label = _("Column with green color");
+    green_column_opt->required = NO;
+    green_column_opt->guisection = _("Columns");
+
+    blue_column_opt = G_define_standard_option(G_OPT_DB_COLUMN);
+    blue_column_opt->key = "blue_column";
+    blue_column_opt->label = _("Column with blue color");
+    blue_column_opt->required = NO;
+    blue_column_opt->guisection = _("Columns");
+
+    las_xyscale_opt = G_define_option();
+    las_xyscale_opt->key = "las_xyscale";
+    las_xyscale_opt->type = TYPE_DOUBLE;
+    las_xyscale_opt->required = YES;
+    las_xyscale_opt->answer = "0.01";
+    las_xyscale_opt->label = _("Internal scale to apply to X and Y values");
+    las_xyscale_opt->description = _("This scale does not change"
+        " the values itself but only how precisely they are stored,"
+        " for example 0.01 will preserve two decimal places");
+
+    las_zscale_opt = G_define_option();
+    las_zscale_opt->key = "las_zscale";
+    las_zscale_opt->type = TYPE_DOUBLE;
+    las_zscale_opt->required = YES;
+    las_zscale_opt->answer = "0.01";
+    las_zscale_opt->label = _("Internal scale to apply to z values");
+    las_zscale_opt->description = _("This scale does not change"
+        " the values itself but only how precisely they are stored,"
+        " for example 0.01 will preserve two decimal places");
+
+    region_flag = G_define_flag();
+    region_flag->key = 'r';
+    region_flag->guisection = _("Selection");
+    region_flag->description = _("Limit export to the current region");
+
+    no_color_table_flag = G_define_flag();
+    no_color_table_flag->key = 'w';
+    no_color_table_flag->label = _("Ignore color table");
+    no_color_table_flag->description =
+        _("Ignore color table even when set and not other options are present");
+
+
+    if (G_parser(argc, argv))
+        exit(EXIT_FAILURE);
+
+    /* TODO: layer required > 0 with columns */
+
+    /* TODO: do some check */
+    /*Vect_check_input_output_name(map_opt->answer, voutput_opt->answer,
+       G_FATAL_EXIT);
+     */
+
+    if (Vect_open_old2(&vinput, map_opt->answer, "", field_opt->answer) < 0)
+        G_fatal_error(_("Unable to open vector map <%s>"), map_opt->answer);
+    int layer = Vect_get_field_number(&vinput, field_opt->answer);
+
+    struct cat_list *allowed_cats = NULL;
+
+    if (layer > 0)
+        allowed_cats = Vect_cats_set_constraint(&vinput, layer, NULL,
+                                                cats_opt->answer);
+
+    struct line_pnts *line = Vect_new_line_struct();
+    struct line_cats *cats = Vect_new_cats_struct();
+
+    struct Cell_head comp_region;
+
+    G_get_window(&comp_region);
+
+    struct WriteContext write_context;
+
+    write_context.return_layer = 0;
+    write_context.n_returns_layer = 0;
+    write_context.class_layer = 0;
+    write_context.rgb_layer = 0;
+    write_context.red_layer = 0;
+    write_context.green_layer = 0;
+    write_context.blue_layer = 0;
+    if (return_layer_opt->answer)
+        write_context.return_layer = atoi(return_layer_opt->answer);
+    if (n_returns_layer_opt->answer)
+        write_context.n_returns_layer = atoi(n_returns_layer_opt->answer);
+    if (class_layer_opt->answer)
+        write_context.class_layer = atoi(class_layer_opt->answer);
+    if (rgb_layer_opt->answer)
+        write_context.rgb_layer = atoi(rgb_layer_opt->answer);
+    if (red_layer_opt->answer)
+        write_context.red_layer = atoi(red_layer_opt->answer);
+    if (green_layer_opt->answer)
+        write_context.green_layer = atoi(green_layer_opt->answer);
+    if (blue_layer_opt->answer)
+        write_context.blue_layer = atoi(blue_layer_opt->answer);
+
+    /* get GRASS loc proj info */
+    struct Key_Value *proj_info;
+    struct Key_Value *proj_units;
+
+    /* TODO: should we test for PROJECTION_XY? */
+    proj_info = G_get_projinfo();
+    proj_units = G_get_projunits();
+    char *current_wkt = GPJ_grass_to_wkt(proj_info, proj_units, FALSE, FALSE);
+
+    G_free_key_value(proj_info);
+    G_free_key_value(proj_units);
+
+    /* TODO: ignoring errors */
+    LASWriterH las_writer;
+    LASHeaderH las_header = LASHeader_Create();
+    LASSRSH las_srs = LASSRS_Create();
+
+    LASSRS_SetWKT(las_srs, current_wkt);
+    LASHeader_SetSRS(las_header, las_srs);
+    LASHeader_SetScale(las_header, atof(las_xyscale_opt->answer),
+        atof(las_xyscale_opt->answer), atof(las_zscale_opt->answer));
+    /* TODO: support append mode */
+    int write_mode = 1;
+
+    las_writer = LASWriter_Create(foutput_opt->answer,
+                                  las_header, write_mode);
+    write_context.las_writer = las_writer;
+
+    /* to avoid allocation for each point we are writing */
+    write_context.las_point = LASPoint_Create();
+    LASPoint_SetHeader(write_context.las_point, las_header);
+    write_context.las_color = LASColor_Create();
+
+    write_context.layer = layer;
+    write_context.return_column_values = 0;
+    write_context.n_returns_column_values = 0;
+    write_context.class_column_values = 0;
+    write_context.grass_rgb_column_values = 0;
+    write_context.red_column_values = 0;
+    write_context.green_column_values = 0;
+    write_context.blue_column_values = 0;
+    /* TODO: limit select by the cat values */
+    /* TODO: limit select by 2D/3D region and zrange, possible? */
+
+    int use_color_attributes = FALSE;
+
+    if (return_column_opt->answer || n_returns_column_opt->answer
+        || class_column_opt->answer || grass_rgb_column_opt->answer
+        || red_column_opt->answer || green_column_opt->answer
+        || blue_column_opt->answer) {
+        dbDriver *db_driver;
+        struct field_info *f_info;
+
+        struct LidarColumnNames column_names;
+
+        column_names.return_n = return_column_opt->answer;
+        column_names.n_returns = n_returns_column_opt->answer;
+        column_names.class_n = class_column_opt->answer;
+        column_names.grass_rgb = grass_rgb_column_opt->answer;
+        column_names.red = red_column_opt->answer;
+        column_names.green = green_column_opt->answer;
+        column_names.blue = blue_column_opt->answer;
+
+        open_database(&vinput, layer, &db_driver, &f_info);
+        load_columns(&write_context, db_driver, f_info, &column_names,
+                     where_opt->answer);
+        close_database(db_driver);
+        
+        if ( grass_rgb_column_opt->answer || red_column_opt->answer || green_column_opt->answer || blue_column_opt->answer)
+            use_color_attributes = TRUE;
+    }
+
+    struct Colors color_table;
+    write_context.color_table = 0;
+    if (!use_color_attributes && !no_color_table_flag->answer && !(write_context.rgb_layer || write_context.red_layer || write_context.green_layer || write_context.blue_layer)) {
+        int has_colors = Vect_read_colors(Vect_get_name(&vinput), Vect_get_mapset(&vinput), &color_table);
+        if (has_colors)
+            write_context.color_table = &color_table;
+    }
+
+    /* some constraints can be set on the map */
+    Vect_set_constraint_type(&vinput, GV_POINT);
+    /* noop for layer=-1 and non-native format, skips lines without cat */
+    Vect_set_constraint_field(&vinput, layer);
+    /* TODO: replace region checks by Vect_set_constraint_region? */
+
+    int ltype;
+    int cat;
+
+    while (TRUE) {
+        ltype = Vect_read_next_line(&vinput, line, cats);
+        if (ltype == -1)
+            G_fatal_error(_("Unable to read vector map"));
+        if (ltype == -2)
+            break;              /* end of the map */
+
+        double x, y, z;
+
+        Vect_line_get_point(line, 0, &x, &y, &z);
+
+        /* selections/filters */
+        /* TODO: use region only when actually needed */
+        if (region_flag->answer && !point_in_region_2d(&comp_region, x, y))
+            continue;
+        if (allowed_cats &&
+            !Vect_cats_in_constraint(cats, layer, allowed_cats))
+            continue;
+
+        /* TODO: test: skip points without category, unless layer=-1 */
+        /* Use cases:
+         * - all points have category (correct)
+         * - no categories for any point (correct, layer=-1 required)
+         * - some points miss category (not handled)
+         * Here we assume that there is only one set of attributes for one point.
+         * If no layer available, cat contains junk and shouldn't be used.
+         */
+        if (layer > 0)
+            Vect_cat_get(cats, layer, &cat);
+
+        write_point(&write_context, cat, x, y, z, cats);
+    }
+
+    /* partially unnecessary as deallocated by the system */
+    Vect_destroy_line_struct(line);
+    Vect_destroy_cats_struct(cats);
+    Vect_close(&vinput);
+
+    free_columns(&write_context);
+
+    LASPoint_Destroy(write_context.las_point);
+    LASColor_Destroy(write_context.las_color);
+    LASWriter_Destroy(write_context.las_writer);
+    LASSRS_Destroy(las_srs);
+
+    return EXIT_SUCCESS;
+}
diff --git a/vector/v.out.lidar/testsuite/test_v_out_lidar.py b/vector/v.out.lidar/testsuite/test_v_out_lidar.py
new file mode 100644
index 0000000..66478ce
--- /dev/null
+++ b/vector/v.out.lidar/testsuite/test_v_out_lidar.py
@@ -0,0 +1,76 @@
+"""
+Name:      test_v_out_lidar
+Purpose:   v.out.lidar export test
+
+Author:    Vaclav Petras
+Copyright: (C) 2015 by Vaclav Petras and the GRASS Development Team
+Licence:   This program is free software under the GNU General Public
+           License (>=v2). Read the file COPYING that comes with GRASS
+           for details.
+"""
+
+import os
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class BasicTest(TestCase):
+    """Test case for watershed module
+
+    This tests expects v.random to work properly.
+    """
+
+    # Setup variables to be used for outputs
+    vector_points = 'v_out_lidar_original'
+    imported_points = 'v_out_lidar_imported'
+    las_file = 'v_out_lidar_points.las'
+
+    @classmethod
+    def setUpClass(cls):
+        """Ensures expected computational region and generated data"""
+        cls.use_temp_region()
+        cls.runModule('g.region', n=20, s=10, e=25, w=15, res=1)
+        cls.runModule('v.random', flags='zb', output=cls.vector_points,
+            npoints=300, zmin=200, zmax=500, seed=100)
+
+    @classmethod
+    def tearDownClass(cls):
+        """Remove the temporary region and generated data"""
+        cls.runModule('g.remove', flags='f', type='vector',
+            name=cls.vector_points)
+        cls.del_temp_region()
+
+    def tearDown(self):
+        """Remove the outputs created by the export
+
+        This is executed after each test run.
+        """
+        if os.path.isfile(self.las_file):
+            os.remove(self.las_file)
+        self.runModule('g.remove', flags='f', type='vector',
+            name=self.imported_points)
+
+    def test_module_runs_output_created(self):
+        """Test to see if the standard outputs are created"""
+        self.assertModule('v.out.lidar', input=self.vector_points,
+            output=self.las_file)
+        self.assertFileExists(self.las_file)
+
+    def test_output_identical(self):
+        """Test to see if the standard outputs are created
+
+        This test depends on v.in.lidar working properly.
+        """
+        self.assertModule('v.out.lidar', input=self.vector_points,
+            output=self.las_file)
+        self.assertModule('v.in.lidar', input=self.las_file,
+            output=self.imported_points, flags='bt')
+        self.assertVectorExists(self.imported_points)
+        self.assertVectorEqualsVector(
+            actual=self.imported_points,
+            reference=self.vector_points,
+            digits=2, precision=.01)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.out.lidar/v.out.lidar.html b/vector/v.out.lidar/v.out.lidar.html
new file mode 100644
index 0000000..1279b2f
--- /dev/null
+++ b/vector/v.out.lidar/v.out.lidar.html
@@ -0,0 +1,52 @@
+<h2>DESCRIPTION</h2>
+
+<em>v.out.lidar</em> converts GRASS vector map to a LiDAR point clouds
+in LAS format using the <a href="http://www.liblas.org">libLAS</a> library.
+
+<p>
+The <b>-r</b> flag limits the export to the current computational region
+extent (see <em><a href="g.region.html">g.region</a></em>).
+The <b>where</b> option limits the export by attributes (applied only
+when the columns are used for export).
+
+<p>
+LAS format stores the coordinates as integers rounding the decimal places.
+Before that a scale is applied to preserve a certain number of decimal
+places. This scale can be set using <b>las_xyscale</b> and <b>las_xscale</b>
+options. For example, the scale value 0.01 will preserve two decimal
+places while the value 1.0 will preserve none.
+
+
+<h2>NOTES</h2>
+
+The typical file extensions for the LAS format are .las and .laz (compressed).
+The compressed LAS (.laz) format can be exported only if libLAS has been
+compiled with <a href="http://www.laszip.org/">LASzip</a> support.
+It is also good when libLAS was compiled with GDAL. This is needed when
+working with projections.
+
+
+<h2>EXAMPLE</h2>
+
+Generate fractal surface and export is as point in LAS format:
+
+<div class="code"><pre>
+g.region raster=elevation res=100
+r.surf.fractal output=fractals
+r.to.vect input=fractals output=fractals type=point -z
+v.out.lidar input=fractals output=fractals.las
+</pre></div>
+
+
+<h2>REFERENCES</h2>
+
+<a href="http://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html">
+ASPRS LAS format</a><br>
+<a href="http://www.liblas.org/">LAS library</a> <br>
+
+
+<h2>AUTHOR</h2>
+
+Vaclav Petras
+
+<p><i>Last changed: $Date: 2015-12-21 17:31:02 -0800 (Mon, 21 Dec 2015) $</i>
diff --git a/vector/v.out.ogr/v.out.ogr.html b/vector/v.out.ogr/v.out.ogr.html
index 04e99fd..317406b 100644
--- a/vector/v.out.ogr/v.out.ogr.html
+++ b/vector/v.out.ogr/v.out.ogr.html
@@ -184,5 +184,5 @@ Some contributions: Markus Neteler<br>
 Multi-feature support by Martin Landa, Czech Technical University in Prague, 2013
 
 <p>
-<i>Last changed: $Date: 2015-11-24 09:08:30 +0100 (Tue, 24 Nov 2015) $</i>
+<i>Last changed: $Date: 2015-11-24 00:07:58 -0800 (Tue, 24 Nov 2015) $</i>
 
diff --git a/vector/v.out.postgis/v.out.postgis.html b/vector/v.out.postgis/v.out.postgis.html
index 9d1d760..97248b8 100644
--- a/vector/v.out.postgis/v.out.postgis.html
+++ b/vector/v.out.postgis/v.out.postgis.html
@@ -289,4 +289,4 @@ Martin Landa, Czech Technical University in Prague, Czech Republic
 (development supported by Fondazione Edmund Mach and Comune di Trento, Italy)
 
 <p>
-<i>Last changed: $Date: 2015-11-24 09:08:30 +0100 (Tue, 24 Nov 2015) $</i>
+<i>Last changed: $Date: 2015-11-24 00:07:58 -0800 (Tue, 24 Nov 2015) $</i>
diff --git a/vector/v.out.pov/v.out.pov.html b/vector/v.out.pov/v.out.pov.html
index c396ed7..f8779d2 100644
--- a/vector/v.out.pov/v.out.pov.html
+++ b/vector/v.out.pov/v.out.pov.html
@@ -25,4 +25,4 @@ The generated file can be included in an existing .pov file with the following s
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2011-09-29 21:18:47 +0200 (Thu, 29 Sep 2011) $</i>
+<p><i>Last changed: $Date: 2011-09-29 12:18:47 -0700 (Thu, 29 Sep 2011) $</i>
diff --git a/vector/v.out.svg/v.out.svg.html b/vector/v.out.svg/v.out.svg.html
index 9985844..d68a433 100644
--- a/vector/v.out.svg/v.out.svg.html
+++ b/vector/v.out.svg/v.out.svg.html
@@ -46,4 +46,4 @@ v.out.svg input=archsites output=/tmp/output.svg type=point precision=0 attrib=s
 
 Klaus Foerster (klaus svg.cc), Innsbruck, Austria
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.outlier/v.outlier.html b/vector/v.outlier/v.outlier.html
index f450ebc..68376bc 100644
--- a/vector/v.outlier/v.outlier.html
+++ b/vector/v.outlier/v.outlier.html
@@ -68,4 +68,4 @@ Updates for GRASS 6:
 <br>
 Roberto Antolin
 
-<p><i>Last changed: $Date: 2014-08-05 09:02:35 +0200 (Tue, 05 Aug 2014) $</i>
+<p><i>Last changed: $Date: 2014-08-04 23:59:29 -0700 (Mon, 04 Aug 2014) $</i>
diff --git a/vector/v.overlay/v.overlay.html b/vector/v.overlay/v.overlay.html
index 1391958..67e345f 100644
--- a/vector/v.overlay/v.overlay.html
+++ b/vector/v.overlay/v.overlay.html
@@ -280,4 +280,4 @@ Radim Blazek, ITC-Irst, Trento, Italy<br>
 Markus Metz
 
 <p>
-<i>Last changed: $Date: 2015-08-12 02:04:48 +0200 (Wed, 12 Aug 2015) $</i>
+<i>Last changed: $Date: 2015-08-11 17:03:45 -0700 (Tue, 11 Aug 2015) $</i>
diff --git a/vector/v.parallel/v.parallel.html b/vector/v.parallel/v.parallel.html
index 39c1844..83afe12 100644
--- a/vector/v.parallel/v.parallel.html
+++ b/vector/v.parallel/v.parallel.html
@@ -22,4 +22,4 @@ To avoid this problem, the <b>-b</b> flag might be used.
 Radim Blazek<br>
 Rewritten by Rosen Matev (with support through the Google Summer of Code program 2008)
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/vector/v.patch/main.c b/vector/v.patch/main.c
index 2f7eec7..909b8b3 100644
--- a/vector/v.patch/main.c
+++ b/vector/v.patch/main.c
@@ -50,6 +50,7 @@ int main(int argc, char *argv[])
     struct GModule *module;
     struct Option *old, *new, *bbox;
     struct Flag *append, *table_flag, *no_topo;
+    struct Flag *no_input_topo_flag, *force_z_flag;
     struct Map_info InMap, OutMap, BBoxMap;
     int n_files;
     int do_table;
@@ -80,10 +81,17 @@ int main(int argc, char *argv[])
     bbox->description =
 	_("Name for output vector map where bounding boxes of input vector maps are written to");
 
-    append = G_define_flag();
-    append->key = 'a';
-    append->description = _("Append files to existing file "
-			    "(overwriting existing files must be activated)");
+    no_input_topo_flag = G_define_flag();
+    no_input_topo_flag->key = 'n';
+    no_input_topo_flag->label = _("Do not expect input with topology");
+    no_input_topo_flag->description =
+        _("Applicable when input is points without topology");
+
+    force_z_flag = G_define_flag();
+    force_z_flag->key = 'z';
+    force_z_flag->label = _("Expect z coordinate even when not using topology");
+    force_z_flag->description =
+        _("Applicable when input is points with z coordinate but without topology");
 
     table_flag = G_define_flag();
     table_flag->key = 'e';
@@ -91,6 +99,11 @@ int main(int argc, char *argv[])
     table_flag->description =
 	_("Only the table of layer 1 is currently supported");
 
+    append = G_define_flag();
+    append->key = 'a';
+    append->description = _("Append files to existing file "
+			    "(overwriting existing files must be activated)");
+
     no_topo = G_define_standard_flag(G_FLG_V_TOPO);
 
     if (G_parser(argc, argv))
@@ -109,7 +122,7 @@ int main(int argc, char *argv[])
 	in_name = old->answers[i++];
 	Vect_check_input_output_name(in_name, new->answer, G_FATAL_EXIT);
 
-	Vect_set_open_level(2);
+	Vect_set_open_level(no_input_topo_flag->answer ? 1 : 2);
 	if (Vect_open_old_head(&InMap, in_name, "") < 0)
 	    G_fatal_error(_("Unable to open vector map <%s>"), in_name);
 
@@ -118,6 +131,8 @@ int main(int argc, char *argv[])
 
 	Vect_close(&InMap);
     }
+    if (force_z_flag->answer)
+        out_is_3d = WITH_Z;
 
     table_out = NULL;
     fi_in = NULL;
diff --git a/vector/v.patch/v.patch.html b/vector/v.patch/v.patch.html
index 63c9d28..9cd5894 100644
--- a/vector/v.patch/v.patch.html
+++ b/vector/v.patch/v.patch.html
@@ -59,4 +59,4 @@ Research Laboratory
 <br>
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.perturb/v.perturb.html b/vector/v.perturb/v.perturb.html
index 46af3bb..2b85378 100644
--- a/vector/v.perturb/v.perturb.html
+++ b/vector/v.perturb/v.perturb.html
@@ -39,4 +39,4 @@ current geographic region.
 <p>Random number generators originally written in FORTRAN by Wes Peterson and
 translated to C using <i>f2c</i>.
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.proj/main.c b/vector/v.proj/main.c
index bf07a23..1ff8f00 100644
--- a/vector/v.proj/main.c
+++ b/vector/v.proj/main.c
@@ -67,6 +67,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("vector"));
     G_add_keyword(_("projection"));
     G_add_keyword(_("transformation"));
+    G_add_keyword(_("import"));
     module->description = _("Re-projects a vector map from one location to the current location.");
 
     /* set up the options and flags for the command line parser */
diff --git a/vector/v.proj/v.proj.html b/vector/v.proj/v.proj.html
index 097b8dc..356a5f2 100644
--- a/vector/v.proj/v.proj.html
+++ b/vector/v.proj/v.proj.html
@@ -22,6 +22,10 @@ If <b>dbase</b> is not specified it is assumed to be the current
 database. The user only has to specify <b>dbase</b> if the source
 location is stored in another separate GRASS database.
 
+<br>
+If <b>smax</b> is set to <b>0</b> the automated vertex densification is
+disabled (not recommended).
+
 <p>
 <em>v.proj</em> supports general datum transformations, making use of the
 <em>PROJ.4</em> co-ordinate system translation library.
@@ -33,12 +37,12 @@ at 180E/W. In this case wrapping of east coordinates to -180,180 needs
 to be disabled with the <b>-w</b> flag.
 
 <p>
-In order to preserve spatial detail, it is recommended to densify linear 
-features with <em><a href="v.split.html">v.split</a></em> before 
-reprojecting. Depending on the source and target CRS 
-(Coordinate Reference System), geometries can be substantially 
-deformed (straight lines become curves, squares become trapezoids, etc). 
-In these cases densification of linear features can help to avoid 
+In order to preserve spatial detail, <em>v.proj</em> performs automated
+vertex densification (as an alternative, <em><a href="v.split.html">v.split</a></em>
+could be used before reprojecting. Without vertex densification, depending on
+the source and target CRS (Coordinate Reference System), geometries can be
+substantially deformed (straight lines become curves, squares become
+trapezoids, etc). The densification of linear features can help to avoid 
 topological errors.
 
 <h2>EXAMPLES</h2>
@@ -93,4 +97,4 @@ M.L. Holko, USDA, SCS, NHQ-CGIS
 <br>
 R.L. Glenn, USDA, SCS, NHQ-CGIS
 
-<p><i>Last changed: $Date: 2015-09-12 11:03:45 +0200 (Sat, 12 Sep 2015) $</i>
+<p><i>Last changed: $Date: 2016-02-07 14:27:19 -0800 (Sun, 07 Feb 2016) $</i>
diff --git a/vector/v.qcount/v.qcount.html b/vector/v.qcount/v.qcount.html
index 7cb1481..c1fa300 100644
--- a/vector/v.qcount/v.qcount.html
+++ b/vector/v.qcount/v.qcount.html
@@ -77,4 +77,4 @@ Timestamp not working for header part of counts output. (2000-10-28)
 <br>
 Modified for GRASS 5.7 by R. Blazek (2004-10-14)
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/vector/v.random/main.c b/vector/v.random/main.c
index 07e8671..5c2ddc0 100644
--- a/vector/v.random/main.c
+++ b/vector/v.random/main.c
@@ -64,7 +64,8 @@ int main(int argc, char *argv[])
     double (*rng)(void) = G_drand48;
     double zmin, zmax;
     int seed;
-    int i, j, k, n, type, usefloat;
+    unsigned long i, n;
+    int j, k, type, usefloat;
     int area, nareas, field;
     struct boxlist *List = NULL;
     BOX_SIZE *size_list = NULL;
@@ -179,8 +180,8 @@ int main(int argc, char *argv[])
 	exit(EXIT_FAILURE);
 
     output = parm.output->answer;
-    n = atoi(parm.nsites->answer);
-    
+    n = strtoul(parm.nsites->answer, NULL, 10);
+
     if(parm.seed->answer)
         seed = atoi(parm.seed->answer);
 
diff --git a/vector/v.random/v.random.html b/vector/v.random/v.random.html
index 242be6d..b9f81fa 100644
--- a/vector/v.random/v.random.html
+++ b/vector/v.random/v.random.html
@@ -47,7 +47,7 @@ Random points with different X, Y, and Z coordinates
 </center>
 
 <!--
-g.region rast=elev_lid792_1m
+g.region raster=elev_lid792_1m
 ...
 d.vect height_random color=60:60:60 icon=basic/point size=40 width=2 zcolor=gyr
 optipng -o5 map.png
@@ -108,4 +108,4 @@ v.random input=landclass96 output=random_samples npoints=20 \
 Engineering</a>
 <a href="http://www.purdue.edu/">Purdue University</a>
 
-<p><i>Last changed: $Date: 2014-12-20 06:05:23 +0100 (Sat, 20 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/vector/v.reclass/v.reclass.html b/vector/v.reclass/v.reclass.html
index 5a1ca54..84f4f48 100644
--- a/vector/v.reclass/v.reclass.html
+++ b/vector/v.reclass/v.reclass.html
@@ -96,4 +96,4 @@ R.L. Glenn, USDA, SCS, NHQ-CGIS<br>
 from v.reclass to v.db.reclass and later to v.reclass in 5.7 rewritten
 by Radim Blazek
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/vector/v.rectify/v.rectify.html b/vector/v.rectify/v.rectify.html
index 3f9fe7e..2397bcc 100644
--- a/vector/v.rectify/v.rectify.html
+++ b/vector/v.rectify/v.rectify.html
@@ -9,7 +9,7 @@ system than before it was rectified).
 <p>
 The <em>-o</em> flag enforces orthogonal rotation (currently for 3D only) 
 where the axes remain orthogonal to each other, e.g. a cube with right 
-angles remains a cube with right angles after tranformation. This is not 
+angles remains a cube with right angles after transformation. This is not 
 guaranteed even with affine (1<sup>st</sup> order) 3D transformation.
 
 <p>
@@ -128,4 +128,4 @@ Markus Metz
 based on <a href="i.rectify.html">i.rectify</a>
 
 
-<p><i>Last changed: $Date: 2014-11-02 21:55:12 +0100 (Sun, 02 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2016-01-29 01:29:57 -0800 (Fri, 29 Jan 2016) $</i>
diff --git a/vector/v.sample/v.sample.html b/vector/v.sample/v.sample.html
index c7bb257..1bc77ae 100644
--- a/vector/v.sample/v.sample.html
+++ b/vector/v.sample/v.sample.html
@@ -79,4 +79,4 @@ sample dataset elevation models at random positions:
 <br>
 Updated for GRASS 5.7 by Radim Blazek
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/vector/v.segment/v.segment.html b/vector/v.segment/v.segment.html
index ef2eb54..b59d220 100644
--- a/vector/v.segment/v.segment.html
+++ b/vector/v.segment/v.segment.html
@@ -180,4 +180,4 @@ There is a problem with side-offset parallel line generation for inside corners.
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/vector/v.select/main.c b/vector/v.select/main.c
index cfe07a1..94686e2 100644
--- a/vector/v.select/main.c
+++ b/vector/v.select/main.c
@@ -33,6 +33,7 @@ int main(int argc, char *argv[])
     int itype[2], ifield[2];
 
     int *ALines; /* List of lines: 0 do not output, 1 - write to output */
+    int *AAreas; /* List of areas: 0 do not output, 1 - write area boundaries to output */
     int **cats, *ncats, *fields, nfields;
     
     struct GModule *module;
@@ -112,6 +113,9 @@ int main(int argc, char *argv[])
 
     /* Alloc space for input lines array */
     ALines = (int *)G_calloc(Vect_get_num_lines(&(In[0])) + 1, sizeof(int));
+    AAreas = NULL;
+    if (flag.reverse->answer)
+	AAreas = (int *)G_calloc(Vect_get_num_areas(&(In[0])) + 1, sizeof(int));
 
     /* Read field info */
     IFi = Vect_get_field(&(In[0]), ifield[0]);
@@ -133,13 +137,13 @@ int main(int argc, char *argv[])
                  &(In[1]), itype[1], ifield[1],
                  flag.cat->answer ? 1 : 0, operator,
                  parm.relate->answer,
-                 ALines, nskipped);
+                 ALines, AAreas, nskipped);
 #else
     select_lines(&(In[0]), itype[0], ifield[0],
                  &(In[1]), itype[1], ifield[1],
                  flag.cat->answer ? 1 : 0, operator,
                  NULL,
-                 ALines, nskipped);
+                 ALines, AAreas, nskipped);
 #endif
     
 #ifdef HAVE_GEOS
@@ -159,7 +163,7 @@ int main(int argc, char *argv[])
 	Vect_copy_map_dblinks(&(In[0]), &Out, TRUE);
     }
     
-    write_lines(&(In[0]), IFi, ALines,
+    write_lines(&(In[0]), IFi, ALines, AAreas,
 		&Out, flag.table->answer ? 1 : 0, flag.reverse->answer ? 1 : 0,
 		nfields, fields, ncats, cats);
 
diff --git a/vector/v.select/overlap.c b/vector/v.select/overlap.c
index fd2a069..2e8c2d3 100644
--- a/vector/v.select/overlap.c
+++ b/vector/v.select/overlap.c
@@ -6,7 +6,7 @@
 #include "proto.h"
 
 /* Add all elements of area A to the list */
-void add_aarea(struct Map_info *In, int aarea, int *ALines)
+void add_aarea(struct Map_info *In, int aarea, int *ALines, int *AAreas)
 {
     int i, j, aline, naisles, aisle, acentroid;
     static struct ilist *BoundList = NULL;
@@ -34,6 +34,8 @@ void add_aarea(struct Map_info *In, int aarea, int *ALines)
 	    ALines[aline] = 1;
 	}
     }
+    if (AAreas)
+	AAreas[aarea] = 1;
 }
 
 /* Returns 1 if line1 from Map1 overlaps area2 from Map2,
diff --git a/vector/v.select/proto.h b/vector/v.select/proto.h
index 05cfca8..2b53587 100644
--- a/vector/v.select/proto.h
+++ b/vector/v.select/proto.h
@@ -38,14 +38,14 @@ int area_relate_geos(struct Map_info *, const GEOSGeometry *,
 /* select.c */
 void select_lines(struct Map_info *, int, int,
                   struct Map_info *, int, int,
-                  int, int, const char *, int *, int*);
+                  int, int, const char *, int *, int*, int*);
 
 /* overlap.c */
-void add_aarea(struct Map_info *, int, int *);
+void add_aarea(struct Map_info *, int, int *, int *);
 int line_overlap_area(struct line_pnts *, struct Map_info *, int);
 
 /* write.c */
-void write_lines(struct Map_info *, struct field_info *, int *,
+void write_lines(struct Map_info *, struct field_info *, int *, int *,
 		 struct Map_info *, int, int,
 		 int, int *, int *, int **);
 #endif /* PROTO_H */
diff --git a/vector/v.select/select.c b/vector/v.select/select.c
index ebf2c6c..03e6051 100644
--- a/vector/v.select/select.c
+++ b/vector/v.select/select.c
@@ -9,7 +9,7 @@
 void select_lines(struct Map_info *aIn, int atype, int afield,
                   struct Map_info *bIn, int btype, int bfield,
                   int cat_flag, int operator, const char *relate,
-                  int *ALines, int* nskipped)
+                  int *ALines, int *AAreas, int* nskipped)
 {
     int i;
     int nalines, aline, ltype;
@@ -211,7 +211,7 @@ void select_lines(struct Map_info *aIn, int atype, int afield,
 #ifdef HAVE_GEOS
 			if(line_relate_geos(bIn, AGeom,
 					    bline, operator, relate)) {
-			    add_aarea(aIn, aarea, ALines);
+			    add_aarea(aIn, aarea, ALines, AAreas);
 			    break;
 			}
 #endif
@@ -220,7 +220,7 @@ void select_lines(struct Map_info *aIn, int atype, int afield,
 			Vect_read_line(bIn, BPoints, NULL, bline);
 
 			if (line_overlap_area(BPoints, aIn, aarea)) {
-			    add_aarea(aIn, aarea, ALines);
+			    add_aarea(aIn, aarea, ALines, AAreas);
 			    continue;
 			}
 		    }
@@ -310,7 +310,7 @@ void select_lines(struct Map_info *aIn, int atype, int afield,
 			}
 		    }
 		    if (found) {
-			add_aarea(aIn, aarea, ALines);
+			add_aarea(aIn, aarea, ALines, AAreas);
 			break;
 		    }
 		}
diff --git a/vector/v.select/v.select.html b/vector/v.select/v.select.html
index c4d4028..1565e35 100644
--- a/vector/v.select/v.select.html
+++ b/vector/v.select/v.select.html
@@ -319,4 +319,4 @@ GEOS support by Martin Landa, Czech Technical University in Prague, Czech Republ
 ZIP code examples by Carol X. Garzon-Lopez, Trento, Italy
 
 <p>
-<i>Last changed: $Date: 2015-10-22 00:41:33 +0200 (Thu, 22 Oct 2015) $</i>
+<i>Last changed: $Date: 2015-10-21 15:30:01 -0700 (Wed, 21 Oct 2015) $</i>
diff --git a/vector/v.select/write.c b/vector/v.select/write.c
index e95d658..f6426ab 100644
--- a/vector/v.select/write.c
+++ b/vector/v.select/write.c
@@ -2,6 +2,7 @@
 #include <grass/glocale.h>
 
 void write_lines(struct Map_info *In, struct field_info *IFi, int *ALines,
+                 int *AAreas,
 		 struct Map_info *Out, int table_flag, int reverse_flag,
 		 int nfields, int *fields, int *ncats, int **cats)
 {
@@ -27,11 +28,33 @@ void write_lines(struct Map_info *In, struct field_info *IFi, int *ALines,
     for (aline = 1; aline <= nalines; aline++) {
 	G_debug(3, "aline = %d ALines[aline] = %d", aline, ALines[aline]);
 	G_percent(aline, nalines, 2);
-	if ((!reverse_flag && !(ALines[aline])) ||
-	    (reverse_flag && ALines[aline]))
+	if ((!reverse_flag && !(ALines[aline])))
 	    continue;
 
 	atype = Vect_read_line(&(In[0]), APoints, ACats, aline);
+
+	if ((reverse_flag && ALines[aline])) {
+	    if (atype == GV_BOUNDARY && AAreas) {
+		int left, right, skipme;
+
+		skipme = 1;
+		Vect_get_line_areas(&(In[0]), aline, &left, &right);
+		if (left < 0)
+		    left = Vect_get_isle_area(&(In[0]), abs(left));
+		if (left > 0 && !AAreas[left])
+		    skipme = 0;
+		if (right < 0)
+		    right = Vect_get_isle_area(&(In[0]), abs(right));
+		if (right > 0 && !AAreas[right])
+		    skipme = 0;
+		if (skipme)
+		    continue;
+	    }
+	    else
+		continue;
+	}
+
+
 	Vect_write_line(Out, atype, APoints, ACats);
 
 	if (!table_flag && (IFi != NULL)) {
diff --git a/vector/v.split/main.c b/vector/v.split/main.c
index d83e571..9eec305 100644
--- a/vector/v.split/main.c
+++ b/vector/v.split/main.c
@@ -36,13 +36,13 @@ int main(int argc, char *argv[])
     struct GModule *module;
     struct Option *in_opt, *layer_opt, *out_opt, *length_opt,
                   *units_opt, *vertices_opt;
-    struct Flag *nosplit_flag;
+    struct Flag *nosplit_flag, *fixedlength_flag;
     
     struct Map_info In, Out;
     struct line_pnts *Points, *Points2, *Points3;
     struct line_cats *Cats;
 
-    int line, nlines, layer, nosplit;
+    int line, nlines, layer, nosplit, fixedlength;
     double length = -1;
     int vertices = 0;
     double (*line_length) ();
@@ -92,6 +92,13 @@ int main(int argc, char *argv[])
     nosplit_flag->key = 'n';
     nosplit_flag->label = _("Add new vertices, but do not split");
     nosplit_flag->description = _("Applies only to 'length' option");
+
+    fixedlength_flag = G_define_flag();
+    fixedlength_flag->key = 'f';
+    fixedlength_flag->label = _("Force segments to be exactly of given length, except for last one");
+    fixedlength_flag->description = _("Applies only to 'length' option");
+
+
     
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
@@ -157,6 +164,7 @@ int main(int argc, char *argv[])
 	    G_fatal_error(_("Number of vertices must be at least 2"));
     }
     nosplit = nosplit_flag->answer;
+    fixedlength = fixedlength_flag->answer;
     
     Vect_set_open_level(2);
 
@@ -208,10 +216,17 @@ int main(int argc, char *argv[])
 		    G_debug(3, "l: %f, length: %f", l, length);
 
 		    n = ceil(l / length);
+
 		    if (geodesic)
 			l = Vect_line_length(Points);
 
-		    step = l / n;
+		    if (fixedlength) {
+			    step = length;
+		    }
+		    else {
+			    step = l / n;
+		    }
+
 		    from = 0.;
 		    
 		    G_debug(3, "n: %ld, step: %f", n, step);
diff --git a/vector/v.split/v.split.html b/vector/v.split/v.split.html
index 68710a4..38a562a 100644
--- a/vector/v.split/v.split.html
+++ b/vector/v.split/v.split.html
@@ -9,36 +9,42 @@ parameter.
 
 The examples are based on the North Carolina sample data location.
 
-<h3>Example 1: Inserting nodes to railroad map</h3>
+<h3>Example 1: Inserting nodes to railroad lines map</h3>
 
 <div class="code"><pre>
-# extract data for this example
-v.extract railroads out=myrr cats=1
+# extract one railroad line for this example
+v.extract input=railroads output=myrr cats=1
 
 # show line, category, direction (to find the beginning)
-d.vect myrr disp=shape,cat,dir
+g.region vector=myrr
+d.erase
+d.vect myrr display=shape,cat,dir
 
 # insert nodes at a distance not longer than 1000m
-v.split myrr out=mrr_split length=1000
-d.vect myrr_split disp=shape,topo
+v.split input=myrr output=myrr_split_1km length=1000
+
+d.vect myrr_split_1km display=shape,topo
 </pre></div>
 
-Note: In case the data is not a polyline, build polylines in second step, eg.:
+<p>
+Note: In case that the vector line data are not polylines,
+generate first polylines as the second step, eg.:
 
 <div class="code"><pre>
 # join segments into polyline
-v.build.polylines myrr out=myrr_poly
-v.category myrr_pol out=myrailroads option=add
+v.build.polylines input=myrr output=myrr_polylines
+# regenerate categories
+v.category input=myrr_polylines output=myrailroads option=add
 </pre></div>
 
-<h3>Example 2: Inserting vertices to railroad map</h3>
+<h3>Example 2: Inserting vertices to railroad lines map</h3>
 
 Note: first run the two steps from example 1.
 
 <div class="code"><pre>
 # insert vertices at a distance not longer than 1000m
-v.split -n myrr out=myrr_split length=1000
-d.vect myrr_split disp=shape,topo
+v.split -n input=myrr output=myrr_split length=1000
+d.vect myrr_split display=shape,topo
 </pre></div>
 
 
@@ -55,4 +61,4 @@ d.vect myrr_split disp=shape,topo
 
 Radim Blazek
 
-<p><i>Last changed: $Date: 2014-03-26 12:41:40 +0100 (Wed, 26 Mar 2014) $</i>
+<p><i>Last changed: $Date: 2016-03-10 09:02:58 -0800 (Thu, 10 Mar 2016) $</i>
diff --git a/vector/v.support/v.support.html b/vector/v.support/v.support.html
index 5e66414..d093270 100644
--- a/vector/v.support/v.support.html
+++ b/vector/v.support/v.support.html
@@ -24,4 +24,4 @@ v.info myvectmap
 
 Markus Neteler, Trento
 
-<p><i>Last changed: $Date: 2011-11-08 22:24:20 +0100 (Tue, 08 Nov 2011) $</i>
+<p><i>Last changed: $Date: 2011-11-08 13:24:20 -0800 (Tue, 08 Nov 2011) $</i>
diff --git a/vector/v.surf.bspline/v.surf.bspline.html b/vector/v.surf.bspline/v.surf.bspline.html
index 32e70ff..585fcf4 100644
--- a/vector/v.surf.bspline/v.surf.bspline.html
+++ b/vector/v.surf.bspline/v.surf.bspline.html
@@ -109,7 +109,7 @@ A bilinear spline interpolation will be done with a spline step length
 of 25 map units. An interpolated raster map will be created at the
 current region resolution.
 
-<h3>Estimation of lambda_i parameter with a cross validation proccess</h3>
+<h3>Estimation of lambda_i parameter with a cross validation process</h3>
 
 <div class="code"><pre>
 v.surf.bspline -c input=point_vector 
@@ -187,4 +187,4 @@ Maria Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni, Mirko Reguzzoni<br
 Update for GRASS 6 and improvements: Roberto Antolin
 
 <p>
-<i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<i>Last changed: $Date: 2016-03-08 00:06:33 -0800 (Tue, 08 Mar 2016) $</i>
diff --git a/vector/v.surf.idw/v.surf.idw.html b/vector/v.surf.idw/v.surf.idw.html
index 64f684e..4d3af9b 100644
--- a/vector/v.surf.idw/v.surf.idw.html
+++ b/vector/v.surf.idw/v.surf.idw.html
@@ -29,19 +29,41 @@ Note that vector features without category in given <b>layer</b> are
 <i>skipped</i>.
 
 <p>If the user has a mask set, then interpolation is only done
-for those cells that fall within the mask. However, all
-vector points in the current region are used even
-if they fall outside the mask. Vector points outside the current
-region are not used in the interpolation. A larger region may
-be set and a mask used to limit interpolation to a smaller area
-if it is desired to use vector points from outside the region in the
-interpolation. The <b>-n</b> flag may also be used to
-achieve a similar result.
-
-<p>If more than <b>npoints</b> fall into one target raster cell, 
-the mean of all the site values will determine the cell value (unless
-the <b>-n</b> flag is specified, in which case only the <b>npoints</b> 
-closest to the centre of the cell will be interpolated).
+for those cells that fall within the mask. The module has two separate
+modes of operation for selecting the vector points that are used in the
+interpolation:<dl>
+<dt>Simple, non-indexed mode (activated by <b>-n</b> flag)</dt>
+<dd>When the <b>-n</b> flag is specified, all vector points in the
+input vector map are searched through in order to find the
+<b>npoints</b> closest points to the centre of each cell in the output
+raster map. This mode of operation can be slow in the case of a very
+large number of vector points.</dd>
+<dt>Default, indexed mode</dt>
+<dd>By default (i.e. if <b>-n</b> flag is <i>not</i> specified), prior to
+the interpolation, input vector points are indexed according to which
+output raster cell they fall into. This means that only cells nearby
+the one being interpolated need to be searched to find the
+<b>npoints</b> closest input points, and the module can run many times
+faster on dense input maps. It should be noted that:
+<ul>
+<li>Only vector points that lie within the current region are used in
+the interpolation. If there are points outside the current region,
+this may have an effect on the interpolated value of cells near the
+edges of the region, and this effect will be more pronounced the fewer
+points there are. If you wish to also include points outside the
+region in the interpolation, then either use the <b>-n</b> flag, or
+set the region to a larger extent (covering all input points) and use
+a mask to limit interpolation to a smaller area.</li>
+<li>If more than <b>npoints</b> points fall within a given cell then,
+rather than interpolating, these points are aggregated by taking the
+mean. This avoids the situation where some vector points can be
+discarded and not used in the interpolation, for very dense input
+maps. Again, use the <b>-n</b> flag if you wish to use only the
+<b>npoints</b> closest points to the cell centre under all
+circumstances.</li>
+</ul>
+</dd>
+</dl>
 
 <p>
 The <b>power</b> parameter defines an exponential distance weight.
@@ -76,4 +98,4 @@ Improved algorithm (indexes points according to cell and ignores
 points outside current region) by Paul Kelly
 
 <p>
-<i>Last changed: $Date: 2014-12-27 23:51:00 +0100 (Sat, 27 Dec 2014) $</i>
+<i>Last changed: $Date: 2015-12-18 16:53:41 -0800 (Fri, 18 Dec 2015) $</i>
diff --git a/vector/v.surf.rst/v.surf.rst.html b/vector/v.surf.rst/v.surf.rst.html
index 605067e..0f2865e 100644
--- a/vector/v.surf.rst/v.surf.rst.html
+++ b/vector/v.surf.rst/v.surf.rst.html
@@ -394,4 +394,4 @@ procedure):</em>
 <br>Jaroslav Hofierka, University of Presov; Radim Blazek, ITC-irst
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/vector/v.timestamp/v.timestamp.html b/vector/v.timestamp/v.timestamp.html
index 0025ef5..7d6d8ae 100644
--- a/vector/v.timestamp/v.timestamp.html
+++ b/vector/v.timestamp/v.timestamp.html
@@ -131,4 +131,4 @@ Spaces in the timestamp value are required.
 
 Michael Shapiro, U.S.Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i>
diff --git a/vector/v.to.3d/testsuite/test_vto3d.py b/vector/v.to.3d/testsuite/test_vto3d.py
new file mode 100644
index 0000000..dcee3da
--- /dev/null
+++ b/vector/v.to.3d/testsuite/test_vto3d.py
@@ -0,0 +1,38 @@
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
+
+
+class TestVTo3D(TestCase):
+
+    contours2d = 'test_vto3d_contours2d'
+    contours3d = 'test_vto3d_contours3d'
+
+    @classmethod
+    def setUpClass(cls):
+        cls.use_temp_region()
+        cls.runModule('g.region', raster='elevation')
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.del_temp_region()
+
+    def tearDown(cls):
+        """Remove contours map after each test method"""
+        cls.runModule('g.remove', flags='f', type='vector',
+                      name=[cls.contours2d, cls.contours3d])
+
+    def test_contours(self):
+        """Test if results is in expected limits"""
+        self.runModule('r.contour', input='elevation', output=self.contours3d, step=5)
+        self.runModule('v.db.addcolumn', map=self.contours3d, columns="z double precision")
+
+        self.assertModule('v.to.3d', input=self.contours3d, output=self.contours2d,
+                          column='z', flags='r')
+        is3d = dict(map3d=0)
+        self.assertVectorFitsTopoInfo(vector=self.contours2d, reference=is3d)
+        missing = dict(nmissing=0, nnull=0)
+        self.assertVectorFitsUnivar(map=self.contours2d, column='z', reference=missing)
+
+
+if __name__ == '__main__':
+    test()
diff --git a/vector/v.to.3d/v.to.3d.html b/vector/v.to.3d/v.to.3d.html
index d8a3b27..197ea91 100644
--- a/vector/v.to.3d/v.to.3d.html
+++ b/vector/v.to.3d/v.to.3d.html
@@ -53,4 +53,4 @@ v.to.3d -rt input=elev_lid792_bepts output=elev_lid_2d
 Martin Landa, Czech Technical University in Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2015-07-19 20:47:27 +0200 (Sun, 19 Jul 2015) $</i>
+<i>Last changed: $Date: 2015-06-16 19:29:17 -0700 (Tue, 16 Jun 2015) $</i>
diff --git a/vector/v.to.db/areas.c b/vector/v.to.db/areas.c
index 53af3b9..fa6c29e 100644
--- a/vector/v.to.db/areas.c
+++ b/vector/v.to.db/areas.c
@@ -19,7 +19,6 @@ int read_areas(struct Map_info *Map)
     int i, idx, found;
     int area_num, nareas;
     struct line_cats *Cats;
-    struct line_pnts *Ppoints;
     double area, perimeter;
 
     Cats = Vect_new_cats_struct();
@@ -29,7 +28,6 @@ int read_areas(struct Map_info *Map)
 
     /* Cycle through all areas */
     for (area_num = 1; area_num <= nareas; area_num++) {
-	Ppoints = Vect_new_line_struct();
 	area = 0;
 	perimeter = 0;
 
@@ -40,7 +38,7 @@ int read_areas(struct Map_info *Map)
 	if ((options.option == O_COMPACT) || (options.option == O_FD) ||
 	    (options.option == O_PERIMETER)) {
 	    perimeter = Vect_get_area_perimeter(Map, area_num);
-	    if (G_projection() != PROJECTION_LL)
+	    if (G_projection() != PROJECTION_LL && G_projection() != PROJECTION_XY)
 		    perimeter = perimeter * G_database_units_to_meters_factor();
 	}
 
@@ -67,14 +65,23 @@ int read_areas(struct Map_info *Map)
 		    found = 1;
 		}
 	    }
-	    /* why do we do this? */
-	    if (!found) {	/* no category found */
-		idx = find_cat(0, 1);
-		if (options.option == O_AREA) {
-		    Values[idx].d1 += area;
-		}
-		else if (options.option == O_PERIMETER) {
+
+	    if (!found) {	/* Values for no category (cat = -1) are reported at the end */
+		idx = find_cat(-1, 1);
+		switch (options.option) {
+		case O_AREA:
 		    Values[idx].d1 += area;
+		    break;
+		case O_PERIMETER:
+		    Values[idx].d1 += perimeter;
+		    break;
+		case O_COMPACT:
+		    Values[idx].d1 =
+			perimeter / (2.0 * sqrt(M_PI * area));
+		    break;
+		case O_FD:
+		    Values[idx].d1 = 2.0 * log(perimeter) / log(area);
+		    break;
 		}
 	    }
 	}
diff --git a/vector/v.to.db/find.c b/vector/v.to.db/find.c
index 08692ea..7b8f086 100644
--- a/vector/v.to.db/find.c
+++ b/vector/v.to.db/find.c
@@ -2,30 +2,54 @@
 #include <string.h>
 #include  "global.h"
 
-/* returns index to array of values, inserts new if necessary */
-int find_cat(int cat, int add)
+
+static int bsearch_cat(int cat)
 {
-    int i;
+    int mid, lo, hi;
 
-    for (i = 0; i < vstat.rcat; i++)
-	if (Values[i].cat == cat)
-	    return i;
+    /* tests */
+    if (vstat.rcat < 1)
+	return -1;
 
-    if (!add)
+    lo = 0;
+    hi = vstat.rcat - 1;
+    
+    if (hi == 0 || Values[lo].cat > cat || Values[hi].cat < cat)
 	return -1;
 
-    /* Not found -> add new */
-    Values[vstat.rcat].cat = cat;
-    Values[vstat.rcat].count1 = 0;
-    Values[vstat.rcat].count1 = 0;
-    Values[vstat.rcat].i1 = -1;
-    Values[vstat.rcat].i2 = -1;
-    Values[vstat.rcat].d1 = 0.0;
-    Values[vstat.rcat].d2 = 0.0;
-    Values[vstat.rcat].qcat = NULL;
-    Values[vstat.rcat].nqcats = 0;
-    Values[vstat.rcat].aqcats = 0;
-    vstat.rcat++;
-
-    return (vstat.rcat - 1);
+    if (Values[hi].cat == cat)
+	return hi;
+
+    if (Values[lo].cat == cat)
+	return lo;
+
+    /* bsearch */
+    while (lo < hi) {
+	mid = (lo + hi) / 2;
+	
+	if (Values[mid].cat == cat)
+	    return mid;
+
+	if (Values[mid].cat > cat) {
+	    hi = mid;
+	}
+	else {
+	    lo = mid;
+	}
+    }
+    
+    return -1;
+}
+
+/* returns index to array of values, mark as used if requested */
+int find_cat(int cat, int used)
+{
+    int i;
+
+    i = bsearch_cat(cat);
+
+    if (i >= 0 && used)
+	Values[i].used = 1;
+
+    return (i);
 }
diff --git a/vector/v.to.db/global.h b/vector/v.to.db/global.h
index 0f97a91..cacc467 100644
--- a/vector/v.to.db/global.h
+++ b/vector/v.to.db/global.h
@@ -4,6 +4,7 @@
 struct value
 {
     int cat;			/* category */
+    char used;			/* update/report if used else not */
     int count1, count2;		/* Count of found values; i1: count, coor, sides; i2: sides */
     /* for sides set to 2, if more than 1 area category was found, */
     /* including no category (cat = -1)! */
diff --git a/vector/v.to.db/lines.c b/vector/v.to.db/lines.c
index 69cbbd2..2e29e55 100644
--- a/vector/v.to.db/lines.c
+++ b/vector/v.to.db/lines.c
@@ -76,6 +76,7 @@ int read_lines(struct Map_info *Map)
     
     /* Cycle through all lines */
     nlines = Vect_get_num_lines(Map);
+    G_percent(0, nlines, 2);
     for (line_num = 1; line_num <= nlines; line_num++) {
 	type = Vect_read_line(Map, Points, Cats, line_num);
 	if (!(type & options.type))
diff --git a/vector/v.to.db/main.c b/vector/v.to.db/main.c
index f51981f..2db88f3 100644
--- a/vector/v.to.db/main.c
+++ b/vector/v.to.db/main.c
@@ -25,7 +25,7 @@ struct vstat vstat;
 
 int main(int argc, char *argv[])
 {
-    int n;
+    int n, i, j, cat, lastcat, type, id, findex;
     struct Map_info Map;
     struct GModule *module;
     struct field_info *Fi;
@@ -69,17 +69,62 @@ int main(int argc, char *argv[])
 
     /* allocate array for values */
     /* (+ 1 is for cat -1 (no category) reported at the end ) */
+    findex = Vect_cidx_get_field_index(&Map, options.field);
     if (Vect_cidx_get_field_index(&Map, options.field) > -1) {
-	n = Vect_cidx_get_num_unique_cats_by_index(&Map,
-						   Vect_cidx_get_field_index
-						   (&Map, options.field));
+	n = Vect_cidx_get_num_unique_cats_by_index(&Map, findex);
     }
     else {
 	n = 0;
     }
     G_debug(2, "%d unique cats", n);
     Values = (struct value *) G_calloc(n + 1, sizeof(struct value));
-    vstat.rcat = 0;
+
+    /* prepopulate Values */
+    n = Vect_cidx_get_num_cats_by_index(&Map, findex);
+    i = 0;
+    Values[i].cat = -1;		/* features without category */
+    Values[i].used = 0;
+    Values[i].count1 = 0;
+    Values[i].count1 = 0;
+    Values[i].i1 = -1;
+    Values[i].i2 = -1;
+    Values[i].d1 = 0.0;
+    Values[i].d2 = 0.0;
+    Values[i].qcat = NULL;
+    Values[i].nqcats = 0;
+    Values[i].aqcats = 0;
+
+    i = 1;
+    lastcat = -1;
+    /* category index must be sorted,
+     * i.e. topology must have been built with GV_BUILD_ALL */
+    for (j = 0; j < n; j++) {
+	Vect_cidx_get_cat_by_index(&Map, findex, j, &cat, &type, &id);
+	if (lastcat > cat) {
+	    Vect_close(&Map);
+	    G_fatal_error(_("Category index for vector map <%s> is not sorted"),
+	                  options.name);
+	}
+
+	if (lastcat != cat) {
+	    Values[i].cat = cat;
+	    Values[i].used = 0;
+	    Values[i].count1 = 0;
+	    Values[i].count1 = 0;
+	    Values[i].i1 = -1;
+	    Values[i].i2 = -1;
+	    Values[i].d1 = 0.0;
+	    Values[i].d2 = 0.0;
+	    Values[i].qcat = NULL;
+	    Values[i].nqcats = 0;
+	    Values[i].aqcats = 0;
+
+	    lastcat = cat;
+	    i++;
+	}
+    }
+
+    vstat.rcat = i;
 
     /* Read values from map */
     if (options.option == O_QUERY) {
@@ -93,6 +138,17 @@ int main(int argc, char *argv[])
 	read_lines(&Map);
     }
 
+    /* prune unused values */
+    n = vstat.rcat;
+    j = 0;
+    for (i = 0; i < n; i++) {
+	if (Values[i].used) {
+	    Values[j] = Values[i];
+	    j++;
+	}
+    }
+    vstat.rcat = j;
+
     conv_units();
 
     if (options.print || options.total) {
diff --git a/vector/v.to.db/query.c b/vector/v.to.db/query.c
index b1ae2fa..8a5e30b 100644
--- a/vector/v.to.db/query.c
+++ b/vector/v.to.db/query.c
@@ -104,6 +104,7 @@ int query(struct Map_info *Map)
 
 	/* Skip if cat is zero and large number of query categories (many features without category).
 	 * It would cause problems on server side and take long time. Postgres limit is 10000 */
+	/* TODO: verify because no category is encoded as cat = -1, not cat = zero */
 	if (Values[i].cat == 0 && Values[i].nqcats > 1000) {
 	    G_warning(_("Query for category '0' (no category) was not executed because of too many "
 		       "(%d) query categories. All later reported values for cat 0 are not valid."),
diff --git a/vector/v.to.db/report.c b/vector/v.to.db/report.c
index 9485b0e..53032f4 100644
--- a/vector/v.to.db/report.c
+++ b/vector/v.to.db/report.c
@@ -193,7 +193,7 @@ int print_stat(void)
 {
     if (vstat.rcat > 0) {
 	int rcat_report;
-	if(find_cat(-1, 0) != -1)
+	if (find_cat(-1, 0) != -1)
 	    rcat_report = vstat.rcat - 1;
 	else
 	    rcat_report = vstat.rcat;
diff --git a/vector/v.to.db/v.to.db.html b/vector/v.to.db/v.to.db.html
index 2300761..4db7076 100644
--- a/vector/v.to.db/v.to.db.html
+++ b/vector/v.to.db/v.to.db.html
@@ -167,4 +167,4 @@ v.to.db -p roads option=count type=line
 Radim Blazek, ITC-irst, Trento, Italy<br>
 Line sinuousity implemented by Wolf Bergenheim
 
-<p><i>Last changed: $Date: 2015-12-22 16:05:48 +0100 (Tue, 22 Dec 2015) $</i>
+<p><i>Last changed: $Date: 2015-12-19 17:31:08 -0800 (Sat, 19 Dec 2015) $</i>
diff --git a/vector/v.to.points/v.to.points.html b/vector/v.to.points/v.to.points.html
index e3a6fe0..1e84c17 100644
--- a/vector/v.to.points/v.to.points.html
+++ b/vector/v.to.points/v.to.points.html
@@ -9,7 +9,7 @@ about <b>type</b> parameter.
 The output is a vector map with 2 layers. Layer 1 holds the category
 of the input features; all points created along the same line have the
 same category, equal to the category of that line. In layer 2 each
-point has it's unique category; other attributes stored in layer 2
+point has its unique category; other attributes stored in layer 2
 are <em>lcat</em> - the category of the input line and <em>along</em>
 - the distance from line's start.
 
@@ -84,18 +84,25 @@ the <b>-i</b> flag and set <b>dmax</b> so that:
  (length of input line / 2) <= <em>dmax</em> <= length of input line
 </pre></div>
 
-So if <b>dmax</b> is between 0.5x and 1.0x the line length, you will
+Hence, if <b>dmax</b> is between 0.5x and 1.0x the line length, you will
 always get points created at exactly the beginning, middle and end of
 the input line.
 
 <h2>EXAMPLE</h2>
 
-In this example, the 't_powerlines' vector lines map in the
-<a href="http://grass.osgeo.org/download/data6.php">Spearfish 6</a>
-location is used to create points along the input lines:
+In this example, the 'railroads' vector lines map of the North Carolina
+sample dataset is used to create points along the input lines:
 
 <div class="code"><pre>
-v.to.points in=t_powerlines out=t_powerlines_points dmax=120
+# The North Carolina data are metric.
+# 200m distance for nodes (maximum limit but not an exact distance)
+v.to.points railroads output=railroads_nodes use=node dmax=200
+
+# verify the two layers in the resulting map
+v.category railroads_nodes option=report
+
+# vector info
+v.info railroads_nodes
 </pre></div>
 
 <h2>SEE ALSO</h2>
@@ -114,4 +121,4 @@ Updated to GRASS 7 by Martin Landa, Czech Technical University in
 Prague, Czech Republic
 
 <p>
-<i>Last changed: $Date: 2014-11-28 16:46:08 +0100 (Fri, 28 Nov 2014) $</i></p>
+<i>Last changed: $Date: 2016-03-10 08:47:07 -0800 (Thu, 10 Mar 2016) $</i></p>
diff --git a/vector/v.to.rast/do_areas.c b/vector/v.to.rast/do_areas.c
index 70d6254..7782550 100644
--- a/vector/v.to.rast/do_areas.c
+++ b/vector/v.to.rast/do_areas.c
@@ -80,7 +80,8 @@ int do_areas(struct Map_info *Map, struct line_pnts *Points,
 	    return -1;
 	}
 
-	G_plot_polygon(Points->x, Points->y, Points->n_points);
+	if (G_plot_polygon(Points->x, Points->y, Points->n_points) != 0)
+	    G_warning(_("Failed to plot polygon"));
     }
     G_percent(1, 1, 1);
     
diff --git a/vector/v.to.rast/main.c b/vector/v.to.rast/main.c
index 2c1cbfd..1e13ab1 100644
--- a/vector/v.to.rast/main.c
+++ b/vector/v.to.rast/main.c
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
     field_opt = G_define_standard_option(G_OPT_V_FIELD);
 
     type_opt = G_define_standard_option(G_OPT_V_TYPE);
-    type_opt->options = "point,line,area";
+    type_opt->options = "point,line,boundary,area";
     type_opt->answer = "point,line,area";
     type_opt->guisection = _("Selection");
     
diff --git a/vector/v.to.rast/v.to.rast.html b/vector/v.to.rast/v.to.rast.html
index 66f4a94..11707d6 100644
--- a/vector/v.to.rast/v.to.rast.html
+++ b/vector/v.to.rast/v.to.rast.html
@@ -1,12 +1,18 @@
 <h2>DESCRIPTION</h2>
 
 <em>v.to.rast</em> transforms GRASS vector map layers into GRASS raster map
-layer format. Optionally, attributes can be converted into raster category
+layer format. Optionally, attributes can be converted to raster category
 labels.
 
 
 <h2>NOTES</h2>
 
+In order to avoid unexpected results, the type of vector features 
+should always be specified. The default is to convert all vector 
+features, but if only e.g. areas should be converted use 
+<em>type=area</em> rather than <em>type=point,line,area</em>.
+
+<p>
 <em>v.to.rast</em> will only affect data in areas lying
 inside the boundaries of the current geographic region.
 A grid cell belongs to the area where the grid cell center falls into.
@@ -55,8 +61,13 @@ resultant raster map.
 <p><p><b>Flow directions</b> are given in degrees counterclockwise from east.
 <p><p>Raster category labels are supported for all of <em>use=</em> except <em>use=z</em>.
 <p>
-The <b>-d</b> flag applies only to lines, the default is only those on the
-render path (thin line).
+The <b>-d</b> flag applies only to lines and boundaries, the default is 
+to set only those cells on the render path (thin line).
+<p>
+Boundaries (usually without categories) can be rasterized with
+<div class="code"><pre>
+v.to.rast type=boundary layer=-1 use=val
+</pre></div>
 
 <h2>EXAMPLES</h2>
 
@@ -72,7 +83,7 @@ Column 3: WIDTH
 </pre></div>
 
 <div class="code"><pre>
-v.to.rast input=vect_map output=raster_map attribute_column=SPEED
+v.to.rast input=vect_map output=raster_map attribute_column=SPEED type=line
 </pre></div>
 
 <h3>Calculate stream directions from a river vector map (Spearfish)</h3>
@@ -138,6 +149,6 @@ GRASS 6.0 updates: Radim Blazek, ITC-irst, Trento, Italy
 Stream directions: Jaro Hofierka and Helena Mitasova
 <br>
 GRASS 6.3 code cleanup and label support: Brad Douglas
-<p><p><i>Last changed: $Date: 2015-07-24 03:39:34 +0200 (Fri, 24 Jul 2015) $</i>
+<p><p><i>Last changed: $Date: 2016-02-22 01:20:45 -0800 (Mon, 22 Feb 2016) $</i>
 
 
diff --git a/vector/v.to.rast/vect2rast.c b/vector/v.to.rast/vect2rast.c
index fe9ac2a..ceffc31 100644
--- a/vector/v.to.rast/vect2rast.c
+++ b/vector/v.to.rast/vect2rast.c
@@ -25,7 +25,7 @@ int vect_to_rast(const char *vector_map, const char *raster_map, const char *fie
 
     /* Attributes */
     int nrec;
-    int ctype;
+    int ctype = 0;
     struct field_info *Fi;
     dbDriver *Driver;
     dbCatValArray cvarr;
@@ -133,8 +133,13 @@ int vect_to_rast(const char *vector_map, const char *raster_map, const char *fie
 
 	G_debug(1, "%d areas sorted", nareas);
     }
+    if (nareas > 0 && dense) {
+	G_warning(_("Area conversion and line densification are mutually exclusive, disabling line densification."));
+	dense = 0;
+    }
 
-    nlines = 1;
+    nlines = Vect_get_num_primitives(&Map, ftype);
+    nplines_all = nlines;
     npasses = begin_rasterization(cache_mb, format, dense);
     pass = 0;
 
@@ -215,11 +220,21 @@ int vect_to_rast(const char *vector_map, const char *raster_map, const char *fie
     update_labels(raster_map, vector_map, field, labelcolumn, use, value,
 		  column);
 
+#if 0
+    /* maximum possible numer of areas: number of centroids
+     * actual number of areas, currently unknown:
+     * number of areas with centroid that are within cat constraint
+     * and overlap with current region */
     if (nareas_all > 0)
 	G_message(_("Converted areas: %d of %d"), nareas,
-	          nareas_all - Vect_get_num_primitives(&Map, GV_CENTROID));
-    if (nplines_all > 0)
+	          Vect_get_num_primitives(&Map, GV_CENTROID));
+    /* maximum possible numer of lines: number of GV_LINE + GV_POINT
+     * actual number of lines, currently unknown:
+     * number of lines are within cat constraint
+     * and overlap with current region */
+    if (nlines > 0 && nplines_all > 0)
 	G_message(_("Converted points/lines: %d of %d"), nlines, nplines_all);
+#endif
 
     return 0;
 }
diff --git a/vector/v.to.rast3/v.to.rast3.html b/vector/v.to.rast3/v.to.rast3.html
index 5bc6f52..9f4dcce 100644
--- a/vector/v.to.rast3/v.to.rast3.html
+++ b/vector/v.to.rast3/v.to.rast3.html
@@ -31,4 +31,4 @@ non-null values are shown.</i>
 Original s.to.rast3: Jaro Hofierka, Geomodel s.r.o.<br>
 Updated by Radim Blazek
 
-<p><i>Last changed: $Date: 2015-08-25 00:15:04 +0200 (Tue, 25 Aug 2015) $</i>
+<p><i>Last changed: $Date: 2015-08-23 20:56:52 -0700 (Sun, 23 Aug 2015) $</i>
diff --git a/vector/v.transform/main.c b/vector/v.transform/main.c
index c5f20e9..0dd6e40 100644
--- a/vector/v.transform/main.c
+++ b/vector/v.transform/main.c
@@ -274,7 +274,7 @@ int main(int argc, char *argv[])
 	ztozero = 0;
 
     /* do the transformation */
-    G_important_message(_("Tranforming features..."));
+    G_important_message(_("Transforming features..."));
     transform_digit_file(&Old, &New,
 			 ztozero, swap_flag->answer, trans_params,
 			 columns_name, field);
diff --git a/vector/v.transform/v.transform.html b/vector/v.transform/v.transform.html
index 02e1017..7d776c2 100644
--- a/vector/v.transform/v.transform.html
+++ b/vector/v.transform/v.transform.html
@@ -80,7 +80,8 @@ The resulting map is a 3D vector map.
 <em>
 <a href="m.transform.html">m.transform</a>,
 <a href="i.rectify.html">i.rectify</a>,
-<a href="v.rectify.html">v.rectify</a>
+<a href="v.rectify.html">v.rectify</a>,
+<a href="r.region.html">r.region</a>
 </em>
 
 <h2>AUTHOR</h2>
@@ -88,4 +89,4 @@ The resulting map is a 3D vector map.
 Radim Blazek, ITC-irst, Trento, Italy,<br>
 Column support added by Martin Landa, FBK-irst (formerly ITC-irst), Trento, Italy (2007/09)
 
-<p><i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<p><i>Last changed: $Date: 2015-08-06 20:24:55 -0700 (Thu, 06 Aug 2015) $</i>
diff --git a/vector/v.type/v.type.html b/vector/v.type/v.type.html
index 0fcce77..75346fd 100644
--- a/vector/v.type/v.type.html
+++ b/vector/v.type/v.type.html
@@ -16,4 +16,4 @@ v.type input=map_l output=map_b from_type=line to_type=boundary
 
 Radim Blazek, ITC-Irst, Trento, Italy
 
-<p><i>Last changed: $Date: 2012-05-17 22:28:13 +0200 (Thu, 17 May 2012) $</i>
+<p><i>Last changed: $Date: 2012-05-17 13:28:13 -0700 (Thu, 17 May 2012) $</i>
diff --git a/vector/v.univar/v.univar.html b/vector/v.univar/v.univar.html
index b239594..e4fd274 100644
--- a/vector/v.univar/v.univar.html
+++ b/vector/v.univar/v.univar.html
@@ -128,4 +128,4 @@ Hamish Bowman, University of Otago, New Zealand<br>
 Martin Landa 
 
 <p>
-<i>Last changed: $Date: 2015-01-01 13:07:46 +0100 (Thu, 01 Jan 2015) $</i>
+<i>Last changed: $Date: 2015-01-01 04:05:46 -0800 (Thu, 01 Jan 2015) $</i>
diff --git a/vector/v.vect.stats/main.c b/vector/v.vect.stats/main.c
index dfe5579..d56e85b 100644
--- a/vector/v.vect.stats/main.c
+++ b/vector/v.vect.stats/main.c
@@ -39,7 +39,7 @@ static struct menu menu[] = {
     {c_sum, 0, "sum", "sum of values"},
     {c_ave, 1, "average", "average value"},
     {c_median, 0, "median", "median value"},
-    {c_mode, 0, "mode", "most frequently occuring value"},
+    {c_mode, 0, "mode", "most frequently occurring value"},
     {c_min, 0, "minimum", "lowest value"},
     {c_minx, 0, "min_cat", "category number of lowest value"},
     {c_max, 0, "maximum", "highest value"},
diff --git a/vector/v.vol.rst/user3.c b/vector/v.vol.rst/user3.c
index e8983e6..079317e 100644
--- a/vector/v.vol.rst/user3.c
+++ b/vector/v.vol.rst/user3.c
@@ -495,7 +495,6 @@ COGRR1(double x_or, double y_or, double z_or, int n_rows, int n_cols,
 			if ((cellinp != NULL) && (cellout != NULL) &&
 			    (i == ngstl))
 			    wwcell = hcell + wmin;
-			A[l] = h;
 			az[l] = ww;
 			if (first_time_z) {
 			    first_time_z = 0;
diff --git a/vector/v.vol.rst/v.vol.rst.html b/vector/v.vol.rst/v.vol.rst.html
index d04c517..1f18f43 100644
--- a/vector/v.vol.rst/v.vol.rst.html
+++ b/vector/v.vol.rst/v.vol.rst.html
@@ -306,4 +306,4 @@ University of Presov, Presov, Slovakia,
 <a href="mailto:hofierka at fhpv.unipo.sk">hofierka at fhpv.unipo.sk</a>,
 <a href="http://www.geomodel.sk">http://www.geomodel.sk</a>
 
-<p><i>Last changed: $Date: 2015-05-11 02:16:13 +0200 (Mon, 11 May 2015) $</i> 
+<p><i>Last changed: $Date: 2015-05-10 17:11:34 -0700 (Sun, 10 May 2015) $</i> 
diff --git a/vector/v.voronoi/v.voronoi.html b/vector/v.voronoi/v.voronoi.html
index 6dd66d6..9733b24 100644
--- a/vector/v.voronoi/v.voronoi.html
+++ b/vector/v.voronoi/v.voronoi.html
@@ -92,4 +92,4 @@ GRASS 5 update, improvements: <a href="mailto:aaime at libero.it">Andrea Aime</a>,
 GRASS 5.7 update: Radim Blazek<br>
 Markus Metz
 
-<p><i>Last changed: $Date: 2015-05-22 17:06:44 +0200 (Fri, 22 May 2015) $</i>
+<p><i>Last changed: $Date: 2015-06-08 00:20:07 -0700 (Mon, 08 Jun 2015) $</i>
diff --git a/vector/v.what.rast/main.c b/vector/v.what.rast/main.c
index 940484b..d2a8cd8 100644
--- a/vector/v.what.rast/main.c
+++ b/vector/v.what.rast/main.c
@@ -9,7 +9,7 @@
  *
  *  PURPOSE:      Query raster map
  *                
- *  COPYRIGHT:    (C) 2001-2013 by the GRASS Development Team
+ *  COPYRIGHT:    (C) 2001-2015 by the GRASS Development Team
  * 
  *                This program is free software under the GNU General
  *                Public License (>=v2).  Read the file COPYING that
@@ -38,7 +38,7 @@ int main(int argc, char *argv[])
     DCELL *dcell_row, *prev_d_row, *next_d_row;
     int width;
     int row, col;
-    char buf[2000];
+    char buf[DB_SQL_MAX];
     struct
     {
 	struct Option *vect, *rast, *field, *type, *col, *where;
@@ -74,6 +74,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("position"));
     G_add_keyword(_("querying"));
     G_add_keyword(_("attribute table"));
+    G_add_keyword(_("surface information"));
     module->description =
 	_("Uploads raster values at positions of vector points to the table.");
 
@@ -162,20 +163,31 @@ int main(int argc, char *argv[])
      */
 
     if (!print_flag->answer) {
-	/* Check column type */
 	col_type = db_column_Ctype(driver, Fi->table, opt.col->answer);
 
-	if (col_type == -1)
-	    G_fatal_error(_("Column <%s> not found"), opt.col->answer);
-
-	if (col_type != DB_C_TYPE_INT && col_type != DB_C_TYPE_DOUBLE)
-	    G_fatal_error(_("Column type not supported"));
-
-	if (out_type == CELL_TYPE && col_type == DB_C_TYPE_DOUBLE)
-	    G_warning(_("Raster type is integer and column type is float"));
-
-	if (out_type != CELL_TYPE && col_type == DB_C_TYPE_INT)
-	    G_warning(_("Raster type is float and column type is integer, some data lost!!"));
+	if (col_type == -1) {
+            /* column doesn't exist, create it */
+            G_important_message(_("Column <%s> not found in the table <%s>. Creating..."),
+                                opt.col->answer, Fi->table);
+            sprintf(buf, "ALTER TABLE \"%s\" ADD COLUMN \"%s\" %s",
+                    Fi->table, opt.col->answer,
+                    out_type == CELL_TYPE ? "INTEGER" : "DOUBLE PRECISION");
+            db_set_string(&stmt, buf);
+            if (db_execute_immediate(driver, &stmt) != DB_OK)
+                G_fatal_error(_("Unable to add column <%s> to table <%s>"),
+                              opt.col->answer, Fi->table);
+        }
+        else {
+            /* check column type */
+            if (col_type != DB_C_TYPE_INT && col_type != DB_C_TYPE_DOUBLE)
+                G_fatal_error(_("Column type not supported"));
+
+            if (out_type == CELL_TYPE && col_type == DB_C_TYPE_DOUBLE)
+                G_warning(_("Raster type is integer and column type is float"));
+
+            if (out_type != CELL_TYPE && col_type == DB_C_TYPE_INT)
+                G_warning(_("Raster type is float and column type is integer, some data lost!!"));
+        }
     }
 
     vtype = Vect_option_to_types(opt.type);
diff --git a/vector/v.what.rast/v.what.rast.html b/vector/v.what.rast/v.what.rast.html
index 717b817..dc6ff33 100644
--- a/vector/v.what.rast/v.what.rast.html
+++ b/vector/v.what.rast/v.what.rast.html
@@ -2,33 +2,41 @@
 
 <em>v.what.rast</em> retrieves raster value from a given raster map for each point
 or centroid stored in a given vector map. It can update a <b>column</b> in the linked
-vector attribute table with the retrieved raster cell value or print it. The column type
-needs to be numeric (integer, float, double, ...).
+vector attribute table with the retrieved raster cell value or print it.
+
+<p>The column type needs to be numeric (integer, float, double,
+...). If the column doesn't exist in the vector attribute table than
+the module will create the new column of type correspoding with the
+input raster map.
+
 <p>
 If the <b>-p</b> flag is used, then the attribute table is not updated
-and the results are printed to <tt>stdout</tt>.
+and the results are printed to standard output.
 <p>
 If the <b>-i</b> flag is used, then the value to be uploaded to the database
 is interpolated from the four nearest raster cells values using an inverse
 distance weighting method (IDW). This is useful for cases when the vector
 point density is much higher than the raster cell size.
-<p>
-Points and centroid with shared category number cannot be processed.
-To solved this, unique categories may be added with <em>v.category</em> in
-a separate layer.
 
 <h2>NOTES</h2>
 
+<p>
+Points and centroid with shared category number cannot be processed.
+To solved this, unique categories may be added
+with <em><a href="v.category.html">v.category</a></em> in a separate
+layer.
+
+<p>
 If multiple points have the same category, the attribute value is set to NULL.
 If the raster value is NULL, then attribute value is set to NULL.
 <p>
 <em>v.what.rast</em> operates on the attribute table. To modify the vector
-geometry instead, use <em>v.drape</em>.
+geometry instead, use <em><a href="v.drape.html">v.drape</a></em>.
 <p>
 Categories and values are output unsorted with the print flag. To sort them
 pipe the output of this module into the UNIX <tt>sort</tt> tool
 (<tt>sort -n</tt>). If you need coordinates, after sorting use
-<em>v.out.ascii</em> and the UNIX <tt>paste</tt> tool
+<em><a href="v.out.ascii.html">v.out.ascii</a></em> and the UNIX <tt>paste</tt> tool
 (<tt>paste -d'|'</tt>). In the case of a NULL result, a "<tt>*</tt>"
 will be printed in lieu of the value.
 <p>
@@ -57,8 +65,7 @@ g.copy vector=geodetic_pts,mygeodetic_pts
 # set computational region to raster map to be queried
 g.region raster=elev_state_500m -p
 
-# add new column to existing table
-v.db.addcolumn map=mygeodetic_pts column="height double precision"
+# query raster cells (a new column will be added to existing table)
 v.what.rast map=mygeodetic_pts raster=elev_state_500m column=height
 
 # compare official geodetic heights to those of elevation model
@@ -110,4 +117,4 @@ Radim Blazek<br>
 Hamish Bowman (interpolation)
 
 <p>
-<i>Last changed: $Date: 2015-09-10 12:51:40 +0200 (Thu, 10 Sep 2015) $</i>
+<i>Last changed: $Date: 2015-12-26 04:35:21 -0800 (Sat, 26 Dec 2015) $</i>
diff --git a/vector/v.what.rast3/main.c b/vector/v.what.rast3/main.c
index 27ff931..1342334 100644
--- a/vector/v.what.rast3/main.c
+++ b/vector/v.what.rast3/main.c
@@ -67,6 +67,7 @@ int main(int argc, char *argv[])
     G_add_keyword(_("position"));
     G_add_keyword(_("querying"));
     G_add_keyword(_("attribute table"));
+    G_add_keyword(_("surface information"));
     module->description =
 	_("Uploads 3D raster values at positions of vector points to the table.");
 
diff --git a/vector/v.what.rast3/v.what.rast3.html b/vector/v.what.rast3/v.what.rast3.html
index 9bbcb84..5e0f385 100644
--- a/vector/v.what.rast3/v.what.rast3.html
+++ b/vector/v.what.rast3/v.what.rast3.html
@@ -55,4 +55,4 @@ v.univar map=pnts column=concentration type=point
 Soeren Gebbert, heavily based on v.what.rast by Radim Blazed
 
 <p>
-<i>Last changed: $Date: 2014-12-19 22:55:37 +0100 (Fri, 19 Dec 2014) $</i>
+<i>Last changed: $Date: 2014-12-19 13:17:36 -0800 (Fri, 19 Dec 2014) $</i>
diff --git a/vector/v.what/testsuite/test_vwhat_layers.py b/vector/v.what/testsuite/test_vwhat_layers.py
index ab8f404..97ee6a3 100644
--- a/vector/v.what/testsuite/test_vwhat_layers.py
+++ b/vector/v.what/testsuite/test_vwhat_layers.py
@@ -1,5 +1,6 @@
 # -*- coding: utf-8 -*-
-from grass.gunittest import TestCase, test
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gmodules import SimpleModule
 
 out1 = """East: 634243
diff --git a/vector/v.what/testsuite/test_vwhat_ncspm.py b/vector/v.what/testsuite/test_vwhat_ncspm.py
index d3e9246..bd49158 100644
--- a/vector/v.what/testsuite/test_vwhat_ncspm.py
+++ b/vector/v.what/testsuite/test_vwhat_ncspm.py
@@ -1,12 +1,16 @@
 # -*- coding: utf-8 -*-
-from grass.gunittest import TestCase, test
+# Author: Anna Petrasova
+
+from grass.gunittest.case import TestCase
+from grass.gunittest.main import test
 from grass.gunittest.gmodules import SimpleModule
 
 
+# v.what map=schools,roadsmajor,elev_points,geology layer=-1,-1,-1,-1 coordinates=636661,226489 distance=1000
 out1 = """East: 636661
 North: 226489
 ------------------------------------------------------------------
-Map: bridges 
+Map: schools 
 Mapset: PERMANENT
 Nothing found.
 ------------------------------------------------------------------
@@ -18,29 +22,26 @@ Length: 2321.407296
 Layer: 1
 Category: 231
 ------------------------------------------------------------------
-Map: precip_30ynormals_3d 
+Map: elev_points 
 Mapset: PERMANENT
-Type: Point
-Id: 96
-Point height: 121.920000
-Layer: 1
-Category: 96
+Nothing found.
 ------------------------------------------------------------------
-Map: lakes 
+Map: geology 
 Mapset: PERMANENT
 Type: Area
-Sq Meters: 9397.338
-Hectares: 0.940
-Acres: 2.322
-Sq Miles: 0.0036
+Sq Meters: 261215323.454
+Hectares: 26121.532
+Acres: 64547.712
+Sq Miles: 100.8558
 Layer: 1
-Category: 7168
+Category: 217
 """
 
+# v.what map=schools,roadsmajor,elev_points,geology layer=-1,-1,-1,-1 coordinates=636661,226489 distance=1000 -ag
 out2 = """East: 636661
 North: 226489
 ------------------------------------------------------------------
-Map: bridges 
+Map: schools 
 Mapset: PERMANENT
 Nothing found.
 ------------------------------------------------------------------
@@ -64,65 +65,39 @@ PROPYEAR : 2015
 OBJECTID : 231
 SHAPE_LEN : 7616.150435
 ------------------------------------------------------------------
-Map: precip_30ynormals_3d 
+Map: elev_points 
 Mapset: PERMANENT
-Type: Point
-Id: 96
-Point height: 121.920000
-Layer: 1
-Category: 96
-
-Driver: ...
-Database: ...
-Table: precip_30ynormals_3d
-Key column: cat
-cat : 96
-station : 317079
-lat : 35.79444
-long : -78.69889
-elev : 121.92
-jan : 113.284
-feb : 89.662
-mar : 113.284
-apr : 75.692
-may : 102.362
-jun : 103.124
-jul : 110.49
-aug : 109.22
-sep : 108.458
-oct : 96.012
-nov : 77.724
-dec : 81.534
-annual : 1178.56
+Nothing found.
 ------------------------------------------------------------------
-Map: lakes 
+Map: geology 
 Mapset: PERMANENT
 Type: Area
-Sq Meters: 9397.338
-Hectares: 0.940
-Acres: 2.322
-Sq Miles: 0.0036
+Sq Meters: 261215323.454
+Hectares: 26121.532
+Acres: 64547.712
+Sq Miles: 100.8558
 Layer: 1
-Category: 7168
+Category: 217
 
 Driver: ...
 Database: ...
-Table: lakes
+Table: geology
 Key column: cat
-cat : 7168
-AREA : 101151.70356
-PERIMETER : 1549.92239
-FULL_HYDRO : 7169
-FULL_HYDR2 : 157379
-FTYPE : LAKE/POND
-FCODE : 39000
-NAME : 
+cat : 217
+onemap_pro : 261215328
+PERIMETER : 198808.71875
+GEOL250_ : 218
+GEOL250_ID : 217
+GEO_NAME : CZfg
+SHAPE_area : 261215323.454
+SHAPE_len : 198808.723525
 """
 
+# v.what map=schools,roadsmajor,elev_points,geology layer=-1,-1,-1,-1 coordinates=636661,226489 distance=1000 -ag
 out3 = """East=636661
 North=226489
 
-Map=bridges
+Map=schools
 Mapset=PERMANENT
 
 Map=roadsmajor
@@ -144,63 +119,37 @@ PROPYEAR=2015
 OBJECTID=231
 SHAPE_LEN=7616.150435
 
-Map=precip_30ynormals_3d
+Map=elev_points
 Mapset=PERMANENT
-Type=Point
-Id=96
-Point_height=121.920000
-Layer=1
-Category=96
-Driver=...
-Database=...
-Table=precip_30ynormals_3d
-Key_column=cat
-cat=96
-station=317079
-lat=35.79444
-long=-78.69889
-elev=121.92
-jan=113.284
-feb=89.662
-mar=113.284
-apr=75.692
-may=102.362
-jun=103.124
-jul=110.49
-aug=109.22
-sep=108.458
-oct=96.012
-nov=77.724
-dec=81.534
-annual=1178.56
 
-Map=lakes
+Map=geology
 Mapset=PERMANENT
 Type=Area
-Sq_Meters=9397.338
-Hectares=0.940
-Acres=2.322
-Sq_Miles=0.0036
+Sq_Meters=261215323.454
+Hectares=26121.532
+Acres=64547.712
+Sq_Miles=100.8558
 Layer=1
-Category=7168
+Category=217
 Driver=...
 Database=...
-Table=lakes
+Table=geology
 Key_column=cat
-cat=7168
-AREA=101151.70356
-PERIMETER=1549.92239
-FULL_HYDRO=7169
-FULL_HYDR2=157379
-FTYPE=LAKE/POND
-FCODE=39000
-NAME=
+cat=217
+onemap_pro=261215328
+PERIMETER=198808.71875
+GEOL250_=218
+GEOL250_ID=217
+GEO_NAME=CZfg
+SHAPE_area=261215323.454
+SHAPE_len=198808.723525
 """
 
+# v.what map=schools,roadsmajor,elev_points,geology layer=-1,-1,-1,-1 coordinates=636661,226489 distance=100
 out4 = """East: 636661
 North: 226489
 ------------------------------------------------------------------
-Map: bridges 
+Map: schools 
 Mapset: PERMANENT
 Nothing found.
 ------------------------------------------------------------------
@@ -208,26 +157,26 @@ Map: roadsmajor
 Mapset: PERMANENT
 Nothing found.
 ------------------------------------------------------------------
-Map: precip_30ynormals_3d 
+Map: elev_points 
 Mapset: PERMANENT
 Nothing found.
 ------------------------------------------------------------------
-Map: lakes 
+Map: geology 
 Mapset: PERMANENT
 Type: Area
-Sq Meters: 9397.338
-Hectares: 0.940
-Acres: 2.322
-Sq Miles: 0.0036
+Sq Meters: 261215323.454
+Hectares: 26121.532
+Acres: 64547.712
+Sq Miles: 100.8558
 Layer: 1
-Category: 7168
+Category: 217
 """
 
 
 class TestNCMaps(TestCase):
 
     def setUp(self):
-        self.vwhat = SimpleModule('v.what', map=['bridges', 'roadsmajor', 'precip_30ynormals_3d', 'lakes'],
+        self.vwhat = SimpleModule('v.what', map=['schools', 'roadsmajor', 'elev_points', 'geology'],
                                   layer=['-1', '-1', '-1', '-1'], coordinates=[636661, 226489],
                                   distance=1000)
 
diff --git a/vector/v.what/v.what.html b/vector/v.what/v.what.html
index 4aa6d9b..53abdd2 100644
--- a/vector/v.what/v.what.html
+++ b/vector/v.what/v.what.html
@@ -42,4 +42,4 @@ Trevor Wiens<br>
 Edmonton, Alberta, Canada
 
 <p>
-<i>Last changed: $Date: 2014-10-22 12:22:05 +0200 (Wed, 22 Oct 2014) $</i>
+<i>Last changed: $Date: 2014-10-22 03:22:22 -0700 (Wed, 22 Oct 2014) $</i>
diff --git a/visualization/Makefile b/visualization/Makefile
index bda7bec..fd2dcdd 100644
--- a/visualization/Makefile
+++ b/visualization/Makefile
@@ -1,8 +1,7 @@
 MODULE_TOPDIR = ..
 
 SUBDIRS = \
-	ximgview \
-	wximgview
+	ximgview
 
 include $(MODULE_TOPDIR)/include/Make/Dir.make
 
diff --git a/visualization/wximgview/Makefile b/visualization/wximgview/Makefile
deleted file mode 100644
index 2e4b1bc..0000000
--- a/visualization/wximgview/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-MODULE_TOPDIR = ../..
-
-PGM = wximgview
-
-EXTRA_CFLAGS = $(WXWIDGETSCXXFLAGS) -DWXINTL_NO_GETTEXT_MACRO
-
-LIBES = $(GISLIB) $(WXWIDGETSLIB)
-DEPENDENCIES = $(GISDEP)
-
-include $(MODULE_TOPDIR)/include/Make/Module.make
-
-# substitute OSX arch flags for wxpython
-ifneq ($(MACOSX_ARCHS),)
-CFLAGS := $(subst $(MACOSX_ARCHS),,$(CFLAGS)) $(MACOSX_ARCHS_WXPYTHON)
-CXXFLAGS := $(subst $(MACOSX_ARCHS),,$(CXXFLAGS)) $(MACOSX_ARCHS_WXPYTHON)
-LDFLAGS := $(subst $(MACOSX_ARCHS),,$(LDFLAGS)) $(MACOSX_ARCHS_WXPYTHON)
-endif
-
-LINK = $(CXX)
-
-ifneq ($(USE_WXWIDGETS),)
-ifneq ($(strip $(CXX)),)
-default: cmd
-endif
-endif
diff --git a/visualization/wximgview/main.cpp b/visualization/wximgview/main.cpp
deleted file mode 100644
index a38dba7..0000000
--- a/visualization/wximgview/main.cpp
+++ /dev/null
@@ -1,283 +0,0 @@
-
-/****************************************************************************
- *
- * MODULE:       wximgview
- * AUTHOR(S):    Glynn Clements
- * PURPOSE:      View BMP images from the PNG/cairo drivers
- * COPYRIGHT:    (C) 2010 Glynn Clements
- *
- *               This program is free software under the GNU General Public
- *               License (>=v2). Read the file COPYING that comes with GRASS
- *               for details.
- *
- *****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <signal.h>
-#include <errno.h>
-
-#ifdef __MINGW32__
-#include <Windows.h>
-#else
-#include <sys/mman.h>
-#endif
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/types.h>
-
-#include <wx/wx.h>
-
-extern "C" {
-#include <grass/gis.h>
-#include <grass/glocale.h>
-}
-
-#include "wximgview.h"
-
-#define HEADER_SIZE 64
-
-IMPLEMENT_APP_NO_MAIN(MyApp)
-
-BEGIN_EVENT_TABLE(MyFrame, wxFrame)
-EVT_ERASE_BACKGROUND(MyFrame::erase)
-EVT_PAINT(MyFrame::redraw)
-EVT_TIMER(wxID_ANY, MyFrame::tick)
-END_EVENT_TABLE()
-    ;
-const wxString MyFrame::title = wxString::FromAscii("Image Viewer");
-
-static const char *filename;
-static double fraction;
-
-void MyFrame::Create()
-{
-    timer = new wxTimer(this);
-    timer->Start(100, true);
-}
-
-void MyFrame::erase(wxEraseEvent &ev)
-{
-    ev.GetDC();
-}
-
-void MyFrame::draw()
-{
-    MyApp &app = wxGetApp();
-    wxSize size = GetSize();
-    int x0 = (size.GetWidth()  - app.i_width) / 2;
-    int y0 = (size.GetHeight() - app.i_height) / 2;
-    wxPaintDC dc(this);
-    wxImage image(app.i_width, app.i_height);
-
-    const unsigned char *p = app.imgbuf;
-    for (int y = 0; y < app.i_height; y++)
-	for (int x = 0; x < app.i_width; x++, p += 4)
-	    image.SetRGB(x, y, p[2], p[1], p[0]);
-
-    dc.DrawBitmap(wxBitmap(image), x0, y0, false);
-}
-
-void MyFrame::redraw(wxPaintEvent &ev)
-{
-    if (::fraction > 0.001) {
-	struct timeval tv0;
-	gettimeofday(&tv0, NULL);
-
-	draw();
-
-	struct timeval tv1;
-	gettimeofday(&tv1, NULL);
-
-	double last = (tv1.tv_sec - tv0.tv_sec) * 1e3 + (tv1.tv_usec - tv0.tv_usec) * 1e-3;
-	double delay = last / ::fraction;
-	timer->Start((int) delay, true);
-    }
-    else
-	draw();
-}
-
-void MyFrame::tick(wxTimerEvent &ev)
-{
-    Refresh();
-}
-
-static unsigned int get_2(const unsigned char **q)
-{
-    const unsigned char *p = *q;
-    unsigned int n = (p[0] << 0) | (p[1] << 8);
-
-    *q += 2;
-    return n;
-}
-
-static unsigned int get_4(const unsigned char **q)
-{
-    const unsigned char *p = *q;
-    unsigned int n = (p[0] << 0) | (p[1] << 8) | (p[2] << 16) | (p[3] << 24);
-
-    *q += 4;
-    return n;
-}
-
-int MyApp::read_bmp_header(const unsigned char *p)
-{
-    int size;
-
-    if (*p++ != 'B')
-	return 0;
-    if (*p++ != 'M')
-	return 0;
-
-    size = get_4(&p);
-
-    get_4(&p);
-
-    if (get_4(&p) != HEADER_SIZE)
-	return 0;
-
-    if (get_4(&p) != 40)
-	return 0;
-
-    i_width = get_4(&p);
-    i_height = -get_4(&p);
-
-    get_2(&p);
-    if (get_2(&p) != 32)
-	return 0;
-
-    if (get_4(&p) != 0)
-	return 0;
-    if (get_4(&p) != (unsigned int) i_width * i_height * 4)
-	return 0;
-
-    if (size != HEADER_SIZE + i_width * i_height * 4)
-	return 0;
-
-    get_4(&p);
-    get_4(&p);
-    get_4(&p);
-    get_4(&p);
-
-    return 1;
-}
-
-void MyApp::map_file()
-{
-    unsigned char header[HEADER_SIZE];
-    size_t size;
-    void *ptr;
-    int fd;
-
-    fd = open(::filename, O_RDONLY);
-    if (fd < 0)
-	G_fatal_error(_("Unable to open image file"));
-
-    if (read(fd, (char *) header, sizeof(header)) != sizeof(header))
-	G_fatal_error(_("Unable to read BMP header"));
-
-    if (!read_bmp_header(header))
-	G_fatal_error(_("Invalid BMP header"));
-
-    size = HEADER_SIZE + i_width * i_height * 4;
-
-#ifdef __MINGW32__
-    HANDLE handle = CreateFileMapping((HANDLE) _get_osfhandle(fd),
-				      NULL, PAGE_READONLY,
-				      0, size, NULL);
-    if (!handle)
-	return;
-    ptr = MapViewOfFile(handle, FILE_MAP_READ, 0, 0, size);
-    if (!ptr)
-	G_fatal_error(_("Unable to map image file"));
-#else
-    ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, (off_t) 0);
-    if (ptr == MAP_FAILED)
-	G_fatal_error(_("Unable to map image file"));
-#endif
-
-    imgbuf = (unsigned char *)ptr + HEADER_SIZE;
-
-    close(fd);
-}
-
-static void dummy_handler(int sig)
-{
-    wxTimerEvent ev = wxTimerEvent();
-    wxPostEvent(wxGetApp().mainwin, ev);
-}
-
-static void set_handler(void)
-{
-#ifndef __MINGW32__
-    struct sigaction act;
-
-    act.sa_handler = &dummy_handler;
-    sigemptyset(&act.sa_mask);
-    act.sa_flags = 0;
-    sigaction(SIGUSR1, &act, NULL);
-#endif
-}
-
-bool MyApp::OnInit()
-{
-    map_file();
-
-    wxSize size(i_width, i_height);
-    mainwin = new MyFrame(size);
-    mainwin->Show();
-    SetTopWindow(mainwin);
-
-    set_handler();
-
-    return true;
-}
-
-int main(int argc, char **argv)
-{
-    struct GModule *module;
-    struct
-    {
-	struct Option *image, *percent;
-    } opt;
-
-    G_gisinit(argv[0]);
-
-    module = G_define_module();
-    G_add_keyword(_("display"));
-    G_add_keyword(_("graphics"));
-    G_add_keyword(_("raster"));
-    G_add_keyword(_("vector"));
-    G_add_keyword(_("visualization"));
-    module->description = _("View BMP images from the PNG driver.");
-
-    opt.image = G_define_standard_option(G_OPT_F_INPUT);
-    opt.image->key = "image";
-    opt.image->required = YES;
-    opt.image->gisprompt = "old_file,file,file";
-    opt.image->description = _("Image file");
-
-    opt.percent = G_define_option();
-    opt.percent->key = "percent";
-    opt.percent->type = TYPE_INTEGER;
-    opt.percent->required = NO;
-    opt.percent->multiple = NO;
-    opt.percent->description = _("Percentage of CPU time to use");
-    opt.percent->answer = "10";
-
-    if (G_parser(argc, argv))
-	exit(EXIT_FAILURE);
-
-    ::filename = opt.image->answer;
-    ::fraction = atoi(opt.percent->answer) / 100.0;
-
-    return wxEntry(argc, argv);
-
-    return EXIT_SUCCESS;
-}
-
diff --git a/visualization/wximgview/wximgview.h b/visualization/wximgview/wximgview.h
deleted file mode 100644
index 87773b1..0000000
--- a/visualization/wximgview/wximgview.h
+++ /dev/null
@@ -1,48 +0,0 @@
-
-// -*- c++ -*-
-
-#include <wx/wx.h>
-
-#ifndef WXIMGVIEW_H_
-#define WXIMGVIEW_H_
-
-class MyFrame: public wxFrame
-{
-private:
-    wxTimer *timer;
-
-    void draw();
-
-    static const wxString title;
-
-public:
-    MyFrame(const wxSize &size)
-	: wxFrame((wxFrame *)0, wxID_ANY, title, wxDefaultPosition, size)
-    { Create(); }
-
-    void redraw(wxPaintEvent &ev);
-    void erase(wxEraseEvent &ev);
-    void tick(wxTimerEvent &ev);
-
-private:
-    void Create();
-
-    DECLARE_EVENT_TABLE()
-};
-
-class MyApp: public wxApp
-{
-public:
-    virtual bool OnInit();
-
-public:
-    MyFrame *mainwin;
-    int i_width, i_height;
-    unsigned char *imgbuf;
-    double last;
-
-    int read_bmp_header(const unsigned char *p);
-    void map_file();
-};
-
-#endif // WXIMGVIEW_H_
diff --git a/visualization/wximgview/wximgview.html b/visualization/wximgview/wximgview.html
deleted file mode 100644
index 2dee233..0000000
--- a/visualization/wximgview/wximgview.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<h2>DESCRIPTION</h2>
-
-<i>wximgview</i> is a simple wxWidgets image viewer for 32-bpp BMP images, as
-can be created with the <em><a href="pngdriver.html">PNG</a></em> and
-<em><a href="cairodriver.html">cairo</a></em> drivers. The display is
-continually refreshed.
-
-<h2>NOTES</h2>
-
-The display driver must be configure to map the file, with
-<em>GRASS_RENDER_FILE_MAPPED=TRUE</em>. This ensures that the file will remain
-a constant size, rather than being truncated whenever it is updated.
-
-
-<h2>EXAMPLE</h2>
-
-(bash shell syntax)
-<div class="code"><pre>
-export GRASS_RENDER_FILE=map.bmp
-export GRASS_RENDER_WIDTH=640
-export GRASS_RENDER_HEIGHT=480
-export GRASS_RENDER_IMMEDIATE=cairo
-export GRASS_RENDER_FILE_MAPPED=TRUE
-export GRASS_RENDER_FILE_READ=TRUE
-
-d.erase
-wximgview $GRASS_RENDER_FILE percent=50 &
-d.rast elevation.dem
-d.vect roads
-</pre></div>
-
-
-<h2>SEE ALSO</h2>
-
-<em>
-<a href="pngdriver.html">PNG driver</a><br>
-<a href="cairodriver.html">cairo driver</a><br>
-<a href="ximgview.html">ximgview</a>
-</em>
-
-
-<h2>AUTHOR</h2>
-Glynn Clements
-
-<p><i>Last changed: $Date: 2014-11-03 18:56:30 +0100 (Mon, 03 Nov 2014) $</i>
diff --git a/visualization/ximgview/ximgview.html b/visualization/ximgview/ximgview.html
index 19ef6ee..64d4a9e 100644
--- a/visualization/ximgview/ximgview.html
+++ b/visualization/ximgview/ximgview.html
@@ -42,4 +42,4 @@ d.vect roads
 <h2>AUTHOR</h2>
 Glynn Clements
 
-<p><i>Last changed: $Date: 2014-11-03 18:56:30 +0100 (Mon, 03 Nov 2014) $</i>
+<p><i>Last changed: $Date: 2014-10-27 10:15:56 -0700 (Mon, 27 Oct 2014) $</i>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/grass.git



More information about the Pkg-grass-devel mailing list